Manual de PHP

por:
Mehdi Achour
Friedhelm Betz
Antony Dovgal
Nuno Lopes
Hannes Magnusson
Georg Richter
Damien Seguy
Jakub Vrana
Y muchos otros
2014-01-09
Editado por: Philip Olson
por:
¿Quieres ayudarnos a traducir? Ponte en contacto con: yago[arroba]php.net
Traduciendo desde Dic-2009. Estado: 90% completo y al día.
Lista de encargados del mantenimiento y traducción por número de ficheros:
1. Pedro Antonio Gil Rodríguez
2. Yago Ferrer
3. Jesús Ruiz-Ayúcar Vázquez
4. Andrés García
5. Jesús Rafael Cova Huerta
6. Alexander Garzón
y muchos más...
© 1997-2014 the PHP Documentation Group
  • Copyright
  • Manual de PHP
    • Prefacio
  • Conceptos básicos
    • Introducción
    • Un tutorial sencillo
  • Instalación y configuración
    • Consideraciones generales de instalación
    • Instalación sobre sistemas Unix
    • Instalación en Mac OS X
    • Instalación en sistemas Windows
    • Instalación en las plataformas de Nube Informática
    • Manejador de Procesos FastCGI (FPM)
    • Instalación de extensiones PECL
    • ¿Problemas?
    • Configuración en tiempo de ejecución
  • Referencia del lenguaje
    • Sintaxis básica
    • Tipos
    • Variables
    • Constantes
    • Expresiones
    • Operadores
    • Estructuras de Control
    • Funciones
    • Clases y Objetos
    • Espacios de Nombres
    • Excepciones
    • Generadores
    • Referencias Explicadas
    • Variables predefinidas
    • Excepciones predefinidas
    • Interfaces y clases predefinidas
    • Opciones de contexto y parámetros
    • Protocolos y Envolturas soportados
  • Seguridad
    • Introducción
    • Consideraciones generales
    • Installed as CGI binary
    • Instalado como módulo de Apache
    • Seguridad del Sistema de Archivos
    • Seguridad de Bases de Datos
    • Reportando errores
    • Usando Register Globals
    • Datos Enviados por el Usuario
    • Comillas Mágicas
    • Ocultando PHP
    • Mantenerse al día
  • Características
    • Autenticación HTTP con PHP
    • Cookies
    • Sesiones
    • Manejo de XForms
    • Manejando la carga de archivos
    • Usando archivos remotos
    • Manejo de Conexiones
    • Conexiones Persistentes a Bases de Datos
    • Safe Mode
    • Funcionamiento en la línea de comandos — Usando PHP desde la línea de comandos
    • Recolección de Basura
    • Rastreo Dinámico con DTrace
  • Referencia de funciones
    • Afecta el comportamiento de PHP
    • Manipulación de formatos de audio
    • Servicios de autenticación
    • Extensiones específicas de la línea de comandos
    • Extensiones de compresión y archivos
    • Procesamiento de tarjetas de crédito
    • Extensiones criptográficas
    • Extensiones de bases de datos
    • Extensiones relacionadas con fecha y hora
    • Extensiones relacionadas con el sistema de ficheros
    • Soporte para lenguaje humano y codificación de caracteres
    • Procesamiento y generación de imágenes
    • Extensiones relacionadas con Email
    • Extensiones matemáticas
    • Salida MIME que no es texto
    • Extensiones de control de procesos
    • Otras extensiones básicas
    • Otros servicios
    • Extensiones para motores de búsqueda
    • Extensiones específicas para Servidores
    • Extensiones de sesiones
    • Procesamiento de texto
    • Extensiones relacionadas con variable y tipo
    • Servicios web
    • Extensiones específicas de Windows
    • Manipulación XML
  • El núcleo de PHP: Guía del Hacker
    • Preface
    • Memory management
    • Working with Variables
    • Writing Functions
    • Writing Classes
    • Working with Resources
    • Working with INI settings
    • Trabajar con flujos
    • The "counter" Extension - A Continuing Example
    • The PHP 5 build system
    • Extension structure
    • PDO Driver How-To
    • Extension FAQs
    • Zend Engine 2 API reference
    • Zend Engine 2 Opcodes
    • Zend Engine 1
  • FAQ — FAQ: Preguntas frequentes
    • Información general
    • Listas de correos
    • Consiguiendo PHP
    • Problemas con bases de datos
    • Instalación
    • Problemas de Compilación
    • Usando PHP
    • Hash de Contraseñas — Hash de contraseñas seguro
    • PHP y HTML
    • PHP y COM
    • Migración de PHP 4 a PHP 5
    • Preguntas Varias
  • Apéndices
    • Historia de PHP y Proyectos Relacionados
    • Migrar de PHP 5.4.x a PHP 5.5.x
    • Migrando de PHP 5.3.x hacia PHP 5.4.x
    • Migrando de PHP 5.2.x a PHP 5.3.x
    • Migración de PHP 5.1.x a PHP 5.2.x
    • Migración de PHP 5.0.x a PHP 5.1.x
    • Migración desde PHP 4 a PHP 5.0.x
    • Clases y Objetos (PHP 4)
    • Depuración en PHP
    • Opciones de configuración
    • Directivas de php.ini
    • Categorización de Extensiones
    • Listado de funciones alias
    • Lista de palabras reservadas
    • Lista de Tipos de Recurso
    • Lista de Filtros Disponibles
    • Lista de Transportes de Sockets Soportados
    • Tablas de comparación de tipos de PHP
    • Lista de componentes léxicos del analizador
    • Guia de Entorno de Usuario para Nombres
    • Acerca del manual
    • Creative Commons Attribution 3.0
    • Listado de índices
    • Registro de cambios
  • HTML edición de ayuda
    • Sobre Esta Edición
    • Uso de la Edición CHM del Manual de PHP
    • La Búsqueda de Texto Completo
    • Particularidades de esta Edición
    • Integración del manual de PHP
    • Desarrollo de skins
    • Créditos de la edición CHM
Copyright
PHP Manual


Copyright

Copyright © 1997 - 2014 por el PHP Documentation Group. Este material puede ser distribuido solamente sujeto a los términos y condiciones establecidos por la licencia de Creative Commons Attribution 3.0 o superior. Una copia de la Licencia de Commons Attribution 3.0 está distribuida con este manual. La versión más reciente está disponible en » http://creativecommons.org/licenses/by/3.0/.

Si está interesado en la redistribución o republicación de este documento completa o parcialmente, con o sin modificaciones, y si tiene alguna pregunta, por favor contacte con los propietarios del Copyright en » doc-license@lists.php.net. Observe que esta dirección está ligada a una lista de correo pública.

Manual de PHP
Manual de PHP
Manual de PHP


Manual de PHP
PHP Manual

Manual de PHP

  • Prefacio
Copyright
Prefacio
Manual de PHP
PHP Manual


Prefacio

PHP, acrónimo de "PHP: Hypertext Preprocessor", es un lenguaje de 'scripting' de propósito general y de código abierto que está especialmente pensado para el desarrollo web y que puede ser embebido en páginas HTML. Su sintaxis recurre a C, Java y Perl, y es fácil de aprender. La meta principal de este lenguaje es permitir a los desarrolladores web escribir dinámica y rápidamente páginas web generadas; aunque se puede hacer mucho más con PHP.

Este manual consiste principalmente en una referencia de funciones, aunque también contiene una referencia del lenguaje, explicaciones de algunas de las características importantes de PHP, y otra información suplementaria.

Este manual se puede descargar en diferentes formatos en » http://www.php.net/download-docs.php. Puede encontrarse más información sobre cómo se desarrolla este manual en el apéndice 'Acerca de este manual'. Si está interesado en la Historia de PHP, visite el apéndice correspondiente.

Autores y Contribuyentes

Destacamos a las personas actualmente más activas al frente del manual, pero hay muchos más contribuyentes que nos ayudan en nuestro trabajo o han brindado una gran cantidad de ayuda al proyecto en el pasado. Hay muchísima gente anónima que ayudó con notas de usuario en las páginas del manual, que continuamente son incluidas en las referencias, labor de la que también estamos muy agradecidos. Todas las listas siguientes están en orden alfabético.

Autores y Editores

Los siguientes contribuyentes deberían ser reconocidos por el impacto de lo que han hecho y/o continúan haciendo añadiendo contenido al manual: Bill Abt, Jouni Ahto, Alexander Aulbach, Daniel Beckham, Stig Bakken, Nilgün Belma Bugüner, Jesus M. Castagnetto, Ron Chmara, Sean Coates, John Coggeshall, Simone Cortesi, Peter Cowburn, Daniel Egeberg, Markus Fischer, Wez Furlong, Sara Golemon, Rui Hirokawa, Brad House, Pierre-Alain Joye, Etienne Kneuss, Moriyoshi Koizumi, Rasmus Lerdorf, Andrew Lindeman, Stanislav Malyshev, Justin Martin, Rafael Martinez, Rick McGuire, Moacir de Oliveira Miranda Júnior, Kalle Sommer Nielsen, Yasuo Ohgaki, Richard Quadling, Derick Rethans, Rob Richards, Sander Roobol, Egon Schmid, Thomas Schoefbeck, Sascha Schumann, Dan Scott, Masahiro Takagi, Yannick Torres, Michael Wallner, Lars Torben Wilson, Jim Winstead, Jeroen van Wolffelaar y Andrei Zmievski.

Los siguientes contribuyentes han hecho un importante trabajo editando el manual: Stig Bakken, Gabor Hojtsy, Hartmut Holzgraefe y Egon Schmid.

Mantenedores de las Notas de Usuario

Los mantenedores actualmente más activos son: Daniel Brown, Nuno Lopes, Felipe Pena, Thiago Pojda y Maciek Sokolewicz.

Estas personas también pusieron mucho esfuerzo en la administración de las notas de usuario: Mehdi Achour, Daniel Beckham, Friedhelm Betz, Victor Boivie, Jesus M. Castagnetto, Nicolas Chaillan, Ron Chmara, Sean Coates, James Cox, Vincent Gevers, Sara Golemon, Zak Greant, Szabolcs Heilig, Oliver Hinckel, Hartmut Holzgraefe, Etienne Kneuss, Rasmus Lerdorf, Matthew Li, Andrew Lindeman, Aidan Lister, Hannes Magnusson, Maxim Maletsky, Bobby Matthis, James Moore, Philip Olson, Sebastian Picklum, Derick Rethans, Sander Roobol, Damien Seguy, Jason Sheets, Tom Sommer, Jani Taskinen, Yasuo Ohgaki, Jakub Vrana, Lars Torben Wilson, Jim Winstead, Jared Wyles y Jeroen van Wolffelaar.

Manual de PHP
Conceptos básicos
Manual de PHP


Conceptos básicos

  • Introducción
    • ¿Qué es PHP?
    • ¿Qué puede hacer PHP?
  • Un tutorial sencillo
    • ¿Qué necesito?
    • Su primera página con PHP
    • Algo útil
    • Tratar con formularios
    • Usar código antiguo en nuevas versiones de PHP
    • ¿Y ahora qué?
Prefacio
Introducción
Manual de PHP


Introducción

Tabla de contenidos

  • ¿Qué es PHP?
  • ¿Qué puede hacer PHP?
Conceptos básicos
¿Qué es PHP?
Conceptos básicos


¿Qué es PHP?

PHP (acrónimo recursivo de PHP: Hypertext Preprocessor) es un lenguaje de código abierto muy popular especialmente adecuado para el desarrollo web y que puede ser incrustado en HTML.

Bien, pero ¿qué significa realmente? Un ejemplo nos aclarará las cosas:

Ejemplo #1 Un ejemplo introductorio

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <title>Ejemplo</title>
    </head>
    <body>

        <?php
            echo "¡Hola, soy un script de PHP!";
        ?>

    </body>
</html>

En lugar de usar muchos comandos para mostar HTML (como en C o en Perl), las páginas de PHP contienen HTML con código incrustado que hace "algo" (en este caso, mostrar "¡Hola, soy un script de PHP!). El código de PHP está encerrado entre las etiquetas especiales de comienzo y final <?php y ?> que permiten entrar y salir del "modo PHP".

Lo que distingue a PHP de algo como Javascript del lado del cliente es que el código es ejecutado en el servidor, generando HTML y enviándolo al cliente. El cliente recibirá el resultado de ejecutar el script, aunque no se sabría el código subyacente que era. El servidor web puede ser incluso configurado para que procese todos los ficheros HTML con PHP, por lo que no hay manera de que los usuarios puedan saber qué se tiene debajo de la manga.

Lo mejor de usar PHP es que es extremadamente simple para el principiante, pero a su vez ofrece muchas características avanzadas para los programadores profesionales. No sienta miedo de leer la larga lista de características de PHP. En unas pocas horas podrá empezar a escribir sus primeros scripts.

Aunque el desarrollo de PHP está centrado en programación de scripts del lado del servidor, se puede utilizar para muchas otras cosas. Siga leyendo y descubra más en la sección ¿Qué puede hacer PHP?, o vaya directo al tutorial introductorio si solamente está interesado en programación web.

Introducción
¿Qué puede hacer PHP?
Introducción


¿Qué puede hacer PHP?

Cualquier cosa. PHP está enfocado principalmente a la programación de scripts del lado del servidor, por lo que se puede hacer cualquier cosa que pueda hacer otro programa CGI, como recopilar datos de formularios, generar páginas con contenidos dinámicos, o enviar y recibir cookies. Aunque PHP puede hacer mucho más.

Existen principalmente tres campos principales donde se usan scripts de PHP.

  • Scripts del lado del servidor. Este es el campo más tradicional y el foco principal. Se necesitan tres cosas para que esto funcione. El analizador de PHP (módulo CGI o servidor), un servidor web y un navegador web. Es necesario ejecutar el servidor, con una instalación de PHP conectada. Se puede acceder al resultado del programa PHP con un navegador, viendo la página de PHP a través del servidor. Todo esto se puede ejecutar en su máquina si está experimentado con la programación de PHP. Véase la sección sobre las instrucciones de instalación para más información.
  • Scripts desde la línea de comandos. Se puede crear un script de PHP y ejecutarlo sin necesidad de un servidor o navegador. Solamente es necesario el analizador de PHP para utilizarlo de esta manera. Este tipo de uso es ideal para scripts ejecutados regularmente usando cron (en *nix o Linux) o el Planificador de tareas (en Windows). Estos scripts también pueden usarse para tareas simples de procesamiento de texto. Véase la sección Uso de PHP en la línea de comandos para más información.
  • Escribir aplicaciones de escritorio. Probablemente PHP no sea el lenguaje más apropiado para crear aplicaciones de escritorio con una interfaz gráfica de usuario, pero si se conoce bien PHP, y se quisiera utilizar algunas características avanzadas de PHP en aplicaciones del lado del cliente, se puede utilizar PHP-GTK para escribir dichos programas. También es posible de esta manera escribir aplicaciones independientes de una plataforma. PHP-GTK es una extensión de PHP, no disponible en la distribución principal. Si está interesado en PHP-GTK, puede visitar su » propio sitio web.

PHP puede usarse en todos los principales sistemas operativos, incluyendo Linux, muchas variantes de Unix (incluyendo HP-UX, Solaris y OpenBSD), Microsoft Windows, Mac OS X, RISC OS y probablemente otros más. PHP admite la mayoría de servidores web de hoy en día, incluyendo Apache, IIS, y muchos otros. Esto incluye cualquier servidor web que pueda utilizar el binario de PHP FastCGI, como lighttpd y nginx. PHP funciona tanto como módulo como procesador de CGI.

De modo que con PHP se tiene la libertad de elegir el sistema operativo y el servidor web. Además, se tiene la posibilidad de utilizar programación por procedimientos o programación orientada a objetos (POO), o una mezcla de ambas.

Con PHP no se está limitado a generar HTML. Entre las capacidades de PHP se incluyen la creación de imágenes, ficheros PDF e incluso películas Flash (usando libswf y Ming) generadas sobre la marcha. También se puede generar fácilmente cualquier tipo de texto, como XHTML y cualquier otro tipo de fichero XML. PHP puede autogenerar éstos ficheros y guardarlos en el sistema de ficheros en vez de imprimirlos en pantalla, creando una caché en el lado del servidor para contenido dinámico.

Una de las características más potentes y destacables de PHP es su soporte para un amplio abanico de bases de datos. Escribir una página web con acceso a una base de datos es increiblemente simple utilizando una de las extensiones específicas de bases de datos (p.ej., para mysql), o utilizar una capa de abstracción como PDO, o conectarse a cualquier base de datos que admita el estándar de Conexión Abierta a Bases de Datos por medio de la extensión ODBC. Otras bases de datos podrían utilizar cURL o sockets, como lo hace CouchDB.

PHP también cuenta con soporte para comunicarse con otros servicios usando protocolos tales como LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (en Windows) y muchos otros. También se pueden crear sockets de red puros e interactuar usando cualquier otro protocolo. PHP tiene soporte para el intercambio de datos complejos de WDDX entre virtualmente todos los lenguajes de programación web. Y hablando de interconexión, PHP posee soporte para la instalación de objetos Java y usarlos de forma transparente como objetos de PHP.

PHP tiene útiles características de procesamiento de texto, las cuales incluyen las expresiones regulares compatibles con Perl (PCRE), y muchas extensiones y herramientas para el acceso y análisis de documentos XML. PHP estandariza todas las extensiones XML sobre el fundamento sólido de libxml2, y amplía este conjunto de características añadiendo soporte para SimpleXML, XMLReader y XMLWriter.

Existen otras extensiones interesantes, las cuales están categorizadas alfabéticamente y por categoría. Y hay extensiones adicionales de PECL que podrían estar documentadas o no dentro del manual de PHP, tal como » XDebug.

Como se puede apreciar, esta página no es suficiente para enumerar todas las características y beneficios que PHP ofrece. Consulte las secciones Instalación de PHP y Referencia de las funciones para una explicación de las extensiones mencionadas aquí.

¿Qué es PHP?
Un tutorial sencillo
Introducción


Un tutorial sencillo

Tabla de contenidos

  • ¿Qué necesito?
  • Su primera página con PHP
  • Algo útil
  • Tratar con formularios
  • Usar código antiguo en nuevas versiones de PHP
  • ¿Y ahora qué?

A continuación, nos gustaría mostrale lo esencial de PHP en un corto y sencillo tutorial. Este documento solamente trata de la creación de páginas web dinámicas con PHP, aunque PHP no solamente es capaz de crear páginas web. Consulte la sección titulada ¿Qué puede hacer PHP? para más información.

Las páginas web que usan PHP se tratan igual que páginas HTML comunes y corrientes, y se pueden crear y editar de la misma manera que normalmente se crean páginas HTML.

¿Qué puede hacer PHP?
¿Qué necesito?
Conceptos básicos


¿Qué necesito?

En este manual se asume que se cuenta con un servidor que tiene soporte activado para PHP y que todos los ficheros con la extensión .php son tratados por PHP. En la mayoría de servidores, ésta es la extensión predeterminada para los ficheros de PHP, aunque puede preguntar al administrador de su servidor para estar seguro. Si el servidor tiene soporte para PHP, entonces no es necesario hacer nada. Simplemente cree sus ficheros .php, guárdelos en su directorio web y el servidor los analizará por usted. No hay necesidad de compilar nada o instalar otras herramientas. Piense en estos ficheros habilitados para PHP como simples ficheros de HTML con el añadido de una nueva familia de etiquetas mágicas que permiten todo tipo de cosas. La mayoría de las compañías de hospedaje de páginas web ofrecen soporte para usar PHP, pero si por alguna razón no lo hacen, considere leer la sección » Enlaces de PHP para más información acerca de compañías de hospedaje que tienen soporte para PHP.

Digamos que quiere ahorrar el preciado ancho de banda y trabajar localmente. En este caso, querrá instalar un servidor web, como » Apache, y por supuesto » PHP. Lo más seguro es que también quiera instalar una base de datos como » MySQL.

Puede instalarlos de forma independiente o bien puede elegir una manera más sencilla. Este manual contiene Instrucciones de instalación de PHP (asumiendo que tiene algún tipo de servidor web ya configurado). Si tuviera problemas con la instalación, sugerimos que formule sus preguntas en nuestra » lista de correo de instalación. Si elige la manera más sencilla, » localice un paquete preconfigurado para su sistema operativo, el cual instala automáticamente todo esto con únicamente unos pocos clics de ratón. Es sencillo configurar un servidor web con soporte para PHP en cualquier sistema operativo, incluyendo MacOSX, Linux y Windows. En Linux, podría encontrar útil » rpmfind y » PBone para localizar los RPMs. También puede visitar » apt-get para buscar paquetes para Debian..

Un tutorial sencillo
Su primera página con PHP
Un tutorial sencillo


Su primera página con PHP

Comience por crear un fichero llamado hola.php y póngalo en el directorio raíz de su servidor web (DOCUMENT_ROOT) con el siguiente contenido:

Ejemplo #1 Nuestro primer script de PHP: hola.php

<html>
 <head>
  <title>Prueba de PHP</title>
 </head>
 <body>
 <?php echo '<p>Hola Mundo</p>'; ?>
 </body>
</html>

Utilice su navegador web para acceder al fichero con el URL de su servidor, finalizado con la referencia al fichero /hola.php. Si está programando localmente, este URL será algo como http://localhost/hola.php o http://127.0.0.1/hola.php, pero esto depende de la configuración de su servidor web. Si todo está configurado correctamente, el fichero será analizado por PHP y se enviará el siguiente contenido a su navegador:

<html>
 <head>
  <title>Prueba de PHP</title>
 </head>
 <body>
 <p>Hola mundo</p>
 </body>
</html>

Este programa es extremadamente simple y realmente no es necesario usar PHP para crear una página como esta. Lo único que muestra es: Hola mundo usando la sentencia echo de PHP. Observe que el fichero no necesita ser ejecutable o especial de ninguna forma. El servidor reconoce que este fichero necesita ser interpretado por PHP debido al uso de la extensión ".php", ya que el servidor está configurado para enviarlo a PHP. Piense como si fuera un fichero HTML normal que tiene una serie de etiquetas especiales disponibles con las que puede hacer muchas cosas interesantes.

Si intentó usar este ejemplo y no produjo ningún resultado, se le preguntó si deseaba descargar el fichero, o se mostró todo el fichero como texto, lo más seguro es que PHP no se encuentre habilitado en su servidor o no esté configurado adecuadamente. Pídale a su administrador que lo habilite usando el capítulo Instalación del manual. Si está trabajando localmente, lea también el capítulo dedicado a la instalación para asegurarse de que todo esté configurado adecuadamente. Asegúrese de que está accediendo al fichero mediante http y que el servidor muestre el resultado. Si está abriendo el fichero desde el sistema de ficheros, probablemente no será analizado por PHP. Si el problema persiste, no dude en usar alguna de las múltiples opciones del » Soporte para PHP.

El objetivo de este ejemplo es el formato de las etiquetas especiales de PHP. En este ejemplo usamos <?php para indicar el inicio de una etiqueta de PHP. Después ponemos la sentencia y abandonamos el modo PHP añadiendo la etiqueta de cierre ?>. De esta manera, se puede entrar y salir del modo PHP en un fichero HTML cada vez que se quiera. Para más información, lea la sección del manual titulada Sintaxis básica de PHP.

Nota: Una observación sobre los avances de línea

Los avances de línea tienen poco sentido en HTML, aunque sigue siendo buena idea hacer que el código HTML se vea limpio y claro poniendo avances de línea. PHP automáticamente eliminará los avances de línea que estén después de una etiqueta de cierre ?>. Esto puede ser muy útil al poner muchos bloques de PHP o incluir ficheros que contienen PHP y que se supone que no deben mostarar nada. Al mismo tiempo, puede resultar un poco confuso. Se puede poner un espacio después de la etiqueta de cierre ?> para mostrar forzosamente un espacio y un avance de línea, o se puede poner un avance de línea explícito en el último echo/print dentro del bloque de PHP.

Nota: Una observación sobre los editores de texto

Hay muchos editores de texto y Entornos de Desarrollo Integrados (IDE por sus siglas en Inglés) que se pueden usar para crear, editar, y gestionar ficheros de PHP. Se puede encontrar una lista parcial de éstos en » Lista de editores de PHP. Si desea recomendar un editor, por favor visite la página mencionada anteriormente y pregunte al mantenedor de la página para que lo incluyan en la lista. Contar con un editor que resalte la sintaxis puede ser de mucha ayuda.

Nota: Una observación sobre los procesadores de texto

Los procesadores de texto como StarOffice Writer, Microsoft Word y Abiword no son buenas opciones para editar ficheros de PHP. Si desea usar uno de éstos programas para probar este script, debe asegurarse de guardar el documento como texto sin formato o PHP no será capaz de leerlo y ejecutarlo.

Nota: Una observación sobre el Bloc de Notas de Windows

Si escribe sus scripts de PHP usando el Bloc de Notas de Windows, debe asegurarse de que sus ficheros sean guardados con la extensión .php. (El Bloc de Notas automáticamente añade la extensión .txt a los ficheros a menos que siga los siguientes pasos para prevenirlo). Cuando guarde el fichero y el programa le pregunte qué nombre desea dar al fichero, entrecomille el nombre (es decir, "hola.php"). Una alternativa es hacer clic en el menú desplegable "Documentos de Texto (*.txt)" del cuadro de diálogo "Guardar como", y cambiar a la opción "Todos los archivos (*.*)". Aquí puede escribir el nombre del fichero sin las comillas.

Ahora que ha creado un pequeño script de PHP que funciona correctamente, es hora de crear el script de PHP más famoso: hacer una llamada a la función phpinfo() para obtener mucha información útil acerca de su sistema y configuración, como las variables predefinidas disponibles, los módulos de PHP cargados, y los ajustes de configuración. Tómese algo de tiempo para revisar esta importante información.

Ejemplo #2 Obtener la información del sistema desde PHP

<?php phpinfo(); ?>

¿Qué necesito?
Algo útil
Un tutorial sencillo


Algo útil

Hagamos ahora algo que puede ser más útil. Vamos a comprobar qué tipo de navegador está utilizando el usuario vistante. Para hacerlo, vamos a comprobar el string del agente de usuario que el navegador envía como parte de la petición HTTP. Esta información es almacenada en una variable. En PHP, las variables siempre comienzan con un signo de dólar. La variable que nos interesa ahora es $_SERVER['HTTP_USER_AGENT'].

Nota:

$_SERVER es una variable especial reservada por PHP que contiene toda la información del servidor web. Es conocida como una Superglobal. Consulte la página del manual sobre Superglobales para más información. Estas variables especiales fueron introducidas en la versión » 4.1.0 de PHP. Antes se podían usar en su lugar los antiguos arrays $HTTP_*_VARS, tales como $HTTP_SERVER_VARS. Aunque están obsoletos, estos antiguos arrays todavía existen. (Véase también la nota sobre código antiguo.)

Para mostrar esta variable, se puede hacer simplemente:

Ejemplo #1 Imprimir una variable (elemento de array)

<?php
echo $_SERVER['HTTP_USER_AGENT'];
?>

Un ejemplo del resultado de este script podría ser:

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Hay muchos tipos de variables en PHP. En el ejemplo anterior se muestra un elemento de un Array. Los arrays pueden ser muy útiles.

$_SERVER es simplemente una variable que se encuentra disponible automáticamente en PHP. Se puede encontrar una lista en la sección Variables reservadas del manual, o se puede obtener una lista completa observando la salida de la función phpinfo() usada en el ejemplo de la sección anterior.

Puede usar múltiples sentencias de PHP dentro de una etiqueta PHP y crear pequeños bloques de código que realicen más que un solo 'echo'. Por ejemplo, si se quisiera detectar el uso de Internet Explorer, se podría hacer algo así:

Ejemplo #2 Ejemplo usando estructuras de control y functiones

<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
    echo 'Está usando Internet Explorer.<br />';
}
?>

Un ejemplo del resultado de este script sería:

Está usando Internet Explorer.<br />

Aquí hemos introducido un par de conceptos nuevos. Tenemos una sentencia if. Si está familiarizado con la sintaxis básica del lenguaje C, debería parecerle lógico. De lo contrario, probablemente debería conseguir un libro que le introduzca a PHP, y leer el primer par de capítulos, o leer la parte del manual titulada Referencia del lenguaje.

El segundo concepto que introducimos fue la función llamada strpos(). strpos() es una función integrada en PHP que busca un cadena dentro de otra. En este caso estamos buscando 'MSIE' (también llamado aguja) dentro de $_SERVER['HTTP_USER_AGENT'] (también llamado pajar). Si la cadena se encuentra dentro del pajar, la función devuelve la posición de la aguja relativa al inicio del pajar. De lo contrario, devuelve FALSE. Si no devuelve FALSE, la expresión if se evalúa como TRUE y se ejecuta el código entre llaves {}. De lo contrario, el código no será ejecutado. Tómese la libertad de crear ejemplos similares, con if, else, y otras funciones como strtoupper() y strlen(). Cada página del manual relacionada también contiene ejemplos. Si no está seguro de cómo usar estas funciones, es recomendable que lea las páginas del manual sobre Cómo interpretar una definición de función y la sección sobre Funciones de PHP.

Podemos dar un paso más y mostrar cómo se puede entrar y salir del modo PHP incluso en medio de un bloque de código de PHP:

Ejemplo #3 Mezcla de los modos HTML y PHP

<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
?>
<h3>strpos() debe haber devuelto no falso</h3>
<p>Está usando Internet Explorer</p>
<?php
} else {
?>
<h3>strpos() debe haber devuelto falso</h3>
<p>No está usando Internet Explorer</p>
<?php
}
?>

Un ejemplo del resultado del script podría ser:

<h3>strpos() debe haber devuelto no falso</h3>
<p>Está usando Internet Explorer</p>

En vez de usar una sentencia echo de PHP para mostrar algo, salimos del modo PHP y enviamos solamente HTML. Este es un punto muy importante y potente que debemos observar aquí, y es que la fluidez lógica del script permanece intacta. Sólamente uno de los bloques HTML terminará siendo enviado al navegador dependiendo del resultado de strpos(). En otras palabras, depende de si la cadena MSIE fue encontrada o no.

Su primera página con PHP
Tratar con formularios
Un tutorial sencillo


Tratar con formularios

Otra de las características más potentes de PHP es la forma en que gestiona formularios HTML. El concepto básico que es importante entender es que cualquier elemento de un formulario estará disponible automáticamente en sus scripts de PHP. Por favor, lea la sección del manual sobre Variables desde fuentes externas para obtener más información y ejemplos sobre cómo usar formularios con PHP. Observemos un ejemplo:

Ejemplo #1 Un formulario HTML sencillo

<form action="accion.php" method="post">
 <p>Su nombre: <input type="text" name="nombre" /></p>
 <p>Su edad: <input type="text" name="edad" /></p>
 <p><input type="submit" /></p>
</form>

No hay nada especial en este formulario. Es solamente un formulario HTML sin ninguna clase de etiqueta especial. Cuando el usuario rellena este formulario y oprime el botón de envío, se llama a la página accion.php. En este fichero se podría escribir algo así:

Ejemplo #2 Mostrar información de nuestro formulario

Hola <?php echo htmlspecialchars($_POST['nombre']); ?>.
Usted tiene <?php echo (int)$_POST['edad']; ?> años.

Un ejemplo del resultado de este script podría ser:

Hola José. Usted tiene 22 años.

Excepto las partes de htmlspecialchars() y de (int), debería ser obvio qué es lo que hace el código. htmlspecialchars() se asegura de que cualquier carácter que es especial en html sea codificado adecuadamente, de manera que nadie pueda inyectar etiquetas HTML o Javascript en la página. El campo edad, ya que sabemos que es un número, podemos convertirlo a un valor de tipo integer que automáticamente se deshará de cualquier carácter no numérico. También se puede hacer lo mismo con PHP con la extensión filter. Las variables $_POST['nombre'] y $_POST['edad'] son establecidas automáticamente por PHP. Anteriormente hemos usado la superglobal $_SERVER; arriba introdujimos la superglobal $_POST, la cual contiene todos los datos de POST. Observe que el método de nuestro formulario es POST. Si hubiésemos usado el método GET, nuestra información estaría en su lugar en la superglobal $_GET. También se podría usar la superglobal $_REQUEST, si no le preocupa la fuente de los datos solicitados. Contiene toda la información mezclada de los datos de GET, POST y COOKIE. Vea también la función import_request_variables().

En PHP, también puede tratar con entradas de XForms; aunque probablemente al principio se sienta cómodo con los formularios de HTML, los cuales están ampliamente respaldados. A pesar de que trabajar con XForms no es para principiantes, podrían interesarle. Si es así, en la sección de características hay una pequeña introducción a la manipulación de datos recibidos desde XForms.

Algo útil
Usar código antiguo en nuevas versiones de PHP
Un tutorial sencillo


Usar código antiguo en nuevas versiones de PHP

Ahora que PHP ha crecido y se ha convertido en un lenguaje popular, hay muchos más repositorios y bibliotecas que contienen código que puede reutilizar. Los desarrolladores de PHP han intentado preservar la retrocompatibilidad, es decir, si un script fue escrito para una versión antigua, funcionará (idealmente) sin ningún cambio en una versión reciente de PHP. En la práctica, son necesarios normalmente algunos cambios.

Dos de los cambios más importantes que afectan el código antiguo son:

  • La obsolescencia de los antiguos arrays $HTTP_*_VARS (que necesitan ser indicados como globales al utilizarlos dentro de una función o método). Los siguientes arrays superglobales fueron introducidos en PHP » 4.1.0. Son: $_GET, $_POST, $_COOKIE, $_SERVER, $_FILES, $_ENV, $_REQUEST, y $_SESSION. Los antiguos arrays $HTTP_*_VARS, como $HTTP_POST_VARS, todavía existen. A partir de PHP 5.0.0, los arrays de variables predefinidas de tipo long de PHP se pueden desactivar con la directiva register_long_arrays .
  • Las variables externas ya no son registradas en el ámbito global de forma predeterminada. En otras palabras, a partir de PHP » 4.2.0, la directiva de PHP register_globals está desactivada (off) por defecto en php.ini. El mejor método para acceder a estos valores es por medio de las variables superglobales mencionadas anteriormente. Los scripts, libros y tutoriales antiguos podrían contar con que está directiva esté activada (on). Si fuera on, por ejemplo, se podría usar $id desde el URL http://www.example.com/foo.php?id=42. Ya esté activada o desactivada, $_GET['id'] está siempre disponible.
Para más información relacionada con estos cambios, véase la sección sobre variables predefinidas y los enlaces que incluye.

Tratar con formularios
¿Y ahora qué?
Un tutorial sencillo


¿Y ahora qué?

Con sus nuevos conocimientos debería ser capaz de entender la mayoría del manual y los diversos scripts de ejemplo disponibles en los archivos de ejemplos. Puede encontrar otros ejemplos en los sitios web de php.net en la sección de enlaces: » http://www.php.net/links.php.

Para ver varias presentaciones que muestran más acerca de lo que puede hacer PHP, véase el Sitio de Material de Conferencias de PHP: » http://talks.php.net/

Usar código antiguo en nuevas versiones de PHP
Instalación y configuración
Un tutorial sencillo


Instalación y configuración

  • Consideraciones generales de instalación
  • Instalación sobre sistemas Unix
    • Apache 1.3.x sobre sistemas Unix
    • Apache 2.x sobre sistemas Unix
    • Lighttpd 1.4 en sistemas Unix
    • Servidores Sun, iPlanet y Netscape sobre Sun Solaris
    • CGI y configuraciones de línea de comandos
    • Notas de instalación específicas para HP-UX
    • Notas de instalación para OpenBSD
    • Solaris sugerencias específicas de instalación
    • Notas de instalación en Debian GNU/Linux
  • Instalación en Mac OS X
    • Empleo de paquetes
    • Usando el paquete PHP
    • Compilar PHP en Mac OS X
  • Instalación en sistemas Windows
    • Windows Installer (PHP 5.1.0 y anteriores)
    • Windows Installer (PHP 5.2 y posterior)
    • Manual de Instalación
    • Microsoft IIS
    • Microsoft IIS 5.1 y IIS 6.0
    • Microsoft IIS 7.0 y posteriores
    • Apache 1.3.x en Microsoft Windows
    • Apache 2.x en Microsoft Windows
    • Servidores Sun, iPlanet y Netscape en Microsoft Windows
    • Sambar Server en Microsoft Windows
    • Xitami en Microsoft Windows
    • Construcción de la fuente
    • Instalación de extensiones en Windows
    • Linea de Comandos PHP en Microsoft Windows
  • Instalación en las plataformas de Nube Informática
    • Microsoft Azure
    • Amazon EC2
  • Manejador de Procesos FastCGI (FPM)
    • Instalación
    • Configuración
  • Instalación de extensiones PECL
    • Introducción a las Instalaciones en PECL
    • Descarga de extensiones PECL
    • Instalación una extensión de PHP en Windows
    • Compilando extensiones PECL compartidas con el comando pecl
    • Compilando extensiones PEC compartidas con phpize
    • php-config
    • Compilando extensiones PECL estáticamente en PHP
  • ¿Problemas?
    • Lea el FAQ
    • Otros problemas
    • Informar sobre bugs
  • Configuración en tiempo de ejecución
    • El fichero de configuración
    • Ficheros .user.ini
    • Dónde se puede realizar un ajuste de configuración
    • Cómo cambiar los ajustes de configuración
¿Y ahora qué?
Consideraciones generales de instalación
Manual de PHP


Consideraciones generales de instalación

Antes de empezar con la instalación, primero necesita saber para qué quiere utilizar PHP. Existen tres campos principales donde se puede utilizar PHP tal y como se describe en la sección: ¿Qué se puede hacer con PHP?

  • Aplicaciones web y sitios web (scripting del lado del servidor)
  • Scripting en la línea de comandos
  • Aplicaciones de escritorio (GUI)

Para la primera forma mencionada, que es la más común, se necesitan tres cosas: PHP, un servidor web y un navegador web. Seguramente ya disponga del navegador web y, dependiendo de la configuración del sistema operativo, quizá ya tenga un servidor web (p.ej. Apache en Linux y MacOS X; IIS en Windows). También puede alquilar espacio web en una empresa. De esta forma, no se necesita instalar nada, solo tiene que escribir los scripts de PHP, subirlos al servidor que alquile y ver los resultados en su navegador.

En caso de configurar el servidor y PHP por su cuenta, existen dos opciones para el modo de conectar PHP con el servidor. Para muchos servidores, PHP tiene un módulo de interfaz directo (también llamado SAPI). Entre estos servidores se incluyen Apache, Microsoft Internet Information Server, Netscape y iPlanet. Muchos otros servidores tienen soporte para ISAPI, el módulo de interfaz de Microsoft (OmniHTTPd por ejemplo). Si PHP no tiene soporte para el módulo de su servidor web, siempre puede usarlo como procesador CGI o FastCGI. Esto significa configurar el servidor para usar el CGI ejecutable de PHP para procesar cada una de las peticiones a ficheros PHP en el servidor.

Si también está interesado en usar PHP bajo la línea de comandos (p.ej. escribir scripts que autogeneran imágenes de forma offline, o procesar ficheros de texto dependiendo de los argumentos que se les pasen), siempre necesitará el ejecutable de línea de comandos. Para más información, lea la sección sobre escribir aplicaciones PHP desde la línea de comandos. En este caso, no se necesita ningún servidor o navegador.

Con PHP también se pueden escribir aplicaciones GUI de escritorio usando la extensión PHP-GTK. Este enfoque no tiene nada que ver con escribir páginas web, ya que no se muestra nada de HTML, pero gestiona ventanas y objetos dentro de ellas. Para más información acerca de PHP-GTK, por favor » visite el sitio dedicado a esta extensión. PHP-GTK no está incluido en la distribución oficial de PHP.

De aquí en adelante, esta sección trata de la configuración de PHP para servidores web sobre Unix y Windows con interfaces de módulo de servidor y ejecutables CGI. También se puede encontrar información sobre ejecutables de línea de comandos en las siguientes secciones.

El código fuente de PHP y las distribuciones binarias para Windows pueden encontrarse en » http://www.php.net/downloads.php. Recomendamos elegir un » sitio alternativo cercano para descargar las distribuciones.

Instalación y configuración
Instalación sobre sistemas Unix
Instalación y configuración


Instalación sobre sistemas Unix

Tabla de contenidos

  • Apache 1.3.x sobre sistemas Unix
  • Apache 2.x sobre sistemas Unix
  • Lighttpd 1.4 en sistemas Unix
  • Servidores Sun, iPlanet y Netscape sobre Sun Solaris
  • CGI y configuraciones de línea de comandos
  • Notas de instalación específicas para HP-UX
  • Notas de instalación para OpenBSD
  • Solaris sugerencias específicas de instalación
  • Notas de instalación en Debian GNU/Linux

Esta sección le guiará a través de la configuración general e instalación de PHP sobre sistemas Unix. Asegúrese de investigar cualquier sección específica a su plataforma o servidor web antes de comenzar el proceso.

Tal como el manual lo esboza en la sección Consideraciones generales de instalación, se está tratando principalmente con configuraciones de PHP centradas en web en esta sección, aunque también se cubrirá el preparar PHP para usarse en línea de comando.

Existen varias maneras de instalar PHP para la plataforma Unix, ya sea con un proceso de compilar y configurar, o a través de varios métodos pre-empaquetados. Esta documentación está enfocada principalmente alrededor del proceso de compilar y configurar PHP. Muchos sistemas estilo Unix tienen algún tipo de sistema de instalación de paquetes. Esto puede ayudar en preparar una configuración standard, pero si se requiere tener un conjunto diferente de características (tales como un servidor seguro, o un manejador diferente de base de datos), podría ser necesario construir PHP y/o el servidor web. Si no se está familiarizado con la construcción y el compilado de su propio software, vale la pena revisar para ver si alguien ya ha construido una versión empaquetada de PHP con las características que se necesitan.

Conocimientos y software necesarios para compilar:

  • Habilidades básicas en Unix (ser capaz de operar "make" y un compilador de C)
  • Un compilador ANSI C
  • Un servidor web
  • Cualquier componente específico para módulos (tales como GD, PDF libs, etc.)

Cuando compile directamente de una fuente Git o después de realizar modificaciones usted necesita también:

  • autoconf: 2.13+ (para PHP < 5.4.0), 2.59+ (para PHP >= 5.4.0)
  • automake: 1.4+
  • libtool: 1.4.x+ (excepto 1.4.2)
  • re2c: Versión 0.13.4 o superior
  • flex: Versión 2.5.4 (para PHP <= 5.2)
  • bison: Versión 1.28 (preferido), 1.35, o 1.75

El proceso inicial de preparación y configuración de PHP es controlado por el uso de las opciones de línea de comando del script configure. Es posible obtener una lista de todas las opciones disponibles junto con una descripción corta ejecutando ./configure --help. El manual documenta las diferentes opciones por separado. Se encontrarán las opciones principales en el apéndice, mientras que las diferentes opciones específicas de las extensiones se describen en las páginas de referencia.

Cuando PHP está configurado, se está listo para compilar el módulo y/o ejecutables. El comando make debería hacerse cargo de esto. Si falla y no se puede encontrar el porque, véase la sección de problemas.

Consideraciones generales de instalación
Apache 1.3.x sobre sistemas Unix
Instalación y configuración


Apache 1.3.x sobre sistemas Unix

Esta sección contiene notas y consejos específicos a instalaciones Apache de PHP sobre plataformas Unix. También se tienen instrucciones y notas para Apache 2 en una página por separado.

Se pueden seleccionar argumentos para agregar a configure en la línea 10 debajo de la lista de opciones principales de configure y de opciones específicas a extensiones descritas en sus respectivos lugares en el manual. Los números de versión han sido omitidos aquí, para asegurar que las instrucciones no sean incorrectas. Se necesita reemplazar las 'xxx' aquí con los valores correctos de los ficheros.

Ejemplo #1 Instrucciones de instalación (Versión de módulo compartido de Apache) para PHP

1.  gunzip apache_xxx.tar.gz
2.  tar -xvf apache_xxx.tar
3.  gunzip php-xxx.tar.gz
4.  tar -xvf php-xxx.tar
5.  cd apache_xxx
6.  ./configure --prefix=/www --enable-module=so
7.  make
8.  make install
9.  cd ../php-xxx

10. Ahora, se configura PHP.  Aquí es donde se personaliza PHP
    con varias opciones, como cuales extensiones se habilitarán.  Realizar un
    ./configure --help para obtener una lista de opciones disponibles.  En el ejemplo
    se realiza un configure simple con soporte para Apache 1 y MySQL.  La
    ruta de acceso a apxs puede diferir del ejemplo.

      ./configure --with-mysql --with-apxs=/www/bin/apxs

11. make
12. make install

    Si se decide cambiar las opciones de configure después de la instalación,
    solamente se necesita repetir los últimos tres pasos. Sólo hace falta
    reiniciar apache para que el nuevo módulo tenga efecto. Una recompilación de
    Apache no es necesaria.

    Nótese que a menos que se mencione lo contrario, 'make install' también instalará PEAR,
    varias herramientas de PHP tales como phpize, instalará la línea de comando (CLI) de PHP, y más.

13. Preparar el fichero php.ini:

      cp php.ini-development /usr/local/lib/php.ini

    Se puede editar el fichero .ini para fijar las opciones de PHP.  Si se prefiere
    php.ini en otra ubicación, utilice --with-config-file-path=/some/path en
    el paso 10.

    Si en vez de ello se elige php.ini-production, asegurarse de leer la lista
    de cambios en el interior, ya que éstos afectan como se comporta PHP.

14. Editar httpd.conf para cargar el módulo de PHP.  La ruta de acceso al lado derecho
    de el enunciado LoadModule debe apuntar a la ruta del módulo de PHP
    en su sistema.  El make install anterior podría haber agregado esto ya
    por usted, pero asegúrese de revisarlo.

      LoadModule php5_module libexec/libphp5.so

15. Y en la sección AddModule de httpd.conf, en algún lugar por debajo de
    ClearModuleList, agregar esto:

      AddModule mod_php5.c

16. Indicar a Apache que procese ciertas extensiones como PHP.  Por ejemplo,
    hacer que Apache procese la extensión .php como PHP.  Se podría
    hacer que cualquier extensión o extensiones sean procesadas como PHP simplemente añadiendo más, con
    cada una separada por un espacio.  Se agregará .phtml para demostrarlo.

      AddType application/x-httpd-php .php .phtml

    También es común configurar la extensión .phps para mostrar fuentes resaltadas de PHP,
    ésto puede hacerse con:

      AddType application/x-httpd-php-source .phps

17. Utilice el procedimiento normal para iniciar el servidor Apache. (Se debe
    detener y reiniciar el servidor, no sólo causar que el servidor recargue utilizando
    una señal HUP o USR1.)

Alternativamente, para instalar PHP como un objeto estático:

Ejemplo #2 Instrucciones de instalación (Instalación de módulo estático para Apache) para PHP

1.  gunzip -c apache_1.3.x.tar.gz | tar xf -
2.  cd apache_1.3.x
3.  ./configure
4.  cd ..

5.  gunzip -c php-5.x.y.tar.gz | tar xf -
6.  cd php-5.x.y
7.  ./configure --with-mysql --with-apache=../apache_1.3.x
8.  make
9.  make install

10. cd ../apache_1.3.x

11. ./configure --prefix=/www --activate-module=src/modules/php5/libphp5.a
    (¡La línea anterior es correcta! Sí, ya se sabe que libphp5.a aún no existe en esta
    etapa. No se supone que deba. Será creado.)

12. make
    (ahora se debe tener un binario httpd que puede ser copiado al directorio bin de Apache si
    esta es la primera instalación entonces se necesita dar "make install" también)

13. cd ../php-5.x.y
14. cp php.ini-development /usr/local/lib/php.ini

15. Se puede editar el fichero /usr/local/lib/php.ini para fijar las opciones de PHP.
    Editar el fichero httpd.conf o srm.conf y añadir:
    AddType application/x-httpd-php .php

Dependiendo de la instalación de Apache y la variante de Unix, hay muchas maneras posibles de detener y reiniciar el servidor. Abajo hay algunas líneas típicas utilizadas para reiniciar el servidor, para diferentes instalaciones apache/unix. Se debe reemplazar /path/to/ con la trayectoria a estas aplicaciones en el sistema.

Ejemplo #3 Comandos de ejemplo para reiniciar Apache

1. Diferentes variantes de Linux y SysV:
/etc/rc.d/init.d/httpd restart

2. Utilizando scripts apachectl:
/path/to/apachectl stop
/path/to/apachectl start

3. httpdctl y httpsdctl (Utilizando OpenSSL), similar a apachectl:
/path/to/httpsdctl stop
/path/to/httpsdctl start

4. Usando mod_ssl, u otro servidor SSL, que se quiera detener e iniciar
manualmente:
/path/to/apachectl stop
/path/to/apachectl startssl

Las ubicaciones de los binarios apachectl y http(s)dctl varían frecuentemente. Si el sistema tiene los comandos locate o whereis o which, éstos pueden ayudar en encontrar los programas de control del servidor.

Distintos ejemplos de compilaciones de PHP para apache son como sigue:

./configure --with-apxs --with-pgsql

Esto creará una librería compartida libphp5.so que se carga en Apache utilizando una línea LoadModule en el fichero de Apache httpd.conf. El soporte para PostgreSQL está incluido dentro de esta librería.

./configure --with-apxs --with-pgsql=shared

Esto creará una librería compartida libphp5.so para Apache, pero también creará una librería compartida pgsql.so que se carga en PHP ya sea usando la directiva de extensión en el fichero php.ini o cargándola explícitamente en un script utilizando la función dl().

./configure --with-apache=/path/to/apache_source --with-pgsql

Esto creará una librería libmodphp5.a, un mod_php5.c y algunos ficheros acompañantes y cópiese estos dentro del directorio src/modules/php5 en el árbol de fuentes de Apache. Entonces se compila Apache utilizando --activate-module=src/modules/php5/libphp5.a y el sistema de compilación de Apache creará libphp5.a y lo enlazará estáticamente dentro del binario httpd. El soporte para PostgreSQL se incluye directamente dentro de este binario httpd, así que el resultado final aquí es un binario httpd sencillo que incluye todo Apache y todo PHP.

./configure --with-apache=/path/to/apache_source --with-pgsql=shared

Igual que en el anterior, excepto que en vez de incluir soporte para PostgreSQL directamente en el httpd final se obtiene una librería compartida pgsql.so que puede cargarse dentro de PHP desde ya sea el fichero php.ini o directamente utilizando dl().

Cuando se elige compilar PHP de diferentes maneras, se deben considerar las ventajas y desventajas de cada método. Compilar como objeto compartido significará que se puede compilar apache por separado, y no se tiene que recompilar todo cuando se agrega o se cambia algo en PHP. Compilar PHP dentro de apache (método estático) significa que PHP cargará y ejecutará más rápido. Para más información, ver la » página web de Apache sobre soporte DSO.

Nota:

El httpd.conf por omisión de Apache actualmente se distribuye con una sección que se parece a esto:

User nobody
Group "#-1"
A menos que se cambie esto a "Group nogroup" o algo como esto ("Group daemon" es también muy común) PHP no será capaz de abrir ficheros.

Nota:

Asegúrese de que se especifica la versión instalada de apxs cuando se utiliza --with-apxs=/path/to/apxs . NO se debe utilizar la versión de apxs que está en las fuentes de apache, si no la que en realidad está instalada en el sistema.

Instalación sobre sistemas Unix
Apache 2.x sobre sistemas Unix
Instalación sobre sistemas Unix


Apache 2.x sobre sistemas Unix

Esta sección contiene notas y consejos específicos a las instalaciones de Apache 2.x de PHP sobre sistemas Unix.

Advertencia

No se recomienda utilizar un MPM threaded en producción con Apache 2. Use MPM prefork, que es el MPM por defecto en Apache 2.0 y 2.2. Para información sobre cómo, lea la correspondiente entrada de la FAQ sobre utilizar Apache2 con un MPM threaded

La » Documentación de Apache es la fuente de información más autorizada acerca del servidor Apache 2.x. Ahí se puede encontrar más información acerca de las opciones de instalación.

La versión más reciente de Apache HTTP Server puede obtenerse del » Sitio de descargas de Apache, y una versión apropiada de PHP de los lugares anteriormente mencionados. Esta guía rápida solamente cubre lo básico para comenzar con Apache 2.x y PHP. Para obtener más información lea la » Documentación de Apache. Los números de versión han sido omitidos aquí, para asegurar que las instrucciones no sean incorrectas. En los ejemplos siguientes, 'NN' deberá ser reemplazado con la versión específica de Apache que se está utilizando.

Existen actualmente dos versiones de Apache 2.x - está la 2.0 y la 2.2. Mientras que existen varias razones para elegir cada una, la 2.2 es actualmente la versión más reciente, y la que se recomienda, si es que esa opción está disponible. Sin embargo, las instrucciones aquí funcionarán ya sea para 2.0 ó 2.2.

  1. Obténgase el servidor HTTP Apache de la ubicación listada con anterioridad, y desempáquese:

    gzip -d httpd-2_x_NN.tar.gz
tar -xf httpd-2_x_NN.tar

  2. De la misma manera, obtener y desempacar las fuentes de PHP:

    gunzip php-NN.tar.gz
tar -xf php-NN.tar

  3. Compilar e instalar Apache. Consúltese la documentación de instalación de Apache para mayores detalles sobre la compilación de Apache.

    cd httpd-2_x_NN
./configure --enable-so
make
make install

  4. Ahora se tiene Apache 2.x.NN disponible debajo de /usr/local/apache2, configurado con soporte para módulos cargables y con el MPM (Módulo de multiproceso) prefork estándar. Para probar la instalación úsese el procedimiento para iniciar el servidor Apache, por ej.:

    /usr/local/apache2/bin/apachectl start
    y deténgase el servidor para proceder con la configuración para PHP:
    /usr/local/apache2/bin/apachectl stop

  5. Ahora, configure y compile PHP. Aquí es donde se personaliza PHP con varias opciones, como qué extensiones se han de habilitar. Ejecute ./configure --help para obtener una lista de opciones disponibles. En el ejemplo se realiza un simple configure con soporte para Apache 2 y MySQL.

    Si se compila Apache a partir de los fuentes, tal como se describe anteriormente, el siguiente ejemplo coincidirá con la trayectoria para apxs, pero si se ha instalado Apache de alguna otra manera, será necesario ajustar la trayectoria a apxs apropiadamente. Nótese que algunas distribuciones pueden renombrar apxs cómo apxs2.

    cd ../php-NN
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
make
make install

    Si se decide a cambiar las opciones de configuración después de la instalación, se deben volver a ejecutar los pasos configure, make, y make install. Solamente se necesita reiniciar apache para que el nuevo módulo tenga efecto. Una recompilación de Apache no es necesaria.

    Nótese que a menos que se indique lo contrario, 'make install' también instalará PEAR, varias herramientas de PHP tales como phpize, instalará la interfaz de línea de comando (CLI) de PHP, y más.

  6. Configurar php.ini

    cp php.ini-development /usr/local/lib/php.ini

    Se puede editar el fichero .ini para fijar las opciones de PHP. Si se prefiere tener php.ini en otra ubicación, utilice --with-config-file-path=/alguna/trayectoria en el paso 5.

    Si en vez de eso se elige php.ini-production, asegúrese de leer la lista de cambios al interior, ya que afectan como se comporta PHP.

  7. Edítese httpd.conf para cargar el módulo PHP. La trayectoria a la derecha de la sentencia LoadModule debe apuntar a la trayectoria del módulo PHP en el sistema. El make install anterior podría ya haber agregado esto automáticamente, pero asegúrese de revisar.

    LoadModule php5_module modules/libphp5.so

  8. Indicar a Apache que procese ciertas extensiones como PHP. Por ejemplo, hágase que Apache procese ficheros .php como PHP. En vez de solamente utilizar la directiva de Apache AddType, se desea evitar subidas de ficheros potencialmente peligrosas y que ficheros creados tal como exploit.php.jpg sean ejecutados como PHP. Utilizando este ejemplo, se puede hacer que cualquier extensión o extensiones sean procesadas como PHP simplemente añadiéndolas. Se agregará .php para demostrarlo.

    <FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

    O, si se deseara permitir que ficheros .php, .php2, .php3, .php4, .php5, .php6, y .phtml fuesen ejecutados como PHP, pero nada más, se utilizaría esto:

    <FilesMatch "\.ph(p[2-6]?|tml)$">
    SetHandler application/x-httpd-php
</FilesMatch>

    Y para permitir que ficheros .phps sean manejados por el filtro de fuentes de php, y desplegado como código fuente con sintaxis resaltada, se utiliza esto:

    <FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>

    mod_rewrite puede ser utilizado para permitir que cualquier fichero .php arbitrario sea desplegado como código fuente con sintaxis resaltada, sin tener que renombrarlo o copiarlo a un fichero .phps:

    RewriteEngine On
RewriteRule (.*\.php)s$ $1 [H=application/x-httpd-php-source]

    El filtro de código fuente php no debe habilitarse en sistemas de producción, donde podría exponer información confidencial o de alguna otra manera sensible incluida en código fuente.

  9. Utilícese el procedimiento normal para iniciar el servidor Apache, por ej.:

    /usr/local/apache2/bin/apachectl start

    O

    service httpd restart

Siguiendo los pasos anteriores se tendrá corriendo un servidor web Apache2 con soporte para PHP como un módulo SAPI. Por supuesto existen muchas opciones más de configuración disponibles para Apache y PHP. Para más información teclee ./configure --help en el árbol de fuentes correspondiente.

Apache se puede compilar con soporte multihilos seleccionando el worker MPM, en vez del prefork MPM standard, cuando Apache se compila. Esto se realiza agregando la siguiente opción al argumento pasado a ./configure, en el paso 3 anterior:

--with-mpm=worker

Esto no debe llevarse a cabo sin ser consciente de las consecuencias de esta decisión, y tener al menos un ligero entendimiento acerca de las implicaciones. La documentación de Apache al respecto de » MPM-Modules discute los MPM en forma mucho más detallada.

Nota:

Las Preguntas frecuentes de Apache MultiViews discute acerca del uso de multiviews con PHP.

Nota:

Para compilar una versión multihilo de Apache, el sistema destino debe soportar hilos. En este caso, PHP también debe compilarse con la opción Zend Thread Safety (ZTS) experimental. Bajo esta configuración, no todas las extensiones se encontrarán disponibles. La configuración recomendada es compilar Apache con el MPM-module prefork por omisión.

Apache 1.3.x sobre sistemas Unix
Lighttpd 1.4 en sistemas Unix
Instalación sobre sistemas Unix


Lighttpd 1.4 en sistemas Unix

Esta sección contiene anotaciones y consejos específicos para la instalación de PHP en Lighttpd 1.4 para sistemas Unix.

Por favor, antes de continuar consulte el » sistema de seguimiento de Lighttpd para saber cómo instalar Lighttpd apropiadamente.

La SAPI recomendada para conectar PHP a Lighttpd es Fastcig. Esta SAPI viene habilitada por omisión en php-cgi PHP 5.3. En versiones anteriores debe configurarse PHP con --enable-fastcgi. Para verificar que PHP tiene fastcgi habilitado, php -v debe contener PHP 5.2.5 (cgi-fcgi) En versiones anteriores a PHP 5.2.3, fastcgi estaba habilitado en el binario de php (no había php-cgi).

Permitiendo que Lighttpd lance procesos de php

Para configurar Lighttpd para que se conecte a php y lance procesos fastcgi, debe editar lighttpd.conf. Se recomienda utilizar sockets para conectar fastcgi a los procesos del sistema local.

Ejemplo #1 Extracto de lighttpd.conf

server.modules += ( "mod_fastcgi" )

fastcgi.server = ( ".php" =>
  ((
    "socket" => "/tmp/php.socket",
    "bin-path" => "/usr/local/bin/php-cgi",
    "bin-environment" => (
      "PHP_FCGI_CHILDREN" => "16",
      "PHP_FCGI_MAX_REQUESTS" => "10000"
    ),
    "min-procs" => 1,
    "max-procs" => 1,
    "idle-timeout" => 20
  ))
)

La directiva bin-path permite a lighttpd lanzar procesos fastcgi dinámicamente. PHP creará nuevos procesos hijos según se especifique en la variable de entorno PHP_FCGI_CHILDREN. La directiva "bin-environment" establece el entorno de los nuevos procesos. Cada vez que se alcance un determinado número de peticiones, determinado por PHP_FCGI_MAX_REQUEST, se matará un proceso. Las directivas "min-procs" y "max-procs" deben, por norma general, evitarse con PHP. PHP gestiona sus propios hijos, de forma que cachés como APC sólo estarán disponibles para los procesos gestionados por PHP. Si se establece "min-procs" a un número superior a 1, el número total de procesos oyentes en php se multiplicará por PHP_FCGI_CHILDREN (2 min-procs * 16 hijos produce 32 oyentes).

Lanzando procesos con spawn-fcgi

Lighttpd contiene el programa spawn-fcgi que facilita lanzar procesos fastcgi.

Lanzando procesos php-cgi

Pese a que es más laborioso, es posible lanzar procesos sin spawn-fcgi. La variable de entorno PHP_FCGI_CHILDREN controla cuántos procesos hijo de PHP se lanzarán para manejar las peticiones entrantes. PHP_FCGI_MAX_REQUESTS determinará el tiempo de vida (en peticiones) de cada proceso hijo. Aquí se muestra un script en bash que asiste en la creación de procesos php.

Ejemplo #2 Lanzando oyentes FastCGI

#!/bin/sh

# Ubicación del binario php-cgi
PHP=/usr/local/bin/php-cgi

# Ubicación del fichero PID
PHP_PID=/tmp/php.pid

# Enlazando a una dirección
#FCGI_BIND_ADDRESS=10.0.1.1:10000
# Enlazando a un socket de dominio
FCGI_BIND_ADDRESS=/tmp/php.sock

PHP_FCGI_CHILDREN=16
PHP_FCGI_MAX_REQUESTS=10000

env -i PHP_FCGI_CHILDREN=$PHP_FCGI_CHILDREN \
       PHP_FCGI_MAX_REQUESTS=$PHP_FCGI_MAX_REQUESTS \
       $PHP -b $FCGI_BIND_ADDRESS &

echo $! > "$PHP_PID"

Conexión a instancias FCGI remotas

Para poder tener aplicaciones escalables, pueden lanzarse instancias de fastcgi en múltiples equipos remotos.

Ejemplo #3 Conexión a instancias de php-fastcgi remotas

fastcgi.server = ( ".php" =>
   (( "host" => "10.0.0.2", "port" => 1030 ),
    ( "host" => "10.0.0.3", "port" => 1030 ))
)
Apache 2.x sobre sistemas Unix
Servidores Sun, iPlanet y Netscape sobre Sun Solaris
Instalación sobre sistemas Unix


Servidores Sun, iPlanet y Netscape sobre Sun Solaris

Esta sección contiene notas y consejos específicos al servidor web Sun Java System, servidor web Sun ONE, instalaciones de servidores iPlanet y Netscape de PHP sobre Sun Solaris.

A partir de PHP 4.3.3 en adelante se pueden utilizar scripts PHP con el módulo NSAPI para generar listados de directorio y páginas de errores personalizados. Funciones adicionales para compatibilidad con Apache también se encuentran disponibles. Para soporte en servidores web actuales, léase la nota sobre subpeticiones.

Se puede encontrar más información acerca de configurar PHP para Netscape Enterprise Server (NES) aquí: » http://benoit.noss.free.fr/php/install-php4.html

Para construir PHP con los servidores web Sun JSWS/Sun ONE WS/iPlanet/Netscape, introduzca el directorio de instalación apropiado para la opción --with-nsapi=[DIR]. El directorio por omisión es comúnmente /opt/netscape/suitespot/. Por favor también léase /php-xxx-version/sapi/nsapi/nsapi-readme.txt.

  1. Instalar los siguientes paquetes de » http://www.sunfreeware.com/ o algún otro sitio de descargas:

    • autoconf-2.13
    • automake-1.4
    • bison-1_25-sol26-sparc-local
    • flex-2_5_4a-sol26-sparc-local
    • gcc-2_95_2-sol26-sparc-local
    • gzip-1.2.4-sol26-sparc-local
    • m4-1_4-sol26-sparc-local
    • make-3_76_1-sol26-sparc-local
    • mysql-3.23.24-beta (si se desea soporte para mysql)
    • perl-5_005_03-sol26-sparc-local
    • tar-1.13 (GNU tar)

  2. Asegurar que la ruta de acceso incluye los directorios apropiados PATH=.:/usr/local/bin:/usr/sbin:/usr/bin:/usr/ccs/bin y hacer que esté disponible al sistema export PATH.
  3. gunzip php-x.x.x.tar.gz (si se tiene una distribución .gz, de lo contrario ir a 4).
  4. tar xvf php-x.x.x.tar
  5. Cambiarse al directorio de PHP ya extraído: cd ../php-x.x.x

  6. Para el siguiente paso, asegurar que /opt/netscape/suitespot/ sea donde el servidor netscape está instalado. De no ser así, cambiar a la ruta de acceso correcta y ejecutar:

    ./configure --with-mysql=/usr/local/mysql \
--with-nsapi=/opt/netscape/suitespot/ \
--enable-libgcc

  7. Ejecutar make seguido por make install.

Después de realizar la instalación base y de leer el fichero readme apropiado, es posible que sea necesario realizar algunos pasos adicionales de configuración.

Instrucciones de configuración para Sun/iPlanet/Netscape

Primeramente quizás sea necesario agregar algunas rutas de acceso al entorno LD_LIBRARY_PATH para que el servidor encuentre todas las librerías compartidas. Esto puede hacerse de mejor manera en el script de arranque del servidor web. El script de arranque se encuentra comúnmente localizado en: /ruta/al/servidor/https-servername/start. Quizás también sea necesario editar los ficheros de configuración que están ubicados en: /ruta/al/servidor/https-servername/config/.

  1. Agregar la siguiente línea a mime.types (se puede hacer esto por medio del servidor de administración):

    type=magnus-internal/x-httpd-php exts=php

  2. Editar magnus.conf (para servidores >= 6) u obj.conf (para servidores < 6) y agregar lo siguiente, shlib variará dependiendo del sistema, será algo así como /opt/netscape/suitespot/bin/libphp4.so. Se deben colocar las siguientes líneas después de mime types init.

    Init fn="load-modules" funcs="php4_init,php4_execute,php4_auth_trans" shlib="/opt/netscape/suitespot/bin/libphp4.so"
Init fn="php4_init" LateInit="yes" errorString="Failed to initialize PHP!" [php_ini="/path/to/php.ini"]
    (PHP >= 4.3.3) El parámetro php_ini es opcional pero con él se puede colocar php.ini en el directorio de configuración del servidor web.

  3. Configurar el objeto por omisión en obj.conf (para clases de servidor virtual [versión 6.0+] en su vserver.obj.conf):

    <Object name="default">
.
.
.
.#NOTA esta siguiente línea debería ocurrir después de todos las líneas 'ObjectType' y antes de todas las líneas 'AddLog'
Service fn="php4_execute" type="magnus-internal/x-httpd-php" [inikey=value inikey=value ...]
.
.
</Object>
    (PHP >= 4.3.3) Como parámetros adicionales se pueden agregar algunos valores especiales de php.ini, por ejemplo se puede fijar una docroot="/ruta/a/raíz_de_documentos" específica al contexto php4_execute es llamado. Para llaves ini boleanas favor de utilizar 0/1 como valor, no "On","Off",... (esto no funcionará correctamente), por ejemplo. zlib.output_compression=1 en vez de zlib.output_compression="On"

  4. Esto es sólo necesario si se quiere configurar un directorio que solamente consiste de scripts de PHP (igual que un directorio cgi-bin):

    <Object name="x-httpd-php">
ObjectType fn="force-type" type="magnus-internal/x-httpd-php"
Service fn=php4_execute [inikey=value inikey=value ...]
</Object>
    Después de configurar un directorio en el servidor de administración y asignarle el estilo x-httpd-php. Todos los ficheros en éste se ejecutarán como PHP. Esto está bien para esconder el uso de PHP renombrando los ficheros a .html.

  5. Configuración de la autenticación: La autenticación PHP no puede ser utilizada con ninguna otra autenticación. TODA AUTENTICACION LE ES PASADA AL SCRIPT DE PHP. Para configurar la autenticación de PHP para el servidor entero, agregar la línea siguiente al objeto por omisión:

    <Object name="default">
AuthTrans fn=php4_auth_trans
.
.
.
</Object>

  6. Para utilizar autenticación de PHP en sólo un directorio, agregar lo siguiente:

    <Object ppath="d:\ruta\al\directorio\auntenticado\*">
AuthTrans fn=php4_auth_trans
</Object>

Nota:

El tamaño de la pila que utiliza PHP depende de la configuración del servidor web. Si se tienen fallas generales con scripts de PHP muy grandes, se recomienda elevarlo con el servidor de administración (en la sección "MAGNUS EDITOR").

Ambiente CGI y modificaciones recomendadas en php.ini

Importante cuando se escriben scripts de PHP, es el hecho de que Sun JSWS/Sun ONE WS/iPlanet/Netscape es un servidor web multihilos. Por ello todas las peticiones se corren en el mismo espacio de proceso (el espacio del servidor web mismo) y este espacio tiene solamente un ambiente. Si se quiere tener variables CGI como PATH_INFO, HTTP_HOST etc. la manera correcta no es intentar esto al viejo estilo de PHP con getenv() o una manera similar (registrar globales al ambiente, $_ENV). Solamente se obtendrá el ambiente del servidor web que se está ejecutando. ¡Sin ninguna variable CGI válida!

Nota:

¿Por qué hay variables CGI (inválidas) en el ambiente?

Respuesta: Esto es por que se inició el proceso del servidor web desde el servidor de administración que ejecuta el script de arranque del servidor web, que se quería iniciar, como un script de CGI (¡Un script de CGI dentro del servidor de administración!). Esto es el porque el ambiente de el servidor web iniciado tiene algunas variables de CGI en él. Se puede probar esto iniciando el servidor web, no desde el servidor de administración. Utilizar la línea de comando como usuario root e iniciarlo manualmente - se verá que no hay variables de ambiente a la CGI.

Simplemente cámbiense los scripts para obtener las variables CGI de la manera correcta para PHP 4.x utilizando la superglobal $_SERVER. Si se tienen scripts más antiguos que usan $HTTP_HOST, etc., se debe activar register_globals en php.ini y cambiar el orden de las variables también (importante: quitar "E" de ésta, porque no se necesita el entorno aquí):

variables_order = "GPCS"
register_globals = On

Uso especial para páginas de error o listados personalizados de directorios (PHP >= 4.3.3)

Se puede utilizar PHP para generar páginas de errores para "404 Not Found" o similares. Agregar la siguiente línea al objeto en obj.conf por cada página de error que se quiera sobreescribir:

Error fn="php4_execute" code=XXX script="/path/to/script.php" [inikey=value inikey=value...]
donde XXX es el código de error HTTP. Favor de borrar cualquier otra directiva Error que pudiese interferir con la propia. Si se desea colocar una página para todos los errores que puedan existir, dejar fuera el parámetro code. El script puede obtener el código de estado HTTP con $_SERVER['ERROR_TYPE'].

Otra posibilidad es generar listados de directorio personalizados. Solamente creando un script PHP que despliegue un listado de directorio y reemplazando la línea por omisión correspondiente Service por type="magnus-internal/directory" en obj.conf con lo siguiente:

Service fn="php4_execute" type="magnus-internal/directory" script="/path/to/script.php" [inikey=value inikey=value...]
Para ambas páginas, de error y listados de directorio la URI original y la URI traducida están en las variables $_SERVER['PATH_INFO'] y $_SERVER['PATH_TRANSLATED'].

Nota acerca de nsapi_virtual() y subpeticiones (PHP >= 4.3.3)

El módulo NSAPI ahora soporta la función nsapi_virtual() (alias: virtual()) para realizar subpeticiones en el servidor web e insertar el resultado en la página web. Esta función utiliza algunas características no documentadas de la librería NSAPI. En Unix el módulo automáticamente busca las funciones necesarias y las utiliza si están disponibles. Si no, se deshabilita nsapi_virtual().

Nota:

Pero se advierte: El soporte para nsapi_virtual() es ¡¡¡EXPERIMENTAL!!!

Lighttpd 1.4 en sistemas Unix
CGI y configuraciones de línea de comandos
Instalación sobre sistemas Unix


CGI y configuraciones de línea de comandos

Por defecto, PHP se construye como un programa CLI y CGI, que puede ser utilizado para el procesamiento de CGI. Si está ejecutando un servidor web PHP tiene soporte para los módulos, por lo general debe irse por esta solución por razones de rendimiento. Sin embargo, la versión CGI permite a los usuarios ejecutar diferentes páginas con PHP bajo diferentes identificadores de usuarios.

Advertencia

Al usar el modo CGI, su servidor esta expuesto a diferentes ataques. Por favor, leer la sección Seguridad con CGI para aprender como defenderse de estos ataques.

Pruebas

Si has construido PHP como un programa CGI, puede probar su construcción escribiendo make test. Siempre es una buena idea probar su construcción. De esta manera usted puede encontrar un problema al principio con PHP en la plataforma, en lugar de tener que luchar con él más adelante.

Utilización de variables

Algunos servidores suministrando variables de entorno no se definen en las actuales » CGI/1.1 specification. Sólo las siguientes variables no se definen: AUTH_TYPE, CONTENT_LENGTH, CONTENT_TYPE, GATEWAY_INTERFACE, PATH_INFO, PATH_TRANSLATED, QUERY_STRING, REMOTE_ADDR, REMOTE_HOST, REMOTE_IDENT, REMOTE_USER, REQUEST_METHOD, SCRIPT_NAME, SERVER_NAME, SERVER_PORT, SERVER_PROTOCOL, and SERVER_SOFTWARE. Todo lo demás debe ser tratado como "extensiones de proveedor".

Servidores Sun, iPlanet y Netscape sobre Sun Solaris
Notas de instalación específicas para HP-UX
Instalación sobre sistemas Unix


Notas de instalación específicas para HP-UX

Esta sección contiene notas y consejos específicos para instalar PHP sobre sistemas HP-UX.

Existen dos opciones principales para instalar PHP sobre sistemas HP-UX. Ya sea compilarlo, o instalar un binario precompilado.

Los paquetes oficiales precompilados se localizan aquí: » http://software.hp.com/

Hasta que esta sección del manual sea reescrita, la documentación acerca de compilar PHP (y las extensiones relacionadas) sobre sistemas HP-UX ha sido removida. Por ahora, favor de considerar la lectura de los siguientes recursos externos: » Building Apache and PHP on HP-UX 11.11

CGI y configuraciones de línea de comandos
Notas de instalación para OpenBSD
Instalación sobre sistemas Unix


Notas de instalación para OpenBSD

Esta sección contiene notas y consejos específicos a la instalación de PHP sobre » OpenBSD 3.6.

Utilizando paquetes binarios

Utilizar paquetes binarios para instalar PHP sobre OpenBSD es el método más simple y recomendado. El paquete principal ha sido separado de los distintos módulos, y cada uno puede ser instalado removido independientemente de los otros. Los ficheros que se necesitan pueden ser encontrados en el CD de OpenBSD o en el sitio FTP.

El paquete principal que se necesita instalar es php4-core-4.3.8.tgz, que contiene el motor básico (además de gettext e iconv). Seguido, tómese un vistazo a los paquetes de módulos, tales como php4-mysql-4.3.8.tgz o php4-imap-4.3.8.tgz. Se necesita emplear el comando phpxs para activar y desactivar estos módulos en el fichero php.ini.

Ejemplo #1 Ejemplo de instalación de paquete de OpenBSD

# pkg_add php4-core-4.3.8.tgz
# /usr/local/sbin/phpxs -s
# cp /usr/local/share/doc/php4/php.ini-recommended /var/www/conf/php.ini
  (agregar mysql)
# pkg_add php4-mysql-4.3.8.tgz
# /usr/local/sbin/phpxs -a mysql
  (agregar imap)
# pkg_add php4-imap-4.3.8.tgz
# /usr/local/sbin/phpxs -a imap
  (quitar mysql a manera de prueba)
# pkg_delete php4-mysql-4.3.8
# /usr/local/sbin/phpxs -r mysql
  (instalar las librerías de PEAR)
# pkg_add php4-pear-4.3.8.tgz

Leer la página del manual » packages(7) para mas información sobre paquetes binarios en OpenBSD.

Utilizando portes

También se puede compilar PHP a partir de fuentes utilizando el » árbol de portes. Sin embargo, esto sólo se recomienda para usuarios familiarizados con OpenBSD. El porte de PHP 4 está dividido en dos subdirectorios: core y extensions. El directorio extensions genera subpaquetes para todos los módulos soportados de PHP. Si se encuentra que no se desea crear alguno de estos módulos, utilice el sabor o FLAVOR no_*. Por ejemplo, para evitar compilar el módulo imap, fijar el sabor o FLAVOR a no_imap.

Problemas comunes

  • La instalación por omisión de Apache se ejecuta dentro de una » jaula chroot(2), que habrá de restringir a los script PHP el acceso a ficheros debajo de /var/www. Por lo tanto se requiere crear un directorio /var/www/tmp para que los ficheros de sesión de PHP sean almacenados, o utilizar un medio alternativo de almacenamiento de sesiones. Además, los sockets de base de datos necesitan colocarse dentro de la jaula o escuchar en la interfaz de localhost. Se se hace uso de funciones de red, algunos ficheros de /etc tales como /etc/resolv.conf y /etc/services tendrán que ser movidos a /var/www/etc. El paquete PEAR de OpenBSD automáticamente se instala dentro de los directorios correctos del chroot, así que no hace falta ninguna modificación especial ahí. Más información sobre el Apache de OpenBSD está disponible en las » preguntas frecuentes OpenBSD.
  • El paquete de OpenBSD 3.6 para la extensión » gd requiere que XFree86 sea instalado. Si no se desea utilizar algunas de las características de fuentes tipográficas que requieren de X11, es mejor instalar el paquete php4-gd-4.3.8-no_x11.tgz.

Ediciones antiguas

Ediciones antiguas de OpenBSD utilizaban el sistema FLAVORS para compilar un PHP enlazado estáticamente. Dado que es difícil generar paquetes binarios utilizando este método, ahora es depreciado. Aún es posible utilizar los viejos árboles estables de ports si así se desea, pero carecen de soporte por parte del equipo de OpenBSD. Si se tiene algún comentario al respecto, el responsable actual del port es Anil Madhavapeddy (avsm arroba openbsd punto org).

Notas de instalación específicas para HP-UX
Solaris sugerencias específicas de instalación
Instalación sobre sistemas Unix


Solaris sugerencias específicas de instalación

Esta sección contiene notas y sugerencias específicas para la instalación de PHP en sistemas Solaris.

Software necesario

La instalacion Solaris carece con frecuencia de los compiladores de C y sus herramientas relacionadas. Lea las preguntas frecuentes para obtener información sobre porqué usar versiones GNU de algunas de estas herramientas.

Para descomprimir la distribución PHP se necesita

  • tar
  • gzip ó
  • bzip2

Para compilar PHP se necesita

  • gcc (recomendado, aunque puede que sirvan otros compiladores de C)
  • make
  • GNU sed

Para compilar extensiones adicionales o hackear el código PHP puede que se necesite también

  • flex (versión PHP 5.2 o posterior)
  • re2c
  • bison
  • m4
  • autoconf
  • automake
Además, usted tendrá que instalar (y posiblemente compilar) cualquier software adicional específico para la configuración, tales como Oracle o MySQL.

Empleo de paquetes

Se puede simplificar el procesao de intalación de Solaris mediante el uso de pkgadd para instalar la mayoría de sus componentes necesarios. El Sistema de Empaquetado de Imagen (IPS) para Solaris 11 Express contiene también la mayoría de los componentes requeridos para la instalación usando el comando pkg.

Notas de instalación para OpenBSD
Notas de instalación en Debian GNU/Linux
Instalación sobre sistemas Unix


Notas de instalación en Debian GNU/Linux

Esta sección contiene notas y consejos específicos para instalar PHP sobre » Debian GNU/Linux.

Advertencia

No se ofrece soporte de builds no oficiales de terceros. Cualquier bug debe ser informado al equipo de Debian a no ser que puedan reproducirse usando los últimos builds de nuestra » zona de descargas.

Mientras que las instrucciones para construir PHP sobre Unix se aplican a Debian también, esta página del manual contiene información específica para otras opciones, tales como utilizar ya sea los comandos apt-get o aptitude. En esta página del manual estos dos comandos se pueden utilizar indistintamente.

Utilizando APT

Primero, nótese que otros paquetes relacionados podrían ser deseables como libapache2-mod-php5 para integración con Apache 2, y php-pear para PEAR.

Segundo, antes de instalar un paquete, es sensato asegurarse de que la lista de paquetes está al día. Típicamente, esto se realiza ejecutando el comando apt-get update.

Ejemplo #1 Ejemplo de Instalación en Debian con Apache 2

# apt-get install php5-common libapache2-mod-php5 php5-cli

APT instalará automáticamente el módulo PHP 5 para Apache 2 junto con todas sus dependencias, y luego lo activará. Apache debería reiniciarse para que los cambios tengan efecto. Por ejemplo:

Ejemplo #2 Deteniendo e iniciando Apache una vez que PHP está instalado

# /etc/init.d/apache2 stop
# /etc/init.d/apache2 start

Un mejor control de la configuración

En la sección anterior, PHP se instaló únicamente con los módulos principales. Es muy probable que se deseen módulos adicionales, tales como MySQL, cURL, GD, etc. Estos también pueden ser instalados vía el comando apt-get.

Ejemplo #3 Métodos para listar paquetes relacionados con PHP 5

# apt-cache search php5
# aptitude search php5
# aptitude search php5 |grep -i mysql

Los ejemplos mostrarán una gran cantidad de paquetes incluyendo varios específicos a PHP como php5-cgi, php5-cli y php5-dev. Determine cuales son necesarios e instálelos como cualquier otro ya sea con apt-get o aptitude. Y ya que Debian realiza revisión de dependencias, preguntará por ellos, así que por ejemplo para instalar MySQL y cURL:

Ejemplo #4 Instalar PHP con MySQL, cURL

# apt-get install php5-mysql php5-curl

APT agregará automáticamente las líneas apropiadas a los diferentes ficheros relacionados con php.ini como /etc/php5/apache2/php.ini, /etc/php5/conf.d/pdo.ini, etc. y dependiendo de la extensión, le agregará registros similares a extension=foo.so. De cualquier manera, reiniciar el servidor web (como es Apache) es requerido antes de que estos cambios tengan efecto.

Problemas Frecuentes

  • Si los scripts de PHP no se están interpretando por el servidor web, entonces es probable que PHP no haya sido agregado al fichero de configuración del servidor web, que en Debian puede ser /etc/apache2/apache2.conf o algo semejante. Véase el manual de Debian para mayores detalles.
  • Si una extensión fue aparentemente instalada y aún así las funciones no aparecen definidas, asegurar de que el fichero ini apropiado está siendo cargado y/o que el servidor web fue reiniciado después de la instalación.
  • Hay dos comandos básicos para instalar paquetes en Debian (y otras variantes de linux): apt-get y aptitude. Pero, explicar las sutiles diferencias entre estos comandos va más allá del alcance de este manual.
Solaris sugerencias específicas de instalación
Instalación en Mac OS X
Instalación sobre sistemas Unix


Instalación en Mac OS X

Tabla de contenidos

  • Empleo de paquetes
  • Usando el paquete PHP
  • Compilar PHP en Mac OS X

Esta sección contiene notas y sugerencias específicas para la instalación de PHP en Mac OS X. PHP se incluye con Mac, y la compilación es similar a la guía de instalación Unix .

Notas de instalación en Debian GNU/Linux
Empleo de paquetes
Instalación y configuración


Empleo de paquetes

Hay algunas versiones pre-empaquetados y pre-compilados de PHP para Mac OS X. Esto puede ayudar en la creación de una configuración estándar, pero si usted necesita tener un conjunto diferente de características (como un servidor seguro, o un controlador de base de datos diferente), es posible que necesite construir PHP y/o un servidor web. Si no está familiarizado con la construcción y compilación de el software, vale la pena revisar si alguien ya ha construido una versión de PHP con las características que necesita.

Los siguientes recursos ofrecen paquetes facil de instalar y binarios precompilados para PHP en Mac OS:

  • MacPorts: » http://www.macports.org/
  • Entropy: » http://www.entropy.ch/software/macosx/php/
  • Fink: » http://www.finkproject.org/
  • Homebrew: » http://github.com/mxcl/homebrew

Instalación en Mac OS X
Usando el paquete PHP
Instalación en Mac OS X


Usando el paquete PHP

PHP está incluido en los Macs desde la versión OS X 10.0.0. Habilitar PHP con el servidor web por defecto requiere descomentar unas cuantas líneas en el fichero de configuración de Apache httpd.conf donde CGI y/o CLI están activados por defecto (son fácilmente accesibles a través del programa Terminal).

Siguiendo las instrucciones que se ofrecen a continuación se podrá habilitar PHP de una forma rápida para un entorno de desarrollo local. Es muy recomendable tener siempre actualizado PHP a la última versión. Como casi todo el software vivo, y PHP no es una excepción, se crean nuevas versiones para resolver errores y añadir nuevas funcionalidades. Consulte la documentación de instalación de Mac OS X adecuada para más detalles. Las siguientes instrucciones para obtener una configuración están orientadas a los principiantes que deseen obtener una configuración totalmente operativa. Se anima a todos los usuarios a compilar o instalar una nueva versión ya empaquetada.

La instalación típica es mediante mod_php. Para habilitar el paquete mod_php que viene en el Mac OS X para el servidor web Apache (el servidor web por defecto, al que se puede acceder mediante las Preferencias del Sistema) se requiere efectuar los siguientes pasos:

  1. Localizar y abrir el archivo de configuración de Apache. Por defecto, la localización de dicho fichero es: /private/etc/apache2/httpd.conf Mediante el Finder o el Spotlight puede ser algo complicado encontrar dicho fichero ya que por defecto es privado y pertenece al usuario root.

    Nota: Una forma de abrir el fichero es usando un editor de texto basado en UNIX en el Terminal, como por ejemplo nano. Debido a que el fichero pertenece al usuario root se debe emplear el comando sudo para abrirlo (como si fueramos el usuario root). Por ejemplo, teclée lo siguiente en el Terminal (tras lo cual le preguntará por la contraseña): sudo nano /private/etc/apache2/httpd.conf Comandos de nano a tener en cuenta: ^w (buscar), ^o (guardar), and ^x (salir) donde ^ representa la tecla Ctrl.

    Nota: Las versiones de Mac OS X anteriores a 10.5 tienen incorporadas versiones antiguas de PHP y Apache. Por ello, es posible que el fichero de configuracion de Apache se encuentre en dichos equipos en /etc/httpd/httpd.conf.

  2. En el editor de texto, descomente las líneas (eliminando el símbolo #) que sean similares a las que se muestran a continuación (a menudo estas líneas se encuentran separadas, asi que tendrá que localizar ambas en el fichero):

    # LoadModule php5_module libexec/httpd/libphp5.so

# AddModule mod_php5.c
    Fíjese en la localización/ruta de acceso. Cuando compile PHP en el futuro, las lineas arriba indicadas deberán ser reemplazadas o comentadas.

  3. Asegúrese que las extensiones que desee puedan ser interpretadas como PHP (por ejemplo: .php .html y .inc)

    Como las siguientes sentencias ya existían en el httpd.conf (desde el Max Panther), una vez se habilite PHP los ficheros .php automáticamente seran interpretados como PHP.

    <IfModule mod_php5.c>
    # If php is turned on, we respect .php and .phps files.
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps

    # Since most users will want index.php to work we
    # also automatically enable index.php
    <IfModule mod_dir.c>
        DirectoryIndex index.html index.php
    </IfModule>
</IfModule>

    Nota:

    Con anterioridad a OS X 10.5 (Leopard) se empaquetaba PHP 4 en lugar de PHP 5, en cuyo caso las instrucciones anteriores pueden ser ligeramente diferentes cambiando los 5 por los 4.

  4. Asegúrese que DirectoryIndex carga el fichero por defecto index deseado Esto tambien se configura en httpd.conf. Normalmente se usan index.php y index.html. Por defecto index.php está habilitado porque está incluido en la comprobación de PHP mostrada arriba. Ajuste a conveniencia.
  5. Configure la localizacion de php.ini o use el valor por defecto. Por defecto se localiza en los Mac OS X en /usr/local/php/php.ini y empleando phpinfo() se puede obtener esta información. Si no se está usando php.ini, PHP usará los valores por defecto. Véase también las preguntas frecuentes relacionadas en finding php.ini.
  6. Localize o configure el DocumentRoot Éste es el directorio raíz de todos los ficheros web. Los ficheros en este directorio son obtenidos del servidor web a fin de que los ficheros PHP sean ejecutados como PHP antes de ser enviados al navegador. Una ruta de acceso típica es /Library/WebServer/Documents pero puede ser configurada en httpd.conf. Como alternativa, el DocumentRoot por defecto para usuarios individuales es /Users/yourusername/Sites
  7. Cree un fichero phpinfo()

    La función phpinfo() muestra información sobre PHP. Considere la creación de un fichero en el DocumentRoot que contenga el siguiente código PHP:

    <?php phpinfo(); ?>

  8. Reinicie Apache, y cargue el fichero PHP creado arriba

    Para reiniciar, ejecute sudo apachectl graceful en el shell o desactive/active la opción "Compartir Web" en las Preferencias del Sistema. Por defecto, cargar ficheros locales en el navegador tiene una URL parecida a: http://localhost/info.php. Usar DocumentRoot en el directorio del usuario es otra opción, y la URL sería parecida a: http://localhost/~yourusername/info.php

CLI (o CGI en versiones antiguas) también es llamado de forma correcta php y posiblemente existe como /usr/bin/php. Abra el Terminal, lea la sección de línea de comando del manual de PHP, y ejecute php -v para comprobar la versión de PHP del binario PHP. Una llamada a phpinfo() también le mostrará esta información.

Empleo de paquetes
Compilar PHP en Mac OS X
Instalación en Mac OS X


Compilar PHP en Mac OS X

Utilice la guía de instalación en Unix para compilar PHP en Mac OS X.

Usando el paquete PHP
Instalación en sistemas Windows
Instalación en Mac OS X


Instalación en sistemas Windows

Tabla de contenidos

  • Windows Installer (PHP 5.1.0 y anteriores)
  • Windows Installer (PHP 5.2 y posterior)
  • Manual de Instalación
  • Microsoft IIS
  • Microsoft IIS 5.1 y IIS 6.0
  • Microsoft IIS 7.0 y posteriores
  • Apache 1.3.x en Microsoft Windows
  • Apache 2.x en Microsoft Windows
  • Servidores Sun, iPlanet y Netscape en Microsoft Windows
  • Sambar Server en Microsoft Windows
  • Xitami en Microsoft Windows
  • Construcción de la fuente
  • Instalación de extensiones en Windows
  • Linea de Comandos PHP en Microsoft Windows

Esta sección se aplica a Windows 98/Me y Windows NT/2000/XP/2003. PHP no funciona en plataformas de 16 bits, como Windows 3.1 y, a veces nos referimos a las plataformas soportadas por Windows como Win32.

Nota:

Windows 98/Me/NT4 ya no se admite a partir de PHP 5.3.0.

Nota:

Windows 95 ya no se admite a partir de PHP 4.3.0.

Hay dos maneras principales de instalar PHP para Windows: de forma manual o mediante el instalador.

Si tiene un entorno de desarrollo como Microsoft Visual Studio, también puede construir PHP desde el código fuente original.

Una vez que haya instalado PHP en su sistema Windows, también puede querer cargar varias extensiones para mayor funcionalidad.

Advertencia

Hay varios instaladores todo-en-uno a través de Internet, pero ninguno de esos son avalados por la PHP.net, ya que creemos que usando uno de los paquetes oficiales de Windows de » http://www.php.net/downloads.php es la mejor opción para que el sistema este seguro y optimizado.

Compilar PHP en Mac OS X
Windows Installer (PHP 5.1.0 y anteriores)
Instalación y configuración


Windows Installer (PHP 5.1.0 y anteriores)

El instalador de Windows de PHP está disponible en la página de descargas en » http://www.php.net/downloads.php. Esta instala la CGI version de PHP y para IIS, PWS, y Xitami, se configura el servidor web también. El instalador no incluye ninguna extensión externas de PHP adicionales (php_*.dll) ya que sólo se encontrará los del paquetes de Windows Zip y descarga de PECL

Nota:

Si bien el instalador de Windows es una manera fácil de trabajar con PHP, es restringido en muchos aspectos como, por ejemplo, la configuración automática de extensiones no es soportada. El uso de la instalación no es un método preferido para la instalación de PHP.

En primer lugar, hay que instalar el servidor web seleccionado HTTP en el sistema, y asegurarse de que funcione.

Ejecute el ejecutable instalador y siga las instrucciones proporcionadas por el asistente de instalación. Dos tipos de instalación son soportadas - estándar, que proporciona los parámetros por defecto para todos las configuraciones que puede, y avanzado, que hace preguntas a medida que avanza.

El asistente de instalación recopila información suficiente para configurar el fichero php.ini y configurar ciertos servidores web para utilizar PHP. Uno de los servidores web que el programa de instalación de PHP no configura es Apache, por lo que tendrás que configurarlo manualmente.

Una vez que haya terminado la instalación, el instalador le informará si se es necesario reiniciar el sistema, reiniciar el servidor, o simplemente empezar a usar PHP.

Advertencia

Tenga en cuenta que esta configuración de PHP no es segura. Si a usted le gustaría tener una segura instalación de PHP, es mejor que vayas en el modo manual, y establecer todas las opciones con cuidado. Esta configuración automática disminuye el trabajo de instalación de PHP, pero no está destinado a ser usado en los servidores en línea.

Instalación en sistemas Windows
Windows Installer (PHP 5.2 y posterior)
Instalación en sistemas Windows


Windows Installer (PHP 5.2 y posterior)

Para crear el instalador de las últimas versiones de PHP en Windows se ha usado la tecnología MSI en conjunto con Wix Toolkit (» http://wix.sourceforge.net/). Esta aplicación se encarga de instalar y configurar tanto PHP, como las extensiones base y PECL. Además, también permite configurar muchos de los servidores web más extendidos, como IIS, Apache, o Xitami.

En primer lugar, se debe instalar el servidor HTTP (web) deseado, y asegurarse de que funciona. Una vez realizado, puede optarse por alguno de los siguientes métodos de instalación.

Instalación Normal

Ejecute el instalador MSI y siga las instrucciones que le indica el asistente de instalación. En primer lugar, se le solicitará que seleccione el Servidor Web que desea configurar, junto con algunos detalles de configuración adicionales.

Posteriormente, se le pedirá que indique qué funcionalidades y extensiones desea instalar y habilitar. Podrá indicar si desea instalar o no cada element seleccionando "Instalar en el disco local" ("Will be installed on local hard drive") en el menú desplegable que acompaña a cada uno de ellos. Al marcar "Instalar todas las funcionalidades en el disco local" ("Entire feature will be installed on local hard drive"), podrá instalar todas las subcategorías del elemento seleccionado (por ejemplo, al marcar esta opción en "PDO", se instalarán todos los Drivers PDO).

Advertencia

Se recomienda no instalar todas las extensiones de forma predeterminada, ya que muchas de ellas tienen dependencias con bibliotecas externas a PHP. En lugar de eso, utilize el Modo de Reparación de Instalación (Installation Repair Mode) desde el panel de control de "Agregar o quitar programas". Desde aquí podrá habilitar o deshabilitar a posteriori cualquier extensiones o componente.

Finalmente, el instalador inicializa tanto el fichero php.ini como al propio PHP para funcionar en Windows. También podrá configura algunos servidores web para que utilicen PHP. Actualmente es capaz de configurar IIS, Apache, Xitami y Sambar; si utiliza otro servidor web, deberá configurarlo a mano.

Instalación Silenciosa

El instalador también permite ser ejecutado en modo silencioso, muy útil para Administradores de Sistemas que desean implantar PHP fácilmente. Para usar el modo silencioso:

msiexec.exe /i php-VERSION-win32-install.msi /q

Puede especificar el directorio de instalación como parámetro al instalador. Por ejemplo, para instalarlo en e:\php:

msiexec.exe /i php-VERSION-win32-install.msi /q INSTALLDIR=e:\php
Puede usar la misma sintaxis para especificar el Directorio de Configuración de Apache (APACHEDIR), el directorio del Servidor Sambar (SAMBARDIR), o el directorio del Servidor Xitami (XITAMIDIR).

Puede, del mismo modo, especificar qué componentes instalar. Por ejemplo, para instalar la extensión mysqli y el ejecutable CGI:

msiexec.exe /i php-VERSION-win32-install.msi /q ADDLOCAL=cgi,ext_php_mysqli

La lista actual de componentes para instalar es la siguiente:

MainExecutable - ejecutable php.exe executable ( desde PHP 5.2.10/5.3.0 no está disponible; se incluye por omisión)
ScriptExecutable - ejecutable php-win.exe
ext_php_* - varias extensiones ( por ejemplo: ext_php_mysql para MySQL )
apache13 - módulo de Apache 1.3
apache20 - módulo de Apache 2.0
apache22 - módulo de Apache 2.2
apacheCGI - Ejecutable CGI de Apache
iis4ISAPI - módulo ISAPI de IIS
iis4CGI - ejecutable CGI de IIS
iis4FastCGI - ejecutable CGI de IIS
NSAPI - módulo de servidores Sun/iPlanet/Netscape
netserve - ejecutable CGI de Servidores Web NetServe
Xitami - ejecutable CGI de Xitami
Sambar - módulo ISAPI del Servidor Sambar
CGI - ejecutable php-cgi.exe
PEAR - instalador PEAR
Manual - manual de PHP en formato CHM

Si desea más información sobre instalaciones MSI desde la línea de comandos, consulte » http://msdn.microsoft.com/en-us/library/aa367988.aspx

Actualizando PHP con el instalador

Para actualizar, debe ejecutar el instalador indistintamente desde la línea de comandos o del entorno gráfico. El instalador comprobará sus opciones de instalación actuales, eliminará la instalación antigua, y reinstalará PHP con las mismas opciones que ya tenía. Se recomienda utilizar este método para mantener PHP actualizado, en lugar de sobrescribir a mano cada fichero del directorio de instalación.

Windows Installer (PHP 5.1.0 y anteriores)
Manual de Instalación
Instalación en sistemas Windows


Manual de Instalación

Esta sección contiene instrucciones para instalar y configurar manualmente PHP en Windows de Microsoft. Para las instrucciones sobre cómo utilizar el instalador de PHP para instalar y configurar PHP y un servidor web en Windows, consulte Windows Installer (PHP 5.2 y posteriores).

Selección y descarga de el paquete de distribución PHP

Descarga la distribución binaria de PHP zip » PHP para Windows: Binarios y Fuentes . Hay varias versiones diferentes del paquete zip - Seleccione por la versión que sea adecuado para el servidor web utilizado:

  • Si se utiliza PHP con IIS a continuación elija PHP 5.3 VC9 Non Thread Safe o PHP 5.2 VC6 Non Thread Safe;

  • Si PHP se utiliza con IIS7 o superior y PHP 5.3+, a continuación los archivos binarios VC9 de PHP que se deben utilizar.

  • Si se utiliza PHP con Apache 1 o Apache 2 a continuación elija PHP 5.3 VC6 o PHP 5.2 VC6.

Nota:

Versiones VC9 se compilan con el compilador de Visual Studio 2008 y tiene mejoras en el rendimiento y estabilidad. Las versiones VC9 requieren que tenga la » Microsoft 2008 C++ Runtime (x86) o la » Microsoft 2008 C++ Runtime (x64) instalado.

La estructura del paquete PHP y el contenido

Descomprimir el contenido del archivo zip en un directorio de su elección, por ejemplo C:\PHP\. La estructura de directorios y archivos extraídos de del zip se verá de la siguiente manera:

Ejemplo #1 PHP 5 paquete de estructura

c:\php
   |
   +--dev
   |  |
   |  |-php5ts.lib                 -- php5.lib in non thread safe version
   |
   +--ext                          -- extension DLLs for PHP
   |  |
   |  |-php_bz2.dll
   |  |
   |  |-php_cpdf.dll
   |  |
   |  |-...
   |
   +--extras                       -- empty
   |
   +--pear                         -- initial copy of PEAR
   |
   |
   |-go-pear.bat                   -- PEAR setup script
   |
   |-...
   |
   |-php-cgi.exe                   -- CGI executable
   |
   |-php-win.exe                   -- executes scripts without an opened command prompt
   |
   |-php.exe                       -- Command line PHP executable (CLI)
   |
   |-...
   |
   |-php.ini-development           -- default php.ini settings
   |
   |-php.ini-production            -- recommended php.ini settings
   |
   |-php5apache2_2.dll             -- does not exist in non thread safe version
   |
   |-php5apache2_2_filter.dll      -- does not exist in non thread safe version
   |
   |-...
   |
   |-php5ts.dll                    -- core PHP DLL ( php5.dll in non thread safe version)
   |
   |-...

A continuación se muestra la lista de los módulos y archivos ejecutables incluidos en la distribución del archivo zip de PHP:

  • go-pear.bat - el script de configuración de PEAR. Consulte » Instalación (PEAR) para más detalles.

  • php-cgi.exe - ejecutable CGI que se puede utilizar cuando se ejecuta PHP en IIS a través de CGI o FastCGI.

  • php-win.exe - el ejecutable para la ejecución de scripts en PHP sin necesidad de utilizar una ventana de línea de comandos de PHP (Por ejemplo, las aplicaciones PHP que utilizan Windows GUI).

  • php.exe - el ejecutable para la ejecución de scripts PHP dentro de una interfaz de línea de comandos (CLI) de PHP.

  • php5apache2_2.dll - Apache 2.2.X module.

  • php5apache2_2_filter.dll - Apache 2.2.X filter.

Cambio el fichero php.ini

Después de que el contenido del paquete de PHP se ha extraído, copie el php.ini-production en php.ini en la misma carpeta. Si es necesario, también es posible colocar el php.ini en cualquier otro lugar. Pero se requieren pasos adicionales de configuración como se describe en Configuración de PHP.

El fichero php.ini le dice a PHP cómo se configura, y cómo trabajar con el ambiente que se ejecuta. Aquí hay una serie de ajustes para el fichero php.ini PHP que ayudan a trabajar mejor con Windows. Algunos de estos son opcionales. Hay muchas otras directivas que puedan ser relevantes para su ambiente - dirijase lista de directivas php.ini para más información.

Las directivas:

  • extension_dir = <path to extension directory> - La extension_dir necesidades para indicar el directorio donde las extensiones de PHP se almacenan los ficheros. La ruta puede ser absoluta (i.e. "C:\PHP\ext") o (i.e. ".\ext"). Extensiones que se enumeran más baja en el php.ini ficheros que se encuentra en el extension_dir .

  • extension = xxxxx.dll - Para cada extensión que desee habilitar, necesita un correspondiente "extension=" directiva que le dice a PHP que las extensiones en el extension_dir para cargar en tiempo de inicio.

  • log_errors = On - PHP tiene un error de registro de instalación que se puede utilizar para enviar los errores a un fichero, o de un servicio (i.e. syslog) y trabaja en conjunto con el error_log Directiva a continuación. Cuando se ejecuta bajo IIS, la log_errors debe estar habilitado, con una validez error_log .

  • error_log = <path to the error log file> - El error_log tiene que especificar la ruta de acceso absoluta, o en relación con el archivo donde los errores de PHP debe estar registrado. Este archivo debe tener permisos de escritura para el servidor web. Los lugares más comunes para este archivo en varios directorios TEMP, por ejemplo "C:\inetpub\temp\php-errors.log".

  • cgi.force_redirect = 0 - La presente Directiva se requiere para ejecutar en IIS. Se trata de una protección de la instalación de la guía necesaria por muchos otros servidores web. Sin embargo, lo que permite que en IIS hacer que el motor de PHP a un error en Windows.

  • cgi.fix_pathinfo = 1 - Esto le permite acceder a PHP al real path después de la especificación CGI. IIS FastCGI implementa las necesidades de este conjunto.

  • fastcgi.impersonate = 1 - FastCGI bajo IIS admite la posibilidad de hacerse pasar por tokens de seguridad del cliente que llama. Esto permite que IIS defina el contexto de seguridad que solicita ejecutar.

  • fastcgi.logging = 0 - FastCGI debe estar deshabilitado en IIS. Si se deja habilitada, los mensajes de cualquier clase son tratados por FastCGI como las condiciones de error que hará que IIS genere una excepción HTTP 500.

Directivas opcionales

  • max_execution_time = ## - Esta directiva le dice a PHP, el importe máximo de tiempo que puede ejecutar cualquier script determinado. El defecto es 30 segundos. Aumentar el valor de esta directiva, si la aplicación PHP tomar mucho tiempo para ejecutarse.

  • memory_limit = ###M - La cantidad de memoria disponible para el proceso de PHP, en Megabytes. El valor por defecto es 128, lo cual está bien para la mayoría de las aplicaciones PHP. Algunos de los más complejos puede ser que necesite más.

  • display_errors = Off - Esta directiva le dice a PHP si se incluyen los mensajes de error en el corriente que devuelve al servidor web. Si se establece en "On", entonces PHP enviará lo que las clases de errores que se define con la error_reporting directiva de nuevo al servidor web como parte de la secuencia de error. Por razones de seguridad, se recomienda "Off" en los servidores de producción con el fin de no revelar ninguna información sensible de la seguridad que a menudo se incluyen en los mensajes de error.

  • open_basedir = <paths a directorios, separados por semicolon>, por ejemplo, openbasedir="C:\inetpub\wwwroot;C:\inetpub\temp". Esta directiva especifica las rutas de directorio en donde PHP se le permite realizar las operaciones del sistema de archivos. Cualquier operación de fichero fuera de las rutas especificadas se producirá un error. Esta directiva es especialmente útil para bloquear la instalación de PHP en entornos de alojamiento compartido para evitar que scripts PHP de acceso a los archivos fuera del directorio raíz del sitio web.

  • upload_max_filesize = ###M and post_max_size = ###M - El tamaño máximo permitido de un archivo subido y los datos posteriores, respectivamente. Los valores de estas directivas serán aumenta si las aplicaciones PHP necesita realizar grandes cargas, como por ejemplo fotos o archivos de vídeo.

PHP esta ahora configurado en el sistema. El siguiente paso es elegir un servidor web, a fin de que pueda ejecutar PHP. Elegir un servidor web de la tabla de contenido.

Además de ejecutar PHP a través de un servidor web, PHP puede ejecutar desde la línea de comandos como un script .BAT. Ver PHP línea de comandos de Microsoft Windows para más detalles.

Windows Installer (PHP 5.2 y posterior)
Microsoft IIS
Instalación en sistemas Windows


Microsoft IIS

Esta sección contiene instrucciones específicas de la instalación de PHP en Microsoft Internet Information Services (IIS).

  • Instalación manual de PHP en Microsoft IIS 5.1 y IIS 6.0
  • Instalación manual de PHP en Microsoft IIS 7.0 y posteriores
Manual de Instalación
Microsoft IIS 5.1 y IIS 6.0
Instalación en sistemas Windows


Microsoft IIS 5.1 y IIS 6.0

Esta sección contiene instrucciones para configurar en forma manual Internet Information Services (IIS) 5.1 y IIS 6.0 para trabajar con PHP en Microsoft Windows XP y Windows Server 2003. Para obtener instrucciones sobre la configuración de IIS 7.0 y versiones posteriores de Windows Vista , Windows Server 2008, Windows 7 y Windows Server 2008 R2 referirse a Microsoft IIS 7.0 y posteriores.

Configurar IIS para procesar solicitudes de PHP

Descarga e instala PHP de acuerdo a las instrucciones descritas en manual detallado de instalación

Nota:

Non-thread-safe build de PHP se recomienda cuando se utiliza IIS. Non-thread-safe builds están disponibles en » PHP para Windows: Binarios y Fuentes.

Configure el CGI- y configure FastCGI-specific en el archivo php.ini como se muestra a continuación:

Ejemplo #1 Configuración CGI y FastCGI en php.ini

fastcgi.impersonate = 1
fastcgi.logging = 0
cgi.fix_pathinfo=1
cgi.force_redirect = 0

Descargue e instale » Microsoft FastCGI extensión para IIS 5.1 y 6.0. La extensión está disponible para 32-bit y plataformas de 64-bit - seleccionar el paquete de descarga adecuada para la plataforma.

Configure la extensión FastCGI para manejar las solicitudes específicas de PHP ejecutando el comando que se muestra a continuación. Vuelva a colocar el valor de el parámetro "-path" con la ruta absoluta del fichero en el fichero php-cgi.exe.

Ejemplo #2 Configuración de la extensión FastCGI para manejar las solicitudes de PHP

cscript %windir%\system32\inetsrv\fcgiconfig.js -add -section:"PHP" ^
-extension:php -path:"C:\PHP\php-cgi.exe"

Este comando creará un script de mapeo IIS para el fichero de extensión *.php , lo que resultará en todas las URLs que terminan con .php siendo manejado por la extensión FastCGI. Asimismo, se configurará la extensión FastCGI a usar en el ejecutable php-cgi.exe para procesar las solicitudes de PHP.

Nota:

En este punto la necesidad de instalación y configuración de los pasos se han completado. El resto de instrucciones a continuación son opcionales, pero altamente recomendable para lograr una funcionalidad óptima y el rendimiento de PHP en IIS.

Suplantación y acceso a ficheros del sistema

Se recomienda habilitar la suplantación FastCGI en PHP cuando este utilizando IIS. Esto es controlado por la directiva fastcgi.impersonate en el fichero php.ini. Cuando suplantación está activado, PHP realizará todas las operaciones de ficheros de sistema en favor de la cuenta de usuario que se ha determinado por la autentificación de IIS. Esta asegura que, incluso si el mismo proceso PHP se comparte entre diferentes sitios web IIS, los scripts PHP en estos sitios web no podrá acceder a los otros fichero ' siempre y cuando use cuentas de usuario diferentes utilizado para la autenticación IIS en cada sitio web.

Por ejemplo IIS 5.1 and IIS 6.0, en su configuración predeterminada, se ha habilitado la autenticación anónima con una función de cuenta de usuario IUSR_<MACHINE_NAME> utilizado como una identidad por defecto. Esto significa que para que IIS puede ejecutar scripts PHP, es necesario concedera la cuenta IIUSR_<MACHINE_NAME> permiso de lectura en estos scripts. Si las aplicaciones PHP necesitan realizar operaciones de escritura sobre determinados ficheros o escribir ficheros en algunas carpetas a continuación la cuenta IUSR_<MACHINE_NAME> debe tener permiso para escribir en ellos.

Para determinar qué cuenta de usuario es utilizado por IIS autenticación anónima, siga estos pasos:

  1. En el menú Inicio de Windows seleccione "Run:", type "inetmgr" y haga clic en "Ok";

  2. Expanda la lista de sitios web en el nodo "Web Sites" en la vista de árbol, haga clic derecho en el sitio web que se está utilizando y seleccionar "Properties";

  3. Haga clic en "Directory Security" tab;

  4. Tome nota de un "User name:" campo en el cuadro de dialogo "Authentication Methods"

Autenticación anonima para IIS 5.1 y IIS 6.0

Para modificar la configuración de permisos en ficheros y carpetas, utilice la interfaz de usuario de el Explorador de Windows o el comando icacls.

Ejemplo #3 Configuración del fichero de los permisos de acceso

icacls C:\inetpub\wwwroot\upload /grant IUSR:(OI)(CI)(M)

Establecerindex.php como un documento predeterminado en IIS

Los documentos por defecto de IIS se utilizan para las solicitudes HTTP que no especifican un nombre de documento. Con las aplicaciones PHP, index.php suele actuar como un documento predeterminado. Para añadir index.php a la lista de documentos predeterminados IIS, siga estos pasos:

  1. En el menú Inicio de Windows seleccione "Run:", teclee "inetmgr" y haga clic en "Ok";

  2. Haga clic derecho en el nodo ""Web Sites" de la vista de árbol y seleccione "Properties";

  3. Haga clic en "Documents" tab;

  4. Haga clic en el botón "Add..." y enter en "index.php" para el " Contenido de la página por defecto :".

Configuración index.php como documento predeterminado para IIS

FastCGI y Reciclaje de configuración de PHP

Configurar la extensión IIS FastCGI para el reciclaje de procesos PHP utilizando los comandos de abajo. Los controles de configuración de FastCGI instanceMaxRequests número de solicitudes que serán procesadas por un solo proceso php-cgi.exe antes de el cierre de la extensión FastCGI. La variable PHP de entorno PHP_FCGI_MAX_REQUESTS controla cuántas peticiones de un único proceso php-cgi.exe se encargará antes de que se recicle así mismo. Asegúrese de que el valor especificado por la configuración FastCGI InstanceMaxRequests es menor o igual al valor especificado para PHP_FCGI_MAX_REQUESTS.

Ejemplo #4 Configuración FastCGI y reciclaje PHP

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-InstanceMaxRequests:10000

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000

Configuración de los ajustes de tiempo de espera FastCGI

Aumentar la configuración de tiempo de espera para la extensión FastCGI si hay aplicaciones que llevan mucho tiempo ejecutar scripts PHP. Los dos valores a ajsutar de los controles de tiempos de espera son ActivityTimeout y RequestTimeout. Véase » Configuración de Extensión FastCGI para IIS 6.0 para más información sobre los ajustes.

Ejemplo #5 Configuración de los ajustes de tiempo de espera FastCGI

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-ActivityTimeout:90

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-RequestTimeout:90

Cambiar la ubicación del fichero php.ini

PHP busca para el fichero php.ini en varios lugares y es posible cambiar las ubicaciones predeterminadas de el fichero php.ini utilizando la variable de entorno PHPRC. Las instrucciones PHP para cargar el fichero de configuración desde una ubicación personalizada, ejecute el comando que se muestra a continuación. La ruta de acceso absoluta al directorio con el fichero php.ini debe ser especifica con un valor de variable de entorno PHPRC.

Ejemplo #6 Cambiar la ubicación del fichero php.ini

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-EnvironmentVars:PHPRC:"C:\Some\Directory\"

Microsoft IIS
Microsoft IIS 7.0 y posteriores
Instalación en sistemas Windows


Microsoft IIS 7.0 y posteriores

Esta sección contiene instrucciones para configurar en forma manual Internet Information Services (IIS) 7.0 y posteriores para trabajar con PHP en Microsoft Windows Vista SP1, Windows 7, Windows Server 2008 and Windows Server 2008 R2. Para obtener instrucciones sobre la configuración de IIS 5.1 and IIS 6.0 on Windows XP and Windows Server 2003 refiérase a Microsoft IIS 5.1 and IIS 6.0.

Habilitación de apoyo FastCGI en IIS

Módulo FastCGI está deshabilitado en la instalación por defecto de IIS. Los pasos para que pueda variar según la versión de Windows se está utilizando.

Para activar el soporte FastCGI en Windows Vista SP1 y Windows 7:

  1. En el menu de inicio de Windows seleccione "Run:", teclee "optionalfeatures.exe" y click "Ok";

  2. En el "Windows Features" cuadro de diálogo "Internet Information Services", "World Wide Web Services", " Caracteristicas Desarrollo de aplicaciones " y luego permitir que el "CGI" checkbox;

  3. Haga clic en Aceptar y espere hasta que se complete la instalación

Habilitar soporte para FastCGI IIS7 en Windows Vista SP1 y Windows 7

Para activar el soporte FastCGI en Windows Server 2008 y Windows Server 2008 R2:

  1. En el menú Inicio de Windows elegir "Run:", teclee "CompMgmtLauncher" y click "Ok";

  2. En el "Web Server (IIS)" El rol no está presente en el marco del "Roles" nodo, a continuación, añadir haciendo clic en "Adicionar Roles";

  3. Si la "Web Server (IIS)" role esta presente, entonces haga click "Add Role Services" y luego permitir que el "CGI" casilla de verificación en grupo "Desarrollo de Aplicaciones" ;

  4. Click "Next" y luego "Install" ay espere a que la instalación se complete.

Habilitación FastCGI apoyo en Windows Server 2008 y Windows Server 2008 R2

Configurar IIS para procesar las solicitudes de PHP

Descargue e instale PHP de acuerdo a las instrucciones descritas en manual installation steps

Nota:

No construir thread-safe de PHP se recomienda cuando IIS utilizando. El no-thread-safe crea están disponibles en » PHP para Windows: binarios y fuentes.

Configure el CGI y la configuración específica de FastCGI php.ini fichero como se muestra a continuación:

Ejemplo #1 CGI y FastCGI en la configuración php.ini

fastcgi.impersonate = 1
    fastcgi.logging = 0
    cgi.fix_pathinfo=1
    cgi.force_redirect = 0

Configurar la asignación de IIS controlador para PHP utilizando la interfaz de usuario Administrador de IIS o una herramienta de línea de comandos.

El uso de IIS interfaz de usuario de Manager para crear una asignación de controlador para PHP

Siga estos pasos para crear una asignación de controlador de IIS para PHP en la interfaz de usuario Administrador de IIS:

  1. En el menú Inicio de Windows elegir "Run:", escriba "inetmgr" y click "Ok";

  2. En la interfaz de usuario de IIS Manager, seleccione el nodo de servidor en el "Connections" vista de árbol;

  3. En el "Características" Página de abrir el "Handler Mappings" feature;

    Crear la asignación de IIS controlador para PHP: Localizar Handler Mappings

  4. En el "Actions" haga click en panel "Add Module Mapping...";

  5. En el "Add Module Mapping" diálogo entre lo siguiente:

    • Solicitud de ruta: *.php
    • Modulo: FastCgiModule
    • Ejecutable: C:\[Path to PHP installation]\php-cgi.exe
    • Nombre: PHP_via_FastCGI

  6. Haga Click en "Solicitar Restricciones" botón y luego configurar la asignación de invocar controlador sólo si la solicitud se asigna a un archivo o una carpeta;

  7. Haga clic en Aceptar en todos los cuadros de diálogo para guardar la configuración.

Crear mapas controlador de IIS para PHP: Agregar controlador de Cartografía

Utilizando la herramienta de línea de comandos para crear una asignación de controlador para PHP

Utilice el comando mostrado a continuación para crear un grupo de IIS FastCGI proceso que utilizará php-cgi.exe ejecutable para la tramitación de solicitudes de PHP. Vuelva a colocar el valor del parámetro fullPath con la ruta absoluta al fichero php-cgi.exe.

Ejemplo #2 >Creación del proceso del grupo IIS FastCGI

     %windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI ^
     /+[fullPath='c:\PHP\php-cgi.exe']

Configurar IIS PHP para manejar las peticiones concretas de la ejecución del comando que se muestra a continuación. Vuelva a colocar el valor del parámetro scriptProcessor con la ruta de acceso absoluta al fichero php-cgi.exe.

Ejemplo #3 Creación de mapas manejador de peticiones PHP

     %windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers ^
     /+[name='PHP_via_FastCGI', path='*.php',verb='*',modules='FastCgiModule',^
     scriptProcessor='c:\PHP\php-cgi.exe',resourceType='Either']

Este comando crea una asignación de controlador de IIS para la extensión de archivo *.php, lo que resultará en todas las direcciones URL que terminan con. Php siendo manejado por el módulo FastCGI.

Nota:

En este punto la necesidad de instalación y configuración de los pasos se han completado. Las instrucciones a continuación son opcionales, pero altamente recomendable para lograr una funcionalidad óptima y el rendimiento de PHP en IIS.

Suplantación de identidad y acceso a archivos del sistema

Se recomienda habilitar la suplantación en PHP FastCGI cuando IIS utilizando. Esta está controlado por la directiva fastcgi.impersonate en el fichero php.ini. Cuando está habilitada la suplantación, PHP realizará todas las operaciones del sistema de ficheros en nombre de la cuenta de usuario que ha sido determinado por la autentificación de IIS. Esto asegura que, aunque el proceso mismo PHP es compartido a través de diferentes sitios web IIS, los scripts PHP en los sitios web no será capaz de acceder a los demás ficheros, siempre y cuando las cuentas de usuario se utilizan para la autenticación de IIS en cada sitio web.

Por ejemplo IIS 7, en su configuración por defecto, se ha habilitado la autenticación anónima con incorporada IUSR cuenta de usuario utilizada como una identidad por defecto. Esto significa que para que IIS ejecutar scripts PHP, es necesario conceder a la cuenta IUSR permiso de lectura en estos scripts. Si las aplicaciones PHP necesidad de realizar operaciones de escritura de ciertos ficheros o escribir ficheros en una carpetas entonces cuenta IUSR debe tener permiso para escribir en ellos.

Para determinar qué cuenta de usuario se utiliza como una identidad anónima en IIS 7 utilice el siguiente comando. Vuelva a colocar el "Sitio Web predeterminado" con el nombre del sitio Web de IIS que utiliza. En la producción configuración XML aspecto de elemento para el atributo userName.

Ejemplo #4 La determinación de la cuenta utilizada como IIS identidad anónima

    %windir%\system32\inetsrv\appcmd.exe list config "Default Web Site" ^
    /section:anonymousAuthentication
    <system.webServer>
    <security>
    <authentication>
    <anonymousAuthentication enabled="true" userName="IUSR" />
    </authentication>
    </security>
    </system.webServer>

Nota:

Si el atributo userName no está presente en el elemento anonymousAuthentication, o si se establece una cadena vacía, entonces significa que la identidad del grupo de aplicaciones se utiliza como un identidad anónima para ese sitio web.

Para modificar la configuración de permisos de archivos y carpetas, utilice la interfaz de usuario del Explorador de Windows o comando icacls.

Ejemplo #5 Configuración de archivo de los permisos de acceso

    icacls C:\inetpub\wwwroot\upload /grant IUSR:(OI)(CI)(M)

Establecer index.php como un documento predeterminado en IIS

Los documentos por defecto de IIS se utilizan para las solicitudes HTTP que no se especifica un nombre de documento. Con las aplicaciones PHP,index.php por lo general actúa como un documento predeterminado. Para añadir index.php a la lista de los documentos por defecto de IIS, utilice este comando:

Ejemplo #6 Establecer index.php como un documento predeterminado en IIS

    %windir%\system32\inetsrv\appcmd.exe set config ^
    -section:system.webServer/defaultDocument /+"files.[value='index.php']" ^
    /commit:apphost

FastCGI y configuración de PHP Reciclaje

Configurar la configuración de IIS FastCGI PHP para el reciclaje de los procesos mediante los comandos de abajo. La configuración FastCGI instanceMaxRequests controla cuántas peticiones se procesado por un solo peoceso php-cgi.exe antes de IIS se cierra. La variable de entorno PHP PHP_FCGI_MAX_REQUESTS controla el número pide una sola proceso php-cgi.exe se encargará antes de que se recicla sí misma. Asegúrese de que el valor especificado para la configuración FastCGI InstanceMaxRequests es menor o igual al valor especificado para PHP_FCGI_MAX_REQUESTS.

Ejemplo #7 Configuración de PHP FastCGI y el reciclaje

    %windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi ^
    /[fullPath='c:\php\php-cgi.exe'].instanceMaxRequests:10000
    %windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi ^
    /+"[fullPath='C:\{php_folder}\php-cgi.exe'].environmentVariables.^
    [name='PHP_FCGI_MAX_REQUESTS',value='10000']"

FastCGI ajustes de tiempo de espera

Aumentar el tiempo de espera para la configuración de FastCGI si se espera tener a largo ejecutar scripts PHP. Los dos valores que los tiempos de espera de control activityTimeout y requestTimeout. Utilice los comandos siguientes para cambiar la configuración de tiempo de espera. Asegúrese de sustituir el valor en el parámetro a fullPath contendrá la ruta absoluta a el fichero php-cgi.exe.

Ejemplo #8 Configuración de los ajustes de tiempo de espera FastCGI

    %windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi ^
    /[fullPath='C:\php\php-cgi.exe',arguments=''].activityTimeout:"90"  /commit:apphost
    %windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi ^
    /[fullPath='C:\php\php-cgi.exe',arguments=''].requestTimeout:"90"  /commit:apphost

Cambiar la ubicación del fichero php.ini

PHP busca el fichero php.ini en varios lugares y es posible cambiar las ubicaciones predeterminadas del fichero php.ini utilizando variable de entorno PHPRC. Encomendar a PHP para cargar el archivo de configuración desde una ubicación personalizada, ejecute el comando se muestra a continuación. La ruta de acceso absoluta al directorio con el fichero php.ini debe ser especifica como un valor de variable de entorno PHPRC.

Ejemplo #9 Cambiar la ubicación del fichero php.ini

    appcmd.exe set config  -section:system.webServer/fastCgi ^
    /+"[fullPath='C:\php\php.exe',arguments=''].environmentVariables.^
    [name='PHPRC',value='C:\Some\Directory\']" /commit:apphost

Microsoft IIS 5.1 y IIS 6.0
Apache 1.3.x en Microsoft Windows
Instalación en sistemas Windows


Apache 1.3.x en Microsoft Windows

Esta sección contiene notas y sugerencias específicas para Apache 1.3.x instaladas con PHP en sistemas Microsoft Windows. También hay instrucciones y notas para Apache 2 en una nueva página.

Nota:

Por favor lea primero el manual de instalación

Hay dos formas de configurar PHP para trabajar con Apache 1.3.x en Windows. La primera es usar CGI binary (php.exe para PHP 4 y php-cgi.exe para PHP 5), la otra es utilizar el módulo DLL de Apache. En ambos casos se necesita editar httpd.conf para configurar Apache para trabajar con PHP, y después reiniciar el servidor.

Vale la pena resaltar, que el módulo SAPI ha sido desarrollado mas estable bajo Windows. Se recomienda su uso más que el binario CGI, ya que es más trasparente y seguro.

Aunque pueden haber algunas variaciones en la configuración de PHP bajo Apache, estas son sencillas para ser utilizados por el principiante. Por favor consulte la documentación de Apache para seguir directivas de configuración.

Después de modificar el archivo de configuración, recuerde que debe reiniciar el servidor, por ejemplo NET STOP APACHE seguido de NET START APACHE, si ejecuta Apache como un servicio de Windows, o si usa los atajos

Nota: Recuerde que cuando agrega rutas como valores en los archivos de configuración de Apache en Windows, todas las barras invertidas tal como c:\directory\file.ext deberían ser convertidas en barras comunes: c:/directory/file.ext. Una barra común al final será necesaria para directorios.

Instalación como módulo de Apache

Se deben agregar las siguientes líneas a su archivo de configuración Apache httpd.conf

Ejemplo #1 PHP como módulo de Apache 1.3.x

Se asume que PHP está instalado en c:\php. Ajuste la ruta de acceso si este no es el caso.

Para PHP 4:

# Adicionar al final de la sección LoadModule
# No olvidar copiar este ficrero desde el directorio sapi!
LoadModule php4_module "C:/php/php4apache.dll"

# Adicionar al final de la sección AddModule
AddModule mod_php4.c

Para PHP 5:

# Adicionar al final de la sección LoadModule
LoadModule php5_module "C:/php/php5apache.dll"

# Adicionar al final de la sección AddModule
AddModule mod_php5.c

Para ambos :

# Adicionar esta línea dentro de la <IfModule Mod_mime.c> condicional brace
AddType application/x-httpd-php .php

# Para la sintaxis highlighted .phps files, tambien adicionar
AddType application/x-httpd-php-source .phps

Instalación como un binario CGI

Si se ha descomprimido el paquete PHP C:\php\ como se describe en la sección Manual de instalación paso a paso, es necesario insertar estas líneas a su archivo de configuración de Apache para configurar el binario CGI:

Ejemplo #2 PHP y Apache 1.3.x como CGI

ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php

# Para PHP 4
Action application/x-httpd-php "/php/php.exe"

# Para PHP 5
Action application/x-httpd-php "/php/php-cgi.exe"

# Especifica el directorio donde php.ini esta
SetEnv PHPRC C:/php
Tenga en cuenta que la segunda línea en la lista anterior se puede encontrar en las versiones actuales de httpd.conf, pero se comenta. Recordar también sustituir el c:\php\ para su ruta de acceso real a PHP.

Advertencia

Al usar el modo CGI, su servidor esta expuesto a diferentes ataques. Por favor, leer la sección Seguridad con CGI para aprender como defenderse de estos ataques.

Si desea presentar archivos de código fuente PHP sintaxis highlighted, no existe la opción más conveniente con la versión de PHP como módulo. Si ha elegido configurar Apache para usar PHP como un binario CGI, tendrá que usar la función highlight_file(). Para ello se necesita crear un script PHP y agregarle el código <?php highlight_file('some_php_script.php'); ?>.

Microsoft IIS 7.0 y posteriores
Apache 2.x en Microsoft Windows
Instalación en sistemas Windows


Apache 2.x en Microsoft Windows

Esta sección contiene notas y sugerencias específicas de Apache 2.x instaladas con PHP en sistemas Microsoft Windows. También hay instrucciones y notas para usuarios de Apache 1.3.x en una nueva página..

Nota:

Por favor lea primero el manual de instalación

Nota: Soporte Apache 2.2

Los usuarios de Apache 2.2 deben tener en cuenta que el archivo DLL para Apache 2.2 es llamado php5apache2_2.dll a cambio de php5apache2.dll y sólo está disponible para PHP 5.2.0 y posteriores. Ver también » http://snaps.php.net/

Se le recomienda consultar la » Documentación de Apache Para obtener un conocimiento básico del servidor Apache 2.x. Tambien considere leer las » notas especificas de Windows para Apache 2.x antes de seguir leyendo aquí.

Apache 2.x está diseñado para ejecutarse en las versiones de Windows designado como servidor de plataforma, tales como Windows NT 4.0, Windows 2000, Windows XP o Windows 7. Aunque Apache 2.x funciona bastante bien en Windows 9x, el soporte en estas plataformas es incompleta, y algunas cosas no funcionan correctamente. No existe un plan para remediar esta situación.

Descargue la versión más reciente de » Apache 2.x y un accesorio de la versión de PHP. Siga los pasos del Manual de Instalación y regrese a continuar con la integración de PHP y Apache.

Hay tres formas de configurar PHP para trabajar con Apache 2.x en Windows. Puede ejecutar PHP como un controlador, como CGI o bajo FastCGI.

Nota: Recuerde que cuando agrega rutas como valores en los archivos de configuración de Apache en Windows, todas las barras invertidas tal como c:\directory\file.ext deberían ser convertidas en barras comunes: c:/directory/file.ext. Una barra común al final será necesaria para directorios.

Instalación como un controlador de Apache

Es necesario insertar las siguientes líneas en Apache httpd.conf archivo de configuración para cargar el módulo PHP para Apache 2.x:

Ejemplo #1 PHP and Apache 2.x como controlador

#
LoadModule php5_module "c:/php/php5apache2.dll"
AddHandler application/x-httpd-php .php

# Configurar la ruta de php.ini
PHPIniDir "C:/php"

Nota: Recuerda sustituir la ruta de acceso actual a PHP para el C:/php/ en los ejemplos anteriores. Tenga cuidado en utilizar ya sea php5apache2.dll o php5apache2_2.dll en la directiva LoadModule y verificar que el fichero de referencia se encuentra localizado en la ruta de fichero que se señala en la presente directiva.

La configuración anterior permite habilitar PHP como controlador de cualquier fichero que tiene una extensión .php, aunque existen otras extensiones de fichero. Por ejemplo, un fichero llamadoexample.php.txt será ejecutado por el controlador de PHP. Para garantizar que sólo los ficheros queterminen en .php son ejecutados, se utiliza la siguiente configuración en su lugar:

<FilesMatch \.php$>
      SetHandler application/x-httpd-php
 </FilesMatch>

Ejecutar PHP como CGI

Se debe consultar la» Documentación de Apache CGI para una comprensión más completa de ejecutar CGI en Apache

Para ejecutar PHP como CGI, tendrás que colocar los ficheros php-cgi en un directorio designado como directorio CGI usando la directiva ScriptAlias.

A continuación, se nesesita insertar una #! línea en los ficheros PHP, apuntando a la ubicación del binario de PHP:

Ejemplo #2 PHP y Apache 2.x como CGI

#!C:/php/php.exe
<?php
  phpinfo();
?>

Advertencia

Al usar el modo CGI, su servidor esta expuesto a diferentes ataques. Por favor, leer la sección Seguridad con CGI para aprender como defenderse de estos ataques.

Ejecutar PHP bajo FastCGI

Ejecutar PHP bajo FastCGI tiene una serie de ventajas con respecto a ejecutarlo como un CGI. Si lo establece de esta manera es bastante sencillo:

Obtener mod_fcgid de » http://httpd.apache.org/mod_fcgid/. Los binarios de Win32 están disponibles para la descargar en ese sitio. Instalar el módulo de acuerdo con las instrucciones que vienen con él.

Configurar el servidor web como se muestra abajo, teniendo cuidado de ajustar cualquier ruta que refleje como se tiene instalado las cosas en el sistema:

Ejemplo #3 Configurar Apache para ejecutar PHP como FastCGI

LoadModule fcgid_module modules/mod_fcgid.so

# Donde está el fichero php.ini?
FcgidInitialEnv PHPRC        "c:/php"

AddHandler fcgid-script .php
FcgidWrapper "c:/php/php-cgi.exe" .php
Los ficheros con extensión .php ahora serán ejecutados por PHP FastCGI

Apache 1.3.x en Microsoft Windows
Servidores Sun, iPlanet y Netscape en Microsoft Windows
Instalación en sistemas Windows


Servidores Sun, iPlanet y Netscape en Microsoft Windows

Esta sección contiene anotaciones y consejos específicos de servidores Sun Java System Web Server, Sun ONE Web Server, iPlanet y Netscape en sistemas Windows.

Desde PHP 4.3.3 pueden usarse scripts PHP con el módulo NSAPI para generar listados de directorios y páginas de error personalizadas. También hay funciones adicionales para la compatibilidad con Apache. Para tener soporte con los servidores web actuales consulte las anotaciones sobre subpeticiones.

Instalación CGI en servidores Sun, iPlanet y Netscape

Para instalar PHP como un manejador CGI, haga lo siguiente:

  • Copie php4ts.dll al raíz del sistema (directorio en el que instaló Windows)

  • Realice la asociación de ficheros en la línea de comandos. Introduzca las siguientes líneas:

    assoc .php=PHPScript
ftype PHPScript=c:\php\php.exe %1 %*

  • En Netscape Enterprise Administration Server cree un directorio shellcgi temporal y bórrelo después (este paso añadirá 5 líneas importantes a obj.conf y permitirá que el servidor web maneje scripts shellcgi).
  • En Netscape Enterprise Administration Server cree un nuevo tipo mime (Category: type, Content-Type: magnus-internal/shellcgi, File Suffix:php).
  • Realícelo para cada instancia de servidor web en que desee ejecutar PHP

Se pueden encontrar más detalles sobre cómo configurar PHP como ejecutable CGI en » http://benoit.noss.free.fr/php/install-php.html

Configuración de NSAPI en servidores Sun, iPlanet y Netscape

Para instalar PHP con NSAPI, haga lo siguiente:

  • Copie php4ts.dll al raíz de su sistema (directorio en que instaló Windows)

  • Haga la asociación de ficheros en la línea de comandos. Introduzca las siguientes líneas:

    assoc .php=PHPScript
ftype PHPScript=c:\php\php.exe %1 %*

  • En Netscape Enterprise Administration Server cree un nuevo tipo mime (Category: type, Content-Type: magnus-internal/x-httpd-php, File Suffix: php).

  • Edite magnus.conf (para servidores >= 6) o obj.conf (para servidores < 6) e introduzca lo siguiente: Debe ubicar estas líneas tras mime types init.

    Init fn="load-modules" funcs="php4_init,php4_execute,php4_auth_trans" shlib="c:/php/sapi/php4nsapi.dll"
Init fn="php4_init" LateInit="yes" errorString="Failed to initialise PHP!" [php_ini="c:/path/to/php.ini"]
    (PHP >= 4.3.3) El parámetro php_ini es opcional, pero usándolo se puede reubicar el fichero php.ini al directorio de configuración del servidor web.

  • Configure el objeto por omisión en obj.conf (para clases de servidores virtuales [Sun Web Server 6.0+] en su fichero vserver.obj.conf): En la sección <Object name="default">, añada esta línea tras los 'ObjectType' y antes de las líneas 'AddLog':

    Service fn="php4_execute" type="magnus-internal/x-httpd-php" [inikey=value inikey=value ...]
    (PHP >= 4.3.3) Se pueden añadir parámetros adicionales del tipo php.ini-values, por ejemplo, se puede especificar el docroot="/path/to/docroot" específico para el contexto en que se invoca a php4_execute. En las claves ini booleanas, debe usarse 0 o 1 como valor, y nunca "On","Off",... (no funcionará correctamente), p.ej. zlib.output_compression=1 en lugar de zlib.output_compression="On"

  • Esto sólo es necesario si se desea configurar un directorio que consista únicamente en scripts PHP (como en los directorios cgi-bin):

    <Object name="x-httpd-php">
ObjectType fn="force-type" type="magnus-internal/x-httpd-php"
Service fn=php4_execute [inikey=value inikey=value ...]
</Object>
    Tras eso, se puede configurar un directorio en la administración del servidor para asignarle el estilo x-httpd-php. Todos los ficheros que contenga se ejecutarán con PHP. Es útil para ocultar el uso de PHP, renombrando los ficheros a .html.

  • Reinicie el servidor web y aplique los cambios
  • Realícelo para cada instancia del servidor web en que desee ejecutar PHP

Nota:

Puede consultar más detalles sobre cómo configurar PHP como filtro NSAPI aquí: » http://benoit.noss.free.fr/php/install-php4.html

Nota:

El tamaño de pila de PHP depende de la configuración del servidor web. Si la ejecución de scripts extensos de PHP se detiene, se recomienda que lo propague con Admin Server (en la sección "MAGNUS EDITOR").

entornos CGI y modificaciones recomendadas en php.ini

Al escribir scripts PHP es importante tener en cuenta que Sun JSWS/Sun ONE WS/iPlanet/Netscape es un servidor web multihebra, ya que todas las peticiones se ejecutan en el espacio del mismo proceso (el espacio del propio servidor web) y este espacio sólo contiene un entorno de ejecución. Si se desea conocer variables CGI como PATH_INFO, HTTP_HOST, etc. no se debe hacer de la forma convencional con getenv() o similares (register globals del entorno, $_ENV). Sólo se obtendrá el entorno del servidor web en ejecución sin ninguna variable CGI válida.

Nota:

¿Pero por qué hay variables CGI (inválidas) en el entorno?

Respuesta: Se debe a que se inició el proceso del servidor web desde el servidor de administración que lanza el script de inicio del servidor web como un script CGI (¡un script CGI dentro del servidor de administración!). Ésta es la razón por la que el entorno del servidor web contiene algunas variables de entorno CGI. Puede comprobarlo iniciando el servidor web de otra forma. Acceda al terminal como administrador y arránquelo a mano - verá que ya no hay variables de entorno CGI.

Deben actualizarse los scripts, para que consulten variables CGI de la forma correcta para PHP 4.X, usando la superglobal $_SERVER. Si se tuvieran scripts antiguos que usaran $HTTP_HOST, etc., debería habilitarse register_globals en php.ini, así como cambiar la variable de orden (importante: elimine la "E", ya que aquí no se necesitan variables de entorno):

variables_order = "GPCS"
register_globals = On

Uso especial de páginas de error y listados de directorios personalizados (PHP >= 4.3.3)

Se puede utilizar PHP para generar páginas de error para "404 Not Found" o similar. Debe añadirse la siguiente línea al objeto en obj.conf para cada página de error que se desee redefinir:

Error fn="php4_execute" code=XXX script="/path/to/script.php" [inikey=value inikey=value...]
donde XXX es el código de error HTTP. Debe eliminarse todas las directivas Error que puedan colisionar con las nuevas. Si se desea crear una página genérica para todos los errores, debe omitirse el parámetro code. El script podrá consultar el código de estado HTTP en $_SERVER['ERROR_TYPE'].

Otra posibilidad es generar listados de directorios personalizados. Debe crearse un script PHP que liste el contenido de un directorio y reemplace la línea del servicio correspondiente para type="magnus-internal/directory" en obj.conf por lo siguiente:

Service fn="php4_execute" type="magnus-internal/directory" script="/path/to/script.php" [inikey=value inikey=value...]
Tanto para la página de error como de listado de directorios, la URI original y la traducida están disponibles en las variables $_SERVER['PATH_INFO'] y $_SERVER['PATH_TRANSLATED'].

Anotaciones sobre nsapi_virtual() y subpeticioness (PHP >= 4.3.3)

El módulo NSAPI ahora soporta la función nsapi_virtual() (alias: virtual()) para hacer subpeticiones al sevidor web e insertar el resultado en la página web. El problema es que esta función utiliza algunas funcionalidades no documentadas de la biblioteca NSAPI.

En Unix esto no es un problema, porque el módulo automáticamente busca las funciones necesarias y las usa si estuvieran disponibles. Si no, nsapi_virtual() queda deshabilitado.

En Windows, las limitaciones del manejo de DLL necesitan emplear detección automática del fichero ns-httpdXX.dll más reciente. Se ha probado hasta en servidores versión 6.1. Si se utiliza una versión más reciente del servidor Sun, la detección falla y nsapi_virtual() se deshabilita.

Si este fuera el caso, debe probarse lo siguiente: Añada el siguiente parámetro a php4_init en magnus.conf/obj.conf:

Init fn=php4_init ... server_lib="ns-httpdXX.dll"
donde XX es el número de versión correcto de la DLL. Para conocerlo, busca en el raíz del servidor el nombre correcto de la DLL. La DLL de mayor tamaño es la adecuada.

Puede comprobar el estado usando la función phpinfo().

Nota:

Pero tenga en cuenta: El soporte para nsapi_virtual() es EXPERIMENTAL.

Apache 2.x en Microsoft Windows
Sambar Server en Microsoft Windows
Instalación en sistemas Windows


Sambar Server en Microsoft Windows

Esta sección contiene notas y consejos específicos a el » Servidor Sambar para Windows.

Nota:

Debe leer primero los pasos del manual de instalación.

Esta lista describe cómo configurar el módulo ISAPI para trabajar con el servidor Sambar en Windows.

  • Busque el archivo llamado mappings.ini (en el directorio de configuración) en el directorio de instalación de Sambar.

  • Abra mappings.ini y adicione la siguiente línea de abajo [ISAPI]:

    Ejemplo #1 Configuracion de Sambar ISAPI

        #for PHP 4
    *.php = c:\php\php4isapi.dll

    #for PHP 5
    *.php = c:\php\php5isapi.dll
    (Esta línea asume que PHP se instaló en c:\php.)

  • Ahora reinicie el servidor Sambar para que los cambios surtan efecto.

Nota:

Si va a usar PHP para comunicarse con los recursos que se celebran en un equipo diferente en la red, entonces usted tendrá que modificar la cuenta utilizada por los servicios de el servidor Sambar. La cuenta por defecto utilizado por el Servicio del servidor Sambar es LocalSystem que no tendrán acceso a recursos remotos. La cuenta puede ser modificada mediante el uso de la opción de servicios de Windows en el Panel de control de las herramientas de administración.

Servidores Sun, iPlanet y Netscape en Microsoft Windows
Xitami en Microsoft Windows
Instalación en sistemas Windows


Xitami en Microsoft Windows

Esta sección contiene notas y sugerencias específicas para » Xitami en Windows.

Nota:

Debe leer primero los pasos del Manual de instalación.

Esta lista describe cómo configurar el PHP CGI binary para trabajar con Xitami en Windows.

Nota: Importante para los usuarios de CGI

Leer las preguntas frecuentes en cgi.force_redirect para más detalles importantes. Esta directiva se debe establecer a0. Si desea utilizar $_SERVER['PHP_SELF'] tienes que habilitar la directiva cgi.fix_pathinfo.

Advertencia

Al usar el modo CGI, su servidor esta expuesto a diferentes ataques. Por favor, leer la sección Seguridad con CGI para aprender como defenderse de estos ataques.

  • Asegúrese de que el servidor web está funcionando, y apunte el navegador a la consola de administración xitamis (por lo general http://127.0.0.1/admin), Y haga clic en Configuración.

  • Navegue a los filtros, y ponga la extensión PHP que debe analizar (es decir, .php) en el campo de las extensiones del fichero(.xxx).

  • En el comando del filtro o script coloque la ruta y el nombre de el ejecutable PHP CGI es decir, C:\php\php.exe para PHP 4, o C:\php\php-cgi.exe para PHP 5.

  • Pulse el icono "Guardar".

  • Reinicie el servidor para reflejar los cambios.

Sambar Server en Microsoft Windows
Construcción de la fuente
Instalación en sistemas Windows


Construcción de la fuente

En este capítulo se enseña a compilar PHP a partir de fuentes en Windows, usando Microsoft's tools. Para compilar PHP con cygwin, por favor vaya a Instalación sobre sistemas Unix.

Consulte la documentación del Wiki en: » http://wiki.php.net/internals/windows/stepbystepbuild

Xitami en Microsoft Windows
Instalación de extensiones en Windows
Instalación en sistemas Windows


Instalación de extensiones en Windows

Después de instalar PHP y un servidor web en Windows, es probable que desee instalar algunas extensiones para mayor funcionalidad. Puede elegir cuales extensiones desea cargar cuando PHP inicia modificando php.ini. También puede cargar un módulo dinámicamente en el script con dll().

Los DLL para las extensiones PHP tienen el prefijo php_.

Algunas extensiones son construidas dentro de la versión de Windows de PHP. Esto significa que los ficheros DLL adicionales, y la extensión directiva, no se utiliza para cargar estas extensiones. En la tabla de Windows las extensiones PHP son enumeradas las extensiones que se requieren, se utilizan, ficheros PHP DLL adicionales. Aquí hay una lista de extensiones construidas:

En PHP 4 (actualización de PHP 4.3.11): BCMath, Caledar, COM, Ctype, FTP, MySQL, ODBC, Overload, PCRE, Session, Tokenizer, WDDX, XML y Zlib

En PHP 5 (actualización de PHP 5.0.4), existen los siguientes cambios. Contruidos en: DOM, LibXML, Iconv, SimpleXML, SPL y SQLite. Y a continuación se enumeran los no construidos en: MySQL y Overload.

La ubicación predeterminada de las búsquedas PHP para las extensiones es C:\php4\extensions en PHP 4 y C:\php5 en PHP 5. Para cambiar estos parámetros reflejando la configuración de PHP, edite el fichero php.ini:

  • Tendrá que cambiar los parámetros de la extension_dir para apuntar al directorio donde está la extensión, o donde tenga localizado el fichero php_*.dll. Por ejemplo:

    extension_dir = C:\php\extensions

  • Habilite la extensión(s) en php.ini que desea utilizar descomentando las siguientes líneas extension=php_*.dll en php.ini. Esto se hace mediante el borrado de la cabecera, desde la extensión que desea cargar.

    Ejemplo #1 Habilitar la extensión Bzip2 para PHP-Windows

    // cambiar la siguiente línea de ...
;extension=php_bz2.dll

// ... to
extension=php_bz2.dll

  • Algunas de las extensiones de archivos necesita DLL extras para trabajar. Un par de ellos se puede encontrar en el paquete de distribución, en la carpeta C:\php\dlls\ en PHP 4 o en la carpeta principal en PHP 5, pero algunos, por ejemplo Oracle requieren (php_oci8.dll) ficheros DLL que no se incluyen con el paquete de distribución. Si va a instalar PHP 4, copie el paquete DLL de la carpeta C:\php\dlls a la carpeta principal C:\php. No se olvide de incluir en el sistema C:\php PATH (Este proceso se explica por separado en Preguntas Frecuentes de entrada).

  • Algunos de estos DLLs no se incluye con la distribución de PHP. Consulta cada página de documentación de las extensiones para más detalles. Además, lea el manual sección titulada Instalación de extensiones PECL para más detalles sobre PECL. Un gran número de extensiones de PHP se encuentran en PECL, y estas extensiones requieren una descarga independiente .

Nota: Si está ejecutando un servidor de la versión de PHP como módulo recuerde reiniciar su servidor web para reflejar los cambios a php.ini.

En la tabla siguiente se describen algunas de las extensiones disponibles y las dlls adicionales.

Extensiones de PHP
Extensión | Descripción | Notas
php_bz2.dll | Funciones de compresión bzip2 | Nada
php_calendar.dll | Funciones de conversión Calendario | Construido a partir de PHP 4.0.3
php_crack.dll | Funciones Crack | Nada
php_ctype.dll | Funciones familiares ctype | Construido a partir de PHP 4.3.0
php_curl.dll | Funciones de la libreria cliente URL CURL | Requiere: libeay32.dll, ssleay32.dll(incluido)
php_dba.dll | DBA: Funciones de Capa de abstracción de la Base de datos (dbm-style) | Nada
php_dbase.dll | Funciones dBase | Nada
php_dbx.dll | Funciones dbx |
php_domxml.dll | Funciones de domxml para PHP 4 | PHP <= 4.2.0 Requiere: libxml2.dll (incluido) PHP >= 4.3.0 Requiere: iconv.dll (incluido)
php_dotnet.dll | Funciones .NET | PHP <= 4.1.1
php_exif.dll | FuncionesEXIF | php_mbstring.dll. y, php_exif.dll se debe cargar después de php_mbstring.dll en php.ini.
php_fbsql.dll | Funciones FrontBase | PHP <= 4.2.0
php_fdf.dll | FDF: Formato de datos de formularios de funciones. | Requiere: fdftk.dll (incluido)
php_filepro.dll | Funciones filePro | Acceso de sólo lectura
php_ftp.dll | Funciones FTP | Incorporado desde PHP 4.0.3
php_gd.dll | Funciones de libreria de imagen GD | Eliminada en PHP 4.3.2. También tenga en cuenta que las funciones de color verdadero no están disponibles en GD1, utilice en su lugar php_gd2.dll.
php_gd2.dll | Funciones de libreria de imagen GD | GD2
php_gettext.dll | Funciones Gettext | PHP <= 4.2.0 requiere gnu_gettext.dll (incluido), PHP >= 4.2.3 requiere libintl-1.dll, iconv.dll (incluido).
php_hyperwave.dll | Funciones HyperWave | Nada
php_iconv.dll | Conversión de caracteres ICONV | Requiere: iconv-1.3.dll (incluido), PHP >=4.2.1 iconv.dll
php_ifx.dll | Funciones Informix | Requiere: Librerias Informix
php_iisfunc.dll | Funciones de administracion IIS | Nada
php_imap.dll | POP3 y Funciones NNTP IMAP | Nada
php_ingres.dll | Funciones Ingres | Requiere: Librerias Ingres
php_interbase.dll | Funciones InterBase | Requiere: gds32.dll (incluido)
php_java.dll | Funciones Java | PHP <= 4.0.6 requiere: jvm.dll (incluido)
php_ldap.dll | Funciones LDAP | PHP <= 4.2.0 requiere libsasl.dll (incluido), PHP >= 4.3.0 requiere libeay32.dll, ssleay32.dll (incluido)
php_mbstring.dll | Funciones Multi-Byte String | Nada
php_mcrypt.dll | Funciones Mcrypt Encryption | Requiere: libmcrypt.dll
php_mhash.dll | Funciones Mhash | PHP >= 4.3.0 requiere: libmhash.dll (incluido)
php_mime_magic.dll | Funciones Mimetype | Requiere: magic.mime (incluido)
php_ming.dll | Funciones para Flash Ming | Nada
php_msql.dll | Funciones mSQL | Requiere: msql.dll (incluido)
php_mssql.dll | Funciones MSSQL | Requiere: ntwdblib.dll (incluido)
php_mysql.dll | Funciones MySQL | PHP >= 5.0.0, requiere libmysql.dll (incluido)
php_mysqli.dll | Funciones MySQLi | PHP >= 5.0.0, requiere libmysql.dll (libmysqli.dll en PHP <= 5.0.2) (incluido)
php_oci8.dll | Funciones Oracle 8 | Requiere: Librerias cliente Oracle 8.1+
php_openssl.dll | Funciones OpenSSL | Requiere: libeay32.dll (incluido)
php_overload.dll | Funciones de sobrecarga de objetos de PHP 4 | Incluido desde PHP 4.3.0, eliminado a partir de PHP 5.0.0
php_pdf.dll | Funciones PDF | Nada
php_pgsql.dll | Funciones PostgreSQL | Nada
php_printer.dll | Funciones Printer | Nada
php_shmop.dll | Funciones Shared Memory | Nada
php_snmp.dll | Funciones SNMP | Solo NT !
php_soap.dll | Funciones SOAP | PHP >= 5.0.0
php_sockets.dll | Funciones Socket | Nada
php_sybase_ct.dll | Funciones Sybase | Requiere: librerias cliente Sybase
php_tidy.dll | Funciones Tidy | PHP >= 5.0.0
php_tokenizer.dll | Funciones Tokenizer | Construido a partir de PHP 4.3.0
php_w32api.dll | Funciones W32api | Nada
php_xmlrpc.dll | Funciones XML-RPC | PHP >= 4.2.1 requiere: iconv.dll (incluido)
php_xslt.dll | Funciones XSLT | PHP <= 4.2.0 requiere sablot.dll, expat.dll (incluido). PHP >= 4.2.1 requiere sablot.dll, expat.dll, iconv.dll (incluido).
php_yaz.dll | Funciones YAZ | Requiere: yaz.dll (incluido)
php_zip.dll | Ficheros Zip incluido | Acceso de sólo lectura
php_zlib.dll | Funciones de compresión ZLib | Construido a partir de PHP 4.3.0

Construcción de la fuente
Linea de Comandos PHP en Microsoft Windows
Instalación en sistemas Windows


Linea de Comandos PHP en Microsoft Windows

Esta sección contiene notas y sugerencias específicas para conseguir ejecutar PHP en la línea de comandos para Windows.

Nota:

Usted debe leer primero el manual de instalación

Cómo ejecutar PHP desde la línea de comandos sin hacer ningún cambio a Windows.

C:\PHP5\php.exe -f "C:\PHP Scripts\script.php" -- -arg1 -arg2 -arg3

Pero hay algunos pasos sencillos que puede seguir para hacer esto simple. Algunas de estas medidas ya se deberían haber tomado, pero se repiten aquí para ser capaz de proporcionar una completa secuencia paso a paso.

    Nota:

    PATH y PATHEXT son variables de sistema preexistentes importantes en Windows, por lo que se ha de asegurarse de no sobrescribir dichas variables, solamente agregarle algo.

  • Añada la ubicación del ejecutable de PHP (php.exe, php-win.exe o php-cli.exe dependiendo de su versión de PHP y las preferencias de presentación) a la variable de entorno PATH. Lea más acerca de cómo añadir el directorio de PHP PATH en la entrada correspondiente de preguntas frecuentes.

  • Añada la extensión .PHP de la variable de entorno PATHEXT. Esto se puede hacer al mismo tiempo, con la modificación de la variable de entorno PATH. Siga los mismos pasos como se describe en las Preguntas frecuentes pero habría que modificar la variable de entorno PATHEXTen lugar de la variable de entornoPATH.

    Nota:

    La posición en que se coloca el .PHP determina qué secuencia de comandos o programa se ejecuta cuando hay nombre de archivos coincidentes. Por ejemplo, colocar .PHP antes de .BAT hará que el script se ejecute, en lugar de el archivo por lotes, si hay un fichero por lotes con el mismo nombre.

  • Asociar la extensión .PHP con un tipo de fichero. Esta se hace ejecutando el siguiente comando:

    assoc .php=phpfile

  • Asociar el tipo de fichero phpfile con el adecuado ejecutable PHP. Esto se hace ejecutando el siguiente comando:

    ftype phpfile="C:\PHP5\php.exe" -f "%1" -- %~2

Si sigue estos pasos permitirá ejecutar scripts PHP desde cualquier directorio sin necesidad de escribir el ejecutable PHP o la extensión .PHP y todos los parámetros, será enviada a el script para el procesamiento.

En el ejemplo a continuación se detallan algunos de los cambios de registro que se puede hacer manualmente.

Ejemplo #1 Registro de cambios

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.php]
@="phpfile"
"Content Type"="application/php"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile]
@="PHP Script"
"EditFlags"=dword:00000000
"BrowserFlags"=dword:00000008
"AlwaysShowExt"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\DefaultIcon]
@="C:\\PHP5\\php-win.exe,0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell]
@="Open"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell\Open]
@="&Open"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell\Open\command]
@="\"C:\\PHP5\\php.exe\" -f \"%1\" -- %~2"

Con estos cambios el mismo comando se puede escribir como:

"C:\PHP Scripts\script" -arg1 -arg2 -arg3
O, si la ruta de acceso "C:\PHP Scripts" está en el variable de entorno PATH:
script -arg1 -arg2 -arg3

Nota:

Hay un pequeño problema si tiene intención de utilizar esta técnica y usar scripts PHP como filtro de línea de comandos, como el ejemplo a continuación:

dir | "C:\PHP Scripts\script" -arg1 -arg2 -arg3
o
dir | script -arg1 -arg2 -arg3
Es posible que el script simplemente se cuelga y no salga nada. Para hacer esto operacional, es necesario hacer otro cambio en el registro.
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer]
"InheritConsoleHandles"=dword:00000001
Información adicional sobre este tema se pueden encontrar en el » artículo de Microsoft: 321788

Instalación de extensiones en Windows
Instalación en las plataformas de Nube Informática
Instalación en sistemas Windows


Instalación en las plataformas de Nube Informática

Tabla de contenidos

  • Microsoft Azure
  • Amazon EC2

PHP instalará en la nube. A la nube de PHP!

Linea de Comandos PHP en Microsoft Windows
Microsoft Azure
Instalación y configuración


Microsoft Azure

PHP instalará el » Azure cloud platform.

Ver acerca de » Azure SDK para PHP.

Instalación en las plataformas de Nube Informática
Amazon EC2
Instalación en las plataformas de Nube Informática


Amazon EC2

PHP instalará el » EC2 cloud platform.

Ver acerca de » AWS SDK for PHP.

Microsoft Azure
Manejador de Procesos FastCGI (FPM)
Instalación en las plataformas de Nube Informática


Manejador de Procesos FastCGI (FPM)

Tabla de contenidos

  • Instalación
  • Configuración

FPM (FastCGI Process Manager) es una implementación alternativa al PHP FastCGI con algunas características adicionales (la mayoría) útiles para sitios web con mucho tráfico.

Estas características incluyen:

  • Manejo avanzado para detener/arrancar procesos de forma grácil;

  • Posibilidad de iniciar hilos de procesos con diferentes uid/gid/chroot/environment, escuchar en diferentes puertos y usar distintos php.ini (remplazando); safe_mode

  • Registro stdout y stderr;

  • Reinicio de emergencia en caso de destrucción accidental del caché opcode;

  • Soporte acelerado de subidas;

  • "slowlog" - scripts de registro de procesos (no sólo sus nombres, sin sus backtraces también, usando ptrace y similares para leer procesos execute_data remotos) que son inusualmente lentos;

  • fastcgi_finish_request() - Función especial para detener y descargar todos los datos mientras continua haciendo algún proceso más largo (conversión de vídeos, procesamiento de estadísticas, etc.);

  • Creación dinámico/estático de hilos;

  • Información básica del status SAPI (similar al mod_status de Apache);

  • Basado en archivos de configuración php.ini

Amazon EC2
Instalación
Instalación y configuración


Instalación

Compilando el código fuente

Para habilitar FPM en la compilación de PHP, debe añadirse --enable-fpm a la línea de configuración-

Hay otras opciones de configuración específicas de FPM (todas ellas optativas):

  • --with-fpm-user - usuario de FPM (por omisión - nobody).

  • --with-fpm-group - grupo de FPM (por omisión - nobody).

Manejador de Procesos FastCGI (FPM)
Configuración
Manejador de Procesos FastCGI (FPM)


Configuración

FPM usa la sintaxis de php.ini para su fichero de configuración - php-fpm.conf, y agrupa ficheros de configuración.

Lista de directivas globales de php-fpm.conf

pid string

Ruta al fichero PID. Valor por defecto: none.

error_log string

Ruta al fichero de registro de errores. Default value: #INSTALL_PREFIX#/log/php-fpm.log.

log_level string

Nivel de registro de errores. Posibles valores: alert, error, warning, notice, debug. Valor por defecto: notice.

emergency_restart_threshold int

Si este número de procesos termina con SIGSEGV o SIGBUS dentro del intervalo de tiempo establecido por emergency_restart_interval entonces FPM se reiniciará. Un valor de 0 corresponde a 'Off'. Valor por defecto: 0 (Off).

emergency_restart_interval mixed

Intervalo de tiempo usado por emergency_restart_interval para determinar cuando un reinicio agraciado será realizado. Esto puede ser útil trabajar sobre corrupciones accidentales in en acelerador de memoria compartida. Unidades disponibles:: s(segundos), m(inutos), h(oras), o d(ías). Unidad por defecto: segundos. Valor por defecto: 0 (Off).

process_control_timeout mixed

Límite de tiempo que un hilo de proceso espera por una señal maestra. Unidades disponibles: s(egundos), m(inutos), h(oras), o d(ías) Unidad por defecto: segundos. Valor por defecto: 0.

daemonize boolean

Envía a FPM al background. Establezca a 'no' para mantener FPM en foreground para depuración. Valor por defecto: yes.

Lista de directivas de grupo

Con FPM usted puede correr varios grupos de procesos con diferentes ajustes. Estos son los parámetros que pueden ser ajustados por grupo.

listen string

La dirección sobre la cual desea aceptar peticiones FastCGI. Las sintaxis válidas son: 'ip.add.re.ss:port', 'port', '/path/to/unix/socket'. Esta opción es obligatoria por cada grupo.

listen.backlog int

Establece listen(2) backlog. Un valor de '-1' significa ilimitado. Valor por defecto: -1.

listen.allowed_clients string

Lista de direcciones ipv4 de clientes FastCGI que tienen permiso para conectarse. El equivalente a la variable de entorno FCGI_WEB_SERVER_ADDRS en el PHP FastCGI (5.2.2+) original. Tiene sentido solamente con un socket tcp escuchando. Cada dirección debe ser separada por coma. Si este valor es dejado en blanco, las conexiones serán aceptas desde cualquier dirección ip. Valor por defecto: any.

listen.owner string

Establece permisos para sockets unix, si uno es usado. En Linux, los permisos de lectura/escritura deben ser puestos a fin de permitir conexiones desde un servidor web. Muchos sistemas derivados de BSD permiten conexiones sin considerar los permisos. Valor por defecto: usuario y grupo son establecidos según el usuario ejecutor, permisos puestos a 0666.

listen.group string

Ver listen.owner.

listen.mode string

Ver listen.owner.

user string

Usuario Unix de procesos FPM. Esta opción es obligatoria.

group string

Grupo Unix group of FPM processes. Si no es establecido, el grupo del usuario por defecto será usado.

pm string

Seleccione cómo el manejador de procesos controlará el número de hilos de procesos. Valores posibles: static, ondemand, dynamic. Esta opción es obligatoria.

static - el número de hilos de proceso es fijo (pm.max_children).

ondemand - el proceso se lanza en demanda (cuando se solicita, al contrario que dynamic, donde pm.start_servers son iniciados cuando el servicio está iniciado.

dynamic - el número de hilos de proceso será basado dinámicamente basado en las siguientes directivas: pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers.

pm.max_children int

El número de hilos de procesos a ser creados cuando pm es puesto a static y el máximo número de hilos de proceso a ser creados cuando pm es puesto a dynamic. Esta opción es obligatoria.

Esta opción establece el límite sobre el número de peticiones simultaneas que serán servidas. Equivale a la directiva ApacheMaxClients con mpm_prefork y a la variable de entorno PHP_FCGI_CHILDREN del PHP FastCGI original.

pm.start_servers int

Número de hilos de procesos creados al inicio. Usado solamente cuando pm es puesto a dynamic. Valor por defecto: min_spare_servers + (max_spare_servers - min_spare_servers) / 2.

pm.min_spare_servers int

El número mínimo deseado de procesos libres en el servidor. Usado sólo cuando pm es puesto a dynamic. También obligatorio en este caso.

pm.max_spare_servers int

El número máximo deseado de procesos libres en el servidor. usado sólo cuando pm es puesto a dynamic. También obligatorio en este caso.

pm.max_requests int

El número de pedidos que cada hilo de proceso debe ejecutar antes de reaparecer. Esto puede ser útil para evitar las fugas de memoria en librerías de terceros. para el procesamiento de solicitudes sin límites especifique '0'. Equivale a PHP_FCGI_MAX_REQUESTS. Valor por defecto: 0.

pm.status_path string

La dirección URI para ver la página de status FPM. Si este valor no es establecido, ninguna dirección URI será reconocida como una página de status. Valor por defecto: none.

ping.path string

La dirección URI del ping para llamar a la página de monitor del FPM. Si este valor no es establecido, ninguna dirección URI será reconocida como página del ping. Esto debería ser usado para probar desde el exterior que el FPM está funcionando y respondiendo. Por favor, note que este valor debe empezar con un slash (/).

ping.response string

Esta directiva puede ser usada para personalizar las peticiones de respuestas a ping. La respuesta es formateada como text/plain con un código de respuesta 200. Valor por defecto: pong.

request_terminate_timeout mixed

El tiempo de espera para servir una simple petición luego que el proceso worker sea eliminado. Esta opción debe ser usada cuando la opción 'max_execution_time' no detenga la ejecuciuón del script por cualquier razón. Un valor de '0' corresponde a 'Off'. Unidades disponibles: s(egundos)(por defecto), m(inutos), h(horas), or d(ías). Default value: 0.

request_slowlog_timeout mixed

El tiempo de espera para servir una simple petición después de que un backtrace PHP sea volcado al fichero 'slowlog'. Un valor de '0' corresponde a 'Off'. Unidades disponibles: s(egundos)(por defecto), m(inutos), h(oras), or d(ías). Valor por defecto: 0.

slowlog string

El fichero de registro para peticiones lentas. Valor por defecto: #INSTALL_PREFIX#/log/php-fpm.log.slow.

rlimit_files int

Establece el fichero descriptor rlimit. Valor por defecto: definido por el sistema.

rlimit_core int

Establece el tamaño máximo del rlimit. Valores posibles: 'unlimited' o un entero mayor o igualo a 0. Valor por defecto: definido por el sistema.

chroot string

Establece el Chroot (enjaulado) a este directorio al inicio. Este valor debe ser definido como una ruta absoluta. Cuando este valor no es establecido, el chroot no es usado.

chdir string

Establece el Chdir a este directorio al inicio. Este valor debe ser establecido como una ruta absoluta. Valor por defecto: directorio actual o / cuando está en chroot (enjaulado).

catch_workers_output boolean

Redirige los worker stdout y stderr en el fichero de registro principal. Sí no es establecido, stdout y stderr serán redirigidos a /dev/null de acuerdo a las especificaciones FastCGI. Valor por defecto: no.

Es posible pasar las variables de entorno adicionales y actualizar los ajustes PHP de ciertos grupos. Para ello, se necesita agregar las siguientes opciones al fichero de configuración.

Ejemplo #1 Pasando variables de entorno y ajustando las configuraciones de PHP por grupos

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com
php_flag[display_errors] = off
php_admin_value[error_log] = /var/log/fpm-php.www.log
php_admin_flag[log_errors] = on
php_admin_value[memory_limit] = 32M
Los ajustes PHP pasados con php_value o php_flag serán sobre-escritos a sus valores previos. Por favor note que definiendo disable_functions o disable_classes no sobre-escribirá los valores de definiciones anteriores php.ini, pero añadirán nuevos en cambio.

Ajustes definidos con php_admin_value and php_admin_flag cannot be anulados con ini_set().

Como 5.3.3, establecer los ajustes PHP es también posible como servidor web.

Ejemplo #2 Establecer ajustes PHP en nginx.conf

set $php_value "pcre.backtrack_limit=424242";
set $php_value "$php_value \n pcre.recursion_limit=99999";
fastcgi_param  PHP_VALUE $php_value;

fastcgi_param  PHP_ADMIN_VALUE "open_basedir=/var/www/htdocs";
Precaución

Dado a que estos valores se pasan a php-fpm como cabeceras fastcgi, php-fpm no debe estar vinculado a una dirección accesible para todo el mundo. De lo contrario, cualquiera podría alterar las opciones de configuración de PHP. Ver también listen.allowed_clients.

Instalación
Instalación de extensiones PECL
Manejador de Procesos FastCGI (FPM)


Instalación de extensiones PECL

Tabla de contenidos

  • Introducción a las Instalaciones en PECL
  • Descarga de extensiones PECL
  • Instalación una extensión de PHP en Windows
  • Compilando extensiones PECL compartidas con el comando pecl
  • Compilando extensiones PEC compartidas con phpize
  • php-config
  • Compilando extensiones PECL estáticamente en PHP
Configuración
Introducción a las Instalaciones en PECL
Instalación y configuración


Introducción a las Instalaciones en PECL

» PECL es un respositorio de extensiones de PHP disponible mediante el sistema de paquetes » PEAR. Esta sección del manual tiene por objetivo ilustrar cómo obtener e instalar extensiones PECL.

Estas instrucciones asumen que la ruta al fuente de su distribución de PHP es /your/phpsrcdir/, y que extname es el nombre de la extensión PECL. Ajuste a sus valores. Estas instrucciones, además, asumen conocimientos del » comando pear. La información del manual de PEAR para el comando pear también es aplicable al comando pecl.

Para poder usarse, una extensión compartida se debe construir, instalar, y cargar. Los métodos descritos abajo le proporcionan varias instrucciones para construir e instalar extensiones, pero no se cargarán automáticamente. Éstas se pueden cargar añadiendo una directiva extension. al fichero php.ini, o bien mediante el uso de la función dl().

Al construir un módulo PHP, es importante contar con las versiones correctas de las herramientas requeridas (autoconf, automake, libtool, etc.). Para conocer los detalles de las herramientas requeridas y sus versiones, revise las » Instrucciones de Git Anónimo.

Instalación de extensiones PECL
Descarga de extensiones PECL
Instalación de extensiones PECL


Descarga de extensiones PECL

Existen varias opciones para descargar extensiones PECL, a saber:

  • El comando pecl install extname descarga el código de la extensión automáticamente, de modo que en este caso no se hace necesario realizar una descarga por separado.
  • » http://pecl.php.net/ La página web de PECL contiene información sobre las diferentes extensiones que ofrece el Equipo de Desarrollo de PHP. La información disponible aquí incluye: ChangeLog, notas de la versión, requisitos, y otros detalles similares.
  • pecl download extname Puede descargar e instalar las extensiones PECL listadas en el sitio web de PECL usando el » comando pecl. También se podrán especificar versiones concretas.
  • SVN La mayor parte de las extensiones PECL también están alojadas en SVN. Puede consultar la interfaz web en » http://svn.php.net/viewvc/pecl/. Para descargar directamente del SVN, debe usar la siguiente secuencia de comandos:

    $ svn checkout http://svn.php.net/repository/pecl/extname/trunk extname

  • Descargas para Windows Actualmente el proyecto PHP no compila binarios para Windows de las extensiones PECL. En cualquier caso, para compilar PHP bajo Windows, revise el capítulo titulado construcción de la fuente en Windows.
Introducción a las Instalaciones en PECL
Instalación una extensión de PHP en Windows
Instalación de extensiones PECL


Instalación una extensión de PHP en Windows

Dispone de dos formas para cargar extensiones PHP en Windows: o bien compilándolas en PHP, o bien cargando su DLL. El método recomendado y más sencillo es cargar una extensión pre-compilada.

Para cargar una extensión, debe estar disponible como fichero ".dll" en su sistema. Todas las extensiones son compiladas por el Grupo PHP automática y periódicamente (revise la siguiente sección para realizar descargas).

Para compilar una extensión en PHP, por favor, acceda a la documentación de construcción de la fuente.

Para compilar una extensión independiente (o lo que es lo mismo, un fichero DLL), por favor, revise la documentación de construcción de la fuente. Si el fichero DLL no está disponible ni en su distribución de PHP ni en PECL, deberá compilarla antes de poder comenzar a usarla.

¿Dónde encontrar una extensión?

Las extensiones de PHP generalmente se llaman "php_*.dll" (donde el asterisco representa el nombre de la extensión) y se localizan bajo la carpeta "PHP\ext" ("PHP\extensions" en PHP 4).

PHP se distribuye con las extensiones más útiles para la mayoría de desarrolladores. Se les llama extensiones del "núcleo".

En cualquier caso, si necesita una funcionalidad que no proporciona ninguna de las extensiones del núcleo, podrá buscarla en PECL. La Biblioteca de la Comunidad de Extensiones de PHP (PECL) es un repositorio de extensiones PHP, que proporciona un directorio de todas las extensiones conocidas, y aloja utilidades para descargar y desarrollar extensiones de PHP.

Si usted ha desarrollado una extensión para su propio uso, quizá quiera considerar alojarla en PECL, de forma que otros desarrolladores con las mismas necesidades puedan verse beneficiados de su tiempo. Una de las ventajas es que tendrá la oportunidad de recibir colaboración, (ojalá) agradecimientos, informes de errores, e incluso parches/correcciones. Antes de enviar su extensión para ser alojada en PECL, por favor, lea http://pecl.php.net/package-new.php.

¿Qué extensión descargar?

A menudo, encontrará varias versiones de cada DLL:

  • Números de versión diferentes (al menos los dos primeros números deben coincidir)
  • Diferentes ajustes de seguridad en hilos
  • Diferentes arquitecturas de procesadores (x86, x64, ...)
  • Diferentes ajustes de depuración
  • etc.

Debe tener en cuenta que los ajustes de su extensión deben coincidir con la configuración del ejecutable de PHP que está utilizando. El siguiente script de PHP le dirá todo sobre sus ajustes de PHP:

Ejemplo #1 llamada a phpinfo()

<?php
phpinfo();
?>

O ejecute desde la línea de comandos:

drive:\\path\to\php\executable\php.exe -i

Cargando una extensión

La forma más común de cargar una extensión PHP consiste en incluirla en el fichero de configuración php.ini. Por favor, tenga en cuenta que ya hay muchas extensiones presentes en el fichero php.ini y que sólo es necesario eliminar el punto y coma para activarlas.

;extension=php_extname.dll

extension=php_extname.dll

Sin embargo, algunos servidores web puede resultar confusos, dado que no utilizan el php.ini ubicado junto al ejecutable de PHP. Para averiguar dónde se localiza el php.ini en uso, consulte su ruta usando phpinfo():

Configuration File (php.ini) Path  C:\WINDOWS

Loaded Configuration File   C:\Program Files\PHP\5.2\php.ini

Tras activar una extensión, guarde el fichero php.ini, reinicie el servidor web y vuelva a comprobar phpinfo(). La nueva extensión debe ahora tener su propia sección.

Resolviendo problemas

Si la extensión no aparece en phpinfo(), compruebe los registro de errores para conocer qué provoca el problema.

Si está utilizando PHP desde la línea de comandos (CLI), podrá leer directamente en pantalla el error en la carga de la extensión.

Si está usando PHP en un servidor web, la localización y formato de los registros vería en función de su software. Por favor, lea la documentación de su servidor web para localizar los registros, dado que esto no lo gestiona el propio ejecutable de PHP.

Los problemas más comunes son la ubicación del fichero DLL, el valor de " extension_dir" en php.ini, y desajustes de configuración en tiempo de compilación.

Si el problema reside en desajustes de configuración en tiempo de compilación, seguramente se deba a que no se ha descargado el fichero DLL correcto. Pruebe a descargar de nuevo la extensión con los ajustes correctos. De nuevo, phpinfo() puede resultar de gran ayuda.

Descarga de extensiones PECL
Compilando extensiones PECL compartidas con el comando pecl
Instalación de extensiones PECL


Compilando extensiones PECL compartidas con el comando pecl

PECL facilita la creación de extensiones PHP compartidas. Usando el » comando pecl, haga lo siguiente:

$ pecl install extname

Esto descargará el código fuente de extname, lo compilará, e instalará extname.so en su extension_dir. Ahora se puede cargar extname.so mediante php.ini

Por omisión, el comando pecl no instalará paquetes marcados en los estados alpha o beta. Si no hay paquetes disponibles en estado stable, podrá instalar un paquete en estado beta utilizando el siguiente comando:

$ pecl install extname-beta

Del mismo modo, podrá también instalar una versión en concreto usando esta variante:

$ pecl install extname-0.1

Nota:

Tras activar la extensión en php.ini, será necesario reiniciar el servidor web para hacer efectivos los cambios.

Instalación una extensión de PHP en Windows
Compilando extensiones PEC compartidas con phpize
Instalación de extensiones PECL


Compilando extensiones PEC compartidas con phpize

A menudo no es posible utilizar el instalador pecl. Esto se puede deber a que se encuentra tras un cortafuegos, o a que la extensión que trata de instalar no está disponible como paquete compatible con PECL, como por ejemplo extensiones no liberadas desde el SVN. Si necesita construir una extensión de este tipo, puede llevar a cabo esta tarea manualmente utilizando las herramientas de construcción de bajo nivel.

El comando phpize se utiliza para preparar el entorno de compilación de la extensión de PHP. En el siguiente ejemplo, el fuente de una extensión se ubica en un directorio llamado extname:

$ cd extname
$ phpize
$ ./configure
$ make
# make install

En caso de que la instalación sea correcta, se creará extname.so y se salvará en el directorio de extensiones de PHP. Quizá necesite ajustar el fichero php.ini y añadir una línea extension=extname.so antes de poder usar la extensión.

Si el sistema no contiene el comando phpize, y se están utilizando paquetes pre-compilados (como RPM), asegúrese de instalar también la versión de desarrollo apropiada del paquete PHP, dado que a menudo incluyen el comando phpize con los ficheros de cabeceras necesarios para construir PHP y sus extensiones.

Ejecute phpize --help para mostrar información de uso adicional.

Compilando extensiones PECL compartidas con el comando pecl
php-config
Instalación de extensiones PECL


php-config

php-config es una utilidad de consola que permite obtener información sobre la configuración de la instalación de PHP.

A la hora de compilar extensiones, si se tuvieran varias versiones de PHP instaladas, se podrá especificar sobre cuál se va a construir usando el modificador --with-php-config durante la configuración, donde especificaremos la ruta a su respecto script php-config.

En cualquier momento podrá consutlarse la lista de opciones de la utilidad php-config ejecutando php-config con el modificador -h :

Usage: /usr/local/bin/php-config [OPTION]
Options:
  --prefix            [...]
  --includes          [...]
  --ldflags           [...]
  --libs              [...]
  --extension-dir     [...]
  --include-dir       [...]
  --php-binary        [...]
  --php-sapis         [...]
  --configure-options [...]
  --version           [...]
  --vernum            [...]

Opciones de línea de comandos
Opción | Descripción
--prefix | Prefijo del directorio donde PHP está instalado, p.ej. /usr/local
--includes | Lista de opciones -I con todos los ficheros incluídos
--ldflags | Banderas LD con las que se ha compilado PHP
--libs | Bibliotecas extras con las que se ha compilado PHP
--extension-dir | Directorio en el que se buscan por omisión las extensiones
--include-dir | Prefijo de directorio donde se buscan por omisión los ficheros de cabeceras
--php-binary | Ruta completa al binario de php CLI o CGI
--php-sapis | Muestra todos los módulos SAPI disponibles
--configure-options | Opciones de configuración para recrear la configuración de la instalación actual de PHP
--version | Versión de PHP
--vernum | Versión de PHP en forma de entero

Compilando extensiones PEC compartidas con phpize
Compilando extensiones PECL estáticamente en PHP
Instalación de extensiones PECL


Compilando extensiones PECL estáticamente en PHP

Quizá necesite construir una extensión PECL estáticamente en su binario de PHP. Para hacer esto, necesitará ubicar el fuente de la extensión bajo el directorio php-src/ext/ e indicarle al sistema de construcción de PHP que regenere su script de configuración.

$ cd /your/phpsrcdir/ext
$ pecl download extname
$ gzip -d < extname.tgz | tar -xvf -
$ mv extname-x.x.x extname

Esto generará el siguiente directorio:

/your/phpsrcdir/ext/extname

Desde aquí, fuerce a PHP a regenerar el script de configuración, y entonces construya PHP con normalidad:

$ cd /your/phpsrcdir
$ rm configure
$ ./buildconf --force
$ ./configure --help
$ ./configure --with-extname --enable-someotherext --with-foobar
$ make
$ make install

Nota: Necesitará autoconf 2.13 y automake 1.4+ para ejecutar el script 'buildconf' (es posible que funcionen versiones más recientes de autoconf, pero no están oficialmente soportadas).

Dependiendo de la extensión, utilizará --enable-extname o --with-extname. Las extensiones que no requieren de bibliotecas externas generalmente utilizan --enable. Para asegurarse, ejecute el siguiente comando después de buildconf:

$ ./configure --help | grep extname

php-config
¿Problemas?
Instalación de extensiones PECL


¿Problemas?

Tabla de contenidos

  • Lea el FAQ
  • Otros problemas
  • Informar sobre bugs
Compilando extensiones PECL estáticamente en PHP
Lea el FAQ
Instalación y configuración


Lea el FAQ

Algunos problemas son más comunes que otros. Los más comunes están listados en la parte del manual PHP FAQ.

¿Problemas?
Otros problemas
¿Problemas?


Otros problemas

Si sigue bloqueado, seguramente alguien de la lista de correo de la instalación de PHP podrá ayudarle. Se debe consultar el archivo primero, para comprobar si alguien ya haya contestado a otra persona que haya tenido el mismo problema. Los archivos están disponibles desde la página de soporte en » http://www.php.net/support.php. Para subscribirse a la lista de correo de la instalación de PHP (en Inglés), envíe un E-Mail vacío a » php-install-subscribe@lists.php.net. La lista de correo es » php-install@lists.php.net.

Si quiere obtener ayuda de la lista de correo, por favor trate de ser preciso y dar toda la información necesaria a cerca de su entorno (qué sistema operativo, que versión de PHP, que tipo de servidor web, si está usando PHP como GCI o como módulo, safe mode, etc.), y preferiblemente suficiente código para que otras personas sean capaces de reproducir y comprobar su problema.

Lea el FAQ
Informar sobre bugs
¿Problemas?


Informar sobre bugs

Si cree que ha encontrado un bug en PHP, por favor informe. Los desarrolladores de PHP probablemente no están informados a cerca del problema y a no ser que lo mencione, es muy provable que no sea solucionado. Puede informar sobre bugs usando el sistema de bug-tracking en » http://bugs.php.net/. Por favor no envie informes de bugs a listas de correos o cartas personales. El sistema de bugs también está capacitado para enviar sugerencias y peticiones.

Lea el documento » Como informar sobre bugs antes de enviar cualquier informe de bugs!

Otros problemas
Configuración en tiempo de ejecución
¿Problemas?


Configuración en tiempo de ejecución

Tabla de contenidos

  • El fichero de configuración
  • Ficheros .user.ini
  • Dónde se puede realizar un ajuste de configuración
  • Cómo cambiar los ajustes de configuración
Informar sobre bugs
El fichero de configuración
Instalación y configuración


El fichero de configuración

El fichero de configuración (php.ini) es leído al arrancar PHP. En las versiones en que PHP funciona como módulo de servidor, esto sucede únicamente cuando se inicia el servidor. En las versiones CGI y CLI, esto ocurre en cada ejecución.

El fichero php.ini se busca en las siguientes ubicaciones (en orden):

  • La ubicación específica de módulo SAPI (directiva PHPIniDir en Apache 2, opción de línea de comandos -c en CGI y CLI, parámetro php_ini en NSAPI, variable de entorno PHP_INI_PATH en THTTPD)
  • La variable de entorno PHPRC. Antes de PHP 5.2.0, esta ubicación se comprobaba después de la clave de registro mencionada más abajo.
  • A partir de PHP 5.2.0, se puede establecer la ubicación del fichero php.ini para diferentes versiones de PHP. Se examinan en orden las siguientes claves de registro: [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z], [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y] y [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x], donde 'x', 'y' y 'z' significan la versión mayor, menor, y de edición de PHP. Si existiera un valor para IniFilePath en cualquiera de estas claves, la primera en ser encontrada se utilizaría como ubicación del fichero php.ini (solo en Windows).
  • [HKEY_LOCAL_MACHINE\SOFTWARE\PHP], valor de IniFilePath (solo en Windows).
  • El directorio actual de trabajo (excepto CLI)
  • El directorio del servidor web (para módulos SAPI), o el directorio de PHP (excepto en Windows)
  • El directorio de Windows (C:\windows o C:\winnt) (para Windows), o la opción en tiempo de compilación --with-config-file-path.

Si existiera el fichero php-SAPI.ini (donde SAPI es la SAPI en uso, por ejemplo, php-cli.ini o php-apache.ini), se usaría éste en lugar de php.ini. Se puede determinar el nombre de la SAPI usando php_sapi_name().

Nota:

El servidor web Apache cambia el directorio al raíz al arrancar, haciendo que PHP intente leer php.ini desde el sistema de ficheros raíz si existiera.

Las variables de entorno se pueden usar en php.ini como se muestra abajo.

Ejemplo #1 Variables de entorno de php.ini

; PHP_MEMORY_LIMIT se toma del entorno
memory_limit = ${PHP_MEMORY_LIMIT}

Las directivas de php.ini manejadas por extensiones están documentadas en la propia página de cada extensión. Hay una lista de directivas del núcleo disponible en el apéndice. Es posible que no todas las directivas de PHP estén documentadas en el manual: para consultar una lista completa de las directivas disponibles en su versión de PHP, por favor, lea los comentarios del fichero php.ini. Adicionalmente, puede encontrar útil » el último php.ini desde Git.

Ejemplo #2 Ejemplo de php.ini

; todo texto en una línea tras un punto y coma sin comillas (;) será ignorado
[php] ; los marcadores de sección (textos entre corchetes) también se ignoran
; Los valores de tipo boolean puede establecerse a:
;    true, on, yes
; o  false, off, no, none
register_globals = off
track_errors = yes

; se pueden encerrar los strings entre comillas dobles
include_path = ".:/usr/local/lib/php"

; las barras invertidas reciben el mismo tratamiento que el resto de caracteres
include_path = ".;c:\php\lib"

A partir de PHP 5.1.0, es posible hacer referencia a variables .ini ya existentes desde el propio fichero .ini. Ejemplo: open_basedir = ${open_basedir} ":/new/dir".

Configuración en tiempo de ejecución
Ficheros .user.ini
Configuración en tiempo de ejecución


Ficheros .user.ini

A partir de PHP 5.3.0 se incluye soporte para ficheros de configuración INI a nivel de directorios. Estos ficheros solo los procesa la SAPI CGI/FastCGI. Esta funcionalidad deja obsoleta la extensión PECL htscanner. Si está usando Apache, use los ficheros .htaccess para lograr el mismo efecto.

Además del fichero php.ini principal, PHP explora cada directorio en busca de ficheros INI, empezando por el directorio del fichero PHP solicitado, y continuando hasta el directorio raíz de documentos (tal y como esté establecido en $_SERVER['DOCUMENT_ROOT']). En el caso de que el fichero PHP se encuentre fuera del directorio raíz de documentos, sólo se explorará su directorio.

En los ficheros INI estilo .user.ini sólo se reconocerán las cofiguraciones INI que tengan los modos PHP_INI_PERDIR y PHP_INI_USER.

Las dos nuevas directivas INI, user_ini.filename y user_ini.cache_ttl controlan el uso de los ficheros INI de usuarios.

user_ini.filename establece el nombre del fichero que PHP buscará en cada directorio; si se establece un string vacío, PHP no realizará ninguna búsqueda. El nombre por omisión es .user.ini.

user_ini.cache_ttl controla con qué frecuencia se releen los ficheros INI de usuario. El valor por omisión es 300 segundos (5 minutos).

El fichero de configuración
Dónde se puede realizar un ajuste de configuración
Configuración en tiempo de ejecución


Dónde se puede realizar un ajuste de configuración

Estos modos determinan cuándo y dónde se debe o no asignar una directiva de PHP, y cada directiva del manual hace referencia a uno de estos modos. Por ejemplo, algunos ajustes pueden establecerse en scripts de PHP usando ini_set(), mientras que otros requieren hacerlo en php.ini o en httpd.conf.

Por ejemplo, el ajuste output_buffering es PHP_INI_PERDIR por tanto no puede establecerse usando ini_set(). Sin embargo, la directiva display_errors es PHP_INI_ALL por tanto se puede establecer en cualquier lugar, incluso con ini_set().

Definición de los modos PHP_INI_*
Modo | Significado
PHP_INI_USER | La entrada se puede establecer en scripts de usuario (como con ini_set()) o en el registro de Windows. Desde PHP 5.3, la entrada puede ser establecida en .user.ini
PHP_INI_PERDIR | La entrada se puede establecer en php.ini, .htaccess, httpd.conf o .user.ini (desde PHP 5.3)
PHP_INI_SYSTEM | La entrada se puede establecer en php.ini o en httpd.conf
PHP_INI_ALL | La entrada se puede establecer en cualquier lugar

Ficheros .user.ini
Cómo cambiar los ajustes de configuración
Configuración en tiempo de ejecución


Cómo cambiar los ajustes de configuración

Ejecutar PHP como un módulo de Apache

Cuando se usa PHP como un módulo de Apache, se pueden cambiar los ajustes de configuración usando directivas en los ficheros de configuración de Apache (p.ej. httpd.conf) y en los ficheros .htaccess. Se necesitarán los privilegios "AllowOverride Options" o "AllowOverride All" para poder hacerlo.

Existen varias directivas de Apache que permiten cambiar la configuración de PHP desde los propios ficheros de configuración de Apache. Para un listado las directivas que son PHP_INI_ALL, PHP_INI_PERDIR, o PHP_INI_SYSTEM, consulte el apéndice de la Lista de directivas de php.ini.

php_value nombre valor

Establece el valor de la directiva especificada. Sólo puede usarse con las directivas de tipo PHP_INI_ALL y PHP_INI_PERDIR. Para borrar un valor previamente establecido, use none como valor.

Nota: No use php_value para establecer valores boolean. Debe usarse en su lugar php_flag (ver más abajo).

php_flag nombre on|off

Usado para establecer una directiva de configuración de tipo boolean. Sólo puede usarse con las directivas de tipo PHP_INI_ALL y PHP_INI_PERDIR.

php_admin_value nombre valor

Establece el valor de la directiva especificada. Esto no se puede usar en ficheros .htaccess. Ninguna directiva establecida con php_admin_value podrá ser sobrescrita por .htaccess o por ini_set(). Para borrar un valor establecido previamente use none como valor.

php_admin_flag nombre on|off

Usado para establecer una directiva de configuración de tipo boolean. Esto no se puede usar en ficheros .htaccess. Ninguna directiva establecida con php_admin_flag podrá ser sobrescrita por .htaccess o por ini_set().

Ejemplo #1 Ejemplo de configuración de Apache

<IfModule mod_php5.c>
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag engine on
</IfModule>
<IfModule mod_php4.c>
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag engine on
</IfModule>

Precaución

Las constantes de PHP no existen fuera de PHP. Por ejemplo, en httpd.conf no se pueden usar constantes de PHP tales como E_ALL o E_NOTICE para establecer la directiva error_reporting puesto que no tendrán ningún significado y se evaluarán como 0. Use en su lugar la máscara de bits asociada. Estas constantes sí pueden ser usadas en php.ini

Cambiar la configuración de PHP a través del registro de Windows

Cuando se ejecuta PHP en Windows, se pueden modificar los valores de configuración a nivel de directorio usando el registro de Windows. Los valores de configuración se almacenan en la clave de registro HKLM\SOFTWARE\PHP\Per Directory Values, en las subclaves correspondientes a los nombres de ruta. Por ejemplo, los valores de configuración para el directorio c:\inetpub\wwwroot se almacenarían en la clave HKLM\SOFTWARE\PHP\Per Directory Values\c\inetpub\wwwroot. Los ajustes para el directorio estarán activos para cualquier script dentro de este directorio o en cualquiera de sus subdirectorios. Los valores bajo esta clave deberían tener el nombre de la directiva de configuración de PHP y el valor como string. Las constantes de PHP usadas como valor no serán procesadas. En cualquier caso, únicamente los valores de configuración modificables de PHP_INI_USER podrán establecerse con este método, mientras que los valores de PHP_INI_PERDIR no.

Otras interfaces a PHP

Independientemente de cómo ejecute PHP, se pueden cambiar determinados valores de los scripts en tiempo de ejecución mediante ini_set(). Consulte la documentación de la página ini_set() para más información.

Si está interesado en una lista completa de los ajustes de configuración en su sistema con sus valores actuales, puede ejecutar la función phpinfo(), y consultar la página mostrada. Puede también acceder a los valores de directivas de configuración concretas usando ini_get() o get_cfg_var().

Dónde se puede realizar un ajuste de configuración
Referencia del lenguaje
Configuración en tiempo de ejecución


Referencia del lenguaje

  • Sintaxis básica
    • Etiquetas de PHP
    • Salir de HTML
    • Separación de instrucciones
    • Comentarios
  • Tipos
    • Introducción
    • Booleanos
    • Enteros
    • Números de punto flotante
    • Cadenas
    • Arrays
    • Objetos
    • Recursos
    • NULO
    • Llamadas de retorno
    • Pseudo tipos y variables usadas en esta documentación
    • Manipulación de tipos
  • Variables
    • Conceptos básicos
    • Variables Predefinidas
    • Ámbito de las variables
    • Variables variables
    • Variables Desde Fuentes Externas
  • Constantes
    • Sintaxis
    • Constantes predefinidas
  • Expresiones
  • Operadores
    • Precedencia de operadores
    • Operadores aritméticos
    • Operadores de asignación
    • Operadores bit a bit
    • Operadores de comparación
    • Operadores de control de errores
    • Operadores de ejecución
    • Operadores de incremento/decremento
    • Operadores lógicos
    • Operadores para strings
    • Operadores para arrays
    • Operadores de tipo
  • Estructuras de Control
    • Introducción
    • if
    • else
    • elseif/else if
    • Sintaxis alternativa de estructuras de control
    • while
    • do-while
    • for
    • foreach
    • break
    • continue
    • switch
    • declare
    • return
    • require
    • include
    • require_once
    • include_once
    • goto
  • Funciones
    • Funciones definidas por el usuario
    • Argumentos de funciones
    • Devolver valores
    • Funciones variables
    • Funciones internas (incluidas)
    • Funciones anónimas
  • Clases y Objetos
    • Introducción
    • Lo básico
    • Propiedades
    • Constantes de Clases
    • Autocarga de clases
    • Constructores y destructores
    • Visibilidad
    • Herencia de Objetos
    • Operador de Resolución de Ámbito (::)
    • La palabra clave 'static'
    • Abstracción de clases
    • Interfaces de objetos
    • Traits
    • Sobrecarga
    • Iteración de objetos
    • Métodos mágicos
    • Palabra clave Final
    • Clonación de Objetos
    • Comparación de Objetos
    • Implicación de Tipos
    • Enlace estático en tiempo de ejecución
    • Objetos y referencias
    • Serialización de objetos
    • Registro de cambios de POO
  • Espacios de Nombres
    • Visión general de los espacios de nombres
    • Definir espacios de nombres
    • Declarar subespacios de nombres
    • Definir múltiples espacios de nombres en el mismo archivo
    • Usar espacios de nombres: Lo básico
    • Espacios de Nombres y características dinámicas del lenguaje
    • La palabra clave namespace y la constante __NAMESPACE__
    • Usar espacios de nombres: Apodar/Importar
    • Espacio global
    • Usar espacios de nombres: una alternativa a funciones/constantes globales
    • Reglas de resolución de nombres
    • FAQ: cosas que se necesitan saber sobre los espacios de nombres
  • Excepciones
    • Ampliar las Excepciones
  • Generadores
    • Información general
    • Generator syntax
    • Comparación entre generadores y objetos Iterator
  • Referencias Explicadas
    • ¿Qué son las Referencias?
    • ¿Qué hacen las referencias?
    • ¿Qué NO son las Referencias?
    • Pasar por Referencia
    • Devolver Referencias
    • Destruir Referencias
    • Ubicar las Referencias
  • Variables predefinidas
    • Superglobals — Superglobals son variables internas que están disponibles siempre en todos los ámbitos
    • $GLOBALS — Hace referencia a todas las variables disponibles en el ámbito global
    • $_SERVER — Información del entorno del servidor y de ejecución
    • $_GET — Variables HTTP GET
    • $_POST — Variables HTTP POST
    • $_FILES — Variables de Carga de Archivos HTTP
    • $_REQUEST — Variables HTTP Request
    • $_SESSION — Variables de sesión
    • $_ENV — Variables de entorno
    • $_COOKIE — Cookies HTTP
    • $php_errormsg — El mensaje de error anterior
    • $HTTP_RAW_POST_DATA — Datos POST sin tratar
    • $http_response_header — Encabezados de respuesta HTTP
    • $argc — El número de argumentos pasados a un script
    • $argv — Array de argumentos pasados a un script
  • Excepciones predefinidas
    • Exception
    • ErrorException
  • Interfaces y clases predefinidas
    • Traversable — La interfaz Traversable
    • Iterator — La interfaz Iterator
    • IteratorAggregate — La interfaz IteratorAggregate
    • ArrayAccess — La interfaz ArrayAccess
    • Serializable — La interfaz Serializable
    • Closure — La clase Closure
    • Generator — The Generator class
  • Opciones de contexto y parámetros
    • Opciones de contexto de sockets — Listado de opciones de contexto de sockets
    • Opciones de contexto de HTTP — Lista de opciones de contexto de HTTP
    • Opciones de contexto para FTP — Listado de opciones de contexto para FTP
    • Opciones de contexto para SSL — Listado de opciones de contexto para SSL
    • Opciones de contexto para CURL — Listado de opciones de contexto para CURL
    • Opciones de contexto Phar — Listado de opciones de contexto Phar
    • Contexto parámetros — Listado de parámetros de contexto
  • Protocolos y Envolturas soportados
    • file:// — Acceso al sistema de ficheros local
    • http:// — Acceso a URLS en HTTP(s)
    • ftp:// — Acceso a URLs por FTP(s)
    • php:// — Acceso a distintos flujos de E/S
    • zlib:// — Flujos de compresión
    • data:// — Data (RFC 2397)
    • glob:// — Encuentra las rutas que coincidan con el patrón
    • phar:// — Archivo PHP
    • ssh2:// — Secure Shell 2
    • rar:// — RAR
    • ogg:// — Flujos de audio
    • expect:// — Flujos de Interacción de Procesos
Cómo cambiar los ajustes de configuración
Sintaxis básica
Manual de PHP


Sintaxis básica

Tabla de contenidos

  • Etiquetas de PHP
  • Salir de HTML
  • Separación de instrucciones
  • Comentarios
Referencia del lenguaje
Etiquetas de PHP
Referencia del lenguaje


Etiquetas de PHP

Cuando PHP interpreta un fichero, busca las etiquetas de apertura y cierre, que son <?php y ?>, y que indican a PHP dónde empezar y finalizar la interpretación del código. Este mecanismo permite a PHP ser incrustado en todo tipo de documentos, ya que todo lo que esté fuera de las etiquetas de PHP será ignorado por el intérprete.

PHP también permite las etiquetas abreviadas <? y ?> (las cuales están desaconsejadas debido a que sólo están disponibles si se habilitan con la directiva short_open_tag del fichero de configuración php.ini, o si PHP se configuró con la opción --enable-short-tags .

Si un fichero contiene código PHP puro, es preferible omitir la etiqueta de cierre de PHP al final del fichero. Esto impide que se añadan espacios en blanco o nuevas líneas después de la etiqueta de cierre de PHP, los cuales pueden causar efectos no deseados debido a que PHP iniciará la salida del buffer cuando no había intención por parte del programador de enviar ninguna salida en ese punto del script.

<?php
echo "Hola mundo";

// ... más código

echo "Última sentencia";

// el script finaliza aquí sin etiqueta de cierre de PHP

Sintaxis básica
Salir de HTML
Sintaxis básica


Salir de HTML

Cualquier cosa fuera del par de etiquetas de apertura y cierre es ignorado por el intérprete de PHP, el cual permite que los ficheros de PHP tengan contenido mixto. Esto permite que PHP sea embebido en documentos HTML para, por ejemplo, crear plantillas.

<p>Esto va a ser ignorado por PHP y mostrado por el navegador.</p>
<?php echo 'Mientras que esto va a ser interpretado.'; ?>
<p>Esto también será ignorado por PHP y mostrado por el navegador.</p>
Esto funciona como se espera, porque cuando PHP intercepta las etiquetas de cierre ?>, simplemente comienza a imprimir cualquier cosa que encuentre (a excepción de un una nueva línea inmediatamente después - véase separación de instrucciones) haste que dé con otra etiqueta de apertura a menos que se encuentre en mitad de una sentencia condicional, en cuyo caso el intérprete determinará el resultado de la condición antes de tomar una decisión de qué es lo que tiene que saltar. Vea el siguiente ejemplo.

Usar estructuras con condiciones

Ejemplo #1 Salida avanzada usando condiciones

<?php if ($expresión == true): ?>
  Esto se mostrará si la expresión es verdadera.
<?php else: ?>
  En caso contrario se mostrará esto.
<?php endif; ?>
En este ejemplo, PHP saltará los bloques donde la condición no se cumpla, incluso si están fuera de las etiquetas de apertura/cierre de PHP, PHP los saltará según la condición, ya que el intérprete saltará por encima de los bloques contenidos dentro de una condición que no se cumpla.

Para imprimir bloques de texto grandes, es más eficiente abandonar el modo intérprete de PHP que enviar todo el texto a través de echo o print.

Existen cuatro tipos de pares de etiquetas de apertura y de cierre que se pueden usar en PHP. Dos de estas, <?php ?> y <script language="php"> </script>, siempre están disponibles. Las otras dos son las etiquetas abreviadas y las etiquetas estilo ASP, que se pueden activar o desactivar desde el fichero de configuración php.ini Aunque algunas personas encuentran las etiquetas abreviadas y las etiquetas estilo ASP más convenientes, son menos portables y generalmente no se recomiendan.

Nota:

Observe también que si se está incrustando PHP dentro de XML o XHTML necesitará usar las etiquetas <?php ?> para seguir los estándares.

Ejemplo #2 Etiquetas de apertura y de cierre de PHP

1.  <?php echo 'si se quiere mostrar documentos XHTML o XML, debe hacerse así'; ?>

2.  <script language="php">
        echo 'algunos editores (como FrontPage) no les gusta
              las instruciones de proceso';
    </script>

3.  <? echo 'esta es la forma más simple, una instrución de procesado SGML'; ?>
    <?= expresión ?> Esto es una forma abreviada de "<? echo expresión ?>"

4.  <% echo 'Quizá use de forma opcional etiquetas de estilo ASP'; %>
    <%= $variable; # Esto es una forma abreviada de "<% echo . . ." %>

Las etiquetas vistas en los ejemplos uno y dos están siempre disponibles; el ejemplo uno es el más común y recomendado de los dos.

Las etiquetas abreviadas (ejemplo tres) están solo disponibles cuando se activan mediante la directiva short_open_tag del fichero de configuración php.ini o si PHP se configuró con la opción --enable-short-tags .

Las etiquetas de estilo ASP (ejemplo cuatro) están solo disponibles cuando se activan mediante la directiva asp_tags del fichero de configuración php.ini.

Nota:

Se debe evitar el uso de etiquetas abreviadas cuando se desarrollen aplicaciones o bibliotecas que estén pensadas para su redistribución o despliegue en servidores PHP que no estén bajo su control, porque puede que las etiquetas abreviadas no estén soportadas en un servidor determinado. Por portabilidad y código redistribuible, asegúrese de no usar etiquetas abreviadas.

Nota:

En PHP 5.2 y anteriores, el intérprete no permite que un fichero contenga únicamente la etiqueta de apertura <?php. A partir de PHP 5.3 sí se permite siempre que existan uno o más caracteres espacio en blanco después de la etiqueta de apertura.

Nota:

Desde PHP 5.4, la etiqueta abreviada de echo <?= siempre es reconocida y válida, sin tener en cuenta la configuración de short_open_tag.

Etiquetas de PHP
Separación de instrucciones
Sintaxis básica


Separación de instrucciones

Como en C o en Perl, PHP requiere que las instrucciones terminen en punto y coma al final de cada sentencia. La etiqueta de cierre de un bloque de código de PHP automáticamente implica un punto y coma; no es necesario usar un punto y coma para cerrar la última línea de un bloque de PHP. La etiqueta de cierre del bloque incluirá la nueva línea final inmediata si está presente.

<?php
    echo 'Esto es una prueba';
?>

<?php echo 'Esto es una prueba' ?>

<?php echo 'Hemos omitido la última etiqueta de cierre';

Nota:

La etiqueta de cierre de un bloque de PHP es opcional al final de un fichero, y en algunos casos es útil omitirla cuando se usa include o require, para que no se produzcan espacios en blanco al final de los ficheros, y así se podrán añadir aún cabeceras para la respuesta posterior. También es práctico si se utiliza la salida del buffer y no se desean espacios en blanco no deseados al final de las partes generadas por ficheros incluídos.

Salir de HTML
Comentarios
Sintaxis básica


Comentarios

PHP soporta comentarios 'C', 'C++' y etilo consola Unix (estilo Perl). Por ejemplo:

<?php
    echo 'Esto es una prueba'; // Esto es un comentario estilo c++ de una sola línea
    /* Esto es un comentario multi-línea
       y otra lína de comentarios */
    echo 'Esto es otra prueba';
    echo 'Una prueba final'; # Esto es un comentario estilo consola de una sola línea
?>

Los comentarios del estilo "una sola línea" solo comentan hasta el final de la línea o del bloque actual de código de PHP, lo primero que suceda. Esto implica que el código HTML después de // ... ?> o # ... ?> SERÁ impreso: ?> sale del modo PHP y vuelve al modo HTML, por lo que // o # no pueden influir en eso. Si la directiva de configuración asp_tags está activada, actúa igual que // %> y # %>. Sin embargo, la etiqueta </script> no sale del modo PHP en un comentario de una sola línea.

<h1>Esto es un <?php # echo 'simple';?> ejemplo</h1>
<p>El encabezado anterior dirá 'Esto es un  ejemplo'.</p>

Los comentarios al estilo 'C' finalizan con el primer */ que se encuentre. Asegúrese de no anidar comentarios al estilo 'C'. Es muy fácil cometer este error cuando se intenta comentar un bloque grande de código.

<?php
 /*
    echo 'Esto es una prueba'; /* Este comentario causará un problema*/
 */
?>

Separación de instrucciones
Tipos
Sintaxis básica


Tipos

Tabla de contenidos

  • Introducción
  • Booleanos
  • Enteros
  • Números de punto flotante
  • Cadenas
  • Arrays
  • Objetos
  • Recursos
  • NULO
  • Llamadas de retorno
  • Pseudo tipos y variables usadas en esta documentación
  • Manipulación de tipos
Comentarios
Introducción
Referencia del lenguaje


Introducción

PHP soporta ocho tipos primitivos.

Cuatro tipos escalares:

  • boolean
  • integer
  • float (número de punto flotante, también conocido como double)
  • string

Dos tipos compuestos:

  • array
  • object

Y finalmente dos tipos especiales:

  • resource
  • NULL

Este manual introduce también algunos pseudo-tipos por razones de legibilidad:

  • mixed
  • number
  • callback

Y la pseudo-variable $... .

Puede que algunas referencias al tipo "double" aun existan en el manual. Considere al tipo double como el mismo que float; los dos nombres existen sólo por razones históricas.

El tipo de una variable usualmente no es declarado por el programador; en cambio, es decidido en tiempo de ejecución por PHP dependiendo del contexto en el que es usado la variable.

Nota: Para comprobar el tipo y el valor de una expresión, utilice la función var_dump().

Para obtener una representación legible para humanos del tipo para propósitos de depuración, use la función gettype(). Para comprobar un cierto tipo, no use gettype(), si no las funciones is_tipo. Algunos ejemplos:

<?php
$un_bool = TRUE;   // un valor booleano
$un_str  = "foo";  // una cadena
$un_str2 = 'foo';  // una cadena
$un_int  = 12;     // un entero

echo gettype($un_bool); // imprime: boolean
echo gettype($un_str);  // imprime: string

// Si este valor es un entero, incrementarlo en cuatro
if (is_int($un_int)) {
    $un_int += 4;
}

// Si $a_bool es una cadena, imprimirla
// (no imprime nada)
if (is_string($un_bool)) {
    echo "Cadena: $un_bool";
}
?>

Para forzar la conversión de una variable a cierto tipo, puede moldear la variable o usar la función settype() sobre ella.

Note que una variable puede ser evaluada con valores diferentes en ciertas situaciones, dependiendo del tipo que posee en cada momento. Para más información, vea la sección sobre Manipulación de Tipos. Las tablas de comparación de tipos pueden resultar útiles también, ya que muestran ejemplos de varias comparaciones relacionadas con tipos.

Tipos
Booleanos
Tipos


Booleanos

Este es el tipo más simple. Un boolean expresa un valor de verdad. Puede ser TRUE o FALSE.

Sintaxis

Para especificar un literal boolean, use alguna de las palabras clave TRUE o FALSE. Ambas son insensibles a mayúsculas y minúsculas.

<?php
$foo = True; // asigna el valor TRUE a $foo
?>

Usualmente, el resultado de un operador que devuelve un valor boolean es pasado a una estructura de control.

<?php
// == es un operador que prueba por
// igualdad y devuelve un booleano
if ($accion == "mostrar_version") {
    echo "La versión es 1.23";
}

// esto no es necesario...
if ($mostrar_separadores == TRUE) {
    echo "<hr>\n";
}

// ...porque se puede escribir simplemente:
if ($mostrar_separadores) {
    echo "<hr>\n";
}
?>

Conversión a booleano

Para convertir explícitamente un valor a boolean, use el moldeamiento (bool) o (boolean). Sin embargo, en la mayoría de casos no es necesario usar el moldeamiento, ya que un valor será convertido automáticamente si un operador, función o estructura de control requiere un argumento tipo boolean.

Vea también Manipulación de Tipos.

Cuando se realizan conversiones a boolean, los siguientes valores son considerados FALSE:

  • el boolean FALSE mismo
  • el integer 0 (cero)
  • el float 0.0 (cero)
  • el valor string vacío, y el string "0"
  • un array con cero elementos
  • un object con cero variables miembro (sólo en PHP 4)
  • el tipo especial NULL (incluyendo variables no definidas)
  • objetos SimpleXML creados desde etiquetas vacías

Cualquier otro valor es considerado TRUE (incluyendo cualquier resource).

Advertencia

-1 es considerado TRUE, como cualquier otro número diferente a cero (¡ya sea negativo o positivo!)

<?php
var_dump((bool) "");        // bool(false)
var_dump((bool) 1);         // bool(true)
var_dump((bool) -2);        // bool(true)
var_dump((bool) "foo");     // bool(true)
var_dump((bool) 2.3e5);     // bool(true)
var_dump((bool) array(12)); // bool(true)
var_dump((bool) array());   // bool(false)
var_dump((bool) "false");   // bool(true)
?>
Introducción
Enteros
Tipos


Enteros

Un entero o integer es un número del conjunto ℤ = {..., -2, -1, 0, 1, 2, ...}.

Consulte tambien:

  • Entero de longitud arbitraria / GMP
  • Números de punto flotante
  • BCMath matemáticas de precisión arbitraria

Sintaxis

Los integer pueden ser especificados mediante notación decimal (base 10), hexadecimal (base 16), octal (base 8) o binaria (base 2), opcionalmente precedidos por un signo (- o +).

Los literales integer binarios están disponibles desde PHP 5.4.0.

Para usar la notación octal, se antepone al número un 0 (cero). Para usar la notación hexadecimal, se antepone al número un 0x. Para usar la notación binaria, se antepone al número un 0b.

Ejemplo #1 Enteros literales

<?php
$a = 1234; // número decimal
$a = -123; // un número negativo
$a = 0123; // número octal (equivalente a 83 decimal)
$a = 0x1A; // número hexadecimal (equivalente a 26 decimal)
$a = 0b11111111; // número binario (equivalente al 255 decimal)
?>

Formalmente, la estructura de integer literales es:

decimal     : [1-9][0-9]*
            | 0

hexadecimal : 0[xX][0-9a-fA-F]+

octal       : 0[0-7]+

binario     : 0b[01]+

entero      : [+-]?decimal
            | [+-]?hexadecimal
            | [+-]?octal
            | [+-]?binary

El tamaño de un integer depende de la plataforma, aunque un valor máximo de aproximadamente dos mil millones es el valor usual (para 32 bits con signo). Las plataformas de 64-bits normalmente tienen un valor máximo de aproximadamente 9E18. PHP no admite integers sin signo. El tamaño de un integer puede ser determinado mediante la constante PHP_INT_SIZE y el valor máximo mediante la constante PHP_INT_MAX desde PHP 4.4.0 y PHP 5.0.5.

Advertencia

Si en un integer octal se da un dígito incorrecto (por ejemplo 8 o 9), el resto del número se ignora.

Ejemplo #2 Octal raros

<?php
var_dump(01090); // 010 octal = 8 decimal
?>

Desbordamiento de enteros

Si PHP encuentra un número fuera de los límites de un integer, se interpretará como un float en su lugar. Tambien, una operación cuyo resultado es un número fuera de los límites de un integer devolverá en su lugar un float.

Ejemplo #3 Desbordamiento de enteros en sistemas 32-bits

<?php
$large_number = 2147483647;
var_dump($large_number);                     // int(2147483647)

$large_number = 2147483648;
var_dump($large_number);                     // float(2147483648)

$million = 1000000;
$large_number =  50000 * $million;
var_dump($large_number);                     // float(50000000000)
?>

Ejemplo #4 Desbordamiento de enteros en sistemas 64-bits

<?php
$large_number = 9223372036854775807;
var_dump($large_number);                     // int(9223372036854775807)

$large_number = 9223372036854775808;
var_dump($large_number);                     // float(9.2233720368548E+18)

$million = 1000000;
$large_number =  50000000000000 * $million;
var_dump($large_number);                     // float(5.0E+19)
?>

No existe operador de división de integer en PHP. 1/2produce el float 0.5. El valor puede ser forzado a ser un integer redondeando por defecto, o mediante la función round() que permite un mayor control sobre el redondeo.

<?php
var_dump(25/7);         // float(3.5714285714286)
var_dump((int) (25/7)); // int(3)
var_dump(round(25/7));  // float(4)
?>

Conversión a enteros

Para convertir explicitamente un valor a integer, se puede emplear tanto (int) como (integer). Sin embargo, la mayoría de las veces la conversión no es necesaria, ya que un valor es convertido de forma automática cuando un operador, función o estructura de control necesite un argumento del tipo integer. Un valor tambien puede ser convertido a integer mediante la función intval().

Consulte también la manipulación de tipos.

Desde booleanos

FALSE produce 0 (cero), y TRUE produce 1 (uno).

Desde números de punto flotante

Cuando se convierte de un float a un integer, el número será redondeado hacia cero.

Si el float esta por debajo de los límites de un integer (normalmente +/- 2.15e+9 = 2^31 en plataformas de 32 bits y +/- 9.22e+18 = 2^63 en plataformas de 64 bits), el resultado es indefinido, debido a que float no tiene la precisión suficiente para ofrecer el resultado como un integer exacto. No se mostrará ninguna advertencia, ni siquiera un aviso cuando esto ocurre!

Advertencia

Nunca se debe convertir una fracción desconocida a un integer, ya que a veces puede producir resultados inesperados.

<?php
echo (int) ( (0.1+0.7) * 10 ); // muestra 7!
?>

Consulte tambien aviso sobre la precisión de float

Desde cadenas

Consulte Conversión de cadenas a números

Desde otros tipos

Precaución

El comportamiento de la conversion de integer a otros tipos es indefinido. No espere que exista un comportamiento esperado, ya que puede cambiar sin previo aviso.

Booleanos
Números de punto flotante
Tipos


Números de punto flotante

Los números de punto flotante (también conocidos como "flotantes", "dobles" o "números reales") pueden ser especificados usando cualquiera de las siguientes sintaxis:

<?php
$a = 1.234;
$b = 1.2e3;
$c = 7E-10;
?>

Formalmente:

LNUM          [0-9]+
DNUM          ([0-9]*[\.]{LNUM}) | ({LNUM}[\.][0-9]*)
EXPONENT_DNUM [+-]?(({LNUM} | {DNUM}) [eE][+-]? {LNUM})

El tamaño de un flotante depende de la plataforma, aunque un valor común consiste en un máximo de ~1.8e308 con una precisión de aproximadamente 14 dígitos decimales (lo que es un valor de 64 bits en formato IEEE).

Advertencia

Precisión del punto flotante

Los números de punto flotante tienen una precisión limitada. Aunque depende del sistema, PHP típicamente utiliza el formato de doble precisión IEEE 754, el cual dará un error relativo máximo por aproximación del orden de 1.11e-16. Las operaciones aritméticas elementales no podrán dar grandes errores y por supuesto, los errores por propagación deben ser considerados cuando varias operaciones son compuestas.

Adicionalmente, los numeros racionales que son representables exactamente como números de punto flotante en base 10, como 0.1 o 0.7, no tienen una representación exacta como números de punto flotante en base 2, el cual es usado internamente, sin importar el tamaño de la mantisa. Por lo tanto, no se puede convertir en sus contrapartes binarias internas sin una pequeña pérdida de precisión. Esto puede llevar a confundir resultados: Por ejemplo, floor((0.1+0.7)*10) usualmente retornará 7 en lugar del 8 esperado, ya que la representación interna será algo así como 7.9999999999999991118....

Así que nunca se confía en resultados de números flotantes hasta el último dígito y no se comparan números de punto flotante directamente para igualdad. Si es necesaria una mejor precisión, están disponibles las funciones matemáticas de precisión arbitraria y las funciones gmp.

Para una explicación "simple", véase la » guía de punto flotante que también se titula "¿Por qué no suman mis números?"

Conversión a flotante

Para más información sobre las conversiones de string a float, vea Conversión de cadenas a números. Para valores de otros tipos, la conversión es la misma que si el valor hubiese sido convertido a integer y luego a float. Vea Conversión a entero para más información. A partir de PHP 5, una noticia es generada si intenta convertir un objeto a float.

Comparing floats

Como se indica en la advertencia anterior, comprobar la igualdad de valores de punto flotante es problemático, debido a la forma en que se representan internamente. Sin embargo, hay maneras de hacer comparaciones de los valores de punto flotante que trabajan rodeando a estas limitaciones.

Para comprobar la igualdad de valores de punto flotante, se utiliza un límite superior en el error relativo debido al redondeo. Este valor se conoce como el epsilon de la máquina o unidad de redondeo y es la menor diferencia aceptable en los cálculos.

$a y $b son iguales a 5 dígitos de precisión.

<?php
$a = 1.23456789;
$b = 1.23456780;
$epsilon = 0.00001;

if(abs($a-$b) < $epsilon) {
    echo "true";
}
?>

NaN

Algunas operaciones numéricas pueden resultar en un valor representado por la constante NAN. Este resultado representa un valor no definido o no representable mediante cálculos de coma flotante. Cualquier comparación, ya sea poco rígida o estricta, de esta valor con cualquier otro valor, incluido él mismo tenfrá un resultado de FALSE.

Ya que NAN representa cualquier número de diferentes valores, NAN no debería compararse con otros valores, incluido él mismo; en su lugar debería comprobarse usando la función is_nan().

Enteros
Cadenas
Tipos


Cadenas

Un string es una serie de caracteres, donde un carácter es lo mismo que un byte. Esto significa que PHP solo admite un conjunto de 256 caracteres, y por lo tanto no tiene soporte nativo para Unicode. Véase detalles del tipo string.

Nota: string puede llegar a alcanzar 2GB de tamaño.

Sintaxis

Un string literal puede ser especificado de cuatro formas diferentes:

  • comillas simples
  • comillas dobles
  • sintaxis heredoc
  • sintaxis nowdoc (desde PHP 5.3.0)

Comillas simples

La manera más sencilla de especificar un string es encerrarlo entre comillas simples (el caracter ').

Para especificar una comilla simple literal, se escapa con una barra invertida (\). Para especificar una barra invertida literal, se duplica (\\). Todas las otras instancias de barras invertidas serán tratadas como una barra invertida literal: esto significa que otras secuencias de escape que se puedan utilizar, tales como \r or \n, serán mostradas literalmente como se especifican en lugar de tener cualquier significado especial

Nota: A diferencia de las sintaxis de comillas dobles y heredoc, las variables y las sentencias de escape para caracteres especiales no se expandirán cuando estén incluidas dentro de un string con comillas simples.

<?php
echo 'Esto es una cadena sencilla';

echo 'Tambien puede incluir nuevas líneas en
cadenas de esta forma ya que es
correcto hacerlo así';

// Resultado: Arnold una vez dijo: "I'll be back"
echo 'Arnold una vez dijo: "I\'ll be back"';

// Resultado: Ha borrado C:\*.*?
echo 'Ha borrado C:\\*.*?';

// Resultado: Ha borrado C:\*.*?
echo 'Ha borrado C:\*.*?';

// Resultado: Esto no se expandirá: \n una nueva línea
echo 'Esto no se expandirá: \n una nueva línea';

// Resultado: Las variables $tampoco se $expandiran
echo 'Las variables $tampoco se $expandiran';
?>

Comillas dobles

Si un string está encerrado entre comillas dobles ("), PHP interpretará más sentencias de escape como caracteres especiales:

Caracteres escapados
Sentencia | Significado
\n | avance de línea (LF o 0x0A (10) en ASCII)
\r | retorno de carro (CR o 0x0D (13) en ASCII)
\t | tabulador horizontal (HT o 0x09 (9) en ASCII)
\v | tabulador vertical (VT o 0x0B (11) en ASCII) (desde PHP 5.2.5)
\e | escape (ESC o 0x1B (27) en ASCII) (desde PHP 5.4.0)
\f | avance de página (FF o 0x0C (12) en ASCII) (desde PHP 5.2.5)
\\ | barra invertida
\$ | signo del dólar
\" | comillas dobles
\[0-7]{1,3} | la secuencia de caracteres que coincida con la expresión regular es un caracter en notación octal
\x[0-9A-Fa-f]{1,2} | la secuencia de caracteres que coincida con la expresión regular es un caracter en notación hexadecimal

Al igual que en la delimitación de un string mediante comillas simples, escapar cualquier otro caracter puede dar lugar a que se muestre tambien la barra invertida. Antes de PHP 5.1.1, la barra invertida en \{$var} no se mostraba.

La característica más importante de entrecomillar un string mediante comillas dobles es el hecho que los nombres de las variables son expandidas. Consulte string parsing para más detalles.

Heredoc

Una tercera forma de delimitar un string es mediante la sintaxis heredoc: <<<. Después de este operador, se deberá ofrecer un identificador y después una nueva línea. A continuación va el propio string, y para cerrar la notación se pone el mismo identificador.

El identificador de cierre debe empezar en la primera columna de la nueva línea. Asimismo, el identificador debe seguir las mismas reglas de nomenclatura de las etiquetas en PHP: debe contener solo caracteres alfanuméricos y guiones bajos, y debe empezar con un caracter alfabético o un guión bajo.

Advertencia

Es muy importante señalar que la línea con el identificador de cierre no debe contener ningún otro carácter, excepto un punto y coma (;). Esto significa especialemnte que el identificador no debe usar sangría, y que no deben existir ningún espacio ni tabulación antes o después del punto y coma. Es muy importante darse cuenta que el primer caracter antes del identificador de cierre debe ser un salto de línea definida por el sistema operativo local. Este es \n en los sistemas UNIX, incluyendo Mac OS X. El delimitador de cierre debe también estar seguido por una nueva línea.

Si se rompe esta regla y el identificador de cierre no está "limpio", no será considerado como un identificador de cierre, y PHP continuará buscando uno. Si no se encuentra ningún identificador de cierre antes del final del fichero, se producirá un error de análisis en la última línea.

Tampoco se puede emplear Heredocs para inicializar las propiedades de una clase. Desde PHP 5.3, esta limitación solo concierne a los heredocs que contengan variables.

Ejemplo #1 Ejemplo no válido

<?php
class foo {
    public $bar = <<<EOT
bar
    EOT;
}
?>

El texto heredoc se comporta como un string entre comillas dobles, pero sin tener comillas dobles. Esto significa que las comillas en Heredoc no necesitan ser escapadas, pero los caracteres escapados indicados arriba se pueden seguir empleando. Las variables son expandidas, y se debe tener el mismo cuidado dentro de un Heredoc cuando se quieren expresar variables complejas, al igual que en los string.

Ejemplo #2 Ejemplo de entrecomillado de string Heredoc

<?php
$str = <<<EOD
Ejemplo de una cadena
expandida en varias líneas
empleando la sintaxis heredoc.
EOD;

/* Un ejemplo más complejo con variables. */
class foo
{
    var $foo;
    var $bar;

    function foo()
    {
        $this->foo = 'Foo';
        $this->bar = array('Bar1', 'Bar2', 'Bar3');
    }
}

$foo = new foo();
$name = 'MiNombre';

echo <<<EOT
Mi nombre es "$name". Estoy escribiendo un poco de $foo->foo.
Ahora, estoy escribiendo un poco de {$foo->bar[1]}.
Esto debe mostrar una 'A' mayúscula: \x41
EOT;
?>

El resultado del ejemplo sería:

Mi nombre es "MiNombre". Estoy escribiendo un poco de Foo.
Ahora, estoy escribiendo un poco de Bar2.
Esto debe mostrar una 'A' mayúscula: A

Tambien se puede emplear la sintaxis Heredoc para pasar datos como argumento de una función:

Ejemplo #3 Ejemplo de Heredoc como argumento

<?php
var_dump(array(<<<EOD
foobar!
EOD
));
?>

Desde PHP 5.3.0 es posible inicializar variables estáticas y propiedades/constantes de clase mediante la sintaxis Heredoc:

Ejemplo #4 Usando Heredoc para inicializar valores estáticos

<?php
// Variables estáticas
function foo()
{
    static $bar = <<<LABEL
Nada aqui dentro...
LABEL;
}

// Propiedades/Constantes de clase
class foo
{
    const BAR = <<<FOOBAR
Ejemplo de constante
FOOBAR;

    public $baz = <<<FOOBAR
Ejemplo de propiedad
FOOBAR;
}
?>

PHP 5.3.0 tambien introdujo la posibilidad en Heredoc de emplear las comillas dobles en declaraciones:

Ejemplo #5 Empleando comillas dobles en Heredoc

<?php
echo <<<"FOOBAR"
Hola Mundo!
FOOBAR;
?>

Nowdoc

Nowdocs son a las cadenas con comillas simples lo mismo que Heredoc lo es a las comillas dobles. Una cadena nowdoc se especifica de forma análoga a la heredoc, pero no se realiza ningún análisis dentro de nowdoc. Esta construcción es ideal para embeber código PHP o grandes fragmentos de texto sin necesidad de escaparlo. Comparte algunas características comunes con la construcción SGML <![CDATA[ ]]>, donde se declara un fragmento de texto que no debe ser analizado.

Una cadena nowdoc se identifica con la misma sintaxis <<< usada para heredoc, pero el identificador que le sigue esta encerrado entre comillas simples, por ejemplo <<<'EOT'. Todas las reglas para los identificadores heredoc también son aplicables a los identificadores nowdoc, especialmente aquellos que se refieren al empleo del identificador de cierre.

Ejemplo #6 Ejemplo de entrecomillado de string Nowdoc

<?php
$str = <<<'EOD'
Ejemplo de una cadena
expandida en varias líneas
empleando la sintaxis nowdoc.
EOD;

/* Un ejemplo más complejo con variables. */
class foo
{
    public $foo;
    public $bar;

    function foo()
    {
        $this->foo = 'Foo';
        $this->bar = array('Bar1', 'Bar2', 'Bar3');
    }
}

$foo = new foo();
$name = 'MiNombre';

echo <<<'EOT'
Mi nombre es "$name". Estoy escribiendo un poco de $foo->foo.
Ahora, estoy escribiendo un poco de {$foo->bar[1]}.
Esto debe mostrar una 'A' mayúscula: \x41
EOT;
?>

El resultado del ejemplo sería:

Mi nombre es "$name". Estoy escribiendo un poco de $foo->foo.
Ahora, estoy escribiendo un poco de {$foo->bar[1]}.
Esto debe mostrar una 'A' mayúscula: \x41

Nota:

A diferencia de heredoc, nowdoc puede ser usado en cuaquier contexto de datos estáticos. Un ejemplo típico es la inicialización de propiedades o constantes en una clase:

Ejemplo #7 Ejemplo de datos estáticos

<?php
class foo {
    public $bar = <<<'EOT'
bar
EOT;
}
?>

Nota:

El soporte de Nowdoc se añadió en PHP 5.3.0.

Análisis de variables

Cuando un string es especificado mediante comillas dobles o mediante sintaxis heredoc, las variables dentro de dicha cadena son analizadas.

Existen dos tipos de sintaxis: una simple y otra compleja. La sintaxis simple es la más empleada y conveniente. Proporciona una forma de incluir una variable, un valor de un array o una propiedad de un object dentro de un string con el mínimo esfuerzo.

La sintaxis compleja puede ser reconocida por las llaves que encierran la expresión.

Sintaxis simple

Si se encuentra un signo de dólar ($), el analizador ávidamente cogerá el mayor número de símbolos para formar un nombre de variable válido. Encerrar el nombre de la variable entre llaves permite especificar explícitamente el final del nombre.

<?php
$jugo = "manzana";

echo "El tomó algo de jugo de $jugo.".PHP_EOL;
// Inválido. "s" es un caracter válido para un nombre de variable, pero la variable es $jugo.
echo "El tomó algo de jugo hecho de $jugos.";
?>

El resultado del ejemplo sería:

El tomó algo de jugo de manzana.
El tomó algo de jugo hecho de .

De forma parecida, el índice de un array o la propiedad de un object puede ser analizado. Con los índices de los arrays, el corchete de cierre (]) marca el final del índice. La misma regla se puede aplicar a las propiedades de los objetos y a las variables simples.

Ejemplo #8 Ejemplo de sintaxis simple

<?php
$jugos = array("manzana", "naranja", "koolaid1" => "púrpura");

echo "El tomó algo de jugo de $jugos[0].".PHP_EOL;
echo "El tomó algo de jugo de $jugos[1].".PHP_EOL;
echo "El tomó algo de jugo hecho de $jugo[0]s.".PHP_EOL;// No funcionará
echo "El tomó algo de jugo $jugos[koolaid1].".PHP_EOL;

class people {
    public $john = "John Smith";
    public $jane = "Jane Smith";
    public $robert = "Robert Paulsen";

    public $smith = "Smith";
}

$people = new people();

echo "$people->john tomó algo de jugo de $jugos[0].".PHP_EOL;
echo "$people->john entonces dijo hola a $people->jane.".PHP_EOL;
echo "La esposa de $people->john's saludó a $people->robert.".PHP_EOL;
echo "$people->robert saludó a los dos $people->smiths."; // No funcionará
?>

El resultado del ejemplo sería:

El tomó algo de jugo de manzana.
El tomó algo de jugo de naranja.
El tomó algo de jugo hecho de s.
El tomó algo de jugo púrpura.
John Smith tomó algo de jugo de manzana.
John Smith entonces dijo hola a Jane Smith.
La esposa de John Smith's saludó a Robert Paulsen.
Robert Paulsen saludó a los dos .

Para casos más complejos se debe emplear la sintaxis compleja.

Sintaxis compleja (llaves)

Esta sintaxis no se llama compleja poque sea compleja de aplicar, sino porque permite el empleo de expresiones complejas.

Cualquier variable escalar, elemento de array o propiedad de objeto con una representación de string puede ser incluido a través de esta sintaxis. Simplemente se escribe la expresión del mismo modo en que debe aparecer por fuera del string, y entonces se encierra ente { y }. Dado que { no puede ser escapado, esta sintaxis será reconocida únicamente cuando el $ siga inmediatamente al {. Utilice {\$ para obtener un {$ literal. Algunos ejemplos para que quede más claro:

<?php
// Muestra todos los errores
error_reporting(E_ALL);

$great = 'fantastico';

// No funciona, resultado: Esto es { fantastico}
echo "Esto es { $great}";

// Funciona, resultado: Esto es fantastico
echo "Esto es {$great}";
echo "Esto es ${great}";

// Funciona
echo "Este cuadrado tiene {$square->width}00 centímetros de lado.";

// Funciona, claves entre comillas sólo funcionan utilizando la sintaxis de llaves
echo "Esto funciona: {$arr['key']}";

// Funciona
echo "Funciona: {$arr[4][3]}";

// No funciona por la misma razón que $foo[bar] es incorrecto fuera de una cadena.
// En otras palabras, funcionaría pero solo porque PHP primero busca por una constante
// llamada foo; un error del nivel E_NOTICE (constante no definida) puede ser lanzado.
echo "No funciona: {$arr[foo][3]}";

// Funciona. Cuando se usan arrays multidimensionales, siempre emplee llaves encerrando
// los arrays cuando se encuentre dentro de una cadena
echo "Funciona: {$arr['foo'][3]}";

// Funciona.
echo "Funciona: " . $arr['foo'][3];

echo "Tambien funciona: {$obj->values[3]->name}";

echo "Este es el valor de la variable llamada $name: {${$name}}";

echo "Este es el valor de la variable llamada por el valor de retorno de getName(): {${getName()}}";

echo "Este es el valor de la variable llamada por el valor de retorno de \$object->getName(): {${$object->getName()}}";

//No funciona, imprime: Esto es el valor de retorno de getName(): {getName ()}
echo "Esto es el valor de retorno de getName(): {getName()}";
?>

También es posible acceder a las propiedades de una clase usando variables dentro de cadenas al emplear ésta sintaxis.

<?php
class foo {
    var $bar = 'Soy bar.';
}

$foo = new foo();
$bar = 'bar';
$baz = array('foo', 'bar', 'baz', 'quux');
echo "{$foo->$bar}\n";
echo "{$foo->$baz[1]}\n";
?>

El resultado del ejemplo sería:

Soy bar.
Soy bar.

Nota:

Funciones, llamadas a métodos, variables estáticas de clases y constantes de clases dentro de {$} funcionan desde PHP 5. Sin embargo, el valor accedido puede ser interpretado como el nombre de la variable en el ámbito en el que la cadena está definida. Empleando llaves simples ({}) no servirá para acceder al valor de retorno de las funciones o métodos, constantes o variables estáticas de clases.

<?php
// Muestra todos los errores.
error_reporting(E_ALL);

class beers {
    const softdrink = 'rootbeer';
    public static $ale = 'ipa';
}

$rootbeer = 'A & W';
$ipa = 'Alexander Keith\'s';

// Funciona; resultado: Me gusta una A & W
echo "Me gusta una {${beers::softdrink}}\n";

// Tambien funciona; resultado: Me gusta una Alexander Keith's
echo "Me gusta una {${beers::$ale}}\n";
?>

Acceso a cadenas y modificacion por caracteres

Los caracteres dentro de un string pueden ser accedidos y modificados especificando la posición de caracter deseado (en base a la posición cero del primer caracter del string) empleando los corchetes de array, como en $str[42]. Piense en este caso que un string se comporta como un array de caracteres. Las funciones substr() y substr_replace() pueden ser empleados para extraer y reemplazar más de un caracter.

Nota: Los String también pueden accederse utilizando llaves, como en $str{42}, para el mismo propósito.

Advertencia

Escribir fuera del rango es compensado rellenando el string con espacios. Los tipos que no sean integer son convertidos a integer. Las compensaciones fuera de rango emiten E_NOTICE. Las compensaciones negativas emiten E_NOTICE en la escritura pero en la lectura obtienen una cadena vacía. Sólo se emplea el primer carácter de un string asignado. La asignación de un string vacío asigna un byte NULL.

Advertencia

Internamente, las cadenas de PHP son arrays de bytes. Por tanto, acceder o modificar una cadena utilizando los corchetes de array no es seguro con caracteres multi-byte, y sólo debe hacerse con cadenas en codificaciones de un solo bit como ISO-8859-1.

Ejemplo #9 Algunos ejemplos de cadenas

<?php
// Obtención del primer caracter de una cadena
$str = 'Esto es un test.';
$first = $str[0];

// Obtención del tercer caracter de una cadena
$third = $str[2];

// Obtención del último caracter de una cadena
$str = 'Esto sigue siendo un test.';
$last = $str[strlen($str)-1];

// Modificación del último caracter de una cadena
$str = 'Mira el mar';
$str[strlen($str)-1] = 'e';

?>

A partir de PHP 5.4 los índices de cadenas tienen que ser enteros o enteros en forma de cadena, si no se lanzará una advertencia. Anteriormente un índice como "foo" era convertido de manera silenciosa a 0.

Ejemplo #10 Diferencias entre PHP 5.3 y PHP 5.4

<?php
$str = 'abc';

var_dump($str['1']);
var_dump(isset($str['1']));

var_dump($str['1.0']);
var_dump(isset($str['1.0']));

var_dump($str['x']);
var_dump(isset($str['x']));

var_dump($str['1x']);
var_dump(isset($str['1x']));
?>

Muestra el ejemplo de arriba en PHP 5.3:

string(1) "b"
bool(true)
string(1) "b"
bool(true)
string(1) "a"
bool(true)
string(1) "b"
bool(true)

Muestra el ejemplo de arriba en PHP 5.4:

string(1) "b"
bool(true)

Warning: Illegal string offset '1.0' in /tmp/t.php on line 7
string(1) "b"
bool(false)

Warning: Illegal string offset 'x' in /tmp/t.php on line 9
string(1) "a"
bool(false)
string(1) "b"
bool(false)

Nota:

El acceso a variables de otros tipos (sin incluir arrays u objetos implementando las interfaces apropiadas) utilizando [] o {} silenciosamente retorna NULL.

Nota:

PHP 5.5 añadió soporte para acceder a caracteres dentro de cadenas literales utilizando [] o {}.

Funciones y operadores útiles

Los string pueden ser concatenados empleando el operador '.' (punto). Fíjese que el operador '+' (suma) no servirá para concatenar. Consulte operadores de string para más información.

Hay una serie de funciones útiles para la manipulación de string.

Consulte la sección de funciones de string para funciones generales, y las funciones de expresiones regulares o las funciones de expresiones regulares compatibles con Perl para funcionalidades avanzadas de búsqueda y sustitución.

Tambien existen funciones para cadenas URL, y funciones para encriptar/desencriptar cadenas (mcrypt y mhash).

Finalmente, tambien existen las funciones para el tipo caracter.

Conversión a cadena

Un valor puede convertirse a una string mediante el forzado (string) o la función strval(). La conversión automática a string tiene lugar en el contexto de una expresióin que necesita un string. Esto ocurre cuando se utilizan las funciones echo o print, o cuando una variables es comparada con un string. Las secciones sobre tipos y Manipulación de tipos pueden ayudarle a enterderlo con más claridad. Consulte tambien la función settype().

El valor TRUE del tipo boolean es convertido en el string "1". El valor FALSE del tipo boolean es convertido en el string "" (la cadena vacía). Esto permite la conversión en ambos sentidos entre los valores de los tipos boolean y string.

Un integer o float es convertido en un string representando textualmente el número (incluyendo la parte exponencial para los floats. Los números de punto flotante pueden ser convertidos mediante la notación exponencial (4.1E+6).

Nota:

El caracter para el punto decimal se define en el script de configuración regional (categoría LC_NUMERIC). Consulte la función setlocale().

Los arrays siempre se convierten en un string "Array". Debido a esto, tanto echo y print no pueden por sí mismos mostrar el contenido de un array. Para ver un elemento individualmente, utilice una construcción como echo $arr['foo']. Mire los trucos en la parte inferior para mostrar el contenido por completo.

Los objects en PHP 4 siempre se convierten en un string "Object". Para mostrar los valores de las propiedades de un objeto para depuración, mire los parrafos siguientes. Para obtener el nombre de la clase del objeto emplée la función get_class(). A partir de PHP 5 se puede emplear el método __toString.

Los resources siempre se convierten en strings mediante la estructura "Resource id #1", donde 1 es el número único asignado al resource por PHP en tiempo de ejecución. No debe confiar en esta estructura, ya que está sujeto a cambios. Para obtener el tipo del resource emplee la función get_resource_type().

NULL siempre es convertido a una cadena vacía.

Como se ha indicado anteriormente, la conversión directa de un array, object o resource a un string no proporciona información útil acerca del valor, más allá de su tipo. Consulte las funciones print_r() y var_dump() para obtener maneras más efectivas de inspeccionar el contenido de estos tipos.

La mayoría de los valores de PHP pueden ser convertidos a strings para su almacenamiento permanente. Este método se denomina serialización, y es realizado mediante la función serialize(). Si la máquina PHP está contruida con soporte de WDDX, los valores de PHP tambien pueden ser serializacos como texto XML correctamente formateado.

Conversión de cadenas a números

Cuando una string es evaluada en un contexto numérico, el valor resultante y el tipo se determina como se explica a continuación.

Si el string no contiene ninguno de los caracteres '.', 'e', o 'E' y el valor numérico está entre los límites del tipo entero (como se define en PHP_INT_MAX), la string será evaluada como un integer. En todos los demas casos será evaluado como un float.

El valor es dado por la parte inicial del string. Si el string empieza con un número válido, éste será el valor usado. De otra forma, el valor será 0 (cero). Se considera número válido a un signo opcional, seguido de uno o más dígitos (opcionalmente puede contener un punto decimal), seguido de un exponente opcional. El exponente es una 'e' o 'E' seguida de uno o más dígitos.

<?php
$foo = 1 + "10.5";                // $foo es float (11.5)
$foo = 1 + "-1.3e3";              // $foo es float (-1299)
$foo = 1 + "bob-1.3e3";           // $foo es integer (1)
$foo = 1 + "bob3";                // $foo es integer (1)
$foo = 1 + "10 Small Pigs";       // $foo es integer (11)
$foo = 4 + "10.2 Little Piggies"; // $foo es float (14.2)
$foo = "10.0 pigs " + 1;          // $foo es float (11)
$foo = "10.0 pigs " + 1.0;        // $foo es float (11)
?>

Para más información sobre esta conversión, consulte la página del manual UNIX correspondiente a strtod(3).

Para probar cualquiera de los ejemplos en esta sección, copie y pegue los ejemplos e incluya la siguiente línea para ver que está ocurriendo:

<?php
echo "\$foo==$foo; tipo es " . gettype ($foo) . "<br />\n";
?>

No espere obtener el código de un caracter convirtiendolo a un entero, como ocurre en C. Emplee las funciones ord() y chr() para convertir entre código ASCII y caracteres.

Detalles del tipo de dato String

En PHP, los string se implementan como una matriz de bytes y con un entero que indica la longitud del buffer. No guarda ninguna información sobre cómo traducir esos bytes, relegando esa tarea al programador. No existe ninguna limitación sobre el valor que puede contener un string; en concreto, está permitido colocar un bytes con valor 0 (“bytes NUL”) en cualquier posición del string (existen algunas funciones, marcadas en este manual como que no utilizan "modo binario seguro", podrían rechazar estos strings para aquellas bibliotecas que ignoren los datos preceden a un byte NUL.)

Este comportamiento de los strings justifica el que no exista un tipo de dato "byte" en PHP – los strings se encargan de esto. Las funciones que no devuelvan datos de texto – por ejemplo, cualquier dato leído a partir de un socket de red – devolverán strings.

Dado que PHP no obliga a utilizar ninguna condificación en particular, uno podría preguntarse cómo se codifican los textos literales. Por ejemplo, ¿es el string "á" equivalente a "\xE1" (ISO-8859-1), "\xC3\xA1" (forma en C UTF-8), "\x61\xCC\x81" (forma en D UTF-8) o cualquier otra representación posible? La resuesta es que un string se codifica en cualesquiera forma en que estuviera el fichero de código. Por tanto, si un fichero de código estuviera escrito en ISO-8859-1, el string se codificará en ISO-8859-1, y así. Sin embargo, esto no es aplicable si Zend Multibyte está habilitado; en ese caso, el fichero de código podría estar escrito en cualquier codificación (declarada explícitamente o bien detectada) para después convertirse a una determinada codificación interna, que será entonces la codificación usada para los textos literales. Tenga presente que existen algunas limitaciones sobre la codificación del código fuente (o en la codificación internal, si Zend Multibyte estuviera habilitado) – esto suele significar que se debe usar uan codificación complatible con el conjunto ASCII, como por ejemplo UTF-8 o ISO-8859-1. Por contra, las codificaciones dependientes de estados, donde un mismo byte se puede utilizar en estados de desplazamiento iniciales y no iniciales, podría generar problemas.

Por supuesto, para poder ser útil, las funciones que operen con texto podrán partir de unos supuestos sobre cómo está codificado el string. Desafortunadamente, respecto a esto existen muchas variaciones en la funciones de PHP:

  • Algunas funciones asumen que el string está codificado en una codificación simple de bytes, por lo que no necesitan interpretar estos bytes como caracteres específicos. Este es el caso de, por ejemplo, substr(), strpos(), strlen() o strcmp(). Otra forma de entender estas funciones es pensando que operan sobre buffers de memoria, es decir, trabajan con bytes y con desplazamientos de bytes.
  • A otras funciones se les indica la codificación del string, si bien es posible que tengan una codificación predeterminada. Este es el caso de htmlentities() y la mayoría de funciones de la extensión mbstring.
  • Otras, utilizan las locales en uso (ver setlocale()), pero operan byte a byte. Este es el caso de strcasecmp(), strtoupper() y ucfirst(). Esto significa que sólo se pueden usar con codificaciones de un byte, siempre y cuando la codificación coincida con la de la local. Por ejemplo strtoupper("á") podría devolver "Á" si las locales están correctamente habilitadas y á está codificado con un único byte. Si está codificado en UTF-8, no se devolverá un resultado correcto y el string resultante podría, o no, devolverse corrupto, en función de las locales en uso.
  • Por último, podrán tambien asumir que se utiliza una codificación en particular, usualmente UTF-8. Este es el caso de la mayoría de las funciones de la extensión intl y de la extensión PCRE (en este último caso, sólo cuando se utiliza el modificador u). Debido a su propósito especial, la función utf8_decode() asume una codificación UTF-8, mientras que la función utf8_encode() asume una codificación ISO-8859-1.

En resumen, esto significa que para escribir programas Unicode de forma correcta hay que evitar cuidadosamente las funciones que pudean fallar y que muy probablemente vuelvan los datos corruptos, y utilizar en su lugar las funciones que se comportan de forma correcta, generalmente de las extensiones intl y mbstring. Sin embargo, el utilizar funciones que puedan manejar codificaciones Unicode es sólo el principio. No importa qué funciones incorpore el lenguaje; es primordial conocer la especificación Unicode. Por ejemplo, un programa que asuma que sólo hay mayúsculas y minúsculas estará haciendo una suposición erronea.

Números de punto flotante
Arrays
Tipos


Arrays

Un array en PHP es realmente un mapa ordenado. Un mapa es un tipo de datos que asocia valores con claves. Este tipo es optimizado para varios usos diferentes; puede ser usado como una matriz real, una lista (vector), una tabla asociativa (una implementación de un mapa), diccionario, colección, pila, cola, y posiblemente más. Ya que los valores de un array pueden ser otros arrays, árboles y también son posibles arrays multidimensionales.

Una explicación sobre tales estructuras de datos está fuera del alcance de este manual, pero encontrará al menos un ejemplo de cada uno de ellos. Para más información, consulte la extensa literatura que existe sobre este amplio tema.

Sintaxis

Especificación con array()

Un array puede ser creado usando el constructor del lenguaje array(). Éste toma un cierto número de parejas clave => valor como argumentos.

    array(
    clave  => valor,
    clave2 => valor2,
    clave3 => valor3,
    ...
    )

La coma después del elemento del array es opcional y se puede omitir. Esto normalmente se hace para arrays de una sola línea, esto es, es preferible array(1, 2) que array(1, 2, ). Por otra parte, para arrays multilínea, la coma final se usa comnúnmente, ya que permite la adición sencilla de nuevos elementos al final.

A partir de PHP 5.4 también se puede usar la sintaxis de array corta, que reemplaza array() con [].

Ejemplo #1 Un array simple

<?php
$array = array(
    "foo" => "bar",
    "bar" => "foo",
);

// a partir de PHP 5.4
$array = [
    "foo" => "bar",
    "bar" => "foo",
];
?>

La clave puede ser un integer o un string. El valor puede ser de cualquier tipo.

Además, los siguientes moldeados de tipo en la clave producirá:

  • Strings que contienen integers válidos serán moldeados a el tipo integer. P.e.j. la clave "8" en realidad será almacenada como 8. Por otro lado "08" no será convertido, ya que no es un número integer decimal válido.
  • Floats también serán moldeados en integers, lo que significa que la parte fraccionaria se elimina. P.e.j. la clave 8.7 en realidad será almacenada como 8.
  • Bools son moldeados a integers, también, p.e.j. la clave true en realidad será almacenada como 1 y la clave false como 0.
  • Null será moldeado a un string vacío, p.e.j. la clave null en realidad será almacenada como "".
  • Arrays y objects no pueden ser usados como claves. Si lo hace, dará lugar a una advertencia: Illegal offset type.

Si varios elementos en la declaración del array usan la misma clave, sólo la última será usada y los demás son sobrescritos.

Ejemplo #2 Ejemplo de moldeado de tipo y sobrescritura

<?php
$array = array(
    1    => "a",
    "1"  => "b",
    1.5  => "c",
    true => "d",
);
var_dump($array);
?>

El resultado del ejemplo sería:

array(1) {
  [1]=>
  string(1) "d"
}

Como todas las claves en el ejemplo anterior se convierten en 1, los valores serán sobrescritos en cada nuevo elemento y el último valor asignado "d" es el único que queda.

Los arrays PHP pueden contener claves integer y string al mismo tiempo ya que PHP no distingue entre arrays indexados y asociativos.

Ejemplo #3 Claves mixtas integer y string

<?php
$array = array(
    "foo" => "bar",
    "bar" => "foo",
    100   => -100,
    -100  => 100,
);
var_dump($array);
?>

El resultado del ejemplo sería:

array(4) {
  ["foo"]=>
  string(3) "bar"
  ["bar"]=>
  string(3) "foo"
  [100]=>
  int(-100)
  [-100]=>
  int(100)
}

La clave es opcional. Si no se especifica, PHP usará el incremento de la clave integer más grande utilizada anteriormente.

Ejemplo #4 Arrays indexados sin clave

<?php
$array = array("foo", "bar", "hallo", "world");
var_dump($array);
?>

El resultado del ejemplo sería:

array(4) {
  [0]=>
  string(3) "foo"
  [1]=>
  string(3) "bar"
  [2]=>
  string(5) "hallo"
  [3]=>
  string(5) "world"
}

Es posible especificar la clave sólo para algunos de los elementos y dejar por fuera a los demás:

Ejemplo #5 Claves no en todos los elementos

<?php
$array = array(
         "a",
         "b",
    6 => "c",
         "d",
);
var_dump($array);
?>

El resultado del ejemplo sería:

array(4) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [6]=>
  string(1) "c"
  [7]=>
  string(1) "d"
}

Como se puede ver el último valor "d" se le asignó la clave 7. Esto es debido a que la mayor clave integer era 6.

Acceso a elementos de array con la sintaxis de corchete

Los elementos de array se pueden acceder utilizando la sintaxis array[key].

Ejemplo #6 Acceso a elementos de array

<?php
$array = array(
    "foo" => "bar",
    42    => 24,
    "multi" => array(
         "dimensional" => array(
             "array" => "foo"
         )
    )
);

var_dump($array["foo"]);
var_dump($array[42]);
var_dump($array["multi"]["dimensional"]["array"]);
?>

El resultado del ejemplo sería:

string(3) "bar"
int(24)
string(3) "foo"

Nota:

Tanto los corchetes como las llaves pueden ser utilizadas de forma indiferente para acceder a elementos de un array (por ejemplo: $array[42] and $array{42} harán lo mismo en el ejemplo anterior).

A partir de PHP 5.4 es posible hacer referencia al array del resultado de una llamada a una función o método directamente. Antes sólo era posible utilizando una variable temporal.

Desde PHP 5.5 es posible hacer referencia directa un elemento de un array literal.

Ejemplo #7 Hacer referencia al resultado array de funciones

<?php
function getArray() {
    return array(1, 2, 3);
}

// en PHP 5.4
$secondElement = getArray()[1];

// anteriormente
$tmp = getArray();
$secondElement = $tmp[1];

// o
list(, $secondElement) = getArray();
?>

Nota:

Si intenta acceder a una clave del array que no se ha definido es lo mismo que el acceso a cualquier otra variable no definida: se emitirá un mensaje de error de nivel E_NOTICE, y el resultado será NULL.

Creación/modificación con sintaxis de corchete

Un array existente puede ser modificado al definir valores explícitamente en éste.

Esto se realiza mediante la asignación de valores al array, especificando la clave en corchetes. La clave también se puede omitir, resultando en un par de corchetes vacíos ([]).

    $arr[clave] = valor;
    $arr[] = valor;
    // clave puede ser un integer o string
    // valor puede ser cualquier valor de cualquier tipo

Si $arr aún no existe, se creará, así que esto es también una forma alternativa de crear un array. Sin embargo, esta práctica es desaconsejada ya que si $arr ya contiene algún valor (p.ej. un string de una variable de petición), entonces este valor estará en su lugar y [] puede significar realmente el operador de acceso a cadenas. Siempre es mejor inicializar variables mediante una asignación directa.

Para cambiar un valor determinado, se debe asignar un nuevo valor a ese elemento con su clave. Para quitar un par clave/valor, se debe llamar la función unset() en éste.

<?php
$arr = array(5 => 1, 12 => 2);

$arr[] = 56;    // Esto es lo mismo que $arr[13] = 56;
                // en este punto de el script

$arr["x"] = 42; // Esto agrega un nuevo elemento a
                // el array con la clave "x"

unset($arr[5]); // Esto elimina el elemento del array

unset($arr);    // Esto elimina el array completo
?>

Nota:

Como se mencionó anteriormente, si no se especifica una clave, se toma el máximo de los índices integer existentes, y la nueva clave será ese valor máximo más 1 (aunque al menos 0). Si todavía no existen índices integer, la clave será 0 (cero).

Tenga en cuenta que la clave integer máxima utilizada para éste no es necesario que actualmente exista en el array. Ésta sólo debe haber existido en el array en algún momento desde la última vez que el array fué re-indexado. El siguiente ejemplo ilustra este comportamiento:

<?php
// Crear un array simple.
$array = array(1, 2, 3, 4, 5);
print_r($array);

// Ahora elimina cada elemento, pero deja el mismo array intacto:
foreach ($array as $i => $value) {
    unset($array[$i]);
}
print_r($array);

// Agregar un elemento (note que la nueva clave es 5, en lugar de 0).
$array[] = 6;
print_r($array);

// Re-indexar:
$array = array_values($array);
$array[] = 7;
print_r($array);
?>

El resultado del ejemplo sería:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)
Array
(
)
Array
(
    [5] => 6
)
Array
(
    [0] => 6
    [1] => 7
)

Funciones útiles

Hay un buen número de funciones útiles para trabajar con arrays. Véase la sección funciones de array.

Nota:

La función unset() permite remover claves de un array. Tenga en cuenta que el array no es re-indexado. Si se desea un verdadero comportamiento "eliminar y desplazar", el array puede ser re-indexado usando la función array_values().

<?php
$a = array(1 => 'uno', 2 => 'dos', 3 => 'tres');
unset($a[2]);
/* producirá un array que se ha definido como
   $a = array(1 => 'uno', 3 => 'tres');
   y NO
   $a = array(1 => 'uno', 2 =>'tres');
*/

$b = array_values($a);
// Ahora $b es array(0 => 'uno', 1 =>'tres')
?>

La estructura de control foreach existe específicamente para arrays. Ésta provee una manera fácil de recorrer un array.

Recomendaciones sobre arrays y cosas a evitar

¿Por qué es incorrecto $foo[bar]?

Siempre deben usarse comillas alrededor de un índice de array tipo string literal. Por ejemplo, $foo['bar'] es correcto, mientras que $foo[bar] no lo es. ¿Pero por qué? Es común encontrar este tipo de sintaxis en scripts viejos:

<?php
$foo[bar] = 'enemy';
echo $foo[bar];
// etc
?>

Esto está mal, pero funciona. La razón es que este código tiene una constante indefinida (bar) en lugar de un string ('bar' - observe las comillas). Puede que en el futuro PHP defina constantes que, desafortunadamente para tales tipo de código, tengan el mismo nombre. Funciona porque PHP automáticamente convierte un string puro (un string sin comillas que no corresponde con ningún símbolo conocido) en un string que contiene el string puro. Por ejemplo, si no se ha definido una constante llamada bar, entonces PHP reemplazará su valor por el string 'bar' y usará éste último.

Nota: Esto no quiere decir que siempre haya que usar comillas en la clave. No use comillas con claves que sean constantes o variables, ya que en tal caso PHP no podrá interpretar sus valores.

<?php
error_reporting(E_ALL);
ini_set('display_errors', true);
ini_set('html_errors', false);
// Array simple:
$array = array(1, 2);
$count = count($array);
for ($i = 0; $i < $count; $i++) {
    echo "\nRevisando $i: \n";
    echo "Mal: " . $array['$i'] . "\n";
    echo "Bien: " . $array[$i] . "\n";
    echo "Mal: {$array['$i']}\n";
    echo "Bien: {$array[$i]}\n";
}
?>

El resultado del ejemplo sería:

Revisando 0:
Notice: Undefined index:  $i in /path/to/script.html on line 9
Mal:
Bien: 1
Notice: Undefined index:  $i in /path/to/script.html on line 11
Mal:
Bien: 1

Revisando 1:
Notice: Undefined index:  $i in /path/to/script.html on line 9
Mal:
Bien: 2
Notice: Undefined index:  $i in /path/to/script.html on line 11
Mal:
Bien: 2

Más ejemplos para demostrar este comportamiento:

<?php
// Mostrar todos los errores
error_reporting(E_ALL);

$arr = array('fruit' => 'apple', 'veggie' => 'carrot');

// Correcto
print $arr['fruit'];  // apple
print $arr['veggie']; // carrot

// Incorrecto. Esto funciona pero también genera un error de PHP de
// nivel E_NOTICE ya que no hay definida una constante llamada fruit
//
// Notice: Use of undefined constant fruit - assumed 'fruit' in...
print $arr[fruit];    // apple

// Esto define una constante para demostrar lo que pasa. El valor 'veggie'
// es asignado a una constante llamada fruit.
define('fruit', 'veggie');

// Note la diferencia ahora
print $arr['fruit'];  // apple
print $arr[fruit];    // carrot

// Lo siguiente está bien ya que se encuentra al interior de una cadena. Las constantes no son procesadas al
// interior de cadenas, así que no se produce un error E_NOTICE aquí
print "Hello $arr[fruit]";      // Hello apple

// Con una excepción, los corchetes que rodean las matrices al
// interior de cadenas permiten el uso de constantes
print "Hello {$arr[fruit]}";    // Hello carrot
print "Hello {$arr['fruit']}";  // Hello apple

// Esto no funciona, resulta en un error de intérprete como:
// Parse error: parse error, expecting T_STRING' or T_VARIABLE' or T_NUM_STRING'
// Esto por supuesto se aplica también al uso de superglobales en cadenas
print "Hello $arr['fruit']";
print "Hello $_GET['foo']";

// La concatenación es otra opción
print "Hello " . $arr['fruit']; // Hello apple
?>

Cuando se habilita error_reporting para mostrar errores de nivel E_NOTICE (como por ejemplo definiendo el valor E_ALL), este tipo de usos serán inmediatamente visibles. Por omisión, error_reporting se encuentra configurado para no mostrarlos.

Tal y como se indica en la sección de sintaxis, lo que existe entre los corchetes cuadrados ('[' y ']') debe ser una expresión. Esto quiere decir que código como el siguiente funciona:

<?php
echo $arr[somefunc($bar)];
?>

Este es un ejemplo del uso de un valor devuelto por una función como índice del array. PHP también conoce las constantes:

<?php
$error_descriptions[E_ERROR]   = "Un error fatal ha ocurrido";
$error_descriptions[E_WARNING] = "PHP produjo una advertencia";
$error_descriptions[E_NOTICE]  = "Esta es una noticia informal";
?>

Note que E_ERROR es también un identificador válido, asi como bar en el primer ejemplo. Pero el último ejemplo es equivalente a escribir:

<?php
$error_descriptions[1] = "Un error fatal ha ocurrido";
$error_descriptions[2] = "PHP produjo una advertencia";
$error_descriptions[8] = "Esta es una noticia informal";
?>

ya que E_ERROR es igual a 1, etc.

¿Entonces porqué está mal?

En algún momento en el futuro, puede que el equipo de PHP quiera usar otra constante o palabra clave, o una constante proveniente de otro código puede interferir. Por ejemplo, en este momento no puede usar las palabras empty y default de esta forma, ya que son palabras clave reservadas.

Nota: Reiterando, al interior de un valor string entre comillas dobles, es válido no rodear los índices de array con comillas, así que "$foo[bar]" es válido. Consulte los ejemplos anteriores para más detalles sobre el porqué, así como la sección sobre procesamiento de variables en cadenas.

Conversión a array

Para cualquiera de los tipos: integer, float, string, boolean y resource, convertir un valor a un array resulta en un array con un solo elemento, con índice 0, y el valor del escalar que fue convertido. En otras palabras, (array)$scalarValue es exactamente lo mismo que array($scalarValue).

Si convierte un object a un array, el resultado es un array cuyos elementos son las propiedades del object. Las claves son los nombres de las variables miembro, con algunas excepciones notables: las variables privadas tienen el nombre de la clase al comienzo del nombre de la variable; las variables protegidas tienen un caracter '*' al comienzo del nombre de la variable. Estos valores adicionados al inicio tienen bytes nulos a los lados. Esto puede resultar en algunos comportamientos inesperados:

<?php

class A {
    private $A; //  Este campo se convertirá en '\0A\0A'
}

class B extends A {
    private $A; // Este campo se convertirá en '\0B\0A'
    public $AA; // Este campo se convertirá en 'AA'
}

var_dump((array) new B());
?>

En el ejemplo anterior parecerá que se tienen dos claves llamadas 'AA', aunque en realidad una de ellas se llama '\0A\0A'.

Si convierte un valor NULL a array, obtiene un array vacío.

Comparación

Es posible comparar arrays con la función array_diff() y mediante operadores de arrays.

Ejemplos

El tipo array en PHP es bastante versátil. Aquí hay algunos ejempos:

<?php
// Esto:
$a = array( 'color' => 'red',
            'taste' => 'sweet',
            'shape' => 'round',
            'name'  => 'apple',
            4        // la clave será 0
          );

$b = array('a', 'b', 'c');

// . . .es completamente equivalente a
$a = array();
$a['color'] = 'red';
$a['taste'] = 'sweet';
$a['shape'] = 'round';
$a['name']  = 'apple';
$a[]        = 4;        // la clave será 0

$b = array();
$b[] = 'a';
$b[] = 'b';
$b[] = 'c';

// Después de que se ejecute el código, $a será el array
// array('color' => 'red', 'taste' => 'sweet', 'shape' => 'round',
// 'name' => 'apple', 0 => 4), y $b será el array
// array(0 => 'a', 1 => 'b', 2 => 'c'), o simplemente array('a', 'b', 'c').
?>

Ejemplo #8 Uso de array()

<?php
// Array como mapa de propiedades
$map = array( 'version'    => 4,
              'OS'         => 'Linux',
              'lang'       => 'english',
              'short_tags' => true
            );

// Keys estrictamente numéricas
$array = array( 7,
                8,
                0,
                156,
                -10
              );
// esto es lo mismo que array(0 => 7, 1 => 8, ...)

$switching = array(         10, // key = 0
                    5    =>  6,
                    3    =>  7,
                    'a'  =>  4,
                            11, // key = 6 (el índice entero máximo era 5)
                    '8'  =>  2, // key = 8 (integer!)
                    '02' => 77, // key = '02'
                    0    => 12  // el valor 10 será reemplazado por 12
                  );

// array vacío
$empty = array();
?>

Ejemplo #9 Colección

<?php
$colors = array('rojo', 'azul', 'verde', 'amarillo');

foreach ($colors as $color) {
    echo "¿Le gusta el $color?\n";
}

?>

El resultado del ejemplo sería:

¿Le gusta el rojo?
¿Le gusta el azul?
¿Le gusta el verde?
¿Le gusta el amarillo?

Modificar los valores del array directamente es posible a partir de PHP 5, pasándolos por referencia. Las versiones anteriores necesitan una solución alternativa:

Ejemplo #10 Cambiando elemento en el bucle

<?php
// PHP 5
foreach ($colors as &$color) {
    $color = strtoupper($color);
}
unset($color); /* se asegura de que escrituras subsiguientes a $color
no modifiquen el último elemento del arrays */

// Alternativa para versiones anteriores
foreach ($colors as $key => $color) {
    $colors[$key] = strtoupper($color);
}

print_r($colors);
?>

El resultado del ejemplo sería:

Array
(
    [0] => ROJO
    [1] => AZUL
    [2] => VERDE
    [3] => AMARILLO
)

Este ejemplo crea un array con base uno.

Ejemplo #11 Índice con base 1

<?php
$firstquarter  = array(1 => 'Enero', 'Febrero', 'Marzo');
print_r($firstquarter);
?>

El resultado del ejemplo sería:

Array
(
    [1] => 'Enero'
    [2] => 'Febrero'
    [3] => 'Marzo'
)

Ejemplo #12 Llenado de un array

<?php
// llenar un array con todos los ítems de un directorio
$handle = opendir('.');
while (false !== ($file = readdir($handle))) {
    $files[] = $file;
}
closedir($handle);
?>

Los Arrays son ordenados. El orden puede ser modificado usando varias funciones de ordenado. Vea la sección sobre funciones de arrays para más información. La función count() puede ser usada para contar el número de elementos en un array.

Ejemplo #13 Ordenado de un array

<?php
sort($files);
print_r($files);
?>

Dado que el valor de un array puede ser cualquier cosa, también puede ser otro array. De esta forma es posible crear arrays recursivas y multi-dimensionales.

Ejemplo #14 Arrays recursivos y multi-dimensionales

<?php
$fruits = array ( "fruits"  => array ( "a" => "orange",
                                       "b" => "banana",
                                       "c" => "apple"
                                     ),
                  "numbers" => array ( 1,
                                       2,
                                       3,
                                       4,
                                       5,
                                       6
                                     ),
                  "holes"   => array (      "first",
                                       5 => "second",
                                            "third"
                                     )
                );

// Algunos ejemplos que hacen referencia a los valores del array anterior
echo $fruits["holes"][5];    // prints "second"
echo $fruits["fruits"]["a"]; // prints "orange"
unset($fruits["holes"][0]);  // remove "first"

// Crear una nueva array multi-dimensional
$juices["apple"]["green"] = "good";
?>

La asignación de arrays siempre involucra la copia de valores. Use el operador de referencia para copiar un array por referencia.

<?php
$arr1 = array(2, 3);
$arr2 = $arr1;
$arr2[] = 4; // $arr2 ha cambiado,
             // $arr1 sigue siendo array(2, 3)

$arr3 = &$arr1;
$arr3[] = 4; // ahora $arr1 y $arr3 son iguales
?>
Cadenas
Objetos
Tipos


Objetos

Inicialización de Objetos

Para crear un nuevo object, utilice la declaración new para instanciar una clase:

<?php
class foo
{
    function do_foo()
    {
        echo "Doing foo.";
    }
}

$bar = new foo;
$bar->do_foo();
?>

Para una descripción completa, vea el capítulo Clases y Objetos.

Conversión a un objeto

Si un object se convierte en un object, éste no se ve modificado. Si un valor de cualquier otro tipo se convierte en un object, se crea una nueva instancia de la clase stdClass incorporada. Si el valor es NULL, la nueva instancia estará vacía. Los Arrays se convierten en un object con propiedades nombradas por claves con sus correspondientes valores. Para cualquier otro valor, una variable miembro denominada scalar contendrá el valor.

<?php
$obj = (object) 'ciao';
echo $obj->scalar;  // muestra 'ciao'
?>
Arrays
Recursos
Tipos


Recursos

Un valor tipo resource es una variable especial, que contiene una referencia a un recurso externo. Los recursos son creados y usados por funciones especiales. Vea el apéndice para un listado de todas estas funciones y los tipos resource correspondientes.

Vea también la función get_resource_type().

Conversión a recurso

Dado que las variables resource contienen gestores especiales a archivos abiertos, conexiones con bases de datos, áreas de pintura de imágenes y cosas por el estilo, la conversión a tipo resource carece de sentido.

Liberación de recursos

Gracias al sistema de conteo de referencias introducido con el Motor Zend de PHP 4, un recurso que ya no es referenciado es detectado automáticamente, y es liberado por el recolector de basura. Por esta razón, rara vez se necesita liberar la memoria manualmente.

Nota: Los enlaces persistentes con bases de datos son una excepción a esta regla. Ellos no son destruidos por el recolector de basura. Vea también la sección sobre conexiones persistentes para más información.

Objetos
NULO
Tipos


NULO

El valor especial NULL representa una variable sin valor. NULL es el único valor posible del tipo null.

Una variable es considerada null si:

  • se le ha asignado la constante NULL.

  • no se le ha asignado un valor todavía.

  • se ha destruido con unset().

Sintaxis

No hay más que un valor de tipo null, y es la constante NULL insensible a mayúsculas/minúsculas.

<?php
$var = NULL;
?>

Véase también las funciones is_null() y unset().

La conversión a NULL

Convertir una variable a null usando (unset) $var no eliminará la variable ni destruirá su valor. Sólo retornará un valor NULL.

Recursos
Llamadas de retorno
Tipos


Llamadas de retorno

Las llamadas de retorno se pueden indicar con el tipo callable a partir de PHP 5.4. Esta documentación utilizó la información del tipo callback con el mismo propósito.

Algunas funciones como call_user_func() o usort() aceptan como parámetro funciones de llamada de retorno definidas por el usuario. Las funciones de llamadas de retorno no sólo pueden ser funciones simples, sino también métodos de un object, incluyendo métodos de clase estáticos.

Pasar una función de llamada de retorno

Una función de PHP se pasa por su nombre como un string. Se puede utilizar
cualquier función nativa o definida por el usuario, exceptuando contrucciones del lenguaje, tales como:
 array(),  echo,
 empty(),  eval(),
 exit(),  isset(),
 list(),  print o
 unset().

Un método de un object instanciado se pasa como un array que contiene un object en el índice 0 y el nombre del método en el índice 1.

Los métodos de clase estáticos también se pueden pasar sin instanciar un object de dicha clase, pasando el nombre de la clase en lugar de un object en el índice 0. A partir de PHP 5.2.3, también es posible pasar 'NombreDeClase::nombreDeMetodo'.

A parte de las funciones comunes definidas por el usuario, las funciones anónimas también se pueden pasar a un parámetro de llamada de retorno.

Ejemplo #1 Ejemplos de funciones de llamadas de retorno

<?php

// Un ejemplo de función de llamada de retorno
function mi_función_de_llamada_de_retorno() {
    echo '¡hola mundo!';
}

// Un ejemplo de método de llamada de retorno
class MiClase {
    static function miMétodoDeLlamadaDeRetorno() {
        echo '¡Hola Mundo!';
    }
}

// Tipo 1: Llamada de retorno simple
call_user_func('mi_función_de_llamada_de_retorno');

// Tipo 2: Llamada a un método de clase estático
call_user_func(array('MiClase', 'miMétodoDeLlamadaDeRetorno'));

// Tipo 3: Llamada al método de un objeto
$obj = new MiClase();
call_user_func(array($obj, 'miMétodoDeLlamadaDeRetorno'));

// Tipo 4: Llamada a un método de clase estático (A partir de PHP 5.2.3)
call_user_func('MiClase::miMétodoDeLlamadaDeRetorno');

// Tipo 5: Llamada a un método de clase estático relativo (A partir de PHP 5.3.0)
class A {
    public static function quién() {
        echo "A\n";
    }
}

class B extends A {
    public static function quién() {
        echo "B\n";
    }
}

call_user_func(array('B', 'parent::quién')); // A
?>

Ejemplo #2 Ejemplo de llamada de retorno utilizando una clausura

<?php
// Nuestra clausura
$doble = function($a) {
    return $a * 2;
};

// Este es nuestro rango de números
$números = range(1, 5);

// Usar la clausura como llamada de retorno para
// doblar el valor de cada elemento de nuestro
// rango
$números_nuevos = array_map($doble, $números);

print implode(' ', $números_nuevos);
?>

El resultado del ejemplo sería:

2 4 6 8 10

Nota: En PHP 4 era necesario usar una referencia para crear una llamada de retorno que apuntara al object real, y no a una copia del mismo. Para más detalles, véase la Explicación de las referencias.

Nota:

Las funciones de retorno de llamada que se registran con funciones como call_user_func() y call_user_func_array() no se llamarán si se produce una excepción en la función de retorno previa.

NULO
Pseudo tipos y variables usadas en esta documentación
Tipos


Pseudo tipos y variables usadas en esta documentación

mixed

mixed indica que un parámetro puede aceptar múltiples tipos (pero no necesariamente todos).

gettype(), por ejemplo, puede aceptar todos los tipos PHP, mientras que str_replace() sólo acepta strings y arrays.

number

number indica que un parámetro puede ser tanto un integer como un float.

Llamada de retorno

Los pseudo-tipos callback fueron usados en está documentación antes de que la sugerencia de tipo callable fuera introducida en PHP 5.4. Significan exactamente lo mismo.

void

void como un tipo de variable de retorno significa que el valor de retorno no es útil. void en una lista de parámetros significa que la función no acepta ningún parámetro.

...

$... en el prototipo de funciones significa and so on. Este nombre de variable se usa cuando una función puede tomar un número infinito de argumentos.

Llamadas de retorno
Manipulación de tipos
Tipos


Manipulación de tipos

PHP no requiere (ni soporta) la definición explicita de tipos en la declaración de variables; el tipo de la variable se determina por el contexto en el cual se emplea la variable. Es decir, si se asigna un valor string a una variable $var, entonces $var se convierte en un string. Si un valor integer es entonces asignado a la misma variable $var, ésta se convierte en integer.

Un ejemplo de la conversión de tipos automática de PHP es el operador suma '+'. Si ambos operandos son float, entonces ambos operandos son evaluados como floats y el resultado será un float. De otra manera, los operandos seran interpretados como integers, y el resultado será entonces integer. Tenga en cuenta que esto no implica que se cambien los tipos de los propios operandos; el único cambio es en como se evalúan los operandos y en el tipo de expresión en sí mismo.

<?php
$foo = "0";  // $foo es string (ASCII 48)
$foo += 2;   // $foo es ahora un integer (2)
$foo = $foo + 1.3;  // $foo es ahora un float (3.3)
$foo = 5 + "10 Cerditos pequeñitos"; // $foo es integer (15)
$foo = 5 + "10 Cerdos pequeños";     // $foo es integer (15)
?>

Si considera confusos los últimos dos ejemplos anteriores, consulte Conversión de cadenas a números.

Para forzar a que una variable sea evaluada como un determinado tipo, consulte la sección Forzado de tipos. Para cambiar el tipo de variable, consulte la función settype().

Para probar cualquiera de los ejemplos de esta sección, utilice la función var_dump().

Nota:

El comportamiento de la conversión automática en array está actualmente sin definir.

Tambien, debido a que PHP soporta el indexado de string mediante compensaciones mediante la misma sintaxis empleada en el indexado de arrays, los siguientes ejemplos son válidos para todas las versiones de PHP:

<?php
$a    = 'car'; // $a es un string
$a[0] = 'b';   // $a sigue siendo un string
echo $a;       // bar
?>

Consulte la sección Acceso a cadenas mediante caracteres para más información.

Forzado de tipos

El forzado de tipos en PHP funciona de la misma manera que en C:, donde el nombre del tipo deseado se escribe entre paréntesis antes de la variable que se quiera forzar.

<?php
$foo = 10;   // $foo es un integer
$bar = (boolean) $foo;   // $bar es un boolean
?>

Los siguientes forzados de tipos están permitidos:

  • (int), (integer) - forzado a integer
  • (bool), (boolean) - forzado a boolean
  • (float), (double), (real) - forzado a float
  • (string) - forzado a string
  • (array) - forzado a array
  • (object) - forzado a object
  • (unset) - forzado a NULL (PHP 5)

El forzado (binary) y el soporte del prefijo b fueron añadidos en PHP 5.2.1

Fíjese que se permiten las tabulaciones y espacios dentro de los paréntesis, por lo que los siguientes ejemplos son funcionalmente equivalentes:

<?php
$foo = (int) $bar;
$foo = ( int ) $bar;
?>

Forzado literal de strings y variables a strings binarios:

<?php
$binary = (binary) $string;
$binary = b"binary string";
?>

Nota:

El lugar de forzar una variable a string, tambien se puede encerrar la variable entre comillas dobles.

<?php
$foo = 10;            // $foo es un integer
$str = "$foo";        // $str es un string
$fst = (string) $foo; // $fst es tambien un string

// Esto muestra que "son lo mismo"
if ($fst === $str) {
    echo "son lo mismo";
}
?>

Puede que no sea obvio que sucede exactamente cuando se fuerzan ciertos tipos. Para más información, consulte estas secciones:

  • Conversión a booleano
  • Conversión a entero
  • Conversión a número de punto flotante
  • Conversión a cadena
  • Conversión a array
  • Conversión a objecto
  • Conversión a recurso
  • Conversión a NULL
  • Tablas de comparación de tipos
Pseudo tipos y variables usadas en esta documentación
Variables
Tipos


Variables

Tabla de contenidos

  • Conceptos básicos
  • Variables Predefinidas
  • Ámbito de las variables
  • Variables variables
  • Variables Desde Fuentes Externas
Manipulación de tipos
Conceptos básicos
Referencia del lenguaje


Conceptos básicos

En PHP las variables se representan con un signo de dólar seguido por el nombre de la variable. El nombre de la variable es sensible a minúsculas y mayúsculas.

Los nombres de variables siguen las mismas reglas que otras etiquetas en PHP. Un nombre de variable válido tiene que empezar con una letra o un carácter de subrayado (underscore), seguido de cualquier número de letras, números y caracteres de subrayado. Como expresión regular se podría expresar como: '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'

Nota: Para los propósitos de este manual, una letra es a-z, A-Z, y los bytes del 127 al 255 (0x7f-0xff).

Nota: $this es una variable especial que no puede ser asignada.

Sugerencia

Vea también Guia de Entorno de Usuario para Nombres.

Para más información sobre funciones relacionadas con variables, vea la Referencia de Funciones de Variables.

<?php
$var = 'Roberto';
$Var = 'Juan';
echo "$var, $Var";      // imprime "Roberto, Juan"

$4site = 'aun no';      // inválido; comienza con un número
$_4site = 'aun no';     // válido; comienza con un carácter de subrayado
$täyte = 'mansikka';    // válido; 'ä' es ASCII (Extendido) 228
?>

De forma predeterminada, las variables siempre se asignan por valor. Esto significa que cuando se asigna una expresión a una variable, el valor completo de la expresión original se copia en la variable de destino. Esto quiere decir que, por ejemplo, después de asignar el valor de una variable a otra, los cambios que se efectúen a una de esas variables no afectará a la otra. Para más información sobre este tipo de asignación, vea Expresiones.

PHP también ofrece otra forma de asignar valores a las variables: asignar por referencia. Esto significa que la nueva variable simplemente referencia (en otras palabras, "se convierte en un alias de" ó "apunta a") la variable original. Los cambios a la nueva variable afectan a la original, y viceversa.

Para asignar por referencia, simplemente se antepone un signo ampersand (&) al comienzo de la variable cuyo valor se está asignando (la variable fuente). Por ejemplo, el siguiente segmento de código produce la salida 'Mi nombre es Bob' dos veces:

<?php
$foo = 'Bob';                // Asigna el valor 'Bob' a $foo
$bar = &$foo;                // Referenciar $foo vía $bar.
$bar = "Mi nombre es $bar";  // Modifica $bar...
echo $bar;
echo $foo;                   // $foo también se modifica.
?>

Algo importante a tener en cuenta es que sólo las variables con nombre pueden ser asignadas por referencia.

<?php
$foo = 25;
$bar = &$foo;      // Esta es una asignación válida.
$bar = &(24 * 7);  // Inválida; referencia una expresión sin nombre.

function test()
{
   return 25;
}

$bar = &test();    // Inválido.
?>

No es necesario inicializar variables en PHP, sin embargo, es una muy buena práctica. Las variables no inicializadas tienen un valor predeterminado de acuerdo a su tipo dependiendo del contexto en el que son usadas - las booleanas se asumen como FALSE, los enteros y flotantes como cero, las cadenas (p.ej. usadas en echo) se establecen como una cadena vacía y las matrices se convierten en un array vacío.

Ejemplo #1 Valores predeterminados en variables sin inicializar

<?php
// Una variable no definida Y no referenciada (sin contexto de uso); imprime NULL
var_dump($variable_indefinida);

// Uso booleano; imprime 'false' (Vea operadores ternarios para más información sobre esta sintaxis)
echo($booleano_indefinido ? "true\n" : "false\n");

// Uso de una cadena; imprime 'string(3) "abc"'
$cadena_indefinida .= 'abc';
var_dump($cadena_indefinida);

// Uso de un entero; imprime 'int(25)'
$int_indefinido += 25; // 0 + 25 => 25
var_dump($int_indefinido);

// Uso de flotante/doble; imprime 'float(1.25)'
$flotante_indefinido += 1.25;
var_dump($flotante_indefinido);

// Uso de array; imprime array(1) {  [3]=>  string(3) "def" }
$array_indefinida[3] = "def"; // array() + array(3 => "def") => array(3 => "def")
var_dump($array_indefinida);

// Uso de objetos; crea un nuevo objeto stdClass (vea http://www.php.net/manual/en/reserved.classes.php)
// Imprime: object(stdClass)#1 (1) {  ["foo"]=>  string(3) "bar" }
$objeto_indefinido->foo = 'bar';
var_dump($objeto_indefinido);
?>

Depender del valor predeterminado de una variable sin inicializar es problemático al incluir un archivo en otro que use el mismo nombre de variable. También es un importante riesgo de seguridad cuando la opción register_globals se encuentra habilitada. Un error de nivel E_NOTICE es emitido cuendo se trabaja con variables sin inicializar, con la excepción del caso en el que se anexan elementos a un array no inicializado. La construcción del lenguaje isset() puede ser usada para detectar si una variable ya ha sido inicializada.

Variables
Variables Predefinidas
Variables


Variables Predefinidas

PHP proporciona una gran cantidad de variables predefinidas a cualquier script que se ejecute. Muchas de éstas, sin embargo, no pueden ser completamente documentadas ya que dependen del servidor que esté corriendo, la versión y configuración de dicho servidor, y otros factores. Algunas de estas variables no estarán disponibles cuando se ejecute PHP desde la línea de comandos. Para obtener una lista de estas variables, por favor vea la sección sobre Variables Predefinidas Reservadas.

Advertencia

A partir de PHP 4.2.0, el valor predeterminado de la directiva PHP register_globals es off (desactivada). Este es un cambio importante en PHP. Tener register_globals off afecta el conjunto de variables predefinidas disponibles en el sistema. Por ejemplo, para obtener DOCUMENT_ROOT se usará $_SERVER['DOCUMENT_ROOT'] en vez de $DOCUMENT_ROOT ó $_GET['id'] de la URL http://www.example.com/test.php?id=3 en lugar de $id ó $_ENV['HOME'] en lugar de $HOME.

Para más información sobre este cambio, puede consultar el apartado de configuración sobre register_globals, el capítulo sobre seguridad Usando "Register Globals" , asi como los anuncios de lanzamiento de PHP » 4.1.0 y » 4.2.0

El uso de las variables reservadas predefinidas en PHP, como las matrices superglobales es recomendable.

A partir de PHP 4.1.0, PHP ofrece un conjunto adicional de matrices predefinidas que contienen variables del servidor web, el entorno y entradas del usuario. Estas nuevas matrices son un poco especiales porque son automáticamente globales. Por esta razón, son conocidas a menudo como "superglobales". Las superglobales se mencionan más abajo; sin embargo para una lista de sus contenidos y más información sobre variables predefinidas en PHP, por favor consulte la sección Variables predefinidas reservadas. Asimismo, podrá notar cómo las antiguas variables predefinidas ($HTTP_*_VARS) todavía existen. A partir de PHP 5.0.0, los arrays de variables predefinidas de tipo long de PHP se pueden desactivar con la directiva register_long_arrays .

Nota: Variables variables

Las superglobales no pueden ser usadas como variables variables al interior de funciones o métodos de clase.

Nota:

Aún cuando las superglobales y HTTP_*_VARS pueden existir al mismo tiempo; estas variables no son idénticas, así que modificar una no cambia la otra.

Si ciertas variables no son definidas en variables_order, las matrices PHP predefinidas asociadas a estas, estarán vacías.

Conceptos básicos
Ámbito de las variables
Variables


Ámbito de las variables

El ámbito de una variable es el contexto dentro del que la variable está definida. La mayor parte de las variables PHP sólo tienen un ámbito simple. Este ámbito simple también abarca los ficheros incluídos y los requeridos. Por ejemplo:

<?php
$a = 1;
include 'b.inc';
?>

Aquí, la variable $a estará disponible al interior del script incluido b.inc. Sin embargo, al interior de las funciones definidas por el usuario se introduce un ámbito local a la función. Cualquier variable usada dentro de una función está, por omisión, limitada al ámbito local de la función. Por ejemplo:

<?php
$a = 1; /* ámbito global */

function test()
{
    echo $a; /* referencia a una variable del ámbito local */
}

test();
?>

Este script no producirá salida, ya que la sentencia echo utiliza una versión local de la variable $a, a la que no se ha asignado ningún valor en su ámbito. Puede que usted note que hay una pequeña diferencia con el lenguaje C, en el que las variables globales están disponibles automáticamente dentro de la función a menos que sean expresamente sobreescritas por una definición local. Esto puede causar algunos problemas, ya que la gente puede cambiar variables globales inadvertidamente. En PHP, las variables globales deben ser declaradas globales dentro de la función si van a ser utilizadas dentro de dicha función.

La palabra clave global

En primer lugar, un ejemplo de uso de global:

Ejemplo #1 Uso de global

<?php
$a = 1;
$b = 2;

function Suma()
{
    global $a, $b;

    $b = $a + $b;
}

Suma();
echo $b;
?>

El script anterior producirá la salida 3. Al declarar $a y $b globales dentro de la función, todas las referencias a tales variables se referirán a la versión global. No hay límite al número de variables globales que se pueden manipular dentro de una función.

Un segundo método para acceder a las variables desde un ámbito global es usando el array $GLOBALS. El ejemplo anterior se puede reescribir así:

Ejemplo #2 Uso de $GLOBALS en lugar de global

<?php
$a = 1;
$b = 2;

function Suma()
{
    $GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b'];
}

Suma();
echo $b;
?>

El array $GLOBALS es un array asociativo con el nombre de la variable global como clave y los contenidos de dicha variable como el valor del elemento del array. $GLOBALS existe en cualquier ámbito, esto ocurre ya que $GLOBALS es una superglobal. Aquí hay un ejemplo que demuestra el poder de las superglobales:

Ejemplo #3 Ejemplo que demuestra las superglobales y el ámbito

<?php
function test_global()
{
    // La mayoría de variables predefinidas no son "super" y requieren
    // 'global' para estar disponibles al ámbito local de las funciones.
    global $HTTP_POST_VARS;

    echo $HTTP_POST_VARS['name'];

    // Las superglobales están disponibles en cualquier ámbito y no
    // requieren 'global'. Las superglobales están disponibles desde
    // PHP 4.1.0, y ahora HTTP_POST_VARS se considera obsoleta.
    echo $_POST['name'];
}
?>

Nota:

Utilizar una clave global fuera de una función no es un error. Esta puede ser utilizada aún si el fichero está incluido desde el interior de una función.

Uso de variables static

Otra característica importante del ámbito de las variables es la variable estática. Una variable estática existe sólo en el ámbito local de la función, pero no pierde su valor cuando la ejecución del programa abandona este ámbito. Consideremos el siguiente ejemplo:

Ejemplo #4 Ejemplo que demuestra la necesidad de variables estáticas

<?php
function test()
{
    $a = 0;
    echo $a;
    $a++;
}
?>

Esta función tiene poca utilidad ya que cada vez que es llamada asigna a $a el valor 0 e imprime un 0. La sentencia $a++, que incrementa la variable, no sirve para nada, ya que en cuanto la función finaliza, la variable $a desaparece. Para hacer una función útil para contar, que no pierda la pista del valor actual del conteo, la variable $a debe declararse como estática:

Ejemplo #5 Ejemplo del uso de variables estáticas

<?php
function test()
{
    static $a = 0;
    echo $a;
    $a++;
}
?>

Ahora, $a se inicializa únicamente en la primera llamada a la función, y cada vez que la función test() es llamada, imprimirá el valor de $a y lo incrementa.

Las variables estáticas también proporcionan una forma de manejar funciones recursivas. Una función recursiva es la que se llama a sí misma. Se debe tener cuidado al escribir una función recursiva, ya que puede ocurrir que se llame a sí misma indefinidamente. Hay que asegurarse de implementar una forma adecuada de terminar la recursión. La siguiente función cuenta recursivamente hasta 10, usando la variable estática $count para saber cuándo parar:

Ejemplo #6 Variables estáticas con funciones recursivas

<?php
function test()
{
    static $count = 0;

    $count++;
    echo $count;
    if ($count < 10) {
        test();
    }
    $count--;
}
?>

Nota:

Las variables estáticas pueden ser declaradas como se ha visto en los ejemplos anteriores. Al tratar de asignar valores a estas variables que sean el resultado de expresiones, causará un error de análisis sintáctico.

Ejemplo #7 Declaración de variables estáticas

<?php
function foo(){
    static $int = 0;          // correcto
    static $int = 1+2;        // incorrecto  (ya que es una expresión)
    static $int = sqrt(121);  // incorrecto  (es una expresión también)

    $int++;
    echo $int;
}
?>

Nota:

Las declaraciones estáticas son resueltas en tiempo de compilación.

Nota:

Utilizar una clave global fuera de una función no es un error. Esta pueda ser utilizada aún si el fichero está incluido en el interior de una función.

Referencias con variables global y static

El motor Zend 1, utilizado por PHP 4, implementa los modificadores static y global para variables en términos de referencias. Por ejemplo, una variable global verdadera importada dentro del ámbito de una función con global crea una referencia a la variable global. Esto puede ser causa de un comportamiento inesperado, tal y como podemos comprobar en el siguiente ejemplo:

<?php
function prueba_referencia_global() {
    global $obj;
    $obj = &new stdclass;
}

function prueba_no_referencia_global() {
    global $obj;
    $obj = new stdclass;
}

prueba_referencia_global();
var_dump($obj);
prueba_no_referencia_global();
var_dump($obj);
?>

El resultado del ejemplo sería:

NULL
object(stdClass)(0) {
}

Un comportamiento similar se aplica a static. Las referencias no son almacenadas estáticamente.

<?php
function &obtener_instancia_ref() {
    static $obj;

    echo 'Objeto estático: ';
    var_dump($obj);
    if (!isset($obj)) {
        // Asignar una referencia a la variable estática
        $obj = &new stdclass;
    }
    $obj->property++;
    return $obj;
}

function &obtener_instancia_no_ref() {
    static $obj;

    echo 'Objeto estático: ';
    var_dump($obj);
    if (!isset($obj)) {
        // Asignar el objeto a la variable estática
        $obj = new stdclass;
    }
    $obj->property++;
    return $obj;
}

$obj1 = obtener_instancia_ref();
$aun_obj1 = obtener_instancia_ref();
echo "\n";
$obj2 = obtener_instancia_no_ref();
$aun_obj2 = obtener_instancia_no_ref();
?>

El resultado del ejemplo sería:

Objeto estático: NULL
Objeto estático: NULL

Objeto estático: NULL
Objeto estático: object(stdClass)(1) {
["property"]=>
int(1)
}

Este ejemplo demuestra que al asignar una referencia a una variable estática, esta no es recordada cuando se invoca la funcion &obtener_instancia_ref() por segunda vez.

Variables Predefinidas
Variables variables
Variables


Variables variables

A veces es conveniente tener nombres de variables variables. Dicho de otro modo, son nombres de variables que se pueden definir y usar dinámicamente. Una variable normal se establece con una sentencia como:

<?php
$a = 'hola';
?>

Una variable variable toma el valor de una variable y lo trata como el nombre de una variable. En el ejemplo anterior, hola, se puede usar como el nombre de una variable utilizando dos signos de dólar. Es decir:

<?php
$$a = 'mundo';
?>

En este momento se han definido y almacenado dos variables en el árbol de símbolos de PHP: $a, que contiene "hola", y $hola, que contiene "mundo". Es más, esta sentencia:

<?php
echo "$a ${$a}";
?>

produce el mismo resultado que:

<?php
echo "$a $hola";
?>

esto quiere decir que ambas producen el resultado: hola mundo.

Para usar variables variables con matrices, hay que resolver un problema de ambigüedad. Si se escribe $$a[1] el intérprete necesita saber si nos referimos a utilizar $a[1] como una variable, o si se pretendía utilizar $$a como variable y el índice [1] como índice de dicha variable. La sintaxis para resolver esta ambigüedad es: ${$a[1]} para el primer caso y ${$a}[1] para el segundo.

También se puede acceder a las propiedades de la clase usando el nombre de la variable de la propiedad. El nombre de la propiedad será resuelto según donde se hizo la llamada. Por ejemplo, en esta expresión $foo->$bar, de forma local en la clase se buscará por $bar y su valor será usado como el nombre de la propiedad de $foo. Esto también es cierto si $bar es un acceso a un array.

También se pueden usar llaves para delimitar de forma clara el nombre de la propiedad. Son muy útila al acceder a valores dentro una propiedad que contiene un array, cuando el nombre de la propiedad está compuesto de múltiples partes, o cuando el nombre de la propiedad contiene caracteres que de otro modo no son válidos (p.ej. desde json_decode() o SimpleXML).

Ejemplo #1 Ejemplo de propiedad variable

<?php
class foo {
    var $bar = 'Soy bar.';
    var $arr = array('Soy A.', 'Soy B.', 'Soy C.');
    var $r   = 'Soy r.';
}

$foo = new foo();
$bar = 'bar';
$baz = array('foo', 'bar', 'baz', 'quux');
echo $foo->$bar . "\n";
echo $foo->$baz[1] . "\n";

$start = 'b';
$end   = 'ar';
echo $foo->{$start . $end} . "\n";

$arr = 'arr';
echo $foo->$arr[1] . "\n";
echo $foo->{$arr}[1] . "\n";

?>

El resultado del ejemplo sería:

Soy bar.
Soy bar.
Soy bar.
Soy r.
Soy B.

Advertencia

Por favor tenga en cuenta que las variables variables no pueden usarse con las Matrices superglobales de PHP al interior de funciones o métodos de clase. La variable $this es también una variable especial que no puede ser referenciada dinámicamente.

Ámbito de las variables
Variables Desde Fuentes Externas
Variables


Variables Desde Fuentes Externas

Formularios HTML (GET y POST)

Cuando se envía un formulario a un script PHP, las variables de dicho formulario pasan a estar automáticamente disponibles en el script gracias a PHP. Por ejemplo, consideremos el siguiente formulario:

Ejemplo #1 Variables de formulario simples

<form action="foo.php" method="post">
    Nombre usuario: <input type="text" name="username" /><br />
    Email:  <input type="text" name="email" /><br />
    <input type="submit" name="submit" value="¡Enviarme!" />
</form>

Dependiendo de su configuración y preferencias personales, existen muchas maneras de acceder a los datos de formularios HTML. Algunos ejemplos:

Ejemplo #2 Acceso a datos de un formulario simple HTML POST

<?php
// Disponible desde PHP 4.1.0

   echo $_POST['username'];
   echo $_REQUEST['username'];

   import_request_variables('p', 'p_');
   echo $p_username;

// Desde PHP 5.0.0, las variables predefinidas largas se pueden
// desactivar con la directiva register_long_arrays.
   echo $HTTP_POST_VARS['username'];

// Disponible si la directiva de PHP register_globals = on. A partir de
// PHP 4.2.0 el valor predeterminado de register_globals = off.
// Usar o depender de este método no es recomendable.

   echo $username;
?>

Usar un formulario GET es similar excepto en el uso de variables predefinidas, que en este caso serán del tipo GET. GET también se usa con QUERY_STRING (la información despues del símbolo '?' en una URL). Por ejemplo http://www.example.com/test.php?id=3 contiene datos GET que son accesibles con $_GET['id']. Vea también $_REQUEST e import_request_variables().

Nota:

Las matrices superglobales, como $_POST y $_GET, están disponibles desde PHP 4.1.0.

Nota:

Puntos y espacios en nombres de variable son convertidos a subguiones. Por ejemplo <input name="a.b" /> resulta $_REQUEST["a_b"].

Como hemos dicho, antes de PHP 4.2.0, el valor por omisión de register_globals era on (activado). La comunidad PHP recomienda no confiar en esta directiva ya que es preferible asumir que tiene el valor off (desactivada) y programar teniendo en cuenta esto.

Nota:

La directiva de configuración magic_quotes_gpc afecta a valores Get, Post y Cookie. Si está activada (on), el valor (It's "PHP!") será convertido automáticamente a (It\'s \"PHP!\"). Se consideró que esto era necesario para el escape de caracteres para su inserción en base de datos hace una década, pero actualmente es una característica obsoleta que debe ser desactivada. Ver también addslashes(), stripslashes() y magic_quotes_sybase.

PHP también entiende arrays en el contexto de variables de formularios (vea la faq relacionada). Se puede, por ejemplo, agrupar juntas variables relacionadas o usar esta característica para obtener valores de una entrada "select" múltiple. Por ejemplo, vamos a mandar un formulario a sí mismo y a presentar los datos cuando se reciban:

Ejemplo #3 Variables de formulario más complejas

<?php
if ($_POST) {
    echo '<pre>';
    echo htmlspecialchars(print_r($_POST, true));
    echo '</pre>';
}
?>
<form action="" method="post">
    Nombre:  <input type="text" name="personal[nombre]" /><br />
    Email:   <input type="text" name="personal[email]" /><br />
    Cerveza: <br />
    <select multiple name="cerveza[]">
        <option value="warthog">Warthog</option>
        <option value="guinness">Guinness</option>
        <option value="stuttgarter">Stuttgarter Schwabenbräu</option>
    </select><br />
    <input type="submit" value="¡enviarme!" />
</form>

Nombres de variables tipo IMAGE SUBMIT

Cuando se envía un formulario, es posible usar una imagen en vez del botón estándar "submit":

<input type="image" src="image.gif" name="sub" />

Cuando el usuario hace click en cualquier parte de la imagen, el formulario que la acompaña se transmitirá al servidor con dos variables adicionales, sub_x y sub_y. Éstas contienen las coordenadas del clic del usuario dentro de la imagen. Los más experimentados puede notar que los nombres de variable enviados por el navegador contienen un guión en vez de un subrayado (guión bajo), pero PHP convierte el guión en subrayado automáticamente.

Cookies HTTP

PHP soporta cookies de HTTP de forma transparente tal y como están definidas en » RFC 6265. Las cookies son un mecanismo para almacenar datos en el navegador y así rastrear o identificar a usuarios que vuelven. Se pueden crear cookies usando la función setcookie(). Las cookies son parte de la cabecera HTTP, así que se debe llamar a la función SetCookie antes de que se envíe cualquier salida al navegador. Es la misma restricción que para la función header(). Los datos de una cookie están disponibles en el array con datos de cookies apropiada, tal como $_COOKIE, $HTTP_COOKIE_VARS y también en $_REQUEST. Vea la función setcookie() para más detalles y ejemplos.

Si se quieren asignar múltiples valores a una sola cookie, basta con asignarlo como un array. Por ejemplo:

<?php
  setcookie("MiCookie[foo]", 'Prueba 1', time()+3600);
  setcookie("MiCookie[bar]", 'Prueba 2', time()+3600);
?>

Esto creará dos cookies separadas aunque MiCookie será un array simple en el script. Si se quiere definir una sola cookie con valores múltiples, considere el uso de la función serialize() o explode() primero en el valor.

Nótese que una cookie reemplazará a una cookie anterior que tuviese el mismo nombre en el navegador a menos que la ruta o el dominio fuesen diferentes. Así, para una aplicación de carrito de compras se podría querer mantener un contador e ir pasándolo. Es decir:

Ejemplo #4 Un ejemplo de setcookie()

<?php
if (isset($_COOKIE['conteo'])) {
    $conteo = $_COOKIE['conteo'] + 1;
} else {
    $conteo = 1;
}
setcookie('conteo', $conteo, time()+3600);
setcookie("Carrito[$conteo]", $item, time()+3600);
?>

Puntos en los nombres de variables de entrada

Típicamente, PHP no altera los nombres de las variables cuando se pasan a un script. Sin embargo, hay que notar que el punto no es un carácter válido en el nombre de una variable PHP. Para conocer la razón, considere el siguiente ejemplo:

<?php
$varname.ext;  /* nombre de variable inválido */
?>
Lo que el intérprete vé es el nombre de una variable $varname, seguido por el operador de concatenación, y seguido por la cadena pura (es decir, una cadena sin entrecomillar que no coincide con ninguna palabra clave o reservada conocida) 'ext'. Obviamente, no se pretendía que fuese éste el resultado.

Por esta razón, es importante hacer notar que PHP reemplazará automáticamente cualquier punto en los nombres de variables de entrada por guiones bajos (subrayados).

Determinación de los tipos de variables

Dado que PHP determina los tipos de las variables y los convierte (generalmente) según lo necesita, no siempre resulta obvio de qué tipo es una variable dada en un momento concreto. PHP incluye varias funciones que descubren de qué tipo es una variable: gettype(), is_array(), is_float(), is_int(), is_object(), y is_string(). Vea también el capítulo sobre Tipos.

Variables variables
Constantes
Variables


Constantes

Tabla de contenidos

  • Sintaxis
  • Constantes predefinidas

Una constante es un identificador (nombre) para expresar un valor simple. Como el nombre sugiere, este valor no puede variar durante la ejecucción del script. (A excepción de las constantes predefinidas, que en realidad no son constantes). Una constante es sensible a mayúsculas por defecto. Por convención, los identificadores de contantes siempre suelen declararse en mayúsculas.

El nombre de una constante sigue las mismas reglas que cualquier otra etiqueta de PHP. Un nombre de constante válido empieza por una letra o subguión, seguido por cualquier número o letras, números o subguiones. Usando una expresión regular, se representaría de la siguiente manera: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*

Sugerencia

Vea también Guia de Entorno de Usuario para Nombres.

Ejemplo #1 Nombres de constantes correctos e incorrectos

<?php

// Nombre de constantes correctos
define("FOO",     "something");
define("FOO2",    "something else");
define("FOO_BAR", "something more");

// Nombres de constantes incorrectos
define("2FOO",    "something");

// Esto es válido, pero debería ser evitado:
// Ya que quizá algún día PHP crea una constante mágica
// con el mismo nombre y en ese caso provocaría un error en tu script
define("__FOO__", "something");

?>

Nota: Para nuestros propósitos, entenderemos como letra los carácteres a-z, A-Z, y los ASCII del 127 hasta el 255 (0x7f-0xff).

Igual que las superglobals, el acceso a una constante es global. Se puede acceder a constantes desde cualquier sitio del script sin importar desde donde. Para más información en el acceso, lea el manual en la sección acceso a variables.

Variables Desde Fuentes Externas
Sintaxis
Referencia del lenguaje


Sintaxis

Se puede definir una constante usando la función define() o también declarándola fuera de la clase con const desde PHP 5.3.0. Una vez que la constante está definida, no puede ser cambiada o redifinida en ningún momento.

Solo se puede definir como constantes valores escalares (boolean, integer, float y string). Se puede definir resource en constantes, pero debería ser evitado, porque puede causar resultados inesperados.

Para obtener el valor de una constante solo es necesarios especificar su nombre. A diferencia de las variables, no se debe prefijar una constante con el signo $. También se puede usar la función constant() para leer el valor de una constante si se desea obtener el valor de una constante de forma dinámica. Use get_defined_constants() para obtener una lista de todas las constantes definidas.

Nota: Las contantes y las variables (globales) se encuentran en un espacio de nombres distinto. Esto implica que por ejemplo TRUE y $TRUE son diferentes.

Si se usa una constante que todavía no está definida, PHP asume que se está refiriendo al nombre de la constante en si, igual que si fuera una string (CONSTANT vs "CONSTANT"). Cuando esto suceda, se mostrará un error de nivel E_NOTICE. Ver también la sección en el manual de porqué $foo[bar] es incorrecto (a no ser que primero define() bar como constante). Si simplemente quiere comprobar si una constante está definida, use la función defined().

Estas son las diferencias entre constantes y variables:

  • Las constantes no llevan el signo dólar ($), como prefijo.
  • Las constantes solo pueden ser definidas usando la función define(), y no por simple asignación.
  • Las constantes pueden ser definidas y accedidas desde cualquier sitio sin importar las reglas de acceso de variables.
  • Las constantes no pueden ser redefinidas o eliminadas una vez se han definido. Y
  • Las constantes solo deberían contener valores escalares.

Ejemplo #1 Definiendo constantes

<?php
define("CONSTANT", "Hola mundo.");
echo CONSTANT; // muestra "Hola mundo."
echo Constant; // muestra "Constant" y provoca un error.
?>

Ejemplo #2 Definiendo constantes usando el keyword const

<?php
// Funciona desde PHP 5.3.0
const CONSTANT = 'Hola Mundo';

echo CONSTANT;
?>

Nota:

A diferencia de definir constantes usando define(), las constantes definidas con la palabra clave const deben declararse en el nivel superior del entorno de la aplicación porque se definen en tiempo de ejecución. Esto significa que no pueden declararse dentro de funciones, loops o declaraciones if.

Vea también Constantes de clase.

Constantes
Constantes predefinidas
Constantes


Constantes predefinidas

PHP ofrece un largo número de constantes predefinidas a cualquier script en ejecucción. Muchas de estas constantes, sin embargo, son creadas por diferentes extensiones, y sólo estarán presentes si dichas extensiones están disponibles, bien por carga dinámica o porque han sido compiladas.

Hay ocho constantes predefinidas que cambian dependiendo de donde son usadas. Por ejemplo el valor de __LINE__ depende en la línea que se use en el script. Estas constantes especiales son sensibles a mayúsculas y son las siguientes:

Varias constantes PHP "mágicas"
Nombre | Descripción
__LINE__ | Línea actual en el fichero.
__FILE__ | Ruta completa y nombre del fichero. Si se usa dentro de un include, devolverá el nombre del fichero del include. Desde PHP 4.0.2, __FILE__ siempre contiene la ruta absoluta con symlinks resueltos, en otras versiones contenía la ruta relativa según las circunstancias.
__DIR__ | Directorio del fichero. Si se utiliza dentro de un include, devolverá el directorio del fichero incluído. Esta constante es igual que dirname(__FILE__). El nombre del directorio no lleva la barra inicial a no ser que esté en el directorio root. (Fue añadida en PHP 5.3.0)
__FUNCTION__ | Nombre de la función. (Añadida en PHP 4.3.0) Desde PHP 5 esta constante devuelve el nombre de la función donde fue declarada (sensible a mayúsculas). En PHP 4 su valor siempre es en minúsculas.
__CLASS__ | Nombre de la clase. (Añadida en PHP 4.3.0) Desde PHP 5 esta constante devuelve el nombre de la clase donde fue declarada (sensible a mayúsculas). En PHP 4 su valor siempre es en minúsculas. El nombre de la clase incluye el namespace declarado en (p.e.j. Foo\Bar). Tenga en cuenta que a partir de PHP 5.4 __CLASS__ también funciona con traits. Cuando es usado en un método trait, __CLASS__ es el nombre de la clase del trait que está siendo utilizado.
__TRAIT__ | El nombre de el trait. (Añadido en PHP 5.4.0) A partir de PHP 5.4 esta constante devuelve el trait que fué declarado (sensible a mayúsculas y minúsculas). El nombre de el trait incluye el namespace si alguno fué declarado en (p.e.j. Foo\Bar).
__METHOD__ | Nombre del método de la clase. (Añadida en PHP 5.0.0.) Nombre del método devuelto donde fue declarada. (sensible a mayúsculas).
__NAMESPACE__ | Nombre del espacio de nombres actual (sensible a mayúsculas). Esta constante se define en tiempo de compilación (Añadida en PHP 5.3.0) El nombre del namespace actual (sensible a mayúsculas).

Véase también
 get_class(),
 get_object_vars(),
 file_exists() y
 function_exists().

Sintaxis
Expresiones
Constantes


Expresiones

La expresiones son las piedras de construcción más importantes de PHP. En PHP casi todo lo que se escribe es una expresión. La manera más simple y acertada de definir lo que es una expresión es "cualquier cosa que tiene un valor".

Las formas más básicas de expresiones son las constantes y las variables. Cuando se escribe "$a = 5", se está asignando '5' a $a. '5', obviamente, tiene el valor 5, o en otras palabras, '5' es una expresión con el valor de 5 (en este caso, '5' es una constante entera).

Después de esta asignación, se espera que el valor de $a sea 5 también, por lo que si se escribe $b = $a, se espera que esto se comporte tal como si se escribiera $b = 5. En otras palabras, $a es también una expresión con el valor 5. Si todo funciona bien, esto es exactamente lo que sucederá.

Un ejemplo de expresiones algo más complejo son las funciones. Por ejemplo, considere la siguiente función:

<?php
function foo ()
{
    return 5;
}
?>

Asumiendo que está familiarizado con el concepto de función (si no lo está, échele una ojeada al capítulo sobre funciones), asumirá que escribir $c = foo() es esencialmente igual que escribir $c = 5. Y está en lo cierto. Las funciones son expresiones con el valor de sus valores devueltos. Ya que foo() devuelve 5, el valor de la expresión 'foo()' es 5. Normalmente las funciones no sólo devuelven un valor estático, sino que computan algo.

Por supuesto, los valores en PHP no tienen que ser enteros, y con frecuencia no lo son. PHP soporta cuatro tipos de valores escalares: valores enteros (integer), valores de coma (punto) flotante (float), valores de cadena (string) y valores booleanos (boolean) - (valores escalares son aquellos que no se pueden descomponer en piezas más pequeñas, a diferencia de las matrices, por ejemplo). PHP también soporta dos tipos compuestos (no escalares): matrices (arrays) y objetos. Cada uno de estos tipos de valores pueden ser asignados a variables o devueltos desde funciones.

PHP lleva las expresiones mucho más allá, de la misma manera que lo hacen otros lenguajes. PHP es un lenguaje orientado a expresiones, en el sentido de que casi todo es una expresión. Considere el ejemplo que ya hemos tratado, '$a = 5'. Es fácil de ver que aquí hay dos valores involucrados, el valor de la constante entera '5', y el valor de $a que ha sido actualizado a 5 también. Aunque la verdad es que existe aquí un valor adicional involucrado, que es el valor de la asignación misma. La asignación evalúa al valor asignado, en este caso 5. En la práctica, esto significa que '$a = 5', sin importar lo que haga, es una expresión con el valor 5. De este modo, escribir algo como '$b = ($a = 5)' es igual que escribir '$a = 5; $b = 5;' (el punto y coma marca el final de una sentencia). Ya que las asignaciones se analizan de derecha a izquierda, también se puede escribir '$b = $a = 5'.

Otro buen ejemplo de orientación a expresiones es el pre- y post-incremento y decremento. Los usuarios de PHP y de otros muchos lenguajes pueden estar familiarizados con la notación variable++ y variable--. Éstos son los operadores de incremento y decremento. En PHP, al igual que en C, hay dos tipos de incrementos - pre-incremento y post-incremento. Ambos esencialmente incrementan la variable, y el efecto sobre la variable es idéntico. La diferencia está con el valor de la expresión de incremento. Pre-incremento, que se escribre '++$variable', evalúa al valor incrementado (PHP incrementa la variable antes de leer su valor, de ahí el nombre de 'pre-incremento'). Post-incremento, que se escribe '$variable++' evalúa el valor original de $variable, antes de que sea incrementado (PHP incrementa la variable después de leer su valor, de ahí el nombre de 'post-incremento').

Un tipo de expresiones muy comunes son las expresiones de comparación. Estas expresiones evalúan si algo es FALSE (falso) o TRUE (verdadero). PHP soporta > (mayor que), >= (mayor o igual que), == (igual), != (distinto), < (menor que) y <= (menor o igual que). El lenguaje también soporta un conjunto de operadores de equivalencia estricta: === (igual y del mismo tipo) y !== (diferente o de distinto tipo). Estas expresiones se usan mayormente dentro de ejecuciones condicionales, tales como la sentencia if.

El último ejemplo de expresiones que trataremos aquí es una combinación de expresiones operador-asignación. Ya sabe que si quiere incrementar $a en 1, puede simplemente escribir '$a++' o '++$a'. Pero si lo que quiere es añadirle más de uno, por ejemplo 3, podría escribir '$a++' varias veces, pero esto, obviamente, no es una manera muy eficiente o cómoda. Una práctica mucho más común es escribir '$a = $a + 3'. '$a + 3' evalúa al valor de $a más 3, y se vuelve a asignar a $a, lo que resulta en incrementar $a en 3. En PHP, como en otros lenguajes como C, se puede escribir esto de una manera más abreviada, lo que con el tiempo se podría convertir en una forma más clara y rápida de entenderlo. Añadir 3 al valor actual de $a puede ser escrito '$a += 3'. Esto significa exactamente "toma el valor de $a, añádele 3 y asígnalo de nuevo a $a". Además de ser más corto y claro, también resulta en una ejecución más rápida. El valor de '$a += 3', al igual que el valor de una asignación normal, es el valor asignado. Observe que NO es 3, sino el valor combinado de $a más 3 (éste es el valor que es asignado a $a). Se puede usar cualquier operador compuesto de dos partes en este modo de operador-asignación, por ejemplo '$a -= 5' (restar 5 del valor de $a), '$b *= 7' (multiplicar el valor de $b por 7), etc.

Existe una expresión más que le puede parecer rara si no la ha visto en otros lenguajes, el operador condicional ternario:

<?php
$primero ? $segundo : $tercero
?>

Si el valor de la primera subexpresión es TRUE (no es cero), se evalúa la segunda subexpresión, y ése será el resultado de la expresión condicional. Si no, se evalúa la tercera subexpresión, y ése será el valor.

El siguiente ejemplo debería ayudarle a comprender un poco mejor el pre- y post-incremento y las expresiones en general:

<?php
function doble($i)
{
    return $i*2;
}
$b = $a = 5;        /* asignar el valor cinco a la variable $a y $b */
$c = $a++;          /* post-incremento, asignar el valor original de $a
                       (5) a $c */
$e = $d = ++$b;     /* pre-incremento, asignar el valor incrementado de
                       $b (6) a $d y $e */

/* en este punto, $d y $e son iguales a 6 */

$f = doble($d++);  /* asignar el doble del valor de $d antes
                       del incremento, 2*6 = 12, a $f */
$g = doble(++$e);  /* asignar el doble del valor de $e después
                       del incremento, 2*7 = 14, a $g */
$h = $g += 10;      /* primero, $g es incrementado en 10 y finaliza con el
                       valor 24. El valor de la asignación (24) es
                       asignado después a $h, y $h finaliza también con el
                       valor 24. */
?>

Algunas expresiones pueden considerarse como sentencias. En este caso, una sentencia tiene la forma 'expr ;', es decir, una expresión seguida de un punto y coma. En '$b = $a = 5;', '$a = 5' es una expresión válida, pero no es una sentencia en sí. Sin embargo, '$b = $a = 5;' es una sentencia válida.

Lo último que vale la pena mencionar es el valor verdadero de las expresiones. En muchos casos, principalmente en ejecuciones condicionales y bucles, no interesa saber el valor específico de la expresión, sino sólo si el valor significa TRUE o FALSE. Las constantes TRUE y FALSE (insensible a mayúsculas-minúsculas) son los dos valores booleanos posibles. Cuando es necesario, una expresión es convertida automáticamente al tipo boolean. Véase la sección sobre conversión de tipos para más detalles.

PHP proporciona una implementación completa y potente de expresiones, y documentarla por completo va más allá del ámbito de este manual. Los ejemplos de arriba deberían darle una buena idea de lo que son las expresiones y cómo construir expresiones útiles. Durante el resto de este manual se escribirá expr para indicar cualquier expresión de PHP válida.

Constantes predefinidas
Operadores
Referencia del lenguaje


Operadores

Tabla de contenidos

  • Precedencia de operadores
  • Operadores aritméticos
  • Operadores de asignación
  • Operadores bit a bit
  • Operadores de comparación
  • Operadores de control de errores
  • Operadores de ejecución
  • Operadores de incremento/decremento
  • Operadores lógicos
  • Operadores para strings
  • Operadores para arrays
  • Operadores de tipo

Un operador es algo que toma uno más valores (o expresiones, en jerga de programación) y produce otro valor (de modo que la construcción en si misma se convierte en una expresión).

Los operadores se pueden agrupar de acuerdo con el número de valores que toman. Los operadores unarios toman sólo un valor, por ejemplo ! (el operador lógico de negación) o ++ (el operador de incremento). Los operadores binarios toman dos valores, como los familiares operadores aritméticos + (suma) y - (resta), y la mayoría de los operadores de PHP entran en esta categoría. Finalmente, hay sólo un operador ternario, ? :, el cual toma tres valores; usualmente a este se le refiere simplemente como "el operador ternario" (aunque podría tal vez llamarse más correctamente como el operador condicional).

Una lista completa de operadores de PHP sigue en la sección Precedencia de Operadores. La sección también explica la precedencia y asociatividad de los operadores, las cuales gobiernan exactamente cómo son evaluadas expresiones que contienen varios diferentes operadores.

Expresiones
Precedencia de operadores
Referencia del lenguaje


Precedencia de operadores

La precedencia de un operador indica qué tan "estrechamente" se unen dos expresiones juntas. Por ejemplo, en la expresión 1 + 5 * 3 , la respuesta es 16 y no 18 porque el operador de multiplicación ("*") tiene una precedencia mayor que el operador de adición ("+"). Los paréntesis pueden ser usados para forzar la precedencia, si es necesario. Por ejemplo: (1 + 5) * 3 se evalúa como 18.

Cuando los operaadores tienen igual precedencia su asociatividad decide cómo se agrupan. Por ejemplo "-" tiene asociatividad a izquierda, así 1 - 2 - 3 se agrupa como (1 - 2) - 3 y se evalúa a -4. "=", por otra parte, tiene asociatividad a derecha, así $a = $b = $c se agrupa como $a = ($b = $c).

Los operadores de igual predecencia que no son asociativos no pueden usarse unos junto a otros, por ejemplo, 1 < 2 > 1 es ilegal en PHP. La expresión 1 <= 1 == 1, por otro lado, es legal, ya que el operador == tiene menos precedencia que el operador <=.

El uso de paréntesis, incluso cuando no es estrictamente necesario, a menudo puede aumentar la legibilidad del código haciendo grupos explícitamente en lugar de confiar en la predencia y asociatividad implícitas del operador.

La siguiente tabla enumera los operadores en orden de precendencia, con los de más alta precedencia al inicio. Los operadores en la misma línea tienen igual precedencia, en cuyo caso la asociatividad decide el agrupamiento.

Precedencia de operadores
Asociatividad | Operadores | Información adicional
no asociativo | clone new | clone and new
izquierda | [ | array()
derecha | ++ -- ~ (int) (float) (string) (array) (object) (bool) @ | tipos e incremento/decremento
no asociativo | instanceof | tipos
derecha | ! | lógico
izquierda | * / % | aritmética
izquierda | + - . | aritmética y string
izquierda | << >> | bit a bit
no asociativo | < <= > >= | comparación
no asociativo | == != === !== <> | comparación
izquierda | & | bit a bit y referencias
izquierda | ^ | bit a bit
izquierda | | | bit a bit
izquierda | && | lógico
izquierda | || | lógico
izquierda | ? : | ternario
derecha | = += -= *= /= .= %= &= |= ^= <<= >>= => | asignación
izquierda | and | lógico
izquierda | xor | lógico
izquierda | or | lógico
izquierda | , | muchos usos

Ejemplo #1 Asociatividad

<?php
$a = 3 * 3 % 5; // (3 * 3) % 5 = 4
// la asociatividad del operador ternario difiere de C/C++
$a = true ? 0 : true ? 1 : 2; // (true ? 0 : true) ? 1 : 2 = 2

$a = 1;
$b = 2;
$a = $b += 3; // $a = ($b += 3) -> $a = 5, $b = 5
?>

La precedencia y asociatividad de los operadores solamente determinan cómo se agrupan las expresiones, no especifican un orden de evaluación. PHP no especifica (en general) el orden en que se evalúa una expresión y se debería evitar el código que se asume un orden específico de evaluación, ya que el comportamiento puede cambiar entre versiones de PHP o dependiendo de código circundante.

Ejemplo #2 Orden de evaluación no definido

<?php
$a = 1;
echo $a + $a++; // podría mostrar 2 o 3

$i = 1;
$array[$i] = $i++; // podría establecer el índice a 1 o 2
?>

Nota:

Aunque = tiene una precedencia menor que la mayoría de los demás operadores, PHP aun permitirá expresiones similares a lo siguiente: if (!$a = foo()), en cuyo caso el valor devuelto de foo() es puesto en $a.

Operadores
Operadores aritméticos
Operadores


Operadores aritméticos

¿Recuerda la aritmética básica de la escuela? Estos funcionan igual que aquellos.

Operadores aritméticos
Ejemplo | Nombre | Resultado
-$a | Negación | Opuesto de $a.
$a + $b | Adición | Suma de $a y $b.
$a - $b | Sustracción | Diferencia de $a y $b.
$a * $b | Multiplicación | Producto de $a y $b.
$a / $b | División | Cociente de $a y $b.
$a % $b | Módulo | Resto de $a dividido por $b.

El operador de división ("/") devuelve un valor flotante a menos que los dos operandos sean integers (o strings que se conviertan a integers) y los números sean divisibles, en cuyo caso será devuelto un valor integer.

Los operandos del módulo se convierten en integers (por extracción de la parte decimal) antes del procesamiento.

El resultado del operador módulo % tiene el mismo signo que el dividendo — es decir, el resultado de $a % $b tendrá el mismo signo que $a. Por ejemplo:

<?php

echo (5 % 3)."\n";           // muestra 2
echo (5 % -3)."\n";          // muestra 2
echo (-5 % 3)."\n";          // muestra -2
echo (-5 % -3)."\n";         // muestra -2

?>

Véase también la página del manual sobre funciones matemáticas.

Precedencia de operadores
Operadores de asignación
Operadores


Operadores de asignación

El operador básico de asignación es "=". Se podría inclinar a pensar primero que es como un "igual a". No lo es. Realmente significa que el operando de la izquierda se establece con el valor de la expresión de la derecha (es decir, "se define como").

El valor de una expresión de asignación es el valor asignado. Es decir, el valor de "$a = 3" es de 3. Esto permite hacer algunas cosas intrincadas:

<?php

$a = ($b = 4) + 5; // ahora $a es igual a 9 y $b se ha establecido en 4.

?>

Para arrays, asignar un valor a una clave con nombre se realiza utilizando el operador "=>". La precedencia de este operador es la misma que otros operadores de asignación.

Además del operador básico de asignación, existen "operadores combinados" para todos los de aritmética binaria, unión de arrays y operadores de strings que permiten usar un valor en una expresión y entonces establecer su valor como el resultado de esa expresión. Por ejemplo:

<?php

$a = 3;
$a += 5; // establece $a en 8, como si se hubiera dicho: $a = $a + 5;
$b = "Hola ";
$b .= "ahí!"; // establece $b en "Hola ahí!", al igual que $b = $b . "ahí!";

?>

Observe que la asignación copia la variable original en la nueva (asignación por valor), por lo que los cambios en una no afectarán a la otra. Esto también puede tener relevancia si se necesita copiar algo como un gran array dentro de un bucle estrecho.

Una excepción al comportamiento usual de la asignación por valor en PHP ocurre con objects los cuales son asignados por referencia en PHP 5. Los objetos pueden ser explícitamente copiados por medio de la palabra clave clone.

Asignación por referencia

La asignación por referencia también está soportada, utilizando la sintaxis "$var = &$othervar;". Asignación por referencia significa que ambas variables terminan apuntando a los mismos datos y nada es copiado en ninguna parte.

Ejemplo #1 Asignación por referencia

<?php
$a = 3;
$b = &$a; // $b es una referencia para $a

print "$a\n"; // muestra 3
print "$b\n"; // muestra 3

$a = 4; // cambia $a

print "$a\n"; // muestra 4
print "$b\n"; // muestra 4 también, dado que $b es una referencia para $a, la cual ha
              // sido cambiada
?>

Desde PHP 5, el operador new retorna una referencia automáticamente, así que asignar el resultado de new por referencia, resulta en un mensaje E_DEPRECATED en PHP 5.3 y posteriores y un mensaje E_STRICT en versiones anteriores.

Por ejemplo, éste código resultará en una advertencia:

<?php
class C {}

/* La siguiente línea genera el siguiente mensaje de error:
 * Deprecated: Assigning the return value of new by reference is deprecated in...
 */
$o = &new C;
?>

Más información sobre referencias y sus usos potenciales se puede encontrar en la sección del manual Referencias Explicadas

Operadores aritméticos
Operadores bit a bit
Operadores


Operadores bit a bit

Los operadores bit a bit permiten la evaluación y la manipulación de bits específicos dentro de un integer.

Operadores bit a bit
Ejemplo | Nombre | Resultado
$a & $b | And (y) | Los bits que están activos en ambos $a y $b son activados.
$a | $b | Or (o inclusivo) | Los bits que están activos ya sea en $a o en $b son activados.
$a ^ $b | Xor (o exclusivo) | Los bits que están activos en $a o en $b, pero no en ambos, son activados.
~ $a | Not (no) | Los bits que están activos en $a son desactivados, y viceversa.
$a << $b | Shift left(desplazamiento a izquierda) | Desplaza los bits de $a, $b pasos a la izquierda (cada paso quiere decir "multiplicar por dos").
$a >> $b | Shift right (desplazamiento a derecha) | Desplaza los bits de $a, $b pasos a la derecha (cada paso quiere decir "dividir por dos").

El desplazamiento de bits en PHP es aritmético. Los bits desplazados por fuera de cualquiera de los extremos son descartados. Desplazamientos de izquierda tienen ceros desplazados a la derecha mientras que el bit de signo es desplazado fuera a la izquierda, es decir que no se conserva el signo de un operando. Desplazamientos a la derecha tienen copias del bit de signo desplazado a la izquierda, es decir que se conserva el signo de un operando.

Utilice paréntesis para garantizar la precedencia deseada. Por ejemplo, $a & $b == true evalúa la equivalencia y luego el bit a bit, mientras que ($a & $b) == true evalúa el bit a bit y luego la equivalencia.

Sea consciente de las conversiones de tipos de datos. Si tanto los parámetros de la izquierda como los de la derecha son cadenas, el operador bit a bit operará en los valores ASCII de los caracteres.

      La configuración error_reporting del PHP ini utiliza valores de bit a bit,
      lo que ofrece una demostración del mundo real de desactivar
      bits. Para mostrar todos los errores, a excepción de los avisos,
      las instrucciones del archivo php.ini dicen utilizar:
      E_ALL & ~E_NOTICE

      Esto funciona iniciando con E_ALL:
      00000000000000000111011111111111
      Luego se toma el valor de E_NOTICE ...
      00000000000000000000000000001000
      ... y se invierte por medio de ~:
      11111111111111111111111111110111
      Finalmente, se utiliza AND (&) para encontrar los bits que se
      activaron en ambos valores:
      00000000000000000111011111110111

      Otra forma de lograrlo es mediante XOR (^)
      para encontrar los bits que están activados en sólo el primer valor o en el otro:
      E_ALL ^ E_NOTICE

      error_reporting también se puede utilizar para demostrar la activación de bits.
      La forma para mostrar sólo los errores y los errores recuperables es:
      E_ERROR | E_RECOVERABLE_ERROR

      Este proceso combina E_ERROR
      00000000000000000000000000000001
      y
      00000000000000000001000000000000
      usando el operador OR (|)
      para obtener los bits activados en cualquiera de estos valores:
      00000000000000000001000000000001

Ejemplo #1 Operaciones AND, OR y XOR bit a bit sobre integers

<?php
/*
 * Ignore la sección superior,
 * es sólo el formateado para hacer la salida más clara.
 */

$format = '(%1$2d = %1$04b) = (%2$2d = %2$04b)'
        . ' %3$s (%4$2d = %4$04b)' . "\n";

echo <<<EOH
 ---------     ---------  -- ---------
 resultado     valor      op prueba
 ---------     ---------  -- ---------
EOH;

/*
 * Aquí están los ejemplos.
 */

$values = array(0, 1, 2, 4, 8);
$test = 1 + 4;

echo "\n AND bit a bit \n";
foreach ($values as $value) {
    $result = $value & $test;
    printf($format, $result, $value, '&', $test);
}

echo "\n OR inclusivo bit a bit \n";
foreach ($values as $value) {
    $result = $value | $test;
    printf($format, $result, $value, '|', $test);
}

echo "\n OR exclusivo (XOR) bit a bit \n";
foreach ($values as $value) {
    $result = $value ^ $test;
    printf($format, $result, $value, '^', $test);
}
?>

El resultado del ejemplo sería:

 ---------     ---------  -- ---------
 resultado     valor      op prueba
 ---------     ---------  -- ---------
 AND bit a bit
( 0 = 0000) = ( 0 = 0000) & ( 5 = 0101)
( 1 = 0001) = ( 1 = 0001) & ( 5 = 0101)
( 0 = 0000) = ( 2 = 0010) & ( 5 = 0101)
( 4 = 0100) = ( 4 = 0100) & ( 5 = 0101)
( 0 = 0000) = ( 8 = 1000) & ( 5 = 0101)

 OR inclusivo bit a bit
( 5 = 0101) = ( 0 = 0000) | ( 5 = 0101)
( 5 = 0101) = ( 1 = 0001) | ( 5 = 0101)
( 7 = 0111) = ( 2 = 0010) | ( 5 = 0101)
( 5 = 0101) = ( 4 = 0100) | ( 5 = 0101)
(13 = 1101) = ( 8 = 1000) | ( 5 = 0101)

 OR exclusivo (XOR) bit a bit
( 5 = 0101) = ( 0 = 0000) ^ ( 5 = 0101)
( 4 = 0100) = ( 1 = 0001) ^ ( 5 = 0101)
( 7 = 0111) = ( 2 = 0010) ^ ( 5 = 0101)
( 1 = 0001) = ( 4 = 0100) ^ ( 5 = 0101)
(13 = 1101) = ( 8 = 1000) ^ ( 5 = 0101)

Ejemplo #2 Operaciones XOR bit a bit sobre strings

<?php
echo 12 ^ 9; // Sale '5'

echo "12" ^ "9"; // Sale el caracter de retroceso (ascii 8)
                 // ('1' (ascii 49)) ^ ('9' (ascii 57)) = #8

echo "hallo" ^ "hello"; // Salen los valores ascii #0 #4 #0 #0 #0
                        // 'a' ^ 'e' = #4

echo 2 ^ "3"; // Sale 1
              // 2 ^ ((int)"3") == 1

echo "2" ^ 3; // Sale 1
              // ((int)"2") ^ 3 == 1
?>

Ejemplo #3 Desplazamiento de bits sobre integers

<?php
/*
 * Aquí están los ejemplos.
 */

echo "\n--- DESPLAZAMIENTO DE BITS A LA DERECHA SOBRE ENTEROS POSITIVOS ---\n";

$val = 4;
$places = 1;
$res = $val >> $places;
p($res, $val, '>>', $places, 'copia del bit de signo desplazado hacia el lado izquierdo');

$val = 4;
$places = 2;
$res = $val >> $places;
p($res, $val, '>>', $places);

$val = 4;
$places = 3;
$res = $val >> $places;
p($res, $val, '>>', $places, 'bits desplazados fuera del lado derecho');

$val = 4;
$places = 4;
$res = $val >> $places;
p($res, $val, '>>', $places, 'mismo resultado que arriba; no se puede desplazar más allá del 0');

echo "\n--- DESPLAZAMIENTO DE BITS A LA DERECHA SOBRE ENTEROS NEGATIVOS ---\n";

$val = -4;
$places = 1;
$res = $val >> $places;
p($res, $val, '>>', $places, 'copia del bit de signo desplazado al lado izquierdo');

$val = -4;
$places = 2;
$res = $val >> $places;
p($res, $val, '>>', $places, 'bits desplazados fuera del lado derecho');

$val = -4;
$places = 3;
$res = $val >> $places;
p($res, $val, '>>', $places, 'mismo resultado que arriba; no se puede desplazar más allá del -1');

echo "\n--- DESPLAZAMIENTO DE BITS A LA IZQUIERDA SOBRE ENTEROS POSITIVOS ---\n";

$val = 4;
$places = 1;
$res = $val << $places;
p($res, $val, '<<', $places, 'ceros rellenan en el lado derecho');

$val = 4;
$places = (PHP_INT_SIZE * 8) - 4;
$res = $val << $places;
p($res, $val, '<<', $places);

$val = 4;
$places = (PHP_INT_SIZE * 8) - 3;
$res = $val << $places;
p($res, $val, '<<', $places, 'bit de signo resulta desplazado fuera');

$val = 4;
$places = (PHP_INT_SIZE * 8) - 2;
$res = $val << $places;
p($res, $val, '<<', $places, 'bit de signo desplazado fuera del lado izquierdo');

echo "\n--- DESPLAZAMIENTO DE BITS A LA IZQUIERDA SOBRE ENTEROS NEGATIVOS ---\n";

$val = -4;
$places = 1;
$res = $val << $places;
p($res, $val, '<<', $places, 'ceros rellenan en el lado derecho');

$val = -4;
$places = (PHP_INT_SIZE * 8) - 3;
$res = $val << $places;
p($res, $val, '<<', $places);

$val = -4;
$places = (PHP_INT_SIZE * 8) - 2;
$res = $val << $places;
p($res, $val, '<<', $places, 'bits desplazados fuera del lado izquierdo, incluyendo el bit de signo');

/*
 * Ignore this bottom section,
 * it is just formatting to make output clearer.
 */

function p($res, $val, $op, $places, $note = '') {
    $format = '%0' . (PHP_INT_SIZE * 8) . "b\n";

    printf("Expression: %d = %d %s %d\n", $res, $val, $op, $places);

    echo " Decimal:\n";
    printf("  val=%d\n", $val);
    printf("  res=%d\n", $res);

    echo " Binary:\n";
    printf('  val=' . $format, $val);
    printf('  res=' . $format, $res);

    if ($note) {
        echo " NOTE: $note\n";
    }

    echo "\n";
}
?>

El resultado del ejemplo en equipos de 32 bits sería:

--- DESPLAZAMIENTO DE BITS A LA DERECHA SOBRE ENTEROS POSITIVOS ---
Expression: 2 = 4 >> 1
 Decimal:
  val=4
  res=2
 Binary:
  val=00000000000000000000000000000100
  res=00000000000000000000000000000010
 NOTE: copia del bit de signo desplazado hacia el lado izquierdo

Expression: 1 = 4 >> 2
 Decimal:
  val=4
  res=1
 Binary:
  val=00000000000000000000000000000100
  res=00000000000000000000000000000001

Expression: 0 = 4 >> 3
 Decimal:
  val=4
  res=0
 Binary:
  val=00000000000000000000000000000100
  res=00000000000000000000000000000000
 NOTE: bits desplazados fuera del lado derecho

Expression: 0 = 4 >> 4
 Decimal:
  val=4
  res=0
 Binary:
  val=00000000000000000000000000000100
  res=00000000000000000000000000000000
 NOTE: mismo resultado que arriba; no se puede desplazar más allá del 0

--- DESPLAZAMIENTO DE BITS A LA DERECHA SOBRE ENTEROS NEGATIVOS ---
Expression: -2 = -4 >> 1
 Decimal:
  val=-4
  res=-2
 Binary:
  val=11111111111111111111111111111100
  res=11111111111111111111111111111110
 NOTE: copia del bit de signo desplazado al lado izquierdo

Expression: -1 = -4 >> 2
 Decimal:
  val=-4
  res=-1
 Binary:
  val=11111111111111111111111111111100
  res=11111111111111111111111111111111
 NOTE: bits desplazados fuera del lado derecho

Expression: -1 = -4 >> 3
 Decimal:
  val=-4
  res=-1
 Binary:
  val=11111111111111111111111111111100
  res=11111111111111111111111111111111
 NOTE: mismo resultado que arriba; no se puede desplazar más allá del -1

--- DESPLAZAMIENTO DE BITS A LA IZQUIERDA SOBRE ENTEROS POSITIVOS ---
Expression: 8 = 4 << 1
 Decimal:
  val=4
  res=8
 Binary:
  val=00000000000000000000000000000100
  res=00000000000000000000000000001000
 NOTE: ceros rellenan en el lado derecho

Expression: 1073741824 = 4 << 28
 Decimal:
  val=4
  res=1073741824
 Binary:
  val=00000000000000000000000000000100
  res=01000000000000000000000000000000

Expression: -2147483648 = 4 << 29
 Decimal:
  val=4
  res=-2147483648
 Binary:
  val=00000000000000000000000000000100
  res=10000000000000000000000000000000
 NOTE: bit de signo resulta desplazado fuera

Expression: 0 = 4 << 30
 Decimal:
  val=4
  res=0
 Binary:
  val=00000000000000000000000000000100
  res=00000000000000000000000000000000
 NOTE: bit de signo desplazado fuera del lado izquierdo

--- DESPLAZAMIENTO DE BITS A LA IZQUIERDA SOBRE ENTEROS NEGATIVOS ---
Expression: -8 = -4 << 1
 Decimal:
  val=-4
  res=-8
 Binary:
  val=11111111111111111111111111111100
  res=11111111111111111111111111111000
 NOTE: ceros rellenan en el lado derecho

Expression: -2147483648 = -4 << 29
 Decimal:
  val=-4
  res=-2147483648
 Binary:
  val=11111111111111111111111111111100
  res=10000000000000000000000000000000

Expression: 0 = -4 << 30
 Decimal:
  val=-4
  res=0
 Binary:
  val=11111111111111111111111111111100
  res=00000000000000000000000000000000
 NOTE: bits desplazados fuera del lado izquierdo, incluyendo el bit de signo

El resultado del ejemplo en equipos de 64 bits sería:

--- DESPLAZAMIENTO DE BITS A LA DERECHA SOBRE ENTEROS POSITIVOS ---
Expression: 2 = 4 >> 1
 Decimal:
  val=4
  res=2
 Binary:
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=0000000000000000000000000000000000000000000000000000000000000010
 NOTE: copia del bit de signo desplazado hacia el lado izquierdo

Expression: 1 = 4 >> 2
 Decimal:
  val=4
  res=1
 Binary:
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=0000000000000000000000000000000000000000000000000000000000000001

Expression: 0 = 4 >> 3
 Decimal:
  val=4
  res=0
 Binary:
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=0000000000000000000000000000000000000000000000000000000000000000
 NOTE: bits desplazados fuera del lado derecho

Expression: 0 = 4 >> 4
 Decimal:
  val=4
  res=0
 Binary:
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=0000000000000000000000000000000000000000000000000000000000000000
 NOTE: mismo resultado que arriba; no se puede desplazar más allá del 0

--- DESPLAZAMIENTO DE BITS A LA DERECHA SOBRE ENTEROS NEGATIVOS ---
Expression: -2 = -4 >> 1
 Decimal:
  val=-4
  res=-2
 Binary:
  val=1111111111111111111111111111111111111111111111111111111111111100
  res=1111111111111111111111111111111111111111111111111111111111111110
 NOTE: copia del bit de signo desplazado al lado izquierdo

Expression: -1 = -4 >> 2
 Decimal:
  val=-4
  res=-1
 Binary:
  val=1111111111111111111111111111111111111111111111111111111111111100
  res=1111111111111111111111111111111111111111111111111111111111111111
 NOTE: bits desplazados fuera del lado derecho

Expression: -1 = -4 >> 3
 Decimal:
  val=-4
  res=-1
 Binary:
  val=1111111111111111111111111111111111111111111111111111111111111100
  res=1111111111111111111111111111111111111111111111111111111111111111
 NOTE: mismo resultado que arriba; no se puede desplazar más allá del -1

--- DESPLAZAMIENTO DE BITS A LA IZQUIERDA SOBRE ENTEROS POSITIVOS ---
Expression: 8 = 4 << 1
 Decimal:
  val=4
  res=8
 Binary:
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=0000000000000000000000000000000000000000000000000000000000001000
 NOTE: ceros rellenan en el lado derecho

Expression: 4611686018427387904 = 4 << 60
 Decimal:
  val=4
  res=4611686018427387904
 Binary:
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=0100000000000000000000000000000000000000000000000000000000000000

Expression: -9223372036854775808 = 4 << 61
 Decimal:
  val=4
  res=-9223372036854775808
 Binary:
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=1000000000000000000000000000000000000000000000000000000000000000
 NOTE: bit de signo resulta desplazado fuera

Expression: 0 = 4 << 62
 Decimal:
  val=4
  res=0
 Binary:
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=0000000000000000000000000000000000000000000000000000000000000000
 NOTE: bit de signo desplazado fuera del lado izquierdo

--- DESPLAZAMIENTO DE BITS A LA IZQUIERDA SOBRE ENTEROS NEGATIVOS ---
Expression: -8 = -4 << 1
 Decimal:
  val=-4
  res=-8
 Binary:
  val=1111111111111111111111111111111111111111111111111111111111111100
  res=1111111111111111111111111111111111111111111111111111111111111000
 NOTE: ceros rellenan en el lado derecho

Expression: -9223372036854775808 = -4 << 61
 Decimal:
  val=-4
  res=-9223372036854775808
 Binary:
  val=1111111111111111111111111111111111111111111111111111111111111100
  res=1000000000000000000000000000000000000000000000000000000000000000

Expression: 0 = -4 << 62
 Decimal:
  val=-4
  res=0
 Binary:
  val=1111111111111111111111111111111111111111111111111111111111111100
  res=0000000000000000000000000000000000000000000000000000000000000000
 NOTE: bits desplazados fuera del lado izquierdo, incluyendo el bit de signo

Advertencia

No desplazar a la derecha más de 32 bits en sistemas de 32 bits. No desplazar a la izquierda en caso de que resulte en un número más largo de 32 bits. Usar funciones de la extensión gmp para manipulación bit a bit sobre números más allá de PHP_INT_MAX.

Ver también
 pack(),
 unpack(),
 gmp_and(),
 gmp_or(),
 gmp_xor(),
 gmp_testbit(),
 gmp_clrbit()

Operadores de asignación
Operadores de comparación
Operadores


Operadores de comparación

Los operadores de comparación, como su nombre lo indica, permiten comparar dos valores. Puede también estar interesado en ver las tablas de comparación de tipos, ya que muestran ejemplos de las varias comparaciones relacionadas con tipos.

Operadores de comparación
Ejemplo | Nombre | Resultado
$a == $b | Igual | TRUE si $a es igual a $b después de la manipulación de tipos.
$a === $b | Idéntico | TRUE si $a es igual a $b, y son del mismo tipo.
$a != $b | Diferente | TRUE si $a no es igual a $b después de la manipulación de tipos.
$a <> $b | Diferente | TRUE si $a no es igual a $b después de la manipulación de tipos.
$a !== $b | No idéntico | TRUE si $a no es igual a $b, o si no son del mismo tipo.
$a < $b | Menor que | TRUE si $a es estrictamente menor que $b.
$a > $b | Mayor que | TRUE si $a es estrictamente mayor que $b.
$a <= $b | Menor o igual que | TRUE si $a es menor o igual que $b.
$a >= $b | Mayor o igual que | TRUE si $a es mayor o igual que $b.

Si se compara un número con un string o la comparación implica strings numéricos, entonces cada string es convertido en un número y la comparación realizada numéricamente. Estas reglas también se aplican a la sentencia switch. La conversión de tipo no tiene lugar cuando la comparación es === o !== ya que esto involucra comparar el tipo así como el valor.

<?php
var_dump(0 == "a"); // 0 == 0 -> true
var_dump("1" == "01"); // 1 == 1 -> true
var_dump("10" == "1e1"); // 10 == 10 -> true
var_dump(100 == "1e2"); // 100 == 100 -> true

switch ("a") {
case 0:
    echo "0";
    break;
case "a": // nunca alcanzado debido a que "a" ya ha coincidido con 0
    echo "a";
    break;
}
?>

Para varios tipos, la comparación se realiza de acuerdo a la siguiente tabla (en orden).

La comparación con varios tipos
Tipo de operando 1 | Tipo de operando 2 | Resultado
null o string | string | Convierte NULL en "", comparación numérica o léxica
bool o null | cualquiera | Convierte ambos lados a bool, FALSE < TRUE
object | object | Las clases internas pueden definir su propia comparación, diferentes clases son incomparables, la misma clase - comparan propiedades en la misma forma que los arrays (PHP 4), PHP 5 tiene su propia explicación
string, resource o number | string, resource o number | Traducir las cadenas y recursos a números, matemática usual
array | array | Un array con menos elementos es menor, si una clave del operando 1 no se encuentra en el operando 2 entonces los arrays son incomparables, de otra forma - compara valor por valor (ver el siguiente ejemplo)
object | cualquiera | object es siempre mayor
array | cualquiera | array es siempre mayor

Ejemplo #1 Comparación boolean/null

<?php
// Booleanos y null son comparados siempre coomo bool
var_dump(1 == TRUE);  // TRUE - same as (bool)1 == TRUE
var_dump(0 == FALSE); // TRUE - same as (bool)0 == FALSE
var_dump(100 < TRUE); // FALSE - same as (bool)100 < TRUE
var_dump(-10 < FALSE);// FALSE - same as (bool)-10 < FALSE
var_dump(min(-100,-10, NULL, 10, 100); // NULL - (bool)NULL < (bool)-100 is FALSE < TRUE
?>

Ejemplo #2 Transcripción de la comparación estándar de arrays

<?php
// Arrays son comparados de esta forma con los operadores de comparación estándar
function standard_array_compare($op1, $op2)
{
    if (count($op1) < count($op2)) {
        return -1; // $op1 < $op2
    } elseif (count($op1) > count($op2)) {
        return 1; // $op1 > $op2
    }
    foreach ($op1 as $key => $val) {
        if (!array_key_exists($key, $op2)) {
            return null; // uncomparable
        } elseif ($val < $op2[$key]) {
            return -1;
        } elseif ($val > $op2[$key]) {
            return 1;
        }
    }
    return 0; // $op1 == $op2
}
?>

Ver también strcasecmp(), strcmp(), operadores de array, y la sección del manual sobre tipos.

Advertencia

Comparación de números de punto flotante

Debido a la forma en que son representados internamente los floats, no se deben probar por igualdad dos floats.

Ver la documentación de float para más información.

Operador ternario

Otro operador condicional es el operador "?:" (o ternario).

Ejemplo #3 Asignación de un valor predeterminado

<?php
// Ejemplo de uso para: Operador Ternario
$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];

// Lo anterior es idéntico a esta sentencia if/else
if (empty($_POST['action'])) {
    $action = 'default';
} else {
    $action = $_POST['action'];
}

?>
La expresión (expr1) ? (expr2) : (expr3) evalúa a expr2 si expr1 se evalúa como TRUE y a expr3 si expr1 se evalúa como FALSE.

A partir de PHP 5.3, es posible dejar de lado la parte media del operador ternario. La expresión expr1 ?: expr3 retorna expr1 si expr1 se evalúa como TRUE y expr3 si es de otra manera.

Nota: Por favor note que el operador ternario es una sentencia, y que no evalúa a una variable, pero si al resultado de una sentencia. Esto es importante saberlo si se desea retornar una variable por referencia. La sentencia return $var == 42 ? $a : $b; en una función con retorno-por-referencia no funcionará por lo que se ha mencionado y una advertencia es generada en versiones posteriores de PHP.

Nota:

Es recomendable evitar el "apilamiento" expresiones ternarias. El comportamiento de PHP al utilizar más de un operador ternario en una única sentencia no es evidente:

Ejemplo #4 Comportamiento Ternario poco obvio

<?php
// a primera vista, lo siguiente parece tener la salida de 'true'
echo (true?'true':false?'t':'f');

// sin embargo, la salida real de lo anterior es 't'
// esto se debe a que las expresiones ternarias se evalúan de izquierda a derecha

// la siguiente es una versión más obvia del mismo código anterior
echo ((true ? 'true' : false) ? 't' : 'f');

// aquí, se puede ver que la primera expresión es evaluada como 'true', que
// a su vez se evalúa como (bool)true, retornando así la rama verdadera de la
// segunda expresión ternaria.
?>

Operadores bit a bit
Operadores de control de errores
Operadores


Operadores de control de errores

PHP soporta un operador de control de errores: el signo de arroba (@). Cuando se antepone a una expresión en PHP, cualquier mensaje de error que pueden ser generado por esa expresión será ignorado.

Si se ha establecido una función controladora de errores personalizada con set_error_handler() entonces todavía será llamada, pero este controlador de errores personalizado puede (y debe) llamar a error_reporting() el cual devolverá 0 cuando la llamada que provocó el error fue precedida por el signo @.

Si la propiedad track_errors está activada, cualquier mensaje de error generado por la expresión será guardada en la variable $php_errormsg. Esta variable se sobrescribe en cada error, así que se debe comprobar antes si se desea utilizar.

<?php
/* Error intencional de archivo */
$my_file = @file ('non_existent_file') or
    die ("La apertura de archivo ha fallado: el error fue '$php_errormsg'");

// esto funciona con cualquier expresión, no solo con funciones:
$value = @$cache[$key];
// no producirá una anotación si el índice $key no existe.

?>

Nota: El operador @ trabaja sólo sobre expresiones. Una simple regla de oro es: si se puede tomar el valor de algo, entonces se le puede anteponer el operador @. Por ejemplo, puede anteponerse a variables, a llamadas a funciones e includes, constantes y así sucesivamente. No puede anteponerse a definiciones de función o clase, ni a estructuras condicionales como if y foreach, y así sucesivamente.

Ver también error_reporting() y la sección del manual sobre funciones de Manejo de Errores y Registros.

Advertencia

En la actualidad, el operador de prefijo "@" para control de errores deshabilitará incluso el reporte de errores en casos de fallos críticos que terminarán la ejecución del script. Entre otras cosas, esto quiere decir que si se usa "@" para eliminar los errores de una cierta función y ésta no se encuentra disponible o ha sido escrita de forma incorrecta, el script se detendrá en ese punto sin indicación de por qué.

Operadores de comparación
Operadores de ejecución
Operadores


Operadores de ejecución

PHP soporta un operador de ejecución: las comillas invertidas (``). ¡Note que estas no son las comillas sencillas! PHP intentará ejecutar el contenido entre las comillas invertidas como si se tratara de un comando del shell; la salida será retornada (es decir, no será simplemente volcada como salida; puede ser asignada a una variable). El uso del operador de comillas invertidas es idéntico al de shell_exec().

<?php
$output = `ls -al`;
echo "<pre>$output</pre>";
?>

Nota:

El operador de comillas invertidas se deshabilita cuando safe mode esta activado o shell_exec() esta desactivado.

Nota:

A diferencia de otros lenguajes, las comillas invertidas no pueden ser usadas dentro de strings entre comillas dobles.

Vea también la sección del manual sobre funciones de ejecución de programas, popen() proc_open() y Usando PHP desde la línea de comandos.

Operadores de control de errores
Operadores de incremento/decremento
Operadores


Operadores de incremento/decremento

PHP soporta operadores estilo C de pre- y post-incremento y decremento.

Nota: Los operadores de incremento/decremento solamente afectan a números y strings. Los arrays, objects y resources no se ven afectados. Decrementar valores NULL tampoco tiene efecto, pero incrementarlos entonces resulta en 1.

Operadores de incremento/decremento
Ejemplo | Nombre | Efecto
++$a | Pre-incremento | Incrementa $a en uno, y luego retorna $a.
$a++ | Post-incremento | Retorna $a, y luego incrementa $a en uno.
--$a | Pre-decremento | Decrementa $a en uno, luego retorna $a.
$a-- | Post-decremento | Retorna $a, luego decrementa $a en uno.

Aquí hay un script simple de ejemplo:

<?php
echo "<h3>Postincremento</h3>";
$a = 5;
echo "Debe ser 5: " . $a++ . "<br />\n";
echo "Debe ser 6: " . $a . "<br />\n";

echo "<h3>Preincremento</h3>";
$a = 5;
echo "Debe ser 6: " . ++$a . "<br />\n";
echo "Debe ser 6: " . $a . "<br />\n";

echo "<h3>Postdecremento</h3>";
$a = 5;
echo "Debe ser 5: " . $a-- . "<br />\n";
echo "Debe ser 4: " . $a . "<br />\n";

echo "<h3>Predecremento</h3>";
$a = 5;
echo "Debe ser 4: " . --$a . "<br />\n";
echo "Debe ser 4: " . $a . "<br />\n";
?>

PHP sigue la convención de Perl cuando trabaja con operaciones aritméticas sobre variables de caracteres y no la de C. Por ejemplo, en PHP y Perl $a = 'Z'; $a++; convierte $a en 'AA', mientras que en C a = 'Z'; a++; convierte a en '[' (el valor ASCII de 'Z' es 90, el valor ASCII de '[' es 91). Nótese que las variables de caracteres pueden ser incrementadas pero no decrementadas y aun así sólo caracteres y dígitos de ASCII puro (a-z, A-Z y 0-9) están soportados. Incrementar o decrementar otras variables de caracteres no tiene efecto, el string original no se modifica.

Ejemplo #1 Operaciones aritméticas sobre variables de caracteres

<?php
echo '== Letras ==' . PHP_EOL;
$s = 'W';
for ($n=0; $n<6; $n++) {
    echo ++$s . PHP_EOL;
}
// Los caracteres de dígitos tienen un comportamiento diferente
echo '== Dígitos ==' . PHP_EOL;
$d = 'A8';
for ($n=0; $n<6; $n++) {
    echo ++$d . PHP_EOL;
}
$d = 'A08';
for ($n=0; $n<6; $n++) {
    echo ++$d . PHP_EOL;
}
?>

El resultado del ejemplo sería:

== Letras ==
X
Y
Z
AA
AB
AC
== Dígitos ==
A9
B0
B1
B2
B3
B4
A09
A10
A11
A12
A13
A14

Incrementar o decrementar booleanos no tiene efecto.

Operadores de ejecución
Operadores lógicos
Operadores


Operadores lógicos

Operadores lógicos
Ejemplo | Nombre | Resultado
$a and $b | And (y) | TRUE si tanto $a como $b son TRUE.
$a or $b | Or (o inclusivo) | TRUE si cualquiera de $a o $b es TRUE.
$a xor $b | Xor (o exclusivo) | TRUE si $a o $b es TRUE, pero no ambos.
! $a | Not (no) | TRUE si $a no es TRUE.
$a && $b | And (y) | TRUE si tanto $a como $b son TRUE.
$a || $b | Or (o inclusivo) | TRUE si cualquiera de $a o $b es TRUE.

La razón para tener las dos variaciones diferentes de los operadores "and" y "or" es que ellos operan con precedencias diferentes. (Ver Precedencia de operadores.)

Ejemplo #1 Los operadores lógicos ilustrados

<?php

// --------------------
// foo() nunca será llamado ya que los operadores están en cortocircuito

$a = (false && foo());
$b = (true  || foo());
$c = (false and foo());
$d = (true  or  foo());

// --------------------
// "||" tiene una precedencia mayor que "or"

// El resultado de la expresión (false || true) es asignado a $e
// Actúa como: ($e = (false || true))
$e = false || true;

// La constante false es asignada a $f y entonces true es ignorado
// Actúa como: (($f = false) or true)
$f = false or true;

var_dump($e, $f);

// --------------------
// "&&" tiene una precedencia mayor que "and"

// El resultado de la expresión (true && false) es asignado a $g
// Actúa como: ($g = (true && false))
$g = true && false;

// La constante true es asignada a $h y entonces false es ignorado
// Actúa como: (($h = true) and false)
$h = true and false;

var_dump($g, $h);
?>

El resultado del ejemplo sería algo similar a:

bool(true)
bool(false)
bool(false)
bool(true)
Operadores de incremento/decremento
Operadores para strings
Operadores


Operadores para strings

Existen dos operadores para datos tipo string. El primero es el operador de concatenación ('.'), el cual retorna el resultado de concatenar sus argumentos derecho e izquierdo. El segundo es el operador de asignación sobre concatenación ('.='), el cual añade el argumento del lado derecho al argumento en el lado izquierdo. Por favor consulte Operadores de asignación para más información.

<?php
$a = "Hello ";
$b = $a . "World!"; // ahora $b contiene "Hello World!"

$a = "Hello ";
$a .= "World!";     // ahora $a contiene "Hello World!"
?>

Ver también las secciones del manual sobre el tipo string y las funciones de strings.

Operadores lógicos
Operadores para arrays
Operadores


Operadores para arrays

Operadores para arrays
Ejemplo | Nombre | Resultado
$a + $b | Unión | Unión de $a y $b.
$a == $b | Igualdad | TRUE si $a i $b tienen las mismas parejas clave/valor.
$a === $b | Identidad | TRUE si $a y $b tienen las mismas parejas clave/valor en el mismo orden y de los mismos tipos.
$a != $b | Desigualdad | TRUE si $a no es igual a $b.
$a <> $b | Desigualdad | TRUE si $a no es igual a $b.
$a !== $b | No-identidad | TRUE si $a no es idéntica a $b.

El operador + devuelve el array del lado derecho añadido al array del lado izquierdo; para las claves que existan en ambos arrays, serán utilizados los elementos del array de la izquierda y serán ignorados los elementos correspondientes del array de la derecha.

<?php
$a = array("a" => "apple", "b" => "banana");
$b = array("a" => "pear", "b" => "strawberry", "c" => "cherry");

$c = $a + $b; // Unión de $a y $b
echo "Union of \$a and \$b: \n";
var_dump($c);

$c = $b + $a; // Unión de $b y $a
echo "Union of \$b and \$a: \n";
var_dump($c);
?>
Cuando sea ejecutado, este script producirá la siguiente salida:
Union of $a and $b:
array(3) {
  ["a"]=>
  string(5) "apple"
  ["b"]=>
  string(6) "banana"
  ["c"]=>
  string(6) "cherry"
}
Union of $b and $a:
array(3) {
  ["a"]=>
  string(4) "pear"
  ["b"]=>
  string(10) "strawberry"
  ["c"]=>
  string(6) "cherry"
}

Los elementos de los arrays son iguales para la comparación si éstos tienen la misma clave y valor.

Ejemplo #1 Comparando arrays

<?php
$a = array("apple", "banana");
$b = array(1 => "banana", "0" => "apple");

var_dump($a == $b); // bool(true)
var_dump($a === $b); // bool(false)
?>

Ver también las secciones del manual sobre el tipo array y funciones de arrays.

Operadores para strings
Operadores de tipo
Operadores


Operadores de tipo

instanceof se utiliza para determinar si una variable de PHP es un objeto instanciado de una cierta clase:

Ejemplo #1 Utilizando instanceof con clases

<?php
class MyClass
{
}

class NotMyClass
{
}
$a = new MyClass;

var_dump($a instanceof MyClass);
var_dump($a instanceof NotMyClass);
?>

El resultado del ejemplo sería:

bool(true)
bool(false)

instanceof también se puede utilizar para determinar si una variable es un objeto instanciado de una clase que hereda de una clase padre:

Ejemplo #2 Utilizando instanceof con clases heredadas

<?php
class ParentClass
{
}

class MyClass extends ParentClass
{
}

$a = new MyClass;

var_dump($a instanceof MyClass);
var_dump($a instanceof ParentClass);
?>

El resultado del ejemplo sería:

bool(true)
bool(true)

Para comprobar si un objeto no es una instancia de una clase, se puede usar el operador lógico not.

Ejemplo #3 Utilizando instanceof para verificar si un objeto no es una instancia de una clase

<?php
class MyClass
{
}

$a = new MyClass;
var_dump(!($a instanceof stdClass));
?>

El resultado del ejemplo sería:

bool(true)

Finalmente, instanceof también se puede utilizar para determinar si una variable es un objeto instanciado de una clase que implementa una interface:

Ejemplo #4 Utilizando instanceof para la clase

<?php
interface MyInterface
{
}

class MyClass implements MyInterface
{
}

$a = new MyClass;

var_dump($a instanceof MyClass);
var_dump($a instanceof MyInterface);
?>

El resultado del ejemplo sería:

bool(true)
bool(true)

Aunque instanceof se utiliza generalmente con un nombre de clase literal, también puede ser utilizado con otro objeto o una variable string:

Ejemplo #5 Utilizando instanceof con otras variables

<?php
interface MyInterface
{
}

class MyClass implements MyInterface
{
}

$a = new MyClass;
$b = new MyClass;
$c = 'MyClass';
$d = 'NotMyClass';

var_dump($a instanceof $b); // $b is an object of class MyClass
var_dump($a instanceof $c); // $c is a string 'MyClass'
var_dump($a instanceof $d); // $d is a string 'NotMyClass'
?>

El resultado del ejemplo sería:

bool(true)
bool(true)
bool(false)

instanceof no lanza ningún error si la variable que está siendo comprobada no es un objeto, simplemente devuelve FALSE. Las constantes, sin embargo, no está permitidas.

Ejemplo #6 Usar instanceof para comprobar otras variables

<?php
$a = 1;
$b = NULL;
$c = imagecreate(5, 5);
var_dump($a instanceof stdClass); // $a es un entero
var_dump($b instanceof stdClass); // $b es NULL
var_dump($c instanceof stdClass); // $c es un recurso
var_dump(FALSE instanceof stdClass);
?>

El resultado del ejemplo sería:

bool(false)
bool(false)
bool(false)
PHP Fatal error:  instanceof expects an object instance, constant given

Hay algunas trampas a tener en cuenta. Antes de versión de PHP 5.1.0, instanceof llamaría a __autoload() si el nombre de clase no existía. Además, si la clase no estaba cargada, un error fatal ocurriría. Esto se puede solucionar mediante una referencia de clase dinámica o una variable string que contenga el nombre de la clase:

Ejemplo #7 Evitando búsquedas del nombre de clase y errores fatales con instanceof en PHP 5.0

<?php
$d = 'NotMyClass';
var_dump($a instanceof $d); // aquí no hay error fatal
?>

El resultado del ejemplo sería:

bool(false)

El operador instanceof fue introducido en PHP 5. Antes de esta época se utilizaba is_a(), pero desde entonces is_a() se ha quedado obsoleto en favor de instanceof. Tenga en cuenta que a partir de PHP 5.3.0, is_a() ya no está obsoleto.

Ver también get_class() y is_a().

Operadores para arrays
Estructuras de Control
Operadores


Estructuras de Control

Tabla de contenidos

  • Introducción
  • if
  • else
  • elseif/else if
  • Sintaxis alternativa de estructuras de control
  • while
  • do-while
  • for
  • foreach
  • break
  • continue
  • switch
  • declare
  • return
  • require
  • include
  • require_once
  • include_once
  • goto
Operadores de tipo
Introducción
Referencia del lenguaje


Introducción

Todo script PHP está construido en base a una serie de sentencias. Una sentencia puede ser una asignación, una llamada de función, un ciclo, una sentencia condicional o incluso una sentencia que no hace nada (una sentencia vacía). Las sentencias generalmente finalizan con un punto y coma. Adicionalmente, las sentencias pueden agruparse en un conjunto de sentencias, encapsulándolas entre corchetes. Un grupo de sentencias es una sentencia por sí misma también. Los diferentes tipos de sentencias son descritos en este capítulo.

Estructuras de Control
if
Estructuras de Control


if

(PHP 4, PHP 5)

El constructor if es una de las características más importantes de muchos lenguajes, incluido PHP. Permite la ejecución condicional de fragmentos de código. PHP dispone de una estructura if que es similar a la de C:

if (expr)
  sentencia

Como se describe en la sección sobre expresiones , la expresión es evaluada a su valor booleano. Si la expresión se evalúa como TRUE, PHP ejecutará la sentencia y si se evalúa como FALSE la ignorará. Más información sobre qué valores evalúan como FALSE se puede encontrar en la sección 'Convirtiendo a booleano'.

El siguiente ejemplo mostraría a es mayor que b si $a es mayor que $b:

<?php
if ($a > $b) {
  echo "a es mayor que b";
}
?>

A menudo se desea tener más de una sentencia para ser ejecutada condicionalmente. Por supuesto, no hay necesidad de envolver cada sentencia con una cláusula if. En cambio, se pueden agrupar varias sentencias en un grupo de sentencias. Por ejemplo, este código mostraría a es mayor que b si $a es mayor que $b y entonces asignaría el valor de $a a $b:

<?php
if ($a > $b) {
  echo "a es mayor que b";
  $b = $a;
}
?>

Las sentencias if pueden anidarse dentro de otra sentencias if infinitamente, lo cual provee completa flexibilidad para la ejecución condicional de diferentes partes del programa.

Introducción
else
Estructuras de Control


else

(PHP 4, PHP 5)

Con frecuencia se desea ejecutar una sentencia si una determinada condición se cumple y una sentencia diferente si la condición no se cumple. Esto es para lo que sirve else. El else extiende una sentencia if para ejecutar una sentencia en caso que la expresión en la sentencia if se evalúe como FALSE. Por ejemplo, el siguiente código deberá mostrar a es mayor que b si $a es mayor que $b y a NO es mayor que b en el caso contrario:

<?php
if ($a > $b) {
  echo "a es mayor que b";
} else {
  echo "a NO es mayor que b";
}
?>
La sentencia else sólo es ejecutada si la expresión if es evaluada como FALSE y si hay algunas expresiones elseif - sólo se ejecuta si también todas son evaluadas como FALSE (ver elseif).

if
elseif/else if
Estructuras de Control


elseif/else if

(PHP 4, PHP 5)

elseif, como su nombre lo sugiere, es una combinación de if y else. Del mismo modo que else, extiende una sentencia if para ejecutar una sentencia diferente en caso que la expresión if original se evalúe como FALSE. Sin embargo, a diferencia de else, esa expresión alternativa sólo se ejecutará si la expresión condicional del elseif se evalúa como TRUE. Por ejemplo, el siguiente código debe mostrar a es mayor que b, a es igual que b o a es menor que b:

<?php
if ($a > $b) {
    echo "a es mayor que b";
} elseif ($a == $b) {
    echo "a es igual que b";
} else {
    echo "a es menor que b";
}
?>

Puede haber varios elseif dentro de la misma sentencia if. La primera expresión elseif (si hay alguna) que se evalúe como TRUE sería ejecutada. En PHP también se puede escribir 'else if' (en dos palabras) y el comportamiento sería idéntico al de 'elseif' (en una sola palabra). El significado sintáctico es ligeramente diferente (si se está familiarizado con C, este es el mismo comportamiento) pero la conclusión es que ambos resultarían tener exactamente el mismo comportamiento.

La sentencia elseif es ejecutada solamente si la expresión if precedente y cualquiera de las expresiones elseif precedentes son evaluadas como FALSE, y la expresión elseif actual se evalúa como TRUE.

Nota: Tenga en cuenta que elseif y else if serán considerados exactamente iguales sólamente cuando se utilizan corchetes como en el ejemplo anterior. Al utilizar los dos puntos para definir las condiciones if/elseif, no debe separarse else if en dos palabras o PHP fallará con un error del interprete.

<?php

/* Método incorrecto: */
if($a > $b):
    echo $a." es mayor que ".$b;
else if($a == $b): // No compilará
    echo "La línea anterior provoca un error del interprete.";
endif;

/* Método correcto: */
if($a > $b):
    echo $a." es mayor que ".$b;
elseif($a == $b): // Tenga en cuenta la combinación de las palabras.
    echo $a." igual ".$b;
else:
    echo $a." no es ni mayor que ni igual a ".$b;
endif;

?>

else
Sintaxis alternativa de estructuras de control
Estructuras de Control


Sintaxis alternativa de estructuras de control

(PHP 4, PHP 5)

PHP ofrece una sintaxis alternativa para algunas de sus estructuras de control; a saber: if, while, for, foreach, y switch. En cada caso, la forma básica de la sintaxis alternativa es cambiar el corchete de apertura por dos puntos (:) y el corchete de cierre por endif;, endwhile;, endfor;, endforeach;, o endswitch;, respectivamente.

<?php if ($a == 5): ?>
A es igual a 5
<?php endif; ?>

En el ejemplo anterior, el bloque HTML "A es igual a 5" se anida dentro de una sentencia if escrita en la sintaxis alternativa. El bloque HTML se mostraría solamente si $a es igual a 5.

La sintaxis alternativa también se aplica a else y elseif. El siguiente es una estructura if con elseif y else en el formato alternativo:

<?php
if ($a == 5):
    echo "a igual 5";
    echo "...";
elseif ($a == 6):
    echo "a igual 6";
    echo "!!!";
else:
    echo "a no es 5 ni 6";
endif;
?>

Nota:

No se soporta la mezcla de sintaxis en el mismo bloque de control.

Véase también while, for e if para más ejemplos.

elseif/else if
while
Estructuras de Control


while

(PHP 4, PHP 5)

Los bucles while son el tipo más sencillo de bucle en PHP. Se comportan igual que su contrapartida en C. La forma básica de una sentencia while es:

while (expr)
    sentencia

El significado de una sentencia while es simple. Le dice a PHP que ejecute las sentencias anidadas, tanto como la expresión while se evalúe como TRUE. El valor de la expresión es verificado cada vez al inicio del bucle, por lo que incluso si este valor cambia durante la ejecución de las sentencias anidadas, la ejecución no se detendrá hasta el final de la iteración (cada vez que PHP ejecuta las sentencias contenidas en el bucle es una iteración). A veces, si la expresión while se evalúa como FALSE desde el principio, las sentencias anidadas no se ejecutarán ni siquiera una vez.

Al igual que con la sentencia if, se pueden agrupar varias instrucciones dentro del mismo bucle while rodeando un grupo de sentencias con corchetes, o utilizando la sintaxis alternativa:

while (expr):
    sentencias
    ...
endwhile;

Los siguientes ejemplos son idénticos y ambos presentan los números del 1 al 10:

<?php
/* ejemplo 1 */

$i = 1;
while ($i <= 10) {
    echo $i++;  /* el valor presentado sería
                   $i antes del incremento
                   (post-incremento) */
}

/* ejemplo 2 */

$i = 1;
while ($i <= 10):
    echo $i;
    $i++;
endwhile;
?>

Sintaxis alternativa de estructuras de control
do-while
Estructuras de Control


do-while

(PHP 4, PHP 5)

Los bucles do-while son muy similares a los bucles while, excepto que la expresión verdadera es verificada al final de cada iteración en lugar que al principio. La diferencia principal con los bucles while es que está garantizado que corra la primera iteración de un bucle do-while (la expresión verdadera sólo es verificada al final de la iteración), mientras que no necesariamente va a correr con un bucle while regular (la expresión verdadera es verificada al principio de cada iteración, si se evalúa como FALSE justo desde el comienzo, la ejecución del bucle terminaría inmediatamente).

Hay una sola sintaxis para bucles do-while:

<?php
$i = 0;
do {
    echo $i;
} while ($i > 0);
?>

El bucle de arriba se ejecutaría exactamente una sola vez, ya que después de la primera iteración, cuando la expresión verdadera es verificada, se evalúa como FALSE ($i no es mayor que 0) y termina la ejecución del bucle.

Los usuarios avanzados de C pueden estar familiarizados con un uso distinto del bucle do-while, para permitir parar la ejecución en medio de los bloques de código, mediante el encapsulado con do-while (0), y utilizando la sentencia break. El siguiente fragmento de código demuestra esto:

<?php
do {
    if ($i < 5) {
        echo "i no es lo suficientemente grande";
        break;
    }
    $i *= $factor;
    if ($i < $minimum_limit) {
        break;
    }
   echo "i está bien";

    /* procesar i */

} while (0);
?>

No se preocupe si no se entiende esto completamente o en absoluto. Se pueden codificar scripts e incluso scripts potentes sin usar esta 'característica'. Desde PHP 5.3.0, es posible utilizar el operador goto en lugar de este hack.

while
for
Estructuras de Control


for

(PHP 4, PHP 5)

Los bucles for son los más complejos en PHP. Se comportan como sus homólogos en C. La sintaxis de un bucle for es:

for (expr1; expr2; expr3)
    sentencia

La primera expresión (expr1) es evaluada (ejecutada) una vez incondicionalmente al comienzo del bucle.

En el comienzo de cada iteración, se evalúa expr2. Si se evalúa como TRUE, el bucle continúa y se ejecutan la/sy sentencia/s anidada/s. Si se evalúa como FALSE, finaliza la ejecución del bucle.

Al final de cada iteración, se evalúa (ejecuta) expr3.

Cada una de las expresiones puede estar vacía o contener múltiples expresiones separadas por comas. En expr2, todas las expresiones separadas por una coma son evaluadas, pero el resultado se toma de la última parte. Que expr2 esté vacía significa que el bucle debería ser corrido indefinidamente (PHP implícitamente lo considera como TRUE, como en C). Esto puede no ser tan inútil como se pudiera pensar, ya que muchas veces se debe terminar el bucle usando una sentencia condicional break en lugar de utilizar la expresión verdadera del for.

Considere los siguientes ejemplos. Todos ellos muestran los números del 1 al 10:

<?php
/* ejemplo 1 */

for ($i = 1; $i <= 10; $i++) {
    echo $i;
}

/* ejemplo 2 */

for ($i = 1; ; $i++) {
    if ($i > 10) {
        break;
    }
    echo $i;
}

/* ejemplo 3 */

$i = 1;
for (; ; ) {
    if ($i > 10) {
        break;
    }
    echo $i;
    $i++;
}

/* ejemplo 4 */

for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);
?>

Por supuesto, el primer ejemplo parece ser el mejor (o quizás el cuarto), pero se puede observar que la posibilidad de usar expresiones vacías en los bucles for resulta útil en muchas ocasiones.

PHP también admite la sintaxis alternativa de los dos puntos para bucles for.

for (expr1; expr2; expr3):
    sentencia
    ...
endfor;

Es una cosa común a muchos usuarios iterar por medio de arrays como en el siguiente ejemplo.

<?php
/*
* Este es un array con algunos datos que se quieren modificar
* cuando se recorra el bucle for.
*/
$people = array(
    array('name' => 'Kalle', 'salt' => 856412),
    array('name' => 'Pierre', 'salt' => 215863)
);

for($i = 0; $i < count($people); ++$i) {
    $people[$i]['salt'] = mt_rand(000000, 999999);
}
?>

El código anterior puede ser lento, debido a que el tamaño del array se capta en cada iteración. Dado que el tamaño nunca cambia, el bucle ser fácilmente optimizado mediante el uso de una variable intermedia para almacenar el tamaño en lugar de llamar repetidamente a count():

<?php
$people = array(
    array('name' => 'Kalle', 'salt' => 856412),
    array('name' => 'Pierre', 'salt' => 215863)
);

for($i = 0, $size = count($people); $i < $size; ++$i) {
    $people[$i]['salt'] = mt_rand(000000, 999999);
}
?>

do-while
foreach
Estructuras de Control


foreach

(PHP 4, PHP 5)

El constructor foreach proporciona un modo sencillo de iterar sobre arrays. foreach funciona sólo sobre arrays y objetos, y emitirá un error al intentar usarlo con una variable de un tipo diferente de datos o una variable no inicializada. Existen dos sintaxis:

foreach (expresión_array as $valor)
    sentencias
foreach (expresión_array as $clave => $valor)
    sentencias

La primera forma recorre el array dado por expresión_array. En cada iteración, el valor del elemento actual se asigna a $valor y el puntero interno del array avanza una posición (así en la próxima iteración se estará observando el siguiente elemento).

La segunda forma además asigna la clave del elemento actual a la variable $clave en cada iteración.

También es posible personalizar la iteración de objetos.

Nota:

Cuando foreach inicia su ejecución, el puntero interno del array se pone automáticamente en el primer elemento del array. Esto significa que no es necesario llamar la función reset() antes de un bucle foreach.

Ya que foreach depende el puntero de array interno, cambiar éste dentro del bucle puede conducir a un comportamiento inesperado.

Para poder modificar directamente los elementos del array dentro de bucle, se ha de anteponer & a $valor. En este caso el valor será asignado por referencia.

<?php
$array = array(1, 2, 3, 4);
foreach ($array as &$valor) {
    $valor = $valor * 2;
}
// $array ahora es array(2, 4, 6, 8)
unset($valor); // rompe la referencia con el último elemento
?>

Referenciar $valor sólo es posible si el array iterado puede ser referenciado (es decir, si es una variable). El siguiente código no funcionará:

<?php
foreach (array(1, 2, 3, 4) as &$valor) {
    $valor = $valor * 2;
}
?>

Advertencia

La referencia del $valor y el último elemento del array permanecen aún después del bucle foreach. Se recomienda destruirlos con unset().

Nota:

foreach no soporta la capacidad de suprimir mensajes de error usando '@'.

Se puede haber notado que las siguientes construcciones son funcionalmente idénticas:

<?php
$array = array("uno", "dos", "tres");
reset($array);
while (list(, $valor) = each($array)) {
    echo "Valor: $valor<br />\n";
}

foreach ($array as $valor) {
    echo "Valor: $valor<br />\n";
}
?>

Las siguientes construcciones también son funcionalmente idénticas:

<?php
$array = array("uno", "dos", "tres");
reset($array);
while (list($clave, $valor) = each($array)) {
    echo "Clave: $clave; Valor: $valor<br />\n";
}

foreach ($array as $clave => $valor) {
    echo "Clave: $clave; Valor: $valor<br />\n";
}
?>

Algunos ejemplos más para demostrar su uso:

<?php
/* Ejemplo 1 de foreach: sólo el valor */

$a = array(1, 2, 3, 17);

foreach ($a as $v) {
    echo "Valor actual de \$a: $v.\n";
}

/* Ejemplo 2 de foreach: valor (con su notación de acceso manual impreso con fines ilustrativos) */

$a = array(1, 2, 3, 17);

$i = 0; /* sólo para efectos ilustrativos */

foreach ($a as $v) {
    echo "\$a[$i] => $v.\n";
    $i++;
}

/* Ejemplo 3 de foreach: clave y valor */

$a = array(
    "uno" => 1,
    "dos" => 2,
    "tres" => 3,
    "diecisiete" => 17
);

foreach ($a as $k => $v) {
    echo "\$a[$k] => $v.\n";
}

/* Ejemplo 4 de foreach: arrays multidimensionales */
$a = array();
$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";

foreach ($a as $v1) {
    foreach ($v1 as $v2) {
        echo "$v2\n";
    }
}

/* Ejemplo 5 de foreach: arrays dinámicos */

foreach (array(1, 2, 3, 4, 5) as $v) {
    echo "$v\n";
}
?>

Utilizando arrays anidados con list()

(PHP 5 >= 5.5.0)

PHP 5.5 añade la posibilidad de recorrer un array de arrays y utilizar el array interior en las variables del bucle proporcionando list() como el valor.

Por ejemplo:

<?php
$array = [
    [1, 2],
    [3, 4],
];

foreach ($array as list($a, $b)) {
    // $a contiene el primer elemento del array interior,
    // y $b contiene el segundo elemento.
    echo "A: $a; B: $b\n";
}
?>

El resultado del ejemplo sería:

A: 1; B: 2
A: 3; B: 4

Puedes proporcionar menos elementos a list() de los que hay en el array interior, en cuyo caso los elementos sobrantes del array serán descartados:

<?php
$array = [
    [1, 2],
    [3, 4],
];

foreach ($array as list($a)) {
    // Observa que no hay $b en este caso.
    echo "$a\n";
}
?>

El resultado del ejemplo sería:

1
3

Se generará un notice si no hay suficientes elementos en el array para completar el list():

<?php
$array = [
    [1, 2],
    [3, 4],
];

foreach ($array as list($a, $b, $c)) {
    echo "A: $a; B: $b; C: $c\n";
}
?>

El resultado del ejemplo sería:

Notice: Undefined offset: 2 in example.php on line 7
A: 1; B: 2; C:

Notice: Undefined offset: 2 in example.php on line 7
A: 3; B: 4; C:

for
break
Estructuras de Control


break

(PHP 4, PHP 5)

break termina la ejecución de la estructura actual for, foreach, while, do-while o switch.

break acepta un argumento numérico opcional el cual indica de cuantas estructuras anidadas encerradas se debe salir.

<?php
$arr = array('uno', 'dos', 'tres', 'cuatro', 'pare', 'cinco');
while (list(, $val) = each($arr)) {
    if ($val == 'pare') {
        break;    /* Se puede también escribir 'break 1;' aquí. */
    }
    echo "$val<br />\n";
}

/* Usando el argumento opcional. */

$i = 0;
while (++$i) {
    switch ($i) {
    case 5:
        echo "En 5<br />\n";
        break 1;  /* Sólo sale del switch. */
    case 10:
        echo "En 10; saliendo<br />\n";
        break 2;  /* Sale del switch y del while. */
    default:
        break;
    }
}
?>

Registro de cambios para break
Versión | Descripción
5.4.0 | break 0; ya no es válido. En versiones anteriores se interpretaba igual que break 1;.
5.4.0 | Removida la posibilidad de pasar variables (por ejemplo, $num = 2; break $num;) como argumento numérico.

foreach
continue
Estructuras de Control


continue

(PHP 4, PHP 5)

continue se utiliza dentro de las estructuras iterativas para saltar el resto de la iteración actual del bucle y continuar la ejecución en la evaluación de la condición, y luego comenzar la siguiente iteración.

Nota: Tenga en cuenta que en PHP la sentencia switch se considera una estructura iterativa para los propósitos de continue.

continue acepta un argumento numérico opcional, que indica a cuántos niveles de bucles encerrados se ha de saltar al final. El valor por omisión es 1, por lo que salta al final del bucle actual.

<?php
while (list($clave, $valor) = each($arr)) {
    if (!($clave % 2)) { // saltar los miembros impares
        continue;
    }
    hacer_algo($valor);
}

$i = 0;
while ($i++ < 5) {
    echo "Exterior<br />\n";
    while (1) {
        echo "Medio<br />\n";
        while (1) {
            echo "Interior<br />\n";
            continue 3;
        }
        echo "Esto nunca se imprimirá.<br />\n";
    }
    echo "Ni esto tampoco.<br />\n";
}
?>

Omitir el punto y coma después del continue puede llevar a confusión. He aquí un ejemplo de lo que no se debe hacer.

<?php
for ($i = 0; $i < 5; ++$i) {
    if ($i == 2)
        continue
    print "$i\n";
}
?>

Se esperaría que el resultado fuera:

0
1
3
4

pero la salida de este script será:

2

debido a que continue print "$i\n"; se evalúa completo como una sola expresión, y así print se llama solamente cuando $i == 2 es verdadero. (El valor de retorno de print es pasado a continue como el argumento numérico.)

Registro de cambios para continue
Versión | Descripción
5.4.0 | continue 0; ya no es válido. En versiones anteriores era interpretado de la misma manera que continue 1;.
5.4.0 | Se eliminó la posibilidad de pasar variables (por ejemplo, $num = 2; continue $num;) como el argumento numérico.

break
switch
Estructuras de Control


switch

(PHP 4, PHP 5)

La sentencia switch es similar a una serie de sentencias IF en la misma expresión. En muchas ocasiones, es posible que se quiera comparar la misma variable (o expresión) con muchos valores diferentes, y ejecutar una parte de código distinta dependiendo de a que valor es igual. Para esto es exactamente la expresión switch.

Nota: Cabe señalar que a diferencia de algunos otros lenguajes, la sentencia continue se aplica a switch y actúa de manera similar a break. Si se tiene un switch dentro de un bucle y se desea continuar a la siguiente iteración de del ciclo exterior, se utiliza continue 2.

Nota:

Tener en cuenta que switch/case hace comparaciones flexibles.

Los dos ejemplos siguientes son dos formas diferentes de escribir lo mismo, uno con una serie de sentencias if y elseif, y el otro usando la sentencia switch:

Ejemplo #1 Estructura switch

<?php
if ($i == 0) {
    echo "i es igual a 0";
} elseif ($i == 1) {
    echo "i es igual a 1";
} elseif ($i == 2) {
    echo "i es igual a 2";
}

switch ($i) {
    case 0:
        echo "i es igual a 0";
        break;
    case 1:
        echo "i es igual a 1";
        break;
    case 2:
        echo "i es igual a 2";
        break;
}
?>

Ejemplo #2 Estrutura switch permite el uso de strings

<?php
switch ($i) {
    case "manzana":
        echo "i es una manzana";
        break;
    case "barra":
        echo "i es una barra";
        break;
    case "pastel":
        echo "i es un pastel";
        break;
}
?>

Es importante entender cómo la sentencia switch es ejecutada con el fin de evitar errores. La sentencia switch ejecuta línea por línea (en realidad, sentencia por sentencia). Al principio, ningún código es ejecutado. Sólo cuando una sentencia case es encontrada con un valor que coincide con el valor de la sentencia switch, PHP comienza a ejecutar la sentencias. PHP continúa ejecutando las sentencias hasta el final del bloque switch, o hasta la primera vez que vea una sentencia break. Si no se escribe una sentencia break al final de la lista de sentencias de un caso, PHP seguirá ejecutando las sentencias del caso siguiente. Por ejemplo:

<?php
switch ($i) {
    case 0:
        echo "i es igual a 0";
    case 1:
        echo "i es igual a 1";
    case 2:
        echo "i es igual a 2";
}
?>

Aquí, si $i es igual a 0, PHP ejecutaría todas las sentencias echo! Si $i es igual a 1, PHP ejecutaría las últimas dos sentencias echo. Se obtendría el comportamiento esperado (se mostraría 'i es igual a 2') sólo si $i es igual a 2. Por lo tanto, es importante no olvidar las sentencias break (aunque es posible que se desee evitar proporcionarlas a propósito bajo determinadas circunstancias).

En una sentencia switch, la condición es evaluada sólo una vez y el resultado es comparado con cada una de las sentencias case. En una sentencia elseif, la condición es evaluada otra vez. Si la condición es más complicada que una simple comparación y/o está en un bucle estrecho, un switch puede ser más rápido.

La lista de sentencias para un caso también puede estar vacía, lo cual simplemente pasa el control a la lista de sentencias para el siguiente caso.

<?php
switch ($i) {
case 0:
case 1:
case 2:
    echo "i es menor que 3 pero no negativo";
    break;
case 3:
    echo "i es 3";
}
?>

Un caso especial es el default. Este caso coincide con cualquier cosa que no se haya correspondido por los otros casos. Por ejemplo:

<?php
switch ($i) {
    case 0:
        echo "i es igual a 0";
        break;
    case 1:
        echo "i es igual a 1";
        break;
    case 2:
        echo "i es igual a 2";
        break;
    default:
       echo "i no es igual a 0, 1 ni 2";
}
?>

La expresión case puede ser cualquier expresión que se evalúa como un tipo simple, es decir, entero o números de punto flotante y strings. Los arrays u objetos no se pueden utilizar aquí a menos que sean desreferenciados a un tipo simple.

La sintaxis alternativa para las estructuras de control es compatible con los switch. Para obtener más información, consulte Sintaxis alternativa de estructuras de control.

<?php
switch ($i):
    case 0:
        echo "i es igual a 0";
        break;
    case 1:
        echo "i es igual a 1";
        break;
    case 2:
        echo "i es igual a 2";
        break;
    default:
        echo "i no es igual a 0, 1 ni 2";
endswitch;
?>

Es posible utilizar un punto y coma en lugar de dos puntos después de un caso como:

<?php
switch($beer)
{
    case 'tuborg';
    case 'carlsberg';
    case 'heineken';
        echo 'Buena elección';
    break;
    default;
        echo 'Por favor haga una nueva selección...';
    break;
}
?>

continue
declare
Estructuras de Control


declare

(PHP 4, PHP 5)

El constructor declare es usado para fijar directivas de ejecución para un bloque de código. La sintaxis de declare es similar a la sintaxis de otros constructores de control de flujo:

declare (directive)
    statement

La sección directive permite que el comportamiento de declare sea configurado. Actualmente, sólo dos directivas están reconocidas: ticks (Ver abajo para más información sobre la directiva ticks) y encoding (Ver abajo para más información sobre la directiva encoding ).

Nota: La directiva encoding fue agregada en PHP 5.3.0

La parte statement del bloque declare será ejecutada - como se ejecuta y que efectos secundarios ocurran durante la ejecución puede depender de la directiva fijada en el bloque directive.

El constructor declare también se puede utilizar en el alcance global, afectando a todo el código que le sigue (sin embargo, si el archivo con el declare fue incluido entonces no afectará al archivo padre).

<?php
// estos son lo mismo:

// se puede usar ésto:
declare(ticks=1) {
    // script entero aquí
}

// o se puede usar ésto:
declare(ticks=1);
// script entero aquí
?>

Ticks

Un tick es un evento que ocurre para cada sentencia tickable N de bajo nivel ejecutada por el intérprete dentro del bloque declare. El valor para N se especifica usando ticks=N dentro del bloque de declare de la sección directive.

No todas las sentencias son tickable. Por lo general, expresiones de condición y expresiones de argumento no son tickables.

Los eventos que ocurren en cada tick se especifican mediante la register_tick_function(). Ver el ejemplo abajo para más detalles. Tener en cuenta que más de un evento puede ocurrir por cada tick.

Ejemplo #1 Ejemplo de uso del tick

<?php

declare(ticks=1);

// Una función llamada en cada evento tick
function tick_handler()
{
    echo "tick_handler() llamado\n";
}

register_tick_function('tick_handler');

$a = 1;

if ($a > 0) {
    $a += 2;
    print($a);
}

?>

Ejemplo #2 Ejemplo de uso de ticks

<?php

function tick_handler()
{
  echo "tick_handler() llamado\n";
}

$a = 1;
tick_handler();

if ($a > 0) {
    $a += 2;
    tick_handler();
    print($a);
    tick_handler();
}
tick_handler();

?>

Véase también register_tick_function() y unregister_tick_function().

Encoding

Una codificación de script puede ser especificada para cada script usando la directiva encoding.

Ejemplo #3 Declarando un encoding para el script

<?php
declare(encoding='ISO-8859-1');
// código aquí
?>

Precaución

Cuando se combina con espacios de nombres, la única sintaxis legal para declarar es declare(encoding='...'); donde ... es el valor del encoding. declare(encoding='...') {} resultará en un error de análisis cuando se combina con espacios de nombres.

El valor declarado de encoding es ignorado en PHP 5.3 a menos que php esté compilado con --enable-zend-multibyte.

Tener en cuenta que PHP no expone si --enable-zend-multibyte fue utilizado para compilar PHP que no sea por phpinfo().

Ver también zend.script_encoding.

switch
return
Estructuras de Control


return

(PHP 4, PHP 5)

Si se llama desde una función, la sentencia return inmediatamente termina la ejecución de la función actual, y devuelve su argumento como el valor de la llamada a la función. return también pondrá fin a la ejecución de una sentencia eval() o a un archivo de script.

Si se llama desde el ámbito global, entonces la ejecución del script actual se termina. Si el archivo script actual fue incluido o requerido con include o require, entonces el control es pasado de regreso al archivo que hizo el llamado. Además, si el archivo script actual fue incluido con include, entonces el valor dado a return será retornado como el valor de la llamada include. Si return es llamado desde dentro del fichero del script principal, entonces termina la ejecución del script. Si el archivo script actual fue nombrado por las opciones de configuración auto_prepend_file o auto_append_file en php.ini, entonces se termina la ejecución de ese archivo script.

Para más información, ver Retornando valores.

Nota: Cabe señalar que dado que return es un constructor del lenguaje y no una función, los paréntesis que rodean su argumentos no son necesarios. Es común no utilizarlos, y en realidad se debería hacer así a fin de que PHP tenga menos trabajo que hacer en este caso.

Nota: Si no se suministra un parámetro, entonces el paréntesis debe omitirse y NULL será retornado. Llamadas a return con paréntesis pero sin argumentos resultarán en un error del intérprete.

Nota: Nunca se deben usar paréntesis al rededor de la variable de retorno cuando se retorna por referencia, ya que esto no funcionará. Sólo se pueden retornar variables por referencia, no el resultado de una sentencia. Si se utiliza return ($a); entonces no se está retornando una variable, sino el resultado de la expresión ($a) (el cual es, por supuesto, el valor de $a).

declare
require
Estructuras de Control


require

(PHP 4, PHP 5)

require es idéntico a include excepto que en caso de fallo producirá un error fatal de nivel E_COMPILE_ERROR. En otras palabras, éste detiene el script mientras que include sólo emitirá una advertencia (E_WARNING) lo cual permite continuar el script.

Véase la documentación de include para más información.

return
include
Estructuras de Control


include

(PHP 4, PHP 5)

La sentencia include incluye y evalúa el archivo especificado.

La siguiente documentación también se aplica a require.

Los archivos son incluidos con base en la ruta de acceso dada o, si ninguna es dada, el include_path especificado. Si el archivo no se encuentra en el include_path, include finalmente verificará en el propio directorio del script que hace el llamado y en el directorio de trabajo actual, antes de fallar. El constructor include emitirá una advertencia si no puede encontrar un archivo, éste es un comportamiento diferente al de require, el cual emitirá un error fatal..

Si una ruta es definida — ya sea absoluta (comenzando con una letra de unidad o \ en Windows o / en sistemas Unix/Linux) o relativa al directorio actual (comenzando con . o ..) — el include_path será ignorado por completo. Por ejemplo, si un nombre de archivo comienza con ../, el interprete buscará en el directorio padre para encontrar el archivo solicitado.

Para más información sobre como PHP maneja la inclusión de archivos y la ruta de accesos para incluir, ver la documentación de include_path.

Cuando se incluye un archivo, el código que contiene hereda el ámbito de las variables de la línea en la cual ocurre la inclusión. Cualquier variable disponible en esa línea del archivo que hace el llamado, estará disponible en el archivo llamado, desde ese punto en adelante. Sin embargo, todas las funciones y clases definidas en el archivo incluido tienen el ámbito global.

Ejemplo #1 Ejemplo básico de include

vars.php
<?php

$color = 'verde';
$fruta = 'manzana';

?>

test.php
<?php

echo "Una $fruta $color"; // Una

include 'vars.php';

echo "Una $fruta $color"; // Una manzana verde

?>

Si la inclusión ocurre al interior de una función dentro del archivo que hace el llamado, entonces todo el código contenido en el archivo llamado se comportará como si hubiera sido definida dentro de esa función. Por lo tanto, seguirá el ámbito de las variables de esa función. Una excepción a esta regla son las constantes mágicas las cuales son evaluadas por el intérprete antes que ocurra la inclusión.

Ejemplo #2 Incluyendo dentro de funciones

<?php

function foo()
{
    global $color;

    include 'vars.php';

    echo "Una $fruta $color";
}

/* vars.php está en el ámbito de foo() así que *
* $fruta NO está disponible por fuera de éste  *
* ámbito. $color sí está porque fue declarado *
* como global.                                 */

foo();                      // Una manzana verde
echo "Una $fruta $color";   // Una verde

?>

Cuando un archivo es incluido, el intérprete abandona el modo PHP e ingresa al modo HTML al comienzo del archivo objetivo y se reanuda de nuevo al final. Por esta razón, cualquier código al interior del archivo objetivo que deba ser ejecutado como código PHP, tendrá que ser encerrado dentro de etiquetas válidas de comienzo y terminación de PHP.

Si las "envolturas URL include" están activadas en PHP, se puede especificar el archivo a ser incluido usando una URL (vía HTTP u otra envoltura soportada - ver Protocolos y Envolturas soportados para una lista de protocolos) en lugar de una ruta de acceso local. Si el servidor objetivo interpreta el archivo objetivo como código PHP, las variables se pueden pasar al archivo incluido usando una string de petición como la usada con HTTP GET. Esto no es, en estricto rigor, lo mismo que haber incluido el archivo y que haya heredado el ámbito de variables del archivo padre; el script realmente está siendo ejecutado en el servidor remoto y el resultado entonces se incluye dentro del script local.

Advertencia

Versiones de PHP para Windows anteriores a 4.3.0, no soportan el acceso remoto a archivos para esta función, no funcionará ni activando siquiera allow_url_fopen.

Ejemplo #3 include por medio de HTTP

<?php

/* Este ejemplo asume que www.example.com está configurado para interpretar archivos
* .php y no archivos .txt. Además, aquí 'Funciona' quiere decir que las variables
* $foo y $bar están disponibles dentro del archivo incluido. */

// No funciona; file.txt no puede ser manejado por www.example.com como PHP
include 'http://www.example.com/file.txt?foo=1&bar=2';

// No funciona; busca por un archivo llamado 'file.php?foo=1&bar=2' en el
// sistema de archivos local.
include 'file.php?foo=1&bar=2';

// Si funciona.
include 'http://www.example.com/file.php?foo=1&bar=2';

$foo = 1;
$bar = 2;
include 'file.txt';  // Funciona.
include 'file.php';  // Funciona.

?>

Advertencia

Advertencia de seguridad

El archivo remoto puede ser procesado en el servidor remoto (dependiendo de la extensión del archivo y del hecho de si el servidor remoto corre PHP o no) pero aun así tiene que producir un script PHP válido, porque será procesado en el servidor local. Si el archivo desde el servidor remoto debe ser procesado allá y entregar la salida solamente, readfile() es la mejor función para usar. De lo contrario, debe tenerse especial cuidado para asegurar que el script remoto produce un código válido y deseado.

Ver también Archivos remotos, fopen() y file() para información relacionada.

Manejando retornos: include devuelve FALSE en caso de falla y eleva una advertencia. Inclusiones exitosas, a menos que sea reemplazado por el archivo incluido, devolverá 1. Es posible ejecutar una sentencia return dentro de un archivo incluido con el fin de terminar el procesamiento en ese archivo y volver a script que lo llamó. Además, es posible retornar valores desde los archivos incluidos. Se puede tomar el valor de la llamada "include" de la misma forma como se haría con una función normal. Esto no es, sin embargo, posible si se incluyen archivos remotos, a menos que la salida del archivo remoto tenga unas etiquetas válidas de inicio y terminación de PHP (igual que con cualquier archivo local). Se pueden declarar las variables necesarias dentro de esas etiquetas y serán introducidas en cualquiera sea el punto del archivo en el cual fue incluido.

Debido a que include es un constructor especial del lenguaje, los paréntesis no son necesarios en torno a su argumento. Se debe tener cuidado cuando se compara el valor de retorno.

Ejemplo #4 Comparando el valor de retorno de include

<?php
// no funciona, evaluado como include(('vars.php') == 'OK'), es decir include('')
if (include('vars.php') == 'OK') {
    echo 'OK';
}

// si funciona
if ((include 'vars.php') == 'OK') {
    echo 'OK';
}
?>

Ejemplo #5 include y la sentencia return

return.php
<?php

$var = 'PHP';

return $var;

?>

noreturn.php
<?php

$var = 'PHP';

?>

testreturns.php
<?php

$foo = include 'return.php';

echo $foo; // muestra 'PHP'

$bar = include 'noreturn.php';

echo $bar; // muestra 1

?>

$bar tiene el valor 1 debido a que el include fue exitoso. Nótese la diferencia entre los ejemplos anteriores. El primero usa return dentro del archivo incluido, mientras que el otro no. Si el archivo no se pueden incluir, se retorna FALSE y se emite un E_WARNING.

Si hay funciones definidas en el archivo incluido, se pueden utilizar en el archivo principal independientemente que hayan return antes o después. Si el archivo se incluye dos veces, PHP 5 arrojará un error fatal ya que las funciones ya han sido declaradas, mientras que PHP 4 no se queja acerca de las funciones definidas después de un return. Se recomienda el uso de include_once en lugar de comprobar si el archivo ya estaba incluido y hacer el retorno de forma condicionada dentro del archivo incluido.

Otra forma de "incluir" un archivo PHP en una variable es capturar la salida mediante el uso de Funciones de control de salida con include. Por ejemplo:

Ejemplo #6 Usando buffering de salida para incluir un archivo PHP dentro de una cadena

<?php
$string = get_include_contents('somefile.php');

function get_include_contents($filename) {
    if (is_file($filename)) {
        ob_start();
        include $filename;
        return ob_get_clean();
    }
    return false;
}

?>

Con el fin de incluir archivos de forma automática dentro de scripts, véase también las opciones de configuración auto_prepend_file and auto_append_file en php.ini.

Nota: Puesto que esto es una construcción del lenguaje y no una función, no puede ser llamada usando funciones variables.

Ver también require, require_once, include_once, get_included_files(), readfile(), virtual() y include_path.

require
require_once
Estructuras de Control


require_once

(PHP 4, PHP 5)

La sentencia require_once es idéntica a require excepto que PHP verificará si el archivo ya ha sido incluido y si es así, no se incluye (require) de nuevo.

Ver la documentación de include_once para información sobre el comportamiento de _once, y como difiere de sus hermanos no _once.

include
include_once
Estructuras de Control


include_once

(PHP 4, PHP 5)

La sentencia include_once incluye y evalúa el fichero especificado durante la ejecución del script. Es un comportamiento similar al de la sentencia include, siendo la única diferencia que si el código del fichero ya ha sido incluido, no se volverá a incluir. Como su nombre lo indica, será incluido sólo una vez.

include_once puede ser usado en casos donde el mismo fichero podría ser incluido y evaluado más de una vez durante una ejecución particular de un script, así que en este caso, puede ayudar a evitar problemas como la redefinición de funciones, reasignación de valores de variables, etc.

Ver la documentación de include para información sobre como trabaja esta función.

Nota:

Con PHP 4, la funcionalidad _once difiere entre sistemas operativos insensibles a mayúsculas y minúsculas (como Windows) así que por ejemplo:

Ejemplo #1 include_once con un SO insensible a mayúsculas y minúsculas en PHP 4

<?php
include_once "a.php"; // esto incluirá a.php
include_once "A.php"; // esto incluirá a.php otra vez! (sólo PHP 4)
?>

Este comportamiento cambió en PHP 5, así que por ejemplo con Windows primero se normaliza la ruta de acceso para que C:\PROGRA~1\A.php sea identificado igual que C:\Program Files\a.php y el fichero sea incluido sólo una vez.

require_once
goto
Estructuras de Control


goto

(PHP 5 >= 5.3.0)

El operador goto puede ser usado para saltar a otra sección en el programa. El punto de destino es especificado mediante una etiqueta seguida de dos puntos y la instrucción es dada como goto seguida de la etiqueta del destino deseado. Este goto no es completamente sin restricciones. La etiqueta de destino debe estar dentro del mismo fichero y contexto, lo que significa que no se puede saltar fuera de una función o método, ni se puede saltar dentro de uno. Tampoco se puede saltar dentro de cualquier clase de estructura de bucle o switch. Se puede saltar fuera de estos y un uso común es utilizar un goto en lugar de un break multi-nivel.

Ejemplo #1 Ejemplo de goto

<?php
goto a;
echo 'Foo';

a:
echo 'Bar';
?>

El resultado del ejemplo sería:

Bar

Ejemplo #2 Ejemplo de goto en un bucle

<?php
for($i=0,$j=50; $i<100; $i++) {
  while($j--) {
    if($j==17) goto end;
  }
}
echo "i = $i";
end:
echo 'j alcanzó 17';
?>

El resultado del ejemplo sería:

j alcanzó 17

Ejemplo #3 Esto no funcionará

<?php
goto loop;
for($i=0,$j=50; $i<100; $i++) {
  while($j--) {
    loop:
  }
}
echo "$i = $i";
?>

El resultado del ejemplo sería:

Fatal error: 'goto' into loop or switch statement is disallowed in script on line 2
(Error fatal: 'goto' hacia el interior de un bucle o sentencia switch no esta permitido en el script en la línea 2)

Nota:

El operador goto está disponible a partir de PHP 5.3.

¿Qué es lo peor que podría suceder si utiliza goto?
Imagen cortesía de » xkcd

include_once
Funciones
Estructuras de Control


Funciones

Tabla de contenidos

  • Funciones definidas por el usuario
  • Argumentos de funciones
  • Devolver valores
  • Funciones variables
  • Funciones internas (incluidas)
  • Funciones anónimas
goto
Funciones definidas por el usuario
Referencia del lenguaje


Funciones definidas por el usuario

Una función puede ser definida usando una sintaxis como la siguiente:

Ejemplo #1 Pseudo código para demostrar el uso de funciones

<?php
function foo($arg_1, $arg_2, /* ..., */ $arg_n)
{
    echo "Función de ejemplo.\n";
    return $valordevuelto;
}
?>

Cualquier código PHP válido puede aparecer dentro de una función, incluso otras funciones y definiciones de clases.

Los nombres de las funciones siguen las mismas reglas que otras etiquetas de PHP. Un nombre de función válido comienza con una letra o guión bajo, seguido de cualquier número de letras, números, o guiones bajos. Como expresión regular se expresaría así: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*.

Sugerencia

Vea también Guia de Entorno de Usuario para Nombres.

Las funciones no necesitan ser definidas antes de que se referencien, excepto cuando una función está condicionalmente definida como se muestra en los dos ejemplos de abajo.

Cuando una función está definida de una forma condicional como en los dos ejemplos mostrados, sus definiciones deben ser procesadas antes de ser llamadas.

Ejemplo #2 Funciones condicionales

<?php

$haceralgo = true;

/* No podemos llamar a foo() desde aquí
   ya que no existe aún,
   pero podemos llamar a bar() */

bar();

if ($haceralgo) {
  function foo()
  {
    echo "No existo hasta que la ejecución del programa llegue hasta mí.\n";
  }
}

/* Ahora podemos llamar de forma segura a foo()
   ya que $haceralgo se evaluó como verdadero */

if ($haceralgo) foo();

function bar()
{
  echo "Existo desde el momento inmediato que comenzó el programa.\n";
}

?>

Ejemplo #3 Funciones dentro de funciones

<?php
function foo()
{
  function bar()
  {
    echo "No existo hasta que se llame a foo().\n";
  }
}

/* No podemos llamar aún a bar()
   ya que no existe. */

foo();

/* Ahora podemos llamar a bar(),
   el procesamiento de foo()
   la ha hecho accesible. */

bar();

?>

Todas las funciones y las clases de PHP tienen ámbito global - pueden ser llamadas fuera de una función incluso si fueron definidas dentro, y viceversa.

PHP no soporta la sobrecarga de funciones, ni es posible 'desdefinir' ni redefinir funciones previamente declaradas.

Nota: Los nombres de las fuciones son insensibles a mayúsculas-minúsculas, por lo que es una buena idea llamar a las funciones tal y como aparecen en sus declaraciones.

El número variable de argumentos y los argumentos predeterminados están soportados por las funciones. Vea también las referencias de funciones para func_num_args(), func_get_arg(), y func_get_args() para más información.

En PHP es posible llamar a funciones recursivas. Sin embargo, evite las llamadas a funciones/métodos recursivos con más de 100-200 niveles de recursividad ya que pueden agotar la pila y causar la terminación del script actual.

Ejemplo #4 Funciones recursivas

<?php
function recursividad($a)
{
    if ($a < 20) {
        echo "$a\n";
        recursividad($a + 1);
    }
}
?>

Funciones
Argumentos de funciones
Funciones


Argumentos de funciones

La información puede ser pasada a las funciones mediante la lista de argumentos, la cual es una lista de expresiones delimitadas por comas. Los argumentos son evaluados de izquierda a derecha.

PHP soporta argumentos pasados por valor (por defecto), pasados por referencia, y valores de argumentos predeterminados. Las Listas de argumentos de longitud variable también están soportadas, vea también las referencias de funciones para func_num_args(), func_get_arg(), y func_get_args() para más información.

Ejemplo #1 Pasar arrays a funciones

<?php
function tomar_array($entrada)
{
    echo "$entrada[0] + $entrada[1] = ".$entrada[0]+$entrada[1];
}
?>

Hacer que los argumentos sean pasados por referencia

Por defecto, los argumentos de las funciones son pasados por valor (por lo que si el valor del argumento dentro de la función se cambia, no se cambia fuera de la función). Para permitir a una función modificar sus argumentos, éstos deben pasarse por referencia.

Para hacer que un argumento a una función sea siempre pasado por referencia hay que poner delante del nombre del argumento el signo 'ampersand' (&) en la definición de la función:

Ejemplo #2 Pasar parámetros de una función por referencia

<?php
function añadir_algo(&$cadena)
{
    $cadena .= 'y algo más.';
}
$cad = 'Esto es una cadena, ';
añadir_algo($cad);
echo $cad;    // imprime 'Esto es una cadena, y algo más.'
?>

Valores de argumentos predeterminados

Una función puede definir valores predeterminados al estilo C++ para argumentos escalares como sigue:

Ejemplo #3 Uso de parámetros predeterminados en funciones

<?php
function hacercafé($tipo = "capuchino")
{
    return "Hacer una taza de $tipo.\n";
}
echo hacercafé();
echo hacercafé(null);
echo hacercafé("espresso");
?>

El resultado del ejemplo sería:

Hacer una taza de capuchino.
Hacer una taza de .
Hacer una taza de espresso.

PHP también permite el uso de arrays y del tipo especial NULL como valores predeterminados, por ejemplo:

Ejemplo #4 Usar tipos no escalares como valores predeterminados

<?php
function hacercafé($tipos = array("capuchino"), $fabricanteCafé = NULL)
{
    $aparato = is_null($fabricanteCafé) ? "las manos" : $fabricanteCafé;
    return "Hacer una taza de ".join(", ", $tipos)." con $aparato.\n";
}
echo hacercafé();
echo hacercafé(array("capuchino", "lavazza"), "una tetera");
?>

El valor predeterminado debe ser una expresión constante, no (por ejemplo) una variable, un miembro de una clase o una llamada a una función.

Observe que cuando se usan argumentos predeterminados, cualquiera de ellos debería estar a la derecha de los argumentos no predeterminados; si no, las cosas no funcionarán como se esperaba. Considere el siguiente trozo de código:

Ejemplo #5 Uso incorrecto de argumentos predeterminados en una función

<?php
function haceryogur($tipo = "acidófilo", $sabor)
{
    return "Hacer un tazón de yogur $tipo de $sabor.\n";
}

echo haceryogur("frambuesa");   // no funcionará como se esperaba
?>

El resultado del ejemplo sería:

Warning: Missing argument 2 in call to haceryogur() in
/usr/local/etc/httpd/htdocs/phptest/functest.html on line 41
Hacer un tazón de yogur frambuesa de .

Ahora compare el ejemplo de arriba con este:

Ejemplo #6 Uso correcto de argumentos predeterminados en una función

<?php
function haceryogur($sabor, $tipo = "acidófilo")
{
    return "Hacer un tazón de yogur $tipo de $sabor.\n";
}

echo haceryogur("frambuesa");   // funciona como se esperaba
?>

El resultado del ejemplo sería:

Hacer un tazón de yogur acidófilo de frambuensa.

Nota: A partir de PHP 5, los argumentos que son pasados por referencia pueden tener un valor predeterminado.

Listas de argumentos de longitud variable

PHP tiene soporte para listas de argumentos de longitud variable en
funciones definidas por el usuario. Esto realmente es bastante fácil si se usan las funciones
 func_num_args(),
 func_get_arg(), y
 func_get_args().

No se necesita una sintaxis especial, y la lista de argumentos aún puede ser proporcionada explícitamente con definiciones de funciones, y se comportará con normalidad.

Funciones definidas por el usuario
Devolver valores
Funciones


Devolver valores

Los valores son devueltos usando la sentencia opcional return. Se puede devolver cualquier tipo, incluidos arrays y objetos. Esto causa que la función finalice su ejecución inmediatamente y pase el control de nuevo a la línea desde la que fue llamada. Véase return para más información.

Nota:

Si se omite return será devuelto el valor NULL.

Ejemplo #1 Uso de return

<?php
function cuadrado($núm)
{
    return $núm * $núm;
}
echo cuadrado(4);   // imprime '16'.
?>

Una función no puede devolver múltiples valores, pero se pueden obtener resultados similares devolviendo un array.

Ejemplo #2 Devolver un array para obtener múltiples valores

<?php
function números_pequeños()
{
    return array (0, 1, 2);
}
list ($cero, $uno, $dos) = números_pequeños();
?>

Para devolver una referencia desde una función use el operador de referencia &, en la declaración de la función y cuando se asigne el valor devuelto a una variable:

Ejemplo #3 Devolver una referencia desde una función

<?php
function &devolver_referencia()
{
    return $algunaref;
}

$nuevaref =& devolver_referencia();
?>

Para más información sobre referencias, por favor, lea las Referencias Explicadas.

Argumentos de funciones
Funciones variables
Funciones


Funciones variables

PHP soporta el concepto de funciones variables. Esto significa que si un nombre de variable tiene paréntesis anexos a él, PHP buscará una función con el mismo nombre que lo evaluado por la variable, e intentará ejecutarla. Entre otras cosas, esto se puede usar para implementar llamadas de retorno, tablas de funciones, y así sucesivamente.

Las funciones variables no funcionarán con constructores de lenguaje como echo, print, unset(), isset(), empty(), include, require y similares. Utilice funciones de envoltura para hacer uso de cualquiera de estos constructores como funciones variables.

Ejemplo #1 Ejemplo de función variable

<?php
function foo() {
    echo "En foo()<br />\n";
}

function bar($arg = '')
{
    echo "En bar(); el argumento era '$arg'.<br />\n";
}

// Esta es una función de envoltura alrededor de echo
function hacerecho($cadena)
{
    echo $cadena;
}

$func = 'foo';
$func();        // Esto llama a foo()

$func = 'bar';
$func('prueba');  // Esto llama a bar()

$func = 'hacerecho';
$func('prueba');  // Esto llama a hacerecho()
?>

Los métodos de objetos también puede ser llamados con la sintaxis de funciones variables.

Ejemplo #2 Ejemplo de método variable

<?php
class Foo
{
    function Variable()
    {
        $nombre = 'Bar';
        $this->$nombre(); // Esto llama al método Bar()
    }

    function Bar()
    {
        echo "Esto es Bar";
    }
}

$foo = new Foo();
$nombrefunc = "Variable";
$foo->$nombrefunc();  // Esto llama a $foo->Variable()

?>

Cuando se llaman a métodos estáticos, la llamada a la función es más fuerte que el operador de propiedad static:

Ejemplo #3 Ejemplo de método variable con propiedades estáticas

<?php
class Foo
{
    static $variable = 'propiedad estática';
    static function Variable()
    {
        echo 'Método Variable llamado';
    }
}

echo Foo::$variable; // Esto imprime 'propiedad estática'. No necesita una $variable en este ámbito.
$variable = "Variable";
Foo::$variable();  // Esto llama a $foo->Variable() leyendo $variable en este ámbito.

?>

Véase también is_callable(), call_user_func(), variables variables y function_exists().

Devolver valores
Funciones internas (incluidas)
Funciones


Funciones internas (incluidas)

PHP se estandariza con muchas funciones y construcciones. También existen funciones que necesitan extensiones específicas de PHP compiladas, si no, aparecerán errores fatales "undefined function" ("función no definida"). Por ejemplo, para usar las funciones de image tales como imagecreatetruecolor(), PHP debe ser compilado con soporte para GD. O para usar mysql_connect(), PHP debe ser compilado con soporte para MySQL. Hay muchas funciones de núcleo que está incluidas en cada versión de PHP, tales como las funciones de string y de variable. Una llamada a phpinfo() o get_loaded_extensions() mostrará las extensiones que están cargadas en PHP. Observe también que muchas extensiones están habilitadas por defecto y que el manual de PHP está dividido por extensiones. Véase configuración, instalación, y capítulos individuales de extensiones para más información sobre cómo configurar PHP.

Interpretar y comprender un prototipo de una función está explicado dentro de la sección del manual titulada cómo interpretar la definición de una función. Es importante comprender lo que devuelve una función o si una función funciona directamente con un valor pasado. Por ejemplo, str_replace() devolverá la cadena modificada mientras que usort() funciona con la variable actual pasada. Cada página del manual también tiene información específica para cada función, como información sobre parámetros de funciones, cambios de comportamiento, valores devueltos en caso de éxito o fallo, e información de disponibilidad. Conocer estas importantes diferencias (a menudo imperceptibles) es crucial para escribir código de PHP correcto.

Nota: Si los parámetros dados a una función no son los que se esperaban, como pasar un array donde se esperaba un string, el valor devuelto de la función será indefinido. En este caso lo más probable es que devuelva NULL pero esto es sólo una convención, y no se puede confiar en ello.

Véase también function_exists(), la referencia de funciones, get_extension_funcs(), y dl().

Funciones variables
Funciones anónimas
Funciones


Funciones anónimas

Las funciones anónimas, también conocidas como clausuras (closures), permiten la creación de funciones que no tienen un nombre especificado. Son más útiles como valor de los parámetros de llamadas de retorno, pero tienen muchos otros usos.

Ejemplo #1 Ejemplo de función anónima

<?php
echo preg_replace_callback('~-([a-z])~', function ($coincidencia) {
    return strtoupper($coincidencia[1]);
}, 'hola-mundo');
// imprime holaMundo
?>

Las clausuras también se pueden usar como valores de variables; PHP automáticamente convierte tales expresiones en instancias de la clase interna Closure. Se asume que una clausura a una variable usa la misma sintaxis que cualquier otra asignación, incluido el punto y coma final:

Ejemplo #2 Ejemplo de asignación de variable de una función anónima

<?php
$saludo = function($nombre)
{
    printf("Hola %s\r\n", $nombre);
};

$saludo('Mundo');
$saludo('PHP');
?>

Las clausuras también pueden heredar variables del ámbito padre. Cualquier variable de estas debe ser declarada en la cabecera de la función. Heredar variables del ámbito padre no es lo mismo que usar variables globales. Las variables globales existen en el ámbito global, lo que implica que no importa qué función se esté ejecutando. El ámbito padre de una clausura es la función en la que la clausura fue declarado (no necesariamente la función desde la que se llamó). Vea el siguiente ejemplo:

Ejemplo #3 Clausuras y ámbito

<?php
// Un carro de compras básico que contiene una lista de productos añadidos
// y la cantidad de cada producto. Incluye un método que
// calcula el precio total de los artículos del carro usando una
// clausura como llamada de retorno.
class Carro
{
    const PRECIO_MANTEQUILLA = 1.00;
    const PRECIO_LECHE       = 3.00;
    const PRECIO_HUEVOS      = 6.95;

    protected $productos = array();

    public function añadir($producto, $cantidad)
    {
        $this->productos[$producto] = $cantidad;
    }

    public function obtenerCantidad($producto)
    {
        return isset($this->productos[$producto]) ? $this->productos[$producto] :
               FALSE;
    }

    public function obtenerTotal($impuesto)
    {
        $total = 0.00;

        $llamadaDeRetorno =
            function ($cantidad, $producto) use ($impuesto, &$total)
            {
                $precioUnidad = constant(__CLASS__ . "::PRECIO_" .
                    strtoupper($producto));
                $total += ($precioUnidad * $cantidad) * ($impuesto + 1.0);
            };

        array_walk($this->productos, $llamadaDeRetorno);
        return round($total, 2);
    }
}

$mi_carro = new Carro;

// Añadir algunos artículos al carro
$mi_carro->añadir('mantequilla', 1);
$mi_carro->añadir('leche', 3);
$mi_carro->añadir('huevos', 6);

// Imprimir el total con un impuesto de venta del 5%.
print $mi_carro->obtenerTotal(0.05) . "\n";
// El resultado es 54.29
?>

Las funciones anónimas son implementadas usando la clase Closure.

Historial de cambios

Versión | Descripción
5.4.0 | $this puede ser usado en funciones anónimas.
5.3.0 | Las funciones anónimas se encuentran disponibles.

Notas

Nota: Es posible usar func_num_args(), func_get_arg(), y func_get_args() desde dentro de una clausura.

Funciones internas (incluidas)
Clases y Objetos
Funciones


Clases y Objetos

Tabla de contenidos

  • Introducción
  • Lo básico
  • Propiedades
  • Constantes de Clases
  • Autocarga de clases
  • Constructores y destructores
  • Visibilidad
  • Herencia de Objetos
  • Operador de Resolución de Ámbito (::)
  • La palabra clave 'static'
  • Abstracción de clases
  • Interfaces de objetos
  • Traits
  • Sobrecarga
  • Iteración de objetos
  • Métodos mágicos
  • Palabra clave Final
  • Clonación de Objetos
  • Comparación de Objetos
  • Implicación de Tipos
  • Enlace estático en tiempo de ejecución
  • Objetos y referencias
  • Serialización de objetos
  • Registro de cambios de POO
Funciones anónimas
Introducción
Referencia del lenguaje


Introducción

A partir de PHP 5, el modelo de objetos ha sido reescrito para permitir un mejor rendimiento y con más características. Este fue un cambio importante a partir de PHP 4. PHP 5 tiene un modelo de objetos completo.

Entre las características de PHP 5 están la inclusión de la visibilidad, las clases abstractas y clases y métodos finales, métodos mágicos adicionales, interfaces, clonación y tipos sugeridos.

PHP trata los objetos de la misma manera como referencias o manejadores, lo que significa que cada variable contiene una referencia de objeto en lugar de una copia de todo el objeto. Ver objetos y referencias

Sugerencia

Vea también Guia de Entorno de Usuario para Nombres.

Clases y Objetos
Lo básico
Clases y Objetos


Lo básico

class

La definición básica de clases comienza con la palabra clave class, seguido por un nombre de clase, continuado por un par de llaves que encierran las definiciones de las propiedades y métodos pertenecientes a la clase.

El nombre de clase puede ser cualquier etiqueta válida que no sea una palabra reservada de PHP. Un nombre válido de clase comienza con una letra o un guión bajo, seguido de la cantidad de letras, números o guiones bajos que sea. Como una expresión regular, se expresaría de la siguiente forma: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*.

Una clase puede tener sus propias constantes, variables (llamadas "propiedades"), y funciones (llamadas "métodos").

Ejemplo #1 Definición simple de una clase

<?php
class SimpleClass
{
    // Declaración de la propiedad
    public $var = 'a default value';

    // Declaración del método
    public function displayVar() {
        echo $this->var;
    }
}
?>

La pseudo-variable $this está disponible cuando un método es invocado dentro del contexto de un objeto. $this es una referencia del objeto que invoca (usualmente el objeto al que el método pertenece, pero posiblemente sea otro objeto, si el método es llamado estáticamente desde el contexto de un objeto secundario).

Ejemplo #2 Algunos ejemplo de la pseudo-variable $this

<?php
class A
{
    function foo()
    {
        if (isset($this)) {
            echo '$this está definida (';
            echo get_class($this);
            echo ")\n";
        } else {
            echo "\$this no está definida.\n";
        }
    }
}

class B
{
    function bar()
    {
        // Nota: la siguiente línea arrojará un Warning si E_STRICT está habilitada.
        A::foo();
    }
}

$a = new A();
$a->foo();

// Nota: la siguiente línea arrojará un Warning si E_STRICT está habilitada.
A::foo();
$b = new B();
$b->bar();

// Nota: la siguiente línea arrojará un Warning si E_STRICT está habilitada.
B::bar();
?>

El resultado del ejemplo sería:

$this está definida (A)
$this no está definida.
$this está definida (B)
$this no está definida.

new

Para crear una instancia de una clase, la palabra clave new debe ser usada. Un objeto siempre se creará a menos que el objeto tenga un constructor que arroje una excepción en caso de error. Las clases deberían ser definidas antes de la instanciación (y en algunos casos esto es un requerimiento).

Si un string que contiene el nombre de una clase se usa con new, una nueva instancia de esa clase será creada. Si la clase está en un espacio de nombres, su nombre completo debe ser usado cuando se hace esto.

Ejemplo #3 Creación de una instancia

<?php
$instance = new SimpleClass();

// Esto también se puede hacer con variables:
$className = 'Foo';
$instance = new $className(); // Foo()
?>

En el contexto de una clase, es posible crear un nuevo objeto con new self y new parent.

Cuando se asigna una instancia de una clase ya creada a una nueva variable, ésta última accederá a la misma instancia como al objeto que le fue asignado. Esta conducta es la misma cuando se pasan instancias a una función. Una copia de un objeto ya creado se puede lograr a través de la clonación de la misma.

Ejemplo #4 Asignación de objetos

<?php

$instance = new SimpleClass();

$assigned   =  $instance;
$reference  =& $instance;

$instance->var = '$assigned tendrá este valor';

$instance = null; // $instance y $reference se transforman en null

var_dump($instance);
var_dump($reference);
var_dump($assigned);
?>

El resultado del ejemplo sería:

NULL
NULL
object(SimpleClass)#1 (1) {
   ["var"]=>
     string(30) "$assigned tendrá este valor"
}

PHP 5.3.0 introdujo un par de nuevas maneras para crear instancias de un objeto:

Ejemplo #5 Creando nuevos objetos

<?php
class Test
{
    static public function getNew()
    {
        return new static;
    }
}

class Child extends Test
{}

$obj1 = new Test();
$obj2 = new $obj1;
var_dump($obj1 !== $obj2);

$obj3 = Test::getNew();
var_dump($obj3 instanceof Test);

$obj4 = Child::getNew();
var_dump($obj4 instanceof Child);
?>

El resultado del ejemplo sería:

bool(true)
bool(true)
bool(true)

extends

Una clase puede heredar los métodos y propiedades de otra clase al utilizar la palabra clave extends en la declaración de la clase. No es posible extender múltiples clases; una clase sólo puede heredar de una clase base.

Los métodos y propiedades heredados pueden ser sobrescritos con la redeclaración de éstos utilizando el mismo nombre que en la clase parent. Sin embargo, si la clase parent definió un método como final, éste no podrá ser sobrescrito. Es posible acceder a los métodos sobrescritos o propiedades estáticas referenciándolos con parent::.

Cuando se sobrescriben métodos, la cantidad y disposición de los parámetros debería ser la misma o PHP generará un error a nivel de E_STRICT. Esto no se aplica a los constructores, que permiten la sobrescritura con diferentes parámetros.

Ejemplo #6 Herencia simple de clases

<?php
class ExtendClass extends SimpleClass
{
    // Redefinición del método parent
    function displayVar()
    {
        echo "Clase extendida\n";
        parent::displayVar();
    }
}

$extended = new ExtendClass();
$extended->displayVar();
?>

El resultado del ejemplo sería:

Clase extendida
un valor por defecto

::class

Desde PHP 5.5, la palabra clave class también se usa para la resolución de nombres de clases. Se puede obtener un string con un nombre completamente cualificado de la clase NombreClase usando NombreClase::class. Esto es particularmete útil con clases con espacios de nombres.

Ejemplo #7 Resolución de nombres de clases

<?php
namespace NS {
    class NombreClase {
    }

    echo NombreClase::class;
}
?>

El resultado del ejemplo sería:

NS\NombreClase

Introducción
Propiedades
Clases y Objetos


Propiedades

Las variables pertenecientes a clases se llaman "propiedades". También se les puede llamar usando otros términos como "atributos" o "campos", pero para los propósitos de esta referencia se va a utilizar "propiedades". Éstas se definen usando una de las palabras clave public, protected, o private, seguido de una declaración normal de variable. Esta declaración puede incluir una inicialización, pero esta inicialización debe ser un valor constante, es decir, debe poder ser evaluada en tiempo de compilación y no debe depender de información en tiempo de ejecución para ser evaluada.

Véase Visibilidad para más información sobre el significado de public, protected, y private.

Nota:

Con el fin de mantener la compatibilidad con PHP 4, PHP 5 continuará aceptando el uso de la palabra clave var en la declaración de propiedades en lugar de (o además de) public, protected, o private. Sin embargo, var ya no es necesaria. Entre las versiones 5.0 y 5.1.3 de PHP, el uso de var fue considerado obsoleto y emitía una advertencia de nivel E_STRICT, pero a partir de PHP 5.1.3 ya no está obsoleta y no emitirá la advertencia.

Si se declara una propiedad utilizando var en lugar de public, protected, o private, PHP tratará dicha propiedad como si hubiera sido definida como public.

Dentro de los métodos de una clase, las propiedades no estáticas pueden ser accedidas utilizando -> (el operador de objeto): $this->propiedad (donde propiedad es el nombre de la propiedad). Las propiedades estáticas pueden ser accedidas utilizando ::: self::$propiedad. Véase la palabra clave 'static' para más información sobre la diferencia entre propiedades estáticas y no estáticas.

La pseudo-variable $this está disponible dentro de cualquier método de clase cuando éste es invocado dentro del contexto de un objeto. $this es una referencia al objeto que se invoca (usualmente el objeto al que pertenece el método, pero posiblemente sea otro objeto, si el método es llamado estáticamente desde el contexto de un objeto secundario).

Ejemplo #1 Declaración de propiedades

<?php
class ClaseSencilla
{
   // Declaraciones de propiedades inválidas:
   public $var1 = 'hola ' . 'mundo';
   public $var2 = <<<EOD
hola mundo
EOD;
   public $var3 = 1+2;
   public $var4 = self::myStaticMethod();
   public $var5 = $myVar;

   // Declaraciones de propiedades válidas:
   public $var6 = myConstant;
   public $var7 = array(true, false);

   // Esto se permite sólo en PHP 5.3.0 y posteriores.
   public $var8 = <<<'EOD'
hola mundo
EOD;
}
?>

Nota:

Existen varias funciones interesantes para manipular clases y objetos. Quizá pueda ser interesante echar un vistazo a las Funciones de clases/objetos.

A diferencia de heredocs, nowdocs puede ser utilizado en cualquier contexto de datos estáticos, incluyendo la declaración de propiedades.

Ejemplo #2 Ejemplo del uso de nowdoc para inicializar una propiedad

<?php
class foo {
   // A partir de PHP 5.3.0
   public $bar = <<<'EOT'
bar
EOT;
}
?>

Nota:

El soporte para nowdoc fue agregado en PHP 5.3.0.

Lo básico
Constantes de Clases
Clases y Objetos


Constantes de Clases

Es posible definir valores constantes en función de cada clase manteniéndola invariable. Las constantes se diferencian de variables comunes en que no utilizan el símbolo $ al declararlas o usarlas.

El valor debe ser una expresión constante, no (por ejemplo) una variable, una propiedad, un resultado de una operación matemática, o una llamada a una función.

También es posible para las interfaces tener constantes. Ver la documentación de interfaces para ejemplos.

A partir de PHP 5.3.0, es posible hacer referencia a una clase utilizando una variable. El valor de la variable no puede ser una palabra clave (por ej., self, parent y static).

Ejemplo #1 Definición y uso de una constante

<?php
class MyClass
{
    const CONSTANT = 'valor constante';

    function showConstant() {
        echo  self::CONSTANT . "\n";
    }
}

echo MyClass::CONSTANT . "\n";

$classname = "MyClass";
echo $classname::CONSTANT . "\n"; // A partir de PHP 5.3.0

$class = new MyClass();
$class->showConstant();

echo $class::CONSTANT."\n"; // A partir de PHP 5.3.0
?>

Ejemplo #2 Ejemplo de datos estáticos

<?php
class foo {
    // A partir de PHP 5.3.0
    const BAR = <<<'EOT'
bar
EOT;
}
?>

A diferencia de heredocs, nowdocs puede ser utilizado en cualquier contexto de datos estáticos.

Nota:

El soporte nowdoc fue agregado en PHP 5.3.0.

Propiedades
Autocarga de clases
Clases y Objetos


Autocarga de clases

Muchos desarrolladores que escriben aplicaciones orientadas a objetos crean un fichero fuente PHP para cada definición de clase. Una de las mayores molestias es tener que hacer una larga lista de includes al comienzo de cada script (uno por cada clase).

En PHP 5 esto ya no es necesario. Se puede definir una función __autoload() que es automáticamente invocada en caso de que se esté intentando utilizar una clase/interfaz que todavía no haya sido definida. Al invocar a esta función el motor de scripting da una última oportunidad para cargar la clase antes que PHP falle con un error.

Sugerencia

spl_autoload_register() proporciona una alternativa más flexible para la carga automática de clases. Por esta razón, el uso de __autoload() no se recomienda y puede quedar obsoleta o ser eliminada en el futuro.

Nota:

Antes de 5.3.0, las excepciones lanzadas en la función __autoload no podían ser capturadas en el bloque catch y resultaba en un error fatal. Desde 5.3.0+ las excepciones lanzadas en la función __autoload pueden ser capturadas en el bloque catch, con una consideración. Si se lanza una excepción personalizada, la clase de dicha excepción debe estar disponible. La función __autoload puede usarse recursivamente para autocargar la clase de la excepción personalizada.

Nota:

La autocarga no está disponible si se utiliza PHP en el modo interactivo CLI.

Nota:

Si el nombre de la clase se utiliza, por ejemplo, en call_user_func(), puede contener algunos caracteres peligrosos tales como ../. Se recomienda no utilizar la entrada del usuario en tales funciones, o al menos verificar dicha entrada en __autoload().

Ejemplo #1 Ejemplo de autocarga

Este ejemplo intenta cargar las clases MiClase1 y MiClase2 desde los ficheros MiClase1.php y MiClase2.php respectivamente.

<?php
function __autoload($nombre_clase) {
    include $nombre_clase . '.php';
}

$obj  = new MiClase1();
$obj2 = new MiClase2();
?>

Ejemplo #2 Otro ejemplo de autocarga

Este ejemplo intenta cargar la interfaz ITest.

<?php

function __autoload($nombre) {
    var_dump($nombre);
}

class Foo implements ITest {
}

/*
string(5) "ITest"

Fatal error: Interface 'ITest' not found in ...
*/
?>

Ejemplo #3 Autocarga con manejo de excepciones para 5.3.0+

Este ejemplo lanza una excepción y demuestra los bloques try/catch.

<?php
function __autoload($nombre) {
    echo "Intentando cargar $nombre.\n";
    throw new Exception("Imposible cargar $nombre.");
}

try {
    $obj = new ClaseNoCargable();
} catch (Exception $e) {
    echo $e->getMessage(), "\n";
}
?>

El resultado del ejemplo sería:

Intentando cargar ClaseNoCargable.
Imposible cargar ClaseNoCargable.

Ejemplo #4 Autocarga con manejo de excepciones para 5.3.0+ - Excepción personalizada ausente

Este ejemplo lanza una excepción para una excepción personalizada no cargable.

<?php
function __autoload($nombre) {
    echo "Intentando cargar $nombre.\n";
    throw new ExcepciónAusente("Imposible cargar $nombre.");
}

try {
    $obj = new ClaseNoCargable();
} catch (Exception $e) {
    echo $e->getMessage(), "\n";
}
?>

El resultado del ejemplo sería:

Intentando cargar ClaseNoCargable.
Intentando cargar ExcepciónAusente.

Fatal error: Class 'ExcepciónAusente' not found in testExcepcionAusente.php on line 4

Ver también

  • unserialize()
  • unserialize_callback_func
  • spl_autoload()
  • spl_autoload_register()

Constantes de Clases
Constructores y destructores
Clases y Objetos


Constructores y destructores

Constructor

void __construct ([ mixed $args [, $... ]] )

PHP 5 permite a los desarrolladores declarar métodos constructores para las clases. Aquellas que tengan un método constructor lo invocarán en cada nuevo objeto creado, lo que lo hace idóneo para cualquier inicialización que el objeto pueda necesitar antes de ser usado.

Nota: Constructores parent no son llamados implícitamente si la clase child define un constructor. Para ejecutar un constructor parent, se requiere invocar a parent::__construct() desde el constructor child. Si el child no define un constructor, entonces se puede heredar de la clase padre como un método de clase normal (si no fue declarada como privada).

Ejemplo #1 Utilización de nuevos constructores unificados

<?php
class BaseClass {
   function __construct() {
       print "En el constructor BaseClass\n";
   }
}

class SubClass extends BaseClass {
   function __construct() {
       parent::__construct();
       print "En el constructor SubClass\n";
   }
}

class OtherSubClass extends BaseClass {
    // heredando el constructor BaseClass
}

// En el constructor BaseClass
$obj = new BaseClass();

// En el constructor BaseClass
// En el constructor SubClass
$obj = new SubClass();

// In BaseClass constructor
$obj = new OtherSubClass();
?>

Por motivos de compatibilidad, si PHP 5 no puede encontrar una función __construct() para una determinada clase y la clase no heredó uno de una clase padre, buscará el viejo estilo de la función constructora, mediante el nombre de la clase. Efectivamente, esto significa que en el único caso en el que se tendría compatibilidad es si la clase tiene un método llamado __construct() que fuese utilizado para diferentes propósitos.

A diferencia con otros métodos, PHP no generará un mensaje de error a nivel de E_STRICT cuando __construct() es sobrescrito con diferentes parámetros que los métodos padre __construct() tienen.

A partir de PHP 5.3.3, los métodos con el mismo nombre que el último elemento de una clase en un nombre de espacios no serán más tratados como un constructor. Este cambio no afecta a clases sin espacio de nombres.

Ejemplo #2 Constructores en clases pertenecientes a un nombre de espacios

<?php
namespace Foo;
class Bar {
    public function Bar() {
        // Tratado como constructor en PHP 5.3.0 - 5.3.2
        // Tratado como método regular a partir de PHP 5.3.3
    }
}
?>

Destructor

void __destruct ( void )

PHP 5 introduce un concepto de destructor similar al de otros lenguajes orientados a objetos, tal como C++. El método destructor será llamado tan pronto como no hayan otras referencias a un objeto determinado, o en cualquier otra circunstancia de finalización.

Ejemplo #3 Ejemplo de Destructor

<?php
class MyDestructableClass {
   function __construct() {
       print "En el constructor\n";
       $this->name = "MyDestructableClass";
   }

   function __destruct() {
       print "Destruyendo " . $this->name . "\n";
   }
}

$obj = new MyDestructableClass();
?>

Como los constructores, los destructores padre no serán llamados implícitamente por el motor. Para ejecutar un destructor padre, se deberá llamar explícitamente a parent::__destruct() en el interior del destructor. También como los constructores, una clase child puede heredar el destructor de los padres si no implementa uno propio.

El destructor será invocado aún si la ejecución del script es detenida usando exit(). Llamar a exit() en un destructor evitará que se ejecuten las rutinas restantes de finalización.

Nota:

Los destructores invocados durante la finalización del script tienen los headers HTTP ya enviados. El directorio de trabajo en la fase de finalización del script puede ser diferente con algunos SAPIs (por ej., Apache).

Nota:

Intentar lanzar una excepción desde un destructor (invocado en la finalización del script) causa un error fatal.

Autocarga de clases
Visibilidad
Clases y Objetos


Visibilidad

La visibilidad de una propiedad o método se puede definir anteponiendo una de las palabras claves public, protected o private en la declaración. Los miembros de clases declarados como public pueden ser accedidos desde cualquier lado. Los miembros declarados como protected, sólo desde la misma clase, desde las clases que hereden de ella y desde las clases parent. Aquellos miembros definidos como private, únicamentede pueden ser accedidos desde la clase que los definió.

Visibilidad de Propiedades

Las propiedades de clases deben ser definidas como public, private, o protected. Si se declaran usando var, serán definidas como public.

Ejemplo #1 Declaración de propiedades

<?php
/**
 * Definición de MyClass
 */
class MyClass
{
    public $public = 'Public';
    protected $protected = 'Protected';
    private $private = 'Private';

    function printHello()
    {
        echo $this->public;
        echo $this->protected;
        echo $this->private;
    }
}

$obj = new MyClass();
echo $obj->public;    // Funciona bien
echo $obj->protected; // Error Fatal
echo $obj->private;   // Error Fatal
$obj->printHello();   // Muestra Public, Protected y Private

/**
 * Definición de MyClass2
 */
class MyClass2 extends MyClass
{
    // Se puede redeclarar los métodos public y protected, pero no el private
    protected $protected = 'Protected2';

    function printHello()
    {
        echo $this->public;
        echo $this->protected;
        echo $this->private;
    }
}

$obj2 = new MyClass2();
echo $obj2->public;    // Funciona bien
echo $obj2->protected; // Error Fatal
echo $obj2->private;   // Undefined
$obj2->printHello();   // Muestra Public, Protected2, Undefined

?>

Nota: La forma de declaración de una variable de PHP 4 con la palabra clave var todavía es soportado (como un sinónimo de public) por razones de compatibilidad. En PHP 5 antes de 5.1.3, su uso genera un Warning E_STRICT.

Visibilidad de Métodos

Los métodos de clases pueden ser definidos como public, private, o protected. Aquellos declarados sin ninguna palabra clave de visibilidad explícita serán definidos como public.

Ejemplo #2 Declaración de métodos

<?php
/**
 * Definición de MyClass
 */
class MyClass
{
    // Declaración de un constructor public
    public function __construct() { }

    // Declaración de un método public
    public function MyPublic() { }

    // Declaración de un método protected
    protected function MyProtected() { }

    // Declaración de un método private
    private function MyPrivate() { }

    // Esto es public
    function Foo()
    {
        $this->MyPublic();
        $this->MyProtected();
        $this->MyPrivate();
    }
}

$myclass = new MyClass;
$myclass->MyPublic(); // Funciona
$myclass->MyProtected(); // Error Fatal
$myclass->MyPrivate(); // Error Fatal
$myclass->Foo(); // Public, Protected y Private funcionan

/**
 * Definición de MyClass2
 */
class MyClass2 extends MyClass
{
    // Esto es public
    function Foo2()
    {
        $this->MyPublic();
        $this->MyProtected();
        $this->MyPrivate(); // Error Fatal
    }
}

$myclass2 = new MyClass2;
$myclass2->MyPublic(); // Funciona
$myclass2->Foo2(); // Public y Protected funcionan, pero Private no

class Bar
{
    public function test() {
        $this->testPrivate();
        $this->testPublic();
    }

    public function testPublic() {
        echo "Bar::testPublic\n";
    }

    private function testPrivate() {
        echo "Bar::testPrivate\n";
    }
}

class Foo extends Bar
{
    public function testPublic() {
        echo "Foo::testPublic\n";
    }

    private function testPrivate() {
        echo "Foo::testPrivate\n";
    }
}

$myFoo = new foo();
$myFoo->test(); // Bar::testPrivate
                // Foo::testPublic
?>

Visibilidad desde otros objetos

Los objetos del mismo tipo tendrán acceso a los miembros private y protected entre ellos aunque no sean de la misma instancia. Esto es porque los detalles específicos de implementación ya se conocen cuando se encuentra dentro de estos objetos.

Ejemplo #3 Accediendo a miembros private del mismo tipo de objeto

<?php
class Test
{
    private $foo;

    public function __construct($foo)
    {
        $this->foo = $foo;
    }

    private function bar()
    {
        echo 'Método private accedido.';
    }

    public function baz(Test $other)
    {
        // Se puede cambiar la propiedad private:
        $other->foo = 'hola';
        var_dump($other->foo);

        // También se puede invocar al método private:
        $other->bar();
    }
}

$test = new Test('test');

$test->baz(new Test('other'));
?>

El resultado del ejemplo sería:

string(5) "hola"
Método private accedido.
Constructores y destructores
Herencia de Objetos
Clases y Objetos


Herencia de Objetos

La herencia es un principio de programación bien establecido y PHP hace uso de él en su modelado de objetos. Este principio afectará la manera en que muchas clases y objetos se relacionan unas con otras.

Por ejemplo, cuando se extiende una clase, la subclase hereda todos los métodos públicos y protegidos de la clase padre. A menos que una clase sobrescriba esos métodos, mantendrán su funcionalidad original.

Esto es útil para la definición y abstracción de la funcionalidad y permite la implementación de funcionalidad adicional en objetos similares sin la necesidad de reimplementar toda la funcionalidad compartida.

Nota:

A menos que la carga automática sea utilizada, entonces las clases deben ser definidas antes de ser usadas. Si una clase se extiende a otra, entonces la clase padre debe ser declarada antes de la estructura de clase hija. Esta regla se aplica a las clases que heredan de otras clases e interfaces.

Ejemplo #1 Ejemplo de herencia

<?php

class foo
{
    public function printItem($string)
    {
        echo 'Foo: ' . $string . PHP_EOL;
    }

    public function printPHP()
    {
        echo 'PHP is great.' . PHP_EOL;
    }
}

class bar extends foo
{
    public function printItem($string)
    {
        echo 'Bar: ' . $string . PHP_EOL;
    }
}

$foo = new foo();
$bar = new bar();
$foo->printItem('baz'); // Salida: 'Foo: baz'
$foo->printPHP();       // Salida: 'PHP is great'
$bar->printItem('baz'); // Salida: 'Bar: baz'
$bar->printPHP();       // Salida: 'PHP is great'

?>
Visibilidad
Operador de Resolución de Ámbito (::)
Clases y Objetos


Operador de Resolución de Ámbito (::)

El Operador de Resolución de Ámbito (también denominado Paamayim Nekudotayim) o en términos simples, el doble dos-puntos, es un token que permite acceder a elementos estáticos, constantes, y sobrescribir propiedades o métodos de una clase.

Cuando se hace referencia a estos items desde el exterior de la definición de la clase, se utiliza el nombre de la clase.

A partir de PHP 5.3.0, es posible hacer referencia a una clase usando una variable. El valor de la variable no puede ser una palabra clave (por ej., self, parent y static).

Paamayim Nekudotayim podría, en un principio, parecer una extraña elección para bautizar a un doble dos-puntos. Sin embargo, mientras se escribía el Zend Engine 0.5 (que utilizó PHP 3), asi es como el equipo Zend decidió bautizarlo. En realidad, significa doble dos-puntos - en Hebreo!

Ejemplo #1 :: desde el exterior de la definición de la clase

<?php
class MyClass {
    const CONST_VALUE = 'Un valor constante';
}

$classname = 'MyClass';
echo $classname::CONST_VALUE; // A partir de PHP 5.3.0

echo MyClass::CONST_VALUE;
?>

Las tres palabras claves especiales self, parent y static son utilizadas para acceder a propiedades y métodos desde el interior de la definición de la clase.

Ejemplo #2 :: desde el interior de la definición de la clase

<?php
class OtherClass extends MyClass
{
    public static $my_static = 'variable estática';

    public static function doubleColon() {
        echo parent::CONST_VALUE . "\n";
        echo self::$my_static . "\n";
    }
}

$classname = 'OtherClass';
echo $classname::doubleColon(); // A partir de PHP 5.3.0

OtherClass::doubleColon();
?>

Cuando una clase extendida sobrescribe la definición parent de un método, PHP no invocará al método parent. Depende de la clase extendida el hecho de llamar o no al método parent. Esto también se aplica a definiciones de métodos Constructores y Destructores, Sobrecarga, y Mágicos.

Ejemplo #3 Invocando a un método parent

<?php
class MyClass
{
    protected function myFunc() {
        echo "MyClass::myFunc()\n";
    }
}

class OtherClass extends MyClass
{
    // Sobrescritura de definición parent
    public function myFunc()
    {
        // Pero todavía se puede llamar a la función parent
        parent::myFunc();
        echo "OtherClass::myFunc()\n";
    }
}

$class = new OtherClass();
$class->myFunc();
?>

Véase también algunos ejemplos de trucos de llamadas estáticas .

Herencia de Objetos
La palabra clave 'static'
Clases y Objetos


La palabra clave 'static'

Sugerencia

Esta página describe el uso de la palabra clave static para definir métodos y propiedades estáticos. static también se puede usar para definir variables estáticas y para enlaces estáticos en tiempo de ejecución. Por favor, consulte estas páginas para más información sobre estos significados de static.

Declarar propiedades o métodos de clases como estáticos los hacen accesibles sin la necesidad de instanciar la clase. Una propiedad declarada como static no puede ser accedida con un objeto de clase instanciado (aunque un método estático sí lo puede hacer).

Por motivos de compatibilidad con PHP 4, si no se utiliza ninguna declaración de visibilidad, se tratará a las propiedades o métodos como si hubiesen sido definidos como public.

Debido a que los métodos estáticos se pueden invocar sin tener creada una instancia del objeto, la pseudo-variable $this no está disponible dentro de los métodos declarados como estáticos.

Las propiedades estáticas no pueden ser accedidas a través del objeto utilizando el operador flecha (->).

Invocar métodos no estáticos estáticamente genera una advertencia de nivel E_STRICT.

Como cualquier otra variable estática de PHP, las propiedades estáticas sólo pueden ser inicializadas utilizando un string literal o una constante; las expresiones no están permitidas. Por tanto, se puede inicializar una propiedad estática con enteros o arrays (por ejemplo), pero no se puede hacer con otra variable, con el valor de devolución de una función, o con un objeto.

A partir de PHP 5.3.0, es posible hacer referencia a una clase usando una variable. El valor de la variable no puede ser una palabra clave (p.ej., self, parent y static).

Ejemplo #1 Ejemplo de propiedad estática

<?php
class Foo
{
    public static $mi_static = 'foo';

    public function valorStatic() {
        return self::$mi_static;
    }
}

class Bar extends Foo
{
    public function fooStatic() {
        return parent::$mi_static;
    }
}

print Foo::$mi_static . "\n";

$foo = new Foo();
print $foo->valorStatic() . "\n";
print $foo->mi_static . "\n";      // "Propiedad" mi_static no definida

print $foo::$mi_static . "\n";
$nombreClase = 'Foo';
print $nombreClase::$mi_static . "\n"; // A partir de PHP 5.3.0

print Bar::$mi_static . "\n";
$bar = new Bar();
print $bar->fooStatic() . "\n";
?>

Ejemplo #2 Ejemplo de método estático

<?php
class Foo {
    public static function unMétodoEstático() {
        // ...
    }
}

Foo::unMétodoEstático();
$nombreClase = 'Foo';
$nombreClase::unMétodoEstático(); // A partir de PHP 5.3.0
?>
Operador de Resolución de Ámbito (::)
Abstracción de clases
Clases y Objetos


Abstracción de clases

PHP 5 introduce clases y métodos abstractos. Las clases definidas como abstract no se pueden instanciar y cualquier clase que contiene al menos un método abstracto debe ser definida como abstract. Los métodos definidos como abstractos simplemente declaran la estructura del método, pero no pueden definir la implementación.

Cuando se hereda de una clase abstracta, todos los métodos definidos como abstract en la definición de la clase parent deben ser redefinidos en la clase child; adicionalmente, estos métodos deben ser definidos con la misma visibilidad (o con una menos restrictiva). Por ejemplo, si el método abstracto está definido como protected, la implementación de la función puede ser redefinida como protected o public, pero nunca como private. Por otra parte, las estructuras de los métodos tienen que coincidir; es decir, la implicación de tipos y el número de argumentos requeridos deben ser los mismos. Por ejemplo, si la clase derivada define un parámetro opcional, mientras que el método abstracto no, no habría conflicto con la estructura del método. Esto también aplica a los constructores de PHP 5.4. Antes de PHP 5.4 las estructuras del constructor podían ser diferentes.

Ejemplo #1 Ejemplo de clase abstracta

<?php
abstract class AbstractClass
{
    // Forzando la extensión de clase para definir este método
    abstract protected function getValue();
    abstract protected function prefixValue($prefix);

    // Método común
    public function printOut() {
        print $this->getValue() . "\n";
    }
}

class ConcreteClass1 extends AbstractClass
{
    protected function getValue() {
        return "ConcreteClass1";
    }

    public function prefixValue($prefix) {
        return "{$prefix}ConcreteClass1";
    }
}

class ConcreteClass2 extends AbstractClass
{
    public function getValue() {
        return "ConcreteClass2";
    }

    public function prefixValue($prefix) {
        return "{$prefix}ConcreteClass2";
    }
}

$class1 = new ConcreteClass1;
$class1->printOut();
echo $class1->prefixValue('FOO_') ."\n";

$class2 = new ConcreteClass2;
$class2->printOut();
echo $class2->prefixValue('FOO_') ."\n";
?>

El resultado del ejemplo sería:

ConcreteClass1
FOO_ConcreteClass1
ConcreteClass2
FOO_ConcreteClass2

Ejemplo #2 Ejemplo de clase abstracta

<?php
abstract class AbstractClass
{
    // El método abstracto sólo necesita definir los parámetros requeridos
    abstract protected function prefixName($name);

}

class ConcreteClass extends AbstractClass
{

    // La clase derivada puede definir parámetros opcionales que no estén en la estructura del prototipo
    public function prefixName($name, $separator = ".") {
        if ($name == "Pacman") {
            $prefix = "Mr";
        } elseif ($name == "Pacwoman") {
            $prefix = "Mrs";
        } else {
            $prefix = "";
        }
        return "{$prefix}{$separator} {$name}";
    }
}

$class = new ConcreteClass;
echo $class->prefixName("Pacman"), "\n";
echo $class->prefixName("Pacwoman"), "\n";
?>

El resultado del ejemplo sería:

Mr. Pacman
Mrs. Pacwoman

Códigos antiguos que no tengan clases o funciones definidas por el usuario llamadas 'abstract' deberían ejecutarse sin modificaciones.

La palabra clave 'static'
Interfaces de objetos
Clases y Objetos


Interfaces de objetos

Las interfaces de objetos permiten crear código con el cual especificamos qué métodos deben ser implementados por una clase, sin tener que definir cómo estos métodos son manipulados.

Las interfaces son definidas utilizando la palabra clave interface, de la misma forma que con clases estándar, pero sin métodos que tengan su contenido definido.

Todos los métodos declarados en una interfaz deben ser public, ya que ésta es la naturaleza de una interfaz.

implements

Para implementar una interfaz, se utiliza el operador implements. Todos los métodos en una interfaz deben ser implementados dentro de la clase; el no cumplir con esta regla resultará en un error fatal. Las clases pueden implementar más de una interfaz si se deseara, separándolas cada una por una coma.

Nota:

Antes de PHP 5.3.9, una clase no puede implementar dos interfaces que especifiquen un método con el mismo nombre, ya que podría causar ambigüedad. Las versiones más recientes de PHP permiten esto siempre y cuando los métodos duplicados tengan la misma firma.

Nota:

Las interfaces se pueden extender al igual que las clases utilizando el operador extends.

Nota:

La clase que implemente una interfaz debe utilizar exactamente las mismas estructuras de métodos que fueron definidos en la interfaz. De no cumplir con esta regla, se generará un error fatal.

Constantes

Es posible tener constantes dentro de las interfaces. Las constantes de interfaces funcionan como las constantes de clases excepto porque no pueden ser sobrescritas por una clase/interfaz que las herede.

Ejemplos

Ejemplo #1 Ejemplo de interfaz

<?php

// Declarar la interfaz 'iTemplate'
interface iTemplate
{
    public function setVariable($name, $var);
    public function getHtml($template);
}

// Implementar la interfaz
// Ésto funcionará
class Template implements iTemplate
{
    private $vars = array();

    public function setVariable($name, $var)
    {
        $this->vars[$name] = $var;
    }

    public function getHtml($template)
    {
        foreach($this->vars as $name => $value) {
            $template = str_replace('{' . $name . '}', $value, $template);
        }

        return $template;
    }
}
// Ésto no funcionará
// Error fatal: La Clase BadTemplate contiene un método abstracto
// y por lo tanto debe declararse como abstracta (iTemplate::getHtml)
class BadTemplate implements iTemplate
{
    private $vars = array();

    public function setVariable($name, $var)
    {
        $this->vars[$name] = $var;
    }
}
?>

Ejemplo #2 Interfaces extensibles

<?php
interface a
{
    public function foo();
}

interface b extends a
{
    public function baz(Baz $baz);
}

// Ésto sí funcionará
class c implements b
{
    public function foo()
    {
    }

    public function baz(Baz $baz)
    {
    }
}

// Ésto no funcionará y resultará en un error fatal
class d implements b
{
    public function foo()
    {
    }

    public function baz(Foo $foo)
    {
    }
}
?>

Ejemplo #3 Herencia múltiple de interfaces

<?php
interface a
{
    public function foo();
}

interface b
{
    public function bar();
}

interface c extends a, b
{
    public function baz();
}

class d implements c
{
    public function foo()
    {
    }

    public function bar()
    {
    }

    public function baz()
    {
    }
}
?>

Ejemplo #4 Interfaces con constantes

<?php
interface a
{
    const b = 'Interface constant';
}

// Imprime: Interface constant
echo a::b;

// Sin embargo ésto no funcionará ya que no está permitido
// sobrescribir constantes
class b implements a
{
    const b = 'Class constant';
}
?>

Una interfaz, junto con type-hinting, proveen una buena forma de asegurarse que determinado objeto contiene métodos particulares. Vea el operador instanceof y type hinting.

Abstracción de clases
Traits
Clases y Objetos


Traits

Desde PHP 5.4.0, PHP implementa una metodología de reutilización de código llamada Traits.

Los traits (rasgos) son un mecanismo de reutilización de código en lenguajes de herencia simple, como PHP. El objetivo de un trait es el de reducir las limitaciones propias de la herencia simple permitiendo que los desarrolladores reutilicen a voluntad conjuntos de métodos sobre varias clases independientes y pertenecientes a clases jerárquicas distintas. La semántica a la hora combinar Traits y clases se define de tal manera que reduzca su complejidad y se eviten los problemas típicos asociados a la herencia múltiple y a los Mixins.

Un Trait es similar a una clase, pero con el único objetivo de agrupar funcionalidades muy específicas y de una manera coherente. No se puede instanciar directamente un Trait. Es por tanto un añadido a la herencia tradicional, y habilita la composición horizontal de comportamientos; es decir, permite combinar miembros de clases sin tener que usar herencia.

Ejemplo #1 Ejemplo de trait

<?php
trait ezcReflectionReturnInfo {
    function getReturnType() { /*1*/ }
    function getReturnDescription() { /*2*/ }
}

class ezcReflectionMethod extends ReflectionMethod {
    use ezcReflectionReturnInfo;
    /* ... */
}

class ezcReflectionFunction extends ReflectionFunction {
    use ezcReflectionReturnInfo;
    /* ... */
}
?>

Precedencia

Los miembros heredados de una clase base se sobrescriben cuando se inserta otro miembro homónimo desde un Trait. De acuerdo con el orden de precedencia, los miembros de la clase actual sobrescriben los métodos del Trait, que a su vez sobrescribe los métodos heredados.

Ejemplo #2 Ejemplo de Orden de Precedencia

Se sobrescribe un miembro de la clase base con el método insertado en MiHolaMundo a partir del Trait DecirMundo. El comportamiento es el mismo para los métodos definidos en la clase MiHolaMundo. Según el orden de precedencia los métodos de la clase actual sobrescriben los métodos del Trait, a la vez que el Trait sobrescribe los métodos de la clase base.

<?php
class Base {
    public function decirHola() {
        echo '¡Hola ';
    }
}

trait DecirMundo {
    public function decirHola() {
        parent::decirHola();
        echo 'Mundo!';
    }
}

class MiHolaMundo extends Base {
    use DecirMundo;
}

$o = new MiHolaMundo();
$o->decirHola();
?>

El resultado del ejemplo sería:

¡Hola Mundo!

Ejemplo #3 Ejemplo de Orden de Precedencia #2

<?php
trait HolaMundo {
    public function decirHola() {
        echo '¡Hola Mundo!';
    }
}

class ElMundoNoEsSuficiente {
    use HolaMundo;
    public function decirHola() {
        echo '¡Hola Universo!';
    }
}

$o = new ElMundoNoEsSuficiente();
$o->decirHola();
?>

El resultado del ejemplo sería:

¡Hola Universo!

Multiples Traits

Se pueden insertar múltiples Traits en una clase, mediante una lista separada por comas en la sentencia use.

Ejemplo #4 Uso de Múltiples Traits

<?php
trait Hola {
    public function decirHola() {
        echo 'Hola ';
    }
}

trait Mundo {
    public function decirMundo() {
        echo 'Mundo';
    }
}

class MiHolaMundo {
    use Hola, Mundo;
    public function decirAdmiración() {
        echo '!';
    }
}

$o = new MiHolaMundo();
$o->decirHola();
$o->decirMundo();
$o->decirAdmiración();
?>

El resultado del ejemplo sería:

Hola Mundo!

Resolución de Conflictos

Si dos Traits insertan un método con el mismo nombre, se produce un error fatal, siempre y cuando no se haya resuelto explicitamente el conflicto.

Para resolver los conflictos de nombres entre Traits en una misma clase, se debe usar el operador insteadof para elejir unívocamente uno de los métodos conflictivos.

Como esto sólo permite excluir métodos, se puede usar el operador as para permitir incluir uno de los métodos conflictivos bajo otro nombre.

Ejemplo #5 Resolución de Conflictos

En este ejemplo, Talker utiliza los traits A y B. Como A y B tienen métodos conflictos, se define el uso de la variante de smallTalk del trait B, y la variante de bigTalk del traita A.

Aliased_Talker hace uso del operador as para poder usar la implementación de bigTalk de B, bajo el alias adicional talk.

<?php
trait A {
    public function smallTalk() {
        echo 'a';
    }
    public function bigTalk() {
        echo 'A';
    }
}

trait B {
    public function smallTalk() {
        echo 'b';
    }
    public function bigTalk() {
        echo 'B';
    }
}

class Talker {
    use A, B {
        B::smallTalk insteadof A;
        A::bigTalk insteadof B;
    }
}

class Aliased_Talker {
    use A, B {
        B::smallTalk insteadof A;
        A::bigTalk insteadof B;
        B::bigTalk as talk;
    }
}
?>

Modificando la Visibilidad de los Métodos

Al usar el operador as, se puede también ajustar la visibilidad del método en la clase exhibida.

Ejemplo #6 Modificar la Visibilidad de un Método

<?php
trait HolaMundo {
    public function decirHola() {
        echo 'Hola Mundo!';
    }
}

// Cambiamos visibilidad de decirHola
class MiClase1 {
    use HolaMundo { decirHola as protected; }
}

// Método alias con visibilidad cambiada
// La visibilidad de decirHola no cambia
class MiClase2 {
  use HolaMundo { decirHola as private miPrivadoHola; }
}
?>

Traits Compuestos de Traits

Al igual que las clases, los Traits también pueden hacer uso de otros Traits. Al usar uno o más traits en la definición de un trait, éste puede componerse parcial o completamente de miembros de finidos en esos otros traits.

Ejemplo #7 Traits compuestos de traits

<?php
trait Hola {
    public function decirHola() {
        echo 'Hola ';
    }
}

trait Mundo {
    public function decirMundo() {
        echo 'Mundo!';
    }
}

trait HolaMundo {
    use Hola, Mundo;
}

class MiHolaMundo {
    use HolaMundo;
}

$o = new MiHolaMundo();
$o->decirHola();
$o->decirMundo();
?>

El resultado del ejemplo sería:

Hola Mundo!

Miembros Abstractos de Traits

Los traits soportan el uso de métodos abstractos para imponer requisitos a la clase a la que se exhiban.

Ejemplo #8 Expresar Resquisitos con Métodos Abstractos

<?php
trait Hola {
    public function decirHolaMundo() {
        echo 'Hola'.$this->obtenerMundo();
    }
    abstract public function obtenerMundo();
}

class MiHolaMundo {
    private $mundo;
    use Hola;
    public function obtenerMundo() {
        return $this->mundo;
    }
    public function asignarMundo($val) {
        $this->mundo = $val;
    }
}
?>

Miembros Estáticos en Traits

Los trait pueden definir miembros y métodos estáticos.

Ejemplo #9 Variables estáticas

<?php
trait Contador {
    public function inc() {
        static $c = 0;
        $c = $c + 1;
        echo "$c\n";
    }
}

class C1 {
    use Contador;
}

class C2 {
    use Contador;
}

$o = new C1(); $o->inc(); // echo 1
$p = new C2(); $p->inc(); // echo 1
?>

Ejemplo #10 Métodos Estáticos

<?php
trait EjemploEstatico {
    public static function hacerAlgo() {
        return 'Hacer algo';
    }
}

class Ejemplo {
    use EjemploEstatico;
}

Ejemplo::hacerAlgo();
?>

Propiedades

Los traits también pueden definir propiedades.

Ejemplo #11 Definir Propiedades

<?php
trait PropiedadesTrait {
    public $x = 1;
}

class EjemploPropiedades {
    use PropiedadesTrait;
}

$ejemplo = new EjemploPropiedades;
$ejemplo->x;
?>

Si un trait define una propiedad una clase no puede definir una propiedad con el mismo nombre, si no se emitirá un error.Éste de tipo E_STRICT si la definición de la clase es compatible (misma visibilidad y valor inicial) o de otro modo un error fatal.

Ejemplo #12 Resolución de Conflictos

<?php
trait PropiedadesTrait {
    public $misma = true;
    public $diferente = false;
}

class EjemploPropiedades {
    use PropiedadesTrait;
    public $misma = true; // Estándares estrictos
    public $diferente = true; // Error fatal
}
?>
Interfaces de objetos
Sobrecarga
Clases y Objetos


Sobrecarga

La sobrecarga en PHP ofrece los medios para "crear" dinámicamente propiedades y métodos. Estas entidades dinámicas se procesan por los métodos mágicos que se pueden establecer en una clase para diversas acciones.

Se invoca a los métodos de sobrecarga cuando se interactúa con propiedades o métodos que no se han declarado o que no son visibles en el ámbito activo. A lo largo de esta sección usaremos los términos "propiedades inaccesibles" y "métodos inaccesibles" para referirnos a esta combinación de declaración y visibilidad.

Todos los métodos sobrecargados deben definirse como public.

Nota:

No se puede pasar ninguno de los parámetros de estos métodos mágicos por referencia.

Nota:

La interpretación de PHP de "overloading" es distinta de la mayoría de los lenguajes orientados a objetos. La sobrecarga tradicionalmente ofrece la capacidad de tener múltiples métodos con el mismo nombre, pero con un tipo o un número distinto de parámetros.

Historial de cambios

Versión | Descripción
5.3.0 | Se añade __callStatic. Se añadieron advertencias para hacer cumplir la visibilidad public e impedir la declaración static.
5.1.0 | Añadidos los métodos __isset y __unset.

Sobrecarga de propiedades

public void __set ( string $name , mixed $value )
public mixed __get ( string $name )
public bool __isset ( string $name )
public void __unset ( string $name )

__set() se ejecuta al escribir datos sobre propiedades inaccesibles.

__get() se utiliza para consultar datos a partir de propiedades inaccesibles.

__isset() se lanza al llamar a isset() o a empty() sobre propiedades inaccesibles.

__unset() se invoca cuando se usa unset() sobre propiedades inaccesibles.

El parámetro $name es el nombre de la propiedad con la que se está interactuando. En el método __set() el parámetro $value especifica el valor que se debe asignar a la propiedad $name.

La sobrecarga de propiedades sólo funciona en contextos de objetos. Estos métodos mágicos no se lanzarán en contextos estáticos. Por esa razón, no se deben declarar como estáticos. Desde PHP 5.3.0, se emite un aviso si alguno de los métodos de sobrecarga es declarado como static.

Nota:

Debido a la forma en que PHP procesa el operador de asignación, el valor que devuelve __set() se ignora. Del mismo modo, nunca se llama a __get() al encadenar asignaciones como ésta:

 $a = $obj->b = 8;

Ejemplo #1 Sobrecarga de propiedades mediante los métodos __get(), __set(), __isset() y __unset()

<?php
class PropertyTest
{
    /**  Localización de los datos sobrecargados.  */
    private $data = array();

    /**  La sobrecarga no se usa en propiedades declaradas.  */
    public $declared = 1;

    /**  La sobre carga sólo funciona aquí al acceder desde fuera de la clase.  */
    private $hidden = 2;

    public function __set($name, $value)
    {
        echo "Estableciendo '$name' a '$value'\n";
        $this->data[$name] = $value;
    }

    public function __get($name)
    {
        echo "Consultando '$name'\n";
        if (array_key_exists($name, $this->data)) {
            return $this->data[$name];
        }

        $trace = debug_backtrace();
        trigger_error(
            'Propiedad indefinida mediante __get(): ' . $name .
            ' en ' . $trace[0]['file'] .
            ' en la línea ' . $trace[0]['line'],
            E_USER_NOTICE);
        return null;
    }

    /**  Desde PHP 5.1.0  */
    public function __isset($name)
    {
        echo "¿Está definido '$name'?\n";
        return isset($this->data[$name]);
    }

    /**  Desde PHP 5.1.0  */
    public function __unset($name)
    {
        echo "Eliminando '$name'\n";
        unset($this->data[$name]);
    }

    /**  No es un método mágico, esta aquí para completar el ejemplo.  */
    public function getHidden()
    {
        return $this->hidden;
    }
}

echo "<pre>\n";

$obj = new PropertyTest;

$obj->a = 1;
echo $obj->a . "\n\n";

var_dump(isset($obj->a));
unset($obj->a);
var_dump(isset($obj->a));
echo "\n";

echo $obj->declared . "\n\n";

echo "Vamos a probar con la propiedad privada que se llama 'hidden':\n";
echo "Las propiedades privadas pueden consultarse en la clase, por lo que no se usa __get()...\n";
echo $obj->getHidden() . "\n";
echo "Las propiedades privadas no son visibles fuera de la clase, por lo que se usa __get()...\n";
echo $obj->hidden . "\n";
?>

El resultado del ejemplo sería:

Estableciendo 'a' a '1'
Consultando 'a'
1

¿Está definido 'a'?
bool(true)
Eliminando 'a'
¿Está definido 'a'?
bool(false)

1

Vamos a probar con la propiedad privada que se llama 'hidden':
Las propiedades privadas pueden consultarse en la clase, por lo que no se usa __get()...
2
Las propiedades privadas no son visibles fuera de la clase, por lo que se usa __get()...
Consultando 'hidden'

Notice:  Propiedad indefinida mediante __get(): hidden en <file> en la línea 69 in <file>en la línea 28

Sobrecarga de métodos

public mixed __call ( string $name , array $arguments )
public static mixed __callStatic ( string $name , array $arguments )

__call() es lanzado al invocar un método inaccesible en un contexto de objeto.

__callStatic() es lanzado al invocar un método inaccesible en un contexto estático.

El parámetro $name corresponde al nombre del método al que se está llamando. El parámetro $arguments es un array enumerado que contiene los parámetros que se han pasado al método $name.

Ejemplo #2 Sobrecarga de métodos mediante los métodos __call() and __callStatic()

<?php
class MethodTest
{
    public function __call($name, $arguments)
    {
        // Nota: el valor $name es sensible a mayúsculas.
        echo "Llamando al método de objeto '$name' "
             . implode(', ', $arguments). "\n";
    }

    /**  Desde PHP 5.3.0  */
    public static function __callStatic($name, $arguments)
    {
        // Nota: el valor $name es sensible a mayúsculas.
        echo "Llamando al método estático '$name' "
             . implode(', ', $arguments). "\n";
    }
}

$obj = new MethodTest;
$obj->runTest('en contexto de objeto');

MethodTest::runTest('en contexto estático');  // Desde PHP 5.3.0
?>

El resultado del ejemplo sería:

Llamando al método de objeto 'runTest' en contexto de objeto
Llamando al método estático 'runTest' en contexto estático
Traits
Iteración de objetos
Clases y Objetos


Iteración de objetos

PHP 5 ofrece una manera para que los objetos sean definidos por lo que es posible iterar a través de una lista de elementos, con, por ejemplo, una sentencia foreach. Por defecto, todas las propiedades visibles serán utilizados para la iteración.

Ejemplo #1 Iteración simple de objeto

<?php
class MyClass
{
    public $var1 = 'value 1';
    public $var2 = 'value 2';
    public $var3 = 'value 3';

    protected $protected = 'protected var';
    private   $private   = 'private var';

    function iterateVisible() {
       echo "MyClass::iterateVisible:\n";
       foreach($this as $key => $value) {
           print "$key => $value\n";
       }
    }
}

$class = new MyClass();

foreach($class as $key => $value) {
    print "$key => $value\n";
}
echo "\n";

$class->iterateVisible();

?>

El resultado del ejemplo sería:

var1 => value 1
var2 => value 2
var3 => value 3

MyClass::iterateVisible:
var1 => value 1
var2 => value 2
var3 => value 3
protected => protected var
private => private var

Como se muestra en la salida, el foreach itera a través de todas las propiedades visibles que se puedan acceder.

Para dar un paso más, se puede implementar la interfaz Iterator. Esto permite al objeto decidir cómo será iterado y qué valores estarán disponibles en cada iteración.

Ejemplo #2 Iteración de objeto implementando Iterator

<?php
class MyIterator implements Iterator
{
    private $var = array();

    public function __construct($array)
    {
        if (is_array($array)) {
            $this->var = $array;
        }
    }

    public function rewind()
    {
        echo "rewinding\n";
        reset($this->var);
    }

    public function current()
    {
        $var = current($this->var);
        echo "current: $var\n";
        return $var;
    }

    public function key()
    {
        $var = key($this->var);
        echo "key: $var\n";
        return $var;
    }

    public function next()
    {
        $var = next($this->var);
        echo "next: $var\n";
        return $var;
    }

    public function valid()
    {
        $key = key($this->var);
        $var = ($key !== NULL && $key !== FALSE);
        echo "valid: $var\n";
        return $var;
    }

}

$values = array(1,2,3);
$it = new MyIterator($values);

foreach ($it as $a => $b) {
    print "$a: $b\n";
}
?>

El resultado del ejemplo sería:

rewinding
valid: 1
current: 1
key: 0
0: 1
next: 2
valid: 1
current: 2
key: 1
1: 2
next: 3
valid: 1
current: 3
key: 2
2: 3
next:
valid:

La interface IteratorAggregate se puede usar como alternativa para implementar todos los métodos de Iterator. IteratorAggregate solamente requiere la implementación de un único método, IteratorAggregate::getIterator(), el cual debería devolver una instancia de una clase que implemente Iterator.

Ejemplo #3 Iteración de objeto implementando IteratorAggregate

<?php
class MyCollection implements IteratorAggregate
{
    private $items = array();
    private $count = 0;

    // Se requiere la definición de la interfaz IteratorAggregate
    public function getIterator() {
        return new MyIterator($this->items);
    }

    public function add($value) {
        $this->items[$this->count++] = $value;
    }
}

$coll = new MyCollection();
$coll->add('value 1');
$coll->add('value 2');
$coll->add('value 3');

foreach ($coll as $key => $val) {
    echo "key/value: [$key -> $val]\n\n";
}
?>

El resultado del ejemplo sería:

rewinding
current: value 1
valid: 1
current: value 1
key: 0
key/value: [0 -> value 1]

next: value 2
current: value 2
valid: 1
current: value 2
key: 1
key/value: [1 -> value 2]

next: value 3
current: value 3
valid: 1
current: value 3
key: 2
key/value: [2 -> value 3]

next:
current:
valid:

Nota:

Para más ejemplos de iteradores, vea la extensión SPL.

Nota:

Los usuarios de PHP 5.5 y posteriores pueden investigar los generadores, que posibilitan una forma alternativa de definir iteradores.

Sobrecarga
Métodos mágicos
Clases y Objetos


Métodos mágicos

Los nombres de método
__construct(),
__destruct(),
__call(),
__callStatic(),
__get(),
__set(),
__isset(),
__unset(),
__sleep(),
__wakeup(),
__toString(),
__invoke(),
__set_state() y
__clone()
son mágicos en las clases PHP. No se puede tener métodos con estos
nombres en cualquiera de las clases a menos que desee la funcionalidad
mágica asociada a estos.

Precaución

PHP se reserva todos los nombres de los métodos que comienzan con __ como mágicos. Se recomienda que no utilice los nombres de métodos con __ en PHP a menos que desee alguna funcionalidad mágica documentada.

__sleep() y __wakeup()

public array __sleep ( void )
void __wakeup ( void )

serialize() comprueba si la clase tiene un método con el nombre mágico __sleep(). Si es así, el método se ejecuta antes de cualquier serialización. Se puede limpiar el objeto y se supone que devuelve un array con los nombres de todas las variables de el objeto que se va a serializar. Si el método no devuelve nada, entonces NULL es serializado y un error E_NOTICE es emitido.

Nota:

No es posible para __sleep() devolver nombres de propiedades privadas en las clases padres. Hacer esto resultaría un nivel de error E_NOTICE. En su lugar, puede utilizar la interfaz Serializable.

El uso para el que está destinado __sleep() consiste en confirmar datos pendientes o realizar tareas similares de limpieza. Además, el método es útil si tiene objetos muy grandes que no necesitan guardarse por completo.

Por el contrario, unserialize() comprueba la presencia de un método con el nombre mágico __wakeup(). Si está presente, este método puede reconstruir cualquier recurso que el objeto pueda tener.

El uso para el que está destinado __wakeup() es restablecer las conexiones de base de datos que se puedan haber perdido durante la serialización y realizar otras tareas de reinicialización.

Ejemplo #1 Sleep y wakeup

<?php
class Connection
{
    protected $link;
    private $server, $username, $password, $db;

    public function __construct($server, $username, $password, $db)
    {
        $this->server = $server;
        $this->username = $username;
        $this->password = $password;
        $this->db = $db;
        $this->connect();
    }

    private function connect()
    {
        $this->link = mysql_connect($this->server, $this->username, $this->password);
        mysql_select_db($this->db, $this->link);
    }

    public function __sleep()
    {
        return array('server', 'username', 'password', 'db');
    }

    public function __wakeup()
    {
        $this->connect();
    }
}
?>

__toString()

public string __toString ( void )

El método __toString() permite a una clase decidir cómo comportarse cuando se le trata como un string. Por ejemplo, lo que echo $obj; mostraría. Este método debe devolver un string, si no se emitirá un nivel de error fatal E_RECOVERABLE_ERROR.

Advertencia

No se puede lanzar una excepción desde dentro un método __toString(). Hacerlo resultará en un error fatal.

Ejemplo #2 Ejemplo simple

<?php
// Declarar una clase simple
class TestClass
{
    public $foo;

    public function __construct($foo)
    {
        $this->foo = $foo;
    }

    public function __toString()
    {
        return $this->foo;
    }
}

$class = new TestClass('Hola Mundo');
echo $class;
?>

El resultado del ejemplo sería:

Hola Mundo

Antes de PHP 5.2.0 el método __toString() se llama sólo cuando se combina directamente con echo o print. Desde PHP 5.2.0, se le llama en cualquier contexto de string (e.j. en printf() con el modificador %s) pero no en el contexto de otros tipos (e.j. con el modificador %d). Desde PHP 5.2.0, la conversión de los objetos sin el método __toString() a string podría causar E_RECOVERABLE_ERROR.

__invoke()

mixed __invoke ([ $... ] )

El método __invoke() es llamado cuando un script intenta llamar a un objeto como si fuera una función.

Nota:

Esta característica está disponible desde PHP 5.3.0.

Ejemplo #3 Uso de __invoke()

<?php
class CallableClass
{
    public function __invoke($x)
    {
        var_dump($x);
    }
}
$obj = new CallableClass;
$obj(5);
var_dump(is_callable($obj));
?>

El resultado del ejemplo sería:

int(5)
bool(true)

__set_state()

static object __set_state ( array $properties )

Este método static es llamado para las clases exportadas por var_export(), desde PHP 5.1.0.

El único parámetro de este método es un array que contiene las propiedades exportadas en la forma array('property' => value, ...).

Ejemplo #4 Uso de __set_state() (desde PHP 5.1.0)

<?php

class A
{
    public $var1;
    public $var2;

    public static function __set_state($an_array) // A partir de PHP 5.1.0
    {
        $obj = new A;
        $obj->var1 = $an_array['var1'];
        $obj->var2 = $an_array['var2'];
        return $obj;
    }
}

$a = new A;
$a->var1 = 5;
$a->var2 = 'foo';

eval('$b = ' . var_export($a, true) . ';'); // $b = A::__set_state(array(
                                            //    'var1' => 5,
                                            //    'var2' => 'foo',
                                            // ));
var_dump($b);

?>

El resultado del ejemplo sería:

object(A)#2 (2) {
  ["var1"]=>
  int(5)
  ["var2"]=>
  string(3) "foo"
}
Iteración de objetos
Palabra clave Final
Clases y Objetos


Palabra clave Final

PHP 5 introduce la nueva palabra clave final, que impide que las clases hijas sobrescriban un método, antecediendo su definición con final. Si la propia clase se define como final, entonces no se podrá heredar de ella.

Ejemplo #1 Ejemplo de métodos Final

<?php
class BaseClass {
   public function test() {
       echo "llamada a BaseClass::test()\n";
   }

   final public function moreTesting() {
       echo "llamada a BaseClass::moreTesting()\n";
   }
}

class ChildClass extends BaseClass {
   public function moreTesting() {
       echo "llamada a ChildClass::moreTesting()\n";
   }
}
// Devuelve un error Fatal: Cannot override final method BaseClass::moreTesting()
?>

Ejemplo #2 Ejemplo de clase Final

<?php
final class BaseClass {
   public function test() {
       echo "llamada a BaseClass::test()\n";
   }

   // Aquí no importa si definimos una función como final o no
   final public function moreTesting() {
       echo "llamada a BaseClass::moreTesting()\n";
   }
}

class ChildClass extends BaseClass {
}
// Devuelve un error Fatal: Class ChildClass may not inherit from final class (BaseClass)
?>

Nota: Las propiedades no pueden declararse como final. Sólo pueden las clases y los métodos.

Métodos mágicos
Clonación de Objetos
Clases y Objetos


Clonación de Objetos

No siempre se desea crear una copia de un objeto replicando todas sus propiedades completamente. Un buen ejemplo que ilustra la necesidad de contar con un constructor de copias, sería si tuviéramos un objeto que represente una ventana en GTK y el objeto almacene los recursos de esta ventana GTK, de forma que cuando creas un duplicado el comportamiento esperado sería una nueva ventana con las mismas propiedades, y que el nuevo objeto referencie a los recursos de la nueva ventana. Otro ejemplo es si un objeto hace referencia a otro objeto necesario, de forma que cuando se realiza una réplica del objeto principal, se espera que se cree una nueva instancia de este otro objeto, de forma que la réplica tenga su propia copia

Para crear una copia de un objeto se utiliza la palabra clave clone (que invoca, si fuera posible, al método __clone() del objeto). No se puede llamar al método __clone() de un objeto directamente.

$copia_de_objeto = clone $objeto;

Cuando se clona un objeto, PHP5 llevará a cabo una copia superficial de las propiedades del objeto. Las propiedades que sean referencias a otras variables, mantendrán las referencias.

void __clone ( void )

Una vez que la clonación ha finalizado, se llamará al método __clone() del nuevo objeto (si el método __clone() estuviera definido), para permitirle realizar los cambios necesarios sobre sus propiedades.

Ejemplo #1 Clonación de un objeto

<?php
class SubObject
{
    static $instances = 0;
    public $instance;

    public function __construct() {
        $this->instance = ++self::$instances;
    }

    public function __clone() {
        $this->instance = ++self::$instances;
    }
}

class MyCloneable
{
    public $object1;
    public $object2;

    function __clone()
    {
        // Forzamos la copia de this->object, si no
        // hará referencia al mismo objeto.
        $this->object1 = clone $this->object1;
    }
}

$obj = new MyCloneable();

$obj->object1 = new SubObject();
$obj->object2 = new SubObject();

$obj2 = clone $obj;

print("Objeto Original:\n");
print_r($obj);

print("Objeto Clonado:\n");
print_r($obj2);

?>

El resultado del ejemplo sería:

Objeto Original:
MyCloneable Object
(
    [object1] => SubObject Object
        (
            [instance] => 1
        )

    [object2] => SubObject Object
        (
            [instance] => 2
        )

)
Objeto Clonado:
MyCloneable Object
(
    [object1] => SubObject Object
        (
            [instance] => 3
        )

    [object2] => SubObject Object
        (
            [instance] => 2
        )

)
Palabra clave Final
Comparación de Objetos
Clases y Objetos


Comparación de Objetos

En PHP 5, la comparación de objetos es más complicada que en PHP 4, y en mayor concordancia con lo que cabe esperar de un Lenguaje Orientado a Objetos (tenga en cuenta que PHP lo es).

Al utilizar el operador de comparación (==), se comparan de una forma sencilla las variables de cada objeto, es decir: Dos instancias de un objeto son iguales si tienen los mismos atributos y valores, y son instancias de la misma clase.

Por otra parte, cuando se utiliza el operador identidad (===), las variables de un objeto son idénticas sí y sólo sí hacen referencia a la misma instancia de la misma clase.

Un ejemplo aclarará estas reglas.

Ejemplo #1 Ejemplo de comparación de objetos en PHP 5

<?php
function bool2str($bool)
{
    if ($bool === false) {
        return 'FALSO';
    } else {
        return 'VERDADERO';
    }
}

function compararObjetos(&$o1, &$o2)
{
    echo 'o1 == o2 : ' . bool2str($o1 == $o2) . "\n";
    echo 'o1 != o2 : ' . bool2str($o1 != $o2) . "\n";
    echo 'o1 === o2 : ' . bool2str($o1 === $o2) . "\n";
    echo 'o1 !== o2 : ' . bool2str($o1 !== $o2) . "\n";
}

class Bandera
{
    public $bandera;

    function Bandera($bandera = true) {
        $this->bandera = $bandera;
    }
}

class OtraBandera
{
    public $bandera;

    function OtraBandera($bandera = true) {
        $this->bandera = $bandera;
    }
}

$o = new Bandera();
$p = new Bandera();
$q = $o;
$r = new OtraBandera();

echo "Dos instancias de la misma clase\n";
compararObjetos($o, $p);

echo "\nDos referencias a la misma instancia\n";
compararObjetos($o, $q);

echo "\nInstancias de dos clases diferentes\n";
compararObjetos($o, $r);
?>

El resultado del ejemplo sería:

Dos instancias de la misma clase
o1 == o2 : VERDADERO
o1 != o2 : FALSO
o1 === o2 : FALSO
o1 !== o2 : VERDADERO

Dos referencias a la misma instancia
o1 == o2 : VERDADERO
o1 != o2 : FALSO
o1 === o2 : VERDADERO
o1 !== o2 : FALSO

Instancias de dos clases diferentes
o1 == o2 : FALSO
o1 != o2 : VERDADERO
o1 === o2 : FALSO
o1 !== o2 : VERDADERO

Nota:

Las extensiones pueden definir sus propias reglas para la comparación de sus objetos (==).

Clonación de Objetos
Implicación de Tipos
Clases y Objetos


Implicación de Tipos

Desde PHP 5 se incorpora la implicación de tipos. Ahora, las funciones pueden obligar a sus parámetros a que sean objetos (especificando el nombre de la clase en el prototipo de la función), interfaces, arrays (desde PHP 5.1) o tipos callable (despe PHP 5.4). Sin embargo, si se usa NULL como el valor predeterminado del parámetro, estará permitido como un argumento para cualquier llamada posterior.

Si se especifica una clase o una interfaz como tipo implicado, también estarán permitidos todos sus hijos o implementaciones.

La implicación de tipos no puede usarse con tipos escalares como int o string. Tampoco están permitidos los Resources y Traits.

Ejemplo #1 Ejemplos de Implicación de Tipos

<?php
// Una clase de ejemplo
class MiClase
{
    /**
     * Una función de prueba
     *
     * El primer parámetro debe ser un objeto del tipo OtraClase
     */
    public function prueba(OtraClase $otraclase) {
        echo $otraclase->var;
    }

    /**
     * Otra función de prueba
     *
     * El primer parámetro debe ser un array
     */
    public function prueba_array(array $array_entrada) {
        print_r($array_entrada);
    }

    /**
     * El primer parámetro debe ser un iterador
     */
    public function prueba_interface(Traversable $iterador) {
        echo get_class($iterador);
    }

    /**
     * El primer parámetro debe ser de tipo callable
     */
    public function prueba_callable(callable $llamada_retorno, $datos) {
        call_user_func($llamada_retorno, $datos);
    }
}

// Otra clase de ejemplo
class OtraClase {
    public $var = 'Hola Mundo';
}
?>

Si no se satisface la implicación de tipos, se produce un error fatal capturable

<?php
// Una instancia de cada clase
$miclase = new MiClase;
$otraclase = new OtraClase;

// Error Fatal: El argumento 1 debe ser un objeto de la clase OtraClase
$miclase->prueba('hola');

// Error Fatal: El argumento 1 debe ser una instancia de OtraClase
$foo = new stdClass;
$miclase->prueba($foo);

// Error fatal: El argumento 1 no puede ser null
$miclase->prueba(null);

// Funciona: Muestra en pantalla Hola Mundo
$miclase->prueba($otraclase);

// Error Fatal: El argumento 1 debe ser un array
$miclase->prueba('un string');

// Funciona: Muestra en pantalla el array
$miclase->prueba(array('a', 'b', 'c'));

// Funciona: Muestra en pantalla ArrayObject
$miclase->prueba_interface(new ArrayObject(array()));

// Funciona: Muestra en pantalla int(1)
$miclase->prueba_callable('var_dump', 1);
?>

La implicación de tipos tambíen se pueden usar con funciones:

<?php
// Una clase de ejemplo
class MiClase {
    public $var = 'Hola Mundo';
}

/**
 * Una función de prueba
 *
 * El primer parámetro debe ser un objeto del tipo MiClase
 */
function miFunción (MiClase $foo) {
    echo $foo->var;
}

// Funciona
$miclase = new MiClase;
miFunción($miclase);
?>

La implicación de tipos acepta valores NULL:

<?php

/* Se acepta el valor NULL */
function prueba(stdClass $obj = NULL) {

}

prueba(NULL);
prueba(new stdClass);

?>
Comparación de Objetos
Enlace estático en tiempo de ejecución
Clases y Objetos


Enlace estático en tiempo de ejecución

Desde PHP 5.3.0, PHP incorpora una nueva funcionalidad llamada enlace estático en tiempo de ejecución que permite hacer referencias a la clase en uso dentro de un contexto de herencia estática.

De forma más precisa, un enlace estático en tiempo de ejecución para funcionar almacena el nombre de clase de la última llamada que no tenga "propagación". En el caso de las llamadas a métodos estáticos, se trata de la clase a la que se llamó explícitamente (normalmente, la que precede al operador ::); en los casos de llamadas a métodos que no son estáticos, se resolvería a la clase del objeto. Una "llamada con propagación" es una llamada estática que está precedida por self::, parent::, static::, o, si seguimos la jerarquía de clases, forward_static_call(). La función get_called_class() puede utilizarse para obtener un string con el nombre de la clase que realiza la llamada, y static:: revela cuál es su alcance.

Se le ha llamado "enlace estático en tiempo de ejecución" teniendo en cuenta un punto de vista interno. "Enlace en tiempo de ejecución" viene del hecho de que static:: ya resuelve a la clase en la que se definió el método, sino que en su lugar se resolverá utilizando información en tiempo de ejecución debido a que se puede utilizar (entre otras cosas) para las llamadas de métodos estáticos, se le llamó también "enlace estático".

Limitaciones de self::

Las referencias estáticas que hay dentro de la clase en uso, como self:: o __CLASS__, se resuelven empleando el nombre de la clase a la que pertenece la función:

Ejemplo #1 Uso de self::

<?php
class A {
    public static function who() {
        echo __CLASS__;
    }
    public static function test() {
        self::who();
    }
}

class B extends A {
    public static function who() {
        echo __CLASS__;
    }
}

B::test();
?>

El resultado del ejemplo sería:

A

Uso de Enlace Estático en Tiempo de ejecución

Los enlaces estáticos en tiempo de ejecución tratan de resolver estas limitaciones empleando una palabra clave que haga referencia a la clase que realizó la llamada en tiempo de ejecución. Es decir, una palabra clave que en el ejemplo anterior permita hacer referencia desde test() a B. Se decidió no crear una nueva palabra clave, por lo que en su lugar se ha utilizado la palabra reservada static.

Ejemplo #2 Uso básico de static::

<?php
class A {
    public static function who() {
        echo __CLASS__;
    }
    public static function test() {
        static::who(); // He aquí el enlace estático en tiempo de ejecución
    }
}

class B extends A {
    public static function who() {
        echo __CLASS__;
    }
}

B::test();
?>

El resultado del ejemplo sería:

B

Nota:

En contextos no estáticos, la clase que realiza la llamada será la clase del objeto instanciado. Dado que $this-> tratará de invocar métodos privados en su mismo ámbito, el uso de static:: puede provocar diferents resultados. Otra diferencia es que static:: sólo puede hacer referencia a propiedades estáticas.

Ejemplo #3 Uso de static:: en un contexto no estático

<?php
class A {
    private function foo() {
        echo "exito!\n";
    }
    public function test() {
        $this->foo();
        static::foo();
    }
}

class B extends A {
   /* foo() se copiará en B, por lo tanto su ámbito seguirá siendo A
    * y la llamada tendrá éxito */
}

class C extends A {
    private function foo() {
        /* se reemplaza el método original; el ámbito del nuevo es ahora C */
    }
}

$b = new B();
$b->test();
$c = new C();
$c->test();   //falla
?>

El resultado del ejemplo sería:

exito!
exito!
exito!

Fatal error:  Call to private method C::foo() from context 'A' in /tmp/test.php on line 9

Nota:

En una llamada que se resuelva como estática, la resolución de enlaces estáticos en tiempo de ejecución se dentendrá sin propagarse. Por otra parte, las llamadas estáticas que utilicen palabras clave como parent:: o self:: sí propagarán la información.

Ejemplo #4 Llamadas que propagan y que no propagan

<?php
class A {
    public static function foo() {
        static::who();
    }

    public static function who() {
        echo __CLASS__."\n";
    }
}

class B extends A {
    public static function test() {
        A::foo();
        parent::foo();
        self::foo();
    }

    public static function who() {
        echo __CLASS__."\n";
    }
}
class C extends B {
    public static function who() {
        echo __CLASS__."\n";
    }
}

C::test();
?>

El resultado del ejemplo sería:

A
C
C

Implicación de Tipos
Objetos y referencias
Clases y Objetos


Objetos y referencias

Uno de los puntos clave de la POO de PHP 5 que a menudo se menciona es que "por omisión los objetos se pasan por referencia". Esto no es completamente cierto. Esta sección rectifica esa creencia general, usando algunos ejemplos.

Una referencia en PHP es un alias, que permite a dos variables diferentes escribir sobre un mismo valor. Desde PHP 5, una variable de tipo objeto ya no contiene el objeto en sí como valor. Únicamente contiene un identificador del objeto que le permite localizar al objeto real. Cuando se pasa un objeto como parámetro, o se devuelve como retorno, o se asigna a otra variable, las distintas variables no son alias: guardan una copia del identificador, que apunta al mismo objeto.

Ejemplo #1 Referencias y Objetos

<?php
class A {
    public $foo = 1;
}

$a = new A;
$b = $a;     // $a y $b son copias del mismo identificador
             // ($a) = ($b) = <id>
$b->foo = 2;
echo $a->foo."\n";

$c = new A;
$d = &$c;    // $c y $d son referencias
             // ($c,$d) = <id>

$d->foo = 2;
echo $c->foo."\n";

$e = new A;

function foo($obj) {
    // ($obj) = ($e) = <id>
    $obj->foo = 2;
}

foo($e);
echo $e->foo."\n";

?>

El resultado del ejemplo sería:

2
2
2
Enlace estático en tiempo de ejecución
Serialización de objetos
Clases y Objetos


Serialización de objetos

serialización de objetos - objetos en sesiones

La función serialize() devuelve un string que contiene un flujo de bytes que representa cualquier valor que se pueda almacenar en PHP. Por otra parte, unserialize() puede restaurar los valores originales a partir de dicho string. Al utilizar serialize para guardar un objeto, almacenará todas las variables de dicho objeto. En cambio los métodos no se guardarán, sólo el nombre de la clase.

Para poder deserializar ( unserialize()) un objeto, debe estar definida la clase de ese objeto. Es decir, si se tiene un objeto de la clase A, y lo serializamos, se obtendrá un string que haga referencia a la clase A y contenga todas las variables que haya en esta clase. Si se desea deseralizar en otro fichero, antes debe estar presente la definición de la clase A. Esto se puede hacer, por ejemplo, escribiendo la definición de la clase A en un fichero, para después o bien incluirlo, o bien hacer uso de la función spl_autoload_register().

<?php
// classa.inc:

  class A {
      public $one = 1;

      public function show_one() {
          echo $this->one;
      }
  }

// page1.php:

  include("classa.inc");

  $a = new A;
  $s = serialize($a);
  // almacenamos $s en algún lugar en el que page2.php puede encontrarlo.
  file_put_contents('store', $s);

// page2.php:

  // se necesita para que unserialize funcione correctamente.
  include("classa.inc");

  $s = file_get_contents('store');
  $a = unserialize($s);

  // now use the function show_one() of the $a object.
  $a->show_one();
?>

Si una aplicación está usando sesiones, y utiliza session_register() para registrar objetos, estos objetos se serializarán automáticamente al final de cada página PHP, y se deserializan también automáticamente en cada una de las siguientes peticiones. Esto significa que, una vez que formen parte de la sesión, estos objetos se podrán utilizar en cualquier página de la aplicación. Sin embargo, la función session_register(): ha sido borrada a partir de PHP 5.4.0

Si una aplicación serializa objetos para su uso posterior, se recomienda encarecidamente que se incluya la definición de la clase en toda la aplicación. Si no se hiciera, se deserializaría el objeto sin una definición de clase, lo cual daría como resultado que PHP definiera al objeto con la clase __PHP_Incomplete_Class_Name, que no tiene métodos, haciendo que el objeto no fuera útil.

Por tanto, si en el ejemplo anterior $a se guardara en una sesión mediante session_register("a"), sería necesario incluir el fichero classa.inc en todas las páginas, no sólo en page1.php y page2.php.

Más allá del consejo de arriba, observe que también se puede conectar con eventos de serialización y deserialización sobre un objeto usando los métodos __sleep() y __wakeup(). El uso de __sleep() también permite serializar únicamente un subconjunto de propiedades de objetos.

Objetos y referencias
Registro de cambios de POO
Clases y Objetos


Registro de cambios de POO

Aquí se registran los cambios del modelo de POO de PHP 5. Las descripciones y otras notas respecto a estas nuevas funcionalidades están documentadas dentro de la documentación de POO 5.

Versión | Descripción
5.4.0 | Cambiado: Si una clase abstracta define una firma para el constructor ahora se hará cumplir.
5.3.3 | Cambiado: Los métodos con el mismo nombre que el último elemento de un nombre de clase perteneciente a un espacio de nombres ya no serán tratado como un constructor. Este cambio no afecta a las clases que no pertenecen a un espacio de nombres.
5.3.0 | Cambiado: Ya no es necesario que los valores por omisión de los métodos de una clase que implemente un interfaz coincidan con los valores por omisión de los prototipos de la interfaz.
5.3.0 | Cambiado: Ahora es posible hacer referencia a la clase utilizando una variable (p.ej., echo $nombreclase::constante;). La variable no puede contener como valor una palabra clave (p.ej., self, parent o static).
5.3.0 | Cambiado: Se emite un error de nivel E_WARNING si al sobrecargar un método mágico se le declara como estático. Además, hace necesario que tengan visibilidad pública.
5.3.0 | Cambiado: Antes de 5.3.0, las excepciones lanzadas en la función __autoload() no podían capturarse en el bloque catch, y provocaban un error fatal. Ahora, las excepciones lanzadas dentro de la función __autoload pueden capturarse en el bloque catch, con una única salvedad. Si se lanza una excepción definida por el usuario, entonces esta excepción debería estar disponible. Se puede utilizar recursivamente la función __autoload para cargar automáticamente la clase de la excepción definida por el usuario.
5.3.0 | Añadido: El método __callStatic.
5.3.0 | Añadido: Soporte heredoc y nowdoc para constantes de clase y definición de propiedades. Nota: los valores heredoc deben seguir las mismas reglas que las cadenas de dobles comillas (p.ej., no contener variables).
5.3.0 | Añadido: Enlaces estáticos en tiempo de ejecución.
5.3.0 | Añadido: El método __invoke().
5.2.0 | Cambiado: Al método __toString() sólo se le invocaba cuando se le combinaba con echo o con print. Pero ahora, se le invoca en cualquier contexto de strings (p.ej, en printf() con el modificador %s) pero no en contextos de otro tipo (p.ej. con el modificador %d). Desde PHP 5.2.0, convertir objetos a string sin el método __toString emitirá un error de nivel E_RECOVERABLE_ERROR.
5.1.3 | Cambiado: En versiones anteriores de PHP 5, se consideraba obsoleto el uso de var y emitía un error de nivel E_STRICT. Ya no está obsoleto, y por tanto no emite el error.
5.1.0 | Cambiado: Ahora se invoca al método estático __set_state() en las clases exportadas por var_export().
5.1.0 | Añadido: Los métodos __isset() y __unset().

Serialización de objetos
Espacios de Nombres
Clases y Objetos


Espacios de Nombres

Tabla de contenidos

  • Visión general de los espacios de nombres
  • Definir espacios de nombres
  • Declarar subespacios de nombres
  • Definir múltiples espacios de nombres en el mismo archivo
  • Usar espacios de nombres: Lo básico
  • Espacios de Nombres y características dinámicas del lenguaje
  • La palabra clave namespace y la constante __NAMESPACE__
  • Usar espacios de nombres: Apodar/Importar
  • Espacio global
  • Usar espacios de nombres: una alternativa a funciones/constantes globales
  • Reglas de resolución de nombres
  • FAQ: cosas que se necesitan saber sobre los espacios de nombres
Registro de cambios de POO
Visión general de los espacios de nombres
Referencia del lenguaje


Visión general de los espacios de nombres

(PHP 5 >= 5.3.0)

¿Qué son los espacios de nombres? En su definición más amplia los espacios de nombres son una manera de encapsular elementos. Se puede ver como un concepto abstracto en muchos aspectos. Por ejemplo, en cualquier sistema operativo los directorios sirven para agrupar archivos relacionados, y actúan como espacios de nombres para los archivos que hay en ellos. Como ejemplo, el archivo foo.txt puede existir en los directorios /home/greg y /home/otro, pero no pueden existir dos copias de foo.txt en el mismo directorio. Además, para acceder al archivo foo.txt fuera del directorio /home/greg se debe añadir el nombre del directorio delante del nombre del archivo usando el separador de directorios para obtener /home/greg/foo.txt. Este mismo principio se extiende a los espacios de nombres en el mundo de la programación.

En el mundo de PHP, los espacios de nombres están diseñados para solucionar dos problemas que los autores de bibliotecas y aplicaciones se encuentran cuando crean elementos de código reusable tales como clases o funciones:

  1. El conflicto de nombres entre el código que se crea y las clases/funciones/constantes internas de PHP o las clases/funciones/constantes de terceros.
  2. La capacidad de apodar (o abreviar) Nombres_Extra_Largos diseñado para aliviar el problema en primer lugar, mejorando la legibilidad del código fuente.

Los espacios de nombres en PHP proporcionan una manera para agrupar clases, interfaces, funciones y constantes relacionadas. Un ejemplo de la sintaxis de los espacios de nombres de PHP:

Ejemplo #1 Ejemplo de sintaxis de espacios de nombres

<?php
namespace mi\nombre; // véase la sección "Definir Espacios de Nombres"

class MiClase {}
function mifunción() {}
const MICONSTANTE = 1;

$a = new MiClase;
$c = new \mi\nombre\MiClase; // véase la sección "Espacio Global"

$a = strlen('hola'); // véase la sección "Usar espacios de nombres: una alternativa a
                     // funciones/constantes globales"

$d = namespace\MICONSTANTE; // véase la sección "El operador namespace y
                            // la constante __NAMESPACE__"
$d = __NAMESPACE__ . '\MICONSTANTE';
echo constant($d); // véase la sección "Espacios de Nombres y características dinámicas del lenguaje"
?>

Nota:

Los nombres de espacio de nombres PHP y php, y los nombres compuestos a partir de estos nombres (como PHP\Classes) están reservados para el uso del lenguaje interno y no deben ser utilizados en el código.

Espacios de Nombres
Definir espacios de nombres
Espacios de Nombres


Definir espacios de nombres

(PHP 5 >= 5.3.0)

Aunque cualquier código de PHP válido puede estar contenido dentro de un espacio de nombres, solamente se ven afectados por espacios de nombres los siguientes tipos de código: clases (incluyendo abstractas y traits), interfaces, funciones y constantes.

Los espacios de nombres se declaran usando la palabra clave namespace. Un archivo que contiene un espacio de nombres debe declararlo al inicio del archivo, antes que cualquier otro código - con una excepción: la palabra clave declare.

Ejemplo #1 Declarar un único espacio de nombres

<?php
namespace MiProyecto;

const CONECTAR_OK = 1;
class Conexión { /* ... */ }
function conectar() { /* ... */  }

?>
La única construcción de código permitida antes de la declaración de un espacio de nombres es la sentencia declare, para declarar la codificación de un archivo fuente. Además, algo que no sea código de PHP no puede preceder a la declaración del espacio de nombres, incluyendo espacios en blanco extra:

Ejemplo #2 Declarar un único espacio de nombres

<html>
<?php
namespace MiProyecto; // error fatal - el espacio de nombres debe ser la primera sentencia del script
?>

Además, a diferencia de otras construcciones de PHP, se puede definir el mismo espacio de nombres en múltiples archivos, permitiendo la separación de contenido de espacios de nombres a través del sistema de archivos.

Visión general de los espacios de nombres
Declarar subespacios de nombres
Espacios de Nombres


Declarar subespacios de nombres

(PHP 5 >= 5.3.0)

Al igual que los directorios y archivos, los espacios de nombres de PHP también tienen la capacidad de especificar una jerarquía de nombres de espacios de nombres. Así, un nombre de un espacio de nombres se puede definir con subniveles:

Ejemplo #1 Declarar un único espacio de nombres con jerarquía

<?php
namespace MiProyecto\Sub\Nivel;

const CONECTAR_OK = 1;
class Conexión { /* ... */ }
function conectar() { /* ... */  }

?>
El ejemplo de arriba crea la constante MiProyecto\Sub\Nivel\CONECTAR_OK, la clase MiProyecto\Sub\Nivel\Conexión y la función MiProyecto\Sub\Nivel\conectar.

Definir espacios de nombres
Definir múltiples espacios de nombres en el mismo archivo
Espacios de Nombres


Definir múltiples espacios de nombres en el mismo archivo

(PHP 5 >= 5.3.0)

También se pueden declarar múltiples espacios de nombres en el mismo archivo. Hay dos sintaxis permitidas.

Ejemplo #1 Declarar múltiples espacios de nombres, sintaxis de combinación simple

<?php
namespace MiProyecto;

const CONECTAR_OK = 1;
class Conexión { /* ... */ }
function conectar() { /* ... */  }

namespace OtroProyecto;

const CONECTAR_OK = 1;
class Conexión { /* ... */ }
function conectar() { /* ... */  }
?>

No se recomienda esta sintaxis para combinar espacios de nombres en un único archivo. En su lugar se recomienda usar la sintaxis de llaves alternativa.

Ejemplo #2 Declarar múltiples espacios de nombres, sintaxis de llaves

<?php
namespace MiProyecto {

const CONECTAR_OK = 1;
class Conexión { /* ... */ }
function conectar() { /* ... */  }
}

namespace OtroProyecto {

const CONECTAR_OK = 1;
class Conexión { /* ... */ }
function conectar() { /* ... */  }
}
?>

Se desaconseja encarecidamente, como práctica de código, el combinar múltiples espacios de nombres en el mismo archivo. El caso de uso principal es combinar múltiples scripts de PHP en el mismo archivo.

Combinar código global que no es de espacio de nombres con código que sí lo es, sólo está soportado mediante la sintaxis de llaves. El código global debería estar encerrado en una declaración de espacio de nombres sin nombre de espacio de nombres:

Ejemplo #3 Declarar múltiples espacios de nombres y código que no es de espacio de nombres

<?php
namespace MiProyecto {

const CONECTAR_OK = 1;
class Conexión { /* ... */ }
function conectar() { /* ... */  }
}

namespace { // código global
session_start();
$a = MiProyecto\conectar();
echo MiProyecto\Conexión::iniciar();
}
?>

No puede existir código de PHP fuera de las llaves del espacio de nombres excepto para una sentencia de apertura declare.

Ejemplo #4 Declarar múltiples espacios de nombres y código que no es de espacio de nombres

<?php
declare(encoding='UTF-8');
namespace MiProyecto {

const CONECTAR_OK = 1;
class Conexión { /* ... */ }
function conectar() { /* ... */  }
}

namespace { // código global
session_start();
$a = MiProyecto\conectar();
echo MiProyecto\Conexión::iniciar();
}
?>

Declarar subespacios de nombres
Usar espacios de nombres: Lo básico
Espacios de Nombres


Usar espacios de nombres: Lo básico

(PHP 5 >= 5.3.0)

Antes de hablar del uso de los espacios de nombres es importante entender cómo sabe PHP qué elemento del código del espacio de nombre se requiere. Se puede hacer una simple analogía entre los espacios de nombres de PHP y el sistema de archivos. Existen tres maneras de acceder a un archivo en el sistema de archivos:

  1. Nombre de archivo relativo como foo.txt. Esto se resuelve con directorioactual/foo.txt donde directorioactual es el directorio actualmente ocupado. Por lo que si el directorio actual es /home/foo, el nombre se resuelve con /home/foo/foo.txt.
  2. Nombre de ruta relativa como subdirectorio/foo.txt. Esto se resuelve con directorioactual/subdirectorio/foo.txt.
  3. Nombre de ruta absoluto como /main/foo.txt. Esto se resuelve con /main/foo.txt.
Se puede aplicar el mismo principio a los elementos del espacio de nombres de PHP. Por ejemplo, se puede hacer referencia a un nombre de una clase de tres maneras:
  1. Nombre no cualificado, o nombre de clase sin prefijo como $a = new foo(); o foo::métodoestático();. Si el espacio de nombres actual es espaciodenombresactual, esto se resuelve con espaciodenombresactual\foo. Si el código es global, no es de espacio de nombres, esto se resuelve con foo. Una advertencia: los nombres no cualificados para funciones y constantes se resolverán con funciones y constantes globales si la función o la constante del espacio de nombres no está definida. Véase Usar espacios de nombres: una alternativa a funciones/constantes globales para más detalles.
  2. Nombre cualificado, o un nombre de clase con prefijo como $a = new subespaciodenombres\foo(); o subespaciodenombres\foo::métodoestático();. Si el espacio de nombres actual es espaciodenombresactual, esto se resuelve con espaciodenombresactual\subespaciodenombres\foo. Si el código es global, no es de espacio de nombres, esto se resuelve con subespaciodenombres\foo.
  3. Nombre completamente cualificado, o un nombre con prefijo con el operador de prefijo global como $a = new \espaciodenombresactual\foo(); o \espaciodenombresactual\foo::métodoestático();. Esto siempre se resuelve con nombre literal especificado en el código, espaciodenombresactual\foo.

Aquí hay un ejemplo de los tres tipos de sintaxis en código real:

archivo1.php

<?php
namespace Foo\Bar\subespaciodenombres;

const FOO = 1;
function foo() {}
class foo
{
    static function métodoestático() {}
}
?>

archivo2.php

<?php
namespace Foo\Bar;
include 'archivo1.php';

const FOO = 2;
function foo() {}
class foo
{
    static function métodoestático() {}
}

/* Nombre no cualificado */
foo(); // se resuelve con la función Foo\Bar\foo
foo::métodoestático(); // se resuelve con la clase Foo\Bar\foo, método métodoestático
echo FOO; // se resuelve con la constante Foo\Bar\FOO

/* Nombre cualificado */
subespaciodenombres\foo(); // se resuelve con la función Foo\Bar\subespaciodenombres\foo
subespaciodenombres\foo::métodoestático(); // se resuelve con la clase Foo\Bar\subespaciodenombres\foo,
                                           // método métodoestático
echo subespaciodenombres\FOO; // se resuelve con la constante Foo\Bar\subespaciodenombres\FOO

/* Nombre conmpletamente cualificado */
\Foo\Bar\foo(); // se resuelve con la función Foo\Bar\foo
\Foo\Bar\foo::métodoestático(); // se resuelve con la clase Foo\Bar\foo, método métodoestático
echo \Foo\Bar\FOO; // se resuelve con la constante Foo\Bar\FOO
?>

Observe que para acceder a cualquier clase, función o constante globales, se puede usar un nombre completamente cualificado, como \strlen() o \Exception o \INI_ALL.

Ejemplo #1 Acceder a clases, funciones y constantes globales desde un espacio de nombres

<?php
namespace Foo;

function strlen() {}
const INI_ALL = 3;
class Exception {}

$a = \strlen('hola'); // llama a la función global strlen
$b = \INI_ALL; // accede a la constante global INI_ALL
$c = new \Exception('error'); // instancia a la clase global Exception
?>

Definir múltiples espacios de nombres en el mismo archivo
Espacios de Nombres y características dinámicas del lenguaje
Espacios de Nombres


Espacios de Nombres y características dinámicas del lenguaje

(PHP 5 >= 5.3.0)

La implementación de PHP de los espacios de nombres está influenciada por su naturaleza dinámica como lenguaje de programación. Así, para convertir código como el del siguiente ejemplo en código de espacios de nombres:

Ejemplo #1 Acceder dinámicamente a elementos

ejemplo1.php:

<?php
class nombreclase
{
    function __construct()
    {
        echo __METHOD__,"\n";
    }
}
function nombrefunc()
{
    echo __FUNCTION__,"\n";
}
const nombreconst = "global";

$a = 'nombreclase';
$obj = new $a; // imprime nombreclase::__construct
$b = 'nombrefunc';
$b(); // imprime nombrefunc
echo constant('nombreconst'), "\n"; // imprime global
?>
Se debe usar el nombre completamente cualificado (nombre de clase con prefijo de espacio de nombres). Observe que ya que no hay diferencia entre un nombre cualificado y uno completamente cualificado dentro de un nombre de clase, función, o constante dinámicas, no es necesario la barra invertida inicial.

Ejemplo #2 Acceder dinámicamente a elementos de un espacio de nombres

<?php
namespace nombreespaciodenombres;
class nombreclase
{
    function __construct()
    {
        echo __METHOD__,"\n";
    }
}
function nombrefunc()
{
    echo __FUNCTION__,"\n";
}
const nombreconst = "de espacio de nombres";

include 'ejemplo1.php';

$a = 'nombreclase';
$obj = new $a; // imprime nombreclase::__construct
$b = 'nombrefunc';
$b(); // imprime nombrefunc
echo constant('nombreconst'), "\n"; // imprime global

/* observe que si se usan comillas dobles, se debe usar "\\nombreespaciodenombres\\nombreclase" */
$a = '\nombreespaciodenombres\nombreclase';
$obj = new $a; // imprime nombreespaciodenombres\nombreclase::__construct
$a = 'nombreespaciodenombres\nombreclase';
$obj = new $a; // también imprime nombreespaciodenombres\nombreclase::__construct
$b = 'nombreespaciodenombres\nombrefunc';
$b(); // imprime nombreespaciodenombres\nombrefunc
$b = '\nombreespaciodenombres\nombrefunc';
$b(); // también imprime nombreespaciodenombres\nombrefunc
echo constant('\nombreespaciodenombres\nombreconst'), "\n"; // imprime de espacio de nombres
echo constant('nombreespaciodenombres\nombreconst'), "\n"; // también imprime de espacio de nombres
?>

Asegúrese de leer la nota sobre escapar nombres de espacios de nombres en cadenas.

Usar espacios de nombres: Lo básico
La palabra clave namespace y la constante __NAMESPACE__
Espacios de Nombres


La palabra clave namespace y la constante __NAMESPACE__

(PHP 5 >= 5.3.0)

PHP soporta dos formas de acceder de manera abstracta a elementos dentro del espacio de nombres actual, la constante mágica __NAMESPACE__, y la palabra clave namespace.

El valor de __NAMESPACE__ es una cadena que contiene el nombre del espacio de nombres actual. En código global, código que no es de espacio de nombres, contiene una cadena vacía.

Ejemplo #1 Ejemplo de __NAMESPACE__, código de espacio de nombres

<?php
namespace MiProyecto;

echo '"', __NAMESPACE__, '"'; // imprime "MiProyecto"
?>

Ejemplo #2 Ejemplo de __NAMESPACE__, código global

<?php

echo '"', __NAMESPACE__, '"'; // imprime ""
?>
La constante __NAMESPACE__ es útil para construir nombres dinámicamente, por ejemplo:

Ejemplo #3 usar __NAMESPACE__ para la construcción dinámica de nombres

<?php
namespace MiProyecto;

function obtener($nombreclase)
{
    $a = __NAMESPACE__ . '\\' . $nombreclase;
    return new $a;
}
?>

La palabra clave namespace se puede usar para solicitar explícitamente un elemento del espacio de nombres o subespacio de nombres actual. Es el espacio de nombres equivalente al operador self de las clases.

Ejemplo #4 El operador namespace, dentro de un espacio de nombres

<?php
namespace MiProyecto;

use blah\blah as mío; // véase "Usar espacios de nombres: Apodar/Importar"

blah\mío(); // llama a la función MiProyecto\blah\mío()
namespace\blah\mío(); // llama a la función MiProyecto\blah\mío()

namespace\func(); // llama a la función MiProyecto\func()
namespace\sub\func(); // llama a la función MiProyecto\sub\func()
namespace\nombrec::método(); // llama al método estático "método" de la clase MiProyecto\nombrec
$a = new namespace\sub\nombrec(); // instancia un objeto de la clase MiProyecto\sub\nombrec
$b = namespace\CONSTANTE; // asigna el valor de la constante MiProyecto\CONSTANTE a $b
?>

Ejemplo #5 El operador namespace, en código global

<?php

namespace\func(); // llama a la función func()
namespace\sub\func(); // llama a la función sub\func()
namespace\nombrec::método(); // llama al método estático "método" de la clase nombrec
$a = new namespace\sub\nombrec(); // instancia un objeto de la clase sub\nombrec
$b = namespace\CONSTANTE; // asigna el valor de la constante CONSTANTE a $b
?>

Espacios de Nombres y características dinámicas del lenguaje
Usar espacios de nombres: Apodar/Importar
Espacios de Nombres


Usar espacios de nombres: Apodar/Importar

(PHP 5 >= 5.3.0)

La capacidad de referirse a un nombre completamente cualificado externo con un alias, o importar, es una característca importante de los espacios de nombres. Esto es similar a la capacidad de los sistemas de archivos basados en Unix de crear enlaces simbólicos a un archivo o directorio.

Los espacios de nombres de PHP soportan tres tipos de poner alias o importar: apodar un nombre de clase, apodar un nombre de interfaz, y apodar un nombre de espacio de nombres. Observe que importar una función o una constante no está soportado.

En PHP, apodar se lleva a cabo con el operador use. Aquí hay un ejemplo que muestra los tres tipos de importación:

Ejemplo #1 Importar/apodar con el operador use

<?php
namespace foo;
use Mi\Completo\NombreDeClase as Otra;

// esto es lo mismo que usar Mi\Completo\NombreEN as NombreEN
use Mi\Completo\NombreEN;

// importar una clase global
use ArrayObject;

$obj = new namespace\Otra; // instancia un objeto de la clase foo\Otra
$obj = new Otra; // instancia un objeto de la clase class Mi\Completo\NombreDeClase
NombreEN\suben\func(); // llama a la función Mi\Completo\NombreEN\subes\func
$a = new ArrayObject(array(1)); // instancia un objeto de la clase ArrayObject
// sin el "use ArrayObject" instanciaríamos un objeto de la clase foo\ArrayObject
?>
Observe que para los nombres de espacios de nombres (nombres de espacios de nombres completamente cualificados que contienen el separador de espacios de nombres, como Foo\Bar en oposición a los nombres globales que no lo contienen, como FooBar), no es necesaria y no está recomendada la barra invertida inicial, ya que los nombres importados deben ser completamente cualificados, y no son procesados en relación al espacio de nombres actual.

PHP soporta adicionalmente un atajo apropiado para poner múltiples sentencias use en la misma línea

Ejemplo #2 Importar/apodar con el operador use, múltiples sentencias use combinadas

<?php
use Mi\Completo\NombreDeClase as Otra, Mi\Completo\NombreEN;

$obj = new Otra; // instancia un objeto de la clase Mi\Completo\NombreDeClase
NombreEN\suben\func(); // llama a la función Mi\Completo\NombreEN\suben\func
?>

La importación se realiza en tiempo de compilación, y al hacerlo no afecta a los nombres de clases, funciones o constantes.

Ejemplo #3 La importación y los nombres dinámicos

<?php
use Mi\Completo\NombreDeClase as Otra, Mi\Completo\NombreEN;

$obj = new Otra; // instancia un objeto de la clase Mi\Completo\NombreDeClase
$a = 'Otra';
$obj = new $a;      // instancia un objeto de la clase Otra
?>

Además, la importación sólo afecta a los nombres no cualificados y cualificados. Los nombres completamente cualificados son absolutos, y no son afectados por la importación.

Ejemplo #4 La importación y los nombres completamente cualificados

<?php
use Mi\Completo\NombreDeClase as Otra, Mi\Completo\NombreEN;

$obj = new Otra; // instancia un objeto de la clase Mi\Completo\NombreDeClase
$obj = new \Otra; // instancia un objeto de la clase Otra
$obj = new Otra\cosa; // instancia un objeto de la clase Mi\Completo\NombreDeClase\cosa
$obj = new \Otra\cosa; // instancia un objeto de la clase Otra\cosa
?>

Reglas de ámbito para la importación

La palabra clave use debe ser declarada en el ámbito exterior de un fichero (el ámbito global) o dentro de declaraciones de espacios de nombres. Esto es porque la importación se realiza en tiempo de compilación y no en tiempo de ejecución, por lo que no puede ser delimitada en bloque. El siguiente ejemplo mostrará un uso ilegal de la palabra clave use:

Ejemplo #5 Regla de importación ilegal

<?php
namespace Languages;

class Greenlandic
{
    use Languages\Danish;

 ...
}
?>

Nota:

Las reglas de importación tiene una base por fichero, lo que significa que los archivos incluidos NO heredarán las reglas de importación del padre.

La palabra clave namespace y la constante __NAMESPACE__
Espacio global
Espacios de Nombres


Espacio global

(PHP 5 >= 5.3.0)

Sin ninguna definición de espacios de nombres, todas las definiciones de clases y funciones son colocadas en el espacio global - como si lo estuvieran antes de que PHP soportara los espacios de nombres. Prefijar un nombre con \ especificará que el nombre es requerido desde el espacio global incluso en el contexto del espacio de nombres.

Ejemplo #1 Usar la especificación de espacio global

<?php
namespace A\B\C;

/* Esta función es A\B\C\fopen */
function fopen() {
     /* ... */
     $f = \fopen(...); // llamar a fopen global
     return $f;
}
?>

Usar espacios de nombres: Apodar/Importar
Usar espacios de nombres: una alternativa a funciones/constantes globales
Espacios de Nombres


Usar espacios de nombres: una alternativa a funciones/constantes globales

(PHP 5 >= 5.3.0)

Dentro de un espacio de nombres, cuando PHP se encuentra con nombre no cualificado en un contexto de nombre de clase, función o constante, los resuelve con diferentes propiedades. Los nombres de clases siempre se resuelven con el nombre de espacio de nombres actual. Así, para acceder a clases de usuario internas o que no son de espacio de nombres, se debe referir a ellas con su nombre completamente cualificado:

Ejemplo #1 Acceder a clases globales dentro de un espacio de nombres

<?php
namespace A\B\C;
class Exception extends \Exception {}

$a = new Exception('hola'); // $a es un objeto de la clase A\B\C\Exception
$b = new \Exception('hola'); // $b es un objeto de la clase Exception

$c = new ArrayObject; // error fatal, no se encontró la clase A\B\C\ArrayObject
?>

Para funciones y constantes, PHP recurrirá a funciones y constantes globales si no existe una función o constante en el espacio de nombres.

Ejemplo #2 Recurrir a funciones/constantes globales dentro de un espacio de nombres

<?php
namespace A\B\C;

const E_ERROR = 45;
function strlen($str)
{
    return \strlen($str) - 1;
}

echo E_ERROR, "\n"; // imprime "45"
echo INI_ALL, "\n"; // imprime "7" - recurre a INI_ALL global

echo strlen('hola'), "\n"; // imprime "3"
if (is_array('hola')) { // imprime "no es un array"
    echo "es una array\n";
} else {
    echo "no es un array\n";
}
?>

Espacio global
Reglas de resolución de nombres
Espacios de Nombres


Reglas de resolución de nombres

(PHP 5 >= 5.3.0)

Aquí hay algunas definiciones importantes para los propósitos de estas reglas de resolución:

Definiciones de nombres de espacios de nombres
Nombre no cualificado

Es un identificador sin un separador de espacios de nombres, como Foo

Nombre cualificado

Es un identificador con un separador de espacios de nombres, como Foo\Bar

Nombre completamente cualificado

Es un identificador con un separador de espacios de nombres que comienza con un separador de espacios de nombres, como \Foo\Bar. namespace\Foo también es un nombre completamente cualificado.

Los nombres se resuelven siguiendo estas reglas de resolución:

  1. Las llamadas a clases, funciones o constantes completamente cualificadas se resuelven en tiempo de compilación. Por ejemplo new \A\B se resuelve con la clase A\B.
  2. Todos los nombres no cualificados y cualificados (no los completamente cualificados) se traducen durante la compilación según las reglas de importación actuales. Por ejemplo, si el espacio de nombres A\B\C se importa como C, una llamada a C\D\e() se traduce a A\B\C\D\e().
  3. Dentro de un espacio de nombres, todos los nombres cualificados no traducidos según la reglas de importación tienen añadido al inicio el espacio de nombres actual. Por ejemplo, si una llamada a C\D\e() se lleva a cabo dentro del espacio de nombres A\B, es traduce a A\B\C\D\e().
  4. Los nombres de clases no cualificados se traducen durante la compilación según las reglas de importación actuales (el nombre completo sustituido por el nombre abreviado importado). Por ejemplo, si el espacio de nombres A\B\C se importa como C, new C() se traduce a new A\B\C().
  5. Dentro de un espacio de nombres (digamos A\B), las llamadas a funciones no cualificadas se resuelven en tiempo de ejecución. Aquí se muestra cómo se resuelve una llamada a la función foo():
    1. Se busca una función desde el espacio de nombres actual: A\B\foo().
    2. Se intenta encontrar y llamar a la función global foo().
  6. Dentro de un espacio de nombres (digamos A\B), las llamadas a nombres de clases no cualificados o cualificados (no los completamente cualificados) se resuelve en tiempo de ejecución. Aquí se muestra cómo se resuelve una llamada a new C() o a new D\E(). Para new C():
    1. Se busca una clase desde el espacio de nombres actual: A\B\C.
    2. Se intenta autocargar A\B\C.
    Para new D\E():
    1. Se busca una clase añadiendo al inicio el espacio de nombres actual: A\B\D\E.
    2. Se intenta autocargar A\B\D\E.
    Para referenciar cualquier clase global en el espacio de nombres global, se debe usar su nombre completamente cualificado new \C().

Ejemplo #1 Las resoluciones de nombres ilustradas

<?php
namespace A;
use B\D, C\E as F;

// llamadas a funciones

foo();      // primero se intenta llamar a "foo" definida en el espacio de nombres "A"
            // después se llama a la función global "foo"

\foo();     // se llama a la función "foo" definidia en el ámbito global

mi\foo();   // se llama a la función "foo" definida en el espacio de nombres "A\mi"

F();        // primero se intenta llamar a "F" definida en el espacio de nombres "A"
            // después se llama a la función global "F"

// referecias a clases

new B();    // crea un objeto de la clase "B" definida en el espacio de nombres "A"
            // si no se encuentra, se intenta autocargar la clase "A\B"

new D();    // usando las reglas de importación, se crea un objeto de la clase "D" definida en el
            // espacio de nombres "B" si no se encuentra, se intenta autocargar la clase "B\D"

new F();    // usando las reglas de importación, se crea un objeto de la clase "E" definida en el
            // espacio de nombres "C" si no se encuentra, se intenta autocargar la clase "C\E"

new \B();   // crea un objeto de la clase "B" definida en el ámbito global
            // si no se encuentra, se intenta autocargar la clase "B"

new \D();   // crea un objeto de la clase "D" definida en el ámbito global
            // si no se encuentra, se intenta autocargar la clase "D"

new \F();   // crea un objeto de la clase "F" definida en el ámbito global
            // si no se encuentra, se intenta autocargar la clase "F"

// métodos estáticos/funciones de espacio de nombres desde otro espacio de nombres

B\foo();    // se llama a la función "foo" desde el espacio de nombres "A\B"

B::foo();   // se llama al método "foo" de la clase "B" definidia en el espacio de nombres "A"
            // si no se encuentra la clase "A\B", se intenta autocargar la clase "A\B"

D::foo();   // usando las reglas de importación, se llama al método "foo" de la clase "D" definida en el espacio de nombres "B"
            //si no se encuentra la clase "B\D", se intenta autocargar la clase "B\D"

\B\foo();   // se llama a la función "foo" desde el espacio de nombres "B"

\B::foo();  // se llama al método "foo" de la clase "B" desde el ámbito global
            // si no es encuentra la clase "B", se intenta autocargar la clase "B"

// métodos estáticos/funciones de espacio de nombres del espacio de nombres actual

A\B::foo();   // se llama al método "foo" de la clase "B" desde el espacio de nombres "A\A"
              // si no se encuentra la clase "A\A\B", se intenta autocargar la clase "A\A\B"

\A\B::foo();  // se llama al método "foo" de la clase "B" desde el espacio de nombres "A"
              // si no se encuentra la clase "A\B", se intenta autocargar la clase "A\B"
?>
Usar espacios de nombres: una alternativa a funciones/constantes globales
FAQ: cosas que se necesitan saber sobre los espacios de nombres
Espacios de Nombres


FAQ: cosas que se necesitan saber sobre los espacios de nombres

(PHP 5 >= 5.3.0)

Esta FAQ está dividida en dos secciones: preguntas comunes, y algunas especificaciones de implementación que son útiles para comprenderlos completamente.

Primero, las preguntas comunes.

  1. Si no utilizo espacios de nombres, ¿debería preocuparme por algo de esto?
  2. ¿Cómo uso clases internas o globales en un espacio de nombres?
  3. ¿Cómo uso clases, funciones o constantes de espacios de nombres en su propio espacio de nombres?
  4. ¿Cómo se resuelve un nombre como \mi\nombre o \nombre?
  5. ¿Cómo se resuelve un nombre como mi\nombre?
  6. ¿Cómo se resuelve un nombre de clase no cualificado como nombre?
  7. ¿Cómo se resuelve un nombre de función o de constante no cualifcado como nombre?

Existen unos pocos detalles de implementación de las implementaciones de espacios de nombres que son útiles para enterderlos.

  1. Importar nombres no entra en conflicto con las clases definidas en el mismo archivo.
  2. Los espacios de nombres anidados no están permitidos.
  3. Ni las funciones ni las constantes se pueden importar mediante la sentencia use.
  4. Los nombres de espacios de nombres dinámicos (identificadores entre comillas) deberían escaparse con una barra invertida.
  5. Las Constantes No Definidas referenciadas usando cualquier barra invertida mueren con un error fatal
  6. No se pueden sobrescribir las constantes especiales NULL, TRUE, FALSE, ZEND_THREAD_SAFE o ZEND_DEBUG_BUILD

Si no utilizo espacios de nombres, ¿debería preocuparme por algo de esto?

No. Los espacios de nombres no afectan a ningún código existente de ninguna manera, o a ningún código todavía por escribir que no contenga espacios de nombres. Se puede escribir este código si se desea:

Ejemplo #1 Acceder a clases globales fuera de un espacio de nombres

<?php
$a = new \stdClass;
?>

Esto es funcionalmente equivalente a:

Ejemplo #2 Acceder a clases globales fuera de un espacio de nombres

<?php
$a = new stdClass;
?>

¿Cómo uso clases internas o globales en un espacio de nombres?

Ejemplo #3 Acceder a clases internas en espacios de nombres

<?php
namespace foo;
$a = new \stdClass;

function probar(\ArrayObject $ejemploalusiónatipo = null) {}

$a = \DirectoryIterator::CURRENT_AS_FILEINFO;

// extender una clase interna o global
class MiExcepción extends \Exception {}
?>

¿Cómo uso clases, funciones o constantes de espacios de nombres en su propio espacio de nombres?

Ejemplo #4 Acceder a clases, funciones o constantes internas en un espacio de nombres

<?php
namespace foo;

class MiClase {}

// usar una clase desde el espacio de nombres actual como una alusión a tipo
function probar(MiClase $ejemploalusiónatipo = null) {}
// otra manera de usar una clase desde el espacio de nombres actual una alusión a tipo
function probar(\foo\MiClase $ejemploalusiónatipo = null) {}

// extender una clase desde el espacio de nombres actual
class Extendida extends MiClase {}

// acceder a una función global
$a = \funcglobal();

// acceder a una constante global
$b = \INI_ALL;
?>

¿Cómo se resuelve un nombre como \mi\nombre o \nombre?

Los nombres que comienzan con una \ siempre se resuelven a aquello que parecen, así \mi\nombre de hecho es mi\nombre, y \Exception es Exception.

Ejemplo #5 Nombres Completamente Cualificados

<?php
namespace foo;
$a = new \mi\nombre(); // instancia a la clase "mi\nombre"
echo \strlen('hola'); // llama a la función "strlen"
$a = \INI_ALL; // $a está establecida al valor de la constante "INI_ALL"
?>

¿Cómo se resuelve un nombre como mi\nombre?

Los nombres que contienen una barra invertida pero no comienzan con una barra invertida como mi\nombre pueden resolverse de 2 formas diferentes.

Si hay una sentencia de importación que apode a otro nombre como mi, el alias de importación se aplica a mi en mi\nombre.

De otro modo, al nombre del espacio de nombres actual se le añade al inicio mi\nombre.

Ejemplo #6 Nombres Cualificados

<?php
namespace foo;
use blah\blah as foo;

$a = new mi\nombre(); // instancia a la clase "foo\mi\nombre"
foo\bar::nombre(); // llama a método estático "nombre" de la clase "blah\blah\bar"
mi\bar(); // llama a la función "foo\mi\bar"
$a = mi\BAR; // establece $a al valor de la constante "foo\mi\BAR"
?>

¿Cómo se resuelve un nombre de clase no cualificado como nombre?

Los nombres de clases que no contienen una barra invertida como nombre se pueden resolver de 2 formas diferentes.

Si hay una sentencia de importación que apode a otro nombre como nombre, se aplica el alias de importación.

De otro modo, al nombre del espacio de nombres actual se le añade al inicio nombre.

Ejemplo #7 Nombres de clases no cualificados

<?php
namespace foo;
use blah\blah as foo;

$a = new nombre(); // instancia a la clase "foo\nombre"
foo::nombre(); // llama al método estático "nombre" de la clase "blah\blah"
?>

¿Cómo se resuelve un nombre de función o de constante no cualifcado como nombre?

Los nombres de funciones o de constantes que no contienen una barra invertida como nombre se pueden resolver de 2 formas diferentes.

Primero, al nombre del espacio de nombres actual se le añade al inicio nombre.

Finalmente, si el nombre de la constante o de la función no existe en el espacio de nombres actual, se usa un nombre de constante o función global si es que existe.

Ejemplo #8 Nombres de funciones o constantes no cualificados

<?php
namespace foo;
use blah\blah as foo;

const FOO = 1;

function mi() {}
function foo() {}
function sort(&$a)
{
    \sort($a); // invoca a la función global "sort"
    $a = array_flip($a);
    return $a;
}

mi(); // calls "foo\mi"
$a = strlen('hola'); // llama a la función global "strlen" ya que "foo\strlen" no existe
$matriz = array(1,3,2);
$b = sort($matriz); // llama a la función "foo\sort"
$c = foo(); // llama a la función "foo\foo" - la importación no se aplica

$a = FOO; // establece $a al valor de la constante "foo\FOO" - la importación no se aplica
$b = INI_ALL; // establece $b al valor de la constante "INI_ALL"
?>

Importar nombres no entra en conflicto con las clases definidas en el mismo archivo.

Las siguientes combinaciones de scripts está permitidas:

archivo1.php

<?php
namespace mis\cosas;
class MiClase {}
?>

otro.php

<?php
namespace otro;
class cosa {}
?>

archivo2.php

<?php
namespace mis\cosas;
include 'archivo1.php';
include 'otro.php';

use otro\cosa as MiClase;
$a = new MiClase; // instancia a la clase "cosa" desde el espacio de nombres otro
?>

No existe conflicto entre nombres, aunque la clase MiClase exista dentro del espacio de nombres mis\cosas, porque la definición de MiClase está en otro archivo. Sin embargo, el siguiente ejemplo causa un error fatal con conflicto de nombres ya que MiClase está definida en el mismo archivo que el de la sentencia use.

<?php
namespace mis\cosas;
use otro\cosa as MiClase;
class MiClase {} // error fatal: MiClase entra en conflicto con la sentencia de importación
$a = new MiClase;
?>

Los espacios de nombres anidados no están permitidos.

PHP no permite los espacios de nombres anidados

<?php
namespace mis\cosas {
    namespace anidado {
        class foo {}
    }
}
?>
Sin embargo, es fácil simular los espacios de nombres anidados, de la siguiente manera:
<?php
namespace mis\cosas\anidado {
    class foo {}
}
?>

Ni las funciones ni las constantes se pueden importar mediante la sentencia use.

Los únicos elementos que son afectados por la sentencia use son los espacios de nombres y los nombres de clases. Para abreviar una constante o función largas, importe el espacio de nombres que la contiene

<?php
namespace mío;
use nombre\en\ultra\largo;

$a = largo\CONSTANT;
largo\func();
?>

Los nombres de espacios de nombres dinámicos (identificadores entre comillas) deberían escaparse con una barra invertida.

Es muy importante darse cuenta de que ya que la barra invertida se usa como carácter de escape dentro de cadenas, se deberían usar dobles cuando se utilizan dentro de cadenas. Si no, existe el riesgo de obtener consecuencias inesperadas:

Ejemplo #9 Peligros de usar nombres de espacios de nombres dentro de una cadena entre comillas dobles

<?php
$a = "peligroso\nombre"; // ¡\n es una nueva línea dentro de las cadenas entre comillas dobles!
$obj = new $a;

$a = 'sin\peligro\alguno'; // aquí sin problemas.
$obj = new $a;
?>
Dentro de una cadena entre comillas dobles, es más seguro usar la secuencia de escape de la barra invertida, pero aún se recomienda como práctica escapar las barras invertidas en todas las cadenas.

Las Constantes No Definidas referenciadas usando cualquier barra invertida mueren con un error fatal

Cualquier constante no definida que no es cualificada como FOO producirá una aviso explicando que PHP asume que FOO es el valor de la constante. Cualquier constante, cualificada o completamente cualificada, que contenga una barra invertida producirá un error fatal si no es encontrada.

Ejemplo #10 Constantes no definidas

<?php
namespace bar;
$a = FOO; // produce un aviso - constante no definida "FOO" se asume que es "FOO";
$a = \FOO; // error fatal, constante FOO del espacio de nombres no definida
$a = Bar\FOO; // error fatal, constante bar\Bar\FOO del espacio de nombres no definida
$a = \Bar\FOO; // error fatal, constante Bar\FOO del espacio de nombres no definida
?>

No se pueden sobrescribir las constantes especiales NULL, TRUE, FALSE, ZEND_THREAD_SAFE o ZEND_DEBUG_BUILD

Cualquier intento de definir una constante de espacio de nombres que sea especial, constante interna, resultará en un error fatal

Ejemplo #11 Constantes no definidas

<?php
namespace bar;
const NULL = 0; // error fatal;
const true = 'estúpido'; // también error fatal;
// etc.
?>

Reglas de resolución de nombres
Excepciones
Espacios de Nombres


Excepciones

Tabla de contenidos

  • Ampliar las Excepciones

PHP 5 tiene un modelo de excepciones similar al de otros lenguajes de programación. Una excepción puede ser lanzada (thrown), y atrapada ("catched") dentro de PHP. El código puede estar dentro de un bloque try, para facilitar la captura de excepciones potenciales. Cada bloque try debe tener al menos un bloque catch correspondiente. Se pueden usar múltiples bloques catch para atrapar diferentes clases de excepciones. La ejecución normal (cuando no es lanzada ninguna excepción dentro del bloque try, o cuando un bloque catch que coincide con la clase de la excepción lanzada no está presente) continuará después del último bloque catch definido en la sencuencia. Las excepciones pueden ser lanzadas (o relanzadas) dentro de un bloque catch.

Cuando una excepción es lanzada, el código siguiente a la declaración no será ejecutado, y PHP intentará encontrar el primer bloque catch conicidente. Si una excepción no es capturada, se emitirá un Error Fatal de PHP con un mensaje "Uncaught Exception ..." ("Excepción No Capturada"), a menos que se haya definido un gestor con set_exception_handler().

En PHP 5.5 y posteriores, se puede utilizar un bloque finally después de los bloques catch. El código de dentro del bloque finally siempre se ejecutará después de los bloques try y catch, independientemente de que se haya lanzado una excepción o no, y antes de que el flujo normal de ejecución continúe.

El objeto lanzado debe ser una instancia de la clase Exception o de una subclase de Exception. Intentar lanzar un objeto que no lo es resultará en un Error Fatal de PHP.

Nota:

Las funciones internas de PHP utilizan principalmente Información de Errores, sólo las extensiones Orientadas a objetos modernas utilizan excepciones. Sin embargo, los errores se pueden traducir a excepciones simplemente con ErrorException.

Sugerencia

Standard PHP Library (SPL) - (Biblioteca PHP Estándar) proporciona un buen número de excepciones internas.

Ejemplo #1 Lanzar una Excepción

<?php
function inverso($x) {
    if (!$x) {
        throw new Exception('División por cero.');
    }
    return 1/$x;
}

try {
    echo inverso(5) . "\n";
    echo inverso(0) . "\n";
} catch (Exception $e) {
    echo 'Excepción capturada: ',  $e->getMessage(), "\n";
}

// Continuar la ejecución
echo 'Hola Mundo\n';
?>

El resultado del ejemplo sería:

0.2
Excepción capturada: División por cero.
Hola Mundo

Ejemplo #2 Manejo de excepciones con un bloque finally

<?php
function inverse($x) {
    if (!$x) {
        throw new Exception('División por cero.');
    }
    return 1/$x;
}

try {
    echo inverse(5) . "\n";
} catch (Exception $e) {
    echo 'Excepción capturada: ',  $e->getMessage(), "\n";
} finally {
    echo "Primer finally.\n";
}

try {
    echo inverse(0) . "\n";
} catch (Exception $e) {
    echo 'Excepción capturada: ',  $e->getMessage(), "\n";
} finally {
    echo "Segundo finally.\n";
}

// Continuar ejecución
echo 'Hola Mundo\n';
?>

El resultado del ejemplo sería:

0.2
Primer finally.
Excepción capturada: División por cero.
Segundo finally.
Hola Mundo

Ejemplo #3 Excepciones Anidadas

<?php

class MiExcepción extends Exception { }

class Prueba {
    public function probar() {
        try {
            try {
                throw new MiExcepción('foo!');
            } catch (MiExcepción $e) {
                // relanzarla
                throw $e;
            }
        } catch (Exception $e) {
            var_dump($e->getMessage());
        }
    }
}

$foo = new Prueba;
$foo->probar();

?>

El resultado del ejemplo sería:

string(4) "foo!"
FAQ: cosas que se necesitan saber sobre los espacios de nombres
Ampliar las Excepciones
Referencia del lenguaje


Ampliar las Excepciones

Una clase de Excepción definida por el usuario puede ser definida ampliando la clase Exception interna. Los miembros y las propiedades de abajo muestran lo que es accesible dentro de la clase hija que deriva de la clase Exception interna.

Ejemplo #1 La clase Exception Interna

<?php
class Exception
{
    protected $message = 'Unknown exception';   // mensaje de excepción
    private   $string;                          // caché de __toString
    protected $code = 0;                        // código de excepción definido por el usuario
    protected $file;                            // nombre de archivo fuente de la excepción
    protected $line;                            // línea fuente de la excepción
    private   $trace;                           // determinación del origen
    private   $previous;                        // excepción previa si la excepción está anidada

    public function __construct($message = null, $code = 0, Exception $previous = null);

    final private function __clone();           // Inhibe la clonación de excepciones.

    final public  function getMessage();        // mensaje de excepción
    final public  function getCode();           // código de excepción
    final public  function getFile();           // nombre de archivo fuente
    final public  function getLine();           // línea fuente
    final public  function getTrace();          // un array de backtrace()
    final public  function getPrevious();       // excepción anterior
    final public  function getTraceAsString();  // string formateado del seguimiento del origen

    // Sobrescribible
    public function __toString();               // string formateado para mostrar
}
?>

Si una clase extiende la clase Exception interna y redefine el constructor, se recomienda encarecidamente que también llame a parent::__construct() para asegurarse que toda la información disponible haya sido asignada apropiadamente. El método __toString() puede ser sobrescrito para proporcionar una salida personalizada cuando el objeto es presentado como un string.

Nota:

Las excepciones no se pueden clonar. Intentar clonar una Excepción resultará en un error E_ERROR fatal.

Ejemplo #2 Extender la clase Exception (PHP 5.3.0+)

<?php
/**
 * Definir una clase de excepción personalizada
 */
class MiExcepción extends Exception
{
    // Redefinir la excepción, por lo que el mensaje no es opcional
    public function __construct($message, $code = 0, Exception $previous = null) {
        // algo de código

        // asegúrese de que todo está asignado apropiadamente
        parent::__construct($message, $code, $previous);
    }

    // representación de cadena personalizada del objeto
    public function __toString() {
        return __CLASS__ . ": [{$this->code}]: {$this->message}\n";
    }

    public function funciónPersonalizada() {
        echo "Una función personalizada para este tipo de excepción\n";
    }
}

/**
 * Crear una clase para probar la excepción
 */
class ProbarExcepción
{
    public $var;

    const THROW_NONE    = 0;
    const THROW_CUSTOM  = 1;
    const THROW_DEFAULT = 2;

    function __construct($avalue = self::THROW_NONE) {

        switch ($avalue) {
            case self::THROW_CUSTOM:
                // lanzar la excepción personalizada
                throw new MiExcepción('1 no es un parámetro válido', 5);
                break;

            case self::THROW_DEFAULT:
                // lanzar la predeterminada.
                throw new Exception('2 no está permitido como parámetro', 6);
                break;

            default:
                // No hay excepción, el objeto se creará.
                $this->var = $avalue;
                break;
        }
    }
}

// Ejemplo 1
try {
    $o = new ProbarExcepción(ProbarExcepción::THROW_CUSTOM);
} catch (MiExcepción $e) {      // Será atrapada
    echo "Atrapada mi excepción\n", $e;
    $e->funciónPersonalizada();
} catch (Exception $e) {        // Skipped
    echo "Atrapada la Excepción Predeterminada\n", $e;
}

// Continuar la ejecución
var_dump($o); // Null
echo "\n\n";

// Ejemplo 2
try {
    $o = new ProbarExcepción(ProbarExcepción::THROW_DEFAULT);
} catch (MiExcepción $e) {      // Este tipo no coincide
    echo "Atrapada mi excepción\n", $e;
    $e->funciónPersonalizada();
} catch (Exception $e) {        // Will be caught
    echo "Atrapada la Excepción Predeterminada\n", $e;
}

// Continuar la ejecución
var_dump($o); // Null
echo "\n\n";

// Ejemplo 3
try {
    $o = new ProbarExcepción(ProbarExcepción::THROW_CUSTOM);
} catch (Exception $e) {        // Será atrapada
    echo "Atrapada la Excepción Predeterminada\n", $e;
}

// Continuar la ejecución
var_dump($o); // Null
echo "\n\n";

// Ejemplo 4
try {
    $o = new ProbarExcepción();
} catch (Exception $e) {        // Saltado, sin excepción
    echo "Atrapada la Excepción Predeterminada\n", $e;
}

// Continuar la ejecución
var_dump($o); // ProbarExcepción
echo "\n\n";
?>

Nota:

Las versiones de PHP 5, anteriores a PHP 5.3.0, no soportan excepciones anidadas. El siguiente fragmento de código se puede usar para reemplazar la clase MiExcepción si se desea ejecutar este ejemplo.

<?php
/**
 * Definir una clase de excepción personalizada
 */
class MiExcepción extends Exception
{
    // Redefinir la excepción, por lo que el mensaje no es opcional
    public function __construct($message, $code = 0) {
        // algo de código

        // asegúrese de que todo está asignador apropiadamente
        parent::__construct($message, $code);
    }

    // representación de cadena personalizada del objeto
    public function __toString() {
        return __CLASS__ . ": [{$this->code}]: {$this->message}\n";
    }

    public function funciónPersonalizada() {
        echo "Una función personalizada para este tipo de excepción\n";
    }
}
?>

Excepciones
Generadores
Excepciones


Generadores

Tabla de contenidos

  • Información general
  • Generator syntax
  • Comparación entre generadores y objetos Iterator
Ampliar las Excepciones
Información general
Referencia del lenguaje


Información general

(PHP 5 >= 5.5.0)

Los generadores proporcionan un modo fácil de implementar iteradores simples sin la sobrecarga o complejidad de implementar una clase que implemente la interfaz Iterator.

Un generador permite escribir código que utilice foreach para iterar sobre un conjunto de datos sin que sea necesario cargar el array en memoria, lo que puede ocasionar que se exceda el límite de memoria, o requiera una cantidad considerable de tiempo de procesado para generarse. En su lugar, se puede escribir una función generadora, que es igual que una función normal, con la salvedad de que en vez de hacer un solo return, un generador puede invocar yield tantas veces como necesite para proporcionar valores por los que iterar.

Un ejemplo simple de esto es reimplementar la función range() como un generador. La función estándar range() tiene que generar un array con cada uno de los valores y devolverlo, lo que puede resultar en arrays grandes: por ejemplo, llamar range(0, 1000000) resultará en más de 100 MB de memoria utilizada.

Como alternativa, se puede implementar un generador xrange(), que sólo necesitará memoria para crear un objeto Iterator y controlar el estado actual del generador de manera interna, lo que no ocupa más de 1 kilobyte.

Ejemplo #1 Implementando range() como generador

<?php
function xrange($start, $limit, $step = 1) {
    if ($start < $limit) {
        if ($step <= 0) {
            throw new LogicException('Step tiene que ser +ve');
        }

        for ($i = $start; $i <= $limit; $i += $step) {
            yield $i;
        }
    } else {
        if ($step >= 0) {
            throw new LogicException('Step tiene que ser -ve');
        }

        for ($i = $start; $i >= $limit; $i += $step) {
            yield $i;
        }
    }
}

/*
 * Obsereve que tanto range() como xrange() producen la misma
 * salida a continuación.
 */

echo 'Números impares de una cifra de range():  ';
foreach (range(1, 9, 2) as $number) {
    echo "$number ";
}
echo "\n";

echo 'Números impares de una cifra de xrange():  ';
foreach (xrange(1, 9, 2) as $number) {
    echo "$number ";
}
?>

El resultado del ejemplo sería:

Números impares de una cifra de range():  1 3 5 7 9
Números impares de una cifra de xrange(): 1 3 5 7 9
Generadores
Generator syntax
Generadores


Generator syntax

Una función generadora es igual que una función normal, con la diferencia de que en vez de devolver un valor, un generador invoca yield tantas veces como necesita.

Cuando se llama a una función generadora, devuelve un objeto que puede ser iterado. Cuando se itera sobre ese objeto (por ejemplo, con un bucle foreach), PHP llamará a la función generadora cada vez que necesite un valor, y guardará el estado del generador cuando este provea un valor con yield para que ese estado pueda ser recuperado cuando el próximo valor sea requerido.

Cuando no hay más valores que se puedan proporcionar, la función generadora puede simplemente terminar, y el código desde el que se la llama continuará como si un array se hubiera quedado sin valores.

Nota:

Un generador no puede retornar un valor: hacerlo resultaría en un error de compilación. Un return vacío es válido en cuanto a sintaxis dentro de un generador y terminará el generador.

yield keyword

La clave de una función generadora es la palabra reservada yield. En su forma más simple, la sentencia yield es parecida a la sentencia return, excepto en que en vez de detener la ejecución de la función y devolver un valor, yield facilita el valor al bucle que itera sobre el generador y pausa la ejecución de la función generadora.

Ejemplo #1 Ejemplo sencillo de facilitar valores con yield

<?php
function gen_one_to_three() {
    for ($i = 1; $i <= 3; $i++) {
        // Observe que $i es preservado entre yields
        yield $i;
    }
}

$generator = gen_one_to_three();
foreach ($generator as $value) {
    echo "$value\n";
}
?>

El resultado del ejemplo sería:

1
2
3

Nota:

Internamente, las claves enteras secuenciales serán asociadas con los valores sobre los que se usa yield, como un array no asociativo.

Precaución

Si se utiliza yield en el contexto de una expresión (por ejemplo, en el lado derecho de una asignación), se debe poner la sentencia yield entre paréntesis. Por ejemplo, esto es válido:

$data = (yield $value);

Pero esto no lo es, y resultará en un error del intérprete:

$data = yield $value;

Esta sintaxis podría usarse junto con el método Generator::send().

Utilizar yield para facilitar valores con claves

PHP soporta arrays asociativos, y los generadores no son menos. Además de facilitar valores simples, como se muestra arriba, también se puede facilitar una clave al mismo tiempo.

La sintaxis para facilitar un par clave-valor es muy similar a la utilizada para definir un array asociativo, como se muestra a continuación.

Ejemplo #2 Facilitar un par clave-valor

<?php
/*
 * La entrada son campos separados por punto y coma, con el primer
 * campo siendo la ID utilizada como clave.
 */

$input = <<<'EOF'
1;PHP;Likes dollar signs
2;Python;Likes whitespace
3;Ruby;Likes blocks
EOF;

function input_parser($input) {
    foreach (explode("\n", $input) as $line) {
        $fields = explode(';', $line);
        $id = array_shift($fields);

        yield $id => $fields;
    }
}

foreach (input_parser($input) as $id => $fields) {
    echo "$id:\n";
    echo "    $fields[0]\n";
    echo "    $fields[1]\n";
}
?>

El resultado del ejemplo sería:

1:
    PHP
    Likes dollar signs
2:
    Python
    Likes whitespace
3:
    Ruby
    Likes blocks
Precaución

Como en el ejemplo anterior, facilitar un par clave-valor en contexto de expresión requiere que la sentencia yield sea puesta entre paréntesis:

$data = (yield $key => $value);

Facilitar valores nulos

Yield puede ser invocado sin argumentos para facilitar un valor NULL con una clave automática.

Ejemplo #3 Yielding NULLs

<?php
function gen_three_nulls() {
    foreach (range(1, 3) as $i) {
        yield;
    }
}

var_dump(iterator_to_array(gen_three_nulls()));
?>

El resultado del ejemplo sería:

array(3) {
  [0]=>
  NULL
  [1]=>
  NULL
  [2]=>
  NULL
}

Facilitar por referencia

Las funciones generadoras son capaces de facilitar valores por referencia igual que lo hacen por valor. Esto se hace de la misma forma que devolviendo referencias desde funciones: poniendo un ampersand (signo &) delante del nombre de la función.

Ejemplo #4 Facilitar valores por referencia

<?php
function &gen_reference() {
    $value = 3;

    while ($value > 0) {
        yield $value;
    }
}

/*
 * Observe que es posible cambiar $number desde dentro del bucle, y
 * dado que el generador está facilitando referencias, $value
 * dentro de gen_reference() cambia.
 */
foreach (gen_reference() as &$number) {
    echo (--$number).'... ';
}
?>

El resultado del ejemplo sería:

2... 1... 0...

Objetos Generator

Cuando una función generadora es invocada por primera vez, un objeto de la clase interna Generator es devuelto. Este objeto implementa la interfaz Iterator en prácticamente el mismo modo que lo haría un iterador unidireccional.

Información general
Comparación entre generadores y objetos Iterator
Generadores


Comparación entre generadores y objetos Iterator

La principal ventaja de los generadores es su simplicadad. Se ha de escribir mucho menos código repetitivo en comparación con el necesario para implementar una clase Iterator, y el código es generalmente mucho más legible. Por ejemplo, la siguiente función y clase son equivalentes:

<?php
function getLinesFromFile($fileName) {
    if (!$fileHandle = fopen($fileName, 'r')) {
        return;
    }

    while (false !== $line = fgets($fileHandle)) {
        yield $line;
    }

    fclose($fileHandle);
}

// Contra...

class LineIterator implements Iterator {
    protected $fileHandle;

    protected $line;
    protected $i;

    public function __construct($fileName) {
        if (!$this->fileHandle = fopen($fileName, 'r')) {
            throw new RuntimeException('Couldn\'t open file "' . $fileName . '"');
        }
    }

    public function rewind() {
        fseek($this->fileHandle, 0);
        $this->line = fgets($this->fileHandle);
        $this->i = 0;
    }

    public function valid() {
        return false !== $this->line;
    }

    public function current() {
        return $this->line;
    }

    public function key() {
        return $this->i;
    }

    public function next() {
        if (false !== $this->line) {
            $this->line = fgets($this->fileHandle);
            $this->i++;
        }
    }

    public function __destruct() {
        fclose($this->fileHandle);
    }
}
?>

La flexibilidad, sin embargo, tiene un coste: los generadores son iteradores unidireccionales, y no pueden ser rebobinados una vez la iteración ha empezado. Esto también significa que se puede iterar sobre el mismo generador varias veces: el generador necesitará ser o bien reconstruido llamando a la función generadora de nuevo, o bien clonado a través de la palabra clave clone.

Generator syntax
Referencias Explicadas
Generadores


Referencias Explicadas

Tabla de contenidos

  • ¿Qué son las Referencias?
  • ¿Qué hacen las referencias?
  • ¿Qué NO son las Referencias?
  • Pasar por Referencia
  • Devolver Referencias
  • Destruir Referencias
  • Ubicar las Referencias
Comparación entre generadores y objetos Iterator
¿Qué son las Referencias?
Referencia del lenguaje


¿Qué son las Referencias?

Las Referencias en PHP son medios de acceder al mismo contenido de una variable mediante diferentes nombres. No son como los punteros de C; por ejemplo, no se puede realizar aritmética de punteros con ellas, realmente no son direcciones de memoria, etc. Véase ¿Qué NO son las Referencias? para más información. Las referencias son alias de la tabla de símbolos. Observe que en PHP el nombre de la variable y el contenido de la variable son cosas diferentes, por lo que el mismo contenido puede tener diferentes nombres. La analogía más próxima es con los archivos y los nombres de archivos de Unix - los nombres de variables son entradas de directorio, mientras que el contenido de las variables es el archivo en sí. Las referencias se pueden vincular a enlaces duros en sistemas de archivos Unix.

Referencias Explicadas
¿Qué hacen las referencias?
Referencias Explicadas


¿Qué hacen las referencias?

Hay tres operaciones básicas que se realizan usando referencias: asignar por referencia, pasar por referencia, y devolver por referencia. En esta sección se dará una introducción a estas operaciones, con enlaces para una lectura complementaria.

Asignar por Referencia

En la primera de estas operaciones, las referencias de PHP permiten hacer que dos variables hagan referencia al mismo contenido. Es decir, cuando se hace:

<?php
$a =& $b;
?>
significa que $a y $b apuntan al mismo contenido.

Nota:

$a y $b aquí son completamente iguales. $a no está apuntando a $b o viceversa. $a y $b están apuntando al mismo lugar.

Nota:

Si se asigna, pasa, o devuelve una variable no definida por referencia, la variable se creará.

Ejemplo #1 Usar referencias con variables no definidas

<?php
function foo(&$var) { }

foo($a); // $a es "creada" y asignada a null

$b = array();
foo($b['b']);
var_dump(array_key_exists('b', $b)); // bool(true)

$c = new StdClass;
foo($c->d);
var_dump(property_exists($c, 'd')); // bool(true)
?>

Se puede usar la misma sintaxis con funciones que devuelven referencias y con el operador new (desde PHP 4.0.4 y anterior a PHP 5.0.0):

<?php
$foo =& find_var($bar);
?>
Desde PHP 5, new devuelve una referencia automáticamente, por lo que usar =& en este contexto es obsoleto y produce un mensaje E_DEPRECATED en PHP 5.3 y posteriores, y un mensaje E_STRICT en versiones anteriores. (Técnicamente, la diferencia es que, en PHP 5, las variables de objetos, como los recursos, son meros punteros a la información del objeto actual, por lo que estas referencias a objetos no son "referencias" en el mismo sentido usado antes (alias). Para más información, véase Objetos y referencias.)

Advertencia

Si se asigna una referencia a una varible declarada global dentro de una función, la referencia será visible sólo dentro de la función. Se puede evitar esto usando la matriz $GLOBALS.

Ejemplo #2 Refenciar variables globales dentro de funciones

<?php
$var1 = "Variable de ejemplo";
$var2 = "";

function referencias_globales($usar_globals)
{
    global $var1, $var2;
    if (!$usar_globals) {
        $var2 =& $var1; // visible sólo dentro de la función
    } else {
        $GLOBALS["var2"] =& $var1; // visible también en el contexto global
    }
}

referencias_globales(false);
echo "var2 está establecida a '$var2'\n"; // var2 está establecida a ''
referencias_globales(true);
echo "var2 está establecida a '$var2'\n"; // var2 está establecida a 'Variable de ejemplo'
?>
Piense en global $var; como simplificación de $var =& $GLOBALS['var'];. De este modo, al asignar otra referencia a $var sólo cambia la referencia de la variable local.

Nota:

Si se asigna un valor a una variable con referencias en una sentencia foreach, también se modifican las referencias.

Ejemplo #3 Referencias y la sentencia foreach

<?php
$ref = 0;
$fila =& $ref;
foreach (array(1, 2, 3) as $fila) {
    // hacer algo
}
echo $ref; // 3 - último elemento de la matriz iterada
?>

Mientras que no sea estrictamente una asignación por referencia, las expresiones creadas con el constructor de lenguaje array() también pueden comportarse como tales prefijando & al elemento del array a añadir. Ejemplo:

<?php
$a = 1;
$b = array(2, 3);
$arr = array(&$a, &$b[0], &$b[1]);
$arr[0]++; $arr[1]++; $arr[2]++;
/* $a == 2, $b == array(3, 4); */
?>

Observe, sin embargo, que las referencias dentro de arrays son potencialmente peligrosas. Realizar una asignación normal (no por referencia) con una referencia en el lado derecho no convierte el lado izquierdo en una referencia, pero las referencias dentro de arrays son conservadas en estas asignaciones normales. Esto también se aplica a las llamadas a funciones donde el array es pasado por valor. Ejemplo:

<?php
/* Asignación de variables escalares */
$a = 1;
$b =& $a;
$c = $b;
$c = 7; //$c no es una referencia; no cambia $a o $b

/* Asignación de variables de array */
$arr = array(1);
$a =& $arr[0]; // $a y $arr[0] son el mismo conjunto de referencias
$arr2 = $arr; // ¡no es una asignación por referencia!
$arr2[0]++;
/* $a == 2, $arr == array(2) */
/* ¡El contenido de $arr se cambia incluso si no es una referencia! */
?>
En otras palabras, el comportamiento de las referencias de arrays está definido en una base elemento-por-elemento; el comportamiento de las referencias de elementos individuales está desasociado del estado de la referencia del array contenedor.

Pasar por Referencia

Lo segundo que hacen las referencias es pasar variables por referencia. Esto se lleva a cabo haciendo que una variable local en una función y una variable en el ámbito de la llamada referencien al mismo contenido. Ejemplo:

<?php
function foo(&$var)
{
    $var++;
}

$a=5;
foo($a);
?>
hará que $a sea 6. Esto sucede porque en la función foo la variable $var hace referencia al mismo contenido que $a. Para más información sobre esto, lea la sección pasar por referencia.

Devolver por Referencia

Lo tercero que hacen las referncias es devolver por referencia.

¿Qué son las Referencias?
¿Qué NO son las Referencias?
Referencias Explicadas


¿Qué NO son las Referencias?

Como se dijo antes, las referencias no son punteros. Es decir, la siguiente construcción no hará lo que se esperaba:

<?php
function foo(&$var)
{
    $var =& $GLOBALS["baz"];
}
foo($bar);
?>

Lo que sucede es que $var en foo será ligada con $bar en la llamada, pero entonces será religada con $GLOBALS["baz"]. No hay forma de ligar $bar en el ámbito de la llamada a otra cosa usando el mecanismo de referencia, ya que $bar no está disponible en la función foo (está representada por $var, pero $var sólo tiene el contenido de la variable y no la vinculación nombre-a-valor en la tabla de símbolos de llamada). Se puede usar devolver referencias para referencias variables seleccionadas por la función.

¿Qué hacen las referencias?
Pasar por Referencia
Referencias Explicadas


Pasar por Referencia

Se puede pasar una variable por referencia a una función y así hacer que la función pueda modificar la variable. La sintaxis es la siguiente:

<?php
function foo(&$var)
{
    $var++;
}

$a=5;
foo($a);
// $a es 6 aquí
?>

Nota: No existe ningún signo de referencia en una llamada a una función - sólo en la definición de la función. Las definiciones de funciones por sí solas son suficientes para pasar correctamente el argumento por referencia. A partir de PHP 5.3.0, se obtendrá una advertencia diciendo que "call-time pass-by-reference" (pasar por referencia en tiempo de llamada) está obsoleto cuando se use & en foo(&$a);. A partir de PHP 5.4.0, el paso por referencia en tiempo de llamada ha sido eliminado, por lo que su uso emitirá un error fatal.

Se puede pasar por referencia lo siguiente:

  • Variables, esto es, foo($a)
  • Nuevas declaraciones, esto es, foo(new foobar())

  • Referencias devueltas desde funciones, esto es:

    <?php
    function foo(&$var)
    {
            $var++;
    }
    function &    bar()
    {
            $a = 5;
        return     $a;
    }
    foo(bar());
    ?>
    Vea más sobre devolver por referencia.

Ninguna otra expresión debería pasarse por referencia, ya que el resultado no está definido. Por ejemplo, los siguientes ejemplos de pasar por referencia no son válidos:

<?php
function foo(&$var)
{
    $var++;
}
function bar() // Observe que falta el &
{
    $a = 5;
    return $a;
}
foo(bar()); // Produce un error fatal a partir de PHP 5.0.5

foo($a = 5); // Expresión, no una variable
foo(5); // Produce un error fatal
?>
Estos requerimientos son para PHP 4.0.4 y posterior.

¿Qué NO son las Referencias?
Devolver Referencias
Referencias Explicadas


Devolver Referencias

Devolver por referencia es útil cuando se quiere usar una función para encontrar a qué variable debería estar vinculada una referencia. No use devolver por referencia para aumentar el rendimiento. El motor optimizará automáticamente esto por sí mismo. Hay que devolver referencias sólo cuando se tenga una razón técnicamente válida para hacerlo. Para devolver referencias use esta sintaxis:

<?php
class foo {
    public $valor = 42;

    public function &obtenerValor() {
        return $this->valor;
    }
}

$obj = new foo;
$miValor = &$obj->obtenerValor(); // $miValor es una referencia a $obj->valor, que es 42.
$obj->valor = 2;
echo $miValor;                // imprime el nuevo valor de $obj->valor, esto es, 2.
?>
En este ejemplo, la propiedad del objeto devuelto por la función obtenerValor debería estar establecida, no la copia, como si estuviera sin usar la sintaxis de referencia.

Nota: A diferencia de pasar un parámetro, aquí se tiene que usar & en ambos lugares - para indicar que se quiere devolver por referencia, no una copia, y para indicar que la vinculación por referencia, en vez de la asignación normal, debería ser hecha para $miValor.

Nota: Si se intenta devolver una referencia desde una función con la sintaxis: return ($this->valor);, no funcionará ya que se está intentando devolver el resultado de una expresión, y no de una variable, por referencia. Sólo se puede devolver variables por referencia desde una función - nada más. Desde PHP 4.4.0 en la rama PHP 4, y PHP 5.1.0 en la rama PHP 5, se emite un error E_NOTICE si el código intenta devolver una expresión dinámica o un resultado del operador new.

Para usar la referencia retornada, se debe usar la asignación por referencia:

<?php
function &collector() {
  static $collection = array();
  return $collection;
}
$collection = &collector();
$collection[] = 'foo';
?>
Para pasar la referencia retornada a otra función que espera una referencia se puede usar la siguiente sintaxis:
<?php
function &collector() {
  static $collection = array();
  return $collection;
}
array_push(collector(), 'foo');
?>

Nota: Observe que array_push(&collector(), 'foo'); no funcionará, resultará en un error fatal.

Pasar por Referencia
Destruir Referencias
Referencias Explicadas


Destruir Referencias

Cuando se destruye una referencia, se rompe el vínculo entre el nombre de la variable y el contenido de la variable. Esto no significa que el contenido de la variable sea destruida. Por ejemplo:

<?php
$a = 1;
$b =& $a;
unset($a);
?>
no destruirá $b, sólo $a.

De nuevo, podría ser útil pensar en esto como análogo a una llamada a unlink de Unix.

Devolver Referencias
Ubicar las Referencias
Referencias Explicadas


Ubicar las Referencias

Muchas construcciones sintácticas de PHP están implementadas mediante el mecanismo de referencia, por lo que todo lo mencionado aquí sobre la vinculación de referencias también se aplica a estas construcciones. Algunas construcciones, como pasar y devolver por referencia, han sido mencionadas antes. Otras construcciones que usan referencias son:

Referencias globales

Cuando se declara una variable como global $var, de hecho se está creando una referencia a una variable global. Es decir, esto es lo mismo que:

<?php
$var =& $GLOBALS["var"];
?>

Esto también significa que al destruir $var no se destruirá la variable global.

$this

En un método de un objeto, $this es siempre una referencia al objeto que realiza la llamada.

Destruir Referencias
Variables predefinidas
Referencias Explicadas


Variables predefinidas

PHP proporciona una gran cantidad de variables predefinidas para todos los scripts. Las variables representan de todo, desde variables externas hasta variables de entorno incorporadas, desde los últimos mensajes de error hasta los últimos encabezados recuperados.

Véase también la pregunta frecuente titulada "¿Cómo me afecta register_globals?"

Tabla de contenidos

  • Superglobals — Superglobals son variables internas que están disponibles siempre en todos los ámbitos
  • $GLOBALS — Hace referencia a todas las variables disponibles en el ámbito global
  • $_SERVER — Información del entorno del servidor y de ejecución
  • $_GET — Variables HTTP GET
  • $_POST — Variables HTTP POST
  • $_FILES — Variables de Carga de Archivos HTTP
  • $_REQUEST — Variables HTTP Request
  • $_SESSION — Variables de sesión
  • $_ENV — Variables de entorno
  • $_COOKIE — Cookies HTTP
  • $php_errormsg — El mensaje de error anterior
  • $HTTP_RAW_POST_DATA — Datos POST sin tratar
  • $http_response_header — Encabezados de respuesta HTTP
  • $argc — El número de argumentos pasados a un script
  • $argv — Array de argumentos pasados a un script
Ubicar las Referencias
Superglobals
Referencia del lenguaje


Superglobals son variables internas que están disponibles siempre en todos los ámbitos

Variables predefinidas
$GLOBALS
Variables predefinidas
PHP Manual

Superglobals

Superglobals — Superglobals son variables internas que están disponibles siempre en todos los ámbitos

Descripción

Algunas variables predefinidas en PHP son "superglobales", lo que significa que están disponibles en todos los ámbitos a lo largo del script. No es necesario emplear global $variable; para acceder a ellas dentro de las funciones o métodos.

Las variables superglobals son:

  • $GLOBALS
  • $_SERVER
  • $_GET
  • $_POST
  • $_FILES
  • $_COOKIE
  • $_SESSION
  • $_REQUEST
  • $_ENV

Historial de cambios

Versión | Descripción
4.1.0 | Las superglobals son añadidas a PHP.

Notas

Nota: Disponibilidad de variables

Por defecto, todas las superglobals están disponibles pero hay directivas que afectan a su disponibilidad. Para más información, véase la documentacion de variables_order.

Nota: Tratando con register_globals

Si la directiva obsoleta register_globals tiene el valor on entonces las variables están tambien disponibles en el ámbito global del código. Por ejemplo, $_POST['foo'] tambien existirá como $foo.

Para información relacionada, consulte el FAQ titulado "¿Cómo puede afectarme register_globals?"

Nota: Variables variables

Las variables superglobals no pueden ser usadas como variables variables dentro de funciones o métodos de clase.

Ver también

  • ámbito de las variables
  • La directiva variables_order
  • La extensión filter

Variables predefinidas
$GLOBALS
Variables predefinidas


Hace referencia a todas las variables disponibles en el ámbito global

Superglobals
$_SERVER
Variables predefinidas
PHP Manual

$GLOBALS

(PHP 4, PHP 5)

$GLOBALS — Hace referencia a todas las variables disponibles en el ámbito global

Descripción

Es un array asociativo que contiene las referencias a todas la variables que están definidas en el ámbito global del script. Los nombres de las variables son las claves del array.

Ejemplos

Ejemplo #1 Ejemplo de $GLOBALS

<?php
function test() {
    $foo = "variable local";

    echo '$foo en el ámbito global: ' . $GLOBALS["foo"] . "\n";
    echo '$foo en el ámbito simple: ' . $foo . "\n";
}

$foo = "Contenido de ejemplo";
test();
?>

El resultado del ejemplo sería algo similar a:

$foo en el ámbito global: Contenido de ejemplo
$foo en el ámbito simple: variable local

Notas

Nota:

Esta es una 'superglobal' o una variable automatic global. Significa simplemente que es una variable que está disponible en cualquier parte del script. No hace falta hacer global $variable; para acceder a la misma desde funciones o métodos.

Nota: Disponibilidad de las variables

A diferencia de todas las otras superglobals, $GLOBALS ha estado esencialmente siempre disponible en PHP.

Superglobals
$_SERVER
Variables predefinidas


Información del entorno del servidor y de ejecución

$GLOBALS
$_GET
Variables predefinidas
PHP Manual

$_SERVER

$HTTP_SERVER_VARS [obsoleto]

(PHP 4 >= 4.1.0, PHP 5)

$_SERVER -- $HTTP_SERVER_VARS [obsoleto] — Información del entorno del servidor y de ejecución

Descripción

$_SERVER es un array que contiene información, tales como cabeceras, rutas y localizaciones del código. Las entradas en este array son creadas por el servidor web. No existe garantía que cada servidor web proporcione todas estas entradas, ya que existen servidores que pueden omitir algunas o proporcionar otras que no se encuentran recogidas aquí. Un gran número de estas variables se encuentran recogidas en » especificación CGI 1.1, así que al menos debe esperar encontrar estas entradas.

$HTTP_SERVER_VARS contiene la misma información inicial, pero no es una variable superglobal. (Fijese que $HTTP_SERVER_VARS y $_SERVER son diferentes variables y que por tanto PHP las trata diferente).

Índices

Puede encontrar o no los siguientes elementos en $_SERVER. Tenga en cuenta que si ejecuta PHP desde línea de comando pocos o ninguno de los siguientes elementos estarán disponibles (o tendrán algún significado).

'PHP_SELF'
El nombre del archivo de script ejecutándose actualmente, relativa al directorio raíz de documentos del servidor. Por ejemplo, el valor de $_SERVER['PHP_SELF'] en un script ejecutado en la dirección http://example.com/test.php/foo.bar será /test.php/foo.bar. La constante __FILE__ contiene la ruta completa del fichero actual, incluyendo el nombre del archivo. Si PHP se está ejecutando como un proceso de línea de comando, esta variable es el nombre del script desde PHP 4.3.0. En anteriores versiones no estaba disponible.
'argv'
Array de los argumentos enviados al script. Cuando se ejecuta el script en línea de comando se obtiene acceso a los parámetros de línea de comando con un estilo parecido a como sería en C. Cuando se ejecuta el script mediante el método GET, contendrá la cadena de la consulta.
'argc'
Contiene el número de parámetros de línea de comando enviados al script (si se ejecuta en línea de comando).
'GATEWAY_INTERFACE'
Número de revisión de la especificación CGI que está empleando el servidor, por ejemplo 'CGI/1.1'.
'SERVER_ADDR'
La dirección IP del servidor donde se está ejecutando actualmente el script.
'SERVER_NAME'
El nombre del host del servidor donde se está ejecutando actualmente el script. Si el script se ejecuta en un host virtual se obtendrá el valor del nombre definido para dicho host virtual.
'SERVER_SOFTWARE'
Cadena de identificación del servidor dada en las cabeceras de respuesta a las peticiones.
'SERVER_PROTOCOL'
Nombre y número de revisión del protocolo de información a través del cual la página es solicitada, por ejemplo 'HTTP/1.0'.
'REQUEST_METHOD'
Método de petición empleado para acceder a la página, es decir 'GET', 'HEAD', 'POST', 'PUT'.

Nota:

El script de PHP se considera terminado después de enviar las cabeceras (es decir después de producir cualquier resultado sin emplear buffers para el resultado) si el método de la petición empleado era HEAD.

'REQUEST_TIME'
Fecha Unix de inicio de la petición. Disponible desde PHP 5.1.0.
'REQUEST_TIME_FLOAT'
El timestamp del inicio de la solicitud, con precisión microsegundo. Disponible desde PHP 5.4.0.
'QUERY_STRING'
Si existe, la cadena de la consulta de la petición de la página.
'DOCUMENT_ROOT'
El directorio raíz de documentos del servidor en el cual se está ejecutando el script actual, según está definida en el archivo de configuración del servidor.
'HTTP_ACCEPT'
Contenido de la cabecera Accept: de la petición actual, si existe.
'HTTP_ACCEPT_CHARSET'
Contenido de la cabecera Accept-Charset: de la petición actual, si existe. Por ejemplo: 'iso-8859-1,*,utf-8'.
'HTTP_ACCEPT_ENCODING'
Contenido de la cabecera Accept-Encoding: de la petición actual, si existe. Por ejemplo: 'gzip'.
'HTTP_ACCEPT_LANGUAGE'
Contenido de la cabecera Accept-Language: de la petición actual, si existe. Por ejemplo: 'en'.
'HTTP_CONNECTION'
Contenido de la cabecera Connection: de la petición actual, si existe. Por ejemplo: 'Keep-Alive'.
'HTTP_HOST'
Contenido de la cabecera Host: de la petición actual, si existe.
'HTTP_REFERER'
Dirección de la pagina (si la hay) que emplea el agente de usuario para la pagina actual. Es definido por el agente de usuario. No todos los agentes de usuarios lo definen y algunos permiten modificar HTTP_REFERER como parte de su funcionalidad. En resumen, es un valor del que no se puede confiar realmente.
'HTTP_USER_AGENT'
Contenido de la cabecera User-Agent: de la petición actual, si existe. Consiste en una cadena que indica el agente de usuario empleado para acceder a la pagina. Un ejemplo típico es: Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586). Entre otras opciones, puede emplear dicho valor con get_browser() para personalizar el resultado de la salida de la página en función de las capacidades del agente de usuario empleado.
'HTTPS'
Ofrece un valor no vacío si el script es pedido mediante el protocolo HTTPS.

Nota: Tenga en cuenta que si se emplea ISAPI con IIS el valor será off si la petición no se ha realizado a través del protocolo HTTPS.

'REMOTE_ADDR'
La dirección IP desde la cual está viendo la página actual el usuario.
'REMOTE_HOST'
El nombre del host desde el cual está viendo la página actual el usuario. La obtención inversa del dns está basada en la REMOTE_ADDR del usuario.

Nota: Su servidor web debe estar configurado para crear esta variable. Por ejemplo en Apache necesita que exista HostnameLookups On dentro de httpd.conf. Consulte tambien gethostbyaddr().

'REMOTE_PORT'
El puerto empleado por la máquina del usuario para comunicarse con el servidor web.
'REMOTE_USER'
El usuario autenticado.
'REDIRECT_REMOTE_USER'
El usuario autenticado si la petición es redirigida internamente.
'SCRIPT_FILENAME'

La ruta del script ejecutándose actualmente en forma absoluta.

Nota:

Si un script se ejecuta mediante CLI como ruta relativa, como por ejemplo file.php o ../file.php, entonces $_SERVER['SCRIPT_FILENAME'] contendrá la ruta relativa especificada por el usuario.

'SERVER_ADMIN'
El valor dado a la directiva SERVER_ADMIN (de Apache) en el archivo de configuración del servidor web. Si el script se está ejecutando en un host virtual, el valor dado será el definido para dicho host virtual.
'SERVER_PORT'
El puerto de la máquina del servidor usado por el servidor web para la comunicación. Para las configuraciones por omisión, el valor será '80'; el empleo de SSL, por ejemplo, cambiará dicho valor al valor definido para el puerto HTTP seguro.

Nota: Bajo Apache 2, se debe establecer UseCanonicalName = On, así como UseCanonicalPhysicalPort = On para poder obtener el puerto físico (real), de otro modo, este valor podría ser burlado y podría o no devolver el valor del puerto físico. No es seguro confiar en este valor en contextos que requieran seguridad.

'SERVER_SIGNATURE'
Cadena que contiene la versión del servidor y el nombre del host virtual que son añadidas a las páginas generadas por el servidor, si esta habilitada esta funcionalidad.
'PATH_TRANSLATED'
Ruta de acceso basada en el sistema (no en el directorio raíz de documentos del servidor) del script actual, después de cualquier mapeo de virtual a real realizada por el servidor.

Nota: A partir de PHP 4.3.2, PATH_TRANSLATED no está definida de forma implícita en el SAPI de Apache 2, en comparación a la situación de Apache 1, donde era necesario establecer el mismo valor que la variable del servidor SCRIPT_FILENAME cuando no era proporcionada por Apache. Este cambio ha sido realizado para cumplir la especificación CGI donde PATH_TRANSLATED sólo debe existir si PATH_INFO esta definida. Los usuarios de Apache 2 pueden emplear AcceptPathInfo = On dentro de httpd.conf para definir PATH_INFO.

'SCRIPT_NAME'
Contiene la ruta del script actual. Esto es de utilidad para las páginas que necesiten apuntarse a si mismas. La constante __FILE__ contiene la ruta absoluta y el nombre del archivo actual incluido.
'REQUEST_URI'
La URI que se empleó para acceder a la página. Por ejemplo: '/index.html'.
'PHP_AUTH_DIGEST'
Cuando se hace autenticación Digest HTTP, esta variable se establece para el encabezado 'Authorization' enviado por el cliente (el cual se debe entonces usar para hacer la validación apropiada).
'PHP_AUTH_USER'
Cuando se hace autenticación HTTP, esta variable se establece para el nombre de usuario provisto por el usuario.
'PHP_AUTH_PW'
Cuando se hace autenticación HTTP, esta variable se establece para la clave provista por el usuario.
'AUTH_TYPE'
Cuando se hace autenticado HTTP, está variable se establece para el tipo de autenticación.
'PATH_INFO'
Contiene cualquier información sobre la ruta proporcionada por el cliente a continuación del nombre del fichero del script actual pero antecediendo a la cadena de la petición, si existe. Por ejemplo, si el script actual se accede a través de la URL http://www.example.com/php/path_info.php/some/stuff?foo=bar, entonces $_SERVER['PATH_INFO'] contendrá /some/stuff.
'ORIG_PATH_INFO'
Versión original de 'PATH_INFO' antes de ser procesado por PHP.

Historial de cambios

Versión | Descripción
4.1.0 | Se introdujo $_SERVER que deprecaba $HTTP_SERVER_VARS.

Ejemplos

Ejemplo #1 Ejemplo de $_SERVER

<?php
echo $_SERVER['SERVER_NAME'];
?>

El resultado del ejemplo sería algo similar a:

www.example.com

Notas

Nota:

Esta es una 'superglobal' o una variable automatic global. Significa simplemente que es una variable que está disponible en cualquier parte del script. No hace falta hacer global $variable; para acceder a la misma desde funciones o métodos.

Ver también

  • Filtrado de datos

$GLOBALS
$_GET
Variables predefinidas


Variables HTTP GET

$_SERVER
$_POST
Variables predefinidas
PHP Manual

$_GET

$HTTP_GET_VARS [obsoleta]

(PHP 4 >= 4.1.0, PHP 5)

$_GET -- $HTTP_GET_VARS [obsoleta] — Variables HTTP GET

Descripción

Un array asociativo de variables pasado al script actual vía parámetros URL.

$HTTP_GET_VARS contiene la misma información, pero no es una superglobal. (Note que $HTTP_GET_VARS y $_GET son diferentes variables y que PHP los usa de forma diferente)

Historial de cambios

Versión | Descripción
4.1.0 | Se introdujo $_GET y $HTTP_GET_VARS quedó obsoleto.

Ejemplos

Ejemplo #1 Ejemplo de $_GET

<?php
echo 'Hola ' . htmlspecialchars($_GET["nombre"]) . '!';
?>

Asumiendo que el usuario introdujo http://example.com/?nombre=Hannes

El resultado del ejemplo sería algo similar a:

Hola Hannes!

Notas

Nota:

Esta es una 'superglobal' o una variable automatic global. Significa simplemente que es una variable que está disponible en cualquier parte del script. No hace falta hacer global $variable; para acceder a la misma desde funciones o métodos.

Nota:

Las variables GET son pasadas vía urldecode().

Ver también

  • Manejo de variables externas
  • La extensión filter

$_SERVER
$_POST
Variables predefinidas


Variables HTTP POST

$_GET
$_FILES
Variables predefinidas
PHP Manual

$_POST

$HTTP_POST_VARS [obsoleta]

(PHP 4 >= 4.1.0, PHP 5)

$_POST -- $HTTP_POST_VARS [obsoleta] — Variables HTTP POST

Descripción

Un array asociativo de variables pasadas al script actual a través del método HTTP POST.

$HTTP_POST_VARS contiene la misma información inicial, pero no es una superglobal. (Nótese que $HTTP_POST_VARS y $_POST son diferentes variables y que PHP las trata de forma distinta)

Historial de cambios

Versión | Descripción
4.1.0 | Se introdujo $_POST y $HTTP_POST_VARS quedó obsoleta.

Ejemplos

Ejemplo #1 Ejemplo de $_POST

<?php
echo 'Hola ' . htmlspecialchars($_POST["nombre"]) . '!';
?>

Asumiendo que el usuario envió por el método POST nombre=Juan

El resultado del ejemplo sería algo similar a:

Hola Juan!

Notas

Nota:

Esta es una 'superglobal' o una variable automatic global. Significa simplemente que es una variable que está disponible en cualquier parte del script. No hace falta hacer global $variable; para acceder a la misma desde funciones o métodos.

Ver también

  • Tratando con variables externas
  • La extensión filter

$_GET
$_FILES
Variables predefinidas


Variables de Carga de Archivos HTTP

$_POST
$_REQUEST
Variables predefinidas
PHP Manual

$_FILES

$HTTP_POST_FILES [obsoleta]

(PHP 4 >= 4.1.0, PHP 5)

$_FILES -- $HTTP_POST_FILES [obsoleta] — Variables de Carga de Archivos HTTP

Descripción

Una variable tipo array asociativo de elementos cargados al script actual a través del método POST.

$HTTP_POST_FILES contiene la misma información inicial, pero no es una superglobal. (Note que $HTTP_POST_FILES y $_FILES son variables diferentes y que PHP las trata como tal)

Historial de cambios

Versión | Descripción
4.1.0 | Se introdujo $_FILES, haciendo $HTTP_POST_FILES obsoleta.

Notas

Nota:

Esta es una 'superglobal' o una variable automatic global. Significa simplemente que es una variable que está disponible en cualquier parte del script. No hace falta hacer global $variable; para acceder a la misma desde funciones o métodos.

Ver también

  • move_uploaded_file() - Mueve un archivo subido a una nueva ubicación
  • Gestión de Carga de Archivos

$_POST
$_REQUEST
Variables predefinidas


Variables HTTP Request

$_FILES
$_SESSION
Variables predefinidas
PHP Manual

$_REQUEST

(PHP 4 >= 4.1.0, PHP 5)

$_REQUEST — Variables HTTP Request

Descripción

Un array asociativo que por defecto contiene el contenido de $_GET, $_POST y $_COOKIE.

Historial de cambios

Versión | Descripción
5.3.0 | Se introdujo request_order. Esta directiva afecta al contenido de $_REQUEST.
4.3.0 | Se eliminó la información $_FILES de $_REQUEST.
4.1.0 | Se introdujo $_REQUEST.

Notas

Nota:

Esta es una 'superglobal' o una variable automatic global. Significa simplemente que es una variable que está disponible en cualquier parte del script. No hace falta hacer global $variable; para acceder a la misma desde funciones o métodos.

Nota:

Cuando se ejecuta en la línea de comandos , no se incluirán las entradas argv y argc; ya que están presentes en el array $_SERVER

Nota:

Las variables en $_REQUEST se proporcionan al script a través de los mecanismos de entrada GET, POST, y COOKIE y por lo tanto pueden ser manipulados por el usuario remoto y no debe confiar en el contenido. La presencia y el orden de las variables listadas en este array se definen según la directiva de configuración PHP variables_order.

Ver también

  • import_request_variables() - Importar variables GET/POST/Cookie en el ámbito global
  • Tratando con variables externas
  • La extensión filter
$_FILES
$_SESSION
Variables predefinidas


Variables de sesión

$_REQUEST
$_ENV
Variables predefinidas
PHP Manual

$_SESSION

$HTTP_SESSION_VARS [obsoleta]

(PHP 4 >= 4.1.0, PHP 5)

$_SESSION -- $HTTP_SESSION_VARS [obsoleta] — Variables de sesión

Descripción

Es un array asociativo que contiene variables de sesión disponibles para el script actual. Ver la documentación de Funciones de sesión para más información sobre su uso.

$HTTP_SESSION_VARS contiene la misma información inicial pero no es una superglobal. (Nótese que $HTTP_SESSION_VARS y $_SESSION son diferentes variables y PHP las trata de forma distinta)

Historial de cambios

Versión | Descripción
4.1.0 | Se introdujo $_SESSION y $HTTP_SESSION_VARS quedó absoleta.

Notas

Nota:

Esta es una 'superglobal' o una variable automatic global. Significa simplemente que es una variable que está disponible en cualquier parte del script. No hace falta hacer global $variable; para acceder a la misma desde funciones o métodos.

Ver también

  • session_start() - Iniciar una nueva sesión o reanudar la existente

$_REQUEST
$_ENV
Variables predefinidas


Variables de entorno

$_SESSION
$_COOKIE
Variables predefinidas
PHP Manual

$_ENV

$HTTP_ENV_VARS [obsoleta]

(PHP 4 >= 4.1.0, PHP 5)

$_ENV -- $HTTP_ENV_VARS [obsoleta] — Variables de entorno

Descripción

Una variable tipo array asociativo de variables pasadas al script actual a través del método del entorno.

Estas variables son importadas en el espacio de nombres global de PHP desde el entorno bajo el que está siendo ejecutado el intérprete PHP. Muchas son entregadas por el intérprete de comandos bajo el que PHP está corriendo y diferentes sistemas suelen tener diferentes tipos de intérpretes de comandos, una lista definitiva es imposible. Por favor consulte la documentación de su intérprete de comandos para una lista de las variables de entorno que se definen.

Otras variables de entorno incluyen las variables CGI, colocadas allí independientemente de que PHP esté siendo ejecutado como módulo del servidor o procesador CGI.

$HTTP_ENV_VARS contiene la misma información inicial, pero no es una superglobal. (Note que $HTTP_ENV_VARS y $_ENV son variables diferentes y que PHP las trata como tal)

Historial de cambios

Versión | Descripción
4.1.0 | Se introdujo $_ENV, haciendo $HTTP_ENV_VARS obsoleta.

Ejemplos

Ejemplo #1 Ejemplo de $_ENV

<?php
echo '¡Mi nombre de usuario es ' . $_ENV["USER"] . '!';
?>

Asumiendo que "bjori" ejecuta este script

El resultado del ejemplo sería algo similar a:

¡Mi nombre de usuario es bjori!

Notas

Nota:

Esta es una 'superglobal' o una variable automatic global. Significa simplemente que es una variable que está disponible en cualquier parte del script. No hace falta hacer global $variable; para acceder a la misma desde funciones o métodos.

Ver también

  • getenv() - Obtiene el valor de una variable de entorno
  • La extensión filter

$_SESSION
$_COOKIE
Variables predefinidas


Cookies HTTP

$_ENV
$php_errormsg
Variables predefinidas
PHP Manual

$_COOKIE

$HTTP_COOKIE_VARS [obsoleta]

(PHP 4 >= 4.1.0, PHP 5)

$_COOKIE -- $HTTP_COOKIE_VARS [obsoleta] — Cookies HTTP

Descripción

Una variable tipo array asociativo de variables pasadas al script actual a través de Cookies HTTP.

$HTTP_COOKIE_VARS contiene la misma información inicial, pero no es una superglobal. (Note que $HTTP_COOKIE_VARS y $_COOKIE son variables diferentes y que PHP las trata como tal)

Historial de cambios

Versión | Descripción
4.1.0 | Se introdujo $_COOKIE, haciendo $HTTP_COOKIE_VARS obsoleta.

Ejemplos

Ejemplo #1 Ejemplo de $_COOKIE

<?php
echo '¡Hola ' . htmlspecialchars($_COOKIE["nombre"]) . '!';
?>

Asumiendo que la cookie "nombre" ha sido definida anteriormente

El resultado del ejemplo sería algo similar a:

¡Hola Juan!

Notas

Nota:

Esta es una 'superglobal' o una variable automatic global. Significa simplemente que es una variable que está disponible en cualquier parte del script. No hace falta hacer global $variable; para acceder a la misma desde funciones o métodos.

Ver también

  • setcookie() - Enviar una cookie
  • Gestión de variables externas
  • La extensión filter

$_ENV
$php_errormsg
Variables predefinidas


El mensaje de error anterior

$_COOKIE
$HTTP_RAW_POST_DATA
Variables predefinidas
PHP Manual

$php_errormsg

(PHP 4, PHP 5)

$php_errormsg — El mensaje de error anterior

Descripción

$php_errormsg es una variable que contiene el texto del último mensaje de error generado por PHP. Esta variable solo estará disponible dentro del ámbito donde ocurrió el error, y solamente funcionará si la opción de configuración track_errors está activada (por defecto es 'off').

Advertencia

Si está definido un gestor de errores ( set_error_handler()), $php_errormsg estará establecido solamente si el gestor de errores devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de $php_errormsg

<?php
@strpos();
echo $php_errormsg;
?>

El resultado del ejemplo sería algo similar a:

Wrong parameter count for strpos()

$_COOKIE
$HTTP_RAW_POST_DATA
Variables predefinidas


Datos POST sin tratar

$php_errormsg
$http_response_header
Variables predefinidas
PHP Manual

$HTTP_RAW_POST_DATA

(PHP 4, PHP 5)

$HTTP_RAW_POST_DATA — Datos POST sin tratar

Descripción

$HTTP_RAW_POST_DATA contiene los datos POST sin tratar. Véase always_populate_raw_post_data

$php_errormsg
$http_response_header
Variables predefinidas


Encabezados de respuesta HTTP

$HTTP_RAW_POST_DATA
$argc
Variables predefinidas
PHP Manual

$http_response_header

(PHP 4 >= 4.0.4, PHP 5)

$http_response_header — Encabezados de respuesta HTTP

Descripción

El array $http_response_header es similar a la functión get_headers(). Cuando se hace uso de HTTP wrapper, $http_response_header será poblado con los encabezados de respuesta HTTP. $http_response_header será creada en el ámbito global.

Ejemplos

Ejemplo #1 Ejemplo de $http_response_header

<?php
function get_contents() {
  file_get_contents("http://example.com");
  var_dump($http_response_header);
}
get_contents();
var_dump($http_response_header);
?>

El resultado del ejemplo sería algo similar a:

array(9) {
  [0]=>
  string(15) "HTTP/1.1 200 OK"
  [1]=>
  string(35) "Date: Sat, 12 Apr 2008 17:30:38 GMT"
  [2]=>
  string(29) "Server: Apache/2.2.3 (CentOS)"
  [3]=>
  string(44) "Last-Modified: Tue, 15 Nov 2005 13:24:10 GMT"
  [4]=>
  string(27) "ETag: "280100-1b6-80bfd280""
  [5]=>
  string(20) "Accept-Ranges: bytes"
  [6]=>
  string(19) "Content-Length: 438"
  [7]=>
  string(17) "Connection: close"
  [8]=>
  string(38) "Content-Type: text/html; charset=UTF-8"
}
NULL

$HTTP_RAW_POST_DATA
$argc
Variables predefinidas


El número de argumentos pasados a un script

$http_response_header
$argv
Variables predefinidas
PHP Manual

$argc

(PHP 4, PHP 5)

$argc — El número de argumentos pasados a un script

Descripción

Contiene el número de argumentos pasados al script actual cuando se ejecuta desde la línea de comandos.

Nota: El nombre del script es pasado siempre como argumento del script, por lo tanto, el valor mínimo de $argc es 1.

Nota: Esta variable sólo está disponible cuando register_argc_argv está activado.

Ejemplos

Ejemplo #1 Ejemplo de $argc

<?php
var_dump($argc);
?>

Cuando se ejecuta el ejemplo con: php script.php arg1 arg2 arg3

El resultado del ejemplo sería algo similar a:

int(4)

$http_response_header
$argv
Variables predefinidas


Array de argumentos pasados a un script

$argc
Excepciones predefinidas
Variables predefinidas
PHP Manual

$argv

(PHP 4, PHP 5)

$argv — Array de argumentos pasados a un script

Descripción

Contiene un array de todos los argumentos pasados a un script cuando se ejecuta desde la línea de comandos.

Nota: El primer argumento $argv[0] siempre es el nombre del fichero que fue usado para ejecutar el script.

Nota: Esta variable no está disponible si register_argc_argv está deshabilitado.

Ejemplos

Ejemplo #1 Ejemplo de $argv

<?php
var_dump($argv);
?>

Cuando se ejecuta el ejemplo con: php script.php arg1 arg2 arg3

El resultado del ejemplo sería algo similar a:

array(4) {
  [0]=>
  string(10) "script.php"
  [1]=>
  string(4) "arg1"
  [2]=>
  string(4) "arg2"
  [3]=>
  string(4) "arg3"
}

Ver también

  • getopt() - Obtiene las opciones de la lista de argumentos de la línea de comandos

$argc
Excepciones predefinidas
Variables predefinidas


Excepciones predefinidas

Tabla de contenidos

  • Exception
  • ErrorException

Ver también las Excepciones SPL

$argv
Exception
Referencia del lenguaje


Exception

(PHP 5 >= 5.1.0)

Introducción

Exception es la clase base para todas las excepciones.

Sinopsis de la Clase

Exception {
/* Propiedades */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos */
public __construct ([ string $message = "" [, int $code = 0 [, Exception $previous = NULL ]]] )
final public string getMessage ( void )
final public Exception getPrevious ( void )
final public mixed getCode ( void )
final public string getFile ( void )
final public int getLine ( void )
final public array getTrace ( void )
final public string getTraceAsString ( void )
public string __toString ( void )
final private void __clone ( void )
}

Propiedades

message

El mensaje de la excepción

code

El código de la excepción

file

El nombre del fichero donde se originó la excepción

line

La línea donde se originó la excepción

Tabla de contenidos

  • Exception::__construct — Constructor de la excepción
  • Exception::getMessage — Obtiene el mensaje de Excepción
  • Exception::getPrevious — Devuelve la excepción anterior
  • Exception::getCode — Obtiene el código de Excepción
  • Exception::getFile — Obtiene el fichero en el que ocurrió la excepción
  • Exception::getLine — Obtiene la línea en donde ocurrió la excepción
  • Exception::getTrace — Obtiene el seguimiento de la pila
  • Exception::getTraceAsString — Obtiene el stack trace como cadena
  • Exception::__toString — Representación de la excepción en formato cadena
  • Exception::__clone — Clona la excepción
Excepciones predefinidas
Exception::__construct
Excepciones predefinidas


Constructor de la excepción

Exception
Exception::getMessage
Exception
PHP Manual

Exception::__construct

(PHP 5 >= 5.1.0)

Exception::__construct — Constructor de la excepción

Descripción

public Exception::__construct() ([ string $message = "" [, int $code = 0 [, Exception $previous = NULL ]]] )

Construye la Excepción.

Parámetros

message

Mensaje de la Excepción a lanzar.

code

El código de la Excepción.

previous

La excepción previa usada por el encadenado de la excepción.

Historial de cambios

Versión | Descripción
5.3.0 | Se añadió el parámetro previous.

Notas

Nota:

El message NO es seguro binariamente.

Exception
Exception::getMessage
Exception


Obtiene el mensaje de Excepción

Exception::__construct
Exception::getPrevious
Exception
PHP Manual

Exception::getMessage

(PHP 5 >= 5.1.0)

Exception::getMessage — Obtiene el mensaje de Excepción

Descripción

final public string Exception::getMessage ( void )

Devuelve el mensaje de Excepción.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el mensaje de Excepción en formato cadena.

Ejemplos

Ejemplo #1 Ejemplo de Exception::getMessage()

<?php
try {
    throw new Exception("Algún mensaje de error");
} catch(Exception $e) {
    echo $e->getMessage();
}
?>

El resultado del ejemplo sería algo similar a:

Algún mensaje de error

Exception::__construct
Exception::getPrevious
Exception


Devuelve la excepción anterior

Exception::getMessage
Exception::getCode
Exception
PHP Manual

Exception::getPrevious

(PHP 5 >= 5.3.0)

Exception::getPrevious — Devuelve la excepción anterior

Descripción

final public Exception Exception::getPrevious ( void )

Devuelve la excepción anterior (el tercer parámetro de Exception::__construct()).

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la Exception anterior si está disponible o NULL en caso contrario.

Ejemplos

Ejemplo #1 Ejemplo de Exception::getPrevious()

Recorre, e imprime, el rastreo de excepciones.

<?php
class MiExcepciónPersonalizada extends Exception {}

function hacerCosas() {
    try {
        throw new InvalidArgumentException("¡Lo está haciendo mal!", 112);
    } catch(Exception $e) {
        throw new MiExcepciónPersonalizada("Ocurrió algo", 911, $e);
    }
}

try {
    hacerCosas();
} catch(Exception $e) {
    do {
        printf("%s:%d %s (%d) [%s]\n", $e->getFile(), $e->getLine(), $e->getMessage(), $e->getCode(), get_class($e));
    } while($e = $e->getPrevious());
}
?>

El resultado del ejemplo sería algo similar a:

/home/bjori/ex.php:8 Ocurrió algo (911) [MiExcepciónPersonalizada]
/home/bjori/ex.php:6 ¡Lo está haciendo mal! (112) [InvalidArgumentException]

Exception::getMessage
Exception::getCode
Exception


Obtiene el código de Excepción

Exception::getPrevious
Exception::getFile
Exception
PHP Manual

Exception::getCode

(PHP 5 >= 5.1.0)

Exception::getCode — Obtiene el código de Excepción

Descripción

final public mixed Exception::getCode ( void )

Devuelve el código de Excepción.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el código de Excepción en forma de integer en Exception pero posiblemente en forma de otros tipos en Exception descendientes (por ejemplo como string en PDOException).

Ejemplos

Ejemplo #1 Ejemplo de Exception::getCode()

<?php
try {
    throw new Exception("Un mensaje de error", 30);
} catch(Exception $e) {
    echo "El código de excepción es: " . $e->getCode();
}
?>

El resultado del ejemplo sería algo similar a:

El código de excepción es: 30

Exception::getPrevious
Exception::getFile
Exception


Obtiene el fichero en el que ocurrió la excepción

Exception::getCode
Exception::getLine
Exception
PHP Manual

Exception::getFile

(PHP 5 >= 5.1.0)

Exception::getFile — Obtiene el fichero en el que ocurrió la excepción

Descripción

final public string Exception::getFile ( void )

Obtiene el nombre del fichero desde donde fue creada la excepción.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el nombre del fichero en donde fue creada la excepción.

Ejemplos

Ejemplo #1 Ejemplo de Exception::getFile()

<?php
try {
    throw new Exception;
} catch(Exception $e) {
    echo $e->getFile();
}
?>

El resultado del ejemplo sería algo similar a:

/home/bjori/tmp/ex.php

Exception::getCode
Exception::getLine
Exception


Obtiene la línea en donde ocurrió la excepción

Exception::getFile
Exception::getTrace
Exception
PHP Manual

Exception::getLine

(PHP 5 >= 5.1.0)

Exception::getLine — Obtiene la línea en donde ocurrió la excepción

Descripción

final public int Exception::getLine ( void )

Devuelve el número de la línea donde se creó la excepción.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el número de la línea donde se creó la excepción.

Ejemplos

Ejemplo #1 Ejemplo de Exception::getLine()

<?php
try {
    throw new Exception("Algún mensaje de error");
} catch(Exception $e) {
    echo "La excepción se creó en la línea: " . $e->getLine();
}
?>

El resultado del ejemplo sería algo similar a:

La excepción se creó en la línea: 3

Exception::getFile
Exception::getTrace
Exception


Obtiene el seguimiento de la pila

Exception::getLine
Exception::getTraceAsString
Exception
PHP Manual

Exception::getTrace

(PHP 5 >= 5.1.0)

Exception::getTrace — Obtiene el seguimiento de la pila

Descripción

final public array Exception::getTrace ( void )

Devuelve el seguimiento de pila de excepción.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el seguimiento de pila de excepción como un array.

Ejemplos

Ejemplo #1 Exception::getTrace() example

<?php
function test() {
 throw new Exception;
}

try {
 test();
} catch(Exception $e) {
 var_dump($e->getTrace());
}
?>

El resultado del ejemplo sería algo similar a:

array(1) {
  [0]=>
  array(4) {
    ["file"]=>
    string(22) "/home/bjori/tmp/ex.php"
    ["line"]=>
    int(7)
    ["function"]=>
    string(4) "test"
    ["args"]=>
    array(0) {
    }
  }
}

Exception::getLine
Exception::getTraceAsString
Exception


Obtiene el stack trace como cadena

Exception::getTrace
Exception::__toString
Exception
PHP Manual

Exception::getTraceAsString

(PHP 5 >= 5.1.0)

Exception::getTraceAsString — Obtiene el stack trace como cadena

Descripción

final public string Exception::getTraceAsString ( void )

Devuelve el stack trace de la Excepción como cadena.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el stack trace de la Excepción como cadena.

Ejemplos

Ejemplo #1 Ejemplo de Exception::getTraceAsString()

<?php
function test() {
    throw new Exception;
}

try {
    test();
} catch(Exception $e) {
    echo $e->getTraceAsString();
}
?>

El resultado del ejemplo sería algo similar a:

#0 /home/bjori/tmp/ex.php(7): test()
#1 {main}

Exception::getTrace
Exception::__toString
Exception


Representación de la excepción en formato cadena

Exception::getTraceAsString
Exception::__clone
Exception
PHP Manual

Exception::__toString

(PHP 5 >= 5.1.0)

Exception::__toString — Representación de la excepción en formato cadena

Descripción

public string Exception::__toString ( void )

Devuelve la representación de la excepción en formato string.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la representación de la excepción en formato string.

Ejemplos

Ejemplo #1 Ejemplo de Exception::__toString()

<?php
try {
    throw new Exception("Some error message");
} catch(Exception $e) {
    echo $e;
}
?>

El resultado del ejemplo sería algo similar a:

exception 'Exception' with message 'Some error message' in /home/bjori/tmp/ex.php:3
Stack trace:
#0 {main}

Exception::getTraceAsString
Exception::__clone
Exception


Clona la excepción

Exception::__toString
ErrorException
Exception
PHP Manual

Exception::__clone

(PHP 5 >= 5.1.0)

Exception::__clone — Clona la excepción

Descripción

final private void Exception::__clone ( void )

Intenta clonar la Excepción, lo que resultará en un error Fatal.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Las Excepciones no se pueden clonar.

Exception::__toString
ErrorException
Exception


ErrorException

(PHP 5 >= 5.1.0)

Introducción

Una excepción de error.

Sinopsis de la Clase

ErrorException extends Exception {
/* Propiedades */
protected int $severity ;
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos */
public __construct ([ string $message = "" [, int $code = 0 [, int $severity = 1 [, string $filename = __FILE__ [, int $lineno = __LINE__ [, Exception $previous = NULL ]]]]]] )
final public int getSeverity ( void )
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Propiedades

severity

La gravedad de la excepción

Ejemplos

Ejemplo #1 Use set_error_handler() para convertir mensajes de error en objetos ErrorException.

<?php
function exception_error_handler($errno, $errstr, $errfile, $errline ) {
    throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
}
set_error_handler("exception_error_handler");

/* Desencadenar la excepción */
strpos();
?>

El resultado del ejemplo sería algo similar a:

Fatal error: Uncaught exception 'ErrorException' with message 'Wrong parameter count for strpos()' in /home/bjori/tmp/ex.php:8
Stack trace:
#0 [internal function]: exception_error_handler(2, 'Wrong parameter...', '/home/bjori/php...', 8, Array)
#1 /home/bjori/php/cleandocs/test.php(8): strpos()
#2 {main}
  thrown in /home/bjori/tmp/ex.php on line 8

Tabla de contenidos

  • ErrorException::__construct — Constructor de la Excepción
  • ErrorException::getSeverity — Obtiene la severidad de la excepción
Exception::__clone
ErrorException::__construct
Excepciones predefinidas


Constructor de la Excepción

ErrorException
ErrorException::getSeverity
ErrorException
PHP Manual

ErrorException::__construct

(PHP 5 >= 5.1.0)

ErrorException::__construct — Constructor de la Excepción

Descripción

public ErrorException::__construct() ([ string $message = "" [, int $code = 0 [, int $severity = 1 [, string $filename = __FILE__ [, int $lineno = __LINE__ [, Exception $previous = NULL ]]]]]] )

Construye la Excepción.

Parámetros

message

Mensaje de la Excepción a lanzar.

code

El código de la Excepción.

severity

Nivel de la severidad de la Excepción.

filename

Nombre del fichero donde se lanzó la Excepción.

lineno

Número de la línea donde se produjo la excepción.

previous

La anterior excepción utilizada para la excepción de encadenamiento.

Historial de cambios

Versión | Descripción
5.3.0 | El parámetro previous fue añadido.

ErrorException
ErrorException::getSeverity
ErrorException


Obtiene la severidad de la excepción

ErrorException::__construct
Interfaces y clases predefinidas
ErrorException
PHP Manual

ErrorException::getSeverity

(PHP 5 >= 5.1.0)

ErrorException::getSeverity — Obtiene la severidad de la excepción

Descripción

final public int ErrorException::getSeverity ( void )

Devuelve la severidad de la excepción.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el nivel de la severidad de la excepción.

Ejemplos

Ejemplo #1 Ejemplo de ErrorException::getSeverity()

<?php
try {
    throw new ErrorException("Exception message", 0, 75);
} catch(ErrorException $e) {
    echo "La severidad de la excepción es: " . $e->getSeverity();
}
?>

El resultado del ejemplo sería algo similar a:

La severidad de la excepción es: 75

ErrorException::__construct
Interfaces y clases predefinidas
ErrorException


Interfaces y clases predefinidas

Tabla de contenidos

  • Traversable
  • Iterator
  • IteratorAggregate
  • ArrayAccess
  • Serializable
  • Closure
  • Generator

Véase también las interfaces de SPL y las clases reservadas.

ErrorException::getSeverity
Traversable
Referencia del lenguaje


La interfaz Traversable

(PHP 5 >= 5.0.0)

Introducción

Interfaz para detectar si una clase puede ser recorrida mediante foreach.

Una interfaz abstracta base no puede ser implementada sola. En su lugar, debe ser implementada con IteratorAggregate o con Iterator.

Nota:

Las clases internas que implementan esta interfaz pueden ser usadas en una construcción foreach y no necesitan implementar IteratorAggregate o Iterator.

Nota:

Este es un motor interno de interfaz que no puede ser implementado en scripts de PHP. Se debe emplear en su lugar o IteratorAggregate, o bien Iterator. Cuando se implementa una interfaz que extiende a Traversable, asegúrese de enumerara IteratorAggregate o Iterator antes de su nombre en la cláusula de implementación.

Sinopsis de la Interfaz

Traversable {
}

Esta interfaz no tiene métodos; su único propósito es servir de interfaz base para todas las clases que se pueden recorrer.

Interfaces y clases predefinidas
Iterator
Interfaces y clases predefinidas


La interfaz Iterator

(PHP 5 >= 5.0.0)

Introducción

Interfaz para iteradores externos u objetos que pueden ser iterados internamente por sí mismos.

Sinopsis de la Interfaz

Iterator extends Traversable {
/* Métodos */
abstract public mixed current ( void )
abstract public scalar key ( void )
abstract public void next ( void )
abstract public void rewind ( void )
abstract public boolean valid ( void )
}

Iteradores Predefinidos

PHP ya ofrece un número de iteradores para muchas de las tareas del día a día. Véase la lista de iteradores SPL.

Ejemplos

Ejemplo #1 Uso básico

Este ejemplo muestra el orden en el que se llaman a los métodos cuando se emplea un foreach con un iterator.

<?php
class myIterator implements Iterator {
    private $position = 0;
    private $array = array(
        "firstelement",
        "secondelement",
        "lastelement",
    );

    public function __construct() {
        $this->position = 0;
    }

    function rewind() {
        var_dump(__METHOD__);
        $this->position = 0;
    }

    function current() {
        var_dump(__METHOD__);
        return $this->array[$this->position];
    }

    function key() {
        var_dump(__METHOD__);
        return $this->position;
    }

    function next() {
        var_dump(__METHOD__);
        ++$this->position;
    }

    function valid() {
        var_dump(__METHOD__);
        return isset($this->array[$this->position]);
    }
}

$it = new myIterator;

foreach($it as $key => $value) {
    var_dump($key, $value);
    echo "\n";
}
?>

El resultado del ejemplo sería algo similar a:

string(18) "myIterator::rewind"
string(17) "myIterator::valid"
string(19) "myIterator::current"
string(15) "myIterator::key"
int(0)
string(12) "firstelement"

string(16) "myIterator::next"
string(17) "myIterator::valid"
string(19) "myIterator::current"
string(15) "myIterator::key"
int(1)
string(13) "secondelement"

string(16) "myIterator::next"
string(17) "myIterator::valid"
string(19) "myIterator::current"
string(15) "myIterator::key"
int(2)
string(11) "lastelement"

string(16) "myIterator::next"
string(17) "myIterator::valid"

Tabla de contenidos

  • Iterator::current — Devuelve el elemento actual
  • Iterator::key — Devuelve la clave del elemento actual
  • Iterator::next — Avanza al siguiente elemento
  • Iterator::rewind — Rebobine la Iterator al primer elemento
  • Iterator::valid — Comprueba si la posición actual es válido
Traversable
Iterator::current
Interfaces y clases predefinidas


Devuelve el elemento actual

Iterator
Iterator::key
Iterator
PHP Manual

Iterator::current

(PHP 5 >= 5.0.0)

Iterator::current — Devuelve el elemento actual

Descripción

abstract public mixed Iterator::current ( void )

Devuelve el elemento actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Puede devolver cualquier tipo.

Iterator
Iterator::key
Iterator


Devuelve la clave del elemento actual

Iterator::current
Iterator::next
Iterator
PHP Manual

Iterator::key

(PHP 5 >= 5.0.0)

Iterator::key — Devuelve la clave del elemento actual

Descripción

abstract public scalar Iterator::key ( void )

Devuelve la clave del elemento actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve scalar en caso de éxito, o NULL en caso de error.

Errores/Excepciones

Muestra un E_NOTICE en caso de error.

Iterator::current
Iterator::next
Iterator


Avanza al siguiente elemento

Iterator::key
Iterator::rewind
Iterator
PHP Manual

Iterator::next

(PHP 5 >= 5.0.0)

Iterator::next — Avanza al siguiente elemento

Descripción

abstract public void Iterator::next ( void )

Avanza la posición actual al siguiente elemento.

Nota:

El método es llamado después de cada foreach loop.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El valor devuelto es ignorado.

Iterator::key
Iterator::rewind
Iterator


Rebobine la Iterator al primer elemento

Iterator::next
Iterator::valid
Iterator
PHP Manual

Iterator::rewind

(PHP 5 >= 5.0.0)

Iterator::rewind — Rebobine la Iterator al primer elemento

Descripción

abstract public void Iterator::rewind ( void )

Rebobina de nuevo al primer elemento de la Iterator.

Nota:

Este es el primer método llamado cuando se inicia un foreach bucle. No va a ser ejecutado despues foreach bucle.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Cualquier valor devuelto se pasa por alto.

Iterator::next
Iterator::valid
Iterator


Comprueba si la posición actual es válido

Iterator::rewind
IteratorAggregate
Iterator
PHP Manual

Iterator::valid

(PHP 5 >= 5.0.0)

Iterator::valid — Comprueba si la posición actual es válido

Descripción

abstract public boolean Iterator::valid ( void )

Este método se llama después de Iterator::rewind() y Iterator::next() para comprobar si la posición actual es válido.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El valor de retorno se debe fundir a boolean y luego evaluar. Devuelve TRUE en caso de éxito o FALSE en caso de error.

Iterator::rewind
IteratorAggregate
Iterator


La interfaz IteratorAggregate

(PHP 5 >= 5.0.0)

Introducción

Para crear una interfaz externa Iterator.

Sinopsis de la Interfaz

IteratorAggregate extends Traversable {
/* Métodos */
abstract public Traversable getIterator ( void )
}

Ejemplo #1 Uso básico

<?php
class myData implements IteratorAggregate {
    public $property1 = "Public property one";
    public $property2 = "Public property two";
    public $property3 = "Public property three";

    public function __construct() {
        $this->property4 = "last property";
    }

    public function getIterator() {
        return new ArrayIterator($this);
    }
}

$obj = new myData;

foreach($obj as $key => $value) {
    var_dump($key, $value);
    echo "\n";
}
?>

El resultado del ejemplo sería algo similar a:

string(9) "property1"
string(19) "Public property one"

string(9) "property2"
string(19) "Public property two"

string(9) "property3"
string(21) "Public property three"

string(9) "property4"
string(13) "last property"

Tabla de contenidos

  • IteratorAggregate::getIterator — Recuperar un Iterator externo
Iterator::valid
IteratorAggregate::getIterator
Interfaces y clases predefinidas


Recuperar un Iterator externo

IteratorAggregate
ArrayAccess
IteratorAggregate
PHP Manual

IteratorAggregate::getIterator

(PHP 5 >= 5.0.0)

IteratorAggregate::getIterator — Recuperar un Iterator externo

Descripción

abstract public Traversable IteratorAggregate::getIterator ( void )

Devuelve un iterador externo.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Una instancia de un objeto que implementa Iterator o Traversable

Errores/Excepciones

Lanza una Exception en caso de fallo.

IteratorAggregate
ArrayAccess
IteratorAggregate


La interfaz ArrayAccess

(PHP 5 >= 5.0.0)

Introducción

Interfaz para proporcionar acceso a objetos como arrays.

Sinopsis de la Interfaz

ArrayAccess {
/* Métodos */
abstract public boolean offsetExists ( mixed $offset )
abstract public mixed offsetGet ( mixed $offset )
abstract public void offsetSet ( mixed $offset , mixed $value )
abstract public void offsetUnset ( mixed $offset )
}

Ejemplo #1 Uso básico

<?php
class obj implements arrayaccess {
    private $container = array();
    public function __construct() {
        $this->container = array(
            "one"   => 1,
            "two"   => 2,
            "three" => 3,
        );
    }
    public function offsetSet($offset, $value) {
        if (is_null($offset)) {
            $this->container[] = $value;
        } else {
            $this->container[$offset] = $value;
        }
    }
    public function offsetExists($offset) {
        return isset($this->container[$offset]);
    }
    public function offsetUnset($offset) {
        unset($this->container[$offset]);
    }
    public function offsetGet($offset) {
        return isset($this->container[$offset]) ? $this->container[$offset] : null;
    }
}

$obj = new obj;

var_dump(isset($obj["two"]));
var_dump($obj["two"]);
unset($obj["two"]);
var_dump(isset($obj["two"]));
$obj["two"] = "A value";
var_dump($obj["two"]);
$obj[] = 'Append 1';
$obj[] = 'Append 2';
$obj[] = 'Append 3';
print_r($obj);
?>

El resultado del ejemplo sería algo similar a:

bool(true)
int(2)
bool(false)
string(7) "A value"
obj Object
(
    [container:obj:private] => Array
        (
            [one] => 1
            [three] => 3
            [two] => A value
            [0] => Append 1
            [1] => Append 2
            [2] => Append 3
        )

)

Tabla de contenidos

  • ArrayAccess::offsetExists — Comprobar si existe o no un índice
  • ArrayAccess::offsetGet — Offset para recuperar
  • ArrayAccess::offsetSet — Inicializa un offset
  • ArrayAccess::offsetUnset — Destruye un offset
IteratorAggregate::getIterator
ArrayAccess::offsetExists
Interfaces y clases predefinidas


Comprobar si existe o no un índice

ArrayAccess
ArrayAccess::offsetGet
ArrayAccess
PHP Manual

ArrayAccess::offsetExists

(PHP 5 >= 5.0.0)

ArrayAccess::offsetExists — Comprobar si existe o no un índice

Descripción

abstract public boolean ArrayAccess::offsetExists ( mixed $offset )

Comprueba si existe o no un índice.

Este método se ejecuta cuando se utilizan las funciones isset() o empty() sobre los objetos ArrayAccess.

Nota:

Cuando se utiliza empty() ArrayAccess::offsetGet() se puede llamar y comprobar si está vacío sólo si ArrayAccess::offsetExists() devuelve TRUE.

Parámetros

offset

El índice a ser comprobado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Nota:

El valor de retorno se debe forzar a boolean si no devuelve un valor boleano.

Ejemplos

Ejemplo #1 Ejemplo de ArrayAccess::offsetExists()

<?php
class obj implements arrayaccess {
    public function offsetSet($offset, $value) {
        var_dump(__METHOD__);
    }
    public function offsetExists($var) {
        var_dump(__METHOD__);
        if ($var == "foobar") {
            return true;
        }
        return false;
    }
    public function offsetUnset($var) {
        var_dump(__METHOD__);
    }
    public function offsetGet($var) {
        var_dump(__METHOD__);
        return "value";
    }
}

$obj = new obj;

echo "Runs obj::offsetExists()\n";
var_dump(isset($obj["foobar"]));

echo "\nRuns obj::offsetExists() and obj::offsetGet()\n";
var_dump(empty($obj["foobar"]));

echo "\nRuns obj::offsetExists(), *not* obj:offsetGet() as there is nothing to get\n";
var_dump(empty($obj["foobaz"]));
?>

El resultado del ejemplo sería algo similar a:

Runs obj::offsetExists()
string(17) "obj::offsetExists"
bool(true)

Runs obj::offsetExists() and obj::offsetGet()
string(17) "obj::offsetExists"
string(14) "obj::offsetGet"
bool(false)

Runs obj::offsetExists(), *not* obj:offsetGet() as there is nothing to get
string(17) "obj::offsetExists"
bool(true)

ArrayAccess
ArrayAccess::offsetGet
ArrayAccess


Offset para recuperar

ArrayAccess::offsetExists
ArrayAccess::offsetSet
ArrayAccess
PHP Manual

ArrayAccess::offsetGet

(PHP 5 >= 5.0.0)

ArrayAccess::offsetGet — Offset para recuperar

Descripción

abstract public mixed ArrayAccess::offsetGet ( mixed $offset )

Devuelve el valor correspondiente a desplazamiento especificado.

Este método se ejecuta para comprobar si el desplazamiento es empty().

Parámetros

offset

El desplazamiento va a recuperar.

Notas

Nota:

A partir de PHP 5.3.4, el prototipo de los controles se relajaron y es posible para las implementaciones de este método para devolver por referencia. Esto hace que las modificaciones indirectas a las dimensiones de los arreglos sobrecargados de objetos ArrayAccess posibles.

Una modificación directa es aquella que reemplaza completamente el valor de la dimensión de el arreglo, como en $obj[6] = 7. Una modificación indirecta, por el contrario, sólo una parte los cambios de la dimensión, o los intentos de asignar la dimensión en función de otra variable, como en $obj[6][7] = 7 o $var =& $obj[6]. Con incrementos ++ y disminye con -- también se aplican de una manera que requiere la modificación indirecta.

Si bien la modificación directa desencadena una llamada a ArrayAccess::offsetSet(), modificación indirecta provoca una llamada a ArrayAccess::offsetGet(). En ese caso, la aplicación de ArrayAccess::offsetGet() debe ser capaz de volver por la referencia, de lo contrario un E_NOTICE mensaje es elevado..

Valores devueltos

Puede devolver todos los tipos de valor.

Ver también

  • ArrayAccess::offsetExists() - Comprobar si existe o no un índice

ArrayAccess::offsetExists
ArrayAccess::offsetSet
ArrayAccess


Inicializa un offset

ArrayAccess::offsetGet
ArrayAccess::offsetUnset
ArrayAccess
PHP Manual

ArrayAccess::offsetSet

(PHP 5 >= 5.0.0)

ArrayAccess::offsetSet — Inicializa un offset

Descripción

abstract public void ArrayAccess::offsetSet ( mixed $offset , mixed $value )

Asigna un valor a un offset determinado.

Parámetros

offset

El offset al que se asigna el valor.

value

El valor a asignar.

Valores devueltos

No devuelve ningún valor.

Notas

Nota:

El parámetro offset será inicializado a NULL si otro valor no está disponible, como en el siguiente ejemplo.

<?php
$arrayaccess[] = "primer valor";
$arrayaccess[] = "segundo valor";
print_r($arrayaccess);
?>

El resultado del ejemplo sería:

Array
(
    [0] => primer valor
    [1] => segundo valor
)

Nota:

Esta función no es invocada al realizar asignaciones por referencias y por tanto en los cambios de dimensiones en arrays sobrecargados con ArrayAccess (indirecto en el sentido de que no se hace cambiando la dimensión directamente, sino cambiando una sub-dimensión o sub-propiedad o asignando la dimensión del array por referencia en otra variable). En su lugar, se llama a ArrayAccess::offsetGet(). La operación tendrá éxito si devuelve el valor por referencia, lo cuál sólo es posible desde PHP 5.3.4.

ArrayAccess::offsetGet
ArrayAccess::offsetUnset
ArrayAccess


Destruye un offset

ArrayAccess::offsetSet
Serializable
ArrayAccess
PHP Manual

ArrayAccess::offsetUnset

(PHP 5 >= 5.0.0)

ArrayAccess::offsetUnset — Destruye un offset

Descripción

abstract public void ArrayAccess::offsetUnset ( mixed $offset )

Destruye un offset.

Nota:

Este método no será llamado cuando se fuerza un tipo mediante (unset)

Parámetros

offset

El offset a destruir.

Valores devueltos

No devuelve ningún valor.

ArrayAccess::offsetSet
Serializable
ArrayAccess


La interfaz Serializable

(PHP 5 >= 5.1.0)

Introducción

Interfaz para personalizar la serialización.

Las clases que implementan esta interfaz no soportan __sleep() ni __wakeup(). El método serialize se llama cuando una instancia requiere ser serializada. Esto no invoca __destruct() ni tiene ningún efecto adicional a menos que se programe dentro del método. Cuando los datos son deserializados, la clase es conocida y el correspondiente método unserialize() es llamado como constructor en lugar de llamar al método __construct(). Se puede ejecutar el constructor estándar en el método si fuera necesario.

Sinopsis de la Interfaz

Serializable {
/* Métodos */
abstract public string serialize ( void )
abstract public void unserialize ( string $serialized )
}

Ejemplo #1 Uso básico

<?php
class obj implements Serializable {
    private $data;
    public function __construct() {
        $this->data = "Mis datos privados";
    }
    public function serialize() {
        return serialize($this->data);
    }
    public function unserialize($data) {
        $this->data = unserialize($data);
    }
    public function getData() {
        return $this->data;
    }
}

$obj = new obj;
$ser = serialize($obj);

var_dump($ser);

$newobj = unserialize($ser);

var_dump($newobj->getData());
?>

El resultado del ejemplo sería algo similar a:

string(38) "C:3:"obj":23:{s:15:"Mis datos privados";}"
string(15) "Mis datos privados"

Tabla de contenidos

  • Serializable::serialize — Representación en formato cadena de un objeto
  • Serializable::unserialize — Construye el objeto
ArrayAccess::offsetUnset
Serializable::serialize
Interfaces y clases predefinidas


Representación en formato cadena de un objeto

Serializable
Serializable::unserialize
Serializable
PHP Manual

Serializable::serialize

(PHP 5 >= 5.1.0)

Serializable::serialize — Representación en formato cadena de un objeto

Descripción

abstract public string Serializable::serialize ( void )

Devuelve la representación de un objeto en formato string.

Nota:

Este método actúa como el destructor del objeto. El método __destruct() no será llamado después de usar este método.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la representación de un objeto o NULL

Errores/Excepciones

Lanza una Exception cuando de devuelen otros tipos aparte de string y NULL

Ver también

  • __sleep()

Serializable
Serializable::unserialize
Serializable


Construye el objeto

Serializable::serialize
Closure
Serializable
PHP Manual

Serializable::unserialize

(PHP 5 >= 5.1.0)

Serializable::unserialize — Construye el objeto

Descripción

abstract public void Serializable::unserialize ( string $serialized )

Es llamado durante la unserialización del objeto.

Nota:

Este método actua como el constructor del objeto. El método __construct() no será llamado después de este método.

Parámetros

serialized

La representación en formato string de un objeto.

Valores devueltos

El valor devuelto por este método es ignorado.

Ver también

  • __wakeup()

Serializable::serialize
Closure
Serializable


La clase Closure

(PHP 5 >= 5.3.0)

Introducción

Clase usada para representar funciones anónimas.

Las funciones anónimas, implementadas en PHP 5.3, producían objetos de este tipo. Este hecho solía ser considerado como un detalle de implementación, pero ahora puede confiarse en él. Desde PHP 5.4, esta clase tiene métodos que permiten más control de las funciones anónimas después de que hayan sido creadas.

Además de los métodos listados aquí, esta clase también posse un método __invoke. Esto es por consistencia con otras clases que implementan la llamada mágica, ya que este método no se usa para llamar a la función.

Sinopsis de la Clase

Closure {
/* Métodos */
private __construct ( void )
public static Closure bind ( Closure $closure , object $newthis [, mixed $newscope = 'static' ] )
public Closure bindTo ( object $newthis [, mixed $newscope = 'static' ] )
}

Tabla de contenidos

  • Closure::__construct — Constructor que anula la instanciación
  • Closure::bind — Duplicar un cierre con un objeto vinculado y ámbito de clase especificados
  • Closure::bindTo — Duplicar el cierre con un objeto vinculado y ámbito de clase nuevos
Serializable::unserialize
Closure::__construct
Interfaces y clases predefinidas


Constructor que anula la instanciación

Closure
Closure::bind
Closure
PHP Manual

Closure::__construct

(PHP 5 >= 5.3.0)

Closure::__construct — Constructor que anula la instanciación

Descripción

private Closure::__construct ( void )

Este método sólo existe para anular la instanciación de la clase Closure. Los objetos de esta clase se crean del modo descrito en la página funciones anónimas.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Este método no tiene un valor de retorno; simplemente emite un error (de tipo E_RECOVERABLE_ERROR).

Ver también

  • Funciones anónimas
Closure
Closure::bind
Closure


Duplicar un cierre con un objeto vinculado y ámbito de clase especificados

Closure::__construct
Closure::bindTo
Closure
PHP Manual

Closure::bind

(PHP 5 >= 5.4.0)

Closure::bind — Duplicar un cierre con un objeto vinculado y ámbito de clase especificados

Descripción

public static Closure Closure::bind ( Closure $closure , object $newthis [, mixed $newscope = 'static' ] )

Este método es una versión estática de Closure::bindTo(). Véase la documentación de ese método para más información.

Parámetros

closure

La función anónima a vincular.

newthis

El objeto al que la función anónima dada debería ser vinculado, o NULL para que el cierre sea desvinculado.

newscope

El ámbito de clase a la que asociar el cierre, o 'static' para mantener el actual. Si se da un objeto, el tipo del objeto se usará en su lugar. Esto determina la visibilidad de métodos protegidos y privados del objeto vinculado.

Valores devueltos

Devuelve un nuevo objeto Closure o FALSE en caso de error

Ejemplos

Ejemplo #1 Ejemplo de Closure::bind()

<?php
class A {
    private static $sfoo = 1;
    private $ifoo = 2;
}
$cl1 = static function() {
    return A::$sfoo;
};
$cl2 = function() {
    return $this->ifoo;
};

$bcl1 = Closure::bind($cl1, null, 'A');
$bcl2 = Closure::bind($cl2, new A(), 'A');
echo $bcl1(), "\n";
echo $bcl2(), "\n";
?>

El resultado del ejemplo sería algo similar a:

1
2

Ver también

  • Funciones anónimas
  • Closure::bindTo() - Duplicar el cierre con un objeto vinculado y ámbito de clase nuevos
Closure::__construct
Closure::bindTo
Closure


Duplicar el cierre con un objeto vinculado y ámbito de clase nuevos

Closure::bind
Generator
Closure
PHP Manual

Closure::bindTo

(PHP 5 >= 5.4.0)

Closure::bindTo — Duplicar el cierre con un objeto vinculado y ámbito de clase nuevos

Descripción

public Closure Closure::bindTo ( object $newthis [, mixed $newscope = 'static' ] )

Crea y devuelve una nueva función anónima con el cuerpo y variables vinculadas como ésta, pero posiblemente con un objeto vinculado diferente y un nuevo ámbito de clase.

El "objeto vinculado" determina el valor que $this tendrá en el cuerpo de la función, y el "ámbito de clase" representa una clase que determina los miembros privados y protegidos a los que será capaz de acceder la función anónima. Concretamente, los miembros que serán visibles son los mismos que si la función anónima fuese un método de la clase dada como valor del parámetro newscope.

Los cierres estáticos no pueden tener ningún objeto vinculado (el valor del parámetro newthis debería ser NULL), pero esta función puede, no obstante, usarse para cambiar su ámbito de clase.

Esta función se asegurará de que un cierre no estático que tenga una instancia vinculada se le aplique un ámbito y viceversa. En este punto, los cierres no estáticos que le son dados un ámbito, excepto una instancia NULL, son hechos estáticos, y los cierres no estáticos y sin ámbito que le son dados una instancia no nula se les aplica un ámbito de clase no especificada.

Nota:

Si solamente se quieren duplicar las funciones anónimas, se puede usar cloning en su lugar.

Parámetros

newthis

El objeto al que la función anónima dada debería ser vinculado, o NULL para que el cierre sea desvinculado.

newscope

El ámbito de clase a la que asociar el cierre, o 'static' para mantener el actual. Si se da un objeto, el tipo del objeto se usará en su lugar. Esto determina la visibilidad de métodos protegidos y privados del objeto vinculado.

Valores devueltos

Devuelve el objeto Closure recién creado o FALSE en caso de error

Ejemplos

Ejemplo #1 Ejemplo de Closure::bindTo()

<?php

class A {
    function __construct($val) {
        $this->val = $val;
    }
    function getClosure() {
        //devuelve el cierre vinculado a este objeto y el ámbito
        return function() { return $this->val; };
    }
}

$ob1 = new A(1);
$ob2 = new A(2);

$cl = $ob1->getClosure();
echo $cl(), "\n";
$cl = $cl->bindTo($ob2);
echo $cl(), "\n";
?>

El resultado del ejemplo sería algo similar a:

1
2

Ver también

  • Funciones anónimas
  • Closure::bind() - Duplicar un cierre con un objeto vinculado y ámbito de clase especificados
Closure::bind
Generator
Closure


The Generator class

(PHP 5 >= 5.5.0)

Introducción

Generator objects are returned from generators.

Precaución

Generator objects cannot be instantiated via new.

Sinopsis de la Clase

Generator implements Iterator {
/* Métodos */
public mixed current ( void )
public mixed key ( void )
public void next ( void )
public void rewind ( void )
public mixed send ( mixed $value )
public mixed throw ( Exception $exception )
public bool valid ( void )
public void __wakeup ( void )
}

Tabla de contenidos

  • Generator::current — Get the yielded value
  • Generator::key — Get the yielded key
  • Generator::next — Resume execution of the generator
  • Generator::rewind — Rewind the iterator
  • Generator::send — Send a value to the generator
  • Generator::throw — Throw an exception into the generator
  • Generator::valid — Check if the iterator has been closed
  • Generator::__wakeup — Serialize callback
Closure::bindTo
Generator::current
Interfaces y clases predefinidas


Get the yielded value

Generator
Generator::key
Generator
PHP Manual

Generator::current

(PHP 5 >= 5.5.0)

Generator::current — Get the yielded value

Descripción

public mixed Generator::current ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns the yielded value.

Generator
Generator::key
Generator


Get the yielded key

Generator::current
Generator::next
Generator
PHP Manual

Generator::key

(PHP 5 >= 5.5.0)

Generator::key — Get the yielded key

Descripción

public mixed Generator::key ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns the yielded key.

Generator::current
Generator::next
Generator


Resume execution of the generator

Generator::key
Generator::rewind
Generator
PHP Manual

Generator::next

(PHP 5 >= 5.5.0)

Generator::next — Resume execution of the generator

Descripción

public void Generator::next ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Generator::key
Generator::rewind
Generator


Rewind the iterator

Generator::next
Generator::send
Generator
PHP Manual

Generator::rewind

(PHP 5 >= 5.5.0)

Generator::rewind — Rewind the iterator

Descripción

public void Generator::rewind ( void )

If iteration has already begun, this will throw an exception.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Generator::next
Generator::send
Generator


Send a value to the generator

Generator::rewind
Generator::throw
Generator
PHP Manual

Generator::send

(PHP 5 >= 5.5.0)

Generator::send — Send a value to the generator

Descripción

public mixed Generator::send ( mixed $value )

Sends the given value to the generator as the result of the current yield expression and resumes execution of the generator.

If the generator is not at a yield expression when this method is called, it will first be let to advance to the first yield expression before sending the value. As such it is not necessary to "prime" PHP generators with a Generator::next() call (like it is done in Python).

Parámetros

value

Value to send into the generator. This value will be the return value of the yield expression the generator is currently at.

Ejemplos

Ejemplo #1 Using Generator::send() to inject values

<?php
function printer() {
    while (true) {
        $string = yield;
        echo $string;
    }
}

$printer = printer();
$printer->send('Hello world!');
$printer->send('Bye world!');
?>

El resultado del ejemplo sería:

Hello world!
Bye world!

Valores devueltos

Returns the yielded value.

Generator::rewind
Generator::throw
Generator


Throw an exception into the generator

Generator::send
Generator::valid
Generator
PHP Manual

Generator::throw

(PHP 5 >= 5.5.0)

Generator::throw — Throw an exception into the generator

Descripción

public mixed Generator::throw ( Exception $exception )

Throws an exception into the generator and resumes execution of the generator. The behavior will be the same as if the current yield expression was replaced with a throw $exception statement.

If the generator is already closed when this method is invoked, the exception will be thrown in the caller's context instead.

Parámetros

exception

Exception to throw into the generator.

Ejemplos

Ejemplo #1 Throwing an exception into a generator

<?php
function gen() {
    echo "Foo\n";
    try {
        yield;
    } catch (Exception $e) {
        echo "Exception: {$e->getMessage()}\n";
    }
    echo "Bar\n";
}

$gen = gen();
$gen->rewind();
$gen->throw(new Exception('Test'));
?>

El resultado del ejemplo sería:

Foo
Exception: Test
Bar

Valores devueltos

Returns the yielded value.

Generator::send
Generator::valid
Generator


Check if the iterator has been closed

Generator::throw
Generator::__wakeup
Generator
PHP Manual

Generator::valid

(PHP 5 >= 5.5.0)

Generator::valid — Check if the iterator has been closed

Descripción

public bool Generator::valid ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns FALSE if the iterator has been closed. Otherwise returns TRUE.

Generator::throw
Generator::__wakeup
Generator


Serialize callback

Generator::valid
Opciones de contexto y parámetros
Generator
PHP Manual

Generator::__wakeup

(PHP 5 >= 5.5.0)

Generator::__wakeup — Serialize callback

Descripción

public void Generator::__wakeup ( void )

Throws an exception as generators can't be serialized.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Generator::valid
Opciones de contexto y parámetros
Generator


Opciones de contexto y parámetros

PHP ofrece varias opciones y parámetros de contexto que pueden ser usados
con todas las envolturas del sistema de archivos y las secuencias. El
contexto es creado con  stream_context_create(). Las
opciones son definidas con  stream_context_set_option()
y los parámetros con  stream_context_set_params().

Tabla de contenidos

  • Opciones de contexto de sockets — Listado de opciones de contexto de sockets
  • Opciones de contexto de HTTP — Lista de opciones de contexto de HTTP
  • Opciones de contexto para FTP — Listado de opciones de contexto para FTP
  • Opciones de contexto para SSL — Listado de opciones de contexto para SSL
  • Opciones de contexto para CURL — Listado de opciones de contexto para CURL
  • Opciones de contexto Phar — Listado de opciones de contexto Phar
  • Contexto parámetros — Listado de parámetros de contexto
Generator::__wakeup
Opciones de contexto de sockets
Referencia del lenguaje


Listado de opciones de contexto de sockets

Opciones de contexto y parámetros
Opciones de contexto de HTTP
Opciones de contexto y parámetros
PHP Manual

Opciones de contexto de sockets

Opciones de contexto de sockets — Listado de opciones de contexto de sockets

Descripción

Las opciones de contexto de sockets están disponibles para todas las envolturas que trabajan sobre sockets, como tcp, http y ftp.

Opciones

bindto

Usada para especificar la dirección IP (ya sea IPv4 o IPv6) y/o el número de puerto que PHP usará para acceder a la red. La sintaxis es ip:puerto para direcciones IPv4, y [ip]:puerto para direcciones IPv6. Establecer el número IP o de puerto como 0 producirá que el sistema lo elija por usted.

Nota:

Dado que FTP crea dos conexiones de socket durante la operación normal, no es posible especificar el número de puerto con esta opción.

backlog

Usado para limitar el número de conexiones pendientes en la cola de escucha del socket.

Nota:

Solamente se aplica a stream_socket_server().

Historial de cambios

Versión | Descripción
5.3.3 | Se agregó bindto.
5.1.0 | Se agregó backlog.

Ejemplos

Ejemplo #1 Ejemplo de uso básico de bindto

<?php
// conectarse a internet usando la IP '192.168.0.100'
$opciones = array(
    'socket' => array(
        'bindto' => '192.168.0.100:0',
    ),
);

// conectarse a internet usando la IP '192.168.0.100' y el puerto '7000'
$opciones = array(
    'socket' => array(
        'bindto' => '192.168.0.100:7000',
    ),
);

// conectarse a internet usando la dirección IPv6  '2001:db8::1'
// y el puerto '7000'
$opciones = array(
    'socket' => array(
        'bindto' => '[2001:db8::1]:7000',
    ),
);

// conectarse a internet usando el puerto '7000'
$opciones = array(
    'socket' => array(
        'bindto' => '0:7000',
    ),
);

// crear el contexto...
$contexto = stream_context_create($opciones);

// ...y usarlo para recuperar los datos
echo file_get_contents('http://www.example.com', false, $contexto);

?>

Opciones de contexto y parámetros
Opciones de contexto de HTTP
Opciones de contexto y parámetros


Lista de opciones de contexto de HTTP

Opciones de contexto de sockets
Opciones de contexto para FTP
Opciones de contexto y parámetros
PHP Manual

Opciones de contexto de HTTP

Opciones de contexto de HTTP — Lista de opciones de contexto de HTTP

Descripción

Opciones de contexto para los transports http:// y https://.

Opciones

method string

GET, POST, o cualquier otro método HTTP que soporte el servidor remoto.

Por omisión, GET.

header string

Cabeceras adicionales que se envían en la petición. Los valores sobrescribirán los existentes (como por ejemplo User-agent:, Host:, o Authentication:).

user_agent string

Valor de la cabecera User-Agent:. Sólo se utilizará si el user-agent no se ha especificado en la opción de contexto header vista arriba.

por omisión se utiliza el valor del ajuste user_agent en php.ini.

content string

Datos adicionales a enviar tras las cabeceras. Típicamente se utiliza con peticiones POST o PUT.

proxy string

URI que define la dirección de un servidor proxy (p.ej. tcp://proxy.example.com:5100).

request_fulluri boolean

Si vale TRUE, se utilizará toda la URI para construir la petición. (es decir, GET http://www.example.com/path/to/file.html HTTP/1.0). A pesar de que es un formato de petición no estándar, algunos servidores proxy requieren que sea así.

Por omisión FALSE.

follow_location integer

Seguir las redirecciones de las cabeceras Location. Establecer a 0 para deshabilitarlo.

Por omisión 1.

max_redirects integer

Número máximo de redirecciones a seguir. Un valor igual o menor a 1 indica que no se siga ninguna redirección.

Por omisión 20.

protocol_version float

Versión del protocolo HTTP.

Por omisión 1.0.

Nota:

Las versiónes de PHP anteriores a la 5.3.0 no implementa decodificación de transferencias fragmentadas. Si este valor es 1.1, es responsabilidad del programador cumplir con la versión 1.1.

timeout float

Tiempo de espera de lectura en segundos, especificado por un float (p.ej. 10.5).

Por omisión se utiliza el valor del ajuste default_socket_timeout de php.ini.

ignore_errors boolean

Captura el contenido incluso con códigos de estado de error.

Por omisión FALSE.

Historial de cambios

Versión | Descripción
5.3.4 | Añadido follow_location.
5.3.0 | La opción protocol_version soporta decodificación de transferencias fragmentadas en caso de valer 1.1.
5.2.10 | Añadido ignore_errors.
5.2.10 | El parámetro header puede ahora ser un array de índices numéricos.
5.2.1 | Añadido timeout.
5.1.0 | Añadido soporte para HTTPS mediante proxies HTTP.
5.1.0 | Añadido max_redirects.
5.1.0 | Añadido protocol_version.

Ejemplos

Ejemplo #1 Captura una página y envía datos POST

<?php

$postdata = http_build_query(
    array(
        'var1' => 'contenido',
        'var2' => 'doh'
    )
);

$opts = array('http' =>
    array(
        'method'  => 'POST',
        'header'  => 'Content-type: application/x-www-form-urlencoded',
        'content' => $postdata
    )
);

$context = stream_context_create($opts);

$result = file_get_contents('http://example.com/submit.php', false, $context);

?>

Ejemplo #2 Ignora las redirecciones per captura las cabeceras y el contenido

<?php

$url = "http://www.example.org/header.php";

$opts = array('http' =>
    array(
        'method' => 'GET',
        'max_redirects' => '0',
        'ignore_errors' => '1'
    )
);

$context = stream_context_create($opts);
$stream = fopen($url, 'r', false, $context);

// información de cabeceras y meta datos
// sobre el flujo
var_dump(stream_get_meta_data($stream));

// datos reales en $url
var_dump(stream_get_contents($stream));
fclose($stream);
?>

Notas

Nota: Opciones de contexto del flujo de socket subyacente
Hay soporte para opciones de contexto adicionales en el transporte subyacente Para flujos http://, deben consultarse las opciones de contexto del transporte tcp://. Para flujos https://, deben consultarse las opciones de contexto del transporte ssl://.

Nota: Línea de estado HTTP
Cuando esta envultura sigue una redirección, el wrapper_data devuelto por stream_get_meta_data() no contiene necesariamente la línea de estado HTTP que realmente se aplica al contenido del índice 0.

array (
  'wrapper_data' =>
  array (
    0 => 'HTTP/1.0 301 Moved Permantenly',
    1 => 'Cache-Control: no-cache',
    2 => 'Connection: close',
    3 => 'Location: http://example.com/foo.jpg',
    4 => 'HTTP/1.1 200 OK',
    ...
La primera petición devolvió un 301 (redirección permanente), de manera que la envoltura automáticamente sigue la redirección para obtener una respuesta con código 200 (índice = 4).

Ver también

  • http://
  • Opciones de contexto de sockets
  • Opciones de contexto para SSL

Opciones de contexto de sockets
Opciones de contexto para FTP
Opciones de contexto y parámetros


Listado de opciones de contexto para FTP

Opciones de contexto de HTTP
Opciones de contexto para SSL
Opciones de contexto y parámetros
PHP Manual

Opciones de contexto para FTP

Opciones de contexto para FTP — Listado de opciones de contexto para FTP

Descripción

Opciones de contexto para transportes ftp:// y ftps://

Opciones

overwrite boolean

Permite sobrescribir archivos ya existentes en el servidor remoto. Se aplica sólo al modo de escritura (subida).

Defaults to FALSE.

resume_pos integer

Desplazamiento de archivo en donde iniciar la transferencia. Se aplica sólo al modo de lectura (descarga).

Por defecto es 0 (inicio del archivo).

proxy string

Petición FTP al proxy por medio de un servidor proxy http. Se aplica sólo a operaciones de lectura de archivos. Ejemplo: tcp://squid.example.com:8000.

Historial de cambios

Versión | Descripción
5.1.0 | Se añadió proxy.
5.0.0 | Se añadió overwrite y resume_pos.

Notas

Nota: Opciones subyacentes del contexto del flujo del socket
Opciones adicionales de contexto pueden se soportadas por el transporte subyacente Para flujos ftp://, remitirse a las opciones de contexto para el transporte tcp://. Para flujos ftps://, remitirse a las opciones de contexto para el transporte ssl://.

Ver también

  • ftp://
  • Opciones de contexto de sockets
  • Opciones de contexto para SSL

Opciones de contexto de HTTP
Opciones de contexto para SSL
Opciones de contexto y parámetros


Listado de opciones de contexto para SSL

Opciones de contexto para FTP
Opciones de contexto para CURL
Opciones de contexto y parámetros
PHP Manual

Opciones de contexto para SSL

Opciones de contexto para SSL — Listado de opciones de contexto para SSL

Descripción

Opciones de contexto para transportes ssl:// y tls://

Opciones

verify_peer boolean

Requiere verificación del certificado SSL utilizado.

Por defecto es FALSE.

allow_self_signed boolean

Permite certificados auto-firmados. Requiere verify_peer.

Por defecto es FALSE

cafile string

Ubicación del archivo de la entidad emisora de certificados en el sistema de archivos local, la cual debe ser utilizada con la opción de contexto verify_peer para autenticar la identidad del par remoto.

capath string

Si no se específica cafile o si no se encuentra el certificado, el directorio al que apunta capath sera explorado en busca de un certificado apropiado. capath debe ser un directorio con el hash correcto.

local_cert string

Ruta hacia el archivo del certificado local en el sistema de archivos. Debe ser un archivo codificado con PEM el cual contenga el certificado y la llave privada. Puede, opcionalmente, contener la cadena de los emisores del certificado.

passphrase string

La frase de contraseña con la cual el archivo local_cert fue codificado.

CN_match string

El nombre común que se está esperando. PHP realizará comparaciones limitadas de comodines. Si el nombre común no coincide con esto, el intento de conexión fallará.

verify_depth integer

Abortar si la cadena de certificados es demasiado profunda.

Por defecto es no verificarlo.

ciphers string

Establece la lista de sistemas de cifrado disponibles. El formato de la cadena se describe en » ciphers(1).

Por defecto es DEFAULT.

capture_peer_cert boolean

Si se establece en TRUE, una opción de contexto peer_certificate será creada, conteniendo el certificado par.

capture_peer_cert_chain boolean

Si se establece en TRUE, una opción de contexto peer_certificate_chain será creada, conteniendo la cadena del certificado.

SNI_enabled boolean

Si se establece en TRUE, la indicación del nombre del servidor se activará. Activando SNI se permiten múltiples certificados en la misma dirección IP.

SNI_server_name string

Si se establece, entonces este valor se utilizará como nombre del servidor para la indicación de nombre de servidor. Si este valor no está establecido, entonces el nombre del servidor se supone basado en el nombre de host utilizado cuando se abre el flujo.

disable_compression boolean

Si está establecido, deshabilita la comprensión TLS. Esto puede ayudar a mitigar el vector de ataque CRIME.

Historial de cambios

Versión | Descripción
5.4.13 | Se añadió disable_compression. Requiere OpenSSL >= 1.0.0.
5.3.2 | Se añadió SNI_enabled y SNI_server_name.
5.0.0 | Se añadió capture_peer_cert, capture_peer_chain y ciphers.

Notas

Nota: Debido a que ssl:// el es transporte subyacente para las envolturas https:// y ftps://, cualquier opción de contexto que aplique para ssl:// también aplica para https:// y ftps://.

Nota: Para que SNI (Server Name Indication) esté disponible, entonces PHP se debe compilar con OpenSSL 0.9.8j o superior. Se utiliza OPENSSL_TLSEXT_SERVER_NAME para determinar si SNI está soportado.

Ver también

  • Opciones de contexto de sockets

Opciones de contexto para FTP
Opciones de contexto para CURL
Opciones de contexto y parámetros


Listado de opciones de contexto para CURL

Opciones de contexto para SSL
Opciones de contexto Phar
Opciones de contexto y parámetros
PHP Manual

Opciones de contexto para CURL

Opciones de contexto para CURL — Listado de opciones de contexto para CURL

Descripción

Las opciones de contexto para CURL están disponibles cuando la extensión CURL fue compilada usando la opción de configuración --with-curlwrappers .

Opciones

method string

GET, POST, o cualquier otro método HTTP soportado por el servidor remoto.

Por defecto es GET.

header string

Cabeceras adicionales a ser enviadas durante la petición. Los valores de esta opción sobrescribirán otros valores (como por ejemplo User-agent:, Host:, y Authentication:).

user_agent string

Valor a ser enviado con la cabecera User-Agent:.

Por defecto se usa la configuración user_agent de php.ini.

content string

Datos adicionales para ser enviados después de las cabeceras. Esta opción no se utiliza para peticiones GET o HEAD.

proxy string

URI que especifica la dirección del servidor proxy. (Por ejemplo tcp://proxy.example.com:5100).

max_redirects integer

El número máximo de redirecciones a seguir. Un valor de 1 o menos significa que no se siguen la redirecciones.

Por defecto es 20.

curl_verify_ssl_host boolean

Verifica el host.

Por defecto es FALSE

Nota:

Esta opción está disponible tanto para envolturas del protocolo http como del ftp.

curl_verify_ssl_peer boolean

Requiere verificación del certificado SSL utilizado.

Por defecto es FALSE

Nota:

Esta opción está disponible tanto para envolturas del protocolo http como del ftp.

Ejemplos

Ejemplo #1 Obtener una página y enviar datos POST

<?php

$postdata = http_build_query(
    array(
        'var1' => 'some content',
        'var2' => 'doh'
    )
);

$opts = array('http' =>
    array(
        'method'  => 'POST',
        'header'  => 'Content-type: application/x-www-form-urlencoded',
        'content' => $postdata
    )
);

$context = stream_context_create($opts);

$result = file_get_contents('http://example.com/submit.php', false, $context);

?>

Ver también

  • Opciones de contexto de sockets

Opciones de contexto para SSL
Opciones de contexto Phar
Opciones de contexto y parámetros


Listado de opciones de contexto Phar

Opciones de contexto para CURL
Contexto parámetros
Opciones de contexto y parámetros
PHP Manual

Opciones de contexto Phar

Opciones de contexto Phar — Listado de opciones de contexto Phar

Descripción

Opciones de contexto para phar:// envoltura.

Opciones

comprimir int

Uno de Constantes de compresión Phar.

metadata mixed

Metadatos Phar. Ver Phar::setMetadata().

Ver también

  • phar://
  • Envoltura de secuencias Phar

Opciones de contexto para CURL
Contexto parámetros
Opciones de contexto y parámetros


Listado de parámetros de contexto

Opciones de contexto Phar
Protocolos y Envolturas soportados
Opciones de contexto y parámetros
PHP Manual

Contexto parámetros

Contexto parámetros — Listado de parámetros de contexto

Descripción

Estos parametros se pueden establecer en un contexto usando el la función stream_context_set_params().

Parámetros

notification callable

Un valor de tipo callable que se llamará cuando se produce un evento en un flujo.

Véase stream_notification_callback para más detalles.

Opciones de contexto Phar
Protocolos y Envolturas soportados
Opciones de contexto y parámetros


Protocolos y Envolturas soportados

PHP incorpora de serie envolturas para distintos protocolos tipo URL para trabajar junto con funciones del sistema de ficheros, como fopen(), copy(), file_exists() y filesize(). Además de estas envolturas, se pueden definir por el usuario utilizando la función stream_wrapper_register().

Nota: La sintaxis de URL que se utiliza para describir una envoltura solo puede ser scheme://.... Las sintaxis scheme:/ y scheme: no están soportadas.

Tabla de contenidos

  • file:// — Acceso al sistema de ficheros local
  • http:// — Acceso a URLS en HTTP(s)
  • ftp:// — Acceso a URLs por FTP(s)
  • php:// — Acceso a distintos flujos de E/S
  • zlib:// — Flujos de compresión
  • data:// — Data (RFC 2397)
  • glob:// — Encuentra las rutas que coincidan con el patrón
  • phar:// — Archivo PHP
  • ssh2:// — Secure Shell 2
  • rar:// — RAR
  • ogg:// — Flujos de audio
  • expect:// — Flujos de Interacción de Procesos
Contexto parámetros
file://
Referencia del lenguaje


Acceso al sistema de ficheros local

Protocolos y Envolturas soportados
http://
Protocolos y Envolturas soportados
PHP Manual

file://

file:// — Acceso al sistema de ficheros local

Descripción

El Sistema de Ficheros es la envoltura por omisión de PHP y representa al sistema de ficheros local. Cuando se proporciona una ruta relativa (esto es, no comienza con /, \, \\, ni con la letra de un dispositivo Windows) ésta se hará usando el directorio de trabajo actual. En muchos casos, se trata del directorio en el que se aloja el script, a no ser que se haya cambiado explicitamente. Si se utiliza la sapi CLI, apuntará al directorio desde el que se ejecutó el script.

En algunas funciones, como por ejemplo fopen() o file_get_contents(), puede usarse también include_path para localizar ficheros con rutas relativas.

Uso

  • /ruta/al/fichero.ext
  • ruta/relativa/al/fichero.ext
  • ficheroEnDta.ext
  • C:/ruta/a/ficherowindows.ext
  • C:\ruta\a\ficherowindows.ext
  • \\servidorsmb\ruta\compartida\a\ficherowindows.ext
  • file:///ruta/al/fichero.ext

Opciones

Resumen de la Envoltura
Atributo | Permitido
Restringido por allow_url_fopen | No
Permite Lecturas | Sí
Permite Escrituras | Sí
Permite Añadir contenidos | Sí
Permite Lecturas y Escrituras Simultáneas | Sí
Permite usar la función stat() | Sí
Permite usar la función unlink() | Sí
Permite usar la función rename() | Sí
Permite usar la función mkdir() | Sí
Permite usar la función rmdir() | Sí

Historial de cambios

Versión | Descripción
5.0.0 | Añadido file://.

Protocolos y Envolturas soportados
http://
Protocolos y Envolturas soportados


Acceso a URLS en HTTP(s)

file://
ftp://
Protocolos y Envolturas soportados
PHP Manual

http://

https://

http:// -- https:// — Acceso a URLS en HTTP(s)

Descripción

Permite acceso de lectura a ficheros/recursos mediante HTTP 1.0, utilizando el método GET de HTTP. Junto con la petición, se envía una cabecera Host: para así poder usar hosts virtuales basados en nombres. Si se ha definido un user_agent en el fichero php.ini o en el contexto del flujo, éste se incluirá también en la petición.

El flujo proporciona acceso al cuerpo del recurso; las cabeceras se guardan en la variable $http_response_header.

Si fuera importante conocer la URL del recurso del que procede el documento (tras procesar todas las redirecciones), se deberán procesar todas las cabeceras de respuesta devueltas por el flujo.

Se usará la directiva from en la cabecera From: siempre que esté asignado y no se sobrescriba por Opciones de contexto y parámetros.

Uso

  • http://ejemplo.com
  • http://ejemplo.com/fichero.php?var1=val1&var2=val2
  • http://usuario:contraseña@ejemplo.com
  • https://ejemplo.com
  • https://ejemplo.com/fichero.php?var1=val1&var2=val2
  • https://usuario:contraseña@ejemplo.com

Opciones

Resumen de la Envoltura
Atributo | Permitido
Restringido por allow_url_fopen | Sí
Permite Lecturas | Sí
Permite Escrituras | No
Permite Añadir contenidos | No
Permite Lecturas y Escrituras Simultáneas | N/A
Permite usar la función stat() | No
Permite usar la función unlink() | No
Permite usar la función rename() | No
Permite usar la función mkdir() | No
Permite usar la función rmdir() | No

Historial de cambios

Versión | Descripción
4.3.7 | Detectado errores en servidores IIS para evitar "SSL: Fatal Protocol Error".
4.3.0 | Añadido https://.
4.0.5 | Añadido soporte para las redirecciones.

Ejemplos

Ejemplo #1 Detectar la URL en la que se finaliza tras las redirecciones

<?php
$url = 'http://www.example.com/redirecting_page.php';

$fp = fopen($url, 'r');

$meta_data = stream_get_meta_data($fp);
foreach ($meta_data['wrapper_data'] as $response) {

    /* Were we redirected? */
    if (strtolower(substr($response, 0, 10)) == 'location: ') {

        /* update $url with where we were redirected to */
        $url = substr($response, 10);
    }

}

?>

Notas

Nota: Sólo habrá soporte para HTTPS cuando la extensión openssl esté habilitada.

Las conexiones HTTP son de sólo lectura; no hay soporte para escribir o copiar datos a un recurso HTTP.

Se pueden enviar peticiones POST y PUT, por ejemplo, con ayuda de los Contextos HTTP.

Ver también

  • Opciones de contexto de HTTP
  • $http_response_header
  • stream_get_meta_data() - Recuperar meta-información o de cabecera de punteros a flujos/archivo
file://
ftp://
Protocolos y Envolturas soportados


Acceso a URLs por FTP(s)

http://
php://
Protocolos y Envolturas soportados
PHP Manual

ftp://

ftps://

ftp:// -- ftps:// — Acceso a URLs por FTP(s)

Descripción

Permite tanto lectura de ficheros existentes como la creación de nuevos ficheros vía FTP. La conexión fallará si el servidor no soporta FTP en modo pasivo.

Se puede tanto leer como escribir ficheros, pero no las dos cosas simultáneamente. Si el fichero remoto ya existiera en el servidor ftp, y se quisiera abrir en modo escritura sin especificar la opción de contexto overwrite, también fallará la conexión. Si fuera necesario sobrescribir un fichero ya existente en ftp, se tendrá que especificar la opción de contexto overwrite antes de abrir el fichero para su escritura. Alternativamente, puede usarse la extensión FTP.

Si se ha establecido la directiva from en php.ini, se enviará como contraseña para conexiones de FTP anónimo.

Uso

  • ftp://ejemplo.com/pub/fichero.txt
  • ftp://usuario:contraseña@example.com/pub/fichero.txt
  • ftps://ejemplo.com/pub/fichero.txt
  • ftps://usuario:contraseña@ejemplo.com/pub/fichero.txt

Opciones

Resumen de la Envoltura
Atributos | PHP 4 | PHP 5
Restringido por allow_url_fopen | Sí | Sí
Permite Lecturas | Sí | Sí
Permite Escrituras | Sí (sólo en ficheros nuevos) | Sí (ficheros nuevos. En los existentes con overwrite)
Permite Añadir contenidos | No | Sí
Permite Lecturas y Escrituras Simultáneas | No | No
Permite usar la función stat() | No | Desde PHP 5.0.0: sólo los elementos filesize(), filetype(), file_exists(), is_file(), y is_dir(). Desde PHP 5.1.0: filemtime().
Permite usar la función unlink() | No | Sí
Permite usar la función rename() | No | Sí
Permite usar la función mkdir() | No | Sí
Permite usar la función rmdir() | No | Sí

Historial de cambios

Versión | Descripción
4.3.0 | Added ftps://.

Notas

Nota:

Hay soporte para FTPS desde PHP 4.3.0, siempre y cuando se haya compilado con soporte para openssl.

Si el servidor no soporta SSL, entonces la conexión se restablece a una conexión ftp regular sin encriptación.

Nota: Añadiendo contenido
Desde PHP 5.0.0 se puede añadir contenido a los ficheros mediante la envoltura de URL ftp://. Si se tratara de añadir contenido a un fichero con ftp:// en versiones anteriores, se provocaría un fallo.

Ver también

  • Opciones de contexto para FTP
http://
php://
Protocolos y Envolturas soportados


Acceso a distintos flujos de E/S

ftp://
zlib://
Protocolos y Envolturas soportados
PHP Manual

php://

php:// — Acceso a distintos flujos de E/S

Descripción

PHP ofrece una serie de flujos de E/S generales que permite acceder tanto a los flujos de entrada y salida de PHP, a la entrada estándar, a descriptores de ficheros de salida y de errores, a flujos de ficheros temporales en memoria y en disco, y a filtros para poder manipular otros recursos de ficheros según se lee o se escribe en ellos.

php://stdin, php://stdout y php://stderr

php://stdin, php://stdout y php://stderr permiten acceder directamente al correspondiente flujo de entrada o salida del proceso PHP. El flujo hace referencia a un descriptor de fichero duplicado, de modo que si se abre php://stdin y más tarde se cierra, sólo se cerraría la copia del descriptor; el flujo real al que referencia STDIN no se vería afectado. Tenga en cuenta que PHP mostraba un comportamiento irregular en este aspcto hasta PHP 5.2.1. Se recomienda utilizar simplemente las constantes STDIN, STDOUT y STDERR en lugar de abrir flujos manualmente usando estas envolturas.

php://stdin es de sólo lectura, mientras que php://stdout y php://stderr son de sólo escritura.

php://input

php://input es un flujo de sólo lectura que permite leer datos del cuerpo solicitado. En el caso de peticiones POST, es preferible usar php://input en vez de $HTTP_RAW_POST_DATA ya que no depende de diretivas php.ini especiales. Sin embargo, cuando no se genera automáticamente $HTTP_RAW_POST_DATA, se trata de una alternativa que hace un uso menos intensivo de memoria que activando always_populate_raw_post_data. php://input no está disponible con enctype="multipart/form-data".

Nota: Los flujos que se abren con php://input sólo pueden leerse una vez; no hay soporte para operaciones de búsqueda. Pero, dependiendo de la SAPI, podría ser posible abrir otro flujo php://input para reiniciar la lectura. Esto sólo es posible si los datos de la petición se han guardado. Este caso es típico en peticiones POST, pero no en otros métodos de petición, como por ejemplo PUT o PROPFIND.

php://output

php://output es un flujo de sólo lectura que permite escribir en el buffer de salida tal como lo hacen print y echo.

php://fd

php://fd permite el acceso directo al descriptor de archivo dado. Por ejemplo, php://fd/3 refiere al descriptor de archivo 3.

php://memory y php://temp

php://memory y php://temp son flujos de lectura-escritura que permiten almacenar datos temporales en una envoltura similar a un fichero. La única diferencia entre las dos es que php://memory siempre almacenará sus datos en memoria, mientras que php://temp utilizará un fichero temporal cuando la cantidad de datos almacenados superen el límite predefinido (por omisión, 2 MB). La ubicación de este fichero temporal está determinada de la misma manera que la función sys_get_temp_dir(),

El límite de memoria de php://temp se puede controlar añadiendo /maxmemory:NN, donde NN es la cantidad en bytes máxima de datos a almacenar en memoria antes de recurrir a un fichero temporal.

php://filter

php://filter es una especie de meta-envoltura diseñada para permitir aplicar filtros a los flujos en las aperturas. Esto es muy útil en las funciones todo en uno, como readfile(), file(), y file_get_contents() donde, por otra parte, no se pueden aplicar filtros a los flujos antes de que se lea su contenido.

php://filter acepta los siguientes parámetros como parte de su ruta. Se pueden especifcar múltiples filtros en una ruta. Por favor, consulte los ejemplos para los usos concretors de estos parámetros.

parámetros de php://filter
Nombre | Descripción
resource=<flujo a filtrar> | Este parámetro es obligatorio. Especifica el flujo que se desea filtrar.
read=<listra de filtros a aplicar a la cadena de lectura> | Este parámetro es opcional. Se pueden enumerar uno o más filtros, separados por el carácter |.
write=<lista de filtros a aplicar a la cadena de escritura> | Este parámetro es opcional. Se puedene enumerar uno o más filtros, separados por el carácter |.
<lista de filtros a aplicar a las dos cadenas> | Cualquier listra de filtros que no esté precedida ni por read= ni por write= se aplicará tanto a las cadenas de lectura como de escritura según proceda.

Opciones

Resumen de la Envoltura (Para php://filter, consúltese el resumen de la envoltura que se filtra)
Atributo | Permitido
Restringido por allow_url_fopen | No
Restringido por allow_url_include | php://input, php://stdin, php://memory y php://temp solamente.
Permite Lecturas | php://stdin, php://input, php://fd, php://memory y php://temp solamente.
Permite Escrituras | php://stdout, php://stderr, php://output, php://fd, php://memory y php://temp solamente.
Permite Añadir contenidos | php://stdout, php://stderr, php://output, php://fd, php://memory y php://temp solamente. (Equivalente a escrituras)
Permite Lecturas y Escrituras Simultáneas | php://fd, php://memory y php://temp solamente.
Permite usar la función stat() | php://memory y php://temp solamente.
Permite usar la función unlink() | No
Permite usar la función rename() | No
Permite usar la función mkdir() | No
Permite usar la función rmdir() | No
Permite usar la función stream_select() | php://stdin, php://stdout, php://stderr, php://fd y php://temp solamente.

Historial de cambios

Versión | Descripción
5.3.6 | Se añadió php://fd.
5.1.0 | Se añadió php://memory y php://temp.
5.0.0 | Se añadió php://filter.

Ejemplos

Ejemplo #1 php://temp/maxmemory

Este parámetro opcional permite establecer el límite de memoria a partir del cual php://temp comienza a usar un fichero temporal.

<?php
// Establecer el límite a 5 MB.
$fiveMBs = 5 * 1024 * 1024;
$fp = fopen("php://temp/maxmemory:$fiveMBs", 'r+');

fputs($fp, "hello\n");

// Leer lo que hemos escrito.
rewind($fp);
echo stream_get_contents($fp);
?>

Ejemplo #2 php://filter/resource=<flujo a filtrar>

Este parámetro tiene que ubicarse al final de la especificación de php://filter y tiene que apuntar al flujo que se desea filtrar.

<?php
/* Esto es equivalente a:
  readfile("http://www.example.com");
  dado que no se especifica ningún filtro */

readfile("php://filter/resource=http://www.example.com");
?>

Ejemplo #3 php://filter/read=<lista de filtros a aplicar a la cadena de lectura>

Este parámetro contiene uno o más nombres de filtros separados por el caracter |.

<?php
/* Devolverá el contenido de
  www.example.com en mayúsculas */
readfile("php://filter/read=string.toupper/resource=http://www.example.com");

/* Hará lo mismo que el ejemplo de arriba
  pero además lo codificará en ROT13 */
readfile("php://filter/read=string.toupper|string.rot13/resource=http://www.example.com");
?>

Ejemplo #4 php://filter/write=<lista de filtros a aplicar a la cadena de escritura>

Este parámetro contiene uno o más nombres de filtros separados por el caracter |.

<?php
/* Filtrará el string "Hello World" con
  el filtro rot13, y después lo escribirá en
  example.txt dentro del directorio actual */
file_put_contents("php://filter/write=string.rot13/resource=example.txt","Hello World");
?>
ftp://
zlib://
Protocolos y Envolturas soportados


Flujos de compresión

php://
data://
Protocolos y Envolturas soportados
PHP Manual

zlib://

bzip2://

zip://

zlib:// -- bzip2:// -- zip:// — Flujos de compresión

Descripción

zlib: PHP 4.0.4 - PHP 4.2.3 (sólo en sistemas con fopencookie)

compress.zlib:// and compress.bzip2:// PHP 4.3.0 y superior

zlib: funciona como gzopen(), solo que usando el flujo, se puede utilizar con fread() al igual que con otras funciones del sistema de ficheros. Esto quedó obsoleto en PHP 4.3.0 debido a la ambigüedad que surge con los nombres de fichero que contienen el caracter ':'; en su lugar, debe usarse compress.zlib://.

compress.zlib:// y compress.bzip2:// son equivalentes a gzopen() y a bzopen() respectivamente, y funcionan incluso en sistemas que no tienen soporte para fopencookie.

La extensión ZIP registra la envoltura zip:.

Uso

  • compress.zlib://file.gz
  • compress.bzip2://file.bz2
  • zip://archive.zip#dir/file.txt

Opciones

Resumen de la Envoltura
Atributo | Permitido
Restringido por allow_url_fopen | No
Permite Lecturas | Sí
Permite Escrituras | Sí (excepto zip://)
Permite Añadir contenidos | Sí (excepto zip://)
Permite Lecturas y Escrituras Simultaneas | No
Permite usar la función stat() | No, utilice la envoltura file:// para consultar la información de un fichero.
Permite usar la función unlink() | No, utilice la envoltura file:// para eliminar ficheros comprimidos.
Permite usar la función rename() | No
Permite usar la función mkdir() | No
Permite usar la función rmdir() | No

php://
data://
Protocolos y Envolturas soportados


Data (RFC 2397)

zlib://
glob://
Protocolos y Envolturas soportados
PHP Manual

data://

data:// — Data (RFC 2397)

Descripción

La envoltura del flujo data: (» RFC 2397) está disponible desde PHP 5.2.0.

Uso

  • data://text/plain;base64,

Opciones

Resumen de la envolutra
Atributo | Permitido
Restringido por allow_url_fopen | No
Restringido por allow_url_include | Sí
Permite Lecturas | Sí
Permite Escrituras | No
Permite Añadir contenido | No
Permite Lectura y Escritura Simultanea | No
Permite usar la función stat() | No
Permite usar la función unlink() | No
Permite usar la función rename() | No
Permite usar la función mkdir() | No
Permite usar la función rmdir() | No

Ejemplos

Ejemplo #1 Mostrar contenidos de data://

<?php
// muestra "I love PHP"
echo file_get_contents('data://text/plain;base64,SSBsb3ZlIFBIUAo=');
?>

Ejemplo #2 Obtener el Tipo de Medio

<?php
$fp   = fopen('data://text/plain;base64,', 'r');
$meta = stream_get_meta_data($fp);

// muestra "text/plain"
echo $meta['mediatype'];
?>
zlib://
glob://
Protocolos y Envolturas soportados


Encuentra las rutas que coincidan con el patrón

data://
phar://
Protocolos y Envolturas soportados
PHP Manual

glob://

glob:// — Encuentra las rutas que coincidan con el patrón

Descripción

La envoltura del flujo glob: está disponible desde PHP 5.3.0.

Uso

  • glob://

Opciones

Resumen de la Envoltura
Atributo | Permitido
Restringido por allow_url_fopen | No
Restringido por allow_url_include | No
Permite Lecturas | No
Permite Escrituras | No
Permite Añadir Contenidos | No
Permite Lecturas y Escrituras Simultáneas | No
Permite usar la función stat() | No
Permite usar la función unlink() | No
Permite usar la función rename() | No
Permite usar la función mkdir() | No
Permite usar la función rmdir() | No

Ejemplos

Ejemplo #1 Uso básico

<?php
// Recorrer todos los ficheros *.php del directorio ext/spl/examples/
// y mostrar sus nombres y tamaños
$it = new DirectoryIterator("glob://ext/spl/examples/*.php");
foreach($it as $f) {
    printf("%s: %.1FK\n", $f->getFilename(), $f->getSize()/1024);
}
?>
tree.php: 1.0K
findregex.php: 0.6K
findfile.php: 0.7K
dba_dump.php: 0.9K
nocvsdir.php: 1.1K
phar_from_dir.php: 1.0K
ini_groups.php: 0.9K
directorytree.php: 0.9K
dba_array.php: 1.1K
class_tree.php: 1.8K
data://
phar://
Protocolos y Envolturas soportados


Archivo PHP

glob://
ssh2://
Protocolos y Envolturas soportados
PHP Manual

phar://

phar:// — Archivo PHP

Descripción

La envoltura de flujo phar:// está disponible desde PHP 5.3.0. Para consultar una descripción detallada, revise envoltura del flujo Phar.

Uso

  • phar://

Opciones

Resumen de la Envoltura
Atributo | Permitido
Restringido por allow_url_fopen | No
Restringido por allow_url_include | No
Permite Lecturas | Sí
Permite Escrituras | Sí
Permite Añadir contenidos | No
Permite Lectura y Escritura Simultanea | Sí
Permite usar la función stat() | Sí
Permite usar la función unlink() | Sí
Permite usar la función rename() | Sí
Permite usar la función mkdir() | Sí
Permite usar la función rmdir() | Sí

Ver también

  • Opciones de contexto Phar
glob://
ssh2://
Protocolos y Envolturas soportados


Secure Shell 2

phar://
rar://
Protocolos y Envolturas soportados
PHP Manual

ssh2://

ssh2:// — Secure Shell 2

Descripción

ssh2.shell:// ssh2.exec:// ssh2.tunnel:// ssh2.sftp:// ssh2.scp:// PHP 4.3.0 y superior (PECL)

Nota: Esta envoltura no está habilitada por omisión
Para poder usarse la envoltura ssh2.*:// debe instalarase la extensión » SSH2 disponible en » PECL.

Además de permitir hacer un login tradicional en la URI, la envoltura ssh2 también puede reutilizar las conexiones ya abiertas, proporcionando el recurso de conexión en el apartado host de la URL.

Uso

  • ssh2.shell://usuario:contraseña@ejemplo.com:22/xterm
  • ssh2.exec://usuario:contraseña@ejemplo.com:22/usr/local/bin/comando
  • ssh2.tunnel://usuario:contraseña@ejemplo.com:22/192.168.0.1:14
  • ssh2.sftp://usuario:contraseña@ejemplo.com:22/ruta/a/fichero

Opciones

Resumen de la Envoltura
Atributo | ssh2.shell | ssh2.exec | ssh2.tunnel | ssh2.sftp | ssh2.scp
Restringido por allow_url_fopen | Sí | Sí | Sí | Sí | Sí
Permite Lecturas | Sí | Sí | Sí | Sí | Sí
Permite Escrituras | Sí | Sí | Sí | Sí | No
Permite Añadir contenidos | No | No | No | Sí (cuando esté soportado por el servidor) | No
Permite Lecturas y Escrituras Simultáneas | Sí | Sí | Sí | Sí | No
Permite usar la función stat() | No | No | No | Sí | No
Permite usar la función unlink() | No | No | No | Sí | No
Permite usar la función rename() | No | No | No | Sí | No
Permite usar la función mkdir() | No | No | No | Sí | No
Permite usar la función rmdir() | No | No | No | Sí | No

Opciones de contexto
Nombre | Uso | Valor por omisión
session | Recurso ssh2 preconectado a utilizar |
sftp | Recurso sftp preubicado a reutilizar |
methods | métodos a usar de entre Key exchange, hostkey, cipher, compression, y MAC |
callbacks |  |
username | Nombre de usuario con el que conectar |
password | Contraseña a utilizar en autenticación con contraseña |
pubkey_file | Nombre del fichero con la clave pública que se usará para autenticar |
privkey_file | Nombre del fichero con la clave privada que se usará para autenticar |
env | Array asociativo con las variables de entorno que se van a asignar |
term | Tipo de emulación del terminal a solicitar cuando se asigne un pty (pseudo terminal) |
term_width | Ancho del terminal solicitado cuando se asigne un pty |
term_height | Altura del terminal solicitado cuando se asigne un pty |
term_units | Unidades a usar con term_width y con term_height | SSH2_TERM_UNIT_CHARS

Ejemplos

Ejemplo #1 Abriendo un flujo a partir de una conexión activa

<?php
$session = ssh2_connect('example.com', 22);
ssh2_auth_pubkey_file($session, 'username', '/home/username/.ssh/id_rsa.pub',
                                            '/home/username/.ssh/id_rsa', 'secret');
$stream = fopen("ssh2.tunnel://$session/remote.example.com:1234", 'r');
?>

Ejemplo #2 ¡La variable $session debe permanecer disponible!

Para utilizar la envoltura ssh2.*://$session debe mantenerse el recurso $session disponible. El código siguiente no tendrá el efecto deseado:

<?php
$session = ssh2_connect('example.com', 22);
ssh2_auth_pubkey_file($session, 'username', '/home/username/.ssh/id_rsa.pub',
                                            '/home/username/.ssh/id_rsa', 'secret');
$connection_string = "ssh2.sftp://$session/";
unset($session);
$stream = fopen($connection_string . "path/to/file", 'r');
?>

unset() cierra la sesión, ya que $connection_string no contiene una referencia a la variable $session, simplemente una representación de la cadena derivada de ella. Esto también ocurre cuando unset() va implícito porque se sale del ámbito (como dentro de una función).

phar://
rar://
Protocolos y Envolturas soportados


RAR

ssh2://
ogg://
Protocolos y Envolturas soportados
PHP Manual

rar://

rar:// — RAR

Descripción

Esta envoltura se compone de una ruta al fichero RAR (relativa o absoluta) codificada como URL, un asterisco opcional (*), un signo de número opcional (#) y un nombre de entrada codificado como URL que también es opcional, tal como se almacena en el fichero. Cuando se especifique un nombre de entrada, será necesario también especificar un signo de número; además, se puede añadir al final del nombre una barra.

Esta envoltura puede abrir tanto ficheros como directorios. Cuando se abre un directorio, el signo asterisco obliga a que los nombres de las entradas del directorio se devuelvan decodificados. Si no se especifica, se devolverán codificadas como URL – esto es así para permitir hacer un uso correcto de la envoltura con determinadas funcionalidades, como RecursiveDirectoryIterator cuando se está en presencia de nombres de ficheros que podrían parecen datos codificados como URL.

Si no se proporciona ni un signo de número ni tampoco un número de entrada, se mostrará la raíz del fichero. La diferencia respecto a directorios convencionales es que el flujo no contendrá determinada información, tal como la fecha de modificación, dado que el directorio raíz no se almacena dentro el fichero comprimido en de una entrada individual. Para usar la envoltura con RecursiveDirectoryIterator es necesario que al acceder al raíz se incluya el signo de número en la URL, para que así las URLs de los nodos hijo se puedan construir correctamente.

Nota: Esta envoltura no está habilitada por omisión
Para poder usar la envoltura rar://, debe instalarse la extensión » rar disponible en » PECL.

rar:// Disponible desde PECL rar 3.0.0

Uso

  • rar://<nombre de archivo con codificación url>[*][#[<nombre de entrada con codificación url>]]

Opciones

Resumen de la Envoltura
Atributo | Permitido
Restringido por allow_url_fopen | No
Restringido por allow_url_include | No
Permite Lecturas | Sí
Permite Escrituras | No
Permite Añadir contenido | No
Permite Lecturas y Escrituras Simultáneas | No
Permite usar la función stat() | Sí
Permite usar la función unlink() | No
Permite usar la función rename() | No
Permite usar la función mkdir() | No
Permite usar la función rmdir() | No

Opciones de contexto
Nombre | Uso | Valor por omisión
open_password | Si la hubiera, contraseña utilizada para encriptar las cabeceras del archivo. WinRAR encriptará todos los ficheros con la misma contraseña que la cabecera siempre que ésta esté presente, por lo que se ignorará file_password en archivos que contengan cabeceras encriptadas. |
file_password | Si la hubiera, contraseña utilizada para encriptar un fichero. Si las cabeceras estuvieran también encriptadas, se ignoraría esta opción en favor de open_password. El motivo por el que hay dos opciones es para así cubrir la posibilidad de que haya un archivo con contraseñas diferentes para la cabecera y los ficheros. Tenga en cuenta que si el archivo no tuviera sus cabeceras encriptadas, se ignoraría open_password y tendría que usarse en su lugar esta opción. |
volume_callback | Llamada de retorno que determina la ruta de las partes que no se hayan podido capturar. Para más información, revise RarArchive::open(). |

Ejemplos

Ejemplo #1 Recorriendo un archivo RAR

<?php

class MyRecDirIt extends RecursiveDirectoryIterator {
    function current() {
        return rawurldecode($this->getSubPathName()) .
            (is_dir(parent::current())?" [DIR]":"");
    }
}

$f = "rar://" . rawurlencode(dirname(__FILE__)) .
    DIRECTORY_SEPARATOR . 'dirs_and_extra_headers.rar#';

$it = new RecursiveTreeIterator(new MyRecDirIt($f));

foreach ($it as $s) {
    echo $s, "\n";
}
?>

El resultado del ejemplo sería algo similar a:

|-allow_everyone_ni [DIR]
|-file1.txt
|-file2_אּ.txt
|-with_streams.txt
\-אּ [DIR]
  |-אּ\%2Fempty%2E [DIR]
  | \-אּ\%2Fempty%2E\file7.txt
  |-אּ\empty [DIR]
  |-אּ\file3.txt
  |-אּ\file4_אּ.txt
  \-אּ\אּ_2 [DIR]
    |-אּ\אּ_2\file5.txt
    \-אּ\אּ_2\file6_אּ.txt

Ejemplo #2 Abriendo un fichero encriptado (encriptación de cabeceras)

<?php
$stream = fopen("rar://" .
    rawurlencode(dirname(__FILE__)) . DIRECTORY_SEPARATOR .
    'encrypted_headers.rar' . '#encfile1.txt', "r", false,
    stream_context_create(
        array(
            'rar' =>
                array(
                    'open_password' => 'samplepassword'
                )
            )
        )
    );
var_dump(stream_get_contents($stream));
/* ni la fecha de creación ni la de último acceso es obligatoria WinRAR,
 * por esa razón la mayoría de ficheros no lo tendrán */
var_dump(fstat($stream));
?>

El resultado del ejemplo sería algo similar a:

string(34) "Contenido del fichero encriptado 1"
Array
(
    [0] => 0
    [1] => 0
    [2] => 33206
    [3] => 1
    [4] => 0
    [5] => 0
    [6] => 0
    [7] => 26
    [8] => 0
    [9] => 1259550052
    [10] => 0
    [11] => -1
    [12] => -1
    [dev] => 0
    [ino] => 0
    [mode] => 33206
    [nlink] => 1
    [uid] => 0
    [gid] => 0
    [rdev] => 0
    [size] => 26
    [atime] => 0
    [mtime] => 1259550052
    [ctime] => 0
    [blksize] => -1
    [blocks] => -1
)
ssh2://
ogg://
Protocolos y Envolturas soportados


Flujos de audio

rar://
expect://
Protocolos y Envolturas soportados
PHP Manual

ogg://

ogg:// — Flujos de audio

Descripción

Los ficheros que se abran para lectura usando la envoltura ogg:// se utilizan como codificaciones de audio comprimido usando el códec OGG/Vorbis. De forma similar, los ficheros abiertos para escritura o para añadir contenido usando la envoltura ogg:// se escriben como datos de audio comprimidos. Cuando se use la función stream_get_meta_data() con un fichero OGG/Vorbis abierto para lectura, se devolverán diversos detalles del flujo, incluyendo la etiqueta vendor, cualquier comments que se haya añadido, el número de canales channels, el ratio de muestreo, y el rango del ratio de codificación descrito por: bitrate_lower, bitrate_upper, bitrate_nominal, y bitrate_window.

ogg:// PHP 4.3.0 and up (PECL)

Nota: Esta envoltura no está habilitada por omisión
Para usar la envoltura ogg:// es necesario instalar la extensión » OGG/Vorbis disponible en » PECL.

Uso

  • ogg://soundfile.ogg
  • ogg:///path/to/soundfile.ogg
  • ogg://http://www.example.com/path/to/soundstream.ogg

Opciones

Resumen de la Envoltura
Atributo | Permitido
Restringido por allow_url_fopen | No
Permite Lecturas | Sí
Permite Escrituras | Sí
Permite Añadir contenido | Sí
Permite Lecturas y Escrituras Simultánea | No
Permite usar la función stat() | No
Permite usar la función unlink() | No
Permite usar la función rename() | No
Permite usar la función mkdir() | No
Permite usar la función rmdir() | No

Opciones de contexto
Nombre | Uso | Valor por omisión | Modo
pcm_mode | codificación PCM que se aplicará en las lecturas, de entre: OGGVORBIS_PCM_U8, OGGVORBIS_PCM_S8, OGGVORBIS_PCM_U16_BE, OGGVORBIS_PCM_S16_BE, OGGVORBIS_PCM_U16_LE, y OGGVORBIS_PCM_S16_LE. (8 o 16 bit, con o sin signo, big o little endian) | OGGVORBIS_PCM_S16_LE | Lectura
rate | Ratio de muestreo en datos de entradas, expresado en Hz | 44100 | Escritura/Adición
bitrate | Si es un entero, definirá el bitrate fijo al que se codificará. (de 16000 a 131072) Si es un real, definirá la calidad del bitrate variable a usar. (de -1.0 a 1.0) | 128000 | Escritura/Adición
channels | El número de canales de audio a codificar, normalmente 1 (mono), o 2 (estéreo). Puede llegar a 16. | 2 | Escritura/Adición
comments | Un array de strings a codificar en la cabecera de la pista. |  | Escritura/Adición

Ejemplos

rar://
expect://
Protocolos y Envolturas soportados


Flujos de Interacción de Procesos

ogg://
Seguridad
Protocolos y Envolturas soportados
PHP Manual

expect://

expect:// — Flujos de Interacción de Procesos

Descripción

Los flujos que se hayan abierto con la envoltura expect://, darán acceso a stdio, stdout y stderr (entrada, salida y errores estándar respectivamente) de los procesos, vía PTY.

Nota: Esta envoltura no está habilitada por omisión
Para poder usar la envoltura expect:// se debe instalar la extensión » Expect disponible en » PECL.

expect:// PHP 4.3.0 y superior (PECL)

Uso

  • expect://command

Opciones

Resumen de la Envoltura
Atributo | Permitido
Restringido por allow_url_fopen | No
Permites Lecturas | Sí
Permite Escrituras | No
Permite Añadir contenido | Sí
Permite Lecturas y Escrituras Simultáneas | No
Permite usar la función stat() | No
Permite usar la función unlink() | No
Permite usar la función rename() | No
Permite usar la función mkdir() | No
Permite usar la función rmdir() | No

Ejemplos

ogg://
Seguridad
Protocolos y Envolturas soportados


Seguridad

  • Introducción
  • Consideraciones generales
  • Installed as CGI binary
    • Ataques posibles
    • Caso 1: Ficheros públicos servidos solamente
    • Caso 2: utilizando cgi.force_redirect
    • Caso 3: Configurando doc_root o user_dir
    • Caso 4: El analizador de PHP fuera del árbol de la web
  • Instalado como módulo de Apache
  • Seguridad del Sistema de Archivos
    • Cuestiones relacionadas a bytes nulos
  • Seguridad de Bases de Datos
    • Diseñando la base de datos
    • Conectándose a la base de datos
    • Modelo de almacenamiento encriptado
    • Inyección de SQL
  • Reportando errores
  • Usando Register Globals
  • Datos Enviados por el Usuario
  • Comillas Mágicas
    • ¿Qué son las Comillas Mágicas?
    • Por qué usarlas
    • Por qué no usarlas
    • Deshabilitar las comillas mágicas
  • Ocultando PHP
  • Mantenerse al día
expect://
Introducción
Manual de PHP


Introducción

PHP es un potente lenguaje, y su intérprete, bien como módulo del servidor web o bien como binario CGI, puede acceder a ficheros, ejecutar comandos o abrir conexiones de red desde el servidor. Estas propiedades hacen que, por omisión, sea inseguro todo lo que se ejecute en un servidor web. PHP está diseñado específicamente para ser un lenguaje más seguro para escribir aplicaciones CGI que Perl or C. Partiendo de un correcto ajuste de opciones de configuración para tiempo de ejecución y en tiempo de compilación, y el uso de prácticas de programación apropiadas, pueden proporcionarle la combinación de libertad y de seguridad que necesita.

Dado que hay muchas vías para ejecutar PHP, existen muchas opciones de configuración para controlar su comportamiento. Al haber una extensa selección de opciones se garantiza poder usar PHP para un gran número de propósitos, pero a la vez significa que existen combinaciones que conllevan una configuración menos segura.

La flexibilidad de configuración de PHP rivaliza igualmente con la flexibilidad de su código. PHP puede ser usado para construir completas aplicaciones de servidor, con toda la potencia de un usuario de consola, o se puede usar sólo desde el lado del servidor implicando un menor riesgo dentro de un entorno controlado. El cómo construir ese entorno, y cómo de seguro es, depende del desarrollador PHP.

Este capítulo comienza con algunos consejos generales de seguridad, explica las diferentes combinaciones de opciones de configuración y las situaciones en que pueden ser útiles, y describe diferentes consideraciones relacionadas con la programación de acuerdo a diferentes niveles de seguridad.

Seguridad
Consideraciones generales
Seguridad


Consideraciones generales

Un sistema completamente seguro es prácticamente un imposible, de modo que el enfoque usado con mayor frecuencia en la profesión de seguridad es uno que busque el balance adecuado entre riesgo y funcionalidad. Si cada variable enviada por un usuario requiriera de dos formas de validación biométrica (como rastreo de retinas y análisis dactilar), usted contaría con un nivel extremadamente alto de confiabilidad. También implicaría que llenar los datos de un formulario razonablemente complejo podría tomar media hora, cosa que podría incentivar a los usuarios a buscar métodos para esquivar los mecanismos de seguridad.

La mejor seguridad con frecuencia es lo suficientemente razonable como para suplir los requerimientos dados sin prevenir que el usuario realice su labor de forma natural, y sin sobrecargar al autor del código con una complejidad excesiva. De hecho, algunos ataques de seguridad son simples recursos que aprovechan las vulnerabilidades de este tipo de seguridad sobrecargada, que tiende a erosionarse con el tiempo.

Una frase que vale la pena recordar: Un sistema es apenas tan bueno como el eslabón más débil de una cadena. Si todas las transacciones son registradas copiosamente basándose en la fecha/hora, ubicación, tipo de transacción, etc. pero la verificación del usuario se realiza únicamente mediante una cookie sencilla, la validez de atar a los usuarios al registro de transacciones es mermada severamente.

Cuando realice pruebas, tenga en mente que no será capaz de probar todas las diferentes posibilidades, incluso para las páginas más simples. Los datos de entrada que usted puede esperar en sus aplicaciones no necesariamente tendrán relación alguna con el tipo de información que podría ingresar un empleado disgustado, un cracker con meses de tiempo entre sus manos, o un gato doméstico caminando sobre el teclado. Es por esto que es mejor observar el código desde una perspectiva lógica, para determinar en dónde podrían introducirse datos inesperados, y luego hacer un seguimiento de cómo esta información es modificada, reducida o amplificada.

Internet está repleto de personas que tratan de crearse fama al romper la seguridad de su código, bloquear su sitio, publicar contenido inapropiado, y por lo demás haciendo que sus días sean más interesantes. No importa si usted administra un sitio pequeño o grande, usted es un objetivo por el simple hecho de estar en línea, por tener un servidor al cual es posible conectarse. Muchas aplicaciones de cracking no hacen distinciones por tamaños, simplemente recorren bloques masivos de direcciones IP en busca de víctimas. Trate de no convertirse en una.

Introducción
Installed as CGI binary
Seguridad


Installed as CGI binary

Tabla de contenidos

  • Ataques posibles
  • Caso 1: Ficheros públicos servidos solamente
  • Caso 2: utilizando cgi.force_redirect
  • Caso 3: Configurando doc_root o user_dir
  • Caso 4: El analizador de PHP fuera del árbol de la web
Consideraciones generales
Ataques posibles
Seguridad


Ataques posibles

Usar PHP como un binario CGI es una opción para configuraciones que por alguna razón no desean integrar PHP como un módulo dentro del software de servidor (como Apache), o usarán PHP con diferentes tipos de envoltorios CGI para crear entornos seguros chroot y setuid para scripts. Esta configuración usualmente involucra la instalación del binario ejecutable de PHP en el directorio cgi-bin del servidor web. La recomendación » CA-96.11 del CERT recomienda que está en contra de colocar cualquiera de los intérpretes dentro de cgi-bin. Aún si el binario de PHP puede ser usado como un intérprete independiente, PHP está diseñado para prevenir los ataques que esta configuración hace posible:

  • Accediendo a los ficheros del sistema: http://mi.servidor/cgi-bin/php?/etc/passwd La consulta de información en una URL después del signo de interrogación (?) es pasado como argumento de la línea de comandos al intérprete por la interface del CGI. Usualmente los intérpretes abren y ejecutan el fichero especificado como el primer argumento en la línea de comandos. Cuando es invocado como un binario de CGI, PHP se rehusa a interpretar los argumentos de línea de comandos.
  • Accediendo a cualquier documento web en el servidor: http://mi.servidor/cgi-bin/php/directorio/secreto/doc.html Parte de la ruta de información de la URL después del nombre del binario de PHP, /directorio/secreto/doc.html es convencionalmente utilizado para especificar el nombre del fichero a ser abierto e interpretado por el programa CGI. Usualmente las directivas de configuración de algunos servidores web (Apache: Acción) son utilizados para redirigir peticiones a los documentos como http://mi.servidor/directorio/secreto/script.php al intérprete de PHP. Con esta configuración, el servidor web revisa primero los permisos de acceso a los directorios /directorio/secreto, y después crea la petición redirigida http://mi.servidor/cgi-bin/php/directorio/secreto/script.php. Desafortunadamente, si la petición es proporcionada originalmente en esta forma, no se revisan los accesos a los directorios hechos por el servidor web /directorio/secreto/script.php, sino solamente al fichero /cgi-bin/php. De esta forma /cgi-bin/php cualquier usuario está habilitado a acceder a cualquier documento protegido en el servidor web. En PHP, las directivas de configuración en tiempo de ejecución cgi.force_redirect, doc_root y user_dir pueden ser utilizadas para prevenir este ataque, si el árbol de documentos del servidor tiene cualquiera de estos directorios con restricciones de acceso. Véase más abajo para una explicación completa de las diferentes combinaciones.
Installed as CGI binary
Caso 1: Ficheros públicos servidos solamente
Installed as CGI binary


Caso 1: Ficheros públicos servidos solamente

Si su servidor no tiene ningún contenido que no esté restringido por contraseña o control de acceso basado en IP, no hay necesidad de estas opciones de configuración. Si su servidor web no le permite hacer redirecciones, o el servidor no tiene una forma de comunicar al binario de PHP que la petición es una forma segura de petición de redireccionamiento, puede especificar la opción --enable-force-cgi-redirect para el script de configuración. Usted todavía tiene que asegurarse que sus scripts de PHP no confían en una forma o en otra para llamar el script, ni directamente http://my.host/cgi-bin/php/dir/script.php ni por redirección http://my.host/dir/script.php.

La redirección puede ser configurada en Apache utilizando directivas Action y AddHandler (vea más abajo).

Ataques posibles
Caso 2: utilizando cgi.force_redirect
Installed as CGI binary


Caso 2: utilizando cgi.force_redirect

La directiva de configuración cgi.force_redirect previene a cualquiera que llame a PHP directamente por medio de una URL como esta http://mi.servidor/cgi-bin/php/directoriosecreto/script.php. En cambio, PHP solamente lo analizará en este modo si éste se ha ido a través de una regla directa del servidor web. Las versiones de PHP antiguas a la versión 4.2.0 utilizaban --enable-force-cgi-redirect en opción de tiempo de compilación para esto.

Usualmente la redirección en la configuración de Apache se hace con las siguientes directivas:

Action php-script /cgi-bin/php
AddHandler php-script .php

Esta opción ha sido probada solamente con el servidor web Apache, y se basa en que en Apache se configure en una variable de entorno no-estándar de CGI REDIRECT_STATUS para peticiones de redirección. Si su servidor web no soporta ninguna forma de decirle si la petición es directa o redirigida, usted no puede utilizar esta opción y debe usar una de las otras formas de ejecutar la versión CGI aquí documentadas.

Caso 1: Ficheros públicos servidos solamente
Caso 3: Configurando doc_root o user_dir
Installed as CGI binary


Caso 3: Configurando doc_root o user_dir

Para incluir contenido activo, como scripts y ejecutables, en los directorios de documentos del servidor web es algunas veces considerado una práctica insegura. Si, por el hecho del algún error de configuración, los scripts no se ejecutan y son mostrados como documentos HTML regulares, esto podría resultar en una fuga de información de propiedad intelectual o de información de seguridad como las contraseñas. Por lo tanto muchos Administradores de Sistemas preferirán configurar otra estructura de directorios para scripts que sean accesibles solamente a través del CGI de PHP, y por lo tanto siempre interpretado y no desplegado como tal.

También si el método para asegurar las peticiones no es redirigido, como se describió en la sección anterior, no está disponible, es necesario configurar un script doc_root que sea diferente de la raíz del documento web.

Usted puede configurar el script de la raíz de documento de PHP en la directiva de configuración doc_root en el fichero de configuración, o puede configurar la variable de entorno PHP_DOCUMENT_ROOT. Si éste es configurado, la versión del CGI de PHP siempre construirá el nombre del fichero para abrir con este doc_root y la ruta de información en la petición, de tal forma que pueda estar seguro que ningún script será ejecutado fuera de este directorio (excepto por user_dir que se encuentra más abajo).

Otra opción utilizable es esta user_dir. Cuando user_dir no está configurado, lo único que controla el fichero abierto es doc_root. Al abrir una URL como http://mi.servidor/~usuario/documento.php no resulta en la apertura de un fichero bajo el directorio personal de los usuarios, pero si un fichero llamado ~usuario/documento.php debajo de doc_root (si, un nombre de directorio que inicia con una a tilde [~]).

Si user_dir es configurado, por ejemplo public_php, una petición como http://mi.servidor/~usuario/doc.php abrirá un fichero llamado doc.php bajo el directorio llamado public_php debajo de el directorio personal del usuario. Si el directorio personal del usuario es /home/usuario, el fichero ejecutado será /home/user/public_php/doc.php.

La expansión de user_dir sucede sin tomar en cuenta la configuración de doc_root, así que usted puede controlar el acceso a la raíz de los documentos y el directorio de los usuarios separadamente.

Caso 2: utilizando cgi.force_redirect
Caso 4: El analizador de PHP fuera del árbol de la web
Installed as CGI binary


Caso 4: El analizador de PHP fuera del árbol de la web

Una opción muy segura es poner el binario analizador de PHP en algún lugar fuera del árbol de ficheros de la web. En /usr/local/bin, por ejemplo. El único inconveniente real con esta opción es que ahora tendrá que poner una línea similar a:

#!/usr/local/bin/php
como la primera línea de cualquier fichero que contenga etiquetas de PHP. También necesitará hacer que el fichero sea ejecutable. Eso significa, tratarlo exactamente como trataría cualquier otro script de CGI escrito en Perl, sh, bash, o cualquier otro lenguaje común de script el cual utilice #! como mecanismo de ejecución de si mismo.

Para que PHP maneje la información correctamente de PATH_INFO y PATH_TRANSLATED con esta configuración, el analizador de PHP debería ser compilado con la opción de configuración --enable-discard-path.

Caso 3: Configurando doc_root o user_dir
Instalado como módulo de Apache
Installed as CGI binary


Instalado como módulo de Apache

Cuando PHP es usado como un módulo de Apache, hereda los permisos del usuario de Apache (generalmente los del usuario "nobody"). Este hecho representa varios impactos sobre la seguridad y las autorizaciones. Por ejemplo, si se está usando PHP para acceder a una base de datos, a menos que tal base de datos disponga de un control de acceso propio, se tendrá que hacer que la base de datos sea asequible por el usuario "nobody". Esto quiere decir que un script malicioso podría tener acceso y modificar la base de datos, incluso sin un nombre de usuario y contraseña. Es completamente posible que una araña(bot) web pudiera toparse con la página web de administración de una base de datos, y eliminar todo de la base de datos. Una protección ante este tipo de situaciones es mediante el uso del mecanismo de autorización de Apache, o con modelos de acceso de diseño propio usando LDAP, archivos .htaccess, etc. e incluir ese código como parte de los scripts PHP.

Con frecuencia, una vez la seguridad se ha establecido en un punto en donde el usuario de PHP (en este caso, el usuario de apache) tiene asociada muy poco riesgo, se descubre que PHP se encuentra ahora imposibilitado de escribir archivos en los directorios de los usuarios. O quizás se le haya desprovisto de la capacidad de acceder o modificar bases de datos. Se ha prevenido que pudiera escribir tanto archivos buenos como malos, o que pudiera realizar transacciones buenas o malas en la base de datos.

Un error de seguridad cometido con frecuencia en este punto es darle permisos de administrador (root) a apache, o incrementar las habilidades del usuario de apache de alguna otra forma.

Incrementar los permisos del usuario de Apache hasta el nivel de administrador es extremadamente peligroso y puede comprometer al sistema entero, así que el uso de entornos sudo, chroot, o cualquier otro mecanismo que sea ejecutado como root no debería ser considerado como una opción por aquellos que no son profesionales en seguridad.

Existen otras soluciones más simples. Mediante el uso de open_basedir se puede controlar y restringir qué directorios pueden ser usados por PHP. También se pueden definir áreas solo-Apache, para restringir todas las actividades basadas en web a archivos que no son de usuarios o del sistema.

Caso 4: El analizador de PHP fuera del árbol de la web
Seguridad del Sistema de Archivos
Seguridad


Seguridad del Sistema de Archivos

Tabla de contenidos

  • Cuestiones relacionadas a bytes nulos

PHP está sujeto a la seguridad integrada en la mayoría de sistemas de servidores con respecto a los permisos de archivos y directorios. Esto permite controlar qué archivos en el sistema de archivos se pueden leer. Se debe tener cuidado con los archivos que son legibles para garantizar que son seguros para la lectura por todos los usuarios que tienen acceso al sistema de archivos.

Desde que PHP fue diseñado para permitir el acceso a nivel de usuarios para el sistema de archivos, es perfectamente posible escribir un script PHP que le permita leer archivos del sistema como /etc/passwd, modificar sus conexiones de red, enviar trabajos de impresión masiva, etc. Esto tiene algunas implicaciones obvias, es necesario asegurarse que los archivos que se van a leer o escribir son los apropiados.

Considere el siguiente script, donde un usuario indica que quiere borrar un archivo en su directorio home. Esto supone una situación en la que una interfaz web en PHP es usada regularmente para gestionar archivos, por lo que es necesario que el usuario Apache pueda borrar archivos en los directorios home de los usuarios.

Ejemplo #1 Un control pobre puede llevar a ....

<?php
// eliminar un archivo del directorio personal del usuario
$username = $_POST['user_submitted_name'];
$userfile = $_POST['user_submitted_filename'];
$homedir  = "/home/$username";

unlink("$homedir/$userfile");

echo "El archivo ha sido eliminado!";
?>
Dado que el nombre de usuario y el nombre del archivo son enviados desde un formulario, estos pueden representar un nombre de archivo y un nombre de usuario que pertenecen a otra persona, incluso se podría borrar el archivo a pesar que se supone que no estaría permitido hacerlo. En este caso, usted desearía usar algún otro tipo de autenticación. Considere lo que podría suceder si las variables enviadas son "../etc/" y "passwd". El código entonces se ejecutaría efectivamente como:

Ejemplo #2 ... Un ataque al sistema de archivos

<?php
// elimina un archivo desde cualquier lugar en el disco duro al que
// el usuario de PHP tiene acceso. Si PHP tiene acceso de root:
$username = $_POST['user_submitted_name']; // "../etc"
$userfile = $_POST['user_submitted_filename']; // "passwd"
$homedir  = "/home/$username"; // "/home/../etc"

unlink("$homedir/$userfile"); // "/home/../etc/passwd"

echo "El archivo ha sido eliminado!";
?>
Hay dos medidas importantes que usted debe tomar para prevenir estas cuestiones.
  • Únicamente permisos limitados al usuario web de PHP.
  • Revise todas las variables que se envían.
Aquí está una versión mejorada del script:

Ejemplo #3 Comprobación más segura del nombre de archivo

<?php
// elimina un archivo del disco duro al que
// el usuario de PHP tiene acceso.
$username = $_SERVER['REMOTE_USER']; // usando un mecanismo de autenticación
$userfile = basename($_POST['user_submitted_filename']);
$homedir  = "/home/$username";

$filepath = "$homedir/$userfile";

if (file_exists($filepath) && unlink($filepath)) {
    $logstring = "Se ha eliminado $filepath\n";
} else {
    $logstring = "No se ha podido eliminar $filepath\n";
}
$fp = fopen("/home/logging/filedelete.log", "a");
fwrite($fp, $logstring);
fclose($fp);

echo htmlentities($logstring, ENT_QUOTES);

?>
Sin embargo, incluso esto no está exento de defectos. Si la autenticación del sistema permite a los usuarios crear sus propios inicios de sesión de usuario, y un usuario eligió la entrada "../etc/", el sistema está expuesto una vez más. Por esta razón, puede que prefiera escribir un chequeo más personalizado:

Ejemplo #4 Comprobación más segura del nombre de archivo

<?php
$username     = $_SERVER['REMOTE_USER']; // usando un mecanismo de autenticación
$userfile     = $_POST['user_submitted_filename'];
$homedir      = "/home/$username";

$filepath     = "$homedir/$userfile";

if (!ctype_alnum($username) || !preg_match('/^(?:[a-z0-9_-]|\.(?!\.))+$/iD', $userfile)) {
    die("nombre de usuario o nombre de archivo incorrecto");
}

//etc...
?>

Dependiendo de sus sistema operativo, hay una gran variedad de archivos a los que debe estar atento, esto incluye las entradas de dispositivos (/dev/ o COM1), archivos de configuracion (archivos /etc/ y archivos .ini), las muy conocidas carpetas de almacenamiento (/home/, Mis documentos), etc. Por esta razón, por lo general es más fácil crear una política en donde se prohíba todo excepto lo que expresamente se permite.

Instalado como módulo de Apache
Cuestiones relacionadas a bytes nulos
Seguridad


Cuestiones relacionadas a bytes nulos

Como PHP utiliza las funciones de C para operaciones relacionadas al sistema de archivos, se podría manejar bytes nulos de manera bastante inesperada. Como un byte nulo denota el fin de una cadena en C, las cadenas que contengan estos no serán consideradas por completo, sino sólo hasta que ocurra un byte nulo. El siguiente ejemplo muestra un código vulnerable que presenta este problema:

Ejemplo #1 Script vulnerable a bytes nulos

<?php
$file = $_GET['file']; // "../../etc/passwd\0"
if (file_exists('/home/wwwrun/'.$file.'.php')) {
    // file_exists devolverá true si el archivo /home/wwwrun/../../etc/passwd existe
    include '/home/wwwrun/'.$file.'.php';
    // el archivo /etc/passwd se incluirá
}
?>

Por lo tanto, cualquier cadena que se utiliza en una operación de sistema de archivos siembre deben ser validados correctamente. He aquí una versión mejorada del ejemplo anterior:

Ejemplo #2 Validando correctamente la entrada

<?php
$file = $_GET['file'];

// Lista blanca de valores posibles
switch ($file) {
    case 'main':
    case 'foo':
    case 'bar':
        include '/home/wwwrun/include/'.$file.'.php';
        break;
    default:
        include '/home/wwwrun/include/main.php';
}
?>
Seguridad del Sistema de Archivos
Seguridad de Bases de Datos
Seguridad del Sistema de Archivos


Seguridad de Bases de Datos

Tabla de contenidos

  • Diseñando la base de datos
  • Conectándose a la base de datos
  • Modelo de almacenamiento encriptado
  • Inyección de SQL

Hoy en día, las bases de datos son componentes cardinales de cualquier aplicación basada en la web permitiendo a los sitios web que provean una variedad de contenido dinámico. Esta información muy sensible o secreta puede ser almacenada en una base de datos, por lo que debe considerar fuertemente proteger su base de datos.

Para devolver o almacenar cualquier información usted necesita conectarse a la base de datos, enviar una consulta legítima, devolver el resultado, y cerrar la conexión. Hoy en día, el lenguaje de consultas comunmente utilizado en esta interacción es el Lenguaje Estructurado de Consultas (SQL, por sus siglas en inglés). Vea como un atacante puede entrometerse con una consulta maliciosa de SQL.

Como puede suponer, PHP no protege su base de datos por sí mismo. Las siguientes secciones piensan ser una introducción a lo más básico de cómo acceder y manipular base de datos dentro de scripts de PHP.

Tenga en mente esta simple regla: Protección en profundidad. En la mayoría de sitios tome la acción de incrementar la protección de su base de datos, para una menor probabilidad de que un atacante tenga éxito en exponer o abusar de cualquier información que tenga almacenada. El buen diseño del esquema de la base de datos y de la aplicación se ocupará de sus mayores temores.

Cuestiones relacionadas a bytes nulos
Diseñando la base de datos
Seguridad


Diseñando la base de datos

El primer paso es siempre crear una base de datos, a menos que quiera utilizar una de terceras personas. Cuando una base de datos es creada, ésta es asignada a un propietario, el que ha ejecutado la sentencia de creación. Usualmente, sólo el propietario (o un superusuario) puede hacer cualquier cosa con los objetos en esa base de datos, y para permitir a otros usuarios que puedan utilizarla, debe concederles privilegios.

Las aplicaciones nunca deberían conectarse a la base de datos como su propietario o como superusuario, porque estos usuarios pueden ejecutar cualquier consulta a su antojo, por ejemplo, modificar el esquema (Ej., eliminar tablas) o borrar su contenido entero.

Puede crear distintos usuarios de la base de datos para cada aspecto de su aplicación con permisos muy limitados a los objetos. La mayoría de privilegios que son requeridos deberían ser solamente otorgados, y así evitar que el mismo usuario pueda interactuar con la base de datos en diferentes casos y usos. Esto significa que si los intrusos ganan acceso a su base de datos utilizando las credenciales de la aplicación, solamente afecta a los cambios que su aplicación permita.

Usted está encarecido a no implementar toda la lógica del negocio en la aplicación web (Ej., sus scripts), en su lugar hágalo en el esquema de la base de datos utilizando vistas, disparadores o reglas. Si el sistema evoluciona, se pensará en abrir nuevos puertos a la base de datos, y usted tendrá que re-implementar la lógica en cada base de datos del cliente por separado. Al respecto de lo antes citado, los disparadores pueden ser utilizados para manerjar campos transparentes y automáticamente, lo cual a menudo provee un vistazo al interior cuando hay problemas de depuración con su programa o con el sistema de seguimientos de transacciones de su aplicación.

Seguridad de Bases de Datos
Conectándose a la base de datos
Seguridad de Bases de Datos


Conectándose a la base de datos

Puede ser que quiera establecer las conecciones sobre SSL para encriptar la comunicación cliente/servidor para incrementar la seguridad, o también puede usar ssh para encriptar la conexión de red entre los clientes y el servidor de base de datos. Si alguno de éstos es utilizado, el monitoreo de su tráfico y la obtención de información sobre su base de datos será difícil para un posible atacante.

Diseñando la base de datos
Modelo de almacenamiento encriptado
Seguridad de Bases de Datos


Modelo de almacenamiento encriptado

SSL/SSH proteje los datos que viajan desde el cliente al servidor: SSL/SSH no proteje los datos persistentes almacenados en una base de datos. SSL es un protocolo para proteger los datos mientras viajan en el cable.

Una vez un atacante gana acceso directamente a su base de datos (sobre pasando el servidor web), los datos sensibles podrían ser divulgados o mal utilizados, a menos que la información esté protegida en la base de datos por sí misma. Encriptando los datos es una buena forma de mitigar esta amenaza, pero muy pocas bases de datos ofrecen este tipo de encripción de datos.

La forma más fácil para trabajar en este problema, es crear primero su propio paquete de encripción, y utilizarlo desde de sus scripts de PHP. PHP puede guiarle en esto con muchas extensiones, tales como Mcrypt y Mhash, cubriendo así, una amplia variedad de algoritmos de encripción. El script encripta los datos antes de insertarlos dentro de la base de datos, y los desencripta cuando los devuelve. Vea las referencias para ejemplos adicionales de como funciona la encripción.

En caso de datos que deben estar ocultos, si no fuera necesario usar su representación real (es decir, que no se mostrarán), quizás convenga utilizar hashing. El ejemplo más típico de hashing es cuando se almacena el hash MD5 de una contraseña en una base de datos, en lugar de almacenar la contraseña en sí misma. Vea también las funciones crypt() y md5().

Ejemplo #1 Utilizando campos de contraseña con hash

<?php

// Almacenando la contraseña con hash
// $random_chars se obtuvo, p.ej., usando /dev/random
$query  = sprintf("INSERT INTO users(name,pwd) VALUES('%s','%s');",
            pg_escape_string($username),
            pg_escape_string(crypt($password, '$2a$07$' . $random_chars . '$')));
$result = pg_query($connection, $query);

// Consultando si el usuario envió la contraseña correcta
$query = sprintf("SELECT pwd FROM users WHERE name='%s';",
            pg_escape_string($username));
$row = pg_fetch_assoc(pg_query($connection, $query));

if ($row && crypt($password, $row['pwd']) == $row['pwd']) {
    echo 'Bienvenido, ' . htmlspecialchars($username) . '!';
} else {
    echo 'La autenticación ha fallado para ' . htmlspecialchars($username) . '.';
}

?>
Conectándose a la base de datos
Inyección de SQL
Seguridad de Bases de Datos


Inyección de SQL

Muchos desarrolladores web son desprevendios de cómo las consultas SQL pueden ser manipuladas, y asumen que una consulta SQL es un comando confiable. Esto significa que las consultas SQL están expuestas a que sean malversadas en controles de acceso, y por lo tanto, sobrepasar las revisiones de autenticación y autorización estándar, y que algunas veces las consultas SQL aún podrían permitir el acceso de comandos a nivel de sistema operativo del ordenador.

Comandos directos de Inyección SQL es una técnica donde un atacante crea o altera comandos SQL existentes para exponer datos ocultos, sobreponerse a los que son importantes, o peor aún, ejecutar comandos peligrosos a nivel de sistema en el equipo donde se encuentra la base de datos. Esto se logra a través de la aplicación, tomando la entrada del usuario y combinándola con parámetros estáticos para elaborar una consuta SQL. Los siguientes ejemplos están basados en historias reales, desafortunadamente.

Debido a la falta de validación en la entrada de datos y conectándose a la base de datos con privilegios de super usuario o de alguien con privilegios que puede crear usuarios, el atacante podría crear un super usuario en su base de datos.

Ejemplo #1 Dividiendo el conjunto de resultados en páginas ... y haciendo super usuarios (PostgreSQL)

<?php

$offset = $argv[0]; // Cuidado, no hay validación en la entrada de datos!
$query  = "SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET $offset;";
$result = pg_query($conn, $query);

?>
Los usuarios normales dan clic en los enlaces 'siguiente' o 'atras' donde $offset está codificado en la URL. El script espera que el $offset entrante sea un número décimal. Sin embargo, qué pasa si alguien intenta irrumpir añadiendo una función urlencode() al formulario de la siguiente URL
0;
insert into pg_shadow(usename,usesysid,usesuper,usecatupd,passwd)
    select 'crack', usesysid, 't','t','crack'
    from pg_shadow where usename='postgres';
--
Si esto sucedió, entonces el script podría presentarle un acceso de super usuario al atacante. Nótese que 0; es para proveer un offset válido a la consulta original y para finalizarla.

Nota:

Esta es una técnica común para forzar al analizador SQL a que ignore el resto de la consulta escrita por el desarrollador con dos guiónes: -- los cuales representan un comentario en SQL.

Una forma factible de obtener contraseñas es burlar las páginas de búsqueda de resultados. Lo único que el atacante necesita hacer es ver si hay variables que hayan sido enviadas y sean usadas en declaraciones SQL las cuales no sean manejadas apropiadamente. Esos filtros pueden ser puestos comunmente en un formulario anterior para personalizar las cláusulas WHERE, ORDER BY, LIMIT y OFFSET en las declaraciones SELECT. Si su base de datos soporta el constructor UNION, el atacante podría intentar añadir una consulta enetera a la consulta original para listar contraseñas de una tabla arbitraria. Utilizar campos de contraseña encriptadoslds es fuertemente recomendado.

Ejemplo #2 Listando nuestros artículos ... y algunas contraseñas (de cualquier servidor de base de datos)

<?php

$query  = "SELECT id, name, inserted, size FROM products
           WHERE size = '$size'";
$result = odbc_exec($conn, $query);

?>
La parte estática de la consulta puede ser combinada con otra declaración SELECT la cual revela todas las contraseñas:
'
union select '1', concat(uname||'-'||passwd) as name, '1971-01-01', '0' from usertable;
--
Si esta consulta (ejecutándose con ' y --) fuera asignada a una de las variables utilizadas en $query, la consulta reaccionará bestialmente.

Las consultas de actualización de SQL, también son susceptibles a ataques. Estas consultas también son amenazadas por acortamiento y adición en una consulta completamente nueva a esta. Sin embargo el atacante podría manipularla con la cláusula SET. En este caso, algunos esquemas de información deben ser procesados para manipular la consulta exitosamente. Este puede adquirirse examinando la forma de nombres de las variables, o simplemente forzarlo con un ataque de fuerza bruta. No hay muchas convenciones de nombres para campos que almacenan contraseñas o nombres de usuarios.

Ejemplo #3 Desde re-establecer una contraseña ... hasta ganar más privilegios (en cualquier servidor de bases de datos)

<?php
$query = "UPDATE usertable SET pwd='$pwd' WHERE uid='$uid';";
?>
Pero un usuario malicioso podría enviar el valor ' or uid like'%admin% a $uid para cambiar la contraseña del administrador, o simplemente cambiar $pwd a hehehe', trusted=100, admin='yes para obtener más privilegios. Entonces, la consulta sería cambiada:
<?php

// $uid: ' or uid like '%admin%
$query = "UPDATE usertable SET pwd='...' WHERE uid='' or uid like '%admin%';";

// $pwd: hehehe', trusted=100, admin='yes
$query = "UPDATE usertable SET pwd='hehehe', trusted=100, admin='yes' WHERE
...;";

?>

Un ejemplo horrible de cómo pueden ser accedidos los comandos a nivel de sistema operativo en algunos hospedadores de bases de datos.

Ejemplo #4 Atacando el sistema operativo que hospeda la base de datos (Servidor MSSQL)

<?php

$query  = "SELECT * FROM products WHERE id LIKE '%$prod%'";
$result = mssql_query($query);

?>
Si un atacante envía el valor a%' exec master..xp_cmdshell 'net user test testpass /ADD' -- hacia $prod, la consulta $query será:
<?php

$query  = "SELECT * FROM products
           WHERE id LIKE '%a%'
           exec master..xp_cmdshell 'net user test testpass /ADD' --%'";
$result = mssql_query($query);

?>
El servidor MSSQL ejecuta la sentencia SQL en el lote que incluye un comando para añadir un usuario nuevo a la base de datos de cuentas locales. Si esta aplicación estuviera ejecutándose como sa, y el servicio MSSQLSERVER se está ejecutando con los privilegios suficientes, el atacante ahora podría tener una cuenta con la cual tendría acceso a esta máquina.

Nota:

Algunos de los ejemplos de citados arriba estan vinculados a un servidor de base de datos específico. Esto no significa que un ataque similar sea imposible en contra de otros productos. Su servidor de base de datos podría ser vulnerable de forma similar en otra manera.

Un ejemplo comprobado de los problemas con respecto a las inyecciones de SQL
Imagen cortesía de » xkcd

Técnicas de evitación

Pese a que pueda parecer obvio que un atacante debe tener al menos algún conocimiento de arquitecturas de bases de datos para poder realizar un ataque con éxito, el obtener esta información suele ser muy sencillo. Por ejemplo, cuando la base de datos forma parte de un paquete de software libre, o disponible públicamente, con una instalación predefinida, esta información se encuentra completamente libre y disponible. Esta información puede haber sido divulgada en proyectos de código cerrado - incluso si está codificad, ofuscada o compilada - incluso por el propio código mediante mensajes de error. Otros métodos incluyen el uso de nombres de tablas y columnas frecuentes. Por ejemplo, un formulario de inicio de sesión que utiliza una tabla 'users' con los nombres de columna 'id', 'username', y 'password'.

Esos ataques están principalmente basados en explotar el código que no ha sido escrito teniendo en mente la seguridad. Nunca confíes en ningún tipo de entrada, especialmente la que viene del lado del cliente, aún cuando esta venga de una caja de selección, un campo oculto o una cookie. El primer ejemplo muestra que una inofensiva consulta puede causar desastres.

  • Nunca se conecte como super usuario o como el propietario de la base de datos. Siempre utilice usuarios personalizados con privilegios muy limitados.
  • Use sentencias preparadas con variables vinculadas. Son proporcionadas por PDO, MySQLi y otras bibliotecas.
  • Revise si la entrada proporcionada tiene el tipo de datos que se espera. PHP tiene un rango amplio de funciones para validar la entrada de datos, desde las más simples encontradas en Funciones de variable y en Funciones de tipo Caracter (Ej. is_numeric(), ctype_digit() respectivamente) y siguiendo el apoyo con las Expresiones regulares compatibles con Perl.

  • Si la expresión espera una entrada numérica, considere verificar los datos con la función ctype_digit(), o silenciosamente cambie su tipo utilizando settype(), o use su representación numérica por medio de sprintf().

    Ejemplo #5 Una forma más segura de redactar una consulta para paginación

    <?php

    settype    ($offset, 'integer');
    $query = "SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET $offset;";

    // Fíjese en %d en el formato de cadena, utilizar %s podría no tener un resultado significativo
    $query = sprintf("SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET %d;",
                         $offset);

    ?>

  • Si la capa de la base de datos no admite variables vinculadas, entrecomille cada valor no numérico proporcionado por el usuario que sea pasado a la base de datos con la función de escapado de cadenas de caracteres específica de la base de datos (p.ej. mysql_real_escape_string(), sqlite_escape_string(), etc.). Las funciones genéricas como addslashes() son útiles solamente en un entorno muy específico (p.ej., MySQL en un conjunto de caracteres monobyte con NO_BACKSLASH_ESCAPES deshabilitada), por lo que es mejor evitarlas.
  • No muestre ninguna información específica de la base de datos, especialmente sobre el esquema, por su correcto significado es como jugar sucio contra usted mismo. Vea también Reporte de errores y Manejo de errores y funciones de registro.
  • Podría utilizar procedimientos almacenados y previamente cursores definidos, para abstraer el acceso a datos para que los usuarios no tengan acceso directo a las tablas o vistas, para que esta solución tenga otros impactos.

Junto a esto, usted se beneficia de tener un registro de las consultas ya sea dentro de su script o de la base de datos en si misma, si es que esta soporta el registro. Obviamente, llevar un registro no le previene cualquier intento de daño, pero éste puede ser útil para hacer una retro revisión de cual aplicación ha sido intervenida. El registro no es útil por sí mismo, pero lo es debido a la información que contiene. Más detalles generalmente es mejor que los pocos.

Modelo de almacenamiento encriptado
Reportando errores
Seguridad de Bases de Datos


Reportando errores

Con la seguridad de PHP, hay dos formas para reportar errores. Una es en beneficio, para incrementar la seguridad, y la otra es para perjudicar.

Una táctica estándar de ataque conlleva a perfilar un sistema; llenándolo de datos incorrectos, revisando los tipos y contextos de los errores que son devueltos. Esto le permite al atacante recolectar información acerca del servidor, para determinar posibles debilidades. Por ejemplo, si un atacante ha recogido información sobre una página basada en un envío previo, él podría intentar sobrescribir las variables, o modificarlas:

Ejemplo #1 Atacando variables con una página HTML personalizada

<form method="post" action="objetivodelataque?username=badfoo&amp;password=badfoo">
<input type="hidden" name="username" value="badfoo" />
<input type="hidden" name="password" value="badfoo" />
</form>

Los errores de PHP que normalmente son devueltos, pueden ser muy útiles para el desarrollador que está intentando depurar un script, indicando qué cosas, como por ejemplo, qué función o qué fichero de PHP falló, y el número de línea en donde la falla ocurrió. Toda esta es la información que puede ser explotada. Esto no es algo raro para un desarrollador de PHP que utilice las funciones show_source(), highlight_string(), o highlight_file() como una medida de depuración, pero en un sitio en escena, esto puede exponer variables ocultas, sintáxis sin revisar, y otra información peligrosa. Es especialmente peligroso el código en ejecución de fuentes conocidas con manejadores de depuración incluidos, o utilizar técnicas comunes de depuración. Si los atacantes pueden determinar qué técnica en general usted está utilizando, ellos podrían tratar de usar fuerza bruta en una página, enviando varias cadenas comunes de depuración:

Ejemplo #2 Explotando variables comunes de depuración

<form method="post" action="objetivodelataque?errors=Y&amp;showerrors=1&amp;debug=1">
<input type="hidden" name="errors" value="Y" />
<input type="hidden" name="showerrors" value="1" />
<input type="hidden" name="debug" value="1" />
</form>

Sin importar el método de manejo de errores, la capacidad de probar errores en un sistema conlleva a proveer a un atacante con mas información.

Por ejemplo, el estilo común de un error genérico de PHP indica que un sistema ciertamente está ejecutando PHP. Si un atacante está en una página .html, y quiere probar qué motor hay tras de ese servidor (para buscar debilidades en el sistema), lo alimenta con datos erróneos que lo podrían habilitar a que determine que ese sistema fue construido con PHP.

El error de una función puede indicar ya sea, un sistema que puede estar ejecutando un motor específico de base de datos, o dar las pistas de cómo una página web puede estar programada o diseñada. Esto permite una investigación más profunda dentro de los puertos abiertos de la base de datos, o buscar errores específicos o debilidades en una página web. Pasando diferentes porciones de datos erróneos, por ejemplo, un atacante puede determinar el orden de autenticación en un script, (por medio del número de línea de los errores) como también probar exploits que pueden ser utilizados en diferentes ubicaciones del script.

Un error del sistema de archivos o un error general de PHP puede indicar qué permisos tiene el servidor web, así también la estructura y organización de ficheros en el servidor web. El código de error escrito por el desarrollador puede agravar este problema, conllevando a la explotación fácil de la, hasta entonces, información "oculta".

Hay tres grandes soluciones a este problema. La primera consiste en examinar todas las funciones, e intentar arreglar la mayoría de los errores. La segunda es deshabilitar completamente la notificación de errores de el código en ejecución. La tercera es utilizar las funciones de manejo de error propias de PHP para crear su propio manejador de errores. Dependiendo de su política de seguridad, puede ser que encuentre que las tres sean aplicables a su situación.

Una forma de detectar este problema por adelantado es hacer uso de la función propia de PHP error_reporting(), para ayudarle a asegurar su código y encontrar el uso de variables que podrían ser peligrosas. Al probar su código, antes de distribuirlo, con E_ALL, usted puede encontrar rapidamente áreas donde sus variables pueden ser abiertas para envenenamiento o modificación en otras maneras. Una vez usted está listo para distribuirlo, debería deshabilitar completamente el reporte de errores poniendo el valor de error_reporting() a 0, o apagar el visor de errores utilizando la opción display_errors del fichero php.ini para aislar su código de ataques. Si decide hacer esto último, también debería definir la ruta de acceso a su archivo de registros utilizando la directiva error_log, y poner log_errors en "on".

Ejemplo #3 Buscando variables peligrosas con E_ALL

<?php
if ($usuario) {  // No se ha inicializado o revisado antes de utilizar
    $permitir_acceso = 1;
}
if ($permitir_acceso == 1) { // Si la prueba anterior falla, los que no estén inicializados o comprobados antes de utilizar, tendrán acceso
    readfile("/ruta/hacia/datos/altamente/sensibles/index.html");
}
?>

Inyección de SQL
Usando Register Globals
Seguridad


Usando Register Globals

Advertencia

Esta característica ha sido declarada OBSOLETA desde PHP 5.3.0 y ELIMINADA a partir de PHP 5.4.0.

Quizás el cambio más controversial en PHP fue cuando el valor predeterminado para la directiva de PHP register_globals pasó de ON a OFF en PHP » 4.2.0. La dependencia sobre esta directiva era bastante común y muchas personas ni siquiera sabía que existía y asumían sólo que ese era el modo como PHP funcionaba. Esta página explicará cómo se puede escribir código inseguro con esta directiva, pero tenga en cuenta que la directiva en si misma no es insegura sino el uso inapropiado de ella.

Cuando está activada, register_globals inyectará los scripts con todo tipo de variables, como las de peticiones provenientes de formularios HTML. Esto, unido al hecho de que PHP no requiere la inicialización de variables, significa que es muy fácil escribir código inseguro. Fue una decisión difícil, pero la comunidad de PHP decidió desactivar esta directiva por defecto. Cuando está activada, las personas usan variables que en realidad no se sabe a ciencia cierta de dónde provienen y solo queda asumir. Las variables internas que son definidas en el script mismo son mezcladas con los datos requeridos enviados por los usuarios y al deshabilitar register_globals se cambia esto. Vamos a demostrar con un ejemplo del uso incorrecto de register_globals:

Ejemplo #1 Ejemplo de uso incorrecto con register_globals = on

<?php
// $authorized = true Se define sólo si el usuario está autenticado
if (authenticated_user()) {
    $authorized = true;
}

// Debido a que no se inicializa $authorized como false, esta podría ser
// definida a través de register_globals, como desde GET auth.php?authorized=1
// ¡Por lo tanto, cualquier persona puede verse como autenticada!
if ($authorized) {
    include "/highly/sensitive/data.php";
}
?>

Cuando está register_globals = on, la lógica anterior podría verse comprometida. Cuando está deshabilitada, $authorized no puede definirse a través de peticiones, así que estará bien, aunque realmente en general es una buena práctica de programación inicializar las variables primero. Por ejemplo, en el ejemplo anterior se puede haber realizado primero algo como $authorized = false. Hacer esto primero significa que el código anterior podría funcionar con register_globals activado o desactivado ya que los usuarios de forma predeterminada no serían autorizados.

Otro ejemplo es aquel de las sesiones. Cuando está register_globals = on, se puede usar también $username en el siguiente ejemplo, pero nuevamente se debe notar que $username también puede provenir de otros medios, tal como GET (a través de la URL).

Ejemplo #2 Ejemplo de uso de sesiones con register_globals on u off

<?php
// No se sabría por dónde proviene $username, pero se sabe que $_SESSION es
// para datos de sesión.
if (isset($_SESSION['username'])) {

    echo "Hello <b>{$_SESSION['username']}</b>";

} else {

    echo "Hello <b>Guest</b><br />";
    echo "Would you like to login?";

}
?>

Incluso es posible tomar medidas preventivas para advertir cuando se haga un intento de falsificación. Si se sabe previamente con exactitud el lugar de donde una variable debería provenir, se puede verificar si los datos enviados provienen de una clase inapropiada de sumisión. Si bien no garantiza que los datos no han sido falsificados, esto requiere que un atacante adivine el medio apropiado para falsificar. Si no importa de donde provienen los datos requeridos, se puede usar $_REQUEST ya que contiene una mezcla de datos GET, POST y COOKIE. Ver también la sección del manual sobre el uso de variables desde fuentes externas sources.

Ejemplo #3 Detección de envenenamiento simple de variables

<?php
if (isset($_COOKIE['MAGIC_COOKIE'])) {

    // MAGIC_COOKIE viene de una cookie.
    // ¡Asegúrese de validar la información de la cookie!

} elseif (isset($_GET['MAGIC_COOKIE']) || isset($_POST['MAGIC_COOKIE'])) {

   mail("admin@example.com", "Posible intento de ataque", $_SERVER['REMOTE_ADDR']);
   echo "Violación de seguridad, el administrador ha sido alertado.";
   exit;

} else {

   // MAGIC_COOKIE no se establece a través de este REQUEST

}
?>

Por supuesto, simplemente deshabilitar register_globals no quiere decir que su código es seguro. Cada pieza de datos que es remitida, también debe ser verificada de otras formas. ¡Siempre valide los datos de los usuarios e inicialice sus variables! Para chequear por variables no inicializadas, se puede usar error_reporting() para mostrar errores de nivel E_NOTICE.

Para obtener información sobre la emulación de register_globals activado o desactivado, consulte este FAQ.

Nota: Nota de disponibilidad de Superglobals

Los arrays Superglobal como $_GET, $_POST y $_SERVER, etc. están disponibles desde PHP 4.1.0. Para más información, lea la sección del manual en superglobals

Reportando errores
Datos Enviados por el Usuario
Seguridad


Datos Enviados por el Usuario

Las mayores debilidades de muchos programas PHP no son inherentes al lenguaje mismo, sino simplemente un problema generado cuando se escribe código sin pensar en la seguridad. Por esta razón, usted debería tomarse siempre el tiempo para considerar las implicaciones de cada pedazo de código, para averiguar el posible peligro involucrado cuando una variable inesperada es enviada.

Ejemplo #1 Uso Peligroso de Variables

<?php
// eliminar un archivo del directorio personal del usuario .. ¿o
// quizás de alguien más?

unlink ($variable_malvada);

// Imprimir el registro del acceso... ¿o quizás una entrada de /etc/passwd?
fwrite ($desc_archivo, $variable_malvada);

// Ejecutar algo trivial.. ¿o rm -rf *?
system ($variable_malvada);
exec ($variable_malvada);

?>

Usted debería examinar siempre, y cuidadosamente su código para asegurarse de que cualquier variable siendo enviada desde un navegador web sea chequeada apropiadamente, y preguntarse a sí mismo:

  • ¿Este script afectará únicamente los archivos que se pretende?
  • ¿Puede tomarse acción sobre datos inusuales o indeseados?
  • ¿Puede ser usado este script en formas malintencionadas?
  • ¿Puede ser usado en conjunto con otros scripts en forma negativa?
  • ¿Serán adecuadamente registradas las transacciones?

Al preguntarse adecuadamente estas preguntas mientras escribe su script, en lugar de hacerlo posteriormente, usted previene una desafortunada re-implementación del programa cuando desee incrementar el nivel de seguridad. Al comenzar con esta mentalidad, no garantizará la seguridad de su sistema, pero puede ayudar a mejorarla.

Puede que también desee considerar la deshabilitación de register_globals, magic_quotes, u otros parámetros convenientes que pueden causar confusión sobre la validez, fuente o valor de una determinada variable. Trabajar con PHP en modo error_reporting(E_ALL) también puede ayudarle a advertir variables que están siendo usadas antes de ser chequeadas o inicializadas (de modo que puede prevenir que datos inusuales produzcan operaciones inadvertidas).

Usando Register Globals
Comillas Mágicas
Seguridad


Comillas Mágicas

Tabla de contenidos

  • ¿Qué son las Comillas Mágicas?
  • Por qué usarlas
  • Por qué no usarlas
  • Deshabilitar las comillas mágicas
Advertencia

Esta característica ha sido declarada OBSOLETA desde PHP 5.3.0 y ELIMINADA a partir de PHP 5.4.0.

Las comillas mágicas son un procedimiento que automágicamente limpian los datos de entrada de un script PHP. Es aconsejable trabajar con las comillas mágicas deshabilitadas y, en su lugar, hacer un filtrado en tiempo de ejecución y bajo demanda.

Datos Enviados por el Usuario
¿Qué son las Comillas Mágicas?
Seguridad


¿Qué son las Comillas Mágicas?

Advertencia

Esta característica ha sido declarada OBSOLETA desde PHP 5.3.0 y ELIMINADA a partir de PHP 5.4.0.

Cuando están habilitadas, todos los caracteres ' (comillas simples), " (comillas dobles), \ (barras) y NULL son "escapados" automáticamente con una barra. Este comportamiento es equivalente al de la función addslashes().

Hay tres directivas para las comillas mágicas:

  • magic_quotes_gpc Afecta a los datos de peticiones HTTP (GET, POST, y COOKIE). No se puede habilitar en tiempo de ejecución, y por omisión vale on en PHP. Vea también get_magic_quotes_gpc().
  • magic_quotes_runtime Si está habilitada, la mayor parte de funciones que devuelve datos a partir de recursos externos, incluyendo bases de datos y ficheros de texto, tendrán las comillas escapadas con una barra. Puede habilitarse en tiempo de ejecución y por omisión vale off en PHP. Vea también set_magic_quotes_runtime() y get_magic_quotes_runtime().
  • magic_quotes_sybase Si está habilitada, se escapa cada comilla simple con otra comilla simple, en lugar de con un caracter barra. Si estuviera habilitada, anularía por completo a magic_quotes_gpc. Si se tuvieran habilitadas las dos directivas, sólo se escaparían las comillas simples, en la forma ''. Las comillas dobles, barras y caracteres NULL se mantendrían intactos y sin escapado. Vea también ini_get() para consultar su valor.
Comillas Mágicas
Por qué usarlas
Comillas Mágicas


Por qué usarlas

Advertencia

Esta característica ha sido declarada OBSOLETA desde PHP 5.3.0 y ELIMINADA a partir de PHP 5.4.0.

  • Dado que se han declarado obsoletas PHP, no hay ninguna razón para usarlas. Sin embargo, todavía están ahí y ayudan a los programadores noveles a escribir un mejor código (más seguro). Sin embargo, si trabaja con código que dependa de este comportamiento, es preferible actualizar el código a tener que habilitar las comillas mágicas. ¿Entonces por qué existen? Sencillo, para ayudar a prevenir ataques de Inyección SQL. Hoy, los desarrolladores son más cuidadosos con la seguridad y acaban empleando los mecanismos de escapado específicos de cada base de datos y/o declaraciones preparadas en lugar de depender de funcionalidades como las comillas mágicas.
¿Qué son las Comillas Mágicas?
Por qué no usarlas
Comillas Mágicas


Por qué no usarlas

Advertencia

Esta característica ha sido declarada OBSOLETA desde PHP 5.3.0 y ELIMINADA a partir de PHP 5.4.0.

  • Portabilidad El asumir que están habilitadas, o no, afecta a su portabilidad. Para comprobarlo, utilice get_magic_quotes_gpc() para así programar como corresponda.
  • Rendimiento Dado que no todos los datos que se escapen se insertarán en una base de datos, existe un impacto negativo en el rendimiento escapando todos estos datos. Es más eficiente llamar a las funciones de escapado (como addslashes()) en tiempo de ejecución. A pesar de que en php.ini-development se habilitan por omisión estas directivas, en php.ini-production se deshabilitan. El motivo de esta recomendación es sobre todo debido a motivos de rendimiento.
  • Inconvenientes Dado que no todos los datos necesitan escapado, a menudo resulta molesto ver datos escapados cuando no deberían. Por ejemplo, al enviar un correo electrónico desde un formulario, y comprobar que hay varios \' en el correo. Para corregirlo, se necesitará hacer un uso intensivo de stripslashes().
Por qué usarlas
Deshabilitar las comillas mágicas
Comillas Mágicas


Deshabilitar las comillas mágicas

Advertencia

Esta característica ha sido declarada OBSOLETA desde PHP 5.3.0. Su uso está totalmente desaconsejado.

La directiva magic_quotes_gpc sólo puede deshabilitarse en el sistema, y no en tiempo de ejecución. En otras palabras, no se puede utilizar ini_set().

Ejemplo #1 Deshabilitar comillas mágicas en el servidor

Ejemplo que establece un Off a estas directivas en php.ini. Para más detalles, lea la sección del manual titulada Cómo cambiar los ajustes de configuración.

; Magic quotes
;

; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off

; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off

; Use Sybase-style magic quotes (escape ' with '' instead of \').
magic_quotes_sybase = Off

Si no es posible acceder a la configuración del servidor, también puede usar .htaccess. Por ejemplo:

php_flag magic_quotes_gpc Off

Si tuviera interés en implementar código portable (aquél que funciona en cualquier entorno), y no pudiera modificar la configuración en el servidor, aquí hay un ejemplo de cómo deshabilitar magic_quotes_gpc en tiempo de ejecución. Este método es ineficiente por lo que se recomienda establecer los valores apropiados para las directivas en otro lugar.

Ejemplo #2 Deshabilitar las comillas mágicas en tiempo de ejecución

<?php
if (get_magic_quotes_gpc()) {
    $process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
    while (list($key, $val) = each($process)) {
        foreach ($val as $k => $v) {
            unset($process[$key][$k]);
            if (is_array($v)) {
                $process[$key][stripslashes($k)] = $v;
                $process[] = &$process[$key][stripslashes($k)];
            } else {
                $process[$key][stripslashes($k)] = stripslashes($v);
            }
        }
    }
    unset($process);
}
?>

Por qué no usarlas
Ocultando PHP
Comillas Mágicas


Ocultando PHP

En general, la seguridad por obscuridad es una de las formas más débiles de la seguridad. Pero en algunos casos, cada pequeño elemento extra de seguridad es deseable.

Unas cuantas técnicas simples pueden ayudar a ocultar PHP, posiblemente retrasando a un atacante que está tratando de descubrir debilidades en el sistema. Al configurar expose_php en off en el archivo php.ini, se reduce la cantidad de información disponible para ellos.

Otra táctica es configurar servidores web como Apache para interpretar diferentes tipos de archivos por medio de PHP, ya sea con una directiva .htaccess o en el propio archivo de configuración de Apache. Entonces se pueden utilizar extensiones de archivo engañosas:

Ejemplo #1 Ocultando PHP como si fuera otro lenguaje

# Hacer ver el código PHP como si fueran otros tipos de código
AddType application/x-httpd-php .asp .py .pl
U oscurecerlo completamente:

Ejemplo #2 Utilizando tipos desconocidos para extensiones de PHP

# Hacer ver el código PHP como si fueran tipos desconocidos
AddType application/x-httpd-php .bop .foo .133t
U ocultarlo como código HTML, lo cual tiene un pequeño impacto de rendimiento debido a que todos los archivos HTML serán procesados por el motor de PHP:

Ejemplo #3 Utilizando tipos HTML para extensiones de PHP

# Hacer ver el código PHP como si fueran HTML
AddType application/x-httpd-php .htm .html
Para que esto funcione eficazmente, se debe cambiar el nombre de los archivos PHP con las extensiones de arriba. Si bien es una forma de seguridad por oscuridad, es una medida preventiva menor con pocos inconvenientes.

Deshabilitar las comillas mágicas
Mantenerse al día
Seguridad


Mantenerse al día

PHP, como cualquier otro sistema de tamaño considerable, está bajo constante escrutinio y remodelación. Cada nueva versión incluye con frecuencia cambios mayores y menores para mejorar la seguridad y reparar cualquier fallo, problemas de configuración, y otros asuntos que puedan afectar la seguridad y estabilidad global de su sistema.

Como cualquier lenguaje y programa de scripting del nivel del sistema, el mejor enfoque es el de actualizar con frecuencia, y mantenerse alerta sobre las últimas versiones y sus cambios.

Ocultando PHP
Características
Seguridad


Características

  • Autenticación HTTP con PHP
  • Cookies
  • Sesiones
  • Manejo de XForms
  • Manejando la carga de archivos
    • Carga con el método POST
    • Explicación de los mensajes de error
    • Dificultades comunes
    • Subida de múltiples archivos
    • Soporte del método PUT
  • Usando archivos remotos
  • Manejo de Conexiones
  • Conexiones Persistentes a Bases de Datos
  • Safe Mode
    • Security and Safe Mode
    • Functions restricted/disabled by safe mode
  • Funcionamiento en la línea de comandos — Usando PHP desde la línea de comandos
    • Introducción
    • Diferencias respecto a otras SAPIs
    • Opciones — Opciones de la línea de comandos
    • Uso — Ejecutando ficheros PHP
    • Flujos de E/S — Flujos de entrada/salida
    • Consola interactiva
    • Servidor web embebido
    • Configuración INI
  • Recolección de Basura
    • Introducción a la Cuenta de Referencias
    • Recolección de referencias Cíclicas
    • Consideraciones acerca del Rendimiento
  • Rastreo Dinámico con DTrace
    • Introducción a PHP y DTrace
    • Usando PHP y DTrace
    • Usando SystemTap con Sondas Estáticas en PHP DTrace
Mantenerse al día
Autenticación HTTP con PHP
Manual de PHP


Autenticación HTTP con PHP

Es posible usar la función header() para enviar un mensaje "Authentication Required" al navegador del cliente causando que se abra una ventana para ingresar usuario y password. Una vez se ha llenado el usuario y password, la URL contenida dentro del script PHP será llamada nuevamente con las variables predefinidas PHP_AUTH_USER, PHP_AUTH_PW, y AUTH_TYPE puestas por el nombre del usuario, password y el tipo de autenticación respectivamente. Esas variables predefinidas son encontradas en los arrays $_SERVER y $HTTP_SERVER_VARS. Ambos métodos de autenticación "Basic" y "Digest" (desde PHP 5.1.0) son soportados. Ver la función header() para más información.

Nota: Nota de la versión de PHP

Superglobals, como $_SERVER, están disponibles en PHP » 4.1.0.

Un fragmento de ejemplo de un script el cual podría forzar la autenticación en una página es el siguiente:

Ejemplo #1 Ejemplo de Autenticación HTTP Basic

<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
    header('WWW-Authenticate: Basic realm="My Realm"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'Texto a enviar si el usuario pulsa el botón Cancelar';
    exit;
} else {
    echo "<p>Hola {$_SERVER['PHP_AUTH_USER']}.</p>";
    echo "<p>Tu ingresaste {$_SERVER['PHP_AUTH_PW']} como tu password.</p>";
}
?>

Ejemplo #2 Ejemplo de Autenticación HTTP Digest

Este ejemplo muestra como implementar un script PHP de autenticación Digest. Para más información leer » RFC 2617.

<?php
$realm = 'Area restringida';

//user => password
$users = array('admin' => 'mypass', 'guest' => 'guest');

if (empty($_SERVER['PHP_AUTH_DIGEST'])) {
    header('HTTP/1.1 401 Unauthorized');
    header('WWW-Authenticate: Digest realm="'.$realm.
           '",qop="auth",nonce="'.uniqid().'",opaque="'.md5($realm).'"');

    die('Texto a enviar si el usuario pulsa el botón Cancelar');
}

// analiza la variable PHP_AUTH_DIGEST
if (!($data = http_digest_parse($_SERVER['PHP_AUTH_DIGEST'])) ||
    !isset($users[$data['username']]))
    die('Datos Erroneos!');

// Generando una respuesta valida
$A1 = md5($data['username'] . ':' . $realm . ':' . $users[$data['username']]);
$A2 = md5($_SERVER['REQUEST_METHOD'].':'.$data['uri']);
$valid_response = md5($A1.':'.$data['nonce'].':'.$data['nc'].':'.$data['cnonce'].':'.$data['qop'].':'.$A2);

if ($data['response'] != $valid_response)
    die('Datos Erroneos!');

// ok, usuario & password validos
echo 'Estas logueado como: ' . $data['username'];

// function to parse the http auth header
function http_digest_parse($txt)
{
    // proteger contra datos perdidos
    $needed_parts = array('nonce'=>1, 'nc'=>1, 'cnonce'=>1, 'qop'=>1, 'username'=>1, 'uri'=>1, 'response'=>1);
    $data = array();
    $keys = implode('|', array_keys($needed_parts));

    preg_match_all('@(' . $keys . ')=(?:([\'"])([^\2]+?)\2|([^\s,]+))@', $txt, $matches, PREG_SET_ORDER);

    foreach ($matches as $m) {
        $data[$m[1]] = $m[3] ? $m[3] : $m[4];
        unset($needed_parts[$m[1]]);
    }

    return $needed_parts ? false : $data;
}
?>

Nota: Nota de Compatibilidad

Hay que ser cuidadoso cuando se programan las líneas del HTTP header. Para garantizar la mayor compatibilidad con todos los clientes, la palabra "Basic" debe ser escrita con mayúsculas "B", el string real debe ser encerrado en comillas dobles (no simples), y exactamente un espacio debe preceder el código 401 en la línea del header HTTP/1.0 401. Los parámetros de autenticación deben ser separados por comas como se vió en el ejemplo resumido anterior.

En lugar de imprimir simplemente PHP_AUTH_USER y PHP_AUTH_PW, como se hizo en el ejemplo anterior, se debería chequear el usuario y password para validar. Talvez enviando una consulta a una base de datos, o buscando el usuario en un archivo dbm.

Cuidado con errores con el Internet Explorer. Parece ser muy quisquilloso con el orden de los headers. Enviando el header WWW-Authenticate antes que el header HTTP/1.0 401 parece ser un truco por ahora.

A partir de PHP 4.3.0, en orden de prevenir que alguien escriba un script el cual revele el password para una página que fué autenticada con un mecanismo externo tradicional, las variables PHP_AUTH no deberán ser colocadas si la autenticación externa esta habilitada para esa página en particular y si safe mode esta habilitado. Independientemente, REMOTE_USER puede ser usado para identificar al usuario autenticado externamente. Así, se podrá usar $_SERVER['REMOTE_USER'].

Nota: Nota de configuración

PHP usa la presencia de una directiva AuthType para determinar si una autenticación externa esta en uso.

Nótese, sin embargo, que lo anterior no impide que alguien quien controle una URL no autenticada pueda robar passwords de URL's autenticadas en el mismo servidor.

Tanto Netscape Navigator e Internet Explorer borrarán el caché de la ventana de autenticación del navegador local después de recibr una respuesta 401. Esto puede "desloguear" efectivamente a un usuario, forzandolo a reingresar su usuario y password. Algunas personas usan esto para "hacer esperar" logueos, o proveer un botón de "deslogueo".

Ejemplo #3 Ejemplo de Autenticación HTTP forzando a un nuevo usuario/password

<?php
function authenticate() {
    header('WWW-Authenticate: Basic realm="Test Authentication System"');
    header('HTTP/1.0 401 Unauthorized');
    echo "Debes ingresar un login ID y password validos para accesar a este recurso\n";
    exit;
}

if (!isset($_SERVER['PHP_AUTH_USER']) ||
    ($_POST['SeenBefore'] == 1 && $_POST['OldAuth'] == $_SERVER['PHP_AUTH_USER'])) {
    authenticate();
} else {
    echo "<p>Bienvenido: " . htmlspecialchars($_SERVER['PHP_AUTH_USER']) . "<br />";
    echo "Anterior: " . htmlspecialchars($_REQUEST['OldAuth']);
    echo "<form action='' method='post'>\n";
    echo "<input type='hidden' name='SeenBefore' value='1' />\n";
    echo "<input type='hidden' name='OldAuth' value=\"" . htmlspecialchars($_SERVER['PHP_AUTH_USER']) . "\" />\n";
    echo "<input type='submit' value='Re Authenticate' />\n";
    echo "</form></p>\n";
}
?>

Este comportamiento no es requerido por la autenticación HTTP Basic estandar, así que se debería depender de esto. Probando con Lynx mostrará que Lynx no limpia las credenciales de autenticación con una respuesta 401 del servidor, asi que presionando back y luego forward abrirá el recurso nuevamente si estos no han cambiado. Sin embarogo, el usuario puede presionar la tecla '_' para limpiar su información de autenticación.

También notese que hasta PHP 4.3.3, la autenticación HTTP no trabajaba usando Microsoft IIS con la versión CGI de PHP, una limitación de IIS. Para hacer funcionar PHP 4.3.3 o mayor, se debe editar la configuracion de IIS "Directory Security". Hacer click en "Edit" y solo chequear "Anonymous Access", todos los demas campos dejarlos sin chequear.

Otra limitación si se esta usando el módulo IIS (ISAPI) y PHP 4, no se debería usar las variables PHP_AUTH_* pero en su lugar, la variable HTTP_AUTHORIZATION esta disponible. Por ejemplo, considerar el siguiente código: list($user, $pw) = explode(':', base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));

Nota: Nota de IIS:
Para que funcione la Autenticación HTTP con IIS, la directiva de PHP cgi.rfc2616_headers debe ser configurada a 0 (el valor por defecto).

Nota:

Si safe mode esta habilitado, el uid del script es agregado a la parte del reino del header WWW-Authenticate.

Características
Cookies
Características


Cookies

PHP soporta cookies HTTP de forma transparente. Las Cookies son un mecanismo por el cuál se almacenan datos en el browser remoto y así rastrear o identificar a usuarios que vuelven. Se pueden configurar Cookies usando la función setcookie() o setrawcookie(). Las Cookies son parte del header HTTP, así es que setcookie() será llamada antes que cualquier otra salida sea enviada al browser. Esta es la misma limitación que tiene la función header(). Se pueden usar funciones del búffer de salida para retrasar la salida del script hasta que se halla decidido enviar o no cookies o enviar cualquier otro header.

Algunos envíos de cookies desde el cliente serán incluidos automáticamente en el Array auto-global $_COOKIE si variables_order contiene "C". Si se desea asignar múltiples valores a una cookie, solo se deben agregar [] al nombre de la cookie.

Dependiendo de register_globals, variables regulares de PHP pueden ser creadas a partir de las cookies. Sin embargo, no se recomienda esta práctica, esta característica es desactivada por temas de seguridad. $HTTP_COOKIE_VARS también es configurada en versiones anteriores de PHP cuando se configura la variable track_vars. (Esta configuración ésta desde PHP 4.0.3).

Para más detalles, incluyendo notas de bugs de los browsers, ver la función setcookie() y setrawcookie().

Autenticación HTTP con PHP
Sesiones
Características


Sesiones

El soporte de sesiones en PHP consiste en una manera de guardar ciertos datos a través de diferentes accesos web. Esto permite crear aplicaciones más personalizadas y mejorar las características del sitio web. Toda la información está en la sección. Referencia de sesiones.

Cookies
Manejo de XForms
Características


Manejo de XForms

» XForms define una variación de los webforms tradicionales los cuales permiten ser usados en una gran variedad de plataformas y navegadores o inclusive en medios no tradicionales como los documentos PDF.

La primera diferencia clave con XForms es la forma en que los formularios son enviados al cliente. » XForms for HTML Authors contiene una descripción detallada de como crear XForms, para el fin de este tutorial únicamente veremos un ejemplo simple.

Ejemplo #1 Un formulario simple de búsqueda con XForms

<h:html xmlns:h="http://www.w3.org/1999/xhtml"
        xmlns="http://www.w3.org/2002/xforms">
<h:head>
 <h:title>Search</h:title>
 <model>
  <submission action="http://example.com/search"
              method="post" id="s"/>
 </model>
</h:head>
<h:body>
 <h:p>
  <input ref="q"><label>Find</label></input>
  <submit submission="s"><label>Go</label></submit>
 </h:p>
</h:body>
</h:html>

El formulario anterior muestra una caja de texto (llamada q), y un botón submit. Cuando el botón submit es presionado, el formulario será enviado a la página referenciada por action.

Aquí es donde comienza a verse diferente desde el punto de vista de la aplicación web. En un formulario normal HTML, los datos serían enviados como application/x-www-form-urlencoded, en el mundo XForms, esta información es enviada como datos formateados enXML.

Si se ha elegido trabajar con XForms, entonces probablemente se quiera esos datos como XML, en ese caso, ver en $HTTP_RAW_POST_DATA donde se puede encontrar el XML generado por el navegador el cual se puede pasar en el motor XSLT favorito o parseador.

Si no se esta interesado en formatear y solo se desea que la data sea cargada en la variable tradicional $_POST, se puede instruir al navegador del cliente para enviarlos como application/x-www-form-urlencoded cambiando el atributo method a urlencoded-post.

Ejemplo #2 Usando un Xform para rellenar $_POST

<h:html xmlns:h="http://www.w3.org/1999/xhtml"
        xmlns="http://www.w3.org/2002/xforms">
<h:head>
 <h:title>Busqueda</h:title>
 <model>
  <submission action="http://example.com/search"
              method="urlencoded-post" id="s"/>
 </model>
</h:head>
<h:body>
 <h:p>
  <input ref="q"><label>Buscar</label></input>
  <submit submission="s"><label>Ir</label></submit>
 </h:p>
</h:body>
</h:html>

Nota: Así como esta escrito, muchos navegadores no soportan Xforms. Compruebe la versión de su navegador si el ejemplo falla.

Sesiones
Manejando la carga de archivos
Características


Manejando la carga de archivos

Tabla de contenidos

  • Carga con el método POST
  • Explicación de los mensajes de error
  • Dificultades comunes
  • Subida de múltiples archivos
  • Soporte del método PUT
Manejo de XForms
Carga con el método POST
Características


Carga con el método POST

Esta característica permite que los usuarios envien tanto archivos de texto como binarios. Con la autenticación de PHP y las funciones de manipulación de archivos, se tiene completo control sobre quién está autorizado a cargar y que hay que hacer con el archivo una vez que se ha cargado.

PHP es capaz de recibir cargas de archivos de cualquier navegador compatible con RFC-1867.

Nota: Configuraciones Relacionadas

Ver también las directivas file_uploads, upload_max_filesize, upload_tmp_dir, post_max_size y max_input_time en php.ini

PHP también soporta el método PUT para la carga como lo utilizan los clientes Netscape Composer y Amaya del W3C. Ver el soporte del método PUT para más detalles.

Ejemplo #1 Formulario para la carga de archivos

Una página de carga de archivos puede ser construida mediante la creación de un formulario especial el cual se vería algo como esto:

<!-- El tipo de codificación de datos, enctype, se DEBE especificar como a continuación -->
<form enctype="multipart/form-data" action="__URL__" method="POST">
    <!-- MAX_FILE_SIZE debe preceder el campo de entrada de archivo -->
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <!-- El nombre del elemento de entrada determina el nombre en el array $_FILES -->
    Enviar este archivo: <input name="userfile" type="file" />
    <input type="submit" value="Send File" />
</form>

El __URL__ en el ejemplo anterior se debe sustituir y apuntar a un archivo PHP.

El campo oculto MAX_FILE_SIZE (medido en bytes) debe preceder al campo de entrada de archivo y su valor es el tamaño máximo de archivo aceptado por PHP. Este elemento del formulario se debe usar siempre, ya que evita a los usuarios la molestia de esperar a que un gran archivo sea transferido sólo para descubrir que era demasiado grande y falló la transferencia. Tener en cuenta: engañar a esta configuración en el lado del navegador es muy fácil, así que nunca se debe confiar en que archivos con un tamaño mayor serán bloqueados por esta característica. Es simplemente una característica de conveniencia para los usuarios en el lado cliente de la aplicación. Sin embargo, la configuración de PHP (en el lado del servidor) para un máximo de tamaño, no puede ser engañada.

Nota:

Asegúrese de que el formulario de subida de archivos tiene el atributo enctype="multipart/form-data" de lo contrario la carga de archivos no funcionará.

El $_FILES global existe a partir de PHP 4.1.0 (Usar $HTTP_POST_FILES en su lugar si se utiliza una versión anterior). Este array contendrá toda la información sobre el archivo cargado.

El contenido de $_FILES del formulario de ejemplo es el siguiente. Tenga en cuenta que esto asume la utilización del nombre del archivo cargado userfile, tal como se utiliza en el script de ejemplo anterior. Este puede ser cualquier nombre.

$_FILES['userfile']['name']

El nombre original del archivo en la máquina cliente.

$_FILES['userfile']['type']

El tipo mime del archivo, si el navegador proporciona esta información. Un ejemplo podría ser "image/gif". Este tipo mime, sin embargo no se verifica en el lado de PHP y por lo tanto no se garantiza su valor.

$_FILES['userfile']['size']

El tamaño, en bytes, del archivo subido.

$_FILES['userfile']['tmp_name']

El nombre temporal del archivo en el cual se almacena el archivo cargado en el servidor.

$_FILES['userfile']['error']

El código de error asociado a esta carga de archivo. Este elemento fue añadido en PHP 4.2.0

Los archivos, por defecto se almacenan en el directorio temporal por defecto del servidor, a menos que otro lugar haya sido dado con la directiva upload_tmp_dir en php.ini. El directorio por defecto del servidor puede ser cambiado mediante el establecimiento de la variable de entorno TMPDIR en el entorno en el cual se ejecuta PHP. Configurarlo usando putenv() desde un script PHP no funcionará. Esta variable de entorno también se puede utilizar para asegurarse de que las demás operaciones están trabajando sobre los archivos cargados.

Ejemplo #2 Validación de la carga de archivos

Ver también las entradas para las funciones is_uploaded_file() y move_uploaded_file() para más información. El siguiente ejemplo procesaría la carga de archivo que vendría de un formulario.

<?php
// En versiones de PHP anteriores a 4.1.0, $HTTP_POST_FILES debe utilizarse en lugar
// de $_FILES.

$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "El archivo es válido y fue cargado exitosamente.\n";
} else {
    echo "¡Posible ataque de carga de archivos!\n";
}

echo 'Aquí hay más información de depurado:';
print_r($_FILES);

print "</pre>";

?>

El script PHP que recibe el archivo cargado, debe implementar cualquier lógica que sea necesaria para determinar qué se debe hacer con el archivo subido. Se puede, por ejemplo, utilizar la variable $_FILES['userfile']['size'] para descartar cualquier archivo que sea demasiado pequeño o demasiado grande. Se podría utilizar la variable $_FILES['userfile']['type'] para descartar cualquier archivo que no corresponda con un cierto criterio de tipo, pero usando esto sólo como la primera de una serie de verificaciones, debido a que este valor está completamente bajo el control del cliente y no se comprueba en el lado de PHP. A partir de PHP 4.2.0, se puede usar $_FILES['userfile']['error'] y el planear la lógica de acuerdo con los códigos de error. Cualquiera que sea la lógica, se debe borrar el archivo del directorio temporal o moverlo a otra parte.

Si ningún archivo es seleccionado para realizar la carga en el formulario, PHP devolverá $_FILES['userfile']['size'] como 0, y $_FILES['userfile']['tmp_name'] como ninguno.

El archivo será borrado del directorio temporal al final de la solicitud si no se ha movido o renombrado.

Ejemplo #3 Cargando un array de archivos

PHP soporta las funcionalidades array de HTML incluso con archivos.

<form action="" method="post" enctype="multipart/form-data">
<p>Pictures:
<input type="file" name="pictures[]" />
<input type="file" name="pictures[]" />
<input type="file" name="pictures[]" />
<input type="submit" value="Send" />
</p>
</form>
<?php
foreach ($_FILES["pictures"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
        $name = $_FILES["pictures"]["name"][$key];
        move_uploaded_file($tmp_name, "data/$name");
    }
}
?>

Una barra de progreso de carga de archivos puede ser implementada mediante Session Upload Progress.

Manejando la carga de archivos
Explicación de los mensajes de error
Manejando la carga de archivos


Explicación de los mensajes de error

A partir de PHP 4.2.0, PHP devuelve un código de error apropiado, junto con el array del archivo. El código de error se puede encontrar en el segmento error del array del archivo que PHP crea durante la subida del archivo. En otras palabras, el error podría encontrarse en $_FILES['userfile']['error'].

UPLOAD_ERR_OK

Valor: 0; No hay error, archivo subido con éxito.

UPLOAD_ERR_INI_SIZE

Valor: 1; El archivo subido excede la directiva upload_max_filesize en php.ini.

UPLOAD_ERR_FORM_SIZE

Valor: 2; El archivo subido excede la directiva MAX_FILE_SIZE que fue especificada en el formulario HTML.

UPLOAD_ERR_PARTIAL

Valor: 3; El archivo subido fue sólo parcialmente cargado.

UPLOAD_ERR_NO_FILE

Valor: 4; Ningún archivo fue subido.

UPLOAD_ERR_NO_TMP_DIR

Valor: 6; Falta la carpeta temporal. Introducido en PHP 4.3.10 y PHP 5.0.3.

UPLOAD_ERR_CANT_WRITE

Valor: 7; No se pudo escribir el archivo en el disco. Introducido en PHP 5.1.0.

UPLOAD_ERR_EXTENSION

Valor: 8; Una extensión de PHP detuvo la carga de archivos. PHP no proporciona una forma de determinar cual extensión causó la parada de la subida de archivos; el examen de la lista de extensiones cargadas con phpinfo() puede ayudar. Introducido en PHP 5.2.0.

Nota:

Estas se convirtieron en constantes de PHP en PHP 4.3.0.

Carga con el método POST
Dificultades comunes
Manejando la carga de archivos


Dificultades comunes

El item MAX_FILE_SIZE no puede especificar un tamaño de archivo mayor que el que ha sido configurado en el upload_max_filesize en el archivo php.ini. Por defecto es 2 megabytes.

Si hay un límite de memoria activado, un memory_limit más grande puede ser necesario. Asegurarse de configurar un memory_limit lo suficientemente grande.

Si el max_execution_time es demasiado pequeño, la ejecución del script puede excederse de este valor. Asegurarse de configurar un max_execution_time lo suficientemente grande.

Nota: max_execution_time sólo afecta al plazo de ejecución del propio script. Todo el tiempo gastado en actividades que tengan lugar por fuera de la ejecución del script, tales como las llamadas al sistema usando system(), la función sleep(), las consultas a base de datos, el tiempo que tarda el proceso de subida de archivos, etc., no se incluye cuando se determina el tiempo máximo que el script ha estado funcionando.

Advertencia

max_input_time establece el tiempo máximo, en segundos, al script se le permite recibir información, esto incluye la subida de archivos. Para archivos grandes o múltiples, o usuarios con conexiones más lentas, el valor predeterminado de 60 segundos puede ser excedido.

Si post_max_size se establece demasiado pequeño, los archivos grandes no pueden ser cargados. Asegurarse de configurar post_max_size lo suficientemente grande.

A partir de PHP 5.2.12, la configuración max_file_uploads controla el número máximo de archivos que se pueden cargar en una petición. Si más archivos que ese límite son subidos, entonces $_FILES parará de procesar archivos una vez se alcanza el límite. Por ejemplo, si max_file_uploads se establece en 10, entonces $_FILES nunca contendrá más de 10 elementos.

No validar sobre cual archivo se opera puede significar que los usuarios pueden acceder a información sensible en otros directorios.

Por favor tener en cuenta que el CERN httpd parece quitar todo lo que empieza con primer espacio en blanco en la cabecera de tipo de contenido mime que recibe desde el cliente. Mientras este sea el caso, el CERN httpd no soportará la funcionalidad de carga de archivos.

Debido a la gran cantidad de estilos de lista de directorios, no podemos garantizar que los archivos con nombres exóticos (como el que contiene espacios en blanco) se manejen adecuadamente.

Un desarrollador no debe mezclar los campos input normales con los de carga de archivos en la misma variable de formulario (mediante un nombre de input como foo[]).

Explicación de los mensajes de error
Subida de múltiples archivos
Manejando la carga de archivos


Subida de múltiples archivos

Múltiples archivos pueden ser subidos utilizando diferentes name para los input.

También es posible subir múltiples archivos simultáneamente y tener la información organizada automáticamente en arrays. Para ello, es necesario utilizar la misma sintaxis de sumisión de array en el formulario HTML como se hace con múltiples selects y checkboxes:

Ejemplo #1 Subida de múltiples archivos

<form action="file-upload.php" method="post" enctype="multipart/form-data">
  Enviar estos archivos:<br />
  <input name="userfile[]" type="file" /><br />
  <input name="userfile[]" type="file" /><br />
  <input type="submit" value="Send files" />
</form>

Cuando el formulario de arriba se remite, los arrays $_FILES['userfile'], $_FILES['userfile']['name'] y $_FILES['userfile']['size'] serán inicializados (así como en $HTTP_POST_FILES para las versiones de PHP anteriores a 4.1.0). Cuando register_globals está activado, globales para los archivos subidos también se inicializan. Cada uno de estos será un array indexado numéricamente de los valores correspondientes a los archivos remitidos.

Por ejemplo, suponga que los nombres de archivo /home/test/review.html y /home/test/xwp.out son remitidos. En este caso,$_FILES['userfile']['name'][0] contendría el valor review.html, y $_FILES['userfile']['name'][1] contendría el valor xwp.out. De manera similar, $_FILES['userfile']['size'][0] contendría el tamaño del archivo review.html y así sucesivamente.

$_FILES['userfile']['name'][0], $_FILES['userfile']['tmp_name'][0], $_FILES['userfile']['size'][0], y $_FILES['userfile']['type'][0] también son establecidos.

Advertencia

A partir de PHP 5.2.12, la configuración max_file_uploads actúa como un límite en el número de archivos que se pueden subir en una petición. Se necesita asegurar que el formulario no intenta cargar más archivos que este límite en una petición.

Dificultades comunes
Soporte del método PUT
Manejando la carga de archivos


Soporte del método PUT

PHP ofrece soporte para el método HTTP PUT utilizado por algunos clientes para almacenar archivos en un servidor. Las peticiones PUT son mucho más simples que una carga de archivos mediante solicitudes POST y se ven algo como esto:

PUT /path/filename.html HTTP/1.1

Esto normalmente significa que el cliente remoto quiere guardar el contenido que sigue como: /path/filename.html en el árbol web. Obviamente no es una buena idea para Apache o PHP dejar automáticamente a todo el mundo que pueda sobrescribir cualquier archivo del árbol web. Para manejar esta solicitud se debe primero decir al servidor web que se desea que cierto script de PHP maneje la petición. En Apache se hace esto con la directiva de Script. Se puede colocar casi en cualquier parte del archivo de configuración de Apache. Un lugar común es dentro de un bloque <Directory> o tal vez dentro de un bloque <VirtualHost>. Una línea como ésta haría el truco:

Script PUT /put.php

Esto le dice a Apache que envíe todas peticiones PUT para URIs que coincidan con el contexto en el cual se pone esta línea en el script put.php. Esto asume, por supuesto, que se tiene habilitado PHP para la extensión .php y que PHP está activo. El recurso de destino para todas las solicitudes PUT a este script tiene que ser en propio script, el archivo subido no debe tener un nombre de archivo.

Con PHP entonces se haría algo como lo siguiente en el put.php. Esto copiaría el contenido del archivo subido al archivo myputfile.ext en el servidor. Es probable que se deseen realizar algunas verificaciones y/o autenticar al usuario antes de realizar esta copia de archivo.

Ejemplo #1 Guardando archivos HTTP PUT

<?php
/* datos PUT vienen en en el flujo de entrada estándar  */
$putdata = fopen("php://input", "r");

/* Abre un archivo para escribir */
$fp = fopen("myputfile.ext", "w");

/* Leer los datos de 1 KB a la vez
   y escribir en el archivo */
while ($data = fread($putdata, 1024))
  fwrite($fp, $data);

/* Cerrar los flujos */
fclose($fp);
fclose($putdata);
?>

Subida de múltiples archivos
Usando archivos remotos
Manejando la carga de archivos


Usando archivos remotos

Siempre que allow_url_fopen este habilitado en php.ini, se pueden usar URLs HTTP y FTP con la mayoría de las funciones que toman un nombre de archivo como parámetro. Además, las URLs pueden ser usadas con las declaraciones include, include_once, require y require_once (desde PHP 5.2.0, allow_url_include debe ser habilitado para esto). Ver Protocolos y Envolturas soportados para más información de los protocolos soportados por PHP.

Nota:

En PHP 4.0.3 y anteriores, con el fin de usar capas de URL, se requirió de configurar PHP usando la opción de configuración --enable-url-fopen-wrapper .

Nota:

Las versiones Windows de PHP más nuevas a la PHP 4.3 no soportan acceso remoto a los archivos por las siguientes funciones: include, include_once, require, require_once, y las funciones imagecreatefromXXX en la extensión Funciones de GD e Imágenes

Por ejemplo, se puede usar esto para abrir un archivo en un web server remoto, analizar la salida de los datos que se quieren, y entonces usar esos datos en una consulta a la base de datos, o simplemente para mostrarlos en un estilo que coincida con el resto del sitio web.

Ejemplo #1 Obteniendo el titulo de una página remota

<?php
$file = fopen ("http://www.example.com/", "r");
if (!$file) {
    echo "<p>Imposible abrir el archivo remoto.\n";
    exit;
}
while (!feof ($file)) {
    $line = fgets ($file, 1024);
    /* Esto solo trabaja si el titulo y sus tags estan en una línea */
    if (preg_match ("@\<title\>(.*)\</title\>@i", $line, $out)) {
        $title = $out[1];
        break;
    }
}
fclose($file);
?>

También se pueden escribir archivos en un servidor FTP (considerando que se esta conectado como un usuario con los permisos de acceso correctos). Se pueden crear únicamente archivos nuevos usando este método. Si se intenta sobreescribir un archivo que ya existe, la llamada a la función fopen() fallará.

Para conectarse como un usuario diferente a 'anonymous', se necesita especificar el usuario (y posiblemente el password) con la URL, tal como 'ftp://user:password@ftp.example.com/path/to/file'. (Se puede usar la misma sintaxis para accesar archivos vía HTTP cuando se requiere autenticación básica).

Ejemplo #2 Almacenando datos en un servidor remoto

<?php
$file = fopen ("ftp://ftp.example.com/incoming/outputfile", "w");
if (!$file) {
    echo "<p>Imposible abrir el archivo remoto para escritura.\n";
    exit;
}
/* Escribir los datos aqui. */
fwrite ($file, $_SERVER['HTTP_USER_AGENT'] . "\n");
fclose ($file);
?>

Nota:

Se podría tener la idea del ejemplo anterior que se esta usando esta técnica para escribir un archivo de log remoto. Desafortunadamente esto no funcionaría porque la función fopen() llamada fallará si el archivo remoto ya existe. Para hacer logs distribuidos como ese, se debería dar un vistazo a syslog().

Soporte del método PUT
Manejo de Conexiones
Características


Manejo de Conexiones

Internamente en PHP se mantiene un estatus de la conexión. Hay 3 posibles estados:

  • 0 - NORMAL
  • 1 - ABORTED
  • 2 - TIMEOUT

Cuando un script en PHP esta ejecutándose normalmente, está activo el estado NORMAL. Si el cliente remoto se desconecta, el flag ABORTED es activado. Un cliente remoto se desconecta usualmente porque el usuario presiona su botón STOP. Si el tiempo limite PHP-imposed (ver set_time_limit()) es activado, el flag TIMEOUT se activa.

Se puede decidir si se desea que un cliente se desconecte o no a causa de que se aborte el script. Algunas veces es útil que los scripts se ejecuten inclusive si ya no hay un navegador recibiendo la salida. El comportamiento por defecto es que el script sea abortado cuando el cliente remoto se desconecte. Este comportamiento puede ser establecido a través de la directiva ignore_user_abort en php.ini así como a través de la directiva correspondiente de Apache en httpd.conf php_value ignore_user_abort o con la función ignore_user_abort(). Si se decide no decirle a PHP que ignore abortar al usuario y el usuario aborta, el script terminará. La única excepción es si se tiene registrada una función de cierre usando register_shutdown_function(). Con una función de cierre, cuando el usuario remoto activa el botón STOP, la próxima vez que el script intente mostrar algo, PHP detectará que la conexión fue abortada y la función de cierre es llamada. Esta función de cierre también es llamada al final del script cuando termina normalmente, así que para hacer algo diferente en el caso de que un cliente se desconecte usar la función connection_aborted(). Esta función retornará TRUE si la conexión fue abortada.

El script puede ser terminado también por el temporizador incorporado en los scripts. El tiempo por defecto es de 30 segundos. Puede ser cambiado usando la directiva max_execution_time de php.ini o la correspondiente directiva php_value max_execution_time de Apache httpd.conf así como con la función set_time_limit(). Cuando el temporizador expira el script será abortado y así como el caso del cliente anterior que se desconecto, si la función de cierre ha sido registrada ésta será llamada. Dentro de esta función de cierre se puede comprobar para ver si el timeout causa la función de cierre llamando a la función connection_status(). Esta función retornará 2 si el timeout causo la llamada a la función de cierre.

Una cosa a notar es que ambos estados ABORTED y TIMEOUT pueden ser activados al mismo tiempo. Esto es posible si se le dice a PHP que ignore el aborto del usuario. PHP notará de hecho que un usuario podría haber roto la conexión, pero el script se mantendrá ejecutándose. Si este activa el limite de tiempo será abortado y la función de cierre, si existe, será llamada. A este punto, se encontrará que connection_status() retorna 3.

Usando archivos remotos
Conexiones Persistentes a Bases de Datos
Características


Conexiones Persistentes a Bases de Datos

Las conexiones persistentes son enlaces que no se cierran cuando la ejecución del script termina. Cuando una conexión persistente es solicitada, PHP chequea si ya existe una conexión persistente idéntica (que fuera abierta antes) - y si existe, la usa. Si no existe, crea el enlace. Una conexión "Idéntica" es una conexión que fue abierta por el mismo host, con el mismo usuario y el mismo password (donde sea aplicable).

Las personas que no estan completamente familiarizadas con como trabajan los web servers y la distribución de carga podrían equivocarse en usar conexiones persistentes para lo que no son. En particular, no le da la habilidad de abrir "sesiones de usuario" en el mismo enlace, no le da la habilidad de construir una transacción eficiente, pero no hacen muchas otras cosas más. De hecho, para ser extremadamente claros acerca de esto, las conexiones persistentes no dan cualquier otra funcionalidad que no fuera posible hacerse con sus hermanas no-persistentes.

¿Por qué?

Esto tiene que ver con la forma en que los web servers trabajan. Hay 3 formas en las cuales el web server puede generar paginas web usando PHP.

El primer método es usar PHP como una "capa" CGI. Cuando se ejecuta de esta forma, una instancia del interprete PHP es creado y destruido por cada solicitud de la página (para una página PHP) al web server. Porque es destruido después de cada solicitud, cualquier recurso que se necesite (como un enlace a un servidor de base de datos SQL) son cerradas cuando son destruidas. En este caso, no se gana nada intentando usar conexiones persistentes -- simplemente no persisten.

La segunda, y mas popular, es ejecutar PHP como un modulo en un servidor multiproceso, el cual actualmente solo incluye a Apache. Un servidor multiproceso normalmente tiene un proceso (el padre) el cual coordina un grupo de procesos (los hijos) los cuales no trabajan sirviendo páginas web. Cuando una solicitud viene desde el cliente, es manejada por uno de los hijos el cual no este sirviendo a otro cliente. Esto significa que cuando el mismo cliente hace una segunda solicitud al servidor, podría ser servido por un proceso hijo diferente a la primera vez. Cuando se abre una conexión persistente, cada petición siguiente de servicios SQL puede reusar la misma conexión establecida al servidor SQL.

El último método es usar PHP como un plug-in para un servidor web multihilos. Actualmente PHP 4 tiene soporte para ISAPI, WSAPI, y NSAPI (en Windows), los cuales permiten usar PHP como un plug-in multihilo en servidores como Nestcape FastTrack (iPlanet), Microsoft Internet Information Server (IIS), y O'Reilly's WebSite Pro. El comportamiento es esencialmente el mismo para el modelo multiproceso descrito antes.

Si las conexiones persistentes no tienen ninguna funcionalidad adicional, ¿Para que son buenas?

La respuesta es extremadamente simple -- eficiencia. Las conexiones persistentes son buenas si la sobrecarga para crear enlaces al servidor SQL son altas. Que hallan o no sobrecargas depende de muchos factores. Como, cual base de datos se usa, que sea o no la misma computadora en que esta el servidor web, así como la carga de la maquina que tiene el servidor SQL y así por el estilo. Lo esencial es que si la sobrecarga de conexiones es alta, las conexiones persistentes ayudan considerablemente. Podrían causar que los procesos hijos únicamente se conecten una vez en todo lo que duran, en lugar de que se haga cada vez que se procese una página que se conecte a un servidor SQL. Esto significa que por cada hijo que abrió una conexión persistente mantendrá una conexión persistente al servidor. Por ejemplo, si se tienen 20 procesos hijos diferentes que ejecutaran un script que hace una conexión persistente al servidor SQL, se tendrían 20 conexiones diferentes al servidor SQL, una por cada hijo.

Nótese, sin embargo, que esto puede tener algunos inconvenientes si se esta usando una base de datos con un limite de conexiones que sean excedidas por las conexiones persistentes hijas. Si la base de datos tiene un limite de 16 conexiones simultaneas, y en el curso de una sesión ocupada del servidor, 17 hilos intentan conectarse, uno no sera posible de hacerse. Si hay bugs en los scripts los cuales no contemplen los cierres de las conexiones (como un loop infinito), la base de datos con los 16 conexiones podría rápidamente hundida. Chequear la documentación de la base de datos para obtener información de como manejar conexiones abandonadas u ociosas.

Advertencia

Hay un par de advertencias mas que tener en mente cuando se usan conexiones persistentes. Una es que cuando se usan bloqueos de tablas con una conexión persistente, si el script por alguna razón no puede soltar el bloqueo, entonces los scripts subsecuentes que usan la misma conexión serán bloqueadas indefinidamente y podría ser necesario reiniciar el servidor httpd o el servidor de la base de datos. Otra cosa es que cuando se usan transacciones, una transacción bloqueada también podría llevar al siguiente script el cual usa la conexión si la ejecución del script termina antes que el bloqueo lo haga. En ese caso, se puede usar register_shutdown_function() para registrar una función de limpieza para desbloquear las tablas o deshacer la transacción. Mejor aún es evitar este problema por completo no usando conexiones persistentes en scripts los cuales usan bloqueo de tablas o transacciones (se pueden usar en otros lugares).

Un resumen importante. Las conexiones persistentes fueron diseñadas para tener conexiones normales uno a uno. Esto significa siempre que se podría ser capaz de reemplazar conexiones persistentes con conexiones no-persistentes, y no cambiaría la forma en que este se comporte. Esto podría (y probablemente lo hará) cambiar la eficiencia del script, pero no su comportamiento!.

Ver también  fbsql_pconnect(),
 ibase_pconnect(),  ifx_pconnect(),
 ingres_pconnect(),
 msql_pconnect(),  mssql_pconnect(),
 mysql_pconnect(),  ociplogon(),
 odbc_pconnect(),  oci_pconnect(),
 pfsockopen(),  pg_pconnect(), and
 sybase_pconnect().

Manejo de Conexiones
Safe Mode
Características


Safe Mode

Tabla de contenidos

  • Security and Safe Mode
  • Functions restricted/disabled by safe mode

The PHP safe mode is an attempt to solve the shared-server security problem. It is architecturally incorrect to try to solve this problem at the PHP level, but since the alternatives at the web server and OS levels aren't very realistic, many people, especially ISP's, use safe mode for now.

Advertencia

Esta característica ha sido declarada OBSOLETA desde PHP 5.3.0 y ELIMINADA a partir de PHP 5.4.0.

Changelog for safe mode
Versión | Descripción
5.4.0 | Removed from PHP, and generates a fatal E_CORE_ERROR level error when enabled.
5.3.0 | Deprecated, and E_DEPRECATED errors were added.

Conexiones Persistentes a Bases de Datos
Security and Safe Mode
Características


Security and Safe Mode

Security and Safe Mode Configuration Directives
Nombre | Por defecto | Cambiable | Historial de cambios
safe_mode | "0" | PHP_INI_SYSTEM | Removed in PHP 5.4.0.
safe_mode_gid | "0" | PHP_INI_SYSTEM | Available since PHP 4.1.0. Removed in PHP 5.4.0.
safe_mode_include_dir | NULL | PHP_INI_SYSTEM | Available since PHP 4.1.0. Removed in PHP 5.4.0.
safe_mode_exec_dir | "" | PHP_INI_SYSTEM | Removed in PHP 5.4.0.
safe_mode_allowed_env_vars | "PHP_" | PHP_INI_SYSTEM | Removed in PHP 5.4.0.
safe_mode_protected_env_vars | "LD_LIBRARY_PATH" | PHP_INI_SYSTEM | Removed in PHP 5.4.0.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

safe_mode boolean

Whether to enable PHP's safe mode. If PHP is compiled with --enable-safe-mode then defaults to On, otherwise Off.

Advertencia

Esta característica ha sido declarada OBSOLETA desde PHP 5.3.0 y ELIMINADA a partir de PHP 5.4.0.

safe_mode_gid boolean

By default, Safe Mode does a UID compare check when opening files. If you want to relax this to a GID compare, then turn on safe_mode_gid. Whether to use UID (FALSE) or GID (TRUE) checking upon file access.

safe_mode_include_dir string

UID/GID checks are bypassed when including files from this directory and its subdirectories (directory must also be in include_path or full path must including).

As of PHP 4.2.0, this directive can take a colon (semi-colon on Windows) separated path in a fashion similar to the include_path directive, rather than just a single directory. The restriction specified is actually a prefix, not a directory name. This means that "safe_mode_include_dir = /dir/incl" also allows access to "/dir/include" and "/dir/incls" if they exist. When you want to restrict access to only the specified directory, end with a slash. For example: "safe_mode_include_dir = /dir/incl/" If the value of this directive is empty, no files with different UID/GID can be included in PHP 4.2.3 and as of PHP 4.3.3. In earlier versions, all files could be included.
safe_mode_exec_dir string

If PHP is used in safe mode, system() and the other functions executing system programs refuse to start programs that are not in this directory. You have to use / as directory separator on all environments including Windows.

safe_mode_allowed_env_vars string

Setting certain environment variables may be a potential security breach. This directive contains a comma-delimited list of prefixes. In Safe Mode, the user may only alter environment variables whose names begin with the prefixes supplied here. By default, users will only be able to set environment variables that begin with PHP_ (e.g. PHP_FOO=BAR).

Nota:

If this directive is empty, PHP will let the user modify ANY environment variable!

safe_mode_protected_env_vars string

This directive contains a comma-delimited list of environment variables that the end user won't be able to change using putenv(). These variables will be protected even if safe_mode_allowed_env_vars is set to allow to change them.

See also: open_basedir, disable_functions, disable_classes, register_globals, display_errors, and log_errors.

When safe_mode is on, PHP checks to see if the owner of the current script matches the owner of the file to be operated on by a file function or its directory. For example:

-rw-rw-r--    1 rasmus   rasmus       33 Jul  1 19:20 script.php
-rw-r--r--    1 root     root       1116 May 26 18:01 /etc/passwd
Running script.php:
<?php
 readfile('/etc/passwd');
?>
results in this error when safe mode is enabled:
Warning: SAFE MODE Restriction in effect. The script whose uid is 500 is not
allowed to access /etc/passwd owned by uid 0 in /docroot/script.php on line 2

However, there may be environments where a strict UID check is not appropriate and a relaxed GID check is sufficient. This is supported by means of the safe_mode_gid switch. Setting it to On performs the relaxed GID checking, setting it to Off (the default) performs UID checking.

If instead of safe_mode, you set an open_basedir directory then all file operations will be limited to files under the specified directory. For example (Apache httpd.conf example):

<Directory /docroot>
  php_admin_value open_basedir /docroot
</Directory>
If you run the same script.php with this open_basedir setting then this is the result:
Warning: open_basedir restriction in effect. File is in wrong directory in
/docroot/script.php on line 2

You can also disable individual functions. Note that the disable_functions directive can not be used outside of the php.ini file which means that you cannot disable functions on a per-virtualhost or per-directory basis in your httpd.conf file. If we add this to our php.ini file:

disable_functions = readfile,system
Then we get this output:
Warning: readfile() has been disabled for security reasons in
/docroot/script.php on line 2

Advertencia

These PHP restrictions are not valid in executed binaries, of course.

Safe Mode
Functions restricted/disabled by safe mode
Safe Mode


Functions restricted/disabled by safe mode

This is a still probably incomplete and possibly incorrect listing of the functions limited by safe mode.

Safe mode limited functions
Function | Limitations
dbmopen() | Comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado.
dbase_open() | Comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado.
filepro() | Comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado.
filepro_rowcount() | Comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado.
filepro_retrieve() | Comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado.
ifx_* | sql_safe_mode restrictions, (!= safe mode)
ingres_* | sql_safe_mode restrictions, (!= safe mode)
mysql_* | sql_safe_mode restrictions, (!= safe mode)
pg_lo_import() | Comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado.
posix_mkfifo() | Comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado.
putenv() | Obeys the safe_mode_protected_env_vars and safe_mode_allowed_env_vars ini-directives. See also the documentation on putenv()
move_uploaded_file() | Comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado.
chdir() | Comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado.
dl() | Esta función no está disponible cuando PHP está corriendo en safe mode.
backtick operator | Esta función no está disponible cuando PHP está corriendo en safe mode.
shell_exec() (functional equivalent of backticks) | Esta función no está disponible cuando PHP está corriendo en safe mode.
exec() | You can only execute executables within the safe_mode_exec_dir. For practical reasons it's currently not allowed to have .. components in the path to the executable. escapeshellcmd() is executed on the argument of this function.
system() | You can only execute executables within the safe_mode_exec_dir. For practical reasons it's currently not allowed to have .. components in the path to the executable. escapeshellcmd() is executed on the argument of this function.
passthru() | You can only execute executables within the safe_mode_exec_dir. For practical reasons it's currently not allowed to have .. components in the path to the executable. escapeshellcmd() is executed on the argument of this function.
popen() | You can only execute executables within the safe_mode_exec_dir. For practical reasons it's currently not allowed to have .. components in the path to the executable. escapeshellcmd() is executed on the argument of this function.
fopen() | Comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado.
mkdir() | Comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado.
rmdir() | Comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado.
rename() | Comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado. Comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado.
unlink() | Comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado. Comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado.
copy() | Comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado. Comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado. (on source and target)
chgrp() | Comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado.
chown() | Comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado.
chmod() | Comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado. In addition, you cannot set the SUID, SGID and sticky bits
touch() | Comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado. Comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado.
symlink() | Comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado. Comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado. (note: only the target is checked)
link() | Comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado. Comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado. (note: only the target is checked)
apache_request_headers() | In safe mode, headers beginning with authorization (case-insensitive) will not be returned.
header() | In safe mode, the uid of the script is added to the realm part of the WWW-Authenticate header if you set this header (used for HTTP Authentication).
PHP_AUTH variables | In safe mode, the variables PHP_AUTH_USER, PHP_AUTH_PW, and AUTH_TYPE are not available in $_SERVER. Regardless, you can still use REMOTE_USER for the USER. (note: only affected since PHP 4.3.0)
highlight_file(), show_source() | Comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado. Comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado. (note: only affected since PHP 4.2.1)
parse_ini_file() | Comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado. Comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado. (note: only affected since PHP 4.2.1)
set_time_limit() | Has no effect when PHP is running in safe mode.
max_execution_time | Has no effect when PHP is running in safe mode.
mail() | In safe mode, the fifth parameter is disabled. (note: only affected since PHP 4.2.3)
session_start() | The owner of a script must be the same as owner of a session.save_path directory if the default files session.save_handler is used.
All filesystem and stream functions. | Comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado. Comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado. (see the safe_mode_include_dir php.ini option.

Security and Safe Mode
Funcionamiento en la línea de comandos
Safe Mode


Usando PHP desde la línea de comandos

Tabla de contenidos

  • Introducción
  • Diferencias respecto a otras SAPIs
  • Opciones
  • Uso
  • Flujos de E/S
  • Consola interactiva
  • Servidor web embebido
  • Configuración INI
Functions restricted/disabled by safe mode
Introducción
Características


Introducción

Desde PHP 4.3.0, hay soporte para CLI SAPI. El principal objetivo de este valor SAPI es el desarrollo de aplicaciones de consola en PHP. En este capítulo se explica las diferencias que hay entre CLI SAPI y otras SAPIs. Vale la pena aclarar que CLI y CGI son SAPIs diferentes pese a que compartan la mayoría de características.

Para que CLI SAPI esté activa por omisión, debe usarse --enable-cli , pero puede deshabilitarse usando la opción --disable-cli al ejecutar ./configure.

Tanto el nombre, ubicación y presencia del binario CLI/CGI depende de cómo se instale PHP en el sistema. Por omisión, al ejecutar make, tanto CGI como CLI se construyen y ubican como sapi/cgi/php-cgi y sapi/cli/php respectivamente, en el directorio fuente de PHP. Debe tenerse en cuenta que los dos se llaman php. Dependiendo de la configuración, sucederá una cosa u otra al ejecutar make install. Si durante la configuración se elige un módulo SAPI, como por ejemplo apxs, o bien se usa la opción --disable-cgi , se copia CLI a {PREFIX}/bin/php al ejecutar make install a no ser que CGI ya esté ahí. Por ejemplo, si se utiliza --with-apxs en la configuración, entonces CLI se copiaría a {PREFIX}/bin/php durante make install. Si se deseara sobrescribir la instalación del binario de CGI, debe usarse make install-cli tras make install. Adicionalmente, se puede especificar --disable-cgi en la configuración.

Nota:

Ya que tanto --enable-cli como --enable-cgi se habilitan por omisión, el simple hecho de tener --enable-cli en la configuración no implica que CLI se instale en {PREFIX}/bin/php durante make install.

Desde PHP 5, en sistemas Windows el binario CLI se instala en el directorio principal con el nombre de php.exe. La versión CGI se instala como php-cgi.exe. Además, se instalaría php-win.exe si PHP se hubiera configurado usando --enable-cli-win32 . Funciona igual que la versión CLI, solo que no muestra ninguna salida, por lo que no sirve para la consola.

Nota: ¿Qué SAPI tengo?

Desde la consola, al escribir php -v sabremos si php es un CGI o CLI. Revise, asimismo, la función php_sapi_name() y la constante PHP_SAPI.

Nota:

En Unix hay disponible una página del manual escribiendo man php en la terminal.

Funcionamiento en la línea de comandos
Diferencias respecto a otras SAPIs
Funcionamiento en la línea de comandos


Diferencias respecto a otras SAPIs

Principales diferencias de CLI SAPI respecto a otras SAPIs:

  • A diferencia de CGI SAPI, no se envía ninguna cabecera a la salida.

    Pese a que CGI SAPI tiene un mecanismo para desactivar las cabeceras HTTP, no existe un equivalente para habilitarlas en CLI SAPI.

    Por omisión, CLI se inicia en modo silencioso, si bien se mantienen las opciones -q y --no-header por motivos de compatibilidad, de forma que pueda ser posible utilizar antigüos scripts CGI.

    No se cambia el directorio de trabajo al del script (las opciones -C y --no-chdir se mantiene por compatibilidad).

    Mensajes de error en texto plano (no se formatean en HTML).

  • Hay ciertas directivas php.ini que se ignoran en CLI SAPI ya que no tienen sentido en un entorno de consola:

    Directivas php.ini anuladas
    Directiva | Valor por omisión en CLI SAPI | Comentario
    html_errors | FALSE | Siendo FALSE de forma predeterminada, puede resultar complicado leer mensajes de error en la consola cuando éstos están mezclados con etiquetas HTML no interpretadas.
    implicit_flush | TRUE | En un ambiente de línea de comandos, es preferible que las salidas que procedan de print, echo y y similares se muestren inmediatamente y no se mantenga en memoria intermedia. Aun así, es posible utilizar output buffering si se desea postergar o manipular la salida estándar.
    max_execution_time | 0 (ilimitado) | PHP en un entorno de shell tiende a ser utilizado para una gama mucho más amplia de los propósitos típicos basados en scripts de la Web, y como éstos pueden ser de muy larga duración, el tiempo de ejecución máximo se establece a ilimitado.
    register_argc_argv TRUE

    Establecer esta directiva a TRUE significa que los scripts ejecutados vía la SAPI CLI siempre tienen acceso a argc (número de argumentos que se le pasan a la aplicación) y argv (array con el contenido de los argumentos reales).

    Las variables de PHP $argc y $argv se establecen automáticamente al valor apropiado cuando se utiliza CLI SAPI. Esos valores también pueden ser encontrados en el array $_SERVER, por ejemplo: $_SERVER['argv']

    output_buffering FALSE

    Aunque la directiva php.ini está codificada como FALSE, las funciones del buffer de salida sí están habilitadas.

    max_input_time FALSE

    CLI no tiene soporte ni para GET, ni para POST ni para subidas de ficheros.

    Nota:

    Estas directivas no pueden ser inicializadas con otro valor desde el fichero de configuración php.ini o con un valor personalizado (si se especifica). Esta limitación se debe a que los valores son aplicados después que todos los ficheros de configuración han sido analizados. Sin embargo, sus valores pueden ser cambiados en tiempo de ejecución (aunque esto no es aplicable a todas ellas, por ejemplo register_argc_argv).

    Nota:

    Se recomienda habilitar ignore_user_abort en scripts de línea de comandos. Para más información, consulte ignore_user_abort().

  • Para facilitar el trabajo en entornos de consola, se definen unas determinadas constantes para flujos de Entrada/Salida.

  • CLI SAPI no cambia el directorio actual a aquel en el que se encuentra el script ejecutado.

    Ejemplo #1 Ejemplo que muestra las diferencias respecto a CGI SAPI:

    <?php
    // Aplicación de pruebas llamada test.php
    echo getcwd(), "\n";
    ?>

    Al usar la versión CGI, la salida es:

    $ pwd
/tmp

$ php -q otro_directorio/test.php
/tmp/otro_directorio

    Esto muestra claramente que PHP cambia el directorio actual a aquél en que se encuentre el script ejecutado.

    Al usar CLI SAPI obtenemos:

    $ pwd
/tmp

$ php -f otro_directorio/test.php
/tmp

    Esto ofrece una gran flexibilidad a la hora de escribir herramientas de consola en PHP.

    Nota:

    CGI SAPI puede funcionar con este comportamiento propio de CLI SAPI usando la opción -C al ejecutarlo desde la línea de comandos.

Introducción
Opciones
Funcionamiento en la línea de comandos


Opciones de la línea de comandos

Se puede consultar en cualquier momento la lista de opciones de línea de comandos en el binario de PHP con el modificador -h :

Usage: php [opciones] [-f] <fichero> [--] [args...]
   php [opciones] -r <código> [--] [args...]
   php [opciones] [-B <código_inicial>] -R <código> [-E <código_final>] [--] [args...]
   php [opciones] [-B <código_inicial>] -F <fichero> [-E <código_final>] [--] [args...]
   php [opciones] -- [args...]
   php [opciones] -a

  -a                      Se ejecuta interactivamente.
  -c <ruta>|<fichero>     Busca el fichero php.ini en este directorio.
  -n                      No se usará el fichero php.ini.
  -d foo[=bar]            Define la entrada INI de foo con el valor 'bar'
  -e                      Generate información extendida para el depurador/perfilador.
  -f <fichero>            Analiza y ejecuta el <fichero>.
  -h                      Esta ayuda.
  -i                      Información de PHP.
  -l                      Solamente revisa la sintáxis (lint).
  -m                      Muestra lo compilado en módulos.
  -r <code>               Ejecuta el <código> PHP sin utilizar las etiquetas del script <?..?>.
  -B <código_inicial>     Ejecuta el <código_inicial> antes de procesar las líneas de entrada.
  -R <code>               Ejecuta el <código> PHP por cada línea de entrada.
  -F <file>               Analiza y ejecuta el <fichero> por cada línea de entrada.
  -E <código_final>       Ejecuta el <código_final> después de procesar todas las líneas de entrada.
  -H                      Oculta los argumentos pasados desde cualquier herramienta externa.
  -S <dirección>:<puerto> Ejecuta con el servidor web interno.
  -t <raíz_documento>     Especifica la raíz del documento <raíz_documento> para el servidor web interno.
  -s                      Salida de la fuente en sintáxis HTML resaltada.
  -v                      Número de versión.
  -w                      Salida de la fuente con espacios en blanco y comentarios subrayados.
  -z <fichero>            Carga un <fichero> con extensión de Zend.

  args...                 Argumentos pasados al script. Utilice argumentos con -- cuando el primer argumento
                          inicie con - o el script sea leído desde la entrada estándar stdin

  --ini                   Muestra los nombres de fichero de configuración.

  --rf <nombre>           Muestra información sobre la función <nombre>.
  --rc <nombre>           Muestra información acerca de la clase <nombre>.
  --re <nombre>           Muestra información acerca de la extensión <nombre>.
  --rz <nombre>           Muestra información acerca de la extensión Zend <nombre>.
  --ri <nombre>           Muestra la configuración para la extensión <nombre>.

Opciones de línea de comandos
Opción | Opción Larga | Descripción
-a --interactive

Ejecutar PHP de forma interactiva. Para más información, consúltese la sección Consola interactiva.

-b --bindpath

Ruta Ligada en modo de servidor FASTCGI externo (sólo en CGI).

-C --no-chdir

No cambiar el directorio del script (sólo en CGI).

-q --no-header

Modo silencioso. Elimina la salida de cabeceras HTTP (sólo en CGI).

-T --timing

Calcula el tiempo de ejecución del script un número de veces (sólo en CGI).

-c --php-ini

Especifica ya sea un directorio en el que se busca a php.ini o bien un fichero INI personalizado (que no tiene porqué llamarse php.ini necesariamente), p.ej.:

$ php -c /directorio/propio/mi_script.php

$ php -c /directorio/propio/fichero-propio.ini mi_script.php

Si no se especifica esta opción, se busca el fichero php.ini en las localizaciones predeterminadas.

-n --no-php-ini

Ignorar por completo el fichero php.ini.

-d --define

Establecer un valor predeterminado para cualquiera de las directivas de configuración permitidas en php.ini. Ésta es la sintaxis:

 -d directiva_de_configuracion[=valor]

# Si se omite el valor, se establecerá un "1" a la directiva
$ php -d max_execution_time
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(1) "1"

# Si se pasa un valor vacío, se establecerá "" a la directiva
php -d max_execution_time=
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(0) ""

# Se pasará lo que haya tras el caracter '=' a la directiva de configuración
$  php -d max_execution_time=20
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(2) "20"
$  php
        -d max_execution_time=doesntmakesense
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(15) "doesntmakesense"

-e --profile-info

Activa el modo de información expandida, para usar con un depurador/perfilador.

-f --file

Analiza y ejecuta el fichero proporcionado. El modificador -f es opcional y puede ser omitido - es suficiente con solo poner el nombre del fichero a ejecutar.

Nota:

Para pasar argumentos a un script, el primer argumento debe ser --, sino PHP los interpretará como opciones de PHP.

-h y -? | --help y --usage | Muestra una lista de opciones de línea de comandos, con descripciones de una línea sobre lo que hace.
-i | --info | Invoca a phpinfo(), y muestra el resultado. Si PHP no funcionara correctamente, es aconsejable utilizar php -i para ver donde se muestre cualquier mensaje de error antes o en el lugar de las tablas de información. Tenga en cuenta que al usarse en modo CGI la salida es en HTML y por lo tanto muy larga.
-l --syntax-check

Provee un método conveniente para realizar solamente una revisión de sintáxis del código proporcionado de PHP. En caso de éxito, se muestra el texto No syntax errors detected in <filename> en la salida estándar y se devuelve un código de retorno 0. Si fallara, se mostraría el texto Errors parsing <filename>, además del mensaje de error de análisis correspondiente en la salida estándar, y se retornaría el código -1.

Esta opción no encuentra errores fatales (como funciones no definidas). Utilice el modificador -f si se desea también comprobar errores fatales.

Nota:

Esta opción no funciona junto con la opción -r .

-m --modules

Ejemplo #1 Muestra los módulos PHP y Zend incorporados (y habilitados)

$ php -m
[PHP Modules]
xml
tokenizer
standard
session
posix
pcre
overload
mysql
mbstring
ctype

[Zend Modules]

-r --run

Permite ejecutar PHP desde la línea de comandos. Las etiquetas de inicio y fin (<?php y ?>) no son necesarias y provocarán un error sintáctico si estuvieran presentes.

Nota:

Debe tenerse cuidado al usar PHP de esta forma para no colisionar con sustituciones de variables de línea de comandos hechas por la propia consola.

Ejemplo #2 Obteniendo un error sintáctico usando comillas dobles

$ php -r "$foo = get_defined_constants();"
PHP Parse error:  syntax error, unexpected '=' in Command line code on line 1

Parse error: syntax error, unexpected '=' in Command line code on line 1

El problema aquí es que sh/bash lleva a cabo una sustitución de variables incluso si estamos usando comillas dobles ". Puesto que la variable $foo no está definida, no se sustituye por nada, haciendo que el código real que se le pasa a la ejecución de PHP sea:

$ php -r " = get_defined_constants();"

La forma correcta sería usar comillas simples '. Las variables de texto en comillas simples no se sustituyen en sh/bash.

Ejemplo #3 Usando comillas simples para prevenir la sustitución de variables de la consola

$ php -r '$foo = get_defined_constants(); var_dump($foo);'
array(370) {
  ["E_ERROR"]=>
  int(1)
  ["E_WARNING"]=>
  int(2)
  ["E_PARSE"]=>
  int(4)
  ["E_NOTICE"]=>
  int(8)
  ["E_CORE_ERROR"]=>
  [...]

Si se está usando una consola diferente de sh/bash, es posible experimentar otros errores. Le animamos a enviar un informe de error a » http://bugs.php.net/. Tenga en cuenta que es muy fácil verse en problemas al tratar de utilizar variables (de la consola o de PHP) en código de línea de comandos, o al usar el caracter de barra invertida (\) para escapar caracteres, así que tome mucho cuidado haciendo eso. Ha sido advertido!

Nota:

-r está disponible en CLI SAPI, pero no en CGI SAPI.

Nota:

Esta opción está pensada unicamente para código muy básico, así que algunas directivas de configuración (tales como auto_prepend_file y auto_append_file) se ignoran en este modo.

-B --process-begin

Código PHP a ejecutar antes de procesar la entrada. Añadido en PHP 5.

-R --process-code

Código PHP a ejecutar por cada línea de entrada. Añadido en PHP 5.

Hay dos variables especiales disponibles en este modo: $argn y $argi. $argn contendrá la línea que PHP está procesando en un momento dado, mientras que $argi contendrá el número de línea.

-F --process-file

Fichero PHP a ejecutar por cada línea de entrada. Añadido en PHP 5.

-E --process-end

Código PHP a ejecutar tras procesar cada línea. Añadido en PHP 5.

Ejemplo #4 Usando las opciones -B , -R y -E para contar el número de líneas de un proyecto.

$ find my_proj | php -B '$l=0;' -R '$l += count(@file($argn));' -E 'echo "Total Lines: $l\n";'
Total Lines: 37328

-S --server

Inicia el servidor web interno. Disponible a partir de PHP 5.4.0.

-t | --docroot | Especifiva la raíz del documento para el servidor web interno. Disponible a partir de PHP 5.4.0.
-s --syntax-highlight y --syntax-highlighting

Mostrar el código fuente destacando la sintaxis en color.

Esta opción utiliza los mecanismos internos de análisis del ficheros y escribe una versión HTML coloreada y la muestra en la salida estándar. Tenga en cuenta que todo lo que hace es generar un bloque de etiquetas HTML <code> [...] </code>, sin cabeceras HTML.

Nota:

Esta opción no puede funcionar junto con la opción -r .

-v --version

Ejemplo #5 Al usar -v obtenemos el nombre de la SAPI y la versión de PHP y Zend

$ php -v
PHP 5.3.1 (cli) (built: Dec 11 2009 19:55:07)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies

-w --strip

Mostrar código fuente sin comentarios ni líneas en blanco.

Nota:

Esta opción no puede usarse junto con la opción -r .

-z --zend-extension

Carga una extensión Zend. Si sólo se proporciona un nombre de fichero, PHP trata de cargar la extensión en el directorio de bibliotecas por defecto de su sistema (normalmente se especifica en /etc/ld.so.conf en sistemas Linux, por ejemplo). Si se proporciona un nombre de fichero con la ruta absoluta no se usarán las rutas de bibliotecas del sistema. Un nombre de fichero relativo que incluya algún directorio le indicará a PHP que sólo trate de cargar la extensión a partir del directorio actual.

--ini

Mostrar el nombre del fichero de configuración y de los directorios analizados. Disponible desde PHP 5.2.3.

Ejemplo #6 Ejemplo de --ini

$ php --ini
Configuration File (php.ini) Path: /usr/dev/php/5.2/lib
Loaded Configuration File:         /usr/dev/php/5.2/lib/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)
--rf --rfunction

Mostrar información de la función o método proporcionado (p.ej. número y nombre de los parámetros). Disponible desde PHP 5.1.2.

Esta opción sólo está disponible si se compiló PHP con soporte para Reflection.

Ejemplo #7 Uso básico de --rf

$ php --rf var_dump
Function [ <internal> public function var_dump ] {

  - Parameters [2] {
    Parameter #0 [ <requerido> $var ]
    Parameter #1 [ <opcional> $... ]
  }
}
--rc --rclass

Muestra información de la clase dada (lista de constantes, propiedades y métodos). Disponible desde PHP 5.1.2.

Esta opción sólo está disponible si se compiló PHP con soporte para Reflection.

Ejemplo #8 Ejemplo de --rc

$ php --rc Directory
Class [ <internal:standard> class Directory ] {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [0] {
  }

  - Methods [3] {
    Method [ <internal> public method close ] {
    }

    Method [ <internal> public method rewind ] {
    }

    Method [ <internal> public method read ] {
    }
  }
}
--re --rextension

Muestra información de la extensión dada (lista de opciones en php.ini, funciones definidas, constantes y clases). Disponible desde PHP 5.1.2.

Esta opción sólo está disponible si se compiló PHP con soporte para Reflection .

Ejemplo #9 Ejemplo de --re

$ php --re json
Extension [ <persistent> extension #19 json version 1.2.1 ] {

  - Functions {
    Function [ <internal> function json_encode ] {
    }
    Function [ <internal> function json_decode ] {
    }
  }
}
--rz --rzendextension

Mostrar la información de configuración para la extensión Zend proporcionada (la misma información que es devuelta por la función phpinfo()). Disponible como parte de PHP 5.4.0.

--ri --rextinfo

Mostrar información de configuración de la extensión dada (la misma información que muestra phpinfo()). Disponible desde PHP 5.2.2. La información relevante está disponible usando "main" como nombre de extensión.

Ejemplo #10 Ejemplo de --ri

$ php --ri date

date

date/time support => enabled
"Olson" Timezone Database Version => 2009.20
Timezone Database => internal
Default timezone => Europe/Oslo

Directive => Local Value => Master Value
date.timezone => Europe/Oslo => Europe/Oslo
date.default_latitude => 59.930972 => 59.930972
date.default_longitude => 10.776699 => 10.776699
date.sunset_zenith => 90.583333 => 90.583333
date.sunrise_zenith => 90.583333 => 90.583333

Nota:

Las opciones -rBRFEH, --ini y --r[fcezi] sólo están disponibles en CLI.

Diferencias respecto a otras SAPIs
Uso
Funcionamiento en la línea de comandos


Ejecutando ficheros PHP

Hay tres formas distintas de proveer a la CLI SAPI con código PHP para que sea ejecutado:

  1. Decirle a PHP que ejecute un determinado fichero.

    $ php mi_script.php

$ php -f mi_script.php

    Ambas formas (usando o no el modificador -f ) ejecutan el fichero mi_script.php. Nótese que no hay restricción sobre cuales ficheros puede ser ejecutado; en particular, el nombre del fichero no es necesario que tenga una extensión .php.

    Nota:

    Si se necesita proporcionar argumentos al script, utilizando el modificador -f , el primer argumento debe ser --.

  2. Pasar el código PHP para ejecutarlo directamente en la línea de comandos.

    $ php -r 'print_r(get_defined_constants());'

    Debe tomarse especial cuidado con respecto al uso de comillas y la sustitución de variables de la consola.

    Nota:

    Lea cuidadosamente el ejemplo: No hay etiquetas de inicio y fin. El modificador -r simplemente no lo necesita. Si se usare, provocaría un error sintáctico.

  3. Proporcionar el código PHP a ejecutar a través de la entrada estándar (stdin).

    Esto ofrece la posibilidad de crear código PHP dinámicamente para pasárselo al binario, tal y como se ve en este ejemplo (ficticio):

    $ alguna_aplicacion | algun_filtro | php | sort -u > salida_final.txt
No se pueden combinar las tres formas para ejecutar código.

Como todas las aplicaciones de consola, el binario de PHP acepta un determinado número de argumentos, sin embargo un script PHP también puede recibirlos. El número de argumentos que pueden ser pasados a su script no está limitado por PHP (aunque la consola tiene un determinado número de caracteres límite; usualmente usted no alcanzará este límite). Los argumentos pasados al script están disponibles en el array global $argv. El primer índice (cero) siempre contiene el nombre del script como se llamó desde la línea de comandos. Nótese que, si el código es ejecutado en la línea utilizando el modificador de consola -r , el valor de $argv[0] será simplemente un guión medio -). Lo mismo aplica si el código es ejecutado por medio de una tubería desde la entrada estándar STDIN.

Una segunda variable global, $argc, contiene el número de elementos en el arreglo $argv (pero no el número de argumentos pasados al script).

Dado que los argumentos que se pasan a un script no comienzan con el caracter -, no hay nada especial a tener en cuenta. Si se pasa a un script un argumento que comience por - provocará errores porque el intérprete de PHP pensará que debe manejarlo él, aún antes de ejecutar el script. Para prevenir esto, utilice el separador de lista de argumentos --. Una vez que PHP lea este separador, todos los argumentos que lo sigan se pasarán intactos al script.

# Esto no ejecutará el código dado, sino que mostrará el uso de PHP
$ php -r 'var_dump($argv);' -h
Usage: php [options] [-f] <file> [args...]
[...]

# Esto pasrá el argumento '-h' al script, impidiendo que PHP muestre su uso
$ php -r 'var_dump($argv);' -- -h
array(2) {
  [0]=>
  string(1) "-"
  [1]=>
  string(2) "-h"
}

Sin embargo, en sistemas Unix, hay otra forma de usar PHP para scripts de consola. Se puede escribir un script en el que la primera línea comience con #!/usr/bin/php (sustitúyalo por la ruta a su CLI binario de PHP si es diferente). El resto del fichero debería contener código PHP normal con las etiquetas usuales de inicio y fin de PHP. Una vez que se otorguen permisos de ejecución al fichero apropiadamente (p.ej. chmod +x test) el script podrá ejecutarse como cualquier otro script de consola o perl:

Ejemplo #1 Ejecutando un script PHP como un script de consola

#!/usr/bin/php
<?php
var_dump($argv);
?>

Asumiendo que este fichero se llama test y que está en el directorio actual, es posible hacer lo siguiente:

$ chmod +x test
$ ./test -h -- foo
array(4) {
  [0]=>
  string(6) "./test"
  [1]=>
  string(2) "-h"
  [2]=>
  string(2) "--"
  [3]=>
  string(3) "foo"
}

Tal y como puede verse, en este caso no hace falta tener cuidado al pasar al script parámetros que comienzan con -.

El ejecutable de PHP puede ser utilizado para ejecutar scripts de PHP que sean absolutamente independientes del servidor web. En sistemas Unix, los caracteres especiales #! (o conocido como "shebang") deben añadirse en la primera línea del script seguido de la ruta hacia el binario de PHP para que le indique autom[aticamente al sistema cual es el programa que debería ejecutar al script. En plataformas Windows puede asociar php.exe para que funcione al hacer doble clic en ficheros con extensión .php, o se puede hacer un fichero por lotes para ejecutar el script mediante PHP. La primera línea especial "shebang" que se añade a un script para que funcione en Unix no interferirá en Windows (ya que está formateado como un comentario de PHP), así que pueden escribirse programas para plataformas independientes incluyéndose sin ningún problema. Más abajo puede encontrarse un ejemplo sencillo de cómo escribir un programa de línea de comandos en PHP.

Ejemplo #2 Script destinado a ejecutarse desde la línea de comandos (script.php)

#!/usr/bin/php
<?php

if ($argc != 2 || in_array($argv[1], array('--help', '-help', '-h', '-?'))) {
?>

Éste es un script PHP de línea de comandos con un parámetro.

  Uso:
  <?php echo $argv[0]; ?> <parámetro>

  <parámetro> puede ser alguna palabra que desee
  mostrar en pantalla. Con las opciones --help, -help, -h,
  o -?, puede mostrarse esta ayuda.

<?php
} else {
    echo $argv[1];
}
?>

El script de arriba, incluye la primera línea especial "shebang" de Unix para indicar que este fichero debería ejecutarse por PHP. Puesto que aquí estamos trabajando con una versión CLI, no se mostrarán cabeceras HTTP.

El programa comprueba primero que hay más de un parámetro (adicionalmente al nombre del script, el cual también es contado). Si no lo hay, o si el parámetro fuese --help , -help , -h o -? , se imprime el mensaje de ayuda, utilizando $argv[0] para escribir el nombre del script dinámicamente tal como se escribió en la línea de comandos. De otra manera, el parámetro es mostrado exactamente como se recibió.

Para ejecutar el script superior en Unix, debe otorgarle permisos de ejecución al fichero para hacerlo ejecutable, y llamarlo simplemente como script.php mostrar_esto o script.php -h. En Windows, se puede crear un fichero por lotes para lograr esta tarea:

Ejemplo #3 Fichero por lotes para ejecutar un script PHP en línea de comandos (script.bat)

@echo OFF
"C:\php\php.exe" script.php %*

Asumiendo que el programa superior se llamara script.php, y CLI php.exe estuviera en C:\php\php.exe , este fichero por lotes lo ejecutaría automáticamente con los parámetros que se le hayan pasado: script.bat mostrar_esto o script.bat -h.

Vea también la documentación de extensión Readline para conocer más funciones que pueden ser utilizadas para mejorar las aplicaciones de línea de comandos en PHP.

Si está en Windows, puede configurar PHP para que no sea necesario añadir ni C:\php\php.exe ni la extensión .php, tal como se describe en PHP en Línea de Comandos en Microsoft Windows.

Opciones
Flujos de E/S
Funcionamiento en la línea de comandos


Flujos de entrada/salida

CLI SAPI define algunas constantes para flujos de E/S que simplifican la programación en línea de comandos.

Constantes específicas de CLI
Constante Descripción
STDIN

Flujo abierto a stdin. Ahorra tener que abrirlo con

<?php
$stdin = fopen('php://stdin', 'r');
?>
Si se desea leer una sola línea de stdin, puede usarse
<?php
$line = trim(fgets(STDIN)); // lee una línea de STDIN
fscanf(STDIN, "%d\n", $number); // lee un número de STDIN
?>

STDOUT

Flujo abierto a stdout. Ahorra tener que abrirlo con

<?php
$stdout = fopen('php://stdout', 'w');
?>

STDERR

Flujo abierto a stderr. Ahora tener que abrirlo con

<?php
$stderr = fopen('php://stderr', 'w');
?>

Teniendo esto en cuenta, no es necesario abrir por ejemplo un flujo a stderr, sino que puede usarse la constante en lugar del recurso de tipo flujo:

php -r 'fwrite(STDERR, "stderr\n");'
No es necesario cerrar explícitamente estos flujos, ya que se cierra automáticamente por PHP al finalizar el script.

Nota:

Estas constantes no están disponibles si se leyera el script PHP a partir de stdin.

Uso
Consola interactiva
Funcionamiento en la línea de comandos


Consola interactiva

Desde PHP 5.1.0, CLI SAPI ofrece una consola interactiva si se usa con el modificador -a y PHP está compilado con la opción --with-readline .

Al usar la consola interactiva, se puede escribir directamente código PHP que se ejecuta al momento.

Ejemplo #1 Ejecutando código desde la consola interactiva

$ php -a
Interactive shell

php > echo 5+8;
13
php > function addTwo($n)
php > {
php { return $n + 2;
php { }
php > var_dump(addtwo(2));
int(4)
php >

La consola interactiva, además, proporciona autocompletado mediante el tabulador de funciones, constantes, nombres de clases, variables, llamadas a métodos estáticos y constantes de clases.

Ejemplo #2 Autocompletado con el tabulador

Al pulsar dos veces la tecla tabulador habiendo múltiples opciones de completados, se mostrará una lista con éstas:

php > strp[TAB][TAB]
strpbrk   strpos    strptime
php > strp

Cuando sólo hay una posible opción, sólo con pulsar una vez el tabulador se completará el resto de la línea:

php > strpt[TAB]ime(

También funciona el autocompletado para nombres que se han definido durante la sesión de consola interactiva:

php > $fooEsteEsUnNombreDeVariableMuyLargo = 42;
php > $foo[TAB]EsteEsUnNombreDeVariableMuyLargo

La consola interactiva almacena tu historial, al que se puede acceder usando las teclas arriba y abajo. El historial se almacena en el fichero ~/.php_history.

Ya en PHP 5.4.0, la CLI SAPI provee las configuraciones de php.ini, cli.pager y cli.prompt. La configuración de cli.pager permite a un programa externo (tal como less) para que funcione como un paginador para la salida en lugar de se desplegado directamente en la pantalla. Las configuraciones de cli.prompt permite cambiar el indicador de ingreso de órdenes php >.

In PHP 5.4.0 también fue posible establecer las configuraciones de php.ini en la shell interactiva utilizando una notación abreviada.

Ejemplo #3 Estableciendo configuraciones de php.ini en la shell interactiva

La configuración de cli.prompt:

php > #cli.prompt=hola mundo :>
  hola mundo :>

Usando comillas simples inclinadas es posible ejecutar código PHP en el indicador de órdenes:

php > #cli.prompt=`echo date('H:i:s');` php >
  15:49:35 php > echo 'hola';
  hola
  15:49:43 php > sleep(2);
  15:49:45 php >

Establecer el paginador a less:

php > #cli.pager=less
  php > phpinfo();
  (salida desplegada en less)
  php >

La configuración de cli.prompt soporta unas cuantas secuencias de escape:

Secuencias de escape de cli.prompt
Sequence: | Description:
\e | Utilizado para agregar colores al ingreso de órdenes. Un ejemplo podría ser \e[032m\v \e[031m\b \e[34m\> \e[0m
\v | La versión de PHP.
\b | Indica cual bloque de PHP está dentro. Por ejemplo /* se usa para indicar que está dentro de un comentario multilineal. El alcance externo es denotado por php.
\> | Indica el caracter de ingreso de órdenes. El caracter predeterminado es >, pero cambia cuando la shell está dentro de un bloque indeterminado o una cadena. Los caracteres posibles son: ' " { ( >

Nota:

Los ficheros que se han incluido en este modo mediante auto_prepend_file y auto_append_file se analizan con algunas restricciones - p.ej. las funciones deben estar definidas antes de que se carguen.

Nota:

La auto-carga no está disponible al usar PHP en modo interactivo en CLI.

Flujos de E/S
Servidor web embebido
Funcionamiento en la línea de comandos


Servidor web embebido

Desde PHP 5.4.0, la CLI SAPI provee un servidor web embebido.

Las aplicaciones PHP se detendran si la solicitud está bloqueada.

Este servidor web ha sido diseñado para ayudar al desarrollo de aplicaciones. También puede ser útil para propósitos de prueba o para demostraciones de aplicaciones que se ejecutan en entornos controlados. No se pretende que sea un servidor web con todas las funciones. No debe ser utilizado en una red pública.

Las peticiones de URI se sirven desde el actual directorio de trabajo donde PHP se inició, a menos que la opción -t sea utilizada para especificar una raíz de documentos explícita. Si una petición de URI no especifica un fichero, entonces el index.php o index.html que estén en el directorio dado serán devueltos. Si ninguno de los ficheros existen en el directorio, entonces será devuelto una respuesta de código 404.

Si un fichero PHP es proporcionado en la línea de comandos cuando se inicia el servidor web éste es tratado como un script "enrutador". El script es ejecutado al inicio de cada petición HTTP. Si este script devuelve FALSE, entonces el recurso solicitado se devuelve tal cual está. De otra forma la salida del script se devuelve en el navegador.

Los tipos MIME estándar son devueltos por ficheros con extensiones: .3gp, .apk, .avi, .bmp, .css, .csv, .doc, .docx, .flac, .gif, .gz, .gzip, .htm, .html, .ics, .jpe, .jpeg, .jpg, .js, .kml, .kmz, .m4a, .mov, .mp3, .mp4, .mpeg, .mpg, .odp, .ods, .odt, .oga, .ogg, .ogv, .pdf, .pdf, .png, .pps, .pptx, .qt, .svg, .swf, .tar, .text, .tif, .txt, .wav, .webm, .wmv, .xls, .xlsx and .zip.

Se añadio soporte para el tipo MIME de las extensiones .htm y. svg en PHP 5.4.4. Las extensiones .ogg, .ogv, y .webm fueron añadidas en PHP 5.4.11. La extension .pdf es reconocida desde PHP 5.5.5. Las extensiones .3gp, .apk, .avi, .bmp, .csv, .doc, .docx, .flac, .gz, .gzip, .ics, .kml, .kmz, .m4a, .mp3, .mp4, .mpg, .mpeg, .mov, .odp, .ods, .odt, .oga, .pdf, .pptx, .pps, .qt, .swf, .tar, .text, .tif, .wav, .wmv, .xls, .xlsx and .zip fueron añadidas en PHP 5.5.7.

Ejemplo #1 Iniciando el servidor web

$ cd ~/public_html
$ php -S localhost:8000

La terminal mostrará:

PHP 5.4.0 Servidor de desarrollo iniciado en Jueves Julio 21 10:43:28 2011
Escuchando en localhost:8000
La raíz de documentos es /home/usuario/html_público
Presione Ctrl-C para salir

Después de una petición de una URI para http://localhost:8000/ y http://localhost:8000/mi_script.html la terminal mostrará algo similar a:

PHP 5.4.0 Servidor de desarrollo iniciado en Jueves Julio 21 10:43:28 2011
Escuchando en localhost:8000
La raíz de documentos es /home/usuario/html_público
Presione Ctrl-C para salir.
[Thu Jul 21 10:48:48 2011] ::1:39144 GET /favicon.ico - Petición leída
[Thu Jul 21 10:48:50 2011] ::1:39146 GET / - Petición leída
[Thu Jul 21 10:48:50 2011] ::1:39147 GET /favicon.ico - Petición leída
[Thu Jul 21 10:48:52 2011] ::1:39148 GET /mi_script.html - Petición leída
[Thu Jul 21 10:48:52 2011] ::1:39149 GET /favicon.ico - Petición leída

Ejemplo #2 Iniciando con una raíz de documentos específica

$ cd ~/html_público
$ php -S localhost:8000 -t foo/

La terminal mostrará:

PHP 5.4.0 Servidor de desarrollo iniciado en Jueves Julio 21 10:50:26 2011
Escuchando en localhost:8000
La raíz de documentos es /home/usuario/html_público/foo
Presione Ctrl-C para salir

Ejemplo #3 Utilizando un Script enrutador

En este ejemplo, las peticiones a las imágenes se mostrarán, pero las peticiones a ficheros HTML mostrarán "Bienvenido a PHP":

<?php
// router.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])){
    return false;    // servir la petición tal cual es.
}else {
    echo "<p>Bienvenido a PHP</p>";
}

?>
$ php -S localhost:8000 router.php

Ejemplo #4 Revisión del uso de la CLI del servidor web

Para reutilizar un framework de script enrutador durante el desarrollo con la CLI del servidor web server y luego con un servidor web en producción:

<?php
// router.php
if (php_sapi_name() == 'cli-server') {
    /* los activos de ruta estática y devolver falso */
}
/* seguir adelante con operaciones normales de index.php */
?>
$ php -S localhost:8000 router.php

Ejemplo #5 Manejando tipos de ficheros no soportados

Si necesita servir un recurso estático cuyo tipo MIME no es manejado por la CLI del servidor web, utilice:

<?php
// router.php
$path = pathinfo($_SERVER["SCRIPT_FILENAME"]);
if ($path["extension"] == "el") {
    header("Content-Type: text/x-script.elisp");
    readfile($_SERVER["SCRIPT_FILENAME"]);
}
else {
    return FALSE;
}
?>
$ php -S localhost:8000 router.php

Ejemplo #6 Accediendo a la CLI del servidor web desde máquinas remotas

Puede hacer que el servidor web sea accesible en el puerto 8000 a cualquier interfaz con:

$ php -S 0.0.0.0:8000
Consola interactiva
Configuración INI
Funcionamiento en la línea de comandos


Configuración INI

Opciones de configuración de la SAPI CLI
Nombre | Por defecto | Cambiable | Historial de cambios
cli_server.color | "0" | PHP_INI_ALL | Disponible desde PHP 5.4.0.

He aquí una breve explicación de las directivas de configuración.

cli_server.color boolean

Habilita el servidor web de desarrollo interno para usa la codificación de color ANSI en la salida del terminal.

Servidor web embebido
Recolección de Basura
Funcionamiento en la línea de comandos


Recolección de Basura

Tabla de contenidos

  • Introducción a la Cuenta de Referencias
  • Recolección de referencias Cíclicas
  • Consideraciones acerca del Rendimiento

Esta sección explica los méritos del nuevo mecanismo del Recolector de Basuras (o también conocido como GC) de la versión 5.3 de PHP.

Configuración INI
Introducción a la Cuenta de Referencias
Características


Introducción a la Cuenta de Referencias

Una variable en PHP se almacena en un contender llamado "zval". Un contenedor zval contiene, además del tipo de la variable y su valor, dos bits de información adicional. Al primero se le llama "is_ref" y contiene un boolean que indica si la variable es parte o no de con "conjunto de referencias". Con este bit, el motor de PHP sabe diferenciar entre variables normales y referencias. Puesto que PHP permite las referencias definidas por el usuario, tal y como se crean con el operador &, un contenedor zval tiene también un mecanismo contador de referencias para optimizar el uso de memoria. Esta segunda pieza adicional de información, llamada "refcount", contiene el número de variables (también llamadas símbolos) que apuntan a este contenedor zval. Todos los símbolos se almacenan en una tabla de símbolos, de las cuales hay una por cada ámbito. Hay un ámbito para el script principal (es decir, al que el navegador realizó la petición), además de uno por cada función o método.

Se crea un contenedor zval cuando se crea una variable con un valor constante, como por ejemplo:

Ejemplo #1 Creación de un nuevo contenedor zval

<?php
$a = "nuevo string";
?>

En este caso, el nuevo nombre de símbolo, a, se crea en el ámbito actual, y se crea un nuevo contenedor de variable con el tipo string y el valor nuevo string. El bit "is_ref" por omisión contiene FALSE dado que no se ha creado ninguna referencia. "refcount" contiene 1 pues sólo hay un símbolo que haga uso de este contenedor de variables. Tenga en cuenta que si "refcount" es 1, "is_ref" siempre valdrá FALSE. Si tiene » Xdebug instalado, puede mostrar esta información llamando a xdebug_debug_zval().

Ejemplo #2 Mostrar información zval

<?php
xdebug_debug_zval('a');
?>

El resultado del ejemplo sería:

a: (refcount=1, is_ref=0)='nuevo string'

Al asignar esta variable a otra, se incrementará refcount.

Ejemplo #3 Incremento del refcount de zval

<?php
$a = "nuevo string";
$b = $a;
xdebug_debug_zval( 'a' );
?>

El resultado del ejemplo sería:

a: (refcount=2, is_ref=0)='nuevo string'

Aquí refcount vale 2, pues el mismo contenedor de variables está vinculado tanto por a como por b. PHP es lo suficiente inteligente para no copiar el contenedor de la variable cuando no es necesario. Los contenedores de variables se destruyen cuando el "refcount" se queda a cero. "refcount" se decrementa en uno cuando alguno de los símbolos que lo vinculan, abandona su ámbito (p.ej. cuando finaliza una función) o cuando se llama a unset(). El siguiente ejemplo muestra esto:

Ejemplo #4 Decremento del refcount de zval

<?php
$a = "nuevo string";
$c = $b = $a;
xdebug_debug_zval( 'a' );
unset( $b, $c );
xdebug_debug_zval( 'a' );
?>

El resultado del ejemplo sería:

a: (refcount=3, is_ref=0)='nuevo string'
a: (refcount=1, is_ref=0)='nuevo string'

Si ahora llamáramos a unset($a);, el contenedor de variable, incluyendo tanto el tipo como el valor, se eliminarían de la memoría.

Tipos Compuestos

Las cosas se complican con tipos compuestos tales como arrays o objects. En lugar de un valor de tipo scalar, los arrays y objects almacenan sus propiedades en su propia tabla de símbolos. Esto significa que el siguiente ejemplo crea tres contenedores zval:

Ejemplo #5 Creando un zval de tipo array

<?php
$a = array( 'meaning' => 'life', 'number' => 42 );
xdebug_debug_zval( 'a' );
?>

El resultado del ejemplo sería algo similar a:

a: (refcount=1, is_ref=0)=array (
   'meaning' => (refcount=1, is_ref=0)='life',
   'number' => (refcount=1, is_ref=0)=42
)

O gráficamente

Zvals de un array simple

Los tres contenedores zval son: a, meaning, y number. Se aplican reglas similares a la hora de incrementar y decrementar "refcounts". Abajo, añadimos otro elemento al array, y fijamos su valor al contenido de un elemento ya existente:

Ejemplo #6 Añadiendo un elemento existente a un array

<?php
$a = array( 'meaning' => 'life', 'number' => 42 );
$a['life'] = $a['meaning'];
xdebug_debug_zval( 'a' );
?>

El resultado del ejemplo sería algo similar a:

a: (refcount=1, is_ref=0)=array (
   'meaning' => (refcount=2, is_ref=0)='life',
   'number' => (refcount=1, is_ref=0)=42,
   'life' => (refcount=2, is_ref=0)='life'
)

O gráficamente

Zvals de un array simple con una referencia

A partir de la salida de Xdebug, vemos que tanto el antiguo como el nuevo elemento del array apuntan a un contenedor cuyo "refcount" vale 2. Pese a que Xdebug muestra dos contenedores zval con valor 'life', son el mismo. La función xdebug_debug_zval() no muestra esto, pero puede comprobarse mostrando el puntero de memoria.

Eliminar un elemento del array es como eliminar un símbolo de un determinado ámbito. Al hacerlo, el "refcount" del contenedor al que apunta el elemento del array se decrementa. De nuevo, cuando "refcount" alcanza cero, el contenedor de la variable se elimina de memoria. Un ejemplo que muestra esto:

Ejemplo #7 Eliminar un elemento de un array

<?php
$a = array( 'meaning' => 'life', 'number' => 42 );
$a['life'] = $a['meaning'];
unset( $a['meaning'], $a['number'] );
xdebug_debug_zval( 'a' );
?>

El resultado del ejemplo sería algo similar a:

a: (refcount=1, is_ref=0)=array (
   'life' => (refcount=1, is_ref=0)='life'
)

Ahora, las cosas se vuelven interesantes si añadimos al propio array como elemento del array, como veremos en el siguiente ejemplo, en el que usaremos el operador de referencia, ya que sino PHP crearía una copia:

Ejemplo #8 Añadiendo al propio array como elemento de sí mismo

<?php
$a = array( 'one' );
$a[] =& $a;
xdebug_debug_zval( 'a' );
?>

El resultado del ejemplo sería algo similar a:

a: (refcount=2, is_ref=1)=array (
   0 => (refcount=1, is_ref=0)='one',
   1 => (refcount=2, is_ref=1)=...
)

O gráficamente

Zvals para un array que contiene una referencia circular

Puede verse que tanto la variable de tipo array (a) como el segundo elemento (1) apuntan ahora a un contenedor de variables que tiene un "refcount" de 2. Los "..." mostrados arriba, indican que hay una referencia cíclica, lo cual, por supuesto, significa que en este caso los "..." apuntan al original. array.

Al igual que antes, al eliminar una variable se elimina el símbolo, y el contador de referencias del contenedor de variables al que apunte se decrementa en uno. De modo que, si eliminamos la variable $a después de ejecutar el código anterior, el contador de referencias del contenedor de variables al que apuntan tanto $a como el elemento "1" se decrementa en uno, de "2" a "1". Se puede representar así:

Ejemplo #9 Eliminando $a

(refcount=1, is_ref=1)=array (
   0 => (refcount=1, is_ref=0)='one',
   1 => (refcount=1, is_ref=1)=...
)

O gráficamente

Zvals después de eliminar un array con referencia circular mostrando la fuga de memoria

Problemas de limpieza

Pese a que ya no hay ningún símbolo en ningún ámbito que apunte a esta estructura, no se puede limpiar ya que el elemento "1" del array todavía apunta al mismo array. Al no haber ningún símbolo externo que apunte a él, no hay ninguna forma por la que el usuario pueda eliminar esta estructura; por tanto tenemos una fuga de memoria. Afortunadamente, PHP limpiará esta estructura de datos al finalizar la petición, pero antes de entonces, ocupará un valioso espacio en memoria. Esta situación ocurre a menudo si se está implementando un algoritmo de análisis o en otras situaciones en las que un nodo hijo apunte de nuevo al elemento "padre". Por supuesto, esta situación también puede suceder con objetos, donde es más frecuente que ocurra, ya que los objetos siempre se usan implícitamente por referencia.

Esto no debería ser un problema si sólo ocurre una o dos veces, pero si sucede miles, o incluso millones, de estas fugas de memoria, lógicamente esto comenzaría a ser un problema. Es especialmente problemático en scripts de larga duración, tales como demonios donde en resumen nunca terminan las peticiones, o en un largo conjunto de pruebas unitarias. Esto último causó problemas al ejecutar las pruebas unitarias de la biblioteca de Componentes eZ. En algunos casos, pueden ser necesarios 2 GB de memoria, que quizás no los tenga el servidor de pruebas.

Recolección de Basura
Recolección de referencias Cíclicas
Recolección de Basura


Recolección de referencias Cíclicas

Tradicionalmente, los mecanismos que contabilizan las referencias en memoria, tal como el que usaba PHP anteriormente, fallaban al manejar las fugas de memoria en referencias cíclicas. Sin embargo, desde PHP 5.3.0 implementa el algoritmo síncrono del artículo » Recolección de Ciclos Concurrentes en Sistemas de Contabilidad de Referencias que resuelve este asunto.

Una explicación detallada del funcionamiento del algoritmo queda más allá del objetivo de esta sección, pero aquí explicaremos el mecanismo básico. Antes de nada, debemos establecer unas reglas del juego. Si se incrementa un refcount, entonces sigue en uso, no es basura. Si se decrementa el refcount, y alcanza a cero, el zval puede eliminarse. Esto significa que la recolección de ciclos sólo puede llevarse a cabo cuando un parámetro refcount se decrementa a un valor que no sea cero. En segundo lugar, en la recolección de ciclos de basura, es posible averiguar qué partes son basura comprobando si se puede decrementar en uno sus refcount, para después comprobar cuáles han alcanzado a cero.

Algoritmo de recolección de basura

Para evitar llamar al comprobador de ciclos de basura en cada decremento de un refcount, el algoritmo lo que hace es pasar todas las posibles raíces (zvals) al "buffer raíz" (marcándolos en "púrpura"). También se asegura de que cada raíz de basura sólo finaliza una vez en el buffer. Únicamente cuando el buffer raíz está completo, comienza el mecanismo de recolección en los zval que haya en su interior. Ver paso A en la figura anterior.

En el paso B, el algoritmo inicia una primera búsqueda en profundidad de todas las posibles raíces en las que decrementa por uno los refcount de los zval que encuentra, asegurándose de que no decrementa dos veces el mismo zval (marcándolo en "gris"). En el paso C, el algoritmo vuelve a llevar a cabo una búsqueda en profundidad dentro de cada nodo raíz, para volver a comprobar el refcount de cada zval. Si ve que el refcount es cero, se marca al zval en "blanco" (azul en la figura). Si es mayor que cero, deshace el decremento con una búsqueda en profundidad partiendo de ese punto, y se le vuelve a marcar en "negro". En el último paso (D), el algoritmo recorre el buffer raíz eliminando las raíces zval que haya, y a la vez, comprueba qué zvals se han marcado en "blanco" en el paso anterior. Todos los zval marcados en "blanco" se eliminarán.

Ahora que ya tiene un conocimiento básico de cómo funciona el algoritmo, volveremos atrás para ver cómo se integra esto en PHP. Por omisión, el recolector de basuras de PHP está habilitado. Hay, sin embargo, una directiva en php.ini que permite cambiar esto: zend.enable_gc.

Cuando el recolector de basura está habilitado, el algoritmo que busca ciclos, tal y como se ha descrito arriba, se ejecuta cada vez que se llena el buffer raíz. Éste tiene un tamaño fijo de 10.000 raíces posibles (se puede modificar esto cambiando la contante GC_ROOT_BUFFER_MAX_ENTRIES en Zend/zend_gc.c del código fuente de PHP, y recompilando PHP). Cuando el recolector de basuras se deshabilita, no se ejecutará el algoritmo que busca ciclos. Sea como fuere, las posibles raíces seguirían registrándose en el buffer raíz, sin importar si el mecanismo recolector de basuras está habilitado en la configuración o no.

Si estando deshabilitado el mecanismo recolector de basuras se llenara el buffer raíz de posibles raíces, no se registraría al resto de raíces posibles, por lo que no llegarían a ser analizadas por el algoritmo. Si fueran parte de un ciclo de referencia circular, nunca se liberarían y podrían provocar una fuga de memoria.

La razón por la que se registran las posibles raíces estando deshabilitado el mecanismo es porque es más rápido registrarlas que comprobar en cada una de ellas si el mecanismo está habilitado. Sin embargo, el recolector de basuras y el propio mecanismo de análisis, sí puede conllevar una cantidad de tiempo considerable.

Ademas de poder cambiar la configuración zend.enable_gc, también es posible habilitar o deshabilitar el mecanismo recolector de basura llamando a gc_enable() o gc_disable() respectivamente. La llamada a estas funciones tiene el mismo efecto que habilitar o deshabilitar el mecanismo en la propia configuración. También es posible forzar la recolección de ciclos incluso sin que esté lleno el buffer raíz. Para hacer esto, se puede usar la función gc_collect_cycles(). Esta función devuelve el número de ciclos que fueron recolectados por el algoritmo.

El motivo por el que es posible habilitar o deshabilitar el mecanismo, o iniciar los ciclos de recolección a mano, es porque podría haber determinadas partes de una aplicación que necesiten mucha precisión de tiempo. En estos casos, quizás no se desee que funcione el mecanismo recolector de basuras. Por supuesto, al deshabilitar el recolector de basuras en algunas partes del código, se corre el riesgo de provocar fugas de memoria, ya que algunas raíces podrían no caber en el buffer raíz. Por tanto, lo mas prudente sería llamar a gc_collect_cycles() justo después de llamar a gc_disable() para que libere la memoria ocupada por posibles raíces ya registradas en el buffer raíz. Esto deja por tanto un buffer vacío, de modo que queda más espacio para almacenar posibles raíces en el tiempo en que el mecanismo recolector de ciclos está deshabilitado.

Introducción a la Cuenta de Referencias
Consideraciones acerca del Rendimiento
Recolección de Basura


Consideraciones acerca del Rendimiento

Como mencionamos en la sección anterior, la recolección de raíces tiene muy bajo impacto en el rendimiento, pero aquí es cuando comparamos PHP 5.2 contra PHP 5.3. Si bien la recolección de posibles raíces comparado con la no recolección, como en PHP 5.2, es más lenta, hay otras modificaciones en tiempo de ejecución en PHP 5.3 que impiden que esta pérdida de rendimiento en particular pueda siquiera apreciarse.

Hay dos principales sectores en los que el rendimiento se ve afectado. El primero es el uso reducido de memoria, y mientras que el segunda es la reducción en tiempo de ejecución cuando el mecanismo recolector de basura lleva a cabo la limpieza de memoria. Revisaremos estos dos asuntos.

Uso Reducido de Memoria

Antes de nada, la razón por la que se implementa el mecanismo recolector de basuras es para reducir el uso de memoria limpiando, una vez que se cumplen las condiciones, las variables de referencias circulares. En la implementación de PHP, esto sucede cuando el buffer raíz está lleno, o cuando se invoca la función gc_collect_cycles(). En el gráfico mostrado abajo, se muestra el uso de memoria tanto en PHP 5.2 como en 5.3, excluyendo la memoria base que el propio PHP ocupa al arrancar.

Ejemplo #1 Ejemplo de uso de memoria

<?php
class Foo
{
    public $var = '3.1415962654';
}

$baseMemory = memory_get_usage();

for ( $i = 0; $i <= 100000; $i++ )
{
    $a = new Foo;
    $a->self = $a;
    if ( $i % 500 === 0 )
    {
        echo sprintf( '%8d: ', $i ), memory_get_usage() - $baseMemory, "\n";
    }
}
?>
Comparación de uso de memoria entre PHP 5.2 y PHP 5.3

En este ejemplo didáctico, estamos creando un objeto en el que una propiedad enlaza de nuevo al propio objeto. Cuando la variable $a del script se reasigna en la siguiente iteración del bucle, típicamente ocurriría una fuga de memoria. En este caso, se fugan dos contenedores zval (el zval del objeto, y el zval de la propiead), pero sólo se encuentra una posible raíz: la variable que se desasignó. Tras 10.000 iteraciones, el buffer se llena (con un total de 10.000 posibles raíces), y se lanza el mecanismo recolector de basura y libera la memoria asociada con esas posibles raíces. Puede apreciarse claramente en el uso de memoria "dentado" de la gráfica para PHP 5.3. Tras las 10.000 iteraciones, el mecanismo libera la memoria asociada a las variables con referencias cíclicas. En este ejemplo, el propio mecanismo no debe hacer un gran trabajo, puesto que la estructura que produce la fuga es extremadamente sencilla. A partir del diagrama, se puede comprobar que el uso máximo de memoria en PHP 5.3 es en torno a 9 Mb, mientras que en PHP 5.2 el uso de memoria no para de aumentar.

Reducción en Tiempo de Ejecución

El segundo sector en el que el mecanismo recolector de basura influye en el rendimiento es en el tiempo que lleva a éste liberar la memoria "fugada". Para comprobar de cuánto estamos hablando, modificaremos ligeramente el script anterior para permitir un mayor número de iteraciones, y eliminaremos las figuras de uso de memoria intermedio. Este es el segundo script:

Ejemplo #2 Influencia en rendimiento de Recolector de Basuras

<?php
class Foo
{
    public $var = '3.1415962654';
}

for ( $i = 0; $i <= 1000000; $i++ )
{
    $a = new Foo;
    $a->self = $a;
}

echo memory_get_peak_usage(), "\n";
?>

Ejecutaremos dos veces este script, una con el ajuste zend.enable_gc habilitado, y en la otra deshabilitado:

Ejemplo #3 Ejecutando el script anterior

time php -dzend.enable_gc=0 -dmemory_limit=-1 -n example2.php
# and
time php -dzend.enable_gc=1 -dmemory_limit=-1 -n example2.php

En la máquina de ejemplo, el primer comando parece llevar en torno a 10,7 segundos, mientras que al segundo comando le lleva 11,4. Esto es un incremento de en torno al 7%. Sin embargo, el uso máximo de memoria del script se ha reducido en un 98%, pasando de 931Mb a 10Mb. Esta prueba no es muy científica, ni siquiera representativa de aplicaciones reales, pero demuestra que el uso de memoria se beneficia del mecanismo recolector de basuras. Lo interesante es que para este script en particular el incremento es siempre del 7%, mientras que el ahorro de memoria aumenta a medida que se encuentran más referencias cíclicas en la ejecución del script.

Estadísticas Internas de PHP del Recolector de Basuras

Todavía es posible dar más información sobre cómo funciona el mecanismo recolector de basuras dentro de PHP. Pero para hacerlo, será necesario recompilar PHP para habilitar el código de análises y de recopilación de datos. Se tendrá que asignar a la variable de entorno CFLAGS el valor -DGC_BENCH=1 antes de ejecutar ./configure con las opciones deseadas. La siguiente secuencia muestra cómo hacerlo:

Ejemplo #4 Recompilando PHP para habilitar el análisis del Recolector de Basuras

export CFLAGS=-DGC_BENCH=1
./config.nice
make clean
make

Al ejecutar el ejemplo que vimos arriba con el nuevo binario de PHP que hemos creado, veremos que se muestra el siguiente resultado tras la ejecución de PHP:

Ejemplo #5 Estadísticas de Recolección de Basuras

GC Statistics
-------------
Runs:               110
Collected:          2072204
Root buffer length: 0
Root buffer peak:   10000

      Possible            Remove from  Marked
        Root    Buffered     buffer     grey
      --------  --------  -----------  ------
ZVAL   7175487   1491291    1241690   3611871
ZOBJ  28506264   1527980     677581   1025731

Las estadísticas más informativas son las que se muestran en el primer bloque. Puede comprobarse que el mecanismo recolector de basuras se ejecutó 110 veces, y en total, se liberaron más de 2 millones de ubicaciones en memoria durante esas 110 ejecuciones. Puesto que el mecanismo recolector de ciclos se ha ejecutado al menos una vez, el "pico del buffer raíz" es siempre 10.000.

Conclusión

En general el recolector de basuras de PHP sólo provocará un retraso cuando el algoritmo recolector de ciclos funcione, mientras que en scripts normales (más pequeños) no habrá un impacto real en el rendimiento.

Sin embargo, en el caso en el que el mecanismo recolector de ciclos se ejecute para scripts normales, la reducción de memoria permitirá que puedan funcionar más scripts concurrentemente en el servidor, ya que en total no utilizarán mucha memoria.

Los beneficios son más evidentss en scripts de larga duración, tales como grandes suits de pruebas o scripts demonios. También en las aplicaciones » PHP-GTK, que generalmente suelen ejecutarse durante más tiempo que scripts para la Web; el nuevo mecanismo marcará la diferencia en cuanto a las fugas de memoria progresivas en el tiempo.

Recolección de referencias Cíclicas
Rastreo Dinámico con DTrace
Recolección de Basura


Rastreo Dinámico con DTrace

Tabla de contenidos

  • Introducción a PHP y DTrace
  • Usando PHP y DTrace
  • Usando SystemTap con Sondas Estáticas en PHP DTrace
Consideraciones acerca del Rendimiento
Introducción a PHP y DTrace
Características


Introducción a PHP y DTrace

DTrace es un marco de rastreo de disponibilidad permanente, bajo consumo, y disponible en un gran número de plataformas incluyendo Solaris, Mac OS X, Oracle Linux y BSD. DTrace puede seguir el rastro del comportamiento del sistema operativo y la ejecución del programa del usuario. DTrace puede enseñar los valores de los argumentos y ser utilizados para inferir estadísticas de rendimiento. Los sondeos son monitorizados por scripts creados por el usuario, escritos en el programa de scripting DTrace D. Esto permite el análisis eficiente de puntos de datos.

Los sondeos en PHP que no son activamente monitorizados por scripts DTrace D del usuario no contienen código observado por lo cual no hay una degradación del rendimiento durante la ejecución normal de la aplicación. Los sondeos que estan siendo monitorizados incurren una perdida suficientemente baja para permitir monitorización con DTrace en entornos de producción activos.

PHP incorpora sondeos "User-level Statically Defined Tracing" (USDT) que son evaluados en tiempo de ejecución. Por ejemplo, cuando un script D está monitorizando una entrada de función, cada ve que la función de PHP es llamada, dispararía el sondeo y el código de acción que ésta tiene asociado. Esta código de acción podría, por ejemplo, imprimir los argumentos del sondeo tales como lo ubicación del fichero con la función PHP, o podría contabilizar el número de veces que esta función fue llamada.

Sólo sondas PHP USDT son descritas aquí. Refierase a documentación externa sobre DTrace de sistema operativo para ver como puede DTrace ser usado para rastrear funciones arbitrarias, y como puede ser usado para rastrear el comportamiento del sistema operativo. Tenga en cuenta que no todas las funcionalidades de DTrace estan disponibles en todas las implementaciones de DTrace.

Las sondas estáticas de DTrace están incluidas en PHP 5.4. Previo a esto estaba incluidas via una extensión » PECL, que ahora ha quedado obsoleta.

Las sondas estáticas DTrace en PHP pueden alternativamente ser usadas con las herramientas de SystemTap en algunas distribuciones Linux.

Rastreo Dinámico con DTrace
Usando PHP y DTrace
Rastreo Dinámico con DTrace


Usando PHP y DTrace

PHP puede ser configurado con sondas estáticas DTrace en plataformas que soportan Rastreo Dinámico DTrace.

Configurando PHP para Sondas Estáticas DTrace

Refierase a la documentación externa específica par su plataforma para habilitar el soporte para rastreo DTrace en el sistema operativo. Por ejemplo, en Oracle Linux arranque con un kernel UEK3 y haga:

# modprobe fasttrap
# chmod 666 /dev/dtrace/helper

En lugar de utilizar chmod, usted podria utilizar una regla de paquete ACL para limitar acceso a los dispositivos a ciertos usuarios.

Compile PHP con el parámetro de configuración --enable-dtrace:

# ./configure --enable-dtrace ...
# make
# make install

Esto habilita las sondas estáticas en el núcleo de PHP. Cualquiera de las extensiones que ofrezcan sus propios sondeos deberán ser compiladas de forma separada como extensiones compartidas.

Sondeos Estáticos DTrace en el núcleo de PHP

Los siguientes sondeos estáticos están disponibles en PHP
Nombre del Sondeo | Descripción del Sondeo | Argumentos del Sondeo
request-startup | Se dispara cuando comienza una petición. | char *file, char *request_uri, char *request_method
request-shutdown | Se dispara cuando se termina una petición. | char *file, char *request_uri, char *request_method
compile-file-entry | Se dispara cuando la compilación de un script comienza. | char *compile_file, char *compile_file_translated
compile-file-return | Se dispara cuando la compilación de un script termina. | char *compile_file, char *compile_file_translated
execute-entry | Se dispara cuando un código de operación array está por ser ejecutado. Por ejemplo, se dispara en llamadas a funciones, includes, y continuaciones de resumes. | char *request_file, int lineno
execute-return | Se dispara después de la ejecución de un código de operación array. | char *request_file, int lineno
function-entry | Se dispara cuando el motor de PHP entra a la llamada de una función o método. | char *function_name, char *request_file, int lineno, char *classname, char *scope
function-return | Se dispara cuando el motor de PHP regresa de la llamada a una función o método. | char *function_name, char *request_file, int lineno, char *classname, char *scope
exception-thrown | Se dispara cuando una excepción es lanzada. | char *classname
exception-caught | Se dispara cuando una excepción es capturada. | char *classname
error | Se dispara cuando ocurre un error, sin importar el nivel de error_reporting. | char *errormsg, char *request_file, int lineno

Otras extensiones PHP pueden también tener otras sondas estáticas adicionales.

Listando Sondas Estáticas DTrace en PHP

Para listar todas las sondas disponibles, inicie un proceso PHP y ejecute:

# dtrace -l

La salida será similar a:

   ID   PROVIDER            MODULE                          FUNCTION NAME
   [ . . . ]
    4   php15271               php               dtrace_compile_file compile-file-entry
    5   php15271               php               dtrace_compile_file compile-file-return
    6   php15271               php                        zend_error error
    7   php15271               php  ZEND_CATCH_SPEC_CONST_CV_HANDLER exception-caught
    8   php15271               php     zend_throw_exception_internal exception-thrown
    9   php15271               php                 dtrace_execute_ex execute-entry
   10   php15271               php           dtrace_execute_internal execute-entry
   11   php15271               php                 dtrace_execute_ex execute-return
   12   php15271               php           dtrace_execute_internal execute-return
   13   php15271               php                 dtrace_execute_ex function-entry
   14   php15271               php                 dtrace_execute_ex function-return
   15   php15271               php              php_request_shutdown request-shutdown
   16   php15271               php               php_request_startup request-startup

La columna Proveedor consiste en php y el id del proceso del proceso PHP que está ejecutandose.

Si el servidor web Apache está corriendo, el nombre del módulo será, por ejemplo, libphp5.so, y habría múltiples bloques de listado, uno por cada proceso Apache ejecutandose.

La columna Función se refiere los nombres internos de función de su implementación en C, donde cada proveedor está ubicado.

Si un proceso PHP no está ejecutandose, entonces ningún sondeo será mostrado.

DTrace con un ejemplo PHP

Este ejemplo muestra los conceptos básicos del lenguaje de scripting DTrace D.

Ejemplo #1 all_probes.d para monitorizar todos los Śondeos Estáticos en PHP con DTrace

#!/usr/sbin/dtrace -Zs

#pragma D option quiet

php*:::compile-file-entry
{
    printf("PHP compile-file-entry\n");
    printf("  compile_file              %s\n", copyinstr(arg0));
    printf("  compile_file_translated   %s\n", copyinstr(arg1));
}

php*:::compile-file-return
{
    printf("PHP compile-file-return\n");
    printf("  compile_file              %s\n", copyinstr(arg0));
    printf("  compile_file_translated   %s\n", copyinstr(arg1));
}

php*:::error
{
    printf("PHP error\n");
    printf("  errormsg                  %s\n", copyinstr(arg0));
    printf("  request_file              %s\n", copyinstr(arg1));
    printf("  lineno                    %d\n", (int)arg2);
}

php*:::exception-caught
{
    printf("PHP exception-caught\n");
    printf("  classname                 %s\n", copyinstr(arg0));
}

php*:::exception-thrown
{
    printf("PHP exception-thrown\n");
    printf("  classname                 %s\n", copyinstr(arg0));
}

php*:::execute-entry
{
    printf("PHP execute-entry\n");
    printf("  request_file              %s\n", copyinstr(arg0));
    printf("  lineno                    %d\n", (int)arg1);
}

php*:::execute-return
{
    printf("PHP execute-return\n");
    printf("  request_file              %s\n", copyinstr(arg0));
    printf("  lineno                    %d\n", (int)arg1);
}

php*:::function-entry
{
    printf("PHP function-entry\n");
    printf("  function_name             %s\n", copyinstr(arg0));
    printf("  request_file              %s\n", copyinstr(arg1));
    printf("  lineno                    %d\n", (int)arg2);
    printf("  classname                 %s\n", copyinstr(arg3));
    printf("  scope                     %s\n", copyinstr(arg4));
}

php*:::function-return
{
    printf("PHP function-return\n");
    printf("  function_name             %s\n", copyinstr(arg0));
    printf("  request_file              %s\n", copyinstr(arg1));
    printf("  lineno                    %d\n", (int)arg2);
    printf("  classname                 %s\n", copyinstr(arg3));
    printf("  scope                     %s\n", copyinstr(arg4));
}

php*:::request-shutdown
{
    printf("PHP request-shutdown\n");
    printf("  file                      %s\n", copyinstr(arg0));
    printf("  request_uri               %s\n", copyinstr(arg1));
    printf("  request_method            %s\n", copyinstr(arg2));
}

php*:::request-startup
{
    printf("PHP request-startup\n");
    printf("  file                      %s\n", copyinstr(arg0));
    printf("  request_uri               %s\n", copyinstr(arg1));
    printf("  request_method            %s\n", copyinstr(arg2));
}

Este script utiliza la opción -Z en dtrace, permitiendo que se ejecute aún cuando no hay procesos PHP ejecutandose. Si esta opción se hubiese omitido el script hubiese terminado inmediatamente porque no sabría que los sondeos a ser monitorizados realmente son válidos.

Este script rastrea todas las sondas estáticas del núcleo de PHP y puntos de muestreo a lo largo de la duración de un script PHP que esté corriendo:

# ./all_probes.d

Ejecuta un script o aplicación PHP. El script D de monitorización mostrará los argumentos de cada sondeo según vayan sucediendo.

Cuando la monitorización está completada, el script D puede ser terminado con ^C.

En máquinas con múltiples-CPU el orden de los sondeos podría no aparecer secuencialmente. Esto depende de en que CPU fue procesado, y como los hilos se mueven a través de las CPUs. Mostrar la fecha y hora del sondeo ayudará a reducir la confusión, por ejemplo:

php*:::function-entry
{
      printf("%lld: PHP function-entry ", walltimestamp);
      [ . . .]
}

Vea también

  • OCI8 y Rastreo Dinámico DTrace
Introducción a PHP y DTrace
Usando SystemTap con Sondas Estáticas en PHP DTrace
Rastreo Dinámico con DTrace


Usando SystemTap con Sondas Estáticas en PHP DTrace

En algunas distribuciones Linux, la utilidad de rastreo SystemTap puede ser usada para rastrear sondas estáticas en PHP. Esto está disponible con PHP 5.4.20 y PHP 5.5.

Instalando PHP con SystemTap

Instalar el paquete de desarrollo SD de SystemTap:

# yum install systemtap-sdt-devel

Instalar PHP con los sondeos de DTrace habilitados:

# ./configure --enable-dtrace ...
# make

Listando Sondeos Estáticos con SystemTap

Los sondeos estáticos en PHP pueden ser listados usando stap:

# stap -l 'process.provider("php").mark("*")' -c 'sapi/cli/php -i'

Esto produce la salida:

process("sapi/cli/php").provider("php").mark("compile__file__entry")
process("sapi/cli/php").provider("php").mark("compile__file__return")
process("sapi/cli/php").provider("php").mark("error")
process("sapi/cli/php").provider("php").mark("exception__caught")
process("sapi/cli/php").provider("php").mark("exception__thrown")
process("sapi/cli/php").provider("php").mark("execute__entry")
process("sapi/cli/php").provider("php").mark("execute__return")
process("sapi/cli/php").provider("php").mark("function__entry")
process("sapi/cli/php").provider("php").mark("function__return")
process("sapi/cli/php").provider("php").mark("request__shutdown")
process("sapi/cli/php").provider("php").mark("request__startup")

SystemTap con un ejemplo PHP

Ejemplo #1 all_probes.stp para monitorizar todas los Sondeos Estáticos de PHP con SystemTap

probe process("sapi/cli/php").provider("php").mark("compile__file__entry") {
    printf("Probe compile__file__entry\n");
    printf("  compile_file %s\n", user_string($arg1));
    printf("  compile_file_translated %s\n", user_string($arg2));
}
probe process("sapi/cli/php").provider("php").mark("compile__file__return") {
    printf("Probe compile__file__return\n");
    printf("  compile_file %s\n", user_string($arg1));
    printf("  compile_file_translated %s\n", user_string($arg2));
}
probe process("sapi/cli/php").provider("php").mark("error") {
    printf("Probe error\n");
    printf("  errormsg %s\n", user_string($arg1));
    printf("  request_file %s\n", user_string($arg2));
    printf("  lineno %d\n", $arg3);
}
probe process("sapi/cli/php").provider("php").mark("exception__caught") {
    printf("Probe exception__caught\n");
    printf("  classname %s\n", user_string($arg1));
}
probe process("sapi/cli/php").provider("php").mark("exception__thrown") {
    printf("Probe exception__thrown\n");
    printf("  classname %s\n", user_string($arg1));
}
probe process("sapi/cli/php").provider("php").mark("execute__entry") {
    printf("Probe execute__entry\n");
    printf("  request_file %s\n", user_string($arg1));
    printf("  lineno %d\n", $arg2);
}
probe process("sapi/cli/php").provider("php").mark("execute__return") {
    printf("Probe execute__return\n");
    printf("  request_file %s\n", user_string($arg1));
    printf("  lineno %d\n", $arg2);
}
probe process("sapi/cli/php").provider("php").mark("function__entry") {
    printf("Probe function__entry\n");
    printf("  function_name %s\n", user_string($arg1));
    printf("  request_file %s\n", user_string($arg2));
    printf("  lineno %d\n", $arg3);
    printf("  classname %s\n", user_string($arg4));
    printf("  scope %s\n", user_string($arg5));
}
probe process("sapi/cli/php").provider("php").mark("function__return") {
    printf("Probe function__return: %s\n", user_string($arg1));
    printf(" function_name %s\n", user_string($arg1));
    printf("  request_file %s\n", user_string($arg2));
    printf("  lineno %d\n", $arg3);
    printf("  classname %s\n", user_string($arg4));
    printf("  scope %s\n", user_string($arg5));
}
probe process("sapi/cli/php").provider("php").mark("request__shutdown") {
    printf("Probe request__shutdown\n");
    printf("  file %s\n", user_string($arg1));
    printf("  request_uri %s\n", user_string($arg2));
    printf("  request_method %s\n", user_string($arg3));
}
probe process("sapi/cli/php").provider("php").mark("request__startup") {
    printf("Probe request__startup\n");
    printf("  file %s\n", user_string($arg1));
    printf("  request_uri %s\n", user_string($arg2));
    printf("  request_method %s\n", user_string($arg3));
}

El script anterior rastreará todas las sondas estáticas del núcleo de PHP y puntos de muestreo a lo largo de la duración de un script PHP que esté corriendo:

# stap -c 'sapi/cli/php test.php' all_probes.stp

Usando PHP y DTrace
Referencia de funciones
Rastreo Dinámico con DTrace


Referencia de funciones

Sugerencia

Ver también Categorización de Extensiones.

  • Afecta el comportamiento de PHP
    • APC — Caché Alternativo de PHP
    • APD — Depurador Avanzado de PHP
    • bcompiler — Compilador de código de bytes de PHP (bcompiler)
    • BLENC — Blenc - BLowfish ENCoder for PHP source scripts
    • Manejo de errores — Manejo y registro de errores
    • htscanner — Soporte similar a los archivos htaccess para todos los SAPIs
    • inclued — Visor de la jerarquía de inclusión
    • Memtrack
    • OPcache
    • Control de la salida — Control del búfer de salida
    • Opciones/Info de PHP — Opciones e Información de PHP
    • runkit
    • scream — Desactivar silenciar errores
    • Weakref — Referencias débiles
    • WinCache — Windows Cache for PHP
    • Xhprof — Hierarchical Profiler
  • Manipulación de formatos de audio
    • ID3 — Etiquetas ID3
    • KTaglib
    • oggvorbis — OGG/Vorbis
    • OpenAL — Vinculaciones de audio del OpenAL
  • Servicios de autenticación
    • KADM5 — Kerberos V
    • Radius
  • Extensiones específicas de la línea de comandos
    • Ncurses — Control de Terminal de Pantalla Ncurses
    • Newt
    • Readline — GNU Readline
  • Extensiones de compresión y archivos
    • Bzip2
    • LZF
    • Phar
    • Rar — Archivos Rar
    • Zip
    • Zlib — Compresión Zlib
  • Procesamiento de tarjetas de crédito
    • MCVE — Pago MCVE (Monetra)
    • SPPLUS — Sistemas de Pago SPPLUS
  • Extensiones criptográficas
    • Crack — Cracklib
    • Hash — HASH Framework para cifrar mensajes
    • Mcrypt
    • Mhash
    • OpenSSL
    • Hash de contraseñas
  • Extensiones de bases de datos
    • Capas abstractas
    • Extensiones de bases de datos específicas del proveedor
  • Extensiones relacionadas con fecha y hora
    • Calendario
    • Fecha/Hora — Fecha y Hora
  • Extensiones relacionadas con el sistema de ficheros
    • Direct IO
    • Directorios
    • Fileinfo — Información de un fichero
    • Sistema de Ficheros
    • Inotify
    • Mimetype
    • Proctitle
    • xattr
    • xdiff
  • Soporte para lenguaje humano y codificación de caracteres
    • Enchant — Biblioteca de ortografía Enchant
    • FriBiDi
    • Gender — Averiguar género de un nombre
    • Gettext
    • iconv
    • intl — Funciones de internacionalización
    • Cadenas de caracteres multibyte
    • Pspell
    • Recode — GNU Recode
  • Procesamiento y generación de imágenes
    • Cairo
    • Exif — Información de imagen intercambiable
    • GD — Procesamiento de imágenes y GD
    • Gmagick
    • ImageMagick — Procesamiento de Imágenes (ImageMagick)
  • Extensiones relacionadas con Email
    • Cyrus — Administración de IMAP Cyrus
    • IMAP — IMAP, POP3 y NNTP
    • Mail
    • Mailparse
    • vpopmail
  • Extensiones matemáticas
    • BC Math — Matemáticas de precisión arbitraria BCMath
    • GMP — Precisión Múltiple de GNU
    • Lapack
    • Math — Funciones matemáticas
    • Estadísticas
    • Trader — Análisis técnico para comerciantes
  • Salida MIME que no es texto
    • FDF — Formato de Datos de Formularios
    • GnuPG — GNU Privacy Guard
    • haru — PDF de Haru
    • Ming — Ming (flash)
    • PDF
    • PS — Creación de documentos PostScript
    • Lector RPM — Lector de encabezados RPM
    • SWF — Shockwave Flash
  • Extensiones de control de procesos
    • Eio
    • Ev
    • Expect
    • Libevent
    • PCNTL — Process Control
    • POSIX
    • Ejecución de programas — Ejecución de programas del sistema
    • pthreads
    • Semaphore — Semáforo, Memoria Compartida e IPC
    • Memoria compartida
  • Otras extensiones básicas
    • GeoIP — Localización Geo IP
    • FANN — FANN (Fast Artificial Neural Network)
    • JSON — JavaScript Object Notation
    • Judy — Arreglos Judy
    • Lua
    • Misc. — Funciones varias
    • Parsekit
    • SPL — SPL - Biblioteca estándar de PHP
    • Tipos de datos SPL — Manejo de tipos de datos SPL
    • Flujos
    • Tidy
    • Tokenizer
    • URLs
    • V8js — Motor de integración V8 Javascript
    • Yaml — Serialización de datos YAML
    • Yaf — Yet Another Framework
    • Taint
  • Otros servicios
    • PCMA
    • chdb — Constant hash database
    • cURL — Biblioteca URL cliente
    • Event
    • FAM — Monitor de Alteración de Archivos (File Alteration Monitor)
    • FTP
    • Gearman
    • Gopher — Net Gopher
    • Gupnp
    • HTTP
    • Hyperwave
    • API Hyperwave
    • Java — Integración PHP / Java
    • LDAP — Protocolo Ligero de Acceso a Directorios
    • Lotus Notes
    • Memcache
    • Memcached
    • mqseries
    • Network
    • RRD — RRDtool
    • SAM — Mensajería Simple Asíncrona
    • SNMP
    • Sockets
    • SSH2 — Secure Shell2
    • Stomp — Cliente Stomp
    • SVM — Soporte Vector Machine
    • SVN — Subversion
    • TCP — Envolturas TCP
    • Varnish
    • YAZ
    • YP/NIS
    • 0MQ messaging — ZMQ
  • Extensiones para motores de búsqueda
    • mnoGoSearch
    • Solr — Apache Solr
    • Sphinx — Cliente Sphinx
    • Swish — Indexación Swish
  • Extensiones específicas para Servidores
    • Apache
    • FastCGI Process Manager
    • IIS — Administración de IIS
    • NSAPI
  • Extensiones de sesiones
    • Msession — Mohawk Software Session Handler Functions
    • Sesiones — Manejo de Sesiones
    • Session PgSQL — PostgreSQL Session Save Handler
  • Procesamiento de texto
    • BBCode — Bulletin Board Code
    • PCRE — Expresiones Regulares (Compatible con Perl)
    • Expresiones Regulares POSIX — Expresiones Regulares (POSIX Extendido)
    • ssdeep — ssdeep Fuzzy Hashing
    • Strings
  • Extensiones relacionadas con variable y tipo
    • Arrays
    • Clases/Objetos — Información de Clases/Objetos
    • Classkit
    • Ctype — Comprobación del tipo de carácter
    • Filter — Filtrado de datos
    • Manejo de Funciones
    • Object Aggregation — Object Aggregation/Composition [PHP 4]
    • Quickhash
    • Reflexión
    • Manejo de variables
  • Servicios web
    • OAuth
    • SCA
    • SOAP
    • Yar — Yet Another RPC Framework
    • XML-RPC
  • Extensiones específicas de Windows
    • .NET
    • COM — COM y .Net (Windows)
    • Printer
    • W32api
    • win32ps
    • win32service
  • Manipulación XML
    • DOM — Modelo de Objetos de Documento
    • libxml
    • qtdom
    • SDO — Objetos de Datos de Servicio
    • DAS-Relacional de SDO — Servicio de Acceso a Datos Relacionales de SDO
    • DAS XML de SDO — Servicio de Acceso a Datos XML de SDO
    • SimpleXML
    • WDDX
    • XMLDiff — XML diff and merge
    • Analizador XML
    • XMLReader
    • XMLWriter
    • XSL
    • XSLT (PHP 4)
Usando SystemTap con Sondas Estáticas en PHP DTrace
Afecta el comportamiento de PHP
Manual de PHP


Afecta el comportamiento de PHP

  • APC — Caché Alternativo de PHP
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de APC
    • APCIterator — La clase APCIterator
  • APD — Depurador Avanzado de PHP
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de APD
  • bcompiler — Compilador de código de bytes de PHP (bcompiler)
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de bcompiler
  • BLENC — Blenc - BLowfish ENCoder for PHP source scripts
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Blenc Funciones
  • Manejo de errores — Manejo y registro de errores
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de Manejo de Errores
  • htscanner — Soporte similar a los archivos htaccess para todos los SAPIs
    • Introducción
    • Instalación/Configuración
  • inclued — Visor de la jerarquía de inclusión
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de inclued
  • Memtrack
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
  • OPcache
    • Introducción
    • Instalación/Configuración
    • OPcache Funciones
  • Control de la salida — Control del búfer de salida
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones del Control de la salida
  • Opciones/Info de PHP — Opciones e Información de PHP
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de Opciones/Info de PHP
  • runkit
    • Introducción
    • Constantes predefinidas
    • Instalación/Configuración
    • Funciones runkit
  • scream — Desactivar silenciar errores
    • Introducción
    • Instalación/Configuración
    • Ejemplos
  • Weakref — Referencias débiles
    • Introducción
    • Instalación/Configuración
    • WeakRef — La clase WeakRef
    • WeakMap — La clase WeakMap
  • WinCache — Windows Cache for PHP
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de WinCache
    • Building for Windows
  • Xhprof — Hierarchical Profiler
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Xhprof Funciones
Referencia de funciones
APC
Referencia de funciones


Caché Alternativo de PHP

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de APC
    • apc_add — Poner una nueva variable en caché en el almacén de datos
    • apc_bin_dump — Obtener una copia binaria de los ficheros y variables de usuario dados
    • apc_bin_dumpfile — Imprimir a un fichero una copia binaria de los ficheros y variables de usuario almacenados en caché
    • apc_bin_load — Cargar una copia binaria en la caché de archivo/usuario de APC
    • apc_bin_loadfile — Cargar una copia binaria desde un fichero a la caché de fichero/usuario de APC
    • apc_cache_info — Recupera información que hay en caché del almacén de datos de APC
    • apc_cas — Actualiza un valor anterior por un nuevo valor
    • apc_clear_cache — Limpia la caché de APC
    • apc_compile_file — Almacena un archivo en la caché de código de byte, evitando todos los filtros
    • apc_dec — Disminuye un número almacenado
    • apc_define_constants — Define un conjunto de constantes para recuperación y definición en masa
    • apc_delete_file — Borra archivos de la caché del código de operación
    • apc_delete — Elimina una variable almacenada de la caché
    • apc_exists — Comprobar si existe una clave de APC
    • apc_fetch — Traer una variable almacenada desde la caché
    • apc_inc — Aumentar un número almacenado
    • apc_load_constants — Carga un conjunto de constantes de la caché
    • apc_sma_info — Recupera la información de la Asignación de Memoria Compartida de APC
    • apc_store — Guardar una variable en caché en el almacén de datos
  • APCIterator — La clase APCIterator
    • APCIterator::__construct — Construye un objeto iterador APCIterator
    • APCIterator::current — Obtener el elemento actual
    • APCIterator::getTotalCount — Obtener la cuenta total
    • APCIterator::getTotalHits — Obtener el total de éxitos de la caché
    • APCIterator::getTotalSize — Obtener el tamaño total de la caché
    • APCIterator::key — Obtener la clave del iterador
    • APCIterator::next — Mover el puntero al siguiente elemento
    • APCIterator::rewind — Rebobina el iterator
    • APCIterator::valid — Comprueba si la posición acutal es válida
Afecta el comportamiento de PHP
Introducción
Afecta el comportamiento de PHP


Introducción

El APC, o caché alternativo de PHP (por sus siglas en inglés de Alternative PHP Cache), es un código de operación de caché libre y abierto para PHP. Su objetivo es el de proporcionar un marco robusto, libre y abierto para optimizar código de PHP intermedio mediante el almacenamiento en caché.

APC
Instalación/Configuración
APC


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
APC


Requerimientos

No se requiere de ninguna biblioteca externa para compilar esta extensión.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/apc.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Nota: En Windows, APC necesita una ruta temporal para existir, y ser modificable por el servidor web. Comprueba las variables de entorno TMP, TEMP y USERPROFILE, en ese orden, y finalmente intenta el directorio WINDOWS si ninguna de ésas está establecida.

Nota: Para detalles de implementación más exhaustivos, altamente técnicos, véase el » archivo TECHNOTES para desarrolladores .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Aunque la configuración predeterminada de APC está bien para la mayoría de las instalaciones, los usuarios dedicados deberían considerar ajustar los siguientes parámetros.

Hay dos decisiones principales a tomar para configurar APC. Primero, cuánta memoria va a ser asignada a APC; y segundo, si APC debe comprobar si un archivo ha sido modificado en cada petición. Las dos directivas ini que controlan estos ajustes son apc.shm_size y apc.stat, respectivamente. Lea detenidamente las secciones sobre estas dos directivas más abajo.

Una vez que el servidor está ejecutándose, el script apc.php que está incluido con la extensión debería ser copiado a algún lugar dentro del directorio raíz de documentos y visualizarlo con un navegador, ya que porporciona un análisis detallado del funcionamiento interno de APC. Si GD está habilitado en PHP, también mostrará algunos gráficos interesantes. Lo primero que se debe asegurar es, por supuesto, que se están manejando realmente archivos en caché. Si APC está funcionando, el número dado por Cache full count (a la izquierda) mostrará el número de veces que la caché ha alcanzado su máxima capacidad y ha tenido que limpiar forzosamente cualquier entrada a la que no se haya accedido en los últimos apc.ttl segundos. Este número está minimizado en una caché bien configurada. Si la caché está siendo llenada constantemente, y de este modo liberada forzosamente, el revoltijo resultante tendrá efectos negativos en el rendimiento del script. La forma más sencilla de minimizar este número es asignar más memoria a APC. A menos que se haga esto, debería usarse apc.filters para almacenar en caché menos scripts.

Cuando APC es compilado con soporte para mmap (Memory Mapping - Mapeo de Memoria), sólo usará u segmento de memoria, a diferencia de cuando APC es construido con soporte para SHM (SysV Shared Memory - Memoria Compartida de SysV), que usa múltiples segmentos de memoria. MMAP no tiene un límite máximo como lo tiene SHM en /proc/sys/kernel/shmmax. En general, se recomienda el soporte para MMAP ya que reclamará la memoria más rápido cuando el servidor web sea reiniciado y a fin de cuentas reduce el impacto de asignacion de memoria al inicio.

Opciones de configuración de APC
Nombre | Por defecto | Cambiable | Historial de cambios
apc.enabled | "1" | PHP_INI_SYSTEM | PHP_INI_SYSTEM en APC 2. PHP_INI_ALL en APC <= 3.0.12.
apc.shm_segments | "1" | PHP_INI_SYSTEM |
apc.shm_size | "32M" | PHP_INI_SYSTEM |
apc.shm_strings_buffer | "4M" | PHP_INI_SYSTEM | Disponible a partir de APC 3.1.4.
apc.optimization | "0" | PHP_INI_ALL | PHP_INI_SYSTEM en APC 2. Eliminada en APC 3.0.13.
apc.num_files_hint | "1000" | PHP_INI_SYSTEM |
apc.user_entries_hint | "4096" | PHP_INI_SYSTEM | Disponible a partir de APC 3.0.0.
apc.ttl | "0" | PHP_INI_SYSTEM | Disponible a partir de APC 3.0.0.
apc.user_ttl | "0" | PHP_INI_SYSTEM | Disponible a partir de APC 3.0.0.
apc.gc_ttl | "3600" | PHP_INI_SYSTEM |
apc.cache_by_default | "1" | PHP_INI_ALL | PHP_INI_SYSTEM en APC <= 3.0.12. Disponible a partir de APC 3.0.0.
apc.filters | NULL | PHP_INI_SYSTEM |
apc.mmap_file_mask | NULL | PHP_INI_SYSTEM |
apc.slam_defense | "1" | PHP_INI_SYSTEM | Disponible a partir de APC 3.0.0. Anterior a APC 3.1.4, el valor por defecto era "0" (deshabilitado).
apc.file_update_protection | "2" | PHP_INI_SYSTEM | Disponible a partir de APC 3.0.6.
apc.enable_cli | "0" | PHP_INI_SYSTEM | Disponible a partir de APC 3.0.7.
apc.max_file_size | "1M" | PHP_INI_SYSTEM | Disponible a partir de APC 3.0.7.
apc.use_request_time | "1" | PHP_INI_ALL | Disponible a partir de APC 3.1.3.
apc.stat | "1" | PHP_INI_SYSTEM | Disponible a partir de APC 3.0.10.
apc.write_lock | "1" | PHP_INI_SYSTEM | Disponible a partir de APC 3.0.11.
apc.report_autofilter | "0" | PHP_INI_SYSTEM | Disponible a partir de APC 3.0.11.
apc.serializer | "default" | PHP_INI_SYSTEM | Disponible desde APC 3.1.0.
apc.include_once_override | "0" | PHP_INI_SYSTEM | Disponible a partir de APC 3.0.12.
apc.rfc1867 | "0" | PHP_INI_SYSTEM | Disponible a partir de APC 3.0.13.
apc.rfc1867_prefix | "upload_" | PHP_INI_SYSTEM |
apc.rfc1867_name | "APC_UPLOAD_PROGRESS" | PHP_INI_SYSTEM |
apc.rfc1867_freq | "0" | PHP_INI_SYSTEM |
apc.rfc1867_ttl | "3600" | PHP_INI_SYSTEM | Disponible a partir de APC 3.1.1.
apc.localcache | "0" | PHP_INI_SYSTEM | Disponible en APC 3.0.14 - 3.1.11.
apc.localcache.size | "512" | PHP_INI_SYSTEM | Disponible en APC 3.0.14 - 3.1.11.
apc.coredump_unmap | "0" | PHP_INI_SYSTEM | Disponible a partir de APC 3.0.16.
apc.stat_ctime | "0" | PHP_INI_SYSTEM | Disponible a partir de APC 3.0.13.
apc.preload_path | NULL | PHP_INI_SYSTEM | Disponible a partir de APC 3.1.1.
apc.file_md5 | "0" | PHP_INI_SYSTEM | Disponible a partir de APC 3.1.1.
apc.canonicalize | "1" | PHP_INI_SYSTEM | Disponible a partir de APC 3.1.1.
apc.lazy_functions | 0 | PHP_INI_SYSTEM | Disponible a partir de APC 3.1.3.
apc.lazy_classes | 0 | PHP_INI_SYSTEM | Disponible a partir de APC 3.1.3.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

apc.enabled boolean

apc.enabled se puede establecer a 0 para deshabilitar APC. Esto es útil principalmente cuando APC está compilado estáticamente en PHP, ya que no hay otra forma de deshabilitarlo (cuando se compila como un DSO, la línea extension en php.ini debe ser descomentada).

apc.shm_segments integer

El número de segmentos de memoria compartida a asignar a la caché del compilador. Si APC está agotando la memoria compartida pero apc.shm_size está establecido tan alto como el sistema lo permita, aumentar este valor podría prevenir que APC agote su propia memoria.

apc.shm_size integer

El tamaño de cada segmento de memoria compartida en MB. Por defecto, algunos sistemas (incluidos la mayoría de variantes de BSD) tienen límites muy bajos del tamaño de un segmento de memoria compartida.

apc.shm_strings_buffer string

El tamaño de la memoria a usar como búfer compartido para strings usados internamente por APC. El tamaño debería sufijarse con M para megabytes, G para gigabytes. LA habilitación de esta opción reduce la cantidad de memoria usada por el trabajador PHP-FPM ya que los strings serán almacenados una vez en lugar de una por cada trabajador.

apc.optimization integer

El nivel de optimización. Cero deshabilita el optimizador, y valores mayores usan optimizaciones más agresivas. Se esperan mejoras de velocidad muy modestas. Esto es experimental.

apc.num_files_hint integer

Un "consejo" sobre el número de distintos archivos fuente que serán incluidos o solicitados en su servidor web. Establézcalo a cero u omítalo si no está seguro; este ajuste es útil principalmente para sitios que tienen miles de archivos fuente.

apc.user_entries_hint integer

Al igual que apc.num_files_hint, un "consejo" sobre el número de distintas variables de caché de usuario a almacenar. Estblézcalo a cero u omítalo si no está seguro.

apc.ttl integer

El número de segundos que se le permite a una entrada de caché estar parada en una ranura en caso de que esta ranura de entrada de caché sea necesaria para otra entrada. Dejar esto a cero significa que la caché de APC podría llenarse potencialmente de entradas antiguas mientras que las nuevas entradas podrían no ser almacenadas en caché. En el caso de que una caché agote la memoria disponible, la caché será expurgada completamente si ttl es igual a 0. De otro modo, si ttl es mayor que 0, APC intentará eliminar las entradas caducadas.

apc.user_ttl integer

El número de segundos que se le permite a una entrada de caché estar parada en una ranura en caso de que esta ranura de entrada de caché sea necesaria para otra entrada. Dejar esto a cero significa que la caché de APC podría llenarse potencialmente de entradas antiguas mientras que las nuevas entradas podrían no ser almacenadas en caché. En el caso de que una caché agote la memoria disponible, la caché será expurgada completamente si ttl es igual a 0. De otro modo, si ttl es mayor que 0, APC intentará eliminar las entradas caducadas.

apc.gc_ttl integer

El número de segundos que una entrada de caché puede permanecer en la lista de recolección de basura. Este valor proporciona un seguro en el caso de que un proceso del servidor muera mientras se ejecuta un archivo fuente en caché; si este archivo fuente es modificado, la memoria asignada para la versión antigua no será reclamada hasta que se alcance este TTL. Estabézcalo a cero para deshabilitar esta característica.

apc.cache_by_default boolean

Activado por defecto, pero se puede desactivar y usarlo junto con un filtro positivo en apc.filters para que sólo sean almacenados en caché los archivos que coincidan con un filtro positivo.

apc.filters string

Una lista de expresiones regulares POSIX extendido separadas por comas. Si cualquier patrón coincide con el nombre de archivo fuente, el archivo no será almacenado en caché. Observe que el nombre de archivo usado para la comparación es pasado para incluirlo/requerirlo, no la ruta absoluta. Si el primer carácter de una expresión es +, la expresión será aditiva en el sentido de que cualquier archivo comparado por la expresión será almacenado en caché, y si el primer carácter es -, entonces cualquier cosa que coincida no será almacenada en caché. El caso predeterminado es -, por lo que se puede dejar así.

apc.mmap_file_mask string

Si se compiló con soporte para MMAP usando --enable-mmap, ésta es la máscara de archivo estilo mktemp a pasar al módulo mmap para determinar si la región de memoria de mmap va a ser para gestión de archivos o para gestión de memoria compartida. Para gestión directa de archivos, establézcalo a algo como /tmp/apc.XXXXXX (exactamente 6 X). Para usar shm_open/mmap al estilo POSIX ponga .shm en algún lugar de su máscara, p.ej. /apc.shm.XXXXXX También se puede establecer a /dev/zero para usar la interfaz /dev/zero de kernel a una memoria de mmap anónima. Dejándolo indefinido forzará un mmap anónimo.

apc.slam_defense integer

En servidores muy concurridos cuando se inicia el sercidor o se modifican archivos, se puede crear una competición para todos los procesos que intentén almacenar el mismo archivo al mismo tiempo. Esta opción establece el porcentaje de procesos que se saltan el intentar almacenar en caché un archivo que no lo esté. O piense en ello como la probabilidad de saltarse el almacenamiento en caché de un proceso. Por ejemplo, establecer apc.slam_defense a 75 siginifica que hay un 75% de probabilidad de que el proceso no almacene en caché un archivo que no lo está. Así, cuanto mayor sea el valor mayor será la defensa contra los ataques a la caché. Establecer esto a 0 deshabilita esta característica.

Obsoleto por apc.write_lock.

apc.file_update_protection integer

Cuando un archivo es modificado en un servidor web debería hacerse realmente de una forma atómica. Es decir, escribir en un archivo temporal y renombrar (mv) el archivo a su posición permanente cuando esté listo. Muchos editores de texto, Many text editors, cp, tar y otros programas similares no lo hacen. Esto significa que hay una posibilidad de que se acceda al archivo (y se almacene en caché) mientras está todavía siendo escrito. apc.file_update_protection pone un retardo en la marca de almacenamiento en caché de nuevos archivos. Lo predeterminado es 2 segundos, lo que significa qeu si marca de tiempo de modificación (mtime) de un archivo muestra que es menor que 2 segundo de atigüedad cuando se acceda a él, no será almacenado en caché. La persona desafortunada que acceda a este archivo a medio escribir aún lo verá de forma extraña, pero por lo menos no persistirá. Si todos los archivos del servidor web se actualizan atómicamente mediante algún método como rsync (el cuál actuliza correctamente), se puede deshabilitar esta protección estableciendo esta directiva a 0. Si el sistema se inunda de entradas/salidas y algunos procesos de actualización toman más de 2 segundos, este ajuste debería ser aumentado para habilitar la protección en las operaciones de actualizacón más lentas.

apc.enable_cli integer

Mayormente para probar y depurar. Estableciendo esto habilita APC para la versión CLI de PHP. Bajo circunstancias normales, no es ideal crear, llenar y destruir la caché de APC en cada petición CLI, pero para varios escenarios de pruebas es útil para ser capaz de habilitar APC para la versión CLI de PHP de manera sencilla.

apc.max_file_size integer

Previene que los archivos más grandes que este valor sean almacenados en caché. Por defecto es 1M.

apc.stat integer

Tenga cuidado al cambiar este ajuste. Por defecto está activado, forzando a APC a realizar estadísticas (comprobar) del script en cada petición para determinar si ha sido modificado. Si ha sido modificado será recompilado y se almacenará en caché la nueva versión. Si este ajuste está desactivado, APC no hará ninguna comprobación, lo que normalmente significa que al forzar a APC a recomprobar archivos, el sevidor web tendrá que ser reiniciado o la caché tendrá que ser limpiada manualmente. Observe que la configuración de FastCGI del servidor web puede no limpiar la caché al reinicio. En un servidor de producción donde los archivos de script raramente cambian, se puede lograr aumentar el redimiento significativamente deshabilitando las estadísticas.

Para archivos incluidos/requeridos también se aplica esta opción, pero observe que para inclusiones de rutras relativas (cualquier ruta que no empiece con / en Unix), APC tiene que realizar una verificación para identificar de manera única un arcivo. Si se usan inclusiones de rutas absolutas, APC puede saltarse las estadísticas y usar esa ruta absoluta como el identificador único del archivo.

apc.write_lock boolean

En servidores concurridos, cuando el servidor se inicia primero, o cuando muchos archivos han sido modificados al mismo tiempo, APC puede intentar compilar y almacenar en caché el mismo archivo múltiples veces. Write_lock garantiza que sólo un proceso intentará compilar y almacenar en caché un script que no lo ésta. Los demás procesos que intenten usar el script se ejecutarán sin usar la caché de código de operaciones, en vez de mirar y esperar a que la caché se prepare.

apc.report_autofilter boolean

Registra cualquier script que fue automáticamente excluído de ser almacenado en caché debido a cuestiones de enlaces precoces/tardíos.

apc.serializer string

Usado para configurar APC para que use un serializador de terceros.

apc.include_once_override boolean

Optimiza las llamadas a include_once y require_once y evita las caras llamadas al sistema utilizadas.

Advertencia

Esta característica es EXPERIMENTAL. El comportamiento de esta directiva, su nombre, y la documentación pertinente puede cambiar sin previo aviso en una versión futura de APC. El uso de esta característica está bajo su responsabilidad.

apc.rfc1867 boolean

El gestor de enganche de Progreso de Subidas de Archivo RFC1867 sólo está disponible si APC fue compilado con PHP 5.2.0 o posterior. Cuando está habilitado, cualquier subida de archivo que incluya un campo llamado APC_UPLOAD_PROGRESS antes del campo file en un formulario de subidas hará que APC cree automáticamente una entrada de caché de usuario upload_key donde key es el valor de la entrada APC_UPLOAD_PROGRESS del formulario.

Observe que el campo oculto especificado por APC_UPLOAD_PROGRESS debe ir antes del campo file, si no el progreso de subida no funcionará correctamente.

Observe que el rastreo de subidas de archivos no es seguro a nivel de hilos en este momento, por lo que las nuevas subidas que ocurran mientras se está realizando una anterior deshabilitará el rastreo para la anterior.

Observe que rate sólo está disponible una vez que todas las tranferencias de ficheros estén completadas.

Ejemplo #1 Un ejemplo de apc.rfc1867

<?php
print_r(apc_fetch("upload_$_POST[APC_UPLOAD_PROGRESS]"));
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [total] => 1142543
    [current] => 1142543
    [rate] => 1828068.8
    [filename] => test
    [name] => file
    [temp_filename] => /tmp/php8F
    [cancel_upload] => 0
    [done] => 1
)

apc.rfc1867_prefix string

El prefijo de clave a usar para la entrada de caché de usuario generada por la funcionalidad de progreso de subida rfc1867.

apc.rfc1867_name string

Especifica el nombre de la entrada oculta del formulario que activa el progreso de subida de APC y especifica el sufijo de clave de la caché de usuario.

apc.rfc1867_freq string

La frecuencia con la que se debería hacer la actualización de la entrada de la caché de usuario para el progreso de subida. Puede tomar la forma de un porcentaje del total del tamaño del archivo o un tamaño en bytes opcionalmente con el sufijo "k", "m", o "g" para kilobytes, megabytes, o gigabytes respectivamente (insensible a mayúsculas-minúsculas). Un valor de 0 actualiza tan a menudo como se pueda, lo que puede causar subidar más lentas.

apc.rfc1867_ttl integer

TTL para las entradas de rfc1867.

apc.localcache boolean

Habilita un cierre libre de la caché de seguimiento de procesos locales que reduce las disputas de cierre cuando la caché está siendo escrita.

apc.localcache.size integer

El tamaño de la caché de seguimiento de procesos locales, debería ser establecido a un valor suficientemente grande, aproximadamente la mitad de apc.num_files_hint.

apc.coredump_unmap boolean

Habilita a APC para el manejo de señales, como SIGSEGV, que escriben archivos de núcleo cuando se indican. Cuando estas señales son recibidas, APC intentará desmapear el segmento de memoria compartida para excluirlo del archivo de núcleo. Este ajuste puede mejorar la estabilidad del sistema cuando son recibidas señales fatales y se configura un segmento grande de memoria compartida de APC.

Advertencia

Esta característica es potencialmente peligrosa. Desmapear el segmento de memoria compartida en un gestro de señal fatal puede causar un comportamiento indefinido si ocurriera un error fatal.

Nota:

Aunque algunos kernels pueden proporcionar una utilidad para ignorar varios tipos de memoria compartida cuando se genera un archivo de copia de núcleo, estas implementaciones pueden también ignorar segmentos de memoria compartida tales como el marcador de Apache.

apc.stat_ctime integer

La verificación con ctime evitará problemas causados por programas como svn o rsync asegurándose que los i-nodos no han cambiado desde la úlima estadística. APC normalmente sólo verificará mtime.

apc.canonicalize bool

Si está activado, las rutas relativas son canonizadas al modo sin estadísticas. En tal caso, los ficheros importados a partir de envolturas de flujos, no se almacerán dado que realpath() no soporta las envolutras de flujos.

apc.preload_path string

Opcionalmente, establece un ruta al directorio que APC cargará cados de caché al inicio.

apc.use_request_time bool

Usa el tiempo de inicio de la petición SAPI para TTL.

apc.file_md5 bool

Graba un hash de archivos md5.

apc.lazy_functions integer

Habilita la carga lenta de funciones.

apc.lazy_classes integer

Habilita la carga lenta de clases.

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

APC_BIN_VERIFY_CRC32 (integer)
APC_BIN_VERIFY_MD5 (integer)
APC_ITER_ALL (integer)
APC_ITER_ATIME (integer)
APC_ITER_CTIME (integer)
APC_ITER_DEVICE (integer)
APC_ITER_DTIME (integer)
APC_ITER_FILENAME (integer)
APC_ITER_INODE (integer)
APC_ITER_KEY (integer)
APC_ITER_MD5 (integer)
APC_ITER_MEM_SIZE (integer)
APC_ITER_MTIME (integer)
APC_ITER_NONE (integer)
APC_ITER_NUM_HITS (integer)
APC_ITER_REFCOUNT (integer)
APC_ITER_TTL (integer)
APC_ITER_TYPE (integer)
APC_ITER_VALUE (integer)
APC_LIST_ACTIVE (integer)
APC_LIST_DELETED (integer)

Tipos de recursos
Funciones de APC
APC


Funciones de APC

Tabla de contenidos

  • apc_add — Poner una nueva variable en caché en el almacén de datos
  • apc_bin_dump — Obtener una copia binaria de los ficheros y variables de usuario dados
  • apc_bin_dumpfile — Imprimir a un fichero una copia binaria de los ficheros y variables de usuario almacenados en caché
  • apc_bin_load — Cargar una copia binaria en la caché de archivo/usuario de APC
  • apc_bin_loadfile — Cargar una copia binaria desde un fichero a la caché de fichero/usuario de APC
  • apc_cache_info — Recupera información que hay en caché del almacén de datos de APC
  • apc_cas — Actualiza un valor anterior por un nuevo valor
  • apc_clear_cache — Limpia la caché de APC
  • apc_compile_file — Almacena un archivo en la caché de código de byte, evitando todos los filtros
  • apc_dec — Disminuye un número almacenado
  • apc_define_constants — Define un conjunto de constantes para recuperación y definición en masa
  • apc_delete_file — Borra archivos de la caché del código de operación
  • apc_delete — Elimina una variable almacenada de la caché
  • apc_exists — Comprobar si existe una clave de APC
  • apc_fetch — Traer una variable almacenada desde la caché
  • apc_inc — Aumentar un número almacenado
  • apc_load_constants — Carga un conjunto de constantes de la caché
  • apc_sma_info — Recupera la información de la Asignación de Memoria Compartida de APC
  • apc_store — Guardar una variable en caché en el almacén de datos
Constantes predefinidas
apc_add
APC


Poner una nueva variable en caché en el almacén de datos

Funciones de APC
apc_bin_dump
Funciones de APC
PHP Manual

apc_add

(PECL apc >= 3.0.13)

apc_add — Poner una nueva variable en caché en el almacén de datos

Descripción

bool apc_add ( string $key , mixed $var [, int $ttl = 0 ] )
array apc_add ( array $values [, mixed $unused = NULL [, int $ttl = 0 ]] )

Pone una variable en caché en el almacén de datos, sólo si no está ya almacenada.

Nota: A diferencia de otros mecanismos de PHP, las variables almacenadas al usar apc_add() persistirán entre peticiones (hasta que el valor sea eliminado de la caché).

Parámetros

key

Almacena la variable usando este nombre. Las claves (keys) son únicas en la caché, por lo que intentar usar apc_add() para almacenar información con una clave que ya existe no sobrescribirá la información existente, en su lugar devolverá FALSE. (Esta es la única diferencia entre apc_add() y apc_store().)

var

La variable a almacenar

ttl

Time To Live (Tiempo de Vida); almacena var en la caché durante ttl segundos. Después de que pase ttl, la variable almacenada será expurgada de la caché (en la siguiente solicitud). Si no se proporciona ttl (o si ttl es 0), el valor persistirá hasta que sea eliminado de la caché manualmente, o si no dejará de existir (al limpiar, reiniciar, etc.).

values

Nombres en clave, variables en valor.

Valores devueltos

Devuelve TRUE si realmente se ha añadido algo a la caché, de lo contrario devuelve FALSE. La segunda sintaxis devuelve un array con las claves de errores.

Ejemplos

Ejemplo #1 Un ejemplo de apc_add()

<?php
$bar = 'BAR';
apc_add('foo', $bar);
var_dump(apc_fetch('foo'));
echo "\n";
$bar = 'NUNCA SE ESTABLECE';
apc_add('foo', $bar);
var_dump(apc_fetch('foo'));
echo "\n";
?>

El resultado del ejemplo sería:

string(3) "BAR"
string(3) "BAR"

Ver también

  • apc_store() - Guardar una variable en caché en el almacén de datos
  • apc_fetch() - Traer una variable almacenada desde la caché
  • apc_delete() - Elimina una variable almacenada de la caché

Funciones de APC
apc_bin_dump
Funciones de APC


Obtener una copia binaria de los ficheros y variables de usuario dados

apc_add
apc_bin_dumpfile
Funciones de APC
PHP Manual

apc_bin_dump

(PECL apc >= 3.1.4)

apc_bin_dump — Obtener una copia binaria de los ficheros y variables de usuario dados

Descripción

string apc_bin_dump ([ array $files = NULL [, array $user_vars = NULL ]] )

Devuelve una copia binaria de los ficheros y variables de usuario dados desde la caché de APC. NULL para cada parámetro files o user_vars indica una copia de cada entrada, mientras que array() no hará copia de nada.

Parámetros

files

Los ficheros. Pasar NULL indica una copia de cada entrada, mientras que pasar array() no hará copia de nada.

user_vars

Las variables de usuario. Pasar NULL indica una copia de cada entrada, mientras que pasar array() no hará copia de nada.

Valores devueltos

Devuelve una copia binaria de los ficheros y variables de usuario dados desde la caché de APC, FALSE si APC no está habilitado, o NULL si se produjo un error desconocido.

Ver también

  • apc_bin_dumpfile() - Imprimir a un fichero una copia binaria de los ficheros y variables de usuario almacenados en caché
  • apc_bin_load() - Cargar una copia binaria en la caché de archivo/usuario de APC
apc_add
apc_bin_dumpfile
Funciones de APC


Imprimir a un fichero una copia binaria de los ficheros y variables de usuario almacenados en caché

apc_bin_dump
apc_bin_load
Funciones de APC
PHP Manual

apc_bin_dumpfile

(PECL apc >= 3.1.4)

apc_bin_dumpfile — Imprimir a un fichero una copia binaria de los ficheros y variables de usuario almacenados en caché

Descripción

int apc_bin_dumpfile ( array $files , array $user_vars , string $filename [, int $flags = 0 [, resource $context = NULL ]] )

Imprime una copia binaria de los ficheros y variables de usuario dados desde la caché de APC al fichero con nombre.

Parámetros

files

Los nombres de los fichero que van a ser copiados.

user_vars

Las variables de usuario que van a ser copiadas.

filename

El nombre de fichero donde la copia va a ser guardada.

flags

Banderas pasadas al flujo de filename. Véase la documentación de file_put_contents() para más detalles.

context

El contexto pasado al flujo de filename. Véase la documentación de file_put_contents() para más detalles.

Valores devueltos

El número de bytes escritos en el fichero, o si no FALSE si APC no está habilitado, filename no es un nombre de fichero válido, filename no se puede abrir, el fichero copia no puede ser completado (p.ej., el disco duro se ha quedado sin espacio), o si se produjo un error desconocido.

Ver también

  • apc_bin_dump() - Obtener una copia binaria de los ficheros y variables de usuario dados
  • apc_bin_load() - Cargar una copia binaria en la caché de archivo/usuario de APC
apc_bin_dump
apc_bin_load
Funciones de APC


Cargar una copia binaria en la caché de archivo/usuario de APC

apc_bin_dumpfile
apc_bin_loadfile
Funciones de APC
PHP Manual

apc_bin_load

(PECL apc >= 3.1.4)

apc_bin_load — Cargar una copia binaria en la caché de archivo/usuario de APC

Descripción

bool apc_bin_load ( string $data [, int $flags = 0 ] )

Cargar la copia binaria dada en la caché de archivo/usuario de APC.

Parámetros

data

La copia binaria que va a ser cargada, probablemente desde apc_bin_dump().

flags

APC_BIN_VERIFY_CRC32, APC_BIN_VERIFY_MD5, o ambas.

Valores devueltos

Devuelve TRUE si la información de la copia binaria dada por data se cargó con éxito, si no se devuelve FALSE. También se devuelve FALSE si APC no está habilitado o si data no es una copia binaria válida de APC (p.ej., tamaño no esperado).

Ejemplos

Ejemplo #1 Ejemplo de apc_bin_load()

<?php
$data = apc_bin_dump(NULL, NULL);
apc_bin_load($data, APC_BIN_VERIFY_MD5 | APC_BIN_VERIFY_CRC32);
?>

Ver también

  • apc_bin_dump() - Obtener una copia binaria de los ficheros y variables de usuario dados
  • apc_bin_loadfile() - Cargar una copia binaria desde un fichero a la caché de fichero/usuario de APC
apc_bin_dumpfile
apc_bin_loadfile
Funciones de APC


Cargar una copia binaria desde un fichero a la caché de fichero/usuario de APC

apc_bin_load
apc_cache_info
Funciones de APC
PHP Manual

apc_bin_loadfile

(PECL apc >= 3.1.4)

apc_bin_loadfile — Cargar una copia binaria desde un fichero a la caché de fichero/usuario de APC

Descripción

bool apc_bin_loadfile ( string $filename [, resource $context = NULL [, int $flags = 0 ]] )

Carga una copia binaria desde un fichero a la caché de fichero/usuario de APC.

Parámetros

filename

El nombre de fichero que contiene la copia, probablemente desde apc_bin_dumpfile().

context

El contexto de ficheros.

flags

Puede ser APC_BIN_VERIFY_CRC32, APC_BIN_VERIFY_MD5, o ambos.

Valores devueltos

Devuelve TRUE en caso de éxito, si no devuelve FALSE. Las razones por la que devuelve FALSE incluyen que APC no está habilitado, filename no es un nombre de fichero válido o está vacío, no se puede abrir filename, la copia del fichero no se puede completar, o si data no es una copia binaria de APC válida (p.ej., tamaño no esperado).

Ver también

  • apc_bin_dumpfile() - Imprimir a un fichero una copia binaria de los ficheros y variables de usuario almacenados en caché
  • apc_bin_load() - Cargar una copia binaria en la caché de archivo/usuario de APC
apc_bin_load
apc_cache_info
Funciones de APC


Recupera información que hay en caché del almacén de datos de APC

apc_bin_loadfile
apc_cas
Funciones de APC
PHP Manual

apc_cache_info

(PECL apc >= 2.0.0)

apc_cache_info — Recupera información que hay en caché del almacén de datos de APC

Descripción

array apc_cache_info ([ string $cache_type = "" [, bool $limited = false ]] )

Recupera información que hay en caché y meta-datos del almacén de datos de APC.

Parámetros

cache_type

Si cache_type es "user", será devuelta la información acerca de la caché de usuario.

Si cache_type es "filehits", será devuelta la información acerca de qué ficheros han sido servidos desde la caché de código de bytes para la solicitud actual. Esta característica debe ser habilitada en la compilación usando --enable-filehits .

Si cache_type no es válido o no se especifica, será devuelta la información sobre la caché del sistema (ficheros almacenados en caché).

limited

Si limited es TRUE, el valor devuelto excluirá la lista individual de entradas de caché. Esto es útil cuando se intenta optimizar llamadas para reunión de estadísticas.

Valores devueltos

Un array de datos en caché (y metadatos) o FALSE en caso de error

Nota: apc_cache_info() emitirá una advertencia si no es capaz de recuperar datos en caché de APC. Esto normalmente ocurre cuando APC no está habilitado.

Historial de cambios

Versión | Descripción
3.0.11 | Se introdujo el parámetro limited.
3.0.16 | Se introdujo la opción "filehits" del parámetro cache_type.

Ejemplos

Ejemplo #1 Un ejemplo de apc_cache_info()

<?php
print_r(apc_cache_info());
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [num_slots] => 2000
    [ttl] => 0
    [num_hits] => 9
    [num_misses] => 3
    [start_time] => 1123958803
    [cache_list] => Array
        (
            [0] => Array
                (
                    [filename] => /path/to/apc_test.php
                    [device] => 29954
                    [inode] => 1130511
                    [type] => file
                    [num_hits] => 1
                    [mtime] => 1123960686
                    [creation_time] => 1123960696
                    [deletion_time] => 0
                    [access_time] => 1123962864
                    [ref_count] => 1
                    [mem_size] => 677
                )
            [1] => Array (...itera para cada ficheros en caché)
)

Ver también

  • Directivas de configuración de APC
  • APCIterator::getTotalSize() - Obtener el tamaño total de la caché
  • APCIterator::getTotalHits() - Obtener el total de éxitos de la caché
  • APCIterator::getTotalCount() - Obtener la cuenta total

apc_bin_loadfile
apc_cas
Funciones de APC


Actualiza un valor anterior por un nuevo valor

apc_cache_info
apc_clear_cache
Funciones de APC
PHP Manual

apc_cas

(PECL apc >= 3.1.1)

apc_cas — Actualiza un valor anterior por un nuevo valor

Descripción

bool apc_cas ( string $key , int $old , int $new )

apc_cas() actualiza un número entero existente si el parámetro old concuerda con el valor guardado actualmente con el valor del parámetro new.

Parámetros

key

La clave del valor a ser actualizado.

old

El valor anterior (el valor actualmente guardado).

new

El nuevo valor a actualizar.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de apc_cas()

<?php
apc_store('foobar', 2);
echo '$foobar = 2', PHP_EOL;
echo '$foobar == 1 ? 2 : 1 = ', (apc_cas('foobar', 1, 2) ? 'ok' : 'fallo'), PHP_EOL;
echo '$foobar == 2 ? 1 : 2 = ', (apc_cas('foobar', 2, 1) ? 'ok' : 'fallo'), PHP_EOL;

echo '$foobar = ', apc_fetch('foobar'), PHP_EOL;

echo '$f__bar == 1 ? 2 : 1 = ', (apc_cas('f__bar', 1, 2) ? 'ok' : 'fallo'), PHP_EOL;

apc_store('perfección', 'xyz');
echo '$perfección == 2 ? 1 : 2 = ', (apc_cas('perfección', 2, 1) ? 'ok' : 'fallo épico'), PHP_EOL;

echo '$foobar = ', apc_fetch('foobar'), PHP_EOL;
?>

El resultado del ejemplo sería algo similar a:

$foobar = 2
$foobar == 1 ? 2 : 1 = fallo
$foobar == 2 ? 1 : 2 = ok
$foobar = 1
$f__bar == 1 ? 2 : 1 = fallo
$perfección == 2 ? 1 : 2 = fallo épico
$foobar = 1

Ver también

  • apc_dec() - Disminuye un número almacenado
  • apc_store() - Guardar una variable en caché en el almacén de datos
apc_cache_info
apc_clear_cache
Funciones de APC


Limpia la caché de APC

apc_cas
apc_compile_file
Funciones de APC
PHP Manual

apc_clear_cache

(PECL apc >= 2.0.0)

apc_clear_cache — Limpia la caché de APC

Descripción

bool apc_clear_cache ([ string $cache_type = "" ] )

Limpiar la caché de usuario/sistema.

Parámetros

cache_type

Si cache_type es "user", se limpiará la caché de usuario; de otro modo, se limpiará la caché del sistema (ficheros almacenados en caché).

Valores devueltos

Siempre devuelve TRUE.

Ver también

  • apc_cache_info() - Recupera información que hay en caché del almacén de datos de APC

apc_cas
apc_compile_file
Funciones de APC


Almacena un archivo en la caché de código de byte, evitando todos los filtros

apc_clear_cache
apc_dec
Funciones de APC
PHP Manual

apc_compile_file

(PECL apc >= 3.0.13)

apc_compile_file — Almacena un archivo en la caché de código de byte, evitando todos los filtros

Descripción

mixed apc_compile_file ( string $filename [, bool $atomic = true ] )

Almacena un archivo en la caché de código de byte, evitando todos los filtros.

Parámetros

filename

Ruta completa o relativa al archivo PHP que será compilado y almacenado en la caché de código de byte.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • apc_bin_dumpfile() - Imprimir a un fichero una copia binaria de los ficheros y variables de usuario almacenados en caché
  • apc_bin_loadfile() - Cargar una copia binaria desde un fichero a la caché de fichero/usuario de APC
apc_clear_cache
apc_dec
Funciones de APC


Disminuye un número almacenado

apc_compile_file
apc_define_constants
Funciones de APC
PHP Manual

apc_dec

(PECL apc >= 3.1.1)

apc_dec — Disminuye un número almacenado

Descripción

int apc_dec ( string $key [, int $step = 1 [, bool &$success ]] )

Disminuye un valor integer almacenado.

Parámetros

key

La clave del valor a ser disminuido.

step

El intervalo, o valor a disminuir.

success

Opcionalmente pasa el valor boolean de éxito o fracaso a esta variable referenciada.

Valores devueltos

Devuelve el valor actual de key en caso de éxito, o FALSE en caso de error

Ejemplos

Ejemplo #1 Ejemplo de apc_dec()

<?php
echo "Vamos a hacer algo con éxito", PHP_EOL;

apc_store('unnúmero', 42);

echo apc_fetch('unnúmero'), PHP_EOL;

echo apc_dec('unnúmero'), PHP_EOL;
echo apc_dec('unnúmero', 10), PHP_EOL;
echo apc_dec('unnúmero', 10, $éxito), PHP_EOL;

var_dump($éxito);

echo "Ahora, vamos a fracasar", PHP_EOL, PHP_EOL;

apc_store('unacadena', 'foo');

$ret = apc_dec('unacadena', 1, $fracaso);

var_dump($ret);
var_dump($fracaso);
?>

El resultado del ejemplo sería algo similar a:

Vamos a hacer algo con éxito
42
41
31
21
bool(true)

Ahora, vamos a fracasar
bool(false)
bool(false)

Ver también

  • apc_inc() - Aumentar un número almacenado
apc_compile_file
apc_define_constants
Funciones de APC


Define un conjunto de constantes para recuperación y definición en masa

apc_dec
apc_delete_file
Funciones de APC
PHP Manual

apc_define_constants

(PECL apc >= 3.0.0)

apc_define_constants — Define un conjunto de constantes para recuperación y definición en masa

Descripción

bool apc_define_constants ( string $key , array $constants [, bool $case_sensitive = true ] )

define() es notoriamente lenta. Ya que el principal beneficio de APC es aumentar el rendimiento de scripts/aplicaciones, se proporciona este mecanismo para hacer más eficiente el proceso de definición de constantes en masa. Sin embargo, esta función no lo realiza tan bien como se esperaba.

Para una solución de rendimiento mejor, pruebe la extensión » hidef de PECL.

Nota: Para eliminar un conjunto de constantes almacenadas (sin limpiar la caché por completo), se puede pasar un array vacío al parámetro constants, limpiando de manera eficaz los valores almacenados.

Parámetros

key

key sirve como el nombre del conjunto de constantes que va a ser almacenado. key se usa para recuperar las constantes almacenadas en apc_load_constants().

constants

Un array asociativo de pares nombre_constante => valor. nombre_constante debe seguir las reglas normales de nominación de constantes. valor debe evaluar un valor escalar.

case_sensitive

El comportamiento predeterminado para las constantes es ser declaradas sensibles a mayúsculas-minúsculas; es decir, CONSTANTE y Constante representan valores diferentes. Si este parámetro es FALSE las constantes serán declaradas como símbolos insensibles a mayúsculas-minúsculas.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de apc_define_constants()

<?php
$constantes = array(
    'UNO'   => 1,
    'DOS'   => 2,
    'TRES' => 3,
);
apc_define_constants('números', $constantes);
echo UNO, DOS, TRES;
?>

El resultado del ejemplo sería:

123

Ver también

  • apc_load_constants() - Carga un conjunto de constantes de la caché
  • define() - Define una constante con nombre
  • constant() - Devuelve el valor de una constante
  • O la referencia de contantes de PHP

apc_dec
apc_delete_file
Funciones de APC


Borra archivos de la caché del código de operación

apc_define_constants
apc_delete
Funciones de APC
PHP Manual

apc_delete_file

(PECL apc >= 3.1.1)

apc_delete_file — Borra archivos de la caché del código de operación

Descripción

mixed apc_delete_file ( mixed $keys )

Borra los archivos dados de la caché del código de operación.

Parámetros

keys

Los archivos a ser borrados. Acepta un string, un array de strings, o un object APCIterator.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. O si keys es un array, se devuelve un array vacío en caso de éxito, o se devuelve un array con los archivos fallidos.

Ejemplos

Ejemplo #1 Ejemplo de apc_delete_file()

<?php
$nombrearchivo = 'archivo.php';

if (apc_compile_file($nombrearchivo)) {

    if (apc_delete_file($nombrearchivo)) {
        echo "Se borró con éxito el archivo $nombrearchivo de la caché de APC.", PHP_EOL;
    }
}

if (apc_compile_file($nombrearchivo)) {

    if ($bien = apc_delete_file(array($nombrearchivo, 'noexiste.php'))) {
        var_dump($bien);
    }
}

$mal = apc_delete_file('noexiste.php');
var_dump($mal);
?>

El resultado del ejemplo sería algo similar a:

Se borró con éxito el archivo $nombrearchivo de la caché de APC.
[Mon May 24 09:30:33 2010] [apc-warning] Could not stat file noexiste.php, unable to delete from cache. in /tmp/test.php on line 13.
array(1) {
  [0]=>
  string(14) "noexiste.php"
}
[Mon May 24 09:30:33 2010] [apc-warning] Could not stat file noexiste.php, unable to delete from cache. in /tmp/test.php on line 18.
bool(false)

Ver también

  • apc_clear_cache() - Limpia la caché de APC
  • apc_delete() - Elimina una variable almacenada de la caché
  • apc_exists() - Comprobar si existe una clave de APC
apc_define_constants
apc_delete
Funciones de APC


Elimina una variable almacenada de la caché

apc_delete_file
apc_exists
Funciones de APC
PHP Manual

apc_delete

(PECL apc >= 3.0.0)

apc_delete — Elimina una variable almacenada de la caché

Descripción

mixed apc_delete ( string $key )

Elimina una variable almacenada de la caché.

Parámetros

key

La clave dada por key usada para almacenar el valor (con apc_store()).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo apc_delete()

<?php
$bar = 'BAR';
apc_store('foo', $bar);
apc_delete('foo');
// esto es obviamente inútil de esta forma
?>

Ver también

  • apc_store() - Guardar una variable en caché en el almacén de datos
  • apc_fetch() - Traer una variable almacenada desde la caché

apc_delete_file
apc_exists
Funciones de APC


Comprobar si existe una clave de APC

apc_delete
apc_fetch
Funciones de APC
PHP Manual

apc_exists

(PECL apc >= 3.1.4)

apc_exists — Comprobar si existe una clave de APC

Descripción

mixed apc_exists ( mixed $keys )

Comprueba si una o más claves de APC existen.

Parámetros

keys

Un string, o un array de strings, que contienen claves.

Valores devueltos

Devuelve TRUE si la clave existe, de otro modo devuelve FALSE. O si se pasó un array a keys, se devuelve un array que contiene todas las claves existentes, o un array vacío si no existe nada.

Ejemplos

Ejemplo #1 Ejemplo de apc_exists()

<?php
$fruta  = 'manzana';
$vegetal = 'zanahoria';

apc_store('foo', $fruta);
apc_store('bar', $vegetal);

if (apc_exists('foo')) {
    echo "Foo existe: ";
    echo apc_fetch('foo');
} else {
    echo "Foo no existe";
}

echo PHP_EOL;
if (apc_exists('baz')) {
    echo "Baz existe.";
} else {
    echo "Baz no existe";
}

echo PHP_EOL;

$ret = apc_exists(array('foo', 'noexiste', 'bar'));
var_dump($ret);

?>

El resultado del ejemplo sería algo similar a:

Foo existe: manzana
Baz no existe
array(2) {
  ["foo"]=>
  bool(true)
  ["bar"]=>
  bool(true)
}

Ver también

  • apc_cache_info() - Recupera información que hay en caché del almacén de datos de APC
  • apc_fetch() - Traer una variable almacenada desde la caché
apc_delete
apc_fetch
Funciones de APC


Traer una variable almacenada desde la caché

apc_exists
apc_inc
Funciones de APC
PHP Manual

apc_fetch

(PECL apc >= 3.0.0)

apc_fetch — Traer una variable almacenada desde la caché

Descripción

mixed apc_fetch ( mixed $key [, bool &$success ] )

Traer una variable almacenada desde la caché.

Parámetros

key

La clave dada por key usada para almacenar el valor (con apc_store()). Si se pasa un array cada elemento es traído y devuelto.

success

Se establece a TRUE para éxito y FALSE en caso de error.

Valores devueltos

La variable almacenada o una matriz de variables en caso de éxito; FALSE en caso de error

Ejemplos

Ejemplo #1 Un ejemplo de apc_fetch()

<?php
$bar = 'BAR';
apc_store('foo', $bar);
var_dump(apc_fetch('foo'));
?>

El resultado del ejemplo sería:

string(3) "BAR"

Historial de cambios

Versión | Descripción
3.0.17 | Se añadio el parámetro success.

Ver también

  • apc_store() - Guardar una variable en caché en el almacén de datos
  • apc_delete() - Elimina una variable almacenada de la caché
  • APCIterator

apc_exists
apc_inc
Funciones de APC


Aumentar un número almacenado

apc_fetch
apc_load_constants
Funciones de APC
PHP Manual

apc_inc

(PECL apc >= 3.1.1)

apc_inc — Aumentar un número almacenado

Descripción

int apc_inc ( string $key [, int $step = 1 [, bool &$success ]] )

Aumenta un número almacenado.

Parámetros

key

La clave del valor a ser aumentado.

step

El intervalo, o valor a aumentar.

success

Opcionalmente pasa el valor boolean de éxito o fracaso a esta variable referenciada.

Valores devueltos

Devuelve el valor actual de key en caso de éxito, o FALSE en caso de error

Ejemplos

Ejemplo #1 Ejemplo de apc_inc()

<?php
echo "Vamos a hacer algo con éxito", PHP_EOL;

apc_store('unnúmero', 42);

echo apc_fetch('unnúmero'), PHP_EOL;

echo apc_inc('unnúmero'), PHP_EOL;
echo apc_inc('unnúmero', 10), PHP_EOL;
echo apc_inc('unnúmero', 10, $éxito), PHP_EOL;

var_dump($éxito);

echo "Ahora, vamos a fracasar", PHP_EOL, PHP_EOL;

apc_store('unacadena', 'foo');

$ret = apc_inc('unacadena', 1, $fracaso);

var_dump($ret);
var_dump($fracaso);
?>

El resultado del ejemplo sería algo similar a:

Vamos a hacer algo con éxito

42
43
53
63
bool(true)
Ahora, vamos a fracasar

bool(false)
bool(false)

Ver también

  • apc_dec() - Disminuye un número almacenado
apc_fetch
apc_load_constants
Funciones de APC


Carga un conjunto de constantes de la caché

apc_inc
apc_sma_info
Funciones de APC
PHP Manual

apc_load_constants

(PECL apc >= 3.0.0)

apc_load_constants — Carga un conjunto de constantes de la caché

Descripción

bool apc_load_constants ( string $key [, bool $case_sensitive = true ] )

Carga un conjunto de constantes de la caché.

Parámetros

key

El nombre del conjunto de constantes (que fue almacenado con apc_define_constants()) que se va a recuperar.

case_sensitive

El comportamiento predeterminado para las constantes es ser declaradas sensibles a mayúsculas-minúsculas; es decir, CONSTANTE y Constante representan valores diferentes. Si este parámetro es FALSE las constantes serán declaradas como símbolos insensibles a mayúsculas-minúsculas.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de apc_load_constants()

<?php
$constantes = array(
    'UNO'   => 1,
    'DOS'   => 2,
    'TRES' => 3,
);
apc_define_constants('números', $constantes);
apc_load_constants('números');
echo UNO, DOS, TRES;
?>

El resultado del ejemplo sería:

123

Ver también

  • apc_define_constants() - Define un conjunto de constantes para recuperación y definición en masa
  • define() - Define una constante con nombre
  • constant() - Devuelve el valor de una constante
  • O la referencia de contantes de PHP

apc_inc
apc_sma_info
Funciones de APC


Recupera la información de la Asignación de Memoria Compartida de APC

apc_load_constants
apc_store
Funciones de APC
PHP Manual

apc_sma_info

(PECL apc >= 2.0.0)

apc_sma_info — Recupera la información de la Asignación de Memoria Compartida de APC

Descripción

array apc_sma_info ([ bool $limited = false ] )

Recupera la información de la Asignación de Memoria Compartida de APC.

Parámetros

limited

Cuando se establece a FALSE (predeterminado) apc_sma_info() devolverá información detallada sobre cada segmento.

Valores devueltos

Un array de información de Asignación de Memoria Compartida; FALSE en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de apc_sma_info()

<?php
print_r(apc_sma_info());
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [num_seg] => 1
    [seg_size] => 31457280
    [avail_mem] => 31448408
    [block_lists] => Array
        (
            [0] => Array
                (
                    [0] => Array
                        (
                            [size] => 31448408
                            [offset] => 8864
                        )

                )

        )

)

Ver también

  • Directivas de configuración de APC

apc_load_constants
apc_store
Funciones de APC


Guardar una variable en caché en el almacén de datos

apc_sma_info
APCIterator
Funciones de APC
PHP Manual

apc_store

(PECL apc >= 3.0.0)

apc_store — Guardar una variable en caché en el almacén de datos

Descripción

bool apc_store ( string $key , mixed $var [, int $ttl = 0 ] )
array apc_store ( array $values [, mixed $unused = NULL [, int $ttl = 0 ]] )

Guarda una variable en caché en el almacén de datos.

Nota: A diferencia de otros mecanismos de PHP, las variables almacenadas al usar apc_store() persistirán entre peticiones (hasta que el valor sea eliminado de la caché).

Parámetros

key

Almacena la variable usando este nombre. Las claves (keys) son únicas en la caché, por lo que almacenar un segundo valor con la misma clave dada por key sobrescribirá el valor original.

var

La variable a almacenar

ttl

Time To Live (Tiempo de Vida); almacena var en la caché durante ttl segundos. Después de que pase ttl, la variable almacenada será expurgada de la caché (en la siguiente solicitud). Si no se proporciona ttl (o si ttl es 0), el valor persistirá hasta que sea eliminado de la caché manualmente, o si no dejará de existir (al limpiar, reiniciar, etc.).

values

Nombres en clave, variables en valor.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. La segunda sintaxis devuelve un array con claves de errores.

Ejemplos

Ejemplo #1 Un ejemplo de apc_store()

<?php
$bar = 'BAR';
apc_store('foo', $bar);
var_dump(apc_fetch('foo'));
?>

El resultado del ejemplo sería:

string(3) "BAR"

Ver también

  • apc_add() - Poner una nueva variable en caché en el almacén de datos
  • apc_fetch() - Traer una variable almacenada desde la caché
  • apc_delete() - Elimina una variable almacenada de la caché

apc_sma_info
APCIterator
Funciones de APC


La clase APCIterator

(PECL apc >= 3.1.1)

Introducción

La clase APCIterator hace que sea más sencillo iterar sobre grandes cachés de APC. Esto es útilya que permite iterar sobre grandes cachés por pasos, mientras aprovecha un número definido de entradas por instancia de cierre, por lo que libera los cierres de caché para otras actividades, en vez de mantener la caché completa para aprovechar 100 (por defecto) entradas. También, usar comparaciones con expresiones regulares es más eficiente ya así se traslada al nivel de C.

Sinopsis de la Clase

APCIterator implements Iterator {
/* Methods */
public __construct ( string $cache [, mixed $search = null [, int $format = APC_ITER_ALL [, int $chunk_size = 100 [, int $list = APC_LIST_ACTIVE ]]]] )
public mixed current ( void )
public int getTotalCount ( void )
public int getTotalHits ( void )
public int getTotalSize ( void )
public string key ( void )
public void next ( void )
public void rewind ( void )
public void valid ( void )
}

Tabla de contenidos

  • APCIterator::__construct — Construye un objeto iterador APCIterator
  • APCIterator::current — Obtener el elemento actual
  • APCIterator::getTotalCount — Obtener la cuenta total
  • APCIterator::getTotalHits — Obtener el total de éxitos de la caché
  • APCIterator::getTotalSize — Obtener el tamaño total de la caché
  • APCIterator::key — Obtener la clave del iterador
  • APCIterator::next — Mover el puntero al siguiente elemento
  • APCIterator::rewind — Rebobina el iterator
  • APCIterator::valid — Comprueba si la posición acutal es válida
apc_store
APCIterator::__construct
APC


Construye un objeto iterador APCIterator

APCIterator
APCIterator::current
APCIterator
PHP Manual

APCIterator::__construct

(PECL apc >= 3.1.1)

APCIterator::__construct — Construye un objeto iterador APCIterator

Descripción

public APCIterator::__construct ( string $cache [, mixed $search = null [, int $format = APC_ITER_ALL [, int $chunk_size = 100 [, int $list = APC_LIST_ACTIVE ]]]] )

Construye un object APCIterator .

Parámetros

cache

El tipo de caché, que será user o file.

search

Una expresión regular de PCRE que se compara con nombres de claves de APC, como string para una única expresión regular, o como un array de expresiones regulares. O, opcionalmente, pase NULL para saltar la búsquda.

format

El formato deseado, como se configuró con una o más de las constantes APC_ITER_*.

chunk_size

El tamaño de trozo. Debe ser un valor mayor que 0. El valor predeterminado es 100.

list

El tipo a listar. Se puede pasar APC_LIST_ACTIVE o APC_LIST_DELETED.

Valores devueltos

Un object APCIterator en caso de éxito, o NULL en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de APCIterator::__construct()

<?php
foreach (new APCIterator('user', '/^counter\./') as $counter) {
    echo "$counter[key]: $counter[value]\n";
    apc_dec($counter['key'], $counter['value']);
}
?>

Ver también

  • apc_exists() - Comprobar si existe una clave de APC
  • apc_cache_info() - Recupera información que hay en caché del almacén de datos de APC
APCIterator
APCIterator::current
APCIterator


Obtener el elemento actual

APCIterator::__construct
APCIterator::getTotalCount
APCIterator
PHP Manual

APCIterator::current

(PECL apc >= 3.1.1)

APCIterator::current — Obtener el elemento actual

Descripción

public mixed APCIterator::current ( void )

Obtiene el elemento acutal de la pila de APCIterator.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el elemento actual en caso de éxito, o FALSE si no existen más elementos, o en caso de fallo.

Ver también

  • APCIterator::next() - Mover el puntero al siguiente elemento
  • Iterator::current() - Devuelve el elemento actual
APCIterator::__construct
APCIterator::getTotalCount
APCIterator


Obtener la cuenta total

APCIterator::current
APCIterator::getTotalHits
APCIterator
PHP Manual

APCIterator::getTotalCount

(PECL apc >= 3.1.1)

APCIterator::getTotalCount — Obtener la cuenta total

Descripción

public int APCIterator::getTotalCount ( void )

Obtiene la cuenta total.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La cuenta total..

Ver también

  • APCIterator::getTotalHits() - Obtener el total de éxitos de la caché
  • APCIterator::getTotalSize() - Obtener el tamaño total de la caché
  • apc_cache_info() - Recupera información que hay en caché del almacén de datos de APC
APCIterator::current
APCIterator::getTotalHits
APCIterator


Obtener el total de éxitos de la caché

APCIterator::getTotalCount
APCIterator::getTotalSize
APCIterator
PHP Manual

APCIterator::getTotalHits

(PECL apc >= 3.1.1)

APCIterator::getTotalHits — Obtener el total de éxitos de la caché

Descripción

public int APCIterator::getTotalHits ( void )

Obtiene el número total de éxitos de la caché.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El número de éxitos en caso de éxito, o FALSE en caso de fallo.

Ver también

  • APCIterator::getTotalCount() - Obtener la cuenta total
  • APCIterator::getTotalSize() - Obtener el tamaño total de la caché
  • apc_cache_info() - Recupera información que hay en caché del almacén de datos de APC
APCIterator::getTotalCount
APCIterator::getTotalSize
APCIterator


Obtener el tamaño total de la caché

APCIterator::getTotalHits
APCIterator::key
APCIterator
PHP Manual

APCIterator::getTotalSize

(PECL apc >= 3.1.1)

APCIterator::getTotalSize — Obtener el tamaño total de la caché

Descripción

public int APCIterator::getTotalSize ( void )

Obtiene el tamaño total de la caché.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El tamaño total de la caché.

Ver también

  • APCIterator::getTotalCount() - Obtener la cuenta total
  • APCIterator::getTotalHits() - Obtener el total de éxitos de la caché
  • apc_cache_info() - Recupera información que hay en caché del almacén de datos de APC
APCIterator::getTotalHits
APCIterator::key
APCIterator


Obtener la clave del iterador

APCIterator::getTotalSize
APCIterator::next
APCIterator
PHP Manual

APCIterator::key

(PECL apc >= 3.1.1)

APCIterator::key — Obtener la clave del iterador

Descripción

public string APCIterator::key ( void )

Obtiene la clave actual del iterador.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la clave en caso de éxito, o FALSE en caso de error.

Ver también

  • APCIterator::current() - Obtener el elemento actual
  • Iterator::key() - Devuelve la clave del elemento actual
APCIterator::getTotalSize
APCIterator::next
APCIterator


Mover el puntero al siguiente elemento

APCIterator::key
APCIterator::rewind
APCIterator
PHP Manual

APCIterator::next

(PECL apc >= 3.1.1)

APCIterator::next — Mover el puntero al siguiente elemento

Descripción

public void APCIterator::next ( void )

Mueve el puntero del iterador al siguiente elemento.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • APCIterator::current() - Obtener el elemento actual
  • APCIterator::rewind() - Rebobina el iterator
  • Iterator::next() - Avanza al siguiente elemento
APCIterator::key
APCIterator::rewind
APCIterator


Rebobina el iterator

APCIterator::next
APCIterator::valid
APCIterator
PHP Manual

APCIterator::rewind

(PECL apc >= 3.1.1)

APCIterator::rewind — Rebobina el iterator

Descripción

public void APCIterator::rewind ( void )

Rebobina el iterador hasta el primer elemento.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • APCIterator::next() - Mover el puntero al siguiente elemento
  • Iterator::next() - Avanza al siguiente elemento
APCIterator::next
APCIterator::valid
APCIterator


Comprueba si la posición acutal es válida

APCIterator::rewind
APD
APCIterator
PHP Manual

APCIterator::valid

(PECL apc >= 3.1.1)

APCIterator::valid — Comprueba si la posición acutal es válida

Descripción

public void APCIterator::valid ( void )

Comprueba si la posición actual del iterador es válida.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si la posición actual del iterador es válida, si no FALSE.

Ver también

  • APCIterator::current() - Obtener el elemento actual
  • Iterator::valid() - Comprueba si la posición actual es válido
APCIterator::rewind
APD
APCIterator


Depurador Avanzado de PHP

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Compilando en Win32
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Como usar PHP-APD en los scripts
  • Funciones de APD
    • apd_breakpoint — Detiene el interpretador y espera en un CR desde el socket
    • apd_callstack — Retorna la actual pila de llamado como una matriz
    • apd_clunk — Lanza una advertencia y una pila de llamado
    • apd_continue — Reinicia el interpretador
    • apd_croak — Lanza un error, una pila de lamado y entonces sale
    • apd_dump_function_table — Muestra la tabla de funciones actual
    • apd_dump_persistent_resources — Retorna todos los recursos persistentes como una matriz
    • apd_dump_regular_resources — Retorna todos los recursos regulares actuales como una matriz
    • apd_echo — Echo hacia el socket de depurado
    • apd_get_active_symbols — Obtener una matriz con los nombres de las variables actuales en el ámbito local
    • apd_set_pprof_trace — Inicia la sesión de depurado
    • apd_set_session_trace_socket — Inicia la sesión remota de depurado
    • apd_set_session_trace — Inicia la sesión de depurado
    • apd_set_session — Cambia o configura el nivel actual de depurado
    • override_function — Pasa por alto funciones integradas
    • rename_function — Renombra original_name como new_name en la tabla global de funciones
APCIterator::valid
Introducción
Afecta el comportamiento de PHP


Introducción

APD (por sus siglas en Inglés Advanced PHP Debugger) es el depurador avanzado de PHP. Fue escrito para brindar capacidades de análisis de performance y depurado para el código de PHP, así como para proveer la habilidad de mostrar un rastreo completo. APD soporta el depurado interactivo, pero por defecto escribe datos para rastrear los archivos. También ofrece un registro basado en eventos en el cual varios niveles de información (incluyendo llamados a funciones, argumentos pasados, tiempos, etc.) pueden ser activados o inactivados para scripts individuales.

Precaución

APD es una extensión de Zend que modifica la forma en que PHP maneja internamente el llamado a funciones y puede ser o no ser compatible con otras extensiones de Zend (por ejemplo Zend Optimizer).

APD
Instalación/Configuración
APD


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Compilando en Win32
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
APD


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/apd.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

En el archivo INI agregue las siguientes líneas:

zend_extension = /absolute/path/to/apd.so
apd.dumpdir = /absolute/path/to/trace/directory
apd.statement_tracing = 0

Dependiendo de la compilación de PHP, la directiva zend_extension puede ser una de las siguientes:

zend_extension              (non ZTS, non debug build)
zend_extension_ts           (    ZTS, non debug build)
zend_extension_debug        (non ZTS,     debug build)
zend_extension_debug_ts     (    ZTS,     debug build)

Requerimientos
Compilando en Win32
Instalación/Configuración


Compilando en Win32

Para compilar APD bajo Windows se necesita un ambiente de compilado de PHP que funcione tal como está descrito en http://php.net/ -- básicamente se requiere tener Microsoft Visual C++, win32build.zip, bison/flex y algún conocimiento sobre como logar que todo esto funcione. También se debe asegurar que adp.dsp tenga fines de línea tipo DOS; si son de tipo unix, Microsoft Visual C++ no lo reconocerá correctamente.

Instalación
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de Configuración de APD
Nombre | Por defecto | Cambiable | Historial de cambios
apd.dumpdir | NULL | PHP_INI_ALL |
apd.statement_tracing | "0" | PHP_INI_ALL | Disponible desde APD 0.9.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

apd.dumpdir string

Configura el directorio en el cual APS escribe los archivos de volcado del performance. Se puede especificar una ruta absoluta o una relativa.

Se puede especificar un directorio diferente como un argumento de apd_set_pprof_trace().

apd.statement_tracing boolean

Especifica si se hacen o no rastreos por línea. Activar esto (1) impactará en el desempeño de la aplicación.

Compilando en Win32
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Constantes APD
Constante | Valor | Descripción
FUNCTION_TRACE (integer) | 1 |
ARGS_TRACE (integer) | 2 |
ASSIGNMENT_TRACE (integer) | 4 |
STATEMENT_TRACE (integer) | 8 |
MEMORY_TRACE (integer) | 16 |
TIMING_TRACE (integer) | 32 |
SUMMARY_TRACE (integer) | 64 |
ERROR_TRACE (integer) | 128 |
PROF_TRACE (integer) | 256 |
APD_VERSION (string) | ejemplo: 1.0.2-dev |
Tipos de recursos
Ejemplos
APD


Ejemplos

Tabla de contenidos

  • Como usar PHP-APD en los scripts
Constantes predefinidas
Como usar PHP-APD en los scripts
APD


Como usar PHP-APD en los scripts

  1. Como primera línea del script PHP, llamar la función apd_set_pprof_trace() para iniciar el rastreo.

    <?php
    apd_set_pprof_trace    ();
    ?>

    Se puede insertar la línea en cualquier parte del script, pero si no se inicia el rastreo al comienzo, se descartarán los datos de depurado que pudieran llevar a determinar un cuello de botella del desempeño.

  2. Ahora se corre el script. La salida será escrita a apd.dumpdir/pprof_pid.ext.

    Sugerencia

    Si está corriendo la versión CGI de PHP, es necesario agregar la opción '-e' para activar la información extendida que APD requiere para trabajar apropiadamente. Por ejemplo: php -e -f script.php

  3. Para mostrar formateados los datos de performance, se envía el comando pprofp con las opciones de ordenado y presentación. La salida formateada se verá algo como esto:

    bash-2.05b$ pprofp -R /tmp/pprof.22141.0

Trace for /home/dan/testapd.php
Total Elapsed Time = 0.00
Total System Time  = 0.00
Total User Time    = 0.00

Real         User        System             secs/    cumm
%Time (excl/cumm)  (excl/cumm)  (excl/cumm) Calls    call    s/call  Memory Usage Name
--------------------------------------------------------------------------------------
100.0 0.00 0.00  0.00 0.00  0.00 0.00     1  0.0000   0.0009            0 main
56.9 0.00 0.00  0.00 0.00  0.00 0.00     1  0.0005   0.0005            0 apd_set_pprof_trace
28.0 0.00 0.00  0.00 0.00  0.00 0.00    10  0.0000   0.0000            0 preg_replace
14.3 0.00 0.00  0.00 0.00  0.00 0.00    10  0.0000   0.0000            0 str_replace

    La opción –R usada en este ejemplo, ordena la tabla del performance por la cantidad de tiempo real que el script gasta ejecutando una función dada. La columna "cumm call" revela cuantas veces cada función es llamada y la columna "s/call" muestra cuantos segundos requiere en promedio cada llamada a la función.

  4. Para generar un archivo de árbol de llamados que se pueda importar en la aplicación de análisis de perfil KCacheGrind, enviar el comando pprof2calltree.

Ejemplos
Funciones de APD
Ejemplos


Funciones de APD

Información de contacto

Si tiene comentarios, correcciones, mejoras o quiere ayudar a desarrollar esta bestia, puede enviar un correo a » apd@mail.communityconnect.com. Cualquier ayuda será muy bienvenida.

Tabla de contenidos

  • apd_breakpoint — Detiene el interpretador y espera en un CR desde el socket
  • apd_callstack — Retorna la actual pila de llamado como una matriz
  • apd_clunk — Lanza una advertencia y una pila de llamado
  • apd_continue — Reinicia el interpretador
  • apd_croak — Lanza un error, una pila de lamado y entonces sale
  • apd_dump_function_table — Muestra la tabla de funciones actual
  • apd_dump_persistent_resources — Retorna todos los recursos persistentes como una matriz
  • apd_dump_regular_resources — Retorna todos los recursos regulares actuales como una matriz
  • apd_echo — Echo hacia el socket de depurado
  • apd_get_active_symbols — Obtener una matriz con los nombres de las variables actuales en el ámbito local
  • apd_set_pprof_trace — Inicia la sesión de depurado
  • apd_set_session_trace_socket — Inicia la sesión remota de depurado
  • apd_set_session_trace — Inicia la sesión de depurado
  • apd_set_session — Cambia o configura el nivel actual de depurado
  • override_function — Pasa por alto funciones integradas
  • rename_function — Renombra original_name como new_name en la tabla global de funciones
Como usar PHP-APD en los scripts
apd_breakpoint
APD


Detiene el interpretador y espera en un CR desde el socket

Funciones de APD
apd_callstack
Funciones de APD
PHP Manual

apd_breakpoint

(PECL apd >= 0.2)

apd_breakpoint — Detiene el interpretador y espera en un CR desde el socket

Descripción

bool apd_breakpoint ( int $debug_level )

Esto puede ser usado para detener el corrido del script y esperar respuestas en el socket conectado. Para dar un paso en el programa, sólo se envía enter (una línea en blanco) o se entra un comando php para ser ejecutado.

Parámetros

debug_level

Un entero que es formado agregando al lado las constantes XXX_TRACE.

No se recomienda usar MEMORY_TRACE. Es muy lenta y no parece ser precisa. ASSIGNMENT_TRACE todavía no esta implementada.

Para activar todos los traces funcionales (TIMING, FUNCTIONS, ARGS SUMMARY (como strace -c)) use el valor 99

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Sesión típica usando tcplisten

bash#tcplisten localhost 7777

APD - Advanced PHP Debugger Trace File
---------------------------------------------------------------------------
Process Pid (6118)
Trace Begun at Sun Mar 10 23:13:12 2002
---------------------------------------------------------------------------
(  0.000000): apd_set_session_trace called at /home/alan/Projects/project2/test.
php:5
(  0.074824): apd_set_session_trace_socket() at /home/alan/Projects/project2/tes
t.php:5 returned.  Elapsed (0.074824)
(  0.074918): apd_breakpoint() /home/alan/Projects/project2/test.php:7
              ++ argv[0] $(??) = 9
apd_breakpoint() at /home/alan/Projects/project2/test.php:7 returned.  Elapsed (
-2089521468.1073275368)
>\n
statement: /home/alan/Projects/project2/test.php:8
>\n
statement: /home/alan/Projects/project2/test.php:8
>\n
statement: /home/alan/Projects/project2/test.php:10
>apd_echo($i);
EXEC: apd_echo($i);
0
>apd_echo(serialize(apd_get_active_symbols()));
EXEC:  apd_echo(serialize(apd_get_active_symbols()));
a:47:{i:0;s:4:"PWD";i:1;s:10:"COLORFGBG";i:2;s:11:"XAUTHORITY";i:3;s:14:"
COLORTERM_BCE";i:4;s:9:"WINDOWID";i:5;s:14:"ETERM_VERSION";i:6;s:16:"SE
SSION_MANAGER";i:7;s:4:"PS1";i:8;s:11:"GDMSESSION";i:9;s:5:"USER";i:10;s:5:"
MAIL";i:11;s:7:"OLDPWD";i:12;s:5:"LANG";i:13;s:10:"COLORTERM";i:14;s:8:"DISP
LAY";i:15;s:8:"LOGNAME";i:16;s:6:"
>apd_echo(system('ls /home/mydir'));
........
>apd_continue(0);

Funciones de APD
apd_callstack
Funciones de APD


Retorna la actual pila de llamado como una matriz

apd_breakpoint
apd_clunk
Funciones de APD
PHP Manual

apd_callstack

(PECL apd 0.2-0.4)

apd_callstack — Retorna la actual pila de llamado como una matriz

Descripción

array apd_callstack ( void )

Retorna la actual pila de llamado como una matriz

Valores devueltos

Una matriz que contiene la actual pila de llamado.

Ejemplos

Ejemplo #1 apd_callstack() ejemplo

<?php
print_r(apd_callstack());
?>

apd_breakpoint
apd_clunk
Funciones de APD


Lanza una advertencia y una pila de llamado

apd_callstack
apd_continue
Funciones de APD
PHP Manual

apd_clunk

(PECL apd 0.2-0.4)

apd_clunk — Lanza una advertencia y una pila de llamado

Descripción

void apd_clunk ( string $warning [, string $delimiter = "<BR />" ] )

Se comporta como el Carp::cluck de perl. Lanza una advertencia y una pila de llamado.

Parámetros

warning

La advertencia a lanzar.

delimiter

El delimitador. Por defecto es <BR />.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 apd_clunk() ejemplo

<?php
apd_clunk("Alguna advertencia", "<br/>");
?>

Ver también

  • apd_croak() - Lanza un error, una pila de lamado y entonces sale

apd_callstack
apd_continue
Funciones de APD


Reinicia el interpretador

apd_clunk
apd_croak
Funciones de APD
PHP Manual

apd_continue

(PECL apd >= 0.2)

apd_continue — Reinicia el interpretador

Descripción

bool apd_continue ( int $debug_level )

Usualmente enviado vía el socket para reiniciar el interpretador.

Parámetros

debug_level

Un entero que es formado agregando al lado las constantes XXX_TRACE.

No se recomienda usar MEMORY_TRACE. Es muy lenta y no parece ser precisa. ASSIGNMENT_TRACE todavía no esta implementada.

Para activar todos los traces funcionales (TIMING, FUNCTIONS, ARGS SUMMARY (como strace -c)) use el valor 99

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 apd_continue() ejemplo

<?php
apd_continue(0);
?>

apd_clunk
apd_croak
Funciones de APD


Lanza un error, una pila de lamado y entonces sale

apd_continue
apd_dump_function_table
Funciones de APD
PHP Manual

apd_croak

(PECL apd 0.2-0.4)

apd_croak — Lanza un error, una pila de lamado y entonces sale

Descripción

void apd_croak ( string $warning [, string $delimiter = "<BR />" ] )

Se comporta como el Carp::croak de perl. Lanza un error, una pila de lamado y entonces sale.

Parámetros

warning

La advertencia a lanzar.

delimiter

El delimitador. Por defecto es <BR />.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 apd_croak() ejemplo

<?php
apd_croak("Alguna advertencia","<P>");
?>

Ver también

  • apd_clunk() - Lanza una advertencia y una pila de llamado

apd_continue
apd_dump_function_table
Funciones de APD


Muestra la tabla de funciones actual

apd_croak
apd_dump_persistent_resources
Funciones de APD
PHP Manual

apd_dump_function_table

(Unknown)

apd_dump_function_table — Muestra la tabla de funciones actual

Descripción

void apd_dump_function_table ( void )

Muestra la tabla de funciones actual.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 apd_dump_function_table() ejemplo

<?php
apd_dump_function_table();
?>

apd_croak
apd_dump_persistent_resources
Funciones de APD


Retorna todos los recursos persistentes como una matriz

apd_dump_function_table
apd_dump_regular_resources
Funciones de APD
PHP Manual

apd_dump_persistent_resources

(PECL apd 0.2-0.4)

apd_dump_persistent_resources — Retorna todos los recursos persistentes como una matriz

Descripción

array apd_dump_persistent_resources ( void )

Retorna todos los recursos persistentes como una matriz.

Valores devueltos

Una matriz conteniendo la pila de llamada actual.

Ejemplos

Ejemplo #1 apd_dump_persistent_resources() ejemplo

<?php
print_r(apd_dump_persistent_resources());
?>

Ver también

  • apd_dump_regular_resources() - Retorna todos los recursos regulares actuales como una matriz

apd_dump_function_table
apd_dump_regular_resources
Funciones de APD


Retorna todos los recursos regulares actuales como una matriz

apd_dump_persistent_resources
apd_echo
Funciones de APD
PHP Manual

apd_dump_regular_resources

(PECL apd 0.2-0.4)

apd_dump_regular_resources — Retorna todos los recursos regulares actuales como una matriz

Descripción

array apd_dump_regular_resources ( void )

Retorna todos los recursos regulares actuales como una matriz.

Valores devueltos

Una matriz conteniendo los recursos regulares actuales.

Ejemplos

Ejemplo #1 apd_dump_regular_resources() ejemplo

<?php
print_r(apd_dump_regular_resources());
?>

Ver también

  • apd_dump_persistent_resources() - Retorna todos los recursos persistentes como una matriz

apd_dump_persistent_resources
apd_echo
Funciones de APD


Echo hacia el socket de depurado

apd_dump_regular_resources
apd_get_active_symbols
Funciones de APD
PHP Manual

apd_echo

(PECL apd >= 0.2)

apd_echo — Echo hacia el socket de depurado

Descripción

bool apd_echo ( string $output )

Usualmente es enviado por medio del socket para requerir información acerca del script que esta corriendo.

Parámetros

output

La variable depurada.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 apd_echo() ejemplo

<?php
apd_echo($i);
?>

apd_dump_regular_resources
apd_get_active_symbols
Funciones de APD


Obtener una matriz con los nombres de las variables actuales en el ámbito local

apd_echo
apd_set_pprof_trace
Funciones de APD
PHP Manual

apd_get_active_symbols

(PECL apd 0.2)

apd_get_active_symbols — Obtener una matriz con los nombres de las variables actuales en el ámbito local

Descripción

array apd_get_active_symbols ( void )

Devuelve los nombres de todas las variables definidas en el ámbito activo, (no sus valores).

Valores devueltos

Una matriz multidimensional con todas las variables.

Ejemplos

Ejemplo #1 apd_get_active_symbols() ejemplo

<?php
apd_echo(apd_get_active_symbols());
?>

apd_echo
apd_set_pprof_trace
Funciones de APD


Inicia la sesión de depurado

apd_get_active_symbols
apd_set_session_trace_socket
Funciones de APD
PHP Manual

apd_set_pprof_trace

(PECL apd >= 0.2)

apd_set_pprof_trace — Inicia la sesión de depurado

Descripción

string apd_set_pprof_trace ([ string $dump_directory = ini_get("apd.dumpdir") [, string $fragment = "pprof" ]] )

Inicia el depurado al archivo pprof_{process_id} en el directorio de volcado.

Parámetros

dump_directory

El directorio en el cual el archivo del volcado del análisis es escrito. Si no se especifica, la configuración apd.dumpdir del archivo php.ini será usada.

fragment

Valores devueltos

Retorna la ruta del archivo de destino.

Ejemplos

Ejemplo #1 apd_set_pprof_trace() ejemplo

<?php
apd_set_pprof_trace();
?>

Ver también

  • apd_set_session_trace() - Inicia la sesión de depurado

apd_get_active_symbols
apd_set_session_trace_socket
Funciones de APD


Inicia la sesión remota de depurado

apd_set_pprof_trace
apd_set_session_trace
Funciones de APD
PHP Manual

apd_set_session_trace_socket

(PECL apd >= 0.2)

apd_set_session_trace_socket — Inicia la sesión remota de depurado

Descripción

bool apd_set_session_trace_socket ( string $tcp_server , int $socket_type , int $port , int $debug_level )

Conecta al servidor tcp_server especificado (p.ej. tcplisten) y envía los datos de depurado al socket.

Parámetros

tcp_server

Socket IP o Unix Domain (como un archivo) del servidor TCP.

socket_type

Puede ser AF_UNIX para sockets basados en archivos o APD_AF_INET para tcp/ip estándar.

port

Se puede usar cualquier puerto, pero números más altos son mejores dado que la mayoría de los números bajos pueden estar siendo usados por otros servicios del sistema.

debug_level

Un entero que es formado agregando al lado las constantes XXX_TRACE.

No se recomienda usar MEMORY_TRACE. Es muy lenta y no parece ser precisa. ASSIGNMENT_TRACE todavía no esta implementada.

Para activar todos los traces funcionales (TIMING, FUNCTIONS, ARGS SUMMARY (como strace -c)) use el valor 99

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 apd_set_session_trace_socket() ejemplo

<?php
  apd_set_session_trace_socket("127.0.0.1",APD_AF_INET,7112,0);
?>

apd_set_pprof_trace
apd_set_session_trace
Funciones de APD


Inicia la sesión de depurado

apd_set_session_trace_socket
apd_set_session
Funciones de APD
PHP Manual

apd_set_session_trace

(PECL apd 0.2-0.4)

apd_set_session_trace — Inicia la sesión de depurado

Descripción

void apd_set_session_trace ( int $debug_level [, string $dump_directory = ini_get("apd.dumpdir") ] )

Inicia el depurado al archivo apd_dump_{process_id} en el directorio de volcado.

Parámetros

debug_level

Un entero que es formado agregando al lado las constantes XXX_TRACE.

No se recomienda usar MEMORY_TRACE. Es muy lenta y no parece ser precisa. ASSIGNMENT_TRACE todavía no esta implementada.

Para activar todos los traces funcionales (TIMING, FUNCTIONS, ARGS SUMMARY (como strace -c)) use el valor 99

dump_directory

El directorio en el cual el archivo del volcado del análisis es escrito. Si no se especifica, la configuración apd.dumpdir del archivo php.ini será usada.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 apd_set_session_trace() ejemplo

<?php
apd_set_session_trace(99);
?>

apd_set_session_trace_socket
apd_set_session
Funciones de APD


Cambia o configura el nivel actual de depurado

apd_set_session_trace
override_function
Funciones de APD
PHP Manual

apd_set_session

(PECL apd 0.2-0.4)

apd_set_session — Cambia o configura el nivel actual de depurado

Descripción

void apd_set_session ( int $debug_level )

Esto puede ser usado para incrementar o disminuir el depurado en un área diferente de la aplicación.

Parámetros

debug_level

Un entero que es formado agregando al lado las constantes XXX_TRACE.

No se recomienda usar MEMORY_TRACE. Es muy lenta y no parece ser precisa. ASSIGNMENT_TRACE todavía no esta implementada.

Para activar todos los traces funcionales (TIMING, FUNCTIONS, ARGS SUMMARY (como strace -c)) use el valor 99

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 apd_set_session() ejemplo

<?php
apd_set_session(9);
?>

apd_set_session_trace
override_function
Funciones de APD


Pasa por alto funciones integradas

apd_set_session
rename_function
Funciones de APD
PHP Manual

override_function

(PECL apd >= 0.2)

override_function — Pasa por alto funciones integradas

Descripción

bool override_function ( string $function_name , string $function_args , string $function_code )

Pasa por alto funciones integradas al reemplazarlas en la tabla de símbolos.

Parámetros

function_name

La función para pasar por alto.

function_args

Los argumentos de la función, como una cadena separada por comas.

Usualmente se pasa este parámetro así como el parámetro function_code, como una sola cadena entre comillas simples. La razón para usar cadenas entre comillas simples es para proteger los nombres de variables del análisis sintáctico, de otra manera, si se utilizan comillas dobles sería necesario usar secuencias de escape en los nombres de las variables, como por ejemplo: \$your_var.

function_code

El nuevo código para la función.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 override_function() ejemplo

<?php
override_function('test', '$a,$b', 'echo "DOING TEST"; return $a * $b;');
?>

apd_set_session
rename_function
Funciones de APD


Renombra original_name como new_name en la tabla global de funciones

override_function
bcompiler
Funciones de APD
PHP Manual

rename_function

(PECL apd >= 0.2)

rename_function — Renombra original_name como new_name en la tabla global de funciones

Descripción

bool rename_function ( string $original_name , string $new_name )

Renombra original_name como new_name en la tabla global de funciones. Es útil para temporalmente pasar por alto funciones integradas.

Parámetros

original_name

El nombre original de la función.

new_name

El nuevo nombre para la función original_name.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 rename_function() ejemplo

<?php
rename_function('mysql_connect', 'debug_mysql_connect' );
?>

override_function
bcompiler
Funciones de APD


Compilador de código de bytes de PHP (bcompiler)

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de bcompiler
    • bcompiler_load_exe — Lee y crea clases desde un archivo exe de bcompiler
    • bcompiler_load — Lee y crea clases desde un archivo comprimido con bz
    • bcompiler_parse_class — Lee el código de bytes de una clase y realiza una llamada de retorno a una función de usuario
    • bcompiler_read — Lee y crea clases ded un gestor de archivo
    • bcompiler_write_class — Escribe una clase definida como código de bytes
    • bcompiler_write_constant — Escribe una constante definida como código de bytes
    • bcompiler_write_exe_footer — Escribe la posición de inicio y la firma al final de un archivo de tipo exe
    • bcompiler_write_file — EScribe un archivo fuente de php como código de bytes
    • bcompiler_write_footer — Escribe el carácter \x00 para indicar el Final de los datos compilados
    • bcompiler_write_function — Escribe una función definida como código de bytes
    • bcompiler_write_functions_from_file — Escribe todas las funciones definidas en un archivo como código de bytes
    • bcompiler_write_header — Escribe la cabecera de bcompiler
    • bcompiler_write_included_filename — Escribe un archivo incluido como código de bytes
rename_function
Introducción
Afecta el comportamiento de PHP


Introducción

Advertencia

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombres de sus funciones y todo lo documentado sobre esta extensión, puede cambiar en una futura edición de PHP sin previo aviso. El uso de esta extensión queda bajo su propia responsabilidad.

Bcompiler ha sido escrito por varias razones:

  • Para codificar un script completamente en una aplicación PHP propietaria
  • Para codificar algunas clases y/o funciones en una aplicación PHP propietaria
  • Para habilitar la producción de aplicaciones php-gtk que podrían usarse en escritorios clientes, sin la necesidad de un php.exe.
  • Para hacer el estudio de viabilidad para un convertidor de PHP a C
La primera de las metas se alcanza usando las funciones bcompiler_write_header(), bcompiler_write_file() y bcompiler_write_footer(). Los archivos de códgio de bytes pueden ser escritos como no comprimidos o planos. Para usar el código de bytes generado simplemente debe incluirlo con sentencias include o require.

La segunda de estas metas se alcanza usando las funciones bcompiler_write_header(), bcompiler_write_class(), bcompiler_write_footer(), bcompiler_read(), y bcompiler_load(). Los archivos de código de bytes pueden ser escritos como no comprimidos o planos. bcompiler_load() Lee un archivo de código de bytes bzip comprimido, el cuál tiende a ser 1/3 del tamaño del archivo original.

Para crear archivos tipo EXE, bcompiler tiene que usarse con un archivo sapi modificado o una versión de PHP que haya sido compilada como un biblioteca compartida. En este escenario, bcompiler lee el código de bytes comprimido del final del archivo exe.

Bcompiler puede mejorar el rendimiento en un 30% cuando se usa solamente con código de bytes sin comprimir. Pero tenga en cuenta que el código de byte sin comprimir puede ser hasta 5 veces más largo que el código fuente original. Usar la comprensión de código de bytes puede ahorrar espacio, pero la descompresión requiere mucho más tiempo que analizar una fuente. bcompiler tampoco realiza ninguna optimización de código de byte, esto podría añadirse en el futuro...

En términos de protección de código es seguro decir que sería imposible recrear el código fuente exacto desde donde se construyó, y sin los comentarios que acompañan al código fuente. Sería inútil usar los códigos de bytes de bcompiler para recrear y modificar una clase. Sin embargo, es posible recuperar información de un archivo de código de bytes contruido con bcompiler - por lo que no ponga sus contraseñas privadas o similares en él.

bcompiler
Instalación/Configuración
bcompiler


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
bcompiler


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/bcompiler.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración definidas en php.ini.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Funciones de bcompiler
bcompiler


Funciones de bcompiler

Información de Contacto

Si tiene algún comentario, alguna corrección de un error, alguna mejora o quiere ayudar a desarrollar esta bestia, puede mandarme un mail a » alan_k@php.net. Cualquier ayuda es siempre bienvenida.

Tabla de contenidos

  • bcompiler_load_exe — Lee y crea clases desde un archivo exe de bcompiler
  • bcompiler_load — Lee y crea clases desde un archivo comprimido con bz
  • bcompiler_parse_class — Lee el código de bytes de una clase y realiza una llamada de retorno a una función de usuario
  • bcompiler_read — Lee y crea clases ded un gestor de archivo
  • bcompiler_write_class — Escribe una clase definida como código de bytes
  • bcompiler_write_constant — Escribe una constante definida como código de bytes
  • bcompiler_write_exe_footer — Escribe la posición de inicio y la firma al final de un archivo de tipo exe
  • bcompiler_write_file — EScribe un archivo fuente de php como código de bytes
  • bcompiler_write_footer — Escribe el carácter \x00 para indicar el Final de los datos compilados
  • bcompiler_write_function — Escribe una función definida como código de bytes
  • bcompiler_write_functions_from_file — Escribe todas las funciones definidas en un archivo como código de bytes
  • bcompiler_write_header — Escribe la cabecera de bcompiler
  • bcompiler_write_included_filename — Escribe un archivo incluido como código de bytes
Constantes predefinidas
bcompiler_load_exe
bcompiler


Lee y crea clases desde un archivo exe de bcompiler

Funciones de bcompiler
bcompiler_load
Funciones de bcompiler
PHP Manual

bcompiler_load_exe

(PECL bcompiler >= 0.4)

bcompiler_load_exe — Lee y crea clases desde un archivo exe de bcompiler

Descripción

bool bcompiler_load_exe ( string $filename )

Lee la información de un archivo exe de bcompiler y crea clases desde el código de bytes.

Parámetros

filename

La ruta al archivo exe, como cadena.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de bcompiler_load_exe()

<?php

bcompiler_load_exe("/tmp/ejemplo.exe");
print_r(get_defined_classes());

?>

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ver también

  • bcompiler_load() - Lee y crea clases desde un archivo comprimido con bz

Funciones de bcompiler
bcompiler_load
Funciones de bcompiler


Lee y crea clases desde un archivo comprimido con bz

bcompiler_load_exe
bcompiler_parse_class
Funciones de bcompiler
PHP Manual

bcompiler_load

(PECL bcompiler >= 0.4)

bcompiler_load — Lee y crea clases desde un archivo comprimido con bz

Descripción

bool bcompiler_load ( string $filename )

Lee la información de un archivo bz comprimido y crear clases desde el código de bytes.

Parámetros

filename

La ruta al archivo bz comprimido, como cadena.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de bcompiler_load()

<?php

bcompiler_load("/tmp/ejemplo");

print_r(get_defined_classes());

?>

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Nota:

Por favor, use las sentencias include o require para analizar el código de bytes, es una manera más portable y conveniente que usar esta función.

Por favor, observe que esta función no ejecutará código del cuerpo de un script que contenido en el archivo de código de bytes.

Ver también

  • bcompiler_load_exe() - Lee y crea clases desde un archivo exe de bcompiler

bcompiler_load_exe
bcompiler_parse_class
Funciones de bcompiler


Lee el código de bytes de una clase y realiza una llamada de retorno a una función de usuario

bcompiler_load
bcompiler_read
Funciones de bcompiler
PHP Manual

bcompiler_parse_class

(PECL bcompiler >= 0.4)

bcompiler_parse_class — Lee el código de bytes de una clase y realiza una llamada de retorno a una función de usuario

Descripción

bool bcompiler_parse_class ( string $class , string $callback )

Lee el código de bytes de una clase y realiza una llamada de retorno a una función de usuario.

Parámetros

class

El nombre de la clase, como cadena.

callback

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de bcompiler_parse_class()

<?php

function leerCódigoBytes($datos) {
    print_r($datos);
}

bcompiler_parse_class("DB","leerCódigoBytes");

?>

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Nota:

Esta función ha sido eliminada de bcompiler y ya no está disponible a partir de bcompiler 0.5.

bcompiler_load
bcompiler_read
Funciones de bcompiler


Lee y crea clases ded un gestor de archivo

bcompiler_parse_class
bcompiler_write_class
Funciones de bcompiler
PHP Manual

bcompiler_read

(PECL bcompiler >= 0.4)

bcompiler_read — Lee y crea clases ded un gestor de archivo

Descripción

bool bcompiler_read ( resource $filehandle )

Lee información desde un gestor de archivo abierto y crea clases desde el código de bytes.

Parámetros

filehandle

Un gestor de archivo como el devuelto por fopen().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de bcompiler_read()

<?php
$fh = fopen("/tmp/example","r");
bcompiler_read($fh);
fclose($fh);
print_r(get_defined_classes());

?>

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Nota:

Por favor, use las sentencias include o require para analizar el código de bytes, es una manera más portable y conveniente que usar esta función.

Por favor, observe que esta función no ejecutará código del cuerpo de un script que contenido en el archivo de código de bytes.

bcompiler_parse_class
bcompiler_write_class
Funciones de bcompiler


Escribe una clase definida como código de bytes

bcompiler_read
bcompiler_write_constant
Funciones de bcompiler
PHP Manual

bcompiler_write_class

(PECL bcompiler >= 0.4)

bcompiler_write_class — Escribe una clase definida como código de bytes

Descripción

bool bcompiler_write_class ( resource $filehandle , string $className [, string $extends ] )

Lee el código de bytes de una clase existente de PHP y lo escribe en el gestor de archivo abierto.

Parámetros

filehandle

Un gestor de archivo como el devuelto por fopen().

className

El nombre de la clase, como cadena.

extends

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de bcompiler_write_class()

<?php
$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_class($fh,"DB");
// debe escribir DB_common antes de DB_mysql, ya que DB_mysql extiende DB_common.
bcompiler_write_class($fh,"DB_common");
bcompiler_write_class($fh,"DB_mysql");
bcompiler_write_footer($fh);
fclose($fh);

?>

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Nota:

Esta función no realiza una comprobación de dependencia, por lo que asegúrese de escribir las clases en un orden que no resulte en un error undefined class cuando lo cargue.

Ver también

  • bcompiler_write_header() - Escribe la cabecera de bcompiler
  • bcompiler_write_footer() - Escribe el carácter \x00 para indicar el Final de los datos compilados

bcompiler_read
bcompiler_write_constant
Funciones de bcompiler


Escribe una constante definida como código de bytes

bcompiler_write_class
bcompiler_write_exe_footer
Funciones de bcompiler
PHP Manual

bcompiler_write_constant

(PECL bcompiler >= 0.5)

bcompiler_write_constant — Escribe una constante definida como código de bytes

Descripción

bool bcompiler_write_constant ( resource $filehandle , string $constantName )

Lee el código de bytes de una constante existente de PHP y lo escribe al gestor de archivo abierto.

Parámetros

filehandle

Un gestor de archivo como el devuelto por fopen().

constantName

El nombre de la constante definida, como cadena.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de bcompiler_write_constant()

<?php
define("MODULE_MAX", 30);

$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_constant($fh,"MODULE_MAX");
bcompiler_write_footer($fh);
fclose($fh);

?>

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ver también

  • bcompiler_write_header() - Escribe la cabecera de bcompiler
  • bcompiler_write_footer() - Escribe el carácter \x00 para indicar el Final de los datos compilados

bcompiler_write_class
bcompiler_write_exe_footer
Funciones de bcompiler


Escribe la posición de inicio y la firma al final de un archivo de tipo exe

bcompiler_write_constant
bcompiler_write_file
Funciones de bcompiler
PHP Manual

bcompiler_write_exe_footer

(PECL bcompiler >= 0.4)

bcompiler_write_exe_footer — Escribe la posición de inicio y la firma al final de un archivo de tipo exe

Descripción

bool bcompiler_write_exe_footer ( resource $filehandle , int $startpos )

Un archivo EXE (o auto-ejecutable) consiste en 3 partes:

  • El stub (código ejecutable, p.ej. un programa compilado en C) que carga el intérprete de PHP, la extensión de bcompiler, el Códogo de Bytes almacenado e inicia una llamada a la función (p.ej. main) o método de clase (p.ej. main::main) especificados.
  • El Código de Bytes (sin comprimir sólo por el momento)
  • El pie EXE de bcompiler

Para obtener un stub apropiado se puede compilar el stub basado en php embebido phpe.c ubicado en el directorio examples/embed del CVS de bcompiler.

Parámetros

filehandle

Un gestor de archivo como el devuelto por fopen().

startpos

La posición del archivo en la que comienza el Código De Bytes, y se puede obtener usando ftell().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de bcompiler_write_exe_footer()

<?php

/* crear el archivo de salida (ejemplo.exe) */
$fh = fopen("ejemplo.exe", "w");

/* 1) escribir un stub (phpe.exe) */
$size = filesize("phpe.exe");
$fr = fopen("phpe.exe", "r");
fwrite($fh, fread($fr, $size), $size);
$startpos = ftell($fh);

/* 2) escribir el código de bytes */
bcompiler_write_header($fh);
bcompiler_write_class($fh, "miclase");
bcompiler_write_function($fh, "main");
bcompiler_write_footer($fh);

/* 3) escribir el pie del EXE */
bcompiler_write_exe_footer($fh, $startpos);

/* cerrar el archivo de salida */
fclose($fh);
?>

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ver también

  • bcompiler_write_header() - Escribe la cabecera de bcompiler
  • bcompiler_write_class() - Escribe una clase definida como código de bytes
  • bcompiler_write_footer() - Escribe el carácter \x00 para indicar el Final de los datos compilados

bcompiler_write_constant
bcompiler_write_file
Funciones de bcompiler


EScribe un archivo fuente de php como código de bytes

bcompiler_write_exe_footer
bcompiler_write_footer
Funciones de bcompiler
PHP Manual

bcompiler_write_file

(PECL bcompiler >= 0.6)

bcompiler_write_file — EScribe un archivo fuente de php como código de bytes

Descripción

bool bcompiler_write_file ( resource $filehandle , string $filename )

Esta función compila el archivo fuente especificado en código de bytes y lo escribe al gestor de archivo abierto.

Parámetros

filehandle

Un gestor de archivo como el devuelto por fopen().

filename

La ruta al archivo fuente, como cadena.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de bcompiler_write_file()

<?php
$fh = fopen("ejemplo.phb", "w");
bcompiler_write_header($fh);
bcompiler_write_file($fh, "ejemplo.php");
bcompiler_write_footer($fh);
fclose($fh);
/* lo siguiente debería ser equivalente:
include "ejemplo.php";
   y
include "ejemplo.phb";
*/
?>

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ver también

  • bcompiler_write_header() - Escribe la cabecera de bcompiler
  • bcompiler_write_footer() - Escribe el carácter \x00 para indicar el Final de los datos compilados

bcompiler_write_exe_footer
bcompiler_write_footer
Funciones de bcompiler


Escribe el carácter \x00 para indicar el Final de los datos compilados

bcompiler_write_file
bcompiler_write_function
Funciones de bcompiler
PHP Manual

bcompiler_write_footer

(PECL bcompiler >= 0.4)

bcompiler_write_footer — Escribe el carácter \x00 para indicar el Final de los datos compilados

Descripción

bool bcompiler_write_footer ( resource $filehandle )

Escribe el carácter \x00 para indicar el Final de los datos compilados.

Parámetros

filehandle

Un gestor de archivo como el devuelto por fopen().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de bcompiler_write_footer()

<?php
$fh = fopen("/tmp/ejemplo","w");
bcompiler_write_header($fh);
bcompiler_write_class($fh,"DB");
bcompiler_write_class($fh,"DB_common");
bcompiler_write_footer($fh);
fclose($fh);

?>

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ver también

  • bcompiler_write_header() - Escribe la cabecera de bcompiler

bcompiler_write_file
bcompiler_write_function
Funciones de bcompiler


Escribe una función definida como código de bytes

bcompiler_write_footer
bcompiler_write_functions_from_file
Funciones de bcompiler
PHP Manual

bcompiler_write_function

(PECL bcompiler >= 0.5)

bcompiler_write_function — Escribe una función definida como código de bytes

Descripción

bool bcompiler_write_function ( resource $filehandle , string $functionName )

Lee el código de bytes de una función existente de PHP y lo escribe al gestor de archivo abierto. El orden no es importante, (p.ej. si la función b utiliza la función a, y se compila como en el ejemplo de abajo, funcionará perfectamente).

Parámetros

filehandle

Un gestor de archivo como el devuelto por fopen().

functionName

El nombre de la función, como cadena.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de bcompiler_write_function()

<?php
$fh = fopen("/tmp/ejemplo","w");
bcompiler_write_header($fh);
bcompiler_write_function($fh,"mi_función_a");
bcompiler_write_function($fh,"mi_función_b");
bcompiler_write_footer($fh);
fclose($fh);

?>

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ver también

  • bcompiler_write_header() - Escribe la cabecera de bcompiler
  • bcompiler_write_footer() - Escribe el carácter \x00 para indicar el Final de los datos compilados

bcompiler_write_footer
bcompiler_write_functions_from_file
Funciones de bcompiler


Escribe todas las funciones definidas en un archivo como código de bytes

bcompiler_write_function
bcompiler_write_header
Funciones de bcompiler
PHP Manual

bcompiler_write_functions_from_file

(PECL bcompiler >= 0.5)

bcompiler_write_functions_from_file — Escribe todas las funciones definidas en un archivo como código de bytes

Descripción

bool bcompiler_write_functions_from_file ( resource $filehandle , string $fileName )

Busca todas las funciones declaradas en el archivo dado y escribe sus códigos de bytes correspondientes a un gestor de archivo abierto.

Parámetros

filehandle

Un gestor de archivo como el devuelto por fopen().

fileName

El archivo a compilar. Se debe usar siempre include o require para el archivo que se intenta compilar.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de bcompiler_write_functions_from_file()

<?php
require('module.php');

$fh = fopen("/tmp/ejemplo","w");
bcompiler_write_header($fh);
bcompiler_write_functions_from_file($fh,'module.php');
bcompiler_write_footer($fh);
fclose($fh);

?>

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ver también

  • bcompiler_write_header() - Escribe la cabecera de bcompiler
  • bcompiler_write_footer() - Escribe el carácter \x00 para indicar el Final de los datos compilados

bcompiler_write_function
bcompiler_write_header
Funciones de bcompiler


Escribe la cabecera de bcompiler

bcompiler_write_functions_from_file
bcompiler_write_included_filename
Funciones de bcompiler
PHP Manual

bcompiler_write_header

(PECL bcompiler >= 0.3)

bcompiler_write_header — Escribe la cabecera de bcompiler

Descripción

bool bcompiler_write_header ( resource $filehandle [, string $write_ver ] )

Escribe la parte de la cabecera de una archivo bcompiler.

Parámetros

filehandle

Un gestor de archivo como el devuelto por fopen().

write_ver

Se puede usar para escribir código de bytes en un formato usado anteriormente, por lo que lo puede usar con versiones anteriores de bcompiler.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de bcompiler_write_header()

<?php
$fh = fopen("/tmp/ejemplo","w");
bcompiler_write_header($fh);
bcompiler_write_class($fh,"DB");
bcompiler_write_footer($fh);
fclose($fh);

?>

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ver también

  • bcompiler_write_footer() - Escribe el carácter \x00 para indicar el Final de los datos compilados

bcompiler_write_functions_from_file
bcompiler_write_included_filename
Funciones de bcompiler


Escribe un archivo incluido como código de bytes

bcompiler_write_header
BLENC
Funciones de bcompiler
PHP Manual

bcompiler_write_included_filename

(PECL bcompiler >= 0.5)

bcompiler_write_included_filename — Escribe un archivo incluido como código de bytes

Descripción

bool bcompiler_write_included_filename ( resource $filehandle , string $filename )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

bcompiler_write_header
BLENC
Funciones de bcompiler


Blenc - BLowfish ENCoder for PHP source scripts

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Blenc Funciones
    • blenc_encrypt — Encripta un script PHP con BLENC.
bcompiler_write_included_filename
Introducción
Afecta el comportamiento de PHP


Introducción

Advertencia

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombres de sus funciones y todo lo documentado sobre esta extensión, puede cambiar en una futura edición de PHP sin previo aviso. El uso de esta extensión queda bajo su propia responsabilidad.

BLENC is a PHP source script protector that:

  • Encodes your source code with the blowfish algorithm.
  • Allows transparent decryption and execution of PHP scripts previously encoded with BLENC.

BLENC is an extension which hooks into the Zend Engine, allowing for transparent encryption and execution of PHP scripts using the blowfish algorithm. It is not designed for complete security (it is still possible to disassemble the script into op codes using a package such as XDebug), however it does keep people out of your code and make reverse engineering difficult.

In order to protect your PHP script you must encrypt each script with blenc_encrypt() function. After you can include the encoded script like the example below:

<?php

/* PHP script encoded with BLENC */
$my_source_encoded = 'my_source_encoded.phpe';

include($my_source_encoded);
?>

BLENC supports also expiration time for the module. So, if you want deploy your source code with a expiration time, you have to compile the extension modifying the header file related to encryption and expiration time. Please see configuration section for further informations.

BLENC
Instalación/Configuración
BLENC


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
BLENC


Requerimientos

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/blenc

It's strongly recommended to install BLENC from sources without 'pecl' command. In this way you can:

  • Specify your personal encryption key used to create redistributable keys. Your sourcecode will be more difficult to decrypt also for users that can read your key_file on webserver.
  • Specify a expiration date for the BLENC module. With expiration date you can decide that BLENC module on target system will work until a date. After that BLENC will not decrypt any files.
All these configuration options are stored into header file: blenc_protect.h

Please read the content of blenc_protect.h in sources of BLENC to know how set these hardcoded options.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Blenc Opciones de configuración
Nombre | Por defecto | Cambiable | Historial de cambios
blenc.key_file | /usr/local/etc/blenckeys | PHP_INI_ALL |

He aquí una breve explicación de las directivas de configuración.

blenc.key_file string

It's the location where BLENC can find the file containing a list of available decryption keys. This file must be readable by webserver.

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

BLENC_EXT_VERSION (string)

Tipos de recursos
Blenc Funciones
BLENC


Blenc Funciones

Tabla de contenidos

  • blenc_encrypt — Encripta un script PHP con BLENC.
Constantes predefinidas
blenc_encrypt
BLENC


Encripta un script PHP con BLENC.

Blenc Funciones
Manejo de errores
Blenc Funciones
PHP Manual

blenc_encrypt

(PECL blenc >= 5)

blenc_encrypt — Encripta un script PHP con BLENC.

Descripción

string blenc_encrypt ( string $plaintext , string $encodedfile [, string $encryption_key ] )

Encripta el contenido del texto sin formato y lo escribe en un fichero codificado

Parámetros

plaintext

El código fuente a encriptar. No necesita contener etiquetas PHP de abertura/cierre

encodedfile

El nombre del fichero donde BLENC grabará el código codificado.

encryption_key

La clave que utilizará BLENC para encriptar el texto. Si no se especifica BLENC creará una clave válida.

Valores devueltos

BLENC devolverá la clave redistribuible que debe salvarse dentro de key_file: el camino de acceso a key_file se especifica en el momento de ejecución con la opción blenc.key_file

Ejemplos

Ejemplo #1 Ejemplo con blenc_encrypt()

<?php

/* leer el código fuente PHP */
$source_code = file_get_contents("my_source_to_protect.php");

/* crear la versión encriptada */
$redistributable_key = blenc_encrypt($source_code, "my_source_encoded.php");

/* leer cuál es el fichero key_file */
$key_file = ini_get('blenc.key_file');

/* grabar la clave redistribuible */
file_put_contents($key_file, $redistributable_key, FILE_APPEND);
?>

Blenc Funciones
Manejo de errores
Blenc Funciones


Manejo y registro de errores

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • Funciones de Manejo de Errores
    • debug_backtrace — Genera un rastreo
    • debug_print_backtrace — Muestra un rastreo
    • error_get_last — Obtener el último error que ocurrió
    • error_log — Enviar un mensaje de error a las rutinas de manejo de errores definidas
    • error_reporting — Establece cuáles errores de PHP son notificados
    • restore_error_handler — Recupera la función de gestión de errores previa
    • restore_exception_handler — Restaura la función de gestión de excepciones previamente definida
    • set_error_handler — Establecer una función de gestión de errores definida por el usuario
    • set_exception_handler — Establece una función de gestión de excepciones definida por el usuario
    • trigger_error — Generar un mensaje de error/advertencia/aviso de nivel de usuario
    • user_error — Alias de trigger_error
blenc_encrypt
Introducción
Afecta el comportamiento de PHP


Introducción

Estas funciones se ocupan del manejo y registro de errores. Le permiten definir sus propias reglas de manejo de errores, así como modificar la manera en que los errores pueden ser registrados. Esto le permite cambiar y mejorar la notificación de errores para acomodarla a sus necesidades.

Con las funciones de registro se pueden enviar mensajes directamente a otras máquinas, a un e-mail (¡o un e-mail a un busca!), al registro del sistema, etc., por lo que puede registrar y monitorizar selectivamente las partes más importantes de sus aplicaciones y sitios web.

Las funciones de notificación de errores le permiten personalizar qué niveles y tipos de errores se dan, abarcando desde simples avisos hasta funciones personalizadas devueltas al originarse un error.

Manejo de errores
Instalación/Configuración
Manejo de errores


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Manejo de errores


Instalación

No se requiere de ninguna instalación para utilizar estas funciones; forman parte del núcleo de PHP.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de errores y registro
Nombre | Por defecto | Cambiable | Historial de cambios
error_reporting | NULL | PHP_INI_ALL |
display_errors | "1" | PHP_INI_ALL |
display_startup_errors | "0" | PHP_INI_ALL |
log_errors | "0" | PHP_INI_ALL |
log_errors_max_len | "1024" | PHP_INI_ALL | Disponible a partir de PHP 4.3.0.
ignore_repeated_errors | "0" | PHP_INI_ALL | Disponible a partir de PHP 4.3.0.
ignore_repeated_source | "0" | PHP_INI_ALL | Disponible a partir de PHP 4.3.0.
report_memleaks | "1" | PHP_INI_ALL | Disponible a partir de PHP 4.3.0.
track_errors | "0" | PHP_INI_ALL |
html_errors | "1" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP <= 4.2.3.
xmlrpc_errors | "0" | PHP_INI_SYSTEM | Disponible a partir de PHP 4.1.0.
xmlrpc_error_number | "0" | PHP_INI_ALL | Disponible a partir de PHP 4.1.0.
docref_root | "" | PHP_INI_ALL | Disponible a partir de PHP 4.3.0.
docref_ext | "" | PHP_INI_ALL | Disponible a partir de PHP 4.3.2.
error_prepend_string | NULL | PHP_INI_ALL |
error_append_string | NULL | PHP_INI_ALL |
error_log | NULL | PHP_INI_ALL |
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

error_reporting integer

Establece el nivel de notificación de errores. El parámetro es o bien un valor de tipo integer que representa un campo de bits, o bien constantes con nombre. Los niveles de error_reporting y las constantes están descritos en Constantes predefinidas, y en php.ini. Para establecerlo en tiempo de ejecución, se ha de usar la función error_reporting(). Vése también la directiva display_errors.

En PHP 5.3 o posterior, el valor predeterminado es E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED. Este ajuste no muestra los niveles de error E_NOTICE, E_STRICT y E_DEPRECATED. Quizás quiera mostrarlos durante el desarrollo. Antes de PHP 5.3.0, el valor predeterminado es E_ALL & ~E_NOTICE & ~E_STRICT. en PHP, el valor predeterminado es E_ALL & ~E_NOTICE.

Nota:

La habilitación de E_NOTICE durante el desarrollo tiene algunos beneficios. Para las depuración: los mensajes NOTICE avisarán de posibles errores en el código. Por ejemplo, se advierte del uso de valores no asignados. Es extremadamente útil para encontrar errartas y ahorrar tiempo en la depuración. Los mensajes NOTICE avisarán de un estilo malo. Por ejemplo, $arr[item] es mejor que sea escrito como $arr['item'] ya que PHP intenta tratar "item" como una constante. Si no es una constante, PHP asume que es un índice de string del array.

Nota:

En PHP 5 está disponible el nuevo nivel de error E_STRICT. Antes de PHP 5.4.0, E_STRICT no estaba incluido dentro de E_ALL, por lo que se teniía de habilitar explícitamente este tipo de nivel de error en PHP < 5.4.0. La habilitación de E_STRICT durante el desarrollo tiene algunos beneficios. Los mensajes STRICT proporcionan sugerencias que pueden ayudar a asegurarse de la mejor interoperabilidad y la compatibilidad hacia delante del código. Estos mensajes pueden incluir cosas como llamar a métodos no estáticos de forma estática, definir propiedades en una definición de clase compatible mientras se definió en un trait usado, y antes de PHP 5.3, algunas características obsoletas emitirían errores E_STRICT como asignar objetos por referencias durante la instanciación.

Nota: Constantes de PHP fuera de PHP

El uso de constantes de PHP fuera de PHP, como en httpd.conf, no tiene un propósito útil, por lo que, en tales casos, se requerirán los valores de tipo integer. Y ya que se añadirán más niveles de error en el futuro, el valor máximo (para E_ALL) cambiará igualmente. Por lo que, en lugar de E_ALL se ha de considerar el uso de un valor grande para cubrir todos los campos de bits desde la actualidad hasta bien entrado en el futuro, un valor numérico como 2147483647 (incluye todos los errores, no sólo E_ALL).

display_errors string

Determina si los errores deberían ser impresos en pantalla como parte de la salida o si deberían ocultarse al usuario.

El valor "stderr" envía los errores a stderr en vez de a stdout. Este valor está disponible a partir de PHP 5.2.4. En versiones anteriores esta directiva era de tipo boolean.

Nota:

Ésta es una característica para ayudar al desarrollo y nunca debería usarse en sistemas de producción (p.ej. en sistemas conectados a internet).

Nota:

Aunque display_errors puede ser establecido en tiempo de ejecución (con ini_set()), no tendrá ningún efecto si el script tiene errores fatales. Esto es debido a que la acción deseada en tiempo de ejecución no se ejecuta.

display_startup_errors boolean

Incluso cuando display_errors está activado, los errores que ocurren durante la secuencia de arranque de PHP no se muestran. Se recomienda encarecidamente mantener desactivado display_startup_errors, excepto para la depuración.

log_errors boolean

Indica si los mensajes de error del script deberían de registrarse en el registro del servidor o en error_log. Esta opción es, por lo tanto, específica para servidores.

Nota:

Se aconseja encarecidamente usar el registro de errores en lugar de mostrar los errores en sitios web de producción.

log_errors_max_len integer

Establece la longitud máxima de log_errors en bytes. En error_log se añade información acerca del origen. El valor predeterminado es 1024, y 0 permite no aplicar ninguna longitud máxima en absoluto. Esta longitud se aplica a los errores registrados, a los errores mostrados y también a $php_errormsg.

Cuando se usa un integer, el valor del mismo es medido en bytes. También se puede usar la notación reducida, tal como se describe en esta FAQ.
ignore_repeated_errors boolean

No registra mensajes repetidos. Los mensajes repetidos deben ocurrir en la misma línea del mismo fichero a menos que ignore_repeated_source esté establecido a true.

ignore_repeated_source boolean

Ignora el origen del mensaje cuando se ignoran mensajes repetidos. Cuando este ajuste está activado (On) no se registrarán errores con mensajes repetidos de diferentes ficheros o líneas del código fuente.

report_memleaks boolean

Si este parámetro está activado (On), que es lo predeterminado, mostrará un informe de pérdidas de memoria detectado por el gestor de memoria Zend. Este informe será enviado a stderr en las plataformas Posix. En Windows, será enviado al depurador usando OutputDebugString(), y podrá ser visto con herramientas como » DbgView. Este parámetro solo tiene efecto en una versión de depuración, y si error_reporting incluye E_WARNING en la lista permitida.

track_errors boolean

Si está habilitado, el último mensaje de error siempre estará presente en la variable $php_errormsg.

html_errors boolean

Desactiva las etiquetas HTML en los mensajes de error. El nuevo formato para errores HTML producen mensajes clicables que dirigen al usuario a una página describiendo el error o a la función que causa el error. Estas referencias se ven afectadas por docref_root y docref_ext.

xmlrpc_errors boolean

Desactiva la notificación de errores normal y formatea los errores como mensajes de error XML-RPC.

xmlrpc_error_number integer

Usado como el valor del elemento faultCode de XML-RPC.

docref_root string

El nuevo formato de error contiene una referencia a una página que describe el error o a la función que causa el error. En caso de páginas de manual, se puede descargar el manual en su idioma y establecer esta directiva ini al URL de su copia local. Si a su copia local del manual se puede llegar mediante "/manual/" puede usar simplemente docref_root=/manual/. Además tiene que establecer docref_ext para que coincida con las extensiones de fichero de su copia docref_ext=.html. Es posbile usar referencias externas. Por ejemplo, se puede usar docref_root=http://manual/en/ o docref_root="http://landonize.it/?how=url&theme=classic&filter=Landon &url=http%3A%2F%2Fwww.php.net%2F"

La mayoría de las veces será necesario que el valor de docref_root termine con una barra "/". Sin embargo, veáse el segundo ejemplo de antes, el cuál ni la tiene ni la necesita.

Nota:

Esta es una característica para ayudar al desarrollo, ya que hace más fácil buscar una descripción de una función. Sin embargo, nunca debería usarse en sistemas de producción (p.ej. en sistemas conectados a internet).

docref_ext string

Véase docref_root.

Nota:

El valor de docref_ext debe comenzar con un punto ".".

error_prepend_string string

String a imprimir antes de un mensaje de error.

error_append_string string

String a imprimir después de un mensaje de error.

error_log string

Nombre del fichero donde los errores del script deberían ser registrados. El fichero debería ser modificable por el usuario del servidor web. Si se usa el valor especial syslog, los errores son enviados en su lugar al registro del sistema. En Unix, esto quiere decir syslog(3) y en Windows NT quiere decir el registro de sucesos. El registro de sistema no está admitido en Windows 95. Véase también: syslog(). Si esta directiva no está establecida, los errores se enviarán al registro de error de la SAPI. Por ejemplo, un registro de error en Apache o stderr en CLI. Véase también error_log().

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están disponibles siempre ya que forman parte del núcleo de PHP.

Nota: Se pueden usar estos nombres de constantes en php.ini pero no fuera de PHP, como en httpd.conf, donde se deberían usar en su lugar valores de máscara de bits.

Errores y Registro
Valor | Constante | Descripción | Nota
1 | E_ERROR (integer) | Errores Fatales en tiempo de ejecución. Éstos indican errores que no se pueden recuperar, tales como un problema de asignación de memoria. La ejecución del script se interrumpe. |
2 | E_WARNING (integer) | Advertencias en tiempo de ejecución (errores no fatales). La ejecución del script no se interrumpe. |
4 | E_PARSE (integer) | Errores de análisis en tiempo de compilación. Los errores de análisis deberían ser generados únicamente por el analizador. |
8 | E_NOTICE (integer) | Avisos en tiempo de ejecución. Indican que el script encontró algo que podría señalar un error, pero que también podría ocurrir en el curso normal al ejecutar un script. |
16 | E_CORE_ERROR (integer) | Errores fatales que ocurren durante el arranque incial de PHP. Son como un E_ERROR, excepto que son generados por el núcleo de PHP. |
32 | E_CORE_WARNING (integer) | Advertencias (errores no fatales) que ocurren durante el arranque inicial de PHP. Son como un E_WARNING, excepto que son generados por el núcleo de PHP. |
64 | E_COMPILE_ERROR (integer) | Errores fatales en tiempo de compilación. Son como un E_ERROR, excepto que son generados por Motor de Script Zend. |
128 | E_COMPILE_WARNING (integer) | Advertencias en tiempo de compilación (errores no fatales). Son como un E_WARNING, excepto que son generados por Motor de Script Zend. |
256 | E_USER_ERROR (integer) | Mensaje de error generado por el usuario. Es como un E_ERROR, excepto que es generado por código de PHP mediante el uso de la función de PHP trigger_error(). |
512 | E_USER_WARNING (integer) | Mensaje de advertencia generado por el usuario. Es como un E_WARNING, excepto que es generado por código de PHP mediante el uso de la función de PHP trigger_error(). |
1024 | E_USER_NOTICE (integer) | Mensaje de aviso generado por el usuario. Es como un E_NOTICE, excepto que es generado por código de PHP mediante el uso de la función de PHP trigger_error(). |
2048 | E_STRICT (integer) | Habilítelo para que PHP sugiera cambios en su código, lo que asegurará la mejor interoperabilidad y compatibilidad con versiones posteriores de PHP de su código. | Desde PHP 5 pero no incluidoen E_ALL hasta PHP 5.4.0
4096 | E_RECOVERABLE_ERROR (integer) | Error fatal capturable. Indica que ocurrió un error probablemente peligroso, pero no dejó al Motor en un estado inestable. Si no se captura el error mediante un gestor definido por el usuario (vea también set_error_handler()), la aplicación se abortará como si fuera un E_ERROR. | Desde PHP 5.2.0
8192 | E_DEPRECATED (integer) | Avisos en tiempo de ejecución. Habilítelo para recibir avisos sobre código que no funcionará en futuras versiones. | Desde PHP 5.3.0
16384 | E_USER_DEPRECATED (integer) | Mensajes de advertencia generados por el usuario. Son como un E_DEPRECATED, excepto que es generado por código de PHP mediante el uso de la función de PHP trigger_error(). | Desde PHP 5.3.0
32767 | E_ALL (integer) | Todos los errores y advertencias soportados, excepto del nivel E_STRICT antes de PHP 5.4.0. | 32767 en PHP 5.4.x, 30719 en PHP 5.3.x, 6143 en PHP 5.2.x, 2047 anteriormente

Los valores de arriba (numéricos o simbólicos) se usan para construir una máscara de bits que especifica qué errores notificar. Se pueden usar los operadores a nivel de bit para combinar estos valores o para enmascarar ciertos tipos de errores. Observe que sólo serán interpretados '|', '~', '!', '^' y '&' dentro de php.ini.

Tipos de recursos
Ejemplos
Manejo de errores


Ejemplos

Abajo podemos ver un ejemplo del uso de las capacidades del manejo de errores de PHP. Definimos una función de gestión de errores que registra la información en un archivo (usado un foramto XML), y envía un e-mail a los desarrolladores en caso de que suceda un error crítico en la lógica.

Ejemplo #1 Usar el manejo de errores en un script

<?php
// haremos nuestro propio manejo de errores
error_reporting(0);

// función de gestión de errores definida por el usuario
function gestorErrores($númerr, $menserr, $nombrearchivo, $númlínea, $vars)
{
    // marca de tiempo para la entrada del error
    $fh = date("Y-m-d H:i:s (T)");

    // definir una matriz asociativa de cadena de error
    // en realidad las únicas entradas que deberíamos
    // considerar son E_WARNING, E_NOTICE, E_USER_ERROR,
    // E_USER_WARNING y E_USER_NOTICE
    $tipoerror = array (
                E_ERROR              => 'Error',
                E_WARNING            => 'Warning',
                E_PARSE              => 'Parsing Error',
                E_NOTICE             => 'Notice',
                E_CORE_ERROR         => 'Core Error',
                E_CORE_WARNING       => 'Core Warning',
                E_COMPILE_ERROR      => 'Compile Error',
                E_COMPILE_WARNING    => 'Compile Warning',
                E_USER_ERROR         => 'User Error',
                E_USER_WARNING       => 'User Warning',
                E_USER_NOTICE        => 'User Notice',
                E_STRICT             => 'Runtime Notice',
                E_RECOVERABLE_ERROR  => 'Catchable Fatal Error'
                );
    // conjunto de errores por el cuál se guardará un seguimiento de una variable
    $errores_usuario = array(E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE);

    $err = "<errorentry>\n";
    $err .= "\t<datetime>" . $fh . "</datetime>\n";
    $err .= "\t<errornum>" . $númerr . "</errornum>\n";
    $err .= "\t<errortype>" . $tipoerror[$númerr] . "</errortype>\n";
    $err .= "\t<errormsg>" . $menserr . "</errormsg>\n";
    $err .= "\t<scriptname>" . $nombrearchivo . "</scriptname>\n";
    $err .= "\t<scriptlinenum>" . $númlínea . "</scriptlinenum>\n";

    if (in_array($númerr, $errores_usuario)) {
        $err .= "\t<vartrace>" . wddx_serialize_value($vars, "Variables") . "</vartrace>\n";
    }
    $err .= "</errorentry>\n\n";

    // para probar
    // echo $err;

    // guardar al registro de errores, y enviarme un e-mail si hay un error crítico de usuario
    error_log($err, 3, "/usr/local/php4/error.log");
    if ($númerr == E_USER_ERROR) {
        mail("phpdev@example.com", "Error Crítico de Usuario", $err);
    }
}

function distancia($vect1, $vect2)
{
    if (!is_array($vect1) || !is_array($vect2)) {
        trigger_error("Parámetros incorrectos, se esperaba una matriz", E_USER_ERROR);
        return NULL;
    }

    if (count($vect1) != count($vect2)) {
        trigger_error("Los vectores necesitan ser del mismo tamaño", E_USER_ERROR);
        return NULL;
    }

    for ($i=0; $i<count($vect1); $i++) {
        $c1 = $vect1[$i]; $c2 = $vect2[$i];
        $d = 0.0;
        if (!is_numeric($c1)) {
            trigger_error("La coordenada $i del vector 1 no es un número, se usará cero",
                            E_USER_WARNING);
            $c1 = 0.0;
        }
        if (!is_numeric($c2)) {
            trigger_error("La coordenada $i del vector 2 no es un número, se usará cero",
                            E_USER_WARNING);
            $c2 = 0.0;
        }
        $d += $c2*$c2 - $c1*$c1;
    }
    return sqrt($d);
}

$gestor_error_antiguo = set_error_handler("gestorErrores");

// constante no definida, genera una advertencia
$t = NO_ESTOY_DEFINIDA;

// definir algunos "vectores"
$a = array(2, 3, "foo");
$b = array(5.5, 4.3, -1.6);
$c = array(1, -3);

// generar un error de usuario
$t1 = distancia($c, $b) . "\n";

// generar otro error de usuario
$t2 = distancia($b, "no soy una matriz") . "\n";

// generar una advertencia
$t3 = distancia($a, $b) . "\n";

?>

Constantes predefinidas
Funciones de Manejo de Errores
Manejo de errores


Funciones de Manejo de Errores

Ver también

Véase también syslog().

Tabla de contenidos

  • debug_backtrace — Genera un rastreo
  • debug_print_backtrace — Muestra un rastreo
  • error_get_last — Obtener el último error que ocurrió
  • error_log — Enviar un mensaje de error a las rutinas de manejo de errores definidas
  • error_reporting — Establece cuáles errores de PHP son notificados
  • restore_error_handler — Recupera la función de gestión de errores previa
  • restore_exception_handler — Restaura la función de gestión de excepciones previamente definida
  • set_error_handler — Establecer una función de gestión de errores definida por el usuario
  • set_exception_handler — Establece una función de gestión de excepciones definida por el usuario
  • trigger_error — Generar un mensaje de error/advertencia/aviso de nivel de usuario
  • user_error — Alias de trigger_error
Ejemplos
debug_backtrace
Manejo de errores


Genera un rastreo

Funciones de Manejo de Errores
debug_print_backtrace
Funciones de Manejo de Errores
PHP Manual

debug_backtrace

(PHP 4 >= 4.3.0, PHP 5)

debug_backtrace — Genera un rastreo

Descripción

array debug_backtrace ([ int $options = DEBUG_BACKTRACE_PROVIDE_OBJECT [, int $limit = 0 ]] )

debug_backtrace() genera un rastreo de PHP.

Parámetros

options

Desde 5.3.6, este parámetro es una mascara de bits para las siguientes opciones:

debug_backtrace() options
DEBUG_BACKTRACE_PROVIDE_OBJECT | Completar el índice "object" o no.
DEBUG_BACKTRACE_IGNORE_ARGS | Omitir el índice "args" y por lo tanto todos los argumentos de las funciones/métodos para ahorrar memoria o no.
Antes de 5.3.6, el único valor reconocido es TRUE o FALSE, que es lo mismo que establecer y desestablecer la opción DEBUG_BACKTRACE_PROVIDE_OBJECT.

limit

Desde 5.4.0, este parámetro puede ser usado para limitar el número de stack frames que se muestran. Por defecto (limit=0) imprime todos los stack frames.

Valores devueltos

Devuelve un array de array asociativos. Los posibles elementos devueltos son los siguientes:

Posibles elementos devueltos por debug_backtrace()
Nombre | Tipo | Descripción
function | string | El nombre de la función actual. Véase también __FUNCTION__.
line | integer | El número de línea actual. Véase también __LINE__.
file | string | El nombre de archivo actual. Véase también __FILE__.
class | string | El nombre de la clase actual. Véase también __CLASS__
object | object | El objeto actual.
type | string | El tipo de llamada actual. Si es una llamada a un método devuelve "->". Si es una llamada a un método estático devuelve "::". Si es una llamada a una función no se devuelve nada.
args | array | Dentro de una función se lista los argumentos de la función. Dentro de un archvo incluido se lista el nombre (o nombres) del archivo incluido.

Historial de cambios

Versión | Descripción
5.4.0 | Añadido el parámetro opcional limit.
5.3.6 | Se cambió el parámetro provide_object a options y se añadió la opción adicional DEBUG_BACKTRACE_IGNORE_ARGS.
5.2.5 | Se añadió el parámetro opcional provide_object.
5.1.1 | Se añadió el object actual como posible elemento devuelto.

Ejemplos

Ejemplo #1 Ejemplo de debug_backtrace()

<?php
// nombre de archvio: /tmp/a.php

function una_prueba($str)
{
    echo "\nHola: $str";
    var_dump(debug_backtrace());
}

una_prueba('amigo');
?>

<?php
// nombre de archvio: /tmp/b.php
include_once '/tmp/a.php';
?>

El resultado es similar al siguiente cuando se ejecuta /tmp/b.php:

Hola: amigo
array(2) {
[0]=>
array(4) {
    ["file"] => string(10) "/tmp/a.php"
    ["line"] => int(10)
    ["function"] => string(10) "una_prueba"
    ["args"]=>
    array(1) {
      [0] => &string(5) "amigo"
    }
}
[1]=>
array(4) {
    ["file"] => string(10) "/tmp/b.php"
    ["line"] => int(2)
    ["args"] =>
    array(1) {
      [0] => string(10) "/tmp/a.php"
    }
    ["function"] => string(12) "include_once"
  }
}

Ver también

  • trigger_error() - Generar un mensaje de error/advertencia/aviso de nivel de usuario
  • debug_print_backtrace() - Muestra un rastreo

Funciones de Manejo de Errores
debug_print_backtrace
Funciones de Manejo de Errores


Muestra un rastreo

debug_backtrace
error_get_last
Funciones de Manejo de Errores
PHP Manual

debug_print_backtrace

(PHP 5)

debug_print_backtrace — Muestra un rastreo

Descripción

void debug_print_backtrace ([ int $options = 0 [, int $limit = 0 ]] )

debug_print_backtrace() muestra un rastreo PHP. muestra las llamadas a función, archivos incluídos y el material evaluado mediante eval().

Parámetros

options

Desde 5.3.6, este parámetro es una máscara de bits para las siguientes opciones:

Opciones de debug_print_backtrace()
DEBUG_BACKTRACE_IGNORE_ARGS Omitir el índice "args" y por lo tanto todos los argumentos de las funciones/métodos para ahorrar memoria o no.

limit

Desde 5.4.0, este parámetro puede ser usado para limitar el número de stack frames que se muestran. Por defecto (limit=0) imprime todos los stack frames.

Valores devueltos

No devuelve ningún valor.

Historial de cambios

Versión | Descripción
5.4.0 | Añadido el parámetro opcional limit.
5.3.6 | Añadido el parámetro opcional options.

Ejemplos

Ejemplo #1 Ejemplo de debug_print_backtrace()

<?php
// archivo include.php
function a() {
    b();
}

function b() {
    c();
}

function c(){
    debug_print_backtrace();
}

a();

?>
<?php
// archivo prueba.php
// este es el archivo que debe ejecutar

include 'include.php';
?>

El resultado del ejemplo sería algo similar a:

#0  c() called at [/tmp/include.php:10]
#1  b() called at [/tmp/include.php:6]
#2  a() called at [/tmp/include.php:17]
#3  include(/tmp/include.php) called at [/tmp/prueba.php:3]

Ver también

  • debug_backtrace() - Genera un rastreo

debug_backtrace
error_get_last
Funciones de Manejo de Errores


Obtener el último error que ocurrió

debug_print_backtrace
error_log
Funciones de Manejo de Errores
PHP Manual

error_get_last

(PHP 5 >= 5.2.0)

error_get_last — Obtener el último error que ocurrió

Descripción

array error_get_last ( void )

Obtiene información sobre el último error que ocurrió.

Valores devueltos

Devuelve una matriz asociativa describiendo el último error con las claves "type" (tipo), "message" (mensaje), "file" (archivo) y "line" (línea). Si el error ha sido causado por una función interna de PHP, el "message" (mensaje) comienza con su nombre. Devuelve NULL si no ha habido aún un error.

Ejemplos

Ejemplo #1 Un ejemplo de error_get_last()

<?php
echo $a;
print_r(error_get_last());
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [type] => 8
    [message] => Undefined variable: a
    [file] => C:\WWW\index.php
    [line] => 2
)

Ver también

  • Constantes de error
  • La variable $php_errormsg
  • La directiva display_errors
  • La directiva html_errors
  • La directiva xmlrpc_errors

debug_print_backtrace
error_log
Funciones de Manejo de Errores


Enviar un mensaje de error a las rutinas de manejo de errores definidas

error_get_last
error_reporting
Funciones de Manejo de Errores
PHP Manual

error_log

(PHP 4, PHP 5)

error_log — Enviar un mensaje de error a las rutinas de manejo de errores definidas

Descripción

bool error_log ( string $message [, int $message_type = 0 [, string $destination [, string $extra_headers ]]] )

Envía un mensaje de error al registro de errores del servidor web o a un fichero.

Parámetros

message

El mensaje de error que debería ser registrado.

message_type

Indica dónde debería ir el error. Los tipos de mensaje posibles son:

Tipos de registro de error_log()
0 | message es enviado al registro del sistema de PHP, usando el mecanismo de registro del Sistema Operativo o un fichero, dependiendo de qué directiva de configuración esté establecida en error_log. Esta opción es la predeterminada.
1 | message es enviado por email a la dirección del parámetro destination. Este es el único tipo de mensaje donde se usa el cuarto parámetro extra_headers.
2 | Ya no es una opción.
3 | message es añadido al final del fichero destination. No se añade automáticamente una nueva línea al final del string message.
4 | message es enviado directamente al gestor de registro de la SAPI.

destination

El destino. Su significado depende del parámetro message_type tal como se describió arriba.

extra_headers

Las cabeceras extra. Se usa cuando el parámetro message_type está establecido a 1. Este tipo de mensaje usa la misma función interna que mail().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Advertencia

error_log() no es seguro a nivel binario. message será truncado por un carácter null.

Sugerencia

message no debería contener un carácter null. Observe que message podría enviarse a un fichero, correo, syslog, etc. Use la fucnión de conversión/escape apropiada, base64_encode(), rawurlencode() o addslashes(), antes de llamar a error_log().

Ejemplos

Ejemplo #1 Ejemplos de error_log()

<?php
// Enviar una notificación al registro del servidor si no podemos
// conectarnos a la base de datos.
if (!Ora_Logon($username, $password)) {
    error_log("¡La base de datos de Oracle no está disponible!", 0);
}

// Notificar al administrador mediante un email si agotamos FOO
if (!($foo = allocate_new_foo())) {
    error_log("Problema serio, nos hemos quedado sin FOOs!", 1,
               "operator@example.com");
}

// otra manera de llamar a error_log():
error_log("¡Lo echaste a perder!", 3, "/var/tmp/my-errors.log");
?>

Historial de cambios

Versión | Descripción
5.2.7 | El valor posible de 4 se añadió a message_type.

error_get_last
error_reporting
Funciones de Manejo de Errores


Establece cuáles errores de PHP son notificados

error_log
restore_error_handler
Funciones de Manejo de Errores
PHP Manual

error_reporting

(PHP 4, PHP 5)

error_reporting — Establece cuáles errores de PHP son notificados

Descripción

int error_reporting ([ int $level ] )

La función error_reporting() establece la directiva error_reporting en tiempo de ejecución. PHP tiene varios niveles de errores para notificar, al utilizar ésta función se define el nivel de duración (tiempo de ejecución) de sus scripts. Si el parámetro opcional level no se define, la función error_reporting() sólo devolverá el nivel actual de notificación de error.

Parámetros

level

El nuevo nivel de error_reporting. Este nivel toma una máscara de bit o constantes nominadas. Al utilizar constantes nominadas se recomienda encarecidamente asegurar la compatibilidad para versiones futuras. Según se añaden niveles de error, el rango de los enteros incrementa, por lo que los niveles antiguos de errores basados en enteros no siempre se comportarán como se esperaba.

Las constantes de niveles de error disponibles, y los significados actuales de esos niveles de error están descritos en constantes predefinidas.

Valores devueltos

Devuelve el nivel antiguo de error_reporting o el nivel actual si el parámetro level no se proporciona.

Historial de cambios

Versión | Descripción
5.4.0 | Ahora E_STRICT es parte de E_ALL.
5.3.0 | Se introdujo E_DEPRECATED y E_USER_DEPRECATED.
5.2.0 | Se introdujo E_RECOVERABLE_ERROR.
5.0.0 | Se introdujo E_STRICT (no es parte de E_ALL).

Ejemplos

Ejemplo #1 Ejemplos de error_reporting()

<?php

// Desactivar toda notificación de error
error_reporting(0);

// Notificar solamente errores de ejecución
error_reporting(E_ERROR | E_WARNING | E_PARSE);

// Notificar E_NOTICE también puede ser bueno (para informar de variables
// no inicializadas o capturar errores en nombres de variables ...)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

// Notificar todos los errores excepto E_NOTICE
// Este es el valor predeterminado establecido en php.ini
error_reporting(E_ALL ^ E_NOTICE);

// Notificar todos los errores de PHP (ver el registro de cambios)
error_reporting(E_ALL);

// Notificar todos los errores de PHP
error_reporting(-1);

// Lo mismo que error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);

?>

Notas

Advertencia

La mayoría de errores E_STRICT son evaluados en tiempo de compilación por lo que tales errores no se notifican en el fichero donde error_reporting se mejora al incluir los errores de E_STRICT (y viceversa).

Sugerencia

Al pasar el valor -1 se mostrarán todos los errores posibles, incluso cuando se añadan nuevos niveles y constantes en futuras versiones de PHP. La constante E_ALL también se comporta de esta forma en PHP 5.4.

Ver también

  • La directiva display_errors
  • La directiva html_errors
  • La directiva xmlrpc_errors
  • ini_set() - Establece el valor de una directiva de configuración

error_log
restore_error_handler
Funciones de Manejo de Errores


Recupera la función de gestión de errores previa

error_reporting
restore_exception_handler
Funciones de Manejo de Errores
PHP Manual

restore_error_handler

(PHP 4 >= 4.0.1, PHP 5)

restore_error_handler — Recupera la función de gestión de errores previa

Descripción

bool restore_error_handler ( void )

Usada después de modificar la función de gestión de errores usando set_error_handler(), para revertir al gestor de errores previo (el cual puede ser el incorporado o una función definida por el usuario).

Valores devueltos

Esta función siempre devuelve TRUE.

Ejemplos

Ejemplo #1 Ejemplo de restore_error_handler()

Decidir si unserialize() causó un error, entonces recuperar el gestor de errores original.

<?php
function gestor_unserialize($errno, $errstr)
{
    echo "Valor seriado inválido.\n";
}

$seriado = 'foo';
set_error_handler('gestor_unserialize');
$original = unserialize($seriado);
restore_error_handler();
?>

El resultado del ejemplo sería:

Valor seriado inválido.

Notas

Nota:

Llamar restore_error_handler() desde la función error_handler es ignorado.

Ver también

  • error_reporting() - Establece cuáles errores de PHP son notificados
  • set_error_handler() - Establecer una función de gestión de errores definida por el usuario
  • restore_exception_handler() - Restaura la función de gestión de excepciones previamente definida
  • trigger_error() - Generar un mensaje de error/advertencia/aviso de nivel de usuario

error_reporting
restore_exception_handler
Funciones de Manejo de Errores


Restaura la función de gestión de excepciones previamente definida

restore_error_handler
set_error_handler
Funciones de Manejo de Errores
PHP Manual

restore_exception_handler

(PHP 5)

restore_exception_handler — Restaura la función de gestión de excepciones previamente definida

Descripción

bool restore_exception_handler ( void )

Usada después de cambiar la función de gestión de excepciones al utilizar set_exception_handler(), para volver al gestor de excepciones anterior (el cuál puede ser la función interna o una definida por el usuario).

Valores devueltos

Esta función siempre devuelve TRUE.

Ejemplos

Ejemplo #1 Ejemplo de restore_exception_handler()

<?php
    function gestor_excepciones_1(Exception $e)
    {
        echo '[' . __FUNCTION__ . '] ' . $e->getMessage();
    }

    function gestor_excepciones_2(Exception $e)
    {
        echo '[' . __FUNCTION__ . '] ' . $e->getMessage();
    }

    set_exception_handler('gestor_excepciones_1');
    set_exception_handler('gestor_excepciones_2');

    restore_exception_handler();

    throw new Exception('Esto dispara el primer gestor de excepciones...');
?>

El resultado del ejemplo sería:

[gestor_excepciones_1] Esto dispara el primer gestor de excepciones...

Ver también

  • set_exception_handler() - Establece una función de gestión de excepciones definida por el usuario
  • set_error_handler() - Establecer una función de gestión de errores definida por el usuario
  • restore_error_handler() - Recupera la función de gestión de errores previa
  • error_reporting() - Establece cuáles errores de PHP son notificados

restore_error_handler
set_error_handler
Funciones de Manejo de Errores


Establecer una función de gestión de errores definida por el usuario

restore_exception_handler
set_exception_handler
Funciones de Manejo de Errores
PHP Manual

set_error_handler

(PHP 4 >= 4.0.1, PHP 5)

set_error_handler — Establecer una función de gestión de errores definida por el usuario

Descripción

mixed set_error_handler ( callable $error_handler [, int $error_types = E_ALL | E_STRICT ] )

Establece una función de usuario (error_handler) para manejar los errores de un script.

Esta función se puede usar para definir su propia forma de manejar los errores en tiempo de ejecución, por ejemplo en aplicaciones en las que se neceista hacer una limpieza de datos/archivos cuando ocurre un error crítico, o cuando se necesita provocar un error bajo ciertas condiciones (usando trigger_error()).

Es importante recordar que el gestor de errores estándar de PHP es completamente evitado por los tipos de errores especificados por error_types a menos que la función de llamada de retorno devuelva FALSE. La configuración de error_reporting() no tendrá efecto y su gestor de errores será llamado de todas formas - aunque aún es capaz de leer el valor actual de error_reporting y actuar de manera apropiada. En particular, observe que este valor será 0 si a la sentencia que causó el error se le añadió al principio el operador de control de errores @ .

También observe que es su responsabilidad realizar un die() si fuera necesario. Si la función de gestión de errores devuelve, la ejecución del script continuará con la siguiente sentencia después de la que causó el error.

Los siguientes tipos de errores no pueden ser manejados con una función definida por el usuario: E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING, y la mayoría de E_STRICT ocasionados en el archivo desde donde se llamó a set_error_handler().

Si sucede algún error antes de que el script sea ejecutado (p.ej. en la carga de archivos) el gestor de errores personalizado no podrá ser llamado ya que no está registrado en ese momento.

Parámetros

error_handler

Una llamada de retorno con la siguiente firma. Se podría pasar NULL en su lugar para reiniciar este gestor a su estado predeterminado.

bool handler ( int $errno , string $errstr [, string $errfile [, int $errline [, array $errcontext ]]] )
errno
El primer parámetro, errno, contiene el nivel del error ocasionado, como un valor de tipo integer.
errstr
El segundo parámetro, errstr, contiene el mensaje de error, como cadena.
errfile
El tercer parámetro es opcional, errfile, que contiene el nombre de archivo que ocasionó el error, como cadena.
errline
El cuarto parámetro es opcional, errline, que contiene el número de línea donde ocurrió el error, como valor de tipo integer.
errcontext
El quinto parámetro es opcional, errcontext, el cuál es una matriz que apunta a la tabla de símbolos activa en el punto donde ocurrió el error. En otras palabras, errcontext contendrá una matriz con cada variable que existe en el ámbito donde el error fue provocado. El gestor de errores de usuario no debe modificar el contexto del error.

Si la función devuelve FALSE se continúa con el gestor de errores normal.

error_types

Se puede usar para enmascarar la provocación de la función error_handler al igual que la configuración error_reporting ini controla los errores que se muestran. Sin esta máscara establecida error_handler será llamada para cada error sin tener en cuenta la configuración de error_reporting.

Valores devueltos

Devuelve una cadena que contiene el gestor de errores definido anteriormente (si lo hay). Si se usa el gestor de errores interno se devuelve NULL. NULL también es devuelto en caso de un error como una llamada de retorno no válida. Si el gestor de errores anterior era un método de una clase, esta función devolverá una matriz indexada con los nombres de las clases y métodos.

Historial de cambios

Versión | Descripción
5.5.0 | error_handler ahora acepta NULL.
5.2.0 | El gestor de errores debe devolver FALSE para rellenar $php_errormsg.
5.0.0 | Se introdujo el parámetro error_types.
4.3.0 | También se puede proporcionar una matriz que contiene una referencia a un objeto y un nombre de método, en vez el nombre de una función, como error_handler.
4.0.2 | Se introdujeron tres parámetros opcionales para la función de usuario error_handler. Son el nombre de archivo, el número de línea, y el contexto.

Ejemplos

Ejemplo #1 Manejo de errores con set_error_handler() y trigger_error()

El ejemplo de abajo muestra el manejo de excepciones internas mediante la provocación de errores y tratándolos con una función definida por el usuario:

<?php
// función de gestión de errores
function miGestorDeErrores($errno, $errstr, $errfile, $errline)
{
    if (!(error_reporting() & $errno)) {
        // Este código de error no está incluido en error_reporting
        return;
    }

    switch ($errno) {
    case E_USER_ERROR:
        echo "<b>Mi ERROR</b> [$errno] $errstr<br />\n";
        echo "  Error fatal en la línea $errline en el archivo $errfile";
        echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />\n";
        echo "Abortando...<br />\n";
        exit(1);
        break;

    case E_USER_WARNING:
        echo "<b>Mi WARNING</b> [$errno] $errstr<br />\n";
        break;

    case E_USER_NOTICE:
        echo "<b>Mi NOTICE</b> [$errno] $errstr<br />\n";
        break;

    default:
        echo "Tipo de error desconocido: [$errno] $errstr<br />\n";
        break;
    }

    /* No ejecutar el gestor de errores interno de PHP */
    return true;
}

// función para probar el manejo de errores
function scale_by_log($vect, $scale)
{
    if (!is_numeric($scale) || $scale <= 0) {
        trigger_error("log(x) para x <= 0 no está definido, usó: scale = $scale", E_USER_ERROR);
    }

    if (!is_array($vect)) {
        trigger_error("Vector de entrada incorrecto, se esperaba una matriz de valores", E_USER_WARNING);
        return null;
    }

    $temp = array();
    foreach($vect as $pos => $valor) {
        if (!is_numeric($valor)) {
            trigger_error("El valor en la posición $pos no es un número, usando 0 (cero)", E_USER_NOTICE);
            $valor = 0;
        }
        $temp[$pos] = log($scale) * $valor;
    }

    return $temp;
}

// establecer el gestro de errores definido por el usuario
$gestor_errores_antiguo = set_error_handler("miGestorDeErrores");

// provocar algunos errores, primero definimos una matriz mixta con un elemento no numérico
echo "vector a\n";
$a = array(2, 3, "foo", 5.5, 43.3, 21.11);
print_r($a);

// ahora generamos una segunda matriz
echo "----\nvector b - a notice (b = log(PI) * a)\n";
/* Value at position $pos is not a number, using 0 (zero) */
$b = scale_by_log($a, M_PI);
print_r($b);

// esto es un problema, pasamos una cadena en vez de una matriz
echo "----\nvector c - a warning\n";
/* Vector de entrada incorrecto, se esperaba una matriz de valores */
$c = scale_by_log("no array", 2.3);
var_dump($c); // NULL

// esto es un error crítico, log de cero o de un número negativo es indefinido
echo "----\nvector d - fatal error\n";
/* log(x) para x <= 0 no está definido, usó: scale = $scale */
$d = scale_by_log($a, -2.5);
var_dump($d); // Nunca se alcanza
?>

El resultado del ejemplo sería algo similar a:

vector a
Array
(
    [0] => 2
    [1] => 3
    [2] => foo
    [3] => 5.5
    [4] => 43.3
    [5] => 21.11
)
----
vector b - a notice (b = log(PI) * a)
<b>Mi NOTICE</b> [1024] El valor en la posición 2 no es un número, usando 0 (cero)<br />
Array
(
    [0] => 2.2894597716988
    [1] => 3.4341896575482
    [2] => 0
    [3] => 6.2960143721717
    [4] => 49.566804057279
    [5] => 24.165247890281
)
----
vector c - a warning
<b>Mi WARNING</b> [512] Vector de entrada incorrecto, se esperaba una matriz de valores<br />
NULL
----
vector d - fatal error
<b>Mi ERROR</b> [256] log(x) para x <= 0 no está definido, usó: scale = -2.5<br />
  Error fatal en la línea 35 en el archivo trigger_error.php, PHP 5.2.1 (FreeBSD)<br />
Abortando...<br />

Ver también

  • ErrorException
  • error_reporting() - Establece cuáles errores de PHP son notificados
  • restore_error_handler() - Recupera la función de gestión de errores previa
  • trigger_error() - Generar un mensaje de error/advertencia/aviso de nivel de usuario
  • constantes de niveles de error
  • información acerca de tipos de llamada de retorno

restore_exception_handler
set_exception_handler
Funciones de Manejo de Errores


Establece una función de gestión de excepciones definida por el usuario

set_error_handler
trigger_error
Funciones de Manejo de Errores
PHP Manual

set_exception_handler

(PHP 5)

set_exception_handler — Establece una función de gestión de excepciones definida por el usuario

Descripción

callable set_exception_handler ( callable $exception_handler )

Establece el gestor de excepciones predeterminado si una excepción no es capturada dentro de un bloque try/catch. La ejecución se detendrá después de la llamada a exception_handler.

Parámetros

exception_handler

Nombre de la función a llamar cuando ocurra una excepción no capturada. Esta función debe ser definida antes de llamar a set_exception_handler(). Esta función de gestión necesita aceptar un parámetro, que será el objeto de excepción que fue lanzado. Esta es la firma del gestor:

void handler ( Exception $ex )

NULL podría pasarse en su lugar para reiniciar este gestor a su estado predeterminado.

Valores devueltos

Devuelve el nombre del gestor de excepciones definido anteriormente, o NULL en caso de error. Si no se definió un gestor anterior también devolverá NULL.

Historial de cambios

Versión | Descripción
5.5.0 | Anteriormente, si se pasaba NULL, esta función devolvía TRUE. Devuelve el gestor anterior desde PHP 5.5.0.

Ejemplos

Ejemplo #1 Ejemplo de set_exception_handler()

<?php
function gestor_excepciones($excepción) {
  echo "Excepción no capturada: " , $excepción->getMessage(), "\n";
}

set_exception_handler('gestor_excepciones');

throw new Exception('Excepción No Capturada');
echo "No Ejecutado\n";
?>

Ver también

  • restore_exception_handler() - Restaura la función de gestión de excepciones previamente definida
  • restore_error_handler() - Recupera la función de gestión de errores previa
  • error_reporting() - Establece cuáles errores de PHP son notificados
  • información acerca de tipos de llamada de retorno
  • Excepciones de PHP 5

set_error_handler
trigger_error
Funciones de Manejo de Errores


Generar un mensaje de error/advertencia/aviso de nivel de usuario

set_exception_handler
user_error
Funciones de Manejo de Errores
PHP Manual

trigger_error

(PHP 4 >= 4.0.1, PHP 5)

trigger_error — Generar un mensaje de error/advertencia/aviso de nivel de usuario

Descripción

bool trigger_error ( string $error_msg [, int $error_type = E_USER_NOTICE ] )

Se usa para provocar una condición de error de usuario, se puede utilizar junto con el gestor de errores interno o con una función definida por el usuario que ha sido establecida como el nuevo gestor de errores ( set_error_handler()).

Esta función es útil cuando se necesita generar una respuesta en particular a una excepción en tiempo de ejecución.

Parámetros

error_msg

El mensaje de error designado para este error. Está limitado a 1024 bytes de longitud. Cualquier carácter más allá de los 1024 será truncado.

error_type

El tipo de error designado para este error. Sólo funciona con la familia de constantes E_USER, y por defecto es E_USER_NOTICE.

Valores devueltos

Esta función devuelve FALSE si se especifica un error_type erróneo, si no TRUE.

Ejemplos

Ejemplo #1 Ejemplo de trigger_error()

Véase set_error_handler() para un ejemplo más extenso.

<?php
if ($divisor == 0) {
    trigger_error("No se puede dividir por cero", E_USER_ERROR);
}
?>

Notas

Advertencia

Las entidades HTML en error_msg no son escapadas. Use htmlentities() en el mensaje si el error se va a mostrar en un navegador.

Ver también

  • error_reporting() - Establece cuáles errores de PHP son notificados
  • set_error_handler() - Establecer una función de gestión de errores definida por el usuario
  • restore_error_handler() - Recupera la función de gestión de errores previa
  • Las constantes de niveles de error

set_exception_handler
user_error
Funciones de Manejo de Errores


Alias de trigger_error

trigger_error
htscanner
Funciones de Manejo de Errores
PHP Manual

user_error

(PHP 4, PHP 5)

user_error — Alias de trigger_error()

Descripción

Esta función es un alias de: trigger_error().

trigger_error
htscanner
Funciones de Manejo de Errores


Soporte similar a los archivos htaccess para todos los SAPIs

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
user_error
Introducción
Afecta el comportamiento de PHP


Introducción

La extensión htscanner proporciona el uso de archivos similares a htaccess en la configuración de PHP por directorio, como si tratase de los archivos htaccess de Apache. Esto es útil con fastcgi (ISS5/6/7, lighttpd, etc.).

htscanner
Instalación/Configuración
htscanner


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
htscanner


Requerimientos

PHP versión 5.2.0 o superior.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/htscanner

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de htscanner
Nombre | Por defecto | Cambiable | Changelog
htscanner.config_file | ".htscanner" | PHP_INI_SYSTEM |
htscanner.default_docroot | "/" | PHP_INI_SYSTEM |
htscanner.default_ttl | "300" | PHP_INI_SYSTEM |
htscanner.stop_on_error | "Off" | PHP_INI_SYSTEM |
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

htscanner.config_file string

Nombre para el archivo de configuración.

htscanner.default_docroot string

Documentación de root por omisión.

htscanner.default_ttl int

Tiempo de cache para la configuración de los datos, en segundos.

htscanner.stop_on_error int

Parar los errores (parse error, no puede ser establecido en ini).

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Configuración en tiempo de ejecución
inclued
Instalación/Configuración


Visor de la jerarquía de inclusión

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Ejemplo que implementa inclued en una aplicación
  • Funciones de inclued
    • inclued_get_data — Obtener la información de inclued
Tipos de recursos
Introducción
Afecta el comportamiento de PHP


Introducción

Hace un seguimiento y copia la jerarquía de las inclusiones de archivos y la herencia de clases en tiempo de ejecución.

Los archivos pueden haber sido incluidos usando include, include_once, require, o require_once.

Las dependencias de la herencia de clases también son comunicadas.

inclued
Instalación/Configuración
inclued


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
inclued


Requerimientos

PHP versión 5.1.0 o posterior.

El archivo gengraph.php incluido utiliza la biblioteca » graphviz, aunque no es necesaria.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/inclued

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de inclued
Nombre | Por defecto | Cambiable | Historial de cambios
inclued.enabled | Off | PHP_INI_SYSTEM |
inclued.dumpdir | NULL | PHP_INI_SYSTEM |
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

inclued.enabled bool

Si habilitar o no inclued.

inclued.dumpdir string

Ubicación (ruta) del directorio que almacena archivos inclued. Si está establecido, cada petición de PHP creará un archivo. Estos archivos son versiones serializadas de lo que inclued_get_data() produciría, por lo que pueden ser deserializados con unserialize().

Precaución

Ya que cada petición crea un archivo, ¡este directorio se puede llenar rápidamente!

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Ejemplos
inclued


Ejemplos

Tabla de contenidos

  • Ejemplo que implementa inclued en una aplicación
Constantes predefinidas
Ejemplo que implementa inclued en una aplicación
inclued


Ejemplo que implementa inclued en una aplicación

Este ejemplo muestra el proceso de implementar inclued en una apliación existente, viendo los resultados.

Ejemplo #1 Obtener la información dentro de la aplicación misma de PHP (función)

<?php
// Archivo donde almacenar la información de inclued
$fp = fopen('/tmp/wp.ser', 'w');
if ($fp) {
    $clue = inclued_get_data();
    if ($clue) {
        fwrite($fp, serialize($clue));
    }
    fclose($fp);
}
?>

Ahora que existe alguna información es hora de hacer que tenga sentido en la forma de un gráfico. La extension inclued incluye un archivo PHP llamado gengraph.php que crea un archivo dot que requiere la biblioteca » graphviz. Sin embargo, en esta forma no se requiere.

Ejemplo #2 Ejemplo de uso de gengraph.php

Este ejemplo crea una imagen llamada inclued.png que muestra la información de inclued.

# Primero, creamos el archivo dot
$ php gengraph.php -i /tmp/wp.ser -o wp.dot

# Lo siguiente, creamos la imagen
$ dot -Tpng -o inclued.png wp.dot

Ejemplo #3 Listar información mediante volcados (configuración)

Cuando se usa la directiva inclued.dumpdir, los archivos (incluidos rastros) son volcados con cada petición. Aquí hay una manera de listar esos archivos, y deserializarlos ( unserialize()).

<?php
$ruta = ini_get('inclued.dumpdir');
if ($ruta && is_dir($ruta)) {

    echo "Ruta: $ruta", PHP_EOL;

    $inclues = new GlobIterator($ruta . DIRECTORY_SEPARATOR . 'inclued*');

    if ($inclues->count() === 0) {
        echo 'No hay rastros hoy', PHP_EOL;
        exit;
    }

    foreach ($inclues as $inclue) {

        echo 'Archivo inclued: ', $inclue->getFilename(), PHP_EOL;

        $data = file_get_contents($inclue->getPathname());
        if ($data) {
            $inc = unserialize($data);
            echo ' -- nombre de archivo: ', $inc['request']['SCRIPT_FILENAME'], PHP_EOL;
            echo ' -- número de inclusiones: ', count($inc['includes']), PHP_EOL;
        }
        echo PHP_EOL;
    }
} else {
    echo 'Hoy estoy lleno de rastros.', PHP_EOL;
}
?>

El resultado del ejemplo sería algo similar a:

Ruta: /tmp/inclued
Archivo inclued: inclued.56521.1
 -- nombre de archivo: /Users/philip/test.php
 -- número de inclusiones: 1

Archivo inclued: inclued.56563.1
 -- nombre de archivo: /tmp/none.php
 -- número de inclusiones: 0

Archivo inclued: inclued.56636.1
 -- nombre de archivo: /tmp/three.php
 -- número de inclusiones: 3

Ejemplos
Funciones de inclued
Ejemplos


Funciones de inclued

Tabla de contenidos

  • inclued_get_data — Obtener la información de inclued
Ejemplo que implementa inclued en una aplicación
inclued_get_data
inclued


Obtener la información de inclued

Funciones de inclued
Memtrack
Funciones de inclued
PHP Manual

inclued_get_data

(PECL inclued >= 0.1.0)

inclued_get_data — Obtener la información de inclued

Descripción

array inclued_get_data ( void )

Obtiene la información de inclued.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La información de inclued.

Ejemplos

Ejemplo #1 Ejemplo de inclued_get_data()

Véase la sección ejemplos de inclued para obtener maneras de crear gráficos con esta información.

<?php
include 'x.php';

$clue = inclued_get_data();

print_r($clue);
?>

El resultado del ejemplo sería algo similar a:

Array
(
  [includes] => Array
    (
      [0] => Array
        (
          [operation] => include
          [op_type] => 2
          [filename] => x.php
          [opened_path] => /tmp/x.php
          [fromfile] => /tmp/z.php
          [fromline] => 2
        )
    )
)

Ver también

  • ejemplos de inclued
  • debug_backtrace() - Genera un rastreo
  • include - include

Funciones de inclued
Memtrack
Funciones de inclued


Memtrack

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Uso básico
inclued_get_data
Introducción
Afecta el comportamiento de PHP


Introducción

El propósito de esta extensión es detectar los scripts y las funciones más ávidos de memoria.

memtrack rastrea el consumo de memoria de los scripts de PHP y produce informes (warnings) cuando el consumo alcanza ciertos niveles establecidos por el usuario. Esto se lleva a cabo reemplazando la función ejecutora predeterminada por una función especial que compara el uso de memoria antes y después de ejecutar el ejecutor original - de esta manera se puede indicar cuánto ha cambiado el uso de memoria durante la ejecución de la parte actual del código.

El Motor Zend ejecuta su ejecutor para cada matriz de código de operaciones (op_array), que normalmente significa una función, un script plano, y tal, por lo que memtrack no tiene ningún efecto notable en el rendimiento.

memtrack no proporciona ninguna función, sólo existen directivas INI que permiten configurar la forma de su funcionamiento.

Advertencia

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombres de sus funciones y todo lo documentado sobre esta extensión, puede cambiar en una futura edición de PHP sin previo aviso. El uso de esta extensión queda bajo su propia responsabilidad.

Memtrack
Instalación/Configuración
Memtrack


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Memtrack


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/memtrack

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de Configuración de Memtrack
Nombre | Por defecto | Cambiable
memtrack.enabled | "0" | PHP_INI_SYSTEM
memtrack.soft_limit | "0" | PHP_INI_ALL
memtrack.hard_limit | "0" | PHP_INI_ALL
memtrack.vm_limit | "0" | PHP_INI_ALL
memtrack.ignore_functions | "" | PHP_INI_SYSTEM
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

memtrack.enabled boolean

Habilita o deshabilita la extensión. El valor predeterminado es 0, es decir, deshabilitado.

memtrack.soft_limit int

Límite suave de memoria.

La extensión verifica el consumo de memoria antes y después de la ejecución de un op_array y produce una advertencia si la diferencia entre los dos valores es igual o mayor que el límite suave, pero sólo si la función no es ignorada.

Al establecer esta opción a 0 también deshabilita las advertencias suaves y duras. El valor predeterminado es 0, es decir, no se producen advertencias.

memtrack.hard_limit int

Límite duro de memoria.

La extensión verifica el consumo de memoria antes y después de la ejecución de un op_array y produce una advertencia si la diferencia entre los dos valores es igual o mayor que el límite duro, incluso si la función es ignorada. EStablecer esta opción a 0 deshabilita las advertencias de límite duro completamente. El valor predeterminado es 0, es decir, no se porducen advertencias de límite duro.

memtrack.vm_limit int

Límite de memoria virtual (establecido en un proceso).

Este límite sólo se comprueba al cierre y se produce una advertencia si el valor es mayor o igual que el límite.

Esta función sólo está soportada actualmente en sistemas operativos donde está disponible la función mallinfo() (esto es, Linux).

memtrack.ignore_functions string

Una lista de funciones separada por comas o espacios en blanco que son ingoradas por soft_limit. Los valores son insensibles a mayúsculas-minúsculas, para métodos de clase use la sintasix clase::método.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Ejemplos
Memtrack


Ejemplos

Tabla de contenidos

  • Uso básico
Constantes predefinidas
Uso básico
Memtrack


Uso básico

Ejemplo básico del uso de la extension memtrack:

Ejemplo #1 Crear una matriz grande en una función

<?php

/* /tmp/ejemplo1.php */

function foo() {
    $a = array();
    for ($i = 0; $i < 10000; $i++) $a[] = "test";
    return $a;
}
$arr = foo();

?>

Ejecutar el ejemplo con el siguiente comando:

php -d memtrack.enabled=1 -d memtrack.soft_limit=1M -d memtrack.vm_limit=3M /tmp/ejemplo1.php

El resultado del ejemplo sería algo similar a:

Warning: [memtrack] [pid 26177] user function foo() executed in /tmp/ejemplo1.php on line 10 allocated 4194304 bytes in /tmp/ejemplo1.php on line 0
Warning: [memtrack] [pid 26177] virtual memory usage on shutdown: 32911360 bytes in Unknown on line 0
Ejemplos
OPcache
Ejemplos


OPcache

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • OPcache Funciones
    • opcache_compile_file — Compiles and caches a PHP script without executing it
    • opcache_get_configuration — Get configuration information about the cache
    • opcache_get_status — Get status information about the cache
    • opcache_invalidate — Invalidates a cached script
    • opcache_reset — Resets the contents of the opcode cache
Uso básico
Introducción
Afecta el comportamiento de PHP


Introducción

OPcache improves PHP performance by storing precompiled script bytecode in shared memory, thereby removing the need for PHP to load and parse scripts on each request.

This extension is bundled with PHP 5.5.0 and later, and is » available in PECL for PHP versions 5.2, 5.3 and 5.4.

OPcache
Instalación/Configuración
OPcache


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
OPcache


Instalación

The process of installing OPcache varies depending on which version of PHP you're running. Please refer to the appropriate section below.

Nota:

If you want to use OPcache with » Xdebug, you must load OPcache before Xdebug.

PHP 5.5.0 and later

OPcache can only be compiled as a shared extension. If you have disabled the building of default extensions with --disable-all , you must compile PHP with the --enable-opcache option for OPcache to be available.

Once compiled, you can use the zend_extension configuration directive to load the OPcache extension into PHP. This can be done with zend_extension=/full/path/to/opcache.so on non-Windows platforms, and zend_extension=C:\path\to\php_opcache.dll on Windows.

PHP 5.2, 5.3 and 5.4

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/ZendOpcache.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Recommended php.ini settings

The following settings are generally recommended as providing good performance:

opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1

You may also want to consider disabling opcache.save_comments and enabling opcache.enable_file_override, however note that you will have to test your code before using these in production as they are known to break some frameworks and applications, particularly in cases where documentation comment annotations are used.

A full list of configuration directives supported by OPcache is also available.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

OPcache configuration options
Nombre | Por defecto | Cambiable | Historial de cambios
opcache.enable | "1" | PHP_INI_ALL |
opcache.enable_cli | "0" | PHP_INI_SYSTEM |
opcache.memory_consumption | "64" | PHP_INI_SYSTEM |
opcache.interned_strings_buffer | "4" | PHP_INI_SYSTEM | Available since PHP 5.3.0.
opcache.max_accelerated_files | "2000" | PHP_INI_SYSTEM |
opcache.max_wasted_percentage | "5" | PHP_INI_SYSTEM |
opcache.use_cwd | "1" | PHP_INI_SYSTEM |
opcache.validate_timestamps | "1" | PHP_INI_ALL |
opcache.revalidate_freq | "2" | PHP_INI_ALL |
opcache.revalidate_path | "0" | PHP_INI_ALL |
opcache.save_comments | "1" | PHP_INI_SYSTEM |
opcache.load_comments | "1" | PHP_INI_ALL |
opcache.fast_shutdown | "0" | PHP_INI_SYSTEM |
opcache.enable_file_override | "0" | PHP_INI_SYSTEM |
opcache.optimization_level | "0xffffffff" | PHP_INI_SYSTEM |
opcache.inherited_hack | "1" | PHP_INI_SYSTEM |
opcache.dups_fix | "0" | PHP_INI_ALL |
opcache.blacklist_filename | "" | PHP_INI_SYSTEM |
opcache.max_file_size | "0" | PHP_INI_SYSTEM |
opcache.consistency_checks | "0" | PHP_INI_ALL |
opcache.force_restart_timeout | "180" | PHP_INI_SYSTEM |
opcache.error_log | "" | PHP_INI_SYSTEM |
opcache.log_verbosity_level | "1" | PHP_INI_SYSTEM |
opcache.preferred_memory_model | "" | PHP_INI_SYSTEM |
opcache.protect_memory | "0" | PHP_INI_SYSTEM |
opcache.mmap_base | NULL | PHP_INI_SYSTEM |
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

opcache.enable boolean

Enables the opcode cache. When disabled, code is not optimised and cached.

opcache.enable_cli boolean

Enables the opcode cache for the CLI version of PHP. This is mostly useful for testing and debugging.

opcache.memory_consumption integer

The size of the shared memory storage used by OPcache, in megabytes.

opcache.interned_strings_buffer integer

The amount of memory used to store interned strings, in megabytes. This configuration directive is ignored in PHP < 5.3.0.

opcache.max_accelerated_files integer

The maximum number of keys (and therefore scripts) in the OPcache hash table. The actual value used will be the first number in the set of prime numbers { 223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987 } that is bigger than the configured value. Only numbers between 200 and 100000 are allowed.

opcache.max_wasted_percentage integer

The maximum percentage of wasted memory that is allowed before a restart is scheduled.

opcache.use_cwd boolean

If enabled, OPcache appends the current working directory to the script key, thereby eliminating possible collisions between files with the same base name. Disabling this directive improves performance, but may break existing applications.

opcache.validate_timestamps boolean

If enabled, OPcache will check for updated scripts every opcache.revalidate_freq seconds. When this directive is disabled, you must reset OPcache manually via opcache_reset(), opcache_invalidate() or by restarting the Web server for changes to the filesystem to take effect.

opcache.revalidate_freq integer

How often to check script timestamps for updates, in seconds. 0 will result in OPcache checking for updates on every request.

This configuration directive is ignored if opcache.validate_timestamps if disabled.

opcache.revalidate_path boolean

If disabled, existing cached files using the same include_path will be reused. Thus, if a file with the same name is elsewhere in the include_path, it won't be found.

opcache.save_comments boolean

If disabled, all documentation comments will be discarded from the opcode cache to reduce the size of the optimised code. Disabling this configuration directive may break applications and frameworks that rely on comment parsing for annotations, including Doctrine, Zend Framework 2 and PHPUnit.

opcache.load_comments boolean

If disabled, documentation comments won't be loaded from the opcode cache even if they exist. This can be used with opcache.save_comments to only load comments for applications that require them.

opcache.fast_shutdown boolean

If enabled, a fast shutdown sequence is used that doesn't free each allocated block, but relies on the Zend Engine memory manager to deallocate the entire set of request variables en masse.

opcache.enable_file_override boolean

When enabled, the opcode cache will be checked for whether a file has already been cached when file_exists(), is_file() and is_readable() are called. This may increase performance in applications that check the existence and readability of PHP scripts, but risks returning stale data if opcache.validate_timestamps is disabled.

opcache.optimization_level integer

A bitmask that controls which optimisation passes are executed.

opcache.inherited_hack boolean

In PHP < 5.3, OPcache stores the places where DECLARE_CLASS opcodes used inheritance; when the file is loaded, OPcache then tries to bind the inherited classes using the current environment. The problem is that while the DECLARE_CLASS opcode may not be needed for the current script, if the script requires that the opcode be defined, it may not run.

This configuration directive is ignored in PHP 5.3 and later.

opcache.dups_fix boolean

This hack should only be enabled to work around "Cannot redeclare class" errors.

opcache.blacklist_filename string

The location of the OPcache blacklist file. A blacklist file is a text file containing the names of files that should not be accelerated, one per line. Wildcards are allowed, and prefixes can also be provided. Lines starting with a semi-colon are ignored as comments.

A simple blacklist file might look as follows:

; Matches a specific file.
/var/www/broken.php
; A prefix that matches all files starting with x.
/var/www/x
; A wildcard match.
/var/www/*-broken.php
opcache.max_file_size integer

The maximum file size that will be cached, in bytes. If this is 0, all files will be cached.

opcache.consistency_checks integer

If non-zero, OPcache will verify the cache checksum every N requests, where N is the value of this configuration directive. This should only be enabled when debugging, as it will impair performance.

opcache.force_restart_timeout integer

The length of time to wait for a scheduled restart to begin if the cache isn't active, in seconds. If the timeout is hit, then OPcache assumes that something is wrong and will kill the processes holding locks on the cache to permit a restart.

If opcache.log_verbosity_level is set to 3 or above, an error will be recorded in the error log when this occurs.

opcache.error_log string

The error log for OPcache errors. An empty string is treated the same as stderr, and will result in logs being sent to standard error (which will be the Web server error log in most cases).

opcache.log_verbosity_level integer

The log verbosity level. By default, only fatal errors (level 0) and errors (level 1) are logged. Other levels available are warnings (level 2), information messages (level 3) and debug messages (level 4).

opcache.preferred_memory_model string

The preferred memory model for OPcache to use. If left empty, OPcache will choose the most appropriate model, which is the correct behaviour in virtually all cases.

Possible values include mmap, shm, posix and win32.

opcache.protect_memory boolean

Protects shared memory from unexpected writes while executing scripts. This is useful for internal debugging only.

opcache.mmap_base string

The base used for shared memory segments on Windows. All PHP processes have to map shared memory into the same address space. Using this directive allows "Unable to reattach to base address" errors to be fixed.

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Configuración en tiempo de ejecución
OPcache Funciones
Instalación/Configuración


OPcache Funciones

Tabla de contenidos

  • opcache_compile_file — Compiles and caches a PHP script without executing it
  • opcache_get_configuration — Get configuration information about the cache
  • opcache_get_status — Get status information about the cache
  • opcache_invalidate — Invalidates a cached script
  • opcache_reset — Resets the contents of the opcode cache
Tipos de recursos
opcache_compile_file
OPcache


Compiles and caches a PHP script without executing it

OPcache Funciones
opcache_get_configuration
OPcache Funciones
PHP Manual

opcache_compile_file

(PHP 5 >= 5.5.5, PECL ZendOpcache > 7.0.2)

opcache_compile_file — Compiles and caches a PHP script without executing it

Descripción

boolean opcache_compile_file ( string $file )

This function compiles a PHP script and adds it to the opcode cache without executing it. This can be used to prime the cache after a Web server restart by pre-caching files that will be included in later requests.

Parámetros

file

The path to the PHP script to be compiled.

Valores devueltos

Returns TRUE if file was compiled successfully o FALSE en caso de error.

Errores/Excepciones

If file cannot be loaded or compiled, an error of level E_WARNING is generated. You may use @ to suppress this warning.

Ver también

  • opcache_invalidate() - Invalidates a cached script

OPcache Funciones
opcache_get_configuration
OPcache Funciones


Get configuration information about the cache

opcache_compile_file
opcache_get_status
OPcache Funciones
PHP Manual

opcache_get_configuration

(PHP 5 >= 5.5.5, PECL ZendOpcache > 7.0.2)

opcache_get_configuration — Get configuration information about the cache

Descripción

array opcache_get_configuration ( void )

This function returns configuration information about the cache instance

Valores devueltos

Returns an array of information, including ini, blacklist and version

Errores/Excepciones

If opcache.restrict_api is in use and the current path is in violation of the rule, an E_WARNING will be raised; no status information will be returned.

Ver también

  • opcache_get_status() - Get status information about the cache

opcache_compile_file
opcache_get_status
OPcache Funciones


Get status information about the cache

opcache_get_configuration
opcache_invalidate
OPcache Funciones
PHP Manual

opcache_get_status

(PHP 5 >= 5.5.5, PECL ZendOpcache > 7.0.2)

opcache_get_status — Get status information about the cache

Descripción

array opcache_get_status ([ boolean $get_scripts = TRUE ] )

This function returns state information about the cache instance

Parámetros

get_scripts

Include script specific state information

Valores devueltos

Returns an array of information, optionally containing script specific state information

Errores/Excepciones

If opcache.restrict_api is in use and the current path is in violation of the rule, an E_WARNING will be raised; no status information will be returned.

Ver también

  • opcache_get_configuration() - Get configuration information about the cache

opcache_get_configuration
opcache_invalidate
OPcache Funciones


Invalidates a cached script

opcache_get_status
opcache_reset
OPcache Funciones
PHP Manual

opcache_invalidate

(PHP 5 >= 5.5.0, PECL ZendOpcache >= 7.0.0)

opcache_invalidate — Invalidates a cached script

Descripción

boolean opcache_invalidate ( string $script [, boolean $force = FALSE ] )

This function invalidates a particular script from the opcode cache. If force is unset or FALSE, the script will only be invalidated if the modification time of the script is newer than the cached opcodes.

Parámetros

script

The path to the script being invalidated.

force

If set to TRUE, the script will be invalidated regardless of whether invalidation is necessary.

Valores devueltos

Returns TRUE if the opcode cache for script was invalidated or if there was nothing to invalidate, or FALSE if the opcode cache is disabled.

Ver también

  • opcache_compile_file() - Compiles and caches a PHP script without executing it
  • opcache_reset() - Resets the contents of the opcode cache

opcache_get_status
opcache_reset
OPcache Funciones


Resets the contents of the opcode cache

opcache_invalidate
Control de la salida
OPcache Funciones
PHP Manual

opcache_reset

(PHP 5 >= 5.5.0, PECL ZendOpcache >= 7.0.0)

opcache_reset — Resets the contents of the opcode cache

Descripción

boolean opcache_reset ( void )

This function resets the entire opcode cache. After calling opcache_reset(), all scripts will be reloaded and reparsed the next time they are hit.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns TRUE if the opcode cache was reset, or FALSE if the opcode cache is disabled.

Ver también

  • opcache_invalidate() - Invalidates a cached script

opcache_invalidate
Control de la salida
OPcache Funciones


Control del búfer de salida

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Uso básico
  • Funciones del Control de la salida
    • flush — Vaciar el búfer de salida
    • ob_clean — Limpiar (eliminar) el búfer de salida
    • ob_end_clean — Limpiar (eliminar) el búfer de salida y deshabilitar el almacenamiento en el mismo
    • ob_end_flush — Volcar (enviar) el búfer de salida y deshabilitar el almacenamiento en el mismo
    • ob_flush — Vaciar (enviar) el búfer de salida
    • ob_get_clean — Obtener el contenido del búfer actual y eliminar el búfer de salida actual
    • ob_get_contents — Devolver el contenido del búfer de salida
    • ob_get_flush — Volcar el búfer de salida, devolverlo como una cadena de caracteres y deshabilitar el almacenamiento en el búfer de salida
    • ob_get_length — Devolver la longitud del búfer de salida
    • ob_get_level — Devolver el nivel de anidamiento del mecanismo de almacenamiento en el búfer de salida
    • ob_get_status — Obtener el estado de los búferes de salida
    • ob_gzhandler — Función de llamada de retorno de ob_start para comprimir el búfer de salida con gzip
    • ob_implicit_flush — Habilitar/deshabilitar el volcado implícito
    • ob_list_handlers — Enumerar todos los gestores de salida en uso
    • ob_start — Activa el almacenamiento en búfer de salida
    • output_add_rewrite_var — Aladir valores al mecanismo de reescritura de URLs
    • output_reset_rewrite_vars — Restablecer los valores del mecanismo de reescritura de URLs
opcache_reset
Introducción
Afecta el comportamiento de PHP


Introducción

Las funciones del Control de la salida permiten controlar cuándo la salida se evía desde un script. Esto puede ser útil en diferentes situaciones, especialmente si es necesario enviar cabeceras al navegador después de que el script haya comenzado a producir datos. Las funciones del Control de la salida no afectan a las cabeceras enviadas usando header() o setcookie(), solamente a las funciones como echo y a los datos entre bloques de código de PHP.

Nota:

Cuando se actualiza desde PHP 4.1.x (y 4.2.x) a 4.3.x, debido a un error en versones anteriores, ha de asegurarse de que implicit_flush esté en OFF en el fichero php.ini, de lo contrario cualquier cosa producida con ob_start() no se ocultará desde la salida.

Control de la salida
Instalación/Configuración
Control de la salida


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Control de la salida


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración del Control de la salida
Nombre | Por defecto | Cambiable | Historial de cambios
output_buffering | "0" | PHP_INI_PERDIR |
output_handler | NULL | PHP_INI_PERDIR | Disponible desde PHP 4.0.4.
implicit_flush | "0" | PHP_INI_ALL | PHP_INI_PERDIR en PHP <= 4.2.3.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

output_buffering boolean/integer

Se puede habilitar el búfer de salida para todos los ficheros estableciendo esta directiva a 'On'. Si se necesita limitar el tamaño del búfer a un tamaño en particular, se puede usar un número máximo de bytes en lugar de 'On' como valor para esta directiva (p.ej., output_buffering=4096). A partir de PHP 4.3.5, esta direcitva siempre es 'Off' en PHP-CLI.

output_handler string

Se pueden redireccionar todas las salidas producidas por los scripts a una funcion. Por ejemplo, si se establece output_handler a mb_output_handler(), la codificación de caracteres será convertida de forma transparente a la codificación especificada. Al establecer cualquier gestor de salida automáticamente se activará el búfer de salida.

Nota:

No se puede usar mb_output_handler() con ob_iconv_handler(), y tampoco se puedem usar juntos ob_gzhandler() y zlib.output_compression.

Nota:

Solamente se pueden usar funciones internas con esta directiva. Para funciones definidas por el usuario se ha de usar ob_start().

implicit_flush boolean

Es FALSE de forma predeterminada. Cambiarla a TRUE le dirá a PHP que indique a la capa de salida que se vuelque a sí misma automáticamente después de cada bloque de salida. Esto es equivalente a llamar a la función de PHP flush() después de cada llamada a print o echo y de cada bloque de HTML.

Cuando se usa PHP dentro de un entorno web, la activación de esta opción tiene serias implicaciones de rendimiento, por lo que solamente se recomienda para propósitos de depuración. Este valor es TRUE de forma predeterminada cuando se opera bajo la SAPI CLI.

Véase también ob_implicit_flush().

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están disponibles siempre ya que forman parte del núcleo de PHP.

PHP_OUTPUT_HANDLER_START (integer)

Indica que el almacenamiento en el búfer de salida ha comenzado.

PHP_OUTPUT_HANDLER_WRITE (integer)

Indica que el búfer de salida está siendo volcado y tiene datos para producir una salida.

Disponible desde PHP 5.4.

PHP_OUTPUT_HANDLER_FLUSH (integer)

Indica que el búfer de salida ha sido volcado.

Disponible desde PHP 5.4.

PHP_OUTPUT_HANDLER_CLEAN (integer)

Indica que el búfer de salida ha sido limpiado.

Disponible desde PHP 5.4.

PHP_OUTPUT_HANDLER_FINAL (integer)

Indica que esta es la operación final del almacenamiento del búfer de salida.

Disponible desde PHP 5.4.

PHP_OUTPUT_HANDLER_CONT (integer)

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 PHP_OUTPUT_HANDLER_WRITE.

PHP_OUTPUT_HANDLER_END (integer)

Indica que el almacenamiento del búfer de salida ha finalizado.

A partir de PHP 5.4, esta constante es un alias de PHP_OUTPUT_HANDLER_FINAL.

PHP_OUTPUT_HANDLER_CLEANABLE (integer)

Controla si un búfer de salida creado por ob_start() puede ser limpiado.

Disponible desde PHP 5.4.

PHP_OUTPUT_HANDLER_FLUSHABLE (integer)

Controla si un búfer de salida creado por ob_start() puede ser volcado.

Disponible desde PHP 5.4.

PHP_OUTPUT_HANDLER_REMOVABLE (integer)

Controla si un búfer de salida creado por ob_start() puede ser eliminado antes de finalizar el script.

Disponible desde PHP 5.4.

PHP_OUTPUT_HANDLER_STDFLAGS (integer)

El conjunto predeterminado de banderas de búfer de salida; actualmente equivalente a PHP_OUTPUT_HANDLER_CLEANABLE | PHP_OUTPUT_HANDLER_FLUSHABLE | PHP_OUTPUT_HANDLER_REMOVABLE.

Disponible desde PHP 5.4.

Tipos de recursos
Ejemplos
Control de la salida


Ejemplos

Tabla de contenidos

  • Uso básico
Constantes predefinidas
Uso básico
Control de la salida


Uso básico

Ejemplo #1 Ejemplo de Control de la salida

<?php

ob_start();
echo "Hola\n";

setcookie("nombre_cookie", "datos_cookie");

ob_end_flush();

?>

En el ejemplo de arriba, la salida de echo sería almacenada en el búfer de salida hasta que se llamara a ob_end_flush(). Mientras tanto, la llamada a setcookie() almacenaría con éxito una cookie sin causar ningún error. (Normalmente no se pueden enviar cabeceras al navegador después de que los datos hayan sido enviados.)

Ejemplos
Funciones del Control de la salida
Ejemplos


Funciones del Control de la salida

Ver también

Véase también header() y setcookie().

Tabla de contenidos

  • flush — Vaciar el búfer de salida
  • ob_clean — Limpiar (eliminar) el búfer de salida
  • ob_end_clean — Limpiar (eliminar) el búfer de salida y deshabilitar el almacenamiento en el mismo
  • ob_end_flush — Volcar (enviar) el búfer de salida y deshabilitar el almacenamiento en el mismo
  • ob_flush — Vaciar (enviar) el búfer de salida
  • ob_get_clean — Obtener el contenido del búfer actual y eliminar el búfer de salida actual
  • ob_get_contents — Devolver el contenido del búfer de salida
  • ob_get_flush — Volcar el búfer de salida, devolverlo como una cadena de caracteres y deshabilitar el almacenamiento en el búfer de salida
  • ob_get_length — Devolver la longitud del búfer de salida
  • ob_get_level — Devolver el nivel de anidamiento del mecanismo de almacenamiento en el búfer de salida
  • ob_get_status — Obtener el estado de los búferes de salida
  • ob_gzhandler — Función de llamada de retorno de ob_start para comprimir el búfer de salida con gzip
  • ob_implicit_flush — Habilitar/deshabilitar el volcado implícito
  • ob_list_handlers — Enumerar todos los gestores de salida en uso
  • ob_start — Activa el almacenamiento en búfer de salida
  • output_add_rewrite_var — Aladir valores al mecanismo de reescritura de URLs
  • output_reset_rewrite_vars — Restablecer los valores del mecanismo de reescritura de URLs
Uso básico
flush
Control de la salida


Vaciar el búfer de salida

Funciones del Control de la salida
ob_clean
Funciones del Control de la salida
PHP Manual

flush

(PHP 4, PHP 5)

flush — Vaciar el búfer de salida

Descripción

void flush ( void )

Vacía los búferes de escritura de PHP y de cualquiera que sea el entorno en el que se esté usando PHP (CGI, un servidor web, etc.). Trata de enviar toda la salida producida hasta el momento al navegador, aunque se ha de tener en cuenta algunas cosas.

flush() podría no sobreescribir el esquema del almacenamiento en búfer del servidor web, por lo que no tiene efecto sobre ningún búfer en el lado del cliente del navegador. Tampoco afecta al mecanismo del búfer de salida del espacio de usuario de PHP. Esto significa que se ha de llamar tanto a ob_flush() como a flush() para volcar los búferes de salida si se están usando aquellos.

Algunos servidores, especialmente en Win32, seguirán almacenando en búfer la salida producida por un script hasta que éste termine antes de transmitir los resultados al navegador.

Puede que algunos módulos de servidor para Apache, como mod_gzip, usen búferes propios que causarán que flush() no resulte en un envío inmediato de los datos al cliente.

Incluso el navegador puede almacenar en búfer su entrada antes de mostrarla. Netscape, por ejemplo, almacena en búfer el texto hasta que recibe un final de línea o el comienzo de una etiqueta, por lo que no interpretará las tablas hasta que se encuentre la etiqueta </table> de la tabla más externa.

Algunas versiones de Microsoft Internet Explorer solo empezarán a mostrar la página después de que han recibido 256 bytes de salida, por lo que puede que sea necesario enviar espacios en blanco extra antes del volcado para que se muestre la página en tales navegadores.

Valores devueltos

No devuelve ningún valor.

Funciones del Control de la salida
ob_clean
Funciones del Control de la salida


Limpiar (eliminar) el búfer de salida

flush
ob_end_clean
Funciones del Control de la salida
PHP Manual

ob_clean

(PHP 4 >= 4.2.0, PHP 5)

ob_clean — Limpiar (eliminar) el búfer de salida

Descripción

void ob_clean ( void )

Esta función desecha el contenido del búfer de salida.

Esta función no destruye el búfer de salida, como lo hace ob_end_clean().

Valores devueltos

No devuelve ningún valor.

Ver también

  • ob_flush() - Vaciar (enviar) el búfer de salida
  • ob_end_flush() - Volcar (enviar) el búfer de salida y deshabilitar el almacenamiento en el mismo
  • ob_end_clean() - Limpiar (eliminar) el búfer de salida y deshabilitar el almacenamiento en el mismo

flush
ob_end_clean
Funciones del Control de la salida


Limpiar (eliminar) el búfer de salida y deshabilitar el almacenamiento en el mismo

ob_clean
ob_end_flush
Funciones del Control de la salida
PHP Manual

ob_end_clean

(PHP 4, PHP 5)

ob_end_clean — Limpiar (eliminar) el búfer de salida y deshabilitar el almacenamiento en el mismo

Descripción

bool ob_end_clean ( void )

Esta función desecha el contenido del búfer de salida en cola y lo deshabilita. Si fuera necesario continuar procesando el contenido del búfer, se ha de llamar a ob_get_contents() antes que a ob_end_clean(), ya que el contenido del búfer es desechado cuando se llama a ob_end_clean().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Entre las posibles razones de un fallo se encuentra llamar la función sin un búfer activo, o que por algún motivo no se pueda eliminar un búfer (posible en el caso de búferes especiales).

Errores/Excepciones

Si la función falla, genera un error de nivel E_NOTICE.

Historial de cambios

Versión | Descripción
4.2.0 | El valor de retorno booleano fue agregado.

Ejemplos

El siguiente ejemplo muestra una forma sencilla de deshacerse de todos los búferes de salida:

Ejemplo #1 Ejemplo de ob_end_clean()

<?php
ob_start();
echo 'Texto que no será mostrado.';
ob_end_clean();
?>

Ver también

  • ob_start() - Activa el almacenamiento en búfer de salida
  • ob_get_contents() - Devolver el contenido del búfer de salida
  • ob_flush() - Vaciar (enviar) el búfer de salida

ob_clean
ob_end_flush
Funciones del Control de la salida


Volcar (enviar) el búfer de salida y deshabilitar el almacenamiento en el mismo

ob_end_clean
ob_flush
Funciones del Control de la salida
PHP Manual

ob_end_flush

(PHP 4, PHP 5)

ob_end_flush — Volcar (enviar) el búfer de salida y deshabilitar el almacenamiento en el mismo

Descripción

bool ob_end_flush ( void )

Esta función enviará el contenido del búfer de salida en cola (si existe) y los deshabilitará. Si fuera necesario procesar el contenido del búfer, se ha de llamar a ob_get_contents() antes que a ob_end_flush(), ya que el contenido del búfer es descartado después de llamar a ob_end_flush().

Nota: Esta función es similar a ob_get_flush(), excepto que ob_get_flush() devuelve el búfer como una cadena de caracteres.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Entre las posibles razones de un fallo se encuentra llamar la función sin un búfer activo, o que por algún motivo no se pueda eliminar un búfer (posible en el caso de búferes especiales).

Errores/Excepciones

Si la función falla, genera un error de nivel E_NOTICE.

Historial de cambios

Versión | Descripción
4.2.0 | El valor de retorno booleano fue agregado.

Ejemplos

Ejemplo #1 Ejemplo de ob_end_flush()

El siguiente ejemplo muestra una forma sencilla de volcar y finalizar todos los búferes de salida:

<?php
  while (@ob_end_flush());
?>

Ver también

  • ob_start() - Activa el almacenamiento en búfer de salida
  • ob_get_contents() - Devolver el contenido del búfer de salida
  • ob_get_flush() - Volcar el búfer de salida, devolverlo como una cadena de caracteres y deshabilitar el almacenamiento en el búfer de salida
  • ob_flush() - Vaciar (enviar) el búfer de salida
  • ob_end_clean() - Limpiar (eliminar) el búfer de salida y deshabilitar el almacenamiento en el mismo

ob_end_clean
ob_flush
Funciones del Control de la salida


Vaciar (enviar) el búfer de salida

ob_end_flush
ob_get_clean
Funciones del Control de la salida
PHP Manual

ob_flush

(PHP 4 >= 4.2.0, PHP 5)

ob_flush — Vaciar (enviar) el búfer de salida

Descripción

void ob_flush ( void )

Esta función enviará el contenido del búfer de salida (si existe). Si fuera necesario continuar procesando el contenido del búfer, se ha de llamar a ob_get_contents() antes que a ob_flush(), ya que el contenido del búfer es descartado después de llamar a ob_flush().

Esta función no destruye el búfer de salida, como lo hace ob_end_flush().

Valores devueltos

No devuelve ningún valor.

Ver también

  • ob_get_contents() - Devolver el contenido del búfer de salida
  • ob_clean() - Limpiar (eliminar) el búfer de salida
  • ob_end_flush() - Volcar (enviar) el búfer de salida y deshabilitar el almacenamiento en el mismo
  • ob_end_clean() - Limpiar (eliminar) el búfer de salida y deshabilitar el almacenamiento en el mismo

ob_end_flush
ob_get_clean
Funciones del Control de la salida


Obtener el contenido del búfer actual y eliminar el búfer de salida actual

ob_flush
ob_get_contents
Funciones del Control de la salida
PHP Manual

ob_get_clean

(PHP 4 >= 4.3.0, PHP 5)

ob_get_clean — Obtener el contenido del búfer actual y eliminar el búfer de salida actual

Descripción

string ob_get_clean ( void )

Obtiene el contenido del búfer actual y elimina el búfer de salida actual.

ob_get_clean() básicamente ejecuta
ob_get_contents() y
ob_end_clean().

Valores devueltos

Devuelve el contenido del búfer de salida y finaliza el almacenamiento en el mismo. Si el almacenamiento en el búfer de salida no está activo, entonces se devuelve FALSE.

Ejemplos

Ejemplo #1 Un ejemplo sencillo de ob_get_clean()

<?php

ob_start();

echo "Hola Mundo";

$salida = ob_get_clean();
$salida = strtolower($salida);

var_dump($salida);
?>

El resultado del ejemplo sería:

string(10) "hola mundo"

Ver también

  • ob_get_contents() - Devolver el contenido del búfer de salida
  • ob_start() - Activa el almacenamiento en búfer de salida

ob_flush
ob_get_contents
Funciones del Control de la salida


Devolver el contenido del búfer de salida

ob_get_clean
ob_get_flush
Funciones del Control de la salida
PHP Manual

ob_get_contents

(PHP 4, PHP 5)

ob_get_contents — Devolver el contenido del búfer de salida

Descripción

string ob_get_contents ( void )

Obtiene el contenido del búfer de salida, sin borrarlo.

Valores devueltos

Devolverá el contenido del búfer de salida, o FALSE si el almacenameinto en el búfer de salida no está activo.

Ejemplos

Ejemplo #1 Un ejemplo sencillo de ob_get_contents()

<?php

ob_start();

echo "Hola ";

$salida1 = ob_get_contents();

echo "Mundo";

$salida2 = ob_get_contents();

ob_end_clean();

var_dump($salida1, $salida2);
?>

El resultado del ejemplo sería:

string(5) "Hola "
string(10) "Hola Mundo"

Ver también

  • ob_start() - Activa el almacenamiento en búfer de salida
  • ob_get_length() - Devolver la longitud del búfer de salida

ob_get_clean
ob_get_flush
Funciones del Control de la salida


Volcar el búfer de salida, devolverlo como una cadena de caracteres y deshabilitar el almacenamiento en el búfer de salida

ob_get_contents
ob_get_length
Funciones del Control de la salida
PHP Manual

ob_get_flush

(PHP 4 >= 4.3.0, PHP 5)

ob_get_flush — Volcar el búfer de salida, devolverlo como una cadena de caracteres y deshabilitar el almacenamiento en el búfer de salida

Descripción

string ob_get_flush ( void )

ob_get_flush() vuelca el búfer de salida, lo devuelve como una cadena de caracteres y deshabilita el almacenamiento en el búfer de salida.

Nota: Esta función es similar a ob_end_flush(), excepto que esta función devuelve el búfer como una cadena de caracteres.

Valores devueltos

Devuelve el búfer de salida, o FALSE si el almacenamiento en el búfer no está activo.

Ejemplos

Ejemplo #1 Ejemplo de ob_get_flush()

<?php
//usando output_buffering=On
print_r(ob_list_handlers());

//guardar el búfer en un fichero
$búfer = ob_get_flush();
file_put_contents('bufer.txt', $búfer);

print_r(ob_list_handlers());
?>

El resultado del ejemplo sería:

Array
(
    [0] => default output handler
)
Array
(
)

Ver también

  • ob_end_clean() - Limpiar (eliminar) el búfer de salida y deshabilitar el almacenamiento en el mismo
  • ob_end_flush() - Volcar (enviar) el búfer de salida y deshabilitar el almacenamiento en el mismo
  • ob_list_handlers() - Enumerar todos los gestores de salida en uso

ob_get_contents
ob_get_length
Funciones del Control de la salida


Devolver la longitud del búfer de salida

ob_get_flush
ob_get_level
Funciones del Control de la salida
PHP Manual

ob_get_length

(PHP 4 >= 4.0.2, PHP 5)

ob_get_length — Devolver la longitud del búfer de salida

Descripción

int ob_get_length ( void )

Esta función devolverá la longitud del contenido del búfer de salida.

Valores devueltos

Devuelve la longitud del contenido del búfer de salida, o FALSE si no está activo el almacenamiento en búfer.

Ejemplos

Ejemplo #1 Un ejemplo sencillo de ob_get_length()

<?php

ob_start();

echo "Hola ";

$longitud1 = ob_get_length();

echo "Mundo";

$longitud2 = ob_get_length();

ob_end_clean();

echo $longitud1 . ", ." . $longitud2;
?>

El resultado del ejemplo sería:

5, 10

Ver también

  • ob_start() - Activa el almacenamiento en búfer de salida
  • ob_get_contents() - Devolver el contenido del búfer de salida

ob_get_flush
ob_get_level
Funciones del Control de la salida


Devolver el nivel de anidamiento del mecanismo de almacenamiento en el búfer de salida

ob_get_length
ob_get_status
Funciones del Control de la salida
PHP Manual

ob_get_level

(PHP 4 >= 4.2.0, PHP 5)

ob_get_level — Devolver el nivel de anidamiento del mecanismo de almacenamiento en el búfer de salida

Descripción

int ob_get_level ( void )

Devuelve el nivel de anidamiento del mecanismo de almacenamiento en el búfer de salida.

Valores devueltos

Devuelve el nivel de los gestores de almacenamiento en búfer de salida anidados, o cero si el almacenamiento en búfer no está activo.

Ver también

  • ob_start() - Activa el almacenamiento en búfer de salida
  • ob_get_contents() - Devolver el contenido del búfer de salida

ob_get_length
ob_get_status
Funciones del Control de la salida


Obtener el estado de los búferes de salida

ob_get_level
ob_gzhandler
Funciones del Control de la salida
PHP Manual

ob_get_status

(PHP 4 >= 4.2.0, PHP 5)

ob_get_status — Obtener el estado de los búferes de salida

Descripción

array ob_get_status ([ bool $full_status = FALSE ] )

ob_get_status() devuelve la información de estado sobre el búfer de salida de nivel superior, o sobre todos los niveles activos de búferes de salida si full_status es establecido a TRUE.

Parámetros

full_status

TRUE para devolver todos los niveles de búferes de salida activos. Si es FALSE o no se establece, solo es devuelto el búfer de salida de nivel más alto.

Valores devueltos

Si esta función es llamada sin el parámetro full_status, o con full_status = FALSE, se devuelve un único array con los siguientes elementos:

Array
(
    [level] => 2
    [type] => 0
    [status] => 0
    [name] => URL-Rewriter
    [del] => 1
)
Resultados simples de ob_get_status()
Clave:level
Valor:Nivel de anidamiento de la salida
Clave:type
Valor:PHP_OUTPUT_HANDLER_INTERNAL(0) o PHP_OUTPUT_HANDLER_USER (1)
Clave:status
Valor:Un valor entre PHP_OUTPUT_HANDLER_START (0), PHP_OUTPUT_HANDLER_CONT (1) o PHP_OUTPUT_HANDLER_END (2)
Clave:name
Valor:Nombre del gestor de salida activo, o 'default output handler' si no hay uno establecido
Clave:del
Valor:Bandera de borrado, tal y como está establecido por ob_start()

Si se llama con full_status = TRUE, se devuelve un array con un elemento por cada nivel de búfer de salida activo. El nivel de salida se usa como la clave del array de nivel superior, y cada elemento del array en sí es otro array que contiene información de estado sobre un nivel de salida activo.

Array
(
    [0] => Array
        (
            [chunk_size] => 0
            [size] => 40960
            [block_size] => 10240
            [type] => 1
            [status] => 0
            [name] => default output handler
            [del] => 1
        )

    [1] => Array
        (
            [chunk_size] => 0
            [size] => 40960
            [block_size] => 10240
            [type] => 0
            [buffer_size] => 0
            [status] => 0
            [name] => URL-Rewriter
            [del] => 1
        )

)

La salida completa contiene los siguientes elementos adicionales:

Resultados completos de ob_get_status()
Clave:chunk_size
Valor:Tamaño del segmento, tal y como es establecido por ob_start()
Clave:size
Valor:...
Clave:blocksize
Valor:...

Ver también

  • ob_get_level() - Devolver el nivel de anidamiento del mecanismo de almacenamiento en el búfer de salida
  • ob_list_handlers() - Enumerar todos los gestores de salida en uso

ob_get_level
ob_gzhandler
Funciones del Control de la salida


Función de llamada de retorno de ob_start para comprimir el búfer de salida con gzip

ob_get_status
ob_implicit_flush
Funciones del Control de la salida
PHP Manual

ob_gzhandler

(PHP 4 >= 4.0.4, PHP 5)

ob_gzhandler — Función de llamada de retorno de ob_start para comprimir el búfer de salida con gzip

Descripción

string ob_gzhandler ( string $buffer , int $mode )

ob_gzhandler() tiene por objeto usarse como una función de llamada de retorno para ob_start() para facilitar en envío de datos codificados con gz a los navegadores web que admiten la compresión de páginas web. Antes de que ob_gzhandler() realmente envíe datos comprimidos, determina el tipo de codificación de contenido que aceptará el navegador ("gzip", "deflate" o ninguno) y devolverá su salida en consecuencia. Se admiten todos los navegadores, ya que es responsabilidad de los mismos enviar la cabecera correcta que indique que acepta páginas web comprimidas. Si un navegador no admite páginas comprimidas, esta función devolverá FALSE.

Parámetros

buffer

mode

Valores devueltos

Historial de cambios

Versión | Descripción
4.0.5 | Se añadió el parámetro mode.

Ejemplos

Ejemplo #1 Ejemplo de ob_gzhandler()

<?php

ob_start("ob_gzhandler");

?>
<html>
<body>
<p>Esta debería ser una página comprimida.</p>
</body>
</html>

Notas

Nota:

ob_gzhandler() requiere la extensión zlib.

Nota:

No se pueden usar juntos ob_gzhandler() y zlib.output_compression. Observe también que se prefiere el uso de zlib.output_compression antes que ob_gzhandler().

Ver también

  • ob_start() - Activa el almacenamiento en búfer de salida
  • ob_end_flush() - Volcar (enviar) el búfer de salida y deshabilitar el almacenamiento en el mismo

ob_get_status
ob_implicit_flush
Funciones del Control de la salida


Habilitar/deshabilitar el volcado implícito

ob_gzhandler
ob_list_handlers
Funciones del Control de la salida
PHP Manual

ob_implicit_flush

(PHP 4, PHP 5)

ob_implicit_flush — Habilitar/deshabilitar el volcado implícito

Descripción

void ob_implicit_flush ([ int $flag = true ] )

ob_implicit_flush() habilitará o deshabilitará el volcado implícito. El volcado implícito resultará en una operación de volcado después de cada llamada que produzca salida, de modo que no son necesarias las llamadas explícitas a flush().

Parámetros

flag

TRUE para habilitar el volcado implícito, FALSE para deshabilitarlo.

Valores devueltos

No devuelve ningún valor.

Ver también

  • flush() - Vaciar el búfer de salida
  • ob_start() - Activa el almacenamiento en búfer de salida
  • ob_end_flush() - Volcar (enviar) el búfer de salida y deshabilitar el almacenamiento en el mismo

ob_gzhandler
ob_list_handlers
Funciones del Control de la salida


Enumerar todos los gestores de salida en uso

ob_implicit_flush
ob_start
Funciones del Control de la salida
PHP Manual

ob_list_handlers

(PHP 4 >= 4.3.0, PHP 5)

ob_list_handlers — Enumerar todos los gestores de salida en uso

Descripción

array ob_list_handlers ( void )

Enumera todos los gestores de salida en uso.

Valores devueltos

Esta función devolverá un array con los gestores de salida en uso (si existen). Si output_buffering está habilitado o se usó una función anónima con ob_start(), ob_list_handlers() devolverá "default output handler" (gestor de salida predeterminado).

Ejemplos

Ejemplo #1 Ejemplo de ob_list_handlers()

<?php
//usando output_buffering=On
print_r(ob_list_handlers());
ob_end_flush();

ob_start("ob_gzhandler");
print_r(ob_list_handlers());
ob_end_flush();

// funciones anónimas
ob_start(function($string) { return $string; });
print_r(ob_list_handlers());
ob_end_flush();
?>

El resultado del ejemplo sería:

Array
(
    [0] => default output handler
)

Array
(
    [0] => ob_gzhandler
)

Array
(
    [0] => Closure::__invoke
)

Ver también

  • ob_end_clean() - Limpiar (eliminar) el búfer de salida y deshabilitar el almacenamiento en el mismo
  • ob_end_flush() - Volcar (enviar) el búfer de salida y deshabilitar el almacenamiento en el mismo
  • ob_get_flush() - Volcar el búfer de salida, devolverlo como una cadena de caracteres y deshabilitar el almacenamiento en el búfer de salida
  • ob_start() - Activa el almacenamiento en búfer de salida

ob_implicit_flush
ob_start
Funciones del Control de la salida


Activa el almacenamiento en búfer de salida

ob_list_handlers
output_add_rewrite_var
Funciones del Control de la salida
PHP Manual

ob_start

(PHP 4, PHP 5)

ob_start — Activa el almacenamiento en búfer de salida

Descripción

bool ob_start ([ callable $output_callback = NULL [, int $chunk_size = 0 [, int $flags = PHP_OUTPUT_HANDLER_STDFLAGS ]]] )

Esta función activará el almacenamiento en búfer de salida. Mientras dicho almacenamiento esté activo, no se enviará ninguna salida desde el script (aparte de cabeceras), en su lugar la salida se almacenará en un búfer interno.

El contenido de este búfer interno se puede copiar a una variable de tipo string usando ob_get_contents(). Para producir la salida de lo almacenado en el búfer interno se ha de usar ob_end_flush(). De forma alternativa, ob_end_clean() desechará de manera silenciosa el contenido del búfer.

Advertencia

Algunos servidores web (p.ej. Apache) cambian en directorio de trabajo de un script cuando se invoca a la función de llamada de retorno. Se puede cambiar de nuevo mediante, por ejemplo, chdir(dirname($_SERVER['SCRIPT_FILENAME'])) en la función de llamada de retorno.

Los búferes de salida son apilables, es decir, que se podría llamar a ob_start() mientras otro ob_start() esté activo. Se ha de asegurar llamar a ob_end_flush() las veces apropiadas. Si están activas múltiples funciones de llamada de retorno de salida, la salida se filtrará secuencialmente por cada una de ellas en orden de anidamiento.

Parámetros

output_callback

Se puede especificar una función output_callback opcional. Esta función toma un string como parámetro y debería devolver otro string. La función se llamará cuando el búfer de salida sea volcado (enviado), limpiado (con ob_flush(), ob_clean() o alguna función similar) o cuando el búfer de salida sea volcado al navegador al final de la petición. Cuando se llame a output_callback, ésta recibirá el contenido del búfer de salida como su propio parámetro, y se espera que devuelva un nuevo búfer de salida como resultado, que será enviado al navegador. Si output_callback no es una función llamable, esta función devolverá FALSE. Esta es la firma de la llamada de retorno:

bool handler ( string $buffer [, int $phase ] )
buffer
Contenido del búfer de salida.
phase
Máscara de bits de constantes PHP_OUTPUT_HANDLER_*.

Si output_callback devuelve FALSE, se enviará la entrada original al navegador.

El parámetro output_callback se puede omitir pasando un valor NULL.

ob_end_clean(), ob_end_flush(), ob_clean(), ob_flush() y ob_start() no se pueden llamar desde una función de llamada de retorno. Si se hace, el comportamiento no estará definido. Si se quiere borrar el contenido de un búfer, se ha de devolver "" (un string nulo) desde la función de llamada de retorno. Tampoco se pueden llamar a funciones usando las funciones de búfer de salida como print_r($expresión, true) o highlight_file($nombre_fichero, true) desde una función de llamada de retorno.

Nota:

En PHP 4.0.4, ob_gzhandler() se introdujo para facilitar el envío de datos codificados con gz a los navegadores web que admitan páginas web comprimidas. ob_gzhandler() determima el tipo de codificación de contenido que aceptará el navegador y devolverá su salida en consecuencia.

chunk_size

Si se proporciona el parámetro opcional chunk_size, el búffer será volcado después de cualquier llamada de salida que cause que la longitud del búfer sea igual o exceda a chunk_size. El valor predeterminado 0 significa que la función de salida será llamada únicamente cuando el búfer de salida se cierre.

Antes de PHP 5.4.0, el valor 1 era un caso especial que establecía el tamaño de segmento a 4096 bytes.

flags

El parámetro flags es una máscara de bits que controla las operaciones que se pueden realizar sobre el búfer de salida. Lo predeterminado es permitir que los búferes de salida sean limpiados, volcados y borrados, lo que se puede hacer explícitamente mediante PHP_OUTPUT_HANDLER_CLEANABLE | PHP_OUTPUT_HANDLER_FLUSHABLE | PHP_OUTPUT_HANDLER_REMOVABLE, o PHP_OUTPUT_HANDLER_STDFLAGS como clave.

Cada bandera (flag) controla el acceso a un conjunto de funciones, como está descrito a continuación:

Constante | Funciones
PHP_OUTPUT_HANDLER_CLEANABLE | ob_clean(), ob_end_clean(), y ob_get_clean().
PHP_OUTPUT_HANDLER_FLUSHABLE | ob_end_flush(), ob_flush(), y ob_get_flush().
PHP_OUTPUT_HANDLER_REMOVABLE | ob_end_clean(), ob_end_flush(), y ob_get_flush().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.4.0 | El tercer parámetro de ob_start() se cambió de un parámetro boolean llamado erase (el cual, si se establecía a FALSE, prevenía al búfer de salida de ser eliminado hasta el final de la ejecución del script) a un parámetro integer llamado flags. Desafortunadamente, esto resulta en una rotura de compatibilidad de la API para código escrito antes de PHP 5.4.0 que use el tercer parámetro. Véase el ejemplo de banderas para saber cómo manejar esto con código que necesite ser compatible con ambas.
5.4.0 | Un tamaño de segmento de 1 ahora resulta en segmentos de 1 byte que se van a enviar al búfer de salida.
4.3.2 | Se modficó esta función para devolver FALSE en caso de que la función output_callback pasada no podía ejecutarse.
4.2.0 | Se añadió el parámetro erase.

Ejemplos

Ejemplo #1 Ejemplo de una función de llamada de retorno definida por el usuario

<?php

function callback($búfer)
{
  // reemplazar todas las manzanas por naranjas
  return (str_replace("manzanas", "naranjas", $búfer));
}

ob_start("callback");

?>
<html>
<body>
<p>Es como comparar manzanas con naranjas.</p>
</body>
</html>
<?php

ob_end_flush();

?>

El resultado del ejemplo sería:

<html>
<body>
<p>Es como comparar naranjas con naranjas.</p>
</body>
</html>

Ejemplo #2 Crear un búfer de salida imborrable de forma compatible con PHP 5.3 y 5.4

<?php

if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
  ob_start(null, 0, PHP_OUTPUT_HANDLER_STDFLAGS ^
    PHP_OUTPUT_HANDLER_REMOVABLE);
} else {
  ob_start(null, 0, false);
}

?>

Ver también

  • ob_get_contents() - Devolver el contenido del búfer de salida
  • ob_end_clean() - Limpiar (eliminar) el búfer de salida y deshabilitar el almacenamiento en el mismo
  • ob_end_flush() - Volcar (enviar) el búfer de salida y deshabilitar el almacenamiento en el mismo
  • ob_implicit_flush() - Habilitar/deshabilitar el volcado implícito
  • ob_gzhandler() - Función de llamada de retorno de ob_start para comprimir el búfer de salida con gzip
  • ob_iconv_handler() - Convierte la codificación de caracteres al manejador del buffer de salida
  • mb_output_handler() - Función de llamada de retorno que convierte la codificación de caracteres en búfer de salida
  • ob_tidyhandler() - Función callback de ob_start para reparar el buffer

ob_list_handlers
output_add_rewrite_var
Funciones del Control de la salida


Aladir valores al mecanismo de reescritura de URLs

ob_start
output_reset_rewrite_vars
Funciones del Control de la salida
PHP Manual

output_add_rewrite_var

(PHP 4 >= 4.3.0, PHP 5)

output_add_rewrite_var — Aladir valores al mecanismo de reescritura de URLs

Descripción

bool output_add_rewrite_var ( string $name , string $value )

Esta función añade otro par nombre/valor al mecanismo de reescritura de URLs. El nombre y el valor se agregarán a los URLs (como parámetros de GET) y a los formularios (como camos intput ocultos) de la misma forma que el ID de sesión cuando la reescritura de URLs de forma transparente está habilitada con session.use_trans_sid. Observe que los URLs absolutos (http://example.com/..) no son reescritos.

El comportamiento de esta función está controlado por el parámetro url_rewriter.tags de php.ini.

Nota: Al llamar a esta función se iniciará el almacenamiento implícito en búfer de salida si no estaba ya activo.

Parámetros

name

El nombre de la variable.

value

El valor de la variable.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de output_add_rewrite_var()

<?php
output_add_rewrite_var('var', 'valor');

// algunos enlaces
echo '<a href="fichero.php">enlace</a>
<a href="http://example.com">enlace2</a>';

// un formulario
echo '<form action="script.php" method="post">
<input type="text" name="var2" />
</form>';

print_r(ob_list_handlers());
?>

El resultado del ejemplo sería:

<a href="fichero.php?var=valor">enlace</a>
<a href="http://example.com">enlace2</a>

<form action="script.php" method="post">
<input type="hidden" name="var" value="valor" />
<input type="text" name="var2" />
</form>

Array
(
    [0] => URL-Rewriter
)

Ver también

  • output_reset_rewrite_vars() - Restablecer los valores del mecanismo de reescritura de URLs
  • ob_flush() - Vaciar (enviar) el búfer de salida
  • ob_list_handlers() - Enumerar todos los gestores de salida en uso

ob_start
output_reset_rewrite_vars
Funciones del Control de la salida


Restablecer los valores del mecanismo de reescritura de URLs

output_add_rewrite_var
Opciones/Info de PHP
Funciones del Control de la salida
PHP Manual

output_reset_rewrite_vars

(PHP 4 >= 4.3.0, PHP 5)

output_reset_rewrite_vars — Restablecer los valores del mecanismo de reescritura de URLs

Descripción

bool output_reset_rewrite_vars ( void )

Esta función restablece el mecanismo de reescritura de URLs y elimina todas las variables de reescritura establecidas previamente por la función output_add_rewrite_var() o por el mecanismo de sesiones (si session.use_trans_sid se estableció en session_start()).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de output_reset_rewrite_vars()

<?php
session_start();
output_add_rewrite_var('var', 'valor');

echo '<a href="fichero.php">enlace</a>';
ob_flush();

output_reset_rewrite_vars();
echo '<a href="fichero.php">enlace</a>';
?>

El resultado del ejemplo sería:

<a href="fichero.php?PHPSESSID=xxx&var=valor">enlace</a>
<a href="fichero.php">enlace</a>

Ver también

  • output_add_rewrite_var() - Aladir valores al mecanismo de reescritura de URLs
  • ob_flush() - Vaciar (enviar) el búfer de salida
  • ob_list_handlers() - Enumerar todos los gestores de salida en uso
  • session_start() - Iniciar una nueva sesión o reanudar la existente

output_add_rewrite_var
Opciones/Info de PHP
Funciones del Control de la salida


Opciones e Información de PHP

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de Opciones/Info de PHP
    • assert_options — Establecer/obtener valores de las directivas relacionadas con las aserciones
    • assert — Checks if assertion is FALSE
    • cli_get_process_title — Returns the current process title
    • cli_set_process_title — Sets the process title
    • dl — Carga una extensión PHP en tiempo de ejecucción
    • extension_loaded — Encontrar si una extensión está cargada
    • gc_collect_cycles — Las fuerzas de la colección de todos los ciclos de basura existentes
    • gc_disable — Desactiva el recolector de referencia circular
    • gc_enable — Activa el colector de referencia circular
    • gc_enabled — Devuelve el estado del colector de referencia circular
    • get_cfg_var — Obtiene el valor de una opción de configuración de PHP
    • get_current_user — Obtiene el nombre del propietario del script PHP actual
    • get_defined_constants — Devuelve un array asociativo con los nombres de todas las constantes y sus valores
    • get_extension_funcs — Devuelve una matriz con los nombres de funciones de un módulo
    • get_include_path — Obtiene la opción de configuración include_path actual
    • get_included_files — Devuelve un array con los nombres de los archivos incluidos o requeridos
    • get_loaded_extensions — Devuelve un array con los nombres de todos los módulos compilados y cargados
    • get_magic_quotes_gpc — Obtiene el valor actual de configuración de magic_quotes_gpc
    • get_magic_quotes_runtime — Obtiene el valor de configuración activo actual de magic_quotes_runtime
    • get_required_files — Alias de get_included_files
    • getenv — Obtiene el valor de una variable de entorno
    • getlastmod — Obtiene la hora de la última modificación de la página
    • getmygid — Obtener el GID del dueño del script PHP
    • getmyinode — Obtiene el inode del script actual
    • getmypid — Obtiene el ID del proceso PHP
    • getmyuid — Obtiene el UID del dueño del script PHP
    • getopt — Obtiene las opciones de la lista de argumentos de la línea de comandos
    • getrusage — Obtiene el uso de los recursos actuales
    • ini_alter — Alias de ini_set
    • ini_get_all — Obtiene todas las opciones de configuración
    • ini_get — Devuelve el valor de una directiva de configuración
    • ini_restore — Restablece el valor de una opción de configuración
    • ini_set — Establece el valor de una directiva de configuración
    • magic_quotes_runtime — Alias de set_magic_quotes_runtime
    • main — Función main falsa
    • memory_get_peak_usage — Devuelve el máximo de memoria asignada por PHP
    • memory_get_usage — Devuelve la cantidad de memoria asignada a PHP
    • php_ini_loaded_file — Recupera la ruta de acceso al archivo php.ini cargado
    • php_ini_scanned_files — Devuelve una lista de ficheros .ini procesados del directorio adicional ini dir
    • php_logo_guid — Obtiene el valor guid del logo
    • php_sapi_name — Devuelve el tipo de interfaz que hay entre PHP y el servidor
    • php_uname — Devuelve información sobre el sistema operativo en que se está ejecutando PHP
    • phpcredits — Imprime los créditos de PHP
    • phpinfo — Muestra información sobre la configuración de PHP
    • phpversion — Obtiene la versión de PHP
    • putenv — Establece el valor de una variable de entorno
    • restore_include_path — Restablece el valor de la opción de configuración include_path
    • set_include_path — Establece la opción de configuración include_path
    • set_magic_quotes_runtime — Establece el valor de configuración activo actual de magic_quotes_runtime
    • set_time_limit — Limita el tiempo máximo de ejecución
    • sys_get_temp_dir — Devuelve la ruta del directorio para archivos temporales
    • version_compare — Compara dos números de versiones estandarizados de PHP
    • zend_logo_guid — Obtiene el valor guid de Zend
    • zend_thread_id — Devuelve un identificador único del thread actual
    • zend_version — Obtiene la versión del motor Zend actual
output_reset_rewrite_vars
Introducción
Afecta el comportamiento de PHP


Introducción

Estas funciones permiten obtener mucha información sobre PHP, p.ej., configuración en tiempo de ejecución, extensiones en uso, versión, y mucho más. También se pueden encontrar funciones para establecer opciones al ejecutar PHP. Aquí se puede encontrar la función probablemente más conocida de PHP - phpinfo() -.

Opciones/Info de PHP
Instalación/Configuración
Opciones/Info de PHP


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Opciones/Info de PHP


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de PHP/Opciones de configuración Inf
Nombre | Por defecto | Cambiable | Historial de cambios
assert.active | "1" | PHP_INI_ALL |
assert.bail | "0" | PHP_INI_ALL |
assert.warning | "1" | PHP_INI_ALL |
assert.callback | NULL | PHP_INI_ALL |
assert.quiet_eval | "0" | PHP_INI_ALL |
enable_dl | "1" | PHP_INI_SYSTEM | Esta característica obsoleta será eliminada con certeza en el futuro.
max_execution_time | "30" | PHP_INI_ALL |
max_input_time | "-1" | PHP_INI_PERDIR | Disponible desde PHP 4.3.0.
max_input_nesting_level | "64" | PHP_INI_PERDIR | Disponible desde PHP 4.4.8. y PHP 5.2.3.
max_input_vars | 1000 | PHP_INI_PERDIR | Available since PHP 5.3.9.
magic_quotes_gpc | "1" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3. Eliminado en PHP 5.4.0
magic_quotes_runtime | "0" | PHP_INI_ALL | Eliminado en PHP 5.4.0
zend.enable_gc | "1" | PHP_INI_ALL | Disponible desde PHP 5.3.0.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

assert.active boolean

Activa la evaluación de aserciones().

assert.bail boolean

Terminar la ejecución del script si falla una aserción.

assert.warning boolean

Lanza un PHP warning for cada aserción que falle.

assert.callback string

Función de usuario a llamar cuando fallen las aserciones.

assert.quiet_eval boolean

Usar la configuración actual de error_reporting() durante las expresiones de evaluación de aserciones. Si está habilitado, no se mostrarán errores (incondicional error_reporting(0)) durante evaluación. Si está deshabitado, se mostrarán errores según la configuración de error_reporting()

enable_dl boolean

Esta directiva es muy útil solamente en la versión PHP con el módulo Apache. Se puede activar o desactivar la carga dinámica de extensiones PHP con dl() por servidor virtual o directorio.

La razón principal para desactivar la carga dinámica es por seguridad. Con la carga dinámica, es posible ignorar todas las restricciones open_basedir. De forma predeterminada se permite la carga dinámica excepto cuando se usa safe mode. En safe mode, es imposible usar dl().

max_execution_time integer

Este valor establece el tiempo máximo en segundos que se permite ejecutar antes de que el analizador termine. Esto ayuda a prevenir que scripts mal escritos bloqueen el servidor. El valor por defecto es 30. Cuando se ejecuta PHP desde la línea de comandos el valor por defecto es 0.

El tiempo de ejecución máxima no está afectada por llamadas al sistema, operaciones de stream etc. Por favor véase la función set_time_limit() para más información.

No se puede cambiar esta opción con ini_set() cuando se ejecuta en safe mode. La única manera es desactivar safe mode o cambiando el límite en php.ini.

El servidor web puede tener otras configuraciones de tiempo de espera que quizá interrumpan la ejecución de PHP. Apache tiene la directiva Timeout y IIS tiene la función CGI timeout. Las dos de 300 segundos por omisión. Véase la documentación del servidor web para información específica.

max_input_time integer

Establece el tiempo máximo en segundos que se permite a un script analizar datos de entrada, como POST, GET. Se mide desde el momento de recepción de todos los datos en el servidor hasta el inicio de la ejecución del script.

max_input_nesting_level integer

Establece el máximo de profundidad de anidamiento para variables de entrada (p.ej. $_GET, $_POST..)

max_input_vars integer

Cuantas variables de entrada pueden ser aceptadas (el límite se aplica a los arrays superglobales $_GET, $_POST y $_COOKIE de forma separada). El uso de esta directiva mitiga la posibilidad de ataques de denegación de servicio que utilizan colisiones de hash. Si hay más variables de entrada que las especificadas por la presente directiva, un E_WARNING es emitido, y otras variables entrada son truncadas a partir de la solicitud.

magic_quotes_gpc boolean
Advertencia

Esta característica ha sido declarada OBSOLETA desde PHP 5.3.0 y ELIMINADA a partir de PHP 5.4.0.

Establece las magic_quotes state para operaciones GPC (Get/Post/Cookie). Cuando las magic_quotes están activadas, todas las ' (comillas simples), " (comillas dobles), \ (barra invertida) y NUL's son escapados con una barra invertida de forma automática..

Nota:

En PHP 4, también las variables $_ENV son escapadas.

Nota:

Si la directiva magic_quotes_sybase también está activada sobrescribirá completamente magic_quotes_gpc. Tener las dos directivas habilitadas significa que solamente las comillas simples son escapadas como ''. Comillas dobles, barras invertidas y NUL's permanecerán igual sin ser escapadas.

Ver también get_magic_quotes_gpc()

magic_quotes_runtime boolean
Advertencia

Esta característica ha sido declarada OBSOLETA desde PHP 5.3.0 y ELIMINADA a partir de PHP 5.4.0.

Si magic_quotes_runtime está activado, la mayoría de funciones que devuelven datos desde cualquier tipo de recurso externo incluyendo bases de datos y ficheros de texto contendrán comillas escapadas con barras invertidas. Si magic_quotes_sybase también está habilidado, las comillas simples serán escapadas con comillas simples en lugar de barras invertidas.

Funciones afectadas por magic_quotes_runtime (no incluye funciones de PECL):

  • get_meta_tags()
  • file_get_contents()
  • file()
  • fgets()
  • fwrite()
  • fread()
  • fputcsv()
  • stream_socket_recvfrom()
  • exec()
  • system()
  • passthru()
  • stream_get_contents()
  • bzread()
  • gzfile()
  • gzgets()
  • gzwrite()
  • gzread()
  • exif_read_data()
  • dba_insert()
  • dba_replace()
  • dba_fetch()
  • ibase_fetch_row()
  • ibase_fetch_assoc()
  • ibase_fetch_object()
  • mssql_fetch_row()
  • mssql_fetch_object()
  • mssql_fetch_array()
  • mssql_fetch_assoc()
  • mysqli_fetch_row()
  • mysqli_fetch_array()
  • mysqli_fetch_assoc()
  • mysqli_fetch_object()
  • pg_fetch_row()
  • pg_fetch_assoc()
  • pg_fetch_array()
  • pg_fetch_object()
  • pg_fetch_all()
  • pg_select()
  • sybase_fetch_object()
  • sybase_fetch_array()
  • sybase_fetch_assoc()
  • SplFileObject::fgets()
  • SplFileObject::fgetcsv()
  • SplFileObject::fwrite()

zend.enable_gc boolean

Habilita o deshabilita el colector de referencia circular.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están disponibles siempre ya que forman parte del núcleo de PHP.

Constantes predefinidas en phpcredits()
Constante | Valor | Descripción
CREDITS_GROUP | 1 | Lista de los desarrolladores del núcleo
CREDITS_GENERAL | 2 | Créditos generales: Diseño del lenguaje y concepto, autores de PHP y módulos SAPI.
CREDITS_SAPI | 4 | Lista de los módulos API para PHP y sus autores.
CREDITS_MODULES | 8 | Lista de los módulos de extensión para PHP y sus autores.
CREDITS_DOCS | 16 | Los créditos del equipo de documentación.
CREDITS_FULLPAGE | 32 | Normalmente se utiliza en combiación con otras opciones.Indica que una página HTML independiente debe ser mostrada incluyendo la información indicada por otras opciones.
CREDITS_QA | 64 | Los créditos del equipo de testers.
CREDITS_ALL | -1 | Todos los créditos, es equivalente a usar: CREDITS_DOCS + CREDITS_GENERAL + CREDITS_GROUP + CREDITS_MODULES + CREDITS_QA CREDITS_FULLPAGE. Genera una página HTML independiente con las apropiadas etiquetas. Este es el valor por defecto.
Constantes de phpinfo()
Constante | Valor | Descripción
INFO_GENERAL | 1 | La línea de comandos de configuración, php.ini ruta, fecha del build, servidor Web, sistema y demás.
INFO_CREDITS | 2 | Créditos de PHP. Ver también phpcredits().
INFO_CONFIGURATION | 4 | Valores locales y maestros actuales para directivas PHP. Ver también ini_get().
INFO_MODULES | 8 | Módulos cargados y sus respectivas opciones.
INFO_ENVIRONMENT | 16 | Información de variables de entorno, también está disponible en $_ENV.
INFO_VARIABLES | 32 | Muestra todas las variables predefinidas desde EGPCS (Entorno, GET, POST, Cookie, Server).
INFO_LICENSE | 64 | Información de la licencia de PHP. Ver también » FAQ de la licencia.
INFO_ALL | -1 | Muestra todas las directivas que se han indicado hasta ahora. Este es el valor por defecto.
INI constants
Constante | Valor | Descripción
INI_USER | 1 | Sin uso
INI_PERDIR | 2 | Sin uso
INI_SYSTEM | 4 | Sin uso
INI_ALL | 7 | Sin uso

Constantes de aserción, estos valores se usan para definir opciones de aserción en assert_options().

Constantes assert()
Constante | Opción INI | Descripción
ASSERT_ACTIVE | assert.active | Habilita la evaluación de assert().
ASSERT_CALLBACK | assert.callback | Llamada de retorno a llamar en caso que falle la aserción.
ASSERT_BAIL | assert.bail | Terminar la ejecucción al finalizar aserciones.
ASSERT_WARNING | assert.warning | Genera un warning PHP por cada aserción que falle
ASSERT_QUIET_EVAL | assert.quiet_eval | Desactiva error_reporting durante la evaluación de expresiones de aserción.

Las siguientes constantes están disponibles únicamente si se está ejecutando el sistema operativo Windows y muestran información sobre las diferentes versiones. Esto hace posible el detectar determinadas características para poder hacer uso de ellas. Disponibles desde PHP 5.3.0.

Constantes específicas para Windows
Constante | Descripción
PHP_WINDOWS_VERSION_MAJOR | El número mayor de la versión de Windows, que puede tener el valor 4 (NT4/Me/98/95), 5 (XP/2003 R2/2003/2000) o 6 (Vista/2008).
PHP_WINDOWS_VERSION_MINOR | El número menor de la versión de Windows, que puede tener el valor 0 (Vista/2008/2000/NT4/95), 1 (XP), 2 (2003 R2/2003/XP x64), 10 (98) o 90 (ME).
PHP_WINDOWS_VERSION_BUILD | El número del build de Windows (por ejemplo, Windows Vista con SP1 sería el build número 6001)
PHP_WINDOWS_VERSION_PLATFORM | La plataforma en la que PHP se está ejecutando, su valor es 2 en Windows Vista/XP/2000/NT4, Server 2008/2003 y en Windows ME/98/95 su valor es 1.
PHP_WINDOWS_VERSION_SP_MAJOR | El número mayor de la versión del service pack instalado, su valor es 0 si no hay ningún service pack instalado. Por ejemplo, Windows XP con service pack 3 instalado hará que el valor sea 3.
PHP_WINDOWS_VERSION_SP_MINOR | El número menor de la versión del service pack instalado, su valor es 0 si no hay ningún service pack instalado.
PHP_WINDOWS_VERSION_SUITEMASK | 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.
PHP_WINDOWS_VERSION_PRODUCTTYPE | Contiene el valor usado para determinar las constantes PHP_WINDOWS_NT_*. Este valor puede ser una de las constantes PHP_WINDOWS_NT_* que indica el tipo de sistema que se está usando.
PHP_WINDOWS_NT_DOMAIN_CONTROLLER | El controlador de dominio
PHP_WINDOWS_NT_SERVER | El servidor del sistema (ej. Server 2008/2003/2000), observe que si es un controlador de dominio será informado como PHP_WINDOWS_NT_DOMAIN_CONTROLLER.
PHP_WINDOWS_NT_WORKSTATION | Es una estación de trabajo (pej. Vista/XP/2000/NT4)

Esta tabla muestra una lista de características que pueden ser comprobadas al usar la máscara de bits PHP_WINDOWS_VERSION_SUITEMASK.

Windows suitemask campos de bits
Bits | Descripción
0x00000004 | Los componentes de Microsoft BackOffice están instalados.
0x00000400 | Windows Server 2003, Web Edition está instalado.
0x00004000 | Windows Server 2003, Compute Cluster Edition está instalado.
0x00000080 | Windows Server 2008 Datacenter, Windows Server 2003, Datacenter Edition o Windows 2000 Datacenter Server está instalado.
0x00000002 | Windows Server 2008 Enterprise, Windows Server 2003, Enterprise Edition, Windows 2000 Advanced Server, o Windows NT Server 4.0 Enterprise Edition está instalado.
0x00000040 | Windows XP Embedded está instalado.
0x00000200 | Windows Vista Home Premium, Windows Vista Home Basic, o Windows XP Home Edition está instalado.
0x00000100 | Escritorio remoto habilitado, limitado a una sesión interactiva. Este valor está definido a no ser que el sistema se ejecute en modo de servidor de aplicaciones.
0x00000001 | Microsoft Small Business Server fue instalado en el sistema, pero quizá ha sido actualizado a otra versión de Windows.
0x00000020 | Microsoft Small Business Server está instalado con la restricción de licencia en vigor.
0x00002000 | Windows Storage Server 2003 R2 o Windows Storage Server 2003 está instalado.
0x00000010 | Terminal Services está instalado. Este valor siempre está definido. En caso que lo esté pero 0x00000100 no, entonces el sistema estará ejecutándose en modo de servidor de aplicaciones.
0x00008000 | Windows Home Server está instalado.
Tipos de recursos
Funciones de Opciones/Info de PHP
Opciones/Info de PHP


Funciones de Opciones/Info de PHP

Tabla de contenidos

  • assert_options — Establecer/obtener valores de las directivas relacionadas con las aserciones
  • assert — Checks if assertion is FALSE
  • cli_get_process_title — Returns the current process title
  • cli_set_process_title — Sets the process title
  • dl — Carga una extensión PHP en tiempo de ejecucción
  • extension_loaded — Encontrar si una extensión está cargada
  • gc_collect_cycles — Las fuerzas de la colección de todos los ciclos de basura existentes
  • gc_disable — Desactiva el recolector de referencia circular
  • gc_enable — Activa el colector de referencia circular
  • gc_enabled — Devuelve el estado del colector de referencia circular
  • get_cfg_var — Obtiene el valor de una opción de configuración de PHP
  • get_current_user — Obtiene el nombre del propietario del script PHP actual
  • get_defined_constants — Devuelve un array asociativo con los nombres de todas las constantes y sus valores
  • get_extension_funcs — Devuelve una matriz con los nombres de funciones de un módulo
  • get_include_path — Obtiene la opción de configuración include_path actual
  • get_included_files — Devuelve un array con los nombres de los archivos incluidos o requeridos
  • get_loaded_extensions — Devuelve un array con los nombres de todos los módulos compilados y cargados
  • get_magic_quotes_gpc — Obtiene el valor actual de configuración de magic_quotes_gpc
  • get_magic_quotes_runtime — Obtiene el valor de configuración activo actual de magic_quotes_runtime
  • get_required_files — Alias de get_included_files
  • getenv — Obtiene el valor de una variable de entorno
  • getlastmod — Obtiene la hora de la última modificación de la página
  • getmygid — Obtener el GID del dueño del script PHP
  • getmyinode — Obtiene el inode del script actual
  • getmypid — Obtiene el ID del proceso PHP
  • getmyuid — Obtiene el UID del dueño del script PHP
  • getopt — Obtiene las opciones de la lista de argumentos de la línea de comandos
  • getrusage — Obtiene el uso de los recursos actuales
  • ini_alter — Alias de ini_set
  • ini_get_all — Obtiene todas las opciones de configuración
  • ini_get — Devuelve el valor de una directiva de configuración
  • ini_restore — Restablece el valor de una opción de configuración
  • ini_set — Establece el valor de una directiva de configuración
  • magic_quotes_runtime — Alias de set_magic_quotes_runtime
  • main — Función main falsa
  • memory_get_peak_usage — Devuelve el máximo de memoria asignada por PHP
  • memory_get_usage — Devuelve la cantidad de memoria asignada a PHP
  • php_ini_loaded_file — Recupera la ruta de acceso al archivo php.ini cargado
  • php_ini_scanned_files — Devuelve una lista de ficheros .ini procesados del directorio adicional ini dir
  • php_logo_guid — Obtiene el valor guid del logo
  • php_sapi_name — Devuelve el tipo de interfaz que hay entre PHP y el servidor
  • php_uname — Devuelve información sobre el sistema operativo en que se está ejecutando PHP
  • phpcredits — Imprime los créditos de PHP
  • phpinfo — Muestra información sobre la configuración de PHP
  • phpversion — Obtiene la versión de PHP
  • putenv — Establece el valor de una variable de entorno
  • restore_include_path — Restablece el valor de la opción de configuración include_path
  • set_include_path — Establece la opción de configuración include_path
  • set_magic_quotes_runtime — Establece el valor de configuración activo actual de magic_quotes_runtime
  • set_time_limit — Limita el tiempo máximo de ejecución
  • sys_get_temp_dir — Devuelve la ruta del directorio para archivos temporales
  • version_compare — Compara dos números de versiones estandarizados de PHP
  • zend_logo_guid — Obtiene el valor guid de Zend
  • zend_thread_id — Devuelve un identificador único del thread actual
  • zend_version — Obtiene la versión del motor Zend actual
Constantes predefinidas
assert_options
Opciones/Info de PHP


Establecer/obtener valores de las directivas relacionadas con las aserciones

Funciones de Opciones/Info de PHP
assert
Funciones de Opciones/Info de PHP
PHP Manual

assert_options

(PHP 4, PHP 5)

assert_options — Establecer/obtener valores de las directivas relacionadas con las aserciones

Descripción

mixed assert_options ( int $what [, mixed $value ] )

Se utiliza para establecer el valor de las diferentes opciones de la función assert() o consultar su valor actual.

Parámetros

what

Assert Options
Opción | Configuración inicial | Valor predeterminado | Descripción
ASSERT_ACTIVE | assert.active | 1 | Activa la función assert()
ASSERT_WARNING | assert.warning | 1 | Cada vez que una aserción falla se genera una advertencia
ASSERT_BAIL | assert.bail | 0 | Termina la ejecución cuando falla una aserción
ASSERT_QUIET_EVAL | assert.quiet_eval | 0 | Desactiva la directiva error_reporting durante la evaluación de la aserción
ASSERT_CALLBACK | assert.callback | (NULL) | Función que se encargará de gestionar las aserciones cuando fallen

value

Nuevo valor para la directiva.

Valores devueltos

Devuelve el valor original de cualquiera de las opciones o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de assert_options()

<?php
// Esta es nuestra función manejadora
// de los fallos en un aserción
function assert_failure()
{
    echo 'Assert failed';
}

// Esta es nuestra función de test
function test_assert($parameter)
{
    assert(is_bool($parameter));
}

// Establecemos nuestras propias opciones para gestionar las aserciones
// Activamos las aserciones
assert_options(ASSERT_ACTIVE,   true);
// Si una aserción falla se detiene la ejecución
assert_options(ASSERT_BAIL,     true);
// Si una aserción falla NO se genera una advertencia
assert_options(ASSERT_WARNING,  false);
// Establecemos la función 'assert_failure' como manejadora (callback) de las aserciones
assert_options(ASSERT_CALLBACK, 'assert_failure');

// Creamos una aserción la cual queremos que falle
test_assert(1);

// Este código nunca se ejecuta porque ASSERT_BAIL
// está a TRUE
echo 'Never reached';
?>

Ver también

  • assert() - Checks if assertion is FALSE

Funciones de Opciones/Info de PHP
assert
Funciones de Opciones/Info de PHP


Checks if assertion is FALSE

assert_options
cli_get_process_title
Funciones de Opciones/Info de PHP
PHP Manual

assert

(PHP 4, PHP 5)

assert — Checks if assertion is FALSE

Descripción

bool assert ( mixed $assertion [, string $description ] )

assert() will check the given assertion and take appropriate action if its result is FALSE.

If the assertion is given as a string it will be evaluated as PHP code by assert(). The advantages of a string assertion are less overhead when assertion checking is off and messages containing the assertion expression when an assertion fails. This means that if you pass a boolean condition as assertion this condition will not show up as parameter to the assertion function which you may have defined with the assert_options() function, the condition is converted to a string before calling that handler function, and the boolean FALSE is converted as the empty string.

Assertions should be used as a debugging feature only. You may use them for sanity-checks that test for conditions that should always be TRUE and that indicate some programming errors if not or to check for the presence of certain features like extension functions or certain system limits and features.

Assertions should not be used for normal runtime operations like input parameter checks. As a rule of thumb your code should always be able to work correctly if assertion checking is not activated.

The behavior of assert() may be configured by assert_options() or by .ini-settings described in that functions manual page.

The assert_options() function and/or ASSERT_CALLBACK configuration directive allow a callback function to be set to handle failed assertions.

assert() callbacks are particularly useful for building automated test suites because they allow you to easily capture the code passed to the assertion, along with information on where the assertion was made. While this information can be captured via other methods, using assertions makes it much faster and easier!

The callback function should accept three arguments. The first argument will contain the file the assertion failed in. The second argument will contain the line the assertion failed on and the third argument will contain the expression that failed (if any — literal values such as 1 or "two" will not be passed via this argument). Users of PHP 5.4.8 and later may also provide a fourth optional argument, which will contain the description given to assert(), if it was set.

Parámetros

assertion

The assertion.

description

An optional description that will be included in the failure message if the assertion fails.

Valores devueltos

FALSE if the assertion is false, TRUE otherwise.

Historial de cambios

Versión | Descripción
5.4.8 | The description parameter was added. The description is also now provided to a callback function in ASSERT_CALLBACK mode as the fourth argument.

Ejemplos

Ejemplo #1 Handle a failed assertion with a custom handler

<?php
// Active assert and make it quiet
assert_options(ASSERT_ACTIVE, 1);
assert_options(ASSERT_WARNING, 0);
assert_options(ASSERT_QUIET_EVAL, 1);

// Create a handler function
function my_assert_handler($file, $line, $code)
{
    echo "<hr>Assertion Failed:
        File '$file'<br />
        Line '$line'<br />
        Code '$code'<br /><hr />";
}

// Set up the callback
assert_options(ASSERT_CALLBACK, 'my_assert_handler');

// Make an assertion that should fail
assert('mysql_query("")');
?>

Ejemplo #2 Using a custom handler to print a description

<?php
// Active assert and make it quiet
assert_options(ASSERT_ACTIVE, 1);
assert_options(ASSERT_WARNING, 0);
assert_options(ASSERT_QUIET_EVAL, 1);

// Create a handler function
function my_assert_handler($file, $line, $code, $desc = null)
{
    echo "Assertion failed at $file:$line: $code";
    if ($desc) {
        echo ": $desc";
    }
    echo "\n";
}

// Set up the callback
assert_options(ASSERT_CALLBACK, 'my_assert_handler');

// Make an assertion that should fail
assert('2 < 1');
assert('2 < 1', 'Two is less than one');
?>

El resultado del ejemplo sería:

Assertion failed at test.php:21: 2 < 1
Assertion failed at test.php:22: 2 < 1: Two is less than one

Ver también

  • assert_options() - Establecer/obtener valores de las directivas relacionadas con las aserciones

assert_options
cli_get_process_title
Funciones de Opciones/Info de PHP


Returns the current process title

assert
cli_set_process_title
Funciones de Opciones/Info de PHP
PHP Manual

cli_get_process_title

(PHP 5 >= 5.5.0)

cli_get_process_title — Returns the current process title

Descripción

string cli_get_process_title ( void )

Returns the current process title, as set by cli_set_process_title(). Note that this may not exactly match what is shown in ps or top, depending on your operating system.

This function is available only in CLI mode.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Return a string with the current process title or NULL on error.

Errores/Excepciones

An E_WARNING will be generated if the operating system is unsupported.

Ejemplos

Ejemplo #1 cli_get_process_title() example

<?php
echo "Process title: " . cli_get_process_title() . "\n";
?>

Ver también

  • cli_set_process_title() - Sets the process title

assert
cli_set_process_title
Funciones de Opciones/Info de PHP


Sets the process title

cli_get_process_title
dl
Funciones de Opciones/Info de PHP
PHP Manual

cli_set_process_title

(PHP 5 >= 5.5.0)

cli_set_process_title — Sets the process title

Descripción

bool cli_set_process_title ( string $title )

Sets the process title visible in tools such as top and ps. This function is available only in CLI mode.

Parámetros

title

The new title.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

An E_WARNING will be generated if the operating system is unsupported.

Ejemplos

Ejemplo #1 cli_set_process_title() example

<?php
$title = "My Amazing PHP Script";
$pid = getmypid(); // you can use this to see your process title in ps

if (!cli_set_process_title($title)) {
    echo "Unable to set process title for PID $pid...\n";
    exit(1);
} else {
    echo "The process title '$title' for PID $pid has been set for your process!\n";
    sleep(5);
}
?>

Ver también

  • cli_get_process_title() - Returns the current process title

cli_get_process_title
dl
Funciones de Opciones/Info de PHP


Carga una extensión PHP en tiempo de ejecucción

cli_set_process_title
extension_loaded
Funciones de Opciones/Info de PHP
PHP Manual

dl

(PHP 4, PHP 5)

dl — Carga una extensión PHP en tiempo de ejecucción

Descripción

bool dl ( string $library )

Carga la extensión PHP dada por el parámetro library.

Utilice la función extension_loaded() para comprobar si la extensión ya está cargada o no. Funciona tanto para extensiones ya integradas en PHP o para extensiones que se han cargado dinámicamente (ya sea a través de php.ini o dl()).

Advertencia

Esta función ha sido eliminada en algunos módulos SAPI en PHP 5.3.

Parámetros

library

Este parámetro es solamente el fichero de la extensión a cargar el cual depende del sistema operativo. Por ejemplo, la extensión sockets (si se compila como librería, no como parte de PHP) Se llamará sockets.so en sistemas Unix mientras que en Windows se llamará php_sockets.dll.

El directorio desde donde la extensión será cargada también depende del sistema operativo:

En Windows - a no ser que se defina explicitamente en php.ini, la extensión será cargada por defecto desde C:\php4\extensions\ (PHP4) o C:\php5\ en (PHP 5).

Unix - a no ser que se defina en php.ini, el directorio de extensiones por defecto depende de

  • Si PHP fué compilado con la opción --enable-debug o no
  • Si PHP fué comiplado con soporte (experimental) ZTS (Zend Thread Safety) o no
  • El módulo interno actual ZEND_MODULE_API_NO (Número interno del API Zend, que es básicamente la fecha en que se produjo un cambio de versión, p.ej. 20010901)
Teniendo esto en cuenta el directorio por defecto será <install-dir>/lib/php/extensions/ <debug-or-not>-<zts-or-not>-ZEND_MODULE_API_NO, p.ej. /usr/local/php/lib/php/extensions/debug-non-zts-20010901 o /usr/local/php/lib/php/extensions/no-debug-zts-20010901.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Si la funcionalidad de cargar módulos no está disponible o ha sido deshabilitada (ya sea activando enable_dl off o habilitando el safe mode en php.ini) Se producirá un E_ERROR y se parará la ejecucción de PHP. Si dl() falló porque la librería especificacda no pudo cargarse a demás de FALSE se producirá un mensaje E_WARNING.

Ejemplos

Ejemplo #1 Ejemplos de dl()

<?php
// En este ejemplo se carga una extensión u otra dependiendo del sistema operativo
if (!extension_loaded('sqlite')) {
    if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
        dl('php_sqlite.dll');
    } else {
        dl('sqlite.so');
    }
}

// O si la constante PHP_SHLIB_SUFFIX está disponible desde PHP 4.3.0
if (!extension_loaded('sqlite')) {
    $prefix = (PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : '';
    dl($prefix . 'sqlite.' . PHP_SHLIB_SUFFIX);
}
?>

Historial de cambios

Versión | Descripción
5.3.0 | dl() está desactivado en algunos módulos SAPI por problemas de estabilidad. Los únicos modulos SAPI que permiten dl() son: CLI, CGI and Embed. En su lugar usar las directivas Directivas de carga de extensiones

Notas

Nota:

dl() no se soporta cuando PHP es compilado con soporte ZTS. Use en su lugar Directivas de carga de extensiones instead.

Nota:

dl() es sensible a mayúsculas en sistemas Unix.

Nota: Esta función no está disponible cuando PHP está corriendo en safe mode.

Ver también

  • Directivas de cargas de extensiones
  • extension_loaded() - Encontrar si una extensión está cargada

cli_set_process_title
extension_loaded
Funciones de Opciones/Info de PHP


Encontrar si una extensión está cargada

dl
gc_collect_cycles
Funciones de Opciones/Info de PHP
PHP Manual

extension_loaded

(PHP 4, PHP 5)

extension_loaded — Encontrar si una extensión está cargada

Descripción

bool extension_loaded ( string $name )

Encuentra si la extensión está cargada.

Parámetros

name

El nombre de la extensión.

Es posible ver los nombres de varias extensiones usando phpinfo(), o si usted usa la versión CGI o CLI de PHP, puede usar la bandera -m para listar todas las extensiones disponibles:

$ php -m
[PHP Modules]
xml
tokenizer
standard
sockets
session
posix
pcre
overload
mysql
mbstring
ctype

[Zend Modules]

Valores devueltos

Devuelve TRUE si la extensión identificada por nombre está cargada, FALSE de lo contrario.

Ejemplos

Ejemplo #1 Ejemplo de extension_loaded()

<?php
if (!extension_loaded('gd')) {
    if (!dl('gd.so')) {
        exit;
    }
}
?>

Historial de cambios

Versión | Descripción
5.0.0 | extension_loaded() usa el nombre interno de extensión para probar si una extensión determinada está disponible o no. La mayoría de nombres internos de extensión están escritos en minúsculas pero es posible que hayan extensiones disponibles que usen también letras mayúsculas. Antes de PHP 5, esta función comparaba los nombres sensible a mayúsculas.

Ver también

  • get_loaded_extensions() - Devuelve un array con los nombres de todos los módulos compilados y cargados
  • get_extension_funcs() - Devuelve una matriz con los nombres de funciones de un módulo
  • phpinfo() - Muestra información sobre la configuración de PHP
  • dl() - Carga una extensión PHP en tiempo de ejecucción
  • function_exists() - Devuelve TRUE si la función dada ha sido definida

dl
gc_collect_cycles
Funciones de Opciones/Info de PHP


Las fuerzas de la colección de todos los ciclos de basura existentes

extension_loaded
gc_disable
Funciones de Opciones/Info de PHP
PHP Manual

gc_collect_cycles

(PHP 5 >= 5.3.0)

gc_collect_cycles — Las fuerzas de la colección de todos los ciclos de basura existentes

Descripción

int gc_collect_cycles ( void )

Recogida de las fuerzas de los ciclos de basura existentes.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el número de ciclos de recogida.

Ver también

  • Recolección de Basura

extension_loaded
gc_disable
Funciones de Opciones/Info de PHP


Desactiva el recolector de referencia circular

gc_collect_cycles
gc_enable
Funciones de Opciones/Info de PHP
PHP Manual

gc_disable

(PHP 5 >= 5.3.0)

gc_disable — Desactiva el recolector de referencia circular

Descripción

void gc_disable ( void )

Desactiva el recolector de referencia circular. zend.enable_gc a 0.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • Recolección de Basura

gc_collect_cycles
gc_enable
Funciones de Opciones/Info de PHP


Activa el colector de referencia circular

gc_disable
gc_enabled
Funciones de Opciones/Info de PHP
PHP Manual

gc_enable

(PHP 5 >= 5.3.0)

gc_enable — Activa el colector de referencia circular

Descripción

void gc_enable ( void )

Activa el colector de referencia circular, estableciendo zend.enable_gc a 1.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • Garbage Collection

gc_disable
gc_enabled
Funciones de Opciones/Info de PHP


Devuelve el estado del colector de referencia circular

gc_enable
get_cfg_var
Funciones de Opciones/Info de PHP
PHP Manual

gc_enabled

(PHP 5 >= 5.3.0)

gc_enabled — Devuelve el estado del colector de referencia circular

Descripción

bool gc_enabled ( void )

Devuelve el estado del colector de referencia circular.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si el recolector de basura está activado, FALSE en caso contrario.

Ejemplos

Ejemplo #1 Ejemplo de gc_enabled()

<?php
if(gc_enabled()) gc_collect_cycles();
?>

Ver también

  • Recolección de Basura

gc_enable
get_cfg_var
Funciones de Opciones/Info de PHP


Obtiene el valor de una opción de configuración de PHP

gc_enabled
get_current_user
Funciones de Opciones/Info de PHP
PHP Manual

get_cfg_var

(PHP 4, PHP 5)

get_cfg_var — Obtiene el valor de una opción de configuración de PHP

Descripción

string get_cfg_var ( string $option )

Obtiene el valor de una opción de configuración de PHP.

Esta función no retornará información de configuración establecida cuando PHP fue compilado, o lee un fichero de configuración de Apache.

Para comprobar si el sistema está usando un fichero de configuración, intente recuperar el valor de la opción de configuración cfg_file_path. Si está disponible, un fichero de configuración está siendo utilizado.

Parámetros

option

El nombre de la opción de configuración.

Valores devueltos

Devuelve el valor actual de la variable de configuración de PHP especificada por option, o FALSE si se produce un error.

Historial de cambios

Versión | Descripción
5.3.0 | get_cfg_var() se fijó para ser capaz de retornar un "array" con las opciones ini.

Ver también

  • ini_get() - Devuelve el valor de una directiva de configuración
  • ini_get_all() - Obtiene todas las opciones de configuración

gc_enabled
get_current_user
Funciones de Opciones/Info de PHP


Obtiene el nombre del propietario del script PHP actual

get_cfg_var
get_defined_constants
Funciones de Opciones/Info de PHP
PHP Manual

get_current_user

(PHP 4, PHP 5)

get_current_user — Obtiene el nombre del propietario del script PHP actual

Descripción

string get_current_user ( void )

Devuelve el nombre del propietario del script PHP actual.

Valores devueltos

Devuelve el nombre de usuario como un string.

Ejemplos

Ejemplo #1 get_current_user() ejemplo

<?php
echo 'Propietario script actual: ' . get_current_user();
?>

El resultado del ejemplo sería algo similar a:

Propietario script actual: SYSTEM

Ver también

  • getmyuid() - Obtiene el UID del dueño del script PHP
  • getmygid() - Obtener el GID del dueño del script PHP
  • getmypid() - Obtiene el ID del proceso PHP
  • getmyinode() - Obtiene el inode del script actual
  • getlastmod() - Obtiene la hora de la última modificación de la página

get_cfg_var
get_defined_constants
Funciones de Opciones/Info de PHP


Devuelve un array asociativo con los nombres de todas las constantes y sus valores

get_current_user
get_extension_funcs
Funciones de Opciones/Info de PHP
PHP Manual

get_defined_constants

(PHP 4 >= 4.1.0, PHP 5)

get_defined_constants — Devuelve un array asociativo con los nombres de todas las constantes y sus valores

Descripción

array get_defined_constants ([ bool $categorize = false ] )

Devuelve los nombres y valores de todas las constantes definidas actualmente. Esto incluye las creadas por las extensiones, así como las creadas con la función define().

Parámetros

categorize

Provoca que la función retorne un array multi-dimensional con categorias en las claves de la primera dimensión y constantes y sus valores en la segunda dimensión.

<?php
define("MI_CONSTANTE", 1);
print_r(get_defined_constants(true));
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [Core] => Array
        (
            [E_ERROR] => 1
            [E_WARNING] => 2
            [E_PARSE] => 4
            [E_NOTICE] => 8
            [E_CORE_ERROR] => 16
            [E_CORE_WARNING] => 32
            [E_COMPILE_ERROR] => 64
            [E_COMPILE_WARNING] => 128
            [E_USER_ERROR] => 256
            [E_USER_WARNING] => 512
            [E_USER_NOTICE] => 1024
            [E_ALL] => 2047
            [TRUE] => 1
        )

    [pcre] => Array
        (
            [PREG_PATTERN_ORDER] => 1
            [PREG_SET_ORDER] => 2
            [PREG_OFFSET_CAPTURE] => 256
            [PREG_SPLIT_NO_EMPTY] => 1
            [PREG_SPLIT_DELIM_CAPTURE] => 2
            [PREG_SPLIT_OFFSET_CAPTURE] => 4
            [PREG_GREP_INVERT] => 1
        )

    [user] => Array
        (
            [MI_CONSTANTE] => 1
        )

)

Valores devueltos

Devuelve un array de arrays nombre_constante => valor_constante, opcionalmente agrupados por nombre de extensión registrando la constante.

Historial de cambios

Versión | Descripción
5.3.1 | Sólo para Windows: las constantes fundamentales se clasifican en Core, previamente mhash.
5.3.0 | Constantes fundamentales se clasifican en Core, antes internal. En Windows, las constantes fundamentales se clasifican en mhash.
5.2.11 | El parámetro categorize ahora funciona correctamente. Anteriormente, el parámetro categorize fue interpretado como !is_null($categorize), por lo que cualquier valor distinto de NULL fuerza a las constantes a ser clasificadas.
5.0.0 | El parámetro categorize fue agregado.

Ejemplos

Ejemplo #1 Ejemplo de get_defined_constants()

<?php
print_r(get_defined_constants());
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [E_ERROR] => 1
    [E_WARNING] => 2
    [E_PARSE] => 4
    [E_NOTICE] => 8
    [E_CORE_ERROR] => 16
    [E_CORE_WARNING] => 32
    [E_COMPILE_ERROR] => 64
    [E_COMPILE_WARNING] => 128
    [E_USER_ERROR] => 256
    [E_USER_WARNING] => 512
    [E_USER_NOTICE] => 1024
    [E_ALL] => 2047
    [TRUE] => 1
)

Ver también

  • defined() - Comprueba si existe una constante con nombre dada
  • get_loaded_extensions() - Devuelve un array con los nombres de todos los módulos compilados y cargados
  • get_defined_functions() - Devuelve una matriz de todas las funciones definidas
  • get_defined_vars() - Devuelve una matriz con todas las variables definidas

get_current_user
get_extension_funcs
Funciones de Opciones/Info de PHP


Devuelve una matriz con los nombres de funciones de un módulo

get_defined_constants
get_include_path
Funciones de Opciones/Info de PHP
PHP Manual

get_extension_funcs

(PHP 4, PHP 5)

get_extension_funcs — Devuelve una matriz con los nombres de funciones de un módulo

Descripción

array get_extension_funcs ( string $module_name )

Esta función devuelve los nombres de todas las funciones definidas en el módulo indicado por nombre_modulo.

Parámetros

module_name

El nombre del módulo.

Nota:

Este parámetro debe estar en minúsculas.

Valores devueltos

Devuelve una matriz con todas las funciones, o FALSE si nombre_modulo no es una extensión válida.

Ejemplos

Ejemplo #1 Imprime las funciones XML

<?php
print_r(get_extension_funcs("xml"));
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => xml_parser_create
    [1] => xml_parser_create_ns
    [2] => xml_set_object
    [3] => xml_set_element_handler
    [4] => xml_set_character_data_handler
    [5] => xml_set_processing_instruction_handler
    [6] => xml_set_default_handler
    [7] => xml_set_unparsed_entity_decl_handler
    [8] => xml_set_notation_decl_handler
    [9] => xml_set_external_entity_ref_handler
    [10] => xml_set_start_namespace_decl_handler
    [11] => xml_set_end_namespace_decl_handler
    [12] => xml_parse
    [13] => xml_parse_into_struct
    [14] => xml_get_error_code
    [15] => xml_error_string
    [16] => xml_get_current_line_number
    [17] => xml_get_current_column_number
    [18] => xml_get_current_byte_index
    [19] => xml_parser_free
    [20] => xml_parser_set_option
    [21] => xml_parser_get_option
    [22] => utf8_encode
    [23] => utf8_decode
)

Ver también

  • get_loaded_extensions() - Devuelve un array con los nombres de todos los módulos compilados y cargados
  • ReflectionExtension::getFunctions() - Obtiene las funciones de una extensión

get_defined_constants
get_include_path
Funciones de Opciones/Info de PHP


Obtiene la opción de configuración include_path actual

get_extension_funcs
get_included_files
Funciones de Opciones/Info de PHP
PHP Manual

get_include_path

(PHP 4 >= 4.3.0, PHP 5)

get_include_path — Obtiene la opción de configuración include_path actual

Descripción

string get_include_path ( void )

Obtiene el valor actual de la opción de configuración include_path.

Valores devueltos

Devuelve la ruta, como una cadena.

Ejemplos

Ejemplo #1 Ejemplo de get_include_path()

<?php
// Funciona a partir de PHP 4.3.0
echo get_include_path();

// Funciona en todas las versiones de PHP
echo ini_get('include_path');
?>

Ver también

  • ini_get() - Devuelve el valor de una directiva de configuración
  • restore_include_path() - Restablece el valor de la opción de configuración include_path
  • set_include_path() - Establece la opción de configuración include_path
  • include - include

get_extension_funcs
get_included_files
Funciones de Opciones/Info de PHP


Devuelve un array con los nombres de los archivos incluidos o requeridos

get_include_path
get_loaded_extensions
Funciones de Opciones/Info de PHP
PHP Manual

get_included_files

(PHP 4, PHP 5)

get_included_files — Devuelve un array con los nombres de los archivos incluidos o requeridos

Descripción

array get_included_files ( void )

Obtiene los nombres de todos los archivos que han sido incluidos usando include, include_once, require o require_once.

Valores devueltos

Devuelve un array con los nombres de los archivos.

El script llamado originalmente es considerado un "archivo incluido", así que será listado junto con los archivos referenciados por la familia de funciones include.

Los archivos que son incluidos o requeridos múltiples veces solo aparecen una vez en el array devuelto.

Historial de cambios

Versión | Descripción
4.0.1 | En PHP 4.0.1 y versiones anteriores esta función asumía que los archivos requeridos finalizaban en la extensión .php; otras extensiones no serán devueltas. La array devuelto por get_included_files() era un array asociativo y solo listaba los archivos incluidos por include e include_once.

Ejemplos

Ejemplo #1 Ejemplo de get_included_files()

<?php
// Este archivo es abc.php

include 'test1.php';
include_once 'test2.php';
require 'test3.php';
require_once 'test4.php';

$archivos_incluidos = get_included_files();

foreach ($archivos_incluidos as $nombre_archivo) {
    echo "$nombre_archivo\n";
}

?>

El resultado del ejemplo sería:

abc.php
test1.php
test2.php
test3.php
test4.php

Notas

Nota:

Los archivos incluidos usando la directiva de configuración auto_prepend_file no son incluidos en el array devuelta.

Ver también

  • include - include
  • include_once - include_once
  • require - require
  • require_once - require_once
  • get_required_files() - Alias de get_included_files

get_include_path
get_loaded_extensions
Funciones de Opciones/Info de PHP


Devuelve un array con los nombres de todos los módulos compilados y cargados

get_included_files
get_magic_quotes_gpc
Funciones de Opciones/Info de PHP
PHP Manual

get_loaded_extensions

(PHP 4, PHP 5)

get_loaded_extensions — Devuelve un array con los nombres de todos los módulos compilados y cargados

Descripción

array get_loaded_extensions ([ bool $zend_extensions = false ] )

Esta función devuelve los nombres de todos los módulos compilados y cargados en el intérprete de PHP.

Parámetros

zend_extensions

Sólo retorna extensiones Zend, si no, las extensiones regulares, como mysqli. El valor predeterminado es FALSE (retorna extensiones regulares).

Valores devueltos

Devuelve un array indexado de todos los nombres de los módulos.

Historial de cambios

Versión | Descripción
5.2.4 | Fue añadido el parámetro opcional zend_extensions

Ejemplos

Ejemplo #1 get_loaded_extensions()

<?php
print_r(get_loaded_extensions());
?>

El resultado del ejemplo sería algo similar a:

Array
(
   [0] => xml
   [1] => wddx
   [2] => standard
   [3] => session
   [4] => posix
   [5] => pgsql
   [6] => pcre
   [7] => gd
   [8] => ftp
   [9] => db
   [10] => calendar
   [11] => bcmath
)

Ver también

  • get_extension_funcs() - Devuelve una matriz con los nombres de funciones de un módulo
  • extension_loaded() - Encontrar si una extensión está cargada
  • dl() - Carga una extensión PHP en tiempo de ejecucción
  • phpinfo() - Muestra información sobre la configuración de PHP

get_included_files
get_magic_quotes_gpc
Funciones de Opciones/Info de PHP


Obtiene el valor actual de configuración de magic_quotes_gpc

get_loaded_extensions
get_magic_quotes_runtime
Funciones de Opciones/Info de PHP
PHP Manual

get_magic_quotes_gpc

(PHP 4, PHP 5)

get_magic_quotes_gpc — Obtiene el valor actual de configuración de magic_quotes_gpc

Descripción

bool get_magic_quotes_gpc ( void )

Devuelve el valor actual del parámetro de configuración magic_quotes_gpc

Tenga en cuenta que intentar establecer el parámetro magic_quotes_gpc no funcionará en tiempo de ejecución.

Para más información sobre magic_quotes, vea esta sección de seguridad.

Valores devueltos

Devuelve 0 si las comillas mágicas están deshabilitadas, 1 de lo contrario. O siempre devuelve FALSE a partir de PHP 5.4.0.

Historial de cambios

Versión | Descripción
5.4.0 | Siempre devuelve FALSE debido a que la característica de comillas mágicas ha sido eliminada de PHP.

Ejemplos

Ejemplo #1 Ejemplo de get_magic_quotes_gpc()

<?php
// Si las comillas mágicas están habilitadas
echo $_POST['apellido'];             // O\'reilly
echo addslashes($_POST['apellido']); // O\\\'reilly

// Uso en todas las versiones de PHP
if (!get_magic_quotes_gpc()) {
    $apellido = addslashes($_POST['apellido']);
}
else {
    $apellido = $_POST['apellido'];
}

// Si se está usando MySQL
$apellido = mysql_real_escape_string($apellido);

echo $apellido; // O\'reilly
$sql = "INSERT INTO apellidos (apellido) VALUES ('$apellido')";
?>

Notas

Nota:

Si la directiva magic_quotes_sybase se encuentra habilitada (ON), sobrescribirá completamente magic_quotes_gpc. Así que aun cuando get_magic_quotes_gpc() devuelve TRUE, ni las comillas dobles, ni las barras invertidas o caracteres NUL serán escapados. Sólo las comillas sencillas serán escapadas. En este caso se verán de este modo: ''

Ver también

  • addslashes() - Escapa un string con barras invertidas
  • stripslashes() - Quita las barras de un string con comillas escapadas
  • get_magic_quotes_runtime() - Obtiene el valor de configuración activo actual de magic_quotes_runtime
  • ini_get() - Devuelve el valor de una directiva de configuración

get_loaded_extensions
get_magic_quotes_runtime
Funciones de Opciones/Info de PHP


Obtiene el valor de configuración activo actual de magic_quotes_runtime

get_magic_quotes_gpc
get_required_files
Funciones de Opciones/Info de PHP
PHP Manual

get_magic_quotes_runtime

(PHP 4, PHP 5)

get_magic_quotes_runtime — Obtiene el valor de configuración activo actual de magic_quotes_runtime

Descripción

bool get_magic_quotes_runtime ( void )

Devuelve el valor de configuración activo actual de magic_quotes_runtime.

Valores devueltos

Devuelve 0 si magic_quotes_runtime está off, 1 en caso contrario. O siempre devuelve FALSE a partir de PHP 5.4.0.

Historial de cambios

Versión | Descripción
5.4.0 | Siempre devuelve FALSE debido a que la característica de comillas mágicas ha sido eliminada de PHP.

Ejemplos

Ejemplo #1 get_magic_quotes_runtime() ejemplo

<?php
// Comprueba si magic_quotes_runtime está activado
if(get_magic_quotes_runtime())
{
    // Desactivar
    set_magic_quotes_runtime(false);
}
?>

Ver también

  • get_magic_quotes_gpc() - Obtiene el valor actual de configuración de magic_quotes_gpc
  • set_magic_quotes_runtime() - Establece el valor de configuración activo actual de magic_quotes_runtime

get_magic_quotes_gpc
get_required_files
Funciones de Opciones/Info de PHP


Alias de get_included_files

get_magic_quotes_runtime
getenv
Funciones de Opciones/Info de PHP
PHP Manual

get_required_files

(PHP 4, PHP 5)

get_required_files — Alias de get_included_files()

Descripción

Esta función es un alias de: get_included_files().

get_magic_quotes_runtime
getenv
Funciones de Opciones/Info de PHP


Obtiene el valor de una variable de entorno

get_required_files
getlastmod
Funciones de Opciones/Info de PHP
PHP Manual

getenv

(PHP 4, PHP 5)

getenv — Obtiene el valor de una variable de entorno

Descripción

string getenv ( string $varname )

Obtiene el valor de una variable de entorno.

Se puede ver una lista de todas las variables de entorno usando phpinfo(). Muchas de estas variables están listadas bajo la especificación » RFC 3875, específicamente la sección 4.1, "Request Meta-Variables".

Parámetros

varname

El nombre de variable.

Valores devueltos

Devuelve el valor de la variable de entorno varname, o FALSE si la variable entorno varname no existe.

Ejemplos

Ejemplo #1 Ejemplo de getenv()

<?php
// Ejemplo de uso de getenv()
$ip = getenv('REMOTE_ADDR');

// O simplemente use una Superglobal ($_SERVER o $_ENV)
$ip = $_SERVER['REMOTE_ADDR'];
?>

Ver también

  • putenv() - Establece el valor de una variable de entorno
  • apache_getenv() - Obtiene una variable del entorno subprocess_env de Apache
  • Superglobales

get_required_files
getlastmod
Funciones de Opciones/Info de PHP


Obtiene la hora de la última modificación de la página

getenv
getmygid
Funciones de Opciones/Info de PHP
PHP Manual

getlastmod

(PHP 4, PHP 5)

getlastmod — Obtiene la hora de la última modificación de la página

Descripción

int getlastmod ( void )

Obtiene la hora de la última modificación de la página actual.

Si está interesado en obtener la hora de la última modificación de un archivo diferente, considere el uso de filemtime().

Valores devueltos

Devuelve la hora de la última modificación de la página actual. El valor devuelto es una marca de tiempo Unix, apropiada para ser pasada a date(). Devuelve FALSE en caso de fallo.

Ejemplos

Ejemplo #1 Ejemplo de getlastmod()

<?php
// imprime p.ej. 'Ultima modificación: March 04 1998 20:43:59.'
echo "Ultima modificación: " . date ("F d Y H:i:s.", getlastmod());
?>

Ver también

  • date() - Dar formato a la fecha/hora local
  • getmyuid() - Obtiene el UID del dueño del script PHP
  • getmygid() - Obtener el GID del dueño del script PHP
  • get_current_user() - Obtiene el nombre del propietario del script PHP actual
  • getmyinode() - Obtiene el inode del script actual
  • getmypid() - Obtiene el ID del proceso PHP
  • filemtime() - Obtiene el momento de la última modificación de un archivo

getenv
getmygid
Funciones de Opciones/Info de PHP


Obtener el GID del dueño del script PHP

getlastmod
getmyinode
Funciones de Opciones/Info de PHP
PHP Manual

getmygid

(PHP 4 >= 4.1.0, PHP 5)

getmygid — Obtener el GID del dueño del script PHP

Descripción

int getmygid ( void )

Obtiene el ID de grupo del script actual.

Valores devueltos

Devuelve el ID de grupo del script actual, o FALSE en caso de error.

Ver también

  • getmyuid() - Obtiene el UID del dueño del script PHP
  • getmypid() - Obtiene el ID del proceso PHP
  • get_current_user() - Obtiene el nombre del propietario del script PHP actual
  • getmyinode() - Obtiene el inode del script actual
  • getlastmod() - Obtiene la hora de la última modificación de la página

getlastmod
getmyinode
Funciones de Opciones/Info de PHP


Obtiene el inode del script actual

getmygid
getmypid
Funciones de Opciones/Info de PHP
PHP Manual

getmyinode

(PHP 4, PHP 5)

getmyinode — Obtiene el inode del script actual

Descripción

int getmyinode ( void )

Obtiene el inode del script actual.

Valores devueltos

Devuelve el inodo del script actual como un entero, o FALSE en caso de error.

Ver también

  • getmygid() - Obtener el GID del dueño del script PHP
  • getmyuid() - Obtiene el UID del dueño del script PHP
  • getmypid() - Obtiene el ID del proceso PHP
  • get_current_user() - Obtiene el nombre del propietario del script PHP actual
  • getlastmod() - Obtiene la hora de la última modificación de la página

getmygid
getmypid
Funciones de Opciones/Info de PHP


Obtiene el ID del proceso PHP

getmyinode
getmyuid
Funciones de Opciones/Info de PHP
PHP Manual

getmypid

(PHP 4, PHP 5)

getmypid — Obtiene el ID del proceso PHP

Descripción

int getmypid ( void )

Obtiene el ID del proceso PHP actual.

Valores devueltos

Devuelve el ID del proceso PHP actual, o FALSE si ocurre un error.

Notas

Advertencia

Los IDs de proceso no son únicos, por lo tanto son una fuente débil de entropía. Es recomendable no depender en ids de proceso en contextos sujetos a consideraciones de seguridad.

Ver también

  • getmygid() - Obtener el GID del dueño del script PHP
  • getmyuid() - Obtiene el UID del dueño del script PHP
  • get_current_user() - Obtiene el nombre del propietario del script PHP actual
  • getmyinode() - Obtiene el inode del script actual
  • getlastmod() - Obtiene la hora de la última modificación de la página

getmyinode
getmyuid
Funciones de Opciones/Info de PHP


Obtiene el UID del dueño del script PHP

getmypid
getopt
Funciones de Opciones/Info de PHP
PHP Manual

getmyuid

(PHP 4, PHP 5)

getmyuid — Obtiene el UID del dueño del script PHP

Descripción

int getmyuid ( void )

Obtiene el ID de usuario para el script actual.

Valores devueltos

Devuelve el ID de usuario del script actual, o FALSE en caso de error.

Ver también

  • getmygid() - Obtener el GID del dueño del script PHP
  • getmypid() - Obtiene el ID del proceso PHP
  • get_current_user() - Obtiene el nombre del propietario del script PHP actual
  • getmyinode() - Obtiene el inode del script actual
  • getlastmod() - Obtiene la hora de la última modificación de la página

getmypid
getopt
Funciones de Opciones/Info de PHP


Obtiene las opciones de la lista de argumentos de la línea de comandos

getmyuid
getrusage
Funciones de Opciones/Info de PHP
PHP Manual

getopt

(PHP 4 >= 4.3.0, PHP 5)

getopt — Obtiene las opciones de la lista de argumentos de la línea de comandos

Descripción

array getopt ( string $options [, array $longopts ] )

Analiza las opciones pasadas al script.

Parámetros

options
Cada carácter de esta cadena de texto se usará como un carácter de opción y se comparará con aquellas opciones pasadas al script que comiencen con un guión simple (-). Por ejemplo, el string de opciones "x" reconocerá la opción -x. Sólo se permiten a-z, A-Z y 0-9.
longopts
Matriz de opciones. Cada elemento de este array se usará como texto de opciones y se compararán con aquellas opciones pasadas al script que comiencen con dos guiones (--). Por ejemplo, longopts tuviera un elemento con "opt", reconocería la opción --opt.

El parámetro options puede contener los siguientes elementos:

  • Caracteres individuales (no acepta valores)
  • Caracteres seguidos por dos puntos (el parámetro exije un valor)
  • Caracteres seguidos dos veces por dos puntos (valor opcional)
Los valores de opción serán el primer argumento tras el string. No importa si el valor está rodeado de espacios o no.

Nota: Los valores opcionales no aceptan un " " (espacio) como separador.

Nota:

El formato de options y de longopts es casi igual. La única diferencia es que longopts contiene un array de opciones (donde cada elemento es la opción) mientras que options contiene un string (donde cada carácter es la opción).

Valores devueltos

Esta función devolverá un array de pares opciones / argumentos, o FALSE en caso de error.

Nota:

El análisis de opciones finalizará cuando se encuentre alguna no-opción. Todo lo que haya a continuación será descartado.

Historial de cambios

Versión | Descripción
5.3.0 | Añadido soporte para usar "=" como separador de argumento/valor.
5.3.0 | Añadido soporte para valores opcionales (especificado mediante "::").
5.3.0 | El parámetro longopts está disponible en todos los sistemas.
5.3.0 | Esta función ya no depende del sistema y funciona también en Windows.

Ejemplos

Ejemplo #1 Ejemplo de getopt()

<?php
$options = getopt("f:hp:");
var_dump($options);
?>

El ejecutar el script superior con php script.php -fvalue -h se mostrará:

array(2) {
  ["f"]=>
  string(5) "value"
  ["h"]=>
  bool(false)
}

Ejemplo #2 Ejemplo 2 de getopt()

<?php
$shortopts  = "";
$shortopts .= "f:";  // Valor obligatorio
$shortopts .= "v::"; // Valor opcional
$shortopts .= "abc"; // Estas opciones no aceptan valores

$longopts  = array(
    "required:",     // Valor obligatorio
    "optional::",    // Valor opcional
    "option",        // Sin valores
    "opt",           // Sin valores
);
$options = getopt($shortopts, $longopts);
var_dump($options);
?>

Al ejecutar el script superior con php script.php -f "value for f" -v -a --required value --optional="optional value" --option se obtendrá:

array(6) {
  ["f"]=>
  string(11) "value for f"
  ["v"]=>
  bool(false)
  ["a"]=>
  bool(false)
  ["required"]=>
  string(5) "value"
  ["optional"]=>
  string(14) "optional value"
  ["option"]=>
  bool(false)
}

Ejemplo #3 Ejemplo 3 de getopt()

Pasando múltiples opciones como una

<?php
$options = getopt("abc");
var_dump($options);
?>

Al ejecutar el script superior con php script.php -aaac se obtendrá:

array(2) {
  ["a"]=>
  array(3) {
    [0]=>
    bool(false)
    [1]=>
    bool(false)
    [2]=>
    bool(false)
  }
  ["c"]=>
  bool(false)
}

Ver también

  • $argv

getmyuid
getrusage
Funciones de Opciones/Info de PHP


Obtiene el uso de los recursos actuales

getopt
ini_alter
Funciones de Opciones/Info de PHP
PHP Manual

getrusage

(PHP 4, PHP 5)

getrusage — Obtiene el uso de los recursos actuales

Descripción

array getrusage ([ int $who = 0 ] )

Esta es una interfaz de getrusage(2). Obtiene datos devueltos de la llamada al sistema.

Parámetros

who

Si el parámetro who es 1, getrusage será llamado con RUSAGE_CHILDREN.

Valores devueltos

Devuelve un array asociativo que contiene los datos devueltos por la llamada al sistema. Todas las entradas son accesibles mediante el uso de sus nombres de campo documentado.

Ejemplos

Ejemplo #1 getrusage() ejemplo

<?php
$dat = getrusage();
echo $dat["ru_nswap"];         // número de intercambios
echo $dat["ru_majflt"];        // número de fallos de página
echo $dat["ru_utime.tv_sec"];  // tiempo de usuario utilizado (segundos)
echo $dat["ru_utime.tv_usec"]; // tiempo de usuario usado (microsegundos)
?>

Notas

Nota: Esta función no está implementada en plataformas Windows.

Ver también

  • Página principal de sistema sobre getrusage(2)

getopt
ini_alter
Funciones de Opciones/Info de PHP


Alias de ini_set

getrusage
ini_get_all
Funciones de Opciones/Info de PHP
PHP Manual

ini_alter

(PHP 4, PHP 5)

ini_alter — Alias de ini_set()

Descripción

Esta función es un alias de: ini_set().

getrusage
ini_get_all
Funciones de Opciones/Info de PHP


Obtiene todas las opciones de configuración

ini_alter
ini_get
Funciones de Opciones/Info de PHP
PHP Manual

ini_get_all

(PHP 4 >= 4.2.0, PHP 5)

ini_get_all — Obtiene todas las opciones de configuración

Descripción

array ini_get_all ([ string $extension [, bool $details = true ]] )

Devuelve todas las opciones de configuración registradas.

Parámetros

extension

Un nombre de extensión opcional. Si se establece, la función de retornará únicamente opciones específicas para esa extensión.

details

Recupera los detalles de configuración o sólo el valor actual de cada configuración. Por omisión es TRUE (recuperar detalles).

Valores devueltos

Devuelve un array asociativo con el nombre de la directiva como la clave del array.

Cuando el parámetro details es TRUE (por omisión) el array contendrá global_value (establecido en php.ini), local_value (tal vez establecido con ini_set() o .htaccess), y access (el nivel de acceso).

Cuando el parámetro details es FALSE el valor será el valor actual de la opción.

Vea la sección del manual para obtener información sobre lo que significan los niveles de acceso.

Nota:

Es posible que una directiva tenga múltiples niveles de acceso, por lo que el access muestra los valores de máscara de bits adecuado.

Historial de cambios

Versión | Descripción
5.3.0 | Se añadió details.

Ejemplos

Ejemplo #1 ini_get_all() ejemplos

<?php
print_r(ini_get_all("pcre"));
print_r(ini_get_all());
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [pcre.backtrack_limit] => Array
        (
            [global_value] => 100000
            [local_value] => 100000
            [access] => 7
        )

    [pcre.recursion_limit] => Array
        (
            [global_value] => 100000
            [local_value] => 100000
            [access] => 7
        )

)
Array
(
    [allow_call_time_pass_reference] => Array
        (
            [global_value] => 0
            [local_value] => 0
            [access] => 6
        )

    [allow_url_fopen] => Array
        (
            [global_value] => 1
            [local_value] => 1
            [access] => 4
        )

    ...

)

Ejemplo #2 Disabling details

<?php
print_r(ini_get_all("pcre", false)); // Se añadió en PHP 5.3.0
print_r(ini_get_all(null, false)); // Se añadió en PHP 5.3.0
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [pcre.backtrack_limit] => 100000
    [pcre.recursion_limit] => 100000
)
Array
(
    [allow_call_time_pass_reference] => 0
    [allow_url_fopen] => 1
    ...
)

Ver también

  • Cómo cambiar los ajustes de configuración
  • ini_get() - Devuelve el valor de una directiva de configuración
  • ini_restore() - Restablece el valor de una opción de configuración
  • ini_set() - Establece el valor de una directiva de configuración
  • get_loaded_extensions() - Devuelve un array con los nombres de todos los módulos compilados y cargados
  • phpinfo() - Muestra información sobre la configuración de PHP
  • ReflectionExtension::getINIEntries() - Obtiene las entradas INI de la extensión

ini_alter
ini_get
Funciones de Opciones/Info de PHP


Devuelve el valor de una directiva de configuración

ini_get_all
ini_restore
Funciones de Opciones/Info de PHP
PHP Manual

ini_get

(PHP 4, PHP 5)

ini_get — Devuelve el valor de una directiva de configuración

Descripción

string ini_get ( string $varname )

En caso de éxito devuelve el valor de una directiva de configuración.

Parámetros

varname

Nombre de la directiva de configuración.

Valores devueltos

Devuelve el valor de la opción de configuración como cadena en caso de éxito, o una cadena vacía para valores null. Devuelve FALSE si la opción de configuración no existe.

Ejemplos

Ejemplo #1 Unos cuantos ejemplos de la función ini_get()

<?php
/*
Dentro del php.ini tenemos las siguientes directivas junto con sus valores iniciales:

display_errors = On
register_globals = Off
post_max_size = 8M
*/

echo 'display_errors = ' . ini_get('display_errors') . "\n";
echo 'register_globals = ' . ini_get('register_globals') . "\n";
echo 'post_max_size = ' . ini_get('post_max_size') . "\n";
echo 'post_max_size+1 = ' . (ini_get('post_max_size')+1) . "\n";
echo 'post_max_size in bytes = ' . return_bytes(ini_get('post_max_size'));

function return_bytes($val) {
    $val = trim($val);
    $last = strtolower($val[strlen($val)-1]);
    switch($last) {
        // El modificador 'G' está disponble desde PHP 5.1.0
        case 'g':
            $val *= 1024;
        case 'm':
            $val *= 1024;
        case 'k':
            $val *= 1024;
    }

    return $val;
}

?>

El resultado del ejemplo sería algo similar a:

display_errors = 1
register_globals = 0
post_max_size = 8M
post_max_size+1 = 9
post_max_size in bytes = 8388608

Notas

Nota: Cuando se consultan valores booleanos

El valor booleano off será devuelto como una cadena vacía o "0", mientras que el valor booleano on será devuelto será devuelto como "1". Esta función también puede devolver valores iniciales como cadenas.

Nota: Cuando se consultan valores de tamaños de memoria

Muchos valores iniciales de tamaños de memoria, tales como upload_max_filesize, están almacenados en el fichero php.ini en notación abreviada. ini_get() devolverá la cadena exacta almacenada en el fichero php.ini y NO su valor de tipo integer equivalente. Utilizar estos valores en funciones aritméticas puede provocar resultados inesperados. El ejemplo anterior muestra una manera de convertir la notación abreviada a bytes, muy similar a cómo lo hace el código fuente de PHP.

Historial de cambios

Versión | Descripción
5.3.0 | Anteriormente, se devolvía un string si la opción de configuración no existía. Ahora en su lugar se devuelve FALSE.

Ver también

  • get_cfg_var() - Obtiene el valor de una opción de configuración de PHP
  • ini_get_all() - Obtiene todas las opciones de configuración
  • ini_restore() - Restablece el valor de una opción de configuración
  • ini_set() - Establece el valor de una directiva de configuración

ini_get_all
ini_restore
Funciones de Opciones/Info de PHP


Restablece el valor de una opción de configuración

ini_get
ini_set
Funciones de Opciones/Info de PHP
PHP Manual

ini_restore

(PHP 4, PHP 5)

ini_restore — Restablece el valor de una opción de configuración

Descripción

void ini_restore ( string $varname )

Restaura una opción de configuración dado su valor original.

Parámetros

varname

El nombre de la opción de configuración.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 ini_restore() ejemplo

<?php
$setting = 'y2k_compliance';

echo 'Valor actual \'' . $setting . '\': ' . ini_get($setting), PHP_EOL;

ini_set($setting, ini_get($setting) ? 0 : 1);
echo 'Nuevo valor \'' . $setting . '\': ' . ini_get($setting), PHP_EOL;

ini_restore($setting);
echo 'Valor original \'' . $setting . '\': ' . ini_get($setting), PHP_EOL;
?>

El resultado del ejemplo sería:

Valor actual 'y2k_compliance': 1
Nuevo valor 'y2k_compliance': 0
Valor original 'y2k_compliance': 1

Ver también

  • ini_get() - Devuelve el valor de una directiva de configuración
  • ini_get_all() - Obtiene todas las opciones de configuración
  • ini_set() - Establece el valor de una directiva de configuración

ini_get
ini_set
Funciones de Opciones/Info de PHP


Establece el valor de una directiva de configuración

ini_restore
magic_quotes_runtime
Funciones de Opciones/Info de PHP
PHP Manual

ini_set

(PHP 4, PHP 5)

ini_set — Establece el valor de una directiva de configuración

Descripción

string ini_set ( string $varname , string $newvalue )

Establece el valor de la directiva de configuración dada. La opción de configuración mantendrá este nuevo valor durante la ejecución del script, y se restaurará cuando acabe el mismo.

Parámetros

varname

No todas las directivas pueden ser modificadas con ini_set(). Hay una lista con todas las directivas disponibles en el apéndice.

newvalue

El nuevo valor para la opción.

Valores devueltos

Devuelve el valor anterior en caso de éxito, FALSE en caso de error.

Ejemplos

Ejemplo #1 Establece una opción ini

<?php
echo ini_get('display_errors');

if (!ini_get('display_errors')) {
    ini_set('display_errors', '1');
}

echo ini_get('display_errors');
?>

Ver también

  • get_cfg_var() - Obtiene el valor de una opción de configuración de PHP
  • ini_get() - Devuelve el valor de una directiva de configuración
  • ini_get_all() - Obtiene todas las opciones de configuración
  • ini_restore() - Restablece el valor de una opción de configuración
  • Cómo cambiar los ajustes de configuración

ini_restore
magic_quotes_runtime
Funciones de Opciones/Info de PHP


Alias de set_magic_quotes_runtime

ini_set
main
Funciones de Opciones/Info de PHP
PHP Manual

magic_quotes_runtime

(PHP 4, PHP 5)

magic_quotes_runtime — Alias de set_magic_quotes_runtime()

Descripción

Esta función es un alias de: set_magic_quotes_runtime()

ini_set
main
Funciones de Opciones/Info de PHP


Función main falsa

magic_quotes_runtime
memory_get_peak_usage
Funciones de Opciones/Info de PHP
PHP Manual

main

main — Función main() falsa

Descripción

No existe ninguna función main(), salvo en el código fuente de PHP. En PHP 4.3.0, se introdujo un nuevo tipo de manejador de errores en el código fuente de PHP (php_error_docref). Existe una opción que permite enlazar a páginas del manual de PHP en los errores de mensaje cuando las directivas de PHP html_errors (habilitado por omisión) y docref_root (hasta PHP 4.3.2, habilitado por omisión) están habilitadas.

Algunos mensajes de error apuntan a la página del manual para la función main(), que es por lo que esta página existe. Si descubre alguna referencia a esta página, por favor » reporte un informe de error, indicando la función PHP que provocó el error que apuntó a main(), para que sea corregido y documentado.

Errores conocidos que apuntaban a main()
Nombre de la función | No apunta aquí desde
include | 5.1.0
include_once | 5.1.0
require | 5.1.0
require_once | 5.1.0

Ver también

  • html_errors
  • display_errors

magic_quotes_runtime
memory_get_peak_usage
Funciones de Opciones/Info de PHP


Devuelve el máximo de memoria asignada por PHP

main
memory_get_usage
Funciones de Opciones/Info de PHP
PHP Manual

memory_get_peak_usage

(PHP 5 >= 5.2.0)

memory_get_peak_usage — Devuelve el máximo de memoria asignada por PHP

Descripción

int memory_get_peak_usage ([ bool $real_usage = false ] )

Devuelve el máximo de memoria, en bytes, que se ha asignado a su script PHP.

Parámetros

real_usage

Si se deja en TRUE puede obtener el tamaño real de memoria asignada por el sistema. Si no se establece o es FALSE, la memoria utilizada por emalloc() es reportada.

Valores devueltos

Devuelve el máximo de memoria en bytes.

Historial de cambios

Versión | Descripción
5.2.1 | Compilar con --enable-memory-limit ya no es necesario para que esta función exista.
5.2.0 | se añade real_usage.

Ver también

  • memory_get_usage() - Devuelve la cantidad de memoria asignada a PHP
  • memory_limit

main
memory_get_usage
Funciones de Opciones/Info de PHP


Devuelve la cantidad de memoria asignada a PHP

memory_get_peak_usage
php_ini_loaded_file
Funciones de Opciones/Info de PHP
PHP Manual

memory_get_usage

(PHP 4 >= 4.3.2, PHP 5)

memory_get_usage — Devuelve la cantidad de memoria asignada a PHP

Descripción

int memory_get_usage ([ bool $real_usage = false ] )

Devuelve la cantidad de memoria, en bytes, que actualmente se asigna a su script PHP.

Parámetros

real_usage

Debe establecer esto a TRUE para obtener el tamaño real de memoria asignada por el sistema. Si no se establece o es FALSE sólo se reportará la memoria usada por emalloc().

Valores devueltos

Devuelve la cantidad de memoria en bytes.

Historial de cambios

Versión | Descripción
5.2.1 | Compilar con --enable-memory-limit ya no es necesario para que exista esta función.
5.2.0 | Se añadió real_usage.

Ejemplos

Ejemplo #1 A memory_get_usage() ejemplo

<?php
// Este es sólo un ejemplo, los siguientes números
// serán diferentes dependiendo de su sistema

echo memory_get_usage() . "\n"; // 36640

$a = str_repeat("Hello", 4242);

echo memory_get_usage() . "\n"; // 57960

unset($a);

echo memory_get_usage() . "\n"; // 36744

?>

Ver también

  • memory_get_peak_usage() - Devuelve el máximo de memoria asignada por PHP
  • memory_limit

memory_get_peak_usage
php_ini_loaded_file
Funciones de Opciones/Info de PHP


Recupera la ruta de acceso al archivo php.ini cargado

memory_get_usage
php_ini_scanned_files
Funciones de Opciones/Info de PHP
PHP Manual

php_ini_loaded_file

(PHP 5 >= 5.2.4)

php_ini_loaded_file — Recupera la ruta de acceso al archivo php.ini cargado

Descripción

string php_ini_loaded_file ( void )

Comprueba si un archivo php.ini se ha cargado, y recupera su ruta de acceso.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La ruta de php.ini cargado, o FALSE si uno no se ha cargado.

Ejemplos

Ejemplo #1 php_ini_loaded_file() ejemplo

<?php
$inipath = php_ini_loaded_file();

if ($inipath) {
    echo 'archivo php.ini cargado: ' . $inipath;
} else {
    echo 'ningún archivo php.ini ha sido cargado';
}
?>

El resultado del ejemplo sería algo similar a:

Loaded php.ini: /usr/local/php/php.ini

Ver también

  • php_ini_scanned_files() - Devuelve una lista de ficheros .ini procesados del directorio adicional ini dir
  • phpinfo() - Muestra información sobre la configuración de PHP
  • El archivo de configuración

memory_get_usage
php_ini_scanned_files
Funciones de Opciones/Info de PHP


Devuelve una lista de ficheros .ini procesados del directorio adicional ini dir

php_ini_loaded_file
php_logo_guid
Funciones de Opciones/Info de PHP
PHP Manual

php_ini_scanned_files

(PHP 4 >= 4.3.0, PHP 5)

php_ini_scanned_files — Devuelve una lista de ficheros .ini procesados del directorio adicional ini dir

Descripción

string php_ini_scanned_files ( void )

php_ini_scanned_files() devuelve una lista separada por comas de los ficheros de configuración procesados por php.ini. Estos archivos se encuentran en un directorio definido por la opción --with-config-file-scan-dir que se establece durante la compilación.

Los archivos de configuración devueltos también incluyen la ruta como se declara en la opción --with-config-file-scan-dir .

Valores devueltos

Devuelve un string separado por comas de archivos .ini en caso de éxito. Cada coma es seguido por un salto de línea. Si la directiva --with-config-file-scan-dir no fué definida, devolverá FALSE. Si se trata de establecer y el directorio estaba vacío, un string vacío será retornado. Si un archivo es irreconocible, el archivo todavía hace que se devuelva un string pero un error de PHP también dará lugar. Este error de PHP se verá tanto en tiempo de compilación y durante el uso de php_ini_scanned_files().

Ejemplos

Ejemplo #1 Un ejemplo simple para listar los archivos ini devueltos

<?php
if ($filelist = php_ini_scanned_files()) {
    if (strlen($filelist) > 0) {
        $files = explode(',', $filelist);

        foreach ($files as $file) {
            echo "<li>" . trim($file) . "</li>\n";
        }
    }
}
?>

Ver también

  • ini_set() - Establece el valor de una directiva de configuración
  • phpinfo() - Muestra información sobre la configuración de PHP
  • php_ini_loaded_file() - Recupera la ruta de acceso al archivo php.ini cargado

php_ini_loaded_file
php_logo_guid
Funciones de Opciones/Info de PHP


Obtiene el valor guid del logo

php_ini_scanned_files
php_sapi_name
Funciones de Opciones/Info de PHP
PHP Manual

php_logo_guid

(PHP 4, PHP 5 < 5.5)

php_logo_guid — Obtiene el valor guid del logo

Descripción

string php_logo_guid ( void )

Esta función devuelve el ID que puede ser usado para desplegar el logo de PHP usando la imagen integrada. El logo es desplegado únicamente si el valor de expose_php es On.

Advertencia

Esta función ha sido declarada OBSOLETA y ELIMINADA desde PHP 5.5.0.

Valores devueltos

Devuelve PHPE9568F34-D428-11d2-A769-00AA001ACF42.

Historial de cambios

Versión | Descripción
5.5.0 | php_logo_guid() ha sido eliminada de PHP.

Ejemplos

Ejemplo #1 Ejemplo de php_logo_guid()

<?php

echo '<img src="' . $_SERVER['PHP_SELF'] .
     '?=' . php_logo_guid() . '" alt="¡Logo de PHP!" />';

?>

Ver también

  • phpinfo() - Muestra información sobre la configuración de PHP
  • phpversion() - Obtiene la versión de PHP
  • phpcredits() - Imprime los créditos de PHP
  • zend_logo_guid() - Obtiene el valor guid de Zend

php_ini_scanned_files
php_sapi_name
Funciones de Opciones/Info de PHP


Devuelve el tipo de interfaz que hay entre PHP y el servidor

php_logo_guid
php_uname
Funciones de Opciones/Info de PHP
PHP Manual

php_sapi_name

(PHP 4 >= 4.0.1, PHP 5)

php_sapi_name — Devuelve el tipo de interfaz que hay entre PHP y el servidor

Descripción

string php_sapi_name ( void )

Devuelve una cadena en minúsculas que describe el tipo de interfaz (la API de Servidor, SAPI) que está utilizando PHP. Por ejemplo, en PHP CLI esta cadena será "cli" mientras que en Apache podría tener varios valores diferentes dependiendo de la SAPI que se utilice. Más abajo se enumeran los posibles valores.

Valores devueltos

Devuelve el tipo de interfaz, como cadena de texto en minúsculas.

Pese a no ser una lista completa, los posibles valores incluyen aolserver, apache, apache2filter, apache2handler, caudium, cgi (hasta PHP 5.3), cgi-fcgi, cli, continuity, embed, isapi, litespeed, milter, nsapi, phttpd, pi3web, roxen, thttpd, tux, y webjames.

Ejemplos

Ejemplo #1 Ejemplo de php_sapi_name()

Este ejemplo comprueba si está la cadena cgi, ya que podría darse un nombre como cgi-fcgi.

<?php
$sapi_type = php_sapi_name();
if (substr($sapi_type, 0, 3) == 'cgi') {
    echo "Está usando PHP CGI\n";
} else {
    echo "No está usando PHP CGI\n";
}
?>

Notas

Nota: Una forma alternativa

La constante de PHP PHP_SAPI contiene el mismo valor que php_sapi_name().

Sugerencia

Posible malentendido

Podría no ser evidente cuál es la SAPI en uso, ya que, por ejemplo, en lugar de apache podría aparecer definida como apache2handler o como apache2filter.

Ver también

  • PHP_SAPI

php_logo_guid
php_uname
Funciones de Opciones/Info de PHP


Devuelve información sobre el sistema operativo en que se está ejecutando PHP

php_sapi_name
phpcredits
Funciones de Opciones/Info de PHP
PHP Manual

php_uname

(PHP 4 >= 4.0.2, PHP 5)

php_uname — Devuelve información sobre el sistema operativo en que se está ejecutando PHP

Descripción

string php_uname ([ string $mode = "a" ] )

php_uname() devuelve una descripción del sistema operativo en que se está ejecutando PHP. Esta misma información se muestra en la parte superior de phpinfo(). Para obtener solamente el nombre del sistema operativo, considere el uso de la constante PHP_OS, pero tenga en mente que la constante contendrá el sistema operativo en que PHP fue compilado.

En algunos sistemas más antigos de UNIX, es posible que no se pueda determinar la información del SO actual en cuyo caso se revertirá mostrando el SO en que PHP fue compilado. Esto solo sucederá si la llamada a la libreria uname() no existe o no funciona.

Parámetros

mode

mode es un caracter simple que define qué información es devuelta:

  • 'a': Elegida por defecto. Contiene todos los modos en la secuencia "s n r v m".
  • 's': Nombre del sistema operativo. ej. FreeBSD.
  • 'n': Nombre del Host. ej. localhost.example.com.
  • 'r': Nombre de la versión liberada. ej. 5.1.2-RELEASE.
  • 'v': Información de la versión. Varia mucho entre los sistemas operativos.
  • 'm': Tipo de máquina. ej. i386.

Valores devueltos

Devuelve la descripción, como una cadena de texto.

Ejemplos

Ejemplo #1 Algúnos ejemplos de php_uname()

<?php
echo php_uname();
echo PHP_OS;

/* Algúnos posibles resultados:
Linux localhost 2.4.21-0.13mdk #1 Fri Mar 14 15:08:06 EST 2003 i686
Linux

FreeBSD localhost 3.2-RELEASE #15: Mon Dec 17 08:46:02 GMT 2001
FreeBSD

Windows NT XN1 5.1 build 2600
WINNT
*/

if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
    echo 'Este un servidor usando Windows!';
} else {
    echo 'Este es un servidor que no usa Windows!';
}

?>

También existen algunas constantes PHP predefinidas que pueden ser útiles, por ejemplo:

Ejemplo #2 Algunos ejemplos de las constantes relacionadas al SO

<?php
// *nix
echo DIRECTORY_SEPARATOR; // /
echo PHP_SHLIB_SUFFIX;    // so
echo PATH_SEPARATOR;      // :

// Win*
echo DIRECTORY_SEPARATOR; // \
echo PHP_SHLIB_SUFFIX;    // dll
echo PATH_SEPARATOR;      // ;
?>

Ver también

  • phpversion() - Obtiene la versión de PHP
  • php_sapi_name() - Devuelve el tipo de interfaz que hay entre PHP y el servidor
  • phpinfo() - Muestra información sobre la configuración de PHP

php_sapi_name
phpcredits
Funciones de Opciones/Info de PHP


Imprime los créditos de PHP

php_uname
phpinfo
Funciones de Opciones/Info de PHP
PHP Manual

phpcredits

(PHP 4, PHP 5)

phpcredits — Imprime los créditos de PHP

Descripción

bool phpcredits ([ int $flag = CREDITS_ALL ] )

Esta función imprime la lista de créditos de los desarrolladores de PHP, módulos, etc Genera los códigos HTML apropiados para insertar la información en una página.

Parámetros

flag

Para generar una página de créditos personalizada, puede utilizar el parámetro flag.

Pre-defined phpcredits() flags
name | description
CREDITS_ALL | Todos los créditos, equivalente a usar: CREDITS_DOCS + CREDITS_GENERAL + CREDITS_GROUP + CREDITS_MODULES + CREDITS_FULLPAGE. Genera una completa e independiente, página HTML con las etiquetas apropiadas.
CREDITS_DOCS | Los créditos para el equipo de documentación
CREDITS_FULLPAGE | Por lo general se utiliza en combinación con las otras flags. Indica que es independiente de la página HTML debe ser impreso con la información indicada por las otras flags.
CREDITS_GENERAL | Créditos generales: Diseño y concepto del lenguaje, autores de PHP y el módulo SAPI.
CREDITS_GROUP | Una lista de los desarrolladores del núcleo.
CREDITS_MODULES | Una lista de los módulos de extensión para PHP, y sus autores.
CREDITS_SAPI | Una lista de los módulos de servidor API para PHP, y sus autores.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Imprimir los créditos generales

<?php
phpcredits(CREDITS_GENERAL);
?>

Ejemplo #2 Imprimir los desarrolladores principales y el grupo de documentación

<?php
phpcredits(CREDITS_GROUP | CREDITS_DOCS | CREDITS_FULLPAGE);
?>

Ejemplo #3 Imprimir todos los créditos

<html>
 <head>
  <title>Mi página de créditos</title>
 </head>
 <body>
<?php
// Algún código propio
phpcredits(CREDITS_ALL - CREDITS_FULLPAGE);
// algo más de código
?>
 </body>
</html>

Notas

Nota:

phpcredits() genera texto plano en lugar de HTML al usar el modo CLI.

Ver también

  • phpversion() - Obtiene la versión de PHP
  • php_logo_guid() - Obtiene el valor guid del logo
  • phpinfo() - Muestra información sobre la configuración de PHP

php_uname
phpinfo
Funciones de Opciones/Info de PHP


Muestra información sobre la configuración de PHP

phpcredits
phpversion
Funciones de Opciones/Info de PHP
PHP Manual

phpinfo

(PHP 4, PHP 5)

phpinfo — Muestra información sobre la configuración de PHP

Descripción

bool phpinfo ([ int $what = INFO_ALL ] )

Muestra gran cantidad de información sobre el estado actual de PHP. Incluye información sobre las opciones de compilación y extensiones de PHP, versión de PHP, información del servidor y entorno (si se compiló como módulo), entorno PHP, versión del OS, rutas, valor de las opciones de configuración locales y generales, cabeceras HTTP y licencia de PHP.

Como cada sistema se instala diferente phpinfo() se usa comúnmente para revisaropciones de configuración y variables predefinidas disponibles en un sistema dado

phpinfo() también es una valiosa herramienta de depuración ya que contiene todos valores EGPCS (Environment, GET, POST, Cookie, Server).

Parámetros

what

El resultado de salida puede ser personalizado al pasar una o más de las siguientes constantes sumadas juntas bit a bit en el parámetro opcional what. También se pueden combinar las respectivas constantes con el operador bit a bit or.

phpinfo() opciones
Nombre(constante) | Valor | Descripción
INFO_GENERAL | 1 | La línea de configuración, ubicación de php.ini, fecha de compilación, servidor Web, sistema y más.
INFO_CREDITS | 2 | Créditos de PHP. Ver también phpcredits().
INFO_CONFIGURATION | 4 | Valores Locales y Maestros actuales de las directivas PHP. Ver también ini_get().
INFO_MODULES | 8 | Módulos cargados y sus respectivos parámetros Ver también get_loaded_extensions().
INFO_ENVIRONMENT | 16 | Información de las variables de entorno. Tambien disponibles en $_ENV.
INFO_VARIABLES | 32 | Muestra todas las variables predefinidas de EGPCS (Environment, GET, POST, Cookie, Server).
INFO_LICENSE | 64 | Información de Licencia de PHP. Ver también el » FAQ de licencia.
INFO_ALL | -1 | Muestra toda la información anterior

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.5.0 | Los GUIDs de logos fueron reemplazados con URIs de datos, por lo que desactivar ahora expose_php no tiene efecto sobre el resutaldo de phpinfo(). Los créditos ahora también han sido embebidos en la salida misma en vez mediante enlaces.
5.2.2 | Se añadió la información del "Fichero de configuración cargado", mientras que anteriormente solo existía "Ruta del fichero de configuración (php.ini).

Ejemplos

Ejemplo #1 Ejemplo de phpinfo()

<?php

// Muestra toda la información, por defecto INFO_ALL
phpinfo();

// Muestra solamente la información de los módulos.
// phpinfo(8) hace exactamente lo mismo.
phpinfo(INFO_MODULES);

?>

Notas

Nota:

En versiones de PHP anteriores a la 5.5.0, las partes de la información que se muestra están deshabilidadas cuando la opción de configuración expose_php está establecida a off. Esto incluye los logos de PHP y Zend y los créditos.

Nota:

phpinfo() muestra texto plano en lugar de HTML cuando se utiliza en la línea de comandos.

Ver también

  • phpversion() - Obtiene la versión de PHP
  • phpcredits() - Imprime los créditos de PHP
  • php_logo_guid() - Obtiene el valor guid del logo
  • ini_get() - Devuelve el valor de una directiva de configuración
  • ini_set() - Establece el valor de una directiva de configuración
  • get_loaded_extensions() - Devuelve un array con los nombres de todos los módulos compilados y cargados
  • Variables predefinidas

phpcredits
phpversion
Funciones de Opciones/Info de PHP


Obtiene la versión de PHP

phpinfo
putenv
Funciones de Opciones/Info de PHP
PHP Manual

phpversion

(PHP 4, PHP 5)

phpversion — Obtiene la versión de PHP

Descripción

string phpversion ([ string $extension ] )

Devuelve una cadena que contiene la versión del analizador de PHP en ejecución o extensión.

Parámetros

extension

Un nombre de extensión opcional.

Valores devueltos

Si el parámetro opcional extension ha sido especificado, phpversion() devuelve la versión de la extensión, o FALSE si no hay información de versión asociada o la extensión no está habilitada.

Ejemplos

Ejemplo #1 phpversion() Ejemplo básico

<?php
// Imprime ejemplo 'Versión actual de PHP: 5.3.8'
echo 'Versión actual de PHP: ' . phpversion();

// Imprime ejemplo '2.0' o nada si la extensión no está habilitada
echo phpversion('tidy');
?>

Ejemplo #2 PHP_VERSION_ID Ejemplo y uso

<?php
// PHP_VERSION_ID está disponible a partir de PHP 5.2.7, si nuestra
// versión es inferior a eso, entonces emular
if (!defined('PHP_VERSION_ID')) {
    $version = explode('.', PHP_VERSION);

    define('PHP_VERSION_ID', ($version[0] * 10000 + $version[1] * 100 + $version[2]));
}

// PHP_VERSION_ID se define como un número, donde el mayor número,
// es la versión más reciente de PHP usada. Se define tal como se utiliza la
// expresión anterior.
//
// $version_id = $major_version * 10000 + $minor_version * 100 + $release_version;
//
// Ahora, con PHP_VERSION_ID podemos comprobar las características que la versión de
// PHP pueda tener, esto no requiere el uso version_compare () cada vez que compruebe si la
// versión de PHP no es compatible con una característica.
//
// Por ejemplo, aquí podemos definir las constantes PHP_VERSION_ * que
// no están disponibles en las versiones anteriores a 5.2.7

if (PHP_VERSION_ID < 50207) {
    define('PHP_MAJOR_VERSION',   $version[0]);
    define('PHP_MINOR_VERSION',   $version[1]);
    define('PHP_RELEASE_VERSION', $version[2]);

    // Y así sucesivamente, ...
}
?>

Notas

Nota:

Esta información también está disponible en la constante predefinida PHP_VERSION. Más información de versión está disponible utilizando las constantes PHP_VERSION_*

Ver también

  • constantes predefinidas
  • version_compare() - Compara dos números de versiones estandarizados de PHP
  • phpinfo() - Muestra información sobre la configuración de PHP
  • phpcredits() - Imprime los créditos de PHP
  • php_logo_guid() - Obtiene el valor guid del logo
  • zend_version() - Obtiene la versión del motor Zend actual

phpinfo
putenv
Funciones de Opciones/Info de PHP


Establece el valor de una variable de entorno

phpversion
restore_include_path
Funciones de Opciones/Info de PHP
PHP Manual

putenv

(PHP 4, PHP 5)

putenv — Establece el valor de una variable de entorno

Descripción

bool putenv ( string $setting )

Agrega setting al entorno del servidor. La variable de entorno existirá únicamente durante la petición actual. Al final de la petición el entorno es recuperado a su estado original.

Definir ciertas variables de entorno puede representar una brecha de seguridad potencial. La directiva safe_mode_allowed_env_vars contiene una lista de prefijos delimitados por comas. En Modo Seguro, el usuario puede alterar únicamente variables de entorno cuyos nombres comiencen con los prefijos ofrecidos por esta directiva. Por omisión, los usuarios sólo podrán definir variables de entorno que comiencen con PHP_ (p.ej. PHP_FOO=BAR). Nota: si esta directiva se encuentra vacía, ¡PHP permitirá que el usuario modifique CUALQUIER variable de entorno!

La directiva safe_mode_protected_env_vars contiene una lista de variables de entorno delimitadas por comas, que el usuario final no podrá modificar usando putenv(). Estas variables serán protegidas incluso si safe_mode_allowed_env_vars se establece de tal modo que permita modificarlas.

Parámetros

setting

El parámetro, como p.ej. "FOO=BAR"

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Definición de una variable de entorno

<?php
putenv("UNIQID=$uniqid");
?>

Notas

Advertencia

La directiva safe_mode_allowed_env_vars y safe_mode_protected_env_vars sólo tendrán efecto cuando safe_mode esté habilitado.

Ver también

  • getenv() - Obtiene el valor de una variable de entorno

phpversion
restore_include_path
Funciones de Opciones/Info de PHP


Restablece el valor de la opción de configuración include_path

putenv
set_include_path
Funciones de Opciones/Info de PHP
PHP Manual

restore_include_path

(PHP 4 >= 4.3.0, PHP 5)

restore_include_path — Restablece el valor de la opción de configuración include_path

Descripción

void restore_include_path ( void )

Restablece la opción de configuración include_path a su valor maestro original, tal y como se encuentre definido en php.ini

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de restore_include_path()

<?php

echo get_include_path();  // .:/usr/local/lib/php

set_include_path('/inc');

echo get_include_path();  // /inc

// Funciona a partir de PHP 4.3.0
restore_include_path();

// Funciona en todas las versiones de PHP
ini_restore('include_path');

echo get_include_path();  // .:/usr/local/lib/php

?>

Ver también

  • ini_restore() - Restablece el valor de una opción de configuración
  • get_include_path() - Obtiene la opción de configuración include_path actual
  • set_include_path() - Establece la opción de configuración include_path
  • include - include

putenv
set_include_path
Funciones de Opciones/Info de PHP


Establece la opción de configuración include_path

restore_include_path
set_magic_quotes_runtime
Funciones de Opciones/Info de PHP
PHP Manual

set_include_path

(PHP 4 >= 4.3.0, PHP 5)

set_include_path — Establece la opción de configuración include_path

Descripción

string set_include_path ( string $new_include_path )

Establece la opción de configuración include_path durante la duración del script.

Parámetros

new_include_path

El nuevo valor para include_path

Valores devueltos

Devuelve el valor antiguo de include_path en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de set_include_path()

<?php
// Funciona a partir de PHP 4.3.0
set_include_path('/usr/lib/pear');

// Funciona en todas las versiones de PHP
ini_set('include_path', '/usr/lib/pear');
?>

Ejemplo #2 Añadir a la ruta de inclusión

Haciendo uso de la constante PATH_SEPARATOR es posible extender la ruta de inclusión independientemente del sistema operativo.

En este ejemplo agregamos /usr/lib/pear al final del valor include_path actual.

<?php
$ruta = '/usr/lib/pear';
set_include_path(get_include_path() . PATH_SEPARATOR . $ruta);
?>

Ver también

  • ini_set() - Establece el valor de una directiva de configuración
  • get_include_path() - Obtiene la opción de configuración include_path actual
  • restore_include_path() - Restablece el valor de la opción de configuración include_path
  • include - include

restore_include_path
set_magic_quotes_runtime
Funciones de Opciones/Info de PHP


Establece el valor de configuración activo actual de magic_quotes_runtime

set_include_path
set_time_limit
Funciones de Opciones/Info de PHP
PHP Manual

set_magic_quotes_runtime

(PHP 4, PHP 5)

set_magic_quotes_runtime — Establece el valor de configuración activo actual de magic_quotes_runtime

Descripción

bool set_magic_quotes_runtime ( bool $new_setting )

Establecer el ajuste de configuración activo actual de magic_quotes_runtime.

Advertencia

Esta función ha sido declarada OBSOLETA desde PHP 5.3.0 y ELIMINADA a partir de PHP 5.4.0.

Parámetros

new_setting

FALSE para off, TRUE para on.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 set_magic_quotes_runtime() ejemplo

<?php
// Crea un apuntador de archivo temporal
$fp = tmpfile();

// Escribir algunos datos en el puntero
fwrite($fp, '\'PHP\' es un acrónimo recursivo');

// Sin magic_quotes_runtime
rewind($fp);
set_magic_quotes_runtime(false);

echo 'Sin magic_quotes_runtime: ' . fread($fp, 64), PHP_EOL;

// Con magic_quotes_runtime
rewind($fp);
set_magic_quotes_runtime(true);

echo 'Con magic_quotes_runtime: ' . fread($fp, 64), PHP_EOL;

// Clean up
fclose($fp);
?>

El resultado del ejemplo sería:

Sin magic_quotes_runtime: 'PHP' es un acrónimo recursivo
Con magic_quotes_runtime: \'PHP\' es un acrónimo recursivo

Ver también

  • get_magic_quotes_gpc() - Obtiene el valor actual de configuración de magic_quotes_gpc
  • get_magic_quotes_runtime() - Obtiene el valor de configuración activo actual de magic_quotes_runtime

set_include_path
set_time_limit
Funciones de Opciones/Info de PHP


Limita el tiempo máximo de ejecución

set_magic_quotes_runtime
sys_get_temp_dir
Funciones de Opciones/Info de PHP
PHP Manual

set_time_limit

(PHP 4, PHP 5)

set_time_limit — Limita el tiempo máximo de ejecución

Descripción

void set_time_limit ( int $seconds )

Establece el número de segundos que se permite la ejecución de un script. Si esto se alcanza, el script devuelve un error fatal. El límite predeterminado es de 30 segundos o, si es que existe, el valor max_execution_time definido en el php.ini.

Cuando es llamado, set_time_limit() reinicia el contador de tiempo de espera de cero. En otras palabras, si el tiempo de espera por defecto es de 30 segundos, y 25 segundos en la ejecución del script se hace la llamada set_time_limit(20), el script se ejecutará durante un total de 45 segundos antes de que se agote el tiempo.

Parámetros

seconds

El tiempo de ejecución máximo, en segundos. Si se pone a cero se impone sin límite de tiempo.

Valores devueltos

No devuelve ningún valor.

Notas

Advertencia

Esta función no tiene efecto cuando PHP se ejecuta en safe mode. No hay ninguna solución más que deshabilitar el modo seguro o cambiar el tiempo límite en el php.ini.

Nota:

La función set_time_limit() y la directiva de configuración max_execution_time sólo afectan el tiempo de ejecución del script mismo. Todo el tiempo dedicado a la actividad que ocurre fuera de la ejecución del script, como las llamadas al sistema usando system(), operaciones de secuencia, consultas a la bases de datos, etc. No se incluyen cuando se determina el tiempo máximo del script en funcionamiento. Esto no es cierto en Windows, donde el tiempo medido es real.

Ver también

  • max_execution_time
  • max_input_time

set_magic_quotes_runtime
sys_get_temp_dir
Funciones de Opciones/Info de PHP


Devuelve la ruta del directorio para archivos temporales

set_time_limit
version_compare
Funciones de Opciones/Info de PHP
PHP Manual

sys_get_temp_dir

(PHP 5 >= 5.2.1)

sys_get_temp_dir — Devuelve la ruta del directorio para archivos temporales

Descripción

string sys_get_temp_dir ( void )

Devuelve la ruta del directorio donde PHP almacena los archivos temporales por defecto.

Valores devueltos

Devuelve la ruta del directorio temporal.

Ejemplos

Ejemplo #1 sys_get_temp_dir() example

<?php
// Crear un fichero en el temporal
// directorio de archivos utilizando sys_get_temp_dir()
$temp_file = tempnam(sys_get_temp_dir(), 'Tux');

echo $temp_file;
?>

El resultado del ejemplo sería algo similar a:

C:\Windows\Temp\TuxA318.tmp

Ver también

  • tmpfile() - Crea un archivo temporal
  • tempnam() - Crea un archivo con un nombre de archivo único

set_time_limit
version_compare
Funciones de Opciones/Info de PHP


Compara dos números de versiones estandarizados de PHP

sys_get_temp_dir
zend_logo_guid
Funciones de Opciones/Info de PHP
PHP Manual

version_compare

(PHP 4 >= 4.1.0, PHP 5)

version_compare — Compara dos números de versiones estandarizados de PHP

Descripción

mixed version_compare ( string $version1 , string $version2 [, string $operator ] )

version_compare() compara dos números de versiones estandarizados de PHP. Puede ser de utilidad en caso de escribir programas que tan solo funcionen en determinadas versiones de PHP.

Esta función, en primer lugar reemplaza los _, - y + por puntos . y las cadenas de texto de versiones y añade puntos . antes y después de cualquier código no numérico, de manera que '4.3.2RC1' sería '4.3.2.RC.1'. Después, trocea el resultado tal como haría la función explode('.', $ver). Posteriormente compara cada una de las partes, de izquierda a derecha. Si alguna parte contuviera un texto especial de versión, se manejarían con el siguiente orden: cualquier texto que no se encuentre en esta lista < dev < alpha = a < beta = b < RC = rc < # < pl = p. De esta forma, no solo se pueden comparar versiones con diferentes niveles, como '4.1' y '4.1.2', sino que también se pueden comparar versiones específicas de PHP que contengan el estado de desarrollo en que se encuentran.

Parámetros

version1

Primer número de versión.

version2

Segundo número de versión.

operator

Si se especificara el argumento opcional operator, se podrían comprobar determinadas realciones. Los operadores posibles son: <, lt, <=, le, >, gt, >=, ge, ==, =, eq, !=, <>, ne respectivamente.

Este parámetro es sensible a mayúsculas, por lo que debe introducirse en minúsculas.

Valores devueltos

Por omisión, version_compare() devuelve -1 si la primera versión es inferior a la segunda, 0 si son iguales, y 1 si la segunda es inferior.

Al usar el argumento opcional operator, la función de volverá TRUE si se cumpliera la relación especificada por el operador, o FALSE en caso contrario.

Ejemplos

Los siguientes ejemplos usan la constante PHP_VERSION, ya que esta contiene el valor de la versión de PHP con que se está ejecutando el código.

Ejemplo #1 Ejemplos de version_compare()

<?php
if (version_compare(PHP_VERSION, '6.0.0') >= 0) {
    echo 'Soy al menos la versión 6.0.0 de PHP, mi versión: ' . PHP_VERSION . "\n";
}

if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
    echo 'Soy al menos la versión 5.3.0 de PHP, mi versión: ' . PHP_VERSION . "\n";
}

if (version_compare(PHP_VERSION, '5.0.0', '>=')) {
    echo 'Estoy usando la versión 5 de PHP, mi versión: ' . PHP_VERSION . "\n";
}

if (version_compare(PHP_VERSION, '5.0.0', '<')) {
    echo 'Estoy usando la versión 4 de PHP, mi versión: ' . PHP_VERSION . "\n";
}
?>

Notas

Nota:

La constante PHP_VERSION almacena la versión de PHP en uso.

Nota:

Tenga presente que las versiones preeliminares, como por ejemplo 5.3.0-dev, se las considera inferiroes a la versión final (como por ejemplo 5.3.0).

Nota:

Las cadenas de versiones especiales como alpha y beta son sensibles a mayúsculas/minúsculas. Las cadenas de versiones desde fuentes arbitrarias que no se adhieren al estándar de PHP podrían necesitar ser convertidas a minúsculas mediante strtolower() antes de llamar a version_compare().

Ver también

  • phpversion() - Obtiene la versión de PHP
  • php_uname() - Devuelve información sobre el sistema operativo en que se está ejecutando PHP
  • function_exists() - Devuelve TRUE si la función dada ha sido definida

sys_get_temp_dir
zend_logo_guid
Funciones de Opciones/Info de PHP


Obtiene el valor guid de Zend

version_compare
zend_thread_id
Funciones de Opciones/Info de PHP
PHP Manual

zend_logo_guid

(PHP 4, PHP 5 < 5.5)

zend_logo_guid — Obtiene el valor guid de Zend

Descripción

string zend_logo_guid ( void )

Esta función devuelve el ID que puede ser usado para desplegar el logo de Zend usando la imagen incorporada.

Advertencia

Esta función ha sido declarada OBSOLETA y ELIMINADA desde PHP 5.5.0.

Valores devueltos

Devuelve PHPE9568F35-D428-11d2-A769-00AA001ACF42.

Historial de cambios

Versión | Descripción
5.5.0 | zend_logo_guid() ha sido eliminada de PHP.

Ejemplos

Ejemplo #1 Ejemplo de zend_logo_guid()

<?php

echo '<img src="' . $_SERVER['PHP_SELF'] .
     '?=' . zend_logo_guid() . '" alt="¡Logo Zend!" />';

?>

Ver también

  • php_logo_guid() - Obtiene el valor guid del logo

version_compare
zend_thread_id
Funciones de Opciones/Info de PHP


Devuelve un identificador único del thread actual

zend_logo_guid
zend_version
Funciones de Opciones/Info de PHP
PHP Manual

zend_thread_id

(PHP 5)

zend_thread_id — Devuelve un identificador único del thread actual

Descripción

int zend_thread_id ( void )

Esta función devuelve un identificador único del thread actual.

Valores devueltos

Devuelve thread id en formato integer.

Ejemplos

Ejemplo #1 Ejemplo de zend_thread_id()

<?php
$thread_id = zend_thread_id();

echo 'El thread id actual es: ' . $thread_id;
?>

El resultado del ejemplo sería algo similar a:

El thread actual es: 7864

Notas

Nota:

Esta función solo está disponible en PHP compilado con soporte ZTS (Zend Thread Safety) y modo debug (--enable-debug).

zend_logo_guid
zend_version
Funciones de Opciones/Info de PHP


Obtiene la versión del motor Zend actual

zend_thread_id
runkit
Funciones de Opciones/Info de PHP
PHP Manual

zend_version

(PHP 4, PHP 5)

zend_version — Obtiene la versión del motor Zend actual

Descripción

string zend_version ( void )

Devuelve una cadena que contiene la versión del Motor Zend ejecutándose actualmente.

Valores devueltos

Devuelve el número de versión del Motor Zend, como una cadena.

Ejemplos

Ejemplo #1 Ejemplo de zend_version()

<?php
echo "Versión del motor Zend: " . zend_version();
?>

El resultado del ejemplo sería algo similar a:

Versión del motor Zend: 2.2.0

Ver también

  • phpinfo() - Muestra información sobre la configuración de PHP
  • phpcredits() - Imprime los créditos de PHP
  • php_logo_guid() - Obtiene el valor guid del logo
  • phpversion() - Obtiene la versión de PHP

zend_thread_id
runkit
Funciones de Opciones/Info de PHP


runkit

  • Introducción
  • Constantes predefinidas
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Funciones runkit
    • Runkit_Sandbox — La Clase Runkit Sandbox -- Máquina Virtual de PHP
    • Runkit_Sandbox_Parent — Clase Runkit Anti-Sandbox
    • runkit_class_adopt — Convertir una clase base en una clase heredada, añadiendo métodos ancestrales cuando sea apropiado
    • runkit_class_emancipate — Convertir una clase heredada en una clase base, eliminando cualquier método cuyo ámbito sea ancestral
    • runkit_constant_add — Similar a define(), excepto que también permite definir en definiciones de clase
    • runkit_constant_redefine — Redefinir una constante ya definida
    • runkit_constant_remove — Eliminar/Borrar una constante ya definida
    • runkit_function_add — Añadir una nueva función, similar a create_function
    • runkit_function_copy — Copiar una función a un nombre de función nuevo
    • runkit_function_redefine — Reemplazar una definición de función con una nueva implementación
    • runkit_function_remove — Eliminar una definición de función
    • runkit_function_rename — Cambiar el nombre de una función
    • runkit_import — Procesar un archivo PHP importando definiciones de funciones y clases, sobrescribiendo cuando sea apropiado
    • runkit_lint_file — Verificar la sintaxis PHP del archivo especificado
    • runkit_lint — Verificar la sintaxis PHP del código php especificado
    • runkit_method_add — Añadir dinámicamente un nuevo método a una clase dada
    • runkit_method_copy — Copia un método de una clase a otra
    • runkit_method_redefine — Cambiar dinámicamente el código del método dado
    • runkit_method_remove — Eliminar dinámicamente el método dado
    • runkit_method_rename — Cambiar dinámicamente el nombre del método dado
    • runkit_return_value_used — Determina si se usarán los valores devueltos por las funciones actuales
    • runkit_sandbox_output_handler — Especificar una función para capturar y/o procesar la salida de un aislamiento de procesos de runkit
    • runkit_superglobals — Devolver el array indexado numéricamente de las superglobales registradas
zend_version
Introducción
Afecta el comportamiento de PHP


Introducción

La extensión runkit proporciona medios para modificar constantes, funciones definidas por el usuario y clases definidas por el usuario. También proporciona variables superglobales personalizadas y sub-intérpretes que se pueden embeber mediante aislamiento de procesos (sandboxing).

Este paquete está hecho como una característica añadida para reemplazar al paquete » classkit. Cuando se compila con la opción --enable-runkit=classkit a ./configure, exportará las definiciones de funciones y constantes compatibles con classkit.

runkit
Constantes predefinidas
runkit


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

RUNKIT_IMPORT_FUNCTIONS (integer)
Bandera de runkit_import() que indica que las funciones normales deberían ser importadas desde el archivo especificado.
RUNKIT_IMPORT_CLASS_METHODS (integer)
Bandera de runkit_import() que indica que los métodos de clases deberían ser importados desde el archivo especificado.
RUNKIT_IMPORT_CLASS_CONSTS (integer)
Bandera de runkit_import() 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.
RUNKIT_IMPORT_CLASS_PROPS (integer)
Bandera de runkit_import() que indica que las propiedades estándar de clases deberían ser importadas desde el archivo especificado.
RUNKIT_IMPORT_CLASSES (integer)
Bandera de runkit_import() que representa un operador OR a nivel de bit de las constantes RUNKIT_IMPORT_CLASS_*.
RUNKIT_IMPORT_OVERRIDE (integer)
Bandera de runkit_import() 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.
RUNKIT_ACC_PUBLIC (integer)
Bandera específica de PHP 5 para runkit_method_add()
RUNKIT_ACC_PROTECTED (integer)
Bandera específica de PHP 5 para runkit_method_add()
RUNKIT_ACC_PRIVATE (integer)
Bandera específica de PHP 5 para runkit_method_add()
CLASSKIT_ACC_PUBLIC (integer)
Bandera específica de PHP 5 para classkit_method_add() Sólo definida cuando la compatibilidad con classkit está habilitada.
CLASSKIT_ACC_PROTECTED (integer)
Bandera específica de PHP 5 para classkit_method_add() Sólo definida cuando la compatibilidad con classkit está habilitada.
CLASSKIT_ACC_PRIVATE (integer)
Bandera específica de PHP 5 para classkit_method_add() Sólo definida cuando la compatibilidad con classkit está habilitada.
CLASSKIT_AGGREGATE_OVERRIDE (integer)
Bandera específica de PHP 5 para classkit_import() Sólo definida cuando la compatibilidad con classkit está habilitada.
RUNKIT_VERSION (string)
Definida para la versión actual del paquete runkit.
CLASSKIT_VERSION (string)
Definida para la versión actual del paquete runkit. Sólo definida cuando la compatibilidad con classkit está habilitada.
Introducción
Instalación/Configuración
runkit


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Constantes predefinidas
Requerimientos
runkit


Requerimientos

Modificar Constantes, Funciones, Clases y Métodos funciona con todas las distribuciones de PHP 4 y PHP 5. No se necesitan requisitos especiales.

Las Superglobales Personalizadas sólo están disponibles en PHP 4.2.0 o posterior.

El Aislamiento de Procesos (Sandboxing) requiere PHP 5.1.0 o posterior, o PHP 5.0.0 con un parche TSRM especial aplicado. Sin importar qué versión de PHP está en uso se debe compilar con la opción --enable-maintainer-zts. Vea el archivo README en el paquete de runkit para información adicional.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/runkit.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de Configuración de Runkit
Nombre | Por defecto | Cambiable | Historial de cambios
runkit.superglobal | "" | PHP_INI_PERDIR |
runkit.internal_override | "0" | PHP_INI_SYSTEM |
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

runkit.superglobal string
Una lista separada por comas de nombres de variables que van a ser tratadas como superglobales. Este valor debería estar establecido a través del archivo php.ini, pero puede funcionar en contextos de configuración por directorio dependiendo de su SAPI.

Ejemplo #1 Superglobales personalizadas con runkit.superglobal=_FOO,_BAR en php.ini

<?php
function mostrar_valores() {
  echo "Foo es $_FOO\n";
  echo "Bar es $_BAR\n";
  echo "Baz es $_BAZ\n";
}

$_FOO = 'foo';
$_BAR = 'bar';
$_BAZ = 'baz';

/* Muestra foo y bar, pero no baz */
mostrar_valores();
?>
runkit.internal_override boolean
Habilita la capacidad de modificar/renombrar/eliminar funciones internas.

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Configuración en tiempo de ejecución
Funciones runkit
Instalación/Configuración


Funciones runkit

Tabla de contenidos

  • Runkit_Sandbox — La Clase Runkit Sandbox -- Máquina Virtual de PHP
  • Runkit_Sandbox_Parent — Clase Runkit Anti-Sandbox
  • runkit_class_adopt — Convertir una clase base en una clase heredada, añadiendo métodos ancestrales cuando sea apropiado
  • runkit_class_emancipate — Convertir una clase heredada en una clase base, eliminando cualquier método cuyo ámbito sea ancestral
  • runkit_constant_add — Similar a define(), excepto que también permite definir en definiciones de clase
  • runkit_constant_redefine — Redefinir una constante ya definida
  • runkit_constant_remove — Eliminar/Borrar una constante ya definida
  • runkit_function_add — Añadir una nueva función, similar a create_function
  • runkit_function_copy — Copiar una función a un nombre de función nuevo
  • runkit_function_redefine — Reemplazar una definición de función con una nueva implementación
  • runkit_function_remove — Eliminar una definición de función
  • runkit_function_rename — Cambiar el nombre de una función
  • runkit_import — Procesar un archivo PHP importando definiciones de funciones y clases, sobrescribiendo cuando sea apropiado
  • runkit_lint_file — Verificar la sintaxis PHP del archivo especificado
  • runkit_lint — Verificar la sintaxis PHP del código php especificado
  • runkit_method_add — Añadir dinámicamente un nuevo método a una clase dada
  • runkit_method_copy — Copia un método de una clase a otra
  • runkit_method_redefine — Cambiar dinámicamente el código del método dado
  • runkit_method_remove — Eliminar dinámicamente el método dado
  • runkit_method_rename — Cambiar dinámicamente el nombre del método dado
  • runkit_return_value_used — Determina si se usarán los valores devueltos por las funciones actuales
  • runkit_sandbox_output_handler — Especificar una función para capturar y/o procesar la salida de un aislamiento de procesos de runkit
  • runkit_superglobals — Devolver el array indexado numéricamente de las superglobales registradas
Tipos de recursos
Runkit_Sandbox
runkit


La Clase Runkit Sandbox -- Máquina Virtual de PHP

Funciones runkit
Runkit_Sandbox_Parent
Funciones runkit
PHP Manual

Runkit_Sandbox

(PECL runkit >= 0.7.0)

Runkit_Sandbox — La Clase Runkit Sandbox -- Máquina Virtual de PHP

Descripción

Al instanciar la clase Runkit_Sandbox se crea un nuevo hilo con su própio ámbito y pila de programa. Al usar un conjunto de opciones pasadas al constructor, este entorno puede estar restringido a un subconjunto de lo que el intérprete primario puede hacer y proporciona un entorno seguro para ejecutar código proporcionado por el usuario.

Nota: Soporte para Entorno de Pruebas (requerido por runkit_lint(), runkit_lint_file(), y la clase Runkit_Sandbox) está disponible sólo a partir de PHP 5.1.0 o versiones especialmente parcheadas de PHP 5.0, y requiere que thread safety sea habilitada. Vea el archivo README incluido en el paquete runkit para más información.

Constructor

void Runkit_Sandbox::__construct ([ array $options ] )

options es un array asociativo que contiene cualquier combinación de las opciones especiales ini listadas abajo.

safe_mode

Si el script exterior que está instanciando la clase Runkit_Sandbox se configura con safe_mode = off, safe_mode puede ser activado para el entorno del aislamiento de procesos (sandbox). Esta configuración no se puede usar para deshabilitar safe_mode cuando ya está habilitado en el script exterior.

safe_mode_gid

Si el script exterior que está instanciando la clase Runkit_Sandbox se configura con safe_mode_gid = on, safe_mode_gid puede ser activado para el entorno del aislamiento de procesos. Esta configuración no se puede usar para habilitar safe_mode_gid cuando ya está deshabilitado en el script exterior.

safe_mode_include_dir

Si el script exterior que está instanciando la clase Runkit_Sandbox se configura con un directorio safe_mode_include_dir, un nuevo directorio safe_mode_include_dir puede ser establecido para los entornos del aislamiento de procesos bajo es valor definido actualmente. safe_mode_include_dir también puede ser limpiado para indicar que la característica de bypass está deshabilitada. Si safe_mode_include_dir estaba en blanco en el script exterior, pero safe_mode no estaba habilitado, se puede establecer cualquier directorio safe_mode_include_dir arbitrario mientras se activa safe_mode.

open_basedir

open_basedir puede ser establecido a cualquier ruta bajo la confuguración actual de open_basedir. Si open_basedir no está establecido dentro del ámbito global, se asume que es el directorio raíz y puede ser establecido a cualquier ubicación.

allow_url_fopen

Como safe_mode, esta configuración sólo puede ser hecha más restrictiva, en este caso estableciéndola a FALSE cuando estaba anteriomente establecida a TRUE

disable_functions

Una lista de funciones separadas por comas a deshabilitar dentro del sub-intérprete del aisalmiaento de procesos. Esta lista no necesita contener los nombres de las funciones actualmente deshabiltadas, permanecerán deshabiltadas ya estén listadas o no.

disable_classes

Una lista de clases separadas por comas a deshabilitar dentro del sub-intérprete del aisalmiaento de procesos. Esta lista no necesita contener los nombres de las clases actualmente deshabiltadas, permanecerán deshabiltadas ya estén listadas o no.

runkit.superglobal

Una lista de varables separadas por comas a ser tratadas como superglobales dentro del sub-intérprete del aislamiaento de procesos. Estas variables serás usadas además de cualquier variable definida internamente o a través de la configuración global runkit.superglobal.

runkit.internal_override

La opción ini runkit.internal_override puede ser deshabilitada (pero no rehabilitada) dentro de los aislamientos de procesos.

Ejemplo #1 Instanciar un entorno de aislamiento de procesos (sandbox) restringido

<?php
$opciones = array(
  'safe_mode'=>true,
  'open_basedir'=>'/var/www/users/jdoe/',
  'allow_url_fopen'=>'false',
  'disable_functions'=>'exec,shell_exec,passthru,system',
  'disable_classes'=>'myAppClass');
$sandbox = new Runkit_Sandbox($opciones);
/* Las configuraciones ini no protegidas pueden establecerse normalmente */
$sandbox->ini_set('html_errors',true);
?>

Acceder a Variables

Todas las variables en el ámbito global del entorno del aislamiento de procesos son accesibles como propiedades del objeto de aislamiento de procesos. Lo primero a tener en cuenta es que a causa de la manera en que se maneja la memoria entre estos dos hilos, las variables de objeto y de recurso actualmente no se pueden intercambiar entre intérpretes. Además, todas las matrices se copian en profundidad y cualquier referencia se perderá. Esto también siginifiva que las referencias entre intérpretes no son posibles.

Ejemplo #2 Trabajar con variables en un entorno de aislamiento de procesos (sandbox)

<?php
$sandbox = new Runkit_Sandbox();

$sandbox->foo = 'bar';
$sandbox->eval('echo "$foo\n"; $bar = $foo . "baz";');
echo "{$sandbox->bar}\n";
if (isset($sandbox->foo)) unset($sandbox->foo);
$sandbox->eval('var_dump(isset($foo));');
?>

El resultado del ejemplo sería:

bar
barbaz
bool(false)

Llamar a Funciones de PHP

Cualquier función definida dentro del entorno de aislamiento de procesos puede ser llamada como un método del objeto de aislamiento de procesos. Esto también incluye algunos contructores de lenguaje de pseudo-función: eval(), include, include_once, require, require_once, echo, print, die(), y exit().

Ejemplo #3 Llamar a funciones del aislamiento de procesos

<?php
$sandbox = new Runkit_Sandbox();

echo $sandbox->str_replace('a','f','abc');
?>

El resultado del ejemplo sería:

fbc

Cuando se pasan argumentos a una función de aislameinto de procesos, los argumentos se toman desde la instancia exterior de PHP. Si se desea pasar argumentos desde el ámbito del aislamiento de procesos, asegúrese de acceder a ellos como propiedades del objeto de aislamiento de procesos como se ilustra abajo.

Ejemplo #4 Pasar agumentos a las funciones del aislamiento de procesos

<?php
$sandbox = new Runkit_Sandbox();

$foo = 'bar';
$sandbox->foo = 'baz';
echo $sandbox->str_replace('a',$foo,'a');
echo $sandbox->str_replace('a',$sandbox->foo,'a');
?>

El resultado del ejemplo sería:

bar
baz

Cambiar la Configuración del Aislamiento de Procesos

A partir de la versión 0.5 de runkit, se pueden modificar ciertas configuraciones del aislamiento de procesos sobre la marcha usando la sintaxis de ArrayAccess. Algunos ajustes, como active, son de sólo lectura y proporcionan información de estado. Otros ajustes, como output_handler, se pueden establecer y leer como un índice de matriz normal. Ajustes futuros puede ser de sólo escritura, sin embargo actualmente no existen tales ajustes.

Configuración del Aislamiento de Procesos / Indicadores de estado
Configuración | Tipo | Propósito | Predeterminado
active | Boolean (Sólo Lectura) | TRUE si el Aislamiento de Procesos está aún en un estado usable, FALSE si la peticióni está abandonada debido a una llamada a die(), exit(), o a causa de una condición de error fatal. | TRUE (Inicial)
output_handler | Callback | Cuando se establece a una llamada de retorno válida, toda la salida generada por la instancia del Aislamiento de Procesos será procesada por la función nominada. Los gestores de salida del Aislamiento de Procesos siguen las misma convenciones de llamada que los gestores de salida del lado del sistema. | Ninguno
parent_access | Boolean | ¿El aislamiento de procesos puede usar instancias de la clase Runkit_Sandbox_Parent? Debe estar habilitado para otras configuraciones de Runkit_Sandbox_Parent relacionadas para que funcione. | FALSE
parent_read | Boolean | ¿El aislamiento de procesos puede leer variables en su contexto padre? | FALSE
parent_write | Boolean | ¿El aislamiento de procesos puede modificar variables en su contexto padre? | FALSE
parent_eval | Boolean | ¿El aislamiento de procesos puede evaluar código arbitrario en su contexto padre? PELIGROSO | FALSE
parent_include | Boolean | ¿El aislamiento de procesos puede incluir archivos de código php en su contexto padre? PELIGROSO | FALSE
parent_echo | Boolean | ¿El aislamiento de procesos puede hacer eco de información en su contexto padre eefctivamente pasando su propio output_handler? | FALSE
parent_call | Boolean | ¿El aislamiento de procesos puede llamar a funciones en su contexto padre? | FALSE
parent_die | Boolean | ¿El aislamiento de procesos puede eliminar su propio contexto padre? (Y así a sí mismo) | FALSE
parent_scope | Integer | ¿Qué Ámbito tendrá el acceso de las propiedades padre? 0 == Ámbito global, 1 == Ámbito de llamda, 2 == Ámbito precediendo al ambito de llamada, 3 == El ambito antes de este, etc..., etc... | 0 (Global)
parent_scope | String | Cuando parent_scope está establecido a un valor de cadena, se refiere a un variable de matriz nominada en el Ámbito global. Si la variable nominada no existe el momento del acceso se creará como un array vacío. Si la varible existe pero no es un array, se creará un array "falso" que contiene una referencia a la variable global nominada. |

Funciones runkit
Runkit_Sandbox_Parent
Funciones runkit


Clase Runkit Anti-Sandbox

Runkit_Sandbox
runkit_class_adopt
Funciones runkit
PHP Manual

Runkit_Sandbox_Parent

(PECL runkit >= 0.7.0)

Runkit_Sandbox_Parent — Clase Runkit Anti-Sandbox

Descripción

void Runkit_Sandbox_Parent::__construct ( void )

Instanciar la clase Runkit_Sandbox_Parent desde dentro de un entorno de aislamiento de procesos creado desde la clase Runkit_Sandbox proporciona algunos medios (controlados) para que un aislamiento de procesos hijo acceda a su padre.

Nota: Soporte para Entorno de Pruebas (requerido por runkit_lint(), runkit_lint_file(), y la clase Runkit_Sandbox) está disponible sólo a partir de PHP 5.1.0 o versiones especialmente parcheadas de PHP 5.0, y requiere que thread safety sea habilitada. Vea el archivo README incluido en el paquete runkit para más información.

Para que cualquier característica de Runkit_Sandbox_Parent funcione, el soporte debe estar habilitado sobre una base del aislamiento de procesos habilitando la bandera parent_access desde el contexto padre.

Ejemplo #1 Trabajar con variables en un aislamiento de procesos (sandbox)

<?php
$sandbox = new Runkit_Sandbox();
$sandbox['parent_access'] = true;
?>

Acceder a las Variables del Padre

Al igual que con el acceso a variables en un aislamiento de procesos, las variables del padre de un aislamiento de procesos se puede leer y escribir como propiedades de la clase Runkit_Sandbox_Parent. El acceso a la lectura de variables padre puede estar habilitado con el ajuste parent_read (además del ajuste base parent_access). El acceso a escritura, a su vez, se habilita a través del ajuste parent_write.

A diferencia del acceso a variables de un hijo del aislamiento de procesos, el ámbito de la variable no está limitado sólo a globales. Estableciendo el ajuste parent_scope a un valor entero apropiado se pueden examinar otros ámbitos en la pila de llamadas activas. Un valor de 0 (Predeterminado) dirigirá el acceso a variables al ámbito global. 1 apuntará al acceso a varables en cualquier ámbito de variables que estuviera activo en el momento en el que el bloque del código del aislamiento de proceosos actual estuviera ejecutándose. Valores mayores recorren hacia atrás las funciones que llamaron a las funciones que llevaron al código de ejecución del aislamiento de procesos que intentó acceder a sus propias variables padre.

Ejemplo #2 Acceder a las varibales padre

<?php
$php = new Runkit_Sandbox();
$php['parent_access'] = true;
$php['parent_read'] = true;

$prueba = "Global";

$php->eval('$PARENT = new Runkit_Sandbox_Parent;');

$php['parent_scope'] = 0;
uno();

$php['parent_scope'] = 1;
uno();

$php['parent_scope'] = 2;
uno();

$php['parent_scope'] = 3;
uno();

$php['parent_scope'] = 4;
uno();

$php['parent_scope'] = 5;
uno();

function uno() {
    $prueba = "uno()";
    dos();
}

function dos() {
    $prueba = "dos()";
    tres();
}

function tres() {
    $prueba = "tres()";
    $GLOBALS['php']->eval('var_dump($PARENT->prueba);');
}
?>

El resultado del ejemplo sería:

string(6) "Global"
string(7) "tres()"
string(5) "dos()"
string(5) "uno()"
string(6) "Global"
string(6) "Global"

Llamar a las Funciones Padre

Igual que con el acceso del aislamiento de procesos, un aislamiento de procesos puede acceder a sus funciones padre siempre que haya sido habilitada la configuración apropiada. Habilitar parent_call permitirá al aislamiento de procesos llamar a todas las funciones disponibles en el ámbito padre. Los constructores del lenguaje están controlados cada uno por sus propias configuraciones: print y echo son habilitadas con parent_echo. die() y exit() son habilitadas con parent_die. eval() es habilitada con parent_eval mientras que include, include_once, require, y require_once son habilitadas a través de parent_include.

Runkit_Sandbox
runkit_class_adopt
Funciones runkit


Convertir una clase base en una clase heredada, añadiendo métodos ancestrales cuando sea apropiado

Runkit_Sandbox_Parent
runkit_class_emancipate
Funciones runkit
PHP Manual

runkit_class_adopt

(PECL runkit >= 0.7.0)

runkit_class_adopt — Convertir una clase base en una clase heredada, añadiendo métodos ancestrales cuando sea apropiado

Descripción

bool runkit_class_adopt ( string $classname , string $parentname )

Parámetros

classname

Nombre de la clase a ser adoptada

parentname

La clase padre en la que se extiende la hija

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de runkit_class_adopt()

<?php
class miPadre {
  function funcPadre() {
    echo "Salida de la Función Padre\n";
  }
}

class miHija {
}

runkit_class_adopt('myChild','funcPadre');
miHija::funcPadre();
?>

El resultado del ejemplo sería:

Salida de la Función Padre

Ver también

  • runkit_class_emancipate() - Convertir una clase heredada en una clase base, eliminando cualquier método cuyo ámbito sea ancestral

Runkit_Sandbox_Parent
runkit_class_emancipate
Funciones runkit


Convertir una clase heredada en una clase base, eliminando cualquier método cuyo ámbito sea ancestral

runkit_class_adopt
runkit_constant_add
Funciones runkit
PHP Manual

runkit_class_emancipate

(PECL runkit >= 0.7.0)

runkit_class_emancipate — Convertir una clase heredada en una clase base, eliminando cualquier método cuyo ámbito sea ancestral

Descripción

bool runkit_class_emancipate ( string $classname )

Parámetros

classname

Nombre de la clase a emancipar

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de runkit_class_emancipate()

<?php
class miPadre {
  function funcPadre () {
    echo "Salida de la Función Padre\n";
  }
}
class miHija extends miPadre {
}

miHija::funcPadre();
runkit_class_emancipate('miHija');
miHija::funcPadre();
?>

El resultado del ejemplo sería:

Salida de la Función Padre
Fatal error: Call to undefined function:  funcPadre() in example.php on line 12

Ver también

  • runkit_class_adopt() - Convertir una clase base en una clase heredada, añadiendo métodos ancestrales cuando sea apropiado

runkit_class_adopt
runkit_constant_add
Funciones runkit


Similar a define(), excepto que también permite definir en definiciones de clase

runkit_class_emancipate
runkit_constant_redefine
Funciones runkit
PHP Manual

runkit_constant_add

(PECL runkit >= 0.7.0)

runkit_constant_add — Similar a define(), excepto que también permite definir en definiciones de clase

Descripción

bool runkit_constant_add ( string $constname , mixed $value )

Parámetros

constname

Nombre de la constante a declarar. Una cadena que indica la constante global, o nombreclase::constname que indica la constante de clase.

value

Valor NULL, Bool, Long, Double, String, o Resource a almacenar en la nueva constante.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • define() - Define una constante con nombre
  • runkit_constant_redefine() - Redefinir una constante ya definida
  • runkit_constant_remove() - Eliminar/Borrar una constante ya definida

runkit_class_emancipate
runkit_constant_redefine
Funciones runkit


Redefinir una constante ya definida

runkit_constant_add
runkit_constant_remove
Funciones runkit
PHP Manual

runkit_constant_redefine

(PECL runkit >= 0.7.0)

runkit_constant_redefine — Redefinir una constante ya definida

Descripción

bool runkit_constant_redefine ( string $constname , mixed $newvalue )

Parámetros

constname

Constante a redefinir. Una cadena que indica la constante global, o nombreclase::constname que indica la constante de clase.

newvalue

El nuevo valor a asignar a la constante.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • runkit_constant_add() - Similar a define(), excepto que también permite definir en definiciones de clase
  • runkit_constant_remove() - Eliminar/Borrar una constante ya definida

runkit_constant_add
runkit_constant_remove
Funciones runkit


Eliminar/Borrar una constante ya definida

runkit_constant_redefine
runkit_function_add
Funciones runkit
PHP Manual

runkit_constant_remove

(PECL runkit >= 0.7.0)

runkit_constant_remove — Eliminar/Borrar una constante ya definida

Descripción

bool runkit_constant_remove ( string $constname )

Parámetros

constname

Nombre de la constante a eliminar. Una cadena que indica la constante global, o nombreclase::constname que indica la constante de clase.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • define() - Define una constante con nombre
  • runkit_constant_add() - Similar a define(), excepto que también permite definir en definiciones de clase
  • runkit_constant_redefine() - Redefinir una constante ya definida

runkit_constant_redefine
runkit_function_add
Funciones runkit


Añadir una nueva función, similar a create_function

runkit_constant_remove
runkit_function_copy
Funciones runkit
PHP Manual

runkit_function_add

(PECL runkit >= 0.7.0)

runkit_function_add — Añadir una nueva función, similar a create_function()

Descripción

bool runkit_function_add ( string $funcname , string $arglist , string $code )

Parámetros

funcname

Nombre de la función que va a ser creada

arglist

Lista de argumentos separados por comas

code

Código que compone la función

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de runkit_function_add()

<?php
runkit_function_add('testme','$a,$b','echo "El valor de a es $a\n"; echo "El valor de b es $b\n";');
testme(1,2);
?>

El resultado del ejemplo sería:

El valor de a es 1
El valor de b es 2

Ver también

  • create_function() - Crear una función anónima (estilo lambda)
  • runkit_function_redefine() - Reemplazar una definición de función con una nueva implementación
  • runkit_function_copy() - Copiar una función a un nombre de función nuevo
  • runkit_function_rename() - Cambiar el nombre de una función
  • runkit_function_remove() - Eliminar una definición de función
  • runkit_method_add() - Añadir dinámicamente un nuevo método a una clase dada

runkit_constant_remove
runkit_function_copy
Funciones runkit


Copiar una función a un nombre de función nuevo

runkit_function_add
runkit_function_redefine
Funciones runkit
PHP Manual

runkit_function_copy

(PECL runkit >= 0.7.0)

runkit_function_copy — Copiar una función a un nombre de función nuevo

Descripción

bool runkit_function_copy ( string $funcname , string $targetname )

Parámetros

funcname

Nombre de la función existente

targetname

Nombre de la función donde se va a copiar la definición

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de runkit_function_copy()

<?php
function original() {
  echo "En una función\n";
}
runkit_function_copy('original','duplicado');
original();
duplicado();
?>

El resultado del ejemplo sería:

En una función
En una función

Ver también

  • runkit_function_add() - Añadir una nueva función, similar a create_function
  • runkit_function_redefine() - Reemplazar una definición de función con una nueva implementación
  • runkit_function_rename() - Cambiar el nombre de una función
  • runkit_function_remove() - Eliminar una definición de función

runkit_function_add
runkit_function_redefine
Funciones runkit


Reemplazar una definición de función con una nueva implementación

runkit_function_copy
runkit_function_remove
Funciones runkit
PHP Manual

runkit_function_redefine

(PECL runkit >= 0.7.0)

runkit_function_redefine — Reemplazar una definición de función con una nueva implementación

Descripción

bool runkit_function_redefine ( string $funcname , string $arglist , string $code )

Nota: Por defecto, sólo funciones del espacio de usuario pueden ser eliminadas, renombradas, o modificadas. Para controlar funciones internas, la opción runkit.internal_override en php.ini debe ser habilitada.

Parámetros

funcname

Nombre de la función a redefinir

arglist

Nueva lista de argumentos a ser aceptados por la función

code

Nueva implementación de código

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de runkit_function_redefine()

<?php
function testme() {
  echo "Implementación Original de Testme\n";
}
testme();
runkit_function_redefine('testme','','echo "Nueva Implementación de Testme\n";');
testme();
?>

El resultado del ejemplo sería:

Implementación Original de Testme
Nueva Implementación de Testme

Ver también

  • runkit_function_add() - Añadir una nueva función, similar a create_function
  • runkit_function_copy() - Copiar una función a un nombre de función nuevo
  • runkit_function_rename() - Cambiar el nombre de una función
  • runkit_function_remove() - Eliminar una definición de función

runkit_function_copy
runkit_function_remove
Funciones runkit


Eliminar una definición de función

runkit_function_redefine
runkit_function_rename
Funciones runkit
PHP Manual

runkit_function_remove

(PECL runkit >= 0.7.0)

runkit_function_remove — Eliminar una definición de función

Descripción

bool runkit_function_remove ( string $funcname )

Nota: Por defecto, sólo funciones del espacio de usuario pueden ser eliminadas, renombradas, o modificadas. Para controlar funciones internas, la opción runkit.internal_override en php.ini debe ser habilitada.

Parámetros

funcname

Nombre de la función a ser borrada

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • runkit_function_add() - Añadir una nueva función, similar a create_function
  • runkit_function_copy() - Copiar una función a un nombre de función nuevo
  • runkit_function_redefine() - Reemplazar una definición de función con una nueva implementación
  • runkit_function_rename() - Cambiar el nombre de una función

runkit_function_redefine
runkit_function_rename
Funciones runkit


Cambiar el nombre de una función

runkit_function_remove
runkit_import
Funciones runkit
PHP Manual

runkit_function_rename

(PECL runkit >= 0.7.0)

runkit_function_rename — Cambiar el nombre de una función

Descripción

bool runkit_function_rename ( string $funcname , string $newname )

Nota: Por defecto, sólo funciones del espacio de usuario pueden ser eliminadas, renombradas, o modificadas. Para controlar funciones internas, la opción runkit.internal_override en php.ini debe ser habilitada.

Parámetros

funcname

Nombre actual de la función

newname

Nombre nuevo de la función

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • runkit_function_add() - Añadir una nueva función, similar a create_function
  • runkit_function_copy() - Copiar una función a un nombre de función nuevo
  • runkit_function_redefine() - Reemplazar una definición de función con una nueva implementación
  • runkit_function_remove() - Eliminar una definición de función

runkit_function_remove
runkit_import
Funciones runkit


Procesar un archivo PHP importando definiciones de funciones y clases, sobrescribiendo cuando sea apropiado

runkit_function_rename
runkit_lint_file
Funciones runkit
PHP Manual

runkit_import

(PECL runkit >= 0.7.0)

runkit_import — Procesar un archivo PHP importando definiciones de funciones y clases, sobrescribiendo cuando sea apropiado

Descripción

bool runkit_import ( string $filename [, int $flags = RUNKIT_IMPORT_CLASS_METHODS ] )

Similar a include, sin embargo cualquier código que resida fuera de una función o clase es simplemente ignorado. Además, dependiendo del valor de flags, cualquier función o clase ya existente en el entorno de ejecución actual será sobrescrito automáticamente por sus nuevas definiciones.

Parámetros

filename

El nombre de archivo desde que se va a importar las definiciones de funciones y clases

flags

Operador OR a nivel de bit de la familia de constantes RUNKIT_IMPORT_*.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

runkit_function_rename
runkit_lint_file
Funciones runkit


Verificar la sintaxis PHP del archivo especificado

runkit_import
runkit_lint
Funciones runkit
PHP Manual

runkit_lint_file

(PECL runkit >= 0.7.0)

runkit_lint_file — Verificar la sintaxis PHP del archivo especificado

Descripción

bool runkit_lint_file ( string $filename )

La función runkit_lint_file() lleva a cabo una verifiación de sintaxis (lint) (pelusa en inglés) sobre el nombre de archivo especificado comprobando errores en la escritura del script. Esto es similar a usar php -l desde la línea de comandos.

Nota: Soporte para Entorno de Pruebas (requerido por runkit_lint(), runkit_lint_file(), y la clase Runkit_Sandbox) está disponible sólo a partir de PHP 5.1.0 o versiones especialmente parcheadas de PHP 5.0, y requiere que thread safety sea habilitada. Vea el archivo README incluido en el paquete runkit para más información.

Parámetros

filename

Archivo que contiene el código PHP a ser verificado de "pelusas" (lint)

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • runkit_lint() - Verificar la sintaxis PHP del código php especificado

runkit_import
runkit_lint
Funciones runkit


Verificar la sintaxis PHP del código php especificado

runkit_lint_file
runkit_method_add
Funciones runkit
PHP Manual

runkit_lint

(PECL runkit >= 0.7.0)

runkit_lint — Verificar la sintaxis PHP del código php especificado

Descripción

bool runkit_lint ( string $code )

La función runkit_lint() lleva a cabo una verifiación de sintaxis (lint) (pelusa en inglés) sobre el código php especificado comprobando errores en la escritura del script. Esto es similar a usar php -l desde la línea de comandos excepto que runkit_lint() acepta código actual en vez de un nombre de archivo.

Nota: Soporte para Entorno de Pruebas (requerido por runkit_lint(), runkit_lint_file(), y la clase Runkit_Sandbox) está disponible sólo a partir de PHP 5.1.0 o versiones especialmente parcheadas de PHP 5.0, y requiere que thread safety sea habilitada. Vea el archivo README incluido en el paquete runkit para más información.

Parámetros

code

El código PHP a ser verificado de "pelusas" (lint)

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • runkit_lint_file() - Verificar la sintaxis PHP del archivo especificado

runkit_lint_file
runkit_method_add
Funciones runkit


Añadir dinámicamente un nuevo método a una clase dada

runkit_lint
runkit_method_copy
Funciones runkit
PHP Manual

runkit_method_add

(PECL runkit >= 0.7.0)

runkit_method_add — Añadir dinámicamente un nuevo método a una clase dada

Descripción

bool runkit_method_add ( string $classname , string $methodname , string $args , string $code [, int $flags = RUNKIT_ACC_PUBLIC ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

classname

La clase donde se va a añadir el método

methodname

El nombre del método a añadir

args

Lista de argumentos delimitados por comas para el recién creado método

code

El código a ser evaluado cuando methodname sea llamado

flags

El tipo de método a crear, puede ser RUNKIT_ACC_PUBLIC, RUNKIT_ACC_PROTECTED o RUNKIT_ACC_PRIVATE

Nota:

Este parámetro sólo se usa a partir de PHP 5, ya que, antes de esta versión, todos los métodos eran públicos.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de runkit_method_add()

<?php
class Ejemplo {
    function foo() {
        echo "foo!\n";
    }
}

// crear un objeto de Ejemplo
$e = new Ejemplo();

// Añadir un nuevo método público
runkit_method_add(
    'Ejemplo',
    'sumar',
    '$num1, $num2',
    'return $num1 + $num2;',
    RUNKIT_ACC_PUBLIC
);

// sumar 12 + 4
echo $e->sumar(12, 4);
?>

El resultado del ejemplo sería:

16

Ver también

  • runkit_method_copy() - Copia un método de una clase a otra
  • runkit_method_redefine() - Cambiar dinámicamente el código del método dado
  • runkit_method_remove() - Eliminar dinámicamente el método dado
  • runkit_method_rename() - Cambiar dinámicamente el nombre del método dado
  • runkit_function_add() - Añadir una nueva función, similar a create_function

runkit_lint
runkit_method_copy
Funciones runkit


Copia un método de una clase a otra

runkit_method_add
runkit_method_redefine
Funciones runkit
PHP Manual

runkit_method_copy

(PECL runkit >= 0.7.0)

runkit_method_copy — Copia un método de una clase a otra

Descripción

bool runkit_method_copy ( string $dClass , string $dMethod , string $sClass [, string $sMethod ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

dClass

Clase destino del método a copiar

dMethod

Nombre del método destino

sClass

Clase fuente del método a copiar

sMethod

Nombre del método a copiar desde la clase fuente. Si se omite este parámetro, se asume el valor de dMethod.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de runkit_method_copy()

<?php
class Foo {
    function ejemplo() {
        return "foo!\n";
    }
}

class Bar {
    // inicialmete sin métodos
}

// copiar el método ejemplo() desde la clase Foo a la clase Bar, como baz()
runkit_method_copy('Bar', 'baz', 'Foo', 'ejemplo');

// imprimir la función copiada
echo Bar::baz();
?>

El resultado del ejemplo sería:

foo!

Ver también

  • runkit_method_add() - Añadir dinámicamente un nuevo método a una clase dada
  • runkit_method_redefine() - Cambiar dinámicamente el código del método dado
  • runkit_method_remove() - Eliminar dinámicamente el método dado
  • runkit_method_rename() - Cambiar dinámicamente el nombre del método dado
  • runkit_function_copy() - Copiar una función a un nombre de función nuevo

runkit_method_add
runkit_method_redefine
Funciones runkit


Cambiar dinámicamente el código del método dado

runkit_method_copy
runkit_method_remove
Funciones runkit
PHP Manual

runkit_method_redefine

(PECL runkit >= 0.7.0)

runkit_method_redefine — Cambiar dinámicamente el código del método dado

Descripción

bool runkit_method_redefine ( string $classname , string $methodname , string $args , string $code [, int $flags = RUNKIT_ACC_PUBLIC ] )

Nota: Esta función no puede ser utilizada para manipular el actual método en ejecución (o extendido).

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

classname

La clase en la que se va a redefinir el método

methodname

El nombre del método a redefinir

args

Lista de argumentos delimitados por coma para el método redefinido

code

El nuevo código a ser evaluado cuando methodname sea llamado

flags

El método redefinido puede ser RUNKIT_ACC_PUBLIC, RUNKIT_ACC_PROTECTED o RUNKIT_ACC_PRIVATE

Nota:

Este parámetro sólo se usa a partir de PHP 5, ya que, antes de esta versión, todos los métodos eran públicos.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de runkit_method_redefine()

<?php
class Ejemplo {
    function foo() {
        return "foo!\n";
    }
}

// crear un objeto de Ejemplo
$e = new Ejemplo();

// imprimir Ejemplo::foo() (antes de redefinir)
echo "Antes: " . $e->foo();

// Redefinir el método 'foo'
runkit_method_redefine(
    'Ejemplo',
    'foo',
    '',
    'return "bar!\n";',
    RUNKIT_ACC_PUBLIC
);

// imprimir Ejemplo::foo() (después de redefinir)
echo "Después: " . $e->foo();
?>

El resultado del ejemplo sería:

Antes: foo!
Después: bar!

Ver también

  • runkit_method_add() - Añadir dinámicamente un nuevo método a una clase dada
  • runkit_method_copy() - Copia un método de una clase a otra
  • runkit_method_remove() - Eliminar dinámicamente el método dado
  • runkit_method_rename() - Cambiar dinámicamente el nombre del método dado
  • runkit_function_redefine() - Reemplazar una definición de función con una nueva implementación

runkit_method_copy
runkit_method_remove
Funciones runkit


Eliminar dinámicamente el método dado

runkit_method_redefine
runkit_method_rename
Funciones runkit
PHP Manual

runkit_method_remove

(PECL runkit >= 0.7.0)

runkit_method_remove — Eliminar dinámicamente el método dado

Descripción

bool runkit_method_remove ( string $classname , string $methodname )

Nota: Esta función no puede ser utilizada para manipular el actual método en ejecución (o extendido).

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

classname

La clase en la que se va a eliminar el método

methodname

El nombre del método a eliminar

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de runkit_method_remove()

<?php
class Ejemplo {
    function foo() {
        return "foo!\n";
    }

    function bar() {
        return "bar!\n";
    }
}

// Eliminar el método 'foo'
runkit_method_remove(
    'Ejemplo',
    'foo'
);

echo implode(' ', get_class_methods('Ejemplo'));

?>

El resultado del ejemplo sería:

bar

Ver también

  • runkit_method_add() - Añadir dinámicamente un nuevo método a una clase dada
  • runkit_method_copy() - Copia un método de una clase a otra
  • runkit_method_redefine() - Cambiar dinámicamente el código del método dado
  • runkit_method_rename() - Cambiar dinámicamente el nombre del método dado
  • runkit_function_remove() - Eliminar una definición de función

runkit_method_redefine
runkit_method_rename
Funciones runkit


Cambiar dinámicamente el nombre del método dado

runkit_method_remove
runkit_return_value_used
Funciones runkit
PHP Manual

runkit_method_rename

(PECL runkit >= 0.7.0)

runkit_method_rename — Cambiar dinámicamente el nombre del método dado

Descripción

bool runkit_method_rename ( string $classname , string $methodname , string $newname )

Nota: Esta función no puede ser utilizada para manipular el actual método en ejecución (o extendido).

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

classname

La clase en la que se renombrará el método

methodname

El nombre del método a renombrar

newname

El nombre nuevo a dar al método renombrado

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de runkit_method_rename()

<?php
class Ejemplo {
    function foo() {
        return "foo!\n";
    }
}

// Renombrar el método 'foo' a 'bar'
runkit_method_rename(
    'Ejemplo',
    'foo',
    'bar'
);

// salida de la función renombrada
echo Ejemplo::bar();
?>

El resultado del ejemplo sería:

foo!

Ver también

  • runkit_method_add() - Añadir dinámicamente un nuevo método a una clase dada
  • runkit_method_copy() - Copia un método de una clase a otra
  • runkit_method_redefine() - Cambiar dinámicamente el código del método dado
  • runkit_method_remove() - Eliminar dinámicamente el método dado
  • runkit_function_rename() - Cambiar el nombre de una función

runkit_method_remove
runkit_return_value_used
Funciones runkit


Determina si se usarán los valores devueltos por las funciones actuales

runkit_method_rename
runkit_sandbox_output_handler
Funciones runkit
PHP Manual

runkit_return_value_used

(PECL runkit >= 0.8.0)

runkit_return_value_used — Determina si se usarán los valores devueltos por las funciones actuales

Descripción

bool runkit_return_value_used ( void )

Valores devueltos

Devuelve TRUE si el valor devuelto de la función actual se usa por el alcance de la llamada, de otro modo FALSE

Ejemplos

Ejemplo #1 Ejemplo de runkit_return_value_used()

<?php
function foo() {
  var_dump(runkit_return_value_used());
}

foo();
$f = foo();
?>

El resultado del ejemplo sería:

bool(false)
bool(true)

runkit_method_rename
runkit_sandbox_output_handler
Funciones runkit


Especificar una función para capturar y/o procesar la salida de un aislamiento de procesos de runkit

runkit_return_value_used
runkit_superglobals
Funciones runkit
PHP Manual

runkit_sandbox_output_handler

(PECL runkit >= 0.7.0)

runkit_sandbox_output_handler — Especificar una función para capturar y/o procesar la salida de un aislamiento de procesos de runkit

Descripción

mixed runkit_sandbox_output_handler ( object $sandbox [, mixed $callback ] )

Normalmente, cuanquier cosa que realice una salida (como echo o print) será sacada como si fuera impresa desde el ámbito padre. Sin embargo, al usar runkit_sandbox_output_handler(), la salida generada por el aislamiento de procesos (inclueyndo errores) puede ser capturada por una función fuera del aislamiento de procesos.

Nota: Soporte para Entorno de Pruebas (requerido por runkit_lint(), runkit_lint_file(), y la clase Runkit_Sandbox) está disponible sólo a partir de PHP 5.1.0 o versiones especialmente parcheadas de PHP 5.0, y requiere que thread safety sea habilitada. Vea el archivo README incluido en el paquete runkit para más información.

Nota: Obsoleto

A partir de la versión 0.5 de runkit, esta función está obsoleta y está programada para ser eliminada del paquete antes de la distribución de la versión 1.0. Para una instancia de Runkit_Sandbox, el gestor de salida puede ser leído/establecido usando la sintaxis de índice de array mostrado en la página de definición de la clase Runkit_Sandbox.

Parámetros

sandbox

Instancia de objeto de la clase Runkit_Sandbox en la que establecer el gestor de salida.

callback

Nombre de una función que espera un parámetro. La salida generada por sandbox será pasada a esta llamada de retorno (callback). Cualquier cosa devuelta por la llamda de retorno será mostrada normalmente. Si este parámetro no se pasa, la gestión de salida no será cambiada. Si se pasa un valor no verdadero, la gestión de salida será deshabilitada y será vuelta a la muestra directa.

Valores devueltos

Devuelve el nombre de la llamada de retorno del gestor de salida definido previamente, o FALSE si no se definió previamente un gestor.

Ejemplos

Ejemplo #1 Introducir la salida en una variable

<?php
function capture_output($str) {
  $GLOBALS['sandbox_output'] .= $str;

  return '';
}

$sandbox_output = '';

$php = new Runkit_Sandbox();
runkit_sandbox_output_handler($php, 'capture_output');
$php->echo("Hola\n");
$php->eval('var_dump("Lo siento");');
$php->die("Me perdí.");
unset($php);

echo "Sandbox Completado\n\n";
echo $sandbox_output;
?>

El resultado del ejemplo sería:

Sandbox Completado

Hola
string(9) "Lo sientoe"
Me perdí.

runkit_return_value_used
runkit_superglobals
Funciones runkit


Devolver el array indexado numéricamente de las superglobales registradas

runkit_sandbox_output_handler
scream
Funciones runkit
PHP Manual

runkit_superglobals

(PECL runkit >= 0.7.0)

runkit_superglobals — Devolver el array indexado numéricamente de las superglobales registradas

Descripción

array runkit_superglobals ( void )

Valores devueltos

Devuelve un array indexado numéricamente de las globales registradas actualmente, esto es, _GET, _POST, _REQUEST, _COOKIE, _SESSION, _SERVER, _ENV, _FILES

Ver también

  • Ámbito de Variable

runkit_sandbox_output_handler
scream
Funciones runkit


Desactivar silenciar errores

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Ejemplos
    • Ejemplo que muestra el efecto de scream
runkit_superglobals
Introducción
Afecta el comportamiento de PHP


Introducción

La extensión scream permite la posibilidad de desactivar el silenciado del operador de control de errores así que todos los errores serán expuestos. Esta característica está controlada por una directiva ini.

scream
Instalación/Configuración
scream


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
scream


Requerimientos

Versión de PHP 5.2.0 o superior.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/scream

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de scream
Nombre | Por defecto | Cambiable | Historial de cambios
scream.enabled | Off | PHP_INI_ALL |
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

scream.enabled int

Cuando está o no está scream activado.

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Configuración en tiempo de ejecución
Ejemplos
Instalación/Configuración


Ejemplos

Tabla de contenidos

  • Ejemplo que muestra el efecto de scream
Tipos de recursos
Ejemplo que muestra el efecto de scream
scream


Ejemplo que muestra el efecto de scream

Este ejemplo demuestra como scream afecta el comportamiento del controlador de errores de PHP.

Ejemplo #1 Activando y desactivando scream en tiempo de ejecución

<?php
// Asegurarse de mostrar todos los errores
ini_set('display_errors', true);
error_reporting(E_ALL);

// Desactivar scream - este es el valor por defecto y producirá un error
ini_set('scream.enabled', false);
echo "Abriendo http://example.com/not-existing-file\n";
@fopen('http://example.com/not-existing-file', 'r');

// Ahora activamos scream y probamos de nuevo
ini_set('scream.enabled', true);
echo "Abriendo http://example.com/not-existing-file\n";
@fopen('http://example.com/another-not-existing-file', 'r');
?>

El resultado del ejemplo sería algo similar a:

Abriendo http://example.com/not-existing-file
Abriendo http://example.com/not-existing-file

Warning: fopen(http://example.com/another-not-existing-file): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in example.php on line 14

Nota: Normalmente se querrá activar esta directiva en el fichero de configuración php.ini en lugar de cambiar el código.

Ejemplos
Weakref
Ejemplos


Referencias débiles

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Tipos de recursos
  • WeakRef — La clase WeakRef
    • Weakref::acquire — Adquiere una referencia fuerte de un objeto
    • Weakref::__construct — Construye una nueva referencia débil
    • Weakref::get — Devuelve el objeto apuntado por una referencia débil
    • Weakref::release — Libera una referencia previmente adquirida
    • Weakref::valid — Comprueba si el objeto referenciado aún existe
  • WeakMap — La clase WeakMap
    • WeakMap::__construct — Construye un nuevo mapa
    • WeakMap::count — Cuenta el número de entradas vivas de un mapa
    • WeakMap::current — Devuelve el valor actual de la iteración
    • WeakMap::key — Devuelve la clave actual de la iteración
    • WeakMap::next — Avanza al siguiente elemento del mapa
    • WeakMap::offsetExists — Comprueba si un cierto objeto está en un mapa
    • WeakMap::offsetGet — Devuelve el valor apuntado por un cierto objeto
    • WeakMap::offsetSet — Actualiza el mapa con un nuevo par clave-valor
    • WeakMap::offsetUnset — Elimina una entrada del mapa
    • WeakMap::rewind — Sitúa el iterador al comienzo del mapa
    • WeakMap::valid — Devuelve si el iterador aún está sobre un elemento válido de un mapa
Ejemplo que muestra el efecto de scream
Introducción
Afecta el comportamiento de PHP


Introducción

Las referencias débiles proporcionan una vía no intrusiva para objetos efímeros. A diferencia de las referencias normales (fuertes), las referencias débiles no evita que el recolector de basura libere un objeto. Por esta razón, un objeto podría ser destruido aunque aún exista una referencia débil a tal objeto. En tales condiciones, la referencia débil sería perfectamente inválida.

Ejemplo #1 Ejemplo de uso de Weakref

<?php
class MiClase {
    public function __destruct() {
        echo "¡Destruyendo el objeto!\n";
    }
}

$o1 = new MiClase;

$r1 = new Weakref($o1);

if ($r1->valid()) {
    echo "¡El objeto aún existe!\n";
    var_dump($r1->get());
} else {
    echo "¡El objeto está muerto!\n";
}

unset($o1);

if ($r1->valid()) {
    echo "¡El objeto aún existe!\n";
    var_dump($r1->get());
} else {
    echo "¡El objeto está muerto!\n";
}
?>

El resultado del ejemplo sería:

¡El objeto aún existe!
object(MiClase)#1 (0) {
}
¡Destruyendo el objeto!
¡El objeto está muerto!

Weakref
Instalación/Configuración
Weakref


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Tipos de recursos
Introducción
Requerimientos
Weakref


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/weakref.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Instalación
WeakRef
Instalación/Configuración


La clase WeakRef

(PECL weakref >= 0.1.0)

Introducción

La clase WeakRef proporciona una vía para objetos sin evitar que el recolector de basura libere tales objetos. También proporciona una manera de convertir una referencia débil en una fuerte.

Sinopsis de la Clase

WeakRef {
/* Métodos */
public Weakref::__construct ([ object $object ] )
public bool Weakref::acquire ( void )
public object Weakref::get ( void )
public bool Weakref::release ( void )
public bool Weakref::valid ( void )
}

Ejemplos

Ejemplo #1 Ejemplo de uso de WeakRef

<?php
class MiClase {
    public function __destruct() {
        echo "¡Destruyendo el objeto!\n";
    }
}

$o1 = new MiClase;

$r1 = new Weakref($o1);

if ($r1->valid()) {
    echo "¡El objeto aún existe!\n";
    var_dump($r1->get());
} else {
    echo "¡El objeto está muerto!\n";
}

unset($o1);

if ($r1->valid()) {
    echo "¡El objeto aún existe!\n";
    var_dump($r1->get());
} else {
    echo "¡El objeto está muerto!\n";
}
?>

El resultado del ejemplo sería:

¡El objeto aún existe!
object(MiClase)#1 (0) {
}
¡Destruyendo el objeto!
¡El objeto está muerto!

Tabla de contenidos

  • Weakref::acquire — Adquiere una referencia fuerte de un objeto
  • Weakref::__construct — Construye una nueva referencia débil
  • Weakref::get — Devuelve el objeto apuntado por una referencia débil
  • Weakref::release — Libera una referencia previmente adquirida
  • Weakref::valid — Comprueba si el objeto referenciado aún existe
Tipos de recursos
Weakref::acquire
Weakref


Adquiere una referencia fuerte de un objeto

WeakRef
Weakref::__construct
WeakRef
PHP Manual

Weakref::acquire

(PECL weakref >= 0.1.0)

Weakref::acquire — Adquiere una referencia fuerte de un objeto

Descripción

public bool Weakref::acquire ( void )

Adquiere una referencia fuerte de un objeto, convirtiendo virtualmente la referencia débil en una fuerte.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si la referencia era válida y pudo ser convertida a una referencia fuerte, de lo contrario FALSE.

Ejemplos

Ejemplo #1 Ejemplo de Weakref::acquire()

<?php
class MiClase {
    public function __destruct() {
        echo "¡Destruyendo el objeto!\n";
    }
}

$o1 = new MiClase;

$r1 = new Weakref($o1);

$r1->acquire();

echo "Destruyendo o1...\n";
unset($o1);

$o2 = $r1->get();

$r1->release();

echo "Destruyendo o2...\n";
unset($o2);
?>

El resultado del ejemplo sería:

Destruyendo  o1...
Destruyendo  o2...
¡Destruyendo el objeto!

Ejemplo #2 Ejemplo de acquire/release anidados

<?php
class MiClase {
    public function __destruct() {
        echo "¡Destruyendo el objeto!\n";
    }
}

$o1 = new MiClase;

$r1 = new Weakref($o1);

echo "Adquiriendo...\n";
$r1->acquire();

echo "  Destruyendo...\n";
unset($o1);

echo "  Adquiriendo...\n";
$r1->acquire();

echo "    Adquiriendo...\n";
$r1->acquire();

echo "    Liberando...\n";
$r1->release();

echo "  Liberando...\n";
$r1->release();

echo "Liberando...\n";
$r1->release();

?>

El resultado del ejemplo sería:

Adquiriendo...
  Destruyendo...
  Adquiriendo...
    Adquiriendo...
    Liberando...
  Liberando...
Liberando...
¡Destruyendo el objeto!

Ver también

  • Weakref::release() - Libera una referencia previmente adquirida

WeakRef
Weakref::__construct
WeakRef


Construye una nueva referencia débil

Weakref::acquire
Weakref::get
WeakRef
PHP Manual

Weakref::__construct

(PECL weakref >= 0.1.0)

Weakref::__construct — Construye una nueva referencia débil

Descripción

public Weakref::__construct() ([ object $object ] )

Construye una nueva referencia débil.

Parámetros

object

El objeto a referenciar.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de Weakref::__construct()

<?php
class MiClase {
    public function __destruct() {
        echo "¡Destruyendo el objeto!\n";
    }
}

$o1 = new MiClase;

$r1 = new Weakref($o1);

if ($r1->valid()) {
    echo "¡El objeto aún existe!\n";
    var_dump($r1->get());
} else {
    echo "¡El objeto está muerto!\n";
}

unset($o1);

if ($r1->valid()) {
    echo "¡El objeto aún existe!\n";
    var_dump($r1->get());
} else {
    echo "¡El objeto está muerto!\n";
}
?>

El resultado del ejemplo sería:

¡El objeto aún existe!
object(MiClase)#1 (0) {
}
¡Destruyendo el objeto!
¡El objeto está muerto!

Weakref::acquire
Weakref::get
WeakRef


Devuelve el objeto apuntado por una referencia débil

Weakref::__construct
Weakref::release
WeakRef
PHP Manual

Weakref::get

(PECL weakref >= 0.1.0)

Weakref::get — Devuelve el objeto apuntado por una referencia débil

Descripción

public object Weakref::get ( void )

Devuelve el objeto apuntado por una referencia débil.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el objeto si la referencia aún es válida, o NULL en caso contrario.

Ver también

  • Weakref::valid() - Comprueba si el objeto referenciado aún existe

Weakref::__construct
Weakref::release
WeakRef


Libera una referencia previmente adquirida

Weakref::get
Weakref::valid
WeakRef
PHP Manual

Weakref::release

(PECL weakref >= 0.1.0)

Weakref::release — Libera una referencia previmente adquirida

Descripción

public bool Weakref::release ( void )

Libera una referencia previmente adquirida. Potencialmente, vuelve a convertir una referencia fuerte en una débil.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si la referencia fue previamente adquirida y pudo ser liberada, de lo contrario FALSE.

Ejemplos

Ejemplo #1 Ejemplo de Weakref::release()

<?php
class MiClase {
    public function __destruct() {
        echo "¡Destruyendo el objeto!\n";
    }
}

$o1 = new MiClase;

$r1 = new Weakref($o1);

$r1->acquire();

echo "Detruyendo o1...\n";
unset($o1);

$o2 = $r1->get();

$r1->release();

echo "Detruyendo o2...\n";
unset($o2);
?>

El resultado del ejemplo sería:

Detruyendo o1...
Detruyendo o2...
¡Destruyendo el objeto!

Ver también

  • Weakref::acquire() - Adquiere una referencia fuerte de un objeto

Weakref::get
Weakref::valid
WeakRef


Comprueba si el objeto referenciado aún existe

Weakref::release
WeakMap
WeakRef
PHP Manual

Weakref::valid

(PECL weakref >= 0.1.0)

Weakref::valid — Comprueba si el objeto referenciado aún existe

Descripción

public bool Weakref::valid ( void )

Comprueba si el objeto referenciado aún existe.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si el objeto aún existe y es accesible mediante Weakref::get(), o FALSE en caso contrario.

Ver también

  • Weakref::get() - Devuelve el objeto apuntado por una referencia débil

Weakref::release
WeakMap
WeakRef


La clase WeakMap

(PECL weakref >= 0.2.0)

Introducción

Sinopsis de la Clase

WeakMap implements Countable , ArrayAccess , Iterator {
/* Métodos */
public __construct ( void )
public int count ( void )
public mixed current ( void )
public object key ( void )
public void next ( void )
public bool offsetExists ( object $object )
public mixed offsetGet ( object $object )
public void offsetSet ( object $object , mixed $value )
public void offsetUnset ( object $object )
public void rewind ( void )
public bool valid ( void )
}

Ejemplos

Ejemplo #1 Ejemplo de uso de Weakmap

<?php
$wm = new WeakMap();

$o = new StdClass;

class A {
    public function __destruct() {
        echo "¡Muerto!\n";
    }
}

$wm[$o] = new A;

var_dump(count($wm));
echo "Destruyendo..\n";
unset($o);
echo "Hecho\n";
var_dump(count($wm));

El resultado del ejemplo sería:

int(1)
Destruyendo..
¡Muerto!
Hecho
int(0)

Tabla de contenidos

  • WeakMap::__construct — Construye un nuevo mapa
  • WeakMap::count — Cuenta el número de entradas vivas de un mapa
  • WeakMap::current — Devuelve el valor actual de la iteración
  • WeakMap::key — Devuelve la clave actual de la iteración
  • WeakMap::next — Avanza al siguiente elemento del mapa
  • WeakMap::offsetExists — Comprueba si un cierto objeto está en un mapa
  • WeakMap::offsetGet — Devuelve el valor apuntado por un cierto objeto
  • WeakMap::offsetSet — Actualiza el mapa con un nuevo par clave-valor
  • WeakMap::offsetUnset — Elimina una entrada del mapa
  • WeakMap::rewind — Sitúa el iterador al comienzo del mapa
  • WeakMap::valid — Devuelve si el iterador aún está sobre un elemento válido de un mapa
Weakref::valid
WeakMap::__construct
Weakref


Construye un nuevo mapa

WeakMap
WeakMap::count
WeakMap
PHP Manual

WeakMap::__construct

(PECL weakref >= 0.2.0)

WeakMap::__construct — Construye un nuevo mapa

Descripción

public WeakMap::__construct ( void )

Construye un nuevo mapa.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

WeakMap
WeakMap::count
WeakMap


Cuenta el número de entradas vivas de un mapa

WeakMap::__construct
WeakMap::current
WeakMap
PHP Manual

WeakMap::count

(PECL weakref >= 0.2.0)

WeakMap::count — Cuenta el número de entradas vivas de un mapa

Descripción

public int WeakMap::count ( void )

Cuenta el número de entradas vivas de un mapa.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el número de entradas vivas de un mapa.

WeakMap::__construct
WeakMap::current
WeakMap


Devuelve el valor actual de la iteración

WeakMap::count
WeakMap::key
WeakMap
PHP Manual

WeakMap::current

(PECL weakref >= 0.2.0)

WeakMap::current — Devuelve el valor actual de la iteración

Descripción

public mixed WeakMap::current ( void )

Devuelve el valor actual del mapa que está siendo iterado.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El valor actual que está siendo iterado.

WeakMap::count
WeakMap::key
WeakMap


Devuelve la clave actual de la iteración

WeakMap::current
WeakMap::next
WeakMap
PHP Manual

WeakMap::key

(PECL weakref >= 0.2.0)

WeakMap::key — Devuelve la clave actual de la iteración

Descripción

public object WeakMap::key ( void )

Devuelve el objeot que sirve como clave del mapa, en la posición actual de la iteración.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La clave del objeto que está siendo iterado.

WeakMap::current
WeakMap::next
WeakMap


Avanza al siguiente elemento del mapa

WeakMap::key
WeakMap::offsetExists
WeakMap
PHP Manual

WeakMap::next

(PECL weakref >= 0.2.0)

WeakMap::next — Avanza al siguiente elemento del mapa

Descripción

public void WeakMap::next ( void )

Avanza al siguiente elemento del mapa.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

WeakMap::key
WeakMap::offsetExists
WeakMap


Comprueba si un cierto objeto está en un mapa

WeakMap::next
WeakMap::offsetGet
WeakMap
PHP Manual

WeakMap::offsetExists

(PECL weakref >= 0.2.0)

WeakMap::offsetExists — Comprueba si un cierto objeto está en un mapa

Descripción

public bool WeakMap::offsetExists ( object $object )

Comprueba si el objeto pasado está referenciado en el mapa.

Parámetros

object

El objeto que comprobar.

Valores devueltos

Devuelve TRUE si el objeto está contenido en el mapa, FALSE en caso contrario.

WeakMap::next
WeakMap::offsetGet
WeakMap


Devuelve el valor apuntado por un cierto objeto

WeakMap::offsetExists
WeakMap::offsetSet
WeakMap
PHP Manual

WeakMap::offsetGet

(PECL weakref >= 0.2.0)

WeakMap::offsetGet — Devuelve el valor apuntado por un cierto objeto

Descripción

public mixed WeakMap::offsetGet ( object $object )

Devuelve el valor apuntado por un cierto objeto.

Parámetros

object

Algún objeto contenido como clave del mapa.

Valores devueltos

Devuelve el valor asociado al objeto pasado como argumento, o NULL en caso contrario.

WeakMap::offsetExists
WeakMap::offsetSet
WeakMap


Actualiza el mapa con un nuevo par clave-valor

WeakMap::offsetGet
WeakMap::offsetUnset
WeakMap
PHP Manual

WeakMap::offsetSet

(PECL weakref >= 0.2.0)

WeakMap::offsetSet — Actualiza el mapa con un nuevo par clave-valor

Descripción

public void WeakMap::offsetSet ( object $object , mixed $value )

Actualiza el mapa con un nuevo par clave-valor. Si la clave ya existiera en el mapa, el valor antiguo se reemplazaría con el nuevo.

Parámetros

object

El objeto que sirve como clave del par clave-valor.

value

Los datos arbitrarios que sirven como valor del par clave-valor.

Valores devueltos

No devuelve ningún valor.

WeakMap::offsetGet
WeakMap::offsetUnset
WeakMap


Elimina una entrada del mapa

WeakMap::offsetSet
WeakMap::rewind
WeakMap
PHP Manual

WeakMap::offsetUnset

(PECL weakref >= 0.2.0)

WeakMap::offsetUnset — Elimina una entrada del mapa

Descripción

public void WeakMap::offsetUnset ( object $object )

Elimina una entrada del mapa.

Parámetros

object

El objeto clave a eliminar del mapa.

Valores devueltos

No devuelve ningún valor.

WeakMap::offsetSet
WeakMap::rewind
WeakMap


Sitúa el iterador al comienzo del mapa

WeakMap::offsetUnset
WeakMap::valid
WeakMap
PHP Manual

WeakMap::rewind

(PECL weakref >= 0.2.0)

WeakMap::rewind — Sitúa el iterador al comienzo del mapa

Descripción

public void WeakMap::rewind ( void )

Sitúa el iterador al comienzo del mapa.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

WeakMap::offsetUnset
WeakMap::valid
WeakMap


Devuelve si el iterador aún está sobre un elemento válido de un mapa

WeakMap::rewind
WinCache
WeakMap
PHP Manual

WeakMap::valid

(PECL weakref >= 0.2.0)

WeakMap::valid — Devuelve si el iterador aún está sobre un elemento válido de un mapa

Descripción

public bool WeakMap::valid ( void )

Devuelve si el iterador aún está sobre un elemento válido de un mapa.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si el iterador está sobre un elemento válido al que se puede acceder, FALSE en caso contrario.

WeakMap::rewind
WinCache
WeakMap


Windows Cache for PHP

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • WinCache Statistics Script
    • WinCache Session Handler
    • WinCache Functions Reroutes
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de WinCache
    • wincache_fcache_fileinfo — Retrieves information about files cached in the file cache
    • wincache_fcache_meminfo — Recupera información sobre el uso de memoria caché de ficheros
    • wincache_lock — Acquires an exclusive lock on a given key
    • wincache_ocache_fileinfo — Retrieves information about files cached in the opcode cache
    • wincache_ocache_meminfo — Retrieves information about opcode cache memory usage
    • wincache_refresh_if_changed — Refreshes the cache entries for the cached files
    • wincache_rplist_fileinfo — Retrieves information about resolve file path cache
    • wincache_rplist_meminfo — Retrieves information about memory usage by the resolve file path cache
    • wincache_scache_info — Retrieves information about files cached in the session cache
    • wincache_scache_meminfo — Recupera información sobre el uso de memoria caché de sesión
    • wincache_ucache_add — Adds a variable in user cache only if variable does not already exist in the cache
    • wincache_ucache_cas — Compara la variable con el valor antiguo y le asigna un nuevo valor a este
    • wincache_ucache_clear — Elimina todo el contenido de la caché del usuario
    • wincache_ucache_dec — Disminuye el valor asociado a la clave
    • wincache_ucache_delete — Elimina las variables de la memoria caché del usuario
    • wincache_ucache_exists — Comprueba si una variable existe en la caché del usuario
    • wincache_ucache_get — Obtiene una variable almacenada en la caché del usuario
    • wincache_ucache_inc — Incrementa el valor asociado a la clave
    • wincache_ucache_info — Recupera información sobre los datos almacenados en la caché del usuario
    • wincache_ucache_meminfo — Recupera información sobre el uso de memoria caché de usuario
    • wincache_ucache_set — Adds a variable in user cache and overwrites a variable if it already exists in the cache
    • wincache_unlock — Libera un bloqueo exclusivo sobre una clave dada
  • Building for Windows
    • Prerequisites
    • Compiling and building
    • Verifying the build
WeakMap::valid
Introducción
Afecta el comportamiento de PHP


Introducción

Windows Cache Extension for PHP is a PHP accelerator that is used to increase the speed of PHP applications running on Windows and Windows Server. Once the Windows Cache Extension for PHP is enabled and loaded by the PHP engine, PHP applications can take advantage of the functionality without any code modifications.

The Windows Cache Extension includes 5 different types of caches. The following describes the purpose of each cache type and the benefits it provides.

  • PHP Opcode Cache - PHP is a script processing engine, which reads an input stream of data that contains text and/or PHP instructions and produces another stream of data, most commonly in the HTML format. This means that on a web server the PHP engine reads, parses, compiles and executes a PHP script each time that it is requested by a Web client. The reading, parsing and compilation operations put additional load on the web server's CPU and file system and thus affect the overall performance of a PHP web application. The PHP bytecode (opcode) cache is used to store the compiled script bytecode in shared memory so that it can be re-used by PHP engine for subsequent executions of the same script.

  • File Cache - Even with the PHP opcode cache enabled, the PHP engine has to accesses the script files on a file system. When PHP scripts are stored on a remote UNC file share, the file operations introduce a significant performance overhead. The Windows Cache Extension for PHP includes a file cache that is used to store the content of the PHP script files in shared memory, which reduces the amount of file system operations performed by PHP engine.

  • Resolve File Path Cache - PHP scripts very often include or operate with files by using relative file paths. Every file path has to be normalized to an absolute file path by the PHP engine. When a PHP application uses many PHP files and accesses them by relative paths, the operation of resolving the paths may negatively impact the application's performance. The Windows Cache Extension for PHP provides a Resolve File Path cache, which is used to store the mappings between relative and absolute file paths, thereby reducing the number of path resolutions that the PHP engine has to perform.

  • User Cache (available since version 1.1.0) - PHP scripts can take advantage of the shared memory cache by using the user cache API's. PHP objects and variables can be stored in the user cache and then re-used on subsequent requests. This can be used to improve performance of PHP scripts and to share the data across multiple PHP processes.

  • Session Handler (available since version 1.1.0) - The WinCache session handler can be used to store the PHP session data in the shared memory cache. This avoids file system operations for reading and writing session data, which improves performance when large amount of data is stored in PHP session.

WinCache
Instalación/Configuración
WinCache


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • WinCache Statistics Script
  • WinCache Session Handler
  • WinCache Functions Reroutes
  • Tipos de recursos
Introducción
Requerimientos
WinCache


Requerimientos

The extension is currently supported only on the following configurations:

Windows OS:

  • Windows XP SP3 with IIS 5.1 and » FastCGI Extension
  • Windows Server 2003 with IIS 6.0 and » FastCGI Extension
  • Windows Vista SP1 with IIS 7.0 and FastCGI Module
  • Windows Server 2008 with IIS 7.0 and FastCGI Module
  • Windows 7 with IIS 7.5 and FastCGI Module
  • Windows Server 2008 R2 with IIS 7.5 and FastCGI Module

PHP:

  • PHP 5.2.X, Non-thread-safe build
  • PHP 5.3 X86, Non-thread-safe VC9 build

Nota: The WinCache Extension can only be used when IIS is configured to run PHP via FastCGI.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/wincache.

There are two packages for this extension: one package is for PHP versions 5.2.X, and the other package is for PHP 5.3.X. Select the package that is appropriate for the PHP version being used.

To install and enable the extension, follow these steps:

  1. Unpack the package into some temporary location.

  2. Copy the php_wincache.dll file into the PHP extensions folder. Typically this folder is called "ext" and it is located in the same folder with all PHP binary files. For example: C:\Program Files\PHP\ext.

  3. Using a text editor, open the php.ini file, which is usually located in the same folder where all PHP binary files are. For example: C:\Program Files\PHP\php.ini.

  4. Add the following line at the end of the php.ini file: extension = php_wincache.dll.

  5. Save and close the php.ini file.

  6. Recycle the IIS Application Pools for PHP to pick up the configuration changes. To check that the extension has been enabled, create a file called phpinfo.php with a PHP code that calls phpinfo function.

  7. Save the phpinfo.php file in the root folder of a IIS web site that uses PHP, then open a browser and make a request to http://localhost/phpinfo.php. Search within the returned web page for a section called wincache. If the extension is enabled, then the phpinfo output will list the configuration settings provided by the WinCache.

Nota: Do not forget to remove phpinfo.php file from the web site's root folder after verifying that extension has been enabled.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

The following table lists and explains the configuration settings provided by the WinCache extension:

WinCache configuration options
Nombre | Por defecto | Minimum | Maximum | Cambiable | Historial de cambios
wincache.fcenabled | "1" | "0" | "1" | PHP_INI_ALL | Available since WinCache 1.0.0
wincache.fcenabledfilter | "NULL" | "NULL" | "NULL" | PHP_INI_SYSTEM | Available since WinCache 1.0.0
wincache.fcachesize | "24" | "5" | "255" | PHP_INI_SYSTEM | Available since WinCache 1.0.0
wincache.fcndetect | "1" | "0" | "1" | PHP_INI_SYSTEM | Available since WinCache 1.1.0
wincache.maxfilesize | "256" | "10" | "2048" | PHP_INI_SYSTEM | Available since WinCache 1.0.0
wincache.ocenabled | "1" | "0" | "1" | PHP_INI_ALL | Available since WinCache 1.0.0
wincache.ocenabledfilter | "NULL" | "NULL" | "NULL" | PHP_INI_SYSTEM | Available since WinCache 1.0.0
wincache.ocachesize | "96" | "15" | "255" | PHP_INI_SYSTEM | Available since WinCache 1.0.0
wincache.filecount | "4096" | "1024" | "16384" | PHP_INI_SYSTEM | Available since WinCache 1.0.0
wincache.chkinterval | "30" | "0" | "300" | PHP_INI_SYSTEM | Available since WinCache 1.0.0
wincache.ttlmax | "1200" | "0" | "7200" | PHP_INI_SYSTEM | Available since WinCache 1.0.0
wincache.enablecli | 0 | 0 | 1 | PHP_INI_SYSTEM | Available since WinCache 1.0.0
wincache.ignorelist | NULL | NULL | NULL | PHP_INI_ALL | Available since WinCache 1.0.0
wincache.namesalt | NULL | NULL | NULL | PHP_INI_SYSTEM | Available since WinCache 1.0.0
wincache.ucenabled | 1 | 0 | 1 | PHP_INI_SYSTEM | Available since WinCache 1.1.0
wincache.ucachesize | 8 | 5 | 85 | PHP_INI_SYSTEM | Available since WinCache 1.1.0
wincache.scachesize | 8 | 5 | 85 | PHP_INI_SYSTEM | Available since WinCache 1.1.0
wincache.rerouteini | NULL | NULL | NULL | PHP_INI_SYSTEM | Available since WinCache 1.2.0
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

wincache.fcenabled boolean
Enables or disables the file cache functionality.
wincache.fcenabledfilter string
Defines a comma-separated list of IIS web site identifiers where file cache should be enabled or disabled. This setting works in conjunction with wincache.fcenabled: if wincache.fcenabled is set to 1, then the sites listed in the wincache.fcenabledfilter will have the file cache turned off; if wincache.fcenabled is set to 0, then the sites listed in the wincache.fcenabledfilter will have the file cache turned on.
wincache.fcachesize integer
Defines the maximum memory size (in megabytes) that is allocated for the file cache. If the total size of all the cached files exceeds the value specified in this setting, then most stale files will be removed from the file cache.
wincache.fcndetect boolean
Enables or disables the file change notification detection functionality. If file change notification is supported then it will be used to refresh the opcode and file cache entries as soon as the corresponding files are modified on a file system. If file change notification is not supported, for example when using network file shares, then wincache will poll for file changes at regular time intervals specified by wincache.chkinterval.
wincache.maxfilesize integer
Defines the maximum allowed size (in kilobytes) for a single file to be cached. If a file size exceeds the specified value, the file will not be cached. This setting applies to the file cache only.
wincache.ocenabled boolean
Enables or disables the opcode cache functionality
wincache.ocenabledfilter string
Defines a comma-separated list of IIS web site identifiers where opcode cache should be enabled or disabled. This setting works in conjunction with wincache.ocenabled: if wincache.ocenabled is set to 1, then the sites listed in the wincache.ocenabledfilter will have the opcode cache turned off; if wincache.ocenabled is set to 0, then the sites listed in the wincache.ocenabledfilter will have the opcode cache turned on.
wincache.ocachesize integer
Defines the maximum memory size (in megabytes) that is allocated for the opcode cache. If the cached opcode size exceeds the specified value, then most stale opcode will be removed from the cache. Note that the opcode cache size must be at least 3 times bigger than file cache size. If that is not the case the opcode cache size will be automatically increased.
wincache.filecount integer
Defines how many files are expected to be cached by the extension, so that appropriate memory size is allocated at the startup time. If the number of files exceeds the specified value, the WinCache will re-allocate more memory as needed.
wincache.chkinterval integer
Defines how often (in seconds) the extension checks for file changes in order to refresh the cache. Setting it to 0 will disable the refreshing of the cache. The file changes will not be reflected in the cache unless the cache entry for that file is removed by scavenger or IIS application pool is recycled or wincache_refresh_if_changed function is called.
wincache.ttlmax integer
Defines the maximum time to live (in seconds) for a cached entry without being used. Setting it to 0 will disable the cache scavenger, so the cached entries will never be removed from the cache during the lifetime of the IIS worker process.
wincache.enablecli boolean
Defines if caching is enabled when PHP is running in command line (CLI) mode.
wincache.ignorelist string

Defines a list of files that should not be cached by the extension. The files list is specified by using file names only, separated by the pipe symbol - "|".

Ejemplo #1 wincache.ignorelist example

wincache.ignorelist = "index.php|misc.php|admin.php"

wincache.namesalt string
Defines a string that will be used when naming the extension specific objects that are stored in shared memory. This is used to avoid conflicts that may be caused if other applications within an IIS worker process tries to access shared memory. The length of the namesalt string cannot exceed 8 characters.
wincache.ucenabled boolean
Enables or disables the user cache functionality.
wincache.ucachesize integer
Defines the maximum memory size in megabytes that is allocated for the user cache. If the total size of variables stored in the user cache exceeds the specified value, then the most stale variables will be removed from the cache.
wincache.scachesize integer
Defines the maximum memory size in megabytes that is allocated for the session cache. If the total size of data stored in the session cache exceeds the specified value, then the most stale data will be removed from the cache.
wincache.rerouteini string
Specifies an absolute or a relateve path to the reroute.ini file that contains the list of PHP functions whose implementation should be replaced with the WinCache function equivalents. If a relative path is specified then it is assumed to be relative to the location of php-cgi.exe file.

Instalación
WinCache Statistics Script
Instalación/Configuración


WinCache Statistics Script

The installation package for WinCache includes a PHP script, wincache.php, that can be used to obtain cache information and statistics.

If the WinCache extension was installed via the Microsoft Web Platform Installer, then this script is located in %SystemDrive%\Program Files\IIS\Windows Cache for PHP\. On a 64-bit version of the Windows Server operating system, the script is located in %SystemDrive%\Program Files (x86)\IIS\Windows Cache for PHP. If the extension was installed manually, then the wincache.php will be located in the same folder from which the content of the installation package was extracted.

To use wincache.php, copy it into a root folder of a Web site or into any subfolder. To protect the script, open it in any text editor and replace the values for USERNAME and PASSWORD constants. If any other IIS authentication is enabled on the server, then follow the instructions in the comments:

Ejemplo #1 Authentication configuration for wincache.php

<?php
/**
 * ======================== CONFIGURATION SETTINGS ==============================
 * If you do not want to use authentication for this page, set USE_AUTHENTICATION to 0.
 * If you use authentication then replace the default password.
 */
define('USE_AUTHENTICATION', 1);
define('USERNAME', 'wincache');
define('PASSWORD', 'wincache');

/**
 * The Basic PHP authentication will work only when IIS is configured to support
 * Anonymous Authentication' and nothing else. If IIS is configured to support/use
 * any other kind of authentication like Basic/Negotiate/Digest etc, this will not work.
 * In that case use the array below to define the names of users in your
 * domain/network/workgroup which you want to grant access to.
 */
$user_allowed = array('DOMAIN\user1', 'DOMAIN\user2', 'DOMAIN\user3');

/**
 * If the array contains string 'all', then all the users authenticated by IIS
 * will have access to the page. Uncomment the below line and comment above line
 * to grant access to all users who gets authenticated by IIS.
 */
/* $user_allowed = array('all'); */

/** ===================== END OF CONFIGURATION SETTINGS ========================== */
?>

Nota: Always protect the wincache.php script by using either the built-in authentication or the server's authentication mechanism. Leaving this script unprotected may compromise the security of your web application and web server.

Configuración en tiempo de ejecución
WinCache Session Handler
Instalación/Configuración


WinCache Session Handler

The WinCache session handler (available since WinCache 1.1.0) can be used to configure PHP to store the session data in shared memory session cache. Using shared memory instead of the default file session storage helps improve performance of PHP applications that store large amount of data in session objects. Wincache session cache uses file-backed shared memory, which ensures that the session data is not lost during recycling of IIS application pools.

To configure PHP to use WinCache session handler set the php.ini setting session.save_handler to wincache. By default the Windows temporary file location is used for storing the session data. To change the location of the session file use session.save_path directive.

Ejemplo #1 Enabling WinCache session handler

session.save_handler = wincache
session.save_path = C:\inetpub\temp\session\

WinCache Statistics Script
WinCache Functions Reroutes
Instalación/Configuración


WinCache Functions Reroutes

The WinCache functions reroutes (available since WinCache 1.2.0) can be used to replace built-in PHP functions with their equivalents that are optimized for a particular purpose. WinCache extension includes Windows-optimized implementation of PHP file functions that may improve performance of PHP applications in cases when PHP has to access files on network shares. The optimized implementation is provided for the following functions:

  • file_exists
  • file_get_contents
  • readfile
  • is_readable
  • is_writable
  • is_dir
  • realpath
  • filesize

To configure WinCache to use the functions reroutes use the file reroute.ini that is included in WinCache installation package. Copy this file into the same directory where php.ini file is located. After that add the wincache.rerouteini setting in php.ini and specify an absolute or relative path to the reroute.ini file.

Ejemplo #1 Enabling WinCache functions reroutes

wincache.rerouteini = C:\PHP\reroute.ini

Nota: If WinCache functions reroutes are enabled it is recommended to increase the WinCache file cache size. This can be done by using wincache.fcachesize setting.

The reroute.ini file contains the mappings between the native PHP functions and their equivalents in WinCache. Each line in the file defines a mapping by using the following syntax:

<PHP function name>:[<number of function parameters>]=<wincache function name>

The example of the file is shown below. In this example the calls to PHP function file_get_contents() will be replaced with calls to wincache_file_get_contents() only if the number of parameters passed to the function is less than or equals to 2. Specifying the number of parameters is useful when replacement function does not handle all the function's parameters.

Ejemplo #2 Reroute.ini file content

[FunctionRerouteList]
file_exists=wincache_file_exists
file_get_contents:2=wincache_file_get_contents
readfile:2=wincache_readfile
is_readable=wincache_is_readable
is_writable=wincache_is_writable
is_writeable=wincache_is_writable
is_file=wincache_is_file
is_dir=wincache_is_dir
realpath=wincache_realpath
filesize=wincache_filesize

WinCache Session Handler
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

WinCache Functions Reroutes
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Funciones de WinCache
WinCache


Funciones de WinCache

Tabla de contenidos

  • wincache_fcache_fileinfo — Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo — Recupera información sobre el uso de memoria caché de ficheros
  • wincache_lock — Acquires an exclusive lock on a given key
  • wincache_ocache_fileinfo — Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo — Retrieves information about opcode cache memory usage
  • wincache_refresh_if_changed — Refreshes the cache entries for the cached files
  • wincache_rplist_fileinfo — Retrieves information about resolve file path cache
  • wincache_rplist_meminfo — Retrieves information about memory usage by the resolve file path cache
  • wincache_scache_info — Retrieves information about files cached in the session cache
  • wincache_scache_meminfo — Recupera información sobre el uso de memoria caché de sesión
  • wincache_ucache_add — Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_cas — Compara la variable con el valor antiguo y le asigna un nuevo valor a este
  • wincache_ucache_clear — Elimina todo el contenido de la caché del usuario
  • wincache_ucache_dec — Disminuye el valor asociado a la clave
  • wincache_ucache_delete — Elimina las variables de la memoria caché del usuario
  • wincache_ucache_exists — Comprueba si una variable existe en la caché del usuario
  • wincache_ucache_get — Obtiene una variable almacenada en la caché del usuario
  • wincache_ucache_inc — Incrementa el valor asociado a la clave
  • wincache_ucache_info — Recupera información sobre los datos almacenados en la caché del usuario
  • wincache_ucache_meminfo — Recupera información sobre el uso de memoria caché de usuario
  • wincache_ucache_set — Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_unlock — Libera un bloqueo exclusivo sobre una clave dada
Constantes predefinidas
wincache_fcache_fileinfo
WinCache


Retrieves information about files cached in the file cache

Funciones de WinCache
wincache_fcache_meminfo
Funciones de WinCache
PHP Manual

wincache_fcache_fileinfo

(PECL wincache >= 1.0.0)

wincache_fcache_fileinfo — Retrieves information about files cached in the file cache

Descripción

array wincache_fcache_fileinfo ([ bool $summaryonly = false ] )

Retrieves information about file cache content and its usage.

Parámetros

summaryonly

Controls whether the returned array will contain information about individual cache entries along with the file cache summary.

Valores devueltos

Array of meta data about file cache o FALSE en caso de error

The array returned by this function contains the following elements:

  • total_cache_uptime - total time in seconds that the file cache has been active
  • total_file_count - total number of files that are currently in the file cache
  • total_hit_count - number of times the files have been served from the file cache
  • total_miss_count - number of times the files have not been found in the file cache

  • file_entries - an array that contains the information about all the cached files:

    • file_name - absolute file name of the cached file
    • add_time - time in seconds since the file has been added to the file cache
    • use_time - time in seconds since the file has been accessed in the file cache
    • last_check - time in seconds since the file has been checked for modifications
    • hit_count - number of times the file has been served from the cache
    • file_size - size of the cached file in bytes

Ejemplos

Ejemplo #1 A wincache_fcache_fileinfo() example

<pre>
<?php
print_r(wincache_fcache_fileinfo());
?>
</pre>

El resultado del ejemplo sería:

Array
(   [total_cache_uptime] => 3234
    [total_file_count] => 5
    [total_hit_count] => 0
    [total_miss_count] => 1
    [file_entries] => Array
        (
            [1] => Array
                (
                    [file_name] => c:\inetpub\wwwroot\checkcache.php
                    [add_time] => 1
                    [use_time] => 0
                    [last_check] => 1
                    [hit_count] => 1
                    [file_size] => 2435
                )
            [2] => Array (...iterates for each cached file)
        )
)

Ver también

  • wincache_fcache_meminfo() - Recupera información sobre el uso de memoria caché de ficheros
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Recupera información sobre el uso de memoria caché de usuario
  • wincache_ucache_info() - Recupera información sobre los datos almacenados en la caché del usuario
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Recupera información sobre el uso de memoria caché de sesión

Funciones de WinCache
wincache_fcache_meminfo
Funciones de WinCache


Recupera información sobre el uso de memoria caché de ficheros

wincache_fcache_fileinfo
wincache_lock
Funciones de WinCache
PHP Manual

wincache_fcache_meminfo

(PECL wincache >= 1.0.0)

wincache_fcache_meminfo — Recupera información sobre el uso de memoria caché de ficheros

Descripción

array wincache_fcache_meminfo ( void )

Recupera información sobre el uso de la memoria caché del fichero.

Valores devueltos

Array de meta datos sobre el uso de memoria caché de ficheros o FALSE en caso de error

El array devuelta por esta función contiene los siguientes elementos:

  • memory_total - cantidad de memoria en bytes asignados para la caché de ficheros
  • memory_free - cantidad de memoria libre en bytes disponibles para la caché de ficheros
  • num_used_blks - número de bloques de memoria utilizados por la caché de ficheros
  • num_free_blks - número de bloques de memoria libre disponibles para la caché de ficheros
  • memory_overhead - cantidad de memoria en bytes utilizados para las estructuras internas de la caché de ficheros

Ejemplos

Ejemplo #1 Un ejemplo de wincache_fcache_meminfo()

<pre>
<?php
print_r(wincache_fcache_meminfo());
?>
</pre>

El resultado del ejemplo sería:

Array
(
    [memory_total] => 134217728
    [memory_free] => 131339120
    [num_used_blks] => 361
    [num_free_blks] => 3
    [memory_overhead] => 5856
)

Ver también

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Recupera información sobre el uso de memoria caché de usuario
  • wincache_ucache_info() - Recupera información sobre los datos almacenados en la caché del usuario
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Recupera información sobre el uso de memoria caché de sesión

wincache_fcache_fileinfo
wincache_lock
Funciones de WinCache


Acquires an exclusive lock on a given key

wincache_fcache_meminfo
wincache_ocache_fileinfo
Funciones de WinCache
PHP Manual

wincache_lock

(PECL wincache >= 1.1.0)

wincache_lock — Acquires an exclusive lock on a given key

Descripción

bool wincache_lock ( string $key [, bool $isglobal = false ] )

Obtains an exclusive lock on a given key. The execution of the current script will be blocked until the lock can be obtained. Once the lock is obtained, the other scripts that try to request the lock by using the same key will be blocked, until the current script releases the lock by using wincache_unlock().

Advertencia

Using of the wincache_lock() and wincache_unlock() can cause deadlocks when executing PHP scripts in a multi-process environment like FastCGI. Do not use these functions unless you are absolutely sure you need to use them. For the majority of the operations on the user cache it is not necessary to use these functions.

Parámetros

key

Name of the key in the cache to get the lock on.

isglobal

Controls whether the scope of the lock is system-wide or local. Local locks are scoped to the application pool in IIS FastCGI case or to all php processes that have the same parent process identifier.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Using wincache_lock()

<?php
$fp = fopen("/tmp/lock.txt", "r+");
if (wincache_lock(“lock_txt_lock”)) { // do an exclusive lock
    ftruncate($fp, 0); // truncate file
    fwrite($fp, "Write something here\n");
    wincache_unlock(“lock_txt_lock”); // release the lock
} else {
    echo "Couldn't get the lock!";
}
fclose($fp);
?>

Ver también

  • wincache_unlock() - Libera un bloqueo exclusivo sobre una clave dada
  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_get() - Obtiene una variable almacenada en la caché del usuario
  • wincache_ucache_delete() - Elimina las variables de la memoria caché del usuario
  • wincache_ucache_clear() - Elimina todo el contenido de la caché del usuario
  • wincache_ucache_exists() - Comprueba si una variable existe en la caché del usuario
  • wincache_ucache_meminfo() - Recupera información sobre el uso de memoria caché de usuario
  • wincache_ucache_info() - Recupera información sobre los datos almacenados en la caché del usuario
  • wincache_scache_info() - Retrieves information about files cached in the session cache

wincache_fcache_meminfo
wincache_ocache_fileinfo
Funciones de WinCache


Retrieves information about files cached in the opcode cache

wincache_lock
wincache_ocache_meminfo
Funciones de WinCache
PHP Manual

wincache_ocache_fileinfo

(PECL wincache >= 1.0.0)

wincache_ocache_fileinfo — Retrieves information about files cached in the opcode cache

Descripción

array wincache_ocache_fileinfo ([ bool $summaryonly = false ] )

Retrieves information about opcode cache content and its usage.

Parámetros

summaryonly

Controls whether the returned array will contain information about individual cache entries along with the opcode cache summary.

Valores devueltos

Array of meta data about opcode cache o FALSE en caso de error

The array returned by this function contains the following elements:

  • total_cache_uptime - total time in seconds that the opcode cache has been active
  • total_file_count - total number of files that are currently in the opcode cache
  • total_hit_count - number of times the compiled opcode have been served from the cache
  • total_miss_count - number of times the compiled opcode have not been found in the cache
  • is_local_cache - true is the cache metadata is for a local cache instance, false if the metadata is for the global cache

  • file_entries - an array that contains the information about all the cached files:

    • file_name - absolute file name of the cached file
    • add_time - time in seconds since the file has been added to the opcode cache
    • use_time - time in seconds since the file has been accessed in the opcode cache
    • last_check - time in seconds since the file has been checked for modifications
    • hit_count - number of times the file has been served from the cache
    • function_count - number of functions in the cached file
    • class_count - number of classes in the cached file

Ejemplos

Ejemplo #1 A wincache_ocache_fileinfo() example

<pre>
<?php
print_r(wincache_ocache_fileinfo());
?>
</pre>

El resultado del ejemplo sería:

Array
(
    [total_cache_uptime] => 17357
    [total_file_count] => 121
    [total_hit_count] => 36562
    [total_miss_count] => 201
    [file_entries] => Array
        (
            [1] => Array
                (
                    [file_name] => c:\inetpub\wwwroot\checkcache.php
                    [add_time] => 17356
                    [use_time] => 7
                    [last_check] => 10
                    [hit_count] => 454
                    [function_count] => 0
                    [class_count] => 1
                )
            [2] => Array (...iterates for each cached file)
        )
)

Ver también

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Recupera información sobre el uso de memoria caché de ficheros
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Recupera información sobre el uso de memoria caché de usuario
  • wincache_ucache_info() - Recupera información sobre los datos almacenados en la caché del usuario
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Recupera información sobre el uso de memoria caché de sesión

wincache_lock
wincache_ocache_meminfo
Funciones de WinCache


Retrieves information about opcode cache memory usage

wincache_ocache_fileinfo
wincache_refresh_if_changed
Funciones de WinCache
PHP Manual

wincache_ocache_meminfo

(PECL wincache >= 1.0.0)

wincache_ocache_meminfo — Retrieves information about opcode cache memory usage

Descripción

array wincache_ocache_meminfo ( void )

Retrieves information about memory usage by opcode cache.

Valores devueltos

Array of meta data about opcode cache memory usage o FALSE en caso de error

The array returned by this function contains the following elements:

  • memory_total - amount of memory in bytes allocated for the opcode cache
  • memory_free - amount of free memory in bytes available for the opcode cache
  • num_used_blks - number of memory blocks used by the opcode cache
  • num_free_blks - number of free memory blocks available for the opcode cache
  • memory_overhead - amount of memory in bytes used for the opcode cache internal structures

Ejemplos

Ejemplo #1 A wincache_ocache_meminfo() example

<pre>
<?php
print_r(wincache_ocache_meminfo());
?>
</pre>

El resultado del ejemplo sería:

Array
(
    [memory_total] => 134217728
    [memory_free] => 112106972
    [num_used_blks] => 15469
    [num_free_blks] => 4
    [memory_overhead] => 247600
)

Ver también

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Recupera información sobre el uso de memoria caché de ficheros
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Recupera información sobre el uso de memoria caché de usuario
  • wincache_ucache_info() - Recupera información sobre los datos almacenados en la caché del usuario
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Recupera información sobre el uso de memoria caché de sesión

wincache_ocache_fileinfo
wincache_refresh_if_changed
Funciones de WinCache


Refreshes the cache entries for the cached files

wincache_ocache_meminfo
wincache_rplist_fileinfo
Funciones de WinCache
PHP Manual

wincache_refresh_if_changed

(PECL wincache >= 1.0.0)

wincache_refresh_if_changed — Refreshes the cache entries for the cached files

Descripción

bool wincache_refresh_if_changed ([ array $files ] )

Refreshes the cache entries for the files, whose names were passed in the input argument. If no argument is specified then refreshes all the entries in the cache.

Parámetros

files

An array of file names for files that need to be refreshed. An absolute or relative file paths can be used.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

WinCache performs regular checks on the cached files to ensure that if any file has changed then the corresponding entry in the cache is updated. By default this check is performed every 30 seconds. If, for example, a PHP script updates another PHP script where the application's configuration settings are stored, then it may happen that after the configuration settings have been saved to a file, the application is still using old settings for some time until the cache is refreshed. In those cases it may be preferrable to refresh the cache right after the file has been changed. The following example shows how this can be done.

Ejemplo #1 A wincache_refresh_if_changed() example

<?php
$filename = 'C:\inetpub\wwwroot\config.php';
$handle = fopen($filename, 'w+');
if ($handle === FALSE) die('Failed to open file '.$filename.' for writing');
fwrite($handle, '<?php $setting=something; ?>');
fclose($handle);
wincache_refresh_if_changed(array($filename));
?>

Ver también

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Recupera información sobre el uso de memoria caché de ficheros
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_ucache_meminfo() - Recupera información sobre el uso de memoria caché de usuario
  • wincache_ucache_info() - Recupera información sobre los datos almacenados en la caché del usuario

wincache_ocache_meminfo
wincache_rplist_fileinfo
Funciones de WinCache


Retrieves information about resolve file path cache

wincache_refresh_if_changed
wincache_rplist_meminfo
Funciones de WinCache
PHP Manual

wincache_rplist_fileinfo

(PECL wincache >= 1.0.0)

wincache_rplist_fileinfo — Retrieves information about resolve file path cache

Descripción

array wincache_rplist_fileinfo ([ bool $summaryonly = false ] )

Retrieves information about cached mappings between relative file paths and corresponding absolute file paths.

Valores devueltos

Array of meta data about the resolve file path cache o FALSE en caso de error

The array returned by this function contains the following elements:

  • total_file_count - total number of file path mappings stored in the cache

  • rplist_entries - an array that contains the information about all the cached file paths:

    • resolve_path - path to a file
    • subkey_data - corresponding absolute path to a file

Ejemplos

Ejemplo #1 A wincache_rplist_fileinfo() example

<pre>
<?php
print_r(wincache_rplist_fileinfo());
?>
</pre>

El resultado del ejemplo sería:

Array
(
    [total_file_count] => 5
    [rplist_entries] => Array
        (
            [1] => Array
                (
                    [resolve_path] => checkcache.php
                    [subkey_data] => c:\inetpub\wwwroot|c:\inetpub\wwwroot\checkcache.php
                )

            [2] => Array (...iterates for each cached file)
        )
)

Ver también

  • wincache_fcache_meminfo() - Recupera información sobre el uso de memoria caché de ficheros
  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Recupera información sobre el uso de memoria caché de usuario
  • wincache_ucache_info() - Recupera información sobre los datos almacenados en la caché del usuario
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Recupera información sobre el uso de memoria caché de sesión

wincache_refresh_if_changed
wincache_rplist_meminfo
Funciones de WinCache


Retrieves information about memory usage by the resolve file path cache

wincache_rplist_fileinfo
wincache_scache_info
Funciones de WinCache
PHP Manual

wincache_rplist_meminfo

(PECL wincache >= 1.0.0)

wincache_rplist_meminfo — Retrieves information about memory usage by the resolve file path cache

Descripción

array wincache_rplist_meminfo ( void )

Retrieves information about memory usage by resolve file path cache.

Valores devueltos

Array of meta data that describes memory usage by resolve file path cache. o FALSE en caso de error

The array returned by this function contains the following elements:

  • memory_total - amount of memory in bytes allocated for the resolve file path cache
  • memory_free - amount of free memory in bytes available for the resolve file path cache
  • num_used_blks - number of memory blocks used by the resolve file path cache
  • num_free_blks - number of free memory blocks available for the resolve file path cache
  • memory_overhead - amount of memory in bytes used for the internal structures of resolve file path cache

Ejemplos

Ejemplo #1 A wincache_rplist_meminfo() example

<pre>
<?php
print_r(wincache_rplist_meminfo());
?>
</pre>

El resultado del ejemplo sería:

Array
(
    [memory_total] => 9437184
    [memory_free] => 9416744
    [num_used_blks] => 23
    [num_free_blks] => 1
    [memory_overhead] => 416
)

Ver también

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Recupera información sobre el uso de memoria caché de ficheros
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Recupera información sobre el uso de memoria caché de usuario
  • wincache_ucache_info() - Recupera información sobre los datos almacenados en la caché del usuario
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Recupera información sobre el uso de memoria caché de sesión

wincache_rplist_fileinfo
wincache_scache_info
Funciones de WinCache


Retrieves information about files cached in the session cache

wincache_rplist_meminfo
wincache_scache_meminfo
Funciones de WinCache
PHP Manual

wincache_scache_info

(PECL wincache >= 1.1.0)

wincache_scache_info — Retrieves information about files cached in the session cache

Descripción

array wincache_scache_info ([ bool $summaryonly = false ] )

Retrieves information about session cache content and its usage.

Parámetros

summaryonly

Controls whether the returned array will contain information about individual cache entries along with the session cache summary.

Valores devueltos

Array of meta data about session cache o FALSE en caso de error

The array returned by this function contains the following elements:

  • total_cache_uptime - total time in seconds that the session cache has been active
  • total_item_count - total number of elements that are currently in the session cache
  • is_local_cache - true is the cache metadata is for a local cache instance, false if the metadata is for the global cache
  • total_hit_count - number of times the data has been served from the cache
  • total_miss_count - number of times the data has not been found in the cache

  • scache_entries - an array that contains the information about all the cached items:

    • key_name - name of the key which is used to store the data
    • value_type - type of value stored by the key
    • use_time - time in seconds since the file has been accessed in the opcode cache
    • last_check - time in seconds since the file has been checked for modifications
    • ttl_seconds - time remaining for the data to live in the cache, 0 meaning infinite
    • age_seconds - time elapsed from the time data has been added in the cache
    • hitcount - number of times data has been served from the cache

Ejemplos

Ejemplo #1 A wincache_scache_info() example

<pre>
<?php
print_r(wincache_scache_info());
?>
</pre>

El resultado del ejemplo sería:

Array
(
    [total_cache_uptime] => 17357
    [total_file_count] => 121
    [total_hit_count] => 36562
    [total_miss_count] => 201
    [scache_entries] => Array
        (
            [1] => Array
                (
                    [file_name] => c:\inetpub\wwwroot\checkcache.php
                    [add_time] => 17356
                    [use_time] => 7
                    [last_check] => 10
                    [hit_count] => 454
                    [function_count] => 0
                    [class_count] => 1
                )
            [2] => Array (...iterates for each cached file)
        )
)

Ver también

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Recupera información sobre el uso de memoria caché de ficheros
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Recupera información sobre el uso de memoria caché de usuario
  • wincache_ucache_info() - Recupera información sobre los datos almacenados en la caché del usuario
  • wincache_scache_meminfo() - Recupera información sobre el uso de memoria caché de sesión

wincache_rplist_meminfo
wincache_scache_meminfo
Funciones de WinCache


Recupera información sobre el uso de memoria caché de sesión

wincache_scache_info
wincache_ucache_add
Funciones de WinCache
PHP Manual

wincache_scache_meminfo

(PECL wincache >= 1.1.0)

wincache_scache_meminfo — Recupera información sobre el uso de memoria caché de sesión

Descripción

array wincache_scache_meminfo ( void )

Recupera información sobre el uso de memoria caché de la sesión.

Valores devueltos

Array de metadatos sobre el uso de la memoria caché de sesión o FALSE en caso de error

El array devuelto por esta función contiene los siguientes elementos:

  • memory_total - cantidad de memoria en bytes asignado para la caché de sesión
  • memory_free - cantidad de memoria libre en bytes disponible para la caché de sesión
  • num_used_blks - número de bloques de memoria utilizados por el caché de la sesión
  • num_free_blks - número de bloques disponibles en la memoria de la caché de sesión
  • memory_overhead - cantidad de memoria en bytes utilizado para las estructuras de sesión de caché interna

Ejemplos

Ejemplo #1 Ejemplo de wincache_scache_meminfo()

<pre>
<?php
print_r(wincache_scache_meminfo());
?>
</pre>

El resultado del ejemplo sería:

Array
(
    [memory_total] => 5242880
    [memory_free] => 5215056
    [num_used_blks] => 6
    [num_free_blks] => 3
    [memory_overhead] => 176
)

Ver también

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Recupera información sobre el uso de memoria caché de ficheros
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_info() - Recupera información sobre los datos almacenados en la caché del usuario
  • wincache_scache_info() - Retrieves information about files cached in the session cache

wincache_scache_info
wincache_ucache_add
Funciones de WinCache


Adds a variable in user cache only if variable does not already exist in the cache

wincache_scache_meminfo
wincache_ucache_cas
Funciones de WinCache
PHP Manual

wincache_ucache_add

(PECL wincache >= 1.1.0)

wincache_ucache_add — Adds a variable in user cache only if variable does not already exist in the cache

Descripción

bool wincache_ucache_add ( string $key , mixed $value [, int $ttl = 0 ] )
bool wincache_ucache_add ( array $values [, mixed $unused [, int $ttl = 0 ]] )

Adds a variable in user cache, only if this variable doesn't already exist in the cache. The added variable remains in the user cache unless its time to live expires or it is deleted by using wincache_ucache_delete() or wincache_ucache_clear() functions.

Parámetros

key

Store the variable using this key name. If a variable with same key is already present the function will fail and return FALSE. key is case sensitive. To override the value even if key is present use wincache_ucache_set() function instad. key can also take array of name => value pairs where names will be used as keys. This can be used to add multiple values in the cache in one operation, thus avoiding race condition.

value

Value of a variable to store. Value supports all data types except resources, such as file handles. This paramter is ignored if first argument is an array. A general guidance is to pass NULL as value while using array as key. If value is an object, or an array containing objects, then the objects will be serialized. See __sleep() for details on serializing objects.

values

Associative array of keys and values.

ttl

Time for the variable to live in the cache in seconds. After the value specified in ttl has passed the stored variable will be deleted from the cache. This parameter takes a default value of 0 which means the variable will stay in the cache unless explicitly deleted by using wincache_ucache_delete() or wincache_ucache_clear() functions.

Valores devueltos

If key is string, the function returns TRUE on success and FALSE on failure.

If key is an array, the function returns:

  • If all the name => value pairs in the array can be set, function returns an empty array;
  • If all the name => value pairs in the array cannot be set, function returns FALSE;
  • If some can be set while others cannot, function returns an array with name=>value pair for which the addition failed in the user cache.

Ejemplos

Ejemplo #1 wincache_ucache_add() with key as a string

<?php
$bar = 'BAR';
var_dump(wincache_ucache_add('foo', $bar));
var_dump(wincache_ucache_add('foo', $bar));
var_dump(wincache_ucache_get('foo'));
?>

El resultado del ejemplo sería:

bool(true)
bool(false)
string(3) "BAR"

Ejemplo #2 wincache_ucache_add() with key as an array

<?php
$colors_array = array('green' => '5', 'Blue' => '6', 'yellow' => '7', 'cyan' => '8');
var_dump(wincache_ucache_add($colors_array));
var_dump(wincache_ucache_add($colors_array));
var_dump(wincache_ucache_get('Blue'));
?>

El resultado del ejemplo sería:

array(0) { }
array(4) {
  ["green"]=> int(-1)
  ["Blue"]=> int(-1)
  ["yellow"]=> int(-1)
  ["cyan"]=> int(-1)
}
string(1) "6"

Ver también

  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_get() - Obtiene una variable almacenada en la caché del usuario
  • wincache_ucache_delete() - Elimina las variables de la memoria caché del usuario
  • wincache_ucache_clear() - Elimina todo el contenido de la caché del usuario
  • wincache_ucache_exists() - Comprueba si una variable existe en la caché del usuario
  • wincache_ucache_meminfo() - Recupera información sobre el uso de memoria caché de usuario
  • wincache_ucache_info() - Recupera información sobre los datos almacenados en la caché del usuario
  • __sleep()

wincache_scache_meminfo
wincache_ucache_cas
Funciones de WinCache


Compara la variable con el valor antiguo y le asigna un nuevo valor a este

wincache_ucache_add
wincache_ucache_clear
Funciones de WinCache
PHP Manual

wincache_ucache_cas

(PECL wincache >= 1.1.0)

wincache_ucache_cas — Compara la variable con el valor antiguo y le asigna un nuevo valor a este

Descripción

bool wincache_ucache_cas ( string $key , int $old_value , int $new_value )

Compara la variable asociada con la key con old_value y si coincide entonces asigna el new_value a este.

Parámetros

key

El parámetro key que se utiliza para almacenar la variable en la caché. key distingue mayúsculas de minúsculas.

old_value

Valor anterior de la variable apuntada por key en la memoria caché del usuario. El valor debe ser de tipo long, en caso contrario la función devuelve FALSE.

new_value

El nuevo valor que se asigna a una variable New value which will get assigned to variable indicado por la key si se encuentra una coincidencia. El valor debe ser de tipo long, en caso contrario la función devolverá FALSE.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Usando wincache_ucache_cas()

<?php
wincache_ucache_set('counter', 2922);
var_dump(wincache_ucache_cas('counter', 2922, 1));
var_dump(wincache_ucache_get('counter'));
?>

El resultado del ejemplo sería:

bool(true)
int(1)

Ver también

  • wincache_ucache_inc() - Incrementa el valor asociado a la clave
  • wincache_ucache_dec() - Disminuye el valor asociado a la clave

wincache_ucache_add
wincache_ucache_clear
Funciones de WinCache


Elimina todo el contenido de la caché del usuario

wincache_ucache_cas
wincache_ucache_dec
Funciones de WinCache
PHP Manual

wincache_ucache_clear

(PECL wincache >= 1.1.0)

wincache_ucache_clear — Elimina todo el contenido de la caché del usuario

Descripción

bool wincache_ucache_clear ( void )

Borra o elimina todos los valores almacenados en la caché del usuario.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Usando wincache_ucache_clear()

<?php
wincache_ucache_set('green', 1);
wincache_ucache_set('red', 2);
wincache_ucache_set('orange', 4);
wincache_ucache_set('blue', 8);
wincache_ucache_set('cyan', 16);
$array1 = array('green', 'red', 'orange', 'blue', 'cyan');
var_dump(wincache_ucache_get($array1));
var_dump(wincache_ucache_clear());
var_dump(wincache_ucache_get($array1));
?>

El resultado del ejemplo sería:

array(5) { ["green"]=> int(1)
           ["red"]=> int(2)
           ["orange"]=> int(4)
           ["blue"]=> int(8)
           ["cyan"]=> int(16) }
bool(true)
bool(false)

Ver también

  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_delete() - Elimina las variables de la memoria caché del usuario
  • wincache_ucache_get() - Obtiene una variable almacenada en la caché del usuario
  • wincache_ucache_exists() - Comprueba si una variable existe en la caché del usuario
  • wincache_ucache_meminfo() - Recupera información sobre el uso de memoria caché de usuario
  • wincache_ucache_info() - Recupera información sobre los datos almacenados en la caché del usuario

wincache_ucache_cas
wincache_ucache_dec
Funciones de WinCache


Disminuye el valor asociado a la clave

wincache_ucache_clear
wincache_ucache_delete
Funciones de WinCache
PHP Manual

wincache_ucache_dec

(PECL wincache >= 1.1.0)

wincache_ucache_dec — Disminuye el valor asociado a la clave

Descripción

mixed wincache_ucache_dec ( string $key [, int $dec_by = 1 [, bool &$success ]] )

Disminuye el valor asociado a la key por 1 o como se especifica por dec_by.

Parámetros

key

El parámetro key que se utiliza para almacenar la variable en la caché. key distingue mayúsculas de minúsculas.

dec_by

El valor de la variable asociada por el que conseguirá que key disminuya. Si el argumento es un número de punto flotante se truncará al integer más cercano. La variable asociada con la key debe ser de tipo long, en caso contrario la función falla y devolverá FALSE.

success

Será establecido a TRUE en caso de éxito y FALSE en caso de error.

Valores devueltos

Devuelve el valor decrementado en caso de éxito y FALSE en caso de error.

Ejemplos

Ejemplo #1 Usando wincache_ucache_dec()

<?php
wincache_ucache_set('counter', 1);
var_dump(wincache_ucache_dec('counter', 2923, $success));
var_dump($success);
?>

El resultado del ejemplo sería:

int(2922)
bool(true)

Ver también

  • wincache_ucache_inc() - Incrementa el valor asociado a la clave
  • wincache_ucache_cas() - Compara la variable con el valor antiguo y le asigna un nuevo valor a este

wincache_ucache_clear
wincache_ucache_delete
Funciones de WinCache


Elimina las variables de la memoria caché del usuario

wincache_ucache_dec
wincache_ucache_exists
Funciones de WinCache
PHP Manual

wincache_ucache_delete

(PECL wincache >= 1.1.0)

wincache_ucache_delete — Elimina las variables de la memoria caché del usuario

Descripción

bool wincache_ucache_delete ( mixed $key )

Elimina los elementos de la caché del usuario apuntado por key.

Parámetros

key

El parámetro key que se utiliza para almacenar la variable en la caché. key distingue mayúsculas de minúsculas. key puede ser un array de claves.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Si key es un array, entonces la función devuelve FALSE si cada elemento del array no se borra de la memoria caché del usuario, en caso contrario devuelve un array que consta de todas las claves que se eliminan.

Ejemplos

Ejemplo #1 Usando wincache_ucache_delete() con key como un string

<?php
wincache_ucache_set('foo', 'bar');
var_dump(wincache_ucache_delete('foo'));
var_dump(wincache_ucache_exists('foo'));
?>

El resultado del ejemplo sería:

bool(true)
bool(false)

Ejemplo #2 Using wincache_ucache_delete() con key como un array

<?php
$array1 = array('green' => '5', 'blue' => '6', 'yellow' => '7', 'cyan' => '8');
wincache_ucache_set($array1);
$array2 = array('green', 'blue', 'yellow', 'cyan');
var_dump(wincache_ucache_delete($array2));
?>

El resultado del ejemplo sería:

array(4) { [0]=> string(5) "green"
           [1]=> string(4) "Blue"
           [2]=> string(6) "yellow"
           [3]=> string(4) "cyan" }

Ejemplo #3 Using wincache_ucache_delete() con key como un array donde algunos elementos no se pueden eliminar

<?php
$array1 = array('green' => '5', 'blue' => '6', 'yellow' => '7', 'cyan' => '8');
wincache_ucache_set($array1);
$array2 = array('orange', 'red', 'yellow', 'cyan');
var_dump(wincache_ucache_delete($array2));
?>

El resultado del ejemplo sería:

array(2) { [0]=> string(6) "yellow"
           [1]=> string(4) "cyan" }

Ver también

  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_get() - Obtiene una variable almacenada en la caché del usuario
  • wincache_ucache_clear() - Elimina todo el contenido de la caché del usuario
  • wincache_ucache_exists() - Comprueba si una variable existe en la caché del usuario
  • wincache_ucache_meminfo() - Recupera información sobre el uso de memoria caché de usuario
  • wincache_ucache_info() - Recupera información sobre los datos almacenados en la caché del usuario

wincache_ucache_dec
wincache_ucache_exists
Funciones de WinCache


Comprueba si una variable existe en la caché del usuario

wincache_ucache_delete
wincache_ucache_get
Funciones de WinCache
PHP Manual

wincache_ucache_exists

(PECL wincache >= 1.1.0)

wincache_ucache_exists — Comprueba si una variable existe en la caché del usuario

Descripción

bool wincache_ucache_exists ( string $key )

Comprueba si una variable con la key existe en la caché de usuario o no.

Parámetros

key

La key que se utiliza para almacenar la variable en la caché. key distingue mayúsculas de minúsculas.

Valores devueltos

Devuelve TRUE si la variable con la key existe, en caso contrario devuelve FALSE.

Ejemplos

Ejemplo #1 Usando wincache_ucache_exists()

<?php
if (!wincache_ucache_exists('green'))
    wincache_ucache_set('green', 1);
var_dump(wincache_ucache_exists('green'));
?>

El resultado del ejemplo sería:

bool(true)

Ver también

  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_get() - Obtiene una variable almacenada en la caché del usuario
  • wincache_ucache_clear() - Elimina todo el contenido de la caché del usuario
  • wincache_ucache_delete() - Elimina las variables de la memoria caché del usuario
  • wincache_ucache_meminfo() - Recupera información sobre el uso de memoria caché de usuario
  • wincache_ucache_info() - Recupera información sobre los datos almacenados en la caché del usuario

wincache_ucache_delete
wincache_ucache_get
Funciones de WinCache


Obtiene una variable almacenada en la caché del usuario

wincache_ucache_exists
wincache_ucache_inc
Funciones de WinCache
PHP Manual

wincache_ucache_get

(PECL wincache >= 1.1.0)

wincache_ucache_get — Obtiene una variable almacenada en la caché del usuario

Descripción

mixed wincache_ucache_get ( mixed $key [, bool &$success ] )

Obtiene una variable almacenada en la caché del usuario.

Parámetros

key

La key que se utiliza para almacenar la variable en la caché. key distingue mayúsculas de minúsculas. key puede ser un array de claves. En este caso el valor de retorno será un array de valores de cada elemento en el array key. Si un objeto, o un array que contiene objetos, es retornado, entonces los objetos serán decodificados. Véase __wakeup() para más detalles sobre decodificar objetos.

success

Se establecerá en TRUE en caso de éxito y FALSE en caso de error.

Valores devueltos

Si key es un string, la función devuelve el valor de la variable almacenada con esa clave. El parámetro success es establecido a TRUE en caso de éxito y a FALSE en caso de error.

El parámetro key es un array, el parámetro success siempre se establece en TRUE. El array devuelto (pares nombre => valor) will contendrá sólo aquellos pares nombre => valor en donde la operación de obtención de caché de usuario se ha realizado correctamente. Si ninguna de las claves del array encuentran una coincidencia en la caché del usuario, un array vacío será devuelto.

Ejemplos

Ejemplo #1 wincache_ucache_get() con key como un string

<?php
wincache_ucache_add('color', 'blue');
var_dump(wincache_ucache_get('color', $success));
var_dump($success);
?>

El resultado del ejemplo sería:

string(4) "blue"
bool(true)

Ejemplo #2 wincache_ucache_get() con key como un array

<?php
$array1 = array('green' => '5', 'Blue' => '6', 'yellow' => '7', 'cyan' => '8');
wincache_ucache_set($array1);
$array2 = array('green', 'Blue', 'yellow', 'cyan');
var_dump(wincache_ucache_get($array2, $success));
var_dump($success);
?>

El resultado del ejemplo sería:

array(4) { ["green"]=> string(1) "5"
           ["Blue"]=> string(1) "6"
           ["yellow"]=> string(1) "7"
           ["cyan"]=> string(1) "8" }
bool(true)

Ver también

  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_delete() - Elimina las variables de la memoria caché del usuario
  • wincache_ucache_clear() - Elimina todo el contenido de la caché del usuario
  • wincache_ucache_exists() - Comprueba si una variable existe en la caché del usuario
  • wincache_ucache_meminfo() - Recupera información sobre el uso de memoria caché de usuario
  • wincache_ucache_info() - Recupera información sobre los datos almacenados en la caché del usuario
  • __wakeup()

wincache_ucache_exists
wincache_ucache_inc
Funciones de WinCache


Incrementa el valor asociado a la clave

wincache_ucache_get
wincache_ucache_info
Funciones de WinCache
PHP Manual

wincache_ucache_inc

(PECL wincache >= 1.1.0)

wincache_ucache_inc — Incrementa el valor asociado a la clave

Descripción

mixed wincache_ucache_inc ( string $key [, int $inc_by = 1 [, bool &$success ]] )

Incrementa el valor asociado a la key por 1 o como se especifica por inc_by.

Parámetros

key

La key que se utiliza para almacenar la variable en la caché. key distingue mayúsculas de minúsculas.

inc_by

El valor por el cual la variable asociada con la key será incrementada. Si el argumento es un número de punto flotante se truncará al integer más cercano. La variable asociada con la key debe ser de tipo long, de lo contrario la función falla y devuelve FALSE.

success

Se establecerá en TRUE en caso de éxito y FALSE en caso de error.

Valores devueltos

Devuelve el valor incrementado en caso de éxito y FALSE en caso de error.

Ejemplos

Ejemplo #1 Usando wincache_ucache_inc()

<?php
wincache_ucache_set('counter', 1);
var_dump(wincache_ucache_inc('counter', 2921, $success));
var_dump($success);
?>

El resultado del ejemplo sería:

int(2922)
bool(true)

Ver también

  • wincache_ucache_dec() - Disminuye el valor asociado a la clave
  • wincache_ucache_cas() - Compara la variable con el valor antiguo y le asigna un nuevo valor a este

wincache_ucache_get
wincache_ucache_info
Funciones de WinCache


Recupera información sobre los datos almacenados en la caché del usuario

wincache_ucache_inc
wincache_ucache_meminfo
Funciones de WinCache
PHP Manual

wincache_ucache_info

(PECL wincache >= 1.1.0)

wincache_ucache_info — Recupera información sobre los datos almacenados en la caché del usuario

Descripción

array wincache_ucache_info ([ bool $summaryonly = false [, string $key ]] )

Recupera información sobre los datos almacenados en la caché del usuario.

Parámetros

summaryonly

Controla si el array devuelto contiene información sobre las entradas de caché individuales junto con el resumen caché del usuario.

key

La clave de una entrada en la caché del usuario. Si se especifica a continuación, el array devuelto contendrá información sólo acerca de que la entrada de caché. Si no se especifica y summaryonly es establecido a FALSE entonces el array devuelto contendrá información sobre todas las entradas en la caché.

Valores devueltos

Array de metadatos sobre caché de usuario o FALSE en caso de error

El array devuelto por esta función contiene los siguientes elementos:

  • total_cache_uptime - tiempo total en segundos que el caché de usuario ha sido activo
  • total_item_count - número total de elementos que están actualmente en la caché del usuario
  • is_local_cache - true si el caché es de metadatos para una instancia de caché local, false si los metadatos es para el la caché global
  • total_hit_count - número de veces que los datos se han servido de la memoria caché
  • total_miss_count - número de veces que los datos no se han encontrado en la caché

  • ucache_entries - un array que contiene la información sobre todos los elementos almacenados en caché:

    • key_name - nombre de la clave que se utiliza para almacenar los datos
    • value_type - tipo de valor almacenado por la clave
    • use_time - tiempo en segundos desde el fichero ha sido visitado en la caché de código de operación
    • last_check - tiempo en segundos desde el fichero ha sido chequeado para modificaciones
    • is_session - indica si los datos son una variable de sesión
    • ttl_seconds - el tiempo restante de los datos a vivir en la memoria caché, 0 significa infinito
    • age_seconds - tiempo transcurrido desde el momento que los datos han sido añadidos en la caché
    • hitcount - número de veces que los datos se han servido de la memoria caché

Ejemplos

Ejemplo #1 Usar wincache_ucache_info()

<?php
wincache_ucache_get('green');
wincache_ucache_set('green', 2922);
wincache_ucache_get('green');
wincache_ucache_get('green');
wincache_ucache_get('green');
print_r(wincache_ucache_info());
?>

El resultado del ejemplo sería:

Array
( ["total_cache_uptime"] => int(0)
  ["is_local_cache"] => bool(false)
  ["total_item_count"] => int(1)
  ["total_hit_count"] => int(3)
  ["total_miss_count"] => int(1)
  ["ucache_entries"] => Array(1)
    ( [1] => Array(6)
      (
        ["key_name"] => string(5) "green"
        ["value_type"] => string(4) "long"
        ["is_session"] => int(0)
        ["ttl_seconds"] => int(0)
        ["age_seconds"] => int(0)
        ["hitcount"] => int(3)
       )
    )
)

Ver también

  • wincache_fcache_meminfo() - Recupera información sobre el uso de memoria caché de ficheros
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Recupera información sobre el uso de memoria caché de usuario
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Recupera información sobre el uso de memoria caché de sesión

wincache_ucache_inc
wincache_ucache_meminfo
Funciones de WinCache


Recupera información sobre el uso de memoria caché de usuario

wincache_ucache_info
wincache_ucache_set
Funciones de WinCache
PHP Manual

wincache_ucache_meminfo

(PECL wincache >= 1.1.0)

wincache_ucache_meminfo — Recupera información sobre el uso de memoria caché de usuario

Descripción

array wincache_ucache_meminfo ( void )

Recupera información sobre el uso de memoria caché del usuario.

Valores devueltos

Array de metadatos sobre el uso de la memoria caché de usuario o FALSE en caso de error

El array devuelto por esta función contiene los siguientes elementos:

  • memory_total - cantidad de memoria en bytes asignado para la caché de usuario
  • memory_free - cantidad de memoria libre en bytes disponible para la caché de usuario
  • num_used_blks - número de bloques de memoria utilizados por el caché del usuario
  • num_free_blks - número de bloques disponibles en la memoria de la caché del usuario
  • memory_overhead - cantidad de memoria en bytes utilizado para las estructuras de los usuarios de caché interna

Ejemplos

Ejemplo #1 Ejemplo de wincache_ucache_meminfo()

<pre>
<?php
print_r(wincache_ucache_meminfo());
?>
</pre>

El resultado del ejemplo sería:

Array
(
    [memory_total] => 5242880
    [memory_free] => 5215056
    [num_used_blks] => 6
    [num_free_blks] => 3
    [memory_overhead] => 176
)

Ver también

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Recupera información sobre el uso de memoria caché de ficheros
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_info() - Recupera información sobre los datos almacenados en la caché del usuario
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Recupera información sobre el uso de memoria caché de sesión

wincache_ucache_info
wincache_ucache_set
Funciones de WinCache


Adds a variable in user cache and overwrites a variable if it already exists in the cache

wincache_ucache_meminfo
wincache_unlock
Funciones de WinCache
PHP Manual

wincache_ucache_set

(PECL wincache >= 1.1.0)

wincache_ucache_set — Adds a variable in user cache and overwrites a variable if it already exists in the cache

Descripción

bool wincache_ucache_set ( mixed $key , mixed $value [, int $ttl = 0 ] )
bool wincache_ucache_set ( array $values [, mixed $unused [, int $ttl = 0 ]] )

Adds a variable in user cache. Overwrites a variable if it already exists in the cache. The added or updated variable remains in the user cache unless its time to live expires or it is deleted by using wincache_ucache_delete() or wincache_ucache_clear() functions.

Parámetros

key

Store the variable using this key name. If a variable with same key is already present the function will overwrite the previous value with the new one. key is case sensitive. key can also take array of name => value pairs where names will be used as keys. This can be used to add multiple values in the cache in one operation, thus avoiding race condition.

value

Value of a variable to store. Value supports all data types except resources, such as file handles. This paramter is ignored if first argument is an array. A general guidance is to pass NULL as value while using array as key. If value is an object, or an array containing objects, then the objects will be serialized. See __sleep() for details on serializing objects.

values

Associative array of keys and values.

ttl

Time for the variable to live in the cache in seconds. After the value specified in ttl has passed the stored variable will be deleted from the cache. This parameter takes a default value of 0 which means the variable will stay in the cache unless explicitly deleted by using wincache_ucache_delete() or wincache_ucache_clear() functions.

Valores devueltos

If key is string, the function returns TRUE on success and FALSE on failure.

If key is an array, the function returns:

  • If all the name => value pairs in the array can be set, function returns an empty array;
  • If all the name => value pairs in the array cannot be set, function returns FALSE;
  • If some can be set while others cannot, function returns an array with name=>value pair for which the addition failed in the user cache.

Ejemplos

Ejemplo #1 wincache_ucache_set() with key as a string

<?php
$bar = 'BAR';
var_dump(wincache_ucache_set('foo', $bar));
var_dump(wincache_ucache_get('foo'));
$bar1 = 'BAR1';
var_dump(wincache_ucache_set('foo', $bar1));
var_dump(wincache_ucache_get('foo'));
?>

El resultado del ejemplo sería:

bool(true)
string(3) "BAR"
bool(true)
string(3) "BAR1"

Ejemplo #2 wincache_ucache_set() with key as an array

<?php
$colors_array = array('green' => '5', 'Blue' => '6', 'yellow' => '7', 'cyan' => '8');
var_dump(wincache_ucache_set($colors_array));
var_dump(wincache_ucache_set($colors_array));
var_dump(wincache_ucache_get('Blue'));
?>

El resultado del ejemplo sería:

array(0) {}
array(0) {}
string(1) "6"

Ver también

  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_get() - Obtiene una variable almacenada en la caché del usuario
  • wincache_ucache_delete() - Elimina las variables de la memoria caché del usuario
  • wincache_ucache_clear() - Elimina todo el contenido de la caché del usuario
  • wincache_ucache_exists() - Comprueba si una variable existe en la caché del usuario
  • wincache_ucache_meminfo() - Recupera información sobre el uso de memoria caché de usuario
  • wincache_ucache_info() - Recupera información sobre los datos almacenados en la caché del usuario
  • __sleep()

wincache_ucache_meminfo
wincache_unlock
Funciones de WinCache


Libera un bloqueo exclusivo sobre una clave dada

wincache_ucache_set
Building for Windows
Funciones de WinCache
PHP Manual

wincache_unlock

(PECL wincache >= 1.1.0)

wincache_unlock — Libera un bloqueo exclusivo sobre una clave dada

Descripción

bool wincache_unlock ( string $key )

Libera un bloqueo exclusivo que se obtuvo en una clave dada mediante wincache_lock(). Si cualquier otro proceso fue bloqueado en espera de el bloqueo en esta clave, este proceso será capaz de obtener el bloqueo.

Advertencia

Usando wincache_lock() y wincache_unlock() puede causar bloqueos al ejecutar los scripts PHP en un entorno de multi-proceso, como FastCGI. No utilice estas funciones a menos que esté absolutamente seguro de que necesitan para su uso. Para la mayoría de las operaciones en la caché de usuario no es necesario el uso de estas funciones.

Parámetros

key

Nombre de la llave en la caché para liberar el bloqueo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Usar wincache_unlock()

<?php
$fp = fopen("/tmp/lock.txt", "r+");
if (wincache_lock(“lock_txt_lock”)) { // hacer un bloqueo exclusivo
    ftruncate($fp, 0); // truncate file
    fwrite($fp, "Escribir algo aquí\n");
    wincache_unlock(“lock_txt_lock”); // liberar el bloqueo
} else {
    echo "No se pudo obtener el bloqueo!";
}
fclose($fp);
?>

Ver también

  • wincache_lock() - Acquires an exclusive lock on a given key
  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_get() - Obtiene una variable almacenada en la caché del usuario
  • wincache_ucache_delete() - Elimina las variables de la memoria caché del usuario
  • wincache_ucache_clear() - Elimina todo el contenido de la caché del usuario
  • wincache_ucache_exists() - Comprueba si una variable existe en la caché del usuario
  • wincache_ucache_meminfo() - Recupera información sobre el uso de memoria caché de usuario
  • wincache_ucache_info() - Recupera información sobre los datos almacenados en la caché del usuario
  • wincache_scache_info() - Retrieves information about files cached in the session cache

wincache_ucache_set
Building for Windows
Funciones de WinCache


Building for Windows

Tabla de contenidos

  • Prerequisites
  • Compiling and building
  • Verifying the build
wincache_unlock
Prerequisites
WinCache


Prerequisites

Building WinCache extension will require:

  1. PHP source code
  2. PHP build environment
  3. WinCache source code

For completing first two steps, follow the step-by-step guide for how to » build PHP on Windows.

For getting the WinCache source code follow the instructions described in Downloading PECL extensions.

Building for Windows
Compiling and building
Building for Windows


Compiling and building

The following steps describe how to compile and build WinCache on Windows OS:

  1. Open a command prompt which is used to build PHP

  2. Go to the root folder where PHP sources are present

  3. Run the command:

    cscript.exe win32\build\buildconf.js

  4. Run the command:

    configure.bat --help
    The output will contain a new flag --enable-wincache.

  5. Run the command:

    configure.js [all options used to build PHP] --enable-wincache
    --enable-wincache is the only extra option which is required to ensure that WinCache extension gets built properly. This option will build WinCache and will statically link it with PHP dll. To build WinCache extension as a stand-alone DLL use the option --enable-wincache=shared.

  6. Run the command:

    nmake

Prerequisites
Verifying the build
Building for Windows


Verifying the build

The following steps describe how to verify that WinCache has been built correctly:

  1. Go to the folder where the PHP binaries are built

  2. Run the command:

    php.exe -n -d extension=php_wincache.dll -re wincache
    If WinCache has been built properly, the output of this command will list the INI directives and functions supported by WinCache.

Compiling and building
Xhprof
Building for Windows


Hierarchical Profiler

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • Xhprof Funciones
    • xhprof_disable — Detiene el perfilador xhprof
    • xhprof_enable — Inicia perfil xhprof
    • xhprof_sample_disable — Detiene la muestra del perfilador xhprof
    • xhprof_sample_enable — Descripción
Verifying the build
Introducción
Afecta el comportamiento de PHP


Introducción

XHProf is a light-weight hierarchical and instrumentation based profiler. During the data collection phase, it keeps track of call counts and inclusive metrics for arcs in the dynamic callgraph of a program. It computes exclusive metrics in the reporting/post processing phase, such as wall (elapsed) time, CPU time and memory usage. A functions profile can be broken down by callers or callees. XHProf handles recursive functions by detecting cycles in the callgraph at data collection time itself and avoiding the cycles by giving unique depth qualified names for the recursive invocations.

XHProf includes a simple HTML based user interface (written in PHP). The browser based UI for viewing profiler results makes it easy to view results or to share results with peers. A callgraph image view is also supported.

XHProf reports can often be helpful in understanding the structure of the code being executed. The hierarchical nature of the reports can be used to determine, for example, what chain of calls led to a particular function getting called.

XHProf supports ability to compare two runs (a.k.a. "diff" reports) or aggregate data from multiple runs. Diff and aggregate reports, much like single run reports, offer "flat" as well as "hierarchical" views of the profile.

Additional documentation can be found via the » facebook xhprof website.

Xhprof
Instalación/Configuración
Xhprof


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Xhprof


Requerimientos

Aunque no es obligatorio, xhprof incluye una interfaz que está escrito en PHP. Se utiliza para guardar y mostrar los datos reseñados en una forma utilizable, donde la observación se realiza mediante un navegador web. Por lo tanto, un servidor web PHP activado probablemente mejorara la experiencia xhprof.

También hay un tenedor de la interfaz gráfica de usuario en » http://github.com/preinheimer/xhprof

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/xhprof

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Xhprof Opciones de configuración
Nombre | Por defecto | Cambiable | Historial de cambios
xhprof.output_dir | "" | PHP_INI_ALL |

He aquí una breve explicación de las directivas de configuración.

xhprof.output_dir string

Directorio utilizado por la aplicación por defecto de la interfaz iXHProfRuns (es decir, la clase XHProfRuns_Default) para el almacenamiento XHProf.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

XHPROF_FLAGS_NO_BUILTINS (integer)
Se utiliza para saltar todas las funciones incorporadas (internas)
XHPROF_FLAGS_CPU (integer)
Se utiliza para agregar información de la CPU a la salida.
XHPROF_FLAGS_MEMORY (integer)
Se utiliza para agregar información de la memoria a la salida.
Tipos de recursos
Ejemplos
Xhprof


Ejemplos

Ejemplo #1 Ejemplo Xhprof con interfaz gráfica de usuario opcional

En este ejemplo se inicia y detiene el perfilador, a continuación, utiliza interfaz gráfica de usuario para guardar y analizar los resultados. En otras palabras, el código de la extensión se termina en la llamada a xhprof_disable() .

<?php
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);

for ($i = 0; $i <= 1000; $i++) {
    $a = $i * $i;
}

$xhprof_data = xhprof_disable();

$XHPROF_ROOT = "/tools/xhprof/";
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php";
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php";

$xhprof_runs = new XHProfRuns_Default();
$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_testing");

echo "http://localhost/xhprof/xhprof_html/index.php?run={$run_id}&source=xhprof_testing\n";

?>

El resultado del ejemplo sería algo similar a:

http://localhost/xhprof/xhprof_html/index.php?run=t11_4bdf44d21121f&source=xhprof_testing
Constantes predefinidas
Xhprof Funciones
Xhprof


Xhprof Funciones

Tabla de contenidos

  • xhprof_disable — Detiene el perfilador xhprof
  • xhprof_enable — Inicia perfil xhprof
  • xhprof_sample_disable — Detiene la muestra del perfilador xhprof
  • xhprof_sample_enable — Descripción
Ejemplos
xhprof_disable
Xhprof


Detiene el perfilador xhprof

Xhprof Funciones
xhprof_enable
Xhprof Funciones
PHP Manual

xhprof_disable

(PECL xhprof >= 0.9.0)

xhprof_disable — Detiene el perfilador xhprof

Descripción

array xhprof_disable ( void )

Detiene el perfilador, y devuelve los datos xhprof de la carrera.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un array de los datos xhprof, de la carrera.

Ejemplos

Ejemplo #1 xhprof_disable() ejemplo

<?php
xhprof_enable();

$foo = strlen("foo bar");

$xhprof_data = xhprof_disable();

print_r($xhprof_data);
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [main()==>strlen] => Array
        (
            [ct] => 1
            [wt] => 279
        )

    [main()==>xhprof_disable] => Array
        (
            [ct] => 1
            [wt] => 9
        )

    [main()] => Array
        (
            [ct] => 1
            [wt] => 610
        )

)
Xhprof Funciones
xhprof_enable
Xhprof Funciones


Inicia perfil xhprof

xhprof_disable
xhprof_sample_disable
Xhprof Funciones
PHP Manual

xhprof_enable

(PECL xhprof >= 0.9.0)

xhprof_enable — Inicia perfil xhprof

Descripción

void xhprof_enable ([ int $flags = 0 [, array $options ]] )

Inicia perfiles xhprof.

Parámetros

flags

Flags opcionales para añadir información adicional a la creación de perfiles. Véase las constantes XHprof Para obtener más información acerca de estos flags, p.e.j., XHPROF_FLAGS_MEMORY para permitir perfiles de memoria.

options

Un array de opciones opcionales, es decir, la opción 'ignored_functions' para pasar en las funciones que se ignoraron durante el perfilado.

Valores devueltos

NULL

Historial de cambios

Versión | Descripción
0.9.2 | El parámetro opcional options fué agregado.

Ejemplos

Ejemplo #1 Ejemplos de xhprof_enable()

<?php
// 1. tiempo transcurrido + memoria + perfiles CPU; e ignorar las funciones integradas (internas)
xhprof_enable(XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY);

// 2. perfil tiempo transcurrido; ignorando call_user_func* durante el perfilado
xhprof_enable(
    0,
    array('ignored_functions' =>  array('call_user_func',
                                        'call_user_func_array')));

// 3. tiempo transcurrido + perfil de memoria; ignorando call_user_func* durante el perfilado
xhprof_enable(
    XHPROF_FLAGS_MEMORY,
    array('ignored_functions' =>  array('call_user_func',
                                        'call_user_func_array')));
?>

Ver también

  • xhprof_disable() - Detiene el perfilador xhprof
  • xhprof_sample_enable() - Descripción
  • memory_get_usage() - Devuelve la cantidad de memoria asignada a PHP
  • getrusage() - Obtiene el uso de los recursos actuales
xhprof_disable
xhprof_sample_disable
Xhprof Funciones


Detiene la muestra del perfilador xhprof

xhprof_enable
xhprof_sample_enable
Xhprof Funciones
PHP Manual

xhprof_sample_disable

(PECL xhprof >= 0.9.0)

xhprof_sample_disable — Detiene la muestra del perfilador xhprof

Descripción

array xhprof_sample_disable ( void )

Detiene la muestra el modo perfilador xhprof, y

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un array de los datos de muestra xhprof, de la ejecución.

Ejemplos

Ejemplo #1 Ejemplo de xhprof_sample_disable()

<?php
xhprof_sample_enable();

for ($i = 0; $i <= 10000; $i++) {
    $a = strlen($i);
    $b = $i * $a;
    $c = rand();
}

$xhprof_data = xhprof_sample_disable();

print_r($xhprof_data);
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [1272935300.800000] => main()
    [1272935300.900000] => main()
)
xhprof_enable
xhprof_sample_enable
Xhprof Funciones


xhprof_sample_disable
Manipulación de formatos de audio
Xhprof Funciones
PHP Manual

xhprof_sample_enable

(PECL xhprof >= 0.9.0)

xhprof_sample_enable — Descripción

Descripción

void xhprof_sample_enable ( void )

Inicia la creación de perfiles en modo de muestra, que es una versión más ligera de peso de xhprof_enable() . El intervalo de muestreo es 0,1 segundos, y las muestras de registro de la pila de llamadas de función completa. El caso de uso principal es en gastos indirectos más bajos se requiere cuando se hace la supervisión del rendimiento y de diagnóstico.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

NULL

Ver también

  • xhprof_sample_disable() - Detiene la muestra del perfilador xhprof
  • xhprof_enable() - Inicia perfil xhprof
  • memory_get_usage() - Devuelve la cantidad de memoria asignada a PHP
  • getrusage() - Obtiene el uso de los recursos actuales
xhprof_sample_disable
Manipulación de formatos de audio
Xhprof Funciones


Manipulación de formatos de audio

  • ID3 — Etiquetas ID3
    • Introducción
    • Instalación/Configuración
    • Constantes Predefinidas
    • Funciones ID3
  • KTaglib
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • KTaglib_MPEG_File — La clase KTaglib_MPEG_File
    • KTaglib_MPEG_AudioProperties — La clase KTaglib_MPEG_AudioProperties
    • KTaglib_Tag — La clase KTaglib_Tag
    • KTaglib_ID3v2_Tag — La clase KTaglib_ID3v2_Tag
    • KTaglib_ID3v2_Frame — La clase KTaglib_ID3v2_Frame
    • KTaglib_ID3v2_AttachedPictureFrame — La clase KTaglib_ID3v2_AttachedPictureFrame
  • oggvorbis — OGG/Vorbis
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Opciones de contexto
    • Ejemplos
  • OpenAL — Vinculaciones de audio del OpenAL
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de OpenAL
xhprof_sample_enable
ID3
Referencia de funciones


Etiquetas ID3

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes Predefinidas
  • Funciones ID3
    • id3_get_frame_long_name — Obtiene el nombre largo de un marco ID3v2
    • id3_get_frame_short_name — Obtiene el nombre corto de un marco ID3v2
    • id3_get_genre_id — Obtiene el id correspondiente para un género musical
    • id3_get_genre_list — Obtiene todos los valores posibles para la etiqueta género
    • id3_get_genre_name — Obtiene el nombre del género correspondiente a un id
    • id3_get_tag — Obtiene toda la información almacenada en una etiqueta ID3
    • id3_get_version — Obtiene la versión de una etiqueta ID3
    • id3_remove_tag — Elimina una etiqueta ID3 existente
    • id3_set_tag — Actualiza la información almacenada en una etiqueta ID3
Manipulación de formatos de audio
Introducción
Manipulación de formatos de audio


Introducción

Estas funciones permiten leer y manipular etiquetas ID3. Las etiquetas ID3 se utilizan en archivos MP3 para almacenar el título de la canción, así como información acerca del artista, álbum, género, año y número de pista.

Desde la versión 0.2 también es posible extraer marcos de texto desde etiquetas ID3 v2.2+.

ID3
Instalación/Configuración
ID3


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
ID3


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/id3.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Configuración en tiempo de ejecución
Constantes Predefinidas
Instalación/Configuración


Constantes Predefinidas

La mayoría de las funciones ID3 permiten especificar u obtener la versión de la etiqueta. Para especificar la versión se recomienda usar las siguientes constantes.

ID3_V1_0 (integer)
ID3_V1_0 Es usada cuando se trabaja con etiquetas ID3 V1.0. Esas etiquetas pueden contener los campos título, artista, álbum, género, año y comentario.
ID3_V1_1 (integer)
ID3_V1_1 Es usada cuando se trabaja con etiquetas ID3 V1.1. Esas etiquetas pueden contener toda la información abarcada por las etiquetas v1.0 más el número de pista.
ID3_V2_1 (integer)
ID3_V2_1 Es usada cuando se trabaja con etiquetas ID3 V2.1.
ID3_V2_2 (integer)
ID3_V2_2 Es usada cuando se trabaja con etiquetas ID3 V2.2.
ID3_V2_3 (integer)
ID3_V2_3 Es usada cuando se trabaja con etiquetas ID3 V2.3.
ID3_V2_4 (integer)
ID3_V2_4 Es usada cuando se trabaja con etiquetas ID3 V2.4.
ID3_BEST (integer)
ID3_BEST Es usada para permitir a las funciones ID3 determinar que versión de etiquetas debería ser usado.

Tipos de recursos
Funciones ID3
ID3


Funciones ID3

Tabla de contenidos

  • id3_get_frame_long_name — Obtiene el nombre largo de un marco ID3v2
  • id3_get_frame_short_name — Obtiene el nombre corto de un marco ID3v2
  • id3_get_genre_id — Obtiene el id correspondiente para un género musical
  • id3_get_genre_list — Obtiene todos los valores posibles para la etiqueta género
  • id3_get_genre_name — Obtiene el nombre del género correspondiente a un id
  • id3_get_tag — Obtiene toda la información almacenada en una etiqueta ID3
  • id3_get_version — Obtiene la versión de una etiqueta ID3
  • id3_remove_tag — Elimina una etiqueta ID3 existente
  • id3_set_tag — Actualiza la información almacenada en una etiqueta ID3
Constantes Predefinidas
id3_get_frame_long_name
ID3


Obtiene el nombre largo de un marco ID3v2

Funciones ID3
id3_get_frame_short_name
Funciones ID3
PHP Manual

id3_get_frame_long_name

(PECL id3 >= 0.2)

id3_get_frame_long_name — Obtiene el nombre largo de un marco ID3v2

Descripción

string id3_get_frame_long_name ( string $frameId )

id3_get_frame_long_name() Retorna el nombre largo para un marco ID3v2.

Parámetros

frameId

Un marco ID3v2

Valores devueltos

Retorna el nombre largo del marco o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de id3_get_frame_long_name()

<?php
$longName = id3_get_frame_long_name("TOLY");
echo $longName;
?>

El resultado del ejemplo sería:

Original lyricist(s)/text writer(s)

Ver también

  • id3_get_frame_short_name() - Obtiene el nombre corto de un marco ID3v2

Funciones ID3
id3_get_frame_short_name
Funciones ID3


Obtiene el nombre corto de un marco ID3v2

id3_get_frame_long_name
id3_get_genre_id
Funciones ID3
PHP Manual

id3_get_frame_short_name

(PECL id3 >= 0.2)

id3_get_frame_short_name — Obtiene el nombre corto de un marco ID3v2

Descripción

string id3_get_frame_short_name ( string $frameId )

id3_get_frame_short_name() Retorna el nombre corto para un marco ID3v2.

Parámetros

frameId

Un marco ID3v2

Valores devueltos

Retorna el nombre corto del marco o FALSE en caso de error.

Los valores retornados por id3_get_frame_short_name() son usados en el array retornado por id3_get_tag().

Ejemplos

Ejemplo #1 Ejemplo de id3_get_frame_short_name()

<?php
$nombreCorto = id3_get_frame_short_name("TOLY");
echo $nombreCorto;
?>

El resultado del ejemplo sería:

originalLyricist

Ver también

  • id3_get_frame_long_name() - Obtiene el nombre largo de un marco ID3v2

id3_get_frame_long_name
id3_get_genre_id
Funciones ID3


Obtiene el id correspondiente para un género musical

id3_get_frame_short_name
id3_get_genre_list
Funciones ID3
PHP Manual

id3_get_genre_id

(PECL id3 >= 0.1)

id3_get_genre_id — Obtiene el id correspondiente para un género musical

Descripción

int id3_get_genre_id ( string $genre )

id3_get_genre_id() Retorna el id correspondiente a un género.

Parámetros

genre

Nombre del género como un string.

Valores devueltos

El id del género o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de id3_get_genre_id()

<?php
$id = id3_get_genre_id("Alternative");
echo $id;
?>

El resultado del ejemplo sería:

20

Ver también

  • id3_get_genre_name() - Obtiene el nombre del género correspondiente a un id
  • id3_get_genre_list() - Obtiene todos los valores posibles para la etiqueta género

id3_get_frame_short_name
id3_get_genre_list
Funciones ID3


Obtiene todos los valores posibles para la etiqueta género

id3_get_genre_id
id3_get_genre_name
Funciones ID3
PHP Manual

id3_get_genre_list

(PECL id3 >= 0.1)

id3_get_genre_list — Obtiene todos los valores posibles para la etiqueta género

Descripción

array id3_get_genre_list ( void )

id3_get_genre_list() Retorna un array conteniendo todos los posibles géneros que pueden ser almacenados en la etiqueta ID3 correspondiente. Esta lista fue creada por Eric Kemp y más tarde ampliada por WinAmp.

Esta función es útil para proveer a los usuarios una lista de géneros donde puedan seleccionar uno de ellos. Al actualizar la etiqueta ID3 siempre se debe especificar el género como un entero entre 0 y 147.

Valores devueltos

Retorna un array conteniendo todos los valores posibles para la etiqueta ID3.

Ejemplos

Ejemplo #1 Ejemplo de id3_get_genre_list()

<?php
$generos = id3_get_genre_list();
print_r($generos);
?>

El resultado del ejemplo sería:

Array
(
    [0] => Blues
    [1] => Classic Rock
    [2] => Country
    [3] => Dance
    [4] => Disco
    [5] => Funk
    [6] => Grunge
    [7] => Hip-Hop
    [8] => Jazz
    [9] => Metal
    [10] => New Age
    [11] => Oldies
    [12] => Other
    [13] => Pop
    [14] => R&B
    [15] => Rap
    [16] => Reggae
    [17] => Rock
    [18] => Techno
    [19] => Industrial
    [20] => Alternative
    [21] => Ska
    [22] => Death Metal
    [23] => Pranks
    [24] => Soundtrack
    [25] => Euro-Techno
    [26] => Ambient
    [27] => Trip-Hop
    [28] => Vocal
    [29] => Jazz+Funk
    [30] => Fusion
    [31] => Trance
    [32] => Classical
    [33] => Instrumental
    [34] => Acid
    [35] => House
    [36] => Game
    [37] => Sound Clip
    [38] => Gospel
    [39] => Noise
    [40] => Alternative Rock
    [41] => Bass
    [42] => Soul
    [43] => Punk
    [44] => Space
    [45] => Meditative
    [46] => Instrumental Pop
    [47] => Instrumental Rock
    [48] => Ethnic
    [49] => Gothic
    [50] => Darkwave
    [51] => Techno-Industrial
    [52] => Electronic
    [53] => Pop-Folk
    [54] => Eurodance
    [55] => Dream
    [56] => Southern Rock
    [57] => Comedy
    [58] => Cult
    [59] => Gangsta
    [60] => Top 40
    [61] => Christian Rap
    [62] => Pop/Funk
    [63] => Jungle
    [64] => Native US
    [65] => Cabaret
    [66] => New Wave
    [67] => Psychadelic
    [68] => Rave
    [69] => Showtunes
    [70] => Trailer
    [71] => Lo-Fi
    [72] => Tribal
    [73] => Acid Punk
    [74] => Acid Jazz
    [75] => Polka
    [76] => Retro
    [77] => Musical
    [78] => Rock & Roll
    [79] => Hard Rock
    [80] => Folk
    [81] => Folk-Rock
    [82] => National Folk
    [83] => Swing
    [84] => Fast Fusion
    [85] => Bebob
    [86] => Latin
    [87] => Revival
    [88] => Celtic
    [89] => Bluegrass
    [90] => Avantgarde
    [91] => Gothic Rock
    [92] => Progressive Rock
    [93] => Psychedelic Rock
    [94] => Symphonic Rock
    [95] => Slow Rock
    [96] => Big Band
    [97] => Chorus
    [98] => Easy Listening
    [99] => Acoustic
    [100] => Humour
    [101] => Speech
    [102] => Chanson
    [103] => Opera
    [104] => Chamber Music
    [105] => Sonata
    [106] => Symphony
    [107] => Booty Bass
    [108] => Primus
    [109] => Porn Groove
    [110] => Satire
    [111] => Slow Jam
    [112] => Club
    [113] => Tango
    [114] => Samba
    [115] => Folklore
    [116] => Ballad
    [117] => Power Ballad
    [118] => Rhytmic Soul
    [119] => Freestyle
    [120] => Duet
    [121] => Punk Rock
    [122] => Drum Solo
    [123] => Acapella
    [124] => Euro-House
    [125] => Dance Hall
    [126] => Goa
    [127] => Drum & Bass
    [128] => Club-House
    [129] => Hardcore
    [130] => Terror
    [131] => Indie
    [132] => BritPop
    [133] => Negerpunk
    [134] => Polsk Punk
    [135] => Beat
    [136] => Christian Gangsta
    [137] => Heavy Metal
    [138] => Black Metal
    [139] => Crossover
    [140] => Contemporary C
    [141] => Christian Rock
    [142] => Merengue
    [143] => Salsa
    [144] => Thrash Metal
    [145] => Anime
    [146] => JPop
    [147] => SynthPop
)

Ver también

  • id3_get_genre_name() - Obtiene el nombre del género correspondiente a un id
  • id3_get_genre_id() - Obtiene el id correspondiente para un género musical

id3_get_genre_id
id3_get_genre_name
Funciones ID3


Obtiene el nombre del género correspondiente a un id

id3_get_genre_list
id3_get_tag
Funciones ID3
PHP Manual

id3_get_genre_name

(PECL id3 >= 0.1)

id3_get_genre_name — Obtiene el nombre del género correspondiente a un id

Descripción

string id3_get_genre_name ( int $genre_id )

id3_get_genre_name() Retorna el nombre de un género correspondiente a un id dado.

Parámetros

genre_id

Un entero entre 0 to 147

Valores devueltos

Retorna el nombre del género en inglés en forma de string.

Ejemplos

Ejemplo #1 Ejemplo de id3_get_genre_name()

<?php
$genero = id3_get_genre_name(20);
echo $genero;
?>

El resultado del ejemplo sería:

Alternative

Ver también

  • id3_get_genre_list() - Obtiene todos los valores posibles para la etiqueta género
  • id3_get_genre_id() - Obtiene el id correspondiente para un género musical

id3_get_genre_list
id3_get_tag
Funciones ID3


Obtiene toda la información almacenada en una etiqueta ID3

id3_get_genre_name
id3_get_version
Funciones ID3
PHP Manual

id3_get_tag

(PECL id3 >= 0.1)

id3_get_tag — Obtiene toda la información almacenada en una etiqueta ID3

Descripción

array id3_get_tag ( string $filename [, int $version = ID3_BEST ] )

id3_get_tag() Es usada para obtener toda la información almacenada en la etiqueta ID3 del fichero especificado.

Parámetros

filename

Ruta al fichero MP3

En lugar de un nombre de fichero puede pasarse un contexto de flujos válido.

version

Permite especificar la versión de la etiqueta debido a que los ficheros MP3 pueden contener ambas, etiquetas versión 1.x y 2.x

Desde la versión 0.2 id3_get_tag() también soporta etiquetas ID3 versión 2.2, 2.3 y 2.4. Para extraer información de esas etiquetas deben pasarse las constantes ID3_V2_2, ID3_V2_3 o ID3_V2_4 como segundo parámetro. Las etiquetas ID3 v2.x pueden contener mucha más información acerca del fichero MP3 que las etiquetas ID3 v1.x.

Valores devueltos

Retorna un array asociativo con varias claves como: title, artist, ..

La clave genre contendrá un entero entre 0 y 147. La función id3_get_genre_name() puede ser usada para convertir este valor a uno legible por humanos.

Ejemplos

Ejemplo #1 Ejemplo de id3_get_tag()

<?php
$etiqueta = id3_get_tag( "ruta/a/ejemplo.mp3" );
print_r($etiqueta);
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [title] => DN-38416
    [artist] => Re:\Legion
    [album] => Reflections
    [year] => 2004
    [genre] => 19
)

Ejemplo #2 Ejemplo de id3_get_tag()

<?php
$etiqueta = id3_get_tag( "ruta/a/ejemplo2.mp3", ID3_V2_3 );
print_r($etiqueta);
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [copyright] => Dirty Mac
    [originalArtist] => Dirty Mac
    [composer] => Marcus Götze
    [artist] => Dirty Mac
    [title] => Little Big Man
    [album] => Demo-Tape
    [track] => 5/12
    [genre] => (17)Rock
    [year] => 2001
)

Ver también

  • id3_set_tag() - Actualiza la información almacenada en una etiqueta ID3
  • id3_remove_tag() - Elimina una etiqueta ID3 existente
  • id3_get_version() - Obtiene la versión de una etiqueta ID3

id3_get_genre_name
id3_get_version
Funciones ID3


Obtiene la versión de una etiqueta ID3

id3_get_tag
id3_remove_tag
Funciones ID3
PHP Manual

id3_get_version

(PECL id3 >= 0.1)

id3_get_version — Obtiene la versión de una etiqueta ID3

Descripción

int id3_get_version ( string $filename )

id3_get_version() Obtiene la o las versiones de una o más etiquetas ID3 en un fichero MP3.

Si un fichero contiene una etiqueta ID3 v1.1, este siempre contiene una etiqueta 1.0, debido a que la versión 1.1 es sólo una extensión de la 1.0.

Parámetros

fichero

La ruta al fichero MP3

En lugar de un nombre de fichero puede ser pasado un contexto de flujos válido.

Valores devueltos

Retorna el número de versión de la etiqueta ID3 del archivo. Como una etiqueta puede contener etiquetas ID3 v1.x y v2.x, la respuesta de esta función debería ser comparada bit a bit con las constantes predefinidas ID3_V1_0, ID3_V1_1 e ID3_V2.

Ejemplos

Ejemplo #1 Ejemplo de id3_get_version()

<?php
$version = id3_get_version( "ruta/a/ejemplo.mp3" );
if ($version & ID3_V1_0) {
    echo "Contiene una etiqueta 1.x\n";
}
if ($version & ID3_V1_1) {
    echo "Contiene una etiqueta 1.1\n";
}
if ($version & ID3_V2) {
    echo "Contiene una etiqueta 2.x\n";
}
?>

El resultado del ejemplo sería algo similar a:

Contiene una etiqueta 1.x
Contiene una etiqueta 1.1

Ver también

  • id3_set_tag() - Actualiza la información almacenada en una etiqueta ID3
  • id3_get_tag() - Obtiene toda la información almacenada en una etiqueta ID3
  • id3_remove_tag() - Elimina una etiqueta ID3 existente

id3_get_tag
id3_remove_tag
Funciones ID3


Elimina una etiqueta ID3 existente

id3_get_version
id3_set_tag
Funciones ID3
PHP Manual

id3_remove_tag

(PECL id3 >= 0.1)

id3_remove_tag — Elimina una etiqueta ID3 existente

Descripción

bool id3_remove_tag ( string $filename [, int $version = ID3_V1_0 ] )

id3_remove_tag() Es usada para eliminar información almacenada de una etiqueta ID3.

Parámetros

filename

Ruta al fichero MP3

En lugar de un nombre de fichero puede pasarse un contexto de flujos válido.

version

Permite especificar la versión de la etiqueta, esto se debe a que los ficheros MP3 pueden contener ambas versiones de etiquetas, 1.x y 2.x

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de id3_remove_tag()

<?php
$resultado = id3_remove_tag( "ruta/a/ejemplo.mp3", ID3_V1_0 );
if ($resultado === true) {
    echo "Etiqueta eliminada exitosamente\n";
}
?>

Si es posible escribir en el fichero y este contiene una etiqueta 1.0, imprimirá:

Etiqueta eliminada exitosamente

Notas

Nota: Actualmente id3_remove_tag() solamente soporta versiones 1.0 y 1.1. Si se desea eliminar una etiqueta 1.0 y el fichero contiene una etiqueta 1.1, esta será eliminada, esto se debe a que la etiqueta versión 1.1 es sólo una extensión de la 1.0.

Ver también

  • id3_set_tag() - Actualiza la información almacenada en una etiqueta ID3
  • id3_get_tag() - Obtiene toda la información almacenada en una etiqueta ID3
  • id3_get_version() - Obtiene la versión de una etiqueta ID3

id3_get_version
id3_set_tag
Funciones ID3


Actualiza la información almacenada en una etiqueta ID3

id3_remove_tag
KTaglib
Funciones ID3
PHP Manual

id3_set_tag

(PECL id3 >= 0.1)

id3_set_tag — Actualiza la información almacenada en una etiqueta ID3

Descripción

bool id3_set_tag ( string $filename , array $tag [, int $version = ID3_V1_0 ] )

id3_set_tag() Es usada para modificar la información almacenada de una etiqueta ID3. Si la etiqueta no se encuentra presente, será añadida al fichero.

Parámetros

filename

Ruta al fichero MP3

En lugar de un nombre de fichero puede pasarse un contexto de flujos válido.

tag

Un array asociativo de claves de la etiqueta y sus valores

Las siguientes claves pueden ser usadas en el array asociativo:

Claves en el array asociativo
clave | valor posible | disponible en la versión
title | cadena con un máximo de 30 caracteres | v1.0, v1.1
artist | cadena con un máximo de 30 caracteres | v1.0, v1.1
album | cadena con un máximo de 30 caracteres | v1.0, v1.1
year | 4 dígitos | v1.0, v1.1
genre | entero entre 0 y 147 | v1.0, v1.1
comment | cadena con un máximo de 30 caracteres (28 en v1.1) | v1.0, v1.1
track | entero entre 0 y 255 | v1.1

version

Permite especificar la versión de la etiqueta, esto se debe a que los ficheros MP3 pueden contener ambas versiones de etiquetas, 1.x y 2.x

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de id3_set_tag()

<?php
$datos = array(
              "title" => "Re:Start",
              "artist" => "Re:\Legion",
              "comment" => "A nice track"
             );
$resultado = id3_set_tag( "ruta/a/ejemplo.mp3", $datos, ID3_V1_0 );
if ($resultado === true) {
    echo "Etiqueta actualizada correctamente\n";
}
?>

Si es posible escribir en el fichero, imprimirá:

Etiqueta actualizada correctamente

Notas

Nota: Actualmente id3_set_tag() solamente soporta las versiones 1.0 y 1.1.

Ver también

  • id3_remove_tag() - Elimina una etiqueta ID3 existente
  • id3_get_tag() - Obtiene toda la información almacenada en una etiqueta ID3
  • id3_get_version() - Obtiene la versión de una etiqueta ID3

id3_remove_tag
KTaglib
Funciones ID3


KTaglib

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
  • Constantes predefinidas
  • KTaglib_MPEG_File — La clase KTaglib_MPEG_File
    • KTaglib_MPEG_File::__construct — Abre un fichero nuevo
    • KTaglib_MPEG_File::getAudioProperties — Devuelve un objeto que proporciona acceso a las propiedades de audio
    • KTaglib_MPEG_File::getID3v1Tag — Devuelve un objeto que representa una etiqueta ID3v1
    • KTaglib_MPEG_File::getID3v2Tag — Devuelve un objeto ID3v2
  • KTaglib_MPEG_AudioProperties — La clase KTaglib_MPEG_AudioProperties
    • KTaglib_MPEG_AudioProperties::getBitrate — Devuelve el bitrate del archivo MPEG
    • KTaglib_MPEG_AudioProperties::getChannels — Devuelve la cantidad de canales de un archivo MPEG
    • KTaglib_MPEG_AudioProperties::getLayer — Devuelve la capa de un archivo MPEG
    • KTaglib_MPEG_AudioProperties::getLength — Devuelve la duración de un archivo MPEG
    • KTaglib_MPEG_AudioProperties::getSampleBitrate — Devuelve la frecuencia de muestreo o tasa de bits de un archivo MPEG
    • KTaglib_MPEG_AudioProperties::getVersion — Devuelve la versión de un archivo MPEG
    • KTaglib_MPEG_AudioProperties::isCopyrighted — Devuelve el estado de derecho de autor de un archivo MPEG
    • KTaglib_MPEG_AudioProperties::isOriginal — Devuelve si el archivo está marcado como el archivo original
    • KTaglib_MPEG_AudioProperties::isProtectionEnabled — Devuelve si los mecanismos de protección de un archivo MPEG están habilitados
  • KTaglib_Tag — La clase KTaglib_Tag
    • KTaglib_Tag::getAlbum — Devuelve la cadena álbum de una etiqueta ID3
    • KTaglib_Tag::getArtist — Devuelve la cadena artista de una etiqueta ID3
    • KTaglib_Tag::getComment — Devuelve el comentario de una etiqueta ID3
    • KTaglib_Tag::getGenre — Devuelve el género de una etiqueta ID3
    • KTaglib_Tag::getTitle — Devuelve la cadena de título de una etiqueta ID3
    • KTaglib_Tag::getTrack — Devuelve el número de pista de una etiqueta ID3
    • KTaglib_Tag::getYear — Devuelve el año de una etiqueta ID3
    • KTaglib_Tag::isEmpty — Devuelve true si la etiqueta está vacía
  • KTaglib_ID3v2_Tag — La clase KTaglib_ID3v2_Tag
    • KTaglib_ID3v2_Tag::addFrame — Agregar un frame a la etiqueta ID3v2
    • KTaglib_ID3v2_Tag::getFrameList — Devuelve un array de frames ID3v2, asociados con la etiqueta ID3v2
  • KTaglib_ID3v2_Frame — La clase KTaglib_ID3v2_Frame
    • KTaglib_ID3v2_Frame::getSize — Devuelve el tamaño de el frame en bytes
    • KTaglib_ID3v2_Frame::__toString — Devuelve un string de representación de el frame
  • KTaglib_ID3v2_AttachedPictureFrame — La clase KTaglib_ID3v2_AttachedPictureFrame
    • KTaglib_ID3v2_AttachedPictureFrame::getDescription — Devuelve una descripción de la imagen en un marco de fotos
    • KTaglib_ID3v2_AttachedPictureFrame::getMimeType — Devuelve el tipo mime de la imagen
    • KTaglib_ID3v2_AttachedPictureFrame::getType — Devuelve el tipo de la imagen
    • KTaglib_ID3v2_AttachedPictureFrame::savePicture — Guarda la imagen en un archivo
    • KTaglib_ID3v2_AttachedPictureFrame::setMimeType — Establece el tipo mime de la imagen
    • KTaglib_ID3v2_AttachedPictureFrame::setPicture — Establece el marco de la imagen a la imagen dada
    • KTaglib_ID3v2_AttachedPictureFrame::setType — Establecer el tipo de la imagen
id3_set_tag
Introducción
Manipulación de formatos de audio


Introducción

KTaglib es un objeto vinculante orientado a la biblioteca taglib del proyecto KDE, utilizado en proyectos como Amarok para leer y escribir etiquetas ID3 y Ogg. La biblioteca también ofrece acceso a la información de audio. Los enlaces son diseñados por lo general siguiendo la API de C++ subyacente, pero se cambiarán cuando haya una forma más similar a PHP.

Nota:

Por el momento ktaglib es capaz de leer y escribir etiquetas ID3v1 e ID3v2.

KTaglib
Instalación/Configuración
KTaglib


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
Introducción
Requerimientos
KTaglib


Requerimientos

Si quiere desarrollar con ktaglib necesita tener instalado al menos la versión taglib 1.5. Para obtener la librería taglib consulte la » página del proyecto taglib. Las DLL's Windows son construidas estáticamente contrariamente a taglib, por lo tanto no hay necesidad de tener taglib instalado.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/ktaglib.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

KTaglib utiliza constantes de clase. La mayoría de las constantes son asignadas de acuerdo a las enumeraciones y constantes Taglib.

KTaglib_MPEG_Header::Version1 (integer)
ID3 version es 1.0
KTaglib_MPEG_Header::Version2 (integer)
ID3 version es 2.0
KTaglib_MPEG_Header::Version2_5 (integer)
ID3 version es 2.5
KTaglib_ID3v2_AttachedPictureFrame::Other (integer)
Otro tipo de imagen
KTaglib_ID3v2_AttachedPictureFrame::FileIcon (integer)
Tipo de imagen Archivo de icono
KTaglib_ID3v2_AttachedPictureFrame::OtherFileIcon (integer)
Tipo de imagen Otro archivo de icono
KTaglib_ID3v2_AttachedPictureFrame::FrontCover (integer)
Tipo de imagen Portada
KTaglib_ID3v2_AttachedPictureFrame::BackCover (integer)
Tipo de imagen ContraPortada
KTaglib_ID3v2_AttachedPictureFrame::LeafletPage (integer)
Tipo de imagen Folleto de página
KTaglib_ID3v2_AttachedPictureFrame::Media (integer)
Tipo de imagen Media
KTaglib_ID3v2_AttachedPictureFrame::LeadArtist (integer)
Tipo de imagen Responsable Artístico
KTaglib_ID3v2_AttachedPictureFrame::Artist (integer)
Tipo de imagen Artista
KTaglib_ID3v2_AttachedPictureFrame::Conductor (integer)
Tipo de imagen Director de orquesta
KTaglib_ID3v2_AttachedPictureFrame::Band (integer)
Tipo de imagen Banda
KTaglib_ID3v2_AttachedPictureFrame::Composer (integer)
Tipo de imagen Compositor
KTaglib_ID3v2_AttachedPictureFrame::Lyricist (integer)
Tipo de imagen Letrista
KTaglib_ID3v2_AttachedPictureFrame::RecordingLocation (integer)
Tipo de imagen Lugar de grabación
KTaglib_ID3v2_AttachedPictureFrame::DuringRecording (integer)
Tipo de imagen Durante la grabación
KTaglib_ID3v2_AttachedPictureFrame::DuringPerformance (integer)
Tipo de imagen Durante la ejecución
KTaglib_ID3v2_AttachedPictureFrame::MovieScreenCapture (integer)
Tipo de imagen Captura de pantalla de video
KTaglib_ID3v2_AttachedPictureFrame::ColouredFish (integer)
Tipo de imagen Un pez de colores brillantes
KTaglib_ID3v2_AttachedPictureFrame::Illustration (integer)
Tipo de imagen Ilustración
KTaglib_ID3v2_AttachedPictureFrame::BandLogo (integer)
Tipo de imagen Logotipo de la banda
Instalación
KTaglib_MPEG_File
KTaglib


La clase KTaglib_MPEG_File

(0.0.1)

Introducción

Representa un archivo MPEG. Los archivos MPEG pueden tener etiquetas ID3v1, ID3v2 y propiedades de audio.

Sinopsis de la clase

KTaglib_MPEG_File {
/* Métodos */
public KTaglib_MPEG_File getAudioProperties ( void )
public KTaglib_ID3v1_Tag getID3v1Tag ([ bool $create = false ] )
public KTaglib_ID3v2_Tag getID3v2Tag ([ bool $create = false ] )
}

Tabla de contenidos

  • KTaglib_MPEG_File::__construct — Abre un fichero nuevo
  • KTaglib_MPEG_File::getAudioProperties — Devuelve un objeto que proporciona acceso a las propiedades de audio
  • KTaglib_MPEG_File::getID3v1Tag — Devuelve un objeto que representa una etiqueta ID3v1
  • KTaglib_MPEG_File::getID3v2Tag — Devuelve un objeto ID3v2
Constantes predefinidas
KTaglib_MPEG_File::__construct
KTaglib


Abre un fichero nuevo

KTaglib_MPEG_File
KTaglib_MPEG_File::getAudioProperties
KTaglib_MPEG_File
PHP Manual

KTaglib_MPEG_File::__construct

(0.0.1)

KTaglib_MPEG_File::__construct — Abre un fichero nuevo

Descripción

public KTaglib_MPEG_File::__construct() ( string $filename )

Abre un fichero MPEG nuevo.

Parámetros

filename

El fichero a leer

Ejemplos

Ejemplo #1 Abre un fichero MP3 nuevo y lee el título

<?php
$mpeg = new KTaglib_MPEG_File('example.mp3');
echo $mpeg->getID3v1Tag()->getTitle();
?>

KTaglib_MPEG_File
KTaglib_MPEG_File::getAudioProperties
KTaglib_MPEG_File


Devuelve un objeto que proporciona acceso a las propiedades de audio

KTaglib_MPEG_File::__construct
KTaglib_MPEG_File::getID3v1Tag
KTaglib_MPEG_File
PHP Manual

KTaglib_MPEG_File::getAudioProperties

(0.0.1)

KTaglib_MPEG_File::getAudioProperties — Devuelve un objeto que proporciona acceso a las propiedades de audio

Descripción

public KTaglib_MPEG_File KTaglib_MPEG_File::getAudioProperties ( void )

Devuelve un objeto que proporciona acceso a las propiedades de audio de el fichero mpeg.

Valores devueltos

Devuelve un objeto KTaglib_MPEG_AudioProperties o falso.

KTaglib_MPEG_File::__construct
KTaglib_MPEG_File::getID3v1Tag
KTaglib_MPEG_File


Devuelve un objeto que representa una etiqueta ID3v1

KTaglib_MPEG_File::getAudioProperties
KTaglib_MPEG_File::getID3v2Tag
KTaglib_MPEG_File
PHP Manual

KTaglib_MPEG_File::getID3v1Tag

(0.0.1)

KTaglib_MPEG_File::getID3v1Tag — Devuelve un objeto que representa una etiqueta ID3v1

Descripción

public KTaglib_ID3v1_Tag KTaglib_MPEG_File::getID3v1Tag ([ bool $create = false ] )

Devuelve un objeto que representa una etiqueta ID3v1, la cual puede ser usada para obtener información sobre la etiqueta ID3v1.

Valores devueltos

Devuelve un objeto KTaglib_MPEG_ID3v1Tag o false si no hay una etiqueta ID3v1.

KTaglib_MPEG_File::getAudioProperties
KTaglib_MPEG_File::getID3v2Tag
KTaglib_MPEG_File


Devuelve un objeto ID3v2

KTaglib_MPEG_File::getID3v1Tag
KTaglib_MPEG_AudioProperties
KTaglib_MPEG_File
PHP Manual

KTaglib_MPEG_File::getID3v2Tag

(0.0.1)

KTaglib_MPEG_File::getID3v2Tag — Devuelve un objeto ID3v2

Descripción

public KTaglib_ID3v2_Tag KTaglib_MPEG_File::getID3v2Tag ([ bool $create = false ] )

Devuelve un objeto ID3v2 para el fichero mpeg. Si no está presente la etiqueta ID3v2, es lanzada una KTaglib_TagNotFoundException.

Valores devueltos

Devuelve el objeto KTaglib_ID3v2_Tag del fichero MPEG o falso si no hay una etiqueta ID3v2

KTaglib_MPEG_File::getID3v1Tag
KTaglib_MPEG_AudioProperties
KTaglib_MPEG_File


La clase KTaglib_MPEG_AudioProperties

(0.0.1)

Introducción

Representa las propiedades de audio de un fichero MPEG, como la duración, la tasa de bits o la tasa de muestreo.

Sinopsis de la clase

KTaglib_MPEG_AudioProperties {
/* Métodos */
public int KTaglib_MPEG_AudioProperties::getBitrate ( void )
public int KTaglib_MPEG_AudioProperties::getChannels ( void )
public int KTaglib_MPEG_AudioProperties::getLayer ( void )
public int KTaglib_MPEG_AudioProperties::getLength ( void )
public int KTaglib_MPEG_AudioProperties::getSampleBitrate ( void )
public int KTaglib_MPEG_AudioProperties::getVersion ( void )
public bool KTaglib_MPEG_AudioProperties::isCopyrighted ( void )
public bool KTaglib_MPEG_AudioProperties::isOriginal ( void )
public bool KTaglib_MPEG_AudioProperties::isProtectionEnabled ( void )
}

Tabla de contenidos

  • KTaglib_MPEG_AudioProperties::getBitrate — Devuelve el bitrate del archivo MPEG
  • KTaglib_MPEG_AudioProperties::getChannels — Devuelve la cantidad de canales de un archivo MPEG
  • KTaglib_MPEG_AudioProperties::getLayer — Devuelve la capa de un archivo MPEG
  • KTaglib_MPEG_AudioProperties::getLength — Devuelve la duración de un archivo MPEG
  • KTaglib_MPEG_AudioProperties::getSampleBitrate — Devuelve la frecuencia de muestreo o tasa de bits de un archivo MPEG
  • KTaglib_MPEG_AudioProperties::getVersion — Devuelve la versión de un archivo MPEG
  • KTaglib_MPEG_AudioProperties::isCopyrighted — Devuelve el estado de derecho de autor de un archivo MPEG
  • KTaglib_MPEG_AudioProperties::isOriginal — Devuelve si el archivo está marcado como el archivo original
  • KTaglib_MPEG_AudioProperties::isProtectionEnabled — Devuelve si los mecanismos de protección de un archivo MPEG están habilitados
KTaglib_MPEG_File::getID3v2Tag
KTaglib_MPEG_AudioProperties::getBitrate
KTaglib


Devuelve el bitrate del archivo MPEG

KTaglib_MPEG_AudioProperties
KTaglib_MPEG_AudioProperties::getChannels
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::getBitrate

(0.0.1)

KTaglib_MPEG_AudioProperties::getBitrate — Devuelve el bitrate del archivo MPEG

Descripción

public int KTaglib_MPEG_AudioProperties::getBitrate ( void )

Devuelve el bitrate del archivo MPEG

Valores devueltos

Devuelve el bitrate como un entero

KTaglib_MPEG_AudioProperties
KTaglib_MPEG_AudioProperties::getChannels
KTaglib_MPEG_AudioProperties


Devuelve la cantidad de canales de un archivo MPEG

KTaglib_MPEG_AudioProperties::getBitrate
KTaglib_MPEG_AudioProperties::getLayer
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::getChannels

(0.0.1)

KTaglib_MPEG_AudioProperties::getChannels — Devuelve la cantidad de canales de un archivo MPEG

Descripción

public int KTaglib_MPEG_AudioProperties::getChannels ( void )

Devuelve la cantidad de canales de un archivo MPEG

Valores devueltos

Devuelve el número de canales como un entero

KTaglib_MPEG_AudioProperties::getBitrate
KTaglib_MPEG_AudioProperties::getLayer
KTaglib_MPEG_AudioProperties


Devuelve la capa de un archivo MPEG

KTaglib_MPEG_AudioProperties::getChannels
KTaglib_MPEG_AudioProperties::getLength
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::getLayer

(0.0.1)

KTaglib_MPEG_AudioProperties::getLayer — Devuelve la capa de un archivo MPEG

Descripción

public int KTaglib_MPEG_AudioProperties::getLayer ( void )

Devuelve la capa del archivo MPEG (por lo general 3 para MP3).

Valores devueltos

Devuelve la capa como un número entero

KTaglib_MPEG_AudioProperties::getChannels
KTaglib_MPEG_AudioProperties::getLength
KTaglib_MPEG_AudioProperties


Devuelve la duración de un archivo MPEG

KTaglib_MPEG_AudioProperties::getLayer
KTaglib_MPEG_AudioProperties::getSampleBitrate
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::getLength

(0.0.1)

KTaglib_MPEG_AudioProperties::getLength — Devuelve la duración de un archivo MPEG

Descripción

public int KTaglib_MPEG_AudioProperties::getLength ( void )

Devuelve la duración de un archivo MPEG

Valores devueltos

Devuelve la duración como un entero

KTaglib_MPEG_AudioProperties::getLayer
KTaglib_MPEG_AudioProperties::getSampleBitrate
KTaglib_MPEG_AudioProperties


Devuelve la frecuencia de muestreo o tasa de bits de un archivo MPEG

KTaglib_MPEG_AudioProperties::getLength
KTaglib_MPEG_AudioProperties::getVersion
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::getSampleBitrate

(0.0.1)

KTaglib_MPEG_AudioProperties::getSampleBitrate — Devuelve la frecuencia de muestreo o tasa de bits de un archivo MPEG

Descripción

public int KTaglib_MPEG_AudioProperties::getSampleBitrate ( void )

Devuelve la frecuencia de muestreo o tasa de bits de un archivo MPEG

Valores devueltos

Devuelve la frecuencia de muestreo o tasa de bits como un entero

KTaglib_MPEG_AudioProperties::getLength
KTaglib_MPEG_AudioProperties::getVersion
KTaglib_MPEG_AudioProperties


Devuelve la versión de un archivo MPEG

KTaglib_MPEG_AudioProperties::getSampleBitrate
KTaglib_MPEG_AudioProperties::isCopyrighted
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::getVersion

(0.0.1)

KTaglib_MPEG_AudioProperties::getVersion — Devuelve la versión de un archivo MPEG

Descripción

public int KTaglib_MPEG_AudioProperties::getVersion ( void )

Devuelve la versión de la cabecera de un archivo MPEG. Las posibles versiones son definidas en Tag_MPEG_Header (Version1, Version2, Version2.5).

Valores devueltos

Devuelve la versión

KTaglib_MPEG_AudioProperties::getSampleBitrate
KTaglib_MPEG_AudioProperties::isCopyrighted
KTaglib_MPEG_AudioProperties


Devuelve el estado de derecho de autor de un archivo MPEG

KTaglib_MPEG_AudioProperties::getVersion
KTaglib_MPEG_AudioProperties::isOriginal
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::isCopyrighted

(0.0.1)

KTaglib_MPEG_AudioProperties::isCopyrighted — Devuelve el estado de derecho de autor de un archivo MPEG

Descripción

public bool KTaglib_MPEG_AudioProperties::isCopyrighted ( void )

Devuelve true si el archivo MPEG tiene derechos de autor

Valores devueltos

Devuelve true si el archivo MPEG tiene derechos de autor

KTaglib_MPEG_AudioProperties::getVersion
KTaglib_MPEG_AudioProperties::isOriginal
KTaglib_MPEG_AudioProperties


Devuelve si el archivo está marcado como el archivo original

KTaglib_MPEG_AudioProperties::isCopyrighted
KTaglib_MPEG_AudioProperties::isProtectionEnabled
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::isOriginal

(0.0.1)

KTaglib_MPEG_AudioProperties::isOriginal — Devuelve si el archivo está marcado como el archivo original

Descripción

public bool KTaglib_MPEG_AudioProperties::isOriginal ( void )

Devuelve true si el archivo está marcado como el archivo original

Valores devueltos

Devuelve true si el archivo está marcado como el archivo original

KTaglib_MPEG_AudioProperties::isCopyrighted
KTaglib_MPEG_AudioProperties::isProtectionEnabled
KTaglib_MPEG_AudioProperties


Devuelve si los mecanismos de protección de un archivo MPEG están habilitados

KTaglib_MPEG_AudioProperties::isOriginal
KTaglib_Tag
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::isProtectionEnabled

(0.0.1)

KTaglib_MPEG_AudioProperties::isProtectionEnabled — Devuelve si los mecanismos de protección de un archivo MPEG están habilitados

Descripción

public bool KTaglib_MPEG_AudioProperties::isProtectionEnabled ( void )

Devuelve true si los mecanismos de protección (como el DRM) están habilitados para este archivo

Valores devueltos

Devuelve true si los mecanismos de protección (como el DRM) están habilitados para este archivo

KTaglib_MPEG_AudioProperties::isOriginal
KTaglib_Tag
KTaglib_MPEG_AudioProperties


La clase KTaglib_Tag

(0.0.1)

Introducción

Clase base para las etiquetas ID3v1 o ID3v2

Sinopsis de la clase

KTaglib_Tag {
/* Métodos */
public string getAlbum ( void )
public string getArtist ( void )
public string getComment ( void )
public string getGenre ( void )
public string getTitle ( void )
public int getTrack ( void )
public int getYear ( void )
public bool isEmpty ( void )
}

Tabla de contenidos

  • KTaglib_Tag::getAlbum — Devuelve la cadena álbum de una etiqueta ID3
  • KTaglib_Tag::getArtist — Devuelve la cadena artista de una etiqueta ID3
  • KTaglib_Tag::getComment — Devuelve el comentario de una etiqueta ID3
  • KTaglib_Tag::getGenre — Devuelve el género de una etiqueta ID3
  • KTaglib_Tag::getTitle — Devuelve la cadena de título de una etiqueta ID3
  • KTaglib_Tag::getTrack — Devuelve el número de pista de una etiqueta ID3
  • KTaglib_Tag::getYear — Devuelve el año de una etiqueta ID3
  • KTaglib_Tag::isEmpty — Devuelve true si la etiqueta está vacía
KTaglib_MPEG_AudioProperties::isProtectionEnabled
KTaglib_Tag::getAlbum
KTaglib


Devuelve la cadena álbum de una etiqueta ID3

KTaglib_Tag
KTaglib_Tag::getArtist
KTaglib_Tag
PHP Manual

KTaglib_Tag::getAlbum

(0.0.1)

KTaglib_Tag::getAlbum — Devuelve la cadena álbum de una etiqueta ID3

Descripción

public string KTaglib_Tag::getAlbum ( void )

Devuelve la cadena álbum de una etiqueta ID3. Este método es implementado en etiquetas ID3v1 y ID3v2.

Valores devueltos

Devuelve la cadena álbum

KTaglib_Tag
KTaglib_Tag::getArtist
KTaglib_Tag


Devuelve la cadena artista de una etiqueta ID3

KTaglib_Tag::getAlbum
KTaglib_Tag::getComment
KTaglib_Tag
PHP Manual

KTaglib_Tag::getArtist

(0.0.1)

KTaglib_Tag::getArtist — Devuelve la cadena artista de una etiqueta ID3

Descripción

public string KTaglib_Tag::getArtist ( void )

Devuelve la cadena artista de una etiqueta ID3. Este método es implementado en etiquetas ID3v1 y ID3v2.

Valores devueltos

Devuelve la cadena artista

KTaglib_Tag::getAlbum
KTaglib_Tag::getComment
KTaglib_Tag


Devuelve el comentario de una etiqueta ID3

KTaglib_Tag::getArtist
KTaglib_Tag::getGenre
KTaglib_Tag
PHP Manual

KTaglib_Tag::getComment

(0.0.1)

KTaglib_Tag::getComment — Devuelve el comentario de una etiqueta ID3

Descripción

public string KTaglib_Tag::getComment ( void )

Devuelve el comentario de una etiqueta ID3. Este método es implementado en etiquetas ID3v1 y ID3v2.

Valores devueltos

Devuelve la cadena comentario

KTaglib_Tag::getArtist
KTaglib_Tag::getGenre
KTaglib_Tag


Devuelve el género de una etiqueta ID3

KTaglib_Tag::getComment
KTaglib_Tag::getTitle
KTaglib_Tag
PHP Manual

KTaglib_Tag::getGenre

(0.0.1)

KTaglib_Tag::getGenre — Devuelve el género de una etiqueta ID3

Descripción

public string KTaglib_Tag::getGenre ( void )

Devuelve el género de una etiqueta ID3. Este método es implementado en etiquetas ID3v1 y ID3v2.

Valores devueltos

Devuelve la cadena género

KTaglib_Tag::getComment
KTaglib_Tag::getTitle
KTaglib_Tag


Devuelve la cadena de título de una etiqueta ID3

KTaglib_Tag::getGenre
KTaglib_Tag::getTrack
KTaglib_Tag
PHP Manual

KTaglib_Tag::getTitle

(0.0.1)

KTaglib_Tag::getTitle — Devuelve la cadena de título de una etiqueta ID3

Descripción

public string KTaglib_Tag::getTitle ( void )

Devuelve la cadena de título de una etiqueta ID3. Este método es implementado en etiquetas ID3v1 y ID3v2.

Valores devueltos

Devuelve la cadena título

KTaglib_Tag::getGenre
KTaglib_Tag::getTrack
KTaglib_Tag


Devuelve el número de pista de una etiqueta ID3

KTaglib_Tag::getTitle
KTaglib_Tag::getYear
KTaglib_Tag
PHP Manual

KTaglib_Tag::getTrack

(0.0.1)

KTaglib_Tag::getTrack — Devuelve el número de pista de una etiqueta ID3

Descripción

public int KTaglib_Tag::getTrack ( void )

Devuelve el número de pista en una etiqueta ID3. Este método es implementado en etiquetas ID3v1 y ID3v2.

Valores devueltos

Devuelve el número de pista como un entero

KTaglib_Tag::getTitle
KTaglib_Tag::getYear
KTaglib_Tag


Devuelve el año de una etiqueta ID3

KTaglib_Tag::getTrack
KTaglib_Tag::isEmpty
KTaglib_Tag
PHP Manual

KTaglib_Tag::getYear

(0.0.1)

KTaglib_Tag::getYear — Devuelve el año de una etiqueta ID3

Descripción

public int KTaglib_Tag::getYear ( void )

Devuelve el año de una etiqueta ID3. Este método es implementado en etiquetas ID3v1 y ID3v2.

Valores devueltos

Devuelve el año como un número entero

KTaglib_Tag::getTrack
KTaglib_Tag::isEmpty
KTaglib_Tag


Devuelve true si la etiqueta está vacía

KTaglib_Tag::getYear
KTaglib_ID3v2_Tag
KTaglib_Tag
PHP Manual

KTaglib_Tag::isEmpty

(0.0.1)

KTaglib_Tag::isEmpty — Devuelve true si la etiqueta está vacía

Descripción

public bool KTaglib_Tag::isEmpty ( void )

Devuelve true si la etiqueta existe, pero está vacía. Este método es implementado en etiquetas ID3v1 y ID3v2.

Valores devueltos

Devuelve true si la etiqueta está vacía, en caso contrario devuelve false.

KTaglib_Tag::getYear
KTaglib_ID3v2_Tag
KTaglib_Tag


La clase KTaglib_ID3v2_Tag

(0.0.1)

Introducción

Representa una etiqueta ID3v2. Proporciona una lista de marcos ID3v2 y puede ser utilizada para añadir y eliminar marcos adicionales.

Sinopsis de la clase

extends KTaglib_Tag {
/* Métodos */
public bool addFrame ( KTaglib_ID3v2_Frame $frame )
public array getFrameList ( void )
/* Métodos heredados */
public string KTaglib_Tag::getAlbum ( void )
public string KTaglib_Tag::getArtist ( void )
public string KTaglib_Tag::getComment ( void )
public string KTaglib_Tag::getGenre ( void )
public string KTaglib_Tag::getTitle ( void )
public int KTaglib_Tag::getTrack ( void )
public int KTaglib_Tag::getYear ( void )
public bool KTaglib_Tag::isEmpty ( void )
}

Tabla de contenidos

  • KTaglib_ID3v2_Tag::addFrame — Agregar un frame a la etiqueta ID3v2
  • KTaglib_ID3v2_Tag::getFrameList — Devuelve un array de frames ID3v2, asociados con la etiqueta ID3v2
KTaglib_Tag::isEmpty
KTaglib_ID3v2_Tag::addFrame
KTaglib


Agregar un frame a la etiqueta ID3v2

KTaglib_ID3v2_Tag
KTaglib_ID3v2_Tag::getFrameList
KTaglib_ID3v2_Tag
PHP Manual

KTaglib_ID3v2_Tag::addFrame

(0.0.1)

KTaglib_ID3v2_Tag::addFrame — Agregar un frame a la etiqueta ID3v2

Descripción

public bool KTaglib_ID3v2_Tag::addFrame ( KTaglib_ID3v2_Frame $frame )

Agrega un frame a la etiqueta ID3v2. El frame debe ser un objeto KTaglib_ID3v2_Frame válido. Para guardar la etiqueta, es necesario invocar a la función guardar.

Valores devueltos

Devuelve true en caso de éxito, de lo contrario false.

KTaglib_ID3v2_Tag
KTaglib_ID3v2_Tag::getFrameList
KTaglib_ID3v2_Tag


Devuelve un array de frames ID3v2, asociados con la etiqueta ID3v2

KTaglib_ID3v2_Tag::addFrame
KTaglib_ID3v2_Frame
KTaglib_ID3v2_Tag
PHP Manual

KTaglib_ID3v2_Tag::getFrameList

(0.0.1)

KTaglib_ID3v2_Tag::getFrameList — Devuelve un array de frames ID3v2, asociados con la etiqueta ID3v2

Descripción

public array KTaglib_ID3v2_Tag::getFrameList ( void )

Devuelve un array de frames ID3v2, asociados con la etiqueta ID3v2.

Valores devueltos

Devuelve un array de objetos KTaglib_ID3v2_Frame

KTaglib_ID3v2_Tag::addFrame
KTaglib_ID3v2_Frame
KTaglib_ID3v2_Tag


La clase KTaglib_ID3v2_Frame

(0.0.1)

Introducción

La clase base para tramas ID3v2. Las etiquetas ID3v2 son separadas en varias tramas especializadas. Algunas tramas pueden estar presente múltiples veces.

Sinopsis de clase

extends KTaglib_Tag {
/* Métodos */
public int getSize ( void )
public string __toString ( void )
/* Métodos heredados */
public string KTaglib_Tag::getAlbum ( void )
public string KTaglib_Tag::getArtist ( void )
public string KTaglib_Tag::getComment ( void )
public string KTaglib_Tag::getGenre ( void )
public string KTaglib_Tag::getTitle ( void )
public int KTaglib_Tag::getTrack ( void )
public int KTaglib_Tag::getYear ( void )
public bool KTaglib_Tag::isEmpty ( void )
}

Tabla de contenidos

  • KTaglib_ID3v2_Frame::getSize — Devuelve el tamaño de el frame en bytes
  • KTaglib_ID3v2_Frame::__toString — Devuelve un string de representación de el frame
KTaglib_ID3v2_Tag::getFrameList
KTaglib_ID3v2_Frame::getSize
KTaglib


Devuelve el tamaño de el frame en bytes

KTaglib_ID3v2_Frame
KTaglib_ID3v2_Frame::__toString
KTaglib_ID3v2_Frame
PHP Manual

KTaglib_ID3v2_Frame::getSize

(0.0.1)

KTaglib_ID3v2_Frame::getSize — Devuelve el tamaño de el frame en bytes

Descripción

public int KTaglib_ID3v2_Frame::getSize ( void )

Devuelve el tamaño de el frame en bytes. Por favor, referirse a id3.org para ver qué son los frames ID3v2 y cómo están definidos.

Valores devueltos

Devuelve el tamaño de el frame en bytes

KTaglib_ID3v2_Frame
KTaglib_ID3v2_Frame::__toString
KTaglib_ID3v2_Frame


Devuelve un string de representación de el frame

KTaglib_ID3v2_Frame::getSize
KTaglib_ID3v2_AttachedPictureFrame
KTaglib_ID3v2_Frame
PHP Manual

KTaglib_ID3v2_Frame::__toString

(0.0.1)

KTaglib_ID3v2_Frame::__toString — Devuelve un string de representación de el frame

Descripción

public string KTaglib_ID3v2_Frame::__toString ( void )

Devuelve un string de representación de el frame. Esto podría ser solamente el id del frame, pero podría contener más información. Por favor vea la documentación de ktaglib para más información

Valores devueltos

Devuelve un string de representación de el frame.

KTaglib_ID3v2_Frame::getSize
KTaglib_ID3v2_AttachedPictureFrame
KTaglib_ID3v2_Frame


La clase KTaglib_ID3v2_AttachedPictureFrame

(0.0.1)

Introducción

Representa una trama ID3v2 que puede contener una imagen.

Sinopsis de Clase

extends KTaglib_ID3v2_Frame {
/* Métodos */
public string getDescription ( void )
public string getMimeType ( void )
public int getType ( void )
public bool savePicture ( string $filename )
public string getMimeType ( string $type )
public void setPicture ( string $filename )
public void setType ( int $type )
/* Métodos heredados */
public int KTaglib_ID3v2_Frame::getSize ( void )
public string KTaglib_ID3v2_Frame::__toString ( void )
public string KTaglib_Tag::getAlbum ( void )
public string KTaglib_Tag::getArtist ( void )
public string KTaglib_Tag::getComment ( void )
public string KTaglib_Tag::getGenre ( void )
public string KTaglib_Tag::getTitle ( void )
public int KTaglib_Tag::getTrack ( void )
public int KTaglib_Tag::getYear ( void )
public bool KTaglib_Tag::isEmpty ( void )
}

Tabla de contenidos

  • KTaglib_ID3v2_AttachedPictureFrame::getDescription — Devuelve una descripción de la imagen en un marco de fotos
  • KTaglib_ID3v2_AttachedPictureFrame::getMimeType — Devuelve el tipo mime de la imagen
  • KTaglib_ID3v2_AttachedPictureFrame::getType — Devuelve el tipo de la imagen
  • KTaglib_ID3v2_AttachedPictureFrame::savePicture — Guarda la imagen en un archivo
  • KTaglib_ID3v2_AttachedPictureFrame::setMimeType — Establece el tipo mime de la imagen
  • KTaglib_ID3v2_AttachedPictureFrame::setPicture — Establece el marco de la imagen a la imagen dada
  • KTaglib_ID3v2_AttachedPictureFrame::setType — Establecer el tipo de la imagen
KTaglib_ID3v2_Frame::__toString
KTaglib_ID3v2_AttachedPictureFrame::getDescription
KTaglib


Devuelve una descripción de la imagen en un marco de fotos

KTaglib_ID3v2_AttachedPictureFrame
KTaglib_ID3v2_AttachedPictureFrame::getMimeType
KTaglib_ID3v2_AttachedPictureFrame
PHP Manual

KTaglib_ID3v2_AttachedPictureFrame::getDescription

(0.0.1)

KTaglib_ID3v2_AttachedPictureFrame::getDescription — Devuelve una descripción de la imagen en un marco de fotos

Descripción

public string KTaglib_ID3v2_AttachedPictureFrame::getDescription ( void )

Devuelve la descripción que se acompaña de un marco de fotos en un marco de ID3v2.x.

Valores devueltos

Devuelve una descripción de la imagen en un marco de fotos

KTaglib_ID3v2_AttachedPictureFrame
KTaglib_ID3v2_AttachedPictureFrame::getMimeType
KTaglib_ID3v2_AttachedPictureFrame


Devuelve el tipo mime de la imagen

KTaglib_ID3v2_AttachedPictureFrame::getDescription
KTaglib_ID3v2_AttachedPictureFrame::getType
KTaglib_ID3v2_AttachedPictureFrame
PHP Manual

KTaglib_ID3v2_AttachedPictureFrame::getMimeType

(0.2.0)

KTaglib_ID3v2_AttachedPictureFrame::getMimeType — Devuelve el tipo mime de la imagen

Descripción

public string KTaglib_ID3v2_AttachedPictureFrame::getMimeType ( void )

Devuelve el tipo mime de la imagen representada por el marco de la imagen adjunta.

Tenga en cuenta que este método puede devolver diferentes tipos. Mientras ID3v2.2 tiene un tipo mime que no empiece con "image/", ID3v2.3 y v2.4 usualmente comienzan con "image/". Por lo tanto, el método puede devolver para los marcos "image/png" para IDv2.3 y "PNG" para el marco ID3v2.2.

Tenga en cuenta que incluso el marco es una imagen adjunta, el tipo mime no esté configurado y por lo tanto puede devolver una cadena vacía.

Valores devueltos

Devuelve el tipo mime de la imagen representada por el marco de la imagen adjunta.

KTaglib_ID3v2_AttachedPictureFrame::getDescription
KTaglib_ID3v2_AttachedPictureFrame::getType
KTaglib_ID3v2_AttachedPictureFrame


Devuelve el tipo de la imagen

KTaglib_ID3v2_AttachedPictureFrame::getMimeType
KTaglib_ID3v2_AttachedPictureFrame::savePicture
KTaglib_ID3v2_AttachedPictureFrame
PHP Manual

KTaglib_ID3v2_AttachedPictureFrame::getType

(0.2.0)

KTaglib_ID3v2_AttachedPictureFrame::getType — Devuelve el tipo de la imagen

Descripción

public int KTaglib_ID3v2_AttachedPictureFrame::getType ( void )

Devuelve el tipo de la imagen.

La especificación ID3v2 permite una AttachedPictureFrame para establecer el tipo de una imagen. Esto puede ser por ejemplo, FrontCover or FileIcon. Por favor refiérase a la descripción de la clase KTaglib_ID3v2_AttachedPictureFrame para obtener una lista de tipos disponibles.

Valores devueltos

Devuelve la representación de entero de este tipo.

KTaglib_ID3v2_AttachedPictureFrame::getMimeType
KTaglib_ID3v2_AttachedPictureFrame::savePicture
KTaglib_ID3v2_AttachedPictureFrame


Guarda la imagen en un archivo

KTaglib_ID3v2_AttachedPictureFrame::getType
KTaglib_ID3v2_AttachedPictureFrame::setMimeType
KTaglib_ID3v2_AttachedPictureFrame
PHP Manual

KTaglib_ID3v2_AttachedPictureFrame::savePicture

(0.0.1)

KTaglib_ID3v2_AttachedPictureFrame::savePicture — Guarda la imagen en un archivo

Descripción

public bool KTaglib_ID3v2_AttachedPictureFrame::savePicture ( string $filename )

Guarda la imagen adjunta al archivo especificado.

Valores devueltos

Devuelve true si tiene éxito, false en caso contrario

KTaglib_ID3v2_AttachedPictureFrame::getType
KTaglib_ID3v2_AttachedPictureFrame::setMimeType
KTaglib_ID3v2_AttachedPictureFrame


Establece el tipo mime de la imagen

KTaglib_ID3v2_AttachedPictureFrame::savePicture
KTaglib_ID3v2_AttachedPictureFrame::setPicture
KTaglib_ID3v2_AttachedPictureFrame
PHP Manual

KTaglib_ID3v2_AttachedPictureFrame::setMimeType

(0.2.0)

KTaglib_ID3v2_AttachedPictureFrame::setMimeType — Establece el tipo mime de la imagen

Descripción

public string KTaglib_ID3v2_AttachedPictureFrame::getMimeType ( string $type )

Establece el tipo mime de la imagen. Esto debe en la mayoría de los casos es "image/png" o "image/jpeg".

KTaglib_ID3v2_AttachedPictureFrame::savePicture
KTaglib_ID3v2_AttachedPictureFrame::setPicture
KTaglib_ID3v2_AttachedPictureFrame


Establece el marco de la imagen a la imagen dada

KTaglib_ID3v2_AttachedPictureFrame::setMimeType
KTaglib_ID3v2_AttachedPictureFrame::setType
KTaglib_ID3v2_AttachedPictureFrame
PHP Manual

KTaglib_ID3v2_AttachedPictureFrame::setPicture

(0.0.1)

KTaglib_ID3v2_AttachedPictureFrame::setPicture — Establece el marco de la imagen a la imagen dada

Descripción

public void KTaglib_ID3v2_AttachedPictureFrame::setPicture ( string $filename )

Establece la imagen para poner la imagen. La imagen se carga desde el fichero especificado. Tenga en cuenta que la imagen no se guarda a menos que llame el save method de el fichero del objeto correspondiente.

Valores devueltos

Devuelve true si tiene éxito, false en caso contrario

KTaglib_ID3v2_AttachedPictureFrame::setMimeType
KTaglib_ID3v2_AttachedPictureFrame::setType
KTaglib_ID3v2_AttachedPictureFrame


Establecer el tipo de la imagen

KTaglib_ID3v2_AttachedPictureFrame::setPicture
oggvorbis
KTaglib_ID3v2_AttachedPictureFrame
PHP Manual

KTaglib_ID3v2_AttachedPictureFrame::setType

(0.2.0)

KTaglib_ID3v2_AttachedPictureFrame::setType — Establecer el tipo de la imagen

Descripción

public void KTaglib_ID3v2_AttachedPictureFrame::setType ( int $type )

Establece el tipo de la imagen. Esto puede ser por ejemplo, FrontCover io FileIcon. Véase la descripción de la clase KTaglib_ID3v2_AttachedPictureFrame para una lista de tipos disponibles y sus asignaciones de constantes.

KTaglib_ID3v2_AttachedPictureFrame::setPicture
oggvorbis
KTaglib_ID3v2_AttachedPictureFrame


OGG/Vorbis

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Opciones de contexto
  • Ejemplos
    • Ejemplo de uso de ogg:// wrapper.
KTaglib_ID3v2_AttachedPictureFrame::setType
Introducción
Manipulación de formatos de audio


Introducción

El formato de fichero OGG/Vorbis, tal como está definido en » http://www.vorbis.com/, es un esquema para comprimir flujos de audio mediante múltiples factores con un mínimo de pérdida de calidad. Esta extensión añade el soporte Ogg Vorbis a las Envolturas URL de PHP. Cuando se utiliza en modo lectura, la información OGG/Vorbis comprimida se expande a audio PCM sin tratar en uno de los formatos de codificación PCM listados después.

oggvorbis
Instalación/Configuración
oggvorbis


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
oggvorbis


Requerimientos

Esta extensión requiere PHP >= 4.3.0, » libogg >= 1.0, y » libvorbis >= 1.0.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/oggvorbis

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

OGG/Vorbis soporta codificaciones PCM en los siguientes formatos
Constante | Definición
OGGVORBIS_PCM_U8 | PCM sin signo de 8 bit.
OGGVORBIS_PCM_S8 | PCM con signo de 8 bit.
OGGVORBIS_PCM_U16_LE | PCM sin signo de 16 bit. Orden de byte Little Endian.
OGGVORBIS_PCM_U16_BE | PCM sin signo de 16 bit. Orden de byte Big Endian.
OGGVORBIS_PCM_S16_LE | PCM con signo de 16 bit. Orden de byte Little Endian.
OGGVORBIS_PCM_S16_BE | PCM con signo de 16 bit. Orden de byte Big Endian.
Tipos de recursos
Opciones de contexto
oggvorbis


Opciones de contexto

OGG/Vorbis tuning options
Opción | Definición | Relevancia | Predeterminado
pcm_mode | Codificación PCM de byte usada. Véase las constantes. | Lectura / Escritura | OGGVORBIS_PCM_S16_LE
rate | Velocidad de muestreo PCM. Medida en Hz. | Sólo escritura | 44100
bitrate | Codificación de Velocidad de Tranferencia Media / Codificación de Velocidad de Tranferencia Variable de Vorbis. Medido en bps (ABR) o nivel de Calidad (VBR: 0.0 a 1.0). 128000 ABR es aproximadamente igual a 0.4 VBR. | Sólo escritura | 128000
channels | Número de canales PCM. 1 == Mono, 2 == Estéreo. | Sólo escritura | 2
serialno | Número de Serie del flujo dentro de fichero. Debe ser único dentro del fichero. Debido a la posibilidades de seleccionar un número de serie duplicado dentro de un fichero encadenado, se han de realizar esfuerzon para asignar manualmente números únicos al codificar. | Sólo escritura | Aleatorio
comments | Array asociativo de comentarios de ficheros. Será traducido a strtoupper($nombre) . "=$valor". Nota: Esta opción de contexto no está disponible en oggvorbis-0.1 | Sólo escritura | array('ENCODER' => 'PHP/OggVorbis, http://pear.php.net/oggvorbis')
Constantes predefinidas
Ejemplos
oggvorbis


Ejemplos

Tabla de contenidos

  • Ejemplo de uso de ogg:// wrapper.
Opciones de contexto
Ejemplo de uso de ogg:// wrapper.
oggvorbis


Ejemplo de uso de ogg:// wrapper.

Ejemplo #1 Leer un fichero OGG/Vorbis

<?php
dl("oggvorbis.so");

/* Por omisión, ogg:// decodificará a 16 bit sin signo Little Endian */
$fp = fopen('ogg://myaudio.ogg', 'r');

/* Recopilar información sobre el fichero. */
$metadatos = stream_get_meta_data($fp);

/* Inspeccionar la primera canción (normalmente una única canción,
   pero los ficheros OGG/Vorbis pueden ser encadenados) */
$datos_canción = $metadatos['wrapper_data'][0];

echo "Fichero OGG/Vorbis codificado por: {$datos_canción['vendor']}\n.";
echo "  {$datos_canción['channels']} canales de {$datos_canción['rate']}Hz muestreo codificado a {$datos_canción['bitrate_nominal']}bps.\n";
foreach($datos_canción['comments'] as $comentario) {
    echo "  $comentario\n";
}

while ($audio_data = fread($fp, 8192)) {
  /* Hacer algo con el audio PCM que estamos extrayendo desde el OGG.
     Copiarlo a /dev/dsp es un buen destino en sistemas linux,
     recuerde configurar primero su dispositivo al modo de muestreo . */
}

fclose($fp);

?>

Ejemplo #2 Codificar un fichero de audio a OGG/Vorbis

<?php
dl('oggvorbis.so');

$contexto = stream_context_create(array('ogg'=>array(
             'pcm_mode' => OGGVORBIS_PCM_S8,  /* Audio de 8 bit con signo */
             'rate' => 44100,                 /* Calida CD de 44kHz */
             'bitrate' => 0.5,                /* VBR calidad media*/
             'channels' => 1,                 /* Mono */
             'serialno' => 12345)));          /* ünoco dentro de nuestro flujo */

/* Abrir un fichero para añadir información. Esto "encadenará" un segundo flujo OGG al final del primero. */
$ogg = fopen('ogg://mysong.ogg', 'a', false, $contexto);

$pcm = fopen('mysample.pcm', 'r');

/* Comprimir el audio PCM sin tratar de mysample.pcm a mysong.ogg */
stream_copy_to_stream($pcm, $ogg);

fclose($pcm);
fclose($ogg);
?>

Ejemplos
OpenAL
Ejemplos


Vinculaciones de audio del OpenAL

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de OpenAL
    • openal_buffer_create — Genera un buffer OpenAL
    • openal_buffer_data — Carga un buffer con datos
    • openal_buffer_destroy — Destruye un buffer OpenAL
    • openal_buffer_get — Recupera una propiedad del buffer OpenAL
    • openal_buffer_loadwav — Carga un archivo .wav dentro de un buffer
    • openal_context_create — Crea un contexto de procesamiento de audio
    • openal_context_current — Crea el corriente contexto especificado
    • openal_context_destroy — Destruye un contexto
    • openal_context_process — Procesa un contexto especificado
    • openal_context_suspend — Suspende el contexto especificado
    • openal_device_close — Cierra un dispositivo OpenAL
    • openal_device_open — Inicia la capa de audio del OpenAL
    • openal_listener_get — Devuelve una propiedad de oyente
    • openal_listener_set — Establece una propiedad de oyente
    • openal_source_create — Genera una fuente de recursos
    • openal_source_destroy — Destruye una fuente de recursos
    • openal_source_get — Recupera una propiedad de una fuente del OpenAL
    • openal_source_pause — Pausa la fuente
    • openal_source_play — Empieza la reproducción de la fuente
    • openal_source_rewind — Rebobina la fuente
    • openal_source_set — Establece la propiedad de la fuente
    • openal_source_stop — Detiene la reproducción de la fuente
    • openal_stream — Empieza la salida de una fuente
Ejemplo de uso de ogg:// wrapper.
Introducción
Manipulación de formatos de audio


Introducción

Vinculaciones de audio independientes de la plataforma. Requiere la » biblioteca OpenAL.

OpenAL
Instalación/Configuración
OpenAL


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
OpenAL


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/openal.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

Esta extensión define cuatro tipos de recursos:
Open AL(Device) - Devuelto por  openal_device_open(),
Open AL(Context) - Devuelto por  openal_context_create(),
Open AL(Buffer) - Devuelto por  openal_buffer_create(),
y Open AL(Source) - Devuelto por  openal_source_create().

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

ALC_FREQUENCY (integer)
Atributo de contexto
ALC_REFRESH (integer)
Atributo de contexto
ALC_SYNC (integer)
Atributo de contexto
AL_FREQUENCY (integer)
Establecer el buffer
AL_BITS (integer)
Establecer el buffer
AL_CHANNELS (integer)
Establecer el buffer
AL_SIZE (integer)
Establecer el buffer
AL_BUFFER (integer)
Establecer Fuente/Oyente (Entero)
AL_SOURCE_RELATIVE (integer)
Establecer Fuente/Oyente (Entero)
AL_SOURCE_STATE (integer)
Establecer Fuente/Oyente (Entero)
AL_PITCH (integer)
Establecer Fuente/Oyente (Flotante)
AL_GAIN (integer)
Establecer Fuente/Oyente (Flotante)
AL_MIN_GAIN (integer)
Establecer Fuente/Oyente (Flotante)
AL_MAX_GAIN (integer)
Establecer Fuente/Oyente (Flotante)
AL_MAX_DISTANCE (integer)
Establecer Fuente/Oyente (Flotante)
AL_ROLLOFF_FACTOR (integer)
Establecer Fuente/Oyente (Flotante)
AL_CONE_OUTER_GAIN (integer)
Establecer Fuente/Oyente (Flotante)
AL_CONE_INNER_ANGLE (integer)
Establecer Fuente/Oyente (Flotante)
AL_CONE_OUTER_ANGLE (integer)
Establecer Fuente/Oyente (Flotante)
AL_REFERENCE_DISTANCE (integer)
Establecer Fuente/Oyente (Flotante)
AL_POSITION (integer)
Establecer Fuente/Oyente (Vector Flotante)
AL_VELOCITY (integer)
Establecer Fuente/Oyente (Vector Flotante)
AL_DIRECTION (integer)
Establecer Fuente/Oyente (Vector Flotante)
AL_ORIENTATION (integer)
Establecer Fuente/Oyente (Vector Flotante)
AL_FORMAT_MONO8 (integer)
Formato PCM
AL_FORMAT_MONO16 (integer)
Formato PCM
AL_FORMAT_STEREO8 (integer)
Formato PCM
AL_FORMAT_STEREO16 (integer)
Formato PCM
AL_INITIAL (integer)
Fuente de Estado
AL_PLAYING (integer)
Fuente de Estado
AL_PAUSED (integer)
Fuente de Estado
AL_STOPPED (integer)
Fuente de Estado
AL_LOOPING (integer)
Fuente de Estado
AL_TRUE (integer)
Valor Booleano reconocido por OpenAL
AL_FALSE (integer)
Valor Booleano reconocido por OpenAL
Tipos de recursos
Funciones de OpenAL
OpenAL


Funciones de OpenAL

Tabla de contenidos

  • openal_buffer_create — Genera un buffer OpenAL
  • openal_buffer_data — Carga un buffer con datos
  • openal_buffer_destroy — Destruye un buffer OpenAL
  • openal_buffer_get — Recupera una propiedad del buffer OpenAL
  • openal_buffer_loadwav — Carga un archivo .wav dentro de un buffer
  • openal_context_create — Crea un contexto de procesamiento de audio
  • openal_context_current — Crea el corriente contexto especificado
  • openal_context_destroy — Destruye un contexto
  • openal_context_process — Procesa un contexto especificado
  • openal_context_suspend — Suspende el contexto especificado
  • openal_device_close — Cierra un dispositivo OpenAL
  • openal_device_open — Inicia la capa de audio del OpenAL
  • openal_listener_get — Devuelve una propiedad de oyente
  • openal_listener_set — Establece una propiedad de oyente
  • openal_source_create — Genera una fuente de recursos
  • openal_source_destroy — Destruye una fuente de recursos
  • openal_source_get — Recupera una propiedad de una fuente del OpenAL
  • openal_source_pause — Pausa la fuente
  • openal_source_play — Empieza la reproducción de la fuente
  • openal_source_rewind — Rebobina la fuente
  • openal_source_set — Establece la propiedad de la fuente
  • openal_source_stop — Detiene la reproducción de la fuente
  • openal_stream — Empieza la salida de una fuente
Constantes predefinidas
openal_buffer_create
OpenAL


Genera un buffer OpenAL

Funciones de OpenAL
openal_buffer_data
Funciones de OpenAL
PHP Manual

openal_buffer_create

(PECL openal >= 0.1.0)

openal_buffer_create — Genera un buffer OpenAL

Descripción

resource openal_buffer_create ( void )

Valores devueltos

Devuelve un recurso Open AL(Buffer) en éxito o FALSE en fallo.

Ver también

  • openal_buffer_loadwav() - Carga un archivo .wav dentro de un buffer
  • openal_buffer_data() - Carga un buffer con datos

Funciones de OpenAL
openal_buffer_data
Funciones de OpenAL


Carga un buffer con datos

openal_buffer_create
openal_buffer_destroy
Funciones de OpenAL
PHP Manual

openal_buffer_data

(PECL openal >= 0.1.0)

openal_buffer_data — Carga un buffer con datos

Descripción

bool openal_buffer_data ( resource $buffer , int $format , string $data , int $freq )

Parámetros

buffer

Un recurso Open AL(Buffer) (previamente creado por openal_buffer_create()).

format

Formato de data, uno de: AL_FORMAT_MONO8, AL_FORMAT_MONO16, AL_FORMAT_STEREO8 y AL_FORMAT_STEREO16

data

Bloque de datos de audio binario en el format y el freq especificado.

freq

Frecuencia de data dados en Hz.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • openal_buffer_loadwav() - Carga un archivo .wav dentro de un buffer
  • openal_stream() - Empieza la salida de una fuente

openal_buffer_create
openal_buffer_destroy
Funciones de OpenAL


Destruye un buffer OpenAL

openal_buffer_data
openal_buffer_get
Funciones de OpenAL
PHP Manual

openal_buffer_destroy

(PECL openal >= 0.1.0)

openal_buffer_destroy — Destruye un buffer OpenAL

Descripción

bool openal_buffer_destroy ( resource $buffer )

Parámetros

buffer

Un recurso Open AL(Buffer) (previamente creado por openal_buffer_create()).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • openal_buffer_create() - Genera un buffer OpenAL

openal_buffer_data
openal_buffer_get
Funciones de OpenAL


Recupera una propiedad del buffer OpenAL

openal_buffer_destroy
openal_buffer_loadwav
Funciones de OpenAL
PHP Manual

openal_buffer_get

(PECL openal >= 0.1.0)

openal_buffer_get — Recupera una propiedad del buffer OpenAL

Descripción

int openal_buffer_get ( resource $buffer , int $property )

Parámetros

buffer

Un recurso Open AL(Buffer) (previamente creado por openal_buffer_create()).

property

Propiedad especifica, una de: AL_FREQUENCY, AL_BITS, AL_CHANNELS y AL_SIZE.

Valores devueltos

Devuelve un valor entero apropiada a la property requerida o FALSE en caso de error.

Ver también

  • openal_buffer_create() - Genera un buffer OpenAL

openal_buffer_destroy
openal_buffer_loadwav
Funciones de OpenAL


Carga un archivo .wav dentro de un buffer

openal_buffer_get
openal_context_create
Funciones de OpenAL
PHP Manual

openal_buffer_loadwav

(PECL openal >= 0.1.0)

openal_buffer_loadwav — Carga un archivo .wav dentro de un buffer

Descripción

bool openal_buffer_loadwav ( resource $buffer , string $wavfile )

Parámetros

buffer

Un recurso Open AL(Buffer) (previamente creado por openal_buffer_create()).

wavfile

Ruta al archivo .wav en el sistema de archivo local.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • openal_buffer_data() - Carga un buffer con datos
  • openal_stream() - Empieza la salida de una fuente

openal_buffer_get
openal_context_create
Funciones de OpenAL


Crea un contexto de procesamiento de audio

openal_buffer_loadwav
openal_context_current
Funciones de OpenAL
PHP Manual

openal_context_create

(PECL openal >= 0.1.0)

openal_context_create — Crea un contexto de procesamiento de audio

Descripción

resource openal_context_create ( resource $device )

Parámetros

device

Un recurso Open AL(Device) (previamente creado por openal_device_open()).

Valores devueltos

Devuelve un recurso Open AL(Context) en éxito o FALSE en fallo.

Ver también

  • openal_device_open() - Inicia la capa de audio del OpenAL
  • openal_context_destroy() - Destruye un contexto

openal_buffer_loadwav
openal_context_current
Funciones de OpenAL


Crea el corriente contexto especificado

openal_context_create
openal_context_destroy
Funciones de OpenAL
PHP Manual

openal_context_current

(PECL openal >= 0.1.0)

openal_context_current — Crea el corriente contexto especificado

Descripción

bool openal_context_current ( resource $context )

Parámetros

context

Un recurso Open AL(Context) (previamente creado por openal_context_create()).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • openal_context_create() - Crea un contexto de procesamiento de audio

openal_context_create
openal_context_destroy
Funciones de OpenAL


Destruye un contexto

openal_context_current
openal_context_process
Funciones de OpenAL
PHP Manual

openal_context_destroy

(PECL openal >= 0.1.0)

openal_context_destroy — Destruye un contexto

Descripción

bool openal_context_destroy ( resource $context )

Parámetros

context

Un recurso Open AL(Context) (previamente creado por openal_context_create()).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • openal_context_create() - Crea un contexto de procesamiento de audio

openal_context_current
openal_context_process
Funciones de OpenAL


Procesa un contexto especificado

openal_context_destroy
openal_context_suspend
Funciones de OpenAL
PHP Manual

openal_context_process

(PECL openal >= 0.1.0)

openal_context_process — Procesa un contexto especificado

Descripción

bool openal_context_process ( resource $context )

Parámetros

context

Un recurso Open AL(Context) (previamente creado por openal_context_create()).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • openal_context_create() - Crea un contexto de procesamiento de audio
  • openal_context_current() - Crea el corriente contexto especificado
  • openal_context_suspend() - Suspende el contexto especificado

openal_context_destroy
openal_context_suspend
Funciones de OpenAL


Suspende el contexto especificado

openal_context_process
openal_device_close
Funciones de OpenAL
PHP Manual

openal_context_suspend

(PECL openal >= 0.1.0)

openal_context_suspend — Suspende el contexto especificado

Descripción

bool openal_context_suspend ( resource $context )

Parámetros

context

Un recurso Open AL(Context) (previamente creado por openal_context_create()).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • openal_context_create() - Crea un contexto de procesamiento de audio
  • openal_context_current() - Crea el corriente contexto especificado
  • openal_context_process() - Procesa un contexto especificado

openal_context_process
openal_device_close
Funciones de OpenAL


Cierra un dispositivo OpenAL

openal_context_suspend
openal_device_open
Funciones de OpenAL
PHP Manual

openal_device_close

(PECL openal >= 0.1.0)

openal_device_close — Cierra un dispositivo OpenAL

Descripción

bool openal_device_close ( resource $device )

Parámetros

device

Un recurso Open AL(Device) (previamente creado por openal_device_open()) para ser cerrado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • openal_device_open() - Inicia la capa de audio del OpenAL

openal_context_suspend
openal_device_open
Funciones de OpenAL


Inicia la capa de audio del OpenAL

openal_device_close
openal_listener_get
Funciones de OpenAL
PHP Manual

openal_device_open

(PECL openal >= 0.1.0)

openal_device_open — Inicia la capa de audio del OpenAL

Descripción

resource openal_device_open ([ string $device_desc ] )

Parámetros

device_desc

Abre un dispositivo de audio especiado opcionalmente por device_desc. Si device_desc no está especificado el primer dispositivo de audio disponible será usado.

Valores devueltos

Devuelve un recurso Open AL(Device) en éxito o FALSE en fallo.

Ver también

  • openal_device_close() - Cierra un dispositivo OpenAL
  • openal_context_create() - Crea un contexto de procesamiento de audio

openal_device_close
openal_listener_get
Funciones de OpenAL


Devuelve una propiedad de oyente

openal_device_open
openal_listener_set
Funciones de OpenAL
PHP Manual

openal_listener_get

(PECL openal >= 0.1.0)

openal_listener_get — Devuelve una propiedad de oyente

Descripción

mixed openal_listener_get ( int $property )

Parámetros

property

Propiedad para recuperar, una de:
AL_GAIN (float),
AL_POSITION (array(float,float,float)),
AL_VELOCITY (array(float,float,float)) y
AL_ORIENTATION (array(float,float,float)).

Valores devueltos

Devuelve un flotante o un arreglo de flotantes (como apropiado) o FALSE en caso de error.

Ver también

  • openal_listener_set() - Establece una propiedad de oyente

openal_device_open
openal_listener_set
Funciones de OpenAL


Establece una propiedad de oyente

openal_listener_get
openal_source_create
Funciones de OpenAL
PHP Manual

openal_listener_set

(PECL openal >= 0.1.0)

openal_listener_set — Establece una propiedad de oyente

Descripción

bool openal_listener_set ( int $property , mixed $setting )

Parámetros

property

Propiedad a establecer, una de:
AL_GAIN (float),
AL_POSITION (array(float,float,float)),
AL_VELOCITY (array(float,float,float)) y
AL_ORIENTATION (array(float,float,float)).

setting

Valor a establecer, ya sea flotante, o un arreglo de flotantes como apropiado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • openal_listener_get() - Devuelve una propiedad de oyente

openal_listener_get
openal_source_create
Funciones de OpenAL


Genera una fuente de recursos

openal_listener_set
openal_source_destroy
Funciones de OpenAL
PHP Manual

openal_source_create

(PECL openal >= 0.1.0)

openal_source_create — Genera una fuente de recursos

Descripción

resource openal_source_create ( void )

Valores devueltos

Devuelve un recurso Open AL(Source) en éxito o FALSE en fallo.

Ver también

  • openal_source_set() - Establece la propiedad de la fuente
  • openal_source_play() - Empieza la reproducción de la fuente
  • openal_source_destroy() - Destruye una fuente de recursos

openal_listener_set
openal_source_destroy
Funciones de OpenAL


Destruye una fuente de recursos

openal_source_create
openal_source_get
Funciones de OpenAL
PHP Manual

openal_source_destroy

(PECL openal >= 0.1.0)

openal_source_destroy — Destruye una fuente de recursos

Descripción

bool openal_source_destroy ( resource $source )

Parámetros

source

Un recurso Open AL(Source) (previamente creado por openal_source_create()).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • openal_source_create() - Genera una fuente de recursos

openal_source_create
openal_source_get
Funciones de OpenAL


Recupera una propiedad de una fuente del OpenAL

openal_source_destroy
openal_source_pause
Funciones de OpenAL
PHP Manual

openal_source_get

(PECL openal >= 0.1.0)

openal_source_get — Recupera una propiedad de una fuente del OpenAL

Descripción

mixed openal_source_get ( resource $source , int $property )

Parámetros

source

Un recurso Open AL(Source) (previamente creado por openal_source_create()).

property

Propiedad para obtener, una de: AL_SOURCE_RELATIVE (int), AL_SOURCE_STATE (int), AL_PITCH (float), AL_GAIN (float), AL_MIN_GAIN (float), AL_MAX_GAIN (float), AL_MAX_DISTANCE (float), AL_ROLLOFF_FACTOR (float), AL_CONE_OUTER_GAIN (float), AL_CONE_INNER_ANGLE (float), AL_CONE_OUTER_ANGLE (float), AL_REFERENCE_DISTANCE (float), AL_POSITION (array(float,float,float)), AL_VELOCITY (array(float,float,float)), AL_DIRECTION (array(float,float,float)).

Valores devueltos

Devuelve el tipo asociado con la propiedad que se recupera o FALSE en caso de error.

Ver también

  • openal_source_create() - Genera una fuente de recursos
  • openal_source_set() - Establece la propiedad de la fuente
  • openal_source_play() - Empieza la reproducción de la fuente

openal_source_destroy
openal_source_pause
Funciones de OpenAL


Pausa la fuente

openal_source_get
openal_source_play
Funciones de OpenAL
PHP Manual

openal_source_pause

(PECL openal >= 0.1.0)

openal_source_pause — Pausa la fuente

Descripción

bool openal_source_pause ( resource $source )

Parámetros

source

Un recurso Open AL(Source) (previamente creado por openal_source_create()).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • openal_source_stop() - Detiene la reproducción de la fuente
  • openal_source_play() - Empieza la reproducción de la fuente
  • openal_source_rewind() - Rebobina la fuente

openal_source_get
openal_source_play
Funciones de OpenAL


Empieza la reproducción de la fuente

openal_source_pause
openal_source_rewind
Funciones de OpenAL
PHP Manual

openal_source_play

(PECL openal >= 0.1.0)

openal_source_play — Empieza la reproducción de la fuente

Descripción

bool openal_source_play ( resource $source )

Parámetros

source

Un recurso Open AL(Source) (previamente creado por openal_source_create()).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • openal_source_stop() - Detiene la reproducción de la fuente
  • openal_source_pause() - Pausa la fuente
  • openal_source_rewind() - Rebobina la fuente

openal_source_pause
openal_source_rewind
Funciones de OpenAL


Rebobina la fuente

openal_source_play
openal_source_set
Funciones de OpenAL
PHP Manual

openal_source_rewind

(PECL openal >= 0.1.0)

openal_source_rewind — Rebobina la fuente

Descripción

bool openal_source_rewind ( resource $source )

Parámetros

source

Un recurso Open AL(Source) (previamente creado por openal_source_create()).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • openal_source_stop() - Detiene la reproducción de la fuente
  • openal_source_pause() - Pausa la fuente
  • openal_source_play() - Empieza la reproducción de la fuente

openal_source_play
openal_source_set
Funciones de OpenAL


Establece la propiedad de la fuente

openal_source_rewind
openal_source_stop
Funciones de OpenAL
PHP Manual

openal_source_set

(PECL openal >= 0.1.0)

openal_source_set — Establece la propiedad de la fuente

Descripción

bool openal_source_set ( resource $source , int $property , mixed $setting )

Parámetros

source

Un recurso Open AL(Source) (previamente creado por openal_source_create()).

property

Propiedad para establecer, una de: AL_BUFFER (OpenAL(Source)), AL_LOOPING (bool), AL_SOURCE_RELATIVE (int), AL_SOURCE_STATE (int), AL_PITCH (float), AL_GAIN (float), AL_MIN_GAIN (float), AL_MAX_GAIN (float), AL_MAX_DISTANCE (float), AL_ROLLOFF_FACTOR (float), AL_CONE_OUTER_GAIN (float), AL_CONE_INNER_ANGLE (float), AL_CONE_OUTER_ANGLE (float), AL_REFERENCE_DISTANCE (float), AL_POSITION (array(float,float,float)), AL_VELOCITY (array(float,float,float)), AL_DIRECTION (array(float,float,float)).

setting

El valor para asignar a la property especifica. Consulta la descripción de la property para una descripción de el valor(es) esperando.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • openal_source_create() - Genera una fuente de recursos
  • openal_source_get() - Recupera una propiedad de una fuente del OpenAL
  • openal_source_play() - Empieza la reproducción de la fuente

openal_source_rewind
openal_source_stop
Funciones de OpenAL


Detiene la reproducción de la fuente

openal_source_set
openal_stream
Funciones de OpenAL
PHP Manual

openal_source_stop

(PECL openal >= 0.1.0)

openal_source_stop — Detiene la reproducción de la fuente

Descripción

bool openal_source_stop ( resource $source )

Parámetros

source

Un recurso Open AL(Source) (previamente creado por openal_source_create()).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • openal_source_play() - Empieza la reproducción de la fuente
  • openal_source_pause() - Pausa la fuente
  • openal_source_rewind() - Rebobina la fuente

openal_source_set
openal_stream
Funciones de OpenAL


Empieza la salida de una fuente

openal_source_stop
Servicios de autenticación
Funciones de OpenAL
PHP Manual

openal_stream

(PECL openal >= 0.1.0)

openal_stream — Empieza la salida de una fuente

Descripción

resource openal_stream ( resource $source , int $format , int $rate )

Parámetros

source

Un recurso Open AL(Source) (previamente creado por openal_source_create()).

format

Formato de data, uno de: AL_FORMAT_MONO8, AL_FORMAT_MONO16, AL_FORMAT_STEREO8 y AL_FORMAT_STEREO16

rate

Frecuencias de datos para las salidas dadas en Hz.

Valores devueltos

Devuelve un recurso de salida en success o FALSE en caso de error.

Ver también

  • openal_source_create() - Genera una fuente de recursos
  • fwrite() - Escritura de un archivo en modo binario seguro

openal_source_stop
Servicios de autenticación
Funciones de OpenAL


Servicios de autenticación

  • KADM5 — Kerberos V
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • KADM5 Funciones
  • Radius
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones Radius
openal_stream
KADM5
Referencia de funciones


Kerberos V

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
    • Constants for Attribute Flags
    • Constants for Options
  • Ejemplos
    • El uso básico
  • KADM5 Funciones
    • kadm5_chpass_principal — Changes the principal's password
    • kadm5_create_principal — Creates a kerberos principal with the given parameters
    • kadm5_delete_principal — Deletes a kerberos principal
    • kadm5_destroy — Closes the connection to the admin server and releases all related resources
    • kadm5_flush — Flush all changes to the Kerberos database
    • kadm5_get_policies — Gets all policies from the Kerberos database
    • kadm5_get_principal — Gets the principal's entries from the Kerberos database
    • kadm5_get_principals — Gets all principals from the Kerberos database
    • kadm5_init_with_password — Opens a connection to the KADM5 library
    • kadm5_modify_principal — Modifies a kerberos principal with the given parameters
Servicios de autenticación
Introducción
Servicios de autenticación


Introducción

Estos paquetes le permite acceder a la administración en los servidores Kerberos V. Se puede crear, modificar y eliminar directores y politicas en Kerberos V.

Más información acerca de Kerberos se puede encontrar en » http://web.mit.edu/kerberos/www/.

La documentación de Kerberos y KADM5 se puede encontrar en » http://web.mit.edu/kerberos/www/krb5-1.2/krb5-1.2.8/doc/admin_toc.html.

KADM5
Instalación/Configuración
KADM5


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
KADM5


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/kadm5.

Nota:

Si se utiliza esta opción sin especificar la ruta de KADM5, PHP utiliza la libreria cliente built-in KADM5. Los usuarios que ejecutan otras aplicaciones que utilizan KADM5 (por ejemplo, ejecutar PHP 4 y PHP 5 como módulo concurrente apache, o auth kadm5) siempre se debe especificar la ruta de KADM5: --with-kadm5=/path/to/kadm5. Esto obligará a PHP a usar las librerias de cliente instaladas por KADM5, y evitar cualquier conflicto.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

Esta extensión define un manejador KADM5 devuelto por kadm5_init_with_password().

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Tabla de contenidos

  • Constants for Attribute Flags
  • Constants for Options

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Tipos de recursos
Constants for Attribute Flags
KADM5


Constants for Attribute Flags

The functions  kadm5_create_principal(),
 kadm5_modify_principal(), and
 kadm5_modify_principal() allow to specify
special attributes using a bitfield. The symbols are defined below:

Attributes for use by the KDC
constant
KRB5_KDB_DISALLOW_POSTDATED
KRB5_KDB_DISALLOW_FORWARDABLE
KRB5_KDB_DISALLOW_TGT_BASED
KRB5_KDB_DISALLOW_RENEWABLE
KRB5_KDB_DISALLOW_PROXIABLE
KRB5_KDB_DISALLOW_DUP_SKEY
KRB5_KDB_DISALLOW_ALL_TIX
KRB5_KDB_REQUIRES_PRE_AUTH
KRB5_KDB_REQUIRES_HW_AUTH
KRB5_KDB_REQUIRES_PWCHANGE
KRB5_KDB_DISALLOW_SVR
KRB5_KDB_PWCHANGE_SERVER
KRB5_KDB_SUPPORT_DESMD5
KRB5_KDB_NEW_PRINC

Constantes predefinidas
Constants for Options
Constantes predefinidas


Constants for Options

The functions  kadm5_create_principal(),
 kadm5_modify_principal(), and
 kadm5_get_principal() allow to specify or return
principal's options as an associative array. The keys for the associative
array are defined as string constants below:

Options for creating/modifying/retrieving principals
constant | funcdef | description
KADM5_PRINCIPAL | long | The expire time of the princial as a Kerberos timestamp.
KADM5_PRINC_EXPIRE_TIME | long | The expire time of the princial as a Kerberos timestamp.
KADM5_LAST_PW_CHANGE | long | The time this principal's password was last changed.
KADM5_PW_EXPIRATION | long | The expire time of the principal's current password, as a Kerberos timestamp.
KADM5_MAX_LIFE | long | The maximum lifetime of any Kerberos ticket issued to this principal.
KADM5_MAX_RLIFE | long | The maximum renewable lifetime of any Kerberos ticket issued to or for this principal.
KADM5_MOD_NAME | string | The name of the Kerberos principal that most recently modified this principal.
KADM5_MOD_TIME | long | The time this principal was last modified, as a Kerberos timestamp.
KADM5_KVNO | long | The version of the principal's current key.
KADM5_POLICY | string | The name of the policy controlling this principal.
KADM5_CLEARPOLICY | long | Standard procedure is to assign the 'default' policy to new principals. KADM5_CLEARPOLICY suppresses this behaviour.
KADM5_LAST_SUCCESS | long | The KDC time of the last successfull AS_REQ.
KADM5_LAST_FAILED | long | The KDC time of the last failed AS_REQ.
KADM5_FAIL_AUTH_COUNT | long | The number of consecutive failed AS_REQs.
KADM5_RANDKEY | long | Generates a random password for the principal. The parameter password will be ignored.
KADM5_ATTRIBUTES | long | A bitfield of attributes for use by the KDC.

Constants for Attribute Flags
Ejemplos
Constantes predefinidas


Ejemplos

Tabla de contenidos

  • El uso básico
Constants for Options
El uso básico
KADM5


El uso básico

Este sencillo ejemplo muestra cómo conectarse, consultar, imprimir directores resultantes y desconectarse de una base de datos KADM5.

<?php

  $handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

  print "<h1>get_principals</h1>\n";
  $principals = kadm5_get_principals($handle);
  for( $i=0; $i<count($principals); $i++)
      print "$principals[$i]<br>\n";

  print "<h1>get_policies</h1>\n";
  $policies = kadm5_get_policies($handle);
  for( $i=0; $i<count($policies); $i++)
      print "$policies[$i]<br>\n";

  print "<h1>get_principal burbach@GONICUS.LOCAL</h1>\n";

  $options = kadm5_get_principal($handle, "burbach@GONICUS.LOCAL" );
  $keys = array_keys($options);
  for( $i=0; $i<count($keys); $i++) {
    $value = $options[$keys[$i]];
    print "$keys[$i]: $value<br>\n";
  }

  $options = array(KADM5_PRINC_EXPIRE_TIME => 0);
  kadm5_modify_principal($handle, "burbach@GONICUS.LOCAL", $options);

  kadm5_destroy($handle);
?>

Ejemplos
KADM5 Funciones
Ejemplos


KADM5 Funciones

Tabla de contenidos

  • kadm5_chpass_principal — Changes the principal's password
  • kadm5_create_principal — Creates a kerberos principal with the given parameters
  • kadm5_delete_principal — Deletes a kerberos principal
  • kadm5_destroy — Closes the connection to the admin server and releases all related resources
  • kadm5_flush — Flush all changes to the Kerberos database
  • kadm5_get_policies — Gets all policies from the Kerberos database
  • kadm5_get_principal — Gets the principal's entries from the Kerberos database
  • kadm5_get_principals — Gets all principals from the Kerberos database
  • kadm5_init_with_password — Opens a connection to the KADM5 library
  • kadm5_modify_principal — Modifies a kerberos principal with the given parameters
El uso básico
kadm5_chpass_principal
KADM5


Changes the principal's password

KADM5 Funciones
kadm5_create_principal
KADM5 Funciones
PHP Manual

kadm5_chpass_principal

(PECL kadm5 >= 0.2.3)

kadm5_chpass_principal — Changes the principal's password

Descripción

bool kadm5_chpass_principal ( resource $handle , string $principal , string $password )

kadm5_chpass_principal() sets the new password password for the principal.

Parámetros

handle

A KADM5 handle.

principal

The principal.

password

The new password.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Example of changing principal's password

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

kadm5_chpass_principal($handle, "burbach@GONICUS.LOCAL", "newpassword");

kadm5_destroy($handle);
?>

KADM5 Funciones
kadm5_create_principal
KADM5 Funciones


Creates a kerberos principal with the given parameters

kadm5_chpass_principal
kadm5_delete_principal
KADM5 Funciones
PHP Manual

kadm5_create_principal

(PECL kadm5 >= 0.2.3)

kadm5_create_principal — Creates a kerberos principal with the given parameters

Descripción

bool kadm5_create_principal ( resource $handle , string $principal [, string $password [, array $options ]] )

Creates a principal with the given password.

Parámetros

handle

A KADM5 handle.

principal

The principal.

password

If password is omitted or is NULL, a random key will be generated.

options

It is possible to specify several optional parameters within the array options. Allowed are the following options: KADM5_PRINC_EXPIRE_TIME, KADM5_PW_EXPIRATION, KADM5_ATTRIBUTES, KADM5_MAX_LIFE, KADM5_KVNO, KADM5_POLICY, KADM5_CLEARPOLICY, KADM5_MAX_RLIFE.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Example of principal's creation

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

$attributes = KRB5_KDB_REQUIRES_PRE_AUTH | KRB5_KDB_DISALLOW_PROXIABLE;
$options = array(KADM5_PRINC_EXPIRE_TIME => 0,
                 KADM5_POLICY => "default",
                 KADM5_ATTRIBUTES => $attributes);

kadm5_create_principal($handle, "burbach@GONICUS.LOCAL", "password", $options);

kadm5_destroy($handle);
?>

Ver también

  • kadm5_modify_principal() - Modifies a kerberos principal with the given parameters
  • kadm5_delete_principal() - Deletes a kerberos principal

kadm5_chpass_principal
kadm5_delete_principal
KADM5 Funciones


Deletes a kerberos principal

kadm5_create_principal
kadm5_destroy
KADM5 Funciones
PHP Manual

kadm5_delete_principal

(PECL kadm5 >= 0.2.3)

kadm5_delete_principal — Deletes a kerberos principal

Descripción

bool kadm5_delete_principal ( resource $handle , string $principal )

Removes the principal from the Kerberos database.

Parámetros

handle

A KADM5 handle.

principal

The removed principal.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 kadm5_delete_principal() example

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

kadm5_delete_principal($handle, "burbach@GONICUS.LOCAL");

kadm5_destroy($handle);
?>

Ver también

  • kadm5_modify_principal() - Modifies a kerberos principal with the given parameters
  • kadm5_create_principal() - Creates a kerberos principal with the given parameters

kadm5_create_principal
kadm5_destroy
KADM5 Funciones


Closes the connection to the admin server and releases all related resources

kadm5_delete_principal
kadm5_flush
KADM5 Funciones
PHP Manual

kadm5_destroy

(PECL kadm5 >= 0.2.3)

kadm5_destroy — Closes the connection to the admin server and releases all related resources

Descripción

bool kadm5_destroy ( resource $handle )

Closes the connection to the admin server and releases all related resources.

Parámetros

handle

A KADM5 handle.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • kadm5_init_with_password() - Opens a connection to the KADM5 library

kadm5_delete_principal
kadm5_flush
KADM5 Funciones


Flush all changes to the Kerberos database

kadm5_destroy
kadm5_get_policies
KADM5 Funciones
PHP Manual

kadm5_flush

(PECL kadm5 >= 0.2.3)

kadm5_flush — Flush all changes to the Kerberos database

Descripción

bool kadm5_flush ( resource $handle )

Flush all changes to the Kerberos database, leaving the connection to the Kerberos admin server open.

Parámetros

handle

A KADM5 handle.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

kadm5_destroy
kadm5_get_policies
KADM5 Funciones


Gets all policies from the Kerberos database

kadm5_flush
kadm5_get_principal
KADM5 Funciones
PHP Manual

kadm5_get_policies

(PECL kadm5 >= 0.2.3)

kadm5_get_policies — Gets all policies from the Kerberos database

Descripción

array kadm5_get_policies ( resource $handle )

Gets an array containing the policies's names.

Parámetros

handle

A KADM5 handle.

Valores devueltos

Returns array of policies on success o FALSE en caso de error.

Ejemplos

Ejemplo #1 kadm5_get_policies() example

<?php
$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

print "<h1>get_policies</h1>\n";
foreach (kadm5_get_policies($handle) as $policy) {
    echo "$policy<br />\n";
}

kadm5_destroy($handle);
?>

kadm5_flush
kadm5_get_principal
KADM5 Funciones


Gets the principal's entries from the Kerberos database

kadm5_get_policies
kadm5_get_principals
KADM5 Funciones
PHP Manual

kadm5_get_principal

(PECL kadm5 >= 0.2.3)

kadm5_get_principal — Gets the principal's entries from the Kerberos database

Descripción

array kadm5_get_principal ( resource $handle , string $principal )

Gets the principal's entries from the Kerberos database.

Parámetros

handle

A KADM5 handle.

principal

The principal.

Valores devueltos

Returns array of options containing the following keys: KADM5_PRINCIPAL, KADM5_PRINC_EXPIRE_TIME, KADM5_PW_EXPIRATION, KADM5_ATTRIBUTES, KADM5_MAX_LIFE, KADM5_MOD_NAME, KADM5_MOD_TIME, KADM5_KVNO, KADM5_POLICY, KADM5_MAX_RLIFE, KADM5_LAST_SUCCESS, KADM5_LAST_FAILED, KADM5_FAIL_AUTH_COUNT on success o FALSE en caso de error.

Ejemplos

Ejemplo #1 kadm5_get_principal() example

<?php
$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

print "<h1>get_principal burbach@GONICUS.LOCAL</h1>\n";

$options = kadm5_get_principal($handle, "burbach@GONICUS.LOCAL" );

foreach ($options as $key => $value) {
    echo "$key: $value<br />\n";
}

kadm5_destroy($handle);
?>

Ver también

  • kadm5_get_principals() - Gets all principals from the Kerberos database

kadm5_get_policies
kadm5_get_principals
KADM5 Funciones


Gets all principals from the Kerberos database

kadm5_get_principal
kadm5_init_with_password
KADM5 Funciones
PHP Manual

kadm5_get_principals

(PECL kadm5 >= 0.2.3)

kadm5_get_principals — Gets all principals from the Kerberos database

Descripción

array kadm5_get_principals ( resource $handle )

kadm5_get_principals() returns an array containing the principals's names.

Parámetros

handle

A KADM5 handle.

Valores devueltos

Returns array of principals on success o FALSE en caso de error.

Ejemplos

Ejemplo #1 kadm5_get_principals() example

<?php
$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

print "<h1>get_principals</h1>\n";
foreach (kadm5_get_principals($handle) as $principal) {
    echo "$principal<br />\n";
}

kadm5_destroy($handle);
?>

Ver también

  • kadm5_get_principal() - Gets the principal's entries from the Kerberos database

kadm5_get_principal
kadm5_init_with_password
KADM5 Funciones


Opens a connection to the KADM5 library

kadm5_get_principals
kadm5_modify_principal
KADM5 Funciones
PHP Manual

kadm5_init_with_password

(PECL kadm5 >= 0.2.3)

kadm5_init_with_password — Opens a connection to the KADM5 library

Descripción

resource kadm5_init_with_password ( string $admin_server , string $realm , string $principal , string $password )

Opens a connection with the KADM5 library using the principal and the given password to obtain initial credentials from the admin_server.

Parámetros

admin_server

The server.

realm

Defines the authentication domain for the connection.

principal

The principal.

password

If password is omitted or is NULL, a random key will be generated.

Valores devueltos

Returns a KADM5 handle on success o FALSE en caso de error.

Ejemplos

Ejemplo #1 KADM5 initialization example

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

$attributes = KRB5_KDB_REQUIRES_PRE_AUTH | KRB5_KDB_DISALLOW_PROXIABLE;
$options = array(KADM5_PRINC_EXPIRE_TIME => 0,
                 KADM5_POLICY => "default",
                 KADM5_ATTRIBUTES => $attributes);

kadm5_create_principal($handle, "burbach@GONICUS.LOCAL", "password", $options);

kadm5_destroy($handle);
?>

Notas

Nota:

Connection should be closed after use with kadm5_destroy().

Ver también

  • kadm5_destroy() - Closes the connection to the admin server and releases all related resources

kadm5_get_principals
kadm5_modify_principal
KADM5 Funciones


Modifies a kerberos principal with the given parameters

kadm5_init_with_password
Radius
KADM5 Funciones
PHP Manual

kadm5_modify_principal

(PECL kadm5 >= 0.2.3)

kadm5_modify_principal — Modifies a kerberos principal with the given parameters

Descripción

bool kadm5_modify_principal ( resource $handle , string $principal , array $options )

Modifies a principal according to the given options.

Parámetros

handle

A KADM5 handle.

principal

The principal.

options

It is possible to specify several optional parameters within the array options. Allowed are the following options: KADM5_PRINC_EXPIRE_TIME, KADM5_PW_EXPIRATION, KADM5_ATTRIBUTES, KADM5_MAX_LIFE, KADM5_KVNO, KADM5_POLICY, KADM5_CLEARPOLICY, KADM5_MAX_RLIFE. KADM5_FAIL_AUTH_COUNT.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Example of modifying principal

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

$attributes = KRB5_KDB_REQUIRES_PRE_AUTH;
$options = array(KADM5_PRINC_EXPIRE_TIME => 3451234,
                 KADM5_POLICY => "gonicus",
                 KADM5_ATTRIBUTES => $attributes);

kadm5_modify_principal($handle, "burbach@GONICUS.LOCAL", $options);

kadm5_destroy($handle);
?>

Ver también

  • kadm5_create_principal() - Creates a kerberos principal with the given parameters
  • kadm5_delete_principal() - Deletes a kerberos principal

kadm5_init_with_password
Radius
KADM5 Funciones


Radius

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
    • RADIUS Options
    • RADIUS Packet Types
    • RADIUS Attribute Types
    • RADIUS Vendor Specific Attribute Types
  • Ejemplos
  • Funciones Radius
    • radius_acct_open — Crea un manejador Radius para el conteo
    • radius_add_server — Adds a server
    • radius_auth_open — Crea un identificador de Radius para la autenticación
    • radius_close — Frees all ressources
    • radius_config — Causes the library to read the given configuration file
    • radius_create_request — Create accounting or authentication request
    • radius_cvt_addr — Converts raw data to IP-Address
    • radius_cvt_int — Converts raw data to integer
    • radius_cvt_string — Converts raw data to string
    • radius_demangle_mppe_key — Derives mppe-keys from mangled data
    • radius_demangle — Demangles data
    • radius_get_attr — Extracts an attribute
    • radius_get_tagged_attr_data — Extracts the data from a tagged attribute
    • radius_get_tagged_attr_tag — Extracts the tag from a tagged attribute
    • radius_get_vendor_attr — Extracts a vendor specific attribute
    • radius_put_addr — Attaches an IP address attribute
    • radius_put_attr — Attaches a binary attribute
    • radius_put_int — Attaches an integer attribute
    • radius_put_string — Attaches a string attribute
    • radius_put_vendor_addr — Attaches a vendor specific IP address attribute
    • radius_put_vendor_attr — Attaches a vendor specific binary attribute
    • radius_put_vendor_int — Attaches a vendor specific integer attribute
    • radius_put_vendor_string — Attaches a vendor specific string attribute
    • radius_request_authenticator — Returns the request authenticator
    • radius_salt_encrypt_attr — Salt-encrypts a value
    • radius_send_request — Sends the request and waites for a reply
    • radius_server_secret — Returns the shared secret
    • radius_strerror — Devuelve un mensaje de error
kadm5_modify_principal
Introducción
Servicios de autenticación


Introducción

Este paquete se basa en los libradius de FreeBSD (Autenticación remota telefónica de servicio de usuario). Permite a los clientes realizar la autenticación y la contabilidad por medio de solicitudes de red a servidores remotos.

Esta extensión PECL añade soporte completo para la autenticación Radius (» RFC 2865) y contabilidad Radius (» RFC 2866). Este paquete está disponible para Unix (probado en FreeBSD y Linux) y para Windows.

Nota:

Una descripción exacta de libradius se pueden encontrar » aquí. Una descripción detallada del archivo de configuración se puede encontrar » aquí.

Radius
Instalación/Configuración
Radius


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Radius


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/radius.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Tabla de contenidos

  • RADIUS Options
  • RADIUS Packet Types
  • RADIUS Attribute Types
  • RADIUS Vendor Specific Attribute Types

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

RADIUS_MPPE_KEY_LEN (integer)
The maximum length of MPPE keys.
Tipos de recursos
RADIUS Options
Radius


RADIUS Options

Several RADIUS functions accept option flags as bitmasks. The constants representing those flags are listed below.

RADIUS_OPTION_SALT (integer)

When set, this option will result in the attribute value being salt-encrypted.

RADIUS_OPTION_TAGGED (integer)

When set, this option will result in the attribute value being tagged with the value of the tag parameter.

Constantes predefinidas
RADIUS Packet Types
Constantes predefinidas


RADIUS Packet Types

RADIUS packets, whether requests or responses, always include a type. These constants are provided to make it easier to specify types when using radius_create_request() and when comparing the result of radius_send_request().

RADIUS_ACCESS_REQUEST (integer)

An Access-Request, used to authenticate a user against a RADIUS server. Access request packets must include a RADIUS_NAS_IP_ADDRESS or a RADIUS_NAS_IDENTIFIER attribute, must also include a RADIUS_USER_PASSWORD, RADIUS_CHAP_PASSWORD or a RADIUS_STATE attribute, and should include a RADIUS_USER_NAME attribute.

RADIUS_ACCESS_ACCEPT (integer)

An Access-Accept response to an Access-Request indicating that the RADIUS server authenticated the user successfully.

RADIUS_ACCESS_REJECT (integer)

An Access-Reject response to an Access-Request indicating that the RADIUS server could not authenticate the user.

RADIUS_ACCESS_CHALLENGE (integer)

An Access-Challenge response to an Access-Request indicating that the RADIUS server requires further information in another Access-Request before authenticating the user.

RADIUS_ACCOUNTING_REQUEST (integer)

An Accounting-Request, used to convey accounting information for a service to the RADIUS server.

RADIUS_ACCOUNTING_RESPONSE (integer)

An Accounting-Response response to an Accounting-Request.

RADIUS_COA_REQUEST (integer)

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.

RADIUS_COA_ACK (integer)

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.

RADIUS_COA_NAK (integer)

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.

RADIUS_DISCONNECT_REQUEST (integer)

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.

RADIUS_DISCONNECT_ACK (integer)

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.

RADIUS_DISCONNECT_NAK (integer)

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.

RADIUS Options
RADIUS Attribute Types
Constantes predefinidas


RADIUS Attribute Types

These constants define RADIUS attribute types that can be used with
 radius_put_addr(),  radius_put_attr(),
 radius_put_int() and
 radius_put_string().

RADIUS_USER_NAME (integer)

The User-Name attribute. The attribute value is expected to be a string containing the name of the user being authenticated, and can be set using radius_put_attr().

RADIUS_USER_PASSWORD (integer)

The User-Password attribute. The attribute value is expected to be a string containing the user's password, and can be set using radius_put_attr(). This value will be obfuscated on transmission as described in » section 5.2 of RFC 2865.

RADIUS_CHAP_PASSWORD (integer)

The Chap-Password attribute. The attribute value is expected to be a string 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 RADIUS_CHAP_CHALLENGE attribute.

Ejemplo #1 Using CHAP passwords

<?php
// Firstly, we'll create an authentication handle and request.
$radh = radius_auth_open();
radius_add_server($radh, $server, $port, $secret, 3, 3);
radius_create_request($radh, RADIUS_ACCESS_REQUEST);

// Assuming $password contains the plaintext password, we now:

// Generate a challenge.
$challenge = mt_rand();

// Specify a CHAP identifier.
$ident = 1;

// Add the Chap-Password attribute.
$cp = md5(pack('Ca*', $ident, $password.$challenge), true);
radius_put_attr($radh, RADIUS_CHAP_PASSWORD, pack('C', $ident).$cp);

// Add the Chap-Challenge attribute.
radius_put_attr($radh, RADIUS_CHAP_CHALLENGE, $challenge);

/* From here, you would add the remaining attributes and
 * call radius_send_request(). */
?>

RADIUS_NAS_IP_ADDRESS (integer)

The NAS-IP-Address attribute. The attribute value is expected to the IP address of the RADIUS client encoded as an integer, which can be set using radius_put_addr().

RADIUS_NAS_PORT (integer)

The NAS-Port attribute. The attribute value is expected to be the physical port of the user on the RADIUS client encoded as an integer, which can be set using radius_put_int().

RADIUS_SERVICE_TYPE (integer)

The Service-Type attribute. The attribute value indicates the service type the user is requesting, and is expected to be an integer, which can be set using radius_put_int().

A number of constants are provided to represent the possible values of this attribute. They include:

  • RADIUS_LOGIN
  • RADIUS_FRAMED
  • RADIUS_CALLBACK_LOGIN
  • RADIUS_CALLBACK_FRAMED
  • RADIUS_OUTBOUND
  • RADIUS_ADMINISTRATIVE
  • RADIUS_NAS_PROMPT
  • RADIUS_AUTHENTICATE_ONLY
  • RADIUS_CALLBACK_NAS_PROMPT

RADIUS_FRAMED_PROTOCOL (integer)

The Framed-Protocol attribute. The attribute value is expected to be an integer indicating the framing to be used for framed access, and can be set using radius_put_int(). The possible attribute values include these constants:

  • RADIUS_PPP
  • RADIUS_SLIP
  • RADIUS_ARAP
  • RADIUS_GANDALF
  • RADIUS_XYLOGICS

RADIUS_FRAMED_IP_ADDRESS (integer)

The Framed-IP-Address attribute. The attribute value is expected to be the address of the user's network encoded as an integer, which can be set using radius_put_addr() and retrieved using radius_cvt_addr().

RADIUS_FRAMED_IP_NETMASK (integer)

The Framed-IP-Netmask attribute. The attribute value is expected to be the netmask of the user's network encoded as an integer, which can be set using radius_put_addr() and retrieved using radius_cvt_addr().

RADIUS_FRAMED_ROUTING (integer)

The Framed-Routing attribute. The attribute value is expected to be an integer indicating the routing method for the user, which can be set using radius_put_int().

Possible values include:

  • 0: No routing
  • 1: Send routing packets
  • 2: Listen for routing packets
  • 3: Send and listen

RADIUS_FILTER_ID (integer)

The Filter-ID attribute. The attribute value is expected to be an implementation-specific, human-readable string of filters, which can be set using radius_put_attr().

RADIUS_FRAMED_MTU (integer)

The Framed-MTU attribute. The attribute value is expected to be an integer indicating the MTU to be configured for the user, and can be set using radius_put_int().

RADIUS_FRAMED_COMPRESSION (integer)

The Framed-Compression attribute. The attribute value is expected to be an integer indicating the compression protocol to be used, and can be set using radius_put_int(). Possible values include these constants:

  • RADIUS_COMP_NONE: No compression
  • RADIUS_COMP_VJ: VJ TCP/IP header compression
  • RADIUS_COMP_IPXHDR: IPX header compression
  • RADIUS_COMP_STAC_LZS: Stac-LZS compression (added in PECL radius 1.3.0b2)

RADIUS_LOGIN_IP_HOST (integer)

The Login-IP-Host attribute. The attribute value is expected to the IP address to connect the user to, encoded as an integer, which can be set using radius_put_addr().

RADIUS_LOGIN_SERVICE (integer)

The Login-Service attribute. The attribute value is an integer indicating the service to connect the user to on the login host. The value can be converted to a PHP integer via radius_cvt_int().

RADIUS_LOGIN_TCP_PORT (integer)

The Login-TCP-Port attribute. The attribute value is an integer indicating the port to connect the user to on the login host. The value can be converted to a PHP integer via radius_cvt_int().

RADIUS_REPLY_MESSAGE (integer)

The Reply-Message attribute. The attribute value is a string containing text that may be displayed to the user in response to an access request.

RADIUS_CALLBACK_NUMBER (integer)

The Callback-Number attribute. The attribute value is a string containing the dialing string to use for callback.

RADIUS_CALLBACK_ID (integer)

The Callback-Id attribute. The attribute value is a string containing an implementation-specific name of the place to be called.

RADIUS_FRAMED_ROUTE (integer)

The Framed-Route attribute. The attribute value is a string containing an implementation-specific set of routes to be configured for the user.

RADIUS_FRAMED_IPX_NETWORK (integer)

The Framed-IPX-Network attribute. The attribute value is an integer containing the IPX network to be configured for the user, or 0xFFFFFFFE to indicate that the RADIUS client should select the network, and can be accessed via radius_cvt_int().

RADIUS_STATE (integer)

The State attribute. The attribute value is an implementation-defined string included in an Access-Challenge from a server that must be included in the subsequent Access-Request, and can be set using radius_put_attr().

RADIUS_CLASS (integer)

The Class attribute. The attribute value is an arbitrary string included in an Access-Accept message that should then be sent to the accounting server in Accounting-Request messages, and can be set using radius_put_attr().

RADIUS_VENDOR_SPECIFIC (integer)

The Vendor-Specific attribute. In general, vendor attribute values
should be set using  radius_put_vendor_addr(),
 radius_put_vendor_attr(),
 radius_put_vendor_int() and
 radius_put_vendor_string(), 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 radius_get_vendor_attr() function should be used to access the vendor ID, attribute type and attribute value.

RADIUS_SESSION_TIMEOUT (integer)

Session timeout

RADIUS_IDLE_TIMEOUT (integer)

Idle timeout

RADIUS_TERMINATION_ACTION (integer)

Termination action

RADIUS_CALLED_STATION_ID (integer)

Called Station Id

RADIUS_CALLING_STATION_ID (integer)

Calling Station Id

RADIUS_NAS_IDENTIFIER (integer)

NAS ID

RADIUS_PROXY_STATE (integer)

Proxy State

RADIUS_LOGIN_LAT_SERVICE (integer)

Login LAT Service

RADIUS_LOGIN_LAT_NODE (integer)

Login LAT Node

RADIUS_LOGIN_LAT_GROUP (integer)

Login LAT Group

RADIUS_FRAMED_APPLETALK_LINK (integer)

Framed Appletalk Link

RADIUS_FRAMED_APPLETALK_NETWORK (integer)

Framed Appletalk Network

RADIUS_FRAMED_APPLETALK_ZONE (integer)

Framed Appletalk Zone

RADIUS_CHAP_CHALLENGE (integer)

Challenge

RADIUS_NAS_PORT_TYPE (integer)

NAS port type, one of:

  • RADIUS_ASYNC
  • RADIUS_SYNC
  • RADIUS_ISDN_SYNC
  • RADIUS_ISDN_ASYNC_V120
  • RADIUS_ISDN_ASYNC_V110
  • RADIUS_VIRTUAL
  • RADIUS_PIAFS
  • RADIUS_HDLC_CLEAR_CHANNEL
  • RADIUS_X_25
  • RADIUS_X_75
  • RADIUS_G_3_FAX
  • RADIUS_SDSL
  • RADIUS_ADSL_CAP
  • RADIUS_ADSL_DMT
  • RADIUS_IDSL
  • RADIUS_ETHERNET
  • RADIUS_XDSL
  • RADIUS_CABLE
  • RADIUS_WIRELESS_OTHER
  • RADIUS_WIRELESS_IEEE_802_11

RADIUS_PORT_LIMIT (integer)

Port Limit

RADIUS_LOGIN_LAT_PORT (integer)

Login LAT Port

RADIUS_CONNECT_INFO (integer)

Connect info

RADIUS_ACCT_STATUS_TYPE (integer)

Accounting status type, one of:

  • RADIUS_START
  • RADIUS_STOP
  • RADIUS_ACCOUNTING_ON
  • RADIUS_ACCOUNTING_OFF

RADIUS_ACCT_DELAY_TIME (integer)

Accounting delay time

RADIUS_ACCT_INPUT_OCTETS (integer)

Accounting input bytes

RADIUS_ACCT_OUTPUT_OCTETS (integer)

Accounting output bytes

RADIUS_ACCT_SESSION_ID (integer)

Accounting session ID

RADIUS_ACCT_AUTHENTIC (integer)

Accounting authentic, one of:

  • RADIUS_AUTH_RADIUS
  • RADIUS_AUTH_LOCAL
  • RADIUS_AUTH_REMOTE

RADIUS_ACCT_SESSION_TIME (integer)

Accounting session time

RADIUS_ACCT_INPUT_PACKETS (integer)

Accounting input packets

RADIUS_ACCT_OUTPUT_PACKETS (integer)

Accounting output packets

RADIUS_ACCT_TERMINATE_CAUSE (integer)

Accounting terminate cause, one of:

  • RADIUS_TERM_USER_REQUEST
  • RADIUS_TERM_LOST_CARRIER
  • RADIUS_TERM_LOST_SERVICE
  • RADIUS_TERM_IDLE_TIMEOUT
  • RADIUS_TERM_SESSION_TIMEOUT
  • RADIUS_TERM_ADMIN_RESET
  • RADIUS_TERM_ADMIN_REBOOT
  • RADIUS_TERM_PORT_ERROR
  • RADIUS_TERM_NAS_ERROR
  • RADIUS_TERM_NAS_REQUEST
  • RADIUS_TERM_NAS_REBOOT
  • RADIUS_TERM_PORT_UNNEEDED
  • RADIUS_TERM_PORT_PREEMPTED
  • RADIUS_TERM_PORT_SUSPENDED
  • RADIUS_TERM_SERVICE_UNAVAILABLE
  • RADIUS_TERM_CALLBACK
  • RADIUS_TERM_USER_ERROR
  • RADIUS_TERM_HOST_REQUEST

RADIUS_ACCT_MULTI_SESSION_ID (integer)

Accounting multi session ID

RADIUS_ACCT_LINK_COUNT (integer)

Accounting link count

RADIUS Packet Types
RADIUS Vendor Specific Attribute Types
Constantes predefinidas


RADIUS Vendor Specific Attribute Types

RADIUS_VENDOR_MICROSOFT (integer)

Microsoft specific vendor attributes (» RFC 2548), one of:

  • RADIUS_MICROSOFT_MS_CHAP_RESPONSE
  • RADIUS_MICROSOFT_MS_CHAP_ERROR
  • RADIUS_MICROSOFT_MS_CHAP_PW_1
  • RADIUS_MICROSOFT_MS_CHAP_PW_2
  • RADIUS_MICROSOFT_MS_CHAP_LM_ENC_PW
  • RADIUS_MICROSOFT_MS_CHAP_NT_ENC_PW
  • RADIUS_MICROSOFT_MS_MPPE_ENCRYPTION_POLICY
  • RADIUS_MICROSOFT_MS_MPPE_ENCRYPTION_TYPES
  • RADIUS_MICROSOFT_MS_RAS_VENDOR
  • RADIUS_MICROSOFT_MS_CHAP_DOMAIN
  • RADIUS_MICROSOFT_MS_CHAP_CHALLENGE
  • RADIUS_MICROSOFT_MS_CHAP_MPPE_KEYS
  • RADIUS_MICROSOFT_MS_BAP_USAGE
  • RADIUS_MICROSOFT_MS_LINK_UTILIZATION_THRESHOLD
  • RADIUS_MICROSOFT_MS_LINK_DROP_TIME_LIMIT
  • RADIUS_MICROSOFT_MS_MPPE_SEND_KEY
  • RADIUS_MICROSOFT_MS_MPPE_RECV_KEY
  • RADIUS_MICROSOFT_MS_RAS_VERSION
  • RADIUS_MICROSOFT_MS_OLD_ARAP_PASSWORD
  • RADIUS_MICROSOFT_MS_NEW_ARAP_PASSWORD
  • RADIUS_MICROSOFT_MS_ARAP_PASSWORD_CHANGE_REASON
  • RADIUS_MICROSOFT_MS_FILTER
  • RADIUS_MICROSOFT_MS_ACCT_AUTH_TYPE
  • RADIUS_MICROSOFT_MS_ACCT_EAP_TYPE
  • RADIUS_MICROSOFT_MS_CHAP2_RESPONSE
  • RADIUS_MICROSOFT_MS_CHAP2_SUCCESS
  • RADIUS_MICROSOFT_MS_CHAP2_PW
  • RADIUS_MICROSOFT_MS_PRIMARY_DNS_SERVER
  • RADIUS_MICROSOFT_MS_SECONDARY_DNS_SERVER
  • RADIUS_MICROSOFT_MS_PRIMARY_NBNS_SERVER
  • RADIUS_MICROSOFT_MS_SECONDARY_NBNS_SERVER
  • RADIUS_MICROSOFT_MS_ARAP_CHALLENGE

RADIUS Attribute Types
Ejemplos
Constantes predefinidas


Ejemplos

¿Cómo iniciar?

  • Obtener un recurso radius
  • Configurar la librería
  • Crear la petición
  • Poner atributos
  • Enviar la petición
  • Recibir atributos
  • Cerrar el recurso radius (opcional)
También sirve echar un vistazo a los ejemplos en este paquete.

El paquete contiene un ejemplo de script php. Este script demuestra como autenticar con radius utilizando PAP o CHAP (md5). Si se autentica con servidores Microsoft Radius entonces no le será posible utilizar CHAP (md5). Si quisiera autenticarse con servidores Microsoft tiene que utilizar MS-CHAPv1 o MS-CHAPv2, pero es más complicado, porque usted necesita md4, sha1 y des para generar los datos correctos. Los ejemplos adjuntos demuestran todos los métodos de autenticación, incluyendo MS-CHAPv1 y MS-CHAPv2. Para tener funcionando MS-CHAP necesita las extensiones mcrypt y mhash iniciando con la version 1.2 de este paquete, la extensión mcrypt ya no es necesaria.

RADIUS Vendor Specific Attribute Types
Funciones Radius
Radius


Funciones Radius

Tabla de contenidos

  • radius_acct_open — Crea un manejador Radius para el conteo
  • radius_add_server — Adds a server
  • radius_auth_open — Crea un identificador de Radius para la autenticación
  • radius_close — Frees all ressources
  • radius_config — Causes the library to read the given configuration file
  • radius_create_request — Create accounting or authentication request
  • radius_cvt_addr — Converts raw data to IP-Address
  • radius_cvt_int — Converts raw data to integer
  • radius_cvt_string — Converts raw data to string
  • radius_demangle_mppe_key — Derives mppe-keys from mangled data
  • radius_demangle — Demangles data
  • radius_get_attr — Extracts an attribute
  • radius_get_tagged_attr_data — Extracts the data from a tagged attribute
  • radius_get_tagged_attr_tag — Extracts the tag from a tagged attribute
  • radius_get_vendor_attr — Extracts a vendor specific attribute
  • radius_put_addr — Attaches an IP address attribute
  • radius_put_attr — Attaches a binary attribute
  • radius_put_int — Attaches an integer attribute
  • radius_put_string — Attaches a string attribute
  • radius_put_vendor_addr — Attaches a vendor specific IP address attribute
  • radius_put_vendor_attr — Attaches a vendor specific binary attribute
  • radius_put_vendor_int — Attaches a vendor specific integer attribute
  • radius_put_vendor_string — Attaches a vendor specific string attribute
  • radius_request_authenticator — Returns the request authenticator
  • radius_salt_encrypt_attr — Salt-encrypts a value
  • radius_send_request — Sends the request and waites for a reply
  • radius_server_secret — Returns the shared secret
  • radius_strerror — Devuelve un mensaje de error
Ejemplos
radius_acct_open
Radius


Crea un manejador Radius para el conteo

Funciones Radius
radius_add_server
Funciones Radius
PHP Manual

radius_acct_open

(PECL radius >= 1.1.0)

radius_acct_open — Crea un manejador Radius para el conteo

Descripción

resource radius_acct_open ( void )

Valores devueltos

Devuelve un manejador en caso de tener éxito, FALSE en caso de error. Esta función falla solamente si hay insuficiencia de memoria.

Ejemplos

Ejemplo #1 radius_acct_open() example

<?php
$res = radius_acct_open ()
    or die ("No se pudo crear un manejador handle");
print("Manejador creado exitosamente");
?>

Funciones Radius
radius_add_server
Funciones Radius


Adds a server

radius_acct_open
radius_auth_open
Funciones Radius
PHP Manual

radius_add_server

(PECL radius >= 1.1.0)

radius_add_server — Adds a server

Descripción

bool radius_add_server ( resource $radius_handle , string $hostname , int $port , string $secret , int $timeout , int $max_tries )

radius_add_server() may be called multiple times, and it may be used together with radius_config(). At most 10 servers may be specified. When multiple servers are given, they are tried in round-robin fashion until a valid response is received, or until each server's max_tries limit has been reached.

Parámetros

radius_handle

hostname

The hostname parameter specifies the server host, either as a fully qualified domain name or as a dotted-quad IP address in text form.

port

The port specifies the UDP port to contact on the server. If port is given as 0, the library looks up the radius/udp or radacct/udp service in the network services database, and uses the port found there. If no entry is found, the library uses the standard Radius ports, 1812 for authentication and 1813 for accounting.

secret

The shared secret for the server host is passed to the secret parameter. The Radius protocol ignores all but the leading 128 bytes of the shared secret.

timeout

The timeout for receiving replies from the server is passed to the timeout parameter, in units of seconds.

max_tries

The maximum number of repeated requests to make before giving up is passed into the max_tries.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 radius_add_server() example

<?php
if (!radius_add_server($res, 'radius.example.com', 1812, 'testing123', 3, 3)) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br>";
    exit;
}
?>

Ver también

  • radius_config() - Causes the library to read the given configuration file

radius_acct_open
radius_auth_open
Funciones Radius


Crea un identificador de Radius para la autenticación

radius_add_server
radius_close
Funciones Radius
PHP Manual

radius_auth_open

(PECL radius >= 1.1.0)

radius_auth_open — Crea un identificador de Radius para la autenticación

Descripción

resource radius_auth_open ( void )

Valores devueltos

Devuelve un manejador en caso de éxito, FALSE en caso de error. Esta función sólo falla si hay insuficiente memoria disponible.

Ejemplos

Ejemplo #1 Ejemplo de radius_auth_open()

<?php
$radh = radius_auth_open()
    or die ("No se pudo crear el manejador");
echo "Manejador creado con éxito";
?>

radius_add_server
radius_close
Funciones Radius


Frees all ressources

radius_auth_open
radius_config
Funciones Radius
PHP Manual

radius_close

(PECL radius >= 1.1.0)

radius_close — Frees all ressources

Descripción

bool radius_close ( resource $radius_handle )

It is not needed to call this function because php frees all resources at the end of each request.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

radius_auth_open
radius_config
Funciones Radius


Causes the library to read the given configuration file

radius_close
radius_create_request
Funciones Radius
PHP Manual

radius_config

(PECL radius >= 1.1.0)

radius_config — Causes the library to read the given configuration file

Descripción

bool radius_config ( resource $radius_handle , string $file )

Before issuing any Radius requests, the library must be made aware of the servers it can contact. The easiest way to configure the library is to call radius_config(). radius_config() causes the library to read a configuration file whose format is described in » radius.conf.

Parámetros

radius_handle

file

The pathname of the configuration file is passed as the file argument to radius_config(). The library can also be configured programmatically by calls to radius_add_server().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • radius_add_server() - Adds a server

radius_close
radius_create_request
Funciones Radius


Create accounting or authentication request

radius_config
radius_cvt_addr
Funciones Radius
PHP Manual

radius_create_request

(PECL radius >= 1.1.0)

radius_create_request — Create accounting or authentication request

Descripción

bool radius_create_request ( resource $radius_handle , int $type )

A Radius request consists of a code specifying the kind of request, and zero or more attributes which provide additional information. To begin constructing a new request, call radius_create_request().

Nota: Attention: You must call this function, before you can put any attribute!

Parámetros

radius_handle

type

Type is RADIUS_ACCESS_REQUEST or RADIUS_ACCOUNTING_REQUEST.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 radius_create_request() example

<?php
if (!radius_create_request($res, RADIUS_ACCESS_REQUEST)) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br />";
    exit;
}
?>

Ver también

  • radius_send_request() - Sends the request and waites for a reply

radius_config
radius_cvt_addr
Funciones Radius


Converts raw data to IP-Address

radius_create_request
radius_cvt_int
Funciones Radius
PHP Manual

radius_cvt_addr

(PECL radius >= 1.1.0)

radius_cvt_addr — Converts raw data to IP-Address

Descripción

string radius_cvt_addr ( string $data )

Ejemplos

Ejemplo #1 radius_cvt_addr() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];

    switch ($attr) {

    case RADIUS_FRAMED_IP_ADDRESS:
        $ip = radius_cvt_addr($data);
        echo "IP: $ip<br>\n";
        break;

    case RADIUS_FRAMED_IP_NETMASK:
        $mask = radius_cvt_addr($data);
        echo "MASK: $mask<br>\n";
        break;
    }
}
?>

Ver también

  • radius_cvt_int() - Converts raw data to integer
  • radius_cvt_string() - Converts raw data to string

radius_create_request
radius_cvt_int
Funciones Radius


Converts raw data to integer

radius_cvt_addr
radius_cvt_string
Funciones Radius
PHP Manual

radius_cvt_int

(PECL radius >= 1.1.0)

radius_cvt_int — Converts raw data to integer

Descripción

int radius_cvt_int ( string $data )

Ejemplos

Ejemplo #1 radius_cvt_int() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];

    switch ($attr) {

    case RADIUS_FRAMED_MTU:
        $mtu = radius_cvt_int($data);
        echo "MTU: $mtu<br>\n";
        break;
    }
}
?>

Ver también

  • radius_cvt_addr() - Converts raw data to IP-Address
  • radius_cvt_string() - Converts raw data to string

radius_cvt_addr
radius_cvt_string
Funciones Radius


Converts raw data to string

radius_cvt_int
radius_demangle_mppe_key
Funciones Radius
PHP Manual

radius_cvt_string

(PECL radius >= 1.1.0)

radius_cvt_string — Converts raw data to string

Descripción

string radius_cvt_string ( string $data )

Ejemplos

Ejemplo #1 radius_cvt_string() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];

    switch ($attr) {

    case RADIUS_FILTER_ID:
        $id = radius_cvt_string($data);
        echo "Filter ID: $id<br>\n";
        break;
    }
}
?>

Ver también

  • radius_cvt_addr() - Converts raw data to IP-Address
  • radius_cvt_int() - Converts raw data to integer

radius_cvt_int
radius_demangle_mppe_key
Funciones Radius


Derives mppe-keys from mangled data

radius_cvt_string
radius_demangle
Funciones Radius
PHP Manual

radius_demangle_mppe_key

(PECL radius >= 1.2.0)

radius_demangle_mppe_key — Derives mppe-keys from mangled data

Descripción

string radius_demangle_mppe_key ( resource $radius_handle , string $mangled )

When using MPPE with MS-CHAPv2, the send- and recv-keys are mangled (see » RFC 2548), however this function is useless, because I don't think that there is or will be a PPTP-MPPE implementation in PHP.

Valores devueltos

Returns the demangled string, or FALSE on error.

radius_cvt_string
radius_demangle
Funciones Radius


Demangles data

radius_demangle_mppe_key
radius_get_attr
Funciones Radius
PHP Manual

radius_demangle

(PECL radius >= 1.2.0)

radius_demangle — Demangles data

Descripción

string radius_demangle ( resource $radius_handle , string $mangled )

Some data (Passwords, MS-CHAPv1 MPPE-Keys) is mangled for security reasons, and must be demangled before you can use them.

Valores devueltos

Returns the demangled string, or FALSE on error.

radius_demangle_mppe_key
radius_get_attr
Funciones Radius


Extracts an attribute

radius_demangle
radius_get_tagged_attr_data
Funciones Radius
PHP Manual

radius_get_attr

(PECL radius >= 1.1.0)

radius_get_attr — Extracts an attribute

Descripción

mixed radius_get_attr ( resource $radius_handle )

Like Radius requests, each response may contain zero or more attributes. After a response has been received successfully by radius_send_request(), its attributes can be extracted one by one using radius_get_attr(). Each time radius_get_attr() is called, it gets the next attribute from the current response.

Valores devueltos

Returns an associative array containing the attribute-type and the data, or error number <= 0.

Ejemplos

Ejemplo #1 radius_get_attr() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];
    printf("Got Attr:%d %d Bytes %s\n", $attr, strlen($data), bin2hex($data));
}
?>

Ver también

  • radius_put_attr() - Attaches a binary attribute
  • radius_get_vendor_attr() - Extracts a vendor specific attribute
  • radius_put_vendor_attr() - Attaches a vendor specific binary attribute
  • radius_send_request() - Sends the request and waites for a reply

radius_demangle
radius_get_tagged_attr_data
Funciones Radius


Extracts the data from a tagged attribute

radius_get_attr
radius_get_tagged_attr_tag
Funciones Radius
PHP Manual

radius_get_tagged_attr_data

(PECL radius >= 1.3.0)

radius_get_tagged_attr_data — Extracts the data from a tagged attribute

Descripción

string radius_get_tagged_attr_data ( string $data )

If a tagged attribute has been returned from radius_get_attr(), radius_get_tagged_attr_data() will return the data from the attribute.

Parámetros

data

The tagged attribute to be decoded.

Valores devueltos

Returns the data from the tagged attribute o FALSE en caso de error.

Ejemplos

Ejemplo #1 radius_get_tagged_attr_data() example

<?php
while ($resa = radius_get_attr($res)) {
    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];

    $tag = radius_get_tagged_attr_tag($data);
    $value = radius_get_tagged_attr_data($data);

    printf("Got tagged attribute with tag %d and value %s\n", $tag, $value);
}
?>

Ver también

  • radius_get_attr() - Extracts an attribute
  • radius_get_tagged_attr_tag() - Extracts the tag from a tagged attribute

radius_get_attr
radius_get_tagged_attr_tag
Funciones Radius


Extracts the tag from a tagged attribute

radius_get_tagged_attr_data
radius_get_vendor_attr
Funciones Radius
PHP Manual

radius_get_tagged_attr_tag

(PECL radius >= 1.3.0)

radius_get_tagged_attr_tag — Extracts the tag from a tagged attribute

Descripción

integer radius_get_tagged_attr_tag ( string $data )

If a tagged attribute has been returned from radius_get_attr(), radius_get_tagged_attr_data() will return the tag from the attribute.

Parámetros

data

The tagged attribute to be decoded.

Valores devueltos

Returns the tag from the tagged attribute o FALSE en caso de error.

Ejemplos

Ejemplo #1 radius_get_tagged_attr_tag() example

<?php
while ($resa = radius_get_attr($res)) {
    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];

    $tag = radius_get_tagged_attr_tag($data);
    $value = radius_get_tagged_attr_data($data);

    printf("Got tagged attribute with tag %d and value %s\n", $tag, $value);
}
?>

Ver también

  • radius_get_attr() - Extracts an attribute
  • radius_get_tagged_attr_data() - Extracts the data from a tagged attribute

radius_get_tagged_attr_data
radius_get_vendor_attr
Funciones Radius


Extracts a vendor specific attribute

radius_get_tagged_attr_tag
radius_put_addr
Funciones Radius
PHP Manual

radius_get_vendor_attr

(PECL radius >= 1.1.0)

radius_get_vendor_attr — Extracts a vendor specific attribute

Descripción

array radius_get_vendor_attr ( string $data )

If radius_get_attr() returns RADIUS_VENDOR_SPECIFIC, radius_get_vendor_attr() may be called to determine the vendor.

Valores devueltos

Returns an associative array containing the attribute-type, vendor and the data, or FALSE on error.

Ejemplos

Ejemplo #1 radius_get_vendor_attr() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];
    printf("Got Attr:%d %d Bytes %s\n", $attr, strlen($data), bin2hex($data));
    if ($attr == RADIUS_VENDOR_SPECIFIC) {

        $resv = radius_get_vendor_attr($data);
        if (is_array($resv)) {
            $vendor = $resv['vendor'];
            $attrv = $resv['attr'];
            $datav = $resv['data'];
            printf("Got Vendor Attr:%d %d Bytes %s\n", $attrv, strlen($datav), bin2hex($datav));
        }

    }
}
?>

Ver también

  • radius_get_attr() - Extracts an attribute
  • radius_put_vendor_attr() - Attaches a vendor specific binary attribute

radius_get_tagged_attr_tag
radius_put_addr
Funciones Radius


Attaches an IP address attribute

radius_get_vendor_attr
radius_put_attr
Funciones Radius
PHP Manual

radius_put_addr

(PECL radius >= 1.1.0)

radius_put_addr — Attaches an IP address attribute

Descripción

bool radius_put_addr ( resource $radius_handle , int $type , string $addr [, int $options = 0 [, int $tag ]] )

Attaches an IP address attribute to the current RADIUS request.

Nota:

Se debe crear una solicitud mediante radius_create_request() antes de llamar a esta función.

Parámetros

radius_handle

El recurso RADIUS.

type

El tipo de atributo.

addr

An IPv4 address in string form, such as 10.0.0.1.

options

Una máscara de bits de las opciones de atributo. Las opciones disponibles incluyen RADIUS_OPTION_TAGGED y RADIUS_OPTION_SALT.

tag

LA etiqueta de atributo. Este parámetro es ignorado a menos que la opción RADIUS_OPTION_TAGGED esté establecida.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
PECL radius 1.3.0 | The options and tag parameters were added.

radius_get_vendor_attr
radius_put_attr
Funciones Radius


Attaches a binary attribute

radius_put_addr
radius_put_int
Funciones Radius
PHP Manual

radius_put_attr

(PECL radius >= 1.1.0)

radius_put_attr — Attaches a binary attribute

Descripción

bool radius_put_attr ( resource $radius_handle , int $type , string $value [, int $options = 0 [, int $tag ]] )

Attaches a binary attribute to the current RADIUS request.

Nota:

Se debe crear una solicitud mediante radius_create_request() antes de llamar a esta función.

Parámetros

radius_handle

El recurso RADIUS.

type

El tipo de atributo.

value

The attribute value, which will be treated as a raw binary string.

options

Una máscara de bits de las opciones de atributo. Las opciones disponibles incluyen RADIUS_OPTION_TAGGED y RADIUS_OPTION_SALT.

tag

LA etiqueta de atributo. Este parámetro es ignorado a menos que la opción RADIUS_OPTION_TAGGED esté establecida.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 radius_put_attr() example

<?php
mt_srand(time());
$chall = mt_rand();
$chapval = md5(pack('Ca*',1 , 'sepp' . $chall));
$pass = pack('CH*', 1, $chapval);
if (!radius_put_attr($res, RADIUS_CHAP_PASSWORD, $pass)) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br />";
    exit;
}
?>

Historial de cambios

Versión | Descripción
PECL radius 1.3.0 | The options and tag parameters were added.

Ver también

  • radius_get_attr() - Extracts an attribute
  • radius_get_vendor_attr() - Extracts a vendor specific attribute
  • radius_put_vendor_attr() - Attaches a vendor specific binary attribute

radius_put_addr
radius_put_int
Funciones Radius


Attaches an integer attribute

radius_put_attr
radius_put_string
Funciones Radius
PHP Manual

radius_put_int

(PECL radius >= 1.1.0)

radius_put_int — Attaches an integer attribute

Descripción

bool radius_put_int ( resource $radius_handle , int $type , int $value [, int $options = 0 [, int $tag ]] )

Attaches an integer attribute to the current RADIUS request.

Nota:

Se debe crear una solicitud mediante radius_create_request() antes de llamar a esta función.

Parámetros

radius_handle

El recurso RADIUS.

type

El tipo de atributo.

value

The attribute value.

options

Una máscara de bits de las opciones de atributo. Las opciones disponibles incluyen RADIUS_OPTION_TAGGED y RADIUS_OPTION_SALT.

tag

LA etiqueta de atributo. Este parámetro es ignorado a menos que la opción RADIUS_OPTION_TAGGED esté establecida.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
PECL radius 1.3.0 | The options and tag parameters were added.

Ejemplos

Ejemplo #1 radius_put_int() example

<?php
if (!radius_put_int($res, RAD_FRAMED_PROTOCOL, RAD_PPP)) {
   echo 'RadiusError:' . radius_strerror($res). "\n<br />";
   exit;
}
?>

Ver también

  • radius_put_string() - Attaches a string attribute
  • radius_put_vendor_int() - Attaches a vendor specific integer attribute
  • radius_put_vendor_string() - Attaches a vendor specific string attribute

radius_put_attr
radius_put_string
Funciones Radius


Attaches a string attribute

radius_put_int
radius_put_vendor_addr
Funciones Radius
PHP Manual

radius_put_string

(PECL radius >= 1.1.0)

radius_put_string — Attaches a string attribute

Descripción

bool radius_put_string ( resource $radius_handle , int $type , string $value [, int $options = 0 [, int $tag ]] )

Attaches a string attribute to the current RADIUS request. In general, radius_put_attr() is a more useful function for attaching string attributes, as it is binary safe.

Nota:

Se debe crear una solicitud mediante radius_create_request() antes de llamar a esta función.

Parámetros

radius_handle

El recurso RADIUS.

type

El tipo de atributo.

value

The attribute value. This value is expected by the underlying library to be null terminated, therefore this parameter is not binary safe.

options

Una máscara de bits de las opciones de atributo. Las opciones disponibles incluyen RADIUS_OPTION_TAGGED y RADIUS_OPTION_SALT.

tag

LA etiqueta de atributo. Este parámetro es ignorado a menos que la opción RADIUS_OPTION_TAGGED esté establecida.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
PECL radius 1.3.0 | The options and tag parameters were added.

Ejemplos

Ejemplo #1 radius_put_string() example

<?php
if (!radius_put_string($res, RADIUS_USER_NAME, 'billy')) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br />";
    exit;
}
?>

Ver también

  • radius_put_int() - Attaches an integer attribute
  • radius_put_vendor_int() - Attaches a vendor specific integer attribute
  • radius_put_vendor_string() - Attaches a vendor specific string attribute

radius_put_int
radius_put_vendor_addr
Funciones Radius


Attaches a vendor specific IP address attribute

radius_put_string
radius_put_vendor_attr
Funciones Radius
PHP Manual

radius_put_vendor_addr

(PECL radius >= 1.1.0)

radius_put_vendor_addr — Attaches a vendor specific IP address attribute

Descripción

bool radius_put_vendor_addr ( resource $radius_handle , int $vendor , int $type , string $addr )

Attaches an IP address vendor specific attribute to the current RADIUS request.

Nota:

Se debe crear una solicitud mediante radius_create_request() antes de llamar a esta función.

Parámetros

radius_handle

El recurso RADIUS.

vendor

El ID del vendedor.

type

El tipo de atributo.

addr

An IPv4 address in string form, such as 10.0.0.1.

options

Una máscara de bits de las opciones de atributo. Las opciones disponibles incluyen RADIUS_OPTION_TAGGED y RADIUS_OPTION_SALT.

tag

LA etiqueta de atributo. Este parámetro es ignorado a menos que la opción RADIUS_OPTION_TAGGED esté establecida.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
PECL radius 1.3.0 | The options and tag parameters were added.

radius_put_string
radius_put_vendor_attr
Funciones Radius


Attaches a vendor specific binary attribute

radius_put_vendor_addr
radius_put_vendor_int
Funciones Radius
PHP Manual

radius_put_vendor_attr

(PECL radius >= 1.1.0)

radius_put_vendor_attr — Attaches a vendor specific binary attribute

Descripción

bool radius_put_vendor_attr ( resource $radius_handle , int $vendor , int $type , string $value [, int $options = 0 [, int $tag ]] )

Attaches a vendor specific binary attribute to the current RADIUS request.

Nota:

Se debe crear una solicitud mediante radius_create_request() antes de llamar a esta función.

Parámetros

radius_handle

El recurso RADIUS.

vendor

El ID del vendedor.

type

El tipo de atributo.

value

The attribute value, which will be treated as a raw binary string.

options

Una máscara de bits de las opciones de atributo. Las opciones disponibles incluyen RADIUS_OPTION_TAGGED y RADIUS_OPTION_SALT.

tag

LA etiqueta de atributo. Este parámetro es ignorado a menos que la opción RADIUS_OPTION_TAGGED esté establecida.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
PECL radius 1.3.0 | The options and tag parameters were added.

Ejemplos

Ejemplo #1 radius_put_vendor_attr() example

<?php
if (!radius_put_vendor_attr($res, RADIUS_VENDOR_MICROSOFT, RAD_MICROSOFT_MS_CHAP_CHALLENGE, $challenge)) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br />";
    exit;
}
?>

Ver también

  • radius_get_vendor_attr() - Extracts a vendor specific attribute

radius_put_vendor_addr
radius_put_vendor_int
Funciones Radius


Attaches a vendor specific integer attribute

radius_put_vendor_attr
radius_put_vendor_string
Funciones Radius
PHP Manual

radius_put_vendor_int

(PECL radius >= 1.1.0)

radius_put_vendor_int — Attaches a vendor specific integer attribute

Descripción

bool radius_put_vendor_int ( resource $radius_handle , int $vendor , int $type , int $value [, int $options = 0 [, int $tag ]] )

Attaches a vendor specific integer attribute to the current RADIUS request.

Nota:

Se debe crear una solicitud mediante radius_create_request() antes de llamar a esta función.

Parámetros

radius_handle

El recurso RADIUS.

vendor

El ID del vendedor.

type

El tipo de atributo.

value

The attribute value.

options

Una máscara de bits de las opciones de atributo. Las opciones disponibles incluyen RADIUS_OPTION_TAGGED y RADIUS_OPTION_SALT.

tag

LA etiqueta de atributo. Este parámetro es ignorado a menos que la opción RADIUS_OPTION_TAGGED esté establecida.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
PECL radius 1.3.0 | The options and tag parameters were added.

Ver también

  • radius_put_vendor_string() - Attaches a vendor specific string attribute

radius_put_vendor_attr
radius_put_vendor_string
Funciones Radius


Attaches a vendor specific string attribute

radius_put_vendor_int
radius_request_authenticator
Funciones Radius
PHP Manual

radius_put_vendor_string

(PECL radius >= 1.1.0)

radius_put_vendor_string — Attaches a vendor specific string attribute

Descripción

bool radius_put_vendor_string ( resource $radius_handle , int $vendor , int $type , string $value [, int $options = 0 [, int $tag ]] )

Attaches a vendor specific string attribute to the current RADIUS request. In general, radius_put_vendor_attr() is a more useful function for attaching string attributes, as it is binary safe.

Nota:

Se debe crear una solicitud mediante radius_create_request() antes de llamar a esta función.

Parámetros

radius_handle

El recurso RADIUS.

vendor

El ID del vendedor.

type

El tipo de atributo.

value

The attribute value. This value is expected by the underlying library to be null terminated, therefore this parameter is not binary safe.

options

Una máscara de bits de las opciones de atributo. Las opciones disponibles incluyen RADIUS_OPTION_TAGGED y RADIUS_OPTION_SALT.

tag

LA etiqueta de atributo. Este parámetro es ignorado a menos que la opción RADIUS_OPTION_TAGGED esté establecida.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
PECL radius 1.3.0 | The options and tag parameters were added.

Ver también

  • radius_put_vendor_int() - Attaches a vendor specific integer attribute

radius_put_vendor_int
radius_request_authenticator
Funciones Radius


Returns the request authenticator

radius_put_vendor_string
radius_salt_encrypt_attr
Funciones Radius
PHP Manual

radius_request_authenticator

(PECL radius >= 1.1.0)

radius_request_authenticator — Returns the request authenticator

Descripción

string radius_request_authenticator ( resource $radius_handle )

The request authenticator is needed for demangling mangled data like passwords and encryption-keys.

Valores devueltos

Returns the request authenticator as string, or FALSE on error.

Ver también

  • radius_demangle() - Demangles data

radius_put_vendor_string
radius_salt_encrypt_attr
Funciones Radius


Salt-encrypts a value

radius_request_authenticator
radius_send_request
Funciones Radius
PHP Manual

radius_salt_encrypt_attr

(PECL radius >= 1.3.0)

radius_salt_encrypt_attr — Salt-encrypts a value

Descripción

string radius_salt_encrypt_attr ( resource $radius_handle , string $data )

Applies the RADIUS salt-encryption algorithm to the given value.

In general, this is achieved automatically by providing the RADIUS_OPTION_SALT option to an attribute setter function, but this function can be used if low-level request construction is required.

Parámetros

data

The data to be salt-encrypted.

Valores devueltos

Returns the salt-encrypted data o FALSE en caso de error.

Ver también

  • radius_put_addr() - Attaches an IP address attribute
  • radius_put_attr() - Attaches a binary attribute
  • radius_put_int() - Attaches an integer attribute
  • radius_put_string() - Attaches a string attribute

radius_request_authenticator
radius_send_request
Funciones Radius


Sends the request and waites for a reply

radius_salt_encrypt_attr
radius_server_secret
Funciones Radius
PHP Manual

radius_send_request

(PECL radius >= 1.1.0)

radius_send_request — Sends the request and waites for a reply

Descripción

int radius_send_request ( resource $radius_handle )

After the Radius request has been constructed, it is sent by radius_send_request().

The radius_send_request() function sends the request and waits for a valid reply, retrying the defined servers in round-robin fashion as necessary.

Valores devueltos

If a valid response is received, radius_send_request() returns the Radius code which specifies the type of the response. This will typically be RADIUS_ACCESS_ACCEPT, RADIUS_ACCESS_REJECT, or RADIUS_ACCESS_CHALLENGE. If no valid response is received, radius_send_request() returns FALSE.

Ver también

  • radius_create_request() - Create accounting or authentication request

radius_salt_encrypt_attr
radius_server_secret
Funciones Radius


Returns the shared secret

radius_send_request
radius_strerror
Funciones Radius
PHP Manual

radius_server_secret

(PECL radius >= 1.1.0)

radius_server_secret — Returns the shared secret

Descripción

string radius_server_secret ( resource $radius_handle )

The shared secret is needed as salt for demangling mangled data like passwords and encryption-keys.

Valores devueltos

Returns the server's shared secret as string, or FALSE on error.

radius_send_request
radius_strerror
Funciones Radius


Devuelve un mensaje de error

radius_server_secret
Extensiones específicas de la línea de comandos
Funciones Radius
PHP Manual

radius_strerror

(PECL radius >= 1.1.0)

radius_strerror — Devuelve un mensaje de error

Descripción

string radius_strerror ( resource $radius_handle )

Si las funciones radio fallan entonces guardan un mensaje de error. Este mensaje de error puede ser obtenido con esta función.

Valores devueltos

Devuelve mensajes de error como string de funciones radio fallidas.

radius_server_secret
Extensiones específicas de la línea de comandos
Funciones Radius


Extensiones específicas de la línea de comandos

  • Ncurses — Control de Terminal de Pantalla Ncurses
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de Ncurses
  • Newt
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de Newt
  • Readline — GNU Readline
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones Readline
radius_strerror
Ncurses
Referencia de funciones


Control de Terminal de Pantalla Ncurses

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
    • Códigos de error
    • Colores
    • Claves
    • Ratón
  • Funciones de Ncurses
    • ncurses_addch — Agregar un caracter en la posición actual y avanzar el cursor
    • ncurses_addchnstr — Agregar cadena con atributos y longitud especificada en la posición actual
    • ncurses_addchstr — Agregar una cadena con atributos en la posición actual
    • ncurses_addnstr — Agregar una cadena con la longitud especificada en la posición actual
    • ncurses_addstr — Imprimir texto en la posición actual
    • ncurses_assume_default_colors — Definir colores predeterminados para el color 0
    • ncurses_attroff — Deshabilitar los atributos dados
    • ncurses_attron — Habilitar los atributos dados
    • ncurses_attrset — Establecer los atributos dados
    • ncurses_baudrate — Devuelve la tasa de baudios de la terminal
    • ncurses_beep — Producir un beep en la terminal
    • ncurses_bkgd — Establecer la propiedad de segundo plano para la pantalla de la terminal
    • ncurses_bkgdset — Controla el segundo plano de la pantalla
    • ncurses_border — Dibujar un borde alrededor de la pantalla usando caracteres con atributos
    • ncurses_bottom_panel — Mueve un panel visible al fondo de la pila
    • ncurses_can_change_color — Comprobar si las definiciones de color del terminal se pueden cambiar
    • ncurses_cbreak — Desactivar el buffer de entrada
    • ncurses_clear — Limpiar la pantalla
    • ncurses_clrtobot — Limpiar la pantalla desde la posición actual al final
    • ncurses_clrtoeol — Limpiar la pantalla desde la posición actual al final de la línea
    • ncurses_color_content — Obtiene los componentes RGB de un color
    • ncurses_color_set — Establecer los colores de primer plano y fondo activos
    • ncurses_curs_set — Establecer el estado del cursor
    • ncurses_def_prog_mode — Guarda los modos de terminal (programa)
    • ncurses_def_shell_mode — Guarda los modos de terminal (intérprete de comandos)
    • ncurses_define_key — Definir un código de tecla
    • ncurses_del_panel — Remover un panel de la pila y eliminarlo (pero no la ventana asociada)
    • ncurses_delay_output — Retrasar la salida en la terminal usando caracteres de relleno
    • ncurses_delch — Eliminar un caracter en la posición actual, mover el resto de la línea hacia la izquierda
    • ncurses_deleteln — Eliminar una línea en la posición actual, mover el resto de la pantalla hacia arriba
    • ncurses_delwin — Eliminar una ventana ncurses
    • ncurses_doupdate — Escribir todas las actualizaciones preparadas sobre la terminal
    • ncurses_echo — Activar la repetición de entrada del teclado
    • ncurses_echochar — Salida de un caracter sencillo, incluyendo actualización
    • ncurses_end — Dejar de usar ncurses, limpiar la pantalla
    • ncurses_erase — Limpiar pantalla de terminal
    • ncurses_erasechar — Devuelve el caracter de borrado actual
    • ncurses_filter — Definir LINES para iniscr() y newterm() a 1
    • ncurses_flash — Relampaguear la pantalla de terminal (campana visual)
    • ncurses_flushinp — Volcar el búfer de entrada de teclado
    • ncurses_getch — Leer un caracter desde el teclado
    • ncurses_getmaxyx — Devuelve el tamaño de una ventana
    • ncurses_getmouse — Lee los eventos del ratón
    • ncurses_getyx — Devuelve la posición de cursor actual para una ventana
    • ncurses_halfdelay — Colocar la terminal en modo de medio retraso
    • ncurses_has_colors — Comprueba si el terminal tiene capacidades de color
    • ncurses_has_ic — Chequear por el soporte de inserción y borrado
    • ncurses_has_il — Chequea el soporte de inserción y borrado
    • ncurses_has_key — Chequear por la presencia de una tecla de función en el teclado de la terminal
    • ncurses_hide_panel — Remover un panel de la pila, haciéndolo invisible
    • ncurses_hline — Dibujar una línea horizontal en la posición actual usando un caracter con atributos, y de máximo n caracteres de largo
    • ncurses_inch — Obtener el caracter y los atributos de la posición actual
    • ncurses_init_color — Definir un color de termimal
    • ncurses_init_pair — Definir una pareja de colores
    • ncurses_init — Inicializar ncurses
    • ncurses_insch — Insertar un caracter, moviendo el resto de la línea, incluyendo el caracter en la posición actual
    • ncurses_insdelln — Insertar líneas antes de la línea actual, desplazando hacia abajo (los números negativos eliminan líneas y desplazan hacia arriba)
    • ncurses_insertln — Insertar una línea, mover el resto de la pantalla hacia abajo
    • ncurses_insstr — Insertar cadena en la posición actual, moviendo el resto de la línea hacia la derecha
    • ncurses_instr — Lee una cadena desde la pantalla de terminal
    • ncurses_isendwin — Ncurses está en modo endwin, se puede realizar una salida normal por pantalla
    • ncurses_keyok — Habilitar o deshabilitar un código de tecla
    • ncurses_keypad — Activa o desactiva el teclado numérico
    • ncurses_killchar — Devuelve el caracter de eliminación de línea actual
    • ncurses_longname — Devuelve la descripción de la terminal
    • ncurses_meta — Habilita/deshabilita la meta-información de 8-bits de tecla
    • ncurses_mouse_trafo — Transforma coordenadas
    • ncurses_mouseinterval — Establecer el tiempo de espera para clics de botón del mouse
    • ncurses_mousemask — Establece las opciones del ratón
    • ncurses_move_panel — Mueve un panel de modo que su esquina superior izquierda se encuentre en [comienzo_x, comienzo_y]
    • ncurses_move — Mover la posición de salida
    • ncurses_mvaddch — Mover la posición actual y agregar un caracter
    • ncurses_mvaddchnstr — Mover la posición y agregar una cadena con atributos con la longitud especificada
    • ncurses_mvaddchstr — Mover la posición y agregar una cadena con atributos
    • ncurses_mvaddnstr — Mover la posición y agregar una cadena con la longitud especificada
    • ncurses_mvaddstr — Mover la posición y agregar una cadena
    • ncurses_mvcur — Mover el cursor inmediatamente
    • ncurses_mvdelch — Mover la posición y eliminar un caracter, desplazar el resto de la línea hacia la izquierda
    • ncurses_mvgetch — Mover la posición y obtener el caracter en la nueva posición
    • ncurses_mvhline — Establecer una nueva posición y dibujar una línea horizontal usando un caracter con atributos y una longitud máxima de n caracteres
    • ncurses_mvinch — Mover la posición y obtener el caracter con atributos en la nueva posición
    • ncurses_mvvline — Establecer una nueva posición y dibujar una línea vertical usando un caracter con atributos y una longitud máxima de n caracteres
    • ncurses_mvwaddstr — Añadir una cadena en una posicón nueva de la ventana
    • ncurses_napms — Dormir
    • ncurses_new_panel — Crear un nuevo panel y asociarlo con una ventana
    • ncurses_newpad — Crea un nuevo pad (ventana)
    • ncurses_newwin — Crear una nueva ventana
    • ncurses_nl — Traducir línea nueva y retorno de carro / alimentación de línea
    • ncurses_nocbreak — Cambiar la terminal a modo normal (cooked)
    • ncurses_noecho — Desactivar la repetición de entrada del teclado
    • ncurses_nonl — No traducir línea nueva y retorno de carro / alimentación de línea
    • ncurses_noqiflush — No realizar volcados en caracteres de señales
    • ncurses_noraw — Salir del modo puro en la terminal
    • ncurses_pair_content — Obtiene los colores de primer plano y fondo de una pareja de colores
    • ncurses_panel_above — Devuelve el panel encima del panel indicado
    • ncurses_panel_below — Devuelve el panel por debajo del panel indicado
    • ncurses_panel_window — Devuelve la ventana asociada con el panel
    • ncurses_pnoutrefresh — Copia una región desde un pad a la pantalla virtual
    • ncurses_prefresh — Copia una región desde un pad a la pantalla virtual
    • ncurses_putp — Aplicar la información de márgenes a la cadena e imprimirla
    • ncurses_qiflush — Producir volcado en caracteres de señales
    • ncurses_raw — Colocar la terminal en modo puro
    • ncurses_refresh — Refrescar la pantalla
    • ncurses_replace_panel — Reemplaza la ventana asociada con el panel
    • ncurses_reset_prog_mode — Restablece el modo de programa guardado por def_prog_mode
    • ncurses_reset_shell_mode — Restablece el modo de intérprete de comandos guardado por def_shell_mode
    • ncurses_resetty — Restablece el estado guardado de la terminal
    • ncurses_savetty — Guarda el estado de la terminal
    • ncurses_scr_dump — Vuelca el contenido de la pantalla en un archivo
    • ncurses_scr_init — Inicializar la pantalla desde un volcado en un archivo
    • ncurses_scr_restore — Recuperar la pantalla desde un volcado en un archivo
    • ncurses_scr_set — Heredar la pantalla de un volcado en un archivo
    • ncurses_scrl — Desplazar el contenido de la ventana hacia arriba o abajo sin cambiar la posición actual
    • ncurses_show_panel — Coloca un panel invisible al comienzo de la pila, haciéndola visible
    • ncurses_slk_attr — Devuelve el atributo de la etiqueta suave de teclado
    • ncurses_slk_attroff — Deshabilitar los atributos dados para las etiquetas suaves de teclado
    • ncurses_slk_attron — Habilitar los atributos dados para las etiquetas suaves de funciones de teclado
    • ncurses_slk_attrset — Definir los atributos dados para las etiquetas suaves de funciones de teclado
    • ncurses_slk_clear — Limpia las etiquetas suaves de la pantalla
    • ncurses_slk_color — Establece el color para las etiquetas suaves de teclado
    • ncurses_slk_init — Inicializa las funciones de tecla de etiquetación suave
    • ncurses_slk_noutrefresh — Copia las etiquetas suaves de teclado a la pantalla virtual
    • ncurses_slk_refresh — Copia las etiquetas suaves de teclado a la pantalla
    • ncurses_slk_restore — Recupera las etiquetas suaves de teclado
    • ncurses_slk_set — Establece las etiquetas de teclado
    • ncurses_slk_touch — Obliga a que se produzca salida cuando se ejecute ncurses_slk_noutrefresh
    • ncurses_standend — Dejar de usar el atributo 'standout'
    • ncurses_standout — Comenzar a usar el atributo 'standout'
    • ncurses_start_color — Inicializa la funcionalidad de color
    • ncurses_termattrs — Devuelve un valor OR lógico de todas las banderas de atributos soportados por la terminal
    • ncurses_termname — Devuelve el nombre (corto) de la terminal
    • ncurses_timeout — Establecer el tiempo de espera para secuencias especiales de teclas
    • ncurses_top_panel — Mueve un panel visible al tope de la pila
    • ncurses_typeahead — Especificar un descriptor de archivo diferente para el chequeo de escritura siguiente
    • ncurses_ungetch — Colocar un caracter de vuelta en la secuencia de entrada
    • ncurses_ungetmouse — Coloca un evento de mouse en la cola
    • ncurses_update_panels — Refresca la pantalla virtual, para reflejar las relaciones entre los paneles en la pila
    • ncurses_use_default_colors — Asignar los colores predeterminados de la terminal al id de color -1
    • ncurses_use_env — Controlar el uso de información del entorno sobre el tamaño de la terminal
    • ncurses_use_extended_names — Controlar el uso de nombres extendidos en descripciones de información de terminal
    • ncurses_vidattr — Desplegar la cadena en la terminal con el atributo de modo de video
    • ncurses_vline — Dibujar una línea vertical en la posición actual usando un caracter con atributos y una longitud máxima de n caracteres
    • ncurses_waddch — Agrega un caracter en la posición actual de una ventana y avanza el cursor
    • ncurses_waddstr — Imprime un texto en la posición actual de una ventana
    • ncurses_wattroff — Deshabilita los atributos para una ventana
    • ncurses_wattron — Habilita los atributos para una ventana
    • ncurses_wattrset — Establecer los atributos para una ventana
    • ncurses_wborder — Dibuja un borde alrededor de la ventana usando caracteres con atributos
    • ncurses_wclear — Limpia la ventana
    • ncurses_wcolor_set — Establece parejas de colores en la ventana
    • ncurses_werase — Eliminar los contenidos de la ventana
    • ncurses_wgetch — Lee un caracter desde el teclado (en la ventana)
    • ncurses_whline — Dibuja una línea horizontal en una ventana en la posición actual usando un caracter con atributos y un largo máximo de n caracteres
    • ncurses_wmouse_trafo — Transforma coordenadas de ventana/stdscr
    • ncurses_wmove — Mueve la posición de salida de la ventana
    • ncurses_wnoutrefresh — Copia la ventana a la pantalla virtual
    • ncurses_wrefresh — Refrescar la ventana en la pantalla de terminal
    • ncurses_wstandend — Finaliza el modo standout para una ventana
    • ncurses_wstandout — Ingresar a modo standout en una ventana
    • ncurses_wvline — Dibuja una línea vertical en una ventana en la posición actual usando un caracter con atributos y una longitud máxima de n caracteres
Extensiones específicas de la línea de comandos
Introducción
Extensiones específicas de la línea de comandos


Introducción

ncurses (new curses) es una emulacion de software gratuito de curses en System V Rel 4.0 (y superior). Usa el formato terminfo, soporta rellenos, colores, resaltados múltiples, forma de caracteres y función de mapeo de teclas. Debido a la naturaleza interactiva de esta biblioteca, será de uso pequeño para escribir aplicaciones Web, pero puede ser útil al escribir scripts que tienen la intención de usar PHP desde la línea de comandos.

Las características disponibles, como los colores, dependen del terminal que se esté usando. Use funciones tales como ncurses_has_colors(), ncurses_can_change_color(), y ncurses_has_ic() para comprobar las capacidades individuales.

Nota:

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.3.0.

ncurses está disponible para las siguientes plataformas:

  • AIX
  • BeOS
  • BSD (variantes) (FreeBSD, NetBSD, OpenBSD)
  • Cygwin
  • Digital Unix (aka OSF1)
  • GNU/Linux
  • HPUX
  • IRIX64
  • Mac OS X
  • OS/2
  • QNX
  • SCO OpenServer
  • Solaris
  • Tru64

Ncurses
Instalación/Configuración
Ncurses


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Ncurses


Requerimientos

Necesita las bibliotecas y ficheros de cabecera de ncurses. Descargue la última versión desde » ftp://ftp.gnu.org/pub/gnu/ncurses/ o desde otro servidor copia GNU.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/ncurses.

El soporte para caracteres anchos CRT en pantalla (ncursesw) se añadió en la versión 1.0.1 de esta versión de PECL.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

Esta extensión recursos de ventana, panel y relleno.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Tabla de contenidos

  • Códigos de error
  • Colores
  • Claves
  • Ratón

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Tipos de recursos
Códigos de error
Ncurses


Códigos de error

En caso de error, las funciones de ncurses devuelven -1. Algunas funciones devuelven 0 en caso de éxito. Véase las páginas pertinenetes en la documentación para los valores de retorno reales.

Constantes predefinidas
Colores
Constantes predefinidas


Colores

Constantes de color de ncurses
constante | sifnificado
NCURSES_COLOR_BLACK | sin color (negro)
NCURSES_COLOR_WHITE | blanco
NCURSES_COLOR_RED | rojo - soportado cuando el terminal está en modo color
NCURSES_COLOR_GREEN | verde - soportado cuando el terminal está en modo color
NCURSES_COLOR_YELLOW | amarillo - soportado cuando el terminal está en modo color
NCURSES_COLOR_BLUE | azul - soportado cuando el terminal está en modo color
NCURSES_COLOR_CYAN | cian - soportado cuando el terminal está en modo color
NCURSES_COLOR_MAGENTA | magenta - soportado cuando el terminal está en modo color
Códigos de error
Claves
Constantes predefinidas


Claves

Constantes de clave de ncurses
constante | significado
NCURSES_KEY_F0 - NCURSES_KEY_F64 | teclas de función F1 - F64
NCURSES_KEY_DOWN | flecha abajo
NCURSES_KEY_UP | flecha arriba
NCURSES_KEY_LEFT | flecha izquierda
NCURSES_KEY_RIGHT | flecha derecha
NCURSES_KEY_HOME | tecla inicio (arriba+flecha izquierda)
NCURSES_KEY_BACKSPACE | retroceso
NCURSES_KEY_DL | borra línea
NCURSES_KEY_IL | insertar línea
NCURSES_KEY_DC | borra carácter
NCURSES_KEY_IC | insertar carcter o entrar en modo insertar
NCURSES_KEY_EIC | salir del modo insertar carcácter
NCURSES_KEY_CLEAR | limpiar pantalla
NCURSES_KEY_EOS | limpiar hasta el final de la pantalla
NCURSES_KEY_EOL | limpiar hasta el final de línea
NCURSES_KEY_SF | avanzar una línea
NCURSES_KEY_SR | retroceder una línea
NCURSES_KEY_NPAGE | página siguiente
NCURSES_KEY_PPAGE | página anterior
NCURSES_KEY_STAB | establecer tabulación
NCURSES_KEY_CTAB | limpiar tabulación
NCURSES_KEY_CATAB | limpiar todas las tabulaciones
NCURSES_KEY_SRESET | reset suave (parcial)
NCURSES_KEY_RESET | reset o reset duro
NCURSES_KEY_PRINT | imprimir
NCURSES_KEY_LL | inferior izquierda
NCURSES_KEY_A1 | superior izquierda del teclado numérico
NCURSES_KEY_A3 | superio derecha del teclado numérico
NCURSES_KEY_B2 | centro del teclado numérico
NCURSES_KEY_C1 | inferior izquierda del teclado numérico
NCURSES_KEY_C3 | nferior derecha del teclado numérico
NCURSES_KEY_BTAB | retroceso tabulación
NCURSES_KEY_BEG | principio
NCURSES_KEY_CANCEL | cancelar
NCURSES_KEY_CLOSE | cerrar
NCURSES_KEY_COMMAND | cmd (comando)
NCURSES_KEY_COPY | copiar
NCURSES_KEY_CREATE | crear
NCURSES_KEY_END | fin
NCURSES_KEY_EXIT | salir
NCURSES_KEY_FIND | buscar
NCURSES_KEY_HELP | ayuda
NCURSES_KEY_MARK | marcar
NCURSES_KEY_MESSAGE | mensaje
NCURSES_KEY_MOVE | mover
NCURSES_KEY_NEXT | siguiente
NCURSES_KEY_OPEN | abrir
NCURSES_KEY_OPTIONS | opciones
NCURSES_KEY_PREVIOUS | anterior
NCURSES_KEY_REDO | re-hacer
NCURSES_KEY_REFERENCE | ref (referencia)
NCURSES_KEY_REFRESH | refrescar
NCURSES_KEY_REPLACE | reemplazar
NCURSES_KEY_RESTART | reiniciar
NCURSES_KEY_RESUME | continuar
NCURSES_KEY_SAVE | guardar
NCURSES_KEY_SBEG | principio corrido
NCURSES_KEY_SCANCEL | cancelar corrido
NCURSES_KEY_SCOMMAND | comando corrido
NCURSES_KEY_SCOPY | copiar corrido
NCURSES_KEY_SCREATE | crear corrido
NCURSES_KEY_SDC | borrar caracter corrido
NCURSES_KEY_SDL | borrar línea corrido
NCURSES_KEY_SELECT | seleccionar
NCURSES_KEY_SEND | fin corrido
NCURSES_KEY_SEOL | fin de línea corrido
NCURSES_KEY_SEXIT | salir corrido
NCURSES_KEY_SFIND | buscar corrido
NCURSES_KEY_SHELP | ayuda corrido
NCURSES_KEY_SHOME | inicio corrido
NCURSES_KEY_SIC | entrada corrido
NCURSES_KEY_SLEFT | flecha izquierda corrido
NCURSES_KEY_SMESSAGE | mensaje corrido
NCURSES_KEY_SMOVE | mover corrido
NCURSES_KEY_SNEXT | siguiente corrido
NCURSES_KEY_SOPTIONS | opciones corrido
NCURSES_KEY_SPREVIOUS | anterior corrido
NCURSES_KEY_SPRINT | imprimir corrido
NCURSES_KEY_SREDO | re-hacer corrido
NCURSES_KEY_SREPLACE | reemplazar corrido
NCURSES_KEY_SRIGHT | flecha derecha corrido
NCURSES_KEY_SRSUME | continuar corrido
NCURSES_KEY_SSAVE | guardar corrido
NCURSES_KEY_SSUSPEND | suspender corrido
NCURSES_KEY_UNDO | deshacer
NCURSES_KEY_MOUSE | ha ocurrido un evento del ratón
NCURSES_KEY_MAX | valor máximo de tecla
Colores
Ratón
Constantes predefinidas


Ratón

Constantes de ratón
constante | significado
NCURSES_BUTTON1_RELEASED - NCURSES_BUTTON4_RELEASED | botón (1-4) soltado
NCURSES_BUTTON1_PRESSED - NCURSES_BUTTON4_PRESSED | botón (1-4) presionado
NCURSES_BUTTON1_CLICKED - NCURSES_BUTTON4_CLICKED | botón (1-4) clicado
NCURSES_BUTTON1_DOUBLE_CLICKED - NCURSES_BUTTON4_DOUBLE_CLICKED | botón (1-4) doble clicado
NCURSES_BUTTON1_TRIPLE_CLICKED - NCURSES_BUTTON4_TRIPLE_CLICKED | botón (1-4) triple clicado
NCURSES_BUTTON_CTRL | ctrl pulsada durante clic
NCURSES_BUTTON_SHIFT | shift pulsada durante clic
NCURSES_BUTTON_ALT | alt pulsada durante clic
NCURSES_ALL_MOUSE_EVENTS | niformar de todos los eventos de ratón
NCURSES_REPORT_MOUSE_POSITION | informar de la posición del ratón
Claves
Funciones de Ncurses
Constantes predefinidas


Funciones de Ncurses

Tabla de contenidos

  • ncurses_addch — Agregar un caracter en la posición actual y avanzar el cursor
  • ncurses_addchnstr — Agregar cadena con atributos y longitud especificada en la posición actual
  • ncurses_addchstr — Agregar una cadena con atributos en la posición actual
  • ncurses_addnstr — Agregar una cadena con la longitud especificada en la posición actual
  • ncurses_addstr — Imprimir texto en la posición actual
  • ncurses_assume_default_colors — Definir colores predeterminados para el color 0
  • ncurses_attroff — Deshabilitar los atributos dados
  • ncurses_attron — Habilitar los atributos dados
  • ncurses_attrset — Establecer los atributos dados
  • ncurses_baudrate — Devuelve la tasa de baudios de la terminal
  • ncurses_beep — Producir un beep en la terminal
  • ncurses_bkgd — Establecer la propiedad de segundo plano para la pantalla de la terminal
  • ncurses_bkgdset — Controla el segundo plano de la pantalla
  • ncurses_border — Dibujar un borde alrededor de la pantalla usando caracteres con atributos
  • ncurses_bottom_panel — Mueve un panel visible al fondo de la pila
  • ncurses_can_change_color — Comprobar si las definiciones de color del terminal se pueden cambiar
  • ncurses_cbreak — Desactivar el buffer de entrada
  • ncurses_clear — Limpiar la pantalla
  • ncurses_clrtobot — Limpiar la pantalla desde la posición actual al final
  • ncurses_clrtoeol — Limpiar la pantalla desde la posición actual al final de la línea
  • ncurses_color_content — Obtiene los componentes RGB de un color
  • ncurses_color_set — Establecer los colores de primer plano y fondo activos
  • ncurses_curs_set — Establecer el estado del cursor
  • ncurses_def_prog_mode — Guarda los modos de terminal (programa)
  • ncurses_def_shell_mode — Guarda los modos de terminal (intérprete de comandos)
  • ncurses_define_key — Definir un código de tecla
  • ncurses_del_panel — Remover un panel de la pila y eliminarlo (pero no la ventana asociada)
  • ncurses_delay_output — Retrasar la salida en la terminal usando caracteres de relleno
  • ncurses_delch — Eliminar un caracter en la posición actual, mover el resto de la línea hacia la izquierda
  • ncurses_deleteln — Eliminar una línea en la posición actual, mover el resto de la pantalla hacia arriba
  • ncurses_delwin — Eliminar una ventana ncurses
  • ncurses_doupdate — Escribir todas las actualizaciones preparadas sobre la terminal
  • ncurses_echo — Activar la repetición de entrada del teclado
  • ncurses_echochar — Salida de un caracter sencillo, incluyendo actualización
  • ncurses_end — Dejar de usar ncurses, limpiar la pantalla
  • ncurses_erase — Limpiar pantalla de terminal
  • ncurses_erasechar — Devuelve el caracter de borrado actual
  • ncurses_filter — Definir LINES para iniscr() y newterm() a 1
  • ncurses_flash — Relampaguear la pantalla de terminal (campana visual)
  • ncurses_flushinp — Volcar el búfer de entrada de teclado
  • ncurses_getch — Leer un caracter desde el teclado
  • ncurses_getmaxyx — Devuelve el tamaño de una ventana
  • ncurses_getmouse — Lee los eventos del ratón
  • ncurses_getyx — Devuelve la posición de cursor actual para una ventana
  • ncurses_halfdelay — Colocar la terminal en modo de medio retraso
  • ncurses_has_colors — Comprueba si el terminal tiene capacidades de color
  • ncurses_has_ic — Chequear por el soporte de inserción y borrado
  • ncurses_has_il — Chequea el soporte de inserción y borrado
  • ncurses_has_key — Chequear por la presencia de una tecla de función en el teclado de la terminal
  • ncurses_hide_panel — Remover un panel de la pila, haciéndolo invisible
  • ncurses_hline — Dibujar una línea horizontal en la posición actual usando un caracter con atributos, y de máximo n caracteres de largo
  • ncurses_inch — Obtener el caracter y los atributos de la posición actual
  • ncurses_init_color — Definir un color de termimal
  • ncurses_init_pair — Definir una pareja de colores
  • ncurses_init — Inicializar ncurses
  • ncurses_insch — Insertar un caracter, moviendo el resto de la línea, incluyendo el caracter en la posición actual
  • ncurses_insdelln — Insertar líneas antes de la línea actual, desplazando hacia abajo (los números negativos eliminan líneas y desplazan hacia arriba)
  • ncurses_insertln — Insertar una línea, mover el resto de la pantalla hacia abajo
  • ncurses_insstr — Insertar cadena en la posición actual, moviendo el resto de la línea hacia la derecha
  • ncurses_instr — Lee una cadena desde la pantalla de terminal
  • ncurses_isendwin — Ncurses está en modo endwin, se puede realizar una salida normal por pantalla
  • ncurses_keyok — Habilitar o deshabilitar un código de tecla
  • ncurses_keypad — Activa o desactiva el teclado numérico
  • ncurses_killchar — Devuelve el caracter de eliminación de línea actual
  • ncurses_longname — Devuelve la descripción de la terminal
  • ncurses_meta — Habilita/deshabilita la meta-información de 8-bits de tecla
  • ncurses_mouse_trafo — Transforma coordenadas
  • ncurses_mouseinterval — Establecer el tiempo de espera para clics de botón del mouse
  • ncurses_mousemask — Establece las opciones del ratón
  • ncurses_move_panel — Mueve un panel de modo que su esquina superior izquierda se encuentre en [comienzo_x, comienzo_y]
  • ncurses_move — Mover la posición de salida
  • ncurses_mvaddch — Mover la posición actual y agregar un caracter
  • ncurses_mvaddchnstr — Mover la posición y agregar una cadena con atributos con la longitud especificada
  • ncurses_mvaddchstr — Mover la posición y agregar una cadena con atributos
  • ncurses_mvaddnstr — Mover la posición y agregar una cadena con la longitud especificada
  • ncurses_mvaddstr — Mover la posición y agregar una cadena
  • ncurses_mvcur — Mover el cursor inmediatamente
  • ncurses_mvdelch — Mover la posición y eliminar un caracter, desplazar el resto de la línea hacia la izquierda
  • ncurses_mvgetch — Mover la posición y obtener el caracter en la nueva posición
  • ncurses_mvhline — Establecer una nueva posición y dibujar una línea horizontal usando un caracter con atributos y una longitud máxima de n caracteres
  • ncurses_mvinch — Mover la posición y obtener el caracter con atributos en la nueva posición
  • ncurses_mvvline — Establecer una nueva posición y dibujar una línea vertical usando un caracter con atributos y una longitud máxima de n caracteres
  • ncurses_mvwaddstr — Añadir una cadena en una posicón nueva de la ventana
  • ncurses_napms — Dormir
  • ncurses_new_panel — Crear un nuevo panel y asociarlo con una ventana
  • ncurses_newpad — Crea un nuevo pad (ventana)
  • ncurses_newwin — Crear una nueva ventana
  • ncurses_nl — Traducir línea nueva y retorno de carro / alimentación de línea
  • ncurses_nocbreak — Cambiar la terminal a modo normal (cooked)
  • ncurses_noecho — Desactivar la repetición de entrada del teclado
  • ncurses_nonl — No traducir línea nueva y retorno de carro / alimentación de línea
  • ncurses_noqiflush — No realizar volcados en caracteres de señales
  • ncurses_noraw — Salir del modo puro en la terminal
  • ncurses_pair_content — Obtiene los colores de primer plano y fondo de una pareja de colores
  • ncurses_panel_above — Devuelve el panel encima del panel indicado
  • ncurses_panel_below — Devuelve el panel por debajo del panel indicado
  • ncurses_panel_window — Devuelve la ventana asociada con el panel
  • ncurses_pnoutrefresh — Copia una región desde un pad a la pantalla virtual
  • ncurses_prefresh — Copia una región desde un pad a la pantalla virtual
  • ncurses_putp — Aplicar la información de márgenes a la cadena e imprimirla
  • ncurses_qiflush — Producir volcado en caracteres de señales
  • ncurses_raw — Colocar la terminal en modo puro
  • ncurses_refresh — Refrescar la pantalla
  • ncurses_replace_panel — Reemplaza la ventana asociada con el panel
  • ncurses_reset_prog_mode — Restablece el modo de programa guardado por def_prog_mode
  • ncurses_reset_shell_mode — Restablece el modo de intérprete de comandos guardado por def_shell_mode
  • ncurses_resetty — Restablece el estado guardado de la terminal
  • ncurses_savetty — Guarda el estado de la terminal
  • ncurses_scr_dump — Vuelca el contenido de la pantalla en un archivo
  • ncurses_scr_init — Inicializar la pantalla desde un volcado en un archivo
  • ncurses_scr_restore — Recuperar la pantalla desde un volcado en un archivo
  • ncurses_scr_set — Heredar la pantalla de un volcado en un archivo
  • ncurses_scrl — Desplazar el contenido de la ventana hacia arriba o abajo sin cambiar la posición actual
  • ncurses_show_panel — Coloca un panel invisible al comienzo de la pila, haciéndola visible
  • ncurses_slk_attr — Devuelve el atributo de la etiqueta suave de teclado
  • ncurses_slk_attroff — Deshabilitar los atributos dados para las etiquetas suaves de teclado
  • ncurses_slk_attron — Habilitar los atributos dados para las etiquetas suaves de funciones de teclado
  • ncurses_slk_attrset — Definir los atributos dados para las etiquetas suaves de funciones de teclado
  • ncurses_slk_clear — Limpia las etiquetas suaves de la pantalla
  • ncurses_slk_color — Establece el color para las etiquetas suaves de teclado
  • ncurses_slk_init — Inicializa las funciones de tecla de etiquetación suave
  • ncurses_slk_noutrefresh — Copia las etiquetas suaves de teclado a la pantalla virtual
  • ncurses_slk_refresh — Copia las etiquetas suaves de teclado a la pantalla
  • ncurses_slk_restore — Recupera las etiquetas suaves de teclado
  • ncurses_slk_set — Establece las etiquetas de teclado
  • ncurses_slk_touch — Obliga a que se produzca salida cuando se ejecute ncurses_slk_noutrefresh
  • ncurses_standend — Dejar de usar el atributo 'standout'
  • ncurses_standout — Comenzar a usar el atributo 'standout'
  • ncurses_start_color — Inicializa la funcionalidad de color
  • ncurses_termattrs — Devuelve un valor OR lógico de todas las banderas de atributos soportados por la terminal
  • ncurses_termname — Devuelve el nombre (corto) de la terminal
  • ncurses_timeout — Establecer el tiempo de espera para secuencias especiales de teclas
  • ncurses_top_panel — Mueve un panel visible al tope de la pila
  • ncurses_typeahead — Especificar un descriptor de archivo diferente para el chequeo de escritura siguiente
  • ncurses_ungetch — Colocar un caracter de vuelta en la secuencia de entrada
  • ncurses_ungetmouse — Coloca un evento de mouse en la cola
  • ncurses_update_panels — Refresca la pantalla virtual, para reflejar las relaciones entre los paneles en la pila
  • ncurses_use_default_colors — Asignar los colores predeterminados de la terminal al id de color -1
  • ncurses_use_env — Controlar el uso de información del entorno sobre el tamaño de la terminal
  • ncurses_use_extended_names — Controlar el uso de nombres extendidos en descripciones de información de terminal
  • ncurses_vidattr — Desplegar la cadena en la terminal con el atributo de modo de video
  • ncurses_vline — Dibujar una línea vertical en la posición actual usando un caracter con atributos y una longitud máxima de n caracteres
  • ncurses_waddch — Agrega un caracter en la posición actual de una ventana y avanza el cursor
  • ncurses_waddstr — Imprime un texto en la posición actual de una ventana
  • ncurses_wattroff — Deshabilita los atributos para una ventana
  • ncurses_wattron — Habilita los atributos para una ventana
  • ncurses_wattrset — Establecer los atributos para una ventana
  • ncurses_wborder — Dibuja un borde alrededor de la ventana usando caracteres con atributos
  • ncurses_wclear — Limpia la ventana
  • ncurses_wcolor_set — Establece parejas de colores en la ventana
  • ncurses_werase — Eliminar los contenidos de la ventana
  • ncurses_wgetch — Lee un caracter desde el teclado (en la ventana)
  • ncurses_whline — Dibuja una línea horizontal en una ventana en la posición actual usando un caracter con atributos y un largo máximo de n caracteres
  • ncurses_wmouse_trafo — Transforma coordenadas de ventana/stdscr
  • ncurses_wmove — Mueve la posición de salida de la ventana
  • ncurses_wnoutrefresh — Copia la ventana a la pantalla virtual
  • ncurses_wrefresh — Refrescar la ventana en la pantalla de terminal
  • ncurses_wstandend — Finaliza el modo standout para una ventana
  • ncurses_wstandout — Ingresar a modo standout en una ventana
  • ncurses_wvline — Dibuja una línea vertical en una ventana en la posición actual usando un caracter con atributos y una longitud máxima de n caracteres
Ratón
ncurses_addch
Ncurses


Agregar un caracter en la posición actual y avanzar el cursor

Funciones de Ncurses
ncurses_addchnstr
Funciones de Ncurses
PHP Manual

ncurses_addch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_addch — Agregar un caracter en la posición actual y avanzar el cursor

Descripción

int ncurses_addch ( int $ch )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

ch

Funciones de Ncurses
ncurses_addchnstr
Funciones de Ncurses


Agregar cadena con atributos y longitud especificada en la posición actual

ncurses_addch
ncurses_addchstr
Funciones de Ncurses
PHP Manual

ncurses_addchnstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_addchnstr — Agregar cadena con atributos y longitud especificada en la posición actual

Descripción

int ncurses_addchnstr ( string $s , int $n )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

s

n

ncurses_addch
ncurses_addchstr
Funciones de Ncurses


Agregar una cadena con atributos en la posición actual

ncurses_addchnstr
ncurses_addnstr
Funciones de Ncurses
PHP Manual

ncurses_addchstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_addchstr — Agregar una cadena con atributos en la posición actual

Descripción

int ncurses_addchstr ( string $s )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

s

ncurses_addchnstr
ncurses_addnstr
Funciones de Ncurses


Agregar una cadena con la longitud especificada en la posición actual

ncurses_addchstr
ncurses_addstr
Funciones de Ncurses
PHP Manual

ncurses_addnstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_addnstr — Agregar una cadena con la longitud especificada en la posición actual

Descripción

int ncurses_addnstr ( string $s , int $n )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

s

n

ncurses_addchstr
ncurses_addstr
Funciones de Ncurses


Imprimir texto en la posición actual

ncurses_addnstr
ncurses_assume_default_colors
Funciones de Ncurses
PHP Manual

ncurses_addstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_addstr — Imprimir texto en la posición actual

Descripción

int ncurses_addstr ( string $text )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

text

ncurses_addnstr
ncurses_assume_default_colors
Funciones de Ncurses


Definir colores predeterminados para el color 0

ncurses_addstr
ncurses_attroff
Funciones de Ncurses
PHP Manual

ncurses_assume_default_colors

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_assume_default_colors — Definir colores predeterminados para el color 0

Descripción

int ncurses_assume_default_colors ( int $fg , int $bg )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

fg

bg

ncurses_addstr
ncurses_attroff
Funciones de Ncurses


Deshabilitar los atributos dados

ncurses_assume_default_colors
ncurses_attron
Funciones de Ncurses
PHP Manual

ncurses_attroff

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_attroff — Deshabilitar los atributos dados

Descripción

int ncurses_attroff ( int $attributes )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

attributes

ncurses_assume_default_colors
ncurses_attron
Funciones de Ncurses


Habilitar los atributos dados

ncurses_attroff
ncurses_attrset
Funciones de Ncurses
PHP Manual

ncurses_attron

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_attron — Habilitar los atributos dados

Descripción

int ncurses_attron ( int $attributes )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

attributes

ncurses_attroff
ncurses_attrset
Funciones de Ncurses


Establecer los atributos dados

ncurses_attron
ncurses_baudrate
Funciones de Ncurses
PHP Manual

ncurses_attrset

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_attrset — Establecer los atributos dados

Descripción

int ncurses_attrset ( int $attributes )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

attributes

ncurses_attron
ncurses_baudrate
Funciones de Ncurses


Devuelve la tasa de baudios de la terminal

ncurses_attrset
ncurses_beep
Funciones de Ncurses
PHP Manual

ncurses_baudrate

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_baudrate — Devuelve la tasa de baudios de la terminal

Descripción

int ncurses_baudrate ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

ncurses_attrset
ncurses_beep
Funciones de Ncurses


Producir un beep en la terminal

ncurses_baudrate
ncurses_bkgd
Funciones de Ncurses
PHP Manual

ncurses_beep

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_beep — Producir un beep en la terminal

Descripción

int ncurses_beep ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

ncurses_beep() envía una alerta auditiva (campana), y si no es posible produce un relampagueo en la pantalla.

Ver también

  • ncurses_flash() - Relampaguear la pantalla de terminal (campana visual)

ncurses_baudrate
ncurses_bkgd
Funciones de Ncurses


Establecer la propiedad de segundo plano para la pantalla de la terminal

ncurses_beep
ncurses_bkgdset
Funciones de Ncurses
PHP Manual

ncurses_bkgd

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_bkgd — Establecer la propiedad de segundo plano para la pantalla de la terminal

Descripción

int ncurses_bkgd ( int $attrchar )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

attrchar

ncurses_beep
ncurses_bkgdset
Funciones de Ncurses


Controla el segundo plano de la pantalla

ncurses_bkgd
ncurses_border
Funciones de Ncurses
PHP Manual

ncurses_bkgdset

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_bkgdset — Controla el segundo plano de la pantalla

Descripción

void ncurses_bkgdset ( int $attrchar )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

attrchar

ncurses_bkgd
ncurses_border
Funciones de Ncurses


Dibujar un borde alrededor de la pantalla usando caracteres con atributos

ncurses_bkgdset
ncurses_bottom_panel
Funciones de Ncurses
PHP Manual

ncurses_border

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_border — Dibujar un borde alrededor de la pantalla usando caracteres con atributos

Descripción

int ncurses_border ( int $left , int $right , int $top , int $bottom , int $tl_corner , int $tr_corner , int $bl_corner , int $br_corner )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Dibuja las líneas y esquinas especificadas alrededor de la ventana principal.

¡Utilice ncurses_wborder() para los bordes alrededor de sub-ventanas!

Parámetros

Cada parámetro espera 0 para dibujar una línea, o 1 para ignorarla.

izquierda

derecha

arriba

abajo

esquina_sup_izq

Esquina superior izquierda

esquina_sup_der

Esquina superior derecha

esquina_inf_izq

Esquina inferior izquierda

esquina_inf_der

Esquina inferior derecha

Ver también

  • ncurses_wborder() - Dibuja un borde alrededor de la ventana usando caracteres con atributos

ncurses_bkgdset
ncurses_bottom_panel
Funciones de Ncurses


Mueve un panel visible al fondo de la pila

ncurses_border
ncurses_can_change_color
Funciones de Ncurses
PHP Manual

ncurses_bottom_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_bottom_panel — Mueve un panel visible al fondo de la pila

Descripción

int ncurses_bottom_panel ( resource $panel )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

panel

ncurses_border
ncurses_can_change_color
Funciones de Ncurses


Comprobar si las definiciones de color del terminal se pueden cambiar

ncurses_bottom_panel
ncurses_cbreak
Funciones de Ncurses
PHP Manual

ncurses_can_change_color

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_can_change_color — Comprobar si las definiciones de color del terminal se pueden cambiar

Descripción

bool ncurses_can_change_color ( void )

Comprueba si el terminal tiene capacidades de color y si el programador puede cambiar las definiciones de color usando ncurses_init_color(). ncurses debe ser inicializado usando ncurses_init() antes de llamar a esta función.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si el programador puede cambiar las definiciones de color, FALSE si no.

Ver también

  • ncurses_has_colors() - Comprueba si el terminal tiene capacidades de color
  • ncurses_init_color() - Definir un color de termimal
  • ncurses_start_color() - Inicializa la funcionalidad de color

ncurses_bottom_panel
ncurses_cbreak
Funciones de Ncurses


Desactivar el buffer de entrada

ncurses_can_change_color
ncurses_clear
Funciones de Ncurses
PHP Manual

ncurses_cbreak

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_cbreak — Desactivar el buffer de entrada

Descripción

bool ncurses_cbreak ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Deshabilita el buffer de línea y el procesamiento de caracters (la interrumpción y el control de flujo de caracteres no son afectados), haciendo que los caracterse tecleados por el usuario estén disponibles inmediatamente para el programa.

Valores devueltos

Devuelve TRUE o NCURSES_ERR si ocurrión un error.

Ver también

  • ncurses_nocbreak() - Cambiar la terminal a modo normal (cooked)

ncurses_can_change_color
ncurses_clear
Funciones de Ncurses


Limpiar la pantalla

ncurses_cbreak
ncurses_clrtobot
Funciones de Ncurses
PHP Manual

ncurses_clear

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_clear — Limpiar la pantalla

Descripción

bool ncurses_clear ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Limpia la pantalla completamente sin usar caracteres en blanco.

Nota: ncurses_clear() limpia la pantalla sin usar caracteres en blanco, que tienen la misma apariencia del segundo plano actual. Para limpiar la pantalla con caracteres en blanco, use ncurses_erase().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ncurses_erase() - Limpiar pantalla de terminal

ncurses_cbreak
ncurses_clrtobot
Funciones de Ncurses


Limpiar la pantalla desde la posición actual al final

ncurses_clear
ncurses_clrtoeol
Funciones de Ncurses
PHP Manual

ncurses_clrtobot

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_clrtobot — Limpiar la pantalla desde la posición actual al final

Descripción

bool ncurses_clrtobot ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Elimina todas las líneas desde el cursor hasta el fin de la pantalla y crea caracteres en blanco. Los caracteres en blanco creados por ncurses_clrtobot() tienen la apariencia del segundo plano actual.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ncurses_clear() - Limpiar la pantalla
  • ncurses_clrtoeol() - Limpiar la pantalla desde la posición actual al final de la línea

ncurses_clear
ncurses_clrtoeol
Funciones de Ncurses


Limpiar la pantalla desde la posición actual al final de la línea

ncurses_clrtobot
ncurses_color_content
Funciones de Ncurses
PHP Manual

ncurses_clrtoeol

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_clrtoeol — Limpiar la pantalla desde la posición actual al final de la línea

Descripción

bool ncurses_clrtoeol ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Elimina la línea actual desde la posición actual hasta el final. Los caracteres en blanco creados por ncurses_clrtoeol() tienen la apariencia del segundo plano actual.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ncurses_clear() - Limpiar la pantalla
  • ncurses_clrtobot() - Limpiar la pantalla desde la posición actual al final

ncurses_clrtobot
ncurses_color_content
Funciones de Ncurses


Obtiene los componentes RGB de un color

ncurses_clrtoeol
ncurses_color_set
Funciones de Ncurses
PHP Manual

ncurses_color_content

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_color_content — Obtiene los componentes RGB de un color

Descripción

int ncurses_color_content ( int $color , int &$r , int &$g , int &$b )

Obtiene los componentes rojo, verde y azul de la definición de color dada. Las capacidades de color del terminal deben ser inicializadas con ncurses_start_color() antes de llamar a esta función.

Parámetros

color

El número del color del que se va a obtener información. Puede ser una de las constantes de color predefinidas.

r

Una referencia a la que devolver el componente rojo del color. El valor devuelto a la referencia estará entre 0 y 1000.

g

Una referencia a la que devolver el componente verde del color. El valor devuelto a la referencia estará entre 0 y 1000.

b

Una referencia a la que devolver el componente azul del color. El valor devuelto a la referencia estará entre 0 y 1000.

Valores devueltos

Returns -1 si la función tuvo éxito, y 0 si ncurses o las capacidades de color del terminal no han sido inicializadas.

Ver también

  • ncurses_init_color() - Definir un color de termimal
  • ncurses_start_color() - Inicializa la funcionalidad de color

ncurses_clrtoeol
ncurses_color_set
Funciones de Ncurses


Establecer los colores de primer plano y fondo activos

ncurses_color_content
ncurses_curs_set
Funciones de Ncurses
PHP Manual

ncurses_color_set

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_color_set — Establecer los colores de primer plano y fondo activos

Descripción

int ncurses_color_set ( int $pair )

Establecer los colores de primer plano y fondo activos. Cualquier carácter escrito después de llamar a esta función tendrá estos colores. Esta función requiere colores de terminal para ser soportados e inicializados usando ncurses_start_color() con antelación.

ncurses utiliza pares de colores para especificar los colores de primer plano y fondo. Use ncurses_init_pair() para definir una pareja de colores.

Parámetros

pair

La pareja de colores que va a obtener los colores de primer plano y fondo para establecer los colores activos.

Valores devueltos

Devuelve -1 en caso de éxito, y 0 en caso de fallo.

Ejemplos

Ejemplo #1 Writing a string with a specified color to the screen

<?php
ncurses_init();

// Si el terminal soporta colores, inicializar y establecer el color activo
if (ncurses_has_colors()) {
    ncurses_start_color();
    ncurses_init_pair(1, NCURSES_COLOR_YELLOW, NCURSES_COLOR_BLUE);
    ncurses_color_set(1);
}

// Escribir una cadena en la ubicación especificada
ncurses_mvaddstr(10, 10, "¡Hola mundo! ¡Amarillo sobre texto azul!");

// Volcar la salida a la pantalla
ncurses_refresh();

ncurses_end();
?>

Ver también

  • ncurses_init_pair() - Definir una pareja de colores
  • ncurses_start_color() - Inicializa la funcionalidad de color

ncurses_color_content
ncurses_curs_set
Funciones de Ncurses


Establecer el estado del cursor

ncurses_color_set
ncurses_def_prog_mode
Funciones de Ncurses
PHP Manual

ncurses_curs_set

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_curs_set — Establecer el estado del cursor

Descripción

int ncurses_curs_set ( int $visibility )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

visibility

ncurses_color_set
ncurses_def_prog_mode
Funciones de Ncurses


Guarda los modos de terminal (programa)

ncurses_curs_set
ncurses_def_shell_mode
Funciones de Ncurses
PHP Manual

ncurses_def_prog_mode

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_def_prog_mode — Guarda los modos de terminal (programa)

Descripción

bool ncurses_def_prog_mode ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Guarda los modos de terminal actuales para programa (en curses) para su uso por ncurses_reset_prog_mode().

Valores devueltos

Devuelve FALSE en caso de éxito, TRUE de lo contrario.

Ver también

  • ncurses_reset_prog_mode() - Restablece el modo de programa guardado por def_prog_mode

ncurses_curs_set
ncurses_def_shell_mode
Funciones de Ncurses


Guarda los modos de terminal (intérprete de comandos)

ncurses_def_prog_mode
ncurses_define_key
Funciones de Ncurses
PHP Manual

ncurses_def_shell_mode

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_def_shell_mode — Guarda los modos de terminal (intérprete de comandos)

Descripción

bool ncurses_def_shell_mode ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Guarda los modos de terminal actuales de intérprete de comandos (no en curses) para su uso con ncurses_reset_shell_mode().

Valores devueltos

Devuelve FALSE en caso de éxito, TRUE de lo contrario.

Ver también

  • ncurses_reset_shell_mode() - Restablece el modo de intérprete de comandos guardado por def_shell_mode

ncurses_def_prog_mode
ncurses_define_key
Funciones de Ncurses


Definir un código de tecla

ncurses_def_shell_mode
ncurses_del_panel
Funciones de Ncurses
PHP Manual

ncurses_define_key

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_define_key — Definir un código de tecla

Descripción

int ncurses_define_key ( string $definition , int $keycode )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

definicion

codigo_tecla

ncurses_def_shell_mode
ncurses_del_panel
Funciones de Ncurses


Remover un panel de la pila y eliminarlo (pero no la ventana asociada)

ncurses_define_key
ncurses_delay_output
Funciones de Ncurses
PHP Manual

ncurses_del_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_del_panel — Remover un panel de la pila y eliminarlo (pero no la ventana asociada)

Descripción

bool ncurses_del_panel ( resource $panel )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

panel

ncurses_define_key
ncurses_delay_output
Funciones de Ncurses


Retrasar la salida en la terminal usando caracteres de relleno

ncurses_del_panel
ncurses_delch
Funciones de Ncurses
PHP Manual

ncurses_delay_output

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_delay_output — Retrasar la salida en la terminal usando caracteres de relleno

Descripción

int ncurses_delay_output ( int $milliseconds )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

milliseconds

ncurses_del_panel
ncurses_delch
Funciones de Ncurses


Eliminar un caracter en la posición actual, mover el resto de la línea hacia la izquierda

ncurses_delay_output
ncurses_deleteln
Funciones de Ncurses
PHP Manual

ncurses_delch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_delch — Eliminar un caracter en la posición actual, mover el resto de la línea hacia la izquierda

Descripción

bool ncurses_delch ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Elimina el caracter bajo el cursor. Todos los caracteres a la derecha del cursor en la misma línea son desplazados una posición hacia la izquierda, y el último caracter en la línea es llenado con un caracter en blanco. La posición del cursor no cambia.

Valores devueltos

Devuelve FALSE en caso de tener éxito, o TRUE de lo contrario.

Ver también

  • ncurses_deleteln() - Eliminar una línea en la posición actual, mover el resto de la pantalla hacia arriba

ncurses_delay_output
ncurses_deleteln
Funciones de Ncurses


Eliminar una línea en la posición actual, mover el resto de la pantalla hacia arriba

ncurses_delch
ncurses_delwin
Funciones de Ncurses
PHP Manual

ncurses_deleteln

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_deleteln — Eliminar una línea en la posición actual, mover el resto de la pantalla hacia arriba

Descripción

bool ncurses_deleteln ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Elimina la línea actual bajo la posición del cursor. Todas las líneas por debajo de la línea actual son desplazadas una línea hacia arriba. La línea más baja es limpiada. La posición del cursor no cambia.

Valores devueltos

Devuelve FALSE en caso de éxito, TRUE de lo contrario.

Ver también

  • ncurses_delch() - Eliminar un caracter en la posición actual, mover el resto de la línea hacia la izquierda

ncurses_delch
ncurses_delwin
Funciones de Ncurses


Eliminar una ventana ncurses

ncurses_deleteln
ncurses_doupdate
Funciones de Ncurses
PHP Manual

ncurses_delwin

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_delwin — Eliminar una ventana ncurses

Descripción

bool ncurses_delwin ( resource $window )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

window

ncurses_deleteln
ncurses_doupdate
Funciones de Ncurses


Escribir todas las actualizaciones preparadas sobre la terminal

ncurses_delwin
ncurses_echo
Funciones de Ncurses
PHP Manual

ncurses_doupdate

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_doupdate — Escribir todas las actualizaciones preparadas sobre la terminal

Descripción

bool ncurses_doupdate ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Compara la pantalla virtual con la pantalla física y actualiza la pantalla física. De esta forma es más efectivo que usando múltiples llamadas de actualización.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ncurses_delwin
ncurses_echo
Funciones de Ncurses


Activar la repetición de entrada del teclado

ncurses_doupdate
ncurses_echochar
Funciones de Ncurses
PHP Manual

ncurses_echo

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_echo — Activar la repetición de entrada del teclado

Descripción

bool ncurses_echo ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Habilita el modo de repetición. Todos los caracteres escritos por el usuario son repetidos por ncurses_getch().

Valores devueltos

Devuelve FALSE de tener éxito, o TRUE si ocurrió algún error.

Ver también

  • ncurses_noecho() - Desactivar la repetición de entrada del teclado para deshabilitar el modo de repetición

ncurses_doupdate
ncurses_echochar
Funciones de Ncurses


Salida de un caracter sencillo, incluyendo actualización

ncurses_echo
ncurses_end
Funciones de Ncurses
PHP Manual

ncurses_echochar

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_echochar — Salida de un caracter sencillo, incluyendo actualización

Descripción

int ncurses_echochar ( int $character )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

character

ncurses_echo
ncurses_end
Funciones de Ncurses


Dejar de usar ncurses, limpiar la pantalla

ncurses_echochar
ncurses_erase
Funciones de Ncurses
PHP Manual

ncurses_end

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_end — Dejar de usar ncurses, limpiar la pantalla

Descripción

int ncurses_end ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

ncurses_echochar
ncurses_erase
Funciones de Ncurses


Limpiar pantalla de terminal

ncurses_end
ncurses_erasechar
Funciones de Ncurses
PHP Manual

ncurses_erase

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_erase — Limpiar pantalla de terminal

Descripción

bool ncurses_erase ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Llena la pantalla de terminal con caracteres en blanco.

Los caracteres creados tienen la apariencia del segundo plano actual, establecida por ncurses_bkgd().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ncurses_bkgd() - Establecer la propiedad de segundo plano para la pantalla de la terminal
  • ncurses_clear() - Limpiar la pantalla

ncurses_end
ncurses_erasechar
Funciones de Ncurses


Devuelve el caracter de borrado actual

ncurses_erase
ncurses_filter
Funciones de Ncurses
PHP Manual

ncurses_erasechar

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_erasechar — Devuelve el caracter de borrado actual

Descripción

string ncurses_erasechar ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Devuelve el caracter de borrado actual.

Valores devueltos

El caracter de borrado actual, como una cadena.

Ver también

  • ncurses_killchar() - Devuelve el caracter de eliminación de línea actual

ncurses_erase
ncurses_filter
Funciones de Ncurses


Definir LINES para iniscr() y newterm() a 1

ncurses_erasechar
ncurses_flash
Funciones de Ncurses
PHP Manual

ncurses_filter

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_filter — Definir LINES para iniscr() y newterm() a 1

Descripción

void ncurses_filter ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

ncurses_erasechar
ncurses_flash
Funciones de Ncurses


Relampaguear la pantalla de terminal (campana visual)

ncurses_filter
ncurses_flushinp
Funciones de Ncurses
PHP Manual

ncurses_flash

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_flash — Relampaguear la pantalla de terminal (campana visual)

Descripción

bool ncurses_flash ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Relampaguea la pantalla, y si no es posible, envía una aletra auditiva (campana).

Valores devueltos

Devuelve FALSE de tener éxito, TRUE de lo contrario.

Ver también

  • ncurses_beep() - Producir un beep en la terminal

ncurses_filter
ncurses_flushinp
Funciones de Ncurses


Volcar el búfer de entrada de teclado

ncurses_flash
ncurses_getch
Funciones de Ncurses
PHP Manual

ncurses_flushinp

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_flushinp — Volcar el búfer de entrada de teclado

Descripción

bool ncurses_flushinp ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Envía cualquier contenido que haya sido escrito y no haya sido leido aun por su programa.

Valores devueltos

Devuelve FALSE en caso de tener éxito, TRUE de lo contrario.

ncurses_flash
ncurses_getch
Funciones de Ncurses


Leer un caracter desde el teclado

ncurses_flushinp
ncurses_getmaxyx
Funciones de Ncurses
PHP Manual

ncurses_getch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_getch — Leer un caracter desde el teclado

Descripción

int ncurses_getch ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

ncurses_flushinp
ncurses_getmaxyx
Funciones de Ncurses


Devuelve el tamaño de una ventana

ncurses_getch
ncurses_getmouse
Funciones de Ncurses
PHP Manual

ncurses_getmaxyx

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_getmaxyx — Devuelve el tamaño de una ventana

Descripción

void ncurses_getmaxyx ( resource $window , int &$y , int &$x )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Obtiene los tamaños horizontal y vertical de la ventana dada y los coloca en las variables entregadas.

Las variables deben ser pasadas como referencias, de modo que sean actualizadas cuando el usuario cambie el tamaño de la terminal.

Parámetros

window

La ventana medida

y

Esto será establecido con la altura de la ventana

x

Esto será establecido con el ancho de la ventana

Valores devueltos

No devuelve ningún valor.

ncurses_getch
ncurses_getmouse
Funciones de Ncurses


Lee los eventos del ratón

ncurses_getmaxyx
ncurses_getyx
Funciones de Ncurses
PHP Manual

ncurses_getmouse

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_getmouse — Lee los eventos del ratón

Descripción

bool ncurses_getmouse ( array &$mevent )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

ncurses_getmouse() lee los eventos del ratón de la cola.

Parámetros

mevent

Las opciones del evento serán distribuidas en este parámetro que ha de ser un array, pasado por referencia (véase el ejemplo de abajo).

En caso de éxito será distribuido un array con las siguientes claves:

  • "id" : Id para distinguir múltiples dispositivos

  • "x" : posición x relativa a la pantalla en las celdas de caracteres

  • "y" : posición y relativa a la pantalla en las celdas de caracteres

  • "z" : actualmente no soportado

  • "mmask" : Acción del ratón

Valores devueltos

Devuelve FALSE si un evento de ratón está realmente visible en la ventana dada, de otro modo devuelve TRUE.

Ejemplos

Ejemplo #1 Ejemplo de ncurses_getmouse()

<?php
switch (ncurses_getch()){
  case NCURSES_KEY_MOUSE:
    if (!ncurses_getmouse($mevent)){
      if ($mevent["mmask"] & NCURSES_MOUSE_BUTTON1_PRESSED){
        $mouse_x = $mevent["x"]; // Guardar la posición del ratón
        $mouse_y = $mevent["y"];
      }
    }
  break;

  default:
    /* .... */
}
?>

Ver también

  • ncurses_ungetmouse() - Coloca un evento de mouse en la cola

ncurses_getmaxyx
ncurses_getyx
Funciones de Ncurses


Devuelve la posición de cursor actual para una ventana

ncurses_getmouse
ncurses_halfdelay
Funciones de Ncurses
PHP Manual

ncurses_getyx

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_getyx — Devuelve la posición de cursor actual para una ventana

Descripción

void ncurses_getyx ( resource $window , int &$y , int &$x )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

window

y

x

ncurses_getmouse
ncurses_halfdelay
Funciones de Ncurses


Colocar la terminal en modo de medio retraso

ncurses_getyx
ncurses_has_colors
Funciones de Ncurses
PHP Manual

ncurses_halfdelay

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_halfdelay — Colocar la terminal en modo de medio retraso

Descripción

int ncurses_halfdelay ( int $tenth )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

decimo

ncurses_getyx
ncurses_has_colors
Funciones de Ncurses


Comprueba si el terminal tiene capacidades de color

ncurses_halfdelay
ncurses_has_ic
Funciones de Ncurses
PHP Manual

ncurses_has_colors

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_has_colors — Comprueba si el terminal tiene capacidades de color

Descripción

bool ncurses_has_colors ( void )

Comprueba si el terminal tiene capacidades de color. Esta función se puede usar para escribir programas independientes del terminal. ncurses debe ser inicializado usando ncurses_init() antes de llamar a esta función.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si el terminal tiene capacidades de color, FALSE si no.

Ejemplos

Ejemplo #1 Escribir una cadena con un color especificado en la pantalla

<?php
ncurses_init();

// Si el terminal soporta colores, inicializar y establecer el color activo
if (ncurses_has_colors()) {
    ncurses_start_color();
    ncurses_init_pair(1, NCURSES_COLOR_YELLOW, NCURSES_COLOR_BLUE);
    ncurses_color_set(1);
}

// Escribir una cadena en la ubicación especificada
ncurses_mvaddstr(10, 10, "¡Hola mundo! ¡Amarillo sobre texto azul!");

// Volcar la salida a la pantalla
ncurses_refresh();

ncurses_end();
?>

Ver también

  • ncurses_can_change_color() - Comprobar si las definiciones de color del terminal se pueden cambiar
  • ncurses_start_color() - Inicializa la funcionalidad de color

ncurses_halfdelay
ncurses_has_ic
Funciones de Ncurses


Chequear por el soporte de inserción y borrado

ncurses_has_colors
ncurses_has_il
Funciones de Ncurses
PHP Manual

ncurses_has_ic

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_has_ic — Chequear por el soporte de inserción y borrado

Descripción

bool ncurses_has_ic ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Chequea si existe soporte de inserción y borrado de la terminal.

Valores devueltos

Devuelve TRUE cuando la terminal tiene soporte de inserción/borrado, FALSE de lo contrario.

Ver también

  • ncurses_has_il() - Chequea el soporte de inserción y borrado

ncurses_has_colors
ncurses_has_il
Funciones de Ncurses


Chequea el soporte de inserción y borrado

ncurses_has_ic
ncurses_has_key
Funciones de Ncurses
PHP Manual

ncurses_has_il

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_has_il — Chequea el soporte de inserción y borrado

Descripción

bool ncurses_has_il ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Chequea si existe soporte de inserción y borrado de líneas de la terminal.

Valores devueltos

Devuelve TRUE cuando la terminal tiene soporte de inserción/borrado de líneas, FALSE de lo contrario.

Ver también

  • ncurses_has_ic() - Chequear por el soporte de inserción y borrado

ncurses_has_ic
ncurses_has_key
Funciones de Ncurses


Chequear por la presencia de una tecla de función en el teclado de la terminal

ncurses_has_il
ncurses_hide_panel
Funciones de Ncurses
PHP Manual

ncurses_has_key

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_has_key — Chequear por la presencia de una tecla de función en el teclado de la terminal

Descripción

int ncurses_has_key ( int $keycode )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

keycode

ncurses_has_il
ncurses_hide_panel
Funciones de Ncurses


Remover un panel de la pila, haciéndolo invisible

ncurses_has_key
ncurses_hline
Funciones de Ncurses
PHP Manual

ncurses_hide_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_hide_panel — Remover un panel de la pila, haciéndolo invisible

Descripción

int ncurses_hide_panel ( resource $panel )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

panel

ncurses_has_key
ncurses_hline
Funciones de Ncurses


Dibujar una línea horizontal en la posición actual usando un caracter con atributos, y de máximo n caracteres de largo

ncurses_hide_panel
ncurses_inch
Funciones de Ncurses
PHP Manual

ncurses_hline

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_hline — Dibujar una línea horizontal en la posición actual usando un caracter con atributos, y de máximo n caracteres de largo

Descripción

int ncurses_hline ( int $charattr , int $n )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

caracter_atributos

n

ncurses_hide_panel
ncurses_inch
Funciones de Ncurses


Obtener el caracter y los atributos de la posición actual

ncurses_hline
ncurses_init_color
Funciones de Ncurses
PHP Manual

ncurses_inch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_inch — Obtener el caracter y los atributos de la posición actual

Descripción

string ncurses_inch ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Devuelve el caracter desde de la posición actual.

Valores devueltos

Devuelve el caracter, como una cadena.

ncurses_hline
ncurses_init_color
Funciones de Ncurses


Definir un color de termimal

ncurses_inch
ncurses_init_pair
Funciones de Ncurses
PHP Manual

ncurses_init_color

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_init_color — Definir un color de termimal

Descripción

int ncurses_init_color ( int $color , int $r , int $g , int $b )

Define o redefine el color dado. Cuando se llama a esta función, todas los casos del color dado en la pantalla, si los hay, son cambiados inmediatamente a la nueva definición.

Las capacidades de color deben ser soportadas por el terminal e inicializadas usando ncurses_start_color() antes de llamar a esta función Además, el terminal debe tener capacidad para cambiar de color; use ncurses_can_change_color() para comprobarlo.

Parámetros

color

El número de identificación del color a redefinir. Puede ser una de las constnates de color predeterminadas.

r

Un valor de color, entre 0 y 1000, para el componente rojo.

g

Un valor de color, entre 0 y 1000, para el componente verde.

b

Un valor de color, entre 0 y 1000, para el componente azul.

Valores devueltos

Devuelve -1 si la función tuvo éxito, y 0 si ncurses o las capacidades de color del terminal no han sido inicializadas o el terminal no tiene capacidad de cambiar de color.

Ver también

  • ncurses_color_content() - Obtiene los componentes RGB de un color
  • ncurses_start_color() - Inicializa la funcionalidad de color

ncurses_inch
ncurses_init_pair
Funciones de Ncurses


Definir una pareja de colores

ncurses_init_color
ncurses_init
Funciones de Ncurses
PHP Manual

ncurses_init_pair

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_init_pair — Definir una pareja de colores

Descripción

int ncurses_init_pair ( int $pair , int $fg , int $bg )

Define o redefine la pareja de colores dada para obtener los colores de primer plano y fondo dados. Si la pareja de colores estaba previamente inicializada, se refresca la pantalla y todas los casos de ella son cambiados para reflejar la nueva definición.

Las capacidades de color deben ser inicializadas usando ncurses_start_color() antes de llamar a esta función. Por omisión, la primera pareja de colores (pareja de colores 0) se asume que es blanco sobre negro, pero se puede cambiar usando ncurses_assume_default_colors().

Parámetros

pair

El número de la pareja de colores a definir.

fg

El color de primer plano de la pareja de colroes. Pude ser uno de los colores predefinidos o uno definido por ncurses_init_color() si el terminal tiene capacidades de cambio de color.

bg

El color de fondo de la pareja de colores. Pude ser uno de los colores predefinidos o uno definido por ncurses_init_color() si el terminal tiene capacidades de cambio de color.

Valores devueltos

Devuelve -1 si la función tuvo éxito, y 0 si ncurses o el soporte para colores no fue inicializado.

Notas

Observe que las capacidades de cambio de color no son necesarias para definir pares de colores de colores preexistentes, excepto solo para los cambios de definiciones (componentes rojo, verde y azul) de los colores en sí por ncurses_init_color().

Ejemplos

Ejemplo #1 Escrivir una cadena con un color especificado en la pantalla

<?php
ncurses_init();

// Si el terminal soporta colores, inicializar y establecer el color activo
if (ncurses_has_colors()) {
    ncurses_start_color();
    ncurses_init_pair(1, NCURSES_COLOR_YELLOW, NCURSES_COLOR_BLUE);
    ncurses_color_set(1);
}

// Escrivir una cadena en una ubicación especificada
ncurses_mvaddstr(10, 10, "¡Hola mundo! ¡Amarillo sobre texto azul!");

// Volcar la salida a la pantalla
ncurses_refresh();

ncurses_end();
?>

Ver también

  • ncurses_pair_content() - Obtiene los colores de primer plano y fondo de una pareja de colores
  • ncurses_start_color() - Inicializa la funcionalidad de color

ncurses_init_color
ncurses_init
Funciones de Ncurses


Inicializar ncurses

ncurses_init_pair
ncurses_insch
Funciones de Ncurses
PHP Manual

ncurses_init

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_init — Inicializar ncurses

Descripción

void ncurses_init ( void )

Inicializa la interfaz de ncurses. Esta función debe ser usada antes de otras llamadas funciones de ncurses.

Observe que ncurses_end() debe ser llamada antes de salir del programa, o el terminal no será restaurado a un modo no visual porpio.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • ncurses_end() - Dejar de usar ncurses, limpiar la pantalla

ncurses_init_pair
ncurses_insch
Funciones de Ncurses


Insertar un caracter, moviendo el resto de la línea, incluyendo el caracter en la posición actual

ncurses_init
ncurses_insdelln
Funciones de Ncurses
PHP Manual

ncurses_insch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_insch — Insertar un caracter, moviendo el resto de la línea, incluyendo el caracter en la posición actual

Descripción

int ncurses_insch ( int $character )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

character

ncurses_init
ncurses_insdelln
Funciones de Ncurses


Insertar líneas antes de la línea actual, desplazando hacia abajo (los números negativos eliminan líneas y desplazan hacia arriba)

ncurses_insch
ncurses_insertln
Funciones de Ncurses
PHP Manual

ncurses_insdelln

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_insdelln — Insertar líneas antes de la línea actual, desplazando hacia abajo (los números negativos eliminan líneas y desplazan hacia arriba)

Descripción

int ncurses_insdelln ( int $count )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

count

ncurses_insch
ncurses_insertln
Funciones de Ncurses


Insertar una línea, mover el resto de la pantalla hacia abajo

ncurses_insdelln
ncurses_insstr
Funciones de Ncurses
PHP Manual

ncurses_insertln

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_insertln — Insertar una línea, mover el resto de la pantalla hacia abajo

Descripción

int ncurses_insertln ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Inserta una nueva línea antes de la línea actual. La línea más baja se perderá.

ncurses_insdelln
ncurses_insstr
Funciones de Ncurses


Insertar cadena en la posición actual, moviendo el resto de la línea hacia la derecha

ncurses_insertln
ncurses_instr
Funciones de Ncurses
PHP Manual

ncurses_insstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_insstr — Insertar cadena en la posición actual, moviendo el resto de la línea hacia la derecha

Descripción

int ncurses_insstr ( string $text )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

text

ncurses_insertln
ncurses_instr
Funciones de Ncurses


Lee una cadena desde la pantalla de terminal

ncurses_insstr
ncurses_isendwin
Funciones de Ncurses
PHP Manual

ncurses_instr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_instr — Lee una cadena desde la pantalla de terminal

Descripción

int ncurses_instr ( string &$buffer )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Lee una cadena desde la terminal y devuelve el número de caracteres leidos desde la posición del caracter actual hasta el fin de línea.

Parámetros

buffer

Los caracteres. Los atributos son retirados de los caracteres.

Valores devueltos

Devuelve el número de caracteres.

ncurses_insstr
ncurses_isendwin
Funciones de Ncurses


Ncurses está en modo endwin, se puede realizar una salida normal por pantalla

ncurses_instr
ncurses_keyok
Funciones de Ncurses
PHP Manual

ncurses_isendwin

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_isendwin — Ncurses está en modo endwin, se puede realizar una salida normal por pantalla

Descripción

bool ncurses_isendwin ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Comprueba si ncurses está en modo endwin.

Valores devueltos

Devuelve TRUE, si ncurses_end() ha sido llamada sin ninguna llamada subsiguiente a ncurses_wrefresh(), FALSE si no.

Ver también

  • ncurses_end() - Dejar de usar ncurses, limpiar la pantalla
  • ncurses_wrefresh() - Refrescar la ventana en la pantalla de terminal

ncurses_instr
ncurses_keyok
Funciones de Ncurses


Habilitar o deshabilitar un código de tecla

ncurses_isendwin
ncurses_keypad
Funciones de Ncurses
PHP Manual

ncurses_keyok

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_keyok — Habilitar o deshabilitar un código de tecla

Descripción

int ncurses_keyok ( int $keycode , bool $enable )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

keycode

enable

ncurses_isendwin
ncurses_keypad
Funciones de Ncurses


Activa o desactiva el teclado numérico

ncurses_keyok
ncurses_killchar
Funciones de Ncurses
PHP Manual

ncurses_keypad

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_keypad — Activa o desactiva el teclado numérico

Descripción

int ncurses_keypad ( resource $window , bool $bf )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

window

bf

ncurses_keyok
ncurses_killchar
Funciones de Ncurses


Devuelve el caracter de eliminación de línea actual

ncurses_keypad
ncurses_longname
Funciones de Ncurses
PHP Manual

ncurses_killchar

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_killchar — Devuelve el caracter de eliminación de línea actual

Descripción

string ncurses_killchar ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Devuelve el caracter de eliminación de línea actual.

Valores devueltos

Devuelve el caracter de eliminación de línea, como una cadena.

Ver también

  • ncurses_erasechar() - Devuelve el caracter de borrado actual

ncurses_keypad
ncurses_longname
Funciones de Ncurses


Devuelve la descripción de la terminal

ncurses_killchar
ncurses_meta
Funciones de Ncurses
PHP Manual

ncurses_longname

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_longname — Devuelve la descripción de la terminal

Descripción

string ncurses_longname ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Devuelve una descripción detallada de la terminal.

Valores devueltos

Devuelve la descripción, como una cadena truncada a 128 caracteres. En caso de fallos, devuelve NULL.

Ver también

  • ncurses_termname() - Devuelve el nombre (corto) de la terminal

ncurses_killchar
ncurses_meta
Funciones de Ncurses


Habilita/deshabilita la meta-información de 8-bits de tecla

ncurses_longname
ncurses_mouse_trafo
Funciones de Ncurses
PHP Manual

ncurses_meta

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_meta — Habilita/deshabilita la meta-información de 8-bits de tecla

Descripción

int ncurses_meta ( resource $window , bool $8bit )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

window

8bit

ncurses_longname
ncurses_mouse_trafo
Funciones de Ncurses


Transforma coordenadas

ncurses_meta
ncurses_mouseinterval
Funciones de Ncurses
PHP Manual

ncurses_mouse_trafo

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mouse_trafo — Transforma coordenadas

Descripción

bool ncurses_mouse_trafo ( int &$y , int &$x , bool $toscreen )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

y

x

toscreen

ncurses_meta
ncurses_mouseinterval
Funciones de Ncurses


Establecer el tiempo de espera para clics de botón del mouse

ncurses_mouse_trafo
ncurses_mousemask
Funciones de Ncurses
PHP Manual

ncurses_mouseinterval

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mouseinterval — Establecer el tiempo de espera para clics de botón del mouse

Descripción

int ncurses_mouseinterval ( int $milliseconds )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

milliseconds

ncurses_mouse_trafo
ncurses_mousemask
Funciones de Ncurses


Establece las opciones del ratón

ncurses_mouseinterval
ncurses_move_panel
Funciones de Ncurses
PHP Manual

ncurses_mousemask

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mousemask — Establece las opciones del ratón

Descripción

int ncurses_mousemask ( int $newmask , int &$oldmask )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Establece los eventos del ratón para ser reportados. Por omisión no se informará de ningún evento de ratón.

Los eventos de ratón están representados por NCURSES_KEY_MOUSE en el flujo de entrada de ncurses_wgetch(). Para leer la información del evento y sacar el evento de la cola, llame a ncurses_getmouse().

Parámetros

newmask

Las opciones de máscara del ratón pueden ser establecida con las siguienetes constantes predefinidas:

  • NCURSES_BUTTON1_PRESSED

  • NCURSES_BUTTON1_RELEASED

  • NCURSES_BUTTON1_CLICKED

  • NCURSES_BUTTON1_DOUBLE_CLICKED

  • NCURSES_BUTTON1_TRIPLE_CLICKED

  • NCURSES_BUTTON2_PRESSED

  • NCURSES_BUTTON2_RELEASED

  • NCURSES_BUTTON2_CLICKED

  • NCURSES_BUTTON2_DOUBLE_CLICKED

  • NCURSES_BUTTON2_TRIPLE_CLICKED

  • NCURSES_BUTTON3_PRESSED

  • NCURSES_BUTTON3_RELEASED

  • NCURSES_BUTTON3_CLICKED

  • NCURSES_BUTTON3_DOUBLE_CLICKED

  • NCURSES_BUTTON3_TRIPLE_CLICKED

  • NCURSES_BUTTON4_PRESSED

  • NCURSES_BUTTON4_RELEASED

  • NCURSES_BUTTON4_CLICKED

  • NCURSES_BUTTON4_DOUBLE_CLICKED

  • NCURSES_BUTTON4_TRIPLE_CLICKED

  • NCURSES_BUTTON_SHIFT>

  • NCURSES_BUTTON_CTRL

  • NCURSES_BUTTON_ALT

  • NCURSES_ALL_MOUSE_EVENTS

  • NCURSES_REPORT_MOUSE_POSITION

Como efecto secundario, establecer una máscara de ratón a cero en newmask descativa el puntero del ratón. Establecer un valor distinto de cero activa el puntero del ratón.

oldmask

Esto establecerá el valor anterior de la máscara de eventos del ratón.

Valores devueltos

Devuelve una máscar para indicar cual de los eventos de ratón especificados en el parámetro newmask pueden ser reportados. En caso de fallo completo devuelve 0.

Ejemplos

Ejemplo #1 Ejemplo de ncurses_mousemask()

<?php
$newmask = NCURSES_BUTTON1_CLICKED + NCURSES_BUTTON1_RELEASED;
$mask = ncurses_mousemask($newmask, $oldmask);
if ($mask & $newmask){
    printf("Todas las opciones de ratón especificadas serán soportadas\n");
}
?>

Ver también

  • ncurses_getch() - Leer un caracter desde el teclado
  • ncurses_getmouse() - Lee los eventos del ratón
  • ncurses_ungetmouse() - Coloca un evento de mouse en la cola

ncurses_mouseinterval
ncurses_move_panel
Funciones de Ncurses


Mueve un panel de modo que su esquina superior izquierda se encuentre en [comienzo_x, comienzo_y]

ncurses_mousemask
ncurses_move
Funciones de Ncurses
PHP Manual

ncurses_move_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_move_panel — Mueve un panel de modo que su esquina superior izquierda se encuentre en [comienzo_x, comienzo_y]

Descripción

int ncurses_move_panel ( resource $panel , int $startx , int $starty )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

panel

startx

starty

ncurses_mousemask
ncurses_move
Funciones de Ncurses


Mover la posición de salida

ncurses_move_panel
ncurses_mvaddch
Funciones de Ncurses
PHP Manual

ncurses_move

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_move — Mover la posición de salida

Descripción

int ncurses_move ( int $y , int $x )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

y

x

ncurses_move_panel
ncurses_mvaddch
Funciones de Ncurses


Mover la posición actual y agregar un caracter

ncurses_move
ncurses_mvaddchnstr
Funciones de Ncurses
PHP Manual

ncurses_mvaddch

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvaddch — Mover la posición actual y agregar un caracter

Descripción

int ncurses_mvaddch ( int $y , int $x , int $c )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

y

x

c

ncurses_move
ncurses_mvaddchnstr
Funciones de Ncurses


Mover la posición y agregar una cadena con atributos con la longitud especificada

ncurses_mvaddch
ncurses_mvaddchstr
Funciones de Ncurses
PHP Manual

ncurses_mvaddchnstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvaddchnstr — Mover la posición y agregar una cadena con atributos con la longitud especificada

Descripción

int ncurses_mvaddchnstr ( int $y , int $x , string $s , int $n )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

y

x

s

n

ncurses_mvaddch
ncurses_mvaddchstr
Funciones de Ncurses


Mover la posición y agregar una cadena con atributos

ncurses_mvaddchnstr
ncurses_mvaddnstr
Funciones de Ncurses
PHP Manual

ncurses_mvaddchstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvaddchstr — Mover la posición y agregar una cadena con atributos

Descripción

int ncurses_mvaddchstr ( int $y , int $x , string $s )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

y

x

s

ncurses_mvaddchnstr
ncurses_mvaddnstr
Funciones de Ncurses


Mover la posición y agregar una cadena con la longitud especificada

ncurses_mvaddchstr
ncurses_mvaddstr
Funciones de Ncurses
PHP Manual

ncurses_mvaddnstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvaddnstr — Mover la posición y agregar una cadena con la longitud especificada

Descripción

int ncurses_mvaddnstr ( int $y , int $x , string $s , int $n )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

y

x

s

n

ncurses_mvaddchstr
ncurses_mvaddstr
Funciones de Ncurses


Mover la posición y agregar una cadena

ncurses_mvaddnstr
ncurses_mvcur
Funciones de Ncurses
PHP Manual

ncurses_mvaddstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvaddstr — Mover la posición y agregar una cadena

Descripción

int ncurses_mvaddstr ( int $y , int $x , string $s )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

y

x

s

ncurses_mvaddnstr
ncurses_mvcur
Funciones de Ncurses


Mover el cursor inmediatamente

ncurses_mvaddstr
ncurses_mvdelch
Funciones de Ncurses
PHP Manual

ncurses_mvcur

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvcur — Mover el cursor inmediatamente

Descripción

int ncurses_mvcur ( int $old_y , int $old_x , int $new_y , int $new_x )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

old_y

old_x

new_y

new_x

ncurses_mvaddstr
ncurses_mvdelch
Funciones de Ncurses


Mover la posición y eliminar un caracter, desplazar el resto de la línea hacia la izquierda

ncurses_mvcur
ncurses_mvgetch
Funciones de Ncurses
PHP Manual

ncurses_mvdelch

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvdelch — Mover la posición y eliminar un caracter, desplazar el resto de la línea hacia la izquierda

Descripción

int ncurses_mvdelch ( int $y , int $x )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

y

x

ncurses_mvcur
ncurses_mvgetch
Funciones de Ncurses


Mover la posición y obtener el caracter en la nueva posición

ncurses_mvdelch
ncurses_mvhline
Funciones de Ncurses
PHP Manual

ncurses_mvgetch

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvgetch — Mover la posición y obtener el caracter en la nueva posición

Descripción

int ncurses_mvgetch ( int $y , int $x )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

y

x

ncurses_mvdelch
ncurses_mvhline
Funciones de Ncurses


Establecer una nueva posición y dibujar una línea horizontal usando un caracter con atributos y una longitud máxima de n caracteres

ncurses_mvgetch
ncurses_mvinch
Funciones de Ncurses
PHP Manual

ncurses_mvhline

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvhline — Establecer una nueva posición y dibujar una línea horizontal usando un caracter con atributos y una longitud máxima de n caracteres

Descripción

int ncurses_mvhline ( int $y , int $x , int $attrchar , int $n )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

y

x

attrchar

n

ncurses_mvgetch
ncurses_mvinch
Funciones de Ncurses


Mover la posición y obtener el caracter con atributos en la nueva posición

ncurses_mvhline
ncurses_mvvline
Funciones de Ncurses
PHP Manual

ncurses_mvinch

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvinch — Mover la posición y obtener el caracter con atributos en la nueva posición

Descripción

int ncurses_mvinch ( int $y , int $x )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

y

x

ncurses_mvhline
ncurses_mvvline
Funciones de Ncurses


Establecer una nueva posición y dibujar una línea vertical usando un caracter con atributos y una longitud máxima de n caracteres

ncurses_mvinch
ncurses_mvwaddstr
Funciones de Ncurses
PHP Manual

ncurses_mvvline

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvvline — Establecer una nueva posición y dibujar una línea vertical usando un caracter con atributos y una longitud máxima de n caracteres

Descripción

int ncurses_mvvline ( int $y , int $x , int $attrchar , int $n )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

y

x

attrchar

n

ncurses_mvinch
ncurses_mvwaddstr
Funciones de Ncurses


Añadir una cadena en una posicón nueva de la ventana

ncurses_mvvline
ncurses_napms
Funciones de Ncurses
PHP Manual

ncurses_mvwaddstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvwaddstr — Añadir una cadena en una posicón nueva de la ventana

Descripción

int ncurses_mvwaddstr ( resource $window , int $y , int $x , string $text )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

window

y

x

text

ncurses_mvvline
ncurses_napms
Funciones de Ncurses


Dormir

ncurses_mvwaddstr
ncurses_new_panel
Funciones de Ncurses
PHP Manual

ncurses_napms

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_napms — Dormir

Descripción

int ncurses_napms ( int $milliseconds )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

milliseconds

ncurses_mvwaddstr
ncurses_new_panel
Funciones de Ncurses


Crear un nuevo panel y asociarlo con una ventana

ncurses_napms
ncurses_newpad
Funciones de Ncurses
PHP Manual

ncurses_new_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_new_panel — Crear un nuevo panel y asociarlo con una ventana

Descripción

resource ncurses_new_panel ( resource $window )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

window

ncurses_napms
ncurses_newpad
Funciones de Ncurses


Crea un nuevo pad (ventana)

ncurses_new_panel
ncurses_newwin
Funciones de Ncurses
PHP Manual

ncurses_newpad

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_newpad — Crea un nuevo pad (ventana)

Descripción

resource ncurses_newpad ( int $rows , int $cols )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

rows

cols

ncurses_new_panel
ncurses_newwin
Funciones de Ncurses


Crear una nueva ventana

ncurses_newpad
ncurses_nl
Funciones de Ncurses
PHP Manual

ncurses_newwin

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_newwin — Crear una nueva ventana

Descripción

resource ncurses_newwin ( int $rows , int $cols , int $y , int $x )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Crea una nueva ventana en donde dibujar elementos.

Cuando se creen ventanas adicionales, recuerde usar ncurses_getmaxyx() para verificar el espacio disponible, ya que el tamaño de terminal es individual y puede variar.

Parámetros

rows

Número de filas

cols

Número de columnas

y

coordenada y del origen

x

coordenada x del origen

Valores devueltos

Devuelve un ID de recurso para la nueva ventana.

ncurses_newpad
ncurses_nl
Funciones de Ncurses


Traducir línea nueva y retorno de carro / alimentación de línea

ncurses_newwin
ncurses_nocbreak
Funciones de Ncurses
PHP Manual

ncurses_nl

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_nl — Traducir línea nueva y retorno de carro / alimentación de línea

Descripción

bool ncurses_nl ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

ncurses_newwin
ncurses_nocbreak
Funciones de Ncurses


Cambiar la terminal a modo normal (cooked)

ncurses_nl
ncurses_noecho
Funciones de Ncurses
PHP Manual

ncurses_nocbreak

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_nocbreak — Cambiar la terminal a modo normal (cooked)

Descripción

bool ncurses_nocbreak ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Devuelve la terminal a modo normal (cooked). Inicialmente la terminal puede o no estar en modo cbreak, ya que el modo se hereda. De tal modo que un programa debería llamar a ncurses_cbreak() y ncurses_nocbreak() explícitamente.

Valores devueltos

Devuelve TRUE si ocurrió un error, o FALSE de lo contrario.

Ver también

  • ncurses_cbreak() - Desactivar el buffer de entrada

ncurses_nl
ncurses_noecho
Funciones de Ncurses


Desactivar la repetición de entrada del teclado

ncurses_nocbreak
ncurses_nonl
Funciones de Ncurses
PHP Manual

ncurses_noecho

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_noecho — Desactivar la repetición de entrada del teclado

Descripción

bool ncurses_noecho ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Previene la repetición de los caracteres escritos por el usuario.

Valores devueltos

Devuelve TRUE si ocurre un error, o FALSE de lo contrario.

Ver también

  • ncurses_echo() - Activar la repetición de entrada del teclado
  • ncurses_getch() - Leer un caracter desde el teclado

ncurses_nocbreak
ncurses_nonl
Funciones de Ncurses


No traducir línea nueva y retorno de carro / alimentación de línea

ncurses_noecho
ncurses_noqiflush
Funciones de Ncurses
PHP Manual

ncurses_nonl

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_nonl — No traducir línea nueva y retorno de carro / alimentación de línea

Descripción

bool ncurses_nonl ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

ncurses_noecho
ncurses_noqiflush
Funciones de Ncurses


No realizar volcados en caracteres de señales

ncurses_nonl
ncurses_noraw
Funciones de Ncurses
PHP Manual

ncurses_noqiflush

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_noqiflush — No realizar volcados en caracteres de señales

Descripción

void ncurses_noqiflush ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

ncurses_nonl
ncurses_noraw
Funciones de Ncurses


Salir del modo puro en la terminal

ncurses_noqiflush
ncurses_pair_content
Funciones de Ncurses
PHP Manual

ncurses_noraw

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_noraw — Salir del modo puro en la terminal

Descripción

bool ncurses_noraw ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Retira la terminal del modo puro. El modo puro (raw) es similar al modo cbrek, en tanto que los caracteres escritos son pasados inmediatamente al programa del usuario. Las diferencias consisten en que, en modo puro, los caracteres de control de interrupción, salida, suspensión y flujo son todos pasados sin ser interpretados, en lugar de generar una señal.

Valores devueltos

Devuelve TRUE si ocurrió un error, o FALSE de lo contrario.

Ver también

  • ncurses_raw() - Colocar la terminal en modo puro
  • ncurses_cbreak() - Desactivar el buffer de entrada
  • ncurses_nocbreak() - Cambiar la terminal a modo normal (cooked)

ncurses_noqiflush
ncurses_pair_content
Funciones de Ncurses


Obtiene los colores de primer plano y fondo de una pareja de colores

ncurses_noraw
ncurses_panel_above
Funciones de Ncurses
PHP Manual

ncurses_pair_content

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_pair_content — Obtiene los colores de primer plano y fondo de una pareja de colores

Descripción

int ncurses_pair_content ( int $pair , int &$f , int &$b )

Obtiene los colores de primer plano y fondo que constituyen la pareja de colores dada. La capacidad de color del terminal debe ser inicializada con ncurses_start_color() antes de llamar a esta función.

Parámetros

pair

EL númeero de la pareja de colores de la que obtener información.

f

Una referencia para la cual devuelve el color de primer plano de la pareja de colores. La información devuelta será un número de color aludiendo a uno de los colores predefinidos o a un color previamente definido por ncurses_init_color() si el terminal soporta el cambio de color.

b

Una referencia para la cual devuelve el color de fondo de la pareja de colores. La información devuelta será un número de color aludiendo a uno de los colores predefinidos o a un color previamente definido por ncurses_init_color() si el terminal soporta el cambio de color.

Valores devueltos

Devuelve -1 si la función tuvo éxito, y 0 si ncurses o las capacidades de color del terminal no han sido inicializadas.

Ver también

  • ncurses_init_pair() - Definir una pareja de colores
  • ncurses_start_color() - Inicializa la funcionalidad de color

ncurses_noraw
ncurses_panel_above
Funciones de Ncurses


Devuelve el panel encima del panel indicado

ncurses_pair_content
ncurses_panel_below
Funciones de Ncurses
PHP Manual

ncurses_panel_above

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_panel_above — Devuelve el panel encima del panel indicado

Descripción

resource ncurses_panel_above ( resource $panel )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

panel

Valores devueltos

Si el panel es null, devuelve el panel al fondo de la pila.

ncurses_pair_content
ncurses_panel_below
Funciones de Ncurses


Devuelve el panel por debajo del panel indicado

ncurses_panel_above
ncurses_panel_window
Funciones de Ncurses
PHP Manual

ncurses_panel_below

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_panel_below — Devuelve el panel por debajo del panel indicado

Descripción

resource ncurses_panel_below ( resource $panel )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

panel

Parámetros

Si el panel no existe, devuelve el panel más arriba en la pila

ncurses_panel_above
ncurses_panel_window
Funciones de Ncurses


Devuelve la ventana asociada con el panel

ncurses_panel_below
ncurses_pnoutrefresh
Funciones de Ncurses
PHP Manual

ncurses_panel_window

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_panel_window — Devuelve la ventana asociada con el panel

Descripción

resource ncurses_panel_window ( resource $panel )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

panel

ncurses_panel_below
ncurses_pnoutrefresh
Funciones de Ncurses


Copia una región desde un pad a la pantalla virtual

ncurses_panel_window
ncurses_prefresh
Funciones de Ncurses
PHP Manual

ncurses_pnoutrefresh

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_pnoutrefresh — Copia una región desde un pad a la pantalla virtual

Descripción

int ncurses_pnoutrefresh ( resource $pad , int $pminrow , int $pmincol , int $sminrow , int $smincol , int $smaxrow , int $smaxcol )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

pad

pminrow

pmincol

sminrow

smincol

smaxrow

smaxcol

ncurses_panel_window
ncurses_prefresh
Funciones de Ncurses


Copia una región desde un pad a la pantalla virtual

ncurses_pnoutrefresh
ncurses_putp
Funciones de Ncurses
PHP Manual

ncurses_prefresh

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_prefresh — Copia una región desde un pad a la pantalla virtual

Descripción

int ncurses_prefresh ( resource $pad , int $pminrow , int $pmincol , int $sminrow , int $smincol , int $smaxrow , int $smaxcol )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

pad

pminrow

pmincol

sminrow

smincol

smaxrow

smaxcol

ncurses_pnoutrefresh
ncurses_putp
Funciones de Ncurses


Aplicar la información de márgenes a la cadena e imprimirla

ncurses_prefresh
ncurses_qiflush
Funciones de Ncurses
PHP Manual

ncurses_putp

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_putp — Aplicar la información de márgenes a la cadena e imprimirla

Descripción

int ncurses_putp ( string $text )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

text

ncurses_prefresh
ncurses_qiflush
Funciones de Ncurses


Producir volcado en caracteres de señales

ncurses_putp
ncurses_raw
Funciones de Ncurses
PHP Manual

ncurses_qiflush

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_qiflush — Producir volcado en caracteres de señales

Descripción

void ncurses_qiflush ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

ncurses_putp
ncurses_raw
Funciones de Ncurses


Colocar la terminal en modo puro

ncurses_qiflush
ncurses_refresh
Funciones de Ncurses
PHP Manual

ncurses_raw

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_raw — Colocar la terminal en modo puro

Descripción

bool ncurses_raw ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Coloca la terminal en modo puro. El modo puro es similar al modo cbreak, en tanto que los caracteres escritos son pasados inmediatamente al programa del usuario. Las diferencias consisten en que, en modo puro, los caracteres de control de interrupción, salida, suspensión y flujo son todos pasados sin ser interpretados, en lugar de generar una señal.

Valores devueltos

Devuelve TRUE si ocurre algún error, o FALSE de lo contrario.

Ver también

  • ncurses_noraw() - Salir del modo puro en la terminal
  • ncurses_cbreak() - Desactivar el buffer de entrada
  • ncurses_nocbreak() - Cambiar la terminal a modo normal (cooked)

ncurses_qiflush
ncurses_refresh
Funciones de Ncurses


Refrescar la pantalla

ncurses_raw
ncurses_replace_panel
Funciones de Ncurses
PHP Manual

ncurses_refresh

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_refresh — Refrescar la pantalla

Descripción

int ncurses_refresh ( int $ch )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

ch

ncurses_raw
ncurses_replace_panel
Funciones de Ncurses


Reemplaza la ventana asociada con el panel

ncurses_refresh
ncurses_reset_prog_mode
Funciones de Ncurses
PHP Manual

ncurses_replace_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_replace_panel — Reemplaza la ventana asociada con el panel

Descripción

int ncurses_replace_panel ( resource $panel , resource $window )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

panel

window

ncurses_refresh
ncurses_reset_prog_mode
Funciones de Ncurses


Restablece el modo de programa guardado por def_prog_mode

ncurses_replace_panel
ncurses_reset_shell_mode
Funciones de Ncurses
PHP Manual

ncurses_reset_prog_mode

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_reset_prog_mode — Restablece el modo de programa guardado por def_prog_mode

Descripción

int ncurses_reset_prog_mode ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

ncurses_replace_panel
ncurses_reset_shell_mode
Funciones de Ncurses


Restablece el modo de intérprete de comandos guardado por def_shell_mode

ncurses_reset_prog_mode
ncurses_resetty
Funciones de Ncurses
PHP Manual

ncurses_reset_shell_mode

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_reset_shell_mode — Restablece el modo de intérprete de comandos guardado por def_shell_mode

Descripción

int ncurses_reset_shell_mode ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

ncurses_reset_prog_mode
ncurses_resetty
Funciones de Ncurses


Restablece el estado guardado de la terminal

ncurses_reset_shell_mode
ncurses_savetty
Funciones de Ncurses
PHP Manual

ncurses_resetty

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_resetty — Restablece el estado guardado de la terminal

Descripción

bool ncurses_resetty ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Recupera el estado de la terminal, el cual fue guardado previamente al llamar ncurses_savetty().

Valores devueltos

Siempre devuelve FALSE.

Ver también

  • ncurses_savetty() - Guarda el estado de la terminal

ncurses_reset_shell_mode
ncurses_savetty
Funciones de Ncurses


Guarda el estado de la terminal

ncurses_resetty
ncurses_scr_dump
Funciones de Ncurses
PHP Manual

ncurses_savetty

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_savetty — Guarda el estado de la terminal

Descripción

bool ncurses_savetty ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Guarda el estado actual de la terminal. El estado de terminal guardado puede ser recuperado con la función ncurses_resetty().

Valores devueltos

Siempre devuelve FALSE.

Ver también

  • ncurses_resetty() - Restablece el estado guardado de la terminal

ncurses_resetty
ncurses_scr_dump
Funciones de Ncurses


Vuelca el contenido de la pantalla en un archivo

ncurses_savetty
ncurses_scr_init
Funciones de Ncurses
PHP Manual

ncurses_scr_dump

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_scr_dump — Vuelca el contenido de la pantalla en un archivo

Descripción

int ncurses_scr_dump ( string $filename )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

filename

ncurses_savetty
ncurses_scr_init
Funciones de Ncurses


Inicializar la pantalla desde un volcado en un archivo

ncurses_scr_dump
ncurses_scr_restore
Funciones de Ncurses
PHP Manual

ncurses_scr_init

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_scr_init — Inicializar la pantalla desde un volcado en un archivo

Descripción

int ncurses_scr_init ( string $filename )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

filename

ncurses_scr_dump
ncurses_scr_restore
Funciones de Ncurses


Recuperar la pantalla desde un volcado en un archivo

ncurses_scr_init
ncurses_scr_set
Funciones de Ncurses
PHP Manual

ncurses_scr_restore

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_scr_restore — Recuperar la pantalla desde un volcado en un archivo

Descripción

int ncurses_scr_restore ( string $filename )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

filename

ncurses_scr_init
ncurses_scr_set
Funciones de Ncurses


Heredar la pantalla de un volcado en un archivo

ncurses_scr_restore
ncurses_scrl
Funciones de Ncurses
PHP Manual

ncurses_scr_set

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_scr_set — Heredar la pantalla de un volcado en un archivo

Descripción

int ncurses_scr_set ( string $filename )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

filename

ncurses_scr_restore
ncurses_scrl
Funciones de Ncurses


Desplazar el contenido de la ventana hacia arriba o abajo sin cambiar la posición actual

ncurses_scr_set
ncurses_show_panel
Funciones de Ncurses
PHP Manual

ncurses_scrl

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_scrl — Desplazar el contenido de la ventana hacia arriba o abajo sin cambiar la posición actual

Descripción

int ncurses_scrl ( int $count )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

count

ncurses_scr_set
ncurses_show_panel
Funciones de Ncurses


Coloca un panel invisible al comienzo de la pila, haciéndola visible

ncurses_scrl
ncurses_slk_attr
Funciones de Ncurses
PHP Manual

ncurses_show_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_show_panel — Coloca un panel invisible al comienzo de la pila, haciéndola visible

Descripción

int ncurses_show_panel ( resource $panel )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

panel

ncurses_scrl
ncurses_slk_attr
Funciones de Ncurses


Devuelve el atributo de la etiqueta suave de teclado

ncurses_show_panel
ncurses_slk_attroff
Funciones de Ncurses
PHP Manual

ncurses_slk_attr

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_attr — Devuelve el atributo de la etiqueta suave de teclado

Descripción

int ncurses_slk_attr ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Devuelve el atributo de la etiqueta suave de teclado actual.

Valores devueltos

El atributo, como un entero.

ncurses_show_panel
ncurses_slk_attroff
Funciones de Ncurses


Deshabilitar los atributos dados para las etiquetas suaves de teclado

ncurses_slk_attr
ncurses_slk_attron
Funciones de Ncurses
PHP Manual

ncurses_slk_attroff

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_attroff — Deshabilitar los atributos dados para las etiquetas suaves de teclado

Descripción

int ncurses_slk_attroff ( int $intarg )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

intarg

ncurses_slk_attr
ncurses_slk_attron
Funciones de Ncurses


Habilitar los atributos dados para las etiquetas suaves de funciones de teclado

ncurses_slk_attroff
ncurses_slk_attrset
Funciones de Ncurses
PHP Manual

ncurses_slk_attron

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_attron — Habilitar los atributos dados para las etiquetas suaves de funciones de teclado

Descripción

int ncurses_slk_attron ( int $intarg )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

intarg

ncurses_slk_attroff
ncurses_slk_attrset
Funciones de Ncurses


Definir los atributos dados para las etiquetas suaves de funciones de teclado

ncurses_slk_attron
ncurses_slk_clear
Funciones de Ncurses
PHP Manual

ncurses_slk_attrset

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_attrset — Definir los atributos dados para las etiquetas suaves de funciones de teclado

Descripción

int ncurses_slk_attrset ( int $intarg )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

intarg

ncurses_slk_attron
ncurses_slk_clear
Funciones de Ncurses


Limpia las etiquetas suaves de la pantalla

ncurses_slk_attrset
ncurses_slk_color
Funciones de Ncurses
PHP Manual

ncurses_slk_clear

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_clear — Limpia las etiquetas suaves de la pantalla

Descripción

bool ncurses_slk_clear ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

La función ncurses_slk_clear() limpia las etiquetas suaves de teclado de la pantalla.

Valores devueltos

Devuelve TRUE en caso de fallo, o FALSE de lo contrario.

ncurses_slk_attrset
ncurses_slk_color
Funciones de Ncurses


Establece el color para las etiquetas suaves de teclado

ncurses_slk_clear
ncurses_slk_init
Funciones de Ncurses
PHP Manual

ncurses_slk_color

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_color — Establece el color para las etiquetas suaves de teclado

Descripción

int ncurses_slk_color ( int $intarg )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

intarg

ncurses_slk_clear
ncurses_slk_init
Funciones de Ncurses


Inicializa las funciones de tecla de etiquetación suave

ncurses_slk_color
ncurses_slk_noutrefresh
Funciones de Ncurses
PHP Manual

ncurses_slk_init

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_init — Inicializa las funciones de tecla de etiquetación suave

Descripción

bool ncurses_slk_init ( int $format )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Inicializa las funciones de tecla de etiquetación suave

Esta función debe ser llamada antes de llamar a ncurses_init() o a ncurses_newwin().

Parámetros

format

Si ncurses_init() utiliza finalmente una línea desde stdscr para emular etiquetas suaves, este parámetro determina cómo las etiquetas están dispuestas en la pantalla.

0 indica una disposición 3-2-3 de las etiquetas, 1 indica una disposición 4-4 y 2 indica el modo PC como 4-4-4, pero además se creará una línea de índice.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ncurses_slk_color
ncurses_slk_noutrefresh
Funciones de Ncurses


Copia las etiquetas suaves de teclado a la pantalla virtual

ncurses_slk_init
ncurses_slk_refresh
Funciones de Ncurses
PHP Manual

ncurses_slk_noutrefresh

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_noutrefresh — Copia las etiquetas suaves de teclado a la pantalla virtual

Descripción

bool ncurses_slk_noutrefresh ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

ncurses_slk_init
ncurses_slk_refresh
Funciones de Ncurses


Copia las etiquetas suaves de teclado a la pantalla

ncurses_slk_noutrefresh
ncurses_slk_restore
Funciones de Ncurses
PHP Manual

ncurses_slk_refresh

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_refresh — Copia las etiquetas suaves de teclado a la pantalla

Descripción

int ncurses_slk_refresh ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Copia etiquetas suaves de teclado desde la pantalla virtual a la pantalla física.

ncurses_slk_noutrefresh
ncurses_slk_restore
Funciones de Ncurses


Recupera las etiquetas suaves de teclado

ncurses_slk_refresh
ncurses_slk_set
Funciones de Ncurses
PHP Manual

ncurses_slk_restore

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_restore — Recupera las etiquetas suaves de teclado

Descripción

int ncurses_slk_restore ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Recupera las etiquetas suaves de teclado después de que se ha completado un proceso ncurses_slk_clear().

ncurses_slk_refresh
ncurses_slk_set
Funciones de Ncurses


Establece las etiquetas de teclado

ncurses_slk_restore
ncurses_slk_touch
Funciones de Ncurses
PHP Manual

ncurses_slk_set

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_set — Establece las etiquetas de teclado

Descripción

bool ncurses_slk_set ( int $labelnr , string $label , int $format )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

labelnr

label

format

ncurses_slk_restore
ncurses_slk_touch
Funciones de Ncurses


Obliga a que se produzca salida cuando se ejecute ncurses_slk_noutrefresh

ncurses_slk_set
ncurses_standend
Funciones de Ncurses
PHP Manual

ncurses_slk_touch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_touch — Obliga a que se produzca salida cuando se ejecute ncurses_slk_noutrefresh

Descripción

int ncurses_slk_touch ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Obliga a que todas las etiquetas suaves sean desplegadas la próxima vez que se realice un llamado a ncurses_slk_noutrefresh().

ncurses_slk_set
ncurses_standend
Funciones de Ncurses


Dejar de usar el atributo 'standout'

ncurses_slk_touch
ncurses_standout
Funciones de Ncurses
PHP Manual

ncurses_standend

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_standend — Dejar de usar el atributo 'standout'

Descripción

int ncurses_standend ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

ncurses_slk_touch
ncurses_standout
Funciones de Ncurses


Comenzar a usar el atributo 'standout'

ncurses_standend
ncurses_start_color
Funciones de Ncurses
PHP Manual

ncurses_standout

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_standout — Comenzar a usar el atributo 'standout'

Descripción

int ncurses_standout ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

ncurses_standend
ncurses_start_color
Funciones de Ncurses


Inicializa la funcionalidad de color

ncurses_standout
ncurses_termattrs
Funciones de Ncurses
PHP Manual

ncurses_start_color

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_start_color — Inicializa la funcionalidad de color

Descripción

int ncurses_start_color ( void )

Inicializa la funcionalidad de color en ncurses. Esta función debe ser llamada antes de llamar a cualquier función de manipulación de color y después de llamar a ncurses_init(). Es una buena práctica llamar a esta función justo después de ncurses_init().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve 0 en caso de éxito, o -1 si la tabla de colores no pudo ser asignada o ncurses no fue inicializado.

Ejemplos

Ejemplo #1 Writing a string with a specified color to the screen

<?php
ncurses_init();

// Si el terminal soporta colores, inicializar y establecer el color activo
if (ncurses_has_colors()) {
    ncurses_start_color();
    ncurses_init_pair(1, NCURSES_COLOR_YELLOW, NCURSES_COLOR_BLUE);
    ncurses_color_set(1);
}

// Escribir una cadena en la ubicación especificada
ncurses_mvaddstr(10, 10, "¡Hola mundo! ¡Amarillo sobre texto azul!");

// Volcar la salida a la pantalla
ncurses_refresh();

ncurses_end();
?>

Ver también

  • ncurses_can_change_color() - Comprobar si las definiciones de color del terminal se pueden cambiar
  • ncurses_has_colors() - Comprueba si el terminal tiene capacidades de color

ncurses_standout
ncurses_termattrs
Funciones de Ncurses


Devuelve un valor OR lógico de todas las banderas de atributos soportados por la terminal

ncurses_start_color
ncurses_termname
Funciones de Ncurses
PHP Manual

ncurses_termattrs

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_termattrs — Devuelve un valor OR lógico de todas las banderas de atributos soportados por la terminal

Descripción

bool ncurses_termattrs ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

ncurses_start_color
ncurses_termname
Funciones de Ncurses


Devuelve el nombre (corto) de la terminal

ncurses_termattrs
ncurses_timeout
Funciones de Ncurses
PHP Manual

ncurses_termname

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_termname — Devuelve el nombre (corto) de la terminal

Descripción

string ncurses_termname ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Devuelve el nombre corto de las terminales.

Valores devueltos

Devuelve el nombre corto de la terminal, truncado a 14 caracteres. En caso de fallo, devuelve NULL.

Ver también

  • ncurses_longname() - Devuelve la descripción de la terminal

ncurses_termattrs
ncurses_timeout
Funciones de Ncurses


Establecer el tiempo de espera para secuencias especiales de teclas

ncurses_termname
ncurses_top_panel
Funciones de Ncurses
PHP Manual

ncurses_timeout

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_timeout — Establecer el tiempo de espera para secuencias especiales de teclas

Descripción

void ncurses_timeout ( int $millisec )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

millisec

ncurses_termname
ncurses_top_panel
Funciones de Ncurses


Mueve un panel visible al tope de la pila

ncurses_timeout
ncurses_typeahead
Funciones de Ncurses
PHP Manual

ncurses_top_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_top_panel — Mueve un panel visible al tope de la pila

Descripción

int ncurses_top_panel ( resource $panel )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

panel

ncurses_timeout
ncurses_typeahead
Funciones de Ncurses


Especificar un descriptor de archivo diferente para el chequeo de escritura siguiente

ncurses_top_panel
ncurses_ungetch
Funciones de Ncurses
PHP Manual

ncurses_typeahead

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_typeahead — Especificar un descriptor de archivo diferente para el chequeo de escritura siguiente

Descripción

int ncurses_typeahead ( int $fd )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

fd

ncurses_top_panel
ncurses_ungetch
Funciones de Ncurses


Colocar un caracter de vuelta en la secuencia de entrada

ncurses_typeahead
ncurses_ungetmouse
Funciones de Ncurses
PHP Manual

ncurses_ungetch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_ungetch — Colocar un caracter de vuelta en la secuencia de entrada

Descripción

int ncurses_ungetch ( int $keycode )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

keycode

ncurses_typeahead
ncurses_ungetmouse
Funciones de Ncurses


Coloca un evento de mouse en la cola

ncurses_ungetch
ncurses_update_panels
Funciones de Ncurses
PHP Manual

ncurses_ungetmouse

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_ungetmouse — Coloca un evento de mouse en la cola

Descripción

bool ncurses_ungetmouse ( array $mevent )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Coloca un evento KEY_MOUSE en la cola de eventos devueltos y asocia con él los datos de estado y coordenadas relativas-a-pantalla de celda de caracter especificadas en evento_mouse.

Parámetros

mevent

Una matriz asociativa especificando las opciones del evento:

  • "id" : Id para distinguir múltiples dispositivos

  • "x" : posición x relativa a la pantalla en celdas de caracter

  • "y" : posición y relativa a la pantalla en celdas de caracter

  • "z" : por el momento sin soporte

  • "mmask" : acción del mouse

Valores devueltos

Devuelve FALSE en caso de éxito, o TRUE de lo contrario.

Ver también

  • ncurses_getmouse() - Lee los eventos del ratón

ncurses_ungetch
ncurses_update_panels
Funciones de Ncurses


Refresca la pantalla virtual, para reflejar las relaciones entre los paneles en la pila

ncurses_ungetmouse
ncurses_use_default_colors
Funciones de Ncurses
PHP Manual

ncurses_update_panels

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_update_panels — Refresca la pantalla virtual, para reflejar las relaciones entre los paneles en la pila

Descripción

void ncurses_update_panels ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

ncurses_ungetmouse
ncurses_use_default_colors
Funciones de Ncurses


Asignar los colores predeterminados de la terminal al id de color -1

ncurses_update_panels
ncurses_use_env
Funciones de Ncurses
PHP Manual

ncurses_use_default_colors

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_use_default_colors — Asignar los colores predeterminados de la terminal al id de color -1

Descripción

bool ncurses_use_default_colors ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

ncurses_update_panels
ncurses_use_env
Funciones de Ncurses


Controlar el uso de información del entorno sobre el tamaño de la terminal

ncurses_use_default_colors
ncurses_use_extended_names
Funciones de Ncurses
PHP Manual

ncurses_use_env

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_use_env — Controlar el uso de información del entorno sobre el tamaño de la terminal

Descripción

void ncurses_use_env ( bool $flag )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

flag

ncurses_use_default_colors
ncurses_use_extended_names
Funciones de Ncurses


Controlar el uso de nombres extendidos en descripciones de información de terminal

ncurses_use_env
ncurses_vidattr
Funciones de Ncurses
PHP Manual

ncurses_use_extended_names

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_use_extended_names — Controlar el uso de nombres extendidos en descripciones de información de terminal

Descripción

int ncurses_use_extended_names ( bool $flag )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

flag

ncurses_use_env
ncurses_vidattr
Funciones de Ncurses


Desplegar la cadena en la terminal con el atributo de modo de video

ncurses_use_extended_names
ncurses_vline
Funciones de Ncurses
PHP Manual

ncurses_vidattr

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_vidattr — Desplegar la cadena en la terminal con el atributo de modo de video

Descripción

int ncurses_vidattr ( int $intarg )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

intarg

ncurses_use_extended_names
ncurses_vline
Funciones de Ncurses


Dibujar una línea vertical en la posición actual usando un caracter con atributos y una longitud máxima de n caracteres

ncurses_vidattr
ncurses_waddch
Funciones de Ncurses
PHP Manual

ncurses_vline

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_vline — Dibujar una línea vertical en la posición actual usando un caracter con atributos y una longitud máxima de n caracteres

Descripción

int ncurses_vline ( int $charattr , int $n )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

charattr

n

ncurses_vidattr
ncurses_waddch
Funciones de Ncurses


Agrega un caracter en la posición actual de una ventana y avanza el cursor

ncurses_vline
ncurses_waddstr
Funciones de Ncurses
PHP Manual

ncurses_waddch

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_waddch — Agrega un caracter en la posición actual de una ventana y avanza el cursor

Descripción

int ncurses_waddch ( resource $window , int $ch )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

window

ch

ncurses_vline
ncurses_waddstr
Funciones de Ncurses


Imprime un texto en la posición actual de una ventana

ncurses_waddch
ncurses_wattroff
Funciones de Ncurses
PHP Manual

ncurses_waddstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_waddstr — Imprime un texto en la posición actual de una ventana

Descripción

int ncurses_waddstr ( resource $window , string $str [, int $n ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

window

str

n

ncurses_waddch
ncurses_wattroff
Funciones de Ncurses


Deshabilita los atributos para una ventana

ncurses_waddstr
ncurses_wattron
Funciones de Ncurses
PHP Manual

ncurses_wattroff

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wattroff — Deshabilita los atributos para una ventana

Descripción

int ncurses_wattroff ( resource $window , int $attrs )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

window

attrs

ncurses_waddstr
ncurses_wattron
Funciones de Ncurses


Habilita los atributos para una ventana

ncurses_wattroff
ncurses_wattrset
Funciones de Ncurses
PHP Manual

ncurses_wattron

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wattron — Habilita los atributos para una ventana

Descripción

int ncurses_wattron ( resource $window , int $attrs )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

window

attrs

ncurses_wattroff
ncurses_wattrset
Funciones de Ncurses


Establecer los atributos para una ventana

ncurses_wattron
ncurses_wborder
Funciones de Ncurses
PHP Manual

ncurses_wattrset

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wattrset — Establecer los atributos para una ventana

Descripción

int ncurses_wattrset ( resource $window , int $attrs )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

window

attrs

ncurses_wattron
ncurses_wborder
Funciones de Ncurses


Dibuja un borde alrededor de la ventana usando caracteres con atributos

ncurses_wattrset
ncurses_wclear
Funciones de Ncurses
PHP Manual

ncurses_wborder

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wborder — Dibuja un borde alrededor de la ventana usando caracteres con atributos

Descripción

int ncurses_wborder ( resource $window , int $left , int $right , int $top , int $bottom , int $tl_corner , int $tr_corner , int $bl_corner , int $br_corner )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Dibuja las líneas y esquinas indicadas alrededor de la window dada.

Use ncurses_border() for borders around the main window.

Parámetros

Cada parámetro espera 0 para dibujar una línea, y 1 para saltarla.

window

La ventana en la cual operar

left

right

top

bottom

tl_corner

Esquina superior izquierda

tr_corner

Esquina superior derecha

bl_corner

Esquina inferior izquierda

br_corner

Esquina inferior derecha

Ver también

  • ncurses_border() - Dibujar un borde alrededor de la pantalla usando caracteres con atributos

ncurses_wattrset
ncurses_wclear
Funciones de Ncurses


Limpia la ventana

ncurses_wborder
ncurses_wcolor_set
Funciones de Ncurses
PHP Manual

ncurses_wclear

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wclear — Limpia la ventana

Descripción

int ncurses_wclear ( resource $window )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

window

ncurses_wborder
ncurses_wcolor_set
Funciones de Ncurses


Establece parejas de colores en la ventana

ncurses_wclear
ncurses_werase
Funciones de Ncurses
PHP Manual

ncurses_wcolor_set

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wcolor_set — Establece parejas de colores en la ventana

Descripción

int ncurses_wcolor_set ( resource $window , int $color_pair )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

window

color_pair

ncurses_wclear
ncurses_werase
Funciones de Ncurses


Eliminar los contenidos de la ventana

ncurses_wcolor_set
ncurses_wgetch
Funciones de Ncurses
PHP Manual

ncurses_werase

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_werase — Eliminar los contenidos de la ventana

Descripción

int ncurses_werase ( resource $window )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

window

ncurses_wcolor_set
ncurses_wgetch
Funciones de Ncurses


Lee un caracter desde el teclado (en la ventana)

ncurses_werase
ncurses_whline
Funciones de Ncurses
PHP Manual

ncurses_wgetch

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wgetch — Lee un caracter desde el teclado (en la ventana)

Descripción

int ncurses_wgetch ( resource $window )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

window

ncurses_werase
ncurses_whline
Funciones de Ncurses


Dibuja una línea horizontal en una ventana en la posición actual usando un caracter con atributos y un largo máximo de n caracteres

ncurses_wgetch
ncurses_wmouse_trafo
Funciones de Ncurses
PHP Manual

ncurses_whline

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_whline — Dibuja una línea horizontal en una ventana en la posición actual usando un caracter con atributos y un largo máximo de n caracteres

Descripción

int ncurses_whline ( resource $window , int $charattr , int $n )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

window

charattr

n

ncurses_wgetch
ncurses_wmouse_trafo
Funciones de Ncurses


Transforma coordenadas de ventana/stdscr

ncurses_whline
ncurses_wmove
Funciones de Ncurses
PHP Manual

ncurses_wmouse_trafo

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wmouse_trafo — Transforma coordenadas de ventana/stdscr

Descripción

bool ncurses_wmouse_trafo ( resource $window , int &$y , int &$x , bool $toscreen )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

window

x

y

toscreen

ncurses_whline
ncurses_wmove
Funciones de Ncurses


Mueve la posición de salida de la ventana

ncurses_wmouse_trafo
ncurses_wnoutrefresh
Funciones de Ncurses
PHP Manual

ncurses_wmove

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wmove — Mueve la posición de salida de la ventana

Descripción

int ncurses_wmove ( resource $window , int $y , int $x )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

window

y

x

ncurses_wmouse_trafo
ncurses_wnoutrefresh
Funciones de Ncurses


Copia la ventana a la pantalla virtual

ncurses_wmove
ncurses_wrefresh
Funciones de Ncurses
PHP Manual

ncurses_wnoutrefresh

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wnoutrefresh — Copia la ventana a la pantalla virtual

Descripción

int ncurses_wnoutrefresh ( resource $window )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

window

ncurses_wmove
ncurses_wrefresh
Funciones de Ncurses


Refrescar la ventana en la pantalla de terminal

ncurses_wnoutrefresh
ncurses_wstandend
Funciones de Ncurses
PHP Manual

ncurses_wrefresh

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wrefresh — Refrescar la ventana en la pantalla de terminal

Descripción

int ncurses_wrefresh ( resource $window )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

window

ncurses_wnoutrefresh
ncurses_wstandend
Funciones de Ncurses


Finaliza el modo standout para una ventana

ncurses_wrefresh
ncurses_wstandout
Funciones de Ncurses
PHP Manual

ncurses_wstandend

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wstandend — Finaliza el modo standout para una ventana

Descripción

int ncurses_wstandend ( resource $window )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

window

ncurses_wrefresh
ncurses_wstandout
Funciones de Ncurses


Ingresar a modo standout en una ventana

ncurses_wstandend
ncurses_wvline
Funciones de Ncurses
PHP Manual

ncurses_wstandout

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wstandout — Ingresar a modo standout en una ventana

Descripción

int ncurses_wstandout ( resource $window )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

window

ncurses_wstandend
ncurses_wvline
Funciones de Ncurses


Dibuja una línea vertical en una ventana en la posición actual usando un caracter con atributos y una longitud máxima de n caracteres

ncurses_wstandout
Newt
Funciones de Ncurses
PHP Manual

ncurses_wvline

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wvline — Dibuja una línea vertical en una ventana en la posición actual usando un caracter con atributos y una longitud máxima de n caracteres

Descripción

int ncurses_wvline ( resource $window , int $charattr , int $n )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

window

charattr

n

ncurses_wstandout
Newt
Funciones de Ncurses


Newt

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
    • Motivos de salida del formulario de newt
    • Conjuntos de colores de newt
    • Banderas de argumentos de newt
    • Sentido de banderas de newt
    • Banderas de componentes de newt
    • Banderas de descriptores de ficheros
    • Banderas de árbol de casillas de verificación
    • Banderas de entrada
    • Banderas de cuadros de listas
    • Banderas de cuadros de texto
    • Banderas de formulario
    • Teclas de newt
    • Anclas de newt
    • Banderas de cuadrícula
  • Ejemplos
    • Uso básico
  • Funciones de Newt
    • newt_bell — Enviar sonido bip a la terminal
    • newt_button_bar — Esta función devuelve una tabla que contiene los botones creados
    • newt_button — Crear un nuevo botón
    • newt_centered_window — Abrir una ventana centrada de un tamaño específico
    • newt_checkbox_get_value — Obtener el valor del recurso checkbox
    • newt_checkbox_set_flags — Configura el recurso checkbox
    • newt_checkbox_set_value — Establece el valor de la checkbox
    • newt_checkbox_tree_add_item — Añade un nuevo ítem al árbol checkbox
    • newt_checkbox_tree_find_item — Busca un elemento en el árbol de casillas de verificación
    • newt_checkbox_tree_get_current — Devuelve el elemento seleccionado del árbol de casillas de verificación
    • newt_checkbox_tree_get_entry_value — Descripción
    • newt_checkbox_tree_get_multi_selection — Descripción
    • newt_checkbox_tree_get_selection — Descripción
    • newt_checkbox_tree_multi — Descripción
    • newt_checkbox_tree_set_current — Descripción
    • newt_checkbox_tree_set_entry_value — Descripción
    • newt_checkbox_tree_set_entry — Descripción
    • newt_checkbox_tree_set_width — Descripción
    • newt_checkbox_tree — Descripción
    • newt_checkbox — Descripción
    • newt_clear_key_buffer — Desecha el contenido del búfer de entrada del terminal sin esperar a entradas adicionales
    • newt_cls — Descripción
    • newt_compact_button — Descripción
    • newt_component_add_callback — Descripción
    • newt_component_takes_focus — Descripción
    • newt_create_grid — Descripción
    • newt_cursor_off — Descripción
    • newt_cursor_on — Descripción
    • newt_delay — Descripción
    • newt_draw_form — Descripción
    • newt_draw_root_text — Muestra el texto de cadena en la posición indicada
    • newt_entry_get_value — Descripción
    • newt_entry_set_filter — Descripción
    • newt_entry_set_flags — Descripción
    • newt_entry_set — Descripción
    • newt_entry — Descripción
    • newt_finished — Desinicializa la interfaz de newt
    • newt_form_add_component — Añade un único componente al formulario
    • newt_form_add_components — Añade varios componentes al formulario
    • newt_form_add_hot_key — Descripción
    • newt_form_destroy — Destruye un formulario
    • newt_form_get_current — Descripción
    • newt_form_run — Ejecuta un formulario
    • newt_form_set_background — Descripción
    • newt_form_set_height — Descripción
    • newt_form_set_size — Descripción
    • newt_form_set_timer — Descripción
    • newt_form_set_width — Descripción
    • newt_form_watch_fd — Descripción
    • newt_form — Crea un formulario
    • newt_get_screen_size — Rellena las referencias pasadas con el tamaño actual del terminal
    • newt_grid_add_components_to_form — Descripción
    • newt_grid_basic_window — Descripción
    • newt_grid_free — Descripción
    • newt_grid_get_size — Descripción
    • newt_grid_h_close_stacked — Descripción
    • newt_grid_h_stacked — Descripción
    • newt_grid_place — Descripción
    • newt_grid_set_field — Descripción
    • newt_grid_simple_window — Descripción
    • newt_grid_v_close_stacked — Descripción
    • newt_grid_v_stacked — Descripción
    • newt_grid_wrapped_window_at — Descripción
    • newt_grid_wrapped_window — Descripción
    • newt_init — Inicializa newt
    • newt_label_set_text — Descripción
    • newt_label — Descripción
    • newt_listbox_append_entry — Descripción
    • newt_listbox_clear_selection — Descripción
    • newt_listbox_clear — Descripción
    • newt_listbox_delete_entry — Descripción
    • newt_listbox_get_current — Descripción
    • newt_listbox_get_selection — Descripción
    • newt_listbox_insert_entry — Descripción
    • newt_listbox_item_count — Descripción
    • newt_listbox_select_item — Descripción
    • newt_listbox_set_current_by_key — Descripción
    • newt_listbox_set_current — Descripción
    • newt_listbox_set_data — Descripción
    • newt_listbox_set_entry — Descripción
    • newt_listbox_set_width — Descripción
    • newt_listbox — Descripción
    • newt_listitem_get_data — Descripción
    • newt_listitem_set — Descripción
    • newt_listitem — Descripción
    • newt_open_window — Abre una ventana con el tamaño y posición especificados
    • newt_pop_help_line — Reemplaza la línea actual de ayuda con la procedente de la pila
    • newt_pop_window — Elimina la ventana superior de la exposición
    • newt_push_help_line — Guarda la línea actual de ayuda en una pila, y muestra la nueva línea
    • newt_radio_get_current — Descripción
    • newt_radiobutton — Descripción
    • newt_redraw_help_line — Descripción
    • newt_reflow_text — Descripción
    • newt_refresh — Actualiza las porciones modificadas de la pantalla
    • newt_resize_screen — Descripción
    • newt_resume — Reanudación usando la interfaz de newt después de llamar a newt_suspend
    • newt_run_form — Ejecuta un formulario
    • newt_scale_set — Descripción
    • newt_scale — Descripción
    • newt_scrollbar_set — Descripción
    • newt_set_help_callback — Descripción
    • newt_set_suspend_callback — Establece una función de llamada de retorno que se invoca cuando el usuario presiona la tecla de suspensión
    • newt_suspend — Indica a newt que devuelva el terminal a su estado inicial
    • newt_textbox_get_num_lines — Descripción
    • newt_textbox_reflowed — Descripción
    • newt_textbox_set_height — Descripción
    • newt_textbox_set_text — Descripción
    • newt_textbox — Descripción
    • newt_vertical_scrollbar — Descripción
    • newt_wait_for_key — No devolver hasta que se pulse una tecla
    • newt_win_choice — Descripción
    • newt_win_entries — Descripción
    • newt_win_menu — Descripción
    • newt_win_message — Descripción
    • newt_win_messagev — Descripción
    • newt_win_ternary — Descripción
ncurses_wvline
Introducción
Extensiones específicas de la línea de comandos


Introducción

Esta es una extensión del lenguaje PHP para la biblioteca RedHat Newt, una biblioteca de ventana basada en terminal y en widget para escribir aplicaciones con interfaz de usuario amigable. Una vez que esta extensión está activada en PHP, ofrecerá el uso de widgets Newt, tales como ventanas, botones, casillas de verificación, botones de radio, etiquetas, cajas de texto, barras de desplazamiento, áreas de texto, escalas, etc. El uso de esta extensión es muy similar a la API de Newt original del lenguaje de programación C.

Newt
Instalación/Configuración
Newt


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Newt


Requerimientos

Este módulo utiliza las funciones de la biblioteca RedHat Newt. Es necesaria la versión >= 0.51.0 de libnewt.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP. Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/newt.

En PHP 4 el código fuente de estas extensiones PECL puede ser encontrado en el directorio ext/ dentro del código fuente de PHP o a través del anterior enlace a PECL. Para poder utilizar estas funciones, se debe compilar PHP CGI o CLI con soporte para newt mediante el uso de la opción de configuración --with-newt[=DIR] .

Nota:

Esta extensión no está disponible para la plataforma Windows.

También pueden ser necesarias las bibliotecas curses y slang, con el fin de compilar esta extensión. Para especificar las ubicaciones de dichas bibliotecas, se ha de usar las siguientes opciones de configuración: --with-curses-dir=/path/to/libcurses --with-slang-dir=/path/to/libslang

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

Esta extensión utiliza dos tipos de recursos: "newt component" y "newt grid".

El tipo de recurso "newt component" es devuelto por funciones, las cuales crean widgets comunes de newt widgets (por ejemplo: newt_button())

El tipo de recurso "newt grid" es un identificador de enlace especial para componentes, devuelto por las funciones de fabricación de cuadríagulas de newt (por ejemplo: newt_create_grid())

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Tabla de contenidos

  • Motivos de salida del formulario de newt
  • Conjuntos de colores de newt
  • Banderas de argumentos de newt
  • Sentido de banderas de newt
  • Banderas de componentes de newt
  • Banderas de descriptores de ficheros
  • Banderas de árbol de casillas de verificación
  • Banderas de entrada
  • Banderas de cuadros de listas
  • Banderas de cuadros de texto
  • Banderas de formulario
  • Teclas de newt
  • Anclas de newt
  • Banderas de cuadrícula

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Tipos de recursos
Motivos de salida del formulario de newt
Newt


Motivos de salida del formulario de newt

Motivos de salida del formulario de newt
constante | significado
NEWT_EXIT_HOTKEY | se pulsó una combinación de teclas definida por newt_form_add_hot_key()
NEWT_EXIT_COMPONENT | algún componente ha ocasionado la salida de formulario
NEWT_EXIT_FDREADY | el descriptor de fichero especificado en newt_form_watch_fd() está listo para lectura o escritura
NEWT_EXIT_TIMER | ha transcurrido el tiempo especificado en newt_form_set_timer()
Constantes predefinidas
Conjuntos de colores de newt
Constantes predefinidas


Conjuntos de colores de newt

Conjuntos de colores de newt
constante | significado
NEWT_COLORSET_ROOT |
NEWT_COLORSET_BORDER |
NEWT_COLORSET_WINDOW |
NEWT_COLORSET_SHADOW |
NEWT_COLORSET_TITLE |
NEWT_COLORSET_BUTTON |
NEWT_COLORSET_ACTBUTTON |
NEWT_COLORSET_CHECKBOX |
NEWT_COLORSET_ACTCHECKBOX |
NEWT_COLORSET_ENTRY |
NEWT_COLORSET_LABEL |
NEWT_COLORSET_LISTBOX |
NEWT_COLORSET_ACTLISTBOX |
NEWT_COLORSET_TEXTBOX |
NEWT_COLORSET_ACTTEXTBOX |
NEWT_COLORSET_HELPLINE |
NEWT_COLORSET_ROOTTEXT |
NEWT_COLORSET_EMPTYSCALE |
NEWT_COLORSET_FULLSCALE |
NEWT_COLORSET_DISENTRY |
NEWT_COLORSET_COMPACTBUTTON |
NEWT_COLORSET_ACTSELLISTBOX |
NEWT_COLORSET_SELLISTBOX |
Motivos de salida del formulario de newt
Banderas de argumentos de newt
Constantes predefinidas


Banderas de argumentos de newt

Banderas de argumentos de newt
constante | significado
NEWT_ARG_LAST |
NEWT_ARG_APPEND |
Conjuntos de colores de newt
Sentido de banderas de newt
Constantes predefinidas


Sentido de banderas de newt

Sentido de banderas de newt
constante | significado
NEWT_FLAGS_SET |
NEWT_FLAGS_RESET |
NEWT_FLAGS_TOGGLE |
Banderas de argumentos de newt
Banderas de componentes de newt
Constantes predefinidas


Banderas de componentes de newt

Banderas de componentes de newt
constante | significado
NEWT_FLAG_RETURNEXIT | Salida del formulario, cuando el componente es activado
NEWT_FLAG_HIDDEN | El componente está oculto
NEWT_FLAG_SCROLL | El componente es desplazable
NEWT_FLAG_DISABLED | El componente está deshabilitado
NEWT_FLAG_BORDER |
NEWT_FLAG_WRAP | Envolver texto
NEWT_FLAG_NOF12 | No salir del formulario al pulsar F12
NEWT_FLAG_MULTIPLE |
NEWT_FLAG_SELECTED | El componente está seleccionado
NEWT_FLAG_CHECKBOX | El componente es una casilla de verificación
NEWT_FLAG_PASSWORD | El componente es una entrada de contraseñas
NEWT_FLAG_SHOWCURSOR | Mostrar el cursor
Sentido de banderas de newt
Banderas de descriptores de ficheros
Constantes predefinidas


Banderas de descriptores de ficheros

Banderas de descriptores de ficheros
constante | significado
NEWT_FD_READ |
NEWT_FD_WRITE |
NEWT_FD_EXCEPT |
Banderas de componentes de newt
Banderas de árbol de casillas de verificación
Constantes predefinidas


Banderas de árbol de casillas de verificación

Banderas de árbol de casillas de verificación
constante | significado
NEWT_CHECKBOXTREE_UNSELECTABLE |
NEWT_CHECKBOXTREE_HIDE_BOX |
NEWT_CHECKBOXTREE_COLLAPSED |
NEWT_CHECKBOXTREE_EXPANDED |
NEWT_CHECKBOXTREE_UNSELECTED |
NEWT_CHECKBOXTREE_SELECTED |
Banderas de descriptores de ficheros
Banderas de entrada
Constantes predefinidas


Banderas de entrada

Banderas de entrada
constante | significado
NEWT_ENTRY_SCROLL |
NEWT_ENTRY_HIDDEN |
NEWT_ENTRY_RETURNEXIT |
NEWT_ENTRY_DISABLED |
Banderas de árbol de casillas de verificación
Banderas de cuadros de listas
Constantes predefinidas


Banderas de cuadros de listas

Banderas de cuadros de listas
constante | significado
NEWT_LISTBOX_RETURNEXIT |
Banderas de entrada
Banderas de cuadros de texto
Constantes predefinidas


Banderas de cuadros de texto

Banderas de cuadros de texto
constante | significado
NEWT_TEXTBOX_WRAP | Envolver texto en el cuadro de texto
NEWT_TEXTBOX_SCROLL | Desplazar texto en el cuadro de texto
Banderas de cuadros de listas
Banderas de formulario
Constantes predefinidas


Banderas de formulario

Banderas de formulario
constante | significado
NEWT_FORM_NOF12 | No salir del formulario al pulsar F12
Banderas de cuadros de texto
Teclas de newt
Constantes predefinidas


Teclas de newt

Teclas de newt
constante | significado
NEWT_KEY_TAB |
NEWT_KEY_ENTER |
NEWT_KEY_SUSPEND |
NEWT_KEY_ESCAPE |
NEWT_KEY_RETURN |
NEWT_KEY_EXTRA_BASE |
NEWT_KEY_UP |
NEWT_KEY_DOWN |
NEWT_KEY_LEFT |
NEWT_KEY_RIGHT |
NEWT_KEY_BKSPC |
NEWT_KEY_DELETE |
NEWT_KEY_HOME |
NEWT_KEY_END |
NEWT_KEY_UNTAB |
NEWT_KEY_PGUP |
NEWT_KEY_PGDN |
NEWT_KEY_INSERT |
NEWT_KEY_F1 |
NEWT_KEY_F2 |
NEWT_KEY_F3 |
NEWT_KEY_F4 |
NEWT_KEY_F5 |
NEWT_KEY_F6 |
NEWT_KEY_F7 |
NEWT_KEY_F8 |
NEWT_KEY_F9 |
NEWT_KEY_F10 |
NEWT_KEY_F11 |
NEWT_KEY_F12 |
NEWT_KEY_RESIZE |
Banderas de formulario
Anclas de newt
Constantes predefinidas


Anclas de newt

Anclas de newt
constante | significado
NEWT_ANCHOR_LEFT |
NEWT_ANCHOR_RIGHT |
NEWT_ANCHOR_TOP |
NEWT_ANCHOR_BOTTOM |
Teclas de newt
Banderas de cuadrícula
Constantes predefinidas


Banderas de cuadrícula

Banderas de cuadrícula
constante | significado
NEWT_GRID_FLAG_GROWX |
NEWT_GRID_FLAG_GROWY |
NEWT_GRID_EMPTY |
NEWT_GRID_COMPONENT |
NEWT_GRID_SUBGRID |
Anclas de newt
Ejemplos
Constantes predefinidas


Ejemplos

Tabla de contenidos

  • Uso básico
Banderas de cuadrícula
Uso básico
Newt


Uso básico

Este ejemplo es un puerto de PHP de diálogo de la utilidad 'setup' de RedHat, ejecutado en modo texto.

Ejemplo #1 Ejemplo de uso de newt

<?php
newt_init ();
newt_cls ();

newt_draw_root_text (0, 0, "Test Mode Setup Utility 1.12");
newt_push_help_line (null);
newt_draw_root_text (-30, 0, "(c) 1999-2002 RedHat, Inc");

newt_get_screen_size ($filas, $columnas);

newt_open_window ($filas/2-17, $columnas/2-10, 34, 17, "Elija una herramienta");

$form = newt_form ();

$list = newt_listbox (3, 2, 10);

foreach (array (
    "Configuración de autenticación",
    "Configuración del cortafuegos",
    "Configuración del ratón",
    "Configuración de la red",
    "Configuración de la impresora",
    "Servicios del sistema") as $l_item)
{
    newt_listbox_add_entry ($list, $l_item, $l_item);
}

$b1 = newt_button (5, 12, "Ejecutar herramienta");
$b2 = newt_button (21, 12, "Salir");

newt_form_add_component ($form, $list);
newt_form_add_components ($form, array($b1, $b2));

newt_refresh ();
newt_run_form ($form);

newt_pop_window ();
newt_pop_help_line ();
newt_finished ();
newt_form_destroy ($form);
?>
Ejemplos
Funciones de Newt
Ejemplos


Funciones de Newt

Tabla de contenidos

  • newt_bell — Enviar sonido bip a la terminal
  • newt_button_bar — Esta función devuelve una tabla que contiene los botones creados
  • newt_button — Crear un nuevo botón
  • newt_centered_window — Abrir una ventana centrada de un tamaño específico
  • newt_checkbox_get_value — Obtener el valor del recurso checkbox
  • newt_checkbox_set_flags — Configura el recurso checkbox
  • newt_checkbox_set_value — Establece el valor de la checkbox
  • newt_checkbox_tree_add_item — Añade un nuevo ítem al árbol checkbox
  • newt_checkbox_tree_find_item — Busca un elemento en el árbol de casillas de verificación
  • newt_checkbox_tree_get_current — Devuelve el elemento seleccionado del árbol de casillas de verificación
  • newt_checkbox_tree_get_entry_value — Descripción
  • newt_checkbox_tree_get_multi_selection — Descripción
  • newt_checkbox_tree_get_selection — Descripción
  • newt_checkbox_tree_multi — Descripción
  • newt_checkbox_tree_set_current — Descripción
  • newt_checkbox_tree_set_entry_value — Descripción
  • newt_checkbox_tree_set_entry — Descripción
  • newt_checkbox_tree_set_width — Descripción
  • newt_checkbox_tree — Descripción
  • newt_checkbox — Descripción
  • newt_clear_key_buffer — Desecha el contenido del búfer de entrada del terminal sin esperar a entradas adicionales
  • newt_cls — Descripción
  • newt_compact_button — Descripción
  • newt_component_add_callback — Descripción
  • newt_component_takes_focus — Descripción
  • newt_create_grid — Descripción
  • newt_cursor_off — Descripción
  • newt_cursor_on — Descripción
  • newt_delay — Descripción
  • newt_draw_form — Descripción
  • newt_draw_root_text — Muestra el texto de cadena en la posición indicada
  • newt_entry_get_value — Descripción
  • newt_entry_set_filter — Descripción
  • newt_entry_set_flags — Descripción
  • newt_entry_set — Descripción
  • newt_entry — Descripción
  • newt_finished — Desinicializa la interfaz de newt
  • newt_form_add_component — Añade un único componente al formulario
  • newt_form_add_components — Añade varios componentes al formulario
  • newt_form_add_hot_key — Descripción
  • newt_form_destroy — Destruye un formulario
  • newt_form_get_current — Descripción
  • newt_form_run — Ejecuta un formulario
  • newt_form_set_background — Descripción
  • newt_form_set_height — Descripción
  • newt_form_set_size — Descripción
  • newt_form_set_timer — Descripción
  • newt_form_set_width — Descripción
  • newt_form_watch_fd — Descripción
  • newt_form — Crea un formulario
  • newt_get_screen_size — Rellena las referencias pasadas con el tamaño actual del terminal
  • newt_grid_add_components_to_form — Descripción
  • newt_grid_basic_window — Descripción
  • newt_grid_free — Descripción
  • newt_grid_get_size — Descripción
  • newt_grid_h_close_stacked — Descripción
  • newt_grid_h_stacked — Descripción
  • newt_grid_place — Descripción
  • newt_grid_set_field — Descripción
  • newt_grid_simple_window — Descripción
  • newt_grid_v_close_stacked — Descripción
  • newt_grid_v_stacked — Descripción
  • newt_grid_wrapped_window_at — Descripción
  • newt_grid_wrapped_window — Descripción
  • newt_init — Inicializa newt
  • newt_label_set_text — Descripción
  • newt_label — Descripción
  • newt_listbox_append_entry — Descripción
  • newt_listbox_clear_selection — Descripción
  • newt_listbox_clear — Descripción
  • newt_listbox_delete_entry — Descripción
  • newt_listbox_get_current — Descripción
  • newt_listbox_get_selection — Descripción
  • newt_listbox_insert_entry — Descripción
  • newt_listbox_item_count — Descripción
  • newt_listbox_select_item — Descripción
  • newt_listbox_set_current_by_key — Descripción
  • newt_listbox_set_current — Descripción
  • newt_listbox_set_data — Descripción
  • newt_listbox_set_entry — Descripción
  • newt_listbox_set_width — Descripción
  • newt_listbox — Descripción
  • newt_listitem_get_data — Descripción
  • newt_listitem_set — Descripción
  • newt_listitem — Descripción
  • newt_open_window — Abre una ventana con el tamaño y posición especificados
  • newt_pop_help_line — Reemplaza la línea actual de ayuda con la procedente de la pila
  • newt_pop_window — Elimina la ventana superior de la exposición
  • newt_push_help_line — Guarda la línea actual de ayuda en una pila, y muestra la nueva línea
  • newt_radio_get_current — Descripción
  • newt_radiobutton — Descripción
  • newt_redraw_help_line — Descripción
  • newt_reflow_text — Descripción
  • newt_refresh — Actualiza las porciones modificadas de la pantalla
  • newt_resize_screen — Descripción
  • newt_resume — Reanudación usando la interfaz de newt después de llamar a newt_suspend
  • newt_run_form — Ejecuta un formulario
  • newt_scale_set — Descripción
  • newt_scale — Descripción
  • newt_scrollbar_set — Descripción
  • newt_set_help_callback — Descripción
  • newt_set_suspend_callback — Establece una función de llamada de retorno que se invoca cuando el usuario presiona la tecla de suspensión
  • newt_suspend — Indica a newt que devuelva el terminal a su estado inicial
  • newt_textbox_get_num_lines — Descripción
  • newt_textbox_reflowed — Descripción
  • newt_textbox_set_height — Descripción
  • newt_textbox_set_text — Descripción
  • newt_textbox — Descripción
  • newt_vertical_scrollbar — Descripción
  • newt_wait_for_key — No devolver hasta que se pulse una tecla
  • newt_win_choice — Descripción
  • newt_win_entries — Descripción
  • newt_win_menu — Descripción
  • newt_win_message — Descripción
  • newt_win_messagev — Descripción
  • newt_win_ternary — Descripción
Uso básico
newt_bell
Newt


Enviar sonido bip a la terminal

Funciones de Newt
newt_button_bar
Funciones de Newt
PHP Manual

newt_bell

(PECL newt >= 0.1)

newt_bell — Enviar sonido bip a la terminal

Descripción

void newt_bell ( void )

Esta función envía un sonido bip a la terminal.

Nota:

Dependiendo de la configuración de la terminal, el bip puede que sea o no sea audible.

Valores devueltos

No devuelve ningún valor.

Funciones de Newt
newt_button_bar
Funciones de Newt


Esta función devuelve una tabla que contiene los botones creados

newt_bell
newt_button
Funciones de Newt
PHP Manual

newt_button_bar

(PECL newt >= 0.1)

newt_button_bar — Esta función devuelve una tabla que contiene los botones creados

Descripción

resource newt_button_bar ( array &$buttons )

Esta función devuelve una table que contiene los botones creados.

Parámetros

buttons

Valores devueltos

Devuelve una tabla que contiene los botones creados.

newt_bell
newt_button
Funciones de Newt


Crear un nuevo botón

newt_button_bar
newt_centered_window
Funciones de Newt
PHP Manual

newt_button

(PECL newt >= 0.1)

newt_button — Crear un nuevo botón

Descripción

resource newt_button ( int $left , int $top , string $text )

Crea un nuevo botón.

Parámetros

left

Coordenada X del botón.

top

Coordenada Y del botón.

text

El texto que debe mostrarse en el botón.

Valores devueltos

Devuelve un recurso enlace al componente del botón creado, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de newt_button()

<?php

$form = newt_form();

$ok_button = newt_button(5, 12, "Run Tool");

newt_form_add_component($form, $ok_button);

?>

Ver también

  • newt_button_bar() - Esta función devuelve una tabla que contiene los botones creados

newt_button_bar
newt_centered_window
Funciones de Newt


Abrir una ventana centrada de un tamaño específico

newt_button
newt_checkbox_get_value
Funciones de Newt
PHP Manual

newt_centered_window

(PECL newt >= 0.1)

newt_centered_window — Abrir una ventana centrada de un tamaño específico

Descripción

int newt_centered_window ( int $width , int $height [, string $title ] )

Abre una ventana centrada de un tamaño específico.

Parámetros

width

Ancho de la ventana

height

Alto de la vetana

title

Título de la ventana

Valores devueltos

Valor no definido.

Ver también

  • newt_pop_window() - Elimina la ventana superior de la exposición
  • newt_open_window() - Abre una ventana con el tamaño y posición especificados

newt_button
newt_checkbox_get_value
Funciones de Newt


Obtener el valor del recurso checkbox

newt_centered_window
newt_checkbox_set_flags
Funciones de Newt
PHP Manual

newt_checkbox_get_value

(PECL newt >= 0.1)

newt_checkbox_get_value — Obtener el valor del recurso checkbox

Descripción

string newt_checkbox_get_value ( resource $checkbox )

Esta función devuelve el caracter en la secuencia que indica el valor actual del checkbox.

Parámetros

checkbox

Valores devueltos

Devuelve el caracter indicando el valor del checkbox.

newt_centered_window
newt_checkbox_set_flags
Funciones de Newt


Configura el recurso checkbox

newt_checkbox_get_value
newt_checkbox_set_value
Funciones de Newt
PHP Manual

newt_checkbox_set_flags

(PECL newt >= 0.1)

newt_checkbox_set_flags — Configura el recurso checkbox

Descripción

void newt_checkbox_set_flags ( resource $checkbox , int $flags , int $sense )

Esta función permite definir varias opciones en el recurso checkbox.

Parámetros

checkbox

flags

sense

Valores devueltos

No devuelve ningún valor.

newt_checkbox_get_value
newt_checkbox_set_value
Funciones de Newt


Establece el valor de la checkbox

newt_checkbox_set_flags
newt_checkbox_tree_add_item
Funciones de Newt
PHP Manual

newt_checkbox_set_value

(PECL newt >= 0.1)

newt_checkbox_set_value — Establece el valor de la checkbox

Descripción

void newt_checkbox_set_value ( resource $checkbox , string $value )

Esta función permite establecer el valor actual del recurso checkbox.

Parámetros

checkbox

value

Valores devueltos

No devuelve ningún valor.

newt_checkbox_set_flags
newt_checkbox_tree_add_item
Funciones de Newt


Añade un nuevo ítem al árbol checkbox

newt_checkbox_set_value
newt_checkbox_tree_find_item
Funciones de Newt
PHP Manual

newt_checkbox_tree_add_item

(PECL newt >= 0.1)

newt_checkbox_tree_add_item — Añade un nuevo ítem al árbol checkbox

Descripción

void newt_checkbox_tree_add_item ( resource $checkboxtree , string $text , mixed $data , int $flags , int $index [, int $... ] )

Esta función permite añadir un nuevo ítem al árbol checkbox.

Parámetros

checkboxtree

text

data

flags

index

Valores devueltos

No devuelve ningún valor.

newt_checkbox_set_value
newt_checkbox_tree_find_item
Funciones de Newt


Busca un elemento en el árbol de casillas de verificación

newt_checkbox_tree_add_item
newt_checkbox_tree_get_current
Funciones de Newt
PHP Manual

newt_checkbox_tree_find_item

(PECL newt >= 0.1)

newt_checkbox_tree_find_item — Busca un elemento en el árbol de casillas de verificación

Descripción

array newt_checkbox_tree_find_item ( resource $checkboxtree , mixed $data )

Busca un elemento en el árbol de casillas de verificación mediante los datos de elemento.

Parámetros

checkboxtree

data

Valores devueltos

Devuelve el recurso del elemento del árbol de casillas de verificación, o NULL si no se encontro.

newt_checkbox_tree_add_item
newt_checkbox_tree_get_current
Funciones de Newt


Devuelve el elemento seleccionado del árbol de casillas de verificación

newt_checkbox_tree_find_item
newt_checkbox_tree_get_entry_value
Funciones de Newt
PHP Manual

newt_checkbox_tree_get_current

(PECL newt >= 0.1)

newt_checkbox_tree_get_current — Devuelve el elemento seleccionado del árbol de casillas de verificación

Descripción

mixed newt_checkbox_tree_get_current ( resource $checkboxtree )

Este método devuelve el elemento seleccionado del árbol de casillas de verificación.

Parámetros

checkboxtree

Valores devueltos

Devuelve el elemento actual (seleccionado) del árbol de casillas de verificación.

newt_checkbox_tree_find_item
newt_checkbox_tree_get_entry_value
Funciones de Newt


newt_checkbox_tree_get_current
newt_checkbox_tree_get_multi_selection
Funciones de Newt
PHP Manual

newt_checkbox_tree_get_entry_value

(PECL newt >= 0.1)

newt_checkbox_tree_get_entry_value —

Descripción

string newt_checkbox_tree_get_entry_value ( resource $checkboxtree , mixed $data )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

checkboxtree

data

Valores devueltos

newt_checkbox_tree_get_current
newt_checkbox_tree_get_multi_selection
Funciones de Newt


newt_checkbox_tree_get_entry_value
newt_checkbox_tree_get_selection
Funciones de Newt
PHP Manual

newt_checkbox_tree_get_multi_selection

(PECL newt >= 0.1)

newt_checkbox_tree_get_multi_selection —

Descripción

array newt_checkbox_tree_get_multi_selection ( resource $checkboxtree , string $seqnum )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

checkboxtree

seqnum

Valores devueltos

newt_checkbox_tree_get_entry_value
newt_checkbox_tree_get_selection
Funciones de Newt


newt_checkbox_tree_get_multi_selection
newt_checkbox_tree_multi
Funciones de Newt
PHP Manual

newt_checkbox_tree_get_selection

(PECL newt >= 0.1)

newt_checkbox_tree_get_selection —

Descripción

array newt_checkbox_tree_get_selection ( resource $checkboxtree )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

checkboxtree

Valores devueltos

newt_checkbox_tree_get_multi_selection
newt_checkbox_tree_multi
Funciones de Newt


newt_checkbox_tree_get_selection
newt_checkbox_tree_set_current
Funciones de Newt
PHP Manual

newt_checkbox_tree_multi

(PECL newt >= 0.1)

newt_checkbox_tree_multi —

Descripción

resource newt_checkbox_tree_multi ( int $left , int $top , int $height , string $seq [, int $flags ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

left

top

height

seq

flags

Valores devueltos

newt_checkbox_tree_get_selection
newt_checkbox_tree_set_current
Funciones de Newt


newt_checkbox_tree_multi
newt_checkbox_tree_set_entry_value
Funciones de Newt
PHP Manual

newt_checkbox_tree_set_current

(PECL newt >= 0.1)

newt_checkbox_tree_set_current —

Descripción

void newt_checkbox_tree_set_current ( resource $checkboxtree , mixed $data )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

checkboxtree

data

Valores devueltos

No devuelve ningún valor.

newt_checkbox_tree_multi
newt_checkbox_tree_set_entry_value
Funciones de Newt


newt_checkbox_tree_set_current
newt_checkbox_tree_set_entry
Funciones de Newt
PHP Manual

newt_checkbox_tree_set_entry_value

(PECL newt >= 0.1)

newt_checkbox_tree_set_entry_value —

Descripción

void newt_checkbox_tree_set_entry_value ( resource $checkboxtree , mixed $data , string $value )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

checkboxtree

data

value

Valores devueltos

No devuelve ningún valor.

newt_checkbox_tree_set_current
newt_checkbox_tree_set_entry
Funciones de Newt


newt_checkbox_tree_set_entry_value
newt_checkbox_tree_set_width
Funciones de Newt
PHP Manual

newt_checkbox_tree_set_entry

(PECL newt >= 0.1)

newt_checkbox_tree_set_entry —

Descripción

void newt_checkbox_tree_set_entry ( resource $checkboxtree , mixed $data , string $text )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

checkboxtree

data

text

Valores devueltos

No devuelve ningún valor.

newt_checkbox_tree_set_entry_value
newt_checkbox_tree_set_width
Funciones de Newt


newt_checkbox_tree_set_entry
newt_checkbox_tree
Funciones de Newt
PHP Manual

newt_checkbox_tree_set_width

(PECL newt >= 0.1)

newt_checkbox_tree_set_width —

Descripción

void newt_checkbox_tree_set_width ( resource $checkbox_tree , int $width )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

checkbox_tree

width

Valores devueltos

No devuelve ningún valor.

newt_checkbox_tree_set_entry
newt_checkbox_tree
Funciones de Newt


newt_checkbox_tree_set_width
newt_checkbox
Funciones de Newt
PHP Manual

newt_checkbox_tree

(PECL newt >= 0.1)

newt_checkbox_tree —

Descripción

resource newt_checkbox_tree ( int $left , int $top , int $height [, int $flags ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

left

top

height

flags

Valores devueltos

newt_checkbox_tree_set_width
newt_checkbox
Funciones de Newt


newt_checkbox_tree
newt_clear_key_buffer
Funciones de Newt
PHP Manual

newt_checkbox

(PECL newt >= 0.1)

newt_checkbox —

Descripción

resource newt_checkbox ( int $left , int $top , string $text , string $def_value [, string $seq ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

left

top

text

def_value

seq

Valores devueltos

newt_checkbox_tree
newt_clear_key_buffer
Funciones de Newt


Desecha el contenido del búfer de entrada del terminal sin esperar a entradas adicionales

newt_checkbox
newt_cls
Funciones de Newt
PHP Manual

newt_clear_key_buffer

(PECL newt >= 0.1)

newt_clear_key_buffer — Desecha el contenido del búfer de entrada del terminal sin esperar a entradas adicionales

Descripción

void newt_clear_key_buffer ( void )

Desecha el contenido del búfer de entrada del terminal sin esperar a entradas adicionales,

Valores devueltos

No devuelve ningún valor.

Ver también

  • newt_wait_for_key() - No devolver hasta que se pulse una tecla

newt_checkbox
newt_cls
Funciones de Newt


newt_clear_key_buffer
newt_compact_button
Funciones de Newt
PHP Manual

newt_cls

(PECL newt >= 0.1)

newt_cls —

Descripción

void newt_cls ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Valores devueltos

No devuelve ningún valor.

newt_clear_key_buffer
newt_compact_button
Funciones de Newt


newt_cls
newt_component_add_callback
Funciones de Newt
PHP Manual

newt_compact_button

(PECL newt >= 0.1)

newt_compact_button —

Descripción

resource newt_compact_button ( int $left , int $top , string $text )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

left

top

text

Valores devueltos

newt_cls
newt_component_add_callback
Funciones de Newt


newt_compact_button
newt_component_takes_focus
Funciones de Newt
PHP Manual

newt_component_add_callback

(PECL newt >= 0.1)

newt_component_add_callback —

Descripción

void newt_component_add_callback ( resource $component , mixed $func_name , mixed $data )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

component

func_name

data

Valores devueltos

No devuelve ningún valor.

newt_compact_button
newt_component_takes_focus
Funciones de Newt


newt_component_add_callback
newt_create_grid
Funciones de Newt
PHP Manual

newt_component_takes_focus

(PECL newt >= 0.1)

newt_component_takes_focus —

Descripción

void newt_component_takes_focus ( resource $component , bool $takes_focus )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

component

takes_focus

Valores devueltos

No devuelve ningún valor.

newt_component_add_callback
newt_create_grid
Funciones de Newt


newt_component_takes_focus
newt_cursor_off
Funciones de Newt
PHP Manual

newt_create_grid

(PECL newt >= 0.1)

newt_create_grid —

Descripción

resource newt_create_grid ( int $cols , int $rows )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

cols

rows

Valores devueltos

newt_component_takes_focus
newt_cursor_off
Funciones de Newt


newt_create_grid
newt_cursor_on
Funciones de Newt
PHP Manual

newt_cursor_off

(PECL newt >= 0.1)

newt_cursor_off —

Descripción

void newt_cursor_off ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Valores devueltos

No devuelve ningún valor.

newt_create_grid
newt_cursor_on
Funciones de Newt


newt_cursor_off
newt_delay
Funciones de Newt
PHP Manual

newt_cursor_on

(PECL newt >= 0.1)

newt_cursor_on —

Descripción

void newt_cursor_on ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

No devuelve ningún valor.

newt_cursor_off
newt_delay
Funciones de Newt


newt_cursor_on
newt_draw_form
Funciones de Newt
PHP Manual

newt_delay

(PECL newt >= 0.1)

newt_delay —

Descripción

void newt_delay ( int $microseconds )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

microseconds

Valores devueltos

No devuelve ningún valor.

newt_cursor_on
newt_draw_form
Funciones de Newt


newt_delay
newt_draw_root_text
Funciones de Newt
PHP Manual

newt_draw_form

(PECL newt >= 0.1)

newt_draw_form —

Descripción

void newt_draw_form ( resource $form )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

form

Valores devueltos

No devuelve ningún valor.

newt_delay
newt_draw_root_text
Funciones de Newt


Muestra el texto de cadena en la posición indicada

newt_draw_form
newt_entry_get_value
Funciones de Newt
PHP Manual

newt_draw_root_text

(PECL newt >= 0.1)

newt_draw_root_text — Muestra el texto de cadena en la posición indicada

Descripción

void newt_draw_root_text ( int $left , int $top , string $text )

Muestra el texto de cadena en la posición indicada.

Parámetros

left

Número de columna

Nota:

Si es negativo, la posición se mide desde el lado opuesto de la pantalla.

top

Número de línea

Nota:

Si es negativo, la posición se mide desde el lado opuesto de la pantalla.

text

El texto a mostrar.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Un ejemplo de newt_draw_root_text()

Este código muestra el dibjujo de títulos en ambas esquinas de la pantalla.

<?php
 newt_init();
 newt_cls();

 newt_draw_root_text (2, 0, "Algún texto raíz");
 newt_refresh();
 sleep(1);

 newt_draw_root_text (-30, 0, "Texto raíz en la otra esquina");
 newt_refresh();
 sleep(1);

 newt_finished();
?>

Ver también

  • newt_push_help_line() - Guarda la línea actual de ayuda en una pila, y muestra la nueva línea
  • newt_pop_help_line() - Reemplaza la línea actual de ayuda con la procedente de la pila

newt_draw_form
newt_entry_get_value
Funciones de Newt


newt_draw_root_text
newt_entry_set_filter
Funciones de Newt
PHP Manual

newt_entry_get_value

(PECL newt >= 0.1)

newt_entry_get_value —

Descripción

string newt_entry_get_value ( resource $entry )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

entry

Valores devueltos

newt_draw_root_text
newt_entry_set_filter
Funciones de Newt


newt_entry_get_value
newt_entry_set_flags
Funciones de Newt
PHP Manual

newt_entry_set_filter

(PECL newt >= 0.1)

newt_entry_set_filter —

Descripción

void newt_entry_set_filter ( resource $entry , callable $filter , mixed $data )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

entry

filter

data

Valores devueltos

No devuelve ningún valor.

newt_entry_get_value
newt_entry_set_flags
Funciones de Newt


newt_entry_set_filter
newt_entry_set
Funciones de Newt
PHP Manual

newt_entry_set_flags

(PECL newt >= 0.1)

newt_entry_set_flags —

Descripción

void newt_entry_set_flags ( resource $entry , int $flags , int $sense )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

entry

flags

sense

Valores devueltos

No devuelve ningún valor.

newt_entry_set_filter
newt_entry_set
Funciones de Newt


newt_entry_set_flags
newt_entry
Funciones de Newt
PHP Manual

newt_entry_set

(PECL newt >= 0.1)

newt_entry_set —

Descripción

void newt_entry_set ( resource $entry , string $value [, bool $cursor_at_end ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

entry

value

cursor_at_end

Valores devueltos

No devuelve ningún valor.

newt_entry_set_flags
newt_entry
Funciones de Newt


newt_entry_set
newt_finished
Funciones de Newt
PHP Manual

newt_entry

(PECL newt >= 0.1)

newt_entry —

Descripción

resource newt_entry ( int $left , int $top , int $width [, string $init_value [, int $flags ]] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

left

top

width

init_value

flags

Valores devueltos

newt_entry_set
newt_finished
Funciones de Newt


Desinicializa la interfaz de newt

newt_entry
newt_form_add_component
Funciones de Newt
PHP Manual

newt_finished

(PECL newt >= 0.1)

newt_finished — Desinicializa la interfaz de newt

Descripción

int newt_finished ( void )

Desinicializa la interfaz de newt. Esta función es invocada cuando el programa está listo para salir.

Valores devueltos

Devuelve 1 en caso de éxito, 0 en caso de error.

Ver también

  • newt_init() - Inicializa newt

newt_entry
newt_form_add_component
Funciones de Newt


Añade un único componente al formulario

newt_finished
newt_form_add_components
Funciones de Newt
PHP Manual

newt_form_add_component

(PECL newt >= 0.1)

newt_form_add_component — Añade un único componente al formulario

Descripción

void newt_form_add_component ( resource $form , resource $component )

Añade un único componente al formulario dado por form.

Parámetros

form

El formulario al que se le añadría el componente

component

El componente a añadir al formulario

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Un ejemplo de newt_form_add_component()

<?php
$form = newt_form();

$opciones = array("Authentication configuration", "Firewall configuration",
"Mouse configuration", "Network configuration", "Printer configuration",
"System services");

$list = newt_listbox(3, 2, 10);

foreach ($opciones as $l_item) {
    newt_listbox_add_entry($list, $l_item, $l_item);
}

newt_form_add_component($form, $list);
?>

Ver también

  • newt_form_add_components() - Añade varios componentes al formulario

newt_finished
newt_form_add_components
Funciones de Newt


Añade varios componentes al formulario

newt_form_add_component
newt_form_add_hot_key
Funciones de Newt
PHP Manual

newt_form_add_components

(PECL newt >= 0.1)

newt_form_add_components — Añade varios componentes al formulario

Descripción

void newt_form_add_components ( resource $form , array $components )

Añade varios componentes al formulario dado por form.

Parámetros

form

El formulario al que se le añadirán los componentes

components

Array de componentes a añadir al formulario

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Un ejemplo de newt_form_add_components()

<?php
$form = newt_form();

$b1 = newt_button(5, 12, "Ejecutar herramienta");
$b2 = newt_button(21, 12, "Salir");

newt_form_add_components($form, array($b1, $b2));
?>

Ver también

  • newt_form_add_component() - Añade un único componente al formulario

newt_form_add_component
newt_form_add_hot_key
Funciones de Newt


newt_form_add_components
newt_form_destroy
Funciones de Newt
PHP Manual

newt_form_add_hot_key

(PECL newt >= 0.1)

newt_form_add_hot_key —

Descripción

void newt_form_add_hot_key ( resource $form , int $key )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

form

key

Valores devueltos

No devuelve ningún valor.

newt_form_add_components
newt_form_destroy
Funciones de Newt


Destruye un formulario

newt_form_add_hot_key
newt_form_get_current
Funciones de Newt
PHP Manual

newt_form_destroy

(PECL newt >= 0.1)

newt_form_destroy — Destruye un formulario

Descripción

void newt_form_destroy ( resource $form )

Esta función libera los recursos de memoria usados por el formulario y todos los componentes que han sido añadidos al mismo (incluyendo aquellos componentes que están en subformularios). Una vez que el formulario ha sido destruido no se podrá usar ninguno de los componentes de dicho formulario.

Parámetros

form

El componente formulario que va a ser destruido.

Valores devueltos

No devuelve ningún valor.

Ver también

  • newt_form_run() - Ejecuta un formulario
  • newt_run_form() - Ejecuta un formulario

newt_form_add_hot_key
newt_form_get_current
Funciones de Newt


newt_form_destroy
newt_form_run
Funciones de Newt
PHP Manual

newt_form_get_current

(PECL newt >= 0.1)

newt_form_get_current —

Descripción

resource newt_form_get_current ( resource $form )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

form

Valores devueltos

newt_form_destroy
newt_form_run
Funciones de Newt


Ejecuta un formulario

newt_form_get_current
newt_form_set_background
Funciones de Newt
PHP Manual

newt_form_run

(PECL newt >= 0.1)

newt_form_run — Ejecuta un formulario

Descripción

void newt_form_run ( resource $form , array &$exit_struct )

Esta función ejecuta el formulario proporcionado.

Parámetros

form

El componente formulario

exit_struct

Un array usado para devolver información después de ejecutar el componente formulario. Las claves y los valores se describen en la siguiente tabla:

Estructura de salida del formulario
Clave índice | Tipo de valor | Descripción
reason | integer | El motivo, por qué se ha salido del formulario. Los valores posibles están definidos aquí.
watch | resource | Enlace a recurso, especificado en newt_form_watch_fd()
key | integer | Combinación de teclas
component | resource | Componente, el cual causó la salida del formulario

Valores devueltos

No devuelve ningún valor.

Ver también

  • newt_run_form() - Ejecuta un formulario

newt_form_get_current
newt_form_set_background
Funciones de Newt


newt_form_run
newt_form_set_height
Funciones de Newt
PHP Manual

newt_form_set_background

(PECL newt >= 0.1)

newt_form_set_background —

Descripción

void newt_form_set_background ( resource $from , int $background )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

from

background

Valores devueltos

No devuelve ningún valor.

newt_form_run
newt_form_set_height
Funciones de Newt


newt_form_set_background
newt_form_set_size
Funciones de Newt
PHP Manual

newt_form_set_height

(PECL newt >= 0.1)

newt_form_set_height —

Descripción

void newt_form_set_height ( resource $form , int $height )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

form

height

Valores devueltos

No devuelve ningún valor.

newt_form_set_background
newt_form_set_size
Funciones de Newt


newt_form_set_height
newt_form_set_timer
Funciones de Newt
PHP Manual

newt_form_set_size

(PECL newt >= 0.1)

newt_form_set_size —

Descripción

void newt_form_set_size ( resource $form )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

form

Valores devueltos

No devuelve ningún valor.

newt_form_set_height
newt_form_set_timer
Funciones de Newt


newt_form_set_size
newt_form_set_width
Funciones de Newt
PHP Manual

newt_form_set_timer

(PECL newt >= 0.1)

newt_form_set_timer —

Descripción

void newt_form_set_timer ( resource $form , int $milliseconds )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

form

milliseconds

Valores devueltos

No devuelve ningún valor.

newt_form_set_size
newt_form_set_width
Funciones de Newt


newt_form_set_timer
newt_form_watch_fd
Funciones de Newt
PHP Manual

newt_form_set_width

(PECL newt >= 0.1)

newt_form_set_width —

Descripción

void newt_form_set_width ( resource $form , int $width )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

form

width

Valores devueltos

No devuelve ningún valor.

newt_form_set_timer
newt_form_watch_fd
Funciones de Newt


newt_form_set_width
newt_form
Funciones de Newt
PHP Manual

newt_form_watch_fd

(PECL newt >= 0.1)

newt_form_watch_fd —

Descripción

void newt_form_watch_fd ( resource $form , resource $stream [, int $flags ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

form

stream

flags

Valores devueltos

No devuelve ningún valor.

newt_form_set_width
newt_form
Funciones de Newt


Crea un formulario

newt_form_watch_fd
newt_get_screen_size
Funciones de Newt
PHP Manual

newt_form

(PECL newt >= 0.1)

newt_form — Crea un formulario

Descripción

resource newt_form ([ resource $vert_bar [, string $help [, int $flags ]]] )

Crea un nuevo formulario.

Parámetros

vert_bar

Barra de desplazamiento vertical que debería estar asociada al formulario

help

Cadena de texto de ayuda

flags

Banderas varias

Valores devueltos

Devuelve un enlace a un recurso al componente formulario creado, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de newt_form()

Muestra un simple botoón "Salir", que cierra la aplicación una vez pulsado.

<?php
newt_init();
newt_cls();

$myform = newt_form();
$button = newt_button (5, 12, "Salir");

newt_form_add_component ($myform, $button);
newt_refresh ();
newt_run_form ($myform);

newt_finished ();
newt_form_destroy ($myform);
?>

Ver también

  • newt_form_run() - Ejecuta un formulario
  • newt_run_form() - Ejecuta un formulario
  • newt_form_add_component() - Añade un único componente al formulario
  • newt_form_add_components() - Añade varios componentes al formulario
  • newt_form_destroy() - Destruye un formulario

newt_form_watch_fd
newt_get_screen_size
Funciones de Newt


Rellena las referencias pasadas con el tamaño actual del terminal

newt_form
newt_grid_add_components_to_form
Funciones de Newt
PHP Manual

newt_get_screen_size

(PECL newt >= 0.1)

newt_get_screen_size — Rellena las referencias pasadas con el tamaño actual del terminal

Descripción

void newt_get_screen_size ( int &$cols , int &$rows )

Rellena las referencias pasadas con el tamaño actual del terminal.

Parámetros

cols

Número de columnas del terminal

rows

Número de filas del terminal

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Un ejemplo de newt_get_screen_size()

Este código muestra en pantalla el tamaño del terminal.

<?php
 newt_init();
 newt_get_screen_size (&$cols, &$rows);
 newt_finished();

 print "El tamaño de este terminal es: {$cols}x{$rows}\n";
?>

El resultado del ejemplo sería:

Your terminal size is: 138x47

newt_form
newt_grid_add_components_to_form
Funciones de Newt


newt_get_screen_size
newt_grid_basic_window
Funciones de Newt
PHP Manual

newt_grid_add_components_to_form

(PECL newt >= 0.1)

newt_grid_add_components_to_form —

Descripción

void newt_grid_add_components_to_form ( resource $grid , resource $form , bool $recurse )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

grid

form

recurse

Valores devueltos

No devuelve ningún valor.

newt_get_screen_size
newt_grid_basic_window
Funciones de Newt


newt_grid_add_components_to_form
newt_grid_free
Funciones de Newt
PHP Manual

newt_grid_basic_window

(PECL newt >= 0.1)

newt_grid_basic_window —

Descripción

resource newt_grid_basic_window ( resource $text , resource $middle , resource $buttons )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

text

middle

buttons

Valores devueltos

newt_grid_add_components_to_form
newt_grid_free
Funciones de Newt


newt_grid_basic_window
newt_grid_get_size
Funciones de Newt
PHP Manual

newt_grid_free

(PECL newt >= 0.1)

newt_grid_free —

Descripción

void newt_grid_free ( resource $grid , bool $recurse )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

grid

recurse

Valores devueltos

No devuelve ningún valor.

newt_grid_basic_window
newt_grid_get_size
Funciones de Newt


newt_grid_free
newt_grid_h_close_stacked
Funciones de Newt
PHP Manual

newt_grid_get_size

(PECL newt >= 0.1)

newt_grid_get_size —

Descripción

void newt_grid_get_size ( resouce $grid , int &$width , int &$height )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

grid

width

height

Valores devueltos

No devuelve ningún valor.

newt_grid_free
newt_grid_h_close_stacked
Funciones de Newt


newt_grid_get_size
newt_grid_h_stacked
Funciones de Newt
PHP Manual

newt_grid_h_close_stacked

(PECL newt >= 0.1)

newt_grid_h_close_stacked —

Descripción

resource newt_grid_h_close_stacked ( int $element1_type , resource $element1 [, int $... [, resource $... ]] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

element1_type

element1

Valores devueltos

newt_grid_get_size
newt_grid_h_stacked
Funciones de Newt


newt_grid_h_close_stacked
newt_grid_place
Funciones de Newt
PHP Manual

newt_grid_h_stacked

(PECL newt >= 0.1)

newt_grid_h_stacked —

Descripción

resource newt_grid_h_stacked ( int $element1_type , resource $element1 [, int $... [, resource $... ]] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

element1_type

element1

Valores devueltos

newt_grid_h_close_stacked
newt_grid_place
Funciones de Newt


newt_grid_h_stacked
newt_grid_set_field
Funciones de Newt
PHP Manual

newt_grid_place

(PECL newt >= 0.1)

newt_grid_place —

Descripción

void newt_grid_place ( resource $grid , int $left , int $top )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

grid

left

top

Valores devueltos

No devuelve ningún valor.

newt_grid_h_stacked
newt_grid_set_field
Funciones de Newt


newt_grid_place
newt_grid_simple_window
Funciones de Newt
PHP Manual

newt_grid_set_field

(PECL newt >= 0.1)

newt_grid_set_field —

Descripción

void newt_grid_set_field ( resource $grid , int $col , int $row , int $type , resource $val , int $pad_left , int $pad_top , int $pad_right , int $pad_bottom , int $anchor [, int $flags ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

grid

col

row

type

val

pad_left

pad_top

pad_right

pad_bottom

anchor

flags

Valores devueltos

No devuelve ningún valor.

newt_grid_place
newt_grid_simple_window
Funciones de Newt


newt_grid_set_field
newt_grid_v_close_stacked
Funciones de Newt
PHP Manual

newt_grid_simple_window

(PECL newt >= 0.1)

newt_grid_simple_window —

Descripción

resource newt_grid_simple_window ( resource $text , resource $middle , resource $buttons )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

text

middle

buttons

Valores devueltos

newt_grid_set_field
newt_grid_v_close_stacked
Funciones de Newt


newt_grid_simple_window
newt_grid_v_stacked
Funciones de Newt
PHP Manual

newt_grid_v_close_stacked

(PECL newt >= 0.1)

newt_grid_v_close_stacked —

Descripción

resource newt_grid_v_close_stacked ( int $element1_type , resource $element1 [, int $... [, resource $... ]] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

element1_type

element1

Valores devueltos

newt_grid_simple_window
newt_grid_v_stacked
Funciones de Newt


newt_grid_v_close_stacked
newt_grid_wrapped_window_at
Funciones de Newt
PHP Manual

newt_grid_v_stacked

(PECL newt >= 0.1)

newt_grid_v_stacked —

Descripción

resource newt_grid_v_stacked ( int $element1_type , resource $element1 [, int $... [, resource $... ]] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

element1_type

element1

Valores devueltos

newt_grid_v_close_stacked
newt_grid_wrapped_window_at
Funciones de Newt


newt_grid_v_stacked
newt_grid_wrapped_window
Funciones de Newt
PHP Manual

newt_grid_wrapped_window_at

(PECL newt >= 0.1)

newt_grid_wrapped_window_at —

Descripción

void newt_grid_wrapped_window_at ( resource $grid , string $title , int $left , int $top )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

grid

title

left

top

Valores devueltos

No devuelve ningún valor.

newt_grid_v_stacked
newt_grid_wrapped_window
Funciones de Newt


newt_grid_wrapped_window_at
newt_init
Funciones de Newt
PHP Manual

newt_grid_wrapped_window

(PECL newt >= 0.1)

newt_grid_wrapped_window —

Descripción

void newt_grid_wrapped_window ( resource $grid , string $title )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

grid

title

Valores devueltos

No devuelve ningún valor.

newt_grid_wrapped_window_at
newt_init
Funciones de Newt


Inicializa newt

newt_grid_wrapped_window
newt_label_set_text
Funciones de Newt
PHP Manual

newt_init

(PECL newt >= 0.1)

newt_init — Inicializa newt

Descripción

int newt_init ( void )

Inicializa la interfaz de newt. Esta función debe ser invocada antes que cualquier otra función de newt.

Valores devueltos

Devuelve 1 en caso de éxito, 0 en caso de error.

Ver también

  • newt_finished() - Desinicializa la interfaz de newt

newt_grid_wrapped_window
newt_label_set_text
Funciones de Newt


newt_init
newt_label
Funciones de Newt
PHP Manual

newt_label_set_text

(PECL newt >= 0.1)

newt_label_set_text —

Descripción

void newt_label_set_text ( resource $label , string $text )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

label

text

Valores devueltos

No devuelve ningún valor.

newt_init
newt_label
Funciones de Newt


newt_label_set_text
newt_listbox_append_entry
Funciones de Newt
PHP Manual

newt_label

(PECL newt >= 0.1)

newt_label —

Descripción

resource newt_label ( int $left , int $top , string $text )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

left

top

text

Valores devueltos

newt_label_set_text
newt_listbox_append_entry
Funciones de Newt


newt_label
newt_listbox_clear_selection
Funciones de Newt
PHP Manual

newt_listbox_append_entry

(PECL newt >= 0.1)

newt_listbox_append_entry —

Descripción

void newt_listbox_append_entry ( resource $listbox , string $text , mixed $data )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

listbox

text

data

Valores devueltos

No devuelve ningún valor.

newt_label
newt_listbox_clear_selection
Funciones de Newt


newt_listbox_append_entry
newt_listbox_clear
Funciones de Newt
PHP Manual

newt_listbox_clear_selection

(PECL newt >= 0.1)

newt_listbox_clear_selection —

Descripción

void newt_listbox_clear_selection ( resource $listbox )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

listbox

Valores devueltos

No devuelve ningún valor.

newt_listbox_append_entry
newt_listbox_clear
Funciones de Newt


newt_listbox_clear_selection
newt_listbox_delete_entry
Funciones de Newt
PHP Manual

newt_listbox_clear

(PECL newt >= 0.1)

newt_listbox_clear —

Descripción

void newt_listbox_clear ( resource $listobx )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

listobx

Valores devueltos

No devuelve ningún valor.

newt_listbox_clear_selection
newt_listbox_delete_entry
Funciones de Newt


newt_listbox_clear
newt_listbox_get_current
Funciones de Newt
PHP Manual

newt_listbox_delete_entry

(PECL newt >= 0.1)

newt_listbox_delete_entry —

Descripción

void newt_listbox_delete_entry ( resource $listbox , mixed $key )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

listbox

key

Valores devueltos

No devuelve ningún valor.

newt_listbox_clear
newt_listbox_get_current
Funciones de Newt


newt_listbox_delete_entry
newt_listbox_get_selection
Funciones de Newt
PHP Manual

newt_listbox_get_current

(PECL newt >= 0.1)

newt_listbox_get_current —

Descripción

string newt_listbox_get_current ( resource $listbox )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

listbox

Valores devueltos

newt_listbox_delete_entry
newt_listbox_get_selection
Funciones de Newt


newt_listbox_get_current
newt_listbox_insert_entry
Funciones de Newt
PHP Manual

newt_listbox_get_selection

(PECL newt >= 0.1)

newt_listbox_get_selection —

Descripción

array newt_listbox_get_selection ( resource $listbox )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

listbox

Valores devueltos

newt_listbox_get_current
newt_listbox_insert_entry
Funciones de Newt


newt_listbox_get_selection
newt_listbox_item_count
Funciones de Newt
PHP Manual

newt_listbox_insert_entry

(PECL newt >= 0.1)

newt_listbox_insert_entry —

Descripción

void newt_listbox_insert_entry ( resource $listbox , string $text , mixed $data , mixed $key )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

listbox

text

data

key

Valores devueltos

No devuelve ningún valor.

newt_listbox_get_selection
newt_listbox_item_count
Funciones de Newt


newt_listbox_insert_entry
newt_listbox_select_item
Funciones de Newt
PHP Manual

newt_listbox_item_count

(PECL newt >= 0.1)

newt_listbox_item_count —

Descripción

int newt_listbox_item_count ( resource $listbox )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

listbox

Valores devueltos

newt_listbox_insert_entry
newt_listbox_select_item
Funciones de Newt


newt_listbox_item_count
newt_listbox_set_current_by_key
Funciones de Newt
PHP Manual

newt_listbox_select_item

(PECL newt >= 0.1)

newt_listbox_select_item —

Descripción

void newt_listbox_select_item ( resource $listbox , mixed $key , int $sense )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

listbox

key

sense

Valores devueltos

No devuelve ningún valor.

newt_listbox_item_count
newt_listbox_set_current_by_key
Funciones de Newt


newt_listbox_select_item
newt_listbox_set_current
Funciones de Newt
PHP Manual

newt_listbox_set_current_by_key

(PECL newt >= 0.1)

newt_listbox_set_current_by_key —

Descripción

void newt_listbox_set_current_by_key ( resource $listbox , mixed $key )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

listbox

key

Valores devueltos

No devuelve ningún valor.

newt_listbox_select_item
newt_listbox_set_current
Funciones de Newt


newt_listbox_set_current_by_key
newt_listbox_set_data
Funciones de Newt
PHP Manual

newt_listbox_set_current

(PECL newt >= 0.1)

newt_listbox_set_current —

Descripción

void newt_listbox_set_current ( resource $listbox , int $num )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

listbox

num

Valores devueltos

No devuelve ningún valor.

newt_listbox_set_current_by_key
newt_listbox_set_data
Funciones de Newt


newt_listbox_set_current
newt_listbox_set_entry
Funciones de Newt
PHP Manual

newt_listbox_set_data

(PECL newt >= 0.1)

newt_listbox_set_data —

Descripción

void newt_listbox_set_data ( resource $listbox , int $num , mixed $data )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

listbox

num

data

Valores devueltos

No devuelve ningún valor.

newt_listbox_set_current
newt_listbox_set_entry
Funciones de Newt


newt_listbox_set_data
newt_listbox_set_width
Funciones de Newt
PHP Manual

newt_listbox_set_entry

(PECL newt >= 0.1)

newt_listbox_set_entry —

Descripción

void newt_listbox_set_entry ( resource $listbox , int $num , string $text )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

listbox

num

text

Valores devueltos

No devuelve ningún valor.

newt_listbox_set_data
newt_listbox_set_width
Funciones de Newt


newt_listbox_set_entry
newt_listbox
Funciones de Newt
PHP Manual

newt_listbox_set_width

(PECL newt >= 0.1)

newt_listbox_set_width —

Descripción

void newt_listbox_set_width ( resource $listbox , int $width )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

listbox

width

Valores devueltos

No devuelve ningún valor.

newt_listbox_set_entry
newt_listbox
Funciones de Newt


newt_listbox_set_width
newt_listitem_get_data
Funciones de Newt
PHP Manual

newt_listbox

(PECL newt >= 0.1)

newt_listbox —

Descripción

resource newt_listbox ( int $left , int $top , int $height [, int $flags ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

left

top

height

flags

Valores devueltos

newt_listbox_set_width
newt_listitem_get_data
Funciones de Newt


newt_listbox
newt_listitem_set
Funciones de Newt
PHP Manual

newt_listitem_get_data

(PECL newt >= 0.1)

newt_listitem_get_data —

Descripción

mixed newt_listitem_get_data ( resource $item )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

item

Valores devueltos

newt_listbox
newt_listitem_set
Funciones de Newt


newt_listitem_get_data
newt_listitem
Funciones de Newt
PHP Manual

newt_listitem_set

(PECL newt >= 0.1)

newt_listitem_set —

Descripción

void newt_listitem_set ( resource $item , string $text )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

item

text

Valores devueltos

No devuelve ningún valor.

newt_listitem_get_data
newt_listitem
Funciones de Newt


newt_listitem_set
newt_open_window
Funciones de Newt
PHP Manual

newt_listitem

(PECL newt >= 0.1)

newt_listitem —

Descripción

resource newt_listitem ( int $left , int $top , string $text , bool $is_default , resouce $prev_item , mixed $data [, int $flags ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

left

top

text

is_default

prev_item

data

flags

Valores devueltos

newt_listitem_set
newt_open_window
Funciones de Newt


Abre una ventana con el tamaño y posición especificados

newt_listitem
newt_pop_help_line
Funciones de Newt
PHP Manual

newt_open_window

(PECL newt >= 0.1)

newt_open_window — Abre una ventana con el tamaño y posición especificados

Descripción

int newt_open_window ( int $left , int $top , int $width , int $height [, string $title ] )

Abre una ventana con el tamaño y posición especificados.

Parámetros

left

La ubicación de la esquina superior izquierda de la ventana (el número de columna)

top

La ubicación de la esquina inferior derecha de la ventana (el número de fila)

width

El ancho de la ventana

height

El alto de la ventana

title

El título de la ventana

Valores devueltos

Devuelve 1 en caso de éxito, 0 en caso de error.

Ver también

  • newt_pop_window() - Elimina la ventana superior de la exposición
  • newt_centered_window() - Abrir una ventana centrada de un tamaño específico

newt_listitem
newt_pop_help_line
Funciones de Newt


Reemplaza la línea actual de ayuda con la procedente de la pila

newt_open_window
newt_pop_window
Funciones de Newt
PHP Manual

newt_pop_help_line

(PECL newt >= 0.1)

newt_pop_help_line — Reemplaza la línea actual de ayuda con la procedente de la pila

Descripción

void newt_pop_help_line ( void )

Reemplaza la línea actual de ayuda con la procedente de la pila.

Nota:

Es importante no llamar a newt_pop_help_line() más de newt_push_help_line() veces.

Valores devueltos

No devuelve ningún valor.

Ver también

  • newt_push_help_line() - Guarda la línea actual de ayuda en una pila, y muestra la nueva línea

newt_open_window
newt_pop_window
Funciones de Newt


Elimina la ventana superior de la exposición

newt_pop_help_line
newt_push_help_line
Funciones de Newt
PHP Manual

newt_pop_window

(PECL newt >= 0.1)

newt_pop_window — Elimina la ventana superior de la exposición

Descripción

void newt_pop_window ( void )

Elimina la ventana superior de la exposición, y redibuja las áreas de exposición que sobrescribió dicha ventana.

Valores devueltos

No devuelve ningún valor.

Ver también

  • newt_open_window() - Abre una ventana con el tamaño y posición especificados
  • newt_centered_window() - Abrir una ventana centrada de un tamaño específico

newt_pop_help_line
newt_push_help_line
Funciones de Newt


Guarda la línea actual de ayuda en una pila, y muestra la nueva línea

newt_pop_window
newt_radio_get_current
Funciones de Newt
PHP Manual

newt_push_help_line

(PECL newt >= 0.1)

newt_push_help_line — Guarda la línea actual de ayuda en una pila, y muestra la nueva línea

Descripción

void newt_push_help_line ([ string $text ] )

Guarda la línea actual de ayuda en una pila, y muestra la nueva línea.

Parámetros

text

El nuevo mensaje de texto de ayuda.

Nota:

Si no se especifica, se elimina limpia la línea de ayuda.

Valores devueltos

No devuelve ningún valor.

Ver también

  • newt_pop_help_line() - Reemplaza la línea actual de ayuda con la procedente de la pila

newt_pop_window
newt_radio_get_current
Funciones de Newt


newt_push_help_line
newt_radiobutton
Funciones de Newt
PHP Manual

newt_radio_get_current

(PECL newt >= 0.1)

newt_radio_get_current —

Descripción

resource newt_radio_get_current ( resource $set_member )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

set_member

Valores devueltos

newt_push_help_line
newt_radiobutton
Funciones de Newt


newt_radio_get_current
newt_redraw_help_line
Funciones de Newt
PHP Manual

newt_radiobutton

(PECL newt >= 0.1)

newt_radiobutton —

Descripción

resource newt_radiobutton ( int $left , int $top , string $text , bool $is_default [, resource $prev_button ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

left

top

text

is_default

prev_button

Valores devueltos

newt_radio_get_current
newt_redraw_help_line
Funciones de Newt


newt_radiobutton
newt_reflow_text
Funciones de Newt
PHP Manual

newt_redraw_help_line

(PECL newt >= 0.1)

newt_redraw_help_line —

Descripción

void newt_redraw_help_line ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Valores devueltos

No devuelve ningún valor.

newt_radiobutton
newt_reflow_text
Funciones de Newt


newt_redraw_help_line
newt_refresh
Funciones de Newt
PHP Manual

newt_reflow_text

(PECL newt >= 0.1)

newt_reflow_text —

Descripción

string newt_reflow_text ( string $text , int $width , int $flex_down , int $flex_up , int &$actual_width , int &$actual_height )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

text

width

flex_down

flex_up

actual_width

actual_height

Valores devueltos

newt_redraw_help_line
newt_refresh
Funciones de Newt


Actualiza las porciones modificadas de la pantalla

newt_reflow_text
newt_resize_screen
Funciones de Newt
PHP Manual

newt_refresh

(PECL newt >= 0.1)

newt_refresh — Actualiza las porciones modificadas de la pantalla

Descripción

void newt_refresh ( void )

Para aumentar el rendimiento, newt solamente actualiza la exposición cuando lo necesite, no cuando el programa le indique que escriba en el terminal. Las aplicaciones pueden forzar a newt a que actualice inmediatamente las porciones de la pantalla llamando a esta función.

Valores devueltos

No devuelve ningún valor.

newt_reflow_text
newt_resize_screen
Funciones de Newt


newt_refresh
newt_resume
Funciones de Newt
PHP Manual

newt_resize_screen

(PECL newt >= 0.1)

newt_resize_screen —

Descripción

void newt_resize_screen ([ bool $redraw ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

redraw

Valores devueltos

No devuelve ningún valor.

newt_refresh
newt_resume
Funciones de Newt


Reanudación usando la interfaz de newt después de llamar a newt_suspend

newt_resize_screen
newt_run_form
Funciones de Newt
PHP Manual

newt_resume

(PECL newt >= 0.1)

newt_resume — Reanudación usando la interfaz de newt después de llamar a newt_suspend()

Descripción

void newt_resume ( void )

Reanudación usando la interfaz de newt después de llamar a newt_suspend().

Valores devueltos

No devuelve ningún valor.

Ver también

  • newt_suspend() - Indica a newt que devuelva el terminal a su estado inicial

newt_resize_screen
newt_run_form
Funciones de Newt


Ejecuta un formulario

newt_resume
newt_scale_set
Funciones de Newt
PHP Manual

newt_run_form

(PECL newt >= 0.1)

newt_run_form — Ejecuta un formulario

Descripción

resource newt_run_form ( resource $form )

Esta función ejecuta el formulario proporcionado.

Parámetros

form

El componente formulario.

Valores devueltos

El componente que ocasionó que se dejara de ejecutar el formulario.

Nota:

Nótese que esta función no encaja con la convención de nombre normal de newt. Es una interfaz antigua que no funcionará para todos los formularios. Se ha dejado en newt únicamente para aplicaciones antiguas. Aunque es una interfaz más sencilla que la nueva newt_form_run(), y aún se usa muy a menudo como resultado. Cuando una aplicación se termina con un formulario, destruye el formulario y todos los componentes que contiene el formulario.

Ver también

  • newt_form_run() - Ejecuta un formulario
  • newt_form_destroy() - Destruye un formulario

newt_resume
newt_scale_set
Funciones de Newt


newt_run_form
newt_scale
Funciones de Newt
PHP Manual

newt_scale_set

(PECL newt >= 0.1)

newt_scale_set —

Descripción

void newt_scale_set ( resource $scale , int $amount )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

scale

amount

Valores devueltos

No devuelve ningún valor.

newt_run_form
newt_scale
Funciones de Newt


newt_scale_set
newt_scrollbar_set
Funciones de Newt
PHP Manual

newt_scale

(PECL newt >= 0.1)

newt_scale —

Descripción

resource newt_scale ( int $left , int $top , int $width , int $full_value )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

left

top

width

full_value

Valores devueltos

newt_scale_set
newt_scrollbar_set
Funciones de Newt


newt_scale
newt_set_help_callback
Funciones de Newt
PHP Manual

newt_scrollbar_set

(PECL newt >= 0.1)

newt_scrollbar_set —

Descripción

void newt_scrollbar_set ( resource $scrollbar , int $where , int $total )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

scrollbar

where

total

Valores devueltos

No devuelve ningún valor.

newt_scale
newt_set_help_callback
Funciones de Newt


newt_scrollbar_set
newt_set_suspend_callback
Funciones de Newt
PHP Manual

newt_set_help_callback

(PECL newt >= 0.1)

newt_set_help_callback —

Descripción

void newt_set_help_callback ( mixed $function )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

function

Valores devueltos

No devuelve ningún valor.

newt_scrollbar_set
newt_set_suspend_callback
Funciones de Newt


Establece una función de llamada de retorno que se invoca cuando el usuario presiona la tecla de suspensión

newt_set_help_callback
newt_suspend
Funciones de Newt
PHP Manual

newt_set_suspend_callback

(PECL newt >= 0.1)

newt_set_suspend_callback — Establece una función de llamada de retorno que se invoca cuando el usuario presiona la tecla de suspensión

Descripción

void newt_set_suspend_callback ( callable $function , mixed $data )

Establece una función de llamada de retorno que se invoca cuando el usuario presiona la tecla de suspensión (normalmente ^Z). Si no está registrada una llamda de retorno de suspensión, la pulsación de la tecla de suspensión se ignora.

Parámetros

function

Una función de llamada de retorno, la cual acepta un argumento: data

data

Los datos que son pasados a la función de llamada de retorno.

Valores devueltos

No devuelve ningún valor.

Ver también

  • newt_suspend() - Indica a newt que devuelva el terminal a su estado inicial
  • newt_resume() - Reanudación usando la interfaz de newt después de llamar a newt_suspend

newt_set_help_callback
newt_suspend
Funciones de Newt


Indica a newt que devuelva el terminal a su estado inicial

newt_set_suspend_callback
newt_textbox_get_num_lines
Funciones de Newt
PHP Manual

newt_suspend

(PECL newt >= 0.1)

newt_suspend — Indica a newt que devuelva el terminal a su estado inicial

Descripción

void newt_suspend ( void )

Indica a newt que devuelva el terminal a su estado inicial. Una vez realizado esto, la aplicación puede suspenderse a sí misma (enviándose a sí misma un SIGTSTP, generando un programa hijo, o lo que le apetezca).

Valores devueltos

No devuelve ningún valor.

Ver también

  • newt_resume() - Reanudación usando la interfaz de newt después de llamar a newt_suspend

newt_set_suspend_callback
newt_textbox_get_num_lines
Funciones de Newt


newt_suspend
newt_textbox_reflowed
Funciones de Newt
PHP Manual

newt_textbox_get_num_lines

(PECL newt >= 0.1)

newt_textbox_get_num_lines —

Descripción

int newt_textbox_get_num_lines ( resource $textbox )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

textbox

Valores devueltos

newt_suspend
newt_textbox_reflowed
Funciones de Newt


newt_textbox_get_num_lines
newt_textbox_set_height
Funciones de Newt
PHP Manual

newt_textbox_reflowed

(PECL newt >= 0.1)

newt_textbox_reflowed —

Descripción

resource newt_textbox_reflowed ( int $left , int $top , char $*text , int $width , int $flex_down , int $flex_up [, int $flags ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

left

top

*text

width

flex_down

flex_up

flags

Valores devueltos

newt_textbox_get_num_lines
newt_textbox_set_height
Funciones de Newt


newt_textbox_reflowed
newt_textbox_set_text
Funciones de Newt
PHP Manual

newt_textbox_set_height

(PECL newt >= 0.1)

newt_textbox_set_height —

Descripción

void newt_textbox_set_height ( resource $textbox , int $height )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

textbox

height

Valores devueltos

No devuelve ningún valor.

newt_textbox_reflowed
newt_textbox_set_text
Funciones de Newt


newt_textbox_set_height
newt_textbox
Funciones de Newt
PHP Manual

newt_textbox_set_text

(PECL newt >= 0.1)

newt_textbox_set_text —

Descripción

void newt_textbox_set_text ( resource $textbox , string $text )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

textbox

text

Valores devueltos

No devuelve ningún valor.

newt_textbox_set_height
newt_textbox
Funciones de Newt


newt_textbox_set_text
newt_vertical_scrollbar
Funciones de Newt
PHP Manual

newt_textbox

(PECL newt >= 0.1)

newt_textbox —

Descripción

resource newt_textbox ( int $left , int $top , int $width , int $height [, int $flags ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

left

top

width

height

flags

Valores devueltos

newt_textbox_set_text
newt_vertical_scrollbar
Funciones de Newt


newt_textbox
newt_wait_for_key
Funciones de Newt
PHP Manual

newt_vertical_scrollbar

(PECL newt >= 0.1)

newt_vertical_scrollbar —

Descripción

resource newt_vertical_scrollbar ( int $left , int $top , int $height [, int $normal_colorset [, int $thumb_colorset ]] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

left

top

height

normal_colorset

thumb_colorset

Valores devueltos

newt_textbox
newt_wait_for_key
Funciones de Newt


No devolver hasta que se pulse una tecla

newt_vertical_scrollbar
newt_win_choice
Funciones de Newt
PHP Manual

newt_wait_for_key

(PECL newt >= 0.1)

newt_wait_for_key — No devolver hasta que se pulse una tecla

Descripción

void newt_wait_for_key ( void )

Esta función no devuelve hasata que se pulse una tecla. La pulsación de la tecla es ignorada. Si una tecla ya está en el búfer del terminal, esta función desecha una pulsación de una tecla y devuelve inmediatamente.

Valores devueltos

No devuelve ningún valor.

Ver también

  • newt_clear_key_buffer() - Desecha el contenido del búfer de entrada del terminal sin esperar a entradas adicionales

newt_vertical_scrollbar
newt_win_choice
Funciones de Newt


newt_wait_for_key
newt_win_entries
Funciones de Newt
PHP Manual

newt_win_choice

(PECL newt >= 0.1)

newt_win_choice —

Descripción

int newt_win_choice ( string $title , string $button1_text , string $button2_text , string $format [, mixed $args [, mixed $... ]] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

title

button1_text

button2_text

format

args

Valores devueltos

newt_wait_for_key
newt_win_entries
Funciones de Newt


newt_win_choice
newt_win_menu
Funciones de Newt
PHP Manual

newt_win_entries

(PECL newt >= 0.1)

newt_win_entries —

Descripción

int newt_win_entries ( string $title , string $text , int $suggested_width , int $flex_down , int $flex_up , int $data_width , array &$items , string $button1 [, string $... ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

title

text

suggested_width

flex_down

flex_up

data_width

items

button1

button2

Valores devueltos

Ejemplos

Ejemplo #1 A newt_win_entries() example

<?php

newt_init();
newt_cls();

$entries[] = array('text' => 'First name:', 'value' => &$f_name);
$entries[] = array('text' => 'Last name:',  'value' => &$l_name);

$rc = newt_win_entries("User information", "Please enter your credentials:", 50, 7, 7, 30, $entries, "Ok", "Back");
newt_finished ();

if ($rc != 2) {
    echo "Your name is: $f_name $l_name\n";
}
?>

newt_win_choice
newt_win_menu
Funciones de Newt


newt_win_entries
newt_win_message
Funciones de Newt
PHP Manual

newt_win_menu

(PECL newt >= 0.1)

newt_win_menu —

Descripción

int newt_win_menu ( string $title , string $text , int $suggestedWidth , int $flexDown , int $flexUp , int $maxListHeight , array $items , int &$listItem [, string $button1 [, string $... ]] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

title

text

suggestedWidth

flexDown

flexUp

maxListHeight

items

listItem

button1

Valores devueltos

No devuelve ningún valor.

newt_win_entries
newt_win_message
Funciones de Newt


newt_win_menu
newt_win_messagev
Funciones de Newt
PHP Manual

newt_win_message

(PECL newt >= 0.1)

newt_win_message —

Descripción

void newt_win_message ( string $title , string $button_text , string $format [, mixed $args [, mixed $... ]] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

title

button_text

format

args

Valores devueltos

No devuelve ningún valor.

newt_win_menu
newt_win_messagev
Funciones de Newt


newt_win_message
newt_win_ternary
Funciones de Newt
PHP Manual

newt_win_messagev

(PECL newt >= 0.1)

newt_win_messagev —

Descripción

void newt_win_messagev ( string $title , string $button_text , string $format , array $args )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

title

button_text

format

args

Valores devueltos

No devuelve ningún valor.

newt_win_message
newt_win_ternary
Funciones de Newt


newt_win_messagev
Readline
Funciones de Newt
PHP Manual

newt_win_ternary

(PECL newt >= 0.1)

newt_win_ternary —

Descripción

int newt_win_ternary ( string $title , string $button1_text , string $button2_text , string $button3_text , string $format [, mixed $args [, mixed $... ]] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

title

Its description

button1_text

Its description

button2_text

Its description

button3_text

Its description

format

Its description

args

Its description

Valores devueltos

What the function returns, first on success, then on failure. See also the &return.success; entity

newt_win_messagev
Readline
Funciones de Newt


GNU Readline

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones Readline
    • readline_add_history — Agrega una línea a la historia
    • readline_callback_handler_install — Initializes the readline callback interface and terminal, prints the prompt and returns immediately
    • readline_callback_handler_remove — Removes a previously installed callback handler and restores terminal settings
    • readline_callback_read_char — Reads a character and informs the readline callback interface when a line is received
    • readline_clear_history — Clears the history
    • readline_completion_function — Registers a completion function
    • readline_info — Gets/sets various internal readline variables
    • readline_list_history — Lists the history
    • readline_on_new_line — Inform readline that the cursor has moved to a new line
    • readline_read_history — Reads the history
    • readline_redisplay — Redibuja la vista
    • readline_write_history — Writes the history
    • readline — Reads a line
newt_win_ternary
Introducción
Extensiones específicas de la línea de comandos


Introducción

Las funciones de readline implementan una interfaz a la biblioteca GNU Readline. Estas funciones proporcionan líneas de comando editables. Un ejemplo es Bash, que permite utilizar las teclas de dirección para insertar caracteres o desplazarse a través del historial de comandos. Debido a la naturaleza interactiva de esta biblioteca, será de poca utilidad para la creación de aplicaciones Web, pero puede ser útil cuando se escriben scripts utilizando la línea de comandos.

Nota: Esta extensión no está disponible en plataformas Windows.

Readline
Instalación/Configuración
Readline


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Readline


Requerimientos

Para usar las funciones readline, es necesario instalar libreadline. Se puede encontrar libreadline en la página principal del proyecto GNU Readline, en » http://cnswww.cns.cwru.edu/~chet/readline/rltop.html. Este proyecto es administrado por Chet Ramey, quien es también el autor de Bash.

También puede utilizar estas funciones con la libreria libedit, un reemplazo no-GPL para la biblioteca readline. La biblioteca libedit tiene licencia BSD y está disponible para su descarga desde » http://www.thrysoee.dk/editline/.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Para utilizar estas funciones, debe compilar la versión CGI o CLI de PHP con soporte para readline. Es necesario configurar PHP --with-readline[=DIR] . Si desea utilizar el reemplazo de readline libedit, es necesario configurar PHP --with-libedit[=DIR] .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración Readline
Nombre | Por defecto | Cambiable | Historial de cambios
cli.pager | "" | PHP_INI_ALL | Disponible desde PHP 5.4.0.
cli.prompt | "\\b \\> " | PHP_INI_ALL | Disponible desde PHP 5.4.0.

He aquí una breve explicación de las directivas de configuración.

cli.pager string

Herramienta externa para mostrar la salida de la línea de comandos.

cli.prompt string

Véase Línea de Comandos.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Funciones Readline
Readline


Funciones Readline

Tabla de contenidos

  • readline_add_history — Agrega una línea a la historia
  • readline_callback_handler_install — Initializes the readline callback interface and terminal, prints the prompt and returns immediately
  • readline_callback_handler_remove — Removes a previously installed callback handler and restores terminal settings
  • readline_callback_read_char — Reads a character and informs the readline callback interface when a line is received
  • readline_clear_history — Clears the history
  • readline_completion_function — Registers a completion function
  • readline_info — Gets/sets various internal readline variables
  • readline_list_history — Lists the history
  • readline_on_new_line — Inform readline that the cursor has moved to a new line
  • readline_read_history — Reads the history
  • readline_redisplay — Redibuja la vista
  • readline_write_history — Writes the history
  • readline — Reads a line
Constantes predefinidas
readline_add_history
Readline


Agrega una línea a la historia

Funciones Readline
readline_callback_handler_install
Funciones Readline
PHP Manual

readline_add_history

(PHP 4, PHP 5)

readline_add_history — Agrega una línea a la historia

Descripción

bool readline_add_history ( string $line )

Esta función agrega una línea a la historia de la línea de comandos.

Parámetros

line

La línea a ser agregada en la historia.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Funciones Readline
readline_callback_handler_install
Funciones Readline


Initializes the readline callback interface and terminal, prints the prompt and returns immediately

readline_add_history
readline_callback_handler_remove
Funciones Readline
PHP Manual

readline_callback_handler_install

(PHP 5 >= 5.1.0)

readline_callback_handler_install — Initializes the readline callback interface and terminal, prints the prompt and returns immediately

Descripción

bool readline_callback_handler_install ( string $prompt , callable $callback )

Sets up a readline callback interface then prints prompt and immediately returns. Calling this function twice without removing the previous callback interface will automatically and conveniently overwrite the old interface.

The callback feature is useful when combined with stream_select() as it allows interleaving of IO and user input, unlike readline().

Parámetros

prompt

The prompt message.

callback

The callback function takes one parameter; the user input returned.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Readline Callback Interface Example

<?php
function rl_callback($ret)
{
    global $c, $prompting;

    echo "You entered: $ret\n";
    $c++;

    if ($c > 10) {
        $prompting = false;
        readline_callback_handler_remove();
    } else {
        readline_callback_handler_install("[$c] Enter something: ", 'rl_callback');
    }
}

$c = 1;
$prompting = true;

readline_callback_handler_install("[$c] Enter something: ", 'rl_callback');

while ($prompting) {
    $w = NULL;
    $e = NULL;
    $n = stream_select($r = array(STDIN), $w, $e, null);
    if ($n && in_array(STDIN, $r)) {
        // read a character, will call the callback when a newline is entered
        readline_callback_read_char();
    }
}

echo "Prompting disabled. All done.\n";
?>

Ver también

  • readline_callback_handler_remove() - Removes a previously installed callback handler and restores terminal settings
  • readline_callback_read_char() - Reads a character and informs the readline callback interface when a line is received
  • stream_select() - Ejecuta el equivalente de la llamada al sistema select() sobre las matrices de flujos dadas con un tiempo de espera especificado por tv_sec y tv_usec

readline_add_history
readline_callback_handler_remove
Funciones Readline


Removes a previously installed callback handler and restores terminal settings

readline_callback_handler_install
readline_callback_read_char
Funciones Readline
PHP Manual

readline_callback_handler_remove

(PHP 5 >= 5.1.0)

readline_callback_handler_remove — Removes a previously installed callback handler and restores terminal settings

Descripción

bool readline_callback_handler_remove ( void )

Removes a previously installed callback handler and restores terminal settings.

Valores devueltos

Returns TRUE if a previously installed callback handler was removed, or FALSE if one could not be found.

Ejemplos

See readline_callback_handler_install() for an example of how to use the readline callback interface.

Ver también

  • readline_callback_handler_install() - Initializes the readline callback interface and terminal, prints the prompt and returns immediately
  • readline_callback_read_char() - Reads a character and informs the readline callback interface when a line is received

readline_callback_handler_install
readline_callback_read_char
Funciones Readline


Reads a character and informs the readline callback interface when a line is received

readline_callback_handler_remove
readline_clear_history
Funciones Readline
PHP Manual

readline_callback_read_char

(PHP 5 >= 5.1.0)

readline_callback_read_char — Reads a character and informs the readline callback interface when a line is received

Descripción

void readline_callback_read_char ( void )

Reads a character of user input. When a line is received, this function informs the readline callback interface installed using readline_callback_handler_install() that a line is ready for input.

Valores devueltos

No devuelve ningún valor.

Ejemplos

See readline_callback_handler_install() for an example of how to use the readline callback interface.

Ver también

  • readline_callback_handler_install() - Initializes the readline callback interface and terminal, prints the prompt and returns immediately
  • readline_callback_handler_remove() - Removes a previously installed callback handler and restores terminal settings

readline_callback_handler_remove
readline_clear_history
Funciones Readline


Clears the history

readline_callback_read_char
readline_completion_function
Funciones Readline
PHP Manual

readline_clear_history

(PHP 4, PHP 5)

readline_clear_history — Clears the history

Descripción

bool readline_clear_history ( void )

This function clears the entire command line history.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

readline_callback_read_char
readline_completion_function
Funciones Readline


Registers a completion function

readline_clear_history
readline_info
Funciones Readline
PHP Manual

readline_completion_function

(PHP 4, PHP 5)

readline_completion_function — Registers a completion function

Descripción

bool readline_completion_function ( callable $function )

This function registers a completion function. This is the same kind of functionality you'd get if you hit your tab key while using Bash.

Parámetros

function

You must supply the name of an existing function which accepts a partial command line and returns an array of possible matches.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

readline_clear_history
readline_info
Funciones Readline


Gets/sets various internal readline variables

readline_completion_function
readline_list_history
Funciones Readline
PHP Manual

readline_info

(PHP 4, PHP 5)

readline_info — Gets/sets various internal readline variables

Descripción

mixed readline_info ([ string $varname [, string $newvalue ]] )

Gets or sets various internal readline variables.

Parámetros

varname

A variable name.

newvalue

If provided, this will be the new value of the setting.

Valores devueltos

If called with no parameters, this function returns an array of values for all the setting readline uses. The elements will be indexed by the following values: done, end, erase_empty_line, library_version, line_buffer, mark, pending_input, point, prompt, readline_name, and terminal_name.

If called with one or two parameters, the old value is returned.

readline_completion_function
readline_list_history
Funciones Readline


Lists the history

readline_info
readline_on_new_line
Funciones Readline
PHP Manual

readline_list_history

(PHP 4, PHP 5)

readline_list_history — Lists the history

Descripción

array readline_list_history ( void )

Gets the entire command line history.

Valores devueltos

Returns an array of the entire command line history. The elements are indexed by integers starting at zero.

readline_info
readline_on_new_line
Funciones Readline


Inform readline that the cursor has moved to a new line

readline_list_history
readline_read_history
Funciones Readline
PHP Manual

readline_on_new_line

(PHP 5 >= 5.1.0)

readline_on_new_line — Inform readline that the cursor has moved to a new line

Descripción

void readline_on_new_line ( void )

Tells readline that the cursor has moved to a new line.

Valores devueltos

No devuelve ningún valor.

readline_list_history
readline_read_history
Funciones Readline


Reads the history

readline_on_new_line
readline_redisplay
Funciones Readline
PHP Manual

readline_read_history

(PHP 4, PHP 5)

readline_read_history — Reads the history

Descripción

bool readline_read_history ([ string $filename ] )

This function reads a command history from a file.

Parámetros

filename

Path to the filename containing the command history.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

readline_on_new_line
readline_redisplay
Funciones Readline


Redibuja la vista

readline_read_history
readline_write_history
Funciones Readline
PHP Manual

readline_redisplay

(PHP 5 >= 5.1.0)

readline_redisplay — Redibuja la vista

Descripción

void readline_redisplay ( void )

Redibuja readline para volver a dibujar la vista.

Valores devueltos

No devuelve ningún valor.

readline_read_history
readline_write_history
Funciones Readline


Writes the history

readline_redisplay
readline
Funciones Readline
PHP Manual

readline_write_history

(PHP 4, PHP 5)

readline_write_history — Writes the history

Descripción

bool readline_write_history ([ string $filename ] )

This function writes the command history to a file.

Parámetros

filename

Path to the saved file.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

readline_redisplay
readline
Funciones Readline


Reads a line

readline_write_history
Extensiones de compresión y archivos
Funciones Readline
PHP Manual

readline

(PHP 4, PHP 5)

readline — Reads a line

Descripción

string readline ([ string $prompt ] )

Reads a single line from the user. You must add this line to the history yourself using readline_add_history().

Parámetros

prompt

You may specify a string with which to prompt the user.

Valores devueltos

Returns a single string from the user. The line returned has the ending newline removed.

Ejemplos

Ejemplo #1 readline() Example

<?php
//get 3 commands from user
for ($i=0; $i < 3; $i++) {
        $line = readline("Command: ");
        readline_add_history($line);
}

//dump history
print_r(readline_list_history());

//dump variables
print_r(readline_info());
?>

readline_write_history
Extensiones de compresión y archivos
Funciones Readline


Extensiones de compresión y archivos

  • Bzip2
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de Bzip2
  • LZF
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones LZF
  • Phar
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Utilizar Archivos Phar
    • Creación de archivos Phar
    • ¿Qué hace de un phar un phar y no un tar o un zip?
    • Phar — La clase Phar
    • PharData — La clase PharData
    • PharFileInfo — La clase PharFileInfo
    • PharException — La clase PharException
  • Rar — Archivos Rar
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones Rar
    • RarArchive — La clase RarArchive
    • RarEntry — La clase RarEntry
    • RarException — La clase RarException
  • Zip
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • ZipArchive — The ZipArchive class
    • Funciones Zip
  • Zlib — Compresión Zlib
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de Zlib
readline
Bzip2
Referencia de funciones


Bzip2

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • Funciones de Bzip2
    • bzclose — Cierra un fichero bzip2
    • bzcompress — Comprime una cadena en datos codificados en bzip2
    • bzdecompress — Descomprime datos codificados con bzip2
    • bzerrno — Devuelve el número de erro de bzip2
    • bzerror — Devuelve el número de error y la cadena del error de bzip2 en un array
    • bzerrstr — Devuelve una cadena de error de bzip2
    • bzflush — Fuerza la escritura de todos los datos del búfer
    • bzopen — Abre un fichero comprimido con bzip2
    • bzread — Lectura segura de ficheros bzip2
    • bzwrite — Escribe en un fichero bzip2 de forma segura binariamente
Extensiones de compresión y archivos
Introducción
Extensiones de compresión y archivos


Introducción

Las funciones de bzip2 se utilizan para leer y escribir ficheros comprimidos con bzip2 (.bz2) de forma transparente.

Bzip2
Instalación/Configuración
Bzip2


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Bzip2


Requerimientos

Este módulo usa las funciones de la librería » bzip2 por Julian Seward. Este módulo requiere bzip2/libbzip2 version >= 1.0.x.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

El soporte de Bzip2 en PHP no está activado por defecto. Se necesita usar la opción de configuración --with-bz2[=DIR] al compilar PHP para activar soporte de bzip2.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

Esta extensión define un tipo de recurso: apunta a un archivo identificando el fichero bz2 a trabajar.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Ejemplos
Bzip2


Ejemplos

Este ejemplo abre un fichero temporal y escribe una cadena de prueba en el, muestra el contenido del fichero.

Ejemplo #1 Pequeño ejemplo de bzip2

<?php

$filename = "/tmp/testfile.bz2";
$str = "Esto es una cadena de prueba.\n";

// Abriendo fichero para escribir
$bz = bzopen($filename, "w");

// escribe la cadena en el fichero
bzwrite($bz, $str);

// cierra el fichero
bzclose($bz);

// abre el fichero para escritura
$bz = bzopen($filename, "r");

// lee 10 caracteres
echo bzread($bz, 10);

// muestra salida hasta el final del fichero (o los siguientes 1024 caracteres) y lo cierra.
echo bzread($bz);

bzclose($bz);

?>
Constantes predefinidas
Funciones de Bzip2
Bzip2


Funciones de Bzip2

Tabla de contenidos

  • bzclose — Cierra un fichero bzip2
  • bzcompress — Comprime una cadena en datos codificados en bzip2
  • bzdecompress — Descomprime datos codificados con bzip2
  • bzerrno — Devuelve el número de erro de bzip2
  • bzerror — Devuelve el número de error y la cadena del error de bzip2 en un array
  • bzerrstr — Devuelve una cadena de error de bzip2
  • bzflush — Fuerza la escritura de todos los datos del búfer
  • bzopen — Abre un fichero comprimido con bzip2
  • bzread — Lectura segura de ficheros bzip2
  • bzwrite — Escribe en un fichero bzip2 de forma segura binariamente
Ejemplos
bzclose
Bzip2


Cierra un fichero bzip2

Funciones de Bzip2
bzcompress
Funciones de Bzip2
PHP Manual

bzclose

(PHP 4 >= 4.0.4, PHP 5)

bzclose — Cierra un fichero bzip2

Descripción

int bzclose ( resource $bz )

Cierra el dado puntero del fichero bzip2.

Parámetros

bz

El puntero del fichero. Debe ser un puntero válido a un fichero abierto con bzopen() satisfactoriamente.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • bzopen() - Abre un fichero comprimido con bzip2

Funciones de Bzip2
bzcompress
Funciones de Bzip2


Comprime una cadena en datos codificados en bzip2

bzclose
bzdecompress
Funciones de Bzip2
PHP Manual

bzcompress

(No hay información de versión disponible, podría estar únicamente en SVN)

bzcompress — Comprime una cadena en datos codificados en bzip2

Descripción

mixed bzcompress ( string $source [, int $blocksize = 4 [, int $workfactor = 0 ]] )

bzcompress() comprime la cadena dada y la devuelve como datos codificados con bzip2.

Parámetros

source

La cadena a comprimir.

blocksize

Especifica el blocksize usado durante la compresión y debería ser un número entre 1 y 9 siendo 9 la máxima compresión, pero también utiliza más recursos.

workfactor

Controla como se comportan las fases de compresión cuando se presenta en el peor de los casos, datos que se repiten continuamente. El valor puede estar entre 0 y 250 siendo 0 un caso especial.

Independientemente de workfactor, el valor generado de salida es el mismo.

Valores devueltos

La cadena comprimida, o el número de error en caso de error.

Ejemplos

Ejemplo #1 Comprimiendo datos

<?php
$str = "sample data";
$bzstr = bzcompress($str, 9);
echo $bzstr;
?>

Ver también

  • bzdecompress() - Descomprime datos codificados con bzip2

bzclose
bzdecompress
Funciones de Bzip2


Descomprime datos codificados con bzip2

bzcompress
bzerrno
Funciones de Bzip2
PHP Manual

bzdecompress

(PHP 4 >= 4.0.4, PHP 5)

bzdecompress — Descomprime datos codificados con bzip2

Descripción

mixed bzdecompress ( string $source [, int $small = 0 ] )

bzdecompress() descomprime el string pasado por parámetro que contiene los datos codificados en bzip2.

Parámetros

source

String a descomprimir.

small

Si es TRUE, se usará un algoritmo de descompresión alternativo que utiliza menos memoria (disminuye el requisito máximo de memoria a entorno a 2300K) pero por otra parte es la mitad de lento aproximadamente.

Consulte la » documentación de bzip2 para más información sobre este comportamiento.

Valores devueltos

El string descromprimido, o el número de error en caso de error.

Ejemplos

Ejemplo #1 Descompresión de un String

<?php
$start_str = "This is not an honest face?";
$bzstr = bzcompress($start_str);

echo "String Comprimido: ";
echo $bzstr;
echo "\n<br />\n";

$str = bzdecompress($bzstr);
echo "String Descomprimido: ";
echo $str;
echo "\n<br />\n";
?>

Ver también

  • bzcompress() - Comprime una cadena en datos codificados en bzip2

bzcompress
bzerrno
Funciones de Bzip2


Devuelve el número de erro de bzip2

bzdecompress
bzerror
Funciones de Bzip2
PHP Manual

bzerrno

(PHP 4 >= 4.0.4, PHP 5)

bzerrno — Devuelve el número de erro de bzip2

Descripción

int bzerrno ( resource $bz )

Devuelve el número de error de cualquier error bzip2 devuelto por el puntero del fichero dado.

Parámetros

bz

El puntero del fichero. Debe ser un puntero a un fichero abierto con bzopen() satisfactoriamente.

Valores devueltos

Devuelve el número de error como entero.

Ver también

  • bzerror() - Devuelve el número de error y la cadena del error de bzip2 en un array
  • bzerrstr() - Devuelve una cadena de error de bzip2

bzdecompress
bzerror
Funciones de Bzip2


Devuelve el número de error y la cadena del error de bzip2 en un array

bzerrno
bzerrstr
Funciones de Bzip2
PHP Manual

bzerror

(PHP 4 >= 4.0.4, PHP 5)

bzerror — Devuelve el número de error y la cadena del error de bzip2 en un array

Descripción

array bzerror ( resource $bz )

Devuelve el número de error y la cadena de error de cualquier error bzip2 devuelto por el puntero del fichero dado.

Parámetros

bz

El puntero del fichero. Debe ser un puntero a un fichero abierto con bzopen() satisfactoriamente.

Valores devueltos

Devuelve un array asociativo, con el código de error en la entrada errno y el mensaje de error en la entrada errstr.

Ejemplos

Ejemplo #1 Ejemplo de bzerror()

<?php
$error = bzerror($bz);

echo $error["errno"];
echo $error["errstr"];
?>

Ver también

  • bzerrno() - Devuelve el número de erro de bzip2
  • bzerrstr() - Devuelve una cadena de error de bzip2

bzerrno
bzerrstr
Funciones de Bzip2


Devuelve una cadena de error de bzip2

bzerror
bzflush
Funciones de Bzip2
PHP Manual

bzerrstr

(PHP 4 >= 4.0.4, PHP 5)

bzerrstr — Devuelve una cadena de error de bzip2

Descripción

string bzerrstr ( resource $bz )

Obtiene la cadena de error de cualquier error bzip2 devuelto por el puntero dado.

Parámetros

bz

El puntero del fichero. Debe ser un puntero a un fichero abierto con bzopen() satisfactoriamente.

Valores devueltos

Devuelve una cadena que contiene el mensaje de error.

Ver también

  • bzerrno() - Devuelve el número de erro de bzip2
  • bzerror() - Devuelve el número de error y la cadena del error de bzip2 en un array

bzerror
bzflush
Funciones de Bzip2


Fuerza la escritura de todos los datos del búfer

bzerrstr
bzopen
Funciones de Bzip2
PHP Manual

bzflush

(PHP 4 >= 4.0.4, PHP 5)

bzflush — Fuerza la escritura de todos los datos del búfer

Descripción

int bzflush ( resource $bz )

Fuerza la escritura de todos los datos del búfer bzip2 para el puntero del fichero bz.

Parámetros

bz

El puntero del fichero. Debe ser un puntero a un fichero abierto con bzopen() satisfactoriamente.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • bzread() - Lectura segura de ficheros bzip2
  • bzwrite() - Escribe en un fichero bzip2 de forma segura binariamente

bzerrstr
bzopen
Funciones de Bzip2


Abre un fichero comprimido con bzip2

bzflush
bzread
Funciones de Bzip2
PHP Manual

bzopen

(PHP 4 >= 4.0.4, PHP 5)

bzopen — Abre un fichero comprimido con bzip2

Descripción

resource bzopen ( string $filename , string $mode )

bzopen() abre un fichero bzip2 (.bz2) para lectura o escritura.

Parámetros

filename

El nombre del fichero a abrir.

mode

Similar a la función fopen(), solamente 'r' (lectura) y 'w' (escritura) están soportados. Todo lo demás hará que bzopen devuelva FALSE.

Valores devueltos

Si al abrir el fichero se produce un error, bzopen() devolverá FALSE, en caso contrario devolverá el puntero del nuevo fichero abierto.

Ejemplos

Ejemplo #1 Ejemplo de bzopen()

<?php

$file = "/tmp/foo.bz2";
$bz = bzopen($file, "r") or die("No se pudo abrir el fichero $file para lectura");

bzclose($bz);

?>

Ver también

  • bzclose() - Cierra un fichero bzip2

bzflush
bzread
Funciones de Bzip2


Lectura segura de ficheros bzip2

bzopen
bzwrite
Funciones de Bzip2
PHP Manual

bzread

(PHP 4 >= 4.0.4, PHP 5)

bzread — Lectura segura de ficheros bzip2

Descripción

string bzread ( resource $bz [, int $length = 1024 ] )

bzread() lee del puntero de fichero bzip2 pasado como parámetro.

La lectura finaliza una vez que se han leído length bytes (descomprimidos) o cuando se alcanza EOF, lo primero que suceda.

Parámetros

bz

El puntero al fichero. Tiene que ser válido y debe apuntar a un fichero que se haya abierto con éxito con bzopen().

length

Si no se especifica, bzread() leerá bloques de 1024 bytes (descomprimidos) al momento. Un máximo de 8192 bytes descomprimidos serán leídos.

Valores devueltos

Devuelve la información descomprimida, o FALSE en caso de error.

Ejemplos

Ejemplo #1 ejemplo de bzread()

<?php

$file = "/tmp/foo.bz2";
$bz = bzopen($file, "r") or die("No se ha podido abrir $file");

$decompressed_file = '';
while (!feof($bz)) {
  $decompressed_file .= bzread($bz, 4096);
}
bzclose($bz);

echo "El contenido de $file es: <br />\n";
echo $decompressed_file;

?>

Ver también

  • bzwrite() - Escribe en un fichero bzip2 de forma segura binariamente
  • feof() - Comprueba si el puntero a un archivo está al final del archivo
  • bzopen() - Abre un fichero comprimido con bzip2

bzopen
bzwrite
Funciones de Bzip2


Escribe en un fichero bzip2 de forma segura binariamente

bzread
LZF
Funciones de Bzip2
PHP Manual

bzwrite

(PHP 4 >= 4.0.4, PHP 5)

bzwrite — Escribe en un fichero bzip2 de forma segura binariamente

Descripción

int bzwrite ( resource $bz , string $data [, int $length ] )

bzwrite() escribe una cadena en el fichero gzip2 dado.

Parámetros

bz

El puntero del fichero. Debe apuntar a un fichero abierto satisfactoriamente con bzopen().

data

Los datos a escribir.

length

Si se proporciona, la escritura terminará después de que el length (no comprimido) en bytes hayan sido escritos o se haya llegado al final de data, lo que llegue primero.

Valores devueltos

Devuelve el número de bytes escritos, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de bzwrite()

<?php
$str = "uncompressed data";
$bz = bzopen("/tmp/foo.bz2", "w");
bzwrite($bz, $str, strlen($str));
bzclose($bz);
?>

Ver también

  • bzread() - Lectura segura de ficheros bzip2
  • bzopen() - Abre un fichero comprimido con bzip2

bzread
LZF
Funciones de Bzip2


LZF

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones LZF
    • lzf_compress — Compresión LZF
    • lzf_decompress — Descompresión LZF
    • lzf_optimized_for — Determina para qué fue optimizada la extensión LZF
bzwrite
Introducción
Extensiones de compresión y archivos


Introducción

LZF es un algoritmo de compresión muy rápido, ideal para ahorrar espacio con solamente un ligero costo de velocidad. Puede optimizarse para velocidad o espacio a la hora de compilar. Esta extensión utiliza la librería » liblzf por Marc Lehmann para sus operaciones.

LZF
Instalación/Configuración
LZF


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
LZF


Instalación

Esta extensión » PECL no se distribuye con PHP. Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/lzf.

Pata utilizar estas funciones se debe compilar PHP con soporte para lzf empleando la opción de configuración --with-lzf[=DIR] . También se puede pasar --enable-lzf-better-compression para optimizar LZF para espacio en vez de para velocidad.

Los usuarios de Windows habilitarán php_lzf.dll dentro de php.ini para utilizar estas funciones. Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Funciones LZF
LZF


Funciones LZF

Tabla de contenidos

  • lzf_compress — Compresión LZF
  • lzf_decompress — Descompresión LZF
  • lzf_optimized_for — Determina para qué fue optimizada la extensión LZF
Constantes predefinidas
lzf_compress
LZF


Compresión LZF

Funciones LZF
lzf_decompress
Funciones LZF
PHP Manual

lzf_compress

(PECL lzf >= 0.1.0)

lzf_compress — Compresión LZF

Descripción

string lzf_compress ( string $data )

lzf_compress() comprime el string data dado utilizando codificación LZF.

Parámetros

data

El string a comprimir.

Valores devueltos

Devuelve los datos comprimidos o FALSE si ocurrió un error.

Ver también

  • lzf_decompress() - Descompresión LZF

Funciones LZF
lzf_decompress
Funciones LZF


Descompresión LZF

lzf_compress
lzf_optimized_for
Funciones LZF
PHP Manual

lzf_decompress

(PECL lzf >= 0.1.0)

lzf_decompress — Descompresión LZF

Descripción

string lzf_decompress ( string $data )

lzf_compress() descomprime la cadena data dada que contiene los datos codificados en lzf.

Parámetros

data

La cadena comprimida.

Valores devueltos

Devuelve los datos descomprimidos o FALSE si ocurrió un error.

Ver también

  • lzf_compress() - Compresión LZF

lzf_compress
lzf_optimized_for
Funciones LZF


Determina para qué fue optimizada la extensión LZF

lzf_decompress
Phar
Funciones LZF
PHP Manual

lzf_optimized_for

(PECL lzf >= 1.0.0)

lzf_optimized_for — Determina para qué fue optimizada la extensión LZF

Descripción

int lzf_optimized_for ( void )

Determina para qué fue optimizada la extensión LZF durante la compilación.

Valores devueltos

Devuelve 1 si LZF fue optimizada para velocidad, 0 para compresión.

lzf_decompress
Phar
Funciones LZF


Phar

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Utilizar Archivos Phar
    • Utilizar Archivos Phar: Introduction
    • Utilizar Archivos Phar: la envoltura de flujos phar
    • Utilizar Archivos Phar: las clases Phar y PharData
  • Creación de archivos Phar
    • Creación de archivos Phar: Introducción
  • ¿Qué hace de un phar un phar y no un tar o un zip?
    • Ingredientes de todos los archivos Phar, independientes del formato de fichero
    • Rutina de interoperabilidad del fichero Phar
    • Comparación cara a cara de Phar, Tar y Zip
    • Archivos phar basados en tar
    • Archivos phar basados en zip
    • El Formato de Fichero Phar
    • Banderas mapeadas en bit globales de Phar
    • Definición de la entrada de fichero del manifiesto de Phar
    • Formato de la firma de Phar
  • Phar — La clase Phar
    • Phar::addEmptyDir — Añadir un directorio vacío al archvo phar
    • Phar::addFile — Añadir un fichero desde el sistema de ficheros al archivo phar
    • Phar::addFromString — Añadir un fichero desde el sistema de ficheros al archivo phar
    • Phar::apiVersion — Devolver la versión de la API
    • Phar::buildFromDirectory — Construir un archivo phar desde los ficheros de un directorio
    • Phar::buildFromIterator — Construir un archivo phar desde un iterador
    • Phar::canCompress — Devuelve si la extensión phar soporta la compresión usando zlib o bzip2
    • Phar::canWrite — Devolver si la extensión phar soporta la escritura y creación de archivos phar
    • Phar::compress — Comprimir el archivo Phar entero usando la compresión Gzip o Bzip2
    • Phar::compressAllFilesBZIP2 — Comprimir todos los ficheros del archivo Phar actual usando la compresión Bzip2
    • Phar::compressAllFilesGZ — Comprimir todos los ficheros del archivo Phar actual usando la compresión Gzip
    • Phar::compressFiles — Comprime todos los ficheros del archivo Phar actual
    • Phar::__construct — Construir un objeto de archivo Phar
    • Phar::convertToData — Convertir un archivo phar en un fichero tar o zip no ejecutable
    • Phar::convertToExecutable — Convertir un archivo phar en otro formato de archivo phar ejecutable
    • Phar::copy — Copiar un fichero interno de un archivo phar a otro fichero nuevo dentro del phar
    • Phar::count — Devuelve el número de entradas (ficheros) en el archivo Phar
    • Phar::createDefaultStub — Crear una rutina de interoperabilidad específica del formato de fichero phar
    • Phar::decompress — Descomprimir un archivo Phar entero
    • Phar::decompressFiles — Descomprimir todos los ficheros del archivo Phar actual
    • Phar::delMetadata — Eliminar la metainformación global del phar
    • Phar::delete — Borrar un fichero dentro de un archivo phar
    • Phar::extractTo — Extraer el contenido de un archivo phar a un directorio
    • Phar::getMetadata — Devolver la metainformación de un archivo phar
    • Phar::getModified — Devolver si el phar fue modificado
    • Phar::getSignature — Devolver la firma MD5/SHA1/SHA256/SHA512/OpenSSL de un archivo Phar
    • Phar::getStub — Devolver el cargador de PHP o la rutina de interoperabilidad de un archivo Phar
    • Phar::getSupportedCompression — Devolver un array de los algoritmos de compresión soportados
    • Phar::getSupportedSignatures — Devolver un array con los tipos de firmas soportados
    • Phar::getVersion — Devolver información de la versión del archivo Phar
    • Phar::hasMetadata — Devolver si el phar tiene metainformación global
    • Phar::interceptFileFuncs — Ordenar a phar interceptar fopen, file_get_contents, opendir, y todas las funciones relacionadas con estadísticas
    • Phar::isBuffering — Determinar si las operaciones de escritura de Phar está siendo almacenadas en buffer, o están siendo volcadas directamente al disco
    • Phar::isCompressed — Devuelve Phar::GZ oPHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.)
    • Phar::isFileFormat — Devolver true si el archivo phar está basado en el formato de fichero tar/phar/zip dependiendo del parámetro
    • Phar::isValidPharFilename — Devolver si el nombre de fichero dado es un nombre de fichero phar válido
    • Phar::isWritable — Devolver si el archivo phar se puede modificar
    • Phar::loadPhar — Cargar cualquier archivo phar con un alias
    • Phar::mapPhar — Leer el fichero (un phar) que está en ejecución y registrar su manifiesto
    • Phar::mount — Montar un fichero o ruta externos en una ubicación virtual dentro de un archivo phar
    • Phar::mungServer — Definir una lista de hasta 4 variables $_SERVER que debería ser modificadas para la ejecución
    • Phar::offsetExists — Determina si un fichero existe en un phar
    • Phar::offsetGet — Obtener un objeto de la clase PharFileInfo para un fichero específico
    • Phar::offsetSet — Establecer el contenido de un fichero interno a aquel de un fichero externo
    • Phar::offsetUnset — Eliminar un fichero de un phar
    • Phar::running — Devolover la ruta completa del disco o el URL completo de phar del archivo Phar que está en ejecución
    • Phar::setAlias — Establecer el alias para un archivo Phar
    • Phar::setDefaultStub — Establecer el cargador o la rutina de interoperabilidad de un archivo Phar al cargador predeterminado
    • Phar::setMetadata — Establecer la metainformación de un archivo phar
    • Phar::setSignatureAlgorithm — Establecer el algoritmo de firma para un phar y aplicarlo
    • Phar::setStub — Establecer el cargador de PHP o la rutina de interoperabilidad de un archivo Phar
    • Phar::startBuffering — Iniciar las operaciones de escritura en buffer de Phar, no modifica el objeto Phar del disco
    • Phar::stopBuffering — Detener las peticiones de escritura en buffer del archivo Phar, y guardar los cambios en disco
    • Phar::uncompressAllFiles — Descomprimir todos los ficheros del archivo Phar actual
    • Phar::unlinkArchive — Elimiar completamente un archivo phar del disco y de la memoria
    • Phar::webPhar — mapPhar para archivos phar basados en web. Controlador principal para aplicaciones web
  • PharData — La clase PharData
    • PharData::addEmptyDir — Añadir un directorio vacío al archivo tar/zip
    • PharData::addFile — Añadir un fichero desde el sistema de ficheros al archivo tar/zip
    • PharData::addFromString — Añadir un fichero desde el sistema de ficheros al archivo tar/zip
    • PharData::buildFromDirectory — Construir un archivo tar/zip desde los ficheros de un directorio
    • PharData::buildFromIterator — Construir un archivo tar o zip desde un iterador
    • PharData::compress — Comprimir el archivo tar/zip entero usando la compresión Gzip o Bzip2
    • PharData::compressFiles — Comprime todos los ficheros del archivo tar/zip actual
    • PharData::__construct — Construir un objeto de archivo tar o zip no ejecutable
    • PharData::convertToData — Convertir un archivo phar en un fichero tar o zip no ejecutable
    • PharData::convertToExecutable — Convertir un archivo tar/zip no ejecutable en un archivo phar ejecutable
    • PharData::copy — Copiar un fichero interno de un archivo phar a otro fichero nuevo dentro del phar
    • PharData::decompress — Descomprimir un archivo Phar entero
    • PharData::decompressFiles — Descomprimir todos los ficheros del archivo zip actual
    • PharData::delMetadata — Eliminar la metainformación global de un archivo zip
    • PharData::delete — Borrar un fichero dentro de un archivo tar/zip
    • PharData::extractTo — Extraer el contenido de un archivo tar/zip a un directorio
    • PharData::isWritable — Devolver si el archivo tar/zip se puede modificar
    • PharData::offsetSet — Establecer el contenido de un fichero dentro de un tar/zip a aquel de un fichero o cadena externos
    • PharData::offsetUnset — Eliminar un ficerho de un archivo tar/zip
    • PharData::setAlias — función sin sentido (Phar::setAlias no es válido para PharData)
    • PharData::setDefaultStub — función sin sentido (Phar::setStub no es válido para PharData)
    • Phar::setMetadata — Establecer la metainformación de un archivo phar
    • Phar::setSignatureAlgorithm — Establecer el algoritmo de firma para un phar y aplicarlo
    • PharData::setStub — función sin sentido (Phar::setStub no es válido para PharData)
  • PharFileInfo — La clase PharFileInfo
    • PharFileInfo::chmod — Esteblecer los bits de permiso específicos del fichero
    • PharFileInfo::compress — Comprimir la entrada del Phar actual con la compresión zlib o bzip2
    • PharFileInfo::__construct — Construir un objeto de entrada Phar
    • PharFileInfo::decompress — Descomprimir la entrada Phar actual dentro del phar
    • PharFileInfo::delMetadata — Eliminar la metainformación de una entrada
    • PharFileInfo::getCRC32 — Devolver el códido CRC32 o lanzar una exepción si la CRC no ha sido verificado
    • PharFileInfo::getCompressedSize — Devolver el tamaño real de un fichero (con compresión) dentro de un archivo Phar
    • PharFileInfo::getMetadata — Devolver la metainformación específica de un fichero almacenada con un fichero
    • PharFileInfo::getPharFlags — Devolver las banderas de una entrada de fichero
    • PharFileInfo::hasMetadata — Devolver la metainformación de una entrada
    • PharFileInfo::isCRCChecked — Devolver si la entrada de fichero tiene su CRC verificada
    • PharFileInfo::isCompressed — Devolver si la entrada está comprimida
    • PharFileInfo::isCompressedBZIP2 — Devolver si la entrada está comprimida con bzip2
    • PharFileInfo::isCompressedGZ — Devolver si la entrada está comprimida con gz
    • PharFileInfo::setCompressedBZIP2 — Comprimir la entrada actual de un Phar dentro del phar usando la compresión Bzip2
    • PharFileInfo::setCompressedGZ — Comprimir la entrada actual de un Phar dentro del phar usando la compresión gz
    • PharFileInfo::setMetadata — Establecer la metainformación específica de un fichero almacenda con un fichero
    • PharFileInfo::setUncompressed — Descomprimir la entrada actual del Phar dentro del phar, si está comprimida
  • PharException — La clase PharException
    • PharException — La clase PharException ofrece una excepción de clase específica de phar para bloques try/catch
lzf_optimized_for
Introducción
Extensiones de compresión y archivos


Introducción

La extensión phar proporciona una manera de poner aplicaciones PHP enteras dentro de un únivo fichero llamado "phar" (PHP Archive) para una distribución e instalación sencilla.. Además de proporcionar este servicio, la extensión phar también provee de un método de abstracción de formato de fichero para crear y manipular ficheros tar y zip a través de la clase PharData, tal como PDO proporciona una interfaz unificada para acceder a diferentes bases de datos. A diferencia de PDO, la cual no puede realizar conversiones entre bases de datos diferentes, Phar también realiza conversiones entre los formatos de ficheros tar, zip phar con una sencilla línea de código. Véase Phar::convertToExecutable() para un ejemplo.

¿Qué es phar? Lo archivos Phar están mejor caracterizados como una forma conveniente de agrupar varios ficheros en un único fichero. Como tal, un archvo phar proporciona una forma para distribuir una aplicación PHP completa en un único fichero y ejecutarla desde ese mismo fichero sin necesidad de extraerlo en el disco. Además, los archivos phar pueden ser ejecutados por PHP fácilmente al igual que cualquier otro fichero, tanto desde la línea de comandos como desde un servidor web. Phar a web server. Phar es como una memoria USB para aplicaciones PHP.

Phar implementa esta funcionalidad a través de una Envoltura de Flujo. Normalmente, para utilizar un fichero externo dentro de un script de PHP, se debería usar include

Ejemplo #1 Utilizar un fichero externo

<?php
 include '/ruta/al/fichero/externo.php';
 ?>

Puede considerarse que PHP traduce realemte /ruta/al/fichero/externo.php a una envoltura de flujo como file:///ruta/al/fichero/externo.php, y bajo la cubierta de hecho hace uso de funciones de flujo de envolturas de flujo de ficheros para acceder a todos los ficheros locales.

Para utilizar un fichero llamado fichero.php contenido en un archivo phar /ruta/a/miphar.phar, la sintaxis es muy similar a la sintaxis file:// de arriba.

Ejemplo #2 Utilizar un fichero dentro de un archivo phar

<?php
 include 'phar:///ruta/a/miphar.phar/fichero.php';
 ?>

De hecho, se puede tratar un archivo phar exactamente como si fuera un disco externo, usando cualquiera de las funciones relacionadas con fopen(), opendir() y funciones relacionadas con mkdir() para leer, cambiar, o crear nuevos ficheros y directorios dentro del archivo phar. Esto permite que aplicaciones de PHP completas sean distribuidas en un único fichero y ejecutarlas directamente desde ese fichero.

El uso más común de un archivo phar es distribuir una aplicación completa en un único fichero. Por ejemplo, el Instalador de PEAR que se incluye con las versiones de PHP está distribuido como un archivo phar. Para usar un archivo phar distribuido de esta forma, se puede ejecutar en línea de comandos o mediante un servidor web.

Los archivos phar pueden ser distribuidos como archivos tar, zip, o como formato de fichero phar personalizado diseñado específicamente por la extensión phar. Cada formato de fichero tiene sus ventajas y desventajas. Los formatos de fichero tar y zip se pueden leer o extraer mediante cualquier herramienta de terceros que pueda leer el formato, pero necesia la extensión phar para ejecutarlo con PHP. El formato de fichero phar es personalizado y único para la extensión phar, y sólo puede ser creado por la extensión phar o el paquete de PEAR » PHP_Archive, pero tiene la ventaja de que las apliaciones creadas en este formato se ejecutarán incluso si la extensión phar no está habilitada.

En otras palabra, incluso con la extensión phar deshabilitada, se puede ejecutar o incluir un archivo basado en phar. El acceso a ficheros dentro de un archivo phar solamente es posible con la extesnión phar a menos que el archivo phar fuese creado por PHP_Archive.

La extensión phar también es capaz de convertir un archivo phar desde los formatos de fichero tar a zip o a phar en un único comando:

Ejemplo #3 Convertir un archivo phar, desde phar al formato de fichero tar

<?php
 $phar = new Phar('miphar.phar');
 $pgz = $phar->convertToExecutable(Phar::TAR, Phar::GZ); // crea miphar.phar.tar.gz
 ?>

Phar puede comprimir ficheros individuales o un archivo entero usando la compresión gzip o la bzip2, y puede verificar la integridad del archivo automáticamente a través del uso de las signaturas MD5, SHA-1, SHA-256 o SHA-512.

Por último, la extensión Phar se preocupa de la seguridad, y deshabilita el acceso a la escritura de archivos phar ejecutables de manera predeterminada, y requiere la deshabilitación a nivel de sistema del ajuste phar.readonly de php.ini para crear o modificar archivos phar. Los archivos tar y zip normales sin una rutina de interoperabilidad ejecutable siempre pueden ser creador o modificados utilizando la clase PharData.

Si está creando aplicaciones para su distribución, le interesará leer Cómo crear Archivos Phar. Si desea más información de las diferencias entre los tres formatos de ficheros que soporta phar, debería leer Phar, Tar y Zip.

Si usa aplicaciones phar, existen consejos útiles en Cómo utilizar Archivos Phar

La palabra phar es una contracción de PHP y Archive y está basada indirectamente en el familiar jar (Java Archive) para los desarrolladores Java.

La implementación de archivos Phar está basada en el paquete de PEAR » PHP_Archive, y los detalles de implementación son similares, aunque la extensión Phar es mucho más potente. Además, la extensión Phar permite a la mayoría de las aplicaciones de PHP ejecutarse sin modificaciones, mientras que los archivos phar basados en PHP_Archive a menudo requieren una extensa modificiación para que funcionen.

Phar
Instalación/Configuración
Phar


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Phar


Requerimientos

Phar requiere PHP 5.2.0 o superior. Las caracteristicas adicionales requieren la extensión SPL para aprovechar la iteración y el acceso a arrays del contenido de un fichero de Phar. El flujo phar no requiere ninguna extensión adicional para que funcione.

Opcionalmente, se puede habilitar las extensiones zlib y bzip2 para aprovechar el soporte de phar comprimidos. Además, para aprovechar la firma OpenSSL, debe estar habilidata la extensión OpenSSL.

Observe que un error en el filtro de flujos zlib.deflate corregido en la versión 5.2.6 y posteriores de PHP puede ocasionar el truncamiento de archivos phar comprimidos con gzip bzip2.

PHP 5.3 configurado con --enable-zend-multibyte hace que phar dependa de la opción ini detect_unicode.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

La extensión Phar está integrada a partir de la versión 5.3.0 de PHP. Phar se puede instalar a través de la extensión PECL con las versiones anteriores de PHP. La » página de PECL de Phar contiene información adicional y su hostoria.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de Configuración de Flujos y Sistema de Ficheros
Nombre | Por defecto | Cambiable | Historial de cambios
phar.readonly | "1" | PHP_INI_ALL |
phar.require_hash | "1" | PHP_INI_ALL |
phar.extract_list | "" | PHP_INI_ALL | Disponible desde phar 1.1.0 a 1.2.3, eliminado en 2.0.0.
phar.cache_list | "" | PHP_INI_SYSTEM | Disponible desde phar 2.0.0.

He aquí una breve explicación de las directivas de configuración.

phar.readonly boolean

Esta opción deshabilita la modificación o creación de archivos Phar usando el flujo phar o el soporte para escritura de objetos Phar. Este ajuste debería estar siempre activado en máquinas de producción, ya que el soporte para escritura conveniente de la extensión phar podría permitir la simple creación de un virus basado en PHP al asociarse con otras vulnerabilidades de seguridad comunes.

Nota:

Este ajuste sólo puede ser desactivado en php.ini por motivos de seguridad. Si phar.readonly está deshabilitado en php.ini, un usuario puede habilitar phar.readonly en un script o deshabilitarlo después. Si phar.readonly está habilitado en php.ini, un scrip puede "re-habilitar" inofensivamente la variable INI, pero no puede deshabilitarla.

phar.require_hash boolean

Esta opción forzará a todos los archivos Phar abiertos a que contengan algún tipo de signatura (actualmente está soportadas MD5, SHA1, SHA256 y SHA512), y rehusará procesar cualquer archivo Phar que no contenga una signatura.

Nota:

Este ajuste sólo puede ser desactivado en php.ini por motivos de seguridad. Si phar.require_hash está deshabilitado en php.ini, un usuario puede habilitar phar.require_hash en un script o deshabilitarlo después. Si phar.require_hash está habilitado en php.ini, un scrip puede "re-habilitar" inofensivamente la variable INI, pero no puede deshabilitarla.

Este ajuste no afecta a la lectura de ficheros tar planos con la clase PharData.

phar.extract_list string

Este ajuste INI ha sido eliminado desde phar 2.0.0

Permite el mapeo desde una ruta completa a un archivo phar o su alias hacia la ubicación de sus ficheros extraídos. El formato del parámetro es nombre=archivo,nombre2=archivo2. Esto permite la extracción de ficheros phar al disco, y permite a phar acutar como una especie de mapeador para extraer ficheros de discos. A menudo, esto se reailza por motivos de rendimiento, o para ayudar a la depuración de un phar.

Ejemplo #1 phar.extract_list usage example

in php.ini:
phar.extract_list = archivo=/ruta/completa/al/archivo/,archivo2=/ruta/completa/al/archivo2
<?php
include "phar://archivo/contenido.php";
include "phar://archivo2/foo.php";
?>

phar.cache_list string

Este ajuste INI fue añadido en 2.0.0

Permite mapear archivos phar para que sean preanalizados en el arranque del servidor web, proporcionando una mejora de rendimiento que saca ficheros en ejecución de un archivo phar casi tan rápido como si esos ficheros se ejecutaran desde una instalación tradicional basada en disco.

Ejemplo #2 Ejemplo de uso de phar.cache_list

en php.ini (windows):
phar.cache_list =C:\ruta\a\phar1.phar;C:\ruta\a\phar2.phar
en php.ini (unix):
phar.cache_list =/ruta/a/phar1.phar:/ruta/a/phar2.phar

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

La extensión Phar proporciona el flujo phar, el cual permite el acceso a ficheros contenidos en un phar de manera transparente. Véase también la descripción de formato de fichero Phar.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Constantes de compresión de Phar
Constante | Valor | Descripción
Phar::NONE (integer) | 0x00000000 | sin compresión
Phar::COMPRESSED (integer) | 0x0000F000 | máscara de bit que puede ser usada con banderas de fichero para determinar si está presente algún tipo de compresión
Phar::GZ (integer) | 0x00001000 | compression zlib (gzip)
Phar::BZ2 (integer) | 0x00002000 | compression bzip2
Constanten de formato de fichero de Phar
Constante | Valor | Descripción
Phar::SAME (integer) | 0 | conservar el mismo formato de fichero
Phar::PHAR (integer) | 1 | formato de fichero phar
Phar::TAR (integer) | 2 | formato de fichero tar
Phar::ZIP (integer) | 3 | formato de fichero zip
Constantes de signatura de Phar
Constante | Valor | Descripción
Phar::MD5 (integer) | 0x0001 | singnatura con el algoritmo hash md5
Phar::SHA1 (integer) | 0x0002 | singnatura con el algoritmo hash sha1
Phar::SHA256 (integer) | 0x0003 | singnatura con el algoritmo hash sha256 (requiere la extensión Hash)
Phar::SHA512 (integer) | 0x0004 | singnatura con el algoritmo hash sha512 (requiere la extensión Hash)
Phar::OPENSSL (integer) | 0x0010 | signatura con la pareja de claves pública/privada de OpenSSL. Esta es una signatura de clave asimétrica verdadera.
Constantes de sobrescritura MIME de webPhar de Phar
Constante | Valor | Descripción
Phar::PHP (integer) | 1 | usada para ordenar al parámetro de sobrescritura MIME de Phar::webPhar() que la extensión debería ser analizada como un fichero de PHP
Phar::PHPS (integer) | 2 | usada para ordenar al parámetro de sobrescritura MIME de Phar::webPhar() que la extensión debería ser analizada como un fichero fuente de PHP a través de highlight_file()
Tipos de recursos
Utilizar Archivos Phar
Phar


Utilizar Archivos Phar

Tabla de contenidos

  • Utilizar Archivos Phar: Introduction
  • Utilizar Archivos Phar: la envoltura de flujos phar
  • Utilizar Archivos Phar: las clases Phar y PharData
Constantes predefinidas
Utilizar Archivos Phar: Introduction
Phar


Utilizar Archivos Phar: Introduction

Los archivos phar son similares en concepto a los archivo JAR de Java, pero están adaptados a las necesidades y a la flexibilidad de aplicoines de PHP. Un archivo Phar se usa para distribuir una aplicación o biblioteca PHP completa en un único fichero. Una aplicación de un archivo Phar se utiliza exactamente de la misma manera que otra aplicación PHP:

php aplicacion.phar

Utilizar una biblioteca de archivo Phar es idéntico a usar cualquier otra biblioteca de PHP:

<?php
include 'biblioteca.phar';
?>

La envoltura de flujos phar proporciona el núcleo de la extensión Phar, y está explicada en detalle aquí. La envoltura de flujos phar permite el acceso a los ficheros dentro de un archivo phar utilizando las funciones estándar de ficheros de PHP fopen(), opendir(), y y otras que trabajan sobre ficheros normales. La envoltura de flujos phar soporta todas las operaciones de lectura/escritura tanto en ficheros como en directorios.

<?php
include 'phar://biblioteca.phar/fichero/interno.php';
header('Content-type: image/jpeg');
// a los phar se puede acceder con la ruta completa o mediante un alias
echo file_get_contents('phar:///ruta_completa/a/biblioteca.phar/imagenes/wow.jpg');
?>

La clase Phar implementa una funcionalidad avanzada para acceder a ficheros y crear arhivos phar. La clas Phar está explicada en detalle aquí.

<?php
try {
    // abrir un phar existente
    $p = new Phar('biblioteca.phar', 0);
    // Phar extiende la clase DirectoryIterator de SPL
    foreach (new RecursiveIteratorIterator($p) as $fichero) {
        // $fichero en una clase PharFileInfo, y hereda de SplFileInfo
        echo $fichero->getFileName() . "\n";
        echo file_get_contents($fichero->getPathName()) . "\n"; // mostrar el contenido;
    }
    if (isset($p['fichero/interno.php'])) {
        var_dump($p['fichero/interno.php']->getMetadata());
    }

    // crear un nuevo phar - phar.readonly debe ser 0 en php.ini
    // phar.readonly está habilitado por omisión por motivos de seguridad.
    // En servidores de producción, los archivos Phar nunca se crean,
    // sólo se ejecutan.
    if (Phar::canWrite()) {
        $p = new Phar('nuevo_phar.tar.phar', 0, 'nuevo_phar.tar.phar');
        // hacerlo un archivo phar basado en tar, comprimido con gzip (.tar.gz)
        $p = $p->convertToExecutable(Phar::TAR, Phar::GZ);

        // crear una transacción -  no se escribe nada en nuevo_phar.phar
        // hasta que stopBuffering() sea llamado, aunque se necesita almacenamiento temporal
        $p->startBuffering();
        // añadir todos los ficheros de /ruta/del/proyecto, guardándolos en el phar con el prefijo "proyecto"
        $p->buildFromIterator(new RecursiveIteratorIterator(new DirectoryIterator('/ruta/del/proyecto')), '/ruta/del/');

        // añadir un nuevo fichero mediante la API de acceso a arrays
        $p['fichero1.txt'] = 'Información';
        $fp = fopen('fichero_enorme.dat', 'rb');
        // copiar toda la información del flujo
        $p['datos/fichero_enorme.dat'] = $fp;

        if (Phar::canCompress(Phar::GZ)) {
            $p['datos/fichero_enorme.dat']->compress(Phar::GZ);
        }

        $p['imagenes/wow.jpg'] = file_get_contents('imagenes/wow.jpg');
        // cualquier valor se puede guardar como metainformación específica del fichero
        $p['imagenes/wow.jpg']->setMetadata(array('mime-type' => 'image/jpeg'));
        $p['index.php'] = file_get_contents('index.php');
        $p->setMetadata(array('bootstrap' => 'index.php'));

        // cuardar el archivo phar en el disco
        $p->stopBuffering();
    }
} catch (Exception $e) {
    echo 'No se pudo abrir Phar: ', $e;
}
?>

Además, la verificación del contenido de ficheros phar se puede realizar utilizando cualquiera de los algoritmos hash simétricos soportados (MD5, SHA1, SHA256 y SHA512 si la extensión Hash está habilitada) y utilizando firmas de clave pública/privada asimétricas de OpenSSL (nuevo en Phar 2.0.0). Para aprovechar la firmas de OpenSSL, se necesita generar una pareja de claves pública/privada, y utilizar la clave privada para establecer la firma usando Phar::setSignatureAlgorithm(). Además, la clave pública se extrae usando este código:

<?php
$public = openssl_get_publickey(file_get_contents('private.pem'));
$pkey = '';
openssl_pkey_export($public, $pkey);
?>
debe ser guardada junto al archivo phar que verifica. Si el archivo phar es guardado como /ruta/a/mi.phar, la clave pública debe guardarse como /ruta/a/mi.phar.pubkey, o phar no será capaz de verificar la firma OpenSSL.

A partir de la verisón 2.0.0, la clase Phar también proporciona tres métodos estáticos, Phar::webPhar(), Phar::mungServer() y Phar::interceptFileFuncs(), los cuales son cruiciales para empaquetar aplicaciones PHP diseñadas para un uso en sistemas de ficheros normales y aplicación basadas en web. Phar::webPhar() implementa un controlador principal que direcciona llamadas HTTP a la ubicación correcta dentro del archivo phar. Phar::mungServer() se utiliza para modificar los valores del array $_SERVER para hacer que las aplicaciones procesen estos valores. Phar::interceptFileFuncs() ordena a Phar que intercepte llamdas a fopen(), file_get_contents(), opendir(), y a todas las funciones basadas en estadísticas ( file_exists(), is_readable(), etc.) y direccione todas las rutas relativas a las ubicaciones dentro del archivo phar.

Como ejemplo, empaquetar una versión de la popular aplicación phpMyAdmin para usarla cono un archivo phar, requiere solamente este sencillo script, y después se puede acceder a phpMyAdmin.phar.tar.php como un fichero normal desde el servidor web después de modificar el usuario/contraseña:

<?php
@unlink('phpMyAdmin.phar.tar.php');
copy('phpMyAdmin-2.11.3-english.tar.gz', 'phpMyAdmin.phar.tar.php');
$a = new Phar('phpMyAdmin.phar.tar.php');
$a->startBuffering();
$a["phpMyAdmin-2.11.3-english/config.inc.php"] = '<?php
/* Servers configuration */
$i = 0;

/* Server localhost (config:root) [1] */
$i++;
$cfg[\'Servers\'][$i][\'host\'] = \'localhost\';
$cfg[\'Servers\'][$i][\'extension\'] = \'mysqli\';
$cfg[\'Servers\'][$i][\'connect_type\'] = \'tcp\';
$cfg[\'Servers\'][$i][\'compress\'] = false;
$cfg[\'Servers\'][$i][\'auth_type\'] = \'config\';
$cfg[\'Servers\'][$i][\'user\'] = \'root\';
$cfg[\'Servers\'][$i][\'password\'] = \'\';

/* End of servers configuration */
if (strpos(PHP_OS, \'WIN\') !== false) {
    $cfg[\'UploadDir\'] = getcwd();
} else {
    $cfg[\'UploadDir\'] = \'/tmp/pharphpmyadmin\';
    @mkdir(\'/tmp/pharphpmyadmin\');
    @chmod(\'/tmp/pharphpmyadmin\', 0777);
}';
$a->setStub('<?php
Phar::interceptFileFuncs();
Phar::webPhar("phpMyAdmin.phar", "phpMyAdmin-2.11.3-english/index.php");
echo "phpMyAdmin está intentando ejecutarse desde un navegador web\n";
exit -1;
__HALT_COMPILER();
');
$a->stopBuffering();
?>

Utilizar Archivos Phar
Utilizar Archivos Phar: la envoltura de flujos phar
Utilizar Archivos Phar


Utilizar Archivos Phar: la envoltura de flujos phar

La envoltura de flujos phar soporta completamente fopen() para leer y escribir (no añadir), unlink(), stat(), fstat(), fseek(), rename() y operaciones de flujo de directorios opendir() y a partir de la versión 2.0.0, rmdir() y mkdir().

También se pueden manipular compresiones de ficheros individuales y metadatos por fichero en un archivo Phar usando contextos de flujo:

<?php
$contexto = stream_context_create(array('phar' =>
                                    array('compress' => Phar::GZ)),
                                    array('metadata' => array('user' => 'cellog')));
file_put_contents('phar://mi.phar/fichero.php', 0, $contexto);
?>

La envoltura de flujos phar no opera sobre ficheros remotos, y no puede operar sobre ficheros remotos, and cannot operate on remote files, and so is allowed even when the allow_url_fopen and allow_url_include INI options are disabled.

Aunque es posible crear archivos phar desde cero simplemente usando operaciones de flujos, es mejor utilizar la funcionalidad interna de la clase Phar. La envoltura de flujos se usa mejor para operaciones de sólo lectura.

Utilizar Archivos Phar: Introduction
Utilizar Archivos Phar: las clases Phar y PharData
Utilizar Archivos Phar


Utilizar Archivos Phar: las clases Phar y PharData

La clase Phar admite la lectura y la manipulación de archivos Phar, así como la iteración a través de la funcionalidad de la clase RecursiveDirectoryIterator. Con el soporte para la interfaz ArrayAccess, se puede acceder a los ficheros que están dentro de un archivo Phar como si fueran parte de un array asociativo.

La clase PharData extiende la clase Phar, y permite crear y modificar archivos tar y zip no ejecutables (datos) incluso si phar.readonly=1 en php.ini. Por lo tanto, PharData::setAlias() y PharData::setStub() están desactivados ya que los conceptos de alias y rutina de interoperabilidad (stub) son válidos únicamente para archivos phar ejecutables.

Observe que al crear un archivo Phar, se debería pasar la ruta completa al contructor del objeto de la clase Phar. Las rutas relativas causarán un error en la inicialización.

Asumiendo que $p es un objeto de la clase Phar inicializado como sigue:

<?php
$p = new Phar('/ruta/a/miphar.phar', 0, 'miphar.phar');
?>

se creará un archivo Phar vacío en /ruta/a/miphar.phar, o si /ruta/a/miphar.phar ya existe, se abrirá de nuevo. El literal miphar.phar demuestra el concepto de un alias que puede ser usado para referenciar a /ruta/a/miphar.phar en URLs, como en:

<?php
// estas dos llamadas a file_get_contents() son equivalentes si
// /ruta/a/miphar.phar tiene un alias especificado como "miphar.phar"
// en su manifiesto, o si el phar fue inicializado con la
// configuración del objeto Phar del ejemplo anterior
$f = file_get_contents('phar:///ruta/a/miphar.phar/loquesea.txt');
$f = file_get_contents('phar://miphar.phar/loquesea.txt');
?>

Con el recién creado objeto $p de la clase Phar, lo siguiente es posible:

  • $a = $p['fichero.php'] creates a PharFileInfo class that refers to the contents of phar://miphar.phar/fichero.php
  • $p['fichero.php'] = $v crea un nuevo fichero (phar://miphar.phar/fichero.php), o sobrescribe un fichero existente dentro de miphar.phar. $v puede ser una cadena o un puntero de fichero abierto, en cuyo caso todo el contenido del fichero se usará para crear el nuevo fichero. Observe que $p->addFromString('fichero.php', $v) es funcionalmente equivalente a lo de más arriba. También es posible añadir el contenido de un fichero con $p->addFile('/path/to/fichero.php', 'fichero.php'). Por ultimo, se puede crear un directorio vacío con $p->addEmptyDir('vacio').
  • isset($p['fichero.php']) se puede usar para determinar si phar://miphar.phar/fichero.php existe dentro de miphar.phar.
  • unset($p['fichero.php']) borra phar://miphar.phar/fichero.php de miphar.phar.

Además, el objeto de la clase Phar es la única manera de acceder a metainformación específica de Phar, a través de Phar::getMetadata(), y la única manera de establecer o recuperar una rutina de interoperabilidad (stub) del cargador de PHP de un archivo Phar a través de Phar::getStub() y Phar::setStub(). Además, la compresión del archivo completo Phar de una vez, sólo puede ser manipulada utilizando la clase Phar.

La lista completa de la funcionalidad de objetos de la clase Phar está documentada más adelante.

La clase PharFileInfo extiende a la clase SplFileInfo, y añade varios métodos para manipular detalles específicos de Phar de un fichero contenido en un Phar, tales como la manipulación de la compresión y la metainformación.

Utilizar Archivos Phar: la envoltura de flujos phar
Creación de archivos Phar
Utilizar Archivos Phar


Creación de archivos Phar

Tabla de contenidos

  • Creación de archivos Phar: Introducción
Utilizar Archivos Phar: las clases Phar y PharData
Creación de archivos Phar: Introducción
Phar


Creación de archivos Phar: Introducción

Para ser escrita completamente en un futuro próximo. Antes de leer esto, asegúrese de leer Como utilizar archivos PHAR.

Un buen lugar para empezar es leer acerca de Phar::buildFromIterator(), y los detalles de la elección del formato de fichero disponible para los archivos. Una adecuada comprensión de lo que es y hace una rutina de interoperabilidad (stub), es crucial para la creación de un archivo PHAR, así Phar::setStub() y Phar::createDefaultStub() son buenos lugares para comenzar. Si va a distribuir una aplicación basada en web es fundamental saber qué es y cómo funciona Phar::webPhar() y el método relacionado Phar::mungServer(). Cualquier aplicación que tenga acceso a sus propios ficheros también debe considerar el uso de Phar::interceptFileFuncs().

Creación de archivos Phar
¿Qué hace de un phar un phar y no un tar o un zip?
Creación de archivos Phar


¿Qué hace de un phar un phar y no un tar o un zip?

Tabla de contenidos

  • Ingredientes de todos los archivos Phar, independientes del formato de fichero
  • Rutina de interoperabilidad del fichero Phar
  • Comparación cara a cara de Phar, Tar y Zip
  • Archivos phar basados en tar
  • Archivos phar basados en zip
  • El Formato de Fichero Phar
  • Banderas mapeadas en bit globales de Phar
  • Definición de la entrada de fichero del manifiesto de Phar
  • Formato de la firma de Phar
Creación de archivos Phar: Introducción
Ingredientes de todos los archivos Phar, independientes del formato de fichero
Phar


Ingredientes de todos los archivos Phar, independientes del formato de fichero

Todos los archivos Phar contienen tres o cuatro secciones:

  1. una rutina de interoperabilidad (stub)

  2. un manifiesto describiendo el contenido

  3. el contenido de ficheros

  4. [opcional] una firma para verificar la integridad del Phar (solamente el formtado de fichero phar)

¿Qué hace de un phar un phar y no un tar o un zip?
Rutina de interoperabilidad del fichero Phar
¿Qué hace de un phar un phar y no un tar o un zip?


Rutina de interoperabilidad del fichero Phar

Una rutina de interoperabilidad de un Phar es un simple fichero PHP. La rutina de interoperabilidad más pequeña posible es:

<?php __HALT_COMPILER();

Una rutina de interoperabilidad debe contener como mínimo el token __HALT_COMPILER(); en su conclusión. Normalmente, una rutina de interoperabilidad contendrá funcionalidad cargadora como:

<?php
Phar::mapPhar();
include 'phar://miphar.phar/index.php';
__HALT_COMPILER();

No existen restricciones para el contenido de una rutina de interoperabilidad de Phar, excepto el requerimiento de que concluya con __HALT_COMPILER();. La etiqueta de cierre de PHP

?>
se puede incluir u omitir, pero no puede haber más de un espacio entre el ; y la etiqueta de cierre
?>
 o la extensión phar no podrá procesar el manifiesto del archivo Phar.

En un archivo phar basado en tar o zip, la rutina de interoperabilidad es alamcenada en el fichero .phar/stub.php. La rutina de interoperabilidad predeterminada para archivos Phar basados en phar contiene aproximadamente 7k de código para extraer el contenido del phar y ejecutarlo. Véase Phar::createDefaultStub() para más información.

El alias de phar se alamcena en un archivo phar basado en zip en el fichero .phar/alias.txt como texto plano.

Ingredientes de todos los archivos Phar, independientes del formato de fichero
Comparación cara a cara de Phar, Tar y Zip
¿Qué hace de un phar un phar y no un tar o un zip?


Comparación cara a cara de Phar, Tar y Zip

¿Cuáles son los aspectos positivos y negativos de los tres formatos de fichero soportados en la extensión phar? Esta tabla intenta responder esta pregunta.

Matriz de características: Phar contra Tar contra Zip
Característica | Phar | Tar | Zip
Formato de Fichero Estádar | No | Sí | Sí
Puede ser ejecutado con la extensión Phar [1] | Sí | No | No
Compresión por fichero | Sí | No | Sí
Compresión de archivo entero | Sí | Sí | No
Validación de firmas del archivo entero | Sí | Sí | Sí (PHP 5.3.1+)
Soporte para aplicaciones específicas de web | Sí | Sí | Sí
Metainformación por fichero | Sí | Sí | Sí
Metainformación del archivo entero | Sí | Sí | Sí
Modificación creación de archivos [2] | Sí | Sí | Sí
Soporte completa para todas las funciones de envoltura de flujos | Sí | Sí | Sí
Puede ser creado/modificado incluso si phar.readonly=1 [3] | No | Sí | Sí

Sugerencia

[1] PHP solamente puede acceder directamente al contenido de un archivo Phar sin la extensión Phar si está utilizando una rutina de interoperabilidad que extraiga el contenido del archivo phar. La rutina de interoperabilidad creada por Phar::createDefaultStub() extrae el archivo phar y ejecuta su contenido desde un directorio temporal si no se encuentra la extensión phar.

Sugerencia

[2] Todos los accesos de escritura requieren que phar.readonly sea deshabilitado en php.ini o directamente or la línea de comandos.

Sugerencia

[3] Solamente se pueden crear archivos tar y zip sin .phar en su nombre de fichero y sin una rutina de interoperabilidad ejecutable .phar/stub.php si phar.readonly=1.

Rutina de interoperabilidad del fichero Phar
Archivos phar basados en tar
¿Qué hace de un phar un phar y no un tar o un zip?


Archivos phar basados en tar

Los archivos basados en el formato de fichero tar siguen el formato de fichero USTAR más moderno. El diseño de la cabecera de fichero tar los hace más eficientes en el acceso que el formato de fichero zip, y casi tan efiniciente que el formato de fichero phar. Los nombres de fichero están limitados a 255 bytes, incluyentdo la ruta completa dentro de archivo phar. No existe límite en el número de ficheros que un archivo phar basado en tar puede contener. Estos archivos pueden ser comprimidos completamente en los formatos gzip o bzip2 y aún ser ejecutados por la extensión Phar.

Para comprimir un archivo entero, use Phar::compress(). Para descomprimir un archvo entero, use Phar::decompress().

Comparación cara a cara de Phar, Tar y Zip
Archivos phar basados en zip
¿Qué hace de un phar un phar y no un tar o un zip?


Archivos phar basados en zip

Los archivos basados en el formato de fichero zip soportan varias característica incorporadas del formato de fichero zip. La metainformación por fichero y del archivo entero es almacenda en el comentario del fichero zip y en el comentario del archivo zip como una cadena serializada. Los comentarios zip preexistentes serán leídos de manera satisfactoria como una cadena. La lectura/escritura de la compresión por fichero está soportada con la compresión zlib, y el acceso a lectura está soportado con la compresión bzip2. No existe límite en el número de ficheros que un archivo phar basado en zip puede contener. Los directorios vacíos son almacenados en el archivo zip como ficheros con una barra al final, como mi/directorio/

Archivos phar basados en tar
El Formato de Fichero Phar
¿Qué hace de un phar un phar y no un tar o un zip?


El Formato de Fichero Phar

El formato de fichero phar está dispuesto literalmente como rutina_de_interoperabilidad/manifiesto/contenido/firma, y almacena la información crucial de lo que está incluido en el archivo phar en su manifiesto.

El manifiesto de phar es un formato altamente optimizado que permite especificaciones por fichero de compresión de ficheros, permisos de ficheros, e incluso metainformación definida por el usuario como el usuario o grupo del fichero. Todos los valores mayores que 1 byte son almacenados en el orden de byte little-endian, con la excepción de la versión de la API, que por motivos históricos es almacenada como 3 en el orden big-endian.

Todas las banderas sin utilizar están reservadas para un uso futuro, y no deben usarse para almacenar información personalizada.to store custom information. Use la característica de metainformación por fichero para alamacenar información personalizada sobre ficheros en particular.

El formato de fichero básico de un manifiesto Phar es como sigue:

Formato del manifiesto global de Phar
Tamaño en bytes | Descripción
4 bytes | Longitud del manifiesto en bytes (límite 1 MB)
4 bytes | Número de ficheros en el Phar
2 bytes | Versión de la API del manifiesto de Phar (actualmente 1.0.0)
4 bytes | Banderas mapeadas en bit globales de Phar
4 bytes | Longitud del alisa del Phar
?? | Alias del Phar (la longitud basada en lo anterior)
4 bytes | Longitud de la metainformación del Phar (0 para ninguna)
?? | Metainformación de Phar serializada, almacenada en el formato de serialize()
al menos 24 * número de entradas bytes | entradas para cada fichero

Archivos phar basados en zip
Banderas mapeadas en bit globales de Phar
¿Qué hace de un phar un phar y no un tar o un zip?


Banderas mapeadas en bit globales de Phar

Aquí están las banderas mapeadas en bit actualmente reconocidas por la extensión Phar para el mapeo de bit plano global de Phar:

Valores de mapeo de bit reconocidos
Valor | Descripción
0x00010000 | Si se establece, el Phar contendrá una firma de verificaición
0x00001000 | Si se establece, el Phar contendrá al menos 1 fichero que está comprimido con la compresión zlib
0x00002000 | Si se establece, el Phar contendrá al menos 1 fichero que está comprimido con la compresión bzip

El Formato de Fichero Phar
Definición de la entrada de fichero del manifiesto de Phar
¿Qué hace de un phar un phar y no un tar o un zip?


Definición de la entrada de fichero del manifiesto de Phar

Cada fichero en el manifiesto contiene la siguiente información:

Entrada de fichero del manifiesto de Phar
Tamaño en bytes | Descripción
4 bytes | Longitud del nombre del fichero en bytes
?? | Nombre del fichero (la longitud especificada en lo anterior)
4 bytes | Tamaño del fichero sin comprimir en bytes
4 bytes | Marca de tiempo Unix del fichero
4 bytes | Tamaño del fichero comprimido en bytes
4 bytes | Suma de verificación CRC32 del contenido del fichero si comprimir
4 bytes | Banderas mapeadas en bit específicas del fichero
4 bytes | Longitud de la metainformación del fichero serializada (0 para ninguna)
?? | Metainformación del fichero serializada, almacenada en el formato de serialize()

Observe que a partir de la versión 1.1.1 de la API, los directorios vacíos son almacenados como nombres de fichero con una barra al final, como mi/directorio/

Los valores de mapeo de bit específicos de fichero reconocidos son:

Valores de mapeo de bit reconocidos
Valor | Descripción
0x000001FF | Estos bits están reservador para la definición de los permisos de fichero específicos de un fichero. Los permisos son usados por fstat() y se pueden utilizar para recrear permisos deseados en la extracción.
0x00001000 | Si se establece, el fichero es comprimido con la compresión zlib
0x00002000 | Si se establece, el fichero es comprimido con la compresión bzip

Banderas mapeadas en bit globales de Phar
Formato de la firma de Phar
¿Qué hace de un phar un phar y no un tar o un zip?


Formato de la firma de Phar

Los archivos Phar que contienen una firma siempre la tienen añadida al final del archivo Phar después del cargador, el manifiesto y el contenido de ficheros. Los dos formatos de firma soportados en este momento son MD5 y SHA1.

Formato de firma
Longitud en bytes | Descripción
16 ó 20 bytes | La firma real, 20 bytes para una firma SHA1, 16 bytes para una firma MD5, 32 bytes para una firma SHA256, y 64 bytes para una firma SHA512.
4 bytes | Banderas de firma. 0x0001 se usa para definir una firma MD5, 0x0002 se usa para definir una firma SHA1, 0x0004 se usa para definir una firma SHA256, y 0x0008 se usaupara definir una firma SHA512. El soporte para las firmas SHA256 y SHA512 se introdujo con la versión 1.1.0 de la API.
4 bytes | GBMB mágico usado para definir la presencia de una firma.

Definición de la entrada de fichero del manifiesto de Phar
Phar
¿Qué hace de un phar un phar y no un tar o un zip?


La clase Phar

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Introducción

La clase Phar proporciona una interfaz de alto nivel para el acceso y la creación de archivos phar.

Sinopsis de la Clase

Phar extends RecursiveDirectoryIterator implements Countable , ArrayAccess {
/* Métodos */
public void addEmptyDir ( string $dirname )
public void addFile ( string $file [, string $localname ] )
public void addFromString ( string $localname , string $contents )
final public static string apiVersion ( void )
public array buildFromDirectory ( string $base_dir [, string $regex ] )
public array buildFromIterator ( Iterator $iter [, string $base_directory ] )
final public static bool canCompress ([ int $type = 0 ] )
final public static bool canWrite ( void )
public object compress ( int $compression [, string $extension ] )
public bool compressAllFilesBZIP2 ( void )
public bool compressAllFilesGZ ( void )
public void compressFiles ( int $compression )
public __construct ( string $fname [, int $flags [, string $alias ]] )
public PharData convertToData ([ int $format = 9021976 [, int $compression = 9021976 [, string $extension ]]] )
public Phar convertToExecutable ([ int $format = 9021976 [, int $compression = 9021976 [, string $extension ]]] )
public bool copy ( string $oldfile , string $newfile )
public int count ( void )
final public static string createDefaultStub ([ string $indexfile [, string $webindexfile ]] )
public object decompress ([ string $extension ] )
public bool decompressFiles ( void )
public bool delMetadata ( void )
public bool delete ( string $entry )
public bool extractTo ( string $pathto [, string|array $files [, bool $overwrite = false ]] )
public mixed getMetadata ( void )
public bool getModified ( void )
public array getSignature ( void )
public string getStub ( void )
final public static array getSupportedCompression ( void )
final public static array getSupportedSignatures ( void )
public string getVersion ( void )
public bool hasMetadata ( void )
final public static void interceptFileFuncs ( void )
public bool isBuffering ( void )
public mixed isCompressed ( void )
public bool isFileFormat ( int $format )
final public static bool isValidPharFilename ( string $filename [, bool $executable = true ] )
public bool isWritable ( void )
final public static bool loadPhar ( string $filename [, string $alias ] )
final public static bool mapPhar ([ string $alias [, int $dataoffset = 0 ]] )
final public static void mount ( string $pharpath , string $externalpath )
final public static void mungServer ( array $munglist )
public bool offsetExists ( string $offset )
public int offsetGet ( string $offset )
public void offsetSet ( string $offset , string $value )
public bool offsetUnset ( string $offset )
final public static string running ([ bool $retphar = true ] )
public bool setAlias ( string $alias )
public bool setDefaultStub ([ string $index [, string $webindex ]] )
public void setMetadata ( mixed $metadata )
public void setSignatureAlgorithm ( int $sigtype [, string $privatekey ] )
public bool setStub ( string $stub [, int $len = -1 ] )
public void startBuffering ( void )
public void stopBuffering ( void )
public bool uncompressAllFiles ( void )
final public static bool unlinkArchive ( string $archive )
final public static void webPhar ([ string $alias [, string $index = "index.php" [, string $f404 [, array $mimetypes [, callable $rewrites ]]]]] )
}

Tabla de contenidos

  • Phar::addEmptyDir — Añadir un directorio vacío al archvo phar
  • Phar::addFile — Añadir un fichero desde el sistema de ficheros al archivo phar
  • Phar::addFromString — Añadir un fichero desde el sistema de ficheros al archivo phar
  • Phar::apiVersion — Devolver la versión de la API
  • Phar::buildFromDirectory — Construir un archivo phar desde los ficheros de un directorio
  • Phar::buildFromIterator — Construir un archivo phar desde un iterador
  • Phar::canCompress — Devuelve si la extensión phar soporta la compresión usando zlib o bzip2
  • Phar::canWrite — Devolver si la extensión phar soporta la escritura y creación de archivos phar
  • Phar::compress — Comprimir el archivo Phar entero usando la compresión Gzip o Bzip2
  • Phar::compressAllFilesBZIP2 — Comprimir todos los ficheros del archivo Phar actual usando la compresión Bzip2
  • Phar::compressAllFilesGZ — Comprimir todos los ficheros del archivo Phar actual usando la compresión Gzip
  • Phar::compressFiles — Comprime todos los ficheros del archivo Phar actual
  • Phar::__construct — Construir un objeto de archivo Phar
  • Phar::convertToData — Convertir un archivo phar en un fichero tar o zip no ejecutable
  • Phar::convertToExecutable — Convertir un archivo phar en otro formato de archivo phar ejecutable
  • Phar::copy — Copiar un fichero interno de un archivo phar a otro fichero nuevo dentro del phar
  • Phar::count — Devuelve el número de entradas (ficheros) en el archivo Phar
  • Phar::createDefaultStub — Crear una rutina de interoperabilidad específica del formato de fichero phar
  • Phar::decompress — Descomprimir un archivo Phar entero
  • Phar::decompressFiles — Descomprimir todos los ficheros del archivo Phar actual
  • Phar::delMetadata — Eliminar la metainformación global del phar
  • Phar::delete — Borrar un fichero dentro de un archivo phar
  • Phar::extractTo — Extraer el contenido de un archivo phar a un directorio
  • Phar::getMetadata — Devolver la metainformación de un archivo phar
  • Phar::getModified — Devolver si el phar fue modificado
  • Phar::getSignature — Devolver la firma MD5/SHA1/SHA256/SHA512/OpenSSL de un archivo Phar
  • Phar::getStub — Devolver el cargador de PHP o la rutina de interoperabilidad de un archivo Phar
  • Phar::getSupportedCompression — Devolver un array de los algoritmos de compresión soportados
  • Phar::getSupportedSignatures — Devolver un array con los tipos de firmas soportados
  • Phar::getVersion — Devolver información de la versión del archivo Phar
  • Phar::hasMetadata — Devolver si el phar tiene metainformación global
  • Phar::interceptFileFuncs — Ordenar a phar interceptar fopen, file_get_contents, opendir, y todas las funciones relacionadas con estadísticas
  • Phar::isBuffering — Determinar si las operaciones de escritura de Phar está siendo almacenadas en buffer, o están siendo volcadas directamente al disco
  • Phar::isCompressed — Devuelve Phar::GZ oPHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.)
  • Phar::isFileFormat — Devolver true si el archivo phar está basado en el formato de fichero tar/phar/zip dependiendo del parámetro
  • Phar::isValidPharFilename — Devolver si el nombre de fichero dado es un nombre de fichero phar válido
  • Phar::isWritable — Devolver si el archivo phar se puede modificar
  • Phar::loadPhar — Cargar cualquier archivo phar con un alias
  • Phar::mapPhar — Leer el fichero (un phar) que está en ejecución y registrar su manifiesto
  • Phar::mount — Montar un fichero o ruta externos en una ubicación virtual dentro de un archivo phar
  • Phar::mungServer — Definir una lista de hasta 4 variables $_SERVER que debería ser modificadas para la ejecución
  • Phar::offsetExists — Determina si un fichero existe en un phar
  • Phar::offsetGet — Obtener un objeto de la clase PharFileInfo para un fichero específico
  • Phar::offsetSet — Establecer el contenido de un fichero interno a aquel de un fichero externo
  • Phar::offsetUnset — Eliminar un fichero de un phar
  • Phar::running — Devolover la ruta completa del disco o el URL completo de phar del archivo Phar que está en ejecución
  • Phar::setAlias — Establecer el alias para un archivo Phar
  • Phar::setDefaultStub — Establecer el cargador o la rutina de interoperabilidad de un archivo Phar al cargador predeterminado
  • Phar::setMetadata — Establecer la metainformación de un archivo phar
  • Phar::setSignatureAlgorithm — Establecer el algoritmo de firma para un phar y aplicarlo
  • Phar::setStub — Establecer el cargador de PHP o la rutina de interoperabilidad de un archivo Phar
  • Phar::startBuffering — Iniciar las operaciones de escritura en buffer de Phar, no modifica el objeto Phar del disco
  • Phar::stopBuffering — Detener las peticiones de escritura en buffer del archivo Phar, y guardar los cambios en disco
  • Phar::uncompressAllFiles — Descomprimir todos los ficheros del archivo Phar actual
  • Phar::unlinkArchive — Elimiar completamente un archivo phar del disco y de la memoria
  • Phar::webPhar — mapPhar para archivos phar basados en web. Controlador principal para aplicaciones web
Formato de la firma de Phar
Phar::addEmptyDir
Phar


Añadir un directorio vacío al archvo phar

Phar
Phar::addFile
Phar
PHP Manual

Phar::addEmptyDir

(Unknown)

Phar::addEmptyDir — Añadir un directorio vacío al archvo phar

Descripción

public void Phar::addEmptyDir ( string $dirname )

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

Con este método se crea un directorio vacío con la ruta dada por dirname. Este método es similar a ZipArchive::addEmptyDir().

Parámetros

dirname

El nombre de directorio vacío a crear en el archivo phar

Valores devueltos

No devuelve ningún valor, se lanza una excepción en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::addEmptyDir()

<?php
try {
    $a = new Phar('/ruta/a/phar.phar');

    $a->addEmptyDir('/ruta/completa/a/fichero');
    // demuestra cómo se almacena este fichero
    $b = $a['ruta/completa/a/fichero']->isDir();
} catch (Exception $e) {
    // manejar los errores aquí
}
?>

Ver también

  • PharData::addEmptyDir() - Añadir un directorio vacío al archivo tar/zip
  • Phar::addFile() - Añadir un fichero desde el sistema de ficheros al archivo phar
  • Phar::addFromString() - Añadir un fichero desde el sistema de ficheros al archivo phar

Phar
Phar::addFile
Phar


Añadir un fichero desde el sistema de ficheros al archivo phar

Phar::addEmptyDir
Phar::addFromString
Phar
PHP Manual

Phar::addFile

(Unknown)

Phar::addFile — Añadir un fichero desde el sistema de ficheros al archivo phar

Descripción

public void Phar::addFile ( string $file [, string $localname ] )

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

Con este método, cualquier fichero o URL se puede añadir al arcivo phar. Si se especifica el segundo parámetro opcional localname, el fichero será almacenado en el archivo con el nombre dado por el parámetro, si no se usará el parámetro file 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 ZipArchive::addFile().

Parámetros

file

La ruta completa o relativa del fichero del disco a ser añadido al archivo phar.

localname

Ruta con la que el fichero será almacenado en el archivo.

Valores devueltos

No devuelve ningún valor, se lanza una excepción en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::addFile()

<?php
try {
    $a = new Phar('/ruta/a/phar.phar');

    $a->addFile('/ruta/completa/a/fichero');
    // demuestra cómo se almacena este fichero
    $b = $a['ruta/completa/a/fichero']->getContent();

    $a->addFile('/ruta/completa/a/fichero', 'mi/fichero.txt');
    $c = $a['mi/fichero.txt']->getContent();

    // demostrar el uso de una URL
    $a->addFile('http://www.ejemplo.com', 'ejemplo.html');
} catch (Exception $e) {
    // manejar los errores aquí
}
?>

Ver también

  • Phar::offsetSet() - Establecer el contenido de un fichero interno a aquel de un fichero externo
  • PharData::addFile() - Añadir un fichero desde el sistema de ficheros al archivo tar/zip
  • Phar::addFromString() - Añadir un fichero desde el sistema de ficheros al archivo phar
  • Phar::addEmptyDir() - Añadir un directorio vacío al archvo phar

Phar::addEmptyDir
Phar::addFromString
Phar


Añadir un fichero desde el sistema de ficheros al archivo phar

Phar::addFile
Phar::apiVersion
Phar
PHP Manual

Phar::addFromString

(Unknown)

Phar::addFromString — Añadir un fichero desde el sistema de ficheros al archivo phar

Descripción

public void Phar::addFromString ( string $localname , string $contents )

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

Con este método, cuanquierl cadena se puede añadir al archivo phar. El fichero será almacenado en el archivo con localname como su ruta. Este método es similar a ZipArchive::addFromString().

Parámetros

localname

Ruta con la que el fichero será almacenado en el archivo.

contents

El contenido del fichero a almacenar

Valores devueltos

No devuelve ningún valor, se lanza una excepción en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::addFromString()

<?php
try {
    $a = new Phar('/ruta/a/phar.phar');

    $a->addFromString('ruta/a/fichero.txt', 'mi sencillo fichero');
    $b = $a['ruta/a/fichero.txt']->getContent();

    // para añadir contenido desde un gestor de flujos para ficheros grandes, use offsetSet()
    $c = fopen('/ruta/a/fichero_enorme.bin');
    $a['fichero_grande.bin'] = $c;
    fclose($c);
} catch (Exception $e) {
    // manejar los errores aquí
}
?>

Ver también

  • Phar::offsetSet() - Establecer el contenido de un fichero interno a aquel de un fichero externo
  • PharData::addFromString() - Añadir un fichero desde el sistema de ficheros al archivo tar/zip
  • Phar::addFile() - Añadir un fichero desde el sistema de ficheros al archivo phar
  • Phar::addEmptyDir() - Añadir un directorio vacío al archvo phar

Phar::addFile
Phar::apiVersion
Phar


Devolver la versión de la API

Phar::addFromString
Phar::buildFromDirectory
Phar
PHP Manual

Phar::apiVersion

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::apiVersion — Devolver la versión de la API

Descripción

final public static string Phar::apiVersion ( void )

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.

Parámetros

Valores devueltos

La cadena de la versión de la API como "1.0.0".

Ejemplos

Ejemplo #1 Un ejemplo de Phar::apiVersion()

<?php
echo Phar::apiVersion();
?>

El resultado del ejemplo sería:

1.1.1

Phar::addFromString
Phar::buildFromDirectory
Phar


Construir un archivo phar desde los ficheros de un directorio

Phar::apiVersion
Phar::buildFromIterator
Phar
PHP Manual

Phar::buildFromDirectory

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::buildFromDirectory — Construir un archivo phar desde los ficheros de un directorio

Descripción

public array Phar::buildFromDirectory ( string $base_dir [, string $regex ] )

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

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 Phar::buildFromIterator().

Parámetros

base_dir

La ruta completa o relativa al directorio que contiene todos los ficheros a añadir al archivo.

regex

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.

Valores devueltos

Phar::buildFromDirectory() devuelve un array asociativo que que mapea la ruta interna del fichero a la ruta completa del mismo en el sistema de ficheros.

Errores/Excepciones

Este método lanza una excepción de tipo BadMethodCallException cuando no puede instanciar los iteradores intermos del directorio, o una excepción de tipo PharException si hubo errores al guardar el archivo phar.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::buildFromDirectory()

<?php
// crear con el alias "proyecto.phar"
$phar = new Phar('proyecto.phar', 0, 'proyecto.phar');
// añadir todos los ficheros del proyecto
$phar->buildFromDirectory(dirname(__FILE__) . '/proyecto');
$phar->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));

$phar2 = new Phar('proyecto2.phar', 0, 'proyecto2.phar');
// añadir todos los ficheros del, incluir solamente los ficheros php
$phar2->buildFromDirectory(dirname(__FILE__) . '/proyecto', '/\.php$/');
$phar2->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));
?>

Ver también

  • Phar::buildFromIterator() - Construir un archivo phar desde un iterador

Phar::apiVersion
Phar::buildFromIterator
Phar


Construir un archivo phar desde un iterador

Phar::buildFromDirectory
Phar::canCompress
Phar
PHP Manual

Phar::buildFromIterator

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::buildFromIterator — Construir un archivo phar desde un iterador

Descripción

public array Phar::buildFromIterator ( Iterator $iter [, string $base_directory ] )

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

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.

Parámetros

iter

Cualquier iterador que mapee de forma asociativa el fichero phar a la ubiciación o que devuelva objetos de la clase SplFileInfo

base_directory

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

Valores devueltos

Phar::buildFromIterator() devuelve un array asociativo que que mapea la ruta interna del fichero a la ruta completa del mismo en el sistema de ficheros.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::buildFromIterator() con SplFileInfo

Para la mayoría de los archivos tar/zip, el archivo reflejará la distribución real de directorios, y el segundo estilo es el más útil. Por ejemplo, para crear un archivo phar que contenga los ficheros n esta distribución de muestra de directorios:

/ruta/al/proyecto/
                  config/
                         dist.xml
                         debug.xml
                  lib/
                      fichero1.php
                      fichero2.php
                  src/
                      procesa_algo.php
                  www/
                      index.php
                  cli/
                      index.php

Este código podría usarse para añadir estos ficheros al archivo phar "proyecto.phar":

<?php
// crear con el alias "proyecto.phar"
$phar = new Phar('proyecto.phar', 0, 'proyecto.phar');
$phar->buildFromIterator(
    new RecursiveIteratorIterator(
     new RecursiveDirectoryIterator('/ruta/al/proyecto')),
    '/ruta/al/proyecto');
$phar->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));
?>

El fichero proyecto.phar se puede usar inmediatamente. Phar::buildFromIterator() no establece valores como la compresión y metainformación, que se puede hacer después de crear el archivo phar.

Como observación interesante, Phar::buildFromIterator() también se puede usar para copiar el contenido de un archivo phar existente, ya que los objetos de la clase Phar descienden de la clase DirectoryIterator:

<?php
// crear con el alias "proyecto.phar"
$phar = new Phar('proyecto.phar', 0, 'proyecto.phar');
$phar->buildFromIterator(
    new RecursiveIteratorIterator(
     new Phar('/ruta/a/otro_phar.phar')),
    'phar:///ruta/a/otro_phar.phar/ruta/al/proyecto');
$phar->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));
?>

Ejemplo #2 Un ejemplo de Phar::buildFromIterator() con otros iteradores

La segunda forma de iterador se puede usar con cualquier iterador que devuelva un mapeo clave => valor, tal como un objeto de la clase ArrayIterator:

<?php
// crear con el alias "proyecto.phar"
$phar = new Phar('proyecto.phar', 0, 'proyecto.phar');
$phar->buildFromIterator(
    new ArrayIterator(
     array(
        'fichero/interno.php' => dirname(__FILE__) . '/algun_fichero.php',
        'otro/fichero.jpg' => fopen('/rota/a/archivo_grande.jpg', 'rb'),
     )));
$phar->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));
?>

Errores/Excepciones

Este método lanza una excepción de tipo UnexpectedValueException cuando el iterador devuelve valores incorrectos, tales como una clave de tipo integer en lugar de una cadena, una excepción de tipo BadMethodCallException cuando se pasa un iterador basado en SplFileInfo sin un parámetro base_directory, o una excepción de tipo PharException si hubo errores al guardar el archivo phar.

Ver también

  • Phar::buildFromDirectory() - Construir un archivo phar desde los ficheros de un directorio

Phar::buildFromDirectory
Phar::canCompress
Phar


Devuelve si la extensión phar soporta la compresión usando zlib o bzip2

Phar::buildFromIterator
Phar::canWrite
Phar
PHP Manual

Phar::canCompress

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::canCompress — Devuelve si la extensión phar soporta la compresión usando zlib o bzip2

Descripción

final public static bool Phar::canCompress ([ int $type = 0 ] )

Este método debería usarse para comprobar si es posible una compresicón antes de cargar un archivo phar que contiene ficheros comprimidos.

Parámetros

type

Se puede usar tanto Phar::GZ o Phar::BZ2 para comprobar si la compresión es posible con un algoritmo de compresión específico (zlib o bzip2).

Valores devueltos

TRUE si la compresión/descompresión está disponible, FALSE si no.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::canCompress()

<?php
if (Phar::canCompress()) {
    echo file_get_contents('phar://phar_comprimido.phar/fichero/interno.txt');
} else {
    echo 'La compresión no está disponible';
}
?>

Ver también

  • PharFileInfo::getCompressedSize() - Devolver el tamaño real de un fichero (con compresión) dentro de un archivo Phar
  • PharFileInfo::isCompressed() - Devolver si la entrada está comprimida
  • PharFileInfo::compress() - Comprimir la entrada del Phar actual con la compresión zlib o bzip2
  • PharFileInfo::decompress() - Descomprimir la entrada Phar actual dentro del phar
  • Phar::isCompressed() - Devuelve Phar::GZ oPHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.)
  • Phar::compressFiles() - Comprime todos los ficheros del archivo Phar actual
  • Phar::decompressFiles() - Descomprimir todos los ficheros del archivo Phar actual
  • Phar::getSupportedCompression() - Devolver un array de los algoritmos de compresión soportados
  • Phar::convertToExecutable() - Convertir un archivo phar en otro formato de archivo phar ejecutable
  • Phar::convertToData() - Convertir un archivo phar en un fichero tar o zip no ejecutable

Phar::buildFromIterator
Phar::canWrite
Phar


Devolver si la extensión phar soporta la escritura y creación de archivos phar

Phar::canCompress
Phar::compress
Phar
PHP Manual

Phar::canWrite

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::canWrite — Devolver si la extensión phar soporta la escritura y creación de archivos phar

Descripción

final public static bool Phar::canWrite ( void )

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.

Parámetros

Valores devueltos

TRUE si el acceso a escritura esta habilitado, FALSE si está deshabilitado.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::canWrite()

<?php
if (Phar::canWrite()) {
    file_put_contents('phar://miphar.phar/fichero.txt', 'hola, qué tal');
}
?>

Ver también

  • phar.readonly
  • Phar::isWritable() - Devolver si el archivo phar se puede modificar

Phar::canCompress
Phar::compress
Phar


Comprimir el archivo Phar entero usando la compresión Gzip o Bzip2

Phar::canWrite
Phar::compressAllFilesBZIP2
Phar
PHP Manual

Phar::compress

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::compress — Comprimir el archivo Phar entero usando la compresión Gzip o Bzip2

Descripción

public object Phar::compress ( int $compression [, string $extension ] )

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

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 .gz, .bz2 o eliminado la extensión si se pasa Phar::NONE para eliminar la compresión. De forma alternativa, se puede expecificar una extensión de fichero con el segundo parámetro.

Parámetros

compression

La compresión debe ser Phar::GZ o Phar::BZ2 para añadir compresión, o Phar::NONE para eliminarla.

extension

Por omisión, la extensión es .phar.gz o .phar.bz2 para comprimir archivos phar, y .phar.tar.gz o .phar.tar.bz2 para comprimir archivos tar. Para la descompresión, las extensiones de fichero predeterminadas son .phar y .phar.tar.

Valores devueltos

Devuelve un objeto de la clase Phar.

Errores/Excepciones

Lanza una excepción de tipo BadMethodCallException si la variable INI phar.readonly está activada, la extensión zlib no está disponible, o la extensión bzip2 no está habilitada.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::compress()

<?php
$p = new Phar('/ruta/a/mi.phar', 0, 'mi.phar');
$p['mifichero1.txt'] = 'hola';
$p['mifichero12.txt'] = 'hola';
$p1 = $p->compress(Phar::GZ); // copia a /ruta/a/mi.phar.gz
$p2 = $p->compress(Phar::BZ2); // copia a /ruta/a/mi.phar.bz2
$p3 = $p2->compress(Phar::NONE); // excepción: /ruta/a/mi.phar ya existe
?>

Ver también

  • PharFileInfo::getCompressedSize() - Devolver el tamaño real de un fichero (con compresión) dentro de un archivo Phar
  • PharFileInfo::isCompressed() - Devolver si la entrada está comprimida
  • PharFileInfo::compress() - Comprimir la entrada del Phar actual con la compresión zlib o bzip2
  • PharFileInfo::decompress() - Descomprimir la entrada Phar actual dentro del phar
  • PharData::compress() - Comprimir el archivo tar/zip entero usando la compresión Gzip o Bzip2
  • Phar::canCompress() - Devuelve si la extensión phar soporta la compresión usando zlib o bzip2
  • Phar::isCompressed() - Devuelve Phar::GZ oPHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.)
  • Phar::decompress() - Descomprimir un archivo Phar entero
  • Phar::getSupportedCompression() - Devolver un array de los algoritmos de compresión soportados
  • Phar::compressFiles() - Comprime todos los ficheros del archivo Phar actual
  • Phar::decompressFiles() - Descomprimir todos los ficheros del archivo Phar actual

Phar::canWrite
Phar::compressAllFilesBZIP2
Phar


Comprimir todos los ficheros del archivo Phar actual usando la compresión Bzip2

Phar::compress
Phar::compressAllFilesGZ
Phar
PHP Manual

Phar::compressAllFilesBZIP2

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::compressAllFilesBZIP2 — Comprimir todos los ficheros del archivo Phar actual usando la compresión Bzip2

Descripción

public bool Phar::compressAllFilesBZIP2 ( void )

Nota:

Este
método ha sido eliminado de la extensión Phar a partir de la versión 2.0.0. Implementaciones
alternativas están disponibles utilizando  Phar::compress(),
 Phar::decompress(),  Phar::compressFiles() y
 Phar::decompressFiles().

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

Este método comprime todos los ficheros del archivo phar usando la compresíon bzip2. La extensión bzip2 debe estar habilitada para aprovechar esta característica. Además, si cualqiuer fichero ya está comprimido con la compresión gzip, la extensión zlib debe estar habilitada para poder descomprimir los ficheros antes de re-comprimirlos 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.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza una excepción de tipo BadMethodCallException si la variable INI phar.readonly está activada, la extensión bzip2 no está disponible, o si cualquier fichero está comprimido usando la compresión gzip y la extensión zlib no está habilitada.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::compressAllFilesBZIP2()

<?php
$p = new Phar('/ruta/a/mi.phar', 0, 'mi.phar');
$p['mifichero.txt'] = 'hola';
$p['mifichero2.txt'] = 'hola';
foreach ($p as $fichero) {
    var_dump($fichero->getFileName());
    var_dump($fichero->isCompressed());
    var_dump($fichero->isCompressedBZIP2());
    var_dump($fichero->isCompressedGZ());
}
$p->compressAllFilesBZIP2();
foreach ($p as $fichero) {
    var_dump($fichero->getFileName());
    var_dump($fichero->isCompressed());
    var_dump($fichero->isCompressedBZIP2());
    var_dump($fichero->isCompressedGZ());
}
?>

El resultado del ejemplo sería:

string(13) "mifichero.txt"
bool(false)
bool(false)
bool(false)
string(14) "mifichero2.txt"
bool(false)
bool(false)
bool(false)
string(13) "mifichero.txt"
bool(true)
bool(true)
bool(false)
string(14) "mifichero2.txt"
bool(true)
bool(true)
bool(false)

Ver también

  • PharFileInfo::getCompressedSize() - Devolver el tamaño real de un fichero (con compresión) dentro de un archivo Phar
  • PharFileInfo::isCompressedBZIP2() - Devolver si la entrada está comprimida con bzip2
  • PharFileInfo::isCompressed() - Devolver si la entrada está comprimida
  • PharFileInfo::isCompressedGZ() - Devolver si la entrada está comprimida con gz
  • PharFileInfo::setCompressedBZIP2() - Comprimir la entrada actual de un Phar dentro del phar usando la compresión Bzip2
  • PharFileInfo::setUncompressed() - Descomprimir la entrada actual del Phar dentro del phar, si está comprimida
  • PharFileInfo::setCompressedGZ() - Comprimir la entrada actual de un Phar dentro del phar usando la compresión gz
  • Phar::canCompress() - Devuelve si la extensión phar soporta la compresión usando zlib o bzip2
  • Phar::isCompressed() - Devuelve Phar::GZ oPHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.)
  • Phar::compressAllFilesGZ() - Comprimir todos los ficheros del archivo Phar actual usando la compresión Gzip
  • Phar::getSupportedCompression() - Devolver un array de los algoritmos de compresión soportados
  • Phar::uncompressAllFiles() - Descomprimir todos los ficheros del archivo Phar actual

Phar::compress
Phar::compressAllFilesGZ
Phar


Comprimir todos los ficheros del archivo Phar actual usando la compresión Gzip

Phar::compressAllFilesBZIP2
Phar::compressFiles
Phar
PHP Manual

Phar::compressAllFilesGZ

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::compressAllFilesGZ — Comprimir todos los ficheros del archivo Phar actual usando la compresión Gzip

Descripción

public bool Phar::compressAllFilesGZ ( void )

Nota:

Este
método ha sido eliminado de la extensión Phar a partir de la versión 2.0.0. Implementaciones
alternativas están disponibles utilizando  Phar::compress(),
 Phar::decompress(),  Phar::compressFiles() y
 Phar::decompressFiles().

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

Para archivos phar basados en tar, este método comprime el archivo entero usando la compresión gzip. El fichero resultante se puede procesar con el comando gunzip, o se puede acceder a él directa y transparentemente con al extensión Phar.

Para archivos phar basados en Zip, este método comprime todos los ficheros del archivo Phar usando la compresión gzip. La extensión zlib debe estar habilitada para aprovechar esta característica. Además, si cualqiuer fichero ya está comprimido con la compresión bzip2, la extensión bzip2 debe estar habilitada para poder descomprimir los ficheros antes de re-comprimirlos con la compresión gzip. 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.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza una excepción de tipo BadMethodCallException si la variable INI phar.readonly está activada, la extensión zlib no está disponible, o si cualquier fichero está comprimido usando la compresión bzip2 y la extensión bzip2 no está habilitada.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::compressAllFilesGZ()

<?php
$p = new Phar('/ruta/a/mi.phar', 0, 'mi.phar');
$p['mifichero.txt'] = 'hola';
$p['mifichero2.txt'] = 'hola';
foreach ($p as $fichero) {
    var_dump($fichero->getFileName());
    var_dump($fichero->isCompressed());
    var_dump($fichero->isCompressedBZIP2());
    var_dump($fichero->isCompressedGZ());
}
$p->compressAllFilesGZ();
foreach ($p as $fichero) {
    var_dump($fichero->getFileName());
    var_dump($fichero->isCompressed());
    var_dump($fichero->isCompressedBZIP2());
    var_dump($fichero->isCompressedGZ());
}
?>

El resultado del ejemplo sería:

string(13) "mifichero.txt"
bool(false)
bool(false)
bool(false)
string(14) "mifichero2.txt"
bool(false)
bool(false)
bool(false)
string(13) "mifichero.txt"
bool(true)
bool(false)
bool(true)
string(14) "mifichero2.txt"
bool(true)
bool(false)
bool(true)

Ver también

  • PharFileInfo::getCompressedSize() - Devolver el tamaño real de un fichero (con compresión) dentro de un archivo Phar
  • PharFileInfo::isCompressedBZIP2() - Devolver si la entrada está comprimida con bzip2
  • PharFileInfo::isCompressed() - Devolver si la entrada está comprimida
  • PharFileInfo::isCompressedGZ() - Devolver si la entrada está comprimida con gz
  • PharFileInfo::setCompressedBZIP2() - Comprimir la entrada actual de un Phar dentro del phar usando la compresión Bzip2
  • PharFileInfo::setUncompressed() - Descomprimir la entrada actual del Phar dentro del phar, si está comprimida
  • PharFileInfo::setCompressedGZ() - Comprimir la entrada actual de un Phar dentro del phar usando la compresión gz
  • Phar::canCompress() - Devuelve si la extensión phar soporta la compresión usando zlib o bzip2
  • Phar::isCompressed() - Devuelve Phar::GZ oPHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.)
  • Phar::compressAllFilesBZIP2() - Comprimir todos los ficheros del archivo Phar actual usando la compresión Bzip2
  • Phar::getSupportedCompression() - Devolver un array de los algoritmos de compresión soportados
  • Phar::uncompressAllFiles() - Descomprimir todos los ficheros del archivo Phar actual

Phar::compressAllFilesBZIP2
Phar::compressFiles
Phar


Comprime todos los ficheros del archivo Phar actual

Phar::compressAllFilesGZ
Phar::__construct
Phar
PHP Manual

Phar::compressFiles

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::compressFiles — Comprime todos los ficheros del archivo Phar actual

Descripción

public void Phar::compressFiles ( int $compression )

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

Para archivos phar basados en tar, este método lanza una excepción de tipo BadMethodCallException, ya que la compresión de ficheros individuales dentro de un archivo tar no está soportada por el formato de fichero. Use Phar::compress() 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.

Parámetros

compression

La compresión debe ser Phar::GZ o Phar::BZ2 para añadir compresión, o Phar::NONE para eliminarla.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Lanza una excepción de tipo BadMethodCallException si la variable INI phar.readonly está activada, la extensión zlib no está disponible, o si cualquier fichero está comprimido con la compresión bzip2 y la extensión bzip2 no está habilitada.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::compressFiles()

<?php
$p = new Phar('/ruta/a/mi.phar', 0, 'mi.phar');
$p['mifichero.txt'] = 'hola';
$p['mifichero2.txt'] = 'hola';
foreach ($p as $fichero) {
    var_dump($fichero->getFileName());
    var_dump($fichero->isCompressed());
    var_dump($fichero->isCompressed(Phar::BZ2));
    var_dump($fichero->isCompressed(Phar::GZ));
}
$p->compressFiles(Phar::GZ);
foreach ($p as $fichero) {
    var_dump($fichero->getFileName());
    var_dump($fichero->isCompressed());
    var_dump($fichero->isCompressed(Phar::BZ2));
    var_dump($fichero->isCompressed(Phar::GZ));
}
?>

El resultado del ejemplo sería:

string(13) "mifichero.txt"
bool(false)
bool(false)
bool(false)
string(14) "mifichero2.txt"
bool(false)
bool(false)
bool(false)
string(13) "mifichero.txt"
int(4096)
bool(false)
bool(true)
string(14) "mifichero2.txt"
int(4096)
bool(false)
bool(true)

Ver también

  • PharFileInfo::getCompressedSize() - Devolver el tamaño real de un fichero (con compresión) dentro de un archivo Phar
  • PharFileInfo::isCompressed() - Devolver si la entrada está comprimida
  • PharFileInfo::compress() - Comprimir la entrada del Phar actual con la compresión zlib o bzip2
  • PharFileInfo::decompress() - Descomprimir la entrada Phar actual dentro del phar
  • Phar::canCompress() - Devuelve si la extensión phar soporta la compresión usando zlib o bzip2
  • Phar::isCompressed() - Devuelve Phar::GZ oPHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.)
  • Phar::decompressFiles() - Descomprimir todos los ficheros del archivo Phar actual
  • Phar::getSupportedCompression() - Devolver un array de los algoritmos de compresión soportados
  • Phar::compress() - Comprimir el archivo Phar entero usando la compresión Gzip o Bzip2
  • Phar::decompress() - Descomprimir un archivo Phar entero

Phar::compressAllFilesGZ
Phar::__construct
Phar


Construir un objeto de archivo Phar

Phar::compressFiles
Phar::convertToData
Phar
PHP Manual

Phar::__construct

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::__construct — Construir un objeto de archivo Phar

Descripción

public Phar::__construct ( string $fname [, int $flags [, string $alias ]] )

Parámetros

fname

Ruta a un archivo Phar existente o para ser creado La extensión del nombre del fichero debe contener .phar.

flags

Banderas a pasar a la clase padre RecursiveDirectoryIterator.

alias

Alias con el que referirse al archivo Phar en las llamadas a funcionalidades de flujos.

Errores/Excepciones

Lanza una excepción de tipo BadMethodCallException si se llama dos veces, o una excepción de tipo UnexpectedValueException si no se puede abrir el archivo phar.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::__construct()

<?php
try {
    $p = new Phar('/ruta/a/mi.phar', FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::KEY_AS_FILENAME,
                  'mi.phar');
} catch (UnexpectedValueException $e) {
    die('No se pudo abrir mi.phar');
} catch (BadMethodCallException $e) {
    echo 'Técnicamente esto no puede suceder';
}
// esto funciona ahora
echo file_get_contents('phar://mi.phar/ejemplo.txt');
// y funciona si hemos escrito
echo file_get_contents('phar:///ruta/a/mi.phar/ejemplo.txt');
?>

Phar::compressFiles
Phar::convertToData
Phar


Convertir un archivo phar en un fichero tar o zip no ejecutable

Phar::__construct
Phar::convertToExecutable
Phar
PHP Manual

Phar::convertToData

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::convertToData — Convertir un archivo phar en un fichero tar o zip no ejecutable

Descripción

public PharData Phar::convertToData ([ int $format = 9021976 [, int $compression = 9021976 [, string $extension ]]] )

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 BadMethodCallException 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 PharData. El archivo antiguo no se elimina del disco, y debería hacerse manualmente después de que el proceso haya finalizado.

Parámetros

format

Este parámetro debería ser Phar::TAR o Phar::ZIP. Si se establece a NULL, se conservará el formato de fichero existente.

compression

Este parámetro debería ser Phar::NONE para no comprimir el archivo completo, Phar::GZ para la compresión basada en zlib, y Phar::BZ2 para la compresión basada en bzip.

extension

Este parámetro se utiliza para sobrescribir la extensión de fichero predeterminada de un archivo convertido. Observe que .phar 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 .tar, .tar.gz, y .tar.bz2 dependiendo de la compresión especificada. Para archivos basados en zip, la extensión predetermianda es .zip.

Valores devueltos

El método devuelve un objeto PharData en caso de éxito, y lanza una excepción en caso de error.

Errores/Excepciones

Este método lanza una excepción de tipo BadMethodCallException cuando no se puede comprimir, se ha especificado un método de compresión desconocido, el archivo solicitado está almacenado en buffer con Phar::startBuffering() y no se ha cerrado con Phar::stopBuffering(), y una excepción de tipo PharException si se encontró algún problema durante el proceso de la creación de phar.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::convertToData()

Utilizar Phar::convertToData():

<?php
try {
    $tarphar = new Phar('miphar.phar.tar');
    // observe que miphar.phar.tar *no* está desvinculado.
    // convertirlo a un formato de fichero tar no ejecutable,
    // se crea miphar.tar
    $tar = $tarphar->convertToData();
    // convertirlo a un formato zip no ejecutable, se crea miphar.zip
    $zip = $tarphar->convertToData(Phar::ZIP);
    // crear miphar.tbz
    $tgz = $tarphar->convertToData(Phar::TAR, Phar::BZ2, '.tbz');
    // crear miphar.phar.tgz
    $phar = $tarphar->convertToData(Phar::PHAR); // lanza una excepción
} catch (Exception $e) {
    // manejar el error aquí
}
?>

Ver también

  • Phar::convertToExecutable() - Convertir un archivo phar en otro formato de archivo phar ejecutable
  • PharData::convertToExecutable() - Convertir un archivo tar/zip no ejecutable en un archivo phar ejecutable
  • PharData::convertToData() - Convertir un archivo phar en un fichero tar o zip no ejecutable

Phar::__construct
Phar::convertToExecutable
Phar


Convertir un archivo phar en otro formato de archivo phar ejecutable

Phar::convertToData
Phar::copy
Phar
PHP Manual

Phar::convertToExecutable

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::convertToExecutable — Convertir un archivo phar en otro formato de archivo phar ejecutable

Descripción

public Phar Phar::convertToExecutable ([ int $format = 9021976 [, int $compression = 9021976 [, string $extension ]]] )

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

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 BadMethodCallException

En caso de éxito, el metodo crea un nuevo archivo en disco y devuelve un objeto de la clase PharData. El archivo antiguo no se elimina del disco, y debería hacerse manualmente después de que el proceso haya finalizado.

Parámetros

format

Este parámetro debería ser Phar::PHAR, Phar::TAR, o Phar::ZIP. Si se establece a NULL, se conservará el formato de fichero existente.

compression

Este parámetro debería ser Phar::NONE para no comprimir el archivo completo, Phar::GZ para la compresión basada en zlib, y Phar::BZ2 para la compresión basada en bzip.

extension

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 .phar 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 .phar, .phar.gz, o .phar.bz2 dependiendo de la compresión especificada. Para archivos phar basados en tar, las extensiones predeterminadas son .phar.tar, .phar.tar.gz, y .phar.tar.bz2. Para archivos phar basados en zip, la estensión predeterminada es .phar.zip.

Valores devueltos

El método devuelve un objeto Phar en caso de éxito, y lanza una excepción en caso de error.

Errores/Excepciones

Este método lanza una excepción de tipo BadMethodCallException cuando no se puede comprimir, se ha especificado un método de compresión desconocido, el archivo solicitado está almacenado en buffer con Phar::startBuffering() y no se ha cerrado con Phar::stopBuffering(), una excepción de tipo UnexpectedValueException si el soporte para escritura está deshabilitado, y una excepción de tipo PharException si se encontró algún problema durante el proceso de la creación de phar.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::convertToExecutable()

Utilizar Phar::convertToExecutable():

<?php
try {
    $tarphar = new Phar('miphar.phar.tar');
    // convertirlo al formato de fichero phar
    // observe que miphar.phar.tar *no* está desvinculado
    $phar = $tarphar->convertToExecutable(Phar::PHAR); // crea miphar.phar
    $phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
    // crea miphar.phar.tgz
    $comprimido = $phar->convertToExecutable(Phar::TAR, Phar::GZ, '.phar.tgz');
} catch (Exception $e) {
    // manejar el error aquí
}
?>

Ver también

  • Phar::convertToData() - Convertir un archivo phar en un fichero tar o zip no ejecutable
  • PharData::convertToExecutable() - Convertir un archivo tar/zip no ejecutable en un archivo phar ejecutable
  • PharData::convertToData() - Convertir un archivo phar en un fichero tar o zip no ejecutable

Phar::convertToData
Phar::copy
Phar


Copiar un fichero interno de un archivo phar a otro fichero nuevo dentro del phar

Phar::convertToExecutable
Phar::count
Phar
PHP Manual

Phar::copy

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::copy — Copiar un fichero interno de un archivo phar a otro fichero nuevo dentro del phar

Descripción

public bool Phar::copy ( string $oldfile , string $newfile )

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

Copia un fichero interno de un archivo phar a otro fichero nuevo dentro del phar. Esta es una alternativa orientada a objetos para usar copy() con la envoltura de flujos phar.

Parámetros

oldfile

newfile

Valores devueltos

Devuelve TRUE 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.

Errores/Excepciones

Lanza una excepción de tipo UnexpectedValueException si el fichero origen no exite, el fichero destino ya existe, el acceso a escritura está deshabilitado, la apertura de cualquiera de los dos ficheros falla, la lectura del fichero fuente falla, o una excepción de tipo PharException si la escritura de los cambios del phar falla.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::copy()

Este ejemplo muestra el uso de Phar::copy() y su equivalente con envoltura de flujos. La principal diferencia entre los dos enfoques es el manejo de errores. Todos los métodos de Phar lanzan excepciones, mientras que la envoltura de flujos utiliza trigger_error().

<?php
try {
    $phar = new Phar('miphar.phar');
    $phar['a'] = 'hola';
    $phar->copy('a', 'b');
    echo $phar['b']; // imprime "hola"
} catch (Exception $e) {
    // manejar errores
}

// el equivalente con envoltura de flujos del código de arriba.
// Se dispara E_WARNINGS en caso de error en vez de excepciones.
copy('phar://miphar.phar/a', 'phar//miphar.phar/c');
echo file_get_contents('phar://miphar.phar/c'); // imprimie "hola"
?>

Phar::convertToExecutable
Phar::count
Phar


Devuelve el número de entradas (ficheros) en el archivo Phar

Phar::copy
Phar::createDefaultStub
Phar
PHP Manual

Phar::count

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::count — Devuelve el número de entradas (ficheros) en el archivo Phar

Descripción

public int Phar::count ( void )

Parámetros

Valores devueltos

El número de archivos que contiene Phar, o 0 (el número cero) si no contiene.

Ejemplos

Ejemplo #1 Phar::count() ejemplo

<?php
// asegurarse de que no existe
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
} catch (Exception $e) {
    echo 'No se pudo crear Phar:', $e;
}
echo 'El nuevo Phar tiene ' . $p->count() . " entradas\n";
$p['file.txt'] = 'hi';
echo 'El nuevo Phar tiene ' . $p->count() . " entradas\n";
?>

El resultado del ejemplo sería:

El nuevo Phar tiene 0 entradas
El nuevo Phar tiene 1 entradas

Phar::copy
Phar::createDefaultStub
Phar


Crear una rutina de interoperabilidad específica del formato de fichero phar

Phar::count
Phar::decompress
Phar
PHP Manual

Phar::createDefaultStub

(Unknown)

Phar::createDefaultStub — Crear una rutina de interoperabilidad específica del formato de fichero phar

Descripción

final public static string Phar::createDefaultStub ([ string $indexfile [, string $webindexfile ]] )

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 stub) escrita en PHP que se ejecuta cuando el archivo es ejecutado en el propio PHP mediante inclusión:

<?php
include 'miphar.phar';
?>
o por simple ejecución:
php miphar.phar

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 Phar::interceptFileFuncs() 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.

Valores devueltos

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.

Errores/Excepciones

Lanza una excepción de tipo UnexpectedValueException si cualquier parámetro es mayor de 400 bytes.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::createDefaultStub()

<?php
try {
    $phar = new Phar('miphar.phar');
    $phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
} catch (Exception $e) {
    // manejar errores
}
?>

Ver también

  • Phar::setStub() - Establecer el cargador de PHP o la rutina de interoperabilidad de un archivo Phar
  • Phar::getStub() - Devolver el cargador de PHP o la rutina de interoperabilidad de un archivo Phar

Phar::count
Phar::decompress
Phar


Descomprimir un archivo Phar entero

Phar::createDefaultStub
Phar::decompressFiles
Phar
PHP Manual

Phar::decompress

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::decompress — Descomprimir un archivo Phar entero

Descripción

public object Phar::decompress ([ string $extension ] )

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

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, .phar por omisión para archivos phar, o .phar.tar para archivos phar basados en tar. De forma alternativa, se puede expecificar una extensión de fichero con el segundo parámetro.

Parámetros

extension

Para la descompresión, las extensiones de fichero predeterminadas son .phar y .phar.tar. Use este parámetro para especificar otra extensión de fichero. Observe que todos los archivos phar ejecutables deben contener .phar en su nombre de fichero.

Valores devueltos

Devuelve un objeto de la clase Phar.

Errores/Excepciones

Lanza una excepción de tipo BadMethodCallException si la variable INI phar.readonly está activada, la extensión zlib no está disponible, o la extensión bzip2 no está habilitada.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::decompress()

<?php
$p = new Phar('/ruta/a/mi.phar', 0, 'mi.phar.gz');
$p['mifichero1.txt'] = 'hola';
$p['mifichero12.txt'] = 'hola';
$p3 = $p2->decompress(); // crea /ruta/a/mi.phar
?>

Ver también

  • PharFileInfo::getCompressedSize() - Devolver el tamaño real de un fichero (con compresión) dentro de un archivo Phar
  • PharFileInfo::isCompressed() - Devolver si la entrada está comprimida
  • PharFileInfo::compress() - Comprimir la entrada del Phar actual con la compresión zlib o bzip2
  • PharFileInfo::decompress() - Descomprimir la entrada Phar actual dentro del phar
  • PharData::compress() - Comprimir el archivo tar/zip entero usando la compresión Gzip o Bzip2
  • Phar::canCompress() - Devuelve si la extensión phar soporta la compresión usando zlib o bzip2
  • Phar::isCompressed() - Devuelve Phar::GZ oPHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.)
  • Phar::compress() - Comprimir el archivo Phar entero usando la compresión Gzip o Bzip2
  • Phar::getSupportedCompression() - Devolver un array de los algoritmos de compresión soportados
  • Phar::compressFiles() - Comprime todos los ficheros del archivo Phar actual
  • Phar::decompressFiles() - Descomprimir todos los ficheros del archivo Phar actual

Phar::createDefaultStub
Phar::decompressFiles
Phar


Descomprimir todos los ficheros del archivo Phar actual

Phar::decompress
Phar::delMetadata
Phar
PHP Manual

Phar::decompressFiles

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::decompressFiles — Descomprimir todos los ficheros del archivo Phar actual

Descripción

public bool Phar::decompressFiles ( void )

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

Para archivos phar basados en tar, este método lanza una excepción de tipo BadMethodCallException, ya que la compresión de ficheros individuales dentro de un archivo tar no está soportada por el formato de fichero. Use Phar::compress() 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.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza una excepción de tipo BadMethodCallException si la variable INI phar.readonly está activada, la extensión zlib no está disponible, o si cualquier fichero está comprimido con la compresión bzip2 y la extensión bzip2 no está habilitada.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::decompressFiles()

<?php
$p = new Phar('/ruta/a/mi.phar', 0, 'mi.phar');
$p['mifichero.txt'] = 'hola';
$p['mifichero2.txt'] = 'hola';
$p->compressFiles(Phar::GZ);
foreach ($p as $fichero) {
    var_dump($fichero->getFileName());
    var_dump($fichero->isCompressed());
    var_dump($fichero->isCompressed(Phar::BZ2));
    var_dump($fichero->isCompressed(Phar::GZ));
}
$p->decompressFiles();
foreach ($p as $fichero) {
    var_dump($fichero->getFileName());
    var_dump($fichero->isCompressed());
    var_dump($fichero->isCompressed(Phar::BZ2));
    var_dump($fichero->isCompressed(Phar::GZ));
}
?>

El resultado del ejemplo sería:

string(13) "mifichero.txt"
int(4096)
bool(false)
bool(true)
string(14) "mifichero2.txt"
int(4096)
bool(false)
bool(true)
string(13) "mifichero.txt"
bool(false)
bool(false)
bool(false)
string(14) "mifichero2.txt"
bool(false)
bool(false)
bool(false)

Ver también

  • PharFileInfo::getCompressedSize() - Devolver el tamaño real de un fichero (con compresión) dentro de un archivo Phar
  • PharFileInfo::isCompressed() - Devolver si la entrada está comprimida
  • PharFileInfo::compress() - Comprimir la entrada del Phar actual con la compresión zlib o bzip2
  • PharFileInfo::decompress() - Descomprimir la entrada Phar actual dentro del phar
  • Phar::canCompress() - Devuelve si la extensión phar soporta la compresión usando zlib o bzip2
  • Phar::isCompressed() - Devuelve Phar::GZ oPHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.)
  • Phar::compressFiles() - Comprime todos los ficheros del archivo Phar actual
  • Phar::getSupportedCompression() - Devolver un array de los algoritmos de compresión soportados
  • Phar::compress() - Comprimir el archivo Phar entero usando la compresión Gzip o Bzip2
  • Phar::decompress() - Descomprimir un archivo Phar entero

Phar::decompress
Phar::delMetadata
Phar


Eliminar la metainformación global del phar

Phar::decompressFiles
Phar::delete
Phar
PHP Manual

Phar::delMetadata

(PHP >= 5.3.0, PECL phar >= 1.2.0)

Phar::delMetadata — Eliminar la metainformación global del phar

Descripción

public bool Phar::delMetadata ( void )

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

Elimina la metainformación global del phar

Parámetros

Valores devueltos

Devuelve TRUE en caso de éxito, pero es mejor comprobar si lanza alguna excepción, y asumir el éxito si no se lanza ninguna.

Errores/Excepciones

Lanza una excepción de tipo PharException si ocurrió algún error al volcar los cambios al disco.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::delMetaData()

<?php
try {
    $phar = new Phar('miphar.phar');
    var_dump($phar->getMetadata());
    $phar->setMetadata("hola, qué tal");
    var_dump($phar->getMetadata());
    $phar->delMetadata();
    var_dump($phar->getMetadata());
} catch (Exception $e) {
    // manejar errores
}
?>

El resultado del ejemplo sería:

NULL
string(14) "hola, qué tal"
NULL

Ver también

  • Phar::getMetadata() - Devolver la metainformación de un archivo phar
  • Phar::setMetadata() - Establecer la metainformación de un archivo phar
  • Phar::hasMetadata() - Devolver si el phar tiene metainformación global

Phar::decompressFiles
Phar::delete
Phar


Borrar un fichero dentro de un archivo phar

Phar::delMetadata
Phar::extractTo
Phar
PHP Manual

Phar::delete

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::delete — Borrar un fichero dentro de un archivo phar

Descripción

public bool Phar::delete ( string $entry )

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

Borra un fichero dentro de un archivo. Esto es el equivalente funcional de llamar a unlink() en el equivalente de envoltura de flujos, tal como se muestra en el ejemplo de abajo.

Parámetros

entry

La ruta dentro de un archivo para borrar el fichero.

Valores devueltos

Devuelve TRUE en caso de éxito, pero es mejor comprobar si lanza alguna excepción, y asumir el éxito si no se lanza ninguna.

Errores/Excepciones

Lanza una excepción de tipo PharException si se produjo algún error al volcar los cambios al disco.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::delete()

<?php
try {
    $phar = new Phar('miphar.phar');
    $phar->delete('desvincular/yo.php');
    // esto es equivalente a:
    unlink('phar://miphar.phar/desvincular/yo.php');
} catch (Exception $e) {
    // manejar errores
}
?>

Ver también

  • PharData::delete() - Borrar un fichero dentro de un archivo tar/zip
  • Phar::unlinkArchive() - Elimiar completamente un archivo phar del disco y de la memoria

Phar::delMetadata
Phar::extractTo
Phar


Extraer el contenido de un archivo phar a un directorio

Phar::delete
Phar::getMetadata
Phar
PHP Manual

Phar::extractTo

(Unknown)

Phar::extractTo — Extraer el contenido de un archivo phar a un directorio

Descripción

public bool Phar::extractTo ( string $pathto [, string|array $files [, bool $overwrite = false ]] )

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

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 files 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 ZipArchive::extractTo().

Parámetros

pathto

Ruta dentro de un archivo al fichero a borrar.

files

El nombre de un fichero o directorio a extraer, o un array de ficheros/directorios a extraer.

overwrite

Esteblecer a TRUE para habilitar la sobrescritura de ficheros existentes

Valores devueltos

Devuelve TRUE en caso de éxito, pero es mejor comprobar si lanza alguna excepción, y asumir el éxito si no se lanza ninguna.

Errores/Excepciones

Lanza una excepción de tipo PharException si ocurrió algún error al volcar los cambios al disco.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::extractTo()

<?php
try {
    $phar = new Phar('miphar.phar');
    $phar->extractTo('/ruta/completa'); // extraer todos los ficheros
    $phar->extractTo('/otra/ruta', 'fichero.txt'); // extraer solamente fichero.txt
    $phar->extractTo('/esta/ruta',
        array('fichero1.txt', 'fichero2.txt')); // extraer solamente 2 ficheros
    $phar->extractTo('/tercera/ruta', null, true); // extraer todos los ficheros y sobrescribirlos
} catch (Exception $e) {
    // manejar errores
}
?>

Ver también

  • PharData::extractTo() - Extraer el contenido de un archivo tar/zip a un directorio

Phar::delete
Phar::getMetadata
Phar


Devolver la metainformación de un archivo phar

Phar::extractTo
Phar::getModified
Phar
PHP Manual

Phar::getMetadata

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::getMetadata — Devolver la metainformación de un archivo phar

Descripción

public mixed Phar::getMetadata ( void )

Recupera la información de un archivo. La metainformación puede ser cualquier variable de PHP que pueda ser serializada.

Parámetros

No tiene parámetros.

Valores devueltos

Cualquier variable de PHP que pueda ser serializada y almacenada como metainformación del archivo Phar, o NULL si no hay metainformación almacenada.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::getMetadata()

<?php
// asegurarse de que no existe
@unlink('nuevo_phar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/nuevo_phar.phar', 0, 'nuevo_phar.phar');
    $p['fichero.php'] = '<?php echo "hola";';
    $p->setMetadata(array('bootstrap' => 'fichero.php'));
    var_dump($p->getMetadata());
} catch (Exception $e) {
    echo 'No se pudo crear y/o modificar el phar:', $e;
}
?>

El resultado del ejemplo sería:

array(1) {
  ["bootstrap"]=>
  string(11) "fichero.php"
}

Ver también

  • Phar::setMetadata() - Establecer la metainformación de un archivo phar
  • Phar::delMetadata() - Eliminar la metainformación global del phar
  • Phar::hasMetadata() - Devolver si el phar tiene metainformación global

Phar::extractTo
Phar::getModified
Phar


Devolver si el phar fue modificado

Phar::getMetadata
Phar::getSignature
Phar
PHP Manual

Phar::getModified

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::getModified — Devolver si el phar fue modificado

Descripción

public bool Phar::getModified ( void )

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.

Parámetros

No tiene parámetros.

Valores devueltos

TRUE si el phar ha sido modificado desde su apertura, FALSE si no.

Phar::getMetadata
Phar::getSignature
Phar


Devolver la firma MD5/SHA1/SHA256/SHA512/OpenSSL de un archivo Phar

Phar::getModified
Phar::getStub
Phar
PHP Manual

Phar::getSignature

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::getSignature — Devolver la firma MD5/SHA1/SHA256/SHA512/OpenSSL de un archivo Phar

Descripción

public array Phar::getSignature ( void )

Devuelve la firma de verificación de un archivo phar en una cadena hexadecimal.

Parámetros

Valores devueltos

Un array con las firmas del archivo abierto en la clave hash, y MD5, SHA-1, SHA-256, SHA-512, o OpenSSL en la clave hash_type. 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.

Phar::getModified
Phar::getStub
Phar


Devolver el cargador de PHP o la rutina de interoperabilidad de un archivo Phar

Phar::getSignature
Phar::getSupportedCompression
Phar
PHP Manual

Phar::getStub

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::getStub — Devolver el cargador de PHP o la rutina de interoperabilidad de un archivo Phar

Descripción

public string Phar::getStub ( void )

Los archivos Phar contienen una rutina de interoperabilidad cargadora (en inglés stub) escrita en PHP que se ejecuta cuando el archivo es ejecutado en el propio PHP mediante inclusión:

<?php
include 'myphar.phar';
?>
o por simple ejecución:
php myphar.phar

Valores devueltos

Devuelve una cadena que contiene la rutina de interoperabilidad cargadora (stub) del archivo Phar actual.

Errores/Excepciones

Lanza una excepción de tipo RuntimeException si no es posible leer la rutina de interoperabilidad del archivo Phar.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::getStub()

<?php
$p = new Phar('/ruta/a/mi.phar', 0, 'mi.phar');
echo $p->getStub();
echo "==NEXT==\n";
$p->setStub("<?php
function __autoload($clase)
{
    include 'phar://' . str_replace('_', '/', $clase);
}
Phar::mapPhar('miphar.phar');
include 'phar://miphar.phar/arrancar.php';
__HALT_COMPILER(); ?>");
echo $p->getStub();
?>

El resultado del ejemplo sería:

<?php __HALT_COMPILER(); ?>
==NEXT==
<?php
function __autoload($clase)
{
    include 'phar://' . str_replace('_', '/', $clase);
}
Phar::mapPhar('miphar.phar');
include 'phar://miphar.phar/arrancar.php';
__HALT_COMPILER(); ?>

Ver también

  • Phar::setStub() - Establecer el cargador de PHP o la rutina de interoperabilidad de un archivo Phar
  • Phar::createDefaultStub() - Crear una rutina de interoperabilidad específica del formato de fichero phar

Phar::getSignature
Phar::getSupportedCompression
Phar


Devolver un array de los algoritmos de compresión soportados

Phar::getStub
Phar::getSupportedSignatures
Phar
PHP Manual

Phar::getSupportedCompression

(PHP >= 5.3.0, PECL phar >= 1.2.0)

Phar::getSupportedCompression — Devolver un array de los algoritmos de compresión soportados

Descripción

final public static array Phar::getSupportedCompression ( void )

Parámetros

No tiene parámetros.

Valores devueltos

Devuelve un array que contiene Phar::GZ o Phar::BZ2, dependiendo de la disponibilidad de la extensión zlib o de la extensión bz2.

Ver también

  • PharFileInfo::getCompressedSize() - Devolver el tamaño real de un fichero (con compresión) dentro de un archivo Phar
  • PharFileInfo::isCompressed() - Devolver si la entrada está comprimida
  • PharFileInfo::compress() - Comprimir la entrada del Phar actual con la compresión zlib o bzip2
  • PharFileInfo::decompress() - Descomprimir la entrada Phar actual dentro del phar
  • Phar::compress() - Comprimir el archivo Phar entero usando la compresión Gzip o Bzip2
  • Phar::decompress() - Descomprimir un archivo Phar entero
  • Phar::canCompress() - Devuelve si la extensión phar soporta la compresión usando zlib o bzip2
  • Phar::isCompressed() - Devuelve Phar::GZ oPHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.)
  • Phar::compressFiles() - Comprime todos los ficheros del archivo Phar actual
  • Phar::decompressFiles() - Descomprimir todos los ficheros del archivo Phar actual

Phar::getStub
Phar::getSupportedSignatures
Phar


Devolver un array con los tipos de firmas soportados

Phar::getSupportedCompression
Phar::getVersion
Phar
PHP Manual

Phar::getSupportedSignatures

(PHP >= 5.3.0, PECL phar >= 1.1.0)

Phar::getSupportedSignatures — Devolver un array con los tipos de firmas soportados

Descripción

final public static array Phar::getSupportedSignatures ( void )

Devuelve un array con los tipos de firmas soportados

Parámetros

No tiene parámetros.

Valores devueltos

Devuelve un array que contiene cualquiera de las firmas MD5, SHA-1, SHA-256, SHA-512, o OpenSSL.

Ver también

  • Phar::getSignature() - Devolver la firma MD5/SHA1/SHA256/SHA512/OpenSSL de un archivo Phar
  • Phar::setSignatureAlgorithm() - Establecer el algoritmo de firma para un phar y aplicarlo

Phar::getSupportedCompression
Phar::getVersion
Phar


Devolver información de la versión del archivo Phar

Phar::getSupportedSignatures
Phar::hasMetadata
Phar
PHP Manual

Phar::getVersion

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::getVersion — Devolver información de la versión del archivo Phar

Descripción

public string Phar::getVersion ( void )

Devuelve la versión de la API de un archvo Phar abierto.

Parámetros

Valores devueltos

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.

Ver también

  • Phar::apiVersion() - Devolver la versión de la API

Phar::getSupportedSignatures
Phar::hasMetadata
Phar


Devolver si el phar tiene metainformación global

Phar::getVersion
Phar::interceptFileFuncs
Phar
PHP Manual

Phar::hasMetadata

(PHP >= 5.3.0, PECL phar >= 1.2.0)

Phar::hasMetadata — Devolver si el phar tiene metainformación global

Descripción

public bool Phar::hasMetadata ( void )

Devuelve si el phar tiene metainformación global establecida.

Parámetros

No tiene parámetros.

Valores devueltos

Devuelve TRUE si la metainformación ha sido establecida, y FALSE si no.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::hasMetadata()

<?php
try {
    $phar = new Phar('miphar.phar');
    var_dump($phar->hasMetadata());
    $phar->setMetadata(array('cosa' => 'hola'));
    var_dump($phar->hasMetadata());
    $phar->delMetadata();
    var_dump($phar->hasMetadata());
} catch (Exception $e) {
    // manejar errores
}
?>

El resultado del ejemplo sería:

bool(false)
bool(true)
bool(false)

Ver también

  • Phar::getMetadata() - Devolver la metainformación de un archivo phar
  • Phar::setMetadata() - Establecer la metainformación de un archivo phar
  • Phar::delMetadata() - Eliminar la metainformación global del phar

Phar::getVersion
Phar::interceptFileFuncs
Phar


Ordenar a phar interceptar fopen, file_get_contents, opendir, y todas las funciones relacionadas con estadísticas

Phar::hasMetadata
Phar::isBuffering
Phar
PHP Manual

Phar::interceptFileFuncs

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::interceptFileFuncs — Ordenar a phar interceptar fopen, file_get_contents, opendir, y todas las funciones relacionadas con estadísticas

Descripción

final public static void Phar::interceptFileFuncs ( void )

Ordena a phar interceptar fopen(), readfile(), file_get_contents(), opendir(), 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.

Parámetros

No tiene parámetros.

Valores devueltos

Ejemplos

Ejemplo #1 Un ejemplo de Phar::interceptFileFuncs()

<?php
Phar::interceptFileFuncs();
include 'phar://' . __FILE__ . '/fichero.php';
?>

Se asume que este phar está en /ruta/a/miphar.phar y que contiene fichero.php y fichero2.txt, si fichero.php contiene este código:

Ejemplo #2 Un ejemplo de Phar::interceptFileFuncs()

<?php
echo file_get_contents('fichero2.txt');
?>

Normalmente, PHP buscará fichero2.txt en el directorio actual, que traducirá como el directorio del fichero.php, o el direcotorio actual de un usuario de la línea de comandos. En el código del ejemplo anterior, Phar::interceptFileFuncs() ordena a PHP que considere el directorio actual como phar:///ruta/a/miphar.phar/ y por lo tanto abra phar:///ruta/a/miphar.phar/fichero2.txt.

Phar::hasMetadata
Phar::isBuffering
Phar


Determinar si las operaciones de escritura de Phar está siendo almacenadas en buffer, o están siendo volcadas directamente al disco

Phar::interceptFileFuncs
Phar::isCompressed
Phar
PHP Manual

Phar::isBuffering

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::isBuffering — Determinar si las operaciones de escritura de Phar está siendo almacenadas en buffer, o están siendo volcadas directamente al disco

Descripción

public bool Phar::isBuffering ( void )

Este método se puede usar para determinar si un Phar guardará los cambios al disco inmediatamente, o si se necesita una llamada Phar::stopBuffering() para habilitar el guardado de los cambios.

La escritura en buffer de Phar es por archivo, el almacenamiento activo en buffer del archivo Phar foo.phar no afecta a los cambios hechos al archivo Phar bar.phar.

Valores devueltos

Devuelve TRUE si las operaciones de escritura están siendo almacenadas en buffer, FALSE si no.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::isBuffering()

<?php
$p = new Phar(dirname(__FILE__) . '/nuevo_phar.phar', 0, 'nuevo_phar.phar');
$p2 = new Phar('phar_existente.phar');
$p['fichero1.txt'] = 'hola';
var_dump($p->isBuffering());
var_dump($p2->isBuffering());
?>
=2=
<?php
$p->startBuffering();
var_dump($p->isBuffering());
var_dump($p2->isBuffering());
$p->stopBuffering();
?>
=3=
<?php
var_dump($p->isBuffering());
var_dump($p2->isBuffering());
?>

El resultado del ejemplo sería:

bool(false)
bool(false)
=2=
bool(true)
bool(false)
=3=
bool(false)
bool(false)

Ver también

  • Phar::startBuffering() - Iniciar las operaciones de escritura en buffer de Phar, no modifica el objeto Phar del disco
  • Phar::stopBuffering() - Detener las peticiones de escritura en buffer del archivo Phar, y guardar los cambios en disco

Phar::interceptFileFuncs
Phar::isCompressed
Phar


Devuelve Phar::GZ oPHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.)

Phar::isBuffering
Phar::isFileFormat
Phar
PHP Manual

Phar::isCompressed

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::isCompressed — Devuelve Phar::GZ oPHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.)

Descripción

public mixed Phar::isCompressed ( void )

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

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 FALSE si se requiere un archivo phar basado en zip.

Parámetros

No tiene parámetros.

Valores devueltos

Phar::GZ, Phar::BZ2 o FALSE

Ejemplos

Ejemplo #1 Un ejemplo de Phar::isCompressed()

<?php
try {
    $phar1 = new Phar('miphar.zip.phar');
    var_dump($phar1->isCompressed());
    $phar2 = new Phar('sin_comprimir.tar.phar');
    var_dump($phar2->isCompressed());
    $phar2->compressAllFilesGZ();
    var_dump($phar2->isCompressed() == Phar::GZ);
} catch (Exception $e) {
}
?>

El resultado del ejemplo sería:

bool(false)
bool(false)
bool(true)

Ver también

  • PharFileInfo::getCompressedSize() - Devolver el tamaño real de un fichero (con compresión) dentro de un archivo Phar
  • PharFileInfo::isCompressed() - Devolver si la entrada está comprimida
  • PharFileInfo::decompress() - Descomprimir la entrada Phar actual dentro del phar
  • PharFileInfo::compress() - Comprimir la entrada del Phar actual con la compresión zlib o bzip2
  • Phar::decompress() - Descomprimir un archivo Phar entero
  • Phar::compress() - Comprimir el archivo Phar entero usando la compresión Gzip o Bzip2
  • Phar::canCompress() - Devuelve si la extensión phar soporta la compresión usando zlib o bzip2
  • Phar::compressFiles() - Comprime todos los ficheros del archivo Phar actual
  • Phar::decompressFiles() - Descomprimir todos los ficheros del archivo Phar actual
  • Phar::getSupportedCompression() - Devolver un array de los algoritmos de compresión soportados

Phar::isBuffering
Phar::isFileFormat
Phar


Devolver true si el archivo phar está basado en el formato de fichero tar/phar/zip dependiendo del parámetro

Phar::isCompressed
Phar::isValidPharFilename
Phar
PHP Manual

Phar::isFileFormat

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::isFileFormat — Devolver true si el archivo phar está basado en el formato de fichero tar/phar/zip dependiendo del parámetro

Descripción

public bool Phar::isFileFormat ( int $format )

Parámetros

format

Phar::PHAR, Phar::TAR, o Phar::ZIP para comprobar el formato del archivo.

Valores devueltos

Devuelve TRUE si el archivo phar coincide con el formato de fichero solicitado por el parámetro

Errores/Excepciones

Se lanza una excepción de tipo PharException si el parámetro es un especificador de formato de fichero desconocido.

Ver también

  • Phar::convertToExecutable() - Convertir un archivo phar en otro formato de archivo phar ejecutable
  • Phar::convertToData() - Convertir un archivo phar en un fichero tar o zip no ejecutable

Phar::isCompressed
Phar::isValidPharFilename
Phar


Devolver si el nombre de fichero dado es un nombre de fichero phar válido

Phar::isFileFormat
Phar::isWritable
Phar
PHP Manual

Phar::isValidPharFilename

(PHP >= 5.3.0, PECL phar >= 1.2.0)

Phar::isValidPharFilename — Devolver si el nombre de fichero dado es un nombre de fichero phar válido

Descripción

final public static bool Phar::isValidPharFilename ( string $filename [, bool $executable = true ] )

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.

Parámetros

filename

El nombre o la ruta completa al archivo phar aún no creado

executable

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

Valores devueltos

Devuelve TRUE si el nombre de fichero es válido, FALSE si no.

Phar::isFileFormat
Phar::isWritable
Phar


Devolver si el archivo phar se puede modificar

Phar::isValidPharFilename
Phar::loadPhar
Phar
PHP Manual

Phar::isWritable

(Unknown)

Phar::isWritable — Devolver si el archivo phar se puede modificar

Descripción

public bool Phar::isWritable ( void )

Este método devuelve TRUE si phar.readonly es 0, y el archivo phar real del disco no es de sólo lectura.

Parámetros

No tiene parámetros.

Valores devueltos

Devuelve TRUE si el archivo phar puede ser modificado

Ver también

  • Phar::canWrite() - Devolver si la extensión phar soporta la escritura y creación de archivos phar
  • PharData::isWritable() - Devolver si el archivo tar/zip se puede modificar

Phar::isValidPharFilename
Phar::loadPhar
Phar


Cargar cualquier archivo phar con un alias

Phar::isWritable
Phar::mapPhar
Phar
PHP Manual

Phar::loadPhar

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::loadPhar — Cargar cualquier archivo phar con un alias

Descripción

final public static bool Phar::loadPhar ( string $filename [, string $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.

Parámetros

filename

La ruta completa o relativa al archivo phar a abrir

alias

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 PharException será lanzada si en este caso se especifica un nuevo alias.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza una excepción de tipo PharException si se pasa un alias y en archivo phat ya tiene uno explícito

Ejemplos

Ejemplo #1 Un ejemplo de Phar::loadPhar()

Phar::loadPhar puede usarse en cualquier lugar para cargar un archivo Phar externo, mientras que Phar::mapPhar debería usarse en una rutina de interoperabilidad cargadora para un Phar.

<?php
try {
    Phar::loadPhar('/ruta/a/phar.phar', 'mi.phar');
    echo file_get_contents('phar://mi.phar/fichero.txt');
} catch (PharException $e) {
    echo $e;
}
?>

Ver también

  • Phar::mapPhar() - Leer el fichero (un phar) que está en ejecución y registrar su manifiesto

Phar::isWritable
Phar::mapPhar
Phar


Leer el fichero (un phar) que está en ejecución y registrar su manifiesto

Phar::loadPhar
Phar::mount
Phar
PHP Manual

Phar::mapPhar

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::mapPhar — Leer el fichero (un phar) que está en ejecución y registrar su manifiesto

Descripción

final public static bool Phar::mapPhar ([ string $alias [, int $dataoffset = 0 ]] )

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.

Parámetros

alias

El alias que puede usarse en las URL phar:// para referirse a este archivo, en vez de su ruta completa.

dataoffset

Variable sin uso, está aquí por compatibilidad con los PHP_Archive de PEAR.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Se lanza una excepción de tipo PharException si no se llama directamente dentro de la ejecución de PHP, si no se encuentra el token __HALT_COMPILER(); en el fichero fuente actual, o si el fichero no se puede abrir para lectura.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::mapPhar()

mapPhar debería usarse dentro de una rutina de interoperabilidad cargadora de phar. Utilice loadPhar para cargar un phar externo en memoria.

Aquí está una rutina de interoperabilidad de Phar de muestra que usa mapPhar.

<?php
function __autoload($clase)
{
    include 'phar://mi.phar/' . str_replace('_', '/', $clase) . '.php';
}
try {
    Phar::mapPhar('mi.phar');
    include 'phar://mi.phar/inicio.php';
} catch (PharException $e) {
    echo $e->getMessage();
    die('No se puede inicializar el Phar');
}
__HALT_COMPILER();

Ver también

  • Phar::loadPhar() - Cargar cualquier archivo phar con un alias

Phar::loadPhar
Phar::mount
Phar


Montar un fichero o ruta externos en una ubicación virtual dentro de un archivo phar

Phar::mapPhar
Phar::mungServer
Phar
PHP Manual

Phar::mount

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::mount — Montar un fichero o ruta externos en una ubicación virtual dentro de un archivo phar

Descripción

final public static void Phar::mount ( string $pharpath , string $externalpath )

Al igual que con el concepto del sistema de ficheros de Unix de montar dispositivos externos en rutas dentro del árbol de directorios, Phar::mount() 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.

Parámetros

pharpath

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.

externalpath

Una ruta o un URL a un fichero o directorio externo a montar dentro del archivo phar.

Valores devueltos

No devuelve nada. Lanza una excepción de tipo PharException en caso de fallo.

Errores/Excepciones

Lanza una excepción de tipo PharException si ocurrió algún problema al montar la ruta.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::mount()

El siguiente ejemplo muestra el acceso a un fichero de configuración externo como si fuera una ruta dentro de un archivo phar.

Lo primero, el código dentro de un archivo phar:

<?php
$configuración = simplexml_load_string(file_get_contents(
    Phar::running(false) . '/config.xml'));
?>

Lo siguiente, el código externo utilizado para montar el fichero de configuración:

<?php
// primero se establece la asociación entre el config.xml abstracto
// y el real del disco
Phar::mount('phar://config.xml', '/home/example/config.xml');
// ahora ejecutar la aplicación
include '/ruta/a/archivo.phar';
?>

Otro método es poner el codigo de montaje dentro de la rutina de interoperabilidad del archivo phar. Aquí está un ejemplo de establecer un fichero de configuración predeterminado si no se especifica una configuración de usuario:

<?php
// primero se establece la asociación entre el config.xml abstracto
// y el real del disco
if (defined('EXTERNAL_CONFIG')) {
    Phar::mount('config.xml', EXTERNAL_CONFIG);
    if (file_exists(__DIR__ . '/extra_config.xml')) {
        Phar::mount('extra.xml', __DIR__ . '/extra_config.xml');
    }
} else {
    Phar::mount('config.xml', 'phar://' . __FILE__ . '/default_config.xml');
    Phar::mount('extra.xml', 'phar://' . __FILE__ . '/default_extra.xml');
}
// ahora ejecutar la aplicación
include 'phar://' . __FILE__ . '/index.php';
__HALT_COMPILER();
?>

...y el código externo para cargar este archivo phar:

<?php
define('EXTERNAL_CONFIG', '/inicio/ejemplo/config.xml');
// ahora ejecutar la aplicación
include '/ruta/a/archivo.phar';
?>

Phar::mapPhar
Phar::mungServer
Phar


Definir una lista de hasta 4 variables $_SERVER que debería ser modificadas para la ejecución

Phar::mount
Phar::offsetExists
Phar
PHP Manual

Phar::mungServer

(Unknown)

Phar::mungServer — Definir una lista de hasta 4 variables $_SERVER que debería ser modificadas para la ejecución

Descripción

final public static void Phar::mungServer ( array $munglist )

Phar::mungServer() 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 REQUEST_URI, PHP_SELF, SCRIPT_NAME y SCRIPT_FILENAME.

Por sí solo, este método no hace nada. Solamente al combinarlo con Phar::webPhar() hace que tenga efecto, y sólo cuando el fichero solicitado es un fichero de PHP a ser procesado. Observe que las variables PATH_INFO y PATH_TRANSLATED son siempre modificadas.

Los valores originales de las variables que son modificadas son almacenados en el array SERVER con el prefijo PHAR_, así por ejemplo SCRIPT_NAME sería guardado como PHAR_SCRIPT_NAME.

Parámetros

munglist

Un array que contiene como índices de cadenas REQUEST_URI, PHP_SELF, SCRIPT_NAME y SCRIPT_FILENAME. Otros valores lanzan una excepción, y Phar::mungServer() es sensible a mayúsculas-minúsculas.

Valores devueltos

No devuelve nada.

Errores/Excepciones

Lanza una excepción de tipo UnexpectedValueException si se encontró algún problema con la información pasada.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::mungServer()

<?php
// rutina de interoperabilidad de ejemplo
Phar::mungServer(array('REQUEST_URI'));
Phar::webPhar();
__HALT_COMPILER();
?>

Ver también

  • Phar::webPhar() - mapPhar para archivos phar basados en web. Controlador principal para aplicaciones web
  • Phar::setStub() - Establecer el cargador de PHP o la rutina de interoperabilidad de un archivo Phar

Phar::mount
Phar::offsetExists
Phar


Determina si un fichero existe en un phar

Phar::mungServer
Phar::offsetGet
Phar
PHP Manual

Phar::offsetExists

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::offsetExists — Determina si un fichero existe en un phar

Descripción

public bool Phar::offsetExists ( string $offset )

É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 isset() sea llamada.

Parámetros

offset

El nombre del fichero (ruta relativa) a buscar en un Phar.

Valores devueltos

Devuelve TRUE si el fichero existe dentro del phar, o FALSE si no.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::offsetExists()

<?php
$p = new Phar(dirname(__FILE__) . '/mi.phar', 0, 'mi.phar');
$p['primer_fichero.txt'] = 'primer fichero';
$p['segundo_fichero.txt'] = 'segundo_fichero';
// las siguientes líneas llama a offsetExists() indirectamente
var_dump(isset($p['primer_fichero.txt']));
var_dump(isset($p['no_existe.txt']));
?>

El resultado del ejemplo sería:

bool(true)
bool(false)

Ver también

  • Phar::offsetGet() - Obtener un objeto de la clase PharFileInfo para un fichero específico
  • Phar::offsetSet() - Establecer el contenido de un fichero interno a aquel de un fichero externo
  • Phar::offsetUnset() - Eliminar un fichero de un phar

Phar::mungServer
Phar::offsetGet
Phar


Obtener un objeto de la clase PharFileInfo para un fichero específico

Phar::offsetExists
Phar::offsetSet
Phar
PHP Manual

Phar::offsetGet

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::offsetGet — Obtener un objeto de la clase PharFileInfo para un fichero específico

Descripción

public int Phar::offsetGet ( string $offset )

É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.

Parámetros

offset

El nombre del fichero (ruta relativa) a buscar en un Phar.

Valores devueltos

Devuelve un objeto de la clase PharFileInfo que puede usarse para iterar sobre el contenido de un fichero o para recuperar información sobre el fichero actual.

Errores/Excepciones

Este método lanza una extepción de tipo BadMethodCallException si el fichero no existe en el archivo Phar.

Ejemplos

Ejemplo #1 Ejemplo de Phar::offsetGet()

Ya que todas las clases implementan la iterfaz ArrayAccess, Phar::offsetGet() es automáticamente llamada a utilizar el operador [].

<?php
$p = new Phar(dirname(__FILE__) . '/miphar.phar', 0, 'miphar.phar');
$p['existe.txt'] = "el fichero existe\n";
try {
    // automáticamente llama a offsetGet()
    echo $p['existe.txt'];
    echo $p['no_existe.txt'];
} catch (BadMethodCallException $e) {
    echo $e;
}
?>

El resultado del ejemplo sería:

el fichero existe
Entry no_existe.txt does not exist

Ver también

  • Phar::offsetExists() - Determina si un fichero existe en un phar
  • Phar::offsetSet() - Establecer el contenido de un fichero interno a aquel de un fichero externo
  • Phar::offsetUnset() - Eliminar un fichero de un phar

Phar::offsetExists
Phar::offsetSet
Phar


Establecer el contenido de un fichero interno a aquel de un fichero externo

Phar::offsetGet
Phar::offsetUnset
Phar
PHP Manual

Phar::offsetSet

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::offsetSet — Establecer el contenido de un fichero interno a aquel de un fichero externo

Descripción

public void Phar::offsetSet ( string $offset , string $value )

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

É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.

Parámetros

offset

El nombre del fichero (ruta relativa) a modificar en un Phar.

value

El contenido del fichero.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Si phar.readonly es 1, lanza una excepción de tipo BadMethodCallException, ya que modificar un Phar sólo está permitido cuando phar.readonly está establecido a 0. Lanza un excepción de tipo PharException si existe cualquier problema volcando los cambios hechos al archivo Phar al disco.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::offsetSet()

No se debería acceder directamente a offsetSet, en su lugar se utiliza el operador [] para acceder al array.

<?php
$p = new Phar('/ruta/a/mi.phar', 0, 'mi.phar');
try {
    // llama a offsetSet
    $p['fichero.txt'] = 'Hola qué tal';
} catch (Exception $e) {
    echo 'No se pudo modificar fichero.txt:', $e;
}
?>

Ver también

  • Phar::offsetExists() - Determina si un fichero existe en un phar
  • Phar::offsetGet() - Obtener un objeto de la clase PharFileInfo para un fichero específico
  • Phar::offsetUnset() - Eliminar un fichero de un phar

Phar::offsetGet
Phar::offsetUnset
Phar


Eliminar un fichero de un phar

Phar::offsetSet
Phar::running
Phar
PHP Manual

Phar::offsetUnset

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::offsetUnset — Eliminar un fichero de un phar

Descripción

public bool Phar::offsetUnset ( string $offset )

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

É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 unset().

Parámetros

offset

El nombre del fichero (ruta relativa) a eliminar en un Phar.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Si phar.readonly es 1, lanza una excepción de tipo BadMethodCallException, ya que modificar un Phar sólo está permitido cuando phar.readonly está establecido a 0. Lanza un excepción de tipo PharException si existe cualquier problema volcando los cambios hechos al archivo Phar al disco.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::offsetUnset()

<?php
$p = new Phar('/ruta/a/mi.phar', 0, 'mi.phar');
try {
    // borra fichero.txt de mi.phar llamando a offsetUnset
    unset($p['fichero.txt']);
} catch (Exception $e) {
    echo 'No se pudo borrar fichero.txt: ', $e;
}
?>

Ver también

  • Phar::offsetExists() - Determina si un fichero existe en un phar
  • Phar::offsetGet() - Obtener un objeto de la clase PharFileInfo para un fichero específico
  • Phar::offsetSet() - Establecer el contenido de un fichero interno a aquel de un fichero externo
  • Phar::unlinkArchive() - Elimiar completamente un archivo phar del disco y de la memoria
  • Phar::delete() - Borrar un fichero dentro de un archivo phar

Phar::offsetSet
Phar::running
Phar


Devolover la ruta completa del disco o el URL completo de phar del archivo Phar que está en ejecución

Phar::offsetUnset
Phar::setAlias
Phar
PHP Manual

Phar::running

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::running — Devolover la ruta completa del disco o el URL completo de phar del archivo Phar que está en ejecución

Descripción

final public static string Phar::running ([ bool $retphar = true ] )

Devuelve la ruta completa del archivo phar en ejecución. Este método tiene la intención de utilizarse como la constante mágica __FILE__, y solamente tiene efecto dentro de un archivo phar en ejecución.

Dentro de una rutina de interoperabilidad de un archivo, Phar::running() devuelve "". Use simplemente __FILE__ para acceder al phar que está ejecutándose acualmente dentro de una rutina de interoperabilidad.

Parámetros

retphar

Si es FALSE, se devuelve la ruta completa del disco del archivo phar. Si es TRUE, se devuelve el URL phar completo.

Valores devueltos

Devuelve el nombre de fichero si es válido, si no una cadena vacía.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::running()

Para el siguiente ejemplo se asume que el archivo phar está ubicado en /ruta/a/phar/mi.phar.

<?php
$a = Phar::running(); // $a es "phar:///ruta/a/mi.phar"
$b = Phar::running(false); // $b es "/ruta/a/mi.phar"
?>

Phar::offsetUnset
Phar::setAlias
Phar


Establecer el alias para un archivo Phar

Phar::running
Phar::setDefaultStub
Phar
PHP Manual

Phar::setAlias

(PHP >= 5.3.0, PECL phar >= 1.2.1)

Phar::setAlias — Establecer el alias para un archivo Phar

Descripción

public bool Phar::setAlias ( string $alias )

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

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 phar 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 include o utilizar Phar::interceptFileFuncs() y usar rutas relativas.

Parámetros

alias

Una cadena abreviada para referirse a este archivo en el acceso con la envoltura de flujo phar.

Valores devueltos

Errores/Excepciones

Lanza una excepción de tipo UnexpectedValueException cuando el acceso a escritura está deshabilitado, y una excepción de tipo PharException si el alias ya está en uso o se encontró algún problema al volcar los cambios al disco.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::setAlias()

<?php
try {
    $phar = new Phar('miphar.phar');
    $phar->setAlias('mip.phar');
} catch (Exception $e) {
    // manejar errores
}
?>

Ver también

  • Phar::__construct() - Construir un objeto de archivo Phar
  • Phar::interceptFileFuncs() - Ordenar a phar interceptar fopen, file_get_contents, opendir, y todas las funciones relacionadas con estadísticas

Phar::running
Phar::setDefaultStub
Phar


Establecer el cargador o la rutina de interoperabilidad de un archivo Phar al cargador predeterminado

Phar::setAlias
Phar::setMetadata
Phar
PHP Manual

Phar::setDefaultStub

(Unknown)

Phar::setDefaultStub — Establecer el cargador o la rutina de interoperabilidad de un archivo Phar al cargador predeterminado

Descripción

public bool Phar::setDefaultStub ([ string $index [, string $webindex ]] )

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

Este método es un método cómodo que combina la funcionalidad de Phar::createDefaultStub() y Phar::setStub().

Parámetros

index

La ruta relativa dentro del archivo phar a ejectuar si se accede desde la línea de comandos

webindex

La ruta relativa dentro del archivo phar a ejectuar si se accede desde un servidor web

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Se lanza una excepción de tipo UnexpectedValueException si phar.readonly está habilitado en php.ini. Se lanza una excepción de tipo PharException si se encuentra cualquier problema al volcar los cambios al disco.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::setDefaultStub()

<?php
try {
    $phar = new Phar('miphar.phar');
    $phar->setDefaultStub('cli.php', 'web/index.php');
    // esto es lo mismo que:
    // $phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
} catch (Exception $e) {
    // manejar errores
}
?>

Ver también

  • Phar::setStub() - Establecer el cargador de PHP o la rutina de interoperabilidad de un archivo Phar
  • Phar::createDefaultStub() - Crear una rutina de interoperabilidad específica del formato de fichero phar

Phar::setAlias
Phar::setMetadata
Phar


Establecer la metainformación de un archivo phar

Phar::setDefaultStub
Phar::setSignatureAlgorithm
Phar
PHP Manual

Phar::setMetadata

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::setMetadata — Establecer la metainformación de un archivo phar

Descripción

public void Phar::setMetadata ( mixed $metadata )

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

Phar::setMetadata() debería usarse para almacenar información personalizada que describa algo sobre el archivo phar como una entidad completa. PharFileInfo::setMetadata() 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.

Parámetros

metadata

Cualquier variable de PHP que contenga la información a almacenar que describa el archivo phar

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::setMetadata()

<?php
// asegurarse de que no existe
@unlink('nuevo_phar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/nuevo_phar.phar', 0, 'nuevo_phar.phar');
    $p['fichero.php'] = '<?php echo "hola"';
    $p->setMetadata(array('bootstrap' => 'fichero.php'));
    var_dump($p->getMetadata());
} catch (Exception $e) {
    echo 'No se pudo crear y/o modificar el phar:', $e;
}
?>

El resultado del ejemplo sería:

array(1) {
  ["bootstrap"]=>
  string(11) "fichero.php"
}

Ver también

  • Phar::getMetadata() - Devolver la metainformación de un archivo phar
  • Phar::delMetadata() - Eliminar la metainformación global del phar
  • Phar::hasMetadata() - Devolver si el phar tiene metainformación global

Phar::setDefaultStub
Phar::setSignatureAlgorithm
Phar


Establecer el algoritmo de firma para un phar y aplicarlo

Phar::setMetadata
Phar::setStub
Phar
PHP Manual

Phar::setSignatureAlgorithm

(PHP >= 5.3.0, PECL phar >= 1.1.0)

Phar::setSignatureAlgorithm — Establecer el algoritmo de firma para un phar y aplicarlo

Descripción

public void Phar::setSignatureAlgorithm ( int $sigtype [, string $privatekey ] )

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

Establece el algoritmo de firma para un phar y lo aplica. El algoritmo de firma debe ser una de las constantes Phar::MD5, Phar::SHA1, Phar::SHA256, Phar::SHA512, o Phar::OPENSSL.

Observe que todos los archivos phar ejecutables tienen una firma creada automáticamente, SHA1 por omisión. Los archivos de datos basados en tar o en zip (archivos creados con la clase PharData class) deben tener su signatura creada y establecerla explícitamente mediante Phar::setSignatureAlgorithm().

Parámetros

sigtype

Una de las constantes Phar::MD5,
Phar::SHA1, Phar::SHA256,
Phar::SHA512, o Phar::OPENSSL

privatekey

El contenido de una clave privada OpenSSL, como la extraída de un certificado o de un fichero de clave OpenSSL:

<?php
$private = openssl_get_privatekey(file_get_contents('private.pem'));
$pkey = '';
openssl_pkey_export($private, $pkey);
$p->setSignatureAlgorithm(Phar::OPENSSL, $pkey);
?>
Véase la Introducción de phar para instrucciones sobre la designación y ubicaión del fichero de clave pública.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Lanza una excepción de tipo UnexpectedValueException para muchos errores, y una excepción de tipo PharException si ocurrió algún problema al volcar los cambios al disco.

Ver también

  • Phar::getSupportedSignatures() - Devolver un array con los tipos de firmas soportados
  • Phar::getSignature() - Devolver la firma MD5/SHA1/SHA256/SHA512/OpenSSL de un archivo Phar

Phar::setMetadata
Phar::setStub
Phar


Establecer el cargador de PHP o la rutina de interoperabilidad de un archivo Phar

Phar::setSignatureAlgorithm
Phar::startBuffering
Phar
PHP Manual

Phar::setStub

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::setStub — Establecer el cargador de PHP o la rutina de interoperabilidad de un archivo Phar

Descripción

public bool Phar::setStub ( string $stub [, int $len = -1 ] )

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

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:

<?php
include 'miphar.phar';
?>

Al cargador no se accede cuando se incluye un archivo a través de la envoltura de flujos phar como aquí:

<?php
include 'phar://miphar.phar/un_fichero.php';
?>

Parámetros

stub

Una cadena o un gestor de flujo abierto para usarlo como la rutina de interoperabilidad ejecutable de este archivo phar.

len

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Se lanza una excepción de tipo UnexpectedValueException si phar.readonly está habilitado en php.ini. Se lanza una excepción de tipo PharException si se encuentra cualquier problema al volcar los cambios al disco.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::setStub()

<?php
try {
    $p = new Phar(dirname(__FILE__) . '/nuevo_phar.phar', 0, 'nuevo_phar.phar');
    $p['a.php'] = '<?php var_dump("Hola");';
    $p->setStub('<?php var_dump("Primero"); Phar::mapPhar("nuevo_phar.phar"); __HALT_COMPILER(); ?>');
    include 'phar://nuevo_phar.phar/a.php';
    var_dump($p->getStub());
    $p['b.php'] = '<?php var_dump("Mundo");';
    $p->setStub('<?php var_dump("Segundo"); Phar::mapPhar("nuevo_phar.phar"); __HALT_COMPILER(); ?>');
    include 'phar://nuevo_phar.phar/b.php';
    var_dump($p->getStub());
} catch (Exception $e) {
    echo 'Las operaciones de escritura sobre nuevo_phar.phar fallaron: ', $e;
}
?>

El resultado del ejemplo sería:

string(4) "Hola"
string(84) "<?php var_dump("Primero"); Phar::mapPhar("nuevo_phar.phar"); __HALT_COMPILER(); ?>"
string(5) "Mundo"
string(84) "<?php var_dump("Segundo"); Phar::mapPhar("nuevo_phar.phar"); __HALT_COMPILER(); ?>"

Historial de cambios

Versión | Descripción
5.4.0 | Se añadió el parámetro len.

Ver también

  • Phar::getStub() - Devolver el cargador de PHP o la rutina de interoperabilidad de un archivo Phar
  • Phar::createDefaultStub() - Crear una rutina de interoperabilidad específica del formato de fichero phar

Phar::setSignatureAlgorithm
Phar::startBuffering
Phar


Iniciar las operaciones de escritura en buffer de Phar, no modifica el objeto Phar del disco

Phar::setStub
Phar::stopBuffering
Phar
PHP Manual

Phar::startBuffering

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::startBuffering — Iniciar las operaciones de escritura en buffer de Phar, no modifica el objeto Phar del disco

Descripción

public void Phar::startBuffering ( void )

Aunque es técnicamente innecesario, el método Phar::startBuffering() 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 Phar::startBuffering()/ Phar::stopBuffering() está prevista para este propósito.

La escritura en buffer de Phar es por archivo, el almacenamiento activo en buffer del archivo Phar foo.phar no afecta a los cambios hechos al archivo Phar bar.phar.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::startBuffering()

<?php
// asegurarse de que no existe
@unlink('nuevo_phar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/nuevo_phar.phar', 0, 'nuevo_phar.phar');
} catch (Exception $e) {
    echo 'No se pudo crear el phar:', $e;
}
echo 'El nuevo phar tiene ' . $p->count() . " entradas\n";
$p->startBuffering();
$p['fichero.txt'] = 'hola';
$p['fichero2.txt'] = 'qué tal';
$p['fichero2.txt']->setCompressedGZ();
$p['fichero3.txt'] = 'cara de niño';
$p['fichero3.txt']->setMetadata(42);
$p->setStub("<?php
function __autoload($clase)
{
    include 'phar://miphar.phar/' . str_replace('_', '/', $clase) . '.php';
}
Phar::mapPhar('miphar.phar');
include 'phar://miphar.phar/inicio.php';
__HALT_COMPILER();");
$p->stopBuffering();
?>

Ver también

  • Phar::stopBuffering() - Detener las peticiones de escritura en buffer del archivo Phar, y guardar los cambios en disco
  • Phar::isBuffering() - Determinar si las operaciones de escritura de Phar está siendo almacenadas en buffer, o están siendo volcadas directamente al disco

Phar::setStub
Phar::stopBuffering
Phar


Detener las peticiones de escritura en buffer del archivo Phar, y guardar los cambios en disco

Phar::startBuffering
Phar::uncompressAllFiles
Phar
PHP Manual

Phar::stopBuffering

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::stopBuffering — Detener las peticiones de escritura en buffer del archivo Phar, y guardar los cambios en disco

Descripción

public void Phar::stopBuffering ( void )

Phar::stopBuffering() se usa junto con el método Phar::startBuffering(). Phar::startBuffering() 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 Phar::startBuffering()/ Phar::stopBuffering() está prevista para este propósito.

La escritura en buffer de Phar es por archivo, el almacenamiento activo en buffer del archivo Phar foo.phar no afecta a los cambios hechos al archivo Phar bar.phar.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Se lanza una excepción de tipo PharException si se encontró algún problema volcando los cambios al disco.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::stopBuffering()

<?php
$p = new Phar(dirname(__FILE__) . '/nuevo_phar.phar', 0, 'nuevo_phar.phar');
$p['fichero1.txt'] = 'hola';
$p->startBuffering();
var_dump($p->getStub());
$p->setStub("<?php
function __autoload(\$clase)
{
    include 'phar://nuevo_phar.phar/' . str_replace('_', '/', \$clase) . '.php';
}
Phar::mapPhar('nuevo_phar.phar');
include 'phar://nuevo_phar.phar/incio.php';
__HALT_COMPILER();");
$p->stopBuffering();
var_dump($p->getStub());
?>

El resultado del ejemplo sería:

string(24) "<?php __HALT_COMPILER();"
string(195) "<?php
function __autoload($clase)
{
    include 'phar://' . str_replace('_', '/', $clase);
}
Phar::mapPhar('nuevo_phar.phar');
include 'phar://nuevo_phar.phar/incio.php';
__HALT_COMPILER();"

Ver también

  • Phar::startBuffering() - Iniciar las operaciones de escritura en buffer de Phar, no modifica el objeto Phar del disco
  • Phar::isBuffering() - Determinar si las operaciones de escritura de Phar está siendo almacenadas en buffer, o están siendo volcadas directamente al disco

Phar::startBuffering
Phar::uncompressAllFiles
Phar


Descomprimir todos los ficheros del archivo Phar actual

Phar::stopBuffering
Phar::unlinkArchive
Phar
PHP Manual

Phar::uncompressAllFiles

(PECL phar < 2.0.0)

Phar::uncompressAllFiles — Descomprimir todos los ficheros del archivo Phar actual

Descripción

public bool Phar::uncompressAllFiles ( void )

Nota:

Este
método ha sido eliminado de la extensión Phar a partir de la versión 2.0.0. Implementaciones
alternativas están disponibles utilizando  Phar::compress(),
 Phar::decompress(),  Phar::compressFiles() y
 Phar::decompressFiles().

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

Este método descomprime todos los ficheros del archivo Phar. Si cualquier ficheros ya está comprimido con la compresión gzip, la extensión zlib debe estar habilitada para poder descomprimirlo, y cualquier fichero comprimido con la compresión bzip2 queriere de la extensión bzip2 para descomprimirlo. 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.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza una excepción de tipo BadMethodCallException si la variable INI phar.readonly está activada, la extensión bzip2 no está habilitada y cualquier fichero está comprimido con la compresión bzip2, o si cualquer fichero está comprimido con la compresión gzip y la extensión zlib no está habilitada.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::uncompressAllFiles()

<?php
try {
    $p = new Phar('/ruta/a/mi.phar', 0, 'mi.phar');
    $p['mifichero.txt'] = 'hola';
    $p['mifichero2.txt'] = 'hola';
    $p->compressAllFilesGZ();
    foreach ($p as $fichero) {
        var_dump($fichero->getFileName());
        var_dump($fichero->isCompressed());
        var_dump($fichero->isCompressedBZIP2());
        var_dump($fichero->isCompressedGZ());
    }
    $p->uncompressAllFiles();
    foreach ($p as $fichero) {
        var_dump($fichero->getFileName());
        var_dump($fichero->isCompressed());
        var_dump($fichero->isCompressedBZIP2());
        var_dump($fichero->isCompressedGZ());
    }
} catch (Exception $e) {
    echo 'Las operaciones de escritura sobre mi.phar fallaron: ', $e;
}
?>

El resultado del ejemplo sería:

string(13) "mifichero.txt"
bool(true)
bool(false)
bool(true)
string(14) "mifichero2.txt"
bool(true)
bool(false)
bool(true)
string(13) "mifichero.txt"
bool(false)
bool(false)
bool(false)
string(14) "mifichero2.txt"
bool(false)
bool(false)
bool(false)

Ver también

  • PharFileInfo::getCompressedSize() - Devolver el tamaño real de un fichero (con compresión) dentro de un archivo Phar
  • PharFileInfo::isCompressedBZIP2() - Devolver si la entrada está comprimida con bzip2
  • PharFileInfo::isCompressed() - Devolver si la entrada está comprimida
  • PharFileInfo::isCompressedGZ() - Devolver si la entrada está comprimida con gz
  • PharFileInfo::setCompressedBZIP2() - Comprimir la entrada actual de un Phar dentro del phar usando la compresión Bzip2
  • PharFileInfo::setUncompressed() - Descomprimir la entrada actual del Phar dentro del phar, si está comprimida
  • PharFileInfo::setCompressedGZ() - Comprimir la entrada actual de un Phar dentro del phar usando la compresión gz
  • Phar::canCompress() - Devuelve si la extensión phar soporta la compresión usando zlib o bzip2
  • Phar::isCompressed() - Devuelve Phar::GZ oPHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.)
  • Phar::compressAllFilesBZIP2() - Comprimir todos los ficheros del archivo Phar actual usando la compresión Bzip2
  • Phar::compressAllFilesGZ() - Comprimir todos los ficheros del archivo Phar actual usando la compresión Gzip
  • Phar::getSupportedCompression() - Devolver un array de los algoritmos de compresión soportados

Phar::stopBuffering
Phar::unlinkArchive
Phar


Elimiar completamente un archivo phar del disco y de la memoria

Phar::uncompressAllFiles
Phar::webPhar
Phar
PHP Manual

Phar::unlinkArchive

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::unlinkArchive — Elimiar completamente un archivo phar del disco y de la memoria

Descripción

final public static bool Phar::unlinkArchive ( string $archive )

Elimina un archivo phar del disco y de la memoria.

Parámetros

archive

La ruta en el disco al archivo phar.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Se lanza una excepción de tipo PharException si existe cualquier fichero abierto que apunte al archivo phar, o cualquier objeto existente de las clases Phar, PharData, o PharFileInfo que haga referencia al archivo phar.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::unlinkArchive()

<?php
// uso simple
Phar::unlinkArchive('/ruta/a/mi.phar');

// ejemplo más común:
$p = new Phar('mi.phar');
$fp = fopen('phar://mi.phar/fichero.txt', 'r');
// esto crea 'mi.phar.gz'
$gp = $p->compress(Phar::GZ);
// eliminar todas las referencias al archivo
unset($p);
fclose($fp);
// ahora, eliminar todas los indicions del archivo
Phar::unlinkArchive('mi.phar');
?>

Ver también

  • Phar::delete() - Borrar un fichero dentro de un archivo phar
  • Phar::offsetUnset() - Eliminar un fichero de un phar

Phar::uncompressAllFiles
Phar::webPhar
Phar


mapPhar para archivos phar basados en web. Controlador principal para aplicaciones web

Phar::unlinkArchive
PharData
Phar
PHP Manual

Phar::webPhar

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::webPhar — mapPhar para archivos phar basados en web. Controlador principal para aplicaciones web

Descripción

final public static void Phar::webPhar ([ string $alias [, string $index = "index.php" [, string $f404 [, array $mimetypes [, callable $rewrites ]]]]] )

Phar::mapPhar() 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 Phar::mungServer() y Phar::interceptFileFuncs(), cualquier aplicación web se puede utilizar sin modificaciones desde un archivo phar.

Phar::webPhar() 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).

Parámetros

alias

El alias que puede usarse en las URL phar:// para referirse a este archivo, en vez de su ruta completa.

index

La ubicación dentro del phar del índice de directorios.

f404

La ubicación del script a ejecutar cuando no se encuentra el fichero. Este script debería mostrar las cabeceras HTTP 404 apropiadas.

mimetypes

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:

<?php
$mimes = array(
    'phps' => 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',
);
?>

rewrites

A la función rewrites se le proporciona un string como único parámetro y debe devolver un string o FALSE.

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 FALSE, webPhar() enviará un código de rechazo HTTP 403.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Lanza una excepción de tipo PharException cuando no se puede abrir el fichero interno para salida, o si se llama desde un lugar que no sea una rutina de interoperabilidad. Si se pasa un array no válido a mimetypes o se proporciona una llamada de retorno no válida a rewrites, se lanza una excepción de tipo UnexpectedValueException.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::webPhar()

Con el ejemplo siguiente, el phar creado mostrará Hola Mundo si uno explora /miphar.phar/index.php o /miphar.phar, y mostrará la fuente de index.phps si uno explora /miphar.phar/index.phps.

<?php
// creating the phar archive:
try {
    $phar = new Phar('miphar.phar');
    $phar['index.php'] = '<?php echo "Hola Mundo"; ?>';
    $phar['index.phps'] = '<?php echo "Hola Mundo"; ?>';
    $phar->setStub('<?php
Phar::webPhar();
__HALT_COMPILER(); ?>');
} catch (Exception $e) {
    // manejar errores
}
?>

Ver también

  • Phar::mungServer() - Definir una lista de hasta 4 variables $_SERVER que debería ser modificadas para la ejecución
  • Phar::interceptFileFuncs() - Ordenar a phar interceptar fopen, file_get_contents, opendir, y todas las funciones relacionadas con estadísticas

Phar::unlinkArchive
PharData
Phar


La clase PharData

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Introducción

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 phar.readonly está establecida a 1.

Sinopsis de la Clase

PharData extends Phar {
/* Métodos */
bool addEmptyDir ( string $dirname )
public void Phar::addFile ( string $file [, string $localname ] )
bool addFromString ( string $localname , string $contents )
public array Phar::buildFromDirectory ( string $base_dir [, string $regex ] )
array buildFromIterator ( Iterator $iter [, string $base_directory ] )
object compress ( int $compression [, string $extension ] )
bool compressFiles ( int $compression )
__construct ( string $fname [, int $flags [, string $alias [, int $format = Phar::TAR ]]] )
PharData convertToData ([ int $format [, int $compression [, string $extension ]]] )
Phar convertToExecutable ([ int $format [, int $compression [, string $extension ]]] )
bool copy ( string $oldfile , string $newfile )
object decompress ([ string $extension ] )
bool decompressFiles ( void )
bool delMetadata ( void )
bool delete ( string $entry )
bool extractTo ( string $pathto [, string|array $files [, bool $overwrite = false ]] )
bool isWritable ( void )
void offsetSet ( string $offset , string $value )
bool offsetUnset ( string $offset )
bool setAlias ( string $alias )
bool setDefaultStub ([ string $index [, string $webindex ]] )
public void Phar::setMetadata ( mixed $metadata )
public void Phar::setSignatureAlgorithm ( int $sigtype )
bool setStub ( string $stub [, int $len = -1 ] )
/* Métodos heredados */
public void Phar::addEmptyDir ( string $dirname )
public void Phar::addFile ( string $file [, string $localname ] )
public void Phar::addFromString ( string $localname , string $contents )
final public static string Phar::apiVersion ( void )
public array Phar::buildFromDirectory ( string $base_dir [, string $regex ] )
public array Phar::buildFromIterator ( Iterator $iter [, string $base_directory ] )
final public static bool Phar::canCompress ([ int $type = 0 ] )
final public static bool Phar::canWrite ( void )
public object Phar::compress ( int $compression [, string $extension ] )
public bool Phar::compressAllFilesBZIP2 ( void )
public bool Phar::compressAllFilesGZ ( void )
public void Phar::compressFiles ( int $compression )
public Phar::__construct ( string $fname [, int $flags [, string $alias ]] )
public PharData Phar::convertToData ([ int $format = 9021976 [, int $compression = 9021976 [, string $extension ]]] )
public Phar Phar::convertToExecutable ([ int $format = 9021976 [, int $compression = 9021976 [, string $extension ]]] )
public bool Phar::copy ( string $oldfile , string $newfile )
public int Phar::count ( void )
final public static string Phar::createDefaultStub ([ string $indexfile [, string $webindexfile ]] )
public object Phar::decompress ([ string $extension ] )
public bool Phar::decompressFiles ( void )
public bool Phar::delMetadata ( void )
public bool Phar::delete ( string $entry )
public bool Phar::extractTo ( string $pathto [, string|array $files [, bool $overwrite = false ]] )
public mixed Phar::getMetadata ( void )
public bool Phar::getModified ( void )
public array Phar::getSignature ( void )
public string Phar::getStub ( void )
final public static array Phar::getSupportedCompression ( void )
final public static array Phar::getSupportedSignatures ( void )
public string Phar::getVersion ( void )
public bool Phar::hasMetadata ( void )
final public static void Phar::interceptFileFuncs ( void )
public bool Phar::isBuffering ( void )
public mixed Phar::isCompressed ( void )
public bool Phar::isFileFormat ( int $format )
final public static bool Phar::isValidPharFilename ( string $filename [, bool $executable = true ] )
public bool Phar::isWritable ( void )
final public static bool Phar::loadPhar ( string $filename [, string $alias ] )
final public static bool Phar::mapPhar ([ string $alias [, int $dataoffset = 0 ]] )
final public static void Phar::mount ( string $pharpath , string $externalpath )
final public static void Phar::mungServer ( array $munglist )
public bool Phar::offsetExists ( string $offset )
public int Phar::offsetGet ( string $offset )
public void Phar::offsetSet ( string $offset , string $value )
public bool Phar::offsetUnset ( string $offset )
final public static string Phar::running ([ bool $retphar = true ] )
public bool Phar::setAlias ( string $alias )
public bool Phar::setDefaultStub ([ string $index [, string $webindex ]] )
public void Phar::setMetadata ( mixed $metadata )
public void Phar::setSignatureAlgorithm ( int $sigtype [, string $privatekey ] )
public bool Phar::setStub ( string $stub [, int $len = -1 ] )
public void Phar::startBuffering ( void )
public void Phar::stopBuffering ( void )
public bool Phar::uncompressAllFiles ( void )
final public static bool Phar::unlinkArchive ( string $archive )
final public static void Phar::webPhar ([ string $alias [, string $index = "index.php" [, string $f404 [, array $mimetypes [, callable $rewrites ]]]]] )
}

Tabla de contenidos

  • PharData::addEmptyDir — Añadir un directorio vacío al archivo tar/zip
  • PharData::addFile — Añadir un fichero desde el sistema de ficheros al archivo tar/zip
  • PharData::addFromString — Añadir un fichero desde el sistema de ficheros al archivo tar/zip
  • PharData::buildFromDirectory — Construir un archivo tar/zip desde los ficheros de un directorio
  • PharData::buildFromIterator — Construir un archivo tar o zip desde un iterador
  • PharData::compress — Comprimir el archivo tar/zip entero usando la compresión Gzip o Bzip2
  • PharData::compressFiles — Comprime todos los ficheros del archivo tar/zip actual
  • PharData::__construct — Construir un objeto de archivo tar o zip no ejecutable
  • PharData::convertToData — Convertir un archivo phar en un fichero tar o zip no ejecutable
  • PharData::convertToExecutable — Convertir un archivo tar/zip no ejecutable en un archivo phar ejecutable
  • PharData::copy — Copiar un fichero interno de un archivo phar a otro fichero nuevo dentro del phar
  • PharData::decompress — Descomprimir un archivo Phar entero
  • PharData::decompressFiles — Descomprimir todos los ficheros del archivo zip actual
  • PharData::delMetadata — Eliminar la metainformación global de un archivo zip
  • PharData::delete — Borrar un fichero dentro de un archivo tar/zip
  • PharData::extractTo — Extraer el contenido de un archivo tar/zip a un directorio
  • PharData::isWritable — Devolver si el archivo tar/zip se puede modificar
  • PharData::offsetSet — Establecer el contenido de un fichero dentro de un tar/zip a aquel de un fichero o cadena externos
  • PharData::offsetUnset — Eliminar un ficerho de un archivo tar/zip
  • PharData::setAlias — función sin sentido (Phar::setAlias no es válido para PharData)
  • PharData::setDefaultStub — función sin sentido (Phar::setStub no es válido para PharData)
  • Phar::setMetadata — Establecer la metainformación de un archivo phar
  • Phar::setSignatureAlgorithm — Establecer el algoritmo de firma para un phar y aplicarlo
  • PharData::setStub — función sin sentido (Phar::setStub no es válido para PharData)
Phar::webPhar
PharData::addEmptyDir
Phar


Añadir un directorio vacío al archivo tar/zip

PharData
PharData::addFile
PharData
PHP Manual

PharData::addEmptyDir

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::addEmptyDir — Añadir un directorio vacío al archivo tar/zip

Descripción

bool PharData::addEmptyDir ( string $dirname )

Con este método se crea un directorio vacío con la ruta dada por dirname. Este método es similar a ZipArchive::addEmptyDir().

Parámetros

dirname

El nombre de directorio vacío a crear en el archivo tar o zip

Valores devueltos

No devuelve ningún valor, se lanza una excepción en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de PharData::addEmptyDir()

<?php
try {
    $a = new PharData('/ruta/a/phar.phar');

    $a->addEmptyDir('/ruta/completa/a/fichero');
    // demuestra cómo se almacena este fichero
    $b = $a['ruta/completa/a/fichero']->isDir();
} catch (Exception $e) {
    // manejar los errores aquí
}
?>

Ver también

  • Phar::addEmptyDir() - Añadir un directorio vacío al archvo phar
  • PharData::addFile() - Añadir un fichero desde el sistema de ficheros al archivo tar/zip
  • PharData::addFromString() - Añadir un fichero desde el sistema de ficheros al archivo tar/zip

PharData
PharData::addFile
PharData


Añadir un fichero desde el sistema de ficheros al archivo tar/zip

PharData::addEmptyDir
PharData::addFromString
PharData
PHP Manual

PharData::addFile

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::addFile — Añadir un fichero desde el sistema de ficheros al archivo tar/zip

Descripción

public void Phar::addFile ( string $file [, string $localname ] )

Con este método, cualquier fichero o URL se puede añadir al arcivo tar/zip. Si se especifica el segundo parámetro opcional localname, el fichero será almacenado en el archivo con el nombre dado por el parámetro, si no se usará el parámetro file 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 ZipArchive::addFile().

Parámetros

file

La ruta completa o relativa del fichero del disco a ser añadido al archivo phar.

localname

Ruta con la que el fichero será almacenado en el archivo.

Valores devueltos

No devuelve ningún valor, se lanza una excepción en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de PharData::addFile()

<?php
try {
    $a = new PharData('/ruta/a/phar.phar');

    $a->addFile('/ruta/completa/a/fichero');
    // demuestra cómo se almacena este fichero
    $b = $a['ruta/completa/a/fichero']->getContent();

    $a->addFile('/ruta/completa/a/fichero', 'mi/fichero.txt');
    $c = $a['mi/fichero.txt']->getContent();

    // demostrar el uso de una URL
    $a->addFile('http://www.ejemplo.com', 'ejemplo.html');
} catch (Exception $e) {
    // manejar los errores aquí
}
?>

Ver también

  • PharData::offsetSet() - Establecer el contenido de un fichero dentro de un tar/zip a aquel de un fichero o cadena externos
  • Phar::addFile() - Añadir un fichero desde el sistema de ficheros al archivo phar
  • PharData::addFromString() - Añadir un fichero desde el sistema de ficheros al archivo tar/zip
  • PharData::addEmptyDir() - Añadir un directorio vacío al archivo tar/zip

PharData::addEmptyDir
PharData::addFromString
PharData


Añadir un fichero desde el sistema de ficheros al archivo tar/zip

PharData::addFile
PharData::buildFromDirectory
PharData
PHP Manual

PharData::addFromString

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::addFromString — Añadir un fichero desde el sistema de ficheros al archivo tar/zip

Descripción

bool PharData::addFromString ( string $localname , string $contents )

Con este método, cuanquierl cadena se puede añadir al archivo tar/zip. El fichero será almacenado en el archivo con localname como su ruta. Este método es similar a ZipArchive::addFromString().

Parámetros

localname

Ruta con la que el fichero será almacenado en el archivo.

contents

El contenido del fichero a almacenar

Valores devueltos

No devuelve ningún valor, se lanza una excepción en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de PharData::addFromString()

<?php
try {
    $a = new PharData('/ruta/a/phar.phar');

    $a->addFromString('ruta/a/fichero.txt', 'mi sencillo fichero');
    $b = $a['ruta/a/fichero.txt']->getContent();

    // para añadir contenido desde un gestor de flujos para ficheros grandes, use offsetSet()
    $c = fopen('/ruta/a/fichero_enorme.bin');
    $a['fichero_grande.bin'] = $c;
    fclose($c);
} catch (Exception $e) {
    // manejar los errores aquí
}
?>

Ver también

  • PharData::offsetSet() - Establecer el contenido de un fichero dentro de un tar/zip a aquel de un fichero o cadena externos
  • Phar::addFromString() - Añadir un fichero desde el sistema de ficheros al archivo phar
  • PharData::addFile() - Añadir un fichero desde el sistema de ficheros al archivo tar/zip
  • PharData::addEmptyDir() - Añadir un directorio vacío al archivo tar/zip

PharData::addFile
PharData::buildFromDirectory
PharData


Construir un archivo tar/zip desde los ficheros de un directorio

PharData::addFromString
PharData::buildFromIterator
PharData
PHP Manual

PharData::buildFromDirectory

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::buildFromDirectory — Construir un archivo tar/zip desde los ficheros de un directorio

Descripción

public array Phar::buildFromDirectory ( string $base_dir [, string $regex ] )

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 PharData::buildFromIterator().

Parámetros

base_dir

La ruta completa o relativa al directorio que contiene todos los ficheros a añadir al archivo.

regex

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.

Valores devueltos

Phar::buildFromDirectory() devuelve un array asociativo que que mapea la ruta interna del fichero a la ruta completa del mismo en el sistema de ficheros.

Errores/Excepciones

Este método lanza una excepción de tipo BadMethodCallException cuando no puede instanciar los iteradores intermos del directorio, o una excepción de tipo PharException si hubo errores al guardar el archivo phar.

Ejemplos

Ejemplo #1 Un ejemplo de PharData::buildFromDirectory()

<?php
$phar = new PharData('proyecto.tar');
// añadir todos los ficheros del proyecto
$phar->buildFromDirectory(dirname(__FILE__) . '/proyecto');

$phar2 = new PharData('proyecto2.zip');
// añadir todos los ficheros del, incluir solamente los ficheros php
$phar->buildFromDirectory(dirname(__FILE__) . '/proyecto', '/\.php$/');
?>

Ver también

  • Phar::buildFromDirectory() - Construir un archivo phar desde los ficheros de un directorio
  • PharData::buildFromIterator() - Construir un archivo tar o zip desde un iterador

PharData::addFromString
PharData::buildFromIterator
PharData


Construir un archivo tar o zip desde un iterador

PharData::buildFromDirectory
PharData::compress
PharData
PHP Manual

PharData::buildFromIterator

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::buildFromIterator — Construir un archivo tar o zip desde un iterador

Descripción

array PharData::buildFromIterator ( Iterator $iter [, string $base_directory ] )

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.

Ejemplos

Ejemplo #1 Un ejemplo de PharData::buildFromIterator() con SplFileInfo

Para la mayoría de los archivos tar/zip, el archivo reflejará la distribución real de directorios, y el segundo estilo es el más útil. Por ejemplo, para crear un archivo tar/zip que contenga los ficheros n esta distribución de muestra de directorios:

/ruta/al/proyecto/
                 config/
                        dist.xml
                        debug.xml
                 lib/
                     fichero1.php
                     fichero2.php
                 src/
                     procesa_algo.php
                 www/
                     index.php
                 cli/
                     index.php

Este código podría usarse para añadir estos ficheros al archivo tar "proyecto.tar":

<?php
$phar = new PharData('proyecto.tar');
$phar->buildFromIterator(
    new RecursiveIteratorIterator(
     new RecursiveDirectoryIterator('/ruta/al/proyecto')),
    '/ruta/al/proyecto');
?>

El fichero project.tar se puede usar inmediatamente. PharData::buildFromIterator() no establece valores como la compresión y metainformación, que se puede hacer después de crear el archivo tar/zip.

Como observación interesante, PharData::buildFromIterator() también se puede usar para copiar el contenido de un archivo phar, tar o zip existentese, ya que los objetos de la clase PharData descienden de la clase DirectoryIterator:

<?php
$phar = new PharData('proyecto.tar');
$phar->buildFromIterator(
    new RecursiveIteratorIterator(
     new Phar('/ruta/a/otro_phar.phar')),
    'phar:///ruta/a/otro_phar.phar/ruta/al/proyecto');
$phar->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));
?>

Ejemplo #2 Un ejemplo de PharData::buildFromIterator() con otros iteradores

La segunda forma de iterador se puede usar con cualquier iterador que devuelva un mapeo clave => valor, tal como un objeto de la clase ArrayIterator:

<?php
$phar = new PharData('proyecto.tar');
$phar->buildFromIterator(
    new ArrayIterator(
     array(
        'fichero/interno.php' => dirname(__FILE__) . '/algun_fichero.php',
        'otro/fichero.jpg' => fopen('/rota/a/archivo_grande.jpg', 'rb'),
     )));
?>

Parámetros

iter

Cualquier iterador que mapee de forma asociativa el fichero tar/zip a la ubiciación o que devuelva objetos de la clase SplFileInfo

base_directory

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

Valores devueltos

PharData::buildFromIterator() devuelve un array asociativo que que mapea la ruta interna del fichero a la ruta completa del mismo en el sistema de ficheros.

Errores/Excepciones

Este método lanza una excepción de tipo UnexpectedValueException cuando el iterador devuelve valores incorrectos, tales como una clave de tipo integer en lugar de una cadena, una excepción de tipo BadMethodCallException cuando se pasa un iterador basado en SplFileInfo sin un parámetro base_directory, o una excepción de tipo PharException si hubo errores al guardar el archivo phar.

Ver también

  • Phar::buildFromIterator() - Construir un archivo phar desde un iterador

PharData::buildFromDirectory
PharData::compress
PharData


Comprimir el archivo tar/zip entero usando la compresión Gzip o Bzip2

PharData::buildFromIterator
PharData::compressFiles
PharData
PHP Manual

PharData::compress

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::compress — Comprimir el archivo tar/zip entero usando la compresión Gzip o Bzip2

Descripción

object PharData::compress ( int $compression [, string $extension ] )

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 .gz, .bz2 o eliminado la extensión si se pasa Phar::NONE para eliminar la compresión. De forma alternativa, se puede expecificar una extensión de fichero con el segundo parámetro.

Parámetros

compression

La compresión debe ser Phar::GZ o Phar::BZ2 para añadir compresión, o Phar::NONE para eliminarla.

extension

Por omisión, la extensión es .tar.gz o .tar.bz2 para comprimir un tar, y .tar para descomprimirlo.

Valores devueltos

Devuelve un objeto de la clase PharData.

Errores/Excepciones

Lanza una excepción de tipo BadMethodCallException si la extensión zlib no está disponible, o la extensión bzip2 no está habilitada.

Ejemplos

Ejemplo #1 Un ejemplo de PharData::compress()

<?php
$p = new PharData('/ruta/a/mi.tar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p1 = $p->compress(Phar::GZ); // copia a /ruta/a/mi.phar.gz
$p2 = $p->compress(Phar::BZ2); // copia a /ruta/a/mi.phar.bz2
$p3 = $p2->compress(Phar::NONE); // excepción: /ruta/a/mi.phar ya existe
?>

Ver también

  • Phar::compress() - Comprimir el archivo Phar entero usando la compresión Gzip o Bzip2

PharData::buildFromIterator
PharData::compressFiles
PharData


Comprime todos los ficheros del archivo tar/zip actual

PharData::compress
PharData::__construct
PharData
PHP Manual

PharData::compressFiles

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::compressFiles — Comprime todos los ficheros del archivo tar/zip actual

Descripción

bool PharData::compressFiles ( int $compression )

Para archivos phar basados en tar, este método lanza una excepción de tipo BadMethodCallException, ya que la compresión de ficheros individuales dentro de un archivo tar no está soportada por el formato de fichero. Use Phar::compress() 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.

Parámetros

compression

La compresión debe ser Phar::GZ o Phar::BZ2 para añadir compresión, o Phar::NONE para eliminarla.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza una excepción de tipo BadMethodCallException si la variable INI phar.readonly está activada, la extensión zlib no está disponible, o si cualquier fichero está comprimido con la compresión bzip2 y la extensión bzip2 no está habilitada.

Ejemplos

Ejemplo #1 Un ejemplo de PharData::compressFiles()

<?php
$p = new Phar('/ruta/a/mi.phar', 0, 'mi.phar');
$p['mifichero.txt'] = 'hola';
$p['mifichero2.txt'] = 'hola';
foreach ($p as $fichero) {
    var_dump($fichero->getFileName());
    var_dump($fichero->isCompressed());
    var_dump($fichero->isCompressed(Phar::BZ2));
    var_dump($fichero->isCompressed(Phar::GZ));
}
$p->compressFiles(Phar::GZ);
foreach ($p as $fichero) {
    var_dump($fichero->getFileName());
    var_dump($fichero->isCompressed());
    var_dump($fichero->isCompressed(Phar::BZ2));
    var_dump($fichero->isCompressed(Phar::GZ));
}
?>

El resultado del ejemplo sería:

string(13) "mifichero.txt"
bool(false)
bool(false)
bool(false)
string(14) "mifichero2.txt"
bool(false)
bool(false)
bool(false)
string(13) "mifichero.txt"
int(4096)
bool(false)
bool(true)
string(14) "mifichero2.txt"
int(4096)
bool(false)
bool(true)

Ver también

  • PharFileInfo::getCompressedSize() - Devolver el tamaño real de un fichero (con compresión) dentro de un archivo Phar
  • PharFileInfo::isCompressed() - Devolver si la entrada está comprimida
  • PharFileInfo::compress() - Comprimir la entrada del Phar actual con la compresión zlib o bzip2
  • PharFileInfo::decompress() - Descomprimir la entrada Phar actual dentro del phar
  • Phar::canCompress() - Devuelve si la extensión phar soporta la compresión usando zlib o bzip2
  • Phar::isCompressed() - Devuelve Phar::GZ oPHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.)
  • PharData::decompressFiles() - Descomprimir todos los ficheros del archivo zip actual
  • Phar::getSupportedCompression() - Devolver un array de los algoritmos de compresión soportados
  • PharData::compress() - Comprimir el archivo tar/zip entero usando la compresión Gzip o Bzip2
  • PharData::decompress() - Descomprimir un archivo Phar entero

PharData::compress
PharData::__construct
PharData


Construir un objeto de archivo tar o zip no ejecutable

PharData::compressFiles
PharData::convertToData
PharData
PHP Manual

PharData::__construct

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::__construct — Construir un objeto de archivo tar o zip no ejecutable

Descripción

PharData::__construct ( string $fname [, int $flags [, string $alias [, int $format = Phar::TAR ]]] )

Parámetros

fname

Ruta a un archivo tar/zip existente o para ser creado

flags

Banderas a pasar a la clase padre RecursiveDirectoryIterator.

alias

Alias con el que referirse al archivo Phar en las llamadas a funcionalidades de flujos.

format

Una de las constantes de formato de fichero disponiblies dentro de la clase Phar.

Errores/Excepciones

Lanza una excepción de tipo BadMethodCallException si se llama dos veces, o una excepción de tipo UnexpectedValueException si no se puede abrir el archivo phar.

Ejemplos

Ejemplo #1 Un ejemplo de PharData::__construct()

<?php
try {
    $p = new PharData('/ruta/a/mi.tar', CURRENT_AS_FILEINFO | KEY_AS_FILENAME);
} catch (UnexpectedValueException $e) {
    die('No se pudo abrir mi.tar');
} catch (BadMethodCallException $e) {
    echo 'Técnicamente esto no puede suceder';
}
echo file_get_contents('phar:///ruta/a/mi.tar/ejemplo.txt');
?>

PharData::compressFiles
PharData::convertToData
PharData


Convertir un archivo phar en un fichero tar o zip no ejecutable

PharData::__construct
PharData::convertToExecutable
PharData
PHP Manual

PharData::convertToData

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::convertToData — Convertir un archivo phar en un fichero tar o zip no ejecutable

Descripción

PharData PharData::convertToData ([ int $format [, int $compression [, string $extension ]]] )

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 BadMethodCallException 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 PharData::compress() para una consistencia lógica.

En caso de éxito, el metodo crea un nuevo archivo en disco y devuelve un objeto de la clase PharData. El archivo antiguo no se elimina del disco, y debería hacerse manualmente después de que el proceso haya finalizado.

Parámetros

format

Este parámetro debería ser Phar::TAR o Phar::ZIP. Si se establece a NULL, se conservará el formato de fichero existente.

compression

Este parámetro debería ser Phar::NONE para no comprimir el archivo completo, Phar::GZ para la compresión basada en zlib, y Phar::BZ2 para la compresión basada en bzip.

extension

Este parámetro se utiliza para sobrescribir la extensión de fichero predeterminada de un archivo convertido. Observe que .phar 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 .tar, .tar.gz, y .tar.bz2 dependiendo de la compresión especificada. Para archivos basados en zip, la extensión predetermianda es .zip.

Valores devueltos

El método devuelve un objeto PharData en caso de éxito, y lanza una excepción en caso de error.

Errores/Excepciones

Este método lanza una excepción de tipo BadMethodCallException cuando no se puede comprimir, se ha especificado un método de compresión desconocido, el archivo solicitado está almacenado en buffer con Phar::startBuffering() y no se ha cerrado con Phar::stopBuffering(), y una excepción de tipo PharException si se encontró algún problema durante el proceso de la creación de phar.

Ejemplos

Ejemplo #1 Un ejemplo de PharData::convertToData()

Utilizar PharData::convertToData():

<?php
try {
    $tarphar = new PharData('miphar.tar');
    // observe que miphar.phar.tar *no* está desvinculado.
    // convertirlo a un formato de fichero tar no ejecutable,
    // se crea miphar.zip
    $zip = $tarphar->convertToData(Phar::ZIP);
    // crear miphar.tbz
    $tgz = $tarphar->convertToData(Phar::TAR, Phar::BZ2, '.tbz');
    // crear miphar.phar.tgz
    $phar = $tarphar->convertToData(Phar::PHAR); // lanza una excepción
} catch (Exception $e) {
    // manejar el error aquí
}
?>

Ver también

  • Phar::convertToExecutable() - Convertir un archivo phar en otro formato de archivo phar ejecutable
  • Phar::convertToData() - Convertir un archivo phar en un fichero tar o zip no ejecutable
  • PharData::convertToExecutable() - Convertir un archivo tar/zip no ejecutable en un archivo phar ejecutable

PharData::__construct
PharData::convertToExecutable
PharData


Convertir un archivo tar/zip no ejecutable en un archivo phar ejecutable

PharData::convertToData
PharData::copy
PharData
PHP Manual

PharData::convertToExecutable

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::convertToExecutable — Convertir un archivo tar/zip no ejecutable en un archivo phar ejecutable

Descripción

Phar PharData::convertToExecutable ([ int $format [, int $compression [, string $extension ]]] )

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

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 BadMethodCallException

En caso de éxito, el metodo crea un nuevo archivo en disco y devuelve un objeto de la clase PharData. 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 Phar object. The old archive is not removed from disk, and should be done manually after the process has finished.

Parámetros

format

Este parámetro debería ser Phar::PHAR, Phar::TAR, o Phar::ZIP. Si se establece a NULL, se conservará el formato de fichero existente.

compression

Este parámetro debería ser Phar::NONE para no comprimir el archivo completo, Phar::GZ para la compresión basada en zlib, y Phar::BZ2 para la compresión basada en bzip.

extension

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 .phar 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 .phar, .phar.gz, o .phar.bz2 dependiendo de la compresión especificada. Para archivos phar basados en tar, las extensiones predeterminadas son .phar.tar, .phar.tar.gz, y .phar.tar.bz2. Para archivos phar basados en zip, la estensión predeterminada es .phar.zip.

Valores devueltos

El método devuelve un objeto Phar en caso de éxito, y lanza una excepción en caso de error.

Errores/Excepciones

Este método lanza una excepción de tipo BadMethodCallException cuando no se puede comprimir, se ha especificado un método de compresión desconocido, el archivo solicitado está almacenado en buffer con Phar::startBuffering() y no se ha cerrado con Phar::stopBuffering(), una excepción de tipo UnexpectedValueException si el soporte para escritura está deshabilitado, y una excepción de tipo PharException si se encontró algún problema durante el proceso de la creación de phar.

Ejemplos

Ejemplo #1 Un ejemplo de PharData::convertToExecutable()

Utilizar PharData::convertToExecutable():

<?php
try {
    $tarphar = new PharData('miphar.tar');
    // convertirlo al formato de fichero phar
    // observe que miphar.tar *no* está desvinculado
    $phar = $tarphar->convertToExecutable(Phar::PHAR); // crea miphar.phar
    $phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
    // crea miphar.phar.tgz
    $comprimido = $tarphar->convertToExecutable(Phar::TAR, Phar::GZ, '.phar.tgz');
} catch (Exception $e) {
    // manejar el error aquí
}
?>

Ver también

  • Phar::convertToExecutable() - Convertir un archivo phar en otro formato de archivo phar ejecutable
  • Phar::convertToData() - Convertir un archivo phar en un fichero tar o zip no ejecutable
  • PharData::convertToData() - Convertir un archivo phar en un fichero tar o zip no ejecutable

PharData::convertToData
PharData::copy
PharData


Copiar un fichero interno de un archivo phar a otro fichero nuevo dentro del phar

PharData::convertToExecutable
PharData::decompress
PharData
PHP Manual

PharData::copy

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::copy — Copiar un fichero interno de un archivo phar a otro fichero nuevo dentro del phar

Descripción

bool PharData::copy ( string $oldfile , string $newfile )

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 copy() con la envoltura de flujos phar.

Parámetros

oldfile

newfile

Valores devueltos

Devuelve TRUE 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.

Errores/Excepciones

Lanza una excepción de tipo UnexpectedValueException si el fichero origen no exite, el fichero destino ya existe, el acceso a escritura está deshabilitado, la apertura de cualquiera de los dos ficheros falla, la lectura del fichero fuente falla, o una excepción de tipo PharException si la escritura de los cambios del phar falla.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::copy()

Este ejemplo muestra el uso de PharData::copy() y su equivalente con envoltura de flujos. La principal diferencia entre los dos enfoques es el manejo de errores. Todos los métodos de PharData lanzan excepciones, mientras que la envoltura de flujos utiliza trigger_error().

<?php
try {
    $phar = new PharData('miphar.tar');
    $phar['a'] = 'hola';
    $phar->copy('a', 'b');
    echo $phar['b']; // imprime "phar://miphar.tar/b"
} catch (Exception $e) {
    // manejar errores
}

// el equivalente con envoltura de flujos del código de arriba.
// Se dispara E_WARNINGS en caso de error en vez de excepciones.
copy('phar://miphar.tar/a', 'phar//miphar.tar/c');
echo file_get_contents('phar://miphar.tar/c'); // imprime "hola"
?>

PharData::convertToExecutable
PharData::decompress
PharData


Descomprimir un archivo Phar entero

PharData::copy
PharData::decompressFiles
PharData
PHP Manual

PharData::decompress

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::decompress — Descomprimir un archivo Phar entero

Descripción

object PharData::decompress ([ string $extension ] )

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, .tar por omisión. De forma alternativa, se puede expecificar una extensión de fichero con el segundo parámetro.

Parámetros

extension

Para la descompresión, las extensión de fichero predeterminada es .phar.tar. Use este parámetro para especificar otra extensión de fichero. Observe que todos los archivos no ejecutables no pueden contener .phar en su nombre de fichero.

Valores devueltos

Devuelve un objeto de la clase PharData.

Errores/Excepciones

Lanza una excepción de tipo BadMethodCallException si la extensión zlib no está disponible, o la extensión bzip2 no está habilitada.

Ejemplos

Ejemplo #1 Un ejemplo de PharData::decompress()

<?php
$p = new PharData('/ruta/a/mi.phar', 0, 'mi.phar.gz');
$p['mifichero1.txt'] = 'hola';
$p['mifichero12.txt'] = 'hola';
$p3 = $p2->decompress(); // crea /ruta/a/mi.phar
?>

Ver también

  • PharFileInfo::getCompressedSize() - Devolver el tamaño real de un fichero (con compresión) dentro de un archivo Phar
  • PharFileInfo::isCompressed() - Devolver si la entrada está comprimida
  • PharFileInfo::compress() - Comprimir la entrada del Phar actual con la compresión zlib o bzip2
  • PharFileInfo::decompress() - Descomprimir la entrada Phar actual dentro del phar
  • PharData::compress() - Comprimir el archivo tar/zip entero usando la compresión Gzip o Bzip2
  • Phar::canCompress() - Devuelve si la extensión phar soporta la compresión usando zlib o bzip2
  • Phar::isCompressed() - Devuelve Phar::GZ oPHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.)
  • PharData::compress() - Comprimir el archivo tar/zip entero usando la compresión Gzip o Bzip2
  • Phar::getSupportedCompression() - Devolver un array de los algoritmos de compresión soportados
  • PharData::compressFiles() - Comprime todos los ficheros del archivo tar/zip actual
  • PharData::decompressFiles() - Descomprimir todos los ficheros del archivo zip actual

PharData::copy
PharData::decompressFiles
PharData


Descomprimir todos los ficheros del archivo zip actual

PharData::decompress
PharData::delMetadata
PharData
PHP Manual

PharData::decompressFiles

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::decompressFiles — Descomprimir todos los ficheros del archivo zip actual

Descripción

bool PharData::decompressFiles ( void )

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

Para archivos basados en tar, este método lanza una excepción de tipo BadMethodCallException, ya que la compresión de ficheros individuales dentro de un archivo tar no está soportada por el formato de fichero. Use Phar::compress() 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.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza una excepción de tipo BadMethodCallException si la extensión zlib no está disponible, o si cualquier fichero está comprimido con la compresión bzip2 y la extensión bzip2 no está habilitada. Throws BadMethodCallException if the zlib extension is not available, or if any files are compressed using bzip2 compression and the bzip2 extension is not enabled.

Ejemplos

Ejemplo #1 Un ejemplo de PharData::decompressFiles()

<?php
$p = new PharData('/ruta/a/mi.zip');
$p['mifichero.txt'] = 'hola';
$p['mifichero2.txt'] = 'hola';
$p->compressFiles(Phar::GZ);
foreach ($p as $fichero) {
    var_dump($fichero->getFileName());
    var_dump($fichero->isCompressed());
    var_dump($fichero->isCompressed(Phar::BZ2));
    var_dump($fichero->isCompressed(Phar::GZ));
}
$p->decompressFiles();
foreach ($p as $fichero) {
    var_dump($fichero->getFileName());
    var_dump($fichero->isCompressed());
    var_dump($fichero->isCompressed(Phar::BZ2));
    var_dump($fichero->isCompressed(Phar::GZ));
}
?>

El resultado del ejemplo sería:

string(13) "mifichero.txt"
int(4096)
bool(false)
bool(true)
string(14) "mifichero2.txt"
int(4096)
bool(false)
bool(true)
string(13) "mifichero.txt"
bool(false)
bool(false)
bool(false)
string(14) "mifichero2.txt"
bool(false)
bool(false)
bool(false)

Ver también

  • PharFileInfo::getCompressedSize() - Devolver el tamaño real de un fichero (con compresión) dentro de un archivo Phar
  • PharFileInfo::isCompressed() - Devolver si la entrada está comprimida
  • PharFileInfo::compress() - Comprimir la entrada del Phar actual con la compresión zlib o bzip2
  • PharFileInfo::decompress() - Descomprimir la entrada Phar actual dentro del phar
  • Phar::canCompress() - Devuelve si la extensión phar soporta la compresión usando zlib o bzip2
  • Phar::isCompressed() - Devuelve Phar::GZ oPHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.)
  • PharData::compressFiles() - Comprime todos los ficheros del archivo tar/zip actual
  • Phar::getSupportedCompression() - Devolver un array de los algoritmos de compresión soportados
  • PharData::compress() - Comprimir el archivo tar/zip entero usando la compresión Gzip o Bzip2
  • PharData::decompress() - Descomprimir un archivo Phar entero

PharData::decompress
PharData::delMetadata
PharData


Eliminar la metainformación global de un archivo zip

PharData::decompressFiles
PharData::delete
PharData
PHP Manual

PharData::delMetadata

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::delMetadata — Eliminar la metainformación global de un archivo zip

Descripción

bool PharData::delMetadata ( void )

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

Elimina la metainformación global de un archivo zip

Parámetros

Valores devueltos

Devuelve TRUE en caso de éxito, pero es mejor comprobar si lanza alguna excepción, y asumir el éxito si no se lanza ninguna.

Errores/Excepciones

Lanza una excepción de tipo PharException si ocurrió algún error al volcar los cambios al disco.

Ejemplos

Ejemplo #1 Un ejemplo de PharData::delMetaData()

<?php
try {
    $phar = new PharData('miphar.zip');
    var_dump($phar->getMetadata());
    $phar->setMetadata("hola, qué tal");
    var_dump($phar->getMetadata());
    $phar->delMetadata();
    var_dump($phar->getMetadata());
} catch (Exception $e) {
    // manejar errores
}
?>

El resultado del ejemplo sería:

NULL
string(14) "hola, qué tal"
NULL

Ver también

  • Phar::delMetadata() - Eliminar la metainformación global del phar

PharData::decompressFiles
PharData::delete
PharData


Borrar un fichero dentro de un archivo tar/zip

PharData::delMetadata
PharData::extractTo
PharData
PHP Manual

PharData::delete

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::delete — Borrar un fichero dentro de un archivo tar/zip

Descripción

bool PharData::delete ( string $entry )

Borra un fichero dentro de un archivo. Esto es el equivalente funcional de llamar a unlink() en el equivalente de envoltura de flujos, tal como se muestra en el ejemplo de abajo.

Parámetros

entry

La ruta dentro de un archivo para borrar el fichero.

Valores devueltos

Devuelve TRUE en caso de éxito, pero es mejor comprobar si lanza alguna excepción, y asumir el éxito si no se lanza ninguna.

Errores/Excepciones

Lanza una excepción de tipo PharException si se produjo algún error al volcar los cambios al disco.

Ejemplos

Ejemplo #1 Un ejemplo de PharData::delete()

<?php
try {
    $phar = new PharData('miphar.zip');
    $phar->delete('desvincular/yo.php');
    // esto es equivalente a:
    unlink('phar://miphar.phar/desvincular/yo.php');
} catch (Exception $e) {
    // manejar errores
}
?>

Ver también

  • Phar::delete() - Borrar un fichero dentro de un archivo phar

PharData::delMetadata
PharData::extractTo
PharData


Extraer el contenido de un archivo tar/zip a un directorio

PharData::delete
PharData::isWritable
PharData
PHP Manual

PharData::extractTo

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::extractTo — Extraer el contenido de un archivo tar/zip a un directorio

Descripción

bool PharData::extractTo ( string $pathto [, string|array $files [, bool $overwrite = false ]] )

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 files 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 ZipArchive::extractTo().

Parámetros

pathto

Ruta donde extraer los ficheros dados por files

files

El nombre de un fichero o directorio a extraer, o un array de ficheros/directorios a extraer.

overwrite

Esteblecer a TRUE para habilitar la sobrescritura de ficheros existentes

Valores devueltos

Devuelve TRUE en caso de éxito, pero es mejor comprobar si lanza alguna excepción, y asumir el éxito si no se lanza ninguna.

Errores/Excepciones

Lanza una excepción de tipo PharException si ocurrió algún error al volcar los cambios al disco.

Ejemplos

Ejemplo #1 Un ejemplo de PharData::extractTo()

<?php
try {
    $phar = new PharData('miphar.tar');
    $phar->extractTo('/ruta/completa'); // extraer todos los ficheros
    $phar->extractTo('/otra/ruta', 'fichero.txt'); // extraer solamente fichero.txt
    $phar->extractTo('/esta/ruta',
        array('fichero1.txt', 'fichero2.txt')); // extraer solamente 2 ficheros
    $phar->extractTo('/tercera/ruta', null, true); // extraer todos los ficheros y sobrescribirlos
} catch (Exception $e) {
    // manejar errores
}
?>

Ver también

  • Phar::extractTo() - Extraer el contenido de un archivo phar a un directorio

PharData::delete
PharData::isWritable
PharData


Devolver si el archivo tar/zip se puede modificar

PharData::extractTo
PharData::offsetSet
PharData
PHP Manual

PharData::isWritable

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::isWritable — Devolver si el archivo tar/zip se puede modificar

Descripción

bool PharData::isWritable ( void )

Este método devuelve TRUE si el archivo tar/zip archive del disco no es de sólo lectura. A diferencia de Phar::isWritable(), los archivos tar/zip de sólo datos se pueden modificar incluso si phar.readonly está establecido a 1.

Parámetros

No tiene parámetros.

Valores devueltos

Devuelve TRUE si el archivo tar/zip puede ser modificado

Ver también

  • Phar::canWrite() - Devolver si la extensión phar soporta la escritura y creación de archivos phar
  • Phar::isWritable() - Devolver si el archivo phar se puede modificar

PharData::extractTo
PharData::offsetSet
PharData


Establecer el contenido de un fichero dentro de un tar/zip a aquel de un fichero o cadena externos

PharData::isWritable
PharData::offsetUnset
PharData
PHP Manual

PharData::offsetSet

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::offsetSet — Establecer el contenido de un fichero dentro de un tar/zip a aquel de un fichero o cadena externos

Descripción

void PharData::offsetSet ( string $offset , string $value )

É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.

Parámetros

offset

El nombre del fichero (ruta relativa) a modificar en un archivo tar o zip.

value

El contenido del fichero.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Lanza un excepción de tipo PharException si existe cualquier problema volcando los cambios hechos al archivo tar/zip al disco.

Ejemplos

Ejemplo #1 Un ejemplo de PharData::offsetSet()

No se debería acceder directamente a offsetSet, en su lugar se utiliza el operador [] para acceder al array.

<?php
$p = new PharData('/ruta/a/mi.phar', 0, 'mi.phar');
try {
    // llama a offsetSet
    $p['fichero.txt'] = 'Hola qué tal';
} catch (Exception $e) {
    echo 'No se pudo modificar fichero.txt:', $e;
}
?>

Ver también

  • Phar::offsetSet() - Establecer el contenido de un fichero interno a aquel de un fichero externo

PharData::isWritable
PharData::offsetUnset
PharData


Eliminar un ficerho de un archivo tar/zip

PharData::offsetSet
PharData::setAlias
PharData
PHP Manual

PharData::offsetUnset

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::offsetUnset — Eliminar un ficerho de un archivo tar/zip

Descripción

bool PharData::offsetUnset ( string $offset )

É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 unset().

Parámetros

offset

El nombre del fichero (ruta relativa) a eliminar en un archivo tar o zip.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza un excepción de tipo PharException si existe cualquier problema volcando los cambios hechos al archivo tar/zip al disco.

Ejemplos

Ejemplo #1 Un ejemplo de PharData::offsetUnset()

<?php
$p = new PharData('/ruta/a/mi.phar', 0, 'mi.phar');
try {
    // borra fichero.txt de mi.phar llamando a offsetUnset
    unset($p['fichero.txt']);
} catch (Exception $e) {
    echo 'No se pudo borrar fichero.txt: ', $e;
}
?>

Ver también

  • Phar::offsetUnset() - Eliminar un fichero de un phar

PharData::offsetSet
PharData::setAlias
PharData


función sin sentido (Phar::setAlias no es válido para PharData)

PharData::offsetUnset
PharData::setDefaultStub
PharData
PHP Manual

PharData::setAlias

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::setAlias — función sin sentido (Phar::setAlias no es válido para PharData)

Descripción

bool PharData::setAlias ( string $alias )

Los archivos tar/zip no ejecutables no pueden tener un alias, por lo que este método simplemente lanza una excepción.

Parámetros

alias

Una cadena abreviada para referirse a este archivo en el acceso con la envoltura de flujo phar. Este parámetro es ignorado.

Valores devueltos

Errores/Excepciones

Lanza una excepción de tipo PharException en todas las llamdas al método

Ver también

  • Phar::setAlias() - Establecer el alias para un archivo Phar

PharData::offsetUnset
PharData::setDefaultStub
PharData


función sin sentido (Phar::setStub no es válido para PharData)

PharData::setAlias
Phar::setMetadata
PharData
PHP Manual

PharData::setDefaultStub

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::setDefaultStub — función sin sentido (Phar::setStub no es válido para PharData)

Descripción

bool PharData::setDefaultStub ([ string $index [, string $webindex ]] )

Los archivos tar/zip no ejecutables no pueden tener una rutina de interoperabilidad, por lo que este método simplemente lanza una excepción.

Parámetros

index

La ruta relativa dentro del archivo phar a ejectuar si se accede desde la línea de comandos

webindex

La ruta relativa dentro del archivo phar a ejectuar si se accede desde un servidor web

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza una excepción de tipo PharException en todas las llamadas al método

Ver también

  • Phar::setDefaultStub() - Establecer el cargador o la rutina de interoperabilidad de un archivo Phar al cargador predeterminado

PharData::setAlias
Phar::setMetadata
PharData


Establecer la metainformación de un archivo phar

PharData::setDefaultStub
Phar::setSignatureAlgorithm
PharData
PHP Manual

Phar::setMetadata

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::setMetadata — Establecer la metainformación de un archivo phar

Descripción

public void Phar::setMetadata ( mixed $metadata )

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

Phar::setMetadata() debería usarse para almacenar información personalizada que describa algo sobre el archivo phar como una entidad completa. PharFileInfo::setMetadata() 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.

Parámetros

metadata

Cualquier variable de PHP que contenga la información a almacenar que describa el archivo phar

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Un ejemplo de Phar::setMetadata()

<?php
// asegurarse de que no existe
@unlink('nuevo_phar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/nuevo_phar.phar', 0, 'nuevo_phar.phar');
    $p['fichero.php'] = '<?php echo "hola"';
    $p->setMetadata(array('bootstrap' => 'fichero.php'));
    var_dump($p->getMetadata());
} catch (Exception $e) {
    echo 'No se pudo crear y/o modificar el phar:', $e;
}
?>

El resultado del ejemplo sería:

array(1) {
  ["bootstrap"]=>
  string(11) "fichero.php"
}

Ver también

  • Phar::getMetadata() - Devolver la metainformación de un archivo phar
  • Phar::delMetadata() - Eliminar la metainformación global del phar
  • Phar::hasMetadata() - Devolver si el phar tiene metainformación global

PharData::setDefaultStub
Phar::setSignatureAlgorithm
PharData


Establecer el algoritmo de firma para un phar y aplicarlo

Phar::setMetadata
PharData::setStub
PharData
PHP Manual

Phar::setSignatureAlgorithm

(PHP >= 5.3.0, PECL phar >= 1.1.0)

Phar::setSignatureAlgorithm — Establecer el algoritmo de firma para un phar y aplicarlo

Descripción

public void Phar::setSignatureAlgorithm ( int $sigtype )

Nota:

Este método requiere que la opción de php.ini phar.readonly esté establecida a 0 para que trabaje con objetos Phar. De otra manera, se lanzará una excepción de tipo PharException.

Establece el algoritmo de firma para un phar y lo aplica. El algoritmo de firma debe ser una de las constantes Phar::MD5, Phar::SHA1, Phar::SHA256, Phar::SHA512, o Phar::OPENSSL. (PGP aún no está soportado y se recurre a SHA-1).

Parámetros

sigtype

Una de las constantes Phar::MD5,
Phar::SHA1, Phar::SHA256,
Phar::SHA512, or Phar::PGP

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Lanza una excepción de tipo UnexpectedValueException para muchos errores, una excepción de tipo BadMethodCallException si se llamó para un archivo basao en zip o en tar, y una excepción de tipo PharException si ocurrió algún problema al volcar los cambios al disco.

Ver también

  • Phar::getSupportedSignatures() - Devolver un array con los tipos de firmas soportados
  • Phar::getSignature() - Devolver la firma MD5/SHA1/SHA256/SHA512/OpenSSL de un archivo Phar

Phar::setMetadata
PharData::setStub
PharData


función sin sentido (Phar::setStub no es válido para PharData)

Phar::setSignatureAlgorithm
PharFileInfo
PharData
PHP Manual

PharData::setStub

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::setStub — función sin sentido (Phar::setStub no es válido para PharData)

Descripción

bool PharData::setStub ( string $stub [, int $len = -1 ] )

Los archivos tar/zip no ejecutables no pueden tener una rutina de interoperabilidad, por lo que este método simplemente lanza una excepción.

Parámetros

stub

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.

len

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza una excepción de tipo PharException en todas las llamadas al método

Historial de cambios

Versión | Descripción
5.4.0 | Se añadió el parámetro len.

Ver también

  • Phar::setStub() - Establecer el cargador de PHP o la rutina de interoperabilidad de un archivo Phar

Phar::setSignatureAlgorithm
PharFileInfo
PharData


La clase PharFileInfo

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Introducción

La clase PharFileInfo proporciona una interfaz de alto nivel para el contenido y los atributos de un único fichero dentro de un archivo phar.

Sinopsis de la Clase

PharFileInfo extends SplFileInfo {
/* Métodos */
public void chmod ( int $permissions )
public bool compress ( int $compression )
public __construct ( string $entry )
public bool decompress ( void )
public bool delMetadata ( void )
public int getCRC32 ( void )
public int getCompressedSize ( void )
public mixed getMetadata ( void )
public int getPharFlags ( void )
public bool hasMetadata ( void )
public bool isCRCChecked ( void )
public bool isCompressed ([ int $compression_type = 9021976 ] )
public bool isCompressedBZIP2 ( void )
public bool isCompressedGZ ( void )
public bool setCompressedBZIP2 ( void )
public bool setCompressedGZ ( void )
public void setMetadata ( mixed $metadata )
public bool setUncompressed ( void )
}

Tabla de contenidos

  • PharFileInfo::chmod — Esteblecer los bits de permiso específicos del fichero
  • PharFileInfo::compress — Comprimir la entrada del Phar actual con la compresión zlib o bzip2
  • PharFileInfo::__construct — Construir un objeto de entrada Phar
  • PharFileInfo::decompress — Descomprimir la entrada Phar actual dentro del phar
  • PharFileInfo::delMetadata — Eliminar la metainformación de una entrada
  • PharFileInfo::getCRC32 — Devolver el códido CRC32 o lanzar una exepción si la CRC no ha sido verificado
  • PharFileInfo::getCompressedSize — Devolver el tamaño real de un fichero (con compresión) dentro de un archivo Phar
  • PharFileInfo::getMetadata — Devolver la metainformación específica de un fichero almacenada con un fichero
  • PharFileInfo::getPharFlags — Devolver las banderas de una entrada de fichero
  • PharFileInfo::hasMetadata — Devolver la metainformación de una entrada
  • PharFileInfo::isCRCChecked — Devolver si la entrada de fichero tiene su CRC verificada
  • PharFileInfo::isCompressed — Devolver si la entrada está comprimida
  • PharFileInfo::isCompressedBZIP2 — Devolver si la entrada está comprimida con bzip2
  • PharFileInfo::isCompressedGZ — Devolver si la entrada está comprimida con gz
  • PharFileInfo::setCompressedBZIP2 — Comprimir la entrada actual de un Phar dentro del phar usando la compresión Bzip2
  • PharFileInfo::setCompressedGZ — Comprimir la entrada actual de un Phar dentro del phar usando la compresión gz
  • PharFileInfo::setMetadata — Establecer la metainformación específica de un fichero almacenda con un fichero
  • PharFileInfo::setUncompressed — Descomprimir la entrada actual del Phar dentro del phar, si está comprimida
PharData::setStub
PharFileInfo::chmod
Phar


Esteblecer los bits de permiso específicos del fichero

PharFileInfo
PharFileInfo::compress
PharFileInfo
PHP Manual

PharFileInfo::chmod

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::chmod — Esteblecer los bits de permiso específicos del fichero

Descripción

public void PharFileInfo::chmod ( int $permissions )

PharFileInfo::chmod() 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 Phar. Los ficheros dentro de archivos PharData no tienen esta restricción.

Parámetros

permissions

Los permisos (véase chmod())

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Un ejemplo de PharFileInfo::chmod()

<?php
// asegurarse de que no existe
@unlink('nuevo_phar.phar');
try {
    $p = new Phar('nuevo_phar.phar', 0, 'nuevo_phar.phar');
    $p['fichero.sh'] = '#!/usr/local/lib/php
    <?php echo "hi"; ?>';
    // establecer el bit ejecutable
    $p['fichero.sh']->chmod(0555);
    var_dump($p['fichero.sh']->isExecutable());
} catch (Exception $e) {
    echo 'No se pudo crear/modificar el phar: ', $e;
}
?>

El resultado del ejemplo sería:

bool(true)

PharFileInfo
PharFileInfo::compress
PharFileInfo


Comprimir la entrada del Phar actual con la compresión zlib o bzip2

PharFileInfo::chmod
PharFileInfo::__construct
PharFileInfo
PHP Manual

PharFileInfo::compress

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharFileInfo::compress — Comprimir la entrada del Phar actual con la compresión zlib o bzip2

Descripción

public bool PharFileInfo::compress ( int $compression )

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 Phar. Los ficheros dentro de archivos PharData no tienen esta restricción.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza una excepción de tipo BadMethodCallException si la variable INI phar.readonly está activada, la extensión bzip2/zlib no está disponible.

Ejemplos

Ejemplo #1 Un ejemplo de PharFileInfo::compress()

<?php
try {
    $p = new Phar('/ruta/a/mi.phar', 0, 'mi.phar');
    $p['mifichero.txt'] = 'hola';
    $fichero = $p['mifichero.txt'];
    var_dump($fichero->isCompressed(Phar::BZ2));
    $p['mifichero.txt']->compress(Phar::BZ2);
    var_dump($fichero->isCompressed(Phar::BZ2));
} catch (Exception $e) {
    echo 'Falló la operación de crear/modificar mi.phar: ', $e;
}
?>

El resultado del ejemplo sería:

bool(false)
bool(true)

Ver también

  • PharFileInfo::getCompressedSize() - Devolver el tamaño real de un fichero (con compresión) dentro de un archivo Phar
  • PharFileInfo::isCompressed() - Devolver si la entrada está comprimida
  • PharFileInfo::decompress() - Descomprimir la entrada Phar actual dentro del phar
  • Phar::canCompress() - Devuelve si la extensión phar soporta la compresión usando zlib o bzip2
  • Phar::isCompressed() - Devuelve Phar::GZ oPHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.)
  • Phar::compressFiles() - Comprime todos los ficheros del archivo Phar actual
  • Phar::decompressFiles() - Descomprimir todos los ficheros del archivo Phar actual
  • Phar::compress() - Comprimir el archivo Phar entero usando la compresión Gzip o Bzip2
  • Phar::decompress() - Descomprimir un archivo Phar entero
  • Phar::getSupportedCompression() - Devolver un array de los algoritmos de compresión soportados

PharFileInfo::chmod
PharFileInfo::__construct
PharFileInfo


Construir un objeto de entrada Phar

PharFileInfo::compress
PharFileInfo::decompress
PharFileInfo
PHP Manual

PharFileInfo::__construct

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::__construct — Construir un objeto de entrada Phar

Descripción

public PharFileInfo::__construct ( string $entry )

Este método no debería llamarse directamente. En su lugar, un objeto de la clase PharFileInfo se inicializa al llamar a Phar::offsetGet() a traves del acceso a un array.

Parámetros

entry

La URL completa para recuperar un fichero. Si se desea recuperar la informacion del fichoer mi/fichero.php desde el phar boo.phar, la entrada debería ser phar://boo.phar/mi/fichero.php.

Errores/Excepciones

Lanza una excepción de tipo BadMethodCallException si __construct() es llamado dos veces. Lanza una excepción de tipo UnexpectedValueException si la URL del phar solicitado está malformada, el phar solicitado no se puede abrir, o el fichero no se puede encontrar dentro del phar.

Ejemplos

Ejemplo #1 Un ejemplo de PharFileInfo::__construct()

<?php
try {
    $p = new Phar('/ruta/a/mi.phar', 0, 'mi.phar');
    $p['fichero_prueba.txt'] = "hola\nqué tal\namigo";
    $fichero = $p['fichero_prueba.txt'];
    foreach ($fichero as $línea => $texto) {
        echo "línea número $línea: $texto";
    }
    // esto también funciona
    $fichero = new PharFileInfo('phar:///ruta/a/mi.phar/fichero_prueba.txt');
    foreach ($fichero as $línea => $texto) {
        echo "línea número $línea: $texto";
    }
} catch (Exception $e) {
    echo 'Las operaciones Phar fallaron: ', $e;
}
?>

El resultado del ejemplo sería:

línea número 1: hola
línea número 2: qué tal
línea número 3: amigo
línea número 1: hola
línea número 2: qué tal
línea número 3: amigo

PharFileInfo::compress
PharFileInfo::decompress
PharFileInfo


Descomprimir la entrada Phar actual dentro del phar

PharFileInfo::__construct
PharFileInfo::delMetadata
PharFileInfo
PHP Manual

PharFileInfo::decompress

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharFileInfo::decompress — Descomprimir la entrada Phar actual dentro del phar

Descripción

public bool PharFileInfo::decompress ( void )

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 Phar. Los ficheros dentro de archivos PharData no tienen esta restricción.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza una excepción de tipo BadMethodCallException si la variable INI phar.readonly está activada, la extensión bzip2/zlib no está disponible.

Ejemplos

Ejemplo #1 Un ejemplo de PharFileInfo::decompress()

<?php
try {
    $p = new Phar('/ruta/a/mi.phar', 0, 'mi.phar');
    $p['mifichero.txt'] = 'hola';
    $fichero = $p['mifichero.txt'];
    $fichero->compress(Phar::GZ);
    var_dump($fichero->isCompressed());
    $p['mifichero.txt']->decompress();
    var_dump($fichero->isCompressed());
} catch (Exception $e) {
    echo 'La operación de crear/modificar mi.phar falló: ', $e;
}
?>

El resultado del ejemplo sería:

int(4096)
bool(false)

Ver también

  • PharFileInfo::getCompressedSize() - Devolver el tamaño real de un fichero (con compresión) dentro de un archivo Phar
  • PharFileInfo::isCompressed() - Devolver si la entrada está comprimida
  • PharFileInfo::compress() - Comprimir la entrada del Phar actual con la compresión zlib o bzip2
  • Phar::canCompress() - Devuelve si la extensión phar soporta la compresión usando zlib o bzip2
  • Phar::isCompressed() - Devuelve Phar::GZ oPHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.)
  • Phar::compressFiles() - Comprime todos los ficheros del archivo Phar actual
  • Phar::decompressFiles() - Descomprimir todos los ficheros del archivo Phar actual
  • Phar::compress() - Comprimir el archivo Phar entero usando la compresión Gzip o Bzip2
  • Phar::decompress() - Descomprimir un archivo Phar entero
  • Phar::getSupportedCompression() - Devolver un array de los algoritmos de compresión soportados

PharFileInfo::__construct
PharFileInfo::delMetadata
PharFileInfo


Eliminar la metainformación de una entrada

PharFileInfo::decompress
PharFileInfo::getCRC32
PharFileInfo
PHP Manual

PharFileInfo::delMetadata

(PHP >= 5.3.0, PECL phar >= 1.2.0)

PharFileInfo::delMetadata — Eliminar la metainformación de una entrada

Descripción

public bool PharFileInfo::delMetadata ( void )

Eliminar la metainformación de una entrada, si existe.

Parámetros

No parameters.

Valores devueltos

Devuelve TRUE en caso de éxito, FALSE 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 Phar. Los ficheros dentro de archivos PharData no tienen esta restricción.

Errores/Excepciones

Lanza una excepción de tipo PharException si ocurrió algún error al volcar los cambios al disco, y una excepción de tipo BadMethodCallException si el acceso a escritura está deshabilitado.

Ejemplos

Ejemplo #1 Un ejemplo de PharFileInfo::delMetaData()

<?php
try {
    $a = new Phar('miphar.phar');
    $a['hola'] = 'hola';
    var_dump($a['hola']->delMetadata());
    $a['hola']->setMetadata('qué tal');
    var_dump($a['hola']->delMetadata());
    var_dump($a['hola']->delMetadata());
} catch (Exception $e) {
    // manejar errores
}
?>

El resultado del ejemplo sería:

bool(false)
bool(true)
bool(false)

Ver también

  • PharFileInfo::setMetadata() - Establecer la metainformación específica de un fichero almacenda con un fichero
  • PharFileInfo::hasMetadata() - Devolver la metainformación de una entrada
  • PharFileInfo::getMetadata() - Devolver la metainformación específica de un fichero almacenada con un fichero
  • Phar::setMetadata() - Establecer la metainformación de un archivo phar
  • Phar::hasMetadata() - Devolver si el phar tiene metainformación global
  • Phar::getMetadata() - Devolver la metainformación de un archivo phar

PharFileInfo::decompress
PharFileInfo::getCRC32
PharFileInfo


Devolver el códido CRC32 o lanzar una exepción si la CRC no ha sido verificado

PharFileInfo::delMetadata
PharFileInfo::getCompressedSize
PharFileInfo
PHP Manual

PharFileInfo::getCRC32

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::getCRC32 — Devolver el códido CRC32 o lanzar una exepción si la CRC no ha sido verificado

Descripción

public int PharFileInfo::getCRC32 ( void )

Este método devuelve la suma de verificación crc32() del fichero dentro de un archivo Phar.

Valores devueltos

La suma de verificaicón crc32() de un fichero dentro de un archivo Phar.

Errores/Excepciones

Lanza una excepción de tipo BadMethodCallException si el fichero no tiene aún su CRC32 verificado. Esto sería imposible con un uso normal, ya que la CRC es verificada al abrir el fichero para lectura o escritura.

Ejemplos

Ejemplo #1 Un ejemplo de PharFileInfo::getCRC32()

<?php
try {
    $p = new Phar('/ruta/a/mi.phar', 0, 'mi.phar');
    $p['mifichero.txt'] = 'hola';
    $fichero = $p['mifichero.txt'];
    echo $fichero->getCRC32();
} catch (Exception $e) {
    echo 'Las operaciones de escritura sobre mi.phar.phar fallaron: ', $e;
}
?>

El resultado del ejemplo sería:

1872820616

PharFileInfo::delMetadata
PharFileInfo::getCompressedSize
PharFileInfo


Devolver el tamaño real de un fichero (con compresión) dentro de un archivo Phar

PharFileInfo::getCRC32
PharFileInfo::getMetadata
PharFileInfo
PHP Manual

PharFileInfo::getCompressedSize

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::getCompressedSize — Devolver el tamaño real de un fichero (con compresión) dentro de un archivo Phar

Descripción

public int PharFileInfo::getCompressedSize ( void )

Devuelve el tamaño del fichero dentro del archivo Phar. Los ficheros no comprimidos devolverán el mismo valor que si se utilizara filesize() en vez de filesize()

Valores devueltos

El tamaño en bytes del fichero dentro del archivo Phar en disco.

Ejemplos

Ejemplo #1 Un ejemplo de PharFileInfo::getCompressedSize()

<?php
try {
    $p = new Phar('/ruta/a/mi.phar', 0, 'mi.phar');
    $p['mifichero.txt'] = 'hola';
    $fichero = $p['mifichero.txt'];
    echo $fichero->getCompressedSize();
} catch (Exception $e) {
    echo 'Las operaciones de escritura sobre mi.phar fallaron: ', $e;
}
?>

El resultado del ejemplo sería:

2

Ver también

  • PharFileInfo::isCompressed() - Devolver si la entrada está comprimida
  • PharFileInfo::decompress() - Descomprimir la entrada Phar actual dentro del phar
  • PharFileInfo::compress() - Comprimir la entrada del Phar actual con la compresión zlib o bzip2
  • Phar::canCompress() - Devuelve si la extensión phar soporta la compresión usando zlib o bzip2
  • Phar::isCompressed() - Devuelve Phar::GZ oPHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.)
  • Phar::compress() - Comprimir el archivo Phar entero usando la compresión Gzip o Bzip2
  • Phar::decompress() - Descomprimir un archivo Phar entero
  • Phar::getSupportedCompression() - Devolver un array de los algoritmos de compresión soportados
  • Phar::decompressFiles() - Descomprimir todos los ficheros del archivo Phar actual
  • Phar::compressFiles() - Comprime todos los ficheros del archivo Phar actual

PharFileInfo::getCRC32
PharFileInfo::getMetadata
PharFileInfo


Devolver la metainformación específica de un fichero almacenada con un fichero

PharFileInfo::getCompressedSize
PharFileInfo::getPharFlags
PharFileInfo
PHP Manual

PharFileInfo::getMetadata

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::getMetadata — Devolver la metainformación específica de un fichero almacenada con un fichero

Descripción

public mixed PharFileInfo::getMetadata ( void )

Devuelve la metainformación que fue almacenada en el manifiesto del archivo Phar para este fichero.

Parámetros

Valores devueltos

Cualquier variable de PHP que pueda ser serializada y almacenada como metainformación del fichero, o NULL si no hay metainformación almacenada.

Ejemplos

Ejemplo #1 Un ejemplo de PharFileInfo::getMetadata()

<?php
// asegurarse de que no existe
@unlink('nuevo_phar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/nuevo_phar.phar', 0, 'nuevo_phar.phar');
    $p['fichero.txt'] = 'hello';
    $p['fichero.txt']->setMetadata(array('usuario' => 'bill', 'tipo-mime' => 'text/plain'));
    var_dump($p['fichero.txt']->getMetadata());
} catch (Exception $e) {
    echo 'No se pudo crear y/o modificar nuevo_phar.phar:', $e;
}
?>

El resultado del ejemplo sería:

array(2) {
  ["usuario"]=>
  string(4) "bill"
  ["tipo-mime"]=>
  string(10) "text/plain"
}

Ver también

  • PharFileInfo::setMetadata() - Establecer la metainformación específica de un fichero almacenda con un fichero
  • PharFileInfo::hasMetadata() - Devolver la metainformación de una entrada
  • PharFileInfo::delMetadata() - Eliminar la metainformación de una entrada
  • Phar::setMetadata() - Establecer la metainformación de un archivo phar
  • Phar::hasMetadata() - Devolver si el phar tiene metainformación global
  • Phar::getMetadata() - Devolver la metainformación de un archivo phar

PharFileInfo::getCompressedSize
PharFileInfo::getPharFlags
PharFileInfo


Devolver las banderas de una entrada de fichero

PharFileInfo::getMetadata
PharFileInfo::hasMetadata
PharFileInfo
PHP Manual

PharFileInfo::getPharFlags

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::getPharFlags — Devolver las banderas de una entrada de fichero

Descripción

public int PharFileInfo::getPharFlags ( void )

Este método devuelve las banderas establecidas en el manifiesto de un Phar. Siempre devolverá 0 en la implementacion actual.

Valores devueltos

Las banderas del Phar (siempre 0 en la implementacion actual)

Ejemplos

Ejemplo #1 Un ejemplo de PharFileInfo::getPharFlags()

<?php
try {
    $p = new Phar('/ruta/a/mi.phar', 0, 'mi.phar');
    $p['mifichero.txt'] = 'hola';
    $fichero = $p['mifichero.txt'];
    var_dump($fichero->getPharFlags());
} catch (Exception $e) {
    echo 'No se pudo crear/modificar my.phar: ', $e;
}
?>

El resultado del ejemplo sería:

int(0)

PharFileInfo::getMetadata
PharFileInfo::hasMetadata
PharFileInfo


Devolver la metainformación de una entrada

PharFileInfo::getPharFlags
PharFileInfo::isCRCChecked
PharFileInfo
PHP Manual

PharFileInfo::hasMetadata

(PHP >= 5.3.0, PECL phar >= 1.2.0)

PharFileInfo::hasMetadata — Devolver la metainformación de una entrada

Descripción

public bool PharFileInfo::hasMetadata ( void )

Devuelve la metainformación de una fichero dentro de un archivo phar.

Parámetros

No tiene parámetros.

Valores devueltos

Devuelve FALSE si no está establecida la metainformación o es NULL, TRUE si la metainformación no es NULL

Ver también

  • PharFileInfo::setMetadata() - Establecer la metainformación específica de un fichero almacenda con un fichero
  • PharFileInfo::getMetadata() - Devolver la metainformación específica de un fichero almacenada con un fichero
  • PharFileInfo::delMetadata() - Eliminar la metainformación de una entrada
  • Phar::setMetadata() - Establecer la metainformación de un archivo phar
  • Phar::hasMetadata() - Devolver si el phar tiene metainformación global
  • Phar::getMetadata() - Devolver la metainformación de un archivo phar

PharFileInfo::getPharFlags
PharFileInfo::isCRCChecked
PharFileInfo


Devolver si la entrada de fichero tiene su CRC verificada

PharFileInfo::hasMetadata
PharFileInfo::isCompressed
PharFileInfo
PHP Manual

PharFileInfo::isCRCChecked

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::isCRCChecked — Devolver si la entrada de fichero tiene su CRC verificada

Descripción

public bool PharFileInfo::isCRCChecked ( void )

Este método devuelve si un fichero dentro de un archivo Phar tiene su CRC verificada.

Valores devueltos

TRUE si el fichero tiene su CRC verificada, FALSE si no.

Ejemplos

Ejemplo #1 Un ejemplo de PharFileInfo::isCRCChecked()

<?php
try {
    $p = new Phar('/ruta/a/mi.phar', 0, 'mi.phar');
    $p['mifichero.txt'] = 'hola';
    $fichero = $p['mifichero.txt'];
    var_dump($fichero->isCRCChecked());
} catch (Exception $e) {
    echo 'Las operaciones de creación/modificación sobre mi.phar fallaron: ', $e;
}
?>

El resultado del ejemplo sería:

bool(true)

PharFileInfo::hasMetadata
PharFileInfo::isCompressed
PharFileInfo


Devolver si la entrada está comprimida

PharFileInfo::isCRCChecked
PharFileInfo::isCompressedBZIP2
PharFileInfo
PHP Manual

PharFileInfo::isCompressed

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::isCompressed — Devolver si la entrada está comprimida

Descripción

public bool PharFileInfo::isCompressed ([ int $compression_type = 9021976 ] )

Este método devuelve si un fichero está comprimido dentro de un archivo Phar con la compresión Gzip o Bzip2.

Parámetros

compression_type

Una de las constantes Phar::GZ o Phar::BZ2, por defecto es cualquier compresión.

Valores devueltos

TRUE si el fichero está comprimido dentro del archivo Phar, FALSE si no.

Ejemplos

Ejemplo #1 Un ejemplo de PharFileInfo::isCompressed()

<?php
try {
    $p = new Phar('/ruta/a/mi.phar', 0, 'mi.phar');
    $p['mifichero.txt'] = 'hola';
    $p['mifichero2.txt'] = 'hola';
    $p['mifichero2.txt']->setCompressedGZ();
    $fichero = $p['mifichero.txt'];
    $fichero2 = $p['mifichero2.txt'];
    var_dump($fichero ->isCompressed());
    var_dump($fichero 2->isCompressed());
} catch (Exception $e) {
    echo 'La creación/modificación del phar mi.phar falló: ', $e;
}
?>

El resultado del ejemplo sería:

bool(false)
bool(true)

Ver también

  • PharFileInfo::getCompressedSize() - Devolver el tamaño real de un fichero (con compresión) dentro de un archivo Phar
  • PharFileInfo::decompress() - Descomprimir la entrada Phar actual dentro del phar
  • PharFileInfo::compress() - Comprimir la entrada del Phar actual con la compresión zlib o bzip2
  • Phar::decompress() - Descomprimir un archivo Phar entero
  • Phar::compress() - Comprimir el archivo Phar entero usando la compresión Gzip o Bzip2
  • Phar::canCompress() - Devuelve si la extensión phar soporta la compresión usando zlib o bzip2
  • Phar::isCompressed() - Devuelve Phar::GZ oPHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.)
  • Phar::getSupportedCompression() - Devolver un array de los algoritmos de compresión soportados
  • Phar::decompressFiles() - Descomprimir todos los ficheros del archivo Phar actual
  • Phar::compressFiles() - Comprime todos los ficheros del archivo Phar actual

PharFileInfo::isCRCChecked
PharFileInfo::isCompressedBZIP2
PharFileInfo


Devolver si la entrada está comprimida con bzip2

PharFileInfo::isCompressed
PharFileInfo::isCompressedGZ
PharFileInfo
PHP Manual

PharFileInfo::isCompressedBZIP2

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::isCompressedBZIP2 — Devolver si la entrada está comprimida con bzip2

Descripción

public bool PharFileInfo::isCompressedBZIP2 ( void )

Nota:

Este método ha sido eliminado de la extensión Phar a partir de la versión 2.0.0. Implementaciones alternativas están disponibles utilizando PharFileInfo::isCompressed(), PharFileInfo::decompress(), y PharFileInfo::compress().

Este método devuelve si un fichero está comprimido dentro de un archivo Phar con la compresión Bzip2.

Valores devueltos

TRUE si el fichero está comprimido con Bzip2 dentro del archivo Phar, FALSE si no.

Ejemplos

Ejemplo #1 Un ejemplo de PharFileInfo::isCompressedBZIP2()

<?php
try {
    $p = new Phar('/ruta/a/mi.phar', 0, 'mi.phar');
    $p['mifichero.txt'] = 'hola';
    $p['mifichero2.txt'] = 'hola';
    $p['mifichero3.txt'] = 'hola';
    $p['mifichero2.txt']->setCompressedGZ();
    $p['mifichero3.txt']->setCompressedBZIP2();
    $fichero = $p['mifichero.txt'];
    $fichero2 = $p['mifichero2.txt'];
    $fichero3 = $p['mifichero3.txt'];
    var_dump($fichero->isCompressedBZIP2());
    var_dump($fichero2->isCompressedBZIP2());
    var_dump($fichero3->isCompressedBZIP2());
} catch (Exception $e) {
    echo 'La creación/modificación del phar mi.phar falló: ', $e;
}
?>

El resultado del ejemplo sería:

bool(false)
bool(false)
bool(true)

Ver también

  • PharFileInfo::getCompressedSize() - Devolver el tamaño real de un fichero (con compresión) dentro de un archivo Phar
  • PharFileInfo::isCompressed() - Devolver si la entrada está comprimida
  • PharFileInfo::isCompressedGZ() - Devolver si la entrada está comprimida con gz
  • PharFileInfo::setCompressedBZIP2() - Comprimir la entrada actual de un Phar dentro del phar usando la compresión Bzip2
  • PharFileInfo::setUncompressed() - Descomprimir la entrada actual del Phar dentro del phar, si está comprimida
  • PharFileInfo::setCompressedGZ() - Comprimir la entrada actual de un Phar dentro del phar usando la compresión gz
  • Phar::canCompress() - Devuelve si la extensión phar soporta la compresión usando zlib o bzip2
  • Phar::isCompressed() - Devuelve Phar::GZ oPHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.)
  • Phar::compressAllFilesBZIP2() - Comprimir todos los ficheros del archivo Phar actual usando la compresión Bzip2
  • Phar::compressAllFilesGZ() - Comprimir todos los ficheros del archivo Phar actual usando la compresión Gzip
  • Phar::getSupportedCompression() - Devolver un array de los algoritmos de compresión soportados
  • Phar::uncompressAllFiles() - Descomprimir todos los ficheros del archivo Phar actual

PharFileInfo::isCompressed
PharFileInfo::isCompressedGZ
PharFileInfo


Devolver si la entrada está comprimida con gz

PharFileInfo::isCompressedBZIP2
PharFileInfo::setCompressedBZIP2
PharFileInfo
PHP Manual

PharFileInfo::isCompressedGZ

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::isCompressedGZ — Devolver si la entrada está comprimida con gz

Descripción

public bool PharFileInfo::isCompressedGZ ( void )

Nota:

Este método ha sido eliminado de la extensión Phar a partir de la versión 2.0.0. Implementaciones alternativas están disponibles utilizando PharFileInfo::isCompressed(), PharFileInfo::decompress(), y PharFileInfo::compress().

Este método devuelve si un fichero está comprimido dentro de un archivo Phar con la compresión Gzip.

Valores devueltos

TRUE si el fichero está comprimido con Gzip dentro del archivo Phar, FALSE si no.

Ejemplos

Ejemplo #1 Un ejemplo de PharFileInfo::isCompressedGZ()

<?php
try {
    $p = new Phar('/ruta/a/mi.phar', 0, 'mi.phar');
    $p['mifichero.txt'] = 'hola';
    $p['mifichero2.txt'] = 'hola';
    $p['mifichero3.txt'] = 'hola';
    $p['mifichero2.txt']->setCompressedGZ();
    $p['mifichero3.txt']->setCompressedBZIP2();
    $fichero = $p['mifichero.txt'];
    $fichero2 = $p['mifichero2.txt'];
    $fichero3 = $p['mifichero3.txt'];
    var_dump($fichero->isCompressedGZ());
    var_dump($fichero2->isCompressedGZ());
    var_dump($fichero3->isCompressedGZ());
} catch (Exception $e) {
    echo 'La creación/modificación del phar mi.phar falló: ', $e;
}
?>

El resultado del ejemplo sería:

bool(false)
bool(true)
bool(false)

Ver también

  • PharFileInfo::getCompressedSize() - Devolver el tamaño real de un fichero (con compresión) dentro de un archivo Phar
  • PharFileInfo::isCompressedBZIP2() - Devolver si la entrada está comprimida con bzip2
  • PharFileInfo::isCompressed() - Devolver si la entrada está comprimida
  • PharFileInfo::setCompressedBZIP2() - Comprimir la entrada actual de un Phar dentro del phar usando la compresión Bzip2
  • PharFileInfo::setUncompressed() - Descomprimir la entrada actual del Phar dentro del phar, si está comprimida
  • PharFileInfo::setCompressedGZ() - Comprimir la entrada actual de un Phar dentro del phar usando la compresión gz
  • Phar::canCompress() - Devuelve si la extensión phar soporta la compresión usando zlib o bzip2
  • Phar::isCompressed() - Devuelve Phar::GZ oPHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.)
  • Phar::compressAllFilesBZIP2() - Comprimir todos los ficheros del archivo Phar actual usando la compresión Bzip2
  • Phar::compressAllFilesGZ() - Comprimir todos los ficheros del archivo Phar actual usando la compresión Gzip
  • Phar::getSupportedCompression() - Devolver un array de los algoritmos de compresión soportados
  • Phar::uncompressAllFiles() - Descomprimir todos los ficheros del archivo Phar actual

PharFileInfo::isCompressedBZIP2
PharFileInfo::setCompressedBZIP2
PharFileInfo


Comprimir la entrada actual de un Phar dentro del phar usando la compresión Bzip2

PharFileInfo::isCompressedGZ
PharFileInfo::setCompressedGZ
PharFileInfo
PHP Manual

PharFileInfo::setCompressedBZIP2

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::setCompressedBZIP2 — Comprimir la entrada actual de un Phar dentro del phar usando la compresión Bzip2

Descripción

public bool PharFileInfo::setCompressedBZIP2 ( void )

Nota:

Este método ha sido eliminado de la extensión Phar a partir de la versión 2.0.0. Implementaciones alternativas están disponibles utilizando PharFileInfo::isCompressed(), PharFileInfo::decompress(), y PharFileInfo::compress().

Este método comprime el fichero dentro del archivo Phar usando la compresión bzip2. La extensión bzip2 debe estar habilitada para aprovechar esta característica. Además, si el fichero ya está comprimido con la compresión gzip, la extensión zlib 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.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza una excepción de tipo BadMethodCallException si la variable INI phar.readonly está activada, la extensión bzip2 no está disponible.

Ejemplos

Ejemplo #1 Un ejemplo de PharFileInfo::setCompressedBZIP2()

<?php
try {
    $p = new Phar('/ruta/a/mi.phar', 0, 'mi.phar');
    $p['mifichero.txt'] = 'hi';
    $fichero = $p['mifichero.txt'];
    var_dump($fichero->isCompressedBZIP2());
    $p['mifichero.txt']->setCompressedBZIP2();
    var_dump($fichero->isCompressedBZIP2());
} catch (Exception $e) {
    echo 'La operación de creación/modificación sobre mi.phar falló: ', $e;
}
?>

El resultado del ejemplo sería:

bool(false)
bool(true)

Ver también

  • PharFileInfo::getCompressedSize() - Devolver el tamaño real de un fichero (con compresión) dentro de un archivo Phar
  • PharFileInfo::isCompressedBZIP2() - Devolver si la entrada está comprimida con bzip2
  • PharFileInfo::isCompressed() - Devolver si la entrada está comprimida
  • PharFileInfo::isCompressedGZ() - Devolver si la entrada está comprimida con gz
  • PharFileInfo::setUncompressed() - Descomprimir la entrada actual del Phar dentro del phar, si está comprimida
  • PharFileInfo::setCompressedGZ() - Comprimir la entrada actual de un Phar dentro del phar usando la compresión gz
  • Phar::canCompress() - Devuelve si la extensión phar soporta la compresión usando zlib o bzip2
  • Phar::isCompressed() - Devuelve Phar::GZ oPHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.)
  • Phar::compressAllFilesBZIP2() - Comprimir todos los ficheros del archivo Phar actual usando la compresión Bzip2
  • Phar::compressAllFilesGZ() - Comprimir todos los ficheros del archivo Phar actual usando la compresión Gzip
  • Phar::getSupportedCompression() - Devolver un array de los algoritmos de compresión soportados
  • Phar::uncompressAllFiles() - Descomprimir todos los ficheros del archivo Phar actual

PharFileInfo::isCompressedGZ
PharFileInfo::setCompressedGZ
PharFileInfo


Comprimir la entrada actual de un Phar dentro del phar usando la compresión gz

PharFileInfo::setCompressedBZIP2
PharFileInfo::setMetadata
PharFileInfo
PHP Manual

PharFileInfo::setCompressedGZ

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::setCompressedGZ — Comprimir la entrada actual de un Phar dentro del phar usando la compresión gz

Descripción

public bool PharFileInfo::setCompressedGZ ( void )

Nota:

Este método ha sido eliminado de la extensión Phar a partir de la versión 2.0.0. Implementaciones alternativas están disponibles utilizando PharFileInfo::isCompressed(), PharFileInfo::decompress(), y PharFileInfo::compress().

Este método comprime el fichero dentro del archivo Phar usando la compresión gzip. La extensión zlib debe estar habilitada para aprovechar esta característica. Además, si el fichero ya está comprimido con la compresión bzip2 , la extensión bzip2 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.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza una excepción de tipo BadMethodCallException si la variable INI phar.readonly está activada, la extensión zlib no está disponible.

Ejemplos

Ejemplo #1 Un ejemplo de PharFileInfo::setCompressedGZ()

<?php
try {
    $p = new Phar('/ruta/a/mi.phar', 0, 'mi.phar');
    $p['mifichero.txt'] = 'hi';
    $fichero = $p['mifichero.txt'];
    var_dump($fichero->isCompressedGZ());
    $p['mifichero.txt']->setCompressedGZ();
    var_dump($fichero->isCompressedGZ());
} catch (Exception $e) {
    echo 'La operación de creación/modificación sobre mi.phar falló: ', $e;
}
?>

El resultado del ejemplo sería:

bool(false)
bool(true)

Ver también

  • PharFileInfo::getCompressedSize() - Devolver el tamaño real de un fichero (con compresión) dentro de un archivo Phar
  • PharFileInfo::isCompressedBZIP2() - Devolver si la entrada está comprimida con bzip2
  • PharFileInfo::isCompressed() - Devolver si la entrada está comprimida
  • PharFileInfo::isCompressedGZ() - Devolver si la entrada está comprimida con gz
  • PharFileInfo::setCompressedBZIP2() - Comprimir la entrada actual de un Phar dentro del phar usando la compresión Bzip2
  • PharFileInfo::setUncompressed() - Descomprimir la entrada actual del Phar dentro del phar, si está comprimida
  • Phar::canCompress() - Devuelve si la extensión phar soporta la compresión usando zlib o bzip2
  • Phar::isCompressed() - Devuelve Phar::GZ oPHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.)
  • Phar::compressAllFilesBZIP2() - Comprimir todos los ficheros del archivo Phar actual usando la compresión Bzip2
  • Phar::compressAllFilesGZ() - Comprimir todos los ficheros del archivo Phar actual usando la compresión Gzip
  • Phar::getSupportedCompression() - Devolver un array de los algoritmos de compresión soportados
  • Phar::uncompressAllFiles() - Descomprimir todos los ficheros del archivo Phar actual

PharFileInfo::setCompressedBZIP2
PharFileInfo::setMetadata
PharFileInfo


Establecer la metainformación específica de un fichero almacenda con un fichero

PharFileInfo::setCompressedGZ
PharFileInfo::setUncompressed
PharFileInfo
PHP Manual

PharFileInfo::setMetadata

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::setMetadata — Establecer la metainformación específica de un fichero almacenda con un fichero

Descripción

public void PharFileInfo::setMetadata ( mixed $metadata )

PharFileInfo::setMetadata() 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 PharFileInfo::chmod(). 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 Phar. Los ficheros dentro de archivos PharData 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.

Parámetros

metadata

Cualquier variable de PHP que contenga información a almacenar junto a un fichero

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Un ejemplo de PharFileInfo::setMetadata()

<?php
// asegurarse de que no existe
@unlink('nuevo_phar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/nuevo_phar.phar', 0, 'nuevo_phar.phar');
    $p['fichero.txt'] = 'hola';
    $p['fichero.txt']->setMetadata(array('usuario' => 'bill', 'tipo-mime' => 'text/plain'));
    var_dump($p['fichero.txt']->getMetadata());
} catch (Exception $e) {
    echo 'No se pudo crear y/o modificar el phar:', $e;
}
?>

El resultado del ejemplo sería:

array(2) {
  ["usuario"]=>
  string(4) "bill"
  ["tipo-mime"]=>
  string(10) "text/plain"
}

Ver también

  • PharFileInfo::hasMetadata() - Devolver la metainformación de una entrada
  • PharFileInfo::getMetadata() - Devolver la metainformación específica de un fichero almacenada con un fichero
  • PharFileInfo::delMetadata() - Eliminar la metainformación de una entrada
  • Phar::setMetadata() - Establecer la metainformación de un archivo phar
  • Phar::hasMetadata() - Devolver si el phar tiene metainformación global
  • Phar::getMetadata() - Devolver la metainformación de un archivo phar

PharFileInfo::setCompressedGZ
PharFileInfo::setUncompressed
PharFileInfo


Descomprimir la entrada actual del Phar dentro del phar, si está comprimida

PharFileInfo::setMetadata
PharException
PharFileInfo
PHP Manual

PharFileInfo::setUncompressed

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::setUncompressed — Descomprimir la entrada actual del Phar dentro del phar, si está comprimida

Descripción

public bool PharFileInfo::setUncompressed ( void )

Nota:

Este método ha sido eliminado de la extensión Phar a partir de la versión 2.0.0. Implementaciones alternativas están disponibles utilizando PharFileInfo::isCompressed(), PharFileInfo::decompress(), y PharFileInfo::compress().

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.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza una excepción de tipo BadMethodCallException si la variable INI phar.readonly está activada, la extensión bzip2/zlib no está disponible.

Ejemplos

Ejemplo #1 Un ejemplo de PharFileInfo::setUncompressed()

<?php
try {
    $p = new Phar('/ruta/a/mi.phar', 0, 'mi.phar');
    $p['mifichero.txt'] = 'hola';
    $fichero = $p['mifichero.txt'];
    $fichero->setCompressedGZ();
    var_dump($fichero->isCompressed());
    $p['mifichero.txt']->setUncompressed();
    var_dump($fichero->isCompressed());
} catch (Exception $e) {
    echo 'La operación de crear/modificar mi.phar falló: ', $e;
}
?>

El resultado del ejemplo sería:

bool(true)
bool(false)

Ver también

  • PharFileInfo::getCompressedSize() - Devolver el tamaño real de un fichero (con compresión) dentro de un archivo Phar
  • PharFileInfo::isCompressedBZIP2() - Devolver si la entrada está comprimida con bzip2
  • PharFileInfo::isCompressed() - Devolver si la entrada está comprimida
  • PharFileInfo::isCompressedGZ() - Devolver si la entrada está comprimida con gz
  • PharFileInfo::setCompressedBZIP2() - Comprimir la entrada actual de un Phar dentro del phar usando la compresión Bzip2
  • PharFileInfo::setCompressedGZ() - Comprimir la entrada actual de un Phar dentro del phar usando la compresión gz
  • Phar::canCompress() - Devuelve si la extensión phar soporta la compresión usando zlib o bzip2
  • Phar::isCompressed() - Devuelve Phar::GZ oPHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.)
  • Phar::compressAllFilesBZIP2() - Comprimir todos los ficheros del archivo Phar actual usando la compresión Bzip2
  • Phar::compressAllFilesGZ() - Comprimir todos los ficheros del archivo Phar actual usando la compresión Gzip
  • Phar::getSupportedCompression() - Devolver un array de los algoritmos de compresión soportados
  • Phar::uncompressAllFiles() - Descomprimir todos los ficheros del archivo Phar actual

PharFileInfo::setMetadata
PharException
PharFileInfo


La clase PharException

(Unknown)

Introducción

La clase PharException ofrece una excepción de clase específica de phar para bloques try/catch.

Sinopsis de la Clase

PharException extends Exception {
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Tabla de contenidos

  • PharException — La clase PharException ofrece una excepción de clase específica de phar para bloques try/catch
PharFileInfo::setUncompressed
PharException
Phar


La clase PharException ofrece una excepción de clase específica de phar para bloques try/catch

PharException
Rar
PharException
PHP Manual

PharException

(Unknown)

PharException — La clase PharException ofrece una excepción de clase específica de phar para bloques try/catch

Descripción

PharException
Rar
PharException
PHP Manual


Archivos Rar

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • Funciones Rar
    • rar_wrapper_cache_stats — Caché de aciertos y errores del URL wrapper
  • RarArchive — La clase RarArchive
    • RarArchive::close — Cerrar archivo RAR y liberar todos los recursos
    • RarArchive::getComment — Obtener comentarios de texto desde el archivo RAR
    • RarArchive::getEntries — Obtener la lista completa de entradas del archivo RAR
    • RarArchive::getEntry — Obtener el objeto entrada desde el archivo RAR
    • RarArchive::isBroken — Comprobar si un archivo está dañado (incompleto)
    • RarArchive::isSolid — Comprueba si el archivo RAR es sólido
    • RarArchive::open — Abre un archivo RAR
    • RarArchive::setAllowBroken — Determina si la apertura de archivos dañados se permite
    • RarArchive::__toString — Obtener representación de texto
  • RarEntry — La clase RarEntry
    • RarEntry::extract — Extraer entrada del archivo
    • RarEntry::getAttr — Obtener los atributos de la entrada
    • RarEntry::getCrc — Obtener el CRC de la entrada
    • RarEntry::getFileTime — Devolver entrada última fecha de modificación
    • RarEntry::getHostOs — Obtener sistema operativo anfitrión del archivo de entrada
    • RarEntry::getMethod — Obtener método pack de la entrada
    • RarEntry::getName — Obtener el nombre de la entrada
    • RarEntry::getPackedSize — Obtiene el tamaño empaquetado de la entrada
    • RarEntry::getStream — Obtener manejador de archivo para entrada
    • RarEntry::getUnpackedSize — Obtener el tamaño descomprimido de la entrada
    • RarEntry::getVersion — Obtener la versión mínima del programa RAR requerida para desempaquetar la entrada
    • RarEntry::isDirectory — Comprobar si una entrada representa un directorio
    • RarEntry::isEncrypted — Comprobar si una entrada está cifrada
    • RarEntry::__toString — Obtener texto representación de entrada
  • RarException — La clase RarException
    • RarException::isUsingExceptions — Comprobar si el manejador de errores con excepciones está en uso
    • RarException::setUsingExceptions — Activar y desactivar el manejador de errores con excepciones
PharException
Introducción
Extensiones de compresión y archivos


Introducción

Rar es un potente y eficaz archivador por Eugene Roshal. Esta extensión proporciona la posibilidad de leer archivos Rar, pero no soporta la escritura de los mismos, ya que no es compatible con la biblioteca UnRar y está directamente prohibido por su licencia.

Se puede encontrar más información sobre Rar y UnRar en » http://www.rarlabs.com/.

Rar
Instalación/Configuración
Rar


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Rar


Instalación

Rar está actualmente disponible a través de PECL » http://pecl.php.net/package/rar.

También puede usar el instalador PECL para instalar la extensión Rar, utilizando el siguiente comando: pecl -v install rar.

Siempre puede descargar el paquete tar.gz e instalar Rar a mano:

Ejemplo #1 Instalación Rar

gunzip rar-xxx.tgz
tar -xvf rar-xxx.tar
cd rar-xxx
phpize
./configure && make && make install

Los usuarios de Windows habilitarán php_rar.dll en el interior de php.ini con el fin de utilizar estas funciones. Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

Esta extensión registra tres clases internas: Las representaciones de archivo devuelto por rar_open() – RarArchive –, las representaciones de entrada devuelto por rar_list() y rar_entry_get() – RarEntry y el tipo de excepción RarException.

Esta extensión también registra un recurso de secuencia, llamado "rar" y una envoltura URL llamada "envoltura rar" y registrada bajo el prefijo "rar".

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

RAR_HOST_MSDOS (integer)
Use RarEntry::HOST_MSDOS en su lugar.
RAR_HOST_OS2 (integer)
Use RarEntry::HOST_OS2 en su lugar.
RAR_HOST_WIN32 (integer)
Use RarEntry::HOST_WIN32 en su lugar.
RAR_HOST_UNIX (integer)
Use RarEntry::HOST_UNIX en su lugar.
RAR_HOST_BEOS (integer)
Use RarEntry::HOST_BEOS en su lugar.
Tipos de recursos
Ejemplos
Rar


Ejemplos

Ver también rar://.

Ejemplo #1 Descompresión "al vuelo"

<?php

if (!array_key_exists("i", $_GET) || !is_numeric($_GET["i"]))
    die("Index unspecified or non-numeric");
$index = (int) $_GET["i"];

$arch = RarArchive::open("example.rar");
if ($arch === FALSE)
    die("Cannot open example.rar");

$entries = $arch->getEntries();
if ($entries === FALSE)
    die("Cannot retrieve entries");

if (!array_key_exists($index, $entries))
    die("No such index: $index");

$orfilename = $entries[$index]->getName(); //UTF-8 encoded

$filesize = $entries[$index]->getUnpackedSize();

/* you could check HTTP_IF_MODIFIED_SINCE here and compare with
 * $entries[$index]->getFileTime(). You could also send a
 * "Last modified" header */

$fp = $entries[$index]->getStream();
if ($fp === FALSE)
    die("Cannot open file with index $index insided the archive.");

$arch->close(); //no longer needed; stream is independent

function detectUserAgent() {
    if (!array_key_exists('HTTP_USER_AGENT', $_SERVER))
        return "Other";

    $uas = $_SERVER['HTTP_USER_AGENT'];
    if (preg_match("@Opera/@", $uas))
        return "Opera";
    if (preg_match("@Firefox/@", $uas))
        return "Firefox";
    if (preg_match("@Chrome/@", $uas))
        return "Chrome";
    if (preg_match("@MSIE ([0-9.]+);@", $uas, $matches)) {
        if (((float)$matches[1]) >= 7.0)
            return "IE";
    }

    return "Other";
}

/*
 * We have 3 options:
 * - For FF and Opera, which support RFC 2231, use that format.
 * - For IE and Chrome, use attwithfnrawpctenclong
 *   (http://greenbytes.de/tech/tc2231/#attwithfnrawpctenclong)
 * - For the others, convert to ISO-8859-1, if possible
 */
$formatRFC2231 = 'Content-Disposition: attachment; filename*=UTF-8\'\'%s';
$formatDef = 'Content-Disposition: attachment; filename="%s"';

switch (detectUserAgent()) {
    case "Opera":
    case "Firefox":
        $orfilename = rawurlencode($orfilename);
        $format = $formatRFC2231;
        break;

    case "IE":
    case "Chrome":
        $orfilename = rawurlencode($orfilename);
        $format = $formatDef;
        break;
    default:
        if (function_exists('iconv'))
            $orfilename =
                @iconv("UTF-8", "ISO-8859-1//TRANSLIT", $orfilename);
        $format = $formatDef;
}

header(sprintf($format, $orfilename));
//cannot send error messages from now on (headers already sent)

//replace by real content type, perhaps infering from the file extension
$contentType = "application/octet-stream";
header("Content-Type: $contentType");

header("Content-Transfer-Encoding: binary");

header("Content-Length: $filesize");

if ($_SERVER['REQUEST_METHOD'] == "HEAD")
    die();

while (!feof($fp)) {
    $s = @fread($fp, 8192);
    if ($s === false)
        break; //useless to send error messages

    echo $s;
}
?>

En este ejemplo se obtiene el archivo que contiene el archivo RAR y se ofrece para descargar.

Ejemplo #2 Ejemplo de sistema de extracción de archivos Rar

<?php

$rar_file = rar_open('example.rar') or die("Can't open Rar archive");

$entries = rar_list($rar_file);

foreach ($entries as $entry) {
    echo 'Filename: ' . $entry->getName() . "\n";
    echo 'Packed size: ' . $entry->getPackedSize() . "\n";
    echo 'Unpacked size: ' . $entry->getUnpackedSize() . "\n";

    $entry->extract('/dir/extract/to/');
}

rar_close($rar_file);

?>

Este ejemplo extrae cada archivo del archivo Rar en el directorio especificado.

Constantes predefinidas
Funciones Rar
Rar


Funciones Rar

Tabla de contenidos

  • rar_wrapper_cache_stats — Caché de aciertos y errores del URL wrapper
Ejemplos
rar_wrapper_cache_stats
Rar


Caché de aciertos y errores del URL wrapper

Funciones Rar
RarArchive
Funciones Rar
PHP Manual

rar_wrapper_cache_stats

(PECL rar >= 3.0.0)

rar_wrapper_cache_stats — Caché de aciertos y errores del URL wrapper

Descripción

string rar_wrapper_cache_stats ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Funciones Rar
RarArchive
Funciones Rar


La clase RarArchive

(PECL rar >= 2.0.0)

Introducción

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().

Sinopsis de la Clase

final RarArchive implements Traversable {
/* Métodos */
public bool close ( void )
public string getComment ( void )
public array getEntries ( void )
public RarEntry getEntry ( string $entryname )
public bool isBroken ( void )
public bool isSolid ( void )
public static RarArchive open ( string $filename [, string $password = NULL [, callable $volume_callback = NULL ]] )
public bool setAllowBroken ( bool $allow_broken )
public string __toString ( void )
}

Tabla de contenidos

  • RarArchive::close — Cerrar archivo RAR y liberar todos los recursos
  • RarArchive::getComment — Obtener comentarios de texto desde el archivo RAR
  • RarArchive::getEntries — Obtener la lista completa de entradas del archivo RAR
  • RarArchive::getEntry — Obtener el objeto entrada desde el archivo RAR
  • RarArchive::isBroken — Comprobar si un archivo está dañado (incompleto)
  • RarArchive::isSolid — Comprueba si el archivo RAR es sólido
  • RarArchive::open — Abre un archivo RAR
  • RarArchive::setAllowBroken — Determina si la apertura de archivos dañados se permite
  • RarArchive::__toString — Obtener representación de texto
rar_wrapper_cache_stats
RarArchive::close
Rar


Cerrar archivo RAR y liberar todos los recursos

RarArchive
RarArchive::getComment
RarArchive
PHP Manual

RarArchive::close

rar_close

(PECL rar >= 2.0.0)

RarArchive::close -- rar_close — Cerrar archivo RAR y liberar todos los recursos

Descripción

Estilo orientado a objetos (método):

public bool RarArchive::close ( void )

Estilo por procedimientos:

bool rar_close ( RarArchive $rarfile )

Cerar archivo RAR y liberar todos los recursos asignados.

Parámetros

rarfile

Un objeto RarArchive, abierto con rar_open().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
2.0.0 | Las entradas RAR devueltas por RarArchive::getEntry() y RarArchive::getEntries() son ahora invalidadas cuando se llama a este método. Esto significa que todos los métodos de instancia llamados por tales entradas y no garantizan el éxito.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$rar_arch = RarArchive::open('latest_winrar.rar');
echo $rar_arch."\n";
$rar_arch->close();
echo $rar_arch."\n";
?>

El resultado del ejemplo sería algo similar a:

RAR Archive "D:\php_rar\trunk\tests\latest_winrar.rar"
RAR Archive "D:\php_rar\trunk\tests\latest_winrar.rar" (closed)

Ejemplo #2 Estilo por procedimientos

<?php
$rar_arch = rar_open('latest_winrar.rar');
echo $rar_arch."\n";
rar_close($rar_arch);
echo $rar_arch."\n";
?>

RarArchive
RarArchive::getComment
RarArchive


Obtener comentarios de texto desde el archivo RAR

RarArchive::close
RarArchive::getEntries
RarArchive
PHP Manual

RarArchive::getComment

rar_comment_get

(PECL rar >= 2.0.0)

RarArchive::getComment -- rar_comment_get — Obtener comentarios de texto desde el archivo RAR

Descripción

Estilo orientado a objetos (method):

public string RarArchive::getComment ( void )

Estilo por procedimientos:

string rar_comment_get ( RarArchive $rarfile )

Obtener (global) comentario almacenado en el archivo RAR. Este puede ser de hasta 64 KiB de longitud.

Nota:

Esta extensión no es compatible con los comentarios en el nivel de entrada.

Parámetros

rarfile

Un objeto RarArchive, abierto con rar_open().

Valores devueltos

Devuelve el comentario o NULL si no hay ninguno.

Nota:

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.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$rar_arch = RarArchive::open('commented.rar');
echo $rar_arch->getComment();
?>

El resultado del ejemplo sería algo similar a:

This is the comment of the file commented.rar.

Ejemplo #2 Estilo por procedimientos

<?php
$rar_arch = rar_open('commented.rar');
echo rar_comment_get($rar_arch);
?>

RarArchive::close
RarArchive::getEntries
RarArchive


Obtener la lista completa de entradas del archivo RAR

RarArchive::getComment
RarArchive::getEntry
RarArchive
PHP Manual

RarArchive::getEntries

rar_list

(PECL rar >= 2.0.0)

RarArchive::getEntries -- rar_list — Obtener la lista completa de entradas del archivo RAR

Descripción

Estilo orientado a objetos (método):

public array RarArchive::getEntries ( void )

Estilo por procedimientos:

array rar_list ( RarArchive $rarfile )

Obtener la lista de entradas (archivos y directorios) de el archivo RAR.

Nota:

Si el archivo tiene entradas con el mismo nombre, este método, junto con RarArchive foreach iteraciona y otorga un acceso array-like con índices numéricos, únicos para acceder a todas las entradas (por ejemplo, RarArchive::getEntry() y el rar:// wrapper son insuficientes).

Parámetros

rarfile

Un objeto RarArchive, abierto con rar_open().

Valores devueltos

rar_list() devuelve array de objetos RarEntry o FALSE en caso de error.

Historial de cambios

Versión | Descripción
3.0.0 | Soporte para archivos RAR con nombres entrada repetidos que ya no produce deficiencias.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$rar_arch = RarArchive::open('solid.rar');
if ($rar_arch === FALSE)
    die("Could not open RAR archive.");

$rar_entries = $rar_arch->getEntries();
if ($rar_entries === FALSE)
    die("Could retrieve entries.");

echo "Found " . count($rar_entries) . " entries.\n";

foreach ($rar_entries as $e) {
    echo $e;
    echo "\n";
}
$rar_arch->close();
?>

El resultado del ejemplo sería algo similar a:

Found 2 entries.
RarEntry for file "tese.txt" (23b93a7a)
RarEntry for file "unrardll.txt" (2ed64b6e)

Ejemplo #2 Estilo por procedimientos

<?php
$rar_arch = rar_open('solid.rar');
if ($rar_arch === FALSE)
    die("Could not open RAR archive.");

$rar_entries = rar_list($rar_arch);
if ($rar_entries === FALSE)
    die("Could retrieve entries.");

echo "Found " . count($rar_entries) . " entries.\n";

foreach ($rar_entries as $e) {
    echo $e;
    echo "\n";
}
rar_close($rar_arch);
?>

Ver también

  • RarArchive::getEntry() - Obtener el objeto entrada desde el archivo RAR
  • rar:// wrapper

RarArchive::getComment
RarArchive::getEntry
RarArchive


Obtener el objeto entrada desde el archivo RAR

RarArchive::getEntries
RarArchive::isBroken
RarArchive
PHP Manual

RarArchive::getEntry

rar_entry_get

(PECL rar >= 2.0.0)

RarArchive::getEntry -- rar_entry_get — Obtener el objeto entrada desde el archivo RAR

Descripción

Estilo orientado a objetos (método):

public RarEntry RarArchive::getEntry ( string $entryname )

Estilo por procedimientos:

RarEntry rar_entry_get ( RarArchive $rarfile , string $entryname )

Obtener el objeto entrada (archivo o directorio) desde el archivo RAR.

Nota:

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.

Parámetros

rarfile

Un objeto RarArchive, abierto con rar_open().

entryname

Ruta a la entrada dentro del archivo RAR.

Nota:

La ruta debe ser la misma devuelta por RarEntry::getName().

Valores devueltos

Devuelve el objeto RarEntry encontrado o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$rar_arch = RarArchive::open('solid.rar');
if ($rar_arch === FALSE)
    die("Could not open RAR archive.");
$rar_entry = $rar_arch->getEntry('tese.txt');
if ($rar_entry === FALSE)
    die("Could get such entry");
echo get_class($rar_entry)."\n";
echo $rar_entry;
$rar_arch->close();
?>

El resultado del ejemplo sería algo similar a:

RarEntry
RarEntry for file "tese.txt" (23b93a7a)

Ejemplo #2 Estilo por procedimientos

<?php
$rar_arch = rar_open('solid.rar');
if ($rar_arch === FALSE)
    die("Could not open RAR archive.");
$rar_entry = rar_entry_get($rar_arch, 'tese.txt');
if ($rar_entry === FALSE)
    die("Could get such entry");
echo get_class($rar_entry)."\n";
echo $rar_entry;
rar_close($rar_arch);
?>

Ver también

  • RarArchive::getEntries() - Obtener la lista completa de entradas del archivo RAR
  • rar:// wrapper

RarArchive::getEntries
RarArchive::isBroken
RarArchive


Comprobar si un archivo está dañado (incompleto)

RarArchive::getEntry
RarArchive::isSolid
RarArchive
PHP Manual

RarArchive::isBroken

rar_broken_is

(PECL rar >= 3.0.0)

RarArchive::isBroken -- rar_broken_is — Comprobar si un archivo está dañado (incompleto)

Descripción

Estilo orientado a objetos (método):

public bool RarArchive::isBroken ( void )

Estilo por procedimientos:

bool rar_broken_is ( RarArchive $rarfile )

Esta función determina si un archivo está incompleto, por ejemplo, Si un volumen no se encuentra o un volumen está truncado.

Parámetros

rarfile

Un objeto RarArchive, abierto con rar_open().

Valores devueltos

Devuelve TRUE si el archivo está dañado, FALSE en caso contrario. Esta función puede también devolver FALSE 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.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* El tercer argumento es utilizado para omitir avisos */
$arch = RarArchive::open($file, null, 'retnull');
var_dump($arch->isBroken());
?>

El resultado del ejemplo sería algo similar a:

bool(true)

Ejemplo #2 Estilo por procedimientos

<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* El tercer argumento es utilizado para omitir avisos */
$arch = rar_open($file, null, 'retnull');
var_dump(rar_broken_is($arch));
?>

Ver también

  • RarArchive::setAllowBroken() - Determina si la apertura de archivos dañados se permite

RarArchive::getEntry
RarArchive::isSolid
RarArchive


Comprueba si el archivo RAR es sólido

RarArchive::isBroken
RarArchive::open
RarArchive
PHP Manual

RarArchive::isSolid

rar_solid_is

(PECL rar >= 2.0.0)

RarArchive::isSolid -- rar_solid_is — Comprueba si el archivo RAR es sólido

Descripción

Estilo orientado a objetos (método):

public bool RarArchive::isSolid ( void )

Estilo por procedimientos:

bool rar_solid_is ( RarArchive $rarfile )

Comprueba si el archivo RAR es sólido. La extracción individual de ficheros es más lenta en archivos sólidos.

Parámetros

rarfile

La instancia del RarArchive, abierto con rar_open().

Valores devueltos

Devuelve TRUE si el archivo es sólido, de lo contrario retorna FALSE.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$arch1 = RarArchive::open("store_method.rar");
$arch2 = RarArchive::open("solid.rar");
echo "$arch1: " . ($arch1->isSolid()?'yes':'no') ."\n";
echo "$arch2: " . ($arch2->isSolid()?'yes':'no') . "\n";
?>

El resultado del ejemplo sería algo similar a:

RAR Archive "C:\php_rar\trunk\tests\store_method.rar": no
RAR Archive "C:\php_rar\trunk\tests\solid.rar": yes

Ejemplo #2 Estilo por procedimientos

<?php
$arch1 = rar_open("store_method.rar");
$arch2 = rar_open("solid.rar");
echo "$arch1: " . (rar_solid_is($arch1)?'yes':'no') ."\n";
echo "$arch2: " . (rar_solid_is($arch2)?'yes':'no') . "\n";
?>

RarArchive::isBroken
RarArchive::open
RarArchive


Abre un archivo RAR

RarArchive::isSolid
RarArchive::setAllowBroken
RarArchive
PHP Manual

RarArchive::open

rar_open

(PECL rar >= 2.0.0)

RarArchive::open -- rar_open — Abre un archivo RAR

Descripción

Estilo orientado a objetos (método):

public static RarArchive RarArchive::open ( string $filename [, string $password = NULL [, callable $volume_callback = NULL ]] )

Estilo por procedimientos:

RarArchive rar_open ( string $filename [, string $password = NULL [, callable $volume_callback = NULL ]] )

Abre un archivo RAR especificado y devuelve la instancia RarArchive que lo representa.

Nota:

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.

Parámetros

filename

Ruta del archivo Rar.

password

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.

volume_callback

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 NULL 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 NULL puede, por lo tanto, utilizarce para omitir dichos notices.

Advertencia

En versiones menores a 2.0.0 de PHP, esta función no manejaria rutas relativas correctamente. Use realpath() como una solución.

Valores devueltos

Devuelve una instancia del RarArchive solicitado o FALSE en caso de error.

Historial de cambios

Versión | Descripción
3.0.0 | volume_callback fue agregada.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$rar_arch = RarArchive::open('encrypted_headers.rar', 'samplepassword');
if ($rar_arch === FALSE)
    die("Failed opening file");

$entries = $rar_arch->getEntries();
if ($entries === FALSE)
    die("Failed fetching entries");

echo "Found " . count($entries) . " files.\n";

if (empty($entries))
    die("No valid entries found.");

$stream = reset($entries)->getStream();
if ($stream === FALSE)
    die("Failed opening first file");

$rar_arch->close();

echo "Content of first one follows:\n";
echo stream_get_contents($stream);

fclose($stream);
?>

El resultado del ejemplo sería algo similar a:

Found 2 files.
Content of first one follows:
Encrypted file 1 contents.

Ejemplo #2 Estilo por procedimientos

<?php
$rar_arch = rar_open('encrypted_headers.rar', 'samplepassword');
if ($rar_arch === FALSE)
    die("Failed opening file");

$entries = rar_list($rar_arch);
if ($entries === FALSE)
    die("Failed fetching entries");

echo "Found " . count($entries) . " files.\n";

if (empty($entries))
    die("No valid entries found.");

$stream = reset($entries)->getStream();
if ($stream === FALSE)
    die("Failed opening first file");

rar_close($rar_arch);

echo "Content of first one follows:\n";
echo stream_get_contents($stream);

fclose($stream);
?>

Ejemplo #3 Volume Callback

<?php
/* En este ejemplo, hay un volúmen llamdo multi_broken.part1.rar
 * cuyo próximo volúmen es llamado multi.part2.rar */
function resolve($vol) {
    if (preg_match('/_broken/', $vol))
        return str_replace('_broken', '', $vol);
    else
        return null;
}
$rar_file1 = rar_open(dirname(__FILE__).'/multi_broken.part1.rar', null, 'resolve');
$entry = $rar_file1->getEntry('file2.txt');
$entry->extract(null, dirname(__FILE__) . "/temp_file2.txt");
?>

Ver también

  • rar:// wrapper

RarArchive::isSolid
RarArchive::setAllowBroken
RarArchive


Determina si la apertura de archivos dañados se permite

RarArchive::open
RarArchive::__toString
RarArchive
PHP Manual

RarArchive::setAllowBroken

(PECL rar >= 3.0.0)

RarArchive::setAllowBroken — Determina si la apertura de archivos dañados se permite

Descripción

Estilo orientado a objetos (method):

public bool RarArchive::setAllowBroken ( bool $allow_broken )

Estilo por procedimientos:

bool rar_allow_broken_set ( RarArchive $rarfile , bool $allow_broken )

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.

Parámetros

rarfile

Un objeto RarArchive, abierto con rar_open().

allow_broken

Determina si se permite la lectura de archivos dañados (TRUE) o no (FALSE).

Valores devueltos

Devuelve TRUE o FALSE en caso de error. Sólo se producirá un error si el archivo ya fue cerrado.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* El tercer argumento omite el mensaje "volumen no encontrado" */
$a = RarArchive::open($file, null, 'retnull');
$a->setAllowBroken(true);
foreach ($a->getEntries() as $e) {
    echo "$e\n";
}
var_dump(count($a));
?>

El resultado del ejemplo sería algo similar a:

RarEntry for file "file1.txt" (52b28202)
int(1)

Ejemplo #2 Estilo por procedimientos

<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* El tercer argumento omite el mensaje "volumen no encontrado" */
$a = rar_open($file, null, 'retnull');
rar_allow_broken_set($a, true);
foreach (rar_list($a) as $e) {
    echo "$e\n";
}
var_dump(count($a));
?>

Ver también

  • RarArchive::isBroken() - Comprobar si un archivo está dañado (incompleto)

RarArchive::open
RarArchive::__toString
RarArchive


Obtener representación de texto

RarArchive::setAllowBroken
RarEntry
RarArchive
PHP Manual

RarArchive::__toString

(PECL rar >= 2.0.0)

RarArchive::__toString — Obtener representación de texto

Descripción

public string RarArchive::__toString ( void )

Proporciona una representación de cadena para este objeto RarArchive. 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.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Una representación textual de este objeto RarArchive. El contenido de esta representación no es especificado.

Ejemplos

Ejemplo #1 Ejemplo de RarArchive::__toString()

<?php
$rar_arch = RarArchive::open('latest_winrar.rar');
echo $rar_arch."\n";
$rar_arch->close();
echo $rar_arch."\n";
?>

El resultado del ejemplo sería algo similar a:

RAR Archive "D:\php_rar\trunk\tests\latest_winrar.rar"
RAR Archive "D:\php_rar\trunk\tests\latest_winrar.rar" (closed)

RarArchive::setAllowBroken
RarEntry
RarArchive


La clase RarEntry

(PECL rar >= 0.1)

Introducción

Una entrada RAR, representa un directorio o un archivo comprimido dentro de un archivo RAR.

Sinopsis de la Clase

final RarEntry {
/* Constantes */
const integer HOST_MSDOS = 0 ;
const integer HOST_OS2 = 1 ;
const integer HOST_WIN32 = 2 ;
const integer HOST_UNIX = 3 ;
const integer HOST_MACOS = 4 ;
const integer HOST_BEOS = 5 ;
const integer ATTRIBUTE_WIN_READONLY = 1 ;
const integer ATTRIBUTE_WIN_HIDDEN = 2 ;
const integer ATTRIBUTE_WIN_SYSTEM = 4 ;
const integer ATTRIBUTE_WIN_DIRECTORY = 16 ;
const integer ATTRIBUTE_WIN_ARCHIVE = 32 ;
const integer ATTRIBUTE_WIN_DEVICE = 64 ;
const integer ATTRIBUTE_WIN_NORMAL = 128 ;
const integer ATTRIBUTE_WIN_TEMPORARY = 256 ;
const integer ATTRIBUTE_WIN_SPARSE_FILE = 512 ;
const integer ATTRIBUTE_WIN_REPARSE_POINT = 1024 ;
const integer ATTRIBUTE_WIN_COMPRESSED = 2048 ;
const integer ATTRIBUTE_WIN_OFFLINE = 4096 ;
const integer ATTRIBUTE_WIN_NOT_CONTENT_INDEXED = 8192 ;
const integer ATTRIBUTE_WIN_ENCRYPTED = 16384 ;
const integer ATTRIBUTE_WIN_VIRTUAL = 65536 ;
const integer ATTRIBUTE_UNIX_WORLD_EXECUTE = 1 ;
const integer ATTRIBUTE_UNIX_WORLD_WRITE = 2 ;
const integer ATTRIBUTE_UNIX_WORLD_READ = 4 ;
const integer ATTRIBUTE_UNIX_GROUP_EXECUTE = 8 ;
const integer ATTRIBUTE_UNIX_GROUP_WRITE = 16 ;
const integer ATTRIBUTE_UNIX_GROUP_READ = 32 ;
const integer ATTRIBUTE_UNIX_OWNER_EXECUTE = 64 ;
const integer ATTRIBUTE_UNIX_OWNER_WRITE = 128 ;
const integer ATTRIBUTE_UNIX_OWNER_READ = 256 ;
const integer ATTRIBUTE_UNIX_STICKY = 512 ;
const integer ATTRIBUTE_UNIX_SETGID = 1024 ;
const integer ATTRIBUTE_UNIX_SETUID = 2048 ;
const integer ATTRIBUTE_UNIX_FINAL_QUARTET = 61440 ;
const integer ATTRIBUTE_UNIX_FIFO = 4096 ;
const integer ATTRIBUTE_UNIX_CHAR_DEV = 8192 ;
const integer ATTRIBUTE_UNIX_DIRECTORY = 16384 ;
const integer ATTRIBUTE_UNIX_BLOCK_DEV = 24576 ;
const integer ATTRIBUTE_UNIX_REGULAR_FILE = 32768 ;
const integer ATTRIBUTE_UNIX_SYM_LINK = 40960 ;
const integer ATTRIBUTE_UNIX_SOCKET = 49152 ;
/* Métodos */
public bool extract ( string $dir [, string $filepath = '' [, string $password = NULL [, bool $extended_data = false ]]] )
public int getAttr ( void )
public string getCrc ( void )
public string getFileTime ( void )
public int getHostOs ( void )
public int getMethod ( void )
public string getName ( void )
public int getPackedSize ( void )
public resource getStream ([ string $password ] )
public int getUnpackedSize ( void )
public int getVersion ( void )
public bool isDirectory ( void )
public bool isEncrypted ( void )
public string __toString ( void )
}

Constantes predefinidas

RarEntry::HOST_MSDOS

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 RAR_HOST_MSDOS.

RarEntry::HOST_OS2

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 RAR_HOST_OS2.

RarEntry::HOST_WIN32

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 RAR_HOST_WIN32.

RarEntry::HOST_UNIX

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 RAR_HOST_UNIX.

RarEntry::HOST_MACOS

Si el valor devuelto por RarEntry::getHostOs() es igual a esta constante, un Sistema Operativo Mac fue utilizado para añadir esta entrada.

RarEntry::HOST_BEOS

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 RAR_HOST_BEOS.

RarEntry::ATTRIBUTE_WIN_READONLY

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.

RarEntry::ATTRIBUTE_WIN_HIDDEN

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.

RarEntry::ATTRIBUTE_WIN_SYSTEM

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.

RarEntry::ATTRIBUTE_WIN_DIRECTORY

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.

RarEntry::ATTRIBUTE_WIN_ARCHIVE

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.

RarEntry::ATTRIBUTE_WIN_DEVICE

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.

RarEntry::ATTRIBUTE_WIN_NORMAL

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.

RarEntry::ATTRIBUTE_WIN_TEMPORARY

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.

RarEntry::ATTRIBUTE_WIN_SPARSE_FILE

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.

RarEntry::ATTRIBUTE_WIN_REPARSE_POINT

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.

RarEntry::ATTRIBUTE_WIN_COMPRESSED

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.

RarEntry::ATTRIBUTE_WIN_OFFLINE

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.

RarEntry::ATTRIBUTE_WIN_NOT_CONTENT_INDEXED

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.

RarEntry::ATTRIBUTE_WIN_ENCRYPTED

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.

RarEntry::ATTRIBUTE_WIN_VIRTUAL

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.

RarEntry::ATTRIBUTE_UNIX_WORLD_EXECUTE

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.

RarEntry::ATTRIBUTE_UNIX_WORLD_WRITE

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.

RarEntry::ATTRIBUTE_UNIX_WORLD_READ

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.

RarEntry::ATTRIBUTE_UNIX_GROUP_EXECUTE

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.

RarEntry::ATTRIBUTE_UNIX_GROUP_WRITE

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.

RarEntry::ATTRIBUTE_UNIX_GROUP_READ

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.

RarEntry::ATTRIBUTE_UNIX_OWNER_EXECUTE

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.

RarEntry::ATTRIBUTE_UNIX_OWNER_WRITE

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.

RarEntry::ATTRIBUTE_UNIX_OWNER_READ

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.

RarEntry::ATTRIBUTE_UNIX_STICKY

Bit que representa el sticky bit UNIX. Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es UNIX.

RarEntry::ATTRIBUTE_UNIX_SETGID

Bit que representa el atributo UNIX setgid. Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es UNIX.

RarEntry::ATTRIBUTE_UNIX_SETUID

Bit que representa el atributo UNIX setuid. Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es UNIX.

RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET

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 RarEntry::ATTRIBUTE_UNIX_FIFO,
      RarEntry::ATTRIBUTE_UNIX_CHAR_DEV,
      RarEntry::ATTRIBUTE_UNIX_DIRECTORY,
      RarEntry::ATTRIBUTE_UNIX_BLOCK_DEV,
      RarEntry::ATTRIBUTE_UNIX_REGULAR_FILE,
      RarEntry::ATTRIBUTE_UNIX_SYM_LINK and
      RarEntry::ATTRIBUTE_UNIX_SOCKET.

RarEntry::ATTRIBUTE_UNIX_FIFO

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 RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

RarEntry::ATTRIBUTE_UNIX_CHAR_DEV

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 RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

RarEntry::ATTRIBUTE_UNIX_DIRECTORY

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 RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET. Véase también RarEntry::isDirectory(), que también trabaja con entradas que fueron añadidas en otros sistemas operativos.

RarEntry::ATTRIBUTE_UNIX_BLOCK_DEV

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 RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

RarEntry::ATTRIBUTE_UNIX_REGULAR_FILE

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 RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET. Véase también RarEntry::isDirectory(), ue también trabaja con entradas que fueron añadidas en otros sistemas operativos.

RarEntry::ATTRIBUTE_UNIX_SYM_LINK

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 RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

RarEntry::ATTRIBUTE_UNIX_SOCKET

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 RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

Tabla de contenidos

  • RarEntry::extract — Extraer entrada del archivo
  • RarEntry::getAttr — Obtener los atributos de la entrada
  • RarEntry::getCrc — Obtener el CRC de la entrada
  • RarEntry::getFileTime — Devolver entrada última fecha de modificación
  • RarEntry::getHostOs — Obtener sistema operativo anfitrión del archivo de entrada
  • RarEntry::getMethod — Obtener método pack de la entrada
  • RarEntry::getName — Obtener el nombre de la entrada
  • RarEntry::getPackedSize — Obtiene el tamaño empaquetado de la entrada
  • RarEntry::getStream — Obtener manejador de archivo para entrada
  • RarEntry::getUnpackedSize — Obtener el tamaño descomprimido de la entrada
  • RarEntry::getVersion — Obtener la versión mínima del programa RAR requerida para desempaquetar la entrada
  • RarEntry::isDirectory — Comprobar si una entrada representa un directorio
  • RarEntry::isEncrypted — Comprobar si una entrada está cifrada
  • RarEntry::__toString — Obtener texto representación de entrada
RarArchive::__toString
RarEntry::extract
Rar


Extraer entrada del archivo

RarEntry
RarEntry::getAttr
RarEntry
PHP Manual

RarEntry::extract

(PECL rar >= 0.1)

RarEntry::extract — Extraer entrada del archivo

Descripción

public bool RarEntry::extract ( string $dir [, string $filepath = '' [, string $password = NULL [, bool $extended_data = false ]]] )

RarEntry::extract() extrae los datos de entrada. Esto creará un nuevo archivo en el dir 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.

Parámetros

dir

Ruta al directorio donde los archivos deben ser extraídos. Este parámetro es considerado si y sólo si no es filepath. Si ambos parámetros están vacíos se intentará una extracción en el directorio actual.

filepath

Ruta (relativa o absoluta) que contiene el directorio y el nombre del archivo extraído. Este parámetro anula los parámetros dir y el nombre del archivo original.

password

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 rar_open(), será utlizada. Si una contraseña incorrecta es dada, de forma explicita o implicita via rar_open(), la comprobación CRC fallará y este método fallará y devolverá FALSE. Si no se da la contraseña y se requiere una, este método fallará y devolverá FALSE. Puede comprobar si una entrada está cifrada con RarEntry::isEncrypted().

extended_data

Si TRUE, 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.

Advertencia

Antes de la versión 2.0.0, esta función no manejaba las rutas relativas correctamente. Utilice realpath() como una solución.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
3.0.0 | extended_data fue añadido.
3.0.0 | Soporte para archivos RAR con nombres de entrada que se repiten ya no es defectuoso

Ejemplos

Ejemplo #1 Ejemplo de RarEntry::extract()

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

$entry->extract('/dir/to'); // crear /dir/to/Dir/file.txt
$entry->extract(false, '/dir/to/new_name.txt'); // crear /dir/to/new_name.txt

?>

Ejemplo #2 ¿Cómo extraer todos los archivos en archivo?:

<?php

/* ejemplo por Erik Jenssen también conocido como erix */

$filename = "foobar.rar";
$filepath = "/home/foo/bar/";

$rar_file = rar_open($filepath.$filename);
$list = rar_list($rar_file);
foreach($list as $file) {
    $entry = rar_entry_get($rar_file, $file);
    $entry->extract("."); // extraer el directorio actual
}
rar_close($rar_file);

?>

Ver también

  • RarEntry::getStream() - Obtener manejador de archivo para entrada
  • rar:// wrapper

RarEntry
RarEntry::getAttr
RarEntry


Obtener los atributos de la entrada

RarEntry::extract
RarEntry::getCrc
RarEntry
PHP Manual

RarEntry::getAttr

(PECL rar >= 0.1)

RarEntry::getAttr — Obtener los atributos de la entrada

Descripción

public int RarEntry::getAttr ( void )

Devuelve los atributos dependientes del SO del archivo de entrada.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve los atributos o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de RarEntry::getAttr()

<?php

$rar_file = rar_open('example.rar') or die("Can't open Rar archive");

$entry = rar_entry_get($rar_file, 'dir/in/the/archive') or die("Can't find such entry");

$host_os = $entry->getHostOs();
$attr = $entry->getAttr();

switch($host_os) {
    case RAR_HOST_MSDOS:
    case RAR_HOST_OS2:
    case RAR_HOST_WIN32:
    case RAR_HOST_MACOS:
        printf("%c%c%c%c%c%c\n",
                ($attr & 0x08) ? 'V' : '.',
                ($attr & 0x10) ? 'D' : '.',
                ($attr & 0x01) ? 'R' : '.',
                ($attr & 0x02) ? 'H' : '.',
                ($attr & 0x04) ? 'S' : '.',
                ($attr & 0x20) ? 'A' : '.');
        break;
    case RAR_HOST_UNIX:
    case RAR_HOST_BEOS:
        switch ($attr & 0xF000)
        {
            case 0x4000:
                printf("d");
                break;
            case 0xA000:
                printf("l");
                break;
            default:
                printf("-");
                break;
        }
        printf("%c%c%c%c%c%c%c%c%c\n",
                ($attr & 0x0100) ? 'r' : '-',
                ($attr & 0x0080) ? 'w' : '-',
                ($attr & 0x0040) ? (($attr & 0x0800) ? 's':'x'):(($attr & 0x0800) ? 'S':'-'),
                ($attr & 0x0020) ? 'r' : '-',
                ($attr & 0x0010) ? 'w' : '-',
                ($attr & 0x0008) ? (($attr & 0x0400) ? 's':'x'):(($attr & 0x0400) ? 'S':'-'),
                ($attr & 0x0004) ? 'r' : '-',
                ($attr & 0x0002) ? 'w' : '-',
                ($attr & 0x0001) ? 'x' : '-');
        break;
}

rar_close($rar_file);

?>

Ver también

  • RarEntry::getHostOs() - Obtener sistema operativo anfitrión del archivo de entrada
  • Las constantes de RarEntry

RarEntry::extract
RarEntry::getCrc
RarEntry


Obtener el CRC de la entrada

RarEntry::getAttr
RarEntry::getFileTime
RarEntry
PHP Manual

RarEntry::getCrc

(PECL rar >= 0.1)

RarEntry::getCrc — Obtener el CRC de la entrada

Descripción

public string RarEntry::getCrc ( void )

Devuelve una cadena hexadecimal representación de el CRC del archivo de entrada.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el CRC del archivo de entrada o FALSE en caso de error.

Historial de cambios

Versión | Descripción
2.0.0 | Este método devuelve ahora valores correctos para archivos de varios volúmenes.

RarEntry::getAttr
RarEntry::getFileTime
RarEntry


Devolver entrada última fecha de modificación

RarEntry::getCrc
RarEntry::getHostOs
RarEntry
PHP Manual

RarEntry::getFileTime

(PECL rar >= 0.1)

RarEntry::getFileTime — Devolver entrada última fecha de modificación

Descripción

public string RarEntry::getFileTime ( void )

Devuelve entrada última fecha modificación.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve entrada última fecha de modificación como una cadena en formato YYYY-MM-DD HH:II:SS, o FALSE en caso de error.

RarEntry::getCrc
RarEntry::getHostOs
RarEntry


Obtener sistema operativo anfitrión del archivo de entrada

RarEntry::getFileTime
RarEntry::getMethod
RarEntry
PHP Manual

RarEntry::getHostOs

(PECL rar >= 0.1)

RarEntry::getHostOs — Obtener sistema operativo anfitrión del archivo de entrada

Descripción

public int RarEntry::getHostOs ( void )

Devuelve el código del sistema operativo anfitrión del archivo de entrada.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el código del sistema operativo anfitrión, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de RarEntry::getHostOs() (version >= 2.0.0)

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

switch ($entry->getHostOs()) {
    case RarEntry::HOST_MSDOS:
        echo "MS-DOS\n";
        break;
    case RarEntry::HOST_OS2:
        echo "OS2\n";
        break;
    case RarEntry::HOST_WIN32:
        echo "Win32\n";
        break;
    case RarEntry::HOST_MACOS:
        echo "MacOS\n";
        break;
    case RarEntry::HOST_UNIX:
        echo "Unix/Linux\n";
        break;
    case RarEntry::HOST_BEOS:
        echo "BeOS\n";
        break;
}

?>

Ejemplo #2 RarEntry::getHostOs() example (version <= 1.0.0)

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

switch ($entry->getHostOs()) {
    case RAR_HOST_MSDOS:
        echo "MS-DOS\n";
        break;
    case RAR_HOST_OS2:
        echo "OS2\n";
        break;
    case RAR_HOST_WIN32:
        echo "Win32\n";
        break;
    case RAR_HOST_MACOS:
        echo "MacOS\n";
        break;
    case RAR_HOST_UNIX:
        echo "Unix/Linux\n";
        break;
    case RAR_HOST_BEOS:
        echo "BeOS\n";
        break;
}

?>

Ver también

  • RarEntry::extract() - Extraer entrada del archivo

RarEntry::getFileTime
RarEntry::getMethod
RarEntry


Obtener método pack de la entrada

RarEntry::getHostOs
RarEntry::getName
RarEntry
PHP Manual

RarEntry::getMethod

(PECL rar >= 0.1)

RarEntry::getMethod — Obtener método pack de la entrada

Descripción

public int RarEntry::getMethod ( void )

RarEntry::getMethod() devuelve el número del método utilizado cuando añadimos archivo actual de entrada.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el número de método o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de RarEntry::getMethod()

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Method number: " . $entry->getMethod();

?>

RarEntry::getHostOs
RarEntry::getName
RarEntry


Obtener el nombre de la entrada

RarEntry::getMethod
RarEntry::getPackedSize
RarEntry
PHP Manual

RarEntry::getName

(PECL rar >= 0.1)

RarEntry::getName — Obtener el nombre de la entrada

Descripción

public string RarEntry::getName ( void )

Devuelve el nombre (con la ruta) de el archivo entrada.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el nombre de la entrada como una cadena, o FALSE en caso de error.

Historial de cambios

Versión | Descripción
2.0.0 | Desde la versión 2.0.0, la cadena devuelta está codificada en Unicode/UTF-8.

Ejemplos

Ejemplo #1 Ejemplo de RarEntry::getName()

<?php

//este ejemplo, es seguro, incluso en páginas no codificados en UTF-8
//para esa codificación en UTF-8, la llamada a mb_convert_encoding es innecesaria.

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Entry name: " . mb_convert_encoding(
    htmlentities(
        $entry->getName(),
        ENT_COMPAT,
        "UTF-8"
    ),
    "HTML-ENTITIES",
    "UTF-8"
);

?>

RarEntry::getMethod
RarEntry::getPackedSize
RarEntry


Obtiene el tamaño empaquetado de la entrada

RarEntry::getName
RarEntry::getStream
RarEntry
PHP Manual

RarEntry::getPackedSize

(PECL rar >= 0.1)

RarEntry::getPackedSize — Obtiene el tamaño empaquetado de la entrada

Descripción

public int RarEntry::getPackedSize ( void )

Obtiene el tamaño empaquetado del archivo entrada.

Nota:

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 PHP_INT_MAX.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el tamaño empaquetado, o FALSE en caso de error.

Historial de cambios

Versión | Descripción
2.0.0 | Este método devuelve ahora los valores correctos de empaquetado mayores a 2 GB en plataformas de 64-bit integers y nunca devuelve valores negativos en otras plataformas.

Ejemplos

Ejemplo #1 Ejemplo de RarEntry::getPackedSize()

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Packed size of " . $entry->getName() . " = " . $entry->getPackedSize() . " bytes";

?>

RarEntry::getName
RarEntry::getStream
RarEntry


Obtener manejador de archivo para entrada

RarEntry::getPackedSize
RarEntry::getUnpackedSize
RarEntry
PHP Manual

RarEntry::getStream

(PECL rar >= 2.0.0)

RarEntry::getStream — Obtener manejador de archivo para entrada

Descripción

public resource RarEntry::getStream ([ string $password ] )

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 rar_close().

Advertencia

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.

Parámetros

password

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 rar_open(), será utilizada. Si una contraseña incorrecta es dada, ya sea explícita o implícitamente via rar_open(), 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á FALSE. Puede comprobar si una entrada está cifrada con RarEntry::isEncrypted().

Valores devueltos

El manejador de archivo o FALSE en caso de error.

Historial de cambios

Versión | Descripción
3.0.0 | Soporte para archivos RAR con nombres de entrada que se repiten ya no es defectuoso.

Ejemplos

Ejemplo #1 Ejemplo de RarEntry::getStream()

<?php

$rar_file = rar_open('example.rar');
if ($rar_file === false)
    die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt');
if ($entry === false)
    die("Failed to find such entry");

$stream = $entry->getStream();
if ($stream === false)
    die("Failed to obtain stream.");

rar_close($rar_file); //flujo es independiente de archivo

while (!feof($stream)) {
    $buff = fread($stream, 8192);
    if ($buff !== false)
        echo $buff;
    else
        break; //error fread
}

fclose($stream);

?>

Ver también

  • RarEntry::extract() - Extraer entrada del archivo
  • rar:// wrapper

RarEntry::getPackedSize
RarEntry::getUnpackedSize
RarEntry


Obtener el tamaño descomprimido de la entrada

RarEntry::getStream
RarEntry::getVersion
RarEntry
PHP Manual

RarEntry::getUnpackedSize

(PECL rar >= 0.1)

RarEntry::getUnpackedSize — Obtener el tamaño descomprimido de la entrada

Descripción

public int RarEntry::getUnpackedSize ( void )

Obtiene el tamaño descomprimido del archivo entrada.

Nota:

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 PHP_INT_MAX.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el tamaño descomprimido, o FALSE en caso de error.

Historial de cambios

Versión | Descripción
2.0.0 | Este método devuelve ahora valores correctos de tamaño descomprimido superiores a 2 GB en plataformas con 64-bit integers y nunca devuelve valores negativos en otras plataformas.

Valores devueltos

Ejemplo #1 Ejemplo de RarEntry::getUnpackedSize()

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Unpacked size of " . $entry->getName() . " = " . $entry->getPackedSize() . " bytes";

?>

RarEntry::getStream
RarEntry::getVersion
RarEntry


Obtener la versión mínima del programa RAR requerida para desempaquetar la entrada

RarEntry::getUnpackedSize
RarEntry::isDirectory
RarEntry
PHP Manual

RarEntry::getVersion

(PECL rar >= 0.1)

RarEntry::getVersion — Obtener la versión mínima del programa RAR requerida para desempaquetar la entrada

Descripción

public int RarEntry::getVersion ( void )

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.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la versión o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de RarEntry::getVersion()

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Rar version required for unpacking: " . $entry->getVersion();

?>

RarEntry::getUnpackedSize
RarEntry::isDirectory
RarEntry


Comprobar si una entrada representa un directorio

RarEntry::getVersion
RarEntry::isEncrypted
RarEntry
PHP Manual

RarEntry::isDirectory

(PECL rar >= 2.0.0)

RarEntry::isDirectory — Comprobar si una entrada representa un directorio

Descripción

public bool RarEntry::isDirectory ( void )

Comprueba si una entrada representa un directorio.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si la entrada es un directorio y FALSE en caso contrario.

Notas

Esta función sólo está disponible desde la versión 2.0.0, pero también puede comprobarse si una entrada es un directorio mediante la comprobación de los atributos de entrada, así (sólo funciona para los archivos comprimidos en RAR por Windows o Unix):

<?php
//...
//Abrir archivo, obtener la entrada y almacenarla en la variable $e...
//...

$isDirectory = (bool) ((($e->getHostOs() == RAR_HOST_WIN32) && ($e->getAttr() & 0x10)) ||
    (($e->getHostOs() == RAR_HOST_UNIX) && (($e->getAttr() & 0xf000) == 0x4000)));
?>

RarEntry::getVersion
RarEntry::isEncrypted
RarEntry


Comprobar si una entrada está cifrada

RarEntry::isDirectory
RarEntry::__toString
RarEntry
PHP Manual

RarEntry::isEncrypted

(PECL rar >= 2.0.0)

RarEntry::isEncrypted — Comprobar si una entrada está cifrada

Descripción

public bool RarEntry::isEncrypted ( void )

Comprueba si el contenido de la entrada actual está cifrado.

Nota:

La contraseña utilizada puede variar entre los archivos dentro del mismo archivo RAR.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si la entrada actual se encuentra cifrada y FALSE en caso contrario.

RarEntry::isDirectory
RarEntry::__toString
RarEntry


Obtener texto representación de entrada

RarEntry::isEncrypted
RarException
RarEntry
PHP Manual

RarEntry::__toString

(PECL rar >= 2.0.0)

RarEntry::__toString — Obtener texto representación de entrada

Descripción

public string RarEntry::__toString ( void )

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.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Una representación textual de la entrada.

RarEntry::isEncrypted
RarException
RarEntry


La clase RarException

(PECL rar >= 2.0.0)

Introducción

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

Sinopsis de la Clase

final RarException extends Exception {
/* Métodos */
public static bool isUsingExceptions ( void )
public static void setUsingExceptions ( bool $using_exceptions )
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Tabla de contenidos

  • RarException::isUsingExceptions — Comprobar si el manejador de errores con excepciones está en uso
  • RarException::setUsingExceptions — Activar y desactivar el manejador de errores con excepciones
RarEntry::__toString
RarException::isUsingExceptions
Rar


Comprobar si el manejador de errores con excepciones está en uso

RarException
RarException::setUsingExceptions
RarException
PHP Manual

RarException::isUsingExceptions

(PECL rar >= 2.0.0)

RarException::isUsingExceptions — Comprobar si el manejador de errores con excepciones está en uso

Descripción

public static bool RarException::isUsingExceptions ( void )

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).

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si las excepciones estan siendo utilizadas, FALSE en caso contrario.

Ejemplos

Ejemplo #1 Ejemplo de RarException::isUsingExceptions()

<?php
//El valor predeterminado es no usar excepciones
var_dump(RarException::isUsingExceptions());
?>

El resultado del ejemplo sería algo similar a:

bool(false)

Ver también

  • RarException::setUsingExceptions() - Activar y desactivar el manejador de errores con excepciones

RarException
RarException::setUsingExceptions
RarException


Activar y desactivar el manejador de errores con excepciones

RarException::isUsingExceptions
Zip
RarException
PHP Manual

RarException::setUsingExceptions

(PECL rar >= 2.0.0)

RarException::setUsingExceptions — Activar y desactivar el manejador de errores con excepciones

Descripción

public static void RarException::setUsingExceptions ( bool $using_exceptions )

Si y sólo si el argumento es TRUE, 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 RarException 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 RarArchive cerrado o un objeto RarEntry relativo al primero;
  • intentar obtener una entrada que no existe con RarArchive::getEntry().

Parámetros

using_exceptions

Debe ser TRUE para activar lanzamiento de excepciones, FALSE para descativarlo (el valor por defecto).

Ejemplos

Ejemplo #1 Ejemplo de RarException::setUsingExceptions()

<?php
var_dump(RarException::isUsingExceptions());
$arch = RarArchive::open("does_not_exist.rar");
var_dump($arch);

RarException::setUsingExceptions(true);
var_dump(RarException::isUsingExceptions());
$arch = RarArchive::open("does_not_exist.rar");
var_dump($arch); //not reached
?>

El resultado del ejemplo sería algo similar a:

bool(false)

Warning: RarArchive::open(): Failed to open does_not_exist.rar: ERAR_EOPEN (file open error) in C:\php_rar\trunk\tests\test.php on line 3
bool(false)
bool(true)

Fatal error: Uncaught exception 'RarException' with message 'unRAR internal error: Failed to open does_not_exist.rar: ERAR_EOPEN (file open error)' in C:\php_rar\trunk\tests\test.php:8
Stack trace:
#0 C:\php_rar\trunk\tests\test.php(8): RarArchive::open('does_not_exist....')
#1 {main}
  thrown in C:\php_rar\trunk\tests\test.php on line 8

Ver también

  • RarException::isUsingExceptions() - Comprobar si el manejador de errores con excepciones está en uso

RarException::isUsingExceptions
Zip
RarException


Zip

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • ZipArchive — The ZipArchive class
    • ZipArchive::addEmptyDir — Añadir un nuevo directorio
    • ZipArchive::addFile — Añade un fichero al archivo ZIP para la ruta dada
    • ZipArchive::addFromString — Añadir un fichero al archivo ZIP usando su contenido
    • ZipArchive::addGlob — Añadir ficheros de un directorio mediante un patrón glob
    • ZipArchive::addPattern — Añade ficheros de un directorio a partir de un patrón PCRE
    • ZipArchive::close — Cierra el fichero activo (abierto o el nuevo creado)
    • ZipArchive::deleteIndex — Elimina una entrada en el archivo usando su índice
    • ZipArchive::deleteName — Elimina una entrada en el archivo por su nombre
    • ZipArchive::extractTo — Extraer el contenido del archivo
    • ZipArchive::getArchiveComment — Devuelve el comentario del archivo ZIP
    • ZipArchive::getCommentIndex — Devuelve el comentario de una entrada usando la entrada díndice
    • ZipArchive::getCommentName — Devuelve el comentario de una entrada usando el nombre de la entrada
    • ZipArchive::getFromIndex — Devuelve el contenido de la entrada usando su índice
    • ZipArchive::getFromName — Devuelve el contenido de la entrada utilizando su nombre
    • ZipArchive::getNameIndex — Devuelve el nombre de una entrada utilizando su índice
    • ZipArchive::getStatusString — Devuelve mensajes de: estado de error, de sistema y/o mensajes de zip
    • ZipArchive::getStream — Obtener un manejador de fichero para la entrada definido por su nombre (sólo lectura)
    • ZipArchive::locateName — Devuelve el índice de la entrada en el archivo
    • ZipArchive::open — Abrir un fichero de archivo en formato ZIP
    • ZipArchive::renameIndex — Renombra una entrada definida por su índice
    • ZipArchive::renameName — Renombra una entrada definida por su nombre
    • ZipArchive::setArchiveComment — Establece el comentario de un archivo ZIP
    • ZipArchive::setCommentIndex — Establece el comentario de una entrada definido por su índice
    • ZipArchive::setCommentName — Establece el comentario de una entrada definido por su nombre
    • ZipArchive::statIndex — Obtiene los detalles de una entrada definida por su índice
    • ZipArchive::statName — Obtener los detalles de una entrada definida por su nombre
    • ZipArchive::unchangeAll — Deshacer todos los cambios hechos en el archivo
    • ZipArchive::unchangeArchive — Revertir todos los cambios globales hechos en el archivo
    • ZipArchive::unchangeIndex — Revertir todos los cambios hechos a una entrada en el índice dado
    • ZipArchive::unchangeName — Deshace todos los cambios realizados a una entrada con un nombre dado
  • Funciones Zip
    • zip_close — Cierra un fichero ZIP
    • zip_entry_close — Cierra la entrada a un directorio
    • zip_entry_compressedsize — Obtiene el tamaño comprimido de una entrada de directorio
    • zip_entry_compressionmethod — Devuelve el método de compresión de una entrada de directorio
    • zip_entry_filesize — Devuelve el tamaño del fichero actual de una entrada de directorio
    • zip_entry_name — Devuelve el nombre de la entrada de un directorio
    • zip_entry_open — Abrir una entrada de directorio para lectura
    • zip_entry_read — Leer desde una entrada de directorio abierta
    • zip_open — Abre un fichero ZIP
    • zip_read — Leer la siguiente entrada en el fichero ZIP
RarException::setUsingExceptions
Introducción
Extensiones de compresión y archivos


Introducción

Esta extensión permite leer o escribir de forma transparente archivos comprimidos ZIP y los ficheros que hay dentro.

Zip
Instalación/Configuración
Zip


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Zip


Requerimientos

PHP 4

El paquete de la versión PHP 4 requiere » ZZIPlib, por Guido Draheim, versión 0.10.6 o superior

PHP 5.2.0 or later

Esta extensión usa las funciones de » zlib por Jean-loup Gailly y Mark Adler.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

PHP 4

Nota:

El soporte Zip antes de PHP 4.1.0 es experimental.

Advertencia

Debido a que la extensión zip para PHP 4 no está siendo mantenida, recomendamos que que use la extensión PECL en lugar de usar la nativa.

Sistemas Linux

Para poder usar estas funciones debe compilar PHP con soporte para zip usando la opción de configuración --with-zip[=DIR] , donde [DIR] es el prefijo de la instalación de la librería » ZZIPlib.

Windows

Los usuarios de windows necesitan activar php_zip.dll dentro de php.ini para poder usar estas funciones.

PHP 5.2.0 o superior

Sistemas Linux

Para poder usar estas funciones debe compilar PHP con soporte para zip usando la opción de configuración --enable-zip .

Windows

Los usuarios de windows necesitan activar php_zip.dll dentro de php.ini para poder usar estas funciones.

Instalación vía PECL

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/zip.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

En PHP 4 esta DLL reside en el directorio extensions/ dentro de la descarga de los binarios de PHP para Windows.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

Existen dos tipos de recursos usados en el módulo Zip. El primero es el directorio Zip para el fichero Zip, el segundo la entrada Zip para la entrada de archivos.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

ZipArchive usa constantes de clase. Existen tres tipos de constantes: Flags (prefijadas con FL_), errores (prefijados con ER_) y modos (sin prefijo).

ZipArchive::CREATE (integer)
Crea el archivo si no existe.
ZipArchive::OVERWRITE (integer)
Siempre empieza un nuevo archivo, este modo sobreescribirá el fichero si ya existe.
ZipArchive::EXCL (integer)
Error si el fichero ya existe.
ZipArchive::CHECKCONS (integer)
Realiza comprobaciones de coherencia adicionales al archivo, producirá un error si falla.
ZipArchive::FL_NOCASE (integer)
Ignorar mayúsculas el lookup del nombre
ZipArchive::FL_NODIR (integer)
Ignorar el componente directorio
ZipArchive::FL_COMPRESSED (integer)
Leer datos comprimidos
ZipArchive::FL_UNCHANGED (integer)
Usar los datos originales, ignorando cambios.
ZipArchive::CM_DEFAULT (integer)
Mejor para desinflar o almacenar.
ZipArchive::CM_STORE (integer)
almacenar (no comprimir).
ZipArchive::CM_SHRINK (integer)
Reducir
ZipArchive::CM_REDUCE_1 (integer)
reducido con factor 1
ZipArchive::CM_REDUCE_2 (integer)
reducido con factor 2
ZipArchive::CM_REDUCE_3 (integer)
reducido con factor 3
ZipArchive::CM_REDUCE_4 (integer)
reducido con factor 4
ZipArchive::CM_IMPLODE (integer)
implodado
ZipArchive::CM_DEFLATE (integer)
Deflactado
ZipArchive::CM_DEFLATE64 (integer)
deflate64
ZipArchive::CM_PKWARE_IMPLODE (integer)
PKWARE imploding
ZipArchive::CM_BZIP2 (integer)
usar algoritmo BZIP2
ZipArchive::ER_OK (integer)
Sin errores.
ZipArchive::ER_MULTIDISK (integer)
Archivos zip multi-disk no soportados.
ZipArchive::ER_RENAME (integer)
Mantener fichero temporal fallado.
ZipArchive::ER_CLOSE (integer)
Cerrar fichero zip fallado.
ZipArchive::ER_SEEK (integer)
Buscar error
ZipArchive::ER_READ (integer)
Leer error
ZipArchive::ER_WRITE (integer)
Escribir error
ZipArchive::ER_CRC (integer)
error CRC
ZipArchive::ER_ZIPCLOSED (integer)
Conteniendo el fichero zip que ha sido cerrado
ZipArchive::ER_NOENT (integer)
No existe el fichero.
ZipArchive::ER_EXISTS (integer)
El fichero ya existe
ZipArchive::ER_OPEN (integer)
No se puede abrir el fichero
ZipArchive::ER_TMPOPEN (integer)
Fallo al intentar crear fichero temporal.
ZipArchive::ER_ZLIB (integer)
Error de Zlib
ZipArchive::ER_MEMORY (integer)
Error de asignación de memoria
ZipArchive::ER_CHANGED (string)
La entrada a cambiado
ZipArchive::ER_COMPNOTSUPP (integer)
Método de compresión no soportado.
ZipArchive::ER_EOF (integer)
EOF precoz.
ZipArchive::ER_INVAL (integer)
Argumento inválido
ZipArchive::ER_NOZIP (integer)
No es un archivo zip
ZipArchive::ER_INTERNAL (integer)
Error interno
ZipArchive::ER_INCONS (integer)
Fichero Zip inconsistente
ZipArchive::ER_REMOVE (integer)
No se puede eliminar el fichero
ZipArchive::ER_DELETED (integer)
La entrada ha sido eliminada
Tipos de recursos
Ejemplos
Zip


Ejemplos

Ejemplo #1 Crear un fichero Zip

<?php

$zip = new ZipArchive();
$filename = "./test112.zip";

if ($zip->open($filename, ZipArchive::CREATE)!==TRUE) {
    exit("cannot open <$filename>\n");
}

$zip->addFromString("testfilephp.txt" . time(), "#1 Esto es una cadena de prueba añadida como  testfilephp.txt.\n");
$zip->addFromString("testfilephp2.txt" . time(), "#2 Esto es una cadena de prueba añadida como testfilephp2.txt.\n");
$zip->addFile($thisdir . "/too.php","/testfromfile.php");
echo "numficheros: " . $zip->numFiles . "\n";
echo "estado:" . $zip->status . "\n";
$zip->close();
?>

Ejemplo #2 Volcar la información del archivo y listarlos

<?php
$za = new ZipArchive();

$za->open('test_with_comment.zip');
print_r($za);
var_dump($za);
echo "numFicheros: " . $za->numFiles . "\n";
echo "estado: " . $za->status  . "\n";
echo "estadosSis: " . $za->statusSys . "\n";
echo "nombreFichero: " . $za->filename . "\n";
echo "comentario: " . $za->comment . "\n";

for ($i=0; $i<$za->numFiles;$i++) {
    echo "index: $i\n";
    print_r($za->statIndex($i));
}
echo "numFichero:" . $za->numFiles . "\n";
?>

Ejemplo #3 Usando contenedor Zip, leer meta info de OpenOffice

<?php
$reader = new XMLReader();

$reader->open('zip://' . dirname(__FILE__) . '/test.odt#meta.xml');
$odt_meta = array();
while ($reader->read()) {
    if ($reader->nodeType == XMLREADER::ELEMENT) {
        $elm = $reader->name;
    } else {
        if ($reader->nodeType == XMLREADER::END_ELEMENT && $reader->name == 'office:meta') {
            break;
        }
        if (!trim($reader->value)) {
            continue;
        }
        $odt_meta[$elm] = $reader->value;
    }
}
print_r($odt_meta);
?>

Este ejemplo utiliza la antigua API (PHP 4), abre un fichero ZIP, lee cada fichero del archivo y imprime su contenido. El archivotest2.zip usado en este ejmplo es uno de los archivos de prueba la fuente de distribución de ZZIPlib.

Ejemplo #4 Ejemplo del uso de Zip

<?php

$zip = zip_open("/tmp/test2.zip");

if ($zip) {
    while ($zip_entry = zip_read($zip)) {
        echo "Nombre:               " . zip_entry_name($zip_entry) . "\n";
        echo "Tamaño actual del fichero:    " . zip_entry_filesize($zip_entry) . "\n";
        echo "Tamaño comprimido:    " . zip_entry_compressedsize($zip_entry) . "\n";
        echo "Método de compresión: " . zip_entry_compressionmethod($zip_entry) . "\n";

        if (zip_entry_open($zip, $zip_entry, "r")) {
            echo "Contenido del fichero:\n";
            $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
            echo "$buf\n";

            zip_entry_close($zip_entry);
        }
        echo "\n";

    }

    zip_close($zip);

}
?>
Constantes predefinidas
ZipArchive
Zip


The ZipArchive class

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

Introducción

Un fichero, comprimido con Zip.

Sinopsis de la Clase

ZipArchive {
/* Propiedades */
int $status;
int $statusSys;
int $numFiles;
string $filename;
string $comment;
/* Métodos */
bool addEmptyDir ( string $dirname )
bool addFile ( string $filename [, string $localname = NULL [, int $start = 0 [, int $length = 0 ]]] )
bool addFromString ( string $localname , string $contents )
bool addGlob ( string $pattern [, int $flags = 0 [, array $options = array() ]] )
bool addPattern ( string $pattern [, string $path = '.' [, array $options = array() ]] )
bool close ( void )
bool deleteIndex ( int $index )
bool deleteName ( string $name )
bool extractTo ( string $destination [, mixed $entries ] )
string getArchiveComment ([ int $flags ] )
string getCommentIndex ( int $index [, int $flags ] )
string getCommentName ( string $name [, int $flags ] )
string getFromIndex ( int $index [, int $length = 0 [, int $flags ]] )
mixed getFromName ( string $name [, int $length = 0 [, int $flags ]] )
string getNameIndex ( int $index [, int $flags ] )
string getStatusString ( void )
resource getStream ( string $name )
mixed locateName ( string $name [, int $flags ] )
mixed open ( string $filename [, int $flags ] )
bool renameIndex ( int $index , string $newname )
bool renameName ( string $name , string $newname )
mixed setArchiveComment ( string $comment )
mixed setCommentIndex ( int $index , string $comment )
mixed setCommentName ( string $name , string $comment )
mixed statIndex ( int $index [, int $flags ] )
mixed statName ( string $name [, int $flags ] )
mixed unchangeAll ( void )
mixed unchangeArchive ( void )
mixed unchangeIndex ( int $index )
bool unchangeName ( string $name )
}

Propiedades

status

Estado del archivo Zip

statusSys

Estado del sistema del archivo Zip

numFiles

Número de ficheros en el archivo

filename

Nombre del archivo en le sistema de archivos

comment

Comentario para el archivo

Tabla de contenidos

  • ZipArchive::addEmptyDir — Añadir un nuevo directorio
  • ZipArchive::addFile — Añade un fichero al archivo ZIP para la ruta dada
  • ZipArchive::addFromString — Añadir un fichero al archivo ZIP usando su contenido
  • ZipArchive::addGlob — Añadir ficheros de un directorio mediante un patrón glob
  • ZipArchive::addPattern — Añade ficheros de un directorio a partir de un patrón PCRE
  • ZipArchive::close — Cierra el fichero activo (abierto o el nuevo creado)
  • ZipArchive::deleteIndex — Elimina una entrada en el archivo usando su índice
  • ZipArchive::deleteName — Elimina una entrada en el archivo por su nombre
  • ZipArchive::extractTo — Extraer el contenido del archivo
  • ZipArchive::getArchiveComment — Devuelve el comentario del archivo ZIP
  • ZipArchive::getCommentIndex — Devuelve el comentario de una entrada usando la entrada díndice
  • ZipArchive::getCommentName — Devuelve el comentario de una entrada usando el nombre de la entrada
  • ZipArchive::getFromIndex — Devuelve el contenido de la entrada usando su índice
  • ZipArchive::getFromName — Devuelve el contenido de la entrada utilizando su nombre
  • ZipArchive::getNameIndex — Devuelve el nombre de una entrada utilizando su índice
  • ZipArchive::getStatusString — Devuelve mensajes de: estado de error, de sistema y/o mensajes de zip
  • ZipArchive::getStream — Obtener un manejador de fichero para la entrada definido por su nombre (sólo lectura)
  • ZipArchive::locateName — Devuelve el índice de la entrada en el archivo
  • ZipArchive::open — Abrir un fichero de archivo en formato ZIP
  • ZipArchive::renameIndex — Renombra una entrada definida por su índice
  • ZipArchive::renameName — Renombra una entrada definida por su nombre
  • ZipArchive::setArchiveComment — Establece el comentario de un archivo ZIP
  • ZipArchive::setCommentIndex — Establece el comentario de una entrada definido por su índice
  • ZipArchive::setCommentName — Establece el comentario de una entrada definido por su nombre
  • ZipArchive::statIndex — Obtiene los detalles de una entrada definida por su índice
  • ZipArchive::statName — Obtener los detalles de una entrada definida por su nombre
  • ZipArchive::unchangeAll — Deshacer todos los cambios hechos en el archivo
  • ZipArchive::unchangeArchive — Revertir todos los cambios globales hechos en el archivo
  • ZipArchive::unchangeIndex — Revertir todos los cambios hechos a una entrada en el índice dado
  • ZipArchive::unchangeName — Deshace todos los cambios realizados a una entrada con un nombre dado
Ejemplos
ZipArchive::addEmptyDir
Zip


Añadir un nuevo directorio

ZipArchive
ZipArchive::addFile
ZipArchive
PHP Manual

ZipArchive::addEmptyDir

(PHP 5 >= 5.2.0, PECL zip >= 1.8.0)

ZipArchive::addEmptyDir — Añadir un nuevo directorio

Descripción

bool ZipArchive::addEmptyDir ( string $dirname )

Añade un directoro vacío en el archivo.

Parámetros

dirname

El directorio a añadir.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Crea un nuevo directorio en un archivo

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    if($zip->addEmptyDir('newDirectory')) {
        echo 'Creado nuevo directorio root';
    } else {
        echo 'No se puede crear el directorio';
    }
    $zip->close();
} else {
    echo 'falló';
}
?>
ZipArchive
ZipArchive::addFile
ZipArchive


Añade un fichero al archivo ZIP para la ruta dada

ZipArchive::addEmptyDir
ZipArchive::addFromString
ZipArchive
PHP Manual

ZipArchive::addFile

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::addFile — Añade un fichero al archivo ZIP para la ruta dada

Descripción

bool ZipArchive::addFile ( string $filename [, string $localname = NULL [, int $start = 0 [, int $length = 0 ]]] )

Añade un fichero al archivo ZIP par la ruta dada.

Parámetros

filename

La ruta del fichero a añadir.

localname

Si corresponde, este es el nombre local dentro del archivo ZIP que reemplazará el filename.

start

Este parámetro no se utiliza, pero es requerido si se extiende ZipArchive.

length

Este parámetro no se utiliza, pero es requerido si se extiende ZipArchive.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Este ejemplo abre un archivo ZIP test.zip y añade el fichero /path/to/index.txt. como newname.txt.

Ejemplo #1 Abrir y extraer

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->addFile('/path/to/index.txt', 'newname.txt');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

Notas

Nota:

Cuando un fichero es añadido al archivo, PHP intentará bloquear el fichero y solamente lo desbloqueará cuando finalice la operación con el ZIP. En resumen, significa que se puede eliminar un fichero añadido después que se cierre el archivo.

ZipArchive::addEmptyDir
ZipArchive::addFromString
ZipArchive


Añadir un fichero al archivo ZIP usando su contenido

ZipArchive::addFile
ZipArchive::addGlob
ZipArchive
PHP Manual

ZipArchive::addFromString

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::addFromString — Añadir un fichero al archivo ZIP usando su contenido

Descripción

bool ZipArchive::addFromString ( string $localname , string $contents )

Añade un fichero al archivo ZIP usando su contenido.

Parámetros

localname

Nombre de la entrada a crear.

contents

El contenido a usar para crear la entrada. Es usado en modo binary safe.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Añade una entrada al nuevo fichero

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('test.txt', 'el contenido del fichero va aquí');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

Ejemplo #2 Añade un fichero en un directorio dentro de un archivo

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->addFromString('dir/test.txt', 'el contenido del fichero va aquí');
    $zip->close();
    echo 'ok';
} else {
    echo 'falló';
}
?>
ZipArchive::addFile
ZipArchive::addGlob
ZipArchive


Añadir ficheros de un directorio mediante un patrón glob

ZipArchive::addFromString
ZipArchive::addPattern
ZipArchive
PHP Manual

ZipArchive::addGlob

(PHP 5 >= 5.3.0, PECL zip >= 1.9.0)

ZipArchive::addGlob — Añadir ficheros de un directorio mediante un patrón glob

Descripción

bool ZipArchive::addGlob ( string $pattern [, int $flags = 0 [, array $options = array() ]] )

Añade ficheros de un directorio que corresponde con el patrón global pattern.

Parámetros

pattern

Un patrón glob()contra el cual se hará la correspondencia con los ficheros.

flags

Una máscara de un bit de marcas glob().

options

Un array asociativo de opciones. Las opciones disponibles son:

  • "add_path"

    Prefijo a indicar cuando se traduce la ruta de acceso del fichero dentro del archivo. Esta traducción se aplica después de cualquier operación de eliminación definida por las opciones "remove_path" o "remove_all_path" .

  • "remove_path"

    Prefijo para eliminar la ruta de acceso de los ficheros antes de añadirlos al archivo.

  • "remove_all_path"

    TRUE para utilizar únicamente el nombre del fichero y añadirlo a la raíz del archivo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo con ZipArchive::addGlob()

Añadir todos los ficheros de scripts y texto php del directorio de trabajo actual

<?php
$zip = new ZipArchive();
$ret = $zip->open('application.zip', ZipArchive::OVERWRITE);
if ($ret !== TRUE) {
    printf('Erróneo con el código %d', $ret);
} else {
    $options = array('add_path' => 'sources/', 'remove_all_path' => TRUE);
    $zip->addGlob('*.{php,txt}', GLOB_BRACE, $options);
    $zip->close();
}
?>

Ver también

  • ZipArchive::addFile() - Añade un fichero al archivo ZIP para la ruta dada
  • ZipArchive::addPattern() - Añade ficheros de un directorio a partir de un patrón PCRE

ZipArchive::addFromString
ZipArchive::addPattern
ZipArchive


Añade ficheros de un directorio a partir de un patrón PCRE

ZipArchive::addGlob
ZipArchive::close
ZipArchive
PHP Manual

ZipArchive::addPattern

(PHP 5 >= 5.3.0, PECL zip >= 1.9.0)

ZipArchive::addPattern — Añade ficheros de un directorio a partir de un patrón PCRE

Descripción

bool ZipArchive::addPattern ( string $pattern [, string $path = '.' [, array $options = array() ]] )

Añade ficheros de un directorio que coinciden con la expresión regular pattern. La operación no es recursiva. Únicamente se hará la correspondencia del patrón con el nombre del fichero.

Parámetros

pattern

Un patrón PCRE contra el cual se realizará la correspondencia.

path

El directorio que será escaneado. Por defecto es el directorio de trabajo actual.

options

Un array asociativo de opciones aceptadas por ZipArchive::addGlob().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo con ZipArchive::addPattern()

Añadir todos los scripts y ficheros de texto php del directorio actual

<?php
$zip = new ZipArchive();
$ret = $zip->open('application.zip', ZipArchive::OVERWRITE);
if ($ret !== TRUE) {
    printf('Erróneo con código %d', $ret);
} else {
    $directory = realpath('.');
    $options = array('add_path' => 'sources/', 'remove_path' => $directory);
    $zip->addPattern('/\.(?:php|txt)$/', $directory, $options);
    $zip->close();
}
?>

Ver también

  • ZipArchive::addFile() - Añade un fichero al archivo ZIP para la ruta dada
  • ZipArchive::addGlob() - Añadir ficheros de un directorio mediante un patrón glob

ZipArchive::addGlob
ZipArchive::close
ZipArchive


Cierra el fichero activo (abierto o el nuevo creado)

ZipArchive::addPattern
ZipArchive::deleteIndex
ZipArchive
PHP Manual

ZipArchive::close

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::close — Cierra el fichero activo (abierto o el nuevo creado)

Descripción

bool ZipArchive::close ( void )

Cierra fichero abierto o creado y guarda los cambios. Este método es automáticamente llamado al finalizar el script.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ZipArchive::addPattern
ZipArchive::deleteIndex
ZipArchive


Elimina una entrada en el archivo usando su índice

ZipArchive::close
ZipArchive::deleteName
ZipArchive
PHP Manual

ZipArchive::deleteIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::deleteIndex — Elimina una entrada en el archivo usando su índice

Descripción

bool ZipArchive::deleteIndex ( int $index )

Elimina una entrada en su archivo usando su índice.

Parámetros

index

Índice de la entrada a eliminar.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Elimina el fichero desde el archivo usando su índice

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->deleteIndex(2);
    $zip->close();
    echo 'ok';
} else {
    echo 'falló';
}
?>
ZipArchive::close
ZipArchive::deleteName
ZipArchive


Elimina una entrada en el archivo por su nombre

ZipArchive::deleteIndex
ZipArchive::extractTo
ZipArchive
PHP Manual

ZipArchive::deleteName

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::deleteName — Elimina una entrada en el archivo por su nombre

Descripción

bool ZipArchive::deleteName ( string $name )

Elimina una entrada en el archivo por su nombre

Parámetros

name

Nombre de la entrada a eliminar.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Eliminado un fichero y un directorio desde un archivo, usando nombres

<?php
$zip = new ZipArchive;
if ($zip->open('test1.zip') === TRUE) {
    $zip->deleteName('testfromfile.php');
    $zip->deleteName('testDir/');
    $zip->close();
    echo 'ok';
} else {
    echo 'Falló';
}
?>
ZipArchive::deleteIndex
ZipArchive::extractTo
ZipArchive


Extraer el contenido del archivo

ZipArchive::deleteName
ZipArchive::getArchiveComment
ZipArchive
PHP Manual

ZipArchive::extractTo

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::extractTo — Extraer el contenido del archivo

Descripción

bool ZipArchive::extractTo ( string $destination [, mixed $entries ] )

Extrae el archivo completo o los ficheros dados en la ruta que se especifique.

Parámetros

destination

Destino en donde extraer los ficheros.

entries

Las entradas a extraer. Acepta tanto un solo nombre o un array de nombres.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Extraer todas las entradas

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->extractTo('/my/destination/dir/');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

Ejemplo #2 Extraer dos entradas

<?php
$zip = new ZipArchive;
$res = $zip->open('test_im.zip');
if ($res === TRUE) {
    $zip->extractTo('/my/destination/dir/', array('pear_item.gif', 'testfromfile.php'));
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>
ZipArchive::deleteName
ZipArchive::getArchiveComment
ZipArchive


Devuelve el comentario del archivo ZIP

ZipArchive::extractTo
ZipArchive::getCommentIndex
ZipArchive
PHP Manual

ZipArchive::getArchiveComment

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::getArchiveComment — Devuelve el comentario del archivo ZIP

Descripción

string ZipArchive::getArchiveComment ([ int $flags ] )

Devuelve el comentario del archivo ZIP.

Parámetros

flags

Si las flags se establecen en ZipArchive::FL_UNCHANGED, el comentario original se devuelve sin cambios.

Valores devueltos

Devuelve el comentario del archivo Zip o FALSE en caso de error.

Ejemplos

Ejemplo #1 Vuelca el comentario del archivo

<?php
$zip = new ZipArchive;
$res = $zip->open('test_with_comment.zip');
if ($res === TRUE) {
    var_dump($zip->getArchiveComment());
    /* O usando la propiedad del archivo */
    var_dump($zip->comment);
} else {
    echo 'falló, código:' . $res;
}
?>
ZipArchive::extractTo
ZipArchive::getCommentIndex
ZipArchive


Devuelve el comentario de una entrada usando la entrada díndice

ZipArchive::getArchiveComment
ZipArchive::getCommentName
ZipArchive
PHP Manual

ZipArchive::getCommentIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.4.0)

ZipArchive::getCommentIndex — Devuelve el comentario de una entrada usando la entrada díndice

Descripción

string ZipArchive::getCommentIndex ( int $index [, int $flags ] )

Devuelve el comentario de una entrada usando la entrada índice.

Parámetros

index

Índice de la entrada

flags

Si flags ZipArchive::FL_UNCHANGED, se devolverá el comentario original no cambiado.

Valores devueltos

Con éxito devuelve el comentario o FALSE en caso de error.

Ejemplos

Ejemplo #1 Vuelca el comentario de la entrada

<?php
$zip = new ZipArchive;
$res = $zip->open('test1.zip');
if ($res === TRUE) {
    var_dump($zip->getCommentIndex(1));
} else {
    echo 'falló, código:' . $res;
}
?>
ZipArchive::getArchiveComment
ZipArchive::getCommentName
ZipArchive


Devuelve el comentario de una entrada usando el nombre de la entrada

ZipArchive::getCommentIndex
ZipArchive::getFromIndex
ZipArchive
PHP Manual

ZipArchive::getCommentName

(PHP 5 >= 5.2.0, PECL zip >= 1.4.0)

ZipArchive::getCommentName — Devuelve el comentario de una entrada usando el nombre de la entrada

Descripción

string ZipArchive::getCommentName ( string $name [, int $flags ] )

Devuelve el nombre de una entrada usando el nombre de la entrada.

Parámetros

name

Nombre de la entrada

flags

Si flags está defindo a ZipArchive::FL_UNCHANGED, se devuelve el comentario original no cambiado.

Valores devueltos

Devuelve el comentario si se ejecutó con éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Vuelca el comentario de la entrada

<?php
$zip = new ZipArchive;
$res = $zip->open('test1.zip');
if ($res === TRUE) {
    var_dump($zip->getCommentName('test/entry1.txt'));
} else {
    echo 'Falló, código:' . $res;
}
?>
ZipArchive::getCommentIndex
ZipArchive::getFromIndex
ZipArchive


Devuelve el contenido de la entrada usando su índice

ZipArchive::getCommentName
ZipArchive::getFromName
ZipArchive
PHP Manual

ZipArchive::getFromIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.3.0)

ZipArchive::getFromIndex — Devuelve el contenido de la entrada usando su índice

Descripción

string ZipArchive::getFromIndex ( int $index [, int $length = 0 [, int $flags ]] )

Devuelve el contenido de la entrada usando su índice.

Parámetros

index

El índice de la entrada

length

La longitud que se see desde la entrada. Si es 0, entonces toda la entrada se lee.

flags

Las flags usadas para abrir el fichero. Los siguientes valores pueden ser Ored.

  • ZipArchive::FL_UNCHANGED

  • ZipArchive::FL_COMPRESSED

Valores devueltos

Devuelve el contenido de la entrada si se ejecutó con éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Obtener el contenido del fichero

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    echo $zip->getFromIndex(2);
    $zip->close();
} else {
    echo 'falló';
}
?>

Ver también

  • ZipArchive::getFromName() - Devuelve el contenido de la entrada utilizando su nombre

ZipArchive::getCommentName
ZipArchive::getFromName
ZipArchive


Devuelve el contenido de la entrada utilizando su nombre

ZipArchive::getFromIndex
ZipArchive::getNameIndex
ZipArchive
PHP Manual

ZipArchive::getFromName

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::getFromName — Devuelve el contenido de la entrada utilizando su nombre

Descripción

mixed ZipArchive::getFromName ( string $name [, int $length = 0 [, int $flags ]] )

Devuelve el contenido de la entrada utilizando su nombre

Parámetros

name

Nombre de la entrada

length

La longitud que se see desde la entrada. Si es 0, entonces toda la entrada se lee.

flags

Los indicadores a utilizar para abrir el archivo. Los siguientes valores podrían ser escritos juntos con un OR lógico en él.

  • ZIPARCHIVE::FL_UNCHANGED

  • ZIPARCHIVE::FL_COMPRESSED

Valores devueltos

Devuelve el contenido de la entrada en caso de tener éxito, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Obtener el contenido de los ficheros

<?php
$zip = new ZipArchive;
if ($zip->open('test1.zip') === TRUE) {
    echo $zip->getFromName('testfromfile.php');
    $zip->close();
} else {
    echo 'falló';
}
?>

Ejemplo #2 Convierte una imagen desde una entrada de fichero zip

<?php
$z = new ZipArchive();
if ($z->open(dirname(__FILE__) . '/test_im.zip')) {
    $im_string = $z->getFromName("pear_item.gif");
    $im = imagecreatefromstring($im_string);
    imagepng($im, 'b.png');
}
?>
ZipArchive::getFromIndex
ZipArchive::getNameIndex
ZipArchive


Devuelve el nombre de una entrada utilizando su índice

ZipArchive::getFromName
ZipArchive::getStatusString
ZipArchive
PHP Manual

ZipArchive::getNameIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::getNameIndex — Devuelve el nombre de una entrada utilizando su índice

Descripción

string ZipArchive::getNameIndex ( int $index [, int $flags ] )

Devuelve el nombre de una entrada utilizando su índice.

Parámetros

index

El índice de la entrada.

flags

Si las flags se establecen en ZipArchive::FL_UNCHANGED, el nombre original es devuelto sin cambios.

Valores devueltos

Devuelve el nombre en caso de tener éxito, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ZipArchive::getNameIndex()

<?php
if ($zip->open('test.zip') == TRUE) {
 for ($i = 0; $i < $zip->numFiles; $i++) {
     $filename = $zip->getNameIndex($i);
     // ...
 }
}
?>

ZipArchive::getFromName
ZipArchive::getStatusString
ZipArchive


Devuelve mensajes de: estado de error, de sistema y/o mensajes de zip

ZipArchive::getNameIndex
ZipArchive::getStream
ZipArchive
PHP Manual

ZipArchive::getStatusString

(PHP 5 >= 5.2.7)

ZipArchive::getStatusString — Devuelve mensajes de: estado de error, de sistema y/o mensajes de zip

Descripción

string ZipArchive::getStatusString ( void )

Devuelve mensajes de: estado de error, de sistema y/o mensajes de zip.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un string con el mensaje de estado en caso de tener éxito, o FALSE en caso de error.

ZipArchive::getNameIndex
ZipArchive::getStream
ZipArchive


Obtener un manejador de fichero para la entrada definido por su nombre (sólo lectura)

ZipArchive::getStatusString
ZipArchive::locateName
ZipArchive
PHP Manual

ZipArchive::getStream

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::getStream — Obtener un manejador de fichero para la entrada definido por su nombre (sólo lectura)

Descripción

resource ZipArchive::getStream ( string $name )

Obtener un manejador de fichero para la entrada definido por su nombre. Por ahora, éste solamente soporta operaciones de lectura.

Parámetros

name

El nombre de la entrada a utilizar.

Valores devueltos

Devuelve un puntero de fichero (un recurso) en caso de tener éxito, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Obtiene los contenidos de entrada con fread() y lo almacena

<?php
$content = '';
$z = new ZipArchive();
if ($z->open('test.zip')) {
    $fp = $z->getStream('test');
    if(!$fp) exit("falló.\n");

    while (!feof($fp)) {
        $contents .= fread($fp, 2);
    }

    fclose($fp);
    file_put_contents('t',$contents);
    echo "hecho.\n";
}
?>

Ejemplo #2 Lo mismo como el ejemplo anterior pero con fopen() y el envoltorio de flujo de zip

<?php
$fp = fopen('zip://' . dirname(__FILE__) . '/test.zip#test', 'r');
if (!$fp) {
    exit("No se puede abrir.\n");
}
while (!feof($fp)) {
    $contents .= fread($fp, 2);
}
echo "$contents\n";
fclose($fp);
echo "hecho.\n";
?>

Ejemplo #3 El flujo de envoltorio y la imagen, también pueden ser utilizados con la función xml

<?php
$im = imagecreatefromgif('zip://' . dirname(__FILE__) . '/test_im.zip#pear_item.gif');
imagepng($im, 'a.png');
?>
ZipArchive::getStatusString
ZipArchive::locateName
ZipArchive


Devuelve el índice de la entrada en el archivo

ZipArchive::getStream
ZipArchive::open
ZipArchive
PHP Manual

ZipArchive::locateName

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::locateName — Devuelve el índice de la entrada en el archivo

Descripción

mixed ZipArchive::locateName ( string $name [, int $flags ] )

Localiza una entrada utilizando su nombre.

Parámetros

name

El nombre de la entrada a buscar

flags

Los indicadores son especificados agregándoles OR a los siguientes valores, ó 0 para ninguno de ellos.

  • ZIPARCHIVE::FL_NOCASE

  • ZIPARCHIVE::FL_NODIR

Valores devueltos

Devuelve el índice de la entrada en caso de tener éxito, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Crear un archivo y luego utilizarlo con ZipArchive::locateName()

<?php
$file = 'testlocate.zip';

$zip = new ZipArchive;
if ($zip->open($file, ZIPARCHIVE::CREATE) !== TRUE) {
    exit('falló');
}

$zip->addFromString('entry1.txt', 'entry #1');
$zip->addFromString('entry2.txt', 'entry #2');
$zip->addFromString('dir/entry2d.txt', 'entry #2');

if (!$zip->status == ZIPARCHIVE::ER_OK) {
    echo "falló al escribir en el archivo zip\n";
}
$zip->close();

if ($zip->open($file) !== TRUE) {
    exit('falló');
}

echo $zip->locateName('entry1.txt') . "\n";
echo $zip->locateName('eNtry2.txt') . "\n";
echo $zip->locateName('eNtry2.txt', ZIPARCHIVE::FL_NOCASE) . "\n";
echo $zip->locateName('enTRy2d.txt', ZIPARCHIVE::FL_NOCASE|ZIPARCHIVE::FL_NODIR) . "\n";
$zip->close();

?>

El resultado del ejemplo sería:

El ejemplo de arriba mostrará la salida:

0

1
2
ZipArchive::getStream
ZipArchive::open
ZipArchive


Abrir un fichero de archivo en formato ZIP

ZipArchive::locateName
ZipArchive::renameIndex
ZipArchive
PHP Manual

ZipArchive::open

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::open — Abrir un fichero de archivo en formato ZIP

Descripción

mixed ZipArchive::open ( string $filename [, int $flags ] )

Abre un archivo zip nuevo para lectura, escritura o modificación.

Parámetros

filename

El nombre del fichero del archivo ZIP para ser abierto.

flags

El modo a utilizar para abrir el archivo.

  • ZIPARCHIVE::OVERWRITE

  • ZIPARCHIVE::CREATE

  • ZIPARCHIVE::EXCL

  • ZIPARCHIVE::CHECKCONS

Valores devueltos

C

Devuelve TRUE en caso de éxito o el código de error.

  • ZIPARCHIVE::ER_EXISTS

    El fichero ya existe.

  • ZIPARCHIVE::ER_INCONS

    Archivo zip inconsistente.

  • ZIPARCHIVE::ER_INVAL

    Argumento no válido.

  • ZIPARCHIVE::ER_MEMORY

    Falló malloc.

  • ZIPARCHIVE::ER_NOENT

    No existe el fichero.

  • ZIPARCHIVE::ER_NOZIP

    No es un archivo zip.

  • ZIPARCHIVE::ER_OPEN

    No se puede abrir el fichero.

  • ZIPARCHIVE::ER_READ

    Error de lectura.

  • ZIPARCHIVE::ER_SEEK

    Error de búsqueda.

Ejemplos

Ejemplo #1 Abrir y extraer

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    echo 'ok';
    $zip->extractTo('test');
    $zip->close();
} else {
    echo 'falló, código:' . $res;
}
?>

Ejemplo #2 Crear un archivo

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('test.txt', 'file content goes here');
    $zip->addFile('data.txt', 'entryname.txt');
    $zip->close();
    echo 'ok';
} else {
    echo 'falló';
}
?>
ZipArchive::locateName
ZipArchive::renameIndex
ZipArchive


Renombra una entrada definida por su índice

ZipArchive::open
ZipArchive::renameName
ZipArchive
PHP Manual

ZipArchive::renameIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::renameIndex — Renombra una entrada definida por su índice

Descripción

bool ZipArchive::renameIndex ( int $index , string $newname )

Renombra una entrada definida por su índice.

Parámetros

index

Índice de la entrada a renombrar.

newname

Nombre nuevo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Renombra una entrada

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    $zip->renameIndex(2,'newname.txt');
    $zip->close();
} else {
    echo 'falló, código:' . $res;
}
?>
ZipArchive::open
ZipArchive::renameName
ZipArchive


Renombra una entrada definida por su nombre

ZipArchive::renameIndex
ZipArchive::setArchiveComment
ZipArchive
PHP Manual

ZipArchive::renameName

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::renameName — Renombra una entrada definida por su nombre

Descripción

bool ZipArchive::renameName ( string $name , string $newname )

Renombra una entrada definida por su nobre.

Parámetros

name

Nombre de la entrada a renombrar.

newname

Nombre nuevo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Renombra una entrada

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    $zip->renameName('currentname.txt','newname.txt');
    $zip->close();
} else {
    echo 'falló, código:' . $res;
}
?>
ZipArchive::renameIndex
ZipArchive::setArchiveComment
ZipArchive


Establece el comentario de un archivo ZIP

ZipArchive::renameName
ZipArchive::setCommentIndex
ZipArchive
PHP Manual

ZipArchive::setArchiveComment

(PHP 5 >= 5.2.0, PECL zip >= 1.4.0)

ZipArchive::setArchiveComment — Establece el comentario de un archivo ZIP

Descripción

mixed ZipArchive::setArchiveComment ( string $comment )

Establece el comentario de un archivo ZIP.

Parámetros

comment

Los contenidos del comentario.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Crear un archivo y establecer un comentario

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('test.txt', 'El contenido del fichero va aquí');
    $zip->setArchiveComment('nuevo comentario del archivo');
    $zip->close();
    echo 'ok';
} else {
    echo 'falló';
}
?>
ZipArchive::renameName
ZipArchive::setCommentIndex
ZipArchive


Establece el comentario de una entrada definido por su índice

ZipArchive::setArchiveComment
ZipArchive::setCommentName
ZipArchive
PHP Manual

ZipArchive::setCommentIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.4.0)

ZipArchive::setCommentIndex — Establece el comentario de una entrada definido por su índice

Descripción

mixed ZipArchive::setCommentIndex ( int $index , string $comment )

Establece el comentario de una entrada definido por su índice.

Parámetros

index

Índice de la entrada.

comment

Los contenidos del comentario.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Abrir un archivo y establecer un comentario para una entrada

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    $zip->setCommentIndex(2, 'comentario de la entrada nueva');
    $zip->close();
    echo 'ok';
} else {
    echo 'falló';
}
?>
ZipArchive::setArchiveComment
ZipArchive::setCommentName
ZipArchive


Establece el comentario de una entrada definido por su nombre

ZipArchive::setCommentIndex
ZipArchive::statIndex
ZipArchive
PHP Manual

ZipArchive::setCommentName

(PHP 5 >= 5.2.0, PECL zip >= 1.4.0)

ZipArchive::setCommentName — Establece el comentario de una entrada definido por su nombre

Descripción

mixed ZipArchive::setCommentName ( string $name , string $comment )

Establece el comentario de una entrada definido por su nombre.

Parámetros

name

Nombre de la entrada.

comment

Los contenidos del comentario.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Abrir un archivo y establecer un comentario para una entrada

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    $zip->setCommentName('entry1.txt', 'comentario de la entrada nueva');
    $zip->close();
    echo 'ok';
} else {
    echo 'falló';
}
?>
ZipArchive::setCommentIndex
ZipArchive::statIndex
ZipArchive


Obtiene los detalles de una entrada definida por su índice

ZipArchive::setCommentName
ZipArchive::statName
ZipArchive
PHP Manual

ZipArchive::statIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::statIndex — Obtiene los detalles de una entrada definida por su índice

Descripción

mixed ZipArchive::statIndex ( int $index [, int $flags ] )

La función obtiene información acerca de la entrada definida por su índice.

Parámetros

index

Índice de la entrada

flags

ZIPARCHIVE::FL_UNCHANGED podría ser puesto con otros OR lógicos en él para pedir información acerca del fichero original en el archivo, ignorando cualquiera de los cambios hechos.

Valores devueltos

Devuelve una matríz conteniendo los detalles de la entrada, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Volcar la información estadística de una entrada

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    print_r($zip->statIndex(3));
    $zip->close();
} else {
    echo 'falló, código:' . $res;
}
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [name] => foobar/baz
    [index] => 3
    [crc] => 499465816
    [size] => 27
    [mtime] => 1123164748
    [comp_size] => 24
    [comp_method] => 8
)
ZipArchive::setCommentName
ZipArchive::statName
ZipArchive


Obtener los detalles de una entrada definida por su nombre

ZipArchive::statIndex
ZipArchive::unchangeAll
ZipArchive
PHP Manual

ZipArchive::statName

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::statName — Obtener los detalles de una entrada definida por su nombre

Descripción

mixed ZipArchive::statName ( string $name [, int $flags ] )

La función obtiene información acerca de la entrada definida por su nombre.

Parámetros

name

Nombre de la entrada

flags

El argumento flags especifica cómo la búsqueda del nombre debería se hecho. También, ZIPARCHIVE::FL_UNCHANGED podría ser puesta con otros OR en él para solicitar la información acerca del fichero original en el archivo, ignorando cualquier cambio realizado.

  • ZIPARCHIVE::FL_NOCASE

  • ZIPARCHIVE::FL_NODIR

  • ZIPARCHIVE::FL_UNCHANGED

Valores devueltos

Devuelve una matríz que contenie detalles de la entrada o FALSE en caso de error.

Ejemplos

Ejemplo #1 Volcar la información estadística de una entrada

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    print_r($zip->statName('foobar/baz'));
    $zip->close();
} else {
    echo 'falló, código:' . $res;
}
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [name] => foobar/baz
    [index] => 3
    [crc] => 499465816
    [size] => 27
    [mtime] => 1123164748
    [comp_size] => 24
    [comp_method] => 8
)
ZipArchive::statIndex
ZipArchive::unchangeAll
ZipArchive


Deshacer todos los cambios hechos en el archivo

ZipArchive::statName
ZipArchive::unchangeArchive
ZipArchive
PHP Manual

ZipArchive::unchangeAll

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::unchangeAll — Deshacer todos los cambios hechos en el archivo

Descripción

mixed ZipArchive::unchangeAll ( void )

Deshacer todos los cambios hechos en el archivo.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ZipArchive::statName
ZipArchive::unchangeArchive
ZipArchive


Revertir todos los cambios globales hechos en el archivo

ZipArchive::unchangeAll
ZipArchive::unchangeIndex
ZipArchive
PHP Manual

ZipArchive::unchangeArchive

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::unchangeArchive — Revertir todos los cambios globales hechos en el archivo

Descripción

mixed ZipArchive::unchangeArchive ( void )

Revertir todos los cambios globales en el archivo. Por ahora, esto solamente revierte los cambios de los comentarios del archivo.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ZipArchive::unchangeAll
ZipArchive::unchangeIndex
ZipArchive


Revertir todos los cambios hechos a una entrada en el índice dado

ZipArchive::unchangeArchive
ZipArchive::unchangeName
ZipArchive
PHP Manual

ZipArchive::unchangeIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::unchangeIndex — Revertir todos los cambios hechos a una entrada en el índice dado

Descripción

mixed ZipArchive::unchangeIndex ( int $index )

Revertir todos los cambios hechos a una entrada en el índice dado.

Parámetros

index

Índice de la entrada.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ZipArchive::unchangeArchive
ZipArchive::unchangeName
ZipArchive


Deshace todos los cambios realizados a una entrada con un nombre dado

ZipArchive::unchangeIndex
Funciones Zip
ZipArchive
PHP Manual

ZipArchive::unchangeName

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::unchangeName — Deshace todos los cambios realizados a una entrada con un nombre dado

Descripción

bool ZipArchive::unchangeName ( string $name )

Deshacer todos los cambios hechos a una entrada.

Parámetros

name

Nombre de la entrada.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ZipArchive::unchangeIndex
Funciones Zip
ZipArchive


Funciones Zip

Tabla de contenidos

  • zip_close — Cierra un fichero ZIP
  • zip_entry_close — Cierra la entrada a un directorio
  • zip_entry_compressedsize — Obtiene el tamaño comprimido de una entrada de directorio
  • zip_entry_compressionmethod — Devuelve el método de compresión de una entrada de directorio
  • zip_entry_filesize — Devuelve el tamaño del fichero actual de una entrada de directorio
  • zip_entry_name — Devuelve el nombre de la entrada de un directorio
  • zip_entry_open — Abrir una entrada de directorio para lectura
  • zip_entry_read — Leer desde una entrada de directorio abierta
  • zip_open — Abre un fichero ZIP
  • zip_read — Leer la siguiente entrada en el fichero ZIP
ZipArchive::unchangeName
zip_close
Zip


Cierra un fichero ZIP

Funciones Zip
zip_entry_close
Funciones Zip
PHP Manual

zip_close

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_close — Cierra un fichero ZIP

Descripción

void zip_close ( resource $zip )

Cierra el archivo ZIP archivo dado.

Parámetros

zip

Un fichero ZIP previamente abierto con zip_open().

Valores devueltos

No devuelve ningún valor.

Ver también

  • zip_open() - Abre un fichero ZIP
  • zip_read() - Leer la siguiente entrada en el fichero ZIP

Funciones Zip
zip_entry_close
Funciones Zip


Cierra la entrada a un directorio

zip_close
zip_entry_compressedsize
Funciones Zip
PHP Manual

zip_entry_close

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_entry_close — Cierra la entrada a un directorio

Descripción

bool zip_entry_close ( resource $zip_entry )

Cierra la entrada del directorio especificado.

Parámetros

zip_entry

Una entrada del directorio previamente abierto con zip_entry_open().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • zip_entry_open() - Abrir una entrada de directorio para lectura
  • zip_entry_read() - Leer desde una entrada de directorio abierta

zip_close
zip_entry_compressedsize
Funciones Zip


Obtiene el tamaño comprimido de una entrada de directorio

zip_entry_close
zip_entry_compressionmethod
Funciones Zip
PHP Manual

zip_entry_compressedsize

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_entry_compressedsize — Obtiene el tamaño comprimido de una entrada de directorio

Descripción

int zip_entry_compressedsize ( resource $zip_entry )

Devuelve el tamaño comprimido de una especifica entrada de directorio.

Parámetros

zip_entry

Una entrada de directorio devuelva por zip_read().

Valores devueltos

El tamaño comprimido.

Ver también

  • zip_open() - Abre un fichero ZIP
  • zip_read() - Leer la siguiente entrada en el fichero ZIP

zip_entry_close
zip_entry_compressionmethod
Funciones Zip


Devuelve el método de compresión de una entrada de directorio

zip_entry_compressedsize
zip_entry_filesize
Funciones Zip
PHP Manual

zip_entry_compressionmethod

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_entry_compressionmethod — Devuelve el método de compresión de una entrada de directorio

Descripción

string zip_entry_compressionmethod ( resource $zip_entry )

Devuelve el método de compresión de una entrada de directorio especificada por zip_entry.

Parámetros

zip_entry

Una entrada de directorio devuelta por zip_read().

Valores devueltos

El método de compresión.

Ver también

  • zip_open() - Abre un fichero ZIP
  • zip_read() - Leer la siguiente entrada en el fichero ZIP

zip_entry_compressedsize
zip_entry_filesize
Funciones Zip


Devuelve el tamaño del fichero actual de una entrada de directorio

zip_entry_compressionmethod
zip_entry_name
Funciones Zip
PHP Manual

zip_entry_filesize

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_entry_filesize — Devuelve el tamaño del fichero actual de una entrada de directorio

Descripción

int zip_entry_filesize ( resource $zip_entry )

Devuelve el tamaño actual de una entrada de directorio específica.

Parámetros

zip_entry

Una entrada de directorio devuelva por zip_read().

Valores devueltos

El tamaño de una entrada de directorio.

Ver también

  • zip_open() - Abre un fichero ZIP
  • zip_read() - Leer la siguiente entrada en el fichero ZIP

zip_entry_compressionmethod
zip_entry_name
Funciones Zip


Devuelve el nombre de la entrada de un directorio

zip_entry_filesize
zip_entry_open
Funciones Zip
PHP Manual

zip_entry_name

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_entry_name — Devuelve el nombre de la entrada de un directorio

Descripción

string zip_entry_name ( resource $zip_entry )

Devuelve el nombre de una entrada de directorio específica.

Parámetros

zip_entry

Una entrada de directorio devuelta por zip_read().

Valores devueltos

El nombre de la entrada de directorio.

Ver también

  • zip_open() - Abre un fichero ZIP
  • zip_read() - Leer la siguiente entrada en el fichero ZIP

zip_entry_filesize
zip_entry_open
Funciones Zip


Abrir una entrada de directorio para lectura

zip_entry_name
zip_entry_read
Funciones Zip
PHP Manual

zip_entry_open

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_entry_open — Abrir una entrada de directorio para lectura

Descripción

bool zip_entry_open ( resource $zip , resource $zip_entry [, string $mode ] )

Abre una entrada de directorio en un fichero zip para lectura.

Parámetros

zip

Un válido controlador de recurso es devuelto por zip_open().

zip_entry

Una entrada de directorio es devuelta por zip_read().

mode

Cualquiera de los modos especificados en la documentación de fopen().

Nota:

Actualmente, el mode es ignorado y es siempre "rb". Esto es debido al hecho que el soporte zip en PHP es solamente de acceso lectura.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Nota:

A diferencia de fopen() y otras funciones similares, el valor devuelto por zip_entry_open() solo indica el resultado de la operación y no es necesario para la lectura o cerrado de la entrada de directorio.

Ver también

  • zip_entry_close() - Cierra la entrada a un directorio
  • zip_entry_read() - Leer desde una entrada de directorio abierta

zip_entry_name
zip_entry_read
Funciones Zip


Leer desde una entrada de directorio abierta

zip_entry_open
zip_open
Funciones Zip
PHP Manual

zip_entry_read

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_entry_read — Leer desde una entrada de directorio abierta

Descripción

string zip_entry_read ( resource $zip_entry [, int $length = 1024 ] )

Lee desde una entrada de directorio abierta.

Parámetros

zip_entry

Un directorio devuelto por zip_read().

length

El número de bytes a devolver.

Nota:

Esto debería ser el tramo descomprimido que se desea leer.

Valores devueltos

Devuelve los datos leídos, un string vacío si se encuentra al final de un fichero, o FALSE en case de error.

Ver también

  • zip_entry_open() - Abrir una entrada de directorio para lectura
  • zip_entry_close() - Cierra la entrada a un directorio
  • zip_entry_filesize() - Devuelve el tamaño del fichero actual de una entrada de directorio

zip_entry_open
zip_open
Funciones Zip


Abre un fichero ZIP

zip_entry_read
zip_read
Funciones Zip
PHP Manual

zip_open

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_open — Abre un fichero ZIP

Descripción

resource zip_open ( string $filename )

Abre un nuevo fichero ZIP para su lectura.

Parámetros

filename

El nombre del fichero ZIP a abrir.

Valores devueltos

Devuelve un manejador del recurso para usarlo después con zip_read() y zip_close() o devolver el número de error si filename no existe o en caso de otro error.

Ver también

  • zip_read() - Leer la siguiente entrada en el fichero ZIP
  • zip_close() - Cierra un fichero ZIP

zip_entry_read
zip_read
Funciones Zip


Leer la siguiente entrada en el fichero ZIP

zip_open
Zlib
Funciones Zip
PHP Manual

zip_read

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_read — Leer la siguiente entrada en el fichero ZIP

Descripción

resource zip_read ( resource $zip )

Lee la siguiente entrada en un fichero zip.

Parámetros

zip

Un fichero ZIP previamente abierto con zip_open().

Valores devueltos

Devuelve un recurso de una entrada de directorio para poder usar luego las funciones zip_entry_..., o FALSE si no hay más entradas a leer, o código de error en caso de ocurrir otro error.

Ver también

  • zip_open() - Abre un fichero ZIP
  • zip_close() - Cierra un fichero ZIP
  • zip_entry_open() - Abrir una entrada de directorio para lectura
  • zip_entry_read() - Leer desde una entrada de directorio abierta

zip_open
Zlib
Funciones Zip


Compresión Zlib

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • Funciones de Zlib
    • gzclose — Cierra el apuntador de un archivo gz abierto
    • gzcompress — Comprime una cadena
    • gzdecode — Decodifica una cadena comprimida con gzip
    • gzdeflate — Comprime una cadena
    • gzencode — Crea una cadena comprimida con gzip
    • gzeof — Prueba de apuntador para EOF de archivo gz
    • gzfile — Lee un archivo gz completo en una matriz
    • gzgetc — Obtiene el caracter donde está el apuntador al archivo gz
    • gzgets — Obtiene la línea del apuntador al archivo
    • gzgetss — Obtiene la línea del apuntador al archivo gz y retira las etiquetas HTML
    • gzinflate — Descomprime una cadena comprimida
    • gzopen — Abre un archivo gz
    • gzpassthru — Muestra todos los datos restantes a partir del apuntador al achivo gz
    • gzputs — Alias de gzwrite
    • gzread — Lectura de archivo gz segura a nivel binario
    • gzrewind — Reinicia la posición del apuntador a un archivo gz
    • gzseek — Ubica el apuntador a un archivo gz
    • gztell — Indica la posición de lectura/escritura del apuntador al archivo gz
    • gzuncompress — Descomprime una cadena comprimida
    • gzwrite — Escritura en un archivo gz, segura a nivel binario
    • readgzfile — Muestra un archivo gz
    • zlib_decode — Descomprime datos codificados en craw/gzip/zlib
    • zlib_encode — Comprime datos con la codificación especificada
    • zlib_get_coding_type — Retorna el tipo de codificación utilizada para hacer la compresión
zip_read
Introducción
Extensiones de compresión y archivos


Introducción

Este módulo permite leer y escribir ficheros comprimidos con gzip (.gz) de forma transparente, a través de las versiones de la mayoría de las funciones de sistemas de ficheros que trabajan con ficheros comprimidos con gzip (y también con ficheros descomprimidos, pero no con sockets).

Nota:

La versión 4.0.4 introdujo una envoltura basada en fopen para ficheros .gz, así que se puede usar la URL especial zlib: para acceder de forma trasparente a los ficheros comprimidos usando las funciones normales f*() de acceso a ficheros si se prefija el nombre de fichero o la ruta con zlib: cuando se llama a fopen(). Esta característica requiere una biblioteca en tiempo de ejecución en C que provea la función fopencookie(). Hasta ahora, GNU libc parece ser la única biblioteca que ofrece esta característica.

En PHP 4.3.0, zlib: ha sido cambiado a compress.zlib:// para evitar ambigüedades con los nombres de fichero que contengan caracteres ':'. La función fopencookie() ya no es necesaria. Hay más información disponible en la sección sobre zlib://.

Zlib
Instalación/Configuración
Zlib


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Zlib


Requerimientos

Este módulo usa las funciones de » zlib por Jean-loup Gailly y Mark Adler. Se requiere utilizar la versión >= 1.0.9 con éste módulo.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

El soporte para Zlib en PHP no está activado por defecto. Es necesario configurar PHP con la opción --with-zlib[=DIR]

La versión de PHP para Windows tiene soporte nativo para esta extensión. No se requiere cargar extensiones adicionales para utilizar estas funciones.

Nota: El soporte integrado para zlib en Windows está disponible desde PHP 4.3.0.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

La extensión zlib ofrece la opción de comprimir de manera trasparente las páginas sobre la marcha, si el navegador que hace la solicitud lo soporta. Por lo tanto hay tres opciones en el archivo de configuración php.ini.

Opciones de Configuración de Zlib
Nombre | Por defecto | Cambiable | Historial de cambios
zlib.output_compression | "0" | PHP_INI_ALL | Disponible desde PHP 4.0.5.
zlib.output_compression_level | "-1" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
zlib.output_handler | "" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

zlib.output_compression boolean/integer

Para comprimir páginas transparentemente. Si esta opción está configurada en "On" en php.ini o en la configuración de Apache, las páginas serán comprimidas si el navegador envía un encabezado "Accept-Encoding: gzip" o "deflate". Los encabezados "Content-Encoding: gzip" (respectivamente "deflate") y "Vary: Accept-Encoding" serán agregados a la salida. En tiempo de ejecución, esto se puede configurar sólo antes de enviar cualquier salida.

Esta opción también acepta valores enteros en lugar del booleano "On"/"Off", usando esto se puede configurar el tamaño del buffer de salida (por defecto es 4KB).

Nota:

output_handler debe estar vacío si ésta se configura en 'On' ! De otra manera se debe usar zlib.output_handler.

zlib.output_compression_level integer

Nivel de compresión usado para la salida de la compresión transparente. Especifica un valor entre 0 (no comprimido) y 9 (máxima compresión). El valor por defecto es -1, que deja que el servidor decida cual nivel utilizar.

zlib.output_handler string

No se pueden especificar manejadores adicionales de salida si zlib.output_compression está activada aquí. Esta configuración hace lo mismo que output_handler pero en un orden diferente.

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Esta extensión define un recurso de archivo puntero retornado por gzopen().

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

FORCE_GZIP (integer)
FORCE_DEFLATE (integer)
Tipos de recursos
Ejemplos
Zlib


Ejemplos

Este ejemplo abre un archivo temporal y escribe una cadena de prueba en él, entonces muestra el contenido de este archivo dos veces.

Ejemplo #1 Pequeño Ejemplo de Zlib

<?php

$filename = tempnam('/tmp', 'zlibtest') . '.gz';
echo "<html>\n<head></head>\n<body>\n<pre>\n";
$s = "Sólo una prueba, prueba, prueba, prueba, prueba, prueba!\n";

// abre el archivo para escribir con compresión máxima
$zp = gzopen($filename, "w9");

// escribe la cadena en el archivo
gzwrite($zp, $s);

// cierra el archivo
gzclose($zp);

// abre el archivo para lectura
$zp = gzopen($filename, "r");

// lee el tercer carácter
echo gzread($zp, 3);

// salida hasta el fin del archivo y lo cierra
gzpassthru($zp);
gzclose($zp);

echo "\n";

// abre el archivo y muestra el contenido (por segunda vez).
if (readgzfile($filename) != strlen($s)) {
        echo "Error con funciones de zlib!";
}
unlink($filename);
echo "</pre>\n</body>\n</html>\n";

?>
Constantes predefinidas
Funciones de Zlib
Zlib


Funciones de Zlib

Tabla de contenidos

  • gzclose — Cierra el apuntador de un archivo gz abierto
  • gzcompress — Comprime una cadena
  • gzdecode — Decodifica una cadena comprimida con gzip
  • gzdeflate — Comprime una cadena
  • gzencode — Crea una cadena comprimida con gzip
  • gzeof — Prueba de apuntador para EOF de archivo gz
  • gzfile — Lee un archivo gz completo en una matriz
  • gzgetc — Obtiene el caracter donde está el apuntador al archivo gz
  • gzgets — Obtiene la línea del apuntador al archivo
  • gzgetss — Obtiene la línea del apuntador al archivo gz y retira las etiquetas HTML
  • gzinflate — Descomprime una cadena comprimida
  • gzopen — Abre un archivo gz
  • gzpassthru — Muestra todos los datos restantes a partir del apuntador al achivo gz
  • gzputs — Alias de gzwrite
  • gzread — Lectura de archivo gz segura a nivel binario
  • gzrewind — Reinicia la posición del apuntador a un archivo gz
  • gzseek — Ubica el apuntador a un archivo gz
  • gztell — Indica la posición de lectura/escritura del apuntador al archivo gz
  • gzuncompress — Descomprime una cadena comprimida
  • gzwrite — Escritura en un archivo gz, segura a nivel binario
  • readgzfile — Muestra un archivo gz
  • zlib_decode — Descomprime datos codificados en craw/gzip/zlib
  • zlib_encode — Comprime datos con la codificación especificada
  • zlib_get_coding_type — Retorna el tipo de codificación utilizada para hacer la compresión
Ejemplos
gzclose
Zlib


Cierra el apuntador de un archivo gz abierto

Funciones de Zlib
gzcompress
Funciones de Zlib
PHP Manual

gzclose

(PHP 4, PHP 5)

gzclose — Cierra el apuntador de un archivo gz abierto

Descripción

bool gzclose ( resource $zp )

Cierra el apuntador del archivo gz dado.

Parámetros

zp

El apuntador al archivo gz. Debe ser válido y debe apuntar a un archivo abierto exitosamente por gzopen().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de gzclose()

<?php
$gz = gzopen('somefile.gz','w9');
gzputs ($gz, 'I was added to somefile.gz');
gzclose($gz);
?>

Ver también

  • gzopen() - Abre un archivo gz

Funciones de Zlib
gzcompress
Funciones de Zlib


Comprime una cadena

gzclose
gzdecode
Funciones de Zlib
PHP Manual

gzcompress

(PHP 4 >= 4.0.1, PHP 5)

gzcompress — Comprime una cadena

Descripción

string gzcompress ( string $data [, int $level = -1 [, int $encoding = ZLIB_ENCODING_DEFLATE ]] )

Esta función comprime la cadena dada usando el formato de datos ZLIB.

Para detalles sobre el algoritmo de compresión ZLIB, ver el documento "» ZLIB Compressed Data Format Specification version 3.3" (RFC 1950).

Nota:

Esto no es lo mismo que la compresión que gzip, la cuál incluye algunos encabezados de datos. Ver gzencode() para la compresión gzip.

Parámetros

data

Los datos a comprimir.

level

El nivel de compresión. Se puede dar como 0 para ninguna compresión, hasta 9 para la máxima compresión.

Si se utiliza -1, se usará la compresión por defecto de la librería zlib la cual es 6.

encoding

Una de las constentes ZLIB_ENCODING_*.

Valores devueltos

La cadena comprimida o FALSE si ocurre un error.

Ejemplos

Ejemplo #1 Ejemplo de gzcompress()

<?php
$compressed = gzcompress('Compress me', 9);
echo $compressed;
?>

Historial de cambios

Versión | Descripción
5.4.0 | Se añadió el parámetro encoding.

Ver también

  • gzdeflate() - Comprime una cadena
  • gzinflate() - Descomprime una cadena comprimida
  • gzuncompress() - Descomprime una cadena comprimida
  • gzencode() - Crea una cadena comprimida con gzip

gzclose
gzdecode
Funciones de Zlib


Decodifica una cadena comprimida con gzip

gzcompress
gzdeflate
Funciones de Zlib
PHP Manual

gzdecode

(PHP 5 >= 5.4.0)

gzdecode — Decodifica una cadena comprimida con gzip

Descripción

string gzdecode ( string $data [, int $length ] )

Está función retorna una versión decodificada de la entrada data.

Parámetros

data

Los datos para decodificar, codificados con gzencode().

length

La longitud máxima de datos que decodificar.

Valores devueltos

La cadena decodificada o FALSE si ocurre un error.

Ver también

  • gzencode() - Crea una cadena comprimida con gzip

gzcompress
gzdeflate
Funciones de Zlib


Comprime una cadena

gzdecode
gzencode
Funciones de Zlib
PHP Manual

gzdeflate

(PHP 4 >= 4.0.4, PHP 5)

gzdeflate — Comprime una cadena

Descripción

string gzdeflate ( string $data [, int $level = -1 [, int $encoding = ZLIB_ENCODING_RAW ]] )

Esta función comprime la cadena dada utilizando el formato de datos DEFLATE.

Para más detalles sobre el algoritmo de compresión DEFLATE ver el documento "» DEFLATE Compressed Data Format Specification version 1.3" (RFC 1951).

Parámetros

data

Los datos a comprimir.

level

El nivel de compresión. Se puede dar desde 0 para ninguna compresión hasta 9 para máxima compresión. Si no se especifica, se utilizará el nivel de compresión por defecto de la librería zlib.

encoding

Una de las constantes ZLIB_ENCODING_*.

Valores devueltos

La cadena comprimida o FALSE si ocurre un error.

Ejemplos

Ejemplo #1 Ejemplo de gzdeflate()

<?php
$compressed = gzdeflate('Compress me', 9);
echo $compressed;
?>

Historial de cambios

Versión | Descripción
5.4.0 | Se añadió el parámetro encoding.

Ver también

  • gzinflate() - Descomprime una cadena comprimida
  • gzcompress() - Comprime una cadena
  • gzuncompress() - Descomprime una cadena comprimida
  • gzencode() - Crea una cadena comprimida con gzip

gzdecode
gzencode
Funciones de Zlib


Crea una cadena comprimida con gzip

gzdeflate
gzeof
Funciones de Zlib
PHP Manual

gzencode

(PHP 4 >= 4.0.4, PHP 5)

gzencode — Crea una cadena comprimida con gzip

Descripción

string gzencode ( string $data [, int $level = -1 [, int $encoding_mode = FORCE_GZIP ]] )

Esta función retorna una versión comprimida de la data de entrada, compatible con la salida del programa gzip.

Para más información sobre el formato de archivo GZIP, ver el documento: » GZIP file format specification version 4.3 (RFC 1952).

Parámetros

data

Los datos a codificar.

level

El nivel de compresión. Se puede dar como 0 para ninguna compresión, hasta 9 para la máxima compresión. Si no se incluye, se utilizará el nivel de compresión por defecto de la librería zlib.

encoding_mode

El modo de codificación. Puede ser FORCE_GZIP (por defecto) o FORCE_DEFLATE.

Antes de PHP 5.4.0, utilizar FORCE_DEFLATE resultaba en un string comprimido zlib estándar (incluyendo encabezados de la librería) después del encabezado de archivo gzip pero sin el cierre de la suma de control crc32.

En PHP 5.4.0 y posterior, FORCE_DEFLATE genera una salida que cumple el RFC 1950, consistente en un encabezado zlib, los datos comprimidos y una suma de control Adler.

Valores devueltos

La cadena codificada o FALSE si ocurre un error.

Historial de cambios

Versión | Descripción
5.4.0 | FORCE_DEFLATE ahora genera una salida que cumple el RFC 1950.
4.2.0 | El parámetro encoding_mode fue agregado.

Ejemplos

Los datos resultantes contienen los encabezados y estructura de datos apropiados para construir un archivo .gz estándar, por ejemplo:

Ejemplo #1 Creando un archivo gzip

<?php
$data = implode("", file("bigfile.txt"));
$gzdata = gzencode($data, 9);
$fp = fopen("bigfile.txt.gz", "w");
fwrite($fp, $gzdata);
fclose($fp);
?>

Ver también

  • gzdecode() - Decodifica una cadena comprimida con gzip
  • gzdeflate() - Comprime una cadena
  • gzinflate() - Descomprime una cadena comprimida
  • gzuncompress() - Descomprime una cadena comprimida
  • gzcompress() - Comprime una cadena
  • » Especificación del formato ZLIB de compresión de datos (RFC 1950)

gzdeflate
gzeof
Funciones de Zlib


Prueba de apuntador para EOF de archivo gz

gzencode
gzfile
Funciones de Zlib
PHP Manual

gzeof

(PHP 4, PHP 5)

gzeof — Prueba de apuntador para EOF de archivo gz

Descripción

int gzeof ( resource $zp )

Prueba el apuntador de archivo GZ dado en busca del EOF (fin de archivo).

Parámetros

zp

El apuntador al archivo gz. Debe ser válido y debe apuntar a un archivo abierto exitosamente por gzopen().

Valores devueltos

Retorna TRUE si el apuntador GZ está al EOF del archivo o si ocurrió un error; de lo contrario retorna FALSE.

Ejemplos

Ejemplo #1 Ejemplo de gzeof()

<?php
$gz = gzopen('somefile.gz', 'r');
while (!gzeof($gz)) {
  echo gzgetc($gz);
}
gzclose($gz);
?>

gzencode
gzfile
Funciones de Zlib


Lee un archivo gz completo en una matriz

gzeof
gzgetc
Funciones de Zlib
PHP Manual

gzfile

(PHP 4, PHP 5)

gzfile — Lee un archivo gz completo en una matriz

Descripción

array gzfile ( string $filename [, int $use_include_path = 0 ] )

Está función es identica a readgzfile(), excepto que retorna el archivo en una matriz.

Parámetros

filename

El nombre del archivo.

use_include_path

Se puede asignar este parámetro opcional en 1, si se desea buscar también el archivo en la ruta include_path.

Valores devueltos

Una matriz que contiene el archivo, una línea por celda.

Ejemplos

Ejemplo #1 Ejemplo de gzfile()

<?php
$lines = gzfile('somefile.gz');
foreach ($lines as $line) {
    echo $line;
}
?>

Ver también

  • readgzfile() - Muestra un archivo gz
  • gzopen() - Abre un archivo gz

gzeof
gzgetc
Funciones de Zlib


Obtiene el caracter donde está el apuntador al archivo gz

gzfile
gzgets
Funciones de Zlib
PHP Manual

gzgetc

(PHP 4, PHP 5)

gzgetc — Obtiene el caracter donde está el apuntador al archivo gz

Descripción

string gzgetc ( resource $zp )

Retorna una cadena que contiene un solo caracter (sin comprimir) leído del apuntador al archivo gz dado.

Parámetros

zp

El apuntador al archivo gz. Debe ser válido y debe apuntar a un archivo abierto exitosamente por gzopen().

Valores devueltos

El caracter sin comprimir o FALSE en caso de EOF (a diferencia de gzeof()).

Ejemplos

Ejemplo #1 Ejemplo de gzgetc()

<?php
$gz = gzopen('somefile.gz', 'r');
while (!gzeof($gz)) {
  echo gzgetc($gz);
}
gzclose($gz);
?>

Ver también

  • gzopen() - Abre un archivo gz
  • gzgets() - Obtiene la línea del apuntador al archivo

gzfile
gzgets
Funciones de Zlib


Obtiene la línea del apuntador al archivo

gzgetc
gzgetss
Funciones de Zlib
PHP Manual

gzgets

(PHP 4, PHP 5)

gzgets — Obtiene la línea del apuntador al archivo

Descripción

string gzgets ( resource $zp , int $length )

Obtiene una cadena (sin comprimir) de hasta un largo de - 1 bytes leídos desde el apuntador al archivo dado. La lectura termina cuando el largo de - 1 bytes ha sido leído, en un salto de línea o cuando se alcance el fin del archivo (EOF), lo que ocurra primero.

Parámetros

zp

El apuntador al archivo gz. Debe ser válido y debe apuntar a un archivo abierto exitosamente por gzopen().

length

La longitud de los datos a obtener.

Valores devueltos

La cadena sin comprimir o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de gzgets()

<?php
$handle = gzopen('somefile.gz', 'r');
while (!gzeof($handle)) {
   $buffer = gzgets($handle, 4096);
   echo $buffer;
}
gzlose($handle);;
?>

Ver también

  • gzopen() - Abre un archivo gz
  • gzgetc() - Obtiene el caracter donde está el apuntador al archivo gz
  • gzwrite() - Escritura en un archivo gz, segura a nivel binario

gzgetc
gzgetss
Funciones de Zlib


Obtiene la línea del apuntador al archivo gz y retira las etiquetas HTML

gzgets
gzinflate
Funciones de Zlib
PHP Manual

gzgetss

(PHP 4, PHP 5)

gzgetss — Obtiene la línea del apuntador al archivo gz y retira las etiquetas HTML

Descripción

string gzgetss ( resource $zp , int $length [, string $allowable_tags ] )

Función identica a gzgets(), excepto que gzgetss() intenta retirar cualquier etiqueta HTML y PHP del texto que esta leyendo.

Parámetros

zp

El apuntador al archivo gz. Debe ser válido y debe apuntar a un archivo abierto exitosamente por gzopen().

length

La longitud de los datos a obtener.

allowable_tags

Se puede usar éste parámetro opcional para especificar cuales etiquetas no se deben retirar.

Valores devueltos

La cadena descomprimida y sin etiquetas o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de gzgetss()

<?php
$handle = gzopen('somefile.gz', 'r');
while (!gzeof($handle)) {
   $buffer = gzgetss($handle, 4096);
   echo $buffer;
}
gzlose($handle);
?>

Ver también

  • gzopen() - Abre un archivo gz
  • gzgets() - Obtiene la línea del apuntador al archivo
  • strip_tags() - Retira las etiquetas HTML y PHP de un string

gzgets
gzinflate
Funciones de Zlib


Descomprime una cadena comprimida

gzgetss
gzopen
Funciones de Zlib
PHP Manual

gzinflate

(PHP 4 >= 4.0.4, PHP 5)

gzinflate — Descomprime una cadena comprimida

Descripción

string gzinflate ( string $data [, int $length = 0 ] )

Esta función descomprime una cadena comprimida.

Parámetros

data

Los datos comprimidos con gzdeflate().

length

La longitud máxima de datos a decodificar.

Valores devueltos

Los datos originales descomprimidos o FALSE en caso de error.

La función retornará un error si los datos descomprimidos son más de 32768 veces la longitud de la data de entrada o mayores que el parámetro opcional length.

Ejemplos

Ejemplo #1 Ejemplo de gzinflate()

<?php
$compressed   = gzdeflate('Compress me', 9);
$uncompressed = gzinflate($compressed);
echo $uncompressed;
?>

Ver también

  • gzdeflate() - Comprime una cadena
  • gzcompress() - Comprime una cadena
  • gzuncompress() - Descomprime una cadena comprimida
  • gzencode() - Crea una cadena comprimida con gzip

gzgetss
gzopen
Funciones de Zlib


Abre un archivo gz

gzinflate
gzpassthru
Funciones de Zlib
PHP Manual

gzopen

(PHP 4, PHP 5)

gzopen — Abre un archivo gz

Descripción

resource gzopen ( string $filename , string $mode [, int $use_include_path = 0 ] )

Abre un archivo gzip (.gz) para lectura o escritura.

gzopen() se puede usar para leer un archivo el cual no esté en formato gzip; en este caso gzread() leerá directamente el archivo sin descomprimirlo.

Parámetros

filename

El nombre del archivo.

mode

Como en fopen() (rb o wb) pero también puede incluir un nivel de compresión (wb9) u una estrategia: f para datos filtrados como en wb6f, h para compresión Huffman solamente como en wb1h. (Ver la descripción de deflateInit2 en zlib.h para más información sobre el parámetro de estrategia.)

use_include_path

Se puede configurar este parámetro opcional en 1, si se desea buscar también el archivo en la ruta include_path.

Valores devueltos

Retorna un apuntador hacia el archivo abierto, después de eso, cualquier cosa que se lea desde este descriptor de archivo sera descomprimido de forma transparente y lo que se escriba será comprimido.

Si falla la apertura, la función retorna FALSE.

Ejemplos

Ejemplo #1 Ejemplo de gzopen()

<?php
$fp = gzopen("/tmp/file.gz", "r");
?>

Ver también

  • gzclose() - Cierra el apuntador de un archivo gz abierto

gzinflate
gzpassthru
Funciones de Zlib


Muestra todos los datos restantes a partir del apuntador al achivo gz

gzopen
gzputs
Funciones de Zlib
PHP Manual

gzpassthru

(PHP 4, PHP 5)

gzpassthru — Muestra todos los datos restantes a partir del apuntador al achivo gz

Descripción

int gzpassthru ( resource $zp )

Lee hasta el EOF desde la posición en el apuntador al archivo gz y escribe los resultados (sin comprimir) en la salida estándar.

Nota:

Se puede necesitar llamar a la función gzrewind() para restablecer el apuntador al inicio del archivo, si ya se han escrito datos en él.

Sugerencia

Si sólo se desea volcar el contenido de un archivo en el buffer de salida, sin modificarlo primero o buscando una posición particular, se puede usar la función readgzfile(), la cual ahorra el llamado a la función gzopen().

Parámetros

zp

El apuntador al archivo gz. Debe ser válido y debe apuntar a un archivo abierto exitosamente por gzopen().

Valores devueltos

El número de carácteres sin comprimir leídos de gz y pasados a través de la entrada, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de gzpassthru()

<?php
$fp = gzopen('file.gz', 'r');
gzpassthru($fp);
gzclose($fp);
?>

gzopen
gzputs
Funciones de Zlib


Alias de gzwrite

gzpassthru
gzread
Funciones de Zlib
PHP Manual

gzputs

(PHP 4, PHP 5)

gzputs — Alias de gzwrite()

Descripción

Esta función es un alias de: gzwrite().

gzpassthru
gzread
Funciones de Zlib


Lectura de archivo gz segura a nivel binario

gzputs
gzrewind
Funciones de Zlib
PHP Manual

gzread

(PHP 4, PHP 5)

gzread — Lectura de archivo gz segura a nivel binario

Descripción

string gzread ( resource $zp , int $length )

gzread() lee los bytes hasta el parámetro length desde el apuntador al archivo gz dado. La lectura se detiene cuando los bytes del parámetro length (sin comprimir) sean leídos o cuando se alcance el fin del archivo (EOF), lo que ocurra primero.

Parámetros

zp

El apuntador al archivo gz. Debe ser válido y debe apuntar a un archivo abierto exitosamente por gzopen().

length

El número de bytes a leer.

Valores devueltos

Los datos que han sido leídos.

Ejemplos

Ejemplo #1 Ejemplo de gzread()

<?php
// pasar los contenidos de un archivo gz a una cadena
$filename = "/usr/local/something.txt.gz";
$zd = gzopen($filename, "r");
$contents = gzread($zd, 10000);
gzclose($zd);
?>

Ver también

  • gzwrite() - Escritura en un archivo gz, segura a nivel binario
  • gzopen() - Abre un archivo gz
  • gzgets() - Obtiene la línea del apuntador al archivo
  • gzgetss() - Obtiene la línea del apuntador al archivo gz y retira las etiquetas HTML
  • gzfile() - Lee un archivo gz completo en una matriz
  • gzpassthru() - Muestra todos los datos restantes a partir del apuntador al achivo gz

gzputs
gzrewind
Funciones de Zlib


Reinicia la posición del apuntador a un archivo gz

gzread
gzseek
Funciones de Zlib
PHP Manual

gzrewind

(PHP 4, PHP 5)

gzrewind — Reinicia la posición del apuntador a un archivo gz

Descripción

bool gzrewind ( resource $zp )

Coloca el indicador de posición del apuntador al archivo gz dado al comienzo del flujo del archivo.

Parámetros

zp

El apuntador al archivo gz. Debe ser válido y debe apuntar a un archivo abierto exitosamente por gzopen().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • gzseek() - Ubica el apuntador a un archivo gz
  • gztell() - Indica la posición de lectura/escritura del apuntador al archivo gz

gzread
gzseek
Funciones de Zlib


Ubica el apuntador a un archivo gz

gzrewind
gztell
Funciones de Zlib
PHP Manual

gzseek

(PHP 4, PHP 5)

gzseek — Ubica el apuntador a un archivo gz

Descripción

int gzseek ( resource $zp , int $offset [, int $whence = SEEK_SET ] )

Establece el indicador de posición para el apuntador al archivo dado en el desplazamiento de bytes fijado en el flujo del archivo. Es equivalente a llamar (en C) a gzseek(zp, offset, SEEK_SET).

Si el archivo está abierto para lectura, ésta función es emulada pero puede ser extremadamente lenta. Si el archivo está abierto para escritura, sólo está soportada la búsqueda hacia adelante; entonces gzseek() comprime una secuencia de ceros hasta la nueva posición de inicio.

Parámetros

zp

El apuntador al archivo gz. Debe ser válido y debe apuntar a un archivo abierto exitosamente por gzopen().

offset

El desplazamiento buscado.

whence

Los valores de whence son:

  • SEEK_SET - Establece la posición igual al offset de bytes.
  • SEEK_CUR - Establece la posición en la posición actual más el offset.

Si whence no se especifica, se asume que es SEEK_SET.

Valores devueltos

En caso de éxito, retorna 0; en caso contrario, devuelve -1. Notese que buscar pasado el EOF no es considerado un error.

Ejemplos

Ejemplo #1 Ejamplo de gzseek()

<?php
$gz = gzopen('somefile.gz', 'r');
gzseek($gz,2);
echo gzgetc($gz);
gzclose($gz);
?>

Ver también

  • gztell() - Indica la posición de lectura/escritura del apuntador al archivo gz
  • gzrewind() - Reinicia la posición del apuntador a un archivo gz

gzrewind
gztell
Funciones de Zlib


Indica la posición de lectura/escritura del apuntador al archivo gz

gzseek
gzuncompress
Funciones de Zlib
PHP Manual

gztell

(PHP 4, PHP 5)

gztell — Indica la posición de lectura/escritura del apuntador al archivo gz

Descripción

int gztell ( resource $zp )

Obtiene la posición del apuntador al archivo dado; por ejemplo, su desplazamiento en el flujo del archivo sin comprimir.

Parámetros

zp

El apuntador al archivo gz. Debe ser válido y debe apuntar a un archivo abierto exitosamente por gzopen().

Valores devueltos

La posición del apuntador al archivo o FALSE si ocurre un error.

Ver también

  • gzopen() - Abre un archivo gz
  • gzseek() - Ubica el apuntador a un archivo gz
  • gzrewind() - Reinicia la posición del apuntador a un archivo gz

gzseek
gzuncompress
Funciones de Zlib


Descomprime una cadena comprimida

gztell
gzwrite
Funciones de Zlib
PHP Manual

gzuncompress

(PHP 4 >= 4.0.1, PHP 5)

gzuncompress — Descomprime una cadena comprimida

Descripción

string gzuncompress ( string $data [, int $length = 0 ] )

Está función descomprime una cadena comprimida

Parámetros

data

Los datos comprimidos con gzcompress().

length

La longitud máxima de datos a decodificar.

Valores devueltos

Los datos originales sin comprimir o FALSE en caso de error.

La función retornará un error si los datos descomprimidos son más de 32768 veces la longitud de la entrada comprimida data o mayores que el parámetro opcional length.

Ejemplos

Ejemplo #1 Ejemplo de gzuncompress()

<?php
$compressed   = gzcompress('Compress me', 9);
$uncompressed = gzuncompress($compressed);
echo $uncompressed;
?>

Ver también

  • gzcompress() - Comprime una cadena
  • gzinflate() - Descomprime una cadena comprimida
  • gzdeflate() - Comprime una cadena
  • gzencode() - Crea una cadena comprimida con gzip

gztell
gzwrite
Funciones de Zlib


Escritura en un archivo gz, segura a nivel binario

gzuncompress
readgzfile
Funciones de Zlib
PHP Manual

gzwrite

(PHP 4, PHP 5)

gzwrite — Escritura en un archivo gz, segura a nivel binario

Descripción

int gzwrite ( resource $zp , string $string [, int $length ] )

gzwrite() escribe el contenido de cadena al archivo gz dado.

Parámetros

zp

El apuntador al archivo gz. Debe ser válido y debe apuntar a un archivo abierto exitosamente por gzopen().

string

La cadena a escribir.

length

El número de bytes sin comprimir a escribir. Si se suministra, la escritura se detendrá después de que se hayan escrito los bytes (sin comprimir) del parámetro length o de que sea alcanzado el fin de la string, lo que ocurra primero.

Nota:

Nótese que si se da el argumento length, entonces la opción de configuración magic_quotes_runtime será ignorada y ningún slash será retirado de la string.

Valores devueltos

Retorna el número de bytes (sin comprimir) escritos en el flujo del archivo gz dado.

Ejemplos

Ejemplo #1 Ejemplo de gzwrite()

<?php
$string = 'Some information to compress';
$gz = gzopen('somefile.gz','w9');
gzwrite($gz, $string);
gzclose($gz);
?>

Ver también

  • gzread() - Lectura de archivo gz segura a nivel binario
  • gzopen() - Abre un archivo gz

gzuncompress
readgzfile
Funciones de Zlib


Muestra un archivo gz

gzwrite
zlib_decode
Funciones de Zlib
PHP Manual

readgzfile

(PHP 4, PHP 5)

readgzfile — Muestra un archivo gz

Descripción

int readgzfile ( string $filename [, int $use_include_path = 0 ] )

Lee un archivo, lo descomprime y lo escribe en la salida estándar.

La función readgzfile() puede ser usada para leer un archivo que no esté en formato gzip; en éste caso readgzfile() leerá directamente el archivo sin hacer la descompresión.

Parámetros

filename

El nombre del archivo. Este archivo será abierto del sistema de archivos y sus contenidos escritos en la salida estándar.

use_include_path

Se puede especificar éste parámetro opcional en 1, si también se desea buscar el archivo en la ruta include_path.

Valores devueltos

Retorna el número de bytes (sin comprimir) leidos del archivo. Si ocurre un error, se retorna FALSE y a menos que la función fuera llamada como @readgzfile, un mensaje de error será mostrado.

Ver también

  • gzpassthru() - Muestra todos los datos restantes a partir del apuntador al achivo gz
  • gzfile() - Lee un archivo gz completo en una matriz
  • gzopen() - Abre un archivo gz

gzwrite
zlib_decode
Funciones de Zlib


Descomprime datos codificados en craw/gzip/zlib

readgzfile
zlib_encode
Funciones de Zlib
PHP Manual

zlib_decode

(PHP 5 >= 5.4.0)

zlib_decode — Descomprime datos codificados en craw/gzip/zlib

Descripción

string zlib_decode ( string $data [, string $max_decoded_len ] )

Descomprime datos codificados en raw/gzip/zlib.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

data

max_decoded_len

Valores devueltos

Ver también

  • zlib_encode() - Comprime datos con la codificación especificada
readgzfile
zlib_encode
Funciones de Zlib


Comprime datos con la codificación especificada

zlib_decode
zlib_get_coding_type
Funciones de Zlib
PHP Manual

zlib_encode

(PHP 5 >= 5.4.0)

zlib_encode — Comprime datos con la codificación especificada

Descripción

string zlib_encode ( string $data , string $encoding [, string $level = -1 ] )

Comprime datos con la codificación especificada.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

data

encoding

level

Valores devueltos

Ver también

  • zlib_decode() - Descomprime datos codificados en craw/gzip/zlib
zlib_decode
zlib_get_coding_type
Funciones de Zlib


Retorna el tipo de codificación utilizada para hacer la compresión

zlib_encode
Procesamiento de tarjetas de crédito
Funciones de Zlib
PHP Manual

zlib_get_coding_type

(PHP 4 >= 4.3.2, PHP 5)

zlib_get_coding_type — Retorna el tipo de codificación utilizada para hacer la compresión

Descripción

string zlib_get_coding_type ( void )

Retorna el tipo de codificación utilizada para hacer la compresión.

Valores devueltos

Los posibles valores de retorno son gzip, deflate o FALSE.

Ver también

  • La directiva zlib.output_compression

zlib_encode
Procesamiento de tarjetas de crédito
Funciones de Zlib


Procesamiento de tarjetas de crédito

  • MCVE — Pago MCVE (Monetra)
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • MCVE Funciones
  • SPPLUS — Sistemas de Pago SPPLUS
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de SPPLUS
zlib_get_coding_type
MCVE
Referencia de funciones


Pago MCVE (Monetra)

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • MCVE Funciones
    • m_checkstatus — Comprueba si una transacción se ha completado
    • m_completeauthorizations — Número de autorizaciones completas en cola, devolviendo un array de sus identificadores
    • m_connect — Establecer la conexión con MCVE
    • m_connectionerror — Obtener una representación textual del por qué de un error de conexión
    • m_deletetrans — Eliminar transacciones específicas de la estructura MCVE_CONN
    • m_destroyconn — Destruir la conexión y estructura MCVE_CONN
    • m_destroyengine — Liberar la memoria asociada con conectividad IP / SSL
    • m_getcell — Obtener una celda específica de una respuesta delimitada por coma mediante el nombre de columna
    • m_getcellbynum — Obtener una celda específica de una respuesta delimitada por comas mediante el número de columna
    • m_getcommadelimited — Obtener la información RAW delimitada por comas devuelta desde MCVE
    • m_getheader — Obtener el nombre de la columna de una respuesta delimitada por comas
    • m_initconn — Crear e inicializar una estructura MCVE_CONN
    • m_initengine — Preparar el cliente para la comunicación IP / SSL
    • m_iscommadelimited — Comprueba si la respuesta es delimitada por comas
    • m_maxconntimeout — La cantidad máxima de tiempo que el API se intenta conectar con MCVE
    • m_monitor — Realizar la comunicación con MCVE (envío / recepción de datos) sin bloqueo
    • m_numcolumns — Número de columnas devueltas en una respuesta delimitado por comas
    • m_numrows — Número de filas devueltas en una respuesta delimitado por comas
    • m_parsecommadelimited — Analizar la respuesta delimitado por comas para m_getcell, etc
    • m_responsekeys — Devuelve un array de cadenas que representa las claves que se pueden utilizar para los parámetros de respuesta en esta transacción
    • m_responseparam — Obtener un parámetro de respuesta personalizado
    • m_returnstatus — Comprueba si la operación fue un éxito
    • m_setblocking — Establecer el modo de bloqueo / no-bloqueo para la conexión
    • m_setdropfile — Establecer la conexión para el método Drop-File
    • m_setip — Establecer la conexión para el método IP
    • m_setssl_cafile — Establecer SSL CA (Autoridad de Certificación de archivos) para la verificación del certificado de servidor
    • m_setssl_files — Establecer los ficheros clave y los certificados si el servidor requiere una verificación de certificado
    • m_setssl — Establecer el método de conexión a SSL
    • m_settimeout — Establecer el tiempo máximo por transacción
    • m_sslcert_gen_hash — Generar hash para verificación de certificado de cliente SSL
    • m_transactionssent — Comprueba si el buffer de salida está limpio
    • m_transinqueue — Número de transacciones en la cola del cliente
    • m_transkeyval — Añadir pareja clave / valor a una transacción. Sustituye transParam() obsoleto
    • m_transnew — Iniciar una nueva transacción
    • m_transsend — Finalizar y enviar la transacción
    • m_uwait — Esperar x microsegundos
    • m_validateidentifier — Si validar el identificador pasado a una transacción
    • m_verifyconnection — Establecer si debe o no conectar a PING upon para verificar la conexión
    • m_verifysslcert — Establecer si se debe o no verificar el certificado del servidor SSL
Procesamiento de tarjetas de crédito
Introducción
Procesamiento de tarjetas de crédito


Introducción

Estas funciones trabajan en conjunto con la API MCVE (Monetra) (libmonetra, formalmente conocida como libmcve), permitiendo trabajar directamente con MCVE/Monetra desde sus scripts de PHP. MCVE/Monetra es una solución de Main Street Softworks para dirigir el procesamiento de tarjetas de crédito/débito/regalo para Linux/Unix/MacOSX/Windows ( » http://www.mainstreetsoftworks.com/ ). Le permite tratar directamente con repositorios de tarjetas de crédito mediante su caja *nix, módem y/o conexión a internet (evitando la necesidad de un servicio adicional como Authorize.Net o Pay Flow Pro). Al usar el módulo de PHP MCVE/Monetra puede procesar tarjetas de crédito directamente a través de MCVE/Monetra mediante sus scripts de PHP. Las siguientes referencias explicarán brevemente el proceso.

Nota:

MCVE/Monetra es el sustituto del CCVS de RedHat. Hicieron un contrato con RedHat a finales de 2001 para migrar toda la clientela a la plataforms MCVE.

Nota:

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.1.0.

Nota: Esta extensión no está disponible en plataformas Windows.

MCVE
Instalación/Configuración
MCVE


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
MCVE


Requerimientos

La biblioteca LibMonetra (formalmente libmcve).

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/mcve.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Si se instala sin especificar la ruta de libmonetra, PHP intentará buscar en la ubicación de instalación predeterminada de LibMonetra (/usr/local). Si Monetra (MCVE) está en una ubicación no estándard, ejecute configure con: --with-mcve=$ruta_mcve , donde $ruta_mcve es la ruta de su instalación de MCVE/Monetra. Por favor, observe que el soporte MCVE/Monetra requiere que $ruta_mcve/lib y $ruta_mcve/include existe, e incluye mcve.h o monetra.h bajo el directorio de inclusión libmcve.so and/or libmcve.a y/o libmonetra.so y/o libmonetra.a bajo el directorio lib.

Ya que MCVE/Monetra tiene una verdadera separación servidor/cliente, no hay requerimientos adicionales para ejecutar PHP con soporte para MCVE. Para probar su extensión MCVE/Monetra en PHP, debe conectarse a testbox.monetra.com en el puerto 8333 para IP, o en el puerto 8444 para SSL utilizando la API MCVE/Monetra de PHP. Use 'vitale' como nombre de usuario, y 'test' como contraseña. Está disponible información adicional sobre facilidades de prueba en » http://www.mainstreetsoftworks.com/.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

Esta extensión define un recurso MCVE_CONN devuelto por m_initconn().

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

M_PENDING (integer)
M_DONE (integer)
M_ERROR (integer)
M_FAIL (integer)
M_SUCCESS (integer)
Tipos de recursos
MCVE Funciones
MCVE


MCVE Funciones

Ver también

Se puede encontrar documentación adicional sobre la API de PHPH MCVE/Monetra en » http://www.mainstreetsoftworks.com/documentation.html. La documentación Main Street es completa y debereía ser la referencia primaria para las funciones.

Tabla de contenidos

  • m_checkstatus — Comprueba si una transacción se ha completado
  • m_completeauthorizations — Número de autorizaciones completas en cola, devolviendo un array de sus identificadores
  • m_connect — Establecer la conexión con MCVE
  • m_connectionerror — Obtener una representación textual del por qué de un error de conexión
  • m_deletetrans — Eliminar transacciones específicas de la estructura MCVE_CONN
  • m_destroyconn — Destruir la conexión y estructura MCVE_CONN
  • m_destroyengine — Liberar la memoria asociada con conectividad IP / SSL
  • m_getcell — Obtener una celda específica de una respuesta delimitada por coma mediante el nombre de columna
  • m_getcellbynum — Obtener una celda específica de una respuesta delimitada por comas mediante el número de columna
  • m_getcommadelimited — Obtener la información RAW delimitada por comas devuelta desde MCVE
  • m_getheader — Obtener el nombre de la columna de una respuesta delimitada por comas
  • m_initconn — Crear e inicializar una estructura MCVE_CONN
  • m_initengine — Preparar el cliente para la comunicación IP / SSL
  • m_iscommadelimited — Comprueba si la respuesta es delimitada por comas
  • m_maxconntimeout — La cantidad máxima de tiempo que el API se intenta conectar con MCVE
  • m_monitor — Realizar la comunicación con MCVE (envío / recepción de datos) sin bloqueo
  • m_numcolumns — Número de columnas devueltas en una respuesta delimitado por comas
  • m_numrows — Número de filas devueltas en una respuesta delimitado por comas
  • m_parsecommadelimited — Analizar la respuesta delimitado por comas para m_getcell, etc
  • m_responsekeys — Devuelve un array de cadenas que representa las claves que se pueden utilizar para los parámetros de respuesta en esta transacción
  • m_responseparam — Obtener un parámetro de respuesta personalizado
  • m_returnstatus — Comprueba si la operación fue un éxito
  • m_setblocking — Establecer el modo de bloqueo / no-bloqueo para la conexión
  • m_setdropfile — Establecer la conexión para el método Drop-File
  • m_setip — Establecer la conexión para el método IP
  • m_setssl_cafile — Establecer SSL CA (Autoridad de Certificación de archivos) para la verificación del certificado de servidor
  • m_setssl_files — Establecer los ficheros clave y los certificados si el servidor requiere una verificación de certificado
  • m_setssl — Establecer el método de conexión a SSL
  • m_settimeout — Establecer el tiempo máximo por transacción
  • m_sslcert_gen_hash — Generar hash para verificación de certificado de cliente SSL
  • m_transactionssent — Comprueba si el buffer de salida está limpio
  • m_transinqueue — Número de transacciones en la cola del cliente
  • m_transkeyval — Añadir pareja clave / valor a una transacción. Sustituye transParam() obsoleto
  • m_transnew — Iniciar una nueva transacción
  • m_transsend — Finalizar y enviar la transacción
  • m_uwait — Esperar x microsegundos
  • m_validateidentifier — Si validar el identificador pasado a una transacción
  • m_verifyconnection — Establecer si debe o no conectar a PING upon para verificar la conexión
  • m_verifysslcert — Establecer si se debe o no verificar el certificado del servidor SSL
Constantes predefinidas
m_checkstatus
MCVE


Comprueba si una transacción se ha completado

MCVE Funciones
m_completeauthorizations
MCVE Funciones
PHP Manual

m_checkstatus

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_checkstatus — Comprueba si una transacción se ha completado

Descripción

int m_checkstatus ( resource $conn , int $identifier )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

identifier

Valores devueltos

MCVE Funciones
m_completeauthorizations
MCVE Funciones


Número de autorizaciones completas en cola, devolviendo un array de sus identificadores

m_checkstatus
m_connect
MCVE Funciones
PHP Manual

m_completeauthorizations

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_completeauthorizations — Número de autorizaciones completas en cola, devolviendo un array de sus identificadores

Descripción

int m_completeauthorizations ( resource $conn , int &$array )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

array

Su descripción

Valores devueltos

Qué devuelve la función, primero en caso de éxito, después en caso de fallo. Véase también la entidad &return.success;

m_checkstatus
m_connect
MCVE Funciones


Establecer la conexión con MCVE

m_completeauthorizations
m_connectionerror
MCVE Funciones
PHP Manual

m_connect

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_connect — Establecer la conexión con MCVE

Descripción

int m_connect ( resource $conn )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

Valores devueltos

m_completeauthorizations
m_connectionerror
MCVE Funciones


Obtener una representación textual del por qué de un error de conexión

m_connect
m_deletetrans
MCVE Funciones
PHP Manual

m_connectionerror

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_connectionerror — Obtener una representación textual del por qué de un error de conexión

Descripción

string m_connectionerror ( resource $conn )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

Valores devueltos

m_connect
m_deletetrans
MCVE Funciones


Eliminar transacciones específicas de la estructura MCVE_CONN

m_connectionerror
m_destroyconn
MCVE Funciones
PHP Manual

m_deletetrans

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_deletetrans — Eliminar transacciones específicas de la estructura MCVE_CONN

Descripción

bool m_deletetrans ( resource $conn , int $identifier )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

identifier

Valores devueltos

m_connectionerror
m_destroyconn
MCVE Funciones


Destruir la conexión y estructura MCVE_CONN

m_deletetrans
m_destroyengine
MCVE Funciones
PHP Manual

m_destroyconn

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_destroyconn — Destruir la conexión y estructura MCVE_CONN

Descripción

bool m_destroyconn ( resource $conn )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

Valores devueltos

Returns TRUE.

Ver también

  • m_initconn() - Crear e inicializar una estructura MCVE_CONN

m_deletetrans
m_destroyengine
MCVE Funciones


Liberar la memoria asociada con conectividad IP / SSL

m_destroyconn
m_getcell
MCVE Funciones
PHP Manual

m_destroyengine

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_destroyengine — Liberar la memoria asociada con conectividad IP / SSL

Descripción

void m_destroyengine ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Valores devueltos

No devuelve ningún valor.

m_destroyconn
m_getcell
MCVE Funciones


Obtener una celda específica de una respuesta delimitada por coma mediante el nombre de columna

m_destroyengine
m_getcellbynum
MCVE Funciones
PHP Manual

m_getcell

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_getcell — Obtener una celda específica de una respuesta delimitada por coma mediante el nombre de columna

Descripción

string m_getcell ( resource $conn , int $identifier , string $column , int $row )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

identifier

column

row

Valores devueltos

m_destroyengine
m_getcellbynum
MCVE Funciones


Obtener una celda específica de una respuesta delimitada por comas mediante el número de columna

m_getcell
m_getcommadelimited
MCVE Funciones
PHP Manual

m_getcellbynum

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_getcellbynum — Obtener una celda específica de una respuesta delimitada por comas mediante el número de columna

Descripción

string m_getcellbynum ( resource $conn , int $identifier , int $column , int $row )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

identifier

column

row

Valores devueltos

m_getcell
m_getcommadelimited
MCVE Funciones


Obtener la información RAW delimitada por comas devuelta desde MCVE

m_getcellbynum
m_getheader
MCVE Funciones
PHP Manual

m_getcommadelimited

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_getcommadelimited — Obtener la información RAW delimitada por comas devuelta desde MCVE

Descripción

string m_getcommadelimited ( resource $conn , int $identifier )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

identifier

Valores devueltos

m_getcellbynum
m_getheader
MCVE Funciones


Obtener el nombre de la columna de una respuesta delimitada por comas

m_getcommadelimited
m_initconn
MCVE Funciones
PHP Manual

m_getheader

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_getheader — Obtener el nombre de la columna de una respuesta delimitada por comas

Descripción

string m_getheader ( resource $conn , int $identifier , int $column_num )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

identifier

column_num

Valores devueltos

m_getcommadelimited
m_initconn
MCVE Funciones


Crear e inicializar una estructura MCVE_CONN

m_getheader
m_initengine
MCVE Funciones
PHP Manual

m_initconn

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_initconn — Crear e inicializar una estructura MCVE_CONN

Descripción

resource m_initconn ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

Returns an MCVE_CONN resource.

Ver también

  • m_destroyconn() - Destruir la conexión y estructura MCVE_CONN

m_getheader
m_initengine
MCVE Funciones


Preparar el cliente para la comunicación IP / SSL

m_initconn
m_iscommadelimited
MCVE Funciones
PHP Manual

m_initengine

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_initengine — Preparar el cliente para la comunicación IP / SSL

Descripción

int m_initengine ( string $location )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

location

Valores devueltos

m_initconn
m_iscommadelimited
MCVE Funciones


Comprueba si la respuesta es delimitada por comas

m_initengine
m_maxconntimeout
MCVE Funciones
PHP Manual

m_iscommadelimited

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_iscommadelimited — Comprueba si la respuesta es delimitada por comas

Descripción

int m_iscommadelimited ( resource $conn , int $identifier )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

identifier

Valores devueltos

m_initengine
m_maxconntimeout
MCVE Funciones


La cantidad máxima de tiempo que el API se intenta conectar con MCVE

m_iscommadelimited
m_monitor
MCVE Funciones
PHP Manual

m_maxconntimeout

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_maxconntimeout — La cantidad máxima de tiempo que el API se intenta conectar con MCVE

Descripción

bool m_maxconntimeout ( resource $conn , int $secs )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

secs

Valores devueltos

m_iscommadelimited
m_monitor
MCVE Funciones


Realizar la comunicación con MCVE (envío / recepción de datos) sin bloqueo

m_maxconntimeout
m_numcolumns
MCVE Funciones
PHP Manual

m_monitor

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_monitor — Realizar la comunicación con MCVE (envío / recepción de datos) sin bloqueo

Descripción

int m_monitor ( resource $conn )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

Valores devueltos

m_maxconntimeout
m_numcolumns
MCVE Funciones


Número de columnas devueltas en una respuesta delimitado por comas

m_monitor
m_numrows
MCVE Funciones
PHP Manual

m_numcolumns

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_numcolumns — Número de columnas devueltas en una respuesta delimitado por comas

Descripción

int m_numcolumns ( resource $conn , int $identifier )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

identifier

Valores devueltos

m_monitor
m_numrows
MCVE Funciones


Número de filas devueltas en una respuesta delimitado por comas

m_numcolumns
m_parsecommadelimited
MCVE Funciones
PHP Manual

m_numrows

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_numrows — Número de filas devueltas en una respuesta delimitado por comas

Descripción

int m_numrows ( resource $conn , int $identifier )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

identifier

Valores devueltos

m_numcolumns
m_parsecommadelimited
MCVE Funciones


Analizar la respuesta delimitado por comas para m_getcell, etc

m_numrows
m_responsekeys
MCVE Funciones
PHP Manual

m_parsecommadelimited

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_parsecommadelimited — Analizar la respuesta delimitado por comas para m_getcell, etc

Descripción

int m_parsecommadelimited ( resource $conn , int $identifier )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

identifier

Valores devueltos

m_numrows
m_responsekeys
MCVE Funciones


Devuelve un array de cadenas que representa las claves que se pueden utilizar para los parámetros de respuesta en esta transacción

m_parsecommadelimited
m_responseparam
MCVE Funciones
PHP Manual

m_responsekeys

(PHP 5 >= 5.0.5, PECL mcve >= 1.0.0)

m_responsekeys — Devuelve un array de cadenas que representa las claves que se pueden utilizar para los parámetros de respuesta en esta transacción

Descripción

array m_responsekeys ( resource $conn , int $identifier )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

identifier

Valores devueltos

m_parsecommadelimited
m_responseparam
MCVE Funciones


Obtener un parámetro de respuesta personalizado

m_responsekeys
m_returnstatus
MCVE Funciones
PHP Manual

m_responseparam

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_responseparam — Obtener un parámetro de respuesta personalizado

Descripción

string m_responseparam ( resource $conn , int $identifier , string $key )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

identifier

key

Valores devueltos

m_responsekeys
m_returnstatus
MCVE Funciones


Comprueba si la operación fue un éxito

m_responseparam
m_setblocking
MCVE Funciones
PHP Manual

m_returnstatus

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_returnstatus — Comprueba si la operación fue un éxito

Descripción

int m_returnstatus ( resource $conn , int $identifier )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

identifier

Valores devueltos

m_responseparam
m_setblocking
MCVE Funciones


Establecer el modo de bloqueo / no-bloqueo para la conexión

m_returnstatus
m_setdropfile
MCVE Funciones
PHP Manual

m_setblocking

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_setblocking — Establecer el modo de bloqueo / no-bloqueo para la conexión

Descripción

int m_setblocking ( resource $conn , int $tf )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

tf

Valores devueltos

m_returnstatus
m_setdropfile
MCVE Funciones


Establecer la conexión para el método Drop-File

m_setblocking
m_setip
MCVE Funciones
PHP Manual

m_setdropfile

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_setdropfile — Establecer la conexión para el método Drop-File

Descripción

int m_setdropfile ( resource $conn , string $directory )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

directory

Valores devueltos

m_setblocking
m_setip
MCVE Funciones


Establecer la conexión para el método IP

m_setdropfile
m_setssl_cafile
MCVE Funciones
PHP Manual

m_setip

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_setip — Establecer la conexión para el método IP

Descripción

int m_setip ( resource $conn , string $host , int $port )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

host

port

Valores devueltos

m_setdropfile
m_setssl_cafile
MCVE Funciones


Establecer SSL CA (Autoridad de Certificación de archivos) para la verificación del certificado de servidor

m_setip
m_setssl_files
MCVE Funciones
PHP Manual

m_setssl_cafile

(PHP 5 >= 5.0.5, PECL mcve >= 1.0.0)

m_setssl_cafile — Establecer SSL CA (Autoridad de Certificación de archivos) para la verificación del certificado de servidor

Descripción

int m_setssl_cafile ( resource $conn , string $cafile )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

cafile

Valores devueltos

m_setip
m_setssl_files
MCVE Funciones


Establecer los ficheros clave y los certificados si el servidor requiere una verificación de certificado

m_setssl_cafile
m_setssl
MCVE Funciones
PHP Manual

m_setssl_files

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_setssl_files — Establecer los ficheros clave y los certificados si el servidor requiere una verificación de certificado

Descripción

int m_setssl_files ( resource $conn , string $sslkeyfile , string $sslcertfile )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

sslkeyfile

sslcertfile

Valores devueltos

m_setssl_cafile
m_setssl
MCVE Funciones


Establecer el método de conexión a SSL

m_setssl_files
m_settimeout
MCVE Funciones
PHP Manual

m_setssl

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_setssl — Establecer el método de conexión a SSL

Descripción

int m_setssl ( resource $conn , string $host , int $port )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

host

port

Valores devueltos

m_setssl_files
m_settimeout
MCVE Funciones


Establecer el tiempo máximo por transacción

m_setssl
m_sslcert_gen_hash
MCVE Funciones
PHP Manual

m_settimeout

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_settimeout — Establecer el tiempo máximo por transacción

Descripción

int m_settimeout ( resource $conn , int $seconds )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

seconds

Valores devueltos

m_setssl
m_sslcert_gen_hash
MCVE Funciones


Generar hash para verificación de certificado de cliente SSL

m_settimeout
m_transactionssent
MCVE Funciones
PHP Manual

m_sslcert_gen_hash

(PECL mcve >= 5.2.0)

m_sslcert_gen_hash — Generar hash para verificación de certificado de cliente SSL

Descripción

string m_sslcert_gen_hash ( string $filename )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

filename

Valores devueltos

m_settimeout
m_transactionssent
MCVE Funciones


Comprueba si el buffer de salida está limpio

m_sslcert_gen_hash
m_transinqueue
MCVE Funciones
PHP Manual

m_transactionssent

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_transactionssent — Comprueba si el buffer de salida está limpio

Descripción

int m_transactionssent ( resource $conn )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

Valores devueltos

m_sslcert_gen_hash
m_transinqueue
MCVE Funciones


Número de transacciones en la cola del cliente

m_transactionssent
m_transkeyval
MCVE Funciones
PHP Manual

m_transinqueue

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_transinqueue — Número de transacciones en la cola del cliente

Descripción

int m_transinqueue ( resource $conn )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

Valores devueltos

m_transactionssent
m_transkeyval
MCVE Funciones


Añadir pareja clave / valor a una transacción. Sustituye transParam() obsoleto

m_transinqueue
m_transnew
MCVE Funciones
PHP Manual

m_transkeyval

(PHP 5 >= 5.0.5, PECL mcve >= 1.0.0)

m_transkeyval — Añadir pareja clave / valor a una transacción. Sustituye transParam() obsoleto

Descripción

int m_transkeyval ( resource $conn , int $identifier , string $key , string $value )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

identifier

key

value

Valores devueltos

m_transinqueue
m_transnew
MCVE Funciones


Iniciar una nueva transacción

m_transkeyval
m_transsend
MCVE Funciones
PHP Manual

m_transnew

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_transnew — Iniciar una nueva transacción

Descripción

int m_transnew ( resource $conn )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

Valores devueltos

m_transkeyval
m_transsend
MCVE Funciones


Finalizar y enviar la transacción

m_transnew
m_uwait
MCVE Funciones
PHP Manual

m_transsend

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_transsend — Finalizar y enviar la transacción

Descripción

int m_transsend ( resource $conn , int $identifier )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

identifier

Valores devueltos

m_transnew
m_uwait
MCVE Funciones


Esperar x microsegundos

m_transsend
m_validateidentifier
MCVE Funciones
PHP Manual

m_uwait

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_uwait — Esperar x microsegundos

Descripción

int m_uwait ( int $microsecs )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

microsecs

Valores devueltos

m_transsend
m_validateidentifier
MCVE Funciones


Si validar el identificador pasado a una transacción

m_uwait
m_verifyconnection
MCVE Funciones
PHP Manual

m_validateidentifier

(PHP 5 >= 5.0.5, PECL mcve >= 1.0.0)

m_validateidentifier — Si validar el identificador pasado a una transacción

Descripción

int m_validateidentifier ( resource $conn , int $tf )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

tf

Valores devueltos

m_uwait
m_verifyconnection
MCVE Funciones


Establecer si debe o no conectar a PING upon para verificar la conexión

m_validateidentifier
m_verifysslcert
MCVE Funciones
PHP Manual

m_verifyconnection

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_verifyconnection — Establecer si debe o no conectar a PING upon para verificar la conexión

Descripción

bool m_verifyconnection ( resource $conn , int $tf )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

tf

Valores devueltos

m_validateidentifier
m_verifysslcert
MCVE Funciones


Establecer si se debe o no verificar el certificado del servidor SSL

m_verifyconnection
SPPLUS
MCVE Funciones
PHP Manual

m_verifysslcert

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_verifysslcert — Establecer si se debe o no verificar el certificado del servidor SSL

Descripción

bool m_verifysslcert ( resource $conn , int $tf )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

conn

Un recurso MCVE_CONN devuleto por m_initengine().

tf

Valores devueltos

m_verifyconnection
SPPLUS
MCVE Funciones


Sistemas de Pago SPPLUS

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de SPPLUS
    • calcul_hmac — Obtener una clave HMAC (necesita 8 argumentos)
    • calculhmac — Obtener una clave HMAC (necesita 2 argumentos)
    • nthmac — Obtener una clave de nthmac (necesita dos argumentos)
    • signeurlpaiement — Obtener la url de pago (las necesidades de dos argumentos)
m_verifysslcert
Introducción
Procesamiento de tarjetas de crédito


Introducción

Esta extensión ofrece la posibilidad de usar el » Sistema de Pagos de SPPLUS de la Caisse d'Epargne (un Banco francés).

Nota: Esta extensión no está disponible en plataformas Windows.

Para más detalles sobre la configuración, revise los ficheros README de las distribuciones del código fuente del kit_php.

SPPLUS
Instalación/Configuración
SPPLUS


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
SPPLUS


Requerimientos

Nota: Necesita al menos PHP 4.1.0 y SPPLUS v.3

Nota: Deberá obtener el nuevo kit_php de spplus. Si no lo consiguiera, no dude en contactar con el mantenedor del software.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/spplus.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Nota:

Se necesita PHP 4.3.0 o superior para que la compresión de datos funcione.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Funciones de SPPLUS
SPPLUS


Funciones de SPPLUS

Tabla de contenidos

  • calcul_hmac — Obtener una clave HMAC (necesita 8 argumentos)
  • calculhmac — Obtener una clave HMAC (necesita 2 argumentos)
  • nthmac — Obtener una clave de nthmac (necesita dos argumentos)
  • signeurlpaiement — Obtener la url de pago (las necesidades de dos argumentos)
Constantes predefinidas
calcul_hmac
SPPLUS


Obtener una clave HMAC (necesita 8 argumentos)

Funciones de SPPLUS
calculhmac
Funciones de SPPLUS
PHP Manual

calcul_hmac

(PECL spplus >= 1.0.0)

calcul_hmac — Obtener una clave HMAC (necesita 8 argumentos)

Descripción

string calcul_hmac ( string $clent , string $siretcode , string $price , string $reference , string $validity , string $taxation , string $devise , string $language )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Funciones de SPPLUS
calculhmac
Funciones de SPPLUS


Obtener una clave HMAC (necesita 2 argumentos)

calcul_hmac
nthmac
Funciones de SPPLUS
PHP Manual

calculhmac

(PECL spplus >= 1.0.0)

calculhmac — Obtener una clave HMAC (necesita 2 argumentos)

Descripción

string calculhmac ( string $clent , string $data )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

calcul_hmac
nthmac
Funciones de SPPLUS


Obtener una clave de nthmac (necesita dos argumentos)

calculhmac
signeurlpaiement
Funciones de SPPLUS
PHP Manual

nthmac

(PECL spplus >= 1.0.0)

nthmac — Obtener una clave de nthmac (necesita dos argumentos)

Descripción

string nthmac ( string $clent , string $data )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

calculhmac
signeurlpaiement
Funciones de SPPLUS


Obtener la url de pago (las necesidades de dos argumentos)

nthmac
Extensiones criptográficas
Funciones de SPPLUS
PHP Manual

signeurlpaiement

(PECL spplus >= 1.0.0)

signeurlpaiement — Obtener la url de pago (las necesidades de dos argumentos)

Descripción

string nthmac ( string $clent , string $data )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

nthmac
Extensiones criptográficas
Funciones de SPPLUS


Extensiones criptográficas

  • Crack — Cracklib
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de crack
  • Hash — HASH Framework para cifrar mensajes
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de hash
  • Mcrypt
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Cifradores mcrypt
    • Ejemplos
    • Funciones de Mcrypt
  • Mhash
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de Mhash
  • OpenSSL
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Parámetros de Clave/Certificado
    • Verificación de Certificados
    • Funciones de OpenSSL
  • Hash de contraseñas
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de hashing de contraseñas
signeurlpaiement
Crack
Referencia de funciones


Cracklib

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • Funciones de crack
    • crack_check — Realiza una comprobación de la dificultad de crackear la contraseña proporcionada
    • crack_closedict — Cierra un diccionario abierto de CrackLib
    • crack_getlastmessage — Devuelve el mensaje de la última comprobación realizada
    • crack_opendict — Abre un diccionario nuevo de CrackLib
Extensiones criptográficas
Introducción
Extensiones criptográficas


Introducción

Estas funciones le permiten usar la librería CrackLib para testear la 'resistencia' de una contraseña a ser crackeada. La 'resistencia' de una contraseña se determina comprobando la longitud de la contraseña, el uso de mayúsculas y minúsculas y comprobandola con el diccionario de CrackLib especificado. CrackLib también proporciona consejos útiles de diagnóstico que ayudará a "fortalecer" la contraseña.

Nota:

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.0.0.

Crack
Instalación/Configuración
Crack


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Crack


Requerimientos

Más información sobre CrackLib junto con su biblioteca puede ser encontrada en » http://sourceforge.net/projects/cracklib.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP. Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/crack.

En PHP 4 el código fuente de estas extensiones PECL puede ser encontrado en el directorio ext/ dentro del código fuente de PHP o a través del anterior enlace a PECL. Para poder utilizar estas funciones se debe compilar PHP con soporte Crack utilizando la opción de configuración --with-crack[=DIR] .

Los usuarios de Windows deben habilitar php_crack.dll dentro del archivo php.ini para poder utilizar estas funciones. En PHP 4 esta DLL reside en el directorio extensions/ dentro de la descarga de los binarios de PHP para Windows. Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración Crack
Nombre | Por defecto | Cambiable | Historial de cambios
crack.default_dictionary | NULL | PHP_INI_PERDIR | PHP_INI_SYSTEM en crack <= 0.2. Disponible desde PHP 4.0.5. Eliminado en PHP 5.0.0.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

La extensión CrackLib define un identificador del diccionario devuelto por crack_opendict().

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Ejemplos
Crack


Ejemplos

Este ejemplo muestra cómo abrir un diccionario de CrackLib, testear una contraseña, recibir cualquier mensaje de diagnóstico, y cerrar el diccionario.

Ejemplo #1 Ejemplo CrackLib

<?php
// Abrir el diccionario de CrackLib
$diccionario = crack_opendict('/usr/local/lib/pw_dict')
     or die('No se ha podido abrir el diccionario de CrackLib');

// Realizar la comprobación de la contraseña
$check = crack_check($diccionario, 'gx9A2s0x');

// Retrieve messages
$diag = crack_getlastmessage();
echo $diag; // 'contraseña segura'

// Cerrar el diccionario
crack_closedict($diccionario);
?>

Nota:

Si la función crack_check() devulve TRUE, la función crack_getlastmessage() devolverá el mensaje 'contraseña segura'.

Constantes predefinidas
Funciones de crack
Crack


Funciones de crack

Tabla de contenidos

  • crack_check — Realiza una comprobación de la dificultad de crackear la contraseña proporcionada
  • crack_closedict — Cierra un diccionario abierto de CrackLib
  • crack_getlastmessage — Devuelve el mensaje de la última comprobación realizada
  • crack_opendict — Abre un diccionario nuevo de CrackLib
Ejemplos
crack_check
Crack


Realiza una comprobación de la dificultad de crackear la contraseña proporcionada

Funciones de crack
crack_closedict
Funciones de crack
PHP Manual

crack_check

(PECL crack >= 0.1)

crack_check — Realiza una comprobación de la dificultad de crackear la contraseña proporcionada

Descripción

bool crack_check ( resource $dictionary , string $password )
bool crack_check ( string $password )

Realiza una comprobación de la dificultad de crackear la contraseña proporcionada, empleando el diccionario especificado.

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

dictionary

El diccionario de CrackLib que se va a utilizar. Si no se especifica, se emplea el último diccionario abierto.

password

La contraseña que se quiere testear.

Valores devueltos

Devuelve TRUE si password es segura, o FALSE de lo contrario.

Funciones de crack
crack_closedict
Funciones de crack


Cierra un diccionario abierto de CrackLib

crack_check
crack_getlastmessage
Funciones de crack
PHP Manual

crack_closedict

(PECL crack >= 0.1)

crack_closedict — Cierra un diccionario abierto de CrackLib

Descripción

bool crack_closedict ([ resource $dictionary ] )

crack_closedict() cierra el diccionario indicado mediante el identificador dictionary.

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

dictionary

El diccionario a cerrarse. Si no se especifica, el diccionario actualmente abierto será cerrado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • crack_opendict() - Abre un diccionario nuevo de CrackLib

crack_check
crack_getlastmessage
Funciones de crack


Devuelve el mensaje de la última comprobación realizada

crack_closedict
crack_opendict
Funciones de crack
PHP Manual

crack_getlastmessage

(PECL crack >= 0.1)

crack_getlastmessage — Devuelve el mensaje de la última comprobación realizada

Descripción

string crack_getlastmessage ( void )

crack_getlastmessage() devuelve el mensaje de la última comprobación realizada.

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Valores devueltos

El mensaje de la última comprobación realizada o FALSE si no se han realizado comprobaciones hasta la fecha.

El mensaje devuelto es uno de los siguientes:

  • es MUY pequeña
  • es demasiado pequeña
  • no contiene suficientes caracteres DIFERENTES
  • contiene todos los espacios en blanco
  • es demasiado simplista/sistemática
  • parece un número de Seguro Nacional.
  • está basada en una palabra del diccionario
  • está basada en una palabra (invertida) del diccionario
  • contraseña segura

Ver también

  • crack_check() - Realiza una comprobación de la dificultad de crackear la contraseña proporcionada

crack_closedict
crack_opendict
Funciones de crack


Abre un diccionario nuevo de CrackLib

crack_getlastmessage
Hash
Funciones de crack
PHP Manual

crack_opendict

(PECL crack >= 0.1)

crack_opendict — Abre un diccionario nuevo de CrackLib

Descripción

resource crack_opendict ( string $dictionary )

crack_opendict() abre el dictionary CrackLib especificado para usarlo con crack_check().

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Nota:

Solo un diccionario puede ser abierto al mismo tiempo.

Parámetros

dictionary

La ruta de acceso al diccionario de CrackLib.

Valores devueltos

Devuelve un identificador del diccionario en caso de éxito o FALSE en caso de error.

Ver también

  • crack_check() - Realiza una comprobación de la dificultad de crackear la contraseña proporcionada
  • crack_closedict() - Cierra un diccionario abierto de CrackLib

crack_getlastmessage
Hash
Funciones de crack


HASH Framework para cifrar mensajes

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de hash
    • hash_algos — Devuelve una lista con los algoritmos de cifrado soportados
    • hash_copy — Copia un recurso de contexto de cifrado
    • hash_file — Genera un valor cifrado usando el contenido de un fichero dado
    • hash_final — Finaliza un contexto incremental y devuelve el resultado cifrado
    • hash_hmac_file — Genera un valor cifrado mediante una clave especificada usando el método HMAC y el contenido de un fichero dado
    • hash_hmac — Genera un valor cifrado mediante una clave especificada usando el método HMAC
    • hash_init — Inicializa un contexto incremental para cifrar
    • hash_pbkdf2 — Genera una derivación de clave PBKDF2 de una contraseña proporcionada
    • hash_update_file — Inyecta datos en un contexto de cifrado activo desde un fichero
    • hash_update_stream — Pega datos en un contexto de cifrado activo desde un flujo de datos abierto
    • hash_update — Pega más datos en un contexto incremental de cifrado activo
    • hash — Genera un valor cifrado en base a un string
crack_opendict
Introducción
Extensiones criptográficas


Introducción

Motor para cifrar mensajes (hash). Permite la transformación directa o incremental de mensajes de longitud arbitraria usando una variedad de algoritmos hash.

Hash
Instalación/Configuración
Hash


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Hash


Requerimientos

La extensión HASH no requiere librerias externas y está activado por defecto a partir de PHP 5.1.2. Puede ser explícitamente desactivado durante la configuración usando el parámetro --disable-hash. Las versiones anteriores de PHP pueden incorporar la extensión Hash instalando el » módulo PECL.

Instalación/Configuración
Instalación
Instalación/Configuración


Tipos de recursos

Esta extensión define un recurso de contexto Hashing devuelto mediante hash_init().

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

HASH_HMAC (integer)
Bandera opcional para hash_init(). Indica que el algoritmo de cifrado de claves HMAC debe ser aplicado al contexto actual de hashing.
Tipos de recursos
Funciones de hash
Hash


Funciones de hash

Tabla de contenidos

  • hash_algos — Devuelve una lista con los algoritmos de cifrado soportados
  • hash_copy — Copia un recurso de contexto de cifrado
  • hash_file — Genera un valor cifrado usando el contenido de un fichero dado
  • hash_final — Finaliza un contexto incremental y devuelve el resultado cifrado
  • hash_hmac_file — Genera un valor cifrado mediante una clave especificada usando el método HMAC y el contenido de un fichero dado
  • hash_hmac — Genera un valor cifrado mediante una clave especificada usando el método HMAC
  • hash_init — Inicializa un contexto incremental para cifrar
  • hash_pbkdf2 — Genera una derivación de clave PBKDF2 de una contraseña proporcionada
  • hash_update_file — Inyecta datos en un contexto de cifrado activo desde un fichero
  • hash_update_stream — Pega datos en un contexto de cifrado activo desde un flujo de datos abierto
  • hash_update — Pega más datos en un contexto incremental de cifrado activo
  • hash — Genera un valor cifrado en base a un string
Constantes predefinidas
hash_algos
Hash


Devuelve una lista con los algoritmos de cifrado soportados

Funciones de hash
hash_copy
Funciones de hash
PHP Manual

hash_algos

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_algos — Devuelve una lista con los algoritmos de cifrado soportados

Descripción

array hash_algos ( void )

Valores devueltos

Devuelve un array numérico que contiene una lista con los tipos de algoritmos de cifrado soportados.

Historial de cambios

Versión | Descripción
5.4.0 | Se añade soporte para joaat, fnv132 y para fnv164. Soporte para Salsa10 y Salsa20 fué eliminado.
5.3.0 | Se añade soporte para md2, ripemd256, ripemd320, salsa10, salsa20, snefru256 y para sha224

Ejemplos

Ejemplo #1 hash_algos() ejemplo

A partir de PHP 5.3.0, hash_algos() devuelve la siguiente lista de nombres de algoritmos de cifrado.

<?php
print_r(hash_algos());
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => md2
    [1] => md4
    [2] => md5
    [3] => sha1
    [4] => sha224
    [5] => sha256
    [6] => sha384
    [7] => sha512
    [8] => ripemd128
    [9] => ripemd160
    [10] => ripemd256
    [11] => ripemd320
    [12] => whirlpool
    [13] => tiger128,3
    [14] => tiger160,3
    [15] => tiger192,3
    [16] => tiger128,4
    [17] => tiger160,4
    [18] => tiger192,4
    [19] => snefru
    [20] => snefru256
    [21] => gost
    [22] => adler32
    [23] => crc32
    [24] => crc32b
    [25] => salsa10
    [26] => salsa20
    [27] => haval128,3
    [28] => haval160,3
    [29] => haval192,3
    [30] => haval224,3
    [31] => haval256,3
    [32] => haval128,4
    [33] => haval160,4
    [34] => haval192,4
    [35] => haval224,4
    [36] => haval256,4
    [37] => haval128,5
    [38] => haval160,5
    [39] => haval192,5
    [40] => haval224,5
    [41] => haval256,5
)

Funciones de hash
hash_copy
Funciones de hash


Copia un recurso de contexto de cifrado

hash_algos
hash_file
Funciones de hash
PHP Manual

hash_copy

(PHP 5 >= 5.3.0)

hash_copy — Copia un recurso de contexto de cifrado

Descripción

resource hash_copy ( resource $context )

Parámetros

context

Contexto para cifrado que se obtiene mediante hash_init().

Valores devueltos

Devuelve una copia del recurso de un contexto de cifrado.

Ejemplos

Ejemplo #1 Ejemplo de hash_copy()

<?php
$context = hash_init("md5");
hash_update($context, "data");

/* copy context to be able to continue using it */
$copy_context = hash_copy($context);

echo hash_final($context), "\n";

hash_update($copy_context, "data");
echo hash_final($copy_context), "\n";
?>

El resultado del ejemplo sería:

8d777f385d3dfec8815d20f7496026dc
511ae0b1c13f95e5f08f1a0dd3da3d93

hash_algos
hash_file
Funciones de hash


Genera un valor cifrado usando el contenido de un fichero dado

hash_copy
hash_final
Funciones de hash
PHP Manual

hash_file

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_file — Genera un valor cifrado usando el contenido de un fichero dado

Descripción

string hash_file ( string $algo , string $filename [, bool $raw_output = false ] )

Parámetros

algo

Nombre del algoritmo de cifrado seleccionado (es decir "md5", "sha256", "haval160,4", etc..)

filename

URL que describe la localización del fichero cuyo contenido vamos a cifrar; Soporta fopen wrappers.

raw_output

Cuando se establece en TRUE la salida serán datos binarios sin formato, FALSE la salida serán dígitos hexadecimales en minúsculas.

Valores devueltos

Devuelve un string que contiene el mensaje cifrado como dígitos hexadecimales en minúsculas, a menos que raw_output sea establecido en true, en cuyo caso la salida devuelta será el mensaje cifrado como datos binarios sin formato.

Ejemplos

Ejemplo #1 Usando hash_file()

<?php
/* Creamos un fichero para calcular su resultante valor cifrado */
file_put_contents('example.txt', 'The quick brown fox jumped over the lazy dog.');

echo hash_file('md5', 'example.txt');
?>

El resultado del ejemplo sería:

5c6ffbdd40d9556b73a21e63c3e0e904

Ver también

  • hash() - Genera un valor cifrado en base a un string
  • hash_hmac_file() - Genera un valor cifrado mediante una clave especificada usando el método HMAC y el contenido de un fichero dado
  • hash_update_file() - Inyecta datos en un contexto de cifrado activo desde un fichero
  • md5_file() - Calcula el resumen criptográfico md5 de un archivo dado
  • sha1_file() - Calcula el hash sha1 de un archivo

hash_copy
hash_final
Funciones de hash


Finaliza un contexto incremental y devuelve el resultado cifrado

hash_file
hash_hmac_file
Funciones de hash
PHP Manual

hash_final

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_final — Finaliza un contexto incremental y devuelve el resultado cifrado

Descripción

string hash_final ( resource $context [, bool $raw_output = false ] )

Parámetros

context

Contexto para cifrado que se obtiene mediante hash_init().

raw_output

Cuando se establece en TRUE la salida serán datos binarios sin formato, FALSE la salida serán dígitos hexadecimales en minúsculas.

Valores devueltos

Devuelve un string que contiene el mensaje cifrado como dígitos hexadecimales en minúsculas, a menos que raw_output sea establecido en true, en cuyo caso la salida devuelta será el mensaje cifrado como datos binarios sin formato.

Ejemplos

Ejemplo #1 Ejemplo de hash_final()

<?php
$ctx = hash_init('sha1');
hash_update($ctx, 'The quick brown fox jumped over the lazy dog.');
echo hash_final($ctx);
?>

El resultado del ejemplo sería:

c0854fb9fb03c41cce3802cb0d220529e6eef94e

Ver también

  • hash_init() - Inicializa un contexto incremental para cifrar
  • hash_update() - Pega más datos en un contexto incremental de cifrado activo
  • hash_update_stream() - Pega datos en un contexto de cifrado activo desde un flujo de datos abierto
  • hash_update_file() - Inyecta datos en un contexto de cifrado activo desde un fichero

hash_file
hash_hmac_file
Funciones de hash


Genera un valor cifrado mediante una clave especificada usando el método HMAC y el contenido de un fichero dado

hash_final
hash_hmac
Funciones de hash
PHP Manual

hash_hmac_file

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_hmac_file — Genera un valor cifrado mediante una clave especificada usando el método HMAC y el contenido de un fichero dado

Descripción

string hash_hmac_file ( string $algo , string $filename , string $key [, bool $raw_output = false ] )

Parámetros

algo

Nombre del algoritmo para cifrar seleccionado (es decir "md5", "sha256", "haval160,4", etc..). Ver hash_algos() para saber la lista de algoritmos soportados.

filename

URL que describe la localización del fichero cuyo contenido vamos a cifrar; Soporta fopen wrappers.

key

Clave secreta compartida que se usará para generar el mensaje cifrado de la variante HMAC.

raw_output

Cuando se establece en TRUE la salida serán datos binarios sin formato, FALSE la salida serán dígitos hexadecimales en minúsculas.

Valores devueltos

Devuelve un string que contiene el mensaje cifrado como dígitos hexadecimales en minúsculas, a menos que raw_output sea establecido en true, en cuyo caso la salida devuelta será el mensaje cifrado como datos binarios sin formato.

Ejemplos

Ejemplo #1 Ejemplo de hash_hmac_file()

<?php
/* Creamos un fichero para calcular su resultante valor cifrado */
file_put_contents('example.txt', 'The quick brown fox jumped over the lazy dog.');

echo hash_hmac_file('md5', 'example.txt', 'secret');
?>

El resultado del ejemplo sería:

7eb2b5c37443418fc77c136dd20e859c

Ver también

  • hash_algos() - Devuelve una lista con los algoritmos de cifrado soportados
  • hash_hmac() - Genera un valor cifrado mediante una clave especificada usando el método HMAC
  • hash_file() - Genera un valor cifrado usando el contenido de un fichero dado

hash_final
hash_hmac
Funciones de hash


Genera un valor cifrado mediante una clave especificada usando el método HMAC

hash_hmac_file
hash_init
Funciones de hash
PHP Manual

hash_hmac

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_hmac — Genera un valor cifrado mediante una clave especificada usando el método HMAC

Descripción

string hash_hmac ( string $algo , string $data , string $key [, bool $raw_output = false ] )

Parámetros

algo

Nombre del algoritmo para cifrar seleccionado (es decir "md5", "sha256", "haval160,4", etc..). Ver hash_algos() para saber la lista de algoritmos soportados.

data

Mensaje para cifrar.

key

Clave secreta compartida que se usará para generar el mensaje cifrado de la variante HMAC.

raw_output

Cuando se establece en TRUE la salida serán datos binarios sin formato, FALSE la salida serán dígitos hexadecimales en minúsculas.

Valores devueltos

Devuelve un string que contiene el mensaje cifrado como dígitos hexadecimales en minúsculas, a menos que raw_output sea establecido en true, en cuyo caso la salida devuelta será el mensaje cifrado como datos binarios sin formato.

Ejemplos

Ejemplo #1 hash_hmac() example

<?php
echo hash_hmac('ripemd160', 'The quick brown fox jumped over the lazy dog.', 'secret');
?>

El resultado del ejemplo sería:

b8e7ae12510bdfb1812e463a7f086122cf37e4f7

Ver también

  • hash() - Genera un valor cifrado en base a un string
  • hash_algos() - Devuelve una lista con los algoritmos de cifrado soportados
  • hash_init() - Inicializa un contexto incremental para cifrar
  • hash_hmac_file() - Genera un valor cifrado mediante una clave especificada usando el método HMAC y el contenido de un fichero dado

hash_hmac_file
hash_init
Funciones de hash


Inicializa un contexto incremental para cifrar

hash_hmac
hash_pbkdf2
Funciones de hash
PHP Manual

hash_init

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_init — Inicializa un contexto incremental para cifrar

Descripción

resource hash_init ( string $algo [, int $options = 0 [, string $key = NULL ]] )

Parámetros

algo

Nombre del algoritmo de cifrado seleccionado (es decir "md5", "sha256", "haval160,4", etc..). Para una lista de los algoritmos admitidos vése hash_algos().

options

Configuración opcional para la generación del cifrado, normalmente soporta solo una opción: HASH_HMAC, en el caso de utilizar esta opción también deberemos especificar el parámetro key.

key

Cuando se especifique HASH_HMAC en options, se debe suministrar una clave secreta compartida en este parámetro para ser utilizada en el método de cifrado HMAC.

Valores devueltos

Devuelve un recurso de contexto para cifrado, el cual será incrementado con hash_update(), hash_update_stream(), hash_update_file(), y hash_final().

Ejemplos

Ejemplo #1 Ejemplo de contexto incremental para cifrado

<?php
$ctx = hash_init('md5');
hash_update($ctx, 'The quick brown fox ');
hash_update($ctx, 'jumped over the lazy dog.');
echo hash_final($ctx);
?>

El resultado del ejemplo sería:

5c6ffbdd40d9556b73a21e63c3e0e904

Ver también

  • hash() - Genera un valor cifrado en base a un string
  • hash_algos() - Devuelve una lista con los algoritmos de cifrado soportados
  • hash_file() - Genera un valor cifrado usando el contenido de un fichero dado
  • hash_hmac() - Genera un valor cifrado mediante una clave especificada usando el método HMAC
  • hash_hmac_file() - Genera un valor cifrado mediante una clave especificada usando el método HMAC y el contenido de un fichero dado

hash_hmac
hash_pbkdf2
Funciones de hash


Genera una derivación de clave PBKDF2 de una contraseña proporcionada

hash_init
hash_update_file
Funciones de hash
PHP Manual

hash_pbkdf2

(PHP 5 >= 5.5.0)

hash_pbkdf2 — Genera una derivación de clave PBKDF2 de una contraseña proporcionada

Descripción

string hash_pbkdf2 ( string $algo , string $password , string $salt , int $iterations [, int $length = 0 [, bool $raw_output = false ]] )

Parámetros

algo

El nombre del algoritmo hash seleccionado (esto es, "md5", "sha256", "haval160,4", etc.). Véase hash_algos() para una lista de los algoritmos admitidos.

password

La contraseña a usar para la derivación.

salt

La sal a usar para la derivación. Este valor debería ser generado aleatoriamente.

iterations

El número de iteraciones internas para realizar la derivación.

length

La longitud del string de salida. Si raw_output es TRUE, se corresponde con la longitud en bytes de la clave derivada; si raw_output es FALSE, se corresponde con dos veces la longitud en bytes de la clave derivada (ya que cada byte de la clave es devuelto como dos dígitos hexadecimales).

Si se pasa 0, se usará la salida completa del algoritmo proporcionado.

raw_output

Cuando se establece a TRUE, genera datos binarios puros. FALSE genera dígitos hexadecimales en minúsculas.

Valores devueltos

Devuelve un string que contiene la clave derivada como dígitos hexadecimales en minúsculas, a menos que raw_output sea establecido a TRUE, en cuyo caso devuelve la represetación binaria pura de la clave derivada.

Errores/Excepciones

Se emitirá un E_WARNING si el algoritmo es desconocido, el parámetro iterations es menor o igual a 0, el parámetro length es menor que 0 o el parámetro salt es demasiado grande (mayor que INT_MAX - 4).

Ejemplos

Ejemplo #1 Ejemplo de uso básico de hash_pbkdf2()

<?php
$contraseña = "password";
$iteraciones = 1000;

// Generar una IV aleatoria usando mcrypt_create_iv(),
// openssl_random_pseudo_bytes() u otra fuente disponible de aleatoriedad
$sal = mcrypt_create_iv(16, MCRYPT_DEV_URANDOM);

$hash = hash_pbkdf2("sha256", $contraseña, $sal, $iteraciones, 20);
echo $hash;
?>

El resultado del ejemplo sería algo similar a:

120fb6cffcf8b32c43e7

Notas

Precaución

El método PBKDF2 se puede usar para el almacenamiento de contraseñas de hash. Sin embargo, se debería observar que password_hash() o crypt() con CRYPT_BLOWFISH son más adecuados para el almacenamiento de contraseñas.

Ver también

  • crypt() - Hashing de una sola vía de un string
  • password_hash() - Crea un nuevo hash de contraseña
  • hash() - Genera un valor cifrado en base a un string
  • hash_algos() - Devuelve una lista con los algoritmos de cifrado soportados
  • hash_init() - Inicializa un contexto incremental para cifrar
  • hash_hmac() - Genera un valor cifrado mediante una clave especificada usando el método HMAC
  • hash_hmac_file() - Genera un valor cifrado mediante una clave especificada usando el método HMAC y el contenido de un fichero dado

hash_init
hash_update_file
Funciones de hash


Inyecta datos en un contexto de cifrado activo desde un fichero

hash_pbkdf2
hash_update_stream
Funciones de hash
PHP Manual

hash_update_file

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_update_file — Inyecta datos en un contexto de cifrado activo desde un fichero

Descripción

bool hash_update_file ( resource $hcontext , string $filename [, resource $scontext = NULL ] )

Parámetros

hcontext

Un contexto de cifrado devuelto por hash_init().

filename

URL que describe la ubicación del fichero a cifrar; admite envolturas fopen.

scontext

Un contexto de flujo, como el devuelto por stream_context_create().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • hash_init() - Inicializa un contexto incremental para cifrar
  • hash_update() - Pega más datos en un contexto incremental de cifrado activo
  • hash_update_stream() - Pega datos en un contexto de cifrado activo desde un flujo de datos abierto
  • hash_final() - Finaliza un contexto incremental y devuelve el resultado cifrado
  • hash() - Genera un valor cifrado en base a un string
  • hash_file() - Genera un valor cifrado usando el contenido de un fichero dado

hash_pbkdf2
hash_update_stream
Funciones de hash


Pega datos en un contexto de cifrado activo desde un flujo de datos abierto

hash_update_file
hash_update
Funciones de hash
PHP Manual

hash_update_stream

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_update_stream — Pega datos en un contexto de cifrado activo desde un flujo de datos abierto

Descripción

int hash_update_stream ( resource $context , resource $handle [, int $length = -1 ] )

Parámetros

context

Contexto para cifrado que se obtiene mediante hash_init().

handle

Gestor de fichero abierto devuelto mediante alguna función de creación de flujo de datos.

length

Número máximo de caracteres para copiar desde handle en el contexto de cifrado.

Valores devueltos

Actual número de bytes añadidos desde handle para el contexto de datos de cifrado.

Ejemplos

Ejemplo #1 Ejemplo de hash_update_stream()

<?php
$fp = tmpfile();
fwrite($fp, 'The quick brown fox jumped over the lazy dog.');
rewind($fp);

$ctx = hash_init('md5');
hash_update_stream($ctx, $fp);
echo hash_final($ctx);
?>

El resultado del ejemplo sería:

5c6ffbdd40d9556b73a21e63c3e0e904

Ver también

  • hash_init() - Inicializa un contexto incremental para cifrar
  • hash_update() - Pega más datos en un contexto incremental de cifrado activo
  • hash_final() - Finaliza un contexto incremental y devuelve el resultado cifrado
  • hash() - Genera un valor cifrado en base a un string
  • hash_file() - Genera un valor cifrado usando el contenido de un fichero dado

hash_update_file
hash_update
Funciones de hash


Pega más datos en un contexto incremental de cifrado activo

hash_update_stream
hash
Funciones de hash
PHP Manual

hash_update

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_update — Pega más datos en un contexto incremental de cifrado activo

Descripción

bool hash_update ( resource $context , string $data )

Parámetros

context

Contexto para cifrado que se obtiene mediante hash_init().

data

Mensaje que se pegará al valor del contexto para cifrar.

Valores devueltos

Returns TRUE.

Ver también

  • hash_init() - Inicializa un contexto incremental para cifrar
  • hash_update_file() - Inyecta datos en un contexto de cifrado activo desde un fichero
  • hash_update_stream() - Pega datos en un contexto de cifrado activo desde un flujo de datos abierto
  • hash_final() - Finaliza un contexto incremental y devuelve el resultado cifrado

hash_update_stream
hash
Funciones de hash


Genera un valor cifrado en base a un string

hash_update
Mcrypt
Funciones de hash
PHP Manual

hash

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash — Genera un valor cifrado en base a un string

Descripción

string hash ( string $algo , string $data [, bool $raw_output = false ] )

Parámetros

algo

Nombre del algoritmo de cifrado seleccionado (es decir "md5", "sha256", "haval160,4", etc..)

data

Mensaje para cifrar.

raw_output

Cuando se establece en TRUE la salida serán datos binarios sin formato, FALSE la salida serán dígitos hexadecimales en minúsculas.

Valores devueltos

Devuelve un string que contiene el mensaje cifrado como dígitos hexadecimales en minúsculas, a menos que raw_output sea establecido en true, en cuyo caso la salida devuelta será el mensaje cifrado como datos binarios sin formato.

Historial de cambios

Versión | Descripción
5.4.0 | El algoritmo tiger ahora utiliza orden big-endian de los bytes.

Ejemplos

Ejemplo #1 Un ejemplo de hash()

<?php
echo hash('ripemd160', 'The quick brown fox jumped over the lazy dog.');
?>

El resultado del ejemplo sería:

ec457d0a974c48d5685a7efa03d137dc8bbde7e3

Ver también

  • hash_file() - Genera un valor cifrado usando el contenido de un fichero dado
  • hash_hmac() - Genera un valor cifrado mediante una clave especificada usando el método HMAC
  • hash_init() - Inicializa un contexto incremental para cifrar
  • md5() - Calcula el hash md5 de un string
  • sha1() - Calcula el hash sha1 de un string

hash_update
Mcrypt
Funciones de hash


Mcrypt

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Cifradores mcrypt
  • Ejemplos
  • Funciones de Mcrypt
    • mcrypt_cbc — Encripta/decripta datos en modo CBC
    • mcrypt_cfb — Encripta/decripta datos en modo CFB
    • mcrypt_create_iv — Crea un vector de inicialización (IV) desde una fuente aleatoria
    • mcrypt_decrypt — Desencripta texto cifrado con los parámetros dados
    • mcrypt_ecb — Obsoleto: Encripta/decripta datos en modo ECB
    • mcrypt_enc_get_algorithms_name — Devuelve el nombre del algoritmo abierto
    • mcrypt_enc_get_block_size — Devuelve el tamaño del bloque del algoritmo abierto
    • mcrypt_enc_get_iv_size — Devuelve el tamaño del IV del algoritmo abierto
    • mcrypt_enc_get_key_size — Devuelve el tamaño de clave máximo soportado por el modo abierto
    • mcrypt_enc_get_modes_name — Devuelve el nombre del modo abierto
    • mcrypt_enc_get_supported_key_sizes — Devuelve un array con los tamaños de clave soportados por el algoritmo abierto
    • mcrypt_enc_is_block_algorithm_mode — Chequea si el cifrado del modo abierto trabaja sobre bloques
    • mcrypt_enc_is_block_algorithm — Chequea si el algoritmo del modo abierto es un algoritmo por bloques
    • mcrypt_enc_is_block_mode — Chequea si el modo abierto retorna bloques
    • mcrypt_enc_self_test — Ejecuta una prueba automática sobre el módulo abierto
    • mcrypt_encrypt — Cifra texto plano con los parámetros dados
    • mcrypt_generic_deinit — Esta función deinicializa un módulo de cifrado
    • mcrypt_generic_end — Esta función termina el cifrado
    • mcrypt_generic_init — Esta función inicializa todos los buffers requeridos para el cifrado
    • mcrypt_generic — Esta función encripta datos
    • mcrypt_get_block_size — Toma el tamaño del bloque del cifrador especificado
    • mcrypt_get_cipher_name — Toma el nombre del cifrador especificado
    • mcrypt_get_iv_size — Devuelve el tamaño del IV perteneciente a una combinación cifrador/modo específica
    • mcrypt_get_key_size — Toma el tamaño de clave del cifrador especificado
    • mcrypt_list_algorithms — Obtiene un array con todos los cifradores soportados
    • mcrypt_list_modes — Obtiene un array con todos los modos soportados
    • mcrypt_module_close — Cierra el módulo mcrypt
    • mcrypt_module_get_algo_block_size — Devuelve el tamaño de bloque del algoritmo especificado
    • mcrypt_module_get_algo_key_size — Devuelve el tamaño de clave máximo soportado por el modo abierto
    • mcrypt_module_get_supported_key_sizes — Devuelve un array con los tamaños de clave soportados del algoritmo abierto
    • mcrypt_module_is_block_algorithm_mode — Devuelve si el módulo especificado es un algoritmo por bloques o no
    • mcrypt_module_is_block_algorithm — Esta función chequea si el algoritmo especificado es un algoritmo por bloques
    • mcrypt_module_is_block_mode — Devuelve si el modo especificado retorna bloques o no
    • mcrypt_module_open — Abre el módulo del algoritmo y el modo a ser utilizados
    • mcrypt_module_self_test — Esta función ejecuta una prueba automática sobre el módulo especificado
    • mcrypt_ofb — Encripta/desencripta datos en modo OFB
    • mdecrypt_generic — Desencripta datos
hash
Introducción
Extensiones criptográficas


Introducción

Esta es una interfaz para la biblioteca mcrypt, que admite una gran variedad de algoritmos de bloques tales como DES, TRipleDES, Blowfish (predeterminado), 3-WAY, SAFER-SK64, SAFER-SK128,TWOFISH, TEA, RC2 y GOST en los modos de cifrado CBC, OFB, CFB y ECB. Además, admite RC6 e IDEA, que son considerados "no libres". CFB/OFB son de 8 bits por defecto.

Mcrypt
Instalación/Configuración
Mcrypt


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Mcrypt


Requerimientos

Estas funciones trabajan utilizando » mcrypt. Para usarla, descargue libmcrypt-x.x.tar.gz desde » http://mcrypt.sourceforge.net/ y siga las instrucciones de instalación incluídas.

A partir de PHP 5.0.0 necesitará libmcrypt Versión 2.5.6 o superior.

Usuarios de Windows encontrarán la biblioteca en los binarios de Windows de PHP 5.2. Los binarios de PHP 5.3 para Windows utilizan la versión estática de la biblioteca Mcrypt, no se necesita de ningún DLL adicional.

Si lo enlaza con libmcrypt 2.4.x o superiores, las siguientes bloques de algoritmos adicionales serán soportados: CAST, LOKI97, RIJNDAEL, SAFERPLUS, SERPENT y los siguientes cifradores de flujo: ENIGMA (crypt), PANAMA, RC4 y WAKE. Con libmcrypt 2.4.x o superiores, otro modo de cifrado está también disponible: nOFB.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Necesita compilar PHP con el parámetro --with-mcrypt[=DIR] para habilitar esta extensión. DIR es el directorio de instalación de mcrypt. Asegúrese de compilar libmcrypt con la opción --disable-posix-threads .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de Mcrypt
Nombre | Por defecto | Cambiable | Historial de cambios
mcrypt.algorithms_dir | NULL | PHP_INI_ALL |
mcrypt.modes_dir | NULL | PHP_INI_ALL |
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

mcrypt.algorithms_dir string

El directorio que contiene los algoritmos. El valor predeterminado es el directorio a través del cual se compiló libmcrypt, que generalmente es /usr/local/lib/libmcrypt. Vea mcrypt_list_algorithms() para detalles adicionales.

mcrypt.modes_dir string

El directorio que contiene los modos. El valor predeterminado es el directorio a través del cual se compiló libmcrypt, que generalmente es /usr/local/lib/libmcrypt. Vea mcrypt_list_modes() para detralles adicionales.

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

mcrypt_module_open() devuelve un descriptor de cifrado.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Mcrypt puede operar en cuatro modos de cifrado de bloques (CBC, OFB, CFB, y ECB). Si está enlazado con libmcrypt-2.4.x o superiores las funciones también pueden operar en el modo de cifrado por bloques nOFB y en modo STREAM. Abajo se listan modo de cifrado soportados junto con las constantes que están definidas para el modo de cifrado. Para una referencia más completa y discusión, véase Applied Cryptography by Schneier (ISBN 0-471-11709-9).

  • MCRYPT_MODE_ECB (electronic codebook) es útil para datos aleatorios, tal como para encriptar otras claves. Dado que los datos son cortos y aleatorios, las desventajas de ECB tienen un efecto negativo favorable.
  • MCRYPT_MODE_CBC (cipher block chaining) es especialmente útil para cifrar archivos donde la seguridad se incrementa significativamente sobre la de ECB.
  • MCRYPT_MODE_CFB (cipher feedback) es el mejor modo de cifrado para secuencias de bytes donde cada byte debe ser encriptado.
  • MCRYPT_MODE_OFB (output feedback, en 8 bits) es comparable a CFB, pero puede ser utilizado en aplicaciones donde la propagación de errores no puede ser tolerada. No es segura (debido a que opera en modo 8 bits) por lo que no es recomendado su uso.
  • MCRYPT_MODE_NOFB (output feedback, in nbit) is comparable to OFB, but more secure because it operates on the block size of the algorithm.
  • MCRYPT_MODE_STREAM es un modo extra para incluir algunos algoritmos de flujo tales como "WAKE" o "RC4".

Algunos otros modos y constantes de dispositivos aleatorios:

MCRYPT_ENCRYPT (integer)
MCRYPT_DECRYPT (integer)
MCRYPT_DEV_RANDOM (integer)
MCRYPT_DEV_URANDOM (integer)
MCRYPT_RAND (integer)

Tipos de recursos
Cifradores mcrypt
Mcrypt


Cifradores mcrypt

Aqui hay una lista de los cifradores que actualmente son soportados por la extensión mcrypt. Para una lista completa de los cifradores soportados, vea los defines al final de mcrypt.h. La regla general con la API de mcrypt-2.2.x es que se puede acceder al cifrador desde PHP con MCRYPT_ciphername. Con la API de libmcrypt-2.4.x y libmcrypt-2.5.x estas constantes también trabajan, pero es posible especificar el nombre del cifrador como una string al invocar a mcrypt_module_open().

  • MCRYPT_3DES
  • MCRYPT_ARCFOUR_IV (solo libmcrypt > 2.4.x)
  • MCRYPT_ARCFOUR (solo libmcrypt > 2.4.x)
  • MCRYPT_BLOWFISH
  • MCRYPT_CAST_128
  • MCRYPT_CAST_256
  • MCRYPT_CRYPT
  • MCRYPT_DES
  • MCRYPT_DES_COMPAT (solo libmcrypt 2.2.x)
  • MCRYPT_ENIGMA (solo libmcrypt > 2.4.x, alias de MCRYPT_CRYPT)
  • MCRYPT_GOST
  • MCRYPT_IDEA (no libre)
  • MCRYPT_LOKI97 (solo libmcrypt > 2.4.x)
  • MCRYPT_MARS (solo libmcrypt > 2.4.x, no libre)
  • MCRYPT_PANAMA (libmcrypt > 2.4.x only)
  • MCRYPT_RIJNDAEL_128 (solo libmcrypt > 2.4.x)
  • MCRYPT_RIJNDAEL_192 (solo libmcrypt > 2.4.x)
  • MCRYPT_RIJNDAEL_256 (solo libmcrypt > 2.4.x)
  • MCRYPT_RC2
  • MCRYPT_RC4 (solo libmcrypt 2.2.x)
  • MCRYPT_RC6 (solo libmcrypt > 2.4.x)
  • MCRYPT_RC6_128 (solo libmcrypt 2.2.x)
  • MCRYPT_RC6_192 (solo libmcrypt 2.2.x)
  • MCRYPT_RC6_256 (solo libmcrypt 2.2.x)
  • MCRYPT_SAFER64
  • MCRYPT_SAFER128
  • MCRYPT_SAFERPLUS (solo libmcrypt > 2.4.x)
  • MCRYPT_SERPENT (solo libmcrypt > 2.4.x)
  • MCRYPT_SERPENT_128 (solo libmcrypt 2.2.x)
  • MCRYPT_SERPENT_192 (solo libmcrypt 2.2.x)
  • MCRYPT_SERPENT_256 (solo libmcrypt 2.2.x)
  • MCRYPT_SKIPJACK (solo libmcrypt > 2.4.x)
  • MCRYPT_TEAN (solo libmcrypt 2.2.x)
  • MCRYPT_THREEWAY
  • MCRYPT_TRIPLEDES (solo libmcrypt > 2.4.x)
  • MCRYPT_TWOFISH (para versiones de mcrypt inferiores a la 2.x, o mcrypt > 2.4.x )
  • MCRYPT_TWOFISH128 (TWOFISHxxx están disponibles en las más recientes versiones 2.x, pero no en las versiones 2.4.x)
  • MCRYPT_TWOFISH192
  • MCRYPT_TWOFISH256
  • MCRYPT_WAKE (solo libmcrypt > 2.4.x)
  • MCRYPT_XTEA (solo libmcrypt > 2.4.x)

Se debe (en modo CFB y OFB) o se puede (en modo CBC) suministrar un vector de inicialización (IV) a la función de cifrado correspondiente. El IV debe ser único y debe ser el mismo cuando cifra/descifra. Con información que es almacenada encriptada, se puede tomar la salida de una función del índice con el que la información es almacenada (por ej., la clave MD5 de un nombre de archivo). Alternativamente, se puede transmitir el IV junto con los datos encriptados (ver el capítulo 9.3 de Applied Cryptography by Schneier (ISBN 0-471-11709-9) para una discusión sobre este tema).

Constantes predefinidas
Ejemplos
Mcrypt


Ejemplos

Mcrypt puede ser utilizada para cifrar y descifrar utilizando los cifradores arriba mencionados. Si enlaza con libmcrypt-2.2.x, los cuatro comandos importantes de mcrypt ( mcrypt_cfb(), mcrypt_cbc(), mcrypt_ecb(), y mcrypt_ofb()) puede operar en ambos modos, los cuales son denominados MCRYPT_ENCRYPT y MCRYPT_DECRYPT, respectivamente.

Si está enlazado con libmcrypt 2.4.x o 2.5.x, estas funciones todavía están disponibles, pero es recomendable que utilice las funciones avanzadas.

Ejemplo #1 Cifrar un valor de entrada con TripleDES bajo 2.4.x y superiores en modo ECB

<?php
    $key = "esta es una palabra secreta";
    $input = "Encontrémonos a las 9 en punto en el escondite.";

    $td = mcrypt_module_open('tripledes', '', 'ecb', '');
    $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
    mcrypt_generic_init($td, $key, $iv);
    $encrypted_data = mcrypt_generic($td, $input);
    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);
?>
Este ejemplo retornará la información cifrada como una string en $encrypted_data. Para ejemplo completos vea mcrypt_module_open().

Cifradores mcrypt
Funciones de Mcrypt
Mcrypt


Funciones de Mcrypt

Tabla de contenidos

  • mcrypt_cbc — Encripta/decripta datos en modo CBC
  • mcrypt_cfb — Encripta/decripta datos en modo CFB
  • mcrypt_create_iv — Crea un vector de inicialización (IV) desde una fuente aleatoria
  • mcrypt_decrypt — Desencripta texto cifrado con los parámetros dados
  • mcrypt_ecb — Obsoleto: Encripta/decripta datos en modo ECB
  • mcrypt_enc_get_algorithms_name — Devuelve el nombre del algoritmo abierto
  • mcrypt_enc_get_block_size — Devuelve el tamaño del bloque del algoritmo abierto
  • mcrypt_enc_get_iv_size — Devuelve el tamaño del IV del algoritmo abierto
  • mcrypt_enc_get_key_size — Devuelve el tamaño de clave máximo soportado por el modo abierto
  • mcrypt_enc_get_modes_name — Devuelve el nombre del modo abierto
  • mcrypt_enc_get_supported_key_sizes — Devuelve un array con los tamaños de clave soportados por el algoritmo abierto
  • mcrypt_enc_is_block_algorithm_mode — Chequea si el cifrado del modo abierto trabaja sobre bloques
  • mcrypt_enc_is_block_algorithm — Chequea si el algoritmo del modo abierto es un algoritmo por bloques
  • mcrypt_enc_is_block_mode — Chequea si el modo abierto retorna bloques
  • mcrypt_enc_self_test — Ejecuta una prueba automática sobre el módulo abierto
  • mcrypt_encrypt — Cifra texto plano con los parámetros dados
  • mcrypt_generic_deinit — Esta función deinicializa un módulo de cifrado
  • mcrypt_generic_end — Esta función termina el cifrado
  • mcrypt_generic_init — Esta función inicializa todos los buffers requeridos para el cifrado
  • mcrypt_generic — Esta función encripta datos
  • mcrypt_get_block_size — Toma el tamaño del bloque del cifrador especificado
  • mcrypt_get_cipher_name — Toma el nombre del cifrador especificado
  • mcrypt_get_iv_size — Devuelve el tamaño del IV perteneciente a una combinación cifrador/modo específica
  • mcrypt_get_key_size — Toma el tamaño de clave del cifrador especificado
  • mcrypt_list_algorithms — Obtiene un array con todos los cifradores soportados
  • mcrypt_list_modes — Obtiene un array con todos los modos soportados
  • mcrypt_module_close — Cierra el módulo mcrypt
  • mcrypt_module_get_algo_block_size — Devuelve el tamaño de bloque del algoritmo especificado
  • mcrypt_module_get_algo_key_size — Devuelve el tamaño de clave máximo soportado por el modo abierto
  • mcrypt_module_get_supported_key_sizes — Devuelve un array con los tamaños de clave soportados del algoritmo abierto
  • mcrypt_module_is_block_algorithm_mode — Devuelve si el módulo especificado es un algoritmo por bloques o no
  • mcrypt_module_is_block_algorithm — Esta función chequea si el algoritmo especificado es un algoritmo por bloques
  • mcrypt_module_is_block_mode — Devuelve si el modo especificado retorna bloques o no
  • mcrypt_module_open — Abre el módulo del algoritmo y el modo a ser utilizados
  • mcrypt_module_self_test — Esta función ejecuta una prueba automática sobre el módulo especificado
  • mcrypt_ofb — Encripta/desencripta datos en modo OFB
  • mdecrypt_generic — Desencripta datos
Ejemplos
mcrypt_cbc
Mcrypt


Encripta/decripta datos en modo CBC

Funciones de Mcrypt
mcrypt_cfb
Funciones de Mcrypt
PHP Manual

mcrypt_cbc

(PHP 4, PHP 5)

mcrypt_cbc — Encripta/decripta datos en modo CBC

Descripción

string mcrypt_cbc ( int $cipher , string $key , string $data , int $mode [, string $iv ] )
string mcrypt_cbc ( string $cipher , string $key , string $data , int $mode [, string $iv ] )

El primer prototipo es cuando está enlazado con libmcrypt 2.2.x, el segundo cuando está enlazado con libmcrypt 2.4.x o superiores. El parámetro mode debería estar presente tanto en MCRYPT_ENCRYPT como en MCRYPT_DECRYPT.

Esta función ya no debería ser utilizada, véase mcrypt_generic() y mdecrypt_generic() para reemplazos.

Advertencia

Esta función ha sido declarada OBSOLETA desde PHP 5.5.0. Su uso está totalmente desaconsejado.

Funciones de Mcrypt
mcrypt_cfb
Funciones de Mcrypt


Encripta/decripta datos en modo CFB

mcrypt_cbc
mcrypt_create_iv
Funciones de Mcrypt
PHP Manual

mcrypt_cfb

(PHP 4, PHP 5)

mcrypt_cfb — Encripta/decripta datos en modo CFB

Descripción

string mcrypt_cfb ( int $cipher , string $key , string $data , int $mode , string $iv )
string mcrypt_cfb ( string $cipher , string $key , string $data , int $mode [, string $iv ] )

El primer prototipo es cuando está enlazado con libmcrypt 2.2.x, el segundo cuando está enlazado con libmcrypt 2.4.x o superiores. El parámetro mode debería estar presente tanto en MCRYPT_ENCRYPT como en MCRYPT_DECRYPT.

Esta función ya no debería ser utilizada, véase mcrypt_generic() y mdecrypt_generic() para reemplazos.

Advertencia

Esta función ha sido declarada OBSOLETA desde PHP 5.5.0. Su uso está totalmente desaconsejado.

mcrypt_cbc
mcrypt_create_iv
Funciones de Mcrypt


Crea un vector de inicialización (IV) desde una fuente aleatoria

mcrypt_cfb
mcrypt_decrypt
Funciones de Mcrypt
PHP Manual

mcrypt_create_iv

(PHP 4, PHP 5)

mcrypt_create_iv — Crea un vector de inicialización (IV) desde una fuente aleatoria

Descripción

string mcrypt_create_iv ( int $size [, int $source = MCRYPT_DEV_RANDOM ] )

Crea un vector de inicialización (IV) desde una fuente aleatoria.

El IV está destinado sólo a proveer una semilla alternativa a las rutinas de cifrado. Este IV no necesita ser secreto en absoluto, aunque ello puede ser deseable. Aún asi se lo puede enviar junto con su texto cifrado sin perder seguridad.

Parámetros

size

El tamaño del IV.

source

La fuente del IV. El parámetro source puede ser MCRYPT_RAND (generador de números aleatorios del sistema), MCRYPT_DEV_RANDOM (lee datos de /dev/random) y MCRYPT_DEV_URANDOM (lee datos de /dev/urandom). Antes de 5.3.0, MCRYPT_RAND era la única soportada en Windows.

Valores devueltos

Devuelve el vector de inicialización, o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.3.0 | MCRYPT_DEV_RANDOM y MCRYPT_DEV_URANDOM se volvieron disponibles en plataformas Windows.
5.3.0 | Ya no se requiere invocar primero a srand(). Esto ahora se realiza de forma automática.

Ejemplos

Ejemplo #1 Ejemplo de mcrypt_create_iv()

<?php
    $size = mcrypt_get_iv_size(MCRYPT_CAST_256, MCRYPT_MODE_CFB);
    $iv = mcrypt_create_iv($size, MCRYPT_DEV_RANDOM);
?>

Ver también

  • » http://www.ciphersbyritter.com/GLOSSARY.HTM#IV
  • » http://www.quadibloc.com/crypto/co0409.htm
  • Capítulo 9.3 de Applied Cryptography by Schneier (ISBN 0-471-11709-9)

mcrypt_cfb
mcrypt_decrypt
Funciones de Mcrypt


Desencripta texto cifrado con los parámetros dados

mcrypt_create_iv
mcrypt_ecb
Funciones de Mcrypt
PHP Manual

mcrypt_decrypt

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_decrypt — Desencripta texto cifrado con los parámetros dados

Descripción

string mcrypt_decrypt ( string $cipher , string $key , string $data , string $mode [, string $iv ] )

Desencripta data y devuelve los datos sin cifrar.

Parámetros

cipher

Una de las constantes MCRYPT_nombredelcifrado, o el nombre del algoritmo como string.

key

La clave con la cual los datos fueron encriptados. Si es más pequeña de lo requerido, se rellena con '\0'.

data

La información que será descifrada con el cifrador y modo dados por los parámetros cipher y mode. Si el tamaño de la información no es n * blocksize, la información será rellenada con '\0'.

mode

Una de las constantes MCRYPT_MODE_nombredelmodo, o una de las siguientes strings: "ecb", "cbc", "cfb", "ofb", "nofb" o "stream".

iv

Utilizado para la inicialización en los modos CBC, CFB, OFB, y en algunos algoritmos en modo STREAM. Si no se proporciona un IV, aunque es necesario para el algoritmo, la función lanza un mensaje de advertencia y utiliza un IV con todos sus bytes establecidos a "\0".

Valores devueltos

Devuelve los datos desencriptados en formato cadena.

mcrypt_create_iv
mcrypt_ecb
Funciones de Mcrypt


Obsoleto: Encripta/decripta datos en modo ECB

mcrypt_decrypt
mcrypt_enc_get_algorithms_name
Funciones de Mcrypt
PHP Manual

mcrypt_ecb

(PHP 4, PHP 5)

mcrypt_ecb — Obsoleto: Encripta/decripta datos en modo ECB

Descripción

string mcrypt_ecb ( int $cipher , string $key , string $data , int $mode )
string mcrypt_ecb ( string $cipher , string $key , string $data , int $mode [, string $iv ] )

El primer prototipo es cuando está enlazado con libmcrypt 2.2.x, el segundo cuando está enlazado con libmcrypt 2.4.x o superiores. El parámetro mode debería estar presente tanto en MCRYPT_ENCRYPT como en MCRYPT_DECRYPT.

Esta función está obsoleta y ya no debería ser utilizada, véase mcrypt_generic() y mdecrypt_generic() para reemplazos.

Advertencia

Esta función ha sido declarada OBSOLETA desde PHP 5.5.0. Su uso está totalmente desaconsejado.

mcrypt_decrypt
mcrypt_enc_get_algorithms_name
Funciones de Mcrypt


Devuelve el nombre del algoritmo abierto

mcrypt_ecb
mcrypt_enc_get_block_size
Funciones de Mcrypt
PHP Manual

mcrypt_enc_get_algorithms_name

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_algorithms_name — Devuelve el nombre del algoritmo abierto

Descripción

string mcrypt_enc_get_algorithms_name ( resource $td )

Esta función devuelve el nombre del algoritmo.

Parámetros

td

El descriptor de cifrado.

Valores devueltos

Devuelve el nombre del algoritmo abierto en formato cadena.

Ejemplos

Ejemplo #1 Ejemplo de mcrypt_enc_get_algorithms_name()

<?php
$td = mcrypt_module_open(MCRYPT_CAST_256, '', MCRYPT_MODE_CFB, '');
echo mcrypt_enc_get_algorithms_name($td). "\n";

$td = mcrypt_module_open('cast-256', '', MCRYPT_MODE_CFB, '');
echo mcrypt_enc_get_algorithms_name($td). "\n";
?>

El resultado del ejemplo sería:

CAST-256
CAST-256

mcrypt_ecb
mcrypt_enc_get_block_size
Funciones de Mcrypt


Devuelve el tamaño del bloque del algoritmo abierto

mcrypt_enc_get_algorithms_name
mcrypt_enc_get_iv_size
Funciones de Mcrypt
PHP Manual

mcrypt_enc_get_block_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_block_size — Devuelve el tamaño del bloque del algoritmo abierto

Descripción

int mcrypt_enc_get_block_size ( resource $td )

Toma el tamaño del bloque del algoritmo abierto.

Parámetros

td

El descriptor de cifrado.

Valores devueltos

Devuelve el tamaño del bloque del algoritmo especificado en bytes.

mcrypt_enc_get_algorithms_name
mcrypt_enc_get_iv_size
Funciones de Mcrypt


Devuelve el tamaño del IV del algoritmo abierto

mcrypt_enc_get_block_size
mcrypt_enc_get_key_size
Funciones de Mcrypt
PHP Manual

mcrypt_enc_get_iv_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_iv_size — Devuelve el tamaño del IV del algoritmo abierto

Descripción

int mcrypt_enc_get_iv_size ( resource $td )

Esta función devuelve el tamaño en bytes del IV del algoritmo especificado por el descriptor de cifrado. Un IV es utilizado en los modos cbc, cfb y ofb, y en algunos algoritmos en modo stream.

Parámetros

td

El descriptor de cifrado.

Valores devueltos

Devuelve el tamaño del IV, o 0 si el IV es ignorado por el algoritmo.

mcrypt_enc_get_block_size
mcrypt_enc_get_key_size
Funciones de Mcrypt


Devuelve el tamaño de clave máximo soportado por el modo abierto

mcrypt_enc_get_iv_size
mcrypt_enc_get_modes_name
Funciones de Mcrypt
PHP Manual

mcrypt_enc_get_key_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_key_size — Devuelve el tamaño de clave máximo soportado por el modo abierto

Descripción

int mcrypt_enc_get_key_size ( resource $td )

Toma el tamaño de clave máximo soportado por el algoritmo en bytes.

Parámetros

td

El descriptor de cifrado.

Valores devueltos

Devuelve el tamaño de clave máximo soportado por el algoritmo en bytes.

mcrypt_enc_get_iv_size
mcrypt_enc_get_modes_name
Funciones de Mcrypt


Devuelve el nombre del modo abierto

mcrypt_enc_get_key_size
mcrypt_enc_get_supported_key_sizes
Funciones de Mcrypt
PHP Manual

mcrypt_enc_get_modes_name

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_modes_name — Devuelve el nombre del modo abierto

Descripción

string mcrypt_enc_get_modes_name ( resource $td )

Esta función devuelve el nombre del modo.

Parámetros

td

El descriptor de cifrado.

Valores devueltos

Devuelve el nombre en formato cadena.

Ejemplos

Ejemplo #1 Ejemplo de mcrypt_enc_get_modes_name()

<?php
$td = mcrypt_module_open (MCRYPT_CAST_256, '', MCRYPT_MODE_CFB, '');
echo mcrypt_enc_get_modes_name($td). "\n";

$td = mcrypt_module_open ('cast-256', '', 'ecb', '');
echo mcrypt_enc_get_modes_name($td). "\n";
?>

El resultado del ejemplo sería:

CFB
ECB

mcrypt_enc_get_key_size
mcrypt_enc_get_supported_key_sizes
Funciones de Mcrypt


Devuelve un array con los tamaños de clave soportados por el algoritmo abierto

mcrypt_enc_get_modes_name
mcrypt_enc_is_block_algorithm_mode
Funciones de Mcrypt
PHP Manual

mcrypt_enc_get_supported_key_sizes

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_supported_key_sizes — Devuelve un array con los tamaños de clave soportados por el algoritmo abierto

Descripción

array mcrypt_enc_get_supported_key_sizes ( resource $td )

Toma los tamaños de clave soportados por el algoritmo abierto.

Parámetros

td

El descriptor de cifrado.

Valores devueltos

Devuelve un array con los tamaños de clave soportados por el algoritmo especificado por el descriptor de cifrado. Si devuelve un array vacío es porque todos los tamaños de clave entre 1 y mcrypt_enc_get_key_size() son soportados por el algoritmo.

Ejemplos

Ejemplo #1 Ejemplo de mcrypt_enc_get_supported_key_sizes()

<?php
    $td = mcrypt_module_open('rijndael-256', '', 'ecb', '');
    var_dump(mcrypt_enc_get_supported_key_sizes($td));
?>

El resultado del ejemplo sería:

array(3) {
  [0]=>
  int(16)
  [1]=>
  int(24)
  [2]=>
  int(32)
}

mcrypt_enc_get_modes_name
mcrypt_enc_is_block_algorithm_mode
Funciones de Mcrypt


Chequea si el cifrado del modo abierto trabaja sobre bloques

mcrypt_enc_get_supported_key_sizes
mcrypt_enc_is_block_algorithm
Funciones de Mcrypt
PHP Manual

mcrypt_enc_is_block_algorithm_mode

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_is_block_algorithm_mode — Chequea si el cifrado del modo abierto trabaja sobre bloques

Descripción

bool mcrypt_enc_is_block_algorithm_mode ( resource $td )

Dice si el algoritmo del modo abierto trabaja sobre bloques (por ej., FALSE para stream, y TRUE para cbc, cfb, ofb).

Parámetros

td

El descriptor de cifrado.

Valores devueltos

Devuelve TRUE si el modo es para ser utilizado con algoritmos por bloques, de lo contrario devuelve FALSE.

mcrypt_enc_get_supported_key_sizes
mcrypt_enc_is_block_algorithm
Funciones de Mcrypt


Chequea si el algoritmo del modo abierto es un algoritmo por bloques

mcrypt_enc_is_block_algorithm_mode
mcrypt_enc_is_block_mode
Funciones de Mcrypt
PHP Manual

mcrypt_enc_is_block_algorithm

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_is_block_algorithm — Chequea si el algoritmo del modo abierto es un algoritmo por bloques

Descripción

bool mcrypt_enc_is_block_algorithm ( resource $td )

Dice si el algoritmo del modo abierto es un algoritmo por bloques.

Parámetros

td

El descriptor de cifrado.

Valores devueltos

Devuelve TRUE si el algoritmo es un algoritmo por bloques o FALSE si es uno de flujo.

mcrypt_enc_is_block_algorithm_mode
mcrypt_enc_is_block_mode
Funciones de Mcrypt


Chequea si el modo abierto retorna bloques

mcrypt_enc_is_block_algorithm
mcrypt_enc_self_test
Funciones de Mcrypt
PHP Manual

mcrypt_enc_is_block_mode

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_is_block_mode — Chequea si el modo abierto retorna bloques

Descripción

bool mcrypt_enc_is_block_mode ( resource $td )

Dice si el modo abierto retorna bloques (por ej., TRUE para cbc y ecb, y FALSE para cfb y stream).

Parámetros

td

El descriptor de cifrado.

Valores devueltos

Devuelve TRUE si el modo retorna bloques de bytes, o FALSE si retorna solo bytes.

mcrypt_enc_is_block_algorithm
mcrypt_enc_self_test
Funciones de Mcrypt


Ejecuta una prueba automática sobre el módulo abierto

mcrypt_enc_is_block_mode
mcrypt_encrypt
Funciones de Mcrypt
PHP Manual

mcrypt_enc_self_test

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_self_test — Ejecuta una prueba automática sobre el módulo abierto

Descripción

int mcrypt_enc_self_test ( resource $td )

Esta función ejecuta la prueba automática sobre el algoritmo especificado a través del descriptor td.

Parámetros

td

El descriptor de cifrado.

Valores devueltos

Si el test automático resulta satisfactorio, devuelve FALSE. En caso de error, devuelve TRUE.

mcrypt_enc_is_block_mode
mcrypt_encrypt
Funciones de Mcrypt


Cifra texto plano con los parámetros dados

mcrypt_enc_self_test
mcrypt_generic_deinit
Funciones de Mcrypt
PHP Manual

mcrypt_encrypt

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_encrypt — Cifra texto plano con los parámetros dados

Descripción

string mcrypt_encrypt ( string $cipher , string $key , string $data , string $mode [, string $iv ] )

Cifra los datos y los devuelve.

Parámetros

cipher

Una de las constantes MCRYPT_nombredelcifrado, o el nombre del algoritmo como string.

key

La clave con la que los datos serán cifrados. Si es más pequeña de lo requerido, se rellena con '\0'. Es mejor no utilizar cadenas ASCII para claves.

Es recomendable utilizar las funciones mhash para crear una clave desde una cadena.

data

Los datos que serán cifrados con el cifrador y modo dados a través de cipher y mode. Si el tamaño de la información no es n * blocksize, ésta será rellenada con '\0'.

El texto cifrado devuelto puede ser mayor al tamaño de datos que fue especificado por el parámetro data.

mode

Una de las constantes MCRYPT_MODE_nombredelmodo, o una de las siguientes strings: "ecb", "cbc", "cfb", "ofb", "nofb" o "stream".

iv

Utilizado para la inicialización en los modos CBC, CFB, OFB, y en algunos algoritmos en modo STREAM. Si no se proporciona un IV, aunque es necesario para el algoritmo, la función lanza un mensaje de advertencia y utiliza un IV con todos sus bytes establecidos a "\0".

Valores devueltos

Devuelve los datos cifrados, en formato cadena.

Ejemplos

Ejemplo #1 Ejemplo de mcrypt_encrypt()

<?php
    $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
    $key = "Esta es una clave muy secreta";
    $text = "Encuéntrame a las 11 en punto detrás del monumento.";
    echo strlen($text) . "\n";

    $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
    echo strlen($crypttext) . "\n";
?>

El resultado del ejemplo sería:

42
64

Véase también mcrypt_module_open() para una API más avanzada y un ejemplo.

mcrypt_enc_self_test
mcrypt_generic_deinit
Funciones de Mcrypt


Esta función deinicializa un módulo de cifrado

mcrypt_encrypt
mcrypt_generic_end
Funciones de Mcrypt
PHP Manual

mcrypt_generic_deinit

(PHP 4 >= 4.0.7, PHP 5)

mcrypt_generic_deinit — Esta función deinicializa un módulo de cifrado

Descripción

bool mcrypt_generic_deinit ( resource $td )

Esta función termina el cifrado especificado a través del descriptor de cifrado (el parámetro td). Limpia todos los buffers, pero no cierra el módulo. Se necesita invocar a mcrypt_module_close() para cerrarlo. (Aunque PHP hace esto al final del script).

Parámetros

td

El descriptor de cifrado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • mcrypt_module_open() - Abre el módulo del algoritmo y el modo a ser utilizados
  • mcrypt_generic_init() - Esta función inicializa todos los buffers requeridos para el cifrado

mcrypt_encrypt
mcrypt_generic_end
Funciones de Mcrypt


Esta función termina el cifrado

mcrypt_generic_deinit
mcrypt_generic_init
Funciones de Mcrypt
PHP Manual

mcrypt_generic_end

(PHP 4 >= 4.0.2, PHP 5 <= 5.1.6)

mcrypt_generic_end — Esta función termina el cifrado

Descripción

bool mcrypt_generic_end ( resource $td )

Advertencia

Esta función es obsoleta, utilice en su lugar a mcrypt_generic_deinit(). Puede causar errores inesperados cuando se utiliza con mcrypt_module_close() debido a la liberación de múltiples buffers.

Esta función termina con el cifrado esecificado por el descriptor de cifrado (el parámetro td). En realidad limpia todos los buffers y cierra los módulos utilizados. Devuelve FALSE en caso de error, o TRUE en caso de éxito.

mcrypt_generic_deinit
mcrypt_generic_init
Funciones de Mcrypt


Esta función inicializa todos los buffers requeridos para el cifrado

mcrypt_generic_end
mcrypt_generic
Funciones de Mcrypt
PHP Manual

mcrypt_generic_init

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_generic_init — Esta función inicializa todos los buffers requeridos para el cifrado

Descripción

int mcrypt_generic_init ( resource $td , string $key , string $iv )

Se necesita invocar esta función antes de cada llamada a mcrypt_generic() o mdecrypt_generic().

Parámetros

td

El descriptor de cifrado.

key

La longitud máxima de la clave debería ser la misma obtenida al invocar a mcrypt_enc_get_key_size() y todos los valores menores son legales.

iv

El IV debería tener normalmente el tamaño del bloque del algoritmo, pero debe obtener el tamaño tras invocar a mcrypt_enc_get_iv_size(). El IV es ignorado en modo ECB. El IV DEBE existir en modo CFB, CBC, STREAM, nOFB Y OFB. Requiere ser aleatorio y único (pero no secreto). El mismo IV debe ser utilizado para el cifrado/desencriptado. Si no se desea usarlo se debería setearlo con ceros, pero no es recomendado.

Valores devueltos

Esta función devuelve un valor negativo en caso de error: -3 cuando la longitud es incorrecta, -4 cuando hubo un problema de asignación de memoria y todos los demás valores retornados son errores desconocidos. Si ocurre un error, se imprimirá el correspondiente warning. FALSE es devueto si fueron pasados argumentos incorrectos.

Ver también

  • mcrypt_module_open() - Abre el módulo del algoritmo y el modo a ser utilizados

mcrypt_generic_end
mcrypt_generic
Funciones de Mcrypt


Esta función encripta datos

mcrypt_generic_init
mcrypt_get_block_size
Funciones de Mcrypt
PHP Manual

mcrypt_generic

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_generic — Esta función encripta datos

Descripción

string mcrypt_generic ( resource $td , string $data )

Esta función encripta datos. Estos datos son rellenados con "\0" para asegurarse de que la longitud de los datos sea n * blocksize. Esta función devuelve los datos cifrados. Note que la longitud de la cadena devuelta puede ser más larga que la de entrada, debido al relleno de la información.

Si se desea almacenar los datos en una base de datos se debe asegurar que la cadena completa retornada por mcrypt_generic se almacene, o la cadena no será desencriptada apropiadamente. Si la cadena original tiene una longitud de 10 caracteres, y el tamaño del bloque es 8 (utilice mcrypt_enc_get_block_size() para determinar el tamaño del bloque), serán necerarios al menos 16 caracteres en el campo de su base de datos. Tenga en cuenta que la cadena devuelta por mdecrypt_generic() será también de 16 caracteres. Utilice rtrim($str, "\0") para remover el relleno.

Si se está, por ejemplo, almacenando los datos en una base de datos MySQL, se debe tener en cuenta que durante la inserción en campos varchar, los espacios finales son removidos. Ya que la información cifrada puede finalizar con un espacio (ASCII 32), los datos serán dañados por esta remoción. En cambio, almacene los datos en un campo tinyblob/tinytext (o mayor).

Parámetros

td

El descriptor de cifrado.

El gestor de cifrado debería siempre ser inicializado con mcrypt_generic_init() con una clave y un IV antes de invocar a esta función. Cuando el cifrado haya terminado, se debería liberar los buffers de cifrado al invocar a mcrypt_generic_deinit() Véase mcrypt_module_open() para un ejemplo.

data

Los datos a encriptar.

Valores devueltos

Devuelve la información cifrada.

Ver también

  • mdecrypt_generic() - Desencripta datos
  • mcrypt_generic_init() - Esta función inicializa todos los buffers requeridos para el cifrado
  • mcrypt_generic_deinit() - Esta función deinicializa un módulo de cifrado

mcrypt_generic_init
mcrypt_get_block_size
Funciones de Mcrypt


Toma el tamaño del bloque del cifrador especificado

mcrypt_generic
mcrypt_get_cipher_name
Funciones de Mcrypt
PHP Manual

mcrypt_get_block_size

(PHP 4, PHP 5)

mcrypt_get_block_size — Toma el tamaño del bloque del cifrador especificado

Descripción

int mcrypt_get_block_size ( int $cipher )
int mcrypt_get_block_size ( string $cipher , string $mode )

El primer prototipo es cuando se enlaza con libmcrypt 2.2.x, el segundo cuando se enlaza con libmcrypt 2.4.x o 2.5.x.

mcrypt_get_block_size() es utilizada para tomar el tamaño de un bloque del cifrador especificado a través de cipher (en combinación con un modo de algoritmo).

Es más útil utilizar la función mcrypt_enc_get_block_size() ya que ésta última utiliza el valor resource devuelto por mcrypt_module_open().

Parámetros

cipher

Una de las constantes MCRYPT_nombredelcifrado, o el nombre del algoritmo como string.

mode

Una de las constantes MCRYPT_MODE_nombredelmodo, o una de las siguientes strings: "ecb", "cbc", "cfb", "ofb", "nofb" o "stream".

Valores devueltos

Toma el tamaño del bloque, como un entero.

Ejemplos

Ejemplo #1 Ejemplo de mcrypt_get_block_size()

Este ejemplo muestra cómo utilizar ésta función cuando está enlazada con libmcrypt 2.4.x y 2.5.x.

<?php

echo mcrypt_get_block_size('tripledes', 'ecb'); // 8

?>

Ver también

  • mcrypt_get_key_size() - Toma el tamaño de clave del cifrador especificado
  • mcrypt_enc_get_block_size() - Devuelve el tamaño del bloque del algoritmo abierto
  • mcrypt_encrypt() - Cifra texto plano con los parámetros dados

mcrypt_generic
mcrypt_get_cipher_name
Funciones de Mcrypt


Toma el nombre del cifrador especificado

mcrypt_get_block_size
mcrypt_get_iv_size
Funciones de Mcrypt
PHP Manual

mcrypt_get_cipher_name

(PHP 4, PHP 5)

mcrypt_get_cipher_name — Toma el nombre del cifrador especificado

Descripción

string mcrypt_get_cipher_name ( int $cipher )
string mcrypt_get_cipher_name ( string $cipher )

mcrypt_get_cipher_name() es utilizada para tomar el nombre del cifrador especificado.

mcrypt_get_cipher_name() toma el número del cifrador como un argumento (libmcrypt 2.2.x) o toma el nombre del cifrador como un argumento (libmcrypt 2.4.x o superiores) y devuelve el nombre del cifrador o FALSE si el cifrador no existe.

Parámetros

cipher

Una de las constantes MCRYPT_nombredelcifrado, o el nombre del algoritmo como string.

Valores devueltos

Esta función devuelve el nombre del cifrador o FALSE si el cifrador no existe.

Ejemplos

Ejemplo #1 Ejemplo de mcrypt_get_cipher_name()

<?php
   $cipher = MCRYPT_TripleDES;

   echo mcrypt_get_cipher_name($cipher);
?>

El resultado del ejemplo sería:

3DES

mcrypt_get_block_size
mcrypt_get_iv_size
Funciones de Mcrypt


Devuelve el tamaño del IV perteneciente a una combinación cifrador/modo específica

mcrypt_get_cipher_name
mcrypt_get_key_size
Funciones de Mcrypt
PHP Manual

mcrypt_get_iv_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_get_iv_size — Devuelve el tamaño del IV perteneciente a una combinación cifrador/modo específica

Descripción

int mcrypt_get_iv_size ( string $cipher , string $mode )

Toma el tamaño del IV perteneciente a una combinación específica de los parámetros cipher/mode.

Es más útil utilizar la función mcrypt_enc_get_iv_size() debido a que ésta última hace uso del valor resource devuelto por mcrypt_module_open().

Parámetros

cipher

Una de las constantes MCRYPT_nombredelcifrado, o el nombre del algoritmo como string.

mode

Una de las constantes MCRYPT_MODE_nombredelmodo, o una de las siguientes strings: "ecb", "cbc", "cfb", "ofb", "nofb" o "stream".

El IV es ignorado en modo ECB ya que este modo no lo necesita. Necesitará tener el mismo IV (piense: punto de partida) para tanto la etapa de cifrado como la de desencriptación, de lo contrario la encriptación fallará.

Valores devueltos

Devuelve el tamaño del vector de inicialización (IV) en bytes. En caso de error la función devuelve FALSE. Si el IV es ignorado en la combinación cifrador/modo especificada el valor devuelto es cero.

Ejemplos

Ejemplo #1 Ejemplo de mcrypt_get_iv_size()

<?php
    echo mcrypt_get_iv_size(MCRYPT_CAST_256, MCRYPT_MODE_CFB) . "\n";

    echo mcrypt_get_iv_size('des', 'ecb') . "\n";
?>

Ver también

  • mcrypt_get_block_size() - Toma el tamaño del bloque del cifrador especificado
  • mcrypt_enc_get_iv_size() - Devuelve el tamaño del IV del algoritmo abierto
  • mcrypt_create_iv() - Crea un vector de inicialización (IV) desde una fuente aleatoria

mcrypt_get_cipher_name
mcrypt_get_key_size
Funciones de Mcrypt


Toma el tamaño de clave del cifrador especificado

mcrypt_get_iv_size
mcrypt_list_algorithms
Funciones de Mcrypt
PHP Manual

mcrypt_get_key_size

(PHP 4, PHP 5)

mcrypt_get_key_size — Toma el tamaño de clave del cifrador especificado

Descripción

int mcrypt_get_key_size ( int $cipher )
int mcrypt_get_key_size ( string $cipher , string $mode )

El primer prototipo es cuando está enlazado con libmcrypt 2.2.x, el segundo cuando está enlazado con libmcrypt 2.4.x o 2.5.x.

mcrypt_get_key_size() es utilizada para tomar el tamaño de la clave del cifrador especificado con el parámetro cipher (en combinación con un modo de cifrado).

Es más útil usar la función mcrypt_enc_get_key_size() ya que ésta última hace uso del valor resource devuelto por mcrypt_module_open().

Parámetros

cipher

Una de las constantes MCRYPT_nombredelcifrado, o el nombre del algoritmo como string.

mode

Una de las constantes MCRYPT_MODE_nombredelmodo, o una de las siguientes strings: "ecb", "cbc", "cfb", "ofb", "nofb" o "stream".

Valores devueltos

Devuelve el tamaño máximo soportado de la clave del algoritmo en bytes o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de mcrypt_get_key_size()

<?php
    echo mcrypt_get_key_size('tripledes', 'ecb');
?>

Este ejemplo anterior muestra cómo utilizar esta función cuando está enlazada con libmcrypt 2.4.x o 2.5.x.

El resultado del ejemplo sería:

24

Ver también

  • mcrypt_get_block_size() - Toma el tamaño del bloque del cifrador especificado
  • mcrypt_enc_get_key_size() - Devuelve el tamaño de clave máximo soportado por el modo abierto
  • mcrypt_encrypt() - Cifra texto plano con los parámetros dados

mcrypt_get_iv_size
mcrypt_list_algorithms
Funciones de Mcrypt


Obtiene un array con todos los cifradores soportados

mcrypt_get_key_size
mcrypt_list_modes
Funciones de Mcrypt
PHP Manual

mcrypt_list_algorithms

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_list_algorithms — Obtiene un array con todos los cifradores soportados

Descripción

array mcrypt_list_algorithms ([ string $lib_dir = ini_get("mcrypt.algorithms_dir") ] )

Obtiene una lista de todos los algoritmos soportados en el parámetro lib_dir.

Parámetros

lib_dir

Especifica el directorio donde todos los algoritmos están ubicados. Si no se especifica, se utiliza el valor de la directiva mcrypt.algorithms_dir del fichero php.ini.

Valores devueltos

Devuelve un array con todos los algoritmos soportados.

Ejemplos

Ejemplo #1 Ejemplo de mcrypt_list_algorithms()

<?php
    $algorithms = mcrypt_list_algorithms("/usr/local/lib/libmcrypt");

    foreach ($algorithms as $cipher) {
        echo "$cipher<br />\n";
    }
?>

El ejemplo anterior produrirá una lista con todos los algoritmos soportados en el directorio "/usr/local/lib/libmcrypt".

mcrypt_get_key_size
mcrypt_list_modes
Funciones de Mcrypt


Obtiene un array con todos los modos soportados

mcrypt_list_algorithms
mcrypt_module_close
Funciones de Mcrypt
PHP Manual

mcrypt_list_modes

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_list_modes — Obtiene un array con todos los modos soportados

Descripción

array mcrypt_list_modes ([ string $lib_dir = ini_get("mcrypt.modes_dir") ] )

Obtiene una lista de todos modos soportados por el parámetro lib_dir.

Parámetros

lib_dir

Especifica el directorio donde todos los modos están ubicados. Si no se especifica, se utiliza el valor de la directiva mcrypt.modes_dir del fichero php.ini.

Valores devueltos

Devuelve un array con todos los modos soportados.

Ejemplos

Ejemplo #1 Ejemplo de mcrypt_list_modes()

<?php
    $modes = mcrypt_list_modes();

    foreach ($modes as $mode) {
        echo "$mode <br />\n";
    }
?>

El ejemplo anterior producirá una lista con todos los algoritmos soportados en el directorio de modos por defecto. Si no es seteado con la directiva mcrypt.modes_dir del fichero php.ini, se utiliza el directorio por defecto de mcrypt (que es /usr/local/lib/libmcrypt).

mcrypt_list_algorithms
mcrypt_module_close
Funciones de Mcrypt


Cierra el módulo mcrypt

mcrypt_list_modes
mcrypt_module_get_algo_block_size
Funciones de Mcrypt
PHP Manual

mcrypt_module_close

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_close — Cierra el módulo mcrypt

Descripción

bool mcrypt_module_close ( resource $td )

Cierra el gestor de cifrado especificado.

Parámetros

td

El descriptor de cifrado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • mcrypt_module_open() - Abre el módulo del algoritmo y el modo a ser utilizados

mcrypt_list_modes
mcrypt_module_get_algo_block_size
Funciones de Mcrypt


Devuelve el tamaño de bloque del algoritmo especificado

mcrypt_module_close
mcrypt_module_get_algo_key_size
Funciones de Mcrypt
PHP Manual

mcrypt_module_get_algo_block_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_get_algo_block_size — Devuelve el tamaño de bloque del algoritmo especificado

Descripción

int mcrypt_module_get_algo_block_size ( string $algorithm [, string $lib_dir ] )

Toma el tamaño de bloque del algoritmo especificado.

Parámetros

algorithm

El nombre del algoritmo.

lib_dir

Este parámetro opcional puede contener la ubicación donde el módulo de modos se encuentra dentro del sistema.

Valores devueltos

Devuelve el tamaño de bloque del algoritmo especificado en bytes.

mcrypt_module_close
mcrypt_module_get_algo_key_size
Funciones de Mcrypt


Devuelve el tamaño de clave máximo soportado por el modo abierto

mcrypt_module_get_algo_block_size
mcrypt_module_get_supported_key_sizes
Funciones de Mcrypt
PHP Manual

mcrypt_module_get_algo_key_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_get_algo_key_size — Devuelve el tamaño de clave máximo soportado por el modo abierto

Descripción

int mcrypt_module_get_algo_key_size ( string $algorithm [, string $lib_dir ] )

Toma el tamaño de clave máximo soportado por el modo abierto.

Parámetros

algorithm

El nombre del algoritmo.

lib_dir

Este parámetro opcional puede contener la ubicación donde el módulo de modos se encuentra dentro del sistema.

Valores devueltos

Esta función devuelve el tamaño de clave máximo soportado por el algoritmo especificado en bytes.

mcrypt_module_get_algo_block_size
mcrypt_module_get_supported_key_sizes
Funciones de Mcrypt


Devuelve un array con los tamaños de clave soportados del algoritmo abierto

mcrypt_module_get_algo_key_size
mcrypt_module_is_block_algorithm_mode
Funciones de Mcrypt
PHP Manual

mcrypt_module_get_supported_key_sizes

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_get_supported_key_sizes — Devuelve un array con los tamaños de clave soportados del algoritmo abierto

Descripción

array mcrypt_module_get_supported_key_sizes ( string $algorithm [, string $lib_dir ] )

Devuelve un array con los tamaños de clave soportados por el algoritmo especificado Si devuelve un array vacío es porque todos los tamaños de clave entre 1 y mcrypt_module_get_algo_key_size() son soportados por el algoritmo.

Parámetros

algorithm

El algoritmo a ser utilizado.

lib_dir

El parámetro opcional lib_dir puede contener la ubicación donde el módulo de algoritmos se encuentra dentro del sistema.

Valores devueltos

Devuelve un array con los tamaños de clave soportados por el algoritmo especificado Si devuelve un array vacío es porque todos los tamaños de clave entre 1 y mcrypt_module_get_algo_key_size() son soportados por el algoritmo.

Ver también

  • mcrypt_enc_get_supported_key_sizes() - Devuelve un array con los tamaños de clave soportados por el algoritmo abierto

mcrypt_module_get_algo_key_size
mcrypt_module_is_block_algorithm_mode
Funciones de Mcrypt


Devuelve si el módulo especificado es un algoritmo por bloques o no

mcrypt_module_get_supported_key_sizes
mcrypt_module_is_block_algorithm
Funciones de Mcrypt
PHP Manual

mcrypt_module_is_block_algorithm_mode

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_is_block_algorithm_mode — Devuelve si el módulo especificado es un algoritmo por bloques o no

Descripción

bool mcrypt_module_is_block_algorithm_mode ( string $mode [, string $lib_dir ] )

Esta función devuelve TRUE si el modo especificado es para ser utilizado con algoritmos por bloques, o de lo contrario devuelve FALSE. (por ej., FALSE para stream, y TRUE para cbc, cfb, ofb).

Parámetros

mode

El modo a chequear.

lib_dir

El parámetro opcional lib_dir puede contener la ubicación donde el módulo de algoritmos se encuentra dentro del sistema.

Valores devueltos

Esta función devuelve TRUE si el modo especificado es para ser utilizado con algoritmos por bloques, o de lo contrario devuelve FALSE. (por ej., FALSE para stream, y TRUE para cbc, cfb, ofb).

mcrypt_module_get_supported_key_sizes
mcrypt_module_is_block_algorithm
Funciones de Mcrypt


Esta función chequea si el algoritmo especificado es un algoritmo por bloques

mcrypt_module_is_block_algorithm_mode
mcrypt_module_is_block_mode
Funciones de Mcrypt
PHP Manual

mcrypt_module_is_block_algorithm

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_is_block_algorithm — Esta función chequea si el algoritmo especificado es un algoritmo por bloques

Descripción

bool mcrypt_module_is_block_algorithm ( string $algorithm [, string $lib_dir ] )

Esta función devuelve TRUE si el algoritmo especificado es un algoritmo por bloques, o FALSE si es uno de flujo.

Parámetros

algorithm

El algoritmo a chequear.

lib_dir

El parámetro opcional lib_dir puede contener la ubicación donde el módulo de algoritmos se encuentra dentro del sistema.

Valores devueltos

Esta función devuelve TRUE si el algoritmo especificado es un algoritmo por bloques, o FALSE si es uno de flujo.

mcrypt_module_is_block_algorithm_mode
mcrypt_module_is_block_mode
Funciones de Mcrypt


Devuelve si el modo especificado retorna bloques o no

mcrypt_module_is_block_algorithm
mcrypt_module_open
Funciones de Mcrypt
PHP Manual

mcrypt_module_is_block_mode

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_is_block_mode — Devuelve si el modo especificado retorna bloques o no

Descripción

bool mcrypt_module_is_block_mode ( string $mode [, string $lib_dir ] )

Esta función devuelve TRUE si el modo especificado retorna bloques de bytes o FALSE si retorna tan solo bytes. (por ej., TRUE para cbc y ecb, y FALSE para cfb y stream).

Parámetros

mode

Una de las constantes MCRYPT_MODE_nombredelmodo, o una de las siguientes strings: "ecb", "cbc", "cfb", "ofb", "nofb" o "stream".

lib_dir

El parámetro opcional lib_dir puede contener la ubicación donde el módulo de algoritmos se encuentra dentro del sistema.

Valores devueltos

Esta función devuelve TRUE si el modo especificado retorna bloques de bytes o FALSE si retorna tan solo bytes. (por ej., TRUE para cbc y ecb, y FALSE para cfb y stream).

mcrypt_module_is_block_algorithm
mcrypt_module_open
Funciones de Mcrypt


Abre el módulo del algoritmo y el modo a ser utilizados

mcrypt_module_is_block_mode
mcrypt_module_self_test
Funciones de Mcrypt
PHP Manual

mcrypt_module_open

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_open — Abre el módulo del algoritmo y el modo a ser utilizados

Descripción

resource mcrypt_module_open ( string $algorithm , string $algorithm_directory , string $mode , string $mode_directory )

Esta función abre el módulo del algoritmo y el modo a ser utilizados. El nombre del algoritmo es especificado en algorithm, por ejemplo "twofish" o una de las constantes MCRYPT_ciphername. El módulo es cerrado al invocar a mcrypt_module_close().

Parámetros

algorithm

Una de las constantes MCRYPT_nombredelcifrado, o el nombre del algoritmo como string.

algorithm_directory

El parámetro algorithm_directory se utiliza para ubicar el módulo de encriptación. Cuando se pasa un nombre de directorio, es utilizado. Cuando se pasa una cadena vacía (""), se utiliza el valor configurado en la directiva mcrypt.algorithms_dir del fichero php.ini. Cuando no se pasa nada, el directorio por defecto que se utiliza es en el que libmcrypt fue compilado (generalmente /usr/local/lib/libmcrypt).

mode

Una de las constantes MCRYPT_MODE_nombredelmodo, o una de las siguientes strings: "ecb", "cbc", "cfb", "ofb", "nofb" o "stream".

mode_directory

El parámetro mode_directory se utiliza para ubicar el módulo de encriptación. Cuando se pasa un nombre de directorio, es utilizado. Cuando se pasa una cadena vacía (""), se utiliza el valor configurado en la directiva mcrypt.modes_dir del fichero php.ini. Cuando no se pasa nada, el directorio por defecto que se utiliza es en el que libmcrypt fue compilado (generalmente /usr/local/lib/libmcrypt).

Valores devueltos

Normalmente devuelve un descriptor de cifrado, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de mcrypt_module_open()

<?php
    $td = mcrypt_module_open(MCRYPT_DES, '',
        MCRYPT_MODE_ECB, '/usr/lib/mcrypt-modes');

    $td = mcrypt_module_open('rijndael-256', '', 'ofb', '');
?>

La primer línea del ejemplo anterior intentará abrir el cifrador DES desde el directorio por defecto y el modo ECB desde el directorio /usr/lib/mcrypt-modes. El segundo ejemplo utiliza cadenas como nombres para el cifrador y el modo, esto solo funciona cuando la extensión está enlazado con libmcrypt 2.4.x o 2.5.x.

Ejemplo #2 Utilizando mcrypt_module_open() en el proceso de cifrado

<?php
    /* Open the cipher */
    $td = mcrypt_module_open('rijndael-256', '', 'ofb', '');

    /* Create the IV and determine the keysize length, use MCRYPT_RAND
     * on Windows instead */
    $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_RANDOM);
    $ks = mcrypt_enc_get_key_size($td);

    /* Create key */
    $key = substr(md5('very secret key'), 0, $ks);

    /* Intialize encryption */
    mcrypt_generic_init($td, $key, $iv);

    /* Encrypt data */
    $encrypted = mcrypt_generic($td, 'This is very important data');

    /* Terminate encryption handler */
    mcrypt_generic_deinit($td);

    /* Initialize encryption module for decryption */
    mcrypt_generic_init($td, $key, $iv);

    /* Decrypt encrypted string */
    $decrypted = mdecrypt_generic($td, $encrypted);

    /* Terminate decryption handle and close module */
    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);

    /* Show string */
    echo trim($decrypted) . "\n";
?>

Ver también

  • mcrypt_module_close() - Cierra el módulo mcrypt
  • mcrypt_generic() - Esta función encripta datos
  • mdecrypt_generic() - Desencripta datos
  • mcrypt_generic_init() - Esta función inicializa todos los buffers requeridos para el cifrado
  • mcrypt_generic_deinit() - Esta función deinicializa un módulo de cifrado

mcrypt_module_is_block_mode
mcrypt_module_self_test
Funciones de Mcrypt


Esta función ejecuta una prueba automática sobre el módulo especificado

mcrypt_module_open
mcrypt_ofb
Funciones de Mcrypt
PHP Manual

mcrypt_module_self_test

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_self_test — Esta función ejecuta una prueba automática sobre el módulo especificado

Descripción

bool mcrypt_module_self_test ( string $algorithm [, string $lib_dir ] )

Esta función ejecuta la prueba automática sobre el algoritmo especificado.

Parámetros

algorithm

Una de las constantes MCRYPT_nombredelcifrado, o el nombre del algoritmo como string.

lib_dir

El parámetro opcional lib_dir puede contener la ubicación donde el módulo de algoritmos se encuentra dentro del sistema.

Valores devueltos

Esta fucnión devuelve TRUE si la prueba automática es exitosa, o FALSE cuando falla.

Ejemplos

Ejemplo #1 Ejemplo de mcrypt_module_self_test()

<?php
var_dump(mcrypt_module_self_test(MCRYPT_RIJNDAEL_128)) . "\n";
var_dump(mcrypt_module_self_test(MCRYPT_BOGUS_CYPHER));
?>

El resultado del ejemplo sería:

bool(true)
bool(false)

mcrypt_module_open
mcrypt_ofb
Funciones de Mcrypt


Encripta/desencripta datos en modo OFB

mcrypt_module_self_test
mdecrypt_generic
Funciones de Mcrypt
PHP Manual

mcrypt_ofb

(PHP 4, PHP 5)

mcrypt_ofb — Encripta/desencripta datos en modo OFB

Descripción

string mcrypt_ofb ( int $cipher , string $key , string $data , int $mode , string $iv )
string mcrypt_ofb ( string $cipher , string $key , string $data , int $mode [, string $iv ] )

El primer prototipo es cuando está enlazado con libmcrypt 2.2.x, el segundo cuando está enlazado con libmcrypt 2.4.x o superiores. El parámetro mode debería estar presente tanto en MCRYPT_ENCRYPT como en MCRYPT_DECRYPT.

Esta función ya no debería ser utilizada, véase mcrypt_generic() y mdecrypt_generic() para reemplazos.

Advertencia

Esta función ha sido declarada OBSOLETA desde PHP 5.5.0. Su uso está totalmente desaconsejado.

mcrypt_module_self_test
mdecrypt_generic
Funciones de Mcrypt


Desencripta datos

mcrypt_ofb
Mhash
Funciones de Mcrypt
PHP Manual

mdecrypt_generic

(PHP 4 >= 4.0.2, PHP 5)

mdecrypt_generic — Desencripta datos

Descripción

string mdecrypt_generic ( resource $td , string $data )

Esta función desencripta datos. Note que la longitud de la cadena retornada puede ser mayor a la cadena no cifrada, debido al relleno de la información.

Parámetros

td

Un descriptor de cifrado devuelto por mcrypt_module_open()

data

Los datos encriptados.

Ejemplos

Ejemplo #1 Ejemplo de mdecrypt_generic()

<?php
    /* Data */
    $key = 'esta es una clave muy larga, aún para el cifrador';
    $plain_text = 'información muy importante';

    /* Apertura de un modo, y creación de un IV */
    $td = mcrypt_module_open('des', '', 'ecb', '');
    $key = substr($key, 0, mcrypt_enc_get_key_size($td));
    $iv_size = mcrypt_enc_get_iv_size($td);
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);

    /* Iniciando gestor de encriptación */
    if (mcrypt_generic_init($td, $key, $iv) != -1) {

        /* Encriptación de los datos */
        $c_t = mcrypt_generic($td, $plain_text);
        mcrypt_generic_deinit($td);

        /* Reinicialización de los buffers para desencriptación */
        mcrypt_generic_init($td, $key, $iv);
        $p_t = mdecrypt_generic($td, $c_t);

        /* Finalización */
        mcrypt_generic_deinit($td);
        mcrypt_module_close($td);
    }

    if (strncmp($p_t, $plain_text, strlen($plain_text)) == 0) {
        echo "ok\n";
    } else {
        echo "error\n";
    }
?>

El ejemplo anterior muestra cómo chequear si los datos antes del cifrado son los mismos después de la decriptación. Es muy importante reinicializar el buffer de cifrado con mcrypt_generic_init() antes de intentar descifrar los datos.

El identificador de descifrado debería siempre ser inicializado con mcrypt_generic_init() con una clave y un IV antes de invocar a esta función. Cuando el cifrado haya terminado, se debería liberar los buffers de cifrado al invocar a mcrypt_generic_deinit() Véase mcrypt_module_open() para un ejemplo.

Ver también

  • mcrypt_generic() - Esta función encripta datos
  • mcrypt_generic_init() - Esta función inicializa todos los buffers requeridos para el cifrado
  • mcrypt_generic_deinit() - Esta función deinicializa un módulo de cifrado

mcrypt_ofb
Mhash
Funciones de Mcrypt


Mhash

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • Funciones de Mhash
    • mhash_count — Toma el mayor ID de hash disponible
    • mhash_get_block_size — Toma el tamaño de bloque del algoritmo hash especificado
    • mhash_get_hash_name — Toma el nombre del algoritmo hash especificado
    • mhash_keygen_s2k — Genera una clave
    • mhash — Calcula el hash
mdecrypt_generic
Introducción
Extensiones criptográficas


Introducción

Estas funciones están destinadas a trabajar con » mhash. Mhash puede ser utilizada para crear sumas de comprobación, resúmenes de mensajes, códigos de autentificación de mensajes, y más.

Es una interfaz a la biblioteca mhash. Mhash admite una gran variedad de algoritmos hash tales como MD5, SHA1, GOST y muchos otros. Una lista completa sobre los algoritmos hash admitidos se encuentra en la página de constantes predefinidas. La regla general es que se puede acceder a un algoritmo hash desde PHP con MHASH_nombrehash. Por ejemplo, para acceder a TIGER se puede usar la constante MHASH_TIGER de PHP.

Nota:

Esta extensión a quedado obsoleta por Hash.

Mhash
Instalación/Configuración
Mhash


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Mhash


Requerimientos

Para utilizarla, se debe descargar la distribución mhash de » su sitio web y seguir las instrucciones de instalación incluidas.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se necesita compilar PHP con el parámetro --with-mhash[=DIR] para habilitar esta extensión. DIR es el directorio de instalación de mhash.

A partir de PHP 5.3.0, la extensión mhash esta emulada a través de la extensión Hash. Esto hace que el directorio de instalación de mhash no tenga efecto, y requiera de la extensión hash habilitada para habilitar el soporte de mhash.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

He aquí una lista de los algoritmos hash que actualmente son soportados por mhash. Si un algoritmo no esta listado aquí, pero está mencionado en la documentación de mhash como soportado, puede asumir tranquilamente que esta documentación está desactualizada.

  • MHASH_ADLER32
  • MHASH_CRC32
  • MHASH_CRC32B
  • MHASH_GOST
  • MHASH_HAVAL128
  • MHASH_HAVAL160
  • MHASH_HAVAL192
  • MHASH_HAVAL224
  • MHASH_HAVAL256
  • MHASH_MD2
  • MHASH_MD4
  • MHASH_MD5
  • MHASH_RIPEMD128
  • MHASH_RIPEMD256
  • MHASH_RIPEMD320
  • MHASH_SHA1
  • MHASH_SHA192
  • MHASH_SHA224
  • MHASH_SHA256
  • MHASH_SHA384
  • MHASH_SHA512
  • MHASH_SNEFRU128
  • MHASH_SNEFRU256
  • MHASH_TIGER
  • MHASH_TIGER128
  • MHASH_TIGER160
  • MHASH_WHIRLPOOL

Tipos de recursos
Ejemplos
Mhash


Ejemplos

Ejemplo #1 Calcula el MD5 y el hmac, y lo imprime como hexadecimal

<?php
$input = "what do ya want for nothing?";
$hash = mhash(MHASH_MD5, $input);
echo "El hash es " . bin2hex($hash) . "<br />\n";
$hash = mhash(MHASH_MD5, $input, "Jefe");
echo "El hmac es " . bin2hex($hash) . "<br />\n";
?>

El resultado del ejemplo sería:

El hash es d03cb659cbf9192dcd066272249f8412
El hmac es 750c783e6ab0b503eaa86e310a5db738

Constantes predefinidas
Funciones de Mhash
Mhash


Funciones de Mhash

Tabla de contenidos

  • mhash_count — Toma el mayor ID de hash disponible
  • mhash_get_block_size — Toma el tamaño de bloque del algoritmo hash especificado
  • mhash_get_hash_name — Toma el nombre del algoritmo hash especificado
  • mhash_keygen_s2k — Genera una clave
  • mhash — Calcula el hash
Ejemplos
mhash_count
Mhash


Toma el mayor ID de hash disponible

Funciones de Mhash
mhash_get_block_size
Funciones de Mhash
PHP Manual

mhash_count

(PHP 4, PHP 5)

mhash_count — Toma el mayor ID de hash disponible

Descripción

int mhash_count ( void )

Toma el mayor ID de hash disponible.

Valores devueltos

Devuelve el mayor ID de hash disponible. Los hash son enumerados de 0 a este ID de hash.

Ejemplos

Ejemplo #1 Atravesando todos los hash

<?php

$nr = mhash_count();

for ($i = 0; $i <= $nr; $i++) {
    echo sprintf("El tamaño de bloque de %s es %d\n",
        mhash_get_hash_name($i),
        mhash_get_block_size($i));
}
?>

Funciones de Mhash
mhash_get_block_size
Funciones de Mhash


Toma el tamaño de bloque del algoritmo hash especificado

mhash_count
mhash_get_hash_name
Funciones de Mhash
PHP Manual

mhash_get_block_size

(PHP 4, PHP 5)

mhash_get_block_size — Toma el tamaño de bloque del algoritmo hash especificado

Descripción

int mhash_get_block_size ( int $hash )

Toma el tamaño de bloque del algoritmo hash especificado.

Parámetros

hash

El ID de hash. Una de las constantes MHASH_hashname.

Valores devueltos

Devuelve el tamaño en bytes o FALSE si el algoritmo hash pasado no existe.

Ejemplos

Ejemplo #1 Ejemplo de mhash_get_block_size()

<?php

echo mhash_get_block_size(MHASH_MD5); // 16

?>

mhash_count
mhash_get_hash_name
Funciones de Mhash


Toma el nombre del algoritmo hash especificado

mhash_get_block_size
mhash_keygen_s2k
Funciones de Mhash
PHP Manual

mhash_get_hash_name

(PHP 4, PHP 5)

mhash_get_hash_name — Toma el nombre del algoritmo hash especificado

Descripción

string mhash_get_hash_name ( int $hash )

Toma el nombre del algoritmo hash especificado.

Parámetros

hash

El ID de hash. Una de las constantes MHASH_hashname.

Valores devueltos

Devuelve el nombre del algoritmo hash o FALSE si el algoritmo hash pasado no existe.

Ejemplos

Ejemplo #1 Ejemplo de mhash_get_hash_name()

<?php

echo mhash_get_hash_name(MHASH_MD5); // MD5

?>

mhash_get_block_size
mhash_keygen_s2k
Funciones de Mhash


Genera una clave

mhash_get_hash_name
mhash
Funciones de Mhash
PHP Manual

mhash_keygen_s2k

(PHP 4 >= 4.0.4, PHP 5)

mhash_keygen_s2k — Genera una clave

Descripción

string mhash_keygen_s2k ( int $hash , string $password , string $salt , int $bytes )

Genera una clave de acuerdo al algoritmo hash dado, utilizando el password provisto por el usuario.

Este es el algoritmo S2K con Sal, tal y como se encuentra especificado en el documento OpenPGP (» RFC 2440).

Tener en cuenta que las contraseñas suministradas por el usuario no son realmente útiles como claves en algoritmos criptográficos, ya que los usuarios normalmente eligen claves que pueden escribir con el teclado. Estas contraseñas utilizan sólo 6 o 7 bits por caracter (o menos). Es altamente recomendable utilizar algún tipo de transformación (como esta función) a la clave provista por el usuario.

Parámetros

hash

El ID de hash utilizado para crear la clave. Una de las constantes MHASH_hashname.

password

Una contraseña suministrada por el usuario.

salt

Debe ser diferente y lo suficientemente aleatorio para cada clave generada con el fin de crear claves distintas. Debido a que el parámetro salt debe ser conocido cuando se comprueban las claves, es una buena idea anexarle la clave. Este parámetro tienen una longitud fija de 8 bytes y será rellenada con ceros si se suministran menos bytes.

bytes

La longitud de la clave, en bytes.

Valores devueltos

Devuelve la clave generada en formato cadena, o FALSE en caso de error.

mhash_get_hash_name
mhash
Funciones de Mhash


Calcula el hash

mhash_keygen_s2k
OpenSSL
Funciones de Mhash
PHP Manual

mhash

(PHP 4, PHP 5)

mhash — Calcula el hash

Descripción

string mhash ( int $hash , string $data [, string $key ] )

La función mhash() aplica la función hash especificada por el parámetro hash a los datos del parámetro data.

Parámetros

hash

El ID de hash. Una de las constantes MHASH_hashname.

data

La entrada del usuario, en formato cadena.

key

De ser especificado, la función devolverá, en cambio, el HMAC resultante. HMAC es un algoritmo de autentificación de clave secreta, o simplemente resumen de mensaje que depende de la clave especificada. No todos los algoritmos soportados por mhash pueden ser utilizados en modo HMAC.

Valores devueltos

Devuelve el hash (también llamado digest) o HMAC resultante en formato cadena, o FALSE en caso de error.

mhash_keygen_s2k
OpenSSL
Funciones de Mhash


OpenSSL

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
    • Banderas de comprobación de propósito
    • Banderas de relleno para encriptación asimétrica
    • Tipos de claves
    • Banderas/Constantes PKCS7
    • Algoritmos de Firma
    • Cifrados
    • Constantes de Versión
    • Constantes de Indicación del Nombre del Servidor
  • Parámetros de Clave/Certificado
  • Verificación de Certificados
  • Funciones de OpenSSL
    • openssl_cipher_iv_length — Obtener la longitud del IV de Cipher
    • openssl_csr_export_to_file — Exporta una CSR a un archivo
    • openssl_csr_export — Exporta una CSR como una cadena
    • openssl_csr_get_public_key — Devuelve la clave púbilca de un CERT
    • openssl_csr_get_subject — Devuelve el sujeto de un CERT
    • openssl_csr_new — Genera una CSR
    • openssl_csr_sign — Firmar una CSR con otro certificado (o autofirmar) y generar un certificado
    • openssl_decrypt — Desencripta datos
    • openssl_dh_compute_key — Computa el secreto compartido para un valor público de una clave DH remota y una clave DH local
    • openssl_digest — Computa un método de resumen
    • openssl_encrypt — Encripta datos
    • openssl_error_string — Devolver un mensaje de error openSSL
    • openssl_free_key — Liberar el recurso de clave
    • openssl_get_cipher_methods — Obtiene los métodos de cifrado disponibles
    • openssl_get_md_methods — Obtener los métodos de resumen disponibles
    • openssl_get_privatekey — Alias de openssl_pkey_get_private
    • openssl_get_publickey — Alias de openssl_pkey_get_public
    • openssl_open — Abre información sellada
    • openssl_pbkdf2 — Genera un string PKCS5 v2 PBKDF2, predeterminado a SHA-1
    • openssl_pkcs12_export_to_file — Exporta un Archivo de Almacén de Certificado Compatible con PKCS#12
    • openssl_pkcs12_export — Exporta un Archivo de Almacén de Certificado Compatible con PKCS#12 a una variable
    • openssl_pkcs12_read — Convierte un Almacén de Certificado PKCS#12 a una matriz
    • openssl_pkcs7_decrypt — Desencripta un mensaje S/MIME encriptado
    • openssl_pkcs7_encrypt — Encriptar un mensaje S/MIME
    • openssl_pkcs7_sign — Firma un mensaje S/MIME
    • openssl_pkcs7_verify — Verifica la firma de un mensaje S/MIME firmado
    • openssl_pkey_export_to_file — Obtiene una representación de una clave exportable a un archivo
    • openssl_pkey_export — Obtiene una representación de una clave exportable a una cadena
    • openssl_pkey_free — Libera una clave privada
    • openssl_pkey_get_details — Devuelve una matriz con los detalles de la clave
    • openssl_pkey_get_private — Obtener una clave privada
    • openssl_pkey_get_public — Extrae la clave pública del certificado y la prepara para usarla
    • openssl_pkey_new — Genera una clave privada nueva
    • openssl_private_decrypt — Desencripta información con la clave privada
    • openssl_private_encrypt — Encripta información con la clave privada
    • openssl_public_decrypt — Desencripta información con la clave pública
    • openssl_public_encrypt — Encripta información con una clave pública
    • openssl_random_pseudo_bytes — Genera una cadena de bytes pseudo-aleatoria
    • openssl_seal — Sellar (encriptar) información
    • openssl_sign — Generar una firma
    • openssl_verify — Verificar una firma
    • openssl_x509_check_private_key — Comprueba si una clave privada se corresponde a un certificado
    • openssl_x509_checkpurpose — Verifica si un certificado se puede usar para un propósito en particular
    • openssl_x509_export_to_file — Exporta un certificado a un archivo
    • openssl_x509_export — Exporta un certificado como una cadena
    • openssl_x509_free — Liberar un recurso de certificado
    • openssl_x509_parse — Analiza un certificado X509 y devuelve la información como un matriz
    • openssl_x509_read — Analiza un certificado X.509 y devuelve un identificador de recurso para él
mhash
Introducción
Extensiones criptográficas


Introducción

Este módulo utiliza las funciones de » OpenSSL para la generación y verificación de firmas y para sellar (encriptar) y abrir (desencriptar) datos. OpenSSL ofrece muchas características que este módulo no soporta actualmente. Algunas de éstas podrían añadirse en el futuro.

OpenSSL
Instalación/Configuración
OpenSSL


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
OpenSSL


Requerimientos

Para usar las funciones OpenSSL necesita instalar el paquete » OpenSSL. PHP, entre las versiones 4.0.5 y 4.3.1, funcionará con OpenSSL >= 0.9.5. Otras versiones (PHP <=4.0.4 y >= 4.3.2) requieren OpenSSL >= 0.9.6.

Advertencia

Se recomienda encarecidamente usar la versión más reciente de OpenSSL, si no su servidor web podría ser vulnerable a ataques.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Para usar el soporte de OpenSSL en PHP debe también compilar PHP con --with-openssl[=DIR] .

La biblioteca OpenSSL también tiene requerimientos adicionales para la operación normal en tiempo de ejecución. En particular, OpenSSL requiere acceso a un generador de números aleatorios o pseudoaleatorios; en la mayoría de plataformas Unix y similares a Unix (incluyendo Linux), esto significa que se debe tener acceso a dispositivo /dev/urandom o /dev/random.

Nota: Nota para los usuarios de Win32

Para que esta extensión funcione, hay unos ficheros DLL que deben estar disponibles en el sistema de Windows PATH. Para más información en como hacer esto, vea la FAQ titulada "Como añadir mi directorio PHP en el PATH de Windows". Aunque copiar los ficheros DLL desde el directorio PHP al directorio del sistema de Windows también funciona (porque el directorio del sistema por defecto es el PATH del sistema), esto no se recomienda. Esta extensión requiere que los siguientes ficheros esten en el PATH: libeay32.dll

Adicionalmente, si está planeando usar las funciones de generación de claves y firma de certificados, necesitará instalar un archivo openssl.cnf válido en su sistema. A partir de PHP 4.3.0, incluimos un archivo de configuración de ejemplo en nuestras distribuciones binarias de win32. En PHP 4.3.x y 4.4.x el archivo está en el directorio openssl. En PHP 5.x y 6.x el archivo está en el directorio extras/openssl. Si está utilizado PHP 4.2.x o ha perdido el archivo, puede obtenerlo en » la página de binarios de OpenSSL o descargar una versión reciente de PHP. Sepa que Windows Explorer oculta la extensión .cnf por defecto y dice que el tipo de archivo es SpeedDial.

PHP buscará el archivo openssl.cnf usando la siguiente lógica:

  • la variable de entorno OPENSSL_CONF, si está establecida, se usará como la ruta (incluido el nombre de archivo) del archivo de configuración.
  • la variable de entorno SSLEAY_CONF, si está establecida, se usará como la ruta (incluido el nombre de archivo) del archivo de configuración.
  • El archivo openssl.cnf se asume que está en el área de certificados por defecto, como se configuró en el momento en que la DLL de OpenSSL fue compilada. Esto normalmente significa que el nombre de archivo por defecto es c:\usr\local\ssl\openssl.cnf.

Durante la instalación, necesita decidir si instalar el archivo de configuración en c:\usr\local\ssl\openssl.cnf o si instalarlo en otro lugar y usar variables de entorno (posiblemente en base a un servidor virtual) para ubicar el archivo de configuración. Observe que es posible sobrescribir la ruta por defecto desde el script usando el parámetro configargs de las funciones que requieren un archivo de configuración.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Tabla de contenidos

  • Banderas de comprobación de propósito
  • Banderas de relleno para encriptación asimétrica
  • Tipos de claves
  • Banderas/Constantes PKCS7
  • Algoritmos de Firma
  • Cifrados
  • Constantes de Versión
  • Constantes de Indicación del Nombre del Servidor

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Tipos de recursos
Banderas de comprobación de propósito
OpenSSL


Banderas de comprobación de propósito

X509_PURPOSE_SSL_CLIENT (integer)
X509_PURPOSE_SSL_SERVER (integer)
X509_PURPOSE_NS_SSL_SERVER (integer)
X509_PURPOSE_SMIME_SIGN (integer)
X509_PURPOSE_SMIME_ENCRYPT (integer)
X509_PURPOSE_CRL_SIGN (integer)
X509_PURPOSE_ANY (integer)
Constantes predefinidas
Banderas de relleno para encriptación asimétrica
Constantes predefinidas


Banderas de relleno para encriptación asimétrica

OPENSSL_PKCS1_PADDING (integer)
OPENSSL_SSLV23_PADDING (integer)
OPENSSL_NO_PADDING (integer)
OPENSSL_PKCS1_OAEP_PADDING (integer)
Banderas de comprobación de propósito
Tipos de claves
Constantes predefinidas


Tipos de claves

OPENSSL_KEYTYPE_RSA (integer)
OPENSSL_KEYTYPE_DSA (integer)
OPENSSL_KEYTYPE_DH (integer)
OPENSSL_KEYTYPE_EC (integer)
Esta constante únicamente está disponible cuando PHP está compilado con OpenSSL 0.9.8+.

Nota:

Esta constante fue añadida en la versión 5.2.0.

OPENSSL_KEYTYPE_EC

Banderas de relleno para encriptación asimétrica
Banderas/Constantes PKCS7
Constantes predefinidas


Banderas/Constantes PKCS7

Las funciones S/MIME hacen uso de banderas que están especificadas utilizando un campo de bit que puede incluir uno o más de los siguientes valores:

CONSTANTES PKCS7
Constante | Descripción
PKCS7_TEXT | 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.
PKCS7_BINARY | Normalmente el mensaje de entrada es convertido a formato "canónico" en el que de hecho se usa CR y LF 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.
PKCS7_NOINTERN | 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 extracerts de openssl_pkcs7_verify() se usan. Sin embargo, los certificados proporcionados pueden aún ser usados como AC que no son de confianza.
PKCS7_NOVERIFY | No verificar los certificados de firmas de un mensaje firmado.
PKCS7_NOCHAIN | 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.
PKCS7_NOCERTS | 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 extracerts a openssl_pkcs7_verify() por ejemplo).
PKCS7_NOATTR | 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.
PKCS7_DETACHED | Cuando se firma un mensaje, se usa la firma de texto claro con el tipo MIME "multiparte/firmado". Esto es lo predeterminado si no se especifican algunos flags a openssl_pkcs7_sign(). 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.
PKCS7_NOSIGS | No poner a prueba y verificar las firmas de un mensaje

Nota:

Estas constantes fueron añadidas en la versión 4.0.6.

Tipos de claves
Algoritmos de Firma
Constantes predefinidas


Algoritmos de Firma

OPENSSL_ALGO_DSS1 (integer)
OPENSSL_ALGO_SHA1 (integer)
Usado como algoritmo predeterminado por openssl_sign() y openssl_verify().
OPENSSL_ALGO_SHA224 (integer)
OPENSSL_ALGO_SHA256 (integer)
OPENSSL_ALGO_SHA384 (integer)
OPENSSL_ALGO_SHA512 (integer)
OPENSSL_ALGO_RMD160 (integer)
OPENSSL_ALGO_MD5 (integer)
OPENSSL_ALGO_MD4 (integer)
OPENSSL_ALGO_MD2 (integer)
A partir de PHP 5.2.13 y PHP 5.3.2, esta constante únicamete está disponible si PHP está compilado con soporte para MD2. Esto requiere pasar -DHAVE_OPENSSL_MD2_H CFLAG al compilar PHP, y enable-md2 al compilar OpenSSL 1.0.0+.

Nota:

Estas constantes fueron añadidas en la versión 5.0.0.

OPENSSL_ALGO_MD2, OPENSSL_ALGO_MD4, OPENSSL_ALGO_MD5, OPENSSL_ALGO_SHA1, OPENSSL_ALGO_DSS1

Nota:

Estas constantes fueron añadidas en la versión 5.4.8.

OPENSSL_ALGO_RMD160, OPENSSL_ALGO_SHA224, OPENSSL_ALGO_SHA256, OPENSSL_ALGO_SHA384, OPENSSL_ALGO_SHA512

Banderas/Constantes PKCS7
Cifrados
Constantes predefinidas


Cifrados

OPENSSL_CIPHER_RC2_40 (integer)
OPENSSL_CIPHER_RC2_128 (integer)
OPENSSL_CIPHER_RC2_64 (integer)
OPENSSL_CIPHER_DES (integer)
OPENSSL_CIPHER_3DES (integer)

Nota:

Estas constantes fueron añadidas en la versión 4.3.0.

OPENSSL_CIPHER_AES_128_CBC (integer)
OPENSSL_CIPHER_AES_192_CBC (integer)
OPENSSL_CIPHER_AES_256_CBC (integer)

Nota:

Estas constantes fueron añadadidas en la versión 5.4.0.

Algoritmos de Firma
Constantes de Versión
Constantes predefinidas


Constantes de Versión

OPENSSL_VERSION_TEXT (string)
OPENSSL_VERSION_NUMBER (integer)

Nota:

Estas constantes fueron añadidas en la versión 5.2.0.

Cifrados
Constantes de Indicación del Nombre del Servidor
Constantes predefinidas


Constantes de Indicación del Nombre del Servidor

OPENSSL_TLSEXT_SERVER_NAME (string)
Si el sopore para SNI está disponible o no.

Nota:

Estas constantes fueron añadidas en la versión 5.3.2 y requieren que PHP se construya con OpenSSL 0.9.8j o posterior.

Constantes de Versión
Parámetros de Clave/Certificado
Constantes predefinidas


Parámetros de Clave/Certificado

Bastantes funciones de openssl requieren un parámetro de clave o de certificado. PHP 4.0.5 y versiones anteriores tienen que usar un recurso resource de clave o certificado devuelto por una de las funciones openssl_get_xxx(). Las últimas versiones pueden usar uno de los siguientes métodos:

  • Certificados

    1. Un recurso X.509 devuelto por openssl_x509_read()
    2. Una cadena con el formato file://ruta/al/cert.pem; el fichero nombrado debe contener un certificado codificado con PEM
    3. Una cadena con el contenido de un certificado, codificado con PEM

  • Claves Públicas/Privadas

    1. Un recurso de clave devuelto por openssl_get_publickey() o openssl_get_privatekey()
    2. Sólo para claves públicas: un recurso X.509
    3. Una cadena con el formato file://ruta/al/archivo.pem - el archivo nombrado debe contener un certificado/clave privado codificado con PEM (puede contener ambos)
    4. Una cadena con el contenido de un certificado/clave, codificado con PEM
    5. Para claves privadas, también se debe usar la sintaxis array($clave, $passphrase) donde $clave representa una clave especificada usando la notación file:// o el contenido textual de arriba, y $passphrase representa una cadena que contiene una frase de contraseña para esa clave privada

Constantes de Indicación del Nombre del Servidor
Verificación de Certificados
OpenSSL


Verificación de Certificados

Cuando se llama a una función para que verifique una firma/certificado, el parámetro cainfo es una matriz que contiene los nombres del archivo y del directorio que especifican las ubicaciones de los archivos de la AC (Autoridad de Certificación, CA en inglés) de confianza. Si se especifica un directorio, éste debe ser un directorio correctamente formado, como el comando openssl usaría.

Parámetros de Clave/Certificado
Funciones de OpenSSL
OpenSSL


Funciones de OpenSSL

Tabla de contenidos

  • openssl_cipher_iv_length — Obtener la longitud del IV de Cipher
  • openssl_csr_export_to_file — Exporta una CSR a un archivo
  • openssl_csr_export — Exporta una CSR como una cadena
  • openssl_csr_get_public_key — Devuelve la clave púbilca de un CERT
  • openssl_csr_get_subject — Devuelve el sujeto de un CERT
  • openssl_csr_new — Genera una CSR
  • openssl_csr_sign — Firmar una CSR con otro certificado (o autofirmar) y generar un certificado
  • openssl_decrypt — Desencripta datos
  • openssl_dh_compute_key — Computa el secreto compartido para un valor público de una clave DH remota y una clave DH local
  • openssl_digest — Computa un método de resumen
  • openssl_encrypt — Encripta datos
  • openssl_error_string — Devolver un mensaje de error openSSL
  • openssl_free_key — Liberar el recurso de clave
  • openssl_get_cipher_methods — Obtiene los métodos de cifrado disponibles
  • openssl_get_md_methods — Obtener los métodos de resumen disponibles
  • openssl_get_privatekey — Alias de openssl_pkey_get_private
  • openssl_get_publickey — Alias de openssl_pkey_get_public
  • openssl_open — Abre información sellada
  • openssl_pbkdf2 — Genera un string PKCS5 v2 PBKDF2, predeterminado a SHA-1
  • openssl_pkcs12_export_to_file — Exporta un Archivo de Almacén de Certificado Compatible con PKCS#12
  • openssl_pkcs12_export — Exporta un Archivo de Almacén de Certificado Compatible con PKCS#12 a una variable
  • openssl_pkcs12_read — Convierte un Almacén de Certificado PKCS#12 a una matriz
  • openssl_pkcs7_decrypt — Desencripta un mensaje S/MIME encriptado
  • openssl_pkcs7_encrypt — Encriptar un mensaje S/MIME
  • openssl_pkcs7_sign — Firma un mensaje S/MIME
  • openssl_pkcs7_verify — Verifica la firma de un mensaje S/MIME firmado
  • openssl_pkey_export_to_file — Obtiene una representación de una clave exportable a un archivo
  • openssl_pkey_export — Obtiene una representación de una clave exportable a una cadena
  • openssl_pkey_free — Libera una clave privada
  • openssl_pkey_get_details — Devuelve una matriz con los detalles de la clave
  • openssl_pkey_get_private — Obtener una clave privada
  • openssl_pkey_get_public — Extrae la clave pública del certificado y la prepara para usarla
  • openssl_pkey_new — Genera una clave privada nueva
  • openssl_private_decrypt — Desencripta información con la clave privada
  • openssl_private_encrypt — Encripta información con la clave privada
  • openssl_public_decrypt — Desencripta información con la clave pública
  • openssl_public_encrypt — Encripta información con una clave pública
  • openssl_random_pseudo_bytes — Genera una cadena de bytes pseudo-aleatoria
  • openssl_seal — Sellar (encriptar) información
  • openssl_sign — Generar una firma
  • openssl_verify — Verificar una firma
  • openssl_x509_check_private_key — Comprueba si una clave privada se corresponde a un certificado
  • openssl_x509_checkpurpose — Verifica si un certificado se puede usar para un propósito en particular
  • openssl_x509_export_to_file — Exporta un certificado a un archivo
  • openssl_x509_export — Exporta un certificado como una cadena
  • openssl_x509_free — Liberar un recurso de certificado
  • openssl_x509_parse — Analiza un certificado X509 y devuelve la información como un matriz
  • openssl_x509_read — Analiza un certificado X.509 y devuelve un identificador de recurso para él
Verificación de Certificados
openssl_cipher_iv_length
OpenSSL


Obtener la longitud del IV de Cipher

Funciones de OpenSSL
openssl_csr_export_to_file
Funciones de OpenSSL
PHP Manual

openssl_cipher_iv_length

(PHP 5 >= PHP 5.3.3)

openssl_cipher_iv_length — Obtener la longitud del IV de Cipher

Descripción

int openssl_cipher_iv_length ( string $method )

Obtiene la longitud del IV de Cipher.

Parámetros

method

El método.

Valores devueltos

Devuelve la longitud de cipher en caso de éxito, o FALSE en caso de fallo.

Errores/Excepciones

Emite un error de nivel E_WARNING cuando el algoritimo Cipher no es conocido.

Ejemplos

Ejemplo #1 Ejemplo de openssl_cipher_iv_length()

<?php
$método = 'AES-128-CBC';
$longitud_iv = openssl_cipher_iv_length($método);

echo $longitud_iv;
?>

El resultado del ejemplo sería algo similar a:

16
Funciones de OpenSSL
openssl_csr_export_to_file
Funciones de OpenSSL


Exporta una CSR a un archivo

openssl_cipher_iv_length
openssl_csr_export
Funciones de OpenSSL
PHP Manual

openssl_csr_export_to_file

(PHP 4 >= 4.2.0, PHP 5)

openssl_csr_export_to_file — Exporta una CSR a un archivo

Descripción

bool openssl_csr_export_to_file ( resource $csr , string $outfilename [, bool $notext = true ] )

openssl_csr_export_to_file() toma la Petición de Frima de Certificado (CSR en inglés) representada por csr y la almacena como texto ascii blindado en el archivo nombrado por outfilename.

Parámetros

csr

outfilename

Ruta del archivo de salida.

notext

El parámetro opcional notext afecta la verbosidad de la salida; si es FALSE, se incluirá información adicional en la salida entendible por seres humanos. El valor por defecto para notext es TRUE.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • openssl_csr_export() - Exporta una CSR como una cadena
  • openssl_csr_new() - Genera una CSR
  • openssl_csr_sign() - Firmar una CSR con otro certificado (o autofirmar) y generar un certificado

openssl_cipher_iv_length
openssl_csr_export
Funciones de OpenSSL


Exporta una CSR como una cadena

openssl_csr_export_to_file
openssl_csr_get_public_key
Funciones de OpenSSL
PHP Manual

openssl_csr_export

(PHP 4 >= 4.2.0, PHP 5)

openssl_csr_export — Exporta una CSR como una cadena

Descripción

bool openssl_csr_export ( resource $csr , string &$out [, bool $notext = true ] )

openssl_csr_export() toma la Petición de Firma de Certificado (CSR en inglés) represenatada por csr y la almacena como texto ascii blindado en out, que es pasado por referencia.

Parámetros

csr

out

notext

El parámetro opcional notext afecta la verbosidad de la salida; si es FALSE, se incluirá información adicional en la salida entendible por seres humanos. El valor por defecto para notext es TRUE.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • openssl_csr_export_to_file() - Exporta una CSR a un archivo
  • openssl_csr_new() - Genera una CSR
  • openssl_csr_sign() - Firmar una CSR con otro certificado (o autofirmar) y generar un certificado

openssl_csr_export_to_file
openssl_csr_get_public_key
Funciones de OpenSSL


Devuelve la clave púbilca de un CERT

openssl_csr_export
openssl_csr_get_subject
Funciones de OpenSSL
PHP Manual

openssl_csr_get_public_key

(PHP 5 >= 5.2.0)

openssl_csr_get_public_key — Devuelve la clave púbilca de un CERT

Descripción

resource openssl_csr_get_public_key ( mixed $csr [, bool $use_shortnames = true ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

openssl_csr_export
openssl_csr_get_subject
Funciones de OpenSSL


Devuelve el sujeto de un CERT

openssl_csr_get_public_key
openssl_csr_new
Funciones de OpenSSL
PHP Manual

openssl_csr_get_subject

(PHP 5 >= 5.2.0)

openssl_csr_get_subject — Devuelve el sujeto de un CERT

Descripción

array openssl_csr_get_subject ( mixed $csr [, bool $use_shortnames = true ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

openssl_csr_get_public_key
openssl_csr_new
Funciones de OpenSSL


Genera una CSR

openssl_csr_get_subject
openssl_csr_sign
Funciones de OpenSSL
PHP Manual

openssl_csr_new

(PHP 4 >= 4.2.0, PHP 5)

openssl_csr_new — Genera una CSR

Descripción

mixed openssl_csr_new ( array $dn , resource &$privkey [, array $configargs [, array $extraattribs ]] )

openssl_csr_new() genera una nueva CSR (Certificate Signing Request - Petición de Firma de Certificado) basada en la información proporcionada por dn, el cuál representa el Nombre Distinguido que se va a usar en el certificado.

Nota: Necesita tener instalado un openssl.cnf válido para que esta función opere correctamente. Vea las notas sobre la sección de instalación para más información.

Parámetros

dn

El Nombre Distinguido que se va a usar en el certificado.

privkey

privkey podría estar establecida a una clave privada que fue generada previamente por openssl_pkey_new() (o de otro modo, obtenida desde la otra familia de funciones openssl_pkey). La parte pública correspondiente de la clave será usada para firmar la CSR.

configargs

Por defecto, la información de su sistema openssl.conf se usa para inicializar la petición; puede especificar una sección del archivo de configuración estableciendo la clave config_sección_sección de configargs. También puede especificar un archivo de configuración de openssl alternativo estableciendo el valor de la clave config a la ruta del archivo que quiere utilizar. Las siguientes claves, si están presentes en configargs, se comportan como sus equivalentes en el archivo openssl.conf, como está listado en la tabla de abajo.

Sobrescritura de Configuración
clave configargs | tipo | equivalente openssl.conf | descripción
digest_alg | string | default_md | Selecciona qué método de resumen (digest) se va a usar
x509_extensions | string | x509_extensions | Selecciona qué extensiones debería usarse cuando se crea un certificado x509
req_extensions | string | req_extensions | Selecciona qué extensiones debería usarse cuando se crea una CSR
private_key_bits | integer | default_bits | Specifica cuántos bits deberían usarse para generar una clave privada
private_key_type | integer | ninguno | Especifica el tipo de clave privada a crear. Ésta puede ser OPENSSL_KEYTYPE_DSA, OPENSSL_KEYTYPE_DH o OPENSSL_KEYTYPE_RSA. El valor por defecto es OPENSSL_KEYTYPE_RSA el cuál es el úncio tipo de clave soportado actualmente.
encrypt_key | boolean | encrypt_key | ¿Debería ser encriptada una clave exportada (con frase de contraseña)?
encrypt_key_cipher | integer | none | Una de las constantes de cipher.

extraattribs

extraattribs se usa para especificar opciones de configuración adicionales para la CSR. Ambos, dn y extraattribs, son matrices asociativas cuyas claves son convertidas a identificadores de objetos y aplicadas a las partes relevantes de la petición.

Valores devueltos

Devuelve la CSR.

Ejemplos

Ejemplo #1 Crear un certificado autofirmado

<?php
// Rellenar la información del nombre distinguido que se va a usar en el certificado
// Debe cambiar los valores de estas claves para que coincidan con su nombre y
// compañía, o para se más exactos, el nombre y la compañía de la persona/sitio
// para el que va a generar el certificado.
// Para los certificados SSL, el nombre común (commonName) normalmente es el nombre de
// dominio que va a usar el certificado, pero para certificados S/MIME,
// el nombre común será el nombre de la persona que usará el
// certificado.
$dn = array(
    "countryName" => "UK",
    "stateOrProvinceName" => "Somerset",
    "localityName" => "Glastonbury",
    "organizationName" => "The Brain Room Limited",
    "organizationalUnitName" => "PHP Documentation Team",
    "commonName" => "Wez Furlong",
    "emailAddress" => "wez@example.com"
);

// Generar una nueva pareja de clave privada (y pública)
$privkey = openssl_pkey_new();

// Generar una petición de firma de certificado
$csr = openssl_csr_new($dn, $privkey);

// Normalmente querrá crear un certificado autofirmado en este
// punto hasta que su AC satisfaga su petición.
// Esto crea un certificado autofirmado que es válido por 365 días
$sscert = openssl_csr_sign($csr, null, $privkey, 365);

// Ahora querrá preservar su clave privada, CSR y certificado
// autofirmado por lo que pueden ser instalados en su servidor web, servidor de correo
// o cliente de correo (dependiendo del uso previsto para el certificado).
// Este ejemplo muestra cómo obtener estas cosas con variables, pero
// también puede almacenarlas directamente en archivos.
// Normalmente, enviará la CSR a su AC, la cuál se la emitirá después
// con el certificado "real".
openssl_csr_export($csr, $csrout) and var_dump($csrout);
openssl_x509_export($sscert, $certout) and var_dump($certout);
openssl_pkey_export($privkey, $pkeyout, "mypassword") and var_dump($pkeyout);

// Mostrar cualquier error que ocurra
while (($e = openssl_error_string()) !== false) {
    echo $e . "\n";
}
?>

openssl_csr_get_subject
openssl_csr_sign
Funciones de OpenSSL


Firmar una CSR con otro certificado (o autofirmar) y generar un certificado

openssl_csr_new
openssl_decrypt
Funciones de OpenSSL
PHP Manual

openssl_csr_sign

(PHP 4 >= 4.2.0, PHP 5)

openssl_csr_sign — Firmar una CSR con otro certificado (o autofirmar) y generar un certificado

Descripción

resource openssl_csr_sign ( mixed $csr , mixed $cacert , mixed $priv_key , int $days [, array $configargs [, int $serial = 0 ]] )

openssl_csr_sign() genera un recurso de certificado x509 desde la CSR dada.

Nota: Necesita tener instalado un openssl.cnf válido para que esta función opere correctamente. Vea las notas sobre la sección de instalación para más información.

Parámetros

csr

Una CSR previamente generada por openssl_csr_new(). También puede ser la ruta de una CSR codificada con PEM cuando se especifica con file://ruta/a/csr o una cadena exportada generada por openssl_csr_export().

cacert

El certificado generado será firmado por cacert. Si cacert es NULL, el certificado generado será un certificado autofirmado.

priv_key

priv_key es la clave privada que se corresponde con cacert.

days

days especifica la duración durante la cuál el certificado generado será válido, en días.

configargs

Se puede ajustar la firma de la CSR mediante configargs. Véase openssl_csr_new() para más información acerca de configargs.

serial

El número de serie opcional del certificado emitido. Si no se especifica será 0 por defecto.

Valores devueltos

Devuelve un recurso de certificado x509 si se tuvo éxito, FALSE si falló.

Historial de cambios

Versión | Descripción
4.3.3 | Se añadió el parámetro serial.

Ejemplos

Ejemplo #1 Ejemplo de openssl_csr_sign() - firmar una CSR (cómo implementar su propia AC)

<?php
// Asumimos que este script está establecido para recivir una CSR que ha
// sido pegada al área de texto desde otra página
$csrdata = $_POST["CSR"];

// Firmaremos la petición usando nuestro propio certificado de "autoridad
// certificadora". También puede usar cualquier certificado para firmar otro, pero
// el proceso no vale de nada a menos que el certificado de firma sea acreditado
// por el software/usuarios que tratarán con el certificado recién firmado

// Necesitamos nuestro certificado de AC y su clave privada
$cacert = "file://ruta/a/ca.crt";
$privkey = array("file://ruta/a/ca.key", "su_frase_de_contraseña");

$usercert = openssl_csr_sign($csrdata, $cacert, $privkey, 365);

// Ahora mostramos el certificado generado por lo que el ususario puede
// copiarlo y pegarlo a su configuración local (tal como un archivo
// para guardar el certificado para su servidor SSL)
openssl_x509_export($usercert, $certout);
echo $certout;

// Mostrar cualquier error que ocurra
while (($e = openssl_error_string()) !== false) {
    echo $e . "\n";
}
?>

openssl_csr_new
openssl_decrypt
Funciones de OpenSSL


Desencripta datos

openssl_csr_sign
openssl_dh_compute_key
Funciones de OpenSSL
PHP Manual

openssl_decrypt

(PHP 5 >= 5.3.0)

openssl_decrypt — Desencripta datos

Descripción

string openssl_decrypt ( string $data , string $method , string $password [, int $options = 0 [, string $iv = "" ]] )

Toma una cadena codificada en bruto o mediante base64 y la desencripta usando un método y una clave.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

data

Los datos.

method

El método de cifrado.

password

La contraseña.

options

options puede ser una de las constantes OPENSSL_RAW_DATA, OPENSSL_ZERO_PADDING.

iv

Un Vector de Inicialización no NULL.

Valores devueltos

La cadena desencriptada si se tuvo éxito o FALSE en caso de error.

Errores/Excepciones

Emite un error de nivel E_WARNING si se pasa un algoritmo de cifrado desconocido mediante el parámetro method.

Emite un error de nivel E_WARNING si se le pasa un valor vacío mediante en parámetro iv.

Historial de cambios

Versión | Descripción
5.3.3 | Se añadió el parámetro iv.
5.4.0 | raw_output se cambió a options.

Ver también

  • openssl_encrypt() - Encripta datos

openssl_csr_sign
openssl_dh_compute_key
Funciones de OpenSSL


Computa el secreto compartido para un valor público de una clave DH remota y una clave DH local

openssl_decrypt
openssl_digest
Funciones de OpenSSL
PHP Manual

openssl_dh_compute_key

(PHP 5 >= 5.3.11)

openssl_dh_compute_key — Computa el secreto compartido para un valor público de una clave DH remota y una clave DH local

Descripción

string openssl_dh_compute_key ( string $pub_key , resource $dh_key )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

pub_key

Clave pública

dh_key

Clave DH

Valores devueltos

Devuelve la clave computada si se tuvo éxito o FALSE en caso de error.

openssl_decrypt
openssl_digest
Funciones de OpenSSL


Computa un método de resumen

openssl_dh_compute_key
openssl_encrypt
Funciones de OpenSSL
PHP Manual

openssl_digest

(PHP 5 >= 5.3.0)

openssl_digest — Computa un método de resumen

Descripción

string openssl_digest ( string $data , string $method [, bool $raw_output = false ] )

Computa un valor hash del método de resumen (digest) para la información dada usando el método dado, y devuelve una cadena codificada en bruto o mediante binhex.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

data

La información.

method

El método de resumen.

raw_output

Establecido a TRUE devolverá información de salida en bruto, si no, devolverá el valor codificado mediante binhex.

Valores devueltos

Devuelve el valor hash del método de resumen si se tuvo éxito o FALSE en caso de error.

Errores/Excepciones

Emite un error de nivel E_WARNING si se pasa un algoritmo de cifrado desconocido mediante el parámetro method.

Ver también

  • openssl_get_cipher_methods() - Obtiene los métodos de cifrado disponibles

openssl_dh_compute_key
openssl_encrypt
Funciones de OpenSSL


Encripta datos

openssl_digest
openssl_error_string
Funciones de OpenSSL
PHP Manual

openssl_encrypt

(PHP 5 >= 5.3.0)

openssl_encrypt — Encripta datos

Descripción

string openssl_encrypt ( string $data , string $method , string $password [, int $options = 0 [, string $iv = "" ]] )

Encripta la información dada con el método y la clave dados, y devuelve una cadena codificada en bruto o mediante base64.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

data

Los datos.

method

El método de cifrado.

password

La contraseña.

options

options puede ser una de las constantes OPENSSL_RAW_DATA, OPENSSL_ZERO_PADDING.

iv

Un Vector de Inicialización no NULL.

Valores devueltos

Devuelve la cadena encriptada si se tuvo éxito o FALSE en caso de error.

Errores/Excepciones

Emite un error de nivel E_WARNING si se pasa un algoritmo de cifrado desconocido mediante el parámetro method.

Emite un error de nivel E_WARNING si se le pasa un valor vacío mediante el parámetro iv.

Historial de cambios

Versión | Descripción
5.3.3 | Se añadió el parámetro iv.
5.4.0 | raw_output se cambió a options.

Ver también

  • openssl_decrypt() - Desencripta datos

openssl_digest
openssl_error_string
Funciones de OpenSSL


Devolver un mensaje de error openSSL

openssl_encrypt
openssl_free_key
Funciones de OpenSSL
PHP Manual

openssl_error_string

(PHP 4 >= 4.0.6, PHP 5)

openssl_error_string — Devolver un mensaje de error openSSL

Descripción

string openssl_error_string ( void )

openssl_error_string() devuelve el último error de la biblioteca openSSL. Los mensajes de error se ponen en cola, por lo que esta función debería ser llamada múltiples veces para reunir toda la información. El último error será la más reciente.

Valores devueltos

Devuelve una cadena de mensaje de error, o FALSE si no hay más mensajes de error a devolver.

Ejemplos

Ejemplo #1 Ejemplo de openssl_error_string()

<?php
// asumimos que se llamó a una función openssl que falló
while ($msg = openssl_error_string())
    echo $msg . "<br />\n";
?>

openssl_encrypt
openssl_free_key
Funciones de OpenSSL


Liberar el recurso de clave

openssl_error_string
openssl_get_cipher_methods
Funciones de OpenSSL
PHP Manual

openssl_free_key

(PHP 4 >= 4.0.4, PHP 5)

openssl_free_key — Liberar el recurso de clave

Descripción

void openssl_free_key ( resource $key_identifier )

openssl_free_key() libera la clave asociada con el indetificador de clave key_identifier especificado de la memoria.

Parámetros

key_identifier

Valores devueltos

No devuelve ningún valor.

openssl_error_string
openssl_get_cipher_methods
Funciones de OpenSSL


Obtiene los métodos de cifrado disponibles

openssl_free_key
openssl_get_md_methods
Funciones de OpenSSL
PHP Manual

openssl_get_cipher_methods

(PHP 5 >= 5.3.0)

openssl_get_cipher_methods — Obtiene los métodos de cifrado disponibles

Descripción

array openssl_get_cipher_methods ([ bool $aliases = false ] )

Obtiene una lista de los métodos de cifrado disponibles.

Parámetros

aliases

Establecer a TRUE si los alias de los métodos de cifrado se deberían incluir en el array devuelto.

Valores devueltos

Un array de los métodos de cifrado disponibles.

Ejemplos

Ejemplo #1 Ejemplo de openssl_get_cipher_methods()

Muestra qué pinta tienen los métodos de cifrado disponibles, y también qué alias podrían estar disponibles.

<?php
$cifrados         = openssl_get_cipher_methods();
$cifrados_y_alias = openssl_get_cipher_methods(true);
$alias_cifrados   = array_diff($cifrados_y_alias, $cifrados);

print_r($cifrados);

print_r($alias_cifrados);

?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => AES-128-CBC
    [1] => AES-128-CFB
    [2] => AES-128-CFB1
    [3] => AES-128-CFB8
    [4] => AES-128-ECB
    [5] => AES-128-OFB
    [6] => AES-192-CBC
    [7] => AES-192-CFB
    [8] => AES-192-CFB1
    [9] => AES-192-CFB8
    [10] => AES-192-ECB
    [11] => AES-192-OFB
    [12] => AES-256-CBC
    [13] => AES-256-CFB
    [14] => AES-256-CFB1
    [15] => AES-256-CFB8
    [16] => AES-256-ECB
    [17] => AES-256-OFB
    [18] => BF-CBC
    [19] => BF-CFB
    [20] => BF-ECB
    [21] => BF-OFB
    [22] => CAST5-CBC
    [23] => CAST5-CFB
    [24] => CAST5-ECB
    [25] => CAST5-OFB
    [26] => DES-CBC
    [27] => DES-CFB
    [28] => DES-CFB1
    [29] => DES-CFB8
    [30] => DES-ECB
    [31] => DES-EDE
    [32] => DES-EDE-CBC
    [33] => DES-EDE-CFB
    [34] => DES-EDE-OFB
    [35] => DES-EDE3
    [36] => DES-EDE3-CBC
    [37] => DES-EDE3-CFB
    [38] => DES-EDE3-OFB
    [39] => DES-OFB
    [40] => DESX-CBC
    [41] => IDEA-CBC
    [42] => IDEA-CFB
    [43] => IDEA-ECB
    [44] => IDEA-OFB
    [45] => RC2-40-CBC
    [46] => RC2-64-CBC
    [47] => RC2-CBC
    [48] => RC2-CFB
    [49] => RC2-ECB
    [50] => RC2-OFB
    [51] => RC4
    [52] => RC4-40
    [53] => aes-128-cbc
    [54] => aes-128-cfb
    [55] => aes-128-cfb1
    [56] => aes-128-cfb8
    [57] => aes-128-ecb
    [58] => aes-128-ofb
    [59] => aes-192-cbc
    [60] => aes-192-cfb
    [61] => aes-192-cfb1
    [62] => aes-192-cfb8
    [63] => aes-192-ecb
    [64] => aes-192-ofb
    [65] => aes-256-cbc
    [66] => aes-256-cfb
    [67] => aes-256-cfb1
    [68] => aes-256-cfb8
    [69] => aes-256-ecb
    [70] => aes-256-ofb
    [71] => bf-cbc
    [72] => bf-cfb
    [73] => bf-ecb
    [74] => bf-ofb
    [75] => cast5-cbc
    [76] => cast5-cfb
    [77] => cast5-ecb
    [78] => cast5-ofb
    [79] => des-cbc
    [80] => des-cfb
    [81] => des-cfb1
    [82] => des-cfb8
    [83] => des-ecb
    [84] => des-ede
    [85] => des-ede-cbc
    [86] => des-ede-cfb
    [87] => des-ede-ofb
    [88] => des-ede3
    [89] => des-ede3-cbc
    [90] => des-ede3-cfb
    [91] => des-ede3-ofb
    [92] => des-ofb
    [93] => desx-cbc
    [94] => idea-cbc
    [95] => idea-cfb
    [96] => idea-ecb
    [97] => idea-ofb
    [98] => rc2-40-cbc
    [99] => rc2-64-cbc
    [100] => rc2-cbc
    [101] => rc2-cfb
    [102] => rc2-ecb
    [103] => rc2-ofb
    [104] => rc4
    [105] => rc4-40
)
Array
(
    [18] => AES128
    [19] => AES192
    [20] => AES256
    [21] => BF
    [26] => CAST
    [27] => CAST-cbc
    [32] => DES
    [47] => DES3
    [48] => DESX
    [50] => IDEA
    [55] => RC2
    [82] => aes128
    [83] => aes192
    [84] => aes256
    [85] => bf
    [90] => blowfish
    [91] => cast
    [92] => cast-cbc
    [97] => des
    [112] => des3
    [113] => desx
    [115] => idea
    [120] => rc2
)

Ver también

  • openssl_get_md_methods() - Obtener los métodos de resumen disponibles

openssl_free_key
openssl_get_md_methods
Funciones de OpenSSL


Obtener los métodos de resumen disponibles

openssl_get_cipher_methods
openssl_get_privatekey
Funciones de OpenSSL
PHP Manual

openssl_get_md_methods

(PHP 5 >= 5.3.0)

openssl_get_md_methods — Obtener los métodos de resumen disponibles

Descripción

array openssl_get_md_methods ([ bool $aliases = false ] )

Obtiene una lista de los métodos de resumen disponibles.

Parámetros

aliases

Establecer a TRUE si los alias del método de resumen deberían incluirse dentro del array devuelto.

Valores devueltos

Un array de los métodos de resumen disponibles.

Ejemplos

Ejemplo #1 Ejemplo de openssl_get_md_methods()

Muestra qué pinta tienen los métodos de resumen disponibles, y también qué alias podrían estar disponibles.

<?php
$métodos         = openssl_get_md_methods();
$métodos_y_alias = openssl_get_md_methods(true);
$alias_métodos   = array_diff($métodos_y_alias, $métodos);

print_r($métodos);

print_r($alias_métodos);

?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => DSA
    [1] => DSA-SHA
    [2] => MD2
    [3] => MD4
    [4] => MD5
    [5] => RIPEMD160
    [6] => SHA
    [7] => SHA1
    [8] => SHA224
    [9] => SHA256
    [10] => SHA384
    [11] => SHA512
    [12] => dsaEncryption
    [13] => dsaWithSHA
    [14] => ecdsa-with-SHA1
    [15] => md2
    [16] => md4
    [17] => md5
    [18] => ripemd160
    [19] => sha
    [20] => sha1
    [21] => sha224
    [22] => sha256
    [23] => sha384
    [24] => sha512
)
Array
(
    [2] => DSA-SHA1
    [3] => DSA-SHA1-old
    [4] => DSS1
    [9] => RSA-MD2
    [10] => RSA-MD4
    [11] => RSA-MD5
    [12] => RSA-RIPEMD160
    [13] => RSA-SHA
    [14] => RSA-SHA1
    [15] => RSA-SHA1-2
    [16] => RSA-SHA224
    [17] => RSA-SHA256
    [18] => RSA-SHA384
    [19] => RSA-SHA512
    [28] => dsaWithSHA1
    [29] => dss1
    [32] => md2WithRSAEncryption
    [34] => md4WithRSAEncryption
    [36] => md5WithRSAEncryption
    [37] => ripemd
    [39] => ripemd160WithRSA
    [40] => rmd160
    [43] => sha1WithRSAEncryption
    [45] => sha224WithRSAEncryption
    [47] => sha256WithRSAEncryption
    [49] => sha384WithRSAEncryption
    [51] => sha512WithRSAEncryption
    [52] => shaWithRSAEncryption
    [53] => ssl2-md5
    [54] => ssl3-md5
    [55] => ssl3-sha1
)

Ver también

  • openssl_digest() - Computa un método de resumen
  • openssl_get_cipher_methods() - Obtiene los métodos de cifrado disponibles

openssl_get_cipher_methods
openssl_get_privatekey
Funciones de OpenSSL


Alias de openssl_pkey_get_private

openssl_get_md_methods
openssl_get_publickey
Funciones de OpenSSL
PHP Manual

openssl_get_privatekey

(PHP 4 >= 4.0.4, PHP 5)

openssl_get_privatekey — Alias de openssl_pkey_get_private()

Descripción

Esta función es un alias de: openssl_pkey_get_private().

openssl_get_md_methods
openssl_get_publickey
Funciones de OpenSSL


Alias de openssl_pkey_get_public

openssl_get_privatekey
openssl_open
Funciones de OpenSSL
PHP Manual

openssl_get_publickey

(PHP 4 >= 4.0.4, PHP 5)

openssl_get_publickey — Alias de openssl_pkey_get_public()

Descripción

Esta función es un alias de: openssl_pkey_get_public().

openssl_get_privatekey
openssl_open
Funciones de OpenSSL


Abre información sellada

openssl_get_publickey
openssl_pbkdf2
Funciones de OpenSSL
PHP Manual

openssl_open

(PHP 4 >= 4.0.4, PHP 5)

openssl_open — Abre información sellada

Descripción

bool openssl_open ( string $sealed_data , string &$open_data , string $env_key , mixed $priv_key_id [, string $method ] )

openssl_open() abre (desencripta) sealed_data usando la clave privada asociada con el indentificador de clave priv_key_id y la clave de sobre env_key, y rellena open_data con la información desencriptada. La clave de sobre es generada cuando la información es sellada y sólo puede usarse por una clave privada específica. Véase openssl_seal() para más información.

Parámetros

sealed_data

open_data

Si la llamada tiene éxtio la información abierta es devuelta en este parámetro.

env_key

priv_key_id

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de openssl_open()

<?php
// se asume que $sealed y $env_key contienen la información sellada
// y nuestra clave de sobre, ambas entregadas a nosotros por el sellador.

// traer la clave privada del archivo y prepararla
$fp = fopen("/src/openssl-0.9.6/demos/sign/key.pem", "r");
$priv_key = fread($fp, 8192);
fclose($fp);
$pkeyid = openssl_get_privatekey($priv_key);

// desencriptar la información y guardarla en $open
if (openssl_open($sealed, $open, $env_key, $pkeyid)) {
    echo "aquí está la información abierta: ", $open;
} else {
    echo "fallo al abrir la información";
}

// liberar la clave privada de la memoria
openssl_free_key($pkeyid);
?>

Ver también

  • openssl_seal() - Sellar (encriptar) información

openssl_get_publickey
openssl_pbkdf2
Funciones de OpenSSL


Genera un string PKCS5 v2 PBKDF2, predeterminado a SHA-1

openssl_open
openssl_pkcs12_export_to_file
Funciones de OpenSSL
PHP Manual

openssl_pbkdf2

(PHP 5 >= 5.5.0)

openssl_pbkdf2 — Genera un string PKCS5 v2 PBKDF2, predeterminado a SHA-1

Descripción

string openssl_pbkdf2 ( string $password , string $salt , int $key_length , int $iterations [, string $digest_algorithm ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

password

salt

key_length

iterations

digest_algorithm

Valores devueltos

Devuelve un string o FALSE en caso de error.

openssl_open
openssl_pkcs12_export_to_file
Funciones de OpenSSL


Exporta un Archivo de Almacén de Certificado Compatible con PKCS#12

openssl_pbkdf2
openssl_pkcs12_export
Funciones de OpenSSL
PHP Manual

openssl_pkcs12_export_to_file

(PHP 5 >= 5.2.2)

openssl_pkcs12_export_to_file — Exporta un Archivo de Almacén de Certificado Compatible con PKCS#12

Descripción

bool openssl_pkcs12_export_to_file ( mixed $x509 , string $filename , mixed $priv_key , string $pass [, array $args ] )

openssl_pkcs12_export_to_file() guarda x509 en un archivo nombrado por filename en un formato de archivo PKCS#12.

Parámetros

x509

Ver parámetros Key/Certificate para un listado de valores válidos.

filename

Ruta del archivo de salida.

priv_key

El componente clave privada del archivo PKCS#12.

pass

Contraseña de encriptación para desbloquear el archivo PKCS#12.

args

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

openssl_pbkdf2
openssl_pkcs12_export
Funciones de OpenSSL


Exporta un Archivo de Almacén de Certificado Compatible con PKCS#12 a una variable

openssl_pkcs12_export_to_file
openssl_pkcs12_read
Funciones de OpenSSL
PHP Manual

openssl_pkcs12_export

(PHP 5 >= 5.2.2)

openssl_pkcs12_export — Exporta un Archivo de Almacén de Certificado Compatible con PKCS#12 a una variable

Descripción

bool openssl_pkcs12_export ( mixed $x509 , string &$out , mixed $priv_key , string $pass [, array $args ] )

openssl_pkcs12_export() guarda x509 en una cadena nombrada por out en un formato de archivo PKCS#12.

Parámetros

x509

Ver parámetros Key/Certificate para un listado de valores válidos.

out

Si se tiene éxito, ésto contendrá el PKCS#12.

priv_key

El componente clave privada del archivo PKCS#12.

pass

Contraseña de encriptación para desbloquear el archivo PKCS#12.

args

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

openssl_pkcs12_export_to_file
openssl_pkcs12_read
Funciones de OpenSSL


Convierte un Almacén de Certificado PKCS#12 a una matriz

openssl_pkcs12_export
openssl_pkcs7_decrypt
Funciones de OpenSSL
PHP Manual

openssl_pkcs12_read

(PHP 5 >= 5.2.2)

openssl_pkcs12_read — Convierte un Almacén de Certificado PKCS#12 a una matriz

Descripción

bool openssl_pkcs12_read ( string $pkcs12 , array &$certs , string $pass )

openssl_pkcs12_read() convierte el almacén de certificado PKCS#12 proporcionado por pkcs12 a una matriz nombrada por certs.

Parámetros

pkcs12

certs

Si se tiene éxito, ésto contentrá la Información del Almacén de Certificado.

pass

Contraseña de encriptación para desbloquear el archivo PKCS#12.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

openssl_pkcs12_export
openssl_pkcs7_decrypt
Funciones de OpenSSL


Desencripta un mensaje S/MIME encriptado

openssl_pkcs12_read
openssl_pkcs7_encrypt
Funciones de OpenSSL
PHP Manual

openssl_pkcs7_decrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_pkcs7_decrypt — Desencripta un mensaje S/MIME encriptado

Descripción

bool openssl_pkcs7_decrypt ( string $infilename , string $outfilename , mixed $recipcert [, mixed $recipkey ] )

Desencripta el mensaje S/MIME encriptado que contiene el archivo especificado por infilename usando el certificado y su clave privada asociada, especificados por recipcert y recipkey.

Parámetros

infilename

outfilename

El mensaje desencriptado está escrito en el archivo especificado por outfilename.

recipcert

recipkey

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de openssl_pkcs7_decrypt()

<?php
// se asume que $cert y $clave contienen su par certificado personal y clave
// privada, y que usted es el destinatario de un mensaje S/MIME
$infilename = "encriptado.msg";  // este archivo contiene su mensaje encriptado
$outfilename = "desencriptado.msg"; // asegúrese de que puede escribir en este archivo

if (openssl_pkcs7_decrypt($infilename, $outfilename, $cert, $clave)) {
    echo "¡desencriptado!";
} else {
    echo "¡fallo al desencriptar!";
}
?>

openssl_pkcs12_read
openssl_pkcs7_encrypt
Funciones de OpenSSL


Encriptar un mensaje S/MIME

openssl_pkcs7_decrypt
openssl_pkcs7_sign
Funciones de OpenSSL
PHP Manual

openssl_pkcs7_encrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_pkcs7_encrypt — Encriptar un mensaje S/MIME

Descripción

bool openssl_pkcs7_encrypt ( string $infile , string $outfile , mixed $recipcerts , array $headers [, int $flags = 0 [, int $cipherid = OPENSSL_CIPHER_RC2_40 ]] )

openssl_pkcs7_encrypt() toma el contenido del archivo nombrado por infile y lo encripta usando un cifrado RC2 de 40 bits por lo que sólo lo podrá leer los destinatarios previstos especificados por recipcerts.

Parámetros

infile

outfile

recipcerts

Un único certificado X.509, o una matriz de certificados X.509.

headers

headers es una matriz de cabeceras que serán añadidas delante de la información después de que haya sido encriptada.

headers puede ser una matriz asociativa con las claves como el nombre de la cabecera, o una matriz indexada, donde cada elemento contiene una sola línea de cabecera.

flags

flags se puede usar para especificar las opciones que afectan al proceso de codificación - véase constantes PKCS7.

cipherid

Una de las constants de cipher.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.0.0 | Se añadió el parámetro cipherid.

Ejemplos

Ejemplo #1 Ejemplo de openssl_pkcs7_encrypt()

<?php
// el mensaje que quiere encriptar y enviar a su agente secreto
// en el campo, conocido como nighthawk. Tiene su certificado
// en el archivo nighthawk.pem
$data = <<<EOD
Nighthawk,

Alto secreto, ¡Confidencial!

¡El enemigo nos está rodeando! ¡Encuéntrese conmigo en el café a las 8.30am
para obtener su pasaporte falso!

C.G.
EOD;

// cargar la clave
$clave = file_get_contents("nighthawk.pem");

// guardar el mensaje en un archivo
$fp = fopen("mensaje.txt", "w");
fwrite($fp, $data);
fclose($fp);

// encriptarlo
if (openssl_pkcs7_encrypt("mensaje.txt", "enc.txt", $clave,
    array("Para" => "nighthawk@example.com", // sintaxis asociativa
          "De: C.G. <cg@example.com>", // sintaxis indexada
          "Tema" => "Confidencial"))) {
    // mensaje firmado - ¡envíelo!
    exec(ini_get("ruta_correo") . " < enc.txt");
}
?>

openssl_pkcs7_decrypt
openssl_pkcs7_sign
Funciones de OpenSSL


Firma un mensaje S/MIME

openssl_pkcs7_encrypt
openssl_pkcs7_verify
Funciones de OpenSSL
PHP Manual

openssl_pkcs7_sign

(PHP 4 >= 4.0.6, PHP 5)

openssl_pkcs7_sign — Firma un mensaje S/MIME

Descripción

bool openssl_pkcs7_sign ( string $infilename , string $outfilename , mixed $signcert , mixed $privkey , array $headers [, int $flags = PKCS7_DETACHED [, string $extracerts ]] )

openssl_pkcs7_sign() toma el contenido del archivo nombrado por infilename y lo firma usando el certificado y su clave privada coincidente especificados por los parámetros signcert y privkey.

Parámetros

infilename

outfilename

signcert

privkey

headers

headers es una matriz de cabeceras que serán añadidas delante de la información después de que se haya firmado (véase openssl_pkcs7_encrypt() para más información acerca del formato de este parámetro).

flags

flags se puede usar para alterar la salida - véase constantes PKCS7.

extracerts

extracerts especifica el nombre de un archivo que contiene un grupo de certificados extra, para incluir en la firma, que puede ser usado para, por ejemplo, ayudar al destinatario a verificar el certificado que se usó.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de openssl_pkcs7_sign()

<?php
// el mensaje que quiere firmar, por lo que el destinatario puede estar serguro de fue usted
// el que lo envió
$data = <<<EOD

Tiene mi autorización para emplear $10,000 en gastos de comida.

El Presidente
EOD;
// guardar el mensaje en un archivo
$fp = fopen("mensaje.txt", "w");
fwrite($fp, $data);
fclose($fp);
// encriptarlo
if (openssl_pkcs7_sign("mensaje.txt", "firmado.txt", "micert.pem",
    array("file://micert.pem", "mi_frase_de_contraseña"),
    array("Para" => "joes@example.com", // sintaxis asociativa
          "DE: C.G. <presidente@example.com>", // sintaxis indexada
          "Tema" => "Confidencial")
    )) {
    // mensaje firmado - ¡envíelo!
    exec(ini_get("ruta_correo") . " < firmado.txt");
}
?>

openssl_pkcs7_encrypt
openssl_pkcs7_verify
Funciones de OpenSSL


Verifica la firma de un mensaje S/MIME firmado

openssl_pkcs7_sign
openssl_pkey_export_to_file
Funciones de OpenSSL
PHP Manual

openssl_pkcs7_verify

(PHP 4 >= 4.0.6, PHP 5)

openssl_pkcs7_verify — Verifica la firma de un mensaje S/MIME firmado

Descripción

mixed openssl_pkcs7_verify ( string $filename , int $flags [, string $outfilename [, array $cainfo [, string $extracerts [, string $content ]]]] )

openssl_pkcs7_verify() lee el mensaje S/MIME contenido en el archivo dado y examina la firma digital.

Parámetros

filename

Ruta del mensaje.

flags

flags se puede usar para indicar cómo se verifica la firma - véase constantes PKCS7 para más información.

outfilename

Si se especifica outfilename, debería se una cadena que contiene el nombre de un archivo en el que los certificados de las personas que firmaron los mensajes serán guardados en formato PEM.

cainfo

Si se especifica cainfo, debería contener información sobre los certificados de la AC de confianza para usarla en el proceso de verificación - véase verificación de certificados para más información acerca de este parámetro.

extracerts

Si se especifica extracerts, éste es el nombre de archivo de un archivo que contiene un grupo de certificados que se van a usar como AC que no sea de confianza.

content

Se puede especificar un nombre de archivo con content, que será rellenado con la información verificada, pero con la información de la firma eliminada.

Valores devueltos

Devuelve TRUE si la firma es verificada, FALSE si no es correcta (el mensaje ha sido interferido, o el certificado de firma no es válido), o -1 si se produjo un error.

Historial de cambios

Versión | Descripción
5.1.0 | Se añadió el parámetro content.

Notas

Nota: Como está especificado en RFC 2045, la líneas no pueden ser más largas de 76 caracteres en el parámetro filename.

openssl_pkcs7_sign
openssl_pkey_export_to_file
Funciones de OpenSSL


Obtiene una representación de una clave exportable a un archivo

openssl_pkcs7_verify
openssl_pkey_export
Funciones de OpenSSL
PHP Manual

openssl_pkey_export_to_file

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_export_to_file — Obtiene una representación de una clave exportable a un archivo

Descripción

bool openssl_pkey_export_to_file ( mixed $key , string $outfilename [, string $passphrase [, array $configargs ]] )

openssl_pkey_export_to_file() guarda una interpretación (codificada con PEM) ascii blindada de key en un archivo nombrado por outfilename.

Nota: Necesita tener instalado un openssl.cnf válido para que esta función opere correctamente. Vea las notas sobre la sección de instalación para más información.

Parámetros

key

outfilename

Ruta del archivo de salida.

passphrase

La clave se puede proteger opcionalmente con una passphrase.

configargs

configargs se puede usar para ajustar el proceso de exportación especificando y/o sobrescribiendo las opciones del archivo de configuración de openssl. Véase openssl_csr_new() para más información acerca de configargs.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

openssl_pkcs7_verify
openssl_pkey_export
Funciones de OpenSSL


Obtiene una representación de una clave exportable a una cadena

openssl_pkey_export_to_file
openssl_pkey_free
Funciones de OpenSSL
PHP Manual

openssl_pkey_export

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_export — Obtiene una representación de una clave exportable a una cadena

Descripción

bool openssl_pkey_export ( mixed $key , string &$out [, string $passphrase [, array $configargs ]] )

openssl_pkey_export() exporta la clave key como una cadena PEM codificada y la alamcena en out (que es pasado por referencia).

Nota: Necesita tener instalado un openssl.cnf válido para que esta función opere correctamente. Vea las notas sobre la sección de instalación para más información.

Parámetros

key

out

passphrase

La clave es protegida opcionalmente mediante passphrase.

configargs

configargs se puede usar para ajustar el proceso de exportación especificando y/o sobrescribiendo las opciones del archivo de configuración de openssl. Véase openssl_csr_new() para más información acerca de configargs.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

openssl_pkey_export_to_file
openssl_pkey_free
Funciones de OpenSSL


Libera una clave privada

openssl_pkey_export
openssl_pkey_get_details
Funciones de OpenSSL
PHP Manual

openssl_pkey_free

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_free — Libera una clave privada

Descripción

void openssl_pkey_free ( resource $key )

Esta función libera una clave privada creada por openssl_pkey_new().

Parámetros

key

Un recurso que contiene la clave.

Valores devueltos

No devuelve ningún valor.

openssl_pkey_export
openssl_pkey_get_details
Funciones de OpenSSL


Devuelve una matriz con los detalles de la clave

openssl_pkey_free
openssl_pkey_get_private
Funciones de OpenSSL
PHP Manual

openssl_pkey_get_details

(PHP 5 >= 5.2.0)

openssl_pkey_get_details — Devuelve una matriz con los detalles de la clave

Descripción

array openssl_pkey_get_details ( resource $key )

Esta función devuelve los detalles de la clave (bits, key, type).

Parámetros

key

Un recurso que contiene la clave.

Valores devueltos

Devuelve una matriz con los detalles de la clave si se tuvo éxito o FALSE si falló. La matriz devuelta tiene indexados bits (número de bits), key (representación de cadena de la clave pública) y type (el tipo de la clave que es OPENSSL_KEYTYPE_RSA, OPENSSL_KEYTYPE_DSA, OPENSSL_KEYTYPE_DH, OPENSSL_KEYTYPE_EC o -1 significa desconocido).

Dependiendo del tipo de clave usada, se pueden devolver detalles adicionales. Observe que algunos elementos pueden no estar disponibles.

  • OPENSSL_KEYTYPE_RSA, una clave adicional del array llamada "rsa", que contiene la información de la clave, es devuelta.
    Clave Descripción
    "n"
    "e"
    "d"
    "p"
    "q"
    "dmp1"
    "dmq1"
    "iqmp"
  • OPENSSL_KEYTYPE_DSA, una clave adicional del array llamada "dsa", que contiene la información de la clave, es devuelta.
    Clave Descripción
    "p"
    "q"
    "g"
    "priv_key"
    "pub_key"
  • OPENSSL_KEYTYPE_DH, una clave adicional del array llamada "dh", que contiene la información de la clave, es devuelta.
    Clave Descripción
    "p"
    "g"
    "priv_key"
    "pub_key"
openssl_pkey_free
openssl_pkey_get_private
Funciones de OpenSSL


Obtener una clave privada

openssl_pkey_get_details
openssl_pkey_get_public
Funciones de OpenSSL
PHP Manual

openssl_pkey_get_private

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_get_private — Obtener una clave privada

Descripción

resource openssl_pkey_get_private ( mixed $key [, string $passphrase = "" ] )

openssl_get_privatekey() analiza la clave key y la prepara para usarla con otras funciones.

Parámetros

key

key puede ser una de las siguientes:

  1. una cadena con el formato file://ruta/al/archivo.pem. El archivo nombrado debe contener un certificado/clave privada PEM codificada (puede contener ambos).
  2. una clave privada con formato PEM.

passphrase

El parámetro opcional passphrase se debe usar si la clave especificada está encriptada (protegida por una frase de contraseña).

Valores devueltos

Devuelve un identificador de clave positivo si se tuvo éxito, o FALSE si se produjo un error.

openssl_pkey_get_details
openssl_pkey_get_public
Funciones de OpenSSL


Extrae la clave pública del certificado y la prepara para usarla

openssl_pkey_get_private
openssl_pkey_new
Funciones de OpenSSL
PHP Manual

openssl_pkey_get_public

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_get_public — Extrae la clave pública del certificado y la prepara para usarla

Descripción

resource openssl_pkey_get_public ( mixed $certificate )

openssl_get_publickey() extrae la clave pública de certificate y la prepara para usarla con otras funciones.

Parámetros

certificate

certificate puede ser uno de los siguientes:

  1. un recurso de certificado X.509
  2. una cadena con el formato file://ruta/al/archivo.pem. El archivo nombrado debe contener un certificado/clave privada PEM codificada (puede contener ambos).
  3. una clave privada con formato PEM.

Valores devueltos

Devuelve un identificador de clave positivo si se tuvo éxito, o FALSE si se produjo un error.

openssl_pkey_get_private
openssl_pkey_new
Funciones de OpenSSL


Genera una clave privada nueva

openssl_pkey_get_public
openssl_private_decrypt
Funciones de OpenSSL
PHP Manual

openssl_pkey_new

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_new — Genera una clave privada nueva

Descripción

resource openssl_pkey_new ([ array $configargs ] )

openssl_pkey_new() genera un nuevo par calve privada y clave pública. El componente público de la clave se puede obtener usando openssl_pkey_get_public().

Nota: Necesita tener instalado un openssl.cnf válido para que esta función opere correctamente. Vea las notas sobre la sección de instalación para más información.

Parámetros

configargs

Se puede ajustar la generación de la clave (tal como especificando el número de bits) usando configargs. Véase openssl_csr_new() para más información acerca de configargs.

Valores devueltos

Devuelve un identificador de recurso para la clave privada si se tuvo éxito, o FALSE si se produjo un error.

openssl_pkey_get_public
openssl_private_decrypt
Funciones de OpenSSL


Desencripta información con la clave privada

openssl_pkey_new
openssl_private_encrypt
Funciones de OpenSSL
PHP Manual

openssl_private_decrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_private_decrypt — Desencripta información con la clave privada

Descripción

bool openssl_private_decrypt ( string $data , string &$decrypted , mixed $key [, int $padding = OPENSSL_PKCS1_PADDING ] )

openssl_private_decrypt() desncripta la información data la cuál fue previamente encriptada mediante openssl_public_encrypt() y almacena el resultado en decrypted.

Puede usar esta función para, por ejemplo, desencriptar información que es sólo para usted.

Parámetros

data

decrypted

key

key debe ser la clave privada correspondiente a la usada para encriptar la información.

padding

padding puede ser OPENSSL_PKCS1_PADDING, OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING, OPENSSL_NO_PADDING.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • openssl_public_encrypt() - Encripta información con una clave pública
  • openssl_public_decrypt() - Desencripta información con la clave pública

openssl_pkey_new
openssl_private_encrypt
Funciones de OpenSSL


Encripta información con la clave privada

openssl_private_decrypt
openssl_public_decrypt
Funciones de OpenSSL
PHP Manual

openssl_private_encrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_private_encrypt — Encripta información con la clave privada

Descripción

bool openssl_private_encrypt ( string $data , string &$crypted , mixed $key [, int $padding = OPENSSL_PKCS1_PADDING ] )

openssl_private_encrypt() encripta data con la clave privada key y almacena el resultado en crypted. La información encriptada se puede desencriptar mediante openssl_public_decrypt().

Esta función se puede usar para, p.ej., firmar información (o su hash) para demostrar que no está escrita por otro cualquiera.

Parámetros

data

crypted

key

padding

padding puede ser OPENSSL_PKCS1_PADDING, OPENSSL_NO_PADDING.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • openssl_public_encrypt() - Encripta información con una clave pública
  • openssl_public_decrypt() - Desencripta información con la clave pública

openssl_private_decrypt
openssl_public_decrypt
Funciones de OpenSSL


Desencripta información con la clave pública

openssl_private_encrypt
openssl_public_encrypt
Funciones de OpenSSL
PHP Manual

openssl_public_decrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_public_decrypt — Desencripta información con la clave pública

Descripción

bool openssl_public_decrypt ( string $data , string &$decrypted , mixed $key [, int $padding = OPENSSL_PKCS1_PADDING ] )

openssl_public_decrypt() desncripta la información data que fue previamente encriptada mediante openssl_private_encrypt() y almacena el resultado en decrypted.

Se puede usar esta función para, p.ej., verificar si el mensaje fur escrito por el propietario de la clave privada.

Parámetros

data

decrypted

key

key debe ser la clave pública que se corresponde con la usada para encriptar la información.

padding

padding puede ser OPENSSL_PKCS1_PADDING, OPENSSL_NO_PADDING.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • openssl_private_encrypt() - Encripta información con la clave privada
  • openssl_private_decrypt() - Desencripta información con la clave privada

openssl_private_encrypt
openssl_public_encrypt
Funciones de OpenSSL


Encripta información con una clave pública

openssl_public_decrypt
openssl_random_pseudo_bytes
Funciones de OpenSSL
PHP Manual

openssl_public_encrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_public_encrypt — Encripta información con una clave pública

Descripción

bool openssl_public_encrypt ( string $data , string &$crypted , mixed $key [, int $padding = OPENSSL_PKCS1_PADDING ] )

openssl_public_encrypt() encripta data con la clave pública key y almacena el resultado en crypted. La información encriptada puede ser desencriptada mediante openssl_private_decrypt().

Esta función se puede usar para, p.ej., encriptar un mensaje que se pueda leer después sólo por el propietario de la clave privada. También se puede usar para almacenar información segura en una base de datos.

Parámetros

data

crypted

Esto contendrá el resultado de la encriptación.

key

La clave pública.

padding

padding puede ser OPENSSL_PKCS1_PADDING, OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING, OPENSSL_NO_PADDING.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • openssl_private_encrypt() - Encripta información con la clave privada
  • openssl_private_decrypt() - Desencripta información con la clave privada

openssl_public_decrypt
openssl_random_pseudo_bytes
Funciones de OpenSSL


Genera una cadena de bytes pseudo-aleatoria

openssl_public_encrypt
openssl_seal
Funciones de OpenSSL
PHP Manual

openssl_random_pseudo_bytes

(PHP 5 >= 5.3.0)

openssl_random_pseudo_bytes — Genera una cadena de bytes pseudo-aleatoria

Descripción

string openssl_random_pseudo_bytes ( int $length [, bool &$crypto_strong ] )

Genera una cadena de bytes pseudo-aleatoria, con el número de bytes determinado por el parámetro length.

También indica si se usó un algoritmo criptográficamente fuerte para producir loa bytes pseudo-aleatorios, y hace esto mediante el parámetro opcional crypto_strong. Es raro que este parámetro sea FALSE, pero algunos sistemas pueden ser antiguos rotos.

Parámetros

length

La longitud de la cadena de bytes desada. Debe ser un entero positivo. PHP intentará asignar este parámetro a un entero no nulo para usarlo.

crypto_strong

Si se pasó en la función, mantendrá un valor booleano value que determina si el algoritmo usado fue "criptográficamente fuerte", p.ej., seguro para el uso con GPG, contraseñas, etc. TRUE si lo hizo, de otro modo FALSE

Valores devueltos

Devuelve el string de bytes generado si se tuvo éxito, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de openssl_random_pseudo_bytes()

<?php
for ($i = -1; $i <= 4; $i++) {
    $bytes = openssl_random_pseudo_bytes($i, $cstrong);
    $hex   = bin2hex($bytes);

    echo "Longitudes: Bytes: $i y Hex: " . strlen($hex) . PHP_EOL;
    var_dump($hex);
    var_dump($cstrong);
    echo PHP_EOL;
}
?>

El resultado del ejemplo sería algo similar a:

Longitudes: Bytes: -1 y Hex: 0
string(0) ""
NULL

Longitudes: Bytes: 0 y Hex: 0
string(0) ""
NULL

Longitudes: Bytes: 1 y Hex: 2
string(2) "42"
bool(true)

Longitudes: Bytes: 2 y Hex: 4
string(4) "dc6e"
bool(true)

Longitudes: Bytes: 3 y Hex: 6
string(6) "288591"
bool(true)

Longitudes: Bytes: 4 y Hex: 8
string(8) "ab86d144"
bool(true)

Ver también

  • bin2hex() - Convierte datos binarios en su representación hexadecimal
  • crypt() - Hashing de una sola vía de un string
  • mt_rand() - Genera un mejor número entero aleatorio
  • uniqid() - Generar un ID único
openssl_public_encrypt
openssl_seal
Funciones de OpenSSL


Sellar (encriptar) información

openssl_random_pseudo_bytes
openssl_sign
Funciones de OpenSSL
PHP Manual

openssl_seal

(PHP 4 >= 4.0.4, PHP 5)

openssl_seal — Sellar (encriptar) información

Descripción

int openssl_seal ( string $data , string &$sealed_data , array &$env_keys , array $pub_key_ids [, string $method ] )

openssl_seal() sella (encripta) la información data usando RC4 con una clave secreta generada aleatoriamente. La clave es encriptada con cada clave pública asociada con los identificadores de pub_key_ids y cada clave encriptada es devuelta en env_keys. Esto significa que se puede enviar información sellada a múltiples destinatarios (siempre que se hayan obtenido sus claves públicas). Cada destinatario debe recibir tanto la información sellada como la clave de sobre que fue encriptada con la clave publica del destinatario.

Parámetros

data

sealed_data

env_keys

pub_key_ids

Valores devueltos

Devuelve la longitud de la información sellada si se tuvo éxito, o FALSE si se produjo un error. Si se tuvo éxito, la información sellada es devuelta en sealed_data, y las claves de sobre en env_keys.

Ejemplos

Ejemplo #1 Ejemplo de openssl_seal()

<?php
// se asume que $data contiene la información que va a ser sellada

// traer las claves públicas para nuestros destinatarios, y prepararlas
$fp = fopen("/src/openssl-0.9.6/demos/maurice/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pk1 = openssl_get_publickey($cert);
// Repetir para el segundo destinatario
$fp = fopen("/src/openssl-0.9.6/demos/sign/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pk2 = openssl_get_publickey($cert);

// sellar el mensaje, sólo los propietarios de $pk1 y $pk2 pueden desencriptar $sealed
// con las claves $ekeys[0] y $ekeys[1] respectivamente.
openssl_seal($data, $sealed, $ekeys, array($pk1, $pk2));

// liberar las claves de la memoria
openssl_free_key($pk1);
openssl_free_key($pk2);
?>

Ver también

  • openssl_open() - Abre información sellada

openssl_random_pseudo_bytes
openssl_sign
Funciones de OpenSSL


Generar una firma

openssl_seal
openssl_verify
Funciones de OpenSSL
PHP Manual

openssl_sign

(PHP 4 >= 4.0.4, PHP 5)

openssl_sign — Generar una firma

Descripción

bool openssl_sign ( string $data , string &$signature , mixed $priv_key_id [, int $signature_alg = OPENSSL_ALGO_SHA1 ] )

openssl_sign() computa una firma para la información data especificada usando SHA1 para el hash, seguido por la encriptación usando la clave privada asociada con priv_key_id. Observe que la información misma no está encriptada.

Parámetros

data

signature

Si la llamada tuvo éxito, la firma es devuelta en signature.

priv_key_id

signature_alg

Para más información vea la lista de Algoritmos de Firma.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.0.0 | Se añadió el parámetro signature_alg.

Ejemplos

Ejemplo #1 Ejemplo de openssl_sign()

<?php
// se asume que $data contiene la información que se va a firmar

// traer la clave privada desde el archivo y prepararla
$fp = fopen("/src/openssl-0.9.6/demos/sign/key.pem", "r");
$priv_key = fread($fp, 8192);
fclose($fp);
$pkeyid = openssl_get_privatekey($priv_key);

// computar la firma
openssl_sign($data, $signature, $pkeyid);

// liberar la clave de la memoria
openssl_free_key($pkeyid);
?>

Ver también

  • openssl_verify() - Verificar una firma

openssl_seal
openssl_verify
Funciones de OpenSSL


Verificar una firma

openssl_sign
openssl_x509_check_private_key
Funciones de OpenSSL
PHP Manual

openssl_verify

(PHP 4 >= 4.0.4, PHP 5)

openssl_verify — Verificar una firma

Descripción

int openssl_verify ( string $data , string $signature , mixed $pub_key_id [, int $signature_alg = OPENSSL_ALGO_SHA1 ] )

openssl_verify() verifica que la firma signature es correcta para la información data especificada usando la clave pública asociada con pub_key_id. Ésto debe ser la clave pública que se corresponde con la clave privada usada para firmar.

Parámetros

data

signature

pub_key_id

signature_alg

Para más información véase la lista de Algoritmos de Firma.

Valores devueltos

Devuelve 1 si la firma es correcta, 0 si es incorrecta, y -1 si se produjo un error.

Historial de cambios

Versión | Descripción
5.2.0 | Se añadió el parámetro signature_alg.

Ejemplos

Ejemplo #1 Ejemplo de openssl_verify()

<?php
// se asume que $data y $signature contienen la información y la firma

// traer la clave pública desde el certifiado y prepararla
$fp = fopen("/src/openssl-0.9.6/demos/sign/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pubkeyid = openssl_get_publickey($cert);

// establecer si la firma es correcta o no
$ok = openssl_verify($data, $signature, $pubkeyid);
if ($ok == 1) {
    echo "buena";
} elseif ($ok == 0) {
    echo "mala";
} else {
    echo "alarmante, error verificando la firma";
}
// libera la clave de la memoria
openssl_free_key($pubkeyid);
?>

Ver también

  • openssl_sign() - Generar una firma

openssl_sign
openssl_x509_check_private_key
Funciones de OpenSSL


Comprueba si una clave privada se corresponde a un certificado

openssl_verify
openssl_x509_checkpurpose
Funciones de OpenSSL
PHP Manual

openssl_x509_check_private_key

(PHP 4 >= 4.2.0, PHP 5)

openssl_x509_check_private_key — Comprueba si una clave privada se corresponde a un certificado

Descripción

bool openssl_x509_check_private_key ( mixed $cert , mixed $key )

Comprueba si key es la clave privada que se corresponde con cert.

Parámetros

cert

El certificado.

key

La clave privada.

Valores devueltos

Devuelve TRUE si key el la clave privada que se conrresponde con cert, o FALSE si no.

openssl_verify
openssl_x509_checkpurpose
Funciones de OpenSSL


Verifica si un certificado se puede usar para un propósito en particular

openssl_x509_check_private_key
openssl_x509_export_to_file
Funciones de OpenSSL
PHP Manual

openssl_x509_checkpurpose

(PHP 4 >= 4.0.6, PHP 5)

openssl_x509_checkpurpose — Verifica si un certificado se puede usar para un propósito en particular

Descripción

int openssl_x509_checkpurpose ( mixed $x509cert , int $purpose [, array $cainfo = array() [, string $untrustedfile ]] )

openssl_x509_checkpurpose() examina un certificado para ver si se puede usar para el propósito purpose especificado.

Parámetros

x509cert

El certificado examinado.

purpose

Propósitos de openssl_x509_checkpurpose()
Constante | Descripción
X509_PURPOSE_SSL_CLIENT | ¿El certificado puede ser usado por el lado del cliente de una conexión SSL?
X509_PURPOSE_SSL_SERVER | ¿El certificado puede ser usado por el lado del servidor de una conexión SSL?
X509_PURPOSE_NS_SSL_SERVER | ¿El certificado puede ser usado por un servidor SSL Netscape?
X509_PURPOSE_SMIME_SIGN | ¿Se puede usar el certificado para firmar un email S/MIME?
X509_PURPOSE_SMIME_ENCRYPT | ¿Se puede usar el certificado para encriptar un email S/MIME?
X509_PURPOSE_CRL_SIGN | ¿Se puede usar el certificado para firmar una Lista de Revocación de Certificado (CRL en inglés)?
X509_PURPOSE_ANY | ¿Se puede usar el certificado para Cualquier/Todos los propósitos?
Estas opciones no son campos de bits - ¡sólo se puede especificar una!

cainfo

cainfo debería ser una matriz de archivos/directorios de una AC de confianza, como está descrito en Verificación de Certificados.

untrustedfile

Si se especifica debería ser el nombre de un archivo PEM codificado que contiene los certificados que se pueden usar para ayudar a verificar el certificado, aunque no se pone confianza en los certificados que vienen de ese archivo.

Valores devueltos

Devuelve TRUE si el certificado se puede usar para el propósito previsto, FALSE si no se puede, o -1 si se produjo un error.

openssl_x509_check_private_key
openssl_x509_export_to_file
Funciones de OpenSSL


Exporta un certificado a un archivo

openssl_x509_checkpurpose
openssl_x509_export
Funciones de OpenSSL
PHP Manual

openssl_x509_export_to_file

(PHP 4 >= 4.2.0, PHP 5)

openssl_x509_export_to_file — Exporta un certificado a un archivo

Descripción

bool openssl_x509_export_to_file ( mixed $x509 , string $outfilename [, bool $notext = TRUE ] )

openssl_x509_export_to_file() guarda x509 en un archivo nombrado por outfilename en un formato PEM codificado.

Parámetros

x509

Ver parámetros Key/Certificate para un listado de valores válidos.

outfilename

Ruta del archivo de salida.

notext

El parámetro opcional notext afecta la verbosidad de la salida; si es FALSE, se incluirá información adicional en la salida entendible por seres humanos. El valor por defecto para notext es TRUE.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

openssl_x509_checkpurpose
openssl_x509_export
Funciones de OpenSSL


Exporta un certificado como una cadena

openssl_x509_export_to_file
openssl_x509_free
Funciones de OpenSSL
PHP Manual

openssl_x509_export

(PHP 4 >= 4.2.0, PHP 5)

openssl_x509_export — Exporta un certificado como una cadena

Descripción

bool openssl_x509_export ( mixed $x509 , string &$output [, bool $notext = TRUE ] )

openssl_x509_export() guarda x509 en una cadena nombrada por output en un formato PEM codificado.

Parámetros

x509

Ver parámetros Key/Certificate para un listado de valores válidos.

output

Si se tiene éxito, ésto contendrá el PEM.

notext

El parámetro opcional notext afecta la verbosidad de la salida; si es FALSE, se incluirá información adicional en la salida entendible por seres humanos. El valor por defecto para notext es TRUE.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

openssl_x509_export_to_file
openssl_x509_free
Funciones de OpenSSL


Liberar un recurso de certificado

openssl_x509_export
openssl_x509_parse
Funciones de OpenSSL
PHP Manual

openssl_x509_free

(PHP 4 >= 4.0.6, PHP 5)

openssl_x509_free — Liberar un recurso de certificado

Descripción

void openssl_x509_free ( resource $x509cert )

openssl_x509_free() libera un certificado asociado con el recurso x509cert especificado de la memoria.

Parámetros

x509cert

Valores devueltos

No devuelve ningún valor.

openssl_x509_export
openssl_x509_parse
Funciones de OpenSSL


Analiza un certificado X509 y devuelve la información como un matriz

openssl_x509_free
openssl_x509_read
Funciones de OpenSSL
PHP Manual

openssl_x509_parse

(PHP 4 >= 4.0.6, PHP 5)

openssl_x509_parse — Analiza un certificado X509 y devuelve la información como un matriz

Descripción

array openssl_x509_parse ( mixed $x509cert [, bool $shortnames = true ] )

openssl_x509_parse() devuelve la información sobre el certificado x509cert proporcionado, incluyendo los campos tales como subject name, issuer name, purposes, fechas valid from y valid to, etc.

Parámetros

x509cert

shortnames

shortnames controla cómo se indexa la información en la matriz - si shortnames es TRUE (por defecto) los campos serán indexados con el nombre corto, si no, se usará el nombre largo - p.ej.: CN es el nombre corto de commonName.

Valores devueltos

La estructura de la información devuleta no está (deliberadamente) documentada aún, ya que todavía está sujeta a cambios.

openssl_x509_free
openssl_x509_read
Funciones de OpenSSL


Analiza un certificado X.509 y devuelve un identificador de recurso para él

openssl_x509_parse
Hash de contraseñas
Funciones de OpenSSL
PHP Manual

openssl_x509_read

(PHP 4 >= 4.0.6, PHP 5)

openssl_x509_read — Analiza un certificado X.509 y devuelve un identificador de recurso para él

Descripción

resource openssl_x509_read ( mixed $x509certdata )

openssl_x509_read() analiza un certificado proporcionado por x509certdata y devuelve un identificador de recurso para él.

Parámetros

x509certdata

Valores devueltos

Devuelve un identificador de recurso si se tuvo éxito o FALSE en caso de error.

openssl_x509_parse
Hash de contraseñas
Funciones de OpenSSL


Hash de contraseñas

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de hashing de contraseñas
    • password_get_info — Devuelve información sobre el hash proporcionado
    • password_hash — Crea un nuevo hash de contraseña
    • password_needs_rehash — Comprueba si el hash facilitado coincide con las opciones proporcionadas
    • password_verify — Comprueba que la contraseña coincida con un hash
openssl_x509_read
Introducción
Extensiones criptográficas


Introducción

La API de hash de contraseñas proporciona una envoltura fácil de usar sobre crypt() para hacerala sencilla para crear y administrar contraseñas de una forma segura.

Esta extensión está disponible desde PHP 5.5.0, aunque también existe una » implementación del espacio de usuario para PHP >= 5.3.7.

Hash de contraseñas
Instalación/Configuración
Hash de contraseñas


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Hash de contraseñas


Constantes predefinidas

Estas constantes están disponibles siempre ya que forman parte del núcleo de PHP.

PASSWORD_BCRYPT (integer)
PASSWORD_BCRYPT se utiliza para crear el hash de una contraseña hashes con el algoritmo CRYPT_BLOWFISH.
PASSWORD_DEFAULT (integer)
El algoritmo que se utilizará por defecto si no se especifica otro distinto. Esto puede cambiar en versiones futuras de PHP, cuando métodos más nuevos y fuertes de hashing estén disponibles.

Tipos de recursos
Funciones de hashing de contraseñas
Hash de contraseñas


Funciones de hashing de contraseñas

Tabla de contenidos

  • password_get_info — Devuelve información sobre el hash proporcionado
  • password_hash — Crea un nuevo hash de contraseña
  • password_needs_rehash — Comprueba si el hash facilitado coincide con las opciones proporcionadas
  • password_verify — Comprueba que la contraseña coincida con un hash
Constantes predefinidas
password_get_info
Hash de contraseñas


Devuelve información sobre el hash proporcionado

Funciones de hashing de contraseñas
password_hash
Funciones de hashing de contraseñas
PHP Manual

password_get_info

(PHP 5 >= 5.5.0)

password_get_info — Devuelve información sobre el hash proporcionado

Descripción

array password_get_info ( string $hash )

Cuando se le pasa un hash válido creado con un algoritmo soportado por password_hash(), esta función devolverá un array con información sobre dicho hash.

Parámetros

hash

Un hash creado por password_hash().

Valores devueltos

Devuelve un array asociativo con tres elementos:

  • algo, que coincidirá con una constante de algoritmo de contraseñas
  • algoName, que tiene el nombre legible por humanos del algoritmo
  • options, que incluye las opciones proporcionadas al llamar a password_hash()

Funciones de hashing de contraseñas
password_hash
Funciones de hashing de contraseñas


Crea un nuevo hash de contraseña

password_get_info
password_needs_rehash
Funciones de hashing de contraseñas
PHP Manual

password_hash

(PHP 5 >= 5.5.0)

password_hash — Crea un nuevo hash de contraseña

Descripción

string password_hash ( string $password , integer $algo [, array $options ] )

password_hash() crea un nuevo hash de contraseña usando un algoritmo de hash fuerte de único sentido. password_hash() es compatible con crypt(). Por lo tanto, los hash de contraseñas creados con crypt() se pueden usar con password_hash().

Actualmente, se tiene soporte para los siguientes algoritmos:

  • PASSWORD_DEFAULT - Usar el algoritmo bcrypt (predeterminado a partir de PHP 5.5.0). Observe que esta constante está diseñada para cambiar siempre que se añada un algoritmo nuevo y más fuerte a PHP. Por esta razión, la longitud del resultado de usar este identificador puede cambiar en el tiempo. Por lo tanto, se recomienda almacenar el resultado en una columna de una base de datos que pueda apliarse a más de 60 caracteres (255 caracteres sería una buena elección).
  • PASSWORD_BCRYPT - Usar el algoritmo CRYPT_BLOWFISH para crear el hash. Producirá un hash estándar compatible con crypt() utilizando el identificador "$2y$". El resultado siempre será un string de 60 caracteres, o FALSE en caso de error.

    Opciones admitias:

    • salt - para proporcionar manualmente una sal a usar cuando se realiza el hash de la contraseña. Observe que esto sobrescribirá y prevendrá que una sal sea generada automáticamente.

      Si se omite, se generará una sal aleatoria mediante password_hash() para cada contraseña con hash. Este es el modo de operación previsto.

    • cost - que denota el coste del algoritmo que debería usarse. Se pueden encontrar ejemplo de estos valores en la página de crypt().

      Si se omite, se usará el valor predeterminado 10. Este es un buen coste de referencia, pero se podría considerar aumentarlo dependiendo del hardware.

Parámetros

password

La contraseña del usuario.

algo

A constante del algoritmo de contraseñas indicando qué algoritmo utilizar para crear el hash de la contraseña.

options

Un array asociativo de opciones. Véanse las constantes de algoritmos de contraseñas para la documentación sobre las opociones admitidas de cada algoritmo.

Si no se indica, se creará una sal aleatoria y el coste algorítmico por defecto será utilizado.

Valores devueltos

Devuelve el hash de la contraseña, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de password_hash()

<?php
/**
 * Queremos realizar un hash a nuestra contraseña uando el algoritmo DEFAULT actual.
 * Actualmente es BCRYPT, y producirá un resultado de 60 caracteres.
 *
 * A que tener en cuenta que DEFAULT puede cambiar con el tiempo, por lo que debería prepararse
 * para permitir que el almacenamento se amplíe a más de 60 caracteres (255 estaría bien)
 */
echo password_hash("rasmuslerdorf", PASSWORD_DEFAULT)."\n";
?>

El resultado del ejemplo sería:

$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a

Ejemplo #2 Ejemplo de password_hash() estableciendo el coste manualmente

<?php
/**
 * En este caso, queremos aumentar el coste predeterminado de BCRYPT a 12.
 * Observe que también cambiamos a BCRYPT, que tendrá siempre 60 caracteres.
 */
$opciones = [
    'cost' => 12,
];
echo password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $opciones)."\n";
?>

El resultado del ejemplo sería:

$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K

Ejemplo #3 Ejemplo de password_hash() estableciendo la sal manualmente

<?php
/**
 * Observed que la sal se genera aleatoriamente aquí.
 * No use nunca una sal estática o una que no se genere aleatoriamente.
 *
 * Para la GRAN mayoría de los casos de uso, dejar que password_hash genere la sal aleatoriamente
 */
$opciones = [
    'cost' => 11,
    'salt' => mcrypt_create_iv(22, MCRYPT_DEV_URANDOM),
];
echo password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $opciones)."\n";
?>

El resultado del ejemplo sería:

$2y$11$q5MkhSBtlsJcNEVsYh64a.aCluzHnGog7TQAKVmQwO9C8xb.t89F.

Ejemplo #4 Ejemplo de password_hash() buscando un buen coste

<?php
/**
 * Este código evaluará el servidor para determinar el coste permitido.
 * Se establecerá el mayor coste posible sin disminuir demasiando la velocidad
 * del servidor. 10 es una buena referencia, y más es bueno si el servidor
 * es lo suficientemente rápido.
 */
$timeTarget = 0.2;

$coste = 9;
do {
    $coste++;
    $inicio = microtime(true);
    password_hash("test", PASSWORD_BCRYPT, ["cost" => $coste]);
    $fin = microtime(true);
} while (($fin - $inicio) < $timeTarget);

echo "Coste conveniente encontrado: " . $coste . "\n";
?>

El resultado del ejemplo sería:

Coste conveniente encontrado: 11

Notas

Precaución

Se recomienda encarecidamente que no se genere una sal propia para esta función. Creará una sal segura automáticamente si no se especifica una.

Nota:

Se recomienda comprobar esta función en los servidores, y ajustar el parámetro de coste para que la ejecución de la función tome aproximadamente de 0.1 a 0.5 segundos. El script en el ejemplo de antes le ayudará a elegir un buen valor de coste para su hardware.

Nota: Las actualizaciones para los algoritmos admitidos por esta función (o los cambios al predeterminado) deben serguir las siguientes reglas:

  • Cualquier algoritmo nuevo debe estar en el núcleo por al menos una versión completa de PHP antes de convertirse en predeterminado. Por lo que si, por ejemplo, un nuevo algoritmo se añade en la 5.5.5, no sería apto para ser el predeterminado hasta la 5.7 (ya que la 5.6 sería la primera versión completa). Pero se se añadió un algoritmo diferente en la 5.6.0, también sería apto para ser el predeterminado en la 5.7.0.
  • El predeterminado debería cambir únicamente en una versión completa (5.6.0, 6.0.0, etc.) y no en una versión de revisión. La única excepción es la emergencia de que se encuentre un fallo de seguridad crítico en el predeterminado actual.

Ver también

  • password_verify() - Comprueba que la contraseña coincida con un hash
  • crypt() - Hashing de una sola vía de un string
  • » implementación en el espacio de usuario

password_get_info
password_needs_rehash
Funciones de hashing de contraseñas


Comprueba si el hash facilitado coincide con las opciones proporcionadas

password_hash
password_verify
Funciones de hashing de contraseñas
PHP Manual

password_needs_rehash

(PHP 5 >= 5.5.0)

password_needs_rehash — Comprueba si el hash facilitado coincide con las opciones proporcionadas

Descripción

boolean password_needs_rehash ( string $hash , string $algo [, string $options ] )

Esta función comprueba si el hash facilitado implementa el algoritmo y opciones proporcionadas. Si no, asume que el hash necesita volver a ser generado.

Parámetros

hash

Un hash creado por password_hash().

algo

A constante del algoritmo de contraseñas indicando qué algoritmo utilizar para crear el hash de la contraseña.

options

Un array asociativo de opciones. Véanse las constantes de algoritmos de contraseñas para la documentación sobre las opociones admitidas de cada algoritmo.

Valores devueltos

Devuelve TRUE si el hash debe ser generado de nuevo para coincidir con la información pasada a algo y options, o FALSE en cualquier otro caso.

password_hash
password_verify
Funciones de hashing de contraseñas


Comprueba que la contraseña coincida con un hash

password_needs_rehash
Extensiones de bases de datos
Funciones de hashing de contraseñas
PHP Manual

password_verify

(PHP 5 >= 5.5.0)

password_verify — Comprueba que la contraseña coincida con un hash

Descripción

boolean password_verify ( string $password , string $hash )

Comprueba que el hash proporcionado coincida con la contraseña facilitada.

Observe que password_hash() devuelve el algoritmo, el coste y la sal como parte del hash devuelto. Por lo tanto, toda la información que es necesaria para verificar el hash está incluida Esto permite a la función de verificación comprobar el hash sin la necesidad de almacenar por separado la información de la sal o del algoritmo.

Parámetros

password

La contraseña del usuario.

hash

Un hash creado por password_hash().

Valores devueltos

Devuelve TRUE si la contraseña y el hash coinciden, o FALSE de lo contrario.

Ejemplos

Ejemplo #1 Ejemplo de password_verify()

<?php
// Ver el ejemplo de password_hash() para ver de dónde viene este hash.
$hash = '$2y$07$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq';

if (password_verify('rasmuslerdorf', $hash)) {
    echo '¡La contraseña es válida!';
} else {
    echo 'La contraseña no es válida.';
}
?>

El resultado del ejemplo sería:

¡La contraseña es válida!

Ver también

  • password_hash() - Crea un nuevo hash de contraseña
  • » implementación en el espacio de usuario

password_needs_rehash
Extensiones de bases de datos
Funciones de hashing de contraseñas


Extensiones de bases de datos

  • Capas abstractas
    • DBA — Capa de Abstracción de Base de Datos (estilo dbm)
    • dbx
    • ODBC — ODBC (Unificada)
    • PDO — Objetos de datos de PHP
  • Extensiones de bases de datos específicas del proveedor
    • CUBRID
    • DB++
    • dBase
    • filePro
    • Firebird/InterBase
    • FrontBase
    • IBM DB2 — IBM DB2, Cloudscape y Apache Derby
    • Informix
    • Ingres — Ingres DBMS, EDBC, y Enterprise Access Gateways
    • MaxDB
    • Mongo — MongoDB
    • mSQL
    • Mssql — Microsoft SQL Server
    • MySQL — Controladores y complementos de MySQL
    • OCI8 — Oracle OCI8
    • Ovrimos SQL
    • Paradox — Acceso a archivos Paradox
    • PostgreSQL
    • SQLite
    • SQLite3
    • SQLSRV — Driver de Microsoft SQL Server para PHP
    • Sybase
    • tokyo_tyrant
password_verify
Capas abstractas
Referencia de funciones


Capas abstractas

  • DBA — Capa de Abstracción de Base de Datos (estilo dbm)
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de DBA
  • dbx
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de dbx
  • ODBC — ODBC (Unificada)
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones ODBC
  • PDO — Objetos de datos de PHP
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Conexiones y su administración
    • Transacciones y 'auto-commit'
    • Sentencias preparadas y procedimientos almacenados
    • Errores y su manejo
    • Objetos grandes (LOBs)
    • PDO — La clase PDO
    • PDOStatement — La clase PDOStatement
    • PDOException — La clase PDOException
    • Controladores de PDO
Extensiones de bases de datos
DBA
Extensiones de bases de datos


Capa de Abstracción de Base de Datos (estilo dbm)

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Uso básico
  • Funciones de DBA
    • dba_close — Cerrar una base de datos DBA
    • dba_delete — Elimina una entrada DBA especificada por clave
    • dba_exists — Verificar si la clave existe
    • dba_fetch — Recuperar datos especificados por clave
    • dba_firstkey — Recuperar la primera clave
    • dba_handlers — Listar todos los gestores disponibles
    • dba_insert — Insertar entrada
    • dba_key_split — Separa una clave en representación de cadena en representación de array
    • dba_list — Listar todos los archivos de base de datos abiertos
    • dba_nextkey — Recuperar la siguiente clave
    • dba_open — Abrir una base de datos
    • dba_optimize — Optimizar base de datos
    • dba_popen — Abrir una base de datos de forma persistente
    • dba_replace — Reemplazar o insertar una entrada
    • dba_sync — Sincronizar base de datos
Capas abstractas
Introducción
Capas abstractas


Introducción

Estas funciones construyen los cimientos para acceder a las bases de datos estilo Berkeley DB.

Es una capa de abstracción general para varias bases de datos basadas en ficheros. Como tal, la funcionalidad está limitada a un subconjunto común de características admitidas por las bases de datos modernas como » Oracle Berkeley DB.

DBA
Instalación/Configuración
DBA


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
DBA


Requerimientos

El comportamiento de varios aspectos depende de la implementación de la base de datos subyacente. Funciones tales como dba_optimize() y dba_sync() harán que se prometa para una base de datos y no harán nada para otras. Tiene que descargar e instalar los gestores de dba soportados.

Lista de los gestores de DBA
Gestor | Notas
dbm | Dbm es el tipo más antiguo (original) de las bases de datos estilo Berkeley DB. Se debería evitar si es posible. No se tiene soporte para la compatibilidad de funciones contruidas dentrode DB2 y gdbm, ya que sólo son compatibles con el nivel de código fuente, pero no pueden manejar el formato original de dbm.
ndbm | Ndbm es un tipo más reciente y flexible que dbm. Todavía tiene la mayoría de los límites arbitrarios de dbm (aunque está obsoleto).
gdbm | Gdbm es el » GNU database manager.
db2 | DB2 es para » Oracle Berkeley DB 2. Está descrito como "un conjunto de herramientas programático que proporciona soporte para bases de datos internas de alto rendimiento para aplicaciones autónomas y de cliente/servidor".
db3 | DB3 es para » Oracle Berkeley DB 3.
db4 | DB4 es para » Oracle Berkeley DB 4 o 5. Esta opción está disponible desde PHP 4.3.2. Se puede usar con BDB 5 desde PHP 5.3.3.
cdb | Cdb es "un paquete rápido, fiable, ligero para crear y leer bases de datos constantes." Es del autor de qmail y se puede encontrar en » http://cr.yp.to/cdb.html. Ya que es consntante, solo se soportan las operaciones de lectura. Y desde PHP 4.3.0 se soporta la escritura (no la actualización) a través de la biblioteca interna de cdb.
cdb_make | Desde PHP 4.3.0 se soporta la creación (no la actualización) de ficheros cdb cuando se usa la biblioteca interna cdb.
flatfile | Está disponible desde PHP 4.3.0 únicamente para la compatibilidad con la extensión obsoleta dbm y debería de evitarse. Sin embargo, se puede usar para los ficheros creados con este formato. Esto ocurre cuando configure no puede encontrar una biblioteca externa.
inifile | Está disponible desde PHP 4.3.3 para ser capaz de modificar ficheros php.ini desde dentro de scripts de PHP. Cuando se trabaja con ficheros ini se pueden pasar arrays de la forma array(0=>grupo,1=>nombre_valor) o cadenas de la forma "[grupo]nombre_valor" donde grupo es opcional. Ya que las funciones dba_firstkey() y dba_nextkey() devuelve una cadenas que representan la clave, existe una nueva función, dba_key_split(), disponbile desde PHP 5, la cual permite convertir las claves de cadena en claves de array sin ocasionar FALSE.
qdbm | Está disponilbe desde PHP 5.0.0. La biblioteca qdbm se puede cargar desde » http://fallabs.com/qdbm/index.html.

Cuando se invoca a las funciones dba_open() o dba_popen(), se debe proporcionar uno de los nombres de gestores como argumento. La lista real de gestores disponibles se muestra invocando a phpinfo() o dba_handlers().

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Usando la opción de configuración --enable-dba=shared se puede construir un módulo cargable dinámico para habilitar PHP para el soporte básico de bases de datos estilo dbm. También se tiene que añadir soporte para al menos uno de los siguientes gestores especificando el conmutador --with-XXXX de configure a la línea de configuración de PHP.

Advertencia

Después de configurar y compilar PHP debe ejecutar la siguiente prueba desde la línea de comandos: php run-tests.php ext/dba. Esto muestra si la combinación de gestores funciona. Los más problemáticos son dbm y ndbm ya que entran en conflicto con muchas instalaciones. La razón de esto es que en muchos sistemas estas bibliotecas son parte de más de una biblioteca. La prueba de configuración sólo previene del malfuncionamiento de configuración de gestores únicos, pero no de combinaciones.

Gestores de DBA soportados
Gestor | Conmuntador de Configuración
dbm

Para habilitar el soporte para dbm añada --with-dbm[=DIR] .

Nota:

dbm es normalmente una envoltura que a menudo resulta en fallo. Esto significa que debería usar dbm sólo si está seguro de que funciona y que realmente necesita este formato.

ndbm

Para habilitar el soporte para ndbm añada --with-ndbm[=DIR] .

Nota:

ndbm es normalmente una envoltura que a menudo resulta en fallo. Esto significa que debería usar ndbm sólo si está seguro de que funciona y que realmente necesita este formato.

gdbm | Para habilitar el soporte para gdbm añada --with-gdbm[=DIR] .
db2

Para habilitar el soporte para Oracle Berkeley DB 2 añada --with-db2[=DIR] .

Nota:

db2 entra en conflicto con db3 y db4.

db3

Para habilitar el soporte para Oracle Berkeley DB 3 añada --with-db3[=DIR] .

Nota:

db3 entra en conflicto con db2 y db4.

db4

Para habilitar el soporte para Oracle Berkeley DB 4 o 5 añada --with-db4[=DIR] .

Nota:

db4 entra en conflicto con db3 y db3.

Nota:

La opción db4 se añadió en PHP 4.3.2. En versiones anteriores de PHP se necesita usar --with-db3=DIR , siendo DIR la ruta a la biblioteca db4. No es posible usar versiones de db de 4.1 en adelante con PHP anterior a la versión 4.3.0. También, las bibliotecas db con versiones 4.1 hasta 4.1.24 no se pueden usar en ninguna versión de PHP.

Se añadión el soporte para BDB 5 en PHP 5.3.3.

cdb

Para habilitar el soporte para cdb añada --with-cdb[=DIR] .

Nota:

Desde PHP 4.3.0 se puede omitir DIR para usar la biblioteca cdb incluida que añade el gestor cdb_make, el cual permite la creación de ficheros cdb y el acceso a ficheros cdb en la red usando flujos de PHP.

flatfile

Para habilitar el soporte para flatfile añada --with-flatfile .

Nota:

Esto se añadio en PHP 4.3.0 para añadir compatibilidad con la extensión dbm obsoleta. Use este gestor solamente cuando no pueda instalar una de las bibliotecas requeridas por otros gestores y cuando no pueda usar el gestor cdb interno.

inifile

Para habilitar el soporte para inifile añada --with-inifile .

Nota:

Esto se añadió en PHP 5.0.0 y permite leer y establecer ficheros .ini estilo microsoft (como el fichero php.ini).

qdbm

Para habilitar el soporte para qdbm añada --with-qdbm[=DIR] .

Nota:

qdbm entra en conflicto con dbm y gdbm.

Nota:

Esto se añadió en PHP 5.0.0. La biblioteca qdbm puede ser cargada desde » http://fallabs.com/qdbm/index.html.

Nota:

Hasta PHP 4.3.0 se puede añadir el gestor db2 y db3 pero sólo uno de ellos se puede usar internamente. Esto significa que no se pueden tener ambos formatos de fichero. Desde PHP 5.0.0 existe una comprobación de configuración que evita tales configuraciones erróneas.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

DBA Opciones de configuración
Nombre | Por defecto | Cambiable | Historial de cambios
dba.default_handler | DBA_DEFAULT | PHP_INI_ALL |

He aquí una breve explicación de las directivas de configuración.

dba.default_handler string

El nombre del gestor predeterminado

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Las funciones dba_open() y dba_popen() devuelven un gestor al fichero de base de datos especificado que se va a acceder, el cual es usado por las demás llamadas a funciones dba.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Ejemplos
DBA


Ejemplos

Tabla de contenidos

  • Uso básico
Constantes predefinidas
Uso básico
DBA


Uso básico

Ejemplo #1 Ejemplo de DBA

<?php

$id = dba_open("/tmp/test.db", "n", "db2");

if (!$id) {
    echo "Falló dba_open\n";
    exit;
}

dba_replace("key", "¡Este es un ejemplo!", $id);

if (dba_exists("key", $id)) {
    echo dba_fetch("key", $id);
    dba_delete("key", $id);
}

dba_close($id);
?>

DBA es seguro a nivel binario y no tiene límites arbitrarios. Sin embargo, hereda todos los límites establecidos por la implementación de la base de datos subyacente.

Todas las bases de datos basadas en ficheros deben proporcionar una manera de establecer el modo de fichero de una nueva base de datos creada, si es posible. El modo de fichero se pasa comúnmente como el cuarto argumento a dba_open() o dba_popen().

Se puede acceder a todas las entradas de una base de datos de forma lineal usando las funciones dba_firstkey() y dba_nextkey(). No se puede cambiar la base de datos mientras se la atraviesa.

Ejemplo #2 Atravesar una base de datos

<?php

// ...abrir la base de datos...

$clave = dba_firstkey($id);

while ($clave != false) {
    if (true) {          // recuerde la clave para realizar alguna acción posterior
        $handle_later[] = $clave;
    }
    $clave = dba_nextkey($id);
}

foreach ($handle_later as $val) {
    dba_delete($val, $id);
}

?>

Ejemplos
Funciones de DBA
Ejemplos


Funciones de DBA

Tabla de contenidos

  • dba_close — Cerrar una base de datos DBA
  • dba_delete — Elimina una entrada DBA especificada por clave
  • dba_exists — Verificar si la clave existe
  • dba_fetch — Recuperar datos especificados por clave
  • dba_firstkey — Recuperar la primera clave
  • dba_handlers — Listar todos los gestores disponibles
  • dba_insert — Insertar entrada
  • dba_key_split — Separa una clave en representación de cadena en representación de array
  • dba_list — Listar todos los archivos de base de datos abiertos
  • dba_nextkey — Recuperar la siguiente clave
  • dba_open — Abrir una base de datos
  • dba_optimize — Optimizar base de datos
  • dba_popen — Abrir una base de datos de forma persistente
  • dba_replace — Reemplazar o insertar una entrada
  • dba_sync — Sincronizar base de datos
Uso básico
dba_close
DBA


Cerrar una base de datos DBA

Funciones de DBA
dba_delete
Funciones de DBA
PHP Manual

dba_close

(PHP 4, PHP 5)

dba_close — Cerrar una base de datos DBA

Descripción

void dba_close ( resource $handle )

dba_close() cierra la base de datos establecida y libera todos los recursos del gestor de base de datos especificado.

Parámetros

handle

El gestor de base de datos, devuelto por dba_open() o dba_popen().

Valores devueltos

No devuelve ningún valor.

Ver también

  • dba_open() - Abrir una base de datos
  • dba_popen() - Abrir una base de datos de forma persistente

Funciones de DBA
dba_delete
Funciones de DBA


Elimina una entrada DBA especificada por clave

dba_close
dba_exists
Funciones de DBA
PHP Manual

dba_delete

(PHP 4, PHP 5)

dba_delete — Elimina una entrada DBA especificada por clave

Descripción

bool dba_delete ( string $key , resource $handle )

dba_delete() elimina la entrada especificada de la base de datos.

Parámetros

key

La clave de la entrada que está siendo eliminada.

gestor

El gestor de base de datos, devuelto por dba_open() o dba_popen().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • dba_exists() - Verificar si la clave existe
  • dba_fetch() - Recuperar datos especificados por clave
  • dba_insert() - Insertar entrada
  • dba_replace() - Reemplazar o insertar una entrada

dba_close
dba_exists
Funciones de DBA


Verificar si la clave existe

dba_delete
dba_fetch
Funciones de DBA
PHP Manual

dba_exists

(PHP 4, PHP 5)

dba_exists — Verificar si la clave existe

Descripción

bool dba_exists ( string $key , resource $handle )

dba_exists() verifica si la key especificada existe en la base de datos.

Parámetros

key

La clave usada para el chequeo.

gestor

El gestor de base de datos, devuelto por dba_open() o dba_popen().

Valores devueltos

Devuelve TRUE si la clave existe, FALSE de lo contrario.

Ver también

  • dba_delete() - Elimina una entrada DBA especificada por clave
  • dba_fetch() - Recuperar datos especificados por clave
  • dba_insert() - Insertar entrada
  • dba_replace() - Reemplazar o insertar una entrada

dba_delete
dba_fetch
Funciones de DBA


Recuperar datos especificados por clave

dba_exists
dba_firstkey
Funciones de DBA
PHP Manual

dba_fetch

(PHP 4, PHP 5)

dba_fetch — Recuperar datos especificados por clave

Descripción

string dba_fetch ( string $key , resource $handle )
string dba_fetch ( string $key , int $skip , resource $handle )

dba_fetch() recupera los datos especificados por key desde la base de datos indicada con handle.

Parámetros

key

La clave que apunta a los datos.

Nota:

Cuando se trabaja con archivos ini, esta función acepta arrays como claves, en donde el índice 0 es el grupo y el índice 1 es el nombre del valor. Vea: dba_key_split().

skip

El número de parejas clave-valor a ignorar cuando se usan bases de datos cdb. Este valor es ignorado por todas las otras bases de datos que no soportan múltiples claves con el mismo nombre.

gestor

El gestor de base de datos, devuelto por dba_open() o dba_popen().

Valores devueltos

Devuelve la cadena asociada si la pareja clave/datos es encontrada, FALSE de lo contrario.

Historial de cambios

Versión | Descripción
4.3.0 | El parámetro skip se encuentra disponible para ofrecer soporte a la capacidad de gdb de claves múltiples con el mismo nombre.

Ver también

  • dba_exists() - Verificar si la clave existe
  • dba_delete() - Elimina una entrada DBA especificada por clave
  • dba_insert() - Insertar entrada
  • dba_replace() - Reemplazar o insertar una entrada
  • dba_key_split() - Separa una clave en representación de cadena en representación de array

dba_exists
dba_firstkey
Funciones de DBA


Recuperar la primera clave

dba_fetch
dba_handlers
Funciones de DBA
PHP Manual

dba_firstkey

(PHP 4, PHP 5)

dba_firstkey — Recuperar la primera clave

Descripción

string dba_firstkey ( resource $handle )

dba_firstkey() devuelve la primera clave de la base de datos y reestablece el apuntador de clave interno. Esto permite una búsqueda lineal a través de la base de datos completa.

Parámetros

handle

El gestor de base de datos, devuelto por dba_open() o dba_popen().

Valores devueltos

Devuelve la clave en caso de tener éxito o FALSE en caso de error.

Ver también

  • dba_nextkey() - Recuperar la siguiente clave
  • dba_key_split() - Separa una clave en representación de cadena en representación de array
  • Ejemplo 2 en los ejemplos de DBA

dba_fetch
dba_handlers
Funciones de DBA


Listar todos los gestores disponibles

dba_firstkey
dba_insert
Funciones de DBA
PHP Manual

dba_handlers

(PHP 4 >= 4.3.0, PHP 5)

dba_handlers — Listar todos los gestores disponibles

Descripción

array dba_handlers ([ bool $full_info = false ] )

dba_handlers() lista todos los gestores soportados por esta extensión.

Parámetros

full_info

Activa/desactiva la mostración de la información completa en el resultado.

Valores devueltos

Devuelve un array de gestores de bases de datos. Si full_info está establecido a TRUE, el array será asociativo con los nombres de los gestores como claves y la información de su versión com valor. De otro modo, el resultado será un array indexado de nombres de gestores.

Nota:

Cuando se usa la biblioteca cdb interna verá cdb y cdb_make.

Ejemplos

Ejemplo #1 Ejemplo de dba_handlers()

<?php

echo "Gestores de DBA disponibles:\n";
foreach (dba_handlers(true) as $nombre_gestor => $versión_gestor) {
  // limpiar las versiones
  $versión_gestor = str_replace('$', '', $versión_gestor);
  echo " - $nombre_gestor: $versión_gestor\n";
}

?>

El resultado del ejemplo sería algo similar a:

Gestores de DBA disponibles:
 - cdb: 0.75, Revision: 1.3.2.3
 - cdb_make: 0.75, Revision: 1.2.2.4
 - db2: Sleepycat Software: Berkeley DB 2.7.7: (08/20/99)
 - inifile: 1.0, Revision: 1.6.2.3
 - flatfile: 1.0, Revision: 1.5.2.4

dba_firstkey
dba_insert
Funciones de DBA


Insertar entrada

dba_handlers
dba_key_split
Funciones de DBA
PHP Manual

dba_insert

(PHP 4, PHP 5)

dba_insert — Insertar entrada

Descripción

bool dba_insert ( string $key , string $value , resource $handle )

dba_insert() inserta la entrada descrita con clave y valor en la base de datos.

Parámetros

key

La clave de la entrada a ser insertada. Si esta clave ya existe en la base de datos, esta función fallará. Use dba_replace() si necesita reemplazar una clave existente.

value

El valor a ser insertado.

handle

El gestor de base de datos, devuelto por dba_open() o dba_popen().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • dba_exists() - Verificar si la clave existe
  • dba_delete() - Elimina una entrada DBA especificada por clave
  • dba_fetch() - Recuperar datos especificados por clave
  • dba_replace() - Reemplazar o insertar una entrada

dba_handlers
dba_key_split
Funciones de DBA


Separa una clave en representación de cadena en representación de array

dba_insert
dba_list
Funciones de DBA
PHP Manual

dba_key_split

(PHP 5)

dba_key_split — Separa una clave en representación de cadena en representación de array

Descripción

mixed dba_key_split ( mixed $key )

dba_key_split() separa una clave (representación tipo cadena) en una representación tipo array.

Parámetros

key

La clave en representación de cadena.

Valores devueltos

Devuelve un array de la forma array(0 => grupo, 1 => nombre_valor). Esta función devolverá FALSE si clave es NULL o FALSE.

Ver también

  • dba_firstkey() - Recuperar la primera clave
  • dba_nextkey() - Recuperar la siguiente clave
  • dba_fetch() - Recuperar datos especificados por clave

dba_insert
dba_list
Funciones de DBA


Listar todos los archivos de base de datos abiertos

dba_key_split
dba_nextkey
Funciones de DBA
PHP Manual

dba_list

(PHP 4 >= 4.3.0, PHP 5)

dba_list — Listar todos los archivos de base de datos abiertos

Descripción

array dba_list ( void )

dba_list() lista todos los archivos de bases de datos abiertos.

Valores devueltos

Un array asociativo, en la forma id_recurso => nombre_archivo.

dba_key_split
dba_nextkey
Funciones de DBA


Recuperar la siguiente clave

dba_list
dba_open
Funciones de DBA
PHP Manual

dba_nextkey

(PHP 4, PHP 5)

dba_nextkey — Recuperar la siguiente clave

Descripción

string dba_nextkey ( resource $handle )

dba_nextkey() devuelve la siguiente clave de la base de datos y avanza el apuntador de clave interno.

Parámetros

handle

El gestor de base de datos, devuelto por dba_open() o dba_popen().

Valores devueltos

Devuelve la clave si tiene éxito o FALSE en caso de error.

Ver también

  • dba_firstkey() - Recuperar la primera clave
  • dba_key_split() - Separa una clave en representación de cadena en representación de array
  • Ejemplo 2 en los ejemplos de DBA

dba_list
dba_open
Funciones de DBA


Abrir una base de datos

dba_nextkey
dba_optimize
Funciones de DBA
PHP Manual

dba_open

(PHP 4, PHP 5)

dba_open — Abrir una base de datos

Descripción

resource dba_open ( string $path , string $mode [, string $handler [, mixed $... ]] )

dba_open() establece una instancia de una base de datos para path con mode usando handler.

Parámetros

path

Comúnmente una ruta normal de su sistema de ficheros.

mode

Es r para acceso de lectura, w para acceso de lectura/escritura de una base de datos existente, c para acceso de lectura/escritura y creación de una base de datos si no existe actualmente, y n para crear, truncar y acceso de lectura/escritura. La base de datos se crea en el modo BTree, los demás modos (como Hash o Queue) no están soportados.

Además se puede establecer el método de bloqueo de la base de datos con el siguiente carácter. Use l para bloquear la base de datos con un fichero .lck o d para bloquear el fichero de la base de datos mismo. Es importante que todas sus aplicaciones hagan esto de manera consistente.

Si quiere probar el acceso y no quiere esperar para el bloqueo puede añadir t como tercer carácter. Cuando está absolutamente seguro de que no se requiere el bloqueo de la base de datos, puede usar - en lugar de l o d. Cuando no se usar d, l o -, dba bloqueará el archivo de la base de datos como si lo estuviera con d.

Nota:

Sólo puede haber un escritor para el archivo de la base de datos. Cuando se usa dba en un servidor web y más de una solicitud requiere operaciones de escritura, sólo pueden hacerlo una tras otra. Tampoco está permitido la lectura durante la escritura. La extensión dba usa bloqueos para impedirlo. Véase la siguiente tabla:

Bloqueo de DBA
ya abierta | mode = "rl" | mode = "rlt" | mode = "wl" | mode = "wlt" | mode = "rd" | mode = "rdt" | mode = "wd" | mode = "wdt"
sin abrir | ok | ok | ok | ok | ok | ok | ok | ok
mode = "rl" | ok | ok | wait | false | illegal | illegal | illegal | illegal
mode = "wl" | wait | false | wait | false | illegal | illegal | illegal | illegal
mode = "rd" | illegal | illegal | illegal | illegal | ok | ok | wait | false
mode = "wd" | illegal | illegal | illegal | illegal | wait | false | wait | false
  • ok: la segunda llamada tendrá éxito.
  • wait: la sedunda llamada esperará hasta que se llame a dba_close() la primera vez.
  • false: la segunda llamada devuelve false.
  • illegal: no se pueden mezclar los modificadores "l" y "d" con el parámetro mode.

handler

El nombre del gestor que será usado para acceder a path. Se le pasan todos los parámetros opcionales dados a dba_open() y puede actuar en su nombre.

Valores devueltos

Devuelve un gestor positivo en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
4.3.0 | Es posible abrir ficheros de bases de datos sobre conexiones de red. Sin embargo, en el caso en que se use una conexión de socket (como con http o ftp) la conexión se bloqueará en lugar del recurso en sí. Esto es importante para saber que en tales casos el bloqueo es ignorado simplemente en el recurso y se tienen que encontrar otras soluciones.
4.3.0 | Se añadió el bloqueo y los modificadores de mode "l", "d", "-" y "t". En versiones anteriores de PHP, se debe usar semáforos para protegerse de accesos simultáneos a la base de datos para cualquier gestor de bases de datos, con la excepción de GDBM. Véase el soporte de semáforos para System V.
4.3.5 | El modo de apertura 'c' era roto por varios gestores internos y truncaba la base de datos en vez de añair información a una base de datos existente. También dbm y ndbm fallaban en el modo 'c' en configuraciones típicas (esto no se puede arreglar).

Ver también

  • dba_popen() - Abrir una base de datos de forma persistente
  • dba_close() - Cerrar una base de datos DBA

dba_nextkey
dba_optimize
Funciones de DBA


Optimizar base de datos

dba_open
dba_popen
Funciones de DBA
PHP Manual

dba_optimize

(PHP 4, PHP 5)

dba_optimize — Optimizar base de datos

Descripción

bool dba_optimize ( resource $handle )

dba_optimize() optimiza la base de datos interna.

Parámetros

handle

El gestor de base de datos, devuelto por dba_open() o dba_popen().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • dba_sync() - Sincronizar base de datos

dba_open
dba_popen
Funciones de DBA


Abrir una base de datos de forma persistente

dba_optimize
dba_replace
Funciones de DBA
PHP Manual

dba_popen

(PHP 4, PHP 5)

dba_popen — Abrir una base de datos de forma persistente

Descripción

resource dba_popen ( string $path , string $mode [, string $handler [, mixed $... ]] )

dba_popen() establece una instancia de base de datos persistente para el archivo en path con el mode indicado, usando handler.

Parámetros

path

Usualmente una ruta normal en su sistema de archivos.

mode

Es r para acceso de lectura, w para acceso de lectura/escritura a una base de datos existente, c para acceso de lectura/escritura y creación de base de datos si no existe actualmente, y n para crear, truncar y tener acceso de lectura/escritura.

handler

El nombre del gestor que será usado para acceder a path. A él se le pasan todos los parámetros opcionales dados a dba_popen() y puede actuar sobre ellos.

Valores devueltos

Devuelve un gestor positivo en caso de éxito, o o FALSE en caso de error.

Ver también

  • dba_open() - Abrir una base de datos
  • dba_close() - Cerrar una base de datos DBA

dba_optimize
dba_replace
Funciones de DBA


Reemplazar o insertar una entrada

dba_popen
dba_sync
Funciones de DBA
PHP Manual

dba_replace

(PHP 4, PHP 5)

dba_replace — Reemplazar o insertar una entrada

Descripción

bool dba_replace ( string $key , string $value , resource $handle )

dba_replace() reemplaza o inserta la entrada descrita con key y value en la base de datos especificada por handle.

Parámetros

key

La clave de la entrada a ser reemplazada.

value

El valor a ser reemplazado.

handle

El gestor de base de datos, devuelto por dba_open() o dba_popen().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • dba_exists() - Verificar si la clave existe
  • dba_delete() - Elimina una entrada DBA especificada por clave
  • dba_fetch() - Recuperar datos especificados por clave
  • dba_insert() - Insertar entrada

dba_popen
dba_sync
Funciones de DBA


Sincronizar base de datos

dba_replace
dbx
Funciones de DBA
PHP Manual

dba_sync

(PHP 4, PHP 5)

dba_sync — Sincronizar base de datos

Descripción

bool dba_sync ( resource $handle )

dba_sync() sincroniza la base de datos. Esto probablemente desencadenará una escritura en disco, si es soportado.

Parámetros

handle

El gestor de base de datos, devuelto por dba_open() o dba_popen().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • dba_optimize() - Optimizar base de datos

dba_replace
dbx
Funciones de DBA


dbx

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de dbx
    • dbx_close — Cierra una conexión/base de datos abierta
    • dbx_compare — Comparar dos filas con propósitos de ordenación
    • dbx_connect — Abrir una conexión/base de datos
    • dbx_error — Reporta un mensaje de error de la última llamada a la función en el módulo
    • dbx_escape_string — Escapar una cadena para que pueda ser usada de forma segura en una declaración sql
    • dbx_fetch_row — Traer filas de un resultado de una consulta que tuvo la bandera DBX_RESULT_UNBUFFERED establecida
    • dbx_query — Enviar una consulta y traer todos los resultado (si hubo alguno)
    • dbx_sort — Ordenar un resultado de una llamada a dbx_query mediante una función de ordenación personalizada
dba_sync
Introducción
Capas abstractas


Introducción

El módulo dbx es una capa de abstracción de base de datos (db 'X', donde 'X' es una base de datos soportada). Las funciones de dbx permiten acceder a todas las bases de datos soportadas usando una simple convención de llamada. La funciones de dbx por sí mismas no son la interfaz directa de las bases de datos, sino que son la interfaz de los módulos que se usan para soportar estas bases de datos.

Nota:

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.1.0.

dbx
Instalación/Configuración
dbx


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
dbx


Requerimientos

Para ser capaz de utilizar una base de datos con el módulo dbx, el módulo debe ser enlazado o cargado dentro de PHP, y el módulo de la base de datos debe ser soportado por el módulo dbx. Actualmente están soportadas las siguientes bases de datos, aunque otras le seguirán:

  • FrontBase (disponible desde PHP 4.1.0).
  • Microsoft SQL Server
  • MySQL
  • ODBC
  • PostgreSQL
  • Sybase-CT (disponible desde PHP 4.2.0).
  • Oracle (oci8) (disponible desde PHP 4.3.0).
  • SQLite (PHP 5).

La documentación para añadir soporte de una base de datos adicional a dbx se puede encontrar en » http://www.guidance.nl/php/dbx/doc/.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Para tener disponibilidad de estas funciones se debe compilar PHP con soporte para dbx usando la opción --enable-dbx y todas las opciones para las bases de datos que serán utilizadas, p.ej., para MySQL se debe especificar también --with-mysql=[DIR] . Para que otras bases de datos soportadas funcionen con el módulo, consulte sus documentaciones específicas.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de Configuración de DBX
Nombre | Por defecto | Cambiable | Historial de cambios
dbx.colnames_case | "unchanged" | PHP_INI_SYSTEM | Disponible desde PHP 4.3.0. Eliminado en PHP 5.1.0.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

dbx.colnames_case string

Los nombres de las columnas pueden ser devueltas "unchanged" (sin cambios) o convertidas a "uppercase" o "lowercase" (mayúsculas y minúsculas respectivamente). Esta directiva puede ser sobrescrita con una bandera establecia en dbx_query().

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Existen dos tipos de recursos que se usan en el módulo dbx. El primero es el object-enlace para una conexión a una base de datos, el segundo es un object-resultado que guarda el resultado de una consulta.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

DBX_MYSQL (integer)
DBX_ODBC (integer)
DBX_PGSQL (integer)
DBX_MSSQL (integer)
DBX_FBSQL (integer)
DBX_OCI8 (integer) (disponible desde PHP 4.3.0)
DBX_SYBASECT (integer)
DBX_SQLITE (integer) (PHP 5)
DBX_PERSISTENT (integer)
DBX_RESULT_INFO (integer)
DBX_RESULT_INDEX (integer)
DBX_RESULT_ASSOC (integer)
DBX_RESULT_UNBUFFERED (integer) (PHP 5)
DBX_COLNAMES_UNCHANGED (integer) (disponible desde PHP 4.3.0)
DBX_COLNAMES_UPPERCASE (integer) (disponible desde PHP 4.3.0)
DBX_COLNAMES_LOWERCASE (integer) (disponible desde PHP 4.3.0)
DBX_CMP_NATIVE (integer)
DBX_CMP_TEXT (integer)
DBX_CMP_NUMBER (integer)
DBX_CMP_ASC (integer)
DBX_CMP_DESC (integer)
Tipos de recursos
Funciones de dbx
dbx


Funciones de dbx

Tabla de contenidos

  • dbx_close — Cierra una conexión/base de datos abierta
  • dbx_compare — Comparar dos filas con propósitos de ordenación
  • dbx_connect — Abrir una conexión/base de datos
  • dbx_error — Reporta un mensaje de error de la última llamada a la función en el módulo
  • dbx_escape_string — Escapar una cadena para que pueda ser usada de forma segura en una declaración sql
  • dbx_fetch_row — Traer filas de un resultado de una consulta que tuvo la bandera DBX_RESULT_UNBUFFERED establecida
  • dbx_query — Enviar una consulta y traer todos los resultado (si hubo alguno)
  • dbx_sort — Ordenar un resultado de una llamada a dbx_query mediante una función de ordenación personalizada
Constantes predefinidas
dbx_close
dbx


Cierra una conexión/base de datos abierta

Funciones de dbx
dbx_compare
Funciones de dbx
PHP Manual

dbx_close

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_close — Cierra una conexión/base de datos abierta

Descripción

int dbx_close ( object $link_identifier )

Parámetros

link_identifier

El objeto de enlace de DBX a cerrar.

Valores devueltos

Devuelve 1 si se tuvo éxito o 0 si ocurrió un error.

Ejemplos

Ejemplo #1 Ejemplo de dbx_close()

<?php
$enlace = dbx_connect(DBX_MYSQL, "localhost", "db", "username", "password")
    or die("No se pudo conectar");

echo "Conectado satisfactoriamente";
dbx_close($enlace);
?>

Notas

Nota:

Consulte siempre la documentación específica del módulo también.

Ver también

  • dbx_connect() - Abrir una conexión/base de datos

Funciones de dbx
dbx_compare
Funciones de dbx


Comparar dos filas con propósitos de ordenación

dbx_close
dbx_connect
Funciones de dbx
PHP Manual

dbx_compare

(PHP 4 >= 4.1.0, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_compare — Comparar dos filas con propósitos de ordenación

Descripción

int dbx_compare ( array $row_a , array $row_b , string $column_key [, int $flags = DBX_CMP_ASC | DBX_CMP_NATIVE ] )

dbx_compare() es una función de ayuda para dbx_sort() para facilitar la construcción y el uso de funciones de ordenación personalizadas.

Parámetros

row_a

Primera fila

row_b

Sgunda fila

column_key

La columna comparada

flags

flags puede ser establecido para especificar la dirección de comparación:

  • DBX_CMP_ASC - orden ascendente
  • DBX_CMP_DESC - orden descendente
y el tipo de comparación preferido:
  • DBX_CMP_NATIVE - sin conversión de tipo
  • DBX_CMP_TEXT - comparar elementos como cadenas
  • DBX_CMP_NUMBER - comparar elementos numéricamente
Se pueden combinar una de las constantes de dirección y tipo con el operador a nivel de bit OR (|).

Valores devueltos

Devuelve 0 si row_a[$column_key] es igual a row_b[$column_key], y 1 o -1 si el primero es mayor o menor que el segundo respectivamente, o vice versa si flag está establacido a DBX_CMP_DESC.

Ejemplos

Ejemplo #1 Ejemplo de dbx_compare()

<?php
function user_re_order($a, $b)
{
    $rv = dbx_compare($a, $b, "parentid", DBX_CMP_DESC);
    if (!$rv) {
        $rv = dbx_compare($a, $b, "id", DBX_CMP_NUMBER);
    }
    return $rv;
}

$enlace   = dbx_connect(DBX_ODBC, "", "db", "username", "password")
    or die("No se pudo conectar");

$resultado = dbx_query($enlace, "SELECT id, parentid, description FROM table ORDER BY id");
    // la información en $resultado ahora está ordenada por id

dbx_sort($result, "user_re_order");
    // la información en $resultado ahora está ordenada por parentid (descendentemente), luego por id

dbx_close($enlace);
?>

Ver también

  • dbx_sort() - Ordenar un resultado de una llamada a dbx_query mediante una función de ordenación personalizada

dbx_close
dbx_connect
Funciones de dbx


Abrir una conexión/base de datos

dbx_compare
dbx_error
Funciones de dbx
PHP Manual

dbx_connect

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_connect — Abrir una conexión/base de datos

Descripción

object dbx_connect ( mixed $module , string $host , string $database , string $username , string $password [, int $persistent ] )

Abre una conexión a una base de datos.

Parámetros

module

El parámetro module puede ser una cadena o una constante, aunque se prefiere la segunda forma. Los valores posibles se dan a continuación, pero tenga en mente que sólo funcionan si en realidad el módulo está cargado.

  • DBX_MYSQL o "mysql"
  • DBX_ODBC o "odbc"
  • DBX_PGSQL o "pgsql"
  • DBX_MSSQL o "mssql"
  • DBX_FBSQL o "fbsql"
  • DBX_SYBASECT o "sybase_ct"
  • DBX_OCI8 o "oci8"
  • DBX_SQLITE o "sqlite"

host

El host servidor de SQL

database

El nombre de la base de datos

username

El nombre de usuario

password

La contraseña

persistent

El parámetro persistent puede ser establecido a DBX_PERSISTENT, si es así, se creará una conexión persistente.

Los parámetros host, database, username y password son comunes, pero no siempre se usan en las funciones de conexión para el módulo abstracto.

Valores devueltos

Devuelve un objeto si se tuvo éxito, FALSE si ocurrió un error. Si se ha hecho una conexión pero no se ha podido seleccionar la base de datos, la conexión se cerrará y se devolverá FALSE.

El objeto dado por object devuelto tiene tres propiedades:

database
Es el nombre de la base de datos seleccionada actualmente.
handle

Es un gestor válido para la base de datos conectada, y como tal se puede usar en funciones específicas del módulo (si se necesita).

<?php
$enlace = dbx_connect(DBX_MYSQL, "localhost", "db", "username", "password");
mysql_close($enlace->handle); // dbx_close($enlace) sería mejor aquí
?>

module
Sólo se usa internamente por dbx y es en realidad el número de módulo mencionado arriba.

Historial de cambios

Versión | Descripción
5.0.0 | Se introdujo DBX_SQLITE.
4.3.0 | Se introdujo DBX_OCI8.
4.2.0 | Se introdujo DBX_SYBASECT.
4.1.0 | Se introdujo DBX_FBSQL.

Ejemplos

Ejemplo #1 Ejemplo de dbx_connect()

<?php
$enlace = dbx_connect(DBX_ODBC, "", "db", "username", "password", DBX_PERSISTENT)
    or die("No se pudo conectar");

echo "Conectado satisfactoriamente";
dbx_close($enlace);
?>

Notas

Nota:

Consulte siempre la documentación específica del módulo también.

Ver también

  • dbx_close() - Cierra una conexión/base de datos abierta

dbx_compare
dbx_error
Funciones de dbx


Reporta un mensaje de error de la última llamada a la función en el módulo

dbx_connect
dbx_escape_string
Funciones de dbx
PHP Manual

dbx_error

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_error — Reporta un mensaje de error de la última llamada a la función en el módulo

Descripción

string dbx_error ( object $link_identifier )

dbx_error() devuelve el último mensaje de error.

Parámetros

link_identifier

El objeto de enlace de DBX devuelto por dbx_connect()

Valores devueltos

Devuelve una cadena que contiene el mensaje de error de la última llamada a la función del módulo abstracto (p.ej. el módulo mysql). Si existen múltiples conexiones en el mismo módulo sólo se da el último error. Si existen conexiones en diferentes módulos, se devuelve el último error del módulo especificado por el parámetro link_identifier.

Ejemplos

Ejemplo #1 Ejemplo de dbx_error()

<?php
$enlace = dbx_connect(DBX_MYSQL, "localhost", "db", "username", "password")
    or die("No se pudo conectar");

$resultado = dbx_query($enlace, "select id from non_existing_table");
if ($resultado == 0) {
    echo dbx_error($enlace);
}
dbx_close($enlace);
?>

Notas

Nota:

Consulte siempre la documentación específica del módulo también.

El mensaje de error para Microsoft SQL Server es en realidad el resultado de la función mssql_get_last_message().

El mensaje de error para Oracle (oci8) no está aún implementado.

dbx_connect
dbx_escape_string
Funciones de dbx


Escapar una cadena para que pueda ser usada de forma segura en una declaración sql

dbx_error
dbx_fetch_row
Funciones de dbx
PHP Manual

dbx_escape_string

(PHP 4 >= 4.3.0, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_escape_string — Escapar una cadena para que pueda ser usada de forma segura en una declaración sql

Descripción

string dbx_escape_string ( object $link_identifier , string $text )

Escapa la cadena dada para que pueda ser usada de forma segura en una declaración sql

Parámetros

link_identifier

El objeto de enlace de DBX devuelto por dbx_connect()

text

La cadena a escapar.

Valores devueltos

Devuelve el texto escapado cuando sea necesario (tal como comillas, barras invertidas, etc). Se devuelve NULL en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de dbx_escape_string()

<?php
$enlace   = dbx_connect(DBX_MYSQL, "localhost", "db", "username", "password")
    or die("No se pudo conectar");

$texto = dbx_escape_string($enlace, "It\'s quoted and backslashed (\\).");
$result = dbx_query($enlace, "insert into tbl (txt) values ('" . $texto . "')");
if ($result == 0) {
    echo dbx_error($enlace);
}
dbx_close($enlace);
?>

Ver también

  • dbx_query() - Enviar una consulta y traer todos los resultado (si hubo alguno)

dbx_error
dbx_fetch_row
Funciones de dbx


Traer filas de un resultado de una consulta que tuvo la bandera DBX_RESULT_UNBUFFERED establecida

dbx_escape_string
dbx_query
Funciones de dbx
PHP Manual

dbx_fetch_row

(PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_fetch_row — Traer filas de un resultado de una consulta que tuvo la bandera DBX_RESULT_UNBUFFERED establecida

Descripción

mixed dbx_fetch_row ( object $result_identifier )

dbx_fetch_row() trae filas de un identificador de resultado que tuvo la bandera DBX_RESULT_UNBUFFERED establecida.

Cuando no está establecida DBX_RESULT_UNBUFFERED en la consulta, dbx_fetch_row() fallará ya que en realidad todas las filas han sido traidas en la propiedad data resultado.

Como efecto secundario, la propiedad rows del objeto resultado de consulta se incrementa por cada llamada satisfactoria a dbx_fetch_row().

Parámetros

result_identifier

Un conjunto de resultados devueltos por dbx_query().

Valores devueltos

Si se tuvo éxito, devuelve un objeto que contiene la misma información que tendría cualquier fila en la propiedad data resultado de dbx_query(), incluyendo columnas accesibles por índice o por nombres de campo cuando las banderaa para dbx_query() están establecidas de esa forma.

Si falla, devuelve 0 (es decir, cuando no están disponibles más filas).

Ejemplos

Ejemplo #1 Cómo tratar el valor devuelto

<?php
$resultado = dbx_query($enlace, 'SELECT id, parentid, description FROM table', DBX_RESULT_UNBUFFERED);

echo "<table>\n";
while ($fila = dbx_fetch_row($resultado)) {
    echo "<tr>\n";
    foreach ($fila as $campo) {
        echo "<td>$campo</td>";
    }
    echo "</tr>\n";
}
echo "</table>\n";
?>

Ver también

  • dbx_query() - Enviar una consulta y traer todos los resultado (si hubo alguno)

dbx_escape_string
dbx_query
Funciones de dbx


Enviar una consulta y traer todos los resultado (si hubo alguno)

dbx_fetch_row
dbx_sort
Funciones de dbx
PHP Manual

dbx_query

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_query — Enviar una consulta y traer todos los resultado (si hubo alguno)

Descripción

mixed dbx_query ( object $link_identifier , string $sql_statement [, int $flags ] )

Envía una consulta u trae todos los resultados.

Parámetros

link_identifier

El objeto de enlace de DBX devuelto por dbx_connect()

sql_statement

Declaración SQL.

La información dentro de la consulta deberíla ser adecuadamente escapada.

flags

El parámetro flags se usa para controlar la cantidad de niformación que es devuelta. Puede ser cualquier combinación de las siguientes constantes con el operador a nivel de bit OR (|). Las banderas (flags) DBX_COLNAMES_* sobrescriben la configuración dbx.colnames_case del php.ini.

DBX_RESULT_INDEX
Es siempre establecida, es decir, el objeto devuelto tiene la propiedad data que es una matriz de 2 dimensiones indexada numéricamente. Por ejemplo, en la expresión data[2][3] 2 significa el número de fila (o registro) y 3 significa el número de columna (o campo). La primera fila y columna están indexadas como 0. Si también se especifica DBX_RESULT_ASSOC, el objeto devuelto contiene también la información relacionada con DBX_RESULT_INFO, incluso si no se especificó.
DBX_RESULT_INFO
Proporciona información acerca de las columnas, como los nombres y tipos de campos.
DBX_RESULT_ASSOC
Consigue que los valores de campos se puedan acceder con los respectivos nombres de columnas usados como claves a la propiedad data del objeto devuelto. Los resultados relacionados son en realidad referencias a la información indexada numéricamente, por lo que modificar data[0][0] causa que data[0]['nombre_del_campo_de_la_primera_columna'] se mofique también.
DBX_RESULT_UNBUFFERED
Esta bandera no creará la propiedad data, y la propiedad rows será inicialmente 0. Use esta bandera para conjuntos de datos grandes, y use dbx_fetch_row() para recuperar los resultados fila por fila. La función dbx_fetch_row() devolverá las filas que están en conformidad con las banderas establecidas con esta consulta. A propósito, también actualizará rows cada vez que sea llamada.
DBX_COLNAMES_UNCHANGED
El caso de los nombres de columnas devueltos no serán cambiados.
DBX_COLNAMES_UPPERCASE
El caso de los nombres de columnas devueltos serán cambiados a mayúsculas.
DBX_COLNAMES_LOWERCASE
El caso de los nombres de columnas devueltos serán cambiados a minúsculas.
Observer que DBX_RESULT_INDEX se usa siempre, a pesar del valor actual del parámetro flags. Esto significa que sólo son efectivas las siguientes combinaciones:
  • DBX_RESULT_INDEX
  • DBX_RESULT_INDEX | DBX_RESULT_INFO
  • DBX_RESULT_INDEX | DBX_RESULT_INFO | DBX_RESULT_ASSOC - esto es lo predeterminado si no se especificó flags.

Valores devueltos

dbx_query() devuelve un objeto o 1 si se tuvo éxtio, y 0 si falló. El objeto resultado es devuelto sólo si la consulta dada en sql_statement produce un conjunto de resultados (es decir, una consulta SELECT, incluso si el conjunto de resultados está vacío).

El objeto resultado tiene cuatro o cinco propiedades dependiendo de flags:

handle

Es un gestor válido para la base de datos conectada, y como tal se puede usar en las funciones específicas del módulo (si se requiere).

<?php
$resultado = dbx_query($enlace, "SELECT id FROM table");
mysql_field_len($resultado->handle, 0);
?>

cols y rows

Estas contienen el número de columnas (o campos) y de filas (o registros) respectivamente.

<?php
$resultado = dbx_query($enlace, 'SELECT id FROM table');
echo $resultado->rows; // número de registros
echo $resultado->cols; // número de campos
?>

info (opcional)
Es devuelto sólo si se espscifica DBX_RESULT_INFO o DBX_RESULT_ASSOC en el parámetro flags. Es una matriz de 2 dimensiones que tiene dos filas nominadas (name y type) para recuperar la información de la columna.

Ejemplo #1 listar cada nombre de campo y tipo

<?php
$resultado = dbx_query($enlace, 'SELECT id FROM table',
                     DBX_RESULT_INDEX | DBX_RESULT_INFO);

for ($i = 0; $i < $resultado->cols; $i++ ) {
    echo $resultado->info['name'][$i] . "\n";
    echo $resultado->info['type'][$i] . "\n";
}
?>
data
Esta propiedad contiene la información resultante actual, posiblemente asociada tambien con los nombres de columna, dependiendo de flags. Si está establecido DBX_RESULT_ASSOC, es posible usar $resultado->data[2]["nombre_campo"].

Ejemplo #2 imprimir el contenido de la propiedad data en una tabla HTML

<?php
$resultado = dbx_query($link, 'SELECT id, parentid, description FROM table');

echo "<table>\n";
foreach ($resultado->data as $fila) {
    echo "<tr>\n";
    foreach ($fila as $campo) {
        echo "<td>$campo</td>";
    }
    echo "</tr>\n";
}
echo "</table>\n";
?>

Ejemplo #3 Cómo tratar las consultas UNBUFFERED

<?php

$resultado = dbx_query ($enlace, 'SELECT id, parentid, description FROM table', DBX_RESULT_UNBUFFERED);

echo "<table>\n";
while ($fila = dbx_fetch_row($resultado)) {
    echo "<tr>\n";
    foreach ($fila as $campo) {
        echo "<td>$campo</td>";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Historial de cambios

Versión | Descripción
5.0.0 | Se introdujo DBX_RESULT_UNBUFFERED.
4.3.0 | Se introdujo DBX_COLNAMES_UNCHANGED, DBX_COLNAMES_UPPERCASE, y DBX_COLNAMES_LOWERCASE.

Ejemplos

Ejemplo #4 Cómo tratar el valor devuelto

<?php
$enlace   = dbx_connect(DBX_ODBC, "", "db", "username", "password")
    or die("No se pudo conectar");

$resultado = dbx_query($enlace, 'SELECT id, parentid, description FROM table');

if (is_object($resultado) ) {
    // ... hacer algo aquí, ver ejemplos detallados más adelante ...
    // primero, imprimir los nombres de campos y tipos
    // después, dibujar una tabla rellenada con los valores de los campos devueltos
} else {
    exit("La consulta falló");
}

dbx_close($enlace);
?>

Notas

Nota:

Consulte siempre la documentación específica del módulo también.

Los nombres de columnas en una base de datos Oracle son devueltos en minúsculas.

Ver también

  • dbx_escape_string() - Escapar una cadena para que pueda ser usada de forma segura en una declaración sql
  • dbx_fetch_row() - Traer filas de un resultado de una consulta que tuvo la bandera DBX_RESULT_UNBUFFERED establecida
  • dbx_connect() - Abrir una conexión/base de datos

dbx_fetch_row
dbx_sort
Funciones de dbx


Ordenar un resultado de una llamada a dbx_query mediante una función de ordenación personalizada

dbx_query
ODBC
Funciones de dbx
PHP Manual

dbx_sort

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_sort — Ordenar un resultado de una llamada a dbx_query mediante una función de ordenación personalizada

Descripción

bool dbx_sort ( object $result , string $user_compare_function )

Ordena un resultado de una llamada a dbx_query() con una función de ordenación personalizada.

Parámetros

result

Un conjunto de resultados devueltos por dbx_query().

user_compare_function

La función de comparación definida por el usuario. Debe aceptar dos argumentosy devolver un entero menor que, igual que, mayor que cero si el primer argumento se considera respectivamente menor que, igual que o mayor que el segundo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de dbx_sort()

<?php
function user_re_order($a, $b)
{
    $rv = dbx_compare($a, $b, "parentid", DBX_CMP_DESC);
    if (!$rv) {
        $rv = dbx_compare($a, $b, "id", DBX_CMP_NUMBER);
    }
    return $rv;
}

$enlace   = dbx_connect(DBX_ODBC, "", "db", "username", "password")
    or die("No se pudo conectar");

$resultado = dbx_query($enlace, "SELECT id, parentid, description FROM tbl ORDER BY id");
    // la información de $resultado está ordenada ahora por id

dbx_sort($resultado, "user_re_order");
    // la información de $resultado está ordenada por parentid (descendentemente), luego por id

dbx_close($enlace);
?>

Notas

Nota:

Siempre es mejor usar la cláusula ORDER BY SQL en vez de dbx_sort() mientras sea posible.

Ver también

  • dbx_compare() - Comparar dos filas con propósitos de ordenación

dbx_query
ODBC
Funciones de dbx


ODBC (Unificada)

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones ODBC
    • odbc_autocommit — Activa el comportamiento automático de envío
    • odbc_binmode — Manejo de información de columna binaria
    • odbc_close_all — Cerrar todas las conexiones ODBC
    • odbc_close — Cerrar una conexión ODBC
    • odbc_columnprivileges — Lista las columnas y los privilegios asociados para la tabla dada
    • odbc_columns — Lista los nombres de columnas de la tabla especificada
    • odbc_commit — Envía una transacción ODBC
    • odbc_connect — Conectar a una fuente de datos
    • odbc_cursor — Obtener el nombre del cursor
    • odbc_data_source — Devuelve información sobre una conexión actual
    • odbc_do — Alias de odbc_exec
    • odbc_error — Obtener el último código de error
    • odbc_errormsg — Obtener el último mensaje de error
    • odbc_exec — Preparar y ejecutar una sentencia SQL
    • odbc_execute — Ejecutar una declaración preparada
    • odbc_fetch_array — Traer una fila de resultados como una matriz asociativa
    • odbc_fetch_into — Traer una fila de resultados en una matriz
    • odbc_fetch_object — Traer una fila de resultados como un objeto
    • odbc_fetch_row — Traer una fila
    • odbc_field_len — Obtener la longitud (precisión) de un campo
    • odbc_field_name — Obtener el nombre de una columna
    • odbc_field_num — Devolver el número de columna
    • odbc_field_precision — Alias de odbc_field_len
    • odbc_field_scale — Obtener la escala de un campo
    • odbc_field_type — Tipo de datos de un campo
    • odbc_foreignkeys — Recupera información de una lista de claves extranjeras
    • odbc_free_result — Liberar los recursos asociados con un resultado
    • odbc_gettypeinfo — Recupera información sobre los tipos de datos soportados por la fuente de datos
    • odbc_longreadlen — Manejo de columnas LONG
    • odbc_next_result — Verifica si están disponibles múltiples resultados
    • odbc_num_fields — Número de columnas de un resultado
    • odbc_num_rows — Número de filas de un resultado
    • odbc_pconnect — Abrir una conexión persistente a una base de datos
    • odbc_prepare — Prepara una declaración para su ejecución
    • odbc_primarykeys — Obtiene las claves primarias de una tabla
    • odbc_procedurecolumns — Recuperar información sobre los parámetros a procedimientos
    • odbc_procedures — Obtener la lista de procedimientos almacenados en una fuente de datos específica
    • odbc_result_all — Imprimir el resultado como una tabla HTML
    • odbc_result — Obtener información de resultado
    • odbc_rollback — Reanuda una transacción
    • odbc_setoption — Ajustar la configuración de ODBC
    • odbc_specialcolumns — Recupera columnas especiales
    • odbc_statistics — Recuperar las estadísticas de un tabla
    • odbc_tableprivileges — Lista las tablas y los privilegios asociados con cada tabla
    • odbc_tables — Obtener la lista de los nombres de las tablas almacenados en una fuente de datos específica
dbx_sort
Introducción
Capas abstractas


Introducción

Además del soporte habitual para ODBC, las funciones de ODBC Unificada de PHP permiten acceder a varias bases de datos que toman prestada la semántica de la API ODBC para implementar su propia API. En lugar de mantener múltiples controladores de bases de datos que son casi idénticos, éstos han sido unificados en un único conjunto de funciones ODBC.

Las siguientes bases de datos están soportadas por la funciones de ODBC Unificada: » Adabas D, » IBM DB2, » iODBC, » Solid, y » Sybase SQL Anywhere.

Nota:

Con la excepción de iODBC, no está involucrada ninguna ODBC al conectarse a las bases de datos mencionadas. Ocurre que las funciones que se usan para comunicarse de forma nativa con las bases de datos comparten los mismos nombres y la misma sintaxis que las funciones de ODBC. Sin embargo, al construir PHP con soporte para iODBC, se permite el uso de cualquier controlador que cumpla con ODBC en las aplicaciones de PHP. Hay más unformaicón disponible sobre iODBC en » www.iodbc.org con la alternativa unixODBC disponible en » www.unixodbc.org.

ODBC
Instalación/Configuración
ODBC


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
ODBC


Requerimientos

Para acceder a cualquiera de las bases de datos soportadas se necesitan tener instaladas las bibliotecas requeridas.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

--with-adabas[=DIR]

Incluir el soporte para Adabas D. DIR es el directorio de instalación base de Adabas, por defecto es /usr/local.

--with-sapdb[=DIR]

Incluir soporte para SAP DB. DIR es el directorio de instalación base de SAP DB, por defecto es /usr/local.

--with-solid[=DIR]

Incluir el soporte para Solid. DIR es el directorio de instalación base de Solid, por defecto es /usr/local/solid.

--with-ibm-db2[=DIR]

Incluir el soporte para IBM DB2. DIR es el directorio de instalación base de DB2, por defecto es /home/db2inst1/sqllib.

--with-empress[=DIR]

Incluir el soporte para Empress. DIR es el directorio de instalación base de Empress, por defecto es $EMPRESSPATH. Esta opción sólo soporta Empress Version 8.60 y superior.

--with-empress-bcs[=DIR]

Incluir el soporte para "Empress Local Access". DIRes el directorio de instalación base de Empress, por defecto es $EMPRESSPATH. Esta opción sólo soporta Empress Version 8.60 y superior.

--with-birdstep[=DIR]

Incluir el soporte para Birdstep. DIR es el directorio de instalación base de Birdstep, por defecto es /usr/local/birdstep.

--with-custom-odbc[=DIR]

Incluir soporte para ODBC definida por el usuario. DIR es el directorio de instalación base de ODBC, que por defecto es /usr/local. Asegúrese de definir CUSTOM_ODBC_LIBS y tener odbc.h en los directorios de inclución. P.ej., debería definir como sigue para Sybase SQL Anywhere 5.5.00 en QNX, antes de ejecutar el script de configuración:

   CPPFLAGS="-DODBC_QNX -DSQLANY_BUG"
   LDFLAGS=-lunix
   CUSTOM_ODBC_LIBS="-ldblib -lodbc".

--with-iodbc[=DIR]

Incluir el soporte para iODBC. DIR es el directorio de instalación base de iODBC, por defecto es /usr/local.

--with-esoob[=DIR]

Incluir el soporte para Easysoft OOB. DIR es el directorio de instalación base de OOB, por defecto es /usr/local/easysoft/oob/client.

--with-unixODBC[=DIR]

Incluir el soporte para unixODBC. DIR es el directorio de instalación base de unixODBC, por defecto es /usr/local.

--with-openlink[=DIR]

Incluir el soporte para OpenLink ODBC. DIR es el directorio de instalación base de OpenLink, por defecto es /usr/local. Es el mismo que el de iODBC.

--with-dbmaker[=DIR]

Incluir el soporte para DBMaker. DIR es el directorio de instalación base de DBMaker, por defecto donde está instalada la última versión de DBMaker (como /home/dbmaker/3.6).

La versión de PHP para Windows tiene soporte nativo para esta extensión. No se requiere cargar extensiones adicionales para utilizar estas funciones.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opdiones de configuración de ODBC Unidficada
Nombre | Por defecto | Cambiable | Historial de cambios
odbc.default_db * | NULL | PHP_INI_ALL |
odbc.default_user * | NULL | PHP_INI_ALL |
odbc.default_pw * | NULL | PHP_INI_ALL |
odbc.allow_persistent | "1" | PHP_INI_SYSTEM |
odbc.check_persistent | "1" | PHP_INI_SYSTEM |
odbc.max_persistent | "-1" | PHP_INI_SYSTEM |
odbc.max_links | "-1" | PHP_INI_SYSTEM |
odbc.defaultlrl | "4096" | PHP_INI_ALL |
odbc.defaultbinmode | "1" | PHP_INI_ALL |
odbc.default_cursortype | "3" | PHP_INI_ALL | Disponible a partir de PHP 5.3.0

Nota: Las entradas marcadas con * no están aún implementadas.

Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

odbc.default_db string

Fuente de datos ODBC a usar si no se especifica ninguna en odbc_connect() o odbc_pconnect().

odbc.default_user string

Nombre de usuario a usar si no se especifica ninguno en odbc_connect() o odbc_pconnect().

odbc.default_pw string

Contraseña a usar si no se especifica ninguna en odbc_connect() o odbc_pconnect().

odbc.allow_persistent boolean

Si se permiten conexiones ODBC persistentes.

odbc.check_persistent boolean

Verificar que una conexión es todavía válida antes de reusarla.

odbc.max_persistent integer

El número máximo de conexiones ODBC persistentes por proceso.

odbc.max_links integer

El número máximo de conexiones ODBC por porceso, incluyendo las conexiones persistentes.

odbc.defaultlrl integer

Manejo de campor LONG. Especifica el número de bytes devueltos a las variables.

Cuando se usa un integer, el valor del mismo es medido en bytes. También se puede usar la notación reducida, tal como se describe en esta FAQ.
odbc.defaultbinmode integer

Manejor de información binaria.

odbc.default_cursortype integer

Controla el modelo de cursor de ODBC. Los valores posibles son SQL_CURSOR_FORWARD_ONLY, SQL_CURSOR_KEYSET_DRIVEN, SQL_CURSOR_DYNAMIC y SQL_CURSOR_STATIC (predeterminado).

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Esta extensión define dos tipos de recursos: un indentificador de conexión ODBC y un identificador de resultado ODBC.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

ODBC_TYPE (integer)
ODBC_BINMODE_PASSTHRU (integer)
ODBC_BINMODE_RETURN (integer)
ODBC_BINMODE_CONVERT (integer)
SQL_ODBC_CURSORS (integer)
SQL_CUR_USE_DRIVER (integer)
SQL_CUR_USE_IF_NEEDED (integer)
SQL_CUR_USE_ODBC (integer)
SQL_CONCURRENCY (integer)
SQL_CONCUR_READ_ONLY (integer)
SQL_CONCUR_LOCK (integer)
SQL_CONCUR_ROWVER (integer)
SQL_CONCUR_VALUES (integer)
SQL_CURSOR_TYPE (integer)
SQL_CURSOR_FORWARD_ONLY (integer)
SQL_CURSOR_KEYSET_DRIVEN (integer)
SQL_CURSOR_DYNAMIC (integer)
SQL_CURSOR_STATIC (integer)
SQL_KEYSET_SIZE (integer)
SQL_CHAR (integer)
SQL_VARCHAR (integer)
SQL_LONGVARCHAR (integer)
SQL_DECIMAL (integer)
SQL_NUMERIC (integer)
SQL_BIT (integer)
SQL_TINYINT (integer)
SQL_SMALLINT (integer)
SQL_INTEGER (integer)
SQL_BIGINT (integer)
SQL_REAL (integer)
SQL_FLOAT (integer)
SQL_DOUBLE (integer)
SQL_BINARY (integer)
SQL_VARBINARY (integer)
SQL_LONGVARBINARY (integer)
SQL_DATE (integer)
SQL_TIME (integer)
SQL_TIMESTAMP (integer)
SQL_TYPE_DATE (integer)
SQL_TYPE_TIME (integer)
SQL_TYPE_TIMESTAMP (integer)
SQL_BEST_ROWID (integer)
SQL_ROWVER (integer)
SQL_SCOPE_CURROW (integer)
SQL_SCOPE_TRANSACTION (integer)
SQL_SCOPE_SESSION (integer)
SQL_NO_NULLS (integer)
SQL_NULLABLE (integer)
SQL_INDEX_UNIQUE (integer)
SQL_INDEX_ALL (integer)
SQL_ENSURE (integer)
SQL_QUICK (integer)
Tipos de recursos
Funciones ODBC
ODBC


Funciones ODBC

Tabla de contenidos

  • odbc_autocommit — Activa el comportamiento automático de envío
  • odbc_binmode — Manejo de información de columna binaria
  • odbc_close_all — Cerrar todas las conexiones ODBC
  • odbc_close — Cerrar una conexión ODBC
  • odbc_columnprivileges — Lista las columnas y los privilegios asociados para la tabla dada
  • odbc_columns — Lista los nombres de columnas de la tabla especificada
  • odbc_commit — Envía una transacción ODBC
  • odbc_connect — Conectar a una fuente de datos
  • odbc_cursor — Obtener el nombre del cursor
  • odbc_data_source — Devuelve información sobre una conexión actual
  • odbc_do — Alias de odbc_exec
  • odbc_error — Obtener el último código de error
  • odbc_errormsg — Obtener el último mensaje de error
  • odbc_exec — Preparar y ejecutar una sentencia SQL
  • odbc_execute — Ejecutar una declaración preparada
  • odbc_fetch_array — Traer una fila de resultados como una matriz asociativa
  • odbc_fetch_into — Traer una fila de resultados en una matriz
  • odbc_fetch_object — Traer una fila de resultados como un objeto
  • odbc_fetch_row — Traer una fila
  • odbc_field_len — Obtener la longitud (precisión) de un campo
  • odbc_field_name — Obtener el nombre de una columna
  • odbc_field_num — Devolver el número de columna
  • odbc_field_precision — Alias de odbc_field_len
  • odbc_field_scale — Obtener la escala de un campo
  • odbc_field_type — Tipo de datos de un campo
  • odbc_foreignkeys — Recupera información de una lista de claves extranjeras
  • odbc_free_result — Liberar los recursos asociados con un resultado
  • odbc_gettypeinfo — Recupera información sobre los tipos de datos soportados por la fuente de datos
  • odbc_longreadlen — Manejo de columnas LONG
  • odbc_next_result — Verifica si están disponibles múltiples resultados
  • odbc_num_fields — Número de columnas de un resultado
  • odbc_num_rows — Número de filas de un resultado
  • odbc_pconnect — Abrir una conexión persistente a una base de datos
  • odbc_prepare — Prepara una declaración para su ejecución
  • odbc_primarykeys — Obtiene las claves primarias de una tabla
  • odbc_procedurecolumns — Recuperar información sobre los parámetros a procedimientos
  • odbc_procedures — Obtener la lista de procedimientos almacenados en una fuente de datos específica
  • odbc_result_all — Imprimir el resultado como una tabla HTML
  • odbc_result — Obtener información de resultado
  • odbc_rollback — Reanuda una transacción
  • odbc_setoption — Ajustar la configuración de ODBC
  • odbc_specialcolumns — Recupera columnas especiales
  • odbc_statistics — Recuperar las estadísticas de un tabla
  • odbc_tableprivileges — Lista las tablas y los privilegios asociados con cada tabla
  • odbc_tables — Obtener la lista de los nombres de las tablas almacenados en una fuente de datos específica
Constantes predefinidas
odbc_autocommit
ODBC


Activa el comportamiento automático de envío

Funciones ODBC
odbc_binmode
Funciones ODBC
PHP Manual

odbc_autocommit

(PHP 4, PHP 5)

odbc_autocommit — Activa el comportamiento automático de envío

Descripción

mixed odbc_autocommit ( resource $connection_id [, bool $OnOff = false ] )

Activa el comportamiento automático de envío.

Por defecto, el auto envío está activado en una conexión. Deshabilitar el auto envío es equivalente a iniciar una transacción.

Parámetros

connection_id

El conector identificador ODBC, ver odbc_connect() para más información.

OnOff

Si OnOff es TRUE, el auto envío está habilitado, si es FALSE el auto envío está deshabilitado.

Valores devueltos

Sin el parámetro OnOff, está función devuelve el estado de auto envío para connection_id. Se devuelve un valor distinto de cero si el auto envío está activado, 0 si está desactivado, o FALSE si se produjo un error.

Si está establecido OnOff, esta función devolverá TRUE si se tuvo éxito y FALSE si falló.

Ver también

  • odbc_commit() - Envía una transacción ODBC
  • odbc_rollback() - Reanuda una transacción

Funciones ODBC
odbc_binmode
Funciones ODBC


Manejo de información de columna binaria

odbc_autocommit
odbc_close_all
Funciones ODBC
PHP Manual

odbc_binmode

(PHP 4, PHP 5)

odbc_binmode — Manejo de información de columna binaria

Descripción

bool odbc_binmode ( resource $result_id , int $mode )

Habilita el manejo de información de columna binaria. Los tipos de SQL ODBC son BINARY, VARBINARY, y LONGVARBINARY.

Cuando se convierte informaicón SQL binaria a información C de carácter, cada byte (8 bits) de información fuente está representado como dos caractéres ASCII. Estos caracteres la representación de caracteres ASCII del número en su forma hexadecimal. Por ejemplo, el número binario 00000001 se convierte a "01" y 11111111 se convierte a "FF".

Manejo de LONGVARBINARY
binmode | longreadlen | result
ODBC_BINMODE_PASSTHRU | 0 | passthru
ODBC_BINMODE_RETURN | 0 | passthru
ODBC_BINMODE_CONVERT | 0 | passthru
ODBC_BINMODE_PASSTHRU | 0 | passthru
ODBC_BINMODE_PASSTHRU | >0 | passthru
ODBC_BINMODE_RETURN | >0 | devuelve como es
ODBC_BINMODE_CONVERT | >0 | devuelve como tipo char

Si se usa odbc_fetch_into(), passthru significa se devuelve una cadena vacía para esta columnas.

Parámetros

result_id

El identificador de resultado.

Si result_id es 0, las configuraciones se aplican por defecto para los nuevos resultados.

Nota: longreadlen por defecto es 4096 y mode por defecto es ODBC_BINMODE_RETURN. El manejo de columnas binarias de tipo long también está afectado por odbc_longreadlen().

mode

Los valores posibles para mode son:

  • ODBC_BINMODE_PASSTHRU: Realiza passthru en daots BINARY
  • ODBC_BINMODE_RETURN: Devuelve como es
  • ODBC_BINMODE_CONVERT: Covierte a tipo char y devuelve

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

odbc_autocommit
odbc_close_all
Funciones ODBC


Cerrar todas las conexiones ODBC

odbc_binmode
odbc_close
Funciones ODBC
PHP Manual

odbc_close_all

(PHP 4, PHP 5)

odbc_close_all — Cerrar todas las conexiones ODBC

Descripción

void odbc_close_all ( void )

odbc_close_all() cerrará todas las conexión del/de los servidor/es de bases de datos.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Notas

Nota:

Esta función fallará si hay transaccines abiertas sobre una conexión. En este caso la conexión permanecerá abierta.

odbc_binmode
odbc_close
Funciones ODBC


Cerrar una conexión ODBC

odbc_close_all
odbc_columnprivileges
Funciones ODBC
PHP Manual

odbc_close

(PHP 4, PHP 5)

odbc_close — Cerrar una conexión ODBC

Descripción

void odbc_close ( resource $connection_id )

Cierra una conexión a un servidor de bases de datos.

Parámetros

connection_id

El conector identificador ODBC, ver odbc_connect() para más información.

Valores devueltos

No devuelve ningún valor.

Notas

Nota:

Esta función fallará si hay transaccines abiertas sobre una conexión. En este caso la conexión permanecerá abierta.

odbc_close_all
odbc_columnprivileges
Funciones ODBC


Lista las columnas y los privilegios asociados para la tabla dada

odbc_close
odbc_columns
Funciones ODBC
PHP Manual

odbc_columnprivileges

(PHP 4, PHP 5)

odbc_columnprivileges — Lista las columnas y los privilegios asociados para la tabla dada

Descripción

resource odbc_columnprivileges ( resource $connection_id , string $qualifier , string $owner , string $table_name , string $column_name )

Lista las columnas y los privilegios asociados para la tabla dada.

Parámetros

connection_id

El conector identificador ODBC, ver odbc_connect() para más información.

qualifier

El cualificador.

owner

El propietario.

table_name

El nombre de la table.

column_name

El argumento column_name acepta patrones de búsqueda ('%' para comparar cero o más caracteres y '_' para comparar un único carácter).

Los parámetros schema, table_name y column_name aceptan patrones de búsqueda ('%' para comparar cero o más caracteres y '_' para comparar un único carácter).

Valores devueltos

Devuelve un identificador de resultado de ODBC o FALSE en caso de error. Este identificador de resultado se puede usar para traer una lista de columnas y privilegios asociados.

El conjunto de resultados tiene las siguientes columnas:

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • GRANTOR
  • GRANTEE
  • PRIVILEGE
  • IS_GRANTABLE

El conjunto de resultados está ordenados según TABLE_QUALIFIER, TABLE_OWNER y TABLE_NAME.

odbc_close
odbc_columns
Funciones ODBC


Lista los nombres de columnas de la tabla especificada

odbc_columnprivileges
odbc_commit
Funciones ODBC
PHP Manual

odbc_columns

(PHP 4, PHP 5)

odbc_columns — Lista los nombres de columnas de la tabla especificada

Descripción

resource odbc_columns ( resource $connection_id [, string $qualifier [, string $schema [, string $table_name [, string $column_name ]]]] )

Lista todas las columnas en el rango solicitado.

Parámetros

connection_id

El conector identificador ODBC, ver odbc_connect() para más información.

qualifier

El cualificador.

schema

El propietariio.

table_name

El nombre de la table.

column_name

El nombre de la columna.

Los parámetros schema, table_name y column_name aceptan patrones de búsqueda ('%' para comparar cero o más caracteres y '_' para comparar un único carácter).

Valores devueltos

Devuelve un idenrificador de resultado de ODBC o FALSE en caso de error.

El conjunto de resultados tiene las siguietes columnas:

  • TABLE_QUALIFIER
  • TABLE_SCHEM
  • TABLE_NAME
  • COLUMN_NAME
  • DATA_TYPE
  • TYPE_NAME
  • PRECISION
  • LENGTH
  • SCALE
  • RADIX
  • NULLABLE
  • REMARKS

El conjunto de resultados está ordenado según TABLE_QUALIFIER, TABLE_SCHEM y TABLE_NAME.

Ver también

  • odbc_columnprivileges() - Lista las columnas y los privilegios asociados para la tabla dada para recuperar los privilegios asociados

odbc_columnprivileges
odbc_commit
Funciones ODBC


Envía una transacción ODBC

odbc_columns
odbc_connect
Funciones ODBC
PHP Manual

odbc_commit

(PHP 4, PHP 5)

odbc_commit — Envía una transacción ODBC

Descripción

bool odbc_commit ( resource $connection_id )

Envía todas las transacciones pendientes en una conexión.

Parámetros

connection_id

El conector identificador ODBC, ver odbc_connect() para más información.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

odbc_columns
odbc_connect
Funciones ODBC


Conectar a una fuente de datos

odbc_commit
odbc_cursor
Funciones ODBC
PHP Manual

odbc_connect

(PHP 4, PHP 5)

odbc_connect — Conectar a una fuente de datos

Descripción

resource odbc_connect ( string $dsn , string $user , string $password [, int $cursor_type ] )

El id de conexión devuelto por estas funciones es necesario por otras funciones ODBC. Se pueden tener abiertas mútiples conexiones de una vez mientras que usen bases de datos o credenciales diferentes.

Con algunos controladores ODBC, el ejecutar un procedimiento de almacenamiento complejo puede fallar con un error similar a: "Cannot open a cursor on a stored procedure that has anything other than a single select statement in it" (No se pudo abrir un cursor en un procedimiento de almacenamiento que tiene una única declaración de selección). Se puede evitar este error usando SQL_CUR_USE_ODBC. También, algunos controladores no soportan el parámetro opcional row_number en odbc_fetch_row(). SQL_CUR_USE_ODBC might también ayuda en este case.

Parámetros

dsn

El nombre de la fuente de base de datos para la conexión. Alternativamente se puede usar una cadena de conexión sin DSN.

user

El nombre de usuario.

password

La contraseña.

cursor_type

Establece el tipo de cursor a usar para esta conexión. Este parámetro normalmente no es necesario, pero puede ser útil para evitar problemas con algunos controladores ODBC.

Las siguientes constantes están definidas para el tipo de cursor:

  • SQL_CUR_USE_IF_NEEDED
  • SQL_CUR_USE_ODBC
  • SQL_CUR_USE_DRIVER

Valores devueltos

Devuelve una conexión ODBC o (FALSE) si ocurre un error.

Ejemplos

Ejemplo #1 Conexiones sin DSN

<?php
// Microsoft SQL Server usando SQL Native Client 10.0 ODBC Driver - permite la conexión a SQL 7, 2000, 2005 y 2008
$conexión = odbc_connect("Driver={SQL Server Native Client 10.0};Server=$server;Database=$database;", $user, $password);

// Microsoft Access
$conexión = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=$mdbFilename", $user, $password);

// Microsoft Excel
$excelFile = realpath('C:/ExcelData.xls');
$excelDir = dirname($excelFile);
$conexión = odbc_connect("Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=$excelFile;DefaultDir=$excelDir" , '', '');
?>

Ver también

  • Para conexiones persistentes: odbc_pconnect() - Abrir una conexión persistente a una base de datos

odbc_commit
odbc_cursor
Funciones ODBC


Obtener el nombre del cursor

odbc_connect
odbc_data_source
Funciones ODBC
PHP Manual

odbc_cursor

(PHP 4, PHP 5)

odbc_cursor — Obtener el nombre del cursor

Descripción

string odbc_cursor ( resource $result_id )

Obtiene el nombre del cursor para el párametro result_id dado.

Parámetros

result_id

El indentificador de resultados.

Valores devueltos

Devuelve el nombre del cursor, como cadena.

odbc_connect
odbc_data_source
Funciones ODBC


Devuelve información sobre una conexión actual

odbc_cursor
odbc_do
Funciones ODBC
PHP Manual

odbc_data_source

(PHP 4 >= 4.3.0, PHP 5)

odbc_data_source — Devuelve información sobre una conexión actual

Descripción

array odbc_data_source ( resource $connection_id , int $fetch_type )

Esta función devolverá la lista de DSN disponibles (después de llamarla varias veces).

Parámetros

connection_id

El conector identificador ODBC, ver odbc_connect() para más información.

fetch_type

El parámetro fetch_type puede ser uno de los dos tipos de constantes: SQL_FETCH_FIRST, SQL_FETCH_NEXT. Use SQL_FETCH_FIRST la primera vez que llame a esta función, a partir de entonces use SQL_FETCH_NEXT.

Valores devueltos

Devuelve FALSE si se produjo un error, y un array si tuvo éxito.

odbc_cursor
odbc_do
Funciones ODBC


Alias de odbc_exec

odbc_data_source
odbc_error
Funciones ODBC
PHP Manual

odbc_do

(PHP 4, PHP 5)

odbc_do — Alias de odbc_exec()

Descripción

Esta función es un alias de: odbc_exec().

odbc_data_source
odbc_error
Funciones ODBC


Obtener el último código de error

odbc_do
odbc_errormsg
Funciones ODBC
PHP Manual

odbc_error

(PHP 4 >= 4.0.5, PHP 5)

odbc_error — Obtener el último código de error

Descripción

string odbc_error ([ resource $connection_id ] )

Devuelve el estado de ODBC mediante un número de seis dígitos, o una cadena vacía si no hubo errores.

Parámetros

connection_id

El conector identificador ODBC, ver odbc_connect() para más información.

Valores devueltos

Si se especifica connection_id, se devuelve el último estado de esta conexión, si no, se devuleve el último estado de cualquier conexión.

Esta función devuelve un valor significativo sólo si la última consultaodbc falló (es decir, odbc_exec() devolvió FALSE).

Ver también

  • odbc_errormsg() - Obtener el último mensaje de error
  • odbc_exec() - Preparar y ejecutar una sentencia SQL

odbc_do
odbc_errormsg
Funciones ODBC


Obtener el último mensaje de error

odbc_error
odbc_exec
Funciones ODBC
PHP Manual

odbc_errormsg

(PHP 4 >= 4.0.5, PHP 5)

odbc_errormsg — Obtener el último mensaje de error

Descripción

string odbc_errormsg ([ resource $connection_id ] )

Devuelve una cadena que contiene el último mensaje de error de ODBC, un una cadena vacía si no hubo errores.

Parámetros

connection_id

El conector identificador ODBC, ver odbc_connect() para más información.

Valores devueltos

Si se especifica connection_id, se devuelve el último estado de esa conexión, si no se devuelve el último estado de cualquier conexsión.

Esta función devuelve un valor significativo sólo si falló al última consulta odbc (es decir, odbc_exec() devolvió FALSE).

Ver también

  • odbc_error() - Obtener el último código de error
  • odbc_exec() - Preparar y ejecutar una sentencia SQL

odbc_error
odbc_exec
Funciones ODBC


Preparar y ejecutar una sentencia SQL

odbc_errormsg
odbc_execute
Funciones ODBC
PHP Manual

odbc_exec

(PHP 4, PHP 5)

odbc_exec — Preparar y ejecutar una sentencia SQL

Descripción

resource odbc_exec ( resource $connection_id , string $query_string [, int $flags ] )

Envía una sentencia SQL al servidor de bases de datos.

Parámetros

connection_id

El conector identificador ODBC, ver odbc_connect() para más información.

query_string

La sentencia SQL.

flags

Este parámetro no se usa actualmente.

Valores devueltos

Devuelve un identificador de resultado de ODBC si el comando SQL se ejecutó con éxito, o FALSE si se produjo un error.

Ver también

  • odbc_prepare() - Prepara una declaración para su ejecución
  • odbc_execute() - Ejecutar una declaración preparada

odbc_errormsg
odbc_execute
Funciones ODBC


Ejecutar una declaración preparada

odbc_exec
odbc_fetch_array
Funciones ODBC
PHP Manual

odbc_execute

(PHP 4, PHP 5)

odbc_execute — Ejecutar una declaración preparada

Descripción

bool odbc_execute ( resource $result_id [, array $parameters_array ] )

Ejecuta una declaración preparado con odbc_prepare().

Parámetros

result_id

El resource de identificación de resultado, desde odbc_prepare().

parameters_array

Los parámetros en parameter_array serán sustituidoss por parámetros de sustitución en la declaración preparada en orden. Los elementos de este array serán convertidos a cadenas al llamar a esta función.

Cualquier parámetro de parameter_array que comience y finalice con comillas simples se tomará como el nombre de un archivo para leer y enviar al servor de la base de datos como la información para el parámetro de sustitución apropiado.

Si desea almacenar una cadena que comienza y finaliza con comillas simples, debe añadir un espacio u otro carácter distinto de las comillas simples al inicio o final del parámetro, lo que prevendrá al parámetro de ser tomado como un nombre de archivo. Si esto no es una opción, entonces debe usar otro mecanismo para almacenar la cadena, tal como ejecutar la consulta directamente con odbc_exec()).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de odbc_execute() y odbc_prepare()

En el código siguiente, $éxito solamente será TRUE si los tres parámetros de myproc son parámetros IN:

<?php
$a = 1;
$b = 2;
$c = 3;
$declaración    = odbc_prepare($conexión, 'CALL myproc(?,?,?)');
$éxito = odbc_execute($declaración, array($a, $b, $c));
?>

Si se necesita llamar a procedimientos almacendos usando parámetros INOUT o OUT, una solución recomendada es usar una extensión nativa para la base de datos (por ejemplo, mssql para MS SQL Server, o oci8 para Oracle).

Historial de cambios

Versión | Descripción
4.2.0 | La lectura de archivos ahora es materia de safe mode y de las restricciones de open-basedir en parameters_array.
4.1.1 | Los archivos remotos ya no están soportados en parameters_array.

Ver también

  • odbc_prepare() - Prepara una declaración para su ejecución

odbc_exec
odbc_fetch_array
Funciones ODBC


Traer una fila de resultados como una matriz asociativa

odbc_execute
odbc_fetch_into
Funciones ODBC
PHP Manual

odbc_fetch_array

(PHP 4 >= 4.0.2, PHP 5)

odbc_fetch_array — Traer una fila de resultados como una matriz asociativa

Descripción

array odbc_fetch_array ( resource $result [, int $rownumber ] )

Trae un array asociativo desde una consulta ODBC. Véase el registro de cambios de abajo para ver cuándo está disponible esta función.

Parámetros

result

El recurso del resultado de odbc_exec().

rownumber

Escoger opcionalmente qué número de fila a recuperar.

Valores devueltos

Devuelve una matriz que se corresponde con la fila traída, o FALSE si ya no hay más filas.

Historial de cambios

Versión | Descripción
4.3.3 | Esta función existe cuando se compila con soporte para IBM DB2 o UnixODBC.
4.3.2 | Esta función existe cuando se compila para Windows.
4.0.2 | Esta función existe cuando se compila con soporte para DBMaker.

Ver también

  • odbc_fetch_row() - Traer una fila
  • odbc_fetch_object() - Traer una fila de resultados como un objeto
  • odbc_num_rows() - Número de filas de un resultado

odbc_execute
odbc_fetch_into
Funciones ODBC


Traer una fila de resultados en una matriz

odbc_fetch_array
odbc_fetch_object
Funciones ODBC
PHP Manual

odbc_fetch_into

(PHP 4, PHP 5)

odbc_fetch_into — Traer una fila de resultados en una matriz

Descripción

int odbc_fetch_into ( resource $result_id , array &$result_array [, int $rownumber ] )

Trae una fila de resultados en un array.

Parámetros

result_id

El resource del resultado.

result_array

El array resultante que puede ser de cualquier tipo ya que será convertido a tipo array. La matriz contendrá los valores de columnas comenzando en el índice de matriz 0.

rownumber

El número de fila.

Valores devueltos

Devuelve el número de columnas del resultado; FALSE si se produjo un error.

Historial de cambios

Versión | Descripción
4.2.0 | Los parámetros result_array y rownumber han sido intercambiados. Esto permite que el número de fila sea una constante otra vez.
4.0.6 | El parámetro rownumber ya no se puede pasar como constante, pero sí como como variable. Esto cambió de nuevo en 4.2.0.
4.0.5 | El parámetro result_array ya no necesita ser pasado por referencia.

Ejemplos

Ejemplo #1 Ejemplos de odbc_fetch_into()

<?php
$rc = odbc_fetch_into($res_id, $mi_array);
?>

o

<?php
$rc = odbc_fetch_into($res_id, $mi_array, 2);
?>

odbc_fetch_array
odbc_fetch_object
Funciones ODBC


Traer una fila de resultados como un objeto

odbc_fetch_into
odbc_fetch_row
Funciones ODBC
PHP Manual

odbc_fetch_object

(PHP 4 >= 4.0.2, PHP 5)

odbc_fetch_object — Traer una fila de resultados como un objeto

Descripción

object odbc_fetch_object ( resource $result [, int $rownumber ] )

Trae un object desde una consulta ODBC. Véase el registro de cambios de abajo para ver cuándo está disponible esta función.

Parámetros

result

El recurso de resultado de odbc_exec().

rownumber

Escoger opcionalmente qué número de fila recuperar.

Valores devueltos

Devuelve un objeto que se corresponde con la fila traída, o FALSE si ya no hay más filas.

Historial de cambios

Versión | Descripción
4.3.3 | Esta función existe cuando se compila con soporte para IBM DB2 o UnixODBC.
4.3.2 | Esta función existe cuando se compila para Windows.
4.0.2 | Esta función existe cuando se compila con soporte para DBMaker.

Ver también

  • odbc_fetch_row() - Traer una fila
  • odbc_fetch_array() - Traer una fila de resultados como una matriz asociativa
  • odbc_num_rows() - Número de filas de un resultado

odbc_fetch_into
odbc_fetch_row
Funciones ODBC


Traer una fila

odbc_fetch_object
odbc_field_len
Funciones ODBC
PHP Manual

odbc_fetch_row

(PHP 4, PHP 5)

odbc_fetch_row — Traer una fila

Descripción

bool odbc_fetch_row ( resource $result_id [, int $row_number ] )

Trae una fila de la información que fue devuelta por odbc_do() o odbc_exec(). Después de llamar a odbc_fetch_row(), se puede acceder a los campos de esa fila con odbc_result().

Parámetros

result_id

El indentificador de resultado.

row_number

Si no se especifica row_number, odbc_fetch_row() intentará traer la siguiente fila del conjunto de resultados. Se pueden mezclar las llamadas a odbc_fetch_row() con o sin row_number.

Para revisar el resultado más de una vez se puede llamar a odbc_fetch_row() con row_number 1, y después continuar haciendo odbc_fetch_row() sin row_number para revisar el resultado. Si un controlador no soporta traer filas mediante número, el parámetro row_number es ignorado.

Valores devueltos

Devuelve TRUE si hubo una fila, de otro modo FALSE.

odbc_fetch_object
odbc_field_len
Funciones ODBC


Obtener la longitud (precisión) de un campo

odbc_fetch_row
odbc_field_name
Funciones ODBC
PHP Manual

odbc_field_len

(PHP 4, PHP 5)

odbc_field_len — Obtener la longitud (precisión) de un campo

Descripción

int odbc_field_len ( resource $result_id , int $field_number )

Obtiene la longitud de un campo referenciado por número del indentificador de resultado dado.

Parámetros

result_id

El identificador de resultado.

field_number

El número de campo. La numeración de campos empieza en 1.

Valores devueltos

Devuelve el nombre del campo como cadena, o FALSE si se produjo un error.

Ver también

  • odbc_field_scale() - Obtener la escala de un campo para obtener la escala de un número de coma flotante

odbc_fetch_row
odbc_field_name
Funciones ODBC


Obtener el nombre de una columna

odbc_field_len
odbc_field_num
Funciones ODBC
PHP Manual

odbc_field_name

(PHP 4, PHP 5)

odbc_field_name — Obtener el nombre de una columna

Descripción

string odbc_field_name ( resource $result_id , int $field_number )

Obtiene el nombre de la columna que ocupa el número de columna dado del identificador de resultado dado.

Parámetros

result_id

El identificador de resultado.

field_number

El número de columna. La numeración de columnas comienza en 1.

Valores devueltos

Devuelve el nombre del campo como cadena, o FALSE si se produjo un error.

odbc_field_len
odbc_field_num
Funciones ODBC


Devolver el número de columna

odbc_field_name
odbc_field_precision
Funciones ODBC
PHP Manual

odbc_field_num

(PHP 4, PHP 5)

odbc_field_num — Devolver el número de columna

Descripción

int odbc_field_num ( resource $result_id , string $field_name )

Obtiene el número del espacio de columna que se corresponde con el campo nominado del identificador de resultado dado.

Parámetros

result_id

El identificador de resultado.

field_name

El nombre del campo.

Valores devueltos

Devuelve el número de campo como un valor entero, o FALSE si se produjo un error. La numeración de campos comienza en 1.

odbc_field_name
odbc_field_precision
Funciones ODBC


Alias de odbc_field_len

odbc_field_num
odbc_field_scale
Funciones ODBC
PHP Manual

odbc_field_precision

(PHP 4, PHP 5)

odbc_field_precision — Alias de odbc_field_len()

Descripción

Esta función es un alias de: odbc_field_len().

Ver también

  • odbc_field_scale() - Obtener la escala de un campo para obtener la escala de un número de coma flotante.

odbc_field_num
odbc_field_scale
Funciones ODBC


Obtener la escala de un campo

odbc_field_precision
odbc_field_type
Funciones ODBC
PHP Manual

odbc_field_scale

(PHP 4, PHP 5)

odbc_field_scale — Obtener la escala de un campo

Descripción

int odbc_field_scale ( resource $result_id , int $field_number )

Obtiene la escala de un campo referenciado mediante número del identificador de resultado dado.

Parámetros

result_id

El identificador de resultado.

field_number

El número de campo. La numeración de campos comienza en 1.

Valores devueltos

Devuelve la escala del campo como un valor de tipo integer, o FALSE si se produjo un error.

odbc_field_precision
odbc_field_type
Funciones ODBC


Tipo de datos de un campo

odbc_field_scale
odbc_foreignkeys
Funciones ODBC
PHP Manual

odbc_field_type

(PHP 4, PHP 5)

odbc_field_type — Tipo de datos de un campo

Descripción

string odbc_field_type ( resource $result_id , int $field_number )

Obtiene el tipo SQL de un campo referenciado mediante número en el identificador de resultado dado.

Parámetros

result_id

El identificador de resultado.

field_number

El número de campo. La numeración de campos comienza en 1.

Valores devueltos

Devuelve el tipo de campo como cadena, o FALSE si se produjo un error.

odbc_field_scale
odbc_foreignkeys
Funciones ODBC


Recupera información de una lista de claves extranjeras

odbc_field_type
odbc_free_result
Funciones ODBC
PHP Manual

odbc_foreignkeys

(PHP 4, PHP 5)

odbc_foreignkeys — Recupera información de una lista de claves extranjeras

Descripción

resource odbc_foreignkeys ( resource $connection_id , string $pk_qualifier , string $pk_owner , string $pk_table , string $fk_qualifier , string $fk_owner , string $fk_table )

Recupera una lista de claves extranjeras de la tabla especificada o una lista de claves extranjeras de otras tablas que hacen referencia a la clave primaria de la tabla especificada

Parámetros

connection_id

El conector identificador ODBC, ver odbc_connect() para más información.

pk_qualifier

El cualificador de clave primaria.

pk_owner

El propietario de la clave primaria.

pk_table

La tabla de la clave primaria.

fk_qualifier

El cualificador de la clave extranjera.

fk_owner

El propietario de la clave extranjera.

fk_table

La tabla de la clave extranjera.

Valores devueltos

Devuelve un identificador de resultado ODBC o FALSE en caso de error.

El conjunto de resultados tiene las siguientes columnas:

  • PKTABLE_QUALIFIER
  • PKTABLE_OWNER
  • PKTABLE_NAME
  • PKCOLUMN_NAME
  • FKTABLE_QUALIFIER
  • FKTABLE_OWNER
  • FKTABLE_NAME
  • FKCOLUMN_NAME
  • KEY_SEQ
  • UPDATE_RULE
  • DELETE_RULE
  • FK_NAME
  • PK_NAME

Si pk_table contiene un nombre de tabla, odbc_foreignkeys() devuelve un conjunto de resultados que contienen la clave primaria de la tabla especificada y todas las claves extranjeras que hacen referencia a ella.

Si fk_table contiene un nombre de tabla, odbc_foreignkeys() devuelve un conjunto de resultados que contienen todas las claves extranjeras de la tabla especificada y las claves primarias (de otras tablas) a las que hacen referencia.

Si pk_table y fk_table contienen nombres de tablas, odbc_foreignkeys() devuelve las claves extranjeras de la tabla especificada en fk_table que hacen referencia a la clave primaria de la tabla especificada en pk_table. Debería ser una clave como máximo.

odbc_field_type
odbc_free_result
Funciones ODBC


Liberar los recursos asociados con un resultado

odbc_foreignkeys
odbc_gettypeinfo
Funciones ODBC
PHP Manual

odbc_free_result

(PHP 4, PHP 5)

odbc_free_result — Liberar los recursos asociados con un resultado

Descripción

bool odbc_free_result ( resource $result_id )

Libera los recursos asociados con un resultado.

odbc_free_result() sólo necesita ser llamado si se tiene preocupación de usar demasiada memoria mientras se está ejecutando el script. Toda la memoria de resultados será liberada cuando el script finalice.

Parámetros

result_id

El identificador de resultado.

Valores devueltos

Siempre devuelve TRUE.

Notas

Nota:

Si el auto-envío está deshabilitado (véase odbc_autocommit()) y se llama a odbc_free_result() antes del envío, todas las transacciones pendientes serán reanudadas.

odbc_foreignkeys
odbc_gettypeinfo
Funciones ODBC


Recupera información sobre los tipos de datos soportados por la fuente de datos

odbc_free_result
odbc_longreadlen
Funciones ODBC
PHP Manual

odbc_gettypeinfo

(PHP 4, PHP 5)

odbc_gettypeinfo — Recupera información sobre los tipos de datos soportados por la fuente de datos

Descripción

resource odbc_gettypeinfo ( resource $connection_id [, int $data_type ] )

Recupera información sobre los tipos de datos soportados por la fuente de datos.

Parámetros

connection_id

El conector identificador ODBC, ver odbc_connect() para más información.

data_type

El tipo de datos, el cuál se puede usar para restringir la información a un único tipo de datos.

Valores devueltos

Devuelve un identificador de resultado ODBC o FALSE si se produjo un error.

El conjunto de resultados tiene las siguientes columnas:

  • TYPE_NAME
  • DATA_TYPE
  • PRECISION
  • LITERAL_PREFIX
  • LITERAL_SUFFIX
  • CREATE_PARAMS
  • NULLABLE
  • CASE_SENSITIVE
  • SEARCHABLE
  • UNSIGNED_ATTRIBUTE
  • MONEY
  • AUTO_INCREMENT
  • LOCAL_TYPE_NAME
  • MINIMUM_SCALE
  • MAXIMUM_SCALE

El conjunto de resultados está ordenado por DATA_TYPE y TYPE_NAME.

odbc_free_result
odbc_longreadlen
Funciones ODBC


Manejo de columnas LONG

odbc_gettypeinfo
odbc_next_result
Funciones ODBC
PHP Manual

odbc_longreadlen

(PHP 4, PHP 5)

odbc_longreadlen — Manejo de columnas LONG

Descripción

bool odbc_longreadlen ( resource $result_id , int $length )

Habilita el manejo de columnas de tipo LONG y LONGVARBINARY.

Parámetros

result_id

El identificador de resultado.

length

El número de bytes devueltos a PHP está controlado por el parámetro length. Si está establecido a 0, la información de la columna Long se pasa a través del cliente.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota:

El manejo de columnas LONGVARBINARY también está afectado por odbc_binmode().

odbc_gettypeinfo
odbc_next_result
Funciones ODBC


Verifica si están disponibles múltiples resultados

odbc_longreadlen
odbc_num_fields
Funciones ODBC
PHP Manual

odbc_next_result

(PHP 4 >= 4.0.5, PHP 5)

odbc_next_result — Verifica si están disponibles múltiples resultados

Descripción

bool odbc_next_result ( resource $result_id )

Verifica si hay más conjuntos de resultados disponibles así como permitir el acceso al siguiente conjunto de resultados mediante odbc_fetch_array(), odbc_fetch_row(), odbc_result(), etc.

Parámetros

result_id

El identificador de resultado.

Valores devueltos

Devuelve TRUE si hay más conjuntos de resultados, FALSE si no.

Ejemplos

Ejemplo #1 odbc_next_result()

<?php
$r_Connection = odbc_connect($dsn, $username, $password);

$s_SQL = <<<END_SQL
SELECT 'A'
SELECT 'B'
SELECT 'C'
END_SQL;

$r_Results = odbc_exec($r_Connection, $s_SQL);

$a_Row1 = odbc_fetch_array($r_Results);
$a_Row2 = odbc_fetch_array($r_Results);
echo "Dump first result set";
var_dump($a_Row1, $a_Row2);

echo "Get second results set ";
var_dump(odbc_next_result($r_Results));

$a_Row1 = odbc_fetch_array($r_Results);
$a_Row2 = odbc_fetch_array($r_Results);
echo "Dump second result set ";
var_dump($a_Row1, $a_Row2);

echo "Get third results set ";
var_dump(odbc_next_result($r_Results));

$a_Row1 = odbc_fetch_array($r_Results);
$a_Row2 = odbc_fetch_array($r_Results);
echo "Dump third result set ";
var_dump($a_Row1, $a_Row2);

echo "Try for a fourth result set ";
var_dump(odbc_next_result($r_Results));
?>

El resultado del ejemplo sería:

Dump first result set array(1) {
  ["A"]=>
  string(1) "A"
}
bool(false)
Get second results set bool(true)
Dump second result set array(1) {
  ["B"]=>
  string(1) "B"
}
bool(false)
Get third results set bool(true)
Dump third result set array(1) {
  ["C"]=>
  string(1) "C"
}
bool(false)
Try for a fourth result set bool(false)

odbc_longreadlen
odbc_num_fields
Funciones ODBC


Número de columnas de un resultado

odbc_next_result
odbc_num_rows
Funciones ODBC
PHP Manual

odbc_num_fields

(PHP 4, PHP 5)

odbc_num_fields — Número de columnas de un resultado

Descripción

int odbc_num_fields ( resource $result_id )

Obtiene el número de campos (columnas) de un resultado ODBC.

Parámetros

result_id

El identificador de resultado devuelto por odbc_exec().

Valores devueltos

Devuelve el número de campos, o -1 si se produjo un error.

odbc_next_result
odbc_num_rows
Funciones ODBC


Número de filas de un resultado

odbc_num_fields
odbc_pconnect
Funciones ODBC
PHP Manual

odbc_num_rows

(PHP 4, PHP 5)

odbc_num_rows — Número de filas de un resultado

Descripción

int odbc_num_rows ( resource $result_id )

Obtiene el número de filas de un resultado. Para las declaraciones INSERT, UPDATE y DELETE, odbc_num_rows() devuelve el número de filas afectadas. Para la cláusula SELECT este puede ser el número de filas disponibles.

Parámetros

result_id

El identificador de resultado devuelto por odbc_exec().

Valores devueltos

Devuelve el número de filas de un resultado ODBC. Esta función devolverá -1 si se produjo un error.

Notas

Nota:

Usar odbc_num_rows() para determinar el número de filas disponibles después de que SELECT devuelva -1 con varios controladores.

odbc_num_fields
odbc_pconnect
Funciones ODBC


Abrir una conexión persistente a una base de datos

odbc_num_rows
odbc_prepare
Funciones ODBC
PHP Manual

odbc_pconnect

(PHP 4, PHP 5)

odbc_pconnect — Abrir una conexión persistente a una base de datos

Descripción

resource odbc_pconnect ( string $dsn , string $user , string $password [, int $cursor_type ] )

Abre una conexión persistente a una base de datos.

Esta función es como odbc_connect(), excepto que la conexión no se cierra en realidad cuando el script finaliza. Futuras consultas para una conexión con la misma combinación de dsn, user, password (mediante odbc_connect() y odbc_pconnect()) pueden reusar la conexión persistente.

Parámetros

Véase odbc_connect() para más detalles.

Valores devueltos

Devuelve un identificador de conexión ODBCo 0 (FALSE) si se produjo un error.

Notas

Nota: Las conexiones persistentes no tienen efecto si PHP se usa como programa CGI.

Ver también

  • odbc_connect() - Conectar a una fuente de datos
  • Conexiones Persistentes a Bases de Datos

odbc_num_rows
odbc_prepare
Funciones ODBC


Prepara una declaración para su ejecución

odbc_pconnect
odbc_primarykeys
Funciones ODBC
PHP Manual

odbc_prepare

(PHP 4, PHP 5)

odbc_prepare — Prepara una declaración para su ejecución

Descripción

resource odbc_prepare ( resource $connection_id , string $query_string )

Prepara una declaración para su ejecución. El identificador de resultado se puede usar después para ejecutar la declaración con odbc_execute().

Algunas bases de datos (como IBM DB2, MS SQL Server, y Oracle) soportan procedimientos almacenados que aceptan parámetros de tipo IN, INOUT, y OUT como están definidos por la especificación ODBC. Sin embargo, el controlador ODBC Unificado actualmente sólo soporta parámetros de tipo IN para procedimientos almacenados.

Parámetros

connection_id

El conector identificador ODBC, ver odbc_connect() para más información.

query_string

La declaración de cadena de consulta que va a ser preparada.

Valores devueltos

Devuelve un identificador de resultado ODBC si el comando SQL se preparó con éxito. Devuleve FALSE si se produjo un error.

Ejemplos

Ejemplo #1 Ejemplo de odbc_execute() y odbc_prepare()

En el siguiente código, $éxito sólo será TRUE si todos los parámetros de miproc son parámetros IN:

<?php
$a = 1;
$b = 2;
$c = 3;
$stmt    = odbc_prepare($conn, 'CALL miproc(?,?,?)');
$éxito = odbc_execute($stmt, array($a, $b, $c));
?>

Si se necesita llamar a un procedimiento almacenado usando parámetros INOUT o OUT, la solución recomendada es usar una extensión nativa para la base de datos (por ejemplo, mssql para MS SQL Server, o oci8 para Oracle).

Ver también

  • odbc_execute() - Ejecutar una declaración preparada

odbc_pconnect
odbc_primarykeys
Funciones ODBC


Obtiene las claves primarias de una tabla

odbc_prepare
odbc_procedurecolumns
Funciones ODBC
PHP Manual

odbc_primarykeys

(PHP 4, PHP 5)

odbc_primarykeys — Obtiene las claves primarias de una tabla

Descripción

resource odbc_primarykeys ( resource $connection_id , string $qualifier , string $owner , string $table )

Devuelve un identificador de resultado que puede usarse para traer los nombres de columnas que componen la clave primaria de una tabla.

Parámetros

connection_id

El conector identificador ODBC, ver odbc_connect() para más información.

qualifier

owner

table

Valores devueltos

Devuelve un identificador de resultado ODBC o FALSE en caso de error.

El conjunto de resultados tiene las siguientes columnas:

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • COLUMN_NAME
  • KEY_SEQ
  • PK_NAME

odbc_prepare
odbc_procedurecolumns
Funciones ODBC


Recuperar información sobre los parámetros a procedimientos

odbc_primarykeys
odbc_procedures
Funciones ODBC
PHP Manual

odbc_procedurecolumns

(PHP 4, PHP 5)

odbc_procedurecolumns — Recuperar información sobre los parámetros a procedimientos

Descripción

resource odbc_procedurecolumns ( resource $connection_id )
resource odbc_procedurecolumns ( resource $connection_id , string $qualifier , string $owner , string $proc , string $column )

Recuperar información sobre los parámetros a procedimientos.

Parámetros

connection_id

El conector identificador ODBC, ver odbc_connect() para más información.

qualifier

El cualificador.

owner

El propietario. Este parámetro acepta los siguientes patrones de búsqueda: "%" para coincidir cero o más caracteres, y "_" para coincidir un solo caracter.

proc

El procedimiento. Este parámetro acepta los siguientes patrones de búsqueda: "%" para coincidir cero o más caracteres, y "_" para coincidir un solo caracter.

column

La columna. Este parámetro acepta los siguientes patrones de búsqueda: "%" para coincidir cero o más caracteres, y "_" para coincidir un solo caracter.

Valores devueltos

Devuelve una lista de parámetros de entrada y de salida, así como las columnas que componen el conjunto de resultados para los procedimientos especificados. Devuelve un identificador de resultado ODBC o FALSE en caso de error.

El conjunto de resultados tiene las siguientes columnas:

  • PROCEDURE_QUALIFIER
  • PROCEDURE_OWNER
  • PROCEDURE_NAME
  • COLUMN_NAME
  • COLUMN_TYPE
  • DATA_TYPE
  • TYPE_NAME
  • PRECISION
  • LENGTH
  • SCALE
  • RADIX
  • NULLABLE
  • REMARKS

El conjunto de resultados está ordenado por PROCEDURE_QUALIFIER, PROCEDURE_OWNER, PROCEDURE_NAME y COLUMN_TYPE.

odbc_primarykeys
odbc_procedures
Funciones ODBC


Obtener la lista de procedimientos almacenados en una fuente de datos específica

odbc_procedurecolumns
odbc_result_all
Funciones ODBC
PHP Manual

odbc_procedures

(PHP 4, PHP 5)

odbc_procedures — Obtener la lista de procedimientos almacenados en una fuente de datos específica

Descripción

resource odbc_procedures ( resource $connection_id )
resource odbc_procedures ( resource $connection_id , string $qualifier , string $owner , string $name )

Lista todos los procedimientos en el rango solicitado.

Parámetros

connection_id

El conector identificador ODBC, ver odbc_connect() para más información.

qualifier

El cualificador.

owner

El propietario. Este parámetro acepta los siguientes patrones de búsqueda: "%" para coincidir cero o más caracteres, y "_" para coincidir un solo caracter.

name

El nombre. Este parámetro acepta los siguientes patrones de búsqueda: "%" para coincidir cero o más caracteres, y "_" para coincidir un solo caracter.

Valores devueltos

Devuelve un identificador de resultaod ODBC que contiene la información o FALSE en caso de error.

El conjunto de resultados tiene las siguientes columnas:

  • PROCEDURE_QUALIFIER
  • PROCEDURE_OWNER
  • PROCEDURE_NAME
  • NUM_INPUT_PARAMS
  • NUM_OUTPUT_PARAMS
  • NUM_RESULT_SETS
  • REMARKS
  • PROCEDURE_TYPE

odbc_procedurecolumns
odbc_result_all
Funciones ODBC


Imprimir el resultado como una tabla HTML

odbc_procedures
odbc_result
Funciones ODBC
PHP Manual

odbc_result_all

(PHP 4, PHP 5)

odbc_result_all — Imprimir el resultado como una tabla HTML

Descripción

int odbc_result_all ( resource $result_id [, string $format ] )

Imprime todas las filas de un identificador de resultado producido por odbc_exec(). El resultado se imprime con formato de tabla HTML.

Parámetros

result_id

El identificador de resultado.

format

Formateo de tabla global adicional.

Valores devueltos

Devuelve el número de filas del resultado o FALSE si se produjo un error.

odbc_procedures
odbc_result
Funciones ODBC


Obtener información de resultado

odbc_result_all
odbc_rollback
Funciones ODBC
PHP Manual

odbc_result

(PHP 4, PHP 5)

odbc_result — Obtener información de resultado

Descripción

mixed odbc_result ( resource $result_id , mixed $field )

Obtener información de resultado

Parámetros

result_id

El resource ODBC.

field

El nombre de campo a ser traído. Puede ser un entero que contiene el número de columna o el campo que se quiera; o puede ser una cadena que contiene el nombre del campo.

Valores devueltos

Devuelve los contenidos de cadena del campo, FALSE si se produjo un error, NULL para datos NULL, o TRUE para datos binarios.

Ejemplos

La primera llamada a odbc_result() devuelve el valor del tercer campo del registro actual del resultado de la consulta. La segunda llamada a odbc_result() devuelve el valor del campo cuyo nombre de campo es "val" en el registro actual del resultado de la consulta. Ocurrirá un error si un parámetro de número de columna para un campo es menor o excede al número de columnas (o campos) del registro actual. De forma similar, ocurrirá un error si un campo con un nombre que no es uno de los nombres de campos de la/s tabla/s que está/n siendo consultada/s.

Ejemplo #1 Ejemplos de odbc_result()

<?php
$item_3   = odbc_result($Query_ID, 3);
$item_val = odbc_result($Query_ID, "val");
?>

Notas

Los índices de campos comienzan en 1. Respecto a la forma en que la información binaria o de tipo long es devuelta, consulte odbc_binmode() y odbc_longreadlen().

odbc_result_all
odbc_rollback
Funciones ODBC


Reanuda una transacción

odbc_result
odbc_setoption
Funciones ODBC
PHP Manual

odbc_rollback

(PHP 4, PHP 5)

odbc_rollback — Reanuda una transacción

Descripción

bool odbc_rollback ( resource $connection_id )

Reanuda todas las declaraciones pendientes de la conexión.

Parámetros

connection_id

El conector identificador ODBC, ver odbc_connect() para más información.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

odbc_result
odbc_setoption
Funciones ODBC


Ajustar la configuración de ODBC

odbc_rollback
odbc_specialcolumns
Funciones ODBC
PHP Manual

odbc_setoption

(PHP 4, PHP 5)

odbc_setoption — Ajustar la configuración de ODBC

Descripción

bool odbc_setoption ( resource $id , int $function , int $option , int $param )

Esta función permite juguetear con las opciones de ODBC para una conexión o resultado de consulta en particular. Fue escrita para ayudar a encontrar soluciones a problemas en controladoes ODBC estrafalarios. Probablemente, debería usar esta función sólo si es un programador de ODBC y entiende los efectos de las opciones que se dan. Desde luego necesitará una buena referencia de ODBC para explicar todas las diferentes opciones y valores que se pueden usar. Diferentes versiones de controlardes soportan diferentes opciones.

Ya que los efectos pueden variar dependiendo del controlador ODBC, se desaconseja el uso de esta función en scripts que van a estar disponilbes públicamente. También, algunas opciones ODBC no están disponibles para esta función ya que deben ser establecidas antes de que se establezca la conexión o la consulta esté preparada. No obstante, lo que realmente importa es que si en trabajo en particular hace que PHP funcione, su jefe no le diga que use un producto comercial.

Parámetros

id

Es un id de conexión o de resultado sobre el que cambiar las configuraciones. Para SQLSetConnectOption(), es un id de conexión. Para SQLSetStmtOption(), es un id de resultado.

function

Es la función ODBC a usar. El valor debería ser 1 para SQLSetConnectOption() y 2 para SQLSetStmtOption().

option

La opción a establecer.

param

El valor para la opción dada por option.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplos de odbc_setoption()

<?php
// 1. Opción 102 de SQLSetConnectOption() es SQL_AUTOCOMMIT.
//    Valor 1 de SQL_AUTOCOMMIT es SQL_AUTOCOMMIT_ON.
//    Este ejemplo tiene el mismo efecto que
//    odbc_autocommit($conexión, true);

odbc_setoption($conexión, 1, 102, 1);

// 2. Opción 0 de SQLSetStmtOption() es SQL_QUERY_TIMEOUT.
//    Este ejemplo establece la consulta para que termine después de 30 segundos.

$resultado = odbc_prepare($conexión, $sql);
odbc_setoption($resultado, 2, 0, 30);
odbc_execute($resultado);
?>

odbc_rollback
odbc_specialcolumns
Funciones ODBC


Recupera columnas especiales

odbc_setoption
odbc_statistics
Funciones ODBC
PHP Manual

odbc_specialcolumns

(PHP 4, PHP 5)

odbc_specialcolumns — Recupera columnas especiales

Descripción

resource odbc_specialcolumns ( resource $connection_id , int $type , string $qualifier , string $owner , string $table , int $scope , int $nullable )

Recupera o bien el conjunto óptimo de columnas que identifican de manera única una fila de la tabla, o las columnas que son actualizadas automáticamente cuando cualquier valor de la fila es actualizado por una transacción.

Parámetros

connection_id

El conector identificador ODBC, ver odbc_connect() para más información.

type
Cuando el tipo de argumento es SQL_BEST_ROWID, odbc_specialcolumns() devuelve la columna o columnas que identifican de forma única cada fila de la tabla. Cuando el tipo de argumento es SQL_ROWVER, odbc_specialcolumns() devuelve la columnas o columnas de la tabla especificada, si hibiera alguna, que son actualizadas automáticamente por la fuente de datos cuando cualquier valor de la fila es actualizado por cualquier transacción.
qualifier

El cualificador.

owner

El propietario.

table

La tabla.

scope

El alcance, el cual ordena el conjunto de resultados.

nullable

La opción nullable.

Valores devueltos

Devuelve un identificador de resultado ODBC o FALSE si se produjo un fallo.

El conjunto de resultados tiene las siguientes columnas:

  • SCOPE
  • COLUMN_NAME
  • DATA_TYPE
  • TYPE_NAME
  • PRECISION
  • LENGTH
  • SCALE
  • PSEUDO_COLUMN

odbc_setoption
odbc_statistics
Funciones ODBC


Recuperar las estadísticas de un tabla

odbc_specialcolumns
odbc_tableprivileges
Funciones ODBC
PHP Manual

odbc_statistics

(PHP 4, PHP 5)

odbc_statistics — Recuperar las estadísticas de un tabla

Descripción

resource odbc_statistics ( resource $connection_id , string $qualifier , string $owner , string $table_name , int $unique , int $accuracy )

Obteber las estadísticas de una tabla y sus índices.

Parámetros

connection_id

El conector identificador ODBC, ver odbc_connect() para más información.

qualifier

El cualificador.

owner

El propietario.

table_name

El nombre de la tabla.

unique

El atributo unique.

accuracy

La presición.

Valores devueltos

Devuelve un identificador de resultado ODBC o FALSE en caso de error.

El conjunto de resultados tiene las siguientes columnas:

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • NON_UNIQUE
  • INDEX_QUALIFIER
  • INDEX_NAME
  • TYPE
  • SEQ_IN_INDEX
  • COLUMN_NAME
  • COLLATION
  • CARDINALITY
  • PAGES
  • FILTER_CONDITION

El conjunto de resultados está ordenado por NON_UNIQUE, TYPE, INDEX_QUALIFIER, INDEX_NAME y SEQ_IN_INDEX.

odbc_specialcolumns
odbc_tableprivileges
Funciones ODBC


Lista las tablas y los privilegios asociados con cada tabla

odbc_statistics
odbc_tables
Funciones ODBC
PHP Manual

odbc_tableprivileges

(PHP 4, PHP 5)

odbc_tableprivileges — Lista las tablas y los privilegios asociados con cada tabla

Descripción

resource odbc_tableprivileges ( resource $connection_id , string $qualifier , string $owner , string $name )

Lista las tablas en el rango solicitado y los privilegios asociados con cada tabla.

Parámetros

connection_id

El conector identificador ODBC, ver odbc_connect() para más información.

qualifier

El cualificador.

owner

El propietario. Acepta los siguientes patrones de búsqueda: ('%' para comparar cero o más caracteres y '_' para comparar un único carácter)

name

EL nombre. Acepta los siguientes patrones de búsqueda: ('%' para comparar cero o más caracteres y '_' para comparar un único carácter)

Valores devueltos

Un identificador de resultado ODBC o FALSE en caso de error.

El conjunto de resultados tiene las siguientes columnas:

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • GRANTOR
  • GRANTEE
  • PRIVILEGE
  • IS_GRANTABLE

El conjunto de resultados está ordenado por TABLE_QUALIFIER, TABLE_OWNER y TABLE_NAME.

odbc_statistics
odbc_tables
Funciones ODBC


Obtener la lista de los nombres de las tablas almacenados en una fuente de datos específica

odbc_tableprivileges
PDO
Funciones ODBC
PHP Manual

odbc_tables

(PHP 4, PHP 5)

odbc_tables — Obtener la lista de los nombres de las tablas almacenados en una fuente de datos específica

Descripción

resource odbc_tables ( resource $connection_id [, string $qualifier [, string $owner [, string $name [, string $types ]]]] )

Lista todas las tablas del rango solicitado.

Para soportar la enumeración de cualificadores, propietarios y tipos de tabla, están disponibles las siguientes semánticas especiales para qualifier, owner, name, y table_type:

  • Si qualifier es un único carácter de porcentaje (%) y owner y name son cadenas vacías, el conjunto de resultados contendrá una lista de cualificadores válidos para la fuente de datos. (Todas las columnas excepto la columna TABLE_QUALIFIER contienen NULLs.)
  • Si owner es un único carácter de porcentaje (%) y qualifier y name son cadenas vacías, el conjunto de resultados contendrá una lista de propietarios válidos para la fuente de datos. (Todas las columnas excepto la columna TABLE_OWNER contienen NULLs.)
  • Si table_type es un único carácter de porcentaje (%) y qualifier, owner y name son cadenas vacías, el conjunto de resultados contendrá una lista de tipos de tablas válidos para la fuente de datos. (Todas las columnas excepto la conlumna TABLE_TYPE contienen NULLs.)

Parámetros

connection_id

El conector identificador ODBC, ver odbc_connect() para más información.

qualifier

El cualificador.

owner

El propietario. Acepta patrones de búsqueda ('%' para comparar cero o más caracteres y '_' para comparar un único carácter).

name

El nombre. Acepta patrones de búsqueda ('%' para comparar cero o más caracteres y '_' para comparar un único carácter).

types

Si table_type no es una cadena vacía debe contener una lista de valores serparados por comas para los tipos que son de interés; cada valor puede ser encerrado en comillas simples (') o sin comillas. Por ejemplo, "'TABLE','VIEW'" o "TABLE, VIEW". Si la fuente de datos no soporta un tipo de tabla especificado, odbc_tables() no devolverá ningún resultado para ese tipo.

Valores devueltos

Devuelve un identificador de resultado ODBC que contiene la información o FALSE en caso de error.

El conjunto de resultados tiene las siguientes columnas:

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • TABLE_TYPE
  • REMARKS

El conjunto de resultados está ordenado por TABLE_TYPE, TABLE_QUALIFIER, TABLE_OWNER y TABLE_NAME.

Ver también

  • odbc_tableprivileges() - Lista las tablas y los privilegios asociados con cada tabla

odbc_tableprivileges
PDO
Funciones ODBC


Objetos de datos de PHP

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Conexiones y su administración
  • Transacciones y 'auto-commit'
  • Sentencias preparadas y procedimientos almacenados
  • Errores y su manejo
  • Objetos grandes (LOBs)
  • PDO — La clase PDO
    • PDO::beginTransaction — Inicia una transacción
    • PDO::commit — Consigna una transacción
    • PDO::__construct — Crea una instancia de PDO que representa una conexión a una base de datos
    • PDO::errorCode — Obtiene un SQLSTATE asociado con la última operación en el manejador de la base de datos
    • PDO::errorInfo — Obtiene información extendida del error asociado con la última operación del manejador de la base de datos
    • PDO::exec — Ejecuta una sentencia SQL y devuelve el número de filas afectadas
    • PDO::getAttribute — Devuelve un atributo de la conexión a la base de datos
    • PDO::getAvailableDrivers — Devuelve un array con los controladores de PDO disponibles
    • PDO::inTransaction — Comprueba si una transacción está activa
    • PDO::lastInsertId — Devuelve el ID de la última fila o secuencia insertada
    • PDO::prepare — Prepara una sentencia para su ejecución y devuelve un objeto sentencia
    • PDO::query — Ejecuta una sentencia SQL, devolviendo un conjunto de resultados como un objeto PDOStatement
    • PDO::quote — Entrecomilla una cadena de caracteres para usarla en una consulta
    • PDO::rollBack — Revierte una transacción
    • PDO::setAttribute — Establece un atributo
  • PDOStatement — La clase PDOStatement
    • PDOStatement::bindColumn — Vincula una columna a una variable de PHP
    • PDOStatement::bindParam — Vincula un parámetro al nombre de variable especificado
    • PDOStatement::bindValue — Vincula un valor a un parámetro
    • PDOStatement::closeCursor — Cierra un cursor, habilitando a la sentencia para que sea ejecutada otra vez
    • PDOStatement::columnCount — Devuelve el número de columnas de un conjunto de resultados
    • PDOStatement::debugDumpParams — Vuelca un comando preparado de SQL
    • PDOStatement::errorCode — Obtiene el SQLSTATE asociado con la última operación del gestor de sentencia
    • PDOStatement::errorInfo — Obtiene información ampliada del error asociado con la última operación del gestor de sentencia
    • PDOStatement::execute — Ejecuta una sentencia preparada
    • PDOStatement::fetch — Obtiene la siguiente fila de un conjunto de resultados
    • PDOStatement::fetchAll — Devuelve un array que contiene todas las filas del conjunto de resultados
    • PDOStatement::fetchColumn — Devuelve una única columna de la siguiente fila de un conjunto de resultados
    • PDOStatement::fetchObject — Obtiene la siguiente fila y la devuelve como un objeto
    • PDOStatement::getAttribute — Recupera un atributo de sentencia
    • PDOStatement::getColumnMeta — Devuelve metadatos de una columna de un conjunto de resultados
    • PDOStatement::nextRowset — Avanza hasta el siguiente conjunto de filas de un gestor de sentencia multiconjunto de filas
    • PDOStatement::rowCount — Devuelve el número de filas afectadas por la última sentencia SQL
    • PDOStatement::setAttribute — Establece un atributo de sentencia
    • PDOStatement::setFetchMode — Establece el modo de obtención para esta sentencia
  • PDOException — La clase PDOException
  • Controladores de PDO
    • CUBRID (PDO) — Funciones de CUBRID (PDO_CUBRID)
    • MS SQL Server (PDO) — Funciones de Microsoft SQL Server y Sybase (PDO_DBLIB)
    • Firebird (PDO) — Funciones de Firebird (PDO_FIREBIRD)
    • IBM (PDO) — Funciones de IBM (PDO_IBM)
    • Informix (PDO) — Funciones de Informix (PDO_INFORMIX)
    • MySQL (PDO) — Funciones de MySQL (PDO_MYSQL)
    • MS SQL Server (PDO) — Funciones de Microsoft SQL Server (PDO_SQLSRV)
    • Oracle (PDO) — Funciones de Oracle (PDO_OCI)
    • ODBC y DB2 (PDO) — Funciones de ODBC y DB2 (PDO_ODBC)
    • PostgreSQL (PDO) — Funciones PostgreSQL (PDO_PGSQL)
    • SQLite (PDO) — Funciones de SQLite (PDO_SQLITE)
    • 4D (PDO) — Funciones de 4D (PDO_4D)
odbc_tables
Introducción
Capas abstractas


Introducción

La extensión Objetos de Datos de PHP (PDO por sus siglás en inglés) define un interfaz ligera para poder acceder a bases de datos en PHP. Cada controlador de bases de datos que implemente la interfaz PDO puede exponer características específicas de la base de datos, como las funciones habituales de la extensión. Obsérvese que no se puede realizar ninguna de las funciones de la bases de datos utilizando la extensión PDO por sí misma; se debe utilizar un controlador de PDO específico de la base de datos para tener acceso a un servidor de bases de datos.

PDO proporciona una capa de abstracción de acceso a datos, lo que significa que, independientemente de la base de datos que se esté utilizando, se usan las mismas funciones para realizar consultas y obtener datos. PDO no proporciona una abstracción de bases de datos; no reescribe SQL ni emula características ausentes. Se debería usar una capa de abstracción totalmente desarrollada si fuera necesaria tal capacidad.

PDO viene con PHP 5.1, y está disponible como una extensión PECL para PHP 5.0; PDO requiere las características nuevas de OO del núcleo de PHP 5, por lo que no se ejecutará con versiones anteriores de PHP.

PDO
Instalación/Configuración
PDO


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
PDO


Instalación

Instalar PDO en sistemas UNIX

  1. PDO y el controlador PDO_SQLITE están activados de manera predeterminada a partir de PHP 5.1.0. Podría ser necesario activar el controlador PDO para la base de datos de su elección; consulte la documentación sobre los Controladores de PDO para bases de datos específicas para obtener más información.

    Nota:

    Cuando se construya PDO como una extensión compartida (no recomendado), todos los controladores de PDO deben ser cargados después del propio PDO.

  2. Cuando se instale PDO como un módulo compartido, será necesario actualizar el fichero php.ini, así, la extensión PDO será cargada automáticamente cuando se ejecute PHP. También será necesario activar cualquier controlador de bases de datos específico en dicho fichero; asegúrese de que estén declarados después de la línea pdo.so, pues PDO debe inicilizarse antes de cargar las extensiones específicas para bases de datos. Si se construyen estáticamente PDO y las extensiones específicas para bases de datos, se puede omitir este paso.

    extension=pdo.so

Usuarios de Windows

  1. PDO y la mayoría de controladores vienen en PHP como extensiones compartidas y, para activarlas, simplemente se debe editar el fichero php.ini

    extension=php_pdo.dll

    Nota:

    Este paso no es necesario para PHP 5.3 o superior, pues ya no se requiere la DLL para utilizar PDO.

  2. Después, elija los demás ficheros DLL de bases de datos específicas, y utilice dl() para cargarlos en tiempo de ejecución, o actívelos en php.ini por debajo de la línea php_pdo.dll. Por ejemplo:

    extension=php_pdo.dll
extension=php_pdo_firebird.dll
extension=php_pdo_informix.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll

    Estas DLLs deberían existir en el directorio del sistema extension_dir.

Nota:

Recuerde que después de realizar cambios en el fichero php.ini, será necesario reiniciar PHP para que las nuevas directivas de configuración surtan efecto.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de PDO
Nombre | Por defecto | Cambiable | Historial de cambios
pdo.dsn.* |  | Solamente php.ini |

He aquí una breve explicación de las directivas de configuración.

pdo.dsn.* string

Define un alias de DSN. Véase PDO::__construct() para una explicación detallada.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Advertencia

PDO utiliza constantes de clase desde PHP 5.1. Las versiones anteriores usan constantes globales bajo la forma PDO_PARAM_BOOL.

PDO::PARAM_BOOL (integer)
Representa un tipo de dato booleano.
PDO::PARAM_NULL (integer)
Representa el tipo de dato NULL de SQL.
PDO::PARAM_INT (integer)
Representa el tipo de dato INTEGER de SQL .
PDO::PARAM_STR (integer)
Representa el tipo de dato CHAR, VARCHAR de SQL, u otro tipo de datos de string.
PDO::PARAM_LOB (integer)
Representa el tipo de dato LOB (objeto grande) de SQL.
PDO::PARAM_STMT (integer)
Representa un tipo de conjunto de registros. No está admitido actualmente por ningún controlador.
PDO::PARAM_INPUT_OUTPUT (integer)
Especifica que el parámetro es de entrada/salida (INOUT) para un procedimiento almacenado. Se debe realizar un OR a nivel de bits con un tipo de datos PDO::PARAM_* explícito.
PDO::FETCH_LAZY (integer)
Especifica que el método de obtención debe devolver cada fila como un objeto con los nombres de las variables que se corresponden a los nombres de las columnas devueltos en el conjunto de resultados. PDO::FETCH_LAZY crea los nombres de las variables del objeto a medida que se acceden a ellas. No es válida dentro de PDOStatement::fetchAll().
PDO::FETCH_ASSOC (integer)
Especifica que el método de obtención debe devolver cada fila como un array indexado por los nombres de las columnas devueltos en el correspondiente conjunto de resultados. Si éste contiene múltiples columnas con el mismo nombre, PDO::FETCH_ASSOC devuelve un único valor por nombre de columna.
PDO::FETCH_NAMED (integer)
Especifica que el método de obtención debe devolver cada fila como un array indexado por los nombres de las columnas devueltos en el correspondiente conjunto de resultados. Si éste contiene múltiples columnas con el mismo nombre, PDO::FETCH_NAMED devuelve un array de valores por nombre de columna.
PDO::FETCH_NUM (integer)
Especifica que el método de obtención debe devolver cada fila como un array indexado por los números de columna devueltos en el correspondiente conjunto de resultados, comenzando por la columna 0.
PDO::FETCH_BOTH (integer)
Especifica que el método de obtención debe devolver cada fila como un array indexado tanto por los nombres como por los números de las columnas devueltos en el correspondiente conjunto de resultados, comenzando por la columna 0.
PDO::FETCH_OBJ (integer)
Especifica que el método de obtención debe devolver cada fila como un objeto con los nombres de sus propiedades correspondientes a los nombres de las columnas devueltos en el conjunto de resultados.
PDO::FETCH_BOUND (integer)
Especifica que el método de obtención debe devolver TRUE y asignar los valores de las columnas del conjunto de resultados a las variables de PHP a las cuales están vinculadas con los métodos PDOStatement::bindParam() o PDOStatement::bindColumn().
PDO::FETCH_COLUMN (integer)
Especifica que el método de obtención debe devolver una única columna solicitada de la siguiente fila del conjunto de resultados.
PDO::FETCH_CLASS (integer)
Especifica que el método de obtención debe devolver una nueva instancia de la clase solicitada, haciendo corresponder las columnas con los nombres de las propiedades de la clase.

Nota: El método mágico __set() se invoca si la propiedad no existe en la clase solicitada.

PDO::FETCH_INTO (integer)
Especifica que el método de obtencion debe actualizar una instancia existente de la clase solicitada, haciendo corresponder las columnas con los nombres de las propiedades de la clase.
PDO::FETCH_FUNC (integer)
Permite personalizar completamente la forma en que los datos son tratados al vuelo (únicamente válida dentro de PDOStatement::fetchAll()).
PDO::FETCH_GROUP (integer)
Grupo devuelto según valores. Usualmente combinada con PDO::FETCH_COLUMN o PDO::FETCH_KEY_PAIR.
PDO::FETCH_UNIQUE (integer)
Obtener solamente los valores únicos.
PDO::FETCH_KEY_PAIR (integer)
Obtener un resultado de dos columnas como un array donde la primera columna es la clave y la segunda el valor. Disponible desde PHP 5.2.3.
PDO::FETCH_CLASSTYPE (integer)
Determinar el nombre de la clase desde el valor de la primera columna.
PDO::FETCH_SERIALIZE (integer)
Igual que PDO::FETCH_INTO salvo que el objeto es proporcionado como una cadena serializada. Disponible desde PHP 5.1.0. Desde PHP 5.3.0, nunca se llama al constructor de la clase si esta bandera está establecida.
PDO::FETCH_PROPS_LATE (integer)
Llamar al contructor antes de establecer propiedades. Disponible desde PHP 5.2.0
PDO::ATTR_AUTOCOMMIT (integer)
Si este valor es FALSE, PDO intenta descativar la autoconsigna de forma que la conexión comience una transacción.
PDO::ATTR_PREFETCH (integer)
Establecer el tamaño de la precarga permite obtener un equilibrio entre rapidez y uso de memoria para la aplicación. No todas las combinaciones base de datos/controlador admiten establecer el tamaño de la precarga. Un valor más grande de precarga da como resultado un aumento del rendimiento a costa de un mayor uso de memoria.
PDO::ATTR_TIMEOUT (integer)
Establece el valor del tiempo de espera, en segundos, para las comunicaciones con la base de datos.
PDO::ATTR_ERRMODE (integer)
Véase la sección Errores y su manejo para obtener más información sobre este atributo.
PDO::ATTR_SERVER_VERSION (integer)
Este es un atributo de sólo lectura; devolverá información sobre la versión del servidor de bases de datos al que está conectado PDO.
PDO::ATTR_CLIENT_VERSION (integer)
Este es un atributo de sólo lectura; devolverá información sobre la versión de las bibliotecas cliente que el controlador de PDO está usando.
PDO::ATTR_SERVER_INFO (integer)
Este es un atributo de sólo lectura; devolverá alguna metainformación sobre el servidor de bases de datos al que está conectado PDO.
PDO::ATTR_CONNECTION_STATUS (integer)
PDO::ATTR_CASE (integer)
Forzar a los nombres de las columnas al uso de mayúsculas/minúsculas especificado por las constantes PDO::CASE_*.
PDO::ATTR_CURSOR_NAME (integer)
Obtener o establecer el nombre a usar para un cursor. Es más útil cuando se utilizan cursores desplazables y actualizacioines posicionadas.
PDO::ATTR_CURSOR (integer)
Selecciona el tipo de cursor. PDO actualmente admite PDO::CURSOR_FWDONLY y PDO::CURSOR_SCROLL. Cíñase a PDO::CURSOR_FWDONLY a menos que sepa que necesite un cursor desplazable.
PDO::ATTR_DRIVER_NAME (string)
Devuelve el nombre del controlador.

Ejemplo #1 Usar PDO::ATTR_DRIVER_NAME

<?php
if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
  echo "Ejecutándose sobre mysql; hacer algo específico de mysql aquí\n";
}
?>

PDO::ATTR_ORACLE_NULLS (integer)
Convertir string vacíos a valores NULL de SQL en la obtención de datos.
PDO::ATTR_PERSISTENT (integer)
Solicitar una conexión persistente, en vez de crear una nueva conexión. Véase Conexiones y su administración para obtener más información sobre este atributo.
PDO::ATTR_STATEMENT_CLASS (integer)
PDO::ATTR_FETCH_CATALOG_NAMES (integer)
Anteponer el nombre del catálogo contenido a cada nombre de columna devuelto en el conjunto de resultados. El nombre del catálogo y el nombre de columna están separados por el carácter punto (.). El soporte de este atributo es a nivel del controlador; podría no estar admitido por el controlador que usted utilice.
PDO::ATTR_FETCH_TABLE_NAMES (integer)
Anteponer el nombre de la tabla contenida a cada nombre de columna devuelto en el conjunto de resultados. El nombre de la tabla y el nombre de columna están separados por el carácter punto (.). El soporte de este atributo es a nivel del controlador; podría no estar admitido por el controlador que usted utilice.
PDO::ATTR_STRINGIFY_FETCHES (integer)
PDO::ATTR_MAX_COLUMN_LEN (integer)
PDO::ATTR_DEFAULT_FETCH_MODE (integer)
Disponible desde PHP 5.2.0.
PDO::ATTR_EMULATE_PREPARES (integer)
Disponible desde PHP 5.1.3.
PDO::ERRMODE_SILENT (integer)
No emitir ningún error o excepción si ocurrieran. El desarrollador es responsable de comprobar explícitamente los errores. Este es el modo predeterminado. Véase Errores y su manejo para obtener más información sobre este atributo.
PDO::ERRMODE_WARNING (integer)
Emitir un mensaje de tipo E_WARNING de PHP si ocurre algún error. Véase Errores y su manejo para obtener más información sobre este atributo.
PDO::ERRMODE_EXCEPTION (integer)
Lanzar una excepción de tipo PDOException si ocurre algún error. Véase Errores y su manejo para obtener más información sobre este atributo.
PDO::CASE_NATURAL (integer)
Dejar los nombres de las columnas tal como son devueltas por el controlador de la base de datos.
PDO::CASE_LOWER (integer)
Forzar a los nombres de las columnas a estar en minúsculas.
PDO::CASE_UPPER (integer)
Fuerza a los nombres de las columnas a estar en mayúsculas.
PDO::NULL_NATURAL (integer)
PDO::NULL_EMPTY_STRING (integer)
PDO::NULL_TO_STRING (integer)
PDO::FETCH_ORI_NEXT (integer)
Obtener la siguiente fila del conjunto de resultados. Únicamente válida para cursores desplazables.
PDO::FETCH_ORI_PRIOR (integer)
Obtener la fila anterior del conjunto de resultados. Únicamente válida para cursores desplazables.
PDO::FETCH_ORI_FIRST (integer)
Obtener la primera fila del conjunto de resultados. Únicamente válida para cursores desplazables.
PDO::FETCH_ORI_LAST (integer)
Obtener la última fila del conjunto de resultados. Únicamente válida para cursores desplazables.
PDO::FETCH_ORI_ABS (integer)
Obtener la fila solicitada mediante el número de fila del conjunto de resultados. Únicamente válida para cursores desplazables.
PDO::FETCH_ORI_REL (integer)
Obtener la fila solicitada mediante la posición relativa de la posición actual del cursor del conjunto de resultados. Únicamente válida para cursores desplazables.
PDO::CURSOR_FWDONLY (integer)
Crear un objeto PDOStatement con un cursor de sólo avance. Este es la elección del cursor predeterminada, ya que es el patrón de acceso a datos más rápido y común en PHP.
PDO::CURSOR_SCROLL (integer)
Crear un objeto PDOStatement con un cursor desplazable. Pase las constantes PDO::FETCH_ORI_* para controlar las filas obtenidas del conjunto de resultados.
PDO::ERR_NONE (string)
Corresponde al SQLSTATE '00000', el cual significa que la sentencia SQL fue ejecutada con éxito, sin errores ni advertencias. Esta constante sirve para la comprobación cómoda de PDO::errorCode() o PDOStatement::errorCode() para determinar si ha ocurrido algún error. En cualquier caso, usualmente se sabrá si este es el caso examinando el código devuelto por el método que provocó la condición de error.
PDO::PARAM_EVT_ALLOC (integer)
Evento de asignación
PDO::PARAM_EVT_FREE (integer)
Evento de desasigncación
PDO::PARAM_EVT_EXEC_PRE (integer)
Evento provocado antes de la ejecución de una sentencia preparada.
PDO::PARAM_EVT_EXEC_POST (integer)
Evento provocado después de la ejecución de una sentencia preparada.
PDO::PARAM_EVT_FETCH_PRE (integer)
Evento provocado antes de la obtención de un resultado de un conjunto de resultados.
PDO::PARAM_EVT_FETCH_POST (integer)
Evento provocado después de la obtención de un resultado de un conjunto de resultados.
PDO::PARAM_EVT_NORMALIZE (integer)
Evento provocado durante el resistro de un parámetro vinculado, permitiendo al controlador normalizar el nombre del parámetro.
Tipos de recursos
Conexiones y su administración
PDO


Conexiones y su administración

Las conexiones se establecen creando instancias de la clase base PDO. No importa el controlador que se utilice; siempre se usará el nombre de la clase PDO. El constructor acepta parámetros para especificar el origen de datos (conocido como DSN) y, opcionalmente, el nombre de usuario y la contraseña (si la hubiera).

Ejemplo #1 Conectarse a MySQL

<?php
$gbd = new PDO('mysql:host=localhost;dbname=test', $usuario, $contraseña);
?>

Si hubieran errores de conexión, se lanzará un objeto PDOException. Se puede capturar la excepción si fuera necesario manejar la condición del error, o se podría optar por dejarla en manos de un gestor de excepciones global de una aplicación configurado mediante set_exception_handler().

Ejemplo #2 Manejo de errores de conexión

<?php
try {
    $gbd = new PDO('mysql:host=localhost;dbname=test', $usuario, $contraseña);
    foreach($gbd->query('SELECT * from FOO') as $fila) {
        print_r($fila);
    }
    $gbd = null;
} catch (PDOException $e) {
    print "¡Error!: " . $e->getMessage() . "<br/>";
    die();
}
?>

Advertencia

Si la aplicación no captura la excepción lanzada por el constructor de PDO, la acción predeterminada que toma el motor zend es la de finalizar el script y mostrar información de rastreo. Esta información probablemente revelará todos los detalles de la conexión a la base de datos, incluyendo el nombre de usuario y la contraseña. Es su responsabilidad capturar esta excepción, ya sea explícitamente (con una sentencia catch) o implícitamente por medio de set_exception_handler().

Una vez realizada con éxito una conexión a la base de datos, será devuelta una instancia de la clase PDO al script. La conexión permanecerá activa durante el tiempo de vida del objeto PDO. Para cerrar la conexión, es necesario destruir el objeto asegurándose de que todas las referencias a él existentes sean eliminadas (esto se puede hacer asignando NULL a la variable que contiene el objeto). Si no se realiza explícitamente, PHP cerrará automáticamente la conexión cuando el script finalice.

Ejemplo #3 Cerrar una conexión

<?php
$gbd = new PDO('mysql:host=localhost;dbname=test', $usuario, $contraseña);
// Use la conexión aquí

// ya se ha terminado; la cerramos
$gbd = null;
?>

Muchas aplicaciones web se beneficiarán del uso de conexiones persistentes a servidores de bases de datos. Las conexiones persistentes no son cerradas al final del script, sino que son almacenadas en caché y reutilizadas cuando otro script solicite una conexión que use las mismas credenciales. La caché de conexiones persistentes permite evitar la carga adicional de establecer una nueva conexión cada vez que un script necesite comunicarse con la base de datos, dando como resultado una aplicación web más rápida.

Ejemplo #4 Conexiones persistentes

<?php
$gbd = new PDO('mysql:host=localhost;dbname=test', $usuario, $contraseña, array(
    PDO::ATTR_PERSISTENT => true
));
?>

Nota:

Si se quiere usar conexiones persistentes, se deberá establecer PDO::ATTR_PERSISTENT en las opciones del array del controlador pasado al constructor de PDO. Si este atributo se establece con PDO::setAttribute() después de la instanciación del objeto, el controlador no utilizará conexiones persistentes.

Nota:

Si se usa el controlador PDO y las bibliotecas ODBC admiten el agrupamiento de conexiones ODBC (unixODBC y Windows lo hacen; podrían haber más), se recomienda no utilizar las conexiones persistentes de PDO, y, en su lugar, dejar el almacenamiento en caché de conexiones a la capa del agrupamiento de conexiones de ODBC. El agrupamiento de conexiones de ODBC es compartido con otros módulos en el proceso; si se le indica a PDO que almacene en caché la conexión, entonces dicha conexión nunca será devuelta al agrupamiento de conexiones de ODBC, dando como resultado la creación de conexiones adicionales para servir a los demás módulos.

Constantes predefinidas
Transacciones y 'auto-commit'
PDO


Transacciones y 'auto-commit'

Una vez realizada una conexión a través de PDO, es necesario comprender cómo PDO gestiona las transacciones antes de comenzar a realizar consultas. Si no se han manejado anteriormente transacciones, estas ofrecen cuatro características principales: Atomicidad, Consistencia, Aislamiento y Durabilidad (ACID por sus siglas en inglés). En términos sencillos, cualquier trabajo llevado a cabo en una transacción, incluso si se hace por etapas, se garantiza que será aplicado a la base de datos de forma segura, y sin interferencia de otras conexiones, cuando sea consignado ('commit'). El trabajo transaccional puede también ser deshecho automáticamente bajo petición (siempre y cuando no se haya consignado), lo que hace más sencillo el manejo de errores en los scripts.

Las transacciones son implementadas típicamente para hacer que el lote de cambios se apliquen a la vez; esto tiene el buen efecto secundario de mejorar drásticamente la eficiencia de las actualizaciones. En otras palabras, las transacciones pueden hacer los scripts más rápidos y potencialmente más robustos (aún así es necesario usarlas correctamente para obtener ese beneficio).

Desafortunadamente, no todas las bases de datos admiten transacciones, por lo que PDO necesita ser ejecutado en lo que es conocido como el modo "auto-commit" cuando se abra por primera vez la conexión. El modo auto-commit significa que toda consulta que se ejecute tiene su propia transacción implícita, si la base de datos lo admite, o ninguna transacción si la base de datos no las admite. Si fuera necesario el uso de transacciones, se debe usar el método PDO::beginTransaction() para iniciar una. Si el controlador subyacente no admite transacciones, se lanzará una PDOException (independientemente de la configuración del manejo de errores: esto es siempre una condición de error serio). Una vez que se esté en una transacción, se puede usar PDO::commit() o PDO::rollBack() para finalizarla, dependiendo del éxito del código que se ejecute durante la transacción.

Advertencia

PDO sólo comprueba las capacidades de la transacción al nivel del controlador. Si una cierta condición en tiempo de ejecución implica que las transacciones no estén disponibles, PDO::beginTransaction() seguirá devolviendo TRUE sin ningún error si el servidor de bases de datos acepta la solicitud de iniciar una transacción.

Un ejemplo de esto podría ser el intentar usar transacciones en tablas MyISAM en una base de datos MySQL.

Cuando el script finaliza o cuando una conexión está a punto de ser cerrada, si existe una transacción pendiente, PDO la revertirá automáticamente. Esto es una medida de seguridad que ayuda a evitar inconsistencia en los casos donde el script finaliza inesperadamente (si no consignó la transacción, se asume que algo salió mal, con lo cual se realiza la reversión para la seguridad de los datos).

Advertencia

La reversión automática sólo ocurre si se inicia una transacción a través de PDO::beginTransaction(). Si se ejecuta manualmente una consulta que inicie una transacción, PDO no tiene forma de conocer algo acerca de ésta y, por tanto, no puede revertirla si algo sale mal.

Ejemplo #1 Ejecución de un lote en una transacción

En el siguiente ejemplo, se asume que se ha creado un conjunto de entradas para un nuevo empleado, al cual se le ha asignado el número de ID 23. Además de introducir los datos básicos de una persona, también es necesario registrar su sueldo. Es bastante simple hacer dos actualizaciones independientes, pero encerrándolas en las llamadas PDO::beginTransaction() y PDO::commit(), se garantiza que nadie más será capaz de ver los cambios hasta que se hayan completado. Si algo sale mal, el bloque catch revierte los cambios realizados desde que se creó la transacción, y luego imprime un mensaje de error.

<?php
try {
  $gbd = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2',
      array(PDO::ATTR_PERSISTENT => true));
  echo "Conectado\n";
} catch (Exception $e) {
  die("No se pudo conectar: " . $e->getMessage());
}

try {
  $gbd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  $gbd->beginTransaction();
  $gbd->exec("insert into staff (id, first, last) values (23, 'Joe', 'Bloggs')");
  $gbd->exec("insert into salarychange (id, amount, changedate)
      values (23, 50000, NOW())");
  $gbd->commit();

} catch (Exception $e) {
  $gbd->rollBack();
  echo "Fallo: " . $e->getMessage();
}
?>

No hay límite en la realización de actualizaciones en una transacción; también es posible ejecutar consultas complejas para extraer datos, y posiblemente usar esa información para construir más actualizaciones y consultas; mientras que la transacción esté activa, se garantiza que nadie más puede realizar cambios mientras se esté en mitad del trabajo. Para más información sobre transacciones, consulte la documentación proporcionada por su servidor de base de datos.

Conexiones y su administración
Sentencias preparadas y procedimientos almacenados
PDO


Sentencias preparadas y procedimientos almacenados

Muchas de las bases de datos más maduras admiten el concepto de sentencias preparadas. Estas pueden definirse como un tipo de plantillas compiladas para SQL que las aplicaciones quieren ejecutar, que pueden ser personalizadas usando parámetros de variables. Las sentencias preparadas ofrecen dos grandes beneficios:

  • La consulta sólo necesita ser analizada (o preparada) una vez, pero puede ser ejecutada múltiples veces con los mismos o diferentes parámetros. Cuando la consulta es preparada, la base de datos analizará, compilará y optimizará su plan para ejecutarla. Para consultas complejas, este proceso puede tomar suficiente tiempo como para que ralentice notablemente una aplicación si fuera necesario repetir la misma consulta muchas veces con los mismos parámetros. Usando una sentencia preparada, la aplicación evita repetir el ciclo de análisis/compilación/optimización. Esto significa que las sentencias preparadas usan menos recursos y se ejecutan más rápidamente.
  • Los parámetros para las sentencias preparadas no necesitan estar entrecomillados; el controlador automáticamente se encarga de esto. Si una aplicación usa exclusivamente sentencias preparadas, el desarrollador puede estar seguro de que no ocurrirán inyecciones SQL (sin embargo, si otras partes de la consulta se construyen con datos de entrada sin escapar, las inyecciones SQL pueden ocurrir).

Las sentencias preparadas son tan útiles que son la única característica que PDO emulará para los controladores que no las admitan. Esto asegura que una aplicación sea capaz de usar el mismo paradigma de acceso a datos independientemente de las capacidades de la base de datos.

Ejemplo #1 Inserciones reiteradas usando sentencias preparadas

Este ejemplo realiza dos consultas de tipo INSERT sustituyendo name y value por los valores correspondientes.

<?php
$sentencia = $gbd->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
$sentencia->bindParam(':name', $nombre);
$sentencia->bindParam(':value', $valor);

// insertar una fila
$nombre = 'uno';
$valor = 1;
$sentencia->execute();

// insertar otra fila con diferentes valores
$nombre = 'dos';
$valor = 2;
$sentencia->execute();
?>

Ejemplo #2 Inserciones reiteradas usando sentencias preparadas

Este ejemplo realiza dos consultas de tipo INSERT sustituyendo name y value por el parámetro de sustitución ? posicional.

<?php
$sentencia = $gbd->prepare("INSERT INTO REGISTRY (name, value) VALUES (?, ?)");
$sentencia->bindParam(1, $nombre);
$sentencia->bindParam(2, $valor);

// insertar una fila
$nombre = 'uno';
$valor = 1;
$sentencia->execute();

// insertar otra fila con diferentes valores
$nombre = 'dos';
$valor = 2;
$sentencia->execute();
?>

Ejemplo #3 Obtener datos usando sentencias preparadas

Este ejemplo obtiene datos basándose en un valor de clave proporcionado por un formulario. Los datos de usuario son automáticamente entrecomillados, con lo cual no hay riesgo de un ataque por inyección SQL.

<?php
$sentencia = $gbd->prepare("SELECT * FROM REGISTRY where name = ?");
if ($sentencia->execute(array($_GET['name']))) {
  while ($fila = $sentencia->fetch()) {
    print_r($fila);
  }
}
?>

Si el controlador de la base de datos lo admite, una aplicación podría también vincular parámetros para salida y para entrada. Los parámetros de salida son típicamente usados para recuperar valores de procedimientos almacenados. Los parámetros de salida son ligeramente más complejos de usar que los de entrada, de manera que el desarrollador debe saber lo grande que podría ser un parámetro dado cuando se vincula. Si el valor resulta ser más grande que el tamaño que indica, se emitirá un error.

Ejemplo #4 Llamar a un procedimiento almacenado con un parámetro de salida

<?php
$sentencia = $gbd->prepare("CALL sp_returns_string(?)");
$sentencia->bindParam(1, $valor_devuleto, PDO::PARAM_STR, 4000);

// llamar al procedimiento almacenado
$sentencia->execute();

print "El procedimiento devolvió $valor_devuleto\n";
?>

Los desarrolladores podrían también especificar parámetros que contienen valores tanto de entrada como de salida; la sintaxis es similar a la de los parámetros de salida. En el siguiente ejemplo, la cadena 'hola' es pasada al procedimiento almacenado, y cuando éste finaliza, 'hola' es reemplazada con el valor de retorno del procedimiento.

Ejemplo #5 Llamar a un procedimiento almacenado con un parámetro de entrada/salida

<?php
$sentencia = $gbd->prepare("CALL sp_takes_string_returns_string(?)");
$valor = 'hola';
$sentencia->bindParam(1, $valor, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 4000);

// llamar al procedimiento almacenado
$sentencia->execute();

print "procedure returned $valor\n";
?>

Ejemplo #6 Uso inválido de un parámetro de sustitución

<?php
$sentencia = $gbd->prepare("SELECT * FROM REGISTRY where name LIKE '%?%'");
$sentencia->execute(array($_GET['name']));

// los parámetros de sustitución deben usarse en el lugar del valor completo
$sentencia = $gbd->prepare("SELECT * FROM REGISTRY where name LIKE ?");
$sentencia->execute(array("%$_GET[name]%"));
?>

Transacciones y 'auto-commit'
Errores y su manejo
PDO


Errores y su manejo

PDO ofrece tres estrategias diferentes de manejar errores, para adaptarse a su estilo de desarrollo de aplicaciones.

  • PDO::ERRMODE_SILENT

    Este es el modo predeterminado. PDO simplemente establecerá él mismo el código de error para su inspección usando los métodos PDO::errorCode() y PDO::errorInfo() tanto en objetos de sentencias como de bases de datos. Si el error resultó de una llamada sobre un objeto de sentencia, se deberá invocar al método PDOStatement::errorCode() o PDOStatement::errorInfo() sobre dicho objeto. Si el error resultó de una llamada sobre un objeto de bases de datos, se deberá invocar, en su lugar, a los métodos del objeto de bases de datos.

  • PDO::ERRMODE_WARNING

    Además de establecer el código de error, PDO emitirá un mensaje E_WARNING tradicional. Esta configuración es útil durante la depuración o las pruebas, si lo que se quiere es ver qué problemas han ocurrido, sin interrumpir el flujo de la aplicación.

  • PDO::ERRMODE_EXCEPTION

    Además de establecer el código de error, el PDO lanzará una excepción de tipo PDOException y establecerá sus propiedades para reflejar el error y la información del mismo. Esta configuración también es útil durante la depuración, ya que, de hecho, señalará el lugar del error del script, apuntando a áreas pontencialmente problemáticas del código (recuerde: las transacciones son automáticamente revertidas si la excepción causa que finalice el script).

    El modo 'Exception' también es útil porque se puede estructurar el manejo de errores con más claridad que con el estilo tradicional de advertencias de PHP, y con menos código/anidación que con la ejecución en modo silencioso y comprobando explícitamente el valor devuelto de cada llamada a la base de datos.

    Véase la referencia de Excepciones para más información sobre Excepciones en PHP.

PDO utiliza el estándar de cadenas de códigos de error SQLSTATE de SQL-92; cada controlador de PDO es responsable de hacer que correspondan su códigos nativos con los códigos SQLSTATE apropiados. El método PDO::errorCode() devuelve un único código SQLSTATE. Si fuera necesaria más información específica sobre el error, PDO también ofrece el método PDO::errorInfo(), que devuelve un array que contiene el código SQLSTATE, el código de error específico del controlador, y la cadena de error específica.

Ejemplo #1 Crear una instancia de PDO y establecer el modo de error

<?php
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$usuario = 'usuario';
$contraseña = 'contraseña';

try {
    $gbd = new PDO($dsn, $usuario, $contraseña);
    $gbd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    echo 'Falló la conexión: ' . $e->getMessage();
}

?>

Nota:

PDO::__construct() siempre lanzará una PDOException si la conexión falla independientemente de que PDO::ATTR_ERRMODE esté actualmente esteblecido. Excepciones no capturadas son fatales.

Ejemplo #2 Crear una instancia PDO y establecer el modo de error desde el constructor

<?php
$dsn = 'mysql:dbname=test;host=127.0.0.1';
$user = 'usuario';
$password = 'contraseña';

/*
    Usando try/catch en el constructor sigue siendo válido aunque se establezca ERRMODE a WARNING desde
    PDO::__construct siempre lanzará una PDOException si la conexión falla.
*/
try {
    $dbh = new PDO($dsn, $user, $password, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
} catch (PDOException $e) {
    echo 'Error de conexión: ' . $e->getMessage();
    exit;
}

// Esto hará que PDO lance un error de nivel E_WARNING en lugar de una excepción (cuando la tabla no exista)
$dbh->query("SELECT columnaincorrecta FROM tablaincorrecta");
?>

El resultado del ejemplo sería:

Warning: PDO::query(): SQLSTATE[42S02]: Base table or view not found: 1146 Table 'test.tablaincorrecta' doesn't exist in
/tmp/pdo_test.php on line 18

Sentencias preparadas y procedimientos almacenados
Objetos grandes (LOBs)
PDO


Objetos grandes (LOBs)

En algún punto de una aplicación, podría ser necesario almacenar datos "grandes" en la base de datos. Grande típicamente significa "alrededor de 4kb o más", aunque algunas bases de datos pueden manejar fácilmente hasta 32kb antes de que los datos se consideren "grandes". Los LOBs (acrónimo de 'Large Objects') pueden ser de texto o binarios. PDO permite trabajar con este tipo de datos grandes usando el código del tipo PDO::PARAM_LOB en llamadas a PDOStatement::bindParam() o PDOStatement::bindColumn(). PDO::PARAM_LOB indica a PDO que haga corresponder los datos como un flujo, por lo que se pueden manipular usando la API de flujos de PHP.

Ejemplo #1 Mostrar una imagen desde una base de datos

Este ejemplo vincula un LOB a una variable llamada $lob, y luego lo envía al navegador usando fpassthru(). Ya que el LOB está representado como un flujo, se pueden usar funciones tales como fgets(), fread() y stream_get_contents() para manejarlo.

<?php
$bd = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2');
$sentencia = $bd->prepare("select contenttype, imagedata from images where id=?");
$sentencia->execute(array($_GET['id']));
$sentencia->bindColumn(1, $tipo, PDO::PARAM_STR, 256);
$sentencia->bindColumn(2, $lob, PDO::PARAM_LOB);
$sentencia->fetch(PDO::FETCH_BOUND);

header("Content-Type: $tipo");
fpassthru($lob);
?>

Ejemplo #2 Insertar una imagen en una base de datos

Este ejemplo abre un fichero y pasa el gestor del fichero a PDO para insertarlo como un LOB. PDO hará todo lo posible para enviar el contenido del fichero a la base de datos de la manera más eficiente.

<?php
$bd = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2');
$sentencia = $bd->prepare("insert into images (id, contenttype, imagedata) values (?, ?, ?)");
$id = get_new_id(); // alguna función para asignar un nuevo ID

// se asume que se está ejecutando como parte de un formulario de subidas de ficheros
// Se puede encontrar más información en la documentación de PHP

$fp = fopen($_FILES['file']['tmp_name'], 'rb');

$sentencia->bindParam(1, $id);
$sentencia->bindParam(2, $_FILES['file']['type']);
$sentencia->bindParam(3, $fp, PDO::PARAM_LOB);

$bd->beginTransaction();
$sentencia->execute();
$bd->commit();
?>

Ejemplo #3 Insertar una imagen en una base de datos: Oracle

Oracle requiere una sintaxis ligeramente diferente para insertar un LOB desde un fichero. También es esencial que se realice la inserción bajo una transacción, si no, el LOB recién insertado será consignado con una longitud cero como parte de la consigna implícita que ocurre cuando la consulta se ejecuta:

<?php
$bd = new PDO('oci:', 'scott', 'tiger');
$sentencia = $bd->prepare("insert into images (id, contenttype, imagedata) " .
"VALUES (?, ?, EMPTY_BLOB()) RETURNING imagedata INTO ?");
$id = get_new_id(); // alguna función para asignar un nuevo ID

// se asume que se está ejecutando como parte de un formulario de subidas de ficheros
// Se puede encontrar más información en la documentación de PHP

$fp = fopen($_FILES['file']['tmp_name'], 'rb');

$sentencia->bindParam(1, $id);
$sentencia->bindParam(2, $_FILES['file']['type']);
$sentencia->bindParam(3, $fp, PDO::PARAM_LOB);

$sentencia->beginTransaction();
$sentencia->execute();
$sentencia->commit();
?>

Errores y su manejo
PDO
PDO


La clase PDO

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

Introducción

Representa una conexión entre PHP y un servidor de bases de datos.

Sinopsis de la Clase

PDO {
public __construct ( string $dsn [, string $username [, string $password [, array $driver_options ]]] )
public bool beginTransaction ( void )
public bool commit ( void )
public mixed errorCode ( void )
public array errorInfo ( void )
public int exec ( string $statement )
public mixed getAttribute ( int $attribute )
public static array getAvailableDrivers ( void )
public bool inTransaction ( void )
public string lastInsertId ([ string $name = NULL ] )
public PDOStatement prepare ( string $statement [, array $driver_options = array() ] )
public PDOStatement query ( string $statement )
public string quote ( string $string [, int $parameter_type = PDO::PARAM_STR ] )
public bool rollBack ( void )
public bool setAttribute ( int $attribute , mixed $value )
}

Tabla de contenidos

  • PDO::beginTransaction — Inicia una transacción
  • PDO::commit — Consigna una transacción
  • PDO::__construct — Crea una instancia de PDO que representa una conexión a una base de datos
  • PDO::errorCode — Obtiene un SQLSTATE asociado con la última operación en el manejador de la base de datos
  • PDO::errorInfo — Obtiene información extendida del error asociado con la última operación del manejador de la base de datos
  • PDO::exec — Ejecuta una sentencia SQL y devuelve el número de filas afectadas
  • PDO::getAttribute — Devuelve un atributo de la conexión a la base de datos
  • PDO::getAvailableDrivers — Devuelve un array con los controladores de PDO disponibles
  • PDO::inTransaction — Comprueba si una transacción está activa
  • PDO::lastInsertId — Devuelve el ID de la última fila o secuencia insertada
  • PDO::prepare — Prepara una sentencia para su ejecución y devuelve un objeto sentencia
  • PDO::query — Ejecuta una sentencia SQL, devolviendo un conjunto de resultados como un objeto PDOStatement
  • PDO::quote — Entrecomilla una cadena de caracteres para usarla en una consulta
  • PDO::rollBack — Revierte una transacción
  • PDO::setAttribute — Establece un atributo
Objetos grandes (LOBs)
PDO::beginTransaction
PDO


Inicia una transacción

PDO
PDO::commit
PDO
PHP Manual

PDO::beginTransaction

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::beginTransaction — Inicia una transacción

Descripción

public bool PDO::beginTransaction ( void )

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 PDO::commit(). Una llamada a PDO::rollBack() 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 CCOMMIT implícito cuando una sentencia de definición de lenguaje de base de datos (DDL), tales como DROP TABLE o CREATE TABLE, se ejecutan en una transacción. El CCOMMIT implícito prevendrá de la reversión de cualquier otro cambio dentro del límite de la transacción.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Revertir una transacción

El siguiente ejemplo inicia una transacción y ejecuta dos sentencias que modifican la base de datos antes de revertir los cambios. En MySQL, sin embargo, la sentencia DROP TABLE automáticamente consigna la transacción, con lo cual, ninguno de los cambios en la transacción son revertidos.

<?php
/* Iniciar una transacción, desactivando 'autocommit' */
$gbd->beginTransaction();

/* Cambiar el esquema y datos de la base de datos */
$gsent = $gbd->exec("DROP TABLE fruit");
$gsent = $gbd->exec("UPDATE dessert
    SET name = 'hamburger'");

/* Reconocer un error y revertir los cambios */
$gbd->rollBack();

/* La conexión a la base de datos ahora vuelve al modo 'autocommit' */
?>

Ver también

  • PDO::commit() - Consigna una transacción
  • PDO::rollBack() - Revierte una transacción
  • Transacciones y auto-commits

PDO
PDO::commit
PDO


Consigna una transacción

PDO::beginTransaction
PDO::__construct
PDO
PHP Manual

PDO::commit

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::commit — Consigna una transacción

Descripción

public bool PDO::commit ( void )

Consigna una transacción, devolviendo la conexión a la base de datos al modo 'autocommit' hasta que la siguiente llamada a PDO::beginTransaction() inicie una nueva transacción.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Consignar una transacción básica

<?php
/* Iniciar una transacción, desactivando 'autocommit' */
$gbd->beginTransaction();

/* Insertar múltiples registros en base a "todo o nada" */
$sql = 'INSERT INTO fruit
    (name, colour, calories)
    VALUES (?, ?, ?)';

$gsent = $gbd->prepare($sql);

foreach ($frutas as $fruta) {
    $gsent->execute(array(
        $fruta->name,
        $fruta->colour,
        $fruta->calories,
    ));
}

/* Consignar los cambios */
$gbd->commit();

/* La conexión a la base de datos ahora a vuelto al modo 'autocommit' */
?>

Ejemplo #2 Consignar una transacción DDL

<?php
/* Iniciar una transacción, desactivando 'autocommit' */
$gbd->beginTransaction();

/* Cambiar el esquema de la base de datos */
$gsent = $gbd->exec("DROP TABLE fruit");

/* Consignar los cambios */
$gbd->commit();

/* La conexión a la base de datos ahora a vuelto al modo 'autocommit' */
?>

Nota: No todas las bases de datos permitirán que las transacciones operen sobre sentencias DDL: algunas generarán errores, mientras que otras (incluida MySQL) automáticamente consignarán la transacción después de encontrar la primera sentencia DDL.

Ver también

  • PDO::beginTransaction() - Inicia una transacción
  • PDO::rollBack() - Revierte una transacción
  • Transacciones y 'auto-commit'

PDO::beginTransaction
PDO::__construct
PDO


Crea una instancia de PDO que representa una conexión a una base de datos

PDO::commit
PDO::errorCode
PDO
PHP Manual

PDO::__construct

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::__construct — Crea una instancia de PDO que representa una conexión a una base de datos

Descripción

public PDO::__construct() ( string $dsn [, string $username [, string $password [, array $driver_options ]]] )

Crea una instancia de PDO para representar una conexión a la base de datos solicitada.

Parámetros

dsn

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 dsn 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

dsn contiene el DSN completo.

Invocación del URI

dsn 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

Mediante un alias

dsn está formado por un nombre, name, que se corresponde con pdo.dsn.name en php.ini, definiendo el string del DSN.

Nota:

El alias debe estar definido en php.ini, y no en .htaccess o httpd.conf

username

El nombre de usuario para el string del DSN. Este parámetro es opcional para algunos controladores de PDO.

password

La contraseña para el string del DSN. Este parámetro es opcional para algunos controladores de PDO.

driver_options

Un array de la forma clave=>valor con opciones de conexión específicas del controlador.

Valores devueltos

Devuelve un objeto PDO en caso de éxito.

Errores/Excepciones

PDO::__construct() lanza una PDOException si el intento de conexión a la base de datos requerida falla.

Ejemplos

Ejemplo #1 Crear una instancia PDO a través de una invocación al controlador

<?php
/* Conectar a una base de datos de ODBC invocando al controlador */
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$usuario = 'usuario_bd';
$contraseña = 'contraseña_bd';

try {
    $gbd = new PDO($dsn, $usuario, $contraseña);
} catch (PDOException $e) {
    echo 'Falló la conexión: ' . $e->getMessage();
}

?>

Ejemplo #2 Crear una instancia PDO a través de una invocación a la URI

En el siguiente ejemplo se asume que el fichero /usr/local/dbconnect existe, con los permisos necesarios para que PHP lo lea. El fichero contiene el DSN de PDO necesario para conectarse a una base de datos de DB2 a través del controlador PDO_ODBC:

odbc:DSN=SAMPLE;UID=john;PWD=mypass

El script de PHP puede crear una conexión a una base de datos simplemente pasando el parámetro uri: y apuntando al fichero URI:

<?php
/* Conectar a una base de datos de ODBC invocando al controlador */
$dsn = 'uri:file:///usr/local/dbconnect';
$usuario = '';
$contraseña = '';

try {
    $gbd = new PDO($dsn, $usuario, $contraseña);
} catch (PDOException $e) {
    echo 'Falló la conexión: ' . $e->getMessage();
}

?>

Ejemplo #3 Crear una instancia de PDO usando un alias

En el siguiente ejemplo se asume que php.ini contiene la siguiente entrada para permitir la conexión a una base de datos de MySQL usando solamente el alias mydb:

[PDO]
     pdo.dsn.mydb="mysql:dbname=testdb;host=localhost"
<?php
/* Conectar auna base de datos de ODBC usando un alias */
$dsn = 'mydb';
$usuario = '';
$contraseña = '';

try {
    $gbd = new PDO($dsn, $usuario, $contraseña);
} catch (PDOException $e) {
    echo 'Falló la conexión: ' . $e->getMessage();
}

?>

PDO::commit
PDO::errorCode
PDO


Obtiene un SQLSTATE asociado con la última operación en el manejador de la base de datos

PDO::__construct
PDO::errorInfo
PDO
PHP Manual

PDO::errorCode

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::errorCode — Obtiene un SQLSTATE asociado con la última operación en el manejador de la base de datos

Descripción

public mixed PDO::errorCode ( void )

Valores devueltos

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.

PDO::errorCode() 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 PDO::prepare() o PDO::query() y éstas provocan un error en el manejador de la sentencia, PDO::errorCode() no reflejará ese error. Se debe llamar a PDOStatement::errorCode() para devolver el código de error para una operación realizada por un manejador de sentencia particular.

Devuelve NULL si no se ha ejecutado ninguna operación en el manejador de la base de datos.

Ejemplos

Ejemplo #1 Recuperación de un código SQLSTATE

<?php
/* Provoca un error -- la tabla BONES no existe */
$dbh->exec("INSERT INTO bones(skull) VALUES ('lucy')");

echo "\nPDO::errorCode(): ";
print $dbh->errorCode();
?>

El resultado del ejemplo sería:

PDO::errorCode(): 42S02

Ver también

  • PDO::errorInfo() - Obtiene información extendida del error asociado con la última operación del manejador de la base de datos
  • PDOStatement::errorCode() - Obtiene el SQLSTATE asociado con la última operación del gestor de sentencia
  • PDOStatement::errorInfo() - Obtiene información ampliada del error asociado con la última operación del gestor de sentencia

PDO::__construct
PDO::errorInfo
PDO


Obtiene información extendida del error asociado con la última operación del manejador de la base de datos

PDO::errorCode
PDO::exec
PDO
PHP Manual

PDO::errorInfo

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::errorInfo — Obtiene información extendida del error asociado con la última operación del manejador de la base de datos

Descripción

public array PDO::errorInfo ( void )

Valores devueltos

PDO::errorInfo() 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:

Element | Information
0 | Código de error SQLSTATE (un identificador de cinco caracteres alfanuméricos definidos según el estándar ANSI SQL).
1 | Código de error específico del driver.
2 | Mensaje del error específico del driver.

Nota:

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 NULL.

PDO::errorInfo() 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 PDO::prepare() o PDO::query() y se eleva un error sobre el manejador de la sentencia, PDO::errorInfo() no reflejará el error desde el manejador de la sentencia. Se deberá llamar a PDOStatement::errorInfo() para devolver la información del error para una operación realizada sobre un manejador de sentencia concreto.

Ejemplos

Ejemplo #1 Muestra los campos de errorInfo() para una conexión PDO_ODBC a una base de datos DB2

<?php
/* Provoca un error -- sintaxis SQL falsa */
$stmt = $dbh->prepare('bogus sql');
if (!$stmt) {
    echo "\nPDO::errorInfo():\n";
    print_r($dbh->errorInfo());
}
?>

El resultado del ejemplo sería:

PDO::errorInfo():
Array
(
    [0] => HY000
    [1] => 1
    [2] => near "bogus": syntax error
)

Ver también

  • PDO::errorCode() - Obtiene un SQLSTATE asociado con la última operación en el manejador de la base de datos
  • PDOStatement::errorCode() - Obtiene el SQLSTATE asociado con la última operación del gestor de sentencia
  • PDOStatement::errorInfo() - Obtiene información ampliada del error asociado con la última operación del gestor de sentencia

PDO::errorCode
PDO::exec
PDO


Ejecuta una sentencia SQL y devuelve el número de filas afectadas

PDO::errorInfo
PDO::getAttribute
PDO
PHP Manual

PDO::exec

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::exec — Ejecuta una sentencia SQL y devuelve el número de filas afectadas

Descripción

public int PDO::exec ( string $statement )

PDO::exec() ejecuta una sentencia SQL en una única llamada a la función, devolviendo el número de filas afectadas por la sentencia.

PDO::exec() 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 PDO::query(). Para una sentencia que se deba ejecutar en múltiples ocasiones, preparar un objeto PDOStatement con PDO::prepare() y ejecutarlo con PDOStatement::execute().

Parámetros

statement

La sentencia SQL para preparar y ejecutar.

Los datos dentro de la consulta deben ser debidamente escapados.

Valores devueltos

PDO::exec() devuelve el número de filas modificadas o borradas por la sentencia SQL ejecutada. Si no hay filas afectadas, PDO::exec() devuelve 0.

Advertencia

Esta función puede devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se evalúa como FALSE. 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 PDO::exec(), donde en una sentencia que afecta a 0 filas resulta en una llamada a die():

<?php
$db->exec() or die(print_r($db->errorInfo(), true));
?>

Ejemplos

Ejemplo #1 Ejecutando una sentencia DELETE

Cuenta el número de filas afectadas por una sentencia DELETE sin cláusula WHERE.

<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');

/* Borra todas las filas de la tabla FRUIT */
$count = $dbh->exec("DELETE FROM fruit WHERE colour = 'red'");

/* Devuelve el número de filas borradas */
print("Deleted $count rows.\n");
?>

El resultado del ejemplo sería:

Deleted 1 rows.

Ver también

  • PDO::prepare() - Prepara una sentencia para su ejecución y devuelve un objeto sentencia
  • PDO::query() - Ejecuta una sentencia SQL, devolviendo un conjunto de resultados como un objeto PDOStatement
  • PDOStatement::execute() - Ejecuta una sentencia preparada

PDO::errorInfo
PDO::getAttribute
PDO


Devuelve un atributo de la conexión a la base de datos

PDO::exec
PDO::getAvailableDrivers
PDO
PHP Manual

PDO::getAttribute

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)

PDO::getAttribute — Devuelve un atributo de la conexión a la base de datos

Descripción

public mixed PDO::getAttribute ( int $attribute )

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 PDOStatement::getAttribute().

Nótese que algunas combinaciones de bases de datos/driver pueden no soportar todos los atributos de conexión a la base de datos.

Parámetros

attribute

Una de las constantes PDO::ATTR_*. Las constantes que se aplican a las conexiones de las bases de datos son las siguientes:

  • PDO::ATTR_AUTOCOMMIT
  • PDO::ATTR_CASE
  • PDO::ATTR_CLIENT_VERSION
  • PDO::ATTR_CONNECTION_STATUS
  • PDO::ATTR_DRIVER_NAME
  • PDO::ATTR_ERRMODE
  • PDO::ATTR_ORACLE_NULLS
  • PDO::ATTR_PERSISTENT
  • PDO::ATTR_PREFETCH
  • PDO::ATTR_SERVER_INFO
  • PDO::ATTR_SERVER_VERSION
  • PDO::ATTR_TIMEOUT

Valores devueltos

Una llamada con éxito devuelve el valor del atributo PDO solicitado. Una llamada fallida devuelve null.

Ejemplos

Ejemplo #1 Obtiene los atributos de la conexión a la base de datos

<?php
$conn = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');
$attributes = array(
    "AUTOCOMMIT", "ERRMODE", "CASE", "CLIENT_VERSION", "CONNECTION_STATUS",
    "ORACLE_NULLS", "PERSISTENT", "PREFETCH", "SERVER_INFO", "SERVER_VERSION",
    "TIMEOUT"
);

foreach ($attributes as $val) {
    echo "PDO::ATTR_$val: ";
    echo $conn->getAttribute(constant("PDO::ATTR_$val")) . "\n";
}
?>

Ver también

  • PDO::setAttribute() - Establece un atributo
  • PDOStatement::getAttribute() - Recupera un atributo de sentencia
  • PDOStatement::setAttribute() - Establece un atributo de sentencia

PDO::exec
PDO::getAvailableDrivers
PDO


Devuelve un array con los controladores de PDO disponibles

PDO::getAttribute
PDO::inTransaction
PDO
PHP Manual

PDO::getAvailableDrivers

(PHP 5 >= 5.1.3, PECL pdo >= 1.0.3)

PDO::getAvailableDrivers — Devuelve un array con los controladores de PDO disponibles

Descripción

public static array PDO::getAvailableDrivers ( void )
array pdo_drivers ( void )

Esta función devuelve todos los controladoes de PDO actualmente disponibles que se pueden usar en el parámetro DSN de PDO::__construct().

Valores devueltos

PDO::getAvailableDrivers() devuelve un array con los nombres de los controladores de PDO. Si no hubiera ningún controlador disponible, devuelve un array vacío.

Ejemplos

Ejemplo #1 Un ejemplo de PDO::getAvailableDrivers()

<?php
print_r(PDO::getAvailableDrivers());
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => mysql
    [1] => sqlite
)

PDO::getAttribute
PDO::inTransaction
PDO


Comprueba si una transacción está activa

PDO::getAvailableDrivers
PDO::lastInsertId
PDO
PHP Manual

PDO::inTransaction

(PHP 5 >= 5.3.3, Bundled pdo_pgsql)

PDO::inTransaction — Comprueba si una transacción está activa

Descripción

public bool PDO::inTransaction ( void )

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.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si una transacción está activa actualmente, y FALSE si no.

PDO::getAvailableDrivers
PDO::lastInsertId
PDO


Devuelve el ID de la última fila o secuencia insertada

PDO::inTransaction
PDO::prepare
PDO
PHP Manual

PDO::lastInsertId

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::lastInsertId — Devuelve el ID de la última fila o secuencia insertada

Descripción

public string PDO::lastInsertId ([ string $name = NULL ] )

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 name.

Nota:

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.

Parámetros

name

Nombre de la secuencia de objetos de la cual el ID debe ser devuelto.

Valores devueltos

Si el nombre de la secuencia no se especifica en el parámetro name, PDO::lastInsertId() devuelve una cadena representando el ID de la última columna que ha sido insertada en la base de datos.

Si el nombre de la secuencia se especifica en el parámetro name, PDO::lastInsertId() devuelve una cadena representando el último valor recibido de la secuencia de objetos especificada.

Si el driver PDO no soporta esta prestación, PDO::lastInsertId() dispara un IM001 SQLSTATE.

PDO::inTransaction
PDO::prepare
PDO


Prepara una sentencia para su ejecución y devuelve un objeto sentencia

PDO::lastInsertId
PDO::query
PDO
PHP Manual

PDO::prepare

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::prepare — Prepara una sentencia para su ejecución y devuelve un objeto sentencia

Descripción

public PDOStatement PDO::prepare ( string $statement [, array $driver_options = array() ] )

Prepara una sentencia SQL para ser ejecutada por el método PDOStatement::execute(). 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 PDOStatement::execute(). No se puede usar más de un marcador de parámetro con el mismo nombre en la misma sentencia. No se puede sustituir múltiples valores en un único parámetro con nombre, por ejemplo, en la cláusula IN() de una sentencia SQL.

Llamar a PDO::prepare() y a PDOStatement::execute() 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.

Parámetros

statement

Debe ser una sentencia SQL válida para el servidor de base de datos destino.

driver_options

Este array guarda uno o más pares clave=>valor para establecer el valor de los atributos del objeto PDOStatement que este método devuelve. Comúnmente se establece el valor PDO::ATTR_CURSOR a PDO::CURSOR_SCROLL para solicitar el cursor desplazable. Algunos drivers tienen opciones específicas que pueden ser establecidas en el momento de la preparación.

Valores devueltos

Si el servidor de la base de datos prepara con éxito la sentencia, PDO::prepare() devuelve un objeto PDOStatement. Si no es posible, PDO::prepare() devuelve FALSE o emite una excepciónPDOException (dependiendo del manejo de errores).

Nota:

Las sentencias preparadas emuladas no se comunican con el servidor de la base de datos con lo cual PDO::prepare() no comprueba la sentencia.

Ejemplos

Ejemplo #1 Prepara una sentencia SQL con parámetros de sustitución nombrados

<?php
/* Ejecuta una sentencia preparada pasando un array de valores */
$sql = 'SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour';
$sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$sth->execute(array(':calories' => 150, ':colour' => 'red'));
$red = $sth->fetchAll();
$sth->execute(array(':calories' => 175, ':colour' => 'yellow'));
$yellow = $sth->fetchAll();
?>

Ejemplo #2 Prepara una sentencia SQL con parámetros de signos de interrogación

<?php
/* Ejecuta una sentencia preparada pasando un array de valores */
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->execute(array(150, 'red'));
$red = $sth->fetchAll();
$sth->execute(array(175, 'yellow'));
$yellow = $sth->fetchAll();
?>

Ver también

  • PDO::exec() - Ejecuta una sentencia SQL y devuelve el número de filas afectadas
  • PDO::query() - Ejecuta una sentencia SQL, devolviendo un conjunto de resultados como un objeto PDOStatement
  • PDOStatement::execute() - Ejecuta una sentencia preparada

PDO::lastInsertId
PDO::query
PDO


Ejecuta una sentencia SQL, devolviendo un conjunto de resultados como un objeto PDOStatement

PDO::prepare
PDO::quote
PDO
PHP Manual

PDO::query

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)

PDO::query — Ejecuta una sentencia SQL, devolviendo un conjunto de resultados como un objeto PDOStatement

Descripción

public PDOStatement PDO::query ( string $statement )
public PDOStatement PDO::query ( string $statement , int $PDO::FETCH_COLUMN , int $colno )
public PDOStatement PDO::query ( string $statement , int $PDO::FETCH_CLASS , string $classname , array $ctorargs )
public PDOStatement PDO::query ( string $statement , int $PDO::FETCH_INTO , object $object )

PDO::query() 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 PDO::prepare() y ejecutando la sentencia con múltiple llamadas a PDOStatement::execute().

Si no se buscan todos los datos del conjunto de resultados antes de ejecutar la siguiente llamada a PDO::query(), ésta puede fallar. Llamando a PDOStatement::closeCursor() se liberan los recursos de la base de datos asociados al objeto PDOStatement antes de ejecutar la siguiente llamada a PDO::query().

Nota:

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 PDOStatement::setFetchMode() con el objeto de la sentencia resultante.

Parámetros

statement

La sentencia SQL a preparar y ejecutar.

Los datos dentro de la consulta deben ser debidamente escapados.

Valores devueltos

PDO::query() devuelve un objeto PDOStatement, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Demostración de PDO::query

Una buena característica de PDO::query() es que permite iterar sobre el conjunto de filas devueltos por una ejecución de una sentencia SELECT con éxito.

<?php
function getFruit($conn) {
    $sql = 'SELECT name, color, calories FROM fruit ORDER BY name';
    foreach ($conn->query($sql) as $row) {
        print $row['name'] . "\t";
        print $row['color'] . "\t";
        print $row['calories'] . "\n";
    }
}
?>

El resultado del ejemplo sería:

apple   red     150
banana  yellow  250
kiwi    brown   75
lemon   yellow  25
orange  orange  300
pear    green   150
watermelon      pink    90

Ver también

  • PDO::exec() - Ejecuta una sentencia SQL y devuelve el número de filas afectadas
  • PDO::prepare() - Prepara una sentencia para su ejecución y devuelve un objeto sentencia
  • PDOStatement::execute() - Ejecuta una sentencia preparada

PDO::prepare
PDO::quote
PDO


Entrecomilla una cadena de caracteres para usarla en una consulta

PDO::query
PDO::rollBack
PDO
PHP Manual

PDO::quote

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.1)

PDO::quote — Entrecomilla una cadena de caracteres para usarla en una consulta

Descripción

public string PDO::quote ( string $string [, int $parameter_type = PDO::PARAM_STR ] )

PDO::quote() 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 PDO::prepare() para preparar sentencias SQL con los parámetros vinculados en vez de usar PDO::quote() 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.

Precaución

Seguridad: el conjunto de caracteres predeterminado

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.

Parámetros

string

La cadena de caracteres a entrecomillar.

parameter_type

Proporciona una sugerencia del tipo de datos para los controladores que tengan un estilo de entrecomillado alternativo.

Valores devueltos

Devuelve un string entrecomillado teóricamente seguro para pasarlo a una sentencia SQL. Devuelve FALSE si el controlador no soporta el entrecomillado en esta forma.

Ejemplos

Ejemplo #1 Entrecomillar una cadena de caracteres normal

<?php
$conexión = new PDO('sqlite:/home/lynn/music.sql3');

/* Cadena simple */
$cadena = 'Agradable';
print "Cadena sin entrecomillar: $cadena\n";
print "Cadena entrecomillada: " . $conexión->quote($cadena) . "\n";
?>

El resultado del ejemplo sería:

Cadena sin entrecomillar: Agradable
Cadena entrecomillada: 'Agradable'

Ejemplo #2 Entrecomillar una cadena peligrosa

<?php
$conexión = new PDO('sqlite:/home/lynn/music.sql3');

/* Cadena peligrosa */
$cadena = 'Cadena \' desagradable';
print "Cadena sin entrecomillar: $cadena\n";
print "Cadena entrecomillada:" . $conexión->quote($cadena) . "\n";
?>

El resultado del ejemplo sería:

Cadena sin entrecomillar: Cadena ' desagradable
Cadena entrecomillada: 'Cadena '' desagradable'

Ejemplo #3 Entrecomillar una cadena compleja

<?php
$conexión = new PDO('sqlite:/home/lynn/music.sql3');

/* Cadena compleja */
$cadena = "Ca'de''na \"co'\"mpleja";
print "Cadena sin entrecomillar: $cadena\n";
print "Cadena entrecomillada: " . $conexión->quote($cadena) . "\n";
?>

El resultado del ejemplo sería:

Cadena sin entrecomillar: Ca'de''na "co'"mpleja
Cadena entrecomillada: 'Ca''de''''na "co''"mpleja'

Ver también

  • PDO::prepare() - Prepara una sentencia para su ejecución y devuelve un objeto sentencia
  • PDOStatement::execute() - Ejecuta una sentencia preparada

PDO::query
PDO::rollBack
PDO


Revierte una transacción

PDO::quote
PDO::setAttribute
PDO
PHP Manual

PDO::rollBack

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::rollBack — Revierte una transacción

Descripción

public bool PDO::rollBack ( void )

Revierte la transacción actual, que fue iniciada por PDO::beginTransaction(). Se lanzará una excepción de tipo PDOException si no hay ninguna transacción activa.

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.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Revertir una transacción

El siguiente ejemplo comienza una transacción y ejecuta dos sentencias que modifican la base de datos antes de revertir los cambios. En MySQL, sin embargo, la sentencia DROP TABLE consigna automáticamente la transacción, por lo que no son revertidos ninguno de los cambios en la transacción.

<?php
/* Comenzar una transacción, desactivando el modo 'autocommit' */
$gbd->beginTransaction();

/* Cambiar el esquema y los datos de la base de datos */
$sth = $gbd->exec("DROP TABLE fruit");
$sth = $gbd->exec("UPDATE dessert
    SET name = 'hamburger'");

/* Reconocer el error y revertir los cambios */
$gbd->rollBack();

/* Ahora la conexión a la base de datos a vuelto al modo 'autocommit' */
?>

Ver también

  • PDO::beginTransaction() - Inicia una transacción
  • PDO::commit() - Consigna una transacción
  • Transacciones y 'auto-commit'

PDO::quote
PDO::setAttribute
PDO


Establece un atributo

PDO::rollBack
PDOStatement
PDO
PHP Manual

PDO::setAttribute

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::setAttribute — Establece un atributo

Descripción

public bool PDO::setAttribute ( int $attribute , mixed $value )

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.

  • PDO::ATTR_CASE: Fuerza a los nombres de columnas a una capitalización específica.

    • PDO::CASE_LOWER: Fuerza a los nombres de columnas a minúsculas.

    • PDO::CASE_NATURAL: Deja los nombres de columnas como son devueltas por el driver de la base de datos.

    • PDO::CASE_UPPER: Fuerza a los nombres de columnas a mayúsculas.

  • PDO::ATTR_ERRMODE: Reporte de errores.

    • PDO::ERRMODE_SILENT: Establece los códigos de error.

    • PDO::ERRMODE_WARNING: Eleva E_WARNING.

    • PDO::ERRMODE_EXCEPTION: Lanza exceptions.

  • PDO::ATTR_ORACLE_NULLS (disponible para todos los drivers, no sólo Oracle): Conversión de NULL y cadenas vacías.

    • PDO::NULL_NATURAL: Sin conversión.

    • PDO::NULL_EMPTY_STRING: Las cadenas vacías son convertidas a NULL.

    • PDO::NULL_TO_STRING: NULL se convierte a cadenas vacías.

  • PDO::ATTR_STRINGIFY_FETCHES: Convierte los valores numéricos a cadenas cuando se buscan. Requiere bool.

  • PDO::ATTR_STATEMENT_CLASS: Establece la clase de sentencia proporcionada por el usuario derivada de PDOStatement. No puede ser usado con instancias PDO persistentes. Requiere array(string classname, array(mixed constructor_args)).

  • PDO::ATTR_TIMEOUT: 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 int.

  • PDO::ATTR_AUTOCOMMIT (available in OCI, Firebird and MySQL): Whether to autocommit every single statement.

  • PDO::ATTR_EMULATE_PREPARES 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 TRUE), or to try to use native prepared statements (if FALSE). It will always fall back to emulating the prepared statement if the driver cannot successfully prepare the current query. Requires bool.

  • PDO::MYSQL_ATTR_USE_BUFFERED_QUERY (available in MySQL): Use buffered queries.

  • PDO::ATTR_DEFAULT_FETCH_MODE: Set default fetch mode. Description of modes is available in PDOStatement::fetch() documentation.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDO::rollBack
PDOStatement
PDO


La clase PDOStatement

(PHP 5 >= 5.1.0, PECL pdo >= 1.0.0)

Introducción

Representa una sentencia preparada y, después de la ejecución de la instrucción, un conjuntos de resultados asociado.

Sinopsis de la Clase

PDOStatement implements Traversable {
/* Propiedades */
readonly string $queryString;
/* Métodos */
public bool bindColumn ( mixed $column , mixed &$param [, int $type [, int $maxlen [, mixed $driverdata ]]] )
public bool bindParam ( mixed $parameter , mixed &$variable [, int $data_type = PDO::PARAM_STR [, int $length [, mixed $driver_options ]]] )
public bool bindValue ( mixed $parameter , mixed $value [, int $data_type = PDO::PARAM_STR ] )
public bool closeCursor ( void )
public int columnCount ( void )
public void debugDumpParams ( void )
public string errorCode ( void )
public array errorInfo ( void )
public bool execute ([ array $input_parameters ] )
public mixed fetch ([ int $fetch_style [, int $cursor_orientation = PDO::FETCH_ORI_NEXT [, int $cursor_offset = 0 ]]] )
public array fetchAll ([ int $fetch_style [, mixed $fetch_argument [, array $ctor_args = array() ]]] )
public string fetchColumn ([ int $column_number = 0 ] )
public mixed fetchObject ([ string $class_name = "stdClass" [, array $ctor_args ]] )
public mixed getAttribute ( int $attribute )
public array getColumnMeta ( int $column )
public bool nextRowset ( void )
public int rowCount ( void )
public bool setAttribute ( int $attribute , mixed $value )
public bool setFetchMode ( int $mode )
}

Propiedades

queryString

La cadena de consulta utilizada.

Tabla de contenidos

  • PDOStatement::bindColumn — Vincula una columna a una variable de PHP
  • PDOStatement::bindParam — Vincula un parámetro al nombre de variable especificado
  • PDOStatement::bindValue — Vincula un valor a un parámetro
  • PDOStatement::closeCursor — Cierra un cursor, habilitando a la sentencia para que sea ejecutada otra vez
  • PDOStatement::columnCount — Devuelve el número de columnas de un conjunto de resultados
  • PDOStatement::debugDumpParams — Vuelca un comando preparado de SQL
  • PDOStatement::errorCode — Obtiene el SQLSTATE asociado con la última operación del gestor de sentencia
  • PDOStatement::errorInfo — Obtiene información ampliada del error asociado con la última operación del gestor de sentencia
  • PDOStatement::execute — Ejecuta una sentencia preparada
  • PDOStatement::fetch — Obtiene la siguiente fila de un conjunto de resultados
  • PDOStatement::fetchAll — Devuelve un array que contiene todas las filas del conjunto de resultados
  • PDOStatement::fetchColumn — Devuelve una única columna de la siguiente fila de un conjunto de resultados
  • PDOStatement::fetchObject — Obtiene la siguiente fila y la devuelve como un objeto
  • PDOStatement::getAttribute — Recupera un atributo de sentencia
  • PDOStatement::getColumnMeta — Devuelve metadatos de una columna de un conjunto de resultados
  • PDOStatement::nextRowset — Avanza hasta el siguiente conjunto de filas de un gestor de sentencia multiconjunto de filas
  • PDOStatement::rowCount — Devuelve el número de filas afectadas por la última sentencia SQL
  • PDOStatement::setAttribute — Establece un atributo de sentencia
  • PDOStatement::setFetchMode — Establece el modo de obtención para esta sentencia
PDO::setAttribute
PDOStatement::bindColumn
PDO


Vincula una columna a una variable de PHP

PDOStatement
PDOStatement::bindParam
PDOStatement
PHP Manual

PDOStatement::bindColumn

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDOStatement::bindColumn — Vincula una columna a una variable de PHP

Descripción

public bool PDOStatement::bindColumn ( mixed $column , mixed &$param [, int $type [, int $maxlen [, mixed $driverdata ]]] )

PDOStatement::bindColumn() se encarga de tener una variable en particular vinculada a una columna dada en el conjunto de resultados desde una consulta. Cada llamada a PDOStatement::fetch() o a PDOStatement::fetchAll() actualizará todas las variables que estén vinculadas a columnas.

Nota:

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

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 PDOStatement::execute(), si no, el OID del objeto grande será devuelto como un número entero.

Parámetros

column

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.

param

El nombre de la variable de PHP a la que vincular la columna.

type

El tipo de datos del parámetro, especificado por las constantes PDO::PARAM_*.

maxlen

La longitud máxima sugerida para la preasingnación.

driverdata

Parámetro/s opcional/es para el controlador.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Vincular la salida de un conjunto de resultados a variables de PHP

La vinculación de columnas del conjunto de resultados a variables de PHP es una forma efectiva de hacer que los datos contenidos en cada fila estén disponibles de inmediato para la aplicación. El siguiente ejemplo demuestra cómo PDO permite vincular y recuperar columnas con varias opciones y con valores predeterminados inteligentes.

<?php
function readData($gbd) {
  $sql = 'SELECT name, colour, calories FROM fruit';
  try {
    $sentencia = $gbd->prepare($sql);
    $sentencia->execute();

    /* Vincular por número de columna */
    $sentencia->bindColumn(1, $nombre);
    $sentencia->bindColumn(2, $color);

    /* Vincular por nombre de columna */
    $sentencia->bindColumn('calories', $calorías);

    while ($fila = $sentencia->fetch(PDO::FETCH_BOUND)) {
      $datos = $nombre . "\t" . $color . "\t" . $calorías . "\n";
      print $datos;
    }
  }
  catch (PDOException $e) {
    print $e->getMessage();
  }
}
readData($gbd);
?>

El resultado del ejemplo sería:

apple   red     150
banana  yellow  175
kiwi    green   75
orange  orange  150
mango   red     200
strawberry      red     25

Ver también

  • PDOStatement::execute() - Ejecuta una sentencia preparada
  • PDOStatement::fetch() - Obtiene la siguiente fila de un conjunto de resultados
  • PDOStatement::fetchAll() - Devuelve un array que contiene todas las filas del conjunto de resultados
  • PDOStatement::fetchColumn() - Devuelve una única columna de la siguiente fila de un conjunto de resultados

PDOStatement
PDOStatement::bindParam
PDOStatement


Vincula un parámetro al nombre de variable especificado

PDOStatement::bindColumn
PDOStatement::bindValue
PDOStatement
PHP Manual

PDOStatement::bindParam

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDOStatement::bindParam — Vincula un parámetro al nombre de variable especificado

Descripción

public bool PDOStatement::bindParam ( mixed $parameter , mixed &$variable [, int $data_type = PDO::PARAM_STR [, int $length [, mixed $driver_options ]]] )

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 PDOStatement::bindValue(), la variable es vinculada como una referencia y solamente será evaluada en el momento en el que se llame a PDOStatement::execute().

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.

Parámetros

parameter

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.

variable

Nombre de la variable de PHP a vincular al parámetro de la sentencia SQL.

data_type

El tipo de datos explícito para el parámetro, usando las constantes PDO::PARAM_*. 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 data_type.

length

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.

driver_options

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejecutar una sentencia preparada con parámetros de sustitución con nombre

<?php
/* Ejecutar una sentencia preparada vinculando varialbes de PHP */
$calorías = 150;
$color = 'red';
$gsent = $gbd->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$gsent->bindParam(':calories', $calorías, PDO::PARAM_INT);
$gsent->bindParam(':colour', $color, PDO::PARAM_STR, 12);
$gsent->execute();
?>

Ejemplo #2 Ejecutar una sentencia preparada con parámetros de sustitución de signos de interrogación

<?php
/* Ejecutar una sentencia preparada vinculando varialbes de PHP */
$calorías = 150;
$color = 'red';
$gsent = $gbd->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$gsent->bindParam(1, $calorías, PDO::PARAM_INT);
$gsent->bindParam(2, $color, PDO::PARAM_STR, 12);
$gsent->execute();
?>

Ejemplo #3 Llamar a un procedimiento almacenado con un parámetro INOUT

<?php
/* Llamar a un procedimiento almacenado con un parámetro INOUT */
$color = 'red';
$gsent = $gbd->prepare('CALL puree_fruit(?)');
$gsent->bindParam(1, $color, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 12);
$gsent->execute();
print("Después de hacer puré la fruta, el color es: $color");
?>

Ver también

  • PDO::prepare() - Prepara una sentencia para su ejecución y devuelve un objeto sentencia
  • PDOStatement::execute() - Ejecuta una sentencia preparada
  • PDOStatement::bindValue() - Vincula un valor a un parámetro

PDOStatement::bindColumn
PDOStatement::bindValue
PDOStatement


Vincula un valor a un parámetro

PDOStatement::bindParam
PDOStatement::closeCursor
PDOStatement
PHP Manual

PDOStatement::bindValue

(PHP 5 >= 5.1.0, PECL pdo >= 1.0.0)

PDOStatement::bindValue — Vincula un valor a un parámetro

Descripción

public bool PDOStatement::bindValue ( mixed $parameter , mixed $value [, int $data_type = PDO::PARAM_STR ] )

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.

Parámetros

parameter

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.

value

El valor a vincular al parámetro.

data_type

El tipo de datos explícito para el parámetro, usando las constantes PDO::PARAM_*.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejecutar una sentencia preparada con parámetros de sustitución con nombre

<?php
/* Ejecutar una sentencia preparada vinculando varialbes de PHP */
$calorías = 150;
$color = 'red';
$gsent = $gbd->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$gsent->bindValue(':calories', $calorías, PDO::PARAM_INT);
$gsent->bindValue(':colour', $color, PDO::PARAM_STR);
$gsent->execute();
?>

Ejemplo #2 Ejecutar una sentencia preparada con parámetros de sustitución de signos de interrogación

<?php
/* Ejecutar una sentencia preparada vinculando varialbes de PHP */
$calorías = 150;
$color = 'red';
$gsent = $gbd->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$gsent->bindValue(1, $calorías, PDO::PARAM_INT);
$gsent->bindValue(2, $color, PDO::PARAM_STR);
$gsent->execute();
?>

Ver también

  • PDO::prepare() - Prepara una sentencia para su ejecución y devuelve un objeto sentencia
  • PDOStatement::execute() - Ejecuta una sentencia preparada
  • PDOStatement::bindParam() - Vincula un parámetro al nombre de variable especificado

PDOStatement::bindParam
PDOStatement::closeCursor
PDOStatement


Cierra un cursor, habilitando a la sentencia para que sea ejecutada otra vez

PDOStatement::bindValue
PDOStatement::columnCount
PDOStatement
PHP Manual

PDOStatement::closeCursor

(PHP 5 >= 5.1.0, PECL pdo >= 0.9.0)

PDOStatement::closeCursor — Cierra un cursor, habilitando a la sentencia para que sea ejecutada otra vez

Descripción

public bool PDOStatement::closeCursor ( void )

PDOStatement::closeCursor() 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".

PDOStatement::closeCursor() 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:

<?php
do {
    while ($sentencia->fetch())
        ;
    if (!$sentencia->nextRowset())
        break;
} while (true);
?>

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de PDOStatement::closeCursor()

En el siguiente ejemplo, el objeto PDOStatement $sentencia devuelve múltiples filas, aunque la aplicación solamente obtenga la primera, dejando al objeto PDOStatement con filas aún por obtener. Para asegurarse de que la aplicación funcionará con todos los controladores de bases de datos, el autor inserta una llmada a PDOStatement::closeCursor() sobre $sentencia antes de ejecutar el objeto PDOStatement $otraSentencia.

<?php
/* Crear un objeto PDOStatement */
$sentencia = $gbd->prepare('SELECT foo FROM bar');

/* Crear un segundo objeto PDOStatement */
$otraSentencia = $gbd->prepare('SELECT foobaz FROM foobar');

/* Ejecutar la primera sentencia */
$sentencia->execute();

/* Obtener solamente la primera fila de los resultados */
$sentencia->fetch();

/* La siguiente llamada a closeCursor() podría ser necesaria para algunos controladores */
$sentencia->closeCursor();

/* Ahora se puede ejecutar la segunda sentencia */
$otraSentencia->execute();
?>

Ver también

  • PDOStatement::execute() - Ejecuta una sentencia preparada

PDOStatement::bindValue
PDOStatement::columnCount
PDOStatement


Devuelve el número de columnas de un conjunto de resultados

PDOStatement::closeCursor
PDOStatement::debugDumpParams
PDOStatement
PHP Manual

PDOStatement::columnCount

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)

PDOStatement::columnCount — Devuelve el número de columnas de un conjunto de resultados

Descripción

public int PDOStatement::columnCount ( void )

Use PDOStatement::columnCount() para devolver el número de columnas del conjunto representado por el objeto PDOStatement.

S el objeto PDOStatement fue devuelto desde PDO::query(), el número de columnas estará inmediatamente disponible.

Si el objeto PDOStatement fue devuelto desde PDO::prepare(), un número preciso de columnas no estará disponible hasta que se invoque a PDOStatement::execute().

Valores devueltos

Devuelve el número de columnas del conjunto de resultados representado por el objeto PDOStatement. Si no hubiera conjunto de resultados, PDOStatement::columnCount() devuelve 0.

Ejemplos

Ejemplo #1 Contar columnas

Este ejemplo demuestra cómo PDOStatement::columnCount() opera con y sin un conjunto de resultados.

<?php
$gbd = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');

$gsent = $gbd->prepare("SELECT name, colour FROM fruit");

/* Cuenta el número de columnas del (no existente) conjunto de resultados */
$cuenta_col = $gsent->columnCount();
print("Antes de execute(), el conjunto de resultados tiene $cuenta_col columnas (debería ser 0)\n");

$gsent->execute();

/* Cuenta el número de columnas del conjunto de resultados */
$cuenta_col = $gsent->columnCount();
print("Después de execute(), el conjunto de resultados tiene $cuenta_col columnas (debería ser 2)\n");

?>

El resultado del ejemplo sería:

Antes de execute(), el conjunto de resultados tiene 0 columnas (debería ser 0)
Después de execute(), el conjunto de resultados tiene 2 columnas (debería ser 2)

Ver también

  • PDO::prepare() - Prepara una sentencia para su ejecución y devuelve un objeto sentencia
  • PDOStatement::execute() - Ejecuta una sentencia preparada
  • PDOStatement::rowCount() - Devuelve el número de filas afectadas por la última sentencia SQL

PDOStatement::closeCursor
PDOStatement::debugDumpParams
PDOStatement


Vuelca un comando preparado de SQL

PDOStatement::columnCount
PDOStatement::errorCode
PDOStatement
PHP Manual

PDOStatement::debugDumpParams

(PHP 5 >= 5.1.0, PECL pdo >= 0.9.0)

PDOStatement::debugDumpParams — Vuelca un comando preparado de SQL

Descripción

public void PDOStatement::debugDumpParams ( void )

Vuelca la información contenida en una sentencia preparada directamente en la salida. Proporcionará la consulta SQL en uso, el número de parámetros usados (Params), la lista de parámetros con sus nombres, su tipo (paramtype) como un entero, sus nombres de clave o posición, el valor, y la posición en la consulta (si lo admite el controlador de PDO, si no, será -1).

Esta es una función de depuración, que vuelca directamente los dotos en la salida habitual.

Sugerencia

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 string.

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.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de PDOStatement::debugDumpParams() con parámetros con nombre

<?php
/* Ejecutar una sentencia preparada vinculando variables de PHP */
$calorías = 150;
$color = 'red';
$gsent = $gbd->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$gsent->bindParam(':calories', $calorías, PDO::PARAM_INT);
$gsent->bindValue(':colour', $color, PDO::PARAM_STR, 12);
$gsent->execute();

$gsent->debugDumpParams();

?>

El resultado del ejemplo sería:

SQL: [96] SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour
Params:  2
Key: Name: [9] :calories
paramno=-1
name=[9] ":calories"
is_param=1
param_type=1
Key: Name: [7] :colour
paramno=-1
name=[7] ":colour"
is_param=1
param_type=2

Ejemplo #2 Ejemplo de PDOStatement::debugDumpParams() con parámetros sin nombre

<?php

/* Ejecutar una sentencia preparada vinculando variables de PHP */
$calorías = 150;
$color = 'red';
$name = 'apple';

$gsent = $gbd->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$gsent->bindParam(1, $calorías, PDO::PARAM_INT);
$gsent->bindValue(2, $color, PDO::PARAM_STR);
$gsent->execute();

$gsent->debugDumpParams();

?>

El resultado del ejemplo sería:

SQL: [82] SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?
Params:  2
Key: Position #0:
paramno=0
name=[0] ""
is_param=1
param_type=1
Key: Position #1:
paramno=1
name=[0] ""
is_param=1
param_type=2

Ver también

  • PDO::prepare() - Prepara una sentencia para su ejecución y devuelve un objeto sentencia
  • PDOStatement::bindParam() - Vincula un parámetro al nombre de variable especificado
  • PDOStatement::bindValue() - Vincula un valor a un parámetro

PDOStatement::columnCount
PDOStatement::errorCode
PDOStatement


Obtiene el SQLSTATE asociado con la última operación del gestor de sentencia

PDOStatement::debugDumpParams
PDOStatement::errorInfo
PDOStatement
PHP Manual

PDOStatement::errorCode

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDOStatement::errorCode — Obtiene el SQLSTATE asociado con la última operación del gestor de sentencia

Descripción

public string PDOStatement::errorCode ( void )

Valores devueltos

Es idéntico a PDO::errorCode(), excepto que PDOStatement::errorCode() solamente recupera los códigos de error de operaciones llevadas a cabo con objetos PDOStatement.

Ejemplos

Ejemplo #1 Recuperar un código SQLSTATE

<?php
/* Provocar un error -- la tabla BONES no existe */
$err = $gbd->prepare('SELECT skull FROM bones');
$err->execute();

echo "\nPDOStatement::errorCode(): ";
print $err->errorCode();
?>

El resultado del ejemplo sería:

PDOStatement::errorCode(): 42S02

Ver también

  • PDO::errorCode() - Obtiene un SQLSTATE asociado con la última operación en el manejador de la base de datos
  • PDO::errorInfo() - Obtiene información extendida del error asociado con la última operación del manejador de la base de datos
  • PDOStatement::errorInfo() - Obtiene información ampliada del error asociado con la última operación del gestor de sentencia

PDOStatement::debugDumpParams
PDOStatement::errorInfo
PDOStatement


Obtiene información ampliada del error asociado con la última operación del gestor de sentencia

PDOStatement::errorCode
PDOStatement::execute
PDOStatement
PHP Manual

PDOStatement::errorInfo

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDOStatement::errorInfo — Obtiene información ampliada del error asociado con la última operación del gestor de sentencia

Descripción

public array PDOStatement::errorInfo ( void )

Valores devueltos

PDOStatement::errorInfo() 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:

Elemento | Información
0 | Código de error de SQLSTATE (un identificador alfanumérico de cinco caracteres definido en el estándar ANSI SQL).
1 | Código de error específico del controlador.
2 | Mensaje de error específico del controlador.

Ejemplos

Ejemplo #1 Mostrar los campos de errorInfo() para una conexión PDO_ODBC a una base de datos de DB2

<?php
/* Provocar un error -- la tabla BONES no existe */
$gsent = $gbd->prepare('SELECT skull FROM bones');
$gsent->execute();

echo "\nPDOStatement::errorInfo():\n";
$arr = $gsent->errorInfo();
print_r($arr);
?>

El resultado del ejemplo sería:

PDOStatement::errorInfo():
Array
(
    [0] => 42S02
    [1] => -204
    [2] => [IBM][CLI Driver][DB2/LINUX] SQL0204N  "DANIELS.BONES" is an undefined name.  SQLSTATE=42704
)

Ver también

  • PDO::errorCode() - Obtiene un SQLSTATE asociado con la última operación en el manejador de la base de datos
  • PDO::errorInfo() - Obtiene información extendida del error asociado con la última operación del manejador de la base de datos
  • PDOStatement::errorCode() - Obtiene el SQLSTATE asociado con la última operación del gestor de sentencia

PDOStatement::errorCode
PDOStatement::execute
PDOStatement


Ejecuta una sentencia preparada

PDOStatement::errorInfo
PDOStatement::fetch
PDOStatement
PHP Manual

PDOStatement::execute

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDOStatement::execute — Ejecuta una sentencia preparada

Descripción

public bool PDOStatement::execute ([ array $input_parameters ] )

Ejecuta una sentencia preparada. Si ésta incluye marcadores de parámetros, se debe:

  • llamar a PDOStatement::bindParam() para vincular variables de PHP a los marcadores de parámetros: al vincular las variables se pasan sus valores como entrada y se recibe el valor de salida, si lo hubiera, de los marcadores de los parámetros asociados

  • o pasar un array de valores de parámetros de sólo entrada

Parámetros

input_parameters

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 PDO::PARAM_STR.

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 input_parameters que en la sentencia SQL especificada en PDO::prepare(), entonces la sentencia fallará y se emitirá un error.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.2.0 | Las claves de input_parameters deben coincidir con aquellas declaradas en la sentencia SQL. Antes de PHP 5.2.0 esto se ignoraba silenciosamente.

Ejemplos

Ejemplo #1 Ejecutar una sentencia preparada con variables vinculadas

<?php
/* Ejecutar una sentencia preparada vinculando variables de PHP */
$calorías = 150;
$color = 'red';
$gsent = $gbd->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$gsent->bindParam(':calories', $calorías, PDO::PARAM_INT);
$gsent->bindParam(':colour', $color, PDO::PARAM_STR, 12);
$gsent->execute();
?>

Ejemplo #2 Ejecutar una sentencia preparada con un array de valores de inserción (parámetros con nombre)

<?php
/* Ejecutar una sentencia preparada proporcionando un array de valores de inserción */
$calorías = 150;
$color = 'red';
$gsent = $gbd->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$gsent->execute(array(':calories' => $calorías, ':colour' => $color));
?>

Ejemplo #3 Ejecutar una sentencia preparada con un array de valores de inserción (parámetros de sustitución)

<?php
/* Ejecutar una sentencia preparada proporcionando un array de valores de inserción */
$calorías = 150;
$color = 'red';
$gsent = $gbd->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$gsent->execute(array($calorías, $color));
?>

Ejemplo #4 Ejecutar una senetencia preparada con parámetros de sustitución de signos de interrogación

<?php
/* Ejecutar una sentencia preparada vinculando variables de PHP */
$calorías = 150;
$color = 'red';
$gsent = $gbd->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$gsent->bindParam(1, $calorías, PDO::PARAM_INT);
$gsent->bindParam(2, $color, PDO::PARAM_STR, 12);
$gsent->execute();
?>

Ejemplo #5 Ejecutar una sentencia preparada usando un array para la cláusula IN

<?php
/* Ejecutar una sentencia preparada usando un array de valores para una cláusula IN */
$parámetros = array(1, 21, 63, 171);
/* Crear una cadena para los parámetros de sustitución rellenados con el número de parámetros */
$place_holders = implode(',', array_fill(0, count($parámetros), '?'));

/*
    Esto prepara una sentencia con suficientes parámetros de sustitución sin nombre para
    cada valor del array $parámetros. Los valores del array $parámetros son vinculados a
    los parámetros de sustitución de la sentencia preparada cuando ésta sea ejecutada.
    Esto no es lo mismo que usar PDOStatement::bindParam(), pues esto último
    requiere una referencia a la variable. En su lugar, PDOStatement::execute() sólo
    vincula por valor.
*/
$gsent = $gbd->prepare("SELECT id, name FROM contacts WHERE id IN ($place_holders)");
$gsent->execute($parámetros);
?>

Notas

Nota:

Algunos controladores necesitan cerrar los cursores antes de poder ejecutar la siguiente sentencia.

Ver también

  • PDO::prepare() - Prepara una sentencia para su ejecución y devuelve un objeto sentencia
  • PDOStatement::bindParam() - Vincula un parámetro al nombre de variable especificado
  • PDOStatement::fetch() - Obtiene la siguiente fila de un conjunto de resultados
  • PDOStatement::fetchAll() - Devuelve un array que contiene todas las filas del conjunto de resultados
  • PDOStatement::fetchColumn() - Devuelve una única columna de la siguiente fila de un conjunto de resultados

PDOStatement::errorInfo
PDOStatement::fetch
PDOStatement


Obtiene la siguiente fila de un conjunto de resultados

PDOStatement::execute
PDOStatement::fetchAll
PDOStatement
PHP Manual

PDOStatement::fetch

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDOStatement::fetch — Obtiene la siguiente fila de un conjunto de resultados

Descripción

public mixed PDOStatement::fetch ([ int $fetch_style [, int $cursor_orientation = PDO::FETCH_ORI_NEXT [, int $cursor_offset = 0 ]]] )

Obtiene una fila de un conjunto de resultados asociado al objeto PDOStatement. El parámetro fetch_style determina cómo PDO devuelve la fila.

Parámetros

fetch_style

Controla cómo se devolverá la siguiente fila al llamador. Este valor debe ser una de las constantes PDO::FETCH_*, estando predeterminado PDO::ATTR_DEFAULT_FETCH_MODE (el cual por defecto es PDO::FETCH_BOTH).

  • PDO::FETCH_ASSOC: devuelve un array indexado por los nombres de las columnas del conjunto de resultados.

  • PDO::FETCH_BOTH (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.

  • PDO::FETCH_BOUND: devuelve TRUE 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 PDOStatement::bindColumn().

  • PDO::FETCH_CLASS: 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. Si fetch_style incluye PDO::FETCH_CLASSTYPE (por ejemplo, PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE), entonces el nombre de la clase se determina a partir del valor de la primera columna.

  • PDO::FETCH_INTO: actualiza una instancia existente de la clase solicitada, haciendo coincidir el nombre de las columnas con los nombres de las propiedades de la clase.

  • PDO::FETCH_LAZY: combina PDO::FETCH_BOTH y PDO::FETCH_OBJ, creando los nombres de la variables del objeto tal como se accedieron.

  • PDO::FETCH_NUM: devuelve un array indexado por el número de columna tal como fue devuelto en el conjunto de resultados, comenzando por la columna 0.

  • PDO::FETCH_OBJ: devuelve un objeto anónimo con nombres de propiedades que se corresponden a los nombres de las columnas devueltas en el conjunto de resultados.

cursor_orientation

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 PDO::FETCH_ORI_*, siendo la predeterminada PDO::FETCH_ORI_NEXT. Para solicitar un cursor desplazable para el objeto PDOStatement, se debe establecer el atributo PDO::ATTR_CURSOR a PDO::CURSOR_SCROLL cuando se prepare la sentencia SQL con PDO::prepare().

offset

Para un objeto PDOStatement que represente un cursor desplazable para el cual el parámetro cursor_orientation está establecido a PDO::FETCH_ORI_ABS, 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 cursor_orientation está establecido a PDO::FETCH_ORI_REL, este valor especifica la fila a obtener relativa a la posición del cursor antes de que se llame a PDOStatement::fetch().

Valores devueltos

El valor de retorno de esta función en caso de éxito depende del tipo de obtención. En todos los casos, se devuelve FALSE en caso de error.

Ejemplos

Ejemplo #1 Obtención de filas usando diferentes tipos de obtención

<?php
$gsent = $gbd->prepare("SELECT name, colour FROM fruit");
$gsent->execute();

/* Prueba de tipos de PDOStatement::fetch */
print("PDO::FETCH_ASSOC: ");
print("Devolver la siguiente fila como un array indexado por nombre de colunmna\n");
$result = $gsent->fetch(PDO::FETCH_ASSOC);
print_r($result);
print("\n");

print("PDO::FETCH_BOTH: ");
print("Devolver la siguiente fila como un array indexado por nombre y número de columna\n");
$result = $gsent->fetch(PDO::FETCH_BOTH);
print_r($result);
print("\n");

print("PDO::FETCH_LAZY: ");
print("Devolver la siguiente fila como un objeto anónimo con nombres de columna como propiedades\n");
$result = $gsent->fetch(PDO::FETCH_LAZY);
print_r($result);
print("\n");

print("PDO::FETCH_OBJ: ");
print("Devolver la siguiente fila como un objeto anónimo con nombres de columna como propiedades\n");
$result = $gsent->fetch(PDO::FETCH_OBJ);
print $result->NAME;
print("\n");
?>

El resultado del ejemplo sería:

PDO::FETCH_ASSOC: Devolver la siguiente fila como un array indexado por nombre de colunmna
Array
(
    [NAME] => apple
    [COLOUR] => red
)

PDO::FETCH_BOTH: Devolver la siguiente fila como un array indexado por nombre y número de columna
Array
(
    [NAME] => banana
    [0] => banana
    [COLOUR] => yellow
    [1] => yellow
)

PDO::FETCH_LAZY: Devolver la siguiente fila como un objeto anónimo con nombres de columna como propiedades
PDORow Object
(
    [NAME] => orange
    [COLOUR] => orange
)

PDO::FETCH_OBJ: Devolver la siguiente fila como un objeto anónimo con nombres de columna como propiedades
kiwi

Ejemplo #2 Obtener filas con un cursor desplazable

<?php
function leerDatosHaciaAdelante($gbd) {
  $sql = 'SELECT hand, won, bet FROM mynumbers ORDER BY BET';
  try {
    $sentencia = $gbd->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
    $sentencia->execute();
    while ($fila = $sentencia->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) {
      $datos = $fila[0] . "\t" . $fila[1] . "\t" . $fila[2] . "\n";
      print $datos;
    }
    $sentencia = null;
  }
  catch (PDOException $e) {
    print $e->getMessage();
  }
}
function leerDatosHaciaAtrás($gbd) {
  $sql = 'SELECT hand, won, bet FROM mynumbers ORDER BY bet';
  try {
    $sentencia = $gbd->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
    $sentencia->execute();
    $fila = $sentencia->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_LAST);
    do {
      $datos = $fila[0] . "\t" . $fila[1] . "\t" . $fila[2] . "\n";
      print $datos;
    } while ($fila = $sentencia->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_PRIOR));
    $sentencia = null;
  }
  catch (PDOException $e) {
    print $e->getMessage();
  }
}

print "Leyendo hacia adelante:\n";
leerDatosHaciaAdelante($conexión);

print "Leyendo hacia atrás:\n";
leerDatosHaciaAtrás($conexión);
?>

El resultado del ejemplo sería:

Reading forwards:
21    10    5
16    0     5
19    20    10

Reading backwards:
19    20    10
16    0     5
21    10    5

Ver también

  • PDO::prepare() - Prepara una sentencia para su ejecución y devuelve un objeto sentencia
  • PDOStatement::execute() - Ejecuta una sentencia preparada
  • PDOStatement::fetchAll() - Devuelve un array que contiene todas las filas del conjunto de resultados
  • PDOStatement::fetchColumn() - Devuelve una única columna de la siguiente fila de un conjunto de resultados
  • PDOStatement::fetchObject() - Obtiene la siguiente fila y la devuelve como un objeto
  • PDOStatement::setFetchMode() - Establece el modo de obtención para esta sentencia

PDOStatement::execute
PDOStatement::fetchAll
PDOStatement


Devuelve un array que contiene todas las filas del conjunto de resultados

PDOStatement::fetch
PDOStatement::fetchColumn
PDOStatement
PHP Manual

PDOStatement::fetchAll

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDOStatement::fetchAll — Devuelve un array que contiene todas las filas del conjunto de resultados

Descripción

public array PDOStatement::fetchAll ([ int $fetch_style [, mixed $fetch_argument [, array $ctor_args = array() ]]] )

Parámetros

fetch_style

Controla el contenido del array devuelto, tal como está documentado en
 PDOStatement::fetch().
El valor predeterminado es PDO::ATTR_DEFAULT_FETCH_MODE
(el cual por defecto es PDO::FETCH_BOTH).

Para devolver un array que contenga todos los valores de una única columna del conjunto de resultados, se debe especificar PDO::FETCH_COLUMN. Se puede especificar qué columna se desea obtener con el parámetro column-index.

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 PDO::FETCH_COLUMN con PDO::FETCH_UNIQUE.

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 PDO::FETCH_COLUMN con PDO::FETCH_GROUP.

fetch_argument

Este argumento tiene un significado diferente dependiendo del valor del parámetro fetch_style:

  • PDO::FETCH_COLUMN: Devuelve la columna con el índice indicado basado en 0.

  • PDO::FETCH_CLASS: Devuelve instancias de la clase especificada, haciendo corresponder las columnas de cada fila con las propiedades con nombre de la clase.

  • PDO::FETCH_FUNC: Devuelve el resultado de llamar a la función especificada, usando cada columna de fila como parámetro de la llamada.

ctor_args

Los argumentos del constructor de la case cuando el parámetro fetch_style es PDO::FETCH_CLASS.

Valores devueltos

PDOStatement::fetchAll() devuelve un array que contiene tadas 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 FALSE 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.

Ejemplos

Ejemplo #1 Obtener todas las filas restantes de un conjunto de resultados

<?php
$gsent = $gbd->prepare("SELECT name, colour FROM fruit");
$gsent->execute();

/* Obtener todas las filas restantes del conjunto de resultados */
print("Obtener todas las filas restantes del conjunto de resultados:\n");
$resultado = $gsent->fetchAll();
print_r($resultado);
?>

El resultado del ejemplo sería algo similar a:

Obtener todas las filas restantes del conjunto de resultados:
Array
(
    [0] => Array
        (
            [NAME] => pear
            [0] => pear
            [COLOUR] => green
            [1] => green
        )

    [1] => Array
        (
            [NAME] => watermelon
            [0] => watermelon
            [COLOUR] => pink
            [1] => pink
        )

)

Ejemplo #2 Obtener todos los valores de una única columna de un conjunto de resultados

El siguiente ejemplo demuestra cómo devolver todos los valores de una única columna de un conjunto de resultados, incluso si la sentencia SQL podría devolver múltiples columnas por cada fila.

<?php
$gsent = $gbd->prepare("SELECT name, colour FROM fruit");
$gsent->execute();

/* Obtener todos los valores de la primera columna */
$resultado = $gsent->fetchAll(PDO::FETCH_COLUMN, 0);
var_dump($resultado);
?>

El resultado del ejemplo sería algo similar a:

Array(3)
(
    [0] =>
    string(5) => apple
    [1] =>
    string(4) => pear
    [2] =>
    string(10) => watermelon
)

Ejemplo #3 Agrupar todos los valores según una única columna

El siguiente ejemplo demuestra cómo devolver un array asociativo agrupado según los valores de la columna especificada del conjunto de resultados. El array contiene tres claves: los valores apple y pear son devueltos como arrays que contienen dos colores diferentes, mientras que watermelon es devuelto como un array que contiene un solo color.

<?php
$insert = $gbd->prepare("INSERT INTO fruit(name, colour) VALUES (?, ?)");
$insert->execute(array('apple', 'green'));
$insert->execute(array('pear', 'yellow'));

$gsent = $gbd->prepare("SELECT name, colour FROM fruit");
$gsent->execute();

/* Agrupar valores según la primera columna */
var_dump($gsent->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP));
?>

El resultado del ejemplo sería algo similar a:

array(3) {
  ["apple"]=>
  array(2) {
    [0]=>
    string(5) "green"
    [1]=>
    string(3) "red"
  }
  ["pear"]=>
  array(2) {
    [0]=>
    string(5) "green"
    [1]=>
    string(6) "yellow"
  }
  ["watermelon"]=>
  array(1) {
    [0]=>
    string(5) "green"
  }
}

Ejemplo #4 Instanciar una clase para cada resultado

El siguiente ejemplo demuestra el comportamiento del estilo de obtención de PDO::FETCH_CLASS.

<?php
class fruit {
    public $name;
    public $colour;
}

$gsent = $gbd->prepare("SELECT name, colour FROM fruit");
$gsent->execute();

$resultado = $gsent->fetchAll(PDO::FETCH_CLASS, "fruit");
var_dump($resultado);
?>

El resultado del ejemplo sería algo similar a:

array(3) {
  [0]=>
  object(fruit)#1 (2) {
    ["name"]=>
    string(5) "apple"
    ["colour"]=>
    string(5) "green"
  }
  [1]=>
  object(fruit)#2 (2) {
    ["name"]=>
    string(4) "pear"
    ["colour"]=>
    string(6) "yellow"
  }
  [2]=>
  object(fruit)#3 (2) {
    ["name"]=>
    string(10) "watermelon"
    ["colour"]=>
    string(4) "pink"
  }
}

Ejemplo #5 Invocar a una función por cada resultado

El siguiente ejemplo demuestra el comportamiento del estilo de obtención de PDO::FETCH_FUNC.

<?php
function fruit($name, $colour) {
    return "{$name}: {$colour}";
}

$gsent = $gbd->prepare("SELECT name, colour FROM fruit");
$gsent->execute();

$resultado = $gsent->fetchAll(PDO::FETCH_FUNC, "fruit");
var_dump($resultado);
?>

El resultado del ejemplo sería algo similar a:

array(3) {
  [0]=>
  string(12) "apple: green"
  [1]=>
  string(12) "pear: yellow"
  [2]=>
  string(16) "watermelon: pink"
}

Ver también

  • PDO::query() - Ejecuta una sentencia SQL, devolviendo un conjunto de resultados como un objeto PDOStatement
  • PDOStatement::fetch() - Obtiene la siguiente fila de un conjunto de resultados
  • PDOStatement::fetchColumn() - Devuelve una única columna de la siguiente fila de un conjunto de resultados
  • PDO::prepare() - Prepara una sentencia para su ejecución y devuelve un objeto sentencia
  • PDOStatement::setFetchMode() - Establece el modo de obtención para esta sentencia

PDOStatement::fetch
PDOStatement::fetchColumn
PDOStatement


Devuelve una única columna de la siguiente fila de un conjunto de resultados

PDOStatement::fetchAll
PDOStatement::fetchObject
PDOStatement
PHP Manual

PDOStatement::fetchColumn

(PHP 5 >= 5.1.0, PECL pdo >= 0.9.0)

PDOStatement::fetchColumn — Devuelve una única columna de la siguiente fila de un conjunto de resultados

Descripción

public string PDOStatement::fetchColumn ([ int $column_number = 0 ] )

Devuelve una única columna de la siguiente fila de un conjunto de resultados, o FALSE si no existen más filas.

Parámetros

column_number

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, PDOStatement::fetchColumn() obtiene la primera columna.

Valores devueltos

PDOStatement::fetchColumn() devuelve una única columna de la siguiente fila de un conjunto de resultados.

Advertencia

No existe una forma de devolver otra columna de la misma fila si se utiliza PDOStatement::fetchColumn() para recuperar datos.

Ejemplos

Ejemplo #1 Devolver la primera columna de la siguiente fila

<?php
$gsent = $gbd->prepare("SELECT name, colour FROM fruit");
$gsent->execute();

/* Obtener la primera columna de la siguiente fila del conjunto de resultados */
print("Obtener la primera columna de la siguiente fila del conjunto de resultados:\n");
$resultado = $gsent->fetchColumn();
print("nombre = $resultado\n");

print("Obtener la segunda columna de la siguiente fila del conjunto de resultados:\n");
$resultado = $gsent->fetchColumn(1);
print("color = $resultado\n");
?>

El resultado del ejemplo sería:

Obtener la primera columna de la siguiente fila del conjunto de resultados:
nombre = lemon
Obtener la segunda columna de la siguiente fila del conjunto de resultados:
color = red

Ver también

  • PDO::query() - Ejecuta una sentencia SQL, devolviendo un conjunto de resultados como un objeto PDOStatement
  • PDOStatement::fetch() - Obtiene la siguiente fila de un conjunto de resultados
  • PDOStatement::fetchAll() - Devuelve un array que contiene todas las filas del conjunto de resultados
  • PDO::prepare() - Prepara una sentencia para su ejecución y devuelve un objeto sentencia
  • PDOStatement::setFetchMode() - Establece el modo de obtención para esta sentencia

PDOStatement::fetchAll
PDOStatement::fetchObject
PDOStatement


Obtiene la siguiente fila y la devuelve como un objeto

PDOStatement::fetchColumn
PDOStatement::getAttribute
PDOStatement
PHP Manual

PDOStatement::fetchObject

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.4)

PDOStatement::fetchObject — Obtiene la siguiente fila y la devuelve como un objeto

Descripción

public mixed PDOStatement::fetchObject ([ string $class_name = "stdClass" [, array $ctor_args ]] )

Obtiene la siguiente fila y la devuelve como un objeto. Esta función es una
alternativa para  PDOStatement::fetch() con el estilo
PDO::FETCH_CLASS o
PDO::FETCH_OBJ.

Parámetros

class_name

El nombre de la clase creada.

ctor_args

Los elementos de este array son pasados al constructor.

Valores devueltos

Devuelve una instancia de la clase requerida con los nombres de sus propiedades que se corresponden a los nombre de las columnas, o FALSE en caso de error.

Ver también

  • PDOStatement::fetch() - Obtiene la siguiente fila de un conjunto de resultados

PDOStatement::fetchColumn
PDOStatement::getAttribute
PDOStatement


Recupera un atributo de sentencia

PDOStatement::fetchObject
PDOStatement::getColumnMeta
PDOStatement
PHP Manual

PDOStatement::getAttribute

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)

PDOStatement::getAttribute — Recupera un atributo de sentencia

Descripción

public mixed PDOStatement::getAttribute ( int $attribute )

Obtiene un atributo de una sentencia. Actualemente, no existen atributos genéricos, sino solamente específicos del controlador:

  • PDO::ATTR_CURSOR_NAME (específico de Firebird y ODBC): Obtiene el nombre del cursor para UPDATE ... WHERE CURRENT OF.

Valores devueltos

Devuelve el valor del atributo.

Ver también

  • PDO::getAttribute() - Devuelve un atributo de la conexión a la base de datos
  • PDO::setAttribute() - Establece un atributo
  • PDOStatement::setAttribute() - Establece un atributo de sentencia

PDOStatement::fetchObject
PDOStatement::getColumnMeta
PDOStatement


Devuelve metadatos de una columna de un conjunto de resultados

PDOStatement::getAttribute
PDOStatement::nextRowset
PDOStatement
PHP Manual

PDOStatement::getColumnMeta

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)

PDOStatement::getColumnMeta — Devuelve metadatos de una columna de un conjunto de resultados

Descripción

public array PDOStatement::getColumnMeta ( int $column )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Devuelve los metadatos de una columna de índice basado 0 de un conjunto de resultados como un array asociativo.

Advertencia

No todos los controlades de PDO admiten PDOStatement::getColumnMeta().

Parámetros

column

La columna de índice basado en 0 del conjunto de resultados.

Valores devueltos

Devuelve un array asociativo que contiene los siguientes valores que representan los metadatos de una única columna:

Metadatos de la columna
Nombre | Valor
native_type | El tipo nativo de PHP usado para representar el valor de la columna.
driver:decl_type | El tipo de SQL usado para representar el valor de la columna de la base de datos. Si la columna del conjunto de resultado es el resultado de una función, este valor no es devuelto por PDOStatement::getColumnMeta().
flags | Cualquier bandera establecida para esta columna.
name | El nombre de esta columna tal como es devuelto por la base de datos.
table | El nombre de la tabla de esta columna tal como es devuelto por la base de datos.
len | La longitud de esta columna. Normalmente es -1 para tipos distintos de decimales de punto flotante.
precision | La precisión numérica de esta columna. Normalmente es 0 para tipos distintos de decimales de punto flotante.
pdo_type | El tipo de esta columna tal como está representado por las constantes PDO::PARAM_*.

Devuelve FALSE si la columna solicitada no exite en el conjunto de resultados, o si no existe dicho conjunto.

Historial de cambios

Versión | Descripción
5.2.3 | El campo table

Ejemplos

Ejemplo #1 Recuperar metadatos de una columna

El siguiente ejemplo muestra el resultado de recuperar los metadatos para una única columna generada por una función (COUNT) en un controlador PDO_SQLITE.

<?php
$select = $DB->query('SELECT COUNT(*) FROM fruit');
$meta = $select->getColumnMeta(0);
var_dump($meta);
?>

El resultado del ejemplo sería:

array(6) {
  ["native_type"]=>
  string(7) "integer"
  ["flags"]=>
  array(0) {
  }
  ["name"]=>
  string(8) "COUNT(*)"
  ["len"]=>
  int(-1)
  ["precision"]=>
  int(0)
  ["pdo_type"]=>
  int(2)
}

Ver también

  • PDOStatement::columnCount() - Devuelve el número de columnas de un conjunto de resultados
  • PDOStatement::rowCount() - Devuelve el número de filas afectadas por la última sentencia SQL

PDOStatement::getAttribute
PDOStatement::nextRowset
PDOStatement


Avanza hasta el siguiente conjunto de filas de un gestor de sentencia multiconjunto de filas

PDOStatement::getColumnMeta
PDOStatement::rowCount
PDOStatement
PHP Manual

PDOStatement::nextRowset

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)

PDOStatement::nextRowset — Avanza hasta el siguiente conjunto de filas de un gestor de sentencia multiconjunto de filas

Descripción

public bool PDOStatement::nextRowset ( void )

Algunas bases de datos admiten procedimientos almacenados que devuelve más de un conjunto de filas (también conocido como conjunto de resultados). Con PDOStatement::nextRowset() 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.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Obtener múltiples conjuntos de filas devueltas por un procedimiento almacenado

El siguiente ejemplo muestra cómo llamar a un procedimiento almacenado, MULTIPLE_ROWSETS, que devuelve tres conjuntos de filas. Se usa un bucle do / while para iterar sobre el método PDOStatement::nextRowset(), el cual devuelve false y finaliza el bucle cuando no se pueden devolver más conjuntos de filas.

<?php
$sql = 'CALL multiple_rowsets()';
$sentencia = $conexión->query($sql);
$i = 1;
do {
    $conjunto_filas = $sentencia->fetchAll(PDO::FETCH_NUM);
    if ($conjunto_filas) {
        printResultSet($conjunto_filas, $i);
    }
    $i++;
} while ($sentencia->nextRowset());

function printResultSet(&$conjunto_filas, $i) {
    print "Conjunto de resultados $i:\n";
    foreach ($conjunto_filas as $fila) {
        foreach ($fila as $columna) {
            print $columna . "\t";
        }
        print "\n";
    }
    print "\n";
}
?>

El resultado del ejemplo sería:

Conjunto de resultados 1:
apple    red
banana   yellow

Conjunto de resultados 2:
orange   orange    150
banana   yellow    175

Conjunto de resultados 3:
lime     green
apple    red
banana   yellow

Ver también

  • PDOStatement::columnCount() - Devuelve el número de columnas de un conjunto de resultados
  • PDOStatement::execute() - Ejecuta una sentencia preparada
  • PDOStatement::getColumnMeta() - Devuelve metadatos de una columna de un conjunto de resultados
  • PDO::query() - Ejecuta una sentencia SQL, devolviendo un conjunto de resultados como un objeto PDOStatement

PDOStatement::getColumnMeta
PDOStatement::rowCount
PDOStatement


Devuelve el número de filas afectadas por la última sentencia SQL

PDOStatement::nextRowset
PDOStatement::setAttribute
PDOStatement
PHP Manual

PDOStatement::rowCount

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDOStatement::rowCount — Devuelve el número de filas afectadas por la última sentencia SQL

Descripción

public int PDOStatement::rowCount ( void )

PDOStatement::rowCount() devuelve el número de filas afectadas por la última sentencia DELETE, INSERT, o UPDATE ejecutada por el correspondiente objeto PDOStatement.

Si la última sentencia SQL ejecutada por el objeto PDOStatement 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.

Valores devueltos

Devuelve el número de filas.

Ejemplos

Ejemplo #1 Devolver el número de filas eliminadas

PDOStatement::rowCount() devuelve el número de filas afectadas por una sentencia DELETE, INSERT, o UPDATE.

<?php
/* Borrar todas las filas de la tabla FRUIT */
$del = $gbd->prepare('DELETE FROM fruit');
$del->execute();

/* Devolver el número de filas que fueron eliminadas */
print("Devolver el número de filas que fueron eliminadas:\n");
$cuenta = $del->rowCount();
print("Eliminadas $cuenta filas.\n");
?>

El resultado del ejemplo sería:

Devolver el número de filas que fueron eliminadas:
Eliminadas 9 filas.

Ejemplo #2 Contar las filas devueltas por una sentencia SELECT

Para muchas bases de datos, PDOStatement::rowCount() no devuelve el número de filas afectadas por una sentencia SELECT. En su lugar, use PDO::query() para ejecutar una sentencia SELECT COUNT(*) con las mismas declaraciones que la sentencia SELECT pretendida, luego use PDOStatement::fetchColumn() para recuperar el número de filas que serán devueltas. La aplicación podrá entonces realizar la acción correcta.

<?php
$sql = "SELECT COUNT(*) FROM fruit WHERE calories > 100";
if ($resultado = $conexión->query($sql)) {

    /* Comprobar el número de filas que coinciden con la sentencia SELECT */
  if ($resultado->fetchColumn() > 0) {

        /* Ejecutar la sentencia SELECT real y trabajar con los resultados */
         $sql = "SELECT name FROM fruit WHERE calories > 100";
       foreach ($conexión->query($sql) as $fila) {
           print "Nombre: " .  $fila['NAME'] . "\n";
         }
    }
    /* No coincide ningua fila -- hacer algo en consecuencia */
  else {
      print "Ninguna fila coincide con la consulta.";
    }
}

$resultado = null;
$conexión = null;
?>

El resultado del ejemplo sería:

apple
banana
orange
pear

Ver también

  • PDOStatement::columnCount() - Devuelve el número de columnas de un conjunto de resultados
  • PDOStatement::fetchColumn() - Devuelve una única columna de la siguiente fila de un conjunto de resultados
  • PDO::query() - Ejecuta una sentencia SQL, devolviendo un conjunto de resultados como un objeto PDOStatement

PDOStatement::nextRowset
PDOStatement::setAttribute
PDOStatement


Establece un atributo de sentencia

PDOStatement::rowCount
PDOStatement::setFetchMode
PDOStatement
PHP Manual

PDOStatement::setAttribute

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)

PDOStatement::setAttribute — Establece un atributo de sentencia

Descripción

public bool PDOStatement::setAttribute ( int $attribute , mixed $value )

Establece un atributo de una sentencia. Actualmente, no se establecen atributos genéricos, sino solamente específicos del controlador:

  • PDO::ATTR_CURSOR_NAME (específico de Firebird y ODBC): Establece el nombre del cursor para UPDATE ... WHERE CURRENT OF.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • PDO::getAttribute() - Devuelve un atributo de la conexión a la base de datos
  • PDO::setAttribute() - Establece un atributo
  • PDOStatement::getAttribute() - Recupera un atributo de sentencia

PDOStatement::rowCount
PDOStatement::setFetchMode
PDOStatement


Establece el modo de obtención para esta sentencia

PDOStatement::setAttribute
PDOException
PDOStatement
PHP Manual

PDOStatement::setFetchMode

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)

PDOStatement::setFetchMode — Establece el modo de obtención para esta sentencia

Descripción

public bool PDOStatement::setFetchMode ( int $mode )
public bool PDOStatement::setFetchMode ( int $PDO::FETCH_COLUMN , int $colno )
public bool PDOStatement::setFetchMode ( int $PDO::FETCH_CLASS , string $classname , array $ctorargs )
public bool PDOStatement::setFetchMode ( int $PDO::FETCH_INTO , object $object )

Parámetros

mode

El modo de obtención debe ser una de las constantes PDO::FETCH_*.

colno

El número de la columna.

classname

El nombre de la clase.

ctorargs

Los argumentos del constructor.

object

El objeto.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Establece el modo de obtención

El siguiente ejemplo demuestra cómo PDOStatement::setFetchMode() cambia el modo de obtención predeterminado para un objeto PDOStatement.

<?php
$sql = 'SELECT name, colour, calories FROM fruit';
try {
  $sentencia = $gbd->query($sql);
  $resultado = $sentencia->setFetchMode(PDO::FETCH_NUM);
  while ($fila = $sentencia->fetch()) {
    print $fila[0] . "\t" . $fila[1] . "\t" . $fila[2] . "\n";
  }
}
catch (PDOException $e) {
  print $e->getMessage();
}
?>

El resultado del ejemplo sería:

apple   red     150
banana  yellow  250
orange  orange  300
kiwi    brown   75
lemon   yellow  25
pear    green   150
watermelon      pink    90

PDOStatement::setAttribute
PDOException
PDOStatement


La clase PDOException

(PHP 5 >= 5.1.0)

Introducción

Representa un error generado por PDO. No se debería lanzar una PDOException desde el código. Véase Excepciones para más información acerca de las excepciones en PHP.

Sinopsis de la Clase

PDOException extends RuntimeException {
/* Propiedades */
public array $errorInfo ;
protected string $code ;
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Propiedades

errorInfo

Corresponde a PDO::errorInfo() o PDOStatement::errorInfo()

code

Código de error de SQLSTATE. Utilice Exception::getCode() para acceder a él.

PDOStatement::setFetchMode
Controladores de PDO
PDO


Controladores de PDO

Tabla de contenidos

  • CUBRID (PDO)
  • MS SQL Server (PDO)
  • Firebird (PDO)
  • IBM (PDO)
  • Informix (PDO)
  • MySQL (PDO)
  • MS SQL Server (PDO)
  • Oracle (PDO)
  • ODBC y DB2 (PDO)
  • PostgreSQL (PDO)
  • SQLite (PDO)
  • 4D (PDO)

Los siguientes controladores implementan actualmente la interfaz PDO:

Nombre del controlador | Bases de datos admitidas
PDO_CUBRID | Cubrid
PDO_DBLIB | FreeTDS / Microsoft SQL Server / Sybase
PDO_FIREBIRD | Firebird
PDO_IBM | IBM DB2
PDO_INFORMIX | IBM Informix Dynamic Server
PDO_MYSQL | MySQL 3.x/4.x/5.x
PDO_OCI | Oracle Call Interface
PDO_ODBC | ODBC v3 (IBM DB2, unixODBC and win32 ODBC)
PDO_PGSQL | PostgreSQL
PDO_SQLITE | SQLite 3 and SQLite 2
PDO_SQLSRV | Microsoft SQL Server / SQL Azure
PDO_4D | 4D

PDOException
CUBRID (PDO)
PDO


Funciones de CUBRID (PDO_CUBRID)

Introducción

PDO_CUBRID es un controlador que implementa la interfaz de Objetos de Datos de PHP (PDO) para habilitar el acceso desde PHP a bases de datos de CUBRID.

Nota:

Por ahora, la versión actual de PDO_CUBRID no admite conexiones persistentes.

Instalación

Para construir la extensión PDO_CUBRID, CUBRID DBMS debe estar instalado en el mismo sistema donde se ejecute PHP. PDO_CUBRID es una extensión » PECL, por lo que se han de seguir las instrucciones dadas en Instalación de extensiones PECL para instalar la extensión PDO_CUBRID. Ejecute el comando configure para indicar la ubicación del directorio base de CUBRID de la siguiente manera:

   $ ./configure --with-pdo-cubrid=/path/to/CUBRID[,shared]
El valor predeterminado del comando configure es el de la variable de entorno de CUBRID.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows . Para información detallada sobre la instalación manual en Linux y Windows, por favor lea build-guide.html en el paquete PECL CUBRID para obtener referencias.

Características

Características de PDO_CUBRID
Característica | Descripción
Cursores desplazables | PDO_CUBRID admite cursores desplazables. El tipo de cursor predeterminado es de sólo avance, y se puede usar el parámetro driver_options de PDO::prepare() para cambiar el tipo de cursor.
Tiempo de espera | PDO_CUBRID admite la configuracion del tiempo de espera de las ejecuciones de sentencias SQL; Se puede utilizar PDO::setAttribute() para establecer el valor del tiempo de espera.
Autocommit_mode y transacciones PDO_CUBRID admite autocommit_mode y transacciones, y autocommit_mode está habilitado por omisión. Se puede usar PDO::setAttribute() para cambiar su estado.

Si se usa PDO::beginTransaction() para iniciar una transacción, se desactivará autocommit_mode automaticamente y PDO::rollBack(). Obsérvese que antes de deshabilitar autocommit_mode, cualquier trabajo pendiente es consignado automáticamente.

Sentencias SQL múltiples | PDO_CUBRID admite sentencias SQL múltiples. Las sentencias SQL múltiples están serparadas por puntos y comas (;)
Información del esquema | PDO_CUBRID implementa la función PDO::cubrid_schema() para obtener la información del esquema.
LOBs PDO_CUBRID admite los tipos de datos BLOB/CLOB. El tipo LOB en PDO es representado como un flujo, por lo que pueden insertarse LOBs vinculando un flujo, y obtener LOBs leyendo de un flujo devuelto por CUBRID PDO. Por ejemplo:

Ejemplo #1 Insertar LOBs en CUBRID PDO

<?php
$fp = fopen('lob_test.png', 'rb');

$sent_sql = "INSERT INTO lob_test(name, content) VALUES('lob_test.png', ?)";

$sentencia = $dbh->prepare($sent_sql);
$ret = $sentencia->bindParam(1, $fp, PDO::PARAM_LOB);
$ret = $sentencia->execute();
?>

Ejemplo #2 Obtener LOBs en CUBRID PDO

<?php
$sent_sql = "SELECT content FROM lob_test WHERE name='lob_test.png'";

$sentencia = $dbh->prepare($sent_sql);
$sentencia->execute();
$resultado = $sentencia->fetch(PDO::FETCH_NUM);

header("Content-Type: image/png");
fpassthru($resultado[0]);
?>

Metadatos de columna La función PDOStatement::getColumnMeta() de CUBRID PDO devolverá un array asociativo que contiene los siguientes valores:
  • type
  • name
  • table
  • def
  • precision
  • scale
  • not_null
  • auto_increment
  • unique_key
  • multiple_key
  • primary_key
  • foreign_key
  • reverse_index
  • reverse_unique
Tipos de datos de colecciones PDO_CUBRID admite los tipos de datos SET/MULTISET/SEQUENCE. Si no se especifica el tipo de datos, el predeterminado es char, por ejemplo:

Ejemplo #3 Insertar un conjunto en CUBRID PDO con el tipo de datos predeterminado.

<?php
$conn_str ="cubrid:dbname=demodb;host=localhost;port=33000";
$cubrid_pdo = new PDO($conn_str, 'dba', '');

$cubrid_pdo->exec("DROP TABLE if exists test_tbl");
$cubrid_pdo->exec("CREATE TABLE test_tbl (col_1 SET(VARCHAR))");

$sql_stmt_insert = "INSERT INTO test_tbl VALUES (?);";
$stmt = $cubrid_pdo->prepare($sql_stmt_insert);
$data = array("abc","def","ghi");
$ret = $stmt->bindParam(1, $data, PDO::PARAM_NULL);
$ret = $stmt->execute();
var_Dump($ret);
?>

Ejemplo #4 Especificar un tipo de datos al insertar un conjunto en CUBRID PDO

<?php
$conn_str ="cubrid:dbname=demodb;host=localhost;port=33000";
$cubrid_pdo = new PDO($conn_str, 'dba', '');

$cubrid_pdo->exec("DROP TABLE if exists test_tbl");
$cubrid_pdo->exec("CREATE TABLE test_tbl (col_1 SET(int))");

$sql_stmt_insert = "INSERT INTO test_tbl VALUES (?);";
$stmt = $cubrid_pdo->prepare($sql_stmt_insert);
$data = array(1,2,3,4);
$ret = $stmt->bindParam(1, $data, 0,0,"int");
$ret = $stmt->execute();
var_Dump($ret);
?>

Tipos de datos de vinculación de CUBRID:(El quinto parámetro de PDOStatement::bindParam):
  • CHAR
  • STRING
  • NCHAR
  • VARNCHAR
  • BIT
  • VARBIT
  • NUMERIC
  • NUMBER
  • INT
  • SHORT
  • BIGINT
  • MONETARY
  • FLOAT
  • DOUBLE
  • DATE
  • TIME
  • DATETIME
  • TIMESTAMP

Constantes predefinidas

Estas constantes están definidas por este controlador, y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución. Además, estas constantes específicas del controlador deberían ser utilizadas sólo si está usando este controlador. Usar atributos específicos del controlador con otro controlador podría resultar en un comportamiento inesperado. PDO::getAttribute() puede ser empleado para obtener el atributo PDO_ATTR_DRIVER_NAME para verificar el controlador, si el código puede ejecutarse con múltiples controladores.

Las siguientes constantes se puden usar al establecer el atributo de la base de datos. Se puede pasar a PDO::getAttribute() o a PDO::setAttribute().

Banderas de atributo de PDO::CUBRID
Constante | Descripción
PDO::CUBRID_ATTR_ISOLATION_LEVEL | Nivel de aislamiento de las transacciones para la conexión de la base de datos.
PDO::CUBRID_ATTR_LOCK_TIMEOUT | Tiempo de espera de las transacciones en segundos.
PDO::CUBRID_ATTR_MAX_STRING_LENGTH | Sólo lectura. La longitud máxima de cadena para los diversos tipos de datos bit, varbit, char, varchar, nchar, nchar al utilizar la API de CUBRID PDO.

Las siguientes constantes se puden usar al estableder el nivel de aislamiento de las transacciones. Se pueden pasar a PDO::getAttribute() o ser devueltas por PDO::setAttribute().

Banderas de nivel de aislamiento de PDO::CUBRID
Constante | Descripción
PDO::TRAN_COMMIT_CLASS_UNCOMMIT_INSTANCE | El nivel de aislamiento más bajo (1). Podría ocurrir una lectura sucia, no repetible o fantasma para la tupla, y puede ocurrir también una lectura no repetible para la tabla.
PDO::TRAN_COMMIT_CLASS_COMMIT_INSTANCE | Un nivel relativamente bajo de aislamiento (2). No ocurre una lectura sucia, pero podría ocurrir una lectura no repetible o fantasma.
PDO::TRAN_REP_CLASS_UNCOMMIT_INSTANCE | El nivel predeterminado de aislamiento de CUBRID (3). Podría ocurrir una lectura sucia, no repetible o fantasma para la tupla, pero se garantiza una lectura repetible para la tabla.
PDO::TRAN_REP_CLASS_COMMIT_INSTANCE | Un nivel relativamente bajo de aislamiento (4). No ocurre una lectura sucia, pero sí podría ocurrir una lectura no repetible o fantasma.
PDO::TRAN_REP_CLASS_REP_INSTANCE | Un nivel de aislamiento relativamente alto (5). No ocurre una lectura sucia o no repetible, pero sí podría ocurrir una lectura fantasma.
PDO::TRAN_SERIALIZABLE | El nivel de aislamiento más alto (6). No ocurren los problemas concernientes a la concurrencia (p.ej. lectura sucia, no repetible, fantasma, etc.).

Las siguientes constantes se pueden usar al obtener la información del esquema. Se pueden pasar a PDO::cubrid_schema().

Banderas de esquema de PDO::CUBRID
Constante | Descripción
PDO::CUBRID_SCH_TABLE | Obtener el nombre y el tipo de tabla de CUBRID.
PDO::CUBRID_SCH_VIEW | Obtener el nombre y el tipo de vista de CUBRID.
PDO::CUBRID_SCH_QUERY_SPEC | Obtener la definición de la consulta de la vista.
PDO::CUBRID_SCH_ATTRIBUTE | Obtener los atributos de la columnas de la tabla.
PDO::CUBRID_SCH_TABLE_ATTRIBUTE | Obtener los atributos de la tabla.
PDO::CUBRID_SCH_METHOD | Obtener el método de instancia. El método de instancia es un método invocado por una instancia de clase. Se usa más a menudo que el método de la clase, ya que se ejecutan más operaciones en la instancia.
PDO::CUBRID_SCH_TABLE_METHOD | Obtener el método de la clase. El método de la clase es un método invocado por un objeto de clase. Se usa normalmente para crear una nueva instancia de clase o para inicializarla. También se usa para acceder o actualizar los atributos de la clase.
PDO::CUBRID_SCH_METHOD_FILE | Obtener la información del fichero donde el método de la tabla está definido.
PDO::CUBRID_SCH_SUPER_TABLE | Obtener el nombre y el tipo de la tabla desde la que se heredan atributos.
PDO::CUBRID_SCH_SUB_TABLE | Obtener el nombre y el tipo de la tabla que hereda los atributos desde esta tabla.
PDO::CUBRID_SCH_CONSTRAINT | Obtener las restricciones de la tabla.
PDO::CUBRID_SCH_TRIGGER | Obtener los disparadores de la tabla.
PDO::CUBRID_SCH_TABLE_PRIVILEGE | Obtener la información de privilegios de la tabla.
PDO::CUBRID_SCH_COL_PRIVILEGE | Obtener la información de los privilegios de la columna.
PDO::CUBRID_SCH_DIRECT_SUPER_TABLE | Obtener la super tabla directa de la tabla.
PDO::CUBRID_SCH_PRIMARY_KEY | Obtener la clave primaria de la tabla.
PDO::CUBRID_SCH_IMPORTED_KEYS | Obtener las claves importadas de la tabla.
PDO::CUBRID_SCH_EXPORTED_KEYS | Obtener las claves exportadas de la tabla.
PDO::CUBRID_SCH_CROSS_REFERENCE | Obtener la relación de referencia de las tablas a remolque.

Tabla de contenidos

  • DSN de PDO_CUBRID — Conectar con bases de datos de CUBRID
  • PDO::cubrid_schema — Obtiene la información del esquema solicitada
Controladores de PDO
DSN de PDO_CUBRID
Controladores de PDO


Conectar con bases de datos de CUBRID

CUBRID (PDO)
PDO::cubrid_schema
CUBRID (PDO)
PHP Manual

DSN de PDO_CUBRID

(No hay información de versión disponible, podría estar únicamente en SVN)

DSN de PDO_CUBRID — Conectar con bases de datos de CUBRID

Descripción

El Nombre del Origen de Datos (DSN) de PDO_CUBRID está compuesto por los siguientes elementos, delimitados por punto y coma:

Prefijo DSN

El prefijo DSN es cubrid:.

host

El nombre del host en el que reside el servidor de bases dedatos.

port

El puerto en el que se está ejecutando el servidor de bases de datos.

dbname

El nombre de la base de datos.

Notas

Nota:

Cuando se establezca la conexión a CUBRID, se debería proporcionar el nombre de usario y la contraseña excepto el DSN.

Ejemplos

Ejemplo #1 Ejemplos de DSN de PDO_CUBRID

El siguiente ejemplo muestra un DSN de PDO_CUBRID para conectarse a una base de datos de CUBRID:

cubrid:host=localhost;port=33000;dbname=demodb

CUBRID (PDO)
PDO::cubrid_schema
CUBRID (PDO)


Obtiene la información del esquema solicitada

DSN de PDO_CUBRID
MS SQL Server (PDO)
CUBRID (PDO)
PHP Manual

PDO::cubrid_schema

(No hay información de versión disponible, podría estar únicamente en SVN)

PDO::cubrid_schema — Obtiene la información del esquema solicitada

Descripción

public array PDO::cubrid_schema ( int $schema_type [, string $table_name [, string $col_name ]] )

Esta función se usa para obtener la información del esquema solicitada de una base de datos. Se ha de designar table_name, si se quiere obtener información sobre una cierta tabla, col_name, 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 tipo
Esquema | Número de columna | Nombre de columna | Valor
PDO::CUBRID_SCH_TABLE | 1 | NAME |
 | 2 | TYPE | 0:system table 1:view 2:table
PDO::CUBRID_SCH_VIEW | 1 | NAME |
 | 2 | TYPE | 1:view
PDO::CUBRID_SCH_QUERY_SPEC | 1 | QUERY_SPEC |
PDO::CUBRID_SCH_ATTRIBUTE / PDO::CUBRID_SCH_TABLE_ATTRIBUTE | 1 | ATTR_NAME |
 | 2 | DOMAIN |
 | 3 | SCALE |
 | 4 | PRECISION |
 | 5 | INDEXED | 1:indexed
 | 6 | NOT NULL | 1:not null
 | 7 | SHARED | 1:shared
 | 8 | UNIQUE | 1:unique
 | 9 | DEFAULT |
 | 10 | ATTR_ORDER | base:1
 | 11 | CLASS_NAME |
 | 12 | SOURCE_CLASS |
 | 13 | IS_KEY | 1:key
PDO::CUBRID_SCH_METHOD / PDO::CUBRID_SCH_TABLE_METHOD | 1 | NAME |
 | 2 | RET_DOMAIN |
 | 3 | ARG_DOMAIN |
PDO::CUBRID_SCH_METHOD_FILE | 1 | METHOD_FILE |
PDO::CUBRID_SCH_SUPER_TABLE / PDO::CUBRID_SCH_DIRECT_SUPER_TABLE / PDO::CUBRID_SCH_SUB_TABLE | 1 | CLASS_NAME |
 | 2 | TYPE | 0:system table 1:view 2:table
PDO::CUBRID_SCH_CONSTRAINT | 1 | TYPE | 0:unique 1:index 2:reverse unique 3:reverse index
 | 2 | NAME |
 | 3 | ATTR_NAME |
 | 4 | NUM_PAGES |
 | 5 | NUM_KEYS |
 | 6 | PRIMARY_KEY | 1:primary key
 | 7 | KEY_ORDER | base:1
PDO::CUBRID_SCH_TRIGGER | 1 | NAME |
 | 2 | STATUS |
 | 3 | EVENT |
 | 4 | TARGET_CLASS |
 | 5 | TARGET_ATTR |
 | 6 | ACTION_TIME |
 | 7 | ACTION |
 | 8 | PRIORITY |
 | 9 | CONDITION_TIME |
 | 10 | CONDITION |
PDO::CUBRID_SCH_TABLE_PRIVILEGE / PDO::CUBRID_SCH_COL_PRIVILEGE | 1 | CLASS_NAME / ATTR_NAME |
 | 2 | PRIVILEGE |
 | 3 | GRANTABLE |
PDO::CUBRID_SCH_PRIMARY_KEY | 1 | CLASS_NAME |
 | 2 | ATTR_NAME |
 | 3 | KEY_SEQ | base:1
 | 4 | KEY_NAME |
PDO::CUBRID_SCH_IMPORTED_KEYS / PDO::CUBRID_SCH_EXPORTED_KEYS / PDO::CUBRID_SCH_CROSS_REFERENCE | 1 | PKTABLE_NAME |
 | 2 | PKCOLUMN_NAME |
 | 3 | FKTABLE_NAME | base:1
 | 4 | FKCOLUMN_NAME |
 | 5 | KEY_SEQ | base:1
 | 6 | UPDATE_ACTION | 0:cascade 1:restrict 2:no action 3:set null
 | 7 | DELETE_ACTION | 0:cascade 1:restrict 2:no action 3:set null
 | 8 | FK_NAME |
 | 9 | PK_NAME |

Parámetros

schema_type

El tipo de esquema del que se quiere saber.

table_name

La tabla de la que se quiere conocer el esquema.

col_name

La columna de la que se quiere conocer el esquema.

Valores devueltos

Un array que contiene la información del esquema, cuando el proceso tiene éxito;

FALSE, cuando el proceso no tiene éxito

Ejemplos

Ejemplo #1 Un ejemplo de PDO::cubrid_schema()

Este ejemplo muestra cómo obtener la clave primaria y las claves foráneas de la tabla "game".

<?php
$lista_pk = $gbd->cubrid_schema(PDO::CUBRID_SCH_PRIMARY_KEY, "game");
print_r($lista_pk);

$lista_fk = $gbd->cubrid_schema(PDO::CUBRID_SCH_IMPORTED_KEYS, "game");
print_r($lista_fk);
?>

El resultado del ejemplo sería:

Result:
Array
(
    [0] => Array
        (
            [CLASS_NAME] => game
            [ATTR_NAME] => athlete_code
            [KEY_SEQ] => 3
            [KEY_NAME] => pk_game_host_year_event_code_athlete_code
        )

    [1] => Array
        (
            [CLASS_NAME] => game
            [ATTR_NAME] => event_code
            [KEY_SEQ] => 2
            [KEY_NAME] => pk_game_host_year_event_code_athlete_code
        )

    [2] => Array
        (
            [CLASS_NAME] => game
            [ATTR_NAME] => host_year
            [KEY_SEQ] => 1
            [KEY_NAME] => pk_game_host_year_event_code_athlete_code
        )

)
Array
(
    [0] => Array
        (
            [PKTABLE_NAME] => athlete
            [PKCOLUMN_NAME] => code
            [FKTABLE_NAME] => game
            [FKCOLUMN_NAME] => athlete_code
            [KEY_SEQ] => 1
            [UPDATE_RULE] => 1
            [DELETE_RULE] => 1
            [FK_NAME] => fk_game_athlete_code
            [PK_NAME] => pk_athlete_code
        )

    [1] => Array
        (
            [PKTABLE_NAME] => event
            [PKCOLUMN_NAME] => code
            [FKTABLE_NAME] => game
            [FKCOLUMN_NAME] => event_code
            [KEY_SEQ] => 1
            [UPDATE_RULE] => 1
            [DELETE_RULE] => 1
            [FK_NAME] => fk_game_event_code
            [PK_NAME] => pk_event_code
        )

)

DSN de PDO_CUBRID
MS SQL Server (PDO)
CUBRID (PDO)


Funciones de Microsoft SQL Server y Sybase (PDO_DBLIB)

Introducción

Advertencia

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombres de sus funciones y todo lo documentado sobre esta extensión, puede cambiar en una futura edición de PHP sin previo aviso. El uso de esta extensión queda bajo su propia responsabilidad.

PDO_DBLIB es un controlador que implementa la interfaz de objetos de datos de PHP (PDO) para habilitar el acceso desde PHP a bases de datos de Microsoft SQL Server y Sybase a través de la biblioteca FreeTDS.

Esta ya extensión no está disponible para Windows con PHP 5.3 o posterior.

En Windows, se debería de usar SqlSrv, un controlador alternativo para MS SQL que está disponible desde Microsoft: » http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx .

Si no fuera posible usar SqlSrv, se puede utilizar el controlador PDO_ODBC para conectarse a bases de datos de Microsoft SQL Server y Sybase, ya que la biblioteca Windows DB-LIB nativa está anticuado, no es seguro con subprocesos y Microsoft ya no le proporciona soporte.

Tabla de contenidos

  • PDO_DBLIB DSN — Conectarse a bases de datos de Microsoft SQL Server y Sybase
PDO::cubrid_schema
PDO_DBLIB DSN
Controladores de PDO


Conectarse a bases de datos de Microsoft SQL Server y Sybase

MS SQL Server (PDO)
Firebird (PDO)
MS SQL Server (PDO)
PHP Manual

PDO_DBLIB DSN

(PECL PDO_DBLIB >= 0.9.0)

PDO_DBLIB DSN — Conectarse a bases de datos de Microsoft SQL Server y Sybase

Descripción

El Nombre del origen de datos (DSN) de PDO_DBLIB está compuesto por los siguientes elementos:

DSN prefix

El prefijo DSN prefix is sybase: si PDO_DBLIB fue vinculado con la bibliotecas ct-lib de Sybase, mssql: si PDO_DBLIB fue vinculado con las bibliotecas de Microsoft SQL Server, or dblib: si PDO_DBLIB fue vinculado con las bibliotecas de FreeTDS.

host

El nombre del host en el cual la reside el servidor de bases de datos. El predeterminado es 127.0.0.1.

dbname

El nombre de la base de datos.

charset

El conjunto de caracters del cliente.

appname

El nombre de la aplicación (usado en sysprocesses). El valor predeterminado es "PHP Generic DB-lib" o "PHP freetds".

secure

Actualmente no se utiliza.

Ejemplos

Ejemplo #1 PDO_DBLIB DSN examples

El siguiente ejemeplo muestra una DSN de PDO_DBLIB para conectarse a bases de datos de Microsoft SQL Server y Sybase:

mssql:host=localhost;dbname=testdb
sybase:host=localhost;dbname=testdb
dblib:host=localhost;dbname=testdb

MS SQL Server (PDO)
Firebird (PDO)
MS SQL Server (PDO)


Funciones de Firebird (PDO_FIREBIRD)

Introducción

PDO_FIREBIRD es un controlador que imlementa la interfaz de Objetos de datos de PHP (PDO) para habilitar el acceso desde PHP a bases de datos de Firebird.

Instalación

Use --with-pdo-firebird[=DIR] para instalar la extensión PDO Firebird, donde [=DIR] es el directorio base de intalación de Firebird.

$ ./configure --with-pdo-firebird

Constantes predefinidas

Estas constantes están definidas por este controlador, y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución. Además, estas constantes específicas del controlador deberían ser utilizadas sólo si está usando este controlador. Usar atributos específicos del controlador con otro controlador podría resultar en un comportamiento inesperado. PDO::getAttribute() puede ser empleado para obtener el atributo PDO_ATTR_DRIVER_NAME para verificar el controlador, si el código puede ejecutarse con múltiples controladores.

PDO::FB_ATTR_DATE_FORMAT (integer)

Establece el formato de fecha.

Disponible desde PHP 5.3.0.

PDO::FB_ATTR_TIME_FORMAT (integer)

Establece el formato de hora.

Disponible desde PHP 5.3.0.

PDO::FB_ATTR_TIMESTAMP_FORMAT (integer)

Establece el formato de marca de tiempo.

Disponible desde PHP 5.3.0.

Tabla de contenidos

  • PDO_FIREBIRD DSN — Conectarse a bases de datos de Firebird
PDO_DBLIB DSN
PDO_FIREBIRD DSN
Controladores de PDO


Conectarse a bases de datos de Firebird

Firebird (PDO)
IBM (PDO)
Firebird (PDO)
PHP Manual

PDO_FIREBIRD DSN

(PECL PDO_FIREBIRD >= 0.1.0)

PDO_FIREBIRD DSN — Conectarse a bases de datos de Firebird

Descripción

El Nombre del Origen de Datos (DSN) de PDO_FIREBIRD está compuesto por los siguientes elementos:

DSN prefix

El prefijo DSN es firebird:.

dbname

El nombre de la base de datos.

charset

El juego de caracteres.

role

El nombre del rol de SQL.

Ejemplos

Ejemplo #1 Ejemplo de DSN de PDO_FIREBIRD DSN con ruta

El siguiente ejemplo muestra un DSN de PDO_FIREBIRD DSN para conectarse a bases de datos de Firebird:

firebird:dbname=/ruta/a/BASEDATOS.FDB

Ejemplo #2 Ejemplo de DSN de PDO_FIREBIRD DSN con puerto y ruta

El siguiente ejemplo muestra un DSN de PDO_FIREBIRD DSN para conectarse a una base de datos de Firebird usando el puerto del nombre del host y la ruta:

firebird:dbname=nombre_host/puerto:/ruta/A/BASEDATOS.FDB

Ejemplo #3 Ejemplo de DSN de PDO_FIREBIRD con localhost y ruta hacia empleado.fdb en un sistema Debian

El siguiente ejemplo muestra un DSN de PDO_FIREBIRD DSN para conectarse a la base de datos empleado.fdb de Firebird usando:

firebird:dbname=localhost:/var/lib/firebird/2.5/data/empleado.fdb

Firebird (PDO)
IBM (PDO)
Firebird (PDO)


Funciones de IBM (PDO_IBM)

Introducción

PDO_IBM es un controlador que implementa la interfaz de Objetos de datos de PHP (PDO) para habilitar el acceso desde PHP a bases de datos de IBM.

Instalación

Para construir la extensión PDO_IBM, DB2 Client v9.1 o posterior debe estar instalado en el mismo sistema que PHP. DB2 Client se puede descargar Desde el » Sitio de desarrollo de aplicaciones de IBM.

Nota: Nota

DB2 Client v9.1 o posterior da soporte al acceso directo de DB2 para servidores Linux, UNIX, y Windows v8 y v9.1.

DB2 Client v9.1 también da soporte para el acceso a DB2 UDB para i5 y DB2 UDB para servidores z/OS utilizando la adquisición por separada del producto » DB2 Connect.

PDO_IBM es una extensión » PECL, por lo que siga las instrucciones en Instalación de extensiones PECL para instalar la extensión PDO_IBM. Ejecute el comando configure para que apunte a la ubicación de los ficheros de cabecera y a las bibliotecas de DB2 como sigue:

bash$ ./configure --with-pdo-ibm=/path/to/sqllib[,shared]
El valor predeterminado de configure es la variables de entorno DB2DIR.

Tabla de contenidos

  • DSN de PDO_IBM — Conectarse a bases de datos de IBM
PDO_FIREBIRD DSN
DSN de PDO_IBM
Controladores de PDO


Conectarse a bases de datos de IBM

IBM (PDO)
Informix (PDO)
IBM (PDO)
PHP Manual

DSN de PDO_IBM

(No hay información de versión disponible, podría estar únicamente en SVN)

DSN de PDO_IBM — Conectarse a bases de datos de IBM

Descripción

El Nombre del origen de datos (DSN) de PDO_IBM (DSN) está basado en el DSN de CLI de IBM. Los componentes princiaples del DSN de PDO_IBM DSN son:

Prefijo DSN

El prefijo DSN es ibm:.

DSN

El DSN puede ser lo siguiente:

  • a) La configuración del origen de datos usando db2cli.ini o odbc.ini

  • b) El nombre de la base de datos catalogada, es decir, el alias de la base de datos en el catálogo cliente de DB2

  • c) Una cadena de conexión completa con el siguiente formato: DRIVER={IBM DB2 ODBC DRIVER};DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password; donde cada parámetro representa los siguientes valores:

    database

    El nombre de la base de datos.

    hostname

    El nombre o la dirección IP del host del servidor de bases de datos.

    port

    El puerto TCP/IP en el que la base de dtaos escuchará peticiones.

    username

    El nombre de usuario con el cual conectarse a la base de datos.

    password

    La contraseña con la cual conectarse a la base de datos.

Ejemplos

Ejemplo #1 Ejemplo de DSN de PDO_IBM DSN usando db2cli.ini

El siguiente ejemplo muestra un DSN de PDO_IBM DSN para conectarse a una base de datos de DB2 catalogada como DB2_9 en db2cli.ini:

$bd = new PDO("ibm:DSN=DB2_9", "", "");

[DB2_9]
Database=testdb
Protocol=tcpip
Hostname=11.22.33.444
Servicename=56789

Ejemplo #2 Ejemplo de DSN de PDO_IBM usando una cadena de conexión

El siguiente ejemplo muestra un DSN de PDO_IBM para conectarse a un base de datos de DB2 llamada testdb usando la sintaxis de cadena de conexión de DB2 CLI.

$bd = new PDO("ibm:DRIVER={IBM DB2 ODBC DRIVER};DATABASE=testdb;" .
  "HOSTNAME=11.22.33.444;PORT=56789;PROTOCOL=TCPIP;", "testuser", "tespass");

IBM (PDO)
Informix (PDO)
IBM (PDO)


Funciones de Informix (PDO_INFORMIX)

Introducción

PDO_INFORMIX es un controlador que implementa la interfaz de Objetos de datos de PHP (PDO) para habilitar el acceso desde PHP a bases de datos de Informix.

Instalación

Para construir la extensión PDO_INFORMIX, Informix Client SDK 2.81 UC1 o superior debe estar instalado en el mismo sistema que PHP. Informix Client SDK está disponible desde el » Sitio de soporte de Informix de IBM.

PDO_INFORMIX es una extensión » PECL, por lo que siga las instrucciones en Instalación de extensiones PECL para instalar la extensión PDO_INFORMIX. Ejecute el comando configure para que apunte a la ubicación de los ficheros de cabecera y las bibliotecas de Informix Client SDK como sigue:

   bash$ ./configure --with-pdo-informix=/path/to/SDK[,shared]
El valor predetermiando de configure es la variable de entorno INFORMIXDIR.

Cursores desplazables

PDO_INFORMIX admite los cursores desplazables; sin embargo, estos no están habilitados de forma predeterminada. Para habilitar el soporte de cursores desplazables, se debe establecer ENABLESCROLLABLECURSORS=1 en los ajustes de conexión de ODBC correspondientes en odbc.ini, o pasar la cláusula EnableScrollableCursors=1 en la cadena de conexión de DSN.

Tabla de contenidos

  • DSN de PDO_INFORMIX — Conectarse a bases de datos de Informix
DSN de PDO_IBM
DSN de PDO_INFORMIX
Controladores de PDO


Conectarse a bases de datos de Informix

Informix (PDO)
MySQL (PDO)
Informix (PDO)
PHP Manual

DSN de PDO_INFORMIX

(No hay información de versión disponible, podría estar únicamente en SVN)

DSN de PDO_INFORMIX — Conectarse a bases de datos de Informix

Descripción

El Nombre del Origen de Datos (DSN) de PDO_INFORMIX está basado en la cadena del DSN de ODBC de Informix. Los detalles sobre la configuración de un DSN de ODBC de Informix están disponbles en el » Centro de información de servidores dinámicas de Informix. Los pricipales componentes del DSN de PDO_INFORMIX son:

Prefijo DSN

El prefijo DSN es informix:.

DSN

El DSN puede ser una configuración de origen de datos usando odbc.ini, o una » cadena de conexión completa.

Ejemplos

Ejemplo #1 Ejemplo de DSN de PDO_INFORMIX usando odbc.ini

El siguiente ejemplo muestra un DSN de PDO_INFORMIX para conectarse a una base de datos de Informix catalogada como Infdrv33 en odbc.ini:

$bd = new PDO("informix:DSN=Infdrv33", "", "");

[ODBC Data Sources]
Infdrv33=INFORMIX 3.3 32-BIT

[Infdrv33]
Driver=/opt/informix/csdk_2.81.UC1G2/lib/cli/iclis09b.so
Description=INFORMIX 3.3 32-BIT
Database=common_db
LogonID=testuser
pwd=testpass
Servername=ids_server
DB_LOCALE=en_US.819
OPTIMIZEAUTOCOMMIT=1
ENABLESCROLLABLECURSORS=1

Ejemplo #2 Ejemplo de DSN de PDO_INFORMIX usando una cadena de conexión

El siguiente ejemplo muestra un DSN de PDO_INFORMIX DSN para conectarse a una base de datos de Informix llamada common_db usando la sintaxis de cadena de conexión de Informix.

$bd = new PDO("informix:host=host.domain.com; service=9800;
    database=common_db; server=ids_server; protocol=onsoctcp;
    EnableScrollableCursors=1", "testuser", "tespass");

Informix (PDO)
MySQL (PDO)
Informix (PDO)


Funciones de MySQL (PDO_MYSQL)

Introducción

PDO_MYSQL es un controlador que implementa la interfaz de Objetos de Datos de PHP (PDO) para permitir el acceso de PHP a bases de datos de MySQL 3.x, 4.x y 5.x.

PDO_MYSQL aprovechará el soporte nativo de sentencias preparadas presente en MySQL 4.1 y superior. Si se utiliza una versión anterior de las bibliotecas cliente de MySQL, PDO las emulará.

Advertencia

Algunos tipos de tablas (motores de almacenamiento) de MySQL no admiten transacciones. Cuando se escribe código de base de datos transaccional usando un tipo de tabla que no soporta transacciones, MySQL aparentará que se inició una transacción éxito. Además, cualquier consulta DDL ejecutada consignará implícitamente cualquier transacción pendiente.

Instalación

Utilice --with-pdo-mysql[=DIR] para instalar la extensión PDO MySQL, donde la opción [=DIR] es el directorio base de la instalación de MySQL. Si a [=DIR] se le pasa mysqlnd, entonces será utilizado el controlador nativo de MySQL.

Opcionalmente, --with-mysql-sock[=DIR] establece la ubicación del puntero del socket de unix de MySQL para todas las extensiones de MySQL, incluyendo PDO_MYSQL. Si no se especifica, se buscará en las ubicaciones predeterminadas.

Opcionalmente, --with-zlib-dir[=DIR] se utiliza para establecer la ruta para el prefijo de instalación de libz.

$ ./configure --with-pdo-mysql --with-mysql-sock=/var/mysql/mysql.sock

El soporte para SSL se habilita mediante las constantes de PDO_MySQL apropiadas, lo cual es equivalente a llamar a la » función mysql_ssl_set() de la API en C de MySQL. Asimismo, SSL no se puede habilitar con PDO::setAttribute, debido a que la conexión ya existe. Véase también la documentación de MySQL sobre » conectarse a MySQL con SSL.

Historial de cambios
Versión | Descripción
5.4.0 | Ya no se da soporte a las bibliotedas cliente de MySQL 4.1 y anteriores.
5.3.9 | Agregado el soporte para SSL con mysqlnd y OpenSSL.
5.3.7 | Agregado el soporte para SSL con libmysqlclient y OpenSSL.

Constantes predefinidas

Estas constantes están definidas por este controlador, y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución. Además, estas constantes específicas del controlador deberían ser utilizadas sólo si está usando este controlador. Usar atributos específicos del controlador con otro controlador podría resultar en un comportamiento inesperado. PDO::getAttribute() puede ser empleado para obtener el atributo PDO_ATTR_DRIVER_NAME para verificar el controlador, si el código puede ejecutarse con múltiples controladores.

MYSQL_ATTR_USE_BUFFERED_QUERY (integer)
Si este atributo es definido como TRUE en PDOStatement, el controlador de MySQL usará las versiones de la API de MySQL guardadas en el búfer. Si se está escribiendo código portable, en su lugar se debería usar PDOStatement::fetchAll().

Ejemplo #1 Forzar consultas para que sean guardadas en el búfer en mysql

<?php
if ($bs->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
    $sentencia = $bs->prepare('select * from foo',
        array(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true));
} else {
    die("mi aplicación sólo funciona con mysql; debería usar \$sentencia->fetchAll() en su lugar");
}
?>

MYSQL_ATTR_LOCAL_INFILE (integer)

Activa LOAD LOCAL INFILE.

Se ha de tener en cuenta que esta constante se puede usar solamente en el array driver_options cuando se construye un nuevo gestor de base de datos.

MYSQL_ATTR_INIT_COMMAND (integer)

Comando a ejecutar cuando se conecta al servidor MySQL. Al reconectar se volverá a ejecutar automáticamente.

Se ha de tener en cuenta que esta constante se puede usar solamente en el array driver_options cuando se construye un nuevo gestor de base de datos.

MYSQL_ATTR_READ_DEFAULT_FILE (integer)

Lee las opciones desde el fichero indicado en lugar de my.cnf. Si se usa mysqlnd, esta opción no está disponible debido a que mysqlnd no lee los fichero de configuración de mysql.

MYSQL_ATTR_READ_DEFAULT_GROUP (integer)

Opciones de lectura del grupo indicado desde my.cnf o desde el fichero especificado con MYSQL_READ_DEFAULT_FILE. Si se usa mysqlnd, esta opción no está disponible debido a que mysqlnd no lee los ficheros de configuración de mysql.

MYSQL_ATTR_MAX_BUFFER_SIZE (integer)

Tamaño máximo del búfer. Lo predeterminado es MiB. Esta constante no está admitida cuando se compila para mysqlnd.

MYSQL_ATTR_DIRECT_QUERY (integer)

Realiza consultas directas, no usa setencias preparadas.

MYSQL_ATTR_FOUND_ROWS (integer)

Devuelve el número de filas encontradas (coindicentes), no el número de filas modificadas.

MYSQL_ATTR_IGNORE_SPACE (integer)

Permite espacios después de los nombres de función. Hace de todos los nombres de función palabras reservadas.

MYSQL_ATTR_COMPRESS (integer)

Activa la compresión de comunicación de red. Esta constante no está admitida cuando se compila para mysqlnd.

MYSQL_ATTR_SSL_CA (integer)

La ruta al fichero de la autoridad certificadora SSL.

Existe a partir de PHP 5.3.7.

MYSQL_ATTR_SSL_CAPATH (integer)

La ruta al directorio que contiene los certificados AC SSL autorizados, los cuales están almacenados en formato PEM.

Existe a partir de PHP 5.3.7.

MYSQL_ATTR_SSL_CERT (integer)

La ruta al fichero del certificado SSL.

Existe a partir de PHP 5.3.7.

PDO::MYSQL_ATTR_SSL_CIPHER (integer)

Una lista de uno o más cifradores permisibles a usar para la encriptación SSL, en un formato entendido por OpenSSL. Por ejemplo: DHE-RSA-AES256-SHA:AES128-SHA

Existe a partir de PHP 5.3.7.

PDO::MYSQL_ATTR_SSL_KEY (integer)

La ruta al fichero de la clave SSL.

Existe a partir de PHP 5.3.7.

Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de PDO_MYSQL
Nombre | Por defecto | Cambiable
pdo_mysql.default_socket | "/tmp/mysql.sock" | PHP_INI_SYSTEM
pdo_mysql.debug | NULL | PHP_INI_SYSTEM
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

pdo_mysql.default_socket string

Establece un socket de dominio Unix. Este valor se puede establecer en tiempo de compilación si un socket de dominio se encuentra en la configuración. Este ajuste ini es sólo de Unix.

pdo_mysql.debug boolean

Activa la depuración de PDO_MYSQL. Este ajuste solo está disponible cuando PDO_MYSQL está compilado para mysqlnd y en el modo de depuración de PDO.

Tabla de contenidos

  • PDO_MYSQL DSN — Conectarse a bases de datos de MySQL
DSN de PDO_INFORMIX
PDO_MYSQL DSN
Controladores de PDO


Conectarse a bases de datos de MySQL

MySQL (PDO)
MS SQL Server (PDO)
MySQL (PDO)
PHP Manual

PDO_MYSQL DSN

(PECL PDO_MYSQL >= 0.1.0)

PDO_MYSQL DSN — Conectarse a bases de datos de MySQL

Descripción

El Nombre de Origen de Datos (DSN) de PDO_MYSQL está compuesto por los siguientes elementos:

prefijo DSN

El prefijo DSN es mysql:.

host

El nombre del equipo anfitrión donde reside el servidor de bases de datos.

port

El número de puerto que el servidor de bases de datos está escuchando.

dbname

El nombre de la base de datos.

unix_socket

El socket Unix de MySQL (no debe usarse con host o port).

charset

El conjunto de caracteres. Véase la documentación sobre los conceptos de conjuntos de caracteres para más información.

Antes de PHP 5.3.6, este elemento era ignorado de forma silenciosa. Se puede replicar el mismo comportamiento parcialmente con la opción PDO::MYSQL_ATTR_INIT_COMMAND del controlador, como muestra el siguiente ejemplo.

Advertencia

El método del siguiente ejemplo sólo puede usarse con juegos de caracteres que compartan una misma represntación ASCII de los 7 últimos bits, como ISO-8859-1 o UTF-8. Los usuarios que utilicen juegos de caracteres con representaciones distintas (como UTF-16 o Big5) deben usar la opción charset que ofrece la versión 5.3.6 de PHP y posterior.

Ejemplo #1 Establecer el juego de caracteres de la conexión a UTF-8, antes de PHP 5.3.6

<?php
$dsn = 'mysql:host=localhost;dbname=testdb';
$nombre_usuario = 'nombre_usuario';
$contraseña = 'contraseña';
$opciones = array(
    PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
);

$gbd = new PDO($dsn, $nombre_usuario, $contraseña, $opciones);
?>

Historial de cambios

Versión | Descripción
5.3.6 | Antes de la versión 5.3.6, charset era ignorado.

Ejemplos

Ejemplo #2 ejemplos PDO_MYSQL DSN

El siguiente ejemplo muestra un DSN de PDO_MYSQL para conectarse a una base de datos de MySQL:

mysql:host=localhost;dbname=testdb
Más ejemplos completos:
mysql:host=localhost;port=3307;dbname=testdb
mysql:unix_socket=/tmp/mysql.sock;dbname=testdb

Notas

Nota: Unix solamente:

Cuando el nombre de equipo anfitrión está definido como "localhost", la conexión al servidor se realiza a través de un socket de dominio. Si PDO_MYSQL se compila para libmysqlclient, entonces la ubicación del fichero del socket será la ubicación donde se compiló libmysqlclient. Si PDO_MYSQL se compila para mysqlnd, se puede establecer un socket predeterminado a través del ajuste pdo_mysql.default_socket.

MySQL (PDO)
MS SQL Server (PDO)
MySQL (PDO)


Funciones de Microsoft SQL Server (PDO_SQLSRV)

Introducción

PDO_SQLSRV es un controlador que implementa la interfaz de Objetos de Datos de PHP (PDO) para habilitar el acceso desde PHP a bases de datos de MS SQL Server (comenzando con SQL Server 2005) y de SQL Azure.

Instalación

La extesnión PDO_SQLSRV se habilitada añadiendo el fichero DLL apropiado al directorio de extensiones de PHP y la entrada correspondiente al fichero php.ini. La descarga de PDO_SQLSRV viene con ocho ficheros de controlador, cuatro de los cuales son para dar soporte a PDO. Si se está ejecutando PHP como no seguro con subprocesos (PHP 5.3), use el fichero php_pdo_sqlsrv_53_nts.dll. (Debería de usarse una versión no segura con subprocesos si se utiliza IIS como servidor web). Si se está ejecutando PHP como seguro con subprocesos, use el fichero php_pdo_sqlsrv_53_ts.dll. De manera similar para PHP 5.4, use php_pdo_sqlsrv_54_nts.dll o php_pdo_sqlsrv_54_ts.dll, dependiendo de si la instalación de PHP no es o es segura con subprocesos.

La versión más reciente del controlador está disponible aquí: » Descarga de SQLSRV 3.0. Si fuera necesario dar soporte paraor PHP 5.2 y/o PHP compilado con VC6, use la versión 2.0 del controlador: » Descarga de SQLSRV 2.0.

Para más información sobre los requisitos del sistema, véase » Requisitos del sistema de SQLSRV.

La extensión PDO_SQLSRV solamente es compatible con PHP ejecutándose bajo Windows. Para Linux, véase ODBC y » Microsoft's SQL Server ODBC Driver para Linux.

Constantes predefinidas

Estas constantes están definidas por este controlador, y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución. Además, estas constantes específicas del controlador deberían ser utilizadas sólo si está usando este controlador. Usar atributos específicos del controlador con otro controlador podría resultar en un comportamiento inesperado. PDO::getAttribute() puede ser empleado para obtener el atributo PDO_ATTR_DRIVER_NAME para verificar el controlador, si el código puede ejecutarse con múltiples controladores.

PDO::SQLSRV_TXN_READ_UNCOMMITTED (integer)
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 Read Uncommitted.
PDO::SQLSRV_TXN_READ_COMMITTED (integer)
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 Read Committed.
PDO::SQLSRV_TXN_REPEATABLE_READ (integer)
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 Repeateable Read.
PDO::SQLSRV_TXN_SNAPSHOT (integer)
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.
PDO::SQLSRV_TXN_SERIALIZABLE (integer)
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 Serializable.
PDO::SQLSRV_ENCODING_BINARY (integer)
Specifies that data is sent/retrieved as a raw byte stream to/from the server without performing encoding or translation. This constant can be passed to PDOStatement::setAttribute, PDO::prepare, PDOStatement::bindColumn, and PDOStatement::bindParam.
PDO::SQLSRV_ENCODING_SYSTEM (integer)
Specifies that data is sent/retrieved to/from the server as 8-bit characters as specified in the code page of the Windows locale that is set on the system. Any multi-byte characters or characters that do not map into this code page are substituted with a single byte question mark (?) character. This constant can be passed to PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare, PDOStatement::bindColumn, and PDOStatement::bindParam.
PDO::SQLSRV_ENCODING_UTF8 (integer)
Specifies that data is sent/retrieved to/from the server in UTF-8 encoding. This is the default encoding. This constant can be passed to PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare, PDOStatement::bindColumn, and PDOStatement::bindParam.
PDO::SQLSRV_ENCODING_DEFAULT (integer)
Specifies that data is sent/retrieved to/from the server according to PDO::SQLSRV_ENCODING_SYSTEM if specified during connection. The connection's encoding is used if specified in a prepare statement. This constant can be passed to PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare, PDOStatement::bindColumn, and PDOStatement::bindParam.
PDO::SQLSRV_ATTR_QUERY_TIMEOUT (integer)
A non-negative integer representing the timeout period, in seconds. Zero (0) is the default and means no timeout. This constant can be passed to PDOStatement::setAttribute, PDO::setAttribute, and PDO::prepare.
PDO::SQLSRV_ATTR_DIRECT_QUERY (integer)
Indicates that a query should be executed directly, without being prepared. This constant can be passed to PDO::setAttribute, and PDO::prepare. For more information, see » Direct and Prepared Statement Execution.

Tabla de contenidos

  • DSN de PDO_SQLSRV — Conectar a bases de datos de MS SQL Server y de SQL Azure
PDO_MYSQL DSN
DSN de PDO_SQLSRV
Controladores de PDO


Conectar a bases de datos de MS SQL Server y de SQL Azure

MS SQL Server (PDO)
Oracle (PDO)
MS SQL Server (PDO)
PHP Manual

DSN de PDO_SQLSRV

(No hay información de versión disponible, podría estar únicamente en SVN)

DSN de PDO_SQLSRV — Conectar a bases de datos de MS SQL Server y de SQL Azure

Descripción

El Nombre del Origen de Datos (DSN) de PDO_SQLSRV está compuesto de los siguientes elementos:

DSN prefix

El prefijo DSN es sqlsrv:.

APP

El nombre de la aplicación usada en el rastreo.

ConnectionPooling

Especifica si la conexión se asigna desde una agrupación de conexiones (1 o TRUE) o no (0 o FALSE).

Database

El nombre de la base de datos.

Encrypt

Especifica si la comunicación con SQL Server está encriptada (1 o TRUE) o desencriptada (0 o FALSE).

Failover_Partner

Especifica si el servidor y la instancia de la copia de la base de datos (si está habilitada y configurada) a utilizar cuando el servidor primario no esté disponible.

LoginTimeout

Especifica el número de segundos a esperar antes de dar como fallido el intento de conexión.

MultipleActiveResultSets

Deshabilita o explítamente habilita el soporte para múltiples conjutos de resultados activos (MARS por sus siglas en íngles).

QuotedId

Especifica si utilizar las normas de SQL-92 para identificadores entrecomillados (1 o TRUE) o utilizar las normas antiguas de Transact-SQL (0 o false).

Server

El nombre del servidor de bases de datos.

TraceFile

Especifica la ruta del fichero utilizado para datos de rastreo.

TraceOn

Especifica si el rastreo de ODBC está habilitado (1 o TRUE) o deshabilitado (0 o FALSE) para la conexión que se va a establecer.

TransactionIsolation

Especifica el nivel de aislamiento de las transacciones. Los valores aceptados para
esta opción son PDO::SQLSRV_TXN_READ_UNCOMMITTED, PDO::SQLSRV_TXN_READ_COMMITTED,
PDO::SQLSRV_TXN_REPEATABLE_READ, PDO::SQLSRV_TXN_SNAPSHOT, y
PDO::SQLSRV_TXN_SERIALIZABLE.

TrustServerCertificate

Especifica si el cliente debería confiar en (1 o TRUE) o rechazar (0 o FALSE) un certificado de servidor autofirmado.

WSID

Especifica el nombre de la computadora para rastreos.

Ejemplos

Ejemplo #1 Ejemplos de DSN de PDO_SQLSRV

El siguiente ejemeplo muestra cómo conectar a una base de datos de MS SQL Server especificada:

$c = new PDO("sqlsrv:Server=localhost;Database=testdb", "NombreUsuario", "Contraseña");

El siguiente ejemplo muestra cómo conectar a una base de datos de MS SQL Server en un puerto especificado:

$c = new PDO("sqlsrv:Server=localhost,1521;Database=testdb", "NombreUsuario", "Contraseña");

El siguiente ejemplo muestra cómo conectar a un base de datos de SQL Azure con el ID de servidor 12345abcde. Obsérvese que cuando se realiza una conexión a SQL Azure con PDO, el nombre del usuario será NombreUsuario@12345abcde (NombreUsuario@IdServidor).

$c = new PDO("sqlsrv:Server=12345abcde.database.windows.net;Database=testdb", "NombreUsuario@12345abcde", "Password");

MS SQL Server (PDO)
Oracle (PDO)
MS SQL Server (PDO)


Funciones de Oracle (PDO_OCI)

Introducción

Advertencia

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombres de sus funciones y todo lo documentado sobre esta extensión, puede cambiar en una futura edición de PHP sin previo aviso. El uso de esta extensión queda bajo su propia responsabilidad.

PDO_OCI es un controlador que implementa la interfaz de Objetos de Datos de PHP (PDO) para habilitar el acceso desde PHP a bases de datos de Oracle a través de la biblioteca OCI.

Instalación

Utilice --with-pdo-oci[=DIR] para instalar la extensión PDO Oracle OCI, donde el opcional [=DIR] es el directorio base de la instalación de Oracle. [=DIR] por defecto es la variable de entorno $ORACLE_HOME.

Utilice --with-pdo-oci=instantclient,prefijo,versión para un cliente de la Instancia Oracle SDK, donde prefijo y versión se configuran.

// Usando $ORACLE_HOME
$ ./configure --with-pdo-oci

// Usando OCI para Linux con la versión 10.2.0.3 con un prefijo /usr
$ ./configure --with-pdo-oci=instantclient,/usr,10.2.0.3

Tabla de contenidos

  • DSN de PDO_OCI — Conectar a bases de datos de Oracle
DSN de PDO_SQLSRV
DSN de PDO_OCI
Controladores de PDO


Conectar a bases de datos de Oracle

Oracle (PDO)
ODBC y DB2 (PDO)
Oracle (PDO)
PHP Manual

DSN de PDO_OCI

(No hay información de versión disponible, podría estar únicamente en SVN)

DSN de PDO_OCI — Conectar a bases de datos de Oracle

Descripción

El Nombre de Orígenes de Datos (DSN, por sus siglas en inglés) de PDO_OCI está compuesto por los siguientes elementos:

Prefijo DSN

El prefijo DSN es oci:.

dbname (Oracle Instant Client)

La URI para la conexión a Oracle Instant Client toma la forma de nombre_bd=//nombre_host:número_puerto/basedatos. Si la conexión se realiza a una base de datos definida en tnsnames.ora, solamente se ha de usar el nombre de la base de datos: nombre_bd=basedatos.

charset

El conjunto de caracters del lado del cliente para el gestor de entorno en uso.

Ejemplos

Ejemplo #1 Ejemplos del DSN de PDO_OCI

Los siguientes ejemplos muestran una DSN de PDO_OCI para conectarse a bases de datos de Oracle:

// Conectar a un base de datos definida en tnsnames.ora
oci:dbname=mydb

// Conectarse usando Oracle Instant Client
oci:dbname=//localhost:1521/mydb

Oracle (PDO)
ODBC y DB2 (PDO)
Oracle (PDO)


Funciones de ODBC y DB2 (PDO_ODBC)

Introducción

PDO_ODBC es un controlador que implementa la interfaz de Objetos de datos de PHP (PDO) para habilitar el acceso desde PHP a bases de datos a través de contorladores ODBC o de la biblioteca IBM DB2 Call Level Interface (DB2 CLI). PDO_ODBC admite actualmente tres "sabores" diferentes de controladores de bases de datos:

ibm-db2

Da soporte para el acceso a servidores de IBM DB2 Universal Database, Cloudscape, y Apache a través del cliente gratuito DB2.

unixODBC

Da soporte para el acceso a servidores de bases de datos a través del administrador de gestores de unixODBC y de los controladores de ODBC proppietarios de bases de datos.

generic

Ofrece una opción de compilación para los administradores de gestores de ODBC que no están admitidos explícitamente pore PDO_ODBC.

En Windows, PDO_ODBC está construido dentor del núcleo de PHP de manera predeterminada. Está vinculado con Windows ODBC Driver Manager, por lo que PHP puede conectarse a cualquier base de datos catalogada en un DSN de sistema, y es el controlador recomendado para conectarse a bases de datos de Microsoft SQL Server.

Instalación

PDO_ODBC en sistemas UNIX

  1. A partir de PHP 5.1, PDO_ODBC está incluido en los ficheros fuente de PHP. Se puede compilar la extensión PDO_ODBC como un módulo estático o compartido usando los siguientes comandos configure.

    ibm_db2

    ./configure --with-pdo-odbc=ibm-db2,/opt/IBM/db2/V8.1/
    Para contruir PDO_ODBC con el sabor ibm-db2, se han de tener instaladas previamente las cabeceras de desarrollo de aplicaciones de DB2 en la misma máquina en la que se compile PDO_ODBC. Las cabeceras de desarrollo de aplicaciones de DB2 son una opción instalable en los servidores de DB2, y también están disponibles como parte de DB2 Application Development Client, disponible para descargar gratuitamente desde el » sitio de soporte de IBM DB2 Universal Database.

    Si no se proporciona una ubicación para las bibliotecas y cabeceras de DB2 al comando configure, PDO_ODBC usará como valor predeterminado /home/db2inst1/sqllib.

    unixODBC

    ./configure --with-pdo-odbc=unixODBC,/usr/local
    Si no se proporciona una ubicación para las bibliotecas y cabecerasd de unixODBC al comando configure, PDO_ODBC usará como valor predetermiando /usr/local.

    generic
    ./configure --with-pdo-odbc=generic,/usr/local,libname,ldflags,cflags

Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de PDO_ODBC
Nombre | Por defecto | Cambiable | Historial de cambios
pdo_odbc.connection_pooling | "strict" | PHP_INI_ALL | Disponible desde PHP 5.1.0.
pdo_odbc.db2_instance_name | NULL | PHP_INI_SYSTEM | Disponible desde PHP 5.1.1. Esta característica obsoleta será eliminada con certeza en el futuro.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

pdo_odbc.connection_pooling string

Si agrupar conexiones de ODBC. Se puede usar "strict", "relaxed" o "off" (que es igual a ""). El parámetro describe cómo de estricta debería ser el administrador de conexiones cuando coincidan los parámetros de conexión con conexiones existentes en la agrupación. strict es el valor predetermiando recomendado, y dará como resultado en el uso de conexiones almacenadas en caché solamente cuando todos los parámetros de conexión coincidan exactamente. relaxed dará como resultado el uso de conexiones almacenadas en caché cuando se utilicen parámetros de conexión similares. Esto puede resultar en el aumento del uso de la caché, con el riesgo de perder información de conexión entre (por ejemplo) hosts virtuales.

Este ajuste solamente se puede cambiar desde el fichero php.ini, y afecta al proceso completo; cualquier otro módulo dentro del proceso que utilice las mismas bibliotescas de ODBC también se verá afectado, incluyendo la Extensión ODBC Unificada.

Advertencia

relaxed no debería usarse en servidores compartidos, por razones de seguridad.

Sugerencia

Deje este ajuste a la configuración strict predeterminada a menos que tenga una buena razón para cambiarlo.

pdo_odbc.db2_instance_name string

Si se compila PDO_ODBC usando el sabor db2, este ajuste establece el valor de la variable de entorno DB2INSTANCE en sistemas operativos Linux y UNIX al nombre especificado de la instancia de DB2. También habilita PDO_ODBC para resolver la ubicación de las bibliotecas de DB2 y realizar conexiones catalogadas a bases de datos DB2.

Este ajuste solamente se puede cambiar desde el fichero php.ini, y afecta al proceso completo; cualquier otro módulo dentro del proceso que utilice las mismas bibliotescas de ODBC también se verá afectado, incluyendo la Extensión ODBC Unificada.

Este ajuste no tiene efecto en Windows.

Tabla de contenidos

  • DSN de PDO_ODBC — Conectarse a bases de datos de ODBC o de DB2
DSN de PDO_OCI
DSN de PDO_ODBC
Controladores de PDO


Conectarse a bases de datos de ODBC o de DB2

ODBC y DB2 (PDO)
PostgreSQL (PDO)
ODBC y DB2 (PDO)
PHP Manual

DSN de PDO_ODBC

(No hay información de versión disponible, podría estar únicamente en SVN)

DSN de PDO_ODBC — Conectarse a bases de datos de ODBC o de DB2

Descripción

El Nombre del Origen de Datos (DSN) de PDO_ODBC está compuesto por los siguientes elementos:

Prefijo DSN

El prefijo DSN es odbc:. Si se realiza un conexión a una base de datos catalogada en el administrador de controladores de ODBC o en el catálogo de DB2, se puede añadir el nombre del catálogo de la base de datos al DSN.

DSN

El nombre de la base de datos tal como está catalogada en el administrador de controladores de ODBC o en el catálogo de DB2. Alternativamente, se puede proporcionar una cadena de conexión de ODBC completa para conectarse a una base de datos como está descrito en » http://www.connectionstrings.com/.

UID

El nombre del usuario para la conexión. Si se especifica el nombre de usuario en el DSN, PDO ignorará el valor del argumento de nombre de usuario en el constructor de PDO.

PWD

La contraseña del usuario para la conexión. Si se especifica la contraseña en el DSN, PDO ignorará el valor del argumento de contraseña en el constructor de PDO.

Ejemplos

Ejemplo #1 Ejemplo de DSN de PDO_ODBC (administrador de controladores de ODBC)

El siguiente ejemplo muestra un DSN de PDO_ODBC para conectarse a una base de datos de ODBC catalogada en testdb en el administrador de controladores de ODBC:

odbc:testdb

Ejemplo #2 Ejemplo de DSN de PDO_ODBC (conexión no catalogada de IBM DB2)

El siguiente ejemplo muestra un DSN de PDO_ODBC para conectarse a una base de datos de IBM DB2 llamada SAMPLE usando la sintaxis completa de DSN de ODBC:

odbc:DRIVER={IBM DB2 ODBC DRIVER};HOSTNAME=localhost;PORT=50000;DATABASE=SAMPLE;PROTOCOL=TCPIP;UID=db2inst1;PWD=ibmdb2;

Ejemplo #3 Ejemplo de DSN de PDO_ODBC (conexión no catalogada de Microsoft Access)

El siguiente ejemplo muestra un DSN de PDO_ODBC para conectarse a una base de datos de Microsoft Access almacenada en C:\db.mdb usando la sintaxis completa de DSN de ODBC:

odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\\db.mdb;Uid=Admin

ODBC y DB2 (PDO)
PostgreSQL (PDO)
ODBC y DB2 (PDO)


Funciones PostgreSQL (PDO_PGSQL)

Introducción

PDO_PGSQL es un controlador que implementa la interfaz PHP Data Objects (PDO) para permitir el acceso desde PHP a bases de datos PostgreSQL.

Tipos de recursos

Esta extensión define un recurso de secuencia retornado por PDO::pgsqlLOBOpen().

Instalación

Utilice --with-pdo-pgsql[=DIR] para instalar la extensión PDO PostgreSQL, donde el opcional [=DIR] es el directorio base de la instalación de PostgreSQL, o la ruta a pg_config.

$ ./configure --with-pdo-pgsql

Tabla de contenidos

  • PDO_PGSQL DSN — Conectarse a bases de datos PostgreSQL
  • PDO::pgsqlLOBCreate — Crea un nuevo objeto grande
  • PDO::pgsqlLOBOpen — Abre un flujo de un objeto grande existente
  • PDO::pgsqlLOBUnlink — Elimina un objeto grande
DSN de PDO_ODBC
PDO_PGSQL DSN
Controladores de PDO


Conectarse a bases de datos PostgreSQL

PostgreSQL (PDO)
PDO::pgsqlLOBCreate
PostgreSQL (PDO)
PHP Manual

PDO_PGSQL DSN

(PECL PDO_PGSQL >= 0.1.0)

PDO_PGSQL DSN — Conectarse a bases de datos PostgreSQL

Descripción

El PDO_PGSQL Data Source Name (DSN) o nombre de origen de los datos, está compuesto de los siguientes elementos, delimitados por espacios o punto y comas:

prefijo DSN

El prefijo DSN es pgsql:.

host

El nombre del host donde reside el servidor de base de datos.

port

El puerto en el que el servidor de base de datos se está ejecutando.

dbname

El nombre de la base de datos.

user

El nombre de usuario para la conexión. Si se especifica el nombre de usuario en el DSN, PDO ignora el valor del argumento del nombre de usuario en el constructor PDO.

password

La contraseña del usuario para la conexión. Si se especifica la contraseña en el DSN, PDO ignora el valor del argumento de la contraseña en el constructor PDO.

Nota:

Los campos de tipo bytea son retornados como flujos.

Ejemplos

Ejemplo #1 Ejemplos PDO_PGSQL DSN

El siguiente ejemplo muestra un DSN PDO_PGSQL para conectarse a una base de datos PostgreSQL:

pgsql:host=localhost;port=5432;dbname=testdb;user=bruce;password=mypass

PostgreSQL (PDO)
PDO::pgsqlLOBCreate
PostgreSQL (PDO)


Crea un nuevo objeto grande

PDO_PGSQL DSN
PDO::pgsqlLOBOpen
PostgreSQL (PDO)
PHP Manual

PDO::pgsqlLOBCreate

(PHP 5 >= 5.1.2, PECL pdo_pgsql >= 1.0.2)

PDO::pgsqlLOBCreate — Crea un nuevo objeto grande

Descripción

public string PDO::pgsqlLOBCreate ( void )

PDO::pgsqlLOBCreate() crea un objeto grande y devuelve el OID del mismo. Se podría entonces abrir un flujo sobre el objeto usando PDO::pgsqlLOBOpen() 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 PDO::pgsqlLOBUnlink().

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 PDO::pgsqlLOBUnlink() 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, inténtelo 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.

Nota: Esta función debe ser llamada dentro de una transacción.

Parámetros

PDO::pgsqlLOBCreate() no tiene parámetros.

Valores devueltos

Devuelve el OID del objeto grande recién creado en caso de éxito, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de PDO::pgsqlLOBCreate()

Este ejemplo crea un nuevo objeto grande y copia el contenido de un fichero en él. El OID es entonces almacenado en una tabla.

<?php
$bd = new PDO('pgsql:dbname=test host=localhost', $usuario, $contraseña);
$bd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$bd->beginTransaction();
$oid = $bd->pgsqlLOBCreate();
$flujo = $bd->pgsqlLOBOpen($oid, 'w');
$local = fopen($filename, 'rb');
stream_copy_to_stream($local, $flujo);
$local = null;
$flujo = null;
$sentencia = $bd->prepare("INSERT INTO BLOBS (ident, oid) VALUES (?, ?)");
$sentencia->execute(array($algún_id, $oid));
$bd->commit();
?>

Ver también

  • PDO::pgsqlLOBOpen() - Abre un flujo de un objeto grande existente
  • PDO::pgsqlLOBUnlink() - Elimina un objeto grande
  • pg_lo_create() - Create a large object

PDO_PGSQL DSN
PDO::pgsqlLOBOpen
PostgreSQL (PDO)


Abre un flujo de un objeto grande existente

PDO::pgsqlLOBCreate
PDO::pgsqlLOBUnlink
PostgreSQL (PDO)
PHP Manual

PDO::pgsqlLOBOpen

(PHP 5 >= 5.1.2, PECL pdo_pgsql >= 1.0.2)

PDO::pgsqlLOBOpen — Abre un flujo de un objeto grande existente

Descripción

public resource PDO::pgsqlLOBOpen ( string $oid [, string $mode = "rb" ] )

PDO::pgsqlLOBOpen() obre un flujo para acceder a los datos a los que hace referencia oid. Si mode es r, el flujo será abierto para lectura; si mode es w, el flujo será abierto para escritura. Se pueden utilizar todas las funciones de sistema de ficheros usuales, tales como fread(), fwrite() y fgets(), para manipular el contenido del flujo.

Nota: Esta función, y todas las manipulaciones del objeto grande, debe ser invocada y realizada dentro de una transacción.

Parámetros

oid

Un identificador de objeto grande.

mode

Si el modo es r, se abre el flujo para lectura. Si el modo es w, se abre el flujo para escritura.

Valores devueltos

Devuelve un recurso de flujo en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de PDO::pgsqlLOBOpen()

Siguiendo el ejemplo de PDO::pgsqlLOBCreate(), este trozo de código recupera el objeto grande de la base de datos y lo envía al navegador.

<?php
$bd = new PDO('pgsql:dbname=test host=localhost', $usuario, $contraseña);
$bd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$bd->beginTransaction();
$sentencia = $bd->prepare("select oid from BLOBS where ident = ?");
$sentencia->execute(array($some_id));
$sentencia->bindColumn('oid', $oid, PDO::PARAM_STR);
$sentencia->fetch(PDO::FETCH_BOUND);
$flujo = $bd->pgsqlLOBOpen($oid, 'r');
header("Content-type: application/octet-stream");
fpassthru($flujo);
?>

Ver también

  • PDO::pgsqlLOBCreate() - Crea un nuevo objeto grande
  • PDO::pgsqlLOBUnlink() - Elimina un objeto grande
  • pg_lo_open() - Open a large object

PDO::pgsqlLOBCreate
PDO::pgsqlLOBUnlink
PostgreSQL (PDO)


Elimina un objeto grande

PDO::pgsqlLOBOpen
SQLite (PDO)
PostgreSQL (PDO)
PHP Manual

PDO::pgsqlLOBUnlink

(PHP 5 >= 5.1.2, PECL pdo_pgsql >= 1.0.2)

PDO::pgsqlLOBUnlink — Elimina un objeto grande

Descripción

public bool PDO::pgsqlLOBUnlink ( string $oid )

Elimina un objeto grande identificado por OID de la base de datos.

Nota: Esta función debe invocarse dentro de una transacción.

Parámetros

oid

Un identificador de objeto grande.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de PDO::pgsqlLOBUnlink()

Este ejemplo desvincula un objeto grande de la base de datos antes de eliminar la fila que hace referencia a él desde la tabla de blobs que se han utilizado en los ejemplos de PDO::pgsqlLOBCreate() y PDO::pgsqlLOBOpen().

<?php
$bd = new PDO('pgsql:dbname=test host=localhost', $usuario, $contraseña);
$bd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$bd->beginTransaction();
$bd->pgsqlLOBUnlink($oid);
$sentencia = $bd->prepare("DELETE FROM BLOBS where ident = ?");
$sentencia->execute(array($some_id));
$bd->commit();
?>

Ver también

  • PDO::pgsqlLOBOpen() - Abre un flujo de un objeto grande existente
  • PDO::pgsqlLOBCreate() - Crea un nuevo objeto grande

PDO::pgsqlLOBOpen
SQLite (PDO)
PostgreSQL (PDO)


Funciones de SQLite (PDO_SQLITE)

Introducción

PDO_SQLITE es un controlador que implementa la interfaz Objetos de Datos de PHP (PDO, siglas en inglés de PHP Data Objects) para habilitar el acceso a bases de datos de SQLite 3.

En PHP 5.1, la extensión SQLite también proporciona un controlador para bases de datos de SQLite 2; aunque no es técnicamente una parte del controlador PDO_SQLITE, se comporta de manera similar, por lo que está documentado codo con codo. El controlador SQLite 2 para PDO es proporcionado pricipalmente para hacer más la importación de ficheros de bases de datos atiguos de SQLite a una aplicación que utilice el controlador SQLite 3 más rápido y más eficiente. Como consecuencia, el controlador SQLite 2 no tiene unas características tan ricas como el controlador SQLite 3.

Nota:

PDO_SQLITE permite usar cadenas aparte de flujos junto con PDO::PARAM_LOB.

Instalación

El controlador PDO_SQLITE PDO está habilitado por omisión. Para deshabilitarlo, se puede usar --without-pdo-sqlite[=DIR] , donde el parámetro opcional [=DIR] es el directorio base de instalación de sqlite.

Tabla de contenidos

  • PDO_SQLITE DSN — Conectar a las bases de datos de SQLite
  • PDO::sqliteCreateAggregate — Registra una función acumuladora definida por el usuario para usarla en sentencias SQL
  • PDO::sqliteCreateFunction — Registra una función definida por el usuario para utilizarla en sentencias SQL
PDO::pgsqlLOBUnlink
PDO_SQLITE DSN
Controladores de PDO


Conectar a las bases de datos de SQLite

SQLite (PDO)
PDO::sqliteCreateAggregate
SQLite (PDO)
PHP Manual

PDO_SQLITE DSN

(PECL PDO_SQLITE >= 0.2.0)

PDO_SQLITE DSN — Conectar a las bases de datos de SQLite

Descripción

El Nombre de la Fuente de Datos de PDO_SQLITE (DSN, siglas en inglés de Data Source Name) está compuesto de los siguientes elementos:

Prefijo DSN (SQLite 3)

El prefijo DSN es sqlite:.

  • Para acceder a una base de datos almacenada en disco, se añade al final del prefijo la ruta absoluta.

  • Para crear una base de datos almacenada en memoria, se añade al final del prefijo :memory:.

Prefijo DSN (SQLite 2)

La extensión SQLite de PHP 5.1 proporciona un controlador PDO que soporta el acceso y la creación de bases de datos de SQLite 2. Esto permite acceder a bases de datos que se pueden tener creadas con la extensión SQLite de versiones anteriores de PHP.

Nota:

El controlador sqlite2 está disponible solamente en PHP 5.1.x si se tienen habilitadas ambas extensiones: PDO y sqlite. Actualmente no está disponible mediante PECL.

El prefijo DSN para conectarse las bases de datos de SQLite 2 es sqlite2:.

  • Para acceder a una base de datos almacenada en disco, se añade al final del prefijo la ruta absoluta.

  • Para crear una base de datos almacenada en memoria, se añade al final del prefijo :memory:.

Ejemplos

Ejemplo #1 Ejemplos de PDO_SQLITE DSN

Los siguientes ejemplos muestran el uso de PDO_SQLITE DSN para conectarse a bases de datos de SQLite:

sqlite:/opt/databases/midb.sq3
sqlite::memory:
sqlite2:/opt/databases/midb.sq2
sqlite2::memory:

SQLite (PDO)
PDO::sqliteCreateAggregate
SQLite (PDO)


Registra una función acumuladora definida por el usuario para usarla en sentencias SQL

PDO_SQLITE DSN
PDO::sqliteCreateFunction
SQLite (PDO)
PHP Manual

PDO::sqliteCreateAggregate

(PHP 5 >= 5.1.0, PECL pdo_sqlite >= 1.0.0)

PDO::sqliteCreateAggregate — Registra una función acumuladora definida por el usuario para usarla en sentencias SQL

Descripción

public bool PDO::sqliteCreateAggregate ( string $function_name , callable $step_func , callable $finalize_func [, int $num_args ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Estemétodo es similar a PDO::sqliteCreateFunction, 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 PDO::sqliteCreateFunction es que son necesarias dos funciones para administrar la acumulación.

Parámetros

function_name

El nombre de la función usado en las sentencias SQL.

step_func

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:

step ( mixed $context , int $rownumber , mixed $value1 [, mixed $value2 [, mixed $.. ]] )

context será NULL 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.

finalize_func

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:

fini ( mixed $context , int $rownumber )

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.

num_args

Una sugerencia para el analizador de SQLite si la función de llamada de retorno acepta un número predeterminado de argumentos.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de función acumuladora max_length

<?php
$datos = array(
   'one',
   'two',
   'three',
   'four',
   'five',
   'six',
   'seven',
   'eight',
   'nine',
   'ten',
   );
$bd = new PDO('sqlite::memory:');
$bd->exec("CREATE TABLE strings(a)");
$insert = $bd->prepare('INSERT INTO strings VALUES (?)');
foreach ($datos as $str) {
    $insert->execute(array($str));
}
$insert = null;

function max_len_step(&$context, $rownumber, $string)
{
    if (strlen($string) > $context) {
        $context = strlen($string);
    }
    return $context;
}

function max_len_finalize(&$context, $rownumber)
{
    return $context;
}

$bd->sqliteCreateAggregate('max_len', 'max_len_step', 'max_len_finalize');

var_dump($bd->query('SELECT max_len(a) from strings')->fetchAll());

?>

En este ejemplo, se crea una función acumuladora que calculará la longitud de la cadena más larga de las columnas de la tabla. Para cada fila, la función max_len_step se invoca y se le pasa un parámetro context. El parámetro 'context' es como otra variables cualquiera de PHP y se establece para contener un array o incluso un valor de un objeto. En este ejemplo, se usa simplemente para que contenga la longitud máxima que se ha visto hasta aquí; si string tiene una longitud mayor que el máximo actual, se actualiza el contexto para que contenga esta nueva longitud máxima.

Después de haber procesado todas las filas, SQLite llama a la función max_len_finalize para determinar el resultado acumulado. Aquí, se podría realizar algún tipo de cálcula basado en los datos encontrados en context; aunque, en este sencillo ejemplo se ha calculado el resultado mientras la consulta progresaba, necesitando así devolver simplemente el valor de 'context'.

Sugerencia

NO se recomienda almacenar una copia de los valores de 'context' y luego procesarlos al final, ya que causariá que SQLite utilizara mucha memoria para procesar la consulta; piense simplemente cúanta memoria sería necesaria si estuvieran almacenadas en ella un millón de filas, cada una conteniendo una cadena de 32 bytes de longitud.

Sugerencia

Se puede usar PDO::sqliteCreateFunction y PDO::sqliteCreateAggregate para invalidar funciones SQL nativas de SQLite.

Nota:

Este método no está disponible con el controlador SQLite2. Use la API de sqlite de estilo antiguo en su lugar.

Ver también

  • PDO::sqliteCreateFunction
  • sqlite_create_function() - Registra una función "regular" definida por el usuario para ser usada en sentencias SQL
  • sqlite_create_aggregate() - Registrar FDU totalizadora para usarla en sentencias SQL

PDO_SQLITE DSN
PDO::sqliteCreateFunction
SQLite (PDO)


Registra una función definida por el usuario para utilizarla en sentencias SQL

PDO::sqliteCreateAggregate
4D (PDO)
SQLite (PDO)
PHP Manual

PDO::sqliteCreateFunction

(PHP 5 >= 5.1.0, PECL pdo_sqlite >= 1.0.0)

PDO::sqliteCreateFunction — Registra una función definida por el usuario para utilizarla en sentencias SQL

Descripción

public bool PDO::sqliteCreateFunction ( string $function_name , callable $callback [, int $num_args ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

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.

Parámetros

function_name

El nombre de la función usada en sentencias SQL.

callback

Una función de llamada de retorno para manejar la función SQL definida.

Nota: Las funciones de llamada de retorno deberían devolver un tipo comprendido por SQLite (esto es, del tipo escalar).

num_args

Una sugerencia para el analizador de SQLite si la función de llamada de retorno acepta un número predeterminado de argumentos.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de PDO::sqliteCreateFunction()

<?php
function md5_e_invertir($string)
{
    return strrev(md5($string));
}

$bd = new PDO('sqlite:sqlitedb');
$bd->sqliteCreateFunction('md5rev', 'md5_e_invertir', 1);
$filas = $bd->query('SELECT md5rev(filename) FROM files')->fetchAll();
?>

En este ejemplo, se tiene una función que calcula la suma md5 de una cadena, y luego la inverte. Cuando se ejecuta la sentencia SQL, devuelve el valor del nombre del fichero transformado por dicha función. Los datos devueltos en $filas contienen el resultado procesado.

La belleza de esta técnica consiste en que no se necesario procesar el resultado usando un bucle foreach después de haber consultado los datos.

Sugerencia

Se puede usar PDO::sqliteCreateFunction y PDO::sqliteCreateAggregate para invalidar funciones SQL nativas de SQLite.

Nota:

Este método no está disponible con el controlador SQLite2. Use la API de sqlite de estilo antiguo en su lugar.

Ver también

  • PDO::sqliteCreateAggregate
  • sqlite_create_function() - Registra una función "regular" definida por el usuario para ser usada en sentencias SQL
  • sqlite_create_aggregate() - Registrar FDU totalizadora para usarla en sentencias SQL

PDO::sqliteCreateAggregate
4D (PDO)
SQLite (PDO)


Funciones de 4D (PDO_4D)

Introducción

Advertencia

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombres de sus funciones y todo lo documentado sobre esta extensión, puede cambiar en una futura edición de PHP sin previo aviso. El uso de esta extensión queda bajo su propia responsabilidad.

PDO_4D es un controlador que implementa la interfaz de Objetos de datos de PHP (PDO) para habilitar el acceso desde PHP a bases de datos de 4D.

4D es una plataforma integrada que acelera y simplifica el desarrollo y el despliegue de aplicaciones de negocios, utilizada en más de 70 países, mediante una comunidad de miles de desarrolladores y proveedores de soluciones verticales, con millones de usuarios finales en todo el mundo.

Ofreciendo un juego integrado de herramientas, tales como una base de datos relacional y transaccional ANSI SQL, un entorno de desarrollo gráfico, un lenguaje de cuarta generación con más de 1000 comandos de alto nivel, un servidor HTTP interno, un servidor de aplicaciones, etc., 4D facilita la creación y el mantenimiento de aplicaciones desde uno a miles de usuarios simultáneos, ya sea en Windows, Mac o desde cualquier cliente web.

4D también es una plataforma abierta, ofreciendo una API completa para la creación de complementos, incluyendo varios conectores que le permiten actuar como un sistema servidor o cliente para muchos entornos (Oracle mediante OCI, cliente o servidor SOAP, origen de datos Flex, todas las bases de datos ODBC, XML sobre HTTP, etc.)

Además de la capacidad de interactuar con aplicaciones 4D a través de servicios web, ahora se puede acceder a las bases de datos de 4D directamente usando el controlador PDO_4D.

Se pueden encontrar más detalles sobre el entorno de desarrollo de 4D en » http://www.4d.com/.

Se sabe que PDO_4D funciona con las versiones 12 beta y siguientes de 4D, para Mac OS X y Windows. Las plataformas antiguas podrían funcionar, pero no están soportadas.

Tabla de contenidos

  • DSN de PDO_4D — Conectarse a un servidor de 4D SQL
  • Constantes para PDO_4D — Constantes para PDO_4D
  • Tipos de SQL con PDO_4D y PHP — Tipos de SQL con PDO_4D y PHP
  • SQL aceptado por 4D — PDO y SQL 4D
  • Ejemplos con PDO_4D — Ejemplos con PDO_4D
PDO::sqliteCreateFunction
DSN de PDO_4D
Controladores de PDO


Conectarse a un servidor de 4D SQL

4D (PDO)
Constantes para PDO_4D
4D (PDO)
PHP Manual

DSN de PDO_4D

(No hay información de versión disponible, podría estar únicamente en SVN)

DSN de PDO_4D — Conectarse a un servidor de 4D SQL

Descripción

El DSN de PDO_4D consiste en:

prefijo DSN

El prefijo DSN es 4D:.

host

La máquina anfitriona en la que está el servidor 4D SQL.

port

El número de puerto del servidor. Es opcinal.

user

El nombre de identificación al conectarse a la base de datos.

password

La contraseña para la identificación anterior.

dbname

El nombre de la base de datos. Este parámetro es opcional, y no se utiliza.

charset

El conjunto de caractares de 4D.

Ejemplos

Ejemplo #1 Ejemplo de DSN para PDO_4D

Los siguientes ejemplos tienen dos DSN para PDO_4D, que conectan a una base de datos de 4D:

4D:host=localhost;charset=UTF-8
Otros valores posibles :
4D:host=localhost
4D:

4D (PDO)
Constantes para PDO_4D
4D (PDO)


Constantes para PDO_4D

(No hay información de versión disponible, podría estar únicamente en SVN)

Constantes para PDO_4D — Constantes para PDO_4D

Constantes predefinidas

Estas constantes están definidas por este controlador, y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución. Además, estas constantes específicas del controlador deberían ser utilizadas sólo si está usando este controlador. Usar atributos específicos del controlador con otro controlador podría resultar en un comportamiento inesperado. PDO::getAttribute() puede ser empleado para obtener el atributo PDO_ATTR_DRIVER_NAME para verificar el controlador, si el código puede ejecutarse con múltiples controladores.

PDO::FOURD_ATTR_CHARSET (integer)

Cambiar el conjunto de caracteres en el que 4D devuelve datos. (El predeterminado es UTF-8).

PDO::FOURD_ATTR_PREFERRED_IMAGE_TYPES (integer)

El formato solicitado para la imagen, cuando se selecciona una fila con una columna de tipo PICTURE. Podría ser cualquier tipo admitido por 4D.

DSN de PDO_4D
Tipos de SQL con PDO_4D y PHP
4D (PDO)


Tipos de SQL con PDO_4D y PHP

(No hay información de versión disponible, podría estar únicamente en SVN)

Tipos de SQL con PDO_4D y PHP — Tipos de SQL con PDO_4D y PHP

Tipos de SQL admitidos
Tipo de SQL 4D | Equivalente en 4D | Nota
ALPHA_NUMERIC | TEXT |
VARCHAR | TEXT |
TEXT | TEXT |
TIMESTAMP | DATE |
INTERVAL | HOUR |
DURATION | HOUR |
BOOLEAN | BOOLEAN |
BIT | BOOLEAN |
BYTE | INT32 |
INT16 | SMALLINT |
SMALLINT | SMALLINT |
INT32 | INT32 |
INT | INT32 |
INT64 | INT64 |
NUMERIC | INT64 |
REAL | REAL | No soportado (use una conversión a VARCHAR)
FLOAT | FLOAT | No soportado (use una conversión a VARCHAR)
DOUBLE PRECISION | FLOAT |
BLOB | BLOB | Debe usarse una sentencia preparada, y PDO::PARAM_LOB
BIT VARYING | BLOB | Debe usarse una sentencia preparada, y PDO::PARAM_LOB
CLOB | TEXT |
PICTURE | PICTURE | Debe usarse una sentencia preparada, y PDO::PARAM_LOB

Constantes para PDO_4D
SQL aceptado por 4D
4D (PDO)


PDO y SQL 4D

Tipos de SQL con PDO_4D y PHP
Ejemplos con PDO_4D
4D (PDO)
PHP Manual

SQL aceptado por 4D

(No hay información de versión disponible, podría estar únicamente en SVN)

SQL aceptado por 4D — PDO y SQL 4D

Descripción

4D implementa estrictamente el estándar ANSI 89, y lo cumple. Se recomienda encarecidamente leer la documentación de 4D SQL para aprender sobre los comandos que están disponibles. La URL del manual es: » http://doc.4d.com/. Abajo se enumeran las características de 4D SQL: no es una lista exhaustiva, pero podría servir como introducción.

Características de 4D SQL
Característica | Alternativa | Nota
INTEGER | Modificar el SQL para que utilice INT. | INT es el tipo de entero admitido en 4Dv12.0.
CHAR | Utilizar VARCHAR en su lugar. | No soportada en 4Dv12.0
UNION | No soportada. Realizar consultas por separado. | No soportada en 4Dv12.0
SELECT 1 + 1; | SELECT 1 + 1 FROM _USER_SCHEMAS; | FROM es necesario
FLOAT | Convertir el valor FLOAT a un FLOAT o STRING, con una función de SQL 4D (CAST, ROUND, TRUNC o TRUNCATE) | No soportada en las versiones actuales del controlador PDO_4D
Tipado fuerte | Tener cuidado con la consulta SQL, o con el código de PHP que proporciona datos con tipos exigidos | Se debe proporcionar el tipo correcto exigido por 4D. No se puede insertar '1' (como cadena) en una columna INTEGER.
PDO::execute($fila)() : solamente funciona si todas las columnas de la tabla son de tipo TEXT o VARCHAR | Utilizar sentencias preparadas y los tipos correctos. | La extensión PDO convierte todos los valores a través de execute() a cadenas, y exige que la base de datos SQL analice los valores.
SELECT NULL FROM TABLE | No utilizar constantes NULL. Extraerlas de la tabla | No está permitido utilizar la constante NULL el la lista de selección
SELECT * FROM TABLE WHERE 1 | Utilizar WHERE 1 = 1 | No se puede utilizar una constante en una cláusula WHERE
SHOW TABLES | Utilizar tablas de sistema | La lista de tablas, esquemas, índices, etc., están en estas tablas de sistema: _USER_TABLES, _USER_COLUMNS, _USER_INDEXES, _USER_CONSTRAINTS, _USER_IND_COLUMNS, _USER_CONS_COLUMNS, y _USER_SCHEMAS.
Delimitador de estructura de SQL | Utilizar la siguiente función para proteger elementos SQL: function sqlEscapeElement(elem) { return '[' . str_replace(']',']]', $elem) . ']'; } | Para escapar nombres de elementos de SQL (tablas, campos, usuarios, grupos, esquemas, claves primarias, etc.), todo el identificador debe estar entre corchetes, y el corchete de cierre ']' debe ser doble.

Tipos de SQL con PDO_4D y PHP
Ejemplos con PDO_4D
4D (PDO)


Ejemplos con PDO_4D

(No hay información de versión disponible, podría estar únicamente en SVN)

Ejemplos con PDO_4D — Ejemplos con PDO_4D

Este ejemplo básico muestra cómo conectarse, ejecutar una consulta, leer datos y desconectarse de un servidor de 4D SQL.

Ejemplo #1 Ejemplo básico con PDO_4D

<?php
$dsn = '4D:host=localhost;charset=UTF-8';
$usuario = 'test';
$contraseña = 'test';

// Conexión al servidor de 4D SQL
$bd = new PDO($dsn, $usuario, $contraseña);

try {
    $bd->exec('CREATE TABLE test(id varCHAR(1) NOT NULL, val VARCHAR(10))');
} catch (PDOException $e) {
    die("Error 4D : " . $e->getMessage());
}

$bd->exec("INSERT INTO test VALUES('A', 'B')");
$bd->exec("INSERT INTO test VALUES('C', 'D')");
$bd->exec("INSERT INTO test VALUES('E', 'F')");

$sentencia = $bd->prepare('SELECT id, val from test');

$sentencia->execute();
print_r($sentencia->fetchAll());

unset($sentencia);
unset($bd);
?>

El resultado del ejemplo sería:

    Array
(
    [0] => Array
        (
            [ID] => A
            [0] => A
            [VAL] => B
            [1] => B
        )

    [1] => Array
        (
            [ID] => C
            [0] => C
            [VAL] => D
            [1] => D
        )

    [2] => Array
        (
            [ID] => E
            [0] => E
            [VAL] => F
            [1] => F
        )

)

Este ejemplo muestra cómo ejecutar una consulta en el lenguaje de 4D, y cómo leer el resultado a través de PDO_4D.

Ejemplo #2 Acceder al lenguaje de 4D desde pdo_4d

Configurar un método de 4D, llamado method. Asegurarse que en las propiedades del método, la opción Disponbile mediante SQL es comprobada. El código de 4D es el siguiente.

C_TEXTE($0)
$0:=Version application(*);

El código de PHP para utilizar el método de 4D de arriba es:

<?php
$dsn = '4D:host=localhost;charset=UTF-8';
$usuario = 'test';
$contraseña = 'test';

// Conexión al servidor de 4D
$bd = new PDO($dsn, $usuario, $contraseña);

$sentencia = $bd->prepare('SELECT {FN method() AS VARCHAR } FROM _USER_SCHEMAS LIMIT 1');

$sentencia->execute();
print_r($sentencia->fetchAll());

unset($sentencia);
unset($bd);
?>

El resultado del ejemplo sería:

(
    [0] => Array
        (
            [<expression>] => F0011140
            [0] => F0011140
        )

)

Ejemplo #3 Escapar nombres de tablas de 4D

Este ejemplo ilustra cómo escapar caracteres en una consulta SQL de 4D.

<?php
$dsn = '4D:host=localhost;charset=UTF-8';
$usuario = 'test';
$contraseña = 'test';

// Conexión al servidor de 4D
$bd = new PDO($dsn, $usuario, $contraseña);

$objetos = array('[',']','[]','][','[[',']]','[[[',']]]','TBL ]]32[23');

foreach($objetos as $id => $objeto) {
    $objeto = str_replace(']',']]', $objeto);
    print "$objeto\n";

    $bd->exec('CREATE TABLE IF NOT EXISTS ['.$objeto.'](['.$objeto.'] FLOAT)');

    $req = "INSERT INTO [$objeto] ([$objeto]) VALUES ($id);";
    $bd->query($req);

    $q = $bd->prepare("SELECT [$objeto] FROM [$objeto]");
    $q->execute();
    $x[] = $q->fetch(PDO::FETCH_NUM);

    $bd->exec('DROP TABLE ['.$objeto.'];');
}

?>

El resultado del ejemplo sería:

[
]]
[]]
]][
[[
]]]]
[[[
]]]]]]
TBL ]]]]32[23

SQL aceptado por 4D
Extensiones de bases de datos específicas del proveedor
4D (PDO)


Extensiones de bases de datos específicas del proveedor

  • CUBRID
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de CUBRID
    • Funciones de compatibilidad CUBRID MySQL
    • Alias y Funciones Obsoletas de CUBRID
  • DB++
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de DB++
  • dBase
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de dBase
  • filePro
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de filePro
  • Firebird/InterBase
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de Firebird/InterBase
  • FrontBase
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de FrontBase
  • IBM DB2 — IBM DB2, Cloudscape y Apache Derby
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de IBM DB2
  • Informix
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Informix Funciones
  • Ingres — Ingres DBMS, EDBC, y Enterprise Access Gateways
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de Ingres
  • MaxDB
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de MaxDB
  • Mongo — MongoDB
    • Instalación/Configuración
    • Manual
    • Clases del núcleo
    • Tipos
    • Clases de GridFS
    • Miscelánea
    • Funciones de Mongo
    • Excepciones
    • Registro de cambios
  • mSQL
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • mSQL Funciones
  • Mssql — Microsoft SQL Server
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Mssql Funciones
  • MySQL — Controladores y complementos de MySQL
    • Información general de los controladores de MySQL de PHP
    • Mysql — API MySQL original
    • Mysqli — Extensión MySQL mejorada
    • Mysqlnd — Controlador Nativo de MySQL
    • mysqlnd_ms — Complemento de equilibrado de carga y replicación de mysqlnd
    • mysqlnd_qc — Complemento de caché de resultados de consultas de mysqlnd
    • mysqlnd_uh — Complemento de gestión del usuario de mysqlnd
    • mysqlnd_mux — Complemento de multiplexación de conexiones de mysqlnd
    • mysqlnd_memcache — Mysqlnd Memcache plugin
  • OCI8 — Oracle OCI8
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Manejo de conexiones de OCI8 y Agrupamiento de conexiones
    • OCI8 Fast Application Notification (FAN) Support
    • OCI8 y rastreo dinámico de DTrace
    • Tipos de datos admitidos
    • Funciones de OCI8
    • OCI-Collection — La clase OCI-Collection
    • OCI-Lob — La clase OCI-Lob
    • Funciones y alias de OCI8 obsoletos
  • Ovrimos SQL
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones Ovrimos SQL
  • Paradox — Acceso a archivos Paradox
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de Paradox
  • PostgreSQL
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de PostgreSQL
  • SQLite
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • SQLite Funciones
  • SQLite3
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • SQLite3 — La clase de SQLite3
    • SQLite3Stmt — La clase SQLite3Stmt
    • SQLite3Result — La clase SQLite3Result
  • SQLSRV — Driver de Microsoft SQL Server para PHP
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • SQLSRV Funciones
  • Sybase
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones Sybase
  • tokyo_tyrant
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • TokyoTyrant — The TokyoTyrant class
    • TokyoTyrantTable — The TokyoTyrantTable class
    • TokyoTyrantQuery — The TokyoTyrantQuery class
    • TokyoTyrantIterator — The TokyoTyrantIterator class
    • TokyoTyrantException — The TokyoTyrantException class
Ejemplos con PDO_4D
CUBRID
Extensiones de bases de datos


CUBRID

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • Funciones de CUBRID
    • cubrid_bind — Vincular variables para una sentencia preparada como parámetros
    • cubrid_close_prepare — Cerrar el gestor de solicitud
    • cubrid_close_request — Cerrar el gestor de solicitud
    • cubrid_col_get — Obtener el contenido de la columna del tipo de colecctión usando OID
    • cubrid_col_size — Obtener el número de elementos de la columna del tipo de colección usando OID
    • cubrid_column_names — Obtener los nombres de las columnas del resultado
    • cubrid_column_types — Obtener los tipos de columnas del resultado
    • cubrid_commit — Consigna una transacción
    • cubrid_connect_with_url — Establecer el entorno para la conexión al servidor de CUBRID
    • cubrid_connect — Abrir una conexión al servidor CUBRID
    • cubrid_current_oid — Obtener el OID de la posición del cursor actual
    • cubrid_disconnect — Cerrar una conexión a una base de datos
    • cubrid_drop — Borrar una instancia usando OID
    • cubrid_error_code_facility — Obtener el código de error del dispositivo
    • cubrid_error_code — Obtener el código de error de la llamada a una función más reciente
    • cubrid_error_msg — Obtener el último mensaje de error de la llamada a la función más reciente
    • cubrid_execute — Ejecutar una sentencia SQL preparada
    • cubrid_fetch — Obtener la siguiente fila de un conjunto de resultados
    • cubrid_free_result — Liberar la memoria ocupada por los datos del resultado
    • cubrid_get_autocommit — Devuelve el modo auto-commit de la conexión
    • cubrid_get_charset — Devolver el conjunto de caracteres de la conexión CUBRID actual
    • cubrid_get_class_name — Obtener el nombre de la clase usando OID
    • cubrid_get_client_info — Devolver la versión de la biblioteca cliente
    • cubrid_get_db_parameter — Devuelve los parámetros de la base de datos CUBRID
    • cubrid_get_query_timeout — Obtener el valor del tiempo de espera de consulta de la petición
    • cubrid_get_server_info — Devolver la versión del servidor CUBRID
    • cubrid_get — Obtener una columna usando OID
    • cubrid_insert_id — Devuelve el ID generado por la última columna actualizada AUTO_INCREMENT
    • cubrid_is_instance — Comprobar si existe la instancia apuntada por OID
    • cubrid_lob_close — Cerrar información BLOB/CLOB
    • cubrid_lob_export — Exportar datos BLOB/CLOB a un fichero
    • cubrid_lob_get — Obtener información BLOB/CLOB
    • cubrid_lob_send — Leer información BLOB/CLOB y enviarla directamente al navegador
    • cubrid_lob_size — Obtener el tamaño de datos BLOB/CLOB
    • cubrid_lob2_bind — Vincula un objeto LOB o un string como un objeto LOB a una sentencia preparada como parámetros
    • cubrid_lob2_close — Cierra un objeto LOB
    • cubrid_lob2_export — Exporta un objeto LOB a un fichero
    • cubrid_lob2_import — Importa datos BLOB/CLOB desde un fichero
    • cubrid_lob2_new — Crea un objeto LOB
    • cubrid_lob2_read — Lee desde datos BLOB/CLOB
    • cubrid_lob2_seek64 — Mueve el cursor de un objeto LOB
    • cubrid_lob2_seek — Mueve el cursor de un objeto LOB
    • cubrid_lob2_size64 — Obtiene el tamaño de un objeto LOB
    • cubrid_lob2_size — Obtiene el tamaño de un objeto LOB
    • cubrid_lob2_tell64 — Indica la posición del cursor de un objeto LOB
    • cubrid_lob2_tell — Indica la posición del cursor de un objeto LOB
    • cubrid_lob2_write — Escribe en un objeto LOB
    • cubrid_lock_read — Establecer un bloqueo de lectura sobre el OID dado
    • cubrid_lock_write — Establecer un bloqueo de escritura para el OID dado
    • cubrid_move_cursor — Mover el cursor en el resultado
    • cubrid_next_result — Obtiene el resultado de la siguiente consulta cuando se ejecutan multiples sentencias SQL
    • cubrid_num_cols — Devolver el número de columnas del conjunto de resultados
    • cubrid_num_rows — Obtener el número de filas del conjunto de resultados
    • cubrid_pconnect_with_url — Abrir una conexión persistente al servidor CUBRID
    • cubrid_pconnect — Abrir una conexión persistente a un servidor CUBRID
    • cubrid_prepare — Preparar una sentencia SQL para su ejecución
    • cubrid_put — Actualizar un atributo usando OID
    • cubrid_rollback — Retroceder una transacción
    • cubrid_schema — Obtener la información del esquema solicitado
    • cubrid_seq_drop — Borrar un elemento de una columna tipo secuencia usando OID
    • cubrid_seq_insert — Insertar un elemento en una columna tipo secuencia usando OID
    • cubrid_seq_put — Actualizar el valor del elemento de la columna de tipo secuencia usando OID
    • cubrid_set_add — Insertar un único elemento en la columna del tipo de conjunto usando OID
    • cubrid_set_autocommit — Establece el modo de confirmación automática de la conexión
    • cubrid_set_db_parameter — Configura los parámetros de la base de datos CUBRID
    • cubrid_set_drop — Borrar un elemento de la columna del tipo de conjunto usando OID
    • cubrid_set_query_timeout — Establecer el tiempo de espera de la ejecución de consultas
    • cubrid_version — Obtener la versión del módulo de PHP de CUBRID
  • Funciones de compatibilidad CUBRID MySQL
    • cubrid_affected_rows — Devolver el número de filas afectadas por la última sentencia SQL
    • cubrid_client_encoding — Devuelve el actual conjunto de caracteres de la conexión a CUBRID
    • cubrid_close — Cerrar la conexión de CUBRID
    • cubrid_data_seek — Mueve el puntero interno de la fila del resultado CUBRID
    • cubrid_db_name — Obtener el nombre de la base de datos desde los resultados de cubrid_list_dbs
    • cubrid_errno — Devuelve el valor numérico del mensaje de error de la operación de CUBRID previa
    • cubrid_error — Se usa para obtener el mensaje de error
    • cubrid_fetch_array — Extrae una fila como array asociativo, numérico o ambos
    • cubrid_fetch_assoc — Devuelve un array asociativo que se corresponde con la fila obtenida
    • cubrid_fetch_field — Devuelve un objeto con ciertas propiedades
    • cubrid_fetch_lengths — Devuelve una matriz con las longitudes de los valores de cada campo de la fila actual
    • cubrid_fetch_object — Devuelve un objeto con los nombres de las columnas
    • cubrid_fetch_row — Devuelve un array numérico con los valores de la fila actual
    • cubrid_field_flags — Devuelve una cadena con las banderas del índice del campo dado
    • cubrid_field_len — Devuelve la longitud máxima del campo especificado
    • cubrid_field_name — Devuelve el nombre del índice del campo especificado
    • cubrid_field_seek — Mueve el cursor del conjunto de resultados al índece del campo especificado
    • cubrid_field_table — Devuelve el nombre de la tabla del campo especificado
    • cubrid_field_type — Devuelve el tipo de columna que se corresponde con el índice del campo dado
    • cubrid_list_dbs — Devuelve una matriz con la lista de todas las bases de datos Cubrid existentes
    • cubrid_num_fields — Devuelve el número de columnas del conjunto de resultados
    • cubrid_ping — Hacer ping en una conexión al servidor o reconectar si no hay conexión
    • cubrid_query — Enviar una consulta CUBRID
    • cubrid_real_escape_string — Escapar caracteres especiales en una cadena para usarla en una sentencia SQL
    • cubrid_result — Devuelve el valor de un campo específico de una fila específica
    • cubrid_unbuffered_query — Realiza una consulta sin traer los resultados a memoria
  • Alias y Funciones Obsoletas de CUBRID
    • cubrid_load_from_glo — Leer información de una instancia GLO y guardarla en un fichero
    • cubrid_new_glo — Crear una instancia glo
    • cubrid_save_to_glo — Guardar el fichero solicitado en una instancia GLO
    • cubrid_send_glo — Leer información de un glo y enviarla a la salida estándar
Extensiones de bases de datos específicas del proveedor
Introducción
Extensiones de bases de datos específicas del proveedor


Introducción

Estas funciones permiten acceder a servidores de bases de datos CUBRID. Se puede encontrar más información sobre CUBRID en » CUBRID.

La documentación de CUBRID se puede encontrar en » Documentación de CUBRID.

CUBRID
Instalación/Configuración
CUBRID


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
CUBRID


Requerimientos

Para que estas funciones estén disponibles, se debe instalar CUBRID, y compilar la Biblioteca de PHP de CUBRID con soporte para CUBRID.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/cubrid.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Para obtener información sobre la instalación manual en Linux y en Windows, por favor, lea el fichero build-guide.html incluido en el paquete.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

No existe configuración en tiempo de ejecución.

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

En CUBRID se usan cuatro tipos de recursos. El primero es un identificador de enlace para una conexión de base de datos, el segundo es un recurso que guarda el resultado de una consulta, y los dos últimos son recursos que guardan los resultados de una consulta de tipos de datos BLOB/CLOB.

connection identifier

Un identificador de conexión devuelto por  cubrid_connect(),
 cubrid_connect_with_url(),
 cubrid_pconnect() y
 cubrid_pconnect_with_url().

request identifier

Un identificador de solicitud devuelto por cubrid_prepare() y cubrid_execute().

LOB identifier

Un identificador LOB devuelto por cubrid_lob_get().

LOB2 identifier

Un identificador LOB devuelto por cubrid_lob2_new() u obtenido de un conjunto de resultados.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Las siguientes constantes se pueden usar al ejecutar una sentencia SQL. Pueden ser pasadas a cubrid_prepare() y a cubrid_execute().

Banderas de ejecución SQL de CUBRID
Constante | Descripción
CUBRID_INCLUDE_OID | Determinar si obtener el OID durante la ejecución de la consulta.
CUBRID_ASYNC | Ejecutar la consulta en modo asíncorno.
CUBRID_EXEC_QUERY_ALL | Ejecutar la consulta en modo síncrono. Esta bandera debe ser establecida cuando se ejecutan múltiples sentencias SQL.

Las siguientes constantes se pueden usar al traer los resultados para especificar el comportamiento de la obtención. Se pueden pasar a cubrid_fetch() y a cubrid_fetch_array().

Banderas de obtención de CUBRID
Constante | Descripción
CUBRID_NUM | Obtener el resultado de la consulta como un array numérico (0-predeterminado).
CUBRID_ASSOC | Obtener el resultado de la consulta como un array asociativo.
CUBRID_BOTH | Obtener el resultado de la consulta como arrays numérico y asociativo (valor predeterminado).
CUBRID_OBJECT | Obtener el resultado de la consulta como un objeto.
CUBRID_LOB | La constante CUBRID_LOB se puede usar al operar con objetos lob. Se puede pasar a cubrid_fetch(), cubrid_fetch_row(), cubrid_fetch_array(), cubrid_fetch_assoc() y cubrid_fetch_object().

Las siguientes constantes se pueden usar al posicionar el cursor en los resultados de la consulta. Pueden ser pasadas a, o devueltas por cubrid_move_cursor().

Banderas de posición del cursor de CUBRID
Constante | Descripción
CUBRID_CURSOR_FIRST | Mover el cursor actual a la primera posición del resultado.
CUBRID_CURSOR_CURRENT | Mover el cursor actual como valor por defecto si no se especifica el origen.
CUBRID_CURSOR_LAST | Mover el cursor actual a la última posición del resultado.
CUBRID_CURSOR_SUCCESS | Valor devuelto de la función cubrid_move_cursor() en caso de éxito. Esta bandera ha sido eliminada desde 8.4.1
CUBRID_NO_MORE_DATA | Valor devuelto de la función cubrid_move_cursor() en caso de fallo. Esta bandera ha sido eliminada desde 8.4.1
CUBRID_CURSOR_ERROR | Valor devuelto de la función cubrid_move_cursor() en caso de fallo. Esta bandera ha sido eliminada desde 8.4.1

Las siguientes constantes se pueden usar cuando se establece el modo auto-commit para la conexión a la base de datos. Pueden ser pasada a cubrid_set_autocommit() o devuelta por cubrid_get_autocommit().

Banderas del modo auto-commit de CUBRID
Constante | Descripción
CUBRID_AUTOCOMMIT_TRUE | Habilitar el modo auto-commit.
CUBRID_AUTOCOMMIT_FALSE | Deshabilitar el modo auto-commit.

Las siguientes constantes se pueden usar al establecer el parámetro de la base de datos. Se pueden pasar a cubrid_set_db_parameter().

Banderas de parámetro de CUBRID
Constante | Descripción
CUBRID_PARAM_ISOLATION_LEVEL | Nivel de aislamiento de las transacciones para la conexión de la base de datos.
CUBRID_PARAM_LOCK_TIMEOUT | Tiempo de espera de las transacciones en segundos.

Las siguientes constantes se pueden usar al establecer el nivel de aislamiento de la transacción. Se pueden pasar a cubrid_set_db_parameter() o ser devueltas por cubrid_get_db_parameter().

Banderas de nivel de aislamiento de CUBRID
Constante | Descripción
TRAN_COMMIT_CLASS_UNCOMMIT_INSTANCE | El nivel de aislamiento más bajo (1). Puede ocurrir una lectura sucia, no repetible o fantasma para la tupla y puede ocurrir también una lectura no repetible para la tabla.
TRAN_COMMIT_CLASS_COMMIT_INSTANCE | Un nivel relativamente bajo de aislamiento (2). No ocurre una lectura sucia, pero puede ocurrir una lectura no repetible o fantasma.
TRAN_REP_CLASS_UNCOMMIT_INSTANCE | El nivel predeterminado de aislamiento de CUBRID (3). Puede ocurrir una lectura sucia, no repetible o fantasma para la tupla, pero se garantiza una lectura repetible para la tabla.
TRAN_REP_CLASS_COMMIT_INSTANCE | Un nivel relativamente bajo de aislamiento (4). No puede ocurrir una lectura sucia, pero sí una lectura no repetible o fantasma.
TRAN_REP_CLASS_REP_INSTANCE | Un nivel de aislamiento relativamente alto (5). No ocurre una lectura sucia o no repetible, pero sí puede ocurrir una lectura fantasma.
TRAN_SERIALIZABLE | El nivel de aislamiento más alto (6). No ocurren los problemas concernientes a la concurrencia (p.ej. lectura sucia, no repetible, fantasma, etc.).

Las siguientes constantes se pueden usar al obtener la información del esquema. Se pueden pasar a cubrid_schema().

Banderas de esquema de CUBRID
Constante | Descripción
CUBRID_SCH_CLASS | Obtener el nombre y el tipo de tabla de CUBRID.
CUBRID_SCH_VCLASS | Obtener el nombre y el tipo de vista de CUBRID.
CUBRID_SCH_QUERY_SPEC | Obtener la definición de la consulta de la vista.
CUBRID_SCH_ATTRIBUTE | Obtener los atributos de la columna tabla.
CUBRID_SCH_CLASS_ATTRIBUTE | Obtener los atributos de la tabla.
CUBRID_SCH_METHOD | Obtener el método de instancia. El método de instancia es un método llamado por una instancia de una clase. Se usa más a menudo que el método de la clase ya que se ejecutan más operaciones en la instancia.
CUBRID_SCH_CLASS_METHOD | Obtener el método de la clase. El método de la clase es un método llamado por un objeto de clase. Se usar normalmente para crear una nueva instnacia de clase o para inicializarla. También se usa para acceder o actualizar los atributos de la clase.
CUBRID_SCH_METHOD_FILE | Obtener la información del fichero donde el método de la tabla está definido.
CUBRID_SCH_SUPERCLASS | Obtener el nombre y el tipo de la tabla desde la que hereda atributos.
CUBRID_SCH_SUBCLASS | Obtener el nombre y el tipo de la tabla que hereda los atributos desde esta tabla.
CUBRID_SCH_CONSTRAINT | Obtener las restricciones de la tabla.
CUBRID_SCH_TRIGGER | Obtener los desencadenantes de la tabla.
CUBRID_SCH_CLASS_PRIVILEGE | Obtener la información de privilegios de la tabla.
CUBRID_SCH_ATTR_PRIVILEGE | Obtener la información de privilegios de la columna.
CUBRID_SCH_DIRECT_SUPER_CLASS | Obtener la super tabla directa de la tabla.
CUBRID_SCH_PRIMARY_KEY | Obtener la clave primaria de la tabla.
CUBRID_SCH_IMPORTED_KEYS | Obtener las claves importadas de la tabla.
CUBRID_SCH_EXPORTED_KEYS | Obtener las claves exportadas de la tabla.
CUBRID_SCH_CROSS_REFERENCE | Obtener la relación de referencia de las tablas a remolque.

Las siguientes constantes se pueden usar al informar de errores. Pueden ser devueltas desde cubrid_error_code_facility().

Código de facilidades de error de CUBRID
Constante | Descripción
CUBRID_FACILITY_DBMS | El error ocurrió en el dbms de CUBRID.
CUBRID_FACILITY_CAS | El error ocurrió en el agente cas de CUBRID.
CUBRID_FACILITY_CCI | El error ocurrió en el cci de CUBRID.
CUBRID_FACILITY_CLIENT | El error ocurrió en el cliente PHP de CUBRID.

Tipos de recursos
Ejemplos
CUBRID


Ejemplos

El siguiente es un ejemplo sencillo que establece una conexión entre PHP y CUBRID. Esta conexión cubrirá la características más básicas y significativas. El siguiente código requiere conectarse a una base de datos CUBRID, lo que significa que CUBRID Server (servidor) y CUBRID Broker (agente) tienen que estar ejecutándose.

El ejemplo de abajo usa la base de datos demodb de ejemplo. Por defecto se crea durante la instalación. Asegúrese de que ha sido creada.

Ejemplo #1 Ejemplo de Recuperación de Datos

<html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=euc-kr">
    </head>
    <body>
    <center>
    <table border=2>
    <?php
        /**
         * Establecer la información para conexión de CUBRID. ip_host es la direccion
         * IP donde el Agente de CUBRID está instalado (localhost en este
         * ejemplo), y puerto_host es el número de puerto del Agecte de CUBRID.
         * El número de puerto es el predeterminado dado durante la instalación.
         * Para más detalles, véase "Guía del Administrador."
         */
        $ip_host = "localhost";
        $puerto_host = 33000;
        $nombre_bd = "demodb";
        /**
         * Conectar al Servidor CUBRID. No realiza la conexión,
         * sólo conserva la información de ésta. La razón de no realizar
         * la conexión actual es manejar la transacción de forma más eficaz
         * en la arquitectura de 3 capas.
         */
        $cubrid_con = @cubrid_connect($ip_host, $puerto_host, $nombre_bd);

        if (!$cubrid_con) {
            echo "Error de Conexión con la Base de Datos";
            exit;
        }
    ?>
    <?php
        $sql = "select sports, count(players) as players from event group by sports";
        /**
         * Solicitar al Servidor CUBRID los resultados de la declaración SQL.
         * Ahora se hace la conexión actual al Servidor CUBRID.
         */
        $resultado = cubrid_execute($cubrid_con, $sql);

        if ($resultado) {
            /**
             * Obtener el nombre de las columnas del conjunto de resultados creado por la consulta SQL.
             */
            $columnas = cubrid_column_names($resultado);
            /**
             * Obtener el número de columnas del conjunto de resultados creado por la consulta SQL.
             */
            $número_campos = cubrid_num_cols($resultado);
            /**
             * Listar los nombres de las columnas del conunto de resultados por la pantalla.
             */
            echo("<tr>");

            while (list($clave, $nomcol) = each($columnas)) {
                echo("<td align=center>$nomcol</td>");
            }

            echo("</tr>");

            /**
             * Obtener los resultados del conjunto de resultados.
             */
            while ($fila = cubrid_fetch($resultado)) {
                echo("<tr>");

                for ($i = 0; $i < $número_campos; $i++) {
                    echo("<td align=center>");
                    echo($fila[$i]);
                    echo("</td>");
                }

                echo("</tr>");
            }
        }
        /**
         * El módulo de PHP en CUBRID se ejecuta en una arquitectura de 3 capas. Incluso cuando
         * se llama a SELECT para el procesamiento de la transacción, es pasado como parte
         * de la transacción. Por lo tanto, la transacción necesita ser reiniciada
         * llamando a commit o incluso cuando se llamó a SELECT para un rendimiento
         * pulido.
         */
        cubrid_commit($cubrid_con);
        cubrid_disconnect($cubrid_con);
    ?>
    </body>
    </html>

Ejemplo #2 Ejemplo de Inserción de Datos

<html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=euc- kr">
    </head>
    <body>
    <center>
    <table border=2>
    <?php
        /**
         * ip_host es la dirección IP d donde está instalado el Agente de CUBRID
         * puerto_host es el número de puerto del Agente de CUBRID
         * nombre_bd es el nombre de la Base de Datos de CUBRID
         */
        $ip_host = "localhost";
        $puerto_host = 33000;
        $nombre_bd = "demodb";
        $cubrid_con = @cubrid_connect($ip_host, $puerto_host, $nombre_bd);

        if (!$cubrid_con) {
            echo "Error en la Conexión a la Base de Datos";
            exit;
        }
    ?>
    <?php
        $sql = "insert into olympic (host_year,host_nation,host_city,"
            . "opening_date,closing_date) values (2008, 'China', 'Beijing',"
            . "to_date('08-08-2008','mm-dd- yyyy'),to_date('08-24-2008','mm-dd-yyyy')) ;"
        $resultado = cubrid_execute($cubrid_con, $sql);
        if ($resultado) {
            /**
             * Manejado con éxito, por lo que se envía.
             */
            cubrid_commit($cubrid_con);
            echo("Insertado con éxito");
        } else {
            /**
             * Ocurrió un error, por lo que el mensaje de error se imprime y se llama a rollback.
             */
            echo(cubrid_error_msg());
            cubrid_rollback($cubrid_con);
        }
        cubrid_disconnect($cubrid_con);
    ?>
    </body>
    </html>
Constantes predefinidas
Funciones de CUBRID
CUBRID


Funciones de CUBRID

Tabla de contenidos

  • cubrid_bind — Vincular variables para una sentencia preparada como parámetros
  • cubrid_close_prepare — Cerrar el gestor de solicitud
  • cubrid_close_request — Cerrar el gestor de solicitud
  • cubrid_col_get — Obtener el contenido de la columna del tipo de colecctión usando OID
  • cubrid_col_size — Obtener el número de elementos de la columna del tipo de colección usando OID
  • cubrid_column_names — Obtener los nombres de las columnas del resultado
  • cubrid_column_types — Obtener los tipos de columnas del resultado
  • cubrid_commit — Consigna una transacción
  • cubrid_connect_with_url — Establecer el entorno para la conexión al servidor de CUBRID
  • cubrid_connect — Abrir una conexión al servidor CUBRID
  • cubrid_current_oid — Obtener el OID de la posición del cursor actual
  • cubrid_disconnect — Cerrar una conexión a una base de datos
  • cubrid_drop — Borrar una instancia usando OID
  • cubrid_error_code_facility — Obtener el código de error del dispositivo
  • cubrid_error_code — Obtener el código de error de la llamada a una función más reciente
  • cubrid_error_msg — Obtener el último mensaje de error de la llamada a la función más reciente
  • cubrid_execute — Ejecutar una sentencia SQL preparada
  • cubrid_fetch — Obtener la siguiente fila de un conjunto de resultados
  • cubrid_free_result — Liberar la memoria ocupada por los datos del resultado
  • cubrid_get_autocommit — Devuelve el modo auto-commit de la conexión
  • cubrid_get_charset — Devolver el conjunto de caracteres de la conexión CUBRID actual
  • cubrid_get_class_name — Obtener el nombre de la clase usando OID
  • cubrid_get_client_info — Devolver la versión de la biblioteca cliente
  • cubrid_get_db_parameter — Devuelve los parámetros de la base de datos CUBRID
  • cubrid_get_query_timeout — Obtener el valor del tiempo de espera de consulta de la petición
  • cubrid_get_server_info — Devolver la versión del servidor CUBRID
  • cubrid_get — Obtener una columna usando OID
  • cubrid_insert_id — Devuelve el ID generado por la última columna actualizada AUTO_INCREMENT
  • cubrid_is_instance — Comprobar si existe la instancia apuntada por OID
  • cubrid_lob_close — Cerrar información BLOB/CLOB
  • cubrid_lob_export — Exportar datos BLOB/CLOB a un fichero
  • cubrid_lob_get — Obtener información BLOB/CLOB
  • cubrid_lob_send — Leer información BLOB/CLOB y enviarla directamente al navegador
  • cubrid_lob_size — Obtener el tamaño de datos BLOB/CLOB
  • cubrid_lob2_bind — Vincula un objeto LOB o un string como un objeto LOB a una sentencia preparada como parámetros
  • cubrid_lob2_close — Cierra un objeto LOB
  • cubrid_lob2_export — Exporta un objeto LOB a un fichero
  • cubrid_lob2_import — Importa datos BLOB/CLOB desde un fichero
  • cubrid_lob2_new — Crea un objeto LOB
  • cubrid_lob2_read — Lee desde datos BLOB/CLOB
  • cubrid_lob2_seek64 — Mueve el cursor de un objeto LOB
  • cubrid_lob2_seek — Mueve el cursor de un objeto LOB
  • cubrid_lob2_size64 — Obtiene el tamaño de un objeto LOB
  • cubrid_lob2_size — Obtiene el tamaño de un objeto LOB
  • cubrid_lob2_tell64 — Indica la posición del cursor de un objeto LOB
  • cubrid_lob2_tell — Indica la posición del cursor de un objeto LOB
  • cubrid_lob2_write — Escribe en un objeto LOB
  • cubrid_lock_read — Establecer un bloqueo de lectura sobre el OID dado
  • cubrid_lock_write — Establecer un bloqueo de escritura para el OID dado
  • cubrid_move_cursor — Mover el cursor en el resultado
  • cubrid_next_result — Obtiene el resultado de la siguiente consulta cuando se ejecutan multiples sentencias SQL
  • cubrid_num_cols — Devolver el número de columnas del conjunto de resultados
  • cubrid_num_rows — Obtener el número de filas del conjunto de resultados
  • cubrid_pconnect_with_url — Abrir una conexión persistente al servidor CUBRID
  • cubrid_pconnect — Abrir una conexión persistente a un servidor CUBRID
  • cubrid_prepare — Preparar una sentencia SQL para su ejecución
  • cubrid_put — Actualizar un atributo usando OID
  • cubrid_rollback — Retroceder una transacción
  • cubrid_schema — Obtener la información del esquema solicitado
  • cubrid_seq_drop — Borrar un elemento de una columna tipo secuencia usando OID
  • cubrid_seq_insert — Insertar un elemento en una columna tipo secuencia usando OID
  • cubrid_seq_put — Actualizar el valor del elemento de la columna de tipo secuencia usando OID
  • cubrid_set_add — Insertar un único elemento en la columna del tipo de conjunto usando OID
  • cubrid_set_autocommit — Establece el modo de confirmación automática de la conexión
  • cubrid_set_db_parameter — Configura los parámetros de la base de datos CUBRID
  • cubrid_set_drop — Borrar un elemento de la columna del tipo de conjunto usando OID
  • cubrid_set_query_timeout — Establecer el tiempo de espera de la ejecución de consultas
  • cubrid_version — Obtener la versión del módulo de PHP de CUBRID
Ejemplos
cubrid_bind
CUBRID


Vincular variables para una sentencia preparada como parámetros

Funciones de CUBRID
cubrid_close_prepare
Funciones de CUBRID
PHP Manual

cubrid_bind

(PECL CUBRID >= 8.3.0)

cubrid_bind — Vincular variables para una sentencia preparada como parámetros

Descripción

bool cubrid_bind ( resource $req_identifier , int $bind_index , mixed $bind_value [, string $bind_value_type ] )

La función cubrid_bind() se usa para vincular valores a un marcador de posición nominado o signo de interrogación correspondiente en la sentencia SQL que fue pasada a cubrid_prepare(). Si no se da bind_value_type, string será lo predeterminado.

Nota:

Si el tipo de datos a ser vinculados es BLOB/CLOB, CUBRID intentará mapear la información como un flujo de PHP. Si el tipo real de valor vinculado no es un flujo, CUBRID intentará convertirlo a cadena, y usarlo como la ruta completa y el nombre de fichero de un fichero del sistema de ficheros cliente.

Si el tipo de datos a ser vinculados explícitamente es ENUM, el argumento $bind_value debería ser el elemento enum que esté en formato string.

En un entorno fragmentado de CUBRID, se debe incluir de $bind_value_type en la función cubrid_bind function.

La siguiente tabla muestra los tipos de los valores sustitutos.

Tipos de Datos de Vinculación de CUBRID
Soporte | Tipo de Vinculación | Tipo SQL Correspondiente
Soportado | STRING | CHAR, VARCHAR
 | NCHAR | NCHAR, NVARCHAR
 | BIT | BIT, VARBIT
 | NUMERIC or NUMBER | SHORT, INT, NUMERIC
 | FLOAT | FLOAT
 | DOUBLE | DOUBLE
 | TIME | TIME
 | DATE | DATE
 | TIMESTAMP | TIMESTAMP
 | OBJECT | OBJECT
 | ENUM | ENUM
 | BLOB | BLOB
 | CLOB | CLOB
 | NULL | NULL
No soportado | SET | SET
 | MULTISET | MULTISET
 | SEQUENCE | SEQUENCE

Parámetros

req_identifier

Identificador de solicitud como resultado de cubrid_prepare()

bind_index

Índice de ubicación de los parámetros de vinculación. Comienza con 1.

bind_value

Valor actual para el vínculo.

bind_index

Un tipo de valor a vincular. (Es omitido por defecto. Así, el sistema internamente usa una cadena por omisión. Sin embargo, se necesita especificar el tipo exacto del valor como argumento cuando son de tipo NCHAR, BIT, o BLOB/CLOB).

Valores devueltos

TRUE, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Historial de cambios

Versión | Descripción
8.3.1 | Añadido el soporte para tipos de datos BLOB/CLOB.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_bind()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

$result = cubrid_execute($conn, "SELECT code FROM event WHERE sports='Basketball' and gender='M'");
$row = cubrid_fetch_array($result, CUBRID_ASSOC);
$event_code = $row["code"];

cubrid_close_request($result);

$game_req = cubrid_prepare($conn, "SELECT athlete_code FROM game WHERE host_year=1992 and event_code=? and nation_code='USA'");
cubrid_bind($game_req, 1, $event_code, "number");
cubrid_execute($game_req);

printf("--- Dream Team (1992 United States men's Olympic basketball team) ---\n");
while ($athlete_code = cubrid_fetch_array($game_req, CUBRID_NUM)) {
    $athlete_req  = cubrid_prepare($conn, "SELECT name FROM athlete WHERE code=? AND  nation_code='USA' AND event='Basketball' AND gender='M'");
    cubrid_bind($athlete_req, 1, $athlete_code[0], "number");
    cubrid_execute($athlete_req);
    $row = cubrid_fetch_assoc($athlete_req);
    printf("%s\n", $row["name"]);
}

cubrid_close_request($game_req);
cubrid_close_request($athlete_req);

cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

--- Dream Team (1992 United States men's Olympic basketball team) ---
Stockton John
Robinson David
Pippen Scottie
Mullin C.
Malone Karl
Laettner C.
Jordan Michael
Johnson Earvin
Ewing Patrick
Drexler Clyde
Bird Larry
Barkley Charles

Ejemplo #2 Ejemplo de BLOB/CLOB de cubrid_bind()

<?php
$con = cubrid_connect("localhost", 33000, "demodb", "dba", "");
if ($con) {
    cubrid_execute($con,"DROP TABLE if exists php_cubrid_lob_test");
    cubrid_execute($con,"CREATE TABLE php_cubrid_lob_test (doc_content CLOB)");
    $sql = "INSERT INTO php_cubrid_lob_test(doc_content) VALUES(?)";
    $req = cubrid_prepare($con, $sql);

    $fp = fopen("book.txt", "rb");

    cubrid_bind($req, 1, $fp, "clob");
    cubrid_execute($req);
}
?>

Ejemplo #3 Ejemplo de BLOB/CLOB de cubrid_bind()

<?php
$con = cubrid_connect("localhost", 33000, "foo");
if ($con) {
    cubrid_execute($con,"DROP TABLE if exists php_cubrid_lob_test");
    cubrid_execute($con,"CREATE TABLE php_cubrid_lob_test (image BLOB)");
    $sql = "INSERT INTO php_cubrid_lob_test(image) VALUES(?)";
    $req = cubrid_prepare($con, $sql);

    cubrid_bind($req, 1, "cubrid_logo.png", "blob");
    cubrid_execute($req);
}
?>

Ver también

  • cubrid_execute() - Ejecutar una sentencia SQL preparada
  • cubrid_prepare() - Preparar una sentencia SQL para su ejecución

Funciones de CUBRID
cubrid_close_prepare
Funciones de CUBRID


Cerrar el gestor de solicitud

cubrid_bind
cubrid_close_request
Funciones de CUBRID
PHP Manual

cubrid_close_prepare

(PECL CUBRID >= 8.3.0)

cubrid_close_prepare — Cerrar el gestor de solicitud

Descripción

bool cubrid_close_prepare ( resource $req_identifier )

La función cubrid_close_prepare() cierra el gestor de solicitud dado por el argumento req_identifier, y libera la región de memoria relacionada con el gestor. Es un alias de cubrid_close_request().

Parámetros

req_identifier

Identificador de solicitud.

Valores devueltos

Devuelve TRUE en caso de éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_close_prepare()

<?php
$con = cubrid_connect ("localhost", 33000, "demodb", "dba", "");
if ($con) {
   echo "conectado con éxito";
   $req = cubrid_execute ( $con, "select * from members",
                           CUBRID_INCLUDE_OID | CUBRID_ASYNC);
   if ($req) {
      while ( list ($id, $nombre) = cubrid_fetch ($req) ){
         echo $id;
         echo $nombre;
      }
      cubrid_close_prepare($req); // o se puede usar cubrid_close_request($req)
   }
   cubrid_disconnect($con);
}
?>

Ver también

  • cubrid_close_request() - Cerrar el gestor de solicitud

cubrid_bind
cubrid_close_request
Funciones de CUBRID


Cerrar el gestor de solicitud

cubrid_close_prepare
cubrid_col_get
Funciones de CUBRID
PHP Manual

cubrid_close_request

(PECL CUBRID >= 8.3.0)

cubrid_close_request — Cerrar el gestor de solicitud

Descripción

bool cubrid_close_request ( resource $req_identifier )

La función cubrid_close_request() cierra el gestor de solicitud dado por el argumento req_identifier, y libera la región de memoria relacionada con el gestor. Es un alias de cubrid_close_prepare().

Parámetros

req_identifier

Identificador de solicitud.

Valores devueltos

Devuelve TRUE en caso de éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_close_request()

<?php
$con = cubrid_connect ("localhost", 33000, "demodb", "dba", "");
if ($con) {
   echo "connected successfully";
   $req = cubrid_execute ( $con, "select * from members",
                           CUBRID_INCLUDE_OID | CUBRID_ASYNC);
   if ($req) {
      while ( list ($id, $name) = cubrid_fetch ($req) ){
         echo $id;
         echo $name;
      }
      cubrid_close_request($req); // o se puede usar cubrid_close_prepare($req)
   }
   cubrid_disconnect($con);
}
?>

Ver también

  • cubrid_execute() - Ejecutar una sentencia SQL preparada

cubrid_close_prepare
cubrid_col_get
Funciones de CUBRID


Obtener el contenido de la columna del tipo de colecctión usando OID

cubrid_close_request
cubrid_col_size
Funciones de CUBRID
PHP Manual

cubrid_col_get

(PECL CUBRID >= 8.3.0)

cubrid_col_get — Obtener el contenido de la columna del tipo de colecctión usando OID

Descripción

array cubrid_col_get ( resource $conn_identifier , string $oid , string $attr_name )

La función cubrid_col_get() se usa para obtener el contenido de los elementos del atributo del tipo de colección (conjunto, multiconjunto, secuencia) que se solicitó como array.

Parámetros

conn_identifier

Identificador de conexión.

oid

El OID de la instancia que se quiere leer.

attr_name

El nombre del atributo de la instancia que se quiere leer.

Valores devueltos

Matriz (númerica basada en 0) que contiene los elementos que se solicitaron, cuando el proceso tiene éxito;

FALSE (para diferenciar del error de la situación en la que el atributo tiene una colección vacía o NULL, en caso de error, se muestra un mensaje de advertencia; en tal caso se puede comprobar el error usando cubrid_error_code()), cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_col_get()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

$size = cubrid_col_size($conn, $oid, "b");
var_dump($size);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
int(3)
cubrid_close_request
cubrid_col_size
Funciones de CUBRID


Obtener el número de elementos de la columna del tipo de colección usando OID

cubrid_col_get
cubrid_column_names
Funciones de CUBRID
PHP Manual

cubrid_col_size

(PECL CUBRID >= 8.3.0)

cubrid_col_size — Obtener el número de elementos de la columna del tipo de colección usando OID

Descripción

int cubrid_col_size ( resource $conn_identifier , string $oid , string $attr_name )

La función cubrid_col_size() se usa para obtener el número de elementos de un atributo de tipo de colección (conjunto, multiconjunto, secuencia).

Parámetros

conn_identifier

Identificador de conexión.

oid

El OID de la instancia con la que se quiere trabajar.

attr_name

Nombre del atributo con el que se quiere trabajar.

Valores devueltos

Número de elementos, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Historial de cambios

Versión | Descripción
8.3.1 | Cambio del valor devuelto: cuando el proceso no tiene éxito devuelve false, no -1.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_col_size()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

$size = cubrid_col_size($conn, $oid, "b");
var_dump($size);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
int(3)
cubrid_col_get
cubrid_column_names
Funciones de CUBRID


Obtener los nombres de las columnas del resultado

cubrid_col_size
cubrid_column_types
Funciones de CUBRID
PHP Manual

cubrid_column_names

(PECL CUBRID >= 8.3.0)

cubrid_column_names — Obtener los nombres de las columnas del resultado

Descripción

array cubrid_column_names ( resource $req_identifier )

La función cubrid_column_names() se usa para obtener los nombres de las columnas del resutado de la consulta usando req_identifier.

Parámetros

req_identifier

Identificador de solicitud.

Valores devueltos

Un array de valores de tipo string que contiene los nombres de las columnas, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_column_names()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$column_names = cubrid_column_names($result);
$column_types = cubrid_column_types($result);

printf("%-30s %-30s %-15s\n", "Column Names", "Column Types", "Column Maxlen");
for($i = 0, $size = count($column_names); $i < $size; $i++) {
    $column_len = cubrid_field_len($result, $i);
    printf("%-30s %-30s %-15s\n", $column_names[$i], $column_types[$i], $column_len);
}

cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

Column Names                   Column Types                   Column Maxlen
host_year                      integer                        11
event_code                     integer                        11
athlete_code                   integer                        11
stadium_code                   integer                        11
nation_code                    char                           3
medal                          char                           1
game_date                      date                           10

Ver también

  • cubrid_prepare() - Preparar una sentencia SQL para su ejecución
  • cubrid_execute() - Ejecutar una sentencia SQL preparada
  • cubrid_column_types() - Obtener los tipos de columnas del resultado

cubrid_col_size
cubrid_column_types
Funciones de CUBRID


Obtener los tipos de columnas del resultado

cubrid_column_names
cubrid_commit
Funciones de CUBRID
PHP Manual

cubrid_column_types

(PECL CUBRID >= 8.3.0)

cubrid_column_types — Obtener los tipos de columnas del resultado

Descripción

array cubrid_column_types ( resource $req_identifier )

La función cubrid_column_types() obtiene los tipos de columnas de los resultados de la consulta usando req_identifier.

Parámetros

req_identifier

Identificador de solicitud.

Valores devueltos

Un array de valores de tipo string que contiene los nombres de las columnas, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_column_types()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$column_names = cubrid_column_names($result);
$column_types = cubrid_column_types($result);

printf("%-30s %-30s %-15s\n", "Column Names", "Column Types", "Column Maxlen");
for($i = 0, $size = count($column_names); $i < $size; $i++) {
    $column_len = cubrid_field_len($result, $i);
    printf("%-30s %-30s %-15s\n", $column_names[$i], $column_types[$i], $column_len);
}

cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

Column Names                   Column Types                   Column Maxlen
host_year                      integer                        11
event_code                     integer                        11
athlete_code                   integer                        11
stadium_code                   integer                        11
nation_code                    char                           3
medal                          char                           1
game_date                      date                           10

Ver también

  • cubrid_column_names() - Obtener los nombres de las columnas del resultado
  • cubrid_prepare() - Preparar una sentencia SQL para su ejecución
  • cubrid_execute() - Ejecutar una sentencia SQL preparada

cubrid_column_names
cubrid_commit
Funciones de CUBRID


Consigna una transacción

cubrid_column_types
cubrid_connect_with_url
Funciones de CUBRID
PHP Manual

cubrid_commit

(PECL CUBRID >= 8.3.0)

cubrid_commit — Consigna una transacción

Descripción

bool cubrid_commit ( resource $conn_identifier )

La función cubrid_commit() se usa para ejecutar el envío de la transacción a la que apunta conn_handle, actualmente en progreso. La conexión al servidor se cierra después de llamar a la función cubrid_commit(); sin embargo, el gestor de conexión todavía es válido.

En CUBRID PHP, se deshabilita un modo de auto consigna por opmisión para la administración de transacciones. Se puede establecer usando cubrid_set_autocommit(). Se puede obtener su estado usando cubrid_get_autocommit(). Antes de comenzar una transacción, acuérdese de deshabilitar el modo de auto consigna.

Parámetros

conn_identifier

Identificador de conexión.

Valores devueltos

TRUE, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_commit()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE publishers");

$sql = <<<EOD
CREATE TABLE publishers(
pub_id CHAR(3),
pub_name VARCHAR(20),
city VARCHAR(15),
state CHAR(2),
country VARCHAR(15)
)
EOD;
cubrid_set_autocommit($conn,false);
if (!cubrid_execute($conn, $sql)) {
    printf("Error  facility: %d\nError code: %d\nError msg: %s\n",  cubrid_error_code_facility(), cubrid_error_code(), cubrid_error_msg());

    cubrid_disconnect($conn);
    exit;
}

$req = cubrid_prepare($conn, "INSERT INTO publishers VALUES(?, ?, ?, ?, ?)");

$id_list = array("P01", "P02", "P03", "P04");
$name_list = array("Abatis Publishers", "Core Dump Books", "Schadenfreude Press", "Tenterhooks Press");
$city_list = array("New York", "San Francisco", "Hamburg", "Berkeley");
$state_list = array("NY", "CA", NULL, "CA");
$country_list = array("USA", "USA", "Germany", "USA");

for ($i = 0, $size = count($id_list); $i < $size; $i++) {
    cubrid_bind($req, 1, $id_list[$i]);
    cubrid_bind($req, 2, $name_list[$i]);
    cubrid_bind($req, 3, $city_list[$i]);
    cubrid_bind($req, 4, $state_list[$i]);
    cubrid_bind($req, 5, $country_list[$i]);

    if (!($ret = cubrid_execute($req))) {
        break;
    }
}

if (!$ret) {
    cubrid_rollback($conn);
} else {
    cubrid_commit($conn);

    $req = cubrid_execute($conn, "SELECT * FROM publishers");
    while ($result = cubrid_fetch_assoc($req)) {
        printf("%-3s %-20s %-15s %-3s %-15s\n",
            $result["pub_id"], $result["pub_name"], $result["city"], $result["state"], $result["country"]);
    }
}

cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

P01 Abatis Publishers    New York        NY  USA
P02 Core Dump Books      San Francisco   CA  USA
P03 Schadenfreude Press  Hamburg             Germany
P04 Tenterhooks Press    Berkeley        CA  USA

Ver también

  • cubrid_rollback() - Retroceder una transacción
  • cubrid_get_autocommit() - Devuelve el modo auto-commit de la conexión
  • cubrid_set_autocommit() - Establece el modo de confirmación automática de la conexión

cubrid_column_types
cubrid_connect_with_url
Funciones de CUBRID


Establecer el entorno para la conexión al servidor de CUBRID

cubrid_commit
cubrid_connect
Funciones de CUBRID
PHP Manual

cubrid_connect_with_url

(PECL CUBRID >= 8.3.1)

cubrid_connect_with_url — Establecer el entorno para la conexión al servidor de CUBRID

Descripción

resource cubrid_connect_with_url ( string $conn_url [, string $userid [, string $passwd [, bool $new_link = false ]]] )

La función cubrid_connect_with_url() se usa para establecer el entorno de conexión a su servidor usando la información de conexión pasada con un argumento de cadena de url. Si la característica HA está habilitada en CUBRID, se debe especificar la información de conexión del servidor de emergencia, el cual se usa para la recuperación de fallos cuando sucede uno, en el argumento de cadena de url de esta función. Si el nombre de usuario y la contraseña no se dan se realizará la conexión "PUBLIC" por omisión.

<url> ::= CUBRID:<host>:<db_name>:<db_user>:<db_password>:[?<properties>]

<properties> ::= <property> [&<property>]

<properties> ::= alhosts=<alternative_hosts>[ &rctime=<time>]

<properties> ::= login_timeout=<milli_sec>

<properties> ::= query_timeout=<milli_sec>

<properties> ::= disconnect_on_query_timeout=true|false

<alternative_hosts> ::= <standby_broker1_host>:<port> [,<standby_broker2_host>:<port>]

<host> := HOSTNAME | IP_ADDR

<time> := SECOND

<milli_sec> := MILLI SECOND

  • host : Un nombre de host o dirección IP de la base de datos maestra
  • db_name : Un nombre de la base de datos
  • db_user : Un nombre del usuario de la base de datos
  • db_password : Una contraseña de usuario de la base de datos
  • alhosts: Especifica la información del agente del servidor de emergencia, el cual se usa para la recuperación de fallos cuando es imposible conectar al servidor activo. Se pueden especificar múltiples agentes para la recuperación de fallos, y la conexión a los agentes se intenta en el orden listado en alhosts
  • rctime : Un intervalo entre los intentos de conexión al agente activo en el que ocurrió el fallo. Después de que ocurra un fallo, el sistema se conecta al agente especificado por althosts (recuperación de fallos), finaliza la transacción, y después intenta conectarse al agente activo de la base de datos maestra cada rctime. El valor predeterminado es 600 segundos.
  • login_timeout : Valor de tiempo de espera (unidad: mseg.) para la identificación en la base de datos. El valor predeterminado es 0, lo que significa un aplazamiento infinito.
  • query_timeout : Valor de tiempo de espera (unidad: mseg.) para la solicitud de consulta. Cuando finaliza el tiempo de espera, se envía al servidor un mensaje para cancelar la transferencia de la consulta. El valor devuelto puede depender de de la configuración de disconnect_on_query_timeout; incluso si el mensaje para cancelar una petición es enviado al servidor, tal peticioón puede realizarse.
  • disconnect_on_query_timeout : Configura un valor para establecer si devolver inmediantamente un error de función que está siendo ejecutada al finalizar el tiempo de espera. El valor predeterminado es false.

Nota:

? y :, que son usados como identificadores en el URL de conexión de PHP, no pueden ser incluidos en la contraseña. El siguiente es un ejemplo de una contraseña que no es válida para usarla como URL de conexión ya que contiene "?:".

$url = "CUBRID:localhost:33000:tdb:dba:12?:?login_timeout=100";

Las contraseñas que contengan ? o : se pueden pasar como un parámetro aparte.

$url = "CUBRID:localhost:33000:tbd:::?login_timeout=100";

$conn = cubrid_connect_with_url($url, "dba", "12?");

Si el usuario o la contraseña están vacíos no se podrá borrar ":". He aquí un ejemplo:

$url = "CUBRID:localhost:33000:demodb:::";

Parámetros

conn_url

Una cadena de caracteres que contiene la información de conexión al servidor.

userid

El nombre de usuario de la base de datos.

passwd

La contraseña del usuario.

new_link

Si se hace una segunda llamada a cubrid_connect_with_url() con los mismos argumentos, no se establecerá una nueva conexión, en su lugar, se devolverá el identificador de conexión de la conexión ya abierta. El parámetro new_link modifica este comportamiento y hace que cubrid_connect_with_url() abra siempre una nueva conexión, incluso si cubrid_connect_with_url() fue llamada antes con los mismos parámetros.

Valores devueltos

El identificador de conexión, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_connect_with_url(), url sin propiedades

<?php
$conn_url = "CUBRID:localhost:33000:demodb:dba::";
$con = cubrid_connect_with_url($conn_url);

if ($con) {
   echo "Se conectó con éxito";
   cubrid_execute($con, "create table person(id int,name char(16))");
   $req =cubrid_execute($con, "insert into person values(1,'James')");

   if ($req) {
      cubrid_close_request($req);
      cubrid_commit($con);
   } else {
      cubrid_rollback($con);
   }
   cubrid_disconnect($con);
}
?>

Ejemplo #2 Ejemplo de cubrid_connect_with_url(), url con propiedades

<?php
$conn_url = "CUBRID:127.0.0.1:33000:demodb:dba::?login_timeout=100"
$con = cubrid_connect_with_url ($conn_url);

if ($con) {
   echo "Se conectó con éxito";
   cubrid_execute($con, "create table person(id int,name char(16))");
   $req =cubrid_execute($con, "insert into person values(1,'James')");

   if ($req) {
      cubrid_close_request($req);
      cubrid_commit($con);
   } else {
      cubrid_rollback($con);
   }
   cubrid_disconnect($con);
}
?>

Ver también

  • cubrid_connect() - Abrir una conexión al servidor CUBRID
  • cubrid_pconnect() - Abrir una conexión persistente a un servidor CUBRID
  • cubrid_pconnect_with_url() - Abrir una conexión persistente al servidor CUBRID
  • cubrid_disconnect() - Cerrar una conexión a una base de datos
  • cubrid_close() - Cerrar la conexión de CUBRID

cubrid_commit
cubrid_connect
Funciones de CUBRID


Abrir una conexión al servidor CUBRID

cubrid_connect_with_url
cubrid_current_oid
Funciones de CUBRID
PHP Manual

cubrid_connect

(PECL CUBRID >= 8.3.1)

cubrid_connect — Abrir una conexión al servidor CUBRID

Descripción

resource cubrid_connect ( string $host , int $port , string $dbname [, string $userid [, string $passwd [, bool $new_link = false ]]] )

La función cubrid_connect() se usa para establecer el entorno para la conexión al servidor usando la dirección del servidor, número de puerto, nombre de la base de datos, nombre de usuario, y contraseña. Si no se dan el nombre de usuario y la contraseña, se realizará la conexión "PUBLIC" por defecto.

Parámetros

host

Nombre del host o dirección IP del servidor CAS de CUBRID.

port

Número de puerto del servidor CAS de CUBRID (BROKER_PORT configurado en $CUBRID/conf/cubrid_broker.conf).

dbname

Nombre de la base de datos.

userid

Nombre de usuario para la base de datos. Si no se da, el valor por omisión es "public".

passwd

Contraseña del usuario. Si no se da, el valor por omisión es "".

new_link

Si se hace una segunda llamada a cubrid_connect() con los mismos argumentos, no se establecerá una nueva conexión, en su lugar, se devolverá el identificador de conexión de la conexión ya abierta. El parámetro new_link modifica este comportamiento y hace que cubrid_connect() abra siempre una nueva conexión, incluso si cubrid_connect() fue llamada antes con los mismos parámetros.

Valores devueltos

El identificador de conexión, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_connect()

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

if (!$conn) {
    die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
    printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Información del Servidor:", $server_info);
printf("%-30s %s\n", "Información del Cliente:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "Conjunto de carac.:", $charset);

cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

CUBRID PHP Version:            9.1.0.0001

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              0

Información del Servidor:      9.1.0.0212
Información del Cliente:       9.1.0

Conjunto de carac. de CUBRID:  iso8859-1

Ver también

  • cubrid_pconnect() - Abrir una conexión persistente a un servidor CUBRID
  • cubrid_connect_with_url() - Establecer el entorno para la conexión al servidor de CUBRID
  • cubrid_pconnect_with_url() - Abrir una conexión persistente al servidor CUBRID
  • cubrid_disconnect() - Cerrar una conexión a una base de datos
  • cubrid_close() - Cerrar la conexión de CUBRID

cubrid_connect_with_url
cubrid_current_oid
Funciones de CUBRID


Obtener el OID de la posición del cursor actual

cubrid_connect
cubrid_disconnect
Funciones de CUBRID
PHP Manual

cubrid_current_oid

(PECL CUBRID >= 8.3.0)

cubrid_current_oid — Obtener el OID de la posición del cursor actual

Descripción

string cubrid_current_oid ( resource $req_identifier )

La función cubrid_current_oid() se usa para obtener el oid de la posición del cursor actual desde el resultado de la consulta. Para usar cubrid_current_oid(), la consulta ejecutada debe ser una consulta actualizable, y se debe incluir la opción CUBRID_INCLUDE_OID durante la ejecución de la consulta.

Parámetros

req_identifier

Identificador de solicitud.

Valores devueltos

Oid de la posición del cursor actual, cuando el proceso tiene éxito

FALSE, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_current_oid()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

$req = cubrid_execute($conn, "SELECT * FROM code", CUBRID_INCLUDE_OID);
$oid = cubrid_current_oid($req);
$res = cubrid_get($conn, $oid);

print_r($res);

cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

Array
(
    [s_name] => X
    [f_name] => Mixed
)

Ver también

  • cubrid_execute() - Ejecutar una sentencia SQL preparada

cubrid_connect
cubrid_disconnect
Funciones de CUBRID


Cerrar una conexión a una base de datos

cubrid_current_oid
cubrid_drop
Funciones de CUBRID
PHP Manual

cubrid_disconnect

(PECL CUBRID >= 8.3.0)

cubrid_disconnect — Cerrar una conexión a una base de datos

Descripción

bool cubrid_disconnect ([ resource $conn_identifier ] )

La función cubrid_disconnect() cierra el gestor de conexión y se desconecta del servidor. Si algún gestor de solicitud no se ha sido cerrado en este punto, será cerrado. Es similar a la función de CUBRID compatible con MySQL cubrid_close().

Parámetros

conn_identifier

Identificador de conexión.

Valores devueltos

TRUE, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_disconnect()

<?php
$con = cubrid_connect ("localhost", 33000, "demodb");
if ($con) {
   echo "conectado con éxito";

   $req = cubrid_execute( $con, "create table person(id int,name char(10))");
   if ($req) {
      cubrid_close_request($req);
      cubrid_commit($con);
   } else {
      cubrid_rollback($con);
   }

   $req = cubrid_execute( $con, "insert into person values(1,'James')");
   if ($req) {
      cubrid_close_request($req);
      cubrid_commit($con);
   } else {
      cubrid_rollback($con);
   }
   cubrid_disconnect($con);
}
?>

Ver también

  • cubrid_close() - Cerrar la conexión de CUBRID
  • cubrid_connect() - Abrir una conexión al servidor CUBRID
  • cubrid_connect_with_url() - Establecer el entorno para la conexión al servidor de CUBRID

cubrid_current_oid
cubrid_drop
Funciones de CUBRID


Borrar una instancia usando OID

cubrid_disconnect
cubrid_error_code_facility
Funciones de CUBRID
PHP Manual

cubrid_drop

(PECL CUBRID >= 8.3.0)

cubrid_drop — Borrar una instancia usando OID

Descripción

bool cubrid_drop ( resource $conn_identifier , string $oid )

La función cubrid_drop() se usa para borrar una instancia de la base de datos usando el oid de la instancia.

Parámetros

conn_identifier

Identificador de conexión.

oid

Oid de la instancia que se quiere borrar.

Valores devueltos

TRUE, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_drop()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(2, {4,5,7}, {44,55,66,666}, 'b')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

printf("--- Antes de Drop: ---\n");
$attr = cubrid_get($conn, $oid);
var_dump($attr);

if (cubrid_drop($conn, $oid)) {
    cubrid_commit($conn);
} else {
    cubrid_rollback($conn);
}

cubrid_close_request($req);

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

printf("\n--- Después de Drop: ---\n");
$attr = cubrid_get($conn, $oid);
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

--- Antes de Drop: ---
array(4) {
  ["a"]=>
  string(1) "1"
  ["b"]=>
  array(3) {
    [0]=>
    string(1) "1"
    [1]=>
    string(1) "2"
    [2]=>
    string(1) "3"
  }
  ["c"]=>
  array(4) {
    [0]=>
    string(2) "11"
    [1]=>
    string(2) "22"
    [2]=>
    string(2) "33"
    [3]=>
    string(3) "333"
  }
  ["d"]=>
  string(10) "a         "
}

--- Después de Drop: ---
array(4) {
  ["a"]=>
  string(1) "2"
  ["b"]=>
  array(3) {
    [0]=>
    string(1) "4"
    [1]=>
    string(1) "5"
    [2]=>
    string(1) "7"
  }
  ["c"]=>
  array(4) {
    [0]=>
    string(2) "44"
    [1]=>
    string(2) "55"
    [2]=>
    string(2) "66"
    [3]=>
    string(3) "666"
  }
  ["d"]=>
  string(10) "b         "
}

Ver también

  • cubrid_is_instance() - Comprobar si existe la instancia apuntada por OID

cubrid_disconnect
cubrid_error_code_facility
Funciones de CUBRID


Obtener el código de error del dispositivo

cubrid_drop
cubrid_error_code
Funciones de CUBRID
PHP Manual

cubrid_error_code_facility

(PECL CUBRID >= 8.3.0)

cubrid_error_code_facility — Obtener el código de error del dispositivo

Descripción

int cubrid_error_code_facility ( void )

La función cubrid_error_code_facility() se usa para obtener el código de dispositivo (nivel en el que ocurrió el error) desde el código de error del error que ocurrió durante la ejecución de la API. Normalmente, se puede obtener el código de error cuando la API devuelve false como valor de retorno.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Código de dispositivo del código de error que ocuriió: CUBRID_FACILITY_DBMS, CUBRID_FACILITY_CAS, CUBRID_FACILITY_CCI, CUBRID_FACILITY_CLIENT

Ejemplos

Ejemplo #1 Ejemplo de cubrid_error_code_facility()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = @cubrid_execute($conn, "SELECT * FROM unknown");
if (!$req) {
    printf("Dispositivo del error: %d\nCódigo de error: %d\nMensaje de error: %s\n",
        cubrid_error_code_facility(), cubrid_error_code(), cubrid_error_msg());

    cubrid_disconnect($conn);
    exit;
}
?>

El resultado del ejemplo sería:

Dispositivo del error: 1
Código de error: -493
Mensaje de error: Syntax: In line 1, column 15 before END OF STATEMENT
Syntax error: unexpected 'unknown'

Ver también

  • cubrid_error_code() - Obtener el código de error de la llamada a una función más reciente
  • cubrid_error_msg() - Obtener el último mensaje de error de la llamada a la función más reciente

cubrid_drop
cubrid_error_code
Funciones de CUBRID


Obtener el código de error de la llamada a una función más reciente

cubrid_error_code_facility
cubrid_error_msg
Funciones de CUBRID
PHP Manual

cubrid_error_code

(PECL CUBRID >= 8.3.0)

cubrid_error_code — Obtener el código de error de la llamada a una función más reciente

Descripción

int cubrid_error_code ( void )

La función cubrid_error_code() se usa para obtener el código de error del error que ocurrión durante la ejecución de la API. Normalmente obtiene el código de error cuando la API devuelve false como valor de retorno.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Código de error del error que ocurrió, o 0 (cero) si no ocurre ningún error.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_error_code()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_prepare($conn , "SELECT * FROM code WHERE s_name=?");

$req = @cubrid_execute($req);
if (!$req) {
    printf("Dispositivo del error: %d\nCódigo de error: %d\nMensaje de error: %s\n",
        cubrid_error_code_facility(), cubrid_error_code(), cubrid_error_msg());

    cubrid_disconnect($conn);
    exit;
}
?>

El resultado del ejemplo sería:

Dispositivo del error: 4
Código de error: -30015
Mensaje de error: Some parameter not binded

Ver también

  • cubrid_error_code_facility() - Obtener el código de error del dispositivo
  • cubrid_error_msg() - Obtener el último mensaje de error de la llamada a la función más reciente

cubrid_error_code_facility
cubrid_error_msg
Funciones de CUBRID


Obtener el último mensaje de error de la llamada a la función más reciente

cubrid_error_code
cubrid_execute
Funciones de CUBRID
PHP Manual

cubrid_error_msg

(PECL CUBRID >= 8.3.0)

cubrid_error_msg — Obtener el último mensaje de error de la llamada a la función más reciente

Descripción

string cubrid_error_msg ( void )

La función cubrid_error_msg() se usa para obtener el mensaje de error que ocurrió durante la utilización de la API CUBRID. Normalmente obtiene el mensaje de error cuando la API devuelve false como valor de retorno.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El mensaje de error que ocurrió.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_error_msg()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

if (!@cubrid_schema($conn, 100000)) {
    printf("Dispositivo del error: %d\nCódigo de error: %d\nMensaje de error: %s\n",
        cubrid_error_code_facility(), cubrid_error_code(), cubrid_error_msg());

    cubrid_disconnect($conn);
    exit;
}
?>

El resultado del ejemplo sería:

Dispositivo del error: 2
Código de error: -10015
Mensaje de error: Invalid T_CCI_SCH_TYPE value

Ver también

  • cubrid_error_code() - Obtener el código de error de la llamada a una función más reciente
  • cubrid_error_code_facility() - Obtener el código de error del dispositivo

cubrid_error_code
cubrid_execute
Funciones de CUBRID


Ejecutar una sentencia SQL preparada

cubrid_error_msg
cubrid_fetch
Funciones de CUBRID
PHP Manual

cubrid_execute

(PECL CUBRID >= 8.3.0)

cubrid_execute — Ejecutar una sentencia SQL preparada

Descripción

resource cubrid_execute ( resource $conn_identifier , string $sql [, int $option ] )
bool cubrid_execute ( resource $request_identifier [, int $option ] )

La función cubrid_execute() se usa para ejecutar la sentencia SQL dada. Ejecuta la consulta usando conn_identifier y SQL, y luego devuelve el gestor de solicitud creado. Se usa para la simple ejecución de la consulta, donde el parámetro de enlace no es necesario. Además, la función cubrid_execute() se usa para ejecutar la sentencia preparada por medio de cubrid_prepare() y cubrid_bind(). En este momento se necesitan especificar los argumentos request_identifier y option.

El argumento option se usa para determinar si recibir el OID después de la ejecución de la consulta y si ejecutar la consulta en modo síncrono o asíncrono. Se pueden especificar CUBRID_INCLUDE_OID y CUBRID_ASYNC (o CUBRID_EXEC_QUERY_ALL si se desea ejecutar múltiples sentencias SQL) usando un operador OR a nivel de bit. Si no se especifica, ninguna de ellas será seleccionada. Si la bandera CUBRID_EXEC_QUERY_ALL está activa, el modo síncrono (sync_mode) se usa para devolver los resultados de la consulta, y en esos casos las siguientes reglas serán aplicadas:

  • El valor devuelto es el resultado de la primera petición.
  • Si sucede un error en la consulta, la ejecución se procesa como un fallo.
  • En una consulta compuesta por c1, c2, c3, si sucede un error en c2 después del éxito de la ejecución de c1, el resultado de c1 permanece válido. Esto es, los éxitos previos en las ejecucuiones de consultas no se repiten cuando sucede un error.
  • Si una consulta se ejecuta de forma satisfactoria, el resultado de la segunda consulta puede obtenerse usando la función cubrid_next_result().

Si el primer argumento es request_identifier para ejecutar la función cubrid_prepare(), se puede especificar una opción, solamente CUBRID_ASYNC.

Parámetros

conn_identifier

Identificador de conexión.

sql

SQL a ser ejecutado.

option

La opción de ejecución de la consulta CUBRID_INCLUDE_OID, CUBRID_ASYNC, CUBRID_EXEC_QUERY_ALL.

request_identifier

Identificador de cubrid_prepare().

Valores devueltos

Gestor de solicitud, cuando el proceso tiene éxito y el primer parámetro es conn_identifier; TRUE, cuando el proceso tiene éxito y el primer argumento es request_identifier.

FALSE, cuando el proceso no tiene éxito.

Historial de cambios

Versión | Descripción
8.4.0 | Añade CUBRID_EXEC_QUERY_ALL como opción nueva.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_execute()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$result = cubrid_execute($conn, "SELECT code FROM event WHERE name='100m Butterfly' and gender='M'", CUBRID_ASYNC);
$row = cubrid_fetch_array($result, CUBRID_ASSOC);
$event_code = $row["code"];

cubrid_close_request($result);

$history_req = cubrid_prepare($conn, "SELECT * FROM history WHERE event_code=?");
cubrid_bind($history_req, 1, $event_code, "number");
cubrid_execute($history_req);

printf("%-20s %-9s %-10s %-5s\n", "athlete", "host_year", "score", "unit");
while ($row = cubrid_fetch_array($history_req, CUBRID_ASSOC)) {
    printf("%-20s %-9s %-10s %-5s\n",
        $row["athlete"], $row["host_year"], $row["score"], $row["unit"]);
}

cubrid_close_request($history_req);

cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

athlete              host_year score      unit
Phelps Michael       2004      51.25      time

Ver también

  • cubrid_prepare() - Preparar una sentencia SQL para su ejecución
  • cubrid_bind() - Vincular variables para una sentencia preparada como parámetros
  • cubrid_next_result() - Obtiene el resultado de la siguiente consulta cuando se ejecutan multiples sentencias SQL
  • cubrid_close_request() - Cerrar el gestor de solicitud
  • cubrid_commit() - Consigna una transacción
  • cubrid_rollback() - Retroceder una transacción

cubrid_error_msg
cubrid_fetch
Funciones de CUBRID


Obtener la siguiente fila de un conjunto de resultados

cubrid_execute
cubrid_free_result
Funciones de CUBRID
PHP Manual

cubrid_fetch

(PECL CUBRID >= 8.3.0)

cubrid_fetch — Obtener la siguiente fila de un conjunto de resultados

Descripción

mixed cubrid_fetch ( resource $result [, int $type = CUBRID_BOTH ] )

La función cubrid_fetch() se usa para obtener una única fila del resultado de la consulta. El cursor se mueve automáticamente a la siguiente columna después de obtener el resultado.

Parámetros

result

result proviene de una llamada a la función cubrid_execute().

type

Tipo de array del resultado obtenido: CUBRID_NUM, CUBRID_ASSOC, CUBRID_BOTH, CUBRID_OBJECT. Si se operan con objetos lob, se puede usar CUBRID_LOB.

Valores devueltos

Un array de resultados u objeto, cuando el proceso tiene éxito.

FALSE, cuando no existen más filas; NULL, cuando el proceso no tiene éxito.

El resultado se puede recibir como array o como objeto, por lo que se puede decidir qué tipo de datos usar estableciendo el argumento type. La variable type se puede establecer a uno de los siguientes valores:

  • CUBRID_NUM : Array numérico (basado en 0)
  • CUBRID_ASSOC : Array asociativo
  • CUBRID_BOTH : Array numérico y asociativo (predeterminado)
  • CUBRID_OBJECT : Objeto que tiene el nombre del atributo como el nombre de la columna del resultado de la consulta

Cuando se omite el argumento type, el resultado será recibido usando la opción predeterminada CUBRID_BOTH. Cuando se quiere recibir el resultado de la consulta como objeto, el nombre de la columna del resultado debe obedecer las reglas de nombres de los identificadores de PHP. Por ejemplo, un nombre de columna como "count(*)" no puede ser recibido como objeto.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_fetch()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$solicitud = cubrid_execute($conexión, "SELECT * FROM stadium WHERE nation_code='GRE' AND seats > 10000");

printf("%-40s %-10s %-6s %-20s\n", "name", "area", "seats", "address");
while ($fila = cubrid_fetch($solicitud)) {
    printf("%-40s %-10s %-6s %-20s\n",
        $fila["name"], $fila["area"], $fila["seats"], $fila["address"]);
}

// si se operan con objetos lob, se puede usar cubrid_fetch($solicitud, CUBRID_LOB)

cubrid_close_request($solicitud);

cubrid_disconnect($conexión);
?>

El resultado del ejemplo sería:

name                                     area       seats  address
Panathinaiko Stadium                     86300.00   50000  Athens, Greece
Olympic Stadium                          54700.00   13000  Athens, Greece
Olympic Indoor Hall                      34100.00   18800  Athens, Greece
Olympic Hall                             52400.00   21000  Athens, Greece
Olympic Aquatic Centre                   42500.00   11500  Athens, Greece
Markopoulo Olympic Equestrian Centre     64000.00   15000  Markopoulo, Athens, Greece
Faliro Coastal Zone Olympic Complex      34650.00   12171  Faliro, Athens, Greece
Athens Olympic Stadium                   120400.00  71030  Maroussi, Athens, Greece
Ano Liossia                              34000.00   12000  Ano Liosia, Athens, Greece

Ver también

  • cubrid_execute() - Ejecutar una sentencia SQL preparada
  • cubrid_fetch_array() - Extrae una fila como array asociativo, numérico o ambos
  • cubrid_fetch_row() - Devuelve un array numérico con los valores de la fila actual
  • cubrid_fetch_assoc() - Devuelve un array asociativo que se corresponde con la fila obtenida
  • cubrid_fetch_object() - Devuelve un objeto con los nombres de las columnas

cubrid_execute
cubrid_free_result
Funciones de CUBRID


Liberar la memoria ocupada por los datos del resultado

cubrid_fetch
cubrid_get_autocommit
Funciones de CUBRID
PHP Manual

cubrid_free_result

(PECL CUBRID >= 8.3.0)

cubrid_free_result — Liberar la memoria ocupada por los datos del resultado

Descripción

bool cubrid_free_result ( resource $req_identifier )

Esta función libera la memoria ocupada por los datos del resultado. Devuelve TRUE en caso de éxito o FALSE en caso de error. Observe que sólo se puede liberar el buffer de obtención del cliente, y si se quiere liberar toda la memoria, use la función cubrid_close_request().

Parámetros

req_identifier

Éste es el identificador de solicitud.

Valores devueltos

TRUE en caso de éxito.

FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_free_result()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$req = cubrid_execute($conn, "SELECT * FROM history WHERE host_year=2004 ORDER BY event_code");
$row = cubrid_fetch_assoc($req);
var_dump($row);

cubrid_free_result($req);
cubrid_close_request($req);
cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

array(5) {
  ["event_code"]=>
  string(5) "20005"
  ["athlete"]=>
  string(12) "Hayes Joanna"
  ["host_year"]=>
  string(4) "2004"
  ["score"]=>
  string(5) "12.37"
  ["unit"]=>
  string(4) "time"
}
cubrid_fetch
cubrid_get_autocommit
Funciones de CUBRID


Devuelve el modo auto-commit de la conexión

cubrid_free_result
cubrid_get_charset
Funciones de CUBRID
PHP Manual

cubrid_get_autocommit

(PECL CUBRID >= 8.4.0)

cubrid_get_autocommit — Devuelve el modo auto-commit de la conexión

Descripción

bool cubrid_get_autocommit ( resource $conn_identifier )

La función cubrid_get_autocommit() se usa para obtener el estado del modo auto-commit de la conexión de dase de batos CUBIRD.

Para CUBRID 8.4.0, el modo auto-commit está deshabilitado de forma predeterminada para administración de transacciones.

Para CUBRID 8.4.1, el modo auto-commit está habilitado de forma predeterminada para administración de transacciones.

Parámetros

conn_identifier

Identificador de conexión.

Valores devueltos

TRUE, cuando el auto-commit está activado.

FALSE, cuando el auto-commit está desactivado.

NULL en caso de error.

Ver también

  • cubrid_set_autocommit() - Establece el modo de confirmación automática de la conexión
  • cubrid_commit() - Consigna una transacción

cubrid_free_result
cubrid_get_charset
Funciones de CUBRID


Devolver el conjunto de caracteres de la conexión CUBRID actual

cubrid_get_autocommit
cubrid_get_class_name
Funciones de CUBRID
PHP Manual

cubrid_get_charset

(PECL CUBRID >= 8.3.0)

cubrid_get_charset — Devolver el conjunto de caracteres de la conexión CUBRID actual

Descripción

string cubrid_get_charset ( resource $conn_identifier )

Esta función devuelve el conjunto de caracteres de la conexión CUBRID actual y es similar a la función de CUBRID compatible con MySQL cubrid_client_encoding().

Parámetros

conn_identifier

La conexión CUBRID.

Valores devueltos

Una cadena que representa el conjunto de caracteres de la conexión CUBRID; en caso de éxito.

FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_get_charset()

<?php

$con = cubrid_connect("localhost", 33000, "demodb");
if (!$con)
{
    die('No se pudo realizar la conexión.');
}

printf("Conjunto de caracteres actual de CUBRID: %s\n", cubrid_get_charset($con));

?>

El resultado del ejemplo sería:

CUBRID current charset: iso8859-1

Ver también

  • cubrid_client_encoding() - Devuelve el actual conjunto de caracteres de la conexión a CUBRID

cubrid_get_autocommit
cubrid_get_class_name
Funciones de CUBRID


Obtener el nombre de la clase usando OID

cubrid_get_charset
cubrid_get_client_info
Funciones de CUBRID
PHP Manual

cubrid_get_class_name

(PECL CUBRID >= 8.3.0)

cubrid_get_class_name — Obtener el nombre de la clase usando OID

Descripción

string cubrid_get_class_name ( resource $conn_identifier , string $oid )

La función cubrid_get_class_name() se usa para obtener el nombre de la clase del oid. No funciona al seleccionar datos desde las tablas del sistema, por ejemplo db_class.

Parámetros

conn_identifier

Identificador de conexión.

oid

Oid de la instancia de la que se quiere comprobar su existencia.

Valores devueltos

El nombre de la clase cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_get_class_name()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

$req = cubrid_execute($conn, "SELECT * FROM code", CUBRID_INCLUDE_OID);
$oid = cubrid_current_oid($req);
$class_name = cubrid_get_class_name($conn, $oid);

print_r($class_name);

cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

code

Ver también

  • cubrid_is_instance() - Comprobar si existe la instancia apuntada por OID
  • cubrid_drop() - Borrar una instancia usando OID

cubrid_get_charset
cubrid_get_client_info
Funciones de CUBRID


Devolver la versión de la biblioteca cliente

cubrid_get_class_name
cubrid_get_db_parameter
Funciones de CUBRID
PHP Manual

cubrid_get_client_info

(PECL CUBRID >= 8.3.0)

cubrid_get_client_info — Devolver la versión de la biblioteca cliente

Descripción

string cubrid_get_client_info ( void )

Esta función devuelve una cadena que representa la versión de la biblioteca cliente.

Parámetros

Valores devueltos

Una cadena que representa la versión de la biblioteca cliente; en caso de éxito.

FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_get_client_info()

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_connect("localhost", 33088, "demodb");

if (!$conn) {
    die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
    printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);

?>

El resultado del ejemplo sería:

CUBRID PHP Version:            9.1.0.0001

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              0

Server Info:                   9.1.0.0212
Client Info:                   9.1.0

CUBRID Charset:                iso8859-1
cubrid_get_class_name
cubrid_get_db_parameter
Funciones de CUBRID


Devuelve los parámetros de la base de datos CUBRID

cubrid_get_client_info
cubrid_get_query_timeout
Funciones de CUBRID
PHP Manual

cubrid_get_db_parameter

(PECL CUBRID >= 8.3.0)

cubrid_get_db_parameter — Devuelve los parámetros de la base de datos CUBRID

Descripción

array cubrid_get_db_parameter ( resource $conn_identifier )

Esta función devuelve los parámetros de la base de datos CUBRID o FALSE en caso de error. Devuelve un array asociativo con los valores de los siguientes parámetros:

  • PARAM_ISOLATION_LEVEL
  • PARAM_LOCK_TIMEOUT
  • PARAM_MAX_STRING_LENGTH
  • PARAM_AUTO_COMMIT

Parámetros de la base de datos
Parámetro | Descripción
PARAM_ISOLATION_LEVEL | El nivel de aislamiento de la transacción.
LOCK_TIMEOUT | CUBRID proporciona la característica de bloqueo de tiempo de espera, que establece el tiempo de espera (en segundos) para el bloqueo hasta que el ajuste de bloqueo de transacción se permite. El valor predeterminado del parámetro lock_timeout_in_secs es -1, lo que significa que la aplicación cliente esperará indefinidamente hasta que se permita el bloqueo de transacción.
PARAM_AUTO_COMMIT | En CUBRID PHP, el modo de auto consigna es desabilitado por omisión por el gestor de transacciones. Puede establecerse usando la función cubrid_set_autocommit().

La siguiente tabla muestra los niveles de aislamiento desde 1 hasta 6. Consiste en esquema de tabla (fila) y nivel de aislamiento:

Niveles de Aislamiento Soportados por CUBRID
Nombre | Descripción
SERIALIZABLE (6) | En este nivel de aislamiento, los problemas concernientes a la concurrencia (p.ej. lectura basura, lectura no repetible, lectura fantasma, etc.) no ocurren.
CLASE DE LECTURA REPETIBLE con INSTANCIAS DE LECTURA REPETIBLE (5) | Otra transacción T2 no puede actualizar el esquema de una tabla A mientras la transacción T1 está viendo la tabla A. La transacción T1 puede experimentar lectura fantasma para el registro R que fue insertado por otra transacción T2 cuando está obtenido repetidamente un registro especificado.
CLASE DE LECTURA REPETIBLE con INSTANCIAS CONSIGNADAS DE LECTURA (o ESTABILIDAD DE CURSOR) (4) | Otra transacción T2 no puede actualizar el esquema de una tabla A mientras la transacción T1 está viendo la tabla A. La transacción T1 puede experimentar lectura R (lectura no repetible) que fue actualizada y consignada por otra transacción T2 cuando está obteniendo repetidamente el registro R.
CLASE DE LECTURA REPETIBLE con INSTANCIAS NO CONSIGNADAS DE LECTURA (3) | Nivel de aislamiento predeterminado. Otra transacción T2 no puede actualizar el esquema de la tabla A mientras la transacción T1 está viendo la tabla A. La transacción T1 puede experimentar lectura R' (lectura basura) para el registro que fue actualizado pero no consignado por otra transacción T2.
CLASE CONSIGNADA DE LECTURA con INSTANCIAS CONSIGNADAS DE LECTURA (2) | La transacción T1 puede experimentar lectura A' (lectura no repetible) para la tabla que fue actualizada y consignada por otra transacción T2 mientras que está viendo la tabla A repetidamente. La transacción T1 puede experimentar lectura R' (lectura no repetible) para el registro que fue actualizado y consignado por otra transacción T2 mientras se está obteniendo el registro R repetidamente.
CLASE CONSIGNADA DE LECTURA con INSTANCIAS NO CONSIGNADAS DE LECTURA (1) | La transacción T1 puede experimentar lectura A' (lectura no repetible) para la tabla que fue actualizada y consignada por otra transacción T2 mientras que se ve repetidamente la tabla A. La transacción T1 puede experimentar lectura R' (lectura basura) para el registro qeu fue actualizado pero no consignado por otra transacción T2.

Parámetros

conn_identifier

La conexión CUBRID. Si el identificador de conexión no se especifica, se asume el último enlace abierto por cubrid_connect().

Valores devueltos

Una matriz asociativa con los parámetros de la base de datos CUBRID; en caso de éxito.

FALSE en caso de error.

Historial de cambios

Versión | Descripción
8.4.0 | Cambia LOCK_TIMEOUT a PARAM_LOCK_TIMEOUT, y MAX_STRING_LENGTH a PARAM_MAX_STRING_LENGTH en el resultado.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_get_db_parameter()

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_connect("localhost", 33088, "demodb");

if (!$conn) {
    die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
    printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);

?>

El resultado del ejemplo sería:

CUBRID PHP Version:            9.1.0.0001

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              1

Server Info:                   9.1.0.0212
Client Info:                   9.1.0

CUBRID Charset:                iso8859-1

Ver también

  • cubrid_set_db_parameter() - Configura los parámetros de la base de datos CUBRID
  • cubrid_get_autocommit() - Devuelve el modo auto-commit de la conexión

cubrid_get_client_info
cubrid_get_query_timeout
Funciones de CUBRID


Obtener el valor del tiempo de espera de consulta de la petición

cubrid_get_db_parameter
cubrid_get_server_info
Funciones de CUBRID
PHP Manual

cubrid_get_query_timeout

(PECL CUBRID >= 8.4.1)

cubrid_get_query_timeout — Obtener el valor del tiempo de espera de consulta de la petición

Descripción

int cubrid_get_query_timeout ( resource $req_identifier )

La función cubrid_get_query_timeout() se usa para obtener el tiempo de espera de consulta de la petición.

Parámetros

req_identifier

Identificador de petición.

Valores devueltos

Éxito: el valor del tiempo de espera de constula de la petición actual. Unidades de milisegundos.

Fallo: FALSE

Ejemplos

Ejemplo #1 Ejemplo de cubrid_get_query_timeout()

<?php

$host = "localhost";
$port = 33000;
$db = "demodb";

$conn =
cubrid_connect_with_url("CUBRID:$host:$port:$db:::?login_timeout=50000&query_timeout=5000&disconnect_on_query_timeout=yes");

$req = cubrid_prepare($conn, "SELECT * FROM code");

$timeout = cubrid_get_query_timeout($req);
var_dump($timeout);

cubrid_set_query_timeout($req, 1000);
$timeout = cubrid_get_query_timeout($req);
var_dump($timeout);

cubrid_close($conn);
?>

El resultado del ejemplo sería:

int(5000)
int(1000)

Ver también

  • cubrid_set_query_timeout() - Establecer el tiempo de espera de la ejecución de consultas

cubrid_get_db_parameter
cubrid_get_server_info
Funciones de CUBRID


Devolver la versión del servidor CUBRID

cubrid_get_query_timeout
cubrid_get
Funciones de CUBRID
PHP Manual

cubrid_get_server_info

(PECL CUBRID >= 8.3.0)

cubrid_get_server_info — Devolver la versión del servidor CUBRID

Descripción

string cubrid_get_server_info ( resource $conn_identifier )

Esta función devuelve una cadena que representa la versión del servidor CUBRID.

Parámetros

conn_identifier

La conexión CUBRID.

Valores devueltos

Una cadena que representa la versión del servidor CUBRID; en caso de éxito.

FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_get_server_info()

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_connect("localhost", 33088, "demodb");

if (!$conn) {
    die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
    printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);

?>

El resultado del ejemplo sería:

CUBRID PHP Version:            9.1.0.0001

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              1

Server Info:                   9.1.0.0212
Client Info:                   9.1.0

CUBRID Charset:                iso8859-1
cubrid_get_query_timeout
cubrid_get
Funciones de CUBRID


Obtener una columna usando OID

cubrid_get_server_info
cubrid_insert_id
Funciones de CUBRID
PHP Manual

cubrid_get

(PECL CUBRID >= 8.3.0)

cubrid_get — Obtener una columna usando OID

Descripción

mixed cubrid_get ( resource $conn_identifier , string $oid [, mixed $attr ] )

La función cubrid_get() se usa para obtener el atributo de la instancia del oid dado. Se puede obtener un solo atributo usando el tipo de datos de cadena para el argumento attr, o muchos atributos usando el tipo de datos array para el argumento attr.

Parámetros

conn_identifier

Identificador de conexión.

oid

OID de la instancia que se quiere leer.

attr

Nombre del atributo que se quiere leer.

Valores devueltos

Contenido del atributo solicitado, cuando el proceso tiene éxito; Cuando attr se establece al tipo de datos de cadena, el resultado es devuelto como una cadena; cuando attr se establece como tipo de datos array (númerico basado en 0), el resultado es devuelto como un array asociativo. Cuanso se omite attr, entonces todos los atributos se reciben como array.

FALSE cuando el proceso no tiene éxito o el resultado es NULL (Si ocurre un error para diferenciar una cadena vacía de NULL, se imprime un mensaje de advertencia. Se puede comprobar el error usando cubrid_error_code())

Ejemplos

Ejemplo #1 Ejemplo de cubrid_get()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(2, {4,5,7}, {44,55,66,666}, 'b')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_get($conn, $oid, "b");
var_dump($attr);

$attr = cubrid_get($conn, $oid);
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

string(9) "{1, 2, 3}"
array(4) {
  ["a"]=>
  string(1) "1"
  ["b"]=>
  array(3) {
    [0]=>
    string(1) "1"
    [1]=>
    string(1) "2"
    [2]=>
    string(1) "3"
  }
  ["c"]=>
  array(4) {
    [0]=>
    string(2) "11"
    [1]=>
    string(2) "22"
    [2]=>
    string(2) "33"
    [3]=>
    string(3) "333"
  }
  ["d"]=>
  string(10) "a         "
}

Ver también

  • cubrid_put() - Actualizar un atributo usando OID

cubrid_get_server_info
cubrid_insert_id
Funciones de CUBRID


Devuelve el ID generado por la última columna actualizada AUTO_INCREMENT

cubrid_get
cubrid_is_instance
Funciones de CUBRID
PHP Manual

cubrid_insert_id

(PECL CUBRID >= 8.3.0)

cubrid_insert_id — Devuelve el ID generado por la última columna actualizada AUTO_INCREMENT

Descripción

string cubrid_insert_id ([ resource $conn_identifier ] )

La función cubrid_insert_id() recupera el ID generado para la columna AUTO_INCREMENT que fue actualizada por la consulta INSERT previa. Devuelve 0 si la consulta previa no generó nuevas filas, o FALSE en caso de error.

Nota:

CUBRID soporta AUTO_INCREMENT para más de una columna en una tabla. En la mayoría de los casos, habrá una única columna AUTO_INCREMENT en una tabla. Si hay varias columnas AUTO_INCREMENT, esta función no debería ser usada aunque devuelva un valor.

Parámetros

conn_identifier

El Identificador de conexión previamente obtenido por una llamada a cubrid_connect().

Valores devueltos

Un string representa el ID generado para una columna AUTO:INCREMENT por la consulta previa, en caso de éxito.

0, si la consulta previa no generó nuevas filas.

FALSE en caso de fallo.

Historial de cambios

Versión | Descripción
8.4.0 | Cambia el valor devuelto de un array a un string; elimina el primer parámetro class_name.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_insert_id()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

@cubrid_execute($conn, "DROP TABLE cubrid_test");
cubrid_execute($conn, "CREATE TABLE cubrid_test (d int AUTO_INCREMENT(1, 2), t varchar)");

for ($i = 0; $i < 10; $i++) {
    cubrid_execute($conn, "INSERT INTO cubrid_test(t) VALUES('cubrid_test')");
}

$id = cubrid_insert_id();
var_dump($id);

cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

string(2) "19"
cubrid_get
cubrid_is_instance
Funciones de CUBRID


Comprobar si existe la instancia apuntada por OID

cubrid_insert_id
cubrid_lob_close
Funciones de CUBRID
PHP Manual

cubrid_is_instance

(PECL CUBRID >= 8.3.0)

cubrid_is_instance — Comprobar si existe la instancia apuntada por OID

Descripción

int cubrid_is_instance ( resource $conn_identifier , string $oid )

La función cubrid_is_instance() se usa para comprobar si existe la instancia apuntada por el oid dado o no.

Parámetros

conn_identifier

Identificador de conexión.

oid

OID de la instancia que se quiere comprobar su existencia.

Valores devueltos

1, si tal instancia existe;

0, si tal instancia no existe;

-1, en caso de error

Ejemplos

Ejemplo #1 Ejemplo de cubrid_is_instance()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$sql = <<<EOD
SELECT host_year, medal, game_date
FROM game
WHERE athlete_code IN
    (SELECT code FROM athlete WHERE name='Thorpe Ian');
EOD;

$req = cubrid_execute($conn, $sql, CUBRID_INCLUDE_OID);
$oid = cubrid_current_oid($req);

$res = cubrid_is_instance ($conn, $oid);
if ($res == 1) {
    echo "La instancia a puntada por $oid existe.\n";
} else if ($res == 0){
    echo "La instancia a puntada por $oid no existe.\n";
} else {
    echo "error\n";
}

cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

La instancia apuntada por @0|0|0 no existe.

Ver también

  • cubrid_drop() - Borrar una instancia usando OID
  • cubrid_get_class_name() - Obtener el nombre de la clase usando OID

cubrid_insert_id
cubrid_lob_close
Funciones de CUBRID


Cerrar información BLOB/CLOB

cubrid_is_instance
cubrid_lob_export
Funciones de CUBRID
PHP Manual

cubrid_lob_close

(PECL CUBRID >= 8.3.1)

cubrid_lob_close — Cerrar información BLOB/CLOB

Descripción

bool cubrid_lob_close ( array $lob_identifier_array )

cubrid_lob_close() se usa para cerrar todos los BLOB/CLOB devueltos desde cubrid_lob_get().

Parámetros

lob_identifier_array

Array de identificadores LOB devuelto desde cubrid_lob_get.

Valores devueltos

TRUE, cuando el proceso tiene éxito

FALSE, cuando el proceso no tiene éxito

Ejemplos

Ejemplo #1 Ejemplo de cubrid_lob_close()

<?php
$conn = cubrid_connect ("localhost", 33000, "demodb", "dba");

cubrid_execute($conn,"DROP TABLE if exists doc");
cubrid_execute($conn,"CREATE TABLE doc (id INT, doc_content CLOB)");
cubrid_execute($conn,"INSERT INTO doc VALUES (5,'hello,cubrid')");

$lobs = cubrid_lob_get($conn, "SELECT doc_content FROM doc WHERE id=5");
echo "Doc size: ".cubrid_lob_size($lobs[0])." bytes";
cubrid_lob_export($conn, $lobs[0], "doc_5.txt");
cubrid_lob_close($lobs);
cubrid_disconnect($conn);
?>

Ver también

  • cubrid_lob_get() - Obtener información BLOB/CLOB
  • cubrid_lob_size() - Obtener el tamaño de datos BLOB/CLOB
  • cubrid_lob_export() - Exportar datos BLOB/CLOB a un fichero
  • cubrid_lob_send() - Leer información BLOB/CLOB y enviarla directamente al navegador

cubrid_is_instance
cubrid_lob_export
Funciones de CUBRID


Exportar datos BLOB/CLOB a un fichero

cubrid_lob_close
cubrid_lob_get
Funciones de CUBRID
PHP Manual

cubrid_lob_export

(PECL CUBRID >= 8.3.1)

cubrid_lob_export — Exportar datos BLOB/CLOB a un fichero

Descripción

bool cubrid_lob_export ( resource $conn_identifier , resource $lob_identifier , string $path_name )

cubrid_lob_export() se usa para obtener información BLOB/CLOB de una base de datos CUBRID, y guarda su contenido a un fichero. Para usar esta función, debe utilizar cubrid_lob_get() primero para obtener información BLOB/CLOB desde CUBRID.

Parámetros

conn_identifier

Identificador de conexión.

lob_identifier

Identificador LOB.

path_name

Nombre de la ruta al fichero.

Valores devueltos

TRUE, cuando el proceso tiene éxito

FALSE, cuando el proceso no tiene éxito

Ejemplos

Ejemplo #1 Ejemplo de cubrid_lob_export()

<?php
$conn = cubrid_connect ("localhost", 33000, "demodb", "dba");

cubrid_execute($conn,"DROP TABLE if exists doc");
cubrid_execute($conn,"CREATE TABLE doc (id INT, doc_content CLOB)");
cubrid_execute($conn,"INSERT INTO doc VALUES (5,'hello,cubrid')");

$lobs = cubrid_lob_get($conn, "SELECT doc_content FROM doc WHERE id=5");
echo "Doc size: ".cubrid_lob_size($lobs[0])." bytes";
cubrid_lob_export($conn, $lobs[0], "doc_5.txt");
cubrid_lob_close($lobs);
cubrid_disconnect($conn);
?>

Ver también

  • cubrid_lob_get() - Obtener información BLOB/CLOB
  • cubrid_lob_close() - Cerrar información BLOB/CLOB
  • cubrid_lob_size() - Obtener el tamaño de datos BLOB/CLOB
  • cubrid_lob_send() - Leer información BLOB/CLOB y enviarla directamente al navegador

cubrid_lob_close
cubrid_lob_get
Funciones de CUBRID


Obtener información BLOB/CLOB

cubrid_lob_export
cubrid_lob_send
Funciones de CUBRID
PHP Manual

cubrid_lob_get

(PECL CUBRID >= 8.3.1)

cubrid_lob_get — Obtener información BLOB/CLOB

Descripción

array cubrid_lob_get ( resource $conn_identifier , string $sql )

cubrid_lob_get() se usa para obtener meta-información BLOB/CLOB desde la base de datos de CUBRID, CUBRID obtiene BLOB/CLOB ejecutando la sentencia SQL, y devuelve todos los LOBs como un array de recursos. Asegúrese de que SQL solo recupera una columna y su tipo de información es BLOB o CLOB.

Recuerde usar cubrid_lob_close() para liberar los LOBs si ya no los necesita más.

Parámetros

conn_identifier

Identificador de conexión.

sql

La sentencia SQL a ser ejecutada.

Valores devueltos

Devuelve un array de recursos LOB, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_lob_get()

<?php
$conn = cubrid_connect ("localhost", 33000, "demodb", "dba");

cubrid_execute($conn,"DROP TABLE if exists doc");
cubrid_execute($conn,"CREATE TABLE doc (id INT, doc_content CLOB)");
cubrid_execute($conn,"INSERT INTO doc VALUES (5,'hello,cubrid')");

$lobs = cubrid_lob_get($conn, "SELECT doc_content FROM doc WHERE id=5");
echo "Doc size: ".cubrid_lob_size($lobs[0])." bytes";
cubrid_lob_export($conn, $lobs[0], "doc_5.txt");
cubrid_lob_close($lobs);
cubrid_disconnect($conn);
?>

Ver también

  • cubrid_lob_close() - Cerrar información BLOB/CLOB
  • cubrid_lob_size() - Obtener el tamaño de datos BLOB/CLOB
  • cubrid_lob_export() - Exportar datos BLOB/CLOB a un fichero
  • cubrid_lob_send() - Leer información BLOB/CLOB y enviarla directamente al navegador

cubrid_lob_export
cubrid_lob_send
Funciones de CUBRID


Leer información BLOB/CLOB y enviarla directamente al navegador

cubrid_lob_get
cubrid_lob_size
Funciones de CUBRID
PHP Manual

cubrid_lob_send

(PECL CUBRID >= 8.3.1)

cubrid_lob_send — Leer información BLOB/CLOB y enviarla directamente al navegador

Descripción

bool cubrid_lob_send ( resource $conn_identifier , resource $lob_identifier )

cubrid_lob_send() lee información BLOB/CLOB y la pasa directamente a través del navegador. Para usar esta función se debe utilizar cubrid_lob_get() primero para obtener información BLOB/CLOB desde CUBRID.

Parámetros

conn_identifier

Identificador de conexión.

lob_identifier

Identificador LOB.

Valores devueltos

TRUE, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_lob_send()

<?php
$conn = cubrid_connect ("localhost", 33000, "demodb", "dba");

cubrid_execute($conn,"DROP TABLE if exists doc");
cubrid_execute($conn,"CREATE TABLE doc (id INT, doc_content CLOB)");
cubrid_execute($conn,"INSERT INTO doc VALUES (5,'hello,cubrid')");

$lobs = cubrid_lob_get($conn, "SELECT doc_content FROM doc WHERE id=5");

cubrid_lob_send($conn, $lobs[0]);
cubrid_lob_close($lobs);
cubrid_disconnect($conn);
?>

Ver también

  • cubrid_lob_get() - Obtener información BLOB/CLOB
  • cubrid_lob_close() - Cerrar información BLOB/CLOB
  • cubrid_lob_size() - Obtener el tamaño de datos BLOB/CLOB
  • cubrid_lob_export() - Exportar datos BLOB/CLOB a un fichero

cubrid_lob_get
cubrid_lob_size
Funciones de CUBRID


Obtener el tamaño de datos BLOB/CLOB

cubrid_lob_send
cubrid_lob2_bind
Funciones de CUBRID
PHP Manual

cubrid_lob_size

(PECL CUBRID >= 8.3.1)

cubrid_lob_size — Obtener el tamaño de datos BLOB/CLOB

Descripción

string cubrid_lob_size ( resource $lob_identifier )

cubrid_lob_size() se usa para obtener el tamaño de datos BLOB/CLOB.

Parámetros

lob_identifier

Identificador LOB.

Valores devueltos

Un string representando el tamaño de datos LOB, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Historial de cambios

Versión | Descripción
8.4.0 | Cambia el tipo de valor de retorno de int a string.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_lob_size()

<?php
$lobs = cubrid_lob_get($con, "SELECT doc_content FROM doc WHERE doc_id=5");
echo "Tamño del documento:".cubrid_lob_size($lobs[0]);
cubrid_lob_export($conn, $lobs[0], "doc_5.txt");
cubrid_lob_close($lobs);
?>

Ver también

  • cubrid_lob_get() - Obtener información BLOB/CLOB
  • cubrid_lob_close() - Cerrar información BLOB/CLOB
  • cubrid_lob_export() - Exportar datos BLOB/CLOB a un fichero
  • cubrid_lob_send() - Leer información BLOB/CLOB y enviarla directamente al navegador

cubrid_lob_send
cubrid_lob2_bind
Funciones de CUBRID


Vincula un objeto LOB o un string como un objeto LOB a una sentencia preparada como parámetros

cubrid_lob_size
cubrid_lob2_close
Funciones de CUBRID
PHP Manual

cubrid_lob2_bind

(PECL CUBRID >= 8.4.1)

cubrid_lob2_bind — Vincula un objeto LOB o un string como un objeto LOB a una sentencia preparada como parámetros

Descripción

bool cubrid_lob2_bind ( resource $req_identifier , int $bind_index , mixed $bind_value [, string $bind_value_type ] )

La función cubrid_lob2_bind() se usa para vincular datos BLOB/CLOB a un parámetro de sustitución de signo de interrogación correspondiente en la sentencia SQL que fue pasada a cubrid_prepare(). Si bind_value_type no se proporciona, el string será "BLOB" de manera predeterminada. Pero si se usa antes cubrid_lob2_new(), bind_value_type será consistente con type en cubrid_lob2_new() de manera predeterminada.

Parámetros

req_identifier

Un identificador de petición, como un resultado de cubrid_prepare().

bind_index

La ubicacaión de los parámetros de vinculación. Comienza en 1.

bind_value

El valor real para la vinculación.

bind_value_type

Debe ser "BLOB" o "CLOB" y no distingue mayúsculas/minúsculas. Si no se proporciona, el valor predeterminado es "BLOB".

Valores devueltos

TRUE, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_lob2_bind()

<?php
// Tabla: test_lob (id INT, contents CLOB)

$conexión = cubrid_connect("localhost", 33000, "demodb", "dba", "");

cubrid_execute($conexión,"DROP TABLE if exists test_lob");
cubrid_execute($conexión,"CREATE TABLE test_lob (id INT, contents CLOB)");

$petición = cubrid_prepare($conexión, "INSERT INTO test_lob VALUES (?, ?)");

cubrid_bind($petición,1, 3);

$lob = cubrid_lob2_new($conexión, 'CLOB');
cubrid_lob2_bind($petición, 2, $lob);

cubrid_execute($petición);

cubrid_bind($petición, 1, 4);

cubrid_lob2_bind($petición, 2, 'CUBRID LOB2 TEST', 'CLOB');

cubrid_execute($petición);

cubrid_disconnect($conexión);
?>

Ver también

  • cubrid_lob2_new() - Crea un objeto LOB
  • cubrid_lob2_close() - Cierra un objeto LOB

cubrid_lob_size
cubrid_lob2_close
Funciones de CUBRID


Cierra un objeto LOB

cubrid_lob2_bind
cubrid_lob2_export
Funciones de CUBRID
PHP Manual

cubrid_lob2_close

(PECL CUBRID >= 8.4.1)

cubrid_lob2_close — Cierra un objeto LOB

Descripción

bool cubrid_lob2_close ( resource $lob_identifier )

La función cubrid_lob2_close() se usa para cerra un objeto LOB devuelveto por cubrid_lob2_new() u obtenido de un conjunto de resultados.

Parámetros

lob_identifier

Un identificador de LOB, como un resultado de cubrid_lob2_new() u obtenido de un conjunto de resultados.

Valores devueltos

TRUE, en caso de éxito.

FALSE, en caso de error.

Ver también

  • cubrid_lob2_new() - Crea un objeto LOB

cubrid_lob2_bind
cubrid_lob2_export
Funciones de CUBRID


Exporta un objeto LOB a un fichero

cubrid_lob2_close
cubrid_lob2_import
Funciones de CUBRID
PHP Manual

cubrid_lob2_export

(PECL CUBRID >= 8.4.1)

cubrid_lob2_export — Exporta un objeto LOB a un fichero

Descripción

bool cubrid_lob2_export ( resource $lob_identifier , string $file_name )

La función cubrid_lob2_export() se usa para guardar el contenido de datos BLOB/CLOB en un fichero. Para usar esta función se debe utilizar cubrid_lob2_new() u obtener primero un objeto LOB desde la base de datos de CUBRID. Si el fichero ya existe, la operación fallará. Esta función no influenciará en la posición del cursor del objeto LOB. Opera sobre el objeto LOB entero.

Parámetros

lob_identifier

Un identificador de LOB, como un resultado de cubrid_lob2_new() u obtenido de un conjunto de resultados.

filename

El nombre del fichero donde se quieren almacenar los datos BLOB/CLOB. También admite la ruta del fichero.

Valores devueltos

TRUE si el proceso tiene éxito y FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_lob2_export()

<?php
// Tabla: test_lob (id INT, contents CLOB)

$conexión = cubrid_connect("localhost", 33000, "demodb", "dba", "");

cubrid_execute($conexión,"DROP TABLE if exists doc");
cubrid_execute($conexión,"CREATE TABLE doc (id INT, doc_content CLOB)");
cubrid_execute($conexión,"INSERT INTO doc VALUES (5,'hello,cubrid')");

$petición = cubrid_prepare($conexión, "select * from doc");

cubrid_execute($petición);

cubrid_move_cursor($petición, 1, CUBRID_CURSOR_FIRST);

$fila = cubrid_fetch($petición, CUBRID_NUM | CUBRID_LOB);

cubrid_lob2_export($fila[1], "doc_3.txt");

cubrid_lob2_close($fila[1]);
cubrid_disconnect($conexión);
?>

Ver también

  • cubrid_lob2_new() - Crea un objeto LOB
  • cubrid_lob2_close() - Cierra un objeto LOB
  • cubrid_lob2_import() - Importa datos BLOB/CLOB desde un fichero
  • cubrid_lob2_bind() - Vincula un objeto LOB o un string como un objeto LOB a una sentencia preparada como parámetros

cubrid_lob2_close
cubrid_lob2_import
Funciones de CUBRID


Importa datos BLOB/CLOB desde un fichero

cubrid_lob2_export
cubrid_lob2_new
Funciones de CUBRID
PHP Manual

cubrid_lob2_import

(PECL CUBRID >= 8.4.1)

cubrid_lob2_import — Importa datos BLOB/CLOB desde un fichero

Descripción

bool cubrid_lob2_import ( resource $lob_identifier , string $file_name )

La función cubrid_lob2_export() se usa para guardar el contenido de datos BLOB/CLOB desde un fichero. Para usar esta función se debe utilizar cubrid_lob2_new() u obtener primero un objeto LOB desde la base de datos de CUBRID. Si el fichero ya existe, la operación fallará. Esta función no influenciará en la posición del cursor del objeto LOB. Opera sobre el objeto LOB entero.

Parámetros

lob_identifier

Un identificador de LOB, como un resultado de cubrid_lob2_new() u obtenido de un conjunto de resultados.

filename

El nombre del fichero desde donde se quieren importar los datos BLOB/CLOB. También admite la ruta del fichero.

Valores devueltos

TRUE si el proceso tiene éxito y FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_lob2_export()

<?php

$conexión = cubrid_connect("localhost", 33000, "demodb", "dba", "");

cubrid_execute($conexión,"DROP TABLE if exists test_lob");
cubrid_execute($conexión,"CREATE TABLE test_lob (id INT, contents CLOB)");

$petición = cubrid_prepare($conexión, "INSERT INTO test_lob (?, ?)");
cubrid_bind($petición, 1, 1);

$lob = cubrid_lob2_new($conexión, "clob");
cubrid_lob2_import($lob, "doc_1.txt");
cubrid_lob2_bind($petición, 2, $lob, 'CLOB'); // or cubrid_lob2_bind($req, 2, $lob);

cubrid_execute($petición);

cubrid_lob2_close($lob);
cubrid_disconnect($conexión);
?>

Ver también

  • cubrid_lob2_new() - Crea un objeto LOB
  • cubrid_lob2_close() - Cierra un objeto LOB
  • cubrid_lob2_export() - Exporta un objeto LOB a un fichero
  • cubrid_lob2_bind() - Vincula un objeto LOB o un string como un objeto LOB a una sentencia preparada como parámetros

cubrid_lob2_export
cubrid_lob2_new
Funciones de CUBRID


Crea un objeto LOB

cubrid_lob2_import
cubrid_lob2_read
Funciones de CUBRID
PHP Manual

cubrid_lob2_new

(PECL CUBRID >= 8.4.1)

cubrid_lob2_new — Crea un objeto LOB

Descripción

resource cubrid_lob2_new ([ resource $conn_identifier [, string $type = "BLOB" ]] )

La función cubrid_lob2_new() se usa para crear un objeto LOB (BLOB y CLOB). Se debería usar esta función antes de vincular un objeto LOB.

Parámetros

conn_identifier

Un identificador de conexión. Si no se especifica un identificador de conexión, se asumirá la última conexión abierte mediante cubrid_connect() o cubrid_connect_with_url().

type

Puede ser "BLOB" o "CLOB", y no distingue mayúsculas/minúsculas. El valor predeterminado es "BLOB".

Valores devueltos

Un identificador de LOB cuando tiene éxito.

FALSE en caso de error.

Ver también

  • cubrid_lob2_close() - Cierra un objeto LOB

cubrid_lob2_import
cubrid_lob2_read
Funciones de CUBRID


Lee desde datos BLOB/CLOB

cubrid_lob2_new
cubrid_lob2_seek64
Funciones de CUBRID
PHP Manual

cubrid_lob2_read

(PECL CUBRID >= 8.4.1)

cubrid_lob2_read — Lee desde datos BLOB/CLOB

Descripción

string cubrid_lob2_read ( resource $lob_identifier , int $len )

La función cubrid_lob2_read() lee len bytes desde los datos LOB y devuelve los biytes leídos.

Parámetros

lob_identifier

Un identificador de LOB, como un resultado de cubrid_lob2_new() u obtenido de un conjunto de resultados.

len

La longitud del búfer del cual se quieren leer los datos LOB.

Valores devueltos

Devuelve el contenido, en forma de string.

FALSE cuando no hay más datos.

NULL en caso de error.

Ejemplos

Ejemplo #1 Ejemplo 1 de cubrid_lob2_read()

<?php
// test_lob (id INT, contents CLOB)

$conexión = cubrid_connect("localhost", 33000, "demodb", "public", "");

$petición = cubrid_execute($conexión, "select * from test_lob");

$fila = cubrid_fetch_row($petición, CUBRID_LOB);

print "La posción ahora es " . cubrid_lob2_tell($fila[1]) . "\n";

cubrid_lob2_seek($fila[1], 10, CUBRID_CURSOR_FIRST);

print "\nLa posición después de avanzar es " . cubrid_lob2_tell($fila[1]) . "\n";

$datos = cubrid_lob2_read($fila[1], 12);

print "\nLa posición después de leer es " . cubrid_lob2_tell($fila[1]) . "\n";

print $datos . "\n";

cubrid_lob2_seek($fila[1], 5, CUBRID_CURSOR_CURRENT);

print "\nLa posición después de mover de nuevo es " . cubrid_lob2_tell($fila[1]) . "\n";

$datos = cubrid_lob2_read($fila[1], 20);
print $datos . "\n";

cubrid_disconnect($conexión);
?>

Ejemplo #2 Ejemplo 2 cubrid_lob2_read()

<?php
// test_lob (id INT, contents CLOB)

$conexión = cubrid_connect("localhost", 33000, "demodb", "dba", "");

$petición = cubrid_execute($conexión, "select * from test_lob");

$fila = cubrid_fetch_row($petición, CUBRID_LOB);

while (true) {
 if ($datos = cubrid_lob2_read($fila[1], 1024)) {
  print $datos . "\n";
 }
 elseif ($datos === false) {
  print "No hay más datos\n";
  break;
 }
 else {
  print "Debe haber algún error\n";
  break;
 }
}

cubrid_disconnect($conexión);
?>

Ver también

  • cubrid_lob2_write() - Escribe en un objeto LOB
  • cubrid_lob2_seek() - Mueve el cursor de un objeto LOB
  • cubrid_lob2_seek64() - Mueve el cursor de un objeto LOB
  • cubrid_lob2_tell() - Indica la posición del cursor de un objeto LOB
  • cubrid_lob2_tell64() - Indica la posición del cursor de un objeto LOB
  • cubrid_lob2_size() - Obtiene el tamaño de un objeto LOB
  • cubrid_lob2_size64() - Obtiene el tamaño de un objeto LOB

cubrid_lob2_new
cubrid_lob2_seek64
Funciones de CUBRID


Mueve el cursor de un objeto LOB

cubrid_lob2_read
cubrid_lob2_seek
Funciones de CUBRID
PHP Manual

cubrid_lob2_seek64

(PECL CUBRID >= 8.4.1)

cubrid_lob2_seek64 — Mueve el cursor de un objeto LOB

Descripción

bool cubrid_lob2_seek64 ( resource $lob_identifier , string $offset [, int $origin = CUBRID_CURSOR_CURRENT ] )

La función cubrid_lob2_seek64() se usa para mover la posición del cursor de un objeto LOB mediante el valor establecido en el argumento offset, a la dirección establecida en el argumento origin. Si el offset que se quiere mover es mayor que los datos de tipo integer que se puedan almacenar, se puede usar esta función.

Para establecer el argumento origin, se puede usar CUBRID_CURSOR_FIRST para establecer la posición del cursor avanzando offset unidades desde el primer comienzo. En este caso, offset debe ser un valor positivo.

Si se usa CUBRID_CURSOR_CURRENT para origin, se puede avanzar o retroceder, por lo que offset puede ser positivo o negativo.

Si se usa CUBRID_CURSOR_LAST para origin, se puede retroceder offset unidades desde el final del objeto LOB, por lo que offset solamente puede ser positivo.

Nota:

Si se usa esta función para mover la posición del cursor de un objeto LOB, se debería pasar offset como string.

Parámetros

lob_identifier

Un identificador de LOB, como un resultado de cubrid_lob2_new() u obtenido de un conjunto de resultados.

offset

El número de unidades que se quiere mover el cursor.

origin

Este parámetro admite los siguientes valores:

CUBRID_CURSOR_FIRST: avanzar desde el primer comienzo.

CUBRID_CURSOR_CURRENT: avanzar o retroceder desde la posición actual del cursor.

CUBRID_CURSOR_LAST: retroceder desde el final del objeto LOB.

Valores devueltos

TRUE si el proceso tiene éxito y FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_lob2_seek64()

<?php
// test_lob (id INT, contents CLOB)
// La longitud de los datos de doc_1.txt debería ser mayor que 20101029056306120215.

$conexión = cubrid_connect("localhost", 33000, "demodb", "dba", "");

cubrid_execute($conexión,"DROP TABLE if exists test_lob");
cubrid_execute($conexión,"CREATE TABLE test_lob (id INT, contents CLOB)");

$petición = cubrid_prepare($conexión, "INSERT INTO test_lob VALUES (?, ?)");
cubrid_bind($petición, 1, 1);

$lob = cubrid_lob2_new($conexión, "clob");
cubrid_lob2_import($lob, "doc_1.txt");
cubrid_lob2_bind($petición, 2, $lob, 'CLOB'); // o cubrid_lob2_bind($petición, 2, $lob);

cubrid_execute($petición);

cubrid_lob2_close($lob);

$petición = cubrid_execute($conexión, "select * from test_lob");
$fila = cubrid_fetch_row($petición, CUBRID_LOB);
$lob = $fila[1];

cubrid_lob2_seek64($lob, "20101029056306120215", CUBRID_CURSOR_FIRST);
$datos = cubrid_lob2_read($lob, 20);
echo $datos."\n";
cubrid_disconnect($conexión);
?>

Ver también

  • cubrid_lob2_read() - Lee desde datos BLOB/CLOB
  • cubrid_lob2_write() - Escribe en un objeto LOB
  • cubrid_lob2_seek() - Mueve el cursor de un objeto LOB
  • cubrid_lob2_tell() - Indica la posición del cursor de un objeto LOB
  • cubrid_lob2_tell64() - Indica la posición del cursor de un objeto LOB
  • cubrid_lob2_size() - Obtiene el tamaño de un objeto LOB
  • cubrid_lob2_size64() - Obtiene el tamaño de un objeto LOB

cubrid_lob2_read
cubrid_lob2_seek
Funciones de CUBRID


Mueve el cursor de un objeto LOB

cubrid_lob2_seek64
cubrid_lob2_size64
Funciones de CUBRID
PHP Manual

cubrid_lob2_seek

(PECL CUBRID >= 8.4.1)

cubrid_lob2_seek — Mueve el cursor de un objeto LOB

Descripción

bool cubrid_lob2_seek ( resource $lob_identifier , int $offset [, int $origin = CUBRID_CURSOR_CURRENT ] )

La función cubrid_lob2_seek() se usa para mover la posición del cursor de un objeto LOB mediante el valor establecido en el argumento offset, a la dirección establecida en el argumento origin.

Para establecer el argumento origin, se puede usar CUBRID_CURSOR_FIRST para establecer la posición del cursor avanzando offset unidades desde el primer comienzo. En este caso, offset debe ser un valor positivo.

Si se usa CUBRID_CURSOR_CURRENT para origin, se puede avanzar o retroceder, por lo que offset puede ser positivo o negativo.

Si se usa CUBRID_CURSOR_LAST para origin, se puede retroceder offset unidades desde el final del objeto LOB, por lo que offset solamente puede ser positivo.

Parámetros

lob_identifier

Un identificador de LOB, como un resultado de cubrid_lob2_new() u obtenido de un conjunto de resultados.

offset

El número de unidades que se quiere mover el cursor.

origin

Este parámetro admite los siguientes valores:

CUBRID_CURSOR_FIRST: avanzar desde el primer comienzo.

CUBRID_CURSOR_CURRENT: avanzar o retroceder desde la posición actual del cursor.

CUBRID_CURSOR_LAST: retroceder desde el final del objeto LOB.

Valores devueltos

TRUE si el proceso tiene éxito y FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_lob2_seek()

<?php
// test_lob (id INT, contents CLOB)
$conexión = cubrid_connect("localhost", 33000, "demodb", "dba", "");

cubrid_execute($conexión,"DROP TABLE if exists test_lob");
cubrid_execute($conexión,"CREATE TABLE test_lob (id INT, contents CLOB)");
$petición = cubrid_prepare($conexión, "INSERT INTO test_lob VALUES(2, ?)");

$lob = cubrid_lob2_new($conexión, 'CLOB');
$longitud = cubrid_lob2_write($lob, "Hello world");

cubrid_lob2_seek($lob, 0, CUBRID_CURSOR_LAST);
cubrid_lob2_write($lob, "beautiful");

cubrid_lob2_seek($lob, 15, CUBRID_CURSOR_FIRST);
$datos = cubrid_lob2_read($lob, 5);

echo $datos."\n";

cubrid_lob2_bind($petición, 1, $lob);
cubrid_execute($petición);

cubrid_disconnect($conexión);
?>

Ver también

  • cubrid_lob2_read() - Lee desde datos BLOB/CLOB
  • cubrid_lob2_write() - Escribe en un objeto LOB
  • cubrid_lob2_seek64() - Mueve el cursor de un objeto LOB
  • cubrid_lob2_tell() - Indica la posición del cursor de un objeto LOB
  • cubrid_lob2_tell64() - Indica la posición del cursor de un objeto LOB
  • cubrid_lob2_size() - Obtiene el tamaño de un objeto LOB
  • cubrid_lob2_size64() - Obtiene el tamaño de un objeto LOB

cubrid_lob2_seek64
cubrid_lob2_size64
Funciones de CUBRID


Obtiene el tamaño de un objeto LOB

cubrid_lob2_seek
cubrid_lob2_size
Funciones de CUBRID
PHP Manual

cubrid_lob2_size64

(PECL CUBRID >= 8.4.1)

cubrid_lob2_size64 — Obtiene el tamaño de un objeto LOB

Descripción

string cubrid_lob2_size64 ( resource $lob_identifier )

La función cubrid_lob2_size64() se usa para obtener el tamaño de un objeto LOB. Si el tamaño del objeto LOB es mayor que los datos de tipo integer que se pueden almacenar, se puede usar esta función para devolver el tamaño como string.

Parámetros

lob_identifier

Un identificador de LOB, como un resultado de cubrid_lob2_new() u obtenido de un conjunto de resultados.

Valores devueltos

Devuelve el tamaño del objeto LOB como string cuando el proceso tiene éxito.

FALSE en caso de error.

Ver también

  • cubrid_lob2_read() - Lee desde datos BLOB/CLOB
  • cubrid_lob2_write() - Escribe en un objeto LOB
  • cubrid_lob2_seek() - Mueve el cursor de un objeto LOB
  • cubrid_lob2_seek64() - Mueve el cursor de un objeto LOB
  • cubrid_lob2_tell() - Indica la posición del cursor de un objeto LOB
  • cubrid_lob2_tell64() - Indica la posición del cursor de un objeto LOB
  • cubrid_lob2_size() - Obtiene el tamaño de un objeto LOB

cubrid_lob2_seek
cubrid_lob2_size
Funciones de CUBRID


Obtiene el tamaño de un objeto LOB

cubrid_lob2_size64
cubrid_lob2_tell64
Funciones de CUBRID
PHP Manual

cubrid_lob2_size

(PECL CUBRID >= 8.4.1)

cubrid_lob2_size — Obtiene el tamaño de un objeto LOB

Descripción

int cubrid_lob2_size ( resource $lob_identifier )

La función cubrid_lob2_size() se usa para obtener el tamaño de un objeto LOB.

Parámetros

lob_identifier

Un identificador de LOB, como un resultado de cubrid_lob2_new() u obtenido de un conjunto de resultados.

Valores devueltos

Devuelve el tamaño del objeto LOB cuando el proceso tiene éxito.

FALSE en caso de error.

Ver también

  • cubrid_lob2_read() - Lee desde datos BLOB/CLOB
  • cubrid_lob2_write() - Escribe en un objeto LOB
  • cubrid_lob2_seek() - Mueve el cursor de un objeto LOB
  • cubrid_lob2_seek64() - Mueve el cursor de un objeto LOB
  • cubrid_lob2_tell() - Indica la posición del cursor de un objeto LOB
  • cubrid_lob2_tell64() - Indica la posición del cursor de un objeto LOB
  • cubrid_lob2_size64() - Obtiene el tamaño de un objeto LOB

cubrid_lob2_size64
cubrid_lob2_tell64
Funciones de CUBRID


Indica la posición del cursor de un objeto LOB

cubrid_lob2_size
cubrid_lob2_tell
Funciones de CUBRID
PHP Manual

cubrid_lob2_tell64

(PECL CUBRID >= 8.4.1)

cubrid_lob2_tell64 — Indica la posición del cursor de un objeto LOB

Descripción

string cubrid_lob2_tell64 ( resource $lob_identifier )

La función cubrid_lob2_tell64() se usa para indicar la posición del cursor de un objeto LOB. Si el tamaño del objeto LOB es mayor que los datos de tipo integer que se puedan almacenar, se puede usar esta función para devolver la información de la posición como string.

Parámetros

lob_identifier

Un identificador de LOB, como un resultado de cubrid_lob2_new() u obtenido de un conjunto de resultados.

Valores devueltos

Devuelve la posición del cursor de un objeto LOB como string cuando el proceso tiene éxito.

FALSE en caso de error.

Ver también

  • cubrid_lob2_read() - Lee desde datos BLOB/CLOB
  • cubrid_lob2_write() - Escribe en un objeto LOB
  • cubrid_lob2_seek() - Mueve el cursor de un objeto LOB
  • cubrid_lob2_seek64() - Mueve el cursor de un objeto LOB
  • cubrid_lob2_tell() - Indica la posición del cursor de un objeto LOB
  • cubrid_lob2_size() - Obtiene el tamaño de un objeto LOB
  • cubrid_lob2_size64() - Obtiene el tamaño de un objeto LOB

cubrid_lob2_size
cubrid_lob2_tell
Funciones de CUBRID


Indica la posición del cursor de un objeto LOB

cubrid_lob2_tell64
cubrid_lob2_write
Funciones de CUBRID
PHP Manual

cubrid_lob2_tell

(PECL CUBRID >= 8.4.1)

cubrid_lob2_tell — Indica la posición del cursor de un objeto LOB

Descripción

int cubrid_lob2_tell ( resource $lob_identifier )

La función cubrid_lob2_tell() se usa para indicar la posición del cursor de un objeto LOB.

Parámetros

lob_identifier

Un identificador de LOB, como un resultado de cubrid_lob2_new() u obtenido de un conjunto de resultados.

Valores devueltos

devuelve la posición del cursor del objeto LOB cuando el proceso tiene éxito.

FALSE en caso de error.

Ver también

  • cubrid_lob2_read() - Lee desde datos BLOB/CLOB
  • cubrid_lob2_write() - Escribe en un objeto LOB
  • cubrid_lob2_seek() - Mueve el cursor de un objeto LOB
  • cubrid_lob2_seek64() - Mueve el cursor de un objeto LOB
  • cubrid_lob2_tell64() - Indica la posición del cursor de un objeto LOB
  • cubrid_lob2_size() - Obtiene el tamaño de un objeto LOB
  • cubrid_lob2_size64() - Obtiene el tamaño de un objeto LOB

cubrid_lob2_tell64
cubrid_lob2_write
Funciones de CUBRID


Escribe en un objeto LOB

cubrid_lob2_tell
cubrid_lock_read
Funciones de CUBRID
PHP Manual

cubrid_lob2_write

(PECL CUBRID >= 8.4.1)

cubrid_lob2_write — Escribe en un objeto LOB

Descripción

bool cubrid_lob2_write ( resource $lob_identifier , string $buf )

La función cubrid_lob2_write() lee datos de buf y los almacena en el objeto LOB. Observe que esta función solamente agrega caracteres, por ahora.

Parámetros

lob_identifier

Un identificador de LOB, como un resultado de cubrid_lob2_new() u obtenido de un conjunto de resultados.

buf

Los datos que se necesitan escribir en el objeto LOB.

Valores devueltos

TRUE si el proceso tiene éxito y FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo 1 de cubrid_lob2_write()

<?php
// test_lob (id INT, contents CLOB)

$conexión = cubrid_connect("localhost", 33000, "demodb", "dba", "");

cubrid_execute($conexión,"DROP TABLE if exists test_lob");
cubrid_execute($conexión,"CREATE TABLE test_lob (id INT, contents CLOB)");

$petición = cubrid_prepare($conexión, "INSERT INTO test_lob VALUES(2, ?)");

$lob = cubrid_lob2_new($conexión, 'CLOB');
$longitud = cubrid_lob2_write($lob, "Hello world");

cubrid_lob2_bind($petición, 1, $lob);
cubrid_execute($petición);

cubrid_disconnect($conexión);
?>

Ejemplo #2 Ejemplo 2 de cubrid_lob2_write()

<?php
// test_lob (id INT, contents CLOB)

$conexión = cubrid_connect("localhost", 33000, "demodb", "dba", "");

cubrid_execute($conexión,"DROP TABLE if exists test_lob");
cubrid_execute($conexión,"CREATE TABLE test_lob (id INT, contents CLOB)");

$petición = cubrid_prepare($conexión, "INSERT INTO test_lob VALUES(1, ?)");
$lob1 = cubrid_lob2_new($conexión, 'CLOB');
$len = cubrid_lob2_write($lob1, "cubrid php driver");
cubrid_lob2_bind($petición, 1, $lob1);
cubrid_execute($petición);

$petición = cubrid_execute($conexión, "select * from test_lob");

$fila = cubrid_fetch_row($petición, CUBRID_LOB);
$lob2 = $fila[1];
cubrid_lob2_seek($lob2, 0, CUBRID_CURSOR_LAST);

$pos = cubrid_lob2_tell($lob2);
print "posición antes de la escritura: $pos\n";

cubrid_lob2_write($lob2, "Hola mundo");

$pos = cubrid_lob2_tell($lob2);
print "posición después de la escritura: $pos\n";

cubrid_disconnect($conexión);
?>

Ver también

  • cubrid_lob2_read() - Lee desde datos BLOB/CLOB
  • cubrid_lob2_seek() - Mueve el cursor de un objeto LOB
  • cubrid_lob2_seek64() - Mueve el cursor de un objeto LOB
  • cubrid_lob2_tell() - Indica la posición del cursor de un objeto LOB
  • cubrid_lob2_tell64() - Indica la posición del cursor de un objeto LOB
  • cubrid_lob2_size() - Obtiene el tamaño de un objeto LOB
  • cubrid_lob2_size64() - Obtiene el tamaño de un objeto LOB

cubrid_lob2_tell
cubrid_lock_read
Funciones de CUBRID


Establecer un bloqueo de lectura sobre el OID dado

cubrid_lob2_write
cubrid_lock_write
Funciones de CUBRID
PHP Manual

cubrid_lock_read

(PECL CUBRID >= 8.3.0)

cubrid_lock_read — Establecer un bloqueo de lectura sobre el OID dado

Descripción

bool cubrid_lock_read ( resource $conn_identifier , string $oid )

La función cubrid_lock_read() se usa para poner el bloqueo de lectura en la instancia apuntada por el oid dado.

Parámetros

conn_identifier

Identificador de conexión.

oid

OID de la instancia en la que se quiere porner el bloqueo de lectura.

Valores devueltos

TRUE, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_lock_read()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(2, {4,5,7}, {44,55,66,666}, 'b')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

cubrid_lock_read($conn, $oid);

$attr = cubrid_get($conn, $oid, "b");
var_dump($attr);

$attr = cubrid_get($conn, $oid);
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

string(9) "{1, 2, 3}"
array(4) {
  ["a"]=>
  string(1) "1"
  ["b"]=>
  array(3) {
    [0]=>
    string(1) "1"
    [1]=>
    string(1) "2"
    [2]=>
    string(1) "3"
  }
  ["c"]=>
  array(4) {
    [0]=>
    string(2) "11"
    [1]=>
    string(2) "22"
    [2]=>
    string(2) "33"
    [3]=>
    string(3) "333"
  }
  ["d"]=>
  string(10) "a         "
}

Ver también

  • cubrid_lock_write() - Establecer un bloqueo de escritura para el OID dado

cubrid_lob2_write
cubrid_lock_write
Funciones de CUBRID


Establecer un bloqueo de escritura para el OID dado

cubrid_lock_read
cubrid_move_cursor
Funciones de CUBRID
PHP Manual

cubrid_lock_write

(PECL CUBRID >= 8.3.0)

cubrid_lock_write — Establecer un bloqueo de escritura para el OID dado

Descripción

bool cubrid_lock_write ( resource $conn_identifier , string $oid )

La función cubrid_lock_write() se usa para poner el bloqueo de escritura en la instancia apuntada por el oid dado.

Parámetros

conn_identifier

Identificador de conexión.

oid

OID de la instancia en la que se quiere poner el bloqueo de escritura.

Valores devueltos

TRUE, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_lock_write()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(2, {4,5,7}, {44,55,66,666}, 'b')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

cubrid_lock_write($conn, $oid);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_put($conn, $oid, "b", array(2, 4, 8));

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
array(3) {
  [0]=>
  string(1) "2"
  [1]=>
  string(1) "4"
  [2]=>
  string(1) "8"
}

Ver también

  • cubrid_lock_read() - Establecer un bloqueo de lectura sobre el OID dado

cubrid_lock_read
cubrid_move_cursor
Funciones de CUBRID


Mover el cursor en el resultado

cubrid_lock_write
cubrid_next_result
Funciones de CUBRID
PHP Manual

cubrid_move_cursor

(PECL CUBRID >= 8.3.0)

cubrid_move_cursor — Mover el cursor en el resultado

Descripción

int cubrid_move_cursor ( resource $req_identifier , int $offset [, int $origin = CUBRID_CURSOR_CURRENT ] )

La función cubrid_move_cursor() se usa para mover la posición del cursor actual de req_handle por el valor establecido en el argumento offset, a la dirección establecida en el argumento origin. Para establecer el argumento origin se puede usar CUBRID_CURSOR_FIRST como primera parte del resultado, CUBRID_CURSOR_CURRENT como la posición actual del resultado, o CUBRID_CURSOR_LAST como la última parte del resultado. Si el argumento origin no es designado explícitamente, la función usa CUBRID_CURSOR_CURRENT como valor predeterminado.

Si el valor del alcance de movimiento del cursor se sale del límite válido, el cursor se mueve a la siguiente posición después del alcance válido del cursor. Por ejemplo, si se mueve 20 unidades en un resultado cuyo tamaño es 10, el cursor se moverá al lugar 11 y devolverá CUBRID_NO_MORE_DATA.

Parámetros

req_identifier

Identificador de solicitud.

offset

Número de unidades que se quiere mover el cursor.

origin

Posición donde se quiere mover el cursor desde CUBRID_CURSOR_FIRST, CUBRID_CURSOR_CURRENT, CUBRID_CURSOR_LAST.

Valores devueltos

TRUE, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_move_cursor()

<?php
$conn = cubrid_connect("127.0.0.1", 33000, "demodb", "dba");

$req = cubrid_execute($conn, "SELECT * FROM code");
cubrid_move_cursor($req, 1, CUBRID_CURSOR_LAST);

$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_CURRENT);
$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

array(2) {
  [0]=>
  string(1) "G"
  [1]=>
  string(4) "Gold"
}
array(2) {
  [0]=>
  string(1) "X"
  [1]=>
  string(5) "Mixed"
}
array(2) {
  [0]=>
  string(1) "M"
  [1]=>
  string(3) "Man"
}

Ver también

  • cubrid_execute() - Ejecutar una sentencia SQL preparada

cubrid_lock_write
cubrid_next_result
Funciones de CUBRID


Obtiene el resultado de la siguiente consulta cuando se ejecutan multiples sentencias SQL

cubrid_move_cursor
cubrid_num_cols
Funciones de CUBRID
PHP Manual

cubrid_next_result

(PECL CUBRID >= 8.4.0)

cubrid_next_result — Obtiene el resultado de la siguiente consulta cuando se ejecutan multiples sentencias SQL

Descripción

bool cubrid_next_result ( resource $result )

La función cubrid_next_result() se utiliza para obtener resultados de la consulta siguiente, si varias instrucciones SQL se ejecutan y CUBRID_EXEC_QUERY_ALL y la bandera cubrid_execute() esta establecida como activa.

Parámetros

result

result proviene de una llamada a la función cubrid_execute()

Valores devueltos

TRUE, cuando el proceso ha sido exitoso.

FALSE, cuando el proceso no fué exitoso.

Ejemplos

Ejemplo #1 cubrid_next_result() ejemplo

<?php
$conn = cubrid_connect("127.0.0.1", 33000, "demodb", "dba");

$sql_stmt = "SELECT * FROM code; SELECT * FROM history WHERE host_year=2004 AND event_code=20281";
$res = cubrid_execute($conn, $sql_stmt, CUBRID_EXEC_QUERY_ALL);

get_result_info($res);
cubrid_next_result($res);
get_result_info($res);

function get_result_info($req)
{
    printf("\n------------ get_result_info --------------------\n");

    $row_num = cubrid_num_rows($req);
    $col_num = cubrid_num_cols($req);

    $column_name_list = cubrid_column_names($req);
    $column_type_list = cubrid_column_types($req);

    $column_last_name = cubrid_field_name($req, $col_num - 1);
    $column_last_table = cubrid_field_table($req, $col_num - 1);

    $column_last_type = cubrid_field_type($req, $col_num - 1);
    $column_last_len = cubrid_field_len($req, $col_num - 1);

    $column_1_flags = cubrid_field_flags($req, 1);

    printf("%-30s %d\n", "Row count:", $row_num);
    printf("%-30s %d\n", "Column count:", $col_num);
    printf("\n");

    printf("%-30s %-30s %-15s\n", "Column Names", "Column Types", "Column Len");
    printf("------------------------------------------------------------------------------\n");

    $size = count($column_name_list);
    for($i = 0; $i < $size; $i++) {
        $column_len = cubrid_field_len($req, $i);
        printf("%-30s %-30s %-15s\n", $column_name_list[$i], $column_type_list[$i], $column_len);
    }
    printf("\n\n");

    printf("%-30s %s\n", "Last Column Name:", $column_last_name);
    printf("%-30s %s\n", "Last Column Table:", $column_last_table);
    printf("%-30s %s\n", "Last Column Type:", $column_last_type);
    printf("%-30s %d\n", "Last Column Len:", $column_last_len);
    printf("%-30s %s\n", "Second Column Flags:", $column_1_flags);

    printf("\n\n");
}
?>

El resultado del ejemplo sería:

------------ get_result_info --------------------
Row count:                     6
Column count:                  2

Column Names                   Column Types                   Column Len
------------------------------------------------------------------------------
s_name                         char                           1
f_name                         varchar                        6

Last Column Name:              f_name
Last Column Table:             code
Last Column Type:              varchar
Last Column Len:               6
Second Column Flags:

------------ get_result_info --------------------
Row count:                     4
Column count:                  5

Column Names                   Column Types                   Column Len
------------------------------------------------------------------------------
event_code                     integer                        11
athlete                        varchar                        40
host_year                      integer                        11
score                          varchar                        10
unit                           varchar                        5

Last Column Name:              unit
Last Column Table:             history
Last Column Type:              varchar
Last Column Len:               5
Second Column Flags:           not_null primary_key unique_key

Ver también

  • cubrid_execute() - Ejecutar una sentencia SQL preparada

cubrid_move_cursor
cubrid_num_cols
Funciones de CUBRID


Devolver el número de columnas del conjunto de resultados

cubrid_next_result
cubrid_num_rows
Funciones de CUBRID
PHP Manual

cubrid_num_cols

(PECL CUBRID >= 8.3.0)

cubrid_num_cols — Devolver el número de columnas del conjunto de resultados

Descripción

int cubrid_num_cols ( resource $result )

La función cubrid_num_cols() se usa para obtener el número de columnas del resultado de la consulta. Se puede usar sólo cuando la consulta ejecutada es una sentencia SELECT.

Parámetros

result

El resultado.

Valores devueltos

El número de columnas, cuando el proceso tiene éxito.

FALSE, si la sentencia SQL no es SELECT.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_num_cols()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

$req = cubrid_execute($conn, "SELECT * FROM code");

$row_num = cubrid_num_rows($req);
$col_num = cubrid_num_cols($req);

printf("Row Num: %d\nColumn Num: %d\n", $row_num, $col_num);

cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

Row Num: 6
Column Num: 2

Ver también

  • cubrid_execute() - Ejecutar una sentencia SQL preparada
  • cubrid_num_rows() - Obtener el número de filas del conjunto de resultados

cubrid_next_result
cubrid_num_rows
Funciones de CUBRID


Obtener el número de filas del conjunto de resultados

cubrid_num_cols
cubrid_pconnect_with_url
Funciones de CUBRID
PHP Manual

cubrid_num_rows

(PECL CUBRID >= 8.3.0)

cubrid_num_rows — Obtener el número de filas del conjunto de resultados

Descripción

int cubrid_num_rows ( resource $result )

La función cubrid_num_rows() se usa para obtener el número de filas del resultado de la consulta. Se puede usar sólo cuando la consulta ejecutada es una sentencia SELECT. Cuando se quiere conocer dicho valor para consultas INSERT, UPDATE, o DELETE, se tiene que usar la función cubrid_affected_rows().

Nota: La función cubrid_num_rows() sólo puede ser usada para consultas síncronas; devuelve 0 cuando se usa para consultas asíncronas.

Parámetros

result

result viene de una llamada a cubrid_execute(), cubrid_query() y cubrid_prepare()

Valores devueltos

El número de filas, cuando el proceso tiene éxito.

0 cuando la consulta fue hecha en modo asíncrono.

-1, si la sentencia SQL no es SELECT.

FALSE cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_num_rows()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

$req = cubrid_execute($conn, "SELECT * FROM code");

$row_num = cubrid_num_rows($req);
$col_num = cubrid_num_cols($req);

printf("Row Num: %d\nColumn Num: %d\n", $row_num, $col_num);

cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

Row Num: 6
Column Num: 2

Ver también

  • cubrid_execute() - Ejecutar una sentencia SQL preparada
  • cubrid_num_cols() - Devolver el número de columnas del conjunto de resultados
  • cubrid_affected_rows() - Devolver el número de filas afectadas por la última sentencia SQL

cubrid_num_cols
cubrid_pconnect_with_url
Funciones de CUBRID


Abrir una conexión persistente al servidor CUBRID

cubrid_num_rows
cubrid_pconnect
Funciones de CUBRID
PHP Manual

cubrid_pconnect_with_url

(PECL CUBRID >= 8.3.1)

cubrid_pconnect_with_url — Abrir una conexión persistente al servidor CUBRID

Descripción

resource cubrid_pconnect_with_url ( string $conn_url [, string $userid [, string $passwd ]] )

Establece una conexión persistente a un servidor CUBRID.

cubrid_pconnect_with_url() actúa de manera muy similar a cubrid_connect_with_url() con dos diferencias importantes.

Primera, al conectar, la función intenta encontrar un enlace (persistente) que ya estuviera abierto con el mismo host, puerto, nombre de base de datos e id de usuario. Si se encuentra uno, se devolverá un identificador para él en lugar de abrir una nueva conexión.

Segunda, la conexión al servidor SQL no se cerrará cuando la
ejecución del script termine. En su lugar, el enlace permanece abierto para
usos futuros ( cubrid_close() o
 cubrid_disconnect() no cerrarán enlaces establecido por
 cubrid_pconnect_with_url()).

Por eso a este tipo de enlace se le llama 'persistente'.

<url> ::= CUBRID:<host>:<db_name>:<db_user>:<db_password>:[?<properties>]

<properties> ::= <property> [&<property>]

<properties> ::= alhosts=<alternative_hosts>[ &rctime=<time>]

<properties> ::= login_timeout=<milli_sec>

<properties> ::= query_timeout=<milli_sec>

<properties> ::= disconnect_on_query_timeout=true|false

<alternative_hosts> ::= <standby_broker1_host>:<port> [,<standby_broker2_host>:<port>]

<host> := HOSTNAME | IP_ADDR

<time> := SECOND

<milli_sec> := MILLI SECOND

  • host : Un nombre de host o dirección IP de la base de datos maestra
  • db_name : Un nombre de la base de datos
  • db_user : Un nombre del usuario de la base de datos
  • db_password : Una contraseña de usuario de la base de datos
  • alhosts: Especifica la información del agente del servidor de emergencia, el cual se usa para la recuperación de fallos cuando es imposible conectar al servidor activo. Se pueden especificar múltiples agentes para la recuperación de fallos, y la conexión a los agentes se intenta en el orden listado en alhosts
  • rctime : Un intervalo entre los intentos de conexión al agente activo en el que ocurrió el fallo. Después de que ocurra un fallo, el sistema se conecta al agente especificado por althosts (recuperación de fallos), finaliza la transacción, y después intenta conectarse al agente activo de la base de datos maestra cada rctime. El valor predeterminado es 600 segundos.
  • login_timeout : Valor de tiempo de espera (unidad: mseg.) para la identificación en la base de datos. El valor predeterminado es 0, lo que significa un aplazamiento infinito.
  • query_timeout : Valor de tiempo de espera (unidad: mseg.) para la solicitud de consulta. Cuando finaliza el tiempo de espera, se envía al servidor un mensaje para cancelar la transferencia de la consulta. El valor devuelto puede depender de de la configuración de disconnect_on_query_timeout; incluso si el mensaje para cancelar una petición es enviado al servidor, tal peticioón puede realizarse.
  • disconnect_on_query_timeout : Configura un valor para establecer si devolver inmediantamente un error de función que está siendo ejecutada al finalizar el tiempo de espera. El valor predeterminado es false.

Nota:

? y :, que son usados como identificadores en el URL de conexión de PHP, no pueden ser incluidos en la contraseña. El siguiente es un ejemplo de una contraseña que no es válida para usarla como URL de conexión ya que contiene "?:".

$url = "CUBRID:localhost:33000:tdb:dba:12?:?login_timeout=100";

Las contraseñas que contengan ? o : se pueden pasar como un parámetro aparte.

$url = "CUBRID:localhost:33000:tbd:::?login_timeout=100";

$conn = cubrid_pconnect_with_url ($url, "dba", "12?");

Si el usuario o la contraseña están vacíos no se podrá borrar ":". He aquí un ejemplo:

$url = "CUBRID:localhost:33000:demodb:::";

Parámetros

conn_url

Una cadena de caracteres que contiene la información de conexión al servidor.

userid

El nombre de usuario de la base de datos.

passwd

La contraseña del usuario.

Valores devueltos

El identificador de conexión, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de url de cubrid_pconnect_with_url() sin propiedades

<?php
$conn_url = "CUBRID:127.0.0.1:33000:demodb:dba::"
$con = cubrid_pconnect_with_url ($conn_url);

if ($con) {
   echo "Se conectó con éxito";
   cubrid_execute($con, "create table person(id int,name char(16))");
   $req =cubrid_execute($con, "insert into person values(1,'James')");

   if ($req) {
      cubrid_close_request ($req);
      cubrid_commit ($con);
   } else {
      cubrid_rollback ($con);
   }
   cubrid_disconnect ($con);
}
?>

Ejemplo #2 Ejemplo de url de cubrid_pconnect_with_url() con propiedades

<?php
$conn_url = "CUBRID:127.0.0.1:33000:demodb:dba::?althost=10.34.63.132:33088&rctime=100"
$con = cubrid_pconnect_with_url ($conn_url);

if ($con) {
   echo "Se conectó con éxito";
   $req =cubrid_execute($con, "insert into person values(1,'James')");

   if ($req) {
      cubrid_close_request ($req);
      cubrid_commit ($con);
   } else {
      cubrid_rollback ($con);
   }
   cubrid_disconnect ($con);
}
?>

Ver también

  • cubrid_connect() - Abrir una conexión al servidor CUBRID
  • cubrid_pconnect() - Abrir una conexión persistente a un servidor CUBRID
  • cubrid_pconnect_with_url()
  • cubrid_disconnect() - Cerrar una conexión a una base de datos
  • cubrid_close() - Cerrar la conexión de CUBRID

cubrid_num_rows
cubrid_pconnect
Funciones de CUBRID


Abrir una conexión persistente a un servidor CUBRID

cubrid_pconnect_with_url
cubrid_prepare
Funciones de CUBRID
PHP Manual

cubrid_pconnect

(PECL CUBRID >= 8.3.1)

cubrid_pconnect — Abrir una conexión persistente a un servidor CUBRID

Descripción

resource cubrid_pconnect ( string $host , int $port , string $dbname [, string $userid [, string $passwd ]] )

Establece una conexión persistente a un servidor CUBRID.

cubrid_pconnect() actúa de manera muy similar a cubrid_connect() con dos diferencias importantes.

Primera, al conectar, la función intenta encontrar un enlace (persistente) que ya estuviera abierto con el mismo host, puerto, nombre de base de datos e id de usuario. Si se encuentra uno, se devolverá un identificador para él en lugar de abrir una nueva conexión.

Segunda, la conexión al servidor SQL no se cerrará cuando la
ejecución del script termine. En su lugar, el enlace permanece abierto para
usos futuros ( cubrid_close() o
 cubrid_disconnect() no cerrarán enlaces establecido por
 cubrid_pconnect_with_url()).

Por eso a este tipo de enlace se le llama 'persistente'.

Parámetros

host

Nombre del host o dirección IP del servidor CAS de CUBRID.

port

Número de puerto del servidor CAS de CUBRID (BROKER_PORT configurado en $CUBRID/conf/cubrid_broker.conf).

dbname

Nombre de la base de datos.

userid

Nombre de usuario para la base de datos.

passwd

Contraseña del usuario.

Valores devueltos

El identificador de conexión, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_pconnect()

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_pconnect("localhost", 33000, "demodb", "dba");

if (!$conn) {
    die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
    printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

CUBRID PHP Version:            9.1.0.0001

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              1

Server Info:                   9.1.0.0212
Client Info:                   9.1.0

CUBRID Charset:                iso8859-1

Ver también

  • cubrid_connect() - Abrir una conexión al servidor CUBRID
  • cubrid_connect_with_url() - Establecer el entorno para la conexión al servidor de CUBRID
  • cubrid_pconnect_with_url() - Abrir una conexión persistente al servidor CUBRID
  • cubrid_disconnect() - Cerrar una conexión a una base de datos
  • cubrid_close() - Cerrar la conexión de CUBRID

cubrid_pconnect_with_url
cubrid_prepare
Funciones de CUBRID


Preparar una sentencia SQL para su ejecución

cubrid_pconnect
cubrid_put
Funciones de CUBRID
PHP Manual

cubrid_prepare

(PECL CUBRID >= 8.3.0)

cubrid_prepare — Preparar una sentencia SQL para su ejecución

Descripción

resource cubrid_prepare ( resource $conn_identifier , string $prepare_stmt [, int $option = 0 ] )

La función cubrid_prepare() es un tipo de API que representa sentencias SQL compiladas previamente para un gestor de conexión dado. Estas sentencias SQL precompiladas serán incluidas en la función cubrid_prepare().

Por consiguiente, se puede usar esta sentencia para ejecutar repetidamente o procesar datos grandes. Sólo se puede usar una única sentencia y se puede poner un signo de interrogación (?) en un parámetro en el área apropiada de una senciencia SQL. Añada un parámetro cuando vincule un valor en la cláusula VALUES de la sentencia INSERT o en la cláusula WHERE. Observe que está permitido vincular un valor a MARK(?) sólo mediante cubrid_bind().

Parámetros

conn_identifier

Identificador de conexión.

prepare_stmt

Consulta preparada.

option

OID devuelto por la opción CUBRID_INCLUDE_OID.

Valores devueltos

Identificador de solicitud, si el proceso tiene éxito;

FALSE, si el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_prepare()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$sql = <<<EOD
SELECT g.event_code, e.name
FROM game g
JOIN event e ON g.event_code=e.code
WHERE host_year = ? AND event_code NOT IN (SELECT event_code FROM game WHERE host_year=?) GROUP BY event_code;
EOD;

$req = cubrid_prepare($conn, $sql);

cubrid_bind($req, 1, 2004);
cubrid_bind($req, 2, 2000);
cubrid_execute($req);

$row_num = cubrid_num_rows($req);
printf("Hay %d eventos que existen en las olimpiadas 2004 pero no en las del 2000. Por ejemplo:\n\n", $row_num);

printf("%-15s %s\n", "Event_code", "Event_name");
printf("----------------------------\n");

$row = cubrid_fetch_assoc($req);
printf("%-15d %s\n", $row["event_code"], $row["name"]);
$row = cubrid_fetch_assoc($req);
printf("%-15d %s\n", $row["event_code"], $row["name"]);

cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

Hay 27 eventos que existen en las olimpiadas 2004 pero no en las del 2000. Por ejemplo:

Event_code      Event_name
----------------------------
20063           +91kg
20070           64kg

Ver también

  • cubrid_execute() - Ejecutar una sentencia SQL preparada
  • cubrid_bind() - Vincular variables para una sentencia preparada como parámetros

cubrid_pconnect
cubrid_put
Funciones de CUBRID


Actualizar un atributo usando OID

cubrid_prepare
cubrid_rollback
Funciones de CUBRID
PHP Manual

cubrid_put

(PECL CUBRID >= 8.3.0)

cubrid_put — Actualizar un atributo usando OID

Descripción

int cubrid_put ( resource $conn_identifier , string $oid [, string $attr ], mixed $value )

La función cubrid_put() se usa para actualizar un atributo de la instancia del oid dado.

Se puede actualizar un único atributo usando un tipo de datos de cadena para establecer attr. En tal caso, se puede usar información de tipo entero, coma flotante o cadena para el argumento value. Para actualizar múltiples atributos se puede ignorar el argumento attr, y establecer el argumento value con un array asociativo.

Parámetros

conn_identifier

Identificador de conexión.

oid

OID de la instancia que se quiere actualizar.

attr

Nombre del atributo que se quiere actualizar.

value

Nuevo valor que se quiere asignar al atributo.

Valores devueltos

TRUE, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_put()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(2, {4,5,7}, {44,55,66,666}, 'b')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_put($conn, $oid, "b", array(2, 4, 8));

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
array(3) {
  [0]=>
  string(1) "2"
  [1]=>
  string(1) "4"
  [2]=>
  string(1) "8"
}

Ver también

  • cubrid_get() - Obtener una columna usando OID
  • cubrid_set_add() - Insertar un único elemento en la columna del tipo de conjunto usando OID
  • cubrid_set_drop() - Borrar un elemento de la columna del tipo de conjunto usando OID
  • cubrid_seq_insert() - Insertar un elemento en una columna tipo secuencia usando OID
  • cubrid_seq_drop() - Borrar un elemento de una columna tipo secuencia usando OID
  • cubrid_seq_put() - Actualizar el valor del elemento de la columna de tipo secuencia usando OID

cubrid_prepare
cubrid_rollback
Funciones de CUBRID


Retroceder una transacción

cubrid_put
cubrid_schema
Funciones de CUBRID
PHP Manual

cubrid_rollback

(PECL CUBRID >= 8.3.0)

cubrid_rollback — Retroceder una transacción

Descripción

bool cubrid_rollback ( resource $conn_identifier )

La función cubrid_rollback() ejecuta un retroceso en la transacción apuntada por conn_handle, actualmente en progreso.

La conexión al servidor se cierra después de llamar a cubrid_rollback(). El gestor de conexión, sin embargo, es todavía válido.

Parámetros

conn_identifier

Identificador de conexión.

Valores devueltos

TRUE, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_rollback()

<?php
$conn = cubrid_connect("127.0.0.1", 33000, "demodb", "dba");
cubrid_set_autocommit($conn,false);

@cubrid_execute($conn, "DROP TABLE publishers");

$sql = <<<EOD
CREATE TABLE publishers(
pub_id CHAR(3),
pub_name VARCHAR(20),
city VARCHAR(15),
state CHAR(2),
country VARCHAR(15)
)
EOD;

if (!cubrid_execute($conn, $sql)) {
    printf("Error facility: %d\nError code: %d\nError msg: %s\n", cubrid_error_code_facility(), cubrid_error_code(), cubrid_error_msg());

    cubrid_disconnect($conn);
    exit;
}

$req = cubrid_prepare($conn, "INSERT INTO publishers VALUES(?, ?, ?, ?, ?)");

$id_list = array("P01", "P02", "P03", "P04");
$name_list = array("Abatis Publishers", "Core Dump Books", "Schadenfreude Press", "Tenterhooks Press");
$city_list = array("New York", "San Francisco", "Hamburg", "Berkeley");
$state_list = array("NY", "CA", NULL, "CA");
$country_list = array("USA", "USA", "Germany", "USA");

for ($i = 0, $size = count($id_list); $i < $size; $i++) {
    cubrid_bind($req, 1, $id_list[$i]);
    cubrid_bind($req, 2, $name_list[$i]);
    cubrid_bind($req, 3, $city_list[$i]);
    cubrid_bind($req, 4, $state_list[$i]);
    cubrid_bind($req, 5, $country_list[$i]);

    if (!($ret = cubrid_execute($req))) {
        break;
    }
}

if (!$ret) {
    cubrid_rollback($conn);
} else {
    cubrid_commit($conn);

    $req = cubrid_execute($conn, "SELECT * FROM publishers");
    while ($result = cubrid_fetch_assoc($req)) {
        printf("%-3s %-20s %-15s %-3s %-15s\n",
            $result["pub_id"], $result["pub_name"], $result["city"], $result["state"], $result["country"]);
    }
}

cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

P01 Abatis Publishers    New York        NY  USA
P02 Core Dump Books      San Francisco   CA  USA
P03 Schadenfreude Press  Hamburg             Germany
P04 Tenterhooks Press    Berkeley        CA  USA

Ver también

  • cubrid_commit() - Consigna una transacción
  • cubrid_disconnect() - Cerrar una conexión a una base de datos

cubrid_put
cubrid_schema
Funciones de CUBRID


Obtener la información del esquema solicitado

cubrid_rollback
cubrid_seq_drop
Funciones de CUBRID
PHP Manual

cubrid_schema

(PECL CUBRID >= 8.3.0)

cubrid_schema — Obtener la información del esquema solicitado

Descripción

array cubrid_schema ( resource $conn_identifier , int $schema_type [, string $class_name [, string $attr_name ]] )

La función cubrid_schema() se usa para obtener la información del esquema solicitado de la base de datos. Se debe designar class_name, si se desea obtener información de ciertas clases, attr_name, si se quiere obtener información de ciertos atributos (sólo se puede usar con CUBRID_ SCH_ATTR_PRIVILEGE).

El resultado de la función cubrid_schema es devuelto como un array de dos dimensiones (columna (array asociativo) * fila (array numérico)). Las siguientes tablas muestran los tipos de esquemas y las estructura de la columna del array resultante para ser devuelto basándose en el tipo de esquema.

Composición del Resultado de Cada Tipo
Esquema | Número de Columna | Nombre de Columna | Valor
CUBRID_SCH_CLASS | 1 | NAME |
 | 2 | TYPE | 0:system class 1:vclass 2:class
CUBRID_SCH_VCLASS | 1 | NAME |
 | 2 | TYPE | 1:vclass
CUBRID_SCH_QUERY_SPEC | 1 | QUERY_SPEC |
CUBRID_SCH_ATTRIBUTE / CUBRID_SCH_CLASS_ATTRIBUTE | 1 | ATTR_NAME |
 | 2 | DOMAIN |
 | 3 | SCALE |
 | 4 | PRECISION |
 | 5 | INDEXED | 1:indexed
 | 6 | NOT NULL | 1:not null
 | 7 | SHARED | 1:shared
 | 8 | UNIQUE | 1:unique
 | 9 | DEFAULT |
 | 10 | ATTR_ORDER | base:1
 | 11 | CLASS_NAME |
 | 12 | SOURCE_CLASS |
 | 13 | IS_KEY | 1:key
CUBRID_SCH_METHOD / CUBRID_SCH_CLASS_METHOD | 1 | NAME |
 | 2 | RET_DOMAIN |
 | 3 | ARG_DOMAIN |
CUBRID_SCH_METHOD_FILE | 1 | METHOD_FILE |
CUBRID_SCH_SUPERCLASS / CUBRID_SCH_DIRECT_SUPER_CLASS / CUBRID_SCH_SUBCLASS | 1 | CLASS_NAME |
 | 2 | TYPE | 0:system class 1:vclass 2:class
CUBRID_SCH_CONSTRAINT | 1 | TYPE | 0:unique 1:index 2:reverse unique 3:reverse index
 | 2 | NAME |
 | 3 | ATTR_NAME |
 | 4 | NUM_PAGES |
 | 5 | NUM_KEYS |
 | 6 | PRIMARY_KEY | 1:primary key
 | 7 | KEY_ORDER | base:1
CUBRID_SCH_TRIGGER | 1 | NAME |
 | 2 | STATUS |
 | 3 | EVENT |
 | 4 | TARGET_CLASS |
 | 5 | TARGET_ATTR |
 | 6 | ACTION_TIME |
 | 7 | ACTION |
 | 8 | PRIORITY |
 | 9 | CONDITION_TIME |
 | 10 | CONDITION |
CUBRID_SCH_CLASS_PRIVILEGE / CUBRID_SCH_ATTR_PRIVILEGE | 1 | CLASS_NAME / ATTR_NAME |
 | 2 | PRIVILEGE |
 | 3 | GRANTABLE |
CUBRID_SCH_PRIMARY_KEY | 1 | CLASS_NAME |
 | 2 | ATTR_NAME |
 | 3 | KEY_SEQ | base:1
 | 4 | KEY_NAME |
CUBRID_SCH_IMPORTED_KEYS / CUBRID_SCH_EXPORTED_KEYS / CUBRID_SCH_CROSS_REFERENCE | 1 | PKTABLE_NAME |
 | 2 | PKCOLUMN_NAME |
 | 3 | FKTABLE_NAME | base:1
 | 4 | FKCOLUMN_NAME |
 | 5 | KEY_SEQ | base:1
 | 6 | UPDATE_ACTION | 0:cascade 1:restrict 2:no action 3:set null
 | 7 | DELETE_ACTION | 0:cascade 1:restrict 2:no action 3:set null
 | 8 | FK_NAME |
 | 9 | PK_NAME |

Parámetros

conn_identifier

Identificador de conexión.

schema_type

Información del esquema que se quiere conocer.

class_name

Clase del esquema que se quiere conocer.

attr_name

Atributo del esquema que se quiere conocer.

Valores devueltos

Matriz que contiene la información del esquema, cuando el proceso tiene éxito;

FALSE, cuando el proceso no tiene éxito

Historial de cambios

Versión | Descripción
8.3.1 | Cambio del valor devuelto: cuando el proceso no tiene éxito, devuelve false, no -1.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_schema()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

printf("\n--- Primary Key ---\n");
$pk = cubrid_schema($conn, CUBRID_SCH_PRIMARY_KEY, "game");
var_dump($pk);

printf("\n--- Foreign Keys ---\n");
$fk = cubrid_schema($conn, CUBRID_SCH_IMPORTED_KEYS, "game");
var_dump($fk);

printf("\n--- Column Attribute ---\n");
$attr = cubrid_schema($conn, CUBRID_SCH_ATTRIBUTE, "stadium", "area");
var_dump($attr);

cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

--- Primary Key ---
array(3) {
  [0]=>
  array(4) {
    ["CLASS_NAME"]=>
    string(4) "game"
    ["ATTR_NAME"]=>
    string(12) "athlete_code"
    ["KEY_SEQ"]=>
    string(1) "3"
    ["KEY_NAME"]=>
    string(41) "pk_game_host_year_event_code_athlete_code"
  }
  [1]=>
  array(4) {
    ["CLASS_NAME"]=>
    string(4) "game"
    ["ATTR_NAME"]=>
    string(10) "event_code"
    ["KEY_SEQ"]=>
    string(1) "2"
    ["KEY_NAME"]=>
    string(41) "pk_game_host_year_event_code_athlete_code"
  }
  [2]=>
  array(4) {
    ["CLASS_NAME"]=>
    string(4) "game"
    ["ATTR_NAME"]=>
    string(9) "host_year"
    ["KEY_SEQ"]=>
    string(1) "1"
    ["KEY_NAME"]=>
    string(41) "pk_game_host_year_event_code_athlete_code"
  }
}

--- Foreign Keys ---
array(2) {
  [0]=>
  array(9) {
    ["PKTABLE_NAME"]=>
    string(7) "athlete"
    ["PKCOLUMN_NAME"]=>
    string(4) "code"
    ["FKTABLE_NAME"]=>
    string(4) "game"
    ["FKCOLUMN_NAME"]=>
    string(12) "athlete_code"
    ["KEY_SEQ"]=>
    string(1) "1"
    ["UPDATE_RULE"]=>
    string(1) "1"
    ["DELETE_RULE"]=>
    string(1) "1"
    ["FK_NAME"]=>
    string(20) "fk_game_athlete_code"
    ["PK_NAME"]=>
    string(15) "pk_athlete_code"
  }
  [1]=>
  array(9) {
    ["PKTABLE_NAME"]=>
    string(5) "event"
    ["PKCOLUMN_NAME"]=>
    string(4) "code"
    ["FKTABLE_NAME"]=>
    string(4) "game"
    ["FKCOLUMN_NAME"]=>
    string(10) "event_code"
    ["KEY_SEQ"]=>
    string(1) "1"
    ["UPDATE_RULE"]=>
    string(1) "1"
    ["DELETE_RULE"]=>
    string(1) "1"
    ["FK_NAME"]=>
    string(18) "fk_game_event_code"
    ["PK_NAME"]=>
    string(13) "pk_event_code"
  }
}

--- Column Attribute ---
array(1) {
  [0]=>
  array(13) {
    ["ATTR_NAME"]=>
    string(4) "area"
    ["DOMAIN"]=>
    string(1) "7"
    ["SCALE"]=>
    string(1) "2"
    ["PRECISION"]=>
    string(2) "10"
    ["INDEXED"]=>
    string(1) "0"
    ["NON_NULL"]=>
    string(1) "0"
    ["SHARED"]=>
    string(1) "0"
    ["UNIQUE"]=>
    string(1) "0"
    ["DEFAULT"]=>
    NULL
    ["ATTR_ORDER"]=>
    string(1) "4"
    ["CLASS_NAME"]=>
    string(7) "stadium"
    ["SOURCE_CLASS"]=>
    string(7) "stadium"
    ["IS_KEY"]=>
    string(1) "0"
  }
}
cubrid_rollback
cubrid_seq_drop
Funciones de CUBRID


Borrar un elemento de una columna tipo secuencia usando OID

cubrid_schema
cubrid_seq_insert
Funciones de CUBRID
PHP Manual

cubrid_seq_drop

(PECL CUBRID >= 8.3.0)

cubrid_seq_drop — Borrar un elemento de una columna tipo secuencia usando OID

Descripción

bool cubrid_seq_drop ( resource $conn_identifier , string $oid , string $attr_name , int $index )

La función cubrid_seq_drop() se usa para borrar un elemento que se solicitó desde el atributo de tipo secuencia de la base de datos.

Parámetros

conn_identifier

Identificador de conexión.

oid

OID de la instancia con la que se quiere trabajar.

attr_name

Nombre del atributo del que se quiere borrar un elemento.

index

ïndice del elemento que se quiere borrar (basado en 1).

Valores devueltos

TRUE, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_seq_drop()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c sequence(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_seq_drop($conn, $oid, "c", 4);

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

array(4) {
  [0]=>
  string(2) "11"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
  [3]=>
  string(3) "333"
}
array(3) {
  [0]=>
  string(2) "11"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
}

Ver también

  • cubrid_seq_insert() - Insertar un elemento en una columna tipo secuencia usando OID
  • cubrid_seq_put() - Actualizar el valor del elemento de la columna de tipo secuencia usando OID

cubrid_schema
cubrid_seq_insert
Funciones de CUBRID


Insertar un elemento en una columna tipo secuencia usando OID

cubrid_seq_drop
cubrid_seq_put
Funciones de CUBRID
PHP Manual

cubrid_seq_insert

(PECL CUBRID >= 8.3.0)

cubrid_seq_insert — Insertar un elemento en una columna tipo secuencia usando OID

Descripción

bool cubrid_seq_insert ( resource $conn_identifier , string $oid , string $attr_name , int $index , string $seq_element )

La función cubrid_col_insert() se usa para insertar un elemento en un atributo de tipo secuencia en la posició solicitada.

Parámetros

conn_identifier

Identificador de conexión.

oid

OID de la instancia con la que se quiere trabajar.

attr_name

Nombre del atributo en donde insertar una instancia.

index

Posición del elemento donde se quiere insertar el elemento (basado en 1).

seq_element

Contenido del elemento que se quiere insertar.

Valores devueltos

TRUE, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_seq_insert()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c sequence(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_seq_insert($conn, $oid, "c", 5, "44");

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

array(4) {
  [0]=>
  string(2) "11"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
  [3]=>
  string(3) "333"
}
array(5) {
  [0]=>
  string(2) "11"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
  [3]=>
  string(3) "333"
  [4]=>
  string(2) "44"
}

Ver también

  • cubrid_seq_drop() - Borrar un elemento de una columna tipo secuencia usando OID
  • cubrid_seq_put() - Actualizar el valor del elemento de la columna de tipo secuencia usando OID

cubrid_seq_drop
cubrid_seq_put
Funciones de CUBRID


Actualizar el valor del elemento de la columna de tipo secuencia usando OID

cubrid_seq_insert
cubrid_set_add
Funciones de CUBRID
PHP Manual

cubrid_seq_put

(PECL CUBRID >= 8.3.0)

cubrid_seq_put — Actualizar el valor del elemento de la columna de tipo secuencia usando OID

Descripción

bool cubrid_seq_put ( resource $conn_identifier , string $oid , string $attr_name , int $index , string $seq_element )

La función cubrid_seq_put() se usa para actualizar el contenido del elemento solicitado en un atributo de tipo secuencia usando OID.

Parámetros

conn_identifier

Identificador de conexión.

oid

OID de la instancia con la que se quiere trabajar.

attr_name

Nombre del atributo en el que se quiere actualizar un elemento.

index

Índice (basado en 1) del elemento que se quiere actualizar.

seq_element

Nuevo contenido que se quiere usar para la actualización.

Valores devueltos

TRUE, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_seq_put()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c sequence(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_seq_put($conn, $oid, "c", 1, "111");

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

array(4) {
  [0]=>
  string(2) "11"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
  [3]=>
  string(3) "333"
}
array(4) {
  [0]=>
  string(3) "111"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
  [3]=>
  string(3) "333"
}

Ver también

  • cubrid_seq_drop() - Borrar un elemento de una columna tipo secuencia usando OID
  • cubrid_seq_insert() - Insertar un elemento en una columna tipo secuencia usando OID

cubrid_seq_insert
cubrid_set_add
Funciones de CUBRID


Insertar un único elemento en la columna del tipo de conjunto usando OID

cubrid_seq_put
cubrid_set_autocommit
Funciones de CUBRID
PHP Manual

cubrid_set_add

(PECL CUBRID >= 8.3.0)

cubrid_set_add — Insertar un único elemento en la columna del tipo de conjunto usando OID

Descripción

bool cubrid_set_add ( resource $conn_identifier , string $oid , string $attr_name , string $set_element )

La función cubrid_set_add() se usa para insertar un único elemento en un atributo de tipo de conjunto (conjunto, multiconjunto, secuencia) que se solicitó.

Parámetros

conn_identifier

Identificador de conexión.

oid

OID de la instancia con la que se quiere trabajar.

attr_name

Nombre del atributo en donde se quiere insertar un elemento.

set_element

Contenido del elemento que se quiere insertar.

Valores devueltos

TRUE, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_set_add()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_set_add($conn, $oid, "b", "4");

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
array(4) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
  [3]=>
  string(1) "4"
}

Ver también

  • cubrid_seq_drop() - Borrar un elemento de una columna tipo secuencia usando OID

cubrid_seq_put
cubrid_set_autocommit
Funciones de CUBRID


Establece el modo de confirmación automática de la conexión

cubrid_set_add
cubrid_set_db_parameter
Funciones de CUBRID
PHP Manual

cubrid_set_autocommit

(PECL CUBRID >= 8.4.0)

cubrid_set_autocommit — Establece el modo de confirmación automática de la conexión

Descripción

bool cubrid_set_autocommit ( resource $conn_identifier , bool $mode )

La función cubrid_set_autocommit() es usada para establecer el modo de confirmación automática de la conexión de base de datos actual.

En CUBRID PHP, el modo de confirmación automática está desactivado por defecto para el manejo de la transacción. Cuando el modo de confirmación automática es encendido, cualquier trabajo pendiente es confirmado automáticamente.

Parámetros

conn_identifier

Identifiador de conexión.

mode

Modo de confirmación automática. Las siguientes constantes podrán ser utilizadas:

  • CUBRID_AUTOCOMMIT_FALSE
  • CUBRID_AUTOCOMMIT_TRUE

Valores devueltos

TRUE, cuando el proceso ha sido exitoso.

FALSE, cuando el proceso no tuvo éxito.

Ver también

  • cubrid_get_autocommit() - Devuelve el modo auto-commit de la conexión
  • cubrid_commit() - Consigna una transacción

cubrid_set_add
cubrid_set_db_parameter
Funciones de CUBRID


Configura los parámetros de la base de datos CUBRID

cubrid_set_autocommit
cubrid_set_drop
Funciones de CUBRID
PHP Manual

cubrid_set_db_parameter

(PECL CUBRID >= 8.4.0)

cubrid_set_db_parameter — Configura los parámetros de la base de datos CUBRID

Descripción

bool cubrid_set_db_parameter ( resource $conn_identifier , int $param_type , int $param_value )

La función cubrid_set_db_parameter() se utiliza para establecer los parámetros de la base de datos CUBRID. Se pueden configurar los siguientes parámetros de la base de datos CUBRID:

  • PARAM_ISOLATION_LEVEL
  • PARAM_LOCK_TIMEOUT

Nota:

El modo auto-commit se puede configurar mediante el uso de cubrid_set_autocommit().

Parámetros

conn_identifier

La conexión CUBRID. Si el identificador de conexión no se especifica, se asume el último enlace abierto por cubrid_connect().

param_type

Tipo de parámetro de la base de datos.

param_value

Valor del nivel de aislamiento (1-6) o valor del tiempo de espera de bloqueo (en segundos).

Valores devueltos

TRUE en caso de éxito.

FALSE en caso de fallo.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_get_db_parameter()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

$params = cubrid_get_db_parameter($conn);
var_dump($params);

cubrid_set_autocommit($conn, CUBRID_AUTOCOMMIT_TRUE);
cubrid_set_db_parameter($conn, CUBRID_PARAM_ISOLATION_LEVEL, 2);

$params_new = cubrid_get_db_parameter($conn);
var_dump($params_new);

cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

array(4) {
  ["PARAM_ISOLATION_LEVEL"]=>
  int(3)
  ["PARAM_LOCK_TIMEOUT"]=>
  int(-1)
  ["PARAM_MAX_STRING_LENGTH"]=>
  int(1073741823)
  ["PARAM_AUTO_COMMIT"]=>
  int(0)
}
array(4) {
  ["PARAM_ISOLATION_LEVEL"]=>
  int(2)
  ["PARAM_LOCK_TIMEOUT"]=>
  int(-1)
  ["PARAM_MAX_STRING_LENGTH"]=>
  int(1073741823)
  ["PARAM_AUTO_COMMIT"]=>
  int(1)
}

Ver también

  • cubrid_get_db_parameter() - Devuelve los parámetros de la base de datos CUBRID
  • cubrid_set_autocommit() - Establece el modo de confirmación automática de la conexión

cubrid_set_autocommit
cubrid_set_drop
Funciones de CUBRID


Borrar un elemento de la columna del tipo de conjunto usando OID

cubrid_set_db_parameter
cubrid_set_query_timeout
Funciones de CUBRID
PHP Manual

cubrid_set_drop

(PECL CUBRID >= 8.3.0)

cubrid_set_drop — Borrar un elemento de la columna del tipo de conjunto usando OID

Descripción

bool cubrid_set_drop ( resource $conn_identifier , string $oid , string $attr_name , string $set_element )

La función cubrid_set_drop() se usa para borrar un elemento que se solicitó desde el atributo del tipo de conjunto dado (conjunto, multiconjunto) de la base de datos.

Parámetros

conn_identifier

Identificador de conexión.

oid

OID de la instancia con la que se quiere trabajar.

attr_name

Nombre del atributo del que se quiere borrar un elemento.

set_element

Contenido del elemento que se quiere borrar.

Valores devueltos

TRUE, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_set_drop()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_set_drop($conn, $oid, "b", "1");

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
array(2) {
  [0]=>
  string(1) "2"
  [1]=>
  string(1) "3"
}

Ver también

  • cubrid_set_add() - Insertar un único elemento en la columna del tipo de conjunto usando OID

cubrid_set_db_parameter
cubrid_set_query_timeout
Funciones de CUBRID


Establecer el tiempo de espera de la ejecución de consultas

cubrid_set_drop
cubrid_version
Funciones de CUBRID
PHP Manual

cubrid_set_query_timeout

(PECL CUBRID >= 8.4.1)

cubrid_set_query_timeout — Establecer el tiempo de espera de la ejecución de consultas

Descripción

bool cubrid_set_query_timeout ( resource $req_identifier , int $timeout )

La función cubrid_set_query_timeout() se usa para establecer el tiempo de espera de la ejecución de consultas.

Parámetros

req_identifier

Identificador de petición.

timeout

El tiempo de espera, unidades de milisegundos

Valores devueltos

TRUE, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Ver también

  • cubrid_get_query_timeout() - Obtener el valor del tiempo de espera de consulta de la petición

cubrid_set_drop
cubrid_version
Funciones de CUBRID


Obtener la versión del módulo de PHP de CUBRID

cubrid_set_query_timeout
Funciones de compatibilidad CUBRID MySQL
Funciones de CUBRID
PHP Manual

cubrid_version

(PECL CUBRID >= 8.3.0)

cubrid_version — Obtener la versión del módulo de PHP de CUBRID

Descripción

string cubrid_version ( void )

La función cubrid_version() se usa para obtener la versión del módulo de PHP de CUBRID.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Información de la versión (p.ej. "8.3.1.0001").

Ejemplos

Ejemplo #1 Ejemplo de cubrid_version()

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_connect("localhost", 33088, "demodb", "dba");

if (!$conn) {
    die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
    printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);

?>

El resultado del ejemplo sería:

CUBRID PHP Version:            9.1.0.0001

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              1

Server Info:                   9.1.0.0212
Client Info:                   9.1.0

CUBRID Charset:                iso8859-1

Ver también

  • cubrid_error_code() - Obtener el código de error de la llamada a una función más reciente
  • cubrid_error_code_facility() - Obtener el código de error del dispositivo

cubrid_set_query_timeout
Funciones de compatibilidad CUBRID MySQL
Funciones de CUBRID


Funciones de compatibilidad CUBRID MySQL

Tabla de contenidos

  • cubrid_affected_rows — Devolver el número de filas afectadas por la última sentencia SQL
  • cubrid_client_encoding — Devuelve el actual conjunto de caracteres de la conexión a CUBRID
  • cubrid_close — Cerrar la conexión de CUBRID
  • cubrid_data_seek — Mueve el puntero interno de la fila del resultado CUBRID
  • cubrid_db_name — Obtener el nombre de la base de datos desde los resultados de cubrid_list_dbs
  • cubrid_errno — Devuelve el valor numérico del mensaje de error de la operación de CUBRID previa
  • cubrid_error — Se usa para obtener el mensaje de error
  • cubrid_fetch_array — Extrae una fila como array asociativo, numérico o ambos
  • cubrid_fetch_assoc — Devuelve un array asociativo que se corresponde con la fila obtenida
  • cubrid_fetch_field — Devuelve un objeto con ciertas propiedades
  • cubrid_fetch_lengths — Devuelve una matriz con las longitudes de los valores de cada campo de la fila actual
  • cubrid_fetch_object — Devuelve un objeto con los nombres de las columnas
  • cubrid_fetch_row — Devuelve un array numérico con los valores de la fila actual
  • cubrid_field_flags — Devuelve una cadena con las banderas del índice del campo dado
  • cubrid_field_len — Devuelve la longitud máxima del campo especificado
  • cubrid_field_name — Devuelve el nombre del índice del campo especificado
  • cubrid_field_seek — Mueve el cursor del conjunto de resultados al índece del campo especificado
  • cubrid_field_table — Devuelve el nombre de la tabla del campo especificado
  • cubrid_field_type — Devuelve el tipo de columna que se corresponde con el índice del campo dado
  • cubrid_list_dbs — Devuelve una matriz con la lista de todas las bases de datos Cubrid existentes
  • cubrid_num_fields — Devuelve el número de columnas del conjunto de resultados
  • cubrid_ping — Hacer ping en una conexión al servidor o reconectar si no hay conexión
  • cubrid_query — Enviar una consulta CUBRID
  • cubrid_real_escape_string — Escapar caracteres especiales en una cadena para usarla en una sentencia SQL
  • cubrid_result — Devuelve el valor de un campo específico de una fila específica
  • cubrid_unbuffered_query — Realiza una consulta sin traer los resultados a memoria
cubrid_version
cubrid_affected_rows
CUBRID


Devolver el número de filas afectadas por la última sentencia SQL

Funciones de compatibilidad CUBRID MySQL
cubrid_client_encoding
Funciones de compatibilidad CUBRID MySQL
PHP Manual

cubrid_affected_rows

(PECL CUBRID >= 8.3.0)

cubrid_affected_rows — Devolver el número de filas afectadas por la última sentencia SQL

Descripción

int cubrid_affected_rows ([ resource $conn_identifier ] )
int cubrid_affected_rows ([ resource $req_identifier ] )

La función cubrid_affected_rows() se usa para obtener el número de filas afectadas por la última sentencia SQL (INSERT, DELETE, UPDATE).

Parámetros

conn_identifier

La conexión CUBRID. Si no se especifica el identificador de conexión, se asume el último enlace abierto por cubrid_connect().

req_identifier

Identificador de petición. Podría ser devuelto desde cubrid_prepare() o cubrid_execute(). Si el identificador de petición no se especifica, se asume el último identificador solicitado por cubrid_prepare() o cubrid_execute().

Valores devueltos

El número de filas afectadas por la sentencia SQL, cuando el proceso tiene éxito.

-1, cuando la sentencia SQL no es INSERT, DELETE o UPDATE.

FALSE, cuando el identificador de solicitud no está especificado, y no existe una última petición.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_affected_rows()

<?php
$conn = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');
cubrid_execute($conn, "DROP TABLE IF EXISTS cubrid_test");
cubrid_execute($conn, "CREATE TABLE cubrid_test (d varchar)");
$sql_stmt = "INSERT INTO cubrid_test(d) VALUES('php-test')";
$req = cubrid_prepare($conn, $sql_stmt);

for ($i = 0; $i < 10; $i++) {
    cubrid_execute($req);
}
cubrid_commit($conn);

$req = cubrid_execute($conn, "DELETE FROM cubrid_test WHERE d='php-test'", CUBRID_ASYNC);
var_dump(cubrid_affected_rows());
var_dump(cubrid_affected_rows($conn));
var_dump(cubrid_affected_rows($req));

cubrid_disconnect($conn);

print "¡Hecho!";
?>

El resultado del ejemplo sería:

Rows deleted: 5

Ver también

  • cubrid_execute() - Ejecutar una sentencia SQL preparada

Funciones de compatibilidad CUBRID MySQL
cubrid_client_encoding
Funciones de compatibilidad CUBRID MySQL


Devuelve el actual conjunto de caracteres de la conexión a CUBRID

cubrid_affected_rows
cubrid_close
Funciones de compatibilidad CUBRID MySQL
PHP Manual

cubrid_client_encoding

(PECL CUBRID >= 8.3.1)

cubrid_client_encoding — Devuelve el actual conjunto de caracteres de la conexión a CUBRID

Descripción

string cubrid_client_encoding ([ resource $conn_identifier ] )

Esta función devuelve el actual conjunto de caracteres de conexión a CUBRID y es similar a la función CUBRID cubrid_get_charset().

Parámetros

conn_identifier

Conexión CUBRID. Si no se especifica el identificador de conexión, se asumirá el último enlace abierto por cubrid_connect().

Valores devueltos

Cadena que representa el conjunto de caracteres de la conexión a CUBRID; en caso de éxito.

FALSE en caso de falla.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_client_encoding()

<?php

$con = cubrid_connect("localhost", 33000, "demodb");
if (!$con)
{
    die('No se pudo conectar.');
}

printf("Conjunto actual de caracteres de CUBRID: %s\n", cubrid_client_encoding($con));

?>

El resultado del ejemplo sería:

CUBRID current charset: iso8859-1

Ver también

  • cubrid_get_charset() - Devolver el conjunto de caracteres de la conexión CUBRID actual

cubrid_affected_rows
cubrid_close
Funciones de compatibilidad CUBRID MySQL


Cerrar la conexión de CUBRID

cubrid_client_encoding
cubrid_data_seek
Funciones de compatibilidad CUBRID MySQL
PHP Manual

cubrid_close

(PECL CUBRID >= 8.3.1)

cubrid_close — Cerrar la conexión de CUBRID

Descripción

bool cubrid_close ([ resource $conn_identifier ] )

La función cubrid_close() termina la transacción en proceso actual, cierra el gestor de conexión y se desconecta del servidor. Si aún existe algún gestor de petición que en este punto aún no se haya cerrado, éste se cerrará. Es similar a la función de CUBRID cubrid_disconnect().

Parámetros

conn_identifier

El identificador de conexión de CUBRID. Si no se especifica el identificador de conexión, se asume la última conexión abierta por cubrid_connect().

Valores devueltos

TRUE, cuando el proceso es satisfactorio.

FALSE, cuando el proceso es insatisfactorio.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_close()

<?php
$con = cubrid_connect ("localhost", 33000, "demodb");
if ($con) {
   echo "conectado satisfactoriamente";
   $req = cubrid_execute ( $con, "insert into person values(1,'James')");
   if ($req) {
      cubrid_close_request ($req);
      cubrid_commit ($con);
   } else {
      cubrid_rollback ($con);
   }
   cubrid_close ($con);
}
?>

Ver también

  • cubrid_disconnect() - Cerrar una conexión a una base de datos
  • cubrid_connect() - Abrir una conexión al servidor CUBRID
  • cubrid_connect_with_url() - Establecer el entorno para la conexión al servidor de CUBRID

cubrid_client_encoding
cubrid_data_seek
Funciones de compatibilidad CUBRID MySQL


Mueve el puntero interno de la fila del resultado CUBRID

cubrid_close
cubrid_db_name
Funciones de compatibilidad CUBRID MySQL
PHP Manual

cubrid_data_seek

(PECL CUBRID >= 8.3.0)

cubrid_data_seek — Mueve el puntero interno de la fila del resultado CUBRID

Descripción

bool cubrid_data_seek ( resource $result , int $row_number )

Esta función desplaza el puntero interno de las filas del resultado CUBRID (asociado con el identificador especificado) para apuntar al número de fila especificada. Hay funciones, como cubrid_fetch_assoc(), que utilizan el valor almacenado en uso de row number.

Parámetros

result

El resultado.

row_number

Éste es el número de fila deseado del puntero del nuevo resultado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_data_seek()

<?php
$conn = cubrid_connect("127.0.0.1", 33000, "demodb");

$req = cubrid_execute($conn, "SELECT * FROM code");
cubrid_data_seek($req, 0);

$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_data_seek($req, 2);
$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_data_seek($req, 4);
$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

array(2) {
  [0]=>
  string(1) "X"
  [1]=>
  string(5) "Mixed"
}
array(2) {
  [0]=>
  string(1) "M"
  [1]=>
  string(3) "Man"
}
array(2) {
  [0]=>
  string(1) "S"
  [1]=>
  string(6) "Silver"
}
cubrid_close
cubrid_db_name
Funciones de compatibilidad CUBRID MySQL


Obtener el nombre de la base de datos desde los resultados de cubrid_list_dbs

cubrid_data_seek
cubrid_errno
Funciones de compatibilidad CUBRID MySQL
PHP Manual

cubrid_db_name

(PECL CUBRID >= 8.3.1)

cubrid_db_name — Obtener el nombre de la base de datos desde los resultados de cubrid_list_dbs

Descripción

string cubrid_db_name ( array $result , int $index )

Recupera el nombre de la base de datos desde una llamada a cubrid_list_dbs().

Parámetros

result

El puntero resultado desde un llamada a cubrid_list_dbs().

index

El índice dentro del conjunto resultado.

Valores devueltos

Devuelve el nombre de la base de datos en caso de éxito, y FALSE en caso de fallo. Si se devuelve FALSE, use cubrid_error() para determinar la naturaleza del error.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_db_name()

<?php
error_reporting(E_ALL);

$conn = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');
$db_list = cubrid_list_dbs($conn);

$i = 0;
$cnt = count($db_list);
while ($i < $cnt) {
    echo cubrid_db_name($db_list, $i) . "\n";
    $i++;
}
?>

El resultado del ejemplo sería:

demodb

Ver también

  • cubrid_list_dbs() - Devuelve una matriz con la lista de todas las bases de datos Cubrid existentes

cubrid_data_seek
cubrid_errno
Funciones de compatibilidad CUBRID MySQL


Devuelve el valor numérico del mensaje de error de la operación de CUBRID previa

cubrid_db_name
cubrid_error
Funciones de compatibilidad CUBRID MySQL
PHP Manual

cubrid_errno

(PECL CUBRID >= 8.3.1)

cubrid_errno — Devuelve el valor numérico del mensaje de error de la operación de CUBRID previa

Descripción

int cubrid_errno ([ resource $conn_identifier ] )

Devuelve el número de error de la última función CUBRID.

La función cubrid_errno() se usa para obtener el código de error que ocurrió durante la ejecución de la API. Normalmente, obtiene el error cuando la API devuelve false como su valor de retorno.

Parámetros

conn_identifier

El identificador de conexión de CUBRID. Si el identificador de conexión no se especifica, se asume la última conexión abierta por cubrid_connect().

Valores devueltos

Devuelve el número de error de la última función CUBRID, o 0 (cero) si no ocurrio ningún error.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_errno()

<?php
$con = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');
$req = cubrid_execute($con, "select id, name from person");
if ($req) {
    while (list ($id, $name) = cubrid_fetch($req))
    echo $id, $name;
} else {
    echo "Código de error: ", cubrid_errno($con);
    echo "Mensaje de error: ", cubrid_error($con);
}
?>

El resultado del ejemplo sería:

Código de error: -493 Mensaje de error:: Syntax: Unknown class "person". select id, [name] from person

Ver también

  • cubrid_error() - Se usa para obtener el mensaje de error
  • cubrid_error_code() - Obtener el código de error de la llamada a una función más reciente
  • cubrid_error_msg() - Obtener el último mensaje de error de la llamada a la función más reciente

cubrid_db_name
cubrid_error
Funciones de compatibilidad CUBRID MySQL


Se usa para obtener el mensaje de error

cubrid_errno
cubrid_fetch_array
Funciones de compatibilidad CUBRID MySQL
PHP Manual

cubrid_error

(PECL CUBRID >= 8.3.1)

cubrid_error — Se usa para obtener el mensaje de error

Descripción

string cubrid_error ([ resource $connection ] )

La función cubrid_error() se usa para obtener el mensaje de error que ocurrió durante el uso de la API CUBRID. Normalmente, obtiene el mensaje de error cuando la API devuelve false como su valor de retorno.

Parámetros

connection

La conexión CUBRID

Valores devueltos

Mensaje de error que ocurrió.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_error()

<?php
$con = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');
$req = cubrid_execute($con, "select id, name from person");
if ($req) {
    while (list ($id, $name) = cubrid_fetch($req))
    echo $id, $name;
} else {
    echo "Código de error: ", cubrid_errno($con);
    echo "Mensaje de error: ", cubrid_error($con);
}
?>

El resultado del ejemplo sería:

Código de error: -493 Mensaje de error: Syntax: Unknown class "person". select id, [name] from person

Ver también

  • cubrid_errno() - Devuelve el valor numérico del mensaje de error de la operación de CUBRID previa
  • cubrid_error_code() - Obtener el código de error de la llamada a una función más reciente
  • cubrid_error_msg() - Obtener el último mensaje de error de la llamada a la función más reciente

cubrid_errno
cubrid_fetch_array
Funciones de compatibilidad CUBRID MySQL


Extrae una fila como array asociativo, numérico o ambos

cubrid_error
cubrid_fetch_assoc
Funciones de compatibilidad CUBRID MySQL
PHP Manual

cubrid_fetch_array

(PECL CUBRID >=8.3.0)

cubrid_fetch_array — Extrae una fila como array asociativo, numérico o ambos

Descripción

array cubrid_fetch_array ( resource $result [, int $type = CUBRID_BOTH ] )

La función cubrid_fetch_array() se utiliza para consultar una única fila del resultado de la consulta, y lo devuelve como array. El cursor avanza automáticamente a la siguiente fila del resultado.

Parámetros

result

result proviene de una llamada a la función cubrid_execute()

type

Tipo de array del resultado obtenido: CUBRID_NUM, CUBRID_ASSOC, CUBRID_BOTH, CUBRID_OBJECT. Si se operan con objetos lob, se puede usar CUBRID_LOB.

Valores devueltos

Devuelve un array de cadenas que se corresponden a la fila consultada, cuando ésta tenga éxito.

FALSE, cuando no existen más filas; NULL, cuando el proceso no tiene éxito.

El tipo del array devuelto se definirá dependiendo de cómo se haya solicitado. Usando CUBRID_BOTH (por omisión), se obtendrá un array con índices numéricos y asociativos, y se podrá decidir qué tipo de datos usar mediante el parámetro type. En la variable type puede asignarse uno de los siguientes valores:

  • CUBRID_NUM : Array numérico (basado en 0)
  • CUBRID_ASSOC : Array asociativo
  • CUBRID_BOTH : Array numérico y asociativo (predeterminado)

Ejemplos

Ejemplo #1 Ejemplo de cubrid_fetch_array()

<?php
$conexión = cubrid_connect("localhost", 33000, "demodb");
$solicitud = cubrid_execute($conexión, "SELECT name,area,seats,address FROM stadium WHERE nation_code='GRE' AND seats > 10000");

printf("%-40s %-10s %-6s %-20s\n", "name", "area", "seats", "address");
while ($fila = cubrid_fetch_array($solicitud, CUBRID_NUM)) {
    printf("%-40s %-10s %-6s %-20s\n", $fila[0], $fila[1], $fila[2], $fila[3]);
}

// si se operan con objetos lob, se puede usar cubrid_fetch_array($solicitud, CUBRID_NUM | CUBRID_LOB)

cubrid_close_request($solicitud);

cubrid_disconnect($conexión);
?>

El resultado del ejemplo sería:

name                                     area       seats  address
Panathinaiko Stadium                     86300.00   50000  Athens, Greece
Olympic Stadium                          54700.00   13000  Athens, Greece
Olympic Indoor Hall                      34100.00   18800  Athens, Greece
Olympic Hall                             52400.00   21000  Athens, Greece
Olympic Aquatic Centre                   42500.00   11500  Athens, Greece
Markopoulo Olympic Equestrian Centre     64000.00   15000  Markopoulo, Athens, Greece
Faliro Coastal Zone Olympic Complex      34650.00   12171  Faliro, Athens, Greece
Athens Olympic Stadium                   120400.00  71030  Maroussi, Athens, Greece
Ano Liossia                              34000.00   12000  Ano Liosia, Athens, Greece

Ver también

  • cubrid_execute() - Ejecutar una sentencia SQL preparada
  • cubrid_fetch() - Obtener la siguiente fila de un conjunto de resultados
  • cubrid_fetch_row() - Devuelve un array numérico con los valores de la fila actual
  • cubrid_fetch_assoc() - Devuelve un array asociativo que se corresponde con la fila obtenida
  • cubrid_fetch_object() - Devuelve un objeto con los nombres de las columnas

cubrid_error
cubrid_fetch_assoc
Funciones de compatibilidad CUBRID MySQL


Devuelve un array asociativo que se corresponde con la fila obtenida

cubrid_fetch_array
cubrid_fetch_field
Funciones de compatibilidad CUBRID MySQL
PHP Manual

cubrid_fetch_assoc

(PECL CUBRID >= 8.3.0)

cubrid_fetch_assoc — Devuelve un array asociativo que se corresponde con la fila obtenida

Descripción

array cubrid_fetch_assoc ( resource $result [, int $type ] )

Esta función devuelve un array asociativo que se corresponde con la fila obtenida, y después mueve el puntero interno de datos hacia adelante, o devuelve FALSE cuando se ha alcanzado el final.

Parámetros

result

result proviene de una llamada a la función cubrid_execute()

type

El tipo solamente puede ser CUBRID_LOB. Este parámetro se usará solamente cuando sea necesario operar con objetos lob.

Valores devueltos

Un array asociativo, cuando el proceso tuvo éxito.

FALSE, cuando no existen más filas; NULL, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_fetch_assoc()

<?php
$conexión = cubrid_connect("localhost", 33000, "demodb");
$solicitud = cubrid_execute($conexión, "SELECT name,area,seats,address FROM stadium WHERE nation_code='GRE' AND seats > 10000");

printf("%-40s %-10s %-6s %-20s\n", "name", "area", "seats", "address");
while ($fila = cubrid_fetch_assoc($solicitud)) {
    printf("%-40s %-10s %-6s %-20s\n",
        $fila["name"], $fila["area"], $fila["seats"], $fila["address"]);
}

// si se operan con objetos lob, se puede usar cubrid_fetch_assoc($solicitud, CUBRID_LOB)

cubrid_close_request($solicitud);

cubrid_disconnect($conexión);
?>

El resultado del ejemplo sería:

name                                     area       seats  address
Panathinaiko Stadium                     86300.00   50000  Athens, Greece
Olympic Stadium                          54700.00   13000  Athens, Greece
Olympic Indoor Hall                      34100.00   18800  Athens, Greece
Olympic Hall                             52400.00   21000  Athens, Greece
Olympic Aquatic Centre                   42500.00   11500  Athens, Greece
Markopoulo Olympic Equestrian Centre     64000.00   15000  Markopoulo, Athens, Greece
Faliro Coastal Zone Olympic Complex      34650.00   12171  Faliro, Athens, Greece
Athens Olympic Stadium                   120400.00  71030  Maroussi, Athens, Greece
Ano Liossia                              34000.00   12000  Ano Liosia, Athens, Greece

Ver también

  • cubrid_execute() - Ejecutar una sentencia SQL preparada
  • cubrid_fetch() - Obtener la siguiente fila de un conjunto de resultados
  • cubrid_fetch_row() - Devuelve un array numérico con los valores de la fila actual
  • cubrid_fetch_array() - Extrae una fila como array asociativo, numérico o ambos
  • cubrid_fetch_object() - Devuelve un objeto con los nombres de las columnas

cubrid_fetch_array
cubrid_fetch_field
Funciones de compatibilidad CUBRID MySQL


Devuelve un objeto con ciertas propiedades

cubrid_fetch_assoc
cubrid_fetch_lengths
Funciones de compatibilidad CUBRID MySQL
PHP Manual

cubrid_fetch_field

(PECL CUBRID >= 8.3.1)

cubrid_fetch_field — Devuelve un objeto con ciertas propiedades

Descripción

object cubrid_fetch_field ( resource $result [, int $field_offset = 0 ] )

Esta función devuelve un objeto con ciertas propiedades de la columna especificada. Las propiedades del objeto son:

name

nombre de la columna

table

nombre de la tabla a la que pertenece la columna

def

valor predeterminado de la columna

max_length

longitud máxima de la columna

not_null

1 si la columna no puede ser NULL

primary_key

1 si la columna es una clave primaria

unique_key

1 si la columna es clave única

multiple_key

1 si la columna no es clave única

numeri

1 si la columna es numérica

blob

1 si la columna es un BLOB

type

el tipo de la columna

unsigned

1 si la columna no tiene signo

zerofill

1 si la columna se rellena con ceros

Parámetros

result

result proviene de una llamada a la función cubrid_execute()

field_offset

El índice del campo numérico. Si el índice del campo no se especifica, se recupera el siguiente campo (el que aún no ha sido recuperado por esta función). field_offset comienza en 0.

Valores devueltos

Un objeto con ciertas propiedades de la columna especificada, cuando el proceso tuvo éxito.

FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_fetch_field()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_execute($conn, "SELECT event_code,athlete_code,nation_code,game_date FROM game WHERE host_year=1988 and event_code=20001;");

var_dump(cubrid_fetch_row($req));

cubrid_field_seek($req, 1);
$field = cubrid_fetch_field($req);

printf("\n--- Field Properties ---\n");
printf("%-30s %s\n", "name:", $field->name);
printf("%-30s %s\n", "table:", $field->table);
printf("%-30s \"%s\"\n", "default value:", $field->def);
printf("%-30s %d\n", "max length:", $field->max_length);
printf("%-30s %d\n", "not null:", $field->not_null);
printf("%-30s %d\n", "primary key:", $field->primary_key);
printf("%-30s %d\n", "unique key:", $field->unique_key);
printf("%-30s %d\n", "multiple key:", $field->multiple_key);
printf("%-30s %d\n", "numeric:", $field->numeric);
printf("%-30s %d\n", "blob:", $field->blob);
printf("%-30s %s\n", "type:", $field->type);
printf("%-30s %d\n", "unsigned:", $field->unsigned);
printf("%-30s %d\n", "zerofill:", $field->zerofill);

cubrid_close_request($req);

cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

array(4) {
  [0]=>
  string(5) "20001"
  [1]=>
  string(5) "16681"
  [2]=>
  string(3) "KOR"
  [3]=>
  string(9) "1988-9-30"
}

--- Field Properties ---
name:                          athlete_code
table:                         game
default value:                 ""
max length:                    0
not null:                      1
primary key:                   1
unique key:                    1
multiple key:                  0
numeric:                       1
blob:                          0
type:                          integer
unsigned:                      0
zerofill:                      0
cubrid_fetch_assoc
cubrid_fetch_lengths
Funciones de compatibilidad CUBRID MySQL


Devuelve una matriz con las longitudes de los valores de cada campo de la fila actual

cubrid_fetch_field
cubrid_fetch_object
Funciones de compatibilidad CUBRID MySQL
PHP Manual

cubrid_fetch_lengths

(PECL CUBRID >= 8.3.0)

cubrid_fetch_lengths — Devuelve una matriz con las longitudes de los valores de cada campo de la fila actual

Descripción

array cubrid_fetch_lengths ( resource $result )

Esta función devuelve una matriz numérica con las longitudes de los valores de cada campo de la fila actual del conjunto de resultados o FALSE en caso de fallo.

Nota:

Si el tipo de información del campo es BLOB/CLOB, se debería tomar su longitud usando cubrid_lob_size().

Parámetros

result

result proviene de una llamada a la función cubrid_execute()

Valores devueltos

Una matriz numérica, cuando el proceso tuvo éxito.

FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_fetch_lengths()

$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$row = cubrid_fetch_row($result);
print_r($row);

$lens = cubrid_fetch_lengths($result);
print_r($lens);

cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

Array
(
    [0] => 2004
    [1] => 20085
    [2] => 15118
    [3] => 30134
    [4] => AUS
    [5] => G
    [6] => 2004-8-20
)
Array
(
    [0] => 4
    [1] => 5
    [2] => 5
    [3] => 5
    [4] => 3
    [5] => 1
    [6] => 10
)
cubrid_fetch_field
cubrid_fetch_object
Funciones de compatibilidad CUBRID MySQL


Devuelve un objeto con los nombres de las columnas

cubrid_fetch_lengths
cubrid_fetch_row
Funciones de compatibilidad CUBRID MySQL
PHP Manual

cubrid_fetch_object

(PECL CUBRID >= 8.3.0)

cubrid_fetch_object — Devuelve un objeto con los nombres de las columnas

Descripción

object cubrid_fetch_object ( resource $result [, string $class_name [, array $params [, int $type ]]] )

Esta función devuelve un objeto con los nombres de las columnas del conjunto de resultados como propiedades. Los valores de estas propiedades son extraídos de la fila actual del resultado.

Parámetros

result

result proviene de una llamada a la función cubrid_execute()

class_name

El nombre de la clase a instanciar, Si no se especifica, se devuelve un objeto stdClass (stdClass es una clase génerica vacía de PHP que se usa al convertir otros tipos a objetos).

params

Un array opcional de parámetros a pasar al constructor de los objetos class_name.

type

El tipo solamente puede ser CUBRID_LOB. Este parámetro se usará solamente cuando sea necesario operar con objetos lob.

Valores devueltos

Un objeto, cuando el proceso tuvo éxito.

FALSE, cuando no existen más filas; NULL, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_fetch_object()

<?php
$conexión = cubrid_connect("localhost", 33000, "demodb");
$resultado = cubrid_execute($conexión, "SELECT * FROM code");

var_dump(cubrid_fetch_object($resultado));

// si se operan con objetos lob, se puede usar cubrid_fetch_object($resultado, CUBRID_LOB)

class demodb_code {
    public $s_name = null;
    public $f_name = null;

    public function toString() {
        var_dump($this);
    }
}

var_dump(cubrid_fetch_object($resultado, "demodb_code"));

// si se operan con objetos lob, se puede usar cubrid_fetch_object($resultado, "demodb_code", CUBRID_LOB)

class demodb_code_construct extends demodb_code {
    public function __construct($s, $f) {
        $this->s_name = $s;
        $this->f_name = $f;
    }
}

var_dump(cubrid_fetch_object($resultado, 'demodb_code_construct', array('s_name', 'f_name')));

// si se operan con objetos lob, se puede usar cubrid_fetch_object($resultado, 'demodb_code_construct', array('s_name', 'f_name'), CUBRID_LOB)

var_dump(cubrid_fetch_object($resultado));

cubrid_close_request($resultado);
cubrid_disconnect($conexión);
?>

El resultado del ejemplo sería:

object(stdClass)#1 (2) {
  ["s_name"]=>
  string(1) "X"
  ["f_name"]=>
  string(5) "Mixed"
}
object(demodb_code)#1 (2) {
  ["s_name"]=>
  string(1) "W"
  ["f_name"]=>
  string(5) "Woman"
}
object(demodb_code_construct)#1 (2) {
  ["s_name"]=>
  string(6) "s_name"
  ["f_name"]=>
  string(6) "f_name"
}
object(stdClass)#1 (2) {
  ["s_name"]=>
  string(1) "B"
  ["f_name"]=>
  string(6) "Bronze"
}

Ver también

  • cubrid_execute() - Ejecutar una sentencia SQL preparada
  • cubrid_fetch() - Obtener la siguiente fila de un conjunto de resultados
  • cubrid_fetch_array() - Extrae una fila como array asociativo, numérico o ambos
  • cubrid_fetch_assoc() - Devuelve un array asociativo que se corresponde con la fila obtenida
  • cubrid_fetch_row() - Devuelve un array numérico con los valores de la fila actual

cubrid_fetch_lengths
cubrid_fetch_row
Funciones de compatibilidad CUBRID MySQL


Devuelve un array numérico con los valores de la fila actual

cubrid_fetch_object
cubrid_field_flags
Funciones de compatibilidad CUBRID MySQL
PHP Manual

cubrid_fetch_row

(PECL CUBRID >= 8.3.0)

cubrid_fetch_row — Devuelve un array numérico con los valores de la fila actual

Descripción

array cubrid_fetch_row ( resource $result [, int $type ] )

Esta función devuelve un array numérico con los valores de la fila actual del conjunto de resultados, comenzando en 0, y mueve hacia adelante el puntero de datos interno.

Parámetros

result

result proviene de una llamada a la función cubrid_execute()

type

El tipo solamente puede ser CUBRID_LOB. Este parámetro se usará solamente cuando sea necesario operar con objetos lob.

Valores devueltos

Un array numérico, cuando es proceso tuvo éxito.

FALSE, cuando no existen más filas; NULL, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_fetch_row()

<?php
$conexión = cubrid_connect("localhost", 33000, "demodb");
$solicitud = cubrid_execute($conexión, "SELECT name,area,seats,address FROM stadium WHERE nation_code='GRE' AND seats > 10000");

printf("%-40s %-10s %-6s %-20s\n", "name", "area", "seats", "address");
while ($fila = cubrid_fetch_row($solicitud)) {
    printf("%-40s %-10s %-6s %-20s\n", $fila[0], $fila[1], $fila[2], $fila[3]);
}

// si se operan con objetos lob, se puede usar cubrid_fetch_row($solicitud, CUBRID_LOB)

cubrid_close_request($solicitud);

cubrid_disconnect($conexión);
?>

El resultado del ejemplo sería:

name                                     area       seats  address
Panathinaiko Stadium                     86300.00   50000  Athens, Greece
Olympic Stadium                          54700.00   13000  Athens, Greece
Olympic Indoor Hall                      34100.00   18800  Athens, Greece
Olympic Hall                             52400.00   21000  Athens, Greece
Olympic Aquatic Centre                   42500.00   11500  Athens, Greece
Markopoulo Olympic Equestrian Centre     64000.00   15000  Markopoulo, Athens, Greece
Faliro Coastal Zone Olympic Complex      34650.00   12171  Faliro, Athens, Greece
Athens Olympic Stadium                   120400.00  71030  Maroussi, Athens, Greece
Ano Liossia                              34000.00   12000  Ano Liosia, Athens, Greece

Ver también

  • cubrid_execute() - Ejecutar una sentencia SQL preparada
  • cubrid_fetch() - Obtener la siguiente fila de un conjunto de resultados
  • cubrid_fetch_array() - Extrae una fila como array asociativo, numérico o ambos
  • cubrid_fetch_assoc() - Devuelve un array asociativo que se corresponde con la fila obtenida
  • cubrid_fetch_object() - Devuelve un objeto con los nombres de las columnas

cubrid_fetch_object
cubrid_field_flags
Funciones de compatibilidad CUBRID MySQL


Devuelve una cadena con las banderas del índice del campo dado

cubrid_fetch_row
cubrid_field_len
Funciones de compatibilidad CUBRID MySQL
PHP Manual

cubrid_field_flags

(PECL CUBRID >= 8.3.0)

cubrid_field_flags — Devuelve una cadena con las banderas del índice del campo dado

Descripción

string cubrid_field_flags ( resource $result , int $field_offset )

Esta función devuelve una cadena con las banderas del índice del campo dado separadas mediante espacios. Se puede dividir el valor devuelto usando explode. La posibles banderas podrían ser: not_null, primary_key, unique_key, foreign_key, auto_increment, shared, reverse_index, reverse_unique y timestamp.

Parámetros

result

result proviene de una llamada a la función cubrid_execute()

field_offset

El índice de campo numérico. field_offset comienza en 0. Si field_offset no existe, se emitirá un error de nivel E_WARNING.

Valores devueltos

Una cadena con banderas, cuando el proceso tuvo éxito.

FALSE cuando hay un valor no válido de field_offset.

-1 si la sentencia SQL no es SELECT.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_field_flags()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$col_num = cubrid_num_cols($result);

printf("%-30s %s\n", "Field Name", "Field Flags");
for($i = 0; $i < $col_num; $i++) {
    printf("%-30s %s\n", cubrid_field_name($result, $i), cubrid_field_flags($result, $i));
}

cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

Field Name                     Field Flags
host_year                      not_null primary_key unique_key
event_code                     not_null primary_key unique_key foreign_key
athlete_code                   not_null primary_key unique_key foreign_key
stadium_code                   not_null
nation_code
medal
game_date
cubrid_fetch_row
cubrid_field_len
Funciones de compatibilidad CUBRID MySQL


Devuelve la longitud máxima del campo especificado

cubrid_field_flags
cubrid_field_name
Funciones de compatibilidad CUBRID MySQL
PHP Manual

cubrid_field_len

(PECL CUBRID >= 8.3.0)

cubrid_field_len — Devuelve la longitud máxima del campo especificado

Descripción

int cubrid_field_len ( resource $result , int $field_offset )

Esta función devuelve la longitud máxima del campo especificado en caso de éxito, o FALSE en caso de fallo.

Parámetros

result

result proviene de una llamada a la función cubrid_execute()

field_offset

El índice de campo numérico. field_offset comienza en 0. Si field_offset no existe, se emitirá un error de nivel E_WARNING.

Valores devueltos

La longitud máxima, cuando el proceso ha tenido éxito.

FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_field_len()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$column_names = cubrid_column_names($result);
$column_types = cubrid_column_types($result);

printf("%-30s %-30s %-15s\n", "Column Names", "Column Types", "Column Maxlen");
for($i = 0, $size = count($column_names); $i < $size; $i++) {
    $column_len = cubrid_field_len($result, $i);
    printf("%-30s %-30s %-15s\n", $column_names[$i], $column_types[$i], $column_len);
}

cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

Column Names                   Column Types                   Column Maxlen
host_year                      integer                        11
event_code                     integer                        11
athlete_code                   integer                        11
stadium_code                   integer                        11
nation_code                    char                           3
medal                          char                           1
game_date                      date                           10
cubrid_field_flags
cubrid_field_name
Funciones de compatibilidad CUBRID MySQL


Devuelve el nombre del índice del campo especificado

cubrid_field_len
cubrid_field_seek
Funciones de compatibilidad CUBRID MySQL
PHP Manual

cubrid_field_name

(PECL CUBRID >= 8.3.0)

cubrid_field_name — Devuelve el nombre del índice del campo especificado

Descripción

string cubrid_field_name ( resource $result , int $field_offset )

Esta función devuelve el nombre del índice del campo especificado en caso de éxito o FALSE en caso de fallo.

Parámetros

result

result proviene de una llamada a la función cubrid_execute()

field_offset

El índice de campo numérico. field_offset comienza en 0. Si field_offset no existe, se emitirá un error de nivel E_WARNING.

Valores devueltos

El nombre del índice del campo especificado, en caso de éxito.

FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_field_name()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$col_num = cubrid_num_cols($result);

printf("%-30s %s\n", "Field Name", "Field Flags");
for($i = 0; $i < $col_num; $i++) {
    printf("%-30s %s\n", cubrid_field_name($result, $i), cubrid_field_flags($result, $i));
}

cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

Field Name                     Field Flags
host_year                      not_null primary_key unique_key
event_code                     not_null primary_key unique_key foreign_key
athlete_code                   not_null primary_key unique_key foreign_key
stadium_code                   not_null
nation_code
medal
game_date
cubrid_field_len
cubrid_field_seek
Funciones de compatibilidad CUBRID MySQL


Mueve el cursor del conjunto de resultados al índece del campo especificado

cubrid_field_name
cubrid_field_table
Funciones de compatibilidad CUBRID MySQL
PHP Manual

cubrid_field_seek

(PECL CUBRID >= 8.3.0)

cubrid_field_seek — Mueve el cursor del conjunto de resultados al índece del campo especificado

Descripción

bool cubrid_field_seek ( resource $result [, int $field_offset = 0 ] )

Esta función mueve el cursor del conjunto de resultados al índece del campo especificado. Este índice es usado por cubrid_fetch_field() si no se incluye un índice de campo. Devuelve TRUE en caso de éxito o FALSE en caso de fallo.

Parámetros

result

result proviene de una llamada a la función cubrid_execute()

field_offset

El índice de campo numérico. field_offset comienza en 0. Si field_offset no existe, se emitirá un error de nivel E_WARNING.

Valores devueltos

TRUE en caso de éxito.

FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_field_seek()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_execute($conn, "SELECT event_code,athlete_code,nation_code,game_date FROM game WHERE host_year=1988 and event_code=20001;");

var_dump(cubrid_fetch_row($req));

cubrid_field_seek($req, 1);
$field = cubrid_fetch_field($req);

printf("\n--- Field Properties ---\n");
printf("%-30s %s\n", "name:", $field->name);
printf("%-30s %s\n", "table:", $field->table);
printf("%-30s \"%s\"\n", "default value:", $field->def);
printf("%-30s %d\n", "max length:", $field->max_length);
printf("%-30s %d\n", "not null:", $field->not_null);
printf("%-30s %d\n", "unique key:", $field->unique_key);
printf("%-30s %d\n", "multiple key:", $field->multiple_key);
printf("%-30s %d\n", "numeric:", $field->numeric);
printf("%-30s %s\n", "type:", $field->type);

cubrid_close_request($req);

cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

array(4) {
  [0]=>
  string(5) "20001"
  [1]=>
  string(5) "16132"
  [2]=>
  string(3) "KOR"
  [3]=>
  string(9) "1988-09-30"
}

--- Field Properties ---
name:                          athlete_code
table:                         game
default value:                 ""
max length:                    0
not null:                      1
unique key:                    1
multiple key:                  0
numeric:                       1
type:                          integer
cubrid_field_name
cubrid_field_table
Funciones de compatibilidad CUBRID MySQL


Devuelve el nombre de la tabla del campo especificado

cubrid_field_seek
cubrid_field_type
Funciones de compatibilidad CUBRID MySQL
PHP Manual

cubrid_field_table

(PECL CUBRID >= 8.3.0)

cubrid_field_table — Devuelve el nombre de la tabla del campo especificado

Descripción

string cubrid_field_table ( resource $result , int $field_offset )

Esta función devuelve el nombre de la tabla del campo especificado. Esto es útil cuando se usan consultas SELECT largas con JOINS.

Parámetros

result

Array type of the fetched result CUBRID_NUM, CUBRID_ASSOC, CUBRID_BOTH.

field_offset

El índice de campo numérico. field_offset comienza en 0. Si field_offset no existe, se emitirá un error de nivel E_WARNING.

Valores devueltos

El nombre de la tabla del campo especificado, en caso de éxito.

FALSE cuando field_offset tiene un valor no válido.

-1 si la sentencia SQL no es SELECT.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_field_table()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM code");

$col_num = cubrid_num_cols($result);

printf("%-15s %-15s %s\n", "Field Table", "Field Name", "Field Type");
for($i = 0; $i < $col_num; $i++) {
    printf("%-15s %-15s %s\n",
        cubrid_field_table($result, $i), cubrid_field_name($result, $i), cubrid_field_type($result, $i));
}

cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

Field Table     Field Name      Field Type
code            s_name          char
code            f_name          varchar
cubrid_field_seek
cubrid_field_type
Funciones de compatibilidad CUBRID MySQL


Devuelve el tipo de columna que se corresponde con el índice del campo dado

cubrid_field_table
cubrid_list_dbs
Funciones de compatibilidad CUBRID MySQL
PHP Manual

cubrid_field_type

(PECL CUBRID >= 8.3.0)

cubrid_field_type — Devuelve el tipo de columna que se corresponde con el índice del campo dado

Descripción

string cubrid_field_type ( resource $result , int $field_offset )

Esta función devuelve el tipo de columna que se corresponde con el índice del campo dado. El tipo de campo devuelto debería ser uno de los siguientes: "int", "real", "string", etc.

Parámetros

result

Tipo array del resultado traído CUBRID_NUM, CUBRID_ASSOC, CUBRID_BOTH.

field_offset

El índice de campo numérico. field_offset comienza en 0. Si field_offset no existe, se emitirá un error de nivel E_WARNING.

Valores devueltos

El tipo de la columna, en caso de éxito.

FALSE cuando field_offset no tiene un valor válido.

-1 si la sentencia SQL no es SELECT.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_field_type()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM code");

$col_num = cubrid_num_cols($result);

printf("%-15s %-15s %s\n", "Field Table", "Field Name", "Field Type");
for($i = 0; $i < $col_num; $i++) {
    printf("%-15s %-15s %s\n",
        cubrid_field_table($result, $i), cubrid_field_name($result, $i), cubrid_field_type($result, $i));
}

cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

Field Table     Field Name      Field Type
code            s_name          char
code            f_name          varchar
cubrid_field_table
cubrid_list_dbs
Funciones de compatibilidad CUBRID MySQL


Devuelve una matriz con la lista de todas las bases de datos Cubrid existentes

cubrid_field_type
cubrid_num_fields
Funciones de compatibilidad CUBRID MySQL
PHP Manual

cubrid_list_dbs

(PECL CUBRID >= 8.3.0)

cubrid_list_dbs — Devuelve una matriz con la lista de todas las bases de datos Cubrid existentes

Descripción

array cubrid_list_dbs ([ resource $conn_identifier ] )

Esta función devuelve una matriz con la lista de todas las bases de datos Cubrid existentes.

Parámetros

conn_identifier

La conexión CUBRID.

Valores devueltos

Una matriz numérica con todas las bases de datos Cubrid existentes; en caso de éxito.

FALSE en caso de fallo.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_list_dbs()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$db_list = cubrid_list_dbs($conn);
var_dump($db_list);

cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

array(1) {
  [0]=>
  string(6) "demodb"
}
cubrid_field_type
cubrid_num_fields
Funciones de compatibilidad CUBRID MySQL


Devuelve el número de columnas del conjunto de resultados

cubrid_list_dbs
cubrid_ping
Funciones de compatibilidad CUBRID MySQL
PHP Manual

cubrid_num_fields

(PECL CUBRID >= 8.3.0)

cubrid_num_fields — Devuelve el número de columnas del conjunto de resultados

Descripción

int cubrid_num_fields ( resource $result )

Esta función devuelve el número de columnas del conjunto de resultados, en caso de éxito, o FALSE en caso de fallo.

Parámetros

result

result proviene de una llamada a cubrid_execute(), cubrid_query() y cubrid_prepare()

Valores devueltos

El número de columnas, en caso de éxito.

-1 si la sentencia SQL no es SELECT.

FALSE cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_num_fields()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$req = cubrid_execute($conn, "SELECT * FROM code");

$row_num = cubrid_num_rows($req);
$col_num = cubrid_num_fields($req);

printf("Row Num: %d\nColumn Num: %d\n", $row_num, $col_num);

cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

Row Num: 6
Column Num: 2
cubrid_list_dbs
cubrid_ping
Funciones de compatibilidad CUBRID MySQL


Hacer ping en una conexión al servidor o reconectar si no hay conexión

cubrid_num_fields
cubrid_query
Funciones de compatibilidad CUBRID MySQL
PHP Manual

cubrid_ping

(PECL CUBRID >= 8.3.1)

cubrid_ping — Hacer ping en una conexión al servidor o reconectar si no hay conexión

Descripción

bool cubrid_ping ([ resource $conn_identifier ] )

Verifica si la conexión al servidor está funcionando..

Parámetros

conn_identifier

El identificador de conexión de CUBRID. Si el identificador de conexión no se especifica, se asume la última conexión abierta por cubrid_connect().

Valores devueltos

Devuelve TRUE si la conexión al servidor CUBRID está funcionando, si no FALSE.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_ping()

<?php
set_time_limit(0);

$con = cubrid_connect('localhost', 33000, 'demodb');

/* Se asume que esta consulta tomará mucho tiempo */
$sql = "select * from athlete";
$result = cubrid_query($sql);
if (!$result) {
    echo 'La consulta #1 falló, saliendo.';
    exit;
}

/* Asegurarse de que la conexión todavía perdura, si no, intentar reconectar */
if (!cubrid_ping($con)) {
    echo 'Conexión perdida, saliendo después de la consulta #1';
    exit;
}
cubrid_free_result($result);

/* Ya que la conexión aún perdura, vamos a ejecutar otra consulta */
$sql2 = "select * from code";
$result2 = cubrid_query($sql2);
?>

cubrid_num_fields
cubrid_query
Funciones de compatibilidad CUBRID MySQL


Enviar una consulta CUBRID

cubrid_ping
cubrid_real_escape_string
Funciones de compatibilidad CUBRID MySQL
PHP Manual

cubrid_query

(PECL CUBRID >= 8.3.1)

cubrid_query — Enviar una consulta CUBRID

Descripción

resource cubrid_query ( string $query [, resource $conn_identifier ] )

cubrid_query() envía una consulta única (no están soportadas consultas múltiples) a la base de datos activa actual en el servidor que está asociado con el conn_identifier especificado.

Parámetros

query

Una consulta SQL

La información dentro de la consulta debería estar adecuadamente escapada.

conn_identifier

La conexión CUBRID. Si el identificador de conexión no se especifica, se asume la última conexión abierta por cubrid_connect().

Valores devueltos

Para SELECT, SHOW, DESCRIBE, EXPLAIN y otras sentencias que devuelven conjuntos de resultadosa, cubrid_query() devuelve un resource en caso de éxito, o FALSE en caso de error.

Para otros tipos de sentencias SQL, INSERT, UPDATE, DELETE, DROP, etc, cubrid_query() devuelve TRUE en caso de éxito o FALSE en caso de error.

El recurso resultado devuelto debería ser pasado a cubrid_fetch_array(), y a otras funciones para tratar con las tablas de resultados, para acceder a la información devuelta.

Use cubrid_num_rows() para vaeriguar cuántas filas fueron devueltas por una sentencia SELECT o cubrid_affected_rows() para averiguar cuántas filas fueron afectadas por una sentencia DELETE, INSERT, REPLACE, o UPDATE.

cubrid_query() también podrá fallar y devolver FALSE si el usuario no tiene permiso para acceder a la/s tabla/s referenciada/s por la consulta.

Ejemplos

Ejemplo #1 Consulta No Válida

La siguiente consulta no es válida sintácticamente, por lo que cubrid_query() fallará y devolverá FALSE.

<?php
$conn = cubrid_connect('localhost', 33000, 'demodb');

$result = cubrid_query('SELECT * WHERE 1=1');
if (!$result) {
    die('Invalid query: ' . cubrid_error());
}

?>

Ejemplo #2 Consulta Válida

La siguiente consulta es válida, por lo que cubrid_query() devolverá un resource.

<?php
// Esto podría ser proporcionado por el usuario, por ejemplo
$nombre = 'fred';
$apellido  = 'fox';

cubrid_execute($conn,"DROP TABLE if exists friends");
cubrid_execute($conn,"create table friends(firstname varchar,lastname varchar,address char(24),age int)");
cubrid_execute($conn,"insert into friends values('fred','fox','home-1','20')");
cubrid_execute($conn,"insert into friends values('blue','cat','home-2','21')");
// Formular la Consulta
// Esta es la mejor manera de realizar una consulta SQL
// Para más ejemplos, véase cubrid_real_escape_string()
$consulta = sprintf("SELECT firstname, lastname, address, age FROM friends WHERE firstname='%s' AND lastname='%s'",
cubrid_real_escape_string($nombre),
cubrid_real_escape_string($apellido));

// Realizar la Constulta
$result = cubrid_query($consulta);

// Verificar el resultado
// Esto muestra la consulta real enviada a CUBRID, y el error. Útil para depuración.
if (!$result) {
    $mensaje  = 'Consulta no válida: ' . cubrid_error() . "\n";
    $mensaje .= 'Consulta completa: ' . $consulta;
    die($mensaje);
}

// Usar el resultado
// Intentar imprimir $result no permitirá el acceso a la información en el recurso
// Se debe usar una de las funciones de resultados de cubrid
// Véase también cubrid_result(), cubrid_fetch_array(), cubrid_fetch_row(), etc.
while ($fila = cubrid_fetch_assoc($result)) {
    echo $fila['firstname'];
    echo $fila['lastname'];
    echo $fila['address'];
    echo $fila['age'];
}

// Liberar los recursos asociados con el conjunto de resultados
// Esto se hace automáticamente al final del script
cubrid_free_result($result);
?>

Ver también

  • cubrid_connect() - Abrir una conexión al servidor CUBRID
  • cubrid_error() - Se usa para obtener el mensaje de error
  • cubrid_real_escape_string() - Escapar caracteres especiales en una cadena para usarla en una sentencia SQL
  • cubrid_result() - Devuelve el valor de un campo específico de una fila específica
  • cubrid_fetch_assoc() - Devuelve un array asociativo que se corresponde con la fila obtenida
  • cubrid_unbuffered_query() - Realiza una consulta sin traer los resultados a memoria

cubrid_ping
cubrid_real_escape_string
Funciones de compatibilidad CUBRID MySQL


Escapar caracteres especiales en una cadena para usarla en una sentencia SQL

cubrid_query
cubrid_result
Funciones de compatibilidad CUBRID MySQL
PHP Manual

cubrid_real_escape_string

(PECL CUBRID >= 8.3.0)

cubrid_real_escape_string — Escapar caracteres especiales en una cadena para usarla en una sentencia SQL

Descripción

string cubrid_real_escape_string ( string $unescaped_string [, resource $conn_identifier ] )

Esta función devuelve la versión escapada de la cadena dada. Escapará los siguientes caracteres: '. En general, las comillas simples se usan para encerrar cadenas de caracteres. Las comillas dobles se pueden usar también dependiendo del valor de ansi_quotes, que es un parámetro relacionado con sentencias SQL. Si el valor de ansi_quotes value está establecido a no, las cadenas de caracteres encerradas entre comillas dobles se tratan como cadenas de caracteres, no como identificadores. El valor predeterminado es yes. Si quiere incluir una comilla simple como parte de una cadena de caracteres, introduzca dos comillas simples en una fila.

Parámetros

unescaped_string

La cadena que va a ser escapada.

conn_identifier

La conexión CUBRID. Si el identificador de conexión no se especifica, se asume el último enlace abierto por cubrid_connect().

Valores devueltos

La versión escapada de la cadena dada, en caso de éxito.

FALSE en caso de fallo.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_real_escape_string()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$unescaped_str = ' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
$escaped_str = cubrid_real_escape_string($unescaped_str);

$len = strlen($unescaped_str);

@cubrid_execute($conn, "DROP TABLE cubrid_test");
cubrid_execute($conn, "CREATE TABLE cubrid_test (t char($len))");
cubrid_execute($conn, "INSERT INTO cubrid_test (t) VALUES('$escaped_str')");

$req = cubrid_execute($conn, "SELECT * FROM cubrid_test");
$row = cubrid_fetch_assoc($req);

var_dump($row);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

array(1) {
  ["t"]=>
  string(95) " !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
}
cubrid_query
cubrid_result
Funciones de compatibilidad CUBRID MySQL


Devuelve el valor de un campo específico de una fila específica

cubrid_real_escape_string
cubrid_unbuffered_query
Funciones de compatibilidad CUBRID MySQL
PHP Manual

cubrid_result

(PECL CUBRID >= 8.3.0)

cubrid_result — Devuelve el valor de un campo específico de una fila específica

Descripción

string cubrid_result ( resource $result , int $row [, mixed $field = 0 ] )

Esta función devuelve el valor de un campo específico de una fila específica de un conjunto de resultados.

Parámetros

result

result proviene de una llamada a la función cubrid_execute()

row

El número de fila del resultado que está siendo traído. Los números de fila comienzan en 0.

field

El nombre o índice del campo dado por field que está siendo obtenido. Puede ser el índice del campo, el nombre del campo, o la tabla del campo punto nombre del campo (nombretabla.nombrecampo). Si el nombre de la columna ha sido apodado ('select foo as bar from...'), use el alias en vez del nombre de la columna. Si no está definido se trae el primer campo.

Valores devueltos

El valor de un campo específico, en caso de éxito (NULL si el valor es nulo).

FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_result()

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$req = cubrid_execute($conn, "SELECT * FROM code");

$result = cubrid_result($req, 0);
var_dump($result);

$result = cubrid_result($req, 0, 1);
var_dump($result);

$result = cubrid_result($req, 5, "f_name");
var_dump($result);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

string(1) "X"
string(5) "Mixed"
string(4) "Gold"
cubrid_real_escape_string
cubrid_unbuffered_query
Funciones de compatibilidad CUBRID MySQL


Realiza una consulta sin traer los resultados a memoria

cubrid_result
Alias y Funciones Obsoletas de CUBRID
Funciones de compatibilidad CUBRID MySQL
PHP Manual

cubrid_unbuffered_query

(PECL CUBRID >= 8.3.0)

cubrid_unbuffered_query — Realiza una consulta sin traer los resultados a memoria

Descripción

resource cubrid_unbuffered_query ( string $query [, resource $conn_identifier ] )

Esta función realiza una consulta sin esperar a que todos los resultados de consulta hayan sido completados. Devolverá cuando los resultados están siendo generados.

Parámetros

query

Una consulta SQL.

conn_identifier

La conexión CUBRID. Si el identificador de conexión no se especifica, se asume el último enlace abierto por cubrid_connect().

Valores devueltos

Para sentencias SELECT, SHOW, DESCRIBE o EXPLAIN devuelve un recurso identificador de petición en caso de éxito.

Para otro tipo de sentencias SQL, UPDATE, DELETE, DROP, etc,, devuelve TRUE en caso de éxito.

FALSE en caso de fallo.

Notas

Nota:

Los beneficios de cubrid_unbuffered_query() tienen un coste: no se puede usar cubrid_num_rows() y cubrid_data_seek() en un conjunto de resultados devueltos desde cubrid_unbuffered_query().

Ejemplos

Ejemplo #1 Ejemplo de cubrid_unbuffered_query()

<?php
    $enlace = cubrid_connect("localhost", 30000, "demodb", "dba", "");
    if (!$enlace)
    {
        die('No se pudo conectar.');
    }
    $consulta = "select * from code";
    $resultado = cubrid_unbuffered_query($consulta, $enlace);

    while ($fila = cubrid_fetch($resultado))
    {
        var_dump($fila);
    }

    cubrid_close_request($resultado);
    cubrid_disconnect($enlace);
?>
cubrid_result
Alias y Funciones Obsoletas de CUBRID
Funciones de compatibilidad CUBRID MySQL


Alias y Funciones Obsoletas de CUBRID

Tabla de contenidos

  • cubrid_load_from_glo — Leer información de una instancia GLO y guardarla en un fichero
  • cubrid_new_glo — Crear una instancia glo
  • cubrid_save_to_glo — Guardar el fichero solicitado en una instancia GLO
  • cubrid_send_glo — Leer información de un glo y enviarla a la salida estándar
cubrid_unbuffered_query
cubrid_load_from_glo
CUBRID


Leer información de una instancia GLO y guardarla en un fichero

Alias y Funciones Obsoletas de CUBRID
cubrid_new_glo
Alias y Funciones Obsoletas de CUBRID
PHP Manual

cubrid_load_from_glo

(PECL CUBRID >= 8.3.0)

cubrid_load_from_glo — Leer información de una instancia GLO y guardarla en un fichero

Descripción

int cubrid_load_from_glo ( resource $conn_identifier , string $oid , string $file_name )

La función cubrid_load_from_glo() se usa para leer una información desde una instancia glo, y guardarla en el fichero indicado.

Parámetros

conn_identifier

Identificador de conexión.

oid

OID de la instancia glo desde la que se quiere leer la información.

file_name

Nombre del fichero en donde se quiere guardar la información.

Valores devueltos

TRUE, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_load_from_glo()

<?php
$req = cubrid_execute ($con, "select image from person where id=1");
if ($req) {
   list ($oid) = cubrid_fetch($req);
   cubrid_close_request($req);
   $res = cubrid_load_from_glo ($con, $oid, "output.jpg");
   if ($res) {
      echo "imagen cambiada con éxito";
   }
}
?>

Notas

Nota:

Por razones de compatibilidad con versiones anteriores, los siguientes alias obsoletos podrían usarse: cubrid_load_from_glo()

Nota:

Esta función está eliminada desde CUBRID 3.1.

Ver también

  • cubrid_new_glo() - Crear una instancia glo
  • cubrid_save_to_glo() - Guardar el fichero solicitado en una instancia GLO
  • cubrid_send_glo() - Leer información de un glo y enviarla a la salida estándar

Alias y Funciones Obsoletas de CUBRID
cubrid_new_glo
Alias y Funciones Obsoletas de CUBRID


Crear una instancia glo

cubrid_load_from_glo
cubrid_save_to_glo
Alias y Funciones Obsoletas de CUBRID
PHP Manual

cubrid_new_glo

(PECL CUBRID >= 8.3.0)

cubrid_new_glo — Crear una instancia glo

Descripción

string cubrid_new_glo ( resource $conn_identifier , string $class_name , string $file_name )

La función cubrid_new_glo() se usa para crear una instancia glo en la clase solicitada (clase glo). El glo creado es un tipo LO, y es almacenado en el fichero file_name.

Parámetros

conn_identifier

Identificador de conexión.

class_name

Nombre de la clase en la que se quiere crear un glo.

file_name

El nombre del archivo en el que se quiere guardar el glo recién creado.

Valores devueltos

Oid de la instancia creada, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_new_glo()

<?php
$oid = cubrid_new_glo ($con, "glo", "input.jpg");
if ($oid){
   // el tipo de la columna "image" es "object"
   $req = cubrid_execute ($con, "insert into person(image) values($oid)");
   if ($req) {
      echo "imagem insertada con éxito";
      cubrid_close_request ($req);
      cubrid_commit($con);
   }
}
?>

Notas

Nota:

Por razones de compatibilidad con versiones anteriores, los siguientes alias obsoletos podrían usarse: cubrid_new_glo()

Nota:

Esta función está eliminada desde CUBRID 3.1.

Ver también

  • cubrid_save_to_glo() - Guardar el fichero solicitado en una instancia GLO
  • cubrid_load_from_glo() - Leer información de una instancia GLO y guardarla en un fichero
  • cubrid_send_glo() - Leer información de un glo y enviarla a la salida estándar

cubrid_load_from_glo
cubrid_save_to_glo
Alias y Funciones Obsoletas de CUBRID


Guardar el fichero solicitado en una instancia GLO

cubrid_new_glo
cubrid_send_glo
Alias y Funciones Obsoletas de CUBRID
PHP Manual

cubrid_save_to_glo

(PECL CUBRID >= 8.3.0)

cubrid_save_to_glo — Guardar el fichero solicitado en una instancia GLO

Descripción

int cubrid_save_to_glo ( resource $conn_identifier , string $oid , string $file_name )

La función cubrid_save_to_glo() se usa para guardar el fichero solicitado en una instancia glo.

Parámetros

conn_identifier

Identificador de conexión.

oid

OID de la instancia glo en donde se quiere guardar un fichero.

file_name

El nombre del archivo que quierer guardar.

Valores devueltos

TRUE, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_save_to_glo()

<?php
$req = cubrid_execute ($con, "select image from person where id=1");
if ($req) {
   list ($oid) = cubrid_fetch($req);
   cubrid_close_request($req);
   $res = cubrid_save_to_glo ($con, $oid, "input.jpg");
   if ($res) {
      echo "imagen cambiada con éxito";
   }
}
?>

Notas

Nota:

Por razones de compatibilidad con versiones anteriores, los siguientes alias obsoletos podrían usarse: cubrid_save_to_glo()

Nota:

Esta función está eliminada desde CUBRID 3.1.

Ver también

  • cubrid_new_glo() - Crear una instancia glo
  • cubrid_load_from_glo() - Leer información de una instancia GLO y guardarla en un fichero
  • cubrid_send_glo() - Leer información de un glo y enviarla a la salida estándar

cubrid_new_glo
cubrid_send_glo
Alias y Funciones Obsoletas de CUBRID


Leer información de un glo y enviarla a la salida estándar

cubrid_save_to_glo
DB++
Alias y Funciones Obsoletas de CUBRID
PHP Manual

cubrid_send_glo

(PECL CUBRID >= 8.3.0)

cubrid_send_glo — Leer información de un glo y enviarla a la salida estándar

Descripción

int cubrid_send_glo ( resource $conn_identifier , string $oid )

La función cubrid_send_glo() se usa para leer información de una instancia glo y enviarla a la salida estándar de PHP.

Parámetros

conn_identifier

Identificador de conexión.

oid

OID de la instancia glo de la que se quiere leer información.

Valores devueltos

TRUE, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_send_glo()

<?php
$req = cubrid_execute ($con, "select image from person where id =1");
if ($req) {
  list ($oid) = cubrid_fetch($req);
  cubrid_close_request($req);
  Header ("Content-type: image/jpeg");
  cubrid_send_glo ($con, $oid);
}
?>

Notas

Nota:

Por razones de compatibilidad con versiones anteriores, los siguientes alias obsoletos podrían usarse: cubrid_send_glo()

Nota:

Esta función está eliminada desde CUBRID 3.1.

Ver también

  • cubrid_new_glo() - Crear una instancia glo
  • cubrid_save_to_glo() - Guardar el fichero solicitado en una instancia GLO
  • cubrid_load_from_glo() - Leer información de una instancia GLO y guardarla en un fichero

cubrid_save_to_glo
DB++
Alias y Funciones Obsoletas de CUBRID


DB++

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
    • códigos de errores de db++
  • Funciones de DB++
    • dbplus_add — Añade una tupla a una relación
    • dbplus_aql — Realizar una consulta AQL
    • dbplus_chdir — Obtener/Estabecer el directorio virtual actual de la base de datos
    • dbplus_close — Cierra una relación
    • dbplus_curr — Get current tuple from relation
    • dbplus_errcode — Obtener la cadena de error de un código de error dado o del último error
    • dbplus_errno — Obtener el código de error de la última operación
    • dbplus_find — Establecer una restricción en una relación
    • dbplus_first — Obtener la primera tupla de una relación
    • dbplus_flush — Vuelca todos los cambios hechos en una relación
    • dbplus_freealllocks — Liberar todos los bloqueos mantenidos por este cliente
    • dbplus_freelock — Libera el bloqueo de escritura en una tupla
    • dbplus_freerlocks — Liberar todos los bloqueos de una relación dada
    • dbplus_getlock — Obtener un bloqueo de escritura en una tupla
    • dbplus_getunique — Obtener un único número de identificación para una relación
    • dbplus_info — Obtener información sobre una relación
    • dbplus_last — Obtener la última tupla de una relación
    • dbplus_lockrel — Solictar un bloqueo de escritura en una relación
    • dbplus_next — Obtener la siguiente tupla de una relación
    • dbplus_open — Abre un archivo de relación
    • dbplus_prev — Obtener la tupla previa de una relación
    • dbplus_rchperm — Cambiar los permisos de una relación
    • dbplus_rcreate — Crea una nueva relación de DB++
    • dbplus_rcrtexact — Crea una copia exacta pero vacía de una relación incluyendo los índices
    • dbplus_rcrtlike — Crea una copia vacía de una relación con los índeces predeterminados
    • dbplus_resolve — Resuelve la información del host de la relación
    • dbplus_restorepos — Restablece la posición
    • dbplus_rkeys — Especificar una nueva clave primaria para un relaición
    • dbplus_ropen — Abrir un archivo local de relación
    • dbplus_rquery — Realizar una consulta AQL local (en bruto)
    • dbplus_rrename — Renombrar una relación
    • dbplus_rsecindex — Crear un nuevo índice secundario para una relación
    • dbplus_runlink — Eliminar una relación del sistema de archivos
    • dbplus_rzap — Eliminar todas las tuplas de una relación
    • dbplus_savepos — Guardar la posición
    • dbplus_setindex — Establecer el índice
    • dbplus_setindexbynumber — Establecer el índice por número
    • dbplus_sql — Realiza una consulta SQL
    • dbplus_tcl — Ejecutar código TCL en el lado del servidor
    • dbplus_tremove — Eliminar una tupla y devolver la nueva tupla actual
    • dbplus_undo — Deshacer
    • dbplus_undoprepare — Preparara deshacer
    • dbplus_unlockrel — Liberar un bloqueo de escritura en una relación
    • dbplus_unselect — Eliminar una restricción de una relación
    • dbplus_update — Actualizar la tupla especificada en la relación
    • dbplus_xlockrel — Solicitar un bloqueo exclusivo de una relación
    • dbplus_xunlockrel — Liberar un bloqueo exclusivo en una relación
cubrid_send_glo
Introducción
Extensiones de bases de datos específicas del proveedor


Introducción

db++, hecha por la compañía alemanama » Concept asa, es un sistema de base de datos relacional que tiene en mente el alto redimiento y el bajo uso de memoria y disco. Aunque proporciona SQL como una interfaz de lenguaje adicional, no es realmente una base de datos SQL en primera instancia pero proporciona su propio lenguaje de consulta AQL, que está más influenciado por el álgebra relacional que SQL.

Concept asa siempre ha estado interesado en apoyar lenguajes de código abierto, db++ ha tenido Perl y llamadas Tcl durante años y ahora usa Tcl como su lenguaje interno de procedimientos de almacenamiento.

Advertencia

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombres de sus funciones y todo lo documentado sobre esta extensión, puede cambiar en una futura edición de PHP sin previo aviso. El uso de esta extensión queda bajo su propia responsabilidad.

DB++
Instalación/Configuración
DB++


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
DB++


Requerimientos

Esta extensión depende de librerías cliente externas por lo que ha de tener un cliente db++ instalado en el sistema que quiera que use esta extensión.

» Concept asa proporciona » versiones db++ Demo y » documentación para Linux y algunas versiones de Unix. También existe una versión de db++ para Windows, pero esta extensión no está soportada (aún).

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Para construir esta extensión se necesita que estén instaladas las bibliotecas cliente de db++ y los archivos de cabeceras en sus sistema (están incluidos por defecto en los archivos de instalación de db++). Se tiene que ejecutar configure con la opción --with-dbplus para construir esta extensión.

configure examina las bibliotecas cliente y los archivos de cabeceras bajo las rutas predeterminadas /usr/dbplus, /usr/local/dbplus y /opt/dblus. Si tiene instalado db++ en un lugar diferente tiene que añadir la ruta de instalación a la opción de configure como sigue: --with-dbplus=/su/ruta_de/instalacion .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

dbplus_relation

La mayoría de la funciones de db++ operan con o devuelven recursos dbplus_relation. Una dbplus_relation es un gestor para una relación almacenada o generada por el resultado de una consulta.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Tabla de contenidos

  • códigos de errores de db++

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Tipos de recursos
códigos de errores de db++
DB++


códigos de errores de db++

Códigos de Errores de DB++
Constante PHP | constante db++ | significado
DBPLUS_ERR_NOERR (integer) | ERR_NOERR | Condición de error nulo
DBPLUS_ERR_DUPLICATE (integer) | ERR_DUPLICATE | Se intentó insertar una tupla duplicada
DBPLUS_ERR_EOSCAN (integer) | ERR_EOSCAN | Final del escaneo desde rget()
DBPLUS_ERR_EMPTY (integer) | ERR_EMPTY | La relación está vacía (servidor)
DBPLUS_ERR_CLOSE (integer) | ERR_CLOSE | El servidor no se puede cerrar
DBPLUS_ERR_WLOCKED (integer) | ERR_WLOCKED | El registro está bloqueado contra escritura
DBPLUS_ERR_LOCKED (integer) | ERR_LOCKED | La relación ya fue cerrada
DBPLUS_ERR_NOLOCK (integer) | ERR_NOLOCK | La relación no se puede cerrar
DBPLUS_ERR_READ (integer) | ERR_READ | Error de lectura en la relación
DBPLUS_ERR_WRITE (integer) | ERR_WRITE | Error de escritura en la relación
DBPLUS_ERR_CREATE (integer) | ERR_CREATE | Falló la llamada al sistema de Create()
DBPLUS_ERR_LSEEK (integer) | ERR_LSEEK | Falló la llamada al sistema de Lseek()
DBPLUS_ERR_LENGTH (integer) | ERR_LENGTH | La tupla excede la longitud máxima
DBPLUS_ERR_OPEN (integer) | ERR_OPEN | Falló la llamada al sistema de Open()
DBPLUS_ERR_WOPEN (integer) | ERR_WOPEN | La relación ya fue abierta para escritura
DBPLUS_ERR_MAGIC (integer) | ERR_MAGIC | El archivo no es una relación
DBPLUS_ERR_VERSION (integer) | ERR_VERSION | El archivo es una relación muy antigua
DBPLUS_ERR_PGSIZE (integer) | ERR_PGSIZE | La relación usa un tamaño de página diferente
DBPLUS_ERR_CRC (integer) | ERR_CRC | CRC no válido en la superpágina
DBPLUS_ERR_PIPE (integer) | ERR_PIPE | La relación de tubería requiere lseek()
DBPLUS_ERR_NIDX (integer) | ERR_NIDX | Demasiados índices secundarios
DBPLUS_ERR_MALLOC (integer) | ERR_MALLOC | Falló la llamada a Malloc()
DBPLUS_ERR_NUSERS (integer) | ERR_NUSERS | Error de uso del máximo de usuarios
DBPLUS_ERR_PREEXIT (integer) | ERR_PREEXIT | Causado por uso no válido
DBPLUS_ERR_ONTRAP (integer) | ERR_ONTRAP | Causado por una señal
DBPLUS_ERR_PREPROC (integer) | ERR_PREPROC | Error en el preprocesador
DBPLUS_ERR_DBPARSE (integer) | ERR_DBPARSE | Error en el analizador
DBPLUS_ERR_DBRUNERR (integer) | ERR_DBRUNERR | Error de ejecución en la base de datos
DBPLUS_ERR_DBPREEXIT (integer) | ERR_DBPREEXIT | Condición de salida causada por el procedimiento prexit() *
DBPLUS_ERR_WAIT (integer) | ERR_WAIT | Espera un momento (Sólo Simple)
DBPLUS_ERR_CORRUPT_TUPLE (integer) | ERR_CORRUPT_TUPLE | Un cliente envió una tupla corrupta
DBPLUS_ERR_WARNING0 (integer) | ERR_WARNING0 | Las rutinas Simple encontraron un error no fatal que fue corregido
DBPLUS_ERR_PANIC (integer) | ERR_PANIC | El servidor no debería morir realmente excepto después de que un desastre envíe ERR_PANIC a todos sus clientes
DBPLUS_ERR_FIFO (integer) | ERR_FIFO | No se puede crear un fifo
DBPLUS_ERR_PERM (integer) | ERR_PERM | Permiso denegado
DBPLUS_ERR_TCL (integer) | ERR_TCL | Error TCL
DBPLUS_ERR_RESTRICTED (integer) | ERR_RESTRICTED | Sólo dos usuarios
DBPLUS_ERR_USER (integer) | ERR_USER | Un error en el uso de la biblioteca por un programdor de aplicaciones
DBPLUS_ERR_UNKNOWN (integer) | ERR_UNKNOWN |

Constantes predefinidas
Funciones de DB++
Constantes predefinidas


Funciones de DB++

Tabla de contenidos

  • dbplus_add — Añade una tupla a una relación
  • dbplus_aql — Realizar una consulta AQL
  • dbplus_chdir — Obtener/Estabecer el directorio virtual actual de la base de datos
  • dbplus_close — Cierra una relación
  • dbplus_curr — Get current tuple from relation
  • dbplus_errcode — Obtener la cadena de error de un código de error dado o del último error
  • dbplus_errno — Obtener el código de error de la última operación
  • dbplus_find — Establecer una restricción en una relación
  • dbplus_first — Obtener la primera tupla de una relación
  • dbplus_flush — Vuelca todos los cambios hechos en una relación
  • dbplus_freealllocks — Liberar todos los bloqueos mantenidos por este cliente
  • dbplus_freelock — Libera el bloqueo de escritura en una tupla
  • dbplus_freerlocks — Liberar todos los bloqueos de una relación dada
  • dbplus_getlock — Obtener un bloqueo de escritura en una tupla
  • dbplus_getunique — Obtener un único número de identificación para una relación
  • dbplus_info — Obtener información sobre una relación
  • dbplus_last — Obtener la última tupla de una relación
  • dbplus_lockrel — Solictar un bloqueo de escritura en una relación
  • dbplus_next — Obtener la siguiente tupla de una relación
  • dbplus_open — Abre un archivo de relación
  • dbplus_prev — Obtener la tupla previa de una relación
  • dbplus_rchperm — Cambiar los permisos de una relación
  • dbplus_rcreate — Crea una nueva relación de DB++
  • dbplus_rcrtexact — Crea una copia exacta pero vacía de una relación incluyendo los índices
  • dbplus_rcrtlike — Crea una copia vacía de una relación con los índeces predeterminados
  • dbplus_resolve — Resuelve la información del host de la relación
  • dbplus_restorepos — Restablece la posición
  • dbplus_rkeys — Especificar una nueva clave primaria para un relaición
  • dbplus_ropen — Abrir un archivo local de relación
  • dbplus_rquery — Realizar una consulta AQL local (en bruto)
  • dbplus_rrename — Renombrar una relación
  • dbplus_rsecindex — Crear un nuevo índice secundario para una relación
  • dbplus_runlink — Eliminar una relación del sistema de archivos
  • dbplus_rzap — Eliminar todas las tuplas de una relación
  • dbplus_savepos — Guardar la posición
  • dbplus_setindex — Establecer el índice
  • dbplus_setindexbynumber — Establecer el índice por número
  • dbplus_sql — Realiza una consulta SQL
  • dbplus_tcl — Ejecutar código TCL en el lado del servidor
  • dbplus_tremove — Eliminar una tupla y devolver la nueva tupla actual
  • dbplus_undo — Deshacer
  • dbplus_undoprepare — Preparara deshacer
  • dbplus_unlockrel — Liberar un bloqueo de escritura en una relación
  • dbplus_unselect — Eliminar una restricción de una relación
  • dbplus_update — Actualizar la tupla especificada en la relación
  • dbplus_xlockrel — Solicitar un bloqueo exclusivo de una relación
  • dbplus_xunlockrel — Liberar un bloqueo exclusivo en una relación
códigos de errores de db++
dbplus_add
DB++


Añade una tupla a una relación

Funciones de DB++
dbplus_aql
Funciones de DB++
PHP Manual

dbplus_add

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_add — Añade una tupla a una relación

Descripción

int dbplus_add ( resource $relation , array $tuple )

Añade una tupla a relation.

Parámetros

relation

tuple

Una matriz de pares atributo/valor que se va a insertar en la relación relation dada.

Después de una ejecución con éxito, esta matriz contendrá la información completa de la recién creada tupla, incluyendo todos los campos de dominio establecidos implícitamente como secuencias.

Valores devueltos

La función devolverá DBPLUS_ERR_NOERR si se tuvo éxito o un código de error de db++ si falló.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ver también

  • dbplus_errcode() - Obtener la cadena de error de un código de error dado o del último error

Funciones de DB++
dbplus_aql
Funciones de DB++


Realizar una consulta AQL

dbplus_add
dbplus_chdir
Funciones de DB++
PHP Manual

dbplus_aql

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_aql — Realizar una consulta AQL

Descripción

resource dbplus_aql ( string $query [, string $server [, string $dbpath ]] )

Ejecuta una query AQL sobre el server y dbpath dados.

Parámetros

query

LA consulta AQL a ejecutar. Más información sobre AQL (Algebraic Query Language - Lenguaje de Consulta Algebraico) se proporciona el el manual original de db++.

server

dbpath

Valores devueltos

Devuelve un gestor de relación si se tuvo éxito. La información resultante se puede traer desde esta relación llamando a dbplus_next() y a dbplus_curr(). Otras funciones de acceso a relaciones no funcionarán sore una relación resultante.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_add
dbplus_chdir
Funciones de DB++


Obtener/Estabecer el directorio virtual actual de la base de datos

dbplus_aql
dbplus_close
Funciones de DB++
PHP Manual

dbplus_chdir

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_chdir — Obtener/Estabecer el directorio virtual actual de la base de datos

Descripción

string dbplus_chdir ([ string $newdir ] )

Cambia el directorio virtual actual donde se buscarán los archivos de relaciones mediante dbplus_open().

Parámetros

newdir

El nuevo directorio para los archivos de relaciones. Se puede omitir este parámetro para preguntar por el directorio de trabajo actual.

Valores devueltos

Devuelve la ruta absoluta del directorio actual.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_aql
dbplus_close
Funciones de DB++


Cierra una relación

dbplus_chdir
dbplus_curr
Funciones de DB++
PHP Manual

dbplus_close

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_close — Cierra una relación

Descripción

mixed dbplus_close ( resource $relation )

Cierra una relación abierta previamente con dbplus_open().

Parámetros

relation

Una relación abierta mediante dbplus_open().

Valores devueltos

Devuelve TRUE si se tuvo éxito o DBPLUS_ERR_UNKNOWN si falló.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_chdir
dbplus_curr
Funciones de DB++


Get current tuple from relation

dbplus_close
dbplus_errcode
Funciones de DB++
PHP Manual

dbplus_curr

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_curr — Get current tuple from relation

Descripción

int dbplus_curr ( resource $relation , array &$tuple )

Lee la información de la tupla actual de la relación relation dada.

Parámetros

relation

Una relación abierta con dbplus_open().

tuple

La información será devuelta a este parámetro como una matriz asociativa.

Valores devueltos

La función devolverá cero (es decir, DBPLUS_ERR_NOERR) si se tuvo éxito o un código de error de db++ si falló.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ver también

  • dbplus_first() - Obtener la primera tupla de una relación
  • dbplus_prev() - Obtener la tupla previa de una relación
  • dbplus_next() - Obtener la siguiente tupla de una relación
  • dbplus_last() - Obtener la última tupla de una relación
  • dbplus_errcode() - Obtener la cadena de error de un código de error dado o del último error

dbplus_close
dbplus_errcode
Funciones de DB++


Obtener la cadena de error de un código de error dado o del último error

dbplus_curr
dbplus_errno
Funciones de DB++
PHP Manual

dbplus_errcode

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_errcode — Obtener la cadena de error de un código de error dado o del último error

Descripción

string dbplus_errcode ([ int $errno ] )

Devuelve una cadena de error limpia del código de error dado.

Parámetros

errno

El código de error. Si no se proporcionó, se asume el código resultante de la última operación de db++.

Valores devueltos

Devuelve el mensaje de error.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_curr
dbplus_errno
Funciones de DB++


Obtener el código de error de la última operación

dbplus_errcode
dbplus_find
Funciones de DB++
PHP Manual

dbplus_errno

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_errno — Obtener el código de error de la última operación

Descripción

int dbplus_errno ( void )

Devuelve un código de error devuelto por la última operación de db++.

Valores devueltos

Devuelve el código de error como un entero.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ver también

  • dbplus_errcode() - Obtener la cadena de error de un código de error dado o del último error

dbplus_errcode
dbplus_find
Funciones de DB++


Establecer una restricción en una relación

dbplus_errno
dbplus_first
Funciones de DB++
PHP Manual

dbplus_find

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_find — Establecer una restricción en una relación

Descripción

int dbplus_find ( resource $relation , array $constraints , mixed $tuple )

Pone una restricción a la relación relation dada.

Llamadas posteriores a funciones como dbplus_curr() o dbplus_next() devolverán sólamente las tuplas que coincidan las restricciones dadas.

Parámetros

relation

Una relación abierta por dbplus_open().

constraints

Las restricciones son tríos de cadenas de contienen un nombre de dominio, un operador de comparación y un valor de comparación. El parámetro matriz constraints puede consistir en una colección de matrices de cadenas, cada una conteniendo un dominio, un operador y un valor, o una matriz de cadenas simple conteniendo un múltiplo de tres elementos.

El operador de comparación puede ser una de las siguientes cadenas: '==', '>', '>=', '<', '<=', '!=', '~' para una comparación de expresión regular y 'BAND' o 'BOR' para operaciones a nivel de bits.

tuple

Valores devueltos

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ver también

  • dbplus_unselect() - Eliminar una restricción de una relación

dbplus_errno
dbplus_first
Funciones de DB++


Obtener la primera tupla de una relación

dbplus_find
dbplus_flush
Funciones de DB++
PHP Manual

dbplus_first

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_first — Obtener la primera tupla de una relación

Descripción

int dbplus_first ( resource $relation , array &$tuple )

Lee la información de la primera tupla de relation, la hace la actual y la devuelve como una matriz asociativa en tuple.

Parámetros

relation

Una relación abierta mediante dbplus_open().

tuple

Valores devueltos

Devuelve DBPLUS_ERR_NOERR si se tuvo éxito o un código de error de db++ si falló.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ver también

  • dbplus_curr() - Get current tuple from relation
  • dbplus_prev() - Obtener la tupla previa de una relación
  • dbplus_next() - Obtener la siguiente tupla de una relación
  • dbplus_last() - Obtener la última tupla de una relación
  • dbplus_errcode() - Obtener la cadena de error de un código de error dado o del último error

dbplus_find
dbplus_flush
Funciones de DB++


Vuelca todos los cambios hechos en una relación

dbplus_first
dbplus_freealllocks
Funciones de DB++
PHP Manual

dbplus_flush

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_flush — Vuelca todos los cambios hechos en una relación

Descripción

int dbplus_flush ( resource $relation )

Escribe todos los cambios aplicados a relation desde el último vuelco a disco.

Parámetros

relation

Una relación abierta con dbplus_open().

Valores devueltos

Devuelve DBPLUS_ERR_NOERR si se tuvo éxito o un código de error de db++ si falló.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ver también

  • dbplus_errcode() - Obtener la cadena de error de un código de error dado o del último error

dbplus_first
dbplus_freealllocks
Funciones de DB++


Liberar todos los bloqueos mantenidos por este cliente

dbplus_flush
dbplus_freelock
Funciones de DB++
PHP Manual

dbplus_freealllocks

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_freealllocks — Liberar todos los bloqueos mantenidos por este cliente

Descripción

int dbplus_freealllocks ( void )

Libera todos los bloqueos de tupla mantenidos por este cliente.

Valores devueltos

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ver también

  • dbplus_getlock() - Obtener un bloqueo de escritura en una tupla
  • dbplus_freelock() - Libera el bloqueo de escritura en una tupla
  • dbplus_freerlocks() - Liberar todos los bloqueos de una relación dada

dbplus_flush
dbplus_freelock
Funciones de DB++


Libera el bloqueo de escritura en una tupla

dbplus_freealllocks
dbplus_freerlocks
Funciones de DB++
PHP Manual

dbplus_freelock

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_freelock — Libera el bloqueo de escritura en una tupla

Descripción

int dbplus_freelock ( resource $relation , string $tuple )

Libera el bloqueo de escritura en tuple previamente obtenido mediante dbplus_getlock().

Parámetros

relation

Una relación abierta con dbplus_open().

tuple

Valores devueltos

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ver también

  • dbplus_getlock() - Obtener un bloqueo de escritura en una tupla
  • dbplus_freerlocks() - Liberar todos los bloqueos de una relación dada
  • dbplus_freealllocks() - Liberar todos los bloqueos mantenidos por este cliente

dbplus_freealllocks
dbplus_freerlocks
Funciones de DB++


Liberar todos los bloqueos de una relación dada

dbplus_freelock
dbplus_getlock
Funciones de DB++
PHP Manual

dbplus_freerlocks

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_freerlocks — Liberar todos los bloqueos de una relación dada

Descripción

int dbplus_freerlocks ( resource $relation )

Libera todos los bloqueos de tuplas mantenidos por relation.

Parámetros

relation

Una relación abierta con dbplus_open().

Valores devueltos

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ver también

  • dbplus_getlock() - Obtener un bloqueo de escritura en una tupla
  • dbplus_freelock() - Libera el bloqueo de escritura en una tupla
  • dbplus_freealllocks() - Liberar todos los bloqueos mantenidos por este cliente

dbplus_freelock
dbplus_getlock
Funciones de DB++


Obtener un bloqueo de escritura en una tupla

dbplus_freerlocks
dbplus_getunique
Funciones de DB++
PHP Manual

dbplus_getlock

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_getlock — Obtener un bloqueo de escritura en una tupla

Descripción

int dbplus_getlock ( resource $relation , string $tuple )

Solicita un bloqueo de escritura en la tupla tuple especificada.

Parámetros

relation

Una relación abierta con dbplus_open().

tuple

Valores devueltos

Devuelve cero si se tuvo éxito o un código de error distinto de cero, especialmente DBPLUS_ERR_WLOCKED, si falló.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ver también

  • dbplus_freelock() - Libera el bloqueo de escritura en una tupla
  • dbplus_freerlocks() - Liberar todos los bloqueos de una relación dada
  • dbplus_freealllocks() - Liberar todos los bloqueos mantenidos por este cliente

dbplus_freerlocks
dbplus_getunique
Funciones de DB++


Obtener un único número de identificación para una relación

dbplus_getlock
dbplus_info
Funciones de DB++
PHP Manual

dbplus_getunique

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_getunique — Obtener un único número de identificación para una relación

Descripción

int dbplus_getunique ( resource $relation , int $uniqueid )

Obtiene un número que garantiza ser único para relation y se devolverá en la variable dada como uniqueid.

Parámetros

relation

Una relación abierta con dbplus_open().

uniqueid

Valores devueltos

Devuelve DBPLUS_ERR_NOERR si se tuvo éxito o un código de error de db++ si falló.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_getlock
dbplus_info
Funciones de DB++


Obtener información sobre una relación

dbplus_getunique
dbplus_last
Funciones de DB++
PHP Manual

dbplus_info

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_info — Obtener información sobre una relación

Descripción

int dbplus_info ( resource $relation , string $key , array &$result )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

relation

Una relación abierta con dbplus_open().

key

result

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_getunique
dbplus_last
Funciones de DB++


Obtener la última tupla de una relación

dbplus_info
dbplus_lockrel
Funciones de DB++
PHP Manual

dbplus_last

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_last — Obtener la última tupla de una relación

Descripción

int dbplus_last ( resource $relation , array &$tuple )

Lee la información de la última tupla de relation, la hace la tupla actual y la devuelve como una matriz asociativa en tuple.

Parámetros

relation

Una relación abierta con dbplus_open().

tuple

Valores devueltos

Devuelve DBPLUS_ERR_NOERR si se tuvo éxito o un código de error de db++ si falló.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ver también

  • dbplus_first() - Obtener la primera tupla de una relación
  • dbplus_curr() - Get current tuple from relation
  • dbplus_prev() - Obtener la tupla previa de una relación
  • dbplus_next() - Obtener la siguiente tupla de una relación

dbplus_info
dbplus_lockrel
Funciones de DB++


Solictar un bloqueo de escritura en una relación

dbplus_last
dbplus_next
Funciones de DB++
PHP Manual

dbplus_lockrel

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_lockrel — Solictar un bloqueo de escritura en una relación

Descripción

int dbplus_lockrel ( resource $relation )

Solicita un bloqueo de escritura en la relación relation dada.

Los demás clientes pueden seguir consultando la relación, pero no pueden alterarla mientras esté bloqueada.

Parámetros

relation

Una relación abierta con dbplus_open().

Valores devueltos

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_last
dbplus_next
Funciones de DB++


Obtener la siguiente tupla de una relación

dbplus_lockrel
dbplus_open
Funciones de DB++
PHP Manual

dbplus_next

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_next — Obtener la siguiente tupla de una relación

Descripción

int dbplus_next ( resource $relation , array &$tuple )

Lee la información de la siguiente tupla de relation, la hace la tupla actual y la devuelve como una matriz asociativa en tuple.

Parámetros

relation

Una relación abierta con dbplus_open().

tuple

Valores devueltos

Devuelve DBPLUS_ERR_NOERR si se tuvo éxito o un código de error de db++ si falló.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ver también

  • dbplus_first() - Obtener la primera tupla de una relación
  • dbplus_curr() - Get current tuple from relation
  • dbplus_prev() - Obtener la tupla previa de una relación
  • dbplus_last() - Obtener la última tupla de una relación

dbplus_lockrel
dbplus_open
Funciones de DB++


Abre un archivo de relación

dbplus_next
dbplus_prev
Funciones de DB++
PHP Manual

dbplus_open

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_open — Abre un archivo de relación

Descripción

resource dbplus_open ( string $name )

Abre el archivo de relación dado.

Parámetros

name

Puede ser un nombre de archivo o un nombre de ruta absoluta o relativa. Será mapeado en cualquier caso a una ruta de archivo de relación absoluto en una máquina y servidor específicos.

Valores devueltos

Si se tuvo éxito, se devuelve un recurso de archivo de relación (cursor) que debe ser usado en cualquier comando subsiguiente que referencie a la relación. El fallo conduce a un valor de retorno cero, el códigon de error actual puede ser solicitado llamando a dbplus_errno().

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_next
dbplus_prev
Funciones de DB++


Obtener la tupla previa de una relación

dbplus_open
dbplus_rchperm
Funciones de DB++
PHP Manual

dbplus_prev

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_prev — Obtener la tupla previa de una relación

Descripción

int dbplus_prev ( resource $relation , array &$tuple )

Lee la información de la tupla previa de la relación dada por relation, la hace la tupla actual y la devuelve como una matriz asociativa en tuple.

Parámetros

relation

Una relación abierta con dbplus_open().

tuple

Valores devueltos

Devuelve DBPLUS_ERR_NOERR si se tuvo éxito o un código de error de db++ si falló.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ver también

  • dbplus_first() - Obtener la primera tupla de una relación
  • dbplus_curr() - Get current tuple from relation
  • dbplus_next() - Obtener la siguiente tupla de una relación
  • dbplus_last() - Obtener la última tupla de una relación

dbplus_open
dbplus_rchperm
Funciones de DB++


Cambiar los permisos de una relación

dbplus_prev
dbplus_rcreate
Funciones de DB++
PHP Manual

dbplus_rchperm

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rchperm — Cambiar los permisos de una relación

Descripción

int dbplus_rchperm ( resource $relation , int $mask , string $user , string $group )

Cambia los permisos de acceso de la manera especificada por mask, user y group. Los valores para estos parámetros son específicos del sistema operativo.

Parámetros

relation

Una relación abierta con dbplus_open().

mask

user

group

Valores devueltos

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_prev
dbplus_rcreate
Funciones de DB++


Crea una nueva relación de DB++

dbplus_rchperm
dbplus_rcrtexact
Funciones de DB++
PHP Manual

dbplus_rcreate

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rcreate — Crea una nueva relación de DB++

Descripción

resource dbplus_rcreate ( string $name , mixed $domlist [, bool $overwrite ] )

Crea una nueva relación. Cualquier relación existente que comparta el mismo nombre dado por name será sobrescrita si la relación no está actualmente en uso y overwrite está establecido a TRUE.

Parámetros

name

domlist

Una combinación de dominios. Se puede pasar como una cadena simple de nombre de dominio o como una matriz de nombres de dominio.

Este parámetro debería contener la especificación de dominio para la nueva relación dentro de una matriz de cadenas de descripción de dominios. Una cadena de descripción de dominios consiste en un nombre de dominio único para esta relación, una barra y un carácter de especificación de tipo. Véase la documentación de db++, especialmente la página del manual de dbcreate(1), para una descripción de los especificadores de tipo y sus significados.

Nota:

Esta función también aceptará una cadena con cadenas de descripción de dominio delimitadas por espacios, pero se recomienda usar una matriz

overwrite

Valores devueltos

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_rchperm
dbplus_rcrtexact
Funciones de DB++


Crea una copia exacta pero vacía de una relación incluyendo los índices

dbplus_rcreate
dbplus_rcrtlike
Funciones de DB++
PHP Manual

dbplus_rcrtexact

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rcrtexact — Crea una copia exacta pero vacía de una relación incluyendo los índices

Descripción

mixed dbplus_rcrtexact ( string $name , resource $relation [, bool $overwrite ] )

dbplus_rcrtexact() creará una copia exacta pero vacía de relation bajo un nuevo nombre dado por name.

Parámetros

name

relation

La relación copiada, abierta por dbplus_open().

overwrite

Una relación existente con el mismo nombre dado por name sólo será sobrescirta si este parámetro está establecido a TRUE y ningún otro proceso está actualmente usando la relación.

Valores devueltos

Devuelve un recurso si se tuvo éxito o DBPLUS_ERR_UNKNOWN si falló.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_rcreate
dbplus_rcrtlike
Funciones de DB++


Crea una copia vacía de una relación con los índeces predeterminados

dbplus_rcrtexact
dbplus_resolve
Funciones de DB++
PHP Manual

dbplus_rcrtlike

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rcrtlike — Crea una copia vacía de una relación con los índeces predeterminados

Descripción

mixed dbplus_rcrtlike ( string $name , resource $relation [, int $overwrite ] )

dbplus_rcrtexact() creará una copia vacía de la relación dada por relation bajo un nuevo nombre dado por name, pero con los índices predeterminados.

Parámetros

name

relation

La relación copiada, abierta mediante dbplus_open().

overwrite

Una relación existente con el mismo nombre dado por name sólo será sobrescirta si este parámetro está establecido a TRUE y ningún otro proceso está actualmente usando la relación.

Valores devueltos

Devuelve un recurso si se tuvo éxito o DBPLUS_ERR_UNKNOWN si falló.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_rcrtexact
dbplus_resolve
Funciones de DB++


Resuelve la información del host de la relación

dbplus_rcrtlike
dbplus_restorepos
Funciones de DB++
PHP Manual

dbplus_resolve

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_resolve — Resuelve la información del host de la relación

Descripción

array dbplus_resolve ( string $relation_name )

dbplus_resolve() intentará resolver relation_name y encontrar el id interno del servidor, el nombre real del host y la ruta de la base de datos en este host.

Parámetros

relation_name

El nombre de la relación.

Valores devueltos

Devuelve una matriz que contiene estos valores bajo las claves sid, host y host_path o FALSE si ocurrió un error.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ver también

  • dbplus_tcl() - Ejecutar código TCL en el lado del servidor

dbplus_rcrtlike
dbplus_restorepos
Funciones de DB++


Restablece la posición

dbplus_resolve
dbplus_rkeys
Funciones de DB++
PHP Manual

dbplus_restorepos

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_restorepos — Restablece la posición

Descripción

int dbplus_restorepos ( resource $relation , array $tuple )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

relation

Una relación abierta con dbplus_open().

tuple

Valores devueltos

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_resolve
dbplus_rkeys
Funciones de DB++


Especificar una nueva clave primaria para un relaición

dbplus_restorepos
dbplus_ropen
Funciones de DB++
PHP Manual

dbplus_rkeys

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rkeys — Especificar una nueva clave primaria para un relaición

Descripción

mixed dbplus_rkeys ( resource $relation , mixed $domlist )

dbplus_rkeys() reemplazará la clave primaria actual de relation con la combinación de dominios especificados por domlist.

Parámetros

relation

Una relación abierta con dbplus_open().

domlist

Una combinación de dominios. Se puede pasar como una simple cadena de nombre de dominio o como una matriz de nombres de dominio.

Valores devueltos

Devuelve un recurso si se tuvo éxito o DBPLUS_ERR_UNKNOWN si falló.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_restorepos
dbplus_ropen
Funciones de DB++


Abrir un archivo local de relación

dbplus_rkeys
dbplus_rquery
Funciones de DB++
PHP Manual

dbplus_ropen

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_ropen — Abrir un archivo local de relación

Descripción

resource dbplus_ropen ( string $name )

dbplus_ropen() abrirá el archivo de relación file localmente para un acceso rápido sin ningún overhead de cliente/servidor. El acceso es de sólo lectura y solamente puede ser aplicado dbplus_curr() y dbplus_next() a la relación devuelta.

Parámetros

name

Valores devueltos

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_rkeys
dbplus_rquery
Funciones de DB++


Realizar una consulta AQL local (en bruto)

dbplus_ropen
dbplus_rrename
Funciones de DB++
PHP Manual

dbplus_rquery

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rquery — Realizar una consulta AQL local (en bruto)

Descripción

resource dbplus_rquery ( string $query [, string $dbpath ] )

dbplus_rquery() realiza una consulta AQL local (en bruto) usando un intérprete de AQL embebido dentro de la biblioteca cliente de db++. dbplus_rquery() es más rápitda que dbplus_aql() pero sólo trabajará sobre información local.

Parámetros

query

dbpath

Valores devueltos

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_ropen
dbplus_rrename
Funciones de DB++


Renombrar una relación

dbplus_rquery
dbplus_rsecindex
Funciones de DB++
PHP Manual

dbplus_rrename

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rrename — Renombrar una relación

Descripción

int dbplus_rrename ( resource $relation , string $name )

dbplus_rrename() cambiará el nombre de relation al dado por name.

Parámetros

relation

Una relación abierta con dbplus_open().

name

Valores devueltos

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_rquery
dbplus_rsecindex
Funciones de DB++


Crear un nuevo índice secundario para una relación

dbplus_rrename
dbplus_runlink
Funciones de DB++
PHP Manual

dbplus_rsecindex

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rsecindex — Crear un nuevo índice secundario para una relación

Descripción

mixed dbplus_rsecindex ( resource $relation , mixed $domlist , int $type )

dbplus_rsecindex() Creará un nuevo índice secundario para relation que consiste en los dominios especificados por domlist y es del tipo type

Parámetros

relation

Una relación abierta con dbplus_open().

domlist

Una combinación de dominios. Se puede pasar como una cadena simple dominio o como una matriz de nombres de dominio.

type

Valores devueltos

Devuelve un recurso si tuvo éxito o DBPLUS_ERR_UNKNOWN si falló.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_rrename
dbplus_runlink
Funciones de DB++


Eliminar una relación del sistema de archivos

dbplus_rsecindex
dbplus_rzap
Funciones de DB++
PHP Manual

dbplus_runlink

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_runlink — Eliminar una relación del sistema de archivos

Descripción

int dbplus_runlink ( resource $relation )

dbplus_runlink() Cerrará y eliminará la relación dada por relation.

Parámetros

relation

Una relación abierta con dbplus_open().

Valores devueltos

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_rsecindex
dbplus_rzap
Funciones de DB++


Eliminar todas las tuplas de una relación

dbplus_runlink
dbplus_savepos
Funciones de DB++
PHP Manual

dbplus_rzap

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rzap — Eliminar todas las tuplas de una relación

Descripción

int dbplus_rzap ( resource $relation )

dbplus_rzap() eliminará todas las tuplas de relation.

Parámetros

relation

Una relación abierta con dbplus_open().

Valores devueltos

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_runlink
dbplus_savepos
Funciones de DB++


Guardar la posición

dbplus_rzap
dbplus_setindex
Funciones de DB++
PHP Manual

dbplus_savepos

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_savepos — Guardar la posición

Descripción

int dbplus_savepos ( resource $relation )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

relation

Una relación abierta con dbplus_open().

Valores devueltos

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_rzap
dbplus_setindex
Funciones de DB++


Establecer el índice

dbplus_savepos
dbplus_setindexbynumber
Funciones de DB++
PHP Manual

dbplus_setindex

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_setindex — Establecer el índice

Descripción

int dbplus_setindex ( resource $relation , string $idx_name )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

relation

Una relación abierta con dbplus_open().

idx_name

Valores devueltos

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_savepos
dbplus_setindexbynumber
Funciones de DB++


Establecer el índice por número

dbplus_setindex
dbplus_sql
Funciones de DB++
PHP Manual

dbplus_setindexbynumber

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_setindexbynumber — Establecer el índice por número

Descripción

int dbplus_setindexbynumber ( resource $relation , int $idx_number )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

relation

Una relación abierta con dbplus_open().

idx_number

Valores devueltos

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_setindex
dbplus_sql
Funciones de DB++


Realiza una consulta SQL

dbplus_setindexbynumber
dbplus_tcl
Funciones de DB++
PHP Manual

dbplus_sql

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_sql — Realiza una consulta SQL

Descripción

resource dbplus_sql ( string $query [, string $server [, string $dbpath ]] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

query

server

dbpath

Valores devueltos

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_setindexbynumber
dbplus_tcl
Funciones de DB++


Ejecutar código TCL en el lado del servidor

dbplus_sql
dbplus_tremove
Funciones de DB++
PHP Manual

dbplus_tcl

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_tcl — Ejecutar código TCL en el lado del servidor

Descripción

string dbplus_tcl ( int $sid , string $script )

Un servidor db++ preparará un intérprete de TCL para una conexión cliente. Este intérprete habilitará el servidor para ejecutar código TCL proporcionado por el cliente como un tipo de procedimientos para mejorar el rendimiento de las operaciones de la base de datos evitando transferencias de datos cliente/servidor e intercambio de contextos.

dbplus_tcl() necesita pasar el id de conexión de cliente que debería ejecutar el código de script TCL. dbplus_resolve() proporcionará esta id de conexión. La función devolverá lo que sea que devuelve el código TCL o un mensaje de error TCL si el código TCL falla.

Parámetros

sid

script

Valores devueltos

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ver también

  • dbplus_resolve() - Resuelve la información del host de la relación

dbplus_sql
dbplus_tremove
Funciones de DB++


Eliminar una tupla y devolver la nueva tupla actual

dbplus_tcl
dbplus_undo
Funciones de DB++
PHP Manual

dbplus_tremove

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_tremove — Eliminar una tupla y devolver la nueva tupla actual

Descripción

int dbplus_tremove ( resource $relation , array $tuple [, array &$current ] )

dbplus_tremove() elimina tuple de relation si coincide exactamente con una tupla dentro de la relación. current, si se da, contentrá la información de la nueva tupla actual después de llamar a dbplus_tremove().

Parámetros

relation

Una relación abierta con dbplus_open().

tuple

current

Valores devueltos

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_tcl
dbplus_undo
Funciones de DB++


Deshacer

dbplus_tremove
dbplus_undoprepare
Funciones de DB++
PHP Manual

dbplus_undo

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_undo — Deshacer

Descripción

int dbplus_undo ( resource $relation )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

relation

Una relación abierta con dbplus_open().

Valores devueltos

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_tremove
dbplus_undoprepare
Funciones de DB++


Preparara deshacer

dbplus_undo
dbplus_unlockrel
Funciones de DB++
PHP Manual

dbplus_undoprepare

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_undoprepare — Preparara deshacer

Descripción

int dbplus_undoprepare ( resource $relation )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

relation

Una relación abierta con dbplus_open().

Valores devueltos

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_undo
dbplus_unlockrel
Funciones de DB++


Liberar un bloqueo de escritura en una relación

dbplus_undoprepare
dbplus_unselect
Funciones de DB++
PHP Manual

dbplus_unlockrel

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_unlockrel — Liberar un bloqueo de escritura en una relación

Descripción

int dbplus_unlockrel ( resource $relation )

Libera un bloqueo de escritura obtenido previamente por dbplus_lockrel().

Parámetros

relation

Una relación abierta con dbplus_open().

Valores devueltos

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_undoprepare
dbplus_unselect
Funciones de DB++


Eliminar una restricción de una relación

dbplus_unlockrel
dbplus_update
Funciones de DB++
PHP Manual

dbplus_unselect

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_unselect — Eliminar una restricción de una relación

Descripción

int dbplus_unselect ( resource $relation )

Al llamar a dbplus_unselect() se eliminará una restricción previamente establecida por dbplus_find() en relation.

Parámetros

relation

Una relación abierta con dbplus_open().

Valores devueltos

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_unlockrel
dbplus_update
Funciones de DB++


Actualizar la tupla especificada en la relación

dbplus_unselect
dbplus_xlockrel
Funciones de DB++
PHP Manual

dbplus_update

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_update — Actualizar la tupla especificada en la relación

Descripción

int dbplus_update ( resource $relation , array $old , array $new )

dbplus_update() reemplaza la tupla old con la información de la dada por new, sólo si old coincide completamente con una tupla dentro de relation.

Parámetros

relation

Una relación abierta con dbplus_open().

old

La tupla antigua.

new

La nueva tupla.

Valores devueltos

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_unselect
dbplus_xlockrel
Funciones de DB++


Solicitar un bloqueo exclusivo de una relación

dbplus_update
dbplus_xunlockrel
Funciones de DB++
PHP Manual

dbplus_xlockrel

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_xlockrel — Solicitar un bloqueo exclusivo de una relación

Descripción

int dbplus_xlockrel ( resource $relation )

Solicita un bloqueo exclusivo de relation previniendo incluso de acceso a lectura de otros clientes.

Parámetros

relation

Una relación abierta con dbplus_open().

Valores devueltos

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ver también

  • dbplus_xunlockrel() - Liberar un bloqueo exclusivo en una relación

dbplus_update
dbplus_xunlockrel
Funciones de DB++


Liberar un bloqueo exclusivo en una relación

dbplus_xlockrel
dBase
Funciones de DB++
PHP Manual

dbplus_xunlockrel

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_xunlockrel — Liberar un bloqueo exclusivo en una relación

Descripción

int dbplus_xunlockrel ( resource $relation )

Libera un bloqueo exclusivo previamente obtenido por dbplus_xlockrel().

Parámetros

relation

Una relación abierta con dbplus_open().

Valores devueltos

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

dbplus_xlockrel
dBase
Funciones de DB++


dBase

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de dBase
    • dbase_add_record — Añade un registro a una base de datos
    • dbase_close — Cierra una base de datos
    • dbase_create — Crea una base de datos
    • dbase_delete_record — Borra un registro de una base de datos
    • dbase_get_header_info — Obtiene la información de cabecera de una base de datos
    • dbase_get_record_with_names — Obtiene un registro de una base de datos como una matriz asociativa
    • dbase_get_record — Obtiene un registro de una base de datos como una matriz indexada
    • dbase_numfields — Obtiene el número de campos de una base de datos
    • dbase_numrecords — Obtener el número de registros de una base de datos
    • dbase_open — Abre una base de datos
    • dbase_pack — Empaquetar una base de datos
    • dbase_replace_record — Reemplaza un registro en una base de datos
dbplus_xunlockrel
Introducción
Extensiones de bases de datos específicas del proveedor


Introducción

Estas funciones permiten el acceso a registros almacenados en bases de datos con formato dBase (dbf).

Los ficheros dBase son sencillamete ficheros secuenciales de registros de longitud fija. Los registros se añaden al final del fichero, y los registros borrados son guardados hasta que se llame a dbase_pack().

Los tipos de campos de dBase disponibles son:

Tipos de campos disponibles
Campo | Tipo de dBase | Formato | Información adicional
M | Memo | n/a | Este tipo no está soportado por PHP, por lo que este campo será ignorado
D | Date | YYYYMMDD | La longitud del campo está limitada a 8
N | Number | Un número | Se puede declarar la longitud y la precisión (el número de dígitos después del punto decimal)
C | String | Una cadena | Se puede declarar la longitud. Cuando se recuperan datos, la cadena será rellenada con espacios a la derecha para ajustarse a la longitud declarada.
L | Boolean | T o Y para TRUE, F o N para FALSE | Almacenado y devuelto como un valor de tipo integer (1 o 0)
F | Float | Un número de punto flotante | El soporte para este tipo de campo se añadió en PHP 5.2.0

Nota:

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.3.0.

Advertencia

No hay soporte para campos de índices o de memo. Tampoco hay soporte para el bloqueo. Dos procesos del servidor web concurrentes que modifiquen el mismo fichero de dBase arruinará la base de datos.

Se recomienda que no use ficheros dBase como su base de datos de producción. Elija cualquier servidor SQL real en su lugar; » MySQL o » Postgres son elecciones comunes con PHP. El soporte para dBase está permitido aquí para importar y exportar datos desde y hacia su base de datos web, ya que el formato de fichero comúnmente lo entienden hojas de cálculo y organizadores de Windows.

dBase
Instalación/Configuración
dBase


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
dBase


Instalación

Para habilitar la biblioteca incluida de dbase y usar estas funciones se debe compilar PHP con la opción --enable-dbase .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Funciones de dBase
dBase


Funciones de dBase

Ejemplos

Muchos ejemplos en esta referencia requieren una base de datos dBase. Se usará /tmp/test.dbf que será creada en el ejemplo de dbase_create().

Tabla de contenidos

  • dbase_add_record — Añade un registro a una base de datos
  • dbase_close — Cierra una base de datos
  • dbase_create — Crea una base de datos
  • dbase_delete_record — Borra un registro de una base de datos
  • dbase_get_header_info — Obtiene la información de cabecera de una base de datos
  • dbase_get_record_with_names — Obtiene un registro de una base de datos como una matriz asociativa
  • dbase_get_record — Obtiene un registro de una base de datos como una matriz indexada
  • dbase_numfields — Obtiene el número de campos de una base de datos
  • dbase_numrecords — Obtener el número de registros de una base de datos
  • dbase_open — Abre una base de datos
  • dbase_pack — Empaquetar una base de datos
  • dbase_replace_record — Reemplaza un registro en una base de datos
Constantes predefinidas
dbase_add_record
dBase


Añade un registro a una base de datos

Funciones de dBase
dbase_close
Funciones de dBase
PHP Manual

dbase_add_record

(PHP 4, PHP 5)

dbase_add_record — Añade un registro a una base de datos

Descripción

bool dbase_add_record ( int $dbase_identifier , array $record )

Añade la información dad a la base de datos.

Parámetros

dbase_identifier

El identificador de enlace de la base de datos, devuelto por dbase_open() o dbase_create()..

record

Una matriz indexada de información. El número de elementos debe ser igual al número de campos de la base de datos, si no otherwise dbase_add_record() fallará.

Nota:

Si se está usando el valor devuelto por dbase_get_record() para este parámetro, recuerde de reiniciar la clave llamada deleted.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Insertar un registro en una base de datos dBase

<?php

// abrir en modo lectura-escritura
$db = dbase_open('/tmp/test.dbf', 2);

if ($db) {
  dbase_add_record($db, array(
      date('Ymd'),
      'Maxim Topolov',
      '23',
      'max@example.com',
      'T'));
  dbase_close($db);
}

?>

Ver también

  • dbase_delete_record() - Borra un registro de una base de datos
  • dbase_replace_record() - Reemplaza un registro en una base de datos

Funciones de dBase
dbase_close
Funciones de dBase


Cierra una base de datos

dbase_add_record
dbase_create
Funciones de dBase
PHP Manual

dbase_close

(PHP 4, PHP 5)

dbase_close — Cierra una base de datos

Descripción

bool dbase_close ( int $dbase_identifier )

Cierra el identificador de enlace de la base de datos dado.

Parámetros

dbase_identifier

El identificador de enlace de la base de datos, devuelto por dbase_open() o dbase_create()..

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Cerrar un archivo de base de datos de dBase

<?php

// abrir en modo sólo lectura
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
  // leer alguna información ..

  dbase_close($db);
}

?>

Ver también

  • dbase_open() - Abre una base de datos
  • dbase_create() - Crea una base de datos

dbase_add_record
dbase_create
Funciones de dBase


Crea una base de datos

dbase_close
dbase_delete_record
Funciones de dBase
PHP Manual

dbase_create

(PHP 4, PHP 5)

dbase_create — Crea una base de datos

Descripción

int dbase_create ( string $filename , array $fields )

dbase_create() crea una base de datos dBase con la definición dada.

Nota: Cuando safe mode está habilitado, PHP comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado.

Nota:

Esta función se ve afectada por open_basedir.

Parámetros

filename

El nombre de la base de datos. Puede ser una ruta relativa o absoluta al archivo donde dBase almacenará la información.

fields

Una matriz de matrices, donde cada matriz describe el formato de un campo de la base de datos. Cada campo consiste en un nombre, un carácter que indica el tipo de campo y, opcionalmte, una longitud y una precisión.

Nota:

Los nombres de los campos están limitados en longitud y no deben exceder 10 caracteres.

Valores devueltos

Devuelve un identificador de enlace de la base de datos si la base de datos se creó con éxito, o FALSE si ocurrión un error.

Ejemplos

Ejemplo #1 Crear un archivo de base de datos dBase

<?php

// "Definición" de la base de datos
$def = array(
  array("date",     "D"),
  array("name",     "C",  50),
  array("age",      "N",   3, 0),
  array("email",    "C", 128),
  array("ismember", "L")
);

// creación
if (!dbase_create('/tmp/test.dbf', $def)) {
  echo "Error, no se puede crear la base de datos\n";
}

?>

Ver también

  • dbase_open() - Abre una base de datos
  • dbase_close() - Cierra una base de datos

dbase_close
dbase_delete_record
Funciones de dBase


Borra un registro de una base de datos

dbase_create
dbase_get_header_info
Funciones de dBase
PHP Manual

dbase_delete_record

(PHP 4, PHP 5)

dbase_delete_record — Borra un registro de una base de datos

Descripción

bool dbase_delete_record ( int $dbase_identifier , int $record_number )

Marca el registro dado para ser borrado de la base de datos.

Nota:

En realidad, para eliminar el registro de la base de datos, se debe llamar también a dbase_pack().

Parámetros

dbase_identifier

El identificador de enlace de la base de datos, devuelto por dbase_open() o dbase_create()..

record_number

Un entero que abarca desde 1 al número de registros de la base de datos (como el devuelto por dbase_numrecords()).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • dbase_add_record() - Añade un registro a una base de datos
  • dbase_replace_record() - Reemplaza un registro en una base de datos

dbase_create
dbase_get_header_info
Funciones de dBase


Obtiene la información de cabecera de una base de datos

dbase_delete_record
dbase_get_record_with_names
Funciones de dBase
PHP Manual

dbase_get_header_info

(PHP 5)

dbase_get_header_info — Obtiene la información de cabecera de una base de datos

Descripción

array dbase_get_header_info ( int $dbase_identifier )

Devuelve la informaicón de la estructura de columna del identificador de enlace de la base de datos dada.

Parámetros

dbase_identifier

El identificador de enlace de la base de datos, devuelto por dbase_open() o dbase_create()..

Valores devueltos

Una matriz indexada con una entrada para cada columna de la base de datos. El índice de la matriz comienza en 0.

Cada elemento de la matriz contiene una matriz asociativa de información de columna, como se describe a continuación:

name
El nombre de la columna
type
El nombre legible por humanos del tipo de dbase de la columna (p.ej. date, boolean, etc.)
length
El número de bytes que puede soportar esta columna
precision
El número de dígitos de precisión decimal de la columna
format
Un especificador de formato de printf() sugerido para la columna
offset
El índice de byte de la columna desde el inicio de la fila

Si no se puede leer la información de la cabecera de la base de datos, se devuleve FALSE.

Ejemplos

Ejemplo #1 Mostrar la información de cabecera de un archivo de base de datos dBase

<?php
// Ruta al archivo dbase
$ruta_db = "/tmp/test.dbf";

// Abrir un el archivo dbase
$dbh = dbase_open($ruta_db, 0)
  or die("¡Error! No se pudo abrir el archivo de base de datos dbase '$ruta_db'.");

// Obtener la información de columna
$info_columna = dbase_get_header_info($dbh);

// Mostrar la información
print_r($info_columna);
?>

dbase_delete_record
dbase_get_record_with_names
Funciones de dBase


Obtiene un registro de una base de datos como una matriz asociativa

dbase_get_header_info
dbase_get_record
Funciones de dBase
PHP Manual

dbase_get_record_with_names

(PHP 4, PHP 5)

dbase_get_record_with_names — Obtiene un registro de una base de datos como una matriz asociativa

Descripción

array dbase_get_record_with_names ( int $dbase_identifier , int $record_number )

Obtiene un registro de una base de datos dBase como una matriz asociativa.

Parámetros

dbase_identifier

El identificador de enlace de la base de datos, devuelto por dbase_open() o dbase_create()..

record_number

El índice del registro.

Valores devueltos

Una matriz asociativa con le registro. Esto también incluye una clave llamada deleted que está establecida a 1 si el registro ha sido marcado para el borrado (véase dbase_delete_record()).

Cada campo se convierte en el tipo de PHP apropiado, excepto:

  • Las fechas se dejan como cadenas.
  • Los valores int que habrían causado un desbordamiento (> 32 bits) se devuelve como cadenas.

Si ocurre un error, dbase_get_record_with_names() devolverá FALSE.

Ejemplos

Ejemplo #1 Listar todos los miembros registrados en la base de datos

<?php
// abrir en modo sólo lectura
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
  $número_registros = dbase_numrecords($db);
  for ($i = 1; $i <= $número_registros; $i++) {
      $fila = dbase_get_record_with_names($db, $i);
      if ($fila['ismember'] == 1) {
          echo "Member #$i: " . trim($fila['name']) . "\n";
      }
  }
}
?>

Ver también

  • dbase_get_record() - Obtiene un registro de una base de datos como una matriz indexada

dbase_get_header_info
dbase_get_record
Funciones de dBase


Obtiene un registro de una base de datos como una matriz indexada

dbase_get_record_with_names
dbase_numfields
Funciones de dBase
PHP Manual

dbase_get_record

(PHP 4, PHP 5)

dbase_get_record — Obtiene un registro de una base de datos como una matriz indexada

Descripción

array dbase_get_record ( int $dbase_identifier , int $record_number )

Obtiene un registro de una base de datos como una matriz indexada

Parámetros

dbase_identifier

El identificador de enlace de la base de datos, devuelto por dbase_open() o dbase_create()..

record_number

El índice del registro.

Valores devueltos

Una matriz indexada con el registro. Esto también incluye una clave llamada deleted que está establecida a 1 si el registro ha sido marcado para el borrado (véase dbase_delete_record()).

Cada campo se convierte en el tipo de PHP apropiado, excepto:

  • Las fechas se dejan como cadenas.
  • Los valores int que habrían causado un desbordamiento (> 32 bits) se devuelve como cadenas.

Si ocurre un error, dbase_get_record() devolverá FALSE.

Ver también

  • dbase_get_record_with_names() - Obtiene un registro de una base de datos como una matriz asociativa

dbase_get_record_with_names
dbase_numfields
Funciones de dBase


Obtiene el número de campos de una base de datos

dbase_get_record
dbase_numrecords
Funciones de dBase
PHP Manual

dbase_numfields

(PHP 4, PHP 5)

dbase_numfields — Obtiene el número de campos de una base de datos

Descripción

int dbase_numfields ( int $dbase_identifier )

Obtiene el número de campos (columnas) de la base de datos especificada.

Nota:

El número de campos está entre 0 y dbase_numfields($db)-1, mientras que el número de registro está entre 1 y dbase_numrecords($db).

Parámetros

dbase_identifier

El identificador de enlace de la base de datos, devuelto por dbase_open() o dbase_create()..

Valores devueltos

El número de campos de la base de datos, o FALSE si ocurrió un error.

Ejemplos

Ejemplo #1 Ejemplo de dbase_numfields()

<?php

$reg = dbase_get_record($db, $recno);
$nc  = dbase_numfields($db);
for ($i = 0; $i < $nc; $i++) {
  echo $reg[$i], "\n";
}

?>

Ver también

  • dbase_numrecords() - Obtener el número de registros de una base de datos

dbase_get_record
dbase_numrecords
Funciones de dBase


Obtener el número de registros de una base de datos

dbase_numfields
dbase_open
Funciones de dBase
PHP Manual

dbase_numrecords

(PHP 4, PHP 5)

dbase_numrecords — Obtener el número de registros de una base de datos

Descripción

int dbase_numrecords ( int $dbase_identifier )

Obtiene el número de registros (filas) en la base de datos especificada.

Nota:

El número de registros está entre 1 y dbase_numrecords($db), mientras que el número de campos está entre 0 y dbase_numfields($db)-1.

Parámetros

dbase_identifier

El identificador de enlace de la base de datos, devuelto por dbase_open() o dbase_create()..

Valores devueltos

El número de registros de la base de datos, o FALSE si ocurrió un error.

Ejemplos

Ejemplo #1 Recorrer todos los registros de la base de datos

<?php

// abrir en modo sólo lectura
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
  $número_registros = dbase_numrecords($db);
  for ($i = 1; $i <= $número_registros; $i++) {
      // hacer algo aquí para cada registro
  }
}

?>

Ver también

  • dbase_numfields() - Obtiene el número de campos de una base de datos

dbase_numfields
dbase_open
Funciones de dBase


Abre una base de datos

dbase_numrecords
dbase_pack
Funciones de dBase
PHP Manual

dbase_open

(PHP 4, PHP 5)

dbase_open — Abre una base de datos

Descripción

int dbase_open ( string $filename , int $mode )

dbase_open() abre una base de datos dBase con el modo de acceso dado.

Nota: Cuando safe mode está habilitado, PHP comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado.

Nota:

Esta función se ve afectada por open_basedir.

Parámetros

filename

El nombre de la base de datos. Puede ser una ruta relativa o absoluta al archivo donde dBase almacenará la información.

mode

Un entero que se corresponde a aquéllos de la llamada al sistema de open() (Normalmente 0 significa sólo lectura, 1 sólo escritura, y 2 lectura y escritura).

Nota:

No se puede abrir un archivo dBase en modo sólo escritura ya que la función fallará al leer la información de las cabeceras, por lo que no se puede usar 1 como mode.

Ejemplos

Ejemplo #1 Abrir un archivo de base de datos de dBase

<?php

// abrir en modo sólo lectura
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
  // leer alguna información ..

  dbase_close($db);
}

?>

Valores devueltos

Devuelve un identificador de enlace de la base de datos si ésta se abrió con éxito, o FALSE si ocurrió un error.

Ver también

  • dbase_create() - Crea una base de datos
  • dbase_close() - Cierra una base de datos

dbase_numrecords
dbase_pack
Funciones de dBase


Empaquetar una base de datos

dbase_open
dbase_replace_record
Funciones de dBase
PHP Manual

dbase_pack

(PHP 4, PHP 5)

dbase_pack — Empaquetar una base de datos

Descripción

bool dbase_pack ( int $dbase_identifier )

Empaqueta una base de datos borrando permanentemente todos los registros marcados para el borrado usando dbase_delete_record().

Parámetros

dbase_identifier

El identificador de enlace de la base de datos, devuelto por dbase_open() o dbase_create()..

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Vaciar una base de datos dBase

<?php

// abrir en modo lectura-escritura
$db = dbase_open('/tmp/test.dbf', 2);

if ($db) {
  $número_registros = dbase_numrecords($db);
  for ($i = 1; $i <= $número_registros; $i++) {
      dbase_delete_record($db, $i);
  }
  // expurgar la base de datos
  dbase_pack($db);
}

?>

Ver también

  • dbase_delete_record() - Borra un registro de una base de datos

dbase_open
dbase_replace_record
Funciones de dBase


Reemplaza un registro en una base de datos

dbase_pack
filePro
Funciones de dBase
PHP Manual

dbase_replace_record

(PHP 4, PHP 5)

dbase_replace_record — Reemplaza un registro en una base de datos

Descripción

bool dbase_replace_record ( int $dbase_identifier , array $record , int $record_number )

Reemplaza el registro dado en la base de datos con la información dada.

Parámetros

dbase_identifier

El identificador de enlace de la base de datos, devuelto por dbase_open() o dbase_create().

record

Ina matriz indexada de información. El número de elementos debe ser igual que el número de campos de la base de datos, de otro modo dbase_replace_record() fallará.

Nota:

Si se está usando el valor devulto por dbase_get_record() para este parámetro, recuerde de reiniciar la clave llamada deleted.

record_number

Un entero que abarca desde 1 hasta el número de registros de la base de datos (como el devuelto por dbase_numrecords()).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Actualizar un registro en la base de datos

<?php

// abrir en modo lectura-escritura
$db = dbase_open('/tmp/test.dbf', 2);

if ($db) {
  // obtiene la fila antigua
  $fila = dbase_get_record_with_names($db, 1);

  // eliminar la entrada 'deleted'
  unset($fila['deleted']);

  // Actualizar el campo de fecga con la fecha actual
  $fila['date'] = date('Ymd');

  // Reemplazar el registro
  dbase_replace_record($db, $fila, 1);
  dbase_close($db);
}

?>

Ver también

  • dbase_add_record() - Añade un registro a una base de datos
  • dbase_delete_record() - Borra un registro de una base de datos

dbase_pack
filePro
Funciones de dBase


filePro

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de filePro
    • filepro_fieldcount — Encuentra cuantos campos hay en una base de datos filePro
    • filepro_fieldname — Obtiene el nombre de un campo
    • filepro_fieldtype — Obtiene el tipo de campo
    • filepro_fieldwidth — Obtiene el ancho de un campo
    • filepro_retrieve — Obtiene datos de una base de datos filePro
    • filepro_rowcount — Averigüa cuantas filas hay en una base de datos filePro
    • filepro — Lee y verifica el mapa del fichero
dbase_replace_record
Introducción
Extensiones de bases de datos específicas del proveedor


Introducción

Estas funciones permite acceso solo-lectura a datos almacenados en bases de datos filePro.

filePro es una marca registrada de fP Technologies, Inc. Se puede encontrar más información a cerca de filePro en » http://www.fptech.com/.

Nota:

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.2.0.

filePro
Instalación/Configuración
filePro


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
filePro


Instalación

El soporte de filePro en PHP no está activado por defecto. Para pueder activar el soporte read-only de filePro se necesita usar la opción de configuración --enable-filepro cuando se compila PHP.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Funciones de filePro
filePro


Funciones de filePro

Tabla de contenidos

  • filepro_fieldcount — Encuentra cuantos campos hay en una base de datos filePro
  • filepro_fieldname — Obtiene el nombre de un campo
  • filepro_fieldtype — Obtiene el tipo de campo
  • filepro_fieldwidth — Obtiene el ancho de un campo
  • filepro_retrieve — Obtiene datos de una base de datos filePro
  • filepro_rowcount — Averigüa cuantas filas hay en una base de datos filePro
  • filepro — Lee y verifica el mapa del fichero
Constantes predefinidas
filepro_fieldcount
filePro


Encuentra cuantos campos hay en una base de datos filePro

Funciones de filePro
filepro_fieldname
Funciones de filePro
PHP Manual

filepro_fieldcount

(PHP 4, PHP 5 <= 5.1.6)

filepro_fieldcount — Encuentra cuantos campos hay en una base de datos filePro

Descripción

int filepro_fieldcount ( void )

Devuelve el número de campos (columnas) de la base de datos abierta filePro.

Valores devueltos

Devuelve el número de campos en la base de datos abierta filePro, o FALSE si ocurre un error.

Ver también

  • filepro() - Lee y verifica el mapa del fichero

Funciones de filePro
filepro_fieldname
Funciones de filePro


Obtiene el nombre de un campo

filepro_fieldcount
filepro_fieldtype
Funciones de filePro
PHP Manual

filepro_fieldname

(PHP 4, PHP 5 <= 5.1.6)

filepro_fieldname — Obtiene el nombre de un campo

Descripción

string filepro_fieldname ( int $field_number )

Devuelve el nombre del campo que corresponde a field_number.

Parámetros

field_number

El número de campo.

Valores devueltos

Devuelve el nombre del campo como cadena, o FALSE en caso de error.

filepro_fieldcount
filepro_fieldtype
Funciones de filePro


Obtiene el tipo de campo

filepro_fieldname
filepro_fieldwidth
Funciones de filePro
PHP Manual

filepro_fieldtype

(PHP 4, PHP 5 <= 5.1.6)

filepro_fieldtype — Obtiene el tipo de campo

Descripción

string filepro_fieldtype ( int $field_number )

Devuelve el tipo de edición del campo correspondiente a field_number.

Parámetros

field_number

El campo numérico.

Valores devueltos

Devuelve el tipo de campo de edición como cadena, o FALSE en caso de error.

filepro_fieldname
filepro_fieldwidth
Funciones de filePro


Obtiene el ancho de un campo

filepro_fieldtype
filepro_retrieve
Funciones de filePro
PHP Manual

filepro_fieldwidth

(PHP 4, PHP 5 <= 5.1.6)

filepro_fieldwidth — Obtiene el ancho de un campo

Descripción

int filepro_fieldwidth ( int $field_number )

Devuelve el ancho de un campo correspondiente a field_number.

Parámetros

field_number

El número del campo.

Valores devueltos

Devuelve el ancho de un campo como entero, o FALSE en caso de errores.

filepro_fieldtype
filepro_retrieve
Funciones de filePro


Obtiene datos de una base de datos filePro

filepro_fieldwidth
filepro_rowcount
Funciones de filePro
PHP Manual

filepro_retrieve

(PHP 4, PHP 5 <= 5.1.6)

filepro_retrieve — Obtiene datos de una base de datos filePro

Descripción

string filepro_retrieve ( int $row_number , int $field_number )

Devuelve los datos de una localización específica en la base de datos.

Nota: Cuando safe mode está habilitado, PHP comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado.

Parámetros

row_number

El número de la fila. Debe estar entre cero y el número total de filas menos uno (0.. filepro_rowcount() - 1)

field_number

El número de la columna. Acepta valores entre cero y el número total de columnas menos uno (0.. filepro_fieldcount() - 1)

Valores devueltos

Devuelve los datos especificados, o FALSE en caso de errores.

filepro_fieldwidth
filepro_rowcount
Funciones de filePro


Averigüa cuantas filas hay en una base de datos filePro

filepro_retrieve
filepro
Funciones de filePro
PHP Manual

filepro_rowcount

(PHP 4, PHP 5 <= 5.1.6)

filepro_rowcount — Averigüa cuantas filas hay en una base de datos filePro

Descripción

int filepro_rowcount ( void )

Devuelve el número de columnas de una base de datos abierta filePro.

Nota: Cuando safe mode está habilitado, PHP comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado.

Valores devueltos

Devuelve el número de columnas de una base de datos abierta filePro, o FALSE en caso de errores.

Ver también

  • filepro() - Lee y verifica el mapa del fichero

filepro_retrieve
filepro
Funciones de filePro


Lee y verifica el mapa del fichero

filepro_rowcount
Firebird/InterBase
Funciones de filePro
PHP Manual

filepro

(PHP 4, PHP 5 <= 5.1.6)

filepro — Lee y verifica el mapa del fichero

Descripción

bool filepro ( string $directory )

Lee y verifica el mapa del fichero, guardando el número de campos e información.

No se produce ningún bloqueo, así que se debería evitar modificar la base de datos cuando es abierto con PHP.

Nota: Cuando safe mode está habilitado, PHP comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado.

Parámetros

directory

El directorio del mapa.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

filepro_rowcount
Firebird/InterBase
Funciones de filePro


Firebird/InterBase

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de Firebird/InterBase
    • ibase_add_user — Añade un usuario a una base de datos segura
    • ibase_affected_rows — Devuelve el número de columnas afectadas por la última consulta
    • ibase_backup — Inicia la tarea de copia de seguridad en el administrador de servicios y devuelve el control inmediatamente
    • ibase_blob_add — Añade datos a un nuevo blob
    • ibase_blob_cancel — Cancela la creación de un blob
    • ibase_blob_close — Cierra un blob
    • ibase_blob_create — Crea un nuevo blob al que añadir datos
    • ibase_blob_echo — Imprime el contenido de un blob
    • ibase_blob_get — Consulta un determinado número de bytes de un blob
    • ibase_blob_import — Crea un blob, copia un fichero en él, y lo cierra
    • ibase_blob_info — Devuelve el tamaño de un blob y otra información útil
    • ibase_blob_open — Abre un blob para su consulta
    • ibase_close — Cerrar una conexión con una base de datos InterBase
    • ibase_commit_ret — Lleva a cabo una transacción sin cerrarla
    • ibase_commit — Lleva a cabo una transacción
    • ibase_connect — Abrir una conexión a una base de datos
    • ibase_db_info — Consulta estadísticas de una base de datos
    • ibase_delete_user — Elimina un usuario de una base de datos segura
    • ibase_drop_db — Elimina una base de datos
    • ibase_errcode — Devuelve un código de error
    • ibase_errmsg — Devuelve un mensaje de error
    • ibase_execute — Ejecutar una consulta previamente preparada
    • ibase_fetch_assoc — Extra una fila en forma de array asociativo de una consulta
    • ibase_fetch_object — Consulta un objeto de una base de datos InterBase
    • ibase_fetch_row — Recuperar una fila desde una base de datos InterBase
    • ibase_field_info — Consulta información sobre un determinado campo
    • ibase_free_event_handler — Cancela un manejador de eventos ya registrado
    • ibase_free_query — Liberar la memoria reservada por una consulta preparada
    • ibase_free_result — Liberar un conjunto de resultados
    • ibase_gen_id — Incrementa el generador de nombres y devuelve su nuevo valor
    • ibase_maintain_db — Lleva a cabo una tarea de mantenimiento en el servidor de bases de datos
    • ibase_modify_user — Modifica un usuario en una base de datos segura
    • ibase_name_result — Asigna un nombre a un juego de resultados
    • ibase_num_fields — Consulta el número de campos de un resultado
    • ibase_num_params — Devuelve el número de parámetros de una sentencia preparada
    • ibase_param_info — Devuelve información sobre un parámetro de una sentencia preparada
    • ibase_pconnect — Abrir una conexión persistente con una base de datos InterBase
    • ibase_prepare — Preparar una consulta para su asociación con parámetros de sustitución y ejecución posterior
    • ibase_query — Ejecutar una consulta en una base de datos InterBase
    • ibase_restore — Inicia una tarea de restauración en el administrador de servicios y devuelve el control inmediatamente
    • ibase_rollback_ret — Deshace una transacción sin cerrarla
    • ibase_rollback — Deshace una transacción
    • ibase_server_info — Solicita información sobre un servidor de bases de datos
    • ibase_service_attach — Conecta al administrador de servicios
    • ibase_service_detach — Desconecta del administrador de servicios
    • ibase_set_event_handler — Registra una función manejadora de un determinado evento
    • ibase_trans — Comienza una transacción
    • ibase_wait_event — Espera a que la base de datos emita un determinado evento
filepro
Introducción
Extensiones de bases de datos específicas del proveedor


Introducción

Firebird es una base de datos relacional que ofrece muchas características del ISO SQL-2003 que se ejecuta sobre Linux, Windows, y varias plataformas Unix. Firebird ofrece una excelente concurrencia, un alto rendimiento, y un excelente soporte de lenguaje para procedimientos almacenados y disparadores. Se ha usado en sistemas en producción, bajo diferentes nombres, desde 1981.

InterBase es el nombre de la variante de código cerrado de este SGBDR que fue desarrollado por Borland/Inprise. Hay más información de InterBase disponible en » http://www.borland.com/interbase/.

Firebird es un proyecto comercial independiente (fundación) creado por programadores C++, consejeros técnicos y desarrolladores auxiliares, que mejora el sistema gestor de bases de datos relacionales multiplataforma, basándose en el código fuente de Inprise Corp (ahora conocido como Borland Software Corp) bajo la licencia InterBase Public License v.1.0 del 25 de julio de 2000. Hay más información disponible de Firebird en » http://www.firebirdsql.org/.

Nota:

Esta extensión admite InterBase desde la versión 6 en adelante y Firebird desde la versión 2.0 en adelante.

Este base de datos utiliza un carácter de comilla simple (') para realizar el escapado. Se ha de añadir al php.ini la siguiente directiva (obsoleta en PHP 5.3.0. Eliminada en PHP 5.4.0):

magic_quotes_sybase = On

Firebird/InterBase
Instalación/Configuración
Firebird/InterBase


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Firebird/InterBase


Instalación

Para habilitar el soporte a Firebird/InterBase, debe configurarse PHP con --with-interbase[=DIR] , donde DIR es el directorio base de instalación de Firebird/InterBase, que por omisión es /usr.

Nota: Nota para usuarios de Win32/Win64

Para que esta extensión funcione, hay unos ficheros DLL que deben estar disponibles en el sistema de Windows PATH. Para más información en como hacer esto, vea la FAQ titulada "Como añadir mi directorio PHP en el PATH de Windows". Aunque copiar los ficheros DLL desde el directorio PHP al directorio del sistema de Windows también funciona (porque el directorio del sistema por defecto es el PATH del sistema), esto no se recomienda. Esta extensión requiere que los siguientes ficheros esten en el PATH: fbclient.dll,gds32.dll

En caso de que se instale el servidor de bases de datos Firebird/InterBase en la misma máquina donde se ejecuta PHP, se tendrá ya esta DLL y fbclient.dll,gds32.dll (gds32.dll se genera desde el instalador para aplicaciones antiguas) ya estará en la ruta señalada por PATH.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de InterBase
Nombre | Por defecto | Cambiable | Historial de cambios
ibase.allow_persistent | "1" | PHP_INI_SYSTEM |
ibase.max_persistent | "-1" | PHP_INI_SYSTEM |
ibase.max_links | "-1" | PHP_INI_SYSTEM |
ibase.default_db | NULL | PHP_INI_SYSTEM | Disponible desde PHP 5.0.0.
ibase.default_user | NULL | PHP_INI_ALL |
ibase.default_password | NULL | PHP_INI_ALL |
ibase.default_charset | NULL | PHP_INI_ALL | Disponible desde PHP 5.0.0.
ibase.timestampformat | "%Y-%m-%d %H:%M:%S" | PHP_INI_ALL |
ibase.dateformat | "%Y-%m-%d" | PHP_INI_ALL |
ibase.timeformat | "%H:%M:%S" | PHP_INI_ALL |
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

ibase.allow_persistent boolean

Indica si permite o no conexiones persistentes a Firebird/InterBase.

ibase.max_persistent integer

Número máximo de conexiones persistentes a Firebird/InterBase por proceso. Si se excediera este número, las nuevas conexiones que se creen mediante ibase_pconnect() no serán persistentes.

ibase.max_links integer

Número máximo de conexiones de Firebird/InterBase por proceso, incluyendo las conexiones persistentes.

ibase.default_db string

Base de datos por omisión a la que conectar cuando se invoque ibase_[p]connect() sin especificar el nombre de base de datos. Si se establece este valor, y está habilitado el modo SQL seguro, no se permitirá que se conecte a ninguna otra base de datos.

ibase.default_user string

Nombre de usuario con el que conectar a la base de datos si no se especificara ningún nombre.

ibase.default_password string

Contraseña que se usará para conectar a la base de datos si no se especificara ninguna.

ibase.default_charset string

Juego de caracteres a utilizar al conectar a una base de datos cuando no se especifique ninguno.

ibase.timestampformat string

ibase.dateformat string

ibase.timeformat string

Estas directivas se usan para establecer el format de fecha y hora que se usarán las fechas y horas en los resultados, o al proporcionar un parámetro de fecha y hora.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Se pueden usar las siguientes constantes en ibase_trans() para especificar cómo debe comportarse una transacción.

Banderas de transacciones de Firebird/InterBase
Constante | Descripción
IBASE_DEFAULT | Configuración por omisión. Es determinado por la biblioteca de cliente, que se define como IBASE_WRITE|IBASE_CONCURRENCY|IBASE_WAIT en la mayoría de los casos.
IBASE_READ | Comienza una transacción de sólo lectura.
IBASE_WRITE | Comienza una transacción de sólo escritura.
IBASE_CONSISTENCY | Comienza una transacción con nivel de aislamiento 'consistency', que significa que la transacción no puede leer de tablas que estén siendo modificadas por otras transacciones concurrentes.
IBASE_CONCURRENCY | Comienza una transacción con nivel de aislamiento 'concurrency' (o 'snapshot'), que significa que la transacción tiene acceso a todas las tablas, pero no podrá ver los cambios que hayan realizado otras transacciones una vez que ésta ha comenzado.
IBASE_COMMITTED | Comienza una transacción con nivel de aislamiento 'read committed'. Esta bandera se tiene que combinar con IBASE_REC_VERSION o con IBASE_REC_NO_VERSION. Este nivel de aislamiento permite acceder a los cambios realizados una vez que ésta transacción haya dado comienzo. Si se especificó IBASE_REC_NO_VERSION, sólo se podrá leer la última versión de cada fila. Si se especificó IBASE_REC_VERSION, se podrá leer cualquier fila incluso aunque haya una transacción concurrente de modificación pendiente de ejecutarse.
IBASE_WAIT | Indica que cuando haya algún conflicto, la transacción deberá esperar y reintentarlo.
IBASE_NOWAIT | Indica que cuando haya algún conflicto, la transacción debe fallar inmediatamente.

Se pueden pasar las constantes ibase_fetch_row(), ibase_fetch_assoc() o ibase_fetch_object() para definir el comportamiento.

banderas de capturas en Firebird/InterBase
Constante | Descripción
IBASE_FETCH_BLOBS | También disponible como IBASE_TEXT por retrocompatibilidad. Hace que se capturen los contenidos BLOB directamente, en lugar de obtener un identificador BLOB.
IBASE_FETCH_ARRAYS | Hace que se obtenga un array directamente. Si no, se devolverá el identificador del array. Los identificadores de array sólo se pueden usar como parámetros para operaciones INSERT, ya que actualmente no hay funciones para manejar identificadores de array.
IBASE_UNIXTIME | Hace que las fechas y horas no se devuelvan en forma de string sino como fechas Unix (número de segundos transcurridos desde el 1 de enero de 1970 a las 0:00 hora UTC). En algunos sistemas, puede dar problemas si se utiliza con fechas anteriores a 1970.

Las siguientes constantes se usan para proporcionar peticiones y opciones a las funciones de la
API del servicio ( ibase_server_info(),  ibase_db_info(),
 ibase_backup(),  ibase_restore()
y  ibase_maintain_db()). Por favor, consulte el
manual de Firebird/InterBase para conocer el significado de estas opciones.

IBASE_BKP_IGNORE_CHECKSUMS
IBASE_BKP_IGNORE_LIMBO
IBASE_BKP_METADATA_ONLY
IBASE_BKP_NO_GARBAGE_COLLECT
IBASE_BKP_OLD_DESCRIPTIONS
IBASE_BKP_NON_TRANSPORTABLE
IBASE_BKP_CONVERT
Opciones para ibase_backup()
IBASE_RES_DEACTIVATE_IDX
IBASE_RES_NO_SHADOW
IBASE_RES_NO_VALIDITY
IBASE_RES_ONE_AT_A_TIME
IBASE_RES_REPLACE
IBASE_RES_CREATE
IBASE_RES_USE_ALL_SPACE
Opciones para ibase_restore()
IBASE_PRP_PAGE_BUFFERS
IBASE_PRP_SWEEP_INTERVAL
IBASE_PRP_SHUTDOWN_DB
IBASE_PRP_DENY_NEW_TRANSACTIONS
IBASE_PRP_DENY_NEW_ATTACHMENTS
IBASE_PRP_RESERVE_SPACE
IBASE_PRP_RES_USE_FULL
IBASE_PRP_RES
IBASE_PRP_WRITE_MODE
IBASE_PRP_WM_ASYNC
IBASE_PRP_WM_SYNC
IBASE_PRP_ACCESS_MODE
IBASE_PRP_AM_READONLY
IBASE_PRP_AM_READWRITE
IBASE_PRP_SET_SQL_DIALECT
IBASE_PRP_ACTIVATE
IBASE_PRP_DB_ONLINE
IBASE_RPR_CHECK_DB
IBASE_RPR_IGNORE_CHECKSUM
IBASE_RPR_KILL_SHADOWS
IBASE_RPR_MEND_DB
IBASE_RPR_VALIDATE_DB
IBASE_RPR_FULL
IBASE_RPR_SWEEP_DB
Opciones para ibase_maintain_db()
IBASE_STS_DATA_PAGES
IBASE_STS_DB_LOG
IBASE_STS_HDR_PAGES
IBASE_STS_IDX_PAGES
IBASE_STS_SYS_RELATIONS
Opciones para ibase_db_info()
IBASE_SVC_SERVER_VERSION
IBASE_SVC_IMPLEMENTATION
IBASE_SVC_GET_ENV
IBASE_SVC_GET_ENV_LOCK
IBASE_SVC_GET_ENV_MSG
IBASE_SVC_USER_DBPATH
IBASE_SVC_SVR_DB_INFO
IBASE_SVC_GET_USERS
Opciones para ibase_server_info()

Tipos de recursos
Funciones de Firebird/InterBase
Firebird/InterBase


Funciones de Firebird/InterBase

Tabla de contenidos

  • ibase_add_user — Añade un usuario a una base de datos segura
  • ibase_affected_rows — Devuelve el número de columnas afectadas por la última consulta
  • ibase_backup — Inicia la tarea de copia de seguridad en el administrador de servicios y devuelve el control inmediatamente
  • ibase_blob_add — Añade datos a un nuevo blob
  • ibase_blob_cancel — Cancela la creación de un blob
  • ibase_blob_close — Cierra un blob
  • ibase_blob_create — Crea un nuevo blob al que añadir datos
  • ibase_blob_echo — Imprime el contenido de un blob
  • ibase_blob_get — Consulta un determinado número de bytes de un blob
  • ibase_blob_import — Crea un blob, copia un fichero en él, y lo cierra
  • ibase_blob_info — Devuelve el tamaño de un blob y otra información útil
  • ibase_blob_open — Abre un blob para su consulta
  • ibase_close — Cerrar una conexión con una base de datos InterBase
  • ibase_commit_ret — Lleva a cabo una transacción sin cerrarla
  • ibase_commit — Lleva a cabo una transacción
  • ibase_connect — Abrir una conexión a una base de datos
  • ibase_db_info — Consulta estadísticas de una base de datos
  • ibase_delete_user — Elimina un usuario de una base de datos segura
  • ibase_drop_db — Elimina una base de datos
  • ibase_errcode — Devuelve un código de error
  • ibase_errmsg — Devuelve un mensaje de error
  • ibase_execute — Ejecutar una consulta previamente preparada
  • ibase_fetch_assoc — Extra una fila en forma de array asociativo de una consulta
  • ibase_fetch_object — Consulta un objeto de una base de datos InterBase
  • ibase_fetch_row — Recuperar una fila desde una base de datos InterBase
  • ibase_field_info — Consulta información sobre un determinado campo
  • ibase_free_event_handler — Cancela un manejador de eventos ya registrado
  • ibase_free_query — Liberar la memoria reservada por una consulta preparada
  • ibase_free_result — Liberar un conjunto de resultados
  • ibase_gen_id — Incrementa el generador de nombres y devuelve su nuevo valor
  • ibase_maintain_db — Lleva a cabo una tarea de mantenimiento en el servidor de bases de datos
  • ibase_modify_user — Modifica un usuario en una base de datos segura
  • ibase_name_result — Asigna un nombre a un juego de resultados
  • ibase_num_fields — Consulta el número de campos de un resultado
  • ibase_num_params — Devuelve el número de parámetros de una sentencia preparada
  • ibase_param_info — Devuelve información sobre un parámetro de una sentencia preparada
  • ibase_pconnect — Abrir una conexión persistente con una base de datos InterBase
  • ibase_prepare — Preparar una consulta para su asociación con parámetros de sustitución y ejecución posterior
  • ibase_query — Ejecutar una consulta en una base de datos InterBase
  • ibase_restore — Inicia una tarea de restauración en el administrador de servicios y devuelve el control inmediatamente
  • ibase_rollback_ret — Deshace una transacción sin cerrarla
  • ibase_rollback — Deshace una transacción
  • ibase_server_info — Solicita información sobre un servidor de bases de datos
  • ibase_service_attach — Conecta al administrador de servicios
  • ibase_service_detach — Desconecta del administrador de servicios
  • ibase_set_event_handler — Registra una función manejadora de un determinado evento
  • ibase_trans — Comienza una transacción
  • ibase_wait_event — Espera a que la base de datos emita un determinado evento
Constantes predefinidas
ibase_add_user
Firebird/InterBase


Añade un usuario a una base de datos segura

Funciones de Firebird/InterBase
ibase_affected_rows
Funciones de Firebird/InterBase
PHP Manual

ibase_add_user

(PHP 5)

ibase_add_user — Añade un usuario a una base de datos segura

Descripción

bool ibase_add_user ( resource $service_handle , string $user_name , string $password [, string $first_name [, string $middle_name [, string $last_name ]]] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ibase_modify_user() - Modifica un usuario en una base de datos segura
  • ibase_delete_user() - Elimina un usuario de una base de datos segura

Funciones de Firebird/InterBase
ibase_affected_rows
Funciones de Firebird/InterBase


Devuelve el número de columnas afectadas por la última consulta

ibase_add_user
ibase_backup
Funciones de Firebird/InterBase
PHP Manual

ibase_affected_rows

(PHP 5)

ibase_affected_rows — Devuelve el número de columnas afectadas por la última consulta

Descripción

int ibase_affected_rows ([ resource $link_identifier ] )

Esta función devuelve el número de filas que se vieron afectadas por la última consulta (INSERT, UPDATE o DELETE) que se ejecutó en el contexto de la transacción especificada.

Parámetros

link_identifier

Contexto de transacción. Si link_identifier fuera un recurso de conexión, se utilizará la transacción por omisión.

Valores devueltos

Devuelve el número de filas en forma de número entero.

Ver también

  • ibase_query() - Ejecutar una consulta en una base de datos InterBase
  • ibase_execute() - Ejecutar una consulta previamente preparada

ibase_add_user
ibase_backup
Funciones de Firebird/InterBase


Inicia la tarea de copia de seguridad en el administrador de servicios y devuelve el control inmediatamente

ibase_affected_rows
ibase_blob_add
Funciones de Firebird/InterBase
PHP Manual

ibase_backup

(PHP 5)

ibase_backup — Inicia la tarea de copia de seguridad en el administrador de servicios y devuelve el control inmediatamente

Descripción

mixed ibase_backup ( resource $service_handle , string $source_db , string $dest_file [, int $options = 0 [, bool $verbose = false ]] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

ibase_affected_rows
ibase_blob_add
Funciones de Firebird/InterBase


Añade datos a un nuevo blob

ibase_backup
ibase_blob_cancel
Funciones de Firebird/InterBase
PHP Manual

ibase_blob_add

(PHP 5)

ibase_blob_add — Añade datos a un nuevo blob

Descripción

void ibase_blob_add ( resource $blob_handle , string $data )

ibase_blob_add() añade datos a un blob creado con ibase_blob_create().

Parámetros

blob_handle

Manejador de blob, abierto con ibase_blob_create().

data

Datos a añadir.

Valores devueltos

No devuelve ningún valor.

Ver también

  • ibase_blob_cancel() - Cancela la creación de un blob
  • ibase_blob_close() - Cierra un blob
  • ibase_blob_create() - Crea un nuevo blob al que añadir datos
  • ibase_blob_import() - Crea un blob, copia un fichero en él, y lo cierra

ibase_backup
ibase_blob_cancel
Funciones de Firebird/InterBase


Cancela la creación de un blob

ibase_blob_add
ibase_blob_close
Funciones de Firebird/InterBase
PHP Manual

ibase_blob_cancel

(PHP 5)

ibase_blob_cancel — Cancela la creación de un blob

Descripción

bool ibase_blob_cancel ( resource $blob_handle )

Esta función descarta un BLOB, siempre y cuando no se haya cerrado ya mediante ibase_blob_close().

Parámetros

blob_handle

Manejador de BLOB, abierto con ibase_blob_create().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ibase_blob_close() - Cierra un blob
  • ibase_blob_create() - Crea un nuevo blob al que añadir datos
  • ibase_blob_import() - Crea un blob, copia un fichero en él, y lo cierra

ibase_blob_add
ibase_blob_close
Funciones de Firebird/InterBase


Cierra un blob

ibase_blob_cancel
ibase_blob_create
Funciones de Firebird/InterBase
PHP Manual

ibase_blob_close

(PHP 5)

ibase_blob_close — Cierra un blob

Descripción

mixed ibase_blob_close ( resource $blob_handle )

Esta función cierra un BLOB previamente abierto para lectura mediante ibase_blob_open() o para escritura mediante ibase_blob_create().

Parámetros

blob_handle

Manejador de BLOB abierto mediante ibase_blob_create() o mediante ibase_blob_open().

Valores devueltos

Si el BLOB era de lectura, esta función devuelve TRUE en caso de éxito, y si el BLOB era de escritura, esta función devuelve un string con el identificador que asignó la base de datos a este BLOB. En caso de error, devuelve FALSE.

Ver también

  • ibase_blob_cancel() - Cancela la creación de un blob
  • ibase_blob_open() - Abre un blob para su consulta

ibase_blob_cancel
ibase_blob_create
Funciones de Firebird/InterBase


Crea un nuevo blob al que añadir datos

ibase_blob_close
ibase_blob_echo
Funciones de Firebird/InterBase
PHP Manual

ibase_blob_create

(PHP 5)

ibase_blob_create — Crea un nuevo blob al que añadir datos

Descripción

resource ibase_blob_create ([ resource $link_identifier = NULL ] )

ibase_blob_create() crea un nuevo BLOB al que añadir datos.

Parámetros

link_identifier

Identificador de enlace a InterBase. Si se omite, se utilizará el último enlace que se haya abierto.

Valores devueltos

Devuelve un manejador BLOB para usar posteriormente con ibase_blob_add() o FALSE en caso de error.

Ver también

  • ibase_blob_add() - Añade datos a un nuevo blob
  • ibase_blob_cancel() - Cancela la creación de un blob
  • ibase_blob_close() - Cierra un blob
  • ibase_blob_import() - Crea un blob, copia un fichero en él, y lo cierra

ibase_blob_close
ibase_blob_echo
Funciones de Firebird/InterBase


Imprime el contenido de un blob

ibase_blob_create
ibase_blob_get
Funciones de Firebird/InterBase
PHP Manual

ibase_blob_echo

(PHP 5)

ibase_blob_echo — Imprime el contenido de un blob

Descripción

bool ibase_blob_echo ( string $blob_id )
bool ibase_blob_echo ( resource $link_identifier , string $blob_id )

Esta función abre un BLOB en modo lectura y envía su contenido directamente a la salida estándar (en la mayoría de los casos, será al navegador).

Parámetros

link_identifier

Identificador de un enlace a InterBase. Si se omite, se utilizará el último enlace abierto.

blob_id

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ibase_blob_open() - Abre un blob para su consulta
  • ibase_blob_close() - Cierra un blob
  • ibase_blob_get() - Consulta un determinado número de bytes de un blob

ibase_blob_create
ibase_blob_get
Funciones de Firebird/InterBase


Consulta un determinado número de bytes de un blob

ibase_blob_echo
ibase_blob_import
Funciones de Firebird/InterBase
PHP Manual

ibase_blob_get

(PHP 5)

ibase_blob_get — Consulta un determinado número de bytes de un blob

Descripción

string ibase_blob_get ( resource $blob_handle , int $len )

Esta función devuelve hasta len bytes de un BLOB que se haya abierto para lectura mediante ibase_blob_open().

Nota:

No se podrá leer de un BLOB que se haya abierto en modo escritura mediante ibase_blob_create().

Parámetros

blob_handle

Manejador de BLOB, abierto por ibase_blob_open().

len

Tamaño de la lectura.

Valores devueltos

Devuelve hasta len bytes del BLOB, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ibase_blob_get()

<?php
$result    = ibase_query("SELECT blob_value FROM table");
$data      = ibase_fetch_object($result);
$blob_data = ibase_blob_info($data->BLOB_VALUE);
$blob_hndl = ibase_blob_open($data->BLOB_VALUE);
echo         ibase_blob_get($blob_hndl, $blob_data[0]);
?>
A pesar de que este ejemplo no hace nada que no haga 'ibase_blob_echo($data->BLOB_VALUE)', ilustra cómo consultar información en una variable para poder manipularla posteriormente.

Ver también

  • ibase_blob_open() - Abre un blob para su consulta
  • ibase_blob_close() - Cierra un blob
  • ibase_blob_echo() - Imprime el contenido de un blob

ibase_blob_echo
ibase_blob_import
Funciones de Firebird/InterBase


Crea un blob, copia un fichero en él, y lo cierra

ibase_blob_get
ibase_blob_info
Funciones de Firebird/InterBase
PHP Manual

ibase_blob_import

(PHP 5)

ibase_blob_import — Crea un blob, copia un fichero en él, y lo cierra

Descripción

string ibase_blob_import ( resource $link_identifier , resource $file_handle )
string ibase_blob_import ( resource $file_handle )

Esta función crea un BLOB, escribe un fichero al completo en él, lo cierra y devuelve el id del BLOB asignado.

Parámetros

link_identifier

Identificador de un enlace a InterBase. Si se omite, se utilizará el último enlace que se haya abierto.

file_handle

Manejador de fichero, devuelto por fopen().

Valores devueltos

En caso de éxito devuelve el id del BLOB, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ibase_blob_import()

<?php
$dbh = ibase_connect($host, $username, $password);
$filename = '/tmp/bar';

$fd = fopen($filename, 'r');
if ($fd) {

    $blob = ibase_blob_import($dbh, $fd);
    fclose($fd);

    if (!is_string($blob)) {
        // importado fallido
    } else {
        $query = "INSERT INTO foo (name, data) VALUES ('$filename', ?)";
        $prepared = ibase_prepare($dbh, $query);
        if (!ibase_execute($prepared, $blob)) {
            // falló la inserción del registro
        }
    }
} else {
    // imposible abrir el fichero de datos
}
?>

Ver también

  • ibase_blob_add() - Añade datos a un nuevo blob
  • ibase_blob_cancel() - Cancela la creación de un blob
  • ibase_blob_close() - Cierra un blob
  • ibase_blob_create() - Crea un nuevo blob al que añadir datos

ibase_blob_get
ibase_blob_info
Funciones de Firebird/InterBase


Devuelve el tamaño de un blob y otra información útil

ibase_blob_import
ibase_blob_open
Funciones de Firebird/InterBase
PHP Manual

ibase_blob_info

(PHP 5)

ibase_blob_info — Devuelve el tamaño de un blob y otra información útil

Descripción

array ibase_blob_info ( resource $link_identifier , string $blob_id )
array ibase_blob_info ( string $blob_id )

Devuelve el tamaño de un BLOB y otra información útil.

Parámetros

link_identifier

Identificador de enlace a InterBase. Si se omite, se utilizará el último enlace que se haya abierto.

blob_id

Identificador del BLOB.

Valores devueltos

Devuelve un array con información sobre el BLOB. La información devuelta consiste en el tamaño del BLOB, el número de segmentos que contiene, el tamaño del segmento más largo, así como si es un BLOB de tipo flujo o segmentado.

ibase_blob_import
ibase_blob_open
Funciones de Firebird/InterBase


Abre un blob para su consulta

ibase_blob_info
ibase_close
Funciones de Firebird/InterBase
PHP Manual

ibase_blob_open

(PHP 5)

ibase_blob_open — Abre un blob para su consulta

Descripción

resource ibase_blob_open ( resource $link_identifier , string $blob_id )
resource ibase_blob_open ( string $blob_id )

Abre un BLOB existente para su lectura.

Parámetros

link_identifier

Identificador de enlace a InterBase. Si se omite, se utilizará el último enlace que se haya abierto.

blob_id

Identificador del BLOB.

Valores devueltos

Devuelve un manejador de BLOB para utilizar con ibase_blob_get() o FALSE en caso de error.

Ver también

  • ibase_blob_close() - Cierra un blob
  • ibase_blob_echo() - Imprime el contenido de un blob
  • ibase_blob_get() - Consulta un determinado número de bytes de un blob

ibase_blob_info
ibase_close
Funciones de Firebird/InterBase


Cerrar una conexión con una base de datos InterBase

ibase_blob_open
ibase_commit_ret
Funciones de Firebird/InterBase
PHP Manual

ibase_close

(PHP 5)

ibase_close — Cerrar una conexión con una base de datos InterBase

Descripción

bool ibase_close ([ resource $connection_id = NULL ] )

Cierra el enlace con una base de datos InterBase que esté asociado con un id de conexión devuelto por ibase_connect(). La transacción predeterminada en el enlace es aplicada, las demás transacciones son revertidas.

Parámetros

connection_id

Un identificador de enlace InterBase devuelto por ibase_connect(). Si se omite, se asume el último enlace abierto.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ibase_connect() - Abrir una conexión a una base de datos
  • ibase_pconnect() - Abrir una conexión persistente con una base de datos InterBase

ibase_blob_open
ibase_commit_ret
Funciones de Firebird/InterBase


Lleva a cabo una transacción sin cerrarla

ibase_close
ibase_commit
Funciones de Firebird/InterBase
PHP Manual

ibase_commit_ret

(PHP 5)

ibase_commit_ret — Lleva a cabo una transacción sin cerrarla

Descripción

bool ibase_commit_ret ([ resource $link_or_trans_identifier = NULL ] )

Lleva a cabo una transacción sin cerrarla.

Parámetros

link_or_trans_identifier

Si se invoca sin argumentos, esta función lleva a cabo la transacción por omisión del enlace por omisión. Si el argumento es un identificador de conexión, se llevará a cabo su transacción por omisión. Si el argumento fuera un identificador de transacción, se llevará a cabo ésta. Se mantendrá el contexto, de forma que no se invalidarán las sentencias que se hayan ejecutado en esta transacción.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ibase_close
ibase_commit
Funciones de Firebird/InterBase


Lleva a cabo una transacción

ibase_commit_ret
ibase_connect
Funciones de Firebird/InterBase
PHP Manual

ibase_commit

(PHP 5)

ibase_commit — Lleva a cabo una transacción

Descripción

bool ibase_commit ([ resource $link_or_trans_identifier = NULL ] )

Lleva a cabo una transacción.

Parámetros

link_or_trans_identifier

Si se invoca sin argumentos, esta función lleva a cabo la transacción por omisión del enlace por omisión. Si el argumento es un identificador de conexión, se llevará a cabo su transacción por omisión. Si el argumento fuera un identificador de transacción, se llevará a cabo ésta.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ibase_commit_ret
ibase_connect
Funciones de Firebird/InterBase


Abrir una conexión a una base de datos

ibase_commit
ibase_db_info
Funciones de Firebird/InterBase
PHP Manual

ibase_connect

(PHP 5)

ibase_connect — Abrir una conexión a una base de datos

Descripción

resource ibase_connect ([ string $database [, string $username [, string $password [, string $charset [, int $buffers [, int $dialect [, string $role [, int $sync ]]]]]]]] )

Establece una conexión con un servidor Firebird/InterBase.

En case de que se haga una segunda llamada a ibase_connect() con los mismos argumentos, no se establecerá un nuevo enlace, en cambio, el identificador de enlace previamente abierto será devuelto. El enlace al servidor será cerrado apenas finalice la ejecución del script, a menos que sea cerrado prematuramente llamando explícitamente ibase_close().

Parámetros

database

El argumento database debe ser una ruta válida al archivo de base de datos en el servidor en el que reside. Si el servidor no es local, debe ser precedido por 'nombre_host:' (TCP/IP), '//nombre_host/' (NetBEUI), dependiendo del protocolo de conexión usado.

username

El nombre de usuario. Puede ser definido mediante la directiva de php.ini ibase.default_user.

password

La contraseña para username. Puede ser definida con la directiva de php.ini ibase.default_password.

charset

charset es el juego de caracteres predeterminado para una base de datos.

bufers

bufers es el número de búfers de base de datos a reservar para el caché en el lado del servidor. Si es 0 o se omite, el servidor elige su propio valor predeterminado.

dialect

dialect selecciona el dialecto SQL predeterminado para cualquier sentencia ejecutada en la conexión, y su valor por omisión es el más alto admitido por las bibliotecas cliente.

role

Funcional únicamente con InterBase 5 y versiones posteriores.

sync

Valores devueltos

Devuelve un identificador de enlace Firebird/InterBase en caso de éxito, o FALSE si ocurre un error.

Errores/Excepciones

Si obtiene un error del tipo "arithmetic exception, numeric overflow, or string truncation. Cannot transliterate character between character sets" (esto ocurre cuando intenta usar algún caracter con acentos) cuando usa esta extensión después de llamar ibase_query(), debe definir el juego de caracteres (puede ser ISO8859_1 o su juego de caracteres actual).

Ejemplos

Ejemplo #1 Ejemplo de ibase_connect()

<?php
$host = 'localhost:/ruta/a/su/base_de_datos.gdb';

$gestor_db = ibase_connect($host, $nombre_usuario, $contrasenya);
$sentencia = 'SELECT * FROM nombre_tabla';
$gestor_sent = ibase_query($gestor_db, $sentencia);
while ($fila = ibase_fetch_object($gestor_sent)) {
    echo $fila->email, "\n";
}
ibase_free_result($gestor_sent);
ibase_close($gestor_db);
?>

Ver también

  • ibase_pconnect() - Abrir una conexión persistente con una base de datos InterBase
  • ibase_close() - Cerrar una conexión con una base de datos InterBase

ibase_commit
ibase_db_info
Funciones de Firebird/InterBase


Consulta estadísticas de una base de datos

ibase_connect
ibase_delete_user
Funciones de Firebird/InterBase
PHP Manual

ibase_db_info

(PHP 5)

ibase_db_info — Consulta estadísticas de una base de datos

Descripción

string ibase_db_info ( resource $service_handle , string $db , int $action [, int $argument = 0 ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

ibase_connect
ibase_delete_user
Funciones de Firebird/InterBase


Elimina un usuario de una base de datos segura

ibase_db_info
ibase_drop_db
Funciones de Firebird/InterBase
PHP Manual

ibase_delete_user

(PHP 5)

ibase_delete_user — Elimina un usuario de una base de datos segura

Descripción

bool ibase_delete_user ( resource $service_handle , string $user_name )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ibase_add_user() - Añade un usuario a una base de datos segura
  • ibase_modify_user() - Modifica un usuario en una base de datos segura

ibase_db_info
ibase_drop_db
Funciones de Firebird/InterBase


Elimina una base de datos

ibase_delete_user
ibase_errcode
Funciones de Firebird/InterBase
PHP Manual

ibase_drop_db

(PHP 5)

ibase_drop_db — Elimina una base de datos

Descripción

bool ibase_drop_db ([ resource $connection = NULL ] )

Esta función elimina una base de datos abierta con ibase_connect() o con ibase_pconnect(). La base de datos se cierra y se elimina del servidor.

Parámetros

connection

Identificador de enlace a InterBase. Si se omite, se utilizará el último enlace que se haya abierto.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ibase_connect() - Abrir una conexión a una base de datos
  • ibase_pconnect() - Abrir una conexión persistente con una base de datos InterBase

ibase_delete_user
ibase_errcode
Funciones de Firebird/InterBase


Devuelve un código de error

ibase_drop_db
ibase_errmsg
Funciones de Firebird/InterBase
PHP Manual

ibase_errcode

(PHP 5)

ibase_errcode — Devuelve un código de error

Descripción

int ibase_errcode ( void )

Devuelve un código de error correspondiente a la última llamada a una función InterBase.

Valores devueltos

Devuelve el código de error en forma de entero, o FALSE si no hubo ningún error.

Ver también

  • ibase_errmsg() - Devuelve un mensaje de error

ibase_drop_db
ibase_errmsg
Funciones de Firebird/InterBase


Devuelve un mensaje de error

ibase_errcode
ibase_execute
Funciones de Firebird/InterBase
PHP Manual

ibase_errmsg

(PHP 5)

ibase_errmsg — Devuelve un mensaje de error

Descripción

string ibase_errmsg ( void )

Devuelve el mensaje de error que hubo en la última llamada a una función de InterBase.

Valores devueltos

Devuelve el mensaje de error como string, o FALSE si no hubiera ningún error.

Ver también

  • ibase_errcode() - Devuelve un código de error

ibase_errcode
ibase_execute
Funciones de Firebird/InterBase


Ejecutar una consulta previamente preparada

ibase_errmsg
ibase_fetch_assoc
Funciones de Firebird/InterBase
PHP Manual

ibase_execute

(PHP 5)

ibase_execute — Ejecutar una consulta previamente preparada

Descripción

resource ibase_execute ( resource $query [, mixed $bind_arg [, mixed $... ]] )

Ejecuta una consulta preparada por ibase_prepare().

Este mecanismo es mucho más eficiento que el uso de ibase_query() si repite el mismo tipo de consulta varias veces sólamente modificando ciertos parámetros.

Parámetros

query

Una consulta InterBase preparada por ibase_prepare().

bind_arg

...

Valores devueltos

Si la consulta genera un error, se devuelve FALSE. Si tiene éxito y existe un conjunto de resultados (posiblemente vacío), tal como ocurre con una consulta SELECT, se devuelve el identificador de resultado. Si la consulta fue exitosa y no hay resultados, se devuelve TRUE.

Nota:

Esta función devuelve el número de filas afectadas por la consulta (si es > 0 y aplicable al tipo de sentencia). Una consulta que haya tenido éxito, pero no afectó fila alguna (p.ej. una operación UPDATE sobre un registro inexistente) devolverá TRUE.

Ejemplos

Ejemplo #1 Ejemplo de ibase_execute()

<?php

$gestor_db = ibase_connect($host, $nombre_usuario, $contrasenya);

$cambios = array(
    1 => 'Eric',
    5 => 'Filip',
    7 => 'Larry'
);

$consulta = ibase_prepare($dbh, "UPDATE FOO SET BAR = ? WHERE BAZ = ?");

foreach ($cambios as $baz => $bar) {
    ibase_execute($consulta, $bar, $baz);
}

?>

Ver también

  • ibase_query() - Ejecutar una consulta en una base de datos InterBase

ibase_errmsg
ibase_fetch_assoc
Funciones de Firebird/InterBase


Extra una fila en forma de array asociativo de una consulta

ibase_execute
ibase_fetch_object
Funciones de Firebird/InterBase
PHP Manual

ibase_fetch_assoc

(PHP 5)

ibase_fetch_assoc — Extra una fila en forma de array asociativo de una consulta

Descripción

array ibase_fetch_assoc ( resource $result [, int $fetch_flag = 0 ] )

Extrae en forma de array asociativo una fila a partir de una consulta.

ibase_fetch_assoc() extrae una fila de result. Si hubiera dos o más columnas de este resultado con el mismo nombre, tendrá precedencia la última. Para acceder a la/s otra/s con el mismo nombre, se tendrá que acceder mediante sus índices usando ibase_fetch_row() o usando alias en la consulta.

Parámetros

result

Manejador de resultado.

fetch_flag

fetch_flag es una combinación OR de las constantes IBASE_TEXT y IBASE_UNIXTIME. Al pasar IBASE_TEXT se provocará que esta función devuelva el contenido de los BLOB en lugar de sus identificadores. Si se pasara IBASE_UNIXTIME provocará que esta función devuelva la fecha/hora en formato Unix, en lugar de como cadena de texto.

Valores devueltos

Devuelve un array asociativo que corresponde a la fila consultada. El resto de llamadas capturarán las siguientes filas del resultado, o FALSE si no quedaran más.

Ver también

  • ibase_fetch_row() - Recuperar una fila desde una base de datos InterBase
  • ibase_fetch_object() - Consulta un objeto de una base de datos InterBase

ibase_execute
ibase_fetch_object
Funciones de Firebird/InterBase


Consulta un objeto de una base de datos InterBase

ibase_fetch_assoc
ibase_fetch_row
Funciones de Firebird/InterBase
PHP Manual

ibase_fetch_object

(PHP 5)

ibase_fetch_object — Consulta un objeto de una base de datos InterBase

Descripción

object ibase_fetch_object ( resource $result_id [, int $fetch_flag = 0 ] )

Captura una fila en forma de pseudo-objeto, a partir de un identificador de resultado.

El resto de llamadas a ibase_fetch_object() devolverán la siguiente fila del juego de resultados.

Parámetros

result_id

Identificador de resultado de InterBase obtenido por ibase_query() o por ibase_execute().

fetch_flag

fetch_flag es una combinación OR de las constantes IBASE_TEXT y IBASE_UNIXTIME. Si se pasara IBASE_TEXT provocaría que esta función devolviera el contenido de los BLOB en lugar de sus identificadores. Si se pasara IBASE_UNIXTIME provocaría que esta función devolviera las fechas/hora en formato Unix en lugar de en forma de cadena de texto.

Valores devueltos

Devuelve un objeto con información de la siguiente fila, o FALSE si no hubiera más filas.

Ejemplos

Ejemplo #1 Ejemplo de ibase_fetch_object()

<?php
$dbh = ibase_connect($host, $username, $password);
$stmt = 'SELECT * FROM tblname';
$sth = ibase_query($dbh, $stmt);
while ($row = ibase_fetch_object($sth)) {
    echo $row->email . "\n";
}
ibase_close($dbh);
?>

Ver también

  • ibase_fetch_row() - Recuperar una fila desde una base de datos InterBase
  • ibase_fetch_assoc() - Extra una fila en forma de array asociativo de una consulta

ibase_fetch_assoc
ibase_fetch_row
Funciones de Firebird/InterBase


Recuperar una fila desde una base de datos InterBase

ibase_fetch_object
ibase_field_info
Funciones de Firebird/InterBase
PHP Manual

ibase_fetch_row

(PHP 5)

ibase_fetch_row — Recuperar una fila desde una base de datos InterBase

Descripción

array ibase_fetch_row ( resource $result_identifier [, int $fetch_flag = 0 ] )

ibase_fetch_row() recupera una fila de datos desde el conjunto de resultados dado.

Las llamadas subsiguientes a ibase_fetch_row() devuelven la siguiente fila en el conjunto de resultados, o FALSE si no hay más filas.

Parámetros

result_identifier

Un identificador de resultado InterBase.

fetch_flag

fetch_flag es una combinación de las constantes IBASE_TEXT y IBASE_UNIXTIME unidas con el operador lógico OR. Al pasar IBASE_TEXT, esta función devuelve contenidos BLOB en lugar de identificadores BLOB. Al pasar IBASE_UNIXTIME, esta función devuelve valores de fecha/hora como marcas de tiempo Unix en lugar de cadenas con formato.

Valores devueltos

Devuelve un array que corresponde a la fila recuperada, o FALSE si no hay más filas. Cada columna del resultado es almacenado en una posición del array, comenzando en 0.

Ver también

  • ibase_fetch_assoc() - Extra una fila en forma de array asociativo de una consulta
  • ibase_fetch_object() - Consulta un objeto de una base de datos InterBase

ibase_fetch_object
ibase_field_info
Funciones de Firebird/InterBase


Consulta información sobre un determinado campo

ibase_fetch_row
ibase_free_event_handler
Funciones de Firebird/InterBase
PHP Manual

ibase_field_info

(PHP 5)

ibase_field_info — Consulta información sobre un determinado campo

Descripción

array ibase_field_info ( resource $result , int $field_number )

Devuelve un array con información acerca de un campo de una consulta que ya se haya ejecutado.

Parámetros

result

Identificador de resultado de InterBase.

field_number

Posición del campo.

Valores devueltos

Devuelve un array con las siguientes claves: name, alias, relation, length y type.

Ejemplos

Ejemplo #1 Ejemplo de ibase_field_info()

<?php
$rs = ibase_query("SELECT * FROM tablename");
$coln = ibase_num_fields($rs);
for ($i = 0; $i < $coln; $i++) {
    $col_info = ibase_field_info($rs, $i);
    echo "name: ". $col_info['name']. "\n";
    echo "alias: ". $col_info['alias']. "\n";
    echo "relation: ". $col_info['relation']. "\n";
    echo "length: ". $col_info['length']. "\n";
    echo "type: ". $col_info['type']. "\n";
}
?>

Ver también

  • ibase_num_fields() - Consulta el número de campos de un resultado

ibase_fetch_row
ibase_free_event_handler
Funciones de Firebird/InterBase


Cancela un manejador de eventos ya registrado

ibase_field_info
ibase_free_query
Funciones de Firebird/InterBase
PHP Manual

ibase_free_event_handler

(PHP 5)

ibase_free_event_handler — Cancela un manejador de eventos ya registrado

Descripción

bool ibase_free_event_handler ( resource $event )

Esta función provoca la cancelación del manejador de eventos especificado por event. Ya no se llamará a esta función manejadora del evento para el que se registró.

Parámetros

event

Recurso de evento, creado por ibase_set_event_handler().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ibase_set_event_handler() - Registra una función manejadora de un determinado evento

ibase_field_info
ibase_free_query
Funciones de Firebird/InterBase


Liberar la memoria reservada por una consulta preparada

ibase_free_event_handler
ibase_free_result
Funciones de Firebird/InterBase
PHP Manual

ibase_free_query

(PHP 5)

ibase_free_query — Liberar la memoria reservada por una consulta preparada

Descripción

bool ibase_free_query ( resource $query )

Libera una consulta preparada.

Parámetros

query

Una consulta preparada con ibase_prepare().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ibase_free_event_handler
ibase_free_result
Funciones de Firebird/InterBase


Liberar un conjunto de resultados

ibase_free_query
ibase_gen_id
Funciones de Firebird/InterBase
PHP Manual

ibase_free_result

(PHP 5)

ibase_free_result — Liberar un conjunto de resultados

Descripción

bool ibase_free_result ( resource $result_identifier )

Libera un conjunto de resultados.

Parámetros

result_identifier

Un conjunto de resultados creado por ibase_query() o ibase_execute().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ibase_free_query
ibase_gen_id
Funciones de Firebird/InterBase


Incrementa el generador de nombres y devuelve su nuevo valor

ibase_free_result
ibase_maintain_db
Funciones de Firebird/InterBase
PHP Manual

ibase_gen_id

(PHP 5)

ibase_gen_id — Incrementa el generador de nombres y devuelve su nuevo valor

Descripción

mixed ibase_gen_id ( string $generator [, int $increment = 1 [, resource $link_identifier = NULL ]] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

Devuelve en forma de string el nuevo valor generado, o como string si el valor fuera demasiado grande.

ibase_free_result
ibase_maintain_db
Funciones de Firebird/InterBase


Lleva a cabo una tarea de mantenimiento en el servidor de bases de datos

ibase_gen_id
ibase_modify_user
Funciones de Firebird/InterBase
PHP Manual

ibase_maintain_db

(PHP 5)

ibase_maintain_db — Lleva a cabo una tarea de mantenimiento en el servidor de bases de datos

Descripción

bool ibase_maintain_db ( resource $service_handle , string $db , int $action [, int $argument = 0 ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ibase_gen_id
ibase_modify_user
Funciones de Firebird/InterBase


Modifica un usuario en una base de datos segura

ibase_maintain_db
ibase_name_result
Funciones de Firebird/InterBase
PHP Manual

ibase_modify_user

(PHP 5)

ibase_modify_user — Modifica un usuario en una base de datos segura

Descripción

bool ibase_modify_user ( resource $service_handle , string $user_name , string $password [, string $first_name [, string $middle_name [, string $last_name ]]] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ibase_add_user() - Añade un usuario a una base de datos segura
  • ibase_delete_user() - Elimina un usuario de una base de datos segura

ibase_maintain_db
ibase_name_result
Funciones de Firebird/InterBase


Asigna un nombre a un juego de resultados

ibase_modify_user
ibase_num_fields
Funciones de Firebird/InterBase
PHP Manual

ibase_name_result

(PHP 5)

ibase_name_result — Asigna un nombre a un juego de resultados

Descripción

bool ibase_name_result ( resource $result , string $name )

Esta función establece un nombre a un juego de resultados. Posteriormente se podrá utilizar este nombre en sentencias UPDATE|DELETE ... WHERE CURRENT OF name.

Parámetros

result

Juego de resultados de InterBase.

name

Nombre que se asigna.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ibase_name_result()

<?php
$result = ibase_query("SELECT field1,field2 FROM table FOR UPDATE");
ibase_name_result($result, "my_cursor");

$updateqry = ibase_prepare("UPDATE table SET field2 = ? WHERE CURRENT OF my_cursor");

for ($i = 0; ibase_fetch_row($result); ++$i) {
    ibase_execute($updateqry, $i);
}
?>

Ver también

  • ibase_prepare() - Preparar una consulta para su asociación con parámetros de sustitución y ejecución posterior
  • ibase_execute() - Ejecutar una consulta previamente preparada

ibase_modify_user
ibase_num_fields
Funciones de Firebird/InterBase


Consulta el número de campos de un resultado

ibase_name_result
ibase_num_params
Funciones de Firebird/InterBase
PHP Manual

ibase_num_fields

(PHP 5)

ibase_num_fields — Consulta el número de campos de un resultado

Descripción

int ibase_num_fields ( resource $result_id )

Obtiene el número de campos de un juego de resultados.

Parámetros

result_id

Identificador de resultado de InterBase.

Valores devueltos

Devuelve el número de campos en forma de entero.

Ejemplos

Ejemplo #1 Ejemplo de ibase_num_fields()

<?php
$rs = ibase_query("SELECT * FROM tablename");
$coln = ibase_num_fields($rs);
for ($i = 0; $i < $coln; $i++) {
    $col_info = ibase_field_info($rs, $i);
    echo "name: " . $col_info['name'] . "\n";
    echo "alias: " . $col_info['alias'] . "\n";
    echo "relation: " . $col_info['relation'] . "\n";
    echo "length: " . $col_info['length'] . "\n";
    echo "type: " . $col_info['type'] . "\n";
}
?>

Ver también

  • ibase_field_info() - Consulta información sobre un determinado campo

ibase_name_result
ibase_num_params
Funciones de Firebird/InterBase


Devuelve el número de parámetros de una sentencia preparada

ibase_num_fields
ibase_param_info
Funciones de Firebird/InterBase
PHP Manual

ibase_num_params

(PHP 5)

ibase_num_params — Devuelve el número de parámetros de una sentencia preparada

Descripción

int ibase_num_params ( resource $query )

Esta función devuelve el número de parámetros de la sentencia preparada especificada en query. Este es el número de argumentos que se deben proporcionar al invocar a ibase_execute().

Parámetros

query

Manejador de consulta preparada.

Valores devueltos

Devuelve el número de parámetros en forma de entero.

Ver también

  • ibase_prepare() - Preparar una consulta para su asociación con parámetros de sustitución y ejecución posterior
  • ibase_param_info() - Devuelve información sobre un parámetro de una sentencia preparada

ibase_num_fields
ibase_param_info
Funciones de Firebird/InterBase


Devuelve información sobre un parámetro de una sentencia preparada

ibase_num_params
ibase_pconnect
Funciones de Firebird/InterBase
PHP Manual

ibase_param_info

(PHP 5)

ibase_param_info — Devuelve información sobre un parámetro de una sentencia preparada

Descripción

array ibase_param_info ( resource $query , int $param_number )

Devuelve un array con información sobre un parámetro de una consulta que ya ha sido preparada.

Parámetros

query

Manejador de sentencia preparada de InterBase.

param_number

Posición del parámetro.

Valores devueltos

Devuelve un array con las siguientes claves: name, alias, relation, length y type.

Ver también

  • ibase_field_info() - Consulta información sobre un determinado campo
  • ibase_num_params() - Devuelve el número de parámetros de una sentencia preparada

ibase_num_params
ibase_pconnect
Funciones de Firebird/InterBase


Abrir una conexión persistente con una base de datos InterBase

ibase_param_info
ibase_prepare
Funciones de Firebird/InterBase
PHP Manual

ibase_pconnect

(PHP 5)

ibase_pconnect — Abrir una conexión persistente con una base de datos InterBase

Descripción

resource ibase_pconnect ([ string $database [, string $username [, string $password [, string $charset [, int $buffers [, int $dialect [, string $role [, int $sync ]]]]]]]] )

Abre una conexión persistente con una base de datos InterBase.

ibase_pconnect() actúa de forma muy similar a ibase_connect() con dos diferencias significativas.

Primero, cuando se crea una conexión, la función intentará primero encontrar un enlace (persistente) ya abierto con los mismos parámetros. Si se encuentra uno, se devolverá un identificador para él, en lugar de abrir una nueva conexión.

Segundo, la conexión con el servidor InterBase no será cerrada cuando finalice la ejecución del script. En su lugar, el enlace permanecerá abierto para su uso futuro ( ibase_close() no cerrará enlaces establecidos con ibase_pconnect()). Este tipo de enlace es por lo tanto llamado 'persistente'.

Parámetros

database

El argumento database debe ser una ruta válida al archivo de base de datos en el servidor en el que reside. Si el servidor no es local, debe ser precedido por 'nombre_host:' (TCP/IP), '//nombre_host/' (NetBEUI) o 'nombre_host@' (IPX/SPX), dependiendo del protocolo usado.

username

El nombre de usuario. Puede ser definido mediante la directiva de php.ini ibase.default_user.

password

La contraseña para username. Puede ser definida con la directiva de php.ini ibase.default_password.

charset

charset es el juego de caracteres predeterminado para una base de datos.

buffers

buffers es el número de búfers de base de datos a reservar para el caché en el lado del servidor. Si es 0 o se omite, el servidor elige su propio valor predeterminado.

dialect

dialect selecciona el dialecto SQL predeterminado para cualquier sentencia ejecutada en la conexión, y su valor por omisión es el más alto soportado por las bibliotecas cliente. Este parámetro es funcional únicamente con InterBase 6 y versiones posteriores.

role

Funcional únicamente con InterBase 5 y versiones posteriores.

sync

Valores devueltos

Devuelve un identificador de enlace InterBase en caso de éxito, o FALSE si ocurre un error.

Ver también

  • ibase_close() - Cerrar una conexión con una base de datos InterBase
  • ibase_connect() - Abrir una conexión a una base de datos

ibase_param_info
ibase_prepare
Funciones de Firebird/InterBase


Preparar una consulta para su asociación con parámetros de sustitución y ejecución posterior

ibase_pconnect
ibase_query
Funciones de Firebird/InterBase
PHP Manual

ibase_prepare

(PHP 5)

ibase_prepare — Preparar una consulta para su asociación con parámetros de sustitución y ejecución posterior

Descripción

resource ibase_prepare ( string $query )
resource ibase_prepare ( resource $link_identifier , string $query )
resource ibase_prepare ( resource $link_identifier , string $trans , string $query )

Preparar una consulta para su asociación con parámetros de sustitución y ejecución posterior (mediante ibase_execute()).

Parámetros

query

Una consulta InterBase.

Valores devueltos

Devuelve un gestor de consulta preparado, o FALSE en caso de fallo.

ibase_pconnect
ibase_query
Funciones de Firebird/InterBase


Ejecutar una consulta en una base de datos InterBase

ibase_prepare
ibase_restore
Funciones de Firebird/InterBase
PHP Manual

ibase_query

(PHP 5)

ibase_query — Ejecutar una consulta en una base de datos InterBase

Descripción

resource ibase_query ([ resource $link_identifier ], string $query [, int $bind_args ] )

Realiza una consulta sobre una base de datos InterBase.

Parámetros

link_identifier

Un identificador de enlace InterBase. Si se omite, se asume el último enlace abierto.

query

Una consulta InterBase.

bind_args

Valores devueltos

Si la consulta genera un error, se devuelve FALSE. Si tiene éxito y existe un conjunto de resultados (posiblemente vacío), tal como ocurre con una consulta SELECT, se devuelve el identificador de resultado. Si la consulta fue exitosa y no hay resultados, se devuelve TRUE.

Nota:

En PHP 5.0.0 y versiones posteriores, esta función devuelve el número de filas afectadas por la consulta para sentencias INSERT, UPDATE y DELETE. Con el propósito de mantener compatibilidad hacia atrás, devolverá TRUE para estas sentencias si la consulta tuvo éxito sin afectar filas.

Errores/Excepciones

Si obtiene un error del tipo "arithmetic exception, numeric overflow, or string truncation. Cannot transliterate character between character sets" (esto ocurre cuando intenta usar algún caracter con acentos) cuando usa esta extensión después de llamar ibase_query(), debe definir el juego de caracteres (puede ser ISO8859_1 o su juego de caracteres actual).

Historial de cambios

Versión | Descripción
5.3.1 | Si no hay rows afectados, la función ahora devuelve TRUE en caso de éxito, donde anteriormente devolvía 0 (un cero seguido por un espacio en blanco).

Ejemplos

Ejemplo #1 Ejemplo de ibase_query()

<?php

$host = 'localhost:/ruta/a/su/base_de_datos.gdb';

$gestor_bd = ibase_connect($host, $nombre_usuario, $contrasenya);
$sent = 'SELECT * FROM nombre_tabla';

$gestor_sent = ibase_query($gestor_bd, $sent) or die(ibase_errmsg());

?>

Ver también

  • ibase_errmsg() - Devuelve un mensaje de error
  • ibase_fetch_row() - Recuperar una fila desde una base de datos InterBase
  • ibase_fetch_object() - Consulta un objeto de una base de datos InterBase
  • ibase_free_result() - Liberar un conjunto de resultados

ibase_prepare
ibase_restore
Funciones de Firebird/InterBase


Inicia una tarea de restauración en el administrador de servicios y devuelve el control inmediatamente

ibase_query
ibase_rollback_ret
Funciones de Firebird/InterBase
PHP Manual

ibase_restore

(PHP 5)

ibase_restore — Inicia una tarea de restauración en el administrador de servicios y devuelve el control inmediatamente

Descripción

mixed ibase_restore ( resource $service_handle , string $source_file , string $dest_db [, int $options = 0 [, bool $verbose = false ]] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

ibase_query
ibase_rollback_ret
Funciones de Firebird/InterBase


Deshace una transacción sin cerrarla

ibase_restore
ibase_rollback
Funciones de Firebird/InterBase
PHP Manual

ibase_rollback_ret

(PHP 5)

ibase_rollback_ret — Deshace una transacción sin cerrarla

Descripción

bool ibase_rollback_ret ([ resource $link_or_trans_identifier = NULL ] )

Deshace una transacción sin cerrarla.

Parámetros

link_or_trans_identifier

Si se invoca sin argumentos, esta función deshace la transacción por omisión del enlace por omisión. Si el argumento fuera un identificador de conexión, se desharía su transacción por omisión. Si, por contra, fuera un identificador de transacción, ésta se desharía. Se mantendrá el contexto de la transacción, de forma que no se invalidarán las sentencias ejecutadas en esta transacción.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ibase_restore
ibase_rollback
Funciones de Firebird/InterBase


Deshace una transacción

ibase_rollback_ret
ibase_server_info
Funciones de Firebird/InterBase
PHP Manual

ibase_rollback

(PHP 5)

ibase_rollback — Deshace una transacción

Descripción

bool ibase_rollback ([ resource $link_or_trans_identifier = NULL ] )

Deshace una transacción.

Parámetros

link_or_trans_identifier

Si se invoca sin argumentos, esta función deshace la transacción por omisión del enlace por omisión. Si el argumento fuera un identificador de conexión, se desharía su transacción por omisión. Si, por contra, fuera un identificador de transacción, ésta se desharía.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ibase_rollback_ret
ibase_server_info
Funciones de Firebird/InterBase


Solicita información sobre un servidor de bases de datos

ibase_rollback
ibase_service_attach
Funciones de Firebird/InterBase
PHP Manual

ibase_server_info

(PHP 5)

ibase_server_info — Solicita información sobre un servidor de bases de datos

Descripción

string ibase_server_info ( resource $service_handle , int $action )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

ibase_rollback
ibase_service_attach
Funciones de Firebird/InterBase


Conecta al administrador de servicios

ibase_server_info
ibase_service_detach
Funciones de Firebird/InterBase
PHP Manual

ibase_service_attach

(PHP 5)

ibase_service_attach — Conecta al administrador de servicios

Descripción

resource ibase_service_attach ( string $host , string $dba_username , string $dba_password )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

ibase_server_info
ibase_service_detach
Funciones de Firebird/InterBase


Desconecta del administrador de servicios

ibase_service_attach
ibase_set_event_handler
Funciones de Firebird/InterBase
PHP Manual

ibase_service_detach

(PHP 5)

ibase_service_detach — Desconecta del administrador de servicios

Descripción

bool ibase_service_detach ( resource $service_handle )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ibase_service_attach
ibase_set_event_handler
Funciones de Firebird/InterBase


Registra una función manejadora de un determinado evento

ibase_service_detach
ibase_trans
Funciones de Firebird/InterBase
PHP Manual

ibase_set_event_handler

(PHP 5)

ibase_set_event_handler — Registra una función manejadora de un determinado evento

Descripción

resource ibase_set_event_handler ( callable $event_handler , string $event_name1 [, string $event_name2 [, string $... ]] )
resource ibase_set_event_handler ( resource $connection , callable $event_handler , string $event_name1 [, string $event_name2 [, string $... ]] )

Esta función registra una función PHP como manejadora para los eventos especificados.

Parámetros

event_handler

A esta función se la invoca, proporcionándola como argumentos el nombre del evento y el enlace al recurso, cada vez que la base de datos emita el evento especificado.

La función devolverá FALSE si se tiene que cancelar el evento. Cualquier otro valor se ignorará. Esta función puede vincularse hasta a 15 eventos.

event_name1

Nombre del evento.

event_name2

Se permiten hasta 15 eventos.

Valores devueltos

El valor devuelto es un recurso de evento. Este recurso se puede usar para liberar un manejador de eventos mediante ibase_free_event_handler().

Ejemplos

Ejemplo #1 Ejemplo de ibase_set_event_handler()

<?php

function event_handler($event_name, $link)
{
    if ($event_name == "NEW ORDER") {
        // procesar nueva petición
        ibase_query($link, "UPDATE orders SET status='handled'");
    } else if ($event_name == "DB_SHUTDOWN") {
        // liberar manejador de evento
        return false;
    }
}

ibase_set_event_handler($link, "event_handler", "NEW_ORDER", "DB_SHUTDOWN");
?>

Ver también

  • ibase_free_event_handler() - Cancela un manejador de eventos ya registrado
  • ibase_wait_event() - Espera a que la base de datos emita un determinado evento

ibase_service_detach
ibase_trans
Funciones de Firebird/InterBase


Comienza una transacción

ibase_set_event_handler
ibase_wait_event
Funciones de Firebird/InterBase
PHP Manual

ibase_trans

(PHP 5)

ibase_trans — Comienza una transacción

Descripción

resource ibase_trans ([ int $trans_args [, resource $link_identifier ]] )
resource ibase_trans ([ resource $link_identifier [, int $trans_args ]] )

Comienza una transacción.

Nota:

La primera llamada a ibase_trans() no devolverá la transacción predeterminada de una conexión. Todas las transacciones que comiencen por ibase_trans() se desharán al finalizar el script siempre y cuando no se hayan llevado a cabo explícitamente, o ya se hubieran deshecho mediante ibase_commit() o ibase_rollback() respectivamente.

Nota:

Esta función aceptará múltiples argumentos trans_args y link_identifier. Esto permite llevar a cabo transacciones sobre múltiples conexiones a bases de datos, las cuales se llevan a cabo utilizando un algoritmo de dos fases. Esto significa que una actualización podría o bien fallar en todas las bases de datos, o bien tener éxito en todas. NO significa que se puedan usar en una misma consulta tablas de distintas bases de datos.

Si se usaran transacciones sobre múltiples bases de datos, se deberá especificar tanto el link_id como el transaction_id en las llamadas a ibase_query() y a ibase_prepare().

Parámetros

trans_args

trans_args puede ser una combinación de IBASE_READ, IBASE_WRITE, IBASE_COMMITTED, IBASE_CONSISTENCY, IBASE_CONCURRENCY, IBASE_REC_VERSION, IBASE_REC_NO_VERSION, IBASE_WAIT y IBASE_NOWAIT.

link_identifier

Identificador de enlace a InterBase. Si se omite, se utilizará el último enlace que se haya abierto.

Valores devueltos

Devuelve un manejador de transacción, o FALSE en caso de error.

ibase_set_event_handler
ibase_wait_event
Funciones de Firebird/InterBase


Espera a que la base de datos emita un determinado evento

ibase_trans
FrontBase
Funciones de Firebird/InterBase
PHP Manual

ibase_wait_event

(PHP 5)

ibase_wait_event — Espera a que la base de datos emita un determinado evento

Descripción

string ibase_wait_event ( string $event_name1 [, string $event_name2 [, string $... ]] )
string ibase_wait_event ( resource $connection , string $event_name1 [, string $event_name2 [, string $... ]] )

Esta función suspende la ejecución del script hasta que la base de datos emita uno de los eventos especificados. Devuelve el nombre del evento emitido. Esta función acepta hasta 15 eventos como parámetros.

Parámetros

event_name1

Nombre de evento.

event_name2

...

Valores devueltos

Devuelve el nombre del evento que se emitió.

Ver también

  • ibase_set_event_handler() - Registra una función manejadora de un determinado evento
  • ibase_free_event_handler() - Cancela un manejador de eventos ya registrado

ibase_trans
FrontBase
Funciones de Firebird/InterBase


FrontBase

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de FrontBase
    • fbsql_affected_rows — Obtiene el numero de filas afectadas en la anterior operación de FrontBase
    • fbsql_autocommit — Activa o desactiva el autocommit
    • fbsql_blob_size — Obtiene el tamaño de un BLOB
    • fbsql_change_user — Cambia el usuario logueado en la conexión activa
    • fbsql_clob_size — Obtiene el tamaño de un CLOB
    • fbsql_close — Cierra la conexión FrontBase
    • fbsql_commit — Ejecuta un commit de la transacción sobre la base de datos
    • fbsql_connect — Abre una conexión a un servidor FrontBase
    • fbsql_create_blob — Crea un BLOB
    • fbsql_create_clob — Crea un CLOB
    • fbsql_create_db — Crea una base de datos FrontBase
    • fbsql_data_seek — Mueve el puntero interno de resultado
    • fbsql_database_password — Asigna o recupera el password de una base de datos FrontBase
    • fbsql_database — Obtiene o especifica la base de datos usada por la conexión
    • fbsql_db_query — Ejecuta una consulta a FrontBase
    • fbsql_db_status — Obtiene el estado de una base de datos dada
    • fbsql_drop_db — Elimina (drop) una base de datos FrontBase
    • fbsql_errno — Devuelve el número de error de la última operación
    • fbsql_error — Devuelve el mensaje de error de la última operación
    • fbsql_fetch_array — Obtiene una fila de resultados como array asociativo, array numérico, o ambos
    • fbsql_fetch_assoc — Obtiene una fila de resultados como array asociativo
    • fbsql_fetch_field — Obtiene información de columnas de un resultado y la devuelve como objeto
    • fbsql_fetch_lengths — Obtiene la longitud de cada salida en un resultado
    • fbsql_fetch_object — Obtiene una fila de resultados como objeto
    • fbsql_fetch_row — Obtiene una fila de resultados como array enumerado
    • fbsql_field_flags — Obtiene los flags de un campo especificado en un resultado
    • fbsql_field_len — Devuleve la longitud de un campo especificado
    • fbsql_field_name — Obtiene el nombre de un campo especificado en un resultado
    • fbsql_field_seek — Mueve el puntero interno de resultado al campo con la posición especificada
    • fbsql_field_table — Obtiene el nombre de la tabla donde se encuentra el campo especificado
    • fbsql_field_type — Obtiene el tipo de campo especificado en un resultado
    • fbsql_free_result — Libera la memoria de resultados
    • fbsql_get_autostart_info — Descripción
    • fbsql_hostname — Obtiene o establece el nombre host de una conexión
    • fbsql_insert_id — Obtiene el valor id generado por la anterior operación INSERT
    • fbsql_list_dbs — Lista las bases de datos disponibles en un servidor FrontBase
    • fbsql_list_fields — Lista los campos de un resultado de FrontBase
    • fbsql_list_tables — Lista las tablas de una base de datos FrontBase
    • fbsql_next_result — Mover el puntero del resultado interno por el resultado de al lado
    • fbsql_num_fields — Obtener el número de campos del resultado
    • fbsql_num_rows — Obtener el número de filas del resultado
    • fbsql_password — Obtiene o asigna el password usado en una conexión
    • fbsql_pconnect — Abrir una conexión persistente a un servidor FrontBase
    • fbsql_query — Realiza una consulta FrontBase
    • fbsql_read_blob — Lee un BLOB de la base de datos
    • fbsql_read_clob — Lee un CLOB de la base de datos
    • fbsql_result — Obtiene los datos de resultado
    • fbsql_rollback — Retrocede una transacción a la base de datos
    • fbsql_rows_fetched — Obtiene el número de filas afectadas por la última consulta
    • fbsql_select_db — Selecciona una base de datos FrontBase
    • fbsql_set_characterset — Cambia el juego de caracteres de entrada/salida
    • fbsql_set_lob_mode — Asigna el modo de recuperación LOB para un set de resultados FrontBase
    • fbsql_set_password — Cambia la contraseña para el usuario especificado
    • fbsql_set_transaction — Asigna el bloqueo y aislamiento de la transacción
    • fbsql_start_db — Inicia una base de datos en un servidor local o remoto
    • fbsql_stop_db — Detiene una base de datos en un servidor local o remoto
    • fbsql_table_name — Obtiene el nombre de una tabla
    • fbsql_tablename — Alias de fbsql_table_name
    • fbsql_username — Obtiene o asigna el nombre de usuario de la conexión
    • fbsql_warnings — Activa o desactiva los warnings de FrontBase
ibase_wait_event
Introducción
Extensiones de bases de datos específicas del proveedor


Introducción

Estas funciones permiten el acceso a servidores de base de datos FrontBase. Se puede obtener más información sobre FrontBase en » http://www.frontbase.com/.

La documentación de FrontBase se puede encontrar en » http://www.frontbase.com/cgi-bin/WebObjects/FBWebSite.woa.

El soporte para Frontbase se añadió en PHP 4.0.6.

Nota:

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.3.0.

FrontBase
Instalación/Configuración
FrontBase


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
FrontBase


Requerimientos

Debes instalar el servidor de base de datos FrontBase o, al menos, las bibliotecas de cliente fbsql para usar estas funciones. Puedes conseguir FrontBase desde » http://www.frontbase.com/.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Para poder disponer de estas funciones tienes que compilar PHP con soporte para fbsql usando la opción --with-fbsql[=DIR] . Si se usa esta opción sin especificar la ruta a fbsql, PHP buscará las bibliotecas de cliente fbsql en el directorio de instalación por defecto para esa plataforma. Si se ha instalado FrontBase en un directorio no estandar, se debería especificar siempre la ruta a fbsql: --with-fbsql=/path/to/fbsql . Así se fuerza a PHP para que use las bibliotecas de cliente instaladas por FrontBase, evitando cualquier conflicto.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de FrontBase
Nombre | Por defecto | Cambiable | Historial de cambios
fbsql.allow_persistent | "1" | PHP_INI_SYSTEM | Disponible desde PHP 4.2.0.
fbsql.generate_warnings | "0" | PHP_INI_SYSTEM | Disponible desde PHP 4.0.6.
fbsql.autocommit | "1" | PHP_INI_SYSTEM | Disponible desde PHP 4.0.6.
fbsql.max_persistent | "-1" | PHP_INI_SYSTEM | Disponible desde PHP 4.0.6.
fbsql.max_links | "128" | PHP_INI_SYSTEM | Disponible desde PHP 4.0.6.
fbsql.max_connections | "128" | PHP_INI_SYSTEM | Disponible desde PHP 4.0.6.
fbsql.max_results | "128" | PHP_INI_SYSTEM | Disponible desde PHP 4.0.6.
fbsql.batchSize | "1000" | PHP_INI_SYSTEM | Disponible desde PHP 4.2.0. Eliminado en PHP 5.1.0.
fbsql.default_host | NULL | PHP_INI_SYSTEM | Disponible desde PHP 4.0.6.
fbsql.default_user | "_SYSTEM" | PHP_INI_SYSTEM | Disponible desde PHP 4.0.6.
fbsql.default_password | "" | PHP_INI_SYSTEM | Disponible desde PHP 4.0.6.
fbsql.default_database | "" | PHP_INI_SYSTEM | Disponible desde PHP 4.0.6.
fbsql.default_database_password | "" | PHP_INI_SYSTEM | Disponible desde PHP 4.0.6.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

FBSQL_ASSOC (integer)
FBSQL_NUM (integer)
FBSQL_BOTH (integer)
FBSQL_LOCK_DEFERRED (integer)
FBSQL_LOCK_OPTIMISTIC (integer)
FBSQL_LOCK_PESSIMISTIC (integer)
FBSQL_ISO_READ_UNCOMMITTED (integer)
FBSQL_ISO_READ_COMMITTED (integer)
FBSQL_ISO_REPEATABLE_READ (integer)
FBSQL_ISO_SERIALIZABLE (integer)
FBSQL_ISO_VERSIONED (integer)
FBSQL_UNKNOWN (integer)
FBSQL_STOPPED (integer)
FBSQL_STARTING (integer)
FBSQL_RUNNING (integer)
FBSQL_STOPPING (integer)
FBSQL_NOEXEC (integer)
FBSQL_LOB_DIRECT (integer)
FBSQL_LOB_HANDLE (integer)
Tipos de recursos
Funciones de FrontBase
FrontBase


Funciones de FrontBase

Tabla de contenidos

  • fbsql_affected_rows — Obtiene el numero de filas afectadas en la anterior operación de FrontBase
  • fbsql_autocommit — Activa o desactiva el autocommit
  • fbsql_blob_size — Obtiene el tamaño de un BLOB
  • fbsql_change_user — Cambia el usuario logueado en la conexión activa
  • fbsql_clob_size — Obtiene el tamaño de un CLOB
  • fbsql_close — Cierra la conexión FrontBase
  • fbsql_commit — Ejecuta un commit de la transacción sobre la base de datos
  • fbsql_connect — Abre una conexión a un servidor FrontBase
  • fbsql_create_blob — Crea un BLOB
  • fbsql_create_clob — Crea un CLOB
  • fbsql_create_db — Crea una base de datos FrontBase
  • fbsql_data_seek — Mueve el puntero interno de resultado
  • fbsql_database_password — Asigna o recupera el password de una base de datos FrontBase
  • fbsql_database — Obtiene o especifica la base de datos usada por la conexión
  • fbsql_db_query — Ejecuta una consulta a FrontBase
  • fbsql_db_status — Obtiene el estado de una base de datos dada
  • fbsql_drop_db — Elimina (drop) una base de datos FrontBase
  • fbsql_errno — Devuelve el número de error de la última operación
  • fbsql_error — Devuelve el mensaje de error de la última operación
  • fbsql_fetch_array — Obtiene una fila de resultados como array asociativo, array numérico, o ambos
  • fbsql_fetch_assoc — Obtiene una fila de resultados como array asociativo
  • fbsql_fetch_field — Obtiene información de columnas de un resultado y la devuelve como objeto
  • fbsql_fetch_lengths — Obtiene la longitud de cada salida en un resultado
  • fbsql_fetch_object — Obtiene una fila de resultados como objeto
  • fbsql_fetch_row — Obtiene una fila de resultados como array enumerado
  • fbsql_field_flags — Obtiene los flags de un campo especificado en un resultado
  • fbsql_field_len — Devuleve la longitud de un campo especificado
  • fbsql_field_name — Obtiene el nombre de un campo especificado en un resultado
  • fbsql_field_seek — Mueve el puntero interno de resultado al campo con la posición especificada
  • fbsql_field_table — Obtiene el nombre de la tabla donde se encuentra el campo especificado
  • fbsql_field_type — Obtiene el tipo de campo especificado en un resultado
  • fbsql_free_result — Libera la memoria de resultados
  • fbsql_get_autostart_info — Descripción
  • fbsql_hostname — Obtiene o establece el nombre host de una conexión
  • fbsql_insert_id — Obtiene el valor id generado por la anterior operación INSERT
  • fbsql_list_dbs — Lista las bases de datos disponibles en un servidor FrontBase
  • fbsql_list_fields — Lista los campos de un resultado de FrontBase
  • fbsql_list_tables — Lista las tablas de una base de datos FrontBase
  • fbsql_next_result — Mover el puntero del resultado interno por el resultado de al lado
  • fbsql_num_fields — Obtener el número de campos del resultado
  • fbsql_num_rows — Obtener el número de filas del resultado
  • fbsql_password — Obtiene o asigna el password usado en una conexión
  • fbsql_pconnect — Abrir una conexión persistente a un servidor FrontBase
  • fbsql_query — Realiza una consulta FrontBase
  • fbsql_read_blob — Lee un BLOB de la base de datos
  • fbsql_read_clob — Lee un CLOB de la base de datos
  • fbsql_result — Obtiene los datos de resultado
  • fbsql_rollback — Retrocede una transacción a la base de datos
  • fbsql_rows_fetched — Obtiene el número de filas afectadas por la última consulta
  • fbsql_select_db — Selecciona una base de datos FrontBase
  • fbsql_set_characterset — Cambia el juego de caracteres de entrada/salida
  • fbsql_set_lob_mode — Asigna el modo de recuperación LOB para un set de resultados FrontBase
  • fbsql_set_password — Cambia la contraseña para el usuario especificado
  • fbsql_set_transaction — Asigna el bloqueo y aislamiento de la transacción
  • fbsql_start_db — Inicia una base de datos en un servidor local o remoto
  • fbsql_stop_db — Detiene una base de datos en un servidor local o remoto
  • fbsql_table_name — Obtiene el nombre de una tabla
  • fbsql_tablename — Alias de fbsql_table_name
  • fbsql_username — Obtiene o asigna el nombre de usuario de la conexión
  • fbsql_warnings — Activa o desactiva los warnings de FrontBase
Constantes predefinidas
fbsql_affected_rows
FrontBase


Obtiene el numero de filas afectadas en la anterior operación de FrontBase

Funciones de FrontBase
fbsql_autocommit
Funciones de FrontBase
PHP Manual

fbsql_affected_rows

(PHP 4 >= 4.0.6, PHP 5)

fbsql_affected_rows — Obtiene el numero de filas afectadas en la anterior operación de FrontBase

Descripción

int fbsql_affected_rows ([ resource $link_identifier ] )

fbsql_affected_rows() devuelve el número de filas afectadas por la última consulta INSERT, UPDATE o DELETE asociada al link_identifier.

Nota:

En caso de utilizar transacciones, se tiene que llamar fbsql_affected_rows() después de la consulta INSERT, UPDATE, o DELETE, no después del commit.

Si la última consulta fue un DELETE sin WHERE, todos los registros habrán sido borrados de la tabla, sin embargo la función devolverá cero.

Nota:

Cuando se usa UPDATE, FrontBase no actualiza las columnas donde el nuevo valor es el mismo que el antiguo. Esto da la posibilidad de que fbsql_affected_rows() no devuelva el número de columnas encontradas, sino únicamente el número de columnas afectadas literalmente por la consulta.

Parámetros

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

Valores devueltos

Si la última consulta falló, esta función devolverá -1.

Ver también

  • fbsql_num_rows() - Obtener el número de filas del resultado

Funciones de FrontBase
fbsql_autocommit
Funciones de FrontBase


Activa o desactiva el autocommit

fbsql_affected_rows
fbsql_blob_size
Funciones de FrontBase
PHP Manual

fbsql_autocommit

(PHP 4 >= 4.0.6, PHP 5)

fbsql_autocommit — Activa o desactiva el autocommit

Descripción

bool fbsql_autocommit ( resource $link_identifier [, bool $OnOff ] )

Devuelve el estado actual del autocommit.

Parámetros

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

OnOff

Si se recibe este parametro opcional, se cambiará el estado del autocommit

Con OnOff a TRUE cada sentencia tendrá un commit automático en caso de no encontrarse errores.

Con OnOff a FALSE el usuario deberá hacer commit o rollback de la transacción, usando fbsql_commit() o fbsql_rollback() respectivamente.

Valores devueltos

Devuelve el estado actual del autocommit, como boolean.

Ver también

  • fbsql_commit() - Ejecuta un commit de la transacción sobre la base de datos
  • fbsql_rollback() - Retrocede una transacción a la base de datos

fbsql_affected_rows
fbsql_blob_size
Funciones de FrontBase


Obtiene el tamaño de un BLOB

fbsql_autocommit
fbsql_change_user
Funciones de FrontBase
PHP Manual

fbsql_blob_size

(PHP 4 >= 4.2.0, PHP 5)

fbsql_blob_size — Obtiene el tamaño de un BLOB

Descripción

int fbsql_blob_size ( string $blob_handle [, resource $link_identifier ] )

Devuelve el tamaño del BLOB recibido.

Parámetros

blob_handle

Un handle BLOB, devuelto por fbsql_create_blob().

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

Valores devueltos

Devuelve el tamaño del BLOB como integer, o FALSE en caso de error.

Ver también

  • fbsql_clob_size() - Obtiene el tamaño de un CLOB

fbsql_autocommit
fbsql_change_user
Funciones de FrontBase


Cambia el usuario logueado en la conexión activa

fbsql_blob_size
fbsql_clob_size
Funciones de FrontBase
PHP Manual

fbsql_change_user

(PHP 4 >= 4.0.6, PHP 5)

fbsql_change_user — Cambia el usuario logueado en la conexión activa

Descripción

bool fbsql_change_user ( string $user , string $password [, string $database [, resource $link_identifier ]] )

fbsql_change_user() cambia el usuario logueado en la conexión especificada. Si falla la autorización del nuevo usuario/password, se mantiene activa la conexión con el usuario actual.

Parámetros

user

El nuevo nombre de usuario.

password

El nuevo password.

database

Si se especifica, se aplicará como base de datos por defecto una vez el usuario se haya cambiado.

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

fbsql_blob_size
fbsql_clob_size
Funciones de FrontBase


Obtiene el tamaño de un CLOB

fbsql_change_user
fbsql_close
Funciones de FrontBase
PHP Manual

fbsql_clob_size

(PHP 4 >= 4.2.0, PHP 5)

fbsql_clob_size — Obtiene el tamaño de un CLOB

Descripción

int fbsql_clob_size ( string $clob_handle [, resource $link_identifier ] )

Devuelve el tamaño del CLOB recibido.

Parámetros

clob_handle

Un handle CLOB, devuelto por fbsql_create_clob().

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

Valores devueltos

Devuelve el tamaño del CLOB como un integer, o FALSE en caso de error.

Ver también

  • fbsql_blob_size() - Obtiene el tamaño de un BLOB

fbsql_change_user
fbsql_close
Funciones de FrontBase


Cierra la conexión FrontBase

fbsql_clob_size
fbsql_commit
Funciones de FrontBase
PHP Manual

fbsql_close

(PHP 4 >= 4.0.6, PHP 5)

fbsql_close — Cierra la conexión FrontBase

Descripción

bool fbsql_close ([ resource $link_identifier ] )

Cierra la conexión con el servidor FrontBase asociado al link_identifier especificado.

No suele ser necesario usar fbsql_close(), ya que los enlaces no-persistentes abiertos se cierran de forma automática al final de la ejecución del script.

Parámetros

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de fbsql_close()

<?php
$link = fbsql_connect("localhost", "_SYSTEM", "secret")
    or die("No se puede conectar");
echo "Conectado correctamente";
fbsql_close($link);
?>

Ver también

  • fbsql_connect() - Abre una conexión a un servidor FrontBase
  • fbsql_pconnect() - Abrir una conexión persistente a un servidor FrontBase

fbsql_clob_size
fbsql_commit
Funciones de FrontBase


Ejecuta un commit de la transacción sobre la base de datos

fbsql_close
fbsql_connect
Funciones de FrontBase
PHP Manual

fbsql_commit

(PHP 4 >= 4.0.6, PHP 5)

fbsql_commit — Ejecuta un commit de la transacción sobre la base de datos

Descripción

bool fbsql_commit ([ resource $link_identifier ] )

Finaliza la transaccion actual escribiendo todos los INSERTs, UPDATEs y DELETEs en el disco y desbloqueando todos los bloqueos de fila y tabla mantenidos por la transacción. Este comando sólo se necesita si el autocommit está asignado a false.

Parámetros

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • fbsql_autocommit() - Activa o desactiva el autocommit
  • fbsql_rollback() - Retrocede una transacción a la base de datos

fbsql_close
fbsql_connect
Funciones de FrontBase


Abre una conexión a un servidor FrontBase

fbsql_commit
fbsql_create_blob
Funciones de FrontBase
PHP Manual

fbsql_connect

(PHP 4 >= 4.0.6, PHP 5)

fbsql_connect — Abre una conexión a un servidor FrontBase

Descripción

 resource fbsql_connect
  ([ string $hostname = ini_get("fbsql.default_host")
 [, string $username = ini_get("fbsql.default_user")
 [, string $password = ini_get("fbsql.default_password")
]]] )

fbsql_connect() establece una conexión a un servidor FrontBase.

Si se hace una segunda llamada a fbsql_connect() con los mismos argumentos, no se establecerá un nuevo enlace, sino que se devolverá el identificador del enlace ya abierto en su lugar.

El enlace al servidor se cerrará tan pronto como acabe la ejecución del script, a no ser que se cierre antes explicitamente llamando fbsql_close().

Parámetros

hostname

El nombre de host del servidor.

username

El nombre de usuario para la conexión.

password

El password para la conexión.

Valores devueltos

Devuelve un identificador de enlace FrontBase positivo, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de fbsql_connect()

<?php

$link = fbsql_connect("localhost", "_SYSTEM", "secret")
    or die("No se puede conectar");
echo "Conectado correctamente";
fbsql_close($link);

?>

Ver también

  • fbsql_pconnect() - Abrir una conexión persistente a un servidor FrontBase
  • fbsql_close() - Cierra la conexión FrontBase

fbsql_commit
fbsql_create_blob
Funciones de FrontBase


Crea un BLOB

fbsql_connect
fbsql_create_clob
Funciones de FrontBase
PHP Manual

fbsql_create_blob

(PHP 4 >= 4.2.0, PHP 5)

fbsql_create_blob — Crea un BLOB

Descripción

string fbsql_create_blob ( string $blob_data [, resource $link_identifier ] )

Crea un BLOB a partir de los datos recibidos.

Parámetros

blob_data

Los datos BLOB.

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

Valores devueltos

Devuelve un handle a un nuevo recurso BLOB, que puede usarse con comandos INSERT y UPDATE para almacenar el BLOB en la base de datos.

Ejemplos

Ejemplo #1 Ejemplo de fbsql_create_blob()

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("No se puede conectar");
$filename = "blobfile.bin";
$fp = fopen($filename, "rb");
$blobdata = fread($fp, filesize($filename));
fclose($fp);

$blobHandle = fbsql_create_blob($blobdata, $link);

$sql = "INSERT INTO BLOB_TABLE (BLOB_COLUMN) VALUES ($blobHandle);";
$rs = fbsql_query($sql, $link);
?>

Ver también

  • fbsql_create_clob() - Crea un CLOB
  • fbsql_read_blob() - Lee un BLOB de la base de datos
  • fbsql_read_clob() - Lee un CLOB de la base de datos
  • fbsql_set_lob_mode() - Asigna el modo de recuperación LOB para un set de resultados FrontBase

fbsql_connect
fbsql_create_clob
Funciones de FrontBase


Crea un CLOB

fbsql_create_blob
fbsql_create_db
Funciones de FrontBase
PHP Manual

fbsql_create_clob

(PHP 4 >= 4.2.0, PHP 5)

fbsql_create_clob — Crea un CLOB

Descripción

string fbsql_create_clob ( string $clob_data [, resource $link_identifier ] )

Crea un CLOB a partir de los datos recibidos.

Parámetros

clob_data

Los datos CLOB.

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

Valores devueltos

Devuelve un handle a un nuevo recurso CLOB, que puede usarse con comandos INSERT y UPDATE para almacenar el CLOB en la base de datos.

Ejemplos

Ejemplo #1 fbsql_create_clob() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("No se puede conectar");
$filename = "clob_file.txt";
$fp = fopen($filename, "rb");
$clobdata = fread($fp, filesize($filename));
fclose($fp);

$clobHandle = fbsql_create_clob($clobdata, $link);

$sql = "INSERT INTO CLOB_TABLE (CLOB_COLUMN) VALUES ($clobHandle);";
$rs = fbsql_query($sql, $link);
?>

Ver también

  • fbsql_create_blob() - Crea un BLOB
  • fbsql_read_blob() - Lee un BLOB de la base de datos
  • fbsql_read_clob() - Lee un CLOB de la base de datos
  • fbsql_set_lob_mode() - Asigna el modo de recuperación LOB para un set de resultados FrontBase

fbsql_create_blob
fbsql_create_db
Funciones de FrontBase


Crea una base de datos FrontBase

fbsql_create_clob
fbsql_data_seek
Funciones de FrontBase
PHP Manual

fbsql_create_db

(PHP 4 >= 4.0.6, PHP 5)

fbsql_create_db — Crea una base de datos FrontBase

Descripción

bool fbsql_create_db ( string $database_name [, resource $link_identifier [, string $database_options ]] )

Intenta crear una nueva base de datos en el servidor especificado.

Parámetros

database_name

El nombre de la base de datos.

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

database_options

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de fbsql_create_db().

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("No se puede conectar");
if (fbsql_create_db("my_db")) {
    echo "Base de datos creada correctamente\n";
} else {
    printf("Error creando base de datos: %s\n", fbsql_error());
}
?>

Ver también

  • fbsql_drop_db() - Elimina (drop) una base de datos FrontBase

fbsql_create_clob
fbsql_data_seek
Funciones de FrontBase


Mueve el puntero interno de resultado

fbsql_create_db
fbsql_database_password
Funciones de FrontBase
PHP Manual

fbsql_data_seek

(PHP 4 >= 4.0.6, PHP 5)

fbsql_data_seek — Mueve el puntero interno de resultado

Descripción

bool fbsql_data_seek ( resource $result , int $row_number )

Mueve el puntero interno a fila del resultado FrontBase asociado con el identificador de resultado indicado, para que apunte el número de fila especificado.

La siguiente llamada a fbsql_fetch_row() devolvería esa fila.

Parámetros

result

Un identificador de resultado devuelto por fbsql_query() o fbsql_db_query().

row_number

El número de fila. Comienza en 0.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 fbsql_data_seek() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("No se puede conectar");

fbsql_select_db("samp_db")
    or die("No se puede seleccionar la base de datos");

$query = "SELECT last_name, first_name FROM friends;";
$result = fbsql_query($query)
    or die("Consulta fallida");

// Obtiene las filas en orden inverso

for ($i = fbsql_num_rows($result) - 1; $i >=0; $i--) {
    if (!fbsql_data_seek($result, $i)) {
        printf("No se puede mover a la fila %d\n", $i);
        continue;
    }

    if (!($row = fbsql_fetch_object($result)))
        continue;

    echo $row->last_name . $row->first_name . "<br />\n";
}

fbsql_free_result($result);
?>

fbsql_create_db
fbsql_database_password
Funciones de FrontBase


Asigna o recupera el password de una base de datos FrontBase

fbsql_data_seek
fbsql_database
Funciones de FrontBase
PHP Manual

fbsql_database_password

(PHP 4 >= 4.0.6, PHP 5)

fbsql_database_password — Asigna o recupera el password de una base de datos FrontBase

Descripción

string fbsql_database_password ( resource $link_identifier [, string $database_password ] )

Asigna o recupera el database password de la base de datos usado por la conexión. Si una base de datos está protegida por un password, el usuario debe llamar esta función antes de llamar fbsql_select_db().

Si no hay enlace abierto, la función intentará establecer un enlace como si se hubiese llamado a fbsql_connect(), y lo usará.

Esta función no modifica el database password en la propia base de datos ni tampoco puede usarse para obtener el database password de una base de datos.

Parámetros

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

database_password

El database password, en un string. Si se proporicona, la función asigna el database password para el identificador de enlace especificado.

Valores devueltos

Devuelve el database password asociado con el identificador de enlace.

Ejemplos

Ejemplo #1 Ejemplo de fbsql_database_password()

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("No se puede conectar");
fbsql_database_password($link, "secret db password");
fbsql_select_db($database, $link);
?>

Ver también

  • fbsql_connect() - Abre una conexión a un servidor FrontBase
  • fbsql_pconnect() - Abrir una conexión persistente a un servidor FrontBase
  • fbsql_select_db() - Selecciona una base de datos FrontBase

fbsql_data_seek
fbsql_database
Funciones de FrontBase


Obtiene o especifica la base de datos usada por la conexión

fbsql_database_password
fbsql_db_query
Funciones de FrontBase
PHP Manual

fbsql_database

(PHP 4 >= 4.0.6, PHP 5)

fbsql_database — Obtiene o especifica la base de datos usada por la conexión

Descripción

string fbsql_database ( resource $link_identifier [, string $database ] )

Obtiene o especifica la base de datos que usa la conexión.

Parámetros

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

database

El nombre de la base de datos. Si se indica, se cambiará la base de datos por defecto de la conexión por la database especificada.

Valores devueltos

Devuelve el nombre de la base de datos usada en esta conexión.

fbsql_database_password
fbsql_db_query
Funciones de FrontBase


Ejecuta una consulta a FrontBase

fbsql_database
fbsql_db_status
Funciones de FrontBase
PHP Manual

fbsql_db_query

(PHP 4 >= 4.0.6, PHP 5)

fbsql_db_query — Ejecuta una consulta a FrontBase

Descripción

resource fbsql_db_query ( string $database , string $query [, resource $link_identifier ] )

Selecciona una base de datos y ejecuta una consulta sobre ella.

Parámetros

database

La base de datos a seleccionar.

query

La consulta SQL a ejecutar.

Nota:

La consulta deberá acabar siempre con un punto y coma (;).

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

Valores devueltos

Devuelve el identificador de resultado positivo de la consulta, o FALSE si es error.

Ver también

  • fbsql_query() - Realiza una consulta FrontBase
  • fbsql_connect() - Abre una conexión a un servidor FrontBase

fbsql_database
fbsql_db_status
Funciones de FrontBase


Obtiene el estado de una base de datos dada

fbsql_db_query
fbsql_drop_db
Funciones de FrontBase
PHP Manual

fbsql_db_status

(PHP 4 >= 4.0.7, PHP 5)

fbsql_db_status — Obtiene el estado de una base de datos dada

Descripción

int fbsql_db_status ( string $database_name [, resource $link_identifier ] )

Obtiene el estado actual de la base de datos especificada.

Parámetros

database_name

El nombre de la base de datos.

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

Valores devueltos

Devuelve un integer con el estado actual. Puede ser una de las siguientes constantes:

  • FALSE - El exec handler del host es inválido. Este error puede ocurrir cuando link_identifier conecta directamente a la base de datos usando un número de puerto. Puede que FBExec esté disponible en el servidor, pero no se ha realizado una conexión para él.
  • FBSQL_UNKNOWN - El estado desconocido.
  • FBSQL_STOPPED - La base de datos no esta en marcha. Use fbsql_start_db() para iniciar la base de datos.
  • FBSQL_STARTING - La base de datos se esta iniciando.
  • FBSQL_RUNNING - La base de datos es en marcha y se pueden realizar operaciones SQL.
  • FBSQL_STOPPING - La base de datos se está deteniendo.
  • FBSQL_NOEXEC - FBExec no está en funcionando en el servidor y no es posible obtener el estado de la base de datos.

Ver también

  • fbsql_start_db() - Inicia una base de datos en un servidor local o remoto
  • fbsql_stop_db() - Detiene una base de datos en un servidor local o remoto

fbsql_db_query
fbsql_drop_db
Funciones de FrontBase


Elimina (drop) una base de datos FrontBase

fbsql_db_status
fbsql_errno
Funciones de FrontBase
PHP Manual

fbsql_drop_db

(PHP 4 >= 4.0.6, PHP 5)

fbsql_drop_db — Elimina (drop) una base de datos FrontBase

Descripción

bool fbsql_drop_db ( string $database_name [, resource $link_identifier ] )

fbsql_drop_db() intenta eliminar (drop) por completo una base de datos en el servidor asociado al identificador de enlace especificado.

Parámetros

database_name

El nombre de la base de datos, como string.

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • fbsql_create_db() - Crea una base de datos FrontBase

fbsql_db_status
fbsql_errno
Funciones de FrontBase


Devuelve el número de error de la última operación

fbsql_drop_db
fbsql_error
Funciones de FrontBase
PHP Manual

fbsql_errno

(PHP 4 >= 4.0.6, PHP 5)

fbsql_errno — Devuelve el número de error de la última operación

Descripción

int fbsql_errno ([ resource $link_identifier ] )

Devuelve el valor numérico del mensaje de error de la última operación FrontBase.

Los errores procedentes el gestor de base de datos fbsql no emiten warnings. En su lugar, use fbsql_errno() para obtener el código de error. Recuerde que esta función solo devuelve el código de error generado por la función fbsql ejecutada más recientemente (sin incluir fbsql_error() y fbsql_errno()), así que para usarla hay que asegurarse de comprobar el valor antes de ejecutar otra función de fbsql.

Parámetros

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

Valores devueltos

Devuelve el número de error de la última función fbsql, o 0 (cero) si no hubo error.

Ejemplos

Ejemplo #1 Ejemplo de fbsql_errno()

<?php
fbsql_connect("marliesle");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
fbsql_select_db("nonexistentdb");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
$conn = fbsql_query("SELECT * FROM nonexistenttable;");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
?>

Ver también

  • fbsql_error() - Devuelve el mensaje de error de la última operación
  • fbsql_warnings() - Activa o desactiva los warnings de FrontBase

fbsql_drop_db
fbsql_error
Funciones de FrontBase


Devuelve el mensaje de error de la última operación

fbsql_errno
fbsql_fetch_array
Funciones de FrontBase
PHP Manual

fbsql_error

(PHP 4 >= 4.0.6, PHP 5)

fbsql_error — Devuelve el mensaje de error de la última operación

Descripción

string fbsql_error ([ resource $link_identifier ] )

Devuelve el mensaje de error de la última operación FrontBase.

Los errores procedentes el gestor de base de datos fbsql no emiten warnings. En su lugar, use fbsql_error() para obtener el mensaje de error. Recuerde que esta función solo devuelve el mensaje de error generado por la función fbsql ejecutada más recientemente (sin incluir fbsql_error() y fbsql_errno()), así que para usarla hay que asegurarse de comprobar el valor antes de ejecutar otra función de fbsql.

Parámetros

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

Valores devueltos

Returns the error text from the last fbsql function, or '' (the empty string) if no error occurred.

Ejemplos

Ejemplo #1 Ejemplo de fbsql_error()

<?php
fbsql_connect("marliesle");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
fbsql_select_db("nonexistentdb");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
$conn = fbsql_query("SELECT * FROM nonexistenttable;");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
?>

Ver también

  • fbsql_errno() - Devuelve el número de error de la última operación
  • fbsql_warnings() - Activa o desactiva los warnings de FrontBase

fbsql_errno
fbsql_fetch_array
Funciones de FrontBase


Obtiene una fila de resultados como array asociativo, array numérico, o ambos

fbsql_error
fbsql_fetch_assoc
Funciones de FrontBase
PHP Manual

fbsql_fetch_array

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_array — Obtiene una fila de resultados como array asociativo, array numérico, o ambos

Descripción

array fbsql_fetch_array ( resource $result [, int $result_type ] )

fbsql_fetch_array() es una combinación de
fbsql_fetch_row() y
fbsql_fetch_assoc().

Es importante saber que usar fbsql_fetch_array() NO es significativamente más lento que usar fbsql_fetch_row(), y además proporciona un reseñable valor añadido.

Parámetros

result

Un identificador de resultado devuelto por fbsql_query() o fbsql_db_query().

result_type

Una constante, que puede ser uno de los siguientes valores: FBSQL_ASSOC, FBSQL_NUM, or FBSQL_BOTH.

Usando FBSQL_BOTH, además de almacenar los datos en índices numéricos del array resultante, también los almacena en índices asociativos, usando como clave el nombre del campo.

Valores devueltos

Devuelve un array que corresponde a la fila obtenida, o FALSE si no quedan más filas.

Si hay dos o más columnas del resultado con los mismos nombres de campo, la última columna tendrá prioridad. Para acceder a la otra(s) columna(s) con el mismo nombre será necesario utilizar el índice numérico, o bien hacer un alias para la(s) columna(s).

select t1.f1 as foo t2.f1 as bar from t1, t2

Ejemplos

Ejemplo #1 Ejemplo de fbsql_fetch_array()

<?php
fbsql_connect($host, $user, $password);
$result = fbsql_db_query("database", "select user_id, fullname from table");
while ($row = fbsql_fetch_array($result)) {
    echo "user_id: " . $row["user_id"] . "<br />\n";
    echo "user_id: " . $row[0] . "<br />\n";
    echo "fullname: " . $row["fullname"] . "<br />\n";
    echo "fullname: " . $row[1] . "<br />\n";
}
fbsql_free_result($result);
?>

Ver también

  • fbsql_fetch_row() - Obtiene una fila de resultados como array enumerado
  • fbsql_fetch_assoc() - Obtiene una fila de resultados como array asociativo
  • fbsql_fetch_object() - Obtiene una fila de resultados como objeto

fbsql_error
fbsql_fetch_assoc
Funciones de FrontBase


Obtiene una fila de resultados como array asociativo

fbsql_fetch_array
fbsql_fetch_field
Funciones de FrontBase
PHP Manual

fbsql_fetch_assoc

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_assoc — Obtiene una fila de resultados como array asociativo

Descripción

array fbsql_fetch_assoc ( resource $result )

Llamar a fbsql_fetch_assoc() es equivalente a hacerlo a fbsql_fetch_array() con FBSQL_ASSOC como segundo parámetro. Sólo devuelve un array asociativo.

fbsql_fetch_array() funcionaba originalmente así. Si se necesitan índices numéricos además de los asociativos, , se puede usar fbsql_fetch_array().

Es importante saber que usar fbsql_fetch_assoc() NO es significativamente más lento que usar fbsql_fetch_row(), y además proporciona un reseñable valor añadido.

Parámetros

result

Un identificador de resultado devuelto por fbsql_query() o fbsql_db_query().

Valores devueltos

Devuelve un array que corresponde a la fila obtenida, o FALSE si no quedan más filas.

Si hay dos o más columnas del resultado con los mismos nombres de campo, la última columna tendrá prioridad. Para acceder a la otra(s) columna(s) con el mismo nombre será necesario utilizar fbsql_fetch_array() y hacer que devuelva también los índices numéricos.

Ejemplos

Ejemplo #1 fbsql_fetch_assoc() example

<?php
fbsql_connect($host, $user, $password);
$result = fbsql_db_query("database", "select * from table");
while ($row = fbsql_fetch_assoc($result)) {
    echo $row["user_id"];
    echo $row["fullname"];
}
fbsql_free_result($result);
?>

Ver también

  • fbsql_fetch_row() - Obtiene una fila de resultados como array enumerado
  • fbsql_fetch_array() - Obtiene una fila de resultados como array asociativo, array numérico, o ambos
  • fbsql_fetch_object() - Obtiene una fila de resultados como objeto

fbsql_fetch_array
fbsql_fetch_field
Funciones de FrontBase


Obtiene información de columnas de un resultado y la devuelve como objeto

fbsql_fetch_assoc
fbsql_fetch_lengths
Funciones de FrontBase
PHP Manual

fbsql_fetch_field

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_field — Obtiene información de columnas de un resultado y la devuelve como objeto

Descripción

object fbsql_fetch_field ( resource $result [, int $field_offset ] )

Usada para obtener información acerca de los campos en un resultado de consulta determinado.

Parámetros

result

Un identificador de resultado devuelto por fbsql_query() o fbsql_db_query().

field_offset

El offset numerico del campo. El índice de campos empieza en 0. Si no se especifica, se obtiene el siguiente campo que todavía no haya sido obtenido fbsql_fetch_field().

Valores devueltos

Devuelve un objeto conteniendo la información del campo, o FALSE en caso de error.

Las propiedades de los objetos son:

  • name - nombre de la columna
  • table - nombre de la tabla a la que pertenece la columna
  • max_length - longitud máxima de la columna
  • not_null - 1 si la columna no puede ser NULL
  • type - el tipo de dato de la columna

Ejemplos

Ejemplo #1 Ejemplo de fbsql_fetch_field()

<?php
fbsql_connect($host, $user, $password)
    or die("No se puede conectar");
$result = fbsql_db_query("database", "select * from table")
    or die("Consulta fallida");
// Obtiene los metadatos de la columna
$i = 0;
while ($i < fbsql_num_fields($result)) {
    echo "Información para la columna $i:<br />\n";
    $meta = fbsql_fetch_field($result);
    if (!$meta) {
        echo "No hay información disponible<br />\n";
    }
    echo "<pre>
max_length:   $meta->max_length
name:         $meta->name
not_null:     $meta->not_null
table:        $meta->table
type:         $meta->type
</pre>";
    $i++;
}
fbsql_free_result($result);
?>

Ver también

  • fbsql_field_seek() - Mueve el puntero interno de resultado al campo con la posición especificada

fbsql_fetch_assoc
fbsql_fetch_lengths
Funciones de FrontBase


Obtiene la longitud de cada salida en un resultado

fbsql_fetch_field
fbsql_fetch_object
Funciones de FrontBase
PHP Manual

fbsql_fetch_lengths

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_lengths — Obtiene la longitud de cada salida en un resultado

Descripción

array fbsql_fetch_lengths ( resource $result )

Almacena en un array las longitudes de cada columna de resultado,
de la última fila devuelta por
 fbsql_fetch_row(),
 fbsql_fetch_array() y
 fbsql_fetch_object().

Parámetros

result

Un identificador de resultado devuelto por fbsql_query() o fbsql_db_query().

Valores devueltos

Devuelve un array (desde offset 0) que corresponde a las longitudes de cada campo en la última fila obtenida por fbsql_fetch_row(), o FALSE en caso de error.

Ver también

  • fbsql_fetch_row() - Obtiene una fila de resultados como array enumerado

fbsql_fetch_field
fbsql_fetch_object
Funciones de FrontBase


Obtiene una fila de resultados como objeto

fbsql_fetch_lengths
fbsql_fetch_row
Funciones de FrontBase
PHP Manual

fbsql_fetch_object

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_object — Obtiene una fila de resultados como objeto

Descripción

object fbsql_fetch_object ( resource $result )

fbsql_fetch_object() es similar a fbsql_fetch_array(), con una diferencia, se devuelve un objeto en lugar de un array. Indirectamente, eso significa que solo se puede acceder a los datos mediante el nombre del campo, y no por sus offsets (no se aceptan los números como nombres de un atributo de un objeto).

En lo relativo a la velocidad, esta función es idéntica a fbsql_fetch_array(), y prácticamente tan rápida como fbsql_fetch_row() (la diferencia es insignificante).

Parámetros

result

Un identificador de resultado devuelto por fbsql_query() o fbsql_db_query().

Valores devueltos

Devuelve un objeto cuyos atributos corresponden a la fila obtenida, o FALSE si no quedan más filas.

Ejemplos

Ejemplo #1 Ejemplo de fbsql_fetch_object()

<?php
fbsql_connect($host, $user, $password);
$result = fbsql_db_query("database", "select * from table");
while ($row = fbsql_fetch_object($result)) {
    echo $row->user_id;
    echo $row->fullname;
}
fbsql_free_result($result);
?>

Ver también

  • fbsql_fetch_array() - Obtiene una fila de resultados como array asociativo, array numérico, o ambos
  • fbsql_fetch_row() - Obtiene una fila de resultados como array enumerado
  • fbsql_fetch_assoc() - Obtiene una fila de resultados como array asociativo

fbsql_fetch_lengths
fbsql_fetch_row
Funciones de FrontBase


Obtiene una fila de resultados como array enumerado

fbsql_fetch_object
fbsql_field_flags
Funciones de FrontBase
PHP Manual

fbsql_fetch_row

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_row — Obtiene una fila de resultados como array enumerado

Descripción

array fbsql_fetch_row ( resource $result )

fbsql_fetch_row() obtiene una fila de datos del resultado asociado con el identificador de resultado especificado.

Las siguientes llamadas a fbsql_fetch_row() devolverán la siguiente fila en el resultset, o FALSE si no hay más filas.

Parámetros

result

Un identificador de resultado devuelto por fbsql_query() o fbsql_db_query().

Valores devueltos

Devuelve el array que corresponde a la fila obtenida, donde cada columna se guarda en un offset (comenzando desde 0), o FALSE si no hay más filas.

Ver también

  • fbsql_fetch_array() - Obtiene una fila de resultados como array asociativo, array numérico, o ambos
  • fbsql_fetch_assoc() - Obtiene una fila de resultados como array asociativo
  • fbsql_fetch_object() - Obtiene una fila de resultados como objeto
  • fbsql_data_seek() - Mueve el puntero interno de resultado
  • fbsql_fetch_lengths() - Obtiene la longitud de cada salida en un resultado
  • fbsql_result() - Obtiene los datos de resultado

fbsql_fetch_object
fbsql_field_flags
Funciones de FrontBase


Obtiene los flags de un campo especificado en un resultado

fbsql_fetch_row
fbsql_field_len
Funciones de FrontBase
PHP Manual

fbsql_field_flags

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_flags — Obtiene los flags de un campo especificado en un resultado

Descripción

string fbsql_field_flags ( resource $result [, int $field_offset ] )

Obtiene los flags del campo especificado en un resultado.

Parámetros

result

Un puntero a un resultado devuelto por fbsql_list_fields().

field_offset

El offset numérico del campo. El índice de campos comienza en 0.0.

Valores devueltos

Devuelve los flags del campo especificado en una cadena, una palabra por flag separada por un espacio, de forma que se pueden separar usando a función explode().

fbsql_fetch_row
fbsql_field_len
Funciones de FrontBase


Devuleve la longitud de un campo especificado

fbsql_field_flags
fbsql_field_name
Funciones de FrontBase
PHP Manual

fbsql_field_len

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_len — Devuleve la longitud de un campo especificado

Descripción

int fbsql_field_len ( resource $result [, int $field_offset ] )

Devuelve la longitud del campo especificado.

Parámetros

result

Un puntero a resultado, devuelto por fbsql_list_fields().

field_offset

El offset del campo. El índice de campos comienza en 0.

Valores devueltos

Devuelve la longitud de campo especificado.

fbsql_field_flags
fbsql_field_name
Funciones de FrontBase


Obtiene el nombre de un campo especificado en un resultado

fbsql_field_len
fbsql_field_seek
Funciones de FrontBase
PHP Manual

fbsql_field_name

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_name — Obtiene el nombre de un campo especificado en un resultado

Descripción

string fbsql_field_name ( resource $result [, int $field_index ] )

Devuelve el nombre del campo en la posición especificada.

Parámetros

result

Un puntero a resultado, devuelto por fbsql_list_fields().

field_index

El offset del campo. El índice de campos comienza en 0.

Valores devueltos

Devuelve el nombre como una cadena, o FALSE si el campo no existe.

Ejemplos

Ejemplo #1 Ejemplo de fbsql_field_name()

<?php
// La tabla usuarios consiste en tres campos:
//   user_id
//   username
//   password.

$res = fbsql_db_query("users", "select * from users", $link);

echo fbsql_field_name($res, 0) . "\n";
echo fbsql_field_name($res, 2);
?>

El resultado del ejemplo sería:

user_id
password

Ver también

  • fbsql_field_type() - Obtiene el tipo de campo especificado en un resultado

fbsql_field_len
fbsql_field_seek
Funciones de FrontBase


Mueve el puntero interno de resultado al campo con la posición especificada

fbsql_field_name
fbsql_field_table
Funciones de FrontBase
PHP Manual

fbsql_field_seek

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_seek — Mueve el puntero interno de resultado al campo con la posición especificada

Descripción

bool fbsql_field_seek ( resource $result [, int $field_offset ] )

Busca la posición (offset) de campo espcificada. Si la siguiente llamada a fbsql_fetch_field() no incluye un offset de campo, se devolverá la del campo cuyo offset se definiese mediante fbsql_field_seek().

Parámetros

result

Un identificador de resultado devuelto por fbsql_query() o fbsql_db_query().

field_offset

La posición numérica del campo. El índice comienza por 0.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • fbsql_fetch_field() - Obtiene información de columnas de un resultado y la devuelve como objeto

fbsql_field_name
fbsql_field_table
Funciones de FrontBase


Obtiene el nombre de la tabla donde se encuentra el campo especificado

fbsql_field_seek
fbsql_field_type
Funciones de FrontBase
PHP Manual

fbsql_field_table

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_table — Obtiene el nombre de la tabla donde se encuentra el campo especificado

Descripción

string fbsql_field_table ( resource $result [, int $field_offset ] )

Devuelve el nombre de la tabla donde se encuentra el campo especificado.

Parámetros

result

Un identificador de resultado devuelto por fbsql_query() o fbsql_db_query().

field_offset

La posición (offset) del campo. El índice comienza por 0.

Valores devueltos

Devuelve el nombre de la tabla, como un string.

fbsql_field_seek
fbsql_field_type
Funciones de FrontBase


Obtiene el tipo de campo especificado en un resultado

fbsql_field_table
fbsql_free_result
Funciones de FrontBase
PHP Manual

fbsql_field_type

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_type — Obtiene el tipo de campo especificado en un resultado

Descripción

string fbsql_field_type ( resource $result [, int $field_offset ] )

fbsql_field_type() es similar a la función fbsql_field_name(), pero se devuelve el tipo de campo en su lugar.

Parámetros

result

Un identificador de resultado devuelto por fbsql_query() o fbsql_db_query().

field_offset

La posición numérica (offset) del campo. El índice comienza por 0.

Valores devueltos

Devuelve el tipo de campo, como string.

Puede ser: int, real, string, blob, además de otras, como se detalla en la » documentación de FrontBase.

Ejemplos

Ejemplo #1 Ejemplo de fbsql_field_type()

<?php

fbsql_connect("localhost", "_SYSTEM", "");
fbsql_select_db("wisconsin");
$result = fbsql_query("SELECT * FROM onek;");
$fields = fbsql_num_fields($result);
$rows   = fbsql_num_rows($result);
$i = 0;
$table = fbsql_field_table($result, $i);
echo "La tabla '" . $table . "' tiene " . $fields . " campos y " . $rows . " registros <br />";
echo "La tabla tiene los siguientes campos: <br />";
while ($i < $fields) {
    $type  = fbsql_field_type($result, $i);
    $name  = fbsql_field_name($result, $i);
    $len   = fbsql_field_len($result, $i);
    $flags = fbsql_field_flags($result, $i);
    echo $type . " " . $name . " " . $len . " " . $flags . "<br />";
    $i++;
}
fbsql_close();

?>

Ver también

  • fbsql_field_name() - Obtiene el nombre de un campo especificado en un resultado

fbsql_field_table
fbsql_free_result
Funciones de FrontBase


Libera la memoria de resultados

fbsql_field_type
fbsql_get_autostart_info
Funciones de FrontBase
PHP Manual

fbsql_free_result

(PHP 4 >= 4.0.6, PHP 5)

fbsql_free_result — Libera la memoria de resultados

Descripción

bool fbsql_free_result ( resource $result )

Libera toda la memoria asociada al identificador de result recibido como parámetro.

Solo es necesario llamar fbsql_free_result() si se está preocupado sobre cuánta memoria se está usando en consultas que devuelven result-sets grandes. Toda la memoria de resultado a asociada se libera de forma automática al final de la ejecución del script.

Parámetros

result

Un identificador de resultado devuelto por fbsql_query() o fbsql_db_query().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

fbsql_field_type
fbsql_get_autostart_info
Funciones de FrontBase


fbsql_free_result
fbsql_hostname
Funciones de FrontBase
PHP Manual

fbsql_get_autostart_info

(PHP 4 >= 4.0.7, PHP 5)

fbsql_get_autostart_info —

Descripción

array fbsql_get_autostart_info ([ resource $link_identifier ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

fbsql_free_result
fbsql_hostname
Funciones de FrontBase


Obtiene o establece el nombre host de una conexión

fbsql_get_autostart_info
fbsql_insert_id
Funciones de FrontBase
PHP Manual

fbsql_hostname

(PHP 4 >= 4.0.6, PHP 5)

fbsql_hostname — Obtiene o establece el nombre host de una conexión

Descripción

string fbsql_hostname ( resource $link_identifier [, string $host_name ] )

Obtiene o establece el nombre host de una conexión.

Parámetros

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

host_name

Si se recibe, se establecerá como nuevo nombre de host de la conexión.

Valores devueltos

Devuelve el nombre de host actual de la conexión.

Ver también

  • fbsql_username() - Obtiene o asigna el nombre de usuario de la conexión
  • fbsql_password() - Obtiene o asigna el password usado en una conexión

fbsql_get_autostart_info
fbsql_insert_id
Funciones de FrontBase


Obtiene el valor id generado por la anterior operación INSERT

fbsql_hostname
fbsql_list_dbs
Funciones de FrontBase
PHP Manual

fbsql_insert_id

(PHP 4 >= 4.0.6, PHP 5)

fbsql_insert_id — Obtiene el valor id generado por la anterior operación INSERT

Descripción

int fbsql_insert_id ([ resource $link_identifier ] )

Obtiene el id generado por la anterior operación INSERT que haya creado un valor DEFAULT UNIQUE.

Nota:

El valor de la función SQL FrontBase fbsql_insert_id() siempre contiene el valor DEFAULT UNIQUE generado más recientemente, y no se reinicia entre consultas.

Parámetros

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

Valores devueltos

Devuelve el ID generado por la anterior consulta INSERT, o 0 si la consulta anterior no generó un valor DEFAULT UNIQUE.

Si se necesita guardar el valor para después, hay que asegurarse de llamar a esta función inmediatamente después de que la consulta que genera el valor.

Ver también

  • fbsql_affected_rows() - Obtiene el numero de filas afectadas en la anterior operación de FrontBase

fbsql_hostname
fbsql_list_dbs
Funciones de FrontBase


Lista las bases de datos disponibles en un servidor FrontBase

fbsql_insert_id
fbsql_list_fields
Funciones de FrontBase
PHP Manual

fbsql_list_dbs

(PHP 4 >= 4.0.6, PHP 5)

fbsql_list_dbs — Lista las bases de datos disponibles en un servidor FrontBase

Descripción

resource fbsql_list_dbs ([ resource $link_identifier ] )

Devuelve un puntero a resultado, conteniendo las bases de datos disponibles en el daemon fbsql. Use la función fbsql_tablename() para recorrer este puntero a resultado.

Parámetros

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

Valores devueltos

Devuelve un puntero a resultado, FALSE si hay error.

Ejemplos

Ejemplo #1 Ejemplo de fbsql_list_dbs()

<?php
$link = fbsql_connect('localhost', 'myname', 'secret');
$db_list = fbsql_list_dbs($link);

while ($row = fbsql_fetch_object($db_list)) {
    echo $row->Database . "\n";
}
?>

El resultado del ejemplo sería algo similar a:

database1
database2
database3
...

Nota:

El código anterior podría funcionar fácilmente con fbsql_fetch_row() u otras funciones similares.

Ver también

  • fbsql_list_fields() - Lista los campos de un resultado de FrontBase
  • fbsql_list_tables() - Lista las tablas de una base de datos FrontBase

fbsql_insert_id
fbsql_list_fields
Funciones de FrontBase


Lista los campos de un resultado de FrontBase

fbsql_list_dbs
fbsql_list_tables
Funciones de FrontBase
PHP Manual

fbsql_list_fields

(PHP 4 >= 4.0.6, PHP 5)

fbsql_list_fields — Lista los campos de un resultado de FrontBase

Descripción

resource fbsql_list_fields ( string $database_name , string $table_name [, resource $link_identifier ] )

Obtiene información acerca de la tabla especificada.

Parámetros

database_name

El nombre de la base de datos.

table_name

El nombre de la tabla.

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

Valores devueltos

Devuelve un puntero a resultado que puede usarse con las funciones fbsql_field_xxx , o FALSE si hay error.

Errores/Excepciones

Una cadena con la descripción del error se pondrá en $phperrmsg, y a menos que la función fuese llamada con @fbsql() , esta cadena de error también será mostrada.

Ejemplos

Ejemplo #1 fbsql_list_fields() example

<?php
$link = fbsql_connect('localhost', 'myname', 'secret');

$fields = fbsql_list_fields("database1", "table1", $link);
$columns = fbsql_num_fields($fields);

for ($i = 0; $i < $columns; $i++) {
    echo fbsql_field_name($fields, $i) . "\n";;
}
?>

El resultado del ejemplo sería algo similar a:

field1
field2
field3
...

Ver también

  • fbsql_field_len() - Devuleve la longitud de un campo especificado
  • fbsql_field_name() - Obtiene el nombre de un campo especificado en un resultado
  • fbsql_field_type() - Obtiene el tipo de campo especificado en un resultado
  • fbsql_field_flags() - Obtiene los flags de un campo especificado en un resultado

fbsql_list_dbs
fbsql_list_tables
Funciones de FrontBase


Lista las tablas de una base de datos FrontBase

fbsql_list_fields
fbsql_next_result
Funciones de FrontBase
PHP Manual

fbsql_list_tables

(PHP 4 >= 4.0.6, PHP 5)

fbsql_list_tables — Lista las tablas de una base de datos FrontBase

Descripción

resource fbsql_list_tables ( string $database [, resource $link_identifier ] )

Returns a result pointer describing the database.

Parámetros

database

El nombre de la base de datos.

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

Valores devueltos

Devuelve un puntero a resultado que puede usarse con la función fbsql_tablename() para leer los nombres de las tablas, o FALSE si hay error.

Ver también

  • fbsql_list_fields() - Lista los campos de un resultado de FrontBase
  • fbsql_list_dbs() - Lista las bases de datos disponibles en un servidor FrontBase

fbsql_list_fields
fbsql_next_result
Funciones de FrontBase


Mover el puntero del resultado interno por el resultado de al lado

fbsql_list_tables
fbsql_num_fields
Funciones de FrontBase
PHP Manual

fbsql_next_result

(PHP 4 >= 4.0.6, PHP 5)

fbsql_next_result — Mover el puntero del resultado interno por el resultado de al lado

Descripción

bool fbsql_next_result ( resource $result )

Al enviar más de una instrucción SQL a el servidor o ejecutar un procedimiento almacenado con varios resultados hará que el servidor retorne varios conjuntos de resultados. Esta función pondrá a prueba para obtener resultados adicionales disponible en el servidor. Si un conjunto de resultados adicionales que existe el resultado conjunto existente y prepararse para ir a buscar las palabras del nuevo conjunto de resultados.

Parámetros

result

Un identificador de resultado devuelto por fbsql_query() o fbsql_db_query().

Valores devueltos

Retorna TRUE si un conjunto de resultados esta disponible o FALSE de otro modo.

Ejemplos

Ejemplo #1 fbsql_next_result() ejemplo

<?php
$link = fbsql_connect("localhost", "_SYSTEM", "secret");
fbsql_select_db("MyDB", $link);
$SQL = "Select * from table1; select * from table2;";
$rs = fbsql_query($SQL, $link);
do {
    while ($row = fbsql_fetch_row($rs)) {
    }
} while (fbsql_next_result($rs));
fbsql_free_result($rs);
fbsql_close($link);
?>

fbsql_list_tables
fbsql_num_fields
Funciones de FrontBase


Obtener el número de campos del resultado

fbsql_next_result
fbsql_num_rows
Funciones de FrontBase
PHP Manual

fbsql_num_fields

(PHP 4 >= 4.0.6, PHP 5)

fbsql_num_fields — Obtener el número de campos del resultado

Descripción

int fbsql_num_fields ( resource $result )

Devuelve el número de campos del result set dado.

Parámetros

result

Un identificador de resultado devuelto por fbsql_query() o fbsql_db_query().

Valores devueltos

Devuelve el número de campos, como entero.

Ver también

  • fbsql_db_query() - Ejecuta una consulta a FrontBase
  • fbsql_query() - Realiza una consulta FrontBase
  • fbsql_fetch_field() - Obtiene información de columnas de un resultado y la devuelve como objeto
  • fbsql_num_rows() - Obtener el número de filas del resultado

fbsql_next_result
fbsql_num_rows
Funciones de FrontBase


Obtener el número de filas del resultado

fbsql_num_fields
fbsql_password
Funciones de FrontBase
PHP Manual

fbsql_num_rows

(PHP 4 >= 4.0.6, PHP 5)

fbsql_num_rows — Obtener el número de filas del resultado

Descripción

int fbsql_num_rows ( resource $result )

Obtiene el número de filas del result set dado.

Esta función solo es válida para SELECTs. Para obtener el número de filas devueltas por una consulta del tipo INSERT, UPDATE o DELETE, use fbsql_affected_rows().

Parámetros

result

Un identificador de resultado devuelto por fbsql_query() o fbsql_db_query().

Valores devueltos

Devuelve el número de filas devueltas por el último SELECT.

Ejemplos

Ejemplo #1 Ejemplo de fbsql_num_rows()

<?php

$link = fbsql_connect("localhost", "username", "password");
fbsql_select_db("database", $link);

$result = fbsql_query("SELECT * FROM table1;", $link);
$num_rows = fbsql_num_rows($result);

echo "$num_rows Filas\n";

?>

Ver también

  • fbsql_affected_rows() - Obtiene el numero de filas afectadas en la anterior operación de FrontBase
  • fbsql_connect() - Abre una conexión a un servidor FrontBase
  • fbsql_select_db() - Selecciona una base de datos FrontBase
  • fbsql_query() - Realiza una consulta FrontBase

fbsql_num_fields
fbsql_password
Funciones de FrontBase


Obtiene o asigna el password usado en una conexión

fbsql_num_rows
fbsql_pconnect
Funciones de FrontBase
PHP Manual

fbsql_password

(PHP 4 >= 4.0.6, PHP 5)

fbsql_password — Obtiene o asigna el password usado en una conexión

Descripción

string fbsql_password ( resource $link_identifier [, string $password ] )

Obtiene o asigna el password usado en una conexión.

Parámetros

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

password

Si se recibe, se asignará como password para la conexión.

Valores devueltos

Devuelve el password usado actualmente en la conexión.

Ver también

  • fbsql_username() - Obtiene o asigna el nombre de usuario de la conexión
  • fbsql_hostname() - Obtiene o establece el nombre host de una conexión

fbsql_num_rows
fbsql_pconnect
Funciones de FrontBase


Abrir una conexión persistente a un servidor FrontBase

fbsql_password
fbsql_query
Funciones de FrontBase
PHP Manual

fbsql_pconnect

(PHP 4 >= 4.0.6, PHP 5)

fbsql_pconnect — Abrir una conexión persistente a un servidor FrontBase

Descripción

 resource fbsql_pconnect
  ([ string $hostname = ini_get("fbsql.default_host")
 [, string $username = ini_get("fbsql.default_user")
 [, string $password = ini_get("fbsql.default_password")
]]] )

Establece una conexión persisten a un servidor FrontBase.

Para definir el número de puerto, use fbsql_select_db().

fbsql_pconnect() funciona de forma similar a fbsql_connect() con dos grandes diferencias:

Primero, al conectarse, la función tratará de encontrar un enlace (persistente) que ya esté abierto con el mismo host, usuario y contraseña. Si se encuentra uno, se devolverá un identificador en lugar de abrir una nueva conexión.

Segundo, la conexión con el servidor SQL no se cerrará al finalizar la ejecución del script. En su lugar, el enlace permanecerá abierto para su futuro uso.

Por esta razón este tipo de enlaces es llamado 'persistente'.

Parámetros

hostname

Nombre del servidor.

username

El nombre de usuario para la conexión.

password

El password para la conexión.

Valores devueltos

Devuelve un enlace persistente positivo FrontBase en caso de éxito, o FALSE en caso de error.

Ver también

  • fbsql_connect() - Abre una conexión a un servidor FrontBase

fbsql_password
fbsql_query
Funciones de FrontBase


Realiza una consulta FrontBase

fbsql_pconnect
fbsql_read_blob
Funciones de FrontBase
PHP Manual

fbsql_query

(PHP 4 >= 4.0.6, PHP 5)

fbsql_query — Realiza una consulta FrontBase

Descripción

resource fbsql_query ( string $query [, resource $link_identifier [, int $batch_size ]] )

Envia la query a la base de datos activa en el servidor.

Si la consulta tiene éxito, se puede llamar fbsql_num_rows() para saber cuantas filas se devolvieron para una instrucción SELECT, o fbsql_affected_rows() para saber cuantas filas se vieron afectadas por una instrucción DELETE, INSERT, REPLACE, o UPDATE.

Parámetros

query

La consulta SQL a ejecutar.

Nota:

La cadena de consulta debe acabar siempre con punto y coma.

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

batch_size

Valores devueltos

fbsql_query() devuelve TRUE (non-zero) o FALSE para indicar si la consulta tuvo éxito. Un valor devuelto TRUE implica que la consulta significa que la consulta es lícita y podría ser ejecutada por el servidor. No indica nada acerca del número de filas afectadas o devueltas. Es perfectamente posible que una consulta tenga éxito pero no devuelva o afecte ninguna fila.

Para instrucciones SELECT, fbsql_query() devuelve un nuevo identificador de resultado que se puede pasar a fbsql_result().

fbsql_query() también fallará y devolverá FALSE si no se tiene permiso para acceder a la(s) tabla(s) referidas por la consulta.

Ejemplos

La siguiente consulta es sintácticamente inválida, así que fbsql_query() falla y devuelve FALSE:

Ejemplo #1 Ejemplo fbsql_query()

<?php
$result = fbsql_query("SELECT * WHERE 1=1")
    or die ("Consulta inválida");
?>

La siguiente consulta es semánticamente inválida si my_col no es una columna de la tabla my_tbl, así que fbsql_query() falla y devuelve FALSE:

Ejemplo #2 Ejemplo fbsql_query()

<?php
$result = fbsql_query ("SELECT my_col FROM my_tbl;")
    or die ("Consulta inválida");
?>

Ver también

  • fbsql_affected_rows() - Obtiene el numero de filas afectadas en la anterior operación de FrontBase
  • fbsql_db_query() - Ejecuta una consulta a FrontBase
  • fbsql_free_result() - Libera la memoria de resultados
  • fbsql_result() - Obtiene los datos de resultado
  • fbsql_select_db() - Selecciona una base de datos FrontBase
  • fbsql_connect() - Abre una conexión a un servidor FrontBase

fbsql_pconnect
fbsql_read_blob
Funciones de FrontBase


Lee un BLOB de la base de datos

fbsql_query
fbsql_read_clob
Funciones de FrontBase
PHP Manual

fbsql_read_blob

(PHP 4 >= 4.2.0, PHP 5)

fbsql_read_blob — Lee un BLOB de la base de datos

Descripción

string fbsql_read_blob ( string $blob_handle [, resource $link_identifier ] )

Lee datos BLOB de la base de datos.

Si la consulta SELECT contiene columnas BLOB y/o CLOB, Frontbase los devolverá directamente cuando se recuperen los datos. Este funcionamiento por defecto puede cambiarse con fbsql_set_lob_mode() para que las funciones de recuperación devuelvan handles a los datos BLOB y CLOB. Si se recupera un handle, se deberá llamar a fbsql_read_blob() para obtener los datos BLOB de la base de datos.

Parámetros

blob_handle

Un handle BLOB, devuelto por fbsql_create_blob().

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

Valores devueltos

Devuelve una cadena conteniendo los datos BLOB especificados.

Ejemplos

Ejemplo #1 Ejemplo de fbsql_read_blob()

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("No se pudo conectar");
$sql = "SELECT BLOB_COLUMN FROM BLOB_TABLE;";
$rs = fbsql_query($sql, $link);
$row_data = fbsql_fetch_row($rs);
// $row_data[0] contendrá ahora los datos BLOB de la primera fila
fbsql_free_result($rs);

$rs = fbsql_query($sql, $link);
fbsql_set_lob_mode($rs, FBSQL_LOB_HANDLE);
$row_data = fbsql_fetch_row($rs);
// $row_data[0] contiene ahora un handle a los datos BLOB de la primera fila
$blob_data = fbsql_read_blob($row_data[0]);
fbsql_free_result($rs);

?>

Ver también

  • fbsql_create_blob() - Crea un BLOB
  • fbsql_read_clob() - Lee un CLOB de la base de datos
  • fbsql_set_lob_mode() - Asigna el modo de recuperación LOB para un set de resultados FrontBase

fbsql_query
fbsql_read_clob
Funciones de FrontBase


Lee un CLOB de la base de datos

fbsql_read_blob
fbsql_result
Funciones de FrontBase
PHP Manual

fbsql_read_clob

(PHP 4 >= 4.2.0, PHP 5)

fbsql_read_clob — Lee un CLOB de la base de datos

Descripción

string fbsql_read_clob ( string $clob_handle [, resource $link_identifier ] )

Lee datos CLOB de la base de datos.

Si la consulta SELECT contiene columnas BLOB y/o CLOB, Frontbase los devolverá directamente cuando se recuperen los datos. Este funcionamiento por defecto puede cambiarse con fbsql_set_lob_mode() para que las funciones de recuperación devuelvan handles a los datos BLOB y CLOB. Si se recupera un handle, se deberá llamar a fbsql_read_clob() para obtener los datos CLOB de la base de datos.

Parámetros

clob_handle

Un handle CLOB, devuelto por fbsql_create_clob().

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

Valores devueltos

Devuelve una cadena conteniendo los datos CLOB especificados.

Ejemplos

Ejemplo #1 Ejemplo de fbsql_read_clob()

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("No se pudo conectar");
$sql = "SELECT CLOB_COLUMN FROM CLOB_TABLE;";
$rs = fbsql_query($sql, $link);
$row_data = fbsql_fetch_row($rs);
// $row_data[0] contendrá ahora los datos CLOB de la primera fila
fbsql_free_result($rs);

$rs = fbsql_query($sql, $link);
fbsql_set_lob_mode($rs, FBSQL_LOB_HANDLE);
$row_data = fbsql_fetch_row($rs);
// $row_data[0] contiene ahora un handle a los datos CLOB de la primera fila
$clob_data = fbsql_read_clob($row_data[0]);
fbsql_free_result($rs);

?>

Ver también

  • fbsql_create_clob() - Crea un CLOB
  • fbsql_read_blob() - Lee un BLOB de la base de datos
  • fbsql_set_lob_mode() - Asigna el modo de recuperación LOB para un set de resultados FrontBase

fbsql_read_blob
fbsql_result
Funciones de FrontBase


Obtiene los datos de resultado

fbsql_read_clob
fbsql_rollback
Funciones de FrontBase
PHP Manual

fbsql_result

(PHP 4 >= 4.0.6, PHP 5)

fbsql_result — Obtiene los datos de resultado

Descripción

mixed fbsql_result ( resource $result [, int $row [, mixed $field ]] )

Devuelve el contenido de una celda de un set de result FrontBase .

Si se trabaja con sets de resultados grandes, se debería considerar usar una de las funciones que obtienen una fila completa (especificadas más abajo). Como estas funciones devuelve los contenidos de múltiples celdas en una sola llamada, son MUCHO más rápidas que fbsql_result().

Las llamadas a fbsql_result() no deberían mezclarse con llamadas a otras funciones que trabajan con el set de resultados.

Parámetros

result

Un identificador de resultado devuelto por fbsql_query() o fbsql_db_query().

row

field

Puede ser la posición o el nombre del campo, o el nombre de la tabla punto nombre del campo (nombredetabla.nombredelcampo).

Si se ha creado un alias para la columna ('select foo as bar from...'), use el alias en lugar del nombre de la columna.

Nota:

Especificar una posición numérica como argumento es mucho más rápido que especificando un argumento como nombre de campo o nombredetabla.nombredecampo.

Valores devueltos

Ver también

Alternativas de alto rendimiento:

  • fbsql_fetch_row() - Obtiene una fila de resultados como array enumerado
  • fbsql_fetch_array() - Obtiene una fila de resultados como array asociativo, array numérico, o ambos
  • fbsql_fetch_assoc() - Obtiene una fila de resultados como array asociativo
  • fbsql_fetch_object() - Obtiene una fila de resultados como objeto

fbsql_read_clob
fbsql_rollback
Funciones de FrontBase


Retrocede una transacción a la base de datos

fbsql_result
fbsql_rows_fetched
Funciones de FrontBase
PHP Manual

fbsql_rollback

(PHP 4 >= 4.0.6, PHP 5)

fbsql_rollback — Retrocede una transacción a la base de datos

Descripción

bool fbsql_rollback ([ resource $link_identifier ] )

Finaliza la transacción actual retrocediendo todas las sentencias emitidas desde el último commit.

Este comando solo se necesita si autocommit está asignado a false.

Parámetros

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • fbsql_autocommit() - Activa o desactiva el autocommit
  • fbsql_commit() - Ejecuta un commit de la transacción sobre la base de datos

fbsql_result
fbsql_rows_fetched
Funciones de FrontBase


Obtiene el número de filas afectadas por la última consulta

fbsql_rollback
fbsql_select_db
Funciones de FrontBase
PHP Manual

fbsql_rows_fetched

(PHP 5 >= 5.1.0)

fbsql_rows_fetched — Obtiene el número de filas afectadas por la última consulta

Descripción

int fbsql_rows_fetched ( resource $result )

Obtiene el número de filas afectadas por la última consulta.

Parámetros

result

Un identificador de resultado devuelto por fbsql_query() o fbsql_db_query().

Valores devueltos

Devuelve el número de filas, como entero.

fbsql_rollback
fbsql_select_db
Funciones de FrontBase


Selecciona una base de datos FrontBase

fbsql_rows_fetched
fbsql_set_characterset
Funciones de FrontBase
PHP Manual

fbsql_select_db

(PHP 4 >= 4.0.6, PHP 5)

fbsql_select_db — Selecciona una base de datos FrontBase

Descripción

bool fbsql_select_db ([ string $database_name [, resource $link_identifier ]] )

Asigna la base de datos activa para el identificador de enlace especificado.

El cliente contacta con FBExec para obtener el puerto a usar con la conexión a la base de datos. Si en el nombre de la base de datos se especifica un número, este se usará como puerto y no se consultará FBExec para obtener el puerto. El servidor FrontBase server puede iniciarse como FRontBase -FBExec=No -port=<port number> <database name>.

Every subsequent call to fbsql_query() will be made on the active database.

Parámetros

database_name

El nombre de la base de datos a seleccionar.

Si la base de datos está protegida con contraseña, se tendrá que llamar a fbsql_database_password() antes de seleccionar esta base de datos.

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • fbsql_connect() - Abre una conexión a un servidor FrontBase
  • fbsql_pconnect() - Abrir una conexión persistente a un servidor FrontBase
  • fbsql_database_password() - Asigna o recupera el password de una base de datos FrontBase
  • fbsql_query() - Realiza una consulta FrontBase

fbsql_rows_fetched
fbsql_set_characterset
Funciones de FrontBase


Cambia el juego de caracteres de entrada/salida

fbsql_select_db
fbsql_set_lob_mode
Funciones de FrontBase
PHP Manual

fbsql_set_characterset

(PHP 5 >= 5.1.0)

fbsql_set_characterset — Cambia el juego de caracteres de entrada/salida

Descripción

void fbsql_set_characterset ( resource $link_identifier , int $characterset [, int $in_out_both ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

No devuelve ningún valor.

fbsql_select_db
fbsql_set_lob_mode
Funciones de FrontBase


Asigna el modo de recuperación LOB para un set de resultados FrontBase

fbsql_set_characterset
fbsql_set_password
Funciones de FrontBase
PHP Manual

fbsql_set_lob_mode

(PHP 4 >= 4.2.0, PHP 5)

fbsql_set_lob_mode — Asigna el modo de recuperación LOB para un set de resultados FrontBase

Descripción

bool fbsql_set_lob_mode ( resource $result , int $lob_mode )

Asigna el modo para la recuperación de datos LOB de una base de datos.

Cuando se recuperan datos BLOB y CLOB en FrontBase puede hacerse de forma directa o indirecta. Los datos LOB recuperados directamente se recuperarán siempre sin importar la configuración del modo lob. Si los datos LOB son menores de 512 bytes siempre se recuperarán de forma directa.

Parámetros

result

Un identificador de resultado devuelto por fbsql_query() o fbsql_db_query().

lob_mode

Can be one of:

  • FBSQL_LOB_DIRECT - Los datos LOB se recuperan directamente. Cuando se obtienen datos de una base de datos con fbsql_fetch_row(), y otras funciones de obtención, todas las columnas CLOB y BLOB serán devueltas como columnas comunes. Este es el valor por defecto para cualquier nuevo resultado de FrontBase.
  • FBSQL_LOB_HANDLE - Los datos LOB se recuperan como handles a los datos. Cuando se obtienen datos de una base de datos con fbsql_fetch_row(), y otras funciones de obtención, los datos LOB se devolverán como un handle a los datos si los datos están almacenados indirectamente o los datos si están almacenados directamente. Si se devuelve un handle, será una cadena de a 27 bytes formateada como @'000000000000000000000000'.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • fbsql_create_blob() - Crea un BLOB
  • fbsql_create_clob() - Crea un CLOB
  • fbsql_read_blob() - Lee un BLOB de la base de datos
  • fbsql_read_clob() - Lee un CLOB de la base de datos

fbsql_set_characterset
fbsql_set_password
Funciones de FrontBase


Cambia la contraseña para el usuario especificado

fbsql_set_lob_mode
fbsql_set_transaction
Funciones de FrontBase
PHP Manual

fbsql_set_password

(PHP 5)

fbsql_set_password — Cambia la contraseña para el usuario especificado

Descripción

bool fbsql_set_password ( resource $link_identifier , string $user , string $password , string $old_password )

Cambia la contraseña para el user especificado.

Parámetros

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

user

El nombre de usuario.

password

La nueva contraseña a asignar.

old_password

La antigua contraseña a sustituir.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

fbsql_set_lob_mode
fbsql_set_transaction
Funciones de FrontBase


Asigna el bloqueo y aislamiento de la transacción

fbsql_set_password
fbsql_start_db
Funciones de FrontBase
PHP Manual

fbsql_set_transaction

(PHP 4 >= 4.2.0, PHP 5)

fbsql_set_transaction — Asigna el bloqueo y aislamiento de la transacción

Descripción

void fbsql_set_transaction ( resource $link_identifier , int $locking , int $isolation )

Asigna el locking y isolation de la transacción.

Parámetros

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

locking

El tipo de bloqueo a establecer. Puede ser una de las siguientes constantes: FBSQL_LOCK_DEFERRED, FBSQL_LOCK_OPTIMISTIC, or FBSQL_LOCK_PESSIMISTIC.

isolation

El tipo de aislamiento a establecer. Puede ser una de las siguientes constantes: FBSQL_ISO_READ_UNCOMMITTED, FBSQL_ISO_READ_COMMITTED, FBSQL_ISO_REPEATABLE_READ, FBSQL_ISO_SERIALIZABLE, or FBSQL_ISO_VERSIONED.

Valores devueltos

No devuelve ningún valor.

fbsql_set_password
fbsql_start_db
Funciones de FrontBase


Inicia una base de datos en un servidor local o remoto

fbsql_set_transaction
fbsql_stop_db
Funciones de FrontBase
PHP Manual

fbsql_start_db

(PHP 4 >= 4.0.6, PHP 5)

fbsql_start_db — Inicia una base de datos en un servidor local o remoto

Descripción

bool fbsql_start_db ( string $database_name [, resource $link_identifier [, string $database_options ]] )

Inicia la base de datos en un servidor local o remoto.

Parámetros

database_name

El nombre de la base de datos.

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

database_options

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • fbsql_db_status() - Obtiene el estado de una base de datos dada
  • fbsql_stop_db() - Detiene una base de datos en un servidor local o remoto

fbsql_set_transaction
fbsql_stop_db
Funciones de FrontBase


Detiene una base de datos en un servidor local o remoto

fbsql_start_db
fbsql_table_name
Funciones de FrontBase
PHP Manual

fbsql_stop_db

(PHP 4 >= 4.0.6, PHP 5)

fbsql_stop_db — Detiene una base de datos en un servidor local o remoto

Descripción

bool fbsql_stop_db ( string $database_name [, resource $link_identifier ] )

Detiene una base de datos en un servidor local o remoto.

Parámetros

database_name

El nombre de la base de datos.

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • fbsql_db_status() - Obtiene el estado de una base de datos dada
  • fbsql_start_db() - Inicia una base de datos en un servidor local o remoto

fbsql_start_db
fbsql_table_name
Funciones de FrontBase


Obtiene el nombre de una tabla

fbsql_stop_db
fbsql_tablename
Funciones de FrontBase
PHP Manual

fbsql_table_name

(PHP 4 >= 4.2.0, PHP 5)

fbsql_table_name — Obtiene el nombre de una tabla

Descripción

string fbsql_table_name ( resource $result , int $index )

fbsql_table_name() obtiene el nombre de la tabla actual para el result set especificado.

La función fbsql_num_rows() puede usarse para determinar el número de tablas en el puntero a resultado.

Parámetros

result

Un puntero a resultado devuelto por fbsql_list_tables().

index

Un integer indicando el índice de la tabla actual.

Valores devueltos

Devuelve el nombre de la tabla, como una cadena.

Ejemplos

Ejemplo #1 Ejemplo de fbsql_table_name()

<?php
fbsql_connect("localhost", "_SYSTEM", "");
$result = fbsql_list_tables("wisconsin");
$i = 0;
while ($i < fbsql_num_rows($result)) {
    $tb_names[$i] = fbsql_table_name($result, $i);
    echo $tb_names[$i] . "<br />";
    $i++;
}
?>

fbsql_stop_db
fbsql_tablename
Funciones de FrontBase


Alias de fbsql_table_name

fbsql_table_name
fbsql_username
Funciones de FrontBase
PHP Manual

fbsql_tablename

(PHP 4 >= 4.2.0, PHP 5)

fbsql_tablename — Alias de fbsql_table_name()

Descripción

Esta función es un alias de: fbsql_table_name().

fbsql_table_name
fbsql_username
Funciones de FrontBase


Obtiene o asigna el nombre de usuario de la conexión

fbsql_tablename
fbsql_warnings
Funciones de FrontBase
PHP Manual

fbsql_username

(PHP 4 >= 4.0.6, PHP 5)

fbsql_username — Obtiene o asigna el nombre de usuario de la conexión

Descripción

string fbsql_username ( resource $link_identifier [, string $username ] )

Obtiene o asigna el nombre de usuario usado en la conexión.

Parámetros

link_identifier

Un identificador de enlace FrontBase devuelto por fbsql_connect() o fbsql_pconnect().

Es opcional y si no se especifica, la función intentará encontrar un enlace abierto al servidor FrontBase y de no encontrarse ningún enlace abierto intentará crear uno como si fbsql_connect() fuese invocada sin parámetros.

username

Si se recibe, el nuevo nombre de usuario que se asignará.

Valores devueltos

Devuelve el nombre de usuario usado actualmente en la conexión, como cadena.

Ver también

  • fbsql_password() - Obtiene o asigna el password usado en una conexión
  • fbsql_hostname() - Obtiene o establece el nombre host de una conexión

fbsql_tablename
fbsql_warnings
Funciones de FrontBase


Activa o desactiva los warnings de FrontBase

fbsql_username
IBM DB2
Funciones de FrontBase
PHP Manual

fbsql_warnings

(PHP 4 >= 4.0.6, PHP 5)

fbsql_warnings — Activa o desactiva los warnings de FrontBase

Descripción

bool fbsql_warnings ([ bool $OnOff ] )

Activa o desactiva los warnings de FrontBase.

Parámetros

OnOff

Activar o desactivar los warnings.

Valores devueltos

Devuelve TRUE si los warnings están activados, o FALSE en caso contrario.

Ver también

  • fbsql_errno() - Devuelve el número de error de la última operación
  • fbsql_error() - Devuelve el mensaje de error de la última operación

fbsql_username
IBM DB2
Funciones de FrontBase


IBM DB2, Cloudscape y Apache Derby

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de IBM DB2
    • db2_autocommit — Devuelve o establece el estado de AUTOCOMMIT en una conexión de bases de datos
    • db2_bind_param — Vincula una variable PHP a un parámetro de una sentencia SQL
    • db2_client_info — Devuelve un objeto cuyas propiedades describen cliente de una base de datos DB2
    • db2_close — Cierra una conexión a base de datos
    • db2_column_privileges — Obtiene la lista de columnas y permisos asociados a una tabla
    • db2_columns — Devuelve los campos de una tabla y sus metadatos asociados.
    • db2_commit — Commits a transaction
    • db2_conn_error — Returns a string containing the SQLSTATE returned by the last connection attempt
    • db2_conn_errormsg — Returns the last connection error message and SQLCODE value
    • db2_connect — Returns a connection to a database
    • db2_cursor_type — Returns the cursor type used by a statement resource
    • db2_escape_string — Used to escape certain characters
    • db2_exec — Executes an SQL statement directly
    • db2_execute — Executes a prepared SQL statement
    • db2_fetch_array — Returns an array, indexed by column position, representing a row in a result set
    • db2_fetch_assoc — Returns an array, indexed by column name, representing a row in a result set
    • db2_fetch_both — Returns an array, indexed by both column name and position, representing a row in a result set
    • db2_fetch_object — Returns an object with properties representing columns in the fetched row
    • db2_fetch_row — Sets the result set pointer to the next row or requested row
    • db2_field_display_size — Returns the maximum number of bytes required to display a column
    • db2_field_name — Returns the name of the column in the result set
    • db2_field_num — Returns the position of the named column in a result set
    • db2_field_precision — Returns the precision of the indicated column in a result set
    • db2_field_scale — Returns the scale of the indicated column in a result set
    • db2_field_type — Returns the data type of the indicated column in a result set
    • db2_field_width — Returns the width of the current value of the indicated column in a result set
    • db2_foreign_keys — Returns a result set listing the foreign keys for a table
    • db2_free_result — Frees resources associated with a result set
    • db2_free_stmt — Frees resources associated with the indicated statement resource
    • db2_get_option — Retrieves an option value for a statement resource or a connection resource
    • db2_last_insert_id — Returns the auto generated ID of the last insert query that successfully executed on this connection
    • db2_lob_read — Gets a user defined size of LOB files with each invocation
    • db2_next_result — Requests the next result set from a stored procedure
    • db2_num_fields — Returns the number of fields contained in a result set
    • db2_num_rows — Returns the number of rows affected by an SQL statement
    • db2_pclose — Closes a persistent database connection
    • db2_pconnect — Returns a persistent connection to a database
    • db2_prepare — Prepara un comando SQL para su ejecución
    • db2_primary_keys — Returns a result set listing primary keys for a table
    • db2_procedure_columns — Returns a result set listing stored procedure parameters
    • db2_procedures — Returns a result set listing the stored procedures registered in a database
    • db2_result — Returns a single column from a row in the result set
    • db2_rollback — Rolls back a transaction
    • db2_server_info — Returns an object with properties that describe the DB2 database server
    • db2_set_option — Set options for connection or statement resources
    • db2_special_columns — Returns a result set listing the unique row identifier columns for a table
    • db2_statistics — Returns a result set listing the index and statistics for a table
    • db2_stmt_error — Returns a string containing the SQLSTATE returned by an SQL statement
    • db2_stmt_errormsg — Returns a string containing the last SQL statement error message
    • db2_table_privileges — Returns a result set listing the tables and associated privileges in a database
    • db2_tables — Returns a result set listing the tables and associated metadata in a database
fbsql_warnings
Introducción
Extensiones de bases de datos específicas del proveedor


Introducción

Estas funciones permiten acceder a la Base de datos Universal IBM DB2, IBM Cloudscape y Apache Derby usando la interfaz DB2 Call Level (DB2 CLI).

IBM DB2
Instalación/Configuración
IBM DB2


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
IBM DB2


Requerimientos

Para conectar a IBM DB2 Universal Database para Linux, Unix y Windows, o a IBM Cloudscape, o a Apache Derby, se debe instalar el cliente de IBM DB2 Universal Database en el mismo equipo en que se ejecuta PHP. Esta extensión se ha desarrollado y probado con DB2 Version 8.2.

Para conectar a IBM DB2 Universal Database en z/OS o iSeries, es necesario también IBM DB2 Connect o un software enrutador DRDA equivalente.

Requisitos en Linux y Unix

The user invoking the PHP executable or SAPI must specify the DB2 instance before accessing these functions. You can set the name of the DB2 instance in php.ini using the ibm_db2.instance_name configuration option, or you can source the DB2 instance profile before invoking the PHP executable.

If you created a DB2 instance named db2inst1 in /home/db2inst1/, for example, you can add the following line to php.ini:

ibm_db2.instance_name=db2inst1
If you do not set this option in php.ini, you must issue the following command to modify your environment variables to enable access to DB2:
bash$ source /home/db2inst1/sqllib/db2profile
To enable your PHP-enabled Web server to access these functions, you must either set the ibm_db2.instance_name configuration option in php.ini, or source the DB2 instance environment in your Web server start script (typically /etc/init.d/httpd or /etc/init.d/apache).

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Para construir la extensión ibm_db2, deben estar instaladas en el sistema tanto las cabeceras como las bibliotecas de desarrollo de aplicaciones DB2. DB2 no lo instala por omisión, por lo que se debe habilitar explícitamente en el instalador de DB2. Los ficheros de cabeceras vienen incluidos de forma gratuita en Cliente de Desarrollo de Aplicaciones DB2 de la » página de soporte de la Base de datos Universal IBM DB2.

Si se añadieran las cabeceras y bibliotecas de desarrollo de aplicaciones DB2 a un sistema Linux o Unix en el que DB2 ya estuviera instalado, será necesario ejecutar el comando db2iupdt -e para actualizar los enlaces simbólicos a las cabeceras y bibliotecas de la instancia DB2.

ibm_db2 es una extensión » PECL, por lo que se deben seguir las instrucciones de Instalación de extensiones PECL para instalar esta extensión en PHP. Debe ejecutarse el comando configure apuntando a la localización de las cabeceras y bibliotecas DB2 de la siguiente forma:

bash$ ./configure --with-IBM_DB2=/path/to/DB2
El comando configure apunta por omisión a /opt/IBM/db2/V8.1.

Nota: Nota para usuarios de IIS

Si desea usar el driver ibm_db2 con Microsoft Internet Information Server (IIS) es posible que sea necesario realizar los siguientes pasos:

  • Instalar DB2 con seguridad de sistema operativo extendidad
  • Añadir la ruta del binario PHP a la variable de entorno del sistema PATH (por omisión C:\php\).
  • Crear una nueva variable de entorno del sistema que contenga la ruta al fichero PHP.INI (por ejemplo: PHPRC = C:\php\).
  • Añadir IUSR_COMPUTERNAME al grupo DB2USERS.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de ibm_db2
Nombre | Por defecto | Cambiable | Registro de cambios
ibm_db2.binmode | "1" | PHP_INI_ALL |
ibm_db2.i5_all_pconnect | "0" | PHP_INI_SYSTEM | Disponible desde ibm_db2 1.6.5.
ibm_db2.i5_allow_commit | "0" | PHP_INI_SYSTEM | Disponible desde ibm_db2 1.4.9.
ibm_db2.i5_dbcs_alloc | "0" | PHP_INI_SYSTEM | Disponible desde ibm_db2 1.5.0.
ibm_db2.instance_name | NULL | PHP_INI_SYSTEM | Disponible desde ibm_db2 1.0.2.
ibm_db2.i5_ignore_userid | "0" | PHP_INI_SYSTEM | Disponible desde ibm_db2 1.8.0.

He aquí una breve explicación de las directivas de configuración.

ibm_db2.binmode integer

Esta opción controla el modo que se usará para convertir desde y hasta datos binarios en la aplicación PHP.

  • 1 (DB2_BINARY)

  • 2 (DB2_CONVERT)

  • 3 (DB2_PASSTHRU)

ibm_db2.i5_all_pconnect integer

Esta opción sobrescribe la apertura y cierre i5 db2_connect() dentro de PHP. Cuando ibm_db2.i5_all_pconnect = 1, todas las conexiones de db2 serán persistentes ( db2_pconnect()). En i5/OS, db2_pconnect() lo realiza significativamente mejor, empleando menos recurso de máquina que db2_connect(). Es un buen reemplazo de db2_connect() para invocar db2_pconnect() sin modificaciones del código fuente de PHP.

  • 0 db2_connect() apertura y cierre completo por omisión

  • 1 db2_connect() sobrescribe db2_pconnect() sólo en conexiones persistentes

ibm_db2.i5_allow_commit integer

Esta opción controla el modo de 'commit' (aplicar cambios) que se usa en conelciones de esquemas i5 en aplicaciones PHP.

  • 0 sin commit (vea i5_commit para sobrescribir)

  • 1 permite commit (vea i5_commit para sobrescribirlo)

ibm_db2.i5_dbcs_alloc integer

Esta opción controla la ubicación interna de esquemas ibm_db2 en buffers de columnas DBCS de gran tamaño.

  • 0 sin expandir su ubicación (vea i5_dbcs_alloc para sobrescribirlo)

  • 1 usa ubicaciones expandidas (vea i5_dbcs_alloc para sobrescribirlo)

ibm_db2.instance_name string

En sistemas Linux y Unix, esta opción declara el nombre de instancia que se utilizará para catalogar las conexiones a bases de datos. Si se estableciera un valor, sobrescribirá la variable de entorno DB2INSTANCE.

En sistemas operativos Windows, esta opción se ignora.

ibm_db2.i5_ignore_userid integer

Esta opción establece el id de usuario y la contraseña en i5 db2_(p)connect dentro de una aplicación PHP. Cuando ibm_db2.i5_ignore_userid = 1, todas las conexiones db2 establecen a null el id de usuario y la contraseña. De ese modo, las tareas de Apache usarán el perfil activo (NOBODY). Este perfil es útil sobre todo en páginas web sencillas basadas en DB2 que no necesiten cambiar perfiles, y por tanto se pueda evitar todo el consumo adicional del modo de servidor de tareas QSQSRVR adicionales. Es un remplazo conveiente de db2_(p)connect para asignar null en los valores de userid y password sin tener que modificar el fuente de PHP. Se puede usar junto con ibm_db2.i5_all_pconnect = 1.

  • 0 db2_(p)connect - conecta con el id de usuario y contraseña especificados

  • 1 db2_(p)connect - establece a null el id de usuario y contraseña de la conexión

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

La extensión ibm_db2 devuelve recursos de conexión, recursos de sentencias, y recursos de juegos de resultados.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

DB2_BINARY (integer)
Indica que los datos binarios se tienen que devolver tal cual. Este es el modo por omisión.
DB2_CONVERT (integer)
Indica que los datos binarios se tienen que codificar a hexadecimal y se devuelven en forma de string ASCII.
DB2_PASSTHRU (integer)
Indica que los datos binarios se tienen que convertir al valor NULL.
DB2_SCROLLABLE (integer)
Especifica un cursor trasladable en un recurso de tipo sentencia. Este modo permite acceder libremente a las filas de un juego de resultados, pero por ahora sólo está soportado por la Base de datos Universal IBM DB2.
DB2_FORWARD_ONLY (integer)
Especifica un cursor de sólo avance en un recurso de tipo sentencia. Este es el tipo de cursor por omisión y está soportado por todas las bases de datos.
DB2_PARAM_IN (integer)
Indifica que la variable PHP se utilizará como parámetro IN en los procedimientos almacenados.
DB2_PARAM_OUT (integer)
Especifica que la variable PHP se utilizará como parámetro OUT en los procedimientos almacenados.
DB2_PARAM_INOUT (integer)
Especifica que la variable PHP se utilizará como parámetro INOUT en los procedimientos almacenados.
DB2_PARAM_FILE (integer)
Indica que la columna debe vincularse directamente a un fichero de entrada.
DB2_AUTOCOMMIT_ON (integer)
Indica que se debe habilitar la opción autocommit (Realizar cambios inmediatamente).
DB2_AUTOCOMMIT_OFF (integer)
Indica que se debe deshabilitar la opción autocommit (No se realizan los cambios inmediatamente).
DB2_DOUBLE (integer)
Indica que la variable se establecerá en forma de DOUBLE, FLOAT, o REAL.
DB2_LONG (integer)
Indica que la variable se establecerá en forma de SMALLINT, INTEGER, o BIGINT.
DB2_CHAR (integer)
Indica que la variable se establecerá en forma de CHAR o VARCHAR.
DB2_CASE_NATURAL (integer)
Especifica que los nombres de columnas se devolverán respetando mayúsculas y minúsculas.
DB2_CASE_LOWER (integer)
Indica que los nombres de las columnas se devolverán en minúsculas.
DB2_CASE_UPPER (integer)
Indica que los nombres de las columnas se devolverán en mayúsculas.
DB2_DEFERRED_PREPARE_ON (integer)
Habilita las sentencias preparadas en el recurso especificado.
DB2_DEFERRED_PREPARE_OFF (integer)
Deshabilita las sentencias preparadas en el recurso especificado.
Tipos de recursos
Funciones de IBM DB2
IBM DB2


Funciones de IBM DB2

Tabla de contenidos

  • db2_autocommit — Devuelve o establece el estado de AUTOCOMMIT en una conexión de bases de datos
  • db2_bind_param — Vincula una variable PHP a un parámetro de una sentencia SQL
  • db2_client_info — Devuelve un objeto cuyas propiedades describen cliente de una base de datos DB2
  • db2_close — Cierra una conexión a base de datos
  • db2_column_privileges — Obtiene la lista de columnas y permisos asociados a una tabla
  • db2_columns — Devuelve los campos de una tabla y sus metadatos asociados.
  • db2_commit — Commits a transaction
  • db2_conn_error — Returns a string containing the SQLSTATE returned by the last connection attempt
  • db2_conn_errormsg — Returns the last connection error message and SQLCODE value
  • db2_connect — Returns a connection to a database
  • db2_cursor_type — Returns the cursor type used by a statement resource
  • db2_escape_string — Used to escape certain characters
  • db2_exec — Executes an SQL statement directly
  • db2_execute — Executes a prepared SQL statement
  • db2_fetch_array — Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc — Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both — Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_object — Returns an object with properties representing columns in the fetched row
  • db2_fetch_row — Sets the result set pointer to the next row or requested row
  • db2_field_display_size — Returns the maximum number of bytes required to display a column
  • db2_field_name — Returns the name of the column in the result set
  • db2_field_num — Returns the position of the named column in a result set
  • db2_field_precision — Returns the precision of the indicated column in a result set
  • db2_field_scale — Returns the scale of the indicated column in a result set
  • db2_field_type — Returns the data type of the indicated column in a result set
  • db2_field_width — Returns the width of the current value of the indicated column in a result set
  • db2_foreign_keys — Returns a result set listing the foreign keys for a table
  • db2_free_result — Frees resources associated with a result set
  • db2_free_stmt — Frees resources associated with the indicated statement resource
  • db2_get_option — Retrieves an option value for a statement resource or a connection resource
  • db2_last_insert_id — Returns the auto generated ID of the last insert query that successfully executed on this connection
  • db2_lob_read — Gets a user defined size of LOB files with each invocation
  • db2_next_result — Requests the next result set from a stored procedure
  • db2_num_fields — Returns the number of fields contained in a result set
  • db2_num_rows — Returns the number of rows affected by an SQL statement
  • db2_pclose — Closes a persistent database connection
  • db2_pconnect — Returns a persistent connection to a database
  • db2_prepare — Prepara un comando SQL para su ejecución
  • db2_primary_keys — Returns a result set listing primary keys for a table
  • db2_procedure_columns — Returns a result set listing stored procedure parameters
  • db2_procedures — Returns a result set listing the stored procedures registered in a database
  • db2_result — Returns a single column from a row in the result set
  • db2_rollback — Rolls back a transaction
  • db2_server_info — Returns an object with properties that describe the DB2 database server
  • db2_set_option — Set options for connection or statement resources
  • db2_special_columns — Returns a result set listing the unique row identifier columns for a table
  • db2_statistics — Returns a result set listing the index and statistics for a table
  • db2_stmt_error — Returns a string containing the SQLSTATE returned by an SQL statement
  • db2_stmt_errormsg — Returns a string containing the last SQL statement error message
  • db2_table_privileges — Returns a result set listing the tables and associated privileges in a database
  • db2_tables — Returns a result set listing the tables and associated metadata in a database
Constantes predefinidas
db2_autocommit
IBM DB2


Devuelve o establece el estado de AUTOCOMMIT en una conexión de bases de datos

Funciones de IBM DB2
db2_bind_param
Funciones de IBM DB2
PHP Manual

db2_autocommit

(PECL ibm_db2 >= 1.0.0)

db2_autocommit — Devuelve o establece el estado de AUTOCOMMIT en una conexión de bases de datos

Descripción

mixed db2_autocommit ( resource $connection [, bool $value ] )

Devuelve o establece el comportamiento de AUTOCOMMIT del recurso de conexión especificado.

Parámetros

connection

Variable válida de tipo recurso de conexión a base de datos, devuelta por db2_connect() o por db2_pconnect().

value

Una de las siguientes constantes:

DB2_AUTOCOMMIT_OFF

Desactiva AUTOCOMMIT.

DB2_AUTOCOMMIT_ON

Activa AUTOCOMMIT.

Valores devueltos

Cuando a db2_autocommit() sólo se le proporciona el parámetro connection, devuelve en forma de integer el valor actual de AUTOCOMMIT para la conexión solicitada. Un valor de 0 indica que AUTOCOMMIT está deshabilitado, mientras que un valor de 1 indica que AUTOCOMMIT está habibilitado.

Cuando db2_autocommit() recibe tanto el parámetro connection como autocommit, establece el valor correspondiente en el estado de AUTOCOMMIT de la conexión solicitada. Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Consultando el valor de AUTOCOMMIT de una conexión

En el siguiente ejemplo, se comprueba con la función db2_autocommit() una conexión creada con AUTOCOMMIT deshabilitado.

<?php
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF);
$conn = db2_connect($database, $user, $password, $options);
$ac = db2_autocommit($conn);
if ($ac == 0) {
    print "$ac -- AUTOCOMMIT está a off.";
} else {
    print "$ac -- AUTOCOMMIT está a on.";
}
?>

El resultado del ejemplo sería:

0 -- AUTOCOMMIT está a off.

Ejemplo #2 Asignando el valor de AUTOCOMMIT en una conexión

En el siguiente ejemplo, sobre una conexión inicialmente creada con AUTOCOMMIT dehasbilitado, se cambia su comportamiento a AUTOCOMMIT on.

<?php
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF);
$conn = db2_connect($database, $user, $password, $options);

// Activación de AUTOCOMMIT
$rc = db2_autocommit($conn, DB2_AUTOCOMMIT_ON);
if ($rc) {
    print "Activación de AUTOCOMMIT con éxito.\n";
}

// Comprobar estado de AUTOCOMMIT
$ac = db2_autocommit($conn);
if ($ac == 0) {
    print "$ac -- AUTOCOMMIT está a off.";
} else {
    print "$ac -- AUTOCOMMIT está a on.";
}
?>

El resultado del ejemplo sería:

Activación de AUTOCOMMIT con éxito.
1 -- AUTOCOMMIT está a on.

Ver también

  • db2_connect() - Returns a connection to a database
  • db2_pconnect() - Returns a persistent connection to a database

Funciones de IBM DB2
db2_bind_param
Funciones de IBM DB2


Vincula una variable PHP a un parámetro de una sentencia SQL

db2_autocommit
db2_client_info
Funciones de IBM DB2
PHP Manual

db2_bind_param

(PECL ibm_db2 >= 1.0.0)

db2_bind_param — Vincula una variable PHP a un parámetro de una sentencia SQL

Descripción

bool db2_bind_param ( resource $stmt , int $parameter-number , string $variable-name [, int $parameter-type [, int $data-type = 0 [, int $precision = -1 [, int $scale = 0 ]]]] )

Vincula una variabel PHP a una sentencia SQL de un recurso devuelto por db2_prepare(). Esta función proporciona más control sobre el tipo de parámetro, tipo de dato, procesión, y escala del parámetro que cuando se pasa la variabel como parte del array de entrada opcional en db2_execute().

Parámetros

stmt

Sentencia preparada devuelta por db2_prepare().

parameter-number

Especifica la posición del parámetro en la sentencia preparada, utilizando 1 como primera posición.

variable-name

String con el nombre de la variabel PHP que se vinculará al parámetro especificado por parameter-number.

parameter-type

Constante que especifica si la variable PHP debe vincularse al parámetro SQL como un parámetro de entrada (DB2_PARAM_IN), de salida (DB2_PARAM_OUT), o como un parámetro que acepta entrada y salida (DB2_PARAM_INOUT). Para evitar fugas de memoria, puede especificarse DB2_PARAM_FILE para vincular la variable PHP al nombre de un fichero que contiene objetos de gran tamaño (BLOB, CLOB, o DBCLOB).

data-type

Constante que especifica el tipo de dato SQL de la variable PHP que se vincula: de entre DB2_BINARY, DB2_CHAR, DB2_DOUBLE, o DB2_LONG.

precision

Especifica la precisión con la que se debe vincular a la base de datos. Este parámetro se puede utilizar también para consultar valores de salida XML de procedimientos almacenados. Un valor no negativo especifica el tamaño máximo de datos XML que se consultarán de la base de datos. Si este parámetro no se utiliza, se asumirá por omisión 1MB para consultar el valor de salida XML del procedimiento almacenado.

scale

Especifica la escala de la variable que se vinculará a la base de datos.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Vinculando variables PHP a sentencias preparadas

La sentencia SQL del siguiente ejemplo utiliza dos parámetros de entrada en la cláusula WHERE. Invocamos db2_bind_param() para vincular dos variables PHP a los correspondientes parámetros SQL. Debe tenerse en cuenta que no es necesario que se hayan declarado o asignado las variables PHP antes de llamar a db2_bind_param(); en el ejemplo, se asigna un valor a $lower_limit antes de llamar a db2_bind_param(), a diferencia de $upper_limit, donde el valor se asigna tras llamar a db2_bind_param(). Se deben vincular las variables y, para parámetros que acepten entradas, debe asignarse el valor antes de llamar a parameters that accept input, must have any value assigned, before calling db2_execute().

<?php

$sql = 'SELECT name, breed, weight FROM animals
    WHERE weight > ? AND weight < ?';
$conn = db2_connect($database, $user, $password);
$stmt = db2_prepare($conn, $sql);

// Podemos declarar la variable antes de llamar a db2_bind_param()
$lower_limit = 1;

db2_bind_param($stmt, 1, "lower_limit", DB2_PARAM_IN);
db2_bind_param($stmt, 2, "upper_limit", DB2_PARAM_IN);

// Podemos declarar la variable tras llamar a db2_bind_param()
$upper_limit = 15.0;

if (db2_execute($stmt)) {
    while ($row = db2_fetch_array($stmt)) {
        print "{$row[0]}, {$row[1]}, {$row[2]}\n";
    }
}
?>

El resultado del ejemplo sería:

Pook, cat, 3.2
Rickety Ride, goat, 9.7
Peaches, dog, 12.3

Ejemplo #2 Llamada a procedimientos almacenados con parámetros de Entrada y Salida

El procedimiento almacenado match_animal del siguiente ejemplo acepta tres parámetros:

  1. un parámetro (IN) de entrada que acepta el nombre del primer animal como entrada

  2. un parámetro (INOUT) de entrada-salida que acepta el nombre del segundo animal como entrada y devuelve el string TRUE si coincidiera algún animal de la base de datos

  3. un parámetro (OUT) de salida que devuelve la suma del peso de los dos animales identificados

Además, el procedimiento almacenado devuelve el juego de resultados que corresponde a la lista de animales en orden alfabética comenzando por el animal del valor de entrada del primer parámetro, y terminando en el animal correspondiente al valor de entrada del segundo parámetro.

<?php

$sql = 'CALL match_animal(?, ?, ?)';
$conn = db2_connect($database, $user, $password);
$stmt = db2_prepare($conn, $sql);

$name = "Peaches";
$second_name = "Rickety Ride";
$weight = 0;

db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
db2_bind_param($stmt, 2, "second_name", DB2_PARAM_INOUT);
db2_bind_param($stmt, 3, "weight", DB2_PARAM_OUT);

print "Valores de los parámetros vinculados _antes_ de la llamada:\n";
print "  1: {$name} 2: {$second_name} 3: {$weight}\n\n";

if (db2_execute($stmt)) {
    print "Valores de los parámetros vinculados _tras_ la llamada:\n";
    print "  1: {$name} 2: {$second_name} 3: {$weight}\n\n";

    print "Resultados:\n";
    while ($row = db2_fetch_array($stmt)) {
        print "  {$row[0]}, {$row[1]}, {$row[2]}\n";
    }
}
?>

El resultado del ejemplo sería:

Valores de los parámetros vinculados _antes_ de la llamada:
  1: Peaches 2: Rickety Ride 3: 0

Valores de los parámetros vinculados _tras_ la llamada:
  1: Peaches 2: TRUE 3: 22

Resultados:
  Peaches, dog, 12.3
  Pook, cat, 3.2
  Rickety Ride, goat, 9.7

Ejemplo #3 Insertando un objeto extenso binario (BLOB) directamente desde un fichero

Los datos de objetos extensos se suelen almacenar en ficheros, como por ejemplo documentos XML o ficheros de audio. En lugar de guardar el fichero completo en una variable PHP, para después vincular ésta a una sentencia SQL, se puede evitar esta sobrecarga de memoria vinculando directamente el fichero al parámetro de entrada de la sentencia SQL. El siguiente ejemplo demuestra cómo vincular directamente un fichero a una columna BLOB.

<?php
$stmt = db2_prepare($conn, "INSERT INTO animal_pictures(picture) VALUES (?)");

$picture = "/opt/albums/spook/grooming.jpg";
$rc = db2_bind_param($stmt, 1, "picture", DB2_PARAM_FILE);
$rc = db2_execute($stmt);
?>

Ver también

  • db2_execute() - Executes a prepared SQL statement
  • db2_prepare() - Prepara un comando SQL para su ejecución

db2_autocommit
db2_client_info
Funciones de IBM DB2


Devuelve un objeto cuyas propiedades describen cliente de una base de datos DB2

db2_bind_param
db2_close
Funciones de IBM DB2
PHP Manual

db2_client_info

(PECL ibm_db2 >= 1.1.1)

db2_client_info — Devuelve un objeto cuyas propiedades describen cliente de una base de datos DB2

Descripción

object db2_client_info ( resource $connection )

Esta función devuelve un objeto, con propiedades de sólo lectura, con información sobre el cliente de base de datos DB2. La siguiente tabla lista las propiedades del cliente DB2:

DB2 client properties
Nombre de la propiedad | Tipo devuelto | Descripción
APPL_CODEPAGE | int | Código de página de la aplicación.
CONN_CODEPAGE | int | Código de página de la conexión activa.
DATA_SOURCE_NAME | string | Nombre fuente de datos (DSN) usado para crear la conexión actual a la base de datos.
DRIVER_NAME | string | Nombre de la biblioteca que implementa la especificación de la Interfaz a nivel de Llamada (CLI) de DB2.
DRIVER_ODBC_VER | string | Versión de ODBC que soporta el cliente DB2. Devuelve un string del tipo "MM.mm" donde MM es la versión principal y mm la secundaria. El cliente DB2 siempre devuelve "03.51".
DRIVER_VER | string | Versión del driver, en forma de string "MM.mm.uuuu" donde MM es la versión principal, mm es la versión secundaria, y uuuu la actualización. Por ejemplo, "08.02.0001" representa la versión principal 8, versión secundaria 2, actualización 1.
ODBC_SQL_CONFORMANCE string

Nivel de gramática SQL ODBC soportado por el cliente.

MINIMUM

Soporta la gramática mínima ODBC SQL.

CORE

Soporta la gramática de tipo core de ODBC SQL.

EXTENDED

Soporta la gramática extendida de ODBC SQL.

ODBC_VER | string | Versión de ODBC que soporta el gestor de drivers de ODBC. Devuelve un strong del tipo "MM.mm.rrrr" donde MM es la versión principal, mm es la versión secundaria, y rrrr es la edición. El cliente DB2 siempre devuelve "03.01.0000".

Parámetros

connection

Especifica una conexión de cliente DB2 activa.

Valores devueltos

Devuelve un objeto en caso de éxito. Devuelve FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de db2_client_info()

Para consultar información del cliente, se debe proporcionar un recurso de conexión a base de datos válido a db2_client_info().

<?php
$conn = db2_connect( 'SAMPLE', 'db2inst1', 'ibmdb2' );
$client = db2_client_info( $conn );

if ($client) {
    echo "DRIVER_NAME: ";           var_dump( $client->DRIVER_NAME );
    echo "DRIVER_VER: ";            var_dump( $client->DRIVER_VER );
    echo "DATA_SOURCE_NAME: ";      var_dump( $client->DATA_SOURCE_NAME );
    echo "DRIVER_ODBC_VER: ";       var_dump( $client->DRIVER_ODBC_VER );
    echo "ODBC_VER: ";              var_dump( $client->ODBC_VER );
    echo "ODBC_SQL_CONFORMANCE: ";  var_dump( $client->ODBC_SQL_CONFORMANCE );
    echo "APPL_CODEPAGE: ";         var_dump( $client->APPL_CODEPAGE );
    echo "CONN_CODEPAGE: ";         var_dump( $client->CONN_CODEPAGE );
}
else {
    echo "Error al consultar información del cliente.
     Es posible que la conexión a base de datos sea inválida.";
}
db2_close($conn);

?>

El resultado del ejemplo sería:

DRIVER_NAME: string(8) "libdb2.a"
DRIVER_VER: string(10) "08.02.0001"
DATA_SOURCE_NAME: string(6) "SAMPLE"
DRIVER_ODBC_VER: string(5) "03.51"
ODBC_VER: string(10) "03.01.0000"
ODBC_SQL_CONFORMANCE: string(8) "EXTENDED"
APPL_CODEPAGE: int(819)
CONN_CODEPAGE: int(819)

Ver también

  • db2_server_info() - Returns an object with properties that describe the DB2 database server

db2_bind_param
db2_close
Funciones de IBM DB2


Cierra una conexión a base de datos

db2_client_info
db2_column_privileges
Funciones de IBM DB2
PHP Manual

db2_close

(PECL ibm_db2 >= 1.0.0)

db2_close — Cierra una conexión a base de datos

Descripción

bool db2_close ( resource $connection )

Esta función cierra una conexión cliente DB2 creada con db2_connect() y devuelve el recurso correspondiente al servidor de base de datos.

Si se tratara de cerrar una conexión de cliente DB2 persistente creada con db2_pconnect(), la petición de cierre se ignoraría y la conexión de cliente DB2 permanecería disponibel para la siguiente llmada.

Parámetros

connection

Especifica la conexión a cliente DB2 activa.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Cierre de una conexión

El siguiente ejemplo demuestra un intento de cierre exitoso de una conexión a una base de datos IBM DB2, Cloudscape, o Apache Derby.

<?php
$conn = db2_connect('SAMPLE', 'db2inst1', 'ibmdb2');
$rc = db2_close($conn);
if ($rc) {
    echo "Conexión cerrada con éxito.";
}
?>

El resultado del ejemplo sería:

Conexión cerrada con éxito.

Ver también

  • db2_connect() - Returns a connection to a database
  • db2_pclose() - Closes a persistent database connection
  • db2_pconnect() - Returns a persistent connection to a database

db2_client_info
db2_column_privileges
Funciones de IBM DB2


Obtiene la lista de columnas y permisos asociados a una tabla

db2_close
db2_columns
Funciones de IBM DB2
PHP Manual

db2_column_privileges

(PECL ibm_db2 >= 1.0.0)

db2_column_privileges — Obtiene la lista de columnas y permisos asociados a una tabla

Descripción

resource db2_column_privileges ( resource $connection [, string $qualifier [, string $schema [, string $table-name [, string $column-name ]]]] )

Obtiene la lista de columnas y permisos asociados a una tabla.

Parámetros

connection

Una conexión a IBM DB2, Cloudscape, o Apache Derby.

qualifier

Un calificador para bases de datos DB2 que se ejecutan en servidores OS/390 o z/OS. Para otras bases de datos, use NULL o una cadena vacía.

schema

El esquema que contiene la tabla indicada. Para buscar en todos los esquemas, use NULL o una cadena vacía.

table-name

El nombre de la tabla o vista. Para consultar todas las tablas en la base de datos, use NULL o una cadena vacía.

column-name

El nombre de la columna. Para consultar todas las columnas en la tabla, use NULL o una cadena vacía.

Valores devueltos

Devuelve una lista de registros que describen los permisos de las columnas especificadas a través de los parámetros entregados a la función. Los registros contienen los siguientes campos:

Columna | Descripción
TABLE_CAT | Nombre del catálogo. Puede ser NULL si esta tabla no tiene catálogo.
TABLE_SCHEM | Nombre del esquema.
TABLE_NAME | Nombre de la tabla o vista.
COLUMN_NAME | Nombre de la columna.
GRANTOR | Identificador del usuario que otorgó el permiso.
GRANTEE | Identificador del usuario a quien se le dió el permiso.
PRIVILEGE | Permisos de la columna.
IS_GRANTABLE | Informa si el usuario que obtiene el permiso puede otorgárselo a otros usuarios.

Ver también

  • db2_columns() - Devuelve los campos de una tabla y sus metadatos asociados.
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database

db2_close
db2_columns
Funciones de IBM DB2


Devuelve los campos de una tabla y sus metadatos asociados.

db2_column_privileges
db2_commit
Funciones de IBM DB2
PHP Manual

db2_columns

(PECL ibm_db2 >= 1.0.0)

db2_columns — Devuelve los campos de una tabla y sus metadatos asociados.

Descripción

resource db2_columns ( resource $connection [, string $qualifier [, string $schema [, string $table-name [, string $column-name ]]]] )

Devuelve los campos de una tabla y sus metadatos asociados.

Parámetros

connection

Una conexión a IBM DB2, Cloudscape, o Apache Derby.

qualifier

Un calificador para bases de datos DB2 que se ejecutan en servidores OS/390 o z/OS. Para otras bases de datos, use NULL o una cadena vacía.

schema

El esquema que contiene la tabla indicada. Para buscar en todos los esquemas, use '%'.

table-name

El nombre de la tabla o vista. Para consultar todas las tablas en la base de datos, use NULL o una cadena vacía.

column-name

El nombre del campo. Para consultar todos los campos en la tabla, use NULL o una cadena vacía.

Valores devueltos

Devuelve información de los campos especificados a través de los parámetros de la función. Los registros contienen las siguientes columnas:

Nombre del campo | Descripción
TABLE_CAT | Nombre del catálogo. Puede ser NULL si la tabla no contiene un catálogo.
TABLE_SCHEM | Nombre del esquema.
TABLE_NAME | Nombre de la tabla o vista.
COLUMN_NAME | Nombre del campo.
DATA_TYPE | El tipo de dato SQL como un entero.
TYPE_NAME | El nombre del tipo de dato como cadena de texto.
COLUMN_SIZE | El tamaño del campo como un entero.
BUFFER_LENGTH | El tamaño en bytes que se requieren como máximo para almacenar datos desde este campo.
DECIMAL_DIGITS | La escala de este campo, o NULL si no es aplicable.
NUM_PREC_RADIX | Un entero que puede ser 10 (para un tipo de dato exacto), 2 (para un tipo de dato aproximado), o NULL (para un tipo de dato donde la precisión no es aplicable).
NULLABLE | Indica si este campo puede guardar valores NULL.
REMARKS | Descripción del campo.
COLUMN_DEF | Valor por defecto.
SQL_DATA_TYPE | El tamaño del campo como un entero.
SQL_DATETIME_SUB | Devuelve el código del subtipo de fecha y hora, o NULL para tipos de datos donde no es aplicable.
CHAR_OCTET_LENGTH | Tamaño máximo en octetos para el tipo de datos de carácter, que coincida con COLUMN_SIZE para conjuntos de caracteres de un sólo byte, o NULL para tipos de datos distintos.
ORDINAL_POSITION | La posición del campo en la tabla (contando desde 1).
IS_NULLABLE | Una cadena de texto que contiene 'YES' si puede guardar valores nulos y 'NO' cuando no permita valores nulos.

Ver también

  • db2_column_privileges() - Obtiene la lista de columnas y permisos asociados a una tabla
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database

db2_column_privileges
db2_commit
Funciones de IBM DB2


Commits a transaction

db2_columns
db2_conn_error
Funciones de IBM DB2
PHP Manual

db2_commit

(PECL ibm_db2 >= 1.0.0)

db2_commit — Commits a transaction

Descripción

bool db2_commit ( resource $connection )

Commits an in-progress transaction on the specified connection resource and begins a new transaction. PHP applications normally default to AUTOCOMMIT mode, so db2_commit() is not necessary unless AUTOCOMMIT has been turned off for the connection resource.

Parámetros

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • db2_autocommit() - Devuelve o establece el estado de AUTOCOMMIT en una conexión de bases de datos
  • db2_rollback() - Rolls back a transaction

db2_columns
db2_conn_error
Funciones de IBM DB2


Returns a string containing the SQLSTATE returned by the last connection attempt

db2_commit
db2_conn_errormsg
Funciones de IBM DB2
PHP Manual

db2_conn_error

(PECL ibm_db2 >= 1.0.0)

db2_conn_error — Returns a string containing the SQLSTATE returned by the last connection attempt

Descripción

string db2_conn_error ([ resource $connection ] )

db2_conn_error() returns an SQLSTATE value representing the reason the last attempt to connect to a database failed. As db2_connect() returns FALSE in the event of a failed connection attempt, you do not pass any parameters to db2_conn_error() to retrieve the SQLSTATE value.

If, however, the connection was successful but becomes invalid over time, you can pass the connection parameter to retrieve the SQLSTATE value for a specific connection.

To learn what the SQLSTATE value means, you can issue the following command at a DB2 Command Line Processor prompt: db2 '? sqlstate-value'. You can also call db2_conn_errormsg() to retrieve an explicit error message and the associated SQLCODE value.

Parámetros

connection

A connection resource associated with a connection that initially succeeded, but which over time became invalid.

Valores devueltos

Returns the SQLSTATE value resulting from a failed connection attempt. Returns an empty string if there is no error associated with the last connection attempt.

Ejemplos

Ejemplo #1 Retrieving an SQLSTATE value for a failed connection attempt

The following example demonstrates how to return an SQLSTATE value after deliberately passing invalid parameters to db2_connect().

<?php
$conn = db2_connect('badname', 'baduser', 'badpassword');
if (!$conn) {
    print "SQLSTATE value: " . db2_conn_error();
}
?>

El resultado del ejemplo sería:

SQLSTATE value: 08001

Ver también

  • db2_conn_errormsg() - Returns the last connection error message and SQLCODE value
  • db2_connect() - Returns a connection to a database
  • db2_stmt_error() - Returns a string containing the SQLSTATE returned by an SQL statement
  • db2_stmt_errormsg() - Returns a string containing the last SQL statement error message

db2_commit
db2_conn_errormsg
Funciones de IBM DB2


Returns the last connection error message and SQLCODE value

db2_conn_error
db2_connect
Funciones de IBM DB2
PHP Manual

db2_conn_errormsg

(PECL ibm_db2 >= 1.0.0)

db2_conn_errormsg — Returns the last connection error message and SQLCODE value

Descripción

string db2_conn_errormsg ([ resource $connection ] )

db2_conn_errormsg() returns an error message and SQLCODE value representing the reason the last database connection attempt failed. As db2_connect() returns FALSE in the event of a failed connection attempt, do not pass any parameters to db2_conn_errormsg() to retrieve the associated error message and SQLCODE value.

If, however, the connection was successful but becomes invalid over time, you can pass the connection parameter to retrieve the associated error message and SQLCODE value for a specific connection.

Parámetros

connection

A connection resource associated with a connection that initially succeeded, but which over time became invalid.

Valores devueltos

Returns a string containing the error message and SQLCODE value resulting from a failed connection attempt. If there is no error associated with the last connection attempt, db2_conn_errormsg() returns an empty string.

Ejemplos

Ejemplo #1 Retrieving the error message returned by a failed connection attempt

The following example demonstrates how to return an error message and SQLCODE value after deliberately passing invalid parameters to db2_connect().

<?php
$conn = db2_connect('badname', 'baduser', 'badpassword');
if (!$conn) {
    print db2_conn_errormsg();
}
?>

El resultado del ejemplo sería:

[IBM][CLI Driver] SQL1013N  The database alias name
or database name "BADNAME" could not be found.  SQLSTATE=42705
 SQLCODE=-1013

Ver también

  • db2_conn_error() - Returns a string containing the SQLSTATE returned by the last connection attempt
  • db2_connect() - Returns a connection to a database
  • db2_stmt_error() - Returns a string containing the SQLSTATE returned by an SQL statement
  • db2_stmt_errormsg() - Returns a string containing the last SQL statement error message

db2_conn_error
db2_connect
Funciones de IBM DB2


Returns a connection to a database

db2_conn_errormsg
db2_cursor_type
Funciones de IBM DB2
PHP Manual

db2_connect

(PECL ibm_db2 >= 1.0.0)

db2_connect — Returns a connection to a database

Descripción

resource db2_connect ( string $database , string $username , string $password [, array $options ] )

Creates a new connection to an IBM DB2 Universal Database, IBM Cloudscape, or Apache Derby database.

Parámetros

database

For a cataloged connection to a database, database represents the database alias in the DB2 client catalog.

For an uncataloged connection to a database, database represents a complete connection string in the following format:

DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password;
where the parameters represent the following values:
database

The name of the database.

hostname

The hostname or IP address of the database server.

port

The TCP/IP port on which the database is listening for requests.

username

The username with which you are connecting to the database.

password

The password with which you are connecting to the database.

username

The username with which you are connecting to the database.

For uncataloged connections, you must pass a NULL value or empty string.

password

The password with which you are connecting to the database.

For uncataloged connections, you must pass a NULL value or empty string.

options

An associative array of connection options that affect the behavior of the connection, where valid array keys include:

autocommit

Passing the DB2_AUTOCOMMIT_ON value turns autocommit on for this connection handle.

Passing the DB2_AUTOCOMMIT_OFF value turns autocommit off for this connection handle.

DB2_ATTR_CASE

Passing the DB2_CASE_NATURAL value specifies that column names are returned in natural case.

Passing the DB2_CASE_LOWER value specifies that column names are returned in lower case.

Passing the DB2_CASE_UPPER value specifies that column names are returned in upper case.

CURSOR

Passing the DB2_FORWARD_ONLY value specifies a forward-only cursor for a statement resource. This is the default cursor type and is supported on all database servers.

Passing the DB2_SCROLLABLE value specifies a scrollable cursor for a statement resource. This mode enables random access to rows in a result set, but currently is supported only by IBM DB2 Universal Database.

The following new option is available in ibm_db2 version 1.7.0 and later.

trustedcontext

Passing the DB2_TRUSTED_CONTEXT_ENABLE value turns trusted context on for this connection handle. This parameter cannot be set using db2_set_option().

This key works only if the database is cataloged (even if the database is local), or if you specify the full DSN when you create the connection.

To catalog the database, use following commands:

db2 catalog tcpip node loopback remote <SERVERNAME> server <SERVICENAME>
db2 catalog database <LOCALDBNAME> as <REMOTEDBNAME> at node loopback
db2 "update dbm cfg using svcename <SERVICENAME>"
db2set DB2COMM=TCPIP

The following new i5/OS options are available in ibm_db2 version 1.5.1 and later.

i5_lib

A character value that indicates the default library that will be used for resolving unqualified file references. This is not valid if the connection is using system naming mode.

i5_naming

DB2_I5_NAMING_ON value turns on DB2 UDB CLI iSeries system naming mode. Files are qualified using the slash (/) delimiter. Unqualified files are resolved using the library list for the job.

DB2_I5_NAMING_OFF value turns off DB2 UDB CLI default naming mode, which is SQL naming. Files are qualified using the period (.) delimiter. Unqualified files are resolved using either the default library or the current user ID.

i5_commit

The i5_commit attribute should be set before the db2_connect(). If the value is changed after the connection has been established, and the connection is to a remote data source, the change does not take effect until the next successful db2_connect() for the connection handle.

Nota:

The php.ini setting ibm_db2.i5_allow_commit==0 or DB2_I5_TXN_NO_COMMIT is the default, but may be overridden with the i5_commit option.

DB2_I5_TXN_NO_COMMIT - Commitment control is not used.

DB2_I5_TXN_READ_UNCOMMITTED - Dirty reads, nonrepeatable reads, and phantoms are possible.

DB2_I5_TXN_READ_COMMITTED - Dirty reads are not possible. Nonrepeatable reads, and phantoms are possible.

DB2_I5_TXN_REPEATABLE_READ - Dirty reads and nonrepeatable reads are not possible. Phantoms are possible.

DB2_I5_TXN_SERIALIZABLE - Transactions are serializable. Dirty reads, non-repeatable reads, and phantoms are not possible

i5_query_optimize

DB2_FIRST_IO All queries are optimized with the goal of returning the first page of output as fast as possible. This goal works well when the output is controlled by a user who is most likely to cancel the query after viewing the first page of output data. Queries coded with an OPTIMIZE FOR nnn ROWS clause honor the goal specified by the clause.

DB2_ALL_IO All queries are optimized with the goal of running the entire query to completion in the shortest amount of elapsed time. This is a good option when the output of a query is being written to a file or report, or the interface is queuing the output data. Queries coded with an OPTIMIZE FOR nnn ROWS clause honor the goal specified by the clause. This is the default.

i5_dbcs_alloc

DB2_I5_DBCS_ALLOC_ON value turns on DB2 6X allocation scheme for DBCS translation column size growth.

DB2_I5_DBCS_ALLOC_OFF value turns off DB2 6X allocation scheme for DBCS translation column size growth.

Note: php.ini setting ibm_db2.i5_dbcs_alloc==0 or DB2_I5_DBCS_ALLOC_OFF is the default, but may be overridden with the i5_dbcs_alloc option.

i5_date_fmt

DB2_I5_FMT_ISO - The International Organization for Standardization (ISO) date format yyyy-mm-dd is used. This is the default.

DB2_I5_FMT_USA - The United States date format mm/dd/yyyy is used.

DB2_I5_FMT_EUR - The European date format dd.mm.yyyy is used.

DB2_I5_FMT_JIS - The Japanese Industrial Standard date format yyyy-mm-dd is used.

DB2_I5_FMT_MDY - The date format mm/dd/yyyy is used.

DB2_I5_FMT_DMY - The date format dd/mm/yyyy is used.

DB2_I5_FMT_YMD - The date format yy/mm/dd is used.

DB2_I5_FMT_JUL - The Julian date format yy/ddd is used.

DB2_I5_FMT_JOB - The job default is used.

i5_date_sep

DB2_I5_SEP_SLASH - A slash ( / ) is used as the date separator. This is the default.

DB2_I5_SEP_DASH - A dash ( - ) is used as the date separator.

DB2_I5_SEP_PERIOD - A period ( . ) is used as the date separator.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the date separator.

DB2_I5_SEP_BLANK - A blank is used as the date separator.

DB2_I5_SEP_JOB - The job default is used

i5_time_fmt

DB2_I5_FMT_ISO - The International Organization for Standardization (ISO) time format hh.mm.ss is used. This is the default.

DB2_I5_FMT_USA - The United States time format hh:mmxx is used, where xx is AM or PM.

DB2_I5_FMT_EUR - The European time format hh.mm.ss is used.

DB2_I5_FMT_JIS - The Japanese Industrial Standard time format hh:mm:ss is used.

DB2_I5_FMT_HMS - The hh:mm:ss format is used.

i5_time_sep

DB2_I5_SEP_COLON - A colon ( : ) is used as the time separator. This is the default.

DB2_I5_SEP_PERIOD - A period ( . ) is used as the time separator.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the time separator.

DB2_I5_SEP_BLANK - A blank is used as the time separator.

DB2_I5_SEP_JOB - The job default is used.

i5_decimal_sep

DB2_I5_SEP_PERIOD - A period ( . ) is used as the decimal separator. This is the default.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the decimal separator.

DB2_I5_SEP_JOB - The job default is used.

The following new i5/OS option is available in ibm_db2 version 1.8.0 and later.

i5_libl

A character value that indicates the library list that will be used for resolving unqualified file references. Specify the library list elements separated by blanks 'i5_libl'=>"MYLIB YOURLIB ANYLIB".

Nota:

i5_libl calls qsys2/qcmdexc('cmd',cmdlen), which is only available in i5/OS V5R4 and later.

Valores devueltos

Returns a connection handle resource if the connection attempt is successful. If the connection attempt fails, db2_connect() returns FALSE.

Ejemplos

Ejemplo #1 Creating a cataloged connection

Cataloged connections require you to have previously cataloged the target database through the DB2 Command Line Processor (CLP) or DB2 Configuration Assistant.

<?php
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';

$conn = db2_connect($database, $user, $password);

if ($conn) {
    echo "Connection succeeded.";
    db2_close($conn);
}
else {
    echo "Connection failed.";
}
?>

El resultado del ejemplo sería:

Connection succeeded.

Ejemplo #2 Creating an uncataloged connection

An uncataloged connection enables you to dynamically connect to a database.

<?php
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';
$hostname = 'localhost';
$port = 50000;

$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;" .
  "HOSTNAME=$hostname;PORT=$port;PROTOCOL=TCPIP;UID=$user;PWD=$password;";
$conn = db2_connect($conn_string, '', '');

if ($conn) {
    echo "Connection succeeded.";
    db2_close($conn);
}
else {
    echo "Connection failed.";
}
?>

El resultado del ejemplo sería:

Connection succeeded.

Ejemplo #3 Creating a connection with autocommit off by default

Passing an array of options to db2_connect() enables you to modify the default behavior of the connection handle.

<?php
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF);

$conn = db2_connect($database, $user, $password, $options);

if ($conn) {
    echo "Connection succeeded.\n";
    if (db2_autocommit($conn)) {
         echo "Autocommit is on.\n";
    }
    else {
         echo "Autocommit is off.\n";
    }
    db2_close($conn);
}
else {
    echo "Connection failed.";
}
?>

El resultado del ejemplo sería:

Connection succeeded.
Autocommit is off.

Ejemplo #4 i5/OS best performance

To achieve best performance for your i5/OS ibm_db2 1.5.1 PHP application use the default host, userid, and password for your db2_connect().

<?php
  $library = "ADC";
  $i5 = db2_connect("", "", "", array("i5_lib"=>"qsys2"));
  $result = db2_exec($i5,
       "select * from systables where table_schema = '$library'");
  while ($row = db2_fetch_both($result)) {
     echo $row['TABLE_NAME']."</br>";
  }
  db2_close($i5);
?>

El resultado del ejemplo sería:

ANIMALS
NAMES
PICTURES

Ejemplo #5 Using trusted context

The following example shows how to enable trusted context, switch users, and get the current user ID.

<?php

$database = "SAMPLE";
$hostname = "localhost";
$port = 50000;
$authID = "db2inst1";
$auth_pass = "ibmdb2";

$tc_user = "tcuser";
$tc_pass = "tcpassword";

$dsn = "DATABASE=$database;HOSTNAME=$hostname;PORT=$port;
  PROTOCOL=TCPIP;UID=$authID;PWD=$auth_pass;";
$options = array ("trustedcontext" => DB2_TRUSTED_CONTEXT_ENABLE);

$tc_conn = db2_connect($dsn, "", "", $options);
if($tc_conn) {
    echo "Explicit trusted connection succeeded.\n";

    if(db2_get_option($tc_conn, "trustedcontext")) {
        $userBefore = db2_get_option($tc_conn, "trusted_user");

        //Do some work as user 1.

        //Switching to trusted user.
        $parameters = array("trusted_user" => $tc_user,
          "trusted_password" => $tcuser_pass);
        $res = db2_set_option ($tc_conn, $parameters, 1);

        $userAfter = db2_get_option($tc_conn, "trusted_user");
        //Do more work as trusted user.

        if($userBefore != $userAfter) {
            echo "User has been switched." . "\n";
        }
    }

    db2_close($tc_conn);
}
else {
    echo "Explicit trusted connection failed.\n";
}
?>

El resultado del ejemplo sería:

Explicit trusted connection succeeded.
User has been switched.

Ver también

  • db2_close() - Cierra una conexión a base de datos
  • db2_pconnect() - Returns a persistent connection to a database

db2_conn_errormsg
db2_cursor_type
Funciones de IBM DB2


Returns the cursor type used by a statement resource

db2_connect
db2_escape_string
Funciones de IBM DB2
PHP Manual

db2_cursor_type

(PECL ibm_db2 >= 1.0.0)

db2_cursor_type — Returns the cursor type used by a statement resource

Descripción

int db2_cursor_type ( resource $stmt )

Returns the cursor type used by a statement resource. Use this to determine if you are working with a forward-only cursor or scrollable cursor.

Parámetros

stmt

A valid statement resource.

Valores devueltos

Returns either DB2_FORWARD_ONLY if the statement resource uses a forward-only cursor or DB2_SCROLLABLE if the statement resource uses a scrollable cursor.

Ver también

  • db2_prepare() - Prepara un comando SQL para su ejecución

db2_connect
db2_escape_string
Funciones de IBM DB2


Used to escape certain characters

db2_cursor_type
db2_exec
Funciones de IBM DB2
PHP Manual

db2_escape_string

(PECL ibm_db2 >= 1.6.0)

db2_escape_string — Used to escape certain characters

Descripción

string db2_escape_string ( string $string_literal )

Prepends backslashes to special characters in the string argument.

Parámetros

string_literal

The string that contains special characters that need to be modified. Characters that are prepended with a backslash are \x00, \n, \r, \, ', " and \x1a.

Valores devueltos

Returns string_literal with the special characters noted above prepended with backslashes.

Ejemplos

Ejemplo #1 A db2_escape_string() example

Result of using the db2_escape_string() function

<?php

$conn = db2_connect($database, $user, $password);

if ($conn) {
    $str[0] = "All characters: \x00 , \n , \r , \ , ' , \" , \x1a .";
    $str[1] = "Backslash (\). Single quote ('). Double quote (\")";
    $str[2] = "The NULL character \0 must be quoted as well";
    $str[3] = "Intersting characters: \x1a , \x00 .";
    $str[4] = "Nothing to quote";
    $str[5] = 200676;
    $str[6] = "";

    foreach( $str as $string ) {
        echo "db2_escape_string: " . db2_escape_string($string). "\n";
    }
}
?>

El resultado del ejemplo sería:

db2_escape_string: All characters: \0 , \n , \r , \\ , \' , \" , \Z .
db2_escape_string: Backslash (\\). Single quote (\'). Double quote (\")
db2_escape_string: The NULL character \0 must be quoted as well
db2_escape_string: Intersting characters: \Z , \0 .
db2_escape_string: Nothing to quote
db2_escape_string: 200676
db2_escape_string:

Ver también

  • db2_prepare() - Prepara un comando SQL para su ejecución

db2_cursor_type
db2_exec
Funciones de IBM DB2


Executes an SQL statement directly

db2_escape_string
db2_execute
Funciones de IBM DB2
PHP Manual

db2_exec

(PECL ibm_db2 >= 1.0.0)

db2_exec — Executes an SQL statement directly

Descripción

resource db2_exec ( resource $connection , string $statement [, array $options ] )

Executes an SQL statement directly.

If you plan to interpolate PHP variables into the SQL statement, understand that this is one of the more common security exposures. Consider calling db2_prepare() to prepare an SQL statement with parameter markers for input values. Then you can call db2_execute() to pass in the input values and avoid SQL injection attacks.

If you plan to repeatedly issue the same SQL statement with different parameters, consider calling db2_prepare() and db2_execute() to enable the database server to reuse its access plan and increase the efficiency of your database access.

Parámetros

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

statement

An SQL statement. The statement cannot contain any parameter markers.

options

An associative array containing statement options. You can use this parameter to request a scrollable cursor on database servers that support this functionality.

For a description of valid statement options, see db2_set_option().

Valores devueltos

Returns a statement resource if the SQL statement was issued successfully, or FALSE if the database failed to execute the SQL statement.

Ejemplos

Ejemplo #1 Creating a table with db2_exec()

The following example uses db2_exec() to issue a set of DDL statements in the process of creating a table.

<?php
$conn = db2_connect($database, $user, $password);

// Create the test table
$create = 'CREATE TABLE animals (id INTEGER, breed VARCHAR(32),
    name CHAR(16), weight DECIMAL(7,2))';
$result = db2_exec($conn, $create);
if ($result) {
    print "Successfully created the table.\n";
}

// Populate the test table
$animals = array(
    array(0, 'cat', 'Pook', 3.2),
    array(1, 'dog', 'Peaches', 12.3),
    array(2, 'horse', 'Smarty', 350.0),
    array(3, 'gold fish', 'Bubbles', 0.1),
    array(4, 'budgerigar', 'Gizmo', 0.2),
    array(5, 'goat', 'Rickety Ride', 9.7),
    array(6, 'llama', 'Sweater', 150)
);

foreach ($animals as $animal) {
    $rc = db2_exec($conn, "INSERT INTO animals (id, breed, name, weight)
      VALUES ({$animal[0]}, '{$animal[1]}', '{$animal[2]}', {$animal[3]})");
    if ($rc) {
        print "Insert... ";
    }
}
?>

El resultado del ejemplo sería:

Successfully created the table.
Insert... Insert... Insert... Insert... Insert... Insert... Insert...

Ejemplo #2 Executing a SELECT statement with a scrollable cursor

The following example demonstrates how to request a scrollable cursor for an SQL statement issued by db2_exec().

<?php
$conn = db2_connect($database, $user, $password);
$sql = "SELECT name FROM animals
    WHERE weight < 10.0
    ORDER BY name";
if ($conn) {
    require_once('prepare.inc');
    $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
    while ($row = db2_fetch_array($stmt)) {
        print "$row[0]\n";
    }
}
?>

El resultado del ejemplo sería:

Bubbles
Gizmo
Pook
Rickety Ride

Ejemplo #3 Returning XML data as an SQL ResultSet

The following example demonstrates how to work with documents stored in a XML column using the SAMPLE database. Using some pretty simple SQL/XML, this example returns some of the nodes in a XML document in an SQL ResultSet format that most users are familiar with.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = 'SELECT * FROM XMLTABLE(
    XMLNAMESPACES (DEFAULT \'http://posample.org\'),
    \'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
    COLUMNS
    "CID" VARCHAR (50) PATH \'@Cid\',
    "NAME" VARCHAR (50) PATH \'name\',
    "PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
    ) AS T
    WHERE NAME = \'Kathy Smith\'
    ';
$stmt = db2_exec($conn, $query);

while($row = db2_fetch_object($stmt)){
    printf("$row->CID     $row->NAME     $row->PHONE\n");
}
db2_close($conn);

?>

El resultado del ejemplo sería:

1000     Kathy Smith     416-555-1358
1001     Kathy Smith     905-555-7258

Ejemplo #4 Performing a "JOIN" with XML data

The following example works with documents stored in 2 different XML columns in the SAMPLE database. It creates 2 temporary tables from the XML documents from 2 different columns and returns an SQL ResultSet with information regarding shipping status for the customer.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
    SELECT A.CID, A.NAME, A.PHONE, C.PONUM, C.STATUS
    FROM
    XMLTABLE(
    XMLNAMESPACES (DEFAULT \'http://posample.org\'),
    \'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
    COLUMNS
    "CID" BIGINT PATH \'@Cid\',
    "NAME" VARCHAR (50) PATH \'name\',
    "PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
    ) as A,
    PURCHASEORDER AS B,
    XMLTABLE (
    XMLNAMESPACES (DEFAULT \'http://posample.org\'),
    \'db2-fn:xmlcolumn("PURCHASEORDER.PORDER")/PurchaseOrder\'
    COLUMNS
    "PONUM"  BIGINT PATH \'@PoNum\',
    "STATUS" VARCHAR (50) PATH \'@Status\'
    ) as C
    WHERE A.CID = B.CUSTID AND
    B.POID = C.PONUM AND
    A.NAME = \'Kathy Smith\'
';

$stmt = db2_exec($conn, $query);

while($row = db2_fetch_object($stmt)){
    printf("$row->CID     $row->NAME     $row->PHONE     $row->PONUM     $row->STATUS\n");
}

db2_close($conn);

?>

El resultado del ejemplo sería:

1001     Kathy Smith     905-555-7258     5002     Shipped

Ejemplo #5 Returning SQL data as part of a larger XML document

The following example works with a portion of the PRODUCT.DESCRIPTION documents in the SAMPLE database. It creates a XML document containing product description (XML data) and pricing info (SQL data).

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
SELECT
XMLSERIALIZE(
XMLQUERY(\'
    declare boundary-space strip;
    declare default element namespace "http://posample.org";
    <promoList> {
    for $prod in $doc/product
    where $prod/description/price < 10.00
    order by $prod/description/price ascending
    return(
        <promoitem> {
        $prod,
        <startdate> {$start} </startdate>,
        <enddate> {$end} </enddate>,
        <promoprice> {$promo} </promoprice>
        } </promoitem>
    )
    } </promoList>
\' passing by ref DESCRIPTION AS "doc",
PROMOSTART as "start",
PROMOEND as "end",
PROMOPRICE as "promo"
RETURNING SEQUENCE)
AS CLOB (32000))
AS NEW_PRODUCT_INFO
FROM PRODUCT
WHERE PID = \'100-100-01\'
';

$stmt = db2_exec($conn, $query);

while($row = db2_fetch_array($stmt)){
    printf("$row[0]\n");
}
db2_close($conn);

?>

El resultado del ejemplo sería:

<promoList xmlns="http://posample.org">
    <promoitem>
    <product pid="100-100-01">
        <description>
            <name>Snow Shovel, Basic 22 inch</name>
            <details>Basic Snow Shovel, 22 inches wide, straight handle with D-Grip</details>
            <price>9.99</price>
            <weight>1 kg</weight>
        </description>
    </product>
    <startdate>2004-11-19</startdate>
    <enddate>2004-12-19</enddate>
    <promoprice>7.25</promoprice>
    </promoitem>
</promoList>

Ver también

  • db2_execute() - Executes a prepared SQL statement
  • db2_prepare() - Prepara un comando SQL para su ejecución

db2_escape_string
db2_execute
Funciones de IBM DB2


Executes a prepared SQL statement

db2_exec
db2_fetch_array
Funciones de IBM DB2
PHP Manual

db2_execute

(PECL ibm_db2 >= 1.0.0)

db2_execute — Executes a prepared SQL statement

Descripción

bool db2_execute ( resource $stmt [, array $parameters ] )

db2_execute() executes an SQL statement that was prepared by db2_prepare().

If the SQL statement returns a result set, for example, a SELECT statement or a CALL to a stored procedure that returns one or more result sets, you can retrieve a row as an array from the stmt resource using db2_fetch_assoc(), db2_fetch_both(), or db2_fetch_array(). Alternatively, you can use db2_fetch_row() to move the result set pointer to the next row and fetch a column at a time from that row with db2_result().

Refer to db2_prepare() for a brief discussion of the advantages of using db2_prepare() and db2_execute() rather than db2_exec().

Parámetros

stmt

A prepared statement returned from db2_prepare().

parameters

An array of input parameters matching any parameter markers contained in the prepared statement.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Preparing and executing an SQL statement with parameter markers

The following example prepares an INSERT statement that accepts four parameter markers, then iterates over an array of arrays containing the input values to be passed to db2_execute().

<?php
$pet = array(0, 'cat', 'Pook', 3.2);

$insert = 'INSERT INTO animals (id, breed, name, weight)
    VALUES (?, ?, ?, ?)';

$stmt = db2_prepare($conn, $insert);
if ($stmt) {
    $result = db2_execute($stmt, $pet);
    if ($result) {
        print "Successfully added new pet.";
    }
}
?>

El resultado del ejemplo sería:

Successfully added new pet.

Ejemplo #2 Calling a stored procedure with an OUT parameter

The following example prepares a CALL statement that accepts one parameter marker representing an OUT parameter, binds the PHP variable $my_pets to the parameter using db2_bind_param(), then issues db2_execute() to execute the CALL statement. After the CALL to the stored procedure has been made, the value of $num_pets changes to reflect the value returned by the stored procedure for that OUT parameter.

<?php
$num_pets = 0;
$res = db2_prepare($conn, "CALL count_my_pets(?)");
$rc = db2_bind_param($res, 1, "num_pets", DB2_PARAM_OUT);
$rc = db2_execute($res);
print "I have $num_pets pets!";
?>

El resultado del ejemplo sería:

I have 7 pets!

Ejemplo #3 Returning XML data as an SQL ResultSet

The following example demonstrates how to work with documents stored in a XML column using the SAMPLE database. Using some pretty simple SQL/XML, this example returns some of the nodes in a XML document in an SQL ResultSet format that most users are familiar with.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = 'SELECT * FROM XMLTABLE(
    XMLNAMESPACES (DEFAULT \'http://posample.org\'),
    \'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
    COLUMNS
    "CID" VARCHAR (50) PATH \'@Cid\',
    "NAME" VARCHAR (50) PATH \'name\',
    "PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
    ) AS T
    WHERE NAME = ?
    ';

$stmt = db2_prepare($conn, $query);

$name = 'Kathy Smith';

if ($stmt) {
    db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
    db2_execute($stmt);

    while($row = db2_fetch_object($stmt)){
    printf("$row->CID     $row->NAME     $row->PHONE\n");
    }
}
db2_close($conn);

?>

El resultado del ejemplo sería:

1000     Kathy Smith     416-555-1358
1001     Kathy Smith     905-555-7258

Ejemplo #4 Performing a "JOIN" with XML data

The following example works with documents stored in 2 different XML columns in the SAMPLE database. It creates 2 temporary tables from the XML documents from 2 different columns and returns an SQL ResultSet with information regarding shipping status for the customer.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
SELECT A.CID, A.NAME, A.PHONE, C.PONUM, C.STATUS
FROM
XMLTABLE(
XMLNAMESPACES (DEFAULT \'http://posample.org\'),
\'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
COLUMNS
"CID" BIGINT PATH \'@Cid\',
"NAME" VARCHAR (50) PATH \'name\',
"PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
) as A,
PURCHASEORDER AS B,
XMLTABLE (
XMLNAMESPACES (DEFAULT \'http://posample.org\'),
\'db2-fn:xmlcolumn("PURCHASEORDER.PORDER")/PurchaseOrder\'
COLUMNS
"PONUM"  BIGINT PATH \'@PoNum\',
"STATUS" VARCHAR (50) PATH \'@Status\'
) as C
WHERE A.CID = B.CUSTID AND
    B.POID = C.PONUM AND
    A.NAME = ?
';

$stmt = db2_prepare($conn, $query);

$name = 'Kathy Smith';

if ($stmt) {
    db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
    db2_execute($stmt);

    while($row = db2_fetch_object($stmt)){
    printf("$row->CID     $row->NAME     $row->PHONE     $row->PONUM     $row->STATUS\n");
    }
}

db2_close($conn);

?>

El resultado del ejemplo sería:

1001     Kathy Smith     905-555-7258     5002     Shipped

Ejemplo #5 Returning SQL data as part of a larger XML document

The following example works with a portion of the PRODUCT.DESCRIPTION documents in the SAMPLE database. It creates a XML document containing product description (XML data) and pricing info (SQL data).

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
SELECT
XMLSERIALIZE(
XMLQUERY(\'
    declare boundary-space strip;
    declare default element namespace "http://posample.org";
    <promoList> {
    for $prod in $doc/product
    where $prod/description/price < 10.00
    order by $prod/description/price ascending
    return(
        <promoitem> {
        $prod,
        <startdate> {$start} </startdate>,
        <enddate> {$end} </enddate>,
        <promoprice> {$promo} </promoprice>
            } </promoitem>
    )
    } </promoList>
\' passing by ref DESCRIPTION AS "doc",
PROMOSTART as "start",
PROMOEND as "end",
PROMOPRICE as "promo"
RETURNING SEQUENCE)
AS CLOB (32000))
AS NEW_PRODUCT_INFO
FROM PRODUCT
WHERE PID = ?
';

$stmt = db2_prepare($conn, $query);

$pid = "100-100-01";

if ($stmt) {
    db2_bind_param($stmt, 1, "pid", DB2_PARAM_IN);
    db2_execute($stmt);

    while($row = db2_fetch_array($stmt)){
    printf("$row[0]\n");
    }
}

db2_close($conn);

?>

El resultado del ejemplo sería:

<promoList xmlns="http://posample.org">
    <promoitem>
    <product pid="100-100-01">
        <description>
            <name>Snow Shovel, Basic 22 inch</name>
            <details>Basic Snow Shovel, 22 inches wide, straight handle with D-Grip</details>
            <price>9.99</price>
            <weight>1 kg</weight>
        </description>
    </product>
    <startdate>2004-11-19</startdate>
    <enddate>2004-12-19</enddate>
    <promoprice>7.25</promoprice>
    </promoitem>
</promoList>

Ver también

  • db2_exec() - Executes an SQL statement directly
  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_prepare() - Prepara un comando SQL para su ejecución
  • db2_result() - Returns a single column from a row in the result set

db2_exec
db2_fetch_array
Funciones de IBM DB2


Returns an array, indexed by column position, representing a row in a result set

db2_execute
db2_fetch_assoc
Funciones de IBM DB2
PHP Manual

db2_fetch_array

(PECL ibm_db2 >= 1.0.1)

db2_fetch_array — Returns an array, indexed by column position, representing a row in a result set

Descripción

array db2_fetch_array ( resource $stmt [, int $row_number = -1 ] )

Returns an array, indexed by column position, representing a row in a result set. The columns are 0-indexed.

Parámetros

stmt

A valid stmt resource containing a result set.

row_number

Requests a specific 1-indexed row from the result set. Passing this parameter results in a PHP warning if the result set uses a forward-only cursor.

Valores devueltos

Returns a 0-indexed array with column values indexed by the column position representing the next or requested row in the result set. Returns FALSE if there are no rows left in the result set, or if the row requested by row_number does not exist in the result set.

Ejemplos

Ejemplo #1 Iterating through a forward-only cursor

If you call db2_fetch_array() without a specific row number, it automatically retrieves the next row in the result set.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);

while ($row = db2_fetch_array($stmt)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row[0], $row[1], $row[2], $row[3]);
}
?>

El resultado del ejemplo sería:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Ejemplo #2 Retrieving specific rows with db2_fetch_array() from a scrollable cursor

If your result set uses a scrollable cursor, you can call db2_fetch_array() with a specific row number. The following example retrieves every other row in the result set, starting with the second row.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));

$i=2;
while ($row = db2_fetch_array($result, $i)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row[0], $row[1], $row[2], $row[3]);
    $i = $i + 2;
}
?>

El resultado del ejemplo sería:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Ver también

  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_object() - Returns an object with properties representing columns in the fetched row
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_result() - Returns a single column from a row in the result set

db2_execute
db2_fetch_assoc
Funciones de IBM DB2


Returns an array, indexed by column name, representing a row in a result set

db2_fetch_array
db2_fetch_both
Funciones de IBM DB2
PHP Manual

db2_fetch_assoc

(PECL ibm_db2 >= 1.0.0)

db2_fetch_assoc — Returns an array, indexed by column name, representing a row in a result set

Descripción

array db2_fetch_assoc ( resource $stmt [, int $row_number = -1 ] )

Returns an array, indexed by column name, representing a row in a result set.

Parámetros

stmt

A valid stmt resource containing a result set.

row_number

Requests a specific 1-indexed row from the result set. Passing this parameter results in a PHP warning if the result set uses a forward-only cursor.

Valores devueltos

Returns an associative array with column values indexed by the column name representing the next or requested row in the result set. Returns FALSE if there are no rows left in the result set, or if the row requested by row_number does not exist in the result set.

Ejemplos

Ejemplo #1 Iterating through a forward-only cursor

If you call db2_fetch_assoc() without a specific row number, it automatically retrieves the next row in the result set.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);

while ($row = db2_fetch_assoc($stmt)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row['ID'], $row['NAME'], $row['BREED'], $row['WEIGHT']);
}
?>

El resultado del ejemplo sería:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Ejemplo #2 Retrieving specific rows with db2_fetch_assoc() from a scrollable cursor

If your result set uses a scrollable cursor, you can call db2_fetch_assoc() with a specific row number. The following example retrieves every other row in the result set, starting with the second row.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));

$i=2;
while ($row = db2_fetch_assoc($result, $i)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row['ID'], $row['NAME'], $row['BREED'], $row['WEIGHT']);
    $i = $i + 2;
}
?>

El resultado del ejemplo sería:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Ver también

  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_object() - Returns an object with properties representing columns in the fetched row
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_result() - Returns a single column from a row in the result set

db2_fetch_array
db2_fetch_both
Funciones de IBM DB2


Returns an array, indexed by both column name and position, representing a row in a result set

db2_fetch_assoc
db2_fetch_object
Funciones de IBM DB2
PHP Manual

db2_fetch_both

(PECL ibm_db2 >= 1.0.0)

db2_fetch_both — Returns an array, indexed by both column name and position, representing a row in a result set

Descripción

array db2_fetch_both ( resource $stmt [, int $row_number = -1 ] )

Returns an array, indexed by both column name and position, representing a
row in a result set. Note that the row returned by
 db2_fetch_both() requires more memory than the
single-indexed arrays returned by  db2_fetch_assoc() or
 db2_fetch_array().

Parámetros

stmt

A valid stmt resource containing a result set.

row_number

Requests a specific 1-indexed row from the result set. Passing this parameter results in a PHP warning if the result set uses a forward-only cursor.

Valores devueltos

Returns an associative array with column values indexed by both the column name and 0-indexed column number. The array represents the next or requested row in the result set. Returns FALSE if there are no rows left in the result set, or if the row requested by row_number does not exist in the result set.

Ejemplos

Ejemplo #1 Iterating through a forward-only cursor

If you call db2_fetch_both() without a specific row number, it automatically retrieves the next row in the result set. The following example accesses columns in the returned array by both column name and by numeric index.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);

while ($row = db2_fetch_both($stmt)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row['ID'], $row[0], $row['BREED'], $row[3]);
}
?>

El resultado del ejemplo sería:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Ejemplo #2 Retrieving specific rows with db2_fetch_both() from a scrollable cursor

If your result set uses a scrollable cursor, you can call db2_fetch_both() with a specific row number. The following example retrieves every other row in the result set, starting with the second row.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));

$i=2;
while ($row = db2_fetch_both($result, $i)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row[0], $row['NAME'], $row[2], $row['WEIGHT']);
    $i = $i + 2;
}
?>

El resultado del ejemplo sería:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Ver también

  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_object() - Returns an object with properties representing columns in the fetched row
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_result() - Returns a single column from a row in the result set

db2_fetch_assoc
db2_fetch_object
Funciones de IBM DB2


Returns an object with properties representing columns in the fetched row

db2_fetch_both
db2_fetch_row
Funciones de IBM DB2
PHP Manual

db2_fetch_object

(PECL ibm_db2 >= 1.0.0)

db2_fetch_object — Returns an object with properties representing columns in the fetched row

Descripción

object db2_fetch_object ( resource $stmt [, int $row_number = -1 ] )

Returns an object in which each property represents a column returned in the row fetched from a result set.

Parámetros

stmt

A valid stmt resource containing a result set.

row_number

Requests a specific 1-indexed row from the result set. Passing this parameter results in a PHP warning if the result set uses a forward-only cursor.

Valores devueltos

Returns an object representing a single row in the result set. The properties of the object map to the names of the columns in the result set.

The IBM DB2, Cloudscape, and Apache Derby database servers typically fold column names to upper-case, so the object properties will reflect that case.

If your SELECT statement calls a scalar function to modify the value of a column, the database servers return the column number as the name of the column in the result set. If you prefer a more descriptive column name and object property, you can use the AS clause to assign a name to the column in the result set.

Returns FALSE if no row was retrieved.

Ejemplos

Ejemplo #1 A db2_fetch_object() example

The following example issues a SELECT statement with a scalar function, RTRIM, that removes whitespace from the end of the column. Rather than creating an object with the properties "BREED" and "2", we use the AS clause in the SELECT statement to assign the name "name" to the modified column. The database server folds the column names to upper-case, resulting in an object with the properties "BREED" and "NAME".

<?php
$conn = db2_connect($database, $user, $password);

$sql = "SELECT breed, RTRIM(name) AS name
    FROM animals
    WHERE id = ?";

if ($conn) {
    $stmt = db2_prepare($conn, $sql);
    db2_execute($stmt, array(0));

    while ($pet = db2_fetch_object($stmt)) {
        echo "Come here, {$pet->NAME}, my little {$pet->BREED}!";
    }
    db2_close($conn);
}
?>

El resultado del ejemplo sería:

Come here, Pook, my little cat!

Ver también

  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_result() - Returns a single column from a row in the result set

db2_fetch_both
db2_fetch_row
Funciones de IBM DB2


Sets the result set pointer to the next row or requested row

db2_fetch_object
db2_field_display_size
Funciones de IBM DB2
PHP Manual

db2_fetch_row

(PECL ibm_db2 >= 1.0.0)

db2_fetch_row — Sets the result set pointer to the next row or requested row

Descripción

bool db2_fetch_row ( resource $stmt [, int $row_number ] )

Use db2_fetch_row() to iterate through a result set, or to point to a specific row in a result set if you requested a scrollable cursor.

To retrieve individual fields from the result set, call the db2_result() function.

Rather than calling db2_fetch_row() and db2_result(), most applications will call one of db2_fetch_assoc(), db2_fetch_both(), or db2_fetch_array() to advance the result set pointer and return a complete row as an array.

Parámetros

stmt

A valid stmt resource.

row_number

With scrollable cursors, you can request a specific row number in the result set. Row numbering is 1-indexed.

Valores devueltos

Returns TRUE if the requested row exists in the result set. Returns FALSE if the requested row does not exist in the result set.

Ejemplos

Ejemplo #1 Iterating through a result set

The following example demonstrates how to iterate through a result set with db2_fetch_row() and retrieve columns from the result set with db2_result().

<?php
$sql = 'SELECT name, breed FROM animals WHERE weight < ?';
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, array(10));
while (db2_fetch_row($stmt)) {
    $name = db2_result($stmt, 0);
    $breed = db2_result($stmt, 1);
    print "$name $breed";
}
?>

El resultado del ejemplo sería:

cat Pook
gold fish Bubbles
budgerigar Gizmo
goat Rickety Ride

Ejemplo #2 i5/OS recommended alternatives to db2_fetch_row/db2_result

On i5/OS it is recommended that you use db2_fetch_both(), db2_fetch_array(), or db2_fetch_object() over db2_fetch_row()/ db2_result(). In general db2_fetch_row()/ db2_result() have more issues with various column types in EBCIDIC to ASCII translation, including possible truncation in DBCS applications. You may also find the performance of db2_fetch_both(), db2_fetch_array(), and db2_fetch_object() to be superior to db2_fetch_row()/ db2_result().

<?php
  $conn = db2_connect("","","");
  $sql = 'SELECT SPECIFIC_SCHEMA, SPECIFIC_NAME, ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE, ROUTINE_CREATED, ROUTINE_BODY, IN_PARMS, OUT_PARMS, INOUT_PARMS, PARAMETER_STYLE, EXTERNAL_NAME, EXTERNAL_LANGUAGE FROM QSYS2.SYSROUTINES FETCH FIRST 2 ROWS ONLY';
  $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
  while ($row = db2_fetch_both($stmt)){
    echo "<br>db2_fetch_both {$row['SPECIFIC_NAME']} {$row['ROUTINE_CREATED']} {$row[5]}";
  }
  $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
  while ($row = db2_fetch_array($stmt)){
    echo "<br>db2_fetch_array {$row[1]}  {$row[5]}";
  }
  $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
  while ($row = db2_fetch_object($stmt)){
    echo "<br>db2_fetch_object {$row->SPECIFIC_NAME} {$row->ROUTINE_CREATED}";
  }
  db2_close($conn);
?>

El resultado del ejemplo sería:

db2_fetch_both MATCH_ANIMAL 2006-08-25-17.10.23.775000 2006-08-25-17.10.23.775000
db2_fetch_both MULTIRESULTS 2006-10-17-10.11.05.308000 2006-10-17-10.11.05.308000
db2_fetch_array MATCH_ANIMAL 2006-08-25-17.10.23.775000
db2_fetch_array MULTIRESULTS 2006-10-17-10.11.05.308000
db2_fetch_object MATCH_ANIMAL 2006-08-25-17.10.23.775000
db2_fetch_object MULTIRESULTS 2006-10-17-10.11.05.308000

Ver también

  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_object() - Returns an object with properties representing columns in the fetched row
  • db2_result() - Returns a single column from a row in the result set

db2_fetch_object
db2_field_display_size
Funciones de IBM DB2


Returns the maximum number of bytes required to display a column

db2_fetch_row
db2_field_name
Funciones de IBM DB2
PHP Manual

db2_field_display_size

(PECL ibm_db2 >= 1.0.0)

db2_field_display_size — Returns the maximum number of bytes required to display a column

Descripción

int db2_field_display_size ( resource $stmt , mixed $column )

Returns the maximum number of bytes required to display a column in a result set.

Parámetros

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Valores devueltos

Returns an integer value with the maximum number of bytes required to display the specified column. If the column does not exist in the result set, db2_field_display_size() returns FALSE.

Ver también

  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set

db2_fetch_row
db2_field_name
Funciones de IBM DB2


Returns the name of the column in the result set

db2_field_display_size
db2_field_num
Funciones de IBM DB2
PHP Manual

db2_field_name

(PECL ibm_db2 >= 1.0.0)

db2_field_name — Returns the name of the column in the result set

Descripción

string db2_field_name ( resource $stmt , mixed $column )

Returns the name of the specified column in the result set.

Parámetros

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Valores devueltos

Returns a string containing the name of the specified column. If the specified column does not exist in the result set, db2_field_name() returns FALSE.

Ver también

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set

db2_field_display_size
db2_field_num
Funciones de IBM DB2


Returns the position of the named column in a result set

db2_field_name
db2_field_precision
Funciones de IBM DB2
PHP Manual

db2_field_num

(PECL ibm_db2 >= 1.0.0)

db2_field_num — Returns the position of the named column in a result set

Descripción

int db2_field_num ( resource $stmt , mixed $column )

Returns the position of the named column in a result set.

Parámetros

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Valores devueltos

Returns an integer containing the 0-indexed position of the named column in the result set. If the specified column does not exist in the result set, db2_field_num() returns FALSE.

Ver también

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set

db2_field_name
db2_field_precision
Funciones de IBM DB2


Returns the precision of the indicated column in a result set

db2_field_num
db2_field_scale
Funciones de IBM DB2
PHP Manual

db2_field_precision

(PECL ibm_db2 >= 1.0.0)

db2_field_precision — Returns the precision of the indicated column in a result set

Descripción

int db2_field_precision ( resource $stmt , mixed $column )

Returns the precision of the indicated column in a result set.

Parámetros

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Valores devueltos

Returns an integer containing the precision of the specified column. If the specified column does not exist in the result set, db2_field_precision() returns FALSE.

Ver también

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set

db2_field_num
db2_field_scale
Funciones de IBM DB2


Returns the scale of the indicated column in a result set

db2_field_precision
db2_field_type
Funciones de IBM DB2
PHP Manual

db2_field_scale

(PECL ibm_db2 >= 1.0.0)

db2_field_scale — Returns the scale of the indicated column in a result set

Descripción

int db2_field_scale ( resource $stmt , mixed $column )

Returns the scale of the indicated column in a result set.

Parámetros

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Valores devueltos

Returns an integer containing the scale of the specified column. If the specified column does not exist in the result set, db2_field_scale() returns FALSE.

Ver también

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set

db2_field_precision
db2_field_type
Funciones de IBM DB2


Returns the data type of the indicated column in a result set

db2_field_scale
db2_field_width
Funciones de IBM DB2
PHP Manual

db2_field_type

(PECL ibm_db2 >= 1.0.0)

db2_field_type — Returns the data type of the indicated column in a result set

Descripción

string db2_field_type ( resource $stmt , mixed $column )

Returns the data type of the indicated column in a result set.

Parámetros

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Valores devueltos

Returns a string containing the defined data type of the specified column. If the specified column does not exist in the result set, db2_field_type() returns FALSE.

Ver también

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set

db2_field_scale
db2_field_width
Funciones de IBM DB2


Returns the width of the current value of the indicated column in a result set

db2_field_type
db2_foreign_keys
Funciones de IBM DB2
PHP Manual

db2_field_width

(PECL ibm_db2 >= 1.0.0)

db2_field_width — Returns the width of the current value of the indicated column in a result set

Descripción

int db2_field_width ( resource $stmt , mixed $column )

Returns the width of the current value of the indicated column in a result set. This is the maximum width of the column for a fixed-length data type, or the actual width of the column for a variable-length data type.

Parámetros

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Valores devueltos

Returns an integer containing the width of the specified character or binary data type column in a result set. If the specified column does not exist in the result set, db2_field_width() returns FALSE.

Ver también

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set

db2_field_type
db2_foreign_keys
Funciones de IBM DB2


Returns a result set listing the foreign keys for a table

db2_field_width
db2_free_result
Funciones de IBM DB2
PHP Manual

db2_foreign_keys

(PECL ibm_db2 >= 1.0.0)

db2_foreign_keys — Returns a result set listing the foreign keys for a table

Descripción

resource db2_foreign_keys ( resource $connection , string $qualifier , string $schema , string $table-name )

Returns a result set listing the foreign keys for a table.

Parámetros

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables. If schema is NULL, db2_foreign_keys() matches the schema for the current connection.

table-name

The name of the table.

Valores devueltos

Returns a statement resource with a result set containing rows describing the foreign keys for the specified table. The result set is composed of the following columns:

Column name | Description
PKTABLE_CAT | Name of the catalog for the table containing the primary key. The value is NULL if this table does not have catalogs.
PKTABLE_SCHEM | Name of the schema for the table containing the primary key.
PKTABLE_NAME | Name of the table containing the primary key.
PKCOLUMN_NAME | Name of the column containing the primary key.
FKTABLE_CAT | Name of the catalog for the table containing the foreign key. The value is NULL if this table does not have catalogs.
FKTABLE_SCHEM | Name of the schema for the table containing the foreign key.
FKTABLE_NAME | Name of the table containing the foreign key.
FKCOLUMN_NAME | Name of the column containing the foreign key.
KEY_SEQ | 1-indexed position of the column in the key.
UPDATE_RULE | Integer value representing the action applied to the foreign key when the SQL operation is UPDATE.
DELETE_RULE | Integer value representing the action applied to the foreign key when the SQL operation is DELETE.
FK_NAME | The name of the foreign key.
PK_NAME | The name of the primary key.
DEFERRABILITY | An integer value representing whether the foreign key deferrability is SQL_INITIALLY_DEFERRED, SQL_INITIALLY_IMMEDIATE, or SQL_NOT_DEFERRABLE.

Ver también

  • db2_column_privileges() - Obtiene la lista de columnas y permisos asociados a una tabla
  • db2_columns() - Devuelve los campos de una tabla y sus metadatos asociados.
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database

db2_field_width
db2_free_result
Funciones de IBM DB2


Frees resources associated with a result set

db2_foreign_keys
db2_free_stmt
Funciones de IBM DB2
PHP Manual

db2_free_result

(PECL ibm_db2 >= 1.0.0)

db2_free_result — Frees resources associated with a result set

Descripción

bool db2_free_result ( resource $stmt )

Frees the system and database resources that are associated with a result set. These resources are freed implicitly when a script finishes, but you can call db2_free_result() to explicitly free the result set resources before the end of the script.

Parámetros

stmt

A valid statement resource.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • db2_free_stmt() - Frees resources associated with the indicated statement resource

db2_foreign_keys
db2_free_stmt
Funciones de IBM DB2


Frees resources associated with the indicated statement resource

db2_free_result
db2_get_option
Funciones de IBM DB2
PHP Manual

db2_free_stmt

(PECL ibm_db2 >= 1.0.0)

db2_free_stmt — Frees resources associated with the indicated statement resource

Descripción

bool db2_free_stmt ( resource $stmt )

Frees the system and database resources that are associated with a statement resource. These resources are freed implicitly when a script finishes, but you can call db2_free_stmt() to explicitly free the statement resources before the end of the script.

Parámetros

stmt

A valid statement resource.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • db2_free_result() - Frees resources associated with a result set

db2_free_result
db2_get_option
Funciones de IBM DB2


Retrieves an option value for a statement resource or a connection resource

db2_free_stmt
db2_last_insert_id
Funciones de IBM DB2
PHP Manual

db2_get_option

(PECL ibm_db2 >= 1.6.0)

db2_get_option — Retrieves an option value for a statement resource or a connection resource

Descripción

string db2_get_option ( resource $resource , string $option )

Retrieves the value of a specified option value for a statement resource or a connection resource.

Parámetros

resource

A valid statement resource as returned from db2_prepare() or a valid connection resource as returned from db2_connect() or db2_pconnect().

option

A valid statement or connection options. The following new options are available as of ibm_db2 version 1.6.0. They provide useful tracking information that can be set during execution with db2_get_option().

Nota:

Prior versions of ibm_db2 do not support these new options.

When the value in each option is being set, some servers might not handle the entire length provided and might truncate the value.

To ensure that the data specified in each option is converted correctly when transmitted to a host system, use only the characters A through Z, 0 through 9, and the underscore (_) or period (.).

userid

SQL_ATTR_INFO_USERID - A pointer to a null-terminated character string used to identify the client user ID sent to the host database server when using DB2 Connect.

Nota:

DB2 for z/OS and OS/390 servers support up to a length of 16 characters. This user-id is not to be confused with the authentication user-id, it is for identification purposes only and is not used for any authorization.

acctstr

SQL_ATTR_INFO_ACCTSTR - A pointer to a null-terminated character string used to identify the client accounting string sent to the host database server when using DB2 Connect.

Nota:

DB2 for z/OS and OS/390 servers support up to a length of 200 characters.

applname

SQL_ATTR_INFO_APPLNAME - A pointer to a null-terminated character string used to identify the client application name sent to the host database server when using DB2 Connect.

Nota:

DB2 for z/OS and OS/390 servers support up to a length of 32 characters.

wrkstnname

SQL_ATTR_INFO_WRKSTNNAME - A pointer to a null-terminated character string used to identify the client workstation name sent to the host database server when using DB2 Connect.

Nota:

DB2 for z/OS and OS/390 servers support up to a length of 18 characters.

The following table specifies which options are compatible with the available resource types:

Resource-Parameter Matrix
Key | Value | Resource Type
 |  | Connection | Statement | Result Set
userid | SQL_ATTR_INFO_USERID | X | X | -
acctstr | SQL_ATTR_INFO_ACCTSTR | X | X | -
applname | SQL_ATTR_INFO_APPLNAME | X | X | -
wrkstnname | SQL_ATTR_INFO_WRKSTNNAME | X | X | -

Valores devueltos

Returns the current setting of the connection attribute provided on success o FALSE en caso de error.

Ejemplos

Ejemplo #1 Setting and retrieving parameters through a connection resource

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$user     = 'db2inst1';
$password = 'ibmdb2';

/* Obtain Connection Resource */
$conn = db2_connect($database, $user, $password);

echo "Client attributes passed through connection string:\n";

/* Create the associative options array with valid key-value pairs */
/* Assign the attributes through connection string */
/* Access the options specified */
$options1 = array('userid' => 'db2inst1');
$conn1 = db2_connect($database, $user, $password, $options1);
$val = db2_get_option($conn1, 'userid');
echo $val . "\n";

$options2 = array('acctstr' => 'account');
$conn2 = db2_connect($database, $user, $password, $options2);
$val = db2_get_option($conn2, 'acctstr');
echo $val . "\n";

$options3 = array('applname' => 'myapp');
$conn3 = db2_connect($database, $user, $password, $options3);
$val = db2_get_option($conn3, 'applname');
echo $val . "\n";

$options4 = array('wrkstnname' => 'workstation');
$conn4 = db2_connect($database, $user, $password, $options4);
$val = db2_get_option($conn4, 'wrkstnname');
echo $val . "\n";

echo "Client attributes passed post-connection:\n";

/* Create the associative options array with valid key-value pairs */
/* Assign the attributes after a connection is made */
/* Access the options specified */
$options5 = array('userid' => 'db2inst1');
$conn5 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn5, $options5, 1);
$val = db2_get_option($conn5, 'userid');
echo $val . "\n";

$options6 = array('acctstr' => 'account');
$conn6 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn6, $options6, 1);
$val = db2_get_option($conn6, 'acctstr');
echo $val . "\n";

$options7 = array('applname' => 'myapp');
$conn7 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn7, $options7, 1);
$val = db2_get_option($conn7, 'applname');
echo $val . "\n";

$options8 = array('wrkstnname' => 'workstation');
$conn8 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn8, $options8, 1);
$val = db2_get_option($conn8, 'wrkstnname');
echo $val . "\n";
?>

El resultado del ejemplo sería:

Client attributes passed through connection string:
db2inst1
account
myapp
workstation
Client attributes passed post-connection:
db2inst1
account
myapp
workstation

Ver también

  • db2_connect() - Returns a connection to a database
  • db2_cursor_type() - Returns the cursor type used by a statement resource
  • db2_exec() - Executes an SQL statement directly
  • db2_set_option() - Set options for connection or statement resources
  • db2_pconnect() - Returns a persistent connection to a database
  • db2_prepare() - Prepara un comando SQL para su ejecución

db2_free_stmt
db2_last_insert_id
Funciones de IBM DB2


Returns the auto generated ID of the last insert query that successfully executed on this connection

db2_get_option
db2_lob_read
Funciones de IBM DB2
PHP Manual

db2_last_insert_id

(PECL ibm_db2 >= 1.7.1)

db2_last_insert_id — Returns the auto generated ID of the last insert query that successfully executed on this connection

Descripción

string db2_last_insert_id ( resource $resource )

Returns the auto generated ID of the last insert query that successfully executed on this connection.

The result of this function is not affected by any of the following:

  • A single row INSERT statement with a VALUES clause for a table without an identity column.

  • A multiple row INSERT statement with a VALUES clause.

  • An INSERT statement with a fullselect.

  • A ROLLBACK TO SAVEPOINT statement.

Parámetros

resource

A valid connection resource as returned from db2_connect() or db2_pconnect(). The value of this parameter cannot be a statement resource or result set resource.

Valores devueltos

Returns the auto generated ID of last insert query that successfully executed on this connection.

Ejemplos

Ejemplo #1 A db2_last_insert_id() example

The following example shows how to return the auto generated ID of last insert query that successfully executed on this connection.

<?php

$database = "SAMPLE";
$user = "db2inst1";
$password = "ibmdb2";

$conn = db2_connect($database, $user, $password);
if($conn) {
    $createTable = "CREATE TABLE lastInsertID
      (id integer GENERATED BY DEFAULT AS IDENTITY, name varchar(20))";
    $insertTable = "INSERT INTO lastInsertID (name) VALUES ('Temp Name')";

    $stmt = @db2_exec($conn, $createTable);

    /* Checking for single row inserted. */
    $stmt = db2_exec($conn, $insertTable);
    $ret =  db2_last_insert_id($conn);
    if($ret) {
        echo "Last Insert ID is : " . $ret . "\n";
    } else {
        echo "No Last insert ID.\n";
    }

    db2_close($conn);
}
else {
    echo "Connection failed.";
}
?>

El resultado del ejemplo sería:

Last Insert ID is : 1

db2_get_option
db2_lob_read
Funciones de IBM DB2


Gets a user defined size of LOB files with each invocation

db2_last_insert_id
db2_next_result
Funciones de IBM DB2
PHP Manual

db2_lob_read

(PECL ibm_db2 >= 1.6.0)

db2_lob_read — Gets a user defined size of LOB files with each invocation

Descripción

string db2_lob_read ( resource $stmt , int $colnum , int $length )

Use db2_lob_read() to iterate through a specified column of a result set and retrieve a user defined size of LOB data.

Parámetros

stmt

A valid stmt resource containing LOB data.

colnum

A valid column number in the result set of the stmt resource.

length

The size of the LOB data to be retrieved from the stmt resource.

Valores devueltos

Returns the amount of data the user specifies. Returns FALSE if the data cannot be retrieved.

Ejemplos

Ejemplo #1 Iterating through different types of data

<?php

/* Database Connection Parameters */
$db = 'SAMPLE';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Obtain Connection Resource */
$conn = db2_connect($db,$username,$password);

if ($conn) {
    $drop = 'DROP TABLE clob_stream';
    $result = @db2_exec( $conn, $drop );

    $create = 'CREATE TABLE clob_stream (id INTEGER, my_clob CLOB)';
    $result = db2_exec( $conn, $create );

    $variable = "";
    $stmt = db2_prepare($conn, "INSERT INTO clob_stream (id,my_clob) VALUES (1, ?)");
    $variable = "THIS IS A CLOB TEST. THIS IS A CLOB TEST.";
    db2_bind_param($stmt, 1, "variable", DB2_PARAM_IN);
    db2_execute($stmt);

    $sql = "SELECT id,my_clob FROM clob_stream";
    $result = db2_prepare($conn, $sql);
    db2_execute($result);
    db2_fetch_row($result);
    $i = 0;
    /* Read LOB data */
    while ($data = db2_lob_read($result, 2, 6)) {
        echo "Loop $i: $data\n";
        $i = $i + 1;
    }

    $drop = 'DROP TABLE blob_stream';
    $result = @db2_exec( $conn, $drop );

    $create = 'CREATE TABLE blob_stream (id INTEGER, my_blob CLOB)';
    $result = db2_exec( $conn, $create );

    $variable = "";
    $stmt = db2_prepare($conn, "INSERT INTO blob_stream (id,my_blob) VALUES (1, ?)");
    $variable = "THIS IS A BLOB TEST. THIS IS A BLOB TEST.";
    db2_bind_param($stmt, 1, "variable", DB2_PARAM_IN);
    db2_execute($stmt);

    $sql = "SELECT id,my_blob FROM blob_stream";
    $result = db2_prepare($conn, $sql);
    db2_execute($result);
    db2_fetch_row($result);
    $i = 0;
    /* Read LOB data */
    while ($data = db2_lob_read($result, 2, 6)) {
        echo "Loop $i: $data\n";
        $i = $i + 1;
    }
} else {
    echo 'no connection: ' . db2_conn_errormsg();
}

?>

El resultado del ejemplo sería:

Loop 0: THIS I
Loop 1: S A CL
Loop 2: OB TES
Loop 3: T. THI
Loop 4: S IS A
Loop 5:  CLOB
Loop 6: TEST.
Loop 0: THIS I
Loop 1: S A BL
Loop 2: OB TES
Loop 3: T. THI
Loop 4: S IS A
Loop 5:  BLOB
Loop 6: TEST.

Ver también

  • db2_bind_param() - Vincula una variable PHP a un parámetro de una sentencia SQL
  • db2_exec() - Executes an SQL statement directly
  • db2_execute() - Executes a prepared SQL statement
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_prepare() - Prepara un comando SQL para su ejecución
  • db2_result() - Returns a single column from a row in the result set

db2_last_insert_id
db2_next_result
Funciones de IBM DB2


Requests the next result set from a stored procedure

db2_lob_read
db2_num_fields
Funciones de IBM DB2
PHP Manual

db2_next_result

(PECL ibm_db2 >= 1.0.0)

db2_next_result — Requests the next result set from a stored procedure

Descripción

resource db2_next_result ( resource $stmt )

A stored procedure can return zero or more result sets. While you handle the first result set in exactly the same way you would handle the results returned by a simple SELECT statement, to fetch the second and subsequent result sets from a stored procedure you must call the db2_next_result() function and return the result to a uniquely named PHP variable.

Parámetros

stmt

A prepared statement returned from db2_exec() or db2_execute().

Valores devueltos

Returns a new statement resource containing the next result set if the stored procedure returned another result set. Returns FALSE if the stored procedure did not return another result set.

Ejemplos

Ejemplo #1 Calling a stored procedure that returns multiple result sets

In the following example, we call a stored procedure that returns three result sets. The first result set is fetched directly from the same statement resource on which we invoked the CALL statement, while the second and third result sets are fetched from statement resources returned from our calls to the db2_next_result() function.

<?php
$conn = db2_connect($database, $user, $password);

if ($conn) {
  $stmt = db2_exec($conn, 'CALL multiResults()');

  print "Fetching first result set\n";
  while ($row = db2_fetch_array($stmt)) {
    var_dump($row);
  }

  print "\nFetching second result set\n";
  $res = db2_next_result($stmt);
  if ($res) {
    while ($row = db2_fetch_array($res)) {
      var_dump($row);
    }
  }

  print "\nFetching third result set\n";
  $res2 = db2_next_result($stmt);
  if ($res2) {
    while ($row = db2_fetch_array($res2)) {
      var_dump($row);
    }
  }

  db2_close($conn);
}
?>

El resultado del ejemplo sería:

Fetching first result set
array(2) {
  [0]=>
  string(16) "Bubbles         "
  [1]=>
  int(3)
}
array(2) {
  [0]=>
  string(16) "Gizmo           "
  [1]=>
  int(4)
}

Fetching second result set
array(4) {
  [0]=>
  string(16) "Sweater         "
  [1]=>
  int(6)
  [2]=>
  string(5) "llama"
  [3]=>
  string(6) "150.00"
}
array(4) {
  [0]=>
  string(16) "Smarty          "
  [1]=>
  int(2)
  [2]=>
  string(5) "horse"
  [3]=>
  string(6) "350.00"
}

Fetching third result set
array(1) {
  [0]=>
  string(16) "Bubbles         "
}
array(1) {
  [0]=>
  string(16) "Gizmo           "
}

db2_lob_read
db2_num_fields
Funciones de IBM DB2


Returns the number of fields contained in a result set

db2_next_result
db2_num_rows
Funciones de IBM DB2
PHP Manual

db2_num_fields

(PECL ibm_db2 >= 1.0.0)

db2_num_fields — Returns the number of fields contained in a result set

Descripción

int db2_num_fields ( resource $stmt )

Returns the number of fields contained in a result set. This is most useful for handling the result sets returned by dynamically generated queries, or for result sets returned by stored procedures, where your application cannot otherwise know how to retrieve and use the results.

Parámetros

stmt

A valid statement resource containing a result set.

Valores devueltos

Returns an integer value representing the number of fields in the result set associated with the specified statement resource. Returns FALSE if the statement resource is not a valid input value.

Ejemplos

Ejemplo #1 Retrieving the number of fields in a result set

The following example demonstrates how to retrieve the number of fields returned in a result set.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, $sql);
$columns = db2_num_fields($stmt);

echo "There are {$columns} columns in the result set.";
?>

El resultado del ejemplo sería:

There are 4 columns in the result set.

Ver también

  • db2_execute() - Executes a prepared SQL statement
  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set

db2_next_result
db2_num_rows
Funciones de IBM DB2


Returns the number of rows affected by an SQL statement

db2_num_fields
db2_pclose
Funciones de IBM DB2
PHP Manual

db2_num_rows

(PECL ibm_db2 >= 1.0.0)

db2_num_rows — Returns the number of rows affected by an SQL statement

Descripción

int db2_num_rows ( resource $stmt )

Returns the number of rows deleted, inserted, or updated by an SQL statement.

To determine the number of rows that will be returned by a SELECT statement, issue SELECT COUNT(*) with the same predicates as your intended SELECT statement and retrieve the value.

If your application logic checks the number of rows returned by a SELECT statement and branches if the number of rows is 0, consider modifying your application to attempt to return the first row with one of db2_fetch_assoc(), db2_fetch_both(), db2_fetch_array(), or db2_fetch_row(), and branch if the fetch function returns FALSE.

Nota:

If you issue a SELECT statement using a scrollable cursor, db2_num_rows() returns the number of rows returned by the SELECT statement. However, the overhead associated with scrollable cursors significantly degrades the performance of your application, so if this is the only reason you are considering using scrollable cursors, you should use a forward-only cursor and either call SELECT COUNT(*) or rely on the boolean return value of the fetch functions to achieve the equivalent functionality with much better performance.

Parámetros

stmt

A valid stmt resource containing a result set.

Valores devueltos

Returns the number of rows affected by the last SQL statement issued by the specified statement handle.

db2_num_fields
db2_pclose
Funciones de IBM DB2


Closes a persistent database connection

db2_num_rows
db2_pconnect
Funciones de IBM DB2
PHP Manual

db2_pclose

(PECL ibm_db2 >= 1.8.0)

db2_pclose — Closes a persistent database connection

Descripción

bool db2_pclose ( resource $resource )

This function closes a DB2 client connection created with db2_pconnect() and returns the corresponding resources to the database server.

Nota:

This function is only available on i5/OS in response to i5/OS system administration requests.

If you have a persistent DB2 client connection created with db2_pconnect(), you may use this function to close the connection. To avoid substantial connection performance penalties, this function should only be used in rare cases when the persistent connection has become unresponsive or the persistent connection will not be needed for a long period of time.

Parámetros

connection

Specifies an active DB2 client connection.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Closing a persistent connection

The following example demonstrates a successful attempt to close a connection to an IBM DB2 i5/OS database.

<?php
$conn = db2_pconnect('', '', '');
$rc = db2_pclose($conn);
if ($rc) {
    echo "Connection was successfully closed.";
}
?>

El resultado del ejemplo sería:

Connection was successfully closed.

Ver también

  • db2_close() - Cierra una conexión a base de datos
  • db2_pconnect() - Returns a persistent connection to a database

db2_num_rows
db2_pconnect
Funciones de IBM DB2


Returns a persistent connection to a database

db2_pclose
db2_prepare
Funciones de IBM DB2
PHP Manual

db2_pconnect

(PECL ibm_db2 >= 1.0.0)

db2_pconnect — Returns a persistent connection to a database

Descripción

resource db2_pconnect ( string $database , string $username , string $password [, array $options ] )

Returns a persistent connection to an IBM DB2 Universal Database, IBM Cloudscape, or Apache Derby database.

For more information on persistent connections, refer to Conexiones Persistentes a Bases de Datos.

Calling db2_close() on a persistent connection always returns TRUE, but the underlying DB2 client connection remains open and waiting to serve the next matching db2_pconnect() request.

Users running version 1.9.0 or later of ibm_db2 should be aware that the extension will perform a transaction rollback on persistent connections at the end of a request, thus ending the transaction. This prevents the transaction block from carrying over to the next request which uses that connection if script execution ends before the transaction block does.

Parámetros

database

The database alias in the DB2 client catalog.

username

The username with which you are connecting to the database.

password

The password with which you are connecting to the database.

options

An associative array of connection options that affect the behavior of the connection, where valid array keys include:

autocommit

Passing the DB2_AUTOCOMMIT_ON value turns autocommit on for this connection handle.

Passing the DB2_AUTOCOMMIT_OFF value turns autocommit off for this connection handle.

DB2_ATTR_CASE

Passing the DB2_CASE_NATURAL value specifies that column names are returned in natural case.

Passing the DB2_CASE_LOWER value specifies that column names are returned in lower case.

Passing the DB2_CASE_UPPER value specifies that column names are returned in upper case.

CURSOR

Passing the DB2_FORWARD_ONLY value specifies a forward-only cursor for a statement resource. This is the default cursor type and is supported on all database servers.

Passing the DB2_SCROLLABLE value specifies a scrollable cursor for a statement resource. This mode enables random access to rows in a result set, but currently is supported only by IBM DB2 Universal Database.

The following new option is available in ibm_db2 version 1.7.0 and later.

trustedcontext

Passing the DB2_TRUSTED_CONTEXT_ENABLE value turns trusted context on for this connection handle. This parameter cannot be set using db2_set_option().

This key works only if the database is cataloged (even if the database is local), or if you specify the full DSN when you create the connection.

To catalog the database, use following commands:

db2 catalog tcpip node loopback remote <SERVERNAME> server <SERVICENAME>
db2 catalog database <LOCALDBNAME> as <REMOTEDBNAME> at node loopback
db2 "update dbm cfg using svcename <SERVICENAME>"
db2set DB2COMM=TCPIP

The following new i5/OS options are available in ibm_db2 version 1.5.1 and later.

Sugerencia

Conflicting connection attributes used in conjunction with persistent connections can produce indeterminate results on i5/OS. Site policies should be establish for all applications using each persistent connection user profile. The default DB2_AUTOCOMMIT_ON is suggested when using persistent connections.

i5_lib

A character value that indicates the default library that will be used for resolving unqualified file references. This is not valid if the connection is using system naming mode.

i5_naming

DB2_I5_NAMING_ON value turns on DB2 UDB CLI iSeries system naming mode. Files are qualified using the slash (/) delimiter. Unqualified files are resolved using the library list for the job.

DB2_I5_NAMING_OFF value turns off DB2 UDB CLI default naming mode, which is SQL naming. Files are qualified using the period (.) delimiter. Unqualified files are resolved using either the default library or the current user ID.

i5_commit

The i5_commit attribute should be set before the db2_pconnect(). If the value is changed after the connection has been established, and the connection is to a remote data source, the change does not take effect until the next successful db2_pconnect() for the connection handle.

Nota:

The php.ini setting ibm_db2.i5_allow_commit==0 or DB2_I5_TXN_NO_COMMIT is the default, but may be overridden with the i5_commit option.

DB2_I5_TXN_NO_COMMIT - Commitment control is not used.

DB2_I5_TXN_READ_UNCOMMITTED - Dirty reads, nonrepeatable reads, and phantoms are possible.

DB2_I5_TXN_READ_COMMITTED - Dirty reads are not possible. Nonrepeatable reads, and phantoms are possible.

DB2_I5_TXN_REPEATABLE_READ - Dirty reads and nonrepeatable reads are not possible. Phantoms are possible.

DB2_I5_TXN_SERIALIZABLE - Transactions are serializable. Dirty reads, non-repeatable reads, and phantoms are not possible

i5_query_optimize

DB2_FIRST_IO All queries are optimized with the goal of returning the first page of output as fast as possible. This goal works well when the output is controlled by a user who is most likely to cancel the query after viewing the first page of output data. Queries coded with an OPTIMIZE FOR nnn ROWS clause honor the goal specified by the clause.

DB2_ALL_IO All queries are optimized with the goal of running the entire query to completion in the shortest amount of elapsed time. This is a good option when the output of a query is being written to a file or report, or the interface is queuing the output data. Queries coded with an OPTIMIZE FOR nnn ROWS clause honor the goal specified by the clause. This is the default.

i5_dbcs_alloc

DB2_I5_DBCS_ALLOC_ON value turns on DB2 6X allocation scheme for DBCS translation column size growth.

DB2_I5_DBCS_ALLOC_OFF value turns off DB2 6X allocation scheme for DBCS translation column size growth.

Nota:

The php.ini setting ibm_db2.i5_dbcs_alloc==0 or DB2_I5_DBCS_ALLOC_OFF is the default, but may be overridden with the i5_dbcs_alloc option.

i5_date_fmt

DB2_I5_FMT_ISO - The International Organization for Standardization (ISO) date format yyyy-mm-dd is used. This is the default.

DB2_I5_FMT_USA - The United States date format mm/dd/yyyy is used.

DB2_I5_FMT_EUR - The European date format dd.mm.yyyy is used.

DB2_I5_FMT_JIS - The Japanese Industrial Standard date format yyyy-mm-dd is used.

DB2_I5_FMT_MDY - The date format mm/dd/yyyy is used.

DB2_I5_FMT_DMY - The date format dd/mm/yyyy is used.

DB2_I5_FMT_YMD - The date format yy/mm/dd is used.

DB2_I5_FMT_JUL - The Julian date format yy/ddd is used.

DB2_I5_FMT_JOB - The job default is used.

i5_date_sep

DB2_I5_SEP_SLASH - A slash ( / ) is used as the date separator. This is the default.

DB2_I5_SEP_DASH - A dash ( - ) is used as the date separator.

DB2_I5_SEP_PERIOD - A period ( . ) is used as the date separator.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the date separator.

DB2_I5_SEP_BLANK - A blank is used as the date separator.

DB2_I5_SEP_JOB - The job default is used

i5_time_fmt

DB2_I5_FMT_ISO - The International Organization for Standardization (ISO) time format hh.mm.ss is used. This is the default.

DB2_I5_FMT_USA - The United States time format hh:mmxx is used, where xx is AM or PM.

DB2_I5_FMT_EUR - The European time format hh.mm.ss is used.

DB2_I5_FMT_JIS - The Japanese Industrial Standard time format hh:mm:ss is used.

DB2_I5_FMT_HMS - The hh:mm:ss format is used.

i5_time_sep

DB2_I5_SEP_COLON - A colon ( : ) is used as the time separator. This is the default.

DB2_I5_SEP_PERIOD - A period ( . ) is used as the time separator.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the time separator.

DB2_I5_SEP_BLANK - A blank is used as the time separator.

DB2_I5_SEP_JOB - The job default is used.

i5_decimal_sep

DB2_I5_SEP_PERIOD - A period ( . ) is used as the decimal separator. This is the default.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the decimal separator.

DB2_I5_SEP_JOB - The job default is used.

The following new i5/OS option is available in ibm_db2 version 1.8.0 and later.

i5_libl

A character value that indicates the library list that will be used for resolving unqualified file references. Specify the library list elements separated by blanks 'i5_libl'=>"MYLIB YOURLIB ANYLIB".

Nota:

i5_libl calls qsys2/qcmdexc('cmd',cmdlen), which is only available in i5/OS V5R4 and later.

Valores devueltos

Returns a connection handle resource if the connection attempt is successful. db2_pconnect() tries to reuse an existing connection resource that exactly matches the database, username, and password parameters. If the connection attempt fails, db2_pconnect() returns FALSE.

Historial de cambios

Versión | Descripción
ibm_db2 1.9.0 | Active transactions within a persistent connection will be rolled back at the end of each request.
ibm_db2 1.8.0 | The i5_libl option is available for i5/OS users.
ibm_db2 1.7.0 | The trustedcontext option is available.
ibm_db2 1.5.1 | The i5_lib, i5_naming, i5_commit, i5_query_optimize, i5_dbcs_alloc, i5_date_fmt, i5_date_sep, i5_time_fmt, i5_time_sep and i5_decimal_sep options are available for i5/OS users.

Ejemplos

Ejemplo #1 A db2_pconnect() example

In the following example, the first call to db2_pconnect() returns a new persistent connection resource. The second call to db2_pconnect() returns a persistent connection resource that simply reuses the first persistent connection resource.

<?php
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';

$pconn = db2_pconnect($database, $user, $password);

if ($pconn) {
    echo "Persistent connection succeeded.";
}
else {
    echo "Persistent connection failed.";
}

$pconn2 = db2_pconnect($database, $user, $password);
if ($pconn) {
    echo "Second persistent connection succeeded.";
}
else {
    echo "Second persistent connection failed.";
}
?>

El resultado del ejemplo sería:

Persistent connection succeeded.
Second persistent connection succeeded.

Ejemplo #2 Using trusted context

The following example shows how to enable trusted context, switch users, and get the current user ID.

<?php

$database = "SAMPLE";
$hostname = "localhost";
$port = 50000;
$authID = "db2inst1";
$auth_pass = "ibmdb2";

$tc_user = "tcuser";
$tc_pass = "tcpassword";

$dsn = "DATABASE=$database;HOSTNAME=$hostname;PORT=$port;
  PROTOCOL=TCPIP;UID=$authID;PWD=$auth_pass;";
$options = array ("trustedcontext" => DB2_TRUSTED_CONTEXT_ENABLE);

$tc_conn = db2_pconnect($dsn, "", "", $options);
if($tc_conn) {
    echo "Explicit trusted connection succeeded.\n";

    if(db2_get_option($tc_conn, "trustedcontext")) {
        $userBefore = db2_get_option($tc_conn, "trusted_user");

        //Do some work as user 1.

        //Switching to trusted user.
        $parameters = array("trusted_user" => $tc_user,
          "trusted_password" => $tcuser_pass);
        $res = db2_set_option ($tc_conn, $parameters, 1);

        $userAfter = db2_get_option($tc_conn, "trusted_user");
        //Do more work as trusted user.

        if($userBefore != $userAfter) {
            echo "User has been switched." . "\n";
        }
    }

    db2_close($tc_conn);
}
else {
    echo "Explicit trusted connection failed.\n";
}
?>

El resultado del ejemplo sería:

Explicit trusted connection succeeded.
User has been switched.

Ver también

  • db2_connect() - Returns a connection to a database

db2_pclose
db2_prepare
Funciones de IBM DB2


Prepara un comando SQL para su ejecución

db2_pconnect
db2_primary_keys
Funciones de IBM DB2
PHP Manual

db2_prepare

(PECL ibm_db2 >= 1.0.0)

db2_prepare — Prepara un comando SQL para su ejecución

Descripción

resource db2_prepare ( resource $connection , string $statement [, array $options ] )

db2_prepare() Crea un comando SQL preparado que puede incluir 0 o más marcadores de parámetro (con el carácter ?) los cuales representan parámetros de entrada, salida o entrada/salida. Se pueden pasar parámetros al comando SQL preparado usando db2_bind_param(), o sólo para valores de entrada, como un arreglo enviado a db2_execute().

Hay tres ventajas principales al usar comandos SQL preparados en una aplicación:

  • Rendimiento: Cuando se prepara un comando SQL, el servidor de base de datos crea un plan de acceso optimizado para devolver datos con ese comando SQL. Posteriormente al enviar el comando SQL preparado a través de db2_execute() se podrá reutilizar el plan de acceso y así se evitará la sobrecarga que se produce cuando éste debe crearse nuevamente.

  • Seguridad: Cuando se prepara un comando SQL, se pueden incluir marcadores de parámetros para valores de entrada. Cuando se ejecuta ese comando usando los marcadores con valores de entrada, la base de datos puede chequear cada valor de entrada para asegurar que el tipo de dato enviado coincide con la definición del campo o del parámetro.

  • Funcionalidad avanzada: Los marcadores de parámetros no solo permiten pasar valores de entrada, además permiten obtener datos OUT e INOUT desde procedimientos almacenados usando db2_bind_param().

Parámetros

connection

Una variable de conexión obtenida con db2_connect() o con db2_pconnect().

statement

Un comando SQL, que puede contener opcionalmente uno o más marcadores de parámetros.

options

Un arreglo asociativo que contiene opciones para el comando. Se puede usar para solicitar un cursor desplazable en servidores que lo permitan.

Se pueden revisar las opciones en db2_set_option().

Valores devueltos

Si el comando SQL fue parseado y preparado exitosamente devuelve un resource, o FALSE en caso de producirse un error. Se puede determinar qué error ocurrió utilizando db2_stmt_error() o db2_stmt_errormsg().

Ejemplos

Ejemplo #1 Preparando y ejecutando un comando SQL con marcadores de parámetros.

El siguiente ejemplo prepara un comando INSERT que acepta cuatro marcadores de parámetros, y luego ejecuta iteraciones sobre un arreglo que contiene los valores de entrada, y éstos son enviados a través de db2_execute().

<?php
$animals = array(
    array(0, 'cat', 'Pook', 3.2),
    array(1, 'dog', 'Peaches', 12.3),
    array(2, 'horse', 'Smarty', 350.0),
);

$insert = 'INSERT INTO animals (id, breed, name, weight)
    VALUES (?, ?, ?, ?)';
$stmt = db2_prepare($conn, $insert);
if ($stmt) {
    foreach ($animals as $animal) {
        $result = db2_execute($stmt, $animal);
    }
}
?>

Ver también

  • db2_bind_param() - Vincula una variable PHP a un parámetro de una sentencia SQL
  • db2_execute() - Executes a prepared SQL statement
  • db2_stmt_error() - Returns a string containing the SQLSTATE returned by an SQL statement
  • db2_stmt_errormsg() - Returns a string containing the last SQL statement error message

db2_pconnect
db2_primary_keys
Funciones de IBM DB2


Returns a result set listing primary keys for a table

db2_prepare
db2_procedure_columns
Funciones de IBM DB2
PHP Manual

db2_primary_keys

(PECL ibm_db2 >= 1.0.0)

db2_primary_keys — Returns a result set listing primary keys for a table

Descripción

resource db2_primary_keys ( resource $connection , string $qualifier , string $schema , string $table-name )

Returns a result set listing the primary keys for a table.

Parámetros

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables. If schema is NULL, db2_primary_keys() matches the schema for the current connection.

table-name

The name of the table.

Valores devueltos

Returns a statement resource with a result set containing rows describing the primary keys for the specified table. The result set is composed of the following columns:

Column name | Description
TABLE_CAT | Name of the catalog for the table containing the primary key. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema for the table containing the primary key.
TABLE_NAME | Name of the table containing the primary key.
COLUMN_NAME | Name of the column containing the primary key.
KEY_SEQ | 1-indexed position of the column in the key.
PK_NAME | The name of the primary key.

Ver también

  • db2_column_privileges() - Obtiene la lista de columnas y permisos asociados a una tabla
  • db2_columns() - Devuelve los campos de una tabla y sus metadatos asociados.
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database

db2_prepare
db2_procedure_columns
Funciones de IBM DB2


Returns a result set listing stored procedure parameters

db2_primary_keys
db2_procedures
Funciones de IBM DB2
PHP Manual

db2_procedure_columns

(PECL ibm_db2 >= 1.0.0)

db2_procedure_columns — Returns a result set listing stored procedure parameters

Descripción

resource db2_procedure_columns ( resource $connection , string $qualifier , string $schema , string $procedure , string $parameter )

Returns a result set listing the parameters for one or more stored procedures.

Parámetros

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the procedures. This parameter accepts a search pattern containing _ and % as wildcards.

procedure

The name of the procedure. This parameter accepts a search pattern containing _ and % as wildcards.

parameter

The name of the parameter. This parameter accepts a search pattern containing _ and % as wildcards. If this parameter is NULL, all parameters for the specified stored procedures are returned.

Valores devueltos

Returns a statement resource with a result set containing rows describing the parameters for the stored procedures matching the specified parameters. The rows are composed of the following columns:

Column name | Description
PROCEDURE_CAT | The catalog that contains the procedure. The value is NULL if this table does not have catalogs.
PROCEDURE_SCHEM | Name of the schema that contains the stored procedure.
PROCEDURE_NAME | Name of the procedure.
COLUMN_NAME | Name of the parameter.
COLUMN_TYPE

An integer value representing the type of the parameter:

Return value | Parameter type
1 (SQL_PARAM_INPUT) | Input (IN) parameter.
2 (SQL_PARAM_INPUT_OUTPUT) | Input/output (INOUT) parameter.
3 (SQL_PARAM_OUTPUT) | Output (OUT) parameter.
DATA_TYPE | The SQL data type for the parameter represented as an integer value.
TYPE_NAME | A string representing the data type for the parameter.
COLUMN_SIZE | An integer value representing the size of the parameter.
BUFFER_LENGTH | Maximum number of bytes necessary to store data for this parameter.
DECIMAL_DIGITS | The scale of the parameter, or NULL where scale is not applicable.
NUM_PREC_RADIX | An integer value of either 10 (representing an exact numeric data type), 2 (representing an approximate numeric data type), or NULL (representing a data type for which radix is not applicable).
NULLABLE | An integer value representing whether the parameter is nullable or not.
REMARKS | Description of the parameter.
COLUMN_DEF | Default value for the parameter.
SQL_DATA_TYPE | An integer value representing the size of the parameter.
SQL_DATETIME_SUB | Returns an integer value representing a datetime subtype code, or NULL for SQL data types to which this does not apply.
CHAR_OCTET_LENGTH | Maximum length in octets for a character data type parameter, which matches COLUMN_SIZE for single-byte character set data, or NULL for non-character data types.
ORDINAL_POSITION | The 1-indexed position of the parameter in the CALL statement.
IS_NULLABLE | A string value where 'YES' means that the parameter accepts or returns NULL values and 'NO' means that the parameter does not accept or return NULL values.

Ver también

  • db2_column_privileges() - Obtiene la lista de columnas y permisos asociados a una tabla
  • db2_columns() - Devuelve los campos de una tabla y sus metadatos asociados.
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database

db2_primary_keys
db2_procedures
Funciones de IBM DB2


Returns a result set listing the stored procedures registered in a database

db2_procedure_columns
db2_result
Funciones de IBM DB2
PHP Manual

db2_procedures

(PECL ibm_db2 >= 1.0.0)

db2_procedures — Returns a result set listing the stored procedures registered in a database

Descripción

resource db2_procedures ( resource $connection , string $qualifier , string $schema , string $procedure )

Returns a result set listing the stored procedures registered in a database.

Parámetros

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the procedures. This parameter accepts a search pattern containing _ and % as wildcards.

procedure

The name of the procedure. This parameter accepts a search pattern containing _ and % as wildcards.

Valores devueltos

Returns a statement resource with a result set containing rows describing the stored procedures matching the specified parameters. The rows are composed of the following columns:

Column name | Description
PROCEDURE_CAT | The catalog that contains the procedure. The value is NULL if this table does not have catalogs.
PROCEDURE_SCHEM | Name of the schema that contains the stored procedure.
PROCEDURE_NAME | Name of the procedure.
NUM_INPUT_PARAMS | Number of input (IN) parameters for the stored procedure.
NUM_OUTPUT_PARAMS | Number of output (OUT) parameters for the stored procedure.
NUM_RESULT_SETS | Number of result sets returned by the stored procedure.
REMARKS | Any comments about the stored procedure.
PROCEDURE_TYPE | Always returns 1, indicating that the stored procedure does not return a return value.

Ver también

  • db2_column_privileges() - Obtiene la lista de columnas y permisos asociados a una tabla
  • db2_columns() - Devuelve los campos de una tabla y sus metadatos asociados.
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database

db2_procedure_columns
db2_result
Funciones de IBM DB2


Returns a single column from a row in the result set

db2_procedures
db2_rollback
Funciones de IBM DB2
PHP Manual

db2_result

(PECL ibm_db2 >= 1.0.0)

db2_result — Returns a single column from a row in the result set

Descripción

mixed db2_result ( resource $stmt , mixed $column )

Use db2_result() to return the value of a specified column in the current row of a result set. You must call db2_fetch_row() before calling db2_result() to set the location of the result set pointer.

Parámetros

stmt

A valid stmt resource.

column

Either an integer mapping to the 0-indexed field in the result set, or a string matching the name of the column.

Valores devueltos

Returns the value of the requested field if the field exists in the result set. Returns NULL if the field does not exist, and issues a warning.

Ejemplos

Ejemplo #1 A db2_result() example

The following example demonstrates how to iterate through a result set with db2_fetch_row() and retrieve columns from the result set with db2_result().

<?php
$sql = 'SELECT name, breed FROM animals WHERE weight < ?';
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, array(10));
while (db2_fetch_row($stmt)) {
    $name = db2_result($stmt, 0);
    $breed = db2_result($stmt, 'BREED');
    print "$name $breed";
}
?>

El resultado del ejemplo sería:

cat Pook
gold fish Bubbles
budgerigar Gizmo
goat Rickety Ride

Ver también

  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_object() - Returns an object with properties representing columns in the fetched row
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row

db2_procedures
db2_rollback
Funciones de IBM DB2


Rolls back a transaction

db2_result
db2_server_info
Funciones de IBM DB2
PHP Manual

db2_rollback

(PECL ibm_db2 >= 1.0.0)

db2_rollback — Rolls back a transaction

Descripción

bool db2_rollback ( resource $connection )

Rolls back an in-progress transaction on the specified connection resource and begins a new transaction. PHP applications normally default to AUTOCOMMIT mode, so db2_rollback() normally has no effect unless AUTOCOMMIT has been turned off for the connection resource.

Parámetros

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Rolling back a DELETE statement

In the following example, we count the number of rows in a table, turn off AUTOCOMMIT mode on a database connection, delete all of the rows in the table and return the count of 0 to prove that the rows have been removed. We then issue db2_rollback() and return the updated count of rows in the table to show that the number is the same as before we issued the DELETE statement. The return to the original state of the table demonstrates that the roll back of the transaction succeeded.

<?php
$conn = db2_connect($database, $user, $password);

if ($conn) {
    $stmt = db2_exec($conn, "SELECT count(*) FROM animals");
    $res = db2_fetch_array( $stmt );
    echo $res[0] . "\n";

    // Turn AUTOCOMMIT off
    db2_autocommit($conn, DB2_AUTOCOMMIT_OFF);

    // Delete all rows from ANIMALS
    db2_exec($conn, "DELETE FROM animals");

    $stmt = db2_exec($conn, "SELECT count(*) FROM animals");
    $res = db2_fetch_array( $stmt );
    echo $res[0] . "\n";

    // Roll back the DELETE statement
    db2_rollback( $conn );

    $stmt = db2_exec( $conn, "SELECT count(*) FROM animals" );
    $res = db2_fetch_array( $stmt );
    echo $res[0] . "\n";
    db2_close($conn);
}
?>

El resultado del ejemplo sería:

7
0
7

Ver también

  • db2_autocommit() - Devuelve o establece el estado de AUTOCOMMIT en una conexión de bases de datos
  • db2_commit() - Commits a transaction

db2_result
db2_server_info
Funciones de IBM DB2


Returns an object with properties that describe the DB2 database server

db2_rollback
db2_set_option
Funciones de IBM DB2
PHP Manual

db2_server_info

(PECL ibm_db2 >= 1.1.1)

db2_server_info — Returns an object with properties that describe the DB2 database server

Descripción

object db2_server_info ( resource $connection )

This function returns an object with read-only properties that return information about the IBM DB2, Cloudscape, or Apache Derby database server. The following table lists the database server properties:

Database server properties
Property name | Return type | Description
DBMS_NAME | string | The name of the database server to which you are connected. For DB2 servers this is a combination of DB2 followed by the operating system on which the database server is running.
DBMS_VER | string | The version of the database server, in the form of a string "MM.mm.uuuu" where MM is the major version, mm is the minor version, and uuuu is the update. For example, "08.02.0001" represents major version 8, minor version 2, update 1.
DB_CODEPAGE | int | The code page of the database to which you are connected.
DB_NAME | string | The name of the database to which you are connected.
DFT_ISOLATION string

The default transaction isolation level supported by the server:

UR

Uncommitted read: changes are immediately visible by all concurrent transactions.

CS

Cursor stability: a row read by one transaction can be altered and committed by a second concurrent transaction.

RS

Read stability: a transaction can add or remove rows matching a search condition or a pending transaction.

RR

Repeatable read: data affected by pending transaction is not available to other transactions.

NC

No commit: any changes are visible at the end of a successful operation. Explicit commits and rollbacks are not allowed.

IDENTIFIER_QUOTE_CHAR | string | The character used to delimit an identifier.
INST_NAME | string | The instance on the database server that contains the database.
ISOLATION_OPTION | array | An array of the isolation options supported by the database server. The isolation options are described in the DFT_ISOLATION property.
KEYWORDS | array | An array of the keywords reserved by the database server.
LIKE_ESCAPE_CLAUSE | bool | TRUE if the database server supports the use of % and _ wildcard characters. FALSE if the database server does not support these wildcard characters.
MAX_COL_NAME_LEN | int | Maximum length of a column name supported by the database server, expressed in bytes.
MAX_IDENTIFIER_LEN | int | Maximum length of an SQL identifier supported by the database server, expressed in characters.
MAX_INDEX_SIZE | int | Maximum size of columns combined in an index supported by the database server, expressed in bytes.
MAX_PROC_NAME_LEN | int | Maximum length of a procedure name supported by the database server, expressed in bytes.
MAX_ROW_SIZE | int | Maximum length of a row in a base table supported by the database server, expressed in bytes.
MAX_SCHEMA_NAME_LEN | int | Maximum length of a schema name supported by the database server, expressed in bytes.
MAX_STATEMENT_LEN | int | Maximum length of an SQL statement supported by the database server, expressed in bytes.
MAX_TABLE_NAME_LEN | int | Maximum length of a table name supported by the database server, expressed in bytes.
NON_NULLABLE_COLUMNS | bool | TRUE if the database server supports columns that can be defined as NOT NULL, FALSE if the database server does not support columns defined as NOT NULL.
PROCEDURES | bool | TRUE if the database server supports the use of the CALL statement to call stored procedures, FALSE if the database server does not support the CALL statement.
SPECIAL_CHARS | string | A string containing all of the characters other than a-Z, 0-9, and underscore that can be used in an identifier name.
SQL_CONFORMANCE string

The level of conformance to the ANSI/ISO SQL-92 specification offered by the database server:

ENTRY

Entry-level SQL-92 compliance.

FIPS127

FIPS-127-2 transitional compliance.

FULL

Full level SQL-92 compliance.

INTERMEDIATE

Intermediate level SQL-92 compliance.

Parámetros

connection

Specifies an active DB2 client connection.

Valores devueltos

Returns an object on a successful call. Returns FALSE on failure.

Ejemplos

Ejemplo #1 A db2_server_info() example

To retrieve information about the server, you must pass a valid database connection resource to db2_server_info().

<?php

$conn = db2_connect('sample', 'db2inst1', 'ibmdb2');

$server = db2_server_info( $conn );

if ($server) {
    echo "DBMS_NAME: ";                 var_dump( $server->DBMS_NAME );
    echo "DBMS_VER: ";                  var_dump( $server->DBMS_VER );
    echo "DB_CODEPAGE: ";               var_dump( $server->DB_CODEPAGE );
    echo "DB_NAME: ";                   var_dump( $server->DB_NAME );
    echo "INST_NAME: ";                 var_dump( $server->INST_NAME );
    echo "SPECIAL_CHARS: ";             var_dump( $server->SPECIAL_CHARS );
    echo "KEYWORDS: ";                  var_dump( sizeof($server->KEYWORDS) );
    echo "DFT_ISOLATION: ";             var_dump( $server->DFT_ISOLATION );
    echo "ISOLATION_OPTION: ";
    $il = '';
    foreach( $server->ISOLATION_OPTION as $opt )
    {
       $il .= $opt." ";
    }
    var_dump( $il );
    echo "SQL_CONFORMANCE: ";           var_dump( $server->SQL_CONFORMANCE );
    echo "PROCEDURES: ";                var_dump( $server->PROCEDURES );
    echo "IDENTIFIER_QUOTE_CHAR: ";     var_dump( $server->IDENTIFIER_QUOTE_CHAR );
    echo "LIKE_ESCAPE_CLAUSE: ";        var_dump( $server->LIKE_ESCAPE_CLAUSE );
    echo "MAX_COL_NAME_LEN: ";          var_dump( $server->MAX_COL_NAME_LEN );
    echo "MAX_ROW_SIZE: ";              var_dump( $server->MAX_ROW_SIZE );
    echo "MAX_IDENTIFIER_LEN: ";        var_dump( $server->MAX_IDENTIFIER_LEN );
    echo "MAX_INDEX_SIZE: ";            var_dump( $server->MAX_INDEX_SIZE );
    echo "MAX_PROC_NAME_LEN: ";         var_dump( $server->MAX_PROC_NAME_LEN );
    echo "MAX_SCHEMA_NAME_LEN: ";       var_dump( $server->MAX_SCHEMA_NAME_LEN );
    echo "MAX_STATEMENT_LEN: ";         var_dump( $server->MAX_STATEMENT_LEN );
    echo "MAX_TABLE_NAME_LEN: ";        var_dump( $server->MAX_TABLE_NAME_LEN );
    echo "NON_NULLABLE_COLUMNS: ";      var_dump( $server->NON_NULLABLE_COLUMNS );

    db2_close($conn);
}
?>

El resultado del ejemplo sería:

DBMS_NAME: string(9) "DB2/LINUX"
DBMS_VER: string(10) "08.02.0000"
DB_CODEPAGE: int(1208)
DB_NAME: string(6) "SAMPLE"
INST_NAME: string(8) "db2inst1"
SPECIAL_CHARS: string(2) "@#"
KEYWORDS: int(179)
DFT_ISOLATION: string(2) "CS"
ISOLATION_OPTION: string(12) "UR CS RS RR "
SQL_CONFORMANCE: string(7) "FIPS127"
PROCEDURES: bool(true)
IDENTIFIER_QUOTE_CHAR: string(1) """
LIKE_ESCAPE_CLAUSE: bool(true)
MAX_COL_NAME_LEN: int(30)
MAX_ROW_SIZE: int(32677)
MAX_IDENTIFIER_LEN: int(18)
MAX_INDEX_SIZE: int(1024)
MAX_PROC_NAME_LEN: int(128)
MAX_SCHEMA_NAME_LEN: int(30)
MAX_STATEMENT_LEN: int(2097152)
MAX_TABLE_NAME_LEN: int(128)
NON_NULLABLE_COLUMNS: bool(true)

Ver también

  • db2_client_info() - Devuelve un objeto cuyas propiedades describen cliente de una base de datos DB2

db2_rollback
db2_set_option
Funciones de IBM DB2


Set options for connection or statement resources

db2_server_info
db2_special_columns
Funciones de IBM DB2
PHP Manual

db2_set_option

(PECL ibm_db2 >= 1.0.0)

db2_set_option — Set options for connection or statement resources

Descripción

bool db2_set_option ( resource $resource , array $options , int $type )

Sets options for a statement resource or a connection resource. You cannot set options for result set resources.

Parámetros

resource

A valid statement resource as returned from db2_prepare() or a valid connection resource as returned from db2_connect() or db2_pconnect().

options

An associative array containing valid statement or connection options. This parameter can be used to change autocommit values, cursor types (scrollable or forward), and to specify the case of the column names (lower, upper, or natural) that will appear in a result set.

autocommit

Passing DB2_AUTOCOMMIT_ON turns autocommit on for the specified connection resource.

Passing DB2_AUTOCOMMIT_OFF turns autocommit off for the specified connection resource.

cursor

Passing DB2_FORWARD_ONLY specifies a forward-only cursor for a statement resource. This is the default cursor type, and is supported by all database servers.

Passing DB2_SCROLLABLE specifies a scrollable cursor for a statement resource. Scrollable cursors enable result set rows to be accessed in non-sequential order, but are only supported by IBM DB2 Universal Database databases.

binmode

Passing DB2_BINARY specifies that binary data will be returned as is. This is the default mode. This is the equivalent of setting ibm_db2.binmode=1 in php.ini.

Passing DB2_CONVERT specifies that binary data will be converted to hexadecimal encoding, and will be returned as such. This is the equivalent of setting ibm_db2.binmode=2 in php.ini.

Passing DB2_PASSTHRU specifies that binary data will be converted to NULL. This is the equivalent of setting ibm_db2.binmode=3 in php.ini.

db2_attr_case

Passing DB2_CASE_LOWER specifies that column names of the result set are returned in lower case.

Passing DB2_CASE_UPPER specifies that column names of the result set are returned in upper case.

Passing DB2_CASE_NATURAL specifies that column names of the result set are returned in natural case.

deferred_prepare

Passing DB2_DEFERRED_PREPARE_ON turns deferred prepare on for the specified statement resource.

Passing DB2_DEFERRED_PREPARE_OFF turns deferred prepare off for the specified statement resource.

The following new i5/OS options are available in ibm_db2 version 1.5.1 and later. These options apply only when running PHP and ibm_db2 natively on i5 systems.

i5_fetch_only

DB2_I5_FETCH_ON - Cursors are read-only and cannot be used for positioned updates or deletes. This is the default unless SQL_ATTR_FOR_FETCH_ONLY environment has been set to SQL_FALSE.

DB2_I5_FETCH_OFF - Cursors can be used for positioned updates and deletes.

The following new option is available in ibm_db2 version 1.8.0 and later.

rowcount

DB2_ROWCOUNT_PREFETCH_ON - Client can request the full row count prior to fetching, which means that db2_num_rows() returns the number of rows selected even when a ROLLFORWARD_ONLY cursor is used.

DB2_ROWCOUNT_PREFETCH_OFF - Client cannot request the full row count prior to fetching.

The following new options are available in ibm_db2 version 1.7.0 and later.

trusted_user

To switch the user to a trusted user, pass the User ID (String) of the trusted user as the value of this key. This option can be set on a connection resource only. To use this option, trusted context must be enabled on the connection resource.

trusted_password

The password (String) that corresponds to the user specified by the trusted_user key.

The following new options are available in ibm_db2 version 1.6.0 and later. These options provide useful tracking information that can be accessed during execution with db2_get_option().

Nota:

When the value in each option is being set, some servers might not handle the entire length provided and might truncate the value.

To ensure that the data specified in each option is converted correctly when transmitted to a host system, use only the characters A through Z, 0 through 9, and the underscore (_) or period (.).

userid

SQL_ATTR_INFO_USERID - A pointer to a null-terminated character string used to identify the client user ID sent to the host database server when using DB2 Connect.

Nota:

DB2 for z/OS and OS/390 servers support up to a length of 16 characters. This user-id is not to be confused with the authentication user-id, it is for identification purposes only and is not used for any authorization.

acctstr

SQL_ATTR_INFO_ACCTSTR - A pointer to a null-terminated character string used to identify the client accounting string sent to the host database server when using DB2 Connect.

Nota:

DB2 for z/OS and OS/390 servers support up to a length of 200 characters.

applname

SQL_ATTR_INFO_APPLNAME - A pointer to a null-terminated character string used to identify the client application name sent to the host database server when using DB2 Connect.

Nota:

DB2 for z/OS and OS/390 servers support up to a length of 32 characters.

wrkstnname

SQL_ATTR_INFO_WRKSTNNAME - A pointer to a null-terminated character string used to identify the client workstation name sent to the host database server when using DB2 Connect.

Nota:

DB2 for z/OS and OS/390 servers support up to a length of 18 characters.

type

An integer value that specifies the type of resource that was passed into the function. The type of resource and this value must correspond.

Passing 1 as the value specifies that a connection resource has been passed into the function.

Passing any integer not equal to 1 as the value specifies that a statement resource has been passed into the function.

The following table specifies which options are compatible with the available resource types:

Resource-Parameter Matrix
Key | Value | Resource Type
 |  | Connection | Statement | Result Set
autocommit | DB2_AUTOCOMMIT_ON | X | - | -
autocommit | DB2_AUTOCOMMIT_OFF | X | - | -
cursor | DB2_SCROLLABLE | - | X | -
cursor | DB2_FORWARD_ONLY | - | X | -
binmode | DB2_BINARY | X | X | -
binmode | DB2_CONVERT | X | X | -
binmode | DB2_PASSTHRU | X | X | -
db2_attr_case | DB2_CASE_LOWER | X | X | -
db2_attr_case | DB2_CASE_UPPER | X | X | -
db2_attr_case | DB2_CASE_NATURAL | X | X | -
deferred_prepare | DB2_DEFERRED_PREPARE_ON | - | X | -
deferred_prepare | DB2_DEFERRED_PREPARE_OFF | - | X | -
i5_fetch_only | DB2_I5_FETCH_ON | - | X | -
i5_fetch_only | DB2_I5_FETCH_OFF | - | X | -
rowcount | DB2_ROWCOUNT_PREFETCH_ON | - | X | -
rowcount | DB2_ROWCOUNT_PREFETCH_OFF | - | X | -
trusted_user | <USER NAME> (String) | X | - | -
trusted_password | <PASSWORD> (String) | X | - | -
userid | SQL_ATTR_INFO_USERID | X | X | -
acctstr | SQL_ATTR_INFO_ACCTSTR | X | X | -
applname | SQL_ATTR_INFO_APPLNAME | X | X | -
wrkstnname | SQL_ATTR_INFO_WRKSTNNAME | X | X | -

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Setting one parameter with a connection resource

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_ON);

/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

El resultado del ejemplo sería:

Options Set Successfully

Ejemplo #2 Setting multiple parameters with a connection resource

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
                    'binmode' => DB2_PASSTHRU,
              'db2_attr_case' => DB2_CASE_UPPER,
                     'cursor' => DB2_SCROLLABLE);

/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

El resultado del ejemplo sería:

Options Set Successfully

Ejemplo #3 Setting multiple parameters with an invalid key

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
             'MY_INVALID_KEY' => DB2_PASSTHRU,
              'db2_attr_case' => DB2_CASE_UPPER,
                     'cursor' => DB2_SCROLLABLE);

/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

El resultado del ejemplo sería:

Could Not Set Options

Ejemplo #4 Setting multiple parameters with an invalid value

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
                    'binmode' => 'INVALID_VALUE',
              'db2_attr_case' => DB2_CASE_UPPER,
                     'cursor' => DB2_SCROLLABLE);

/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

El resultado del ejemplo sería:

Could Not Set Options

Ejemplo #5 Setting multiple parameters with a connection resource and the wrong type

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
                    'binmode' => DB2_PASSTHRU,
              'db2_attr_case' => DB2_CASE_UPPER,
                     'cursor' => DB2_SCROLLABLE);

/* Call the function using the correct resource, options array, and the wrong type value */
$result = db2_set_option($conn, $options, 2);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

El resultado del ejemplo sería:

Could Not Set Options

Ejemplo #6 Setting multiple parameters with the wrong resource

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
                    'binmode' => DB2_PASSTHRU,
              'db2_attr_case' => DB2_CASE_UPPER,
                     'cursor' => DB2_SCROLLABLE);

$stmt = db2_prepare($conn, 'SELECT * FROM EMPLOYEE');

/* Call the function using the wrong resource, and the correct options array, and type values */
$result = db2_set_option($stmt, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

El resultado del ejemplo sería:

Could Not Set Options

Ejemplo #7 Putting it all together

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('db2_attr_case' => DB2_CASE_LOWER,
                        'cursor' => DB2_SCROLLABLE);

$stmt = db2_prepare($conn, 'SELECT * FROM EMPLOYEE WHERE EMPNO = ? OR EMPNO = ?');

/* Call the function using the correct resource, options array, and type values */
$option_result = db2_set_option($stmt, $options, 2);
$result = db2_execute($stmt, array('000130', '000140'));

/* Get Row 2 before Row 1 since Scrollable Cursor */
print_r(db2_fetch_assoc($stmt, 2));
print '<br /><br />';
print_r(db2_fetch_assoc($stmt, 1));

?>

El resultado del ejemplo sería:

Array
(
    [empno] => 000140
    [firstnme] => HEATHER
    [midinit] => A
    [lastname] => NICHOLLS
    [workdept] => C01
    [phoneno] => 1793
    [hiredate] => 1976-12-15
    [job] => ANALYST
    [edlevel] => 18
    [sex] => F
    [birthdate] => 1946-01-19
    [salary] => 28420.00
    [bonus] => 600.00
    [comm] => 2274.00
)

Array
(
    [empno] => 000130
    [firstnme] => DELORES
    [midinit] => M
    [lastname] => QUINTANA
    [workdept] => C01
    [phoneno] => 4578
    [hiredate] => 1971-07-28
    [job] => ANALYST
    [edlevel] => 16
    [sex] => F
    [birthdate] => 1925-09-15
    [salary] => 23800.00
    [bonus] => 500.00
    [comm] => 1904.00
)

Ejemplo #8 i5/OS cursors are read-only

<?php
  $conn = db2_connect("", "", "", array("i5_lib"=>"nobody"));
  $stmt = db2_prepare($conn, 'select * from names where first = ?');
  $name = "first2";
  db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
  $options = array("i5_fetch_only"=>DB2_I5_FETCH_ON);
  db2_set_option($stmt,$options,0);
  if (db2_execute($stmt)) {
    while ($row = db2_fetch_array($stmt)) {
      echo "{$row[0]} {$row[1]}";
    }
  }
?>

El resultado del ejemplo sería:

first2 last2

Ver también

  • db2_connect() - Returns a connection to a database
  • db2_pconnect() - Returns a persistent connection to a database
  • db2_exec() - Executes an SQL statement directly
  • db2_prepare() - Prepara un comando SQL para su ejecución
  • db2_cursor_type() - Returns the cursor type used by a statement resource

db2_server_info
db2_special_columns
Funciones de IBM DB2


Returns a result set listing the unique row identifier columns for a table

db2_set_option
db2_statistics
Funciones de IBM DB2
PHP Manual

db2_special_columns

(PECL ibm_db2 >= 1.0.0)

db2_special_columns — Returns a result set listing the unique row identifier columns for a table

Descripción

resource db2_special_columns ( resource $connection , string $qualifier , string $schema , string $table_name , int $scope )

Returns a result set listing the unique row identifier columns for a table.

Parámetros

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables.

table_name

The name of the table.

scope

Integer value representing the minimum duration for which the unique row identifier is valid. This can be one of the following values:

Integer value | SQL constant | Description
0 | SQL_SCOPE_CURROW | Row identifier is valid only while the cursor is positioned on the row.
1 | SQL_SCOPE_TRANSACTION | Row identifier is valid for the duration of the transaction.
2 | SQL_SCOPE_SESSION | Row identifier is valid for the duration of the connection.

Valores devueltos

Returns a statement resource with a result set containing rows with unique row identifier information for a table. The rows are composed of the following columns:

Column name | Description
SCOPE

Integer value | SQL constant | Description
0 | SQL_SCOPE_CURROW | Row identifier is valid only while the cursor is positioned on the row.
1 | SQL_SCOPE_TRANSACTION | Row identifier is valid for the duration of the transaction.
2 | SQL_SCOPE_SESSION | Row identifier is valid for the duration of the connection.
COLUMN_NAME | Name of the unique column.
DATA_TYPE | SQL data type for the column.
TYPE_NAME | Character string representation of the SQL data type for the column.
COLUMN_SIZE | An integer value representing the size of the column.
BUFFER_LENGTH | Maximum number of bytes necessary to store data from this column.
DECIMAL_DIGITS | The scale of the column, or NULL where scale is not applicable.
NUM_PREC_RADIX | An integer value of either 10 (representing an exact numeric data type), 2 (representing an approximate numeric data type), or NULL (representing a data type for which radix is not applicable).
PSEUDO_COLUMN | Always returns 1.

Ver también

  • db2_column_privileges() - Obtiene la lista de columnas y permisos asociados a una tabla
  • db2_columns() - Devuelve los campos de una tabla y sus metadatos asociados.
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database

db2_set_option
db2_statistics
Funciones de IBM DB2


Returns a result set listing the index and statistics for a table

db2_special_columns
db2_stmt_error
Funciones de IBM DB2
PHP Manual

db2_statistics

(PECL ibm_db2 >= 1.0.0)

db2_statistics — Returns a result set listing the index and statistics for a table

Descripción

resource db2_statistics ( resource $connection , string $qualifier , string $schema , string $table-name , bool $unique )

Returns a result set listing the index and statistics for a table.

Parámetros

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema that contains the targeted table. If this parameter is NULL, the statistics and indexes are returned for the schema of the current user.

table_name

The name of the table.

unique

An integer value representing the type of index information to return.

0

Return only the information for unique indexes on the table.

1

Return the information for all indexes on the table.

Valores devueltos

Returns a statement resource with a result set containing rows describing the statistics and indexes for the base tables matching the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | The catalog that contains the table. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema that contains the table.
TABLE_NAME | Name of the table.
NON_UNIQUE

An integer value representing whether the index prohibits unique values, or whether the row represents statistics on the table itself:

Return value | Parameter type
0 (SQL_FALSE) | The index allows duplicate values.
1 (SQL_TRUE) | The index values must be unique.
NULL | This row is statistics information for the table itself.
INDEX_QUALIFIER | A string value representing the qualifier that would have to be prepended to INDEX_NAME to fully qualify the index.
INDEX_NAME | A string representing the name of the index.
TYPE

An integer value representing the type of information contained in this row of the result set:

Return value | Parameter type
0 (SQL_TABLE_STAT) | The row contains statistics about the table itself.
1 (SQL_INDEX_CLUSTERED) | The row contains information about a clustered index.
2 (SQL_INDEX_HASH) | The row contains information about a hashed index.
3 (SQL_INDEX_OTHER) | The row contains information about a type of index that is neither clustered nor hashed.
ORDINAL_POSITION | The 1-indexed position of the column in the index. NULL if the row contains statistics information about the table itself.
COLUMN_NAME | The name of the column in the index. NULL if the row contains statistics information about the table itself.
ASC_OR_DESC | A if the column is sorted in ascending order, D if the column is sorted in descending order, NULL if the row contains statistics information about the table itself.
CARDINALITY

If the row contains information about an index, this column contains an integer value representing the number of unique values in the index.

If the row contains information about the table itself, this column contains an integer value representing the number of rows in the table.

PAGES

If the row contains information about an index, this column contains an integer value representing the number of pages used to store the index.

If the row contains information about the table itself, this column contains an integer value representing the number of pages used to store the table.

FILTER_CONDITION | Always returns NULL.

Ver también

  • db2_column_privileges() - Obtiene la lista de columnas y permisos asociados a una tabla
  • db2_columns() - Devuelve los campos de una tabla y sus metadatos asociados.
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database

db2_special_columns
db2_stmt_error
Funciones de IBM DB2


Returns a string containing the SQLSTATE returned by an SQL statement

db2_statistics
db2_stmt_errormsg
Funciones de IBM DB2
PHP Manual

db2_stmt_error

(PECL ibm_db2 >= 1.0.0)

db2_stmt_error — Returns a string containing the SQLSTATE returned by an SQL statement

Descripción

string db2_stmt_error ([ resource $stmt ] )

Returns a string containing the SQLSTATE value returned by an SQL statement.

If you do not pass a statement resource as an argument to db2_stmt_error(), the driver returns the SQLSTATE value associated with the last attempt to return a statement resource, for example, from db2_prepare() or db2_exec().

To learn what the SQLSTATE value means, you can issue the following command at a DB2 Command Line Processor prompt: db2 '? sqlstate-value'. You can also call db2_stmt_errormsg() to retrieve an explicit error message and the associated SQLCODE value.

Parámetros

stmt

A valid statement resource.

Valores devueltos

Returns a string containing an SQLSTATE value.

Ver también

  • db2_conn_error() - Returns a string containing the SQLSTATE returned by the last connection attempt
  • db2_conn_errormsg() - Returns the last connection error message and SQLCODE value
  • db2_stmt_errormsg() - Returns a string containing the last SQL statement error message

db2_statistics
db2_stmt_errormsg
Funciones de IBM DB2


Returns a string containing the last SQL statement error message

db2_stmt_error
db2_table_privileges
Funciones de IBM DB2
PHP Manual

db2_stmt_errormsg

(PECL ibm_db2 >= 1.0.0)

db2_stmt_errormsg — Returns a string containing the last SQL statement error message

Descripción

string db2_stmt_errormsg ([ resource $stmt ] )

Returns a string containing the last SQL statement error message.

If you do not pass a statement resource as an argument to db2_stmt_errormsg(), the driver returns the error message associated with the last attempt to return a statement resource, for example, from db2_prepare() or db2_exec().

Parámetros

stmt

A valid statement resource.

Valores devueltos

Returns a string containing the error message and SQLCODE value for the last error that occurred issuing an SQL statement.

Ver también

  • db2_conn_error() - Returns a string containing the SQLSTATE returned by the last connection attempt
  • db2_conn_errormsg() - Returns the last connection error message and SQLCODE value
  • db2_stmt_error() - Returns a string containing the SQLSTATE returned by an SQL statement

db2_stmt_error
db2_table_privileges
Funciones de IBM DB2


Returns a result set listing the tables and associated privileges in a database

db2_stmt_errormsg
db2_tables
Funciones de IBM DB2
PHP Manual

db2_table_privileges

(PECL ibm_db2 >= 1.0.0)

db2_table_privileges — Returns a result set listing the tables and associated privileges in a database

Descripción

resource db2_table_privileges ( resource $connection [, string $qualifier [, string $schema [, string $table_name ]]] )

Returns a result set listing the tables and associated privileges in a database.

Parámetros

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables. This parameter accepts a search pattern containing _ and % as wildcards.

table_name

The name of the table. This parameter accepts a search pattern containing _ and % as wildcards.

Valores devueltos

Returns a statement resource with a result set containing rows describing the privileges for the tables that match the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | The catalog that contains the table. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema that contains the table.
TABLE_NAME | Name of the table.
GRANTOR | Authorization ID of the user who granted the privilege.
GRANTEE | Authorization ID of the user to whom the privilege was granted.
PRIVILEGE | The privilege that has been granted. This can be one of ALTER, CONTROL, DELETE, INDEX, INSERT, REFERENCES, SELECT, or UPDATE.
IS_GRANTABLE | A string value of "YES" or "NO" indicating whether the grantee can grant the privilege to other users.

Ver también

  • db2_column_privileges() - Obtiene la lista de columnas y permisos asociados a una tabla
  • db2_columns() - Devuelve los campos de una tabla y sus metadatos asociados.
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database

db2_stmt_errormsg
db2_tables
Funciones de IBM DB2


Returns a result set listing the tables and associated metadata in a database

db2_table_privileges
Informix
Funciones de IBM DB2
PHP Manual

db2_tables

(PECL ibm_db2 >= 1.0.0)

db2_tables — Returns a result set listing the tables and associated metadata in a database

Descripción

resource db2_tables ( resource $connection [, string $qualifier [, string $schema [, string $table-name [, string $table-type ]]]] )

Returns a result set listing the tables and associated metadata in a database.

Parámetros

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables. This parameter accepts a search pattern containing _ and % as wildcards.

table-name

The name of the table. This parameter accepts a search pattern containing _ and % as wildcards.

table-type

A list of comma-delimited table type identifiers. To match all table types, pass NULL or an empty string. Valid table type identifiers include: ALIAS, HIERARCHY TABLE, INOPERATIVE VIEW, NICKNAME, MATERIALIZED QUERY TABLE, SYSTEM TABLE, TABLE, TYPED TABLE, TYPED VIEW, and VIEW.

Valores devueltos

Returns a statement resource with a result set containing rows describing the tables that match the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | The catalog that contains the table. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema that contains the table.
TABLE_NAME | Name of the table.
TABLE_TYPE | Table type identifier for the table.
REMARKS | Description of the table.

Ver también

  • db2_column_privileges() - Obtiene la lista de columnas y permisos asociados a una tabla
  • db2_columns() - Devuelve los campos de una tabla y sus metadatos asociados.
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database

db2_table_privileges
Informix
Funciones de IBM DB2


Informix

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Informix Funciones
    • ifx_affected_rows — Get number of rows affected by a query
    • ifx_blobinfile_mode — Establece el modo predeterminado de blob en todas las consultas de selección
    • ifx_byteasvarchar — Establece el modo predeterminado byte
    • ifx_close — Cerrar conexión Informix
    • ifx_connect — Abrir conexión con el servidor Informix
    • ifx_copy_blob — Duplica el objeto blob
    • ifx_create_blob — Crea un objeto Blob
    • ifx_create_char — Crea un objeto char
    • ifx_do — Execute a previously prepared SQL-statement
    • ifx_error — Returns error code of last Informix call
    • ifx_errormsg — Returns error message of last Informix call
    • ifx_fetch_row — Get row as an associative array
    • ifx_fieldproperties — List of SQL fieldproperties
    • ifx_fieldtypes — List of Informix SQL fields
    • ifx_free_blob — Elimina el objeto blob
    • ifx_free_char — Elimina el objeto char
    • ifx_free_result — Libera recursos de la consulta
    • ifx_get_blob — Devolver el contenido de un objeto blob
    • ifx_get_char — Devolver el contenido del objeto char
    • ifx_getsqlca — Get the contents of sqlca.sqlerrd[0..5] after a query
    • ifx_htmltbl_result — Formatea todas las filas de una consulta en una tabla HTML
    • ifx_nullformat — Sets the default return value on a fetch row
    • ifx_num_fields — Returns the number of columns in the query
    • ifx_num_rows — Count the rows already fetched from a query
    • ifx_pconnect — Open persistent Informix connection
    • ifx_prepare — Prepare an SQL-statement for execution
    • ifx_query — Send Informix query
    • ifx_textasvarchar — Set the default text mode
    • ifx_update_blob — Updates the content of the blob object
    • ifx_update_char — Updates the content of the char object
    • ifxus_close_slob — Deletes the slob object
    • ifxus_create_slob — Creates an slob object and opens it
    • ifxus_free_slob — Deletes the slob object
    • ifxus_open_slob — Opens an slob object
    • ifxus_read_slob — Reads nbytes of the slob object
    • ifxus_seek_slob — Sets the current file or seek position
    • ifxus_tell_slob — Returns the current file or seek position
    • ifxus_write_slob — Writes a string into the slob object
db2_tables
Introducción
Extensiones de bases de datos específicas del proveedor


Introducción

El controlador Informix para Informix (IDS) 7.x, SE 7.x, Universal Server (IUS) 9.x y para IDS 2000 está implementado en "ifx.ec" y en "php_informix.h" en el directorio de extensiones de informix. El soporte para IDS 7.x está prácticamente completo, con soporte completo para columnas BYTE y TEXT. El soporte para IUS 9.x está parcialmente terminado: los nuevos tipos de datos están ahí, pero el soporte para SLOB y CLOB aún está en construcción.

Nota:

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.2.1.

Informix
Instalación/Configuración
Informix


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Informix


Requerimientos

Nota: Notas de configuración

Se necesita una versión de ESQL/C para compilar el driver de Informix para PHP. Las versiones desde la 7.2x en delante de ESQL/C deberían estar bien. ESQL/C ahora forma parte de el Informix Client SDK.

Asegúrese de que la variable "INFORMIXDIR" ha sido fijada, y que $INFORMIXDIR/bin esté en su PATH antes de ejecutar el script de "configure".

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Para poder utilizar las funciones definidas en este módulo se debe compilar el intérprete de PHP usando la línea de configuración --with-informix[=DIR] , donde DIR es el directorio base de instalación de Informix, cuyo valor por defecto es nada.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Nota:

Asegúrese de que las variables de entorno INFORMIXDIR e INFORMIXSERVER estén disponibles para el driver ifx de PHP, y que el directorio bin de INFORMIX esté en el PATH. Revise esto ejecutando un script que contenga una llamada a phpinfo() antes de comenzar a probar. La salida de phpinfo() debería listar estas variables de entorno. Esto es verdadero para ambos CGI php y Apache mod_php. Es posible que se deban fijar estas variables de entorno en el script de arranque de Apache.

Las librerías compartidas de Informix también deben de estar disponibles para el cargador (revise LD_LIBRARY_PATH o ld.so.conf/ldconfig).

Nota: Algunas notas en el uso de BLOBs (columnas TEXT y BYTE)

Los BLOBs son referenciados por identificadores BLOB. Peticiones Select regresan un "blob id" por cada columna BYTE y TEXT. Se puede llegar al contenido con "string_var = ifx_get_blob($blob_id);" si se elige colocar los BLOBs en memoria (con: "ifx_blobinfile(0);"). Si se prefiere recibir el contenido de las columnas BLOB en un fichero, utilice "ifx_blobinfile(1);", y "ifx_get_blob($blob_id);" devolverá el nombre del fichero. Utilice E/S de ficheros para acceder al contenido del blob.

Para peticiones de insert/update se deben crear estos "blob id" por cuenta propia con " ifx_create_blob();". Entonces se insertan los blob id dentro de una matriz, y se remplazan las columnas blob con un signo de interrogación (?) en la cadena de petición. Para updates/inserts, se tiene la responsabilidad de fijar el contenido del blob con ifx_update_blob().

El comportamiento de las columnas BLOB puede ser alterado por variables de configuración que también pueden ser fijadas en tiempo de ejecución:

variable de configuración: ifx.textasvarchar

variable de configuración: ifx.byteasvarchar

funciones de tiempo de ejecución:

ifx_textasvarchar(0): utilice blob ids para peticiones select con columnas TEXT

ifx_byteasvarchar(0): utilice blob ids para peticiones select con columnas BYTE

ifx_textasvarchar(1): devolver columnas TEXT como si fueran columnas VARCHAR, de tal manera que no sea necesario utilizar blob ids para peticiones select.

ifx_byteasvarchar(1): devolver columnas BYTE como si fueran columnas VARCHAR, de tal manera que no sea necesario utilizar blob ids para peticiones select.

variable de configuración: ifx.blobinfile

función de tiempo de ejecución:

ifx_blobinfile_mode(0): devolver columnas BYTE en memoria, el blob id permite acceder al contenido.

ifx_blobinfile_mode(1): devolver columnas BYTE en un fichero, el blob id permite obtener el nombre del fichero.

Si se fija ifx_text/byteasvarchar a 1, se pueden utilizar columnas TEXT y BYTE en peticiones select tal como en campos VARCHAR normales (aunque largos). Dado que todas las cadenas en PHP son "contadas", esto sigue siendo "seguro al tratar con datos binarios". Es su responsabilidad manejar esto correctamente. Los datos devueltos pueden no contener nada, Usted es responsable del contenido.

Si se fija ifx_blobinfile a 1, utilice el nombre de fichero devuelto por ifx_get_blob(..) para acceder al contenido del blob. Note que en este caso USTED ES EL RESPONSABLE DE BORRAR LOS FICHEROS TEMPORALES CREADOS POR INFORMIX al obtener el registro. Cada nuevo registro obtenido creará nuevos ficheros temporales para cada columna BYTE.

La ubicación de los ficheros temporales puede ser influenciada por la variable de entorno "blobdir", por defecto es "." (el directorio actual). Algo así como: "putenv(blobdir=tmpblob"); facilitará la limpieza de ficheros temporales dejados atrás accidentalmente (todos sus nombres inician con "blb").

Nota: Recortado (trimming) automático de datos tipo "char" (SQLCHAR y SQLNCHAR)

Esto puede ser fijado con la variable de configuración

ifx.charasvarchar: si se fija en 1 los espacios finales serán automáticamente eliminados, para ahorrar un poco de "rebanado".

Nota: Valores NULL

La variable de configuración ifx.nullformat (y la función de tiempo de ejecución ifx_nullformat()) cuando es fijada a TRUE devolverá las columnas NULL como la cadena "NULL", cuando es fijada a FALSE devuelven la cadena vacía. Esto permite discriminar entre columnas NULL y columnas vacías.

Opciones de configuración de Informix
Nombre | Por defecto | Cambiable | Historial de cambios
ifx.allow_persistent | "1" | PHP_INI_SYSTEM | Eliminada en PHP 5.2.1.
ifx.max_persistent | "-1" | PHP_INI_SYSTEM | Eliminada en PHP 5.2.1.
ifx.max_links | "-1" | PHP_INI_SYSTEM | Eliminada en PHP 5.2.1.
ifx.default_host | NULL | PHP_INI_SYSTEM | Eliminada en PHP 5.2.1.
ifx.default_user | NULL | PHP_INI_SYSTEM | Eliminada en PHP 5.2.1.
ifx.default_password | NULL | PHP_INI_SYSTEM | Eliminada en PHP 5.2.1.
ifx.blobinfile | "1" | PHP_INI_ALL | Eliminada en PHP 5.2.1.
ifx.textasvarchar | "0" | PHP_INI_ALL | Eliminada en PHP 5.2.1.
ifx.byteasvarchar | "0" | PHP_INI_ALL | Eliminada en PHP 5.2.1.
ifx.charasvarchar | "0" | PHP_INI_ALL | Eliminada en PHP 5.2.1.
ifx.nullformat | "0" | PHP_INI_ALL | Eliminada en PHP 5.2.1.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

ifx.allow_persistent boolean

Permitir o no conexiones persistentes a Informix.

ifx.max_persistent integer

El número máximo de conexiones persistentes a Informix por proceso.

ifx.max_links integer

El número máximo de conexiones a Informix por proceso, incluyendo conexiones persistentes.

ifx.default_host string

El host por defecto al cual conectarse cuando no se ha especificado un host en ifx_connect() o ifx_pconnect(). No es efectiva en safe mode.

ifx.default_user string

El user id por defecto a utilizarse cuando no se especifica ninguno en ifx_connect() o ifx_pconnect(). No es efectiva en safe mode.

ifx.default_password string

La contraseña por omisión a utilizarse cuando no se ha especificado ninguna en ifx_connect() o ifx_pconnect(). No es efectiva en safe mode.

ifx.blobinfile boolean

Fíjese a TRUE si se desea devolver las columnas blob en un fichero, FALSE si se les desea en memoria. Se puede invalidar la opción en tiempo de ejecución con ifx_blobinfile_mode().

ifx.textasvarchar boolean

Fíjese a TRUE si se desea devolver las columnas TEXT como cadenas normales en enunciados select, FALSE si se desea utilizar parámetros blob id. Se puede invalidar la opción en tiempo de ejecución con ifx_textasvarchar().

ifx.byteasvarchar boolean

Fíjese a TRUE si se desea devolver las columnas BYTE como cadenas normales en peticiones select, FALSE si se desea utilizar parámetros blob id. Se puede invalidar la opción en tiempo de ejecución con ifx_textasvarchar().

ifx.charasvarchar boolean

Fíjese a TRUE si se desea eliminar los espacios sobrantes de las columnas CHAR al traerlas.

ifx.nullformat boolean

Fíjese a TRUE si se desea devolver columnas NULL como la cadena literal "NULL", FALSE si se desea que sean devueltas como la cadena vacía "". Se puede invalidar esta opción en tiempo de ejecución con ifx_nullformat().

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

IFX_SCROLL (integer)
IFX_HOLD (integer)
IFX_LO_RDONLY (integer)
IFX_LO_WRONLY (integer)
IFX_LO_APPEND (integer)
IFX_LO_RDWR (integer)
IFX_LO_BUFFER (integer)
IFX_LO_NOBUFFER (integer)
Tipos de recursos
Informix Funciones
Informix


Informix Funciones

Tabla de contenidos

  • ifx_affected_rows — Get number of rows affected by a query
  • ifx_blobinfile_mode — Establece el modo predeterminado de blob en todas las consultas de selección
  • ifx_byteasvarchar — Establece el modo predeterminado byte
  • ifx_close — Cerrar conexión Informix
  • ifx_connect — Abrir conexión con el servidor Informix
  • ifx_copy_blob — Duplica el objeto blob
  • ifx_create_blob — Crea un objeto Blob
  • ifx_create_char — Crea un objeto char
  • ifx_do — Execute a previously prepared SQL-statement
  • ifx_error — Returns error code of last Informix call
  • ifx_errormsg — Returns error message of last Informix call
  • ifx_fetch_row — Get row as an associative array
  • ifx_fieldproperties — List of SQL fieldproperties
  • ifx_fieldtypes — List of Informix SQL fields
  • ifx_free_blob — Elimina el objeto blob
  • ifx_free_char — Elimina el objeto char
  • ifx_free_result — Libera recursos de la consulta
  • ifx_get_blob — Devolver el contenido de un objeto blob
  • ifx_get_char — Devolver el contenido del objeto char
  • ifx_getsqlca — Get the contents of sqlca.sqlerrd[0..5] after a query
  • ifx_htmltbl_result — Formatea todas las filas de una consulta en una tabla HTML
  • ifx_nullformat — Sets the default return value on a fetch row
  • ifx_num_fields — Returns the number of columns in the query
  • ifx_num_rows — Count the rows already fetched from a query
  • ifx_pconnect — Open persistent Informix connection
  • ifx_prepare — Prepare an SQL-statement for execution
  • ifx_query — Send Informix query
  • ifx_textasvarchar — Set the default text mode
  • ifx_update_blob — Updates the content of the blob object
  • ifx_update_char — Updates the content of the char object
  • ifxus_close_slob — Deletes the slob object
  • ifxus_create_slob — Creates an slob object and opens it
  • ifxus_free_slob — Deletes the slob object
  • ifxus_open_slob — Opens an slob object
  • ifxus_read_slob — Reads nbytes of the slob object
  • ifxus_seek_slob — Sets the current file or seek position
  • ifxus_tell_slob — Returns the current file or seek position
  • ifxus_write_slob — Writes a string into the slob object
Constantes predefinidas
ifx_affected_rows
Informix


Get number of rows affected by a query

Informix Funciones
ifx_blobinfile_mode
Informix Funciones
PHP Manual

ifx_affected_rows

(PHP 4, PHP <=5.2.0)

ifx_affected_rows — Get number of rows affected by a query

Descripción

int ifx_affected_rows ( resource $result_id )

Returns the number of rows affected by a query associated with result_id.

For inserts, updates and deletes the number is the real number (sqlerrd[2]) of affected rows. For selects it is an estimate (sqlerrd[0]). Don't rely on it. The database server can never return the actual number of rows that will be returned by a SELECT because it has not even begun fetching them at this stage (just after the "PREPARE" when the optimizer has determined the query plan).

Useful after ifx_prepare() to limit queries to reasonable result sets.

Parámetros

result_id

A valid result id returned by ifx_query() or ifx_prepare().

Valores devueltos

Returns the number of rows as an integer.

Ejemplos

Ejemplo #1 Informix affected rows

<?php
$rid = ifx_prepare("select * from emp
                     where name like " . $name, $connid);
if (! $rid) {
    /* ... error ... */
}
$rowcount = ifx_affected_rows($rid);
if ($rowcount > 1000) {
    printf ("Too many rows in result set (%d)\n<br />", $rowcount);
    die ("Please restrict your query<br />\n");
}
?>

Ver también

  • ifx_num_rows() - Count the rows already fetched from a query

Informix Funciones
ifx_blobinfile_mode
Informix Funciones


Establece el modo predeterminado de blob en todas las consultas de selección

ifx_affected_rows
ifx_byteasvarchar
Informix Funciones
PHP Manual

ifx_blobinfile_mode

(PHP 4, PHP <=5.2.0)

ifx_blobinfile_mode — Establece el modo predeterminado de blob en todas las consultas de selección

Descripción

bool ifx_blobinfile_mode ( int $mode )

Establece el modo predeterminado de blob en todas las consultas de selección.

Parámetros

mode

Modo "0" significa guardarlos en la memoria, y modo "1" significa guardarlos en un archivo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ifx_affected_rows
ifx_byteasvarchar
Informix Funciones


Establece el modo predeterminado byte

ifx_blobinfile_mode
ifx_close
Informix Funciones
PHP Manual

ifx_byteasvarchar

(PHP 4, PHP <=5.2.0)

ifx_byteasvarchar — Establece el modo predeterminado byte

Descripción

bool ifx_byteasvarchar ( int $mode )

Establece el modo byte predeterminado para todas las consultas de selección.

Parámetros

mode

Modo "0" devolverá blob id, y modo "1" devolverá un varchar con el contenido del texto.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ifx_textasvarchar() - Set the default text mode

ifx_blobinfile_mode
ifx_close
Informix Funciones


Cerrar conexión Informix

ifx_byteasvarchar
ifx_connect
Informix Funciones
PHP Manual

ifx_close

(PHP 4, PHP <=5.2.0)

ifx_close — Cerrar conexión Informix

Descripción

bool ifx_close ([ resource $link_identifier ] )

ifx_close() cierra el enlace a una base de datos Informix que está asociado al identificador de enlace especificado.

Tenga en cuenta que esto no suele ser necesario, los enlaces abiertos que no son permanentes son cerrados automáticamente al finalizar el script.

ifx_close() no cerrará enlaces permanentes generados por ifx_pconnect().

Parámetros

link_identifier

El identificador de enlace. Si no se especifica, el último enlace abierto es asumido.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Closing a Informix connection

<?php
$conn_id = ifx_connect ("mydb@ol_srv", "itsme", "mypassword");
/* ... Algunas consultas y cosas ... */
ifx_close($conn_id);
?>

Ver también

  • ifx_connect() - Abrir conexión con el servidor Informix
  • ifx_pconnect() - Open persistent Informix connection

ifx_byteasvarchar
ifx_connect
Informix Funciones


Abrir conexión con el servidor Informix

ifx_close
ifx_copy_blob
Informix Funciones
PHP Manual

ifx_connect

(PHP 4, PHP <=5.2.0)

ifx_connect — Abrir conexión con el servidor Informix

Descripción

resource ifx_connect ([ string $database [, string $userid [, string $password ]]] )

ifx_connect() establece una conexión con un servidor Informix.

En este caso se hace una segunda llamada a ifx_connect() con los mismos argumentos, no se abrirá nuevo enlace, pero en su lugar. El identificador de enlace ya abierto será devuelto.

El enlace al servidor será cerrado tan pronto como la ejecución del script termine, a menos que sea cerrado llamando a explícitamente a ifx_close().

Parámetros

Todos los argumentos son opcionales, y si alguno falta, por defecto se toman los valores proporcionados en el php.ini (ifx.default_host para el host (La libreria usará el valor de entorno INFORMIXSERVER si no está definido), ifx.default_user para el usuario, ifx.default_password para la contraseña (ninguna si no está definida).

database

El nombre de la base de datos, como un string.

userid

El usuario, como un string.

password

La contraseña, como un string.

Valores devueltos

Devuelve un identificador de conexión en caso de éxito, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Conectarse a una base de datos Informix

<?php
$conn_id = ifx_connect ("mydb@ol_srv1", "imyself", "mypassword");
?>

Ver también

  • ifx_pconnect() - Open persistent Informix connection
  • ifx_close() - Cerrar conexión Informix

ifx_close
ifx_copy_blob
Informix Funciones


Duplica el objeto blob

ifx_connect
ifx_create_blob
Informix Funciones
PHP Manual

ifx_copy_blob

(PHP 4, PHP <=5.2.0)

ifx_copy_blob — Duplica el objeto blob

Descripción

int ifx_copy_blob ( int $bid )

Duplica el objeto blob dado.

Parámetros

bid

Un identificador BLOB.

Valores devueltos

Devuelve el id del objeto blob, o FALSE en caso de error.

Ver también

  • ifx_create_blob() - Crea un objeto Blob
  • ifx_free_blob() - Elimina el objeto blob

ifx_connect
ifx_create_blob
Informix Funciones


Crea un objeto Blob

ifx_copy_blob
ifx_create_char
Informix Funciones
PHP Manual

ifx_create_blob

(PHP 4, PHP <=5.2.0)

ifx_create_blob — Crea un objeto Blob

Descripción

int ifx_create_blob ( int $type , int $mode , string $param )

Crea un objeto blob.

Parámetros

type

1 = TEXT, 0 = BYTE

mode

0 = blob-object contiene el contenido en la memoria, 1 = blob-object contiene el contenido en un archivo.

param

if mode = 0: puntero al contenido, if mode = 1: puntero al string del archivo.

Valores devueltos

Devuelve el id del objeto BLOB, o FALSE en caso de error.

Ver también

  • ifx_copy_blob() - Duplica el objeto blob
  • ifx_free_blob() - Elimina el objeto blob

ifx_copy_blob
ifx_create_char
Informix Funciones


Crea un objeto char

ifx_create_blob
ifx_do
Informix Funciones
PHP Manual

ifx_create_char

(PHP 4, PHP <=5.2.0)

ifx_create_char — Crea un objeto char

Descripción

int ifx_create_char ( string $param )

Crea un objeto char.

Parámetros

param

El contenido char.

Valores devueltos

Devuelve el id del objeto char, o FALSE en caso de error.

Ver también

  • ifx_free_char() - Elimina el objeto char

ifx_create_blob
ifx_do
Informix Funciones


Execute a previously prepared SQL-statement

ifx_create_char
ifx_error
Informix Funciones
PHP Manual

ifx_do

(PHP 4, PHP <=5.2.0)

ifx_do — Execute a previously prepared SQL-statement

Descripción

bool ifx_do ( resource $result_id )

Executes a previously prepared query or opens a cursor for it.

Does NOT free result_id on error.

Also sets the real number of ifx_affected_rows() for non-select statements for retrieval by ifx_affected_rows().

Parámetros

result_id

result_id is a valid resultid returned by ifx_query() or ifx_prepare() (select type queries only!).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

Ejemplo #1 ifx_do() Example

<?php
$conn = fx_connect( "db", "user", "password" );
$result = ifx_prepare("SELECT customer_num, company FROM customer", $conn);
ifx_do($result);
?>

Ver también

  • ifx_prepare() - Prepare an SQL-statement for execution

ifx_create_char
ifx_error
Informix Funciones


Returns error code of last Informix call

ifx_do
ifx_errormsg
Informix Funciones
PHP Manual

ifx_error

(PHP 4, PHP <=5.2.0)

ifx_error — Returns error code of last Informix call

Descripción

string ifx_error ([ resource $link_identifier ] )

Returns in a string one character describing the general results of a statement and both SQLSTATE and SQLCODE associated with the most recent SQL statement executed.

Parámetros

link_identifier

The link identifier.

Valores devueltos

The Informix error codes (SQLSTATE & SQLCODE) formatted as x [SQLSTATE = aa bbb SQLCODE=cccc].

where x = space : no error

E : error

N : no more data

W : warning

? : undefined

If the "x" character is anything other than space, SQLSTATE and SQLCODE describe the error in more detail.

See the Informix manual for the description of SQLSTATE and SQLCODE

Ver también

  • ifx_errormsg() - Returns error message of last Informix call

ifx_do
ifx_errormsg
Informix Funciones


Returns error message of last Informix call

ifx_error
ifx_fetch_row
Informix Funciones
PHP Manual

ifx_errormsg

(PHP 4, PHP <=5.2.0)

ifx_errormsg — Returns error message of last Informix call

Descripción

string ifx_errormsg ([ int $errorcode ] )

Returns the Informix error message associated with the most recent Informix error.

Parámetros

errorcode

If specified, the function will return the message corresponding to the specified code.

Valores devueltos

Return the error message, as a string.

Ejemplos

Ejemplo #1 ifx_errormsg() example

<?php
printf("%s\n<br>", ifx_errormsg(-201));
?>

Ver también

  • ifx_error() - Returns error code of last Informix call

ifx_error
ifx_fetch_row
Informix Funciones


Get row as an associative array

ifx_errormsg
ifx_fieldproperties
Informix Funciones
PHP Manual

ifx_fetch_row

(PHP 4, PHP <=5.2.0)

ifx_fetch_row — Get row as an associative array

Descripción

array ifx_fetch_row ( resource $result_id [, mixed $position ] )

Fetches one row of data from the result associated with the specified result identifier.

Subsequent calls to ifx_fetch_row() would return the next row in the result set, or FALSE if there are no more rows.

Parámetros

result_id

result_id is a valid resultid returned by ifx_query() or ifx_prepare() (select type queries only!).

position

An optional parameter for a "fetch" operation on "scroll" cursors: NEXT, PREVIOUS, CURRENT, FIRST, LAST or a number. If you specify a number, an "absolute" row fetch is executed. This parameter is optional, and only valid for SCROLL cursors.

Valores devueltos

Returns an associative array that corresponds to the fetched row, or FALSE if there are no more rows.

Blob columns are returned as integer blob id values for use in ifx_get_blob() unless you have used ifx_textasvarchar(1) or ifx_byteasvarchar(1), in which case blobs are returned as string values.

Ejemplos

Ejemplo #1 Informix fetch rows

<?php
$rid = ifx_prepare ("select * from emp where name like " . $name,
                     $connid, IFX_SCROLL);
if (! $rid) {
    /* ... error ... */
}
$rowcount = ifx_affected_rows($rid);
if ($rowcount > 1000) {
    printf ("Too many rows in result set (%d)\n<br />", $rowcount);
    die ("Please restrict your query<br />\n");
}
if (! ifx_do ($rid)) {
   /* ... error ... */
}
$row = ifx_fetch_row ($rid, "NEXT");
while (is_array($row)) {
    for (reset($row); $fieldname=key($row); next($row)) {
        $fieldvalue = $row[$fieldname];
        printf ("%s = %s,", $fieldname, $fieldvalue);
    }
    printf("\n<br />");
    $row = ifx_fetch_row($rid, "NEXT");
}
ifx_free_result ($rid);
?>

ifx_errormsg
ifx_fieldproperties
Informix Funciones


List of SQL fieldproperties

ifx_fetch_row
ifx_fieldtypes
Informix Funciones
PHP Manual

ifx_fieldproperties

(PHP 4, PHP <=5.2.0)

ifx_fieldproperties — List of SQL fieldproperties

Descripción

array ifx_fieldproperties ( resource $result_id )

Returns the Informix SQL fieldproperties of every field in the query as an associative array. Properties are encoded as: "SQLTYPE;length;precision;scale;ISNULLABLE" where SQLTYPE = the Informix type like "SQLVCHAR" etc. and ISNULLABLE = "Y" or "N".

Parámetros

result_id

result_id is a valid resultid returned by ifx_query() or ifx_prepare() (select type queries only!).

Valores devueltos

Returns an associative array with fieldnames as key and the SQL fieldproperties as data for a query with result_id. Returns FALSE on errors.

Ejemplos

Ejemplo #1 Informix SQL fieldproperties

<?php
$properties = ifx_fieldproperties($resultid);
if (!isset($properties)) {
    /* ... error ... */
}
foreach ($properties as $fname => $val) {
    echo "$fname:\t property = $val\n";
}
?>

Ver también

  • ifx_fieldtypes() - List of Informix SQL fields

ifx_fetch_row
ifx_fieldtypes
Informix Funciones


List of Informix SQL fields

ifx_fieldproperties
ifx_free_blob
Informix Funciones
PHP Manual

ifx_fieldtypes

(PHP 4, PHP <=5.2.0)

ifx_fieldtypes — List of Informix SQL fields

Descripción

array ifx_fieldtypes ( resource $result_id )

Returns an associative array with fieldnames as key and the SQL fieldtypes as data for the query associated with result_id.

Parámetros

result_id

result_id is a valid resultid returned by ifx_query() or ifx_prepare() (select type queries only!).

Valores devueltos

Returns an associative array with fieldnames as key and the SQL fieldtypes as data for query with result_id. Returns FALSE on error.

Ejemplos

Ejemplo #1 Fieldnames and SQL fieldtypes

<?php
$types = ifx_fieldtypes($resultid);
if (is_array($types)) {
    foreach ($types as $fname => $val) {
        echo "$fname:\t type = $val\n";
    }
}
?>

Ver también

  • ifx_fieldproperties() - List of SQL fieldproperties

ifx_fieldproperties
ifx_free_blob
Informix Funciones


Elimina el objeto blob

ifx_fieldtypes
ifx_free_char
Informix Funciones
PHP Manual

ifx_free_blob

(PHP 4, PHP <=5.2.0)

ifx_free_blob — Elimina el objeto blob

Descripción

bool ifx_free_blob ( int $bid )

Elimina el objeto blob para el id del objeto blob dado.

Parámetros

bid

El id del objeto BLOB.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ifx_create_blob() - Crea un objeto Blob

ifx_fieldtypes
ifx_free_char
Informix Funciones


Elimina el objeto char

ifx_free_blob
ifx_free_result
Informix Funciones
PHP Manual

ifx_free_char

(PHP 4, PHP <=5.2.0)

ifx_free_char — Elimina el objeto char

Descripción

bool ifx_free_char ( int $bid )

Elimina el objeto char para el id del objeto char dado.

Parámetros

bid

El id del objeto char.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ifx_create_char() - Crea un objeto char

ifx_free_blob
ifx_free_result
Informix Funciones


Libera recursos de la consulta

ifx_free_char
ifx_get_blob
Informix Funciones
PHP Manual

ifx_free_result

(PHP 4, PHP <=5.2.0)

ifx_free_result — Libera recursos de la consulta

Descripción

bool ifx_free_result ( resource $result_id )

Libera recursos de la consulta asociada con result_id.

Parámetros

result_id

result_id es un resultid válido devuelto por ifx_query() o ifx_prepare() (¡consultas de selección de tipo único!).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ifx_do() - Execute a previously prepared SQL-statement

ifx_free_char
ifx_get_blob
Informix Funciones


Devolver el contenido de un objeto blob

ifx_free_result
ifx_get_char
Informix Funciones
PHP Manual

ifx_get_blob

(PHP 4, PHP <=5.2.0)

ifx_get_blob — Devolver el contenido de un objeto blob

Descripción

string ifx_get_blob ( int $bid )

Devuelve el contenido del objeto blob.

Parámetros

bid

El id del objeto BLOB.

Valores devueltos

El contenido de el BLOB como un string, o FALSE en caso de error.

Ver también

  • ifx_get_char() - Devolver el contenido del objeto char

ifx_free_result
ifx_get_char
Informix Funciones


Devolver el contenido del objeto char

ifx_get_blob
ifx_getsqlca
Informix Funciones
PHP Manual

ifx_get_char

(PHP 4, PHP <=5.2.0)

ifx_get_char — Devolver el contenido del objeto char

Descripción

string ifx_get_char ( int $bid )

Devuelve el contenido del objeto char.

Parámetros

bid

El id del objeto char.

Valores devueltos

Devuelve el contenido como un string, o FALSE en caso de error.

Ver también

  • ifx_get_blob() - Devolver el contenido de un objeto blob

ifx_get_blob
ifx_getsqlca
Informix Funciones


Get the contents of sqlca.sqlerrd[0..5] after a query

ifx_get_char
ifx_htmltbl_result
Informix Funciones
PHP Manual

ifx_getsqlca

(PHP 4, PHP <=5.2.0)

ifx_getsqlca — Get the contents of sqlca.sqlerrd[0..5] after a query

Descripción

array ifx_getsqlca ( resource $result_id )

Returns a pseudo-row with sqlca.sqlerrd[0] ... sqlca.sqlerrd[5] after the query associated with result_id.

For inserts, updates and deletes the values returned are those as set by the server after executing the query. This gives access to the number of affected rows and the serial insert value. For SELECTs the values are those saved after the PREPARE statement. This gives access to the *estimated* number of affected rows. The use of this function saves the overhead of executing a SELECT dbinfo('sqlca.sqlerrdx') query, as it retrieves the values that were saved by the ifx driver at the appropriate moment.

Parámetros

result_id

result_id is a valid result id returned by ifx_query() or ifx_prepare() (select type queries only!).

Valores devueltos

Returns an associative array with the following entries: sqlerrd0, sqlerrd1, sqlerrd2, sqlerrd3, sqlerrd4 and sqlerrd5.

Ejemplos

Ejemplo #1 Retrieve Informix sqlca.sqlerrd[x] values

<?php
/* assume the first column of 'sometable' is a serial */
$qid = ifx_query("insert into sometable
                  values (0, '2nd column', 'another column') ", $connid);
if (!$qid) {
    /* ... error ... */
}
$sqlca = ifx_getsqlca($qid);
$serial_value = $sqlca["sqlerrd1"];
echo "The serial value of the inserted row is : $serial_value<br />\n";
?>

ifx_get_char
ifx_htmltbl_result
Informix Funciones


Formatea todas las filas de una consulta en una tabla HTML

ifx_getsqlca
ifx_nullformat
Informix Funciones
PHP Manual

ifx_htmltbl_result

(PHP 4, PHP <=5.2.0)

ifx_htmltbl_result — Formatea todas las filas de una consulta en una tabla HTML

Descripción

int ifx_htmltbl_result ( resource $result_id [, string $html_table_options ] )

Formatea e imprime todas las filas de la consulta result_id en una tabla HTML.

Parámetros

result_id

result_id es un resultid valido devuelto por ifx_query() o ifx_prepare() (¡consultas de selección de tipo único!).

html_table_options

Este argumento opcional es un string de la etiqueta de opciones <table>.

Valores devueltos

Devuelve el número de filas recuperadas, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Informix resultados como tabla HTML

<?php
$rid = ifx_prepare ("select * from emp where name like " . $name,
                     $connid, IFX_SCROLL);
if (! $rid) {
    /* ... error ... */
}
$rowcount = ifx_affected_rows ($rid);
if ($rowcount > 1000) {
    printf ("Too many rows in result set (%d)\n<br />", $rowcount);
    die ("Please restrict your query<br />\n");
}
if (! ifx_do($rid)) {
    /* ... error ... */
}

ifx_htmltbl_result ($rid, "border=\"2\"");

ifx_free_result($rid);
?>

ifx_getsqlca
ifx_nullformat
Informix Funciones


Sets the default return value on a fetch row

ifx_htmltbl_result
ifx_num_fields
Informix Funciones
PHP Manual

ifx_nullformat

(PHP 4, PHP <=5.2.0)

ifx_nullformat — Sets the default return value on a fetch row

Descripción

bool ifx_nullformat ( int $mode )

Sets the default return value of a NULL-value on a fetch row.

Parámetros

mode

Mode "0" returns "", and mode "1" returns "NULL".

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ifx_htmltbl_result
ifx_num_fields
Informix Funciones


Returns the number of columns in the query

ifx_nullformat
ifx_num_rows
Informix Funciones
PHP Manual

ifx_num_fields

(PHP 4, PHP <=5.2.0)

ifx_num_fields — Returns the number of columns in the query

Descripción

int ifx_num_fields ( resource $result_id )

After preparing or executing a query, this call gives you the number of columns in the query.

Parámetros

result_id

result_id is a valid resultid returned by ifx_query() or ifx_prepare() (select type queries only!).

Valores devueltos

Returns the number of columns in query for result_id, or FALSE on errors.

Ejemplos

Ejemplo #1 ifx_num_fields() Example

<?php
$conn_id = ifx_connect("db", "user", "password");
$res_id = ifx_query("select * from systables", $conn_id);
echo ifx_num_fields($res_id);
?>

Ver también

  • ifx_num_rows() - Count the rows already fetched from a query

ifx_nullformat
ifx_num_rows
Informix Funciones


Count the rows already fetched from a query

ifx_num_fields
ifx_pconnect
Informix Funciones
PHP Manual

ifx_num_rows

(PHP 4, PHP <=5.2.0)

ifx_num_rows — Count the rows already fetched from a query

Descripción

int ifx_num_rows ( resource $result_id )

Gives the number of rows fetched so far for a query with result_id after a ifx_query() or ifx_do() query.

Parámetros

result_id

result_id is a valid resultid returned by ifx_query() or ifx_prepare() (select type queries only!).

Valores devueltos

Returns the number of fetched rows or FALSE on errors.

Ver también

  • ifx_num_fields() - Returns the number of columns in the query

ifx_num_fields
ifx_pconnect
Informix Funciones


Open persistent Informix connection

ifx_num_rows
ifx_prepare
Informix Funciones
PHP Manual

ifx_pconnect

(PHP 4, PHP <=5.2.0)

ifx_pconnect — Open persistent Informix connection

Descripción

resource ifx_pconnect ([ string $database [, string $userid [, string $password ]]] )

ifx_pconnect() acts very much like ifx_connect() with two major differences.

First, when connecting, the function would first try to find a (persistent) link that's already open with the same host, username and password. If one is found, an identifier for it will be returned instead of opening a new connection.

Second, the connection to the SQL server will not be closed when the execution of the script ends. Instead, the link will remain open for future use ( ifx_close() will not close links established by ifx_pconnect()).

This type of links is therefore called 'persistent'.

Parámetros

All of the arguments are optional, and if they're missing, defaults are taken from values supplied in php.ini (ifx.default_host for the host (Informix libraries will use INFORMIXSERVER environment value if not defined), ifx.default_user for user, ifx.default_password for the password (none if not defined).

database

The database name, as a string.

userid

The username, as a string.

password

The password, as a string.

Valores devueltos

Returns: valid Informix persistent link identifier on success, or FALSE on errors.

Ver también

  • ifx_connect() - Abrir conexión con el servidor Informix

ifx_num_rows
ifx_prepare
Informix Funciones


Prepare an SQL-statement for execution

ifx_pconnect
ifx_query
Informix Funciones
PHP Manual

ifx_prepare

(PHP 4, PHP <=5.2.0)

ifx_prepare — Prepare an SQL-statement for execution

Descripción

resource ifx_prepare ( string $query , resource $link_identifier [, int $cursor_def ], mixed $blobidarray )

Prepares a query for later use with ifx_do().

For "select-type" queries a cursor is declared and opened. Non-select queries are "execute immediate".

For either query type the number of (estimated or real) affected rows is saved for retrieval by ifx_affected_rows().

If the contents of the TEXT (or BYTE) column allow it, you can also use ifx_textasvarchar(1) and ifx_byteasvarchar(1). This allows you to treat TEXT (or BYTE) columns just as if they were ordinary (but long) VARCHAR columns for select queries, and you don't need to bother with blob id's.

With ifx_textasvarchar(0) or ifx_byteasvarchar(0) (the default situation), select queries will return BLOB columns as blob id's (integer value). You can get the value of the blob as a string or file with the blob functions (see below).

Parámetros

query

The query string.

link_identifier

The link identifier.

cursor_def

This optional parameter allows you to make this a scroll and/or hold cursor. It's a bitmask and can be either IFX_SCROLL, IFX_HOLD, or both or'ed together.

blobidarray

If you have BLOB (BYTE or TEXT) columns in the query, you can add a blobidarray parameter containing the corresponding "blob ids", and you should replace those columns with a "?" in the query text.

Valores devueltos

Returns a valid result identifier for use by ifx_do(), or FALSE on errors.

Ver también

  • ifx_do() - Execute a previously prepared SQL-statement

ifx_pconnect
ifx_query
Informix Funciones


Send Informix query

ifx_prepare
ifx_textasvarchar
Informix Funciones
PHP Manual

ifx_query

(PHP 4, PHP <=5.2.0)

ifx_query — Send Informix query

Descripción

resource ifx_query ( string $query , resource $link_identifier [, int $cursor_type [, mixed $blobidarray ]] )

Sends a query to the currently active database on the server that's associated with the specified link identifier.

For "select-type" queries a cursor is declared and opened. Non-select queries are "execute immediate".

For either query type the number of (estimated or real) affected rows is saved for retrieval by ifx_affected_rows().

If the contents of the TEXT (or BYTE) column allow it, you can also use ifx_textasvarchar(1) and ifx_byteasvarchar(1). This allows you to treat TEXT (or BYTE) columns just as if they were ordinary (but long) VARCHAR columns for select queries, and you don't need to bother with blob id's.

With ifx_textasvarchar(0) or ifx_byteasvarchar(0) (the default situation), select queries will return BLOB columns as blob id's (integer value). You can get the value of the blob as a string or file with the blob functions (see below).

Parámetros

query

The query string.

link_identifier

The link identifier.

cursor_def

This optional parameter allows you to make this a scroll and/or hold cursor. It's a bitmask and can be either IFX_SCROLL, IFX_HOLD, or both or'ed together. I you omit this parameter the cursor is a normal sequential cursor.

blobidarray

If you have BLOB (BYTE or TEXT) columns in the query, you can add a blobidarray parameter containing the corresponding "blob ids", and you should replace those columns with a "?" in the query text.

Valores devueltos

Returns valid Informix result identifier on success, or FALSE on errors.

Ejemplos

Ejemplo #1 Show all rows of the "orders" table as a HTML table

<?php
ifx_textasvarchar(1);      // use "text mode" for blobs
$res_id = ifx_query("select * from orders", $conn_id);
if (! $res_id) {
    printf("Can't select orders : %s\n<br />%s<br />\n", ifx_error(), ifx_errormsg());
    die;
}
ifx_htmltbl_result($res_id, "border=\"1\"");
ifx_free_result($res_id);
?>

Ejemplo #2 Insert some values into the "catalog" table

<?php

// create blob id's for a byte and text column
$textid = ifx_create_blob(0, 0, "Text column in memory");
$byteid = ifx_create_blob(1, 0, "Byte column in memory");

// store blob id's in a blobid array
$blobidarray[] = $textid;
$blobidarray[] = $byteid;

// launch query
$query = "insert into catalog (stock_num, manu_code, " .
         "cat_descr,cat_picture) values(1,'HRO',?,?)";
$res_id = ifx_query($query, $conn_id, $blobidarray);
if (! $res_id) {
    /* ... error ... */
}

// free result id
ifx_free_result($res_id);
?>

Ver también

  • ifx_connect() - Abrir conexión con el servidor Informix

ifx_prepare
ifx_textasvarchar
Informix Funciones


Set the default text mode

ifx_query
ifx_update_blob
Informix Funciones
PHP Manual

ifx_textasvarchar

(PHP 4, PHP <=5.2.0)

ifx_textasvarchar — Set the default text mode

Descripción

bool ifx_textasvarchar ( int $mode )

Sets the default text mode for all select-queries.

Parámetros

mode

Mode "0" will return a blob id, and mode "1" will return a varchar with text content.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ifx_byteasvarchar() - Establece el modo predeterminado byte

ifx_query
ifx_update_blob
Informix Funciones


Updates the content of the blob object

ifx_textasvarchar
ifx_update_char
Informix Funciones
PHP Manual

ifx_update_blob

(PHP 4, PHP <=5.2.0)

ifx_update_blob — Updates the content of the blob object

Descripción

bool ifx_update_blob ( int $bid , string $content )

Updates the content of the blob object for the given blob object bid.

Parámetros

bid

A BLOB object identifier.

content

The new data, as a string.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ifx_update_char() - Updates the content of the char object

ifx_textasvarchar
ifx_update_char
Informix Funciones


Updates the content of the char object

ifx_update_blob
ifxus_close_slob
Informix Funciones
PHP Manual

ifx_update_char

(PHP 4, PHP <=5.2.0)

ifx_update_char — Updates the content of the char object

Descripción

bool ifx_update_char ( int $bid , string $content )

Updates the content of the char object for the given char object bid.

Parámetros

bid

A char object identifier.

content

The new data, as a string.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ifx_update_blob() - Updates the content of the blob object

ifx_update_blob
ifxus_close_slob
Informix Funciones


Deletes the slob object

ifx_update_char
ifxus_create_slob
Informix Funciones
PHP Manual

ifxus_close_slob

(PHP 4, PHP <=5.2.0)

ifxus_close_slob — Deletes the slob object

Descripción

bool ifxus_close_slob ( int $bid )

Deletes the slob object on the given slob object-id bid.

Parámetros

bid

An existing slob id.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ifxus_open_slob() - Opens an slob object

ifx_update_char
ifxus_create_slob
Informix Funciones


Creates an slob object and opens it

ifxus_close_slob
ifxus_free_slob
Informix Funciones
PHP Manual

ifxus_create_slob

(PHP 4, PHP <=5.2.0)

ifxus_create_slob — Creates an slob object and opens it

Descripción

int ifxus_create_slob ( int $mode )

Creates an slob object and opens it.

Parámetros

mode

A combination of IFX_LO_RDONLY, IFX_LO_WRONLY, IFX_LO_APPEND IFX_LO_RDWR, IFX_LO_BUFFER, IFX_LO_NOBUFFER.

Valores devueltos

Return the new slob object-id, or FALSE on errors.

Ver también

  • ifxus_close_slob() - Deletes the slob object
  • ifxus_free_slob() - Deletes the slob object

ifxus_close_slob
ifxus_free_slob
Informix Funciones


Deletes the slob object

ifxus_create_slob
ifxus_open_slob
Informix Funciones
PHP Manual

ifxus_free_slob

(PHP 4, PHP <=5.2.0)

ifxus_free_slob — Deletes the slob object

Descripción

bool ifxus_free_slob ( int $bid )

Deletes the slob object.

Parámetros

bid

An existing slob id.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ifxus_close_slob() - Deletes the slob object

ifxus_create_slob
ifxus_open_slob
Informix Funciones


Opens an slob object

ifxus_free_slob
ifxus_read_slob
Informix Funciones
PHP Manual

ifxus_open_slob

(PHP 4, PHP <=5.2.0)

ifxus_open_slob — Opens an slob object

Descripción

int ifxus_open_slob ( int $bid , int $mode )

Opens an slob object. bid should be an existing slob id.

Parámetros

bid

An existing slob id.

mode

A combination of IFX_LO_RDONLY, IFX_LO_WRONLY, IFX_LO_APPEND IFX_LO_RDWR, IFX_LO_BUFFER, IFX_LO_NOBUFFER.

Valores devueltos

Returns the new slob object-id, or FALSE on errors.

Ver también

  • ifxus_close_slob() - Deletes the slob object
  • ifxus_free_slob() - Deletes the slob object

ifxus_free_slob
ifxus_read_slob
Informix Funciones


Reads nbytes of the slob object

ifxus_open_slob
ifxus_seek_slob
Informix Funciones
PHP Manual

ifxus_read_slob

(PHP 4, PHP <=5.2.0)

ifxus_read_slob — Reads nbytes of the slob object

Descripción

string ifxus_read_slob ( int $bid , int $nbytes )

Reads nbytes of the slob object.

Parámetros

bid

An existing slob id.

nbytes

The number of bytes to read.

Valores devueltos

Returns the slob contents as a string, or FALSE on errors.

Ver también

  • ifxus_write_slob() - Writes a string into the slob object

ifxus_open_slob
ifxus_seek_slob
Informix Funciones


Sets the current file or seek position

ifxus_read_slob
ifxus_tell_slob
Informix Funciones
PHP Manual

ifxus_seek_slob

(PHP 4, PHP <=5.2.0)

ifxus_seek_slob — Sets the current file or seek position

Descripción

int ifxus_seek_slob ( int $bid , int $mode , int $offset )

Sets the current file or seek position of an open slob object.

Parámetros

bid

An existing slob id.

mode

0 = LO_SEEK_SET, 1 = LO_SEEK_CUR, 2 = LO_SEEK_END.

offset

A byte offset.

Valores devueltos

Returns the seek position as an integer, or FALSE on errors.

Ver también

  • ifxus_tell_slob() - Returns the current file or seek position

ifxus_read_slob
ifxus_tell_slob
Informix Funciones


Returns the current file or seek position

ifxus_seek_slob
ifxus_write_slob
Informix Funciones
PHP Manual

ifxus_tell_slob

(PHP 4, PHP <=5.2.0)

ifxus_tell_slob — Returns the current file or seek position

Descripción

int ifxus_tell_slob ( int $bid )

Returns the current file or seek position of an open slob object

Parámetros

bid

An existing slob id.

Valores devueltos

Returns the seek position as an integer, or FALSE on errors.

Ver también

  • ifxus_seek_slob() - Sets the current file or seek position

ifxus_seek_slob
ifxus_write_slob
Informix Funciones


Writes a string into the slob object

ifxus_tell_slob
Ingres
Informix Funciones
PHP Manual

ifxus_write_slob

(PHP 4, PHP <=5.2.0)

ifxus_write_slob — Writes a string into the slob object

Descripción

int ifxus_write_slob ( int $bid , string $content )

Writes a string into the slob object.

Parámetros

bid

An existing slob id.

content

The content to write, as a string.

Valores devueltos

Returns the bytes written as an integer, or FALSE on errors.

Ver también

  • ifxus_read_slob() - Reads nbytes of the slob object

ifxus_tell_slob
Ingres
Informix Funciones


Ingres DBMS, EDBC, y Enterprise Access Gateways

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Uso básico
  • Funciones de Ingres
    • ingres_autocommit_state — Comprueba si la conexión usa la autoconsigna
    • ingres_autocommit — Activa o desactiva la autoconsigna
    • ingres_charset — Devuelve el conjunto de caracteres de la instalación
    • ingres_close — Cierra una conexión a una base de datos de Ingres
    • ingres_commit — Consigna una trasacción
    • ingres_connect — Abre una conexión a una base de datos de Ingres
    • ingres_cursor — Obtiene el nombre de un cursor de un recurso de resultados dado
    • ingres_errno — Obtiene el número del último error generado de Ingres
    • ingres_error — Obtener un mensaje de error coherente del último error generado
    • ingres_errsqlstate — Obtiene el código del último error SQLSTATE generado
    • ingres_escape_string — Escapa caracteres especiales para usuarlos en una consulta
    • ingres_execute — Ejecuta una consulta preparada
    • ingres_fetch_array — Obtiene una fila de resultados en un array
    • ingres_fetch_assoc — Obtienen una fila de resultados en un array asociativo
    • ingres_fetch_object — Obtiene una fila de resultados en un objeto
    • ingres_fetch_proc_return — Obtiene el valor de retorno de una llamada a un procedimiento
    • ingres_fetch_row — Obtiene una fila de resultados en un array enumerado
    • ingres_field_length — Obtiene la longitud de un campo
    • ingres_field_name — Obtiene el nombre de un campo de un resultado de una consulta
    • ingres_field_nullable — Comprueba si un campo puede contener valores null
    • ingres_field_precision — Obtiene la precisión de un campo
    • ingres_field_scale — Obtiene la escala de un campo
    • ingres_field_type — Obtiene el tipo de un campo de un resultado de una consulta
    • ingres_free_result — Libera los recursos asociados a un identificador de resultados
    • ingres_next_error — Obtiene el siguiente error de Ingres
    • ingres_num_fields — Obtiene el número de campos devueltos por la última consulta
    • ingres_num_rows — Obtener el número de filas afectadas o devueltas por una consulta
    • ingres_pconnect — Abre una conexión persistente a una base de datos de Ingres
    • ingres_prepare — Prepara una consulta para su ejecución posterior
    • ingres_query — Envía una consulta SQL a Ingres
    • ingres_result_seek — Establece la posición de una fila antes de obtener datos
    • ingres_rollback — Revierte una transacción
    • ingres_set_environment — Establece las características de entorno que controlan las opciones de salida
    • ingres_unbuffered_query — Envía una consulta SQL no almacenada en búfer a Ingres
ifxus_write_slob
Introducción
Extensiones de bases de datos específicas del proveedor


Introducción

El controlador Ingres para PHP permite conectarse y realizar consultas a Ingres DBMS, EDBC, y Enterprise Access Gateways.

Nota:

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.1.0.

Ingres
Instalación/Configuración
Ingres


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Ingres


Requerimientos

Para utilizar o compilar la extensión de PHP para Ingres se ha de tener un cliente Ingres funcionando. Se puede descargar el software cliente de Ingres desde » http://esd.ingres.com/.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP. Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/ingres.

Se puede descargar la DLL para esta extensión PECL desde » http://esd.ingres.com/product/drivers/PHP/.

Para que estas funciones estén disponibles, se ha de » descargar y compilar esta extensión, habilitando el soporte para Ingres mediante la opción --with-ingres[=DIR] , donde DIR es el directorio base de Ingres. Si la variable de entorno II_SYSTEM no está establecida correctamente, podría ser necesario usar --with-ingres=DIR para especificar el directorio de instalación de Ingres.

El código de PHP escrito para las versiones 2.x y posteriores no es retrocompatible con versiones anteriores de esta extensión para PHP. Sin embargo, es posible ejecutar dos versiones incompatibles dentro del mismo entorno de PHP usando la opción --enable-ingres2 . Esta opción de configuración renombra la extensión a ingres2, cambiando los nombres de las funciones, los ajustes de configuración, y las constantes. Por ejemplo, con esta opción habilitada, ingres_connect() se convertirá en ingres2_connect().

Para usar esta extensión, la variable de entorno de sistema II_SYSTEM debe estar definida. Los usuarios de Linux y UNIX también necesitarán definir la rúta de búsqueda de las bibliotecas compartidas, por ejemplo, LD_LIBRARY_PATH. Cuando se usa junto con el servidor web Apache, estas variables deben estar explícitamente establecidas en el script de arranque de Apache. Además, se requiere la directiva PassEnv para que la extensión Ingres carque las bibliotecas compartidas correctar. Por ejemplo:

Ejemplo #1 Ejemplo de uso de PassEnv para Ingres

<IfModule mod_env.c>
    PassEnv II_SYSTEM
    PassEnv LD_LIBRARY_PATH
</IfModule>

Nota:

Para ejemplos de configuraciones de diferentes servidores web y sistemas operativos, véase » http://community.ingres.com/wiki/Ingres_Articles#Ingres_and_Web_Servers.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de Ingres
Nombre | Por defecto | Cambiable | Historial de cambios
ingres.allow_persistent | "1" | PHP_INI_SYSTEM | Disponible desde ingres 1.0.0
ingres.array_index_start | "1" | PHP_INI_ALL | Disponible desde ingres 1.4.0
ingres.auto | "1" | PHP_INI_ALL | Disponible desde ingres 2.0.0.
ingres.blob_segment_length | "4096" | PHP_INI_ALL | Disponible desde ingres 1.2.0.
ingres.cursor_mode | "0" | PHP_INI_ALL | Disponible desde ingres 1.1.0.
ingres.default_database | NULL | PHP_INI_ALL | Disponible desde ingres 1.0.0
ingres.default_password | NULL | PHP_INI_ALL | Disponible desde ingres 1.0.0
ingres.default_user | NULL | PHP_INI_ALL | Disponible desde ingres 1.0.0
ingres.describe | 1 | PHP_INI_ALL | Disponible desde ingres 2.1.0
ingres.fetch_buffer_size | 100 | PHP_INI_ALL | Disponible desde ingres 2.1.0
ingres.max_links | "-1" | PHP_INI_SYSTEM | Disponible desde ingres 1.0.0
ingres.max_persistent | "-1" | PHP_INI_SYSTEM | Disponible desde ingres 1.0.0
ingres.reuse_connection | "1" | PHP_INI_ALL | Disponible desde ingres 2.0.0
ingres.scrollable | "1" | PHP_INI_ALL | Disponible desde ingres 2.0.0.
ingres.trace | "0" | PHP_INI_ALL | Disponible desde ingres 2.0.0.
ingres.trace_connect | "0" | PHP_INI_ALL | Disponible desde ingres 1.2.1.
ingres.utf8 | "1" | PHP_INI_ALL | Disponible desde ingres 2.0.0.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

ingres.allow_persistent boolean

Especifica si se pertmiten conexiones persistentes a Ingres

ingres.array_index_start integer

Especifica el valor inicial de una clave de número entero para arrays generados por ingres_fetch_row() o por ingres_fetch_array(). Por omisión, ingres.array_index_start está establecido a 1. Si se quiere que la extensión ignres funciones como otras extensiones de bases de datos, se ha de establecer esta opción de configuración a 0.

ingres.auto boolean

Habilita o deshabilita la emulación de autoconsigna. Ingres no puede tener múltiples cursores abiertos con el modo 'autocommit' habilitado. Cuando se habilita, el controlador lo emula.

ingres.blob_segment_length integer

Especifica la cantidad de memoria a usar al leer datos BLOB, en bytes

ingres.cursor_mode integer

Especifica el modo predeterminado para los cursores abiertos con ingres_prepare(). Los valores válidos son INGRES_CURSOR_UPDATE o INGRES_CURSOR_READONLY.

ingres.default_database string

Especifica del nombre de la base de datos predeterminada a usar al conectarse al servidor de bases de datos si no se especifica ningún nombre. No es aplicable en el SQL safe mode.

ingres.default_password string

Especifica la contraseña predeterminada a usar al conectarse al servidor de bases de datos si no se especifica ninguna. No es aplicable en el SQL safe mode.

ingres.default_user string

Especifica el nombre de usuario predeterminado a usar al conectarse al servidor de bases de datos si no se especifica ningún nombre. No es aplicable en el SQL safe mode.

ingres.describe boolean

Habilita el uso de DESCRIBE INPUT para poder determinar los tipos de datos esperados para consultas que usan parámetros. Disponible con Ingres 9.1.0 y posteriores. Cuando se deshabilita, la consultas que tienen parámetros pasados podría ser necesario describir manualmente los tipos de estos parámetros usando el parámetro types en ingres_query().

Nota:

La habilitación de esta característica con ingres_query() causará tráfico de comunicaciones adicional entre esta extensión y el servidor. Para minimizar este tráfico adicional, use ingres_prepare() y ingres_execute().

ingres.fetch_buffer_size integer

Especifica el número de filas preobtienidas que ingres_fetch_array(), ingres_fetch_object() y ingres_fetch_row() intentarán obtener en una operación.

ingres.max_links integer

Especifica el número máximo de sesiones de Ingres permitidas por proceso o subproceso. El número de sesiones debería no exceder el número total de sesiones conectadas configuradas dentro de Ingres.

ingres.max_persistent integer

Especifica el número máximo de sesiones persistentes de Ingres permitidas por proceso o subproceso. El número de sesiones debería no exceder el número total de sesiones conectadas configuradas dentro de Ingres.

ingres.reuse_connection boolean

Reutiliza un conexión activa existente si se conecta a la misma base de datos con el mismo nombre de usuario.

ingres.scrollable boolean

Habilita el soporte para cursores desplazables. Cuando se obtengan datos CLOB o BLOB, esto debería estar establecido a FALSE. Disponibe con Ingres 9.2.0 o posteriores.

ingres.trace boolean

Habilita el rastreo sencillo usando mensajes E_NOTICE.

ingres.trace_connect boolean

Imprimer mensajes E_NOTICE durante las llamadas a ingres_connect() o ingres_pconnect().

ingres.utf8 boolean

Asume que las cadenas de caracteres pasadas a los tipos de columna Carácter Nacional (NVARCHAR o NCHAR) utilizan la codificación UTF8 y las convierte a UTF16 para el servidor.

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

ingres_connect() y ingres_pconnect() devuelven un identificador de enlace de Ingres.

ingres_query() y ingres_unbuffered_query() devuelven un identificador de resultado de Ingres.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

INGRES_ASSOC (integer)
Las columnas son devueltas en un array, siendo el nombre del campo el índice de dicho arrary. Usada con ingres_fetch_array().
INGRES_NUM (integer)
Las columnas son devueltas en un array que tiene un índice numérico por cada camps. Por omisión, este índice empieza en 1, el primer campo del resultado. Para cambiar este valor, véase ingres.array_index_start. Usada con ingres_fetch_array().
INGRES_BOTH (integer)
Las columnas son devueltas en un array que tiene tanto índices numéricos como índices del nombre del campo. Usada con ingres_fetch_array().
INGRES_EXT_VERSION (string)
Especifica la versión de la Extensión Ingres. Disponible desde la versión 1.2.0 de la extensión de PECL.
INGRES_API_VERSION (integer)
Especifica la versión de la OpenAPI de Ingres con la que se construyó la extensión. Disponible desde la versión 1.2.0 de la extensión de PECL.
INGRES_CURSOR_READONLY (integer)
Especifica que los cursores de Ingres deberían abrirse en modo de solo lectura. Disponible desde la versión 1.2.0 de la extensión de PECL. Usada con ingres.cursor_mode.
INGRES_CURSOR_UPDATE (integer)
Especifica que los cursoser de Ingres deberían abrirse para actualizar. Disponible desde la versión 1.2.0 de la extensión de PECL. Usada con ingres.cursor_mode.
INGRES_DATE_MULTINATIONAL (integer)
Equivalente al ajuste II_DATE_FORMAT de MULTINATIONAL. Disponible desde la versión 1.2.0 de la extensión de PECL. Usada con ingres_connect(), ingres_pconnect() y ingres_set_environment(). Véase options en ingres_set_environment().
INGRES_DATE_MULTINATIONAL4 (integer)
Equivalente al ajuste II_DATE_FORMAT de MULTINATIONAL4. Disponible desde la versión 1.2.0 de la extensión de PECL.
Usada con
 ingres_connect(),  ingres_pconnect()
y  ingres_set_environment(). Véase options
en  ingres_set_environment().
INGRES_DATE_FINNISH (integer)
Equivalente al ajuste II_DATE_FORMAT de FINNISH. Disponible desde la versión 1.2.0 de la extensión de PECL.
Usada con
 ingres_connect(),  ingres_pconnect()
y  ingres_set_environment(). Véase options
en  ingres_set_environment().
INGRES_DATE_ISO (integer)
Equivalente al ajuste II_DATE_FORMAT de ISO. Disponible desde la versión 1.2.0 de la extensión de PECL.
Usada con
 ingres_connect(),  ingres_pconnect()
y  ingres_set_environment(). Véase options
en  ingres_set_environment().
INGRES_DATE_ISO4 (integer)
Equivalente al ajuste II_DATE_FORMAT de ISO4. Disponible desde la versión 1.2.0 de la extensión de PECL.
Usada con
 ingres_connect(),  ingres_pconnect()
y  ingres_set_environment(). Véase options
en  ingres_set_environment().
INGRES_DATE_GERMAN (integer)
Equivalente al ajuste II_DATE_FORMAT de GERMAN. Disponible desde la versión 1.2.0 de la extensión de PECL.
Usada con
 ingres_connect(),  ingres_pconnect()
y  ingres_set_environment(). Véase options
en  ingres_set_environment().
INGRES_DATE_MDY (integer)
Equivalente al ajuste II_DATE_FORMAT de MDY. Disponible desde la versión 1.2.0 de la extensión de PECL.
Usada con
 ingres_connect(),  ingres_pconnect()
y  ingres_set_environment(). Véase options
en  ingres_set_environment().
INGRES_DATE_DMY (integer)
Equivalente al ajuste II_DATE_FORMAT de DMY. Disponible desde la versión 1.2.0 de la extensión de PECL.
Usada con
 ingres_connect(),  ingres_pconnect()
y  ingres_set_environment(). Véase options
en  ingres_set_environment().
INGRES_DATE_YMD (integer)
Equivalente al ajuste II_DATE_FORMAT de YMD. Disponible desde la versión 1.2.0 de la extensión de PECL.
Usada con
 ingres_connect(),  ingres_pconnect()
y  ingres_set_environment(). Véase options
en  ingres_set_environment().
INGRES_MONEY_LEADING (integer)
Especifica el carácter monetario que debería ser colocado al inicio de un valor monetario. Equivalente al ajuste II_MONEY_FORMAT para "L:". Disponible desde la versión 1.2.0 de la extensión de PECL. Usada con ingres_connect(), ingres_pconnect() y ingres_set_environment(). Véase options en ingres_set_environment().
INGRES_MONEY_TRAILING (integer)
Especifica el carácter monetario que debería ser colocado al final de un valor monetario. Equivalente al ajuste II_MONEY_FORMAT para "T:". Disponible desde la versión 1.2.0 de la extensión de PECL. Usada con ingres_connect(), ingres_pconnect() y ingres_set_environment(). Véase options en ingres_set_environment().
INGRES_STRUCTURE_BTREE (integer)
Especifica la tabla o la estructura de índices predeterminada para BTREE cuando se usa junto con las
opciones, o con la opción index_structure al conectarse. Disponible desde la versión 1.4.0 de la extensión de PECL.
Usada con  ingres_connect() y
 ingres_pconnect(). Véase options
en  ingres_connect().
INGRES_STRUCTURE_CBTREE (integer)
Especifica la tabla o la estructura de índices predeterminada para COMPRESSED BTREE cuando se usa junto con las
opciones, o con la opción index_structure al conectarse. Disponible desde la versión 1.4.0 de la extensión de PECL.
Usada con  ingres_connect() y
 ingres_pconnect(). Véase options
en  ingres_connect().
INGRES_STRUCTURE_HASH (integer)
Especifica la tabla o la estructura de índices predeterminada para HASH cuando se usa junto con las
opciones, o con la opción index_structure al conectarse. Disponible desde la versión 1.4.0 de la extensión de PECL.
Usada con  ingres_connect() y
 ingres_pconnect(). Véase options
en  ingres_connect().
INGRES_STRUCTURE_CHASH (integer)
Especifica la tabla o la estructura de índices predeterminada para COMPRESSED HASH cuando se usa junto con las
opciones, o con la opción index_structure al conectarse. Disponible desde la versión 1.4.0 de la extensión de PECL.
Usada con  ingres_connect() y
 ingres_pconnect(). Véase options
en  ingres_connect().
INGRES_STRUCTURE_HEAP (integer)
Especifica la tabla o la estructura de índices predeterminada para HEAP cuando se usa junto con las
opciones, o con la opción index_structure al conectarse. Disponible desde la versión 1.4.0 de la extensión de PECL.
Usada con  ingres_connect() y
 ingres_pconnect(). Véase options
en  ingres_connect().
INGRES_STRUCTURE_CHEAP (integer)
Especifica la tabla o la estructura de índices predeterminada para COMPRESSED HEAP cuando se usa junto con las
opciones, o con la opción index_structure al conectarse. Disponible desde la versión 1.4.0 de la extensión de PECL.
Usada con  ingres_connect() y
 ingres_pconnect(). Véase options
en  ingres_connect().
INGRES_STRUCTURE_ISAM (integer)
Especifica la tabla o la estructura de índices predeterminada para ISAM cuando se usa junto con las
opciones, o con la opción index_structure al conectarse. Disponible desde la versión 1.4.0 de la extensión de PECL.
Usada con  ingres_connect() y
 ingres_pconnect(). Véase options
en  ingres_connect().
INGRES_STRUCTURE_CISAM (integer)
Especifica la tabla o la estructura de índices predeterminada para COMPRESSED ISAM cuando se usa junto con las
opciones, o con la opción index_structure al conectarse. Disponible desde la versión 1.4.0 de la extensión de PECL.
Usada con  ingres_connect() y
 ingres_pconnect(). Véase options
en  ingres_connect().
Tipos de recursos
Ejemplos
Ingres


Ejemplos

Tabla de contenidos

  • Uso básico
Constantes predefinidas
Uso básico
Ingres


Uso básico

El siguiente ejemplo sencillo muestra cómo conectarse a una base de datos Ingres, ejecutar una consulta, imprimir las filas resultantes y desconectarse de la base de datos.

Ejemplo #1 Simple Ingres Example

<?php
// Conectarse, seleccionando la base de datos
$enlace = ingres_connect("base_datos", "usuario", "contraseña")
    or die("No se pudo conectar: " . ingres_error($enlace));
echo "Conexión realizada con éxito";

// Realizar una selección de una tabla que existe en todas las bases de datos Ingres
$consulta = "SELECT * FROM iitables";
$resultado = ingres_query($enlace,$consulta) or die("Falló la consulta: " .
ingres_error($enlace));

// Imprimir los resultados en HTML
// relid - nombre de la tabla
// relowner - propietario de la tabla
echo "<table>\n";
while ($iitables = ingres_fetch_object($resultado)) {
    echo "\t<tr>\n";
    echo "\t\t<td>" . $iitables->relid . "</td>\n";
    echo "\t\t<td>" . $iitables->relowner . "</td>\n";
    echo "\t</tr>\n";
}
echo "</table>\n";

// Liberara los resultados
ingres_free_result($resultado);

// Consignar la transacción
ingres_commit($enlace);

// Cerrar la conexión
ingres_close($enlace);
?>

Ejemplos
Funciones de Ingres
Ejemplos


Funciones de Ingres

Tabla de contenidos

  • ingres_autocommit_state — Comprueba si la conexión usa la autoconsigna
  • ingres_autocommit — Activa o desactiva la autoconsigna
  • ingres_charset — Devuelve el conjunto de caracteres de la instalación
  • ingres_close — Cierra una conexión a una base de datos de Ingres
  • ingres_commit — Consigna una trasacción
  • ingres_connect — Abre una conexión a una base de datos de Ingres
  • ingres_cursor — Obtiene el nombre de un cursor de un recurso de resultados dado
  • ingres_errno — Obtiene el número del último error generado de Ingres
  • ingres_error — Obtener un mensaje de error coherente del último error generado
  • ingres_errsqlstate — Obtiene el código del último error SQLSTATE generado
  • ingres_escape_string — Escapa caracteres especiales para usuarlos en una consulta
  • ingres_execute — Ejecuta una consulta preparada
  • ingres_fetch_array — Obtiene una fila de resultados en un array
  • ingres_fetch_assoc — Obtienen una fila de resultados en un array asociativo
  • ingres_fetch_object — Obtiene una fila de resultados en un objeto
  • ingres_fetch_proc_return — Obtiene el valor de retorno de una llamada a un procedimiento
  • ingres_fetch_row — Obtiene una fila de resultados en un array enumerado
  • ingres_field_length — Obtiene la longitud de un campo
  • ingres_field_name — Obtiene el nombre de un campo de un resultado de una consulta
  • ingres_field_nullable — Comprueba si un campo puede contener valores null
  • ingres_field_precision — Obtiene la precisión de un campo
  • ingres_field_scale — Obtiene la escala de un campo
  • ingres_field_type — Obtiene el tipo de un campo de un resultado de una consulta
  • ingres_free_result — Libera los recursos asociados a un identificador de resultados
  • ingres_next_error — Obtiene el siguiente error de Ingres
  • ingres_num_fields — Obtiene el número de campos devueltos por la última consulta
  • ingres_num_rows — Obtener el número de filas afectadas o devueltas por una consulta
  • ingres_pconnect — Abre una conexión persistente a una base de datos de Ingres
  • ingres_prepare — Prepara una consulta para su ejecución posterior
  • ingres_query — Envía una consulta SQL a Ingres
  • ingres_result_seek — Establece la posición de una fila antes de obtener datos
  • ingres_rollback — Revierte una transacción
  • ingres_set_environment — Establece las características de entorno que controlan las opciones de salida
  • ingres_unbuffered_query — Envía una consulta SQL no almacenada en búfer a Ingres
Uso básico
ingres_autocommit_state
Ingres


Comprueba si la conexión usa la autoconsigna

Funciones de Ingres
ingres_autocommit
Funciones de Ingres
PHP Manual

ingres_autocommit_state

(PECL ingres >= 2.0.0)

ingres_autocommit_state — Comprueba si la conexión usa la autoconsigna

Descripción

bool ingres_autocommit_state ( resource $link )

ingres_autocommit_state() se invoca para determinar si el enlace de conexión actual tiene habilitada la autoconsigna.

Parámetros

link

El identificador de enlace de la conexión

Valores devueltos

Devuelve TRUE si la autoconsigna está habilitada o FALSE cuando está deshabilitada

Ver también

  • ingres_autocommit() - Activa o desactiva la autoconsigna
  • ingres_query() - Envía una consulta SQL a Ingres

Funciones de Ingres
ingres_autocommit
Funciones de Ingres


Activa o desactiva la autoconsigna

ingres_autocommit_state
ingres_charset
Funciones de Ingres
PHP Manual

ingres_autocommit

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_autocommit — Activa o desactiva la autoconsigna

Descripción

bool ingres_autocommit ( resource $link )

ingres_autocommit() se invoca antes de abrir una transacción (antes de la primera llamada a ingres_query(), o justo después de una llamada a ingres_rollback() o a ingres_commit()) para activar o desactivar el modo autoconsigna del servidor (cuando se inicia el script, el modo autoconsigan está desactivado).

Cuando el modo autoconsigna está activado, cada consulta es automáticamente consignada por el servidor, igual que si ingres_commit() fuera invocada después de cada llamada a ingres_query(). Para ver si la autoconsigna está habilitada, use ingres_autocommit_state().

Por omisión, Ingres revertirá cualquier transacción no consignada al final de una petición. Use esta función o ingres_commit() para asegurarse que los datos son consignados a la base de datos.

Parámetros

link

El identificador de enlace de la conexión

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ingres_autocommit_state() - Comprueba si la conexión usa la autoconsigna
  • ingres_query() - Envía una consulta SQL a Ingres
  • ingres_rollback() - Revierte una transacción
  • ingres_commit() - Consigna una trasacción

ingres_autocommit_state
ingres_charset
Funciones de Ingres


Devuelve el conjunto de caracteres de la instalación

ingres_autocommit
ingres_close
Funciones de Ingres
PHP Manual

ingres_charset

(PECL ingres >= 2.1.0)

ingres_charset — Devuelve el conjunto de caracteres de la instalación

Descripción

string ingres_charset ( resource $link )

ingres_charset() se invoca para determinar el conjunto de caracteres que está usando el cliente Ingres, desde II_CHARSETxx (donce xx es el código de instalación).

Nota:

Se puede anular el valor devuelto usando la función putenv(). Cambiar el valor de II_CHARSETxx en una instalación de Ingres que se esté ejecutando puede corromper los datos.

Parámetros

link

El identificador de enlace de la conexión

Valores devueltos

Devuelve un string con el valor de II_CHARSETxx, o NULL si el valor no se pudo determinar.

Ejemplos

Ejemplo #1 ingres_charset() - Obtener el conjunto de caracteres de la instalación

<?php
$enlace = ingres_connect($base_datos, $usuario, $contraseña);

echo ingres_charset($enlace) . "\n";

ingres_close($enlace);
?>

Ver también

  • ingres_connect() - Abre una conexión a una base de datos de Ingres
  • ingres_query() - Envía una consulta SQL a Ingres

ingres_autocommit
ingres_close
Funciones de Ingres


Cierra una conexión a una base de datos de Ingres

ingres_charset
ingres_commit
Funciones de Ingres
PHP Manual

ingres_close

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_close — Cierra una conexión a una base de datos de Ingres

Descripción

bool ingres_close ( resource $link )

ingres_close() cierra la conexión al servidor Ingres que está asociada con el enlace especificado.

ingres_close() normalmente no es necesaria, ya que no cerrará las conexiones persistentes, y todas las conexiones no persistentes serán automáticamente cerradas al finalizar el script.

Parámetros

link

El identificador de enlace de la conexión

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ingres_connect() - Abre una conexión a una base de datos de Ingres
  • ingres_pconnect() - Abre una conexión persistente a una base de datos de Ingres

ingres_charset
ingres_commit
Funciones de Ingres


Consigna una trasacción

ingres_close
ingres_connect
Funciones de Ingres
PHP Manual

ingres_commit

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_commit — Consigna una trasacción

Descripción

bool ingres_commit ( resource $link )

ingres_commit() consigna la transacción abierta actualmente, haciendo que todos los cambios hechos a la base de datos sean permanentes.

Esta función cierra la transacción. Se puede abrir una nueva transacción enviando una consulta con ingres_query().

También se puede hacer que el servidor consigne automáticamente después de cada consulota llamando a ingres_autocommit() antes de abrir la transacción.

Por omisión, Ingres revertirá cualquier transacción no consignada al final de una petición. Use esta función o ingres_commit() para asegurarse que los datos son consignados a la base de datos.

Parámetros

link

El identificador de enlace de la conexión

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ingres_query() - Envía una consulta SQL a Ingres
  • ingres_rollback() - Revierte una transacción
  • ingres_autocommit() - Activa o desactiva la autoconsigna

ingres_close
ingres_connect
Funciones de Ingres


Abre una conexión a una base de datos de Ingres

ingres_commit
ingres_cursor
Funciones de Ingres
PHP Manual

ingres_connect

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_connect — Abre una conexión a una base de datos de Ingres

Descripción

resource ingres_connect ([ string $database [, string $username [, string $password [, array $options ]]]] )

ingres_connect() abre una conexión con la base de datos de Ingres dada por database.

La conexión se cierra cuando el script finaliza o cuando ingres_close() se invoca para este enlace.

Parámetros

Si se omiten algunos parámetros, ingres_connect() utilizará los valores de php.ini para ingres.default_database, ingres.default_user y ingres.default_password.

database

El nombre de la base de datos. Debe serguir la sintaxis:

[vnode::]dbname[/svr_class]

username

El nombre de usuario de Ingres

password

La contraseña asociada con username

options

Opciones de ingres_connect()

Nombre de la opción | Tipo de la opción | Descripción | Ejemplo
date_century_boundary | integer | El umbral por el cual se determina si un año de dos dígitos está en el siglo actual o en el siglo siguiente. Equivalente a II_DATE_CENTURY_BOUNDARY. | 50
group | string | Especifica el ID del grupo del usuario, equivalente a la bandera "-G" | payroll
role | string | El ID del rol de la aplicación. Si se requiere una contraseña de rol, el valor del parámetro debería especificarse como "rol/contraseña"
effective_user | string | La cuenta del usuario de ingres por la que se está haciendo pasar, equivalente a la bandera "-u" | another_user
dbms_password | string | La contraseña interna de la base de datos del usuario que se está conectando a Ingres | s3cr3t
table_structure string

La estructura predeteminada para la nuevas tablas. Los valores válidos para table_structure son:

  • INGRES_STRUCTURE_BTREE
  • INGRES_STRUCTURE_HASH
  • INGRES_STRUCTURE_HEAP
  • INGRES_STRUCTURE_ISAM
  • INGRES_STRUCTURE_CBTREE
  • INGRES_STRUCTURE_CISAM
  • INGRES_STRUCTURE_CHASH
  • INGRES_STRUCTURE_CHEAP

 INGRES_STRUCTURE_BTREE
index_structure string

La estructura predeterminada para los índeces secundarios nuevos. Los valores válidos para index_structure son:

  • INGRES_STRUCTURE_CBTREE
  • INGRES_STRUCTURE_CISAM
  • INGRES_STRUCTURE_CHASH
  • INGRES_STRUCTURE_BTREE
  • INGRES_STRUCTURE_HASH
  • INGRES_STRUCTURE_ISAM

 INGRES_STRUCTURE_HASH
login_local | boolean | Determina cómo se usan el ID del usuario y la contraseña cuando se incluye un VNODE en el string de la base de datos objetivo. Si se establece a TRUE, El ID del usuario y la contraseña se usarán para acceder localmente al VNODE, y la información de identificación del VNODE se usaraá para establecer la conexión al SGBD. Si se establece a FALSE, se usará el ID del usuario del proceso para acceder al VNODE, y el ID del usuario de la conexión y la contraseña se usarán en lugar de la información de identificación del VNODE para establecer la conexión al SGBD. Este parámetro es ignorado si no se incluye ningún VNODE en el string de la base de datos objetivo. Lo predeterminado es FALSE. | TRUE
timezone | string | Controla la zona horaria de la sesión. Si no se establece, se usará el valor definido por II_TIMEZONE_NAME. Si II_TIMEZONE_NAME no está definido, se usarán NA-PACIFIC (GMT-8 con horara de verano).
date_format integer

Establece el formato de entrada y salida permisible para las fechas de Ingres. El valor predeterminado es el definido por II_DATE_FORMAT. Si II_DATE_FORMAT no está establecido, se usará el formato de fecha US, p.j. mm/dd/aa. Los valores válidos para date_format son:

  • INGRES_DATE_DMY
  • INGRES_DATE_FINISH
  • INGRES_DATE_GERMAN
  • INGRES_DATE_ISO
  • INGRES_DATE_ISO4
  • INGRES_DATE_MDY
  • INGRES_DATE_MULTINATIONAL
  • INGRES_DATE_MULTINATIONAL4
  • INGRES_DATE_YMD
  • INGRES_DATE_US

 INGRES_DATE_MULTINATIONAL4
decimal_separator string El identificador del carácter para los datos decimales ","
money_lort integer

El símbolo monetario que va antes o después del valor. Los valores válidos para money_lort son:

  • INGRES_MONEY_LEADING
  • INGRES_MONEY_TRAILING

 INGRES_MONEY_TRAILING
money_sign string El símpbolo monetario a usar con el tipo de datos MONEY €
money_precision | integer | La precisión del tipo de datos MONEY | 3
float4_precision | integer | La precisión del tipo de datos FLOAT4 | 10
float8_precision | integer | La precisión del tipo de datos FLOAT8 | 10
blob_segment_length | integer | La cantidad de datos en bytes a obtener de una vez cuando se recuperan datos BLOB o CLOB. El valor predeterminado es de 4096 si no se establece explícitamente | 8192

Valores devueltos

Devuelve un recurso de enlace a Ingres en caso de éxito o FALSE en caso de error

Ejemplos

Ejemplo #1 Abrir una conexión a un base de datos de Ingres

<?php
$enlace = ingres_connect("mi_bd", "usuario", "contraseña")
    or die("No se pudo conectar");
echo "Conexión realizada con éxito";
ingres_close($enlace);
?>

Ver también

  • ingres_pconnect() - Abre una conexión persistente a una base de datos de Ingres
  • ingres_close() - Cierra una conexión a una base de datos de Ingres

ingres_commit
ingres_cursor
Funciones de Ingres


Obtiene el nombre de un cursor de un recurso de resultados dado

ingres_connect
ingres_errno
Funciones de Ingres
PHP Manual

ingres_cursor

(PECL ingres >= 1.1.0)

ingres_cursor — Obtiene el nombre de un cursor de un recurso de resultados dado

Descripción

string ingres_cursor ( resource $result )

Devuelve un string con el nombre del cursor activo. Si no hay ningún cursor activo, se devolverá NULL.

Parámetros

result

El identificador de resultados de una consulta

Valores devueltos

Devuelve un string que contiene el nombre del cursor activo. Si no hay ningún cursor activo, se devolverá NULL.

Ejemplos

Ejemplo #1 Obtener el nombre del cursor para un recurso de consultas

<?php
$enlace = ingres_connect($base_datos, $usuario, $contraseña);

$resultado = ingres_prepare($enlace, "select * from table");

$nombre_cursor = ingres_cursor($resultado);

echo $nombre_cursor;

?>

Ver también

  • ingres_prepare() - Prepara una consulta para su ejecución posterior
  • ingres_execute() - Ejecuta una consulta preparada

ingres_connect
ingres_errno
Funciones de Ingres


Obtiene el número del último error generado de Ingres

ingres_cursor
ingres_error
Funciones de Ingres
PHP Manual

ingres_errno

(PECL ingres >= 1.1.0)

ingres_errno — Obtiene el número del último error generado de Ingres

Descripción

int ingres_errno ([ resource $link ] )

Devuelve un valor de tipo integer que contiene el número del último error. Si no se notificó ningún error, devolverá 0.

Si se pasa un recurso link a ingres_errno(), devolverá el último error registrado para el enlace. Si no se pasa ningún enlace, ingres_errno() devolverá el último error notificado usando el enlace predeterminado.

La función ingres_errno() debería llamarse siempre después de ejecutar una consulta a la base de datos. La llamada a otra función antes de llamar a ingres_errno() reiniciará o cambiará cualquier código de error de la última función de Ingres.

Parámetros

link

El identificador de enlace de la conexión

Valores devueltos

Devuelve un valor de tipo integer que contiene el número del último error. Si no se nofiticó ninún erorr, devolverá 0.

Ejemplos

Ejemplo #1 Obtener el númeor del último error generado de Ingres

<?php
$enlace = ingres_connect($base_datos, $usuario, $contraseña);

$resultado = ingres_query($enlace, "select * from table");

$código_error = ingres_errno($enlace);

if ( $código_error != 0 ) {
   echo "Ocurrió un error - " . $código_error;
}
?>

Ver también

  • ingres_error() - Obtener un mensaje de error coherente del último error generado
  • ingres_errsqlstate() - Obtiene el código del último error SQLSTATE generado
  • ingres_next_error() - Obtiene el siguiente error de Ingres

ingres_cursor
ingres_error
Funciones de Ingres


Obtener un mensaje de error coherente del último error generado

ingres_errno
ingres_errsqlstate
Funciones de Ingres
PHP Manual

ingres_error

(PECL ingres >= 1.1.0)

ingres_error — Obtener un mensaje de error coherente del último error generado

Descripción

string ingres_error ([ resource $link ] )

Devuelve un valor de tipo string que contiene el último error, o NULL si ocurrió ninguno.

Si se pasa un recurso link a ingres_error(), devolverá el último error registrado para el enlace. Si no se pasa ningún enlace, ingres_error() devolverá el último error notificado usando el enlace predeterminado.

La función ingres_error() debería llamarse siempre después de ejecutar una consulta a la base de datos. La llamada a otra función antes de llamar a ingres_error() reiniciará o cambiará cualquier código de error de la última función de Ingres.

Parámetros

link

El identificador de enlace de la conexión

Valores devueltos

Devuelve un valor de tipo string que contiene el último error, o NULL si ocurrió ninguno.

Ejemplos

Ejemplo #1 Obtener un mensaje del último error generado

<?php
$enlace = ingres_connect($base_datos, $usuario, $contraseña);

$resultado = ingres_query($enlace, "select * from table");

$texto_error = ingres_error();

if (!is_null($texto_error)) {
   echo "Ocurrió un error - " . $texto_error;
}
?>

Ver también

  • ingres_errno() - Obtiene el número del último error generado de Ingres
  • ingres_errsqlstate() - Obtiene el código del último error SQLSTATE generado
  • ingres_next_error() - Obtiene el siguiente error de Ingres

ingres_errno
ingres_errsqlstate
Funciones de Ingres


Obtiene el código del último error SQLSTATE generado

ingres_error
ingres_escape_string
Funciones de Ingres
PHP Manual

ingres_errsqlstate

(PECL ingres >= 1.1.0)

ingres_errsqlstate — Obtiene el código del último error SQLSTATE generado

Descripción

string ingres_errsqlstate ([ resource $link ] )

Devuelve un valor de tipo string que contiene el último SQLSTATE, o NULL si no ocurrió ningún error.

Si se pasa un recurso link a ingres_errsqlstate(), devolverá el último error registrado para el enlace. Si no se pasa ningún enlace, ingres_errsqlstate() devolverá el último error notificado usando el enlace predeterminado.

La función ingres_errsqlstate() debería llamarse siempre después de ejecutar una consulta a la base de datos. La llamada a otra función antes de llamar a ingres_errsqlstate() reiniciará o cambiará cualquier código de error de la última función de Ingres.

Parámetros

link

El identificador de enlace de la conexión

Valores devueltos

Devuelve un valor de tipo string que contiene el último SQLSTATE, o NULL si no ocurrió ningún error.

Ejemplos

Ejemplo #1 Obtener el código del último error SQLSTATE generado

<?php
$enlace = ingres_connect($base_datos, $usuario, $contraseña);

$resultado = ingres_query($enlace, "select * from table");

$error_sqlstate = ingres_error();

if (!is_null($error_sqlstate)) {
   echo "Ocurrió un error - " . $texto_error;
}
?>

Ver también

  • ingres_errno() - Obtiene el número del último error generado de Ingres
  • ingres_error() - Obtener un mensaje de error coherente del último error generado
  • ingres_next_error() - Obtiene el siguiente error de Ingres

ingres_error
ingres_escape_string
Funciones de Ingres


Escapa caracteres especiales para usuarlos en una consulta

ingres_errsqlstate
ingres_execute
Funciones de Ingres
PHP Manual

ingres_escape_string

(PECL ingres >= 2.1.0)

ingres_escape_string — Escapa caracteres especiales para usuarlos en una consulta

Descripción

string ingres_escape_string ( resource $link , string $source_string )

ingres_escape_string() se usa para escapar ciertos caracteres de un string antes de eviarlo al sevidor de la base de datos.

Parámetros

link

El identificador de enlace de la conexión

source_string

El string origen a analizar

Valores devueltos

Deveulve un string que contiene los datos escapados

Ejemplos

Ejemplo #1 Escape special characters for use in a query

<?php
$enlace = ingres_connect($base_datos, $usuario, $contraseña);

$apellido = "O'Connor";

$sql = sprintf("select * from user_profile where up_last = '%s'", ingres_escape_string( $enlace, $apellido));

$resultado = ingres_query($enlace, $sql);

while ($usuario = ingres_fetch_object($resultado))
{
  echo $usuario->up_first . '<BR/>';
}

ingres_commit($enlace);

ingres_close($enlace);

?>

Ver también

  • ingres_query() - Envía una consulta SQL a Ingres

ingres_errsqlstate
ingres_execute
Funciones de Ingres


Ejecuta una consulta preparada

ingres_escape_string
ingres_fetch_array
Funciones de Ingres
PHP Manual

ingres_execute

(PECL ingres >= 1.1.0)

ingres_execute — Ejecuta una consulta preparada

Descripción

bool ingres_execute ( resource $result [, array $params [, string $types ]] )

Ejecuta una consulta preparada anterioremente con ingres_prepare().

Nota: Configuraciones relacionadas

Véase también las directivas ingres.describe, ingres.scrollable y ingres.utf8 de la sección Configuración en tiempo de ejecución

Parámetros

result

El identificador de enlace de la conexión

params

Un array con los valores de los parámetros a usar con la consulta

types

Un string que contiene una secuencia con los tipos de los valores de los parámetros proporcionados. Véase el parámetro types de ingres_query() para una lista de los códigos de los tipos.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ingres_unbuffered_query() - Envía una consulta SQL no almacenada en búfer a Ingres
  • ingres_fetch_array() - Obtiene una fila de resultados en un array
  • ingres_fetch_assoc() - Obtienen una fila de resultados en un array asociativo
  • ingres_fetch_object() - Obtiene una fila de resultados en un objeto
  • ingres_fetch_row() - Obtiene una fila de resultados en un array enumerado
  • ingres_commit() - Consigna una trasacción
  • ingres_rollback() - Revierte una transacción
  • ingres_autocommit() - Activa o desactiva la autoconsigna
  • ingres_set_environment() - Establece las características de entorno que controlan las opciones de salida
  • ingres_errno() - Obtiene el número del último error generado de Ingres
  • ingres_error() - Obtener un mensaje de error coherente del último error generado

ingres_escape_string
ingres_fetch_array
Funciones de Ingres


Obtiene una fila de resultados en un array

ingres_execute
ingres_fetch_assoc
Funciones de Ingres
PHP Manual

ingres_fetch_array

( PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_fetch_array — Obtiene una fila de resultados en un array

Descripción

array ingres_fetch_array ( resource $result [, int $result_type ] )

Esta función es una versión extendida de ingres_fetch_row(). Además de almacenar los datos en índices numéricos del array resultante, también los almacena en índices asociativos, usando los nombres de los campos como claves.

Si dos o más columnas del resultados tuvieran los mismos nombres, la última columna tomará precedencia. Para acceder a otra u otras columnas con el mismo nombres, se debe usare el índice numérico de la columna o poner un alias a la misma. Por ejemplo:

<?php

$resultado = ingres_query($enlace, "select ap_place as city, ap_ccode as country from airport where ap_iatacode = 'VLL'");
$resultado = ingres_fetch_array($resultado);
$foo = $resultado["city"];
$bar = $resultado["country"];

?>

Con respecto a la velocidad, la función es idéntica a ingres_fetch_object(), y casi tan rápida como ingres_fetch_row() (la diferencia es indignificante).

De manera predeterminada, los arrays creados por ingres_fetch_array() empiezan en la posición 1, y no en la 0 como en otras extensiones de SGBDs. La posición de inicio se puede ajustar a 0 usando el parámetro de configuración ingres.array_index_start.

Nota: Configuraciones relacionadas

Véanse también las directivas ingres.array_index_start, ingres.fetch_buffer_size y ingres.utf8 de la sección Configuración en tiempo de ejecución.

Parámetros

result

El identificador de resultados de la consulta

result_type

El tipo de resultado. result_type puede ser INGRES_NUM arrays enumerados, INGRES_ASSOC para arrays asociativos, o INGRES_BOTH (predeterminado).

Valores devueltos

Devuelve un array que se corresponde con la fila obtenida, o FALSE si no existen más filas

Ejemplos

Ejemplo #1 Obtener una fila de resultados en un array

<?php
$enlace = ingres_connect($base_datos, $usuario, $contraseña);

$resultado = ingres_query($enlace,"select * from table");
while ($fila = ingres_fetch_array($resultado)) {
    echo $fila["user_id"];  // usar un array asociativo
    echo $fila["fullname"];
    echo $fila[1];          // usar un array enumerado
    echo $fila[2];
}
?>

Ver también

  • ingres_query() - Envía una consulta SQL a Ingres
  • ingres_num_fields() - Obtiene el número de campos devueltos por la última consulta
  • ingres_field_name() - Obtiene el nombre de un campo de un resultado de una consulta
  • ingres_fetch_assoc() - Obtienen una fila de resultados en un array asociativo
  • ingres_fetch_object() - Obtiene una fila de resultados en un objeto
  • ingres_fetch_row() - Obtiene una fila de resultados en un array enumerado

ingres_execute
ingres_fetch_assoc
Funciones de Ingres


Obtienen una fila de resultados en un array asociativo

ingres_fetch_array
ingres_fetch_object
Funciones de Ingres
PHP Manual

ingres_fetch_assoc

(PECL ingres >= 2.2.2)

ingres_fetch_assoc — Obtienen una fila de resultados en un array asociativo

Descripción

array ingres_fetch_assoc ( resource $result )

Esta función almacena los datos obtenidos desde un consulta ejecutada usando ingres_query() en un array asociativo, usando los nombres de los campos como claves.

Con respecto a la velocidad, la función es idéntica a ingres_fetch_object(), y casi tan rápida como ingres_fetch_row() (la diferencia es indignificante).

De manera predeterminada, los arrays creados por ingres_fetch_assoc() empiezan en la posición 1, y no en la 0 como en otras extensiones de SGBDs. La posición de inicio se puede ajustar a 0 usando el parámetro de configuración ingres.array_index_start.

Nota: Configuraciones relacionadas

Véanse también las directivas ingres.array_index_start, ingres.fetch_buffer_size y ingres.utf8 de la sección Configuración en tiempo de ejecución.

Parámetros

result

El identificador de resultados de la consulta

Valores devueltos

Devuelve un array asociativo que se corresponde con la fila obtenida, o FALSE si no existen más filas

Ejemplos

Ejemplo #1 Obtener una fila en un array asociativo

<?php
$enlace = ingres_connect($base_datos, $usuario, $contraseña);

$resultado = ingres_query($enlace,"select * from table");
while ($fila = ingres_fetch_assoc($resultado)) {
    echo $fila["user_id"];  // usar un array asociativo
    echo $fila["fullname"];
}
?>

Ver también

  • ingres_query() - Envía una consulta SQL a Ingres
  • ingres_num_fields() - Obtiene el número de campos devueltos por la última consulta
  • ingres_field_name() - Obtiene el nombre de un campo de un resultado de una consulta
  • ingres_fetch_array() - Obtiene una fila de resultados en un array
  • ingres_fetch_object() - Obtiene una fila de resultados en un objeto
  • ingres_fetch_row() - Obtiene una fila de resultados en un array enumerado

ingres_fetch_array
ingres_fetch_object
Funciones de Ingres


Obtiene una fila de resultados en un objeto

ingres_fetch_assoc
ingres_fetch_proc_return
Funciones de Ingres
PHP Manual

ingres_fetch_object

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_fetch_object — Obtiene una fila de resultados en un objeto

Descripción

object ingres_fetch_object ( resource $result [, int $result_type ] )

Esta función es similar a ingres_fetch_array(), con una diferencia: se devuelve un objeto en lugar de un array. Indirectamente, esto significa que se puede acceder a los datos solamente por los nombres de los campos, y no or otros índices (los números son nombres de propiedades ilegales).

Con respecto a la velocidad, la función es idéntica a ingres_fetch_array(), y casi tan rápida como ingres_fetch_row() (la diferencia es indignificante).

Nota: Configuraciones relacionadas

Véanse también las directivas ingres.fetch_buffer_size y ingres.utf8 de la sección Configuración en tiempo de ejecución.

Parámetros

link

El identificador de resultados de la consulta

result_type

(Argumento opcional) result_type es una constante que puede tomar los siguientes valores: INGRES_ASSOC, INGRES_NUM, y INGRES_BOTH.

Valores devueltos

Devuelve un objeto que se corresponde con la fila obtenida, o FALSE si no existen más filas

Ejemplos

Ejemplo #1 Obtener una fila en un objeto

<?php
$enlace = ingres_connect($base_datos, $usuario, $contraseña);
$resultado = ingres_query($enlace,"select * from table");
while ($fila = ingres_fetch_object($resultado)) {
    echo $fila->user_id;
    echo $fila->fullname;
}
?>

Ver también

  • ingres_query() - Envía una consulta SQL a Ingres
  • ingres_num_fields() - Obtiene el número de campos devueltos por la última consulta
  • ingres_field_name() - Obtiene el nombre de un campo de un resultado de una consulta
  • ingres_fetch_array() - Obtiene una fila de resultados en un array
  • ingres_fetch_assoc() - Obtienen una fila de resultados en un array asociativo
  • ingres_fetch_row() - Obtiene una fila de resultados en un array enumerado

ingres_fetch_assoc
ingres_fetch_proc_return
Funciones de Ingres


Obtiene el valor de retorno de una llamada a un procedimiento

ingres_fetch_object
ingres_fetch_row
Funciones de Ingres
PHP Manual

ingres_fetch_proc_return

(PECL ingres >= 1.4.0)

ingres_fetch_proc_return — Obtiene el valor de retorno de una llamada a un procedimiento

Descripción

int ingres_fetch_proc_return ( resource $result )

Esta función se usa para recuperar el valor de retorno que sigue a la ejecución de un procedimiento de una base de datos de Ingres (procedimiento al macenado).

Nota:

Si se usa con un procedimiento que produce filas, esta función debería invocarse después de haber obtenido todas las filas del procedmiento usando ingres_fetch_array(), ingres_fetch_object() o ingres_fetch_row(). Esta fnción eliminará cualquier fila aún no obtenida que quedara pendiente.

Parámetros

result

El identificador de resultados de la consulta

Valores devueltos

Devuelve valor de tipo integer si existe un valor de retorno, si no, devolverá NULL.

Ejemplos

Ejemplo #1 Obtener el valor de retorno de una llamada a un procedimiento

<?php

$enlace = ingres_connect($base_datos);

if ( ingres_errno() != 0 ) {
    $texto_error = ingres_error();
    die($texto_error);
}

$resultado = ingres_query($enlace, "execute procedure php_proc (value = 1000)");

if ( ingres_errno() != 0 ) {
    $texto_error = ingres_error();
    die($texto_error);
}

echo "valor de retorno - " . ingres_fetch_proc_return($resultado) . "\n";

ingres_close($enlace);

?>

Ver también

  • ingres_query() - Envía una consulta SQL a Ingres
  • ingres_fetch_array() - Obtiene una fila de resultados en un array
  • ingres_fetch_object() - Obtiene una fila de resultados en un objeto
  • ingres_fetch_row() - Obtiene una fila de resultados en un array enumerado

ingres_fetch_object
ingres_fetch_row
Funciones de Ingres


Obtiene una fila de resultados en un array enumerado

ingres_fetch_proc_return
ingres_field_length
Funciones de Ingres
PHP Manual

ingres_fetch_row

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_fetch_row — Obtiene una fila de resultados en un array enumerado

Descripción

array ingres_fetch_row ( resource $result )

ingres_fetch_row() devuelve un array que se corresponde con la fila obtenida, o FALSE si no existen más filas. Cada columna del resultado se almacena en un índice del array, empezando en el índice 1.

Las llamadas subsiguientes a ingres_fetch_row() devolverán la siguientes fila del conjunto de resultados, o FALSE si no existieran más filas.

De manera predeterminada, los arrays creados por ingres_fetch_row() empiezan en la posición 1, y no en la 0 como en otras extensiones de SGBDs. La posición de inicio se puede ajustar a 0 usando el parámetro de configuración ingres.array_index_start.

Nota: Configuraciones relacionadas

Véanse también las directivas ingres.array_index_start, ingres.fetch_buffer_size y ingres.utf8 de la sección Configuración en tiempo de ejecución.

Parámetros

result

El identificador de resultados de la consulta

Valores devueltos

Devuelve un array que se corresponde con la fila obtenida, o FALSE si no existieran más filas

Ejemplos

Ejemplo #1 Obttener una fila de resultados en un array enumerado

<?php
$enlace = ingres_connect($base_datos, $usuario, $contraseña);

$resultado = ingres_query($enlace, "select * from table");
while ($fila = ingres_fetch_row($resultado)) {
    echo $fila[1];
    echo $fila[2];
}
?>

Ver también

  • ingres_num_fields() - Obtiene el número de campos devueltos por la última consulta
  • ingres_query() - Envía una consulta SQL a Ingres
  • ingres_fetch_array() - Obtiene una fila de resultados en un array
  • ingres_fetch_assoc() - Obtienen una fila de resultados en un array asociativo
  • ingres_fetch_object() - Obtiene una fila de resultados en un objeto

ingres_fetch_proc_return
ingres_field_length
Funciones de Ingres


Obtiene la longitud de un campo

ingres_fetch_row
ingres_field_name
Funciones de Ingres
PHP Manual

ingres_field_length

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_field_length — Obtiene la longitud de un campo

Descripción

int ingres_field_length ( resource $result , int $index )

ingres_field_length() devuelve la longitud de un campo. Este es el número de bytes que el servidor usa para almacenar dicho campo. Para una información detallada, véase la Guía de usuairo de OpenAPI y el apéndice "Tipos de datos" de la documentación de Ingres.

Nota: Configuraciones relacionadas

Véase ingres.array_index_start de la sección Configuración en tiempo de ejecución

Parámetros

result

El identificador de resultados de la consulta

index

index es el número de columna de la que se va a obtener su longitud.

Los posibles valores de index dependen del valor de ingres.array_index_start. Si ingres.array_index_start es 1 (lo predeterminado), index debe estar entre 1 y el valor devuelto por ingres_num_fields(). Si ingres.array_index_start es 0, index debe estar entre 0 y ingres_num_fields() - 1.

Valores devueltos

Devuelve la longitud de un campo.

Ver también

  • ingres_query() - Envía una consulta SQL a Ingres
  • ingres_fetch_array() - Obtiene una fila de resultados en un array
  • ingres_fetch_assoc() - Obtienen una fila de resultados en un array asociativo
  • ingres_fetch_object() - Obtiene una fila de resultados en un objeto
  • ingres_fetch_row() - Obtiene una fila de resultados en un array enumerado

ingres_fetch_row
ingres_field_name
Funciones de Ingres


Obtiene el nombre de un campo de un resultado de una consulta

ingres_field_length
ingres_field_nullable
Funciones de Ingres
PHP Manual

ingres_field_name

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_field_name — Obtiene el nombre de un campo de un resultado de una consulta

Descripción

string ingres_field_name ( resource $result , int $index )

ingres_field_name() devuelve el nombre de un campo de un resultado de una consulta.

Nota: Configuraciones relacionadas

Véase ingres.array_index_start de la sección Configuración en tiempo de ejecución

Parámetros

result

El identificador de resultados de la consulta

index

index es el campo del que se va a obtener su nombre.

Los posibles valores de index dependen del valor de ingres.array_index_start. Si ingres.array_index_start es 1 (lo predeterminado), index debe estar entre 1 y el valor devuelto por ingres_num_fields(). Si ingres.array_index_start es 0, index debe estar entre 0 y ingres_num_fields() - 1.

Valores devueltos

Devuelve el nombre de un campo de un resultado de una consulta o FALSE en caso de error

Ver también

  • ingres_query() - Envía una consulta SQL a Ingres
  • ingres_fetch_array() - Obtiene una fila de resultados en un array
  • ingres_fetch_assoc() - Obtienen una fila de resultados en un array asociativo
  • ingres_fetch_object() - Obtiene una fila de resultados en un objeto
  • ingres_fetch_row() - Obtiene una fila de resultados en un array enumerado

ingres_field_length
ingres_field_nullable
Funciones de Ingres


Comprueba si un campo puede contener valores null

ingres_field_name
ingres_field_precision
Funciones de Ingres
PHP Manual

ingres_field_nullable

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_field_nullable — Comprueba si un campo puede contener valores null

Descripción

bool ingres_field_nullable ( resource $result , int $index )

Comprueba si un campo puede contener valores null.

Nota: Configuraciones relacionadas

Véase ingres.array_index_start de la sección Configuración en tiempo de ejecución

Parámetros

result

El identificador de resultados de la consulta

index

index es el campo del cual se quiere saber si puede contener valores null.

Los posibles valores de index dependen del valor de ingres.array_index_start. Si ingres.array_index_start es 1 (lo predeterminado), index debe estar entre 1 y el valor devuelto por ingres_num_fields(). Si ingres.array_index_start es 0, index debe estar entre 0 y ingres_num_fields() - 1.

Valores devueltos

ingres_field_nullable() devuelve TRUE si el campo se puede establecer al valor NULL, y FALSE si no.

Ver también

  • ingres_query() - Envía una consulta SQL a Ingres
  • ingres_fetch_array() - Obtiene una fila de resultados en un array
  • ingres_fetch_assoc() - Obtienen una fila de resultados en un array asociativo
  • ingres_fetch_object() - Obtiene una fila de resultados en un objeto
  • ingres_fetch_row() - Obtiene una fila de resultados en un array enumerado

ingres_field_name
ingres_field_precision
Funciones de Ingres


Obtiene la precisión de un campo

ingres_field_nullable
ingres_field_scale
Funciones de Ingres
PHP Manual

ingres_field_precision

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_field_precision — Obtiene la precisión de un campo

Descripción

int ingres_field_precision ( resource $result , int $index )

ingres_field_precision() devuelve la precisión de un campo. Este valor se usa solamente para tipos de datos SQL 'decimal', 'float', y 'money'. Para una información detallada, véase la Guía de usuario de OpenAPI y el apéndice "Tipos de datos" de la documentación de Ingres.

Nota: Configuraciones relacionadas

Véase ingres.array_index_start de la sección Configuración en tiempo de ejecución

Parámetros

result

El identificador de resultados de la consulta

index

index es el campo del que se va a obtener la precisión.

Los posibles valores de index dependen del valor de ingres.array_index_start. Si ingres.array_index_start es 1 (lo predeterminado), index debe estar entre 1 y el valor devuelto por ingres_num_fields(). Si ingres.array_index_start es 0, index debe estar entre 0 y ingres_num_fields() - 1.

Valores devueltos

Devuelve la precisión del campo como un valor de tipo integer

Ver también

  • ingres_query() - Envía una consulta SQL a Ingres
  • ingres_fetch_array() - Obtiene una fila de resultados en un array
  • ingres_fetch_assoc() - Obtienen una fila de resultados en un array asociativo
  • ingres_fetch_object() - Obtiene una fila de resultados en un objeto
  • ingres_fetch_row() - Obtiene una fila de resultados en un array enumerado

ingres_field_nullable
ingres_field_scale
Funciones de Ingres


Obtiene la escala de un campo

ingres_field_precision
ingres_field_type
Funciones de Ingres
PHP Manual

ingres_field_scale

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_field_scale — Obtiene la escala de un campo

Descripción

int ingres_field_scale ( resource $result , int $index )

ingres_field_scale() devuelve la escala de un campo. Este valor se usa solamente para tipos de datos SQL 'decimal'. Para una información detallada, véase la Guía de usuario de OpenAPI y el apéndice "Tipos de datos" de la documentación de Ingres.

Nota: Configuraciones relacionadas

Véase ingres.array_index_start de la sección Configuración en tiempo de ejecución

Parámetros

result

El identificador de resultados de la consulta

index

index es el campo del que se va a obtener su escala.

Los posibles valores de index dependen del valor de ingres.array_index_start. Si ingres.array_index_start es 1 (lo predeterminado), index debe estar entre 1 y el valor devuelto por ingres_num_fields(). Si ingres.array_index_start es 0, index debe estar entre 0 y ingres_num_fields() - 1.

Valores devueltos

Devuelve la escala del campo, como un valor de tipo integer

Ver también

  • ingres_query() - Envía una consulta SQL a Ingres
  • ingres_fetch_array() - Obtiene una fila de resultados en un array
  • ingres_fetch_assoc() - Obtienen una fila de resultados en un array asociativo
  • ingres_fetch_object() - Obtiene una fila de resultados en un objeto
  • ingres_fetch_row() - Obtiene una fila de resultados en un array enumerado

ingres_field_precision
ingres_field_type
Funciones de Ingres


Obtiene el tipo de un campo de un resultado de una consulta

ingres_field_scale
ingres_free_result
Funciones de Ingres
PHP Manual

ingres_field_type

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_field_type — Obtiene el tipo de un campo de un resultado de una consulta

Descripción

string ingres_field_type ( resource $result , int $index )

Obtiene el tipo de un campo de un resultado de una consulta.

Nota: Configuraciones relacionadas

Véase ingres.array_index_start de la sección Configuración en tiempo de ejecución

Parámetros

result

El identificador de resultados de la consulta

index

index es el campo del que se va a obtener su tipo.

Los posibles valores de index dependen del valor de ingres.array_index_start. Si ingres.array_index_start es 1 (lo predeterminado), index debe estar entre 1 y el valor devuelto por ingres_num_fields(). Si ingres.array_index_start es 0, index debe estar entre 0 y ingres_num_fields() - 1.

Valores devueltos

ingres_field_type() devuelve el tipo de un campo de un resultado de una consulta o FALSE en caso de error. Ejemplos de los tipos devueltos: IIAPI_BYTE_TYPE, IIAPI_CHA_TYPE, IIAPI_DTE_TYPE, IIAPI_FLT_TYPE, IIAPI_INT_TYPE, IIAPI_VCH_TYPE. Algunos de estos tipos pueden hacer referencia a más de un tipo SQL, dependiendo de la longitud del campo (véase ingres_field_length()). Por ejemplo IIAPI_FLT_TYPE puede ser un float4 o un float8. Para una información detallada, véase la Guía de usuario de OpenAPI y el apéndice "Tipos de datos" de la documentación de Ingres.

Ver también

  • ingres_query() - Envía una consulta SQL a Ingres
  • ingres_fetch_array() - Obtiene una fila de resultados en un array
  • ingres_fetch_assoc() - Obtienen una fila de resultados en un array asociativo
  • ingres_fetch_object() - Obtiene una fila de resultados en un objeto
  • ingres_fetch_row() - Obtiene una fila de resultados en un array enumerado

ingres_field_scale
ingres_free_result
Funciones de Ingres


Libera los recursos asociados a un identificador de resultados

ingres_field_type
ingres_next_error
Funciones de Ingres
PHP Manual

ingres_free_result

(PECL ingres >= 2.0.0)

ingres_free_result — Libera los recursos asociados a un identificador de resultados

Descripción

bool ingres_free_result ( resource $result )

Parámetros

result

El identificador de resultados de la consulta

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Liberar un recurso de resultados

<?php
$enlace = ingres_connect($base_datos, $usuario, $contraseña);

$resultado = ingres_query($enlace,"select * from table");

while ($fila = ingres_fetch_row($resultado)) {
    echo $fila[1];
    echo $fila[2];
}
ingres_free_result($resultado);

ingres_close($enlace)

?>

Ver también

  • ingres_query() - Envía una consulta SQL a Ingres

ingres_field_type
ingres_next_error
Funciones de Ingres


Obtiene el siguiente error de Ingres

ingres_free_result
ingres_num_fields
Funciones de Ingres
PHP Manual

ingres_next_error

(PECL ingres >= 2.0.0)

ingres_next_error — Obtiene el siguiente error de Ingres

Descripción

bool ingres_next_error ([ resource $link ] )

Obtiene el siguiente error de Ingres de la última consulta ejecutada. Cada llamada a ingres_next_error() puede ser seguida por una llamada a ingres_errno(), ingres_error() o ingres_errsqlstate() para obtener, respectivamente, el número del error, el texto del error, o el SQL STATE. Mientras ingres_next_error() devuelva TRUE, existirán más errores que obtener.

Parámetros

link

El identificador de enlace de la conexión

Valores devueltos

ingres_next_error() devuelve TRUE si existen otro error que recuperar, o FALSE cuando no existen más errores.

Ver también

  • ingres_errno() - Obtiene el número del último error generado de Ingres
  • ingres_error() - Obtener un mensaje de error coherente del último error generado
  • ingres_errsqlstate() - Obtiene el código del último error SQLSTATE generado

ingres_free_result
ingres_num_fields
Funciones de Ingres


Obtiene el número de campos devueltos por la última consulta

ingres_next_error
ingres_num_rows
Funciones de Ingres
PHP Manual

ingres_num_fields

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_num_fields — Obtiene el número de campos devueltos por la última consulta

Descripción

int ingres_num_fields ( resource $result )

ingres_num_fields() devuelve el número de campos de los resultados devueltos por el servidor Ingres después de una llamada a ingres_query().

Parámetros

result

El identificador de resultados de la consulta

Valores devueltos

Devuelve el número de campos

Ver también

  • ingres_query() - Envía una consulta SQL a Ingres
  • ingres_fetch_array() - Obtiene una fila de resultados en un array
  • ingres_fetch_assoc() - Obtienen una fila de resultados en un array asociativo
  • ingres_fetch_object() - Obtiene una fila de resultados en un objeto
  • ingres_fetch_row() - Obtiene una fila de resultados en un array enumerado

ingres_next_error
ingres_num_rows
Funciones de Ingres


Obtener el número de filas afectadas o devueltas por una consulta

ingres_num_fields
ingres_pconnect
Funciones de Ingres
PHP Manual

ingres_num_rows

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_num_rows — Obtener el número de filas afectadas o devueltas por una consulta

Descripción

int ingres_num_rows ( resource $result )

Con esta función, principalmente se pretende obtener el número de filas modificadas en la base de datos. Sin embargo, se puede usar para recuperar el número de filas obtenidas por una sentencia SELECT.

Nota:

Si los cursores desplazables están deshabilitados y se llama a esta función antes de usar ingres_fetch_array(), ingres_fetch_object(), o ingres_fetch_row(), el servidor borrará los datos de los resultados, por lo que el script no será capaz de obtenerlos.

En su lugar, se deberían de recuperar los datos de los resultados usando una de estas funciones de obtenición en un buble hasta que devuelvan FALSE, indicando que no hay más resultados disponibles.

Parámetros

result

El identificador de resultados de la consulta

Valores devueltos

Para consultas de eliminación, insertado, o actualización, ingres_num_rows() devuelve el número de filas afectadas por la consulta. Para otras consultas, ingres_num_rows() devuelve el número de filas del resultado de la consulta.

Ver también

  • ingres_query() - Envía una consulta SQL a Ingres
  • ingres_fetch_array() - Obtiene una fila de resultados en un array
  • ingres_fetch_assoc() - Obtienen una fila de resultados en un array asociativo
  • ingres_fetch_object() - Obtiene una fila de resultados en un objeto
  • ingres_fetch_row() - Obtiene una fila de resultados en un array enumerado

ingres_num_fields
ingres_pconnect
Funciones de Ingres


Abre una conexión persistente a una base de datos de Ingres

ingres_num_rows
ingres_prepare
Funciones de Ingres
PHP Manual

ingres_pconnect

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_pconnect — Abre una conexión persistente a una base de datos de Ingres

Descripción

resource ingres_pconnect ([ string $database [, string $username [, string $password [, array $options ]]]] )

Abre una conexión persistente a una base de datos de Ingres.

Existen solamente dos diferencias esta función y ingres_connect(): La primera es que, al conectarse, esta función inicialmente intentará encontrar un enlace (persistente) que ya esté abierto con los mismos parámetros. Si se encuentra uno, será devuelto un identificador para dicho enlace en lugar de abrir una nueva conexión. La segunda diferencia es que la conexión al servidor Ingres no se cerrará al finalizar la ejecución del script. En su lugar, el enlace permanecerá abierto para usos futuros ( ingres_close() no cerrará los enlaces establecidos por ingres_pconnect()). Por esto, a este tipos de enlaces de les llama "persistentes".

Parámetros

database

El nombre de la base de datos. Debe serguir la sintaxis:

[vnode::]dbname[/svr_class]

username

El nombre de usuario de Ingres

password

La contraseña asociada con username

options

Véase ingres_connect() para una lista de las opciones que se pueden pasar

Valores devueltos

Devuelve un recurso de enlace a Ingres en caso de éxito o FALSE en caso de error

Ver también

  • ingres_connect() - Abre una conexión a una base de datos de Ingres
  • ingres_close() - Cierra una conexión a una base de datos de Ingres

ingres_num_rows
ingres_prepare
Funciones de Ingres


Prepara una consulta para su ejecución posterior

ingres_pconnect
ingres_query
Funciones de Ingres
PHP Manual

ingres_prepare

(PECL ingres >= 1.1.0)

ingres_prepare — Prepara una consulta para su ejecución posterior

Descripción

mixed ingres_prepare ( resource $link , string $query )

Prepara una consulta para su ejecución posterior mediante ingres_execute().

La consulta es parte de la transacción abierta actualmente. Si no hay ninguna transacción abierta, ingres_query() abrirá una nueva. Para cerrar la transacción, se puede llamar tanto a ingres_commit() para consignar los cambios hechos a la base de datos, como a ingres_rollback() para cancelar dichos cambios. Cuando el script finaliza, cualquier transacción abierta será revertida (invocando a ingres_rollback()). También se puede usar ingres_autocommit() antes de abrir una nueva transacción para que cada consulta SQL sea consignada automáticamente.

Nota: Configuraciones relacionadas

Véase también las directivas ingres.describe, ingres.scrollable y ingres.utf8 de la sección Configuración en tiempo de ejecución

Parámetros

link

El identificador de enlace de la conexión

query

Una consulta SQL válida (véase la guía de referencia de SQL) en la documentación de Ingres. Véase el parámetro query de ingres_query() para una lista de las sentencias SQL que no se pueden ejecutar usando ingres_prepare()

Valores devueltos

 ingres_prepare() devuelve un identificador de resultados que
se usa con  ingres_execute() para ejecutar la consulta. Para comprobar
si ocurrió un error, use  ingres_errno(),
 ingres_error(), o
 ingres_errsqlstate().

Ver también

  • ingres_unbuffered_query() - Envía una consulta SQL no almacenada en búfer a Ingres
  • ingres_fetch_array() - Obtiene una fila de resultados en un array
  • ingres_fetch_assoc() - Obtienen una fila de resultados en un array asociativo
  • ingres_fetch_object() - Obtiene una fila de resultados en un objeto
  • ingres_fetch_row() - Obtiene una fila de resultados en un array enumerado
  • ingres_commit() - Consigna una trasacción
  • ingres_rollback() - Revierte una transacción
  • ingres_autocommit() - Activa o desactiva la autoconsigna
  • ingres_set_environment() - Establece las características de entorno que controlan las opciones de salida
  • ingres_errno() - Obtiene el número del último error generado de Ingres
  • ingres_error() - Obtener un mensaje de error coherente del último error generado

ingres_pconnect
ingres_query
Funciones de Ingres


Envía una consulta SQL a Ingres

ingres_prepare
ingres_result_seek
Funciones de Ingres
PHP Manual

ingres_query

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_query — Envía una consulta SQL a Ingres

Descripción

mixed ingres_query ( resource $link , string $query [, array $params [, string $types ]] )

ingres_query() envía la consulta dada por query al servidor Ingres.

La consulta es parte de la transacción abierta actualmente. Si no hay ninguna transacción abierta, ingres_query() abrirá una nueva. Para cerrar la transacción, se puede llamar tanto a ingres_commit() para consignar los cambios hechos a la base de datos, como a ingres_rollback() para cancelar dichos cambios. Cuando el script finaliza, cualquier transacción abierta será revertida (invocando a ingres_rollback()). También se puede usar ingres_autocommit() antes de abrir una nueva transacción para que cada consulta SQL sea consignada automáticamente.

Nota: Configuración relacionada

Véase también las directivas ingres.describe, ingres.scrollable y ingres.utf8 de la sección Configuración en tiempo de ejecución

Parámetros

link

El identificador de enlace de la conexión

query

Una consulta SQL válida (véase la guía de referencia de SQL de la documentación de Ingres).

Los datos dentro de la consulta deberían estar apropiadamente escapados.

Los siguientes tipos de consultas SQL no se pueden enviar con esta función:

  • close (véase ingres_close())
  • commit (véase ingres_commit())
  • connect (véase ingres_connect())
  • disconnect (véase ingres_close())
  • get dbevent
  • prepare to commit
  • rollback (véase ingres_rollback())
  • savepoint
  • set autocommit (véase ingres_autocommit())
  • todas las consultas relacionadas con cursores no están soportadas

params

Un array de valores de parámetros para usarlos con la consulta

types

Un string que contiene una secuencia de los tipos de los valores de los parámetros pasados. Cuando ingres.describe está habilitado, este parámetro se puede ignorar, ya que el controlador obtiene automáticamente los tipos esperados de los parámetros desde el servidor.

Código del tipo | Tipo de Ingres
a | BOOLEAN
b | BYTE
B | LONG BYTE/BLOB
c | CHAR
d | DATE/ANSIDATE/TIMESTAMP/TIME
f | FLOAT
i | INTEGER
L | LONG TEXT
m | MONEY
M | LONG NVARCHAR
n | NCHAR
N | NVARCHAR
t | TEXT
v | VARCHAR
V | LONG VARCHAR

Valores devueltos

 ingres_query() devuelve un identificador de resultados de consulta en
caso de éxito, o FALSE en caso de error. Para comprobar si ocurrió
un error, use  ingres_errno(),
 ingres_error() o
 ingres_errsqlstate().

Ejemplos

Ejemplo #1 Enviar un simple select

<?php
$enlace = ingres_connect("demodb");

$resultado = ingres_query($enlace, "select * from user_profile");
while ($fila = ingres_fetch_row($resultado)) {
    echo $fila[1];
    echo $fila[2];
}
?>

Ejemplo #2 Pasar parámetros de consulta a ingres_query()

<?php
$enlace = ingres_connect("demodb");

$parámetros[] = "Emma";
$consulta = "select * from user_profile where up_first = ?";
$resultado = ingres_query($enlace, $consulta, $parámetros);
while ($fila = ingres_fetch_row($resultado)) {
    echo $fila[1];
    echo $fila[2];
}
?>

Ejemplo #3 Insertar datos BLOB con tipos de parámetros

<?php
$enlace = ingres_connect("demodb");

//Abrir una foto
$fh = fopen("photo.jpg","r");
$datos_blob = stream_get_contents($fh);
fclose($fh);

//Preparar los parámetros
$parámetros[] = $datos_blob;
$parámetros[] = 1201;

//Definir los tipos de parámetros
$tipos_parámetros = "Bi";

$consulta = "update user_profile set up_image = ? where up_id = ?";
$resultado = ingres_query($enlace, $consulta , $parámetros, $tipos_parámetros);

if (ingres_errno())
{
    echo ingres_errno() . "-" . ingres_error() . "\n";
}

ingres_commit($enlace);

ingres_close($enlace);
?>

Ver también

  • ingres_unbuffered_query() - Envía una consulta SQL no almacenada en búfer a Ingres
  • ingres_fetch_array() - Obtiene una fila de resultados en un array
  • ingres_fetch_assoc() - Obtienen una fila de resultados en un array asociativo
  • ingres_fetch_object() - Obtiene una fila de resultados en un objeto
  • ingres_fetch_row() - Obtiene una fila de resultados en un array enumerado
  • ingres_commit() - Consigna una trasacción
  • ingres_rollback() - Revierte una transacción
  • ingres_autocommit() - Activa o desactiva la autoconsigna
  • ingres_set_environment() - Establece las características de entorno que controlan las opciones de salida
  • ingres_errno() - Obtiene el número del último error generado de Ingres
  • ingres_error() - Obtener un mensaje de error coherente del último error generado

ingres_prepare
ingres_result_seek
Funciones de Ingres


Establece la posición de una fila antes de obtener datos

ingres_query
ingres_rollback
Funciones de Ingres
PHP Manual

ingres_result_seek

(PECL ingres >= 2.1.0)

ingres_result_seek — Establece la posición de una fila antes de obtener datos

Descripción

bool ingres_result_seek ( resource $result , int $position )

Esta función se usa para posicionar el cursor asociado al recurso de resultados antes de realizar una obtención. Si ingres.array_index_start está establecido a 0, la primera fila es 0, y no 1. ingres_result_seek() se puede usar solamente con consultas que hacen uso de cursores desplazables. No se puede usar con ingres_unbuffered_query().

Nota: Related Configurations

Véanse también las directivas ingres.scrollable y ingres.array_index_start de la sección Configuración en tiempo de ejcución.

Parámetros

result

El identificador de resultados de la consulta

position

La fila donde posicionar el cursor. Si ingres.array_index_start está establecido a 0, la primera fila es 0, y no 1

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Posicionar el cursor a la 3ª fila

<?php

$resultado=ingres_query($enlace, "select * from airport where ap_ccode = 'ES' order by ap_place asc");

/* ir a la fila 3 */
if (!ingres_result_seek($resultado, 3))
{
    echo ingres_errno() . " - " . ingres_error . "\n";
    die("he muerto");
}
else
{
    $aeropuerto = ingres_fetch_object ($resultado);
    {
        echo $aeropuerto->ap_iatacode . " - " .  $aeropuerto->ap_name . "\n";
    }
}

ingres_commit($enlace);

?>

Ver también

  • ingres_query() - Envía una consulta SQL a Ingres
  • ingres_fetch_array() - Obtiene una fila de resultados en un array
  • ingres_fetch_assoc() - Obtienen una fila de resultados en un array asociativo
  • ingres_fetch_object() - Obtiene una fila de resultados en un objeto
  • ingres_fetch_row() - Obtiene una fila de resultados en un array enumerado

ingres_query
ingres_rollback
Funciones de Ingres


Revierte una transacción

ingres_result_seek
ingres_set_environment
Funciones de Ingres
PHP Manual

ingres_rollback

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_rollback — Revierte una transacción

Descripción

bool ingres_rollback ( resource $link )

ingres_rollback() revierte la transacción abierta actualmente, realmente cancelando todos los cambios hechos a la base de datos durante dicha transacción.

Esta función cierra la transacción. Se puede abrir una nueva transacción enviando una consulta con ingres_query().

Parámetros

link

El identificador de enlace de la conexión

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ingres_query() - Envía una consulta SQL a Ingres
  • ingres_commit() - Consigna una trasacción
  • ingres_autocommit() - Activa o desactiva la autoconsigna

ingres_result_seek
ingres_set_environment
Funciones de Ingres


Establece las características de entorno que controlan las opciones de salida

ingres_rollback
ingres_unbuffered_query
Funciones de Ingres
PHP Manual

ingres_set_environment

(PECL ingres >= 1.2.0)

ingres_set_environment — Establece las características de entorno que controlan las opciones de salida

Descripción

bool ingres_set_environment ( resource $link , array $options )

ingres_set_environment() se invoca para establecer las opciones de entorno que afectan a la salida de cierots valores desde Ingres, tales como la zona horaria, el format de fecha, el carácter separador decimal, y la precisión del tipo float.

Parámetros

link

El identificador de enlace de la conexión

options

Un array enumerado de pares nombre/valor de opciones. La siguiente tabla enumera el nombre de la opción y el tipo esperado

Nombre de la opción | Tipo de la opción | Descripción | Ejemplo
date_century_boundary | integer | El umbral por el cual se determina si un año de dos dígitos está en el siglo actual o en el siglo siguiente. Equivalente a II_DATE_CENTURY_BOUNDARY. | 50
timezone | string | Controla la zona horaria de la sesión. Si no se establece, se usará el valor definido por II_TIMEZONE_NAME. Si II_TIMEZONE_NAME no está definido, se usarán NA-PACIFIC (GMT-8 con horara de verano). | UNITED-KINGDOM
date_format integer

Establece el formato de entrada y salida permisible para las fechas de Ingres. El valor predeterminado es el definido por II_DATE_FORMAT. Si II_DATE_FORMAT no está establecido, se usará el formato de fecha US, p.j. mm/dd/aa. Los valores válidos para date_format son:

  • INGRES_DATE_DMY
  • INGRES_DATE_FINISH
  • INGRES_DATE_GERMAN
  • INGRES_DATE_ISO
  • INGRES_DATE_ISO4
  • INGRES_DATE_MDY
  • INGRES_DATE_MULTINATIONAL
  • INGRES_DATE_MULTINATIONAL4
  • INGRES_DATE_YMD
  • INGRES_DATE_US

 INGRES_DATE_MULTINATIONAL4
decimal_separator string El identificador del carácter para los datos decimales ","
money_lort integer

El símbolo monetario que va antes o después del valor. Los valores válidos para money_lort son:

  • INGRES_MONEY_LEADING
  • INGRES_MONEY_TRAILING

 INGRES_MONEY_TRAILING
money_sign string El símpbolo monetario a usar con el tipo de datos MONEY €
money_precision | integer | La precisión del tipo de datos MONEY | 3
float4_precision | integer | La precisión del tipo de datos FLOAT4 | 10
float8_precision | integer | La precisión del tipo de datos FLOAT8 | 10
blob_segment_length | integer | La cantidad de datos en bytes a obtener de una vez cuando se recuperan datos BLOB o CLOB. El valor predeterminado es de 4096 si no se establece explícitamente | 8192

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Establecer el formato de fecha a ISO4

<?php
$opciones = array( "date_format" => INGRES_DATE_ISO4 );

if (ingres_set_environment($enlace, $opciones))
{
    $result=ingres_query($enlace,"select date('now') as date");

    while ( $objeto = ingres_fetch_object ($resultado) ) {
        echo $objeto->date."\n";
    }
}
?>

Ejemplo #2 Set timezone to HONG-KONG

<?php

$opciones = array( "timezone" => "HONG-KONG");

if (ingres_set_environment($enlace, $opciones))
{
    $result=ingres_query($enlace,"select date('now') as date");

    while ( $objeto = ingres_fetch_object ($resultado) ) {
        echo $objeto->date."\n";
    }
}
?>

Ver también

  • ingres_connect() - Abre una conexión a una base de datos de Ingres
  • ingres_query() - Envía una consulta SQL a Ingres

ingres_rollback
ingres_unbuffered_query
Funciones de Ingres


Envía una consulta SQL no almacenada en búfer a Ingres

ingres_set_environment
MaxDB
Funciones de Ingres
PHP Manual

ingres_unbuffered_query

(No hay información de versión disponible, podría estar únicamente en SVN)

ingres_unbuffered_query — Envía una consulta SQL no almacenada en búfer a Ingres

Descripción

mixed ingres_unbuffered_query ( resource $link , string $query [, array $params [, string $types ]] )

ingres_unbuffered_query() sends the given query to the Ingres server.

La consulta es parte de la transacción abierta actualmente. Si no hay ninguna transacción abierta, ingres_unbuffered_query() abrirá una nueva. Para cerrar la transacción, se puede llamar tanto a ingres_commit() para consignar los cambios hechos a la base de datos, como a ingres_rollback() para cancelar dichos cambios. Cuando el script finaliza, cualquier transacción abierta será revertida (invocando a ingres_rollback()). También se puede usar ingres_autocommit() antes de abrir una nueva transacción para que cada consulta SQL sea consignada automáticamente. Igres solamente permite la activación de una sentencia almacenada en búfer. La extensión cerrará cualquier sentencia no almacenada en búfer activa antes de ejecuatar una sentencia SQL. Además, no se puede usar ingres_result_seek() para posicionar la fila antes de la obtención.

Nota: Configuraciones relacionadas

Véanse tambén las directivas ingres.describe y ingres.utf8 en la sección Configuración en tiempo de ejecución.

Parámetros

link

El identificador de enlace de la conexión

query

Una consulta SQL válida (véase la Guía de referencia de SQL en la documentación de Ingres). Véase el parámetor query de ingres_query() para una lista de las sentencias SQL que no se pueden ejecutar mediante ingres_unbuffered_query().

Los datos dentro de la consulta deberían estar apropiadamente escapados.

params

Un array de valores de parámetros para usarlos con la consulta

types

Un string que contiene una secuencia de los tipos de los valores de los parámetros pasados. Véaes el parámetro types de ingres_query() para una lista de los códigos de los tipos.

Valores devueltos

ingres_unbuffered_query() devuelve un identificador de resultados de consulta cuando hay más filas que obtener, o FALSE cuando no hay más filas, como en el case de las sentencias sentencia INSERT, UPDATE o DELETE. Para comprobar si ocurrió un error, use ingres_errno(), ingres_error() o ingres_errsqlstate().

Ejemplos

Ejemplo #1 Ejecutar un SELECT sencillo no almacenado en búfer

<?php
$enlace = ingres_connect("demodb");

$resultado = ingres_unbuffered_query($enlace, "select * from user_profile");
while ($fila = ingres_fetch_row($resultado)) {
    echo $fila[1];
    echo $fila[2];
}
?>

Ejemplo #2 Passing query parameters to ingres_unbuffered_query()

<?php
$enlace = ingres_connect("demodb");

$params[] = "Emma";
$query = "select * from user_profile where up_first = ?";
$resultado = ingres_unbuffered_query($enlace, $query, $params);
while ($fila = ingres_fetch_row($resultado)) {
    echo $fila[1];
    echo $fila[2];
}
?>

Ejemplo #3 Insertar datos BLOB con tipos de parámetros

<?php
$enlace = ingres_connect("demodb");

//Abrir una foto
$fh = fopen("photo.jpg","r");
$datos_blob = stream_get_contents($fh);
fclose($fh);

//Preparar los parámetros
$parámetros[] = $datos_blob;
$parámetros[] = 1201;

//Definir los tipos de parámetros
$tipos_parámetros = "Bi";

$consulta = "update user_profile set up_image = ? where up_id = ?";
$resultado = ingres_unbuffered_query($enlace, $consulta , $parámetros, $tipos_parámetros);

if (ingres_errno())
{
    echo ingres_errno() . "-" . ingres_error() . "\n";
}
?>

Ver también

  • ingres_query() - Envía una consulta SQL a Ingres
  • ingres_fetch_array() - Obtiene una fila de resultados en un array
  • ingres_fetch_assoc() - Obtienen una fila de resultados en un array asociativo
  • ingres_fetch_object() - Obtiene una fila de resultados en un objeto
  • ingres_fetch_row() - Obtiene una fila de resultados en un array enumerado
  • ingres_commit() - Consigna una trasacción
  • ingres_rollback() - Revierte una transacción
  • ingres_autocommit() - Activa o desactiva la autoconsigna
  • ingres_set_environment() - Establece las características de entorno que controlan las opciones de salida
  • ingres_errno() - Obtiene el número del último error generado de Ingres
  • ingres_error() - Obtener un mensaje de error coherente del último error generado

ingres_set_environment
MaxDB
Funciones de Ingres


MaxDB

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Uso básico
  • Funciones de MaxDB
    • maxdb_affected_rows — Gets the number of affected rows in a previous MaxDB operation
    • maxdb_autocommit — Turns on or off auto-commiting database modifications
    • maxdb_bind_param — Alias de maxdb_stmt_bind_param
    • maxdb_bind_result — Alias de maxdb_stmt_bind_result
    • maxdb_change_user — Changes the user of the specified database connection
    • maxdb_character_set_name — Returns the default character set for the database connection
    • maxdb_client_encoding — Alias de maxdb_character_set_name
    • maxdb_close_long_data — Alias de maxdb_stmt_close_long_data
    • maxdb_close — Cierra una conexión de base de datos previamente abierta
    • maxdb_commit — Commits the current transaction
    • maxdb_connect_errno — Returns the error code from last connect call
    • maxdb_connect_error — Returns a string description of the last connect error
    • maxdb_connect — Open a new connection to the MaxDB server
    • maxdb_data_seek — Adjusts the result pointer to an arbitary row in the result
    • maxdb_debug — Performs debugging operations
    • maxdb_disable_reads_from_master — Disable reads from master
    • maxdb_disable_rpl_parse — Disable RPL parse
    • maxdb_dump_debug_info — Dump debugging information into the log
    • maxdb_embedded_connect — Open a connection to an embedded MaxDB server
    • maxdb_enable_reads_from_master — Enable reads from master
    • maxdb_enable_rpl_parse — Enable RPL parse
    • maxdb_errno — Returns the error code for the most recent function call
    • maxdb_error — Returns a string description of the last error
    • maxdb_escape_string — Alias de maxdb_real_escape_string
    • maxdb_execute — Alias de maxdb_stmt_execute
    • maxdb_fetch_array — Fetch a result row as an associative, a numeric array, or both
    • maxdb_fetch_assoc — Fetch a result row as an associative array
    • maxdb_fetch_field_direct — Fetch meta-data for a single field
    • maxdb_fetch_field — Returns the next field in the result set
    • maxdb_fetch_fields — Returns an array of resources representing the fields in a result set
    • maxdb_fetch_lengths — Returns the lengths of the columns of the current row in the result set
    • maxdb_fetch_object — Returns the current row of a result set as an object
    • maxdb_fetch_row — Get a result row as an enumerated array
    • maxdb_fetch — Alias de maxdb_stmt_fetch
    • maxdb_field_count — Returns the number of columns for the most recent query
    • maxdb_field_seek — Set result pointer to a specified field offset
    • maxdb_field_tell — Get current field offset of a result pointer
    • maxdb_free_result — Frees the memory associated with a result
    • maxdb_get_client_info — Returns the MaxDB client version as a string
    • maxdb_get_client_version — Get MaxDB client info
    • maxdb_get_host_info — Returns a string representing the type of connection used
    • maxdb_get_metadata — Alias de maxdb_stmt_result_metadata
    • maxdb_get_proto_info — Returns the version of the MaxDB protocol used
    • maxdb_get_server_info — Returns the version of the MaxDB server
    • maxdb_get_server_version — Returns the version of the MaxDB server as an integer
    • maxdb_info — Retrieves information about the most recently executed query
    • maxdb_init — Initializes MaxDB and returns an resource for use with maxdb_real_connect
    • maxdb_insert_id — Returns the auto generated id used in the last query
    • maxdb_kill — Disconnects from a MaxDB server
    • maxdb_master_query — Enforce execution of a query on the master in a master/slave setup
    • maxdb_more_results — Check if there any more query results from a multi query
    • maxdb_multi_query — Performs a query on the database
    • maxdb_next_result — Prepare next result from multi_query
    • maxdb_num_fields — Get the number of fields in a result
    • maxdb_num_rows — Gets the number of rows in a result
    • maxdb_options — Set options
    • maxdb_param_count — Alias de maxdb_stmt_param_count
    • maxdb_ping — Pings a server connection, or tries to reconnect if the connection has gone down
    • maxdb_prepare — Prepare an SQL statement for execution
    • maxdb_query — Performs a query on the database
    • maxdb_real_connect — Opens a connection to a MaxDB server
    • maxdb_real_escape_string — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
    • maxdb_real_query — Execute an SQL query
    • maxdb_report — Enables or disables internal report functions
    • maxdb_rollback — Rolls back current transaction
    • maxdb_rpl_parse_enabled — Check if RPL parse is enabled
    • maxdb_rpl_probe — RPL probe
    • maxdb_rpl_query_type — Returns RPL query type
    • maxdb_select_db — Selects the default database for database queries
    • maxdb_send_long_data — Alias de maxdb_stmt_send_long_data
    • maxdb_send_query — Send the query and return
    • maxdb_server_end — Shut down the embedded server
    • maxdb_server_init — Initialize embedded server
    • maxdb_set_opt — Alias de maxdb_options
    • maxdb_sqlstate — Returns the SQLSTATE error from previous MaxDB operation
    • maxdb_ssl_set — Used for establishing secure connections using SSL
    • maxdb_stat — Gets the current system status
    • maxdb_stmt_affected_rows — Returns the total number of rows changed, deleted, or inserted by the last executed statement
    • maxdb_stmt_bind_param — Binds variables to a prepared statement as parameters
    • maxdb_stmt_bind_result — Binds variables to a prepared statement for result storage
    • maxdb_stmt_close_long_data — Ends a sequence of maxdb_stmt_send_long_data
    • maxdb_stmt_close — Closes a prepared statement
    • maxdb_stmt_data_seek — Seeks to an arbitray row in statement result set
    • maxdb_stmt_errno — Returns the error code for the most recent statement call
    • maxdb_stmt_error — Returns a string description for last statement error
    • maxdb_stmt_execute — Executes a prepared Query
    • maxdb_stmt_fetch — Fetch results from a prepared statement into the bound variables
    • maxdb_stmt_free_result — Frees stored result memory for the given statement handle
    • maxdb_stmt_init — Initializes a statement and returns an resource for use with maxdb_stmt_prepare
    • maxdb_stmt_num_rows — Return the number of rows in statements result set
    • maxdb_stmt_param_count — Returns the number of parameter for the given statement
    • maxdb_stmt_prepare — Prepare an SQL statement for execution
    • maxdb_stmt_reset — Resets a prepared statement
    • maxdb_stmt_result_metadata — Returns result set metadata from a prepared statement
    • maxdb_stmt_send_long_data — Send data in blocks
    • maxdb_stmt_sqlstate — Returns SQLSTATE error from previous statement operation
    • maxdb_stmt_store_result — Transfers a result set from a prepared statement
    • maxdb_store_result — Transfers a result set from the last query
    • maxdb_thread_id — Returns the thread ID for the current connection
    • maxdb_thread_safe — Devuelve si la seguridad de enlace se le da o no
    • maxdb_use_result — Initiate a result set retrieval
    • maxdb_warning_count — Returns the number of warnings from the last query for the given link
ingres_unbuffered_query
Introducción
Extensiones de bases de datos específicas del proveedor


Introducción

La extensión MaxDB permite acceder a la funcionalidad proporcionada por MaxDB 7.5.0 o superior. Más información sobre el servidor de bases de datos MaxDB puede encontrarse en » http://www.sdn.sap.com/irj/sdn/maxdb.

La extensión MaxDB de PHP es compatible con la extensión MySQL mysqli. The MaxDB PHP extension is compatible to the MySQL mysqli extension. Sólo hay pequeñas diferencias en el comportamiento de algunas funciones, por las diferencias de los servidores de base de datos interna, MaxDB y MySQL.

Las principales diferencias de mysqli se encuentran en las siguientes funciones:

  • maxdb_character_set_name() - Devuelve sólo ascii o Unicode.
  • maxdb_get_client_info() - Devuelve un string de versión diferente.
  • maxdb_get_client_version() - Devuelve un string de versión diferente.
  • maxdb_get_host_info() - Devuelve localhost o hostname.
  • maxdb_get_server_info() - Devuelve un string de versión diferente.
  • maxdb_get_server_version() - Devuelve un string de versión diferente.
  • maxdb_kill() - Sólo desconecta el período de sesiones.
  • maxdb_multi_query() - No puede manejar múltiples sentencias SQL.
  • maxdb_next_result() - Esta función devuelve siempre false.
  • maxdb_options() - Compatible con un conjunto diferente de opciones.
  • maxdb_report() - Soporta un modo de informe diferente.
  • maxdb_stat() - Devuelve un string de estado del sistema diferente.
  • maxdb_stmt_store_result() - No es necesario para MaxDB.
  • maxdb_store_result() - No es necesario para MaxDB.

Documentación para MaxDB se puede encontrar en » http://maxdb.sap.com/documentation/.

MaxDB
Instalación/Configuración
MaxDB


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
MaxDB


Requerimientos

Con el fin de tener estas funciones disponibles, se debe compilar PHP con soporte para MaxDB. Además, debe tener disponible la librería MaxDB SQLDBC para acceder al servidor MaxDB.

Documentación para MaxDB SQLDBC se puede encontrar en » http://maxdb.sap.com/documentation/.

Se puede descargar el paquete MaxDB SQLDBC de » http://www.sdn.sap.com/irj/sdn/maxdb-downloads.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Usando la opción de configuración --with-maxdb[=DIR] habilita a PHP para acceder a bases de MaxDB. [DIR] apunta al directorio que contiene el paquete instalado MaxDB SQLDBC.

Los usuarios de Windows necesitan activar php_maxdb.dll en el interior de php.ini.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

opciones de configuración MaxDB
Nombre | Por defecto | Cambiable | Historial de cambios
maxdb.default_host | NULL | PHP_INI_ALL |
maxdb.default_db | NULL | PHP_INI_ALL |
maxdb.default_user | NULL | PHP_INI_ALL |
maxdb.default_pw | NULL | PHP_INI_ALL |
maxdb.long_readlen | "200" | PHP_INI_ALL |
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

maxdb.default_host string

El servidor por emisión a usar cuando se conecta a el servidor de bases de datos si no se indica otro.

maxdb.default_db string

El servidor de bases de datos por omisión a usar cuando se conecta si ninguna otra base de datos está especificada.

maxdb.default_user string

El nombre de usuario por omisión a usar cuando se conecta al servidor de bases de datos si no se específica otro nombre.

maxdb.default_pw string

La contraseña por omisión a usar cuando se conecta al servidor de bases de datos si no se específica otra contraseña.

maxdb.long_readlen integer

La longitud máxima predeterminada de bytes que se transfieren al cliente si son recuperados datos largos desde el servidor de base de datos MaxDB.

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Esta extensión define los recursos.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Las siguientes constantes están definidas para usarse con maxdb_options(). Para una descripción más detallada de estas constantes, véase » http://maxdb.sap.com/documentation/.

MaxDB PHP client constants
Constante | Descripción
MAXDB_COMPNAME | El nombre del componente usado para inicializar el entorno en tiempo de ejecución SQLDBC.
MAXDB_APPLICATION | La aplicación a conectar a la base de datos.
MAXDB_APPVERSION | La versión de la aplicación.
MAXDB_SQLMODE | El modo de SQL.
MAXDB_UNICODE | TRUE, si la conexión es un cliente unicode (UCS2) o FALSE si no.
MAXDB_TIMEOUT | El tiempo de inactividad máximo permitido después del cual la conexión a la base de datos es cerrada por el sistema.
MAXDB_ISOLATIONLEVEL | Especifica si los bloqueos compartidos y exclusivos son implicitamente a petición o liberados y cómo.
MAXDB_PACKETCOUNT | El número de paquetes diferentes de peticiones usados para la conexión.
MAXDB_STATEMENTCACHESIZE | El número de sentencias preparadas a ser colocadas en memoria para la conexión para ser reusadas.
MAXDB_CURSORPREFIX | El prefijo a usar para las tablas de resultados que son nominadas automáticamente.

La función maxdb_fetch_array() utiliza una constante para los diferentes tipos de arrays de resultados. Están definidas las siguientes constantes:

Constantesde obtención de MaxDB
Constante | Descripción
MAXDB_ASSOC | Las columnas son devueltas en un array teniendo como índices el nombre del campo.
MAXDB_ASSOC_UPPER | Las columnas son devueltas en un array teniendo como índices el nombre en mayúsculas del campo.
MAXDB_ASSOC_LOWER | Las columnas son devueltas en un array teniendo como índices el nombre en minúsculas del campo.
MAXDB_BOTH | Las columnas son devueltas en un array teniendo como índices un índice numérico y el nombre del campo.
MAXDB_NUM | Las columnas son devueltas en un array teniendo como índices un índice numérico de los campos. Este índice comienza con 0, el primer campo del resultado.

Tipos de recursos
Ejemplos
MaxDB


Ejemplos

Tabla de contenidos

  • Uso básico
Constantes predefinidas
Uso básico
MaxDB


Uso básico

Todos lo ejemplos de la documentación de PHP de MaxDB usan la base de datos de demostración HOTELDB de MaxDB. Se puede encontrar más sobre esta base de datos en » http://maxdb.sap.com/doc/7_7/44/d8c25164bb38d0e10000000a1553f7/content.htm.

Para utilizar los ejemplos en la documentación de PHP de MaxDB debe tener cargado la información del tutorial en su base de datos. Después tiene que setablecer maxdb.default_db en php.ini a la base de datos que contiene la información del tutorial.

Este sencillo ejemplo muestra cómo conectarse, ejecutar una consulta e imprimir las filas resultantes de una base de datos MaxDB.

Ejemplo #1 MaxDB extension overview example

<?php
$enlace = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* verificar la conexión */
if (maxdb_connect_errno()) {
   printf("Falló la conexión: %s\n", maxdb_connect_error());
   exit();
}

/* Realizar una consulta SQL */
$consulta = "SELECT * FROM hotel.city";
$resultado = maxdb_query($enlace, $consulta) or die("Falló la consulta : " . maxdb_error());

/* Imprimir los resultados en HTML */
echo "<table>\n";
while ($línea = maxdb_fetch_array($resultado, MAXDB_ASSOC)) {
    echo "  <tr>\n";
    foreach ($línea as $valor_col) {
        echo "    <td>$valor_col</td>\n";
    }
    echo "  </tr>\n";
}
echo "</table>\n";

/* Liberar el conjunto de resultados */
maxdb_free_result($resultado);

/* Cerrar la conexión */
maxdb_close($enlace);
?>

El siguiente ejemplo muestra cómo vincular variables a una sentencia SELECT INTO.

Ejemplo #2 Ejemplo para usar sentencias SELECT INTO

<?php
$enlace = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* verificar la conexión */
if (!$enlace) {
   printf("Falló la conexión: %s\n", maxdb_connect_error());
   exit();
}

/* Realizar una consulta SQL */
$sentencia = maxdb_prepare ($enlace, "SELECT percentage INTO ? FROM hotel.countrylanguage where language = ?");
if (!$sentencia) {
  printf ("Falló la preparación: %s\n", maxdb_error($enlace));
}

$nombre = "Mbundu";

maxdb_stmt_bind_param($sentencia, 'ds', $porcentaje, $nombre);
maxdb_stmt_execute($sentencia);

printf ("%f\n", $porcentaje);

maxdb_stmt_close ($sentencia);
?>

El siguiente ejemplo muestra cómo usar los procedimientos de una base de datos MaxDB.

Ejemplo #3 Ejemplo de uso de procesimientos de una base de datos

<?php
$enlace = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* verificar la conexión */
if (!$enlace) {
   printf("Falló la conexión: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($enlace,"DROP DBPROC test_proc");
maxdb_report (MAXDB_REPORT_ERROR);

$consulta = "create dbproc test_proc (INOUT e_text char(72)) AS select * from SYSDBA.DUAL; fetch into :e_text;";

maxdb_query($enlace, $consulta);

/* Realizar una consulta SQL */
$sentencia = maxdb_prepare ($enlace, "CALL test_proc (?)");
if (!$sentencia) {
  printf ("Prepare failed: %s\n", maxdb_error($enlace));
}

maxdb_stmt_bind_param($sentencia, 's', $resultado);
maxdb_stmt_execute($sentencia);

printf ("%s\n", $resultado);

maxdb_stmt_close ($sentencia);
?>

Ejemplos
Funciones de MaxDB
Ejemplos


Uso básico
maxdb_affected_rows
MaxDB
PHP Manual

Funciones de MaxDB

Clases predefinidas

maxdb

Representa una conexión entre PHP y una base de datos MaxDB.

Constructor

  • maxdb - construye un nuevo objeto maxdb

Métodos

  • autocommit - activa o desactiva el auto-envío de las modificaciones en la base de datos

  • change_user - cambia el usuario de la conexión especificada de la base de datos

  • character_set_name - devuelve el conjunto de caracteres predeterminado de una conexión a la base de datos

  • close - cierra una conexión abierta previamente

  • commit - consigna la transaccióna actual

  • connect - abre una nueva conexión al servidor de bases de datos MaxDB

  • debug - realiza operaciones de depuración

  • dump_debug_info - vuelca la información de depuración

  • get_client_info - devuelve la versión del cliente

  • get_host_info - devuelve es tipo de conexión usada

  • get_server_info - devuelve la versión del servidor MaxDB

  • get_server_version - devuelve la versión del servidor MaxDB

  • init - inicializa un objeto maxdb

  • info - recupera información sobre la consulta ejecutada más reciente

  • kill - pregunta al servidor para matar un hilo de MaxDB

  • multi_query - realizar múltiples consultas

  • more_results - comprueba si existen más resultados en la multiconsulta ejecutada actualmente

  • next_result - lee el siguiente resultado de la multiconsulta ejecutada actualmente

  • options - establecer opciones

  • ping - realiza un ping a la conexión del servidor o reconecta si no hay conexión

  • prepare - prepara una consulta SQL

  • query - realiza una consulta

  • real_connect - intenta abrir una conexión al servidor de bases de datos MaxDB

  • escape_string - escapa los caracteres especiales en una cadena para usarla en una sentencia SQL, teniendo en cuenta el conjunto de caracteres actual de la conexión

  • rollback - restaura la transacción actual al estado anterior

  • select_db - selecciona la base de datos predeterminada

  • ssl_set - establece los parámetros ssl

  • stat - obtiene el estado del sistema actual

  • stmt_init- inicializa una sentencia para usarla con maxdb_stmt_prepare

  • store_result - transfiere un conjunto de resultados de la última consulta

  • use_result - transfiere un conjunto de resultados no almacenado en buffer de la última consulta

  • thread-safe - devuelve si está establecida o no la seguridad de hilos

Propiedades

  • affected_rows - obtiene el número de filas afectadas de una operación de MaxDB previa

  • client_info - devuelve la versión del cliente de MaxDB como valor de tipo string

  • client_version - devuelve la versión del cliente de MaxDB como valor de tipo integer

  • errno - devuelve el código de error de la llamada más reciente a una función

  • error - devuelve la cadena de error de la llamada más reciente a una función

  • field_count - devuelve el número de columnas de la consulta más reciente

  • host_info - devuelve una cadena que representa el tipo de conexión usado

  • info - recupera información sobre la consulta ejecutada más reciente

  • insert_id - devuelve el id autogenerado usado en la última consulta

  • protocol_version - devuelve la versión del protocolo de MaxDB usado

  • sqlstate - devuelve una cadena que contiente el código de error SQLSTATE del último error

  • thread_id - devuelve el ID de hilo de la conexión actual

  • warning_count - devuelve el número de advertencias generadas durante la ejecución de la sentencia SQL previa

maxdb_stmt

Representa una sentencia preparada.

Métodos

  • bind_param - vincula vaariableas a una sentencia preparada

  • bind_result - vincula vaariableas a una sentencia preparada para almacenamiento de resultados

  • close - cierra una sentencia preparada

  • data-seek - busca una columna arbitraria en un conjunto de resultados de sentencias

  • execute - ejecuta una sentencia preparada

  • fetch - obtiene resultados de una sentencia preparada para variables vinculadas

  • free_result - libera la memoria de los resultados almacenados del gestor de sentencias dado

  • result_metadata - recupera un conjunto de resultados de una sentencia preparada para información metadata

  • prepare - prepara una consulta SQL

  • send_long_data - envía datos en trozos

  • close_long_data - fin del envía de datos "long"

  • reset - reinicia una sentencia preparada

  • store_result - almacena en buffer el conjunto de resultados completo de una sentencia preparada

Propiedades

  • affected_rows - devuelve lass filas afectadas de la última ejecución de sentencias

  • errno - devuelve el código de error de la última función de sentencias

  • errno - devuelve el mensaje de error de la última función de sentencias

  • param_count - devuelve el número de parámetros de una sentencia preparada dada

  • sqlstate - devuelve una cadena que contiene el código de error de SQLSTATE de la última función de sentencias

maxdb_result

Representa el conjunto de resultados obtenido de una consulta hecha en la base de datos.

Métodos

  • close - cieerra el conjunto de resultados

  • data_seek - mueve el puntero interno de resultados

  • fetch_field - obtiene información de una columna de un conjunto de resultados

  • fetch_fields - obtiene información de todas las columnas de un conjunto de resultados

  • fetch_field_direct - obtiene información de una columna para la columna especificada

  • fetch_array - obtiene una fila de resultados como un array asociativo, numérico, o ambos.

  • fetch_assoc - obtiene una fila de resultados como un array asociativo

  • fetch_object - obtiene una fila de resultados como un objeto

  • fetch_row - obtiene una fila de resultados como un array enumerado

  • close - libera de la memoria el resultado

  • field_seek - establece el puntero de resultados a un índice de campo especificado

Propiedades

  • current_field - devuelve el índice de puntero de campos actual

  • field_count - devuelve el número de campos de un conjunto deresutados

  • lengths - devuelve un array de longitudes de columnas

  • num_rows - devuelve el número de filas de un conjunto de resultados

Tabla de contenidos

  • maxdb_affected_rows — Gets the number of affected rows in a previous MaxDB operation
  • maxdb_autocommit — Turns on or off auto-commiting database modifications
  • maxdb_bind_param — Alias de maxdb_stmt_bind_param
  • maxdb_bind_result — Alias de maxdb_stmt_bind_result
  • maxdb_change_user — Changes the user of the specified database connection
  • maxdb_character_set_name — Returns the default character set for the database connection
  • maxdb_client_encoding — Alias de maxdb_character_set_name
  • maxdb_close_long_data — Alias de maxdb_stmt_close_long_data
  • maxdb_close — Cierra una conexión de base de datos previamente abierta
  • maxdb_commit — Commits the current transaction
  • maxdb_connect_errno — Returns the error code from last connect call
  • maxdb_connect_error — Returns a string description of the last connect error
  • maxdb_connect — Open a new connection to the MaxDB server
  • maxdb_data_seek — Adjusts the result pointer to an arbitary row in the result
  • maxdb_debug — Performs debugging operations
  • maxdb_disable_reads_from_master — Disable reads from master
  • maxdb_disable_rpl_parse — Disable RPL parse
  • maxdb_dump_debug_info — Dump debugging information into the log
  • maxdb_embedded_connect — Open a connection to an embedded MaxDB server
  • maxdb_enable_reads_from_master — Enable reads from master
  • maxdb_enable_rpl_parse — Enable RPL parse
  • maxdb_errno — Returns the error code for the most recent function call
  • maxdb_error — Returns a string description of the last error
  • maxdb_escape_string — Alias de maxdb_real_escape_string
  • maxdb_execute — Alias de maxdb_stmt_execute
  • maxdb_fetch_array — Fetch a result row as an associative, a numeric array, or both
  • maxdb_fetch_assoc — Fetch a result row as an associative array
  • maxdb_fetch_field_direct — Fetch meta-data for a single field
  • maxdb_fetch_field — Returns the next field in the result set
  • maxdb_fetch_fields — Returns an array of resources representing the fields in a result set
  • maxdb_fetch_lengths — Returns the lengths of the columns of the current row in the result set
  • maxdb_fetch_object — Returns the current row of a result set as an object
  • maxdb_fetch_row — Get a result row as an enumerated array
  • maxdb_fetch — Alias de maxdb_stmt_fetch
  • maxdb_field_count — Returns the number of columns for the most recent query
  • maxdb_field_seek — Set result pointer to a specified field offset
  • maxdb_field_tell — Get current field offset of a result pointer
  • maxdb_free_result — Frees the memory associated with a result
  • maxdb_get_client_info — Returns the MaxDB client version as a string
  • maxdb_get_client_version — Get MaxDB client info
  • maxdb_get_host_info — Returns a string representing the type of connection used
  • maxdb_get_metadata — Alias de maxdb_stmt_result_metadata
  • maxdb_get_proto_info — Returns the version of the MaxDB protocol used
  • maxdb_get_server_info — Returns the version of the MaxDB server
  • maxdb_get_server_version — Returns the version of the MaxDB server as an integer
  • maxdb_info — Retrieves information about the most recently executed query
  • maxdb_init — Initializes MaxDB and returns an resource for use with maxdb_real_connect
  • maxdb_insert_id — Returns the auto generated id used in the last query
  • maxdb_kill — Disconnects from a MaxDB server
  • maxdb_master_query — Enforce execution of a query on the master in a master/slave setup
  • maxdb_more_results — Check if there any more query results from a multi query
  • maxdb_multi_query — Performs a query on the database
  • maxdb_next_result — Prepare next result from multi_query
  • maxdb_num_fields — Get the number of fields in a result
  • maxdb_num_rows — Gets the number of rows in a result
  • maxdb_options — Set options
  • maxdb_param_count — Alias de maxdb_stmt_param_count
  • maxdb_ping — Pings a server connection, or tries to reconnect if the connection has gone down
  • maxdb_prepare — Prepare an SQL statement for execution
  • maxdb_query — Performs a query on the database
  • maxdb_real_connect — Opens a connection to a MaxDB server
  • maxdb_real_escape_string — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
  • maxdb_real_query — Execute an SQL query
  • maxdb_report — Enables or disables internal report functions
  • maxdb_rollback — Rolls back current transaction
  • maxdb_rpl_parse_enabled — Check if RPL parse is enabled
  • maxdb_rpl_probe — RPL probe
  • maxdb_rpl_query_type — Returns RPL query type
  • maxdb_select_db — Selects the default database for database queries
  • maxdb_send_long_data — Alias de maxdb_stmt_send_long_data
  • maxdb_send_query — Send the query and return
  • maxdb_server_end — Shut down the embedded server
  • maxdb_server_init — Initialize embedded server
  • maxdb_set_opt — Alias de maxdb_options
  • maxdb_sqlstate — Returns the SQLSTATE error from previous MaxDB operation
  • maxdb_ssl_set — Used for establishing secure connections using SSL
  • maxdb_stat — Gets the current system status
  • maxdb_stmt_affected_rows — Returns the total number of rows changed, deleted, or inserted by the last executed statement
  • maxdb_stmt_bind_param — Binds variables to a prepared statement as parameters
  • maxdb_stmt_bind_result — Binds variables to a prepared statement for result storage
  • maxdb_stmt_close_long_data — Ends a sequence of maxdb_stmt_send_long_data
  • maxdb_stmt_close — Closes a prepared statement
  • maxdb_stmt_data_seek — Seeks to an arbitray row in statement result set
  • maxdb_stmt_errno — Returns the error code for the most recent statement call
  • maxdb_stmt_error — Returns a string description for last statement error
  • maxdb_stmt_execute — Executes a prepared Query
  • maxdb_stmt_fetch — Fetch results from a prepared statement into the bound variables
  • maxdb_stmt_free_result — Frees stored result memory for the given statement handle
  • maxdb_stmt_init — Initializes a statement and returns an resource for use with maxdb_stmt_prepare
  • maxdb_stmt_num_rows — Return the number of rows in statements result set
  • maxdb_stmt_param_count — Returns the number of parameter for the given statement
  • maxdb_stmt_prepare — Prepare an SQL statement for execution
  • maxdb_stmt_reset — Resets a prepared statement
  • maxdb_stmt_result_metadata — Returns result set metadata from a prepared statement
  • maxdb_stmt_send_long_data — Send data in blocks
  • maxdb_stmt_sqlstate — Returns SQLSTATE error from previous statement operation
  • maxdb_stmt_store_result — Transfers a result set from a prepared statement
  • maxdb_store_result — Transfers a result set from the last query
  • maxdb_thread_id — Returns the thread ID for the current connection
  • maxdb_thread_safe — Devuelve si la seguridad de enlace se le da o no
  • maxdb_use_result — Initiate a result set retrieval
  • maxdb_warning_count — Returns the number of warnings from the last query for the given link
Uso básico
maxdb_affected_rows
MaxDB
PHP Manual


Gets the number of affected rows in a previous MaxDB operation

Funciones de MaxDB
maxdb_autocommit
Funciones de MaxDB
PHP Manual

maxdb_affected_rows

maxdb::affected_rows

(PECL maxdb >= 1.0)

maxdb_affected_rows -- maxdb::affected_rows — Gets the number of affected rows in a previous MaxDB operation

Descripción

Estilo por procedimientos

int maxdb_affected_rows ( resource $link )

Estilo orientado a objetos

int $maxdb->affected_rows;

maxdb_affected_rows() returns the number of rows affected by the last INSERT, UPDATE, or DELETE query associated with the provided link parameter. If this number cannot be determined, this function will return -1.

Nota:

For SELECT statements maxdb_affected_rows() works like maxdb_num_rows().

The maxdb_affected_rows() function only works with queries which modify a table. In order to return the number of rows from a SELECT query, use the maxdb_num_rows() function instead.

Valores devueltos

An integer greater than zero indicates the number of rows affected or retrieved. Zero indicates that no records where updated for an UPDATE statement, no rows matched the WHERE clause in the query or that no query has yet been executed. -1 indicates that the number of rows affected can not be determined.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
$maxdb->query("DROP TABLE mycustomer");
maxdb_report (MAXDB_REPORT_ERROR);

/* Insert rows */
$maxdb->query("CREATE TABLE mycustomer AS SELECT * from hotel.customer");
printf("Affected rows (INSERT): %d\n", $maxdb->affected_rows);

$maxdb->query("ALTER TABLE mycustomer ADD Status int default 0");

/* update rows */
$maxdb->query("UPDATE mycustomer SET Status=1 WHERE cno > 50");
printf("Affected rows (UPDATE): %d\n", $maxdb->affected_rows);

/* delete rows */
$maxdb->query("DELETE FROM mycustomer WHERE cno < 50");
printf("Affected rows (DELETE): %d\n", $maxdb->affected_rows);

/* select all rows */
$result = $maxdb->query("SELECT title FROM mycustomer");
printf("Affected rows (SELECT): %d\n", $maxdb->affected_rows);

$result->close();

/* Delete table Language */
$maxdb->query("DROP TABLE mycustomer");

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

if (!$link) {
   printf("Can't connect to localhost. Error: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP TABLE mycustomer");
maxdb_report (MAXDB_REPORT_ERROR);

/* Insert rows */
maxdb_query($link, "CREATE TABLE mycustomer AS SELECT * from hotel.customer");
printf("Affected rows (INSERT): %d\n", maxdb_affected_rows($link));

maxdb_query($link, "ALTER TABLE mycustomer ADD Status int default 0");

/* update rows */
maxdb_query($link, "UPDATE mycustomer SET Status=1 WHERE cno > 50");
printf("Affected rows (UPDATE): %d\n", maxdb_affected_rows($link));

/* delete rows */
maxdb_query($link, "DELETE FROM mycustomer WHERE cno < 50");
printf("Affected rows (DELETE): %d\n", maxdb_affected_rows($link));

/* select all rows */
$result = maxdb_query($link, "SELECT title FROM mycustomer");
printf("Affected rows (SELECT): %d\n", maxdb_affected_rows($link));

maxdb_free_result($result);

/* Delete table Language */
maxdb_query($link, "DROP TABLE mycustomer");

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Affected rows (INSERT): 15
Affected rows (UPDATE): 15
Affected rows (DELETE): 0
Affected rows (SELECT): 15

Ver también

  • maxdb_num_rows() - Gets the number of rows in a result
  • maxdb_info() - Retrieves information about the most recently executed query

Funciones de MaxDB
maxdb_autocommit
Funciones de MaxDB


Turns on or off auto-commiting database modifications

maxdb_affected_rows
maxdb_bind_param
Funciones de MaxDB
PHP Manual

maxdb_autocommit

maxdb::auto_commit

(PECL maxdb >= 1.0)

maxdb_autocommit -- maxdb::auto_commit — Turns on or off auto-commiting database modifications

Descripción

Estilo por procedimientos

bool maxdb_autocommit ( resource $link , bool $mode )

Estilo orientado a objetos

bool maxdb::auto_commit ( bool $mode )

maxdb_autocommit() is used to turn on or off auto-commit mode on queries for the database connection represented by the link resource.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* turn autocommit on */
$maxdb->autocommit(TRUE);

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

if (!$link) {
   printf("Can't connect to localhost. Error: %s\n", maxdb_connect_error());
   exit();
}

/* turn autocommit on */
maxdb_autocommit($link, TRUE);

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Ver también

  • maxdb_commit() - Commits the current transaction
  • maxdb_rollback() - Rolls back current transaction

maxdb_affected_rows
maxdb_bind_param
Funciones de MaxDB


Alias de maxdb_stmt_bind_param

maxdb_autocommit
maxdb_bind_result
Funciones de MaxDB
PHP Manual

maxdb_bind_param

(PECL maxdb 1.0)

maxdb_bind_param — Alias de maxdb_stmt_bind_param()

Descripción

Esta función es un alias de: maxdb_stmt_bind_param()

Esta función alias está obsoleta y sólo existe por razones de compatibilidad con versiones anteriores. El uso de esta función no es recomendado, y puede ser eliminado de PHP en futuras versiones.

maxdb_autocommit
maxdb_bind_result
Funciones de MaxDB


Alias de maxdb_stmt_bind_result

maxdb_bind_param
maxdb_change_user
Funciones de MaxDB
PHP Manual

maxdb_bind_result

(PECL maxdb 1.0)

maxdb_bind_result — Alias de maxdb_stmt_bind_result()

Descripción

Esta función es un alias de: maxdb_stmt_bind_result().

Esta función alias está obsoleta y sólo existe por razones de compatibilidad con versiones anteriores. El uso de esta función no es recomendado, y puede ser eliminado de PHP en futuras versiones.

maxdb_bind_param
maxdb_change_user
Funciones de MaxDB


Changes the user of the specified database connection

maxdb_bind_result
maxdb_character_set_name
Funciones de MaxDB
PHP Manual

maxdb_change_user

maxdb::change_user

(PECL maxdb >= 1.0)

maxdb_change_user -- maxdb::change_user — Changes the user of the specified database connection

Descripción

Estilo por procedimientos

bool maxdb_change_user ( resource $link , string $user , string $password , string $database )

Estilo orientado a objetos

bool maxdb::change_user ( string $user , string $password , string $database )

maxdb_change_user() is used to change the user of the specified database connection as given by the link parameter and to set the current database to that specified by the database parameter.

In order to successfully change users a valid username and password parameters must be provided and that user must have sufficient permissions to access the desired database. If for any reason authorization fails, the current user authentication will remain.

Nota:

Using this command will always cause the current database connection to behave as if was a completely new database connection, regardless of if the operation was completed successfully. This reset includes performing a rollback on any active transactions, closing all temporary tables, and unlocking all locked tables.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

/* connect database test */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = $maxdb->query("SELECT * FROM dual")) {
   $row = $result->fetch_row();
   printf("Result: %s\n", $row[0]);
   $result->free();
}

/* reset all and select a new database */
if (!$maxdb->change_user("DBADMIN", "SECRET", "DEMODB")) {
  printf("Database not running\n");
} else {
  printf("Database running\n");
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = maxdb_query($link, "SELECT * FROM dual")) {
   $row = maxdb_fetch_row($result);
   printf("Result: %s\n", $row[0]);
   maxdb_free_result($result);
}

/* reset all and select a new database */
if (!maxdb_change_user($link, "DBADMIN", "SECRET", "DEMODB")) {
  printf("Database not running\n");
} else {
  printf("Database running\n");
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Result: a
Database running

Ver también

  • maxdb_connect() - Open a new connection to the MaxDB server
  • maxdb_select_db() - Selects the default database for database queries

maxdb_bind_result
maxdb_character_set_name
Funciones de MaxDB


Returns the default character set for the database connection

maxdb_change_user
maxdb_client_encoding
Funciones de MaxDB
PHP Manual

maxdb_character_set_name

maxdb::character_set_name

(PECL maxdb >= 1.0)

maxdb_character_set_name -- maxdb::character_set_name — Returns the default character set for the database connection

Descripción

Estilo por procedimientos

string maxdb_character_set_name ( resource $link )

Estilo orientado a objetos

string maxdb::character_set_name ( void )

Returns the current character set for the database connection specified by the link parameter.

Valores devueltos

The default character set for the current connection, either ascii or unicode.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Print current character set */
$charset = $maxdb->character_set_name();
printf ("Current character set is %s\n", $charset);

$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Print current character set */
$charset = maxdb_character_set_name($link);
printf ("Current character set is %s\n",$charset);

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Current character set is ascii

Ver también

  • maxdb_client_encoding() - Alias de maxdb_character_set_name
  • maxdb_real_escape_string() - Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

maxdb_change_user
maxdb_client_encoding
Funciones de MaxDB


Alias de maxdb_character_set_name

maxdb_character_set_name
maxdb_close_long_data
Funciones de MaxDB
PHP Manual

maxdb_client_encoding

(PECL maxdb 1.0)

maxdb_client_encoding — Alias de maxdb_character_set_name()

Descripción

Esta función es un alias de: maxdb_character_set_name().

Esta función alias está obsoleta y sólo existe por razones de compatibilidad con versiones anteriores. El uso de esta función no es recomendado, y puede ser eliminado de PHP en futuras versiones.

maxdb_character_set_name
maxdb_close_long_data
Funciones de MaxDB


Alias de maxdb_stmt_close_long_data

maxdb_client_encoding
maxdb_close
Funciones de MaxDB
PHP Manual

maxdb_close_long_data

maxdb::close_long_data

(PECL maxdb >= 1.0)

maxdb_close_long_data -- maxdb::close_long_data — Alias de maxdb_stmt_close_long_data()

Descripción

Esta función es un alias de: maxdb_stmt_close_long_data().

Esta función alias está obsoleta y sólo existe por razones de compatibilidad con versiones anteriores. El uso de esta función no es recomendado, y puede ser eliminado de PHP en futuras versiones.

maxdb_client_encoding
maxdb_close
Funciones de MaxDB


Cierra una conexión de base de datos previamente abierta

maxdb_close_long_data
maxdb_commit
Funciones de MaxDB
PHP Manual

maxdb_close

maxdb::close

(PECL maxdb >= 1.0)

maxdb_close -- maxdb::close — Cierra una conexión de base de datos previamente abierta

Descripción

Estilo por procedimientos

bool maxdb_close ( resource $link )

Estilo orientado a objetos

bool maxdb::close ( void )

La función maxdb_close() cierra una conexión previamente abierta de base de datos especificada por el parámetro link.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • maxdb_connect() - Open a new connection to the MaxDB server
  • maxdb_init() - Initializes MaxDB and returns an resource for use with maxdb_real_connect
  • maxdb_real_connect() - Opens a connection to a MaxDB server

maxdb_close_long_data
maxdb_commit
Funciones de MaxDB


Commits the current transaction

maxdb_close
maxdb_connect_errno
Funciones de MaxDB
PHP Manual

maxdb_commit

maxdb::commit

(PECL maxdb >= 1.0)

maxdb_commit -- maxdb::commit — Commits the current transaction

Descripción

Estilo por procedimientos

bool maxdb_commit ( resource $link )

Estilo orientado a objetos

bool maxdb::commit ( void )

Commits the current transaction for the database connection specified by the link parameter.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* set autocommit to off */
$maxdb->autocommit(FALSE);

maxdb_report (MAXDB_REPORT_OFF);
$maxdb->query("DROP TABLE mycustomer");
maxdb_report (MAXDB_REPORT_ERROR);

$maxdb->query("CREATE TABLE mycustomer LIKE hotel.customer");

/* Insert some values */
$maxdb->query("INSERT INTO mycustomer VALUES (3000,'Mrs','Jenny','Porter','10580','1340 N.Ash Street, #3')");
$maxdb->query("INSERT INTO mycustomer VALUES (3100,'Mr','Peter','Brown','48226','1001 34th Str., APT.3')");

/* commit transaction */
$maxdb->commit();

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* set autocommit to off */
maxdb_autocommit($link, FALSE);

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP TABLE mycustomer");
maxdb_report (MAXDB_REPORT_ERROR);

maxdb_query($link, "CREATE TABLE mycustomer LIKE hotel.customer");

/* Insert some values */
maxdb_query($link, "INSERT INTO mycustomer VALUES (3000,'Mrs','Jenny','Porter','10580','1340 N.Ash Street, #3')");
maxdb_query($link, "INSERT INTO mycustomer VALUES (3100,'Mr','Peter','Brown','48226','1001 34th Str., APT.3')");

/* commit transaction */
maxdb_commit($link);

/* close connection */
maxdb_close($link);
?>

The above examples produces no output.

Ver también

  • maxdb_autocommit() - Turns on or off auto-commiting database modifications
  • maxdb_rollback() - Rolls back current transaction

maxdb_close
maxdb_connect_errno
Funciones de MaxDB


Returns the error code from last connect call

maxdb_commit
maxdb_connect_error
Funciones de MaxDB
PHP Manual

maxdb_connect_errno

(PECL maxdb >= 1.0)

maxdb_connect_errno — Returns the error code from last connect call

Descripción

int maxdb_connect_errno ( void )

The maxdb_connect_errno() function will return the last error code number for last call to maxdb_connect(). If no errors have occurred, this function will return zero.

Valores devueltos

An error code value for the last call to maxdb_connect(), if it failed. zero means no error occurred.

Ejemplos

Ejemplo #1 maxdb_connect_errno sample

<?php
$link = maxdb_connect("localhost", "XXXXXXXX", "YYYYYYYYY");

if (!$link) {
   printf("Can't connect to localhost. Errorcode: %d\n", maxdb_connect_errno());
}
?>

El resultado del ejemplo sería algo similar a:

PHP Warning:  maxdb_connect(): -4008 POS(1) Unknown user name/password combination [08004] <...>
Can't connect to localhost. Errorcode: -4008

Ver también

  • maxdb_connect() - Open a new connection to the MaxDB server
  • maxdb_connect_error() - Returns a string description of the last connect error
  • maxdb_errno() - Returns the error code for the most recent function call
  • maxdb_error() - Returns a string description of the last error
  • maxdb_sqlstate() - Returns the SQLSTATE error from previous MaxDB operation

maxdb_commit
maxdb_connect_error
Funciones de MaxDB


Returns a string description of the last connect error

maxdb_connect_errno
maxdb_connect
Funciones de MaxDB
PHP Manual

maxdb_connect_error

(PECL maxdb >= 1.0)

maxdb_connect_error — Returns a string description of the last connect error

Descripción

string maxdb_connect_error ( void )

The maxdb_connect_error() function is identical to the corresponding maxdb_connect_errno() function in every way, except instead of returning an integer error code the maxdb_connect_error() function will return a string representation of the last error to occur for the last maxdb_connect() call. If no error has occurred, this function will return an empty string.

Valores devueltos

A string that describes the error. An empty string if no error occurred.

Ejemplos

Ejemplo #1 maxdb_connect_error sample

<?php

$link = maxdb_connect("localhost", "nonexisting_user", "");

if (!$link) {
   printf("Can't connect to localhost. Error: %s\n", maxdb_connect_error());
}
?>

El resultado del ejemplo sería algo similar a:

PHP Warning:  maxdb_connect(): -4008 POS(1) Unknown user name/password combination <...>
Can't connect to localhost. Error: POS(1) Unknown user name/password combination

Ver también

  • maxdb_connect() - Open a new connection to the MaxDB server
  • maxdb_connect_errno() - Returns the error code from last connect call
  • maxdb_errno() - Returns the error code for the most recent function call
  • maxdb_error() - Returns a string description of the last error
  • maxdb_sqlstate() - Returns the SQLSTATE error from previous MaxDB operation

maxdb_connect_errno
maxdb_connect
Funciones de MaxDB


Open a new connection to the MaxDB server

maxdb_connect_error
maxdb_data_seek
Funciones de MaxDB
PHP Manual

maxdb_connect

maxdb::__construct

(PECL maxdb >= 1.0)

maxdb_connect -- maxdb::__construct — Open a new connection to the MaxDB server

Descripción

Estilo por procedimientos

resource maxdb_connect ([ string $host [, string $username [, string $passwd [, string $dbname [, int $port = 0 [, string $socket ]]]]]] )

Estilo orientado a objetos

maxdb::__construct() ([ string $host [, string $username [, string $passwd [, string $dbname [, int $port = 0 [, string $socket ]]]]]] )

The maxdb_connect() function attempts to open a connection to the MaxDB Server running on host which can be either a host name or an IP address. Passing the string "localhost" to this parameter, the local host is assumed. If successful, the maxdb_connect() will return an resource representing the connection to the database o FALSE en caso de error.

The username and password parameters specify the username and password under which to connect to the MaxDB server. If the password is not provided (the NULL value is passed), the MaxDB server will attempt to authenticate the user against the maxdb.default_pw in php.ini.

The dbname parameter if provided will specify the default database to be used when performing queries. If not provied, the entry maxdb.default_db in php.ini is used.

The port and socket parameters are ignored for the MaxDB server.

Valores devueltos

Returns a resource which represents the connection to a MaxDB Server or FALSE if the connection failed.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf("Host information: %s\n", $maxdb->host_info);

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf("Host information: %s\n", maxdb_get_host_info($link));

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Host information: localhost
maxdb_connect_error
maxdb_data_seek
Funciones de MaxDB


Adjusts the result pointer to an arbitary row in the result

maxdb_connect
maxdb_debug
Funciones de MaxDB
PHP Manual

maxdb_data_seek

maxdb_result::data_seek

(PECL maxdb >= 1.0)

maxdb_data_seek -- maxdb_result::data_seek — Adjusts the result pointer to an arbitary row in the result

Descripción

Estilo por procedimientos

bool maxdb_data_seek ( resource $result , int $offset )

Estilo orientado a objetos

bool maxdb_result::data_seek ( int $offset )

The maxdb_data_seek() function seeks to an arbitrary result pointer specified by the offset in the result set represented by result. The offset parameter must be between zero and the total number of rows minus one (0.. maxdb_num_rows() - 1).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER BY name";
if ($result = $maxdb->query( $query)) {

   /* seek to row no. 10 */
   $result->data_seek(10);

   /* fetch row */
   $row = $result->fetch_row();

   printf ("City: %s  State: %s\n", $row[0], $row[1]);

   /* free result set*/
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER BY name";

if ($result = maxdb_query($link, $query)) {

   /* seek to row no. 400 */
   maxdb_data_seek($result, 10);

   /* fetch row */
   $row = maxdb_fetch_row($result);

   printf ("City: %s  State: %s\n", $row[0], $row[1]);

   /* free result set*/
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

City: Irvine  State: CA

Ver también

  • maxdb_store_result() - Transfers a result set from the last query
  • maxdb_fetch_row() - Get a result row as an enumerated array
  • maxdb_num_rows() - Gets the number of rows in a result

maxdb_connect
maxdb_debug
Funciones de MaxDB


Performs debugging operations

maxdb_data_seek
maxdb_disable_reads_from_master
Funciones de MaxDB
PHP Manual

maxdb_debug

(PECL maxdb >= 1.0)

maxdb_debug — Performs debugging operations

Descripción

void maxdb_debug ( string $debug )

The maxdb_debug() can be used to trace the SQLDBC communication. The following strings can be used as a parameter to maxdb_debug():

  • TRACE SHORT ON|OFF - Enables/disables method call trace.
  • TRACE LONG ON|OFF - Enables/disables method argument and detail debug trace.
  • TRACE PACKET ON|OFF|<size> - Enables/disables packet trace, limiting the size of the traced object to the specified number of bytes, or 1000 if no size is specified.
  • TRACE SQL ON|OFF - Enables/disables high level api trace.
  • TRACE TIMESTAMP ON|OFF - Enables/disables a timestamp prefix on each line that is traced.
  • TRACE SIZE <size> - Limits the size of the trace file to <size> bytes, at least 8192 bytes are required.

Valores devueltos

maxdb_debug() doesn't return any value.

Ejemplos

Ejemplo #1 Estilo por procedimientos

<?php

maxdb_debug("trace packet 200");

$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* close connection */
maxdb_close($link);
?>

The above example produces no output.

maxdb_data_seek
maxdb_disable_reads_from_master
Funciones de MaxDB


Disable reads from master

maxdb_debug
maxdb_disable_rpl_parse
Funciones de MaxDB
PHP Manual

maxdb_disable_reads_from_master

maxdb::disable_reads_from_master

(PECL maxdb >= 1.0)

maxdb_disable_reads_from_master -- maxdb::disable_reads_from_master — Disable reads from master

Descripción

Estilo por procedimientos

bool maxdb_disable_reads_from_master ( resource $link )

Estilo orientado a objetos

void maxdb::disable_reads_from_master ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

maxdb_debug
maxdb_disable_rpl_parse
Funciones de MaxDB


Disable RPL parse

maxdb_disable_reads_from_master
maxdb_dump_debug_info
Funciones de MaxDB
PHP Manual

maxdb_disable_rpl_parse

(PECL maxdb >= 1.0)

maxdb_disable_rpl_parse — Disable RPL parse

Descripción

bool maxdb_disable_rpl_parse ( resource $link )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

maxdb_disable_reads_from_master
maxdb_dump_debug_info
Funciones de MaxDB


Dump debugging information into the log

maxdb_disable_rpl_parse
maxdb_embedded_connect
Funciones de MaxDB
PHP Manual

maxdb_dump_debug_info

(PECL maxdb >= 1.0)

maxdb_dump_debug_info — Dump debugging information into the log

Descripción

bool maxdb_dump_debug_info ( resource $link )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

maxdb_disable_rpl_parse
maxdb_embedded_connect
Funciones de MaxDB


Open a connection to an embedded MaxDB server

maxdb_dump_debug_info
maxdb_enable_reads_from_master
Funciones de MaxDB
PHP Manual

maxdb_embedded_connect

(PECL maxdb >= 1.0)

maxdb_embedded_connect — Open a connection to an embedded MaxDB server

Descripción

resource maxdb_embedded_connect ([ string $dbname ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

maxdb_dump_debug_info
maxdb_enable_reads_from_master
Funciones de MaxDB


Enable reads from master

maxdb_embedded_connect
maxdb_enable_rpl_parse
Funciones de MaxDB
PHP Manual

maxdb_enable_reads_from_master

(PECL maxdb >= 1.0)

maxdb_enable_reads_from_master — Enable reads from master

Descripción

bool maxdb_enable_reads_from_master ( resource $link )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

maxdb_embedded_connect
maxdb_enable_rpl_parse
Funciones de MaxDB


Enable RPL parse

maxdb_enable_reads_from_master
maxdb_errno
Funciones de MaxDB
PHP Manual

maxdb_enable_rpl_parse

(PECL maxdb >= 1.0)

maxdb_enable_rpl_parse — Enable RPL parse

Descripción

bool maxdb_enable_rpl_parse ( resource $link )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

maxdb_enable_reads_from_master
maxdb_errno
Funciones de MaxDB


Returns the error code for the most recent function call

maxdb_enable_rpl_parse
maxdb_error
Funciones de MaxDB
PHP Manual

maxdb_errno

maxdb::errno

(PECL maxdb >= 1.0)

maxdb_errno -- maxdb::errno — Returns the error code for the most recent function call

Descripción

Estilo por procedimientos

int maxdb_errno ( resource $link )

Estilo orientado a objetos

int $maxdb->errno;

The maxdb_errno() function will return the last error code for the most recent MaxDB function call that can succeed or fail with respect to the database link defined by the link parameter. If no errors have occurred, this function will return zero.

Valores devueltos

An error code value for the last call, if it failed. zero means no error occurred.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if (!$maxdb->query("SELECT xxx FROM hotel.city")) {
   printf("Errorcode: %d\n", $maxdb->errno);
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if (!maxdb_query($link, "SELECT xxx FROM hotel.city")) {
   printf("Errorcode: %d\n", maxdb_errno($link));
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

PHP Warning:  maxdb_query(): -4005 POS(8) Unknown column name:XXX [42000] <...>
Errorcode: -4005

Ver también

  • maxdb_connect_errno() - Returns the error code from last connect call
  • maxdb_connect_error() - Returns a string description of the last connect error
  • maxdb_error() - Returns a string description of the last error
  • maxdb_sqlstate() - Returns the SQLSTATE error from previous MaxDB operation

maxdb_enable_rpl_parse
maxdb_error
Funciones de MaxDB


Returns a string description of the last error

maxdb_errno
maxdb_escape_string
Funciones de MaxDB
PHP Manual

maxdb_error

maxdb::error

(PECL maxdb >= 1.0)

maxdb_error -- maxdb::error — Returns a string description of the last error

Descripción

Estilo por procedimientos

string maxdb_error ( resource $link )

Estilo orientado a objetos

string $maxdb->error;

The maxdb_error() function is identical to the corresponding maxdb_errno() function in every way, except instead of returning an integer error code the maxdb_error() function will return a string representation of the last error to occur for the database connection represented by the link parameter. If no error has occurred, this function will return an empty string.

Valores devueltos

A string that describes the error. An empty string if no error occurred.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if (!$maxdb->query("SELECT xxx FROM hotel.city")) {
   printf("Errormessage: %s\n", $maxdb->error);
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if (!maxdb_query($link, "SELECT xxx FROM hotel.city")) {
   printf("Errormessgae: %s\n", maxdb_error($link));
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

PHP Warning:  maxdb_query(): -4005 POS(8) Unknown column name:XXX [42000]
Errormessgae: POS(8) Unknown column name:XXX

Ver también

  • maxdb_connect_errno() - Returns the error code from last connect call
  • maxdb_connect_error() - Returns a string description of the last connect error
  • maxdb_errno() - Returns the error code for the most recent function call
  • maxdb_sqlstate() - Returns the SQLSTATE error from previous MaxDB operation

maxdb_errno
maxdb_escape_string
Funciones de MaxDB


Alias de maxdb_real_escape_string

maxdb_error
maxdb_execute
Funciones de MaxDB
PHP Manual

maxdb_escape_string

(PECL maxdb 1.0)

maxdb_escape_string — Alias de maxdb_real_escape_string()

Descripción

Esta función es un alias de: maxdb_real_escape_string().

maxdb_error
maxdb_execute
Funciones de MaxDB


Alias de maxdb_stmt_execute

maxdb_escape_string
maxdb_fetch_array
Funciones de MaxDB
PHP Manual

maxdb_execute

(PECL maxdb 1.0)

maxdb_execute — Alias de maxdb_stmt_execute()

Descripción

Esta función es un alias de: maxdb_stmt_execute().

Esta función alias está obsoleta y sólo existe por razones de compatibilidad con versiones anteriores. El uso de esta función no es recomendado, y puede ser eliminado de PHP en futuras versiones.

maxdb_escape_string
maxdb_fetch_array
Funciones de MaxDB


Fetch a result row as an associative, a numeric array, or both

maxdb_execute
maxdb_fetch_assoc
Funciones de MaxDB
PHP Manual

maxdb_fetch_array

maxdb_result::fetch_array

(PECL maxdb >= 1.0)

maxdb_fetch_array -- maxdb_result::fetch_array — Fetch a result row as an associative, a numeric array, or both

Descripción

Estilo por procedimientos

mixed maxdb_fetch_array ( resource $result [, int $resulttype ] )

Estilo orientado a objetos

mixed maxdb_result::fetch_array ([ int $resulttype ] )

Returns an array that corresponds to the fetched row or NULL if there are no more rows for the resultset represented by the result parameter.

maxdb_fetch_array() is an extended version of the maxdb_fetch_row() function. In addition to storing the data in the numeric indices of the result array, the maxdb_fetch_array() function can also store the data in associative indices, using the field names of the result set as keys.

Nota: Los nombres de los campos devueltos por esta función son sensibles a mayúsculas y minúsculas.

Nota: Esta función define campos NULOS al valor NULL de PHP.

If two or more columns of the result have the same field names, the last column will take precedence and overwrite the earlier data. In order to access multiple columns with the same name, the numerically indexed version of the row must be used.

The optional second argument resulttype is a constant indicating what type of array should be produced from the current row data. The possible values for this parameter are the constants MAXDB_ASSOC, MAXDB_ASSOC_UPPER, MAXDB_ASSOC_LOWER, MAXDB_NUM, or MAXDB_BOTH. By default the maxdb_fetch_array() function will assume MAXDB_BOTH, which is a combination of MAXDB_NUM and MAXDB_ASSOC for this parameter.

By using the MAXDB_ASSOC constant this function will behave identically to the maxdb_fetch_assoc(), while MAXDB_NUM will behave identically to the maxdb_fetch_row() function. The final option MAXDB_BOTH will create a single array with the attributes of both.

By using the MAXDB_ASSOC_UPPER constant, the behaviour of this function is identical to the use of MAXDB_ASSOC except the array index of a column is the fieldname in upper case.

By using the MAXDB_ASSOC_LOWER constant, the behaviour of this function is identical to the use of MAXDB_ASSOC except the array index of a column is the fieldname in lower case.

Valores devueltos

Returns an array that corresponds to the fetched row or NULL if there are no more rows in resultset.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";
$result = $maxdb->query($query);

/* numeric array */
$row = $result->fetch_array(MAXDB_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);

/* associative array */
$row = $result->fetch_array(MAXDB_ASSOC);
printf ("%s (%s)\n", $row["NAME"], $row["STATE"]);

/* associative and numeric array */
$row = $result->fetch_array(MAXDB_BOTH);
printf ("%s (%s)\n", $row[0], $row["STATE"]);

/* free result set */
$result->close();

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";
$result = maxdb_query($link, $query);

/* numeric array */
$row = maxdb_fetch_array($result, MAXDB_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);

/* associative array */
$row = maxdb_fetch_array($result, MAXDB_ASSOC);
printf ("%s (%s)\n", $row["NAME"], $row["STATE"]);

/* associative and numeric array */
$row = maxdb_fetch_array($result, MAXDB_BOTH);
printf ("%s (%s)\n", $row[0], $row["STATE"]);

/* free result set */
maxdb_free_result($result);

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

New York (NY)
New York (NY)
Long Island (NY)

Ver también

  • maxdb_fetch_assoc() - Fetch a result row as an associative array
  • maxdb_fetch_row() - Get a result row as an enumerated array
  • maxdb_fetch_resource()

maxdb_execute
maxdb_fetch_assoc
Funciones de MaxDB


Fetch a result row as an associative array

maxdb_fetch_array
maxdb_fetch_field_direct
Funciones de MaxDB
PHP Manual

maxdb_fetch_assoc

maxdb_result::fetch_assoc

(PECL maxdb >= 1.0)

maxdb_fetch_assoc -- maxdb_result::fetch_assoc — Fetch a result row as an associative array

Descripción

Estilo por procedimientos

array maxdb_fetch_assoc ( resource $result )

Estilo orientado a objetos

array maxdb_result::fetch_assoc ( void )

Returns an associative array that corresponds to the fetched row or NULL if there are no more rows.

The maxdb_fetch_assoc() function is used to return an associative array representing the next row in the result set for the result represented by the result parameter, where each key in the array represents the name of one of the result set's columns.

If two or more columns of the result have the same field names, the last column will take precedence. To access the other column(s) of the same name, you either need to access the result with numeric indices by using maxdb_fetch_row() or add alias names.

Nota: Los nombres de los campos devueltos por esta función son sensibles a mayúsculas y minúsculas.

Nota: Esta función define campos NULOS al valor NULL de PHP.

Valores devueltos

Returns an array that corresponds to the fetched row or NULL if there are no more rows in resultset.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = $maxdb->query($query)) {

   /* fetch associative array */
   while ($row = $result->fetch_assoc()) {
       printf ("%s (%s)\n", $row["NAME"], $row["STATE"]);
   }

   /* free result set */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = maxdb_query($link, $query)) {

   /* fetch associative array */
   while ($row = maxdb_fetch_assoc($result)) {
       printf ("%s (%s)\n", $row["NAME"], $row["STATE"]);
   }

   /* free result set */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

New York (NY)
New York (NY)
Long Island (NY)
Albany (NY)
Washington (DC)
Washington (DC)
Washington (DC)
Silver Spring (MD)
Daytona Beach (FL)
Deerfield Beach (FL)
Clearwater (FL)
Cincinnati (OH)
Detroit (MI)
Rosemont (IL)
Chicago (IL)
Chicago (IL)
New Orleans (LA)
Dallas (TX)
Los Angeles (CA)
Hollywood (CA)
Long Beach (CA)
Palm Springs (CA)
Irvine (CA)
Santa Clara (CA)
Portland (OR)

Ver también

  • maxdb_fetch_array() - Fetch a result row as an associative, a numeric array, or both
  • maxdb_fetch_row() - Get a result row as an enumerated array
  • maxdb_fetch_resource()

maxdb_fetch_array
maxdb_fetch_field_direct
Funciones de MaxDB


Fetch meta-data for a single field

maxdb_fetch_assoc
maxdb_fetch_field
Funciones de MaxDB
PHP Manual

maxdb_fetch_field_direct

maxdb_result::fetch_field_direct

(PECL maxdb >= 1.0)

maxdb_fetch_field_direct -- maxdb_result::fetch_field_direct — Fetch meta-data for a single field

Descripción

Estilo por procedimientos

mixed maxdb_fetch_field_direct ( resource $result , int $fieldnr )

Estilo orientado a objetos

mixed maxdb_result::fetch_field_direct ( int $fieldnr )

maxdb_fetch_field_direct() returns an resource which contains field definition information from specified resultset. The value of fieldnr must be in the range from 0 to number of fields - 1.

Valores devueltos

Returns an resource which contains field definition information or FALSE if no field information for specified fieldnr is available.

Object attributes
Attribute | Description
name | The name of the column
max_length | The maximum width of the field for the result set.
type | The data type used for this field
decimals | The number of decimals used (for integer fields)

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY name";

if ($result = $maxdb->query($query)) {

   /* Get field information for column 'SurfaceArea' */
   $finfo = $result->fetch_field_direct(1);

   printf("Name:     %s\n", $finfo->name);
   printf("Table:    %s\n", $finfo->table);
   printf("max. Len: %d\n", $finfo->max_length);
   printf("Flags:    %d\n", $finfo->flags);
   printf("Type:     %d\n", $finfo->type);

   $result->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY name";

if ($result = maxdb_query($link, $query)) {

   /* Get field information for column 'cno' */
   $finfo = maxdb_fetch_field_direct($result, 1);

   printf("Name:     %s\n", $finfo->name);
   printf("Table:    %s\n", $finfo->table);
   printf("max. Len: %d\n", $finfo->max_length);
   printf("Flags:    %d\n", $finfo->flags);
   printf("Type:     %d\n", $finfo->type);

   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Name:     CNO
Table:
max. Len: 4
Flags:    -1
Type:     0

Ver también

  • maxdb_num_fields() - Get the number of fields in a result
  • maxdb_fetch_field() - Returns the next field in the result set
  • maxdb_fetch_fields() - Returns an array of resources representing the fields in a result set

maxdb_fetch_assoc
maxdb_fetch_field
Funciones de MaxDB


Returns the next field in the result set

maxdb_fetch_field_direct
maxdb_fetch_fields
Funciones de MaxDB
PHP Manual

maxdb_fetch_field

maxdb_result::fetch_field

(PECL maxdb >= 1.0)

maxdb_fetch_field -- maxdb_result::fetch_field — Returns the next field in the result set

Descripción

Estilo por procedimientos

mixed maxdb_fetch_field ( resource $result )

Estilo orientado a objetos

mixed maxdb_result::fetch_field ( void )

The maxdb_fetch_field() returns the definition of one column of a result set as an resource. Call this function repeatedly to retrieve information about all columns in the result set. maxdb_fetch_field() returns FALSE when no more fields are left.

Valores devueltos

Returns an resource which contains field definition information or FALSE if no field information is available.

Object properties
Property | Description
name | The name of the column
max_length | The maximum width of the field for the result set.
type | The data type used for this field
decimals | The number of decimals used (for integer fields)

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = $maxdb->query($query)) {

   /* Get field information for all columns */
   while ($finfo = $result->fetch_field()) {

       printf("Name:     %s\n", $finfo->name);
       printf("Table:    %s\n", $finfo->table);
       printf("max. Len: %d\n", $finfo->max_length);
       printf("Flags:    %d\n", $finfo->flags);
       printf("Type:     %d\n\n", $finfo->type);
   }
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = maxdb_query($link, $query)) {

   /* Get field information for all fields */
   while ($finfo = maxdb_fetch_field($result)) {

       printf("Name:     %s\n", $finfo->name);
       printf("Table:    %s\n", $finfo->table);
       printf("max. Len: %d\n", $finfo->max_length);
       printf("Flags:    %d\n", $finfo->flags);
       printf("Type:     %d\n\n", $finfo->type);
   }
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Name:     NAME
Table:
max. Len: 10
Flags:    -1
Type:     2

Name:     CNO
Table:
max. Len: 4
Flags:    -1
Type:     0

Ver también

  • maxdb_num_fields() - Get the number of fields in a result
  • maxdb_fetch_field_direct() - Fetch meta-data for a single field
  • maxdb_fetch_fields() - Returns an array of resources representing the fields in a result set
  • maxdb_field_seek() - Set result pointer to a specified field offset

maxdb_fetch_field_direct
maxdb_fetch_fields
Funciones de MaxDB


Returns an array of resources representing the fields in a result set

maxdb_fetch_field
maxdb_fetch_lengths
Funciones de MaxDB
PHP Manual

maxdb_fetch_fields

maxdb_result::fetch_fields

(PECL maxdb >= 1.0)

maxdb_fetch_fields -- maxdb_result::fetch_fields — Returns an array of resources representing the fields in a result set

Descripción

Estilo por procedimientos

mixed maxdb_fetch_fields ( resource $result )

Estilo orientado a objetos

mixed maxdb_result::fetch_fields ( void )

This function serves an identical purpose to the maxdb_fetch_field() function with the single difference that, instead of returning one resource at a time for each field, the columns are returned as an array of resources.

Valores devueltos

Returns an array of resources which contains field definition information or FALSE if no field information is available.

Object properties
Property | Description
name | The name of the column
max_length | The maximum width of the field for the result set.
type | The data type used for this field
decimals | The number of decimals used (for integer fields)

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = $maxdb->query($query)) {

   /* Get field information for all columns */
   $finfo = $result->fetch_fields();

   foreach ($finfo as $val) {
       printf("Name:     %s\n", $val->name);
       printf("Table:    %s\n", $val->table);
       printf("max. Len: %d\n", $val->max_length);
       printf("Flags:    %d\n", $val->flags);
       printf("Type:     %d\n\n", $val->type);
   }
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = maxdb_query($link, $query)) {

   /* Get field information for all columns */
   $finfo = maxdb_fetch_fields($result);

   foreach ($finfo as $val) {
       printf("Name:     %s\n", $val->name);
       printf("Table:    %s\n", $val->table);
       printf("max. Len: %d\n", $val->max_length);
       printf("Flags:    %d\n", $val->flags);
       printf("Type:     %d\n\n", $val->type);
   }
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Name:     NAME
Table:
max. Len: 10
Flags:    -1
Type:     2

Name:     CNO
Table:
max. Len: 4
Flags:    -1
Type:     0

Ver también

  • maxdb_num_fields() - Get the number of fields in a result
  • maxdb_fetch_field() - Returns the next field in the result set
  • maxdb_fetch_field_direct() - Fetch meta-data for a single field

maxdb_fetch_field
maxdb_fetch_lengths
Funciones de MaxDB


Returns the lengths of the columns of the current row in the result set

maxdb_fetch_fields
maxdb_fetch_object
Funciones de MaxDB
PHP Manual

maxdb_fetch_lengths

maxdb_result::lengths

(PECL maxdb >= 1.0)

maxdb_fetch_lengths -- maxdb_result::lengths — Returns the lengths of the columns of the current row in the result set

Descripción

Estilo por procedimientos

array maxdb_fetch_lengths ( resource $result )

Estilo orientado a objetos

array $maxdb_result->lengths;

The maxdb_fetch_lengths() function returns an array containing the lengths of every column of the current row within the result set represented by the result parameter. If successful, a numerically indexed array representing the lengths of each column is returned o FALSE en caso de error.

Valores devueltos

An array of integers representing the size of each column (not including any terminating null characters). FALSE if an error occurred.

maxdb_fetch_lengths() is valid only for the current row of the result set. It returns FALSE if you call it before calling maxdb_fetch_row/array/resource or after retrieving all rows in the result.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT * from hotel.customer WHERE cno = 3000";

if ($result = $maxdb->query($query)) {

   $row = $result->fetch_row();

   /* display column lengths */
   foreach ($result->lengths as $i => $val) {
       printf("Field %2d has Length %2d\n", $i+1, $val);
   }
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT * from hotel.customer WHERE cno = 3000";

if ($result = maxdb_query($link, $query)) {

   $row = maxdb_fetch_row($result);

   /* display column lengths */
   foreach (maxdb_fetch_lengths($result) as $i => $val) {
       printf("Field %2d has Length %2d\n", $i+1, $val);
   }
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Field  1 has Length  4
Field  2 has Length  3
Field  3 has Length  5
Field  4 has Length  6
Field  5 has Length  5
Field  6 has Length 21
maxdb_fetch_fields
maxdb_fetch_object
Funciones de MaxDB


Returns the current row of a result set as an object

maxdb_fetch_lengths
maxdb_fetch_row
Funciones de MaxDB
PHP Manual

maxdb_fetch_object

maxdb_result::fetch_object

(PECL maxdb >= 1.0)

maxdb_fetch_object -- maxdb_result::fetch_object — Returns the current row of a result set as an object

Descripción

Estilo por procedimientos

object maxdb_fetch_object ( object $result )

Estilo orientado a objetos

object maxdb_result::fetch_object ( void )

The maxdb_fetch_object() will return the current row result set as an object where the attributes of the object represent the names of the fields found within the result set. If no more rows exist in the current result set, NULL is returned.

Valores devueltos

Returns an object that corresponds to the fetched row or NULL if there are no more rows in resultset.

Nota: Los nombres de los campos devueltos por esta función son sensibles a mayúsculas y minúsculas.

Nota: Esta función define campos NULOS al valor NULL de PHP.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = $maxdb->query($query)) {

   /* fetch object array */
   while ($obj = $result->fetch_object()) {
       printf ("%s (%s)\n", $obj->NAME, $obj->STATE);
   }

   /* free result set */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = maxdb_query($link, $query)) {

   /* fetch object array */
   while ($obj = maxdb_fetch_object($result)) {
       printf ("%s (%s)\n", $obj->NAME, $obj->STATE);
   }

   /* free result set */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

New York (NY)
New York (NY)
Long Island (NY)
Albany (NY)
Washington (DC)
Washington (DC)
Washington (DC)
Silver Spring (MD)
Daytona Beach (FL)
Deerfield Beach (FL)
Clearwater (FL)
Cincinnati (OH)
Detroit (MI)
Rosemont (IL)
Chicago (IL)
Chicago (IL)
New Orleans (LA)
Dallas (TX)
Los Angeles (CA)
Hollywood (CA)
Long Beach (CA)
Palm Springs (CA)
Irvine (CA)
Santa Clara (CA)
Portland (OR)

Ver también

  • maxdb_fetch_array() - Fetch a result row as an associative, a numeric array, or both
  • maxdb_fetch_assoc() - Fetch a result row as an associative array
  • maxdb_fetch_row() - Get a result row as an enumerated array

maxdb_fetch_lengths
maxdb_fetch_row
Funciones de MaxDB


Get a result row as an enumerated array

maxdb_fetch_object
maxdb_fetch
Funciones de MaxDB
PHP Manual

maxdb_fetch_row

maxdb_result::fetch_row

(PECL maxdb >= 1.0)

maxdb_fetch_row -- maxdb_result::fetch_row — Get a result row as an enumerated array

Descripción

Estilo por procedimientos

mixed maxdb_fetch_row ( resource $result )

Estilo orientado a objetos

mixed maxdb_result::fetch_row ( void )

Returns an array that corresponds to the fetched row, or NULL if there are no more rows.

maxdb_fetch_row() fetches one row of data from the result set represented by result and returns it as an enumerated array, where each column is stored in an array offset starting from 0 (zero). Each subsequent call to the maxdb_fetch_row() function will return the next row within the result set, or FALSE if there are no more rows.

Valores devueltos

maxdb_fetch_row() returns an array that corresponds to the fetched row or NULL if there are no more rows in result set.

Nota: Esta función define campos NULOS al valor NULL de PHP.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = $maxdb->query($query)) {

   /* fetch enumerated array */
   while ($row = $result->fetch_row()) {
       printf ("%s (%s)\n", $row[0], $row[1]);
   }

   /* free result set */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = maxdb_query($link, $query)) {

   /* fetch enumerated array */
   while ($row = maxdb_fetch_row($result)) {
       printf ("%s (%s)\n", $row[0], $row[1]);
   }

   /* free result set */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

New York (NY)
New York (NY)
Long Island (NY)
Albany (NY)
Washington (DC)
Washington (DC)
Washington (DC)
Silver Spring (MD)
Daytona Beach (FL)
Deerfield Beach (FL)
Clearwater (FL)
Cincinnati (OH)
Detroit (MI)
Rosemont (IL)
Chicago (IL)
Chicago (IL)
New Orleans (LA)
Dallas (TX)
Los Angeles (CA)
Hollywood (CA)
Long Beach (CA)
Palm Springs (CA)
Irvine (CA)
Santa Clara (CA)
Portland (OR)

Ver también

  • maxdb_fetch_array() - Fetch a result row as an associative, a numeric array, or both
  • maxdb_fetch_assoc() - Fetch a result row as an associative array
  • maxdb_fetch_resource()

maxdb_fetch_object
maxdb_fetch
Funciones de MaxDB


Alias de maxdb_stmt_fetch

maxdb_fetch_row
maxdb_field_count
Funciones de MaxDB
PHP Manual

maxdb_fetch

(PECL maxdb 1.0)

maxdb_fetch — Alias de maxdb_stmt_fetch()

Descripción

Esta función es un alias de: maxdb_stmt_fetch().

Esta función alias está obsoleta y sólo existe por razones de compatibilidad con versiones anteriores. El uso de esta función no es recomendado, y puede ser eliminado de PHP en futuras versiones.

maxdb_fetch_row
maxdb_field_count
Funciones de MaxDB


Returns the number of columns for the most recent query

maxdb_fetch
maxdb_field_seek
Funciones de MaxDB
PHP Manual

maxdb_field_count

maxdb::field_count

(PECL maxdb >= 1.0)

maxdb_field_count -- maxdb::field_count — Returns the number of columns for the most recent query

Descripción

Estilo por procedimientos

int maxdb_field_count ( resource $link )

Estilo orientado a objetos

int maxdb::field_count ( void )

Returns the number of columns for the most recent query on the connection represented by the link parameter. This function can be useful when using the maxdb_store_result() function to determine if the query should have produced a non-empty result set or not without knowing the nature of the query.

Valores devueltos

An integer representing the number of fields in a result set.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

maxdb_report (MAXDB_REPORT_OFF);
$maxdb->query("DROP TABLE friends");
maxdb_report (MAXDB_REPORT_ERROR);

$maxdb->query( "CREATE TABLE friends (id int, name varchar(20))");

$maxdb->query( "INSERT INTO friends VALUES (1,'Hartmut')");
$maxdb->query( "INSERT INTO friends VALUES (2, 'Ulf')");

if ($maxdb->field_count()) {
   /* this was a select/show or describe query */
   $result = $maxdb->store_result();

   /* process resultset */
   $row = $result->fetch_row();

   /* free resultset */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP TABLE friends");
maxdb_report (MAXDB_REPORT_ERROR);

maxdb_query($link, "CREATE TABLE friends (id int, name varchar(20))");

maxdb_query($link, "INSERT INTO friends VALUES (1,'Hartmut')");
maxdb_query($link, "INSERT INTO friends VALUES (2, 'Ulf')");

if (maxdb_field_count($link)) {
   /* this was a select/show or describe query */
   $result = maxdb_store_result($link);

   /* process resultset */
   $row = maxdb_fetch_row($result);

   /* free resultset */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

The above example produces no output.

maxdb_fetch
maxdb_field_seek
Funciones de MaxDB


Set result pointer to a specified field offset

maxdb_field_count
maxdb_field_tell
Funciones de MaxDB
PHP Manual

maxdb_field_seek

maxdb_result::field_seek

(PECL maxdb >= 1.0)

maxdb_field_seek -- maxdb_result::field_seek — Set result pointer to a specified field offset

Descripción

Estilo por procedimientos

bool maxdb_field_seek ( resource $result , int $fieldnr )

Estilo orientado a objetos

bool maxdb_result::field_seek ( int $fieldnr )

Sets the field cursor to the given offset. The next call to maxdb_fetch_field() will retrieve the field definition of the column associated with that offset.

Nota:

To seek to the beginning of a row, pass an offset value of zero.

Valores devueltos

maxdb_field_seek() returns previuos value of field cursor.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = $maxdb->query($query)) {

   /* Get field information for 2nd column */
   $result->field_seek(1);
   $finfo = $result->fetch_field();

   printf("Name:     %s\n", $finfo->name);
   printf("Table:    %s\n", $finfo->table);
   printf("max. Len: %d\n", $finfo->max_length);
   printf("Flags:    %d\n", $finfo->flags);
   printf("Type:     %d\n\n", $finfo->type);

   $result->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = maxdb_query($link, $query)) {

   /* Get field information for 2nd column */
   maxdb_field_seek($result, 1);
   $finfo = maxdb_fetch_field($result);

   printf("Name:     %s\n", $finfo->name);
   printf("Table:    %s\n", $finfo->table);
   printf("max. Len: %d\n", $finfo->max_length);
   printf("Flags:    %d\n", $finfo->flags);
   printf("Type:     %d\n\n", $finfo->type);

   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Name:     NAME
Table:
max. Len: 10
Flags:    -1
Type:     2

Ver también

  • maxdb_fetch_field() - Returns the next field in the result set

maxdb_field_count
maxdb_field_tell
Funciones de MaxDB


Get current field offset of a result pointer

maxdb_field_seek
maxdb_free_result
Funciones de MaxDB
PHP Manual

maxdb_field_tell

maxdb_result::current_field

(PECL maxdb >= 1.0)

maxdb_field_tell -- maxdb_result::current_field — Get current field offset of a result pointer

Descripción

Estilo por procedimientos

int maxdb_field_tell ( resource $result )

Estilo orientado a objetos

int $maxdb_result->current_field;

Returns the position of the field cursor used for the last maxdb_fetch_field() call. This value can be used as an argument to maxdb_field_seek().

Valores devueltos

Returns current offset of field cursor.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = $maxdb->query($query)) {

   /* Get field information for all columns */
   while ($finfo = $result->fetch_field()) {

       /* get fieldpointer offset */
       $currentfield = $result->current_field;

       printf("Column    %d:\n", $currentfield);
       printf("Name:     %s\n", $finfo->name);
       printf("Table:    %s\n", $finfo->table);
       printf("max. Len: %d\n", $finfo->max_length);
       printf("Flags:    %d\n", $finfo->flags);
       printf("Type:     %d\n\n", $finfo->type);
   }
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = maxdb_query($link, $query)) {

   /* Get field information for all fields */
   while ($finfo = maxdb_fetch_field($result)) {

       /* get fieldpointer offset */
       $currentfield = maxdb_field_tell($result);

       printf("Column    %d:\n", $currentfield);
       printf("Name:     %s\n", $finfo->name);
       printf("Table:    %s\n", $finfo->table);
       printf("max. Len: %d\n", $finfo->max_length);
       printf("Flags:    %d\n", $finfo->flags);
       printf("Type:     %d\n\n", $finfo->type);
   }
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Column    1:
Name:     NAME
Table:
max. Len: 10
Flags:    -1
Type:     2

Column    2:
Name:     CNO
Table:
max. Len: 4
Flags:    -1
Type:     0

Ver también

  • maxdb_fetch_field() - Returns the next field in the result set
  • maxdb_field_seek() - Set result pointer to a specified field offset

maxdb_field_seek
maxdb_free_result
Funciones de MaxDB


Frees the memory associated with a result

maxdb_field_tell
maxdb_get_client_info
Funciones de MaxDB
PHP Manual

maxdb_free_result

maxdb_result::free

(PECL maxdb >= 1.0)

maxdb_free_result -- maxdb_result::free — Frees the memory associated with a result

Descripción

Estilo por procedimientos

void maxdb_free_result ( resource $result )

Estilo orientado a objetos

void maxdb_result::free ( void )

The maxdb_free_result() function frees the memory associated with the result represented by the result parameter, which was allocated by maxdb_query(), maxdb_store_result() or maxdb_use_result().

Nota:

You should always free your result with maxdb_free_result(), when your result resource is not needed anymore.

Valores devueltos

This function doesn't return any value.

Ver también

  • maxdb_query() - Performs a query on the database
  • maxdb_stmt_store_result() - Transfers a result set from a prepared statement
  • maxdb_store_result() - Transfers a result set from the last query
  • maxdb_use_result() - Initiate a result set retrieval

maxdb_field_tell
maxdb_get_client_info
Funciones de MaxDB


Returns the MaxDB client version as a string

maxdb_free_result
maxdb_get_client_version
Funciones de MaxDB
PHP Manual

maxdb_get_client_info

(PECL maxdb >= 1.0)

maxdb_get_client_info — Returns the MaxDB client version as a string

Descripción

string maxdb_get_client_info ( void )

The maxdb_get_client_info() function is used to return a string representing the client version being used in the MaxDB extension.

Valores devueltos

A string that represents the MaxDB client library version

Ejemplos

Ejemplo #1 maxdb_get_client_info

<?php

/* We don't need a connection to determine
   the version of MaxDB client library */

printf("Client library version: %s\n", maxdb_get_client_info());
?>

El resultado del ejemplo sería algo similar a:

Client library version: libSQLDBC <...>

Ver también

  • maxdb_get_client_version() - Get MaxDB client info
  • maxdb_get_server_info() - Returns the version of the MaxDB server
  • maxdb_get_server_version() - Returns the version of the MaxDB server as an integer

maxdb_free_result
maxdb_get_client_version
Funciones de MaxDB


Get MaxDB client info

maxdb_get_client_info
maxdb_get_host_info
Funciones de MaxDB
PHP Manual

maxdb_get_client_version

(PECL maxdb >= 1.0)

maxdb_get_client_version — Get MaxDB client info

Descripción

int maxdb_get_client_version ( void )

Returns client version number as an integer.

Valores devueltos

A number that represents the MaxDB client library version in format: main_version*10000 + minor_version *100 + sub_version. For example, 7.5.0 is returned as 70500.

This is useful to quickly determine the version of the client library to know if some capability exists.

Ejemplos

Ejemplo #1 maxdb_get_client_version

<?php

/* We don't need a connection to determine
   the version of MaxDB client library */

printf("Client library version: %d\n", maxdb_get_client_version());
?>

El resultado del ejemplo sería algo similar a:

Client library version: 7.<...>

Ver también

  • maxdb_get_client_info() - Returns the MaxDB client version as a string
  • maxdb_get_server_info() - Returns the version of the MaxDB server
  • maxdb_get_server_version() - Returns the version of the MaxDB server as an integer

maxdb_get_client_info
maxdb_get_host_info
Funciones de MaxDB


Returns a string representing the type of connection used

maxdb_get_client_version
maxdb_get_metadata
Funciones de MaxDB
PHP Manual

maxdb_get_host_info

maxdb::get_host_info

(PECL maxdb >= 1.0)

maxdb_get_host_info -- maxdb::get_host_info — Returns a string representing the type of connection used

Descripción

Estilo por procedimientos

string maxdb_get_host_info ( resource $link )

Estilo orientado a objetos

string $maxdb->host_info;

The maxdb_get_host_info() function returns a string describing the connection represented by the link parameter is using.

Valores devueltos

A character string representing the server hostname and the connection type.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print host information */
printf("Host info: %s\n", $maxdb->host_info);

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print host information */
printf("Host info: %s\n", maxdb_get_host_info($link));

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Host info: localhost

Ver también

  • maxdb_get_proto_info() - Returns the version of the MaxDB protocol used

maxdb_get_client_version
maxdb_get_metadata
Funciones de MaxDB


Alias de maxdb_stmt_result_metadata

maxdb_get_host_info
maxdb_get_proto_info
Funciones de MaxDB
PHP Manual

maxdb_get_metadata

(PECL maxdb 1.0)

maxdb_get_metadata — Alias de maxdb_stmt_result_metadata()

Descripción

Esta función es un alias de: maxdb_stmt_result_metadata().

Esta función alias está obsoleta y sólo existe por razones de compatibilidad con versiones anteriores. El uso de esta función no es recomendado, y puede ser eliminado de PHP en futuras versiones.

maxdb_get_host_info
maxdb_get_proto_info
Funciones de MaxDB


Returns the version of the MaxDB protocol used

maxdb_get_metadata
maxdb_get_server_info
Funciones de MaxDB
PHP Manual

maxdb_get_proto_info

maxdb::protocol_version

(PECL maxdb >= 1.0)

maxdb_get_proto_info -- maxdb::protocol_version — Returns the version of the MaxDB protocol used

Descripción

Estilo por procedimientos

int maxdb_get_proto_info ( resource $link )

Estilo orientado a objetos

string $maxdb->protocol_version;

Returns an integer representing the MaxDB protocol version used by the connection represented by the link parameter.

Valores devueltos

Returns an integer representing the protocol version (constant 10).

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print protocol version */
printf("Protocol version: %d\n", $maxdb->protocol_version);

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print protocol version */
printf("Protocol version: %d\n", maxdb_get_proto_info($link));

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Protocol version: 10

Ver también

  • maxdb_get_host_info() - Returns a string representing the type of connection used

maxdb_get_metadata
maxdb_get_server_info
Funciones de MaxDB


Returns the version of the MaxDB server

maxdb_get_proto_info
maxdb_get_server_version
Funciones de MaxDB
PHP Manual

maxdb_get_server_info

maxdb::server_info

(PECL maxdb >= 1.0)

maxdb_get_server_info -- maxdb::server_info — Returns the version of the MaxDB server

Descripción

Estilo por procedimientos

string maxdb_get_server_info ( resource $link )

Estilo orientado a objetos

string $maxdb->server_info;

Returns a string representing the version of the MaxDB server that the MaxDB extension is connected to (represented by the link parameter).

Valores devueltos

A character string representing the server version.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print server version */
printf("Server version: %s\n", $maxdb->server_info);

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print server version */
printf("Server version: %s\n", maxdb_get_server_info($link));

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Server version: Kernel    7<...>

Ver también

  • maxdb_get_client_info() - Returns the MaxDB client version as a string
  • maxdb_get_client_version() - Get MaxDB client info
  • maxdb_get_server_version() - Returns the version of the MaxDB server as an integer

maxdb_get_proto_info
maxdb_get_server_version
Funciones de MaxDB


Returns the version of the MaxDB server as an integer

maxdb_get_server_info
maxdb_info
Funciones de MaxDB
PHP Manual

maxdb_get_server_version

maxdb::server_version

(PECL maxdb >= 1.0)

maxdb_get_server_version -- maxdb::server_version — Returns the version of the MaxDB server as an integer

Descripción

Estilo por procedimientos

int maxdb_get_server_version ( resource $link )

Estilo orientado a objetos

int $maxdb->server_version;

The maxdb_get_server_version() function returns the version of the server connected to (represented by the link parameter) as an integer.

The form of this version number is main_version * 10000 + minor_version * 100 + sub_version (i.e. version 7.5.0 is 70500).

Valores devueltos

An integer representing the server version.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print server version */
printf("Server version: %d\n", $maxdb->server_version);

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print server version */
printf("Server version: %d\n", maxdb_get_server_version($link));

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Server version: 7<...>

Ver también

  • maxdb_get_client_info() - Returns the MaxDB client version as a string
  • maxdb_get_client_version() - Get MaxDB client info
  • maxdb_get_server_info() - Returns the version of the MaxDB server

maxdb_get_server_info
maxdb_info
Funciones de MaxDB


Retrieves information about the most recently executed query

maxdb_get_server_version
maxdb_init
Funciones de MaxDB
PHP Manual

maxdb_info

maxdb::info

(PECL maxdb >= 1.0)

maxdb_info -- maxdb::info — Retrieves information about the most recently executed query

Descripción

Estilo por procedimientos

string maxdb_info ( resource $link )

Estilo orientado a objetos

string $maxdb->info;

The maxdb_info() function returns a string providing information about the last query executed. The nature of this string is provided below:

Possible maxdb_info return values
Query type | Example result string
INSERT INTO...SELECT... | Records: 100 Duplicates: 0 Warnings: 0
INSERT INTO...VALUES (...),(...),(...) | Records: 3 Duplicates: 0 Warnings: 0
LOAD DATA INFILE ... | Records: 1 Deleted: 0 Skipped: 0 Warnings: 0
ALTER TABLE ... | Records: 3 Duplicates: 0 Warnings: 0
UPDATE ... | Rows matched: 40 Changed: 40 Warnings: 0

Nota:

Queries which do not fall into one of the above formats are not supported. In these situations, maxdb_info() will return an empty string.

Valores devueltos

A character string representing additional information about the most recently executed query.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.t1 LIKE hotel.city");

/* INSERT INTO .. SELECT */
$maxdb->query("INSERT INTO temp.t1 SELECT * FROM hotel.city");
printf("%s\n", $maxdb->info);

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.t1 LIKE hotel.city");

/* INSERT INTO .. SELECT */
maxdb_query($link, "INSERT INTO temp.t1 SELECT * FROM hotel.city");
printf("%s\n", maxdb_info($link));

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Records: 25 Duplicates: 0 Warnings: 0

Ver también

  • maxdb_affected_rows() - Gets the number of affected rows in a previous MaxDB operation
  • maxdb_warning_count() - Returns the number of warnings from the last query for the given link
  • maxdb_num_rows() - Gets the number of rows in a result

maxdb_get_server_version
maxdb_init
Funciones de MaxDB


Initializes MaxDB and returns an resource for use with maxdb_real_connect

maxdb_info
maxdb_insert_id
Funciones de MaxDB
PHP Manual

maxdb_init

(PECL maxdb >= 1.0)

maxdb_init — Initializes MaxDB and returns an resource for use with maxdb_real_connect

Descripción

resource maxdb_init ( void )

Allocates or initializes a MaxDB resource suitable for maxdb_options() and maxdb_real_connect().

Nota:

Any subsequent calls to any maxdb function (except maxdb_options()) will fail until maxdb_real_connect() was called.

Valores devueltos

Returns an resource.

Ver también

  • maxdb_options() - Set options
  • maxdb_close() - Cierra una conexión de base de datos previamente abierta
  • maxdb_real_connect() - Opens a connection to a MaxDB server
  • maxdb_connect() - Open a new connection to the MaxDB server

maxdb_info
maxdb_insert_id
Funciones de MaxDB


Returns the auto generated id used in the last query

maxdb_init
maxdb_kill
Funciones de MaxDB
PHP Manual

maxdb_insert_id

maxdb::insert_id

(PECL maxdb >= 1.0)

maxdb_insert_id -- maxdb::insert_id — Returns the auto generated id used in the last query

Descripción

Estilo por procedimientos

mixed maxdb_insert_id ( resource $link )

Estilo orientado a objetos

mixed $maxdb->insert_id;

The maxdb_insert_id() function returns the ID generated by a query on a table with a column having the DEFAULT SERIAL attribute. If the last query wasn't an INSERT or UPDATE statement or if the modified table does not have a column with the DEFAULT SERIAL attribute, this function will return zero.

Valores devueltos

The value of the DEFAULT SERIAL field that was updated by the previous query. Returns zero if there was no previous query on the connection or if the query did not update an DEFAULT_SERIAL value.

Nota:

If the number is greater than maximal int value, maxdb_insert_id() will return a string.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
$maxdb->query("DROP TABLE mycity");
maxdb_report (MAXDB_REPORT_ERROR);

$maxdb->query("CREATE TABLE mycity LIKE hotel.city");
$maxdb->query("ALTER TABLE mycity ADD id FIXED(11) DEFAULT SERIAL");

$query = "INSERT INTO mycity (zip,name,state) VALUES ('12203','Albany' ,'NY')";
$maxdb->query($query);

printf ("New Record has id %d.\n", $maxdb->insert_id);

/* drop table */
$maxdb->query("DROP TABLE mycity");

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP TABLE mycity");
maxdb_report (MAXDB_REPORT_ERROR);

maxdb_query($link, "CREATE TABLE mycity LIKE hotel.city");
maxdb_query($link, "ALTER TABLE mycity ADD id FIXED(11) DEFAULT SERIAL");

$query = "INSERT INTO mycity (zip,name,state) VALUES ('12203','Albany' ,'NY')";
maxdb_query($link, $query);

printf ("New Record has id %d.\n", maxdb_insert_id($link));

/* drop table */
maxdb_query($link, "DROP TABLE mycity");

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

New Record has id 1.
maxdb_init
maxdb_kill
Funciones de MaxDB


Disconnects from a MaxDB server

maxdb_insert_id
maxdb_master_query
Funciones de MaxDB
PHP Manual

maxdb_kill

maxdb::kill

(PECL maxdb >= 1.0)

maxdb_kill -- maxdb::kill — Disconnects from a MaxDB server

Descripción

Estilo por procedimientos

bool maxdb_kill ( resource $link , int $processid )

Estilo orientado a objetos

bool maxdb::kill ( int $processid )

This function is used to disconnect from a MaxDB server specified by the processid parameter.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* determine our thread id */
$thread_id = $maxdb->thread_id;

/* Kill connection */
$maxdb->kill($thread_id);

/* This should produce an error */
if (!$maxdb->query("CREATE TABLE myCity LIKE City")) {
   printf("Error: %s\n", $maxdb->error);
   exit;
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* determine our thread id */
$thread_id = maxdb_thread_id($link);

/* Kill connection */
maxdb_kill($link, $thread_id);

/* This should produce an error */
if (!maxdb_query($link, "CREATE TABLE myCity LIKE City")) {
   printf("Error: %s\n", maxdb_error($link));
   exit;
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Error: Session not connected

Ver también

  • maxdb_thread_id() - Returns the thread ID for the current connection

maxdb_insert_id
maxdb_master_query
Funciones de MaxDB


Enforce execution of a query on the master in a master/slave setup

maxdb_kill
maxdb_more_results
Funciones de MaxDB
PHP Manual

maxdb_master_query

(PECL maxdb >= 1.0)

maxdb_master_query — Enforce execution of a query on the master in a master/slave setup

Descripción

bool maxdb_master_query ( resource $link , string $query )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

maxdb_kill
maxdb_more_results
Funciones de MaxDB


Check if there any more query results from a multi query

maxdb_master_query
maxdb_multi_query
Funciones de MaxDB
PHP Manual

maxdb_more_results

maxdb::more_results

(PECL maxdb >= 1.0)

maxdb_more_results -- maxdb::more_results — Check if there any more query results from a multi query

Descripción

bool maxdb_more_results ( resource $link )

maxdb_more_results() indicates if one or more result sets are available from a previous call to maxdb_multi_query().

Valores devueltos

Always FALSE.

Ejemplos

See maxdb_multi_query().

Ver también

  • maxdb_multi_query() - Performs a query on the database
  • maxdb_next_result() - Prepare next result from multi_query
  • maxdb_store_result() - Transfers a result set from the last query
  • maxdb_use_result() - Initiate a result set retrieval

maxdb_master_query
maxdb_multi_query
Funciones de MaxDB


Performs a query on the database

maxdb_more_results
maxdb_next_result
Funciones de MaxDB
PHP Manual

maxdb_multi_query

maxdb::multi_query

(PECL maxdb >= 1.0)

maxdb_multi_query -- maxdb::multi_query — Performs a query on the database

Descripción

Estilo por procedimientos

bool maxdb_multi_query ( resource $link , string $query )

Estilo orientado a objetos

bool maxdb::multi_query ( string $query )

The maxdb_multi_query() works like the function maxdb_query(). Multiple queries are not yet supported.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query  = "SELECT * FROM dual";

/* execute multi query */
if ($maxdb->multi_query($query)) {
   do {
       /* store first result set */
       if ($result = $maxdb->store_result()) {
           while ($row = $result->fetch_row()) {
               printf("%s\n", $row[0]);
           }
           $result->close();
       }
       /* print divider */
       if ($maxdb->more_results()) {
           printf("-----------------\n");
       }
   } while ($maxdb->next_result());
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT * FROM dual";

/* execute multi query */
if (maxdb_multi_query($link, $query)) {
   do {
       /* store first result set */
       if ($result = maxdb_store_result($link)) {
           while ($row = maxdb_fetch_row($result)) {
               printf("%s\n", $row[0]);
           }
           maxdb_free_result($result);
       }
       /* print divider */
       if (maxdb_more_results($link)) {
           printf("-----------------\n");
       }
   } while (maxdb_next_result($link));
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

a

Ver también

  • maxdb_use_result() - Initiate a result set retrieval
  • maxdb_store_result() - Transfers a result set from the last query
  • maxdb_next_result() - Prepare next result from multi_query
  • maxdb_more_results() - Check if there any more query results from a multi query

maxdb_more_results
maxdb_next_result
Funciones de MaxDB


Prepare next result from multi_query

maxdb_multi_query
maxdb_num_fields
Funciones de MaxDB
PHP Manual

maxdb_next_result

maxdb::next_result

(PECL maxdb >= 1.0)

maxdb_next_result -- maxdb::next_result — Prepare next result from multi_query

Descripción

bool maxdb_next_result ( resource $link )

Since multiple queries are not yet supported, maxdb_next_result() returns always FALSE.

Valores devueltos

Returns FALSE.

Ver también

  • maxdb_multi_query() - Performs a query on the database
  • maxdb_more_results() - Check if there any more query results from a multi query
  • maxdb_store_result() - Transfers a result set from the last query
  • maxdb_use_result() - Initiate a result set retrieval

maxdb_multi_query
maxdb_num_fields
Funciones de MaxDB


Get the number of fields in a result

maxdb_next_result
maxdb_num_rows
Funciones de MaxDB
PHP Manual

maxdb_num_fields

maxdb_result::field_count

(PECL maxdb >= 1.0)

maxdb_num_fields -- maxdb_result::field_count — Get the number of fields in a result

Descripción

Estilo por procedimientos

int maxdb_num_fields ( resource $result )

Estilo orientado a objetos

int $maxdb_result->field_count;

maxdb_num_fields() returns the number of fields from specified result set.

Valores devueltos

The number of fields from a result set

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = $maxdb->query("SELECT * FROM hotel.city ORDER BY zip")) {

   /* determine number of fields in result set */
   $field_cnt = $result->field_count;

   printf("Result set has %d fields.\n", $field_cnt);

   /* close result set */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = maxdb_query($link, "SELECT * FROM hotel.city ORDER BY zip")) {

   /* determine number of fields in result set */
   $field_cnt = maxdb_num_fields($result);

   printf("Result set has %d fields.\n", $field_cnt);

   /* close result set */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Result set has 3 fields.

Ver también

  • maxdb_fetch_field() - Returns the next field in the result set

maxdb_next_result
maxdb_num_rows
Funciones de MaxDB


Gets the number of rows in a result

maxdb_num_fields
maxdb_options
Funciones de MaxDB
PHP Manual

maxdb_num_rows

maxdb::num_rows

(PECL maxdb >= 1.0)

maxdb_num_rows -- maxdb::num_rows — Gets the number of rows in a result

Descripción

Estilo por procedimientos

int maxdb_num_rows ( resource $result )

Estilo orientado a objetos

int $maxdb->num_rows;

Returns the number of rows in the result set.

The use of maxdb_num_rows() depends on whether you use buffered or unbuffered result sets. In case you use unbuffered resultsets maxdb_num_rows() will not correct the correct number of rows until all the rows in the result have been retrieved.

Valores devueltos

Returns number of rows in the result set.

Nota:

If the number of rows is greater than maximal int value, the number will be returned as a string.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = $maxdb->query("SELECT cno, name FROM hotel.customer ORDER BY name")) {

   /* determine number of rows result set */
   $row_cnt = $result->num_rows;

   printf("Result set has %d rows.\n", $row_cnt);

   /* close result set */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = maxdb_query($link, "SELECT cno, name FROM hotel.customer ORDER BY name")) {

   /* determine number of rows result set */
   $row_cnt = maxdb_num_rows($result);

   printf("Result set has %d rows.\n", $row_cnt);

   /* close result set */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Result set has 15 rows.

Ver también

  • maxdb_affected_rows() - Gets the number of affected rows in a previous MaxDB operation
  • maxdb_store_result() - Transfers a result set from the last query
  • maxdb_use_result() - Initiate a result set retrieval
  • maxdb_query() - Performs a query on the database

maxdb_num_fields
maxdb_options
Funciones de MaxDB


Set options

maxdb_num_rows
maxdb_param_count
Funciones de MaxDB
PHP Manual

maxdb_options

maxdb::options

(PECL maxdb >= 1.0)

maxdb_options -- maxdb::options — Set options

Descripción

Estilo por procedimientos

bool maxdb_options ( resource $link , int $option , mixed $value )

Estilo orientado a objetos

bool maxdb::options ( int $option , mixed $value )

maxdb_options() can be used to set extra connect options and affect behavior for a connection.

This function may be called multiple times to set several options.

maxdb_options() should be called after maxdb_init() and before maxdb_real_connect().

The parameter option is the option that you want to set, the value is the value for the option. For detailed description of the options see » http://maxdb.sap.com/documentation/ The parameter option can be one of the following values:

Valid options
Name | Description
MAXDB_COMPNAME | The component name used to initialise the SQLDBC runtime environment.
MAXDB_APPLICATION | The application to be connected to the database.
MAXDB_APPVERSION | The version of the application.
MAXDB_SQLMODE | The SQL mode.
MAXDB_UNICODE | TRUE, if the connection is an unicode (UCS2) client or FALSE, if not.
MAXDB_TIMEOUT | The maximum allowed time of inactivity after which the connection to the database is closed by the system.
MAXDB_ISOLATIONLEVEL | Specifies whether and how shared locks and exclusive locks are implicitly requested or released.
MAXDB_PACKETCOUNT | The number of different request packets used for the connection.
MAXDB_STATEMENTCACHESIZE | The number of prepared statements to be cached for the connection for re-use.
MAXDB_CURSORPREFIX | The prefix to use for result tables that are automatically named.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

See maxdb_real_connect().

Ver también

  • maxdb_init() - Initializes MaxDB and returns an resource for use with maxdb_real_connect
  • maxdb_real_connect() - Opens a connection to a MaxDB server

maxdb_num_rows
maxdb_param_count
Funciones de MaxDB


Alias de maxdb_stmt_param_count

maxdb_options
maxdb_ping
Funciones de MaxDB
PHP Manual

maxdb_param_count

(PECL maxdb 1.0)

maxdb_param_count — Alias de maxdb_stmt_param_count()

Descripción

Esta función es un alias de: maxdb_stmt_param_count().

Esta función alias está obsoleta y sólo existe por razones de compatibilidad con versiones anteriores. El uso de esta función no es recomendado, y puede ser eliminado de PHP en futuras versiones.

maxdb_options
maxdb_ping
Funciones de MaxDB


Pings a server connection, or tries to reconnect if the connection has gone down

maxdb_param_count
maxdb_prepare
Funciones de MaxDB
PHP Manual

maxdb_ping

maxdb::ping

(PECL maxdb >= 1.0)

maxdb_ping -- maxdb::ping — Pings a server connection, or tries to reconnect if the connection has gone down

Descripción

Estilo por procedimientos

bool maxdb_ping ( resource $link )

Estilo orientado a objetos

bool maxdb::ping ( void )

Checks whether the connection to the server is working. If it has gone down, and global option maxdb.reconnect is enabled an automatic reconnection is attempted.

This function can be used by clients that remain idle for a long while, to check whether the server has closed the connection and reconnect if necessary.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* check if server is alive */
if ($maxdb->ping()) {
   printf ("Our connection is ok!\n");
} else {
   printf ("Error: %s\n", $maxdb->error);
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* check if server is alive */
if (maxdb_ping($link)) {
   printf ("Our connection is ok!\n");
} else {
   printf ("Error: %s\n", maxdb_error($link));
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Our connection is ok!
maxdb_param_count
maxdb_prepare
Funciones de MaxDB


Prepare an SQL statement for execution

maxdb_ping
maxdb_query
Funciones de MaxDB
PHP Manual

maxdb_prepare

maxdb::prepare

(PECL maxdb >= 1.0)

maxdb_prepare -- maxdb::prepare — Prepare an SQL statement for execution

Descripción

Estilo por procedimientos

resource maxdb_prepare ( resource $link , string $query )

Estilo orientado a objetos

maxdb_stmt maxdb::prepare ( string $query )

maxdb_prepare() prepares the SQL query pointed to by the null-terminated string query, and returns a statement handle to be used for further operations on the statement. The query must consist of a single SQL statement.

Nota:

You should not add a terminating semicolon or \g to the statement.

The parameter query can include one or more parameter markers in the SQL statement by embedding question mark (?) characters at the appropriate positions.

Nota:

The markers are legal only in certain places in SQL statements. For example, they are allowed in the VALUES() list of an INSERT statement (to specify column values for a row), or in a comparison with a column in a WHERE clause to specify a comparison value.

However, they are not allowed for identifiers (such as table or column names), in the select list that names the columns to be returned by a SELECT statement), or to specify both operands of a binary operator such as the = equal sign. The latter restriction is necessary because it would be impossible to determine the parameter type. In general, parameters are legal only in Data Manipulation Languange (DML) statements, and not in Data Defination Language (DDL) statements.

The parameter markers must be bound to application variables using maxdb_stmt_bind_param() and/or maxdb_stmt_bind_result() before executing the statement or fetching rows.

Valores devueltos

maxdb_prepare() returns a statement resource or FALSE if an error occurred.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$city = "Rosemont";

/* create a prepared statement */
if ($stmt = $maxdb->prepare("SELECT state FROM hotel.city WHERE name=?")) {

   /* bind parameters for markers */
   $stmt->bind_param("s", $city);

   /* execute query */
   $stmt->execute();

   /* bind result variables */
   $stmt->bind_result($district);

   /* fetch value */
   $stmt->fetch();

   printf("%s is in district %s\n", $city, $district);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$city = "Rosemont";

/* create a prepared statement */
if ($stmt = maxdb_prepare($link, "SELECT state FROM hotel.city WHERE name=?")) {

   /* bind parameters for markers */
   maxdb_stmt_bind_param($stmt, "s", $city);

   /* execute query */
   maxdb_stmt_execute($stmt);

  /* bind result variables */
   maxdb_stmt_bind_result($stmt, $district);

   /* fetch value */
   maxdb_stmt_fetch($stmt);

   printf("%s is in district %s\n", $city, $district);

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Rosemont is in district IL

Ver también

  • maxdb_stmt_execute() - Executes a prepared Query
  • maxdb_stmt_fetch() - Fetch results from a prepared statement into the bound variables
  • maxdb_stmt_bind_param() - Binds variables to a prepared statement as parameters
  • maxdb_stmt_bind_result() - Binds variables to a prepared statement for result storage
  • maxdb_stmt_close() - Closes a prepared statement

maxdb_ping
maxdb_query
Funciones de MaxDB


Performs a query on the database

maxdb_prepare
maxdb_real_connect
Funciones de MaxDB
PHP Manual

maxdb_query

maxdb::query

(PECL maxdb >= 1.0)

maxdb_query -- maxdb::query — Performs a query on the database

Descripción

Estilo por procedimientos

mixed maxdb_query ( resource $link , string $query [, int $resultmode ] )

Estilo orientado a objetos

mixed maxdb::query ( string $query )

The maxdb_query() function is used to simplify the act of performing a query against the database represented by the link parameter.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. For SELECT, SHOW, DESCRIBE or EXPLAIN maxdb_query() will return a result resource.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Create table doesn't return a resultset */
if ($maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city") === TRUE) {
   printf("Table mycity successfully created.\n");
}

/* Select queries return a resultset */
if ($result = $maxdb->query("SELECT name FROM hotel.city")) {
   printf("Select returned %d rows.\n", $result->num_rows);

   /* free result set */
   $result->close();
}

/* If we have to retrieve large amount of data we use MAXDB_USE_RESULT */
if ($result = $maxdb->query("SELECT * FROM hotel.city", MAXDB_USE_RESULT)) {
   $result->close();
}

$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Create table doesn't return a resultset */
if (maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city") === TRUE) {
   printf("Table mycity successfully created.\n");
}

/* Select queries return a resultset */
if ($result = maxdb_query($link, "SELECT name FROM hotel.city")) {
   printf("Select returned %d rows.\n", maxdb_num_rows($result));

   /* free result set */
   maxdb_free_result($result);
}

/* If we have to retrieve large amount of data we use MAXDB_USE_RESULT */
if ($result = maxdb_query($link, "SELECT * FROM hotel.city", MAXDB_USE_RESULT)) {
   maxdb_free_result($result);
}

maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Table mycity successfully created.
Select returned 25 rows.

Ver también

  • maxdb_real_query() - Execute an SQL query
  • maxdb_multi_query() - Performs a query on the database
  • maxdb_free_result() - Frees the memory associated with a result

maxdb_prepare
maxdb_real_connect
Funciones de MaxDB


Opens a connection to a MaxDB server

maxdb_query
maxdb_real_escape_string
Funciones de MaxDB
PHP Manual

maxdb_real_connect

maxdb::real_connect

(PECL maxdb >= 1.0)

maxdb_real_connect -- maxdb::real_connect — Opens a connection to a MaxDB server

Descripción

Estilo por procedimientos

bool maxdb_real_connect ( resource $link [, string $hostname [, string $username [, string $passwd [, string $dbname [, int $port = 0 [, string $socket ]]]]]] )

Estilo orientado a objetos

bool maxdb::real_connect ([ string $hostname [, string $username [, string $passwd [, string $dbname [, int $port = 0 [, string $socket ]]]]]] )

maxdb_real_connect() attempts to establish a connection to a MaxDB database engine running on hostname.

This function differs from maxdb_connect():

  • maxdb_real_connect() needs a valid resource which has to be created by function maxdb_init()

  • With function maxdb_options() you can set various options for connection.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

/* create a connection object which is not connected */
$maxdb = maxdb_init();

/* set connection options */
$maxdb->options(MAXDB_UNICODE, "FALSE");
$maxdb->options(MAXDB_TIMEOUT, 5);

/* connect to server */
$maxdb->real_connect('localhost', 'MONA', 'RED', 'DEMODB');

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf ("Connection: %s\n.", $maxdb->host_info);

$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php

/* create a connection object which is not connected */
$link = maxdb_init();

/* set connection options */
maxdb_options($link, MAXDB_UNICODE, "FALSE");
maxdb_options($link, MAXDB_TIMEOUT, 5);

/* connect to server */
maxdb_real_connect($link, 'localhost', 'MONA', 'RED', 'DEMODB');

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf ("Connection: %s\n.", maxdb_get_host_info($link));

maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Connection: localhost <...>

Ver también

  • maxdb_connect() - Open a new connection to the MaxDB server
  • maxdb_init() - Initializes MaxDB and returns an resource for use with maxdb_real_connect
  • maxdb_options() - Set options
  • maxdb_ssl_set() - Used for establishing secure connections using SSL
  • maxdb_close() - Cierra una conexión de base de datos previamente abierta

maxdb_query
maxdb_real_escape_string
Funciones de MaxDB


Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

maxdb_real_connect
maxdb_real_query
Funciones de MaxDB
PHP Manual

maxdb_real_escape_string

maxdb::real_escape_string

(PECL maxdb >= 1.0)

maxdb_real_escape_string -- maxdb::real_escape_string — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

Descripción

Estilo por procedimientos

string maxdb_real_escape_string ( resource $link , string $escapestr )

Estilo orientado a objetos

string maxdb::real_escape_string ( string $escapestr )

This function is used to create a legal SQL string that you can use in an SQL statement. The string escapestr is encoded to an escaped SQL string, taking into account the current character set of the connection.

Characters encoded are ', ".

Valores devueltos

Returns an escaped string.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");

$city = "'s Hertogenbosch";

/* this query will fail, cause we didn't escape $city */
if (!$maxdb->query("INSERT into temp.mycity VALUES ('11111','$city','NY')")) {
   printf("Error: %s\n", $maxdb->sqlstate);
}

$city = $maxdb->real_escape_string($city);

/* this query with escaped $city will work */
if ($maxdb->query("INSERT into temp.mycity VALUES ('22222','$city','NY')")) {
   printf("%d Row inserted.\n", $maxdb->affected_rows);
}

$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");

$city = "'s Hertogenbosch";

/* this query will fail, cause we didn't escape $city */
if (!maxdb_query($link, "INSERT into temp.mycity VALUES ('11111','$city','NY')")) {
   printf("Error: %s\n", maxdb_sqlstate($link));
}

$city = maxdb_real_escape_string($link, $city);

/* this query with escaped $city will work */
if (maxdb_query($link, "INSERT into temp.mycity VALUES ('22222','$city','NY')")) {
   printf("%d Row inserted.\n", maxdb_affected_rows($link));
}

maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Warning: maxdb_query(): -5016 POS(43) Missing delimiter: ) <...>
Error: 42000
1 Row inserted.

Ver también

  • maxdb_character_set_name() - Returns the default character set for the database connection

maxdb_real_connect
maxdb_real_query
Funciones de MaxDB


Execute an SQL query

maxdb_real_escape_string
maxdb_report
Funciones de MaxDB
PHP Manual

maxdb_real_query

maxdb::real_query

(PECL maxdb >= 1.0)

maxdb_real_query -- maxdb::real_query — Execute an SQL query

Descripción

Estilo por procedimientos

bool maxdb_real_query ( resource $link , string $query )

Estilo orientado a objetos

bool maxdb::real_query ( string $query )

The maxdb_real_query() is functionally identical with the maxdb_query().

Nota:

In order to determine if a given query should return a result set or not, see maxdb_field_count().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • maxdb_query() - Performs a query on the database
  • maxdb_store_result() - Transfers a result set from the last query
  • maxdb_use_result() - Initiate a result set retrieval

maxdb_real_escape_string
maxdb_report
Funciones de MaxDB


Enables or disables internal report functions

maxdb_real_query
maxdb_rollback
Funciones de MaxDB
PHP Manual

maxdb_report

(PECL maxdb 1.0)

maxdb_report — Enables or disables internal report functions

Descripción

bool maxdb_report ( int $flags )

Parámetros

flags

One of the MAXDB_REPORT_XXX constants.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estilo por procedimientos

<?php
/* activate reporting */
maxdb_report(MAXDB_REPORT_ERROR);

$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* this query should report an error */
$result = maxdb_query($link,"SELECT Name FROM Nonexistingtable WHERE population > 50000");

maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Warning: maxdb_query(): -4004 POS(18) Unknown table name:NONEXISTINGTABLE <...>
maxdb_real_query
maxdb_rollback
Funciones de MaxDB


Rolls back current transaction

maxdb_report
maxdb_rpl_parse_enabled
Funciones de MaxDB
PHP Manual

maxdb_rollback

maxdb::rollback

(PECL maxdb >= 1.0)

maxdb_rollback -- maxdb::rollback — Rolls back current transaction

Descripción

Estilo por procedimientos

bool maxdb_rollback ( resource $link )

Estilo orientado a objetos

bool maxdb::rollback ( void )

Rollbacks the current transaction for the database specified by the link parameter.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* disable autocommit */
$maxdb->autocommit(FALSE);

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query("INSERT INTO temp.mycity SELECT * FROM hotel.city");

/* commit insert */
$maxdb->commit();

/* delete all rows */
$maxdb->query("DELETE FROM temp.mycity");

if ($result = $maxdb->query("SELECT COUNT(*) FROM temp.mycity")) {
   $row = $result->fetch_row();
   printf("%d rows in table mycity.\n", $row[0]);
   /* Free result */
   $result->close();
}

/* Rollback */
$maxdb->rollback();

if ($result = $maxdb->query("SELECT COUNT(*) FROM temp.mycity")) {
   $row = $result->fetch_row();
   printf("%d rows in table mycity (after rollback).\n", $row[0]);
   /* Free result */
   $result->close();
}

/* Drop table myCity */
$maxdb->query("DROP TABLE temp.mycity");

$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* disable autocommit */
maxdb_autocommit($link, FALSE);

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

/* commit insert */
maxdb_commit($link);

/* delete all rows */
maxdb_query($link, "DELETE FROM temp.mycity");

if ($result = maxdb_query($link, "SELECT COUNT(*) FROM temp.mycity")) {
   $row = maxdb_fetch_row($result);
   printf("%d rows in table mycity.\n", $row[0]);
   /* Free result */
   maxdb_free_result($result);
}

/* Rollback */
maxdb_rollback($link);

if ($result = maxdb_query($link, "SELECT COUNT(*) FROM temp.mycity")) {
   $row = maxdb_fetch_row($result);
   printf("%d rows in table mycity (after rollback).\n", $row[0]);
   /* Free result */
   maxdb_free_result($result);
}

/* Drop table myCity */
maxdb_query($link, "DROP TABLE temp.mycity");

maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

0 rows in table mycity.
25 rows in table mycity (after rollback).

Ver también

  • maxdb_commit() - Commits the current transaction
  • maxdb_autocommit() - Turns on or off auto-commiting database modifications

maxdb_report
maxdb_rpl_parse_enabled
Funciones de MaxDB


Check if RPL parse is enabled

maxdb_rollback
maxdb_rpl_probe
Funciones de MaxDB
PHP Manual

maxdb_rpl_parse_enabled

(PECL maxdb >= 1.0)

maxdb_rpl_parse_enabled — Check if RPL parse is enabled

Descripción

int maxdb_rpl_parse_enabled ( resource $link )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

maxdb_rollback
maxdb_rpl_probe
Funciones de MaxDB


RPL probe

maxdb_rpl_parse_enabled
maxdb_rpl_query_type
Funciones de MaxDB
PHP Manual

maxdb_rpl_probe

(PECL maxdb >= 1.0)

maxdb_rpl_probe — RPL probe

Descripción

bool maxdb_rpl_probe ( resource $link )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

maxdb_rpl_parse_enabled
maxdb_rpl_query_type
Funciones de MaxDB


Returns RPL query type

maxdb_rpl_probe
maxdb_select_db
Funciones de MaxDB
PHP Manual

maxdb_rpl_query_type

maxdb::rpl_query_type

(PECL maxdb >= 1.0)

maxdb_rpl_query_type -- maxdb::rpl_query_type — Returns RPL query type

Descripción

Estilo por procedimientos

int maxdb_rpl_query_type ( resource $link )

Estilo orientado a objetos

int maxdb::rpl_query_type ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

maxdb_rpl_probe
maxdb_select_db
Funciones de MaxDB


Selects the default database for database queries

maxdb_rpl_query_type
maxdb_send_long_data
Funciones de MaxDB
PHP Manual

maxdb_select_db

maxdb::select_db

(PECL maxdb >= 1.0)

maxdb_select_db -- maxdb::select_db — Selects the default database for database queries

Descripción

bool maxdb_select_db ( resource $link , string $dbname )

The maxdb_select_db() function selects the default database (specified by the dbname parameter) to be used when performing queries against the database connection represented by the link parameter.

Nota:

This function should only be used to change the default database for the connection. You can select the default database with 4th parameter in maxdb_connect().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* return name of current default database */
if ($result = $maxdb->query("SELECT SERVERDB FROM USERS WHERE USERNAME='MONA'")) {
   $row = $result->fetch_row();
   printf("Default database is %s.\n", $row[0]);
   $result->close();
}

/* change db to non existing db */
$maxdb->select_db("XXXXXXXX");

/* return name of current default database */
if ($result = $maxdb->query("SELECT SERVERDB FROM USERS WHERE USERNAME='MONA'")) {
   $row = $result->fetch_row();
   printf("Default database is %s.\n", $row[0]);
   $result->close();
}

$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* return name of current default database */
if ($result = maxdb_query($link, "SELECT SERVERDB FROM USERS WHERE USERNAME='MONA'")) {
   $row = maxdb_fetch_row($result);
   printf("Default database is %s.\n", $row[0]);
   maxdb_free_result($result);
}

/* change db to non existing db */
maxdb_select_db($link, "XXXXXXXX");

/* return name of current default database */
if ($result = maxdb_query($link, "SELECT SERVERDB FROM USERS WHERE USERNAME='MONA'")) {
   $row = maxdb_fetch_row($result);
   printf("Default database is %s.\n", $row[0]);
   maxdb_free_result($result);
}

maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Default database is <...>.

Warning: maxdb_select_db(): -10709 Connection failed (RTE:database not running) <...>

Warning: maxdb_query(): -10821 Session not connected [] <...>

Warning: maxdb_close(): -10821 Session not connected [] <...>

Ver también

  • maxdb_connect() - Open a new connection to the MaxDB server
  • maxdb_real_connect() - Opens a connection to a MaxDB server

maxdb_rpl_query_type
maxdb_send_long_data
Funciones de MaxDB


Alias de maxdb_stmt_send_long_data

maxdb_select_db
maxdb_send_query
Funciones de MaxDB
PHP Manual

maxdb_send_long_data

(PECL maxdb >= 1.0)

maxdb_send_long_data — Alias de maxdb_stmt_send_long_data()

Descripción

Esta función es un alias de: maxdb_stmt_send_long_data().

Esta función alias está obsoleta y sólo existe por razones de compatibilidad con versiones anteriores. El uso de esta función no es recomendado, y puede ser eliminado de PHP en futuras versiones.

maxdb_select_db
maxdb_send_query
Funciones de MaxDB


Send the query and return

maxdb_send_long_data
maxdb_server_end
Funciones de MaxDB
PHP Manual

maxdb_send_query

maxdb::send_query

(PECL maxdb >= 1.0)

maxdb_send_query -- maxdb::send_query — Send the query and return

Descripción

Estilo por procedimientos

bool maxdb_send_query ( resource $link , string $query )

Estilo orientado a objetos

bool maxdb::send_query ( string $query )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

maxdb_send_long_data
maxdb_server_end
Funciones de MaxDB


Shut down the embedded server

maxdb_send_query
maxdb_server_init
Funciones de MaxDB
PHP Manual

maxdb_server_end

(PECL maxdb >= 1.0)

maxdb_server_end — Shut down the embedded server

Descripción

void maxdb_server_end ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

maxdb_send_query
maxdb_server_init
Funciones de MaxDB


Initialize embedded server

maxdb_server_end
maxdb_set_opt
Funciones de MaxDB
PHP Manual

maxdb_server_init

(PECL maxdb >= 1.0)

maxdb_server_init — Initialize embedded server

Descripción

bool maxdb_server_init ([ array $server [, array $groups ]] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

maxdb_server_end
maxdb_set_opt
Funciones de MaxDB


Alias de maxdb_options

maxdb_server_init
maxdb_sqlstate
Funciones de MaxDB
PHP Manual

maxdb_set_opt

(PECL maxdb 1.0)

maxdb_set_opt — Alias de maxdb_options()

Descripción

Esta función es un alias de: maxdb_options().

maxdb_server_init
maxdb_sqlstate
Funciones de MaxDB


Returns the SQLSTATE error from previous MaxDB operation

maxdb_set_opt
maxdb_ssl_set
Funciones de MaxDB
PHP Manual

maxdb_sqlstate

maxdb::sqlstate

(PECL maxdb >= 1.0)

maxdb_sqlstate -- maxdb::sqlstate — Returns the SQLSTATE error from previous MaxDB operation

Descripción

Estilo por procedimientos

string maxdb_sqlstate ( resource $link )

Estilo orientado a objetos

string $maxdb->sqlstate;

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error. The values are specified by ANSI SQL and ODBC.

Nota:

Note that not all MaxDB errors are yet mapped to SQLSTATE's. The value HY000 (general error) is used for unmapped errors.

Valores devueltos

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Table City already exists, so we should get an error */
if (!$maxdb->query("CREATE TABLE hotel.city (ID INT, Name VARCHAR(30))")) {
   printf("Error - SQLSTATE %s.\n", $maxdb->sqlstate);
}

$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Table City already exists, so we should get an error */
if (!maxdb_query($link, "CREATE TABLE hotel.city (ID INT, Name VARCHAR(30))")) {
   printf("Error - SQLSTATE %s.\n", maxdb_sqlstate($link));
}

maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Warning: maxdb_query(): -6000 POS(20) Duplicate table name:CITY [I6000] <...>
Error - SQLSTATE I6000.

Ver también

  • maxdb_errno() - Returns the error code for the most recent function call
  • maxdb_error() - Returns a string description of the last error

maxdb_set_opt
maxdb_ssl_set
Funciones de MaxDB


Used for establishing secure connections using SSL

maxdb_sqlstate
maxdb_stat
Funciones de MaxDB
PHP Manual

maxdb_ssl_set

maxdb::ssl_set

(PECL maxdb >= 1.0)

maxdb_ssl_set -- maxdb::ssl_set — Used for establishing secure connections using SSL

Descripción

Estilo por procedimientos

bool maxdb_ssl_set ( resource $link , string $key , string $cert , string $ca , string $capath , string $cipher )

Estilo orientado a objetos

bool maxdb::ssl_set ( string $key , string $cert , string $ca , string $capath , string $cipher )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

maxdb_sqlstate
maxdb_stat
Funciones de MaxDB


Gets the current system status

maxdb_ssl_set
maxdb_stmt_affected_rows
Funciones de MaxDB
PHP Manual

maxdb_stat

maxdb::stat

(PECL maxdb >= 1.0)

maxdb_stat -- maxdb::stat — Gets the current system status

Descripción

Estilo por procedimientos

string maxdb_stat ( resource $link )

Estilo orientado a objetos

string maxdb::stat ( void )

maxdb_stat() returns a string containing several information about the MaxDB server running.

Valores devueltos

A string describing the server status. FALSE if an error occurred.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf ("System status: %s\n", $maxdb->stat());

$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf("System status: %s\n", maxdb_stat($link));

maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

System status: Kernel    7<...>

Ver también

  • maxdb_get_server_info() - Returns the version of the MaxDB server

maxdb_ssl_set
maxdb_stmt_affected_rows
Funciones de MaxDB


Returns the total number of rows changed, deleted, or inserted by the last executed statement

maxdb_stat
maxdb_stmt_bind_param
Funciones de MaxDB
PHP Manual

maxdb_stmt_affected_rows

maxdb_stmt::affected_rows

(PECL maxdb >= 1.0)

maxdb_stmt_affected_rows -- maxdb_stmt::affected_rows — Returns the total number of rows changed, deleted, or inserted by the last executed statement

Descripción

Estilo por procedimientos

int maxdb_stmt_affected_rows ( resource $stmt )

Estilo orientado a objetos

int $maxdb_stmt->affected_rows;

maxdb_stmt_affected_rows() returns the number of rows affected by INSERT, UPDATE, or DELETE query. If the last query was invalid or the number of rows can not determined, this function will return -1.

Valores devueltos

An integer greater than zero indicates the number of rows affected or retrieved. Zero indicates that no records where updated for an UPDATE/DELETE statement, no rows matched the WHERE clause in the query or that no query has yet been executed. -1 indicates that the query has returned an error or the number of rows can not determined.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* create temp table */
$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");

$query = "INSERT INTO temp.mycity SELECT * FROM hotel.city WHERE state LIKE ?";

/* prepare statement */
if ($stmt = $maxdb->prepare($query)) {

   /* Bind variable for placeholder */
   $code = 'N%';
   $stmt->bind_param("s", $code);

   /* execute statement */
   $stmt->execute();

   printf("rows inserted: %d\n", $stmt->affected_rows);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* create temp table */
maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");

$query = "INSERT INTO temp.mycity SELECT * FROM hotel.city WHERE state LIKE ?";

/* prepare statement */
if ($stmt = maxdb_prepare($link, $query)) {

   /* Bind variable for placeholder */
   $code = 'N%';
   maxdb_stmt_bind_param($stmt, "s", $code);

   /* execute statement */
   maxdb_stmt_execute($stmt);

   printf("rows inserted: %d\n", maxdb_stmt_affected_rows($stmt));

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

rows inserted: 4

Ver también

  • maxdb_stmt_num_rows() - Return the number of rows in statements result set
  • maxdb_prepare() - Prepare an SQL statement for execution

maxdb_stat
maxdb_stmt_bind_param
Funciones de MaxDB


Binds variables to a prepared statement as parameters

maxdb_stmt_affected_rows
maxdb_stmt_bind_result
Funciones de MaxDB
PHP Manual

maxdb_stmt_bind_param

maxdb_stmt::bind_param

(PECL maxdb >= 1.0)

maxdb_stmt_bind_param -- maxdb_stmt::bind_param — Binds variables to a prepared statement as parameters

Descripción

Estilo por procedimientos

bool maxdb_stmt_bind_param ( resource $stmt , string $types , mixed &$var1 [, mixed &$... ] )

Estilo orientado a objetos

bool maxdb_stmt::bind_param ( string $types , mixed &$var1 [, mixed &$... ] )

Estilo por procedimientos (extended syntax):

bool maxdb_stmt_bind_param ( resource $stmt , string $types , array &$var )

Estilo orientado a objetos (extended syntax):

bool maxdb_stmt::bind_param ( string $types , array &$var )

maxdb_stmt_bind_param() is used to bind variables for the parameter markers in the SQL statement that was passed to maxdb_prepare(). The string types contains one or more characters which specify the types for the corresponding bind variables.

The extended syntax of maxdb_stmt_bind_param() allows to give the parameters as an array instead of a variable list of PHP variables to the function. If the array variable has not been used before calling maxdb_stmt_bind_param(), it has to be initialized as an emtpy array. See the examples how to use maxdb_stmt_bind_param() with extended syntax.

Variables for SELECT INTO SQL statements can also be bound using maxdb_stmt_bind_param(). Parameters for database procedures can be bound using maxdb_stmt_bind_param(). See the examples how to use maxdb_stmt_bind_param() in this cases.

If a variable bound as INTO variable to an SQL statement was used before, the content of this variable is overwritten by the data of the SELECT INTO statement. A reference to this variable will be invalid after a call to maxdb_stmt_bind_param().

For INOUT parameters of database procedures the content of the bound INOUT variable is overwritten by the output value of the database procedure. A reference to this variable will be invalid after a call to maxdb_stmt_bind_param().

Type specification chars
Character | Description
i | corresponding variable has type integer
d | corresponding variable has type double
s | corresponding variable has type string
b | corresponding variable is a blob and will be sent in packages

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb('localhost', 'MONA', 'RED', 'DEMODB');

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query ("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query ("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$stmt = $maxdb->prepare("INSERT INTO temp.mycity VALUES (?, ?, ?)");
$stmt->bind_param('sss', $zip, $name, $state);

$zip = '11111';
$name = 'Georgetown';
$state = 'NY';

/* execute prepared statement */
$stmt->execute();

printf("%d Row inserted.\n", $stmt->affected_rows);

/* close statement and connection */
$stmt->close();

/* Clean up table CountryLanguage */
$maxdb->query("DELETE FROM temp.mycity WHERE name='Georgetown'");
printf("%d Row deleted.\n", $maxdb->affected_rows);

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query ($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query ($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

$stmt = maxdb_prepare($link, "INSERT INTO temp.mycity VALUES (?, ?, ?)");
maxdb_stmt_bind_param($stmt, 'sss', $zip, $name, $state);

$zip = '11111';
$name = 'Georgetown';
$state = 'NY';

/* execute prepared statement */
maxdb_stmt_execute($stmt);

printf("%d Row inserted.\n", maxdb_stmt_affected_rows($stmt));

/* close statement and connection */
maxdb_stmt_close($stmt);

/* Clean up table CountryLanguage */
maxdb_query($link, "DELETE FROM temp.mycity WHERE name='Georgetown'");
printf("%d Row deleted.\n", maxdb_affected_rows($link));

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

1 Row inserted.
1 Row deleted.

Ejemplo #3 Estilo por procedimientos (SELECT INTO)

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Performing SQL query */
$stmt = maxdb_prepare ($link, "SELECT price INTO ? FROM hotel.room where hno = ? and type = ?");
if (!$stmt) {
  printf ("Prepare failed: %s\n", maxdb_error($link));
}

$hno = "50";
$rtype = "suite";

maxdb_stmt_bind_param($stmt, 'dss', $price, $hno, $rtype);
maxdb_stmt_execute($stmt);

printf ("%f\n", $price);

maxdb_stmt_close ($stmt);
?>

El resultado del ejemplo sería algo similar a:

21.600000

Ejemplo #4 Estilo por procedimientos (DB procedure)

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP DBPROC test_proc");
maxdb_report (MAXDB_REPORT_ERROR);

$query = "create dbproc test_proc (INOUT e_text char(72)) AS select * from SYSDBA.DUAL; fetch into :e_text;";

maxdb_query($link, $query);

/* Performing SQL query */
$stmt = maxdb_prepare ($link, "CALL test_proc (?)");
if (!$stmt) {
  printf ("Prepare failed: %s\n", maxdb_error($link));
}

maxdb_stmt_bind_param($stmt, 's', $result);
maxdb_stmt_execute($stmt);

printf ("%s\n", $result);

maxdb_stmt_close ($stmt);
?>

El resultado del ejemplo sería algo similar a:

a

Ejemplo #5 Estilo orientado a objetos (extended syntax)

<?php
$maxdb = new maxdb('localhost', 'MONA', 'RED', 'DEMODB');

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query ("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query ("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$stmt = $maxdb->prepare("INSERT INTO temp.mycity VALUES (?, ?, ?)");

$arr = array();

$stmt->bind_param('iss', $arr);

$arr[0] = 11111;
$arr[1] = 'Georgetown';
$arr[2] = 'NY';

/* execute prepared statement */
$stmt->execute();

printf("%d Row inserted.\n", maxdb_stmt_affected_rows($stmt));

$arr[0] = 22222;
$arr[1] = 'New Orleans';
$arr[2] = 'LA';

/* execute prepared statement */
$stmt->execute();

printf("%d Row inserted.\n", $stmt->affected_rows);

/* close statement and connection */
$stmt->close();

$result = $maxdb->query("SELECT * from temp.mycity WHERE zip = '11111' OR zip = '22222'");
if ($result) {
  while ($row = $result->fetch_row()) {
    printf ("%s %s %s\n", $row[0], $row[1], $row[2]);
  }
}

/* Clean up table CountryLanguage */
$maxdb->query("DELETE FROM temp.mycity WHERE name='Georgetown'");
$maxdb->query("DELETE FROM temp.mycity WHERE name='New Orleans'");
printf("%d Rows deleted.\n", $maxdb->affected_rows);

/* close connection */
$maxdb->close();
?>

El resultado del ejemplo sería algo similar a:

1 Row inserted.
1 Row inserted.
11111 Georgetown NY
22222 New Orleans LA
2 Rows deleted.

Ver también

  • maxdb_stmt_bind_result() - Binds variables to a prepared statement for result storage
  • maxdb_stmt_execute() - Executes a prepared Query
  • maxdb_stmt_fetch() - Fetch results from a prepared statement into the bound variables
  • maxdb_prepare() - Prepare an SQL statement for execution
  • maxdb_stmt_send_long_data() - Send data in blocks
  • maxdb_stmt_errno() - Returns the error code for the most recent statement call
  • maxdb_stmt_error() - Returns a string description for last statement error

maxdb_stmt_affected_rows
maxdb_stmt_bind_result
Funciones de MaxDB


Binds variables to a prepared statement for result storage

maxdb_stmt_bind_param
maxdb_stmt_close_long_data
Funciones de MaxDB
PHP Manual

maxdb_stmt_bind_result

maxdb_stmt::bind_result

(PECL maxdb >= 1.0)

maxdb_stmt_bind_result -- maxdb_stmt::bind_result — Binds variables to a prepared statement for result storage

Descripción

Estilo por procedimientos

bool maxdb_stmt_bind_result ( resource $stmt , mixed &$var1 [, mixed &$... ] )

Estilo orientado a objetos

bool maxdb_stmt::bind_result ( mixed &$var1 [, mixed &$... ] )

maxdb_stmt_bind_result() is used to associate (bind) columns in the result set to variables. When maxdb_stmt_fetch() is called to fetch data, the MaxDB client/server protocol places the data for the bound columns into the specified variables var1, ....

Nota:

Note that all columns must be bound prior to calling maxdb_stmt_fetch(). Depending on column types bound variables can silently change to the corresponding PHP type.

A column can be bound or rebound at any time, even after a result set has been partially retrieved. The new binding takes effect the next time maxdb_stmt_fetch() is called.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* prepare statement */
if ($stmt = $maxdb->prepare("SELECT zip, name FROM hotel.city ORDER BY name")) {
   $stmt->execute();

   /* bind variables to prepared statement */
   $stmt->bind_result($col1, $col2);

   /* fetch values */
   while ($stmt->fetch()) {
       printf("%s %s\n", $col1, $col2);
   }

   /* close statement */
   $stmt->close();
}
/* close connection */
$maxdb->close();

?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* prepare statement */
if ($stmt = maxdb_prepare($link, "SELECT zip, name FROM hotel.city ORDER BY name")) {
   maxdb_stmt_execute($stmt);

   /* bind variables to prepared statement */
   maxdb_stmt_bind_result($stmt, $col1, $col2);

   /* fetch values */
   while (maxdb_stmt_fetch($stmt)) {
       printf("%s %s\n", $col1, $col2);
   }

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

12203 Albany
60601 Chicago
60615 Chicago
45211 Cincinnati
33575 Clearwater
75243 Dallas
32018 Daytona Beach
33441 Deerfield Beach
48226 Detroit
90029 Hollywood
92714 Irvine
90804 Long Beach
11788 Long Island
90018 Los Angeles
70112 New Orleans
10019 New York
10580 New York
92262 Palm Springs
97213 Portland
60018 Rosemont
95054 Santa Clara
20903 Silver Spring
20005 Washington
20019 Washington
20037 Washington

Ver también

  • maxdb_stmt_bind_param() - Binds variables to a prepared statement as parameters
  • maxdb_stmt_execute() - Executes a prepared Query
  • maxdb_stmt_fetch() - Fetch results from a prepared statement into the bound variables
  • maxdb_prepare() - Prepare an SQL statement for execution
  • maxdb_stmt_prepare() - Prepare an SQL statement for execution
  • maxdb_stmt_init() - Initializes a statement and returns an resource for use with maxdb_stmt_prepare
  • maxdb_stmt_errno() - Returns the error code for the most recent statement call
  • maxdb_stmt_error() - Returns a string description for last statement error

maxdb_stmt_bind_param
maxdb_stmt_close_long_data
Funciones de MaxDB


Ends a sequence of maxdb_stmt_send_long_data

maxdb_stmt_bind_result
maxdb_stmt_close
Funciones de MaxDB
PHP Manual

maxdb_stmt_close_long_data

maxdb_stmt::close_long_data

(PECL maxdb 1.0)

maxdb_stmt_close_long_data -- maxdb_stmt::close_long_data — Ends a sequence of maxdb_stmt_send_long_data()

Descripción

Estilo por procedimientos

bool maxdb_stmt_close_long_data ( resource $stmt , int $param_nr )

Estilo orientado a objetos

bool maxdb_stmt::close_long_data ( void )

This function has to be called after a sequence of maxdb_stmt_send_long_data(), that was started after maxdb_execute().

param_nr indicates which parameter to associate the end of data with. Parameters are numbered beginning with 0.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • maxdb_prepare() - Prepare an SQL statement for execution
  • maxdb_stmt_bind_param() - Binds variables to a prepared statement as parameters

maxdb_stmt_bind_result
maxdb_stmt_close
Funciones de MaxDB


Closes a prepared statement

maxdb_stmt_close_long_data
maxdb_stmt_data_seek
Funciones de MaxDB
PHP Manual

maxdb_stmt_close

maxdb_stmt::close

(PECL maxdb >= 1.0)

maxdb_stmt_close -- maxdb_stmt::close — Closes a prepared statement

Descripción

Estilo por procedimientos

bool maxdb_stmt_close ( resource $stmt )

Estilo orientado a objetos

bool maxdb_stmt::close ( void )

Closes a prepared statement. maxdb_stmt_close() also deallocates the statement handle pointed to by stmt. If the current statement has pending or unread results, this function cancels them so that the next query can be executed.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • maxdb_prepare() - Prepare an SQL statement for execution

maxdb_stmt_close_long_data
maxdb_stmt_data_seek
Funciones de MaxDB


Seeks to an arbitray row in statement result set

maxdb_stmt_close
maxdb_stmt_errno
Funciones de MaxDB
PHP Manual

maxdb_stmt_data_seek

maxdb_stmt::data_seek

(PECL maxdb >= 1.0)

maxdb_stmt_data_seek -- maxdb_stmt::data_seek — Seeks to an arbitray row in statement result set

Descripción

Estilo por procedimientos

bool maxdb_stmt_data_seek ( resource $statement , int $offset )

Estilo orientado a objetos

bool maxdb_stmt::data_seek ( int $offset )

The maxdb_stmt_data_seek() function seeks to an arbitrary result pointer specified by the offset in the statement result set represented by statement. The offset parameter must be between zero and the total number of rows minus one (0.. maxdb_stmt_num_rows() - 1).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, zip FROM hotel.city ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* execute query */
   $stmt->execute();

   /* bind result variables */
   $stmt->bind_result($name, $code);

   /* store result */
   $stmt->store_result();

   /* seek to row no. 5 */
   $stmt->data_seek(5);

   /* fetch values */
   $stmt->fetch();

   printf ("City: %s  Zip: %s\n", $name, $code);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, zip FROM hotel.city ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* execute query */
   maxdb_stmt_execute($stmt);

   /* bind result variables */
   maxdb_stmt_bind_result($stmt, $name, $code);

   /* store result */
   maxdb_stmt_store_result($stmt);

   /* seek to row no. 5 */
   maxdb_stmt_data_seek($stmt, 5);

   /* fetch values */
   maxdb_stmt_fetch($stmt);

   printf ("City: %s  Zip: %s\n", $name, $code);

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

City: Dallas  Zip: 75243

Ver también

  • maxdb_prepare() - Prepare an SQL statement for execution

maxdb_stmt_close
maxdb_stmt_errno
Funciones de MaxDB


Returns the error code for the most recent statement call

maxdb_stmt_data_seek
maxdb_stmt_error
Funciones de MaxDB
PHP Manual

maxdb_stmt_errno

maxdb_stmt::errno

(PECL maxdb >= 1.0)

maxdb_stmt_errno -- maxdb_stmt::errno — Returns the error code for the most recent statement call

Descripción

Estilo por procedimientos

int maxdb_stmt_errno ( resource $stmt )

Estilo orientado a objetos

int $maxdb_stmt->errno;

For the statement specified by stmt, maxdb_stmt_errno() returns the error code for the most recently invoked statement function that can succeed or fail.

Nota:

For possible error codes see documentation of SQLDBC: » http://maxdb.sap.com/documentation/.

Valores devueltos

An error code value. Zero means no error occurred.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* drop table */
   $maxdb->query("DROP TABLE temp.mycity");

   /* execute query */
   $stmt->execute();

   printf("Error: %d.\n", $stmt->errno);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* drop table */
   maxdb_query($link, "DROP TABLE temp.mycity");

   /* execute query */
   maxdb_stmt_execute($stmt);

   printf("Error: %d.\n", maxdb_stmt_errno($stmt));

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Warning: maxdb_stmt_execute(): -4004 POS(23) Unknown table name:MYCITY [42000] <...>
Error: -4004.

Ver también

  • maxdb_stmt_error() - Returns a string description for last statement error
  • maxdb_stmt_sqlstate() - Returns SQLSTATE error from previous statement operation

maxdb_stmt_data_seek
maxdb_stmt_error
Funciones de MaxDB


Returns a string description for last statement error

maxdb_stmt_errno
maxdb_stmt_execute
Funciones de MaxDB
PHP Manual

maxdb_stmt_error

maxdb_stmt::error

(PECL maxdb >= 1.0)

maxdb_stmt_error -- maxdb_stmt::error — Returns a string description for last statement error

Descripción

Estilo por procedimientos

string maxdb_stmt_error ( resource $stmt )

Estilo orientado a objetos

string $maxdb_stmt->error;

For the statement specified by stmt, maxdb_stmt_error() returns a containing the error message for the most recently invoked statement function that can succeed or fail.

Valores devueltos

A string that describes the error. An empty string if no error occurred.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* drop table */
   $maxdb->query("DROP TABLE temp.mycity");

   /* execute query */
   $stmt->execute();

   printf("Error: %s.\n", $stmt->error);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* drop table */
   maxdb_query($link, "DROP TABLE temp.mycity");

   /* execute query */
   maxdb_stmt_execute($stmt);

   printf("Error: %s.\n", maxdb_stmt_error($stmt));

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Warning: maxdb_stmt_execute(): -4004 POS(23) Unknown table name:MYCITY [42000] <...>
Error: POS(23) Unknown table name:MYCITY.

Ver también

  • maxdb_stmt_errno() - Returns the error code for the most recent statement call
  • maxdb_stmt_sqlstate() - Returns SQLSTATE error from previous statement operation

maxdb_stmt_errno
maxdb_stmt_execute
Funciones de MaxDB


Executes a prepared Query

maxdb_stmt_error
maxdb_stmt_fetch
Funciones de MaxDB
PHP Manual

maxdb_stmt_execute

maxdb_stmt::execute

(PECL maxdb >= 1.0)

maxdb_stmt_execute -- maxdb_stmt::execute — Executes a prepared Query

Descripción

Estilo por procedimientos

bool maxdb_stmt_execute ( resource $stmt )

Estilo orientado a objetos

bool maxdb_stmt::execute ( void )

The maxdb_stmt_execute() function executes a query that has been previously prepared using the maxdb_prepare() function represented by the stmt resource. When executed any parameter markers which exist will automatically be replaced with the appropiate data.

If the statement is UPDATE, DELETE, or INSERT, the total number of affected rows can be determined by using the maxdb_stmt_affected_rows() function. Likewise, if the query yields a result set the maxdb_fetch() function is used.

Nota:

When using maxdb_stmt_execute(), the maxdb_fetch() function must be used to fetch the data prior to preforming any additional queries.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");

/* Prepare an insert statement */
$query = "INSERT INTO temp.mycity (zip, name, state) VALUES (?,?,?)";
$stmt = $maxdb->prepare($query);

$stmt->bind_param("sss", $val1, $val2, $val3);

$val1 = '11111';
$val2 = 'Georgetown';
$val3 = 'NY';

/* Execute the statement */
$stmt->execute();

$val1 = '22222';
$val2 = 'Hubbatown';
$val3 = 'CA';

/* Execute the statement */
$stmt->execute();

/* close statement */
$stmt->close();

/* retrieve all rows from myCity */
$query = "SELECT zip, name, state FROM temp.mycity";
if ($result = $maxdb->query($query)) {
   while ($row = $result->fetch_row()) {
       printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
   }
   /* free result set */
   $result->close();
}

/* remove table */
$maxdb->query("DROP TABLE temp.mycity");

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");

/* Prepare an insert statement */
$query = "INSERT INTO temp.mycity (zip, name, state) VALUES (?,?,?)";
$stmt = maxdb_prepare($link, $query);

maxdb_stmt_bind_param($stmt, "sss", $val1, $val2, $val3);

$val1 = '11111';
$val2 = 'Georgetown';
$val3 = 'NY';

/* Execute the statement */
maxdb_stmt_execute($stmt);

$val1 = '22222';
$val2 = 'Hubbatown';
$val3 = 'CA';

/* Execute the statement */
maxdb_stmt_execute($stmt);

/* close statement */
maxdb_stmt_close($stmt);

/* retrieve all rows from myCity */
$query = "SELECT zip, name, state FROM temp.mycity";
if ($result = maxdb_query($link, $query)) {
   while ($row = maxdb_fetch_row($result)) {
       printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
   }
   /* free result set */
   maxdb_free_result($result);
}

/* remove table */
maxdb_query($link, "DROP TABLE temp.mycity");

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

11111 (Georgetown,NY)
22222 (Hubbatown,CA)

Ver también

  • maxdb_prepare() - Prepare an SQL statement for execution
  • maxdb_stmt_bind_param() - Binds variables to a prepared statement as parameters

maxdb_stmt_error
maxdb_stmt_fetch
Funciones de MaxDB


Fetch results from a prepared statement into the bound variables

maxdb_stmt_execute
maxdb_stmt_free_result
Funciones de MaxDB
PHP Manual

maxdb_stmt_fetch

maxdb_stmt::fetch

(PECL maxdb >= 1.0)

maxdb_stmt_fetch -- maxdb_stmt::fetch — Fetch results from a prepared statement into the bound variables

Descripción

Estilo por procedimientos

bool maxdb_stmt_fetch ( resource $stmt )

Estilo orientado a objetos

bool maxdb_stmt::fetch ( void )

maxdb_stmt_fetch() returns row data using the variables bound by maxdb_stmt_bind_result().

Nota:

Note that all columns must be bound by the application before calling maxdb_stmt_fetch().

Valores devueltos

Return values
Value | Description
TRUE | Success. Data has been fetched
FALSE | Error occurred
NULL | No more rows/data exists

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT zip, name FROM hotel.city ORDER by name";

if ($stmt = $maxdb->prepare($query)) {

   /* execute statement */
   $stmt->execute();

   /* bind result variables */
   $stmt->bind_result($name, $code);

   /* fetch values */
   while ($stmt->fetch()) {
       printf ("%s (%s)\n", $name, $code);
   }

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT zip, name FROM hotel.city ORDER by name";

if ($stmt = maxdb_prepare($link, $query)) {

   /* execute statement */
   maxdb_stmt_execute($stmt);

   /* bind result variables */
   maxdb_stmt_bind_result($stmt, $name, $code);

   /* fetch values */
   while (maxdb_stmt_fetch($stmt)) {
       printf ("%s (%s)\n", $name, $code);
   }

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

12203 (Albany)
60601 (Chicago)
60615 (Chicago)
45211 (Cincinnati)
33575 (Clearwater)
75243 (Dallas)
32018 (Daytona Beach)
33441 (Deerfield Beach)
48226 (Detroit)
90029 (Hollywood)
92714 (Irvine)
90804 (Long Beach)
11788 (Long Island)
90018 (Los Angeles)
70112 (New Orleans)
10019 (New York)
10580 (New York)
92262 (Palm Springs)
97213 (Portland)
60018 (Rosemont)
95054 (Santa Clara)
20903 (Silver Spring)
20005 (Washington)
20019 (Washington)
20037 (Washington)

Ver también

  • maxdb_prepare() - Prepare an SQL statement for execution
  • maxdb_stmt_errno() - Returns the error code for the most recent statement call
  • maxdb_stmt_error() - Returns a string description for last statement error
  • maxdb_stmt_bind_result() - Binds variables to a prepared statement for result storage

maxdb_stmt_execute
maxdb_stmt_free_result
Funciones de MaxDB


Frees stored result memory for the given statement handle

maxdb_stmt_fetch
maxdb_stmt_init
Funciones de MaxDB
PHP Manual

maxdb_stmt_free_result

maxdb_stmt::free_result

(PECL maxdb >= 1.0)

maxdb_stmt_free_result -- maxdb_stmt::free_result — Frees stored result memory for the given statement handle

Descripción

Estilo por procedimientos

void maxdb_stmt_free_result ( resource $stmt )

Estilo orientado a objetos

void maxdb_stmt::free_result ( void )

The maxdb_stmt_free_result() function frees the result memory associated with the statement represented by the stmt parameter, which was allocated by maxdb_stmt_store_result().

Valores devueltos

This function doesn't return any value.

Ver también

  • maxdb_stmt_store_result() - Transfers a result set from a prepared statement

maxdb_stmt_fetch
maxdb_stmt_init
Funciones de MaxDB


Initializes a statement and returns an resource for use with maxdb_stmt_prepare

maxdb_stmt_free_result
maxdb_stmt_num_rows
Funciones de MaxDB
PHP Manual

maxdb_stmt_init

maxdb::stmt_init

(PECL maxdb >= 1.0)

maxdb_stmt_init -- maxdb::stmt_init — Initializes a statement and returns an resource for use with maxdb_stmt_prepare

Descripción

Estilo por procedimientos

resource maxdb_stmt_init ( resource $link )

Estilo orientado a objetos

object maxdb::stmt_init ( void )

Allocates and initializes a statement resource suitable for maxdb_stmt_prepare().

Nota:

Any subsequent calls to any maxdb_stmt function will fail until maxdb_stmt_prepare() was called.

Valores devueltos

Returns an resource.

Ver también

  • maxdb_stmt_prepare() - Prepare an SQL statement for execution

maxdb_stmt_free_result
maxdb_stmt_num_rows
Funciones de MaxDB


Return the number of rows in statements result set

maxdb_stmt_init
maxdb_stmt_param_count
Funciones de MaxDB
PHP Manual

maxdb_stmt_num_rows

maxdb_stmt::num_rows

(PECL maxdb >= 1.0)

maxdb_stmt_num_rows -- maxdb_stmt::num_rows — Return the number of rows in statements result set

Descripción

Estilo por procedimientos

int maxdb_stmt_num_rows ( resource $stmt )

Estilo orientado a objetos

int $maxdb_stmt->num_rows;

Returns the number of rows in the result set.

Valores devueltos

An integer representing the number of rows in result set.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT zip, name FROM hotel.city ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* execute query */
   $stmt->execute();

   /* store result */
   $stmt->store_result();

   printf("Number of rows: %d.\n", $stmt->num_rows);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT zip, name FROM hotel.city ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* execute query */
   maxdb_stmt_execute($stmt);

   /* store result */
   maxdb_stmt_store_result($stmt);

   printf("Number of rows: %d.\n", maxdb_stmt_num_rows($stmt));

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Number of rows: 25.

Ver también

  • maxdb_stmt_affected_rows() - Returns the total number of rows changed, deleted, or inserted by the last executed statement
  • maxdb_prepare() - Prepare an SQL statement for execution
  • maxdb_stmt_store_result() - Transfers a result set from a prepared statement

maxdb_stmt_init
maxdb_stmt_param_count
Funciones de MaxDB


Returns the number of parameter for the given statement

maxdb_stmt_num_rows
maxdb_stmt_prepare
Funciones de MaxDB
PHP Manual

maxdb_stmt_param_count

maxdb_stmt::param_count

(PECL maxdb >= 1.0)

maxdb_stmt_param_count -- maxdb_stmt::param_count — Returns the number of parameter for the given statement

Descripción

Estilo por procedimientos

int maxdb_stmt_param_count ( resource $stmt )

Estilo orientado a objetos

int $maxdb_stmt->param_count;

maxdb_stmt_param_count() returns the number of parameter markers present in the prepared statement.

Valores devueltos

returns an integer representing the number of parameters.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($stmt = $maxdb->prepare("SELECT name FROM hotel.city WHERE name=? OR state=?")) {

   $marker = $stmt->param_count;
   printf("Statement has %d markers.\n", $marker);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($stmt = maxdb_prepare($link, "SELECT name FROM hotel.city WHERE name=? OR state=?")) {

   $marker = maxdb_stmt_param_count($stmt);
   printf("Statement has %d markers.\n", $marker);

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Statement has 2 markers.

Ver también

  • maxdb_prepare() - Prepare an SQL statement for execution

maxdb_stmt_num_rows
maxdb_stmt_prepare
Funciones de MaxDB


Prepare an SQL statement for execution

maxdb_stmt_param_count
maxdb_stmt_reset
Funciones de MaxDB
PHP Manual

maxdb_stmt_prepare

maxdb_stmt::prepare

(PECL maxdb >= 1.0)

maxdb_stmt_prepare -- maxdb_stmt::prepare — Prepare an SQL statement for execution

Descripción

Estilo por procedimientos

bool maxdb_stmt_prepare ( resource $stmt , string $query )

Estilo orientado a objetos

mixed maxdb_stmt::prepare ( string $query )

maxdb_stmt_prepare() prepares the SQL query pointed to by the null-terminated string query. The statement resource has to be allocated by maxdb_stmt_init(). The query must consist of a single SQL statement.

Nota:

You should not add a terminating semicolon or \g to the statement.

The parameter query can include one or more parameter markers in the SQL statement by embedding question mark (?) characters at the appropriate positions.

Nota:

The markers are legal only in certain places in SQL statements. For example, they are allowed in the VALUES() list of an INSERT statement (to specify column values for a row), or in a comparison with a column in a WHERE clause to specify a comparison value.

However, they are not allowed for identifiers (such as table or column names), in the select list that names the columns to be returned by a SELECT statement), or to specify both operands of a binary operator such as the = equal sign. The latter restriction is necessary because it would be impossible to determine the parameter type. In general, parameters are legal only in Data Manipulation Languange (DML) statements, and not in Data Defination Language (DDL) statements.

The parameter markers must be bound to application variables using maxdb_stmt_bind_param() and/or maxdb_stmt_bind_result() before executing the statement or fetching rows.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$city = "Portland";

/* create a prepared statement */
$stmt =  $maxdb->stmt_init();
if ($stmt->prepare("SELECT state FROM hotel.city WHERE name=?")) {

   /* bind parameters for markers */
   $stmt->bind_param("s", $city);

   /* execute query */
   $stmt->execute();

   /* bind result variables */
   $stmt->bind_result($district);

   /* fetch value */
   $stmt->fetch();

   printf("%s is in district %s\n", $city, $district);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$city = "Portland";

/* create a prepared statement */
$stmt = maxdb_stmt_init($link);
if (maxdb_stmt_prepare($stmt, "SELECT state FROM hotel.city WHERE name=?")) {

   /* bind parameters for markers */
   maxdb_stmt_bind_param($stmt, "s", $city);

   /* execute query */
   maxdb_stmt_execute($stmt);

   /* bind result variables */
   maxdb_stmt_bind_result($stmt, $district);

   /* fetch value */
   maxdb_stmt_fetch($stmt);

   printf("%s is in district %s\n", $city, $district);

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Portland is in district OR

Ver también

  • maxdb_stmt_init() - Initializes a statement and returns an resource for use with maxdb_stmt_prepare
  • maxdb_stmt_execute() - Executes a prepared Query
  • maxdb_stmt_fetch() - Fetch results from a prepared statement into the bound variables
  • maxdb_stmt_bind_param() - Binds variables to a prepared statement as parameters
  • maxdb_stmt_bind_result() - Binds variables to a prepared statement for result storage
  • maxdb_stmt_close() - Closes a prepared statement

maxdb_stmt_param_count
maxdb_stmt_reset
Funciones de MaxDB


Resets a prepared statement

maxdb_stmt_prepare
maxdb_stmt_result_metadata
Funciones de MaxDB
PHP Manual

maxdb_stmt_reset

maxdb_stmt::reset

(PECL maxdb >= 1.0)

maxdb_stmt_reset -- maxdb_stmt::reset — Resets a prepared statement

Descripción

Estilo por procedimientos

bool maxdb_stmt_reset ( resource $stmt )

Estilo orientado a objetos

bool maxdb_stmt::reset ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

maxdb_stmt_prepare
maxdb_stmt_result_metadata
Funciones de MaxDB


Returns result set metadata from a prepared statement

maxdb_stmt_reset
maxdb_stmt_send_long_data
Funciones de MaxDB
PHP Manual

maxdb_stmt_result_metadata

maxdb_stmt::result_metadata

(PECL maxdb >= 1.0)

maxdb_stmt_result_metadata -- maxdb_stmt::result_metadata — Returns result set metadata from a prepared statement

Descripción

Estilo por procedimientos

resource maxdb_stmt_result_metadata ( resource $stmt )

Estilo orientado a objetos

resource maxdb_stmt::result_metadata ( void )

If a statement passed to maxdb_prepare() is one that produces a result set, maxdb_stmt_result_metadata() returns the result resource that can be used to process the meta information such as total number of fields and individual field information.

Nota:

This result set pointer can be passed as an argument to any of the field-based functions that process result set metadata, such as:

  • maxdb_num_fields()

  • maxdb_fetch_field()

  • maxdb_fetch_field_direct()

  • maxdb_fetch_fields()

  • maxdb_field_count()

  • maxdb_field_seek()

  • maxdb_field_tell()

  • maxdb_free_result()

The result set structure should be freed when you are done with it, which you can do by passing it to maxdb_free_result()

Nota:

The result set returned by maxdb_stmt_result_metadata() contains only metadata. It does not contain any row results. The rows are obtained by using the statement handle with maxdb_fetch().

Valores devueltos

maxdb_stmt_result_metadata() returns a result resource or FALSE if an error occurred.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

$maxdb->query("CREATE TABLE temp.friends (id int, name varchar(20))");

$maxdb->query("INSERT INTO temp.friends VALUES (1,'Hartmut')");
$maxdb->query("INSERT INTO temp.friends VALUES (2, 'Ulf')");

$stmt = $maxdb->prepare("SELECT id, name FROM temp.friends");
$stmt->execute();

/* get resultset for metadata */
$result = $stmt->result_metadata();

/* retrieve field information from metadata result set */
$field = $result->fetch_field();

printf("Fieldname: %s\n", $field->name);

/* close resultset */
$result->close();

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

maxdb_query($link, "CREATE TABLE temp.friends (id int, name varchar(20))");

maxdb_query($link, "INSERT INTO temp.friends VALUES (1,'Hartmut')");
maxdb_query($link, "INSERT INTO temp.friends VALUES (2, 'Ulf')");

$stmt = maxdb_prepare($link, "SELECT id, name FROM temp.friends");
maxdb_stmt_execute($stmt);

/* get resultset for metadata */
$result = maxdb_stmt_result_metadata($stmt);

/* retrieve field information from metadata result set */
$field = maxdb_fetch_field($result);

printf("Fieldname: %s\n", $field->name);

/* close resultset */
maxdb_free_result($result);

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Fieldname: ID

Ver también

  • maxdb_prepare() - Prepare an SQL statement for execution
  • maxdb_free_result() - Frees the memory associated with a result

maxdb_stmt_reset
maxdb_stmt_send_long_data
Funciones de MaxDB


Send data in blocks

maxdb_stmt_result_metadata
maxdb_stmt_sqlstate
Funciones de MaxDB
PHP Manual

maxdb_stmt_send_long_data

maxdb_stmt::send_long_data

(PECL maxdb 1.0)

maxdb_stmt_send_long_data -- maxdb_stmt::send_long_data — Send data in blocks

Descripción

Estilo por procedimientos

bool maxdb_stmt_send_long_data ( resource $stmt , int $param_nr , string $data )

Estilo orientado a objetos

bool maxdb_stmt::stmt_send_long_data ( int $param_nr , string $data )

Allows to send parameter data to the server in pieces (or chunks). This function can be called multiple times to send the parts of a character or binary data value for a column, which must be one of the TEXT or BLOB datatypes.

param_nr indicates which parameter to associate the data with. Parameters are numbered beginning with 0. data is a string containing data to be sent.

Nota:

For efficiency reasons, this function should be used after calling maxdb_execute(). In this case, the data is not stored on the client side. The end of the sequence must end with a call to maxdb_stmt_close_long_data().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • maxdb_prepare() - Prepare an SQL statement for execution
  • maxdb_stmt_bind_param() - Binds variables to a prepared statement as parameters

maxdb_stmt_result_metadata
maxdb_stmt_sqlstate
Funciones de MaxDB


Returns SQLSTATE error from previous statement operation

maxdb_stmt_send_long_data
maxdb_stmt_store_result
Funciones de MaxDB
PHP Manual

maxdb_stmt_sqlstate

(PECL maxdb >= 1.0)

maxdb_stmt_sqlstate — Returns SQLSTATE error from previous statement operation

Descripción

string maxdb_stmt_sqlstate ( resource $stmt )

Returns a string containing the SQLSTATE error code for the most recently invoked prepared statement function that can succeed or fail. The error code consists of five characters. '00000' means no error. The values are specified by ANSI SQL and ODBC.

Nota:

Note that not all MaxDB errors are yet mapped to SQLSTATE's. The value HY000 (general error) is used for unmapped errors.

Valores devueltos

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* drop table */
   $maxdb->query("DROP TABLE temp.mycity");

   /* execute query */
   $stmt->execute();

   printf("Error: %s.\n", $stmt->sqlstate);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* drop table */
   maxdb_query($link, "DROP TABLE temp.mycity");

   /* execute query */
   maxdb_stmt_execute($stmt);

   printf("Error: %s.\n", maxdb_stmt_sqlstate($stmt));

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Warning: maxdb_stmt_execute(): -4004 POS(23) Unknown table name:MYCITY [42000] <...>
Error: 42000.

Ver también

  • maxdb_stmt_errno() - Returns the error code for the most recent statement call
  • maxdb_stmt_error() - Returns a string description for last statement error

maxdb_stmt_send_long_data
maxdb_stmt_store_result
Funciones de MaxDB


Transfers a result set from a prepared statement

maxdb_stmt_sqlstate
maxdb_store_result
Funciones de MaxDB
PHP Manual

maxdb_stmt_store_result

maxdb_stmt::store_result

(PECL maxdb >= 1.0)

maxdb_stmt_store_result -- maxdb_stmt::store_result — Transfers a result set from a prepared statement

Descripción

Estilo por procedimientos

bool maxdb_stmt_store_result ( resource $stmt )

Estilo orientado a objetos

object maxdb_stmt::store_result ( void )

maxdb_stmt_store_result() has no functionally effect and should not be used for retrieving data from MaxDB server.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, zip FROM hotel.city ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* execute query */
   $stmt->execute();

   /* store result */
   $stmt->store_result();

   printf("Number of rows: %d.\n", $stmt->num_rows);

   /* free result */
   $stmt->free_result();

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, zip FROM hotel.city ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* execute query */
   maxdb_stmt_execute($stmt);

   /* store result */
   maxdb_stmt_store_result($stmt);

   printf("Number of rows: %d.\n", maxdb_stmt_num_rows($stmt));

   /* free result */
   maxdb_stmt_free_result($stmt);

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Number of rows: 25.

Ver también

  • maxdb_prepare() - Prepare an SQL statement for execution
  • maxdb_stmt_result_metadata() - Returns result set metadata from a prepared statement
  • maxdb_fetch() - Alias de maxdb_stmt_fetch

maxdb_stmt_sqlstate
maxdb_store_result
Funciones de MaxDB


Transfers a result set from the last query

maxdb_stmt_store_result
maxdb_thread_id
Funciones de MaxDB
PHP Manual

maxdb_store_result

maxdb::store_result

(PECL maxdb >= 1.0)

maxdb_store_result -- maxdb::store_result — Transfers a result set from the last query

Descripción

Estilo por procedimientos

resource maxdb_store_result ( resource $link )

Estilo orientado a objetos

object maxdb::store_result ( void )

This function has no functionally effect.

Valores devueltos

Returns a result resource or FALSE if an error occurred.

Ejemplos

See maxdb_multi_query().

Ver también

  • maxdb_real_query() - Execute an SQL query
  • maxdb_use_result() - Initiate a result set retrieval

maxdb_stmt_store_result
maxdb_thread_id
Funciones de MaxDB


Returns the thread ID for the current connection

maxdb_store_result
maxdb_thread_safe
Funciones de MaxDB
PHP Manual

maxdb_thread_id

maxdb::thread_id

(PECL maxdb >= 1.0)

maxdb_thread_id -- maxdb::thread_id — Returns the thread ID for the current connection

Descripción

Estilo por procedimientos

int maxdb_thread_id ( resource $link )

Estilo orientado a objetos

int $maxdb->thread_id;

The maxdb_thread_id() function returns the thread ID for the current connection which can then be killed using the maxdb_kill() function. If the connection is lost and you reconnect with maxdb_ping(), the thread ID will be other. Therefore you should get the thread ID only when you need it.

Nota:

The thread ID is assigned on a connection-by-connection basis. Hence, if the connection is broken and then re-established a new thread ID will be assigned.

Valores devueltos

maxdb_thread_id() returns the Thread ID for the current connection.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* determine our thread id */
$thread_id = $maxdb->thread_id;

/* Kill connection */
$maxdb->kill($thread_id);

/* This should produce an error */
if (!$maxdb->query("CREATE TABLE mycity LIKE hotel.city")) {
   printf("Error: %s\n", $maxdb->error);
   exit;
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* determine our thread id */
$thread_id = maxdb_thread_id($link);

/* Kill connection */
maxdb_kill($link, $thread_id);

/* This should produce an error */
if (!maxdb_query($link, "CREATE TABLE mycity LIKE hotel.city")) {
   printf("Error: %s\n", maxdb_error($link));
   exit;
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Warning: maxdb_query(): -10821 Session not connected <...>
Error: Session not connected

Ver también

  • maxdb_kill() - Disconnects from a MaxDB server

maxdb_store_result
maxdb_thread_safe
Funciones de MaxDB


Devuelve si la seguridad de enlace se le da o no

maxdb_thread_id
maxdb_use_result
Funciones de MaxDB
PHP Manual

maxdb_thread_safe

(PECL maxdb >= 7.6.06.04)

maxdb_thread_safe — Devuelve si la seguridad de enlace se le da o no

Descripción

bool maxdb_thread_safe ( void )

maxdb_thread_safe()indica si la libreria cliente está compilado como thread-safe

Valores devueltos

TRUE Si la libreria cliente es thread-safe, de lo contrario FALSE.

maxdb_thread_id
maxdb_use_result
Funciones de MaxDB


Initiate a result set retrieval

maxdb_thread_safe
maxdb_warning_count
Funciones de MaxDB
PHP Manual

maxdb_use_result

maxdb::use_result

(PECL maxdb >= 1.0)

maxdb_use_result -- maxdb::use_result — Initiate a result set retrieval

Descripción

Estilo por procedimientos

resource maxdb_use_result ( resource $link )

Estilo orientado a objetos

resource maxdb::use_result ( void )

maxdb_use_result() has no effect.

Valores devueltos

Returns result o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query  = "SELECT * FROM DUAL";

/* execute multi query */
if ($maxdb->multi_query($query)) {
   do {
       /* store first result set */
       if ($result = $maxdb->use_result()) {
           while ($row = $result->fetch_row()) {
               printf("%s\n", $row[0]);
           }
           $result->close();
       }
       /* print divider */
       if ($maxdb->more_results()) {
           printf("-----------------\n");
       }
   } while ($maxdb->next_result());
}

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query  = "SELECT * FROM DUAL";

/* execute multi query */
if (maxdb_multi_query($link, $query)) {
   do {
       /* store first result set */
       if ($result = maxdb_use_result($link)) {
           while ($row = maxdb_fetch_row($result)) {
               printf("%s\n", $row[0]);
           }
           maxdb_free_result($result);
       }
       /* print divider */
       if (maxdb_more_results($link)) {
           printf("-----------------\n");
       }
   } while (maxdb_next_result($link));
}

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

a

Ver también

  • maxdb_real_query() - Execute an SQL query
  • maxdb_store_result() - Transfers a result set from the last query

maxdb_thread_safe
maxdb_warning_count
Funciones de MaxDB


Returns the number of warnings from the last query for the given link

maxdb_use_result
Mongo
Funciones de MaxDB
PHP Manual

maxdb_warning_count

maxdb::warning_count

(PECL maxdb >= 1.0)

maxdb_warning_count -- maxdb::warning_count — Returns the number of warnings from the last query for the given link

Descripción

Estilo por procedimientos

int maxdb_warning_count ( resource $link )

Estilo orientado a objetos

int $maxdb->warning_count;

maxdb_warning_count() returns the number of warnings from the last query in the connection represented by the link parameter.

Valores devueltos

Number of warnings or zero if there are no warnings.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");

/* a remarkable city in Wales */
$query = "INSERT INTO temp.mycity (zip, name) VALUES('11111',
       'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";

$maxdb->query($query);

printf ("Number of warning: %d\n", $maxdb->warning_count);

/* close connection */
$maxdb->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");

/* a remarkable long city name in Wales */
$query = "INSERT INTO temp.mycity (zip, name) VALUES('11111',
       'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";

maxdb_query($link, $query);

printf ("Number of warning: %d\n", maxdb_warning_count($link));

/* close connection */
maxdb_close($link);
?>

El resultado del ejemplo sería algo similar a:

Warning: maxdb_query(): -8004 POS(62) Constant must be compatible with column type and length <...>
Number of warning: 0

Ver también

  • maxdb_errno() - Returns the error code for the most recent function call
  • maxdb_error() - Returns a string description of the last error
  • maxdb_sqlstate() - Returns the SQLSTATE error from previous MaxDB operation

maxdb_use_result
Mongo
Funciones de MaxDB


MongoDB

  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
  • Manual
    • Tutorial
    • Preferencias de lectura
    • Asuntos de Escritura (Write Concerns)
    • Tabla de correlación de SQL a Mongo
    • Conexión
    • Escrituras
    • Consultas
    • Actualizaciones
    • Seguridad
    • Solución a problemas
    • Ejecutar los test del controlador
  • Clases del núcleo
    • MongoClient — La clase MongoClient
    • MongoDB — La clase MongoDB
    • MongoCollection — La clase MongoCollection
    • MongoCursor — Clase MongoCursor
  • Tipos
    • MongoId — Clase MongoId
    • MongoCode — Clase MongoCode
    • MongoDate — La clase MongoDate
    • MongoRegex — La clase MongoRegex
    • MongoBinData — Clase MongoBinData
    • MongoInt32 — Clase MongoInt32
    • MongoInt64 — Clase MongoInt64
    • MongoDBRef — Clase MongoDBRef
    • MongoMinKey — Clase MongoMinKey
    • MongoMaxKey — Clase MongoMaxKey
    • MongoTimestamp — Clase MongoTimestamp
  • Clases de GridFS
    • MongoGridFS — Clase MongoGridFS
    • MongoGridFSFile — Clase MongoGridFSFile
    • MongoGridFSCursor — Clase MongoGridFSCursor
  • Miscelánea
    • MongoLog — La clase MongoLog
    • MongoPool — La clase MongoPool
    • Mongo — La clase Mongo [obsoleta]
  • Funciones de Mongo
    • bson_decode — Decodifica un objecto BSON a un array PHP
    • bson_encode — Serializa una variable PHP a un string BSON
  • Excepciones
    • MongoException — Clase MongoException
    • MongoResultException — La clase MongoResultException
    • MongoCursorException — La clase MongoCursorException
    • MongoCursorTimeoutException — La clase MongoCursorTimeoutException
    • MongoConnectionException — Clase MongoConnectionException
    • MongoGridFSException — Clase MongoGridFSException
  • Registro de cambios
maxdb_warning_count
Instalación/Configuración
Extensiones de bases de datos específicas del proveedor


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
Mongo
Requerimientos
Mongo


Instalación

El controlador MongoDB para PHP debe funcionar en cualquier sistema: Windows, Mac OS X, Unix, y Linux; pequeñas y grandes máquinas; y plataformas de 32- y 64-bits; PHP 5.1, 5.2, 5.3 y 5.4.

Esta extensión » PECL no se distribuye con PHP.

  • Instalación manual
  • Instalación en *NIX
  • Instalación en Windows
  • OS X
  • Gentoo
  • Red Hat
  • Instrucciones de instalación de terceros

Instalación manual

Para los desarrolladores de controloladores y gente interesada en las últimas correcciones, puede compilar el controlador desde las últimas versiones en » Github. Ir a Github y presione en el botón "download". Ejecute:

$ tar zxvf mongodb-mongodb-php-driver-<commit_id>.tar.gz
$ cd mongodb-mongodb-php-driver-<commit_id>
$ phpize
$ ./configure
$ make all
$ sudo make install

Realice los siguientes cambios en php.ini:

  • Asegúrese de que la variable extension_dir este apuntando al directrio que contiene mongo.so. El build se mostrará dónde se encuetre instalado el controlador de PHP, la salida será algo similar a esto:

Installing '/usr/lib/php/extensions/no-debug-non-zts-20060613/mongo.so'
    Asegúrese de que este en el mismo directorio en donde PHP se encuentre, ejecute:

$ php -i | grep extension_dir
  extension_dir => /usr/lib/php/extensions/no-debug-non-zts-20060613 =>
                   /usr/lib/php/extensions/no-debug-non-zts-20060613
    Si no es así, cambia extension_dir en php.ini o mueva mongo.so

  • Para cargar la extensión en el arranque de PHP, agregar una línea:

extension=mongo.so

Instalación en *NIX

Ejecute:

$ sudo pecl install mongo

Si se está usando CentOS o Redhat, se puede isntalar desde un » RPM.

Agregar la siguiente línea en el fichero php.ini:

extension=mongo.so

Si pecl se quedará sin memoria al instalar, asegúrese de que memory_limit en php.ini sea de al menos de 32MB.

Instalación en Windows

Los binarios precompilados para cada versión están disponibles en » S3 para una gran variedad de combinaciones de versiones, seguridad en hilos, y bibliotecas VC. Descomprima el fichero y copie php_mongo.dll en el directorio de extensiones de PHP ("ext" por omisión).

Agregar la siguiente línea al fichero php.ini:

extension=php_mongo.dll

OS X

Si su sistema no puede encontrar autoconf, necesita instalar Xcode (disponible en el DVD de instalación o como descarga gratuita desde el sitio web de Apple).

En la mayoría de los casos es más sencilla la instalación desde pecl:

$ sudo pecl install mongo

Si usa XAMPP, podría ser capaz de compilar el controlador con con el siguiente comando:

sudo /Applications/XAMPP/xamppfiles/bin/pecl install mongo

Gentoo

Gentoo tiene un paquete para el driver de PHP que se llama dev-php5/mongo que puede ser instalado con:

$ sudo emerge -va dev-php5/mongo

Si se utiliza PECL, quizá obtiene un error de versión incorrecta en libtool. Compile desde las fuentes que necesite y ejecute aclocal y autoconf.

$ phpize
$ aclocal
$ autoconf
$ ./configure
$ make
$ sudo make install

Red Hat

Incluye Fedora y CentOS

En estos sistemas, la configuración por omisión de Apache no permite a las peticiones establecer conexiones de red, haciendo que el driver genere errores de "Permiso denegado" cuando se intenta conectar a la base de datos. Si este fuera el caso, pruebe a ejecutar:

$ /usr/sbin/setsebool -P httpd_can_network_connect 1
Y finalmente reinicie Apache. (Este comportamiento también se da con SELinux.)

Instrucciones de instalación de terceros

Un gran número de personas han creado excelentes tutoriales de instalación de controlador de PHP.

  • » PHP 5.3.1 con Xdebug, MongoDB y Lithium en Ubuntu 9.10 / Apache 2.2

    Un excelente video que te llevará paso a paso en la instalación de Apache, PHP, Xdebug, MongoDB, y Lithium por Jon Adams.

  • » Instalando MongoDB y el controlador de PHP en Ubuntu 9.04

    Artículo en castellano por Javier Aranda (» Traducción en inglés).

  • » OS X: Instalando MongoDB y el controlador de PHP

    Por Matt Butcher.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de Mongo
Nombre | Por defecto | Cambiable | Historial de cambios
mongo.allow_empty_keys | 0 | PHP_INI_ALL |
mongo.allow_persistent | 1 | PHP_INI_ALL | Eliminado en 1.2.0
mongo.chunk_size | 262144 | PHP_INI_ALL |
mongo.cmd | "$" | PHP_INI_ALL |
mongo.default_host | "localhost" | PHP_INI_ALL |
mongo.default_port | 27017 | PHP_INI_ALL |
mongo.is_master_interval | 15 | PHP_INI_ALL | Añadido en 1.2.10, antes de 1.3.0 el valor predeterminado era 60.
mongo.long_as_object | o | PHP_INI_ALL |
mongo.native_long | 0* | PHP_INI_ALL |
mongo.ping_interval | 5 | PHP_INI_ALL | Añadido en 1.2.10
mongo.utf8 | 1 | PHP_INI_ALL |
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

mongo.allow_empty_keys int

Añadido en la versión 1.0.11.

Si deberían permitirse las cadenas vacías ("") como nombres de claves. Por omisión, el controlador lanzará una excepción si se intenta pasar la cadena vacía como una clave a la base de datos. Es extremadamente fácil hacer esto inadvertidamente usando comillas dobles con operadores $, por lo que se recomienda que se deje este ajuste predeterminado. Sin embargo, si se necesita guardar claves que son cadenas vacías, se puede establecer esta opción a true para que el controlador permita pasar cadenas vacías a la base de datos.

mongo.allow_persistent int

Indica si se permiten o no conexiones persistentes. (Eliminado en 1.2.0 - ahora todas las conexiones son persistentes).

mongo.chunk_size int

El número de bytes por bloque. Se usa al fragmentar ficheros GridFS. Este valor debe ser al menos 100 veces menor que 4 megabytes (máx: 4194204) y se recomienda que sea incluso menor.

mongo.cmd string

Un carácter que se utiliza en lugar de $ en los modificadores y comparaciones.

En vista de que es fácil olvidar escapar el carácter "$", puede elegirse cualquier otro en su lugar. Escoja un carácter que no aparezca en sus nombres de clave, como por ejemplo ":":

mongo.cmd = ":"

Ahora, para hacer una comparación, sería:

<?php

$query = array( "i" => array( ":gt" => 20, ":lte" => 30 ) );

?>

Puede cambiarse también en tiempo de ejecución usando ini_set("mongo.cmd", ":"). Por supuesto, también pueden usarse comillas simples o la barra \ para escapar el carácter $.

mongo.default_host string

Nombre de host predeterminaodo en caso de que no se especifique en el constructor.

mongo.default_port string

Puerto TCP predeterminado al conectar al servidor de bases de datos en caso de que no se especifique ningún puerto. El predeterminado para la base de datos es 27017.

mongo.is_master_interval int

Añadido en la versión 1.2.10.

Para conexiones de conjuntos réplica: El intervalo mínimo con el que el controlador enviará peticiones "isMaster" al servidor MongoDB. Si el valor es bajo, existirán más peticiones, pero el controlador será más rápido si la topología del conjunto réplica ha sido cambiada.

mongo.long_as_object int

Devuelve un BSON_LONG como una instancia de MongoInt64 (en lugar de usar el tipo primitivo).

mongo.native_long int

Este valor por omisión cambiará a TRUE en 2.0.0, por lo que deberá asegurarse al establecer el valor deseado (probablemente TRUE) de manera que el comportamiento del controlador no se vea afectado al actualizarlo.

En plataformas de 64 bits, el ajuste mongo.native_long permite almacenar enteros de 64 bits en MongoDB. Si no se habilita, sólo se podrán almacenar enteros de 32 bits. El tipo de dato MongoDB usado en este caso es el BSON LONG, en lugar del BSON INT, que es el que funciona cuando se deshabilita este ajuste.

Este ajuste también cambia el modo en que los tipos BSON LONG se comportan cuando se consultan en MongoDB. Cuando mongo.native_long no está habilitado, el driver convierte todos los BSON LONG al tipo double de PHP, por lo que podría provocar una pérdida de precisión.

En plataformas de 32 bits, el ajuste mongo.native_log no tiene efecto al almacenar enteros en MongoDB: los enteros se almacenan como BSON INT. Sin embargo, cuando este ajuste está habilitado y se consulta un tipo BSON LONG en MongDB, se emitirá una excepción MongoCursorException alertando de que los datos podrían no leerse sin pérdida de precisión.

Se recomienda que, en sistemas de 32 bits especialmente, se combine esto con la habilitación de mongo.long_as_object.

mongo.ping_interval int

Añadido en la versión 1.2.10.

Para conexiones de conjuntos réplica: El intervalo mínimo con el que el controlador enviará peticiones "ping" al servidor MongoDB. Si el valor es bajo, existirán más pings, pero el controlador será más rápido si un nodo ya no sepuede recuperar del conjunto réplica.

mongo.utf8 int

Indica si se debe lanzar una excepción con cadenas que no sean UTF8. Hasta la versión 1.0.4, el controlador de PHP ignoraba las cadenas que no eran UTF8, incluso cuando no se esperaba que se fueran a insertar. Desde 1.0.4, el controlador emite una MongoException. Para facilitar la transición en las aplicaciones que insertan cadenas que no son UTF8, puede deshabiltiarse esta opción para emular el comportamiento anterior en el que no se emitían excepciones. Sin embargo, esta opción será eliminada en la versión 1.1.0, de manera que siempre se emitirán excepciones en textos que no son UTF8.

Instalación
Manual
Instalación/Configuración


Manual

Tabla de contenidos

  • Tutorial
  • Preferencias de lectura
  • Asuntos de Escritura (Write Concerns)
  • Tabla de correlación de SQL a Mongo
  • Conexión
  • Escrituras
  • Consultas
  • Actualizaciones
  • Seguridad
  • Solución a problemas
  • Ejecutar los test del controlador

Este manual trata algunos detalles sobre cómo usar MongoDB, aunque mayormente cubre el uso del controlador de PHP. Para más información sobre cómo diseñar un esquema, qué significa cada término, y cómo configurar el servidor de bases de datos, revise la » documentación de MongoDB.

Configuración en tiempo de ejecución
Tutorial
Mongo


Tutorial

Tabla de contenidos

  • Estableciendo una Conexión
  • Obteniendo una Base de Datos
  • Obteniendo Una Colección
  • Insertando un Documento
  • Localizando documentos usando MongoCollection::findOne
  • Añadiendo Múltiples Documentos
  • Contando los Documentos de una Colección
  • Usando un Cursor para Obtener Todo de los Documentos
  • Estableciendo el Criterio de la Consulta
  • Consultando un Conjunto de Documentos con una Consulta
  • Creando un Índice

Este es el controlador oficial de MongoDB para PHP.

He aquí un código de ejemplo que contecta, inserta documentos, consulta a documentos, itera sobre resultados de consultas, y desconecta de MongoDB. Hay más detalles de cada paso del tutorial más abajo.

<?php

// conectar
$m = new MongoClient();

// seleccionar una base de datos
$db = $m->comedy;

// seleccionar una colección (equivalente a una tabla en una base de datos relacional)
$collection = $db->cartoons;

// añadir un registro
$document = array( "title" => "Calvin and Hobbes", "author" => "Bill Watterson" );
$collection->insert($document);

// añadir un nuevo registro, con un distinto "perfil"
$document = array( "title" => "XKCD", "online" => true );
$collection->insert($document);

// encontrar todo lo que haya en la colección
$cursor = $collection->find();

// recorrer el resultado
foreach ($cursor as $document) {
    echo $document["title"] . "\n";
}

?>

El resultado del ejemplo sería:

Calvin and Hobbes
XKCD
Manual
Estableciendo una Conexión
Manual


Estableciendo una Conexión

Para conectar al servidor de bases de datos, utilice alguna de las siguientes formas:

<?php
$connection = new MongoClient(); // connects to localhost:27017
$connection = new MongoClient( "mongodb://example.com" ); // connect to a remote host (default port: 27017)
$connection = new MongoClient( "mongodb://example.com:65432" ); // connect to a remote host at a given port
?>

No es necesario desconectar explícitamente de la base de datos. El controlador usa conexiones persistentes y reutilzará las conexiones ya establecidas.

Ver también

El capítulo connecting cubre los distintos tipos de conexiones.

Tanto la documentación de la API de la clase MongoClient como MongoClient::__construct() proporcionan un exhaustivo repaso a todas las opciones disponibles, y un gran número de ejemplos.

Tutorial
Obteniendo una Base de Datos
Tutorial


Obteniendo una Base de Datos

Para seleccionar una base de datos, utilice.

<?php
$connection = new MongoClient();
$db = $connection->dbname;
?>

La base de datos no debe necesariamente haber sido ya creada, sino que pueden crearse con sólo seleccionarlas.

¡Tenga cuidado con los errores tipográficos! Podría, por inadvertencia, crear una nueva base de datos, provocando errores (aquí, name está mal escrito como anme en la segunda selección:

<?php
$connection = new MongoClient();

$db = $connection->mybiglongdbname;
// hacemos algo

$db = $connection->mybiglongdbanme;
// ¡ahora estamos conectando a una nueva base de datos!
?>

Ver También

La documentación API de la clase MongoDB contiene más información sobre los objetos de bases de datos.

Estableciendo una Conexión
Obteniendo Una Colección
Tutorial


Obteniendo Una Colección

Para obtener una conexión se utiliza la misma sintaxis que para obtener una base de datos:

<?php
$connection = new MongoClient();
$db = $connection->baz;

// seleccionar una colección:
$collection = $db->foobar;

// o, directamente una base de datos y una colección:
$collection = $connection->baz->foobar;
?>

Las colecciones son análogos a las tablas (para aquéllos que estén familiarizados con bases de datos relacionales).

Ver También

La documentación API de la clase MongoCollection contiene más información sobre objetos de colecciones.

Obteniendo una Base de Datos
Insertando un Documento
Tutorial


Insertando un Documento

Los objetos básicos para almacenar en una colección de una base de datos son los arrays asociativos. Un "documento" cualquiera podría ser:

<?php
$doc = array(
    "name" => "MongoDB",
    "type" => "database",
    "count" => 1,
    "info" => (object)array( "x" => 203, "y" => 102),
    "versions" => array("0.9.7", "0.9.8", "0.9.9")
);
?>

Observe que se pueden tener arrays y objetos anidados. El controlador siempre almacenará un array asociativo como un objeto en la base de datos. Un array indexado numéricamente es almacenado como un array en caso de que las claves empiecen en 0 y no estén interrumpidas, y como un objeto si las claves del array no empiezan en 0 o tienen huecos (esto es: 0, 1, 4, 5).

Para insertar este documento, utilice MongoCollection::insert():

<?php
$connection = new MongoClient();
$collection = $connection->database->collectionName;

$collection->insert( $doc );
?>

Ver También

La documentación API de MongoCollection::insert() contiene más información sobre la inserción de datos.

Obteniendo Una Colección
Localizando documentos usando MongoCollection::findOne
Tutorial


Localizando documentos usando MongoCollection::findOne

Insertando un Documento
Añadiendo Múltiples Documentos
Tutorial
PHP Manual

Localizando documentos usando MongoCollection::findOne()

Para comprobar que el documento que insertamos en el paso anterior está almacenado en la base de datos, podemos realizar una operación MongoCollection::findOne() para obtener un único documento de la colección. Este método es útil cuando sólo hay un documento que concuerde con la consulta, o cuando sólo se está interesado en un resultado.

<?php
$connection = new MongoClient();
$collection = $connection->database->collectionName;

$document = $collection->findOne();
var_dump( $document );
?>

El resultado del ejemplo sería:

array(6) {
  ["_id"]=>
  object(MongoId)#8 (1) {
    ["$id"]=>
    string(24) "4e2995576803fab768000000"
  }
  ["name"]=>
  string(7) "MongoDB"
  ["type"]=>
  string(8) "database"
  ["count"]=>
  int(1)
  ["info"]=>
  array(2) {
    ["x"]=>
    int(203)
    ["y"]=>
    int(102)
  }
  ["versions"]=>
  array(3) {
    [0]=>
    string(5) "0.9.7"
    [1]=>
    string(5) "0.9.8"
    [2]=>
    string(5) "0.9.9"
  }
}

Hay un campo _id que se ha añadido automáticamente al documento. _id es el campo de la "clave primaria". Si el documento no especifica una, el driver la añadirá automáticamente.

Si se ha especificado un campo _id, debe ser único en toda la colección. Por ejemplo:

<?php
$connection = new MongoClient();
$db = $connection->database;

$db->foo->insert(array("_id" => 1));
// esto lanzará una excepción
$db->foo->insert(array("_id" => 1));

// esto está bien, ya que es una colección diferente
$db->bar->insert(array("_id" => 1));
?>

Por omisión, el controlador se asegurará de que el servidor ha aceptado la escritura antes de devolver. Opcionalmente se puede desactivar este comportamiento pasando array("w" => 0) como segundo argumento. Esto significa que el contrlador debería no esperar a que la base de datos acepte la escritura y no lanzar la excpeción de _id duplicado.

Ver También

MongoCollection::findOne() contiene más información sobre cómo localizar datos.

MongoId ofrece más detalles de los identificadores únicos.

La sección writes trata las escrituras en mayor profundidad, y el capítlo Asuntos de Escritura (Write Concerns) entra en detalles sobre las diferentes opciones de Write Concern.

Insertando un Documento
Añadiendo Múltiples Documentos
Tutorial


Añadiendo Múltiples Documentos

Para hacer más interesante el tema de las consultas, vamos a añadir varios documentos a la colección. Estos documentos serán simplemente de la forma array( "i" => value ); y podemos hacerlo de un modo muy eficiente en un bucle:

<?php
$connection = new MongoClient();
$collection = $connection->database->collectionName;

for ( $i = 0; $i < 100; $i++ )
{
    $collection->insert( array( 'i' => $i, "field{$i}" => $i * 2 ) );
}
?>

Tenga en cuenta que podemos insertar en una misma colección arrays con claves diferentes. A esta característica nos refereemos cuando decimos que MongoDB es independiente de esquemas. En el ejemplo de arriba cada documento tiene un campo i, aunque también un nombre de campo en la forma field + $i.

Localizando documentos usando MongoCollection::findOne
Contando los Documentos de una Colección
Tutorial


Contando los Documentos de una Colección

Ahora que hemos insertado 101 documentos (los 100 del bucle, junto con el primero), podemos comprobar si los tenemos todos usando el método MongoCollection::count().

<?php
$connection = new MongoClient();
$collection = $connection->database->collectionName;

echo $collection->count();
?>
y debería mostrar 101.

Añadiendo Múltiples Documentos
Usando un Cursor para Obtener Todo de los Documentos
Tutorial


Usando un Cursor para Obtener Todo de los Documentos

Paraa obtener todos los documentos, usaremos MongoCollection::find(). El método find() devuelve un objeto MongoCursor que nos permite recorrer el conjunto de documentos que concuerdan con nuestra consulta. De ese modo, para consultar todos los documentos y mostrarlos por pantalla:

<?php
$connection = new MongoClient();
$collection = $connection->database->collectionName;

$cursor = $collection->find();
foreach ( $cursor as $id => $value )
{
    echo "$id: ";
    var_dump( $value );
}
?>
y mostrará los 101 documentos de la colección. $id es el campo _id del documento (transformado a string) y $value es el documento en sí.

Ver También

La documentación API de MongoCollection::find() contiene más información sobre cómo localizar datos.

Contando los Documentos de una Colección
Estableciendo el Criterio de la Consulta
Tutorial


Estableciendo el Criterio de la Consulta

Podemos crear una consulta para pasar al método MongoCollection::find() y así obtener un subconjunto de documentos de nuestra colección. Por ejemplo, si quisiéramos encontrar el documento cuyo valor en el campo "i" es 71, haríamos lo siguiente:

<?php
$connection = new MongoClient();
$collection = $connection->database->collectionName;

$query = array( 'i' => 71 );
$cursor = $collection->find( $query );

while ( $cursor->hasNext() )
{
    var_dump( $cursor->getNext() );
}
?>

El resultado del ejemplo sería:

array(2) {
  ["_id"]=>
  object(MongoId)#6 (0) {
  }
  ["i"]=>
  int(71)
  ["_ns"]=>
  "testCollection"
}
Usando un Cursor para Obtener Todo de los Documentos
Consultando un Conjunto de Documentos con una Consulta
Tutorial


Consultando un Conjunto de Documentos con una Consulta

Podemos usar la consulta para obtener un conjunto de documentos de nuestra colección. Por ejemplo, si quisiéramos obtener todos los documentos en los que "i" > 50, podríamos poner:

<?php
$connection = new MongoClient();
$collection = $connection->database->collectionName;

$query = array( "i" => array( '$gt' => 50 ) ); //note the single quotes around '$gt'
$cursor = $coll->find( $query );

while ( $cursor->hasNext() )
{
    var_dump( $cursor->getNext() );
}
?>

lo cual mostraría los documentos en que "i" > 50. Podemos también consultar un rango, digamos 20 < i <= 30:

<?php
$connection = new MongoClient();
$collection = $connection->database->collectionName;

$query = array( 'i' => array( '$gt' => 20, "\$lte" => 30 ) );
$cursor = $coll->find( $query );

while ( $cursor->hasNext() )
{
    var_dump( $cursor->getNext() );
}
?>

Recuerde escapar siempre el símbolo $ o utilizar comillas simples. Si no, PHP lo interpretará como la variable $gt.

Estableciendo el Criterio de la Consulta
Creando un Índice
Tutorial


Creando un Índice

MongoDB soporta índices, y es muy fácil añadirlos a una colección. Para crear un Índice, debe indicar el nombre del campo y la dirección: ascendente (1) o descendente (-1). A continuación, creamos un índice ascendente en el campo "i":

<?php
$connection = new MongoClient();
$collection = $connection->database->collectionName;

$coll->ensureIndex( array( "i" => 1 ) );  // create index on "i"
$coll->ensureIndex( array( "i" => -1, "j" => 1 ) );  // index on "i" descending, "j" ascending
?>

A medida que los datos crecen, la indexación se vuelve crítica para un buen rendimiento de lectura. Si no está familiarizado con las indexaciones, revise la documentación de MongoCollection::ensureIndex() y l a » documentación de indexación de MongoDB.

Consultando un Conjunto de Documentos con una Consulta
Preferencias de lectura
Tutorial


Preferencias de lectura

MongoDB 2.2 y la versión 1.3.0 del controlador añaden el soporte para » preferencias de lectura, que permiten controlar cuántas consultas son dirigidas a instancias de mongod en un entorno de conjunto de réplica. Las preferencias de lectura podrían especificarse en base a cada conexión, cada base de datos, o cada colección. Las preferencias definidas en un nivel más alto serán heredadas de forma predeterminada (p.ej. MongoCollection heredará las preferencias de lectura definidas en la instancia de MongoDB conrrespondiente).

Las preferencias de lectura son especificadas con una combinación de modos y conjuntos de etiquetas. Los modos determinan cómo se priorizan instancias, mientras que los » conjuntos de etiquetas especifican criterios para elegir instancias de mongod.

Modos de preferencias de lectura

Advertencia

Todos los modos de preferencias de lectura excepto MongoClient::RP_PRIMARY podrían devolver datos antiguos, puesto que los secundarios replican operaciones del primario con alguna demora. Asegúrese de que su aplicación puede admitir datos antiguos si elige usar un modo distinto de MongoClient::RP_PRIMARY.

  • MongoClient::RP_PRIMARY

    Todas las opearciones de lectura utilizarn únicamente el primario del conjunto de réplica actual. Esto es lo predeterminado. Si el primario no está disponible, las operaciones de lectura producirán una excepción.

    Este modo es incompatible con el uso de conjuntos de etiquetas. Especificar un conjunto de etiquetas con MongoClient::RP_PRIMARY resultará en una excepción.

  • MongoClient::RP_PRIMARY_PREFERRED

    En muchas situaciones, las operaciones leen desde el miembro primario del conjunto. Sin embargo, si el primario no está disponible, como durante situaciones de tolerancia a fallos, las operacoines leen desde miembros secundarios.

    Cuando la preferencias de lectura incluye un conjunto de etiquetas, el cliente lee primero desde el primario, si está disponible, y luego desde los secundarios que coinciden con las etiquetas especificadas. Si ningún segundario coincide con alguna etiqueta, la operación de lectura producirá una excepción.

    Advertencia

    La versión 2.2 de mongos añade soporte completo para preferencias de lectura. Al conectar a instancias más antiguas de mongos, MongoClient::RP_PRIMARY_PREFERRED enviará las consultas a los secundarios.

  • MongoClient::RP_SECONDARY

    Operations read only from the secondary members of the set. If no secondaries are available, read operations will produce an exception.

    La mayoría de los conjuntos tienen al menos un secundario, pero hay situaciones donde podría no haber ningún secundario disponible. Por ejemplo, un conjunto con un primario, un secundario, y un árbitro podría no tener ningún secundario si un miembro está en estado de recuperación o indisponible.

    Cuando la preferencia de lectura incluye un conjunto de etiquetas, el cliente intenta encontrar miembros secundarios que coincidan con el conjunto de etiquetas especificado y dirigir las lecturas a un secundario aleatorio de entre el grupo más cercano. Si ningún secundario ha coincidido con las etiquetas, la operación de lectura producirá una excepción.

  • MongoClient::RP_SECONDARY_PREFERRED

    En muchas situaciones, las operaciones leen desde miembros secundarios, pero en situaciones donde el conjunto consiste el un único primario sin ningún otro miembro, la operación de lectura usará el primario del conjunto.

    Cuando la preferencia de lectura incluye un conjunto de etiquetas, el cliente intenta encontrar un miembro secundario que coincida con el conjunto de etiquetas especificado y dirigir las lecturas a un secundario aleatorio de entre el grupo más cercano. Si ningún secundario ha coincidido con las etiquetas, la operación de lectura producirá una excepción.

  • MongoClient::RP_NEAREST

    El controlador lee desde el miembro más cercano del conjunto según el proceso de selección del miembro. Las lecturas en el modo MongoClient::RP_NEAREST no consideran el tipo de miembro y podrían leer tanto desde primarios como de secundarios.

    Establezca este modo para minimizar el efecto de latencia de red en operaciones de lectura sin tener preferencia para datos actuales o antiguos.

    Si se especifica un conjunto de etiquetas, el cliente intenta encontrar un miembro que coincida con el conjunto de etiquetas especificado y dirigir las lecturas a un nodo aleatorio de entre el grupo más cercano.

    Nota:

    Todas las operaciones leen desde el miembro más cercano del conjunto de réplica que coincida con el modo de preferencia de lectura especificado. El modo MongoClient::RP_NEAREST prefiere lecturas de baja latencia sobre un estado de miembro primario o secundario.

Conjuntos de etiquetas

Los » conjuntos de etiquetas permiten especificar criterios para que una aplicación pueda dirigir operaciones de lectura hacia miembros específicos, basándose en parámetros personalizados. Los conjuntos de etiquetas aseguran que las operaciones de lectura apunten a miembros de un centro de datos en particular o a instancias de mongod diseñadas para una clase de operaciones en concreto, tales como de información o análisis.

Se pueden especificar conjuntos de etiquetas con los siguientes modos de preferencia de lectura:

  • MongoClient::RP_PRIMARY_PREFERRED

  • MongoClient::RP_SECONDARY

  • MongoClient::RP_SECONDARY_PREFERRED

  • MongoClient::RP_NEAREST

No se pueden especificar conjuntos de etiquetas con el modo de preferencia de lectura MongoClient::RP_PRIMARY. Las etiquetas se aplican solamente al seleccionar un miembro secundario de un conjunto, excepto para el cuándo en el modo más cercano.

Especificar preferencias de lectura

Las preferencias de lectura se pueden especificar en una URI proporcionada a MongoClient::__construct(), el cual utiliza una sintaxis decadena de consulta, o mediante métodos modificadores (setter) en las clases núcleo, que usan una sintaxis de array para los conjuntos de etiquetas.

Cuando se especifican los modos de preferencia de lectura en una cadena de consulta, los conjuntos de etiquetas para el valor readPreferenceTags deberían ser una secuencia delimitada por comas de pares clave/valor delimitados por dos puntos.

Nota:

Cada conjunto de etiquetas definida en la cadena de consulta utilizará el nombre readPreferenceTags. A diferencia de cómo PHP pudiera tratar cadenas de consulta de URL, los valores sucesivos para readPreferenceTags no se sobrescribirán. El controlador recopilará conjuntos de etiquetas en el orden en que aparecen en la cadena de consulta.

Advertencia

¡Si el controlador no puede encontrar un conjunto de etiquetas coincidente, la lectura fallará! Es su responsabilidad el proporcionar recursos adecuados, tales como un valor de readPreferenceTags vacío para recurrir a "no tag set preference".

Ejemplo #1 Preferencias de lectura de URI de coneción con sintaxis de cadena de consulta

<?php
// Preferir el servidor más cercano sin preferencia de etiqueta
$uri  = 'mongodb://rs1.example.com,rs2.example.com/';
$uri .= '?readPreference=nearest';
$m = new MongoClient($uri, array('replicaSet' => 'rs'));

// Elegir el servidor más cercano en el centro de datos "east"
$uri  = 'mongodb://rs1.example.com,rs2.example.com/';
$uri .= '?readPreference=nearest';
$uri .= '&readPreferenceTags=dc:east';
$m = new MongoClient($uri, array('replicaSet' => 'rs'));

// Preferir el servidor más cercano del centro de datos "east" también usado para información,
// pero recurrir a un servidor en el centro de datos "west"
$uri  = 'mongodb://rs1.example.com,rs2.example.com/';
$uri .= '?readPreference=nearest';
$uri .= '&readPreferenceTags=dc:east,use:reporting';
$uri .= '&readPreferenceTags=dc:west';
$m = new MongoClient($uri, array('replicaSet' => 'rs'));

// Preferir el servidor más cercano del centro de datos "east", luego un servidor del
// centro de datos "west", y finalmente recurrir a preferencia sin conjunto de etiquetas
$uri  = 'mongodb://rs1.example.com,rs2.example.com/';
$uri .= '?readPreference=nearest';
$uri .= '&readPreferenceTags=dc:east';
$uri .= '&readPreferenceTags=dc:west';
$uri .= '&readPreferenceTags=';
$m = new MongoClient($uri, array('replicaSet' => 'rs'));
?>

Ejemplo #2 Establecer las preferencias de lectura con sintaxis de array para conjuntos de etiquetas

<?php

$m = new MongoClient('mongodb://rs1.example.com,rs2.example.com', array(
    'replicaSet' => 'rs',
));

// Preferir el servidor más cercano sin preferencia de etiqueta
$m->setReadPreference(MongoClient::RP_NEAREST, array());

// Elegir el servidor más cercano en el centro de datos "east"
$m->setReadPreference(MongoClient::RP_NEAREST, array(
    array('dc' => 'east'),
));

// Preferir el servidor más cercano del centro de datos "east" también usado para información,
// pero recurrir a un servidor en el centro de datos "west"
$m->setReadPreference(MongoClient::RP_NEAREST, array(
    array('dc' => 'east', 'use' => 'reporting'),
    array('dc' => 'west'),
));

// Preferir el servidor más cercano del centro de datos "east", luego un servidor del
// centro de datos "west", y finalmente recurrir a preferencia sin conjunto de etiquetas
$m->setReadPreference(MongoClient::RP_NEAREST, array(
    array('dc' => 'east'),
    array('dc' => 'west'),
    array(),
));
?>

Creando un Índice
Asuntos de Escritura (Write Concerns)
Manual


Asuntos de Escritura (Write Concerns)

MongoDB proporciona diferentes maneras de seleccionar la duración de una escritura a la base de datos. Estas formas se llaman Asuntos de Escritura y lo abarcan todo: desde ignorar completamente todos los errores, a seleccionar específicamente qué servidores son necesarios para confirmar la escritura antes de devolver la operación.

Cuando una a escritura (como con MongoCollection::insert(), MongoCollection::update(), y MongoCollection::remove()) se le proporciona una opción de Asunto de Escritura ("w"), el controlador enviará la consulta a MongoDB y luego proseguirá con un comando getLastError (GLE) con la opción de Asunto de Escritura al mismo tiempo. El servidor solo devuelve cuando la condición de Asunto de Escritura se verifica que se cumple, o la consulta expira (controlado con la opción"wtimeout", 10000 milisegundos es lo predeterminado).

Advertencia

Incluso si un comando getLastError expira, los datos habrán sido escritos probablemente en el servidor primario y serán replicados a todos los secundarios una vez se hayan finalizado con ellos.

La típica razón para que una expiración ocurra es si se especifica un Asunto de Escritura que requiera confirmación de más servidores de los que estén disponibles en ese momento.

Cuando se usan escrituras reconocidas y el conjunto de réplica ha fallado, el controlador se desconectará automáticamente del primario, lanzando una excepción, e intentará encontrar un nuevo primario en la siguiente operación (una aplicación debe decidir si reintentar o no la operación en el nuevo primario).

Cuando se usan escrituras no reconocidas (w=0) y el conjunto de réplica ha fallado, no hay manera de que el controlador esté al tanto del campo, por lo que continuará y fallará en la escritura silenciosamente.

El Asunto de Escritura predeterminado para MongoClient es 1: operaciones de escritura reconocidas.

Asuntos de Escritura disponibles
Asunto de Escritura | Significado | Descripción
w=0 | Sin reconocimiento | A una escritura no le seguirá una llamada a GLE, por lo que no será verificada ("dispara y olvida")
w=1 | Con reconocimiento | El servidor reconocerá la escritura (el primario en una configuración de conjunto de réplica)
w=N | Reconocimiento por parte del conjunto de réplica | El servidor primario reconocerá la escritra, que será replicada a N-1 secundarios.
w=majority | Reconociemiento por la mayoría | La escritura será reconocia por la mayoría del conjunto de réplica (primario inclusive). Es un string reservado especial.
w=<tag set> | Reconocimiento por parte del conjunto de etiquetas del conjunto de réplica | La escritura será reconocida por miembros de conjunto de etiquetas completo
j=true | Con diario | El primario reconocerá la escritura y el diario será volcado a disco

Usar WriteConcerns

Cada método que causa escrituras ( MongoCollection::insert(), MongoCollection::update(), MongoCollection::remove(), y MongoCollection::batchInsert()) permite un argumento opcional para enviar un conjunto de opciones al servidor de MongoDB. Con este array de opciones se puede establecer el WriteConcern como ilustra el siguiente ejemplo:

Ejemplo #1 Pasar un WriteConcern a una operación de escritura

<?php
// Establecer w=0 para insertar:
$colección->insert($someDoc, array("w" => 0));

// Establecer w=majority para acutalizar:
$colección->update($someDoc, $someUpdates, array("w" => "majority"));

// Establecer w=5 y j=true para eliminar:
$colección->update($someDoc, array("w" => 5, "j" => true));

// Establecer w="AllDCs" para batchInsert:
$colección->update(array($someDoc1, $someDoc2), array("w" => "AllDCs"));
?>

Además de establecer WriteConcerns por operación como un argumento de opción, es también posible establecer un WriteConcern predeterminado de diferentes formas.

La primera forma es a través de la cadena de conexión. La cadena de conexión acpeta las opciones journal, w, y wTimeoutMS:

Ejemplo #2 WriteConcerns en cadena de conexión

<?php
$m = new MongoClient("mongodb://localhost/?journal=true&w=majority&wTimeoutMS=20000");
?>

Desde la versión 1.5 del controlador, también es posible llamar a MongoDB::setWriteConcern() y a MongoCollection::setWriteConcern() para establecer un WriteConcern predeterminado para todas las operaciones creadas desde ese objeto MongoDB o MongoCollection específico:

Ejemplo #3 MongoDB::setWriteConcern y MongoCollection::setWriteConcern

<?php
$m = new MongoClient("mongodb://localhost/");
$d = $m->demoDb;
$c = $d->demoCollection;

// Establecer w=3 en el objeto de base de datos con un tiempo de espera de 25000ms
$d->setWriteConcern(3, 25000);

// Establecer w=majority en el objeto de colección sin cambiar el tiempo de espera
$c->setWriteConcern("majority");
?>

Escrituras no reconocidas

Al no requerir que el servidor reconozca las escrituras, estas se pueden realizar extremadamente rápido, pero no se sabrá si realmente han tenido éxito. Las escritura puede fallas por varias razones: si hay problemas de red, si un servidor de bases de datos falla, o si la escritura simplemente no era válida (p.ej., al escribir en una colección de sistema, o errores de clave duplicada).

Durante el desarrollo, siempre se deberían usar escrituras reconocidas (para evitar errores inadvertidos, tales como errores de sintaxis, operadores no válidos, errores de clave duplicada , etc.). En la producción, las escrituras no reconocidas se pueden usar para datos "no importantes". Estos varían según la aplicación, pero generalmente son datos automáticos (al contrario de generados por el usuario), como el rastreo de clics o ubicaciones GPS, donde se pueden obtener miles de registros por segundo.

Es muy recomendable realizar una escritura reconocida al final de una serie de escrituras no reconocidas. Esto no incurrirá en una penalización muy grande de redimiento, pero aún se puede capturar cualquier error que pudiera ocurrir.

Ejemplo #4 Asunto de escritura no reconocido, seguido de una escritura reconocida

<?php
$colección->insert($documento, array("w" => 0));
$colección->update($criterios, $nuevonObj, array("w" => 0));
$colección->insert($otraCosa, array("w" => 0));
try {
    $colección->remove($something, array("w" => 1));
} catch(MongoCursorException $e) {
    /* Manejar la excepción... */
    /* Aquí se debería emitir consultas find() en los IDs generados para
    $otraCosa y $documento, para verificar que han sido escritos en la base de datos
    e intentar resolver dónde ocurrió algo en la serie. */
}
?>

Si la última escritura lanza una excepción, se sabrá que hay un problema en la base de datos.

Escrituras reconocidas

Este tipo de operaciones de escritura se asegura de que la base de datos ha aceptado la operación de escritura antes de indicar que ha tenido éxito. Si la escritura falla, lanzará una MongoCursorException con una explicación del fallo. El comportamiento predeterminado dee MongoClient es reconocer la escritura (w=1).

Es posible especificar cuántos miembros de un conjunto de réplica tienen que reconocer la escritura (esto es, tiene que replicarla) antes de que la escritura se estime como reconocida y la operación devuelve.

Ejemplo #5 Escrituras reconocidas

<?php
// Forzar el reconocimiento por parte del primario solamente
$colección->insert($doc, array("w" => 1));

// Forzar el reconocimiento por parte del primario, y otro miembro del
// conjunto de réplica
$colección->insert($doc, array("w" => 2));

// Forzar el reconocimiento por parte del primario, y otros seis miembros del
// conjunto de réplica (probablemente nunca debería hacer esto):
$colección->insert($doc, array("w" => 7));
?>

Recuerde seleccionar el Asunto de Escritura con cuidado. Si se tiene un conjunto de réplica con 5 miembros y se selecciona un Asunto de Escritura de 4, se corre el riesgo de bloquear la escritura para siempre cuando un miembro del conjunto de réplica se desconecte por matenimiento o por un corte temporal de la red.

Advertencia

El paso de un valor de tipo string al Asunto de Escritura posee un significado específico (Reconocimiento por parte del conjunto de etiquetas del conjunto de réplica). Tenga cuidado de NO usar valores de tipo string para números (esto es, array("w" => "1")) ya que serán tratados como el nombre de un conjunto de etiquetas.

Escrituras reconocidas por la mayoría

Usar la opción de Asunto de Escritura majority es la forma recomendada para escrituras que requieren sobrevidir al apocalipsis, ya que se asegurá de que la mayoría del conjunto de réplica tendrá la escritura y, por lo tanto, se garantizará que sobrevivirá a todos los escenarios de corte sospechosos usuales.

Ejemplo #6 Escritura reconocida por la mayoría

<?php
$colección->insert($documento, array("w" => "majority"));
?>

Escrituras con diario

Al conectarse a un conjunto de réplica, el Asunto de Escritura predeterminado es hacer que solamente el servidor primario reconozca al escritura. Hay, sin embargo, una ventata de 100 ms hasta que la escritura se escriba en el diario y sea volcada al disco. Es posible forzar a que la escritura sea escrita en el diario antes de que sea reconocia estableicendo la opción j:

Ejemplo #7 Escritura reconocida y esctrita en el diario

Forzar el volcado del diatio

<?php
$opciones = array(
    "w" => 1,
    "j" => true,
);
try {
    $colección->insert($documento, $opciones);
} catch(MongoCursorException $e) {
    /* manejar la excpeción */
}
?>

Ver también

  • » MongoDB WriteConcern docs

Historial de cambios

Versión | Descripción
1.3.0 | Se introdujo MongoClient, cuyo comportamiento predeterminado es reconocer escrituras. La obsoleta Mongo no reconoce las escrituras de forma predeterminada.
1.3.0 | La opción de escritura "safe" ahora es obsoleta y no está disponible con la nueva clase MongoClient. Use la opción "w" en su lugar.
Preferencias de lectura
Tabla de correlación de SQL a Mongo
Manual


Tabla de correlación de SQL a Mongo

Esta es una versión específica de PHP de la tabla de correlación de » SQL a Mongo de la documentación principal.

Sentencia SQL | Sentencia en el Lenguaje de Consulta Mongo
CREATE TABLE USERS (a Number, b Number) | Implícito, o utilice MongoDB::createCollection().
INSERT INTO USERS VALUES(1,1) | $db->users->insert(array("a" => 1, "b" => 1));
SELECT a,b FROM users | $db->users->find(array(), array("a" => 1, "b" => 1));
SELECT * FROM users WHERE age=33 | $db->users->find(array("age" => 33));
SELECT a,b FROM users WHERE age=33 | $db->users->find(array("age" => 33), array("a" => 1, "b" => 1));
SELECT a,b FROM users WHERE age=33 ORDER BY name | $db->users->find(array("age" => 33), array("a" => 1, "b" => 1))->sort(array("name" => 1));
SELECT * FROM users WHERE age>33 | $db->users->find(array("age" => array('$gt' => 33)));
SELECT * FROM users WHERE age<33 | $db->users->find(array("age" => array('$lt' => 33)));
SELECT * FROM users WHERE name LIKE "%Joe%" | $db->users->find(array("name" => new MongoRegex("/Joe/")));
SELECT * FROM users WHERE name LIKE "Joe%" | $db->users->find(array("name" => new MongoRegex("/^Joe/")));
SELECT * FROM users WHERE age>33 AND age<=40 | $db->users->find(array("age" => array('$gt' => 33, '$lte' => 40)));
SELECT * FROM users ORDER BY name DESC | $db->users->find()->sort(array("name" => -1));
CREATE INDEX myindexname ON users(name) | $db->users->ensureIndex(array("name" => 1));
CREATE INDEX myindexname ON users(name,ts DESC) | $db->users->ensureIndex(array("name" => 1, "ts" => -1));
SELECT * FROM users WHERE a=1 and b='q' | $db->users->find(array("a" => 1, "b" => "q"));
SELECT * FROM users LIMIT 20, 10 | $db->users->find()->limit(10)->skip(20);
SELECT * FROM users WHERE a=1 or b=2 | $db->users->find(array('$or' => array(array("a" => 1), array("b" => 2))));
SELECT * FROM users LIMIT 1 | $db->users->find()->limit(1);
EXPLAIN SELECT * FROM users WHERE z=3 | $db->users->find(array("z" => 3))->explain()
SELECT DISTINCT last_name FROM users | $db->command(array("distinct" => "users", "key" => "last_name"));
SELECT COUNT(*y) FROM users | $db->users->count();
SELECT COUNT(*y) FROM users where AGE > 30 | $db->users->find(array("age" => array('$gt' => 30)))->count();
SELECT COUNT(AGE) from users | $db->users->find(array("age" => array('$exists' => true)))->count();
UPDATE users SET a=1 WHERE b='q' | $db->users->update(array("b" => "q"), array('$set' => array("a" => 1)));
UPDATE users SET a=a+2 WHERE b='q' | $db->users->update(array("b" => "q"), array('$inc' => array("a" => 2)));
DELETE FROM users WHERE z="abc" | $db->users->remove(array("z" => "abc"));

Asuntos de Escritura (Write Concerns)
Conexión
Manual


Conexión

Tabla de contenidos

  • Autenticación
  • Conjuntos de réplicas
  • Fragmentación
  • Soporte de Socket de dominio
  • Agrupación de conexiones (versión 1.2.0-1.2.12 *solamente*)
  • Connexiones persistentes (versiones hasta 1.1.4 *solamente*

La conexión a MongoDB es tan fácil como usar new MongoClient, pero hay muchas más opciones y configuraciones adicionales. La documentación para Mongo::__construct() cubre todas las opciones de la API, pero está página ofrece más detalles y consejos para casos de uso prácticos.

Tabla de correlación de SQL a Mongo
Autenticación
Manual


Autenticación

Si MongoDB se inicia con las opciones --auth o --keyFile, se debe autenticar antes de poder realizar cualquier operación con el controlador. Se podría autenticar una conexión especificando el nombre de usuario y la contraseña, o bien en el URI de conexión, o bien en las opciones "username" y "password" de MongoClient::__construct().

Ejemplo #1 Autenticación en la base de datos "admin"

<?php
// Especificar el nombre de usuario y la contraseña en el URI de conexión (preferido)
$m = new MongoClient("mongodb://${username}:${password}@localhost");

// Especificar el nombre de usuario y la contraseña mediante el arrar de opciones (alternativa)
$m = new MongoClient("mongodb://localhost", array("username" => $username, "password" => $password));
?>

Por omisión, el controlador autenticará en la base de datos admin. Se podría autenticar en una base de datos diferente especificándola en el URI de conexión o en la opción "db" de MongoClient::__construct().

Ejemplo #2 Autenticación en bases de datos normales

<?php
// Especificar la base de datos de autenticación en la URI de conexión (preferido)
$m = new MongoClient("mongodb://${username}:${password}@localhost/myDatabase");

// Especificar la base de datos de autenticación mediante el arrar de opciones (alternativa)
$m = new MongoClient("mongodb://${username}:${password}@localhost", array("db" => "myDatabase"));
?>

Si la conexión se your connection is dropped, the driver will automatically attempt to reconnect and reauthenticate you.

Conexión
Conjuntos de réplicas
Conexión


Conjuntos de réplicas

Para conectarse a un grupo réplica, se debe especificar uno o más miembros del grupo usando la opción replicaSet. Se pueden delimitar múltiples servidores mediante comas.

Ejemplo #1 Lista de semillas de ReplicaSet

<?php
// Usar múltiples servidores como lista de semillas (preferido)
$m = new MongoClient("mongodb://rs1.example.com:27017,rs2.example.com:27017/?replicaSet=myReplSetName");

// Usar un servidor como lista de semillas
$m = new MongoClient("mongodb://rs1.example.com:27017", array("replicaSet" => "myReplSetName"));

// Usar múltiples servidores como lista de semillas
$m = new MongoClient("mongodb://rs1.example.com:27017,rs2.example.com:27017", array("replicaSet" => "myReplSetName"));
?>

El driver de PHP hará una petición al servidor(es) de base de datos listados para determinar el primario. Mientras se pueda conectar almenos a uno de los servidores listados y pueda encontrar un primario, la conexión se establecerá con éxito. Si no se puede realizar una conexión a ninguno de los servidores listados o no puede encontrar un primario, será lanzada una MongoConnectionException.

Sugerencia

Se debería proporcionar siempre una lista de semillas con más de un miembro del ReplicaSet. Para una mayor disponibilidad se debería sembrar con al menos un servidor de cada centro de datos.

Advertencia

Los nombres de host que se especifiquen aquí deben coincidir con los nombres dados en la configuración del conjunto de réplica debido a que el controlador usa el nombre como se especifica en la configuración del conjunto de réplica como identificador en su correspondencia interna. Especificar (por ejemplo) la dirección IP en lugar del nombre de host configurado hará que el controlador mantenga una conexión tanto para el nombre del host como para su dirección IP acompañante.

Advertencia

El controlador no admite la conexión a diferentes conjuntos de réplica con el mismo nombre. Esto se extiende más allá de un script, por lo que se ha de asegurar de tener diferentes nombres para cada conjunto de réplica. Esto también significa que no se puede hacer esto:

Ejemplo #2 Duplicación errónea de un nombre de un conjunto de réplica

<?php
$m = new MongoClient("mongodb://devserver1,devserver2,devserver3/?replicaSet=repset");
$m = new MongoClient("mongodb://prodserver1,prodserver2,prodserver3/?replicaSet=repset");
?>

En su lugar, se han de tener dos nombre diferentes para los conjuntos de réplica:

Ejemplo #3 Uso correcto de dos nombres de conjuntos de réplica

<?php
$m = new MongoClient("mongodb://devserver1,devserver2,devserver3/?replicaSet=devset");
$m = new MongoClient("mongodb://prodserver1,prodserver2,prodserver3/?replicaSet=prodset");
?>

Si el primario no está disponible, se hará una elección y se promoverá un secundario al rol de primario (a menos que no se pueda establecer un voto mayoritario). Durante este tiempo (» 20-60 segundos), la conexión no podrá ralizar ninguna operación de escritura, por lo que intentarlo resultará en una excepción. Las conexiones a secundarios aún podrán realizar lecturas.

Nota:

La Preferencias de lectura predeterminada solamente es para leer desde el primario. Durante el proceso de elección no hay primario, por lo que todas las lecturas fallarán.

Se recomienda usar la preferencia de lectura MongoClient::RP_PRIMARY_PREFERRED para aplicaciones que requieren una alta disponibilidad de lecturas, ya que las lecturas solamente serán ejecutadas en los secundarios cuando simplemente no haya un primario disponible.

Una vez que el primario es elegido, el intento de realizar una lectura o escritura permitirá al controlador detectar el nuevo primario. El controlador hará de esta su conexión de bases de datos primaria y continuará operando normalmente.

La salud y el estado de un secundario se comprueba cada 5 segundos (configurable con mongo.ping_interval) o cuando la siguiente operación ocurra después de 5 segundos. También recomprobará la configuración cuando el controlador tenga un problema al llegar al servidor.

La tolerancia a fallos del conjunto de réplicas se verifica cada 60 segundos (configurable con mongo.is_master_interval), y siempre que una operación de escritura falle cuando se utilicen escrituras aceptadas.

Precaución

Los secundarios podrían estar detrás del primario en las operaciones, por lo que la aplicación debe poder manejar datos desactualizados cuando se usan preferencias de lectura distintas de MongoClient::RP_PRIMARY.

Para obtener más información acerca de conjuntos de réplica, consulte la » documentación del núcleo.

Ver también

  • Preferencias de lectura
  • Asuntos de Escritura (Write Concerns)

Historial de cambios

Versión | Descripción
1.0.9 | Se añadió el soporte para conexiones a ReplicaSet y tolerancia a fallos automática.
Autenticación
Fragmentación
Conexión


Fragmentación

Para conectarse a un clúster fragmentado se ha de especificar la dirección de una o más instancias de mongos en la cadena de conexión. Se pueden delimitar múltiples servidores mediante comas.

<?php
// Usar un servidor como lista de semillas
$m = new MongoClient("mongodb://mongos1.example.com:27017");

// Usar múltiples servidores como lista de semillas
$m = new MongoClient("mongodb://mongos1.example.com:27017,mongos2.example.com:27017"));
?>

Independientemente de si cada fragmento es un servidor mongod independiente o un conjunto de réplicas complemto, el proceso de conexión del controlador es el mismo. Toda comunicación con la base de datos será enviada a través de mongos.

Para más información sobre la fragmentación con MongoDB, véase la » documentación de fragmentación.

Conjuntos de réplicas
Soporte de Socket de dominio
Conexión


Soporte de Socket de dominio

MongoDB posee un soporte interno para socket de dominio Unix y abrirá el socket al inicio, por omisión unicado en /tmp/mongodb-<port>.sock..

Para conectarse al fichero socket, especifique la ruta de la conexión MongoDB:

<?php
$m = new MongoClient("mongodb:///tmp/mongo-27017.sock");
?>

Si se quisiera autenticarse en una base de datos (como está descrito arriba) con un fichero de socket, se debe especificar un puerto de 0, y así el analizador de cadenas de conexiones podrá detectar el final de la ruta del socket. Alternativamente, se pueden usar las opciones del constructor.

<?php
$m = new MongoClient("mongodb://username:password@/tmp/mongo-27017.sock:0/foo");
?>

Historial de cambios

Versión | Descripción
1.0.9 | Se añadió el soporte para sockets de domicio Unix.
Fragmentación
Agrupación de conexiones (versión 1.2.0-1.2.12 *solamente*)
Conexión


Agrupación de conexiones (versión 1.2.0-1.2.12 *solamente*)

Nota:

Esta sección ya no tiene relevancia a partir de la versión 1.3.0 del controlador y únicamente sirve como información histórica de cómo solía funcionar la agrupación.

Las últimas versiones del controlador ya no posee el concepto de agrupación, por lo que solamente mantendrá una conexión por proceso, para cada tipo de conexión (ReplicaSet/standalone/mongos), para cada combinación de credenciales.

La creación de conexiones es uno de las cosas más pesada que el driver realiza. Puede tomar miles de milisegundos establecer una conexión correcta, incluso en una red rápida. Por lo tanto, el driver intentará reducir el número de nuevas conexiones creadas mediante la reutilización del pool de conexiones.

Cuando un usuario crea una nueva instancia de MongoClient, todas las conexiones necesarias serán tomadas por el pool (un conjunto de replicas de conexiones pueden requerir conexiones múltiples). Cuando la instancia de MongoClient se sale del ámbito, las conexiones se retornarán al pool. Cuando el proceso en PHP termine, todas las conexiones en el pools serán cerrados.

"¿Por qué tengo tantas conexiones abiertas?"

Las conexiones en el pool pueden generar un gran número de estas. Esto es normal y, con un poco de aritmética, es posible averiguar la cantidad de conexiones que se crearán. Hay tres factores que determinan el número total de conexiones:

  • connections_per_pool

    Cada pool creará, por omisión, un número ilimitado de conexiones. Uno puede suponer que este es un problema: si puede crear un número ilimitado de conexiones, no se podría crear miles y el servidor se quedaría sin descriptores de ficheros. En la práctica, es poco probable, ya que las conexiones no utilizadas son devueltas al pool para usarlos luego, Así las futuras conexiones van a utilizar la misma conexión en lugar de crear uno nuevo. A menos que cree miles de conexiones a la vez sin que ninguna este fuera del ámbito, el número de conexiones abiertas deben permanecer en un número razonable.

    Puede verse cuantas conexiones se tiene en el pool utilizando la función MongoPool::info(). Agregue los campos "in use" y "in pool" de un servidor determinado. Ese será el número total de conexiones de ese pool.

  • pools_per_process

    Cada dirección del servidor MongoDB al cual se va a conectar contiene su propio pool de conexiones. Por ejemplo, si el hostname local es "example.net", connectarse a "example.net:27017", "localhost:27017", y "/tmp/mongodb-27017.sock" creará tres grupos pools de conexiones. Puede ver como muchos grupos pools de conexiones tienes abiertas usando MongoPool::info().

  • processes

    Cada proceso PHP tiene un conjunto independiente de pools. PHP-FPM y Apache generalmente crean entre 6 y un par de docenas de PHP worker children. Compruebe su configuración y vea cuál es el máximo número de procesos de PHP que se pueden procesar.

    Si está usando PHP-FPM, la estimación del número de conexiones puede ser difícil porque este puede procesar más workers de PHP-FPM y así volver pesado la carga. Para estar en lado de la seguro, mire en parámetro max_children o sume spare_servers + start_servers (elegir el número más alto). Esto indicará cuántos procesos de PHP (es decir, conjuntos de agrpuaciones) se deberían planificar.

Las tres variables de arriba se pueen multiplicar juntas para obtener el número máximo de conexiones esperadas: connections_per_pool * pools_per_process * processes. Observe que connections_per_pool puede ser diferente para diferentes agrupaciones, por lo que connections_per_pool debería ser el máximo.

Por ejemplo, supongamos que se recibe 30 conexiones por pool, 10 pools por procesos en PHP, y 128 procesos PHP. Entonces podemos esperar 38400 conexiones desde esta máquina. Por lo tanto, debemos establecer el límite del descriptor del fichero para ser lo suficientemente alto para manejar todas las conexiones o pueda ejecutarse los ficheros de descriptores.

See MongoPool para obtener más información sobre la conexión pooling.

Soporte de Socket de dominio
Connexiones persistentes (versiones hasta 1.1.4 *solamente*
Conexión


Connexiones persistentes (versiones hasta 1.1.4 *solamente*

Nota:

Esta sección no es relevante para 1.2.0+. En 1.2.0+, siempre las conexiones que son persistentes son administradas automáticamente por el driver. Si se utiliza una versión 1.2.x (pero no 1.3.x o posterior), véase MongoPool para más información sobre agrupaciones.

Crear una nueva conexión cada vez a la base de datos es muy lento. Para minimizar el número de conexiones que se necesite, se pueden usar las conexiones persistentes. Una conexión persistente es guardada por PHP, para que pueda usarse la misma conexión en múltiples peticiones.

Por ejemplo, este simple programa para conectarse 1000 veces a la base de datos:

<?php

for ($i=0; $i<1000; $i++) {
  $m = new MongoClient();
}

?>

Esto tarda apróximadamente 18 segundos en ejecutarse. Pero si lo cambiamos para que utilice una conexión persistente:

<?php

for ($i=0; $i<1000; $i++) {
  $m = new MongoClient("localhost:27017", array("persist" => "x"));
}

?>

...tardará menos de 0.02 segundos en ejecutarse, ya que solo se realiza una sola conexión a la base de datos.

Las conexiones persistentes necesitan indicarse usando la variable de identificación (tal y como se muestra "x" en el ejemplo anterior). Para que la conexión persistente pueda usarse, el hostname, puerto, variable persist y las credenciales de autenticación (nombre de usuario, contraseña y base de datos) debe coincidir con una conexión persistente ya existente. De lo contrario, se creará una nueva conexión los datos proporcionados.

Las conexiones persistentes son altamente recomendables y se deberían usar siempre en producción a no ser que exista una razón con fundamento para hacer lo contrario. La mayoría de razones por las cuales no son recomendadas para bases de datos relacionales son totalmente irrelevantes para MongoDB.

Agrupación de conexiones (versión 1.2.0-1.2.12 *solamente*)
Escrituras
Conexión


Escrituras

Actualizar objetos anidados

Supongamos que queremos cambiar el nombre del autor de un comentario en este documento:

{
    "_id" : ObjectId("4b06c282edb87a281e09dad9"),
    "content" : "this is a blog post.",
    "comments" :
    [
        {
            "author" : "Mike",
            "comment" : "I think that blah blah blah...",
        },
        {
            "author" : "John",
            "comment" : "I disagree."
        }
    ]
}
Para cambiar un campo interno usamos $set (de manera que el resto de campos no se eliminen) con el índice del comentario a cambiar:
<?php

$blog->update($criteria, array('$set' => array("comments.1" => array("author" => "Jim"))));

?>

El operador posicional

El operador posicional $ es útil a la hora de actualizar objetos de arrays. En el ejemplo anterior, por ejemplo, podríamos no conocer el índice del comentario que necesitamos modificar; sólo sabemos que queremos cambiar "John" a "Jim". Podemos usar $ para lograrlo.

<?php

$blog->update(
    array("comments.author" => "John"),
    array('$set' => array('comments.$.author' => "Jim")));

?>
Connexiones persistentes (versiones hasta 1.1.4 *solamente*
Consultas
Manual


Consultas

Distribuyendo consultas a esclavos

Todas las consultas (lecturas y escrituras) solamente se envian al miembro primario de un conjunto de réplicas de manera predeterminada. Sin embargo, esto es fácilmente configurable usando las Preferencias de lectura, que permiten establecer algunas preferencias de lectura genéricas (tales como permitir que un secundario lea del servidor más cercano), y también proporcionar formas de dirigir específicamente un servidor en un país concreto, o incluso hardware, usando los conjuntos de etiquetas de conjuntos de réplicas.

Las preferencias de lectura se pueden configurar a "cualquier nivel"

  • Como parámetro de consulta, u opción, a MongoClient::__construct()
  • Específicamente invocando a MongoClient::setReadPreference()
  • Al nivel de la base de datos con MongoDB::setReadPreference()
  • Al nivel de la colección con MongoCollection::setReadPreference()
Cada clase hereda la configuración de preferencias de lectura de su clase superior, por lo que si se hace:

Ejemplo #1 Heredar ReadPreferences del nivel de la base de datos hacia el Cursor

<?php
$db->setReadPreference(MongoClient::RP_SECONDARY_PREFERRED);
$c = $db->myCollection;

$cursor = $c->find();
?>

entonces, la consulta será ejecutada en un secundario (la colección MongoClient::RP_SECONDARY_PREFERRED heredada de la base de datos y el cursor heredado de la colección).

Cómo se escogen los esclavos

Cada instancia de MongoClient escoge su propio secundario utilizando el secundario disponible con el menor tiempo de respuesta. Es decir, si tuviéramos un cliente PHP en Europa y otro en Australia y tuviéramos un secundario en cada uno de estos centros de datos, podríamos hacer:

<?php
$options = array("replicaSet" => "setName", "readPreference" => MongoClient::RP_SECONDARY_PREFERRED);

// en el cliente de Australia
$m = new MongoClient("mongodb://primary,australianhost.secondary,europeanhost.secondary", $options);
$cursor = $m->foo->bar->find();
$cursor->getNext();
echo "Leyendo desde: ", $cursor->info()["server"], "\n";

// en el cliente de Europa
$m = new MongoClient("mongodb://primary,australianhost.secondary,europeanhost.secondary", $options);
$cursor = $m->foo->bar->find();
$cursor->getNext();
echo "Leyendo desde: ", $cursor->info()["server"], "\n";
?>

El resultado del ejemplo sería algo similar a:

Reading from: australianHost
Reading from: europeanHost

Tenga en cuenta que se debe realizar una consulta antes de elegir un secundario: los secundarios los elige el controlador de forma retardada, y para cada consulta por separado.

Se puede ver los que el controlador piensa que es el estado actual de los miembros del conjunto ejecutando MongoClient::getHosts() o MongoClient::getConnections().

Si un secundario no es legible, el controlador enviará las lecturas al primario que se especificó con MongoClient::RP_SECONDARY_PREFERRED, que recurrirá a ejecutar una consulta en un primario si no estuviera disponible un secundario. Un servidor es considerado legible si su estado es 2 (SECONDARY) y su salud es 1. Se puede verificar esto con MongoClient::getHosts() y MongoClient::getConnections().

Notas aleatorias

Las escrituras siempre se envian al primario y, de forma predeterminada, todas las lecturas son enviada también al primario.

Consultando por _id

A cada objeto que se inserta se le asigna automáticamente un campo _id único, el cual, a menudo, es un campo útil para usarlo en consultas. Esto funciona de forma similar a la funcionalidad "obtener el último ID insertado", excepto que el _id es escogido por el cliente.

Supongamos que queremos localizar el documento que acabamos de insertar. Las inserciones añaden un campo _id al documento, de modo que podemos consultar en base a él:

<?php
$person = array("name" => "joe");

$people->insert($person);

// ahora $joe tiene un campo _id
$joe = $people->findOne(array("_id" => $person['_id']));
?>

Salvo que se indique lo contrario, el campo _id será de tipo MongoId. El error más frecuente consiste en usar una cadena de texto que concuerde con un MongoId. Debe tenerse presente que son dos tipos de datos distintos, y no concuerdan, del mismo modo que el texto "array()" no es lo mismo que un array vacío. Por ejemplo:

<?php
$person = array("name" => "joe");

$people->insert($person);

// convertimos el _id a texto
$pid = $person['_id'] . "";

// FALLO - $pid es un texto, no un MongoId
$joe = $people->findOne(array("_id" => $pid));
?>

Arrays

Los arrays son especiales por varias razones. En primer lugar, hay dos tipos de arrays que MongoDB utiliza: arrays "normales" y arrays asociativos. Los arrays asociativos pueden tener cualquier combinación de claves y valores. Los arrays "normales" se definen como arrays con un índice numérico ascendente que comienza por 0 y se incrementa en uno por cada elemento. Estos son, normalmente, los arrays de PHP más comunes.

Por ejemplo, si se quisiera guardar una lista de premios en un documento, podríamos poner:

<?php

$collection->save(array("awards" => array("gold", "silver", "bronze")));

?>

Las consultas pueden llegar hasta los arrays en busca de elementos. Supongamos que queremos encontrar todos los documentos que contienen un elemento de un array con un determinado valor. Por ejemplo, documentos con un premio "gold", como por ejemplo:

{ "_id" : ObjectId("4b06c282edb87a281e09dad9"), "awards" : ["gold", "silver", "bronze"]}

Esto puede lograrse con una única consulta, ignorando el hecho de que "awards" es un array:

<?php

  $cursor = $collection->find(array("awards" => "gold"));

?>

Supongamos que estamos consultando un objeto más complejo, si cada elemento del array fuera un objeto en sí mismo, como en:

{
     "_id" : ObjectId("4b06c282edb87a281e09dad9"),
     "awards" :
     [
        {
            "first place" : "gold"
        },
        {
            "second place" : "silver"
        },
        {
            "third place" :  "bronze"
        }
     ]
}

Incluso aquí, ignorando que se trata de un array, podemos usar la misma notación para consultar al subobjeto:

<?php

$cursor = $collection->find(array("awards.first place" => "gold"));

?>

Debe tenerse en cuenta que no importa que haya espacios en los nombres de campos (pese a que sea mejor no usarlos, sólo por mantenerlo más legible).

Puede también usarse un array para consultar un determinado número de posibles valores. Por ejemplo, si buscáramos documentos "gold" o "copper", podríamos hacer:

<?php

$cursor = $collection->find(array("awards" => array('$in' => array("gold", "copper"))));

?>

Historial de cambios

Versión | Descripción
1.3.0 | Se introdujo el framwork Preferencias de Lectura para poder tener más control sobre las lecturas de secundarios.
1.3.0 | Uso obsoleto de slaveOkay, la alternativa es Preferencias de Lectura.
1.1.0 | Se introdujo la posibilidad de enviar lecturas a secundarios de miembros de conjuntos de réplicas usando Mongo::setSlaveOkay()
Escrituras
Actualizaciones
Manual


Actualizaciones

Las actualizaciones quizás sean las operaciones más complicadas de las disponibles en MongoDB. Combinan una consulta junto con una acción, modificando los documentos que concuerdan con los criterios de selección. Son también muy potentes, permitiendo cambiar rápidamente los documentos y reemplazarlos. Se realiza al momento (siempre y cuando sea posible), minimizando el consumo de recursos.

Modificación o reemplazo de documentos

Existen dos tipos de actualizaciones: actualizaciones de modificación y actualizaciones de reemplazado. Las actualizaciones de modificación contienen operandos $ y cambian los campos de un documento: pueden incrementar contadores, agregar elementos a un array, o modificar el tipo de dato de un campo.

Por ejemplo, una actualización de modificación puede añadir un nuevo campo a un documento.

<?php
/** supongamos un documento así:
 * {"username" : "...", "password" : "...", "email" : "..."}
 */
$coll->update(array("username" => "joe"), array('$set' => array("twitter" => "@joe4153")));

/** ahora el documento sería así:
 * {"username" : "joe", "password" : "...", "email" : "...", "twitter" : "@joe4153"}
 */
?>

Las actualizaciones de reemplazado modifican todo el documento seleccionado por otro nuevo. Generalmente no es tan eficientes como usar operandos $, pero pueden ser muy útiles en operaciones complejas o en actualizaciones que no se pueden expresar en términos de operandos $.

Por ejemplo, una actualización de reemplazado puede cambiar por completo la estructura de un documento.

<?php
/** supongamos un documento así:
 * {"username" : "...", "password" : "...", "email" : "..."}
 */
$coll->update(array("username" => "joe"), array("userId" => 12345, "info" => array(
    "name" => "joe", "twitter" => "@joe4153", "email" => "..."), "likes" => array()));

/** ahora el documento quedaría así:
 * {
 *     "userId" : 12345,
 *     "info" : {
 *         "name" : "joe",
 *         "twitter" : "@joe4153",
 *         "email" : "..."
 *     },
 *     "likes" : []
 * }
 */
?>

Actualizando Objetos Anidados

Supongamos que queremos cambiar el nombre del autor de un comentario en este documento:

{
    "_id" : ObjectId("4b06c282edb87a281e09dad9"),
    "content" : "this is a blog post.",
    "comments" :
    [
        {
            "author" : "Mike",
            "comment" : "I think that blah blah blah...",
        },
        {
            "author" : "John",
            "comment" : "I disagree."
        }
    ]
}
Para cambiar el campo interno, usamos $set (de manera que no se eliminen el resto de campos) con el índice del comentario a cambiar:
<?php

$blog->update($criteria, array('$set' => array("comments.1" => array("author" => "Jim"))));

?>

El Operador Posicional

El operador posicional $ es útil a la hora de actualizar objetos en arrays. En el ejemplo anterior, por ejemplo, podríamos no conocer el índice del comentario que necesitamos modificar, sólo sabemos que queremos cambiar "John" a "Jim". Podemos usar $ para lograrlo.

<?php

$blog->update(
    array("comments.author" => "John"),
    array('$set' => array('comments.$.author' => "Jim")));

?>
Consultas
Seguridad
Manual


Seguridad

Ataques de Inyección de Petición

Al pasar parámetros $_GET a una consulta, debemos asegurarnos de que se han convertido en strings. Un usuario puede insertar un array asociativo en una petición GET, provocando consultas $ no deseadas.

Un ejemplo aparentemente inofensivo: supongamos que estamos buscando información de un usuario con la petición http://www.example.com?username=bob. La aplicación realiza la consulta $collection->find(array("username" => $_GET['username'])).

Alguien podría alterarlo realizando una consulta a http://www.example.com?username[$ne]=foo, con lo que PHP lo convertirá automáticamente a un array asociativo, creando la consulta $collection->find(array("username" => array('$ne' => "foo"))), que devolverá todos los usuarios con nombre distinto de "foo" (probablemente, todos).

Es sencillo defenderse de un ataque como éste: hay que asegurarse de que los parámetros $_GET son del tipo esperado antes de enviarlos a la base de datos (en este caso, convertirlos a string).

Tenga en cuenta que este tipo de ataque se puede usar con cualquier interacción con una base de datos que localice documentos, incluyendo actualizaciones, busquedas con modificación, y eliminaciones.

Gracias a » Phil por apuntar esto.

Para más información sobre ataques tipo inyección SQL con MongoDB revise » la documentación principal.

Ataques de Inyección de Código

Si se está usando JavaScript, debemos asegurarnos que cualquier variable que cruce los límites PHP-JavaScript se pasa en el campo scope de MongoCode, y no interpolado en el código JavaScript. Esto sucede al llamar a MongoDB::execute(), consultas $where, MapReduces, agrupaciones, y cualquier otra situación en que se proporcione código JavaScript a la base de datos.

Nota:

MapReduce ignora el campo scope de MongoCode, pero hay una opción scope disponible en el comando que puede utilizarse en su lugar.

Por ejemplo, supongamos que tenemos un código JavaScript para saludar a los usuarios en los registros de la base de datos. Podríamos:

<?php

// ¡no haga esto!

$username = $_POST['username'];
$db->execute("print('Hola, $username!');");

?>

Pero, ¿qué ocurriría si un usuario malicioso metiera código JavaScript?

<?php

// ¡no haga esto!

// $username tiene como valor "'); db.users.drop(); print('"
$db->execute("print('Hola, $username!');");

?>

Ahora MongoDB ejecuta el código JavaScript "print('Hola, '); db.users.drop(); print('!');". Este ataque es fácil de evitar: utilice scope al pasar variables de PHP a Javascript:

<?php

$scope = array("user" => $username);
$db->execute(new MongoCode("print('Hello, '+user+'!');", $scope));

?>

Esto añade la variable user al ámbito de JavaScript. Si ahora alguien quisiera añadir código malicioso, MongoDB imprimiría, sin causar daños, Hello, '); db.dropDatabase(); print('!.

El uso de scope ayuda a prevenir que se ejecutene en la base de datos entradas maliciosas. Sin embargo, debe asegurarse de que su código no cambie y ejecute los datos de entrada. Por ejemplo, nunca utilice la función eval de JavaScript con los datos de entrada de un usuario:

<?php

// ¡no haga esto!

// $jsShellInput es "db.users.drop();"
$scope = array("input" => $jsShellInput);
$db->execute(new MongoCode("eval(input);", $scope));

?>

Use siempre scope y nunca permita que la base de datos ejecute como código los datos de entrada del usuario.

Actualizaciones
Solución a problemas
Manual


Solución a problemas

En caso de que tuviera problemas, existe un gran número de recursos que consultar.

  • IRC

    El canal IRC oficial de MongoDB es irc.freenode.net/#mongodb. Éste es el método mas rápido para conseguir ayuda.

  • Listas de correo

    La » lista de correo de MongoDB es un buen (y por lo general rápido) método para encontrar respuestas.

  • Seguimiento de fallos

    ¿Ha encontrado un fallo? ¿Echa algo en falta? ¿Tiene alguna pregunta? Archívela en el » bug track del driver de PHP.

Se puede hacer que el controlador registre todos los tipo de mensajes de error como mensajes de error de PHP de nivel E_NOTICE. Héchele un vistazo a la clase MongoLog para un ejemplo.

Seguridad
Ejecutar los test del controlador
Manual


Ejecutar los test del controlador

El paquete PECL no incluyen los test, pero están disponible em » Github.

Los test .phpt

Los test .phpt son la forma estándar de probar extensiones de PHP. Después de compilar el controlador MongoDB con "make", se puede hacer "make test" para ejecutar los test. Estos test requieren que MongoDB se esté ejecutando, y por lo tanto, es necesario configurar el conjunto de test en sí.

Hay más información sobre la ejecución de test en las directivas de contribución en » GitHub.

Notificar errores

Por favor, notifique cualquier fallo o error en el » bugtracker. Podría haber test que se omitan. Esto es normal, por lo que puede ignorarlo.

¡Los nuevos test siempre son bienvenidos! Por favor, no dude en contribuir con nuevos test de cualquier tipo que pongan a prueba cualquier funcionalidad.

Solución a problemas
Clases del núcleo
Manual


Clases del núcleo

Tabla de contenidos

  • MongoClient
  • MongoDB
  • MongoCollection
  • MongoCursor

Las clases del núcleo son la parte más importante del controlador.

Ejecutar los test del controlador
MongoClient
Mongo


La clase MongoClient

(PECL mongoclient >=1.3.0)

Introducción

Un administrador de conexiones para PHP y MongoDB.

Esta clase sirve para crear un administrar conexiones. Un uso típico es:

Ejemplo #1 Uso básido de MongoClient

<?php

$m = new MongoClient(); // conectar
$bd = $m->foo; // obtener la base de datos "foo"

?>

Véase MongoClient::__construct() y la sección sobre conexiones para más información para crear conexiones.

Sinopsis de la Clase

MongoClient {
/* Constantes */
const string VERSION ;
const string DEFAULT_HOST = "localhost" ;
const int DEFAULT_PORT = 27017 ;
const string RP_PRIMARY = "primary" ;
const string RP_PRIMARY_PREFERRED = "primaryPreferred" ;
const string RP_SECONDARY = "secondary" ;
const string RP_SECONDARY_PREFERRED = "secondaryPreferred" ;
const string RP_NEAREST = "nearest" ;
/* Propiedades */
public boolean $connected = FALSE ;
public string $status = NULL ;
protected string $server = NULL ;
protected boolean $persistent = NULL ;
/* Métodos */
public __construct ([ string $server = "mongodb://localhost:27017" [, array $options = array("connect" => TRUE) ]] )
public bool close ([ boolean|string $connection ] )
public bool connect ( void )
public array dropDB ( mixed $db )
public MongoDB __get ( string $dbname )
public static array getConnections ( void )
public array getHosts ( void )
public array getReadPreference ( void )
public bool killCursor ( string $server_hash , int|MongoInt64 $id )
public array listDBs ( void )
public MongoCollection selectCollection ( string $db , string $collection )
public MongoDB selectDB ( string $name )
public bool setReadPreference ( string $read_preference [, array $tags ] )
public string __toString ( void )
}

Constantes predefinidas

Constantes de MongoClient

MongoClient::VERSION
Versión del controlador de PHP. Podría estar sufijado con "dev", "+" o "-" si está entre versiones.
MongoClient::DEFAULT_HOST
"localhost"
Host al que conectar si no se proporciona uno.
MongoClient::DEFAULT_PORT
27017
Puerto al que conectar si no se proporciona uno.
MongoClient::RP_PRIMARY
"primary"
Preferencia de lectura para el miembro primario del conjunto de réplica.
MongoClient::RP_PRIMARY_PREFERRED
"primaryPreferred"
Preferencia de lectura para elegir el miembro primario del conjunto de réplica.
MongoClient::RP_SECONDARY
"secondary"
Preferencia de lectura para un miembro secundario del conjunto de réplica.
MongoClient::RP_SECONDARY_PREFERRED
"secondaryPreferred"
Preferencia de lectura para elegir un miembro secundario del conjunto de réplica.
MongoClient::RP_NEAREST
"nearest"
Preferencia de lectura para el miembro más cercano del conjunto de réplica.

Campos

connected
Esta propiedad será establecida a TRUE si se tienen una conexión abierta a la base de datos basada en la ReadPreference y conjuntos de etiquetas (para conexiones de ReplicaSet), FALSE de lo contrario. Esta propiedad no toma en cuenta la autenticación.
status
Esta propiedad ya no se usa y será establecida a NULL. En las versiones 1.1.x y anteriores del controlador, podría establecerse a un valor string (p.ej. "recycled", "new") cuando se usen conexiones persistentes.

Ver también

  • Preferencias de lectura
  • Asuntos de Escritura (Write Concerns)
  • Conexión
  • Documentación del núcleo de MongoDB sobre » conexiones

Tabla de contenidos

  • MongoClient::close — Cierra esta conexión
  • MongoClient::connect — Conecta a un servidor de bases de datos
  • MongoClient::__construct — Crea un nuevo objeto de conexión a base de datos
  • MongoClient::dropDB — Elimina una base de datos [obsoleto]
  • MongoClient::__get — Obtiene una base de datos
  • MongoClient::getConnections — Devuelve información sobre todas las conexiones abiertas
  • MongoClient::getHosts — Actualiza el estado de todos los hosts asociados
  • MongoClient::getReadPreference — Obtener la preferencia de lectura para esta conexión
  • MongoClient::killCursor — Elimina un cursor específico del servidor
  • MongoClient::listDBs — Enumera todas las bases de datos disponibles
  • MongoClient::selectCollection — Obtiene una colección de bases de datos
  • MongoClient::selectDB — Obtiene una base de datos
  • MongoClient::setReadPreference — Establece la preferencia de lectura para esta conexión
  • MongoClient::__toString — Representación de cadena de esta conexión
Clases del núcleo
MongoClient::close
Clases del núcleo


Cierra esta conexión

MongoClient
MongoClient::connect
MongoClient
PHP Manual

MongoClient::close

(PECL mongoclient >=0.9.0)

MongoClient::close — Cierra esta conexión

Descripción

public bool MongoClient::close ([ boolean|string $connection ] )

El método MongoClient::close() cierra forzosamente una conexión a la base de datos, incluso si se están usando conexiones persistentes. Nunca se debería realizar esto bajo circunstancias normales.

Parámetros

connection

La conexión. Si no se proporciona una, o es FALSE, la conexión que fuera seleccionada para escrituras será cerrada. En una configuración de un solo nodo, esto es, la conexión completa, y si se está conectado a un conjunto de réplica, close() solamente cerrará la conexión al servidor primario.

Si connection es TRUE, todas las conexiones disponibles en el administrador de conexiones serán cerradas. Esto puede incluir conexiones a las que no hace referencia la cadena de conexión usada para crear el objeto que se usa para invocar el cierre.

Si connection es un argumento de tipop string, solamente se cerrará la conexión identificada por este hash. Los hash son identificadores para una conexión que pueden obtenerse llamando a MongoClient::getConnections().

Valores devueltos

Devuelve si la conexión fue cerrada con éxito.

Ejemplos

Ejemplo #1 Ejemplo de MongoClient::close()

Este ejemplo muestra cómo cerrar selectivamente todas las conexiones únicamente a secundarios.

<?php
// Conectar a un conjunto de réplica
$a = new MongoClient("mongodb://whisky:13000/?replicaset=seta");

$conexiones = $a->getConnections();

foreach ( $conexiones as $con )
{
    // Iterar sobre todas las conexiones, y cuando el tipo es "SECONDARY"
    // cerramos la conexión
    if ( $con['connection']['connection_type_desc'] == "SECONDARY" )
    {
        echo "Cerrando '{$con['hash']}': ";
        $cerrada = $a->close( $con['hash'] );
        echo $cerrada ? "ok" : "falló", "\n";
    }
}
?>

El resultado del ejemplo sería:

Closing 'whisky:13001;X;4948': ok

Historial de cambios

Versión | Descripción
1.3.0 | El parámetro connection de esta función fue añadido en la versión 1.3.0. Anteriormente, solamente se podía cerra la conexión de escritura mediante este método.
1.2.0 | Antes de la versión 1.2.0, el controlador no utilizaba conexiones persistentes de forma predeterminada, por lo que todas las conexiones se cerraban tan pronto como una conexión de MongoDB estuviera fuera de ámbito. Desde la versión 1.2.0, este ya no es el caso, y es una mala idea invocar a close, ya que se podría terminar por sobrecargar el servidor con conexiones bajo una alta carga.

Ver también

  • MongoClient::getConnections() - Devuelve información sobre todas las conexiones abiertas
MongoClient
MongoClient::connect
MongoClient


Conecta a un servidor de bases de datos

MongoClient::close
MongoClient::__construct
MongoClient
PHP Manual

MongoClient::connect

(PECL mongoclient >=0.9.0)

MongoClient::connect — Conecta a un servidor de bases de datos

Descripción

public bool MongoClient::connect ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Si la conexión se realizó con éxito.

Errores/Excepciones

Lanza una MongoConnectionException si falla al conectarse a la base de datos.

MongoClient::close
MongoClient::__construct
MongoClient


Crea un nuevo objeto de conexión a base de datos

MongoClient::connect
MongoClient::dropDB
MongoClient
PHP Manual

MongoClient::__construct

(PECL mongoclient >=0.9.0)

MongoClient::__construct — Crea un nuevo objeto de conexión a base de datos

Descripción

 public  MongoClient::__construct()
  ([ string $server = "mongodb://localhost:27017"
 [, array $options = array("connect" => TRUE)
]] )

Si no se proporció ninúng parámetro, se conectará a "localhost:27017" (o lo que fuera especificado en php.ini para mongo.default_host y mongo.default_port).

server debería tener la forma:

mongodb://[nombre_usuario:contraseña@]host1[:puerto1][,host2[:puerto2:],...]/bd

La cadena de conexión siempre comienza con mongodb://, para indicar que es una cadena de conexión con esta forma.

Si se especifican nombre_usuario y contraseña, el constructor intenrará autenticar la conexión con la base de datos antes de devolver. El nombre de usuario y la contraseña son opcionales y deben estar seguidos por un @, si se especifican.

Se debe proporcionar al menos un host (el puerto es opcional, cuyo valor predeterminado siempre es 27017) yand as many hosts as desired may be connected to. Los nombres de host están separados por comas, y el constructor devolverá con éxito si se conectó a, al menos, un host. Si no se pudo conectar a ninguno, lanzará una excepción de tipo MongoConnectionException. Véase la sección Conjuntos de réplica para información sobre cómo conectarse a Conjuntos de réplica.

Si se especifica un nombre de usuario y una contraseña, se podría especificar una base de datos a la que autenticarse. Si bd no se especifica, se usará "admin".

Se puede usar una cadena de conexión opcional para especificar opciones extra. Las mismas opciones también son admitidas a través del array options, y, por lo tanto, están descritas allí. Véanse los ejemplo de abajo sobre como establecer estas opciones.

Una parte de las opciones gobierna la forma en la que el controlador lee desde nodos secundarios en un entorno de conjunto de réplica. Hay disponible también información extra de cómo funcionan las preferencias de lectura en la página de la documentación de preferencias de lectura.

Parámetros

server

El nombre del servidor.

options

Un array con opciones para la conexión. Las opciones disponibles actualmente son:

  • "connect"

    Si el constructor debería conectar antes de devolver. El valor predeterminado es TRUE. Si se establece a FALSE, el controlador se conectará automáticamente al servidor cuando sea necesario realizar una consulta. Alternativamente, se puede ejecutar MongoClient::connect() de forma manual.

    Advertencia

    Esta opción no está admitida a través de la cadena de conexión.

  • "connectTimeoutMS"

    Cuánto puede tomar una conexión para ser abierta antes de expirar en milisegundos.

  • "db"

    La base de datos en la que autenticarse se puede especificar aquí, en lugar de incluirla en la lista de hosts. Esto anula una base de datos proporcionada en la lista de hosts.

  • "fsync"

    Cuando se establece fsync, todas las operaciones de lectura en la base de datos únicamente devuelvan cuando la escritura haya sido sincronizada con el disco. Esto hace que las operaciones de lectura sean más lentas, pero garantiza que la operación de escritura tenga éxito y se consigne al disco. Si se tiene la opción "journal" activada en MongoDB (lo predeterminado), la sincronización le sucede solamente al journal. Si no está habilitado, el uso de fsync requiere un volcado completo al disco.

    Advertencia

    No use esta opción, está obsoleta; use la opción journal en su lugar, quizá junto con la opción w.

  • "journal"

    Cuando se establece journal, todas las operaciones de lectura en la base de datos bloquearán hasta que el servidor de bases de datos haya volcado sus ficheros de bases de datos al disco. Esto hace que las operaciones sean marginalmente más lentas, pero garantiza que la operación de escritura tenga éxito y que pueda ser recuperada en caso de un fallo total del sistema.

  • "password"

    La contraseña se puede especificar aquí, en lugar de hacerlo en la lista de hosts. Esto es especialmente útil si una contraseña contuviera un carácter "@". Esto anula a una contraseña establecida en la lista de hosts.

  • "readPreference"

    Especifica el tipo de preferencia de lectura. Las preferencias de lectura proporcionan control sobre los secundarios desde los que se pueden leer datos.

    Los valores permitidos son: MongoClient::RP_PRIMARY,
MongoClient::RP_PRIMARY_PREFERRED,
MongoClient::RP_SECONDARY,
MongoClient::RP_SECONDARY_PREFERRED y
MongoClient::RP_NEAREST.

    Véase la documentación sobre preferencias de lectura para más información.

  • "readPreferenceTags"

    Especifica las etiquetas de preferencia de lectura como un array de strings. Las etiquetas se pueden usar junto con la opción readPreference para un control mayor sobre los secundarios desde los que se podrían leer datos.

    Véase la documentación sobre preferencias de lectura para más información.

  • "replicaSet"

    El nombre del conjunto de réplica al que conectarse. Si se proporciona, el primario será automáticamente determinado. Esto significa que el controlador podría acabar por conectarse a un servidor que no estuviera en la lista. Véase el ejemplo del conjunto de réplica abajo para mas detalles.

  • "socketTimeoutMS"

    Durante cuánto tiempo se puede enviar o recivir desde un socket antes de que expite.

    Nota: Es un tiempo de espera del lado del cliente. Si un insert afecta al valor de socketTimeoutMS, no hay manera de conocer si el servidor realmente recibió la escritura.

  • "ssl"

    Un booleano para especificar si se desea habilitar SSL para las conexiones a MongoDB. Las opciones extra, como los certificados, se pueden establecer con Opciones de contexto para SSL.

  • "username"

    El nombre de usuario se puede especificar aquí, en lugar de incluirlo en la lista de hosts. Esto es especialmente útil de un nombre de usuario contuviera un carácter ":". Esto anula un nombre de usuario establecido en la lista de hosts.

  • "w"

    La opción w especifica el Asunto de Escritura para el controlador, que determina por cuánto tiempo éste bloqueará al escribir. El valor predeterminado es 1.

    Esta opción es aplicable al conectar tanto a servidores únicos como a conjuntos de réplica. Un valor positivo controla cuántos nodos deberán reconocer la instrucción de escritura antes de que el controlador continue. Un valor de 1 requerirá que el servidor único o primario (en un conjunto de réplica) reconozca la operación de escritura. Un valor de 3 hará que el controlador bloquee hasta que la escritura haya sido aplicada al servidor primario y a dos secundarios (en un conjunto de réplica).

    Se usa un valor de tipo string para controlar qué conjuntos de etiquetas se toman en cuenta para asuntos de escritura. "majority" es especial y se asegura de que la opración de escritura haya sido replicada a la mayoría (más del 50%) de los nodos participantes.

  • "wTimeoutMS"

    Esta opción se usa junto con la opción "w". Controla cúantos milisegundos debe esperar el servidor para que se satisfaga el asunto de escritura. Si toma más tiempo, el servidor enviará un señal al controlador comunicando que ha tomado demasiado tiempo, y el controlador lanzará una excepción de tipo MongoCursorException.

Las siguientes opciones están obsoletas y no deberían usarse más:

  • "timeout"

    Alias obsoleto de "connectTimeoutMS".

  • "wTimeout"

    Alias obsoleto de "wTimeoutMS".

Valores devueltos

Devuelve un nuevo objeto de conexión a bases de datos.

Errores/Excepciones

Lanza una MongoConnectionException si falla al intentar conectarse a la base de datos para todos los nombres de host dados. También lanzará una MongoConnnectionException si se proporciona un nombre de usuario o contraseña no válidos. Véase la documentación de MongoConnectionException para excepciones comunes y sus causas.

Ejemplos

Ejemplo #1 Ejemplo de conjunto de réplica con MongoClient::__construct()

Este ejemplo muestra cómo el controlador se conecta a un conjunto de réplica. Se asume que hay un conjunto con tres servidores: sf1.example.com, sf2.example.com, y ny1.example.com. El primario podría ser cualquiera de ellos.

<?php

// pasar una lista separada por comas con los nombres de los servidores al constructor
// Observe que no es necesario pasar todos los miembros del conjunto réplica, el controlador
// derivará la lista completa.
$m1 = new MongoClient("mongodb://sf2.example.com,ny1.example.com", array("replicaSet" => "myReplSet"));

?>

Si el primario principal falla, el controlador resolverá qué servidor secundario se convertirá en el nuevo primario y empezará a usar automáticamente esa conexión. La tolerancia a fallos no funcionará correctamente si no se especifica el conjunto de réplica dado por replicaSet.

Al menos una semilla de la lista debe estar funcionando para que el controlador pueda conectarse al conjunto de réplica.

Si se incluyen semillas de dos conjuntos de réplicas distintos, el comportamiento será indefinido.

Véase la » documentación principal sobre conjuntos de réplica para más información.

Ejemplo #2 Conectarse a un socket de dominio

En la versión 1.0.9+, se puede usar un socket de dominio UNIX para conectarse a una instancia de MongoDB que se ejecute localmente. Esto debería ser ligeramente más rápido que utilizar una conexión de red.

En la versión 1.5.0, el servidor de MongoDB abre automáticamente un socket en /tmp/mongodb-<puerto>.sock. Se puede conectar a este socket especificado la ruta en la cadena de conexión:

<?php

// Servidor de MongoDB ejecutándose localmente en el puerto 20000
$m = new MongoClient("mongodb:///tmp/mongodb-20000.sock");

?>

Se puede combinar esto con cualquier otra conexión:

<?php

// intentar conectarse al socket de dominio, recurrir a la conexión de localhost
$m = new MongoClient("mongodb:///tmp/mongodb-27017.sock,localhost:27017");

?>

Ejemplo #3 Ejemplo de autenticación con MongoClient::__construct()

Debe existir un usuario en la base de datos 'admin' antes de intentar usar la autenticación. Se puede crear uno con la interfaz de línea de comandos de Mongo ejecutando:

> use admin
switched to db admin
> db.addUser("testUser", "testPass");
{
        "_id" : ObjectId("4b21272fd9ab21611d19095c"),
        "user" : "testUser",
        "pwd" : "03b9b27e0abf1865e2f6fcbd9845dd59"
}
>

Después de crear un usuario, en este caso, con nombre "testUser" y contraseña "testPass", se puede crear una conexión autenticada:

<?php

$m = new MongoClient("mongodb://testUser:testPass@localhost");

?>

Ejemplo #4 Ejemplo de preferencia de lectura con MongoClient::__construct()

<?php

// Preferir el servidor más cercano del centro de datos "east"
$uri  = 'mongodb://rs1.example.com,rs2.example.com/';
$uri .= '?readPreference=nearest';
$uri .= '&readPreferenceTags=dc:east';
$m = new MongoClient($uri, array('replicaSet' => 'rs'));
?>

Véase la sección Preferencias de lectura de este manual para más información.

Ejemplo #5 Ejemplo de opciones de MongoClient::__construct()

Las opciones puede pasarse a través de la cadena de consulta en la cadena de conexión, o como un array pasado al constructor como segundo argumento.

Aquí se establece la opción 'journal' a true y 'readPreference' al secundario preferido como predeterminado para todas las operaciones de escritura:

<?php
$m = new MongoClient("mongodb://localhost/?journal=true&readPreference=secondary");
?>

Y ahora se hace lo mismo, pero con un array de opciones:

<?php
$opciones = array(
    'journal' => true,
    'readPreference' => 'secondary',
);
$m = new MongoClient("mongodb://localhost/", $opciones);
?>

Ejemplo #6 Ejemplo de preferencia de lectura de MongoClient::__construct()

<?php

// Preferir el servidor más cercano en el centro de datos "east"
$uri  = 'mongodb://rs1.example.com,rs2.example.com/';
$uri .= '?readPreference=nearest';
$uri .= '&readPreferenceTags=dc:east';
$m = new MongoClient($uri, array('replicaSet' => 'rs'));
?>

Véase la sección Preferencias de lectura de este manual para más información.

Historial de cambios

Versión | Descripción
1.4.0

Se añadió la opción "wTimeoutMS" como sustituto de "wTimeout".

1.3.4

Se añadieron las opciones "connectTimeoutMS" y "socketTimeoutMS".

1.3.0

Se añadieron las opciones "readPreference", "readPreferenceTags", "w" y "wTimeout".

1.2.0

Se añadieron las opciones "username" y "password".

Eliminada la opción "persist", ya que ahora todas las conexiones son persistentes. Aún se puede usar, pero no afecta a nada.

"persist"

Si la conexión debiera ser persistente. Si se establece, la conexión será persistente. La representación de cadena del valor se usa como un ID para la conexión, por lo que dos instancias de MongoClient que hayan sido inicializadas con array("persist" => "foobar") compartirán la misma conexión a la base de datos, mientras que una instancia inicializada con array("persist" => "barbaz") usará una conexión diferente a la base de datos.

La opción "replicaSet" ahora toma un string, no un booleano.

1.0.9 | Se añadió la opción "replicaSet".
1.0.2

Se cambió el constructor para que tome un array de opciones. Antes de la versión 1.0.2, el constructor tomaba los siguientes parámetros:

server

El nombre del servidor.

connect

Parámetro booleano opcional que especifica si el constructor debe conectarse a la base de datos antes de devolver. El valor predeterminado es TRUE.

persistent

Si la conexión debería se persistente.

paired

Si la conexión debería estar emparejada.

MongoClient::connect
MongoClient::dropDB
MongoClient


Elimina una base de datos [obsoleto]

MongoClient::__construct
MongoClient::__get
MongoClient
PHP Manual

MongoClient::dropDB

(PECL mongoclient >=0.9.0)

MongoClient::dropDB — Elimina una base de datos [obsoleto]

Descripción

public array MongoClient::dropDB ( mixed $db )
Advertencia

Obsoleto

Use MongoDB::drop() en su lugar.

Parámetros

db

La base de datos a eliminar. Puede ser un objeto MongoDB o el nombre de la base de datos.

Valores devueltos

Devuelve la respuesta de la base de datos.

MongoClient::__construct
MongoClient::__get
MongoClient


Obtiene una base de datos

MongoClient::dropDB
MongoClient::getConnections
MongoClient
PHP Manual

MongoClient::__get

(PECL mongoclient >=1.0.2)

MongoClient::__get — Obtiene una base de datos

Descripción

public MongoDB MongoClient::__get ( string $dbname )

Esta es la forma más limpia de obtener una base de datos. Si el nombre de la base de datos posee caracteres especiales, será necesario usar MongoClient::selectDB(); sin embargo, este método debería ser suficiente en la mayoría de los casos.

<?php

$mongo = new MongoClient();

// las dos líneas siguientes son equivalentes
$bd = $mongo->selectDB("foo");
$bd = $mongo->foo;

?>

Parámetros

dbname

El nombre de la base de datos.

Valores devueltos

Returns a new db object.

Errores/Excepciones

Lanza una excepción genérica si el nombre de la base de datos no es válido.

MongoClient::dropDB
MongoClient::getConnections
MongoClient


Devuelve información sobre todas las conexiones abiertas

MongoClient::__get
MongoClient::getHosts
MongoClient
PHP Manual

MongoClient::getConnections

(PECL mongo >=1.3.0)

MongoClient::getConnections — Devuelve información sobre todas las conexiones abiertas

Descripción

public static array MongoClient::getConnections ( void )

Devuelve un array con todas las conexiones abiertas, e información sobra cada uno de los servidores.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un array con las conexiones abiertas.

Ejemplos

Ejemplo #1 Ejemplo de MongoClient::getConnections()

<?php
$m = new MongoClient;
var_dump($m->getConnections());
?>

El resultado del ejemplo sería algo similar a:

array(1) {
  [0]=>
  array(3) {
    ["hash"]=>
    string(26) "localhost:27017;-;X;56052"
    ["server"]=>
    array(3) {
      ["host"]=>
      string(10) "localhost"
      ["port"]=>
      int(27017)
      ["pid"]=>
      int(56052)
    }
    ["connection"]=>
    array(8) {
      ["last_ping"]=>
      int(1354076401)
      ["last_ismaster"]=>
      int(0)
      ["ping_ms"]=>
      int(0)
      ["connection_type"]=>
      int(1)
      ["connection_type_desc"]=>
      string(10) "STANDALONE"
      ["max_bson_size"]=>
      int(16777216)
      ["tag_count"]=>
      int(0)
      ["tags"]=>
      array(0) {
      }
    }
  }
}
MongoClient::__get
MongoClient::getHosts
MongoClient


Actualiza el estado de todos los hosts asociados

MongoClient::getConnections
MongoClient::getReadPreference
MongoClient
PHP Manual

MongoClient::getHosts

(PECL mongoclient >=1.1.0)

MongoClient::getHosts — Actualiza el estado de todos los hosts asociados

Descripción

public array MongoClient::getHosts ( void )

Este método solamente es útil con una conexión a un conjunto de réplica. Devuelve el estado de todos los hosts del conjunto. Sin un conjunto de réplica, solamente devolverá un array con un elemento que contiene el host al que se está conectado.

Véase la sección de consultas de este manula para información sobre la distribución de lecturas a secundarios.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un array con la información sobre los hosts del conjunto. Incluye el nombre de cada host, su salud (1 para saludable), su estado (1 para primario, 2 para secundairo, 0 para lo demás), el tiempo que toma en realizar un 'ping' al servidor, y cúando ocurrió el último 'ping'. Por ejemplo, en un conjunto de réplica de tres miembros, el array podría parecerse a esto:

array(3) {
  ["A:27017"]=>
  array(4) {
    ["host"]=>
    "A"
    ["port"]=>
    27017
    ["health"]=>
    int(1)
    ["state"]=>
    int(2)
    ["ping"]=>
    int(369)
    ["lastPing"]=>
    int(1309470644)
  }
  ["B:27017"]=>
  array(4) {
    ["host"]=>
    "B"
    ["port"]=>
    27017
    ["health"]=>
    int(1)
    ["state"]=>
    int(1)
    ["ping"]=>
    int(139)
    ["lastPing"]=>
    int(1309470644)
  }
  ["C:27017"]=>
  array(4) {
    ["host"]=>
    "C"
    ["port"]=>
    27017
    ["health"]=>
    int(1)
    ["state"]=>
    int(2)
    ["ping"]=>
    int(1012)
    ["lastPing"]=>
    int(1309470644)
  }
}

Historial de cambios

Versión | Descripción
1.2.10 | Se añadió el soporte para hosts que no pertenecen a un conjunto de réplica. Los elementos del array devuelto ahora también incluyen hostname y port.

Ver también

  • MongoClient::getConnections() - Devuelve información sobre todas las conexiones abiertas
MongoClient::getConnections
MongoClient::getReadPreference
MongoClient


Obtener la preferencia de lectura para esta conexión

MongoClient::getHosts
MongoClient::killCursor
MongoClient
PHP Manual

MongoClient::getReadPreference

(PECL mongo >=1.3.0)

MongoClient::getReadPreference — Obtener la preferencia de lectura para esta conexión

Descripción

public array MongoClient::getReadPreference ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Esta función devuelve un array que describe la preferencia de lectura. El array contiene los valores type para el string del modo de preferencia de lectura (correspondiente a constantes de MongoClient), y tagsets que contiene una lista de todos los criterios de conjuntos de etiquetas. Si no se especificó ningún conjunto de etiquetas, tagsets no estará presente en el array.

Historial de cambios

Versión | Descripción
1.3.3 | El valor devuelto ha cambiado para ser consistente con MongoClient::setReadPreference(). El valor type se cambió de un número a un string, type_string fue eliminado, y tagsets ahora expresa etiquetas como pares clave/valor en lugar de cadenas delimitadas por dos puntos.

Ejemplos

Ejemplo #1 Ejemplo de valor devuelto por MongoClient::getReadPreference()

<?php

$m = new MongoClient();
$m->setReadPreference(MongoClient::RP_SECONDARY, array(
    array('dc' => 'east', 'use' => 'reporting'),
    array('dc' => 'west'),
    array(),
));
var_dump($m->getReadPreference());
?>

El resultado del ejemplo sería:

array(2) {
  ["type"]=>
  string(9) "secondary"
  ["tagsets"]=>
  array(3) {
    [0]=>
    array(2) {
      ["dc"]=>
      string(4) "east"
      ["use"]=>
      string(9) "reporting"
    }
    [1]=>
    array(1) {
      ["dc"]=>
      string(7) "west"
    }
    [2]=>
    array(0) {
    }
  }
}
?>

Ver también

  • La documentación de preferencias de lecutra.
MongoClient::getHosts
MongoClient::killCursor
MongoClient


Elimina un cursor específico del servidor

MongoClient::getReadPreference
MongoClient::listDBs
MongoClient
PHP Manual

MongoClient::killCursor

(No hay información de versión disponible, podría estar únicamente en SVN)

MongoClient::killCursor — Elimina un cursor específico del servidor

Descripción

public bool MongoClient::killCursor ( string $server_hash , int|MongoInt64 $id )

En ciertas situaciones, podría ser necesario eliminar un cursor del servidor. Normalmente, los cursores expiran tras 10 minutos de inactividad, pero es posible crear un cursor inmortal con MongoCursor::immortal() que nunca expira. Para poder eliminar dicho cursor inmortal, se puede llamar a este método con la información proporcionada por MongoCursor::info().

Parámetros

server_hash

El hash del servidor que posee el cursor. Puede obtenerse a través de MongoCursor::info().

id

El ID del cursor a eliminar. Se puede proporcionar un valor de tipo int que contenga el ID de 6a bits del cursor , o un objeto de la clase MongoInt64. Lo último es necesario en plataformas de 32 bits (y en Windows).

Valores devueltos

Devuelve TRUE si el método intentó eliminar el cursor, y FALSE si había algo erróneo en los argumentos (tal como un server_hash erróneo). El estado devuelto no refleja dónde fue elminado el cursor, ya que el servidor no proporciona tal información.

Errores/Excepciones

Este método muestra una advertencia si el server_hash proporcionado no coincide con una conexión existente. No intentar eliminar un cursor tampoco se intenta en este caso.

Ejemplos

Ejemplo #1 Ejemplo de MongoClient::killCursor()

Este ejemplo muestra cómo conectarse, realizar una consulta, obtener la información del cursor y luego eliminarlo.

<?php
$m = new MongoClient();
$c = $m->testdb->collection;
$cursor = $c->find();
$resultado = $cursor->next();

// Ahora el cursor es válido, por lo que se puede obtener el hash y el ID:
$info = $cursor->info();

// Eliminar el cursor the cursor
MongoClient::killCursor( $info['server'], $info['id'] );
?>
MongoClient::getReadPreference
MongoClient::listDBs
MongoClient


Enumera todas las bases de datos disponibles

MongoClient::killCursor
MongoClient::selectCollection
MongoClient
PHP Manual

MongoClient::listDBs

(PECL mongoclient >=1.0.4)

MongoClient::listDBs — Enumera todas las bases de datos disponibles

Descripción

public array MongoClient::listDBs ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un array asociativo que contiene tres campos. El primero es databases, que a su vez contiene un array. Cada elemento del array es un array asociativo que se corresponde a una base de datos, proporcionando el nombre de la base de datos, el tamaño, y si está vacía. Los otros dos campos son totalSize (tamaño total en bytes) y ok, que es 1 si este método se ejecutó con éxito.

Ejemplos

Ejemplo #1 Ejemplo de MongoClient::listDBs()

Ejemplo que demuestra cómo usar listDBs y la estructura de datos devuelta.

<?php

$mongo = new MongoClient();
$bds = $mongo->listDBs();
print_r($bds);

?>

El resultado del ejemplo sería algo similar a:

Array
(
    [databases] => Array
        (
            [0] => Array
                (
                    [name] => doctrine
                    [sizeOnDisk] => 218103808
                    [empty] =>
                )
        )

    [totalSize] => 218103808
    [ok] => 1
)
MongoClient::killCursor
MongoClient::selectCollection
MongoClient


Obtiene una colección de bases de datos

MongoClient::listDBs
MongoClient::selectDB
MongoClient
PHP Manual

MongoClient::selectCollection

(PECL mongoclient >=0.9.0)

MongoClient::selectCollection — Obtiene una colección de bases de datos

Descripción

public MongoCollection MongoClient::selectCollection ( string $db , string $collection )

Parámetros

db

El nombre de la base de datos.

collection

El nombre de la colección.

Valores devueltos

Returns a new collection object.

Errores/Excepciones

Lanza una Exception si el nombre de la base de datos o el de la colección no son válidos.

Ejemplos

Ejemplo #1 Ejemplo de MongoClient::selectCollection()

<?php
$m = new MongoClient();

$c1 = $m->selectCollection("foo", "bar.baz");
// que es equivalente a
$c2 = $m->selectDB("foo")->selectCollection("bar.baz");

// $c1 y $c2 ahora representan la misma colección
?>
MongoClient::listDBs
MongoClient::selectDB
MongoClient


Obtiene una base de datos

MongoClient::selectCollection
MongoClient::setReadPreference
MongoClient
PHP Manual

MongoClient::selectDB

(PECL mongoclient >=0.9.0)

MongoClient::selectDB — Obtiene una base de datos

Descripción

public MongoDB MongoClient::selectDB ( string $name )

Parámetros

name

El nombre de la base de datos.

Valores devueltos

Devuelve un objeto de base de datos.

Errores/Excepciones

Lanza una Exception si el nombre de la base de datos no es válido.

MongoClient::selectCollection
MongoClient::setReadPreference
MongoClient


Establece la preferencia de lectura para esta conexión

MongoClient::selectDB
MongoClient::__toString
MongoClient
PHP Manual

MongoClient::setReadPreference

(PECL mongo >=1.3.0)

MongoClient::setReadPreference — Establece la preferencia de lectura para esta conexión

Descripción

public bool MongoClient::setReadPreference ( string $read_preference [, array $tags ] )

Parámetros

read_preference

El modo de preferencia de lectura: MongoClient::RP_PRIMARY, MongoClient::RP_PRIMARY_PREFERRED, MongoClient::RP_SECONDARY, MongoClient::RP_SECONDARY_PREFERRED, o MongoClient::RP_NEAREST.

tags

Un array de cero o más conjuntos de etiquetas, donde cada conjunto de etiquetas es también un array de criterios usados para comparar etiquetas con miembros de un conjunto de réplicas.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE en caso contrario.

Errores/Excepciones

Emite un error de nivel E_WARNING si el parámetro no es válido, o si se proporcionan uno o más conjuntos de etiquetas con el modo de preferencia de lectura MongoClient::RP_PRIMARY.

Ejemplos

Ejemplo #1 Ejemplo de sintaxis de array de conjunto de etiquetas con MongoClient::setReadPreference()

<?php

$m = new MongoClient();

// Preferir el servidor más cercano del centro de datos "east" también usado para información,
// pero recurrir al servidor del centro de datos "west"
$m->setReadPreference(MongoClient::RP_NEAREST, array(
    array('dc' => 'east', 'use' => 'reporting'),
    array('dc' => 'west'),
));
?>

Ver también

  • La documentación de preferencias de lecutra.
MongoClient::selectDB
MongoClient::__toString
MongoClient


Representación de cadena de esta conexión

MongoClient::setReadPreference
MongoDB
MongoClient
PHP Manual

MongoClient::__toString

(PECL mongoclient >=0.9.0)

MongoClient::__toString — Representación de cadena de esta conexión

Descripción

public string MongoClient::__toString ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el nombre del host y el puerto de esta conexión.

MongoClient::setReadPreference
MongoDB
MongoClient


La clase MongoDB

(PECL mongo >=0.9.0)

Introducción

Las instancias de esta clase se utilizan para interactuar con la base de datos. Para seleccionar una base de datos:

Ejemplo #1 Seleccionar una base de datos

<?php

$m = new MongoClient(); // conectar
$db = $m->selectDB("ejemplo");

?>
Los nombres de bases de datos pueden utilizar prácticamente cualquier carácter del rango ASCII. Sin embargo no pueden contener ni " ", "." ni un texto vacío. El nombre "system" también está reservado.

Hay algunos nombres poco usuales de bases de datos que sí son válidos: "null", "[x,y]", "3", "\"", "/".

A diferencia de los nombres de colecciones, los nombres bases de datos pueden contener "$".

Sinopsis de la Clase

MongoDB {
/* Constantes */
const int PROFILING_OFF = 0 ;
const int PROFILING_SLOW = 1 ;
const int PROFILING_ON = 2 ;
/* Campos */
public integer $w = 1 ;
public integer $wtimeout = 10000 ;
/* Métodos */
public array authenticate ( string $username , string $password )
public array command ( array $command [, array $options = array() ] )
public __construct ( MongoClient $conn , string $name )
public MongoCollection createCollection ( string $name [, array $options ] )
public array createDBRef ( string $collection , mixed $document_or_id )
public array drop ( void )
public array dropCollection ( mixed $coll )
public array execute ( mixed $code [, array $args = array() ] )
public bool forceError ( void )
public MongoCollection __get ( string $name )
public array getCollectionNames ([ bool $includeSystemCollections = false ] )
public array getDBRef ( array $ref )
public MongoGridFS getGridFS ([ string $prefix = "fs" ] )
public int getProfilingLevel ( void )
public array getReadPreference ( void )
public bool getSlaveOkay ( void )
public array lastError ( void )
public array listCollections ([ bool $includeSystemCollections = false ] )
public array prevError ( void )
public array repair ([ bool $preserve_cloned_files = FALSE [, bool $backup_original_files = FALSE ]] )
public array resetError ( void )
public MongoCollection selectCollection ( string $name )
public int setProfilingLevel ( int $level )
public bool setReadPreference ( string $read_preference [, array $tags ] )
public bool setSlaveOkay ([ bool $ok = true ] )
public string __toString ( void )
}

Constantes predefinidas

Niveles de Logs de MongoDB

MongoDB::PROFILING_OFF
0
Profiling deshabilitado.
MongoDB::PROFILING_SLOW
1
Profiling habilitado para operaciones lentas (>100 ms).
MongoDB::PROFILING_ON
2
Profiling habilitado para todas las operaciones.

Campos

w
1

Número de servidores en los que replicar los cambios antes de retornar éxito. Se hereda por las instancias de MongoCollection que deriven de este objeto. w sólo está disponible en versiones 1.5.1+ del servidor MongoDB y 1.0.8+ del driver.

w se usa cada vez que sea necesario ajustar el nivel de aceptación ( MongoCollection::insert(), MongoCollection::update(), MongoCollection::remove(), MongoCollection::save(), y MongoCollection::ensureIndex() soportan esta opción). Con el valor predeterminado (1), una operación aceptada devolverá una vez que el servidor de bases de datos obtenga la operación. Si el servidor se cayera antes de que la operación fuera replicada a un secundario, podría perderse la operación de forma permanente. De esta forma, se puede especificar en w un valor superior a uno para garantizar que al menos un secundario ha recibido la operación antes de que se considere que ha habido éxito.

Por ejemplo, si w fuera 2, el primario y un secundario tendrán un registro de la operación o el controlador lanzará una MongoCursorException. Puede ser tentador establecer en w el total de secundarios + primario, pero entonces, si un secundario se cayera, la operación fallaría y se lanzaría una excepción, por lo que suele ser más seguro establecer w=2 (primario y un secundario).

wtimeout
10000

Número de milisegundos a esperar a que las réplicas de MongoDB::$w tengan lugar. Se hereda por las instancias de MongoCollection que deriven de este objeto. w sólo está disponible en las versiones 1.5.1+ del servidor MongoDB y en las 1.0.8+ del driver.

A no ser que se establezca un valor en wtimeout, el servidor esperará eternamente a que se replique a w servidores para finalizar. Por omisión el driver esperará 10 segundos. Puede modificarse este valor para alterar este comportamiento.

Ver también

Documentación de MongoDB de » bases de datos.

Tabla de contenidos

  • MongoDB::authenticate — Iniciar sesión en esta base de datos
  • MongoDB::command — Ejecuta un comando de base de datos
  • MongoDB::__construct — Crea una nueva base de datos
  • MongoDB::createCollection — Crea una colección
  • MongoDB::createDBRef — Crea una referencia a base de datos
  • MongoDB::drop — Borra esta base de datos
  • MongoDB::dropCollection — Borra una colección [obsoleto]
  • MongoDB::execute — Ejecuta código JavaScript en el servidor de bases de datos
  • MongoDB::forceError — Crea un error de base de datos
  • MongoDB::__get — Obtiene una colección
  • MongoDB::getCollectionNames — Obtener todas las colecciones de esta base de datos
  • MongoDB::getDBRef — Captura el documento que está siendo apuntado por una referencia de base de datos
  • MongoDB::getGridFS — Obtiene un objeto para trabajar con ficheros almacenados en esta base de datos
  • MongoDB::getProfilingLevel — Obtiene el nivel de perfilado (profiling) de la base de datos
  • MongoDB::getReadPreference — Obtener la preferencia de lectura para esta base de datos
  • MongoDB::getSlaveOkay — Devuelve el valor de slaveOkay de esta base de datos
  • MongoDB::lastError — Comprueba si hubo un error en la última operación de base de datos llevada a cabo
  • MongoDB::listCollections — Obtiene un array con todas las MongoCollection para esta base de datos
  • MongoDB::prevError — Comprueba el último error emitido durante una operación de base de datos
  • MongoDB::repair — Repara y compacta esta base de datos
  • MongoDB::resetError — Limpia cualquier error de la base de datos que se haya apuntado
  • MongoDB::selectCollection — Obtiene una colección
  • MongoDB::setProfilingLevel — Establece el nivel de perfilado (profiling) de la base de datos
  • MongoDB::setReadPreference — Establece la preferencia de lectura para esta base de datos
  • MongoDB::setSlaveOkay — Cambiar el valor de slaveOkay de esta base de datos
  • MongoDB::__toString — Nombre de esta base de datos
MongoClient::__toString
MongoDB::authenticate
Clases del núcleo


Iniciar sesión en esta base de datos

MongoDB
MongoDB::command
MongoDB
PHP Manual

MongoDB::authenticate

(PECL mongo >=1.0.1)

MongoDB::authenticate — Iniciar sesión en esta base de datos

Descripción

public array MongoDB::authenticate ( string $username , string $password )

Este método hace que esta conexión sea autenticada. Si el servidor de bases de datos tiene la autenticación habilitada (de forma predeterminada, no lo está), deberá iniciar sesión antes de poder hacer cualquier cosa.

En general, deberá se recomienda utilizar la autenticación que incorpora MongoClient::__construct() antes que este método. Si se autentica sobre la conexión, y la conexión se cae y se reconecta durante la sesión, automáticamente será re-autenticado. Si se autentica manualmente usando este método, y la conexión se cae, deberá llamar a este método de nuevo cuando la conexión vuelva.

Este método es equivalente a ejecutar:

<?php

$salted = "${username}:mongo:${password}";
$hash = md5($salted);

$nonce = $db->command(array("getnonce" => 1));

$saltedHash = md5($nonce["nonce"]."${username}${hash}");

$result = $db->command(array("authenticate" => 1,
    "user" => $username,
    "nonce" => $nonce["nonce"],
    "key" => $saltedHash
));

?>

Una vez que una conexión ha sido autenticada, sólo puede ser des-autenticada mediante el comando de base de datos "logout":

<?php

$db->command(array("logout" => 1));

?>

Parámetros

username

Nombre de usuario.

password

La contraseña (en texto plano).

Valores devueltos

Devuelve la respuesta de la base de datos. Si el inicio de sesión tuvo éxito, devolverá:

<?php
array("ok" => 1);
?>
Si algo fue mal, devolverá:
<?php
array("ok" => 0, "errmsg" => "auth fails");
?>
("auth fails" puede ser otro mensaje, dependiendo de la versión de la base de datos y de qué fuera mal).

Ver también

Documentación de MongoDB sobre » autenticación.

Historial de cambios

Versión | Descripción
1.2.11 | Emite un error de nivel E_DEPRECATED cuando se usa. Por favor, pase los detalles de autenticación al constructor.

MongoDB
MongoDB::command
MongoDB


Ejecuta un comando de base de datos

MongoDB::authenticate
MongoDB::__construct
MongoDB
PHP Manual

MongoDB::command

(PECL mongo >=0.9.2)

MongoDB::command — Ejecuta un comando de base de datos

Descripción

public array MongoDB::command ( array $command [, array $options = array() ] )

Prácticamente todo lo que no son operaciones CRUD se puede realizar con un comando de base de datos. ¿Necesita conocer la versión de la base de datos? Hay un comando para ello. ¿Necesita hacer una agregación? Hay un comando para ello. ¿Necesia habilitar la identificación? Ha captado la idea.

Este método es idéntico a:

<?php

public function command($datos) {
    return $this->selectCollection('$cmd')->findOne($datos);
}

?>

Parámetros

command

Consulta que se enviará.

options

Este parámetro es un array asociativo de la forma array("nombre_opción" => <boolean>, ...). Actualmente las opciones admitidas son:

  • "timeout"

    Entero, valor predeterminado MongoCursor::$timeout. Si se usan las escrituras reconocidas, esto estable cuánto debe esperar el cliente (en milisegundos) a una respuesta de la base de datos. Si la base de datos no responde dentro de perído de espera, se lanzará una MongoCursorTimeoutException.

Historial de cambios

Versión | Descripción
1.2.0 | Añadido el parámetro options con una única opción: timeout.

Valores devueltos

Devuelve la respuesta de la base de datos. Cada respuesta de la base de datos siempre es como máximo un documento, lo que significa que el resultado de un comando de base de datos nunca puede exceder 16MB. La estructura del documento resultante depende del comando, pero la mayoría de los resultados tendrán el campo ok para indicar éxito o fracaso, y results, que contiene un array por cada documento resultante.

Ejemplos

Ejemplo #1 Ejemplo de MongoDB::command() con "distinct"

Buscar todos los valores distintos de una clave.

<?php

$personas = $bd->personas;

$personas->insert(array("nombre" => "Joe", "edad" => 4));
$personas->insert(array("nombre" => "Sally", "edad" => 22));
$personas->insert(array("nombre" => "Dave", "edad" => 22));
$personas->insert(array("nombre" => "Molly", "edad" => 87));

$edades = $bd->command(array("distinct" => "personas", "key" => "edad"));

foreach ($edades['values'] as $edad) {
    echo "$edad\n";
}

?>

El resultado del ejemplo sería algo similar a:

4
22
87

Ejemplo #2 Ejemplo de MongoDB::command() con "distinct"

Buscar todos los valores distintos de una clave, donde el valor es mayor o igual a 18.

<?php

$personas= $bd->personas;

$personas->insert(array("nombre" => "Joe", "edad" => 4));
$personas->insert(array("nombre" => "Sally", "edad" => 22));
$personas->insert(array("nombre" => "Dave", "edad" => 22));
$personas->insert(array("nombre" => "Molly", "edad" => 87));

$edades = $bd->command(
    array(
        "distinct" => "personas",
        "key" => "edad",
        "query" => array("edad" => array('$gte' => 18))
    )
);

foreach ($edades['values'] as $edad) {
    echo "$edad\n";
}

?>

El resultado del ejemplo sería algo similar a:

22
87

Ejemplo #3 Ejemplo de MongoDB::command() con MapReduce

Obtener todos los usuarios con al menos un evento "sale" (venta), y cuántas veces han tenido ventas cada uno de esos usuarios.

<?php

// documento de eventos de ejemplo
$eventos->insert(array("user_id" => $id,
    "type" => $tipo,
    "time" => new MongoDate(),
    "desc" => $descripción));

// construcción del mapa y función reductora
$mapa = new MongoCode("function() { emit(this.user_id,1); }");
$reductora = new MongoCode("function(k, vals) { ".
    "var sum = 0;".
    "for (var i in vals) {".
        "sum += vals[i];".
    "}".
    "return sum; }");

$sales = $bd->command(array(
    "mapreduce" => "events",
    "map" => $mapa,
    "reduce" => $reductora,
    "query" => array("type" => "sale"),
    "out" => array("merge" => "eventCounts")));

$usuarios = $bd->selectCollection($sales['result'])->find();

foreach ($usuarios as $usuario) {
    echo "Usuario {$usuario['_id']} tuvo {$usuario['value']} venta(s).\n";
}

?>

El resultado del ejemplo sería algo similar a:

Usuario 47cc67093475061e3d9536d2 tuvo 3 venta(s).
Usuario 49902cde5162504500b45c2c tuvo 14 venta(s).
Usuario 4af467e4fd543cce7b0ea8e2 tuvo 1 venta(s).

Nota: Usando MongoCode

Este ejemplo utiliza MongoCode, que puede utilizar también un argumento de ámbito. Sin embargo, por el momento, MongoDB no admite el uso de ámbitos en MapReduce. Si deseara utilizar variables en el lado de cliente con las funciones MapReduce, puede añairlas al ámbito global usando el campo opcional de ámbito con el comando de la base de datos. Consulte la » documentación de MapReduce para más información.

Nota: El argumento out

Antes de 1.8.0, el argumento out era opcional. Si no se iba a usar, los resultados de MapReduce se escribían a una colección temporal, que se eliminaba cuando se cerraba la conexión. A partir de la versión 1.8.0, el argumento out es obligatorio. Consulte la » documentación de MapReduce para más información.

Si va a usar MapReduce, Prajwal Tuldhar ha creado una API para usuarios de Mongo PHP que ofrece una interfaz más elegante que el comando básico. Puede descargarlo desde » Github y hay un » artículo de blog sobre cómo usarlo.

Ejemplo #4 Ejemplo de MongoDB::command() con "textSearch"

Realizar una búsqueda de texto completo con la funcionalidad "text search" de MongoDB 2.4 y superior.

<?php
$m = new MongoClient();
$d = $m->demo;
$c = $d->planetas;

$c->insert(array("nombre" => "Mercurio", "desc" => "Mercurio es el planeta más pequeño y más cercano al Sol"));
$c->insert(array("nombre" => "Venus", "desc" => "Venus es el segundo planeta desde el Sol, su órbita es de 224.7 días terrestres."));
$c->insert(array("nombre" => "Tierra", "desc" => "La Tierra es el más denso de los ocho planetas del Sistema Solar."));
$c->insert(array("nombre" => "Marte", "desc" => "Marte era el dios romano de la guerra."));

$c->ensureIndex(array('desc' => 'text'));

$r = $d->command(array("text" => "planetas", 'search' => "sol" ));
print_r($r);
?>

El resultado del ejemplo sería algo similar a:

Array
(
[queryDebugString] => sun||||||
[language] => english
[results] => Array
(
[0] => Array
(
[score] => 0.625
[obj] => Array
(
[_id] => MongoId Object
(
[$id] => 517549d944670a4a5cb3059a
)

[nombre] => Mercurio
[desc] => Mercurio es el planeta más pequeño y más cercano al Sol
)

)

[1] => Array
(
[score] => 0.55
[obj] => Array
(
[_id] => MongoId Object
(
[$id] => 517549d944670a4a5cb3059b
)

[nombre] => Venus
[desc] => Venus es el segundo planeta desde el Sol, su órbita es de 224.7 días terrestres.
)

)

)

[stats] => Array
(
[nscanned] => 2
[nscannedObjects] => 0
[n] => 2
[nfound] => 2
[timeMicros] => 95
)

[ok] => 1
)

Ejemplo #5 Ejemplo de MongoDB::command() con "geoNear"

Este ejemplo muestra cómo usar el comando geoNear.

<?php
$m = new MongoClient();
$d = $m->demo;
$c = $d->poiConcat;

$r = $d->command(array(
    'geoNear' => "poiConcat",      // Buscar en la colección poiConcat
    'near' => array(-0.08, 51.48), // Buscar cerca de 51.48°N, 0.08°E
    'spherical' => true,           // Habilitar la búsqueda esférica
    'num' => 5,                    // 5 documentos devueltos como máximo
));
print_r($r);
?>

Ver también

  • MongoCollection::aggregate() - Realiza una acumulación usando el framework de acumulación
  • MongoCollection::findAndModify() - Actualizar un documento y devolverlo
  • MongoCollection::group() - Lleva a cabo una operación similar al comando GROUP BY de SQL

La documentación de MongoDB sobre » comandos de base de datos y los comandos individuales: » findAndModify, » getLastError, y » repair (existen muchos más, éstos son sólo unos pocos ejemplos).

MongoDB::authenticate
MongoDB::__construct
MongoDB


Crea una nueva base de datos

MongoDB::command
MongoDB::createCollection
MongoDB
PHP Manual

MongoDB::__construct

(PECL mongo >=0.9.0)

MongoDB::__construct — Crea una nueva base de datos

Descripción

public MongoDB::__construct ( MongoClient $conn , string $name )

Este método no está hecho para ser llamado directamente. La forma recomendada de crear una instancia de MongoDB es mediante MongoClient::__get() o mediante MongoClient::selectDB().

Si va a ignorar el párrafo anterior y desea llamar directamente al constructor, puede hacerlo así:

<?php

$m = new MongoClient();
$db = new MongoDB($m, 'mydbname');

?>

Pero no lo haga. Es mucho mas elegante así:

<?php

$m = new MongoClient();
$db = $m->mydbname;

// o, si el nombre contiene caracteres raros:

$db = $m->selectDB('my,db:name');

?>

Parámetros

MongoClient conn

Conexión a la base de datos.

name

Nombre de la base de datos.

Valores devueltos

Devuelve la base de datos.

Errores/Excepciones

Lanza una excepción por defecto si el nombre no fuera válido.

MongoDB::command
MongoDB::createCollection
MongoDB


Crea una colección

MongoDB::__construct
MongoDB::createDBRef
MongoDB
PHP Manual

MongoDB::createCollection

(PECL mongo >=0.9.0)

MongoDB::createCollection — Crea una colección

Descripción

public MongoCollection MongoDB::createCollection ( string $name [, array $options ] )

Este método se usa para crear colecciones "capped" (de tamaño fijo) y otras colecciones que requieren opciones especiales. Es idéntico a ejecutar:

<?php

$collection = $db->command(array(
    "create" => $name,
    "capped" => $options["capped"],
    "size" => $options["size"],
    "max" => $options["max"],
    "autoIndexId" => $options["autoIndexId"],
));

?>
Consulte MongoDB::command() para más información sobre comandos de base de datos.

Parámetros

name

Nombre de la colección.

options

Un array que contiene opciones para las colecciones. Cada opción es su propio elemento en el array de opciones, con el nombre de la opción enumerada abajo, siendo la clave del elemento. Las opciones admitidas dependen de la versión del servidor de MongoDB. Por el momento, se admiten las siguientes opciones:

capped

Si la colección debe ser o no de tamaño fijo.

size

Si la colección fuera de tamaño fijo, aquí indicamos su tamaño en bytes.

max

Si la colección fuera de tamaño fijo, aquí establecemos el número máximo de elementos que podrá almacenar.

autoIndexId

Si 'capped' es TRUE, se puede especificar FALSE para deshabilitar el índice atómico creado en el campo _id. Antes de MongoDB 2.2, el valor predeterminado para autoIndexId era FALSE.

Valores devueltos

Devuelve un objeto de colección que representa la nueva colección.

Ejemplos

Ejemplo #1 Ejemplo de MongoDB::createCollection() para colección de tamaño fijo

Una colección "capped" es un tipo especial de colección que tiene un tamaño fijo o un número fijo de elementos. Una vez que la colección está "llena", los elementos más viejos se eliminan cada vez que añadimos nuevos. Estas colecciones pueden ser muy útiles para usos como registro de mensajes, donde quizás se desee mantener una determinada cantidad de espacio para mensajes sin preocuparse por si crece demasiado.

Este ejemplo crea una colección de mensajes de error muy pequeña, que mantendrá hasta 10 documentos.

<?php

$log = $db->createCollection(
    "logger",
    array(
        'capped' => true,
        'size' => 10*1024,
        'max' => 10
    )
);

for ($i = 0; $i < 100; $i++) {
    $log->insert(array("level" => WARN, "msg" => "mensaje de error #$i", "ts" => new MongoDate()));
}

$msgs = $log->find();

foreach ($msgs as $msg) {
    echo $msg['msg']."\n";
}

?>

El resultado del ejemplo sería algo similar a:

mensaje de error #90
mensaje de error #91
mensaje de error #92
mensaje de error #93
mensaje de error #94
mensaje de error #95
mensaje de error #96
mensaje de error #97
mensaje de error #98
mensaje de error #99

Historial de cambios

Versión Descripción
1.4.0

En versiones anteriores a la 1.4.0, las opciones eran todas argumentos del método. La sinopsis de la función en esas versiones antiguas es:

public MongoCollection MongoDB::createCollection ( string $name [, bool $capped = FALSE [, int $size = 0 [, int $max = 0 ]]] )

El significado de las opciones es el mismo que el descrito bajo el argumento options de arriba.

MongoDB::__construct
MongoDB::createDBRef
MongoDB


Crea una referencia a base de datos

MongoDB::createCollection
MongoDB::drop
MongoDB
PHP Manual

MongoDB::createDBRef

(PECL mongo >=0.9.0)

MongoDB::createDBRef — Crea una referencia a base de datos

Descripción

public array MongoDB::createDBRef ( string $collection , mixed $document_or_id )

Este método es una interfaz flexible que permite crear referencias a bases de datos (vea MongoDBRef).

Parámetros

collection

Colección a la que apuntará la referencia de base de datos.

document_or_id

Si se proporciona un array o un objeto, su campo _id será usado como ID de referencia. Si se proporciona un MongoId o un escalar, se usará como ID de referencia.

Valores devueltos

Devuelve un array de referencia a base de datos.

Si se proporcionó un array sin el campo _id como parámetro document_or_id, será devuelto NULL.

Ejemplos

Ejemplo #1 Ejemplo de MongoDB::createDBRef()

Ejemplo que muestra cómo crear una referencia a base de datos a partir de un documento.

<?php

$articulos = $db->articulos;

$articulo = array(
 'titulo' => 'Articulo de prueba',
 'descripcion' => 'Descripcion de articulo de prueba'
);

$articulos->insert($articulo);
$ref = $db->createDBRef('articulos', $articulo);

print_r($articulo);
print_r($ref);
?>

El resultado del ejemplo sería algo similar a:

     Array
     (
         [title] => Articulo de prueba
         [description] => Descripcion de articulo de prueba
         [_id] => MongoId Object
             (
             )

     )
     Array
     (
         [$ref] => articulos
         [$id] => MongoId Object
             (
             )

     )

Ahora, $ref puede ser almacenado en otro documento, y consultado más adelante con MongoDB::getDBRef() o con MongoCollection::getDBRef().

Ejemplo #2 Ejemplo de MongoDB::createDBRef()

Ejemplo que muestra cómo crear una referencia a base de datos a partir de un id.

<?php

$id = new MongoId('47cc67093475061e3d9536d2');
$ref = $db->createDBRef('articulos', $id);
?>
MongoDB::createCollection
MongoDB::drop
MongoDB


Borra esta base de datos

MongoDB::createDBRef
MongoDB::dropCollection
MongoDB
PHP Manual

MongoDB::drop

(PECL mongo >=0.9.0)

MongoDB::drop — Borra esta base de datos

Descripción

public array MongoDB::drop ( void )

Borra la base de datos que está en uso.

Es equivalente a ejecutar:

<?php

public function drop() {
    $this->command(array("dropDatabase" => 1));
}

?>

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la respuesta de la base de datos.

Ejemplos

Ejemplo #1 Ejemplo de MongoDB::drop()

Este ejemplo muestra cómo borrar una base de datos mongo.

<?php

$db = $mongo->foo;
$response = $db->drop();
print_r($response);

?>

El resultado del ejemplo sería algo similar a:

Array
(
    [dropped] => foo.$cmd
    [ok] => 1
)
MongoDB::createDBRef
MongoDB::dropCollection
MongoDB


Borra una colección [obsoleto]

MongoDB::drop
MongoDB::execute
MongoDB
PHP Manual

MongoDB::dropCollection

(PECL mongo >=0.9.0)

MongoDB::dropCollection — Borra una colección [obsoleto]

Descripción

public array MongoDB::dropCollection ( mixed $coll )
Advertencia

Obsoleto

Utilice en su lugar MongoCollection::drop().

¡Esta función tiene fugas de memoria en versiones 1.0.7 y anteriores!

Parámetros

coll

MongoCollection o nombre de la colección a borrar.

Valores devueltos

Devuelve la respuesta de la base de datos.

MongoDB::drop
MongoDB::execute
MongoDB


Ejecuta código JavaScript en el servidor de bases de datos

MongoDB::dropCollection
MongoDB::forceError
MongoDB
PHP Manual

MongoDB::execute

(PECL mongo >=0.9.3)

MongoDB::execute — Ejecuta código JavaScript en el servidor de bases de datos

Descripción

public array MongoDB::execute ( mixed $code [, array $args = array() ] )

El servidor de bases de datos de Mongo contiene un motor JavaScript. Este método permite ejecutar cualquier código JavaScript en la base de datos. Puede resultar útil si se desea trabajar ligeramente sobre algunas colecciones, o procesar algunos resultados en el lado del servidor para reducir la cantidad de datos que se enviará al cliente.

Al ejecutar JavaScript en la base de datos se hace un bloqueo de escrituras, lo cual significa que se bloquean otras operaciones. Asegúrese de que tiene esto en consideración antes de ejecutar scripts costosos.

Este método es una envoltura de un comando de base de datos. Básicamente, sería:

<?php

public function execute($code, $args) {
    return $this->command(array('$eval' => $code, 'args' => $args));
}

?>

Si se tuviera una única sentencia en una única línea, MongoDB devuelve un valor. Esto puede provocar comportamientos inesperados. Por ejemplo, el siguiente código devuelvo "foo":

<?php

$db->execute('"foo";');

?>

Sin embargo, este código devuelve NULL:

<?php

$db->execute('"bar"; "foo";'); // más de una sentencia

$db->execute('db.foo.count(
);'); // más de una línea

?>

Para evitar estos comportamientos, lo mejor es no dejar que MongoDB decida qué devolver, usando en su lugar una sentencia "return" explícita. Podríamos cambiar los ejemplos superiores por lo siguiente:

<?php

$db->execute('"bar"; return "foo";');

$db->execute('return db.foo.count(
);');

?>

Ahora, la primera sentencia devolverá "foo" y la segunda devolverá un contador de la colección "foo".

Parámetros

code

MongoCode o texto a ejecutar.

args

Argumentos que se deben pasar a code.

Valores devueltos

Devuelve el resultado de la evaluación.

Ejemplos

Ejemplo #1 Ejemplo sencillo de MongoDB::execute()

<?php

$response = $db->execute("function() { return 'Hola, mundo!'; }");
echo $response['retval'];

?>

El resultado del ejemplo sería algo similar a:

Hola, mundo!

Ejemplo #2 Ejemplo de parámetros en MongoDB::execute()

Pasaremos a la función JavaScript valores del array del parámetro opcional.

<?php

$response = $db->execute("function(despedida, nombre) { return despedida+', '+nombre+'!'; }", array("Hasta pronto", "Juan"));
echo $response['retval'];

?>

El resultado del ejemplo sería algo similar a:

Hasta pronto, Juan!

Ejemplo #3 Ejemplo de ámbito

Si en lugar de un string, usáramos un MongoCode en el primer parámetro, podrá pasarse un ámbito en el cual se ejecutará JavaScript.

<?php

$func =
    "function(despedida, nombre) { ".
        "return despedida+', '+nombre+', dice '+despedidor;".
    "}";
$scope = array("despedidor" => "Fran");

$code = new MongoCode($func, $scope);

$response = $db->execute($code, array("Hasta pronto", "Juan"));
echo $response['retval'];

?>

El resultado del ejemplo sería algo similar a:

Hasta pronto, Juan, dice Fran
MongoDB::dropCollection
MongoDB::forceError
MongoDB


Crea un error de base de datos

MongoDB::execute
MongoDB::__get
MongoDB
PHP Manual

MongoDB::forceError

(PECL mongo >=0.9.5)

MongoDB::forceError — Crea un error de base de datos

Descripción

public bool MongoDB::forceError ( void )

Este método no es muy útil para el uso normal de MongoDB. Obliga a que se produzca un error de base de datos. Esto quiere decir que MongoDB::lastError() devolverá un error de base de datos genérico después de ejecutar este comando.

Este comando es idéntico a la ejecución de:

<?php

public function forceError() {
    return $this->command(array('forceerror' => 1));
}

?>

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la respuesta de base de datos.

Historial de cambios

Versión | Descripción
1.2.11 | Emite E_DEPRECATED cuando es usada.

MongoDB::execute
MongoDB::__get
MongoDB


Obtiene una colección

MongoDB::forceError
MongoDB::getCollectionNames
MongoDB
PHP Manual

MongoDB::__get

(PECL mongo >=1.0.2)

MongoDB::__get — Obtiene una colección

Descripción

public MongoCollection MongoDB::__get ( string $name )

Ésta es la forma más fácil de obtener uan colección a partir de un objeto de base de datos. Si el nombre de la colección contiene caracteres extraños, se usará en su lugar MongoDB::selectCollection().

<?php

$mongo = new MongoClient();

// las dos siguientes líneas son equivalentes
$collection = $mongo->selectDB("foo")->selectCollection("bar");
$collection = $mongo->foo->bar;

?>

Parámetros

name

Nombre de la colección.

Valores devueltos

Devuelve la colección.

MongoDB::forceError
MongoDB::getCollectionNames
MongoDB


Obtener todas las colecciones de esta base de datos

MongoDB::__get
MongoDB::getDBRef
MongoDB
PHP Manual

MongoDB::getCollectionNames

(PECL mongo >=1.3.0)

MongoDB::getCollectionNames — Obtener todas las colecciones de esta base de datos

Descripción

public array MongoDB::getCollectionNames ([ bool $includeSystemCollections = false ] )

Devuelve un array con todos los nombres de colección de la base de datos dada.

Parámetros

includeSystemCollections

Incluir las colecciones del sistema.

Valores devueltos

Devuelve los nombres de todas las colecciones de la base de datos como un array.

Ejemplos

Ejemplo #1 Ejemplo de MongoDB::getCollectionNames()

<?php

$m = new Mongo;
$colecciones = $m->selectDB("demo")->getCollectionNames();
var_dump($colecciones);
?>

El resultado del ejemplo sería algo similar a:

array(2) {
  [0]=>
  string(9) "addresses"
  [1]=>
  string(5) "users"
}

Ver también

  • MongoDB::listCollections() - Obtiene un array con todas las MongoCollection para esta base de datos

MongoDB::__get
MongoDB::getDBRef
MongoDB


Captura el documento que está siendo apuntado por una referencia de base de datos

MongoDB::getCollectionNames
MongoDB::getGridFS
MongoDB
PHP Manual

MongoDB::getDBRef

(PECL mongo >=0.9.0)

MongoDB::getDBRef — Captura el documento que está siendo apuntado por una referencia de base de datos

Descripción

public array MongoDB::getDBRef ( array $ref )

Parámetros

ref

Referencia de base de datos.

Valores devueltos

Devuelve el documento apuntado por la referencia.

Ejemplos

Ejemplo #1 Ejemplo de MongoDB::getDBRef()

Ejemplo que demuestra cómo obtener una referencia a una base de datos y cuáles son los datos de entrada esperados.

<?php

 $ref = array(
   '$ref' => 'profiles',
   '$id' => new MongoId('47cc67093475061e3d9536d2')
 );

 $profile = $db->getDBRef($ref);
 ?>

Revise MongoDB::createDBRef() para más información sobre cómo crear referencias a bases de datos.

MongoDB::getCollectionNames
MongoDB::getGridFS
MongoDB


Obtiene un objeto para trabajar con ficheros almacenados en esta base de datos

MongoDB::getDBRef
MongoDB::getProfilingLevel
MongoDB
PHP Manual

MongoDB::getGridFS

(PECL mongo >=0.9.0)

MongoDB::getGridFS — Obtiene un objeto para trabajar con ficheros almacenados en esta base de datos

Descripción

public MongoGridFS MongoDB::getGridFS ([ string $prefix = "fs" ] )

Parámetros

prefix

Prefijo de la colección de ficheros y bloques.

Valores devueltos

Devuelve un nuevo objeto gridfs para esta base de datos.

Ejemplos

Ejemplo #1 Ejemplo de MongoDB::getGridFS()

Este ejemplo muestra cómo obtener una instancia de MongoGridFS.

<?php

$db = $mongo->my_db;

$prefix = 'files';
$collection = $db->getGridFS($prefix);

?>

Lea más sobre MongoGridFS para aprender cómo almacenar ficheros con MongoDB.

MongoDB::getDBRef
MongoDB::getProfilingLevel
MongoDB


Obtiene el nivel de perfilado (profiling) de la base de datos

MongoDB::getGridFS
MongoDB::getReadPreference
MongoDB
PHP Manual

MongoDB::getProfilingLevel

(PECL mongo >=0.9.0)

MongoDB::getProfilingLevel — Obtiene el nivel de perfilado (profiling) de la base de datos

Descripción

public int MongoDB::getProfilingLevel ( void )

Devuelve el nivel de perfilado actual de la base de datos.

El perfilador de la base de datos rastrea el tiempo de ejecución de consultas. Si se habilita (digamos, usando MongoDB::setProfilingLevel() o por consola), puede consultar cuánta consultas tardan más que un determinado número de milisegundos, o el tiempo que tardan toda las consultas.

Tenga presente que el perfilado ralentiza las consultas. Por eso, es mejor utilizarlo en entornos de desarrollo o de pruebas antes que en aplicaciones donde el tiempo sea crucial.

Esta función es equivalente a:

<?php

public function getProfilingLevel() {
    return $this->command(array('profile' => -1));
}

?>

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el nivel de perfilado.

Ver también

  • Documentación de MongoDB sobre » profiling
  • MongoDB::setProfilingLevel() - Establece el nivel de perfilado (profiling) de la base de datos
MongoDB::getGridFS
MongoDB::getReadPreference
MongoDB


Obtener la preferencia de lectura para esta base de datos

MongoDB::getProfilingLevel
MongoDB::getSlaveOkay
MongoDB
PHP Manual

MongoDB::getReadPreference

(PECL mongo >=1.3.0)

MongoDB::getReadPreference — Obtener la preferencia de lectura para esta base de datos

Descripción

public array MongoDB::getReadPreference ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Esta función devuelve un array que describe la preferencia de lectura. El array contiene los valores type para el string del modo de preferencia de lectura (correspondiente a constantes de MongoClient), y tagsets que contiene una lista de todos los criterios de conjuntos de etiquetas. Si no se especificó ningún conjunto de etiquetas, tagsets no estará presente en el array.

Historial de cambios

Versión | Descripción
1.3.3 | El valor devuelto ha cambiado para ser consistente con MongoDB::setReadPreference(). El valor type cambia de ser un número a un string, type_string fue eliminado, y tagsets ahora expresa etiquetas como pares clave/valor en lugar de cadenas delimitadas por dos puntos.

Ejemplos

Ejemplo #1 Ejemplo de valor devuelto de MongoDB::getReadPreference()

<?php

$m = new MongoClient();
$bd = $m->test;
$bd->setReadPreference(MongoClient::RP_SECONDARY, array(
    array('dc' => 'east', 'use' => 'reporting'),
    array('dc' => 'west'),
    array(),
));
var_dump($bd->getReadPreference());
?>

El resultado del ejemplo sería:

array(2) {
  ["type"]=>
  string(9) "secondary"
  ["tagsets"]=>
  array(3) {
    [0]=>
    array(2) {
      ["dc"]=>
      string(4) "east"
      ["use"]=>
      string(9) "reporting"
    }
    [1]=>
    array(1) {
      ["dc"]=>
      string(7) "west"
    }
    [2]=>
    array(0) {
    }
  }
}

Ver también

  • La documentación de preferencias de lectura.
MongoDB::getProfilingLevel
MongoDB::getSlaveOkay
MongoDB


Devuelve el valor de slaveOkay de esta base de datos

MongoDB::getReadPreference
MongoDB::lastError
MongoDB
PHP Manual

MongoDB::getSlaveOkay

(PECL mongo >=1.1.0)

MongoDB::getSlaveOkay — Devuelve el valor de slaveOkay de esta base de datos

Descripción

public bool MongoDB::getSlaveOkay ( void )

Revise la sección de consultas de este manual para más información sobre distribución de lecturas a secundarios.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el valor de slaveOkay para esta instancia.

Historial de cambios

Versión | Descripción
1.2.11 | Emite un error de nivel E_DEPRECATED cuando se usa.

Ver también

  • Preferencias de lectura
  • MongoDB::getReadPreference() - Obtener la preferencia de lectura para esta base de datos
  • MongoDB::setReadPreference() - Establece la preferencia de lectura para esta base de datos
MongoDB::getReadPreference
MongoDB::lastError
MongoDB


Comprueba si hubo un error en la última operación de base de datos llevada a cabo

MongoDB::getSlaveOkay
MongoDB::listCollections
MongoDB
PHP Manual

MongoDB::lastError

(PECL mongo >=0.9.5)

MongoDB::lastError — Comprueba si hubo un error en la última operación de base de datos llevada a cabo

Descripción

public array MongoDB::lastError ( void )

Este método es equivalente a:

<?php

public function lastError() {
    return $this->command(array('getlasterror' => 1));
}

?>

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el error, si lo hubo.

Ejemplos

Ejemplo #1 Ejemplo de error NULL de MongoDB::lastError()

<?php
$db->resetError();
var_dump($db->lastError());
?>

El resultado del ejemplo sería algo similar a:

array(3) {
  ["err"]=>
  NULL
  ["n"]=>
  int(0)
  ["ok"]=>
  float(1)
}

Ejemplo #2 Ejemplo de error de clave duplicada con MongoDB::lastError()

<?php
$c = $db->selectCollection("foo");

// insertar dos documentos con el mismo _id
$c->insert(array("_id" => 1));
$c->insert(array("_id" => 1));

var_dump($db->lastError());
?>

El resultado del ejemplo sería algo similar a:

array(3) {
  ["err"]=>
  string(64) "E11000 duplicate key errorindex: foo.foo.$_id_  dup key: { : 1 }"
  ["n"]=>
  int(0)
  ["ok"]=>
  float(1)
}
MongoDB::getSlaveOkay
MongoDB::listCollections
MongoDB


Obtiene un array con todas las MongoCollection para esta base de datos

MongoDB::lastError
MongoDB::prevError
MongoDB
PHP Manual

MongoDB::listCollections

(PECL mongo >=0.9.0)

MongoDB::listCollections — Obtiene un array con todas las MongoCollection para esta base de datos

Descripción

public array MongoDB::listCollections ([ bool $includeSystemCollections = false ] )

Obtiene una lista de todas las colecciones de una base de datos y las devuelve como un array de objetos MongoCollection.

Parámetros

includeSystemCollections

Las colecciones del sistema incluidas.

Valores devueltos

Devuelve un array de objetos MongoCollections.

Historial de cambios

Versión | Descripción
1.3.0 | Se añadió el parámetro includeSystemCollections.

Ejemplos

Ejemplo #1 Ejemplo de MongoDB::listCollections()

El siguiente ejemplo muestra cómo borrar cada una de las colecciones de una base de datos.

<?php

$m = new MongoClient();
$db = $m->selectDB("sample");

$list = $db->listCollections();
foreach ($list as $collection) {
    echo "borrando $collection... ";
    $collection->drop();
    echo "se fue\n";
}

?>

El resultado del ejemplo sería algo similar a:

borrando sample.blog.posts... se fue
borrando sample.critical.docs... se fue
borrando sample.taxes... se fue
...

Ver también

  • MongoDB::getCollectionNames() - Obtener todas las colecciones de esta base de datos

MongoDB::lastError
MongoDB::prevError
MongoDB


Comprueba el último error emitido durante una operación de base de datos

MongoDB::listCollections
MongoDB::repair
MongoDB
PHP Manual

MongoDB::prevError

(PECL mongo >=0.9.5)

MongoDB::prevError — Comprueba el último error emitido durante una operación de base de datos

Descripción

public array MongoDB::prevError ( void )

En general, se recomienda utilizar MongoDB::lastError() en lugar de este método. Este método devuelve el último error de base de datos que tuvo lugar, y hace cuántas operaciones sucedió. Ha quedado prácticamente obsoleto.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el error y hace cuántas operaciones sucedió.

Historial de cambios

Versión | Descripción
1.2.11 | Emite un error de nivel E_DEPRECATED cuando se usa.

MongoDB::listCollections
MongoDB::repair
MongoDB


Repara y compacta esta base de datos

MongoDB::prevError
MongoDB::resetError
MongoDB
PHP Manual

MongoDB::repair

(PECL mongo >=0.9.0)

MongoDB::repair — Repara y compacta esta base de datos

Descripción

public array MongoDB::repair ([ bool $preserve_cloned_files = FALSE [, bool $backup_original_files = FALSE ]] )

Crea una nueva copia de todos los datos de la base de datos. Eliminará cualquier dato corrupto y la compactará y aumentará los trampos vacíos que encuentre. Esta operación es muy lenta en bases de datos extensas.

Generalmente se ejecuta desde la consola o desde la línea de comandos, y no por el driver.

Es equivalente a la función:

<?php

public function repair() {
    return $this->command(array('repairDatabase' => 1));
}

?>

Parámetros

preserve_cloned_files

Indica si los ficheros clonados deben mantenerse cuando la reparación falle.

backup_original_files

Si se debe guardar una copia de seguridad de los ficheros originales.

Valores devueltos

Devuelve la respuesta de la base de datos.

Ver también

Documentación de MongoDB sobre » reparación.

Ejemplos

Ejemplo #1 Ejemplo de MongoDB::repair()

Este ejemplo muestra cómo reparar y compactar una base de datos.

<?php

$db = $mongo->foo;

$response = $db->repair();
print_r($response);

?>

El resultado del ejemplo sería algo similar a:

Array
(
    [ok] => 1
)
MongoDB::prevError
MongoDB::resetError
MongoDB


Limpia cualquier error de la base de datos que se haya apuntado

MongoDB::repair
MongoDB::selectCollection
MongoDB
PHP Manual

MongoDB::resetError

(PECL mongo >=0.9.5)

MongoDB::resetError — Limpia cualquier error de la base de datos que se haya apuntado

Descripción

public array MongoDB::resetError ( void )

Generalmente, este método no se utiliza. Reinicia el seguimiento de errores de la base de datos (que puede ser incrementado con MongoDB::forceError(), que tampoco se utiliza normalmente).

Es equivalente a ejecutar:

<?php

public function resetError() {
    return $this->command(array('reseterror' => 1));
}

?>

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la respuesta de la base de datos.

Historial de cambios

Versión | Descripción
1.2.11 | Emite un error de nivel E_DEPRECATED cuando se usa.

MongoDB::repair
MongoDB::selectCollection
MongoDB


Obtiene una colección

MongoDB::resetError
MongoDB::setProfilingLevel
MongoDB
PHP Manual

MongoDB::selectCollection

(PECL mongo >=0.9.0)

MongoDB::selectCollection — Obtiene una colección

Descripción

public MongoCollection MongoDB::selectCollection ( string $name )

Parámetros

name

El nombre de la colección.

Valores devueltos

Devuelve un objeto de la colección nueva.

Errores/Excepciones

Lanza una Exception si el nombre de la colección es inválido.

MongoDB::resetError
MongoDB::setProfilingLevel
MongoDB


Establece el nivel de perfilado (profiling) de la base de datos

MongoDB::selectCollection
MongoDB::setReadPreference
MongoDB
PHP Manual

MongoDB::setProfilingLevel

(PECL mongo >=0.9.0)

MongoDB::setProfilingLevel — Establece el nivel de perfilado (profiling) de la base de datos

Descripción

public int MongoDB::setProfilingLevel ( int $level )

Modifica el nivel actual de profiling de la base de datos.

Esta función es equivalente a:

<?php

public function setProfilingLevel($level) {
    return $this->command(array('profile' => $level));
}

?>

Las opciones de niveles son 0 (deshabilitado), 1 (consultas de más de 100ms), y 2 (todas las consultas). Si se deseara perfilar tan sólo las consultas que llevan más que otro periodo de tiempo, utilice el comando de base de datos con un segundo parámetro: el número de milisegundos. Por ejemplo, para perfil todas las consultas que llevan más de on segundo, ejecute:

<?php

$result = $this->command(array('profile' => 1, 'slowms' => 1000));

?>

Las consultas perfiladas aparecerán en la colección system.profile de esta base de datos.

Parámetros

level

Nivel de perfilado.

Valores devueltos

Devuelve el valor anterior del nivel de perfilado.

Ver también

  • Documentación de MongoDB sobre » profiling
  • MongoDB::getProfilingLevel() - Obtiene el nivel de perfilado (profiling) de la base de datos
MongoDB::selectCollection
MongoDB::setReadPreference
MongoDB


Establece la preferencia de lectura para esta base de datos

MongoDB::setProfilingLevel
MongoDB::setSlaveOkay
MongoDB
PHP Manual

MongoDB::setReadPreference

(PECL mongo >=1.3.0)

MongoDB::setReadPreference — Establece la preferencia de lectura para esta base de datos

Descripción

public bool MongoDB::setReadPreference ( string $read_preference [, array $tags ] )

Parámetros

read_preference

El modo de preferencia de lectura: MongoClient::RP_PRIMARY, MongoClient::RP_PRIMARY_PREFERRED, MongoClient::RP_SECONDARY, MongoClient::RP_SECONDARY_PREFERRED, o MongoClient::RP_NEAREST.

tags

Un array de cero o más conjuntos de etiquetas, donde cada conjunto de etiquetas es también un array de criterios usados para comparar etiquetas con miembros de un conjunto de réplicas.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE en caso contrario.

Errores/Excepciones

Emite un error de nivel E_WARNING si el parámetro no es válido, o si se proporcionan uno o más conjuntos de etiquetas con el modo de preferencia de lectura MongoClient::RP_PRIMARY.

Ejemplos

Ejemplo #1 Ejemplo de sintaxis de array de conjunto de etiquetas MongoDB::setReadPreference()

<?php

$m = new MongoClient();
$bd = $m->test;

// Preferir el servidor más cercano del centro de datos "east" también usado para información,
// pero recurrir a un servidor el centro de datos "west"
$bd->setReadPreference(MongoClient::RP_NEAREST, array(
    array('dc' => 'east', 'use' => 'reporting'),
    array('dc' => 'west'),
));
?>

Ver también

  • La documentación de preferencias de lectura.
MongoDB::setProfilingLevel
MongoDB::setSlaveOkay
MongoDB


Cambiar el valor de slaveOkay de esta base de datos

MongoDB::setReadPreference
MongoDB::__toString
MongoDB
PHP Manual

MongoDB::setSlaveOkay

(PECL mongo >=1.1.0)

MongoDB::setSlaveOkay — Cambiar el valor de slaveOkay de esta base de datos

Descripción

public bool MongoDB::setSlaveOkay ([ bool $ok = true ] )

Revise la sección de consultas de este manual para más información sobre distribución de lecturas a secundarios.

Parámetros

ok

Indica si las lecturas deben enviarse a miembros secundarios de un conjunto de réplicas para todas las posibles consultas que se realicen con esta instancia de MongoDB.

Valores devueltos

Devuelve el valor anterior de slaveOkay de esta instancia.

Historial de cambios

Versión | Descripción
1.2.11 | Emite un error de nivel E_DEPRECATED cuando se usa.

Ver también

  • Preferencias de lectura
  • MongoDB::setReadPreference() - Establece la preferencia de lectura para esta base de datos
  • MongoDB::getReadPreference() - Obtener la preferencia de lectura para esta base de datos
MongoDB::setReadPreference
MongoDB::__toString
MongoDB


Nombre de esta base de datos

MongoDB::setSlaveOkay
MongoCollection
MongoDB
PHP Manual

MongoDB::__toString

(PECL mongo >=0.9.0)

MongoDB::__toString — Nombre de esta base de datos

Descripción

public string MongoDB::__toString ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el nombre de esta base de datos.

MongoDB::setSlaveOkay
MongoCollection
MongoDB


La clase MongoCollection

(PECL mongo >=0.9.0)

Introducción

Representa una colección de MongoDB.

Los nombres de colecciones pueden usar cualquier carácter del código ASCII. Algunos ejemplos de nombres válidos de colecciones son "", "...", "mi coleccion", y "*&#@".

Los nombres de colecciones definidos por el usuario no pueden contener el símbolo $. Existen colecciones del sistema que utilizan $ en sus nombres (p.ej., local.oplog.$main), pero es un carácter reservado. Si se intentara crear y usar una colección que incluya $ en su nombre, MongoDB lo notificará.

Sinopsis de la Clase

MongoCollection {
/* Constantes */
const int ASCENDING = 1 ;
const int DESCENDING = -1 ;
/* Campos */
public MongoDB $db = NULL ;
public integer $w ;
public integer $wtimeout ;
/* Métodos */
public array aggregate ( array $pipeline [, array $op [, array $... ]] )
public mixed batchInsert ( array $a [, array $options = array() ] )
public __construct ( MongoDB $db , string $name )
public int count ([ array $query = array() [, int $limit = 0 [, int $skip = 0 ]]] )
public array createDBRef ( mixed $document_or_id )
public array deleteIndex ( string|array $keys )
public array deleteIndexes ( void )
public array distinct ( string $key [, array $query ] )
public array drop ( void )
public bool ensureIndex ( string|array $key|keys [, array $options = array() ] )
public MongoCursor find ([ array $query = array() [, array $fields = array() ]] )
public array findAndModify ( array $query [, array $update [, array $fields [, array $options ]]] )
public array findOne ([ array $query = array() [, array $fields = array() ]] )
public MongoCollection __get ( string $name )
public array getDBRef ( array $ref )
public array getIndexInfo ( void )
public string getName ( void )
public array getReadPreference ( void )
public bool getSlaveOkay ( void )
public array group ( mixed $keys , array $initial , MongoCode $reduce [, array $options = array() ] )
public bool|array insert ( array|object $a [, array $options = array() ] )
public bool|array remove ([ array $criteria = array() [, array $options = array() ]] )
public mixed save ( array|object $a [, array $options = array() ] )
public bool setReadPreference ( string $read_preference [, array $tags ] )
public bool setSlaveOkay ([ bool $ok = true ] )
static protected string toIndexString ( mixed $keys )
public string __toString ( void )
public bool|array update ( array $criteria , array $new_object [, array $options = array() ] )
public array validate ([ bool $scan_data = FALSE ] )
}

Constantes predefinidas

MongoCollection::ASCENDING
1
Sentido ascendente para ordenaciones y creaciones de índices.
MongoCollection::DESCENDING
-1
Sentido descendente para ordenaciones y creaciones de índices.

Campos

db

La base de datos "madre" de esta colección.

w

Número de servidores a los que replicar un cambio antes de confirmar el éxito. Este valor se hereda de la base de datos madre. La clase MongoDB indica de forma más detallada cómo funciona w.

wtimeout

El número de milisegundos a esperar a que las operaciones se realicen en las réplicas de $this->w. Este valor se hereda de la base de datos madre. La clase MongoDB indica de forma más detallada cómo funciona wtimeout.

Ver también

Documentación de MongoDB sobre » collections.

Tabla de contenidos

  • MongoCollection::aggregate — Realiza una acumulación usando el framework de acumulación
  • MongoCollection::batchInsert — Inerta múltiples documentos en esta colección
  • MongoCollection::__construct — Crea una nueva colección
  • MongoCollection::count — Cuenta el número de documentos de esta colección
  • MongoCollection::createDBRef — Crea una referencia a una base de datos
  • MongoCollection::deleteIndex — Elimina un índice de esta colección
  • MongoCollection::deleteIndexes — Elimina todos los índices de esta colección
  • MongoCollection::distinct — Recupera una lista de valores distintos para una clave dada a través de una colección
  • MongoCollection::drop — Borra esta colección
  • MongoCollection::ensureIndex — Crea un índice en el/los campo/s dado/s, o si el índice ya existe, no realiza nada
  • MongoCollection::find — Consulta esta colección, devolviendo un objeto MongoCursor para el conjunto de resultados
  • MongoCollection::findAndModify — Actualizar un documento y devolverlo
  • MongoCollection::findOne — Realiza una consulta a esta colección, devolviendo sólo un elemento
  • MongoCollection::__get — Obtiene una colección
  • MongoCollection::getDBRef — Captura el documento al que apunta una referencia de base de datos
  • MongoCollection::getIndexInfo — Devuelve información sobre los índices de esta colección
  • MongoCollection::getName — Devuelve el nombre de esta colección
  • MongoCollection::getReadPreference — Obtener la preferencia de lectura de esta colección
  • MongoCollection::getSlaveOkay — Consulta el valor de slaveOkay de esta colección
  • MongoCollection::group — Lleva a cabo una operación similar al comando GROUP BY de SQL
  • MongoCollection::insert — Inserta un documento en la colección
  • MongoCollection::remove — Eliminar registros de esta colección
  • MongoCollection::save — Guarda un documento en esta colección
  • MongoCollection::setReadPreference — Establecer la preferencia de lectura para esta colección
  • MongoCollection::setSlaveOkay — Cambia el valor de slaveOkay de esta colección
  • MongoCollection::toIndexString — Convierte claves especificando un índice para su cadena de identificación
  • MongoCollection::__toString — Representación en forma de string de esta colección
  • MongoCollection::update — Actualizar registros basándose en los criterios proporcionados
  • MongoCollection::validate — Valida esta colección
MongoDB::__toString
MongoCollection::aggregate
Clases del núcleo


Realiza una acumulación usando el framework de acumulación

MongoCollection
MongoCollection::batchInsert
MongoCollection
PHP Manual

MongoCollection::aggregate

(PECL mongo >=1.3.0)

MongoCollection::aggregate — Realiza una acumulación usando el framework de acumulación

Descripción

public array MongoCollection::aggregate ( array $pipeline [, array $op [, array $... ]] )

El » framework de agregación de MongoDB proporciona medios para calcular valores acumulados sin tener que usar MapReduce. Aunque MapReduce es potente, a menudo es más dificultoso de lo necesario para muchas tareas sencillas de acumulación, tales como totalizar o hallar la media de valores de campos.

Este método acepta tanto una cantidad variable de operadores de tubería como un único array de dichos operadores constituyendo la tubería.

Parámetros

pipeline

Un array de operadores de tubería, o simplemente el primer operador.

op

El segundo operador de tubería.

...

Operadores de tubería adicionales.

Valores devueltos

El resultado de la acumulación como un array. ok será establecido a 1 en caso de éxito, 0 en caso de error.

Errores/Excepciones

Cuando ocurre un error se devuelve un array con las siguientes claves:

  • errmsg - contiene la razón del fallo
  • code - el código de error del fallo
  • ok - será establecido a 0.

Ejemplos

Ejemplo #1 Ejemplo de MongoCollection::aggregate()

El siguiente ejemplo de operación acumulativa pivota datos para crear un conjunto de nombres de autores agrupados por etiquetas aplicadas a un artículo. Se llama al framework de acumulación usando el siguiente comando:

<?php
$m = new Mongo;
$c = $m->selectDB("examples")->selectCollection("article");
$datos = array (
    'title' => 'this is my title',
    'author' => 'bob',
    'posted' => new MongoDate,
    'pageViews' => 5,
    'tags' => array ( 'fun', 'good', 'fun' ),
    'comments' => array (
      array (
        'author' => 'joe',
        'text' => 'this is cool',
      ),
      array (
        'author' => 'sam',
        'text' => 'this is bad',
      ),
    ),
    'other' =>array (
      'foo' => 5,
    ),
);
$d = $c->insert($datos, array("w" => 1));

$ops = array(
    array(
        '$project' => array(
            "author" => 1,
            "tags"   => 1,
        )
    ),
    array('$unwind' => '$tags'),
    array(
        '$group' => array(
            "_id" => array("tags" => '$tags'),
            "authors" => array('$addToSet' => '$author'),
        ),
    ),
);
$resultados = $c->aggregate($ops);
var_dump($resultados);
?>

El resultado del ejemplo sería:

array(2) {
  ["result"]=>
  array(2) {
    [0]=>
    array(2) {
      ["_id"]=>
      array(1) {
        ["tags"]=>
        string(4) "good"
      }
      ["authors"]=>
      array(1) {
        [0]=>
        string(3) "bob"
      }
    }
    [1]=>
    array(2) {
      ["_id"]=>
      array(1) {
        ["tags"]=>
        string(3) "fun"
      }
      ["authors"]=>
      array(1) {
        [0]=>
        string(3) "bob"
      }
    }
  }
  ["ok"]=>
  float(1)
}

El siguiente ejemplo usa el » conjunto de datos de códigos zip. Utilice mongoimport para cargar este conjunto de datos en una instancia de mongod.

Ejemplo #2 Ejemplo de MongoCollection::aggregate()

Para devolver todos los estados con una población de más de 10 millones, se usa la siguiente operación acumulativa:

<?php
$m = new Mongo;
$c = $m->selectDB("test")->selectCollection("zips");

$salida = $c->aggregate(array(
        '$group' => array(
            '_id' => '$state',
           'totalPop' => array('$sum' => '$pop')
        )
    ),
    array(
        '$match' => array('totalPop' => array('$gte' => 10*1000*1000))
    )
);

var_dump($salida);
?>

El resultado del ejemplo sería algo similar a:

array(2) {
  ["result"]=>
  array(7) {
    [0]=>
    array(2) {
      ["_id"]=>
      string(2) "TX"
      ["totalPop"]=>
      int(16986510)
    }
    [1]=>
    array(2) {
      ["_id"]=>
      string(2) "PA"
      ["totalPop"]=>
      int(11881643)
    }
    [2]=>
    array(2) {
      ["_id"]=>
      string(2) "NY"
      ["totalPop"]=>
      int(17990455)
    }
    [3]=>
    array(2) {
      ["_id"]=>
      string(2) "IL"
      ["totalPop"]=>
      int(11430602)
    }
    [4]=>
    array(2) {
      ["_id"]=>
      string(2) "CA"
      ["totalPop"]=>
      int(29760021)
    }
    [5]=>
    array(2) {
      ["_id"]=>
      string(2) "OH"
      ["totalPop"]=>
      int(10847115)
    }
    [6]=>
    array(2) {
      ["_id"]=>
      string(2) "FL"
      ["totalPop"]=>
      int(12937926)
    }
  }
  ["ok"]=>
  float(1)
}

Ejemplo #3 Ejemplo de MongoCollection::aggregate()

Para devolver la población media de las ciudades de cada estado, use la siguiente operación acumulativa:

<?php
$m = new Mongo;
$c = $m->selectDB("test")->selectCollection("zips");

$salida = $c->aggregate(
    array(
        '$group' => array(
            '_id' => array('state' => '$state', 'city' => '$city' ),
            'pop' => array('$sum' => '$pop' )
        )
    ),
    array(
        '$group' => array(
            '_id' => '$_id.state',
            'avgCityPop' => array('$avg' => '$pop')
        )
    )
);

var_dump($salida);
?>

El resultado del ejemplo sería algo similar a:

array(2) {
  ["result"]=>
  array(51) {
    [0]=>
    array(2) {
      ["_id"]=>
      string(2) "DC"
      ["avgCityPop"]=>
      float(303450)
    }
    [1]=>
    array(2) {
      ["_id"]=>
      string(2) "DE"
      ["avgCityPop"]=>
      float(14481.913043478)
    }
    [2]=>
    array(2) {
      ["_id"]=>
      string(2) "RI"
      ["avgCityPop"]=>
      float(18933.283018868)
    }
    [3]=>
    array(2) {
      ["_id"]=>
      string(2) "AL"
      ["avgCityPop"]=>
      float(7907.2152641879)
    }
    [4]=>
    array(2) {
      ["_id"]=>
      string(2) "NH"
      ["avgCityPop"]=>
      float(5232.320754717)
    }
...
    [45]=>
    array(2) {
      ["_id"]=>
      string(2) "WY"
      ["avgCityPop"]=>
      float(3359.9111111111)
    }
    [46]=>
    array(2) {
      ["_id"]=>
      string(2) "MN"
      ["avgCityPop"]=>
      float(5335.4865853659)
    }
    [47]=>
    array(2) {
      ["_id"]=>
      string(2) "OK"
      ["avgCityPop"]=>
      float(6155.7436399217)
    }
    [48]=>
    array(2) {
      ["_id"]=>
      string(2) "IL"
      ["avgCityPop"]=>
      float(9931.0182450043)
    }
    [49]=>
    array(2) {
      ["_id"]=>
      string(2) "WI"
      ["avgCityPop"]=>
      float(7323.0074850299)
    }
    [50]=>
    array(2) {
      ["_id"]=>
      string(2) "WV"
      ["avgCityPop"]=>
      float(2759.1953846154)
    }
  }
  ["ok"]=>
  float(1)
}

Ver también

  • El » framework de acumulación de MongoDB
MongoCollection
MongoCollection::batchInsert
MongoCollection


Inerta múltiples documentos en esta colección

MongoCollection::aggregate
MongoCollection::__construct
MongoCollection
PHP Manual

MongoCollection::batchInsert

(PECL mongo >=0.9.0)

MongoCollection::batchInsert — Inerta múltiples documentos en esta colección

Descripción

public mixed MongoCollection::batchInsert ( array $a [, array $options = array() ] )

Parámetros

a

Un array de arrays u objetos. Si se utilizan objetos, estos no pueden tener propiedades protegidas o privadas.

Nota:

Si los documentos a insertar no poseen una clave _id o propiedad, se creará una nueva instancia de MongoId y se le asignará. Véase MongoCollection::insert() para información adicional sobre este comportamiento.

options

Opciones para las inserciones.

  • "continueOnError"

    Booleano, por omisión es FALSE. Si se establece, la base de datos no parará de procesar un volumen de inserciones si una falla (p.ej. debido a IDs duplicados). Esto hace que el volumen de inserciones se comporte de manera similar que una insercioón única, excepto que con la llamada a MongoDB::lastError() se obtendrá un error de conjunto si cualquier inserción falla, no sólo la primera. Si ocurren varios errores, sólo se informará de más reciente, mediante MongoDB::lastError().

    Nota:

    Por favor, observe que continueOnError afecta únicamente a los errores del lado del servidor. Si se intenta insertar un documento que tiene errores (por ejemplo que contiene una clave con un nombre vacío), el documento no es transferido a la base de datos ya que el controlador detecta este error y falla. continueOnError no tiene efecto sobre errores detectados en los documentos por el controlador.

  • "fsync"

    Booleano, su valor predeterminado es FALSE. Si la opción "journal" está habilitada, funciona exactamente como "j". Si no está habilitada, fuerza a la inserción que sea sincronizada con el disco antes de devolver que tuvo éxito. Si es TRUE, está implicada una inserción reconocida y sobrescribirá el ajuste w a 0.

    Nota:

    Esta opción está obsoleta. Use la opción "j" en su lugar.

  • "j"

    Booleano, su valor predeterminado es FALSE. Fuerza a la inserción a ser sincronizada con el diario antes de devolver que ha tenido éxito. Si es TRUE, implica una inserción reconocida y sobrescribirá el ajuste w a 0.

  • "w"

    Véase WriteConcerns. El valor predeterminado de MongoClient es 1.

  • "wtimeout"

    Cuánto esperar para el reconocimiento de WriteConcern. El valor predeterminado de MongoClient es 10000 milisegundos.

  • "safe"

    Obsoleto. Use la opción w de WriteConcern.

  • "timeout"

    Entero, valor predeterminado MongoCursor::$timeout. Si se usan las escrituras reconocidas, esto estable cuánto debe esperar el cliente (en milisegundos) a una respuesta de la base de datos. Si la base de datos no responde dentro de perído de espera, se lanzará una MongoCursorTimeoutException.

Valores devueltos

Si el parámetro w está establecido para aceptar la escritura, devuelve un array asociativo con el estado de las inserciones ("ok") y cualquier error que pudiera ocurrir ("err"). De lo contrario, devuelve TRUE si la inserción por lotes fue enviada con éxito, FALSE si no.

Errores/Excepciones

Lanza una excepción de tipo MongoException si cualquier documento insertado está vacío o si contiene claves de longitud cero. Intentar insertar un objeto con propiedades protegidas o privadas causará un error de clave de longitud cero.

Lanza una MongoCursorException si la opción "w" está establecida y la escritura falla.

Lanza una MongoCursorTimeoutException si la opción "w" está establecida a un valor mayor que uno y la operación toma más de MongoCursor::$timeout milisegundos en completarse. Esto no pondrá fin a la operación en el servidor, es un tiempo de espera del lado del cliente. La operación en MongoCollection::$wtimeout es milisegundos.

Historial de cambios

Versión | Descripción
1.2.7 | Se añadió la opción "continueOnError".
1.0.9 | Se añadió la capacidad de pasar números enteros a la opción "safe", que anteriormente sólo aceptaba booleanos. Se añadió la opción "fsync".
1.0.5 | Se añadió el parámetro options.

Ejemplos

Ejemplo #1 Ejemplo de MongoCollection::batchInsert()

Las inserciones por lotes son una forma rápida de añadir muchos elementos a la base de datos

<?php

$users = array();
for ($i = 0; $i<100; $i++) {
  $users[] = array('username' => 'user'.$i, 'i' => $i);
}

$mongo = new MongoClient();
$collection = $mongo->my_db->users;
$collection->drop();

$collection->batchInsert($users);

foreach ($users as $user) {
  echo $user['_id']."\n"; // completado con instanceof MongoId
}

$users = $collection->find()->sort(array('i' => 1));
foreach ($users as $user) {
    var_dump($user['username']);
}

?>

El resultado del ejemplo sería algo similar a:

4bf43ac68ead0e1971000000
4bf43ac68ead0e1971010000
4bf43ac68ead0e1971020000
...
string(5) "user1"
string(5) "user2"
string(5) "user3"
...

Ejemplo #2 Ejemplo de MongoCollection::batchInsert() ignorando errores

<?php

$con = new Mongo;
$db = $con->demo;

$doc1 = array(
        '_id' => new MongoId('4cb4ab6d7addf98506010001'),
        'id' => 1,
        'desc' => "ONE",
);
$doc2 = array(
        '_id' => new MongoId('4cb4ab6d7addf98506010002'),
        'id' => 2,
        'desc' => "TWO",
);
$doc3 = array(
        '_id' => new MongoId('4cb4ab6d7addf98506010002'), // el mismo _id que es de arriba
        'id' => 3,
        'desc' => "THREE",
);
$doc4 = array(
        '_id' => new MongoId('4cb4ab6d7addf98506010004'),
        'id' => 4,
        'desc' => "FOUR",
);

$c = $db->selectCollection('c');
$c->batchInsert(
    array($doc1, $doc2, $doc3, $doc4),
    array('continueOnError' => true)
);

$docs = $c->find();
foreach ($docs as $doc) {
    var_dump($doc['desc']);
}
?>

El resultado del ejemplo sería algo similar a:

string(3) "ONE"
string(3) "TWO"
string(4) "FOUR"

Ver también

  • MongoCollection::insert() - Inserta un documento en la colección
  • MongoCollection::update() - Actualizar registros basándose en los criterios proporcionados
  • MongoCollection::find() - Consulta esta colección, devolviendo un objeto MongoCursor para el conjunto de resultados
  • MongoCollection::remove() - Eliminar registros de esta colección
  • Documentación de MongoDB sobre » insert.
MongoCollection::aggregate
MongoCollection::__construct
MongoCollection


Crea una nueva colección

MongoCollection::batchInsert
MongoCollection::count
MongoCollection
PHP Manual

MongoCollection::__construct

(PECL mongo >=0.9.0)

MongoCollection::__construct — Crea una nueva colección

Descripción

public MongoCollection::__construct ( MongoDB $db , string $name )

Parámetros

MongoDB db

Base de datos padre.

name

Nombre de esta colección.

Valores devueltos

Devuelve un nuevo objeto de tipo colección.

Errores/Excepciones

Si el nombre no fuera válido, emite una excepción por defecto.

MongoCollection::batchInsert
MongoCollection::count
MongoCollection


Cuenta el número de documentos de esta colección

MongoCollection::__construct
MongoCollection::createDBRef
MongoCollection
PHP Manual

MongoCollection::count

(PECL mongo >=0.9.0)

MongoCollection::count — Cuenta el número de documentos de esta colección

Descripción

public int MongoCollection::count ([ array $query = array() [, int $limit = 0 [, int $skip = 0 ]]] )

Parámetros

query

Array asociativo u objeto con los campos que deben coincidir.

limit

Especifica una cota superior del número devuelto.

skip

Especifica el número de resultados a partir del cual se ignorarán.

Valores devueltos

Devuelve el número de documentos que coinciden con la consulta.

Historial de cambios

Versión | Descripción
1.0.7 | Se añadieron los parámetros limit y skip.

Ejemplos

Ejemplo #1 Ejemplo de MongoCollection::count()

<?php

$collection->insert(array('x'=>1));
$collection->insert(array('x'=>2));
$collection->insert(array('x'=>3));

var_dump($collection->count());
var_dump($collection->count(array('x'=>1)));

?>

El resultado del ejemplo sería algo similar a:

int(3)
int(1)
MongoCollection::__construct
MongoCollection::createDBRef
MongoCollection


Crea una referencia a una base de datos

MongoCollection::count
MongoCollection::deleteIndex
MongoCollection
PHP Manual

MongoCollection::createDBRef

(PECL mongo >=0.9.0)

MongoCollection::createDBRef — Crea una referencia a una base de datos

Descripción

public array MongoCollection::createDBRef ( mixed $document_or_id )

Parámetros

document_or_id

Si se proporciona un array o un objeto, su campo _id será usado como ID de referencia. Si se proporciona un MongoId o un escalar, se usará como ID de referencia.

Valores devueltos

Devuelve un array de referencia a base de datos.

Si se proporcionó un array sin el campo _id como parámetro document_or_id, será devuelto NULL.

Ejemplos

Ejemplo #1 Ejemplo de MongoCollection::createDBRef()

<?php

$canciones = $db->canciones;
$listasDeReproduccion = $db->listasdereproduccion;

// crea una referencia a una canción
$manamana = $songs->findOne(array('titulo' => 'Ma na ma na'));
$refACancioin = $songs->createDBRef($manamana);

// añade la referencia a mi lista de reproducción
$listasDeReproduccion->update(array('usuario' => 'yo'), array('$push' => array('listadecanciones' => $refToSong)));

?>

Ver también

  • MongoCollection::getDBRef() - Captura el documento al que apunta una referencia de base de datos

MongoCollection::count
MongoCollection::deleteIndex
MongoCollection


Elimina un índice de esta colección

MongoCollection::createDBRef
MongoCollection::deleteIndexes
MongoCollection
PHP Manual

MongoCollection::deleteIndex

(PECL mongo >=0.9.0)

MongoCollection::deleteIndex — Elimina un índice de esta colección

Descripción

public array MongoCollection::deleteIndex ( string|array $keys )

Este método es identico a:

<?php

public function deleteIndexes($keys) {
  // toIndexString es un método 'protected' que convierte los strings, arrays, y objetos
  // en nombres de índices
  $index = $this->toIndexString($keys);

  return $this->db->command(array("deleteIndexes" => $this->getName(),
    "index" => $index));
}

?>

Cuando se crea un índice, se le asigna un nombre único. Generalmente, será establecido por el usuario (con la opción "name" de MongoCollection::ensureIndex()) o generado por el driver a partir de una combinación de nombres de clave y de direcciones. Usaremos después este nombre con MongoCollection::deleteIndex() para eliminar el índice.

Desafortunadamente, el método MongoCollection::ensureIndex() genera nombres ligeramente diferentes a los que crea la shell y, por motivos de retro-compatibilidad, MongoCollection::deleteIndex() no puede eliminar índices con nombres creados a medida. Por esa reazón, la mejor forma de eliminar índices creados por la shell o con nombres a medida, es llamar directamente al comando de la base de datos deleteIndexes.

De esta forma, si se quisiera eliminar un índice al que llamamos "superfast query", sólo se podría eliminar con el controlador de PHP, ejecutando:

<?php

$db->command(array("deleteIndexes" => $collection->getName(), "index" => "superfast query"));

?>

Para averiguar cómo se llama un índice, puede consultar colección system.indexes de una base de datos y analizar el campo name (nombre).

Parámetros

keys

Campo o campos en los que eliminar el índice.

Valores devueltos

Devuelve la respuesta de la base de datos.

Ejemplos

Ejemplo #1 Ejemplo de MongoCollection::deleteIndex()

Este ejemplo ilustra cómo pasar tanto un stringo como un array a la función.

<?php
$m = new MongoClient();
$c = $m->example->indices;

// crea un índice
$c->ensureIndex(array("i"=>1));

// elimina un índice
$c->deleteIndex("i");

// crea un índice multi-clave
$c->ensureIndex(array("j" => 1, "k" => 1));

// elimina un índice multi-clave
$c->deleteIndex(array("j" => 1, "k" => 1));
?>
MongoCollection::createDBRef
MongoCollection::deleteIndexes
MongoCollection


Elimina todos los índices de esta colección

MongoCollection::deleteIndex
MongoCollection::distinct
MongoCollection
PHP Manual

MongoCollection::deleteIndexes

(PECL mongo >=0.9.0)

MongoCollection::deleteIndexes — Elimina todos los índices de esta colección

Descripción

public array MongoCollection::deleteIndexes ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la respuesta de la base de datos.

Ejemplos

Ejemplo #1 Ejemplo de MongoCollection::deleteIndexes()

Este ejemplo demuestra cómo eliminar todos los índices de una colección, y muestra también la respuesta esperada.

<?php

$collection = $mongo->my_db->articles;
$response = $collection->deleteIndexes();
print_r($response);

?>

El resultado del ejemplo sería algo similar a:

Array
(
    [nIndexesWas] => 1
    [msg] => all indexes deleted for collection
    [ok] => 1
)
MongoCollection::deleteIndex
MongoCollection::distinct
MongoCollection


Recupera una lista de valores distintos para una clave dada a través de una colección

MongoCollection::deleteIndexes
MongoCollection::drop
MongoCollection
PHP Manual

MongoCollection::distinct

(PECL mongo >=1.2.11)

MongoCollection::distinct — Recupera una lista de valores distintos para una clave dada a través de una colección

Descripción

public array MongoCollection::distinct ( string $key [, array $query ] )

El comando distinct devuelve una lista de valores distintos para la clave dada a través de una colección.

Parámetros

key

La clave a usar.

query

Parámetros de consulta opcionales.

Valores devueltos

Devuelve un array con valores distintos, o FALSE en caso de error

Ejemplos

Ejemplo #1 Ejemplo de MongoCollection::distinct()

<?php
$m = new Mongo;
$bd = $m->selectDB("test");
$bd->dropCollection("distinct");
$c = $bd->distinct;

$c->insert(array("stuff" => "bar", "zip-code" => 10010));
$c->insert(array("stuff" => "foo", "zip-code" => 10010));
$c->insert(array("stuff" => "bar", "zip-code" => 99701), array("w" => 1));

$retval = $c->distinct("zip-code");
var_dump($retval);

$retval = $c->distinct("zip-code", array("stuff" => "foo"));
var_dump($retval);

$retval = $c->distinct("zip-code", array("stuff" => "bar"));
var_dump($retval);

?>

El resultado del ejemplo sería:

array(2) {
  [0]=>
  int(10010)
  [1]=>
  int(99701)
}
array(1) {
  [0]=>
  int(10010)
}
array(2) {
  [0]=>
  int(10010)
  [1]=>
  int(99701)
}

Ejemplo #2 Ejemplo de MongoCollection::distinct() sobre un documento embebido

<?php
$c->insert(array("user" => array("points" => 25)));
$c->insert(array("user" => array("points" => 31)));
$c->insert(array("user" => array("points" => 25)));

$retval = $c->distinct("user.points");
var_dump($retval);

$retval = $c->distinct("user.nonexisting");
var_dump($retval);
?>

El resultado del ejemplo sería:

array(2) {
  [0]=>
  int(25)
  [1]=>
  int(31)
}
array(0) {
}
MongoCollection::deleteIndexes
MongoCollection::drop
MongoCollection


Borra esta colección

MongoCollection::distinct
MongoCollection::ensureIndex
MongoCollection
PHP Manual

MongoCollection::drop

(PECL mongo >=0.9.0)

MongoCollection::drop — Borra esta colección

Descripción

public array MongoCollection::drop ( void )

Borra esta colección y elimina sus índices.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la respuesta de la base de datos.

Ejemplos

Ejemplo #1 MongoCollection::drop() example

Este ejemplo demuestra cómo borrar una colección, y muestra también la respuesta esperada.

<?php

$collection = $mongo->my_db->articles;
$response = $collection->drop();
print_r($response);

?>

El resultado del ejemplo sería algo similar a:

Array
(
    [nIndexesWas] => 1
    [msg] => all indexes deleted for collection
    [ns] => my_db.articles
    [ok] => 1
)
MongoCollection::distinct
MongoCollection::ensureIndex
MongoCollection


Crea un índice en el/los campo/s dado/s, o si el índice ya existe, no realiza nada

MongoCollection::drop
MongoCollection::find
MongoCollection
PHP Manual

MongoCollection::ensureIndex

(PECL mongo >=0.9.0)

MongoCollection::ensureIndex — Crea un índice en el/los campo/s dado/s, o si el índice ya existe, no realiza nada

Descripción

public bool MongoCollection::ensureIndex ( string|array $key|keys [, array $options = array() ] )

Este método crea un índice en la colección y los campos especificados. Al especificar la clave se puede o bien proporcionar un nombre de campo en forma de string, o un array que contenga uno o más nombres de campo con su sentido de ordenación.

Parámetros

keys

Array que contiene los campos por los que se ordenará el índice. Cada elemento del array tiene como clave el nombre del campo, y como valor, o bien 1 para orden ascendente, o bien -1 para orden desendente.

options

Este parámetro es un array asociativo de la forma array("nombredeopcion" => <boolean>, ...). Las opciones soportadas actualmente son:

  • "w"

    Véase WriteConcerns. El valor predeterminado de MongoClient es 1.

  • "unique"

    Crea un índice único.

    Advertencia

    No se puede crear un índice único en un campo si los distintos documentos existentes no contienen dicho campo. Este es efectivamente NULL para estos documentos y, por lo tanto, ya es no único. Se podría utilizar indexación fluida para superar este problema, ya que prevendrá que los documentos sin dicho cambo sean indexados.

  • "dropDups"

    Si se estuviera creando un índice único, y existieran valores duplicados, borrar todos excepto uno de ellos.

  • "sparse"

    Crea un índice fluido, el cual únicamente incluye documentos que contiene el campo. Esta opción solamente es compatible con índices de campo sencillo.

  • "expireAfterSeconds"

    El valor de esta opciión debería especificar el número de segundos transcurridos para que un documento sea considerado como expirado y sea automáticamente eliminado de la colección. Esta opción solamente es compatible con índices de campo sencillo donde el campo contiene valores MongoDate.

    Esta característica está disponible en MongoDB 2.2+. Véase » Expirar datos de colecciones estableciendo el TTL para más información.

  • "background"

    De manera predeterminada, la creación de un índice es una operación de bloqueo que detendrá otras operaciones sobre la base de datos hasta que sea completada. Si se especifica TRUE para esta opción, el índice se creará en segundo plano mientras toman lugar otras operaciones.

    Advertencia

    Antes de MongoDB 2.1.0, la operación de construcción de un índice no estaba en segundo plano cuando replicaba a secundarios, sin tener en cuenta esta opción. See » Building Indexes with Replica Sets for more information.

  • "name"

    Esta opción permite sobrescribir el algoritmo que usa el controlador para crear un nombre de índice y especificar el propio. Puede ser útil si se están indexando varias claves y Mongo reclama que el nombre del índice es muy extenso.

  • "timeout"

    Entero, valor predeterminado MongoCursor::$timeout. Si se usan las escrituras reconocidas, esto estable cuánto debe esperar el cliente (en milisegundos) a una respuesta de la base de datos. Si la base de datos no responde dentro de perído de espera, se lanzará una MongoCursorTimeoutException.

  • "safe"

    Obsoleto. Use la opción w de WriteConcern.

Valores devueltos

Devuelve un array que contiene el estado de la creación del índice si la opción "w" está establecida. De lo contrario, devuelve TRUE.

Los campos del array de estado están descritos en la documentación de MongoCollection::insert().

Historial de cambios

Versión | Descripción
1.3.0 | El parámetro options ya no acepta un booleano para identificar un índice único. En su lugar, ahora debe hacerse con array('unique' => true).
1.2.11 | Emite un error de nivel E_DEPRECATED cuando options es de tipo scalar.
1.2.0 | Se añadió la opción "timeout".
1.0.11 | La opción "safe" desencadenará una tolerancia a fallos en el primario, si fuera necesario. Se lanzará una MongoException si el nombre del índice (generado o establecido) es mayor que 128 bytes.
1.0.5 | Se añadió la opción "name" para sobrescribir la creación del nombre del índice.
1.0.2 | Cambiado el parámetro options de booleano a array. Antes de la versión 1.0.2, el segundo parámetro era un valor booleano opcional que especificaba si era o no un índice único.

Errores/Excepciones

Lanza MongoException si el nombre de índice es superior a 128 bytes. (Versión 1.0.11+)

Lanza una MongoCursorException si la opción "w" está establecida y la escritura falla.

Lanza una MongoCursorTimeoutException si la opción "w" está establecida a un valor mayor que uno y la operación toma más de MongoCursor::$timeout milisegundos en completarse. Esto no pondrá fin a la operación en el servidor, es un tiempo de espera del lado del cliente. La operación en MongoCollection::$wtimeout es milisegundos.

Ejemplos

Ejemplo #1 Ejemplo de MongoCollection::ensureIndex()

<?php

$c = new MongoCollection($db, 'foo');

// crea un índice en 'x' ascendente
$c->ensureIndex('x');

// crea un índice en 'y' ascendente
$c->ensureIndex(array('y' => 1));

// crea un índice en 'z' ascendente y en 'zz' descendente
$c->ensureIndex(array('z' => 1, 'zz' => -1));

// crea un índice único en 'x'
$c->ensureIndex(array('x' => 1), array("unique" => true));

?>

Ejemplo #2 Ejemplo de borrado de duplicados

<?php

$collection->insert(array("username" => "joeschmoe"));
$collection->insert(array("username" => "joeschmoe"));

/*
 * falla la creación del índice; no se puede crear un índice único en una clave que no tiene
 * valores únicos
 */
$collection->ensureIndex(array("username" => 1), array("unique" => 1));

/*
 * éxito al crear índice: se ha eliminado uno de los documentos de la colección
 */
$collection->ensureIndex(array("username" => 1), array("unique" => 1, "dropDups" => 1));

/*
 * ahora tenemos un índice único, por lo que las inserciones con el mismo username (como el
 * anterior) fallarán
 */
$collection->insert(array("username" => "joeschmoe"));

?>

Ejemplo #3 Indexación Geoespacial

Mongo soporta índices geoespaciales, que permiten buscar documentos cercanos a una determinada localización o que estén dentro de una determinada forma. Por ejemplo, para crear un índice geoespacial en el campo "loc":

<?php

$collection->ensureIndex(array("loc" => "2d"));

?>

Ver también

Documentación de MongoDB sobre » índices por defecto y sobre » índices geoespaciales.

MongoCollection::drop
MongoCollection::find
MongoCollection


Consulta esta colección, devolviendo un objeto MongoCursor para el conjunto de resultados

MongoCollection::ensureIndex
MongoCollection::findAndModify
MongoCollection
PHP Manual

MongoCollection::find

(PECL mongo >=0.9.0)

MongoCollection::find — Consulta esta colección, devolviendo un objeto MongoCursor para el conjunto de resultados

Descripción

 public MongoCursor MongoCollection::find
  ([ array $query = array()
 [, array $fields = array()
]] )

Parámetros

query

Los campos en los que buscar. El lenguaje de consultas de MongoDB es bastante extenso. El controlador de PHP, en la mayoría de los casos, pasará la consulta directamente al servidor, por lo que es una buena idea leer el manual de MongoDB sobre » find.

Advertencia

Asegúrese de que en todos los operadores de consulta especiales (los que empiezan con $) se usen comillas simples, ya que así PHP no intentará reemplazar "$exists" con el valor de la variable $exists.

fields

Campos del resultado que se devolverán. El array está en el formato array('nombrecampo' => true, 'nombrecampo2' => true). El campo _id se devuelve siempre.

Valores devueltos

Devuelve un cursor para los resultados de la búsqueda.

Ejemplos

Ejemplo #1 Ejemplo de MongoCollection::find()

Este ejemplo demuestra las opciones de búsqueda básica.

<?php

$m = new MongoClient();
$db = $m->selectDB('test');
$collection = new MongoCollection($db, 'produce');

// buscar frutas
$fruitQuery = array('Type' => 'Fruit');

$cursor = $collection->find($fruitQuery);
foreach ($cursor as $doc) {
    var_dump($doc);
}

// buscar los que son dulces. Taste es un hijo de Details.
$sweetQuery = array('Details.Taste' => 'Sweet');
echo "Sweet\n";
$cursor = $collection->find($sweetQuery);
foreach ($cursor as $doc) {
    var_dump($doc);
}

?>

El resultado del ejemplo sería:

array(4) {
  ["_id"]=>
  object(MongoId)#7 (1) {
    ["$id"]=>
    string(24) "50a87dd084f045a19b220dd6"
  }
  ["Name"]=>
  string(5) "Apple"
  ["Type"]=>
  string(5) "Fruit"
  ["Details"]=>
  array(2) {
    ["Taste"]=>
    string(5) "Sweet"
    ["Colour"]=>
    string(3) "Red"
  }
}
array(4) {
  ["_id"]=>
  object(MongoId)#8 (1) {
    ["$id"]=>
    string(24) "50a87de084f045a19b220dd7"
  }
  ["Name"]=>
  string(5) "Lemon"
  ["Type"]=>
  string(5) "Fruit"
  ["Details"]=>
  array(2) {
    ["Taste"]=>
    string(4) "Sour"
    ["Colour"]=>
    string(5) "Green"
  }
}

Sweet:
array(4) {
  ["_id"]=>
  object(MongoId)#7 (1) {
    ["$id"]=>
    string(24) "50a87dd084f045a19b220dd6"
  }
  ["Name"]=>
  string(5) "Apple"
  ["Type"]=>
  string(5) "Fruit"
  ["Details"]=>
  array(2) {
    ["Taste"]=>
    string(5) "Sweet"
    ["Colour"]=>
    string(3) "Red"
  }
}

Véase MongoCursor para más información sobre cómo trabajar con cursores.

Ejemplo #2 Ejemplo de MongoCollection::find()

Este ejemplo muestra como buscar en un rango.

<?php

$m = new MongoClient();
$db = $m->selectDB('test');
$colección = new MongoCollection($db, 'phpmanual');

// buscar documentos donde 5 < x < 20
$rangeQuery = array('x' => array( '$gt' => 5, '$lt' => 20 ));

$cursor = $colección->find($rangeQuery);
foreach ($cursor as $doc) {
    var_dump($doc);
}

?>

El resultado del ejemplo sería:

array(2) {
  ["_id"]=>
  object(MongoId)#10 (1) {
    ["$id"]=>
    string(24) "4ebc3e3710b89f2349000000"
  }
  ["x"]=>
  int(12)
}
array(2) {
  ["_id"]=>
  object(MongoId)#11 (1) {
    ["$id"]=>
    string(24) "4ebc3e3710b89f2349000001"
  }
  ["x"]=>
  int(12)
}

Véase MongoCursor para más información sobre cómo trabajar con cursores.

Ejemplo #3 Ejemplo de MongoCollection::find() usando $where

Este ejemplo demuestra cómo buscar en una colección usando código javascript para reducir el conjunto de resultados.

<?php

$m = new MongoClient();
$db = $m->selectDB('test');
$colección = new MongoCollection($db, 'phpmanual');

$js = "function() {
    return this.name == 'Joe' || this.age == 50;
}";
$cursor = $colección->find(array('$where' => $js));
foreach ($cursor as $doc) {
    var_dump($doc);
}

?>

El resultado del ejemplo sería:

array(3) {
  ["_id"]=>
  object(MongoId)#7 (1) {
    ["$id"]=>
    string(24) "4ebc3e3710b89f2349000002"
  }
  ["name"]=>
  string(3) "Joe"
  ["age"]=>
  int(20)
}

Ejemplo #4 Ejemplo de MongoCollection::find() usando $in

Este ejemplo demuestra cómo buscar una colección usando el operador $in.

<?php

$m = new MongoClient();
$db = $m->selectDB('test');
$colección = new MongoCollection($db, 'phpmanual');

$cursor = $colección->find(array(
    'name' => array('$in' => array('Joe', 'Wendy'))
));

?>

El resultado del ejemplo sería:

array(3) {
  ["_id"]=>
  object(MongoId)#7 (1) {
    ["$id"]=>
    string(24) "4ebc3e3710b89f2349000002"
  }
  ["name"]=>
  string(3) "Joe"
  ["age"]=>
  int(20)
}

Ejemplo #5 Obtener resultados en forma de array

Devuelve un MongoCursor. A menudo, los principiantes se sienten más cómodos usando arrays. Para convertir un cursor en un array, utilice la función iterator_to_array().

<?php

$m = new MongoClient();
$db = $m->selectDB('test');
$colección = new MongoCollection($db, 'phpmanual');

$cursor = $colección->find();
$array = iterator_to_array($cursor);

?>

El resultado del ejemplo sería:

array(3) {
  ["4ebc40af10b89f5149000000"]=>
  array(2) {
    ["_id"]=>
    object(MongoId)#6 (1) {
      ["$id"]=>
      string(24) "4ebc40af10b89f5149000000"
    }
    ["x"]=>
    int(12)
  }
  ["4ebc40af10b89f5149000001"]=>
  array(2) {
    ["_id"]=>
    object(MongoId)#11 (1) {
      ["$id"]=>
      string(24) "4ebc40af10b89f5149000001"
    }
    ["x"]=>
    int(12)
  }
  ["4ebc40af10b89f5149000002"]=>
  array(3) {
    ["_id"]=>
    object(MongoId)#12 (1) {
      ["$id"]=>
      string(24) "4ebc40af10b89f5149000002"
    }
    ["name"]=>
    string(3) "Joe"
    ["age"]=>
    int(20)
  }
}

Al usar iterator_to_array() se fuerza a que el controlador cargue todos los resultados en memoria. ¡No lo use cuando el resultado supere el tamaño máximo de memoria!

Además, algunas colecciones del sistema no tienen un campo _id. Si se trabaja con colecciones que pudieran tener documentos sin _ids, establezca FALSE el segundo argumento de iterator_to_array() (así, no tratará de usar como clave el valor del campo _id inexistente).

Ver también

  • MongoCollection::findOne() - Realiza una consulta a esta colección, devolviendo sólo un elemento
  • MongoCollection::insert() - Inserta un documento en la colección
  • Documentación de MongoDB sobre » find.
MongoCollection::ensureIndex
MongoCollection::findAndModify
MongoCollection


Actualizar un documento y devolverlo

MongoCollection::find
MongoCollection::findOne
MongoCollection
PHP Manual

MongoCollection::findAndModify

(PECL mongo >=1.3.0)

MongoCollection::findAndModify — Actualizar un documento y devolverlo

Descripción

public array MongoCollection::findAndModify ( array $query [, array $update [, array $fields [, array $options ]]] )

El comando findAndModify modifica atómicamente y devuelve un único documento. Por omisión, el documento devuelto no incluye las modificaciones realizadas en la actualización. Para devolver el documento con las modificaciones hechas en la actualización, use la opción new.

Parámetros

query

Los criterios de consulta con los que buscar.

update

Los criterios de actualización.

fields

Devolver opcionalmente estos campos solamente.

options

Un array de opciones a aplicar, tal como eliminar el documento coincidente de la BD y devolverlo.

Opción | Descripción
sort array | Determina qué documento modificará la operación si la consulta selecciona varios. findAndModify modificará el primer documento en el orden especificado por este argumento.
remove boolean | Opcional si el campo update existe. Cuando es TRUE, elimina el documento seleccionado. El valor predeterminado es FALSE.
update array | Opcional si existe el campo remove. Realiza una actualización del documento seleccionado.
new boolean | Opcional. Si es TRUE, devulve el documento modificado en lugar del original. El método findAndModify ignora la opción new en operaciones de eliminación. El valor predeterminado es FALSE.
upsert boolean | Opcional. Usada junto con el campo update. Se es TRUE, el comando findAndModify crea un nuevo documento si la consulta no devuelve ningujo. El valor predeterminado es false. En MongoDB 2.2, el comando findAndModify devuelve NULL cuando upsert es TRUE.

Valores devueltos

Devuelve el documento original, o el modificado si new está establecido.

Errores/Excepciones

Lanza una MongoResultException en case de error.

Ejemplos

Ejemplo #1 Ejemplo de MongoCollection::findAndModify()

<?php
$m = new Mongo;
$col = $m->selectDB("test")->jobs;

$col->insert(array(
     "name" => "Next promo",
     "inprogress" => false,
     "priority" => 0,
     "tasks" => array( "select product", "add inventory", "do placement"),
) );

$col->insert(array(
     "name" => "Biz report",
     "inprogress" => false,
     "priority" => 1,
     "tasks" => array( "run sales report", "email report" )
) );

$col->insert(array(
     "name" => "Biz report",
     "inprogress" => false,
     "priority" => 2,
     "tasks" => array( "run marketing report", "email report" )
    ),
    array("w" => 1)
);

$retval = $col->findAndModify(
     array("inprogress" => false, "name" => "Biz report"),
     array('$set' => array('inprogress' => true, "started" => new MongoDate())),
     null,
     array(
        "sort" => array("priority" => -1),
        "new" => true,
    )
);

var_dump($retval);
?>

El resultado del ejemplo sería algo similar a:

array(6) {
  ["_id"]=>
  object(MongoId)#7 (1) {
    ["$id"]=>
    string(24) "5091b5b244415e8cc3000002"
  }
  ["inprogress"]=>
  bool(true)
  ["name"]=>
  string(10) "Biz report"
  ["priority"]=>
  int(2)
  ["started"]=>
  object(MongoDate)#8 (2) {
    ["sec"]=>
    int(1351726514)
    ["usec"]=>
    int(925000)
  }
  ["tasks"]=>
  array(2) {
    [0]=>
    string(20) "run marketing report"
    [1]=>
    string(12) "email report"
  }
}

Ejemplo #2 Manejo de errores de MongoCollection::findAndModify()

<?php
$m = new Mongo;
$col = $m->selectDB("test")->jobs;
try {
    $retval = $col->findAndModify(
         array("inprogress" => false, "name" => "Next promo"),
         array('$pop' => array("tasks" => -1)),
         array("tasks" => array('$pop' => array("stuff"))),
         array("new" => true)
    );
} catch(MongoResultException $e) {
    echo $e->getCode(), " : ", $e->getMessage(), "\n";
    var_dump($e->getDocument());
}

?>

El resultado del ejemplo sería algo similar a:

13097 : exception: Unsupported projection option: $pop
array(3) {
  ["errmsg"]=>
  string(46) "exception: Unsupported projection option: $pop"
  ["code"]=>
  int(13097)
  ["ok"]=>
  float(0)
}

Ver también

  • La documentación de MongoDB sobre el » comando findAndModify
MongoCollection::find
MongoCollection::findOne
MongoCollection


Realiza una consulta a esta colección, devolviendo sólo un elemento

MongoCollection::findAndModify
MongoCollection::__get
MongoCollection
PHP Manual

MongoCollection::findOne

(PECL mongo >=0.9.0)

MongoCollection::findOne — Realiza una consulta a esta colección, devolviendo sólo un elemento

Descripción

 public array MongoCollection::findOne
  ([ array $query = array()
 [, array $fields = array()
]] )

A diferencia de MongoCollection::find(), este método solo devolverá el primer resultado del conjunto de resultados, y no una instancia de MongoCursor sobre la que se pueda iterar.

Parámetros

query

Los campos en los que buscar. El lenguaje de consultas de MongoDB es bastante extenso. El controlador de PHP, en la mayoría de los casos, pasará la consulta directamente al servidor, por lo que es una buena idea leer el manual de MongoDB sobre » find.

Advertencia

Asegúrese de que en todos los operadores de consulta especiales (los que empiezan con $) se usen comillas simples, ya que así PHP no intentará reemplazar "$exists" con el valor de la variable $exists.

fields

Campos del resultado que se devolverán. El array está en el formato array('nombrecampo' => true, 'nombrecampo2' => true). El campo _id se devuelve siempre.

Valores devueltos

Devuelve el registro que coincide con la búsqueda, o NULL.

Errores/Excepciones

Lanza una MongoConnectionException si no se puede acceder a la base de datos.

Ejemplos

Ejemplo #1 Ejemplo de MongoCollection::findOne() buscando por id.

Este ejemplo muestra cómo buscar un documento en una colección a partir de su id.

<?php

$artículos = $mongo->mi_bd->artículos;

$artículo = $artículos->findOne(array('_id' => new MongoId('47cc67093475061e3d9536d2')));

?>

Ejemplo #2 Ejemplo de MongoCollection::findOne() a partir de una condición.

Este ejemplo muestra como buscar un documento en una colección a partir de una condición, limitando los campos devueltos.

<?php

$usuarios = $mongo->mi_bd->usuarios;
$usuario = $usuarios->findOne(array('nombreusuario' => 'jwage'), array('password'));
print_r($usuario);

?>

El resultado del ejemplo sería algo similar a:

Array
(
    [_id] => MongoId Object
        (
        )

    [password] => test
)

Observe que, incluso si el documento no contiene un campo nombreusuario, se limitan los resultados para que únicamente contengan el campo password.

Ver también

  • MongoCollection::find() - Consulta esta colección, devolviendo un objeto MongoCursor para el conjunto de resultados
  • MongoCollection::insert() - Inserta un documento en la colección
  • Documentación de MongoDB sobre » find.
MongoCollection::findAndModify
MongoCollection::__get
MongoCollection


Obtiene una colección

MongoCollection::findOne
MongoCollection::getDBRef
MongoCollection
PHP Manual

MongoCollection::__get

(PECL mongo >=1.0.2)

MongoCollection::__get — Obtiene una colección

Descripción

public MongoCollection MongoCollection::__get ( string $name )

Forma concisa de obtener una colección con un nombre separado por el carácter punto. Si el nombre de colección contuviera caracteres extraños, se debería utilizar en su lugar MongoDB::selectCollection().

<?php

$mongo = new MongoClient();

// las dos siguientes sentencias son equivalentes
$collection = $mongo->selectDB("foo")->selectCollection("bar.baz");
$collection = $mongo->foo->bar->baz;

?>

Parámetros

name

Siguiente string en el nombre de la colección.

Valores devueltos

Devuelve la colección.

MongoCollection::findOne
MongoCollection::getDBRef
MongoCollection


Captura el documento al que apunta una referencia de base de datos

MongoCollection::__get
MongoCollection::getIndexInfo
MongoCollection
PHP Manual

MongoCollection::getDBRef

(PECL mongo >=0.9.0)

MongoCollection::getDBRef — Captura el documento al que apunta una referencia de base de datos

Descripción

public array MongoCollection::getDBRef ( array $ref )

Parámetros

ref

Referencia a una base de datos.

Valores devueltos

Devuelve el documente de base de datos al que apunta esta referencia.

Ejemplos

Ejemplo #1 Ejemplo de MongoCollection::getDBRef()

<?php

$listasdereproduccion = $db->listasdereproduccion;

$miLista = $listasdereproduccion->findOne(array('usuario' => 'yo'));

// capturar cada canción de la lista de reproducción
foreach ($miLista['listacancion'] as $refCancion) {
    $cancion = $listasdereproduccion->getDBRef($refCancion);
    echo $cancion['titulo'] . "\n";
}

?>

El resultado del ejemplo sería algo similar a:

Dazed and Confused
Ma na ma na
Bohemian Rhapsody

En el ejemplo anterior cada $refCancion será similar a lo siguiente:
    Array
    (
        [$ref] => canciones
        [$id] => 49902cde5162504500b45c2c
    )

Ver también

  • MongoCollection::createDBRef() - Crea una referencia a una base de datos

MongoCollection::__get
MongoCollection::getIndexInfo
MongoCollection


Devuelve información sobre los índices de esta colección

MongoCollection::getDBRef
MongoCollection::getName
MongoCollection
PHP Manual

MongoCollection::getIndexInfo

(PECL mongo >=0.9.0)

MongoCollection::getIndexInfo — Devuelve información sobre los índices de esta colección

Descripción

public array MongoCollection::getIndexInfo ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Esta función devuelve un array en el cual cada elemento describe un índice. Los elementos contendrán los valores name para el nombre del índice, ns para el espacio de nombres (una combianción del nombre de la base de datos y el de la colección), y key para una lista de todos los campos del índice y su orden. Podrían estar presentes valores adicionales para índices especiales, tales como unique o sparse.

Ejemplos

Ejemplo #1 Ejemplo de MongoCollection::getIndexInfo()

<?php

$m = new MongoClient();
$c = $m->selectCollection('test', 'venues');
var_dump($c->getIndexInfo());

?>

El resultado del ejemplo sería algo similar a:

array(
  0 => array(
    "v" => 1,
    "key" => array(
      "_id" => 1,
    ),
    "ns" => "test.venues",
    "name" => "_id_",
  ),
  1 => array(
    "v" => 1,
    "key" => array(
      "name" => 1,
    ),
    "unique" : true,
    "ns" => "test.venues",
    "name" => "name_1",
  ),
  2 => array(
    "v" => 1,
    "key" => array(
      "type" => 1,
      "createdAt" => -1,
    ),
    "ns" => "test.venues",
    "name" => "type_1_createdAt_-1",
  ),
  3 => array(
    "v" => 1,
    "key" => array(
      "location" => "2d",
    ),
    "ns" => "test.venues",
    "name" => "location_2d",
  ),
)

Ver también

La documentación principal de MongoDB sobre » índices de vainilla e » índices geoespaciales.

MongoCollection::getDBRef
MongoCollection::getName
MongoCollection


Devuelve el nombre de esta colección

MongoCollection::getIndexInfo
MongoCollection::getReadPreference
MongoCollection
PHP Manual

MongoCollection::getName

(PECL mongo >=0.9.0)

MongoCollection::getName — Devuelve el nombre de esta colección

Descripción

public string MongoCollection::getName ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el nombre de esta colección.

Ejemplos

Ejemplo #1 Ejemplo de MongoCollection::getName()

<?php

$m = new MongoClient();
$c = $m->foo->bar->baz;

echo "Trabajando con la colección " . $c->getName() . ".\n";

// El espacio de nombres completo viene dado por el método MongoCollection::__toString()
echo "Trabajando en el espacio de nombres $c.\n";

?>

El resultado del ejemplo sería algo similar a:

Trabajando con la colección bar.baz.
Trabajando en el espacio de nombres foo.bar.baz.

MongoCollection::getIndexInfo
MongoCollection::getReadPreference
MongoCollection


Obtener la preferencia de lectura de esta colección

MongoCollection::getName
MongoCollection::getSlaveOkay
MongoCollection
PHP Manual

MongoCollection::getReadPreference

(PECL mongo >=1.3.0)

MongoCollection::getReadPreference — Obtener la preferencia de lectura de esta colección

Descripción

public array MongoCollection::getReadPreference ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Esta función devuelve un array que describe la preferencia de lectura. El array contiene los valores type para el string del modo de preferencia de lectura (correspondiente a constantes de MongoClient), y tagsets que contiene una lista de todos los criterios de conjuntos de etiquetas. Si no se especificó ningún conjunto de etiquetas, tagsets no estará presente en el array.

Historial de cambios

Versión | Descripción
1.3.3 | El valor devuelto ha cambiado para ser consistente con MongoCollection::setReadPreference(). El valor type cambia de ser un número a un string, type_string fue eliminado, y tagsets ahora expresa las etiquetas como pares calve/valor en lugar de cadenas delimitadas por dos puntos.

Ejemplos

Ejemplo #1 Ejemplo de valor devueto por MongoCollection::getReadPreference()

<?php

$m = new MongoClient();
$c = $m->test->users;
$c->setReadPreference(MongoClient::RP_SECONDARY, array(
    array('dc' => 'east', 'use' => 'reporting'),
    array('dc' => 'west'),
    array(),
));
var_dump($c->getReadPreference());
?>

El resultado del ejemplo sería:

array(2) {
  ["type"]=>
  string(9) "secondary"
  ["tagsets"]=>
  array(3) {
    [0]=>
    array(2) {
      ["dc"]=>
      string(4) "east"
      ["use"]=>
      string(9) "reporting"
    }
    [1]=>
    array(1) {
      ["dc"]=>
      string(7) "west"
    }
    [2]=>
    array(0) {
    }
  }
}

Ver también

  • La documentación de preferencias de lectura.
MongoCollection::getName
MongoCollection::getSlaveOkay
MongoCollection


Consulta el valor de slaveOkay de esta colección

MongoCollection::getReadPreference
MongoCollection::group
MongoCollection
PHP Manual

MongoCollection::getSlaveOkay

(PECL mongo >=1.1.0)

MongoCollection::getSlaveOkay — Consulta el valor de slaveOkay de esta colección

Descripción

public bool MongoCollection::getSlaveOkay ( void )

Revise la sección de consultas de este manual para más información sobre distribución de lecturas a secundarios.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el valor de slaveOkay para esta instancia.

Historial de cambios

Versión | Descripción
1.2.11 | Emite un error de nivel E_DEPRECATED cuando se usa.

Ver también

  • Preferencias de lectura
  • MongoCollection::getReadPreference() - Obtener la preferencia de lectura de esta colección
MongoCollection::getReadPreference
MongoCollection::group
MongoCollection


Lleva a cabo una operación similar al comando GROUP BY de SQL

MongoCollection::getSlaveOkay
MongoCollection::insert
MongoCollection
PHP Manual

MongoCollection::group

(PECL mongo >=0.9.2)

MongoCollection::group — Lleva a cabo una operación similar al comando GROUP BY de SQL

Descripción

public array MongoCollection::group ( mixed $keys , array $initial , MongoCode $reduce [, array $options = array() ] )

Parámetros

keys

Campos a agrupar. Si se pasa un array o un objeto que no es de código, será la clave usada para agrupar resultados.

1.0.4+: Si keys es una instancia de MongoCode, keys será tratado como una función que devuelve la clave con la que agrupar (revise el ejemplo de abajo sobre "Pasando una función a keys").

initial

Valor inicial del objeto contador combinado.

reduce

Una función que toma dos argumentos (el documento actual y la agregación en este punto) y realiza la agregación.

options

Parámetros opcionales para el comando group. Las opciones válidas incluyen:

  • "condition"

    Condición para incluir un documento a la agregación.

  • "finalize"

    Función que se invoca por cada clave única que toma la salida de la función reduce.

Valores devueltos

Devuelve un array que contiene el resultado.

Historial de cambios

Versión | Descripción
1.2.11 | Emite un error de nivel E_DEPRECATED cuando options es de tipo scalar.

Ejemplos

Ejemplo #1 Ejemplo de MongoCollection::group()

Agrupa los documentos por categoría y crea una lista de los nombres que hay dentro de la categoría.

<?php

$collection->insert(array("categoria" => "fruta", "nombre" => "manzana"));
$collection->insert(array("categoria" => "fruta", "nombre" => "melocoton"));
$collection->insert(array("categoria" => "fruta", "nombre" => "platano"));
$collection->insert(array("categoria" => "verdura", "nombre" => "maiz"));
$collection->insert(array("categoria" => "verdura", "nombre" => "brocoli"));

$keys = array("categoria" => 1);

$initial = array("items" => array());

$reduce = "function (obj, prev) { prev.items.push(obj.nombre); }";

$g = $collection->group($keys, $initial, $reduce);

echo json_encode($g['retval']);

?>

El resultado del ejemplo sería algo similar a:

[{"categoria":"fruta","items":["manzana","melocoton","platano"]},{"categoria":"verdura","items":["maiz","brocoli"]}]

Ejemplo #2 Ejemplo de MongoCollection::group()

Este ejemplo no utiliza ninguna clave, por lo que cada documento será su propio grupo. Además, usa una condición: sólo los documentos que la cumplan, serán procesados por la función de agrupación.

<?php

$collection->save(array("a" => 2));
$collection->save(array("b" => 5));
$collection->save(array("a" => 1));

// usar todos los campos
$claves = array();

// establecer valores iniciales
$inicial = array("count" => 0);

// función JavaScript a realizar
$reduce = "function (obj, prev) { prev.count++; }";

// usar sólo los documentos donde el campo "a" es mayor que 1
$condicion = array('condition' => array("a" => array( '$gt' => 1)));

$g = $collection->group($claves, $inicial, $reduce, $condicion);

var_dump($g);

?>

El resultado del ejemplo sería algo similar a:

array(4) {
  ["retval"]=>
  array(1) {
    [0]=>
    array(1) {
      ["count"]=>
      float(1)
    }
  }
  ["count"]=>
  float(1)
  ["claves"]=>
  int(1)
  ["ok"]=>
  float(1)
}

Ejemplo #3 Pasando una función a keys

Si se desea agrupar por algo distinto a un nombre de campo, se puede pasar una función como primer parámetro de MongoCollection::group() y se ejecutará con cada documento. Se usará el valor devuelto de la función como valor de agrupación.

Este ejemplo demuestra cómo agrupar por el campo num módulo 4 (num % 4).

<?php

$c->group(new MongoCode('function(doc) { return {mod : doc.num % 4}; }'),
     array("count" => 0),
     new MongoCode('function(current, total) { total.count++; }'));

?>
MongoCollection::getSlaveOkay
MongoCollection::insert
MongoCollection


Inserta un documento en la colección

MongoCollection::group
MongoCollection::remove
MongoCollection
PHP Manual

MongoCollection::insert

(PECL mongo >=0.9.0)

MongoCollection::insert — Inserta un documento en la colección

Descripción

public bool|array MongoCollection::insert ( array|object $a [, array $options = array() ] )

Todas las cadenas de texto que se envíen a la base de datos deben estar en UTF-8. Si un string no estuviera en UTF-8, se lanzaría una excepción MongoException. Para insertar (o para consultar) un texto que no sea UTF-8, utilice MongoBinData.

Parámetros

a

Un array u objeto. Si se utiliza un objeto, este no puede tener propiedades protegidas o privadas.

Nota:

Si el parámetro no posee una clave _id o propiedad, se creará una nueva instancia de MongoId y se le asignará. Este comportamiento especial no implica que el parámetro sea pasado por referencia.

options

Opciones para la inserción.

  • "fsync"

    Booleano, su valor predeterminado es FALSE. Si la opción "journal" está habilitada, funciona exactamente como "j". Si no está habilitada, fuerza a la inserción que sea sincronizada con el disco antes de devolver que tuvo éxito. Si es TRUE, está implicada una inserción reconocida y sobrescribirá el ajuste w a 0.

    Nota:

    Esta opción está obsoleta. Use la opción "j" en su lugar.

  • "j"

    Booleano, su valor predeterminado es FALSE. Fuerza a la inserción a ser sincronizada con el diario antes de devolver que ha tenido éxito. Si es TRUE, implica una inserción reconocida y sobrescribirá el ajuste w a 0.

  • "w"

    Véase WriteConcerns. El valor predeterminado de MongoClient es 1.

  • "wtimeout"

    Cuánto esperar para el reconocimiento de WriteConcern. El valor predeterminado de MongoClient es 10000 milisegundos.

  • "safe"

    Obsoleto. Use la opción w de WriteConcern.

  • "timeout"

    Entero, valor predeterminado MongoCursor::$timeout. Si se usan las escrituras reconocidas, esto estable cuánto debe esperar el cliente (en milisegundos) a una respuesta de la base de datos. Si la base de datos no responde dentro de perído de espera, se lanzará una MongoCursorTimeoutException.

Valores devueltos

Devuelve un array que contiene el estado de la inserción si la opción "w" está establecida. De lo contrario, devuelve TRUE si el array insertado no está vacío (se lanzará una MongoException si el array insertado está vacío).

Si se devuelve un array, las siguientes claves podrían estar presentes:

ok

Debería ser casi siempre 1 (a menos que last_error falle por sí mismo).

err

Si este campo es diferente de null, un error ocurrido en la operación anterior. Si este campo está establecido, será una cadena describiendo el error que ocurrió.

code

Si ocurrión un error de base de datos, el código de error relevante será devuelto al cliente.

errmsg

Este campo está establecido si algo va mal con un comando de base de datos. Está asociado con ok igual a 0. Por ejemplo, si se establece w y se agota el tiempo, errmsg será establecido a "timed out waiting for slaves" y ok será 0. Si este campo es establecido, será una cadena describiendo el error ocurrido.

n

Si la última operación fue de inserción, una upsert, o una eliminación, será devuelto el número de objetos afectados. Para operaciones de inserción, este valor siempre es 0.

wtimeout

Si la opción anterior agota el tiempo, espera una réplica.

waited

Cuánto esperará la operación antes de agotarse el tiempo.

wtime

Si w fue establecido y la operación tiene éxito, cuánto toma la réplica a los servidores w.

upserted

Si ocurre un upsert, este campo contendrá el nuevo campo _id del registro. Para upserts, estará presente este campo o updatedExisting (a menos que ocurra un error).

updatedExisting

Si un upsert actualiza un elemento existente, este campo será "true". Para upserts, estará presente este campo o upserted (a menos que ocurra un error).

Errores/Excepciones

Lanza una excepción de tipo MongoException si el documento insertado está vacío o si contiene claves de longitud cero. Intentar insertar un objeto con propiedades protegidas o privadas causará un error de clave de longitud cero.

Lanza una MongoCursorException si la opción "w" está establecida y la escritura falla.

Lanza una MongoCursorTimeoutException si la opción "w" está establecida a un valor mayor que uno y la operación toma más de MongoCursor::$timeout milisegundos en completarse. Esto no pondrá fin a la operación en el servidor, es un tiempo de espera del lado del cliente. La operación en MongoCollection::$wtimeout es milisegundos.

Historial de cambios

Versión | Descripción
1.3.0 | El parámetro options ya no acepta un booleano para indicar una escritura aceptada. En su lugar, ahora esto tiene que hacerse con array('w' => 1) (El comportamiento predeterminado de MongoClient).
1.2.0 | Se añadió el parámetro "timeout".
1.0.11 | Se desconecta en errores "not master" si "safe" está establecido.
1.0.9

Añadida la capacidad de pasar enteros a la opción "safe", la cual anteriormente únicamente aceptaba booleanos.

Añadida la opción "fsync".

Cambiado el tipo devuelto por un array que contiene información si se utiliza la opción "safe". De otro modo, se devuelve un booleano como antes.

1.0.5 | Cambiado el segundo parámetro a un array de opciones. Antes de 1.0.5, el segundo parámetro era un booleano indicando la opción "safe".
1.0.1 | Lanza una MongoCursorException si la opción "safe" está establecida y la inserción falla.

Ejemplos

Ejemplo #1 Ejemplo de MongoCollection::insert() con _id

Un campo _id será añadido al documento insertado si no estuviera ya presente. Dependiendo de cómo el parámetro sea pasado, estará disponible o no un _id generado para llamar al código.

<?php

$m = new MongoClient();
$colección = $m->selectCollection('test', 'phpmanual');

// Si se usa un array literal, no hay forma de acceder al _id generado
$colección->insert(array('x' => 1));

// El _id está disponible en un array pasado por valor
$a = array('x' => 2);
$colección->insert($a);
var_dump($a);

// El _id no está disponible en un array pasado por referencia
$b = array('x' => 3);
$ref = &$b;
$colección->insert($ref);
var_dump($ref);

// El _id está disponible si una función envolvente no desencadena una copia durante la escritura
function insert_no_cow($colección, $documento)
{
    $colección->insert($documento);
}

$c = array('x' => 4);
insert_no_cow($colección, $c);
var_dump($c);

// El _id no está disponible si una función envolvente desencadena una copia durante la escritura
function insert_cow($colección, $documento)
{
    $documento['y'] = 1;
    $colección->insert($documento);
}

$d = array('x' => 5);
insert_cow($colección, $d);
var_dump($d);

?>

El resultado del ejemplo sería algo similar a:

array(2) {
  ["x"]=>
  int(2)
  ["_id"]=>
  object(MongoId)#4 (0) {
  }
}
array(1) {
  ["x"]=>
  int(3)
}
array(2) {
  ["x"]=>
  int(4)
  ["_id"]=>
  object(MongoId)#5 (0) {
  }
}
array(1) {
  ["x"]=>
  int(5)
}

Ejemplo #2 Ejemplo de escritura aceptada con MongoCollection::insert()

Este ejemplo muestra cómo al insertar dos elementos con el mismo _id, se provoca que se lance una excepción MongoCursorException, ya que w está habilitado.

<?php

$persona = array("nombre" => "Joe", "edad" => 20);
$colección->insert($persona);

// ahora $persona tiene un campo _id, así que si intentamos guardarlo
// de nuevo, obtendremos una excepción
try {
    $collection->insert($persona, array("w" => 1));
} catch(MongoCursorException $e) {
    echo "No se puede guardar dos veces la misma persona!\n";
}

?>

Ver también

  • MongoCollection::batchInsert() - Inerta múltiples documentos en esta colección
  • MongoCollection::update() - Actualizar registros basándose en los criterios proporcionados
  • MongoCollection::find() - Consulta esta colección, devolviendo un objeto MongoCursor para el conjunto de resultados
  • MongoCollection::remove() - Eliminar registros de esta colección
  • Documentación de MongoDB sobre » insert.
MongoCollection::group
MongoCollection::remove
MongoCollection


Eliminar registros de esta colección

MongoCollection::insert
MongoCollection::save
MongoCollection
PHP Manual

MongoCollection::remove

(PECL mongo >=0.9.0)

MongoCollection::remove — Eliminar registros de esta colección

Descripción

 public bool|array MongoCollection::remove
  ([ array $criteria = array()
 [, array $options = array()
]] )

Parámetros

criteria

Descripción de los registros que se eliminarán.

options

Opciones de eliminación.

  • "w"

    Véase WriteConcerns. El valor predeterminado de MongoClient es 1.

  • "justOne"

    Eliminar solamente uno de los registros que cumplan las condiciones.

  • "fsync"

    Booleano, su valor predeterminado es FALSE. Si la opción "journal" está habilitada, funciona exactamente como "j". Si no está habilitada, fuerza a la inserción que sea sincronizada con el disco antes de devolver que tuvo éxito. Si es TRUE, está implicada una inserción reconocida y sobrescribirá el ajuste w a 0.

    Nota:

    Esta opción está obsoleta. Use la opción "j" en su lugar.

  • "j"

    Booleano, su valor predeterminado es FALSE. Fuerza a la inserción a ser sincronizada con el diario antes de devolver que ha tenido éxito. Si es TRUE, implica una inserción reconocida y sobrescribirá el ajuste w a 0.

  • "w"

    Véase WriteConcerns. El valor predeterminado de MongoClient es 1.

  • "wtimeout"

    Cuánto esperar para el reconocimiento de WriteConcern. El valor predeterminado de MongoClient es 10000 milisegundos.

  • "safe"

    Obsoleto. Use la opción w de WriteConcern.

  • "timeout"

    Entero, valor predeterminado MongoCursor::$timeout. Si se usan las escrituras reconocidas, esto estable cuánto debe esperar el cliente (en milisegundos) a una respuesta de la base de datos. Si la base de datos no responde dentro de perído de espera, se lanzará una MongoCursorTimeoutException.

Valores devueltos

Devuelve un array que contiene el estado de la eliminación si está establecida la opción "w". De lo contrario, devuelve TRUE.

Los campos del array de estado están descritros en la documentación de MongoCollection::insert().

Errores/Excepciones

Lanza una MongoCursorException si la opción "w" está establecida y la escritura falla.

Lanza una MongoCursorTimeoutException si la opción "w" está establecida a un valor mayor que uno y la operación toma más de MongoCursor::$timeout milisegundos en completarse. Esto no pondrá fin a la operación en el servidor, es un tiempo de espera del lado del cliente. La operación en MongoCollection::$wtimeout es milisegundos.

Historial de cambios

Versión | Descripción
1.3.0 | El parámetro options ya no solo acepta un booleano que indique "soloUno" "justOne". En su lugar, ahora se debe hacer con array('justOne' => true).
1.2.11 | Emite un error de nivel E_DEPRECATED cuando options es de tipo scalar.
1.2.0 | Se añadió la opción "timeout".
1.0.11 | Se desconcecta cuando ocurren errores "not master" si "safe" está establecido.
1.0.9

Se añadió la capacidad de pasar números enteros a la opción "safe", la cual anteriomente sólo aceptaba valores booleanos.

Se añadío la opción "fsync".

Es tipo devuelto se cambio para que fuera un array que contuviera la información del error si se usaba la opción "safe". De otro modo, se devolvía un valor booleano como antes.

1.0.5 | Cambiado el segundo parámetro a un array de opciones. Antes de 1.0.5, el segundo parámetro era un booleano indicando la opción "safe".

Ejemplos

Ejemplo #1 Ejemplo de MongoCollection::remove() con justOne

<?php

$radioactivo = $db->radioactivo;

// contar cuánto plution queda
$restante = $radioactivo->count(array('type' => 94));

$vidamedia = $restante/2;

// eliminar la mitad
while ($vidamedia > 0) {
    $radioactivo->remove(array('type' => 94), array("justOne" => true));
    $vidamedia--;
}

?>

Ver también

  • MongoCollection::insert() - Inserta un documento en la colección
  • MongoCollection::update() - Actualizar registros basándose en los criterios proporcionados
  • Documentación de MongoDB sobre » remove.
MongoCollection::insert
MongoCollection::save
MongoCollection


Guarda un documento en esta colección

MongoCollection::remove
MongoCollection::setReadPreference
MongoCollection
PHP Manual

MongoCollection::save

(PECL mongo >=0.9.0)

MongoCollection::save — Guarda un documento en esta colección

Descripción

public mixed MongoCollection::save ( array|object $a [, array $options = array() ] )

Si el objeto fuera de la base de datos, se actualizaría. En caso contrario, se insertaría.

Parámetros

a

Array u objeto a guardar. Si se usa un objeto, este no puede tener propiedades protegidas o privadas.

Nota:

Si el parámetro no posee una clave _id o propiedad, se creará una nueva instancia de MongoId y se le asignará. Véase MongoCollection::insert() para información adicional sobre este comportamiento.

options

Opciones para el guardado.

  • "fsync"

    Booleano, su valor predeterminado es FALSE. Si la opción "journal" está habilitada, funciona exactamente como "j". Si no está habilitada, fuerza a la inserción que sea sincronizada con el disco antes de devolver que tuvo éxito. Si es TRUE, está implicada una inserción reconocida y sobrescribirá el ajuste w a 0.

    Nota:

    Esta opción está obsoleta. Use la opción "j" en su lugar.

  • "j"

    Booleano, su valor predeterminado es FALSE. Fuerza a la inserción a ser sincronizada con el diario antes de devolver que ha tenido éxito. Si es TRUE, implica una inserción reconocida y sobrescribirá el ajuste w a 0.

  • "w"

    Véase WriteConcerns. El valor predeterminado de MongoClient es 1.

  • "wtimeout"

    Cuánto esperar para el reconocimiento de WriteConcern. El valor predeterminado de MongoClient es 10000 milisegundos.

  • "safe"

    Obsoleto. Use la opción w de WriteConcern.

  • "timeout"

    Entero, valor predeterminado MongoCursor::$timeout. Si se usan las escrituras reconocidas, esto estable cuánto debe esperar el cliente (en milisegundos) a una respuesta de la base de datos. Si la base de datos no responde dentro de perído de espera, se lanzará una MongoCursorTimeoutException.

Valores devueltos

Si w estuviera habilitado, devolvería un array que contiene el estado de la escritura. En cualquier otro caso, devuelve un booleano que representa si el array no estaba vacío (un array vacío no se insertará).

Errores/Excepciones

Lanza una excepción de tipo MongoException si el documento insertado está vacío o si contiene claves de longitud cero. Intentar insertar un objeto con propiedades protegidas o privadas causará un error de clave de longitud cero.

Lanza una MongoCursorException si la opción "w" está establecida y la escritura falla.

Lanza una MongoCursorTimeoutException si la opción "w" está establecida a un valor mayor que uno y la operación toma más de MongoCursor::$timeout milisegundos en completarse. Esto no pondrá fin a la operación en el servidor, es un tiempo de espera del lado del cliente. La operación en MongoCollection::$wtimeout es milisegundos.

Historial de cambios

Versión | Descripción
1.2.0 | Añadida la opción "timeout".
1.0.11 | Se desconecta en errores "not master" si "safe" está establecido.
1.0.9 | Añadida la capacidad de pasar enteros a la opción "safe", la cual anteriormente únicamente aceptaba booleanos. Añadida la opción "fsync".
1.0.5 | Añadido el parámetro options.

Ejemplos

Ejemplo #1 Ejemplo de MongoCollection::save()

<?php

$obj = array('x' => 1);

// insertar $obj en la base de datos
$collection->save($obj);
var_dump($obj);

// añadir otro campo
$obj['foo'] = 'bar';

// $obj no puede insertarse de nuevo; provoca un error de _id duplicado
$collection->insert($obj);

// la función save actualiza $obj con el nuevo campo
$collection->save($obj);

?>

El resultado del ejemplo sería algo similar a:

array(2) {
  ["x"]=>
  int(1)
  ["_id"]=>
  object(MongoId)#4 (1) {
    ["$id"]=>
    string(24) "50b6afe544415ed606000000"
  }
}
MongoCollection::remove
MongoCollection::setReadPreference
MongoCollection


Establecer la preferencia de lectura para esta colección

MongoCollection::save
MongoCollection::setSlaveOkay
MongoCollection
PHP Manual

MongoCollection::setReadPreference

(PECL mongo >=1.3.0)

MongoCollection::setReadPreference — Establecer la preferencia de lectura para esta colección

Descripción

public bool MongoCollection::setReadPreference ( string $read_preference [, array $tags ] )

Parámetros

read_preference

El modo de preferencia de lectura: MongoClient::RP_PRIMARY, MongoClient::RP_PRIMARY_PREFERRED, MongoClient::RP_SECONDARY, MongoClient::RP_SECONDARY_PREFERRED, o MongoClient::RP_NEAREST.

tags

Un array de cero o más conjuntos de etiquetas, donde cada conjunto de etiquetas es también un array de criterios usados para comparar etiquetas con miembros de un conjunto de réplicas.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE en caso contrario.

Errores/Excepciones

Emite un error de nivel E_WARNING si el parámetro no es válido, o si se proporcionan uno o más conjuntos de etiquetas con el modo de preferencia de lectura MongoClient::RP_PRIMARY.

Ejemplos

Ejemplo #1 Ejemplo de sintaxis de array de conjunto de etiquetas con MongoCollection::setReadPreference()

<?php

$m = new MongoClient();
$c = $m->test->users;

// Preferir el servidor más cercano del centro de datos "east" también usado para notificación,
// pero recurrir a un servidor del centro de datos "west"
$c->setReadPreference(MongoClient::RP_NEAREST, array(
    array('dc' => 'east', 'use' => 'reporting'),
    array('dc' => 'west'),
));
?>

Ver también

  • La documentación de preferencias de lectura.
MongoCollection::save
MongoCollection::setSlaveOkay
MongoCollection


Cambia el valor de slaveOkay de esta colección

MongoCollection::setReadPreference
MongoCollection::toIndexString
MongoCollection
PHP Manual

MongoCollection::setSlaveOkay

(PECL mongo >=1.1.0)

MongoCollection::setSlaveOkay — Cambia el valor de slaveOkay de esta colección

Descripción

public bool MongoCollection::setSlaveOkay ([ bool $ok = true ] )

Revise la sección de consultas de este manual para más información sobre distribución de lecturas a secundarios.

Parámetros

ok

Indica si las lecturas deben enviarse a miembros secundarios del conjunto de réplicas para todas las posibles consultas que utilicen esta instancia de MongoCollection.

Valores devueltos

Devuelve el valor anterior de slaveOkay de esta instancia.

Historial de cambios

Versión | Descripción
1.2.11 | Emite un error de nivel E_DEPRECATED cuando se usa.

Ver también

  • Preferencias de lectura
  • MongoCollection::setReadPreference() - Establecer la preferencia de lectura para esta colección
MongoCollection::setReadPreference
MongoCollection::toIndexString
MongoCollection


Convierte claves especificando un índice para su cadena de identificación

MongoCollection::setSlaveOkay
MongoCollection::__toString
MongoCollection
PHP Manual

MongoCollection::toIndexString

(PECL mongo >=0.9.0)

MongoCollection::toIndexString — Convierte claves especificando un índice para su cadena de identificación

Descripción

static protected string MongoCollection::toIndexString ( mixed $keys )

Parámetros

keys

Campo/s a convertir a la cadena de identificación

Valores devueltos

Devuelve un string que describe el índice.

Ejemplos

Ejemplo #1 Ejemplo de MongoCollection::toIndexString()

Este ejemplo muestra cómo se puede crear un nombre de índice desde claves. Debido a que este es un método protegido (estático), es necesario sobrecargarlo primero en una clase hija.

<?php
// Crear una clase heredada para hacer el método "public".
class MiColección extends MongoCollection
{
    static public function toIndexString($a)
    {
        return parent::toIndexString($a);
    }
}

echo MyCollection::toIndexString("foo"), "\n";
// Imprime: foo_1

echo MiColección::toIndexString(array('name' => 1, 'age' => -1)), "\n";
// Imprime: name_1_age_-1
?>

Ver también

La documentación principal de MongoDB sobre » índices.

MongoCollection::setSlaveOkay
MongoCollection::__toString
MongoCollection


Representación en forma de string de esta colección

MongoCollection::toIndexString
MongoCollection::update
MongoCollection
PHP Manual

MongoCollection::__toString

(PECL mongo >=0.9.0)

MongoCollection::__toString — Representación en forma de string de esta colección

Descripción

public string MongoCollection::__toString ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el nombre completo de esta colección.

Ejemplos

Ejemplo #1 Ejemplo de MongoCollection::__toString()

<?php

$m = new MongoClient();

$c1 = $m->foo->bar->baz;
echo "Trabajando con la colección $c1.";

$c2 = $m->selectCollection('[]', '&');
echo "Trabajando con la colección $c2.";

?>

El resultado del ejemplo sería algo similar a:

Trabajando con la colección foo.bar.baz.
Trabajando con la colección [].&.

MongoCollection::toIndexString
MongoCollection::update
MongoCollection


Actualizar registros basándose en los criterios proporcionados

MongoCollection::__toString
MongoCollection::validate
MongoCollection
PHP Manual

MongoCollection::update

(PECL mongo >=0.9.0)

MongoCollection::update — Actualizar registros basándose en los criterios proporcionados

Descripción

public bool|array MongoCollection::update ( array $criteria , array $new_object [, array $options = array() ] )

Parámetros

criteria

Descripción de los objetos a actualizar.

new_object

El objeto con el que actualizar los registros que cumplan las condiciones.

options

Este parámetro es un array asociativo de la forma array("optionname" => <boolean>, ...). Las opciones soportadas actualmente son:

  • "upsert"

    Si ningún documento cumple las condiciones de $criteria, se insertará un nuevo documento.

    Si se insertara un nuevo documento y $new_object contiene modificadores atómicos (esto es, operadores $), esas operaciones serán aplicadas al parámetro $criteria para crear el nuevo documento. Si $new_object no contiene modificadores atómicos, será utilizado tal cual para el documento insterdo. Véase los ejemplos de upsert abajo para más información.

  • "multiple"

    Todos los documentos que cumplan las condiciones de $criteria se actualizarán. MongoCollection::update() tiene exactamente el comportamiento contrario que MongoCollection::remove(): de forma predeterminada, actualiza sólo un documento, no todos los que cumplan las condiciones. Se recomienda especificar siempre se si deben actualizar múltiples documentos o un único documento, ya que el comportamiento predeterminado de la base de datos podría cambiar en el futuro.

  • "fsync"

    Booleano, su valor predeterminado es FALSE. Si la opción "journal" está habilitada, funciona exactamente como "j". Si no está habilitada, fuerza a la inserción que sea sincronizada con el disco antes de devolver que tuvo éxito. Si es TRUE, está implicada una inserción reconocida y sobrescribirá el ajuste w a 0.

    Nota:

    Esta opción está obsoleta. Use la opción "j" en su lugar.

  • "j"

    Booleano, su valor predeterminado es FALSE. Fuerza a la inserción a ser sincronizada con el diario antes de devolver que ha tenido éxito. Si es TRUE, implica una inserción reconocida y sobrescribirá el ajuste w a 0.

  • "w"

    Véase WriteConcerns. El valor predeterminado de MongoClient es 1.

  • "wtimeout"

    Cuánto esperar para el reconocimiento de WriteConcern. El valor predeterminado de MongoClient es 10000 milisegundos.

  • "safe"

    Obsoleto. Use la opción w de WriteConcern.

  • "timeout"

    Entero, valor predeterminado MongoCursor::$timeout. Si se usan las escrituras reconocidas, esto estable cuánto debe esperar el cliente (en milisegundos) a una respuesta de la base de datos. Si la base de datos no responde dentro de perído de espera, se lanzará una MongoCursorTimeoutException.

Valores devueltos

Devuelve un array que contiene el estado de la actualización si la opción "w" está establecida. De lo contrario, devuelve TRUE.

Los campos del array de estado están descritos en la documentación para MongoCollection::insert().

Errores/Excepciones

Lanza una MongoCursorException si la opción "w" está establecida y la escritura falla.

Lanza una MongoCursorTimeoutException si la opción "w" está establecida a un valor mayor que uno y la operación toma más de MongoCursor::$timeout milisegundos en completarse. Esto no pondrá fin a la operación en el servidor, es un tiempo de espera del lado del cliente. La operación en MongoCollection::$wtimeout es milisegundos.

Historial de cambios

Versión | Descripción
1.3.0 | El parámetro options ya no acepta un valor booleano para indicar un upsert. En su lugar, esto ahora se tiene que hacer con array('upsert' => true).
1.2.11 | Emite E_DEPRECATED cuando options es de tipo scalar.
1.2.0 | Se añadió la opción "timeout".
1.0.11 | Se desconecta en errores "not master" si "safe" está establecido.
1.0.9

Añadida la capacidad de pasar enteros a la opción "safe", la cual anteriormente únicamente aceptaba booleanos.

Añadida la opción "fsync".

Cambiado el tipo devuelto por un array que contiene información si se utiliza la opción "safe". De otro modo, se devuelve un booleano como antes.

1.0.5 | Se añadió la opción "safe".
1.0.1 | Cambiado el parámetro "opciones" de un booleano a un array. Antes de la versión 1.0.1, el segundo parámetro era valor booleano opcional especificando un upsert.

Ejemplos

Ejemplo #1 MongoCollection::update()

Añadiendo el campo dirección a un documento

<?php

$c->insert(array("nombre" => "Pedro", "apellido" => "Ruiz" ));
$nuevosdatos = array('$set' => array("direccion" => "Calle Juan, 1"));
$c->update(array("nombre" => "Pedro"), $nuevosdatos);

var_dump($c->findOne(array("nombre" => "Pedro")));

?>

El resultado del ejemplo sería algo similar a:

array(4) {
  ["_id"]=>
  object(MongoId)#6 (0) {
  }
  ["nombre"]=>
  string(3) "Pedro"
  ["apellido"]=>
  string(5) "Ruiz"
  ["direccion"]=>
  string(12) "Calle Juan, 1"
}

Ejemplo #2 Ejemplos de MongoCollection::update() con upsert

Los upserts pueden simplificar el código, ya que con una única línea se puede crear el documento si no existe (basado en $criteria), o actualizar un documento existente si coincide.

En el siguiente ejemplo, $new_object contiene un modificador atómico. Ya que la colección está vacía y upsert debe insertar un nuevo documento, aplicará esas operaciones al parámetro $criteria para crear el documento.

<?php

$c->drop();
$c->update(
    array("uri" => "/summer_pics"),
    array('$inc' => array("page hits" => 1)),
    array("upsert" => true)
);
var_dump($c->findOne());
?>

El resultado del ejemplo sería algo similar a:

array(3) {
  ["_id"]=>
  object(MongoId)#9 (0) {
  }
  ["uri"]=>
  string(12) "/fotos_verano"
  ["accesos"]=>
  int(1)
}

Si $new_object no contiene modificadores atómicos (esto es, operadores $), upsert utilizará $new_object tal cual para el nuevo documento. Esto coincide con el comportamiento de una actualización normal, donde la no utilización de modificadores atómicos ocasiona la sobrescritura del documento.

<?php

$c->drop();
$c->update(
    array("name" => "joe"),
    array("username" => "joe312", "createdAt" => new MongoDate()),
    array("upsert" => true)
);
var_dump($c->findOne());

?>

El resultado del ejemplo sería algo similar a:

array(3) {
  ["_id"]=>
  object(MongoId)#10 (0) {
  }
  ["usuario"]=>
  string(6) "juan312"
  ["fechaAlta"]=>
  object(MongoDate)#4 (0) {
  }
}

Ejemplo #3 Ejemplo de múltiples MongoCollection::update()

De forma predeterminada, MongoCollection::update() sólo actualizará el primer documento que encuentre que cumpla las condiciones de $criteria. Si fuera necesario, mediante la opción "multiple" podremos sobrescribir este comportamiento.

Este ejemplo añade un campo "regalo" a cada persona cuyo cumpleaños sea el próximo día.

<?php

$today = array('$gt' => new MongoDate(), '$lt' => new MongoDate(strtotime("+1 day")));
$people->update(
    array("birthday" => $today),
    array('$set' => array('gift' => $surprise)),
    array("multiple" => true)
);

?>

Ver también

La documentación de PHP sobre actualizaciones y la » documentacion en MongoDB.

MongoCollection::__toString
MongoCollection::validate
MongoCollection


Valida esta colección

MongoCollection::update
MongoCursor
MongoCollection
PHP Manual

MongoCollection::validate

(PECL mongo >=0.9.0)

MongoCollection::validate — Valida esta colección

Descripción

public array MongoCollection::validate ([ bool $scan_data = FALSE ] )

Parámetros

scan_data

Sólo valida los índices, no la colección base.

Valores devueltos

Devuelve la evaluación de la base de datos de este objeto.

MongoCollection::update
MongoCursor
MongoCollection


Clase MongoCursor

(PECL mongo >=0.9.0)

Introducción

Un cursor se utiliza parar recorrer el resultado de una consulta a la base de datos. Por ejemplo, para consultar la base de datos y revisar los resultados, se podría:

Ejemplo #1 Uso básico de MongoCursor

<?php

$cursor = $collection->find();
var_dump(iterator_to_array($cursor));

?>

Por norma general los cursores no se crean utilizando el constructor MongoCursor, ya que se obtienen al invicar a MongoCollection::find() (como en el ejemplo superior).

Supóngase que, en el ejemplo superior, $collection fuera una colección de 50GB. No quisiéramos tener que alojar en memoria todo de una vez, y esto es lo que solucionan los cursores: permiten al cliente acceder a la colección gota a gota.

Si tuviéramos un resultado extenso, podríamos recorrerlo cargando unos pocos megabytes a memoria cada vez. Por ejemplo:

Ejemplo #2 Iterar sobre MongoCursor

<?php

$cursor = $collection->find();

foreach ($cursor as $doc) {
    // hacer algo a cada documento
}

?>
Esto recorrerá cada documento de la colección, cargando y eliminando de memoria cada documento según se necesite.

Debe tenerse en cuenta que esto significa que un cursor no "contiene" el resultado de la base de datos, sino que sólo lo gestiona. Por tanto, si se imprimiera un cursor (con, digamos, var_dump() o print_r()), sólo se obtendría el propio objeto cursor, sin los documentos. Para obtener los documentos en sí, debe utilizarse alguno de los métodos vistos arriba.

Estados de un Cursor

Un MongoCursor tiene dos estados: pre y post consulta. Al crear un cursor, éste no se conecta a la base de datos, por lo que está en estado pre-consulta. En este estado, el cliente puede indicar qué quiere consultar, definiendo límites, saltos, ordenaciones y más opciones avanzadas.

Cuando el cliente solicita el resultado (invocando MongoCursor::next(), directa o indirectamente), el cursor avanza al estado post-consulta. En este punto, la consulta ya se ha ejecutado por la base de datos y ya no se puede modificar.

Ejemplo #3 Añadir opciones a MongoCursor

<?php

$cursor = $collection->find()->limit(10);

// todavía no se ha consultado la base de datos, de modo que se pueden añadir más opciones
$cursor = $cursor->sort(array("a" => 1));

var_dump($cursor->getNext());
// ya se ha consultado la base de datos, y no se pueden añadir más opciones

// por lo que esto lanzaría una excepción:
$cursor->skip(4);
?>

Sinopsis de la Clase

MongoCursor implements Iterator {
/* Campos Estáticos */
static boolean $slaveOkay = FALSE ;
static integer $timeout = 30000 ;
/* Métodos */
public MongoCursor addOption ( string $key , mixed $value )
public MongoCursor awaitData ([ bool $wait = true ] )
public MongoCursor batchSize ( int $batchSize )
public __construct ( MongoClient $connection , string $ns [, array $query = array() [, array $fields = array() ]] )
public int count ([ bool $foundOnly = FALSE ] )
public array current ( void )
public bool dead ( void )
protected void doQuery ( void )
public array explain ( void )
public MongoCursor fields ( array $f )
public array getNext ( void )
public array getReadPreference ( void )
public bool hasNext ( void )
public MongoCursor hint ( mixed $index )
public MongoCursor immortal ([ bool $liveForever = true ] )
public array info ( void )
public string key ( void )
public MongoCursor limit ( int $num )
public void next ( void )
public MongoCursor partial ([ bool $okay = true ] )
public void reset ( void )
public void rewind ( void )
public MongoCursor setFlag ( int $flag [, bool $set = true ] )
public MongoCursor setReadPreference ( string $read_preference [, array $tags ] )
public MongoCursor skip ( int $num )
public MongoCursor slaveOkay ([ bool $okay = true ] )
public MongoCursor snapshot ( void )
public MongoCursor sort ( array $fields )
public MongoCursor tailable ([ bool $tail = true ] )
public MongoCursor timeout ( int $ms )
public bool valid ( void )
}

Variables Estáticas

slaveOkay

Si la consulta debe o no tener asignada la bandera "slaveOkay", la cual permite leer el secundario (por omisión, los secundarios son para hacer copias de seguridad, no consultas). Puede sobrescribirse con MongoCursor::slaveOkay().

Esta funcionalidad es obsoleta. Por favor, use Preferencias de lectura en su lugar.

timeout

Establecer el tiempo de espera en milisegundos para las respuestas de todas las bases de datos. Use -1 para esperar eternamente. Se puede sobcrescribir con MongoCursor::timeout(). Esto no hace que el servidor de MongoDB cancele la operación; sólo hace que el controlador deje de esperar una respuesta y lanza una MongoCursorTimeoutException después de un tiempo establecido.

Ver también

Documentación de MongoDB sobre » cursores.

Tabla de contenidos

  • MongoCursor::addOption — Añade un par clave/valor de alto nivel a una consulta
  • MongoCursor::awaitData — Establece si el cursor esperará un momento a que un cursor de seguimiento devuelva más datos
  • MongoCursor::batchSize — Limita el número de elementos devueltos en un lote
  • MongoCursor::__construct — Crea un nuevo cursor
  • MongoCursor::count — Cuenta el número de resultados de esta consulta
  • MongoCursor::current — Devuelve el elemento actual
  • MongoCursor::dead — Comprueba si hay documentos que no han sido enviados aún de la base de datos para este cursor
  • MongoCursor::doQuery — Ejecutar un sentencia
  • MongoCursor::explain — Devuelve una explicación de la consulta, útil para la optimización y depuración
  • MongoCursor::fields — Establece los campos para una consulta
  • MongoCursor::getNext — Devuelve el siguiente objeto al que apunta este cursor, y avanza el cursor
  • MongoCursor::getReadPreference — Obtener la preferencia de lectura para esta consulta
  • MongoCursor::hasNext — Comprueba si existe algún elemento más en este cursor
  • MongoCursor::hint — Da a la base de datos un indicio sobre la consulta
  • MongoCursor::immortal — Establece si este cursor expirará
  • MongoCursor::info — Obtiene la consulta, los campos, el límete, y las omisiones de este cursor
  • MongoCursor::key — Devuelve el _id del resultado actual
  • MongoCursor::limit — Limita el número de resultados devueltos
  • MongoCursor::next — Hace avanzar el cursor al siguiente resultado
  • MongoCursor::partial — Si esta consulta debería obtener resultados parciales de mongos si un trozo ha caído
  • MongoCursor::reset — Limpia el cursor
  • MongoCursor::rewind — Devuelve el cursor al inicio del conjunto de resultados
  • MongoCursor::setFlag — Establece banderas arbitrarias en caso de que no haya métodos disponibles para una bandera específica
  • MongoCursor::setReadPreference — Establece la preferencia de lectura para esta consulta
  • MongoCursor::skip — Omite un número de resultados
  • MongoCursor::slaveOkay — Establece si esta consulta puede realizarse en un secundario
  • MongoCursor::snapshot — Usar el modo 'snapshot' para la consulta
  • MongoCursor::sort — Ordena los resultados por el campo que se indique
  • MongoCursor::tailable — Establece si este cursor se dejará abierto después de obtener los últimos resultados
  • MongoCursor::timeout — Establece un tiempo de espera en el lado del cliente para esta consulta
  • MongoCursor::valid — Comprueba si el cursor está leyendo un resultado válido
MongoCollection::validate
MongoCursor::addOption
Clases del núcleo


Añade un par clave/valor de alto nivel a una consulta

MongoCursor
MongoCursor::awaitData
MongoCursor
PHP Manual

MongoCursor::addOption

(PECL mongo >=1.0.4)

MongoCursor::addOption — Añade un par clave/valor de alto nivel a una consulta

Descripción

public MongoCursor MongoCursor::addOption ( string $key , mixed $value )

Esta es una función avanzada y no debería usarse a menos que se sepa lo que se está haciendo.

Una consulta puede ser opcionalmente anidada en un campo "query" si se proporcionan otras opciones, como una ordenación o sugerencia. Por ejemplo, añadir una ordenación ocasiona que la consulta se convierta en un subcampo de un objeto de consulta mayor, como:

<?php

$query = array("query" => $query, "orderby" => $sort);

?>

Este método se usa para añadir un campo de alto nivel a una consulta. Hace que la consulta sea subobjeto (si ya no lo fuera) y añade el par clave/valor elegido al nivel más alto.

Advertencia

No se puede usar para añadir criterios extra a una consulta al vuelo. Por ejemplo, esto no funcionará:

<?php

// INCORRECTO
$cursor = $users->find()->addOption("name", "joe")->addOption("age", 20);

?>
Esto no consultará por un ususario llamado "joe" de 20 años.

Parámetros

key

El nombre del campo a añadir.

value

El valor a añadir.

Valores devueltos

Returns this cursor.

Errores/Excepciones

Lanza una MongoCursorException si este cursor ha empezado a iterar.

Ejemplos

Ejemplo #1 Ejemplo de MongoCursor::addOption()

El uso de MongoCursor::skip() para omitir millones de resultados puede ser lento. Un atajo para esto es usar las opciones $min o $max para la consulta. Pueden ser útiles, pero requieren un índice exactamente en los campos que van a ser buscados. Este es un ejemplo de cómo usar $min como alternativa a MongoCursor::skip().

<?php

// asegurarse de tener un índice
$c->ensureIndex(array("ts" => 1));

// podría ser necesario modificar esto para ejecutarlo en un tiempo razonable en
// máquinas lentas (debería tomar unos 30 segundos en una buena máquina)
for ($i = 0; $i < 30000000; $i++) {
    $c->insert(array("ts" => new MongoDate(), "i" => $i));
}

$ahora = strtotime("now");

// buscar documentos insertados en los últimos 2 segundos
$cursor = $c->find()->addOption('$min', array("ts" => $ahora-2));

?>
MongoCursor
MongoCursor::awaitData
MongoCursor


Establece si el cursor esperará un momento a que un cursor de seguimiento devuelva más datos

MongoCursor::addOption
MongoCursor::batchSize
MongoCursor
PHP Manual

MongoCursor::awaitData

(PECL mongo >=1.2.11)

MongoCursor::awaitData — Establece si el cursor esperará un momento a que un cursor de seguimiento devuelva más datos

Descripción

public MongoCursor MongoCursor::awaitData ([ bool $wait = true ] )

Este método se usa con cursores de seguimiento. Si se está al final de los datos, se bloquea un momento en lugar de no devolver datos. Después de un tiempo de espera, se devuelve de la manera normal.

Parámetros

wait

Si el cursor debería esperar a que estén disponibles más datos.

Valores devueltos

Devuelve este cursor.

Errores/Excepciones

Lanza una MongoCursorException si este cursor ha empezado a iterar.

Ejemplos

Ejemplo #1 Ejemplo de MongoCursor::awaitData()

En este ejemplo, le seguimos la pista a "oplog" y, en lugar de dormir durante cada iteración, se establece la opción MongoCursor::awaitData(). MongoCursor::hasNext() ahora bloqueará hasta que haya más datos disponibles.

<?php
$m = new MongoClient( 'mongodb://localhost:13000', array( 'replSet' => 'seta' ) );
$c = $m->local->selectCollection( 'oplog.rs' );
$cursor = $c->find( array( 'ns' => 'demo.article', 'op' => 'i' ) );
$cursor->tailable( true );
$cursor->awaitData( true );

while (true) {
    if (!$cursor->hasNext()) {
        // we've read all the results, exit
        if ($cursor->dead()) {
            break;
        }
    } else {
        var_dump( $cursor->getNext() );
    }
}
?>

Ver también

La documentación principal de MongoDB sobre » cursores de seguimiento.

  • MongoCursor::tailable() - Establece si este cursor se dejará abierto después de obtener los últimos resultados

MongoCursor::addOption
MongoCursor::batchSize
MongoCursor


Limita el número de elementos devueltos en un lote

MongoCursor::awaitData
MongoCursor::__construct
MongoCursor
PHP Manual

MongoCursor::batchSize

(PECL mongo >=1.0.11)

MongoCursor::batchSize — Limita el número de elementos devueltos en un lote

Descripción

public MongoCursor MongoCursor::batchSize ( int $batchSize )

Un cursor normalmente obtiene un lote de objetos de resultados y los almacena localmente. Este método establece el valor de batchSize para configurar la cantidad de documentos obtenidos desde el servidor enun paquete de datos. Sin embargo, nunca devolverá más documentos que los que no sobrepasen el límite del tamaño del lote (normalmente 4 MB).

Parámetros

batchSize

El número de resultados a devolver por lote. Cada lote requiere un viaje de ida y vuelta al servidor.

Si batchSize is 2 o más, representa el tamaño de cada lote de objetos recuperados. Se puede ajustar para optimizar el rendimiento y limitar la transferencia de datos.

Si batchSize es 1 o negativo, limitará el número de documentos devueltos al valor absoluto de batchSize, y el cursor se cerrará. Por ejemplo, si batchSize es -10, el servidor devolverá un máximo de 10 documentos siempre que quepan en 4 MB; luego cerrará el cursor.

Advertencia

Un batchSize de 1 es especial, y significa lo mismo que -1, esto es, un valor de 1 hace que el cursor solamente devuelva un documento.

Observe que esta característica se diferencia de MongoCursor::limit() en que los documentos deben ajustarse dentro de un tamaño máximo, por lo que elimina la necesidad de enviar una petición para cerrar el cursor en el lado del servidor. El tamaño del lote se puede cambiar incluso después de que un cursor sea iterado, en cuyo caso el ajuste se aplicará solamente a la obtención del siguiente lote.

Esto no anula al límite de MongoDB de la cantidad de datos que serán devueltos al cliente (esto es, si se establece el tamaño del lote a 1,000,000,000, MongoDB todavía devolverá 4-16 MB de resultados por lote).

Para asegurarse de un comportamiento consistente, las reglas de MongoCursor::batchSize() y MongoCursor::limit() son un poco complejas, aunque funcionan "como se esperaba". Las reglas son: los límites fuertes anulan a los ligeros, con preferencia dada a MongoCursor::limit() sobre MongoCursor::batchSize(). Después, lo que sea establecido y sea menor que el otro, tomará precedencia. Véase la sección de abajo para algunos ejemplos.

Valores devueltos

Returns this cursor.

Ejemplos

Ejemplo #1 MongoCursor::batchSize() y combinaciones con MongoCursor::limit()

<?php

// un lote, como mucho 10 elementos. -10 hace que el servidor devuelva 10 elementos,
// y luego elimine el cursor.
$cursor->limit(20)->batchSize(-10);

// primer lote: como mucho 10 elementos
$cursor->limit(10);

// primer lote: como mucho 10 elementos
$cursor->limit(10)->batchSize(20);

// los resultados se obtienen en lotes de 10, con un máximo de 20 elementos
// devueltos (lo que significa dos lotes de 10).
$cursor->limit(20)->batchSize(10);

// los resultados se obtienen en lotes de 7, con un máximo de 30 elementos
// devueltos (lo que significa que el controlador solicita 4 lotes de 7, y
// un lote de 2).
$cursor->limit(30)->batchSize(7)
?>

Ver también

La documentación principal de MongoDB sobre » límites.

  • MongoCursor::limit() - Limita el número de resultados devueltos

Historial de cambios

Versión | Descripción
1.4.5 | Antes de la versión 1.4.5, este método lanzaba una MongoCursorException si el cursor ya había comenzado a iterar.

MongoCursor::awaitData
MongoCursor::__construct
MongoCursor


Crea un nuevo cursor

MongoCursor::batchSize
MongoCursor::count
MongoCursor
PHP Manual

MongoCursor::__construct

(PECL mongo >=0.9.0)

MongoCursor::__construct — Crea un nuevo cursor

Descripción

public MongoCursor::__construct ( MongoClient $connection , string $ns [, array $query = array() [, array $fields = array() ]] )

Parámetros

connection

Conexión de base de datos.

ns

Nombre completo de la base de datos y de la colección.

query

Consulta a la base de datos.

fields

Campos a devolver.

Valores devueltos

Devuelve el nuevo cursor.

MongoCursor::batchSize
MongoCursor::count
MongoCursor


Cuenta el número de resultados de esta consulta

MongoCursor::__construct
MongoCursor::current
MongoCursor
PHP Manual

MongoCursor::count

(PECL mongo >=0.9.2)

MongoCursor::count — Cuenta el número de resultados de esta consulta

Descripción

public int MongoCursor::count ([ bool $foundOnly = FALSE ] )

Este método no afecta al estado del cursor: si todavía no se le ha consultado, se podrán aplicar límites, saltos,e tc. Si ya se ha comenzado a recorrer sus resultados, no moverá la posición actual del cursor. Si ya se ha recorrido el cursor, no lo reiniciará.

Parámetros

foundOnly

Si fuera aplicable, enviar límite de cursor e información de datos saltados.

Valores devueltos

Número de documentos que devuelve la consulta de este cursor.

Ejemplos

Ejemplo #1 Ejemplo de MongoCursor::count()

<?php

$collection->insert(array('x'=>1));
$collection->insert(array('x'=>2));
$collection->insert(array('x'=>3));

$cursor = $collection->find();

var_dump($cursor->count());
var_dump($cursor->count(true));

$cursor->limit(2);

var_dump($cursor->count());
var_dump($cursor->count(true));

?>

El resultado del ejemplo sería algo similar a:

int(3)
int(3)
int(3)
int(2)

Errores/Excepciones

Lanza MongoConnectionException si no se pudiera acceder a la base de datos.

MongoCursor::__construct
MongoCursor::current
MongoCursor


Devuelve el elemento actual

MongoCursor::count
MongoCursor::dead
MongoCursor
PHP Manual

MongoCursor::current

(PECL mongo >=0.9.0)

MongoCursor::current — Devuelve el elemento actual

Descripción

public array MongoCursor::current ( void )

Devuelve NULL hasta que se llame a MongoCursor::next().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Resultado actual en forma de array asociativo.

MongoCursor::count
MongoCursor::dead
MongoCursor


Comprueba si hay documentos que no han sido enviados aún de la base de datos para este cursor

MongoCursor::current
MongoCursor::doQuery
MongoCursor
PHP Manual

MongoCursor::dead

(PECL mongo >=0.9.6)

MongoCursor::dead — Comprueba si hay documentos que no han sido enviados aún de la base de datos para este cursor

Descripción

public bool MongoCursor::dead ( void )

La base de datos envía respuestas en lotes de documentos, de hasta 4 MB de documentos por repuesta. Este método comprueba si la base de datos tiene más lotes o si el conjunto de resultados se ha agotado.

Un cursor muerto ("dead") no significa que MongoCursor::hasNext() devuelva FALSE, solamente que la base de datos ha terminado de enviar resultados al cliente. Éste debería continuar iterando a través de los resultados hasta que MongoCursor::hasNext() sea FALSE.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve si existen más resultados que aún no han sido enviados al cliente.

MongoCursor::current
MongoCursor::doQuery
MongoCursor


Ejecutar un sentencia

MongoCursor::dead
MongoCursor::explain
MongoCursor
PHP Manual

MongoCursor::doQuery

(No hay información de versión disponible, podría estar únicamente en SVN)

MongoCursor::doQuery — Ejecutar un sentencia

Descripción

protected void MongoCursor::doQuery ( void )
Advertencia

Por favor, no utilice este método.

Esta función realmente consulta la base de datos. Todas las consultas y comandos van a través de esta función. Así, esta función puede ser sobrescrita para proporcionar un manejo de consultas personalizado.

Maneja la serialización de la consulta, enviándola a la base de datos, recibiendo una respuesta, y deserializándola. Por lo tanto, si se está planeando sobrescribirlo, el código seguramente debiera de invocar al original para usar la funcionalidad existente (véase el ejemplo de más abajo).

Parámetros

Esta función no tiene parámetros.

Valores devueltos

NULL.

Errores/Excepciones

Lanza una MongoConnectionException si no se puede acceder a la base de datos.

Historial de cambios

Versión | Descripción
1.2.11 | Emite un error de nivel E_DEPRECATED cuando se usa.

Ejemplos

Ejemplo #1 Ejemplo de MongoCursor::doQuery()

Se prodría sobrescribir esta función para intentar una consulta a un secundario y, si fallase, intentarlo de nuevo en el primario.

<?php

class MyCursor extends MongoCursor {

    protected function doQuery() {

        $this->slaveOkay();

        try {
            MongoCursor::doQuery();
        }
        catch(MongoCursorException $e) {
            $this->slaveOkay(false);
            MongoCursor::doQuery();
        }
    }
}

?>

MongoCursor::dead
MongoCursor::explain
MongoCursor


Devuelve una explicación de la consulta, útil para la optimización y depuración

MongoCursor::doQuery
MongoCursor::fields
MongoCursor
PHP Manual

MongoCursor::explain

(PECL mongo >=0.9.2)

MongoCursor::explain — Devuelve una explicación de la consulta, útil para la optimización y depuración

Descripción

public array MongoCursor::explain ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la explicación de la consulta.

Ejemplos

Ejemplo #1 Ejemplo de MongoCursor::explain()

<?php

$cursor = $collection->find(array("x"=>1), array("y"));
$cursor->sort(array("z" => 1))->limit(4)->skip(5);

var_dump($cursor->explain());

?>

El resultado del ejemplo sería algo similar a:

array(8) {
  ["cursor"]=>
  string(15) "BtreeCursor x_1"
  ["startKey"]=>
  array(1) {
    ["x"]=>
    int(1)
  }
  ["endKey"]=>
  array(1) {
    ["x"]=>
    int(1)
  }
  ["nscanned"]=>
  float(4)
  ["n"]=>
  int(4)
  ["scanAndOrder"]=>
  int(1)
  ["millis"]=>
  int(3)
  ["allPlans"]=>
  array(2) {
    [0]=>
    array(3) {
      ["cursor"]=>
      string(15) "BtreeCursor x_1"
      ["startKey"]=>
      array(1) {
        ["x"]=>
        int(1)
      }
      ["endKey"]=>
      array(1) {
        ["x"]=>
        int(1)
      }
    }
    [1]=>
    array(3) {
      ["cursor"]=>
      string(11) "BasicCursor"
      ["startKey"]=>
      array(0) {
      }
      ["endKey"]=>
      array(0) {
      }
    }
  }
}

Errores/Excepciones

Lanza una MongoConnectionException si no se puede acceder a la base de datos.

Ver también

La documentación principal de MongoDB sobre » explain.

MongoCursor::doQuery
MongoCursor::fields
MongoCursor


Establece los campos para una consulta

MongoCursor::explain
MongoCursor::getNext
MongoCursor
PHP Manual

MongoCursor::fields

(PECL mongo >=1.0.6)

MongoCursor::fields — Establece los campos para una consulta

Descripción

public MongoCursor MongoCursor::fields ( array $f )

Los cambpo se especifican mediante "nombre_campo" : bool. TRUE indica que se debería devolver un campo, FALSE indica que no debería ser devuelto. También se puede usar 1 y 0 en lugar de TRUE y FALSE.

Así, para devolver solamente el campo "summary", sería:

<?php

$cursor->fields(array("summary" => true));

?>

Para devolver todos los campos excepto el campo "hidden":

<?php

$cursor->fields(array("hidden" => false));

?>

Parámetros

f

Los campo a devolver (o no).

Valores devueltos

Devuelve este cursor.

Errores/Excepciones

Lanza una MongoCursorException si este cursor ha empezado a iterar o se proporciona un argumento escalar.

MongoCursor::explain
MongoCursor::getNext
MongoCursor


Devuelve el siguiente objeto al que apunta este cursor, y avanza el cursor

MongoCursor::fields
MongoCursor::getReadPreference
MongoCursor
PHP Manual

MongoCursor::getNext

(PECL mongo >=0.9.0)

MongoCursor::getNext — Devuelve el siguiente objeto al que apunta este cursor, y avanza el cursor

Descripción

public array MongoCursor::getNext ( void )

Es idéntico a la función:

<?php

public function getNext() {
    $this->next();
    return $this->current();
}

?>

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el siguiente objeto.

Errores/Excepciones

Lanza una MongoConnectionException si no se puede acceder a la base de datos, y una MongoCursorTimeoutException si se excede el tiempo de espera.

MongoCursor::fields
MongoCursor::getReadPreference
MongoCursor


Obtener la preferencia de lectura para esta consulta

MongoCursor::getNext
MongoCursor::hasNext
MongoCursor
PHP Manual

MongoCursor::getReadPreference

(PECL mongo >=1.3.3)

MongoCursor::getReadPreference — Obtener la preferencia de lectura para esta consulta

Descripción

public array MongoCursor::getReadPreference ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Esta función devuelve un array que describe la preferencia de lectura. El array contiene los valores type para el string del modo de preferencia de lectura (correspondiente a constantes de MongoClient), y tagsets que contiene una lista de todos los criterios de conjuntos de etiquetas. Si no se especificó ningún conjunto de etiquetas, tagsets no estará presente en el array.

Ejemplos

Ejemplo #1 Ejemplo de valor devuelto de MongoCursor::getReadPreference()

<?php

$m = new MongoClient();
$cursor = $m->test->users->find();
$cursor->setReadPreference(MongoClient::RP_SECONDARY, array(
    array('dc' => 'east', 'use' => 'reporting'),
    array('dc' => 'west'),
    array(),
));
var_dump($cursor->getReadPreference());
?>

El resultado del ejemplo sería:

array(2) {
  ["type"]=>
  string(9) "secondary"
  ["tagsets"]=>
  array(3) {
    [0]=>
    array(2) {
      ["dc"]=>
      string(4) "east"
      ["use"]=>
      string(9) "reporting"
    }
    [1]=>
    array(1) {
      ["dc"]=>
      string(7) "west"
    }
    [2]=>
    array(0) {
    }
  }
}

Ver también

  • La documentación de preferencias de lectura.
MongoCursor::getNext
MongoCursor::hasNext
MongoCursor


Comprueba si existe algún elemento más en este cursor

MongoCursor::getReadPreference
MongoCursor::hint
MongoCursor
PHP Manual

MongoCursor::hasNext

(PECL mongo >=0.9.0)

MongoCursor::hasNext — Comprueba si existe algún elemento más en este cursor

Descripción

public bool MongoCursor::hasNext ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve si existe otro elemento.

Errores/Excepciones

Lanza una MongoConnectionException si no se puede acceder a la base de datos, y una MongoCursorTimeoutException si se excede el tiempo de espera.

MongoCursor::getReadPreference
MongoCursor::hint
MongoCursor


Da a la base de datos un indicio sobre la consulta

MongoCursor::hasNext
MongoCursor::immortal
MongoCursor
PHP Manual

MongoCursor::hint

(PECL mongo >=0.9.0)

MongoCursor::hint — Da a la base de datos un indicio sobre la consulta

Descripción

public MongoCursor MongoCursor::hint ( mixed $index )

Parámetros

index

El índice a usar para la consulta. Si se proporciona un string, debería corresponderse con un nombre de índice. Si se proporciona un array u objeto, debería corresponderse con la especificación usada para crear el índice (esto es, el primer argumento de MongoCollection::ensureIndex()).

Valores devueltos

Devuelve este cursor.

Errores/Excepciones

Lanza una MongoCursorException si este cursor ha empezado a iterar.

Historial de cambios

Versión | Descripción
1.4.0 | El argumento index ahora admite nombres de índices como valores de tipo string. En versiones anteriores a la 1.4.0, solamente eran aceptados valores de array u objeto.

MongoCursor::hasNext
MongoCursor::immortal
MongoCursor


Establece si este cursor expirará

MongoCursor::hint
MongoCursor::info
MongoCursor
PHP Manual

MongoCursor::immortal

(PECL mongo >=1.0.1)

MongoCursor::immortal — Establece si este cursor expirará

Descripción

public MongoCursor MongoCursor::immortal ([ bool $liveForever = true ] )

Después de permanecer inactivo en el servidor por algún tiempo, los cursores, por omisión, "mueren". Este es el compotamiento general que se desea. La base de datos limpia un cursor una vez que todos sus resultados han sido enviados al cliente, pero si el cliente no solicita todos los resultados, el cursor decaerá en ese momento, tomando recursos. Por lo tanto, después de unos minutos, el cursor "expira" y la base de datos asume que el cliente ha obtenido todo lo que necesita, y limpia los recursos del cursor.

Si, por cualquier motivo, fuera necesario que un cursor espere durante más tiempo, se puede evitar que la base de datos lo limpie usando este método. Sin embargo, si se hace inmortal a un cursor, es necesario iterar a través de todos sus resultados (o al menos hasta que MongoCursor::dead() devuelva TRUE) o el cursor esperará a la base de datos para siempre, tomando recursos.

Parámetros

liveForever

Si el cursor debería ser inmortal.

Valores devueltos

Devuelve este cursor.

Errores/Excepciones

Lanza una MongoCursorException si este cursor ha empezado a iterar.

MongoCursor::hint
MongoCursor::info
MongoCursor


Obtiene la consulta, los campos, el límete, y las omisiones de este cursor

MongoCursor::immortal
MongoCursor::key
MongoCursor
PHP Manual

MongoCursor::info

(PECL mongo >=1.0.5)

MongoCursor::info — Obtiene la consulta, los campos, el límete, y las omisiones de este cursor

Descripción

public array MongoCursor::info ( void )

Se puede invocar antes o después de la consulta.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el espacio de nombre, el límite, las omisiones, la consulta, y los campos para este cursor.

Historial de cambios

Versión | Descripción
1.1.0 | Se añadieron varios campos, incluyendo id (el id del cursor), at (la cuenta del contador de cual es el documento actual), numReturned (el número devuelto por el servidor del lote actual), y server (el servidor al que se le envió la consulta; útil junto con Preferencias de lectura.
1.0.10 | Se añadió el campo started_iterating, un booleano que indica si el cursor es preconsulta o postconsulta.

Ejemplos

Ejemplo #1 Ejemplo de MongoCursor::info()

<?php

$m = new MongoClient();
$cursor = $m->foo->bar->find(array("x" => 4), array("y" => false));
var_dump($cursor->info());

?>

El resultado del ejemplo sería algo similar a:

array(5) {
  ["ns"]=>
  string(7) "foo.bar"
  ["limit"]=>
  int(0)
  ["skip"]=>
  int(0)
  ["query"]=>
  array(1) {
    ["x"]=>
    int(4)
  }
  ["fields"]=>
  array(1) {
    ["y"]=>
    int(0)
  }
}
MongoCursor::immortal
MongoCursor::key
MongoCursor


Devuelve el _id del resultado actual

MongoCursor::info
MongoCursor::limit
MongoCursor
PHP Manual

MongoCursor::key

(PECL mongo >=0.9.0)

MongoCursor::key — Devuelve el _id del resultado actual

Descripción

public string MongoCursor::key ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El _id del resultado actual como un string.

MongoCursor::info
MongoCursor::limit
MongoCursor


Limita el número de resultados devueltos

MongoCursor::key
MongoCursor::next
MongoCursor
PHP Manual

MongoCursor::limit

(PECL mongo >=0.9.0)

MongoCursor::limit — Limita el número de resultados devueltos

Descripción

public MongoCursor MongoCursor::limit ( int $num )

Parámetros

num

El número de resultados a devolver.

Valores devueltos

Returns this cursor.

Errores/Excepciones

Lanza una MongoCursorException si este cursor ha empezado a iterar.

Ver también

  • La documentación principal de MongoDB sobre » límites.
  • MongoCursor::batchSize() - Limita el número de elementos devueltos en un lote
  • MongoCursor::skip() - Omite un número de resultados

MongoCursor::key
MongoCursor::next
MongoCursor


Hace avanzar el cursor al siguiente resultado

MongoCursor::limit
MongoCursor::partial
MongoCursor
PHP Manual

MongoCursor::next

(PECL mongo >=0.9.0)

MongoCursor::next — Hace avanzar el cursor al siguiente resultado

Descripción

public void MongoCursor::next ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

NULL.

Errores/Excepciones

Lanza una MongoConnectionException si no se puede acceder a la base de datos, y una MongoCursorTimeoutException si se excede el tiempo de espera.

MongoCursor::limit
MongoCursor::partial
MongoCursor


Si esta consulta debería obtener resultados parciales de mongos si un trozo ha caído

MongoCursor::next
MongoCursor::reset
MongoCursor
PHP Manual

MongoCursor::partial

(PECL mongo >=1.2.0)

MongoCursor::partial — Si esta consulta debería obtener resultados parciales de mongos si un trozo ha caído

Descripción

public MongoCursor MongoCursor::partial ([ bool $okay = true ] )

Esta opción permite que mongos envíe resultados de consultas parciales si un trozo está inaccesible. Solamente es aplicable al ejecutar un clúster de MongoDB troceado y conectarse a un mongos.

Si un trozo no está disponible y la consulta necesita enviarse a dicho trozo, mongos devolverá los resultados (si los hubiere) desde los trozos con los que ya ha conectado, y luego un mensaje de error diciendo que no se pudo acceder al trozo (una MongoCursorException en PHP). Si fuera necesario obtener los resultados que mongos puede proporcionar y sin excepcines, se puede usar este método. Observe que esto significa que no se tendrá una indicación de que un trozo no está accesible en la respuesta de la conulta.

Esto no tiene efecto sobre la consulta si todos los trozos son accesibles. Esta bandera fue implementada en la versión 1.7.5 de MongoDB, Por lo que solamente funcionará en esta versión y superiores.

Parámetros

okay

Si se acepta la recepción de resultados parciales.

Valores devueltos

Returns this cursor.

Errores/Excepciones

Lanza una MongoCursorException si este cursor ha empezado a iterar.

MongoCursor::next
MongoCursor::reset
MongoCursor


Limpia el cursor

MongoCursor::partial
MongoCursor::rewind
MongoCursor
PHP Manual

MongoCursor::reset

(PECL mongo >=0.9.0)

MongoCursor::reset — Limpia el cursor

Descripción

public void MongoCursor::reset ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

NULL.

MongoCursor::partial
MongoCursor::rewind
MongoCursor


Devuelve el cursor al inicio del conjunto de resultados

MongoCursor::reset
MongoCursor::setFlag
MongoCursor
PHP Manual

MongoCursor::rewind

(PECL mongo >=0.9.0)

MongoCursor::rewind — Devuelve el cursor al inicio del conjunto de resultados

Descripción

public void MongoCursor::rewind ( void )

Es idéntico a la función:

<?php

public function rewind() {
    $this->reset();
    $this->next();
}

?>

Parámetros

Esta función no tiene parámetros.

Valores devueltos

NULL.

Errores/Excepciones

Lanza una MongoConnectionException si no se puede acceder a la base de datos, y una MongoCursorTimeoutException si se excede el tiempo de espera.

MongoCursor::reset
MongoCursor::setFlag
MongoCursor


Establece banderas arbitrarias en caso de que no haya métodos disponibles para una bandera específica

MongoCursor::rewind
MongoCursor::setReadPreference
MongoCursor
PHP Manual

MongoCursor::setFlag

(PECL mongo >=1.2.11)

MongoCursor::setFlag — Establece banderas arbitrarias en caso de que no haya métodos disponibles para una bandera específica

Descripción

public MongoCursor MongoCursor::setFlag ( int $flag [, bool $set = true ] )

La clase MongoCursor posee varios métodos para establecer banderas en el objeto de consulta. Este método está disponible en caso de que el protocolo de cable de MongoDB haya adquirido una nueva bandera, y el controlador no haya sido actualizado con un método para esta nueva bandera. El los demás casos, se debería usar el método. Véase la sección "Ver también" para los métodos disponibles.

Parámetros

flag

Qué bandera establecer. No se puede establecer la bandera 6 (EXHAUST), ya que el controlador no sabe como manejarla. Se generará una advertencia si se intenta usarla. Para las banderas disponibles, cosulte la » documentación del protocolo de cable.

set

Si debería establecerse la bandera (TRUE) o no (FALSE).

Valores devueltos

Devuelve este cursor.

Errores/Excepciones

Muestra una advertencia al intentar establecer una bandera no soportada.

Historial de cambios

Versión | Descripción
1.4.0 | Se añadió el soporte para la bandera 3 (OPLOG_REPLAY). Las versiones anteriorea a la 1.4.0 lanzarán una advertencia diciendo que la bandera no está soportada.

Ejemplos

Ejemplo #1 Ejemplo de MongoCursor::setFlag()

<?php
$m = new MongoClient( 'mongodb://localhost:13000', array( 'replSet' => 'seta' ) );
$c = $m->local->selectCollection( 'oplog.rs' );
$cursor = $c->find( array( 'ns' => 'demo.article', 'op' => 'i' ) );
$cursor->setFlag( 1, true ); // sets the tailable flag
$cursor->setFlag( 5, true ); // sets the await data flag
?>

Ver también

  • MongoCursor::tailable() - Establece si este cursor se dejará abierto después de obtener los últimos resultados
  • MongoCursor::immortal() - Establece si este cursor expirará
  • MongoCursor::awaitData() - Establece si el cursor esperará un momento a que un cursor de seguimiento devuelva más datos
  • MongoCursor::partial() - Si esta consulta debería obtener resultados parciales de mongos si un trozo ha caído
  • La documentación principal de MongoDB sobre » banderas de consulta del protocolo de cable

MongoCursor::rewind
MongoCursor::setReadPreference
MongoCursor


Establece la preferencia de lectura para esta consulta

MongoCursor::setFlag
MongoCursor::skip
MongoCursor
PHP Manual

MongoCursor::setReadPreference

(PECL mongo >=1.3.3)

MongoCursor::setReadPreference — Establece la preferencia de lectura para esta consulta

Descripción

public MongoCursor MongoCursor::setReadPreference ( string $read_preference [, array $tags ] )

Parámetros

read_preference

El modo de preferencia de lectura: MongoClient::RP_PRIMARY, MongoClient::RP_PRIMARY_PREFERRED, MongoClient::RP_SECONDARY, MongoClient::RP_SECONDARY_PREFERRED, o MongoClient::RP_NEAREST.

tags

Un array de cero o más conjuntos de etiquetas, donde cada conjunto de etiquetas es también un array de criterios usados para comparar etiquetas con miembros de un conjunto de réplicas.

Valores devueltos

Devuelve este cursor.

Errores/Excepciones

Emite un error de nivel E_WARNING si el parámetro no es válido, o si se proporcionan uno o más conjuntos de etiquetas con el modo de preferencia de lectura MongoClient::RP_PRIMARY.

Ejemplos

Ejemplo #1 Ejemplo de sintaxis de array de conjunto de etiquetas con MongoCursor::setReadPreference()

<?php

$m = new MongoClient();
$cursor = $m->test->users->find();

// Preferir el servidor más cercano del centro de datos "east" también usado para información,
// pero recurrir a un servidor del centro de datos "west"
$cursor->setReadPreference(MongoClient::RP_NEAREST, array(
    array('dc' => 'east', 'use' => 'reporting'),
    array('dc' => 'west'),
));
?>

Ver también

  • La documentación de preferencias de lectura.
MongoCursor::setFlag
MongoCursor::skip
MongoCursor


Omite un número de resultados

MongoCursor::setReadPreference
MongoCursor::slaveOkay
MongoCursor
PHP Manual

MongoCursor::skip

(PECL mongo >=0.9.0)

MongoCursor::skip — Omite un número de resultados

Descripción

public MongoCursor MongoCursor::skip ( int $num )

Parámetros

num

El número de resultados a omitir.

Valores devueltos

Returns this cursor.

Errores/Excepciones

Lanza una MongoCursorException si este cursor ha empezado a iterar.

Ver también

  • MongoCursor::limit() - Limita el número de resultados devueltos

MongoCursor::setReadPreference
MongoCursor::slaveOkay
MongoCursor


Establece si esta consulta puede realizarse en un secundario

MongoCursor::skip
MongoCursor::snapshot
MongoCursor
PHP Manual

MongoCursor::slaveOkay

(PECL mongo >=0.9.4)

MongoCursor::slaveOkay — Establece si esta consulta puede realizarse en un secundario

Descripción

public MongoCursor MongoCursor::slaveOkay ([ bool $okay = true ] )

Al invocar a este método hará que el controlador lea de un secundario si:

  • Se está usando un conjunto de réplica y
  • Se creó una instancia de MongoClient usando la opción "replicaSet" => "setName" y
  • Existe un secundario sano con el cual conectarse el controlador.
Se puede comprobar el servidor que se usó para esta consulta invocando a MongoCursor::info() después de ejecutarla. Su campo server mostrará el servidor al que se le envió la consulta.

Observe que se debería usar esta función incluso si no se utiliza la asignación de rutas automática a secundarios. Si se contecta directamente a un secundario de un conjunto de réplica, aún será necesario llamar a esta función, que básicamente le indica a la base de datos que se está al tanto de que se podrían obtener datos antiguos, aceptándolo. Si no se le invoca, se obtendran errores de "sin maestro" al intentar realizar la consulta.

Este método anulará a la variable de clase estática
MongoCursor::$slaveOkay. También anulará a
 Mongo::setSlaveOkay(),
 MongoDB::setSlaveOkay() y
 MongoCollection::setSlaveOkay().

Parámetros

okay

Si se acepta consultar al secundario.

Valores devueltos

Devuelve este cursor.

Errores/Excepciones

Lanza una MongoCursorException si este cursor ha empezado a iterar.

Ejemplos

Ejemplo #1 Ejemplo de MongoCursor::slaveOkay()

<?php

MongoCursor::$slaveOkay = false;

// no se puede consultar al secundario
$cursor = $collection->find();

// se puede consultar al secundario
$cursor = $collection->find()->slaveOkay();

MongoCursor::$slaveOkay = true;

// se puede consultar al secundario
$cursor = $collection->find();

// no se puede consultar al secundario
$cursor = $collection->find()->slaveOkay(false);

?>

Ver también

  • Preferencias de lectura
  • MongoCursor::setReadPreference() - Establece la preferencia de lectura para esta consulta
  • MongoCursor::getReadPreference() - Obtener la preferencia de lectura para esta consulta
MongoCursor::skip
MongoCursor::snapshot
MongoCursor


Usar el modo 'snapshot' para la consulta

MongoCursor::slaveOkay
MongoCursor::sort
MongoCursor
PHP Manual

MongoCursor::snapshot

(PECL mongo >=0.9.4)

MongoCursor::snapshot — Usar el modo 'snapshot' para la consulta

Descripción

public MongoCursor MongoCursor::snapshot ( void )

Usar el modo instantánea ('snapshot') para la consulta. Este modo se asegura de que no se devuelvan duplicados, o que se pierdan objetos, que estarían presentes tanto al inicio como al final de la ejecución de la consulta (si un objeto se crea nuevo durante la consulta, o se elimina durante la misma, podría o no ser devuelto, incluso con el modo instantánea).

Observe que las respuestas cortas de consultas (menos de 1 MB) siempre son capturadas con éxito.

Actualmente, el modo instantánea no se puede usar al ordenar o con sugerencias explícitas.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve este cursor.

Errores/Excepciones

Lanza una MongoCursorException si este cursor ha empezado a iterar.

MongoCursor::slaveOkay
MongoCursor::sort
MongoCursor


Ordena los resultados por el campo que se indique

MongoCursor::snapshot
MongoCursor::tailable
MongoCursor
PHP Manual

MongoCursor::sort

(PECL mongo >=0.9.0)

MongoCursor::sort — Ordena los resultados por el campo que se indique

Descripción

public MongoCursor MongoCursor::sort ( array $fields )

Parámetros

fields

Array de campos en base a los que se va a ordenar. Cada elemento del array tiene de clave el nombre del campo, y como valor, o bien 1 para orden ascendente, o bien -1 para orden descendente.

En primer lugar, se ordena en base al primer campo del array. Después (si existe) en base al segundo, etc. Esto quiere decir que el orden de los campos del array fields es importante. Revise la sección de ejemplos.

Valores devueltos

Devuelve el mismo cursor con el que se invocó a este método.

Errores/Excepciones

Lanza MongoCursorException si ya se hubiera empezado a recorrer el cursor.

Ejemplos

Ejemplo #1 Ejemplo de MongoCursor::sort()

<?php
// ordenar por x ascendentemente
$cursor->sort(array('x' => 1));

// El orden del array asociativo es importante. Por ejemplo, estos dos
// ejemplos generarán distintos resultados:

// ordena por fecha ascendentemente y después por edad descendentemente
$cursor->sort(array('date' => 1, 'age' => -1));

// ordena por edad descendientemente y después por fecha ascendentemente
$cursor->sort(array('age' => -1, 'date' => 1));
?>
MongoCursor::snapshot
MongoCursor::tailable
MongoCursor


Establece si este cursor se dejará abierto después de obtener los últimos resultados

MongoCursor::sort
MongoCursor::timeout
MongoCursor
PHP Manual

MongoCursor::tailable

(PECL mongo >=0.9.4)

MongoCursor::tailable — Establece si este cursor se dejará abierto después de obtener los últimos resultados

Descripción

public MongoCursor MongoCursor::tailable ([ bool $tail = true ] )

Mongo posee una característica conocia como cursores de seguimiento ("tailable"), que son similares al comando de Unix "tail -f".

"De seguimiento" significa que el cursor no se cierra al obtener los últimos datos. En su lugar, el cursor marca la posición final del objeto. Se puede continuar usando el cursor más tarde, desde donde estaba ubicado, si se recibieron más datos.

Como cualquie "cursor latente", el cursor podría no ser válido en algún punto; por ejemplo, si el final del objeto al que hace referencia fue eliminado. Por lo tanto, se debería preparado para reconsultar si el cursor está MongoCursor::dead().

Parámetros

tail

Si el cursor debería ser de seguimiento.

Valores devueltos

Devuelve este cursor.

Errores/Excepciones

Lanza una MongoCursorException si este cursor ha empezado a iterar.

Ejemplos

Ejemplo #1 Ejemplo de MongoCursor::tailable()

<?php

$cursor = $collection->find()->tailable();

$resultados = array();

while (1) {
    if (!$cursor->hasNext()) {
        // we've read all the results, exit
        if ($cursor->dead()) {
            break;
        }
        // read all results so far, wait for more
        sleep(10);
    }
    else {
        $resultados[] = $cursor->getNext();
    }
}

?>

Ver también

La documentación principal de MongoDB sobre » sursores de seguimiento.

  • MongoCursor::awaitData() - Establece si el cursor esperará un momento a que un cursor de seguimiento devuelva más datos

MongoCursor::sort
MongoCursor::timeout
MongoCursor


Establece un tiempo de espera en el lado del cliente para esta consulta

MongoCursor::tailable
MongoCursor::valid
MongoCursor
PHP Manual

MongoCursor::timeout

(PECL mongo >=1.0.3)

MongoCursor::timeout — Establece un tiempo de espera en el lado del cliente para esta consulta

Descripción

public MongoCursor MongoCursor::timeout ( int $ms )

Se puede establecer un tiempo de espera en cualquier momento y afectará a consultas subsiguientes del cursor, incluyendo la obtención de más resultados desde la base de datos.

Parámetros

ms

El número de milisegundos que ha de esperar el cursor a una respuesta. Use -1 para esperar eternamente. Por omisión, el cursor esperará MongoCursor::$timeout milisegundos.

Valores devueltos

Este cursor.

Errores/Excepciones

Hace que los métodos que obtienen resultados lancen una MongoCursorTimeoutException si la consulta toma más tiempo de los milisegundos especificados.

Ejemplos

Ejemplo #1 Ejemplo de MongoCursor::timeout()

En el siguiente ejemplo, el controlador esperará a una respuesta inicial de la base de datos, y luego esperará 100 ms para las respuestas subsiguientes.

<?php

$cursor = $collection->find();
$cursor->timeout(-1);

/* $cursor->hasNext() ejecuta la consulta. Se ha establecido un tiempo de espera
 * infinito, por lo que el controlador esperará lo necesario a una respuesta.
 */
while ($cursor->hasNext()) {
    $cursor->timeout(100);

    /* Ahora se ha establecido el tiempo de espera, por lo que, si el cursor necesita obtener
     * más resultados de la base de datos, solo esperará 100 ms a una respuesta.
     */
    try {
        print_r($cursor->getNext());
    } catch (MongoCursorTimeoutException $e) {
        echo "¡La consulta tomó demasiado tiempo!";
    }
}

?>

Notas

Advertencia

Esto no hace que el servidor de MongoDB cancele las operaciones que se ejecuten durante mucho tiempo; solamente instruye al controlador para que deje de esperar a una respuesta y lance una MongoCursorTimeoutException después de un tiempo establecido.

MongoCursor::tailable
MongoCursor::valid
MongoCursor


Comprueba si el cursor está leyendo un resultado válido

MongoCursor::timeout
Tipos
MongoCursor
PHP Manual

MongoCursor::valid

(PECL mongo >=0.9.0)

MongoCursor::valid — Comprueba si el cursor está leyendo un resultado válido

Descripción

public bool MongoCursor::valid ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Indica si el resultado actual no es null.

MongoCursor::timeout
Tipos
MongoCursor


Tipos

Tabla de contenidos

  • MongoId
  • MongoCode
  • MongoDate
  • MongoRegex
  • MongoBinData
  • MongoInt32
  • MongoInt64
  • MongoDBRef
  • MongoMinKey
  • MongoMaxKey
  • MongoTimestamp

MongoDB permite a los programadores guardar y consultar datos expresados tanto en los tipos básicos de PHP, los tipos compuestos (arrays, arrays asociativos, y objetos), y en media docena de clases que proporciona el driver MongoDB de PHP (para expresiones regulares, fechas, y otras aplicaciones especializadas).

Booleanos y NULL

TRUE, FALSE, y NULL pueden usarse tal cual.

Números

En MongoDB los números son distintos de los strings: "123" no es lo mismo que 123. Por tanto, si se desea asegurar de que los números se ordenan y comparan correctamente, debe asegurarse de que realmente se almacenan como números.

<?php

$doc = array("a" => 123, "b" => "123");
$collection->insert($doc);

$doc->find(array("a" => 123));   // coincide
$doc->find(array("a" => "123")); // no coincide
$doc->find(array("a" => 123.0)); // coincide
$doc->find(array("b" => 123));   // no coincide
$doc->find(array("b" => "123")); // coincide

?>

Como vemos, los números en coma flotante se comparan y coinciden con los números enteros tal como cabría esperar.

Números Largos

Por omisión, en sistemas de 32 bits, los números se envían a la base de datos como enteros de 32 bit. En sistemas 64 bits, se envían como enteros de 64 bit. Para guardar la compatibilidad, todos los sistemas deserializan los enteros de 64 bit como números en coma flotante. Los números en coma flotante no son exactos. Si fuera necesario usar valores exactos, habría que hacerlo ajsutando el » fichero php.ini.

En sistemas de 32 bits, si mongo.long_as_object está habilitado, los enteros de 64 bit se devolverán como objetos MongoInt64. El entero se almacenará en el campo value con una precisión perfecta (como un string). MongoInt64 puede usarse también para guardar enteros de 64 bit en máquinas de 32 bits.

En sistemas de 64 bits, puede o bien habilitarse mongo.long_as_object o mongo.native_long. mongo.native_long devolverá enteros de 64 bit y enteros "normales" de PHP. MongoInt32 puede usarse para almacenar enteros de 32 bit en máquinas de 64 bits.

Debe establecerse un valor en mongo.long_as_object y en mongo.native_long de acuerdo al comportamiento que se espere, incluso en el caso de que coincida con los valores por omisión (para prevenir futuros cambios de estos valores).

Vea también: » Opciones de php.ini, MongoInt32, MongoInt64.

Strings

Los strings deben ser UTF-8. Si no, o bien se convierten a UTF-8 antes de enviarse a la base de datos, o bien se almacenan como datos binarios.

Pueden usarse expresiones regulares para consultar strings, y se expresan usando la clase MongoRegex.

Datos Binarios

Tanto los textos que no son UTF-8, como las imágenes, o cualuier otro dato binario, debe enviarse a la base de datos usando el tipo MongoBinData.

Fechas

Pueden crearse fechas usando la clase MongoDate. Se almacenan como milisegundos a partir de la fecha de referencia.

MongoTimestamp no es para almacenar fechas ni timestamps, sino que se usa internamente por MongoDB. A no ser que se esté creando una herramienta que interactúe con los entresijos de réplicas o sharding, se deberá usar MongoDate, y no MongoTimestamp.

Ids Únicos

El driver creará automáticamente un campo _id antes de insertar un documento (a no ser que el usuario haya especificado uno). Este campo es una instancia de MongoId (en otros lenguajes habitualmente se le llama "ObjectId").

Estos ids se componen de 12 bytes:

  • 4 bytes de timestamp

    Dos registros no pueden tener el mismo id si se han insertado en momentos diferentes.

  • 3 bytes de id de máquina

    Dos registros no pueden tener el mismo id si se han insertado en máquinas diferentes.

  • 2 bytes de id de hebra

    Dos registros no pueden tener el mismo id si se han insertado por diferentes hebras en la misma máquina.

  • 3 bytes de valor incremental

    Cada vez que se crea un id, un contador global se incrementa, y se usa para el incremento del siguiente id.

Por tanto, dos registros no pueden tener el mismo id, a no ser que un único proceso en una misma máquina trate de insertar 256^3 (más de 16 millones) de documentos en un segundo, desbordando el campo de incremento.

JavaScript

MongoDB incorpora un motor JavaScript, de modo que se pueden incluir código JavaScript en las consultas (usando la claúsula $where), enviarlo directamente a la base de datos para ejecutarlo, y usarlo para llevar a cabo agregaciones.

Por seguridad, en MongoCode utilice el campo scope cuando vaya a usar variables PHP en JavaScript. Cuando el código no requiera de valores externos, se puede o bien usar MongoCode o símplemente un string. Revise la » sección de seguridad para más información sobre cómo enviar código JavaScript a la base de datos.

Arrays y Objetos

También pueden guardarse arrays y objetos en la base de datos. Los arrays con clave numérica incremental se almacenarán como arrays. En cualquier otro caso, se almacenarán como objetos.

<?php

// $puntuaciones se almacenará como array
$puntuaciones = array(98, 100, 73, 85);
$collection->insert(array("puntuaciones" => $puntuaciones));

// $puntuaciones se almacenará como un objeto
$puntuaciones = array("pregunta1" => 98, "examen" => 100, "pregunta2" => 73, "final" => 85);
$collection->insert(array("puntuaciones" => $puntuaciones));

?>

Si consultamos estos objetos en la consola de la base de dato, obtendremos algo similar a esto:

> db.students.find()
{ "_id" : ObjectId("4b06beada9ad6390dab17c43"), "puntuaciones" : [ 98, 100, 73, 85 ] }
{ "_id" : ObjectId("4b06bebea9ad6390dab17c44"), "puntuaciones" : { "pregunta1" : 98, "examen" : 100, "pregunta2" : 73, "final" : 85 } }

La base de datos puede almacenar también objetos PHP arbitrarios (pese a que se devolverán como arrays asociativos). Los campos se usan para pares clave/valor. Por ejemplo, la entrada de un blog podría ser así:

<?php

  // clase de la entrada de un blog
  class Entrada {

  var $autor;
  var $contenido;
  var $comentarios = array();
  var $fecha;

  public function __construct($autor, $contenido) {
  $this->autor = $autor;
$this->contenido = $contenido;
    $this->fecha = new MongoDate();
  }

  public function establecerTitulo($titulo) {
    $this->titulo = $titulo;
  }
}

// crear una entrada de blog sencilla e insertarla en base de datos
$entrada1 = new Entrada("Adam", "Esto es una entrada de un blog");

$blog->insert($entrada1);

// no hay niguna restricción del tipo usado en el campo "autor", de manera que podemos
// usarlo como un objeto anidado
$autor = array("nombre" => "Fred", "karma" => 42);
$entrada2 = new Entrada($autor, "Ésta es otra entrada de blog.");

// creamos un campo más para el título
$entrada2->establecerTitulo("Segunda Entrada");

$blog->insert($entrada2);

?>

En la consola de la base de datos, lo veríamos parecido a esto:

> db.blog.find()
{ "_id" : ObjectId("4b06c263edb87a281e09dad8"), "autor" : "Adam", "contenido" : "Esto es una entrada de un blog", "comentarios" : [ ], "fecha" : "Fri Nov 20 2009 11:22:59 GMT-0500 (EST)" }
{ "_id" : ObjectId("4b06c282edb87a281e09dad9"), "autor" : { "nombre" : "Fred", "karma" : 42 }, "contenido" : "Ésta es otra entrada de blog", "comentarios" : [ ], "fecha" : "Fri Nov 20 2009 11:23:30 GMT-0500 (EST)", "titulo" : "Segunda Entrada" }

El driver no detecta referencias cíclicas en arrays ni en objetos. Por ejemplo, esto emitiría un error fatal:

<?php

$collection->insert($GLOBALS);

?>

Fatal error: Nesting level too deep - recursive dependency?
Si se necesitara insertar documentos que pudieran tener dependencias cíclicas, deberá comprobarse a mano antes de pasarlo al driver.

MongoCursor::valid
MongoId
Mongo


Clase MongoId

(PECL mongo >=0.8.0)

Introducción

Identificador único creado para objetos de bases de datos. Se se inserta un objeto sin un campo _id en una base de datos , éste se añadirá con una instancia de MongoId. Si los datos tuvieran un campo único natural (como p.ej., un nombre de usuario o una fecha) no habría problema en usarlo como _id, y en este caso no se reemplazaría por un MongoId.

Las instancias de MongoId cumplen la función de los campos autoincrementales de las base de datos relacionales: ofrecen una clave única cuando los datos no tienen una clave natural. Los autoincrementales no funcionan correctamente en bases de datos compartidas, ya que es imposible averiguar rápidamente cuál será el siguiente número. Esta clase establece las limitaciones necesarias para generar rápidamente un valor único entre servidores compartidos.

Cada MongoId contiene 12 bytes (componiendo un string de 24 caracteres hexadecimales). Los cuatro primeros bytes son un timestamp, los tres siguientes son un hash del nombre de máquina del cliente, los dos siguiente son los bytes menos significativos del id del proceso en ejecución del script, y los últimos tres corresponden a un valor incremental.

MongoId es serializable y deserializable. Su forma serializada es similar a su forma en string:

C:7:"MongoId":24:{4af9f23d8ead0e1d32000000}

Sinopsis de la Clase

MongoId {
public string $id = NULL ;
/* Métodos */
public __construct ([ string $id = NULL ] )
public static string getHostname ( void )
public int getInc ( void )
public int getPID ( void )
public int getTimestamp ( void )
public static MongoId __set_state ( array $props )
public string __toString ( void )
}

Campos

id
Este campo contiene la respresentación string de este objeto.

Ver también

Documentación de MongoDB sobre » ids.

Tabla de contenidos

  • MongoId::__construct — Crea un nuevo id
  • MongoId::getHostname — Obtiene el nombre de host que se usa para el id de esta máquina
  • MongoId::getInc — Obtiene el valor incremental usado para crear este id
  • MongoId::getPID — Obtiene el ID del proceso
  • MongoId::getTimestamp — Devuelve el número de segundos desde la fecha de referencia con el que se creó este id
  • MongoId::__set_state — Create a dummy MongoId
  • MongoId::__toString — Devuelve la representación hexadecimal de este id
Tipos
MongoId::__construct
Tipos


Crea un nuevo id

MongoId
MongoId::getHostname
MongoId
PHP Manual

MongoId::__construct

(PECL mongo >= 0.8.0)

MongoId::__construct — Crea un nuevo id

Descripción

public MongoId::__construct ([ string $id = NULL ] )

Parámetros

id

Texto a usar como identificador. Debe estar formado por 24 caracteres hexadecimales. Si se pasara un valor inválido a este constructor, lo ignoraría y crearía un nuevo valor para id.

Valores devueltos

Devuelve un nuevo id.

Ejemplos

Ejemplo #1 MongoId::__construct() example

Este ejemplo muestra cómo crear un nuevo id. Rara vez neceasrio usar esto, ya que el driver añade automáticamente un id a los arrays antes de que los almacene en base de datos.

<?php

  $id1 = new MongoId();
  echo "$id1\n";

  $id2 = new MongoId();
  echo "$id2\n";

  ?>

El resultado del ejemplo sería algo similar a:

49a7011a05c677b9a916612a
49a702d5450046d3d515d10d

Ejemplo #2 Ejemplo con parámetros

Este ejemplo muestra cómo usar el parámetro para inicializar un MongoId con el valor proporcionado.

<?php
  $id1 = new MongoId();

  // crea un nuevo id a partir de $id1
  $id2 = new MongoId("$id1");

  // muestra que $id1 e $id2 tienen el mismo valor hexadecimal
  var_dump($id1 == $id2);
  ?>

El resultado del ejemplo sería algo similar a:

bool(true)

Ver también

  • MongoId::__toString() - Devuelve la representación hexadecimal de este id

MongoId
MongoId::getHostname
MongoId


Obtiene el nombre de host que se usa para el id de esta máquina

MongoId::__construct
MongoId::getInc
MongoId
PHP Manual

MongoId::getHostname

(PECL mongo >= 1.0.8)

MongoId::getHostname — Obtiene el nombre de host que se usa para el id de esta máquina

Descripción

public static string MongoId::getHostname ( void )

Devuelve el nombre de host que usa MongoId para generar identificadores únicos. Es el mismo valor que devuelve gethostname().

Es idéntico a esta función:

<?php

public static function getHostname() {
    return gethostname();
}

?>

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el nombre de host.

MongoId::__construct
MongoId::getInc
MongoId


Obtiene el valor incremental usado para crear este id

MongoId::getHostname
MongoId::getPID
MongoId
PHP Manual

MongoId::getInc

(PECL mongo >= 1.0.11)

MongoId::getInc — Obtiene el valor incremental usado para crear este id

Descripción

public int MongoId::getInc ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el valor incremental usado para crear este MongoId.

MongoId::getHostname
MongoId::getPID
MongoId


Obtiene el ID del proceso

MongoId::getInc
MongoId::getTimestamp
MongoId
PHP Manual

MongoId::getPID

(PECL mongo >= 1.0.11)

MongoId::getPID — Obtiene el ID del proceso

Descripción

public int MongoId::getPID ( void )

Extrase el PID del ID de Mongo

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el PID del MongoId.

MongoId::getInc
MongoId::getTimestamp
MongoId


Devuelve el número de segundos desde la fecha de referencia con el que se creó este id

MongoId::getPID
MongoId::__set_state
MongoId
PHP Manual

MongoId::getTimestamp

(PECL mongo >= 1.0.1)

MongoId::getTimestamp — Devuelve el número de segundos desde la fecha de referencia con el que se creó este id

Descripción

public int MongoId::getTimestamp ( void )

Devuelve lo mismo que cuando se ejecuta time() al crear el id.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el número de segundos desde la fecha de referencias con el que se creó este id. Tan sólo hay cuatro bytes para almacenar el timestamp, por lo que MongoDate es una opción mejor si se desea almacenar fechas exacta de alto alcance.

MongoId::getPID
MongoId::__set_state
MongoId


Create a dummy MongoId

MongoId::getTimestamp
MongoId::__toString
MongoId
PHP Manual

MongoId::__set_state

(PECL mongo >= 1.0.8)

MongoId::__set_state — Create a dummy MongoId

Descripción

public static MongoId MongoId::__set_state ( array $props )

Esta función sólo se utiliza por PHP internamente, no debería tener que estar siempre llamado por el usuario.

Es idéntica a la función:

<?php

public static function __set_state($props) {
    return new MongoId("000000000000000000000000");
}

?>

Parámetros

props

En teoría, una serie de propiedades que se usan para crear la nueva ID. Sin embargo, como ejemplos MongoId no tienen propiedades, esto no se utiliza

Valores devueltos

Una nueva identificación con el valor "000000000000000000000000".

MongoId::getTimestamp
MongoId::__toString
MongoId


Devuelve la representación hexadecimal de este id

MongoId::__set_state
MongoCode
MongoId
PHP Manual

MongoId::__toString

(PECL mongo >= 0.8.0)

MongoId::__toString — Devuelve la representación hexadecimal de este id

Descripción

public string MongoId::__toString ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Este id.

Ejemplos

Ejemplo #1 Ejemplo de MongoId::__toString()

<?php

$m = new MongoClient();
$collection = $m->selectDB("foo")->selectCollection("bar");

$collection->insert(array( "x" => "y" ));
$collection->insert(array( "x" => "y" ));

$cursor = $collection->find();
$r1 = $cursor->next();
$r2 = $cursor->next();

echo $r1["_id"] . "\n";
echo $r2["_id"] . "\n";

?>

El resultado del ejemplo sería algo similar a:

49a7011a05c677b9a916612a
49a702d5450046d3d515d10d
MongoId::__set_state
MongoCode
MongoId


Clase MongoCode

(PECL mongo >=0.8.3)

Introducción

Representa código JavaScript para la base de datos.

Los objetos MongoCode se componen de dos partes: el texto del código y un ámbito opcional. El texto del código debe ser JavaScript válido. El ámbito es un array asociativo de pares nombre/valor.

Sinopsis de la Clase

MongoCode {
/* Métodos */
public __construct ( string $code [, array $scope = array() ] )
public string __toString ( void )
}

Tabla de contenidos

  • MongoCode::__construct — Crea un nuevo objeto de código
  • MongoCode::__toString — Devuelve este código en forma de texto
MongoId::__toString
MongoCode::__construct
Tipos


Crea un nuevo objeto de código

MongoCode
MongoCode::__toString
MongoCode
PHP Manual

MongoCode::__construct

(PECL mongo >= 0.8.3)

MongoCode::__construct — Crea un nuevo objeto de código

Descripción

public MongoCode::__construct ( string $code [, array $scope = array() ] )

Parámetros

code

Texto del código.

scope

Ámbito que se usará para este código.

Valores devueltos

Devuelve un nuevo objeto de código.

Ejemplos

Ejemplo #1 Ejemplo de MongoCode::__construct()

<?php

$code = new MongoCode('function() { '.
    'for(i=0;i<10;i++) {'.
        'db.foo.update({z : i}, {z : x});'.
    '}'.
    'return x-1;'.
 '}', array("x" => 4));
var_dump($code);

?>

El resultado del ejemplo sería algo similar a:

object(MongoCode)#1 (2) {
  ["scope"]=>
  array(1) {
    ["x"]=>
    int(4)
  }
  ["code"]=>
  string(80) "function() { for(i=0;i<10;i++) { db.foo.update({z : i}, {z : x}); } return x-1; }"
}

Ejemplo #2 Usando MongoCode con $where

Este ejemplo consulta la colección de elementos cuyos campos 'x' valgan menos que $y. Tenga en cuenta que se pasan objetos PHP al ámbito de JavaScript y que la función JavaScript devuelve un booleano.

<?php

$cursor = $collection->find(array('$where' => new MongoCode('function() { return this.x < y; }', array('y'=>$y))));

?>
MongoCode
MongoCode::__toString
MongoCode


Devuelve este código en forma de texto

MongoCode::__construct
MongoDate
MongoCode
PHP Manual

MongoCode::__toString

(PECL mongo >= 0.8.3)

MongoCode::__toString — Devuelve este código en forma de texto

Descripción

public string MongoCode::__toString ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Este código. No se devuelve el ámbito.

Ejemplos

Ejemplo #1 Ejemplo de MongoCode::__toString()

<?php

$code = new MongoCode('return x;', array("x"=>"hi"));
echo "$code\n";

$code = new MongoCode('function() { for(i=0;i<10;i++) { db.foo.update({x:i}, {x:i+1}); } }');
echo "$code\n";

?>

El resultado del ejemplo sería algo similar a:

return x;
function() { for(i=0;i<10;i++) { db.foo.update({x:i}, {x:i+1}); } }
MongoCode::__construct
MongoDate
MongoCode


La clase MongoDate

(PECL mongo >=0.8.1)

Introducción

Representa objetos de tipo fecha para la base de datos. Esta clase debe usarse para almacenar fechas en la base de datos y para consultarlas. Por ejemplo:

Ejemplo #1 Almacenar datos con MongoDate

<?php

// guardar una fecha en base de datos
$collection->save(array("ts" => new MongoDate()));

$start = new MongoDate(strtotime("2010-01-15 00:00:00"));
$end = new MongoDate(strtotime("2010-01-30 00:00:00"));

// encontrar fechas entre 1/15/2010 y 1/30/2010
$collection->find(array("ts" => array('$gt' => $start, '$lte' => $end)));

?>

MongoDB almacena fechas en milisegundos tras la fecha de referencia. Esto significa que las fechas no contienen información de zonas horarias. Si fuera necesario, la zona horaria deberá ser almacenada en otro campo. Además, esto significa que cualquier nivel de precisión más allá de milisegundos se perderá al leer o escribir en la base de datos.

Sinopsis de la Clase

MongoDate {
/* Campos */
public int $sec ;
public int $usec ;
/* Métodos */
public __construct ([ int $sec = time() [, int $usec = 0 ]] )
public string __toString ( void )
}

Tabla de contenidos

  • MongoDate::__construct — Crea un nuevo objeto fecha
  • MongoDate::__toString — Devuelve una representación en forma de texto de esta fecha
MongoCode::__toString
MongoDate::__construct
Tipos


Crea un nuevo objeto fecha

MongoDate
MongoDate::__toString
MongoDate
PHP Manual

MongoDate::__construct

(PECL mongo >= 0.8.1)

MongoDate::__construct — Crea un nuevo objeto fecha

Descripción

public MongoDate::__construct ([ int $sec = time() [, int $usec = 0 ]] )

Crea una nueva fecha. Si no se proporciona ningún parámetro, se utilizará la hora actual.

Parámetros

sec

Número de segundos desde el 1 de enero de 1970.

usec

Microsegundos. Por favor, tenga en cuenta que la resolución de MongoDB es milisegundos y no microsegundos, lo que significa que este valor será truncado a la resolución de milisegundos.

Valores devueltos

Devuelve esta nueva fecha.

Ejemplos

Ejemplo #1 Ejemplo de MongoDate::__construct()

Este ejemplo muestra cómo crear una nueva fecha con la hora actual y una nueva fecha con la hora proporcionada.

<?php

$f = new MongoDate();
echo "$f\n";
$f = new MongoDate(1234567890);
echo "$f\n";
$f = new MongoDate(strtotime("2009-05-01 00:00:01"));
echo "$f\n";

?>

El resultado del ejemplo sería algo similar a:

0.23660600 1235685067
0.00000000 1234567890
0.00000000 1241150401

Ver también

  • MongoDate::__toString() - Devuelve una representación en forma de texto de esta fecha

MongoDate
MongoDate::__toString
MongoDate


Devuelve una representación en forma de texto de esta fecha

MongoDate::__construct
MongoRegex
MongoDate
PHP Manual

MongoDate::__toString

(PECL mongo >= 0.8.1)

MongoDate::__toString — Devuelve una representación en forma de texto de esta fecha

Descripción

public string MongoDate::__toString ( void )

Devuelve una representación en forma de texto de esta fecha, similar a la representación que devuelve microtime().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Esta fecha.

MongoDate::__construct
MongoRegex
MongoDate


La clase MongoRegex

(PECL mongo >=0.8.1)

Introducción

Esta clase se puede usar para crear expresiones regulares. Normalmente, estas expresiones se usarán para consultar la base de datos y localizar textos que coincidan. Con menos frecuencia, se almacenarán en la base de datos para su posterior consulta.

Las expresiones regulares consisten en cuatro partes. La primera un / como delimitiador de inicio, después el patrón, otro / y por último una cadena que contiene las banderas.

Ejemplo #1 Patrón de expresión regular

/patrón/banderas

MongoDB reconoce seis banderas para expresiones regulares:

  • i: Insensible a mayúsculas

  • m: Multilínea

  • x: Puede contener comentarios

  • l: configuración regional

  • s: "." coincidirá con todo, incluyendo nuevas líneas

  • u: coincidir con unicode

Sinopsis de la Clase

MongoRegex {
/* Campos */
public string $regex ;
public string $flags ;
/* Métodos */
public __construct ( string $regex )
public string __toString ( void )
}

Tabla de contenidos

  • MongoRegex::__construct — Crea una nueva expresión regular
  • MongoRegex::__toString — Representación en forma de texto de esta expresión regular
MongoDate::__toString
MongoRegex::__construct
Tipos


Crea una nueva expresión regular

MongoRegex
MongoRegex::__toString
MongoRegex
PHP Manual

MongoRegex::__construct

(PECL mongo >= 0.8.1)

MongoRegex::__construct — Crea una nueva expresión regular

Descripción

public MongoRegex::__construct ( string $regex )

Crea una nueva expresión regular.

Parámetros

regex

Texto de la expresión regular, con la forma /expresión/banderas.

Valores devueltos

Devuelve una nueva expresión regular.

Ejemplos

Ejemplo #1 Ejemplo de MongoRegex::__construct()

Este ejemplo usa una expresión regular para consultar todos los documentos con un campo de nombre de usuario que empieza con (^) con una l y una vocal ([aeiouy]), insensible a mayúsculas/minúsculas (/i).

<?php
$buscar_luis = new MongoRegex("/^l[aeiouy]/i");
$cursor = $collection->find(array("usuario" => $buscar_luis));
?>

Ver también

  • MongoRegex::__toString() - Representación en forma de texto de esta expresión regular

MongoRegex
MongoRegex::__toString
MongoRegex


Representación en forma de texto de esta expresión regular

MongoRegex::__construct
MongoBinData
MongoRegex
PHP Manual

MongoRegex::__toString

(PECL mongo >= 0.8.1)

MongoRegex::__toString — Representación en forma de texto de esta expresión regular

Descripción

public string MongoRegex::__toString ( void )

Devuelve la representación en forma de texto de esta expresión regular.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Esta expresión regular en la forma "/expresión/banderas".

Ejemplos

Ejemplo #1 Ejemplo de MongoRegex::__toString()

<?php

$r = new MongoRegex( "/[a-fA-F0-9]{16}/g" );
echo $r->regex . "\n";
echo $r->flags . "\n";
echo "$r\n";

?>

El resultado del ejemplo sería algo similar a:

[a-fA-F0-9]{16}
g
/[a-fA-F0-9]{16}/g

MongoRegex::__construct
MongoBinData
MongoRegex


Clase MongoBinData

(PECL mongo >= 0.8.1)

Introducción

Objeto para almacenar y consultar datos binarios de la base de datos.

El tamaño máximo de un objeto que puede insertarse en la base de datos es 16 MB. Para datos superiores (películas, música, autobiografía de Henry Kissinger), utilice MongoGridFS. Para datos inferiores a 16 MB, lo más probable es que lo más sencillo sea embeber el documento utilizando MongoBinData.

Por ejemplo, para empotrar una imagen a un documento, se podría escribir:

<?php

$profile = array("username" => "foobity",
    "pic" => new MongoBinData(file_get_contents("gravatar.jpg"))
);

$users->save($profile);

?>

Esta clase contiene el campo type, que actualmente no proporciona ninguna funcionalidad al driver de la base de datos. Hay 5 tipos predefinidos (las contantes de clase definidas abajo), y los usuarios puede definir los suyos propios (se corre el riesgo de que colisione con la especificación BSON). Por omisión, el driver de PHP siempre utiliza el tipo 2: un array de bytes.

Sinopsis de la Clase

MongoBinData {
/* Constantes */
const int FUNC = 1 ;
const int BYTE_ARRAY = 2 ;
const int UUID = 3 ;
const int MD5 = 5 ;
const int CUSTOM = 128 ;
/* Fields */
public string $bin ;
public int $type = 2 ;
/* Métodos */
public __construct ( string $data [, int $type = 2 ] )
public string __toString ( void )
}

Constantes predefinidas

Tipos de Datos Binarios

MongoBinData::FUNC
0x01
Función.
MongoBinData::BYTE_ARRAY
0x02
Array de bytes.
MongoBinData::UUID
0x03
Identificador Único Universal.
MongoBinData::MD5
0x05
MD5.
MongoBinData::CUSTOM
0x80
Tipo definido por el usuario.

Tabla de contenidos

  • MongoBinData::__construct — Crea un nuevo objeto de datos binarios
  • MongoBinData::__toString — Representación en forma de string de este objeto de datos binarios
MongoRegex::__toString
MongoBinData::__construct
Tipos


Crea un nuevo objeto de datos binarios

MongoBinData
MongoBinData::__toString
MongoBinData
PHP Manual

MongoBinData::__construct

(PECL mongo >= 0.8.1)

MongoBinData::__construct — Crea un nuevo objeto de datos binarios

Descripción

public MongoBinData::__construct ( string $data [, int $type = 2 ] )

Crea un nuevo objeto de datos binarios

Hay cinco tipos reconocidos de datos binarios según la especificación BSON: función (0x01), matriz de bytes (0x02), UUID (0x03), MD5 (0x05), y definido por el usuario (0x80). El tipo por omisión es matriz de bytes (0x02). No hay ninguna diferencia en particilar sobre cómo interpreta el driver cada tipo, There is no particular difference in how the driver or server interpret different types, por tanto es por ahora irrelevante. Se puede usar cualquier número (entre 0 y 255) como tipo, siempre y cuando el usuario asuma el riesgo de que la base de datos pueda eventualmente llevar a cabo alguna función con datos binarios de este tipo.

Parámetros

data

Datos binarios.

type

Tipo de datos.

Valores devueltos

Devuelve un nuevo objeto de datos binarios.

Historial de cambios

Versión | Descripción
1.2.11 | Emite un error de nivel E_DEPRECATED cuando no se utiliza el segundo argumento. El valor predeterminado de type podría cambiar en un futuro próximo.

MongoBinData
MongoBinData::__toString
MongoBinData


Representación en forma de string de este objeto de datos binarios

MongoBinData::__construct
MongoInt32
MongoBinData
PHP Manual

MongoBinData::__toString

(PECL mongo >= 0.8.1)

MongoBinData::__toString — Representación en forma de string de este objeto de datos binarios

Descripción

public string MongoBinData::__toString ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el string "<Mongo Binary Data>". Para acceder al contenido de un MongoBinData, utilice el campo bin.

MongoBinData::__construct
MongoInt32
MongoBinData


Clase MongoInt32

(PECL mongo >=1.0.9)

Introducción

Esta clase se puede usar para guardar enteros de 32 bits en bases de datos de sistemas a 64 bits.

Sinopsis de la Clase

MongoInt32 {
/* Campos */
public string $value ;
/* Métodos */
public __construct ( string $value )
public string __toString ( void )
}

Campos

value
Este es el valor en forma de texto del número de 32 bits. Por ejemplo, el valor de 123 sería "123".

Tabla de contenidos

  • MongoInt32::__construct — Crea un nuevo entero de 32 bits
  • MongoInt32::__toString — Devuelve al representación en forma de texto de este entero de 32 bits
MongoBinData::__toString
MongoInt32::__construct
Tipos


Crea un nuevo entero de 32 bits

MongoInt32
MongoInt32::__toString
MongoInt32
PHP Manual

MongoInt32::__construct

(PECL mongo >= 1.0.9)

MongoInt32::__construct — Crea un nuevo entero de 32 bits

Descripción

public MongoInt32::__construct ( string $value )

Crea un nuevo número de 32 bits con el valor proporcionado.

Parámetros

value

Un número.

Valores devueltos

Devuelve un nuevo entero.

MongoInt32
MongoInt32::__toString
MongoInt32


Devuelve al representación en forma de texto de este entero de 32 bits

MongoInt32::__construct
MongoInt64
MongoInt32
PHP Manual

MongoInt32::__toString

(PECL mongo >= 1.0.9)

MongoInt32::__toString — Devuelve al representación en forma de texto de este entero de 32 bits

Descripción

public string MongoInt32::__toString ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la representación en forma de texto de este entero.

MongoInt32::__construct
MongoInt64
MongoInt32


Clase MongoInt64

(PECL mongo >=1.0.9)

Introducción

Esta clase se puede usar para guardar enteros de 64 bits en bases de datos en sistemas de 32 bits.

Sinopsis de la Clase

MongoInt64 {
/* Campos */
public string $value ;
/* Métodos */
public __construct ( string $value )
public string __toString ( void )
}

Campos

value
Este es el valor en forma de texto del número de 64 bits. Por ejemplo, el valor de 123 sería "123".

Tabla de contenidos

  • MongoInt64::__construct — Crea un nuevo entero de 64 bits
  • MongoInt64::__toString — Devuelve la representación en forma de texto de este entero de 64 bits
MongoInt32::__toString
MongoInt64::__construct
Tipos


Crea un nuevo entero de 64 bits

MongoInt64
MongoInt64::__toString
MongoInt64
PHP Manual

MongoInt64::__construct

(PECL mongo >= 1.0.9)

MongoInt64::__construct — Crea un nuevo entero de 64 bits

Descripción

public MongoInt64::__construct ( string $value )

Crea un nuevo número de 64 bits con el valor proporcionado.

Parámetros

value

Un número.

Valores devueltos

Devuelve un nuevo entero.

MongoInt64
MongoInt64::__toString
MongoInt64


Devuelve la representación en forma de texto de este entero de 64 bits

MongoInt64::__construct
MongoDBRef
MongoInt64
PHP Manual

MongoInt64::__toString

(PECL mongo >= 1.0.9)

MongoInt64::__toString — Devuelve la representación en forma de texto de este entero de 64 bits

Descripción

public string MongoInt64::__toString ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la representación en forma de texto de este entero.

MongoInt64::__construct
MongoDBRef
MongoInt64


Clase MongoDBRef

(PECL mongo >=0.9.0)

Introducción

Esta clase puede usarse para crear enlaces ligeros entre objetos de diferencias colecciones.

Motivación: Supongamos que necesitamos referirnos a un documento en otra colección. La forma más fácil es crear un nuevo campo en el documento actual. Por ejemplo, si tenemos una colección "personas" y una colección "direcciones", quizás queramos crear un enlace entre cada documento de persona y un documento de dirección:

Ejemplo #1 Vincular documentos

<?php

$personas = $db->personas;
$direcciones = $db->direcciones;

$miDireccion = array("linea 1" => "Calle Mayor, 123",
    "linea 2" => null,
    "ciudad" => "Springfield",
    "estado" => "Vermont",
    "pais" => "USA");

// guardamos la direccion
$direcciones->insert($miDireccion);

// guardar una persona con una referencia a la direccion
$yo = array("nombre" => "Fred", "direccion" => $miDireccion['_id']);
$personas->insert($yo);

?>

Posteriormente podremos encontrar la dirección de la persona consultando la colección "direcciones" con el MongoId que almacenamos en la colección "personas".

Supongamos ahora que tenemos un caso más general, donde no sabemos qué colección (o incluso qué base de datos) contiene el documento referenciado. MongoDBRef es una buena elección para estos casos, ya que es un formato común que todos los drivers y bases de datos podrán interpretar.

Si cada persona tuviera una lista de cosas que les gusta, y éstas pudieran venir a partir de varias colecciones, como "hobbies", "deportes", "libros", etc., podríamos usar MongoDBRef para seguir la pista de con qué colección se asocia cada gusto:

Ejemplo #2 Crear vínculos MongoDBRef

<?php

$personas = $db->selectCollection("personas");

// modelismo ferroviario está en la colección "hobbies"
$ferroRef = MongoDBRef::create("hobbies", $modelismoFerroviario['_id']);
// fútbol está en la colección "deportes"
$futbolRef = MongoDBRef::create("deportes", $futbol['_id']);

// ahora, cuando consultemos el documento, sabremos a qué colección
// pertenecen cada ítem de "gustos"
$personas->insert(array("nombre" => "Fred", "gustos" => array($ferroRef, $futbolRef)));

?>

Las referencias a bases de datos se pueden concebir como hipervínculos: proporcionan una dirección única a otro documento, pero no cargan ni redirigen automáticamente al enlace/referencia.

Una referencia a una base de datos es un array asociativo, no una instancia de MongoDBRef, de modo que esta clase es ligeramente diferente al resto de clases de tipos de datos. Esta clase contiene únicamente métodos estáticos para poder manipular las referencias a bases de datos.

Sinopsis de la Clase

MongoDBRef {
/* Métodos */
public static array create ( string $collection , mixed $id [, string $database ] )
public static array get ( MongoDB $db , array $ref )
public static bool isRef ( mixed $ref )
}

Ver también

Documentación de MongoDB sobre » referencias a bases de datos.

Tabla de contenidos

  • MongoDBRef::create — Crea una nueva referencia de base de datos
  • MongoDBRef::get — Captura el objeto al que apunta la referencia
  • MongoDBRef::isRef — Comprueba si un array es una referencia en la base de datos
MongoInt64::__toString
MongoDBRef::create
Tipos


Crea una nueva referencia de base de datos

MongoDBRef
MongoDBRef::get
MongoDBRef
PHP Manual

MongoDBRef::create

(PECL mongo >= 0.9.0)

MongoDBRef::create — Crea una nueva referencia de base de datos

Descripción

public static array MongoDBRef::create ( string $collection , mixed $id [, string $database ] )

Si no se especifica ninguna base de datos, se utiliza la actual.

Parámetros

collection

Nombre de la colección (sin el nombre de la base de datos).

id

Campo _id del objeto al que enlazar.

database

Nombre de la base de datos.

Valores devueltos

Devuelve la referencia.

Ejemplos

Ejemplo #1 Ejemplo de MongoDBRef::create()

Crea una referencia de base de datos a un documento en la colección addresses. La función MongoCollection::getName() devuelve el nombre de la colección (sin incluir el nombre de la base de datos).

<?php
$addresses = $db->addresses;
$people = $db->people;

// guardar $address para que así tenga un _id
$addresses->insert($address);

// creamos una referencia
$ref = MongoDBRef::create($addresses->getName(), $address['_id']);

// asignamos el campo a $person
$person['address'] = $ref;
$people->save($person);
?>

Ver también

  • MongoDB::createDBRef() - Crea una referencia a base de datos
  • MongoCollection::createDBRef() - Crea una referencia a una base de datos

MongoDBRef
MongoDBRef::get
MongoDBRef


Captura el objeto al que apunta la referencia

MongoDBRef::create
MongoDBRef::isRef
MongoDBRef
PHP Manual

MongoDBRef::get

(PECL mongo >= 0.9.0)

MongoDBRef::get — Captura el objeto al que apunta la referencia

Descripción

public static array MongoDBRef::get ( MongoDB $db , array $ref )

Parámetros

db

Base de datos a usar.

ref

Referencia a capturar.

Valores devueltos

Devuelve el documento al que referencia o NULL si el documento no existe (la referencia está rota).

Ejemplos

Ejemplo #1 Ejemplo de MongoCollection::createDBRef()

<?php

// extraemos $person de la base de datos
$persona = $gente->findOne();

// obtenemos la dirección
$direccion = MongoDBRef::get($gente->db, $persona['direccion']);

?>

Ver también

  • MongoDB::getDBRef() - Captura el documento que está siendo apuntado por una referencia de base de datos
  • MongoCollection::getDBRef() - Captura el documento al que apunta una referencia de base de datos

MongoDBRef::create
MongoDBRef::isRef
MongoDBRef


Comprueba si un array es una referencia en la base de datos

MongoDBRef::get
MongoMinKey
MongoDBRef
PHP Manual

MongoDBRef::isRef

(PECL mongo >= 0.9.0)

MongoDBRef::isRef — Comprueba si un array es una referencia en la base de datos

Descripción

public static bool MongoDBRef::isRef ( mixed $ref )

Este método realmente no sigue las referencias, por lo que no sirve para determinar si una referencia está o no rota. Tan solo comprueba que ref está en el formato válido de referencias de bases de datos (objeto o array con los campos $ref y $id).

Parámetros

ref

Array u objeto a comprobar.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

MongoDBRef::get
MongoMinKey
MongoDBRef


Clase MongoMinKey

(PECL mongo >= 1.0.2)

Introducción

MongoMinKey es un tipo especial de la base de datos que se evalúa siempre como menor que cualquier otro tipo. Así, si se ordena ascendemente una consulta por un determinado campo, cualquier documento que tenga MongoMinKey como valor, será devuelto en primera posición.

MongoMinKey no tiene ni campos, ni métodos, ni constantes asociados. Es simplemente el valor "más bajo" que se puede insertar en la base de datos.

Sinopsis de la Clase

MongoMinKey {
}

Usando MongoMinKey como valor

<?php

$collection->insert(array("tarea" => "almorzar", "hacer el" => new MongoMinKey));
$collection->insert(array("tarea" => "reunión de personal", "hacer el" => new MongoDate(strtotime("+4 days"))));

$cursor = $collection->find()->sort(array("hacer el" => 1));

?>

El cursor contendrá el documento de almorzar, y después el documento de reunión de personal. El documento de almorzar siempre será el primero, independientemente de lo que añadamos a la colección (a no ser que se añadan otros documentos con MongoMinKey en el campo "hacer el").

MongoDBRef::isRef
MongoMaxKey
Tipos


Clase MongoMaxKey

(PECL mongo >= 1.0.2)

Introducción

MongoMaxKey es un tipo especial de la base de datos que se evalúa siempre como mayor que cualquier otro tipo. Así, si se ordena ascendemente una consulta por un determinado campo, cualquier documento que tenga MongoMaxKey como valor, será devuelto al final.

MongoMaxKey no tiene ni campos, ni métodos, ni constantes asociados. Es simplemente el valor "más alto" que se puede insertar en la base de datos.

Sinopsis de la Clase

MongoMaxKey {
}

Usando MongoMaxKey como valor

<?php

$collection->insert(array("tarea" => "fregar platos", "hacer el" => new MongoMaxKey));
$collection->insert(array("tarea" => "reunión de personal", "hacer el" => new MongoDate(strtotime("+4 days"))));

$cursor = $collection->find()->sort(array("hacer el" => 1));

?>

El cursor contendrá el documento de la reunión de personal, y después el documento de fregar platos. El documento de fregar platos siempre será el último, independientemente de lo que añadamos a la colección (a no ser que se añadan otros documentos con MongoMaxKey en el campo "hacer el").

MongoMinKey
MongoTimestamp
Tipos


Clase MongoTimestamp

(PECL mongo >=1.0.1)

Introducción

MongoTimestamp se usa para sharding (particionamiento horizontal de BD). Si no se van a usar herramientas de sharding, se recomienda usar MongoDate.

MongoTimestamp es un timestamp de 4 bytes (segundos a partir de la fecha de referencia) y 4 bytes de incremento.

Esta clase no es para medir tiempo, creando un timestamp en un documento o añadiendo/actualizando el timestamp de un documento. A no ser que se esté usando algo que interactúe con sharding, deténgase, y vaya directamente a MongoDate, no esté aquí de paso. Ésta no es la clase que está buscando.

Si está escribiendo herramientas de sharding, continúe.

Sinopsis de la Clase

MongoTimestamp {
/* Campos */
public int $sec = 0 ;
public int $inc = 0 ;
/* Métodos */
public __construct ([ int $sec = time() [, int $inc ]] )
public string __toString ( void )
}

Tabla de contenidos

  • MongoTimestamp::__construct — Crea un nuevo timestamp
  • MongoTimestamp::__toString — Devuelve la representación en forma de texto de este timestamp
MongoMaxKey
MongoTimestamp::__construct
Tipos


Crea un nuevo timestamp

MongoTimestamp
MongoTimestamp::__toString
MongoTimestamp
PHP Manual

MongoTimestamp::__construct

(PECL mongo >= 1.0.1)

MongoTimestamp::__construct — Crea un nuevo timestamp

Descripción

public MongoTimestamp::__construct ([ int $sec = time() [, int $inc ]] )

Crea un nuevo timestamp. Si no se rellenan los parámetros, se usa la hora actual con incremento automático. El incremento se establece a 0 cuando se carga el módulo, y se incrementa cada vez que se invoca a este constructor (cuando no se rellene el parámetro $inc).

Parámetros

sec

Número de segundos desde el 1 de enero de 1970.

inc

Incremento.

Valores devueltos

Devuelve el nuevo timestamp.

Ver también

  • MongoTimestamp::__toString() - Devuelve la representación en forma de texto de este timestamp

MongoTimestamp
MongoTimestamp::__toString
MongoTimestamp


Devuelve la representación en forma de texto de este timestamp

MongoTimestamp::__construct
Clases de GridFS
MongoTimestamp
PHP Manual

MongoTimestamp::__toString

(PECL mongo >= 1.0.1)

MongoTimestamp::__toString — Devuelve la representación en forma de texto de este timestamp

Descripción

public string MongoTimestamp::__toString ( void )

Devuelve el campo "sec" del timestamp.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Los segundos desde la fecha de referencia que rerpesenta este timestamp.

MongoTimestamp::__construct
Clases de GridFS
MongoTimestamp


Clases de GridFS

Tabla de contenidos

  • MongoGridFS
  • MongoGridFSFile
  • MongoGridFSCursor
MongoTimestamp::__toString
MongoGridFS
Mongo


Clase MongoGridFS

(PECL mongo >=0.9.0)

Introducción

Utilidad para almacenar y extraer ficheros de la base de datos.

GridFS es una especificación de almacenamiento que implementan todos los drivers soportados. En resumen, define dos colecciones: files, para los metadatos del fichero, y chunks, para el contenido del fichero. Si el fichero fuera de gran tamaño, automáticamente se dividiría en porciones menores, y cada bloque se guardará como un documento en la colección de bloques.

Cada documento de la colección de ficheros contiene el nombre de fichero, fecha de subida, y un código hash md5. También contiene un campo único _id, que se puede utilizar para consultar el contenido del fichero en la colección de bloques. Cada documento de la colección de bloques contiene un bloque de datos binarios, un campo files_id que se corresponde con el _id de su fichero, y la posición de este bloque respecto a los demás.

Por ejemplo, el documento de ficheros podría ser algo tal que así:

<?php
array("_id" => 123456789, "filename" => "foo.txt", "chunkSize" => 3, "length" => 12);
?>
mientras que los documentos de bloques:
<?php
array("files_id" => 123456789, "n" => 0, "data" => new MongoBinData("abc"));
array("files_id" => 123456789, "n" => 1, "data" => new MongoBinData("def"));
array("files_id" => 123456789, "n" => 2, "data" => new MongoBinData("ghi"));
array("files_id" => 123456789, "n" => 3, "data" => new MongoBinData("jkl"));
?>
Por supuesto, el tamaño por omisión de los bloques es de miles de bytes, pero eso lo haría un ejemplo impracticable.

Compatibilidad Entre Lenguajes

Se puede usar cualquier fichero creado con MongoGridFS con cualquier otro driver y viceversa. Sin embargo, algunos drivers esperan que todos los metadatos asociados con un fichero se encuentren en el campo "metadata". Si se preve que se utilizará con otros lenguajes, es una buena idea empaquetar en un campo "metadata" toda la información que se desee que vean. Por ejemplo, en lugar de:

<?php

$grid->storeFile("algunfichero.txt", array("date" => new MongoDate()));

?>

utilice algo así:

<?php

$grid->storeFile("algunfichero.txt", array("metadata" => array("date" => new MongoDate())));

?>

La Familia MongoGridFS

MongoGridFS representa los ficheros y las colecciones de bloques. MongoGridFS hereda MongoCollection. Las instancias de MongoGridFS tienen acceso a todos los métodos de MongoCollection, que actúan sobre las colecciones de ficheros:

<?php

$grid = $db->getGridFS();
$grid->update(array("filename" => "foo"), $newObj); // actualización en la colección de ficheros

?>

Otro ejemplo de manipulación de metadatos:

<?php

// guardar un fichero
$id = $grid->storeFile("juego.tgz");
$juego = $grid->findOne();

// añadir un contador de descargas
$juego->file['descargas'] = 0;
$grid->save($juego->file);

// incrementar el contador
$grid->update(array("_id" => $id), array('$inc' => array("descargas" => 1)));

?>

Se puede también acceder a los bloques de una colección a partir de una instancia de MongoGridFS:

<?php

  $chunks = $grid->chunks; // $chunks es un MongoCollection normal
$chunks->insert(array("x" => 4));

?>

Hay algunos métodos de MongoGridFS que comparten nombres con métodos de MongoCollection, pero que se comportan de un modo ligeramente diferente. Por ejemplo, MongoGridFS::remove() eliminará cualquier objeto, junto con su contenido en la colección de bloques, cuando se cumplan los criterios de la colección de ficheros.

Para almacenar cualquier otra cosa en GridFS, hay varias opciones. Si se tuviera un nombre de fichero, se podría hacer:

<?php

$grid->storeFile($filename, array("cualquier" => "metadato", "que" => "desee"));

?>

Si se tuviera un string de bytes que no fuera un fichero, se podrá tambien almacenar usando MongoGridFS::storeBytes():

<?php

$grid->storeBytes($bytes, array("cualquier" => "metadato", "que" => "desee"));

?>

Al consultar a una colección MongoGridFS, se devolverá un MongoGridFSCursor, que se comporta como un MongoCursor convencional, excepto que devuelve un MongoGridFSFiles en lugar de una matriz asociativa.

MongoGridFSFiles puede volver a escribirse en disco usando MongoGridFSFile::write(), o en memoria usando MongoGridFSFile::getBytes(). Actualmente no existe ningún método que cree automáticamente un flujo de bloques, pero resulta muy sencillo hacer escrituras realizando consultas a la colección $grid->chunks.

El objeto MongoGridFSFile contiene un campo file (fichero) que contiene cualquier metadato del fichero.

Sinopsis de la Clase

extends MongoCollection {
/* Campos */
public MongoCollection $chunks = NULL ;
protected string $filesName = NULL ;
protected string $chunksName = NULL ;
/* Métodos */
public __construct ( MongoDB $db [, string $prefix = "fs" [, mixed $chunks = "fs" ]] )
public bool delete ( mixed $id )
public array drop ( void )
public MongoGridFSCursor find ([ array $query = array() [, array $fields = array() ]] )
public MongoGridFSFile findOne ([ mixed $query = array() [, mixed $fields = array() ]] )
public MongoGridFSFile get ( mixed $id )
public mixed put ( string $filename [, array $metadata = array() ] )
public bool remove ([ array $criteria = array() [, array $options = array() ]] )
public mixed storeBytes ( string $bytes [, array $metadata = array() [, array $options = array() ]] )
public mixed storeFile ( string $filename [, array $metadata = array() [, array $options = array() ]] )
public mixed storeUpload ( string $name [, array $metadata ] )
}

Ver también

  • Documentación del núcleo de MongoDB sobre » GridFS
  • Entrada del blog de LightCube Solutions sobre » guardar subidas de usuario
  • Entrada del blog de LightCube Solutions sobre » añadir metadatos a ficheros

Tabla de contenidos

  • MongoGridFS::__construct — Crea una nueva colección de ficheros
  • MongoGridFS::delete — Elimina un fichero de la base de datos
  • MongoGridFS::drop — Da de baja una colección de ficheros y de bloques
  • MongoGridFS::find — Selecciona ficheros
  • MongoGridFS::findOne — Devuelve el fichero que cumpla las condiciones
  • MongoGridFS::get — Obtiene un fichero de la base de datos
  • MongoGridFS::put — Almacena un fichero en la base de datos
  • MongoGridFS::remove — Elimina ficheros de las colecciones
  • MongoGridFS::storeBytes — Almacena una cadena de bytes en la base de datos
  • MongoGridFS::storeFile — Almacena un fichero en la base de datos
  • MongoGridFS::storeUpload — Almacena un fichero subido en la base de datos
Clases de GridFS
MongoGridFS::__construct
Clases de GridFS


Crea una nueva colección de ficheros

MongoGridFS
MongoGridFS::delete
MongoGridFS
PHP Manual

MongoGridFS::__construct

(PECL mongo >=0.9.0)

MongoGridFS::__construct — Crea una nueva colección de ficheros

Descripción

public MongoGridFS::__construct ( MongoDB $db [, string $prefix = "fs" [, mixed $chunks = "fs" ]] )

Los ficheros se almacenan en dos colecciones. La primera contiene información descriptiva de los ficheros. La segunda contiene los bloques del contenido real del fichero. Por omisión, los nombres que se usan para las colecciones son fs.files y fs.chunks.

Mediante un argumento puede especificar un prefijo distinto a "fs":

$fs = new MongoGridFS($db, "misficheros");
esto utilizaría las colecciones misficheros.files y misficheros.chunks.

Parámetros

db

Base de datos.

files

Prefijo opcional para el nombre de la colección.

MongoGridFS
MongoGridFS::delete
MongoGridFS


Elimina un fichero de la base de datos

MongoGridFS::__construct
MongoGridFS::drop
MongoGridFS
PHP Manual

MongoGridFS::delete

(PECL mongo >=1.0.8)

MongoGridFS::delete — Elimina un fichero de la base de datos

Descripción

public bool MongoGridFS::delete ( mixed $id )

Parámetros

id

_id del fichero a eliminar.

Valores devueltos

Devuelve un indicador de si la orden de eliminación se envió o no con éxito a la base de datos.

MongoGridFS::__construct
MongoGridFS::drop
MongoGridFS


Da de baja una colección de ficheros y de bloques

MongoGridFS::delete
MongoGridFS::find
MongoGridFS
PHP Manual

MongoGridFS::drop

(PECL mongo >=0.9.0)

MongoGridFS::drop — Da de baja una colección de ficheros y de bloques

Descripción

public array MongoGridFS::drop ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Respuesta de la base de datos.

MongoGridFS::delete
MongoGridFS::find
MongoGridFS


Selecciona ficheros

MongoGridFS::drop
MongoGridFS::findOne
MongoGridFS
PHP Manual

MongoGridFS::find

(PECL mongo >=0.9.0)

MongoGridFS::find — Selecciona ficheros

Descripción

 public MongoGridFSCursor MongoGridFS::find
  ([ array $query = array()
 [, array $fields = array()
]] )

Parámetros

query

La consulta

fields

Campos que devolverá.

Valores devueltos

Un objeto de la clase MongoGridFSCursor.

MongoGridFS::drop
MongoGridFS::findOne
MongoGridFS


Devuelve el fichero que cumpla las condiciones

MongoGridFS::find
MongoGridFS::get
MongoGridFS
PHP Manual

MongoGridFS::findOne

(PECL mongo >=0.9.0)

MongoGridFS::findOne — Devuelve el fichero que cumpla las condiciones

Descripción

 public MongoGridFSFile MongoGridFS::findOne
  ([ mixed $query = array()
 [, mixed $fields = array()
]] )

Parámetros

query

El nombre del fichero o las condiciones de búsqueda.

Valores devueltos

Devuelve un MongoGridFSFile o NULL.

Ejemplos

Ejemplo #1 Ejemplo de MongoGridFS::findOne()

Ejemplo que muestra cómo localizar un fichero de MongoGridFS.

<?php

$descargas = $mongo->my_db->getGridFS('descargas');

$descargas->storeFile('nombredefichero.tgz');

$descarga = $downloads->findOne('nombredefichero.tgz'); // instancia de MongoGridFSFile

print_r($descarga);
?>

Vea MongoGridFSFile para más información sobre cómo trabajar con ficheros.

El resultado del ejemplo sería algo similar a:

MongoGridFSFile Object
(
    [file] => Array
        (
            [_id] => MongoId Object
                (
                )

            [filename] => nombredefichero.tgz
            [uploadDate] => MongoDate Object
                (
                    [sec] => 1274288014
                    [usec] => 467000
                )

            [chunkSize] => 262144
            [md5] => d41d8cd98f00b204e9800998ecf8427e
        )

    [gridfs:protected] => MongoGridFS Object
        (
            [chunks] => MongoCollection Object
                (
                )

            [filesName:protected] => descargas.files
            [chunksName:protected] => descargas.chunks
        )

)
MongoGridFS::find
MongoGridFS::get
MongoGridFS


Obtiene un fichero de la base de datos

MongoGridFS::findOne
MongoGridFS::put
MongoGridFS
PHP Manual

MongoGridFS::get

(PECL mongo >=1.0.8)

MongoGridFS::get — Obtiene un fichero de la base de datos

Descripción

public MongoGridFSFile MongoGridFS::get ( mixed $id )

Parámetros

id

_id del fichero a localizar.

Valores devueltos

Devuelve el fichero si se le encuentra, o NULL.

MongoGridFS::findOne
MongoGridFS::put
MongoGridFS


Almacena un fichero en la base de datos

MongoGridFS::get
MongoGridFS::remove
MongoGridFS
PHP Manual

MongoGridFS::put

(PECL mongo >=1.0.8)

MongoGridFS::put — Almacena un fichero en la base de datos

Descripción

public mixed MongoGridFS::put ( string $filename [, array $metadata = array() ] )

Parámetros

filename

El nombre del fichero a almacenar.

metadata

Otros campos de metadatos a incluir en el documento de fichero.

Nota:

Estos cambpos podrían sobrescribir aquellos que serían creados automáticamente por el controlador, tal como está descrito es la documentación del núcleo de MongoDB para las » colecciones de ficheros. Algunos casos prácticos para este comportamiento serían especificar un chunkSize o _id personalizados para un fichero.

Valores devueltos

Devuelve el _id del documento de fichero guardado. Será un MongoId generado a menos que unless sea especificado explícitamente un _id en el parámetro extra.

Ver también

  • MongoGridFS::storeBytes() - Almacena una cadena de bytes en la base de datos
  • MongoGridFS::storeFile() - Almacena un fichero en la base de datos
  • MongoGridFS::storeUpload() - Almacena un fichero subido en la base de datos
  • Documentación del núcleo de MongoDB sobre » GridFS
MongoGridFS::get
MongoGridFS::remove
MongoGridFS


Elimina ficheros de las colecciones

MongoGridFS::put
MongoGridFS::storeBytes
MongoGridFS
PHP Manual

MongoGridFS::remove

(PECL mongo >=0.9.0)

MongoGridFS::remove — Elimina ficheros de las colecciones

Descripción

 public bool MongoGridFS::remove
  ([ array $criteria = array()
 [, array $options = array()
]] )

Parámetros

query

Nombre de fichero o condiciones de búsqueda.

options

Opciones para la eliminación. Las opciones válidas son:

  • "w"

    Véase WriteConcerns. El valor predeterminado de MongoClient es 1.

Valores devueltos

Devuelve un indicador sobre si la eliminación se envió o no con éxito a la base de datos.

MongoGridFS::put
MongoGridFS::storeBytes
MongoGridFS


Almacena una cadena de bytes en la base de datos

MongoGridFS::remove
MongoGridFS::storeFile
MongoGridFS
PHP Manual

MongoGridFS::storeBytes

(PECL mongo >=0.9.2)

MongoGridFS::storeBytes — Almacena una cadena de bytes en la base de datos

Descripción

public mixed MongoGridFS::storeBytes ( string $bytes [, array $metadata = array() [, array $options = array() ]] )

Parámetros

bytes

Un string de bytes a almacenar.

metadata

Otros campos de metadatos a incluir en el documento de fichero.

Nota:

Estos cambpos podrían sobrescribir aquellos que serían creados automáticamente por el controlador, tal como está descrito es la documentación del núcleo de MongoDB para las » colecciones de ficheros. Algunos casos prácticos para este comportamiento serían especificar un chunkSize o _id personalizados para un fichero.

options

Opciones para el almacenamiento.

  • "w"

    Véase WriteConcerns. El valor predeterminado de MongoClient es 1.

Valores devueltos

Devuelve el _id del documento de fichero guardado. Será un MongoId generado a menos que unless sea especificado explícitamente un _id en el parámetro extra.

Errores/Excepciones

Lanza una MongoCursorException si la opción "w" está establecida y la escritura falla.

Lanza una MongoCursorTimeoutException si la opción "w" está establecida a un valor mayor que uno y la operación toma más de MongoCursor::$timeout milisegundos en completarse. Esto no pondrá fin a la operación en el servidor, es un tiempo de espera del lado del cliente. La operación en MongoCollection::$wtimeout es milisegundos.

Ejemplos

Ejemplo #1 MongoGridFS::storeBytes() com metadatos adicionales

<?php
$m = new MongoClient();
$gridfs = $m->selectDB('test')->getGridFS();

$bytes = 'abcdefghijklmnopqrstuvwxyz';
$id = $gridfs->storeBytes($bytes, array('_id' => 'alphabet'));
$gridfsFile = $gridfs->get($id);

var_dump($gridfsFile->file);
?>

El resultado del ejemplo sería algo similar a:

array(7) {
  ["_id"]=>
  string(8) "alphabet"
  ["uploadDate"]=>
  object(MongoDate)#7 (0) {
  }
  ["length"]=>
  int(26)
  ["chunkSize"]=>
  int(262144)
  ["md5"]=>
  string(32) "c3fcd3d76192e4007dfb496cca67e13b"
}

Ver también

  • MongoGridFS::put() - Almacena un fichero en la base de datos
  • MongoGridFS::storeFile() - Almacena un fichero en la base de datos
  • MongoGridFS::storeUpload() - Almacena un fichero subido en la base de datos
  • Documentación del núcleo de MongoDB sobre » GridFS
MongoGridFS::remove
MongoGridFS::storeFile
MongoGridFS


Almacena un fichero en la base de datos

MongoGridFS::storeBytes
MongoGridFS::storeUpload
MongoGridFS
PHP Manual

MongoGridFS::storeFile

(PECL mongo >=0.9.0)

MongoGridFS::storeFile — Almacena un fichero en la base de datos

Descripción

public mixed MongoGridFS::storeFile ( string $filename [, array $metadata = array() [, array $options = array() ]] )

Parámetros

filename

El nombre del fichero a almacenar.

metadata

Otros campos de metadatos a incluir en documento de fichero.

Nota:

Estos cambpos podrían sobrescribir aquellos que serían creados automáticamente por el controlador, tal como está descrito es la documentación del núcleo de MongoDB para las » colecciones de ficheros. Algunos casos prácticos para este comportamiento serían especificar un chunkSize o _id personalizados para un fichero.

options

Opciones para el almacenamiento.

  • "w"

    Véase WriteConcerns. El valor predeterminado de MongoClient es 1.

Valores devueltos

Devuelve el _id del documento de fichero guardado. Será un MongoId generado a menos que unless sea especificado explícitamente un _id en el parámetro extra.

Errores/Excepciones

Lanza una MongoCursorException si la opción "w" está establecida y la escritura falla.

Lanza una MongoCursorTimeoutException si la opción "w" está establecida a un valor mayor que uno y la operación toma más de MongoCursor::$timeout milisegundos en completarse. Esto no pondrá fin a la operación en el servidor, es un tiempo de espera del lado del cliente. La operación en MongoCollection::$wtimeout es milisegundos.

Ejemplos

Ejemplo #1 MongoGridFS::storeFile() con metadatos adicionales

<?php
$m = new MongoClient();
$gridfs = $m->selectDB('test')->getGridFS();

$id = $gridfs->storeFile('example.txt', array('contentType' => 'plain/text'));
$gridfsFile = $gridfs->get($id);

var_dump($gridfsFile->file);
?>

El resultado del ejemplo sería algo similar a:

array(7) {
  ["_id"]=>
  object(MongoId)#6 (0) {
  }
  ["contentType"]=>
  string(10) "plain/text"
  ["filename"]=>
  string(11) "example.txt"
  ["uploadDate"]=>
  object(MongoDate)#7 (0) {
  }
  ["length"]=>
  int(26)
  ["chunkSize"]=>
  int(262144)
  ["md5"]=>
  string(32) "c3fcd3d76192e4007dfb496cca67e13b"
}

Ver también

  • MongoGridFS::put() - Almacena un fichero en la base de datos
  • MongoGridFS::storeBytes() - Almacena una cadena de bytes en la base de datos
  • MongoGridFS::storeUpload() - Almacena un fichero subido en la base de datos
  • Documentación del núcleo de MongoDB sobre » GridFS
MongoGridFS::storeBytes
MongoGridFS::storeUpload
MongoGridFS


Almacena un fichero subido en la base de datos

MongoGridFS::storeFile
MongoGridFSFile
MongoGridFS
PHP Manual

MongoGridFS::storeUpload

(PECL mongo >=0.9.0)

MongoGridFS::storeUpload — Almacena un fichero subido en la base de datos

Descripción

public mixed MongoGridFS::storeUpload ( string $name [, array $metadata ] )

Parámetros

name

El nombre del fichero subido a almacenar. Debería corresponder con el atributo name del campo del fichero del formulario HTML.

metadata

Otros campos de metadatos a incluir en el documento de fichero.

Nota:

Estos cambpos podrían sobrescribir aquellos que serían creados automáticamente por el controlador, tal como está descrito es la documentación del núcleo de MongoDB para las » colecciones de ficheros. Algunos casos prácticos para este comportamiento serían especificar un chunkSize o _id personalizados para un fichero.

Nota:

El índice filename será rellenado con el nombre de fichero utilizado.

Valores devueltos

Devuelve el _id del documento de fichero guardado. Será un MongoId generado a menos que unless sea especificado explícitamente un _id en el parámetro extra.

Historial de cambios

Versión | Descripción
1.2.5 | Cambiado el segundo parámetro a un array de metadatos. Antes de la versión 1.2.5, el segundo parámetro fue un string opcional reemplazando el nombre de archivo.

Ejemplos

Ejemplo #1 Ejemplo de forumulario HTML con MongoGridFS::storeUpload()

Suponga que tiene el siguiente formulario HTML:

<form method="POST" enctype="multipart/form-data">
    <label for="username">Username:</label>
    <input type="text" name="username" id="username" />

    <label for="pic">Please upload a profile picture:</label>
    <input type="file" name="pic" id="pic" />

    <input type="submit" />
</form>

Si se quiere almacenar la imagen subida en MongoDB, podría realizarse lo siguiente en el script manejando el envío del formulario:

<?php
$m = new MongoClient();
$gridfs = $m->selectDB('test')->getGridFS();

$gridfs->storeUpload('pic', array('username' => $_POST['username']));
?>

Ver también

  • MongoGridFS::put() - Almacena un fichero en la base de datos
  • MongoGridFS::storeBytes() - Almacena una cadena de bytes en la base de datos
  • MongoGridFS::storeFile() - Almacena un fichero en la base de datos
  • Documentación del núcleo de MongoDB sobre » GridFS
MongoGridFS::storeFile
MongoGridFSFile
MongoGridFS


Clase MongoGridFSFile

(PECL mongo >=0.9.0)

Introducción

Objeto fichero de una base de datos.

Sinopsis de la Clase

MongoGridFSFile {
/* Campos */
public array $file = NULL ;
protected MongoGridFS $gridfs = NULL ;
/* Métodos */
public MongoGridfsFile::__construct ( MongoGridFS $gridfs , array $file )
public string getBytes ( void )
public string getFilename ( void )
public stream getResource ( void )
public int getSize ( void )
public int write ([ string $filename = NULL ] )
}

Tabla de contenidos

  • MongoGridfsFile::__construct — Crea un nuevo fichero GridFS
  • MongoGridFSFile::getBytes — Devuelve el contenido de este fichero en forma de string de bytes
  • MongoGridFSFile::getFilename — Devuelve el nombre de este fichero
  • MongoGridFSFile::getResource — Devuelve un recurso que puede usarse para leer el fichero almacenado
  • MongoGridFSFile::getSize — Devuelve el tamaño de este fichero
  • MongoGridFSFile::write — Escribe este fichero en disco
MongoGridFS::storeUpload
MongoGridfsFile::__construct
Clases de GridFS


Crea un nuevo fichero GridFS

MongoGridFSFile
MongoGridFSFile::getBytes
MongoGridFSFile
PHP Manual

MongoGridfsFile::__construct

(PECL mongo >=0.9.0)

MongoGridfsFile::__construct — Crea un nuevo fichero GridFS

Descripción

public MongoGridfsFile::__construct ( MongoGridFS $gridfs , array $file )

Parámetros

gridfs

La instancia padre de MongoGridFS.

file

Un fichero de la base de datos.

Valores devueltos

Devuelve un nuevo MongoGridFSFile.

MongoGridFSFile
MongoGridFSFile::getBytes
MongoGridFSFile


Devuelve el contenido de este fichero en forma de string de bytes

MongoGridfsFile::__construct
MongoGridFSFile::getFilename
MongoGridFSFile
PHP Manual

MongoGridFSFile::getBytes

(PECL mongo >=0.9.0)

MongoGridFSFile::getBytes — Devuelve el contenido de este fichero en forma de string de bytes

Descripción

public string MongoGridFSFile::getBytes ( void )

Aviso: se cargará el fichero en memoria. Si el fichero es de mayor tamaño que la memoria, provocará un problema.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un string con los bytes del fichero.

Ejemplos

Ejemplo #1 Ejemplo de MongoGridFSFile::getBytes()

<?php

$images = $db->my_db->getGridFS('images');

$image = $images->findOne('jwage.png');

header('Content-type: image/png;');
echo $image->getBytes();
?>
MongoGridfsFile::__construct
MongoGridFSFile::getFilename
MongoGridFSFile


Devuelve el nombre de este fichero

MongoGridFSFile::getBytes
MongoGridFSFile::getResource
MongoGridFSFile
PHP Manual

MongoGridFSFile::getFilename

(PECL mongo >=0.9.0)

MongoGridFSFile::getFilename — Devuelve el nombre de este fichero

Descripción

public string MongoGridFSFile::getFilename ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el nombre de fichero.

MongoGridFSFile::getBytes
MongoGridFSFile::getResource
MongoGridFSFile


Devuelve un recurso que puede usarse para leer el fichero almacenado

MongoGridFSFile::getFilename
MongoGridFSFile::getSize
MongoGridFSFile
PHP Manual

MongoGridFSFile::getResource

(PECL mongo >=1.3.0)

MongoGridFSFile::getResource — Devuelve un recurso que puede usarse para leer el fichero almacenado

Descripción

public stream MongoGridFSFile::getResource ( void )

Este método devuelve un recurso de flujo que puede usarse con todas las funciones de ficheros de PHP que traten con la lectura de ficheros. El contenido del fichero es extraído de MongoDB al vuelo, por lo que el fichero no tiene que ser cargado primero en memoria.

Se cargarán al menos dos trozos de GridFSFile en memoria.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un recurso que puede usarse para leer el fichero

Ejemplos

Ejemplo #1 Ejemplo de MongoGridFSFile::getResource()

<?php
$m = new Mongo;
$imágenes = $m->my_db->getGridFS('images');

$imagen = $imágenes->findOne('mongo.png');

header('Content-type: image/png;');
$flujo = $imagen->getResource();

while (!feof($flujo)) {
    echo fread($flujo, 8192);
}
?>
MongoGridFSFile::getFilename
MongoGridFSFile::getSize
MongoGridFSFile


Devuelve el tamaño de este fichero

MongoGridFSFile::getResource
MongoGridFSFile::write
MongoGridFSFile
PHP Manual

MongoGridFSFile::getSize

(PECL mongo >=0.9.0)

MongoGridFSFile::getSize — Devuelve el tamaño de este fichero

Descripción

public int MongoGridFSFile::getSize ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el tamaño de este fichero

MongoGridFSFile::getResource
MongoGridFSFile::write
MongoGridFSFile


Escribe este fichero en disco

MongoGridFSFile::getSize
MongoGridFSCursor
MongoGridFSFile
PHP Manual

MongoGridFSFile::write

(PECL mongo >=0.9.0)

MongoGridFSFile::write — Escribe este fichero en disco

Descripción

public int MongoGridFSFile::write ([ string $filename = NULL ] )

Parámetros

filename

La ubicación en la que se escribirá el fichero. Si no se da ninguno, se usará el nombre del fichero almacenado.

Valores devueltos

Devuelve el número de bytes escritos.

Ejemplos

Ejemplo #1 Ejemplo de MongoGridFSFile::write()

<?php

$images = $db->my_db->getGridFS('images');

$image = $images->findOne('jwage.png');
$image->write('/path/to/write/jwage.png');
?>
MongoGridFSFile::getSize
MongoGridFSCursor
MongoGridFSFile


Clase MongoGridFSCursor

(PECL mongo >=0.9.0)

Introducción

Cursor para los resultados de ficheros de bases de datos.

Sinopsis de la Clase

extends MongoCursor {
/* Campos */
protected MongoGridFS $gridfs = NULL ;
/* Métodos */
public __construct ( MongoGridFS $gridfs , resource $connection , string $ns , array $query , array $fields )
public MongoGridFSFile current ( void )
public MongoGridFSFile getNext ( void )
public string key ( void )
}

Tabla de contenidos

  • MongoGridFSCursor::__construct — Crea un nuevo cursor
  • MongoGridFSCursor::current — Devuelve el fichero actual
  • MongoGridFSCursor::getNext — Devuelve el siguiente fichero al que apunta este cursor, y avanza el cursor
  • MongoGridFSCursor::key — Devuelve el nombre de fichero del resultado actual
MongoGridFSFile::write
MongoGridFSCursor::__construct
Clases de GridFS


Crea un nuevo cursor

MongoGridFSCursor
MongoGridFSCursor::current
MongoGridFSCursor
PHP Manual

MongoGridFSCursor::__construct

(PECL mongo >=0.9.0)

MongoGridFSCursor::__construct — Crea un nuevo cursor

Descripción

public MongoGridFSCursor::__construct ( MongoGridFS $gridfs , resource $connection , string $ns , array $query , array $fields )

Parámetros

gridfs

Colección GridFS relacionada.

connection

Conexión a la base de datos.

ns

Nombre completo de la base de datos y de la colección.

query

Consulta a la base de datos.

fields

Campos que se desea obtener.

Valores devueltos

Devuelve el nuevo cursor.

MongoGridFSCursor
MongoGridFSCursor::current
MongoGridFSCursor


Devuelve el fichero actual

MongoGridFSCursor::__construct
MongoGridFSCursor::getNext
MongoGridFSCursor
PHP Manual

MongoGridFSCursor::current

(PECL mongo >=0.9.0)

MongoGridFSCursor::current — Devuelve el fichero actual

Descripción

public MongoGridFSFile MongoGridFSCursor::current ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Fichero actual.

MongoGridFSCursor::__construct
MongoGridFSCursor::getNext
MongoGridFSCursor


Devuelve el siguiente fichero al que apunta este cursor, y avanza el cursor

MongoGridFSCursor::current
MongoGridFSCursor::key
MongoGridFSCursor
PHP Manual

MongoGridFSCursor::getNext

(PECL mongo >=0.9.0)

MongoGridFSCursor::getNext — Devuelve el siguiente fichero al que apunta este cursor, y avanza el cursor

Descripción

public MongoGridFSFile MongoGridFSCursor::getNext ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el siguiente fichero.

MongoGridFSCursor::current
MongoGridFSCursor::key
MongoGridFSCursor


Devuelve el nombre de fichero del resultado actual

MongoGridFSCursor::getNext
Miscelánea
MongoGridFSCursor
PHP Manual

MongoGridFSCursor::key

(PECL mongo >=0.9.0)

MongoGridFSCursor::key — Devuelve el nombre de fichero del resultado actual

Descripción

public string MongoGridFSCursor::key ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El _id del resultado actual como cadena.

Historial de cambios

Versión | Descripción
1.3.0 | El _id del documento es devuelto como un valor de tipo string, ya que la clave debería ser única. Antes de la versión 1.3.0, se devolvía filename.

MongoGridFSCursor::getNext
Miscelánea
MongoGridFSCursor


Miscelánea

Tabla de contenidos

  • MongoLog
  • MongoPool
  • Mongo
MongoGridFSCursor::key
MongoLog
Mongo


La clase MongoLog

(PECL mongo >=1.2.3)

Introducción

El registro se puede usar para obetner información detallada de lo que está haciendo el controlador. El mecanismo de registro como lo usa MongoLog emite todos los mensajes de registro como un aviso de PHP. Dependiendo de la interfaz del servidor que se use, esto significa que serán enviados a strerr (con PHP-CLI), o, de lo contrario, al registro de errores del servidor web. Para que PHP pueda imprimir los mensajes de registro, no se neceistan configurar sus niveles (E_NOTICE) para que sean mostrados. Esto significa que el bit de E_NOTICE necesita ser parte del nivel de error_reporting y que display_errors esté establecido a 1.

Por omisión, el registro está deshabilitado. Esta clase permite habilitar niveles específicos de informes para determinadas áreas del driver. Algunos ejemplos:

<?php

// muestra todos los mensajes posibles
MongoLog::setLevel(MongoLog::ALL); // todos los niveles de registros
MongoLog::setModule(MongoLog::ALL); // todas las partes del driver

// muestra eventos significativos sobre fallos en conjuntos de réplicas
MongoLog::setLevel(MongoLog::INFO);
MongoLog::setModule(MongoLog::RS);

// muestra registros de nivel de información y de ajustes sobre conjuntos de réplicas y sobre agrupamientos de conexiones
MongoLog::setLevel(MongoLog::INFO|MongoLog::FINE);
MongoLog::setModule(MongoLog::RS|MongoLog::POOL);

?>

Sinopsis de la Clase

MongoLog {
/* Constantes */
const int NONE = 0 ;
const int ALL = 31 ;
constantes de niveles {
const int WARNING = 1 ;
const int INFO = 2 ;
const int FINE = 4 ;
constantes de módulos {
const int RS = 1 ;
const int POOL = 2 ;
const int IO = 4 ;
const int SERVER = 8 ;
const int PARSE = 16 ;
/* Campos */
public int $level ;
public int $module ;
/* Métodos */
public static void getCallback ( void )
public static int getLevel ( void )
public static int getModule ( void )
public static void setCallback ( callable $log_function )
public static void setLevel ( int $level )
public static void setModule ( int $module )
}

Constantes predefinidas

Constantes de MongoLog

Estas constantes pueden usarse tanto por MongoLog::setLevel() como por MongoLog::setModule().

MongoLog::NONE
Constante para deshabilitar los registros.
MongoLog::ALL
Constante para notificar todos los registros.

Constantes de Nivel de MongoLog

Estas constantes pueden usarse por MongoLog::setLevel().

MongoLog::WARNING
Muestra mensajes sobre situaciones excepcionales no críticas.
MongoLog::INFO
Muestra eventos que pudieran ser de interes para administradores, pero no especialmente notorios.
MongoLog::FINE
Muestra la mayor parte de eventos que realiza el driver. Dependiendo del módulo que se esté analizando, este nivel podría ser demasiado ruidoso. Se usa principalmente para depuración.

Constantes de módulos de MongoLog

Estas constantes pueden usarse por MongoLog::setModule().

MongoLog::IO
Crea registros del tráfico generado de y desde la base de datos. A no ser que se trate de un programa trivial, esto creará un gran volumen de registros.
MongoLog::PARSE
Crear registro de los análisis de textos realizados.
MongoLog::POOL
Registra las actividades de los agrupamientos de conexiones. Creación de nuevas conexiones, reutilización de conexiones, y cierre de conexiones.
MongoLog::RS
Registra las actividades de los conjuntos de réplicas. Caídas, comprobaciones, elección de secundarios a los que leer, etc..
MongoLog::SERVER
Registra cambios de estado en el servidor. Detecta en primarios, secundarios y en duplicados.

Tabla de contenidos

  • MongoLog::getCallback — Recupera el nombre de la función de llamada de retorno establecida anteriormente
  • MongoLog::getLevel — Obtiene el nivel de registro
  • MongoLog::getModule — Devuelve los módulos que están actualmente se están registrando
  • MongoLog::setCallback — Establece una función de llamada de retorno para ser invocada en eventos
  • MongoLog::setLevel — Establece el nivel de informe de mensajes
  • MongoLog::setModule — Establece de qué funcionalidades se deben notificar eventos
Miscelánea
MongoLog::getCallback
Miscelánea


Recupera el nombre de la función de llamada de retorno establecida anteriormente

MongoLog
MongoLog::getLevel
MongoLog
PHP Manual

MongoLog::getCallback

(PECL mongo >= 1.3.0)

MongoLog::getCallback — Recupera el nombre de la función de llamada de retorno establecida anteriormente

Descripción

public static void MongoLog::getCallback ( void )

Recupera el nombre de la función de llamada de retorno.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el nombre de la función de llamada de retorno, o FALSE si aún no se ha establecido.

MongoLog
MongoLog::getLevel
MongoLog


Obtiene el nivel de registro

MongoLog::getCallback
MongoLog::getModule
MongoLog
PHP Manual

MongoLog::getLevel

(PECL mongo >= 1.2.3)

MongoLog::getLevel — Obtiene el nivel de registro

Descripción

public static int MongoLog::getLevel ( void )

Esto puede ser usado para ver el nivel de registro. Utilice las constantes descritas en la sección MongoLog con los operadores bit a bit para comprobar el nivel.

<?php

if (MongoLog::getLevel() & MongoLog::FINE) {
    echo "un montón de logs\n";
}

if (MongoLog::getLevel() ^ MongoLog::NONE) {
    echo "logging, al menos un poco\n";
}

if (MongoLog::getLevel() == MongoLog::ALL) {
    echo "logging al más alto nivel\n";
}

?>

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el nivel actual.

MongoLog::getCallback
MongoLog::getModule
MongoLog


Devuelve los módulos que están actualmente se están registrando

MongoLog::getLevel
MongoLog::setCallback
MongoLog
PHP Manual

MongoLog::getModule

(PECL mongo >= 1.2.3)

MongoLog::getModule — Devuelve los módulos que están actualmente se están registrando

Descripción

public static int MongoLog::getModule ( void )

Esta función se puede usar para conocer qué partes del driver se están registrando. Utilice las constantes descritas en la sección de MongoLog con operadores a nivel de bits para comprobar si algún módulo específico está siendo registrado.

<?php

if (MongoLog::getModule() & MongoLog::RS) {
    echo "registrando conjuntos de réplicas\n";
}

if (MongoLog::getModule() ^ MongoLog::NONE) {
    echo "registrando algo\n";
}

if ((MongoLog::getModule() & MongoLog::IO) == 0) {
    echo "no se están registrando entradas/salidas\n";
}

?>

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve los módulos que actualmente se están registrando.

MongoLog::getLevel
MongoLog::setCallback
MongoLog


Establece una función de llamada de retorno para ser invocada en eventos

MongoLog::getModule
MongoLog::setLevel
MongoLog
PHP Manual

MongoLog::setCallback

(PECL mongo >= 1.3.0)

MongoLog::setCallback — Establece una función de llamada de retorno para ser invocada en eventos

Descripción

public static void MongoLog::setCallback ( callable $log_function )

Esta función establecerá una función de llamada de retorno par ser invocada por eventos de MongoLog en lugar de por advertencias desdencadenadas.

Parámetros

log_function

La función a llamar en eventos.

La función debería tener el siguiente prototipo

log_function ( int $module , int $level , string $message )
module
Una de las constantes de módulo de MongoLog.
level
Una de las constantes de nivel de MongoLog.
message
El mensaje de registro mismo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de MongoLog::setCallback()

<?php
function module2string($module)
{
    switch ($module) {
        case MongoLog::RS: return "REPLSET";
        case MongoLog::CON: return "CON";
        case MongoLog::IO: return "IO";
        case MongoLog::SERVER: return "SERVER";
        case MongoLog::PARSE: return "PARSE";
        default: return "UNKNOWN";
    }
}

function level2string($level)
{
    switch ($level) {
        case MongoLog::WARNING: return "WARN";
        case MongoLog::INFO: return "INFO";
        case MongoLog::FINE: return "FINE";
        default: var_dump($level); return "UNKNOWN";
    }
}

function callback($module, $level, $message)
{
    echo date("Y-m-d H:i:s - ");
    printf("%s (%s): %s\n", module2string($module), level2string($level), $message);
}

MongoLog::setLevel(MongoLog::ALL);
MongoLog::setModule(MongoLog::ALL);
MongoLog::setCallback("callback");

new MongoClient();
?>

El resultado del ejemplo sería algo similar a:

2013-07-09 09:41:42 - PARSE (INFO): Parsing localhost:27017
2013-07-09 09:41:42 - PARSE (INFO): - Found node: localhost:27017
2013-07-09 09:41:42 - PARSE (INFO): - Connection type: STANDALONE
2013-07-09 09:41:42 - CON (INFO): mongo_get_read_write_connection: finding a STANDALONE connection
2013-07-09 09:41:42 - CON (INFO): connection_create: creating new connection for localhost:27017
2013-07-09 09:41:42 - CON (INFO): stream_connect: Not establishing SSL for localhost:27017
2013-07-09 09:41:42 - CON (INFO): get_server_flags: start
2013-07-09 09:41:42 - CON (FINE): send_packet: read from header: 36
2013-07-09 09:41:42 - CON (FINE): send_packet: data_size: 95
2013-07-09 09:41:42 - CON (FINE): get_server_flags: setting maxBsonObjectSize to 16777216
2013-07-09 09:41:42 - CON (FINE): get_server_flags: setting maxMessageSizeBytes to 48000000
2013-07-09 09:41:42 - CON (INFO): is_ping: pinging localhost:27017;-;.;1543
2013-07-09 09:41:42 - CON (FINE): send_packet: read from header: 36
2013-07-09 09:41:42 - CON (FINE): send_packet: data_size: 17
2013-07-09 09:41:42 - CON (INFO): is_ping: last pinged at 1373359302; time: 0ms
2013-07-09 09:41:42 - REPLSET (FINE): finding candidate servers
2013-07-09 09:41:42 - REPLSET (FINE): - all servers
2013-07-09 09:41:42 - REPLSET (FINE): filter_connections: adding connections:
2013-07-09 09:41:42 - REPLSET (FINE): - connection: type: STANDALONE, socket: 42, ping: 0, hash: localhost:27017;-;.;1543
2013-07-09 09:41:42 - REPLSET (FINE): filter_connections: done
2013-07-09 09:41:42 - REPLSET (FINE): limiting by seeded/discovered servers
2013-07-09 09:41:42 - REPLSET (FINE): - connection: type: STANDALONE, socket: 42, ping: 0, hash: localhost:27017;-;.;1543
2013-07-09 09:41:42 - REPLSET (FINE): limiting by seeded/discovered servers: done
2013-07-09 09:41:42 - REPLSET (FINE): limiting by credentials
2013-07-09 09:41:42 - REPLSET (FINE): - connection: type: STANDALONE, socket: 42, ping: 0, hash: localhost:27017;-;.;1543
2013-07-09 09:41:42 - REPLSET (FINE): limiting by credentials: done
2013-07-09 09:41:42 - REPLSET (FINE): sorting servers by priority and ping time
2013-07-09 09:41:42 - REPLSET (FINE): - connection: type: STANDALONE, socket: 42, ping: 0, hash: localhost:27017;-;.;1543
2013-07-09 09:41:42 - REPLSET (FINE): sorting servers: done
2013-07-09 09:41:42 - REPLSET (FINE): selecting near servers
2013-07-09 09:41:42 - REPLSET (FINE): selecting near servers: nearest is 0ms
2013-07-09 09:41:42 - REPLSET (FINE): - connection: type: STANDALONE, socket: 42, ping: 0, hash: localhost:27017;-;.;1543
2013-07-09 09:41:42 - REPLSET (FINE): selecting near server: done
2013-07-09 09:41:42 - REPLSET (INFO): pick server: random element 0
2013-07-09 09:41:42 - REPLSET (INFO): - connection: type: STANDALONE, socket: 42, ping: 0, hash: localhost:27017;-;.;1543

Notas

Precaución

Esta función solamente está disponible con PHP 5.3.0 y posterior.

MongoLog::getModule
MongoLog::setLevel
MongoLog


Establece el nivel de informe de mensajes

MongoLog::setCallback
MongoLog::setModule
MongoLog
PHP Manual

MongoLog::setLevel

(PECL mongo >= 1.2.3)

MongoLog::setLevel — Establece el nivel de informe de mensajes

Descripción

public static void MongoLog::setLevel ( int $level )

Esta función se puede usar para establecer el nivel de detalles que se mostrarán, así como el tipo de información que se registrará. Utilice las constantes descritas en la sección MongoLog con operadores a nivel de bits para especificar estos niveles.

<?php

// primero, habilitamos todos los mensajes para un módulo
MongoLog::setModule(MongoLog::POOL);

// registramos los mensajes de todos los niveles
MongoLog::setLevel(MongoLog::ALL);

// registramos mensaje de tipo 'aviso' e informativos
MongoLog::setLevel(MongoLog::WARNING|MongoLog::INFO);

// registramos todo, excepto actividades de grano fino
MongoLog::setLevel(MongoLog::ALL & (~MongoLog::FINE));

?>

Tenga presente que también puede llamar a MongoLog::setModule() para escoger qué partes del driver registrar.

Parámetros

level

Nivel que se desea registrar.

MongoLog::setCallback
MongoLog::setModule
MongoLog


Establece de qué funcionalidades se deben notificar eventos

MongoLog::setLevel
MongoPool
MongoLog
PHP Manual

MongoLog::setModule

(PECL mongo >= 1.2.3)

MongoLog::setModule — Establece de qué funcionalidades se deben notificar eventos

Descripción

public static void MongoLog::setModule ( int $module )

Esta función puede usarse para establecer de qué partes del driver se deben registrar eventos. Para especificar los módulos, utilice las constantes descritas en la sección MongoLog con operadores a nivel de bits.

<?php

// primero, habilitamos todos los niveles de registro
MongoLog::setLevel(MongoLog::ALL);

// registramos las actividades de conjuntos de réplicas
MongoLog::setModule(MongoLog::RS);

// registramos las actividades de conjuntos de réplicas y de agrupamientos de conexiones
MongoLog::setModule(MongoLog::RS|MongoLog::ALL);

// registramos todo excepto actividades de E/S
MongoLog::setModule(MongoLog::ALL & (~MongoLog::IO));

?>

Tenga presente que también se puede invocar a MongoLog::setLevel() para habilitar el registro de mensajes.

Parámetros

module

El/los módulo/s que desea registrar.

MongoLog::setLevel
MongoPool
MongoLog


La clase MongoPool

(PECL mongo >= 1.2.3)

Introducción

Advertencia

Las versioines actuales (1.3.0+) del controlador ya no implementa el agrupamiento. Esta clase y sus métodos están, por lo tanto, obsoletos y no deberían usarse.

Sinopsis de la Clase

MongoPool {
/* Métodos */
public static int getSize ( void )
public array info ( void )
public static bool setSize ( int $size )
}

Historial de cambios

Versión | Descripción
1.3.0 | Esta funcionalidad ha sido eliminada y ya no hace otra cose que emitir advertencias de obsolescencia. Esta clase solamente se mantiene por retrocompatibilidad y será eliminada en el futuro.
1.2.11 | Emite un error de nivel E_DEPRECATED cuando se usa.

Tabla de contenidos

  • MongoPool::getSize — Devuelve el tamaño actual de un agrupamiento de conexiones
  • MongoPool::info — Devuelve información sobre todos los agrupamientos de conexiones
  • MongoPool::setSize — Establece el tamaño de los nuevos agrupamientos de conexiones
MongoLog::setModule
MongoPool::getSize
Miscelánea


Devuelve el tamaño actual de un agrupamiento de conexiones

MongoPool
MongoPool::info
MongoPool
PHP Manual

MongoPool::getSize

(PECL mongo >= 1.2.3)

MongoPool::getSize — Devuelve el tamaño actual de un agrupamiento de conexiones

Descripción

public static int MongoPool::getSize ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el tamaño del agrupamiento actual.

Historial de cambios

Versión | Descripción
1.2.11 | Emite un error de nivel E_DEPRECATED cuando se usa.

Ejemplos

Ejemplo #1 Cambiar el tamaño de un agrupamiento

Devuelve el tamaño predeterminado del agrupamiento, esatblece un nuevo tamaño, y muestra el nuevo tamaño junto con información de depuración. Nótese que el cambio del tamaño del agrupamiento sólo afecta a los nuevos agrupamientos de conexiones; no modifica las anteriores.

<?php

$conexión = new Mongo("host1");

// el tamaño del agrupamiento es -1
echo "el tamaño del agrupamiento es: ".MongoPool::getSize()."\n";

echo "establecer el tamaño del agrupamiento a 200\n";

MongoPool::setSize(200);

// el tamaño del agrupamiento es 200
echo "es tamaño del agrupamiento es: ".MongoPool::getSize()."\n";

$conexión2 = new Mongo("host2");

// conexiones disponibles en host1: -2
// conexiones disponibles en host2: 199
var_dump(Mongo::poolDebug());

?>

Ver también

  • MongoPool::setSize() - Establece el tamaño de los nuevos agrupamientos de conexiones
  • MongoPool::info() - Devuelve información sobre todos los agrupamientos de conexiones
  • La documentación sobre conexiones.

MongoPool
MongoPool::info
MongoPool


Devuelve información sobre todos los agrupamientos de conexiones

MongoPool::getSize
MongoPool::setSize
MongoPool
PHP Manual

MongoPool::info

(PECL mongo >= 1.2.3)

MongoPool::info — Devuelve información sobre todos los agrupamientos de conexiones

Descripción

public array MongoPool::info ( void )

Devuelve un array con información sobre todos los agrupamientos de conexiones.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Cada agrupamiento de conexiones tiene un identificador que comienza con el nombre de host. Esta función muestra los siguientes campos para cada agrupamiento:

in use

El número de conexiones actualmente usadas por instancias de Mongo.

in pool

El número de conexiones que hay actualmente en el agrupamiento (sin usar).

remaining

El número de conexiones que podrían crearse en este agrupamiento. Por ejemplo, supongamos que un agrupamiento tenía 5 conexiones pendientes y 3 conexiones en el agrupamiento. Podríamos crear 8 nuevas instancias de MongoClient antes de agotar este agrupamiento (asumiendo que ninguna instancia de MongoClient quedó fuera de ámbito, devolviendo sus conexiones al agrupamiento).

Un número negativo indica que este agrupamiento generará conexiones ilimitadas.

Antes de crear un agrupamiento, se puede cambiar el número máximo de conexiones invocando a Mongo::setPoolSize(). Una vez que se ha llamado a esta función, no se podrá modificar su tamaño.

total

El número total de conexiones permitidas en este agrupamiento. Debería ser mayor o igual a la suma de "in use" + "in pool" (o -1).

timeout

El tiempo máximo de espera del socket para las conexiones de este agrupamiento. Indica por cuánto tiempo la agrupación intentará conectarse con un servidor antes de darse por vencidas.

waiting

Si se ha restringido el tamaño del agrupamiento, los procesos que soliciten conexiones de este agrupamiento podrán quedarse bloqueados hasta que otros procesos devuelvan sus conexiones. Este campo indica por cuántos milisegundos quedarán bloqueados esperando a que se libere una conexión. Si este número creciera demasiado, quizás sea conveniente usar MongoPool::setSize() para añadir más conexiones al agrupamiento.

Historial de cambios

Versión | Descripción
1.2.11 | Emite un error de nivel E_DEPRECATED cuando se usa.

MongoPool::getSize
MongoPool::setSize
MongoPool


Establece el tamaño de los nuevos agrupamientos de conexiones

MongoPool::info
Mongo
MongoPool
PHP Manual

MongoPool::setSize

(PECL mongo >= 1.2.3)

MongoPool::setSize — Establece el tamaño de los nuevos agrupamientos de conexiones

Descripción

public static bool MongoPool::setSize ( int $size )

Establece el número máximo de conexiones que podrán crear los nuevos agrupamientos.

Parámetros

size

El número máximo de conexiones que podrán crear los nuevos agrupamientos. Un número negativo indica que el agrupamiento podrá generar un número infinito de conexiones.

Valores devueltos

Devuelve el valor del tamaño anterior del agrupamiento.

Historial de cambios

Versión | Descripción
1.2.11 | Emite un error de nivel E_DEPRECATED cuando se usa.

Ejemplos

Ejemplo #1 Ejemplo de Mongo::setPoolSize()

Si se establece un tamaño de agrupamiento de n y se crean n conexiones, al intentar crear la conexión n+1 se lanzará una excepción de tipo MongoConnectionException.

<?php

// permitir solamente una conexión al servidor
MongoPool::setSize(1);

// crear una conexión a localhost:27017
$m1 = new Mongo();

// intentar crear una segunda conexión a localhost:27017
// puesto que sólo se permite una, se lanzará una excepción
$m2 = new Mongo();

?>

El resultado del ejemplo sería algo similar a:

Fatal error: Uncaught exception 'MongoConnectionException' with message 'no more connections in pool' in /path/to/php/script.php:10
Stack trace:
#0 /path/to/php/script.php(10): Mongo->__construct()
#1 {main}
  thrown in /path/to/php/script.php on line 10

Ver también

  • MongoPool::getSize() - Devuelve el tamaño actual de un agrupamiento de conexiones
  • MongoPool::info() - Devuelve información sobre todos los agrupamientos de conexiones
  • La documentación sobre conexiones.

MongoPool::info
Mongo
MongoPool


La clase Mongo [obsoleta]

(PECL mongo >=0.9.0)

Introducción

Una conexión entre PHP y MongoDB.

Esta clase extiende a MongoClient y proporciona acceso a varios métodos obsoletos.

Por retrocompatibilidad, el valor predeterminado de la opción "w" del argumento de su constructor es 0, el cual no requiere que el servidor reconozca operaciones de escritura. Véase MongoClient::__construct() para más información.

Advertencia

Esta clase ha sido declarada OBSOLETA a partir de la versión 1.3.0. No se recomienda confiar en esta característica. Por favor, use MongoClient en su lugar.

Sinopsis de la Clase

Mongo extends MongoClient {
/* Métodos */
protected bool connectUtil ( void )
public static int getPoolSize ( void )
public string getSlave ( void )
public bool getSlaveOkay ( void )
public array poolDebug ( void )
public static bool setPoolSize ( int $size )
public bool setSlaveOkay ([ bool $ok = true ] )
public string switchSlave ( void )
/* Métodos heredados */
public bool MongoClient::close ([ boolean|string $connection ] )
public bool MongoClient::connect ( void )
public array MongoClient::dropDB ( mixed $db )
public MongoDB MongoClient::__get ( string $dbname )
public static array MongoClient::getConnections ( void )
public array MongoClient::getHosts ( void )
public array MongoClient::getReadPreference ( void )
public bool MongoClient::killCursor ( string $server_hash , int|MongoInt64 $id )
public array MongoClient::listDBs ( void )
public MongoCollection MongoClient::selectCollection ( string $db , string $collection )
public MongoDB MongoClient::selectDB ( string $name )
public bool MongoClient::setReadPreference ( string $read_preference [, array $tags ] )
public string MongoClient::__toString ( void )
}

Tabla de contenidos

  • Mongo::connectUtil — Conecta con un servidor de bases de datos
  • Mongo::__construct — El propósito de __construct
  • Mongo::getPoolSize — Obtener el tamaño de las agrupaciones de conexiones
  • Mongo::getSlave — Devuelve la dirección usada por las lecturas de slaveOkay
  • Mongo::getSlaveOkay — Obtiene el valor de slaveOkay de esta conexión
  • Mongo::poolDebug — Devuelve información sobre todas las agrupaciones de conexiones
  • Mongo::setPoolSize — Establecer el tamaño para futuras agrupaciones de conexiones
  • Mongo::setSlaveOkay — Cambia el valor de slaveOkay para esta conexión
  • Mongo::switchSlave — Elije un nuevo secundario para lecturas slaveOkay
MongoPool::setSize
Mongo::connectUtil
Miscelánea


Conecta con un servidor de bases de datos

Mongo
Mongo::__construct
Mongo
PHP Manual

Mongo::connectUtil

(PECL mongo >=0.9.0)

Mongo::connectUtil — Conecta con un servidor de bases de datos

Descripción

protected bool Mongo::connectUtil ( void )
Advertencia

Esta es una función interna que nunca debería ser invocada.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Indica si la conexión tuvo éxito.

Errores/Excepciones

Emite MongoConnectionException si falla la conexión a la base de datos.

Mongo
Mongo::__construct
Mongo


El propósito de __construct

Mongo::connectUtil
Mongo::getPoolSize
Mongo
PHP Manual

Mongo::__construct

(PECL mongo >=0.9.0)

Mongo::__construct — El propósito de __construct

Descripción

public Mongo::__construct() ([ string $server [, array $options ]] )

Este método sobrescribe al constructor de MongoClient y desactiva la aceptación de escrituras.

Por favor, véase MongoClient::__construct() para la descripción de los parámetros.

Valores devueltos

Advertencia

La instanciación de esta clase emitirá una advertencia de tipo E_DEPRECATED, y desactivará la aceptación de escrituras.

Por favor, use MongoClient en su lugar.

Mongo::connectUtil
Mongo::getPoolSize
Mongo


Obtener el tamaño de las agrupaciones de conexiones

Mongo::__construct
Mongo::getSlave
Mongo
PHP Manual

Mongo::getPoolSize

(PECL mongo >=1.2.0)

Mongo::getPoolSize — Obtener el tamaño de las agrupaciones de conexiones

Descripción

public static int Mongo::getPoolSize ( void )
Advertencia

Esta característica ha sido declarada OBSOLETA a partir de la versión 1.2.3. Se recomienda encarecidamente no confiar en ella. Por favor, use MongoPool::getSize() en su lugar.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el tamaño de la agrupación actual.

Historial de cambios

Versión | Descripción
1.2.11 | Emite un error de nivel E_DEPRECATED al usarla.

Ejemplos

Ejemplo #1 Cambiar el tamaño de la agrupación

Devuelve el tamaño de la agrupación predeterminada, establece un nuevo tamaño, imprime ese nuevo tamaño y la información de depuración de la agrupación. Observe que cambiar el tamaño de la agrupación únicamente afecta a agrupaciones conexiones nuevas, no cambia las antiguas.

<?php

$conexión = new Mongo("host1");

// el tamaño de la agrupación es -1
echo "el tamaño de la agrupación es: ".Mongo::getPoolSize()."\n";

echo "establecer el tamaño de la agrupación a 200\n";

Mongo::setPoolSize(200);

// el tamaño de la agrupación es 200
echo "el tamaño de la agrupación es: ".Mongo::getPoolSize()."\n";

$conexión2 = new Mongo("host2");

// lo que queda para host1 es -2
// lo que queda para host2 es 199
var_dump(Mongo::poolDebug());

?>

Ver también

  • Mongo::setPoolSize() - Establecer el tamaño para futuras agrupaciones de conexiones
  • Mongo::poolDebug() - Devuelve información sobre todas las agrupaciones de conexiones
  • La documentación de conexión.

Mongo::__construct
Mongo::getSlave
Mongo


Devuelve la dirección usada por las lecturas de slaveOkay

Mongo::getPoolSize
Mongo::getSlaveOkay
Mongo
PHP Manual

Mongo::getSlave

(PECL mongo >=1.1.0)

Mongo::getSlave — Devuelve la dirección usada por las lecturas de slaveOkay

Descripción

public string Mongo::getSlave ( void )

Busca la dirección del secundario que está siendo usado para lecturas. Es un método de solo lectura: no cambia nada del estado interno del objeto.

Cuando se crea una conexión a la base de datos, el controlador no decide inmediatamente el secundario a usar. Así, después de la conexión, esta función devolverá NULL incluso si hay secundarios disponibles. Cuando se realice una primera consulta con slaveOkay establecido el controlador eligirá un secundario para dicha conexión. En ese punto, esta función devolverá el secundario elegido.

Véase la sección de consultas de este manual para información sobre la distribución de lecturas en secundarios.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La dirección del secundario que está usando esta conexión para las lecturas.

Devuelve NULL si no se está conectado a un conjunto réplica o aún no se ha inicializado.

Errores/Excepciones

Emite una advertencia E_DEPRECATED

Los resultados devueltos realmente no son útiles, ya que el proceso de selección del secundario se realiza en cada consulta y cada ejecución de un comando de base de datos.

Historial de cambios

Versión | Descripción
1.2.11 | Emite un error de nivel E_DEPRECATED al utilizarlo.

Ver también

  • MongoCursor::info() - Obtiene la consulta, los campos, el límete, y las omisiones de este cursor
Mongo::getPoolSize
Mongo::getSlaveOkay
Mongo


Obtiene el valor de slaveOkay de esta conexión

Mongo::getSlave
Mongo::poolDebug
Mongo
PHP Manual

Mongo::getSlaveOkay

(PECL mongo >=1.1.0)

Mongo::getSlaveOkay — Obtiene el valor de slaveOkay de esta conexión

Descripción

public bool Mongo::getSlaveOkay ( void )

Véase la sección de consultas de este manual para obtener información sobre lecturas distribuidas en secundarios.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el valor de slaveOkay de esta instancia.

Errores/Excepciones

Emite una advertencia E_DEPRECATED

Historial de cambios

Versión | Descripción
1.2.11 | Emite un error de nivel E_DEPRECATED cuando se usa.

Ver también

  • Preferencias de lectura
  • MongoClient::getReadPreference() - Obtener la preferencia de lectura para esta conexión
Mongo::getSlave
Mongo::poolDebug
Mongo


Devuelve información sobre todas las agrupaciones de conexiones

Mongo::getSlaveOkay
Mongo::setPoolSize
Mongo
PHP Manual

Mongo::poolDebug

(PECL mongo >=1.2.0)

Mongo::poolDebug — Devuelve información sobre todas las agrupaciones de conexiones

Descripción

public array Mongo::poolDebug ( void )
Advertencia

Esta característica ha sido declarada OBSOLETA a partir de la versión 1.2.3. Se desaconseja confiar en esta característica. Por favor, use MongoPool::info() en su lugar.

Devuelve un array con información sobre todas las agrupaciones de conexiones.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Cada agrupación de conexiones tiene un identificador que comienza con el host. Para cada agrupación, esta función muestra los siguientes campos:

in use

El número de conexiones usadas actualmente por instancias de MongoClient.

in pool

El número de conexiones que hay en la agrupación actualmente (no siendo usadas).

remaining

El número de conexiones que podría crear esta agrupación. Por ejemplo, supongamos que una agrupación tiene 5 conexiones restantes y 3 en la agrupación. Se podrían crear 8 nuevas instancias de MongoClient antes de agotar esta agrupación (asumiendo que no hay ninguna instancia de MongoClient fuera de ámbito, devolviendo sus conexiones a la agrupación).

Un número negativo significa que esta agrupación generará conexiones ilimitadas.

Antes de crear una agrupación, se puede elegir el número máximo de conexiones llamando a Mongo::setPoolSize(). Una vez que la agrupación aparzca en la salida de esta función, no se podrá cambiar su tamaño.

timeout

El tiempo de espera del socket para las conexiones de esta agrupación. Es por cuánto tiempo las conexiones de esta agrupación intentarán conectarse a un servidor antes de desistir.

Historial de cambios

Versión | Descripción
1.2.11 | Emite un error de nivel E_DEPRECATED al utilizarlo.

Mongo::getSlaveOkay
Mongo::setPoolSize
Mongo


Establecer el tamaño para futuras agrupaciones de conexiones

Mongo::poolDebug
Mongo::setSlaveOkay
Mongo
PHP Manual

Mongo::setPoolSize

(PECL mongo >=1.2.0)

Mongo::setPoolSize — Establecer el tamaño para futuras agrupaciones de conexiones

Descripción

public static bool Mongo::setPoolSize ( int $size )
Advertencia

Este método ha sido declarado OBSOLETO a partir de la versión 1.2.3. Se desaconseja confiar en esta característica. Por favor, use MongoPool::setSize() en su lugar.

Establece el numero máximo de conexiones que podrán crear las nuevas agrupaciones.

Parámetros

size

El número máximo de conexiones que podrán crear las futuras agrupaciones. Los valores negativos indican que la agrupación generará un número infinito de conexiones.

Valores devueltos

Devuelve el valor antiguo del tamaño de agrupación.

Ejemplos

Ejemplo #1 Ejemplo de Mongo::setPoolSize()

Si se establece el tamaño de la agrupación a n y luego se crean n conexiones, el intento de crear una conexión n+1ésitma lanzará una excepción de tipo MongoConnectionException.

<?php

// permitir solamente una conexión al servidor
Mongo::setPoolSize(1);

// crear una conexión a localhost:27017
$m1 = new Mongo();

// intentar crear una segunda conexión a localhost:27017
// solamente está permitida una conexión, por lo que se lanzará una excepción
$m2 = new Mongo();

?>

El resultado del ejemplo sería algo similar a:

Fatal error: Uncaught exception 'MongoConnectionException' with message 'no more connections in pool' in /path/to/php/script.php:10
Stack trace:
#0 /path/to/php/script.php(10): Mongo->__construct()
#1 {main}
  thrown in /path/to/php/script.php on line 10

Ver también

  • Mongo::getPoolSize() - Obtener el tamaño de las agrupaciones de conexiones
  • Mongo::poolDebug() - Devuelve información sobre todas las agrupaciones de conexiones
  • La documentación de conexiones.

Mongo::poolDebug
Mongo::setSlaveOkay
Mongo


Cambia el valor de slaveOkay para esta conexión

Mongo::setPoolSize
Mongo::switchSlave
Mongo
PHP Manual

Mongo::setSlaveOkay

(PECL mongo >=1.1.0)

Mongo::setSlaveOkay — Cambia el valor de slaveOkay para esta conexión

Descripción

public bool Mongo::setSlaveOkay ([ bool $ok = true ] )

Véase la sección de consultas de este manual para obtener información sobre lecturas distribuidas en secundarios.

Parámetros

ok

Indica si las lecturas deberían o no enviarse a los miembros secundarios del conjunto de réplicas, para todas aquellas consultas que se realicen con esta instancia de MongoClient.

Valores devueltos

Devuelve el valor anterior de slaveOkay que tenía esta instancia.

Historial de cambios

Versión | Descripción
1.2.11 | Emite un error de nivel E_DEPRECATED cuando se usa.

Ver también

  • Preferencias de lectura
  • MongoClient::setReadPreference() - Establece la preferencia de lectura para esta conexión
Mongo::setPoolSize
Mongo::switchSlave
Mongo


Elije un nuevo secundario para lecturas slaveOkay

Mongo::setSlaveOkay
Funciones de Mongo
Mongo
PHP Manual

Mongo::switchSlave

(PECL mongo >=1.1.0)

Mongo::switchSlave — Elije un nuevo secundario para lecturas slaveOkay

Descripción

public string Mongo::switchSlave ( void )

Elije un secundario aleatorio para una conexión desde la cual realizar las lecturas. Este método es invocado automáticamente por el controlador, por lo que no es necesesario utilizarlo. Realiza una llamada a MongoClient::getHosts() (para recargar el estado de los hosts) y a MongoClient::getSlave() (para obtener el valor devuelto).

Véase la sección de consultas de este manual para obtener información sobre lecturas distribuidas en secundarios.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La dirección del secundario que está usando esta conexió para realizar lecturas. Podría ser la misma que la anterior, ya que se eligen aleatoriamente. Si sólo hubiera un secundario (o sólo el primario) únicamente se devolvería una dirección.

Por ejemplo, si tuviéramos un conjunto de réplicas de tres miembros, con un primario, secundario, y un árbitro, este método siempre devolvería la dirección del secundario. Si éste no estvuiera disponible, este método devolvería la dirección del primario. Si éste tampoco estuviera disponible, se emitiría una excepción, ya que un árbitro no puede realizar operaciones de lectura.

Errores/Excepciones

Si se le llama desde una conexión sin conjuntos de réplicas, emite MongoException (código de error 15). También emite MongoException si no pudiera encontrar ningún elemento (primario o secundario) del que leer (código de error 16).

Historial de cambios

Versión | Descripción
1.2.11 | Emite un error de nivel E_DEPRECATED cuando se usa.

Ver también

  • Preferencias de lectura
Mongo::setSlaveOkay
Funciones de Mongo
Mongo


Funciones de Mongo

Tabla de contenidos

  • bson_decode — Decodifica un objecto BSON a un array PHP
  • bson_encode — Serializa una variable PHP a un string BSON
Mongo::switchSlave
bson_decode
Mongo


Decodifica un objecto BSON a un array PHP

Funciones de Mongo
bson_encode
Funciones de Mongo
PHP Manual

bson_decode

(PECL mongo >=1.0.1)

bson_decode — Decodifica un objecto BSON a un array PHP

Descripción

array bson_decode ( string $bson )

Esta función es muy beta todavía y es inútil para el 99% de usuarios. Solo es útil en casos especiales, como cuando se necesita escribir tu propio driver encima del driver de PHP.

Parámetros

bson

El BSON a ser decodificado.

Valores devueltos

Devuelve un objecto BSON decodificado.

Funciones de Mongo
bson_encode
Funciones de Mongo


Serializa una variable PHP a un string BSON

bson_decode
Excepciones
Funciones de Mongo
PHP Manual

bson_encode

(PECL mongo >=1.0.1)

bson_encode — Serializa una variable PHP a un string BSON

Descripción

string bson_encode ( mixed $anything )

Esta función es muy beta todavía y es inútil para el 99% de usuarios. Solo es útil en casos especiales, como cuando se necesita escribir tu propio driver encima del driver de PHP.

Parámetros

anything

La variable ha serializar.

Valores devueltos

Devuelve un string serializado.

bson_decode
Excepciones
Funciones de Mongo


Excepciones

Tabla de contenidos

  • MongoException
  • MongoResultException
  • MongoCursorException
  • MongoCursorTimeoutException
  • MongoConnectionException
  • MongoGridFSException

Peculiaridades en VMWare

Si se está ejecutando VMWare en Windows, y se usa CIFS, al pausar la máquina virtual se desincronizará CIFS causando errores inesperados al volver a ponerlo en funcionamiento ("El objeto Mongo no se ha inicializado correctamente por su constructor"). Si se monta de forma permanente los compartidos de Windows, se corregirá este problema y ya se podrá pausar y reiniciar.

Para montar permanentemente los compartidos de Windows, ejecute:

$ sudo update-rc.d -f umountnfs.sh remove
$ sudo update-rc.d umountnfs.sh stop 15 0 6 .

Consulte » la documentación de Ubuntu para ver las instrucciones más actualizadas.

bson_encode
MongoException
Mongo


Clase MongoException

(PECL mongo >= 1.0.0)

Introducción

Excepción Mongo predeterminada.

Abarca un gran número de condiciones de error que, eventualmente, podrán moverse a excepciones más específicas, pero que en cualquier caso siempre extenderán MongoException.

  • The MongoSomething object has not been correctly initialized by its constructor

    Código: 0

    Probablemente tu objeto Mongo no esté conectado al servidor de bases de datos.

  • zero-length keys are not allowed, did you use $ with double quotes?

    Código: 1

    Se ha intentado guardar el valor "" como clave. En general, no se debe hacer esto. "" podría provocar errores al acceder a subobjetos, además de que es usado internamente por MongoDB. Sin embargo, si realmente quiere, puede asignar en su fichero php.ini el valor true a mongo.allow_empty_keys para sobrescribir esta comprobación. Si se sobrescribe, se recomienda encarecidamente establecer la comprobación estricta de errores para evitar errores de interpolación de textos.

  • '.' not allowed in key: <key>

    Código: 2

    Se ha intentado escribir una clave que contiene un ".", lo cual está prohibido.

  • insert too large: <size>, max: <max>

    Código: 3

    Se ha intentado enviar demasiada información de una vez a la base de datos: la base de datos sólo acepta inserciones de hasta un determinado tamaño (actualmente 16 MB).

  • no elements in doc

    Código: 4

    Se ha intentado guardar un documento que no contiene ningún campo.

  • size of BSON doc is <size> bytes, max <max>MB

    Código: 5

    Se ha intentado guardar un documento con un tamaño superior al que MongoDB puede guardar.

  • no documents given

    Código: 6

    Se ha intentado insertar por lotes un array vacío de documentos.

  • MongoCollection::group takes an array, object, or MongoCode key

    Código: 7

    Se han enviado a MongoCollection::group() parámetros del tipo equivocado

  • field names must be strings

    Código: 8

    Deben formatearse los selectores de la siguiente forma: array("field1" => 1, "field2" => 1, ..., "fieldN" => 1).

  • invalid regex

    Código: 9

    La expresión regular pasada a MongoRegex no cumple la forma correcta.

  • MongoDBRef::get: $ref field must be a string

    Código: 10

  • MongoDBRef::get: $db field must be a string

    Código: 11

  • non-utf8 string: <str>

    Código: 12

    Sucede cuando se intenta enviar un texto que no es utf8 a la base de datos. Todos los textos que se envíen a la base de datos deben estar en UTF8. Revise las opciones de php.ini para conocer la opción de transición que evita esta excepción.

  • mutex error: <err>

    Código: 13

    En entornos multihebra, el driver utiliza mutex para sincronizar las peticiones y las respuestas. Este es un error crítico que no se puede trazar. Es poco usual y debe notificarse a los mantenedores junto con cualquier información del sistema y los pasos que se han seguido para reproducir el error.

  • index name too long: <len>, max <max> characters

    Código: 14

    No se crearán índices con nombres superiores a 128 caracteres. Si se obtuviera este error, se debería usar la opción "name" de MongoCollection::ensureIndex() para crear un nombre más corto para el índice.

Sinopsis de la Clase

MongoException extends Exception {
}
Excepciones
MongoResultException
Excepciones


La clase MongoResultException

(PECL mongo >=1.3.0)

Introducción

Una excepción de tipo MongoResultException es lanzada por varios ayudantes de comandos (como MongoCollection::findAndModify()) en caso de que ocurra un error. El documento resultante original está disponible a través de MongoResultException::getDocument().

Sinopsis de la Clase

MongoResultException extends MongoException {
/* Propiedades */
public $document ;
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos */
public array getDocument ( void )
}

Propiedades

document

Un array con el documento resultante sin tratar.

Tabla de contenidos

  • MongoResultException::getDocument — Recupera el documento resultante completo
MongoException
MongoResultException::getDocument
Excepciones


Recupera el documento resultante completo

MongoResultException
MongoCursorException
MongoResultException
PHP Manual

MongoResultException::getDocument

(PECL mongo >=1.3.0)

MongoResultException::getDocument — Recupera el documento resultante completo

Descripción

public array MongoResultException::getDocument ( void )

Recupera el documento resultante de errores completo.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El documento resultante completo es un array, incluyendo datos parciales si están disponibles y claves adicionales.

MongoResultException
MongoCursorException
MongoResultException


La clase MongoCursorException

(PECL mongo >= 1.0.0)

Introducción

Esta exceptción es causada por el acceso a un cursor de forma incorrecta o en un error al recibir una réplica. Obsérvese que esta excepción puede ser lanzada por cualquier petición a la base de datos que reciba una réplica, no solamente consultas. Las escrituras, comandos y cualquier otra operación que envie información a la base de datos y espere una respuesta, puede lanzar una MongoCursorException. La única excepción es new MongoClient() (crear una nueva conexión), la cual solamente lanzará MongoConnectionExceptions.

Devuelve un mensaje de error específico para ayudar a diagnosticar el problema, y un código de error numérico asociado con la causa de la excepción.

Por ejemplo, suponga que se intentan insertar dos documentos con el mimo _id:

<?php

try {
    $collection->insert(array("_id" => 1), array("w" => 1));
    $collection->insert(array("_id" => 1), array("w" => 1));
}
catch (MongoCursorException $e) {
    echo "error message: ".$e->getMessage()."\n";
    echo "error code: ".$e->getCode()."\n";
}

?>
This would produce output like:
mensaje de error: E11000 duplicate key error index: foo.bar.$_id_  dup key: { : 1 }
código del error: 11000
Obsérvese que el código de error de MongoDB (11000) se usa para el código de error de PHP. El controlador de PHP utiliza el código de error "nativo" siempre que sea posible.

La lista siguietne contiene errores comunes y sus causas. Los mensajes de error exactos están en cursiva; los errores donde el mensaje puede variar están descritos entre barras oblicuas.

  • cannot modify cursor after beginning iteration (no se puede modificar el cursor después de iniciar una iteración)

    Código: 0

    Se está invocando a un método que configura la consulta después de ejecutarla. Reinice el cursor y vuelva a intentarlo.

    Un ejemplo:

    <?php

    try {
            $cursor = $colección->find();
            var_dump($cursor->getNext());

            // getNext() consulta a la base de datos, es demasiado tarde para establecer un límite
            $cursor->limit(1);
    }
    catch (    MongoCursorException $e) {
        echo     "mensaje de error: ".$e->getMessage()."\n";
        echo     "código del error: ".$e->getCode()."\n";
    }

    // si bien, esto funcionará:
    $cursor->getNext();
    $cursor->reset();
    $cursor->limit(1);

    ?>

  • La obtención del siguiente lote envía errores

    Código: 1

    Podría no enviarse la consulta a la base de datos. Asegúrese de que la base de datos aún está activa y la red funciona bien.

  • cursor not found (cursor no encontrado)

    Código: 2

    El controlador estuvo intentando obtener más resultados de la base de datos, pero ésta no tiene un registro de la consulta. Esto usualmente significa que el cursor a expirado en el lado del servidor: después de unos pocos minutos de inactividad, la base de datos destruirá un cursor (véase MongoCursor::immortal() para información sobre cómo prevenir esto).

    Un ejemplo:

    <?php

    try {
            $cursor = $colección->find();
            $cursor->getNext();

            // dormir durante 15 minutos
            sleep(60*15);

        while (    $cursor->hasNext()) {
                $cursor->getNext();
        }
    }
    catch (    MongoCursorException $e) {
        echo     "mensaje de error: ".$e->getMessage()."\n";
        echo     "código del error: ".$e->getCode()."\n";
    }

    ?>

  • cursor->buf.pos is null (cursor->buf.pos es null)

    Código: 3

    Esto podría indicar que se ha quedado sin RAM o alguna otra circunstancia extraordinaria.

  • couldn't get response header (no se pudo obtener la cabecera de respuesta)

    Código: 4

    Un error común si la base de datos o la red se caen. Esto significa que el controlador podría no obtener una respuesta de la conexión.

  • no db response (sin resupesta de la base de datos)

    Código: 5

    Esto podría incluso no ser un error, por ejemplo, el comando de base de datos "shutdown" no devuelve respuesta alguna. Sin embargo, si se espera una respuesta, esto significa que la base de datos no proporcionó ninguna.

  • bad response length: %d, did the db assert? (longitud de respuesta errónea: %d, ¿se declaró la bd?

    Código: 6

    Esto significa que la base de datos indica que su respuesta fue menor que 0. Este error probablemente indica un error de red o corrupción de la base de datos.

  • incomplete header (cabecera incompleta)

    Código: 7

    Muy poco usual. Ocurre si la respuesta de la base de datos se inicia correctamente, pero se interrumpe a la mitad. Probablemente indica un problema de red.

  • incomplete response (respuesta incompleta)

    Código: 8

    Muy poco usual. Ocurre si la respuesta de la base de datos se inicia correctamente, pero se interrumpe a la mitad. Probablemente indica un problema de red.

  • couldn't find a response (no se pudo encontrar una respuesta)

    Código: 9

    Si la respuesta fue almacenada en caché y ahora no se puede localizar.

  • error getting socket (error al obtener el socket)

    Código: 10

    El socket fue cerrado o se encontró con un error. El controlador debería reconectar automáticamente (si es posible) en la siguiente operación.

  • couldn't find reply, please try again (no se pudo encontrar la réplica, inténtelo de nuevo)

    Código: 11

    El controlador guarda cualquier respuesta de la base de datos que no pudo hacer coincidir inmediatamente con una petición. Esta excepción ocurre si el controlador ya ha pasado la respuestta de la petición y no puede encontrarla en su caché.

  • error getting database response: errstr (error al obtener una respuesta de la base de datos: errstr)

    WSA error getting database response: errstr (error WSA al obtener una respuesta de la base de datos: errstr)

    "errstr" es un error de E7S reportado directamente desde el subsistema de sockets de C. En Windows, el mensaje de error está prefijado con "WSA".

  • Timeout error (Error de tiempo de espera)

    Código: 13

    Si hubo un error mientras se esperaba a que se completase una consulta.

  • couldn't send query: <various> (no se pudo enviar la consulta: <variado>)

    Código: 14

    Error del socket de C en el envío.

  • max number of retries exhausted, couldn't send query (número máximo de reintentos agotados, no se pudo enviar la consulta)

    Código: 19

    El controlador automáticamente reintentará realizar consultas "planas" (no comandos) un par de veces si el primer intento falló por ciertas razones. Esto es para causar menos excepciones durante la tolerancia a fallos del conjunto de réplicas (aunque probablemente aún tendrá que tratar con alguna) y pasar por alto asuntos de red transitorios.

    Esto también puede ser causado porque el controlador no es capaz de reconectar de ningún modo a la base de datos (si, por ejemplo, la base de datos está ilocalizable).

    Versión 1.2.2+.

Errores pasados a través de la base de datos

Los errores de la base de datos deberían siempre desencadenar MongoCursorExceptions en consultas. Los mensajes y los códigos de error son enviados directamente desde la base de datos, por lo que se deberían poder ver los errores coincidentes en el registro (log) de la base de datos.

A continuación se enumeran algunos errores de base de datos comunes:

  • E11000 duplicate key error index: foo.bar.$X dup key: { /* ... */ }

    Código: 11000

    Error de base de datos para claves duplicadas.

  • not master

    Códigos: 10107, 13435, y 10058

    Errores de no haber maestro, conducidos a través de la base de datos. Cada uno de estos errores causará que el controlador se desconecte e intente encontrar un nuevo primario. El error real que se obtiene en la tolerancia a fallos podría no ser un error "not master", dependiendo de cuando ocurra el cambio en el primario.

Sinopsis de la Clase

MongoCursorException extends MongoException {
}

Tabla de contenidos

  • MongoCursorException::getHost — El nombre de host del servidor que encontró el error
MongoResultException::getDocument
MongoCursorException::getHost
Excepciones


El nombre de host del servidor que encontró el error

MongoCursorException
MongoCursorTimeoutException
MongoCursorException
PHP Manual

MongoCursorException::getHost

(PECL mongo >= 1.0.0)

MongoCursorException::getHost — El nombre de host del servidor que encontró el error

Descripción

public string MongoCursorException::getHost ( void )

Devuelve el nombre de host del sevidor al que se le envió la consulta.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el nombre de host, o NULL si este es desconocido.

MongoCursorException
MongoCursorTimeoutException
MongoCursorException


La clase MongoCursorTimeoutException

(PECL mongo >= 1.0.0)

Introducción

Lanzado cuando se excede el tiempo máximo de espera de una consulta. Puede establecer el tiempo de espera que se usará antes de lanzar esta excepción, llamando a MongoCursor::timeout() en el cursor, o mediante MongoCursor::$timeout. Esta variable estática resulta útil para consultas tales como comandos de la base de datos o en MongoCollection::findOne(), las cuales utilizan implícitamente cursores.

Sinopsis de la Clase

MongoCursorTimeoutException extends MongoCursorException {
}
MongoCursorException::getHost
MongoConnectionException
Excepciones


Clase MongoConnectionException

(PECL mongo >= 1.0.0)

Introducción

Lanzado cuando falla el driver al conectar a la base de datos.

Existen varios mensajes de error posibles para ayudar a diagnosticar el problema de conexión:

  • No candidate servers found

    Lanzado cuando el controlador no puede establecer una conexión con MongoDB (satisfaciendo las ReadPreferences, si se especifican).

  • No server name given.

    Este error ocurre al pasar "" como nombre de servidor, probablemente por error tipográfico con interpolación de strings, p.ej., "$servr" en lugar de "$server".

  • failed to get host [hostname] or port [portnum] from [server].

    Indica que el nombre del servidor está malformado. "[hostname"] y "[portnum]" serán lo que el driver haya descifrado que sean.

  • Operation in progress

    Superado el tiempo de espera de conexión a la base de datos.

  • Transport endpoint is not connected

    Generalmente indica que la cadena de conexión no es correcta. De hecho, el driver no puede ni encontrar el servidor de bases de datos.

  • couldn't determine master

    Ningún servidor de una conexión a un conjunto de réplicas fue identificado como el primario.

  • couldn't get host info for [server]

    Indica que el DNS no puede resolver la dirección de servidor proporcionada. Posiblemente se trate de un error tipográfico, por ejemplo, "server" en lugar de "$server".

  • Invalid Argument

    Puede provocarse al intentar conectar a una máquina que está funcionando pero la base de datos no está funcionando. Asegúrese de que ha iniciado la base de datos antes de conectar.

  • Permission denied

    Significa que el socket no pudo ser abierto debido a los permisos. En las variantes de Red hat, puede ser debido a que la configuración por defecto no permite a Apache crear conexiones de red. Puede modificarse esto ejecutando:

    $ /usr/sbin/setsebool -P httpd_can_network_connect 1
    y reiniciando Apache.

Si el mensaje de error no se encuentra en la lista de arriba, probablemente sea un error del socket C, y podrá buscar en la web la causa del mismo.

Sinopsis de la Clase

MongoConnectionException extends MongoException {
}
MongoCursorTimeoutException
MongoGridFSException
Excepciones


Clase MongoGridFSException

(PECL mongo >= 1.0.0)

Introducción

Lanzada cuando hay errores al leer o escribir ficheros hacia o desde la base de datos.

Sinopsis de la Clase

MongoGridFSException extends MongoException {
}

Códigos de error

Códigos de error de MongoGridFSException
Código | Mensaje | Motivo
3 | Could not open file $filename | Intento de almacenar un fichero no válido, como un directori
4 | File $filename is too large: $filesize bytes | El tamaño máximo de ficheros en GridFS es de 4GB
5 | could not find filehandle | El recurso no posee un gestor de fichero
6 | no file is associate with this filehandle | El recurso no es un recurso de fichero
7 | error setting up file: $filenames | No se pudo abrir el fichero para lectura
9 | error reading file $filenames | Error al leer el fichero
10 | error reading filehandle | Error al leer desde un recurso
11 | could not find uploaded file %s | El nombre del fichero no parece ser un fichero subido
12 | Couldn't find tmp_name in the $_FILES array. Are you sure the upload worked? | Probablemente falló el nombre de fichero subido
13 | tmp_name was not a string or an array | Se proporcionó un nombre de fichero no válido
14 | couldn't find file size | Falta la propiedad length
15 | Cannot find filename | No se proporcionó un nombre de fichero, y no estaba establecida la propiedad filename
16 | could not open destination file %s | El nombre de fichero destino no es modificable
17 | error reading chunk of file | Trozo corrupto
18 | couldn't create a php_stream | No se pudo crear un recurso de flujo
19 | couldn't find property | Trozo corrupto
20 | chunk number has wrong size (size) when the max is maxchunksize | El trozo era más grande del esperado
21 | chunk has wrong format | Trozo corrupto

MongoConnectionException
Registro de cambios
Excepciones


Registro de cambios

A las clases/funciones/métodos de esta extensión se han realizado los siguientes cambios.

MongoDB PHP Driver 1.3.0

La serie 1.3 introdujo varios cambios mayores a la extensión, tales como reescribir completamente el manejo de conexiones (y eliminar el mecanismo de agrupamiento), dar soporte para ReadPreferences y cambiar los WriteConcerns predeterminados para que sean reconocidos mediante la introducción de la nueva clase MongoClient, que sirve como una clase sustituta para la ahora obsoleta Mongo.

El controlador ahora también admite la conexión a múltiples instancias de mongos (el enrutador Mongo Shard) para el equilibrado de carga.

Otras mejoras incluyen la identificación para una depuración más sencilla de manejo de conexiones con MongoLog, y el soporte para el » Framework Aggregation mediante el método MongoCollection::aggregate().

Cambios en los métodos existentes

La siguiente lista muestra todas las mejoras a los métodos existentes desde su implantación.

Version | Function | Description
1.4.5 | MongoCursor::batchSize | Antes de la versión 1.4.5, este método lanzaba una MongoCursorException si el cursor ya había comenzado a iterar.
1.4.0 | MongoClient::__construct | Se añadió la opción "wTimeoutMS" como sustituto de "wTimeout".
 | MongoCursor::hint | El argumento index ahora admite nombres de índices como valores de tipo string. En versiones anteriores a la 1.4.0, solamente eran aceptados valores de array u objeto.
 | MongoCursor::setFlag | Se añadió el soporte para la bandera 3 (OPLOG_REPLAY). Las versiones anteriorea a la 1.4.0 lanzarán una advertencia diciendo que la bandera no está soportada.
 | MongoDB::createCollection | En versiones anteriores a la 1.4.0, las opciones eran todas argumentos del método. La sinopsis de la función en esas versiones antiguas es: public MongoCollectionMongoDB::createCollection stringname boolcappedFALSE intsize0 intmax0 El significado de las opciones es el mismo que el descrito bajo el argumento options de arriba.
1.3.4 | MongoClient::__construct | Se añadieron las opciones "connectTimeoutMS" y "socketTimeoutMS".
1.3.3 | MongoClient::getReadPreference | El valor devuelto ha cambiado para ser consistente con MongoClient::setReadPreference. El valor type se cambió de un número a un string, type_string fue eliminado, y tagsets ahora expresa etiquetas como pares clave/valor en lugar de cadenas delimitadas por dos puntos.
 | MongoCollection::getReadPreference | El valor devuelto ha cambiado para ser consistente con MongoCollection::setReadPreference. El valor type cambia de ser un número a un string, type_string fue eliminado, y tagsets ahora expresa las etiquetas como pares calve/valor en lugar de cadenas delimitadas por dos puntos.
 | MongoDB::getReadPreference | El valor devuelto ha cambiado para ser consistente con MongoDB::setReadPreference. El valor type cambia de ser un número a un string, type_string fue eliminado, y tagsets ahora expresa etiquetas como pares clave/valor en lugar de cadenas delimitadas por dos puntos.
1.3.0 | MongoClient::close | El parámetro connection de esta función fue añadido en la versión 1.3.0. Anteriormente, solamente se podía cerra la conexión de escritura mediante este método.
 | MongoClient::__construct | Se añadieron las opciones "readPreference", "readPreferenceTags", "w" y "wTimeout".
 | MongoCollection::ensureIndex | El parámetro options ya no acepta un booleano para identificar un índice único. En su lugar, ahora debe hacerse con array('unique' => true).
 | MongoCollection::insert | El parámetro options ya no acepta un booleano para indicar una escritura aceptada. En su lugar, ahora esto tiene que hacerse con array('w' => 1) (El comportamiento predeterminado de MongoClient).
 | MongoCollection::remove | El parámetro options ya no solo acepta un booleano que indique "soloUno" "justOne". En su lugar, ahora se debe hacer con array('justOne' => true).
 | MongoCollection::update | El parámetro options ya no acepta un valor booleano para indicar un upsert. En su lugar, esto ahora se tiene que hacer con array('upsert' => true).
 | MongoDB::listCollections | Se añadió el parámetro includeSystemCollections.
 | MongoGridFSCursor::key | El _id del documento es devuelto como un valor de tipo string, ya que la clave debería ser única. Antes de la versión 1.3.0, se devolvía filename.
1.2.11 | Mongo::getPoolSize | Emite un error de nivel E_DEPRECATED al usarla.
 | Mongo::getSlave | Emite un error de nivel E_DEPRECATED al utilizarlo.
 | Mongo::getSlaveOkay | Emite un error de nivel E_DEPRECATED cuando se usa.
 | Mongo::poolDebug | Emite un error de nivel E_DEPRECATED al utilizarlo.
 | Mongo::setSlaveOkay | Emite un error de nivel E_DEPRECATED cuando se usa.
 | Mongo::switchSlave | Emite un error de nivel E_DEPRECATED cuando se usa.
 | MongoBinData::__construct | Emite un error de nivel E_DEPRECATED cuando no se utiliza el segundo argumento. El valor predeterminado de type podría cambiar en un futuro próximo.
 | MongoCollection::ensureIndex | Emite un error de nivel E_DEPRECATED cuando options es de tipo scalar.
 | MongoCollection::getSlaveOkay | Emite un error de nivel E_DEPRECATED cuando se usa.
 | MongoCollection::group | Emite un error de nivel E_DEPRECATED cuando options es de tipo scalar.
 | MongoCollection::remove | Emite un error de nivel E_DEPRECATED cuando options es de tipo scalar.
 | MongoCollection::setSlaveOkay | Emite un error de nivel E_DEPRECATED cuando se usa.
 | MongoCollection::update | Emite E_DEPRECATED cuando options es de tipo scalar.
 | MongoCursor::doQuery | Emite un error de nivel E_DEPRECATED cuando se usa.
 | MongoDB::authenticate | Emite un error de nivel E_DEPRECATED cuando se usa. Por favor, pase los detalles de autenticación al constructor.
 | MongoDB::forceError | Emite E_DEPRECATED cuando es usada.
 | MongoDB::getSlaveOkay | Emite un error de nivel E_DEPRECATED cuando se usa.
 | MongoDB::prevError | Emite un error de nivel E_DEPRECATED cuando se usa.
 | MongoDB::resetError | Emite un error de nivel E_DEPRECATED cuando se usa.
 | MongoDB::setSlaveOkay | Emite un error de nivel E_DEPRECATED cuando se usa.
 | MongoPool::getSize | Emite un error de nivel E_DEPRECATED cuando se usa.
 | MongoPool::info | Emite un error de nivel E_DEPRECATED cuando se usa.
 | MongoPool::setSize | Emite un error de nivel E_DEPRECATED cuando se usa.
1.2.10 | MongoClient::getHosts | Se añadió el soporte para hosts que no pertenecen a un conjunto de réplica. Los elementos del array devuelto ahora también incluyen hostname y port.
1.2.7 | MongoCollection::batchInsert | Se añadió la opción "continueOnError".
1.2.5 | MongoGridFS::storeUpload | Cambiado el segundo parámetro a un array de metadatos. Antes de la versión 1.2.5, el segundo parámetro fue un string opcional reemplazando el nombre de archivo.
1.2.0 | MongoClient::close | Antes de la versión 1.2.0, el controlador no utilizaba conexiones persistentes de forma predeterminada, por lo que todas las conexiones se cerraban tan pronto como una conexión de MongoDB estuviera fuera de ámbito. Desde la versión 1.2.0, este ya no es el caso, y es una mala idea invocar a close, ya que se podría terminar por sobrecargar el servidor con conexiones bajo una alta carga.
 | MongoClient::__construct | Se añadieron las opciones "username" y "password". Eliminada la opción "persist", ya que ahora todas las conexiones son persistentes. Aún se puede usar, pero no afecta a nada. "persist" Si la conexión debiera ser persistente. Si se establece, la conexión será persistente. La representación de cadena del valor se usa como un ID para la conexión, por lo que dos instancias de MongoClient que hayan sido inicializadas con array("persist" => "foobar") compartirán la misma conexión a la base de datos, mientras que una instancia inicializada con array("persist" => "barbaz") usará una conexión diferente a la base de datos. La opción "replicaSet" ahora toma un string, no un booleano.
 | MongoCollection::ensureIndex | Se añadió la opción "timeout".
 | MongoCollection::insert | Se añadió el parámetro "timeout".
 | MongoCollection::remove | Se añadió la opción "timeout".
 | MongoCollection::save | Añadida la opción "timeout".
 | MongoCollection::update | Se añadió la opción "timeout".
 | MongoDB::command | Añadido el parámetro options con una única opción: timeout.
1.1.0 | MongoCursor::info | Se añadieron varios campos, incluyendo id (el id del cursor), at (la cuenta del contador de cual es el documento actual), numReturned (el número devuelto por el servidor del lote actual), y server (el servidor al que se le envió la consulta; útil junto con .
1.0.11 | MongoCollection::ensureIndex | La opción "safe" desencadenará una tolerancia a fallos en el primario, si fuera necesario. Se lanzará una MongoException si el nombre del índice (generado o establecido) es mayor que 128 bytes.
 | MongoCollection::insert | Se desconecta en errores "not master" si "safe" está establecido.
 | MongoCollection::remove | Se desconcecta cuando ocurren errores "not master" si "safe" está establecido.
 | MongoCollection::save | Se desconecta en errores "not master" si "safe" está establecido.
 | MongoCollection::update | Se desconecta en errores "not master" si "safe" está establecido.
1.0.10 | MongoCursor::info | Se añadió el campo started_iterating, un booleano que indica si el cursor es preconsulta o postconsulta.
1.0.9 | MongoClient::__construct | Se añadió la opción "replicaSet".
 | MongoCollection::batchInsert | Se añadió la capacidad de pasar números enteros a la opción "safe", que anteriormente sólo aceptaba booleanos. Se añadió la opción "fsync".
 | MongoCollection::insert | Añadida la capacidad de pasar enteros a la opción "safe", la cual anteriormente únicamente aceptaba booleanos. Añadida la opción "fsync". Cambiado el tipo devuelto por un array que contiene información si se utiliza la opción "safe". De otro modo, se devuelve un booleano como antes.
 | MongoCollection::remove | Se añadió la capacidad de pasar números enteros a la opción "safe", la cual anteriomente sólo aceptaba valores booleanos. Se añadío la opción "fsync". Es tipo devuelto se cambio para que fuera un array que contuviera la información del error si se usaba la opción "safe". De otro modo, se devolvía un valor booleano como antes.
 | MongoCollection::save | Añadida la capacidad de pasar enteros a la opción "safe", la cual anteriormente únicamente aceptaba booleanos. Añadida la opción "fsync".
 | MongoCollection::update | Añadida la capacidad de pasar enteros a la opción "safe", la cual anteriormente únicamente aceptaba booleanos. Añadida la opción "fsync". Cambiado el tipo devuelto por un array que contiene información si se utiliza la opción "safe". De otro modo, se devuelve un booleano como antes.
1.0.7 | MongoCollection::count | Se añadieron los parámetros limit y skip.
1.0.5 | MongoCollection::batchInsert | Se añadió el parámetro options.
 | MongoCollection::ensureIndex | Se añadió la opción "name" para sobrescribir la creación del nombre del índice.
 | MongoCollection::insert | Cambiado el segundo parámetro a un array de opciones. Antes de 1.0.5, el segundo parámetro era un booleano indicando la opción "safe".
 | MongoCollection::remove | Cambiado el segundo parámetro a un array de opciones. Antes de 1.0.5, el segundo parámetro era un booleano indicando la opción "safe".
 | MongoCollection::save | Añadido el parámetro options.
 | MongoCollection::update | Se añadió la opción "safe".
1.0.2 | MongoClient::__construct | Se cambió el constructor para que tome un array de opciones. Antes de la versión 1.0.2, el constructor tomaba los siguientes parámetros: server El nombre del servidor. connect Parámetro booleano opcional que especifica si el constructor debe conectarse a la base de datos antes de devolver. El valor predeterminado es TRUE. persistent Si la conexión debería se persistente. paired Si la conexión debería estar emparejada.
 | MongoCollection::ensureIndex | Cambiado el parámetro options de booleano a array. Antes de la versión 1.0.2, el segundo parámetro era un valor booleano opcional que especificaba si era o no un índice único.
1.0.1 | MongoCollection::insert | Lanza una MongoCursorException si la opción "safe" está establecida y la inserción falla.
 | MongoCollection::update | Cambiado el parámetro "opciones" de un booleano a un array. Antes de la versión 1.0.1, el segundo parámetro era valor booleano opcional especificando un upsert.
MongoGridFSException
mSQL
Mongo


mSQL

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Basic usage
  • mSQL Funciones
    • msql_affected_rows — Devuelve el número de filas afectadas
    • msql_close — Cierra la conexión mSQL
    • msql_connect — Abre una conexión mSQL
    • msql_create_db — Crear una base de datos mSQL
    • msql_createdb — Alias de msql_create_db
    • msql_data_seek — Mueve el puntero de fila interno
    • msql_db_query — Envía una consulta mSQL
    • msql_dbname — Alias de msql_result
    • msql_drop_db — Borra una base de datos mSQL
    • msql_error — Devuelve un mensaje de error de la última llamada msql
    • msql_fetch_array — Extraer una fila como array
    • msql_fetch_field — Extraer información de campo
    • msql_fetch_object — Extraer la fila como un objeto
    • msql_fetch_row — Extrae la fila como un array ordenado
    • msql_field_flags — Obtener banderas de campo
    • msql_field_len — Ontener longitud del campo
    • msql_field_name — Obtiene el nombre del campo especificado en un resultado
    • msql_field_seek — Determina el desplazamiento de campo
    • msql_field_table — Obtiene el nombre de la tabla del campo
    • msql_field_type — Obtiene el tipo de campo
    • msql_fieldflags — Alias de msql_field_flags
    • msql_fieldlen — Alias de msql_field_len
    • msql_fieldname — Alias de msql_field_name
    • msql_fieldtable — Alias de msql_field_table
    • msql_fieldtype — Alias de msql_field_type
    • msql_free_result — Liberar memoria de un resultado
    • msql_list_dbs — Lista las bases de datos mSQL del servidor
    • msql_list_fields — Lista los campos resultantes
    • msql_list_tables — Lista las tablas en una base de datos mSQL
    • msql_num_fields — Obtiene el número de campos en el resultado
    • msql_num_rows — Obtiene el número de filas en el resultado
    • msql_numfields — Alias de msql_num_fields
    • msql_numrows — Alias de msql_num_rows
    • msql_pconnect — Abrir una conexión mSQL persistente
    • msql_query — Enviar una petición mSQL
    • msql_regcase — Alias de sql_regcase
    • msql_result — Obtención de datos del resultado
    • msql_select_db — Selecciona una base de datos mSQL
    • msql_tablename — Alias de msql_result
    • msql — Alias de msql_db_query
Registro de cambios
Introducción
Extensiones de bases de datos específicas del proveedor


Introducción

Estas funciones permiten acceder a los servidores de bases de datos mSQL. Se puede encontrar más información acerca de mSQL en » http://www.hughes.com.au/.

mSQL
Instalación/Configuración
mSQL


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
mSQL


Instalación

Con el fin de tener estas funciones disponibles, se debe compilar PHP con soporte msql usando la opción --with-msql[=DIR] . DIR es el directorio de instalación de la base de datos mSQL, por defecto /usr/local/msql3.

Nota: Nota a usuarios de Win32

Para que esta extensión funcione, hay unos ficheros DLL que deben estar disponibles en el sistema de Windows PATH. Para más información en como hacer esto, vea la FAQ titulada "Como añadir mi directorio PHP en el PATH de Windows". Aunque copiar los ficheros DLL desde el directorio PHP al directorio del sistema de Windows también funciona (porque el directorio del sistema por defecto es el PATH del sistema), esto no se recomienda. Esta extensión requiere que los siguientes ficheros esten en el PATH: msql.dll

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración mSQL
Nombre | Por defecto | Cambiable | Historial de cambios
msql.allow_persistent | "1" | PHP_INI_ALL |
msql.max_persistent | "-1" | PHP_INI_ALL |
msql.max_links | "-1" | PHP_INI_ALL |
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

msql.allow_persistent boolean

Si se permiten conexiones persistentes mSQL.

msql.max_persistent integer

El máximo número de conexiones persistentes mSQL por proceso.

msql.max_links integer

El máximo número de conexiones persistentes mSQL por proceso, incluyendo las conexiones persistentes.

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Hay dos tipos de recursos utilizados en el módulo mSQL. El primero es el idetificador de enlace para una conexión a una base de datos, el segundo es un recurso que contiene el resultado de una petición.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

MSQL_ASSOC (integer)
MSQL_NUM (integer)
MSQL_BOTH (integer)
Tipos de recursos
Ejemplos
mSQL


Ejemplos

Tabla de contenidos

  • Basic usage
Constantes predefinidas
Basic usage
mSQL


Basic usage

Este es un ejemplo simple de como conectar, ejecutar una consulta, imprimir resultados y desconectarse de una base de datos mSQL.

Ejemplo #1 Ejemplo de uso de mSQL

<?php
/* Conectando, seleccionado la base de datos */
$link = msql_connect('localhost', 'username', 'password')
    or die('Could not connect : ' . msql_error($link));

msql_select_db('database', $link)
    or die('Could not select database');

/* Ejecutar la petición SQL */
$query = 'SELECT * FROM my_table';
$result = msql_query($query, $link) or die('Query failed : ' . msql_error());

/* Imprimiendo resultados en HTML */
echo "<table>\n";
while ($row = msql_fetch_array($result, MSQL_ASSOC)) {
    echo "\t<tr>\n";
    foreach ($row as $col_value) {
        echo "\t\t<td>$col_value</td>\n";
    }
    echo "\t</tr>\n";
}
echo "</table>\n";

/* Liberar el result set */
msql_free_result($result);

/* Cerrar la conexión */
msql_close($link);
?>

Ejemplos
mSQL Funciones
Ejemplos


mSQL Funciones

Tabla de contenidos

  • msql_affected_rows — Devuelve el número de filas afectadas
  • msql_close — Cierra la conexión mSQL
  • msql_connect — Abre una conexión mSQL
  • msql_create_db — Crear una base de datos mSQL
  • msql_createdb — Alias de msql_create_db
  • msql_data_seek — Mueve el puntero de fila interno
  • msql_db_query — Envía una consulta mSQL
  • msql_dbname — Alias de msql_result
  • msql_drop_db — Borra una base de datos mSQL
  • msql_error — Devuelve un mensaje de error de la última llamada msql
  • msql_fetch_array — Extraer una fila como array
  • msql_fetch_field — Extraer información de campo
  • msql_fetch_object — Extraer la fila como un objeto
  • msql_fetch_row — Extrae la fila como un array ordenado
  • msql_field_flags — Obtener banderas de campo
  • msql_field_len — Ontener longitud del campo
  • msql_field_name — Obtiene el nombre del campo especificado en un resultado
  • msql_field_seek — Determina el desplazamiento de campo
  • msql_field_table — Obtiene el nombre de la tabla del campo
  • msql_field_type — Obtiene el tipo de campo
  • msql_fieldflags — Alias de msql_field_flags
  • msql_fieldlen — Alias de msql_field_len
  • msql_fieldname — Alias de msql_field_name
  • msql_fieldtable — Alias de msql_field_table
  • msql_fieldtype — Alias de msql_field_type
  • msql_free_result — Liberar memoria de un resultado
  • msql_list_dbs — Lista las bases de datos mSQL del servidor
  • msql_list_fields — Lista los campos resultantes
  • msql_list_tables — Lista las tablas en una base de datos mSQL
  • msql_num_fields — Obtiene el número de campos en el resultado
  • msql_num_rows — Obtiene el número de filas en el resultado
  • msql_numfields — Alias de msql_num_fields
  • msql_numrows — Alias de msql_num_rows
  • msql_pconnect — Abrir una conexión mSQL persistente
  • msql_query — Enviar una petición mSQL
  • msql_regcase — Alias de sql_regcase
  • msql_result — Obtención de datos del resultado
  • msql_select_db — Selecciona una base de datos mSQL
  • msql_tablename — Alias de msql_result
  • msql — Alias de msql_db_query
Basic usage
msql_affected_rows
mSQL


Devuelve el número de filas afectadas

mSQL Funciones
msql_close
mSQL Funciones
PHP Manual

msql_affected_rows

(PHP 4, PHP 5)

msql_affected_rows — Devuelve el número de filas afectadas

Descripción

int msql_affected_rows ( resource $result )

Devuelve el número de filas afectadas por la última llamada de SELECT, UPDATE ó DELETE asociada con result.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a msql_query().

Valores devueltos

Devuelve el número de filas afectadas en caso de éxito, o FALSE en caso de error.

Ver también

  • msql_query() - Enviar una petición mSQL

mSQL Funciones
msql_close
mSQL Funciones


Cierra la conexión mSQL

msql_affected_rows
msql_connect
mSQL Funciones
PHP Manual

msql_close

(PHP 4, PHP 5)

msql_close — Cierra la conexión mSQL

Descripción

bool msql_close ([ resource $link_identifier ] )

msql_close() cierra la conexión no-persistente al servidor mSQL que está asociada con el especificado identificador de enlace.

Normalmente no es necesario usar msql_close(), pues los enlaces no-persistentes que estén abiertos se cerrarán automáticamente al final de la ejecución del script. Vease también liberando recursos.

Parámetros

link_identifier

La conexión mSQL. De no ser especificada, el último enlace abierto por msql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si msql_connect() fuese invocado, y lo utiliza.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • msql_connect() - Abre una conexión mSQL
  • msql_pconnect() - Abrir una conexión mSQL persistente

msql_affected_rows
msql_connect
mSQL Funciones


Abre una conexión mSQL

msql_close
msql_create_db
mSQL Funciones
PHP Manual

msql_connect

(PHP 4, PHP 5)

msql_connect — Abre una conexión mSQL

Descripción

resource msql_connect ([ string $hostname ] )

msql_connect() establece una conexión a un servidor mSQL.

Si se produjera una segunda llamada a msql_connect() con los mismos parámetros, no se establecerá un nuevo enlace, pero en su lugar, el identificador del enlace ya abierto será devuelto.

El enlace al servidor se cerrará en cuanto la ejecución del script termine, a menos que haya sido cerrado previamente por una llamada explícita a la función msql_close().

Parámetros

hostname

El hostname también puede incluir un número de un puerto, por ejemplo: hostname,port.

Si no se especifica, la conexión se establece por medio de un dominio socket de Unix, siendo más eficaz que una conexión TCP al servidor local.

Nota:

Mientras esta función acepte los dos puntos (:) como un separador de host/puerto, una coma (,) será el método preferido.

Valores devueltos

Devuelve un identificador positivo de enlace mSQL en caso de éxito, o FALSE en caso de error.

Ver también

  • msql_pconnect() - Abrir una conexión mSQL persistente
  • msql_close() - Cierra la conexión mSQL

msql_close
msql_create_db
mSQL Funciones


Crear una base de datos mSQL

msql_connect
msql_createdb
mSQL Funciones
PHP Manual

msql_create_db

(PHP 4, PHP 5)

msql_create_db — Crear una base de datos mSQL

Descripción

bool msql_create_db ( string $database_name [, resource $link_identifier ] )

msql_create_db() intenta crear una nueva base de datos en el servidor mSQL.

Parámetros

database_name

El nombre de la base de datos mSQL.

link_identifier

La conexión mSQL. De no ser especificada, el último enlace abierto por msql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si msql_connect() fuese invocado, y lo utiliza.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • msql_drop_db() - Borra una base de datos mSQL

msql_connect
msql_createdb
mSQL Funciones


Alias de msql_create_db

msql_create_db
msql_data_seek
mSQL Funciones
PHP Manual

msql_createdb

(PHP 4, PHP 5)

msql_createdb — Alias de msql_create_db()

Descripción

Esta función es un alias de: msql_create_db().

msql_create_db
msql_data_seek
mSQL Funciones


Mueve el puntero de fila interno

msql_createdb
msql_db_query
mSQL Funciones
PHP Manual

msql_data_seek

(PHP 4, PHP 5)

msql_data_seek — Mueve el puntero de fila interno

Descripción

bool msql_data_seek ( resource $result , int $row_number )

msql_data_seek() mueve el puntero de fila interno del resultado mSQL asociado, con el identificador de consulta especificado para indicar el número de fila especificado. La siguiente llamada a msql_fetch_row() devolverá esta fila.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a msql_query().

row_number

El número de fila buscado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • msql_fetch_array() - Extraer una fila como array
  • msql_fetch_object() - Extraer la fila como un objeto
  • msql_fetch_row() - Extrae la fila como un array ordenado
  • msql_result() - Obtención de datos del resultado

msql_createdb
msql_db_query
mSQL Funciones


Envía una consulta mSQL

msql_data_seek
msql_dbname
mSQL Funciones
PHP Manual

msql_db_query

(PHP 4, PHP 5)

msql_db_query — Envía una consulta mSQL

Descripción

resource msql_db_query ( string $database , string $query [, resource $link_identifier ] )

msql_db_query() selecciona una base de datos y ejecuta una consulta en ella.

Parámetros

database

El nombre de la base de datos mSQL.

query

La consulta SQL.

link_identifier

La conexión mSQL. De no ser especificada, el último enlace abierto por msql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si msql_connect() fuese invocado, y lo utiliza.

Valores devueltos

Devuelve un identificador mSQL positivo del resultado de la consulta, o FALSE en caso de error.

Ver también

  • msql_query() - Enviar una petición mSQL

msql_data_seek
msql_dbname
mSQL Funciones


Alias de msql_result

msql_db_query
msql_drop_db
mSQL Funciones
PHP Manual

msql_dbname

(PHP 4, PHP 5)

msql_dbname — Alias de msql_result()

Descripción

Esta función es un alias de: msql_result().

msql_db_query
msql_drop_db
mSQL Funciones


Borra una base de datos mSQL

msql_dbname
msql_error
mSQL Funciones
PHP Manual

msql_drop_db

(PHP 4, PHP 5)

msql_drop_db — Borra una base de datos mSQL

Descripción

bool msql_drop_db ( string $database_name [, resource $link_identifier ] )

msql_drop_db() intenta borrar una base de datos del servidor mSQL.

Parámetros

database_name

El nombre de la base de datos.

link_identifier

La conexión mSQL. De no ser especificada, el último enlace abierto por msql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si msql_connect() fuese invocado, y lo utiliza.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • msql_create_db() - Crear una base de datos mSQL

msql_dbname
msql_error
mSQL Funciones


Devuelve un mensaje de error de la última llamada msql

msql_drop_db
msql_fetch_array
mSQL Funciones
PHP Manual

msql_error

(PHP 4, PHP 5)

msql_error — Devuelve un mensaje de error de la última llamada msql

Descripción

string msql_error ( void )

msql_error() retorna el último error devuelto por el servidor mSQL. Téngase en cuenta que sólo el último mensaje de error es accesible con msql_error().

Valores devueltos

Devuelve el último mensaje de error, o una cadena vacía si ningún error había sido devuelto anteriormente.

msql_drop_db
msql_fetch_array
mSQL Funciones


Extraer una fila como array

msql_error
msql_fetch_field
mSQL Funciones
PHP Manual

msql_fetch_array

(PHP 4, PHP 5)

msql_fetch_array — Extraer una fila como array

Descripción

array msql_fetch_array ( resource $result [, int $result_type ] )

msql_fetch_array() es una versión extendida de msql_fetch_row(). Además de almacenar los datos en los índices numéricos del array resultante, almacenando también los datos en índices asociativos, usando los nombres de los campos como claves.

Algo importante a tener en cuenta es que usar msql_fetch_array() NO es significativamente más lento que usar msql_fetch_row(), mientras que proporciona un valor añadido significativo.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a msql_query().

result_type

Una constante que puede tomar los siguientes valores: MSQL_ASSOC, MSQL_NUM, y MSQL_BOTH con MSQL_BOTH por defecto.

Valores devueltos

Devuelve un array que corresponde a la fila extraída, o FALSE si no hay más filas.

Ejemplos

Ejemplo #1 msql_fetch_array() ejemplo

<?php
$con = msql_connect();
if (!$con) {
    die('Server connection problem: ' . msql_error());
}

if (!msql_select_db('test', $con)) {
    die('Database connection problem: ' . msql_error());
}

$result = msql_query('SELECT id, name FROM people', $con);
if (!$result) {
    die('Query execution problem: ' . msql_error());
}

while ($row = msql_fetch_array($result, MSQL_ASSOC)) {
    echo $row['id'] . ': ' . $row['name'] . "\n";
}

msql_free_result($result);
?>

Historial de cambios

Versión | Descripción
4.3.11 y 5.0.4 | Un error se corrigió al recuperar los datos de las columnas que contenían valores NULL. Estas columnas no se incluyen en el array resultante.

Ver también

  • msql_fetch_row() - Extrae la fila como un array ordenado
  • msql_fetch_object() - Extraer la fila como un objeto
  • msql_data_seek() - Mueve el puntero de fila interno
  • msql_result() - Obtención de datos del resultado

msql_error
msql_fetch_field
mSQL Funciones


Extraer información de campo

msql_fetch_array
msql_fetch_object
mSQL Funciones
PHP Manual

msql_fetch_field

(PHP 4, PHP 5)

msql_fetch_field — Extraer información de campo

Descripción

object msql_fetch_field ( resource $result [, int $field_offset = 0 ] )

msql_fetch_field() puede ser usado para extraer información sobre los campos en un determinado resultado de consulta.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a msql_query().

field_offset

El campo de desplazamiento. Si no se especifica, el siguiente campo que no haya sido recuperado por msql_fetch_field() será recuperado.

Valores devueltos

Devuelve un objeto que contiene la información de campo. Las propiedades del objeto son:

  • name - nombre de columna

  • table - nombre de la tabla a la cual pertenece la columna

  • not_null - 1 si la columna no puede ser NULL

  • unique - 1 si la columna es una clave única

  • type - el tipo de la columna

Ver también

  • msql_field_seek() - Determina el desplazamiento de campo

msql_fetch_array
msql_fetch_object
mSQL Funciones


Extraer la fila como un objeto

msql_fetch_field
msql_fetch_row
mSQL Funciones
PHP Manual

msql_fetch_object

(PHP 4, PHP 5)

msql_fetch_object — Extraer la fila como un objeto

Descripción

object msql_fetch_object ( resource $result )

msql_fetch_object() es similar a msql_fetch_array(), con una diferencia - un objeto es devuelto, en vez de un array. Indirectamente, esto significa que solo se puede acceder a los datos por el nombre de campo, y no por sus desplzamientos (los números son nombres de propiedad inválidos).

Speed-wise, la función es idéntica a msql_fetch_array(), y casi tan rápida como msql_fetch_row() (la diferencia es insignificante).

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a msql_query().

Valores devueltos

Devuelve un objeto con las propiedades que corresponden con la fila extraída, o FALSE si no hay más filas.

Ejemplos

Ejemplo #1 msql_fetch_object() ejemplo

<?php
$con = msql_connect();
if (!$con) {
    die('Server connection problem: ' . msql_error());
}

if (!msql_select_db('test', $con)) {
    die('Database connection problem: ' . msql_error());
}

$result = msql_query('SELECT id, name FROM people', $con);
if (!$result) {
    die('Query execution problem: ' . msql_error());
}

while ($row = msql_fetch_object($result, MSQL_ASSOC)) {
    echo $row->id . ': ' . $row->name . "\n";
}

msql_free_result($result);
?>

Historial de cambios

Versión | Descripción
4.3.11 y 5.0.4 | Un error se corrigió al recuperar los datos de las columnas que contenían valores NULL. Estas columnas no se incluyen en el array resultante.

Ver también

  • msql_fetch_array() - Extraer una fila como array
  • msql_fetch_row() - Extrae la fila como un array ordenado
  • msql_data_seek() - Mueve el puntero de fila interno
  • msql_result() - Obtención de datos del resultado

msql_fetch_field
msql_fetch_row
mSQL Funciones


Extrae la fila como un array ordenado

msql_fetch_object
msql_field_flags
mSQL Funciones
PHP Manual

msql_fetch_row

(PHP 4, PHP 5)

msql_fetch_row — Extrae la fila como un array ordenado

Descripción

array msql_fetch_row ( resource $result )

msql_fetch_row() extrae una fila de datos del resultado asociado con el identificador de consulta especificado. La fila es devuelta como un array. Cada columna resultante es almacenada en un desplazamiento de array, empezando el desplazamiento en 0.

La siguiente llamada a msql_fetch_row() devolverá la siguiente fila en el conjunto de resultados, o FALSE si no hubiese más filas.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a msql_query().

Valores devueltos

Devuelve un array que corresponde con la fila extraída, o FALSE si no hubiese más filas.

Ejemplos

Ejemplo #1 msql_fetch_row() ejemplo

<?php
$con = msql_connect();
if (!$con) {
    die('Server connection problem: ' . msql_error());
}

if (!msql_select_db('test', $con)) {
    die('Database connection problem: ' . msql_error());
}

$result = msql_query('SELECT id, name FROM people', $con);
if (!$result) {
    die('Query execution problem: ' . msql_error());
}

while ($row = msql_fetch_row($result)) {
    echo $row[0] . ': ' . $row[1] . "\n";
}

msql_free_result($result);
?>

Historial de cambios

Versión | Descripción
4.3.11 y 5.0.4 | Un error se corrigió al recuperar los datos de las columnas que contenían valores NULL. Estas columnas no se incluyen en el array resultante.

Ver también

  • msql_fetch_array() - Extraer una fila como array
  • msql_fetch_object() - Extraer la fila como un objeto
  • msql_data_seek() - Mueve el puntero de fila interno
  • msql_result() - Obtención de datos del resultado

msql_fetch_object
msql_field_flags
mSQL Funciones


Obtener banderas de campo

msql_fetch_row
msql_field_len
mSQL Funciones
PHP Manual

msql_field_flags

(PHP 4, PHP 5)

msql_field_flags — Obtener banderas de campo

Descripción

string msql_field_flags ( resource $result , int $field_offset )

msql_field_flags() devuelve las banderas de campo del campo especificado.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a msql_query().

field_offset

El número del campo a buscar. El valor de field_offset comienza en 1.

Valores devueltos

Devuelve un string que contiene las banderas de campo de la clave especificada. Éste puede ser: primary key not null, not null, primary key, unique not null o unique.

msql_fetch_row
msql_field_len
mSQL Funciones


Ontener longitud del campo

msql_field_flags
msql_field_name
mSQL Funciones
PHP Manual

msql_field_len

(PHP 4, PHP 5)

msql_field_len — Ontener longitud del campo

Descripción

int msql_field_len ( resource $result , int $field_offset )

msql_field_len() devuelve la longitud del campo especificado.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a msql_query().

field_offset

El número del campo a buscar. El valor de field_offset comienza en 1.

Valores devueltos

Devuelve la longitud del campo especificado o FALSE en caso de error.

msql_field_flags
msql_field_name
mSQL Funciones


Obtiene el nombre del campo especificado en un resultado

msql_field_len
msql_field_seek
mSQL Funciones
PHP Manual

msql_field_name

(PHP 4, PHP 5)

msql_field_name — Obtiene el nombre del campo especificado en un resultado

Descripción

string msql_field_name ( resource $result , int $field_offset )

msql_field_name() da el nombre del índice del campo especificado.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a msql_query().

field_offset

El número del campo a buscar. El valor de field_offset comienza en 1.

Valores devueltos

El nombre del campo o FALSE en caso de error.

Ver también

  • msql_field_len() - Ontener longitud del campo

msql_field_len
msql_field_seek
mSQL Funciones


Determina el desplazamiento de campo

msql_field_name
msql_field_table
mSQL Funciones
PHP Manual

msql_field_seek

(PHP 4, PHP 5)

msql_field_seek — Determina el desplazamiento de campo

Descripción

bool msql_field_seek ( resource $result , int $field_offset )

Busca el desplazamiento de campo especificado. Si la siguiente llamada a msql_fetch_field() no inluye un desplazamiento de campo, el campo será devuelto.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a msql_query().

field_offset

El número del campo a buscar. El valor de field_offset comienza en 1.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • msql_fetch_field() - Extraer información de campo

msql_field_name
msql_field_table
mSQL Funciones


Obtiene el nombre de la tabla del campo

msql_field_seek
msql_field_type
mSQL Funciones
PHP Manual

msql_field_table

(PHP 4, PHP 5)

msql_field_table — Obtiene el nombre de la tabla del campo

Descripción

int msql_field_table ( resource $result , int $field_offset )

Devuelve el nombre de la tabla que contiene el campo especificado.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a msql_query().

field_offset

El número del campo a buscar. El valor de field_offset comienza en 1.

Valores devueltos

El nombre de la tabla en caso de éxito o FALSE en caso de error.

msql_field_seek
msql_field_type
mSQL Funciones


Obtiene el tipo de campo

msql_field_table
msql_fieldflags
mSQL Funciones
PHP Manual

msql_field_type

(PHP 4, PHP 5)

msql_field_type — Obtiene el tipo de campo

Descripción

string msql_field_type ( resource $result , int $field_offset )

msql_field_type() obtiene el tipo del índice del campo especificado.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a msql_query().

field_offset

El número del campo a buscar. El valor de field_offset comienza en 1.

Valores devueltos

El tipo de campo. Alguno de los siguientes: int, char, real, ident, null o unknown. Estas funciones devolverán FALSE en caso de error.

msql_field_table
msql_fieldflags
mSQL Funciones


Alias de msql_field_flags

msql_field_type
msql_fieldlen
mSQL Funciones
PHP Manual

msql_fieldflags

(PHP 4, PHP 5)

msql_fieldflags — Alias de msql_field_flags()

Descripción

Esta función es un alias de msql_field_flags().

msql_field_type
msql_fieldlen
mSQL Funciones


Alias de msql_field_len

msql_fieldflags
msql_fieldname
mSQL Funciones
PHP Manual

msql_fieldlen

(PHP 4, PHP 5)

msql_fieldlen — Alias de msql_field_len()

Descripción

Esta función es un alias de msql_field_len().

msql_fieldflags
msql_fieldname
mSQL Funciones


Alias de msql_field_name

msql_fieldlen
msql_fieldtable
mSQL Funciones
PHP Manual

msql_fieldname

(PHP 4, PHP 5)

msql_fieldname — Alias de msql_field_name()

Descripción

Esta función es un alias de msql_field_name().

msql_fieldlen
msql_fieldtable
mSQL Funciones


Alias de msql_field_table

msql_fieldname
msql_fieldtype
mSQL Funciones
PHP Manual

msql_fieldtable

(PHP 4, PHP 5)

msql_fieldtable — Alias de msql_field_table()

Descripción

Esta función es un alias de msql_field_table().

msql_fieldname
msql_fieldtype
mSQL Funciones


Alias de msql_field_type

msql_fieldtable
msql_free_result
mSQL Funciones
PHP Manual

msql_fieldtype

(PHP 4, PHP 5)

msql_fieldtype — Alias de msql_field_type()

Descripción

Esta función es un alias de msql_field_type().

msql_fieldtable
msql_free_result
mSQL Funciones


Liberar memoria de un resultado

msql_fieldtype
msql_list_dbs
mSQL Funciones
PHP Manual

msql_free_result

(PHP 4, PHP 5)

msql_free_result — Liberar memoria de un resultado

Descripción

bool msql_free_result ( resource $result )

msql_free_result() libera la memoria asociada a query_identifier. Cuando PHP completa una petición, su memoria es liberada automáticamente, así que so solo es necesario llamar a esta función cuando se quiera estar seguro de que no se usa demasiada memoria durante la ejecución del script.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a msql_query().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

msql_fieldtype
msql_list_dbs
mSQL Funciones


Lista las bases de datos mSQL del servidor

msql_free_result
msql_list_fields
mSQL Funciones
PHP Manual

msql_list_dbs

(PHP 4, PHP 5)

msql_list_dbs — Lista las bases de datos mSQL del servidor

Descripción

resource msql_list_dbs ([ resource $link_identifier ] )

msql_list_tables() lista las bases de datos disponibles en el link_identifier especificado.

Parámetros

link_identifier

La conexión mSQL. De no ser especificada, el último enlace abierto por msql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si msql_connect() fuese invocado, y lo utiliza.

Valores devueltos

Devuelve un conjunto de resultados que puede ser utilizado por cualquier función que obtenga un conjunto de resultados, como msql_fetch_array(). En caso de fallo, esta función devolverá FALSE.

Ver también

  • msql_list_tables() - Lista las tablas en una base de datos mSQL
  • msql_list_fields() - Lista los campos resultantes

msql_free_result
msql_list_fields
mSQL Funciones


Lista los campos resultantes

msql_list_dbs
msql_list_tables
mSQL Funciones
PHP Manual

msql_list_fields

(PHP 4, PHP 5)

msql_list_fields — Lista los campos resultantes

Descripción

resource msql_list_fields ( string $database , string $tablename [, resource $link_identifier ] )

msql_list_fields() devuelve información de la tabla dada.

Parámetros

database

El nombre de la base de datos.

tablename

El nombre de la tabla.

link_identifier

La conexión mSQL. De no ser especificada, el último enlace abierto por msql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si msql_connect() fuese invocado, y lo utiliza.

Valores devueltos

Devuelve un conjunto de resultados que puede ser utilizado por cualquier función que obtenga un conjunto de resultados, como msql_fetch_array(). En caso de fallo, esta función devolverá FALSE.

Ver también

  • msql_list_tables() - Lista las tablas en una base de datos mSQL
  • msql_list_dbs() - Lista las bases de datos mSQL del servidor

msql_list_dbs
msql_list_tables
mSQL Funciones


Lista las tablas en una base de datos mSQL

msql_list_fields
msql_num_fields
mSQL Funciones
PHP Manual

msql_list_tables

(PHP 4, PHP 5)

msql_list_tables — Lista las tablas en una base de datos mSQL

Descripción

resource msql_list_tables ( string $database [, resource $link_identifier ] )

msql_list_tables() lista las tablas en la database especificada.

Parámetros

database

El nombre de la base de datos.

link_identifier

La conexión mSQL. De no ser especificada, el último enlace abierto por msql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si msql_connect() fuese invocado, y lo utiliza.

Valores devueltos

Devuelve un conjunto de resultados que puede ser utilizado por cualquier función que obtenga un conjunto de resultados, como msql_fetch_array(). En caso de fallo, esta función devolverá FALSE.

Ver también

  • msql_list_fields() - Lista los campos resultantes
  • msql_list_dbs() - Lista las bases de datos mSQL del servidor

msql_list_fields
msql_num_fields
mSQL Funciones


Obtiene el número de campos en el resultado

msql_list_tables
msql_num_rows
mSQL Funciones
PHP Manual

msql_num_fields

(PHP 4, PHP 5)

msql_num_fields — Obtiene el número de campos en el resultado

Descripción

int msql_num_fields ( resource $result )

msql_num_fields() devuelve el número de campos en el conjunto de resultados.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a msql_query().

Valores devueltos

Devuelve el número de campos en el conjunto de resultados.

Ver también

  • msql_query() - Enviar una petición mSQL
  • msql_fetch_field() - Extraer información de campo
  • msql_num_rows() - Obtiene el número de filas en el resultado

msql_list_tables
msql_num_rows
mSQL Funciones


Obtiene el número de filas en el resultado

msql_num_fields
msql_numfields
mSQL Funciones
PHP Manual

msql_num_rows

(PHP 4, PHP 5)

msql_num_rows — Obtiene el número de filas en el resultado

Descripción

int msql_num_rows ( resource $query_identifier )

msql_num_rows() devuelve el número de filas en el conjunto de resultados.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a msql_query().

Valores devueltos

Devuelve el número de filas en el conjunto de resultados.

Ver también

  • msql_num_fields() - Obtiene el número de campos en el resultado

msql_num_fields
msql_numfields
mSQL Funciones


Alias de msql_num_fields

msql_num_rows
msql_numrows
mSQL Funciones
PHP Manual

msql_numfields

(PHP 4, PHP 5)

msql_numfields — Alias de msql_num_fields()

Descripción

Esta función es un alias de msql_num_fields().

msql_num_rows
msql_numrows
mSQL Funciones


Alias de msql_num_rows

msql_numfields
msql_pconnect
mSQL Funciones
PHP Manual

msql_numrows

(PHP 4, PHP 5)

msql_numrows — Alias de msql_num_rows()

Descripción

Esta función es un alias de msql_num_rows().

msql_numfields
msql_pconnect
mSQL Funciones


Abrir una conexión mSQL persistente

msql_numrows
msql_query
mSQL Funciones
PHP Manual

msql_pconnect

(PHP 4, PHP 5)

msql_pconnect — Abrir una conexión mSQL persistente

Descripción

resource msql_pconnect ([ string $hostname ] )

msql_pconnect() funciona de forma similar a msql_connect() con dos claras diferencias.

En primer lugar, al conectarse, la primera función sería tratar de encontrar un enlace (persistente) que esté ya abierto con el mismo host. Si se encuentra alguno, un identificador de éste será devuelto en vez de abrir una nueva conexión.

En segundo lugar, la conexión al servidor SQL no será cerrada cuando la ejecución del script finalice. En su lugar, el enlace permanecerá abierto para su futuro uso ( msql_close() no cerrará los enlaces establecidos con esta función).

Parámetros

hostname

El hostname también puede incluir un número de puerto, por ejemplo: hostname,port.

Si no se especifica, la conexión se establece por medio de un dominio socket de Unix, siendo más eficaz que una conexión TCP al servidor local.

Nota: Mientras esta función acepte los dos puntos (:) como un separador de host/puerto, una coma (,) será el método preferido.

Valores devueltos

Devuelve un identificador positivo de enlace mSQL en caso de éxito, o FALSE en caso de error.

Ver también

  • msql_connect() - Abre una conexión mSQL
  • msql_close() - Cierra la conexión mSQL

msql_numrows
msql_query
mSQL Funciones


Enviar una petición mSQL

msql_pconnect
msql_regcase
mSQL Funciones
PHP Manual

msql_query

(PHP 4, PHP 5)

msql_query — Enviar una petición mSQL

Descripción

resource msql_query ( string $query [, resource $link_identifier ] )

msql_query() envía una petición a la base de datos (del servidor) activa en este momento que está asociada con el identificador de enlace especificado.

Parámetros

query

La petición SQL.

link_identifier

La conexión mSQL. De no ser especificada, el último enlace abierto por msql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si msql_connect() fuese invocado, y lo utiliza.

Valores devueltos

Devuelve un identificador de petición mSQL positivo en caso de éxito, o FALSE en caso de error.

Ejemplos

Ejemplo #1 msql_query() ejemplo

<?php
$link = msql_connect("dbserver")
   or die("unable to connect to msql server: " . msql_error());
msql_select_db("db", $link)
   or die("unable to select database 'db': " . msql_error());

$result = msql_query("SELECT * FROM table WHERE id=1", $link);
if (!$result) {
   die("query failed: " . msql_error());
}

while ($row = msql_fetch_array($result)) {
    echo $row["id"];
}
?>

Ver también

  • msql_db_query() - Envía una consulta mSQL
  • msql_select_db() - Selecciona una base de datos mSQL
  • msql_connect() - Abre una conexión mSQL

msql_pconnect
msql_regcase
mSQL Funciones


Alias de sql_regcase

msql_query
msql_result
mSQL Funciones
PHP Manual

msql_regcase

(PHP 4, PHP 5)

msql_regcase — Alias de sql_regcase()

Descripción

Esta función es un alias de sql_regcase().

msql_query
msql_result
mSQL Funciones


Obtención de datos del resultado

msql_regcase
msql_select_db
mSQL Funciones
PHP Manual

msql_result

(PHP 4, PHP 5)

msql_result — Obtención de datos del resultado

Descripción

string msql_result ( resource $result , int $row [, mixed $field ] )

msql_result() devuelve el contenido de una celda de un conjunto de resultados mSQL.

Cuando se trabaja con conjuntos de resultados grandes, se debe barajar la posibilidad de usar una de las funciones que buscan una fila completa (especificadas abajo). Como estas funciones devuelven el contenido de varias celdas en una llamada a la función, a menudo son mucho más rápidas que msql_result().

Recomendaciones de alto rendimiento:
 msql_fetch_row(),
 msql_fetch_array(), y
 msql_fetch_object().

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a msql_query().

row

La fila del conjunto de resultados que está siendo recuperada.

field

Puede ser el campo de desplazamiento, o el nombre del campo o el campo de la tabla punto nombre del campo (nombre-de-tabla.nombre-de-campo). Si el nombre de la columna se ha abreviado ('select foo as bar from ...'), use la abreviatura en lugar del nombre de la columna.

Nota:

Especificar un campo numérico de tipo desplazamiento es mucho más rápido que especificar un nombre de campo (fieldname) o su ruta relativa dentro de la tabla (nombre-de-tabla.nombre-de-campo).

Valores devueltos

Devuelve el contenido de la celda en la fila y el desplazamiento del conjunto de resultados mSQL especificado. Returns the contents of the cell at the row and offset in the specified mSQL result set.

msql_regcase
msql_select_db
mSQL Funciones


Selecciona una base de datos mSQL

msql_result
msql_tablename
mSQL Funciones
PHP Manual

msql_select_db

(PHP 4, PHP 5)

msql_select_db — Selecciona una base de datos mSQL

Descripción

bool msql_select_db ( string $database_name [, resource $link_identifier ] )

msql_select_db() fija la base de datos que se encuentra activa actualmente en el seridor asociado con el específico link_identifier.

Las sucesivas llamadas a msql_query() serán hechas en la base de datos activa.

Parámetros

database_name

El nombre de la base de datos.

link_identifier

La conexión mSQL. De no ser especificada, el último enlace abierto por msql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si msql_connect() fuese invocado, y lo utiliza.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • msql_connect() - Abre una conexión mSQL
  • msql_pconnect() - Abrir una conexión mSQL persistente
  • msql_query() - Enviar una petición mSQL

msql_result
msql_tablename
mSQL Funciones


Alias de msql_result

msql_select_db
msql
mSQL Funciones
PHP Manual

msql_tablename

(PHP 4, PHP 5)

msql_tablename — Alias de msql_result()

Descripción

Esta función es un alias de msql_result().

msql_select_db
msql
mSQL Funciones


Alias de msql_db_query

msql_tablename
Mssql
mSQL Funciones
PHP Manual

msql

(PHP 4, PHP 5)

msql — Alias de msql_db_query()

Descripción

Esta función es un alias de msql_db_query().

msql_tablename
Mssql
mSQL Funciones


Microsoft SQL Server

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Mssql Funciones
    • mssql_bind — Añade un parámetro a un stored procedure (procedimiento almacenado) MSSQL (local o remoto)
    • mssql_close — Cierra una conexión MS SQL Server
    • mssql_connect — Establece una conexión a un servidor MS SQL
    • mssql_data_seek — Desplaza el apuntador interno de fila
    • mssql_execute — Ejecuta un stored procedure (procedimiento almacenado) en una base de datos del servidor MS SQL
    • mssql_fetch_array — Devuelve una fila del resultado como array asociativo, numérico o ambos
    • mssql_fetch_assoc — Devuelve un array asociativo con la fila actual en el resultado del MS SQL Server
    • mssql_fetch_batch — Devuelve el siguiente lote de registros
    • mssql_fetch_field — Obtiene información del campo
    • mssql_fetch_object — Devuelve una fila de la consulta MS SQL, como un objeto
    • mssql_fetch_row — Lee una línea del resultado de la consulta MS SQL dentro de un array numérico
    • mssql_field_length — Devuelve la longitud de un campo
    • mssql_field_name — Devuelve el nombre de un campo
    • mssql_field_seek — Apunta al número de campo especificado
    • mssql_field_type — Devuelve el tipo de un campo
    • mssql_free_result — Liberar la memoria del recurso resultado de MS SQL
    • mssql_free_statement — Liberar la memoria ocupada por la sentencia MS SQL
    • mssql_get_last_message — Devuelve el último mensaje de error generado por el servidor MSSQL
    • mssql_guid_string — Convierte un GUID (Globally Unique Identifier-Identificador globalmente único) binario de 16 bytes en un string
    • mssql_init — Inicializa un stored procedure (procedimiento almacenado) local o remoto
    • mssql_min_error_severity — Fija el nivel mínimo de severidad de los errores
    • mssql_min_message_severity — Fija el nivel mínimo de severidad de los mensajes
    • mssql_next_result — Mover el puntero interno del resultado al siguiente resultado
    • mssql_num_fields — Devuelve el número de campos del resultado
    • mssql_num_rows — Devuelve el número de filas que hay en un resultado
    • mssql_pconnect — Abre una conexión MS SQL persistente
    • mssql_query — Enviar una consulta MS SQL
    • mssql_result — Obtiene los datos de resultado
    • mssql_rows_affected — Devuelve el número de registros afectado por la sentencia SQL de escritura
    • mssql_select_db — Selecciona la base de datos MS SQL
msql
Introducción
Extensiones de bases de datos específicas del proveedor


Introducción

Estas funciones permiten el acceso a bases de datos MS SQL Server.

Esta extensión ya no está disponible en Windows con PHP 5.3 o posterior.

SQLSRV, una extensión alternativa para conectividad con MS SQL está disponible desde Microsoft: » http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx.

Mssql
Instalación/Configuración
Mssql


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Mssql


Requerimientos

Requerimientos para plataformas Win32.

La extensión requiere que las herramientas cliente de MS SQL para ser instalada en el sistema donde está instalado PHP. Las herramientas de cliente se pueden instalar desde el CD de MS SQL Server o mediante la copia de ntwdblib.dll desde \winnt\system32 en el servidor hacia \winnt\system32 en la maquina de PHP. Copiando ntwdblib.dll sólo permitirá el acceso a través de canalizaciones con nombre. La configuración del cliente requerirá la instalación de todas las herramientas.

Esta extensión ya no está disponible en Windows con PHP 5.3 o posterior.

SqlSrv, es un driver alternativo para MS SQL disponible desde Microsoft: » http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx.

Requerimientos para plataformas Unix/Linux.

Para utilizar la extensión MSSQL en Unix/Linux, primero es necesario construir e instalar la biblioteca FreeTDS. El código fuente y las instrucciones de instalación están disponibles en la página web de FreeTDS: » http://www.freetds.org/

Nota:

En Windows se usa el DBLIB de Microsoft. Las funciones que devuelven un nombre de columna se basan en la función dbcolname() en DBLIB. DBLIB fue desarrollado para SQL Server 6.x, donde la longitud máxima del identificador es 30. Por esta razón, la longitud máxima de columna es de 30 caracteres. En plataformas donde se utiliza FreeTDS (Linux), esto no es un problema.

Nota:

En Windows, si se está usando MSSQL 2005 o superior, se debe copiar el ntwdblib.dll en el directorio donde se ha instalado php y sobrescribir el que ya existe. Esto se debe a que la versión distribuida es vieja y obsoleta. Alternativamente, se pueden utilizar las extensiones » http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx, ODBC, PDO_DBLIB o PDO_ODBC, para comunicarse con MSSQL.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

La extensión MSSQL se activa añadiendo extension=php_mssql.dll en el fichero php.ini.

Para que funcionen estas funciones, se ha de compilar PHP con --with-mssql[=DIR] , donde DIR es el prefijo de instalación FreeTDS. Y FreeTDS debe compilarse utilizando --enable-msdblib .

Advertencia

Las funciones MS SQL son alias a funciones Sybase, si PHP está compilado con la extensión Sybase y sin extensión MS SQL.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de MS SQL Server
Nombre | Por defecto | Cambiable | Historial de cambios
mssql.allow_persistent | "1" | PHP_INI_SYSTEM |
mssql.max_persistent | "-1" | PHP_INI_SYSTEM |
mssql.max_links | "-1" | PHP_INI_SYSTEM |
mssql.min_error_severity | "10" | PHP_INI_ALL |
mssql.min_message_severity | "10" | PHP_INI_ALL |
mssql.compatability_mode | "0" | PHP_INI_ALL |
mssql.connect_timeout | "5" | PHP_INI_ALL |
mssql.timeout | "60" | PHP_INI_ALL | Available since PHP 4.1.0.
mssql.textsize | "-1" | PHP_INI_ALL |
mssql.textlimit | "-1" | PHP_INI_ALL |
mssql.batchsize | "0" | PHP_INI_ALL | Disponible desde PHP 4.0.4.
mssql.datetimeconvert | "1" | PHP_INI_ALL | Disponible desde PHP 4.2.0.
mssql.secure_connection | "0" | PHP_INI_SYSTEM | Disponible desde PHP 4.3.0.
mssql.max_procs | "-1" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
mssql.charset | "" | PHP_INI_ALL | Disponible desde PHP 5.1.2 cuando se compila con FreeTDS 7.0 o superior.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

mssql link

Un enlace de conexión devuelto por mssql_connect() y mssql_pconnect().

mssql result

Un manejador de resultado devuelto por mssql_query() sobre consultas SELECT.

mssql statement

Un identificador de instrucción devuelto por mssql_init().

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

MSSQL_ASSOC (integer)
Devuelve un array asociativo. Utilizado en el parámetro result_type de la función mssql_fetch_array() .
MSSQL_NUM (integer)
Devuelve un array con claves numéricas. Utilizado en el parámetro result_type de la función mssql_fetch_array() .
MSSQL_BOTH (integer)
Devuelve un array con claves numéricas así como claves con sus nombres de campo. Este es el valor por defecto para el parámetro result_type de la función mssql_fetch_array() .
SQLTEXT (integer)
Indica el tipo 'TEXT' en MSSQL, utilizado por el parámetro type de la función mssql_bind() .
SQLVARCHAR (integer)
Indica el tipo 'VARCHAR' en MSSQL, utilizado por el parámetro type de la función mssql_bind() .
SQLCHAR (integer)
Indica el tipo 'CHAR' en MSSQL, utilizado por el parámetro type de la función mssql_bind() .
SQLINT1 (integer)
Representa un byte, con un rango de -128 a 127.
SQLINT2 (integer)
Representa dos bytes, con un rango de -32768 a 32767.
SQLINT4 (integer)
Representa cuatro bytes, con un rango de -2147483648 a 2147483647.
SQLBIT (integer)
Indica el tipo 'BIT' en MSSQL, utilizado por el parámetro type de la función mssql_bind() .
SQLFLT4 (integer)
Representa un float de cuatro bytes.
SQLFLT8 (integer)
Representa un float de ocho bytes.
Tipos de recursos
Mssql Funciones
Mssql


Mssql Funciones

Tabla de contenidos

  • mssql_bind — Añade un parámetro a un stored procedure (procedimiento almacenado) MSSQL (local o remoto)
  • mssql_close — Cierra una conexión MS SQL Server
  • mssql_connect — Establece una conexión a un servidor MS SQL
  • mssql_data_seek — Desplaza el apuntador interno de fila
  • mssql_execute — Ejecuta un stored procedure (procedimiento almacenado) en una base de datos del servidor MS SQL
  • mssql_fetch_array — Devuelve una fila del resultado como array asociativo, numérico o ambos
  • mssql_fetch_assoc — Devuelve un array asociativo con la fila actual en el resultado del MS SQL Server
  • mssql_fetch_batch — Devuelve el siguiente lote de registros
  • mssql_fetch_field — Obtiene información del campo
  • mssql_fetch_object — Devuelve una fila de la consulta MS SQL, como un objeto
  • mssql_fetch_row — Lee una línea del resultado de la consulta MS SQL dentro de un array numérico
  • mssql_field_length — Devuelve la longitud de un campo
  • mssql_field_name — Devuelve el nombre de un campo
  • mssql_field_seek — Apunta al número de campo especificado
  • mssql_field_type — Devuelve el tipo de un campo
  • mssql_free_result — Liberar la memoria del recurso resultado de MS SQL
  • mssql_free_statement — Liberar la memoria ocupada por la sentencia MS SQL
  • mssql_get_last_message — Devuelve el último mensaje de error generado por el servidor MSSQL
  • mssql_guid_string — Convierte un GUID (Globally Unique Identifier-Identificador globalmente único) binario de 16 bytes en un string
  • mssql_init — Inicializa un stored procedure (procedimiento almacenado) local o remoto
  • mssql_min_error_severity — Fija el nivel mínimo de severidad de los errores
  • mssql_min_message_severity — Fija el nivel mínimo de severidad de los mensajes
  • mssql_next_result — Mover el puntero interno del resultado al siguiente resultado
  • mssql_num_fields — Devuelve el número de campos del resultado
  • mssql_num_rows — Devuelve el número de filas que hay en un resultado
  • mssql_pconnect — Abre una conexión MS SQL persistente
  • mssql_query — Enviar una consulta MS SQL
  • mssql_result — Obtiene los datos de resultado
  • mssql_rows_affected — Devuelve el número de registros afectado por la sentencia SQL de escritura
  • mssql_select_db — Selecciona la base de datos MS SQL
Constantes predefinidas
mssql_bind
Mssql


Añade un parámetro a un stored procedure (procedimiento almacenado) MSSQL (local o remoto)

Mssql Funciones
mssql_close
Mssql Funciones
PHP Manual

mssql_bind

(PHP 4 >= 4.0.7, PHP 5, PECL odbtp >= 1.1.1)

mssql_bind — Añade un parámetro a un stored procedure (procedimiento almacenado) MSSQL (local o remoto)

Descripción

bool mssql_bind ( resource $stmt , string $param_name , mixed &$var , int $type [, bool $is_output = false [, bool $is_null = false [, int $maxlen = -1 ]]] )

Vincula un parámetro a un stored procedure MSSQL (local o remoto).

Parámetros

stmt

Recurso de solicitud, obtenido con la función mssql_init().

param_name

El nombre del parámetro, como un string.

Nota:

Se ha de incluir el carácter @, como en la sintaxis T-SQL. Ver la explicación incluída en mssql_execute().

var

La variable PHP que se vinculará al parámetro MSSQL. Se pasa por referencia, para obtener los valores OUTPUT y RETVAL una vez el procedimiento ha sido ejecutado.

type

Uno constante de entre: SQLTEXT, SQLVARCHAR, SQLCHAR, SQLINT1, SQLINT2, SQLINT4, SQLBIT, SQLFLT4, SQLFLT8, SQLFLTN.

is_output

Si el valor es un parámetro OUTPUT o no. Si no es un parámetro OUTPUT y no se menciona, éste será tratado como un parámetro de entrada normal y no se generará un error.

is_null

Si el valor es NULL o no. Pasar el valor NULL al parámetro var no hará nada.

maxlen

Utilizado con valores char/varchar. Se ha de indicar la longitud de los datos, por lo que si el parámetro es un varchar(50), el tipo debe ser SQLVARCHAR y su valor 50.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo con mssql_bind()

<?php
// Conectar a MSSQL y seleccionar la base de datos
mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Crear un nuevo stored procedure
$stmt = mssql_init('NewUserRecord');

// Vincular los nombres de campos
mssql_bind($stmt, '@username',  'Kalle',  SQLVARCHAR,  false,  false,  60);
mssql_bind($stmt, '@name',      'Kalle',  SQLVARCHAR,  false,  false,  60);
mssql_bind($stmt, '@age',       19,       SQLINT1,     false,  false,   3);

// Ejecutar
mssql_execute($stmt);

// Liberar los recursos
mssql_free_statement($stmt);
?>

Ver también

  • mssql_execute() - Ejecuta un stored procedure (procedimiento almacenado) en una base de datos del servidor MS SQL
  • mssql_free_statement() - Liberar la memoria ocupada por la sentencia MS SQL
  • mssql_init() - Inicializa un stored procedure (procedimiento almacenado) local o remoto

Mssql Funciones
mssql_close
Mssql Funciones


Cierra una conexión MS SQL Server

mssql_bind
mssql_connect
Mssql Funciones
PHP Manual

mssql_close

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_close — Cierra una conexión MS SQL Server

Descripción

bool mssql_close ([ resource $link_identifier ] )

Cierra la conexión a la base MS SQL Server que está asociada con el identificador de conexión especificado. Si el identificador de conexión no está especificado, se se cerrará la última conexión abierta.

Notar que habitualmente no es necesario, puesto que las conexiones abiertas no persistentes se cierran automáticamente al final de la ejecución del script.

Parámetros

link_identifier

Un identificador de conexión MS SQL, devuelto por la función mssql_connect().

Esta función no cerrará las conexiones persistentes generadas por mssql_pconnect().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo con mssql_close()

<?php
// Conectar a MSSQL
$link = mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');

// Realizar las operaciones SQL aquí ....

// Cerrar la conexión a MSSQL
mssql_close($link);
?>

Ver también

  • mssql_connect() - Establece una conexión a un servidor MS SQL
  • mssql_pconnect() - Abre una conexión MS SQL persistente

mssql_bind
mssql_connect
Mssql Funciones


Establece una conexión a un servidor MS SQL

mssql_close
mssql_data_seek
Mssql Funciones
PHP Manual

mssql_connect

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_connect — Establece una conexión a un servidor MS SQL

Descripción

resource mssql_connect ([ string $servername [, string $username [, string $password [, bool $new_link = false ]]]] )

mssql_connect() establece una conexión a un servidor MS SQL.

La conexión al servidor se cerrará en cuanto finalice la ejecución del script, a menos que ésta sea cerrada antes de forma explícita llamando a la función mssql_close().

Parámetros

servername

El servidor MS SQL. También puede incluir un número de puerto, p.e. hostname:port (Linux), o hostname,port (Windows).

username

El nombre de usuario.

password

La contraseña.

new_link

Si se hace una segunda llamada a la función mssql_connect() con los mismos argumentos, no se establecerá una nueva conexión, pero en vez de eso, devolverá el identificador de la conexión que ya se había abierto. Este parámetro modifica el comportamiento y hace que mssql_connect() siempre abra una nueva conexión, incluso si mssql_connect() se llamó anteriomente con los mismos parámetros.

Valores devueltos

Devuelve un identificador de conexión a MS SQL en caso de éxito, o FALSE en caso de error.

Historial de cambios

Versión | Descripción
4.4.1 y 5.1.0 | Se añadió el parámetro new_link .

Ejemplos

Ejemplo #1 Ejemplo con mssql_connect()

<?php
// El servidor con el formato: <computer>\<instance name> o
// <server>,<port> cuando se use un número de puerto diferente del de defecto
$server = 'KALLESPC\SQLEXPRESS';

// Connect to MSSQL
$link = mssql_connect($server, 'sa', 'phpfi');

if (!$link) {
    die('Algo fue mal mientras se conectava a MSSQL');
}
?>

Ver también

  • mssql_close() - Cierra una conexión MS SQL Server
  • mssql_pconnect() - Abre una conexión MS SQL persistente

mssql_close
mssql_data_seek
Mssql Funciones


Desplaza el apuntador interno de fila

mssql_connect
mssql_execute
Mssql Funciones
PHP Manual

mssql_data_seek

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_data_seek — Desplaza el apuntador interno de fila

Descripción

bool mssql_data_seek ( resource $result_identifier , int $row_number )

mssql_data_seek() desplaza el apuntador interno de fila dentro del resultado de MS SQL (result_identifier) hasta apuntar al número de fila row_number, siendo la primera fila la número 0. La siguiente llamada a mssql_fetch_row() devolverá esa fila.

Parámetros

result_identifier

El identificador del resultado que está siendo evaluado.

row_number

El número de fila al que se desea apuntar en el resultado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 mssql_data_seek() example

<?php
// Conectar a MSSQL y seleccionar la base de datos
$link = mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php', $link);

// Seleccionar a todo el mundo
$result = mssql_query('SELECT [name], [age] FROM [persons] WHERE [age] >= 13');

if (!$result) {
    die('Query fallida.');
}

// Seleccionar a cada 4º estudiante en los resultados
for ($i = mssql_num_rows($result) - 1; $i % 4; $i++) {
    if (!mssql_data_seek($result, $i)) {
        continue;
    }

    // Leer la fila ...
}

// Liberar el resultado
mssql_free_result($result);
?>

mssql_connect
mssql_execute
Mssql Funciones


Ejecuta un stored procedure (procedimiento almacenado) en una base de datos del servidor MS SQL

mssql_data_seek
mssql_fetch_array
Mssql Funciones
PHP Manual

mssql_execute

(PHP 4 >= 4.0.7, PHP 5, PECL odbtp >= 1.1.1)

mssql_execute — Ejecuta un stored procedure (procedimiento almacenado) en una base de datos del servidor MS SQL

Descripción

mixed mssql_execute ( resource $stmt [, bool $skip_results = false ] )

Ejecuta un stored procedure en una base de datos del servidor MS SQL

Parámetros

stmt

Gestor de la sentencia obtenido con la función mssql_init().

skip_results

Si se omiten los resultados o no.

Ejemplos

Ejemplo #1 mssql_execute() example

<?php
// Crea una nueva sentencia
$stmt = mssql_init('NewBlogEntry');

// Definición de algunos strings
$title = 'Test del sistema de blog';
$content = 'Si puedes leer esto, significa que el nuevo sistema es compatible con MSSQL';

// Vincular valores
mssql_bind($stmt, '@author',    'Felipe Pena',  SQLVARCHAR,     false,  false,   60);
mssql_bind($stmt, '@date',      '08/10/2008',   SQLVARCHAR,     false,  false,   20);
mssql_bind($stmt, '@title',     $title,         SQLVARCHAR,     false,  false,   60);
mssql_bind($stmt, '@content',   $content,       SQLTEXT);

// Ejecutar la sentencia
mssql_execute($stmt);

// Liberar el recurso de la sentencia
mssql_free_statement($stmt);
?>

Notas

Nota:

Si el stored procedure devuelve parámetros o un valor, éstos estarán disponibles después de la llamada a mssql_execute() a menos que el stored procedure devuelva más de un conjunto de resultados. En ese caso utilice mssql_next_result() para moverse a través de los conjuntos de resultados. Cuando se haya procesado el último resultado, estarán disponibles los parámetros de salida y los valores devueltos.

Ver también

  • mssql_bind() - Añade un parámetro a un stored procedure (procedimiento almacenado) MSSQL (local o remoto)
  • mssql_free_statement() - Liberar la memoria ocupada por la sentencia MS SQL
  • mssql_init() - Inicializa un stored procedure (procedimiento almacenado) local o remoto

mssql_data_seek
mssql_fetch_array
Mssql Funciones


Devuelve una fila del resultado como array asociativo, numérico o ambos

mssql_execute
mssql_fetch_assoc
Mssql Funciones
PHP Manual

mssql_fetch_array

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_fetch_array — Devuelve una fila del resultado como array asociativo, numérico o ambos

Descripción

array mssql_fetch_array ( resource $result [, int $result_type = MSSQL_BOTH ] )

mssql_fetch_array() es una versión extendida de mssql_fetch_row(). Además de almacenar los datos en el array resultante con índices numéricos, también almacena los datos con índices asociativos utilizando los nombres de los campos como claves.

Algo importante que observar es que el uso de mssql_fetch_array() NO es significativamente más lento que mssql_fetch_row(), mientras que esta proporciona un valor agregado significativo.

Parámetros

result

El resultado que será evaluado. Este resultado proviene de una llamada a mssql_query().

result_type

El tipo de array que se obtendrá. Es una constante que puede tener los siguientes valores: MSSQL_ASSOC, MSSQL_NUM, and MSSQL_BOTH.

Valores devueltos

Retorna un array que corresponde a la fila obtenida o FALSE si no hay más filas

Ejemplos

Ejemplo #1 Ejemplo de mssql_fetch_array()

<?php
// Enviar una consulta con  SELECT a  MSSQL
$query = mssql_query('SELECT [username], [name] FROM [php].[dbo].[userlist]');
// Revisar si obtuvieron registros
if (!mssql_num_rows($query)) {
    echo 'No records found';
} else {
    // El siguiente es igual al código de abajo
    // while ($row = mssql_fetch_row($query)) {
    while ($row = mssql_fetch_array($query, MSSQL_NUM)) {
        // ...
    }
}
// Liberar de memoria el resultado de la consulta
mssql_free_result($query);
?>

Notas

Nota: Los nombres de los campos devueltos por esta función son sensibles a mayúsculas y minúsculas.

Nota: Esta función define campos NULOS al valor NULL de PHP.

Ver también

  • mssql_fetch_row() - Lee una línea del resultado de la consulta MS SQL dentro de un array numérico

mssql_execute
mssql_fetch_assoc
Mssql Funciones


Devuelve un array asociativo con la fila actual en el resultado del MS SQL Server

mssql_fetch_array
mssql_fetch_batch
Mssql Funciones
PHP Manual

mssql_fetch_assoc

(PHP 4 >= 4.2.0, PHP 5, PECL odbtp >= 1.1.1)

mssql_fetch_assoc — Devuelve un array asociativo con la fila actual en el resultado del MS SQL Server

Descripción

array mssql_fetch_assoc ( resource $result_id )

Devuelve un array asociativo correspondiente a la fila leída y desplaza el apuntador de datos interno hacia adelante. mssql_fetch_assoc() es equivalente a llamar a mssql_fetch_array() con el valor MSSQL_ASSOC para el segundo parámetro opcional.

Parámetros

result_id

El identificador del resultado que está siendo evaluado. Este resultado proviene de una llamada a mssql_query().

Valores devueltos

Devuelve un array asociativo correspondiente a la fila leída, o FALSE si no hay más filas.

Ejemplos

Ejemplo #1 mssql_fetch_assoc() example

<?php
// Envía una consulta a MSSQL
$query = mssql_query('SELECT [username], [name] FROM [php].[dbo].[userlist]');

// Verifica si había registros
if (!mssql_num_rows($query)) {
    echo 'No se encontraron registros';
}
else
{
    // Muestra una bonita lista de usuarios con el formato:
    // * nombre (nombre de usuario)

    echo '<ul>';

    while ($row = mssql_fetch_assoc($query)) {
        echo '<li>' . $row['name'] . ' (' . $row['username'] . ')</li>';
    }

    echo '</ul>';
}

// Libera el recurso
mssql_free_result($query);
?>

mssql_fetch_array
mssql_fetch_batch
Mssql Funciones


Devuelve el siguiente lote de registros

mssql_fetch_assoc
mssql_fetch_field
Mssql Funciones
PHP Manual

mssql_fetch_batch

(PHP 4 >= 4.0.4, PHP 5, PECL odbtp >= 1.1.1)

mssql_fetch_batch — Devuelve el siguiente lote de registros

Descripción

int mssql_fetch_batch ( resource $result )

Devuelve el siguiente lote de registros.

Parámetros

result

Los resultados que se están evaluando. Este resultado proviene de una llamada a la función mssql_query().

Valores devueltos

Devuelve el número de filas del lote devuelto.

Ejemplos

Ejemplo #1 Ejemplo con mssql_fetch_batch()

<?php
// Conectar a MSSQL y seleccionar la base de datos
$link = mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php', $link);

// Enviar una consulta
$result = mssql_query('SELECT * FROM [php].[dbo].[people]', $link, 100);
$records = 10;

while ($records >= 0) {
    while ($row = mssql_fetch_assoc($result)) {
        // Tratar las filas leídas...
    }

    --$records;
}

if ($batchsize = mssql_fetch_batch($result)) {
    // $batchsize es el número de registros que quedan
    // del resultado, pero que todavía no se han mostrado
}
?>

mssql_fetch_assoc
mssql_fetch_field
Mssql Funciones


Obtiene información del campo

mssql_fetch_batch
mssql_fetch_object
Mssql Funciones
PHP Manual

mssql_fetch_field

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_fetch_field — Obtiene información del campo

Descripción

object mssql_fetch_field ( resource $result [, int $field_offset = -1 ] )

mssql_fetch_field() puede utilizarse para obtener información sobre los campos de una determinada consulta realizada.

Parámetros

result

El resultado que está siendo evaluado. Este resultado proviene de una llamada a la función mssql_query().

field_offset

El número de posición del campo. Si no se especifica, se mostrará el próximo campo que todavía no se haya mostrado. El parámetro field_offset empieza en 0.

Valores devueltos

Devuelve un objeto que contiene la información de los campos.

Las propiedades del objeto son las siguientes:

  • name - nombre de columna. Si la columna es el resultado de una función, esta propiedad toma el valor computed#N, donde #N es un número de serie.
  • column_source - la tabla de la que proviene la columna.
  • max_length - longitud máxima de la columna.
  • numeric - 1 si la columna es numérica.
  • type - el tipo de la columna.

Ejemplos

Ejemplo #1 mssql_fetch_field() example

<?php
// Conectar a MSSQL y seleccionar la base de datos
mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Enviar una selección a MSSQL
$query = mssql_query('SELECT * FROM [php].[dbo].[persons]');

// Construir la tabla
echo '<h3>Estructura de tabla para \'persons\'</h3>';
echo '<table border="1">';

// Cabecera de la tabla
echo '<thead>';
echo '<tr>';
echo '<td>Field name</td>';
echo '<td>Data type</td>';
echo '<td>Max length</td>';
echo '</tr>';
echo '</thead>';

// Descargar los campos
echo '<tbody>';

for ($i = 0; $i < mssql_num_fields($query); ++$i) {
    // Leer la información del campo
    $field = mssql_fetch_field($query, $i);

    // Mostrar la fila
    echo '<tr>';
    echo '<td>' . $field->name . '</td>';
    echo '<td>' . strtoupper($field->type) . '</td>';
    echo '<td>' . $field->max_length . '</td>';
    echo '</tr>';
}

echo '</tbody>';
echo '</table>';

// Liberar el recurso
mssql_free_result($query);
?>

Ver también

  • mssql_field_seek() - Apunta al número de campo especificado

mssql_fetch_batch
mssql_fetch_object
Mssql Funciones


Devuelve una fila de la consulta MS SQL, como un objeto

mssql_fetch_field
mssql_fetch_row
Mssql Funciones
PHP Manual

mssql_fetch_object

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_fetch_object — Devuelve una fila de la consulta MS SQL, como un objeto

Descripción

object mssql_fetch_object ( resource $result )

mssql_fetch_object() es similar a mssql_fetch_array(), con la única diferencia de que se devuelve un objeto en vez de un array. Indirectamente, esto significa que sólo se puede acceder a los datos mediante los nombres de campo, y no a través de sus posiciones (los números no pueden ser nombres de propiedad).

En términos de velocidad, la función es idéntica a mssql_fetch_array(), y casi tan rápida como mssql_fetch_row() (la diferencia es insignificante).

Parámetros

result

El resultado que está siendo evaluado. Este resultado proviene de una llamada a mssql_query().

Valores devueltos

Devuelve un objeto donde las propiedades contienen los valores de la fila leída, o FALSE si no hay más filas.

Ejemplos

Ejemplo #1 Ejemplo con mssql_fetch_object()

<?php
// Envía una consulta a MSSQL
$query = mssql_query('SELECT [username], [name] FROM [php].[dbo].[userlist]');

// Evaluar si hay más registros por leer
if (!mssql_num_rows($query)) {
    echo 'No hay registros';
} else {
    // Mostrar una lista de usuarios con el formato:
    // * nombre (nombre de usuario)

    echo '<ul>';

    while ($row = mssql_fetch_object($query)) {
        echo '<li>' . $row->name . ' (' . $row->username . ')</li>';
    }

    echo '</ul>';
}

// Liberar el recurso
mssql_free_result($query);
?>

Notas

Nota: Los nombres de los campos devueltos por esta función son sensibles a mayúsculas y minúsculas.

Nota: Esta función define campos NULOS al valor NULL de PHP.

Ver también

  • mssql_fetch_array() - Devuelve una fila del resultado como array asociativo, numérico o ambos
  • mssql_fetch_row() - Lee una línea del resultado de la consulta MS SQL dentro de un array numérico

mssql_fetch_field
mssql_fetch_row
Mssql Funciones


Lee una línea del resultado de la consulta MS SQL dentro de un array numérico

mssql_fetch_object
mssql_field_length
Mssql Funciones
PHP Manual

mssql_fetch_row

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_fetch_row — Lee una línea del resultado de la consulta MS SQL dentro de un array numérico

Descripción

array mssql_fetch_row ( resource $result )

mssql_fetch_row() lee una linea de datos del resultado . La fila es devuelta como un array. Cada columna del resultado está guardada en un elemento del array, empezando desde el índice 0.

Las llamadas siguientes a mssql_fetch_row() devolverán la siguiente fila en el conjunto resultado, o FALSE si no hay más filas.

Parámetros

result

El resultado que está siendo evaluado. Este resultado procede de una llamada a mssql_query().

Valores devueltos

Devuelve un array que corresponde a la fila leída, o FALSE si no hay más filas.

Ejemplos

Ejemplo #1 Ejemplo con mssql_fetch_row()

<?php
// Conectar a MSSQL y seleccionar la base de datos
$link = mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php', $link);

// Ejecutar la consulta
$query = mssql_query('SELECT [id], [quote] FROM [quotes] WHERE [id] = \'42\'', $link);

// La consulta falló ?
if (!$query) {
    die('MSSQL error: ' . mssql_get_last_message());
}

// Leer la fila
$row = mssql_fetch_row($query);

// Mostrar la información
echo 'Quote #' . $row[0] . ': "' . $row[1] . '"';
?>

El resultado del ejemplo sería algo similar a:

Quote #42: "La respuesta a todo..."

Notas

Nota: Esta función define campos NULOS al valor NULL de PHP.

Ver también

  • mssql_fetch_array() - Devuelve una fila del resultado como array asociativo, numérico o ambos
  • mssql_fetch_object() - Devuelve una fila de la consulta MS SQL, como un objeto
  • mssql_data_seek() - Desplaza el apuntador interno de fila
  • mssql_result() - Obtiene los datos de resultado

mssql_fetch_object
mssql_field_length
Mssql Funciones


Devuelve la longitud de un campo

mssql_fetch_row
mssql_field_name
Mssql Funciones
PHP Manual

mssql_field_length

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_field_length — Devuelve la longitud de un campo

Descripción

int mssql_field_length ( resource $result [, int $offset = -1 ] )

Devuelve la longitud del campo número offset dentro del resultado result.

Parámetros

result

El resultado que está siendo evaluado. Este resultado proviene de una llamada a mssql_query().

offset

La posición del campo, empieza en 0. Si se omite, se utiliza el campo actual.

Valores devueltos

La longitud del campo especificado en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo con mssql_field_length()

<?php
// Conectar a MSSQL y seleccionar la base de datos
mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Enviar una consulta a MSSQL
$query = mssql_query('SELECT [name], [age] FROM [php].[dbo].[persons]');

// Mostrar la longitud del campo
echo 'El campo \'age\' tiene una longitud de ' . mssql_field_length($query, 1);

// Liberar recursos
mssql_free_result($query);
?>

El resultado del ejemplo sería algo similar a:

El campo 'age' tiene una longitud de 4

Notas

Nota: Nota para los usuarios de Windows

Debido a una limitación en el API utilizado por PHP (MS DBLib C API), la longitud de los campos VARCHAR está limitada a 255. Si se necesita almacenar más datos, utilizar un campo TEXT.

Ver también

  • mssql_field_name() - Devuelve el nombre de un campo
  • mssql_field_type() - Devuelve el tipo de un campo

mssql_fetch_row
mssql_field_name
Mssql Funciones


Devuelve el nombre de un campo

mssql_field_length
mssql_field_seek
Mssql Funciones
PHP Manual

mssql_field_name

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_field_name — Devuelve el nombre de un campo

Descripción

string mssql_field_name ( resource $result [, int $offset = -1 ] )

Devuelve el nombre del campo número offset en result.

Parámetros

result

El resultado que está siendo evaluado. Este resultado proviene de una llamada a mssql_query().

offset

La posición del campo, empezando por 0. Si se omite, se utilizará el campo actual.

Valores devueltos

El nombre del campo en la posicion especificada en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 mssql_field_name() example

<?php
// Enviar una consulta a MSSQL
$query = mssql_query('SELECT [username], [name], [email] FROM [php].[dbo].[userlist]');

echo 'El resultado contiene los siguientes campos:', PHP_EOL;

// Volcar todos los nombres de campo del resultado
for ($i = 0; $i < mssql_num_fields($query); ++$i) {
    echo ' - ' . mssql_field_name($query, $i), PHP_EOL;
}

// Liberar el recurso
mssql_free_result($query);
?>

El resultado del ejemplo sería algo similar a:

El resultado contiene los siguientes campos:
 - nombre de usuario
 - nombre
 - email

Ver también

  • mssql_field_length() - Devuelve la longitud de un campo
  • mssql_field_type() - Devuelve el tipo de un campo

mssql_field_length
mssql_field_seek
Mssql Funciones


Apunta al número de campo especificado

mssql_field_name
mssql_field_type
Mssql Funciones
PHP Manual

mssql_field_seek

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_field_seek — Apunta al número de campo especificado

Descripción

bool mssql_field_seek ( resource $result , int $field_offset )

Apunta al número de campo especificado. Si la próxima llamada a la función mssql_fetch_field() no incluye un número de campo, se retornará este campo.

Parámetros

result

El resultado que está siendo evaluado. Este resultado procede de una llamada a la función mssql_query().

field_offset

La posición del campo, empezando por 0.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de uso de mssql_field_seek() para mssql_fetch_field()

<?php
// Conectar a MSSQL y seleccionar la base de datos
mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Enviar una consulta a MSSQL
$query = mssql_query('SELECT * FROM [php].[dbo].[persons]');

// Construir una tabla
echo '<h3>Estructura de tabla para \'persons\'</h3>';
echo '<table border="1">';

// Cabecera de la tabla
echo '<thead>';
echo '<tr>';
echo '<td>Nombre de campo</td>';
echo '<td>Tipo de dato</td>';
echo '<td>Longitud max.</td>';
echo '</tr>';
echo '</thead>';

// Volcar todos los campos
echo '<tbody>';

for ($i = 0; $i < mssql_num_fields($query); ++$i) {
    // Lee la información del campo, nótese que
    // el parámetro que indica el número de campo no está configurado. Ver
    // la llamada a mssql_field_seek que se realiza a posteriori
    $field = mssql_fetch_field($query);

    // Print the row
    echo '<tr>';
    echo '<td>' . $field->name . '</td>';
    echo '<td>' . strtoupper($field->type) . '</td>';
    echo '<td>' . $field->max_length . '</td>';
    echo '</tr>';

    // Desplazar el apuntador interno a la próxima
    // fila dentro del resultado
    mssql_field_seek($query, $i + 1);
}

echo '</tbody>';
echo '</table>';

// Liberar el recurso
mssql_free_result($query);
?>

Ver también

  • mssql_fetch_field() - Obtiene información del campo

mssql_field_name
mssql_field_type
Mssql Funciones


Devuelve el tipo de un campo

mssql_field_seek
mssql_free_result
Mssql Funciones
PHP Manual

mssql_field_type

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_field_type — Devuelve el tipo de un campo

Descripción

string mssql_field_type ( resource $result [, int $offset = -1 ] )

Devuelve el tipo del campo número offset dentro del resultado result.

Parámetros

result

El resultado que está siendo evaluado. Este resultado proviene de una llamada a la función mssql_query().

offset

La posición del campo, empezando por 0. Si se omite, se utilizará el campo actual.

Valores devueltos

El tipo del campo especificado por el índice en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 mssql_field_type() example

<?php
// Conectar a MSSQL y seleccionar la base de datos
mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Enviar una consulta a MSSQL
$query = mssql_query('SELECT [name] FROM [php].[dbo].[persons]');

// Mostrar el tipo y longitud del campo
echo '\'' . mssql_field_name($query, 0) . '\' es del tipo ' .
     strtoupper(mssql_field_type($query, 0)) .
     '(' . mssql_field_length($query, 0) . ')';

// Liberar el recurso
mssql_free_result($query);
?>

El resultado del ejemplo sería algo similar a:

'name' es del tipo CHAR(50)

Ver también

  • mssql_field_length() - Devuelve la longitud de un campo
  • mssql_field_name() - Devuelve el nombre de un campo

mssql_field_seek
mssql_free_result
Mssql Funciones


Liberar la memoria del recurso resultado de MS SQL

mssql_field_type
mssql_free_statement
Mssql Funciones
PHP Manual

mssql_free_result

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_free_result — Liberar la memoria del recurso resultado de MS SQL

Descripción

bool mssql_free_result ( resource $result )

Únicamente se necesita llamar a la función mssql_free_result() si existe la preocupación de que se esté utilizando demasiada memoria durante la ejecución del script. Toda la memoria utilizada por el resultado será liberada automáticamente cuando el script finalice. Llamando a la función mssql_free_result() con el identificador del resultado como un argumento, la memoria asociada al resultado será liberada.

Parámetros

result

El resultado que se está evaluando. Este resultado proviene de una llamada a la función mssql_query().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de mssql_free_result()

<?php
// Seleccionar datos de una tabla
$query = mssql_query('SELECT * FROM [php].[dbo].[persons]', $link);

// Gestionar el resultado de la consulta aquí...

// Cuando el tratamiento del resultado haya finalizado, se liberará el resultado llamando a la función
// mssql_free_result de la siguiente forma:
mssql_free_result($query);
?>

Ver también

  • mssql_free_statement() - Liberar la memoria ocupada por la sentencia MS SQL

mssql_field_type
mssql_free_statement
Mssql Funciones


Liberar la memoria ocupada por la sentencia MS SQL

mssql_free_result
mssql_get_last_message
Mssql Funciones
PHP Manual

mssql_free_statement

(PHP 4 >= 4.3.2, PHP 5, PECL odbtp >= 1.1.1)

mssql_free_statement — Liberar la memoria ocupada por la sentencia MS SQL

Descripción

bool mssql_free_statement ( resource $stmt )

Sólo es necesario llamar a la función mssql_free_statement() si existe la preocupación de que se está utilizando demasiada memoria durante la ejecución del script. La memoria asociada a la sentencia será liberada automáticamente cuando finalice el script. Si se llama a la función mssql_free_statement() indicando el identificador de la sentencia como argumento, la memoria asociada a la sentencia será liberada.

Parámetros

stmt

Recurso correspondiente a la sentencia, obtenido con la función mssql_init().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de mssql_free_statement()

<?php
// Crear una nueva sentencia
$stmt = mssql_init('test');

// Vincular los valores y ejecutar la sentencia aquí ....

// una vez se haya realizado el paso anterior, eliminaremos la sentencia de la memoria
// utilizando mssql_free_statement de la siguiente forma:
mssql_free_statement($stmt);
?>

Ver también

  • mssql_bind() - Añade un parámetro a un stored procedure (procedimiento almacenado) MSSQL (local o remoto)
  • mssql_execute() - Ejecuta un stored procedure (procedimiento almacenado) en una base de datos del servidor MS SQL
  • mssql_init() - Inicializa un stored procedure (procedimiento almacenado) local o remoto
  • mssql_free_result() - Liberar la memoria del recurso resultado de MS SQL

mssql_free_result
mssql_get_last_message
Mssql Funciones


Devuelve el último mensaje de error generado por el servidor MSSQL

mssql_free_statement
mssql_guid_string
Mssql Funciones
PHP Manual

mssql_get_last_message

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_get_last_message — Devuelve el último mensaje de error generado por el servidor MSSQL

Descripción

string mssql_get_last_message ( void )

Devuelve el último mensaje de error del servidor MS-SQL

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el último mensaje de error del servidor, o un string vacío si ningún mensaje de error ha sido devuelto por MSSQL.

Ejemplos

Ejemplo #1 mssql_get_last_message() example

<?php
// Conectar a MSSQL y seleccionar la base de datos
mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Una consulta que fallará...
$query = @mssql_query('SELECT * FROM [php].[dbo].[not-found]');

if (!$query) {
    // La consulta ha fallado, muestra un mensaje de error
    // utilizando mssql_get_last_message()
    die('MSSQL error: ' . mssql_get_last_message());
}
?>

El resultado del ejemplo sería algo similar a:

MSSQL error: Invalid object name 'php.dbo.not-found'.

Ver también

  • mssql_min_error_severity() - Fija el nivel mínimo de severidad de los errores
  • mssql_min_message_severity() - Fija el nivel mínimo de severidad de los mensajes

mssql_free_statement
mssql_guid_string
Mssql Funciones


Convierte un GUID (Globally Unique Identifier-Identificador globalmente único) binario de 16 bytes en un string

mssql_get_last_message
mssql_init
Mssql Funciones
PHP Manual

mssql_guid_string

(PHP 4 >= 4.0.7, PHP 5, PECL odbtp >= 1.1.1)

mssql_guid_string — Convierte un GUID (Globally Unique Identifier-Identificador globalmente único) binario de 16 bytes en un string

Descripción

string mssql_guid_string ( string $binary [, bool $short_format = false ] )

Convierte un GUID binario de 16 bytes en un string.

Parámetros

binary

Un GUID binario de 16 bytes.

short_format

TRUE si se usa el formato corto.

Valores devueltos

Devuelve el string convertido, en caso de éxito.

Ejemplos

Ejemplo #1 Ejemplo de mssql_guid_string()

<?php
$binary = '19555081977808608437941339997619274330352755554827939936';

var_dump(mssql_guid_string($binary));
var_dump(mssql_guid_string($binary, true));
?>

El resultado del ejemplo sería:

string(36) "35353931-3035-3138-3937-373830383630"
string(32) "31393535353038313937373830383630"

mssql_get_last_message
mssql_init
Mssql Funciones


Inicializa un stored procedure (procedimiento almacenado) local o remoto

mssql_guid_string
mssql_min_error_severity
Mssql Funciones
PHP Manual

mssql_init

(PHP 4 >= 4.0.7, PHP 5, PECL odbtp >= 1.1.1)

mssql_init — Inicializa un stored procedure (procedimiento almacenado) local o remoto

Descripción

resource mssql_init ( string $sp_name [, resource $link_identifier ] )

Inicializa un stored procedure (procedimiento almacenado) local o remoto.

Parámetros

sp_name

Nombre del stored procedure, como ownew.sp_name o otherdb.owner.sp_name.

link_identifier

Un identificador de la conexión MS SQL, devuelto por mssql_connect().

Valores devueltos

Devuelve un identificador de recurso llamado "statement", utilizado en subsiguientes llamadas a la función mssql_bind() y mssql_execute(), o FALSE si se producen errores.

Ejemplos

Ejemplo #1 Ejemplo de mssql_init()

<?php
// Conectar a MSSQL y seleccionar la base de datos
$link = mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php', $link);

// Crear una nueva sentencia
$stmt = mssql_init('StatementTest', $link);

// Vincular valores aquí

// Una vez que los valores han sido vinculados ejecutamos nuestra sentencia
// utilizando mssql_execute:
mssql_execute($stmt);

// Y liberamos el recurso del siguiente modo:
mssql_free_statement($stmt);
?>

Ver también

  • mssql_bind() - Añade un parámetro a un stored procedure (procedimiento almacenado) MSSQL (local o remoto)
  • mssql_execute() - Ejecuta un stored procedure (procedimiento almacenado) en una base de datos del servidor MS SQL
  • mssql_free_statement() - Liberar la memoria ocupada por la sentencia MS SQL

mssql_guid_string
mssql_min_error_severity
Mssql Funciones


Fija el nivel mínimo de severidad de los errores

mssql_init
mssql_min_message_severity
Mssql Funciones
PHP Manual

mssql_min_error_severity

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_min_error_severity — Fija el nivel mínimo de severidad de los errores

Descripción

void mssql_min_error_severity ( int $severity )

Fija el nivel mínimo de severidad de los errores.

Parámetros

severity

La nueva severidad de los errores.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de mssql_min_error_severity()

<?php
// Conectar a MSSQL y seleccionar la base de datos
mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Fija el nivel mínimo de severidad a partir de la cual se han de mostrar
// errores de sintaxis SQL dándole el valor mayor o igual
// a uno.
mssql_min_error_severity(1);

// Enviar una consulta que sabemos que generará un error, en
// este caso lo provocamos usando las comillas simples en lugar de
// poner corchetes alrededor del nombre de campo y de la tabla.
$query = mssql_query('SELECT `syntax`, `error` FROM `MSSQL`');

if (!$query) {
    // Gestión personalizada del error ...
}
?>

mssql_init
mssql_min_message_severity
Mssql Funciones


Fija el nivel mínimo de severidad de los mensajes

mssql_min_error_severity
mssql_next_result
Mssql Funciones
PHP Manual

mssql_min_message_severity

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_min_message_severity — Fija el nivel mínimo de severidad de los mensajes

Descripción

void mssql_min_message_severity ( int $severity )

Fija el nivel mínimo de severidad de los mensajes.

Parámetros

severity

La nueva severidad de los mensajes.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 mssql_min_message_severity() example

<?php
// Conectar a MSSQL
mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');

// Fija la severidad mínima de los mensajes a 17, lo que provocará que
// no se muestre ningún mensaje generado por el API
// cuando seleccionemos una base de datos inexistente
mssql_min_message_severity(17);

// Seleccionar una base de datos inexistente
mssql_select_db('THIS_DATABASE_DOES_NOT_EXISTS');
?>

El resultado del ejemplo sería:

mssql_select_db(): Unable to select database:  THIS_DATABASE_DOES_NOT_EXISTS

mssql_min_error_severity
mssql_next_result
Mssql Funciones


Mover el puntero interno del resultado al siguiente resultado

mssql_min_message_severity
mssql_num_fields
Mssql Funciones
PHP Manual

mssql_next_result

(PHP 4 >= 4.0.5, PHP 5, PECL odbtp >= 1.1.1)

mssql_next_result — Mover el puntero interno del resultado al siguiente resultado

Descripción

bool mssql_next_result ( resource $result_id )

Al enviar más de una instrucción SQL en el servidor o ejecutar un procedimiento almacenado con varios resultados, causará que el servidor devuelva varios conjuntos de resultados. Esta función pondrá a prueba de forma disponible resultados adicionales del servidor. Si existe un conjunto de resultados adicional será liberado el conjunto de resultados existentes y preparado para recuperar las filas del nuevo conjunto de resultados.

Parámetros

result_id

El recurso de resultado que se está evaluando. Este resultado proviene de una llamada a mssql_query().

Valores devueltos

Devuelve TRUE si dispone de un conjunto de resultados adicional o FALSE en caso contrario.

Ejemplos

Ejemplo #1 Ejemplo de mssql_next_result()

<?php
// Conectar a MSSQL y seleccionar la base de datos
$link = mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php', $link);

// Enviar una consulta a MSSQL
$sql = 'SELECT [name], [age] FROM [php].[dbo].[persons]';
$query = mssql_query($sql, $link);

// Iterar a través de registros devueltos
do {
    while ($row = mssql_fetch_row($query)) {
        // Manejar registros ...
    }
} while (mssql_next_result($query));

// Liberar
mssql_free_result($query);
mssql_close($link);
?>

mssql_min_message_severity
mssql_num_fields
Mssql Funciones


Devuelve el número de campos del resultado

mssql_next_result
mssql_num_rows
Mssql Funciones
PHP Manual

mssql_num_fields

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_num_fields — Devuelve el número de campos del resultado

Descripción

int mssql_num_fields ( resource $result )

mssql_num_fields() devuelve el número de campos que hay en un resultado.

Parámetros

result

El resultado que está siendo evaluado. Este resultado proviene de una llamada a mssql_query().

Valores devueltos

Devuelve el número de campos, como un entero.

Ejemplos

Ejemplo #1 Ejemplo de mssql_num_fields()

<?php
// Conectar a MSSQL y seleccionar la base de datos
$link = mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php', $link);

// Seleccionar datos de nuestra base de datos
$data = mssql_query('SELECT [name], [age] FROM [php].[dbo].[persons]');

// Construir una tabla
echo '<table border="1">';

$header = false;

// Iteración a través de los elementos del resultado
while ($row = mssql_fetch_array($data)) {
    // Construir la cabecera de la tabla
    if (!$header) {
        echo '<thead>';
        echo '<tr>';

        for ($i = 1; ($i + 1) <= mssql_num_fields($data); ++$i) {
            echo '<td>' . ucfirst($row[$i]) . '</td>';
        }

        echo '</tr>';
        echo '</thead>';
        echo '<tbody>';

        $header = true;
    }

    // Construir la tabla
    echo '<tr>';

    foreach($row as $value) {
        echo '<td>' . $value . '</td>';
    }

    echo '</tr>';
}

// Cerrar la tabla
echo '</tbody>';
echo '</table>';

// Limpiar
mssql_free_result($data);
mssql_close($link);
?>

Ver también

  • mssql_query() - Enviar una consulta MS SQL
  • mssql_fetch_field() - Obtiene información del campo
  • mssql_num_rows() - Devuelve el número de filas que hay en un resultado

mssql_next_result
mssql_num_rows
Mssql Funciones


Devuelve el número de filas que hay en un resultado

mssql_num_fields
mssql_pconnect
Mssql Funciones
PHP Manual

mssql_num_rows

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_num_rows — Devuelve el número de filas que hay en un resultado

Descripción

int mssql_num_rows ( resource $result )

mssql_num_rows() devuelve el número de filas que hay en un resultado.

Parámetros

result

El resultado que está siendo evaluado. Este resultado proviene de una llamada a mssql_query().

Valores devueltos

Devuelve el número de filas, como un integer.

Ejemplos

Ejemplo #1 Ejemplo de mssql_num_rows()

<?php
// Conectar a MSSQL y seleccionar la base de datos
$link = mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Seleccionar todos los registros de una tabla
$query = mssql_query('SELECT * FROM [php].[dbo].[persons]');

echo 'Núm. registros totales en la tabla: ' . mssql_num_rows($query);

// Limpieza
mssql_free_result($query);
?>

Ver también

  • mssql_query() - Enviar una consulta MS SQL
  • mssql_fetch_row() - Lee una línea del resultado de la consulta MS SQL dentro de un array numérico

mssql_num_fields
mssql_pconnect
Mssql Funciones


Abre una conexión MS SQL persistente

mssql_num_rows
mssql_query
Mssql Funciones
PHP Manual

mssql_pconnect

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_pconnect — Abre una conexión MS SQL persistente

Descripción

resource mssql_pconnect ([ string $servername [, string $username [, string $password [, bool $new_link = false ]]]] )

mssql_pconnect() se comporta como mssql_connect() pero con dos diferencias:

En primer lugar, durante la conexión, la función intentaría encontrar una conexión persistente que ya esté abierta con el mismo host, usuario y contraseña. Si se encuentra uno, se devolverá su identificador a esa conexión en vez de abrir una nueva.

En segundo lugar, la conexión al servidor SQL no se cerrará cuando finalice la ejecución del script. En lugar de ello, permanecerá abierta para uso futuro ( mssql_close() no cerrará las conexiones establecidas por mssql_pconnect()).

Por ello, este tipo de conexiones se llaman 'persistentes'.

Parámetros

servername

El servidor MS SQL. Puede incluir también un número de puerto, p.e. hostname:port.

username

El usuario.

password

La contraseña.

new_link

Si se hace una segunda llamada a la función mssql_pconnect() con los mismos argumentos, no se establecerá una nueva conexión, sino que en su lugar, se devolverá el identificador de la conexión ya abierta. Este parámetro modifica este comportamiento y hace que mssql_pconnect() siempre abra una nueva conexión, incluso si mssql_pconnect() se llamó antes con los mismos parámetros.

Valores devueltos

Devuelve un identificador a una conexión persistente a MS SQL en caso de éxito, o FALSE en caso de error.

Ejemplos

Ejemplo #1 mssql_pconnect() usando el parámetro new_link

<?php
// Conectar a MSSQL y seleccionar la base de datos
$link1 = mssql_pconnect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php', $link1);

// Crear una nueva conexión
$link2 = mssql_pconnect('MANGO\SQLEXPRESS', 'sa', 'phpfi', true);
mssql_select_db('random', $link2);
?>

mssql_num_rows
mssql_query
Mssql Funciones


Enviar una consulta MS SQL

mssql_pconnect
mssql_result
Mssql Funciones
PHP Manual

mssql_query

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_query — Enviar una consulta MS SQL

Descripción

mixed mssql_query ( string $query [, resource $link_identifier [, int $batch_size = 0 ]] )

mssql_query() envía una consulta a la base de datos activa actualmente en el servidor, asociada con el identificador de conexión link_identifier.

Parámetros

query

Una consulta SQL.

link_identifier

Un identificador de conexión MS SQL, devuelto por mssql_connect() o mssql_pconnect().

Si no se especifica el identificador de conexión, se asume la última conexión abierta. Si no hay ninguna conexión abierta, la funcion intenta establecer una conexión como si mssql_connect() se hubiera llamado, y utilizarla.

batch_size

El número de registros que hay en el buffer.

Valores devueltos

Devuelve un recurso de resultado MS SQL en caso de éxito, TRUE si no se devolvieron registros, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo con mssql_query()

<?php
// Conectar a MSSQL
$link = mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');

if (!$link || !mssql_select_db('php', $link)) {
    die('No se puede conectar o seleccionar una base de datos!');
}

// Hacer una consulta simple, seleccionar la versión de
// MSSQL y mostrarla.
$version = mssql_query('SELECT @@VERSION');
$row = mssql_fetch_array($version);

echo $row[0];

// Limpieza
mssql_free_result($version);
?>

Notas

Nota:

Si la consulta devuelve múltiples resultados entonces es necesario leer todos los resultados con mssql_next_result() o liberar los resultados con mssql_free_result(), antes de ejecutar la siguiente consulta.

Ver también

  • mssql_select_db() - Selecciona la base de datos MS SQL
  • mssql_connect() - Establece una conexión a un servidor MS SQL

mssql_pconnect
mssql_result
Mssql Funciones


Obtiene los datos de resultado

mssql_query
mssql_rows_affected
Mssql Funciones
PHP Manual

mssql_result

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_result — Obtiene los datos de resultado

Descripción

string mssql_result ( resource $result , int $row , mixed $field )

mssql_result() devuelve el contenido de una celda de los resultados MS SQL.

Parámetros

result

El resultado que está siendo evaluado. Este resultado proviene de una llamada a mssql_query().

row

El número de fila.

field

Puede ser el número del campo, el nombre del campo, o la tabla seguido de un punto y el nombre del campo (NombreTabla.NombreCampo). Si el nombre de la columna tiene un alias ('select foo as bar from...'), utiliza el alias en vez del nombre de la columna.

Nota:

Especificar un número de campo para el parámetro field es mucho más rápido que especificar un argumento fieldname o tablename.fieldname.

Valores devueltos

Devuelve el contenido de la celda especificada.

Ejemplos

Ejemplo #1 mssql_result() example

<?php
// Envía una consulta a MSSQL
$query = mssql_query('SELECT [username] FROM [php].[dbo].[userlist]');

// Verifica si hay registros
if (!mssql_num_rows($query)) {
    echo 'No se encontraron registros';
} else {
    for ($i = 0; $i < mssql_num_rows($query); ++$i) {
        echo mssql_result($query, $i, 'username'), PHP_EOL;
    }
}

// Libera el recurso
mssql_free_result($query);
?>

El resultado del ejemplo sería algo similar a:

Kalle
Felipe
Emil
Ross

Ejemplo #2 Alternativa más rápida que el ejemplo anterior

<?php
// Envía una consulta a MSSQL
$query = mssql_query('SELECT [username] FROM [php].[dbo].[userlist]');

// Verifica si ha devuelto algún registro
if (!mssql_num_rows($query)) {
    echo 'No se encontraron registros';
} else {
    while ($row = mssql_fetch_array($query)) {
        echo $row['username'], PHP_EOL;
    }
}

// Libera el recurso
mssql_free_result($query);
?>

Notas

Nota:

Cuando se trabaje en un resultado de gran tamaño, se debe considerar utilizar una de las funciones que leen una fila entera (especificadas más abajo). Como estas funciones devuelven el contenido de múltiples celdas en una sola llamada, son MUCHO MÁS rápidas que mssql_result().

Ver también

Alternativas recomendadas con mayor rendimiento:

  • mssql_fetch_row() - Lee una línea del resultado de la consulta MS SQL dentro de un array numérico
  • mssql_fetch_array() - Devuelve una fila del resultado como array asociativo, numérico o ambos
  • mssql_fetch_assoc() - Devuelve un array asociativo con la fila actual en el resultado del MS SQL Server
  • mssql_fetch_object() - Devuelve una fila de la consulta MS SQL, como un objeto

mssql_query
mssql_rows_affected
Mssql Funciones


Devuelve el número de registros afectado por la sentencia SQL de escritura

mssql_result
mssql_select_db
Mssql Funciones
PHP Manual

mssql_rows_affected

(PHP 4 >= 4.0.4, PHP 5, PECL odbtp >= 1.1.1)

mssql_rows_affected — Devuelve el número de registros afectado por la sentencia SQL de escritura

Descripción

int mssql_rows_affected ( resource $link_identifier )

Devuelve el número de registros afectado por la última sentencia SQL de escritura.

Parámetros

link_identifier

Un identificador de conexión MS SQL, devuelto por mssql_connect() o mssql_pconnect().

Valores devueltos

Devuelve el número de registros afectado por la última operación.

Ejemplos

Ejemplo #1 Ejemplo de mssql_rows_affected()

<?php
// Borra todas las filas de una tabla
mssql_query('TRUNCATE TABLE [php].[dbo].[persons]');

echo 'Borradas ' . mssql_rows_affected($link) . ' row(s)';
?>

mssql_result
mssql_select_db
Mssql Funciones


Selecciona la base de datos MS SQL

mssql_rows_affected
MySQL
Mssql Funciones
PHP Manual

mssql_select_db

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_select_db — Selecciona la base de datos MS SQL

Descripción

bool mssql_select_db ( string $database_name [, resource $link_identifier ] )

mssql_select_db() selecciona la base de datos activa actualmente en el servidor, que está asociada con el identificador link-identifier.

Cada subsiguiente llamada a mssql_query() se realizará en la base de datos activa.

Parámetros

database_name

El nombre de la base de datos.

Para indicar un nombre de base de datos que contenga espacios, guiones ("-"), o cualquier otro caracter excepcional, el nombre de la base de datos debe indicarse entre corchetes, tal y como se muestra en el siguiente ejemplo. Esta técnica debe ser aplicada también cuando se quiera indicar un nombre de base de datos que sea también una palabra reservada (como primary).

link_identifier

Un identificador de conexión MS SQL, devuelto por mssql_connect() o mssql_pconnect().

Si no se especifica ningún identificador, se asumirá la última conexión abierta. Si no hay ninguna conexióna bierta, la función intentará establecer una conexión como si se hubiera llamado a mssql_connect() , y utilizarla.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo con mssql_select_db()

<?php
// Crear una conexión a MSSQL
$link = mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');

// Seleccionar la base de datos 'php'
mssql_select_db('php', $link);
?>

Ejemplo #2 Indicar el nombre de la base de datos entre corchetes

<?php
// Crear una conexión a MSSQL
$link = mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');

// Seleccionar la base de datos 'my.database-name'
mssql_select_db('[my.database-name]', $link);
?>

Ver también

  • mssql_connect() - Establece una conexión a un servidor MS SQL
  • mssql_pconnect() - Abre una conexión MS SQL persistente
  • mssql_query() - Enviar una consulta MS SQL

mssql_rows_affected
MySQL
Mssql Funciones


Controladores y complementos de MySQL

PHP ofrece varios controladores y complementos de MySQL para acceder y manejar MySQL.

Las diferencias y la funcionalidad de las extensiones de MySQL están descritas dentro de la información general de esta sección.

  • Información general de los controladores de MySQL de PHP
    • Información general de la terminología
    • Elegir una API
    • Elegir una biblioteca
    • Conceptos
  • Mysql — API MySQL original
    • Introducción
    • Instalación/Configuración
    • Registro de cambios
    • Constantes predefinidas
    • Ejemplos
    • Funciones de MySQL
  • Mysqli — Extensión MySQL mejorada
    • Introducción
    • Información general
    • Guía rápida
    • Instalación/Configuración
    • La extensión mysqli y conexiones persistentes
    • Constantes predefinidas
    • Notas
    • Resumen de las funciones de la extensión MySQLi
    • mysqli — La clase mysqli
    • mysqli_stmt — La clase mysqli_stmt
    • mysqli_result — La clase mysqli_result
    • mysqli_driver — La clase mysqli_driver
    • mysqli_warning — La clase mysqli_warning
    • mysqli_sql_exception — La clase mysqli_sql_exception
    • Alias y Funciones de MySQLi obsoletos
    • Registro de cambios
  • Mysqlnd — Controlador Nativo de MySQL
    • Introducción
    • Información General
    • Instalación
    • Configuración en tiempo de ejecución
    • Incompatibilidades
    • Conexiones persistentes
    • Estadísticas
    • Notas
    • API de Complementos del Controlador Nativo de MySQL
  • mysqlnd_ms — Complemento de equilibrado de carga y replicación de mysqlnd
    • Introducción
    • Guía rápida y ejemplos
    • Conceptos
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de mysqlnd_ms
    • Historial de cambios
  • mysqlnd_qc — Complemento de caché de resultados de consultas de mysqlnd
    • Introducción
    • Guia rápida y ejemplos
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de mysqlnd_qc
    • Historal de cambios
  • mysqlnd_uh — Complemento de gestión del usuario de mysqlnd
    • Introducción
    • Guía rápida y ejemplos
    • Instalación/Configuración
    • Constantes predefinidas
    • MysqlndUhConnection — La clase MysqlndUhConnection
    • MysqlndUhPreparedStatement — La clase MysqlndUhPreparedStatement
    • Funciones de Mysqlnd_uh
    • Historial de cambios
  • mysqlnd_mux — Complemento de multiplexación de conexiones de mysqlnd
    • Introducción
    • Conceptos
    • Instalación/Configuración
    • Constantes predefinidas
    • Historial de cambios
  • mysqlnd_memcache — Mysqlnd Memcache plugin
    • Introducción
    • Quickstart and Examples
    • Instalación/Configuración
    • Constantes predefinidas
    • Mysqlnd_memcache Funciones
    • Change History
mssql_select_db
Información general de los controladores de MySQL de PHP
Extensiones de bases de datos específicas del proveedor


Información general de los controladores de MySQL de PHP

Introducción

Existen tres APIs de PHP para acceder a las bases de datos de MySQL. Esta guía explica la terminología usada para describir cada API, contienen información sobre qué API elegir, y también información para ayudar a alegir qué biblioteca de MySQL usar con la API.

  • Información general de la terminología
  • Elegir una API
  • Elegir una biblioteca
  • Conceptos
    • Consultas almacenadas y no almacenadas en buffer
    • Conjuntos de caracteres
MySQL
Información general de la terminología
MySQL


Información general de la terminología

Esta sección proporciona una introducción de las opciones disponibles al desarrollar una aplicación de PHP que necesite interactuar con una base de datos MySQL.

¿Qué es una API?

Una Interfaz de Programación de Aplicaciones (o API de sus siglas en inglés), define las clases, métodos, funciones y variables que la aplicación necisita llamar para realizar una tarea. En el caso de aplicaciones de PHP que necesiten comunicarse con bases de datos, las APIs necesarias normalmente son expuestas mediante extensiones de PHP.

Las APIs pueden ser procedimentales y orientadas a objetos. Con una API procedimental se llaman a funciones para realizar tareas, con una API orientada a objetos se instancian clases y luego se llamana métodos sobre los objetos resultantes. De las dos, la última normalemte es la interfaz preferida, ya que es más moderna y conduce a un código mejor organizado.

Al escribir aplicaciones de PHP que necesitan conectarse a un servidor de MySQL, existen varias opciones de APIs disponibles. Este documento trata sobre lo que está disponible y cómo elegir la mejor solución para la aplicación.

¿Qué es un Conector?

En la documentación de MySQL, el término conector se refiere a una pieza de software que permite a las aplicaciones conectarse con el servidor de bases de datos MySQL. MySQL proporciona conectores para muchos lenguajes, incluido PHP.

Si una aplicación de PHP necesita comunicarse con un servidor de bases de datos se necesitará escribir código de PHP para llevar a cabo actividades como conectar al servidor de la base de datos, consultar a la base de datos y otras funciones relacionas con la base de datos. Se requiere software para proporcionar la API que la aplicacion de PHP usará, y también manejar la comunicación entre la aplicación y el servidor de la base de datos, posiblemente usanto otras bibliotecas intermediarias cuando sea necesario. Este software se conoce generalmente como conector, ya que permite a la aplicación conectarse al servidor de la base de datos.

¿Qué es un Controlador?

Un controlador (o driver) es una pieza de software diseñada para la comunicación con un tipo específico de servidor de bases de datos. El controlador también llama a una biblioteca, como la Biblioteca Cliente de MySQL o el Controlador Nativo de MySQL. Estas bibliotecas implementan el protocolo de bajo nivel usado para comunicarse con el servidor de bases de datos MySQL.

Mediante un ejemplo, la capa de abstracción de bases de datos Objetos de Datos de PHP (PDO) pueden usar uno de los varios controladores específicos de bases de datos. Uno de los controladores disponibles es el controlador MySQL de PDO, que le permite funcionar junto con el servidor MySQL.

A veces las personas usan los términos conector y controlador intercambiablemente, y esto puede ser confuso. El la documentación relacionada con MySQL, el término "controlador" está reservado para el software que proporciona la parte estpecífica de bases de datos de un paquete conector.

¿Qué es una Extensión?

En la documentación de PHP se encontrará con otro término - extensión. El código de PHP consiste en un núcleo, con extensiones opcionales para la funcionalidad del núcleo. Las extensiones relacionadas con MySQL de PHP, como la extensión mysqli, y la extensión mysql, están implementadas usando el framework de extensiones de PHP.

Una extensión típicamente expone una API al programador de PHP, para poder usar sus facilidades programáticamente. Sin embargo, algunas extensiones que usan el framework de extensiones de PHP no exponen una API al programador de PHP.

La extensión del controlador MySQL de PDO, por ejemplo, no expone una API al programador de PHP, pero proporciona una interfaz para la capa de PDO superior.

Los términos API y extensión no deberían tomarse como si fuesen la misma cosa, una extensión puede no exponer necesariamente una API al programador.

Información general de los controladores de MySQL de PHP
Elegir una API
Información general de los controladores de MySQL de PHP


Elegir una API

PHP ofrece tres APIs diferenctes para conectarse a MySQL. Abajo se muestran las APIs proporcionadas por las extensciones mysql, mysqli, y PDO. Cada trozo de código crea una conexión al servidor de MySQL que se está ejecutando en "ejemplo.com" usando el nombre de usuario "usuario" y la contraseña "contraseña". Y se ejecuta una consulta para saludar al usuario.

Ejemplo #1 Comparación de las tres APIs de MySQL

<?php
// mysqli
$mysqli = new mysqli("ejemplo.com", "usuario", "contraseña", "basedatos");
$resultado = $mysqli->query("SELECT '¡Hola, querido usuario de MySQL!' AS _message FROM DUAL");
$fila = $resultado->fetch_assoc();
echo htmlentities($fila['_message']);

// PDO
$pdo = new PDO('mysql:host=ejemplo.com;dbname=basedatos', 'usuario', 'contraseña');
$sentencia = $pdo->query("SELECT 'Hola, querido usuario de MySQL!' AS _message FROM DUAL");
$fila = $sentencia->fetch(PDO::FETCH_ASSOC);
echo htmlentities($fila['_message']);

// mysql
$c = mysql_connect("ejemplo.com", "usuario", "contraseña");
mysql_select_db("basedatos");
$resultado = mysql_query("SELECT 'Hola, querido usuario de MySQL!' AS _message FROM DUAL");
$fila = mysql_fetch_assoc($resultado);
echo htmlentities($fila['_message']);
?>

API remendada

Se recomienda usar las extensiones mysqli o PDO_MySQL. No se recomienda usar la extensión mysql antigua para nuevos desarrollos, ya que ha sido declarada obsoleta a partir de PHP 5.5.0 y será eliminada en el futuro. Se proporciona una matriz detallada de comparación de características más abajo. El rendimiento global de las tres extensiones se considera aproximadamente el mismo. Aunque el rendimiento de la extensión aporta solamente una fracción del total del tiempo de ejecución de una consulta web de PHP. A menudo el impacto es tan bajo como 0.1%.

Comparación de características

 | ext/mysqli | PDO_MySQL | ext/mysql
Versión de PHP donde se introdujo | 5.0 | 5.1 | 2.0
Incluida con PHP 5.x | Sí | Sí | Sí
Estado de desarrollo | Activo | Activo | Sólo mantenimiento
Ciclo de vida | Activo | Activo | Obsoleto
Recomendada para nuevos proyectos | Sí | Sí | No
Interfaz POO | Sí | Sí | No
Interfaz procedimental | Sí | No | Sí
La API soporta el no bloqueo, consultas asíncronas con mysqlnd | Sí | No | No
Conexiones persistentes | Sí | Sí | Sí
La API soporta conjunto de caracteres | Sí | Sí | Sí
La API soporta sentencias preparadas del lado del servidor | Sí | Sí | No
La API soporta sentencias preparadas del lado del cliente | No | Sí | No
La API soporta procedimientos almacenados | Sí | Sí | No
API soporta sentencias múltiples | Sí | La mayoría | No
La API soporta transacciones | Sí | Sí | No
Las transacciones se pueden controlar con SQL | Sí | Sí | Sí
Soporta toda la funcionalidad de MySQL 5.1+ | Sí | La mayoría | No
Información general de la terminología
Elegir una biblioteca
Información general de los controladores de MySQL de PHP


Elegir una biblioteca

Las extensiones de PHP mysqli, PDO_MySQL y mysql son envolturas ligeras en lo alto de una biblioteca cliente en C. Las extensiones pueden usar la biblioteca mysqlnd o la biblioteca libmysqlclient. Elegir una biblioteca es una decisión en tiempo de compilación.

La biblioteca mysqlnd es parte de la distribrución de PHP desde la versión 5.3.0. Ofrece características como conexiones lentas y almacenamiento en caché de consultas, características que no están disponibles con libmysqlclient, por lo que se recomienda encarecedamente usar la biblioteca mysqlnd interna. Véase la documentació de mysqlnd para detalles adicionales y una lista de características y funcionalidades que ofrece.

Ejemplo #1 Comandos de configuración para usar mysqlnd o libmysqlclient

// Recomendado, compila con mysqlnd
$ ./configure --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysql=mysqlnd

// No recomendado, compila con libmysqlclient
$ ./configure --with-mysqli=/ruta/a/mysql_config --with-pdo-mysql=/ruta/a/mysql_config --with-mysql=/ruta/a/mysql_config

Comparación de las características de las bibliotecas

Se recomienda usar la biblioteca mysqlnd en lugar de la biblioteca Cliente Servidor de MySQL Client Server (libmysqlclient). Ambas bibliotecas están soportadas y siendo constantemente mejoradas.

 | Controlador Nativo de MySQL (mysqlnd) | Biblioteca Cliente Servidor de MySQL (libmysqlclient)
Parte de la distribución de PHP | Sí | No
Versión de PHP donde se introdujo | 5.3.0 | N/A
Licencia | Licencia PHP 3.01 | Licencia Dual
Estado de desarrollo | Activo | Activo
Ciclo de vida | Fin no anunciado | Fin no anunciado
Compilación predeterminada en PHP 5.4 (para todas las extensiones MySQL) | Sí | No
Compilación predeterminada en PHP 5.3 (para todas las extensiones MySQL) | No | Sí
Soporte para protocolo de compresión | Sí (5.3.1+) | Sí
Soporte para SSL | Sí (5.3.3+) | Sí
Soporte para tubería con nombre | Sí (5.3.4+) | Sí
No bloqueo, consultas asíncronas | Sí | No
Estadísticas de rendimiento | Sí | No
LOAD LOCAL INFILE respecito a la directiva open_basedir | Sí | No
Usa el sistema de gestión de memoria nativo de PHP (p.ej., cumple los límites de memoria de PHP) | Sí | No
Devuelve columnas numéricas como valores double (COM_QUERY) | Sí | No
Devuelve columnas númericas como valores string (COM_QUERY) | Sí | Sí
API de complementos | Sí | Limitada
Separación de lectura/escritura para Replicación MySQL | Sí, con complemento | No
Balace de carga | Sí, con complemento | No
Tolerancia a fallos | Sí, con complemento | No
Conexiones lentas | Sí, con complemento | No
Almacenamiento en caché de consultas | Sí, con complemento | No
Manipulación de consultas transparente (p.ej., auto-EXPLAIN o monitorización) | Sí, con complemento | No
Elegir una API
Conceptos
Información general de los controladores de MySQL de PHP


Conceptos

Tabla de contenidos

  • Consultas almacenadas y no almacenadas en buffer
  • Conjuntos de caracteres

Estos conceptos son específicos para los controladores de MYSQL para PHP.

Elegir una biblioteca
Consultas almacenadas y no almacenadas en buffer
Información general de los controladores de MySQL de PHP


Consultas almacenadas y no almacenadas en buffer

Las consultas usan el modo de almacenamiento en buffer por omisión. Esto significa que los resultados de las consultas son transferidos inmediatamente del Servidor MySQL a PHP donde luego se mantienen en la memoria del proceso de PHP. Esto permite operaciones adicionales como la cuenta del número de filas y mover (buscar) el puntero actual del resultado. También permite emitir más consultas en la misma conexión mientras se trabaja con el conjunto de resultados. El lado negativo del modo de almacenamiento en buffer es que los conjuntos de resultados grandes requieren bastante más memoria. La memoria se mantendrá ocupada hasta que todas las referencias al conjunto de resultados sean desestablecidas o se libere explícitamente el conjunto de resultados, lo que automáticamente ocurrirá durante la finalización de la última petición. La terminología "resultado almacenado" también se usa para el modo de almacenamiento en buffer, ya que el conjunto de resultados completo se almacena de una vez.

Nota:

Cuando se usa libmysqlclient como biblioteca, el límite de memoria de PHP no contará la memoria usada por los conjuntos de resultados a menos que los datos sean puestos en variables de PHP. Con mysqlnd, la memoria tenida en cuenta incluirá el conjunto de resultados completo.

Las consultas de MySQL no almacenadas en buffer ejecutan la consulta y luego devuelven un resource mientras los datos aún siguen esperado en el servidor MySQL a que sean extraidos. Esto utiliza menos memoria por parte de PHP, pero puede incrementar la carga del servidor. A menos que se obtenga el conjunto de resultados completo del servidor no se podrán enviar más consultas en la misma conexión. Las consultas no almacenada en buffer también pueden ser descritas como "resultados de uso".

Siguiendo estas características, las consultas almacenadas en buffer deberían usarse en casos donde se espera solamente un conjunto de resultados limitado o se necesite conocer la cantidad de filas devueltas antes de leer todas las filas. El modo de no almacenamiento en buffer debería usarse cuando se esperesn resultados grandes.

Ya que las consultas almacenadas en buffer son las predeterminadas, los ejemplos de abajo demuestran cómo ejecutar consultas no almacenadas en buffer con cada API.

Ejemplo #1 Ejemplo de consulta no almacenada en buffer: mysqli

<?php
$mysqli  = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");
$res_sin_buffer = $mysqli->query("SELECT Name FROM City", MYSQLI_USE_RESULT);

if ($res_sin_buffer) {
   while ($fila = $res_sin_buffer->fetch_assoc()) {
       echo $fila['Name'] . PHP_EOL;
   }
}
$res_sin_buffer->close();
?>

Ejemplo #2 Ejemplo de consulta no almacenada en buffer: pdo_mysql

<?php
$pdo = new PDO("mysql:host=localhost;dbname=world", 'mi_usuario', 'mi_contraseña');
$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);

$res_sin_buffer = $pdo->query("SELECT Name FROM City");
if ($res_sin_buffer) {
   while ($fila = $res_sin_buffer->fetch(PDO::FETCH_ASSOC)) {
       echo $fila['Name'] . PHP_EOL;
   }
}
?>

Ejemplo #3 Ejemplo de consulta no almacenada en buffer: mysql

<?php
$conexión = mysql_connect("localhost", "mi_usuario", "mi_contraseña");
$bd = mysql_select_db("world");

$res_sin_buffer = mysql_unbuffered_query("SELECT Name FROM City");
if ($res_sin_buffer) {
   while ($fila = mysql_fetch_assoc($res_sin_buffer)) {
       echo $fila['Name'] . PHP_EOL;
   }
}
?>
Conceptos
Conjuntos de caracteres
Conceptos


Conjuntos de caracteres

De forma ideal, un conjunto de caracteres apropiado será establecido a nivel del servidor, que está descrito dentro de la sección » Configuración del conjunto de caracteres del manual del Servidor MySQL. De forma alternativa, cada API de MySQL ofrece métodos para establecer el conjunto de caracteres en tiempo de ejecución.

Precaución

El conjunto de caracteres y el escape de caracteres

El conjunto de caracteres debería entenderse y ser definido, ya que afecta a cada acción, e incluye implicaciones de seguridad. Por ejemplo, el mecanismo de escape (p.ej., mysqli_real_escape_string() para mysqli, mysql_real_escape_string() para mysql, y PDO::quote() para PDO_MySQL) cumplirá con esta configuración. Es importante darse cuenta que estas funciones no usarán el conjunto de caracteres que está definido en una consulta, por lo que, por ejemplo, lo siguiente no tendrá efecto sobre ellas:

Ejemplo #1 Problemas al establecer el conjunto de caracteres con SQL

<?php

$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");

// No afectará a $mysqli->real_escape_string();
$mysqli->query("SET NAMES utf8");

// No afectará a $mysqli->real_escape_string();
$mysqli->query("SET CHARACTER SET utf8");

// Pero esto sí afectará a $mysqli->real_escape_string();
$mysqli->set_charset('utf8'));

?>

Abajo hay ejemplos que demuestran cómo alterar adecuadamente el conjunto de caracteres en tiempo de ejecución usando cada API.

Ejemplo #2 Ejemplo para establecer el conjunto de caracteres: mysqli

<?php

$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");

if (!$mysqli->set_charset('utf8')) {
    printf("Error cargando el conjunto de caracteres utf8: %s\n", $mysqli->error);
} else {
    printf("Conjunto de caracteres actual: %s\n", $mysqli->character_set_name());
}

print_r( $mysqli->get_charset() );

?>

Ejemplo #3 Ejemplo para establecer el conjunto de caracteres: pdo_mysql

Nota: Esto sólo funciona a partir de PHP 5.3.6.

<?php
$pdo = new PDO("mysql:host=localhost;dbname=world;charset=utf8", 'mi_usuario', 'mi_contraseña');
?>

Ejemplo #4 Ejemplo para establecer el conjunto de caracteres: mysql

<?php

$conexión = mysql_connect("localhost", "mi_usuario", "mi_contraseña");
$bd   = mysql_select_db("world");

if (!mysql_set_charset('utf8', $conexión)) {
    echo "Error: No se pudo establecer el conjunto de caracteres.\n";
    exit;
}

echo 'El conjunto de caracteres actual es: ' .  mysql_client_encoding($conexión);

?>
Consultas almacenadas y no almacenadas en buffer
Mysql
Conceptos


API MySQL original

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Registro de cambios
  • Constantes predefinidas
  • Ejemplos
    • Ejemplo general de la extensión MySQL
  • Funciones de MySQL
    • mysql_affected_rows — Obtiene el número de filas afectadas en la anterior operación de MySQL
    • mysql_client_encoding — Devuelve el nombre del conjunto de caracteres
    • mysql_close — Cierra una conexión de MySQL
    • mysql_connect — Abre una conexión al servidor MySQL
    • mysql_create_db — Crea una base de datos MySQL
    • mysql_data_seek — Mueve el puntero de resultados interno
    • mysql_db_name — Recupera el nombre de la base de datos desde una llamada a mysql_list_dbs
    • mysql_db_query — Selecciona una base de datos y ejecuta una consulta sobre la misma
    • mysql_drop_db — Elimina (DROP) una base de datos MySQL
    • mysql_errno — Devuelve el valor numérico del mensaje de error de la última operación MySQL
    • mysql_error — Devuelve el texto del mensaje de error de la operación MySQL anterior
    • mysql_escape_string — Escapa una cadena para ser usada en mysql_query
    • mysql_fetch_array — Recupera una fila de resultados como un array asociativo, un array numérico o como ambos
    • mysql_fetch_assoc — Recupera una fila de resultados como un array asociativo
    • mysql_fetch_field — Obtiene la información de una columna de un resultado y la devuelve como un objeto
    • mysql_fetch_lengths — Obtiene la longitud de cada salida en un resultado
    • mysql_fetch_object — Recupera una fila de resultados como un objeto
    • mysql_fetch_row — Obtiene una fila de resultados como un array numérico
    • mysql_field_flags — Obtiene las banderas asociadas al campo especificado de un resultado
    • mysql_field_len — Devuelve la longitud del campo especificado
    • mysql_field_name — Obtiene el nombre del campo especificado de un resultado
    • mysql_field_seek — Establece el puntero del resultado en un índice de campo específicado
    • mysql_field_table — Obtiene el nombre de la tabla en la que está el campo especificado
    • mysql_field_type — Obtiene el tipo del campo especificado de un resultado
    • mysql_free_result — Libera la memoria del resultado
    • mysql_get_client_info — Obtiene información del cliente MySQL
    • mysql_get_host_info — Obtener información del anfitrión de MySQL
    • mysql_get_proto_info — Obtener información del protocolo MySQL
    • mysql_get_server_info — Obtiene información del servidor MySQL
    • mysql_info — Obtiene información sobre la consulta más reciente
    • mysql_insert_id — Obtiene el ID generado en la última consulta
    • mysql_list_dbs — Lista las bases de datos disponibles en un servidor MySQL
    • mysql_list_fields — Lista los campos de una tabla de MySQL
    • mysql_list_processes — Lista los procesos de MySQL
    • mysql_list_tables — Lista las tablas de una base de datos MySQL
    • mysql_num_fields — Obtiene el número de campos de un resultado
    • mysql_num_rows — Obtener el número de filas de un conjunto de resultados
    • mysql_pconnect — Abre una conexión persistente a un servidor MySQL
    • mysql_ping — Efectuar un chequeo de respuesta (ping) sobre una conexión al servidor o reconectarse si no hay conexión
    • mysql_query — Enviar una consulta MySQL
    • mysql_real_escape_string — Escapa caracteres especiales en un string para su uso en una sentencia SQL
    • mysql_result — Obtener datos de resultado
    • mysql_select_db — Seleccionar una base de datos MySQL
    • mysql_set_charset — Establece el conjunto de caracteres del cliente
    • mysql_stat — Obtiene el estado actual del sistema
    • mysql_tablename — Obtiene el nombre de la tabla de un campo
    • mysql_thread_id — Devuelve el ID del hilo actual
    • mysql_unbuffered_query — Envía una consulta SQL a MySQL, sin recuperar ni almacenar en búfer las filas de resultados
Conjuntos de caracteres
Introducción
MySQL


Introducción

Esta extensión está obsoleta a partir de PHP 5.5.0 y no está recomendada para escribir código nuevo, ya que será eliminada en el futuro. En su lugar, se debería utilizar la extensión mysqli o PDO_MySQL. Véase también la Información general de la API de MySQL para obtener ayuda al elegir una API de MySQL.

Con estas funciones se puede acceder a servidores de bases de datos de MySQL. Se puede encontrar más información sobre MySQL en » http://www.mysql.com/.

La documentación de MySQL puede encontrarse en » http://dev.mysql.com/doc/.

Mysql
Instalación/Configuración
Mysql


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Mysql


Requerimientos

Para poder contar con éstas funciones, debe compilar PHP con el soporte de MySQL.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Para compilar, simplemente usar la opción de configuración --with-mysql[=DIR] donde opcionalmente [DIR] apunta al directorio de instalación de MySQL.

Aunque esta extensión de MySQL es compatible con MySQL 4.1.0 y superior, no da soporte a las funcionalidades extra que estas versiones proveen. Para ello usar la extensión MySQLi.

Si se quisiera instalar la extensión de MySQL junto con la extensión MySQLi se debe usar la misma libreria de cliente para evitar cualquier conflicto.

Instalación en Sistemas Linux

Nota: [DIR] es la ruta a los ficheros de la biblioteca cliente de MySQL (cabeceras y bibliotecas), los cuales se pueden descargar desde » MySQL.

Matriz de soporte en tiempo de compilación de ext/mysql
Versión de PHP | Por defecto | Opciones de configuración: mysqlnd | Opciones de configuración: libmysqlclient | Historial de cambios
4.x.x | libmysqlclient | Not Available | --without-mysql to disable | MySQL habilitada por omisión, las bibliotecas cliente de MySQL están incluidas
5.0.x, 5.1.x, 5.2.x | libmysqlclient | Not Available | --with-mysql=[DIR] | MySQL ya no está habilitada de forma predeterminada, y las bibliotecas cliente de MySQL ya no están incluidas
5.3.x | libmysqlclient | --with-mysql=mysqlnd | --with-mysql=[DIR] | mysqlnd ahora está disponible
5.4.x | mysqlnd | --with-mysql | --with-mysql=[DIR] | mysqlnd ahora es el predeterminado

Instalación en sistemas Windows

PHP 4

La extensión MySQL de PHP está compilada dentro de PHP.

PHP 5.0.x, 5.1.x, 5.2.x

MySQL ya no está activado por defecto, así la DLL php_mysql.dll debe ser habilitada dentro de php.ini. Además, PHP necesita acceso a la libreria de cliente de MySQL. Un archivo llamado libmysql.dll que está incluido en la distribución de PHP de Windows, y así PHP se comunica con MySQL, este fichero necesita estar disponible en el PATH de los sistemas Windows. Para información sobre como hacerlo ver el FAQ titulado "Cómo agrego mi directorio de PHP a PATH en Windows". Aunque copiando libmysql.dll al directorio del sistema de Windows también funcionará (ya que el directorio del sistema está por defecto en el PATH del sistema), pero no está recomendado.

Como ocurre con cualquier otra extensión de PHP (tal como php_mysql.dll), la directiva de PHP extension_dir, debe establecer el directorio donde estan localizada las extensiones de PHP. Ver también el Manual de instrucciónes de instalación en Windows. Un ejemplo de valor de extension_dir para PHP 5 es c:\php\ext

Nota:

Si al iniciar el servidor web se produce un error similar al siguiente: "Unable to load dynamic library './php_mysql.dll'", esto se debe a que php_mysql.dll y/o libmysql.dll no puede ser encontrado por el sistema.

PHP 5.3.0+

El Controlador Nativo de MySQL está habilitado por omisión. Incluya php_mysql.dll, pero libmysql.dll ya no es necesario o usado.

Notas de la instalación de MySQL

Advertencia

Se pueden encontrar errores y problemas de inicio de PHP al cargar esta extensión en conjunción con la extensión recode. Para más información ver la extension recode.

Nota:

Si fueran necesarios otro juego de caracteres distinto de latin (predeterminado), se ha de instalar externamente (no incluido) libmysqlclient con el soporte para el juego de caracteres compilado.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de MySQL
Nombre | Por defecto | Cambiable | Historial de cambios
mysql.allow_local_infile | "1" | PHP_INI_SYSTEM |
mysql.allow_persistent | "1" | PHP_INI_SYSTEM |
mysql.max_persistent | "-1" | PHP_INI_SYSTEM |
mysql.max_links | "-1" | PHP_INI_SYSTEM |
mysql.trace_mode | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
mysql.default_port | NULL | PHP_INI_ALL |
mysql.default_socket | NULL | PHP_INI_ALL | Disponible desde PHP 4.0.1.
mysql.default_host | NULL | PHP_INI_ALL |
mysql.default_user | NULL | PHP_INI_ALL |
mysql.default_password | NULL | PHP_INI_ALL |
mysql.connect_timeout | "60" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP <= 4.3.2. Disponible desde PHP 4.3.0.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

mysql.allow_local_infile integer

Permite acceder, desde la perspectiva de PHP, a archivos locales con la sentencia LOAD DATA

mysql.allow_persistent boolean

Si se permiten conexiones persistentes para MySQL.

mysql.max_persistent integer

El número máximo de conexiones persistentes de MySQL por proceso.

mysql.max_links integer

El número máximo de conexiones MySQL por proceso, incluyendo las conexiones persistentes.

mysql.trace_mode boolean

Modo de rastreo. Cuando mysql.trace_mode está habilitada, los warnings para exploraciones de tablas/índices, o conjuntos de resultados no libres y errores de SQL serán mostrados. (Introducido en PHP 4.3.0)

mysql.default_port string

El número de puerto TCP predeterminado para usar cuando se conecta con el servidor de la base de datos si no hay otro puerto especificado. Si no se especifica un puerto predeterminado, este será obtenido desde la variable de entorno MYSQL_TCP_PORT, la entrada mysql-tcp en /etc/services o la constante en tiempo de compilación MYSQL_PORT, en ese orden. Win32 solo usará la constante MYSQL_PORT.

mysql.default_socket string

El nombre predeterminado del socket para usar cuando se conecta a un servidor local de base de datos, si no hay otro nombre de socket especificado.

mysql.default_host string

El host del servidor predeterminado para usar cuando se conecta al servidor de la base de datos, si no hay otro host especificado. No se aplica en SQL safe mode.

mysql.default_user string

El nombre de usuario predeterminado para usar cuando se conecta al servidor de la base de datos, si no hay otro nombre especificado. No se aplica en SQL safe mode.

mysql.default_password string

La contraseña predeterminada para usar cuando se conecta al servidor de la base de datos, si no hay otra contraseña especificada. No se aplica en SQL safe mode.

mysql.connect_timeout integer

Tiempo de espera de conexión en segundos. En GNU Linux este tiempo de espera es también usado para esperar la primera respuesta del servidor.

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Hay dos tipos de recursos usados en el módulo de MySQL. El primero es el identificador del enlace para una conexión con la base de datos. El segundo, un recurso que contiene el resultado de una consulta.

Configuración en tiempo de ejecución
Registro de cambios
Instalación/Configuración


Registro de cambios

A las clases/funciones/métodos de esta extensión se han realizado los siguientes cambios.

Registro de cambios general para la extensión ext/mysql

Este registro de cambios hace referencia a la extensión ext/mysql.

Cambios sobre las funciones existentes

La siguiente lista es una compilación de las modificaciones efectuadas sobre las funciones de la extensión ext/mysql.

Version | Function | Description
5.5.0 | mysql_connect | Esta función generará un error de nivel E_DEPRECATED.
 | mysql_db_name | La función mysql_list_dbs es obsoleta, por lo que emite un error de nivel E_DEPRECATED.
 | mysql_pconnect | Esta función generará un error de nivel E_DEPRECATED.
 | mysql_tablename | La función mysql_tablename es obsoleta, por lo que emite un error de nivel E_DEPRECATED.
5.3.0 | mysql_db_query | Ésta función ahora lanza ahora un aviso E_DEPRECATED.
 | mysql_escape_string | Ahora, esta función lanza un aviso E_DEPRECATED.
5.0.0 | mysql_fetch_object | Se añadió la posibilidad de devolver como un objeto diferente.
4.3.7 | mysql_list_tables | Esta función quedó obsoleta.
4.3.0 | mysql_connect | Se añadió el parámetro client_flags.
 | mysql_escape_string | Esta función será eliminada, no la utilice. En su lugar utilice mysql_real_escape_string.
 | mysql_pconnect | Se añadió el parámetro client_flags.
4.2.0 | mysql_connect | Se añadió el parámetro new_link.
4.0.6 | mysql_db_query | Esta función es obsoleta, no utilice esta función. Use mysql_select_db y mysql_query en su lugar.

Cambios globales ext/mysql

La lista siguiente recoge los cambios realizados sobre las funciones de la extensión ext/mysql.

Versión Descripción
5.5.0

Esta extensión es obsoleta. Conectar a una base de datos MySQL vía mysql_connect(), mysql_pconnect() o una conexión implícita a través de alguna otra mysql_* función devolverá un error E_DEPRECATED .

5.5.0

Todas las funciones antiguas y alias obsoletos, ahora devolverán errores E_DEPRECATED . Estas funciones son:

mysql(), mysql_fieldname(), mysql_fieldtable(), mysql_fieldlen(), mysql_fieldtype(), mysql_fieldflags(), mysql_selectdb(), mysql_createdb(), mysql_dropdb(), mysql_freeresult(), mysql_numfields(), mysql_numrows(), mysql_listdbs(), mysql_listtables(), mysql_listfields(), mysql_db_name(), mysql_dbname(), mysql_tablename(), and mysql_table_name().

Tipos de recursos
Constantes predefinidas
Mysql


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Desde PHP 4.3.0 es posible especificar flags adicionales para el cliente en las funciones mysql_connect() y mysql_pconnect(). Están definidas las siguientes constantes:

Constantes del cliente MySQL
Constante | Descripción
MYSQL_CLIENT_COMPRESS | Usar el procolo de compresión
MYSQL_CLIENT_IGNORE_SPACE | Permitir espacios despues de los nombres de función
MYSQL_CLIENT_INTERACTIVE | Permitir unos segundos interactive_timeout seconds (en vez de wait_timeout ) de inactividad antes del cierre de la conexión.
MYSQL_CLIENT_SSL | Usar encriptación SSL. Este flag solo esta disponible con la versión de la libreria de cliente de MySQL 4.x o superior. La versión 3.23.x se incluye tanto con PHP 4 como con los binarios para Windows de PHP 5.

La función mysql_fetch_array() utiliza una constante para los diferentes tipos de arrays resultantes. Estan definidas las siguientes constantes:

MySQL fetch constantes
Constante | Descripción
MYSQL_ASSOC | Las columnas son devueltas en un array que tiene los nombres de los campos como los índices del array.
MYSQL_BOTH | Las columnas son devueltas en un array que tiene tanto índice numérico como un índice con los nombres de los campos.
MYSQL_NUM | Las columnas son devueltas en un array que tiene un índice numérico para los campos. Este índice empieza con 0, con el primer campo en el resultado.

Registro de cambios
Ejemplos
Mysql


Ejemplos

Tabla de contenidos

  • Ejemplo general de la extensión MySQL
Constantes predefinidas
Ejemplo general de la extensión MySQL
Mysql


Ejemplo general de la extensión MySQL

Este simple ejemplo muestra como conectar, ejecutar una consulta, imprimir las filas resultantes y desconectar a una base de datos MySQL.

Ejemplo #1 Ejemplo general de la extensión MySQL

<?php
// Conectando, seleccionando la base de datos
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
    or die('No se pudo conectar: ' . mysql_error());
echo 'Connected successfully';
mysql_select_db('my_database') or die('No se pudo seleccionar la base de datos');

// Realizar una consulta MySQL
$query = 'SELECT * FROM my_table';
$result = mysql_query($query) or die('Consulta fallida: ' . mysql_error());

// Imprimir los resultados en HTML
echo "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
    echo "\t<tr>\n";
    foreach ($line as $col_value) {
        echo "\t\t<td>$col_value</td>\n";
    }
    echo "\t</tr>\n";
}
echo "</table>\n";

// Liberar resultados
mysql_free_result($result);

// Cerrar la conexión
mysql_close($link);
?>

Ejemplos
Funciones de MySQL
Ejemplos


Funciones de MySQL

Notas

Nota:

Muchas funciones de MySQL aceptan link_identifier como último parámetro. Si no se proviene, se utilizará la última conexión abierta. Si esta no existe, se intentará establecer conexión con el parámetro predeterminado definido en php.ini. Si no hay éxito, las funciones devuelven FALSE

Tabla de contenidos

  • mysql_affected_rows — Obtiene el número de filas afectadas en la anterior operación de MySQL
  • mysql_client_encoding — Devuelve el nombre del conjunto de caracteres
  • mysql_close — Cierra una conexión de MySQL
  • mysql_connect — Abre una conexión al servidor MySQL
  • mysql_create_db — Crea una base de datos MySQL
  • mysql_data_seek — Mueve el puntero de resultados interno
  • mysql_db_name — Recupera el nombre de la base de datos desde una llamada a mysql_list_dbs
  • mysql_db_query — Selecciona una base de datos y ejecuta una consulta sobre la misma
  • mysql_drop_db — Elimina (DROP) una base de datos MySQL
  • mysql_errno — Devuelve el valor numérico del mensaje de error de la última operación MySQL
  • mysql_error — Devuelve el texto del mensaje de error de la operación MySQL anterior
  • mysql_escape_string — Escapa una cadena para ser usada en mysql_query
  • mysql_fetch_array — Recupera una fila de resultados como un array asociativo, un array numérico o como ambos
  • mysql_fetch_assoc — Recupera una fila de resultados como un array asociativo
  • mysql_fetch_field — Obtiene la información de una columna de un resultado y la devuelve como un objeto
  • mysql_fetch_lengths — Obtiene la longitud de cada salida en un resultado
  • mysql_fetch_object — Recupera una fila de resultados como un objeto
  • mysql_fetch_row — Obtiene una fila de resultados como un array numérico
  • mysql_field_flags — Obtiene las banderas asociadas al campo especificado de un resultado
  • mysql_field_len — Devuelve la longitud del campo especificado
  • mysql_field_name — Obtiene el nombre del campo especificado de un resultado
  • mysql_field_seek — Establece el puntero del resultado en un índice de campo específicado
  • mysql_field_table — Obtiene el nombre de la tabla en la que está el campo especificado
  • mysql_field_type — Obtiene el tipo del campo especificado de un resultado
  • mysql_free_result — Libera la memoria del resultado
  • mysql_get_client_info — Obtiene información del cliente MySQL
  • mysql_get_host_info — Obtener información del anfitrión de MySQL
  • mysql_get_proto_info — Obtener información del protocolo MySQL
  • mysql_get_server_info — Obtiene información del servidor MySQL
  • mysql_info — Obtiene información sobre la consulta más reciente
  • mysql_insert_id — Obtiene el ID generado en la última consulta
  • mysql_list_dbs — Lista las bases de datos disponibles en un servidor MySQL
  • mysql_list_fields — Lista los campos de una tabla de MySQL
  • mysql_list_processes — Lista los procesos de MySQL
  • mysql_list_tables — Lista las tablas de una base de datos MySQL
  • mysql_num_fields — Obtiene el número de campos de un resultado
  • mysql_num_rows — Obtener el número de filas de un conjunto de resultados
  • mysql_pconnect — Abre una conexión persistente a un servidor MySQL
  • mysql_ping — Efectuar un chequeo de respuesta (ping) sobre una conexión al servidor o reconectarse si no hay conexión
  • mysql_query — Enviar una consulta MySQL
  • mysql_real_escape_string — Escapa caracteres especiales en un string para su uso en una sentencia SQL
  • mysql_result — Obtener datos de resultado
  • mysql_select_db — Seleccionar una base de datos MySQL
  • mysql_set_charset — Establece el conjunto de caracteres del cliente
  • mysql_stat — Obtiene el estado actual del sistema
  • mysql_tablename — Obtiene el nombre de la tabla de un campo
  • mysql_thread_id — Devuelve el ID del hilo actual
  • mysql_unbuffered_query — Envía una consulta SQL a MySQL, sin recuperar ni almacenar en búfer las filas de resultados
Ejemplo general de la extensión MySQL
mysql_affected_rows
Mysql


Obtiene el número de filas afectadas en la anterior operación de MySQL

Funciones de MySQL
mysql_client_encoding
Funciones de MySQL
PHP Manual

mysql_affected_rows

(PHP 4, PHP 5)

mysql_affected_rows — Obtiene el número de filas afectadas en la anterior operación de MySQL

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_affected_rows()
  • PDOStatement::rowCount()

Descripción

int mysql_affected_rows ([ resource $link_identifier = NULL ] )

Obtiene el número de filas afectadas por la última consulta INSERT, UPDATE, REPLACE o DELETE asociada con link_identifier.

Parámetros

link_identifier

La conexión MySQL. Si el identificador de enlace no se especifica, el último enlace abierto por mysql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si mysql_connect() fuese invocado sin parámetros. Si no se encuentra o establece una conexión, un error de nivel E_WARNING es generado.

Valores devueltos

Devuelve el número de filas afectadas en caso de éxito, y -1 si la última consulta falló.

Si la consulta anterior fue DELETE con ninguna cláusula WHERE, todos los registros habrán sido borrados de la tabla, aunque ésta función devolverá cero con una versión anterior a MySQL 4.1.2.

Al utilizar UPDATE, MySQL no actualiza las columnas donde el nuevo valor es el mismo que el anterior. Esto crea la posibilidad de que mysql_affected_rows() no pueda equivaler en realidad al número de filas encontradas, solamente el número de filas que estuvieron literalmente afectadas por la consulta.

La sentencia REPLACE primero borra el registro con la misma clave primaria y luego inserta el nuevo registro. Esta función devuelve el número de registros borrados más el número de registros insertados.

En el caso de consultas "INSERT ... ON DUPLICATE KEY UPDATE", el valor devuelto será 1 si se realizó una inserción, o 2 para una actualización de una fila existente.

Ejemplos

Ejemplo #1 Ejemplo de mysql_affected_rows()

<?php
$enlace = mysql_connect('localhost', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
    die('No se pudo conectar: ' . mysql_error());
}
mysql_select_db('mibd');

/* Esto debería devolver el número correcto de registros borrados */
mysql_query('DELETE FROM mitabla WHERE id < 10');
printf("Registros borrados: %d\n", mysql_affected_rows());

/* con una clausula WHERE que nunca es verdad, debería devolver 0 */
mysql_query('DELETE FROM mitabla WHERE 0');
printf("Registros borrados: %d\n", mysql_affected_rows());
?>

El resultado del ejemplo sería algo similar a:

Registros borrados: 10
Registros borrados: 0

Ejemplo #2 Ejemplo de mysql_affected_rows() al utilizar transacciones

<?php
$enlace = mysql_connect('localhost', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
    die('No se pudo conectar: ' . mysql_error());
}
mysql_select_db('mibd');

/* Actualizar registros */
mysql_query("UPDATE mitabla SET usado=1 WHERE id < 10");
printf ("Registros actualizados: %d\n", mysql_affected_rows());
mysql_query("COMMIT");
?>

El resultado del ejemplo sería algo similar a:

Registros actualizados: 10

Notas

Nota: Transacciones

Si se usan transacciones, es necesario llamar a mysql_affected_rows() después de una consulta INSERT, UPDATE, o DELETE, no después del COMMIT.

Nota: Sentencias SELECT

Para conocer el número de filas devueltas por un SELECT, es posible usar mysql_num_rows().

Nota: Claves Foráneas en Cascada

mysql_affected_rows() no cuenta la filas afectadas implícitamente a través del uso de ON DELETE CASCADE y/o ON UPDATE CASCADE en las restricciones de las claves foráneas.

Ver también

  • mysql_num_rows() - Obtener el número de filas de un conjunto de resultados
  • mysql_info() - Obtiene información sobre la consulta más reciente

Funciones de MySQL
mysql_client_encoding
Funciones de MySQL


Devuelve el nombre del conjunto de caracteres

mysql_affected_rows
mysql_close
Funciones de MySQL
PHP Manual

mysql_client_encoding

(PHP 4 >= 4.3.0, PHP 5)

mysql_client_encoding — Devuelve el nombre del conjunto de caracteres

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_character_set_name()

Descripción

string mysql_client_encoding ([ resource $link_identifier = NULL ] )

Recupera la variable character_set de MySQL.

Parámetros

link_identifier

La conexión MySQL. Si el identificador de enlace no se especifica, el último enlace abierto por mysql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si mysql_connect() fuese invocado sin parámetros. Si no se encuentra o establece una conexión, un error de nivel E_WARNING es generado.

Valores devueltos

Devuelve el nombre del conjunto de caracteres predeterminado de la conexión actual.

Ejemplos

Ejemplo #1 Ejemplo de mysql_client_encoding()

<?php
$enlace = mysql_connect('localhost', 'usuario_mysql', 'contraseña_mysql');
$conjunto_caracteres = mysql_client_encoding($enlace);

echo "El conjunto de caracteres actual es: $conjunto_caracteres\n";
?>

El resultado del ejemplo sería algo similar a:

El conjunto de caracteres actual es: latin1

Ver también

  • mysql_set_charset() - Establece el conjunto de caracteres del cliente
  • mysql_real_escape_string() - Escapa caracteres especiales en un string para su uso en una sentencia SQL

mysql_affected_rows
mysql_close
Funciones de MySQL


Cierra una conexión de MySQL

mysql_client_encoding
mysql_connect
Funciones de MySQL
PHP Manual

mysql_close

(PHP 4, PHP 5)

mysql_close — Cierra una conexión de MySQL

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_close()
  • PDO: Asigna el valor de NULL al objeto PDO

Descripción

bool mysql_close ([ resource $link_identifier = NULL ] )

mysql_close() cierra la conexión no persistente al servidor de MySQL que está asociada con el identificador de enlace especificado. Si link_identifier no se especifica, se usará el último enlace abierto.

Normalmente no es necesario usar a mysql_close(), ya que los enlaces abiertos no persistentes son automáticamente cerrados al final de la ejecución del script. Véase también liberar recursos.

Parámetros

link_identifier

La conexión MySQL. Si no se especifica el enlace, se asumirá el último enlace abierto por mysql_connect(). Si no se encuentra o no se puede establecer la conexión se producirá un error del nivel E_WARNING.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de mysql_close()

<?php
$enlace = mysql_connect('localhost', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
    die('No se pudo conectar: ' . mysql_error());
}
echo 'Conectado con éxito';
mysql_close($enlace);
?>

El resultado del ejemplo sería:

Conectado con éxito

Notas

Nota:

mysql_close() no cerrará los enlaces persistentes creados por mysql_pconnect().

Ver también

  • mysql_connect() - Abre una conexión al servidor MySQL
  • mysql_free_result() - Libera la memoria del resultado

mysql_client_encoding
mysql_connect
Funciones de MySQL


Abre una conexión al servidor MySQL

mysql_close
mysql_create_db
Funciones de MySQL
PHP Manual

mysql_connect

(PHP 4, PHP 5)

mysql_connect — Abre una conexión al servidor MySQL

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_connect()
  • PDO::__construct()

Descripción

resource mysql_connect ([ string $server = ini_get("mysql.default_host") [, string $username = ini_get("mysql.default_user") [, string $password = ini_get("mysql.default_password") [, bool $new_link = false [, int $client_flags = 0 ]]]]] )

Abre o reutiliza una conexión a un servidor MySQL.

Parámetros

server

El servidor MySQL. También se puede incluir un número de puerto. P.ej. "nombre_anfitrión:puerto" o una ruta a un socket local, p.ej. ":/ruta/al/socket" para el servidor local.

Si la directiva PHP mysql.default_host no está definida (por defecto), el valor por defecto es 'localhost:3306'. En SQL safe mode, éste parámetro es ignorado y siempre se usa el valor 'localhost:3306'.

username

El nombre de usuario. El valor por defecto está definido por mysql.default_user. En SQL safe mode, éste parámetro es ignorado y se usa el nombre de usuario que posee el proceso del servidor.

password

La contraseña. El valor por defecto está definido por mysql.default_password. En SQL safe mode, éste parámetro es ignorado y se usa la contraseña vacía.

new_link

Si se realiza una segunda llamada a mysql_connect() con los mismos argumentos, un nuevo enlace no será establecido, pero en su lugar, será devuelto el identificador de enlace del enlace ya abierto. El parámetro new_link modifica éste comportamiento y hace que mysql_connect() siempre abra un nuevo enlace, aun si mysql_connect() fue llamada antes con los mismos parámetros. En SQL safe mode, éste parámetro es ignorado.

client_flags

El parámetro client_flags puede ser una combinación de las siguientes constantes: 128 (habilita el manejo de LOAD DATA LOCAL), MYSQL_CLIENT_SSL, MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE o MYSQL_CLIENT_INTERACTIVE. Lea la sección sobre Constantes del cliente MySQL para más información. En SQL safe mode, éste parámetro es ignorado.

Valores devueltos

Devuelve un identificador de enlace de MySQL en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.5.0 | Esta función generará un error de nivel E_DEPRECATED.
4.3.0 | Se añadió el parámetro client_flags.
4.2.0 | Se añadió el parámetro new_link.

Ejemplos

Ejemplo #1 Ejemplo de mysql_connect()

<?php
$enlace =  mysql_connect('localhost', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
    die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado satisfactoriamente';
mysql_close($enlace);
?>

Ejemplo #2 Ejemplo de mysql_connect() usando la sintaxis nombre_anfitrión:puerto

<?php
// nos  conectamos a ejemplo.com y al puerto 3307
$enlace = mysql_connect('ejemplo.com:3307',  'usuario_mysql', 'contraseña_mysql');
if  (!$enlace) {
    die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado satisfactoriamente';
mysql_close($enlace);

// nos conectamos a ejemplo.com y al puerto 3307
$enlace = mysql_connect('127.0.0.1:3307', 'usuario_mysql',  'contraseña_mysql');
if (!$enlace) {
    die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado satisfactoriamente';
mysql_close($enlace);
?>

Ejemplo #3 Ejemplo de mysql_connect() usando la sintaxis ":/rota/al/socket"

<?php
// nos  conectamos a localhost y a la toma ej. /tmp/mysql.sock

// variante 1: omitir el localhost
$enlace = mysql_connect(':/tmp/mysql', 'usuario_mysql',  'contraseña_mysql');
if (!$enlace) {
    die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado satisfactoriamente';
mysql_close($enlace);

// variante 2: con localhost
$enlace = mysql_connect('localhost:/tmp/mysql.sock',  'usuario_mysql', 'contraseña_mysql');
if  (!$enlace) {
    die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado  satisfactoriamente';
mysql_close($enlace);
?>

Notas

Nota:

Siempre que se especifique "localhost" o "localhost:puerto" como servidor, la biblioteca cliente de MySQL invalidará esto e intentará conectarse a un socket local (llamada tubería en Windows). Si se quiere usar TCP/IP, se ha de utilizar "127.0.0.1" en lugar de "localhost". Si la biblioteca cliente de MySQL intenta conectarse al socket local erróneo, se debería establecer el ruta correcta como en la configuración de PHP y dejar el campo del servidor en blanco.

Nota:

El enlace al servidor se cerrará tan pronto finalice la ejecución del script, a menos que se cierre antes por una llamada explícita a mysql_close().

Nota:

Se pPuede suprimir el mensaje de error en caso de fallo anteponiendo un @ al nombre de la función.

Nota:

El error "Can't create TCP/IP socket (10106)" normalmente significa que la directiva de configuración variables_order no contiene el carácter E. En Windows, si el entorno no es copiadola variable de entorno SYSTEMROOT no estará disponible y PHP tendrá problemas al cargar Winsock.

Ver también

  • mysql_pconnect() - Abre una conexión persistente a un servidor MySQL
  • mysql_close() - Cierra una conexión de MySQL

mysql_close
mysql_create_db
Funciones de MySQL


Crea una base de datos MySQL

mysql_connect
mysql_data_seek
Funciones de MySQL
PHP Manual

mysql_create_db

(PHP 4, PHP 5)

mysql_create_db — Crea una base de datos MySQL

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_query()
  • PDO::query()

Descripción

bool mysql_create_db ( string $database_name [, resource $link_identifier = NULL ] )

mysql_create_db() intenta crear una nueva base de datos en el servidor asociado con el identificador de enlace especificado.

Parámetros

database_name

El nombre de la base de datos a ser creada.

link_identifier

La conexión MySQL. Si el identificador de enlace no se especifica, el último enlace abierto por mysql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si mysql_connect() fuese invocado sin parámetros. Si no se encuentra o establece una conexión, un error de nivel E_WARNING es generado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo alternativo de mysql_create_db()

La función mysql_create_db() está en desuso. Es preferiblemente el uso de mysql_query() para emitir una sentencia sql CREATE DATABASE en su lugar.

<?php
$enlace = mysql_connect('localhost', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
    die('No pudo conectarse: ' . mysql_error());
}

$sql = 'CREATE DATABASE mi_bd';
if (mysql_query($sql, $enlace)) {
    echo "La base de datos mi_bd fue creada satisfactoriamente\n";
} else {
    echo 'Error al crear la base de datos: ' . mysql_error() . "\n";
}
?>

El resultado del ejemplo sería algo similar a:

La base de datos mi_bd fue creada satisfactoriamente

Notas

Nota:

Por razones de compatibilidad con versiones anteriores, los siguientes alias obsoletos podrían usarse: mysql_createdb()

Nota:

Ésta función no estará disponible si la extensión MySQL fue construida con una biblioteca cliente MySQL 4.x.

Ver también

  • mysql_query() - Enviar una consulta MySQL
  • mysql_select_db() - Seleccionar una base de datos MySQL

mysql_connect
mysql_data_seek
Funciones de MySQL


Mueve el puntero de resultados interno

mysql_create_db
mysql_db_name
Funciones de MySQL
PHP Manual

mysql_data_seek

(PHP 4, PHP 5)

mysql_data_seek — Mueve el puntero de resultados interno

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_data_seek()
  • PDO::FETCH_ORI_ABS

Descripción

bool mysql_data_seek ( resource $result , int $row_number )

mysql_data_seek() mueve el puntero de filas interno del resultado de MySQL asociado con el identificador de resultado especificado para apuntar al número de fila especificada. La siguiente llamada a una función de obtención de MySQL, tal como mysql_fetch_assoc(), devolverá esa fila.

row_number empieza en 0. row_number debería ser un valor en el rango de 0 a mysql_num_rows() -1. Sin embargo, si el conjunto de resultados esta vacío ( mysql_num_rows() == 0), una búsqueda a 0 fallará con un E_WARNING y mysql_data_seek() devolverá FALSE.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a mysql_query().

row_number

Número de la fila deseada del puntero de resultados nuevo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de mysql_data_seek()

<?php
$enlace = mysql_connect('localhost', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
    die('No pudo conectarse: ' . mysql_error());
}
$bd_seleccionada = mysql_select_db('bd_muestra');
if (!$bd_seleccionada) {
    die('La base de datos no pudo seleccionarse: ' . mysql_error());
}
$consulta = 'SELECT apellido, nombre FROM amigos';
$resultado = mysql_query($consulta);
if (!$resultado) {
    die('La consulta falló: ' . mysql_error());
}
/* obtención de filas en orden inverso */
for ($i = mysql_num_rows($resultado) - 1; $i >= 0; $i--) {
    if (!mysql_data_seek($resultado, $i)) {
        echo "No se encuenta la fila $i: " . mysql_error() . "\n";
        continue;
    }

    if (!($fila = mysql_fetch_assoc($resultado))) {
        continue;
    }

    echo $fila['apellido'] . ' ' . $fila['nombre'] . "<br />\n";
}

mysql_free_result($resultado);
?>

Notas

Nota:

La función mysql_data_seek() puede ser usada solamente junto con mysql_query(), y no con mysql_unbuffered_query().

Ver también

  • mysql_query() - Enviar una consulta MySQL
  • mysql_num_rows() - Obtener el número de filas de un conjunto de resultados
  • mysql_fetch_row() - Obtiene una fila de resultados como un array numérico
  • mysql_fetch_assoc() - Recupera una fila de resultados como un array asociativo
  • mysql_fetch_array() - Recupera una fila de resultados como un array asociativo, un array numérico o como ambos
  • mysql_fetch_object() - Recupera una fila de resultados como un objeto

mysql_create_db
mysql_db_name
Funciones de MySQL


Recupera el nombre de la base de datos desde una llamada a mysql_list_dbs

mysql_data_seek
mysql_db_query
Funciones de MySQL
PHP Manual

mysql_db_name

(PHP 4, PHP 5)

mysql_db_name — Recupera el nombre de la base de datos desde una llamada a mysql_list_dbs()

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • Consulta: SELECT DATABASE()

Descripción

string mysql_db_name ( resource $result , int $row [, mixed $field = NULL ] )

Recupera el nombre de la base de datos de una llamada a mysql_list_dbs().

Parámetros

result

El puntero de resultados desde una llamada a mysql_list_dbs().

row

El índice dentro del conjunto de resultados.

field

El nombre del campo.

Valores devueltos

Devuelve el nombre de la base de datos en caso de éxito, y FALSE en caso de error. Si se devuelve FALSE, se usa mysql_error() para determinar la naturaleza del error.

Historial de cambios

Versión | Descripción
5.5.0 | La función mysql_list_dbs() es obsoleta, por lo que emite un error de nivel E_DEPRECATED.

Ejemplos

Ejemplo #1 Ejemplo de mysql_db_name()

<?php
error_reporting(E_ALL);

$enlace = mysql_connect('anfitrión_bd', 'nombre_usuario', 'contraseña');
$lista_bd = mysql_list_dbs($enlace);

$i = 0;
$cuenta = mysql_num_rows($lista_bd);
while ($i < $cuenta) {
    echo mysql_db_name($lista_bd, $i) . "\n";
    $i++;
}
?>

Notas

Nota:

Por razones de compatibilidad con versiones anteriores, los siguientes alias obsoletos podrían usarse: mysql_dbname()

Ver también

  • mysql_list_dbs() - Lista las bases de datos disponibles en un servidor MySQL
  • mysql_tablename() - Obtiene el nombre de la tabla de un campo

mysql_data_seek
mysql_db_query
Funciones de MySQL


Selecciona una base de datos y ejecuta una consulta sobre la misma

mysql_db_name
mysql_drop_db
Funciones de MySQL
PHP Manual

mysql_db_query

(PHP 4, PHP 5)

mysql_db_query — Selecciona una base de datos y ejecuta una consulta sobre la misma

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_select_db() y luego la consulta
  • PDO::__construct()

Descripción

resource mysql_db_query ( string $database , string $query [, resource $link_identifier = NULL ] )

mysql_db_query() selecciona una base de datos y ejecuta una consulta en ella.

Advertencia

Esta función ha sido declarada OBSOLETA desde PHP 5.3.0. Su uso está totalmente desaconsejado.

Parámetros

database

El nombre de la base de datos que va a ser seleccionada.

query

La consulta MySQL.

Los datos dentro de la consulta deben ser escapados apropiadamente.

link_identifier

La conexión MySQL. Si el identificador de enlace no se especifica, el último enlace abierto por mysql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si mysql_connect() fuese invocado sin parámetros. Si no se encuentra o establece una conexión, un error de nivel E_WARNING es generado.

Valores devueltos

Devuelve un recurso de resultados de MySQL positivo al resultado de la consulta, o FALSE en caso de error. La función también retorna TRUE/FALSE para las consultas INSERT/UPDATE/DELETE indicando éxito/fallo.

Historial de cambios

Versión | Descripción
5.3.0 | Ésta función ahora lanza ahora un aviso E_DEPRECATED.
4.0.6 | Esta función es obsoleta, no utilice esta función. Use mysql_select_db() y mysql_query() en su lugar.

Ejemplos

Ejemplo #1 Ejemplo alternativo de mysql_db_query()

<?php

if (!$enlace = mysql_connect('anfitrión_mysql', 'usuario_mysql', 'contraseña_mysql')) {
    echo 'No pudo conectarse a mysql';
    exit;
}

if (!mysql_select_db('nombre_bd_mysql', $enlace)) {
    echo 'No pudo seleccionar la base de datos';
    exit;
}

$sql       = 'SELECT foo FROM bar WHERE id = 42';
$resultado = mysql_query($sql, $enlace);

if (!$resultado) {
    echo "Error de BD, no se pudo consultar la base de datos\n";
    echo "Error MySQL: ' . mysql_error();
    exit;
}

while ($fila = mysql_fetch_assoc($resultado)) {
    echo $fila['foo'];
}

mysql_free_result($resultado);

?>

Notas

Nota:

Se ha de tener en cuenta que ésta función NO vuelve a la base de datos a la que se estaba conectado anteriormente. En otras palabras, no se puede utilizar ésta función para ejecutar temporalmente una consulta SQL en otra base de datos; se tendría que hacer el cambio manualmente. Se recomienda encarecidamente usar la sintaxis basedatos.tabla en las consultas SQL o mysql_select_db() en lugar de esta función.

Ver también

  • mysql_query() - Enviar una consulta MySQL
  • mysql_select_db() - Seleccionar una base de datos MySQL

mysql_db_name
mysql_drop_db
Funciones de MySQL


Elimina (DROP) una base de datos MySQL

mysql_db_query
mysql_errno
Funciones de MySQL
PHP Manual

mysql_drop_db

(PHP 4, PHP 5)

mysql_drop_db — Elimina (DROP) una base de datos MySQL

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • Ejecutar una consulta DROP DATABASE

Descripción

bool mysql_drop_db ( string $database_name [, resource $link_identifier = NULL ] )

mysql_drop_db() intenta eliminar (remover) una base de datos entera del servidor asociado con el identificador de enlace especificado. Esta función es obsoleta; es preferible usar mysql_query() para ejecutar una sentencia SQL DROP DATABASE en su lugar.

Parámetros

database_name

El nombre de la base de datos que va a ser eliminada.

link_identifier

La conexión MySQL. Si el identificador de enlace no se especifica, el último enlace abierto por mysql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si mysql_connect() fuese invocado sin parámetros. Si no se encuentra o establece una conexión, un error de nivel E_WARNING es generado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo alternativo de mysql_drop_db()

<?php
$enlace = mysql_connect('localhost', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
    die('No pudo conectarse: ' . mysql_error());
}

$sql = 'DROP DATABASE mi_bd';
if (mysql_query($sql, $enlace)) {
    echo "La base de datos mi_bd fue eliminada con éxito\n";
} else {
    echo 'Error al eliminar la base de datos: ' . mysql_error() . "\n";
}
?>

Notas

Advertencia

Ésta función no estará disponible si la extensión MySQL fue construida con una biblioteca cliente MySQL 4.x.

Nota:

Por razones de compatibilidad con versiones anteriores, los siguientes alias obsoletos podrían usarse: mysql_dropdb()

Ver también

  • mysql_query() - Enviar una consulta MySQL

mysql_db_query
mysql_errno
Funciones de MySQL


Devuelve el valor numérico del mensaje de error de la última operación MySQL

mysql_drop_db
mysql_error
Funciones de MySQL
PHP Manual

mysql_errno

(PHP 4, PHP 5)

mysql_errno — Devuelve el valor numérico del mensaje de error de la última operación MySQL

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_errno()
  • PDO::errorCode()

Descripción

int mysql_errno ([ resource $link_identifier = NULL ] )

Devuelve el número de error de la última función MySQL.

Los errores que provienen del procesamiento de la base de datos MySQL ya no emiten advertencias. En su lugar, utilice mysql_errno() para recuperar el código de error. Tenga en cuenta que ésta función solamente devolverá el código de error de la función MySQL ejecutada mas recientemente (sin incluir a mysql_error() y mysql_errno()), por lo que, si se quiere usar, hay que asegurarse de revisar el valor antes de llamar otra función MySQL.

Parámetros

link_identifier

La conexión MySQL. Si el identificador de enlace no se especifica, el último enlace abierto por mysql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si mysql_connect() fuese invocado sin parámetros. Si no se encuentra o establece una conexión, un error de nivel E_WARNING es generado.

Valores devueltos

Devuelve el número de error de la última función de MySQL, o 0 (cero) si no ha ocurrido ningún error.

Ejemplos

Ejemplo #1 Ejemplo de mysql_errno()

<?php
$enlace = mysql_connect("localhost", "usuario_mysql", "contraseña_mysql");

if (!mysql_select_db("bd_inexistente", $enlace)) {
    echo mysql_errno($enlace) . ": " . mysql_error($enlace). "\n";
}

mysql_select_db("kossu", $enlace);
if (!mysql_query("SELECT * FROM tabla_inexistente", $enlace)) {
    echo mysql_errno($enlace) . ": " . mysql_error($enlace) . "\n";
}
?>

El resultado del ejemplo sería algo similar a:

1049: Unknown database 'bd_inexistente'
1146: Table 'kossu.tabla_inexistente' doesn't exist

Ver también

  • mysql_error() - Devuelve el texto del mensaje de error de la operación MySQL anterior
  • » Códigos de error de MySQL

mysql_drop_db
mysql_error
Funciones de MySQL


Devuelve el texto del mensaje de error de la operación MySQL anterior

mysql_errno
mysql_escape_string
Funciones de MySQL
PHP Manual

mysql_error

(PHP 4, PHP 5)

mysql_error — Devuelve el texto del mensaje de error de la operación MySQL anterior

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_error()
  • PDO::errorInfo()

Descripción

string mysql_error ([ resource $link_identifier = NULL ] )

Devuelve el texto del error de la última función MySQL. Los errores que provienen del procesamiento de la base de datos MySQL ya no emiten advertencias. En su lugar, utilice mysql_errno() para recuperar el código de error. Tenga en cuenta que ésta función solamente devolverá el código de error de la función MySQL ejecutada mas recientemente (sin incluir a mysql_error() y mysql_errno()), por lo que, si se quiere usar, hay que asegurarse de revisar el valor antes de llamar otra función MySQL.

Parámetros

link_identifier

La conexión MySQL. Si el identificador de enlace no se especifica, el último enlace abierto por mysql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si mysql_connect() fuese invocado sin parámetros. Si no se encuentra o establece una conexión, un error de nivel E_WARNING es generado.

Valores devueltos

Devuelve el texto del error de la última función MySQL, o '' (una cadena vacía) si no ha ocurrido ningún error.

Ejemplos

Ejemplo #1 Ejemplo de mysql_error()

<?php
$enlace = mysql_connect("localhost", "usuario_mysql", "contraseña_mysql");

mysql_select_db("bd_inexistente", $enlace);
echo mysql_errno($enlace) . ": " . mysql_error($enlace). "\n";

mysql_select_db("kossu", $enlace);
mysql_query("SELECT * FROM tabla_inexistente", $enlace);
echo mysql_errno($enlace) . ": " . mysql_error($enlace) . "\n";
?>

El resultado del ejemplo sería algo similar a:

1049: Unknown database 'bd_inexistente'
1146: Table 'kossu.tabla_inexistente' doesn't exist

Ver también

  • mysql_errno() - Devuelve el valor numérico del mensaje de error de la última operación MySQL
  • » Códigos de error de MySQL

mysql_errno
mysql_escape_string
Funciones de MySQL


Escapa una cadena para ser usada en mysql_query

mysql_error
mysql_fetch_array
Funciones de MySQL
PHP Manual

mysql_escape_string

(PHP 4 >= 4.0.3, PHP 5)

mysql_escape_string — Escapa una cadena para ser usada en mysql_query

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_escape_string()
  • PDO::quote()

Descripción

string mysql_escape_string ( string $unescaped_string )

Esta función escapará unescaped_string, para que sea segura ponerla en una mysql_query(). Esta función está obsoleta.

Esta función es idéntica a mysql_real_escape_string() excepto que mysql_real_escape_string() toma un gestor de conexión y escapa la cadena de acuerdo con el juego de carácteres actual. mysql_escape_string() no toma un argumento de conexión y no respeta la configuración del juego de caracteres actual.

Advertencia

Esta función ha sido declarada OBSOLETA desde PHP 5.3.0. Su uso está totalmente desaconsejado.

Parámetros

unescaped_string

La cadena que va a ser escapada.

Valores devueltos

Devuelve la cadena escapada.

Historial de cambios

Versión | Descripción
5.3.0 | Ahora, esta función lanza un aviso E_DEPRECATED.
4.3.0 | Esta función será eliminada, no la utilice. En su lugar utilice mysql_real_escape_string().

Ejemplos

Ejemplo #1 Ejemplo de mysql_escape_string()

<?php
$elemento = "Zak's Laptop";
$elemento_escapado = mysql_escape_string($elemento);
printf("Cadena escapada: %s\n", $elemento_escapado);
?>

El resultado del ejemplo sería:

Cadena escapada: Zak\'s Laptop

Notas

Nota:

mysql_escape_string() no escapa los caracteres % y _.

Ver también

  • mysql_real_escape_string() - Escapa caracteres especiales en un string para su uso en una sentencia SQL
  • addslashes() - Escapa un string con barras invertidas
  • La directiva magic_quotes_gpc.

mysql_error
mysql_fetch_array
Funciones de MySQL


Recupera una fila de resultados como un array asociativo, un array numérico o como ambos

mysql_escape_string
mysql_fetch_assoc
Funciones de MySQL
PHP Manual

mysql_fetch_array

(PHP 4, PHP 5)

mysql_fetch_array — Recupera una fila de resultados como un array asociativo, un array numérico o como ambos

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_fetch_array()
  • PDOStatement::fetch()

Descripción

array mysql_fetch_array ( resource $result [, int $result_type = MYSQL_BOTH ] )

Devuelve un array que corresponde a la fila recuperada y mueve el puntero de datos interno hacia delante.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a mysql_query().

result_type

El tipo de array que va a ser devuelto. Es una constante y puede tomar los siguientes valores: MYSQL_ASSOC, MYSQL_NUM, y MYSQL_BOTH.

Valores devueltos

Devuelve un array de cadenas que corresponde a la fila recuperada, o FALSE si no hay más filas. El tipo del array retornado depende de como esté definido result_type. Al utilizar MYSQL_BOTH (predeterminado), se obtendrá un array con ambos índices: asociativos y numéricos. Al utilizar MYSQL_ASSOC, se obtienen solo los índices asociativos (tal como funciona mysql_fetch_assoc()). Al utilizar MYSQL_NUM, se obtienen solo los índices numéricos (tal como funciona mysql_fetch_row()).

Si dos o más columnas del resultado tienen el mismo nombre de campo, la última columna tomará precedencia. Para acceder a la/s otra/s columna/s con el mismo nombre, se deberá usar el índice numérico de la columna o crear un alias para la columna. Para las columnas con alias, no se puede acceder al contenido con el nombre de la columna original.

Ejemplos

Ejemplo #1 Consulta con nombres de campos duplicados con alias

SELECT tabla1.campo AS foo, tabla2.campo AS bar FROM tabla1, tabla2

Ejemplo #2 mysql_fetch_array() con MYSQL_NUM

<?php
mysql_connect("localhost", "usuario_mysql", "contraseña_mysql") or
    die("No se pudo conectar: " . mysql_error());
mysql_select_db("mibd");

$resultado = mysql_query("SELECT id, nombre FROM mitabla");

while ($fila = mysql_fetch_array($resultado, MYSQL_NUM)) {
    printf("ID: %s  Nombre: %s", $fila[0], $fila[1]);
}

mysql_free_result($resultado);
?>

Ejemplo #3 mysql_fetch_array() con MYSQL_ASSOC

<?php
mysql_connect("localhost", "usuario_mysql", "contraseña_mysql") or
    die("No se pudo conectar: " . mysql_error());
mysql_select_db("mibd");

$resultado = mysql_query("SELECT id, nombre FROM mitabla");

while ($fila = mysql_fetch_array($resultado, MYSQL_ASSOC)) {
    printf("ID: %s  Nombre: %s", $fila["id"], $fila["nombre"]);
}

mysql_free_result($resultado);
?>

Ejemplo #4 mysql_fetch_array() con MYSQL_BOTH

<?php
mysql_connect("localhost", "usuario_mysql", "contraseña_mysql") or
    die("No se pudo conectar: " . mysql_error());
mysql_select_db("mibd");

$resultado = mysql_query("SELECT id, nombre FROM mitabla");

while ($fila = mysql_fetch_array($resultado, MYSQL_BOTH)) {
    printf ("ID: %s  Nombre: %s", $fila[0], $fila["nombre"]);
}

mysql_free_result($resultado);
?>

Notas

Nota: Rendimiento

Una cosa importante a tener en cuenta es que el uso de mysql_fetch_array() no es significativamente más lento que el uso de mysql_fetch_row(), aunque provee un valor añadido considerable.

Nota: Los nombres de los campos devueltos por esta función son sensibles a mayúsculas y minúsculas.

Nota: Esta función define campos NULOS al valor NULL de PHP.

Ver también

  • mysql_fetch_row() - Obtiene una fila de resultados como un array numérico
  • mysql_fetch_assoc() - Recupera una fila de resultados como un array asociativo
  • mysql_data_seek() - Mueve el puntero de resultados interno
  • mysql_query() - Enviar una consulta MySQL

mysql_escape_string
mysql_fetch_assoc
Funciones de MySQL


Recupera una fila de resultados como un array asociativo

mysql_fetch_array
mysql_fetch_field
Funciones de MySQL
PHP Manual

mysql_fetch_assoc

(PHP 4 >= 4.0.3, PHP 5)

mysql_fetch_assoc — Recupera una fila de resultados como un array asociativo

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_fetch_assoc()
  • PDOStatement::fetch(PDO::FETCH_ASSOC)

Descripción

array mysql_fetch_assoc ( resource $result )

Devuelve un array asociativo que corresponde a la fila recuperada y mueve el puntero de datos interno hacia adelante. mysql_fetch_assoc() es equivalente a llamar a mysql_fetch_array() con MYSQL_ASSOC como segundo parámetro opcional. Únicamente devuelve un array asociativo.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a mysql_query().

Valores devueltos

Devuelve un array asociativo de strings que corresponde a la fila recuperada, o FALSE si no hay más filas disponibles.

Si dos o más columnas del resultado tienen los mismos nombres de campo, la última columna tomará precedencia. Para acceder a la/s otra/s columna/s con el mismo nombre, se tendrá que acceder al resultado con índices numéricos mediante el uso de mysql_fetch_row() o agregando sobrenombres. Véase el ejemplo en la descripción de mysql_fetch_array() respecto a los sobrenombres.

Ejemplos

Ejemplo #1 Un ejemplo desarrolado de mysql_fetch_assoc()

<?php

$conexión = mysql_connect("localhost", "usuario_mysql", "contraseña_mysql");

if (!$conexión) {
    echo "No pudo conectarse a la BD: " . mysql_error();
    exit;
}

if (!mysql_select_db("nombre_de_la_bd")) {
    echo "No ha sido posible seleccionar la BD: " . mysql_error();
    exit;
}

$sql = "SELECT id as id_usuario, nombre_completo, estatus_usuario
        FROM   alguna_tabla
        WHERE  estatus_usuario = 1";

$resultado = mysql_query($sql);

if (!$resultado) {
    echo "No se pudo ejecutar con exito la consulta ($sql) en la BD: " . mysql_error();
    exit;
}

if (mysql_num_rows($resultado) == 0) {
    echo "No se han encontrado filas, nada a imprimir, asi que voy a detenerme.";
    exit;
}

// Mientras exista una fila de datos, colocar esa fila en $fila como un array asociativo
// Nota: Si solo espera una fila, no hay necesidad de usar un bucle
// Nota: Si coloca extract($fila); dentro del siguiente bucle,
//       estará creando $id_usuario, $nombre_completo, y $estatus_usuario
while ($fila = mysql_fetch_assoc($resultado)) {
    echo $fila["id_usuario"];
    echo $fila["nombre_completo"];
    echo $fila["estatus_usuario"];
}

mysql_free_result($resultado);

?>

Notas

Nota: Rendimiento

Algo importante a observar es que el uso de mysql_fetch_assoc() no es significativamente más lento que el uso de mysql_fetch_row(), aunque provee un valor añadido considerable.

Nota: Los nombres de los campos devueltos por esta función son sensibles a mayúsculas y minúsculas.

Nota: Esta función define campos NULOS al valor NULL de PHP.

Ver también

  • mysql_fetch_row() - Obtiene una fila de resultados como un array numérico
  • mysql_fetch_array() - Recupera una fila de resultados como un array asociativo, un array numérico o como ambos
  • mysql_data_seek() - Mueve el puntero de resultados interno
  • mysql_query() - Enviar una consulta MySQL
  • mysql_error() - Devuelve el texto del mensaje de error de la operación MySQL anterior

mysql_fetch_array
mysql_fetch_field
Funciones de MySQL


Obtiene la información de una columna de un resultado y la devuelve como un objeto

mysql_fetch_assoc
mysql_fetch_lengths
Funciones de MySQL
PHP Manual

mysql_fetch_field

(PHP 4, PHP 5)

mysql_fetch_field — Obtiene la información de una columna de un resultado y la devuelve como un objeto

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_fetch_field()
  • PDOStatement::getColumnMeta()

Descripción

object mysql_fetch_field ( resource $result [, int $field_offset = 0 ] )

Devuelve un objeto que contiene la información de los campos. Esta función puede ser usada para obtener información sobre campos en el resultado de la consulta proporcionada.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a mysql_query().

field_offset

El índice numérico del campo. Si el índice del campo no se especifica, se recuperará el siguiente campo que aún no haya recuperado esta función. Los índices de field_offset comienzan en 0.

Valores devueltos

Devuelve un object que contiene la información del campo. Las propiedades del objeto son:

  • name - nombre de la columna
  • table - nombre de la tabla a la que pertenece la columna, el cual es el sobrenombre si alguno está definido
  • max_length - longitud máxima de la columna
  • not_null - 1 si la columna no puede ser NULL
  • primary_key - 1 si la columna es una clave primaria
  • unique_key - 1 si la columna es una clave única
  • multiple_key - 1 si la colmuna es una clave no única
  • numeric - 1 si la columna es numérica
  • blob - 1 si la columna es un BLOB
  • type - el tipo de la columna
  • unsigned - 1 si la columna es sin signo
  • zerofill - 1 si la columna es rellena de ceros

Ejemplos

Ejemplo #1 Ejemplo de mysql_fetch_field()

<?php
$conexión = mysql_connect('localhost', 'usuario_mysql', 'contraseña_mysql');
if (!$conexión) {
    die('No se pudo conectar: ' . mysql_error());
}
mysql_select_db('basedatos');
$resultado = mysql_query('select * from table');
if (!$resultado) {
    die('Falló la consulta: ' . mysql_error());
}
/* obtener los metadatos de la columna */
$i = 0;
while ($i < mysql_num_fields($resultado)) {
    echo "Información de la columna $i:<br />\n";
    $metadatos = mysql_fetch_field($resultado, $i);
    if (!$metadatos) {
        echo "No hay información disponible<br />\n";
    }
    echo "<pre>
blob:         $metadatos->blob
max_length:   $metadatos->max_length
multiple_key: $metadatos->multiple_key
name:         $metadatos->name
not_null:     $metadatos->not_null
numeric:      $metadatos->numeric
primary_key:  $metadatos->primary_key
table:        $metadatos->table
type:         $metadatos->type
unique_key:   $metadatos->unique_key
unsigned:     $metadatos->unsigned
zerofill:     $metadatos->zerofill
</pre>";
    $i++;
}
mysql_free_result($resultado);
?>

Notas

Nota: Los nombres de los campos devueltos por esta función son sensibles a mayúsculas y minúsculas.

Nota:

Si se usa un alias para los campos o los nombres de tablas en la consulta SQL se devolverá el nombre del alias. El nombre original se puede recuperar, por ejemplo, usando mysqli_result::fetch_field().

Ver también

  • mysql_field_seek() - Establece el puntero del resultado en un índice de campo específicado

mysql_fetch_assoc
mysql_fetch_lengths
Funciones de MySQL


Obtiene la longitud de cada salida en un resultado

mysql_fetch_field
mysql_fetch_object
Funciones de MySQL
PHP Manual

mysql_fetch_lengths

(PHP 4, PHP 5)

mysql_fetch_lengths — Obtiene la longitud de cada salida en un resultado

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_fetch_lengths()
  • PDOStatement::getColumnMeta()

Descripción

array mysql_fetch_lengths ( resource $result )

Devuelve un array que corresponde a las longitudes de cada campo de la última fila recuperada por MySQL.

mysql_fetch_lengths() almacena las longitudes de cada columna del resultado en la última fila devuelta mediante mysql_fetch_row(), mysql_fetch_assoc(), mysql_fetch_array(), y mysql_fetch_object() en un array, comenzando desde el índice 0.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a mysql_query().

Valores devueltos

Un array de longitudes en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de mysql_fetch_lengths()

<?php
$resultado = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$resultado) {
    echo 'No se pudo ejecutar la consulta: ' . mysql_error();
    exit;
}
$fila       = mysql_fetch_assoc($resultado);
$longitudes = mysql_fetch_lengths($resultado);

print_r($fila);
print_r($longitudes);
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [id] => 42
    [email] => user@example.com
)
Array
(
    [0] => 2
    [1] => 16
 )

Ver también

  • mysql_field_len() - Devuelve la longitud del campo especificado
  • mysql_fetch_row() - Obtiene una fila de resultados como un array numérico
  • strlen() - Obtiene la longitud de un string

mysql_fetch_field
mysql_fetch_object
Funciones de MySQL


Recupera una fila de resultados como un objeto

mysql_fetch_lengths
mysql_fetch_row
Funciones de MySQL
PHP Manual

mysql_fetch_object

(PHP 4, PHP 5)

mysql_fetch_object — Recupera una fila de resultados como un objeto

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_fetch_object()
  • PDOStatement::fetch(PDO::FETCH_OBJ)

Descripción

object mysql_fetch_object ( resource $result [, string $class_name [, array $params ]] )

Devuelve un objeto con propiedades que corresponden a la fila recuperada y mueve el puntero interno hacia delante.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a mysql_query().

class_name

El nombre de la clase donde instanciar, configurar las propiedades y devolver. Si no se especifica, se devuelve un objeto stdClass.

params

Un array opcional de parámetros para pasar al constructor de los objetos class_name.

Valores devueltos

Devuelve un object con propiedades de tipo string que se corresponden con la fila recuperada, o FALSE si no quedan más filas.

Historial de cambios

Versión | Descripción
5.0.0 | Se añadió la posibilidad de devolver como un objeto diferente.

Ejemplos

Ejemplo #1 Ejemplo de mysql_fetch_object()

<?php
mysql_connect("nombre_anfitrión", "usuario", "contraseña");
mysql_select_db("mibd");
$resultado = mysql_query("select * from mitabla");
while ($fila = mysql_fetch_object($resultado)) {
    echo $fila->id_usuario;
    echo $fila->nombre_completo;
}
mysql_free_result($resultado);
?>

Ejemplo #2 Ejemplo de mysql_fetch_object()

<?php
class foo {
    public $nombre;
}

mysql_connect("nombre_anfitrión", "usuario", "contraseña");
mysql_select_db("mibd");

$resultado = mysql_query("select nombre from mitabla limit 1");
$objeto = mysql_fetch_object($resultado, 'foo');
var_dump($objeto);
?>

Notas

Nota: Rendimiento

En cuestión de velocidad, la función es idéntica a mysql_fetch_array(), y casi tan rápida como mysql_fetch_row() (la diferencia es insignificante).

Nota:

mysql_fetch_object() es similar a mysql_fetch_array(), con una diferencia: se devuelve un objeto, en lugar de un array. Indirectamente, esto significa que se puede acceder a los datos únicamente mediante los nombres de los campos, y no mediante sus índices (los números son ilegales como nombres de propiedades).

Nota: Los nombres de los campos devueltos por esta función son sensibles a mayúsculas y minúsculas.

Nota: Esta función define campos NULOS al valor NULL de PHP.

Ver también

  • mysql_fetch_array() - Recupera una fila de resultados como un array asociativo, un array numérico o como ambos
  • mysql_fetch_assoc() - Recupera una fila de resultados como un array asociativo
  • mysql_fetch_row() - Obtiene una fila de resultados como un array numérico
  • mysql_data_seek() - Mueve el puntero de resultados interno
  • mysql_query() - Enviar una consulta MySQL

mysql_fetch_lengths
mysql_fetch_row
Funciones de MySQL


Obtiene una fila de resultados como un array numérico

mysql_fetch_object
mysql_field_flags
Funciones de MySQL
PHP Manual

mysql_fetch_row

(PHP 4, PHP 5)

mysql_fetch_row — Obtiene una fila de resultados como un array numérico

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_fetch_row()
  • PDOStatement::fetch(PDO::FETCH_NUM)

Descripción

array mysql_fetch_row ( resource $result )

Devuelve un array numérico que corresponde a la fila recuperada y mueve el puntero de datos interno hacia delante.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a mysql_query().

Valores devueltos

Devuelve un array numérico que corresponde a la fila recuperada, o FALSE si no quedan más filas.

mysql_fetch_row() recupera una fila de datos del resultado asociado al identificador de resultados especificado. La fila es devuelta como un array. Cada columna del resultado es almacenada en un índice del array, empezando desde 0.

Ejemplos

Ejemplo #1 Recuperar una fila con mysql_fetch_row()

<?php
$resultado = mysql_query("SELECT id, email FROM people WHERE id = '42'");
if (!$resultado) {
    echo 'No se pudo ejecutar la consulta: ' . mysql_error();
    exit;
}
$fila = mysql_fetch_row($resultado);

echo $fila[0]; // 42
echo $fila[1]; // el valor de email
?>

Notas

Nota: Esta función define campos NULOS al valor NULL de PHP.

Ver también

  • mysql_fetch_array() - Recupera una fila de resultados como un array asociativo, un array numérico o como ambos
  • mysql_fetch_assoc() - Recupera una fila de resultados como un array asociativo
  • mysql_fetch_object() - Recupera una fila de resultados como un objeto
  • mysql_data_seek() - Mueve el puntero de resultados interno
  • mysql_fetch_lengths() - Obtiene la longitud de cada salida en un resultado
  • mysql_result() - Obtener datos de resultado

mysql_fetch_object
mysql_field_flags
Funciones de MySQL


Obtiene las banderas asociadas al campo especificado de un resultado

mysql_fetch_row
mysql_field_len
Funciones de MySQL
PHP Manual

mysql_field_flags

(PHP 4, PHP 5)

mysql_field_flags — Obtiene las banderas asociadas al campo especificado de un resultado

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_fetch_field_direct() [flags]
  • PDOStatement::getColumnMeta() [flags]

Descripción

string mysql_field_flags ( resource $result , int $field_offset )

mysql_field_flags() devuelve las banderas del campo especificado. Las banderas son reportadas como una sola palabra por bandera, separada por un solo espacio, por lo que se puede dividir el valor devuelto usando explode().

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a mysql_query().

field_offset

El número del campo a buscar. El valor de field_offset comienza en 0. Si field_offset no existe, un error de nivel E_WARNING es emitido.

Valores devueltos

Devuelve un string de banderas asociadas con el resultado o FALSE en caso de error.

Las siguientes banderas son reportadas si la versión de MySQL es suficientemente actual para soportarlas: "not_null", "primary_key", "unique_key", "multiple_key", "blob", "unsigned", "zerofill", "binary", "enum", "auto_increment" y "timestamp".

Ejemplos

Ejemplo #1 Un ejemplo de mysql_field_flags()

<?php
$resultado = mysql_query("SELECT id, email FROM people WHERE id = '42'");
if (!$resultado) {
    echo 'No se pudo ejecutar la consulta: ' . mysql_error();
    exit;
}
$banderas = mysql_field_flags($resultado, 0);

echo $banderas;
print_r(explode(' ', $banderas));
?>

El resultado del ejemplo sería algo similar a:

not_null primary_key auto_increment
Array
(
    [0] => not_null
    [1] => primary_key
    [2] => auto_increment
)

Notas

Nota:

Por razones de compatibilidad con versiones anteriores, los siguientes alias obsoletos podrían usarse: mysql_fieldflags()

Ver también

  • mysql_field_type() - Obtiene el tipo del campo especificado de un resultado
  • mysql_field_len() - Devuelve la longitud del campo especificado

mysql_fetch_row
mysql_field_len
Funciones de MySQL


Devuelve la longitud del campo especificado

mysql_field_flags
mysql_field_name
Funciones de MySQL
PHP Manual

mysql_field_len

(PHP 4, PHP 5)

mysql_field_len — Devuelve la longitud del campo especificado

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_fetch_field_direct() [length]
  • PDOStatement::getColumnMeta() [len]

Descripción

int mysql_field_len ( resource $result , int $field_offset )

mysql_field_len() devuelve la longitud del campo especificado.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a mysql_query().

field_offset

El número del campo a buscar. El valor de field_offset comienza en 0. Si field_offset no existe, un error de nivel E_WARNING es emitido.

Valores devueltos

La longitud del índice del campo especificado en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de mysql_field_len()

<?php
$resultado = mysql_query("SELECT id, email FROM people WHERE id = '42'");
if (!$resultado) {
    echo 'No se pudo ejecutar la consulta: ' . mysql_error();
    exit;
}

// Se obtendrá la longitud del campo id tal como está especificado en el esquema
// de la base de datos.
$longitud = mysql_field_len($resultado, 0);
echo $longitud;
?>

Notas

Nota:

Por razones de compatibilidad con versiones anteriores, los siguientes alias obsoletos podrían usarse: mysql_fieldlen()

Ver también

  • mysql_fetch_lengths() - Obtiene la longitud de cada salida en un resultado
  • strlen() - Obtiene la longitud de un string

mysql_field_flags
mysql_field_name
Funciones de MySQL


Obtiene el nombre del campo especificado de un resultado

mysql_field_len
mysql_field_seek
Funciones de MySQL
PHP Manual

mysql_field_name

(PHP 4, PHP 5)

mysql_field_name — Obtiene el nombre del campo especificado de un resultado

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_fetch_field_direct() [name] o [orgname]
  • PDOStatement::getColumnMeta() [name]

Descripción

string mysql_field_name ( resource $result , int $field_offset )

mysql_field_name() devuelve el nombre del índice del campo especificado.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a mysql_query().

field_offset

El número del campo a buscar. El valor de field_offset comienza en 0. Si field_offset no existe, un error de nivel E_WARNING es emitido.

Valores devueltos

El nombre del índice del campo especificado en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de mysql_field_name()

<?php
/* La tabla usuarios consiste de tres campos:
 *   user_id
 *   username
 *   password.
 */
$enlace = mysql_connect('localhost', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
    die('No se pudo conectar al servidor MySQL: ' . mysql_error());
}
$nombre_bd = 'mibd';
$bd_seleccionada = mysql_select_db($nombre_bd, $enlace);
if (!$bd_seleccionada) {
    die("No se pudo establecer $nombre_bd: " . mysql_error());
}
$resultado = mysql_query('select * from usuarios', $enlace);

echo mysql_field_name($resultado, 0) . "\n";
echo mysql_field_name($resultado, 2);
?>

El resultado del ejemplo sería:

user_id
password

Notas

Nota: Los nombres de los campos devueltos por esta función son sensibles a mayúsculas y minúsculas.

Nota:

Por razones de compatibilidad con versiones anteriores, los siguientes alias obsoletos podrían usarse: mysql_fieldname()

Ver también

  • mysql_field_type() - Obtiene el tipo del campo especificado de un resultado
  • mysql_field_len() - Devuelve la longitud del campo especificado

mysql_field_len
mysql_field_seek
Funciones de MySQL


Establece el puntero del resultado en un índice de campo específicado

mysql_field_name
mysql_field_table
Funciones de MySQL
PHP Manual

mysql_field_seek

(PHP 4, PHP 5)

mysql_field_seek — Establece el puntero del resultado en un índice de campo específicado

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_field_seek()
  • PDOStatement::fetch() usando parámetros opcionales

Descripción

bool mysql_field_seek ( resource $result , int $field_offset )

Busca el índice del campo especificado. Si la siguiente llamada a mysql_fetch_field() no incluye un índice de campo, será devuelto el índice del campo especificado en mysql_field_seek().

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a mysql_query().

field_offset

El número del campo a buscar. El valor de field_offset comienza en 0. Si field_offset no existe, un error de nivel E_WARNING es emitido.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • mysql_fetch_field() - Obtiene la información de una columna de un resultado y la devuelve como un objeto

mysql_field_name
mysql_field_table
Funciones de MySQL


Obtiene el nombre de la tabla en la que está el campo especificado

mysql_field_seek
mysql_field_type
Funciones de MySQL
PHP Manual

mysql_field_table

(PHP 4, PHP 5)

mysql_field_table — Obtiene el nombre de la tabla en la que está el campo especificado

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_fetch_field_direct() [table] o [orgtable]
  • PDOStatement::getColumnMeta() [table]

Descripción

string mysql_field_table ( resource $result , int $field_offset )

Devuelve el nombre de la tabla en la que está el campo especificado.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a mysql_query().

field_offset

El número del campo a buscar. El valor de field_offset comienza en 0. Si field_offset no existe, un error de nivel E_WARNING es emitido.

Valores devueltos

El nombre de la tabla en caso de éxito.

Ejemplos

Ejemplo #1 Un ejemplo de mysql_field_table()

<?php

$consulta = "SELECT account.*, country.* FROM account, country WHERE country.name = 'Portugal' AND account.country_id = country.id";

// obtener el resultado desde la BD
$resultado = mysql_query($consulta);

// Lista el nombre de la tabla y luego el nombre del campo
for ($i = 0; $i < mysql_num_fields($resultado); ++$i) {
    $tabla = mysql_field_table($resultado, $i);
    $campo = mysql_field_name($resultado, $i);

    echo  "$tabla: $campo\n";
}

?>

Notas

Nota:

Por razones de compatibilidad con versiones anteriores, los siguientes alias obsoletos podrían usarse: mysql_fieldtable()

Ver también

  • mysql_list_tables() - Lista las tablas de una base de datos MySQL

mysql_field_seek
mysql_field_type
Funciones de MySQL


Obtiene el tipo del campo especificado de un resultado

mysql_field_table
mysql_free_result
Funciones de MySQL
PHP Manual

mysql_field_type

(PHP 4, PHP 5)

mysql_field_type — Obtiene el tipo del campo especificado de un resultado

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_fetch_field_direct() [type]
  • PDOStatement::getColumnMeta() [driver:decl_type] o [pdo_type]

Descripción

string mysql_field_type ( resource $result , int $field_offset )

mysql_field_type() es similar a la función mysql_field_name(). Los argumentos son idénticos, pero se devuelve en su lugar el tipo de campo.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a mysql_query().

field_offset

El número del campo a buscar. El valor de field_offset comienza en 0. Si field_offset no existe, un error de nivel E_WARNING es emitido.

Valores devueltos

El tipo de campo devuelto será uno de los siguientes: "int", "real", "string", "blob", y otros tal como se detalla en » la documentación de MySQL.

Ejemplos

Ejemplo #1 Ejemplo de mysql_field_type()

<?php
mysql_connect("localhost", "nombre_usuario_mysql", "cotraseña_mysql");
mysql_select_db("mysql");
$resultado = mysql_query("SELECT * FROM func");
$campos    = mysql_num_fields($resultado);
$filas     = mysql_num_rows($resultado);
$tabla     = mysql_field_table($resultado, 0);
echo "Su tabla '" . $tabla . "' tiene " . $campos . " campos y " . $filas . " registro/s\n";
echo "La tabla tiene los siguientes campos:\n";
for ($i=0; $i < $campos; $i++) {
    $tipo     = mysql_field_type($resultado, $i);
    $nombre   = mysql_field_name($resultado, $i);
    $longitud = mysql_field_len($resultado, $i);
    $banderas = mysql_field_flags($resultado, $i);
    echo $tipo . " " . $nombre . " " . $longitud . " " . $banderas . "\n";
}
mysql_free_result($resultado);
mysql_close();
?>

El resultado del ejemplo sería algo similar a:

Su tabla 'func' tiene 4 campos y 1 registro/s
La tabla tiene los siguientes campos:
string name 64 not_null primary_key binary
int ret 1 not_null
string dl 128 not_null
string type 9 not_null enum

Notas

Nota:

Por razones de compatibilidad con versiones anteriores, los siguientes alias obsoletos podrían usarse: mysql_fieldtype()

Ver también

  • mysql_field_name() - Obtiene el nombre del campo especificado de un resultado
  • mysql_field_len() - Devuelve la longitud del campo especificado

mysql_field_table
mysql_free_result
Funciones de MySQL


Libera la memoria del resultado

mysql_field_type
mysql_get_client_info
Funciones de MySQL
PHP Manual

mysql_free_result

(PHP 4, PHP 5)

mysql_free_result — Libera la memoria del resultado

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_free_result()
  • Asignar el valor de NULL al objeto PDO, o PDOStatement::closeCursor()

Descripción

bool mysql_free_result ( resource $result )

mysql_free_result() liberará toda la memoria asociada con el identificador del resultado result.

mysql_free_result() solo necesita ser llamado si se está preocupado por la cantidad de memoria que está siendo usada por las consultas que devuelven conjuntos de resultados grandes. Toda la memoria de resultados asociada se liberará automaticamente al finalizar la ejecución del script.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a mysql_query().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Si se utiliza un recurso no válido para result, se emitirá un error de nivel E_WARNING. Vale la pena señalar que mysql_query() solo devuelve un recurso para las consultas SELECT, SHOW, EXPLAIN, y DESCRIBE.

Ejemplos

Ejemplo #1 Un ejemplo de mysql_free_result()

<?php
$resultado = mysql_query("SELECT id, email FROM people WHERE id = '42'");
if (!$resultado) {
    echo 'No se pudo ejecutar la consulta: ' . mysql_error();
    exit;
}
/* Usamos el resultado, asumiendo que, acto seguido, hemos terminado con él */
$fila = mysql_fetch_assoc($resultado);

/* Ahora liberamos el resultado y continuamos con nuestro script */
mysql_free_result($resultado);

echo $fila['id'];
echo $fila['email'];
?>

Notas

Nota:

Por razones de compatibilidad con versiones anteriores, los siguientes alias obsoletos podrían usarse: mysql_freeresult()

Ver también

  • mysql_query() - Enviar una consulta MySQL
  • is_resource() - Comprueba si una variable es un recurso

mysql_field_type
mysql_get_client_info
Funciones de MySQL


Obtiene información del cliente MySQL

mysql_free_result
mysql_get_host_info
Funciones de MySQL
PHP Manual

mysql_get_client_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_client_info — Obtiene información del cliente MySQL

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_get_client_info()
  • PDO::getAttribute(PDO::ATTR_CLIENT_VERSION)

Descripción

string mysql_get_client_info ( void )

mysql_get_client_info() devuelve un string que representa la versión de la biblioteca cliente.

Valores devueltos

La versión del cliente MySQL.

Ejemplos

Ejemplo #1 Ejemplo de mysql_get_client_info()

<?php
printf("Información del cliente MySQL: %s\n", mysql_get_client_info());
?>

El resultado del ejemplo sería algo similar a:

Información del cliente MySQL: 3.23.39

Ver también

  • mysql_get_host_info() - Obtener información del anfitrión de MySQL
  • mysql_get_proto_info() - Obtener información del protocolo MySQL
  • mysql_get_server_info() - Obtiene información del servidor MySQL

mysql_free_result
mysql_get_host_info
Funciones de MySQL


Obtener información del anfitrión de MySQL

mysql_get_client_info
mysql_get_proto_info
Funciones de MySQL
PHP Manual

mysql_get_host_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_host_info — Obtener información del anfitrión de MySQL

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_get_host_info()
  • PDO::getAttribute(PDO::ATTR_CONNECTION_STATUS)

Descripción

string mysql_get_host_info ([ resource $link_identifier = NULL ] )

Describe el tipo de conexión en uso, incluyendo el nombre del servidor anfitrión.

Parámetros

link_identifier

La conexión MySQL. Si el identificador de enlace no se especifica, el último enlace abierto por mysql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si mysql_connect() fuese invocado sin parámetros. Si no se encuentra o establece una conexión, un error de nivel E_WARNING es generado.

Valores devueltos

Devuelve un string que describe el tipo de conexión MySQL en uso, o o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de mysql_get_host_info()

<?php
$enlace = mysql_connect("localhost", "usuario_mysql", "contraseña_mysql");
if (!$enlace) {
    die("No pudo conectarse: " . mysql_error());
}
printf("Información del anfitrión de MySQL: %s\n", mysql_get_host_info());
?>

El resultado del ejemplo sería algo similar a:

Información del anfitrión de MySQL: Localhost via UNIX socket

Ver también

  • mysql_get_client_info() - Obtiene información del cliente MySQL
  • mysql_get_proto_info() - Obtener información del protocolo MySQL
  • mysql_get_server_info() - Obtiene información del servidor MySQL

mysql_get_client_info
mysql_get_proto_info
Funciones de MySQL


Obtener información del protocolo MySQL

mysql_get_host_info
mysql_get_server_info
Funciones de MySQL
PHP Manual

mysql_get_proto_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_proto_info — Obtener información del protocolo MySQL

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_get_proto_info()

Descripción

int mysql_get_proto_info ([ resource $link_identifier = NULL ] )

Recupera el protocolo MySQL.

Parámetros

link_identifier

La conexión MySQL. Si el identificador de enlace no se especifica, el último enlace abierto por mysql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si mysql_connect() fuese invocado sin parámetros. Si no se encuentra o establece una conexión, un error de nivel E_WARNING es generado.

Valores devueltos

Devuelve el protocolo MySQL en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de mysql_get_proto_info()

<?php
$enlace = mysql_connect("localhost", "usuario_mysql", "contraseña_mysql");
if (!$enlace) {
    die("No pudo conectarse: " . mysql_error());
}
printf("Versión del protocolo MySQL: %s\n", mysql_get_proto_info());
?>

El resultado del ejemplo sería algo similar a:

Versión del protocolo MySQL: 10

Ver también

  • mysql_get_client_info() - Obtiene información del cliente MySQL
  • mysql_get_host_info() - Obtener información del anfitrión de MySQL
  • mysql_get_server_info() - Obtiene información del servidor MySQL

mysql_get_host_info
mysql_get_server_info
Funciones de MySQL


Obtiene información del servidor MySQL

mysql_get_proto_info
mysql_info
Funciones de MySQL
PHP Manual

mysql_get_server_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_server_info — Obtiene información del servidor MySQL

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_get_server_info()
  • PDO::getAttribute(PDO::ATTR_SERVER_VERSION)

Descripción

string mysql_get_server_info ([ resource $link_identifier = NULL ] )

Recupera la versión del servidor MySQL.

Parámetros

link_identifier

La conexión MySQL. Si el identificador de enlace no se especifica, el último enlace abierto por mysql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si mysql_connect() fuese invocado sin parámetros. Si no se encuentra o establece una conexión, un error de nivel E_WARNING es generado.

Valores devueltos

Devuelve la versión del servidor MySQL en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de mysql_get_server_info()

<?php
$enlace = mysql_connect("localhost", "usuario_mysql", "contraseña_mysql");
if (!$enlace) {
    die("No pudo conectarse: " . mysql_error());
}
printf("Versión del servidor MySQL: %s\n", mysql_get_server_info());
?>

El resultado del ejemplo sería algo similar a:

Versión del servidor MySQL: 4.0.1-alpha

Ver también

  • mysql_get_client_info() - Obtiene información del cliente MySQL
  • mysql_get_host_info() - Obtener información del anfitrión de MySQL
  • mysql_get_proto_info() - Obtener información del protocolo MySQL
  • phpversion() - Obtiene la versión de PHP

mysql_get_proto_info
mysql_info
Funciones de MySQL


Obtiene información sobre la consulta más reciente

mysql_get_server_info
mysql_insert_id
Funciones de MySQL
PHP Manual

mysql_info

(PHP 4 >= 4.3.0, PHP 5)

mysql_info — Obtiene información sobre la consulta más reciente

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_info()

Descripción

string mysql_info ([ resource $link_identifier = NULL ] )

Devuelve información detallada sobre la última consulta.

Parámetros

link_identifier

La conexión MySQL. Si el identificador de enlace no se especifica, el último enlace abierto por mysql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si mysql_connect() fuese invocado sin parámetros. Si no se encuentra o establece una conexión, un error de nivel E_WARNING es generado.

Valores devueltos

Devuele información sobre la sentencia en caso de éxito, o FALSE en caso de error. Vea el ejemplo siguiente para conocer qué sentencias proveen información, y cuál puede ser la apariencia del valor devuelto. Las sentencias que no están en la lista devolverán FALSE.

Ejemplos

Ejemplo #1 Sentencias MySQL Relevantes

Sentencias que devuelven valores de tipo cadena. Los números están únicamente por propósitos ilustrativos; sus valores corresponderán con la consulta.

INSERT INTO ... SELECT ...
String format: Records: 23 Duplicates: 0 Warnings: 0
INSERT INTO ... VALUES (...),(...),(...)...
String format: Records: 37 Duplicates: 0 Warnings: 0
LOAD DATA INFILE ...
String format: Records: 42 Deleted: 0 Skipped: 0 Warnings: 0
ALTER TABLE
String format: Records: 60 Duplicates: 0 Warnings: 0
UPDATE
String format: Rows matched: 65 Changed: 65 Warnings: 0

Notas

Nota:

mysql_info() devuelve un valor diferente a FALSE para la sentencia INSERT ... VALUES sólo si se indican múltiples listas de valores en la sentencia.

Ver también

  • mysql_affected_rows() - Obtiene el número de filas afectadas en la anterior operación de MySQL
  • mysql_insert_id() - Obtiene el ID generado en la última consulta
  • mysql_stat() - Obtiene el estado actual del sistema

mysql_get_server_info
mysql_insert_id
Funciones de MySQL


Obtiene el ID generado en la última consulta

mysql_info
mysql_list_dbs
Funciones de MySQL
PHP Manual

mysql_insert_id

(PHP 4, PHP 5)

mysql_insert_id — Obtiene el ID generado en la última consulta

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_insert_id()
  • PDO::lastInsertId()

Descripción

int mysql_insert_id ([ resource $link_identifier = NULL ] )

Recupera el ID generado por la consulta anterior (normalmente INSERT) para una columna AUTO_INCREMENT.

Parámetros

link_identifier

La conexión MySQL. Si el identificador de enlace no se especifica, el último enlace abierto por mysql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si mysql_connect() fuese invocado sin parámetros. Si no se encuentra o establece una conexión, un error de nivel E_WARNING es generado.

Valores devueltos

El ID generado por la consulta anterior para una columna AUTO_INCREMENT en caso de éxito, 0 si la consulta anterior no genera un valor AUTO_INCREMENT, o FALSE si no se estableció una conexión MySQL.

Ejemplos

Ejemplo #1 Ejemplo de mysql_insert_id()

<?php
$enlace = mysql_connect('localhost', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
    die('No se pudo conectar: ' . mysql_error());
}
mysql_select_db('mibd');

mysql_query("INSERT INTO mitabla (producto) values ('kossu')");
printf("El último registro insertado tiene el id %d\n", mysql_insert_id());
?>

Notas

Precaución

mysql_insert_id() convertirá el tipo devuelto de la función nativa mysql_insert_id() de la API de C de MySQL a un tipo long (llamado int en PHP). Si la columna AUTO_INCREMENT tiene un tipo BIGINT (64 bits) la conversión puede resultar en un valor incorrecto. En su lugar, use la función de SQL interna LAST_INSERT_ID() de MySQL en una consulta SQL. Para más información sobre los valores máximos de tipo integer, por favor vea la documentación de integer.

Nota:

Como mysql_insert_id() actúa en la última consulta realizada, asegúrese de llamar a mysql_insert_id() inmediatamente después de la consulta que genera el valor.

Nota:

El valor de la función de SQL LAST_INSERT_ID() de MySQL siempre contiene el valor AUTO_INCREMENT generado más recientientemente, y no se restablece entre consultas.

Ver también

  • mysql_query() - Enviar una consulta MySQL
  • mysql_info() - Obtiene información sobre la consulta más reciente

mysql_info
mysql_list_dbs
Funciones de MySQL


Lista las bases de datos disponibles en un servidor MySQL

mysql_insert_id
mysql_list_fields
Funciones de MySQL
PHP Manual

mysql_list_dbs

(PHP 4, PHP 5)

mysql_list_dbs — Lista las bases de datos disponibles en un servidor MySQL

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • Consulta SQL: SHOW DATABASES

Descripción

resource mysql_list_dbs ([ resource $link_identifier = NULL ] )

Devuelve un puntero de resultados que contiene las bases de datos disponibles en el demonio de mysql actual.

Advertencia

Esta función ha sido declarada OBSOLETA desde PHP 5.4.0. Su uso está totalmente desaconsejado.

Parámetros

link_identifier

La conexión MySQL. Si el identificador de enlace no se especifica, el último enlace abierto por mysql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si mysql_connect() fuese invocado sin parámetros. Si no se encuentra o establece una conexión, un error de nivel E_WARNING es generado.

Valores devueltos

Devuelve un resource de puntero de resultados en caso de éxito, o FALSE en caso de error. Use la función mysql_tablename() para atravesar este puntero de resultado, o cualquier función para obtener tablas, tal como mysql_fetch_array().

Ejemplos

Ejemplo #1 Ejemplo de mysql_list_dbs()

<?php
// Uso sin mysql_list_dbs()
$enlace = mysql_connect('localhost', 'usuario_mysql', 'contraseña_mysql');
$resultado = mysql_query("SHOW DATABASES");

while ($fila = mysql_fetch_assoc($res)) {
    echo $fila['Database'] . "\n";
}

// Obsoleto a partir de PHP 5.4.0
$enlace = mysql_connect('localhost', 'usuario_mysql', 'contraseña_mysql');
$lista_bd = mysql_list_dbs($enlace);

while ($fila = mysql_fetch_object($lista_bd)) {
     echo $fila->Database . "\n";
}
?>

El resultado del ejemplo sería algo similar a:

basedatos1
basedatos2
basedatos3

Notas

Nota:

Por razones de compatibilidad con versiones anteriores, los siguientes alias obsoletos podrían usarse: mysql_listdbs()

Ver también

  • mysql_db_name() - Recupera el nombre de la base de datos desde una llamada a mysql_list_dbs
  • mysql_select_db() - Seleccionar una base de datos MySQL

mysql_insert_id
mysql_list_fields
Funciones de MySQL


Lista los campos de una tabla de MySQL

mysql_list_dbs
mysql_list_processes
Funciones de MySQL
PHP Manual

mysql_list_fields

(PHP 4, PHP 5)

mysql_list_fields — Lista los campos de una tabla de MySQL

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • Consulta SQL: SHOW COLUMNS FROM alguna_tabla

Descripción

resource mysql_list_fields ( string $database_name , string $table_name [, resource $link_identifier = NULL ] )

Devuelve información sobre el nombre de la tabla dado.

Esta función está obsoleta. Es preferible usar mysql_query() para ejecutar una consulta SQL SHOW COLUMNS FROM tabla [LIKE 'nombre'] en su lugar.

Parámetros

database_name

El nombre de la base de la base de datos que está siendo consultada.

table_name

El nombre de la tabla que está siendo consultada.

link_identifier

La conexión MySQL. Si el identificador de enlace no se especifica, el último enlace abierto por mysql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si mysql_connect() fuese invocado sin parámetros. Si no se encuentra o establece una conexión, un error de nivel E_WARNING es generado.

Valores devueltos

Un resource del puntero del resultado en caso de éxito, o FALSE en caso de error.

El resultado devuelto puede ser usado con  mysql_field_flags(),
 mysql_field_len(),
 mysql_field_name() y
 mysql_field_type().

Ejemplos

Ejemplo #1 Alternativa para la obsoleta mysql_list_fields()

<?php
$resultado = mysql_query("SHOW COLUMNS FROM alguna_tabla");
if (!$resultado) {
    echo 'No se pudo ejecutar la consulta: ' . mysql_error();
    exit;
}
if (mysql_num_rows($resultado) > 0) {
    while ($fila = mysql_fetch_assoc($resultado)) {
        print_r($fila);
    }
}
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [Field] => id
    [Type] => int(7)
    [Null] =>
    [Key] => PRI
    [Default] =>
    [Extra] => auto_increment
)
Array
(
    [Field] => email
    [Type] => varchar(100)
    [Null] =>
    [Key] =>
    [Default] =>
    [Extra] =>
)

Notas

Nota:

Por razones de compatibilidad con versiones anteriores, los siguientes alias obsoletos podrían usarse: mysql_listfields()

Ver también

  • mysql_field_flags() - Obtiene las banderas asociadas al campo especificado de un resultado
  • mysql_info() - Obtiene información sobre la consulta más reciente

mysql_list_dbs
mysql_list_processes
Funciones de MySQL


Lista los procesos de MySQL

mysql_list_fields
mysql_list_tables
Funciones de MySQL
PHP Manual

mysql_list_processes

(PHP 4 >= 4.3.0, PHP 5)

mysql_list_processes — Lista los procesos de MySQL

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_thread_id()

Descripción

resource mysql_list_processes ([ resource $link_identifier = NULL ] )

Recupera los hilos del servidor MySQL actuales.

Parámetros

link_identifier

La conexión MySQL. Si el identificador de enlace no se especifica, el último enlace abierto por mysql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si mysql_connect() fuese invocado sin parámetros. Si no se encuentra o establece una conexión, un error de nivel E_WARNING es generado.

Valores devueltos

Un puntero de resultados de tipo resource en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de mysql_list_processes()

<?php
$enlace = mysql_connect('localhost', 'usuario_mysql', 'contraseña_mysql');

$resultado = mysql_list_processes($enlace);

while ($fila = mysql_fetch_assoc($resultado)){
    printf("%s %s %s %s %s\n", $fila["Id"], $fila["Host"], $fila["db"],
        $fila["Command"], $fila["Time"]);
}
mysql_free_result($resultado);
?>

El resultado del ejemplo sería algo similar a:

1 localhost test Processlist 0
4 localhost mysql sleep 5

Ver también

  • mysql_thread_id() - Devuelve el ID del hilo actual
  • mysql_stat() - Obtiene el estado actual del sistema

mysql_list_fields
mysql_list_tables
Funciones de MySQL


Lista las tablas de una base de datos MySQL

mysql_list_processes
mysql_num_fields
Funciones de MySQL
PHP Manual

mysql_list_tables

(PHP 4, PHP 5)

mysql_list_tables — Lista las tablas de una base de datos MySQL

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • SQL Query: SHOW TABLES FROM sometable

Descripción

resource mysql_list_tables ( string $database [, resource $link_identifier = NULL ] )

Devuelve una lista con el nombre de las tablas de una base de datos MySQL.

Esta función está obsoleta. Es preferible usar mysql_query() para ejecutar la sentencia SQL SHOW TABLES [FROM nombre_bd] [LIKE 'patrón'] en su lugar.

Parámetros

database

El nombre de la base de datos

link_identifier

La conexión MySQL. Si el identificador de enlace no se especifica, el último enlace abierto por mysql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si mysql_connect() fuese invocado sin parámetros. Si no se encuentra o establece una conexión, un error de nivel E_WARNING es generado.

Valores devueltos

El puntero de resultados de tipo resource en caso de éxito o FALSE en caso de error.

Use la función mysql_tablename() para atravesar este puntero de resultados, o cualquier otra función para mostrar tablas, como mysql_fetch_array().

Historial de cambios

Versión | Descripción
4.3.7 | Esta función quedó obsoleta.

Ejemplos

Ejemplo #1 Ejemplo alternativo de mysql_list_tables()

<?php
$nombre_bd = 'nombre_bd_mysql';

if (!mysql_connect('anfitrión_mysql', 'usuario_mysql', 'contraseña_mysql')) {
    echo 'No se pudo conectar a mysql';
    exit;
}

$sql = "SHOW TABLES FROM $nombre_bd";
$resultado = mysql_query($sql);

if (!$resultado) {
    echo "Error de BD, no se pudieron listar las tablas\n";
    echo 'Error MySQL: ' . mysql_error();
    exit;
}

while ($fila = mysql_fetch_row($resultado)) {
    echo "Tabla: {$fila[0]}\n";
}

mysql_free_result($resultado);
?>

Notas

Nota:

Por razones de compatibilidad con versiones anteriores, los siguientes alias obsoletos podrían usarse: mysql_listtables()

Ver también

  • mysql_list_dbs() - Lista las bases de datos disponibles en un servidor MySQL
  • mysql_tablename() - Obtiene el nombre de la tabla de un campo

mysql_list_processes
mysql_num_fields
Funciones de MySQL


Obtiene el número de campos de un resultado

mysql_list_tables
mysql_num_rows
Funciones de MySQL
PHP Manual

mysql_num_fields

(PHP 4, PHP 5)

mysql_num_fields — Obtiene el número de campos de un resultado

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_field_count()
  • PDOStatement::columnCount()

Descripción

int mysql_num_fields ( resource $result )

Recupera el número de campos de una consulta.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a mysql_query().

Valores devueltos

Devuelve el número de campos del resource de conjunto de resultados en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de mysql_num_fields()

<?php
$resultado = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$resultado) {
    echo 'No se pudo ejecutar la consulta: ' . mysql_error();
    exit;
}

/* devuelve 2 ya que id,email === dos campos */
echo mysql_num_fields($resultado);
?>

Notas

Nota:

Por razones de compatibilidad con versiones anteriores, los siguientes alias obsoletos podrían usarse: mysql_numfields()

Ver también

  • mysql_select_db() - Seleccionar una base de datos MySQL
  • mysql_query() - Enviar una consulta MySQL
  • mysql_fetch_field() - Obtiene la información de una columna de un resultado y la devuelve como un objeto
  • mysql_num_rows() - Obtener el número de filas de un conjunto de resultados

mysql_list_tables
mysql_num_rows
Funciones de MySQL


Obtener el número de filas de un conjunto de resultados

mysql_num_fields
mysql_pconnect
Funciones de MySQL
PHP Manual

mysql_num_rows

(PHP 4, PHP 5)

mysql_num_rows — Obtener el número de filas de un conjunto de resultados

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_stmt_num_rows()
  • PDOStatement::rowCount()

Descripción

int mysql_num_rows ( resource $result )

Recupera el número de filas de un conjunto de resultados. Este comando es únicamente válido para sentencias como SELECT o SHOW que retornan un conjunto de resultados real. Para recuperar el número de filas afectadas por una consulta INSERT, UPDATE, REPLACE o DELETE, use mysql_affected_rows().

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a mysql_query().

Valores devueltos

El número de filas de un conjunto de resultados en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de mysql_num_rows()

<?php

$enlace = mysql_connect("localhost", "usuario_mysql", "contraseña_mysql");
mysql_select_db("basedatos", $enlace);

$resultado = mysql_query("SELECT * FROM tabla1", $enlace);
$número_filas = mysql_num_rows($resultado);

echo "$número_filas Filas\n";

?>

Notas

Nota:

Si utiliza mysql_unbuffered_query(), mysql_num_rows() no retornará el valor correcto hasta que todas las filas del conjunto de resultados hayan sido recuperadas.

Nota:

Por razones de compatibilidad con versiones anteriores, los siguientes alias obsoletos podrían usarse: mysql_numrows()

Ver también

  • mysql_affected_rows() - Obtiene el número de filas afectadas en la anterior operación de MySQL
  • mysql_connect() - Abre una conexión al servidor MySQL
  • mysql_data_seek() - Mueve el puntero de resultados interno
  • mysql_select_db() - Seleccionar una base de datos MySQL
  • mysql_query() - Enviar una consulta MySQL

mysql_num_fields
mysql_pconnect
Funciones de MySQL


Abre una conexión persistente a un servidor MySQL

mysql_num_rows
mysql_ping
Funciones de MySQL
PHP Manual

mysql_pconnect

(PHP 4, PHP 5)

mysql_pconnect — Abre una conexión persistente a un servidor MySQL

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_connect() con p: host prefix
  • PDO::__construct() con PDO::ATTR_PERSISTENT como una opción de controlador

Descripción

resource mysql_pconnect ([ string $server = ini_get("mysql.default_host") [, string $username = ini_get("mysql.default_user") [, string $password = ini_get("mysql.default_password") [, int $client_flags = 0 ]]]] )

Establece una conexión persistente a un servidor MySQL.

mysql_pconnect() se parece mucho a mysql_connect() con dos grandes diferencias.

En primer lugar, cuando se conecta, la función primero intenta encontrar un enlace (persistente) que ya esté abierto con el mismo anfitrión, nombre de usuario y contraseña. Si se encuentra uno, se devolverá un identificador para él, en lugar de abrir una nueva conexión.

Segundo, la conexión al servidor SQL no será cerrada cuando la ejecución del script finalice. En su lugar, el enlace permanecerá abierto para su uso futuro ( mysql_close() no cerrará los enlaces establecidos mediante mysql_pconnect()).

Por eso a este tipo de enlace se le llama 'persistente'.

Parámetros

server

El servidor de MySQL. También puede incluir un número de puerto. P.ej. "nombre_anfitrión:puerto" o una ruta a un socket local, p.ej. ":/ruta/al/socket" para el localhost.

Si la directiva de PHP mysql.default_host no se ha definido (predeterminado), entonces el valor por defecto es 'localhost:3306'

username

El nombre de usuario. El valor por defecto es el nombre del usuario al que pertenece el proceso del servidor.

password

La contraseña. El valor por defecto es una contraseña vacia.

client_flags

El parámetro client_flags puede ser una combinación de las siguientes constantes: 128 (habilita el manejo de LOAD DATA LOCAL), MYSQL_CLIENT_SSL, MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE o MYSQL_CLIENT_INTERACTIVE.

Valores devueltos

Devuelve un identificador de enlace persistente a MySQL en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.5.0 | Esta función generará un error de nivel E_DEPRECATED.
4.3.0 | Se añadió el parámetro client_flags.

Notas

Nota:

Tenga en cuenta que este tipo de enlaces solo funcionan si se está usando una versión de módulo de PHP. Véase la sección Conexiones persistentes a bases de datos para más información.

Advertencia

El uso de conexiones persistentes puede requerir ajustar un poco las configuraciones de Apache y de MySQL para asegurarse de que no se excede el número de conexiones permitidas por MySQL.

Nota:

En caso de error, se puede suprimir el mensaje de error anteponiendo una @ al nombre de la función.

Ver también

  • mysql_connect() - Abre una conexión al servidor MySQL
  • Conexiones persistentes a bases de datos

mysql_num_rows
mysql_ping
Funciones de MySQL


Efectuar un chequeo de respuesta (ping) sobre una conexión al servidor o reconectarse si no hay conexión

mysql_pconnect
mysql_query
Funciones de MySQL
PHP Manual

mysql_ping

(PHP 4 >= 4.3.0, PHP 5)

mysql_ping — Efectuar un chequeo de respuesta (ping) sobre una conexión al servidor o reconectarse si no hay conexión

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_ping()

Descripción

bool mysql_ping ([ resource $link_identifier = NULL ] )

Chequea si está activa o no la conexión con el servidor. Si ésta se ha caído, se intenta una reconexión automática. Esta función puede ser usada por scripts que permanecen pasivos durante largos espacios de tiempo, para chequear si el servidor ha cerrado la conexión y reconectarse de ser necesario.

Nota:

La reconexión automática está deshabilitada de forma predeterminada en versiones de MySQL >= 5.0.3..

Parámetros

link_identifier

La conexión MySQL. Si el identificador de enlace no se especifica, el último enlace abierto por mysql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si mysql_connect() fuese invocado sin parámetros. Si no se encuentra o establece una conexión, un error de nivel E_WARNING es generado.

Valores devueltos

Devuelve TRUE si la conexión con el servidor MySQL está funcionando, o FALSE si no.

Ejemplos

Ejemplo #1 Un ejemplo de mysql_ping()

<?php
set_time_limit(0);

$conexión = mysql_connect('localhost', 'usuario_mysql', 'contraseña');
$bd  = mysql_select_db('mi_bd');

/* Se asume que esta consulta toma mucho tiempo */
$resultado = mysql_query($sql);
if (!$resultado) {
    echo 'La consulta #1 falló; Saliendo.';
    exit;
}

/* Asegurarse de que la conexión sigue viva, si no, intentar una reconexión */
if (!mysql_ping($conexión)) {
    echo 'Se ha perdido la conexión, saliendo después de la consulta #1';
    exit;
}
mysql_free_result($resultado);

/* Ya que la conexión sigue viva, ejecutemos otra consulta */
$resultado2 = mysql_query($sql2);
?>

Ver también

  • mysql_thread_id() - Devuelve el ID del hilo actual
  • mysql_list_processes() - Lista los procesos de MySQL

mysql_pconnect
mysql_query
Funciones de MySQL


Enviar una consulta MySQL

mysql_ping
mysql_real_escape_string
Funciones de MySQL
PHP Manual

mysql_query

(PHP 4, PHP 5)

mysql_query — Enviar una consulta MySQL

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_query()
  • PDO::query()

Descripción

resource mysql_query ( string $query [, resource $link_identifier = NULL ] )

mysql_query() envía una única consulta (múltiples consultas no están soportadas) a la base de datos actualmente activa en el servidor asociado con el identificador de enlace especificado por link_identifier.

Parámetros

query

Una consulta SQL

La cadena de la consulta no debería terminar con un punto y coma. Los datos insertados en la consulta deberían estar correctamente escapados.

link_identifier

La conexión MySQL. Si el identificador de enlace no se especifica, el último enlace abierto por mysql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si mysql_connect() fuese invocado sin parámetros. Si no se encuentra o establece una conexión, un error de nivel E_WARNING es generado.

Valores devueltos

Para SELECT, SHOW, DESCRIBE, EXPLAIN y otras sentencias que retornan un conjunto de resultados, mysql_query() retorna un resource en caso de éxito, o FALSE en caso de error.

Para otros tipos de sentencias SQL, tales como INSERT, UPDATE, DELETE, DROP, etc, mysql_query() retorna TRUE en caso de éxito o FALSE en caso de error.

El conjunto de resultados devuelto debería ser pasado a mysql_fetch_array(), y otras funciones para manejar las tablas del resultado, para acceder a los datos retornados.

Use mysql_num_rows() para averiguar cuántas filas fueron retornadas por la sentencia SELECT, o mysql_affected_rows() para averiguar cuántas filas fueron afectadas por las sentencias DELETE, INSERT, REPLACE, o UPDATE.

mysql_query() también fallará y retornará FALSE si el usuario no está autorizado para acceder a la(s) tabla(s) referenciada(s) por la consulta.

Ejemplos

Ejemplo #1 Consulta inválida

La siguiente consulta es sintácticamente inválida, por lo que mysql_query() fallará y retornará FALSE.

<?php
$resultado = mysql_query('SELECT * WHERE 1=1');
if (!$resultado) {
    die('Consulta no válida: ' . mysql_error());
}

?>

Ejemplo #2 Consulta válida

La siguiente consulta es válida, por lo que mysql_query() retornará un resource.

<?php
// Lo siguiente podría ser proporcionado por un usuario, como por ejemplo
$nombre = 'fred';
$apellido  = 'fox';

// Formular la consulta
// Este es el mejor método para formular una consulta SQL
// Para más ejemplos, consulte mysql_real_escape_string()
$consulta = sprintf("SELECT nombre, apellido, direccion, edad FROM amigos
    WHERE nombre='%s' AND apellido='%s'",
    mysql_real_escape_string($nombre),
    mysql_real_escape_string($apellido));

// Ejecutar la consulta
$resultado = mysql_query($consulta);

// Comprobar el resultado
// Lo siguiente muestra la consulta real enviada a MySQL, y el error ocurrido. Útil para depuración.
if (!$resultado) {
    $mensaje  = 'Consulta no válida: ' . mysql_error() . "\n";
    $mensaje .= 'Consulta completa: ' . $consulta;
    die($mensaje);
}

// Usar el resultado
// Si se intenta imprimir $resultado no será posible acceder a la información del recurso
// Se debe usar una de las funciones de resultados de mysql
// Consulte también mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc.
while ($fila = mysql_fetch_assoc($resultado)) {
    echo $fila['nombre'];
    echo $fila['apellido'];
    echo $fila['direccion'];
    echo $fila['edad'];
}

// Liberar los recursos asociados con el conjunto de resultados
// Esto se ejecutado automáticamente al finalizar el script.
mysql_free_result($resultado);
?>

Ver también

  • mysql_connect() - Abre una conexión al servidor MySQL
  • mysql_error() - Devuelve el texto del mensaje de error de la operación MySQL anterior
  • mysql_real_escape_string() - Escapa caracteres especiales en un string para su uso en una sentencia SQL
  • mysql_result() - Obtener datos de resultado
  • mysql_fetch_assoc() - Recupera una fila de resultados como un array asociativo
  • mysql_unbuffered_query() - Envía una consulta SQL a MySQL, sin recuperar ni almacenar en búfer las filas de resultados

mysql_ping
mysql_real_escape_string
Funciones de MySQL


Escapa caracteres especiales en un string para su uso en una sentencia SQL

mysql_query
mysql_result
Funciones de MySQL
PHP Manual

mysql_real_escape_string

(PHP 4 >= 4.3.0, PHP 5)

mysql_real_escape_string — Escapa caracteres especiales en un string para su uso en una sentencia SQL

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_real_escape_string()
  • PDO::quote()

Descripción

string mysql_real_escape_string ( string $unescaped_string [, resource $link_identifier = NULL ] )

Escapa caracteres especiales en el string dado por unescaped_string, teniendo en cuenta el conjunto de caracteres en uso de la conexión, para que sea seguro usarla en mysql_query(). Si se van a insertar datos binarios, se ha de usar esta función.

mysql_real_escape_string() llama a la función mysql_real_escape_string de la biblioteca de MySQL, la cual antepone barras invertidas a los siguientes caracteres: \x00, \n, \r, \, ', " y \x1a.

Esta función siempre debe usarse (con pocas excepciones) para hacer seguros los datos antes de enviar una consulta a MySQL.

Precaución

Seguridad: el conjunto de caracters predeterminado

El conjunto de caracteres debe ser establecido o bien a nivel del servidor, o bien con la función mysql_set_charset() de la API para que afecte a mysql_real_escape_string(). Véase la sección sobre los conceptos de conjuntos de caracters para más información.

Parámetros

unescaped_string

El string que va a ser escapado.

link_identifier

La conexión MySQL. Si el identificador de enlace no se especifica, el último enlace abierto por mysql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si mysql_connect() fuese invocado sin parámetros. Si no se encuentra o establece una conexión, un error de nivel E_WARNING es generado.

Valores devueltos

Devuelve un string escapado, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo sencillo de mysql_real_escape_string()

<?php
// Conexión
$enlace = mysql_connect('anfitrión_mysql', 'usuario_mysql', 'contraseña_mysql')
    OR die(mysql_error());

// Consulta
$consulta = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",
            mysql_real_escape_string($usuario),
            mysql_real_escape_string($contraseña));
?>

Ejemplo #2 Un ejemplo de ataque de inyección SQL

<?php
// No hemos comprobado $_POST['password'], ¡podría ser cualquier cosa que el usuario quisiera! Por ejemplo:
$_POST['username'] = 'aidan';
$_POST['password'] = "' OR ''='";

// Consultar la base de datos para comprobar si existe algún usuario que coincida
$consulta = "SELECT * FROM users WHERE user='{$_POST['username']}' AND password='{$_POST['password']}'";
mysql_query($consulta);

// Esto significa que la consulta enviada a MySQL sería:
echo $consulta;
?>

La consulta enviada a MySQL:

SELECT * FROM users WHERE user='aidan' AND password='' OR ''=''

Esto permitiría a alguien acceder a una sesión sin una contraseña válida.

Notas

Nota:

Se requiere una conexión a MySQL antes de usar mysql_real_escape_string(), si no, se generará un error de nivel E_WARNING, y se devolverá FALSE. Si link_identifier no está definido, se usará la última conexión a MySQL.

Nota:

Si magic_quotes_gpc está habilitado, primero se ha de aplicar stripslashes() a los datos. Si se usa esta función en datos que ya han sido escapados, se escaparán dos veces.

Nota:

Si esta función no se utiliza para escapar los datos, la consulta es vulnerable a Ataques de inyección SQL.

Nota: mysql_real_escape_string() no escapa % ni _. Estos son comodines en MySQL si se combinan con LIKE, GRANT, o REVOKE.

Ver también

  • mysql_set_charset() - Establece el conjunto de caracteres del cliente
  • mysql_client_encoding() - Devuelve el nombre del conjunto de caracteres
  • addslashes() - Escapa un string con barras invertidas
  • stripslashes() - Quita las barras de un string con comillas escapadas
  • La directiva magic_quotes_gpc
  • La directiva magic_quotes_runtime

mysql_query
mysql_result
Funciones de MySQL


Obtener datos de resultado

mysql_real_escape_string
mysql_select_db
Funciones de MySQL
PHP Manual

mysql_result

(PHP 4, PHP 5)

mysql_result — Obtener datos de resultado

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_data_seek() junto con
mysqli_field_seek() y
mysqli_fetch_field()
  • PDOStatement::fetchColumn()

Descripción

string mysql_result ( resource $result , int $row [, mixed $field = 0 ] )

Recupera el contenido de una celda de un conjunto de resultados de MySQL.

Cuando se esté trabajando con conjuntos de resultados grandes, se debería considerar usar una de las funciones que obtienen una fila completa (especificadas más abajo). Debido a que estas funciones retornan el contenido de múltiples celdas en una única llamada a función, son MUCHO MÁS rápidas que mysql_result(). Además, se ha de tener en cuenta que la especificación de un índice numérico para el campo pasado como argumento es mucho más rápido que especificar un nombre de campo o el argumento nombre_tabla.nombre_campo.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a mysql_query().

row

El número de fila del conjunto de resultados que está siendo recuperado. El número de filas empieza a partir de 0.

field

El nombre o el índice del campo que está siendo recuperado.

Puede ser el índice del campo, el nombre del campo, o el nombre de la tabla punto nombre del campo (nombre_tabla.nombre_campo). Si se ha utilizado un alias para el nombre de la columna ('select foo as bar from...'), utilice el alias en lugar del nombre del campo. Si no está definido, se recuperará el primer campo.

Valores devueltos

El contenido de una celda de un conjunto de resultados de MySQL en caso de éxito, o FALSE en caso de fallo.

Ejemplos

Ejemplo #1 Ejemplo de mysql_result()

<?php
$enlace = mysql_connect('anfitrión_mysql', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
    die('No se pudo conectar: ' . mysql_error());
}
if (!mysql_select_db('nombre_base_datos')) {
    die('No se pudo seleccionar la base de datos: ' . mysql_error());
}
$resultado = mysql_query('SELECT name FROM work.employee');
if (!$resultado) {
    die('No se pudo consultar:' . mysql_error());
}
echo mysql_result($resultado, 2); // imprime el nombre del tercer empleado

mysql_close($enlace);
?>

Notas

Nota:

Las llamadas a mysql_result() no deberían ser mezcladas con llamadas a otras funciones que manejen conjuntos de resultados.

Ver también

  • mysql_fetch_row() - Obtiene una fila de resultados como un array numérico
  • mysql_fetch_array() - Recupera una fila de resultados como un array asociativo, un array numérico o como ambos
  • mysql_fetch_assoc() - Recupera una fila de resultados como un array asociativo
  • mysql_fetch_object() - Recupera una fila de resultados como un objeto

mysql_real_escape_string
mysql_select_db
Funciones de MySQL


Seleccionar una base de datos MySQL

mysql_result
mysql_set_charset
Funciones de MySQL
PHP Manual

mysql_select_db

(PHP 4, PHP 5)

mysql_select_db — Seleccionar una base de datos MySQL

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_select_db()
  • PDO::__construct() (parte de dsn)

Descripción

bool mysql_select_db ( string $database_name [, resource $link_identifier = NULL ] )

Establece la base de datos activa actual en el servidor asociado con el identificador de enlace especificado. Cada llamada posterior a mysql_query() será ejecutada en la base de datos activa.

Parámetros

database_name

El nombre de la base de datos que va a ser seleccionada.

link_identifier

La conexión MySQL. Si el identificador de enlace no se especifica, el último enlace abierto por mysql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si mysql_connect() fuese invocado sin parámetros. Si no se encuentra o establece una conexión, un error de nivel E_WARNING es generado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo mysql_select_db()

<?php

$enlace = mysql_connect('localhost', 'usuario_mysql', 'contraseña_myql');
if (!$enlace) {
    die('No se pudo conectar : ' . mysql_error());
}

// Hacer que foo sea la base de datos actual
$bd_seleccionada = mysql_select_db('foo', $enlace);
if (!$bd_seleccionada) {
    die ('No se puede usar foo : ' . mysql_error());
}
?>

Notas

Nota:

Por razones de compatibilidad con versiones anteriores, los siguientes alias obsoletos podrían usarse: mysql_selectdb()

Ver también

  • mysql_connect() - Abre una conexión al servidor MySQL
  • mysql_pconnect() - Abre una conexión persistente a un servidor MySQL
  • mysql_query() - Enviar una consulta MySQL

mysql_result
mysql_set_charset
Funciones de MySQL


Establece el conjunto de caracteres del cliente

mysql_select_db
mysql_stat
Funciones de MySQL
PHP Manual

mysql_set_charset

(PHP 5 >= 5.2.3)

mysql_set_charset — Establece el conjunto de caracteres del cliente

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_character_set_name()
  • PDO: Añadir charset al string de conexión, tal como charset=utf8

Descripción

bool mysql_set_charset ( string $charset [, resource $link_identifier = NULL ] )

Establece el conjunto de caracteres predeterminado para la conexión actual.

Parámetros

charset

Un nombre de un conjunto de caracteres válido.

link_identifier

La conexión MySQL. Si el identificador de enlace no se especifica, el último enlace abierto por mysql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si mysql_connect() fuese invocado sin parámetros. Si no se encuentra o establece una conexión, un error de nivel E_WARNING es generado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota:

Esta función requiere MySQL 5.0.7 o posterior.

Nota:

Esta es la mejor forma de cambiar el conjunto de caracteres. El uso de mysql_query() para establecerlo (como SET NAMES utf8) no es recomendable. Véase la sección conceptos de conjuntos de caracteres de MySQL para más información.

Ver también

  • mysql_client_encoding() - Devuelve el nombre del conjunto de caracteres
  • Establecer conjuntos de caracteres en MySQL
  • » Lista de conjuntos de caracteres soportados por MySQL

mysql_select_db
mysql_stat
Funciones de MySQL


Obtiene el estado actual del sistema

mysql_set_charset
mysql_tablename
Funciones de MySQL
PHP Manual

mysql_stat

(PHP 4 >= 4.3.0, PHP 5)

mysql_stat — Obtiene el estado actual del sistema

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_stat()
  • PDO::getAttribute(PDO::ATTR_SERVER_INFO)

Descripción

string mysql_stat ([ resource $link_identifier = NULL ] )

mysql_stat() devuelve el estado actual del servidor.

Parámetros

link_identifier

La conexión MySQL. Si el identificador de enlace no se especifica, el último enlace abierto por mysql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si mysql_connect() fuese invocado sin parámetros. Si no se encuentra o establece una conexión, un error de nivel E_WARNING es generado.

Valores devueltos

Devuelve un string con el estado del tiempo de funcionamiento, hilos, consultas, tablas abiertas, tablas de volcado y consultas por segundo. Para obtener una lista completa de variables de estado, es necesario usar el comando SQL SHOW STATUS. Si link_identifier no es válido, se devuelve NULL.

Ejemplos

Ejemplo #1 Ejemplo de mysql_stat()

<?php
$enlace = mysql_connect('localhost', 'usuario_mysql', 'contraseña_mysql');
$estado = explode('  ', mysql_stat($enlace));
print_r($estado);
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => Uptime: 5380
    [1] => Threads: 2
    [2] => Questions: 1321299
    [3] => Slow queries: 0
    [4] => Opens: 26
    [5] => Flush tables: 1
    [6] => Open tables: 17
    [7] => Queries per second avg: 245.595
)

Ejemplo #2 Ejemplo alternativo de mysql_stat()

<?php
$enlace    = mysql_connect('localhost', 'usuario_mysql', 'contraseña_mysql');
$resultado = mysql_query('SHOW STATUS', $enlace);
while ($fila = mysql_fetch_assoc($resultado)) {
    echo $fila['Nombre_variable'] . ' = ' . $fila['Valor'] . "\n";
}
?>

El resultado del ejemplo sería algo similar a:

back_log = 50
basedir = /usr/local/
bdb_cache_size = 8388600
bdb_log_buffer_size = 32768
bdb_home = /var/db/mysql/
bdb_max_lock = 10000
bdb_logdir =
bdb_shared_data = OFF
bdb_tmpdir = /var/tmp/
...

Ver también

  • mysql_get_server_info() - Obtiene información del servidor MySQL
  • mysql_list_processes() - Lista los procesos de MySQL

mysql_set_charset
mysql_tablename
Funciones de MySQL


Obtiene el nombre de la tabla de un campo

mysql_stat
mysql_thread_id
Funciones de MySQL
PHP Manual

mysql_tablename

(PHP 4, PHP 5)

mysql_tablename — Obtiene el nombre de la tabla de un campo

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • Consulta SQL: SHOW TABLES

Descripción

string mysql_tablename ( resource $result , int $i )

Recupera el nombre de tabla desde un resultado dado por result.

Esta función está obsoleta. Es preferible usar mysql_query() para ejecutar una consulta SQL SHOW TABLES [FROM nombre_bd] [LIKE 'patrón'] en su lugar.

Parámetros

result

Un resource de puntero de resultados que se devuelve desde mysql_list_tables().

i

El índice de tipo integer (número de fila/tabla)

Valores devueltos

El nombre de la tabla en caso de éxito o FALSE en caso de error.

Use la función mysql_tablename() para atravesar este puntero de resultados, o cualquier función para obtener tablas, tal como mysql_fetch_array().

Historial de cambios

Versión | Descripción
5.5.0 | La función mysql_tablename() es obsoleta, por lo que emite un error de nivel E_DEPRECATED.

Ejemplos

Ejemplo #1 Ejemplo de mysql_tablename()

<?php
mysql_connect("localhost", "usuario_mysql", "contraseña_mysql");
$resultado = mysql_list_tables("mibd");
$número_filas = mysql_num_rows($resultado);
for ($i = 0; $i < $número_filas; $i++) {
    echo "Tabla: ", mysql_tablename($resultado, $i), "\n";
}

mysql_free_result($resultado);
?>

Notas

Nota:

La función mysql_num_rows() puede ser usada para determinar el número de tablas del puntero de resultados.

Ver también

  • mysql_list_tables() - Lista las tablas de una base de datos MySQL
  • mysql_field_table() - Obtiene el nombre de la tabla en la que está el campo especificado
  • mysql_db_name() - Recupera el nombre de la base de datos desde una llamada a mysql_list_dbs

mysql_stat
mysql_thread_id
Funciones de MySQL


Devuelve el ID del hilo actual

mysql_tablename
mysql_unbuffered_query
Funciones de MySQL
PHP Manual

mysql_thread_id

(PHP 4 >= 4.3.0, PHP 5)

mysql_thread_id — Devuelve el ID del hilo actual

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • mysqli_thread_id()

Descripción

int mysql_thread_id ([ resource $link_identifier = NULL ] )

Recupera el ID del hilo actual. Si la conexión se ha perdido, y se ejecuta una reconexión con mysql_ping(), el ID del hilo cambiará. Esto quiere decir que sólo se ha de recuperar el ID del hilo cuando sea necesario.

Parámetros

link_identifier

La conexión MySQL. Si el identificador de enlace no se especifica, el último enlace abierto por mysql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si mysql_connect() fuese invocado sin parámetros. Si no se encuentra o establece una conexión, un error de nivel E_WARNING es generado.

Valores devueltos

El ID del hilo en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de mysql_thread_id()

<?php
$enlace = mysql_connect('localhost', 'usuario_mysql', 'contraseña_mysql');
$id_hilo = mysql_thread_id($enlace);
if ($id_hilo){
    printf("El ID del hilo actual es %d\n", $id_hilo);
}
?>

El resultado del ejemplo sería algo similar a:

El ID del hilo actual es 73

Ver también

  • mysql_ping() - Efectuar un chequeo de respuesta (ping) sobre una conexión al servidor o reconectarse si no hay conexión
  • mysql_list_processes() - Lista los procesos de MySQL

mysql_tablename
mysql_unbuffered_query
Funciones de MySQL


Envía una consulta SQL a MySQL, sin recuperar ni almacenar en búfer las filas de resultados

mysql_thread_id
Mysqli
Funciones de MySQL
PHP Manual

mysql_unbuffered_query

(PHP 4 >= 4.0.6, PHP 5)

mysql_unbuffered_query — Envía una consulta SQL a MySQL, sin recuperar ni almacenar en búfer las filas de resultados

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

  • See: Consultas almacenadas y no almacenadas en buffer

Descripción

resource mysql_unbuffered_query ( string $query [, resource $link_identifier = NULL ] )

mysql_unbuffered_query() envía la consulta SQL query a MySQL, sin recuperar ni almacenar automáticamente en búfer las filas de resultados, como mysql_query() lo hace. Esto ahorra una considerable cantidad de memoria con las consultas SQL que producen conjuntos de resultados grandes, y se puede empezar a trabajar con el conjunto de resultados inmediatamente después de que la primera fila haya sido recuperada, ya que no es necesario esperar hasta que la consulta SQL completa haya sido ejecutada. Para usar mysql_unbuffered_query() mientras están abiertas múltiples conexiones a la base de datos, se debe especificar el parámetro opcional link_identifier para identificar qué conexión se desea utilizar.

Parámetros

query

La consulta SQL a ejecutar.

Los datos dentro de la consulta deben estar propiamente escapados.

link_identifier

La conexión MySQL. Si el identificador de enlace no se especifica, el último enlace abierto por mysql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si mysql_connect() fuese invocado sin parámetros. Si no se encuentra o establece una conexión, un error de nivel E_WARNING es generado.

Valores devueltos

Para sentencias SELECT, SHOW, DESCRIBE o EXPLAIN, mysql_unbuffered_query() devuelve un resource en caso de éxito, o FALSE en caso de error.

Para otro tipo de sentencias SQL, UPDATE, DELETE, DROP, etc, mysql_unbuffered_query() devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota:

Los beneficios de mysql_unbuffered_query() tienen un precio: no se puede usar mysql_num_rows() ni mysql_data_seek() en un conjunto de resultados devuelto por mysql_unbuffered_query(), hasta que todas las filas sean recuperadas. También se tendrán que recuperar todas las filas de resultados de una consulta SQL no almacenada en búfer antes de poder enviar una nueva consulta SQL a MySQL, usando el mismo link_identifier.

Ver también

  • mysql_query() - Enviar una consulta MySQL

mysql_thread_id
Mysqli
Funciones de MySQL


Extensión MySQL mejorada

  • Introducción
  • Información general
  • Guía rápida
    • Dual procedural and object-oriented interface
    • Conexiones
    • Ejecutar sentencias
    • Sentencias Preparadas
    • Procedimientos almacenados
    • Sentencias Múltiples
    • Soporte de la API para transacciones
    • Metadatos
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • La extensión mysqli y conexiones persistentes
  • Constantes predefinidas
  • Notas
  • Resumen de las funciones de la extensión MySQLi
  • mysqli — La clase mysqli
    • mysqli::$affected_rows — Obtiene el número de filas afectadas en la última operación MySQL
    • mysqli::autocommit — Activa o desactiva las modificaciones de la base de datos autoconsignadas
    • mysqli::begin_transaction — Inicia una transacción
    • mysqli::change_user — Cambia el usuario de la conexión de bases de datos especificada
    • mysqli::character_set_name — Devuelve el juego de caracteres predeterminado para la conexión a la base de datos
    • mysqli::$client_info — Obtiene información de la versión cliente de MySQL
    • mysqli::$client_version — Devuelve la versión cliente de MySQL como una cadena
    • mysqli::close — Cierra una conexión a base de datos previamente abierta
    • mysqli::commit — Realiza un "commit" de la transacción actual
    • mysqli::$connect_errno — Devuelve el código de error de la última llamada
    • mysqli::$connect_error — Devuelve una cadena con la descripción del último error de conexión
    • mysqli::__construct — Abre una nueva conexión al servidor de MySQL
    • mysqli::debug — Realiza operaciones de depuración
    • mysqli::dump_debug_info — Volcado de información de depuración en el registro
    • mysqli::$errno — Devuelve el código del error de la última función llamada
    • mysqli::$error_list — Devuelve una lista de errores desde el último comando ejecutado
    • mysqli::$error — Devuelve una cadena que describe el último error
    • mysqli::$field_count — Devuelve el número de columnas para la consulta más reciente
    • mysqli::get_charset — Devuelve un objeto que contiene el conjunto de caracteres
    • mysqli::get_client_info — Obtiene información de la biblioteca cliente de MySQL
    • mysqli_get_client_stats — Devuelve estadísticas de clientes por proceso
    • mysqli_get_client_version — Devuelve la versión clientes de MySQL como valor de tipo integer
    • mysqli::get_connection_stats — Devuelve estadísticas sobre la conexión del cliente
    • mysqli::$host_info — Devuelve una cadena que representa el tipo de conexión usada
    • mysqli::$protocol_version — Devuelve la versión del protocolo MySQL utilizada
    • mysqli::$server_info — Devuelve la versión del servidor MySQL
    • mysqli::$server_version — Devuelve la versión del servidor MySQL como un valor entero
    • mysqli::get_warnings — Obtiene el resultado de SHOW WARNINGS
    • mysqli::$info — Obtiene la información de la última consulta ejecutada
    • mysqli::init — Inicializa y devuelve un recurso para utilizarlo con mysqli_real_connect()
    • mysqli::$insert_id — Devuelve el id autogenerado que se utilizó en la última consulta
    • mysqli::kill — Pide al servidor matar una hebra de MySQL
    • mysqli::more_results — Comprueba si hay más resultados de una multi consulta
    • mysqli::multi_query — Realiza una consulta a la base de datos
    • mysqli::next_result — Prepara el siguiente resultado de multi_query
    • mysqli::options — Establecer opciones
    • mysqli::ping — Comprueba la conexión al servidor, o trata de reconectar si se perdió la conexión
    • mysqli::poll — Almacena en caché conexiones
    • mysqli::prepare — Prepara una sentencia SQL para su ejecución
    • mysqli::query — Realiza una consulta a la Base de Datos
    • mysqli::real_connect — Abre una conexión a un servidor mysql
    • mysqli::real_escape_string — Escapa los caracteres especiales de una cadena para usarla en una sentencia SQL, tomando en cuenta el conjunto de caracteres actual de la conexión
    • mysqli::real_query — Ejecuta una consulta SQL
    • mysqli::reap_async_query — Obtiene el resultado de una consulta asincrónica
    • mysqli::refresh — Refresca
    • mysqli::release_savepoint — Revierte una transacción hasta un punto salvado previamente, con un nombre determinado
    • mysqli::rollback — Revierte la transacción actual
    • mysqli::rpl_query_type — Devuelve un tipo de consulta RPL
    • mysqli::savepoint — Define el nombre de un punto de salvaguarda de la transacción
    • mysqli::select_db — Selecciona la base de datos por defecto para realizar las consultas
    • mysqli::send_query — Enviar una consulta y devolver
    • mysqli::set_charset — Establece el conjunto de caracteres predeterminado del cliente
    • mysqli::set_local_infile_default — Desestablece el gestor definido por el usuario para un comando load local infile
    • mysqli::set_local_infile_handler — Establecer la llamada de retorno para el comando LOAD DATA LOCAL INFILE
    • mysqli::$sqlstate — Devuelve el error SQLSTATE de la operación de MySQL previa
    • mysqli::ssl_set — Usada para establece conexiones seguras usando SSL
    • mysqli::stat — Obtiene el estado actual del sistema
    • mysqli::stmt_init — Inicializa una sentencia y devuelve un objeto para usarlo con mysqli_stmt_prepare
    • mysqli::store_result — Transfiere un conjunto de resulados de la última consulta
    • mysqli::$thread_id — Deveulve el ID del hilo de la conexión actual
    • mysqli::thread_safe — Devuelve si la seguridad a nivel de hilos está dada o no
    • mysqli::use_result — Inicia la resuperación de un conjunto de resultados
    • mysqli::$warning_count — Devuelve el número de mensajes de advertencia de la última consulta para un enlace dado
  • mysqli_stmt — La clase mysqli_stmt
    • mysqli_stmt::$affected_rows — Devuelve el número total de filas cambiadas, borradas, o insertadas por la última sentencia ejecutada
    • mysqli_stmt::attr_get — Se utiliza para obtener el valor actual de un atributo de la sentencia
    • mysqli_stmt::attr_set — Se utiliza para modificar el comportamiento de una sentencia preparada
    • mysqli_stmt::bind_param — Agrega variables a una sentencia preparada como parámetros
    • mysqli_stmt::bind_result — Vincula variables a una sentencia preparada para el almacenamiento de resultados
    • mysqli_stmt::close — Cierra una sentencia preparada
    • mysqli_stmt::data_seek — Busca una fila arbitraria en un conjunto de resultados de una sentencia
    • mysqli_stmt::$errno — Devuelve el código de error de la llamada de la sentencia más reciente
    • mysqli_stmt::$error_list — Devuelve una lista de errores de la última sentencia ejecutada
    • mysqli_stmt::$error — Devuelve una descripción como cadena del último error de una sentencia
    • mysqli_stmt::execute — Ejecuta una consulta preparada
    • mysqli_stmt::fetch — Obtiene los resultados de una sentencia preparadas en las variables vinculadas
    • mysqli_stmt::$field_count — Devuelve el número de campos de la sentencia dada
    • mysqli_stmt::free_result — Libera la memoria de los resultados almacenados del gestor de sentencia dado
    • mysqli_stmt::get_result — Obtiene un conjunto de resultados de una sentencia preparada
    • mysqli_stmt::get_warnings — Obtener los resultados de SHOW WARNINGS
    • mysqli_stmt::$insert_id — Obtener el ID generado en la operación INSERT anterior
    • mysqli_stmt::more_results — Comprobar si existen más resultados de una consulta de consultas múltiples
    • mysqli_stmt::next_result — Lee el siguiente resultado de una consulta múltiple
    • mysqli_stmt::$num_rows — Devuelve el número de filas de un conjunto de resultados de una sentencia
    • mysqli_stmt::$param_count — Devuelve el número de parámetros de la sentencia dada
    • mysqli_stmt::prepare — Preparar una sentencia SQL para su ejecución
    • mysqli_stmt::reset — Reinicia una sentencia preparada
    • mysqli_stmt::result_metadata — Devuelve los metadatos del conjunto de resultados de una sentencia preparada
    • mysqli_stmt::send_long_data — Enviar datos en bloques
    • mysqli_stmt::$sqlstate — Devuelve el error SQLSTATE de la operación de sentencia previa
    • mysqli_stmt::store_result — Transfiere un conjunto de resultados desde una sentencia preparada
  • mysqli_result — La clase mysqli_result
    • mysqli_result::$current_field — Obtener posición del campo actual de un puntero a un resultado
    • mysqli_result::data_seek — Ajustar el puntero de resultado a una fila arbitraria del resultado
    • mysqli_result::fetch_all — Obtener todas las filas en un array asociativo, numérico, o en ambos
    • mysqli_result::fetch_array — Obtiene una fila de resultados como un array asociativo, numérico, o ambos
    • mysqli_result::fetch_assoc — Obtiene una fila de resultado como un array asociativo
    • mysqli_result::fetch_field_direct — Obtener los metadatos de un único campo
    • mysqli_result::fetch_field — Retorna el próximo campo del resultset
    • mysqli_result::fetch_fields — Devuelve un array de objetos que representan los campos de un conjunto de resultados
    • mysqli_result::fetch_object — Devuelve la fila actual de un conjunto de resultados como un objeto
    • mysqli_result::fetch_row — Obtener una fila de resultados como un array enumerado
    • mysqli_result::$field_count — Obtiene el número de campos de un resultado
    • mysqli_result::field_seek — Establecer el puntero del resultado al índice del campo especificado
    • mysqli_result::free — Libera la memoria asociada a un resultado
    • mysqli_result::$lengths — Retorna los largos de las columnas de la fila actual en el resultset
    • mysqli_result::$num_rows — Obtiene el número de filas de un resultado
  • mysqli_driver — La clase mysqli_driver
    • mysqli_driver::embedded_server_end — Detener el servidor incrustado
    • mysqli_driver::embedded_server_start — Inicializa e inicia el servidor embebido
    • mysqli_driver::$report_mode — Habilita o desabilita las funciones internas de notificación
  • mysqli_warning — La clase mysqli_warning
    • mysqli_warning::__construct — El propósito __construct
    • mysqli_warning::next — El propósito next
  • mysqli_sql_exception — La clase mysqli_sql_exception
  • Alias y Funciones de MySQLi obsoletos
    • mysqli_bind_param — Alias de mysqli_stmt_bind_param
    • mysqli_bind_result — Alias de mysqli_stmt_bind_result
    • mysqli_client_encoding — Alias de mysqli_character_set_name
    • mysqli_connect — Alias de mysqli::__construct
    • mysqli_disable_reads_from_master — Deshabilita las lecturas desde el maestro
    • mysqli_disable_rpl_parse — Deshabilita el interprete RPL
    • mysqli_enable_reads_from_master — Activa las lecturas desde el maestro
    • mysqli_enable_rpl_parse — Habilita el interprete RPL
    • mysqli_escape_string — Alias de mysqli_real_escape_string
    • mysqli_execute — Alias para mysqli_stmt_execute
    • mysqli_fetch — Alias de mysqli_stmt_fetch
    • mysqli_get_cache_stats — Devuelve el caché de estadísticas Zval del cliente
    • mysqli_get_metadata — Alias de mysqli_stmt_result_metadata
    • mysqli_master_query — Fuerza la ejecución de una cosulta en un maestro en una configuración maestro/esclavo
    • mysqli_param_count — Alias de mysqli_stmt_param_count
    • mysqli_report — Alias de of mysqli_driver->report_mode
    • mysqli_rpl_parse_enabled — Verifica si está habilitado el interprete RPL
    • mysqli_rpl_probe — Exploración RPL
    • mysqli_send_long_data — Alias de mysqli_stmt_send_long_data
    • mysqli::set_opt — Alias de mysqli_options
    • mysqli_slave_query — Fuerza la ejecución de una cosulta en un esclavo en una configuración maestro/esclavo
  • Registro de cambios
mysql_unbuffered_query
Introducción
MySQL


Introducción

La extensión mysqli (mysql improved) permite acceder a la funcionalidad proporcionada por MySQL 4.1 y posterior. Se puede encontrar más información sobre el servidor de base de datos MySQL en » http://www.mysql.com/

Se puede encontrar información general del software disponible para usar MySQL desde PHP en la Información general

La documentación de MySQL se puede encontrar en » http://dev.mysql.com/doc/.

Esta documentación incluye partes del manual de MySQL con permiso de Oracle Corporation.

Ejemplos

Todos los ejemplos en la documentación de mysqli utilizan la base de datos world. Ésta se puede encontrar en » http://downloads.mysql.com/docs/world.sql.gz

Mysqli
Información general
Mysqli


Información general

Esta sección proporciona una introducción a las opciones disponibles a la hora de desarrollar una aplicación PHP que necesite interactuar con una base de datos MySQL.

¿Qué es una API?

Una Interfaz de Programación de Aplicaciones, o API, define las clases, métodos, funciones y variables que necesitará llamar una aplicación para llevar a cabo una tarea determinada. En el caso de las aplicaciones de PHP que necesitan comunicarse con un servidor de bases de datos, las APIs necesarias se ofrecen generalmente en forma de extensiones de PHP.

Las APIs pueden ser procedimentales u orientadas a objetos. Con una API procedimental invocan funciones para llevar a cabo las tareas, mientras con con una API orientada a objetos se instancian clases, y entonces se invocan a métodos de los objetos creados. Entre ambas opciones, la segunda es generalmente la vía recomendada, puesto que está más actualizada y conlleva una mejor organización de código.

Cuando se escriben aplicaciones PHP que necesitan conectar a un servidor MySQL, existen varias opciones disponibles respecto a API. Este documento abarca esas opciones, y ayuda a elegir la mejor solución para cada aplicación.

¿Qué es un Conector?

En la documentación de MySQL, el término conector hace referencia al software que permite a una aplicación conectarse a un servidor de bases de datos MySQL. MySQL proporciona conectores para ciertos lenguajes, entre ellos PHP.

Si una aplicación de PHP necesita comunicarse con un servidor de bases de datos, necesitará escribir el código PHP que realice tareas tales como conectar al servidor de bases de datos, realizar consultas y otras funciones relacionadas con bases de datos. Es necesario tener un software instalado en el sistema que proporcione a la aplicación en PHP la API, que manejará la comunicación entre el servidor de bases de datos y la aplicación, posiblemente empleando en caso necesario otras bibliotecas. A este software generalmente se le conoce como conector, dado que permite a una aplicación conectar con un servidor de bases de datos.

¿Qué es un Driver?

Un driver es un software diseñado para comunicarse con un tipo específico de servidor de bases de datos. Podría también invocar a una biblioteca, como por ejemplo la Biblioteca Cliente de MySQL o el Driver Nativo de MySQL. Estas bibliotecas implementan el protocolo de bajo nivel que se utiliza para comunicarse con el servidor de bases de datos.

A modo de ejemplo, la capa de abstracción de bases de datos Objetos de Datos de PHP (PDO) utilizará alguno de los drivers para bases de datos disponibles. Uno de ellos es el driver PDO MYSQL, que permite comunicarse con un servidor MySQL.

A menudo la gente utiliza los términos conector y driver indistintamente. Esto puede dar lugar a confusión. En la documentación de MySQL, el término "driver" queda reservado para el software que proporciona la parte específica de una base de datos dentro de un conector.

¿Qué es una Extensión?

En la documentación de PHP aparece otro término - extensión. El código fuente de PHP consiste por un lado de un núcleo, y por otro de extensiones opcionales para el núcleo. Las extensiones de PHP relacionadas con MySQL, tales como mysqli, y mysql, están implementadas utilizando el framework de extensiones de PHP.

Típicamente, una extensión ofrece una API al programador de PHP para permitirle hacer uso de sus utilidades mediante código. Sin embargo, algunas de las extensiones que utilizan el framework de extensiones de PHP no ofrecen ninguna API al programador.

La extensión del driver PDO MySQL, por ejemplo, no proporciona ninguna API al programador PHP, pero en su lugar ofrece una interfaz a la capa de PDO que tiene por encima.

No deben confundirse los términos API y extensión, dado que una extensión no debe necesariamente proporcionar una API al programador.

¿Cuáles son las principales APIs que PHP ofrece para utilizar MySQL?

Hay tres APIs principales a la hora de considerar conectar a un servidor de bases de datos MySQL:

  • Extensión MySQL de PHP

  • Extensión mysqli de PHP

  • Objetos de Datos de PHP (PDO)

Cada una tiene sus ventajas e inconvenientes. El siguiente apartado trata de dar una breve introducción a los aspectos clave de cada API.

¿Qué es la Extensión MySQL de PHP?

Esta es la extensión original diseñada que permite desarrollar aplicaciones PHP que interactúan con bases de datos MySQL. La extensión mysql proporciona una interfaz procedural, y está pensada para usar sólo con versiones de MySQL anteriores a la 4.1.3. Si bien esta extensión se puede utilizar con versiones de MySQL 4.1.3 o posteriores, no estarán disponibles todas las nuevas funcionalidades del servidor MySQL.

Nota:

Si se utiliza una versión de MySQL 4.1.3 o posterior, se recomienda encarecidamente utilizar la extensión mysqli en su lugar.

El código fuente de la extensión mysql se encuentra en el directorio de extensiones de PHP ext/mysql.

Para más información sobre la extensiónmysql, revise Mysql.

¿Qué es la extensión mysqli de PHP?

La extensión mysqli, o como a veces se le conoce, la extensión de MySQL mejorada, se desarrolló para aprovechar las nuevas funcionalidades encontradas en los sistemas MySQL con versión 4.1.3 o posterior. La extensión mysqli viene incluida en las versiones PHP 5 y posteriores.

La extensión mysqli contiene numerosos beneficios, siendo estas las mejoras principales respecto a la extensión mysql:

  • Interfaz orientada a objetos

  • Soporte para Declaraciones Preparadas

  • Soporte para Múltiples Declaraciones

  • Soporte para Transacciones

  • Mejoradas las opciones de depuración

  • Soporte para servidor empotrado

Nota:

Si utiliza MySQL versión 4.1.3 o superior, se recomienda encarecidamente utilizar esta extensión.

Además de la interfaz orientada a objetos, esta extensión también proporciona una interfaz procedural.

La extensión mysqli está desarrollada mediante el framework de extensiones de PHP. Su código fuente se ubica en el directorio ext/mysqli.

Para más información sobre la extensión mysqli, revise Mysqli.

¿Qué es PDO?

Los Objetos de Datos de PHP, o PDO, son una capa de abstracción de bases de datos específicas para aplicaciones PHP. PDO ofrece una API homogénea para las aplicaciones PHP, independientemente del tipo de servidor de bases de datos con el que se vaya a conectar la aplicación. En teoría, si se utiliza la API PDO, se podría cambiar el servidor de bases de datos en uso, por ejemplo de Firebird a MySQL, y sólo se necesitarían algunos cambios menores en el código PHP.

Otros ejemplos de capas de abstracción de bases de datos son JDBC para aplicaciones Java o DBI para Perl.

A pesar de que PDO tiene sus ventajas, tales como una API limpia, sencilla y portable, su mayor inconveniente es que no permite utilizar todas las funcionalidades avanzadas en la última versión del servidor MySQL. Por ejemplo, PDO no permite hacer uso de las Declaraciones Múltiples de MySQL.

PDO está desarrollado utilizando el framework de extensiones de PHP. Su código fuente se ubica en el directorio ext/pdo.

Para más información de PDO, revise PDO.

¿Qué es el driver PDO MYSQL?

El driver PDO MYSQL no es una API en sí, al menos desde el punto de vista del programador de PHP. En realidad, el driver PDO MYSQL se encuentra una capa por debajo del propio PDO, y ofrece funcionalidades específicas de MySQL. Si bien el programador realiza las llamadas a la API de PDO, PDO utiliza el driver PDO MYSQL para llevara a cabo la comunicación con el servidor MySQL.

El driver PDO MYSQL es uno de los muchos drivers PDO disponibles. Otros de los drivers disponibles son los de los servidores de bases de datos Firebird y PostgreSQL.

El driver MYSQL PDO está desarrollado utilizando el framework de extensiones de PHP. Su código fuente está ubicado en el directorio ext/pdo_mysql. No ofrece ninguna API al programador PHP.

Para más información sobre el driver PDO MYSQL, revise MySQL (PDO).

¿Qué es el Driver Nativo de MySQL?

Tanto la extensión mysql, como mysqli, y el driver PDO MYSQL, utilizan para llevar a cabo las comunicaciones con el servidor de bases de datos MySQL una biblioteca de bajo nivel que genera el protocolo necesario. Hace un tiempo, la única biblioteca disponible era libmysqlclient.

Sin embargo, la interfaz que ofrece libmysqlclient no estaba optimizada para comunicarse con aplicaciones PHP, dado que libmysqlclient se desarrolló originalmente teniendo en mente aplicaciónes hechas en C. Por esta razón, se desarrolló el Driver Nativo de MySQL, mysqlnd, como una alternativa a libmysqlclient para las aplicaciones en PHP.

Tanto la extensión mysql, como la extensión mysqli y el driver PDO MySQL, se pueden configurar por separado para utilizar o bien libmysqlclient o bien mysqlnd. Dado que mysqlnd fue desarrollado específicamente para ser utilizado en sistemas PHP, tiene numerosas mejoras en cuanto a uso de memoria y velocidad respecto a libmysqlclient. Se recomienda encarecidamente hacer uso de dichas mejoras.

Nota:

El Controlador Nativo de MySQL sólo puede usarse con servidores de MySQL versiones 4.1.3 y posteriores.

El Driver Nativo de MySQL está desarrollado utilizando el framework de extensiones de PHP. El código fuente se ubica en ext/mysqlnd. No ofrece ninguna API al programador de PHP.

Comparación de Funcionalidades

La siguiente tabla compara las funcionalidades de los tres principales métodos para conectar a MySQL desde PHP:

Comparación de las opciones de la API de MySQL para PHP
 | Extensión mysqli de PHP | PDO (Usando el driver PDO MySQL y el Driver Nativo MySQL) | Extensión MySQL de PHP
Versión de PHP en que se introdujo | 5.0 | 5.0 | Antes de 3.0
Incluído con PHP 5.x | Sí | Sí | Sí
Estado de desarrollo de MySQL | Desarrollo activo | Desarrollo activo, desde PHP 5.3 | Sólo se le mantiene
Recomendado por MySQL para nuevos proyectos | Sí - opción recomendada | Sí | No
Soporte para juegos de caracteres | Sí | Sí | No
Soporte para Declaraciones Preparadas en el lado del servidor | Sí | Sí | No
Soporte para Declaraciones Preparadas en el lado del cliente | No | Sí | No
Soporte para Procedimientos Almacenados | Sí | Sí | No
Soporte para Declaraciones Múltiples | Sí | Mayormente | No
Suporte para todas las funcionalidades de MySQL 4.1+ | Sí | Mayormente | No
Introducción
Guía rápida
Mysqli


Guía rápida

Tabla de contenidos

  • Dual procedural and object-oriented interface
  • Conexiones
  • Ejecutar sentencias
  • Sentencias Preparadas
  • Procedimientos almacenados
  • Sentencias Múltiples
  • Soporte de la API para transacciones
  • Metadatos

Esta guía rápida le ayudará a elegir y obtener familiaridad con la API MySQL de PHP.

Esta guía rápida ofrece información general sobre la extensión mysqli. Se proporcionan ejemplos de código para los aspectos más importantes de la API. Los conceptos de la base de datos se explican con el grado necesario para presentar conceptos específicos de MySQL.

Se requiere: Familiaridad con el lenguaje de programación PHP, con el lenguaje SQL, y conociemientos básicos del servidor MySQL.

Información general
Dual procedural and object-oriented interface
Mysqli


Dual procedural and object-oriented interface

La extensión mysqli ofrece una interfaz dual. Soporta el paradigme de programación procedimental y el orientado a objetos.

Los usuarios que migren desde la extensión mysql antigua pueden preferir la interfaz procedimental. Esta interfaz es similar a la de la extensión antigua de mysql. En la mayoría de los casos, los nombres de funciones difieren únicamente por el prefijo. Algunas funciones de mysqli toman como primer argumento un gestor de conexión, mientras que las funciones similares de la antigua interfaz de mysql lo toman como el último argumento opcional.

Ejemplo #1 Migración sencilla desde la antigua extensión mysql

<?php
$mysqli = mysqli_connect("ejemplo.com", "usuario", "contraseña", "basedatos");
$resultado = mysqli_query($mysqli, "SELECT 'Por favor, no use ' AS _msg FROM DUAL");
$fila = mysqli_fetch_assoc($resultado);
echo $fila['_msg'];

$mysql = mysql_connect("localhost", "root", "");
mysql_select_db("test");
$resultado = mysql_query("SELECT 'la extensión mysql para nuevos desarrollos.' AS _msg FROM DUAL", $mysql);
$fila = mysql_fetch_assoc($resultado);
echo $fila['_msg'];
?>

El resultado del ejemplo sería:

Por favor, no use la extensión mysql para nuevos desarrollos.

La interfaz orientada a objetos

Además de la clásica interfaz procedimental, los usuarios pueden optar por usar la interfaz orientada a objetos. La documentación está organizada según la interfaz orientada a objetos. Esta interfaz muestra las funciones agrupadas por su propósito, haciendo más fácil los comienzos. La sección de referencia proporciona ejemplos para ambas variantes de sintaxis.

No existen diferencias significativas de rendimiento entre las dos interfaces. Los usuarios puede basar su elección en sus preferencias personales.

Ejemplo #2 Interfaz orientada a objetos y procedimental

<?php
$mysqli = mysqli_connect("ejemplo.com", "usuario", "contraseña", "basedatos");
if (mysqli_connect_errno($mysqli)) {
    echo "Fallo al contenctar a MySQL: " . mysqli_connect_error();
}

$resultado = mysqli_query($mysqli, "SELECT 'Un mundo lleno de ' AS _msg FROM DUAL");
$fila = mysqli_fetch_assoc($resultado);
echo $fila['_msg'];

$mysqli = new mysqli("ejemplo.com", "usuario", "contraseña", "basedatos");
if ($mysqli->connect_errno) {
    echo "Fallo al contenctar a MySQL: " . $mysqli->connect_error;
}

$resultado = $mysqli->query("SELECT 'elecciones para complacer a todos.' AS _msg FROM DUAL");
$fila = $resultado->fetch_assoc();
echo $fila['_msg'];
?>

El resultado del ejemplo sería:

Un mundo lleno de elecciones para complacer a todos.

Se usa la interfaz orientada a objetos en el inicio rápido porque la sección de referencia está organizada de esta manera.

Mixing styles

Es posible cambiar entre los estilos en cualquier momento. No se recomienda mezclar los dos estilos por razones de claridad y estilo de código.

Ejemplo #3 Estilo de codificación malo

<?php
$mysqli = new mysqli("ejemplo.com", "usuario", "contraseña", "basedatos");
if ($mysqli->connect_errno) {
    echo "Fallo al contenctar a MySQL: " . $mysqli->connect_error;
}

$resultado = mysqli_query($mysqli, "SELECT 'Estilo malo pero posible.' AS _msg FROM DUAL");
if (!$resultado) {
    echo "Fallo al ejecutar la consulta: (" . $mysqli->errno . ") " . $mysqli->error;
}

if ($fila = $resultado->fetch_assoc()) {
    echo $fila['_msg'];
}
?>

El resultado del ejemplo sería:

Estilo malo pero posible.

Véase también

  • mysqli::__construct()
  • mysqli::query()
  • mysqli_result::fetch_assoc()
  • $mysqli::connect_errno
  • $mysqli::connect_error
  • $mysqli::errno
  • $mysqli::error
  • El resumen de funciones de la extensión MySQLi

Guía rápida
Conexiones
Guía rápida


Conexiones

El servidor MySQL soporta el uso de diferentes capas de transporte para conexiones. Las conexiones usan TCP/IP, sockets de dominio Unix o tuberías con nombre de Windows.

El nombre del host localhost tiene un significado especial. Está vinculado al uso de sockets de dominio Unix. No es posible abrir una conexión TCP/IP usando como nombre de host localhost, se debe usar 127.0.0.1 en su lugar.

Ejemplo #1 Significado especia de localhost

<?php
$mysqli = new mysqli("localhost", "usuario", "contraseña", "basedatos");
if ($mysqli->connect_errno) {
    echo "Fallo al contenctar a MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
echo $mysqli->host_info . "\n";

$mysqli = new mysqli("127.0.0.1", "usuario", "contraseña", "basedatos", 3306);
if ($mysqli->connect_errno) {
    echo "Fallo al contenctar a MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

echo $mysqli->host_info . "\n";
?>

El resultado del ejemplo sería:

Localhost via UNIX socket
127.0.0.1 via TCP/IP

Valores predeterminados de los parámetros de conexión

Dependiendo de la función de conexión usada se pueden omitir varios parámetros. Si no se proporciona un parámetro, la extensión intentará usar los valores predeterminados que están establecidos en el fichero de configuración de PHP.

Ejemplo #2 Configuración predeterminada

mysqli.default_host=192.168.2.27
mysqli.default_user=root
mysqli.default_pw=""
mysqli.default_port=3306
mysqli.default_socket=/tmp/mysql.sock

Los valores resultantes de los parámetros son pasados a la biblioteca cliente que esté usando esta extensión. Si la biblioteca cliente detecta parámetros vacíos o no establecidos, puede usar los valores internos predeterminados de la biblioteca.

Valores predeterminados internos de conexión de la biblioteca

Si el valor del host no está establecido o está vacío, la biblioteca cliente usará una conexión de socket Unix sobre localhost. Si el socket no está establecido o está vacío, y es solicitada una conexión de socket Unix, se intentará una conexiónal socket predeterminado de /tmp/mysql.sock.

En sistemas Windows, el nombre de host . es interpretado por la biblioteca cliente como un intento de abrir una conexión basada en una tubería con nombre de Windows. En este caso el parámetro del socket se interpreta como el nombre de la tubería. Si no se proporciona o está vacío, se usará como socket (nombre de la tubería) \\.\pipe\MySQL.

Si no está establecida una conexión basada en un socket de dominio Unix ni en una tubería con nombre de Windows y el valor del parámetro del puerto no está establecido, la biblioteca usuará como puerto predeterminado el 3306.

La biblioteca mysqlnd y la Biblioteca Cliente MySQL (libmysql) implementan la misma lógica para determinados valores predeterminados.

Opciones de conexión

Las opciones de conexión están disponibles para, por ejemplo, establecer comando iniciales que son ejecutados sobre la conexión, o para solicitar el uso de ciertos conjuntos de caracteres. Las opciones de conexión deben ser establecidas antes de que se establezcla una conexión de red.

Para configurar una opción de conexión, la operación de conexión ha de ser realizada en tres pasos: crear un gestor de conexión con mysqli_init(), establecer las opciones solicitadas usando mysqli_options(), y establecer la conexión de red con mysqli_real_connect().

Caché de conexiones

La extensión mysqli soporta conexiones persistentes a bases de datos, las cuales son un tipo especial de conexiones almacenadas en caché. Por defecto, cada conexión a una base de datos abierta por un script es cerrada explícitamente por el usuario durante el tiempo de ejecución o liberada automáticamente al finalizar el script. Una conexión persistente no. En su lugar, se coloca en una caché para su reutilización posterior, si una conexión es abierta al mismo servidor usando el mismo nombre de usuario, contraseña, socket, puerto y base de datos predeterminada. La reutilización ahorra gastos de conexioń.

Cada procesos de PHP utiliza su propia caché de conexiones mysqli. Dependiendo de modelo de distribución del servidor web, un proceso PHP puede servir una o múltiples peticiones. Por lo tanto, una conexión almacenada en caché puede ser utilizada posteriormente por uno o más scripts.

Conexiones persistentes

Si una conexión persistente no usada con una combiación dada de host, nombre de usuario, contraseña, socket, puerto y base de datos predeterminada no se puede encontrar en la caché de conexiones, mysqli abrirá una nueva conexión. El uso de conexiones persistentes se puede habilitar y deshabilitar usando la directiva de PHP mysqli.allow_persistent. El número total de conexiones abiertas por un script puede ser limitado con mysqli.max_links. El número máximo de conexiones persistentes por proceso de PHP puede restringirse con mysqli.max_persistent. Observe que el servidor web puede engendrar muchos procesos de PHP.

Una queja común sobre las conexiones persistentes qes que su estado no es reiniciado antes de su uso. Por ejemplo, las transacciones abiertas y no finalizadas no son automéáticamente reanudadas. También, los cambios de autorización que ocurran durante la colocación de la conexión en la caché y su reutilización no están reflejados. Esto puede verse como un efecto secundario no deseado. Al contrario, el nombre persistente puede entenderse como una promesa de que el estado persiste.

La extensión mysqli soporta ambas interpretaciones de una conexión persistente: el estado persiste, y el estado se reinicia antes de la reutilización. Lo predeterminado es la reiniciación. Antes de que una conexión sea reutilizada, la extensión llama implicitamente a mysqli_change_user() para reiniciar el estado. La conexión persistente aparece al usuario como si estuviera recién abierta. No son visibles ningún artefacto de los usos previos.

La función mysqli_change_user() es una operación cara. Para un mejor rendimiento, los usuarios pueden recompilar la extensión con la bandera de compilación MYSQLI_NO_CHANGE_USER_ON_PCONNECT establecida.

Corresponde al usuario elegir entre comportamiento seguro o mejor rendimiento. Ambas son metas de optimización válidas. Para facilitar el uso, el comportamiento seguro es el predeterminado a expensas de un rendimiento máximo.

See also

  • mysqli::__construct()
  • mysqli::init()
  • mysqli::options()
  • mysqli::real_connect()
  • mysqli::change_user()
  • $mysqli::host_info
  • Opciones de configuración de MySQLi
  • Conexiones persistentes a bases de datos

Dual procedural and object-oriented interface
Ejecutar sentencias
Guía rápida


Ejecutar sentencias

Las sentencias se pueden ejecutar con las funciones
 mysqli_query(),  mysqli_real_query()
y  mysqli_multi_query().
La función  mysqli_query() es la más
común, y combina la sentencia de ejecucución con su
conjunto de resultados obtenido de un buffer, si lo hubiera, en una llamada.
Llamar a  mysqli_query() es idéntico que
llamar a  mysqli_real_query()
seguido de  mysqli_store_result().

Ejemplo #1 Conectando a MySQL

<?php
$mysqli = new mysqli("ejemplo.com", "usuario", "contraseña", "basedatos");
if ($mysqli->connect_errno) {
    echo "Falló la conexión con MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT)") ||
    !$mysqli->query("INSERT INTO test(id) VALUES (1)")) {
    echo "Falló la creación de la tabla: (" . $mysqli->errno . ") " . $mysqli->error;
}
?>

Conjuntos de resultados almacenados en buffer

Después de la ejecución de sentencias, los resultados pueden recuperarse de una sola vez para que sean almacenados en buffer por el cliente o leyendo fila a fila. El almacenamieno en buffer de conjuntos de resultados en el lado del cliente permite al servidor liberar recursos asociados con los resultados de la sentencia tan pronto como sea posible. Generalmente hablando, los clientes son lentos consumiendo conjuntos de resultados. Por lo tanto, se recomienda usar conjuntos de resultados almacenados en buffer. mysqli_query() combina la ejecución de sentencias y el almacenamiento en buffer de conjuntos de resultados.

Las aplicaciones de PHP pueden navegar libremente a través de resultados almacenados en buffer. La navegación es más rápida debido a que los conjuntos de resultados se mantienen en la memoria del cliente. Tenga en cuenta que a menudo es más fácil procesar datos en el cliente que hacerlo el servidor.

Ejemplo #2 Navegación a través de resultados almacenados en buffer

<?php
$mysqli = new mysqli("ejemplo.com", "usuario", "contraseña", "basedatos");
if ($mysqli->connect_errno) {
    echo "Falló la conexión a MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT)") ||
    !$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)")) {
    echo "Falló la creación de la tabla: (" . $mysqli->errno . ") " . $mysqli->error;
}

$resultado = $mysqli->query("SELECT id FROM test ORDER BY id ASC");

echo "Orden inverso...\n";
for ($num_fila = $resultado->num_rows - 1; $num_fila >= 0; $num_fila--) {
    $resultado->data_seek($num_fila);
    $fila = $resultado->fetch_assoc();
    echo " id = " . $fila['id'] . "\n";
}

echo "Orden del conjunto de resultados...\n";
$resultado->data_seek(0);
while ($fila = $resultado->fetch_assoc()) {
    echo " id = " . $fila['id'] . "\n";
}
?>

El resultado del ejemplo sería:

Orden inverso...
 id = 3
 id = 2
 id = 1
Orden del conjunto de resultados...
 id = 1
 id = 2
 id = 3

Conjuntos de resultados no almacenados en buffer

Si la memoria del cliente es un recurso escaso y no es necesaria la liberación de recursos del servidor tan pronto como sea posible para mantener la carga del servidor baja, se pueden usar conjuntos de resultados no almacenados en buffer. Recorrer resultados no almacenados en buffer no es posible antes de que todas las filas hayan sido leídas.

Ejemplo #3 Navegación a través de resultados no almacenados en buffer

<?php
$mysqli->real_query("SELECT id FROM test ORDER BY id ASC");
$resultado = $mysqli->use_result();

echo "Orden del conjunto de resultados...\n";
while ($fila = $resultado->fetch_assoc()) {
    echo " id = " . $fila['id'] . "\n";
}
?>

Tipos de datos de los valores del conjunto de resultados

Las funciones mysqli_query(), mysqli_real_query() y mysqli_multi_query() se usan para ejecutar sentencias no preparadas. Al nivel del Protocolo Cliente Servidor de MySQL, el comando COM_QUERY y el protocolo de texto se usan para la ejecución de sentencias. Con el protocolo texto, el servidor MySQL convierte todos los datos de los conjuntos de resultados en cadenas antes de enviarlos. Esta conversión se realiza sin considerar el tipo de datos de las columnas del conjunto de resultados SQL. Las bibliotecas cliente de mysql reciben todos los valores de las columnas como cadenas. No se realiza ninguna conversión del lado del cliente pava volver a convertir las columnas a susu tipos nativos. En su lugar, todos los valores son proporcionados como cadenas de PHP.

Ejemplo #4 El protocolo de texto devuelve cadenas de manera predeterminado

<?php
$mysqli = new mysqli("ejemplo.com", "usuario", "contraseña", "basedatos");
if ($mysqli->connect_errno) {
    echo "Falló la conexión a MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT, etiqueta CHAR(1))") ||
    !$mysqli->query("INSERT INTO test(id, etiqueta) VALUES (1, 'a')")) {
    echo "Falló la creación de la tabla: (" . $mysqli->errno . ") " . $mysqli->error;
}

$resultado = $mysqli->query("SELECT id, etiqueta FROM test WHERE id = 1");
$fila = $resultado->fetch_assoc();

printf("id = %s (%s)\n", $fila['id'], gettype($fila['id']));
printf("etiqueta = %s (%s)\n", $fila['etiqueta'], gettype($fila['etiqueta']));
?>

El resultado del ejemplo sería:

id = 1 (string)
etiqueta = a (string)

Es posible convertir valores de columnas de tipo integer y float a números de PHP estableciendo la opción de conexión MYSQLI_OPT_INT_AND_FLOAT_NATIVE, si se esta´utilizando la biblioteca mysqlnd. Si se establece, la biblioteca mysqlnd comprobará los tipos de columna de los metadatos del conjunto de resultados y convertirá las columnas númerocas de SQL a números de PHP, si el rango de valores del tipo de datos de PHP lo permite. De esta forma, por ejemplo, las columnas INT de SQL son devueltas como enteros.

Ejemplo #5 Tipos de datos nativos con mysqlnd y la opción de conexión

<?php
$mysqli = mysqli_init();
$mysqli->options(MYSQLI_OPT_INT_AND_FLOAT_NATIVE, 1);
$mysqli->real_connect("ejemplo.com", "user", "contraseña", "basedatos");

if ($mysqli->connect_errno) {
    echo "Falló la conexión a MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT, etiqueta CHAR(1))") ||
    !$mysqli->query("INSERT INTO test(id, etiqueta) VALUES (1, 'a')")) {
    echo "Falló la creación de la tabla: (" . $mysqli->errno . ") " . $mysqli->error;
}

$resultado = $mysqli->query("SELECT id, etiqueta FROM test WHERE id = 1");
$fila = $resultado->fetch_assoc();

printf("id = %s (%s)\n", $fila['id'], gettype($fila['id']));
printf("etiqueta = %s (%s)\n", $fila['etiqueta'], gettype($fila['etiqueta']));
?>

El resultado del ejemplo sería:

id = 1 (integer)
etiqueta = a (string)

Véase también

  • mysqli::__construct()
  • mysqli::init()
  • mysqli::options()
  • mysqli::real_connect()
  • mysqli::query()
  • mysqli::multi_query()
  • mysqli::use_result()
  • mysqli::store_result()
  • mysqli_result::free()

Conexiones
Sentencias Preparadas
Guía rápida


Sentencias Preparadas

Las bases de datos MySQL soportan sentencias preparadas. Una sentencia preparada o una sentencia parametrizada se usa para ejecutar la misma sentencia repetidamente con gran eficiencia.

Flujo de trabajo básico

La ejecución de sentencias preparadas consiste en dor etapas: la preparación y la ejecución. En la etapa de preparación se envía una plantilla de sentencia al servidor de bases de datos. El servidor realiza una comprobación de sintaxis e inicializa los recursos internos del servidor para su uso posterior.

El servidor de MySQL soporta el uso de parámetros de sustitución posicionales anónimos con ?.

Ejemplo #1 Primera etapa: prepación

<?php
$mysqli = new mysqli("ejemplo.com", "usuario", "contraseña", "basedatos");
if ($mysqli->connect_errno) {
    echo "Falló la conexión a MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

/* Sentencia no preparada */
if (!$mysqli->query("DROP TABLE IF EXISTS test") || !$mysqli->query("CREATE TABLE test(id INT)")) {
    echo "Falló la creación de la tabla: (" . $mysqli->errno . ") " . $mysqli->error;
}

/* Sentencia preparada, etapa 1: preparación */
if (!($sentencia = $mysqli->prepare("INSERT INTO test(id) VALUES (?)"))) {
    echo "Falló la preparación: (" . $mysqli->errno . ") " . $mysqli->error;
}
?>

La preparación es seguida de la ejecución. Durante la ejecución el cliente vincula los valores de los parámetros y los envía al servidor. El servidor crea una sentencia desde la plantilla de la sentencia y los valores vinculados para ejecutarla usando los recursos internos previamente creados.

Ejemplo #2 Segunda etapa: vincular y ejecutar

<?php
/* Sentencia preparada, etapa 2: vincular y ejecutar */
$id = 1;
if (!$sentencia->bind_param("i", $id)) {
    echo "Falló la vinculación de parámetros: (" . $sentencia->errno . ") " . $sentencia->error;
}

if (!$sentencia->execute()) {
    echo "Falló la ejecución: (" . $sentencia->errno . ") " . $sentencia->error;
}
?>

Ejecución repetida

Una sentencia preparada se puede ejecutar repetidamente. En cada ejecución el valor actual de la variable vinculada se evalúa y se envía al servidor. La sentencia no se analiza de nuevo. La plantilla de la sentencia no es transferida otra vez al servidor.

Ejemplo #3 INSERT preparada una vez, ejecutada múltiples veces

<?php
$mysqli = new mysqli("ejemplo.com", "usuario", "contraseña", "basedatos");
if ($mysqli->connect_errno) {
    echo "Falló la conexión a MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

/* Sentencia no preparada */
if (!$mysqli->query("DROP TABLE IF EXISTS test") || !$mysqli->query("CREATE TABLE test(id INT)")) {
    echo "Falló la creación de la tabla: (" . $mysqli->errno . ") " . $mysqli->error;
}

/* Sentencia preparada, etapa 1: preparación */
if (!($sentencia = $mysqli->prepare("INSERT INTO test(id) VALUES (?)"))) {
     echo "Falló la preparación: (" . $mysqli->errno . ") " . $mysqli->error;
}

/* Sentencia preparada, etapa 2: vinculación y ejecución */
$id = 1;
if (!$sentencia->bind_param("i", $id)) {
    echo "Falló la vinculación de parámetros: (" . $sentencia->errno . ") " . $sentencia->error;
}

if (!$sentencia->execute()) {
    echo "Falló la ejecución: (" . $sentencia->errno . ") " . $sentencia->error;
}

/* Sentencia preparada: ejecución repetida, sólo datos transferidos desde el cliente al servidor */
for ($id = 2; $id < 5; $id++) {
    if (!$sentencia->execute()) {
        echo "Falló la ejecución: (" . $sentencia->errno . ") " . $sentencia->error;
    }
}

/* se recomienda el cierre explícito */
$sentencia->close();

/* Sentencia no preparada */
$resultado = $mysqli->query("SELECT id FROM test");
var_dump($resultado->fetch_all());
?>

El resultado del ejemplo sería:

array(4) {
  [0]=>
  array(1) {
    [0]=>
    string(1) "1"
  }
  [1]=>
  array(1) {
    [0]=>
    string(1) "2"
  }
  [2]=>
  array(1) {
    [0]=>
    string(1) "3"
  }
  [3]=>
  array(1) {
    [0]=>
    string(1) "4"
  }
}

Cada sentencia preparada ocupa recursos del servidor. Las sentencias deberían cerrarse explícitamente inmediatamente después de su uso. Si no se realiza explícitamente, la sentencia será cerrada cuando el gestor de la sentencia sea liberado por PHP.

Usar una sentencia preparada no es siempre la manera más eficiente de ejecutar una sentencia. Una sentencia preparada ejecutada una sola vez causa más viajes de ida y vuelta desde el cliente al servidor que una sentencia no preparada. Es por esta razón por lo que SELECT no se ejecuta arriba como una sentencia preparada.

También se ha de considerar el uso de la sintaxis SQL multi-INSERT de MySQL para sentencias INSERT. Por ejemplo, multi-INSERT requiere menos viajes de ida y vuelta entre el servidor y el cliente que la sentencia preparada mostrada arriba.

Ejemplo #4 Menos viajes de ida y vuelta usando SQL multi-INSERT

<?php
if (!$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3), (4)")) {
    echo "Falló multi-INSERT: (" . $mysqli->errno . ") " . $mysqli->error;
}
?>

Tipos de datos de los valores del conjunto de resultados

El Protocolo Cliente Servidor de MySQL define un protocolo de transporte de datos diferente para sentencias preparadas y no preparadas. Las sentencias preparadas usan el llamado protocolo binario. El servidor de MySQL envía los datos del conjunto de resultados "tal cual" en formato binario. Los resultados no son serializados en cadenas antes del envío. Las bibliotecas cliente no reciben cadenas solamente. En su lugar, recibirán datos binarios e intentarán convertir los valores a los tipos de datos de PHP apropiados. Por ejemplo, los resultados de una columna de SQL INT serán proporcionados como variables de tipo integer de PHP.

Ejemplo #5 Tipos de datos nativos

<?php
$mysqli = new mysqli("ejemplo.com", "usuario", "contraseña", "basedatos");
if ($mysqli->connect_errno) {
    echo "Falló la conexión a MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT, etiqueta CHAR(1))") ||
    !$mysqli->query("INSERT INTO test(id, etiqueta) VALUES (1, 'a')")) {
    echo "Falló la creación de la tabla: (" . $mysqli->errno . ") " . $mysqli->error;
}

$sentencia = $mysqli->prepare("SELECT id, etiqueta FROM test WHERE id = 1");
$sentencia->execute();
$resultado = $sentencia->get_result();
$fila = $resultado->fetch_assoc();

printf("id = %s (%s)\n", $fila['id'], gettype($fila['id']));
printf("etiqueta = %s (%s)\n", $fila['etiqueta'], gettype($fila['etiqueta']));
?>

El resultado del ejemplo sería:

id = 1 (integer)
etiqueta = a (string)

Este comportamiento difiere de las sentencias no preparadas. Por defecto, las sentencias no preparadas devolverán todos los resultados como cadenas. Este comportamiento predeterminado se puede cambiar usand una opción de conexión. Si se utiliza la opción de conexión no existirán diferencias.

Obtener resultados usando variables vinculadas

Los resultados de las sentencias preparadas pueden ser recuperados mediante varibles de salida vinculadas, o por la petición de un objeto mysqli_result.

Las variables de salida deben ser vinculadas después de la ejecución de la sentencia. Una variable debe estar vinculada para cada columna del conjunto de resultados de las sentencias.

Ejemplo #6 Vinculación de variables de salida

<?php
$mysqli = new mysqli("ejemplo.com", "usuario", "contraseña", "basedatos");
if ($mysqli->connect_errno) {
    echo "Falló la conexión a MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT, etiqueta CHAR(1))") ||
    !$mysqli->query("INSERT INTO test(id, etiqueta) VALUES (1, 'a')")) {
    echo "Falló la creación de la tabla: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!($sentencia = $mysqli->prepare("SELECT id, etiqueta FROM test"))) {
    echo "Falló la preparación: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$sentencia->execute()) {
    echo "Falló la ejecución: (" . $mysqli->errno . ") " . $mysqli->error;
}

$id_salida       = NULL;
$etiqueta_salida = NULL;
if (!$sentencia->bind_result($id_salida, $etiqueta_salida)) {
    echo "Falló la vinculación de los parámetros de salida: (" . $sentencia->errno . ") " . $sentencia->error;
}

while ($sentencia->fetch()) {
    printf("id = %s (%s), etiqueta = %s (%s)\n", $id_salida, gettype($id_salida), $etiqueta_salida, gettype($etiqueta_salida));
}
?>

El resultado del ejemplo sería:

id = 1 (integer), etiqueta = a (string)

Las sentencias preparadas devuelven de manera predeterminada conjuntos de resultados no almacenados en buffer. Los resultados de la sentencia no son obtenidas y transferidas implícitamente desde el servidor al cliente para el almacenamiento en buffer de lado del cliente. El conjunto de resultados toma recursos del servidor hasta que todos los resultados hayan sido obtenidos por el cliente. Por lo que se recomienda consumir resultados cuando sea oportuno. Si un cliente falla al obtener todos los resultados o el cliente cierra la consulta antes de haber obtenido todos los datos, los datos han de ser obtenidos implícitamente por mysqli.

También es posible almacenar en buffer los resutados de una sentencia preparada usando mysqli_stmt_store_result().

Obtener los resultados usando la interfaz mysqli_result

En lugar de usar resultados vinculados, los resultados también se pueden recuperar a través de la interfaz mysqli_result. mysqli_stmt_get_result() devuelve un conjunto de resultados almacenado en buffer.

Ejemplo #7 Usar mysqli_result para obtener los resultados

<?php
$mysqli = new mysqli("ejemplo.com", "usuario", "contraseña", "basedatos");
if ($mysqli->connect_errno) {
    echo "Falló la conexión a MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT, etiqueta CHAR(1))") ||
    !$mysqli->query("INSERT INTO test(id, etiqueta) VALUES (1, 'a')")) {
    echo "Falló la creación de la tabla: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!($sentencia = $mysqli->prepare("SELECT id, etiqueta FROM test ORDER BY id ASC"))) {
    echo "Falló la preparación: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$sentencia->execute()) {
     echo "Falló la ejecución: (" . $sentencia->errno . ") " . $sentencia->error;
}

if (!($resultado = $sentencia->get_result())) {
    echo "Falló la obtención del conjunto de resultados: (" . $sentencia->errno . ") " . $sentencia->error;
}

var_dump($resultado->fetch_all());
?>

El resultado del ejemplo sería:

array(1) {
  [0]=>
  array(2) {
    [0]=>
    int(1)
    [1]=>
    string(1) "a"
  }
}

Usar la interfaz mysqli_result ofrece el beneficio adicional de la navegación flexible del conjunto de resultados en el lado del cliente.

Ejemplo #8 Conjunto de resultados almacenado en buffer para la lectura flexible

<?php
$mysqli = new mysqli("ejemplo.com", "usuario", "contraseña", "basedatos");
if ($mysqli->connect_errno) {
    echo "Falló la conexión a MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT, etiqueta CHAR(1))") ||
    !$mysqli->query("INSERT INTO test(id, etiqueta) VALUES (1, 'a'), (2, 'b'), (3, 'c')")) {
    echo "Falló la creación de la tabla: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!($sentencia = $mysqli->prepare("SELECT id, etiqueta FROM test"))) {
    echo "Falló la preparación: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$sentencia->execute()) {
     echo "Falló la ejecución: (" . $sentencia->errno . ") " . $sentencia->error;
}

if (!($resultado = $sentencia->get_result())) {
    echo "Falló la obtención del conjunto de resultados: (" . $sentencia->errno . ") " . $sentencia->error;
}

for ($num_fila = ($resultado->num_rows - 1); $num_fila >= 0; $num_fila--) {
    $resultado->data_seek($num_fila);
    var_dump($resultado->fetch_assoc());
}
$resultado->close();
?>

El resultado del ejemplo sería:

array(2) {
  ["id"]=>
  int(3)
  ["etiqueta"]=>
  string(1) "c"
}
array(2) {
  ["id"]=>
  int(2)
  ["etiqueta"]=>
  string(1) "b"
}
array(2) {
  ["id"]=>
  int(1)
  ["etiqueta"]=>
  string(1) "a"
}

Escape de valores e inyección SQL

Las variables vinculadas son escapadas automáticamente por el servidor. Éste inserta sus valores escapados en los lugares apropiados dentro de la plantilla de la sentencia antes de la ejecución. Se debe proporcinar al servidor una sugerencia del tipo de variable vinculada, para crear una conversión apropiada. Vea la función mysqli_stmt_bind_param() para más información.

El escape automático de valores en el servidor algunas veces es considerado una característica de seguridad para prevenir inyecciones SQL. Se puede alcanzar el mismo grado de seguridad con sentencias no preparadas, si los valores de entrada son escapados correctamente.

Emulación de sentencias preparadas en el lado del cliente

La API no inclye la emulación para sentencias preparadas en el lado del cliente.

Comparación entre sentencias preparadas y no preparadas

La tabla de abajo compara las sentencias preparadas y no preparadas del lado del servidor.

Comparación entre sentencias preparadas y no preparadas
 | Sentencia preparada | Sentencia no preparada
Viajes de ida y vuelta desde el cliente al servidor, SELECT, ejecución única | 2 | 1
Cadenas de sentencias tranferidas desde el cliente al servidor | 1 | 1
Viajes de ida y vuelta desde el cliente al servidor, SELECT, ejecución repetida (n) | 1 + n | n
Cadenas de sentencias tranferidas desde el cliente al servidor | 1 plantilla, n veces parametro vinculado, si existe | n veces junto con el parámetro, si existe
API de vinculación de parámetros de entrada | Sí, escape de entradas automático | No, escape de entradas manual
API de vinculación de variables de salida | Sí | No
Soporte para el uso de la API mysqli_result | Sí, use mysqli_stmt_get_result() | Sí
Conjuntos de resultados almacenados en buffer | Sí, use mysqli_stmt_get_result() o la vinculación con mysqli_stmt_store_result() | Sí, lo predeterminado de mysqli_query()
Conjuntos de resultados no almacenados en buffer | Sí, use la API de vinculación de salida | Sí, use mysqli_real_query() con mysqli_use_result()
"Sabor" de la transferencia de datos del protocolo Cliente Servidor de MySQL | Protocolo binario | Protocolo de texto
Tipos de datos SQL de los valores del conjunto de resultados | Preservados al obtenerlos | Convertidos a cadena o preservados al obetenerlos
Soporta todas las sentencia SQL | Versiones reciente de MySQL soportan muchas pero no todas | Sí

Véase también

  • mysqli::__construct()
  • mysqli::query()
  • mysqli::prepare()
  • mysqli_stmt::prepare()
  • mysqli_stmt::execute()
  • mysqli_stmt::bind_param()
  • mysqli_stmt::bind_result()

Ejecutar sentencias
Procedimientos almacenados
Guía rápida


Procedimientos almacenados

Las bases de datos de MySQL soportan procedimientos almacenados. Un procedimiento almacenado es una subrutina almacenada en el catálogo de la base de datos. Las aplicaciones pueden llamar y ejecutar el procedimiento almacenado. La sentencia de SQL CALL se usa para ejecutar un procedimiento almacenado.

Parámetros

Los procedimientos almacenados pueden tener parámetros IN, INOUT y OUT, dependiendo de la versión de MySQL. La interfaz mysqli no tiene una noción especial de los diferentes tipos de parámetros.

Parámetro IN

Los parámetros de entrada son proporcionados con la sentencia CALL. Asegúrese de que los valores están escapados correctamente.

Ejemplo #1 Llamar a un procedimiento almacenado

<?php
$mysqli = new mysqli("ejemplo.com", "usuario", "contraseña", "basedatos");
if ($mysqli->connect_errno) {
    echo "Falló la conexión a MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") || !$mysqli->query("CREATE TABLE test(id INT)")) {
    echo "Falló la creación de la tabla: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$mysqli->query("DROP PROCEDURE IF EXISTS p") ||
    !$mysqli->query("CREATE PROCEDURE p(IN id_val INT) BEGIN INSERT INTO test(id) VALUES(id_val); END;")) {
    echo "Falló la creación del procedimiento almacenado: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$mysqli->query("CALL p(1)")) {
    echo "Falló CALL: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!($resultado = $mysqli->query("SELECT id FROM test"))) {
    echo "Falló SELECT: (" . $mysqli->errno . ") " . $mysqli->error;
}

var_dump($resultado->fetch_assoc());
?>

El resultado del ejemplo sería:

array(1) {
  ["id"]=>
  string(1) "1"
}

Parámetro INOUT/OUT

A los valores de los parámetros INOUT/OUT se acceden usando variables de sesión.

Ejemplo #2 Usar variables de sesión

<?php
$mysqli = new mysqli("ejemplo.com", "usuario", "contraseña", "basedatos");
if ($mysqli->connect_errno) {
    echo "Falló la conexión a MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP PROCEDURE IF EXISTS p") ||
    !$mysqli->query('CREATE PROCEDURE p(OUT msg VARCHAR(50)) BEGIN SELECT "¡Hola!" INTO msg; END;')) {
    echo "Falló la creación del procedimiento almacenado: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$mysqli->query("SET @msg = ''") || !$mysqli->query("CALL p(@msg)")) {
    echo "Falló CALL: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!($resultado = $mysqli->query("SELECT @msg as _p_out"))) {
    echo "Falló la obtención: (" . $mysqli->errno . ") " . $mysqli->error;
}

$fila = $resultado->fetch_assoc();
echo $fila['_p_out'];
?>

El resultado del ejemplo sería:

¡Hola!

Los desarrolladores de aplicaciones y framework pueden proporcionar una API más conveniente usando una mezcla de variables de sesiones e inspección del catálogo de la base de datos. Sin embargo, observe el posible impacto de rendimiento de una solución personalizada basada en la inspección del catálogo.

Manejar conjuntos de resultados

Los procedimientos almacenados pueden devolver conjuntos de resultados. Los conjuntos de resultados devueltos desde un procedimiento almacenado no se pueden obtener correctgamente usando mysqli_query(). La función mysqli_query() combina la ejecución de la sentencia y la obtención del primer conjunto de resultados dentro de un conjunto de resultados almacenado en buffer, si existe. Sin embargo, existen unos conjuntos de resultados del procedimiento almacenado ocultos para el usuario que hacen que mysqli_query() falle al devolver los conjuntos de resultados esperados por el usuario.

Los conjuntos de resultados devueltos desde un procedimiento almacenado son obtenidos usando mysqli_real_query() o mysqli_multi_query(). Ambas funciones permiten la obtención de cualquier número de conjuntos de resultados devueltos por una sentencia, como CALL. El fallo de la obtención de todos los conjuntos de resultados devueltos por un procedimiento almacenado causa un error.

Ejemplo #3 Obtener los resultados de procedimientos almacenados

<?php
$mysqli = new mysqli("ejemplo.com", "usuario", "contraseña", "basedatos");
if ($mysqli->connect_errno) {
    echo "Falló la conexión a MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT)") ||
    !$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)")) {
    echo "Falló la creación de la tabla: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$mysqli->query("DROP PROCEDURE IF EXISTS p") ||
    !$mysqli->query('CREATE PROCEDURE p() READS SQL DATA BEGIN SELECT id FROM test; SELECT id + 1 FROM test; END;')) {
    echo "Falló la creación del procedimiento almacenado: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$mysqli->multi_query("CALL p()")) {
    echo "Falló CALL: (" . $mysqli->errno . ") " . $mysqli->error;
}

do {
    if ($resultado = $mysqli->store_result()) {
        printf("---\n");
        var_dump($resultado->fetch_all());
        $resultado->free();
    } else {
        if ($mysqli->errno) {
            echo "Store failed: (" . $mysqli->errno . ") " . $mysqli->error;
        }
    }
} while ($mysqli->more_results() && $mysqli->next_result());
?>

El resultado del ejemplo sería:

---
array(3) {
  [0]=>
  array(1) {
    [0]=>
    string(1) "1"
  }
  [1]=>
  array(1) {
    [0]=>
    string(1) "2"
  }
  [2]=>
  array(1) {
    [0]=>
    string(1) "3"
  }
}
---
array(3) {
  [0]=>
  array(1) {
    [0]=>
    string(1) "2"
  }
  [1]=>
  array(1) {
    [0]=>
    string(1) "3"
  }
  [2]=>
  array(1) {
    [0]=>
    string(1) "4"
  }
}

Uso de sentencias preparadas

No es necesario un trato especial al usar la interfaz de sentencias preparadas para obtener los resultados del mismo procedimiento almacenado de arriba. Las interfaces de sentencias preparadas y no preparadas son similares. Obserque que no todas las versioines del servidor de MYSQL pueden soportar la preparación de la sentencia SQL CALL.

Ejemplo #4 Procedimientos Almacenados y Sentencias Preparadas

<?php
$mysqli = new mysqli("ejemplo.com", "usuario", "contraseña", "basedatos");
if ($mysqli->connect_errno) {
    echo "Falló la conexión a MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT)") ||
    !$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)")) {
    echo "Falló la creación de la tabla: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$mysqli->query("DROP PROCEDURE IF EXISTS p") ||
    !$mysqli->query('CREATE PROCEDURE p() READS SQL DATA BEGIN SELECT id FROM test; SELECT id + 1 FROM test; END;')) {
    echo "Falló la creación del procedimiento almacenado: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!($sentencia = $mysqli->prepare("CALL p()"))) {
    echo "Falló la preparación: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$sentencia->execute()) {
    echo "Falló la ejecución: (" . $sentencia->errno . ") " . $sentencia->error;
}

do {
    if ($resultado = $sentencia->get_result()) {
        printf("---\n");
        var_dump(mysqli_fetch_all($resultado));
        mysqli_free_result($resultado);
    } else {
        if ($sentencia->errno) {
            echo "Store failed: (" . $sentencia->errno . ") " . $sentencia->error;
        }
    }
} while ($sentencia->more_results() && $sentencia->next_result());
?>

Por supuesto, tamibién está soportado el uso de la API de vinculación para la obtención.

Ejemplo #5 Procedimientos Almacenados y Sentencias Preparadas usando la API de vinculación

<?php
if (!($sentencia = $mysqli->prepare("CALL p()"))) {
    echo "Falló la preparación: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$sentencia->execute()) {
    echo "Falló la ejecución: (" . $sentencia->errno . ") " . $sentencia->error;
}

do {

    $id_out = NULL;
    if (!$sentencia->bind_result($id_out)) {
        echo "Falló la vinculiación: (" . $sentencia->errno . ") " . $sentencia->error;
    }

    while ($sentencia->fetch()) {
        echo "id = $id_out\n";
    }
} while ($sentencia->more_results() && $sentencia->next_result());
?>

Véase también

  • mysqli::query()
  • mysqli::multi_query()
  • mysqli_result::next-result()
  • mysqli_result::more-results()

Sentencias Preparadas
Sentencias Múltiples
Guía rápida


Sentencias Múltiples

MySQL permite opcionalmente tener múltiples sentencias en una cadena de sentencias. El envío de múltiples sentencias de una sola vez reduce los viajes de ida y vuelta desde el cliente al servidor, pero requiere un manejo especial.

Las sentencias múltiples o multiconsultas deben ser ejecutadas con mysqli_multi_query(). Las sentencias individuales de la cadena de sentencias están serparadas por un punto y coma. Entonces, todos los conjuntos de resultados devueltos por las sentencias ejecutadas deben ser obtenidos.

El servidor MySQL permite tener sentencias que devuelven conjuntos de resultados y sentencias que no devuelve conjuntos de resultados en una sentencia múltiple.

Ejemplo #1 Sentencias múltiples

<?php
$mysqli = new mysqli("ejemplo.com", "usuario", "contraseña", "basedatos");
if ($mysqli->connect_errno) {
    echo "Falló la conexión a MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") || !$mysqli->query("CREATE TABLE test(id INT)")) {
    echo "Falló la creación de la tabla: (" . $mysqli->errno . ") " . $mysqli->error;
}

$sql = "SELECT COUNT(*) AS _num FROM test; ";
$sql.= "INSERT INTO test(id) VALUES (1); ";
$sql.= "SELECT COUNT(*) AS _num FROM test; ";

if (!$mysqli->multi_query($sql)) {
    echo "Falló la multiconsulta: (" . $mysqli->errno . ") " . $mysqli->error;
}

do {
    if ($resultado = $mysqli->store_result()) {
        var_dump($resultado->fetch_all(MYSQLI_ASSOC));
        $resultado->free();
    }
} while ($mysqli->more_results() && $mysqli->next_result());
?>

El resultado del ejemplo sería:

array(1) {
  [0]=>
  array(1) {
    ["_num"]=>
    string(1) "0"
  }
}
array(1) {
  [0]=>
  array(1) {
    ["_num"]=>
    string(1) "1"
  }
}

Consideraciones de seguridad

Las funciones de la API mysqli_query() y mysqli_real_query() no establecen una bandera de conexión necesaria para activar las multiconsultas en el servidor. Se usa una llamada extra a la API para las sentencias múltiples para reducir la verosimilitud de los ataques de inyecciones SQL accidentales. Un atacante puede intentar añadir sentencias como ; DROP DATABASE mysql o ; SELECT SLEEP(999). Si el atacante tiene éxito al añadir SQL a la cadena de sentencias pero no se usa mysqli_multi_query, el servidor no ejecutará la segunda sentencia SQL inyectada y maliciosa.

Ejemplo #2 Inyección SQL

<?php
$mysqli    = new mysqli("ejemplo.com", "usuario", "contraseña", "basedatos");
$resultado = $mysqli->query("SELECT 1; DROP TABLE mysql.user");
if (!$resultado) {
    echo "Error al ejecutar la consulta: (" . $mysqli->errno . ") " . $mysqli->error;
}
?>

El resultado del ejemplo sería:

Error al ejecutar la consulta: (1064) You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syntax
to use near 'DROP TABLE mysql.user' at line 1

Sentencias preparadas

El uso de sentencias múltiples con sentencias preparadas no está soportado.

See also

  • mysqli::query()
  • mysqli::multi_query()
  • mysqli_result::next-result()
  • mysqli_result::more-results()

Procedimientos almacenados
Soporte de la API para transacciones
Guía rápida


Soporte de la API para transacciones

El servidor MySQL soporta transacciones dependiendo de del motor de almacenamiento usado. Desde MySQL 5.5, el motor de almacenamiento predeterminado es InnoDB. InnoDB tiene soporte completo para transacciones ACID.

Las transacciones se pueden controlar usando SQL o llamadas a la API. Se recomienda usar llamadas a la API para habilitar y deshabilitar el modo de autoconsignación (auto commit) y para consignar y reiniciar transacciones.

Ejemplo #1 Establecer el modo de autoconsignación con SQL y a través de la API

<?php
$mysqli = new mysqli("ejemplo.com", "usuario", "contraseña", "basedatos");
if ($mysqli->connect_errno) {
    echo "Falló la conexión a MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

/* Recomendado: usar la API para cotrolar las configuraciones transaccionales */
$mysqli->autocommit(false);

/* No serán monitorizadas y reconocidas por la aplicación y el complemento de balance de carga */
if (!$mysqli->query('SET AUTOCOMMIT = 0')) {
    echo "Falló la consulta: (" . $mysqli->errno . ") " . $mysqli->error;
}
?>

Los paquetes de características opcionales, como los comlementos de replicación y el de balance de carga, pueden fácilmente monitorizar llamadas a la API. El complemento de replicación transacciones conscientes del balance de carga, si las transacciones están controladas con llamadas a la API. Las transacciones conscientes del balance de carga no están disponibles si las sentencias SQL se usan para establecer el modo de autoconsignación, consignación y reinicio de una transacción.

Ejemplo #2 Consignación y reinicio

<?php
$mysqli = new mysqli("ejemplo.com", "usuario", "contraseña", "basedatos");
$mysqli->autocommit(false);

$mysqli->query("INSERT INTO test(id) VALUES (1)");
$mysqli->rollback();

$mysqli->query("INSERT INTO test(id) VALUES (2)");
$mysqli->commit();
?>

Observe que el servidor MySQL no puede reiniciar todas las sentencias. Algunoas sentencias causan una consignación implícia.

Véase también

  • mysqli::autocommit()
  • mysqli_result::commit()
  • mysqli_result::rollback()

Sentencias Múltiples
Metadatos
Guía rápida


Metadatos

Un conjunto de resultados de MySQL contiene metadatos. Los metadatos describen las columnas encontradas en el conjunto de resultados. Todos los metadatos enviados por MySQL son accesibles a travbés de la interfaz de mysqli. La extensión realiza cambios insignificantes o no realiza ninguno a la información que recibe. La diferencias entre versiones del servidor MySQL no están alineadas.

A los metadatos se puede acceder a través de la interfaz mysqli_result.

Ejemplo #1 Acceder a los metadatos de un conjunto de resultados

<?php
$mysqli = new mysqli("ejemplo.com", "usuario", "contraseña", "basedatos");
if ($mysqli->connect_errno) {
    echo "Falló la conexión a MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

$resultado = $mysqli->query("SELECT 1 AS _one, 'Hello' AS _two FROM DUAL");
var_dump($resultado->fetch_fields());
?>

El resultado del ejemplo sería:

array(2) {
  [0]=>
  object(stdClass)#3 (13) {
    ["name"]=>
    string(4) "_one"
    ["orgname"]=>
    string(0) ""
    ["table"]=>
    string(0) ""
    ["orgtable"]=>
    string(0) ""
    ["def"]=>
    string(0) ""
    ["db"]=>
    string(0) ""
    ["catalog"]=>
    string(3) "def"
    ["max_length"]=>
    int(1)
    ["length"]=>
    int(1)
    ["charsetnr"]=>
    int(63)
    ["flags"]=>
    int(32897)
    ["type"]=>
    int(8)
    ["decimals"]=>
    int(0)
  }
  [1]=>
  object(stdClass)#4 (13) {
    ["name"]=>
    string(4) "_two"
    ["orgname"]=>
    string(0) ""
    ["table"]=>
    string(0) ""
    ["orgtable"]=>
    string(0) ""
    ["def"]=>
    string(0) ""
    ["db"]=>
    string(0) ""
    ["catalog"]=>
    string(3) "def"
    ["max_length"]=>
    int(5)
    ["length"]=>
    int(5)
    ["charsetnr"]=>
    int(8)
    ["flags"]=>
    int(1)
    ["type"]=>
    int(253)
    ["decimals"]=>
    int(31)
  }
}

Sentencias preparadas

A los metadatos de un conjunto de resultados creado usando sentencias preparadas se accede de la misma manera. Un gestor de mysqli_result apropiado es devuelto por mysqli_stmt_result_metadata().

Ejemplo #2 Metadatos de sentencias preparadas

<?php
$sentencia = $mysqli->prepare("SELECT 1 AS _one, 'Hello' AS _two FROM DUAL");
$sentencia->execute();
$resultado = $sentencia->result_metadata();
var_dump($resultado->fetch_fields());
?>

Véase también

  • mysqli::query()
  • mysqli_result::fetch_fields()

Soporte de la API para transacciones
Instalación/Configuración
Guía rápida


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Metadatos
Requerimientos
Mysqli


Requerimientos

Para contar con éstas funciones, debe compilar PHP con soporte de la extensión mysqli.

Nota:

La extensión mysqli está diseñado para funcionar con la versión de MySQL 4.1.13 o posterior, o 5.0.7 o posterior. Para versiones previas, por favor consulte la documentación de la extensión MySQL.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

La extensión mysqli se introdujo en PHP versión 5.0.0. El Driver Nativo MySQL se introdujo en PHP version 5.3.0.

Instalación en Linux

Las distribuciones más comunes de Unix incluyen versiones binarias de PHP que pueden ser instalados. Aunque estas versiones binarias son típicamente construidos con soporte para extensiones de MySQL habilitada, las bibliotecas de extensión puede ser necesario instalarlo utilizando un paquete adicional. Compruebe el gestor de paquetes que viene con su distribución elegida para disponibilidad.

Si su distribución de Unix no viene con un paquete binario de PHP con la extensión mysqli disponible, tendrá que compilar PHP desde código fuente. La compilación de PHP desde el código fuente le permite especificar las extensiones de MySQL que desea utilizar, así como la elección de la biblioteca cliente para cada extensión.

La opción recomendada es el Controlador Nativio de MySQL, ya que sus resultados mejoran el rendimiento y dan acceso a características no disponibles al usar la Biblioteca Cliente de MySQL. Consúlte ¿Qué es el Controlador Nativo de MySQL para PHP? para una visión general breve de las ventajas del Controlador Nativo de MySQL.

/path/to/mysql_config representa la ubicación del programa mysql_config que viene con el Servidor MySQL.

Matriz de soporte en tiempo de compilación de mysqli
PHP Versión | Por defecto | Opciones de configuración: mysqlnd | Opciones de configuración: libmysqlclient | Historial de cambios
5.0.x, 5.1.x, 5.2.x | libmysqlclient | Not Available | --with-mysqli=/path/to/mysql_config |
5.3.x | libmysqlclient | --with-mysqli=mysqlnd | --with-mysqli=/path/to/mysql_config | mysqlnd ahora es soportada
5.4.x | mysqlnd | --with-mysqli | --with-mysqli=/path/to/mysql_config | mysqlnd ahora es el predeterminado

Observe que es posible mezclar libremente extensiones de MySQL y bibliotecas cliente. Por ejemplo, es posible habilitar la extensión de MySQL para usar la Biblioteca Cliente de MySQL (libmysqlclient), mientras se configura la extensión mysqli para usar el Controlador Nativo de MySQL. No obstante, son posibles todas las permutaciones de extensiones y bibliotecas cliente.

El siguiente ejemplo compila la extensión MySQL para usar la Biblioteca Cliente de MySQL, y las extensiones mysqli y PDO MYSQL para usar el Controlador Nativo de MySQL:

./configure --with-mysql=/usr/bin/mysql_config  \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd
[other options]

Instalación en sistemas Windows

En Windows, PHP es más comúnmente instalado usando el instalador binario.

PHP 5.0, 5.1, 5.2

Una vez que se ha instalado PHP, se debe ajustar la configuración para habilitar mysqli y especificar la biblioteca cliente que se va a utilizar.

La extensión mysqli no está habilitada por defecto, por lo que el archivo DLL php_mysqli.dll debe habilitarse al interior de php.ini. Para hacer esto usted necesita encontrar el archivo php.ini (normalmente se encuentra en c:\php), y asegúrese de eliminar el comentario (punto y coma) desde el inicio de la línea de extension=php_mysqli.dll, en la sección marcada como [PHP_MYSQLI].

Además, si desea utilizar la biblioteca de cliente MySQL con mysqli, debe asegurarse de que PHP puede acceder al archivo de la biblioteca de cliente. La biblioteca de cliente MySQL se incluye como un archivo de nombre libmysql.dll en la distribución de PHP en Windows. Este archivo debe estar disponible en la variable de entorno de sistema de Windows PATH, de modo que puede ser cargado con éxito. Véase la FAQ titulada "Cómo agrego mi directorio PHP a la variable PATH en Windows" para obtener información sobre cómo hacer esto. Copiar libmysql.dll al directorio de sistema de Windows (normalmente C:\Windows\System) funciona, pues el directorio de sistema esta por defecto en el PATH del sistema. Sin embargo, esta práctica está totalmente desaconsejada.

Al igual que con cualquier otra extensión de PHP (como php_mysqli.dll), la directiva de PHP extension_dir se debe de establecer en el directorio donde están ubicadas las extensiones de PHP. Consulte tambien el Manual de instalación de Windows. Un ejemplo de valor de extension_dir para PHP 5 es c:\php\ext.

Nota:

Si al iniciar el servidor web un error similar al siguiente ocurre: "Unable to load dynamic library './php_mysqli.dll'", esto es porque php_mysqli.dll y/o libmysql.dll no pudo ser encontrado por el sistema.

PHP 5.3.0+

En Windows, con versiones de PHP 5.3 o superiores, la extensión mysqli viene habilitada y utiliza por omisión el Driver Nativo MySQL. Esto significa que no debe preocuparse por configurar el acceso a libmysql.dll.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de MySQLi
Nombre | Por defecto | Cambiable | Historial de cambios
mysqli.allow_local_infile | "1" | PHP_INI_SYSTEM | Disponible desde PHP 5.2.4.
mysqli.allow_persistent | "1" | PHP_INI_SYSTEM | Disponible desde PHP 5.3.0.
mysqli.max_persistent | "-1" | PHP_INI_SYSTEM | Disponible desde PHP 5.3.0.
mysqli.max_links | "-1" | PHP_INI_SYSTEM | Disponible desde PHP 5.0.0.
mysqli.default_port | "3306" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
mysqli.default_socket | NULL | PHP_INI_ALL | Disponible desde PHP 5.0.0.
mysqli.default_host | NULL | PHP_INI_ALL | Disponible desde PHP 5.0.0.
mysqli.default_user | NULL | PHP_INI_ALL | Disponible desde PHP 5.0.0.
mysqli.default_pw | NULL | PHP_INI_ALL | Disponible desde PHP 5.0.0.
mysqli.reconnect | "0" | PHP_INI_SYSTEM | Disponible desde PHP 4.3.5.
mysqli.cache_size | "2000" | PHP_INI_SYSTEM | Disponible desde PHP 5.3.0.

Para más detalles y definiciones de las constantes de PHP_INI_* , véase el capítulo sobre los cambios de configuración.

He aquí una breve explicación de las directivas de configuración.

mysqli.allow_local_infile integer

Permite el acceso, desde la perspectiva de PHP, de los archivos locales con sentencias LOAD DATA

mysqli.allow_persistent integer

Habilitar la capacidad de crear conexiones persistentes usando mysqli_connect().

mysqli.max_persistent integer

Máximo de conexiones persistentes que se pueden hacer. Se establece en 0 para ilimitado.

mysqli.max_links integer

Número máximo de conexiones con MySQL por proceso.

mysqli.default_port integer

El número de puerto TCP predeterminado a utilizar cuando se conecta a el servidor de base de datos si no se especifica ningún otro puerto. Si no se especifica el valor predeterminado, el puerto se obtendrá de MYSQL_TCP_PORT variable de entorno, la entrada mysql-tcp en /etc/services o en la constante en tiempo de compilación MYSQL_PORT constante, en ese orden. Win32 sólo utilizará la constante MYSQL_PORT.

mysqli.default_socket string

El nombre de socket predeterminado a usar cuando se conecta a un servidor de bases de datos local si no se especifica ningún otro nombre de socket.

mysqli.default_host string

Servidor host predeterminado a usar cuando se conecta al servidor de base de datos si no se indica otro. No se aplica en safe mode.

mysqli.default_user string

El nombre de usuario predeterminado a usar cuando se conecta a la base de datos servidor si no se indica otra. No se aplica en safe mode.

mysqli.default_pw string

La contraseña predeterminada a usar cuando se conecta a la base de datos servidor si no se indica otra. No se aplica en safe mode.

mysqli.reconnect integer

Vuelve a conectar automáticamente si se pierde la conexión.

mysqli.cache_size integer

Disponible sólo con mysqlnd.

El usuario no puede modificar MYSQL_OPT_READ_TIMEOUT mediante una llamada a la API o con ajustes de configuración en tiempo de ejecución. Tenga en cuenta que si fuera posible habría diferencias entre cómo interpretarían libmysqlclient y los flujos el valor de MYSQL_OPT_READ_TIMEOUT.

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Configuración en tiempo de ejecución
La extensión mysqli y conexiones persistentes
Instalación/Configuración


La extensión mysqli y conexiones persistentes

EL soporte para conexiones persistentes fue introducido en PHP 5.3 para el extensión mysqli. El soporte ya estaba presente en PDO MYSQL y ext/mysql. La idea detrás de las conexiones persistentes es que una conexión entre un proceso cliente y una base de datos puede ser reutilizados por un proceso cliente, en lugar de ser creado y destruido varias veces. Esto reduce la sobrecarga de la creación de conexiones nuevas cada vez que es requerido, como las conexiones no utilizadas se almacenan en caché y están lista para ser reutilizadas.

A diferencia de la extensión mysql, mysqli no proporciona una función separada para la apertura de conexiones persistentes. Para abrir una conexión persistente debe de colocar p: al nombre del host cuando se conecta.

El problema con las conexiones persistentes es que se pueden dejar en estados impredecibles por los clientes. Por ejemplo, un bloqueo de tabla puede ser activado antes de que un cliente termina de forma inesperada. Un nuevo proceso cliente reusando esta conexión persistente tendrá la conexión "tal cual". Toda la limpieza tendría que ser realizada por el nuevo proceso cliente antes de que pudiera hacer buen uso de la conexión persistente, aumentando la carga sobre el programador.

La conexión persistente de la extensión mysqli no obstante incorpora manejo para limpieza de código. La limpieza llevada a cabo por mysqli incluye:

  • Rollback de transacciones activas

  • Cierre y borrado de tablas temporales

  • Desbloque de tablas

  • Reestablece variables de sesión

  • Cerrar consultas preparadas (siempre pasa con PHP)

  • Cerra controlador

  • Quitar bloqueos adquiridos con GET_LOCK()

Esto asegura que las conexiones persistentes se encuentran en un estado limpio para el retorno del conjunto de conexiones, antes de que el proceso cliente los use.

La extensión mysqli hace la limpieza automáticamente llamando a la función mysql_change_user() de C-API.

La característica de limpieza automática tiene sus ventajas y desventajas aunque. La ventaja es que el programador no necesita preocuparse por estar añadiendo el código de limpieza, ya que es llamdo automáticamente. Asi mismo, la desventaja es que el código podría volverse potencialmente un poco más lento, pues el código para realizar la limpieza necesita ejecutarse cada vez que una conexión es devuelta por el conjunto de conexiones.

Es posible desactivar el código de limpieza automática, mediante la compilación de PHP si se define MYSQLI_NO_CHANGE_USER_ON_PCONNECT.

Nota:

La extensión mysqli soporta conexiones persistentes utilizando ya sea el driver nativo de MySQL o la libreria cliente de MySQL.

Tipos de recursos
Constantes predefinidas
Mysqli


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

MYSQLI_READ_DEFAULT_GROUP

Lee las opciones del grupo mencionado de my.cnf o del archivo especificado con MYSQLI_READ_DEFAULT_FILE

MYSQLI_READ_DEFAULT_FILE

Lee las opciones de la opcion llamada archivo en lugar de my.cnf

MYSQLI_OPT_CONNECT_TIMEOUT

Tiempo de espera de conexión en segundos

MYSQLI_OPT_LOCAL_INFILE

Permite comando LOAD LOCAL INFILE

MYSQLI_INIT_COMMAND

Comando a ejecutar cuando se conecta al servidor MySQL. Puede ser re-ejecutado automáticamente cuando se reconecta.

MYSQLI_CLIENT_SSL

Usar SSL (protocolo de cifrado). Esta opción no debe ser fijado por los programas de aplicación; se establece internamente en la biblioteca cliente de MySQL

MYSQLI_CLIENT_COMPRESS

Usar protocolo de compresión

MYSQLI_CLIENT_INTERACTIVE

Permite interactive_timeout segundos (en lugar de wait_timeout segundos) de inactividad antes de cerrar la conexión. La variable sesión del cliente wait_timeout se establecerá en el valor de la variable de sesión interactive_timeout.

MYSQLI_CLIENT_IGNORE_SPACE

Permite espacios después de nombres de función. Hace que todos los nombres de las funciones sean palabras reservadas.

MYSQLI_CLIENT_NO_SCHEMA

No permite la sistaxisdb_name.tbl_name.col_name.

MYSQLI_CLIENT_MULTI_QUERIES

Permite consultas con multiples punto y coma en una sola llamada a mysqli_query().

MYSQLI_STORE_RESULT

Utilizar conjuntos de resultados almacenado temporalmente

MYSQLI_USE_RESULT

Utilizar conjuntos de resultados sin almacenado temporal

MYSQLI_ASSOC

Las columnas son devueltas en el array teniendo el nombre del campo como índice del array.

MYSQLI_NUM

Las columnas son devueltas en el array teniendo un índice enumerado.

MYSQLI_BOTH

Las columnas son devueltas en el array teniendo tanto un índice numérico y el nombre del campo como el índice asociativo.

MYSQLI_NOT_NULL_FLAG

Indica que un campo ha sido definido como NOT NULL

MYSQLI_PRI_KEY_FLAG

El campo es parte de un índice primario.

MYSQLI_UNIQUE_KEY_FLAG

El campo es parte de un índice único.

MYSQLI_MULTIPLE_KEY_FLAG

El campo es parte de un índice.

MYSQLI_BLOB_FLAG

El campo es definido como BLOB

MYSQLI_UNSIGNED_FLAG

El campo es definido como UNSIGNED

MYSQLI_ZEROFILL_FLAG

El campo es definido como ZEROFILL

MYSQLI_AUTO_INCREMENT_FLAG

El campo es definido como AUTO_INCREMENT

MYSQLI_TIMESTAMP_FLAG

El campo es definido como TIMESTAMP

MYSQLI_SET_FLAG

El campo es definido como SET

MYSQLI_NUM_FLAG

El campo es definido como NUMERIC

MYSQLI_PART_KEY_FLAG

El campo es parte de un multi-índice

MYSQLI_GROUP_FLAG

El campo es parte GROUP BY

MYSQLI_TYPE_DECIMAL

El campo es definido como DECIMAL

MYSQLI_TYPE_NEWDECIMAL

La precisión matemática del campo DECIMAL o NUMERIC (MySQL 5.0.3 y posteriores)

MYSQLI_TYPE_BIT

El campo es definido como BIT (MySQL 5.0.3 y posteriores)

MYSQLI_TYPE_TINY

El campo es definido como TINYINT

MYSQLI_TYPE_SHORT

El campo es definido como SMALLINT

MYSQLI_TYPE_LONG

El campo es definido como INT

MYSQLI_TYPE_FLOAT

El campo es definido como FLOAT

MYSQLI_TYPE_DOUBLE

El campo es definido como DOUBLE

MYSQLI_TYPE_NULL

El campo es definido como DEFAULT NULL

MYSQLI_TYPE_TIMESTAMP

El campo es definido como TIMESTAMP

MYSQLI_TYPE_LONGLONG

El campo es definido como BIGINT

MYSQLI_TYPE_INT24

El campo es definido como MEDIUMINT

MYSQLI_TYPE_DATE

El campo es definido como DATE

MYSQLI_TYPE_TIME

El campo es definido como TIME

MYSQLI_TYPE_DATETIME

El campo es definido como DATETIME

MYSQLI_TYPE_YEAR

El campo es definido como YEAR

MYSQLI_TYPE_NEWDATE

El campo es definido como DATE

MYSQLI_TYPE_INTERVAL

El campo es definido como INTERVAL

MYSQLI_TYPE_ENUM

El campo es definido como ENUM

MYSQLI_TYPE_SET

El campo es definido como SET

MYSQLI_TYPE_TINY_BLOB

El campo es definido como TINYBLOB

MYSQLI_TYPE_MEDIUM_BLOB

El campo es definido como MEDIUMBLOB

MYSQLI_TYPE_LONG_BLOB

El campo es definido como LONGBLOB

MYSQLI_TYPE_BLOB

El campo es definido como BLOB

MYSQLI_TYPE_VAR_STRING

El campo es definido como VARCHAR

MYSQLI_TYPE_STRING

El campo es definido como CHAR o BINARY

MYSQLI_TYPE_CHAR

El campo es definido como TINYINT. Para CHAR, ver MYSQLI_TYPE_STRING

MYSQLI_TYPE_GEOMETRY

El campo es definido como GEOMETRY

MYSQLI_NEED_DATA

Más datos disponibles para enlazar la variable

MYSQLI_NO_DATA

No más datos disponibles para enlazar la variable

MYSQLI_DATA_TRUNCATED

Ocurrio truncado de datos. Disponible desde PHP 5.1.0 y MySQL 5.0.5.

MYSQLI_ENUM_FLAG

El campo es definido como ENUM. Disponible desde PHP 5.3.0.

MYSQLI_BINARY_FLAG

El campo es definido como BINARY. Disponible desde PHP 5.3.0.

MYSQLI_CURSOR_TYPE_FOR_UPDATE

MYSQLI_CURSOR_TYPE_NO_CURSOR

MYSQLI_CURSOR_TYPE_READ_ONLY

MYSQLI_CURSOR_TYPE_SCROLLABLE

MYSQLI_STMT_ATTR_CURSOR_TYPE

MYSQLI_STMT_ATTR_PREFETCH_ROWS

MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH

MYSQLI_SET_CHARSET_NAME

MYSQLI_REPORT_INDEX

Informar de si no se utilizó un índice o si se utilizó uno erróneo en una conuslta.

MYSQLI_REPORT_ERROR

Informar de los errores de las llamadas a las funciones de mysqli.

MYSQLI_REPORT_STRICT

Lanza una excepción de tipo mysqli_sql_exception para errores en vez de para advertencias.

MYSQLI_REPORT_ALL

Activar todas las opciones (informar de todo).

MYSQLI_REPORT_OFF

Desactivar la información.

MYSQLI_DEBUG_TRACE_ENABLED

Se establece a 1 si la funcionalidad mysqli_debug() está activada.

MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED

MYSQLI_SERVER_QUERY_NO_INDEX_USED

MYSQLI_REFRESH_GRANT

Refresca las tablas grant.

MYSQLI_REFRESH_LOG

Vuelca los logs, como al ejecutar la sentencia SQL FLUSH LOGS.

MYSQLI_REFRESH_TABLES

Vuelca la cache de tablas, como al ejecutar la sentencia SQL FLUSH TABLES.

MYSQLI_REFRESH_HOSTS

Vuelca la cache de hosts, como al ejecutar la sentencia SQL FLUSH HOSTS.

MYSQLI_REFRESH_STATUS

Reinicia las variables de estado, como al ejecutar la sentencia SQL FLUSH STATUS.

MYSQLI_REFRESH_THREADS

Vuelca la cache de hilos.

MYSQLI_REFRESH_SLAVE

En un servidor esclavo de réplica: reinicia la información maestra del servidor, y reanuda el servidor. Como al ejecutar la sentencia SQL RESET SLAVE.

MYSQLI_REFRESH_MASTER

En un servidor esclavo de réplica: elimna los ficheros log binarios listados en el índice log binario, y trunca el fichero índice. Como al ejecutar la sentencia SQL RESET MASTER.

MYSQLI_TRANS_COR_AND_CHAIN

Añade "AND CHAIN" a mysqli_commit() o mysqli_rollback().

MYSQLI_TRANS_COR_AND_NO_CHAIN

Añade "AND NO CHAIN" a mysqli_commit() o mysqli_rollback().

MYSQLI_TRANS_COR_RELEASE

Añade "RELEASE" a mysqli_commit() o mysqli_rollback().

MYSQLI_TRANS_COR_NO_RELEASE

Añade "NO RELEASE" a mysqli_commit() o mysqli_rollback().

La extensión mysqli y conexiones persistentes
Notas
Mysqli


Notas

Algunas notas sobre la implementación:

  1. El soporte para MYSQL_TYPE_GEOMETRY fue agregado a la extensión MySQLi en PHP 5.3.

  2. Nótese que existen diferentes implementaciones internas en libmysqlclient y mysqlnd para manejar columnas del tipo MYSQL_TYPE_GEOMETRY. En términos generales, mysqlnd asignará significativamente menos memoria. Por ejemplo, si hay una columna POINT en un set de resultado, libmysqlclient puede pre-asignar hasta 4GB de RAM aunque se necesitan menos de 50 bytes para mantener una comuna POINT en memoria. La asignación de memoria es mucho menor, menos de 50 bytes, si se utiliza mysqlnd.

Constantes predefinidas
Resumen de las funciones de la extensión MySQLi
Mysqli


Resumen de las funciones de la extensión MySQLi

Resumen de los métodos de mysqli
Clase mysqli
Interfaz POO | Interfaz de procedimiento | Alias (no usar) | Descripción
Propiedades
$mysqli::affected_rows | mysqli_affected_rows() | N/A | Obtiene el número de filas afectadas en una operación previa de MySQL
$mysqli::client_info | mysqli_get_client_info() | N/A | Devuelve la versión del cliente de MySQL como una cadena
$mysqli::client_version | mysqli_get_client_version() | N/A | Devuelve la versión del cliente de MySQL como un entero
$mysqli::connect_errno | mysqli_connect_errno() | N/A | Devuelve el código de error de la última llamada de conexión
$mysqli::connect_error | mysqli_connect_error() | N/A | Devuelve una cadena descriptiva del último error de conexión
$mysqli::errno | mysqli_errno() | N/A | Devuelve el código de error para la función invocada más reciente
$mysqli::error | mysqli_error() | N/A | Devulve una cadena descriptiva del último error
$mysqli::field_count | mysqli_field_count() | N/A | Devuelve el número de columnas de la consulta más reciente
$mysqli::host_info | mysqli_get_host_info() | N/A | Devuelve una cadena que representa el tipo de conexión utilizado
$mysqli::protocol_version | mysqli_get_proto_info() | N/A | Devuelve la versión del protocolo de MySQL usada
$mysqli::server_info | mysqli_get_server_info() | N/A | Devuelve la versión del servidor MySQL
$mysqli::server_version | mysqli_get_server_version() | N/A | Devuelve la versión del servidor MySQL como un entero
$mysqli::info | mysqli_info() | N/A | Recupera información sobre la última consulta ejecutada
$mysqli::insert_id | mysqli_insert_id() | N/A | Devuelve el identificador (ID) autogenerado usado en la última consulta
$mysqli::sqlstate | mysqli_sqlstate() | N/A | Devuelve el error SQLSTATE de la operación previa de MySQL
$mysqli::warning_count | mysqli_warning_count() | N/A | Devuelve el número de advertencias de la última consulta para el enlace dado
Methods
mysqli::autocommit() | mysqli_autocommit() | N/A | Activa o desactiva la autoconsigna de modificaciones de la base de datos
mysqli::change_user() | mysqli_change_user() | N/A | Cambia el usuario de la conexión de base de datos especificada
mysqli::character_set_name(), mysqli::client_encoding | mysqli_character_set_name() | mysqli_client_encoding() | Devuelve el juego de caracteres predeterminado para la conexión de base de datos
mysqli::close() | mysqli_close() | N/A | Cierra una conexión de base de datos previamente abierta
mysqli::commit() | mysqli_commit() | N/A | Ejecuta la transacción actual
mysqli::__construct() | mysqli_connect() | N/A | Abrir una nueva conexión al servidor MySQL [Nota: método estático (es decir, de clase)]
mysqli::debug() | mysqli_debug() | N/A | Realiza operaciones de depuración
mysqli::dump_debug_info() | mysqli_dump_debug_info() | N/A | Volcado de la información de depuración en el registro
mysqli::get_charset() | mysqli_get_charset() | N/A | Devuelve un conjunto de caracteres objeto
mysqli::get_connection_stats() | mysqli_get_connection_stats() | N/A | Devuelve las estadísticas de conexión de cliente. Disponible sólo con mysqlnd.
mysqli::get_client_info() | mysqli_get_client_info() | N/A | Devuelve la versión de cliente de MySQL como una cadena
mysqli::get_client_stats() | mysqli_get_client_stats() | N/A | Devuelve las estadísticas del cliente por proceso. Disponible sólo con mysqlnd.
mysqli::get_cache_stats() | mysqli_get_cache_stats() | N/A | Devuelve las estadísticas de clientes Zval caché. Disponible sólo con mysqlnd.
mysqli::get_server_info() | mysqli_get_server_info() | N/A | NO DOCUMENTADA
mysqli::get_warnings() | mysqli_get_warnings() | N/A | NO DOCUMENTADA
mysqli::init() | mysqli_init() | N/A | Inicializa MySQLi y devuelve un recurso para su uso con mysqli_real_connect. [No invocado dentro de un objeto, ya que devuelve un objeto $ mysqli.]
mysqli::kill() | mysqli_kill() | N/A | Pide al servidor matar un hilo de MySQL
mysqli::more_results() | mysqli_more_results() | N/A | Compruebe si hay más resultados para una consulta de múltiple
mysqli::multi_query() | mysqli_multi_query() | N/A | Ejecuta una consulta en la base de datos
mysqli::next_result() | mysqli_next_result() | N/A | Prepara próximo resultado de multi_query
mysqli::options() | mysqli_options() | mysqli_set_opt() | Establecer opciones
mysqli::ping() | mysqli_ping() | N/A | Hace ping una conexión de servidor, o intenta volver a conectar si la conexión se ha caído
mysqli::prepare() | mysqli_prepare() | N/A | Prepara una sentencia SQL para su ejecución
mysqli::query() | mysqli_query() | N/A | Ejecuta una consulta en la base de datos
mysqli::real_connect() | mysqli_real_connect() | N/A | Abre una conexión a un servidor MySQL
mysqli::real_escape_string(), mysqli::escape_string() | mysqli_real_escape_string() | mysqli_escape_string() | Escapa caracteres especiales de una cadena en una sentencia SQL, teniendo en cuenta el conjunto de caracteres actual de la conexión
mysqli::real_query() | mysqli_real_query() | N/A | Ejecutar una consulta SQL
mysqli::refresh() | mysqli_refresh() | N/A | Vuelca tablas o caches, o reinicia la información del servidor réplica
mysqli::rollback() | mysqli_rollback() | N/A | Deshace la transacción actual
mysqli::select_db() | mysqli_select_db() | N/A | Selecciona la base de datos predeterminada para las consultas de la base de datos
mysqli::set_charset() | mysqli_set_charset() | N/A | Establece el conjunto de carácteres predeterminado del cliente
mysqli::set_local_infile_default() | mysqli_set_local_infile_default() | N/A | Quita el controlador de usuario definidos para la carga de comandos infile locales
mysqli::set_local_infile_handler() | mysqli_set_local_infile_handler() | N/A | establece la funcion callback para el comando LOAD DATA LOCAL INFILE
mysqli::ssl_set() | mysqli_ssl_set() | N/A | Utilizada para establecer conexiones seguras usando SSL
mysqli::stat() | mysqli_stat() | N/A | Obtiene el estado actual del sistema
mysqli::stmt_init() | mysqli_stmt_init() | N/A | Inicializa una sentencia y devuelve un objeto para su uso con mysqli_stmt_prepare
mysqli::store_result() | mysqli_store_result() | N/A | Transfier un conjunto de resultados de la última consulta
mysqli::thread_id() | mysqli_thread_id() | N/A | Retorna el ID del hilo para la conexión actual
mysqli::thread_safe() | mysqli_thread_safe() | N/A | Retorna si la seguridad del hilo enlace se da o no
mysqli::use_result() | mysqli_use_result() | N/A | Inicia un conjunto de resultados de recuperación
Resumen de los métodos de mysqli_stmt
MySQL_STMT
Interfaz POO | Interfaz de procedimiento | Alias (no usar) | Descripción
Propiedades
$mysqli_stmt::affected_rows | mysqli_stmt_affected_rows() | N/A | Devuelve el número total de registros actualizados, eliminados o insertados por la última sentencia ejecutada
$mysqli_stmt::errno | mysqli_stmt_errno() | N/A | Devuelve el código de error para la sentencia recientemente llamada
$mysqli_stmt::error | mysqli_stmt_error() | N/A | Devuelve una cadena de descripción de la última sentencia de error
$mysqli_stmt::field_count | mysqli_stmt_field_count() | N/A | Devuelve el número de campo en la sentencia dada - no ducumentada
$mysqli_stmt::insert_id | mysqli_stmt_insert_id() | N/A | Obtener el Identificador (ID) generado en la operación de INSERT anterior
$mysqli_stmt::num_rows | mysqli_stmt_num_rows() | N/A | Devuelve el número de filas en las sentencias del conjunto de resultados
$mysqli_stmt::param_count | mysqli_stmt_param_count() | mysqli_param_count() | Devuelve el número de parámetros para la sentencia dada
$mysqli_stmt::sqlstate | mysqli_stmt_sqlstate() | N/A | Devuelve el error SQLSTATE de la operación de la declaración anterior
Métodos
mysqli_stmt::attr_get() | mysqli_stmt_attr_get() | N/A | Usado para obtener el valor actual de un atributo de una setencia
mysqli_stmt::attr_set() | mysqli_stmt_attr_set() | N/A | Usado para modificar el comportamiento de una sentencia preparada
mysqli_stmt::bind_param() | mysqli_stmt_bind_param() | mysqli_bind_param() | Agrega variables a una sentencia preparada como parámetros
mysqli_stmt::bind_result() | mysqli_stmt_bind_result() | mysqli_bind_result() | Agrega variables a una sentencia prepearada para el almacenamiento de resultado
mysqli_stmt::close() | mysqli_stmt_close() | N/A | Cierra una sentencia preparada
mysqli_stmt::data_seek() | mysqli_stmt_data_seek() | N/A | Busca a una fila arbitraria en el conjunto de resultados de una sentencia
mysqli_stmt::execute() | mysqli_stmt_execute() | mysqli_execute() | Ejecuta una consulta preparada
mysqli_stmt::fetch() | mysqli_stmt_fetch() | mysqli_fetch() | Recuperar los resultados de una sentencia preparada en las variables ligadas
mysqli_stmt::free_result() | mysqli_stmt_free_result() | N/A | Libera la memoria almacenada resultado del manejar de sentencia
mysqli_stmt::get_result() | mysqli_stmt_get_result() | N/A | Obtiene un conjunto de resultados de una sentencia preparada Disponible sólo con mysqlnd.
mysqli_stmt::get_warnings() | mysqli_stmt_get_warnings() | N/A | NO DOCUMENTADA
$mysqli_stmt::more_results() | mysqli_stmt_more_results() | N/A | NO DOCUMENTADA Disponible sólo con mysqlnd.
$mysqli_stmt::next_result() | mysqli_stmt_next_result() | N/A | NO DOCUMENTADA Disponible sólo con mysqlnd.
mysqli_stmt::num_rows() | mysqli_stmt_num_rows() | N/A | Véase también la propiedad $mysqli_stmt::num_rows
mysqli_stmt::prepare() | mysqli_stmt_prepare() | N/A | Preparar una sentencia SQL para su ejecución
mysqli_stmt::reset() | mysqli_stmt_reset() | N/A | Restablece una sentencia preparada
mysqli_stmt::result_metadata() | mysqli_stmt_result_metadata() | mysqli_get_metadata() | Devuelve un conjunto de resultados de metadatos de una setencia preparada
mysqli_stmt::send_long_data() | mysqli_stmt_send_long_data() | mysqli_send_long_data() | Envia los datos en bloques
mysqli_stmt::store_result() | mysqli_stmt_store_result() | N/A | Transfiere un conjunto de resultados de una sentencia preparada
Resumen de los métodos de mysqli_result
mysqli_result
Interfaz POO | Interfaz de procedimiento | Alias (No usar) | Descripcíon
Propiedades
$mysqli_result::current_field | mysqli_field_tell() | N/A | Obtener el campo de desplazamiento actual de un puntero de resultado
$mysqli_result::field_count | mysqli_num_fields() | N/A | Obtiene el número de campos de un resultado
$mysqli_result::lengths | mysqli_fetch_lengths() | N/A | Devuelve la longitud de las columnas de la fila actual en el conjunto de resultados
$mysqli_result::num_rows | mysqli_num_rows() | N/A | Obtiene el número de filas de un resultado
Métodos
mysqli_result::data_seek() | mysqli_data_seek() | N/A | Ajusta el puntero del resultado a una fila arbitraria en el resultado
mysqli_result::fetch_all() | mysqli_fetch_all() | N/A | Obtiene todas las filas de resultados y devuelve el resultado como un array asociativo, una array numérico, o ambos. Disponible sólo con mysqlnd.
mysqli_result::fetch_array() | mysqli_fetch_array() | N/A | Extrae la fila de deresultados como asociativo, un array numérico, o ambas
mysqli_result::fetch_assoc() | mysqli_fetch_assoc() | N/A | Extrae la fila de resultados como un array asociativo
mysqli_result::fetch_field_direct() | mysqli_fetch_field_direct() | N/A | Extrae metadatos para un solo campo
mysqli_result::fetch_field() | mysqli_fetch_field() | N/A | Devuelve el siguiente campo en el conjunto de resultados
mysqli_result::fetch_fields() | mysqli_fetch_fields() | N/A | Devuelve un array de objetos que representan los campos de un conjunto de resultados
mysqli_result::fetch_object() | mysqli_fetch_object() | N/A | Devuelve la fila actual del resultado en forma de un objeto
mysqli_result::fetch_row() | mysqli_fetch_row() | N/A | Obtiene una fila de resultados como un array enumerado
mysqli_result::field_seek() | mysqli_field_seek() | N/A | Establece el puntero del resultado a un determinado campo de desplazamiento
mysqli_result::free(), mysqli_result::close, mysqli_result::free_result | mysqli_free_result() | N/A | Libera la memoria asociada con un resultado
Resumen de los métodos de mysqli_driver
MySQL_Driver
Interfaz POO | Interfaz de procedimiento | Alias (no usar) | Descripción
Propiedades
N/A
Métodos
mysqli_driver::embedded_server_end() | mysqli_embedded_server_end() | N/A | NO DOCUMENTADA
mysqli_driver::embedded_server_start() | mysqli_embedded_server_start() | N/A | NO DOCUMENTADA

Nota:

Las funciones alias se proporcionan para compatibilidad con versiones anteriores solamente. No los use en nuevos proyectos.

Notas
mysqli
Mysqli


La clase mysqli

(PHP 5)

Introducción

Representa una conexión entre PHP y una base de datos MySQL.

Sinopsis de la Clase

mysqli {
/* Propiedades */
int $affected_rows;
string $client_info;
int $client_version;
string $connect_errno;
string $connect_error;
int $errno;
array $error_list;
string $error;
int $field_count;
int $client_version;
string $host_info;
string $protocol_version;
string $server_info;
int $server_version;
string $info;
mixed $insert_id;
string $sqlstate;
int $thread_id;
int $warning_count;
/* Métodos */
  __construct
  ([ string $host = ini_get("mysqli.default_host")
 [, string $username = ini_get("mysqli.default_user")
 [, string $passwd = ini_get("mysqli.default_pw")
 [, string $dbname = ""
 [, int $port = ini_get("mysqli.default_port")
 [, string $socket = ini_get("mysqli.default_socket")
]]]]]] )
bool autocommit ( bool $mode )
bool change_user ( string $user , string $password , string $database )
string character_set_name ( void )
bool close ( void )
bool commit ([ int $flags [, string $name ]] )
bool debug ( string $message )
bool dump_debug_info ( void )
object get_charset ( void )
string get_client_info ( void )
bool get_connection_stats ( void )
mysqli_warning get_warnings ( void )
mysqli init ( void )
bool kill ( int $processid )
bool more_results ( void )
bool multi_query ( string $query )
bool next_result ( void )
bool options ( int $option , mixed $value )
bool ping ( void )
public static int poll ( array &$read , array &$error , array &$reject , int $sec [, int $usec ] )
mysqli_stmt prepare ( string $query )
mixed query ( string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )
bool real_connect ([ string $host [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket [, int $flags ]]]]]]] )
string escape_string ( string $escapestr )
bool real_query ( string $query )
public mysqli_result reap_async_query ( void )
public bool refresh ( int $options )
bool rollback ([ int $flags [, string $name ]] )
int rpl_query_type ( string $query )
bool select_db ( string $dbname )
bool send_query ( string $query )
bool set_charset ( string $charset )
bool set_local_infile_handler ( mysqli $link , callable $read_func )
bool ssl_set ( string $key , string $cert , string $ca , string $capath , string $cipher )
string stat ( void )
mysqli_stmt stmt_init ( void )
mysqli_result store_result ( void )
mysqli_result use_result ( void )
}

Tabla de contenidos

  • mysqli::$affected_rows — Obtiene el número de filas afectadas en la última operación MySQL
  • mysqli::autocommit — Activa o desactiva las modificaciones de la base de datos autoconsignadas
  • mysqli::begin_transaction — Inicia una transacción
  • mysqli::change_user — Cambia el usuario de la conexión de bases de datos especificada
  • mysqli::character_set_name — Devuelve el juego de caracteres predeterminado para la conexión a la base de datos
  • mysqli::$client_info — Obtiene información de la versión cliente de MySQL
  • mysqli::$client_version — Devuelve la versión cliente de MySQL como una cadena
  • mysqli::close — Cierra una conexión a base de datos previamente abierta
  • mysqli::commit — Realiza un "commit" de la transacción actual
  • mysqli::$connect_errno — Devuelve el código de error de la última llamada
  • mysqli::$connect_error — Devuelve una cadena con la descripción del último error de conexión
  • mysqli::__construct — Abre una nueva conexión al servidor de MySQL
  • mysqli::debug — Realiza operaciones de depuración
  • mysqli::dump_debug_info — Volcado de información de depuración en el registro
  • mysqli::$errno — Devuelve el código del error de la última función llamada
  • mysqli::$error_list — Devuelve una lista de errores desde el último comando ejecutado
  • mysqli::$error — Devuelve una cadena que describe el último error
  • mysqli::$field_count — Devuelve el número de columnas para la consulta más reciente
  • mysqli::get_charset — Devuelve un objeto que contiene el conjunto de caracteres
  • mysqli::get_client_info — Obtiene información de la biblioteca cliente de MySQL
  • mysqli_get_client_stats — Devuelve estadísticas de clientes por proceso
  • mysqli_get_client_version — Devuelve la versión clientes de MySQL como valor de tipo integer
  • mysqli::get_connection_stats — Devuelve estadísticas sobre la conexión del cliente
  • mysqli::$host_info — Devuelve una cadena que representa el tipo de conexión usada
  • mysqli::$protocol_version — Devuelve la versión del protocolo MySQL utilizada
  • mysqli::$server_info — Devuelve la versión del servidor MySQL
  • mysqli::$server_version — Devuelve la versión del servidor MySQL como un valor entero
  • mysqli::get_warnings — Obtiene el resultado de SHOW WARNINGS
  • mysqli::$info — Obtiene la información de la última consulta ejecutada
  • mysqli::init — Inicializa y devuelve un recurso para utilizarlo con mysqli_real_connect()
  • mysqli::$insert_id — Devuelve el id autogenerado que se utilizó en la última consulta
  • mysqli::kill — Pide al servidor matar una hebra de MySQL
  • mysqli::more_results — Comprueba si hay más resultados de una multi consulta
  • mysqli::multi_query — Realiza una consulta a la base de datos
  • mysqli::next_result — Prepara el siguiente resultado de multi_query
  • mysqli::options — Establecer opciones
  • mysqli::ping — Comprueba la conexión al servidor, o trata de reconectar si se perdió la conexión
  • mysqli::poll — Almacena en caché conexiones
  • mysqli::prepare — Prepara una sentencia SQL para su ejecución
  • mysqli::query — Realiza una consulta a la Base de Datos
  • mysqli::real_connect — Abre una conexión a un servidor mysql
  • mysqli::real_escape_string — Escapa los caracteres especiales de una cadena para usarla en una sentencia SQL, tomando en cuenta el conjunto de caracteres actual de la conexión
  • mysqli::real_query — Ejecuta una consulta SQL
  • mysqli::reap_async_query — Obtiene el resultado de una consulta asincrónica
  • mysqli::refresh — Refresca
  • mysqli::release_savepoint — Revierte una transacción hasta un punto salvado previamente, con un nombre determinado
  • mysqli::rollback — Revierte la transacción actual
  • mysqli::rpl_query_type — Devuelve un tipo de consulta RPL
  • mysqli::savepoint — Define el nombre de un punto de salvaguarda de la transacción
  • mysqli::select_db — Selecciona la base de datos por defecto para realizar las consultas
  • mysqli::send_query — Enviar una consulta y devolver
  • mysqli::set_charset — Establece el conjunto de caracteres predeterminado del cliente
  • mysqli::set_local_infile_default — Desestablece el gestor definido por el usuario para un comando load local infile
  • mysqli::set_local_infile_handler — Establecer la llamada de retorno para el comando LOAD DATA LOCAL INFILE
  • mysqli::$sqlstate — Devuelve el error SQLSTATE de la operación de MySQL previa
  • mysqli::ssl_set — Usada para establece conexiones seguras usando SSL
  • mysqli::stat — Obtiene el estado actual del sistema
  • mysqli::stmt_init — Inicializa una sentencia y devuelve un objeto para usarlo con mysqli_stmt_prepare
  • mysqli::store_result — Transfiere un conjunto de resulados de la última consulta
  • mysqli::$thread_id — Deveulve el ID del hilo de la conexión actual
  • mysqli::thread_safe — Devuelve si la seguridad a nivel de hilos está dada o no
  • mysqli::use_result — Inicia la resuperación de un conjunto de resultados
  • mysqli::$warning_count — Devuelve el número de mensajes de advertencia de la última consulta para un enlace dado
Resumen de las funciones de la extensión MySQLi
mysqli::$affected_rows
Mysqli


Obtiene el número de filas afectadas en la última operación MySQL

mysqli
mysqli::autocommit
mysqli
PHP Manual

mysqli::$affected_rows

mysqli_affected_rows

(PHP 5)

mysqli::$affected_rows -- mysqli_affected_rows — Obtiene el número de filas afectadas en la última operación MySQL

Descripción

Estilo orientado a objetos

int $mysqli->affected_rows;

Estilo por procedimientos

int mysqli_affected_rows ( mysqli $link )

Devuelve el numero de filas afectadas por la última consultaINSERT, UPDATE, REPLACE or DELETE.

Para instrucciones SELECT mysqli_affected_rows() es equivalente a mysqli_num_rows().

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

Un entero mayor que cero indica el número de filas afectadas o recuperadas. El cero indica que no hay registros en una actualización con una sentencia UPDATE, que no hay filas que cumplan la cláusula WHERE de la sentencia o que ninguna consulta ha sido ejecutada todavía. -1 indica que la consulta devolvió un error.

Nota:

Si el número de filas afectadas es mayor de el máximo valor entero ( PHP_INT_MAX ), dicho número será devuelto como una cadena (string).

Ejemplos

Ejemplo #1 Ejemplo de $mysqli->affected_rows

Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Comprueba la conexión */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Inserta filas */
$mysqli->query("CREATE TABLE Language SELECT * from CountryLanguage");
printf("Affected rows (INSERT): %d\n", $mysqli->affected_rows);

$mysqli->query("ALTER TABLE Language ADD Status int default 0");

/* Actualiza filas */
$mysqli->query("UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Affected rows (UPDATE): %d\n", $mysqli->affected_rows);

/* Elimina filas */
$mysqli->query("DELETE FROM Language WHERE Percentage < 50");
printf("Affected rows (DELETE): %d\n", $mysqli->affected_rows);

/* Selecciona todas las filas */
$result = $mysqli->query("SELECT CountryCode FROM Language");
printf("Affected rows (SELECT): %d\n", $mysqli->affected_rows);

$result->close();

/* Elimina la tabla "Language" */
$mysqli->query("DROP TABLE Language");

/* Cierra la conexión */
$mysqli->close();
?>

Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

if (!$link) {
    printf("Can't connect to localhost. Error: %s\n", mysqli_connect_error());
    exit();
}

/* Inserta filas */
mysqli_query($link, "CREATE TABLE Language SELECT * from CountryLanguage");
printf("Affected rows (INSERT): %d\n", mysqli_affected_rows($link));

mysqli_query($link, "ALTER TABLE Language ADD Status int default 0");

/* Actualiza filas */
mysqli_query($link, "UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Affected rows (UPDATE): %d\n", mysqli_affected_rows($link));

/* Elimina filas */
mysqli_query($link, "DELETE FROM Language WHERE Percentage < 50");
printf("Affected rows (DELETE): %d\n", mysqli_affected_rows($link));

/* Selecciona todas las filas */
$result = mysqli_query($link, "SELECT CountryCode FROM Language");
printf("Affected rows (SELECT): %d\n", mysqli_affected_rows($link));

mysqli_free_result($result);

/* Elimina la tabla "Language" */
mysqli_query($link, "DROP TABLE Language");

/* Cierra la conexión */
mysqli_close($link);
?>

El resultado de los ejemplos serían:

Affected rows (INSERT): 984
Affected rows (UPDATE): 168
Affected rows (DELETE): 815
Affected rows (SELECT): 169

Ver también

  • mysqli_num_rows() - Obtiene el número de filas de un resultado
  • mysqli_info() - Obtiene la información de la última consulta ejecutada

mysqli
mysqli::autocommit
mysqli


Activa o desactiva las modificaciones de la base de datos autoconsignadas

mysqli::$affected_rows
mysqli::begin_transaction
mysqli
PHP Manual

mysqli::autocommit

mysqli_autocommit

(PHP 5)

mysqli::autocommit -- mysqli_autocommit — Activa o desactiva las modificaciones de la base de datos autoconsignadas

Descripción

Estilo orientado a objetos

bool mysqli::autocommit ( bool $mode )

Estilo por procedimientos

bool mysqli_autocommit ( mysqli $link , bool $mode )

Activa o desactiva el modo 'auto-commit' en consultas para la conexión a la base de datos.

Para determinar el estado actual de la autoconsigna se ha de utilzar el comando SQL SELECT @@autocommit.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

mode

Si activar o no el modo 'auto-commit'.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota:

Esta función no puede aplicarse a tipos de tablas no transaccionales (como MyISAM o ISAM).

Ejemplos

Ejemplo #1 Ejemplo de mysqli::autocommit()

Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");

if (mysqli_connect_errno()) {
    printf("Fallo la conexión: %s\n", mysqli_connect_error());
    exit();
}

/* activar la autoconsigna */
$mysqli->autocommit(TRUE);

if ($resultado = $mysqli->query("SELECT @@autocommit")) {
    $fila = $resultado->fetch_row();
    printf("El estado de la autoconsigna es %s\n", $fila[0]);
    $resultado->free();
}

/* Cerrar conexión */
$mysqli->close();
?>

Estilo por procedimientos

<?php
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");

if (!$enlace) {
    printf("Imposible conectar a localhost. Error: %s\n", mysqli_connect_error());
    exit();
}

/* activar la autoconsigna */
mysqli_autocommit($enlace, TRUE);

if ($resultado = mysqli_query($enlace, "SELECT @@autocommit")) {
    $fila = mysqli_fetch_row($resultado);
    printf("El estado de la autoconsigna es %s\n", $fila[0]);
    mysqli_free_result($resultado);
}

/* close connection */
mysqli_close($enlace);
?>

El resultado de los ejemplos serían:

El estado de la autoconsigna es 1

Ver también

  • mysqli_begin_transaction() - Inicia una transacción
  • mysqli_commit() - Realiza un "commit" de la transacción actual
  • mysqli_rollback() - Revierte la transacción actual

mysqli::$affected_rows
mysqli::begin_transaction
mysqli


Inicia una transacción

mysqli::autocommit
mysqli::change_user
mysqli
PHP Manual

mysqli::begin_transaction

mysqli_begin_transaction

(PHP 5 >= 5.5.0)

mysqli::begin_transaction -- mysqli_begin_transaction — Inicia una transacción

Descripción

Estilo orientado a objetos (method):

public bool mysqli::begin_transaction ([ int $flags [, string $name ]] )

Estilo por procedimientos:

bool mysqli_begin_transaction ( mysqli $link [, int $flags [, string $name ]] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

flags

name

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • mysqli_autocommit() - Activa o desactiva las modificaciones de la base de datos autoconsignadas
  • mysqli_commit() - Realiza un "commit" de la transacción actual
  • mysqli_rollback() - Revierte la transacción actual

mysqli::autocommit
mysqli::change_user
mysqli


Cambia el usuario de la conexión de bases de datos especificada

mysqli::begin_transaction
mysqli::character_set_name
mysqli
PHP Manual

mysqli::change_user

mysqli_change_user

(PHP 5)

mysqli::change_user -- mysqli_change_user — Cambia el usuario de la conexión de bases de datos especificada

Descripción

Estilo orientado a objetos

bool mysqli::change_user ( string $user , string $password , string $database )

Estilo por procedimientos

bool mysqli_change_user ( mysqli $link , string $user , string $password , string $database )

Cambia el usuario de la conexión de base de datos especificada y establece la base de datos actual.

Para realizar con éxito el cambio de usuarios, un username y password válidos deben ser indicados y ese usuario debe tener suficientes permisos para acceder a la base de datos deseada. Si por cualquier razón la autorización falla, se mantendrá la autenticación de usuario existente.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

user

Nombre de usuario de MySQL.

password

Contraseña de MySQL.

database

La base de datos a la que quiero cambiar.

Si se desea, se puede parar el valor NULL de modo que solo cambiará el usuario y no se seleccionará una base de datos. Para seleccionar una base de datos en este caso, utilice la función mysqli_select_db().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota:

El uso de este comando siempre causará que la conexión a la base de datos actual se comporte como una conexión completamente nueva, independientemente de si la operación se ha completado con éxito. Este reinicio incluye la realización de un "rollback" a cualquier transacción activa, cerrando todas las tablas temporales, y desbloqueando todas las tablas bloqueadas.

Ejemplos

Ejemplo #1 Ejemplo del método mysqli::change_user()

Estilo orientado a objetos

<?php

/* connect database test */
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "test");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Error de conexión: %s\n", mysqli_connect_error());
    exit();
}

/* Set Variable a */
$mysqli->query("SET @a:=1");

/* reiniciando todo, y realizando una nueva conexión a base de datos */
$mysqli->change_user("my_user", "my_password", "world");

if ($result = $mysqli->query("SELECT DATABASE()")) {
    $row = $result->fetch_row();
    printf("Base de datos predeterminada: %s\n", $row[0]);
    $result->close();
}

if ($result = $mysqli->query("SELECT @a")) {
    $row = $result->fetch_row();
    if ($row[0] === NULL) {
        printf("Value of variable a is NULL\n");
    }
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Estilo por procedimientos

<?php
/* connect database test */
$link = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "test");

/* check connection */
if (!$link) {
    printf("Error de conexión: %s\n", mysqli_connect_error());
    exit();
}

/* Set Variable a */
mysqli_query($link, "SET @a:=1");

/* reinciando todo y realizando una nueva conexión a base de datos. */
mysqli_change_user($link, "my_user", "my_password", "world");

if ($result = mysqli_query($link, "SELECT DATABASE()")) {
    $row = mysqli_fetch_row($result);
    printf("Default database: %s\n", $row[0]);
    mysqli_free_result($result);
}

if ($result = mysqli_query($link, "SELECT @a")) {
    $row = mysqli_fetch_row($result);
    if ($row[0] === NULL) {
        printf("Value of variable a is NULL\n");
    }
    mysqli_free_result($result);
}

/* Cerrar conexión */
mysqli_close($link);
?>

El resultado de los ejemplos serían:

Default database: world
Value of variable a is NULL

Ver también

  • mysqli_connect() - Alias de mysqli::__construct
  • mysqli_select_db() - Selecciona la base de datos por defecto para realizar las consultas

mysqli::begin_transaction
mysqli::character_set_name
mysqli


Devuelve el juego de caracteres predeterminado para la conexión a la base de datos

mysqli::change_user
mysqli::$client_info
mysqli
PHP Manual

mysqli::character_set_name

mysqli_character_set_name

(PHP 5)

mysqli::character_set_name -- mysqli_character_set_name — Devuelve el juego de caracteres predeterminado para la conexión a la base de datos

Descripción

Estilo orientado a objetos

string mysqli::character_set_name ( void )

Estilo por procedimientos

string mysqli_character_set_name ( mysqli $link )

Devuelve el juego de caracteres actual para la conexión a la base de datos.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

El juego de caracteres predeterminado para la conexión actual

Ejemplos

Ejemplo #1 Ejemplo de mysqli::character_set_name()

Estilo orientado a objetos

<?php
/* Abrir una conexión */
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("La conexión falló: %s\n", mysqli_connect_error());
    exit();
}

/* Imprimir el juego de caracteres en uso */
$charset = $mysqli->character_set_name();
printf ("El juego de caracteres en uso es %s\n", $charset);

$mysqli->close();
?>

Estilo por procedimientos

<?php
/* Abrir una conexión */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* comprobar la conexión */
if (!$link) {
    printf("La conexión falló: %s\n", mysqli_connect_error());
    exit();
}

/* Print current character set */
$charset = mysqli_character_set_name($link);
printf ("Current character set is %s\n",$charset);

/* close connection */
mysqli_close($link);
?>

El resultado de los ejemplos serían:

El juego de caracteres en uso es latin1_swedish_ci

Ver también

  • mysqli_set_charset() - Establece el conjunto de caracteres predeterminado del cliente
  • mysqli_client_encoding() - Alias de mysqli_character_set_name
  • mysqli_real_escape_string() - Escapa los caracteres especiales de una cadena para usarla en una sentencia SQL, tomando en cuenta el conjunto de caracteres actual de la conexión

mysqli::change_user
mysqli::$client_info
mysqli


Obtiene información de la versión cliente de MySQL

mysqli::character_set_name
mysqli::$client_version
mysqli
PHP Manual

mysqli::$client_info

mysqli_get_client_info

(PHP 5)

mysqli::$client_info -- mysqli_get_client_info — Obtiene información de la versión cliente de MySQL

Descripción

Estilo orientado a objetos

string $mysqli->client_info;

Estilo por procedimientos

string mysqli_get_client_info ( mysqli $link )

Devuelve una cadena que representa la versión de la biblioteca cliente MySQL.

Valores devueltos

Una cadena que representa la versión de la biblioteca cliente MySQL

Ejemplos

Ejemplo #1 mysqli_get_client_info

<?php

/* No es necesaria una conexión para determinar
   la versión de la biblioteca cliente de MySQL */

printf("Versión de la biblioteca cliente: %s\n", mysqli_get_client_info());
?>

Ver también

  • mysqli_get_client_version() - Devuelve la versión clientes de MySQL como valor de tipo integer
  • mysqli_get_server_info() - Devuelve la versión del servidor MySQL
  • mysqli_get_server_version() - Devuelve la versión del servidor MySQL como un valor entero

mysqli::character_set_name
mysqli::$client_version
mysqli


Devuelve la versión cliente de MySQL como una cadena

mysqli::$client_info
mysqli::close
mysqli
PHP Manual

mysqli::$client_version

mysqli_get_client_version

(PHP 5)

mysqli::$client_version -- mysqli_get_client_version — Devuelve la versión cliente de MySQL como una cadena

Descripción

Estilo orientado a objetos

int $mysqli->client_version;

Estilo por procedimientos

int mysqli_get_client_version ( mysqli $link )

Devuelve la versión del cliente como un entero.

Valores devueltos

Un número que representa la versión del cliente MySQL en el formato: versión_mayor*10000 + versión_menor*100 + subversión. Por ejemplo, 4.1.0 será devuelto como 40100.

Esto es útil para determinar rápidamente la versión de la biblioteca cliente para saber si existe alguna funcionalidad.

Ejemplos

Ejemplo #1 mysqli_get_client_version

<?php

/* No es necesaria una conexión para determinar
   la versión de la biblioteca cliente de MySQL */

printf("Versión de la biblioteca cliente: %d\n", mysqli_get_client_version());
?>

Ver también

  • mysqli_get_client_info() - Obtiene información de la biblioteca cliente de MySQL
  • mysqli_get_server_info() - Devuelve la versión del servidor MySQL
  • mysqli_get_server_version() - Devuelve la versión del servidor MySQL como un valor entero

mysqli::$client_info
mysqli::close
mysqli


Cierra una conexión a base de datos previamente abierta

mysqli::$client_version
mysqli::commit
mysqli
PHP Manual

mysqli::close

mysqli_close

(PHP 5)

mysqli::close -- mysqli_close — Cierra una conexión a base de datos previamente abierta

Descripción

Estilo orientado a objetos

bool mysqli::close ( void )

Estilo por procedimientos

bool mysqli_close ( mysqli $link )

Cierra una conexión a base de datos abierta previamente.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Veasé mysqli_connect().

Ver también

  • mysqli::__construct() - Abre una nueva conexión al servidor de MySQL
  • mysqli_init() - Inicializa y devuelve un recurso para utilizarlo con mysqli_real_connect()
  • mysqli_real_connect() - Abre una conexión a un servidor mysql

mysqli::$client_version
mysqli::commit
mysqli


Realiza un "commit" de la transacción actual

mysqli::close
mysqli::$connect_errno
mysqli
PHP Manual

mysqli::commit

mysqli_commit

(PHP 5)

mysqli::commit -- mysqli_commit — Realiza un "commit" de la transacción actual

Descripción

Estilo orientado a objetos

bool mysqli::commit ([ int $flags [, string $name ]] )

Estilo por procedimientos

bool mysqli_commit ( mysqli $link [, int $flags [, string $name ]] )

Realiza un "commit" de la transacción actual para la conexión a la base de datos.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

flags

Una máscara de bits de constantes MYSQLI_TRANS_COR_*.

name

Si se proporciona, se ejecuta COMMIT/*name*/.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.5.0 | Se añadieron los parámetros flags y name.

Ejemplos

Ejemplo #1 Ejemplo de mysqli::commit()

Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* comprueba la conexión */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE Language LIKE CountryLanguage");

/* Desactivar el autocommit */
$mysqli->autocommit(FALSE);

/* Inserta algunos valores */
$mysqli->query("INSERT INTO Language VALUES ('DEU', 'Bavarian', 'F', 11.2)");
$mysqli->query("INSERT INTO Language VALUES ('DEU', 'Swabian', 'F', 9.4)");

/* Consignar la transacción */
if (!$mysqli->commit()) {
    print("Falló la consignación de la transacción\n");
    exit();
}

/* Eliminar la tabla */
$mysqli->query("DROP TABLE Language");

/* Cierra la conexión */
$mysqli->close();
?>

Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

/* Comprueba la conexión */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Desactivar el autocommit */
mysqli_autocommit($link, FALSE);

mysqli_query($link, "CREATE TABLE Language LIKE CountryLanguage");

/* Insertar algunos valores */
mysqli_query($link, "INSERT INTO Language VALUES ('DEU', 'Bavarian', 'F', 11.2)");
mysqli_query($link, "INSERT INTO Language VALUES ('DEU', 'Swabian', 'F', 9.4)");

/* Consignar la transación */
if (!mysqli_commit($link)) {
    print("Falló la consignación de la transacción\n");
    exit();
}

/* Cerrar la conexión */
mysqli_close($link);
?>

Ver también

  • mysqli_autocommit() - Activa o desactiva las modificaciones de la base de datos autoconsignadas
  • mysqli_begin_transaction() - Inicia una transacción
  • mysqli_rollback() - Revierte la transacción actual
  • mysqli_savepoint() - Define el nombre de un punto de salvaguarda de la transacción

mysqli::close
mysqli::$connect_errno
mysqli


Devuelve el código de error de la última llamada

mysqli::commit
mysqli::$connect_error
mysqli
PHP Manual

mysqli::$connect_errno

mysqli_connect_errno

(PHP 5)

mysqli::$connect_errno -- mysqli_connect_errno — Devuelve el código de error de la última llamada

Descripción

Estilo orientado a objetos

string $mysqli->connect_errno;

Estilo por procedimientos

int mysqli_connect_errno ( void )

Devuelve el ultimo código de error de la última llamada mysqli_connect().

Nota:

Los números de los mensajes de error están listados en el fichero de cabeceras de MySQL errmsg.h, los números de los mensajes de error del servidor están listados en mysqld_error.h. En la distribución de código fuente puede encontrar una lista completa de los mensajes de error y sus números en el fichero Docs/mysqld_error.txt.

Valores devueltos

Un código de error para la ultima llamada a mysqli_connect(), si ha fallado. cero significa que no ha ocurrido ningún error.

Ejemplos

Ejemplo #1 $mysqli->connect_errno example

Estilo orientado a objetos

<?php
$mysqli = @new mysqli('localhost', 'fake_user', 'my_password', 'my_db');

if ($mysqli->connect_errno) {
    die('Connect Error: ' . $mysqli->connect_errno);
}
?>

Estilo por procedimientos

<?php
$link = @mysqli_connect('localhost', 'fake_user', 'my_password', 'my_db');

if (!$link) {
    die('Connect Error: ' . mysqli_connect_errno());
}
?>

El resultado de los ejemplos serían:

Connect Error: 1045

Ver también

  • mysqli_connect() - Alias de mysqli::__construct
  • mysqli_connect_error() - Devuelve una cadena con la descripción del último error de conexión
  • mysqli_errno() - Devuelve el código del error de la última función llamada
  • mysqli_error() - Devuelve una cadena que describe el último error
  • mysqli_sqlstate() - Devuelve el error SQLSTATE de la operación de MySQL previa

mysqli::commit
mysqli::$connect_error
mysqli


Devuelve una cadena con la descripción del último error de conexión

mysqli::$connect_errno
mysqli::__construct
mysqli
PHP Manual

mysqli::$connect_error

mysqli_connect_error

(PHP 5)

mysqli::$connect_error -- mysqli_connect_error — Devuelve una cadena con la descripción del último error de conexión

Descripción

Estilo orientado a objetos

string $mysqli->connect_error;

Estilo por procedimientos

string mysqli_connect_error ( void )

Devuelve el último mensaje de error de la ultima llamada mysqli_connect().

Valores devueltos

Una cadena que describe el error. Devuelve NULL si no ha ocurrido ningún error.

Ejemplos

Ejemplo #1 Ejemplo de $mysqli->connect_error

Estilo orientado a objetos

<?php
$mysqli = @new mysqli('localhost', 'fake_user', 'my_password', 'my_db');

// Works as of PHP 5.2.9 and 5.3.0.
if ($mysqli->connect_error) {
    die('Error de conexión: ' . $mysqli->connect_error);
}
?>

Estilo por procedimientos

<?php
$link = @mysqli_connect('localhost', 'fake_user', 'my_password', 'my_db');

if (!$link) {
    die('Error de conexión: ' . mysqli_connect_error());
}
?>

El resultado de los ejemplos serían:

Connect Error: Access denied for user 'fake_user'@'localhost' (using password: YES)

Notas

Advertencia

La propiedad mysqli->connect_error solo funciona correctamente en las versiones 5.2.9 y 5.3.0 de PHP. Usa la función mysqli_connect_error() si es necesaria la compatibilidad con versiones anteriores de PHP.

Ver también

  • mysqli_connect() - Alias de mysqli::__construct
  • mysqli_connect_errno() - Devuelve el código de error de la última llamada
  • mysqli_errno() - Devuelve el código del error de la última función llamada
  • mysqli_error() - Devuelve una cadena que describe el último error
  • mysqli_sqlstate() - Devuelve el error SQLSTATE de la operación de MySQL previa

mysqli::$connect_errno
mysqli::__construct
mysqli


Abre una nueva conexión al servidor de MySQL

mysqli::$connect_error
mysqli::debug
mysqli
PHP Manual

mysqli::__construct

mysqli_connect

(PHP 5)

mysqli::__construct -- mysqli_connect — Abre una nueva conexión al servidor de MySQL

Descripción

Estilo orientado a objetos

  mysqli::__construct()
  ([ string $host = ini_get("mysqli.default_host")
 [, string $username = ini_get("mysqli.default_user")
 [, string $passwd = ini_get("mysqli.default_pw")
 [, string $dbname = ""
 [, int $port = ini_get("mysqli.default_port")
 [, string $socket = ini_get("mysqli.default_socket")
]]]]]] )

Estilo por procedimientos

 mysqli mysqli_connect
  ([ string $host = ini_get("mysqli.default_host")
 [, string $username = ini_get("mysqli.default_user")
 [, string $passwd = ini_get("mysqli.default_pw")
 [, string $dbname = ""
 [, int $port = ini_get("mysqli.default_port")
 [, string $socket = ini_get("mysqli.default_socket")
]]]]]] )

Abre una conexión al Servidor de MySQL que está en ejecución.

Parámetros

host

Puede ser o un nombre de host o una dirección IP. Pasando el valor NULL o la cadena "localhost" a este parámetro, se asumirá el host local. Cuando es posible, se usarán tuberías en lugar del protocolo TCP/IP.

Anteponer p: al host, abre una conexión persistente. mysqli_change_user() es automáticamente llamado en conexiones abiertas desde la caché de conexiones.

username

El nombre de usuario de MySQL.

passwd

Si no se proporciona o es NULL, el servidor MySQL intentará autentificar el usuario solo con aquellos registros de usuarios que no tienen contraseña. Esto permite que un nombre de usuario ser usado con diferentes permisos (dependiendo de si se proporciona una contraseña o no).

dbname

Si se proporcioina, especificará la base de datos prederminada a usar cuando se realizan consultas.

port

Especifica el número al que intentar conectar al servidor de MySQL.

socket

Especifica el socket o la tubería con nombre que debería usarse.

Nota:

Especificar el parámetro socket no determinará explicitamente el tipo de conexión a utilizar cuando se conecte al servidor MySQL. El modo de realizar la conexión a la base de datos MySQL es determinado por el parámetro host.

Valores devueltos

Devuelve un objeto que representa la conexión al servidor MySQL.

Historial de cambios

Versión | Descripción
5.3.0 | Se añadió la capacidad de conexiones persistentes.

Ejemplos

Ejemplo #1 Ejemplo de mysqli::__construct()

Estilo orientado a objetos

<?php
$mysqli = new mysqli('localhost', 'mi_usuario', 'mi_contraseña', 'mi_bd');

/*
 * Esta es la forma OO "oficial" de hacerlo,
 * AUNQUE $connect_error estaba averiado hasta PHP 5.2.9 y 5.3.0.
 */
if ($mysqli->connect_error) {
    die('Error de Conexión (' . $mysqli->connect_errno . ') '
            . $mysqli->connect_error);
}

/*
 * Use esto en lugar de $connect_error si necesita asegurarse
 * de la compatibilidad con versiones de PHP anteriores a 5.2.9 y 5.3.0.
 */
if (mysqli_connect_error()) {
    die('Error de Conexión (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}

echo 'Éxito... ' . $mysqli->host_info . "\n";

$mysqli->close();
?>

Estilo orientado a objetos cuando se extiende la clase mysqli

<?php

class foo_mysqli extends mysqli {
    public function __construct($host, $usuario, $contraseña, $bd) {
        parent::__construct($host, $usuario, $contraseña, $bd);

        if (mysqli_connect_error()) {
            die('Error de Conexión (' . mysqli_connect_errno() . ') '
                    . mysqli_connect_error());
        }
    }
}

$bd = new foo_mysqli('localhost', 'mi_usuario', 'mi_contraseña', 'mi_bd');

echo 'Éxito... ' . $bd->host_info . "\n";

$bd->close();
?>

Estilo por procedimientos

<?php
$enlace = mysqli_connect('localhost', 'mi_usuario', 'mi_contraseña', 'mi_bd');

if (!$enlace) {
    die('Error de Conexión (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}

echo 'Éxito... ' . mysqli_get_host_info($enlace) . "\n";

mysqli_close($enlace);
?>

El resultado de los ejemplos serían:

Éxito... MySQL host info: localhost via TCP/IP

Notas

Nota:

MySQLnd siempre utiliza el juego de caracteres de idioma predeterminado. El juego de caracteres se envía en la autentificación/acuerdo que se produce durante la conexión, que utilizará mysqlnd.

Libmysqlclient utiliza el juego de caracteres predeterminado definido en my.cnf o se puede establecer llamando mysqli_options() antes de user mysqli_real_connect(), pero después de mysqli_init().

Nota:

Sólo para la sintaxis OO: Si una conexión falla se devuelve un objeto. Para comprobar si la conexión falló, use la función mysqli_connect_error() o la propiedad mysqli->connect_error como en los ejemplos anteriores.

Nota:

Si es necesario establecer las opciones, tales como el tiempo de espera de conexión, se debe utilizar mysqli_real_connect() en su lugar.

Nota:

Llamar al constructor sin parámetros es lo mismo que llamar a la función mysqli_init().

Nota:

El error "Can't create TCP/IP socket (10106)" normalmente significa que la directiva de configuración variables_order no contiene el carácter E. En Windows, si el entorno no es copiado, la variable de entorno SYSTEMROOT no estará disponible y PHP tendrá problemas al cargar Winsock.

Ver también

  • mysqli_real_connect() - Abre una conexión a un servidor mysql
  • mysqli_options() - Establecer opciones
  • mysqli_connect_errno() - Devuelve el código de error de la última llamada
  • mysqli_connect_error() - Devuelve una cadena con la descripción del último error de conexión
  • mysqli_close() - Cierra una conexión a base de datos previamente abierta

mysqli::$connect_error
mysqli::debug
mysqli


Realiza operaciones de depuración

mysqli::__construct
mysqli::dump_debug_info
mysqli
PHP Manual

mysqli::debug

mysqli_debug

(PHP 5)

mysqli::debug -- mysqli_debug — Realiza operaciones de depuración

Descripción

Estilo orientado a objetos

bool mysqli::debug ( string $message )

Estilo por procedimientos

bool mysqli_debug ( string $message )

Realiza operaciones de depuración usando la librería Fred Fish.

Parámetros

message

Una cadena que representa la operación de depuración a realizar

Valores devueltos

Devuelve TRUE.

Notas

Nota:

Para usar la función mysqli_debug() debes compilar la librería del cliente MySQL para que soporte depuración.

Ejemplos

Ejemplo #1 Generando un fichero de prueba (traza)

<?php

/* Create a trace file in '/tmp/client.trace' on the local (client) machine: */
mysqli_debug("d:t:o,/tmp/client.trace");

?>

Ver también

  • mysqli_dump_debug_info() - Volcado de información de depuración en el registro
  • mysqli_report() - Alias de of mysqli_driver->report_mode

mysqli::__construct
mysqli::dump_debug_info
mysqli


Volcado de información de depuración en el registro

mysqli::debug
mysqli::$errno
mysqli
PHP Manual

mysqli::dump_debug_info

mysqli_dump_debug_info

(PHP 5)

mysqli::dump_debug_info -- mysqli_dump_debug_info — Volcado de información de depuración en el registro

Descripción

Estilo orientado a objetos

bool mysqli::dump_debug_info ( void )

Estilo por procedimientos

bool mysqli_dump_debug_info ( mysqli $link )

Esta función está diseñada para ser ejecutada por un usuario con el privilegio SUPER y se utiliza para volcar la información de depuración en el registro para el servidor MySQL relacionado con la conexión.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • mysqli_debug() - Realiza operaciones de depuración

mysqli::debug
mysqli::$errno
mysqli


Devuelve el código del error de la última función llamada

mysqli::dump_debug_info
mysqli::$error_list
mysqli
PHP Manual

mysqli::$errno

mysqli_errno

(PHP 5)

mysqli::$errno -- mysqli_errno — Devuelve el código del error de la última función llamada

Descripción

Estilo orientado a objetos

int $mysqli->errno;

Estilo por procedimientos

int mysqli_errno ( mysqli $link )

Devuelve el último código de error de la llamada más reciente a una función MySQLi que podrá haberse ejecutado con éxito o haber fallado.

Los números de los errores de cliente, están indicados en el fichero de cabecera errmsg.h, los números de mensajes de error del servidor están indicados en mysqld_error.h. En la documentación de MySQL puedes encontrar una lista de mensajes de error y su numeración en el fichero Docs/mysqld_error.txt.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

Un código de error de la última llamada, si ésta ha fallado. Si devuelve cero significa que no ha ocurrido ningún error.

Ejemplos

Ejemplo #1 Ejemplo de $mysqli->errno

Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* comprobar la conexión */
if ($mysqli->connect_errno) {
    printf("Falló la conexión: %s\n", $mysqli->connect_error);
    exit();
}

if (!$mysqli->query("SET a=1")) {
    printf("Código de error: %d\n", $mysqli->errno);
}

/* cerrar la conexión */
$mysqli->close();
?>

Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if (!mysqli_query($link, "SET a=1")) {
    printf("Errorcode: %d\n", mysqli_errno($link));
}

/* close connection */
mysqli_close($link);
?>

El resultado de los ejemplos serían:

Errorcode: 1193

Ver también

  • mysqli_connect_errno() - Devuelve el código de error de la última llamada
  • mysqli_connect_error() - Devuelve una cadena con la descripción del último error de conexión
  • mysqli_error() - Devuelve una cadena que describe el último error
  • mysqli_sqlstate() - Devuelve el error SQLSTATE de la operación de MySQL previa

mysqli::dump_debug_info
mysqli::$error_list
mysqli


Devuelve una lista de errores desde el último comando ejecutado

mysqli::$errno
mysqli::$error
mysqli
PHP Manual

mysqli::$error_list

mysqli_error_list

(PHP 5 >= 5.4.0)

mysqli::$error_list -- mysqli_error_list — Devuelve una lista de errores desde el último comando ejecutado

Descripción

Estilo orientado a objetos

array $mysqli->error_list;

Estilo por procedimientos

array mysqli_error_list ( mysqli $link )

Devuelve una array de errores de la llamada a la función de MySQLi más reciente que puede tener éxito o no.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

Una lista de errores, cada uno como un array asociativo que contiene el errno, el error, y el sqlstate.

Ejemplos

Ejemplo #1 Ejemplo de $mysqli->error_list

Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "nadie", "");

/* verficar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

if (!$mysqli->query("SET a=1")) {
    print_r($mysqli->error_list);
}

/* cerrar la conexión */
$mysqli->close();
?>

Estilo por procedimientos

<?php
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");

/* verficar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

if (!mysqli_query($enlace, "SET a=1")) {
    print_r(mysqli_error_list($enlace));
}

/* cerrar la conexión */
mysqli_close($enlace);
?>

El resultado de los ejemplos serían:

Array
(
    [0] => Array
        (
            [errno] => 1193
            [sqlstate] => HY000
            [error] => Unknown system variable 'a'
        )

)

Ver también

  • mysqli_connect_errno() - Devuelve el código de error de la última llamada
  • mysqli_connect_error() - Devuelve una cadena con la descripción del último error de conexión
  • mysqli_error() - Devuelve una cadena que describe el último error
  • mysqli_sqlstate() - Devuelve el error SQLSTATE de la operación de MySQL previa

mysqli::$errno
mysqli::$error
mysqli


Devuelve una cadena que describe el último error

mysqli::$error_list
mysqli::$field_count
mysqli
PHP Manual

mysqli::$error

mysqli_error

(PHP 5)

mysqli::$error -- mysqli_error — Devuelve una cadena que describe el último error

Descripción

Estilo orientado a objetos

string $mysqli->error;

Estilo por procedimientos

string mysqli_error ( mysqli $link )

Devuelve el últmo mensaje de error para la llamada más reciente a una función de MySQLi que puede haberse ejecutado correctamente o haber fallado.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

Una cadena que describe el error. Una cadena vacía si no ha ocurrido error alguno.

Ejemplos

Ejemplo #1 Ejemplo de $mysqli->error

Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Comprueba la conexión */
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

if (!$mysqli->query("SET a=1")) {
    printf("Errormessage: %s\n", $mysqli->error);
}

/* Cierra la conexión */
$mysqli->close();
?>

Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Comprueba la conexión */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if (!mysqli_query($link, "SET a=1")) {
    printf("Errormessage: %s\n", mysqli_error($link));
}

/* Cierra la conexión */
mysqli_close($link);
?>

El resultado de los ejemplos serían:

Errormessage: Unknown system variable 'a'

Ver también

  • mysqli_connect_errno() - Devuelve el código de error de la última llamada
  • mysqli_connect_error() - Devuelve una cadena con la descripción del último error de conexión
  • mysqli_errno() - Devuelve el código del error de la última función llamada
  • mysqli_sqlstate() - Devuelve el error SQLSTATE de la operación de MySQL previa

mysqli::$error_list
mysqli::$field_count
mysqli


Devuelve el número de columnas para la consulta más reciente

mysqli::$error
mysqli::get_charset
mysqli
PHP Manual

mysqli::$field_count

mysqli_field_count

(PHP 5)

mysqli::$field_count -- mysqli_field_count — Devuelve el número de columnas para la consulta más reciente

Descripción

Estilo orientado a objetos

int $mysqli->field_count;

Estilo por procedimientos

int mysqli_field_count ( mysqli $link )

Devuelve el numero de columnas para la consulta más reciente en la conexión representada por el parámetro link. Esta función puede ser útil cuando se utiliza la función mysqli_store_result() para determinar si la consulta ha producido un resultado no vacío o no, sin saber la naturaleza de la consulta.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

Un entero que representa el número de campos en un set de resultado. An integer representing the number of fields in a result set.

Ejemplos

Ejemplo #1 Ejemplo de $mysqli->field_count

Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

$mysqli->query( "DROP TABLE IF EXISTS friends");
$mysqli->query( "CREATE TABLE friends (id int, name varchar(20))");

$mysqli->query( "INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

$mysqli->real_query("SELECT * FROM friends");

if ($mysqli->field_count) {
    /* this was a select/show or describe query */
    $result = $mysqli->store_result();

    /* process resultset */
    $row = $result->fetch_row();

    /* free resultset */
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

mysqli_query($link, "DROP TABLE IF EXISTS friends");
mysqli_query($link, "CREATE TABLE friends (id int, name varchar(20))");

mysqli_query($link, "INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

mysqli_real_query($link, "SELECT * FROM friends");

if (mysqli_field_count($link)) {
    /* this was a select/show or describe query */
    $result = mysqli_store_result($link);

    /* process resultset */
    $row = mysqli_fetch_row($result);

    /* free resultset */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>
mysqli::$error
mysqli::get_charset
mysqli


Devuelve un objeto que contiene el conjunto de caracteres

mysqli::$field_count
mysqli::get_client_info
mysqli
PHP Manual

mysqli::get_charset

mysqli_get_charset

(PHP 5 >= 5.1.0)

mysqli::get_charset -- mysqli_get_charset — Devuelve un objeto que contiene el conjunto de caracteres

Descripción

Estilo orientado a objetos

object mysqli::get_charset ( void )

Estilo por procedimientos

object mysqli_get_charset ( mysqli $link )

Devuelve un conjunto de caracteres objeto que proporciona varias propiedades del conjunto de caracteres activo actual.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

La función devuelve un conjunto de caracteres objeto con las siguientes propiedades:

charset

Nombre del conjunto de caracteres

collation

Nombre de la colación

dir

Directory the charset description was fetched from (?) or "" for built-in character sets

min_length

Tamaño mínimo de carácter en bytes

max_length

Tamaño máximo de carácter en bytes

number

Número interno del conjunto de caracteres

state

Estado del conjunto de caracteres (?)

Ejemplos

Ejemplo #1 mysqli::get_charset() example

Estilo orientado a objetos

<?php
  $db = mysqli_init();
  $db->real_connect("localhost","root","","test");
  var_dump($db->get_charset());
?>

Estilo por procedimientos

<?php
  $db = mysqli_init();
  mysqli_real_connect($db, "localhost","root","","test");
  var_dump($db->get_charset());
?>

El resultado de los ejemplos serían:

object(stdClass)#2 (7) {
  ["charset"]=>
  string(6) "latin1"
  ["collation"]=>
  string(17) "latin1_swedish_ci"
  ["dir"]=>
  string(0) ""
  ["min_length"]=>
  int(1)
  ["max_length"]=>
  int(1)
  ["number"]=>
  int(8)
  ["state"]=>
  int(801)
}

Ver también

  • mysqli_character_set_name() - Devuelve el juego de caracteres predeterminado para la conexión a la base de datos
  • mysqli_set_charset() - Establece el conjunto de caracteres predeterminado del cliente

mysqli::$field_count
mysqli::get_client_info
mysqli


Obtiene información de la biblioteca cliente de MySQL

mysqli::get_charset
mysqli_get_client_stats
mysqli
PHP Manual

mysqli::get_client_info

mysqli_get_client_info

(PHP 5)

mysqli::get_client_info -- mysqli_get_client_info — Obtiene información de la biblioteca cliente de MySQL

Descripción

Estilo orientado a objetos

string mysqli::get_client_info ( void )

Estilo por procedimientos

string mysqli_get_client_info ( mysqli $link )

Devuelve una cadena que representa la versión de la biblioteca cliente MySQL.

Valores devueltos

Una cadena que representa la versión de la biblioteca cliente de MySQL

Ejemplos

Ejemplo #1 mysqli_get_client_info

<?php

/* No es necesaria una conexión para determinar
   la versión de la biblioteca cliente MySQL */

printf("Versión de la biblioteca cliente: %s\n", mysqli_get_client_info());
?>

Ver también

  • mysqli_get_client_version() - Devuelve la versión clientes de MySQL como valor de tipo integer
  • mysqli_get_server_info() - Devuelve la versión del servidor MySQL
  • mysqli_get_server_version() - Devuelve la versión del servidor MySQL como un valor entero

mysqli::get_charset
mysqli_get_client_stats
mysqli


Devuelve estadísticas de clientes por proceso

mysqli::get_client_info
mysqli_get_client_version
mysqli
PHP Manual

mysqli_get_client_stats

(PHP 5 >= 5.3.0)

mysqli_get_client_stats — Devuelve estadísticas de clientes por proceso

Descripción

array mysqli_get_client_stats ( void )

Devuelve estadísticas de cliente por proceso. Disponible sólo con mysqlnd.

Parámetros

Valores devueltos

Devuelve un array con estadísticas de cliente en caso de éxito, FALSE en caso contrario.

Ejemplos

Ejemplo #1 A mysqli_get_client_stats() example

<?php
$link = mysqli_connect();
print_r(mysqli_get_client_stats());
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [bytes_sent] => 43
    [bytes_received] => 80
    [packets_sent] => 1
    [packets_received] => 2
    [protocol_overhead_in] => 8
    [protocol_overhead_out] => 4
    [bytes_received_ok_packet] => 11
    [bytes_received_eof_packet] => 0
    [bytes_received_rset_header_packet] => 0
    [bytes_received_rset_field_meta_packet] => 0
    [bytes_received_rset_row_packet] => 0
    [bytes_received_prepare_response_packet] => 0
    [bytes_received_change_user_packet] => 0
    [packets_sent_command] => 0
    [packets_received_ok] => 1
    [packets_received_eof] => 0
    [packets_received_rset_header] => 0
    [packets_received_rset_field_meta] => 0
    [packets_received_rset_row] => 0
    [packets_received_prepare_response] => 0
    [packets_received_change_user] => 0
    [result_set_queries] => 0
    [non_result_set_queries] => 0
    [no_index_used] => 0
    [bad_index_used] => 0
    [slow_queries] => 0
    [buffered_sets] => 0
    [unbuffered_sets] => 0
    [ps_buffered_sets] => 0
    [ps_unbuffered_sets] => 0
    [flushed_normal_sets] => 0
    [flushed_ps_sets] => 0
    [ps_prepared_never_executed] => 0
    [ps_prepared_once_executed] => 0
    [rows_fetched_from_server_normal] => 0
    [rows_fetched_from_server_ps] => 0
    [rows_buffered_from_client_normal] => 0
    [rows_buffered_from_client_ps] => 0
    [rows_fetched_from_client_normal_buffered] => 0
    [rows_fetched_from_client_normal_unbuffered] => 0
    [rows_fetched_from_client_ps_buffered] => 0
    [rows_fetched_from_client_ps_unbuffered] => 0
    [rows_fetched_from_client_ps_cursor] => 0
    [rows_skipped_normal] => 0
    [rows_skipped_ps] => 0
    [copy_on_write_saved] => 0
    [copy_on_write_performed] => 0
    [command_buffer_too_small] => 0
    [connect_success] => 1
    [connect_failure] => 0
    [connection_reused] => 0
    [reconnect] => 0
    [pconnect_success] => 0
    [active_connections] => 1
    [active_persistent_connections] => 0
    [explicit_close] => 0
    [implicit_close] => 0
    [disconnect_close] => 0
    [in_middle_of_command_close] => 0
    [explicit_free_result] => 0
    [implicit_free_result] => 0
    [explicit_stmt_close] => 0
    [implicit_stmt_close] => 0
    [mem_emalloc_count] => 0
    [mem_emalloc_ammount] => 0
    [mem_ecalloc_count] => 0
    [mem_ecalloc_ammount] => 0
    [mem_erealloc_count] => 0
    [mem_erealloc_ammount] => 0
    [mem_efree_count] => 0
    [mem_malloc_count] => 0
    [mem_malloc_ammount] => 0
    [mem_calloc_count] => 0
    [mem_calloc_ammount] => 0
    [mem_realloc_count] => 0
    [mem_realloc_ammount] => 0
    [mem_free_count] => 0
    [proto_text_fetched_null] => 0
    [proto_text_fetched_bit] => 0
    [proto_text_fetched_tinyint] => 0
    [proto_text_fetched_short] => 0
    [proto_text_fetched_int24] => 0
    [proto_text_fetched_int] => 0
    [proto_text_fetched_bigint] => 0
    [proto_text_fetched_decimal] => 0
    [proto_text_fetched_float] => 0
    [proto_text_fetched_double] => 0
    [proto_text_fetched_date] => 0
    [proto_text_fetched_year] => 0
    [proto_text_fetched_time] => 0
    [proto_text_fetched_datetime] => 0
    [proto_text_fetched_timestamp] => 0
    [proto_text_fetched_string] => 0
    [proto_text_fetched_blob] => 0
    [proto_text_fetched_enum] => 0
    [proto_text_fetched_set] => 0
    [proto_text_fetched_geometry] => 0
    [proto_text_fetched_other] => 0
    [proto_binary_fetched_null] => 0
    [proto_binary_fetched_bit] => 0
    [proto_binary_fetched_tinyint] => 0
    [proto_binary_fetched_short] => 0
    [proto_binary_fetched_int24] => 0
    [proto_binary_fetched_int] => 0
    [proto_binary_fetched_bigint] => 0
    [proto_binary_fetched_decimal] => 0
    [proto_binary_fetched_float] => 0
    [proto_binary_fetched_double] => 0
    [proto_binary_fetched_date] => 0
    [proto_binary_fetched_year] => 0
    [proto_binary_fetched_time] => 0
    [proto_binary_fetched_datetime] => 0
    [proto_binary_fetched_timestamp] => 0
    [proto_binary_fetched_string] => 0
    [proto_binary_fetched_blob] => 0
    [proto_binary_fetched_enum] => 0
    [proto_binary_fetched_set] => 0
    [proto_binary_fetched_geometry] => 0
    [proto_binary_fetched_other] => 0
)

Ver también

  • Descripción de Stats

mysqli::get_client_info
mysqli_get_client_version
mysqli


Devuelve la versión clientes de MySQL como valor de tipo integer

mysqli_get_client_stats
mysqli::get_connection_stats
mysqli
PHP Manual

mysqli_get_client_version

mysqli::$client_version

(PHP 5)

mysqli_get_client_version -- mysqli::$client_version — Devuelve la versión clientes de MySQL como valor de tipo integer

Descripción

Estilo orientado a objetos

int $mysqli->client_version;

Estilo por procedimientos

int mysqli_get_client_version ( mysqli $link )

Devolver la versión de cliente como un valor entero.

Valores devueltos

Un número que representa la versión de la librería del cliente MySQL en formato: main_version*10000 + minor_version *100 + sub_version. Por ejemplo, 4.1.0 será devuelto como 40100.

Esto es útil para determinar rápidamente la versión de la librería del cliente para saber si alguna funcionalidad existe.

Ejemplos

Ejemplo #1 mysqli_get_client_version

<?php

/* No se necesita una conexión para determinar
   la versión de la librería del cliente */

printf("Client library version: %d\n", mysqli_get_client_version());
?>

Ver también

  • mysqli_get_client_info() - Obtiene información de la biblioteca cliente de MySQL
  • mysqli_get_server_info() - Devuelve la versión del servidor MySQL
  • mysqli_get_server_version() - Devuelve la versión del servidor MySQL como un valor entero

mysqli_get_client_stats
mysqli::get_connection_stats
mysqli


Devuelve estadísticas sobre la conexión del cliente

mysqli_get_client_version
mysqli::$host_info
mysqli
PHP Manual

mysqli::get_connection_stats

mysqli_get_connection_stats

(PHP 5 >= 5.3.0)

mysqli::get_connection_stats -- mysqli_get_connection_stats — Devuelve estadísticas sobre la conexión del cliente

Descripción

Estilo orientado a objetos

bool mysqli::get_connection_stats ( void )

Estilo por procedimientos

array mysqli_get_connection_stats ( mysqli $link )

Devuelve estadísticas sobre la conexión del cliente. Disponible sólo con mysqlnd.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

Devuelve un array con las estadísticas de la conexión si tiene éxito, en otro caso FALSE.

Ejemplos

Ejemplo #1 Un ejemplo de mysqli_get_connection_stats()

<?php
$link = mysqli_connect();
print_r(mysqli_get_connection_stats($link));
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [bytes_sent] => 43
    [bytes_received] => 80
    [packets_sent] => 1
    [packets_received] => 2
    [protocol_overhead_in] => 8
    [protocol_overhead_out] => 4
    [bytes_received_ok_packet] => 11
    [bytes_received_eof_packet] => 0
    [bytes_received_rset_header_packet] => 0
    [bytes_received_rset_field_meta_packet] => 0
    [bytes_received_rset_row_packet] => 0
    [bytes_received_prepare_response_packet] => 0
    [bytes_received_change_user_packet] => 0
    [packets_sent_command] => 0
    [packets_received_ok] => 1
    [packets_received_eof] => 0
    [packets_received_rset_header] => 0
    [packets_received_rset_field_meta] => 0
    [packets_received_rset_row] => 0
    [packets_received_prepare_response] => 0
    [packets_received_change_user] => 0
    [result_set_queries] => 0
    [non_result_set_queries] => 0
    [no_index_used] => 0
    [bad_index_used] => 0
    [slow_queries] => 0
    [buffered_sets] => 0
    [unbuffered_sets] => 0
    [ps_buffered_sets] => 0
    [ps_unbuffered_sets] => 0
    [flushed_normal_sets] => 0
    [flushed_ps_sets] => 0
    [ps_prepared_never_executed] => 0
    [ps_prepared_once_executed] => 0
    [rows_fetched_from_server_normal] => 0
    [rows_fetched_from_server_ps] => 0
    [rows_buffered_from_client_normal] => 0
    [rows_buffered_from_client_ps] => 0
    [rows_fetched_from_client_normal_buffered] => 0
    [rows_fetched_from_client_normal_unbuffered] => 0
    [rows_fetched_from_client_ps_buffered] => 0
    [rows_fetched_from_client_ps_unbuffered] => 0
    [rows_fetched_from_client_ps_cursor] => 0
    [rows_skipped_normal] => 0
    [rows_skipped_ps] => 0
    [copy_on_write_saved] => 0
    [copy_on_write_performed] => 0
    [command_buffer_too_small] => 0
    [connect_success] => 1
    [connect_failure] => 0
    [connection_reused] => 0
    [reconnect] => 0
    [pconnect_success] => 0
    [active_connections] => 1
    [active_persistent_connections] => 0
    [explicit_close] => 0
    [implicit_close] => 0
    [disconnect_close] => 0
    [in_middle_of_command_close] => 0
    [explicit_free_result] => 0
    [implicit_free_result] => 0
    [explicit_stmt_close] => 0
    [implicit_stmt_close] => 0
    [mem_emalloc_count] => 0
    [mem_emalloc_ammount] => 0
    [mem_ecalloc_count] => 0
    [mem_ecalloc_ammount] => 0
    [mem_erealloc_count] => 0
    [mem_erealloc_ammount] => 0
    [mem_efree_count] => 0
    [mem_malloc_count] => 0
    [mem_malloc_ammount] => 0
    [mem_calloc_count] => 0
    [mem_calloc_ammount] => 0
    [mem_realloc_count] => 0
    [mem_realloc_ammount] => 0
    [mem_free_count] => 0
    [proto_text_fetched_null] => 0
    [proto_text_fetched_bit] => 0
    [proto_text_fetched_tinyint] => 0
    [proto_text_fetched_short] => 0
    [proto_text_fetched_int24] => 0
    [proto_text_fetched_int] => 0
    [proto_text_fetched_bigint] => 0
    [proto_text_fetched_decimal] => 0
    [proto_text_fetched_float] => 0
    [proto_text_fetched_double] => 0
    [proto_text_fetched_date] => 0
    [proto_text_fetched_year] => 0
    [proto_text_fetched_time] => 0
    [proto_text_fetched_datetime] => 0
    [proto_text_fetched_timestamp] => 0
    [proto_text_fetched_string] => 0
    [proto_text_fetched_blob] => 0
    [proto_text_fetched_enum] => 0
    [proto_text_fetched_set] => 0
    [proto_text_fetched_geometry] => 0
    [proto_text_fetched_other] => 0
    [proto_binary_fetched_null] => 0
    [proto_binary_fetched_bit] => 0
    [proto_binary_fetched_tinyint] => 0
    [proto_binary_fetched_short] => 0
    [proto_binary_fetched_int24] => 0
    [proto_binary_fetched_int] => 0
    [proto_binary_fetched_bigint] => 0
    [proto_binary_fetched_decimal] => 0
    [proto_binary_fetched_float] => 0
    [proto_binary_fetched_double] => 0
    [proto_binary_fetched_date] => 0
    [proto_binary_fetched_year] => 0
    [proto_binary_fetched_time] => 0
    [proto_binary_fetched_datetime] => 0
    [proto_binary_fetched_timestamp] => 0
    [proto_binary_fetched_string] => 0
    [proto_binary_fetched_blob] => 0
    [proto_binary_fetched_enum] => 0
    [proto_binary_fetched_set] => 0
    [proto_binary_fetched_geometry] => 0
    [proto_binary_fetched_other] => 0
)

Ver también

  • Stats description

mysqli_get_client_version
mysqli::$host_info
mysqli


Devuelve una cadena que representa el tipo de conexión usada

mysqli::get_connection_stats
mysqli::$protocol_version
mysqli
PHP Manual

mysqli::$host_info

mysqli_get_host_info

(PHP 5)

mysqli::$host_info -- mysqli_get_host_info — Devuelve una cadena que representa el tipo de conexión usada

Descripción

Estilo orientado a objetos

string $mysqli->host_info;

Estilo por procedimientos

string mysqli_get_host_info ( mysqli $link )

Devuelve una cadena que describiendo la conexión representada por el parámetro link (incluyendo el nombre del servidor anfitrión).

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

Una cadena de caracteres que representa el nombre del servidor anfitrión y el tipo de conexión.

Ejemplos

Ejemplo #1 Ejemplo de $mysqli->host_info

Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* verificar conexión */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* mostrar información del host */
printf("Host info: %s\n", $mysqli->host_info);

/* cerrar conexión */
$mysqli->close();
?>

Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* verificar conexión */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* mostrar información del host */
printf("Host info: %s\n", mysqli_get_host_info($link));

/* cerrar conexión */
mysqli_close($link);
?>

El resultado de los ejemplos serían:

Host info: Localhost via UNIX socket

Ver también

  • mysqli_get_proto_info() - Devuelve la versión del protocolo MySQL utilizada

mysqli::get_connection_stats
mysqli::$protocol_version
mysqli


Devuelve la versión del protocolo MySQL utilizada

mysqli::$host_info
mysqli::$server_info
mysqli
PHP Manual

mysqli::$protocol_version

mysqli_get_proto_info

(PHP 5)

mysqli::$protocol_version -- mysqli_get_proto_info — Devuelve la versión del protocolo MySQL utilizada

Descripción

Estilo orientado a objetos

string $mysqli->protocol_version;

Estilo por procedimientos

int mysqli_get_proto_info ( mysqli $link )

Devuelve un valor entero que que representa la versión del protocolo de MySQL utilizada por la conexión representada por el parámetrolink.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

Devuelve un valor entero que representa la versión del protocolo

Ejemplos

Ejemplo #1 Ejemplo de $mysqli->protocol_version

Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password");

/* verificar conexión */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* mostrar versión del protocolo */
printf("Protocol version: %d\n", $mysqli->protocol_version);

/* cerrar conexión */
$mysqli->close();
?>

Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password");

/* verificar conexión */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* mostrar versión del protocolo */
printf("Protocol version: %d\n", mysqli_get_proto_info($link));

/* cerrar conexión */
mysqli_close($link);
?>

El resultado de los ejemplos serían:

Protocol version: 10

Ver también

  • mysqli_get_host_info() - Devuelve una cadena que representa el tipo de conexión usada

mysqli::$host_info
mysqli::$server_info
mysqli


Devuelve la versión del servidor MySQL

mysqli::$protocol_version
mysqli::$server_version
mysqli
PHP Manual

mysqli::$server_info

mysqli_get_server_info

(PHP 5)

mysqli::$server_info -- mysqli_get_server_info — Devuelve la versión del servidor MySQL

Descripción

Estilo orientado a objetos

string $mysqli->server_info;

Estilo por procedimientos

string mysqli_get_server_info ( mysqli $link )

Devuelve una cadena que representa la versión del servidor MySQL al que está conectada la extensión MySQLi.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

Una cadena de caracteres que representa la versión del servidor.

Ejemplos

Ejemplo #1 Ejemplo de $mysqli->server_info

Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password");

/* verificar conexión */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* mostrar versión del servidor */
printf("Server version: %s\n", $mysqli->server_info);

/* cerrar conexión */
$mysqli->close();
?>

Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password");

/* verificar conexión */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* mostrar versión del servidor */
printf("Server version: %s\n", mysqli_get_server_info($link));

/* cerrar conexión */
mysqli_close($link);
?>

El resultado de los ejemplos serían:

Server version: 4.1.2-alpha-debug

Ver también

  • mysqli_get_client_info() - Obtiene información de la biblioteca cliente de MySQL
  • mysqli_get_client_version() - Devuelve la versión clientes de MySQL como valor de tipo integer
  • mysqli_get_server_version() - Devuelve la versión del servidor MySQL como un valor entero

mysqli::$protocol_version
mysqli::$server_version
mysqli


Devuelve la versión del servidor MySQL como un valor entero

mysqli::$server_info
mysqli::get_warnings
mysqli
PHP Manual

mysqli::$server_version

mysqli_get_server_version

(PHP 5)

mysqli::$server_version -- mysqli_get_server_version — Devuelve la versión del servidor MySQL como un valor entero

Descripción

Estilo orientado a objetos

int $mysqli->server_version;

Estilo por procedimientos

int mysqli_get_server_version ( mysqli $link )

La función mysqli_get_server_version() devuelve la versión del servidor al que está conectado (representado por el parámetro link ) como un valor entero.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

Un entero que representa la versión del servidor.

El patrón de este número de versión es main_version * 10000 + minor_version * 100 + sub_version (p.ej. versión 4.1.0 es 40100).

Ejemplos

Ejemplo #1 Ejemplo de $mysqli->server_version

Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password");

/* verificar conexión */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* mostrar versión del servidor */
printf("Server version: %d\n", $mysqli->server_version);

/* verificar conexión */
$mysqli->close();
?>

Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* mostrar versión del servidor */
printf("Server version: %d\n", mysqli_get_server_version($link));

/* cerrar conexión */
mysqli_close($link);
?>

El resultado de los ejemplos serían:

Server version: 40102

Ver también

  • mysqli_get_client_info() - Obtiene información de la biblioteca cliente de MySQL
  • mysqli_get_client_version() - Devuelve la versión clientes de MySQL como valor de tipo integer
  • mysqli_get_server_info() - Devuelve la versión del servidor MySQL

mysqli::$server_info
mysqli::get_warnings
mysqli


Obtiene el resultado de SHOW WARNINGS

mysqli::$server_version
mysqli::$info
mysqli
PHP Manual

mysqli::get_warnings

mysqli_get_warnings

(PHP 5 >= 5.1.0)

mysqli::get_warnings -- mysqli_get_warnings — Obtiene el resultado de SHOW WARNINGS

Descripción

Estilo orientado a objetos

mysqli_warning mysqli::get_warnings ( void )

Estilo por procedimientos

mysqli_warning mysqli_get_warnings ( mysqli $link )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

mysqli::$server_version
mysqli::$info
mysqli


Obtiene la información de la última consulta ejecutada

mysqli::get_warnings
mysqli::init
mysqli
PHP Manual

mysqli::$info

mysqli_info

(PHP 5)

mysqli::$info -- mysqli_info — Obtiene la información de la última consulta ejecutada

Descripción

Estilo orientado a objetos

string $mysqli->info;

Estilo por procedimientos

string mysqli_info ( mysqli $link )

La función mysqli_info() devuelve una cadena facilitando información sobre la última consulta ejecutada. La naturaleza de esta cadena está indicada abajo:

Posibles valores de retorno de mysqli_info
Tipo de consulta | Ejemplo de cadena devuelta
INSERT INTO...SELECT... | Records: 100 Duplicates: 0 Warnings: 0
INSERT INTO...VALUES (...),(...),(...) | Records: 3 Duplicates: 0 Warnings: 0
LOAD DATA INFILE ... | Records: 1 Deleted: 0 Skipped: 0 Warnings: 0
ALTER TABLE ... | Records: 3 Duplicates: 0 Warnings: 0
UPDATE ... | Rows matched: 40 Changed: 40 Warnings: 0

Nota:

Las consultas que no estén incluidas en uno de los formatos anteriores no están soportadas. En estas situaciones, mysqli_info() devolverá una cadena vacía.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

Una cadena de caracteres representando información adicional sobre la última consulta ejecutrada.

Ejemplos

Ejemplo #1 Ejemplo de $mysqli->info

Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TEMPORARY TABLE t1 LIKE City");

/* INSERT INTO .. SELECT */
$mysqli->query("INSERT INTO t1 SELECT * FROM City ORDER BY ID LIMIT 150");
printf("%s\n", $mysqli->info);

/* close connection */
$mysqli->close();
?>

Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TEMPORARY TABLE t1 LIKE City");

/* INSERT INTO .. SELECT */
mysqli_query($link, "INSERT INTO t1 SELECT * FROM City ORDER BY ID LIMIT 150");
printf("%s\n", mysqli_info($link));

/* close connection */
mysqli_close($link);
?>

El resultado de los ejemplos serían:

Records: 150  Duplicates: 0  Warnings: 0

Ver también

  • mysqli_affected_rows() - Obtiene el número de filas afectadas en la última operación MySQL
  • mysqli_warning_count() - Devuelve el número de mensajes de advertencia de la última consulta para un enlace dado
  • mysqli_num_rows() - Obtiene el número de filas de un resultado

mysqli::get_warnings
mysqli::init
mysqli


Inicializa y devuelve un recurso para utilizarlo con mysqli_real_connect()

mysqli::$info
mysqli::$insert_id
mysqli
PHP Manual

mysqli::init

mysqli_init

(PHP 5)

mysqli::init -- mysqli_init — Inicializa y devuelve un recurso para utilizarlo con mysqli_real_connect()

Descripción

Estilo orientado a objetos

mysqli mysqli::init ( void )

Estilo por procedimientos

mysqli mysqli_init ( void )

Asigna o inicializa un objecto MySQL adecuado para mysqli_options() y mysqli_real_connect().

Nota:

Cualquier llamada a cualquier función de mysqli (excepto mysqli_options()) fallará hasta que mysqli_real_connect() sea llamada.

Valores devueltos

Devuelve un objeto.

Ejemplos

Veasé mysqli_real_connect().

Ver también

  • mysqli_options() - Establecer opciones
  • mysqli_close() - Cierra una conexión a base de datos previamente abierta
  • mysqli_real_connect() - Abre una conexión a un servidor mysql
  • mysqli_connect() - Alias de mysqli::__construct

mysqli::$info
mysqli::$insert_id
mysqli


Devuelve el id autogenerado que se utilizó en la última consulta

mysqli::init
mysqli::kill
mysqli
PHP Manual

mysqli::$insert_id

mysqli_insert_id

(PHP 5)

mysqli::$insert_id -- mysqli_insert_id — Devuelve el id autogenerado que se utilizó en la última consulta

Descripción

Estilo orientado a objetos

mixed $mysqli->insert_id;

Estilo por procedimientos

mixed mysqli_insert_id ( mysqli $link )

La función mysqli_insert_id() devuelve el ID generado por una consulta en una tabla con una columna que tenga el atributo AUTO_INCREMENT. Si la última consulta no fue una sentencia INSERT o UPDATE o si la tabla modificada no tiene una columna con el atributo AUTO_INCREMENT, está función devolverá cero.

Nota:

Realizar una sentencia INSERT o UPDATE usando la función LAST_INSERT_ID() modificará el valor retornado por la función mysqli_insert_id().

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

El valor de el campo AUTO_INCREMENT que fué actualizado por la consulta anterior. Devuelve cero si no hubo una consulta previa en la conexión o si la consulta no actualiza un valor AUTO_INCREMENT.

Nota:

Si el número es mayor que el valor máximo int, mysqli_insert_id() retornará un string.

Ejemplos

Ejemplo #1 Ejemplo de $mysqli->insert_id

Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Error de conexión: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCity LIKE City");

$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
$mysqli->query($query);

printf ("Nuevo registro con el id %d.\n", $mysqli->insert_id);

/* drop table */
$mysqli->query("DROP TABLE myCity");

/* close connection */
$mysqli->close();
?>

Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "mi_usuario", "mi_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Error de conexión: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCity LIKE City");

$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
mysqli_query($link, $query);

printf ("Nuevo registro con el id %d.\n", mysqli_insert_id($link));

/* drop table */
mysqli_query($link, "DROP TABLE myCity");

/* close connection */
mysqli_close($link);
?>

El resultado de los ejemplos serían:

Nuevo registro con el id 1.
mysqli::init
mysqli::kill
mysqli


Pide al servidor matar una hebra de MySQL

mysqli::$insert_id
mysqli::more_results
mysqli
PHP Manual

mysqli::kill

mysqli_kill

(PHP 5)

mysqli::kill -- mysqli_kill — Pide al servidor matar una hebra de MySQL

Descripción

Estilo orientado a objetos

bool mysqli::kill ( int $processid )

Estilo por procedimientos

bool mysqli_kill ( mysqli $link , int $processid )

Esta función se usa para pedir al servidor que meta la hebra MySQL especificada por el parámetro processid. Este valor tiene que ser obtenido llamando a la función mysqli_thread_id().

Para para la consulta en ejecución debe usarse el comando SQL KILL QUERY processid.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de mysqli::kill()

Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar conexión */
if (mysqli_connect_errno()) {
    printf("Conexión fallida: %s\n", mysqli_connect_error());
    exit();
}

/* determinar el id de nuestra hebra */
$thread_id = $mysqli->thread_id;

/* Matar conexión */
$mysqli->kill($thread_id);

/* Esto debería producir un error */
if (!$mysqli->query("CREATE TABLE myCity LIKE City")) {
    printf("Error: %s\n", $mysqli->error);
    exit;
}

/* cerrar conexión */
$mysqli->close();
?>

Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar conexión */
if (mysqli_connect_errno()) {
    printf("Conexión fallida: %s\n", mysqli_connect_error());
    exit();
}

/* determinar el id de nuestra hebra */
$thread_id = mysqli_thread_id($link);

/* Matar conexión */
mysqli_kill($link, $thread_id);

/* Esto debería producir un error */
if (!mysqli_query($link, "CREATE TABLE myCity LIKE City")) {
    printf("Error: %s\n", mysqli_error($link));
    exit;
}

/* cerrar conexión */
mysqli_close($link);
?>

El resultado de los ejemplos serían:

Error: MySQL server has gone away

Ver también

  • mysqli_thread_id() - Deveulve el ID del hilo de la conexión actual

mysqli::$insert_id
mysqli::more_results
mysqli


Comprueba si hay más resultados de una multi consulta

mysqli::kill
mysqli::multi_query
mysqli
PHP Manual

mysqli::more_results

mysqli_more_results

(PHP 5)

mysqli::more_results -- mysqli_more_results — Comprueba si hay más resultados de una multi consulta

Descripción

Estilo orientado a objetos

bool mysqli::more_results ( void )

Estilo por procedimientos

bool mysqli_more_results ( mysqli $link )

Indica si hay disponibles algún juego de resultados de alguna llamada previa a mysqli_multi_query().

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

Devuelve TRUE si uno o más conjuntos de resultados están disponibles desde una llamada anterior a mysqli_multi_query(), o de lo contrario devuelve FALSE.

Ejemplos

See mysqli_multi_query().

Ver también

  • mysqli_multi_query() - Realiza una consulta a la base de datos
  • mysqli_next_result() - Prepara el siguiente resultado de multi_query
  • mysqli_store_result() - Transfiere un conjunto de resulados de la última consulta
  • mysqli_use_result() - Inicia la resuperación de un conjunto de resultados

mysqli::kill
mysqli::multi_query
mysqli


Realiza una consulta a la base de datos

mysqli::more_results
mysqli::next_result
mysqli
PHP Manual

mysqli::multi_query

mysqli_multi_query

(PHP 5)

mysqli::multi_query -- mysqli_multi_query — Realiza una consulta a la base de datos

Descripción

Estilo orientado a objetos

bool mysqli::multi_query ( string $query )

Estilo por procedimientos

bool mysqli_multi_query ( mysqli $link , string $query )

Ejecuta una o múltiples consultas concatenadas por puntos y comas.

Para obtener el juego de resultados de la primera consulta se puede usar mysqli_use_result() o mysqli_store_result(). El resto de resultados de consultas se pueden obtener usando mysqli_more_results() y mysqli_next_result().

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

query

Consulta, en forma de string.

Los datos dentro de la consulta debe estar correctamente escapados.

Valores devueltos

Devuelve FALSE si la primera sentencia falló. Para obtener el resto de errores de otras sentencias debe llamarse antes a mysqli_next_result().

Ejemplos

Ejemplo #1 Ejemplo de mysqli::multi_query()

Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar conexión */
if (mysqli_connect_errno()) {
    printf("Conexión fallida: %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* ejecutar multi consulta */
if ($mysqli->multi_query($query)) {
    do {
        /* almacenar primer juego de resultados */
        if ($result = $mysqli->store_result()) {
            while ($row = $result->fetch_row()) {
                printf("%s\n", $row[0]);
            }
            $result->free();
        }
        /* mostrar divisor */
        if ($mysqli->more_results()) {
            printf("-----------------\n");
        }
    } while ($mysqli->next_result());
}

/* cerrar conexión */
$mysqli->close();
?>

Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar conexión */
if (mysqli_connect_errno()) {
    printf("Conexión fallida: %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* ejecutar multi consulta */
if (mysqli_multi_query($link, $query)) {
    do {
        /* almacenar primer juego de resultados */
        if ($result = mysqli_store_result($link)) {
            while ($row = mysqli_fetch_row($result)) {
                printf("%s\n", $row[0]);
            }
            mysqli_free_result($result);
        }
        /* mostrar divisor */
        if (mysqli_more_results($link)) {
            printf("-----------------\n");
        }
    } while (mysqli_next_result($link));
}

/* cerrar conexión */
mysqli_close($link);
?>

El resultado de los ejemplos serían algo similar a:

my_user@localhost
-----------------
Amersfoort
Maastricht
Dordrecht
Leiden
Haarlemmermeer

Ver también

  • mysqli_query() - Realiza una consulta a la Base de Datos
  • mysqli_use_result() - Inicia la resuperación de un conjunto de resultados
  • mysqli_store_result() - Transfiere un conjunto de resulados de la última consulta
  • mysqli_next_result() - Prepara el siguiente resultado de multi_query
  • mysqli_more_results() - Comprueba si hay más resultados de una multi consulta

mysqli::more_results
mysqli::next_result
mysqli


Prepara el siguiente resultado de multi_query

mysqli::multi_query
mysqli::options
mysqli
PHP Manual

mysqli::next_result

mysqli_next_result

(PHP 5)

mysqli::next_result -- mysqli_next_result — Prepara el siguiente resultado de multi_query

Descripción

Estilo orientado a objetos

bool mysqli::next_result ( void )

Estilo por procedimientos

bool mysqli_next_result ( mysqli $link )

Prepara el siguiente juego de resultados de una llamada a
 mysqli_multi_query() que puede obtenerse con
 mysqli_store_result() o con
 mysqli_use_result().

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

See mysqli_multi_query().

Ver también

  • mysqli_multi_query() - Realiza una consulta a la base de datos
  • mysqli_more_results() - Comprueba si hay más resultados de una multi consulta
  • mysqli_store_result() - Transfiere un conjunto de resulados de la última consulta
  • mysqli_use_result() - Inicia la resuperación de un conjunto de resultados

mysqli::multi_query
mysqli::options
mysqli


Establecer opciones

mysqli::next_result
mysqli::ping
mysqli
PHP Manual

mysqli::options

mysqli_options

(PHP 5)

mysqli::options -- mysqli_options — Establecer opciones

Descripción

Estilo orientado a objetos

bool mysqli::options ( int $option , mixed $value )

Estilo por procedimientos

bool mysqli_options ( mysqli $link , int $option , mixed $value )

Se usa para establecer opciones extra y para modificar al comportamiento de una conexión.

Se puede llamar varias veces a esta función para establecer varias opciones.

mysqli_options() debería invocarse después de
mysqli_init() y antes de
mysqli_real_connect().

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

opción

Opción que se desea establecer. Puede ser una de las siguientes.

Opciones válidas
Nombre | Descripción
MYSQLI_OPT_CONNECT_TIMEOUT | tiempo de expiración en segundos de la conexión (soportado en Windows con TCP/IP desde PHP 5.3.1)
MYSQLI_OPT_LOCAL_INFILE | habilitar/deshabilitar el uso de LOAD LOCAL INFILE
MYSQLI_INIT_COMMAND | comando a ejecutar tras conectar al servidor MySQL
MYSQLI_READ_DEFAULT_FILE | Leer las opciones del fichero nombrado de opciones en lugar de my.cnf
MYSQLI_READ_DEFAULT_GROUP | Leer opciones del grupo nombrado de my.cnf o del fichero especificado con MYSQL_READ_DEFAULT_FILE.
MYSQLI_SERVER_PUBLIC_KEY | Fichero de clave pública RSA usado con la autenticación basada en SHA-256.

value

Valor de la opción.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.5.0 | Se añadió la opción MYSQLI_SERVER_PUBLIC_KEY.

Ejemplos

Vea mysqli_real_connect().

Notas

Nota:

MySQLnd siempre utiliza el juego de caracteres de idioma predeterminado. El juego de caracteres se envía en la autentificación/acuerdo que se produce durante la conexión, que utilizará mysqlnd.

Libmysqlclient utiliza el juego de caracteres predeterminado definido en my.cnf o se puede establecer llamando mysqli_options() antes de user mysqli_real_connect(), pero después de mysqli_init().

Ver también

  • mysqli_init() - Inicializa y devuelve un recurso para utilizarlo con mysqli_real_connect()
  • mysqli_real_connect() - Abre una conexión a un servidor mysql

mysqli::next_result
mysqli::ping
mysqli


Comprueba la conexión al servidor, o trata de reconectar si se perdió la conexión

mysqli::options
mysqli::poll
mysqli
PHP Manual

mysqli::ping

mysqli_ping

(PHP 5)

mysqli::ping -- mysqli_ping — Comprueba la conexión al servidor, o trata de reconectar si se perdió la conexión

Descripción

Estilo orientado a objetos

bool mysqli::ping ( void )

Estilo por procedimientos

bool mysqli_ping ( mysqli $link )

Comprueba si la conexión al servidor funciona. Si se ha perdido, y la opción global mysqli.reconnect está habilitada, se intenta realizar una reconexión automática.

Esta función la pueden utilizar clientes que permanecen inactivos por mucho tiempo para comprobar si el servidor ha cerrado la conexión y reconectar si fuera necesario.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de mysqli::ping()

Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if ($mysqli->connect_errno) {
    printf("Conexión fallida: %s\n", $mysqli->connect_error);
    exit();
}

/* comprobar si el servidor sigue vivo */
if ($mysqli->ping()) {
    printf ("¡La conexión está bien!\n");
} else {
    printf ("Error: %s\n", $mysqli->error);
}

/* cerrar la conexión */
$mysqli->close();
?>

Estilo por procedimientos

<?php
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Conexión fallida: %s\n", mysqli_connect_error());
    exit();
}

/* comprobar si el servidor sigue funcionando */
if (mysqli_ping($enlace)) {
    printf ("¡La conexión está bien!\n");
} else {
    printf ("Error: %s\n", mysqli_error($enlace));
}

/* cerrar la conexión */
mysqli_close($enlace);
?>

El resultado de los ejemplos serían:

¡La conexión está bien!
mysqli::options
mysqli::poll
mysqli


Almacena en caché conexiones

mysqli::ping
mysqli::prepare
mysqli
PHP Manual

mysqli::poll

mysqli_poll

(PHP 5 >= 5.3.0)

mysqli::poll -- mysqli_poll — Almacena en caché conexiones

Descripción

Estilo orientado a objetos

public static int mysqli::poll ( array &$read , array &$error , array &$reject , int $sec [, int $usec ] )

Estilo por procedimientos

int mysqli_poll ( array &$read , array &$error , array &$reject , int $sec [, int $usec ] )

Almacena en caché conexiones. Disponible sólo con mysqlnd. Este método puede usarse como estático.

Parámetros

read

Lista de conexiones a comprobar para resultados pendientes que se pueden leer.

error

Lista de conexiones en las que ocurrió un error, por ejemplo, fallo de consulta o conexión perdida.

reject

Lista de conexiones rechazadas debido a que no se ha ejecutado ninguna consulta asíncrona para la que la función podría almacenar en caché resultados.

sec

El número de segundos a esperar, debe ser no negativo.

usec

El número de microsegundos a esperar, debe ser no negativo.

Valores devueltos

Devuelve el número de conexiones si tiene éxito, FALSE de otro modo.

Ejemplos

Ejemplo #1 Un ejemplo de mysqli_poll()

<?php
$enlace1 = mysqli_connect();
$enlace1->query("SELECT 'test'", MYSQLI_ASYNC);
$todos_los_enlaces = array($enlace1);
$procesado = 0;
do {
    $enlaces = $errores = $rechazados = array();
    foreach ($todos_los_enlaces as $enlace) {
        $enlaces[] = $errores[] = $rechazados[] = $enlace;
    }
    if (!mysqli_poll($enlaces, $errores, $rechazados, 1)) {
        continue;
    }
    foreach ($enlaces as $enlace) {
        if ($resultado = $enlace->reap_async_query()) {
            print_r($resultado->fetch_row());
            if (is_object($resultado))
                mysqli_free_result($resultado);
        } else die(sprintf("MySQLi Error: %s", mysqli_error($enlace1)));
        $procesado++;
    }
} while ($procesado < count($todos_los_enlaces));
?>

El resultado del ejemplo sería:

Array
(
    [0] => test
)

Ver también

  • mysqli_query() - Realiza una consulta a la Base de Datos
  • mysqli_reap_async_query() - Obtiene el resultado de una consulta asincrónica

mysqli::ping
mysqli::prepare
mysqli


Prepara una sentencia SQL para su ejecución

mysqli::poll
mysqli::query
mysqli
PHP Manual

mysqli::prepare

mysqli_prepare

(PHP 5)

mysqli::prepare -- mysqli_prepare — Prepara una sentencia SQL para su ejecución

Descripción

Estilo orientado a objetos

mysqli_stmt mysqli::prepare ( string $query )

Estilo por procedimientos

mysqli_stmt mysqli_prepare ( mysqli $link , string $query )

Prepara la consulta SQL y devuelve un manejador de sentencia para ser utilizado por operaciones adicionales sobre la sentencia. La consulta debe constar de una única sentencia SQL.

Los marcadores de parámetros deben estar ligados a variables de aplicación utilizando mysqli_stmt_bind_param() y/o mysqli_stmt_bind_result() antes de ejecutar la sentencia u obtener las filas.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

query

La consulta, como un string.

Nota:

No se debe agregar un punto y coma o \g a la sentencia.

Este parámetro puede incluir uno o más marcadores de parámetros en la sentencia SQL mediante la incorporación de caracteres de signo de interrogación (?) en las posiciones correctas.

Nota:

Los marcadores son legales solo en ciertos lugares en las sentencias SQL. Por ejemplo, se les permite en la lista VALUES() de una sentencia INSERT (para especificar valores de columna para una fila), o en una comparación con una columna en una cláusula WHERE para especificar un valor de comparación.

Sin embargo, no se les permite para identificadores (como nombres de tabla o columna), en la lista de selección que nombra las columnas que se devuelven mediante una sentencia SELECT, o para especificar ambos operandos de un operador binario como el signo de igualdad =. Esta última restricción es necesaria debido a que sería imposible determinar el tipo de parámetro. Tampoco está permitido comparar un marcador con NULL mediante ? IS NULL. En general, los parámetros son legales solamente en sentencias del Lenguaje de Manipulación de Datos (DML) y no en sentencias del Lenguaje de Definición de Datos (DDL).

Valores devueltos

mysqli_prepare() devuelve un objeto de sentencia o FALSE si ocurre un error.

Ejemplos

Ejemplo #1 Ejemplo de mysqli::prepare()

Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* verificar conexión */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$city = "Amersfoort";

/* crear una sentencia preparada */
if ($stmt = $mysqli->prepare("SELECT District FROM City WHERE Name=?")) {

    /* ligar parámetros para marcadores */
    $stmt->bind_param("s", $city);

    /* ejecutar la consulta */
    $stmt->execute();

    /* ligar variables de resultado */
    $stmt->bind_result($district);

    /* obtener valor */
    $stmt->fetch();

    printf("%s is in district %s\n", $city, $district);

    /* cerrar sentencia */
    $stmt->close();
}

/* cerrar conexión */
$mysqli->close();
?>

Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* verificar conexión */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$city = "Amersfoort";

/* crear una sentencia preparada */
if ($stmt = mysqli_prepare($link, "SELECT District FROM City WHERE Name=?")) {

    /* ligar parámetros para marcadores */
    mysqli_stmt_bind_param($stmt, "s", $city);

    /* ejecutar la consulta */
    mysqli_stmt_execute($stmt);

    /* ligar variables de resultado */
    mysqli_stmt_bind_result($stmt, $district);

    /* obtener valor */
    mysqli_stmt_fetch($stmt);

    printf("%s is in district %s\n", $city, $district);

    /* cerrar sentencia */
    mysqli_stmt_close($stmt);
}

/* cerrar conexión */
mysqli_close($link);
?>

El resultado de los ejemplos serían:

Amersfoort is in district Utrecht

Ver también

  • mysqli_stmt_execute() - Ejecuta una consulta preparada
  • mysqli_stmt_fetch() - Obtiene los resultados de una sentencia preparadas en las variables vinculadas
  • mysqli_stmt_bind_param() - Agrega variables a una sentencia preparada como parámetros
  • mysqli_stmt_bind_result() - Vincula variables a una sentencia preparada para el almacenamiento de resultados
  • mysqli_stmt_close() - Cierra una sentencia preparada

mysqli::poll
mysqli::query
mysqli


Realiza una consulta a la Base de Datos

mysqli::prepare
mysqli::real_connect
mysqli
PHP Manual

mysqli::query

mysqli_query

(PHP 5)

mysqli::query -- mysqli_query — Realiza una consulta a la Base de Datos

Descripción

Estilo orientado a objetos

mixed mysqli::query ( string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )

Estilo por procedimientos

mixed mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )

Realiza una consulta o busqueda(query) en la base de datos.

Para consultas que no sean DML (distintas de INSERT, UPDATE o DELETE),
esta funcion es similar a invocar a
 mysqli_real_query() seguida de
 mysqli_use_result() o
 mysqli_store_result().

Nota:

En el caso de pasarle una sentencia a mysqli_query() que sea mayor que max_allowed_packet del servidor, los códigos de error retornados difieren dependiendo de si se está usando el Controlador Nativo de MySQL(mysqlnd) o la Biblioteca Cliente de MySQL (libmysqlclient). El comportamiento es el siguiente:

  • mysqlnd en Linux retorna un codigo de error 1153. lo que significa "tiene un paquete mayor que max_allowed_packet bytes".

  • mysqlnd en Windows retorna un codigo de error 2006. Este codigo de error significa"que el servidor salio de linea".

  • libmysqlclient en toda las plataformas retorna el código de error 2006. Este mensaje de error significa que "el servidor se ha salido".

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

query

La cadena de la consulta a la base de dato.

La data dentro de la consulta a la BD debe ser escapada apropiadamente.

resultmode

Ya sea la constante MYSQLI_USE_RESULT o MYSQLI_STORE_RESULT dependiendo del resultado deseado. Por defecto se usa la constante MYSQLI_STORE_RESULT.

Si se usaMYSQLI_USE_RESULT todas la llamadas poesteriore retornaran con un error will return error Commands out of sync al menos que llamae la funcion call mysqli_free_result()

Con MYSQLI_ASYNC (disponible conh mysqlnd), es posible hacer consulta de manera asincrona. mysqli_poll() se utiliza para obtener los resultados dicha consulta

Valores devueltos

Retorna FALSE si hay fallas. Si una consulta del tipo SELECT, SHOW, DESCRIBE o EXPLAIN es exitosa la funcion mysqli_query() retornara El objeto de la clase mysqli_result. Para otras consultas mysqli_query() retornara TRUE si tiene exito.

Historial de cambios

Versión | Descripción
5.3.0 | Se agrego la posibilidad de consultas asincronas.

Ejemplos

Ejemplo #1 Ejemplo de mysqli::query()

Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

/* Create table doesn't return a resultset */
if ($mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City") === TRUE) {
    printf("Table myCity successfully created.\n");
}

/* Select queries return a resultset */
if ($result = $mysqli->query("SELECT Name FROM City LIMIT 10")) {
    printf("Select returned %d rows.\n", $result->num_rows);

    /* free result set */
    $result->close();
}

/* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */
if ($result = $mysqli->query("SELECT * FROM City", MYSQLI_USE_RESULT)) {

    /* Note, that we can't execute any functions which interact with the
       server until result set was closed. All calls will return an
       'out of sync' error */
    if (!$mysqli->query("SET @a:='this will not work'")) {
        printf("Error: %s\n", $mysqli->error);
    }
    $result->close();
}

$mysqli->close();
?>

Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Create table doesn't return a resultset */
if (mysqli_query($link, "CREATE TEMPORARY TABLE myCity LIKE City") === TRUE) {
    printf("Table myCity successfully created.\n");
}

/* Select queries return a resultset */
if ($result = mysqli_query($link, "SELECT Name FROM City LIMIT 10")) {
    printf("Select returned %d rows.\n", mysqli_num_rows($result));

    /* free result set */
    mysqli_free_result($result);
}

/* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */
if ($result = mysqli_query($link, "SELECT * FROM City", MYSQLI_USE_RESULT)) {

    /* Note, that we can't execute any functions which interact with the
       server until result set was closed. All calls will return an
       'out of sync' error */
    if (!mysqli_query($link, "SET @a:='this will not work'")) {
        printf("Error: %s\n", mysqli_error($link));
    }
    mysqli_free_result($result);
}

mysqli_close($link);
?>

El resultado de los ejemplos serían:

Table myCity successfully created.
Select returned 10 rows.
Error: Commands out of sync;  You can't run this command now

Ver también

  • mysqli_real_query() - Ejecuta una consulta SQL
  • mysqli_multi_query() - Realiza una consulta a la base de datos
  • mysqli_free_result() - Libera la memoria asociada a un resultado

mysqli::prepare
mysqli::real_connect
mysqli


Abre una conexión a un servidor mysql

mysqli::query
mysqli::real_escape_string
mysqli
PHP Manual

mysqli::real_connect

mysqli_real_connect

(PHP 5)

mysqli::real_connect -- mysqli_real_connect — Abre una conexión a un servidor mysql

Descripción

Estilo orientado a objetos

bool mysqli::real_connect ([ string $host [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket [, int $flags ]]]]]]] )

Estilo por procedimientos

bool mysqli_real_connect ( mysqli $link [, string $host [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket [, int $flags ]]]]]]] )

Establece una conexióna un motor de bases de datos MySQL.

Esta función difiere de mysqli_connect() en:

  • mysqli_real_connect() necesita un objeto válido que haya sido creado por la función mysqli_init().

  • Con la función mysqli_options() se pueden establecer varias opciones de conexión.

  • Existe un parámetro flags.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

host

Pueded ser un nombre de host o una dirección IP. Si se pasa el valor NULL o la cadena "localhost" a este parámetro, se asume el host local. Cuando sea podsible se usarán tuberías en lugar del protocolo TCP/IP.

username

El nombre de usuario de MySQL.

passwd

Si se proporciona o es NULL, el servidor MySQL intentará autenticar al usuario con los registros de usuarios que solamente no tengan contraseña. Esto permite a un nombre de usuario que sea usado con diferentes permisos (dependiendo de si se proporciona una constraseña o no).

dbname

Si se proporciona especificará la base de datos predeterminada a ser usada para realizar consultas.

port

Especifica el número de puerto con el que intentar conectarse al servidor MySQL.

socket

Especifica el socket o la tubería con nombre que debería usarse.

Nota:

Especificar el parámetro socket no determinará explícitamente el tipo de conexión a usar al conectarse al servidor MySQL. El modo de realizar la conexión a la base de datos de MySQL está determinado por el parámetro host.

flags

Con el parámetro flags se pueden establecer diferentes opciones de conexión:

Banderas soportadas
Nobre | Descripción
MYSQLI_CLIENT_COMPRESS | Usar el protocolo de comprensión
MYSQLI_CLIENT_FOUND_ROWS | Devolver el número de filas coincidentes, no el número de filas afectadas
MYSQLI_CLIENT_IGNORE_SPACE | Permitir espacioes después de los nombres de funciones. Hace que todos los nombres de funciones sean palabras reservadas.
MYSQLI_CLIENT_INTERACTIVE | Permite interactive_timeout segundos (en vez de wait_timeout segundos) de inactividad antes de cerrar la conexión
MYSQLI_CLIENT_SSL | Usar SSL (encriptación)

Nota:

Por razones de seguridad la bandera MULTI_STATEMENT no está soportada en PHP. Si quiere ejecutar múltilples consultas use la función mysqli_multi_query().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de mysqli::real_connect()

Estilo orientado a objetos

<?php

$mysqli = mysqli_init();
if (!$mysqli) {
    die('Falló mysqli_init');
}

if (!$mysqli->options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
    die('Falló la configuración de MYSQLI_INIT_COMMAND');
}

if (!$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
    die('Falló la configuración de MYSQLI_OPT_CONNECT_TIMEOUT');
}

if (!$mysqli->real_connect('localhost', 'mi_usuario', 'mi_contraseña', 'mi_bd')) {
    die('Error de conexión (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}

echo 'Éxito... ' . $mysqli->host_info . "\n";

$mysqli->close();
?>

Estilo orientado a objetos al extender la clase mysqli

<?php

class foo_mysqli extends mysqli {
    public function __construct($host, $usuario, $contraseña, $bd) {
        parent::init();

        if (!parent::options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
            die('Falló la configuración de MYSQLI_INIT_COMMAND');
        }

        if (!parent::options(MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
            die('Falló la configuración de MYSQLI_OPT_CONNECT_TIMEOUT');
        }

        if (!parent::real_connect($host, $usuario, $contraseña, $bd)) {
            die('Error de conexión (' . mysqli_connect_errno() . ') '
                    . mysqli_connect_error());
        }
    }
}

$bd = new foo_mysqli('localhost', 'mi_usuario', 'mi_contraseña', 'mi_bd');

echo 'Éxito... ' . $bd->host_info . "\n";

$bd->close();
?>

Estilo por procedimientos

<?php

$enlace = mysqli_init();
if (!$enlace) {
    die('Falló mysqli_init');
}

if (!mysqli_options($enlace, MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
    die('Falló la configuración de MYSQLI_INIT_COMMAND');
}

if (!mysqli_options($enlace, MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
    die('Falló la configuración de MYSQLI_OPT_CONNECT_TIMEOUT');
}

if (!mysqli_real_connect($enlace, 'localhost', 'mi_usuario', 'mi_contraseña', 'mi_bd')) {
    die('Error de conexión (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}

echo 'Éxito... ' . mysqli_get_host_info($enlace) . "\n";

mysqli_close($enlace);
?>

El resultado de los ejemplos serían:

Éxito... MySQL host info: localhost via TCP/IP

Notas

Nota:

MySQLnd siempre utiliza el juego de caracteres de idioma predeterminado. El juego de caracteres se envía en la autentificación/acuerdo que se produce durante la conexión, que utilizará mysqlnd.

Libmysqlclient utiliza el juego de caracteres predeterminado definido en my.cnf o se puede establecer llamando mysqli_options() antes de user mysqli_real_connect(), pero después de mysqli_init().

Ver también

  • mysqli_connect() - Alias de mysqli::__construct
  • mysqli_init() - Inicializa y devuelve un recurso para utilizarlo con mysqli_real_connect()
  • mysqli_options() - Establecer opciones
  • mysqli_ssl_set() - Usada para establece conexiones seguras usando SSL
  • mysqli_close() - Cierra una conexión a base de datos previamente abierta

mysqli::query
mysqli::real_escape_string
mysqli


Escapa los caracteres especiales de una cadena para usarla en una sentencia SQL, tomando en cuenta el conjunto de caracteres actual de la conexión

mysqli::real_connect
mysqli::real_query
mysqli
PHP Manual

mysqli::real_escape_string

mysqli_real_escape_string

(PHP 5)

mysqli::real_escape_string -- mysqli_real_escape_string — Escapa los caracteres especiales de una cadena para usarla en una sentencia SQL, tomando en cuenta el conjunto de caracteres actual de la conexión

Descripción

Estilo orientado a objetos

string mysqli::escape_string ( string $escapestr )
string mysqli::real_escape_string ( string $escapestr )

Estilo por procedimientos

string mysqli_real_escape_string ( mysqli $link , string $escapestr )

Esta función se usa para crear una cadena SQL legal que se puede usar en una sentencia SQL. La cadena dada es codificada a una cadena SQL escapada, tomando en cuenta el conjunto de caracters actual de la conexión.

Precaución

Seguridad: el conjunto de caracteres predeterminado

El conjunto de caracteres debe ser establecido a nivel del servidor, o con la función mysqli_set_charset() de la API para que afecte a mysqli_real_escape_string(). Véase la sección de conceptos sobre conjuntos de caracteres para más información.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

escapestr

La cadena a escapar.

Los caracters codifcados son NUL (ASCII 0), \n, \r, \, ', ", y Control-Z.

Valores devueltos

Devuelve una cadena escapada.

Ejemplos

Ejemplo #1 Ejemplo de mysqli::real_escape_string()

Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");

/* verificar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TEMPORARY TABLE miCiudad LIKE City");

$ciudad = "'s Hertogenbosch";

/* esta consulta fallará debido a que no escapa $ciudad */
if (!$mysqli->query("INSERT into miCiudad (Name) VALUES ('$ciudad')")) {
    printf("Error: %s\n", $mysqli->sqlstate);
}

$ciudad = $mysqli->real_escape_string($ciudad);

/* esta consulta con $ciudad escapada funcionará */
if ($mysqli->query("INSERT into miCiudad (Name) VALUES ('$ciudad')")) {
    printf("%d fila insertada.\n", $mysqli->affected_rows);
}

$mysqli->close();
?>

Estilo por procedimientos

<?php
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");

/* verificar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($enlace, "CREATE TEMPORARY TABLE miCiudad LIKE City");

$ciudad = "'s Hertogenbosch";

/* esta consulta fallará debido a que no escapa $ciudad */
if (!mysqli_query($enlace, "INSERT into miCiudad (Name) VALUES ('$ciudad')")) {
    printf("Error: %s\n", mysqli_sqlstate($enlace));
}

$ciudad = mysqli_real_escape_string($enlace, $ciudad);

/* esta consulta con $ciudad escapada funcionará */
if (mysqli_query($enlace, "INSERT into miCiudad (Name) VALUES ('$ciudad')")) {
    printf("%d fila insertada.\n", mysqli_affected_rows($enlace));
}

mysqli_close($enlace);
?>

El resultado de los ejemplos serían:

Error: 42000
1 fila insertada.

Notas

Nota:

Para quienes estén acostumbrados a usar mysql_real_escape_string(), se ha de observar que el argumento de mysqli_real_escape_string() difiere de lo que espera mysql_real_escape_string(). El identificador enlace va primero en mysqli_real_escape_string(), mientras que la cadena a escapar va primero en mysql_real_escape_string().

Ver también

  • mysqli_set_charset() - Establece el conjunto de caracteres predeterminado del cliente
  • mysqli_character_set_name() - Devuelve el juego de caracteres predeterminado para la conexión a la base de datos

mysqli::real_connect
mysqli::real_query
mysqli


Ejecuta una consulta SQL

mysqli::real_escape_string
mysqli::reap_async_query
mysqli
PHP Manual

mysqli::real_query

mysqli_real_query

(PHP 5)

mysqli::real_query -- mysqli_real_query — Ejecuta una consulta SQL

Descripción

Estilo orientado a objetos

bool mysqli::real_query ( string $query )

Estilo por procedimientos

bool mysqli_real_query ( mysqli $link , string $query )

Ejecuta una sola consulta contra la base de datos cuyo resultado puede ser recuperado o almacenado mediante las funciones mysqli_store_result() o mysqli_use_result().

Con el fin de determinar si una consulta dada debe devolver un conjunto de resultados o no, ver mysqli_field_count().

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

query

La consulta como un string.

Los datos dentro de la consulta deben estar apropiadamente escapados.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • mysqli_query() - Realiza una consulta a la Base de Datos
  • mysqli_store_result() - Transfiere un conjunto de resulados de la última consulta
  • mysqli_use_result() - Inicia la resuperación de un conjunto de resultados

mysqli::real_escape_string
mysqli::reap_async_query
mysqli


Obtiene el resultado de una consulta asincrónica

mysqli::real_query
mysqli::refresh
mysqli
PHP Manual

mysqli::reap_async_query

mysqli_reap_async_query

(PHP 5 >= 5.3.0)

mysqli::reap_async_query -- mysqli_reap_async_query — Obtiene el resultado de una consulta asincrónica

Descripción

Estilo orientado a objetos

public mysqli_result mysqli::reap_async_query ( void )

Estilo por procedimientos

mysqli_result mysqli_reap_async_query ( mysql $link )

Obtiene el resultado de una consulta asincrónica. Disponible sólo con mysqlnd.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

Devuelve mysqli_result en caso de éxito, FALSE en caso contrario.

Ver también

  • mysqli_poll() - Almacena en caché conexiones

mysqli::real_query
mysqli::refresh
mysqli


Refresca

mysqli::reap_async_query
mysqli::release_savepoint
mysqli
PHP Manual

mysqli::refresh

mysqli_refresh

(PHP 5 <= 5.3.0)

mysqli::refresh -- mysqli_refresh — Refresca

Descripción

Estilo orientado a objetos

public bool mysqli::refresh ( int $options )

Estilo por procedimientos

int mysqli_refresh ( resource $link , int $options )

Vacía las tablas o caches, o restablece la información de replicación de servidores.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

options

Las opciones para refrescar, utilizando las constantes MYSQLI_REFRESH_* tal como se documenta en las constantes MySQLi.

Ver también la documentiación oficial de » MySQL Refresh

Valores devueltos

TRUE si el refresh fue exitoso, FALSE en caso contrario.

Ver también

  • mysqli_poll() - Almacena en caché conexiones

mysqli::reap_async_query
mysqli::release_savepoint
mysqli


Revierte una transacción hasta un punto salvado previamente, con un nombre determinado

mysqli::refresh
mysqli::rollback
mysqli
PHP Manual

mysqli::release_savepoint

mysqli_release_savepoint

(PHP 5 >= 5.5.0)

mysqli::release_savepoint -- mysqli_release_savepoint — Revierte una transacción hasta un punto salvado previamente, con un nombre determinado

Descripción

Estilo orientado a objetos (method):

public bool mysqli::release_savepoint ( string $name )

Estilo por procedimientos:

bool mysqli_release_savepoint ( mysqli $link , string $name )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

name

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • mysqli_rollback() - Revierte la transacción actual

mysqli::refresh
mysqli::rollback
mysqli


Revierte la transacción actual

mysqli::release_savepoint
mysqli::rpl_query_type
mysqli
PHP Manual

mysqli::rollback

mysqli_rollback

(PHP 5)

mysqli::rollback -- mysqli_rollback — Revierte la transacción actual

Descripción

Estilo orientado a objetos

bool mysqli::rollback ([ int $flags [, string $name ]] )

Estilo por procedimientos

bool mysqli_rollback ( mysqli $link [, int $flags [, string $name ]] )

Revierte la transacción actual de la base de datos.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

flags

Una máscara de bits de constantes MYSQLI_TRANS_COR_*.

name

Si se proporciona, se ejecuta ROLLBACK/*name*/.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.5.0 | Se añadieron los parámetros flags y name.

Ejemplos

Ejemplo #1 Ejemplo de mysqli::rollback()

Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* verificar la conexión */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* deshabilitar autocommit */
$mysqli->autocommit(FALSE);

$mysqli->query("CREATE TABLE myCity LIKE City");
$mysqli->query("ALTER TABLE myCity Type=InnoDB");
$mysqli->query("INSERT INTO myCity SELECT * FROM City LIMIT 50");

/* insertar commit */
$mysqli->commit();

/* borrar todas las filas */
$mysqli->query("DELETE FROM myCity");

if ($result = $mysqli->query("SELECT COUNT(*) FROM myCity")) {
    $row = $result->fetch_row();
    printf("%d rows in table myCity.\n", $row[0]);
    /* Liberar resultado */
    $result->close();
}

/* Revertir */
$mysqli->rollback();

if ($result = $mysqli->query("SELECT COUNT(*) FROM myCity")) {
    $row = $result->fetch_row();
    printf("%d rows in table myCity (after rollback).\n", $row[0]);
    /* Liberar resultado */
    $result->close();
}

/* Eliminar la tabla myCity */
$mysqli->query("DROP TABLE myCity");

$mysqli->close();
?>

Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* verificar la conexión */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* deshabilitar autocommit */
mysqli_autocommit($link, FALSE);

mysqli_query($link, "CREATE TABLE myCity LIKE City");
mysqli_query($link, "ALTER TABLE myCity Type=InnoDB");
mysqli_query($link, "INSERT INTO myCity SELECT * FROM City LIMIT 50");

/* insertar commit */
mysqli_commit($link);

/* borrar todas las filas */
mysqli_query($link, "DELETE FROM myCity");

if ($result = mysqli_query($link, "SELECT COUNT(*) FROM myCity")) {
    $row = mysqli_fetch_row($result);
    printf("%d rows in table myCity.\n", $row[0]);
    /* Liberar resultado */
    mysqli_free_result($result);
}

/* Revertir */
mysqli_rollback($link);

if ($result = mysqli_query($link, "SELECT COUNT(*) FROM myCity")) {
    $row = mysqli_fetch_row($result);
    printf("%d rows in table myCity (after rollback).\n", $row[0]);
    /* Liberar resultado */
    mysqli_free_result($result);
}

/* Eliminar la tabla myCity */
mysqli_query($link, "DROP TABLE myCity");

mysqli_close($link);
?>

El resultado de los ejemplos serían:

0 rows in table myCity.
50 rows in table myCity (after rollback).

Ver también

  • mysqli_begin_transaction() - Inicia una transacción
  • mysqli_commit() - Realiza un "commit" de la transacción actual
  • mysqli_autocommit() - Activa o desactiva las modificaciones de la base de datos autoconsignadas
  • mysqli_release_savepoint() - Revierte una transacción hasta un punto salvado previamente, con un nombre determinado

mysqli::release_savepoint
mysqli::rpl_query_type
mysqli


Devuelve un tipo de consulta RPL

mysqli::rollback
mysqli::savepoint
mysqli
PHP Manual

mysqli::rpl_query_type

mysqli_rpl_query_type

(PHP 5)

mysqli::rpl_query_type -- mysqli_rpl_query_type — Devuelve un tipo de consulta RPL

Descripción

Estilo orientado a objetos

int mysqli::rpl_query_type ( string $query )

Estilo por procedimientos

int mysqli_rpl_query_type ( mysqli $link , string $query )

Devuelve MYSQLI_RPL_MASTER, MYSQLI_RPL_SLAVE o MYSQLI_RPL_ADMIN dependiendo del tipo de consulta. INSERT, UPDATE y similares son consultas master, SELECT es slave, y FLUSH, REPAIR y similares son admin.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Advertencia

Esta función ha sido declarada OBSOLETA y ELIMINADA desde PHP 5.3.0.

mysqli::rollback
mysqli::savepoint
mysqli


Define el nombre de un punto de salvaguarda de la transacción

mysqli::rpl_query_type
mysqli::select_db
mysqli
PHP Manual

mysqli::savepoint

mysqli_savepoint

(PHP 5 >= 5.5.0)

mysqli::savepoint -- mysqli_savepoint — Define el nombre de un punto de salvaguarda de la transacción

Descripción

Estilo orientado a objetos (method):

public bool mysqli::savepoint ( string $name )

Estilo por procedimientos:

bool mysqli_savepoint ( mysqli $link , string $name )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

name

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • mysqli_commit() - Realiza un "commit" de la transacción actual

mysqli::rpl_query_type
mysqli::select_db
mysqli


Selecciona la base de datos por defecto para realizar las consultas

mysqli::savepoint
mysqli::send_query
mysqli
PHP Manual

mysqli::select_db

mysqli_select_db

(PHP 5)

mysqli::select_db -- mysqli_select_db — Selecciona la base de datos por defecto para realizar las consultas

Descripción

Estilo orientado a objetos

bool mysqli::select_db ( string $dbname )

Estilo por procedimientos

bool mysqli_select_db ( mysqli $link , string $dbname )

Selecciona la base de datos por defecto que se utilizará para realizar las consultas, en la conexión activa.

Nota:

Esta función debería ser usada solo para cambiar la base de datos por defecto para la conexión. Se puede seleccionar la base de datos por defecto en el cuarto parámetro de la función mysqli_connect().

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

dbname

El nombre de la base de datos.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de mysqli::select_db()

Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

/* comprueba la conexión */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* devuelve el nombre de la base de datos actualmente seleccionada */
if ($result = $mysqli->query("SELECT DATABASE()")) {
    $row = $result->fetch_row();
    printf("Default database is %s.\n", $row[0]);
    $result->close();
}

/* cambia de test bd a world bd */
$mysqli->select_db("world");

/* devuelve el nombre de la base de datos actualmente seleccionadae */
if ($result = $mysqli->query("SELECT DATABASE()")) {
    $row = $result->fetch_row();
    printf("Default database is %s.\n", $row[0]);
    $result->close();
}

$mysqli->close();
?>

Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

/* comprueba la conexión */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* devuelve el nombre de la base de datos actualmente seleccionada */
if ($result = mysqli_query($link, "SELECT DATABASE()")) {
    $row = mysqli_fetch_row($result);
    printf("Default database is %s.\n", $row[0]);
    mysqli_free_result($result);
}

/* cambia de test bd a world bd */
mysqli_select_db($link, "world");

/* devuelve el nombre de la base de datos actualmente seleccionada */
if ($result = mysqli_query($link, "SELECT DATABASE()")) {
    $row = mysqli_fetch_row($result);
    printf("Default database is %s.\n", $row[0]);
    mysqli_free_result($result);
}

mysqli_close($link);
?>

El resultado de los ejemplos serían:

Default database is test.
Default database is world.

Ver también

  • mysqli_connect() - Alias de mysqli::__construct
  • mysqli_real_connect() - Abre una conexión a un servidor mysql

mysqli::savepoint
mysqli::send_query
mysqli


Enviar una consulta y devolver

mysqli::select_db
mysqli::set_charset
mysqli
PHP Manual

mysqli::send_query

mysqli_send_query

(PHP 5)

mysqli::send_query -- mysqli_send_query — Enviar una consulta y devolver

Descripción

Estilo orientado a objetos

bool mysqli::send_query ( string $query )

Estilo por procedimientos

bool mysqli_send_query ( mysqli $link , string $query )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Advertencia

Esta función ha sido declarada OBSOLETA y ELIMINADA desde PHP 5.3.0.

mysqli::select_db
mysqli::set_charset
mysqli


Establece el conjunto de caracteres predeterminado del cliente

mysqli::send_query
mysqli::set_local_infile_default
mysqli
PHP Manual

mysqli::set_charset

mysqli_set_charset

(PHP 5 >= 5.0.5)

mysqli::set_charset -- mysqli_set_charset — Establece el conjunto de caracteres predeterminado del cliente

Descripción

Estilo orientado a objetos

bool mysqli::set_charset ( string $charset )

Estilo por procedimientos

bool mysqli_set_charset ( mysqli $link , string $charset )

Establece el conjunto de caracteres predeterminado a usar cuando se envían datos desde y hacia el servidor de la base de datos.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

charset

El conjunto de caracteres a establecer como predeterminado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota:

Para usar esta función en una plataforma Windows se necesita la biblioteca cliente de MySQL version 4.1.11 o superior (para MySQL 5.0 se necesita 5.0.6 o superior).

Nota:

Esta es la mejor forma de cambiar el conjunto de caracteres. No se recomienda usar mysqli_query() para establecerlo (como SET NAMES utf8). Véase la sección Conceptos del conjunto de caracteres de MySQL para más información.

Ejemplos

Ejemplo #1 Ejemplo de mysqli::set_charset()

Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "test");

/* verificar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

/* cambiar el conjunto de caracteres a utf8 */
if (!$mysqli->set_charset("utf8")) {
    printf("Error cargando el conjunto de caracteres utf8: %s\n", $mysqli->error);
} else {
    printf("Conjunto de caracteres actual: %s\n", $mysqli->character_set_name());
}

$mysqli->close();
?>

Estilo por procedimientos

<?php
$enlace = mysqli_connect('localhost', 'mi_usuario', 'mi_contraseña', 'test');

/* verificar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

/* cambiar el conjunto de caracteres a utf8 */
if (!mysqli_set_charset($enlace, "utf8")) {
    printf("Error cargando el conjunto de caracteres utf8: %s\n", mysqli_error($enlace));
} else {
    printf("Conjunto de caracteres actual: %s\n", mysqli_character_set_name($enlace));
}

mysqli_close($enlace);
?>

El resultado de los ejemplos serían:

Conjunto de caracteres actualt: utf8

Ver también

  • mysqli_character_set_name() - Devuelve el juego de caracteres predeterminado para la conexión a la base de datos
  • mysqli_real_escape_string() - Escapa los caracteres especiales de una cadena para usarla en una sentencia SQL, tomando en cuenta el conjunto de caracteres actual de la conexión
  • » Lista de los conjuntos de caracteres que soporta MySQL

mysqli::send_query
mysqli::set_local_infile_default
mysqli


Desestablece el gestor definido por el usuario para un comando load local infile

mysqli::set_charset
mysqli::set_local_infile_handler
mysqli
PHP Manual

mysqli::set_local_infile_default

mysqli_set_local_infile_default

(PHP 5)

mysqli::set_local_infile_default -- mysqli_set_local_infile_default — Desestablece el gestor definido por el usuario para un comando load local infile

Descripción

void mysqli_set_local_infile_default ( mysqli $link )

Desactiva un gestor LOAD DATA INFILE LOCAL previamente establecido con mysqli_set_local_infile_handler().

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

No devuelve ningún valor.

Ejemplos

Véase el ejemplo de mysqli_set_local_infile_handler()

Ver también

  • mysqli_set_local_infile_handler() - Establecer la llamada de retorno para el comando LOAD DATA LOCAL INFILE

mysqli::set_charset
mysqli::set_local_infile_handler
mysqli


Establecer la llamada de retorno para el comando LOAD DATA LOCAL INFILE

mysqli::set_local_infile_default
mysqli::$sqlstate
mysqli
PHP Manual

mysqli::set_local_infile_handler

mysqli_set_local_infile_handler

(PHP 5)

mysqli::set_local_infile_handler -- mysqli_set_local_infile_handler — Establecer la llamada de retorno para el comando LOAD DATA LOCAL INFILE

Descripción

Estilo orientado a objetos

bool mysqli::set_local_infile_handler ( mysqli $link , callable $read_func )

Estilo por procedimientos

bool mysqli_set_local_infile_handler ( mysqli $link , callable $read_func )

Establece la llamada de retorno para el comando LOAD DATA LOCAL INFILE

La tarea de la llamada de retorno es leer la entrada desde un fichero especificado en LOAD DATA LOCAL INFILE y reformatearla al formato entendido por LOAD DATA INFILE.

Los datos devueltos necesitan coincidir con el formato especificado en LOAD DATA

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

read_func

Una llamada de retorno o un método de un objeto que toma los siguientes parámetros:

stream

Un flujo de PHP asociado con los comandos INFILE de SQL

&buffer

Un buffer de cadena donde almacenar la entrada reescrita

buflen

El número máximo de caracteres a almacenar en el buffer

&errormsg

Si ocurre un error se puede almacenar un mensaje de error aquí

La llamada de retorno debería devolver el número de caracters almacenados en el buffer o un valor negativo si ocurriera un error.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de mysqli::set_local_infile_handler()

Estilo orientado a objetos

<?php
  $db = mysqli_init();
  $db->real_connect("localhost","root","","test");

  function callme($stream, &$buffer, $buflen, &$errmsg)
  {
    $buffer = fgets($stream);

    echo $buffer;

    // convertir a mayúsculas y reemplazar el delimitador "," con [TAB]
    $buffer = strtoupper(str_replace(",", "\t", $buffer));

    return strlen($buffer);
  }

  echo "Entrada:\n";

  $db->set_local_infile_handler("callme");
  $db->query("LOAD DATA LOCAL INFILE 'input.txt' INTO TABLE t1");
  $db->set_local_infile_default();

  $res = $db->query("SELECT * FROM t1");

  echo "\nResultado:\n";
  while ($fila = $res->fetch_assoc()) {
    echo join(",", $fila)."\n";
  }
?>

Estilo por procedimientos

<?php
  $db = mysqli_init();
  mysqli_real_connect($db, "localhost","root","","test");

  function callme($stream, &$buffer, $buflen, &$errmsg)
  {
    $buffer = fgets($stream);

    echo $buffer;

    // convertir a mayúsculas y reemplazar el delimitador "," con [TAB]
    $buffer = strtoupper(str_replace(",", "\t", $buffer));

    return strlen($buffer);
  }

  echo "Entrada:\n";

  mysqli_set_local_infile_handler($db, "callme");
  mysqli_query($db, "LOAD DATA LOCAL INFILE 'input.txt' INTO TABLE t1");
  mysqli_set_local_infile_default($db);

  $res = mysqli_query($db, "SELECT * FROM t1");

  echo "\nResultado:\n";
  while ($fila = mysqli_fetch_assoc($res)) {
    echo join(",", $fila)."\n";
  }
?>

El resultado de los ejemplos serían:

Entrada:
23,foo
42,bar

Resultado:
23,FOO
42,BAR

Ver también

  • mysqli_set_local_infile_default() - Desestablece el gestor definido por el usuario para un comando load local infile

mysqli::set_local_infile_default
mysqli::$sqlstate
mysqli


Devuelve el error SQLSTATE de la operación de MySQL previa

mysqli::set_local_infile_handler
mysqli::ssl_set
mysqli
PHP Manual

mysqli::$sqlstate

mysqli_sqlstate

(PHP 5)

mysqli::$sqlstate -- mysqli_sqlstate — Devuelve el error SQLSTATE de la operación de MySQL previa

Descripción

Estilo orientado a objetos

string $mysqli->sqlstate;

Estilo por procedimientos

string mysqli_sqlstate ( mysqli $link )

Devuelve una cadena que contiene el código de error SQLSTATE del último error. El código de error consiste en cinco caracteres. '00000' significa sin error. Los valores son especificados por ANSI SQL y ODBC. Para una lista de los posibles valores, véase » http://dev.mysql.com/doc/mysql/en/error-handling.html.

Nota:

Observe que no todos los errores de MySQL están aún referenciados a SQLSTATE. El valor HY000 (error general error) se utiliza para error no referenciados.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

Devuelve una cadena que contiene el código de error SQLSTATE del último error. El código de error consiste en cinco caracteres. '00000' significa sin error.

Ejemplos

Ejemplo #1 Ejemplo de $mysqli->sqlstate

Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");

/* Comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

/* La tabla City ya existe, por lo que deberíamos obtener un error */
if (!$mysqli->query("CREATE TABLE City (ID INT, Name VARCHAR(30))")) {
    printf("Error - SQLSTATE %s.\n", $mysqli->sqlstate);
}

$mysqli->close();
?>

Estilo por procedimientos

<?php
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");

/* Comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

/* La tabla City ya existe, por lo que deberíamos obtener un error */
if (!mysqli_query($enlace, "CREATE TABLE City (ID INT, Name VARCHAR(30))")) {
    printf("Error - SQLSTATE %s.\n", mysqli_sqlstate($enlace));
}

mysqli_close($enlace);
?>

El resultado de los ejemplos serían:

Error - SQLSTATE 42S01.

Ver también

  • mysqli_errno() - Devuelve el código del error de la última función llamada
  • mysqli_error() - Devuelve una cadena que describe el último error

mysqli::set_local_infile_handler
mysqli::ssl_set
mysqli


Usada para establece conexiones seguras usando SSL

mysqli::$sqlstate
mysqli::stat
mysqli
PHP Manual

mysqli::ssl_set

mysqli_ssl_set

(PHP 5)

mysqli::ssl_set -- mysqli_ssl_set — Usada para establece conexiones seguras usando SSL

Descripción

Estilo orientado a objetos

bool mysqli::ssl_set ( string $key , string $cert , string $ca , string $capath , string $cipher )

Estilo por procedimientos

bool mysqli_ssl_set ( mysqli $link , string $key , string $cert , string $ca , string $capath , string $cipher )

Usada para establece conexiones seguras usando SSL. Se debe llamar antes a mysqli_real_connect(). Esta función no hará nada a menos que esté habilitado el soporte para OpenSSL.

Observe que el Controlador Nativo de MySQL no soporta SSL antes de PHP 5.3.3, por lo que llamar a esta función cuando se utiliza el Controlador Nativo de MySQL resultará en un error. El Controlador Nativo de MySQL está habilitado de forma predeterminada en Microsoft Windows desde la versión 5.3 de PHP en adelante.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

key

El nombre de la ruta al fichero de clave.

cert

El nombre de la ruta al fichero de certificado.

ca

El nombre de la ruta al fichero de autoridad certificadora.

capath

El nombre de la ruta al directorio que contiene los certificados AC SSL de confiaza en formato PEM.

cipher

Una lista de cifradores permisibles a usar para la encriptación SSL.

Cualquier parámetro SSL sin usar puede darse como NULL

Valores devueltos

Esta función siempres devuelve el valor TRUE. Si la configuración de SSL no es correcta, mysqli_real_connect() devolverá un error al intentar conectarse.

Ver también

  • mysqli_options() - Establecer opciones
  • mysqli_real_connect() - Abre una conexión a un servidor mysql

mysqli::$sqlstate
mysqli::stat
mysqli


Obtiene el estado actual del sistema

mysqli::ssl_set
mysqli::stmt_init
mysqli
PHP Manual

mysqli::stat

mysqli_stat

(PHP 5)

mysqli::stat -- mysqli_stat — Obtiene el estado actual del sistema

Descripción

Estilo orientado a objetos

string mysqli::stat ( void )

Estilo por procedimientos

string mysqli_stat ( mysqli $link )

mysqli_stat() devuelve una cadena que contiene información similar a la proporcionada por el comando 'mysqladmin status'. Incluye el tiempo en funcionamiento en segundos y el número de hilos en ejecución, de preguntas, de recargas y de tablas abiertas.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

Una cadena que describe el estado del servidor. FALSE si ocurrió un error.

Ejemplos

Ejemplo #1 Ejemplo de mysqli::stat()

Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

printf ("Estado del sistema: %s\n", $mysqli->stat());

$mysqli->close();
?>

Estilo por procedimientos

<?php
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

printf("Estado del sistema: %s\n", mysqli_stat($enlace));

mysqli_close($enlace);
?>

El resultado de los ejemplos serían:

Estado del sistema: Uptime: 272  Threads: 1  Questions: 5340  Slow queries: 0
Opens: 13  Flush tables: 1  Open tables: 0  Queries per second avg: 19.632
Memory in use: 8496K  Max memory used: 8560K

Ver también

  • mysqli_get_server_info() - Devuelve la versión del servidor MySQL

mysqli::ssl_set
mysqli::stmt_init
mysqli


Inicializa una sentencia y devuelve un objeto para usarlo con mysqli_stmt_prepare

mysqli::stat
mysqli::store_result
mysqli
PHP Manual

mysqli::stmt_init

mysqli_stmt_init

(PHP 5)

mysqli::stmt_init -- mysqli_stmt_init — Inicializa una sentencia y devuelve un objeto para usarlo con mysqli_stmt_prepare

Descripción

Estilo orientado a objetos

mysqli_stmt mysqli::stmt_init ( void )

Estilo por procedimientos

mysqli_stmt mysqli_stmt_init ( mysqli $link )

Asigna e inicializa un objeto de sentencia apropiado para mysqli_stmt_prepare().

Nota:

Cualquier llamada subsiguiente a cualquier función de mysqli_stmt fallará a menos que se llame antes a mysqli_stmt_prepare().

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

Returns an object.

Ver también

  • mysqli_stmt_prepare() - Preparar una sentencia SQL para su ejecución

mysqli::stat
mysqli::store_result
mysqli


Transfiere un conjunto de resulados de la última consulta

mysqli::stmt_init
mysqli::$thread_id
mysqli
PHP Manual

mysqli::store_result

mysqli_store_result

(PHP 5)

mysqli::store_result -- mysqli_store_result — Transfiere un conjunto de resulados de la última consulta

Descripción

Estilo orientado a objetos

mysqli_result mysqli::store_result ( void )

Estilo por procedimientos

mysqli_result mysqli_store_result ( mysqli $link )

Transfiere el conjunto de resultados de la última consulta de la conexión a la base de datos representada por el parámetro link a ser usado con la función mysqli_data_seek().

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

Devuelve un objeto de resultados almacenado en buffer o FALSE si ocurrió un error.

Nota:

mysqli_store_result() devuelve FALSE en caso de que la consulta no devuelve un conjunto de resultados (si la consulta era, por ejemplo, una sentencia INSERT). Esta función también devuelve FALSE si la lectura del conjunto de resultados falla. Se puede coprobar si se ha obtenido un error comprobando si mysqli_error() no devuelve una cadena vacía, si mysqli_errno() devuelve un valor distinto de cero, o si mysqli_field_count() devuelve un valor distinto de cero. Otra posible razón para que esta función devuelva FALSE después de una llamada con éxito a mysqli_query() puede ser un conjunto de resultados demasiado grande (no es posible asignarle memoria). Si mysqli_field_count() deveulve un valor distinto de cero, la sentencia debería haber producido un conjunto de resultados no vacío.

Notas

Nota:

Aunque es una buena práctica liberar la memoria usada por los resultados de una consulta usando la función mysqli_free_result(), al transferir conjuntos de resultados grandes usando la función mysqli_store_result() esto se convierte en particularmente importante.

Ejemplos

Véase mysqli_multi_query().

Ver también

  • mysqli_real_query() - Ejecuta una consulta SQL
  • mysqli_use_result() - Inicia la resuperación de un conjunto de resultados

mysqli::stmt_init
mysqli::$thread_id
mysqli


Deveulve el ID del hilo de la conexión actual

mysqli::store_result
mysqli::thread_safe
mysqli
PHP Manual

mysqli::$thread_id

mysqli_thread_id

(PHP 5)

mysqli::$thread_id -- mysqli_thread_id — Deveulve el ID del hilo de la conexión actual

Descripción

Estilo orientado a objetos

int $mysqli->thread_id;

Estilo por procedimientos

int mysqli_thread_id ( mysqli $link )

La función mysqli_thread_id() devuelve el ID del hilo de la conexión actual, el cual puede ser destruido usando la función mysqli_kill(). Si se pierde la conexión y se reconecta con mysqli_ping(), el ID del hilo será otro. Por lo tanto se debería obtener el ID del hilo únicamente cuando se necesite.

Nota:

El ID del hilo es asignado basándose en una conexión-por-conexión. Por lo tanto, si la conexión se pierde y se restablece se asignará un nuevo ID de hio.

Para destruir una consulta en ejecución se puede usar el comando SQL KILL QUERY id_proceso.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

Devuelve el ID del hilo de la conexión actual.

Ejemplos

Ejemplo #1 Ejemplo $mysqli->thread_id

Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

/* determinar el id del hilo */
$id_hilo = $mysqli->thread_id;

/* Destruir la conexión */
$mysqli->kill($id_hilo);

/* Esto debería producir un error */
if (!$mysqli->query("CREATE TABLE myCity LIKE City")) {
    printf("Error: %s\n", $mysqli->error);
    exit;
}

/* cerrar la conexión */
$mysqli->close();
?>

Estilo por procedimientos

<?php
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

/* determinar el id del hilo */
$id_hilo = mysqli_thread_id($enlace);

/* Destruir la conexión */
mysqli_kill($enlace, $id_hilo);

/* Esto debería producir un error */
if (!mysqli_query($enlace, "CREATE TABLE myCity LIKE City")) {
    printf("Error: %s\n", mysqli_error($enlace));
    exit;
}

/* cerrar la conexión */
mysqli_close($enlace);
?>

El resultado de los ejemplos serían:

Error: MySQL server has gone away

Ver también

  • mysqli_kill() - Pide al servidor matar una hebra de MySQL

mysqli::store_result
mysqli::thread_safe
mysqli


Devuelve si la seguridad a nivel de hilos está dada o no

mysqli::$thread_id
mysqli::use_result
mysqli
PHP Manual

mysqli::thread_safe

mysqli_thread_safe

(PHP 5)

mysqli::thread_safe -- mysqli_thread_safe — Devuelve si la seguridad a nivel de hilos está dada o no

Descripción

Estilo por procedimientos

bool mysqli_thread_safe ( void )

Indica si la biblioteca cliente está compilada con segurdid a nivel de hilos.

Valores devueltos

TRUE si la biblioteca cliente es segura a nivel de hilos, FALSE si no.

mysqli::$thread_id
mysqli::use_result
mysqli


Inicia la resuperación de un conjunto de resultados

mysqli::thread_safe
mysqli::$warning_count
mysqli
PHP Manual

mysqli::use_result

mysqli_use_result

(PHP 5)

mysqli::use_result -- mysqli_use_result — Inicia la resuperación de un conjunto de resultados

Descripción

Estilo orientado a objetos

mysqli_result mysqli::use_result ( void )

Estilo por procedimientos

mysqli_result mysqli_use_result ( mysqli $link )

Usada par iniciar la recuperación de un conjunto de resultados de la última consulta ejecutada usando la función mysqli_real_query() sobre la conexión a la base de datos.

Se debe llamar a esta función o a mysqli_store_result() antes de que los resultados de una consulta puedan ser recuperados, y una o la otra debe llamarse para prevenir que falle la siguiente consulta en esa conexión a la base de datos.

Nota:

La función mysqli_use_result() no transfiere el conjunto de resultados por completo desde la base de datos y por lo tanto no se pueden usar funciones como mysqli_data_seek() para mover una fila en particular dentro del conjunto. Para usar esta funcionalidad, el conjunto de resultados debe ser almacenado usando mysqli_store_result(). No se debería usar mysqli_use_result() si se realizan muchos procesos en el lado del cliente, ya que ocupará el servidor e impedirá que otros hilos actualicen cualquier table desde la cuales se están obteniendo los datos.

Valores devueltos

Devuelve un objeto de resultados no almacenado en buffer o FALSE si ocurrió un error.

Ejemplos

Ejemplo #1 Ejemplo de mysqli::use_result()

Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");

/* Comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

$consulta  = "SELECT CURRENT_USER();";
$consulta .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* ejecutar una multi consulta */
if ($mysqli->multi_query($consulta)) {
    do {
        /* primero almacenar el conjunto de resultados */
        if ($resultado = $mysqli->use_result()) {
            while ($fila = $resultado->fetch_row()) {
                printf("%s\n", $fila[0]);
            }
            $resultado->close();
        }
        /* imprimir un separador */
        if ($mysqli->more_results()) {
            printf("-----------------\n");
        }
    } while ($mysqli->next_result());
}

/* close connection */
$mysqli->close();
?>

Estilo por procedimientos

<?php
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");

/* Comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

$consulta  = "SELECT CURRENT_USER();";
$consulta .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* ejecutar una multi consulta */
if (mysqli_multi_query($enlace, $consulta)) {
    do {
        /* primero almacenar el conjunto de resultados */
        if ($resultado = mysqli_use_result($enlace)) {
            while ($fila = mysqli_fetch_row($resultado)) {
                printf("%s\n", $fila[0]);
            }
            mysqli_free_result($resultado);
        }
        /* imprimir un separador */
        if (mysqli_more_results($enlace)) {
            printf("-----------------\n");
        }
    } while (mysqli_next_result($enlace));
}

/* close connection */
mysqli_close($enlace);
?>

El resultado de los ejemplos serían:

mi_usuario@localhost
-----------------
Amersfoort
Maastricht
Dordrecht
Leiden
Haarlemmermeer

Ver también

  • mysqli_real_query() - Ejecuta una consulta SQL
  • mysqli_store_result() - Transfiere un conjunto de resulados de la última consulta

mysqli::thread_safe
mysqli::$warning_count
mysqli


Devuelve el número de mensajes de advertencia de la última consulta para un enlace dado

mysqli::use_result
mysqli_stmt
mysqli
PHP Manual

mysqli::$warning_count

mysqli_warning_count

(PHP 5)

mysqli::$warning_count -- mysqli_warning_count — Devuelve el número de mensajes de advertencia de la última consulta para un enlace dado

Descripción

Estilo orientado a objetos

int $mysqli->warning_count;

Estilo por procedimientos

int mysqli_warning_count ( mysqli $link )

Devuelve el número de mensajes de advertencia de la última consulta en la conexión a la base de datos.

Nota:

Para recuperar los mensajes de advertencia que puede utilizar el comando SQL SHOW WARNINGS [limit row_count].

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

Cantidad de mensajes de advertencia o cero si no hubo mensajes de advertencia

Ejemplos

Ejemplo #1 Ejemplo de $mysqli->warning_count

Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCity LIKE City");

/* a remarkable city in Wales */
$query = "INSERT INTO myCity (CountryCode, Name) VALUES('GBR',
        'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";

$mysqli->query($query);

if ($mysqli->warning_count) {
    if ($result = $mysqli->query("SHOW WARNINGS")) {
        $row = $result->fetch_row();
        printf("%s (%d): %s\n", $row[0], $row[1], $row[2]);
        $result->close();
    }
}

/* close connection */
$mysqli->close();
?>

Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCity LIKE City");

/* a remarkable long city name in Wales */
$query = "INSERT INTO myCity (CountryCode, Name) VALUES('GBR',
        'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";

mysqli_query($link, $query);

if (mysqli_warning_count($link)) {
    if ($result = mysqli_query($link, "SHOW WARNINGS")) {
        $row = mysqli_fetch_row($result);
        printf("%s (%d): %s\n", $row[0], $row[1], $row[2]);
        mysqli_free_result($result);
    }
}

/* close connection */
mysqli_close($link);
?>

El resultado de los ejemplos serían:

Warning (1264): Data truncated for column 'Name' at row 1

Ver también

  • mysqli_errno() - Devuelve el código del error de la última función llamada
  • mysqli_error() - Devuelve una cadena que describe el último error
  • mysqli_sqlstate() - Devuelve el error SQLSTATE de la operación de MySQL previa

mysqli::use_result
mysqli_stmt
mysqli


La clase mysqli_stmt

(PHP 5)

Introducción

Representa una consulta preparada.

Sinopsis de la Clase

mysqli_stmt {
/* Propiedades */
int $affected_rows;
int $errno;
array $error_list;
string $error;
int $field_count;
int $insert_id;
int $num_rows;
int $param_count;
string $sqlstate;
/* Métodos */
int attr_get ( int $attr )
bool attr_set ( int $attr , int $mode )
bool bind_param ( string $types , mixed &$var1 [, mixed &$... ] )
bool bind_result ( mixed &$var1 [, mixed &$... ] )
bool close ( void )
void data_seek ( int $offset )
bool execute ( void )
bool fetch ( void )
void free_result ( void )
mysqli_result get_result ( void )
object get_warnings ( mysqli_stmt $stmt )
mixed prepare ( string $query )
bool reset ( void )
mysqli_result result_metadata ( void )
bool send_long_data ( int $param_nr , string $data )
bool store_result ( void )
}

Tabla de contenidos

  • mysqli_stmt::$affected_rows — Devuelve el número total de filas cambiadas, borradas, o insertadas por la última sentencia ejecutada
  • mysqli_stmt::attr_get — Se utiliza para obtener el valor actual de un atributo de la sentencia
  • mysqli_stmt::attr_set — Se utiliza para modificar el comportamiento de una sentencia preparada
  • mysqli_stmt::bind_param — Agrega variables a una sentencia preparada como parámetros
  • mysqli_stmt::bind_result — Vincula variables a una sentencia preparada para el almacenamiento de resultados
  • mysqli_stmt::close — Cierra una sentencia preparada
  • mysqli_stmt::data_seek — Busca una fila arbitraria en un conjunto de resultados de una sentencia
  • mysqli_stmt::$errno — Devuelve el código de error de la llamada de la sentencia más reciente
  • mysqli_stmt::$error_list — Devuelve una lista de errores de la última sentencia ejecutada
  • mysqli_stmt::$error — Devuelve una descripción como cadena del último error de una sentencia
  • mysqli_stmt::execute — Ejecuta una consulta preparada
  • mysqli_stmt::fetch — Obtiene los resultados de una sentencia preparadas en las variables vinculadas
  • mysqli_stmt::$field_count — Devuelve el número de campos de la sentencia dada
  • mysqli_stmt::free_result — Libera la memoria de los resultados almacenados del gestor de sentencia dado
  • mysqli_stmt::get_result — Obtiene un conjunto de resultados de una sentencia preparada
  • mysqli_stmt::get_warnings — Obtener los resultados de SHOW WARNINGS
  • mysqli_stmt::$insert_id — Obtener el ID generado en la operación INSERT anterior
  • mysqli_stmt::more_results — Comprobar si existen más resultados de una consulta de consultas múltiples
  • mysqli_stmt::next_result — Lee el siguiente resultado de una consulta múltiple
  • mysqli_stmt::$num_rows — Devuelve el número de filas de un conjunto de resultados de una sentencia
  • mysqli_stmt::$param_count — Devuelve el número de parámetros de la sentencia dada
  • mysqli_stmt::prepare — Preparar una sentencia SQL para su ejecución
  • mysqli_stmt::reset — Reinicia una sentencia preparada
  • mysqli_stmt::result_metadata — Devuelve los metadatos del conjunto de resultados de una sentencia preparada
  • mysqli_stmt::send_long_data — Enviar datos en bloques
  • mysqli_stmt::$sqlstate — Devuelve el error SQLSTATE de la operación de sentencia previa
  • mysqli_stmt::store_result — Transfiere un conjunto de resultados desde una sentencia preparada
mysqli::$warning_count
mysqli_stmt::$affected_rows
Mysqli


Devuelve el número total de filas cambiadas, borradas, o insertadas por la última sentencia ejecutada

mysqli_stmt
mysqli_stmt::attr_get
mysqli_stmt
PHP Manual

mysqli_stmt::$affected_rows

mysqli_stmt_affected_rows

(PHP 5)

mysqli_stmt::$affected_rows -- mysqli_stmt_affected_rows — Devuelve el número total de filas cambiadas, borradas, o insertadas por la última sentencia ejecutada

Descripción

Estilo orientado a objetos

int $mysqli_stmt->affected_rows;

Estilo por procedimientos

int mysqli_stmt_affected_rows ( mysqli_stmt $stmt )

Devuelve el número de filas afectadas por una consulta INSERT, UPDATE, o DELETE.

Esta función sólo funciona con las consultas que actualizan una tabla. Con el fin de obtener el número de filas de una consulta SELECT, usar mysqli_stmt_num_rows() en su lugar.

Parámetros

stmt

Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().

Valores devueltos

Un entero mayor que cero indica el número de filas afectadas o recuperadas. Cero indica que no hubo registros actualizados para un sentencia UPDATE/DELETE, ninguna fila coincidio con la cláusula WHERE en la consulta o que ninguna consulta ha sido ejecutado. -1 Indica que la consulta ha devuelto un error. NULL indica un argumento no válido fue enviada a la función.

Nota:

Si el número de filas afectadas es mayor que el valor entero maximo de PHP, el número de filas afectadas se obtiene como una cadena.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_clave", "world");

/* verificar conexión */
if (mysqli_connect_errno()) {
    printf("Error de conexión: %s\n", mysqli_connect_error());
    exit();
}

/* crear tabla temporal */
$mysqli->query("CREATE TEMPORARY TABLE myCountry LIKE Country");

$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";

/* preparar sentencia */
if ($stmt = $mysqli->prepare($query)) {

    /* Agrega variable para marcador de posición */
    $code = 'A%';
    $stmt->bind_param("s", $code);

    /* ejecutar sentencia */
    $stmt->execute();

    printf("filas insertadas: %d\n", $stmt->affected_rows);

    /* cerrar sentencia */
    $stmt->close();
}

/* cerrar conexión */
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "mi_usuario", "my_clave", "world");

/* verificar conexión */
if (mysqli_connect_errno()) {
    printf("Error de conexión: %s\n", mysqli_connect_error());
    exit();
}

/* crear tabla temporal*/
mysqli_query($link, "CREATE TEMPORARY TABLE myCountry LIKE Country");

$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";

/* preparar sentencia */
if ($stmt = mysqli_prepare($link, $query)) {

    /* Agrega variable para marcador de posición */
    $code = 'A%';
    mysqli_stmt_bind_param($stmt, "s", $code);

    /* ejecutar sentencia */
    mysqli_stmt_execute($stmt);

    printf("filas insertadas: %d\n", mysqli_stmt_affected_rows($stmt));

    /* cerrar sentencia */
    mysqli_stmt_close($stmt);
}

/* cerrar conexión */
mysqli_close($link);
?>

El resultado del ejemplo sería:

filas insertadas: 17

Ver también

  • mysqli_stmt_num_rows() - Devuelve el número de filas de un conjunto de resultados de una sentencia
  • mysqli_prepare() - Prepara una sentencia SQL para su ejecución

mysqli_stmt
mysqli_stmt::attr_get
mysqli_stmt


Se utiliza para obtener el valor actual de un atributo de la sentencia

mysqli_stmt::$affected_rows
mysqli_stmt::attr_set
mysqli_stmt
PHP Manual

mysqli_stmt::attr_get

mysqli_stmt_attr_get

(PHP 5)

mysqli_stmt::attr_get -- mysqli_stmt_attr_get — Se utiliza para obtener el valor actual de un atributo de la sentencia

Descripción

Estilo orientado a objetos

int mysqli_stmt::attr_get ( int $attr )

Estilo por procedimientos

int mysqli_stmt_attr_get ( mysqli_stmt $stmt , int $attr )

Obtiene el valor actual de un atributo de la sentencia.

Parámetros

stmt

Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().

attr

El atributo que desea obtener.

Valores devueltos

Devuelve FALSE si el atributo no se encuentra, en caso contrario devuelve el valor del atributo.

mysqli_stmt::$affected_rows
mysqli_stmt::attr_set
mysqli_stmt


Se utiliza para modificar el comportamiento de una sentencia preparada

mysqli_stmt::attr_get
mysqli_stmt::bind_param
mysqli_stmt
PHP Manual

mysqli_stmt::attr_set

mysqli_stmt_attr_set

(PHP 5)

mysqli_stmt::attr_set -- mysqli_stmt_attr_set — Se utiliza para modificar el comportamiento de una sentencia preparada

Descripción

Estilo orientado a objetos

bool mysqli_stmt::attr_set ( int $attr , int $mode )

Estilo por procedimientos

bool mysqli_stmt_attr_set ( mysqli_stmt $stmt , int $attr , int $mode )

Se utiliza para modificar el comportamiento de una sentencia preparada. Esta función puede ser llamada varias veces para establecer varios atributos.

Parámetros

stmt

Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().

attr

El atributo que desea establecer. Puede tener uno de los siguientes valores:

Valores de atributos
Carácter | Descripción
MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH | Si se establece a 1, mysqli_stmt_store_result() actualizará el valor de metadato de MYSQL_FIELD->max_length.
MYSQLI_STMT_ATTR_CURSOR_TYPE | Tipo de cursor para abrir la sentencia cuando mysqli_stmt_execute() se invoca. mode puede ser MYSQLI_CURSOR_TYPE_NO_CURSOR (por defecto) o MYSQLI_CURSOR_TYPE_READ_ONLY.
MYSQLI_STMT_ATTR_PREFETCH_ROWS | Número de filas a obtener de un servidor en un momento cuando se utiliza un cursor. mode puede estar en el rango de 1 al máximo valor de un entero sin signo. El valor predeterminado es 1.

Si usa la opción MYSQLI_STMT_ATTR_CURSOR_TYPE con MYSQLI_CURSOR_TYPE_READ_ONLY, un cursor es abierto para la sentencia cuando se invoca mysqli_stmt_execute(). Si ya hay un cursor abierto desde la llamada anterior de mysqli_stmt_execute(), se cierra el cursor antes de abrir uno nuevo. mysqli_stmt_reset() también cierra cualquier cursor abierto antes de preparar la sentencia para su re-ejecución. mysqli_stmt_free_result() cierra cualquier cursor abierto.

Si abre un cursor para una sentencia preparada, mysqli_stmt_store_result() es innecesario.

mode

El valor a asignar a este atributo.

mysqli_stmt::attr_get
mysqli_stmt::bind_param
mysqli_stmt


Agrega variables a una sentencia preparada como parámetros

mysqli_stmt::attr_set
mysqli_stmt::bind_result
mysqli_stmt
PHP Manual

mysqli_stmt::bind_param

mysqli_stmt_bind_param

(PHP 5)

mysqli_stmt::bind_param -- mysqli_stmt_bind_param — Agrega variables a una sentencia preparada como parámetros

Descripción

Estilo orientado a objetos

bool mysqli_stmt::bind_param ( string $types , mixed &$var1 [, mixed &$... ] )

Estilo por procedimientos

bool mysqli_stmt_bind_param ( mysqli_stmt $stmt , string $types , mixed &$var1 [, mixed &$... ] )

Enlaza variables para los marcadores de parámetros en la instrucción SQL que se envía a mysqli_prepare().

Nota:

Si el tamaño de los datos de una variable excede el tamaño máximo del paquete permitido (max_allowed_packet), usted tiene que especificar b en types y usar mysqli_stmt_send_long_data() para enviar los datos en paquetes.

Nota:

Debe de tener cuidado cuando use mysqli_stmt_bind_param() en conjunción con call_user_func_array(). Tenga en cuenta que mysqli_stmt_bind_param() requiere de parámetros que se pasan por referencia, mientras que call_user_func_array() puede aceptar como parámetro una lista de variables que pueden representar referencias o valores.

Parámetros

stmt

Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().

types

Una cadena que contiene uno o más caracteres que especifican los tipos para el correspondiente enlazado de variables:

Especificación del tipo de caracteres
Carácter | Descripción
i | la variable correspondiente es de tipo entero
d | la variable correspondiente es de tipo double
s | la variable correspondiente es de tipo string
b | la variable correspondiente es un blob y se envía en paquetes

var1

El número de variables y la longitud de la cadena types debe coincidir con los parámetros en la sentencia.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'world');

/* verificar conexión */
if (mysqli_connect_errno()) {
    printf("Error de conexión: %s\n", mysqli_connect_error());
    exit();
}

$stmt = $mysqli->prepare("INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
$stmt->bind_param('sssd', $code, $language, $official, $percent);

$code = 'DEU';
$language = 'Bavarian';
$official = "F";
$percent = 11.2;

/* ejecuta sentencias prepradas */
$stmt->execute();

printf("%d Fila insertada.\n", $stmt->affected_rows);

/* cierra sentencia y conexión */
$stmt->close();

/* Limpia la tabla CountryLanguage */
$mysqli->query("DELETE FROM CountryLanguage WHERE Language='Bavarian'");
printf("%d Fila borrada.\n", $mysqli->affected_rows);

/* cierra la conexión */
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'world');

/* verificar conexión */
if (!$link) {
    printf("Error de conexión: %s\n", mysqli_connect_error());
    exit();
}

$stmt = mysqli_prepare($link, "INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
mysqli_stmt_bind_param($stmt, 'sssd', $code, $language, $official, $percent);

$code = 'DEU';
$language = 'Bavarian';
$official = "F";
$percent = 11.2;

/* ejecuta sentencias preparadas */
mysqli_stmt_execute($stmt);

printf("%d Fila insertada.\n", mysqli_stmt_affected_rows($stmt));

/* cierra sentencia y conexión */
mysqli_stmt_close($stmt);

/* Limpia la tabla CountryLanguage */
mysqli_query($link, "DELETE FROM CountryLanguage WHERE Language='Bavarian'");
printf("%d Fila borrada.\n", mysqli_affected_rows($link));

/* cierra la conexión */
mysqli_close($link);
?>

El resultado del ejemplo sería:

1 Fila insertada.
1 Fila borrada.

Ver también

  • mysqli_stmt_bind_result() - Vincula variables a una sentencia preparada para el almacenamiento de resultados
  • mysqli_stmt_execute() - Ejecuta una consulta preparada
  • mysqli_stmt_fetch() - Obtiene los resultados de una sentencia preparadas en las variables vinculadas
  • mysqli_prepare() - Prepara una sentencia SQL para su ejecución
  • mysqli_stmt_send_long_data() - Enviar datos en bloques
  • mysqli_stmt_errno() - Devuelve el código de error de la llamada de la sentencia más reciente
  • mysqli_stmt_error() - Devuelve una descripción como cadena del último error de una sentencia

mysqli_stmt::attr_set
mysqli_stmt::bind_result
mysqli_stmt


Vincula variables a una sentencia preparada para el almacenamiento de resultados

mysqli_stmt::bind_param
mysqli_stmt::close
mysqli_stmt
PHP Manual

mysqli_stmt::bind_result

mysqli_stmt_bind_result

(PHP 5)

mysqli_stmt::bind_result -- mysqli_stmt_bind_result — Vincula variables a una sentencia preparada para el almacenamiento de resultados

Descripción

Estilo orientado a objetos

bool mysqli_stmt::bind_result ( mixed &$var1 [, mixed &$... ] )

Estilo por procedimientos

bool mysqli_stmt_bind_result ( mysqli_stmt $stmt , mixed &$var1 [, mixed &$... ] )

Vincula columnas del conjunto de resultados a variables.

Cuando se llama a mysqli_stmt_fetch() para obtener datos, el protocolo cliente/servidor de MySQL coloca los datos de las columnas vinculads en las variables especificadas por var1, ....

Nota:

Observe que todas las columnas deben ser vinculadas después de llamar a mysqli_stmt_execute() y antes de llamar a mysqli_stmt_fetch(). Dependiendo de los tipos de columna las variables pueden cambiar silenciosamente al tipo de PHP correspondiente.

Una columna puede ser vinculada o revinculada en cualquier momento, incluso después de que un conjunto de resultados haya sido parcialmente recuperado. La nueva vinculación toma efecto la siguiente vez que se llame a mysqli_stmt_fetch().

Parámetros

stmt

Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().

var1

La variable a vincular.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");

if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

/* sentencia preparada */
if ($sentencia = $mysqli->prepare("SELECT Code, Name FROM Country ORDER BY Name LIMIT 5")) {
    $sentencia->execute();

    /* vincular variables a la sentencia preparada */
    $sentencia->bind_result($col1, $col2);

    /* obtener valores */
    while ($sentencia->fetch()) {
        printf("%s %s\n", $col1, $col2);
    }

    /* cerrar la sentencia */
    $sentencia->close();
}
/* cerrar la conexión */
$mysqli->close();

?>

Ejemplo #2 Estilo por procedimientos

<?php
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (!$enlace) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

/* sentencia preparada */
if ($sentencia = mysqli_prepare($enlace, "SELECT Code, Name FROM Country ORDER BY Name LIMIT 5")) {
    mysqli_stmt_execute($sentencia);

    /* vincular variables a la sentencia preparada */
    mysqli_stmt_bind_result($sentencia, $col1, $col2);

    /* obtener valores */
    while (mysqli_stmt_fetch($sentencia)) {
        printf("%s %s\n", $col1, $col2);
    }

    /* cerrar la sentencia */
    mysqli_stmt_close($sentencia);
}

/* cerrar la conexión */
mysqli_close($enlace);
?>

El resultado de los ejemplos serían:

AFG Afghanistan
ALB Albania
DZA Algeria
ASM American Samoa
AND Andorra

Ver también

  • mysqli_stmt_get_result() - Obtiene un conjunto de resultados de una sentencia preparada
  • mysqli_stmt_bind_param() - Agrega variables a una sentencia preparada como parámetros
  • mysqli_stmt_execute() - Ejecuta una consulta preparada
  • mysqli_stmt_fetch() - Obtiene los resultados de una sentencia preparadas en las variables vinculadas
  • mysqli_prepare() - Prepara una sentencia SQL para su ejecución
  • mysqli_stmt_prepare() - Preparar una sentencia SQL para su ejecución
  • mysqli_stmt_init() - Inicializa una sentencia y devuelve un objeto para usarlo con mysqli_stmt_prepare
  • mysqli_stmt_errno() - Devuelve el código de error de la llamada de la sentencia más reciente
  • mysqli_stmt_error() - Devuelve una descripción como cadena del último error de una sentencia

mysqli_stmt::bind_param
mysqli_stmt::close
mysqli_stmt


Cierra una sentencia preparada

mysqli_stmt::bind_result
mysqli_stmt::data_seek
mysqli_stmt
PHP Manual

mysqli_stmt::close

mysqli_stmt_close

(PHP 5)

mysqli_stmt::close -- mysqli_stmt_close — Cierra una sentencia preparada

Descripción

Estilo orientado a objetos

bool mysqli_stmt::close ( void )

Estilo por procedimientos

bool mysqli_stmt_close ( mysqli_stmt $stmt )

Cierra una sentencia preparada. mysqli_stmt_close() también desasigna el gestor de sentencias. Si la sentencia actual tiene resultados pentientes o no leídos, esta función los cancelará, por lo que se podrá ejecutar la siguiente consulta.

Parámetros

stmt

Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • mysqli_prepare() - Prepara una sentencia SQL para su ejecución

mysqli_stmt::bind_result
mysqli_stmt::data_seek
mysqli_stmt


Busca una fila arbitraria en un conjunto de resultados de una sentencia

mysqli_stmt::close
mysqli_stmt::$errno
mysqli_stmt
PHP Manual

mysqli_stmt::data_seek

mysqli_stmt_data_seek

(PHP 5)

mysqli_stmt::data_seek -- mysqli_stmt_data_seek — Busca una fila arbitraria en un conjunto de resultados de una sentencia

Descripción

Estilo orientado a objetos

void mysqli_stmt::data_seek ( int $offset )

Estilo por procedimientos

void mysqli_stmt_data_seek ( mysqli_stmt $stmt , int $offset )

Busca un puntero de resultados arbitrario en un conjunto de resultados de una sentencia.

mysqli_stmt_store_result() debe llamarse antes de mysqli_stmt_data_seek().

Parámetros

stmt

Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().

offset

Debe estar entre cero y el número total de filas menos 1 (0.. mysqli_stmt_num_rows() - 1).

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* Abrir una conexión */
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

$consulta = "SELECT Name, CountryCode FROM City ORDER BY Name";
if ($sentencia = $mysqli->prepare($consulta)) {

    /* execute consulta */
    $sentencia->execute();

    /* vincular las varilbes al resultado */
    $sentencia->bind_result($nombre, $código);

    /* almacenar el resultado */
    $sentencia->store_result();

    /* buscar la fila nº 400 */
    $sentencia->data_seek(399);

    /* obtener los valores */
    $sentencia->fetch();

    printf ("Ciudad: %s  Countrycode: %s\n", $nombre, $código);

    /* cerrar la sentencia */
    $sentencia->close();
}

/* cerrar la conexión */
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
/* Abrir una conexión */
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

$consulta = "SELECT Name, CountryCode FROM City ORDER BY Name";
if ($sentencia = mysqli_prepare($enlace, $consulta)) {

    /* execute consulta */
    mysqli_stmt_execute($sentencia);

    /* vincular las varilbes al resultado */
    mysqli_stmt_bind_result($sentencia, $nombre, $código);

    /* almacenar el resultado */
    mysqli_stmt_store_result($sentencia);

    /* buscar la fila nº 400 */
    mysqli_stmt_data_seek($sentencia, 399);

    /* obtener los valores */
    mysqli_stmt_fetch($sentencia);

    printf ("Ciudad: %s  Countrycode: %s\n", $nombre, $código);

    /* cerrar la sentencia */
    mysqli_stmt_close($sentencia);
}

/* cerrar la conexión */
mysqli_close($enlace);
?>

El resultado de los ejemplos serían:

Ciudad: Benin City  Countrycode: NGA

Ver también

  • mysqli_prepare() - Prepara una sentencia SQL para su ejecución

mysqli_stmt::close
mysqli_stmt::$errno
mysqli_stmt


Devuelve el código de error de la llamada de la sentencia más reciente

mysqli_stmt::data_seek
mysqli_stmt::$error_list
mysqli_stmt
PHP Manual

mysqli_stmt::$errno

mysqli_stmt_errno

(PHP 5)

mysqli_stmt::$errno -- mysqli_stmt_errno — Devuelve el código de error de la llamada de la sentencia más reciente

Descripción

Estilo orientado a objetos

int $mysqli_stmt->errno;

Estilo por procedimientos

int mysqli_stmt_errno ( mysqli_stmt $stmt )

Devuelve el código de error de la función de la sentencia invocada más recientemente que tuvo éxito o falló.

Los números de los mensajes de error del cliente están listados en el fichero de cabecera errmsg.h de MySQL, los números de los mensajes de error del servidor están listados en mysqld_error.h. En la distribución original de MySQL se puede encontrar una lista completa de los mensajes de error y los números de los errores en el fichero Docs/mysqld_error.txt.

Parámetros

stmt

Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().

Valores devueltos

Un valor de código de error. Cero significa que no se encontraron errores.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* Abrir una conexión */
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");

$consulta = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($sentencia = $mysqli->prepare($consulta)) {

    /* eliminar la tabla */
    $mysqli->query("DROP TABLE myCountry");

    /* ejecutar la consulta */
    $sentencia->execute();

    printf("Error: %d.\n", $sentencia->errno);

    /* cerrar la sentencia */
    $sentencia->close();
}

/* cerrar la conexión */
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
/* Abrir una conexión */
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($enlace, "CREATE TABLE myCountry LIKE Country");
mysqli_query($enlace, "INSERT INTO myCountry SELECT * FROM Country");

$consulta = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($sentencia = mysqli_prepare($enlace, $consulta)) {

    /* eliminar la tabla */
    mysqli_query($enlace, "DROP TABLE myCountry");

    /* ejecutar la consulta */
    mysqli_stmt_execute($sentencia);

    printf("Error: %d.\n", mysqli_stmt_errno($sentencia));

    /* cerrar la sentencia */
    mysqli_stmt_close($sentencia);
}

/* cerrar la conexión */
mysqli_close($enlace);
?>

El resultado de los ejemplos serían:

Error: 1146.

Ver también

  • mysqli_stmt_error() - Devuelve una descripción como cadena del último error de una sentencia
  • mysqli_stmt_sqlstate() - Devuelve el error SQLSTATE de la operación de sentencia previa

mysqli_stmt::data_seek
mysqli_stmt::$error_list
mysqli_stmt


Devuelve una lista de errores de la última sentencia ejecutada

mysqli_stmt::$errno
mysqli_stmt::$error
mysqli_stmt
PHP Manual

mysqli_stmt::$error_list

mysqli_stmt_error_list

(PHP 5 >= 5.4.0)

mysqli_stmt::$error_list -- mysqli_stmt_error_list — Devuelve una lista de errores de la última sentencia ejecutada

Descripción

Estilo orientado a objetos

array $mysqli_stmt->error_list;

Estilo por procedimientos

array mysqli_stmt_error_list ( mysqli_stmt $stmt )

Devuelve un array de errores de la función de la sentencia invocada más receientemente que tuvo éxito o falló.

Parámetros

stmt

Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().

Valores devueltos

Una lista de errores, cada uno como un array asociativo que contiene el errno, error, y sqlstate.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* Abrir una conexión */
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");

$consulta = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($sentencia = $mysqli->prepare($consulta)) {

    /* eliminar la tabla */
    $mysqli->query("DROP TABLE myCountry");

    /* ejecutar la consulta */
    $sentencia->execute();

    echo "Error:\n";
    print_r($sentencia->error_list);

    /* cerrar la sentencia */
    $sentencia->close();
}

/* cerrar la conexión */
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
/* Abrir una conexión */
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($enlace, "CREATE TABLE myCountry LIKE Country");
mysqli_query($enlace, "INSERT INTO myCountry SELECT * FROM Country");

$consulta = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($sentencia = mysqli_prepare($enlace, $consulta)) {

    /* eliminar la tabla */
    mysqli_query($enlace, "DROP TABLE myCountry");

    /* ejecutar la consulta */
    mysqli_stmt_execute($sentencia);

    echo "Error:\n";
    print_r(mysql_stmt_error_list($sentencia));

    /* cerrar la sentencia */
    mysqli_stmt_close($sentencia);
}

/* cerrar la conexión */
mysqli_close($enlace);
?>

El resultado de los ejemplos serían:

Array
(
    [0] => Array
        (
            [errno] => 1146
            [sqlstate] => 42S02
            [error] => Table 'world.myCountry' doesn't exist
        )

)

Ver también

  • mysqli_stmt_error() - Devuelve una descripción como cadena del último error de una sentencia
  • mysqli_stmt_errno() - Devuelve el código de error de la llamada de la sentencia más reciente
  • mysqli_stmt_sqlstate() - Devuelve el error SQLSTATE de la operación de sentencia previa

mysqli_stmt::$errno
mysqli_stmt::$error
mysqli_stmt


Devuelve una descripción como cadena del último error de una sentencia

mysqli_stmt::$error_list
mysqli_stmt::execute
mysqli_stmt
PHP Manual

mysqli_stmt::$error

mysqli_stmt_error

(PHP 5)

mysqli_stmt::$error -- mysqli_stmt_error — Devuelve una descripción como cadena del último error de una sentencia

Descripción

Estilo orientado a objetos

string $mysqli_stmt->error;

Estilo por procedimientos

string mysqli_stmt_error ( mysqli_stmt $stmt )

Devuelve una cadena que contiene el mensaje de error de la función de la sentencia invocada más receientemente que tuvo éxito o falló.

Parámetros

stmt

Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().

Valores devueltos

Una cadena que describe el error. Una cadena vacía si no ocurrió ningún error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* Abrir una conexión */
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");

$consulta = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($sentencia = $mysqli->prepare($consulta)) {

    /* eliminar la tabla */
    $mysqli->query("DROP TABLE myCountry");

    /* ejecutar la sentencia */
    $sentencia->execute();

    printf("Error: %s.\n", $sentencia->error);

    /* cerrar la sentencia */
    $sentencia->close();
}

/* cerrar la conexión */
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
/* Abrir una conexión */
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($enlace, "CREATE TABLE myCountry LIKE Country");
mysqli_query($enlace, "INSERT INTO myCountry SELECT * FROM Country");

$consulta = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($sentencia = mysqli_prepare($enlace, $consulta)) {

    /* eliminar la tabla */
    mysqli_query($enlace, "DROP TABLE myCountry");

    /* ejecutar la sentencia */
    mysqli_stmt_execute($sentencia);

    printf("Error: %s.\n", mysqli_stmt_error($sentencia));

    /* cerrar la sentencia */
    mysqli_stmt_close($sentencia);
}

/* cerrar la conexión */
mysqli_close($enlace);
?>

El resultado de los ejemplos serían:

Error: Table 'world.myCountry' doesn't exist.

Ver también

  • mysqli_stmt_errno() - Devuelve el código de error de la llamada de la sentencia más reciente
  • mysqli_stmt_sqlstate() - Devuelve el error SQLSTATE de la operación de sentencia previa

mysqli_stmt::$error_list
mysqli_stmt::execute
mysqli_stmt


Ejecuta una consulta preparada

mysqli_stmt::$error
mysqli_stmt::fetch
mysqli_stmt
PHP Manual

mysqli_stmt::execute

mysqli_stmt_execute

(PHP 5)

mysqli_stmt::execute -- mysqli_stmt_execute — Ejecuta una consulta preparada

Descripción

Estilo orientado a objetos

bool mysqli_stmt::execute ( void )

Estilo por procedimientos

bool mysqli_stmt_execute ( mysqli_stmt $stmt )

Ejecuta una consulta que ha sido previamente preparada usando la función mysqli_prepare(). Cuando se ejecutó cualquier marcador de parámetro que existe, será automáticamente reemplazado con los datos apropiados.

Si la sentencia es UPDATE, DELETE, o INSERT, se puede determinar el número total de filas afectadas usando le función mysqli_stmt_affected_rows(). Asimismo, si la consulta produce un conjunto de resultados se usa la función mysqli_stmt_fetch().

Nota:

Al usar mysqli_stmt_execute(), se debe usar la función mysqli_stmt_fetch() para obtener los datos antes de realizar cualquier consulta adicional.

Parámetros

stmt

Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCity LIKE City");

/* Preparar una sentencia INSERT */
$consulta = "INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)";
$sentencia = $mysqli->prepare($consulta);

$sentencia->bind_param("sss", $val1, $val2, $val3);

$val1 = 'Stuttgart';
$val2 = 'DEU';
$val3 = 'Baden-Wuerttemberg';

/* Ejecutar la sentencia */
$sentencia->execute();

$val1 = 'Bordeaux';
$val2 = 'FRA';
$val3 = 'Aquitaine';

/* Ejecutar la sentencia */
$sentencia->execute();

/* cerrar la sentencia */
$sentencia->close();

/* recuperar todas las filas de myCity */
$consulta = "SELECT Name, CountryCode, District FROM myCity";
if ($resultado = $mysqli->query($consulta)) {
    while ($fila = $resultado->fetch_row()) {
        printf("%s (%s,%s)\n", $fila[0], $fila[1], $fila[2]);
    }
    /* liberar el conjunto de resultados */
    $resultado->close();
}

/* eliminar la tabla */
$mysqli->query("DROP TABLE myCity");

/* cerrar la conexión */
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($enlace, "CREATE TABLE myCity LIKE City");

/* Preparar una sentencia INSERT */
$consulta = "INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)";
$sentencia = mysqli_prepare($enlace, $consulta);

mysqli_stmt_bind_param($sentencia, "sss", $val1, $val2, $val3);

$val1 = 'Stuttgart';
$val2 = 'DEU';
$val3 = 'Baden-Wuerttemberg';

/* Ejecutar la sentencia */
mysqli_stmt_execute($sentencia);

$val1 = 'Bordeaux';
$val2 = 'FRA';
$val3 = 'Aquitaine';

/* Ejecutar la sentencia */
mysqli_stmt_execute($sentencia);

/* cerrar la sentencia */
mysqli_stmt_close($sentencia);

/* recuperar todas las filas de myCity */
$consulta = "SELECT Name, CountryCode, District FROM myCity";
if ($resultado = mysqli_query($enlace, $consulta)) {
    while ($fila = mysqli_fetch_row($resultado)) {
        printf("%s (%s,%s)\n", $fila[0], $fila[1], $fila[2]);
    }
    /* liberar el conjunto de resultados */
    mysqli_free_result($resultado);
}

/* eliminar la tabla */
mysqli_query($enlace, "DROP TABLE myCity");

/* cerrar la conexión */
mysqli_close($enlace);
?>

El resultado de los ejemplos serían:

Stuttgart (DEU,Baden-Wuerttemberg)
Bordeaux (FRA,Aquitaine)

Ver también

  • mysqli_prepare() - Prepara una sentencia SQL para su ejecución
  • mysqli_stmt_bind_param() - Agrega variables a una sentencia preparada como parámetros
  • mysqli_stmt_get_result() - Obtiene un conjunto de resultados de una sentencia preparada

mysqli_stmt::$error
mysqli_stmt::fetch
mysqli_stmt


Obtiene los resultados de una sentencia preparadas en las variables vinculadas

mysqli_stmt::execute
mysqli_stmt::$field_count
mysqli_stmt
PHP Manual

mysqli_stmt::fetch

mysqli_stmt_fetch

(PHP 5)

mysqli_stmt::fetch -- mysqli_stmt_fetch — Obtiene los resultados de una sentencia preparadas en las variables vinculadas

Descripción

Estilo orientado a objetos

bool mysqli_stmt::fetch ( void )

Estilo por procedimientos

bool mysqli_stmt_fetch ( mysqli_stmt $stmt )

Obtiene los resultados de una sentencia preparadas en las variables vinculadas mediante mysqli_stmt_bind_result().

Nota:

Observe que todas las columnas deben estar vinculadas por la aplicación antes de llamar a mysqli_stmt_fetch().

Nota:

Los datos son transferidos sin almacenarlos en buffer sin llamar a mysqli_stmt_store_result(), la cual puede disminuir el rendimiento (pero reduce el coste de memoria).

Parámetros

stmt

Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().

Valores devueltos

Valores devueltos
Valor | Descripción
TRUE | Éxito. Los datos se han obtenido
FALSE | Ocurrió un error
NULL | No existen más filas/datos u ocurrió un truncamiento de los datos

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

$consulta = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";

if ($sentencia = $mysqli->prepare($consulta)) {

    /* ejecutar la sentencia */
    $sentencia->execute();

    /* vincular las variables de resultados */
    $sentencia->bind_result($nombre, $código);

    /* obtener los valores */
    while ($sentencia->fetch()) {
        printf ("%s (%s)\n", $nombre, $código);
    }

    /* cerrar la sentencia */
    $sentencia->close();
}

/* cerrar la conexión */
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

$consulta = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";

if ($sentencia = mysqli_prepare($link, $consulta)) {

    /* ejecutar la sentencia */
    mysqli_stmt_execute($sentencia);

    /* vincular las variables de resultados */
    mysqli_stmt_bind_result($sentencia, $nombre, $código);

    /* obtener los valores */
    while (mysqli_stmt_fetch($sentencia)) {
        printf ("%s (%s)\n", $nombre, $código);
    }

    /* cerrar la sentencia */
    mysqli_stmt_close($sentencia);
}

/* cerrar la conexión */
mysqli_close($link);
?>

El resultado de los ejemplos serían:

Rockford (USA)
Tallahassee (USA)
Salinas (USA)
Santa Clarita (USA)
Springfield (USA)

Ver también

  • mysqli_prepare() - Prepara una sentencia SQL para su ejecución
  • mysqli_stmt_errno() - Devuelve el código de error de la llamada de la sentencia más reciente
  • mysqli_stmt_error() - Devuelve una descripción como cadena del último error de una sentencia
  • mysqli_stmt_bind_result() - Vincula variables a una sentencia preparada para el almacenamiento de resultados

mysqli_stmt::execute
mysqli_stmt::$field_count
mysqli_stmt


Devuelve el número de campos de la sentencia dada

mysqli_stmt::fetch
mysqli_stmt::free_result
mysqli_stmt
PHP Manual

mysqli_stmt::$field_count

mysqli_stmt_field_count

(PHP 5)

mysqli_stmt::$field_count -- mysqli_stmt_field_count — Devuelve el número de campos de la sentencia dada

Descripción

Estilo orientado a objetos

int $mysqli_stmt->field_count;

Estilo por procedimientos

int mysqli_stmt_field_count ( mysqli_stmt $stmt )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

mysqli_stmt::fetch
mysqli_stmt::free_result
mysqli_stmt


Libera la memoria de los resultados almacenados del gestor de sentencia dado

mysqli_stmt::$field_count
mysqli_stmt::get_result
mysqli_stmt
PHP Manual

mysqli_stmt::free_result

mysqli_stmt_free_result

(PHP 5)

mysqli_stmt::free_result -- mysqli_stmt_free_result — Libera la memoria de los resultados almacenados del gestor de sentencia dado

Descripción

Estilo orientado a objetos

void mysqli_stmt::free_result ( void )

Estilo por procedimientos

void mysqli_stmt_free_result ( mysqli_stmt $stmt )

Libera la memoria de los resultados asociados con la sentencia, la cual fue asignada por mysqli_stmt_store_result().

Parámetros

stmt

Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().

Valores devueltos

No devuelve ningún valor.

Ver también

  • mysqli_stmt_store_result() - Transfiere un conjunto de resultados desde una sentencia preparada

mysqli_stmt::$field_count
mysqli_stmt::get_result
mysqli_stmt


Obtiene un conjunto de resultados de una sentencia preparada

mysqli_stmt::free_result
mysqli_stmt::get_warnings
mysqli_stmt
PHP Manual

mysqli_stmt::get_result

mysqli_stmt_get_result

(PHP 5 >= 5.3.0)

mysqli_stmt::get_result -- mysqli_stmt_get_result — Obtiene un conjunto de resultados de una sentencia preparada

Descripción

Estilo orientado a objetos

mysqli_result mysqli_stmt::get_result ( void )

Estilo por procedimientos

mysqli_result mysqli_stmt_get_result ( mysqli_stmt $stmt )

Es llamada para devolver un conjunto de resultados de una consulta de sentencia preparada.

Parámetros

stmt

Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().

Valores devueltos

Devuelve un conjunto de resultados o FALSE en caso de error.

MySQL Native Driver Only

Disponible sólo con mysqlnd.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

$mysqli = new mysqli("127.0.0.1", "usuario", "contraseña", "world");

if($mysqli->connect_error)
{
    die("$mysqli->connect_errno: $mysqli->connect_error");
}

$consulta = "SELECT Name, Population, Continent FROM Country WHERE Continent=? ORDER BY Name LIMIT 1";

$sentencia = $mysqli->stmt_init();
if(!$sentencia->prepare($consulta))
{
    print "Falló la preparación de la sentencia\n";
}
else
{
    $sentencia->bind_param("s", $continente);

    $array_continentes = array('Europe','Africa','Asia','North America');

    foreach($array_continentes as $continente)
    {
        $sentencia->execute();
        $resultado = $sentencia->get_result();
        while ($fila = $resultado->fetch_array(MYSQLI_NUM))
        {
            foreach ($fila as $f)
            {
                print "$f ";
            }
            print "\n";
        }
    }
}

$sentencia->close();
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php

$enlace = mysqli_connect("127.0.0.1", "usuario", "contraseña", "world");

if (!$enlace)
{
    $error = mysqli_connect_error();
    $errno = mysqli_connect_errno();
    print "$errno: $error\n";
    exit();
}

$consulta = "SELECT Name, Population, Continent FROM Country WHERE Continent=? ORDER BY Name LIMIT 1";

$sentencia = mysqli_stmt_init($enlace);
if(!mysqli_stmt_prepare($sentencia, $consulta))
{
    print "Falló la preparación de la sentencia\n";
}
else
{
    mysqli_stmt_bind_param($stmt, "s", $continente);

    $array_continentes = array('Europe','Africa','Asia','North America');

    foreach($array_continentes as $continente)
    {
        mysqli_stmt_execute($sentencia);
        $resultado = mysqli_stmt_get_result($sentencia);
        while ($fila = mysqli_fetch_array($resultado, MYSQLI_NUM))
        {
            foreach ($fila as $f)
            {
                print "$f ";
            }
            print "\n";
        }
    }
}
mysqli_stmt_close($sentencia);
mysqli_close($enlace);
?>

El resultado de los ejemplos serían:

Albania 3401200 Europe
Algeria 31471000 Africa
Afghanistan 22720000 Asia
Anguilla 8000 North America

Ver también

  • mysqli_prepare() - Prepara una sentencia SQL para su ejecución
  • mysqli_stmt_result_metadata() - Devuelve los metadatos del conjunto de resultados de una sentencia preparada
  • mysqli_stmt_fetch() - Obtiene los resultados de una sentencia preparadas en las variables vinculadas
  • mysqli_fetch_array() - Obtiene una fila de resultados como un array asociativo, numérico, o ambos
  • mysqli_stmt_store_result() - Transfiere un conjunto de resultados desde una sentencia preparada

mysqli_stmt::free_result
mysqli_stmt::get_warnings
mysqli_stmt


Obtener los resultados de SHOW WARNINGS

mysqli_stmt::get_result
mysqli_stmt::$insert_id
mysqli_stmt
PHP Manual

mysqli_stmt::get_warnings

mysqli_stmt_get_warnings

(PHP 5 >= 5.1.0)

mysqli_stmt::get_warnings -- mysqli_stmt_get_warnings — Obtener los resultados de SHOW WARNINGS

Descripción

Estilo orientado a objetos

object mysqli_stmt::get_warnings ( mysqli_stmt $stmt )

Estilo por procedimientos

object mysqli_stmt_get_warnings ( mysqli_stmt $stmt )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

mysqli_stmt::get_result
mysqli_stmt::$insert_id
mysqli_stmt


Obtener el ID generado en la operación INSERT anterior

mysqli_stmt::get_warnings
mysqli_stmt::more_results
mysqli_stmt
PHP Manual

mysqli_stmt::$insert_id

mysqli_stmt_insert_id

(PHP 5)

mysqli_stmt::$insert_id -- mysqli_stmt_insert_id — Obtener el ID generado en la operación INSERT anterior

Descripción

Estilo orientado a objetos

int $mysqli_stmt->insert_id;

Estilo por procedimientos

mixed mysqli_stmt_insert_id ( mysqli_stmt $stmt )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

mysqli_stmt::get_warnings
mysqli_stmt::more_results
mysqli_stmt


Comprobar si existen más resultados de una consulta de consultas múltiples

mysqli_stmt::$insert_id
mysqli_stmt::next_result
mysqli_stmt
PHP Manual

mysqli_stmt::more_results

mysqli_stmt_more_results

(PHP 5)

mysqli_stmt::more_results -- mysqli_stmt_more_results — Comprobar si existen más resultados de una consulta de consultas múltiples

Descripción

Estilo orientado a objetos (method):

public bool mysqli_stmt::more_results ( void )

Estilo por procedimientos:

bool mysqli_stmt_more_results ( mysql_stmt $stmt )

Comprueba si existen más resultados de una consulta de múltiples consultas.

Parámetros

stmt

Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().

Valores devueltos

Devuelve TRUE si existen más resultados, de lo contrario FALSE.

Ver también

  • mysqli_stmt::next_result() - Lee el siguiente resultado de una consulta múltiple
  • mysqli::multi_query() - Realiza una consulta a la base de datos

mysqli_stmt::$insert_id
mysqli_stmt::next_result
mysqli_stmt


Lee el siguiente resultado de una consulta múltiple

mysqli_stmt::more_results
mysqli_stmt::$num_rows
mysqli_stmt
PHP Manual

mysqli_stmt::next_result

mysqli_stmt_next_result

(PHP 5)

mysqli_stmt::next_result -- mysqli_stmt_next_result — Lee el siguiente resultado de una consulta múltiple

Descripción

Estilo orientado a objetos (method):

public bool mysqli_stmt::next_result ( void )

Estilo por procedimientos:

bool mysqli_stmt_next_result ( mysql_stmt $stmt )

Lee el siguiente resultado de una consulta múltiple.

Parámetros

stmt

Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Emite un error de nivel E_STRICT si no existe un conjunto de resultados, y sugiere el uso de mysqli_stmt::more_results() en estos casos, antes de llamar a mysqli_stmt::next_result().

Ver también

  • mysqli_stmt::more_results() - Comprobar si existen más resultados de una consulta de consultas múltiples
  • mysqli::multi_query() - Realiza una consulta a la base de datos

mysqli_stmt::more_results
mysqli_stmt::$num_rows
mysqli_stmt


Devuelve el número de filas de un conjunto de resultados de una sentencia

mysqli_stmt::next_result
mysqli_stmt::$param_count
mysqli_stmt
PHP Manual

mysqli_stmt::$num_rows

mysqli_stmt_num_rows

(PHP 5)

mysqli_stmt::$num_rows -- mysqli_stmt_num_rows — Devuelve el número de filas de un conjunto de resultados de una sentencia

Descripción

Estilo orientado a objetos

int $mysqli_stmt->num_rows;

Estilo por procedimientos

int mysqli_stmt_num_rows ( mysqli_stmt $stmt )

Devuelve el número de filas de un conjunto de resultados. El uso de mysqli_stmt_num_rows() depende de si se utiliza mysqli_stmt_store_result() para almacenar en buffer el conjunto de resultados completo en el gestor de sentencia.

Si se usa mysqli_stmt_store_result(), mysqli_stmt_num_rows() puede llamarse inmediatamente.

Parámetros

stmt

Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().

Valores devueltos

Un valor integer que representa el número de filas del conjunto de resultados.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* Abrir una conexión */
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

$consulta = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($sentencia = $mysqli->prepare($consulta)) {

    /* ejecutar la consulta */
    $sentencia->execute();

    /* almacenar el resultado */
    $sentencia->store_result();

    printf("Número de filas: %d.\n", $sentencia->num_rows);

    /* cerrar la sentencia */
    $sentencia->close();
}

/* cerrar la conexión */
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
/* Abrir una conexión */
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

$consulta = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($sentencia = mysqli_prepare($enlace, $consulta)) {

    /* ejecutar la consulta */
    mysqli_stmt_execute($sentencia);

    /* almacenar el resultado */
    mysqli_stmt_store_result($sentencia);

    printf("Número de filas: %d.\n", mysqli_stmt_num_rows($sentencia));

    /* cerrar la sentencia */
    mysqli_stmt_close($sentencia);
}

/* cerrar la conexión */
mysqli_close($enlace);
?>

El resultado de los ejemplos serían:

Número de filas: 20.

Ver también

  • mysqli_stmt_affected_rows() - Devuelve el número total de filas cambiadas, borradas, o insertadas por la última sentencia ejecutada
  • mysqli_prepare() - Prepara una sentencia SQL para su ejecución
  • mysqli_stmt_store_result() - Transfiere un conjunto de resultados desde una sentencia preparada

mysqli_stmt::next_result
mysqli_stmt::$param_count
mysqli_stmt


Devuelve el número de parámetros de la sentencia dada

mysqli_stmt::$num_rows
mysqli_stmt::prepare
mysqli_stmt
PHP Manual

mysqli_stmt::$param_count

mysqli_stmt_param_count

(PHP 5)

mysqli_stmt::$param_count -- mysqli_stmt_param_count — Devuelve el número de parámetros de la sentencia dada

Descripción

Estilo orientado a objetos

int $mysqli_stmt->param_count;

Estilo por procedimientos

int mysqli_stmt_param_count ( mysqli_stmt $stmt )

Devuelve el número de marcadores de parámetros presentes en la sentencia preparada.

Parámetros

stmt

Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().

Valores devueltos

Devuelve un valor integer que represetna el número de parámetros.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

if ($sentencia = $mysqli->prepare("SELECT Name FROM Country WHERE Name=? OR Code=?")) {

    $marcador = $sentencia->param_count;
    printf("La sentencia tiene %d marcadores.\n", $marcador);

    /* cerrar la sentencia */
    $sentencia->close();
}

/* cerrar la conexión */
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

if ($sentencia = mysqli_prepare($enlace, "SELECT Name FROM Country WHERE Name=? OR Code=?")) {

    $marcador = mysqli_stmt_param_count($sentencia);
    printf("La sentencia tiene %d marcadores.\n", $marcador);

    /* cerrar la sentencia */
    mysqli_stmt_close($sentencia);
}

/* cerrar la conexión */
mysqli_close($enlace);
?>

El resultado de los ejemplos serían:

La setencia tiene 2 marcadores.

Ver también

  • mysqli_prepare() - Prepara una sentencia SQL para su ejecución

mysqli_stmt::$num_rows
mysqli_stmt::prepare
mysqli_stmt


Preparar una sentencia SQL para su ejecución

mysqli_stmt::$param_count
mysqli_stmt::reset
mysqli_stmt
PHP Manual

mysqli_stmt::prepare

mysqli_stmt_prepare

(PHP 5)

mysqli_stmt::prepare -- mysqli_stmt_prepare — Preparar una sentencia SQL para su ejecución

Descripción

Estilo orientado a objetos

mixed mysqli_stmt::prepare ( string $query )

Estilo por procedimientos

bool mysqli_stmt_prepare ( mysqli_stmt $stmt , string $query )

Prepara una consulta the SQL apuntada por la consulta de cadena terminada en null.

Los marcadores de parámetros deben estar vinculados a las variables de la apliación usando mysqli_stmt_bind_param() y/o mysqli_stmt_bind_result() antes de ejecutar la sentencia u obtener filas.

Nota:

En el caso de que se pase una sentencia a mysqli_stmt_prepare() que sea más grande que max_allowed_packet del servidor, los códigos de error devueltos serán diferentes, dependiendo de si se usa el Controlador Nativo de MysQL (mysqlnd) o la biblioteca Cliente de MySQL (libmysqlclient). El comportamiento es como sigue:

  • mysqlnd en Linux devuelve un código de error 1153. El mensaje de error significa "obtenido un paquete mas grande que max_allowed_packet bytes".

  • mysqlnd en Windows devuelve un código de error 2006. Este mensaje de error significa "el servidor se ha ido".

  • libmysqlclient en todas las plataformas devuelve un código de error 2006. Este mensaje de error significa "el servidor se ha ido".

Parámetros

stmt

Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().

query

La consulta, como una cadena. Debe consistir en una sentencia SQL única.

Se puede incluir uno o más marcadores de parámetros en la senetencia SQL embebiendo el carácter de signo de interrogación (?) en la posición apropiada.

Nota:

No se debería añadir un punto y coma terminal o \g a la sentencia.

Nota:

Los marcadores únicamente son legales en ciertos lugares de las sentencias SQL. Por ejemplo, están permitidos en la lista de VALUES() de una sentencia INSERT (para especificar los valores de las columnas de una fila), o en una comparación en una cláusula WHERE para especificar un valor de comparación.

Sin embargo, no están permitidos en identificadores (como nombres de tablas o columnas), en la lista de selección que nombra a las columnas a ser devueltas por una sentencia SELECT), o para especificar ambos operandos de un operador binario como signo igual =. La última restricción es necesaria debido a que sería imposible determinar el tipo de parámetro. En general, los parámetros son legales únicamente en sentencias de Lenguaje de Manipulación de Datos (DML), y no en sentencias de Lenguaje de Definición de Datos (DDL).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

$ciudad = "Amersfoort";

/* crear una sentencia preparada */
$sentencia =  $mysqli->stmt_init();
if ($sentencia->prepare("SELECT District FROM City WHERE Name=?")) {

    /* vincular los parámetros para los marcadores */
    $sentencia->bind_param("s", $ciudad);

    /* ejecutar la consulta */
    $sentencia->execute();

    /* vincular las variables de resultados */
    $sentencia->bind_result($distrito);

    /* obtener el valor */
    $sentencia->fetch();

    printf("%s está en el distrito de %s\n", $ciudad, $distrito);

    /* cerrar la sentencia */
    $sentencia->close();
}

/* cerrar la conexión */
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$enlace = mysqli_connect("localhost", "my_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

$ciudad = "Amersfoort";

/* crear una sentencia preparada */
$sentencia = mysqli_stmt_init($enlace);
if (mysqli_stmt_prepare($sentencia, 'SELECT District FROM City WHERE Name=?')) {

    /* vincular los parámetros para los marcadores */
    mysqli_stmt_bind_param($sentencia, "s", $ciudad);

    /* ejecutar la consulta */
    mysqli_stmt_execute($sentencia);

    /* vincular las variables de resultados */
    mysqli_stmt_bind_result($sentencia, $distrito);

    /* obtener el valor */
    mysqli_stmt_fetch($sentencia);

    printf("%s está en el distrito de %s\n", $ciudad, $distrito);

    /* cerrar la sentencia */
    mysqli_stmt_close($sentencia);
}

/* cerrar la conexión */
mysqli_close($enlace);
?>

El resultado de los ejemplos serían:

Amersfoort está en el distrito de Utrecht

Ver también

  • mysqli_stmt_init() - Inicializa una sentencia y devuelve un objeto para usarlo con mysqli_stmt_prepare
  • mysqli_stmt_execute() - Ejecuta una consulta preparada
  • mysqli_stmt_fetch() - Obtiene los resultados de una sentencia preparadas en las variables vinculadas
  • mysqli_stmt_bind_param() - Agrega variables a una sentencia preparada como parámetros
  • mysqli_stmt_bind_result() - Vincula variables a una sentencia preparada para el almacenamiento de resultados
  • mysqli_stmt_get_result() - Obtiene un conjunto de resultados de una sentencia preparada
  • mysqli_stmt_close() - Cierra una sentencia preparada

mysqli_stmt::$param_count
mysqli_stmt::reset
mysqli_stmt


Reinicia una sentencia preparada

mysqli_stmt::prepare
mysqli_stmt::result_metadata
mysqli_stmt
PHP Manual

mysqli_stmt::reset

mysqli_stmt_reset

(PHP 5)

mysqli_stmt::reset -- mysqli_stmt_reset — Reinicia una sentencia preparada

Descripción

Estilo orientado a objetos

bool mysqli_stmt::reset ( void )

Estilo por procedimientos

bool mysqli_stmt_reset ( mysqli_stmt $stmt )

Reinicia una sentencia preparada en el cliente y servidor para consignarla después de prepararla.

Reinicia la sentencia en el servidor, los datos enviados usando mysqli_stmt_send_long_data(), los conjuntos de resultados no almacenados en buffer, y los errores actuales. No limpia los vínculos o los conjuntos de resultados. Los conjunto de resultados alacenados en buffer serían limpiados al ejecutar la sentencia preparada (o al cerrarla).

Para preparar una sentencia con otra consulta use la función mysqli_stmt_prepare().

Parámetros

stmt

Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • mysqli_prepare() - Prepara una sentencia SQL para su ejecución

mysqli_stmt::prepare
mysqli_stmt::result_metadata
mysqli_stmt


Devuelve los metadatos del conjunto de resultados de una sentencia preparada

mysqli_stmt::reset
mysqli_stmt::send_long_data
mysqli_stmt
PHP Manual

mysqli_stmt::result_metadata

mysqli_stmt_result_metadata

(PHP 5)

mysqli_stmt::result_metadata -- mysqli_stmt_result_metadata — Devuelve los metadatos del conjunto de resultados de una sentencia preparada

Descripción

Estilo orientado a objetos

mysqli_result mysqli_stmt::result_metadata ( void )

Estilo por procedimientos

mysqli_result mysqli_stmt_result_metadata ( mysqli_stmt $stmt )

Si una sentencia pasada a mysqli_prepare() produce un conjunto de resultados, mysqli_stmt_result_metadata() devolverá un objeto de resultados que puede usarse para procesar metainformación como el número total de campos e información de campo individual.

Nota:

Este puntero del conjunto de resultados puede ser pasado como parámetro a cualquier función basada en campos que procese los metadatos del conjunto de resultados, tales como:

  • mysqli_num_fields()

  • mysqli_fetch_field()

  • mysqli_fetch_field_direct()

  • mysqli_fetch_fields()

  • mysqli_field_count()

  • mysqli_field_seek()

  • mysqli_field_tell()

  • mysqli_free_result()

La estructura del conjunto de resultados debería ser liberada cuando se termine con ella, lo que se puede hacer pasándose la a mysqli_free_result()

Nota:

El cojunto de resultados devuelto por mysqli_stmt_result_metadata() contiene únicamente metadatos. No contiene ningún resultado de filas. Las filas se obtienen usando el gestor de sentencias con mysqli_stmt_fetch().

Parámetros

stmt

Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().

Valores devueltos

Devuelve un objeto de resultados o FALSE si ocurrió un error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "test");

$mysqli->query("DROP TABLE IF EXISTS friends");
$mysqli->query("CREATE TABLE friends (id int, name varchar(20))");

$mysqli->query("INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

$sentencia = $mysqli->prepare("SELECT id, name FROM friends");
$sentencia->execute();

/* obtener el conjunto de resultados para los metadatos */
$resultado = $sentencia->result_metadata();

/* recuperar la información de campo de los metadatos del conjunto de resultados */
$campo = $resultado->fetch_field();

printf("Nombre del campo: %s\n", $fiecampold->name);

/* cerrar el conjunto de resultados */
$resultado->close();

/* cerrar la conexión */
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "test");

mysqli_query($enlace, "DROP TABLE IF EXISTS friends");
mysqli_query($enlace, "CREATE TABLE friends (id int, name varchar(20))");

mysqli_query($enlace, "INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

$sentencia = mysqli_prepare($enlace, "SELECT id, name FROM friends");
mysqli_stmt_execute($sentencia);

/* obtener el conjunto de resultados para los metadatos */
$resultado = mysqli_stmt_result_metadata($sentencia);

/* recuperar la información de campo de los metadatos del conjunto de resultados */
$campo = mysqli_fetch_field($resultado);

printf("Nombre del campo: %s\n", $campo->name);

/* cerrar el conjunto de resultados */
mysqli_free_result($resultado);

/* cerrar la conexión */
mysqli_close($enlace);
?>

Ver también

  • mysqli_prepare() - Prepara una sentencia SQL para su ejecución
  • mysqli_free_result() - Libera la memoria asociada a un resultado

mysqli_stmt::reset
mysqli_stmt::send_long_data
mysqli_stmt


Enviar datos en bloques

mysqli_stmt::result_metadata
mysqli_stmt::$sqlstate
mysqli_stmt
PHP Manual

mysqli_stmt::send_long_data

mysqli_stmt_send_long_data

(PHP 5)

mysqli_stmt::send_long_data -- mysqli_stmt_send_long_data — Enviar datos en bloques

Descripción

Estilo orientado a objetos

bool mysqli_stmt::send_long_data ( int $param_nr , string $data )

Estilo por procedimientos

bool mysqli_stmt_send_long_data ( mysqli_stmt $stmt , int $param_nr , string $data )

Permite el envío de datos de parámetros en piezas al servidor (o trozos), p.ej. si el tamaño de un blob excede el tamaño de max_allowed_packet. Esta función puede llamarse múltiples veces para enviar las partes de un valor de datos de carácter o binarios de una columna, la cual debe ser del tipo de datos TEXT o BLOB.

Parámetros

stmt

Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().

param_nr

Indica qué parámetro asociar con los datos. Los parámetros son numerados comenzando por el 0.

data

Una cadena que contiene los datos a enviar.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$sentencia = $mysqli->prepare("INSERT INTO messages (message) VALUES (?)");
$null = NULL;
$sentencia->bind_param("b", $null);
$fp = fopen("messages.txt", "r");
while (!feof($fp)) {
    $sentencia->send_long_data(0, fread($fp, 8192));
}
fclose($fp);
$sentencia->execute();
?>

Ver también

  • mysqli_prepare() - Prepara una sentencia SQL para su ejecución
  • mysqli_stmt_bind_param() - Agrega variables a una sentencia preparada como parámetros

mysqli_stmt::result_metadata
mysqli_stmt::$sqlstate
mysqli_stmt


Devuelve el error SQLSTATE de la operación de sentencia previa

mysqli_stmt::send_long_data
mysqli_stmt::store_result
mysqli_stmt
PHP Manual

mysqli_stmt::$sqlstate

mysqli_stmt_sqlstate

(PHP 5)

mysqli_stmt::$sqlstate -- mysqli_stmt_sqlstate — Devuelve el error SQLSTATE de la operación de sentencia previa

Descripción

Estilo orientado a objetos

string $mysqli_stmt->sqlstate;

Estilo por procedimientos

string mysqli_stmt_sqlstate ( mysqli_stmt $stmt )

Devuelve una cadena que contiene el código de error SQLSTATE de la función más recientemente invocada de sentencia preparada que tuvo éxito o falló. El código de error consiste en cinco caracteres. '00000' significa sin error. Los valores están especificados por ANSI SQL y ODBC. Para una lista de valores posibles, véase » http://dev.mysql.com/doc/mysql/en/error-handling.html.

Parámetros

stmt

Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().

Valores devueltos

Devuelve una cadena que contiene el código de error SQLSTATE del último error. El código de error consiste en cinco caracteres. '00000' significa sin error.

Notas

Nota:

Observe que aún no están referenciados todos los errores de MySQL a SQLSTATE. El valor HY000 (error general) se utiliza para errores no referenciados.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* Abrir una conexión */
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");

$consulta = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($sentencia = $mysqli->prepare($consulta)) {

    /* eliminar la tabla */
    $mysqli->query("DROP TABLE myCountry");

    /* ejecutar la sentencia */
    $sentencia->execute();

    printf("Error: %s.\n", $sentencia->sqlstate);

    /* cerrar la sentencia */
    $sentencia->close();
}

/* cerrar la conexión */
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
/* Abrir una conexión */
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($enlace, "CREATE TABLE myCountry LIKE Country");
mysqli_query($enlace, "INSERT INTO myCountry SELECT * FROM Country");

$consulta = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($sentencia = mysqli_prepare($enlace, $consulta)) {

    /* eliminar la tabla */
    mysqli_query($enlace, "DROP TABLE myCountry");

    /* ejecutar la sentencia */
    mysqli_stmt_execute($sentencia);

    printf("Error: %s.\n", mysqli_stmt_sqlstate($sentencia));

    /* cerrar la sentencia */
    mysqli_stmt_close($sentencia);
}

/* cerrar la conexión */
mysqli_close($enlace);
?>

El resultado de los ejemplos serían:

Error: 42S02.

Ver también

  • mysqli_stmt_errno() - Devuelve el código de error de la llamada de la sentencia más reciente
  • mysqli_stmt_error() - Devuelve una descripción como cadena del último error de una sentencia

mysqli_stmt::send_long_data
mysqli_stmt::store_result
mysqli_stmt


Transfiere un conjunto de resultados desde una sentencia preparada

mysqli_stmt::$sqlstate
mysqli_result
mysqli_stmt
PHP Manual

mysqli_stmt::store_result

mysqli_stmt_store_result

(PHP 5)

mysqli_stmt::store_result -- mysqli_stmt_store_result — Transfiere un conjunto de resultados desde una sentencia preparada

Descripción

Estilo orientado a objetos

bool mysqli_stmt::store_result ( void )

Estilo por procedimientos

bool mysqli_stmt_store_result ( mysqli_stmt $stmt )

Se debe llamar a mysqli_stmt_store_result() para cada consulta que produzca con éxito un conjunto de resultados (SELECT, SHOW, DESCRIBE, EXPLAIN), y únicamente si se quiere almacenar en buffer el conjunto de resultados completo en el cliente, por lo que las llamadas subsuguientes a mysqli_stmt_fetch() devolverán datos almacenados en buffer.

Nota:

No es necesario llamar a mysqli_stmt_store_result() para otras consultas, pero si se hace, no perjudicará al rendimiento en ningún caso. Se puede detectar si la consulta produjo un conjunto de resultados comprobando si mysqli_stmt_result_metadata() devolvió NULL.

Parámetros

stmt

Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* Abrir una conexión */
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

$consulta = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($sentencia = $mysqli->prepare($consulta)) {

    /* ejecutar la consulta */
    $sentencia->execute();

    /* almacenar el resultado */
    $sentencia->store_result();

    printf("Número de filas: %d.\n", $sentencia->num_rows);

    /* liberar el resultado */
    $sentencia->free_result();

    /* cerrar la sentencia */
    $sentencia->close();
}

/* cerrar la conexión */
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
/* Open a connection */
/* Abrir una conexión */
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

$consulta = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($sentencia = mysqli_prepare($enlace, $consulta)) {

    /* ejecutar la consulta */
    mysqli_stmt_execute($sentencia);

    /* almacenar el resultado */
    mysqli_stmt_store_result($sentencia);

    printf("Number of rows: %d.\n", mysqli_stmt_num_rows($sentencia));

    /* liberar el resultado */
    mysqli_stmt_free_result($sentencia);

    /* cerrar la sentencia */
    mysqli_stmt_close($sentencia);
}

/* cerrar la conexión */
mysqli_close($enlace);
?>

El resultado de los ejemplos serían:

Número de filas: 20.

Ver también

  • mysqli_prepare() - Prepara una sentencia SQL para su ejecución
  • mysqli_stmt_result_metadata() - Devuelve los metadatos del conjunto de resultados de una sentencia preparada
  • mysqli_stmt_fetch() - Obtiene los resultados de una sentencia preparadas en las variables vinculadas

mysqli_stmt::$sqlstate
mysqli_result
mysqli_stmt


La clase mysqli_result

(PHP 5)

Introducción

Representa el conjunto de resultados obtenidos a partir de una consulta en la base de datos.

Historial de cambios

Historial de cambios
Versión | Descripción
5.4.0 | Se añadió el soporte para Iterator, y mysqli_result ahora implementa Traversable.

Sinopsis de la Clase

mysqli_result implements Traversable {
/* Propiedades */
int $current_field ;
int $field_count;
array $lengths;
int $num_rows;
/* Métodos */
bool data_seek ( int $offset )
mixed fetch_all ([ int $resulttype = MYSQLI_NUM ] )
mixed fetch_array ([ int $resulttype = MYSQLI_BOTH ] )
array fetch_assoc ( void )
object fetch_field_direct ( int $fieldnr )
object fetch_field ( void )
array fetch_fields ( void )
object fetch_object ([ string $class_name [, array $params ]] )
mixed fetch_row ( void )
bool field_seek ( int $fieldnr )
void free ( void )
}

Tabla de contenidos

  • mysqli_result::$current_field — Obtener posición del campo actual de un puntero a un resultado
  • mysqli_result::data_seek — Ajustar el puntero de resultado a una fila arbitraria del resultado
  • mysqli_result::fetch_all — Obtener todas las filas en un array asociativo, numérico, o en ambos
  • mysqli_result::fetch_array — Obtiene una fila de resultados como un array asociativo, numérico, o ambos
  • mysqli_result::fetch_assoc — Obtiene una fila de resultado como un array asociativo
  • mysqli_result::fetch_field_direct — Obtener los metadatos de un único campo
  • mysqli_result::fetch_field — Retorna el próximo campo del resultset
  • mysqli_result::fetch_fields — Devuelve un array de objetos que representan los campos de un conjunto de resultados
  • mysqli_result::fetch_object — Devuelve la fila actual de un conjunto de resultados como un objeto
  • mysqli_result::fetch_row — Obtener una fila de resultados como un array enumerado
  • mysqli_result::$field_count — Obtiene el número de campos de un resultado
  • mysqli_result::field_seek — Establecer el puntero del resultado al índice del campo especificado
  • mysqli_result::free — Libera la memoria asociada a un resultado
  • mysqli_result::$lengths — Retorna los largos de las columnas de la fila actual en el resultset
  • mysqli_result::$num_rows — Obtiene el número de filas de un resultado
mysqli_stmt::store_result
mysqli_result::$current_field
Mysqli


Obtener posición del campo actual de un puntero a un resultado

mysqli_result
mysqli_result::data_seek
mysqli_result
PHP Manual

mysqli_result::$current_field

mysqli_field_tell

(PHP 5)

mysqli_result::$current_field -- mysqli_field_tell — Obtener posición del campo actual de un puntero a un resultado

Descripción

Estilo orientado a objetos

int $mysqli_result->current_field ;

Estilo por procedimientos

int mysqli_field_tell ( mysqli_result $result )

Devuelve la posición del cursor de campos utilizado en la última llamada de mysqli_fetch_field(). Se puede utilizar este valor como argumento para mysqli_field_seek().

Parámetros

result

Sólo estilo por procedimientos: Un conjunto de identificadores de resultados devuelto por mysqli_query(), mysqli_store_result() o mysqli_use_result().

Valores devueltos

Devuelve la posición actual del cursor de campos.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "mi_ususario", "mi_contraseña", "mundo");

/* comprobar conexión */
if (mysqli_connect_errno()) {
    printf("Conexión fallida: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Obtener información de los campos en todas las columnas */
    while ($finfo = $result->fetch_field()) {

        /* obtener posición del puntero de campo */
        $currentfield = $result->current_field;

        printf("Columna %d:\n", $currentfield);
        printf("Nombre:    %s\n", $finfo->name);
        printf("Tabla:     %s\n", $finfo->table);
        printf("max. Long: %d\n", $finfo->max_length);
        printf("Banderas:  %d\n", $finfo->flags);
        printf("Ttipo:     %d\n\n", $finfo->type);
    }
    $result->close();
}

/* ccerrar conexión */
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* comprobar conexión */
if (mysqli_connect_errno()) {
    printf("Conexión fallida: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Obtener información de campo para cada campo */
    while ($finfo = mysqli_fetch_field($result)) {

        /* obtener posición del puntero de campo */
        $currentfield = mysqli_field_tell($result);

        printf("Columna %d:\n", $currentfield);
        printf("Nombre:    %s\n", $finfo->name);
        printf("Tabla:     %s\n", $finfo->table);
        printf("max. Long: %d\n", $finfo->max_length);
        printf("Banderas:  %d\n", $finfo->flags);
        printf("Tipo:      %d\n\n", $finfo->type);
    }
    mysqli_free_result($result);
}

/* cerrar conexión */
mysqli_close($link);
?>

El resultado de los ejemplos serían:

Columna 1:
Nombre:    Name
Tabla:     Country
max. Long: 11
Banderas:  1
Tipo:      254

Columna 2:
Nombre:    SurfaceArea
Tabla:     Country
max. Long: 10
Banderas:  32769
Tipo:      4

Ver también

  • mysqli_fetch_field() - Retorna el próximo campo del resultset
  • mysqli_field_seek() - Establecer el puntero del resultado al índice del campo especificado

mysqli_result
mysqli_result::data_seek
mysqli_result


Ajustar el puntero de resultado a una fila arbitraria del resultado

mysqli_result::$current_field
mysqli_result::fetch_all
mysqli_result
PHP Manual

mysqli_result::data_seek

mysqli_data_seek

(PHP 5)

mysqli_result::data_seek -- mysqli_data_seek — Ajustar el puntero de resultado a una fila arbitraria del resultado

Descripción

Estilo orientado a objetos

bool mysqli_result::data_seek ( int $offset )

Estilo por procedimientos

bool mysqli_data_seek ( mysqli_result $result , int $offset )

La función mysqli_data_seek() salta a la posición offset de un puntero de resultado.

Parámetros

result

Sólo estilo por procedimientos: Un conjunto de identificadores de resultados devuelto por mysqli_query(), mysqli_store_result() o mysqli_use_result().

offset

Posición del campo. Debe estar comprendido entre cero y el número total de filas menos uno (0.. mysqli_num_rows() - 1).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota:

Sólo se puede usar esta función con resultados almacenados que se obtengan mediante el uso de mysqli_store_result() o de mysqli_query().

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* Abrir una conexión */
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "mundo");

/* comprobar conexión */
if (mysqli_connect_errno()) {
    printf("Conexión fallida: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";
if ($result = $mysqli->query( $query)) {

    /* saltar a la fila numero 400 */
    $result->data_seek(399);

    /* obtener fila */
    $row = $result->fetch_row();

    printf ("Ciudad: %s  Código de país: %s\n", $row[0], $row[1]);

    /* librar resultados */
    $result->close();
}

/* cerrar conexión */
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
/* Abrir conexión */
$link = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "mundo");

/* comprobar conexión */
if (!$link) {
    printf("Conexión faillida: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";

if ($result = mysqli_query($link, $query)) {

    /* saltar a la fila número 400 */
    mysqli_data_seek($result, 399);

    /* obtener fila */
    $row = mysqli_fetch_row($result);

    printf ("Ciudad: %s  Código de país: %s\n", $row[0], $row[1]);

    /* liberar resultado */
    mysqli_free_result($result);
}

/* cerrar conexión */
mysqli_close($link);
?>

El resultado de los ejemplos serían:

Ciudad: Benin City  Código de país: NGA

Ver también

  • mysqli_store_result() - Transfiere un conjunto de resulados de la última consulta
  • mysqli_fetch_row() - Obtener una fila de resultados como un array enumerado
  • mysqli_fetch_array() - Obtiene una fila de resultados como un array asociativo, numérico, o ambos
  • mysqli_fetch_assoc() - Obtiene una fila de resultado como un array asociativo
  • mysqli_fetch_object() - Devuelve la fila actual de un conjunto de resultados como un objeto
  • mysqli_query() - Realiza una consulta a la Base de Datos
  • mysqli_num_rows() - Obtiene el número de filas de un resultado

mysqli_result::$current_field
mysqli_result::fetch_all
mysqli_result


Obtener todas las filas en un array asociativo, numérico, o en ambos

mysqli_result::data_seek
mysqli_result::fetch_array
mysqli_result
PHP Manual

mysqli_result::fetch_all

mysqli_fetch_all

(PHP 5 >= 5.3.0)

mysqli_result::fetch_all -- mysqli_fetch_all — Obtener todas las filas en un array asociativo, numérico, o en ambos

Descripción

Estilo orientado a objetos

mixed mysqli_result::fetch_all ([ int $resulttype = MYSQLI_NUM ] )

Estilo por procedimientos

mixed mysqli_fetch_all ( mysqli_result $result [, int $resulttype = MYSQLI_NUM ] )

mysqli_fetch_all() consulta todas las filas y devuelve el resultado en un array asociativo, numérico, o ambos.

Parámetros

result

Sólo estilo por procedimientos: Un conjunto de identificadores de resultados devuelto por mysqli_query(), mysqli_store_result() o mysqli_use_result().

resulttype

Este parámetro opcional define mediante una constante qué tipo de array debe producirse a partir de los datos actuales. Los valores posibles para este parámetro son las constantes MYSQLI_ASSOC, MYSQLI_NUM, o MYSQLI_BOTH.

Valores devueltos

Devuelve un array asociativo o numérico que almacena el resultado.

MySQL Native Driver Only

Disponible sólo con mysqlnd.

Dado que mysqli_fetch_all() devuelve todas las filas en un array en un solo paso, puede consumir más memoria que otras funciones similares tales como mysqli_fetch_array(), que sólo devuelve una fila cada vez a partir del resultado. Por tanto, si se necesita recorrer un resultado, será necesario un bucle que minimice el impacto en rendimiento. Por esta razón, se aconseja que sólo se use mysqli_fetch_all() en aquellas situaciones en que el resultado se tenga que enviar a otra capa o nivel para que lo procese.

Ver también

  • mysqli_fetch_array() - Obtiene una fila de resultados como un array asociativo, numérico, o ambos
  • mysqli_query() - Realiza una consulta a la Base de Datos

mysqli_result::data_seek
mysqli_result::fetch_array
mysqli_result


Obtiene una fila de resultados como un array asociativo, numérico, o ambos

mysqli_result::fetch_all
mysqli_result::fetch_assoc
mysqli_result
PHP Manual

mysqli_result::fetch_array

mysqli_fetch_array

(PHP 5)

mysqli_result::fetch_array -- mysqli_fetch_array — Obtiene una fila de resultados como un array asociativo, numérico, o ambos

Descripción

Estilo orientado a objetos

mixed mysqli_result::fetch_array ([ int $resulttype = MYSQLI_BOTH ] )

Estilo por procedimientos

mixed mysqli_fetch_array ( mysqli_result $result [, int $resulttype = MYSQLI_BOTH ] )

Retorna un array que corresponde a la fila obtenida o NULL si es que no hay más filas en el resultset representado por el parámetro result.

mysqli_fetch_array() es una versión extendida de la función mysqli_fetch_row(). Además de guardar la información en los índices numéricos del array resultante, la función mysqli_fetch_array() también puede guardar la información en índices asociativos, utilizando los nombres de los campos del resultado como llaves.

Nota: Los nombres de los campos devueltos por esta función son sensibles a mayúsculas y minúsculas.

Nota: Esta función define campos NULOS al valor NULL de PHP.

Si dos o más columnas del resultado tienen el mismo nombre de campo, la última columna tomará precedencia y sobrescribirá la información anterior. Para acceder a múltiples columnas con el mismo nombre, hay que usar la versión numéricamente indexada de la fila.

Parámetros

result

Sólo estilo por procedimientos: Un conjunto de identificadores de resultados devuelto por mysqli_query(), mysqli_store_result() o mysqli_use_result().

resulttype

Este parámetro opcional es una constante que indica qué tipo de array debiera generarse con la información de la fila actual. Los valores posibles para este parámetro son las constantes MYSQLI_ASSOC, MYSQLI_NUM, o MYSQLI_BOTH.

Al emplear la constante MYSQLI_ASSOC esta función se comportará de manera idéntica a mysqli_fetch_assoc(), mientras que con MYSQLI_NUM se comportará exactamente igual que la función mysqli_fetch_row(). La última opción MYSQLI_BOTH creará un único array con los atributos de ambas dos.

Valores devueltos

Retorna un array de strings que corresponde a la fila obtenida o NULL si no hay más filas en el resultset.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* verificar la conexión */
if (mysqli_connect_errno()) {
    printf("Conexión fallida: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3";
$result = $mysqli->query($query);

/* array numérico */
$row = $result->fetch_array(MYSQLI_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);

/* array asociativo */
$row = $result->fetch_array(MYSQLI_ASSOC);
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);

/* array numérico y asociativo */
$row = $result->fetch_array(MYSQLI_BOTH);
printf ("%s (%s)\n", $row[0], $row["CountryCode"]);

/* liberar la serie de resultados */
$result->free();

/* cerrar la conexión */
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* verificar la conexión */
if (mysqli_connect_errno()) {
    printf("Conexión fallida: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3";
$result = mysqli_query($link, $query);

/* array numérico */
$row = mysqli_fetch_array($result, MYSQLI_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);

/* array asociativo */
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);

/* array numérico y asociativo */
$row = mysqli_fetch_array($result, MYSQLI_BOTH);
printf ("%s (%s)\n", $row[0], $row["CountryCode"]);

/* liberar la serie de resultados */
mysqli_free_result($result);

/* cerrar la conexión */
mysqli_close($link);
?>

El resultado de los ejemplos serían:

Kabul (AFG)
Qandahar (AFG)
Herat (AFG)

Ver también

  • mysqli_fetch_assoc() - Obtiene una fila de resultado como un array asociativo
  • mysqli_fetch_row() - Obtener una fila de resultados como un array enumerado
  • mysqli_fetch_object() - Devuelve la fila actual de un conjunto de resultados como un objeto
  • mysqli_query() - Realiza una consulta a la Base de Datos
  • mysqli_data_seek() - Ajustar el puntero de resultado a una fila arbitraria del resultado

mysqli_result::fetch_all
mysqli_result::fetch_assoc
mysqli_result


Obtiene una fila de resultado como un array asociativo

mysqli_result::fetch_array
mysqli_result::fetch_field_direct
mysqli_result
PHP Manual

mysqli_result::fetch_assoc

mysqli_fetch_assoc

(PHP 5)

mysqli_result::fetch_assoc -- mysqli_fetch_assoc — Obtiene una fila de resultado como un array asociativo

Descripción

Estilo orientado a objetos

array mysqli_result::fetch_assoc ( void )

Estilo por procedimientos

array mysqli_fetch_assoc ( mysqli_result $result )

Retorna un array asociativo correspondiente a la fila obtenida o NULL si es que no hay más filas.

Nota: Los nombres de los campos devueltos por esta función son sensibles a mayúsculas y minúsculas.

Nota: Esta función define campos NULOS al valor NULL de PHP.

Parámetros

result

Sólo estilo por procedimientos: Un conjunto de identificadores de resultados devuelto por mysqli_query(), mysqli_store_result() o mysqli_use_result().

Valores devueltos

Retorna una matriz de strings asociativa que representa a la fila obtenida del resultset, donde cada llave de la matriz corresponde al nombre de una de las columnas de éste; o NULL si es que no le quedan filas.

Si dos o más columnas del resultado tienen el mismo nombre de campo, la última columna tomará precedencia. Para acceder a la(s) otra(s) columna(s) con el mismo nombre, se necesita ya sea acceder al resultado usando los índices numéricos gracias a mysqli_fetch_row(), ya sea añadirle alias a los campos.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* verificar la conexión */
if (mysqli_connect_errno()) {
    printf("Conexión fallida: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = $mysqli->query($query)) {

    /* obtener array asociativo */
    while ($row = $result->fetch_assoc()) {
        printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
    }

    /* liberar el resultset */
    $result->free();
}

/* cerrar la conexión */
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* verificar la conexión */
if (mysqli_connect_errno()) {
    printf("Conexión fallida: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = mysqli_query($link, $query)) {

    /* obtener array asociativo */
    while ($row = mysqli_fetch_assoc($result)) {
        printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
    }

    /* liberar el conjunto de resultados */
    mysqli_free_result($result);
}

/* cerrar la conexión */
mysqli_close($link);
?>

El resultado de los ejemplos serían:

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

Ejemplo #3 Un ejemplo de mysqli_result comparando iterator usage

<?php
$c = mysqli_connect('127.0.0.1','user', 'pass');

// Usando iteradores (el soporte fue añadido con PHP 5.4)
foreach ( $c->query('SELECT user,host FROM mysql.user') as $row ) {
    printf("'%s'@'%s'\n", $row['user'], $row['host']);
}

echo "\n==================\n";

// Sin usar iteradores
$result = $c->query('SELECT user,host FROM mysql.user');
while ($row = $result->fetch_assoc()) {
    printf("'%s'@'%s'\n", $row['user'], $row['host']);
}

?>

El resultado del ejemplo sería algo similar a:

'root'@'192.168.1.1'
'root'@'127.0.0.1'
'dude'@'localhost'
'lebowski'@'localhost'

==================

'root'@'192.168.1.1'
'root'@'127.0.0.1'
'dude'@'localhost'
'lebowski'@'localhost'

Ver también

  • mysqli_fetch_array() - Obtiene una fila de resultados como un array asociativo, numérico, o ambos
  • mysqli_fetch_row() - Obtener una fila de resultados como un array enumerado
  • mysqli_fetch_object() - Devuelve la fila actual de un conjunto de resultados como un objeto
  • mysqli_query() - Realiza una consulta a la Base de Datos
  • mysqli_data_seek() - Ajustar el puntero de resultado a una fila arbitraria del resultado

mysqli_result::fetch_array
mysqli_result::fetch_field_direct
mysqli_result


Obtener los metadatos de un único campo

mysqli_result::fetch_assoc
mysqli_result::fetch_field
mysqli_result
PHP Manual

mysqli_result::fetch_field_direct

mysqli_fetch_field_direct

(PHP 5)

mysqli_result::fetch_field_direct -- mysqli_fetch_field_direct — Obtener los metadatos de un único campo

Descripción

Estilo orientado a objetos

object mysqli_result::fetch_field_direct ( int $fieldnr )

Estilo por procedimientos

object mysqli_fetch_field_direct ( mysqli_result $result , int $fieldnr )

Devuelve un objeto que contiene la información de definición de un campo del conjunto de resultados especificado.

Parámetros

result

Sólo estilo por procedimientos: Un conjunto de identificadores de resultados devuelto por mysqli_query(), mysqli_store_result() o mysqli_use_result().

fieldnr

El número de campo. Este valor debe estar en un rango desde 0 a número de campos - 1.

Valores devueltos

Devuelve un objeto que contiene la información de definición del campo o FALSE si no está disponible la información del campo especificada por fieldnr.

Atributos del objeto
Atributo | Descripción
name | El nombre de la columna
orgname | El nombre original de la columna si se especificó un alias
table | El nombre de la tabla al que pertenece el campo (si no es calculado)
orgtable | El nombre original de la tabla si se especificó un alias
def | El valor predeterminado de este campo, representado como una cadena
max_length | El ancho máximo del campo del conjunto de resultados.
length | El ancho del campo, como fue especificado en la definición de la tabla.
charsetnr | El número del conjunto de caracteres del campo.
flags | Un entero que representa las banderas de bits del campo.
type | El tipo de datos usado por el campo
decimals | El número de decimales usado (para campos integer)

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

$consulta = "SELECT Name, SurfaceArea from Country ORDER BY Name LIMIT 5";

if ($resultado = $mysqli->query($consulta)) {

    /* Obtener la información del campo para la columna 'SurfaceArea' */
    $info_campo = $resultado->fetch_field_direct(1);

    printf("Nombre:        %s\n", $info_campo->name);
    printf("Tabla:         %s\n", $info_campo->table);
    printf("Longitud máx.: %d\n", $info_campo->max_length);
    printf("Banderas:      %d\n", $info_campo->flags);
    printf("Tipo:          %d\n", $info_campo->type);

    $resultado->close();
}

/* cerrar la conexión */
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

$consulta = "SELECT Name, SurfaceArea from Country ORDER BY Name LIMIT 5";

if ($resultado = mysqli_query($enlace, $consulta)) {

    /* Obtener la información del campo para la columna 'SurfaceArea' */
    $info_campo = mysqli_fetch_field_direct($resultado, 1);

    printf("Nombre:     %s\n", $info_campo->name);
    printf("Tabla:    %s\n", $info_campo->table);
    printf("Longitud máx.: %d\n", $info_campo->max_length);
    printf("Banderas:    %d\n", $info_campo->flags);
    printf("Tipo:     %d\n", $info_campo->type);

    mysqli_free_result($resultado);
}

/* cerrar la conexión */
mysqli_close($enlace);
?>

El resultado de los ejemplos serían:

Nombre:        SurfaceArea
Tabla:         Country
Longitud máx.: 10
Banderas:      32769
Tipo:          4

Ver también

  • mysqli_num_fields() - Obtiene el número de campos de un resultado
  • mysqli_fetch_field() - Retorna el próximo campo del resultset
  • mysqli_fetch_fields() - Devuelve un array de objetos que representan los campos de un conjunto de resultados

mysqli_result::fetch_assoc
mysqli_result::fetch_field
mysqli_result


Retorna el próximo campo del resultset

mysqli_result::fetch_field_direct
mysqli_result::fetch_fields
mysqli_result
PHP Manual

mysqli_result::fetch_field

mysqli_fetch_field

(PHP 5)

mysqli_result::fetch_field -- mysqli_fetch_field — Retorna el próximo campo del resultset

Descripción

Estilo orientado a objetos

object mysqli_result::fetch_field ( void )

Estilo por procedimientos

object mysqli_fetch_field ( mysqli_result $result )

Retorna la definición de una columna del resultset como un objeto. Para obtener la información de todas las columnas del resultset hay que llamar esta función reiterativamente.

Parámetros

result

Sólo estilo por procedimientos: Un conjunto de identificadores de resultados devuelto por mysqli_query(), mysqli_store_result() o mysqli_use_result().

Valores devueltos

Retorna un objeto que contiene la información de la columna o FALSE en el caso de que la información no esté disponible.

Propiedades del objeto
Propiedad | Descripción
name | El nombre de la columna
orgname | El nombre original de la columna en caso que se haya especificado un alias
table | El nombre de la tabla al que este campo pertenece (si no es calculado)
orgtable | El nombre original de la tabla en caso que se haya especificado un alias
def | Reservado para el valor por omisión, por ahora es siempre ""
db | Base de datos (desde PHP 5.3.6)
catalog | El nombre del catálogo, siempre "def" (desde PHP 5.3.6)
max_length | El largo máximo del campo en el resultset
length | El largo del campo, tal como se especifica en la definición de la tabla.
charsetnr | El número del juego de caracteres del campo.
flags | Un entero que representa las banderas de bits del campo.
type | El tipo de datos que se usa en este campo
decimals | El número de decimales utilizado (para campos de tipo integer)

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* verificar la conexión */
if (mysqli_connect_errno()) {
    printf("Conexión fallida: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Obtener la información del campo de cada columna */
    while ($finfo = $result->fetch_field()) {

        printf("Nombre:     %s\n", $finfo->name);
        printf("Tabla:    %s\n", $finfo->table);
        printf("Largo max: %d\n", $finfo->max_length);
        printf("Banderas:    %d\n", $finfo->flags);
        printf("Tipo:     %d\n\n", $finfo->type);
    }
    $result->close();
}

/* cerrar la conexión */
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* verificar la conexión *
if (mysqli_connect_errno()) {
    printf("Conexión fallida: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Obtener la información del campo de cada columna */
    while ($finfo = mysqli_fetch_field($result)) {

        printf("Nombre:     %s\n", $finfo->name);
        printf("Tabla:      %s\n", $finfo->table);
        printf("Largo max:  %d\n", $finfo->max_length);
        printf("Banderas:   %d\n", $finfo->flags);
        printf("Tipo:       %d\n\n", $finfo->type);
    }
    mysqli_free_result($result);
}

/* cerrar la conexión */
mysqli_close($link);
?>

El resultado de los ejemplos serían:

Nombre:     Name
Tabla:      Country
Largo max:  11
Banderas:   1
Tipo:       254

Nombre:     SurfaceArea
Tabla:      Country
Largo max:  10
Banderas:   32769
Tipo:       4

Ver también

  • mysqli_num_fields() - Obtiene el número de campos de un resultado
  • mysqli_fetch_field_direct() - Obtener los metadatos de un único campo
  • mysqli_fetch_fields() - Devuelve un array de objetos que representan los campos de un conjunto de resultados
  • mysqli_field_seek() - Establecer el puntero del resultado al índice del campo especificado

mysqli_result::fetch_field_direct
mysqli_result::fetch_fields
mysqli_result


Devuelve un array de objetos que representan los campos de un conjunto de resultados

mysqli_result::fetch_field
mysqli_result::fetch_object
mysqli_result
PHP Manual

mysqli_result::fetch_fields

mysqli_fetch_fields

(PHP 5)

mysqli_result::fetch_fields -- mysqli_fetch_fields — Devuelve un array de objetos que representan los campos de un conjunto de resultados

Descripción

Estilo orientado a objetos

array mysqli_result::fetch_fields ( void )

Estilo por procedimientos

array mysqli_fetch_fields ( mysqli_result $result )

Esta función sirve de propósito idéntico a la función mysqli_fetch_field() con la única diferencia de que, en lugar de devolver un objeto por cada campo, las columnas son devueltas en un array de objetos.

Parámetros

result

Sólo estilo por procedimientos: Un conjunto de identificadores de resultados devuelto por mysqli_query(), mysqli_store_result() o mysqli_use_result().

Valores devueltos

Devuelve un array de objetos que contiene la información de definición de los campos o FALSE si no hay información de campo disponible.

Propiedades del objeto
Propiedad | Descripción
name | El nombre de la columna
orgname | El nombre original de la columna si se especificó un alias
table | El nombre de la tabla al que pertenece el campo (si no es calculado)
orgtable | El nombre original de la tabla si se especificó un alias
max_length | El ancho máximo del campo del conjunto de resultados.
length | El ancho del campo, como fue especificado en la definición de la tabla.
charsetnr | El número del conjunto de caracteres del campo.
flags | Un entero que representa las banderas de bits del campo.
type | El tipo de datos usado por el campo
decimals | El número de decimales usado (para campos integer)

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

$consulta = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($resultado = $mysqli->query($consulta)) {

    /* Obtener la información de campo de todas las columnas */
    $info_campo = $resultado->fetch_fields();

    foreach ($info_campo as $valor) {
        printf("Nombre:        %s\n", $valor->name);
        printf("Tabla:         %s\n", $valor->table);
        printf("Longitud máx.: %d\n", $valor->max_length);
        printf("Banderas:      %d\n", $valor->flags);
        printf("Tipo:          %d\n", $valor->type);
    }
    $resultado->close();
}

/* cerrar la conexión */
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

$consulta = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($resultado = mysqli_query($enlace, $consulta)) {

    /* Obtener la información de campo de todas las columnas */
    $info_campo = mysqli_fetch_fields($resultado);

    foreach ($info_campo as $valor) {
        printf("Nombre:        %s\n", $valor->name);
        printf("Tabla:         %s\n", $valor->table);
        printf("Longitud máx.: %d\n", $valor->max_length);
        printf("Banderas:      %d\n", $valor->flags);
        printf("Tipo:          %d\n", $valor->type);
    }
    mysqli_free_result($resultado);
}

/* cerrar la conexión */
mysqli_close($enlace);
?>

El resultado de los ejemplos serían:

Nombre:        Name
Tabla:         Country
Longitud máx.: 11
Banderas:      1
Tipo:          254

Nombre:        SurfaceArea
Tabla:         Country
Longitud máx.: 10
Banderas:      32769
Tipo:          4

Ver también

  • mysqli_num_fields() - Obtiene el número de campos de un resultado
  • mysqli_fetch_field_direct() - Obtener los metadatos de un único campo
  • mysqli_fetch_field() - Retorna el próximo campo del resultset

mysqli_result::fetch_field
mysqli_result::fetch_object
mysqli_result


Devuelve la fila actual de un conjunto de resultados como un objeto

mysqli_result::fetch_fields
mysqli_result::fetch_row
mysqli_result
PHP Manual

mysqli_result::fetch_object

mysqli_fetch_object

(PHP 5)

mysqli_result::fetch_object -- mysqli_fetch_object — Devuelve la fila actual de un conjunto de resultados como un objeto

Descripción

Estilo orientado a objetos

object mysqli_result::fetch_object ([ string $class_name [, array $params ]] )

Estilo por procedimientos

object mysqli_fetch_object ( mysqli_result $result [, string $class_name [, array $params ]] )

mysqli_fetch_object() devolverá la fila actual del conjunto de resultados como un objeto, donde los atributos del objeto representan los nombres de los campos encontrados en el conjunto de resultados.

Observe que mysqli_fetch_object() establece las propiedades del objeto antes de llamar al constructor del objeto.

Parámetros

result

Sólo estilo por procedimientos: Un conjunto de identificadores de resultados devuelto por mysqli_query(), mysqli_store_result() o mysqli_use_result().

class_name

El nombre de la clase a instanciar, establecer las propiedades y devolver. Si no se especifica se devuelve un objeto stdClass.

params

Un array opcional de parámetros para pasar al constructor de los objetos de class_name.

Valores devueltos

Devuelve un objeto con las propiedades de cadena que corresponden a la fila obtenida o NULL si no hay más filas en el conjunto de resultados.

Nota: Los nombres de los campos devueltos por esta función son sensibles a mayúsculas y minúsculas.

Nota: Esta función define campos NULOS al valor NULL de PHP.

Historial de cambios

Versión | Descripción
5.0.0 | Se añadió la capacidad para devolver como un objeto diferente.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

$consulta = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($resultado = $mysqli->query($consulta)) {

    /* obtener el array de objetos */
    while ($obj = $resultado->fetch_object()) {
        printf ("%s (%s)\n", $obj->Name, $obj->CountryCode);
    }

    /* liberar el conjunto de resultados */
    $resultado->close();
}

/* cerrar la conexión */
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

$consulta = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($resultado = mysqli_query($enlace, $consulta)) {

    /* obtener el array asociativo */
    while ($obj = mysqli_fetch_object($resultado)) {
        printf ("%s (%s)\n", $obj->Name, $obj->CountryCode);
    }

    /* liberar el conjunto de resultados */
    mysqli_free_result($resultado);
}

/* cerrar la conexión */
mysqli_close($enlace);
?>

El resultado de los ejemplos serían:

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

Ver también

  • mysqli_fetch_array() - Obtiene una fila de resultados como un array asociativo, numérico, o ambos
  • mysqli_fetch_assoc() - Obtiene una fila de resultado como un array asociativo
  • mysqli_fetch_row() - Obtener una fila de resultados como un array enumerado
  • mysqli_query() - Realiza una consulta a la Base de Datos
  • mysqli_data_seek() - Ajustar el puntero de resultado a una fila arbitraria del resultado

mysqli_result::fetch_fields
mysqli_result::fetch_row
mysqli_result


Obtener una fila de resultados como un array enumerado

mysqli_result::fetch_object
mysqli_result::$field_count
mysqli_result
PHP Manual

mysqli_result::fetch_row

mysqli_fetch_row

(PHP 5)

mysqli_result::fetch_row -- mysqli_fetch_row — Obtener una fila de resultados como un array enumerado

Descripción

Estilo orientado a objetos

mixed mysqli_result::fetch_row ( void )

Estilo por procedimientos

mixed mysqli_fetch_row ( mysqli_result $result )

Obtiene una fila de datos del conjunto de resultados y la devuelve como un array enumerado, donde cada columna es almacenada en un índice del array comenzando por 0 (cero). Cada llamada subsiguiente a esta función devolverá la siguiente fila del conjunto de resultados, o NULL si no hay más filas.

Parámetros

result

Sólo estilo por procedimientos: Un conjunto de identificadores de resultados devuelto por mysqli_query(), mysqli_store_result() o mysqli_use_result().

Valores devueltos

mysqli_fetch_row() devuelve un array de cadenas que se corresponde con la fila obtenida o NULL si no hay más filas en el conjunto de resultados.

Nota: Esta función define campos NULOS al valor NULL de PHP.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

$consulta = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($resultado = $mysqli->query($consulta)) {

    /* obtener el array de objetos */
    while ($fila = $resultado->fetch_row()) {
        printf ("%s (%s)\n", $fila[0], $fila[1]);
    }

    /* liberar el conjunto de resultados */
    $resultado->close();
}

/* cerrar la conexión */
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

$consulta = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($resultado = mysqli_query($enlace, $consulta)) {

    /* obtener el array asociativo */
    while ($fila = mysqli_fetch_row($resultado)) {
        printf ("%s (%s)\n", $fila[0], $fila[1]);
    }

    /* liberar el conjunto de resultados */
    mysqli_free_result($resultado);
}

/* cerrar la conexión */
mysqli_close($enlace);
?>

El resultado de los ejemplos serían:

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

Ver también

  • mysqli_fetch_array() - Obtiene una fila de resultados como un array asociativo, numérico, o ambos
  • mysqli_fetch_assoc() - Obtiene una fila de resultado como un array asociativo
  • mysqli_fetch_object() - Devuelve la fila actual de un conjunto de resultados como un objeto
  • mysqli_query() - Realiza una consulta a la Base de Datos
  • mysqli_data_seek() - Ajustar el puntero de resultado a una fila arbitraria del resultado

mysqli_result::fetch_object
mysqli_result::$field_count
mysqli_result


Obtiene el número de campos de un resultado

mysqli_result::fetch_row
mysqli_result::field_seek
mysqli_result
PHP Manual

mysqli_result::$field_count

mysqli_num_fields

(PHP 5)

mysqli_result::$field_count -- mysqli_num_fields — Obtiene el número de campos de un resultado

Descripción

Estilo orientado a objetos

int $mysqli_result->field_count;

Estilo por procedimientos

int mysqli_num_fields ( mysqli_result $result )

Retorna el número de campos del resultset especificado.

Parámetros

result

Sólo estilo por procedimientos: Un conjunto de identificadores de resultados devuelto por mysqli_query(), mysqli_store_result() o mysqli_use_result().

Valores devueltos

El número de campos de un resultset.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* verificar la conexión */
if (mysqli_connect_errno()) {
    printf("Conexión fallida: %s\n", mysqli_connect_error());
    exit();
}

if ($result = $mysqli->query("SELECT * FROM City ORDER BY ID LIMIT 1")) {

    /* determinar el número de campos del resultset */
    $field_cnt = $result->field_count;

    printf("El resultset tiene %d campos.\n", $field_cnt);

    /* cerrar el resultset */
    $result->close();
}

/* cerrar la conexión */
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* verificar la conexión */
if (mysqli_connect_errno()) {
    printf("Conexión fallida: %s\n", mysqli_connect_error());
    exit();
}

if ($result = mysqli_query($link, "SELECT * FROM City ORDER BY ID LIMIT 1")) {

    /* determinar el número de campos del resultset */
    $field_cnt = mysqli_num_fields($result);

    printf("El resultset tiene %d campos.\n", $field_cnt);

    /* cerrar el resultset */
    mysqli_free_result($result);
}

/* cerrar la conexión */
mysqli_close($link);
?>

El resultado de los ejemplos serían:

El resultset tiene 5 campos.

Ver también

  • mysqli_fetch_field() - Retorna el próximo campo del resultset

mysqli_result::fetch_row
mysqli_result::field_seek
mysqli_result


Establecer el puntero del resultado al índice del campo especificado

mysqli_result::$field_count
mysqli_result::free
mysqli_result
PHP Manual

mysqli_result::field_seek

mysqli_field_seek

(PHP 5)

mysqli_result::field_seek -- mysqli_field_seek — Establecer el puntero del resultado al índice del campo especificado

Descripción

Estilo orientado a objetos

bool mysqli_result::field_seek ( int $fieldnr )

Estilo por procedimientos

bool mysqli_field_seek ( mysqli_result $result , int $fieldnr )

Establece el cursor del campo al índice dado. La siguiente llamada a mysqli_fetch_field() recuperará la definicion del campo de la columna asociada con ese índice.

Nota:

Para buscar al principio de una fila, pase un valor de índice de cero.

Parámetros

result

Sólo estilo por procedimientos: Un conjunto de identificadores de resultados devuelto por mysqli_query(), mysqli_store_result() o mysqli_use_result().

fieldnr

El número de campo. Este valor debe estar en el rango de 0 a número de campos - 1.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

$consulta = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($resultado = $mysqli->query($consulta)) {

    /* Obtener la información de campo de la 2ª columna */
    $resultado->field_seek(1);
    $info_campo = $resultado->fetch_field();

    printf("Nombre:        %s\n", $info_campo->name);
    printf("Tabla:         %s\n", $info_campo->table);
    printf("Longitud máx.: %d\n", $info_campo->max_length);
    printf("Banderas:      %d\n", $info_campo->flags);
    printf("Tipo:          %d\n\n", $info_campo->type);

    $resultado->close();
}

/* cerrar la conexión */
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

$consulta = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($resultado = mysqli_query($enlace, $consulta)) {

    /* Obtener la información de campo de la 2ª columna */
    mysqli_field_seek($resultado, 1);
    $info_campo = mysqli_fetch_field($resultado);

    printf("Nombre:        %s\n", $info_campo->name);
    printf("Tabla:         %s\n", $info_campo->table);
    printf("Longitud máx.: %d\n", $info_campo->max_length);
    printf("Banderas:      %d\n", $info_campo->flags);
    printf("Tipo:          %d\n\n", $info_campo->type);

    mysqli_free_result($resultado);
}

/* cerrar la conexión */
mysqli_close($enlace);
?>

El resultado de los ejemplos serían:

Nombre:        SurfaceArea
Tabla:         Country
Longitud máx.: 10
Banderas:      32769
Tipo:          4

Ver también

  • mysqli_fetch_field() - Retorna el próximo campo del resultset

mysqli_result::$field_count
mysqli_result::free
mysqli_result


Libera la memoria asociada a un resultado

mysqli_result::field_seek
mysqli_result::$lengths
mysqli_result
PHP Manual

mysqli_result::free

mysqli_free_result

(PHP 5)

mysqli_result::free -- mysqli_free_result — Libera la memoria asociada a un resultado

Descripción

Estilo orientado a objetos

void mysqli_result::free ( void )
void mysqli_result::close ( void )
void mysqli_result::free_result ( void )

Estilo por procedimientos

void mysqli_free_result ( mysqli_result $result )

Libera la memoria asociada al resultado.

Nota:

Siempre se debe liberar el resultado con mysqli_free_result(), cuando el objeto del resultado ya no es necesario.

Parámetros

result

Sólo estilo por procedimientos: Un conjunto de identificadores de resultados devuelto por mysqli_query(), mysqli_store_result() o mysqli_use_result().

Valores devueltos

No devuelve ningún valor.

Ver también

  • mysqli_query() - Realiza una consulta a la Base de Datos
  • mysqli_stmt_store_result() - Transfiere un conjunto de resultados desde una sentencia preparada
  • mysqli_store_result() - Transfiere un conjunto de resulados de la última consulta
  • mysqli_use_result() - Inicia la resuperación de un conjunto de resultados

mysqli_result::field_seek
mysqli_result::$lengths
mysqli_result


Retorna los largos de las columnas de la fila actual en el resultset

mysqli_result::free
mysqli_result::$num_rows
mysqli_result
PHP Manual

mysqli_result::$lengths

mysqli_fetch_lengths

(PHP 5)

mysqli_result::$lengths -- mysqli_fetch_lengths — Retorna los largos de las columnas de la fila actual en el resultset

Descripción

Estilo orientado a objetos

array $mysqli_result->lengths;

Estilo por procedimientos

array mysqli_fetch_lengths ( mysqli_result $result )

La función mysqli_fetch_lengths() retorna un array que contiene los largos de cada columna de la fila actual dentro del resultset·

Parámetros

result

Sólo estilo por procedimientos: Un conjunto de identificadores de resultados devuelto por mysqli_query(), mysqli_store_result() o mysqli_use_result().

Valores devueltos

Un array de integers que representan el tamaño de cada columna (sin incluir los caracteres null al final de éstas) . FALSE en caso de error.

mysqli_fetch_lengths() sólo es válida para la fila actual del resultset. Retorna FALSE si se invoca antes de llamar a mysqli_fetch_row/array/object o después de sacar todas las filas del resultado.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* verificar la conexión */
if (mysqli_connect_errno()) {
    printf("Conexión fallida: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT * from Country ORDER BY Code LIMIT 1";

if ($result = $mysqli->query($query)) {

    $row = $result->fetch_row();

    /* mostrar los largos de las columnas */
    foreach ($result->lengths as $i => $val) {
        printf("El campo %2d tiene por Largo %2d\n", $i+1, $val);
    }
    $result->close();
}

/* cerrar la conexión */
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* verificar la conexión */
if (mysqli_connect_errno()) {
    printf("Conexión fallida: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT * from Country ORDER BY Code LIMIT 1";

if ($result = mysqli_query($link, $query)) {

    $row = mysqli_fetch_row($result);

    /* mostrar los largos de las columnas */
    foreach (mysqli_fetch_lengths($result) as $i => $val) {
        printf("El camp %2d tiene por Largo %2d\n", $i+1, $val);
    }
    mysqli_free_result($result);
}

/* cerrar la conexión */
mysqli_close($link);
?>

El resultado de los ejemplos serían:

El campo  1 tiene por Largo  3
El campo  2 tiene por Largo  5
El campo  3 tiene por Largo 13
El campo  4 tiene por Largo  9
El campo  5 tiene por Largo  6
El campo  6 tiene por Largo  1
El campo  7 tiene por Largo  6
El campo  8 tiene por Largo  4
El campo  9 tiene por Largo  6
El campo 10 tiene por Largo  6
El campo 11 tiene por Largo  5
El campo 12 tiene por Largo 44
El campo 13 tiene por Largo  7
El campo 14 tiene por Largo  3
El campo 15 tiene por Largo  2
mysqli_result::free
mysqli_result::$num_rows
mysqli_result


Obtiene el número de filas de un resultado

mysqli_result::$lengths
mysqli_driver
mysqli_result
PHP Manual

mysqli_result::$num_rows

mysqli_num_rows

(PHP 5)

mysqli_result::$num_rows -- mysqli_num_rows — Obtiene el número de filas de un resultado

Descripción

Estilo orientado a objetos

int $mysqli_result->num_rows;

Estilo por procedimientos

int mysqli_num_rows ( mysqli_result $result )

Retorna el número de filas del resultado.

El comportamiento de mysqli_num_rows() depende de si es que se utilizan resultsets con o sin buffer. En caso de emplearlos sin buffer mysqli_num_rows() no retornará el número de filas correcto hasta que todas las filas del resultado hayan sido recuperadas.

Parámetros

result

Sólo estilo por procedimientos: Un conjunto de identificadores de resultados devuelto por mysqli_query(), mysqli_store_result() o mysqli_use_result().

Valores devueltos

Retorna el número de filas del resultado.

Nota:

Si el número de filas es mayor al máximo valor de PHP_INT_MAX, el número será retornado como un string.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* verificar la conexión */
if (mysqli_connect_errno()) {
    printf("Conexión fallida: %s\n", mysqli_connect_error());
    exit();
}

if ($result = $mysqli->query("SELECT Code, Name FROM Country ORDER BY Name")) {

    /* determinar el número de filas del resultado */
    $row_cnt = $result->num_rows;

    printf("Result set has %d rows.\n", $row_cnt);

    /* cerrar el resultset */
    $result->close();
}

/* cerrar la conexión */
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* verificar la conexión */
if (mysqli_connect_errno()) {
    printf("Conexión fallida: %s\n", mysqli_connect_error());
    exit();
}

if ($result = mysqli_query($link, "SELECT Code, Name FROM Country ORDER BY Name")) {

    /* determinar el número de filas del resultado */
    $row_cnt = mysqli_num_rows($result);

    printf("El resultado tiene %d filas.\n", $row_cnt);

    /* cerrar el resulset */
    mysqli_free_result($result);
}

/* cerrar la conexión */
mysqli_close($link);
?>

El resultado de los ejemplos serían:

El resultado tiene 239 filas.

Ver también

  • mysqli_affected_rows() - Obtiene el número de filas afectadas en la última operación MySQL
  • mysqli_store_result() - Transfiere un conjunto de resulados de la última consulta
  • mysqli_use_result() - Inicia la resuperación de un conjunto de resultados
  • mysqli_query() - Realiza una consulta a la Base de Datos

mysqli_result::$lengths
mysqli_driver
mysqli_result


La clase mysqli_driver

(PHP 5)

Introducción

MySQLi Driver.

Sinopsis de la Clase

mysqli_driver {
/* Propiedades */
public readonly string $client_info ;
public readonly string $client_version ;
public readonly string $driver_version ;
public readonly string $embedded ;
public bool $reconnect ;
public int $report_mode ;
/* Métodos */
void embedded_server_end ( void )
bool embedded_server_start ( bool $start , array $arguments , array $groups )
}

Propiedades

client_info

El encabezado de la versión de la API Cliente

client_version

La versión de Cliente

driver_version

La versión del controlador MySQLi

embedded

Si el soporte para MySQLi Embebido está habilitado

reconnect

Permitir o evitar que vuelva a conectar (véase la Directiva INI mysqli.reconnect)

report_mode

Establecer MYSQLI_REPORT_OFF, MYSQLI_REPORT_ALL o cualquier combinación de MYSQLI_REPORT_STRICT (lanzar excepciones para los errores), MYSQLI_REPORT_ERROR (informe de errores) y MYSQLI_REPORT_INDEX (errores con respecto a índices). Ver también mysqli_report().

Tabla de contenidos

  • mysqli_driver::embedded_server_end — Detener el servidor incrustado
  • mysqli_driver::embedded_server_start — Inicializa e inicia el servidor embebido
  • mysqli_driver::$report_mode — Habilita o desabilita las funciones internas de notificación
mysqli_result::$num_rows
mysqli_driver::embedded_server_end
Mysqli


Detener el servidor incrustado

mysqli_driver
mysqli_driver::embedded_server_start
mysqli_driver
PHP Manual

mysqli_driver::embedded_server_end

mysqli_embedded_server_end

(PHP 5)

mysqli_driver::embedded_server_end -- mysqli_embedded_server_end — Detener el servidor incrustado

Descripción

Estilo orientado a objetos

void mysqli_driver::embedded_server_end ( void )

Estilo por procedimientos

void mysqli_embedded_server_end ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

mysqli_driver
mysqli_driver::embedded_server_start
mysqli_driver


Inicializa e inicia el servidor embebido

mysqli_driver::embedded_server_end
mysqli_driver::$report_mode
mysqli_driver
PHP Manual

mysqli_driver::embedded_server_start

mysqli_embedded_server_start

(PHP 5)

mysqli_driver::embedded_server_start -- mysqli_embedded_server_start — Inicializa e inicia el servidor embebido

Descripción

Estilo orientado a objetos

bool mysqli_driver::embedded_server_start ( bool $start , array $arguments , array $groups )

Estilo orientado a objetos

bool mysqli_embedded_server_start ( bool $start , array $arguments , array $groups )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

mysqli_driver::embedded_server_end
mysqli_driver::$report_mode
mysqli_driver


Habilita o desabilita las funciones internas de notificación

mysqli_driver::embedded_server_start
mysqli_warning
mysqli_driver
PHP Manual

mysqli_driver::$report_mode

mysqli_report

(PHP 5)

mysqli_driver::$report_mode -- mysqli_report — Habilita o desabilita las funciones internas de notificación

Descripción

Estilo orientado a objetos

int $mysqli_driver->report_mode ;

Estilo por procedimientos

bool mysqli_report ( int $flags )

Una función útil para mejorar consultas durante el desarrollo de código y pruebas. Dependiendo de las banderas, notifica errores desde llamadas a funciones de mysqli o consultas que no usan un índice (o usan uno erróneo).

Parámetros

flags

Banderas admitidas
Nombre | Descripción
MYSQLI_REPORT_OFF | Desactiva la notificación
MYSQLI_REPORT_ERROR | Notifica errores desde llamadas a funciones de mysqli
MYSQLI_REPORT_STRICT | Lanza una mysqli_sql_exception para errors en lugar de para advertencias
MYSQLI_REPORT_INDEX | Notifica si no se usó un índice o si era erróneo en una consulta
MYSQLI_REPORT_ALL | Establece todas las opciones (notifica todo)

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.3.4 | El cambio de modo de notificación ahora es por solicitud, en vez de por proceso.
5.2.15 | El cambio de modo de notificación ahora es por solicitud, en vez de por proceso.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");

/* verificar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

/* activar la notificación */
$controlador = new mysqli_driver();
$controlador->report_mode = MYSQLI_REPORT_ALL;

try {

    /* esta consulta debería notificar un error */
    $resultado = $mysqli->query("SELECT Name FROM Nonexistingtable WHERE population > 50000");

    /* esta consulta debería notificar un índice erróneo */
    $resultado = $mysqli->query("SELECT Name FROM City WHERE population > 50000");

    $resultado->close();

    $mysqli->close();

} catch (mysqli_sql_exception $e) {

    echo $e->__toString();
}
?>

Ejemplo #2 Estilo por procedimientos

<?php
/* activar la notificación */
mysqli_report(MYSQLI_REPORT_ALL);

$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");

/* verificar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

/* esta consulta debería notificar un error */
$resultado = mysqli_query("SELECT Name FROM Nonexistingtable WHERE population > 50000");

/* esta consulta debería notificar un índice erróneo */
$resultado = mysqli_query("SELECT Name FROM City WHERE population > 50000");

mysqli_free_result($resultado);

mysqli_close($enlace);
?>

Ver también

  • mysqli_debug() - Realiza operaciones de depuración
  • mysqli_dump_debug_info() - Volcado de información de depuración en el registro
  • mysqli_sql_exception
  • set_exception_handler() - Establece una función de gestión de excepciones definida por el usuario
  • error_reporting() - Establece cuáles errores de PHP son notificados

mysqli_driver::embedded_server_start
mysqli_warning
mysqli_driver


La clase mysqli_warning

(PHP 5)

Introducción

Representa una advertencia de MySQL.

Sinopsis de la Clase

mysqli_warning {
/* Propiedades */
public $message ;
public $sqlstate ;
public $errno ;
/* Métodos */
public __construct ( void )
public void next ( void )
}

Propiedades

message

Cadena de mensaje

sqlstate

Estado de SQL

errno

Número de error

Tabla de contenidos

  • mysqli_warning::__construct — El propósito __construct
  • mysqli_warning::next — El propósito next
mysqli_driver::$report_mode
mysqli_warning::__construct
Mysqli


El propósito __construct

mysqli_warning
mysqli_warning::next
mysqli_warning
PHP Manual

mysqli_warning::__construct

(PHP 5)

mysqli_warning::__construct — El propósito __construct

Descripción

public mysqli_warning::__construct ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

mysqli_warning
mysqli_warning::next
mysqli_warning


El propósito next

mysqli_warning::__construct
mysqli_sql_exception
mysqli_warning
PHP Manual

mysqli_warning::next

(PHP 5)

mysqli_warning::next — El propósito next

Descripción

public void mysqli_warning::next ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

mysqli_warning::__construct
mysqli_sql_exception
mysqli_warning


La clase mysqli_sql_exception

(PHP 5)

Introducción

La clase que gestiona las excepciones mysqli.

Sinopsis de la Clase

mysqli_sql_exception extends RuntimeException {
/* Propiedades */
protected string $sqlstate ;
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
}

Propiedades

sqlstate

El estado sql con el error.

mysqli_warning::next
Alias y Funciones de MySQLi obsoletos
Mysqli


Alias y Funciones de MySQLi obsoletos

Tabla de contenidos

  • mysqli_bind_param — Alias de mysqli_stmt_bind_param
  • mysqli_bind_result — Alias de mysqli_stmt_bind_result
  • mysqli_client_encoding — Alias de mysqli_character_set_name
  • mysqli_connect — Alias de mysqli::__construct
  • mysqli_disable_reads_from_master — Deshabilita las lecturas desde el maestro
  • mysqli_disable_rpl_parse — Deshabilita el interprete RPL
  • mysqli_enable_reads_from_master — Activa las lecturas desde el maestro
  • mysqli_enable_rpl_parse — Habilita el interprete RPL
  • mysqli_escape_string — Alias de mysqli_real_escape_string
  • mysqli_execute — Alias para mysqli_stmt_execute
  • mysqli_fetch — Alias de mysqli_stmt_fetch
  • mysqli_get_cache_stats — Devuelve el caché de estadísticas Zval del cliente
  • mysqli_get_metadata — Alias de mysqli_stmt_result_metadata
  • mysqli_master_query — Fuerza la ejecución de una cosulta en un maestro en una configuración maestro/esclavo
  • mysqli_param_count — Alias de mysqli_stmt_param_count
  • mysqli_report — Alias de of mysqli_driver->report_mode
  • mysqli_rpl_parse_enabled — Verifica si está habilitado el interprete RPL
  • mysqli_rpl_probe — Exploración RPL
  • mysqli_send_long_data — Alias de mysqli_stmt_send_long_data
  • mysqli::set_opt — Alias de mysqli_options
  • mysqli_slave_query — Fuerza la ejecución de una cosulta en un esclavo en una configuración maestro/esclavo
mysqli_sql_exception
mysqli_bind_param
Mysqli


Alias de mysqli_stmt_bind_param

Alias y Funciones de MySQLi obsoletos
mysqli_bind_result
Alias y Funciones de MySQLi obsoletos
PHP Manual

mysqli_bind_param

(PHP 5 < 5.4.0)

mysqli_bind_param — Alias de mysqli_stmt_bind_param()

Descripción

Esta función es un alias de mysqli_stmt_bind_param().

Advertencia

Esta función ha sido declarada OBSOLETA desde PHP 5.3.0 y ELIMINADA a partir de PHP 5.4.0.

Ver también

  • mysqli_stmt_bind_param() - Agrega variables a una sentencia preparada como parámetros

Alias y Funciones de MySQLi obsoletos
mysqli_bind_result
Alias y Funciones de MySQLi obsoletos


Alias de mysqli_stmt_bind_result

mysqli_bind_param
mysqli_client_encoding
Alias y Funciones de MySQLi obsoletos
PHP Manual

mysqli_bind_result

(PHP 5 < 5.4.0)

mysqli_bind_result — Alias de mysqli_stmt_bind_result()

Descripción

Esta función es un allias de mysqli_stmt_bind_result().

Advertencia

Esta función ha sido declarada OBSOLETA desde PHP 5.3.0 y ELIMINADA a partir de PHP 5.4.0.

Ver también

  • mysqli_stmt_bind_result() - Vincula variables a una sentencia preparada para el almacenamiento de resultados

mysqli_bind_param
mysqli_client_encoding
Alias y Funciones de MySQLi obsoletos


Alias de mysqli_character_set_name

mysqli_bind_result
mysqli_connect
Alias y Funciones de MySQLi obsoletos
PHP Manual

mysqli_client_encoding

(PHP 5 < 5.4.0)

mysqli_client_encoding — Alias de mysqli_character_set_name()

Descripción

Esta función es un alias de mysqli_character_set_name().

Advertencia

Esta función ha sido declarada OBSOLETA desde PHP 5.3.0 y ELIMINADA a partir de PHP 5.4.0.

Ver también

  • mysqli_real_escape_string() - Escapa los caracteres especiales de una cadena para usarla en una sentencia SQL, tomando en cuenta el conjunto de caracteres actual de la conexión

mysqli_bind_result
mysqli_connect
Alias y Funciones de MySQLi obsoletos


Alias de mysqli::__construct

mysqli_client_encoding
mysqli_disable_reads_from_master
Alias y Funciones de MySQLi obsoletos
PHP Manual

mysqli_connect

(PHP 5)

mysqli_connect — Alias de mysqli::__construct()

Descripción

Esta función es un alias de: mysqli::__construct()

mysqli_client_encoding
mysqli_disable_reads_from_master
Alias y Funciones de MySQLi obsoletos


Deshabilita las lecturas desde el maestro

mysqli_connect
mysqli_disable_rpl_parse
Alias y Funciones de MySQLi obsoletos
PHP Manual

mysqli_disable_reads_from_master

mysqli::disable_reads_from_master

(PHP 5)

mysqli_disable_reads_from_master -- mysqli::disable_reads_from_master — Deshabilita las lecturas desde el maestro

Descripción

Estilo orientado a objetos

void mysqli::disable_reads_from_master ( void )

Estilo por procedimientos

bool mysqli_disable_reads_from_master ( mysqli $link )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Advertencia

Esta función ha sido declarada OBSOLETA y ELIMINADA desde PHP 5.3.0.

mysqli_connect
mysqli_disable_rpl_parse
Alias y Funciones de MySQLi obsoletos


Deshabilita el interprete RPL

mysqli_disable_reads_from_master
mysqli_enable_reads_from_master
Alias y Funciones de MySQLi obsoletos
PHP Manual

mysqli_disable_rpl_parse

(PHP 5)

mysqli_disable_rpl_parse — Deshabilita el interprete RPL

Descripción

bool mysqli_disable_rpl_parse ( mysqli $link )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Advertencia

Esta función ha sido declarada OBSOLETA y ELIMINADA desde PHP 5.3.0.

mysqli_disable_reads_from_master
mysqli_enable_reads_from_master
Alias y Funciones de MySQLi obsoletos


Activa las lecturas desde el maestro

mysqli_disable_rpl_parse
mysqli_enable_rpl_parse
Alias y Funciones de MySQLi obsoletos
PHP Manual

mysqli_enable_reads_from_master

(PHP 5)

mysqli_enable_reads_from_master — Activa las lecturas desde el maestro

Descripción

bool mysqli_enable_reads_from_master ( mysqli $link )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Advertencia

Esta función ha sido declarada OBSOLETA y ELIMINADA desde PHP 5.3.0.

mysqli_disable_rpl_parse
mysqli_enable_rpl_parse
Alias y Funciones de MySQLi obsoletos


Habilita el interprete RPL

mysqli_enable_reads_from_master
mysqli_escape_string
Alias y Funciones de MySQLi obsoletos
PHP Manual

mysqli_enable_rpl_parse

(PHP 5)

mysqli_enable_rpl_parse — Habilita el interprete RPL

Descripción

bool mysqli_enable_rpl_parse ( mysqli $link )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Advertencia

Esta función ha sido declarada OBSOLETA y ELIMINADA desde PHP 5.3.0.

mysqli_enable_reads_from_master
mysqli_escape_string
Alias y Funciones de MySQLi obsoletos


Alias de mysqli_real_escape_string

mysqli_enable_rpl_parse
mysqli_execute
Alias y Funciones de MySQLi obsoletos
PHP Manual

mysqli_escape_string

(PHP 5)

mysqli_escape_string — Alias de mysqli_real_escape_string()

Descripción

Esta función es un alias de: mysqli_real_escape_string().

mysqli_enable_rpl_parse
mysqli_execute
Alias y Funciones de MySQLi obsoletos


Alias para mysqli_stmt_execute

mysqli_escape_string
mysqli_fetch
Alias y Funciones de MySQLi obsoletos
PHP Manual

mysqli_execute

(PHP 5)

mysqli_execute — Alias para mysqli_stmt_execute()

Descripción

Esta función es un alias de mysqli_stmt_execute().

Notas

Nota:

mysqli_execute() es obsoleto y será removido.

Ver también

  • mysqli_stmt_execute() - Ejecuta una consulta preparada

mysqli_escape_string
mysqli_fetch
Alias y Funciones de MySQLi obsoletos


Alias de mysqli_stmt_fetch

mysqli_execute
mysqli_get_cache_stats
Alias y Funciones de MySQLi obsoletos
PHP Manual

mysqli_fetch

(PHP 5 < 5.4.0)

mysqli_fetch — Alias de mysqli_stmt_fetch()

Descripción

Esta función es un alias de mysqli_stmt_fetch().

Advertencia

Esta función ha sido declarada OBSOLETA desde PHP 5.3.0 y ELIMINADA a partir de PHP 5.4.0.

Ver también

  • mysqli_stmt_fetch() - Obtiene los resultados de una sentencia preparadas en las variables vinculadas

mysqli_execute
mysqli_get_cache_stats
Alias y Funciones de MySQLi obsoletos


Devuelve el caché de estadísticas Zval del cliente

mysqli_fetch
mysqli_get_metadata
Alias y Funciones de MySQLi obsoletos
PHP Manual

mysqli_get_cache_stats

(PHP 5 >= 5.3.0)

mysqli_get_cache_stats — Devuelve el caché de estadísticas Zval del cliente

Descripción

array mysqli_get_cache_stats ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve el caché de estadísticas Zval del cliente Disponible sólo con mysqlnd.

Parámetros

Valores devueltos

Devuelve un array con la caché de estadísticas Zval del cliente si funciona correctamente, en caso contrario FALSE

Ejemplos

Ejemplo #1 Ejemplo de mysqli_get_cache_stats()

<?php
$link = mysqli_connect();
print_r(mysqli_get_cache_stats());
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [bytes_sent] => 43
    [bytes_received] => 80
    [packets_sent] => 1
    [packets_received] => 2
    [protocol_overhead_in] => 8
    [protocol_overhead_out] => 4
    [bytes_received_ok_packet] => 11
    [bytes_received_eof_packet] => 0
    [bytes_received_rset_header_packet] => 0
    [bytes_received_rset_field_meta_packet] => 0
    [bytes_received_rset_row_packet] => 0
    [bytes_received_prepare_response_packet] => 0
    [bytes_received_change_user_packet] => 0
    [packets_sent_command] => 0
    [packets_received_ok] => 1
    [packets_received_eof] => 0
    [packets_received_rset_header] => 0
    [packets_received_rset_field_meta] => 0
    [packets_received_rset_row] => 0
    [packets_received_prepare_response] => 0
    [packets_received_change_user] => 0
    [result_set_queries] => 0
    [non_result_set_queries] => 0
    [no_index_used] => 0
    [bad_index_used] => 0
    [slow_queries] => 0
    [buffered_sets] => 0
    [unbuffered_sets] => 0
    [ps_buffered_sets] => 0
    [ps_unbuffered_sets] => 0
    [flushed_normal_sets] => 0
    [flushed_ps_sets] => 0
    [ps_prepared_never_executed] => 0
    [ps_prepared_once_executed] => 0
    [rows_fetched_from_server_normal] => 0
    [rows_fetched_from_server_ps] => 0
    [rows_buffered_from_client_normal] => 0
    [rows_buffered_from_client_ps] => 0
    [rows_fetched_from_client_normal_buffered] => 0
    [rows_fetched_from_client_normal_unbuffered] => 0
    [rows_fetched_from_client_ps_buffered] => 0
    [rows_fetched_from_client_ps_unbuffered] => 0
    [rows_fetched_from_client_ps_cursor] => 0
    [rows_skipped_normal] => 0
    [rows_skipped_ps] => 0
    [copy_on_write_saved] => 0
    [copy_on_write_performed] => 0
    [command_buffer_too_small] => 0
    [connect_success] => 1
    [connect_failure] => 0
    [connection_reused] => 0
    [reconnect] => 0
    [pconnect_success] => 0
    [active_connections] => 1
    [active_persistent_connections] => 0
    [explicit_close] => 0
    [implicit_close] => 0
    [disconnect_close] => 0
    [in_middle_of_command_close] => 0
    [explicit_free_result] => 0
    [implicit_free_result] => 0
    [explicit_stmt_close] => 0
    [implicit_stmt_close] => 0
    [mem_emalloc_count] => 0
    [mem_emalloc_ammount] => 0
    [mem_ecalloc_count] => 0
    [mem_ecalloc_ammount] => 0
    [mem_erealloc_count] => 0
    [mem_erealloc_ammount] => 0
    [mem_efree_count] => 0
    [mem_malloc_count] => 0
    [mem_malloc_ammount] => 0
    [mem_calloc_count] => 0
    [mem_calloc_ammount] => 0
    [mem_realloc_count] => 0
    [mem_realloc_ammount] => 0
    [mem_free_count] => 0
    [proto_text_fetched_null] => 0
    [proto_text_fetched_bit] => 0
    [proto_text_fetched_tinyint] => 0
    [proto_text_fetched_short] => 0
    [proto_text_fetched_int24] => 0
    [proto_text_fetched_int] => 0
    [proto_text_fetched_bigint] => 0
    [proto_text_fetched_decimal] => 0
    [proto_text_fetched_float] => 0
    [proto_text_fetched_double] => 0
    [proto_text_fetched_date] => 0
    [proto_text_fetched_year] => 0
    [proto_text_fetched_time] => 0
    [proto_text_fetched_datetime] => 0
    [proto_text_fetched_timestamp] => 0
    [proto_text_fetched_string] => 0
    [proto_text_fetched_blob] => 0
    [proto_text_fetched_enum] => 0
    [proto_text_fetched_set] => 0
    [proto_text_fetched_geometry] => 0
    [proto_text_fetched_other] => 0
    [proto_binary_fetched_null] => 0
    [proto_binary_fetched_bit] => 0
    [proto_binary_fetched_tinyint] => 0
    [proto_binary_fetched_short] => 0
    [proto_binary_fetched_int24] => 0
    [proto_binary_fetched_int] => 0
    [proto_binary_fetched_bigint] => 0
    [proto_binary_fetched_decimal] => 0
    [proto_binary_fetched_float] => 0
    [proto_binary_fetched_double] => 0
    [proto_binary_fetched_date] => 0
    [proto_binary_fetched_year] => 0
    [proto_binary_fetched_time] => 0
    [proto_binary_fetched_datetime] => 0
    [proto_binary_fetched_timestamp] => 0
    [proto_binary_fetched_string] => 0
    [proto_binary_fetched_blob] => 0
    [proto_binary_fetched_enum] => 0
    [proto_binary_fetched_set] => 0
    [proto_binary_fetched_geometry] => 0
    [proto_binary_fetched_other] => 0
)

Ver también

  • Estadísticas de descripción

mysqli_fetch
mysqli_get_metadata
Alias y Funciones de MySQLi obsoletos


Alias de mysqli_stmt_result_metadata

mysqli_get_cache_stats
mysqli_master_query
Alias y Funciones de MySQLi obsoletos
PHP Manual

mysqli_get_metadata

(PHP 5 < 5.4.0)

mysqli_get_metadata — Alias de mysqli_stmt_result_metadata()

Descripción

Esta función es un alias de mysqli_stmt_result_metadata().

Advertencia

Esta función ha sido declarada OBSOLETA desde PHP 5.3.0 y ELIMINADA a partir de PHP 5.4.0.

Ver también

  • mysqli_stmt_result_metadata() - Devuelve los metadatos del conjunto de resultados de una sentencia preparada

mysqli_get_cache_stats
mysqli_master_query
Alias y Funciones de MySQLi obsoletos


Fuerza la ejecución de una cosulta en un maestro en una configuración maestro/esclavo

mysqli_get_metadata
mysqli_param_count
Alias y Funciones de MySQLi obsoletos
PHP Manual

mysqli_master_query

(PHP 5)

mysqli_master_query — Fuerza la ejecución de una cosulta en un maestro en una configuración maestro/esclavo

Descripción

bool mysqli_master_query ( mysqli $link , string $query )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Advertencia

Esta función ha sido declarada OBSOLETA y ELIMINADA desde PHP 5.3.0.

mysqli_get_metadata
mysqli_param_count
Alias y Funciones de MySQLi obsoletos


Alias de mysqli_stmt_param_count

mysqli_master_query
mysqli_report
Alias y Funciones de MySQLi obsoletos
PHP Manual

mysqli_param_count

(PHP 5 < 5.4.0)

mysqli_param_count — Alias de mysqli_stmt_param_count()

Descripción

Esta función es un alias de mysqli_stmt_param_count().

Advertencia

Esta función ha sido declarada OBSOLETA desde PHP 5.3.0 y ELIMINADA a partir de PHP 5.4.0.

Ver también

  • mysqli_stmt_param_count() - Devuelve el número de parámetros de la sentencia dada

mysqli_master_query
mysqli_report
Alias y Funciones de MySQLi obsoletos


Alias de of mysqli_driver->report_mode

mysqli_param_count
mysqli_rpl_parse_enabled
Alias y Funciones de MySQLi obsoletos
PHP Manual

mysqli_report

(PHP 5)

mysqli_report — Alias de of mysqli_driver->report_mode

Descripción

Esta función es un alias de: mysqli_driver->report_mode

mysqli_param_count
mysqli_rpl_parse_enabled
Alias y Funciones de MySQLi obsoletos


Verifica si está habilitado el interprete RPL

mysqli_report
mysqli_rpl_probe
Alias y Funciones de MySQLi obsoletos
PHP Manual

mysqli_rpl_parse_enabled

(PHP 5)

mysqli_rpl_parse_enabled — Verifica si está habilitado el interprete RPL

Descripción

int mysqli_rpl_parse_enabled ( mysqli $link )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Advertencia

Esta función ha sido declarada OBSOLETA y ELIMINADA desde PHP 5.3.0.

mysqli_report
mysqli_rpl_probe
Alias y Funciones de MySQLi obsoletos


Exploración RPL

mysqli_rpl_parse_enabled
mysqli_send_long_data
Alias y Funciones de MySQLi obsoletos
PHP Manual

mysqli_rpl_probe

(PHP 5)

mysqli_rpl_probe — Exploración RPL

Descripción

bool mysqli_rpl_probe ( mysqli $link )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Advertencia

Esta función ha sido declarada OBSOLETA y ELIMINADA desde PHP 5.3.0.

mysqli_rpl_parse_enabled
mysqli_send_long_data
Alias y Funciones de MySQLi obsoletos


Alias de mysqli_stmt_send_long_data

mysqli_rpl_probe
mysqli::set_opt
Alias y Funciones de MySQLi obsoletos
PHP Manual

mysqli_send_long_data

(PHP 5 < 5.4.0)

mysqli_send_long_data — Alias de mysqli_stmt_send_long_data()

Descripción

Esta función es un alias de mysqli_stmt_send_long_data().

Advertencia

Esta función ha sido declarada OBSOLETA desde PHP 5.3.0 y ELIMINADA a partir de PHP 5.4.0.

Ver también

  • mysqli_stmt_send_long_data() - Enviar datos en bloques

mysqli_rpl_probe
mysqli::set_opt
Alias y Funciones de MySQLi obsoletos


Alias de mysqli_options

mysqli_send_long_data
mysqli_slave_query
Alias y Funciones de MySQLi obsoletos
PHP Manual

mysqli::set_opt

mysqli_set_opt

(PHP 5)

mysqli::set_opt -- mysqli_set_opt — Alias de mysqli_options()

Descripción

Esta función es un alias de mysqli_options().

mysqli_send_long_data
mysqli_slave_query
Alias y Funciones de MySQLi obsoletos


Fuerza la ejecución de una cosulta en un esclavo en una configuración maestro/esclavo

mysqli::set_opt
Registro de cambios
Alias y Funciones de MySQLi obsoletos
PHP Manual

mysqli_slave_query

(PHP 5)

mysqli_slave_query — Fuerza la ejecución de una cosulta en un esclavo en una configuración maestro/esclavo

Descripción

bool mysqli_slave_query ( mysqli $link , string $query )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Advertencia

Esta función ha sido declarada OBSOLETA y ELIMINADA desde PHP 5.3.0.

mysqli::set_opt
Registro de cambios
Alias y Funciones de MySQLi obsoletos


Registro de cambios

A las clases/funciones/métodos de esta extensión se han realizado los siguientes cambios.

Version | Function | Description
5.5.0 | mysqli::commit | Se añadieron los parámetros flags y name.
 | mysqli::options | Se añadió la opción MYSQLI_SERVER_PUBLIC_KEY.
 | mysqli::rollback | Se añadieron los parámetros flags y name.
5.3.4 | mysqli_driver::$report_mode | El cambio de modo de notificación ahora es por solicitud, en vez de por proceso.
5.3.0 | mysqli::__construct | Se añadió la capacidad de conexiones persistentes.
 | mysqli::query | Se agrego la posibilidad de consultas asincronas.
5.2.15 | mysqli_driver::$report_mode | El cambio de modo de notificación ahora es por solicitud, en vez de por proceso.
5.0.0 | mysqli_result::fetch_object | Se añadió la capacidad para devolver como un objeto diferente.
mysqli_slave_query
Mysqlnd
Mysqli


Controlador Nativo de MySQL

  • Introducción
  • Información General
  • Instalación
  • Configuración en tiempo de ejecución
  • Incompatibilidades
  • Conexiones persistentes
  • Estadísticas
  • Notas
  • API de Complementos del Controlador Nativo de MySQL
    • Una comparación de los complementos de mysqlnd y el Proxy de MySQL
    • Obtener la API de complementos de mysqlnd
    • Arquitectura de los Complementos del Controlador Nativo de MySQL
    • La API de complementos de mysqlnd
    • Empezar a construir un complemento de mysqlnd
Registro de cambios
Introducción
MySQL


Introducción

El Controlador Nativo de MySQL (MySQL Native Driver en inglés) es un sustituto para la Biblioteca Cliente de MySQL (libmysqlclient). El Controlador Nativo de MySQL es parte de las fuentes oficiales de PHP a partir de PHP 5.3.0.

Las extensiones de base de datos de MySQL (la extensión MySQL, mysqli y PDO MYSQL), se comunican con el servidor de MySQL. En el pasado, esto lo realizaba la extensión utilizando los servicios prestados por la Biblioteca Cliente de MySQL. Las extensiones eran compiladas con la Biblioteca Cliente de MySQL con el fin de utilizar su protocolo cliente-servidor.

Ahora existe una alternativa con el Controlador Nativo de MySQL, ya que las extensiones de bases de datos MySQL puede ser compiladas para utilizar el Controlador Nativo de MySQL en lugar de la Biblioteca Cliente de MySQL.

El Controlador Nativo de MySQL está escrito en C, como una extensión de PHP.

Mysqlnd
Información General
Mysqlnd


Información General

Lo que no es

Aunque el Controlador Nativo de MySQL está escrito como una extensión de PHP, es importanete observar que no proporciona una nueva API al programador de PHP. Las APIs de programador para conectividad de bases de datos MySQL están proporcionadas por las extensiones, mysqli y PDO MYSQL. Estas extensiones ahora pueden utilizar servicios del Controlador Nativo de MySQL para comunicarse con el Servidor MySQL. Por lo tanto, no se debería pensar en el Controlador Nativo de MySQL como una API.

¿Por qué usarlo?

El uso del Controlador Nativo de MySQL ofrece varias ventajas sobre el uso de la Biblioteca Cliente de MySQL.

La antigua Biblioteca Cliente de MySQL fue escrita por MySQL AB (ahora Oracle Corporation) y por lo tanto fue liberada bajo la licencia de MySQL. Esto, a la larga, condujo a que el soporte para MySQL fuera deshabilitado de forma predeterminada en PHP. Sin embargo, el Controlador Nativo de MySQL ha sido desarrollado como parte del proyecto de PHP, y, por lo tanto, es liberado bajo la licencia de PHP. Esto elimina las cuestiones sobre licencias que han sido problemáticas en el pasado.

También, en el pasado, se necesitaba construir las extensiones de bases de datos MySQL con una copia de la Biblioteca Cliente de MySQL. Esto, normalmente, significaba que se necesitaba tener instalado MySQL en una máquina donde se construyera el código fuente de PHP. También, cuando una aplicación de PHP era ejecutada, las extensiones de bases de datos de MySQL llamarían al fichero de la Biblioteca Cliente de MySQL en tiempo de ejecución, por lo que el fichero era necesario instalarlo en el sistema. Con el Controlador Nativo de MySQL ese ya no es el caso debido a que está incluido como parte de la distribución estándar. Así, no se necesita tener instalado MySQL para construir PHP o ejecutar aplicaciones de bases de datos de PHP.

Ya que el Controlador Nativo de MySQL está escrito como una extensión de PHP, está íntimamente asociado con el funcionamiento de PHP. Esto conduce a obtener ganancias en eficiencia, especialmente en lo que se refiere al uso de memeria, ya que el controlador utiliza el sistema de administración de memoria de PHP. También soporta el límite de memoria de PHP. El uso del Controlador Nativo de PHP conduce a un rendimiento comparable o mejor que el uso de la Biblioteca Cliente de MySQL; siempre se asegura del uso de memoria más eficiente. Un ejemplo de la eficiencia de memoria es el hecho de que cuando se usa la Biblioteca Cliente de MySQL, cada columna es almacenada en memoria dos veces, mientras que con el Controlador Nativo de MySQL cada columna solamente se almacena una vez en memoria.

Nota: Informe del uso de memoria

Ya que el Controlador Nativo de MySQL utiliza el sistema de administración de memoria de PHP, su uso de memoria se puede seguir con memory_get_usage(). Esto no es posible con libmysqlclient porque utiliza la función de C malloc() en su lugar.

Características especiales

El Controlador Nativo de MySQL también proporciona algunas características especiales no disponibles cuando las extensiones de bases de datos de MySQL utilizan la Biblioteca Cliente de MySQL. Estas características especiales están listadas abajo:

  • Conexiones persistentes mejoradas

  • La función especial mysqli_fetch_all()

  • Llamadas para obtener estadísticas de rendimiento:
 mysqli_get_cache_stats(),
 mysqli_get_client_stats(),
 mysqli_get_connection_stats()

Se puede demostrar que la capacidad de obtener estadísticas de rendimiento es muy útil en la identificación de cuellos de botella de rendimiento.

El Controlador Nativo de MySQL también permite conexiones persistentes cuando se usa junto con la extensión mysqli.

Soporte para SSL

El Controlador Nativo de MySQL tiene soporte para SSL desde la versión 5.3.3 de PHP.

Soporte para el Protocolo de Compresión

A partir de PHP 5.3.2, el Controlador Nativo de MySQL soporta el protocolo de compresión cliente-servidor. El Controlador Nativo de MySQL no lo soportaba en 5.3.0 y 5.3.1. Las extensiones como ext/mysql, ext/mysqli, que están configuradas para usar el Controlador Nativo de MySQL, también puede tomar ventaja de esta característica. Observe que PDO_MYSQL NO soporta compresión al usarla junto con mysqlnd.

Soporte para Tuberías con Nombre

El soporte para las tuberías con nombre para Windows fue añadido en la versión 5.4.0 de PHP.

Introducción
Instalación
Mysqlnd


Instalación

Historial de cambios

Historial de cambios
Versión | Descripción
5.3.0 | Se añadió el Controlador Nativo de MySQL, con soporte para todas las extensiones de MySQL (es decir, mysql, mysqli y PDO_MYSQL). Pasar mysqlnd al ajuste de configuración apropiado habilita este soporte.
5.4.0 | El Controlador Nativo de MySQL ahora es el predeterminado para todas las extensiones de MySQL (es decir, mysql, mysqli y PDO_MYSQL). Pasar mysqlnd a la configuración ahora es opcional.
5.5.0 | Fue agregado el soporte para el Complemento de Autenticación SHA-256

Instalación sobre Unix

Las extensiones de bases de datos MySQL deben estar configuradas para utilizar la Biblioteca Cliente de MySQL. Con el fin de utilizar el Controlador Nativo de MySQL, PHP necesita ser compilado especificando que las extensiones de bases de datos MySQL están compiladas con el soporte para el Controlador Nativo de MySQL. Esto se hace a través de opciones de configuración antes de compilar el código fuente de PHP.

Por ejemplo, para compilar la extensión MySQL, mysqli y PDO MySQL utilizando el Controlador Nativo de MySQL, se daría el siguiente comando:

./configure --with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
[other options]

Instalación sobre Windows

En las distribuciones oficiales para Windows de PHP 5.3 en adelante, el Controlador Nativo de MySQL está habilitado por defecto, por lo que no se requiere configuración adicional para utilizarlo. En este caso, todas las extensiones de bases de datos MySQL utilizarán el Controlador Nativo de MySQL.

Soporte para el Complemento de Autenticación SHA-256

El Controlador Nativo de MySQL requiere la funcionalidad de OpenSSL de PHP para que sea cargado y habilitado para conectarse a MySQL a través de cuentas que utilicen el Complemento de Autenticación SHA-256 de MySQL. Por ejemplo, PHP se podría configurara usando:

./configure --with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-openssl
[other options]
Información General
Configuración en tiempo de ejecución
Mysqlnd


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración del Controlador Nativo de MySQL
Nombre | Por defecto | Cambiable | Historial de cambios
mysqlnd.collect_statistics | "1" | PHP_INI_SYSTEM | Disponible desde PHP 5.3.0.
mysqlnd.collect_memory_statistics | "0" | PHP_INI_SYSTEM | Available since PHP 5.3.0.
mysqlnd.debug | "0" | PHP_INI_SYSTEM | Disponible desde PHP 5.3.0.
mysqlnd.log_mask | 0 | PHP_INI_ALL | Disponible desde PHP 5.3.0
mysqlnd.mempool_default_size | 16000 | PHP_INI_ALL | Disponible desde PHP 5.3.3
mysqlnd.net_read_timeout | "31536000" | PHP_INI_SYSTEM | Disponible desde PHP 5.3.0.
mysqlnd.net_cmd_buffer_size | 5.3.0 - "2048", 5.3.1 - "4096" | PHP_INI_SYSTEM | Disponible desde PHP 5.3.0.
mysqlnd.net_read_buffer_size | "32768" | PHP_INI_SYSTEM | Disponible desde PHP 5.3.0.
mysqlnd.sha256_server_public_key | "" | PHP_INI_PERDIR | Disponible desde PHP 5.5.0.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

mysqlnd.collect_statistics boolean

Habilita la recopilación de estadísticas de diversos clientes a las cuales se puede acceder a través de mysqli_get_client_stats(), mysqli_get_connection_stats(), mysqli_get_cache_stats(), y que también se muestran en la sección mysqlnd de la salida de la función phpinfo().

Este ajuste de configuración habilita todas las estadísticas del Controlador Nativo de MySQL excepto aquellas relacionadas con la gestión de memoria.

mysqlnd.collect_memory_statistics boolean

Habilita la recopilación de diversas estadísticas de memoria a las que se puede acceder a través de mysqli_get_client_stats(), mysqli_get_connection_stats(), mysqli_get_cache_stats(), y que también se muestran en la sección mysqlnd de la salida de la función phpinfo().

Este ajuste de configuración habilita las estadísticas de gestión de memoria dentro del conjunto total de estadísticas del Controlador Nativo de MySQL.

mysqlnd.debug string

Registra las comunicaciones de todas las extensiones que usan mysqlnd al fichero de registros especificado.

El formato de la directiva es mysqlnd.debug = "opción1[,parámetro_opción1][:opción2[,parámetro_opción2]]".

Las opciones para la cadena de formato son las siguientes:

  • A[,fichero] - Añade salidas de seguimiento al fichero especificado. También se asegura de que los datos son escritos después de cada escritura. Esto se lleva a cabo cerrando y reabriento el fichero de seguimiento (esto es lento). Ayuda a asegurarse de tener un fichero de seguimiento completo cuando la aplicación falla.

  • a[,fichero] - Añade salidas de seguimiento al fichero especificado.

  • d - Habilita la salida desde las macros DBUG_<N> para el estado actual. Se le puede añadir una lista de palabras clave las cuales seleccionarán la salida solamente para las macros DBUG con esa palabra clave. Una lista vacía de palabras clave implica la salida de todas las macros.

  • f[,funciones] - Limita las acciones del depurador para la lista especificada de funciones. Una lista de funciones vacía implica que se seleccionarán todas las funciones.

  • F - Marca cada línea de salida del depurador con el nombre del fichero fuente que contiene la macro que causa la salida.

  • i - Marca cada línea de salida del depurador con el PID del proceso actual.

  • L - Marca cada línea de salida de depurador con el número de línea del fichero fuente de la macro que causa la salida.

  • n - Marca caa línea de salida del depurador con el nivel de anidamiento de la función actual

  • o[,fichero] - Similar a a[,fichero] excepto que sobrescribe el fichero antiguo, por lo que no realiza la agregación.

  • O[,fichero] - Similar a A[,fichero] excepto que sobrescribe el fichero antiguo, por lo que no realiza la agregación.

  • t[,N] - Habilita el rastreo del flujo de control de la función. El nivel de anidamiento máximo está especificado por N, y el valor predeterminado es 200.

  • x - Esta opción activa el perfilamiento.

Ejemplo:

d:t:x:O,/tmp/mysqlnd.trace

Nota:

Esta característica solamente está disponible con una construcción de depuración de PHP. Funciona en Microsoft Windows si se utiliza una construcción de depuración de PHP y PHP se ha construido usando la verseión 9 de Microsoft Visual C o superior.

mysqlnd.log_mask integer

Define qué consultas serán registradas. El valor predeterminado es 0, el cual deshabilita el registro. Se define usando un entero, y no una constante de PHP. Por ejemplo, un valor de 48 (16 + 32) registrará las consultas lentas que usan un 'índice no bueno' (SERVER_QUERY_NO_GOOD_INDEX_USED = 16) o no usan ningún índice en absoluto (SERVER_QUERY_NO_INDEX_USED = 32). Un valor de 2043 (1 + 2 + 8 + ... + 1024) registrará todos los tipos de consultas lentas.

Los tipos son los siguientes: SERVER_STATUS_IN_TRANS=1, SERVER_STATUS_AUTOCOMMIT=2,
SERVER_MORE_RESULTS_EXISTS=8, SERVER_QUERY_NO_GOOD_INDEX_USED=16, SERVER_QUERY_NO_INDEX_USED=32,
SERVER_STATUS_CURSOR_EXISTS=64, SERVER_STATUS_LAST_ROW_SENT=128, SERVER_STATUS_DB_DROPPED=256,
SERVER_STATUS_NO_BACKSLASH_ESCAPES=512, and SERVER_QUERY_WAS_SLOW=1024.

mysqlnd.mempool_default_size integer

Tamaño predeterminado de la caché de memoria de mysqlnd, el cual es usado por los conjuntos de resultados.

mysqlnd.net_read_timeout integer

mysqlnd y la Biblioteca Cliente de MySQL, libmysqlclient, utilizan diferentes APIs de red. mysqlnd utiliza flujos de PHP, mientras que libmysqlclient utiliza su propia envoltura sobre las llamadas a la red a nivel de operación. PHP, por defecto, establece un tiempo de espera de lectura de 60s para los flujos. Esto se establece mediante php.ini, default_socket_timeout. Este valor predeterminado se aplica a todos los flujos que no establecen otro valor de tiempo de espera. mysqlnd no establece ningún otro valor y por lo tanto las conexiones de consultas que se ejecutan durante mucho tiempo pueden ser desconectadas después de default_socket_timeout segundos, resultando en un mensaje de error "2006 - MySQL Server has gone away". La Biblioteca Cliente de MySQL establece un tiempo de espera predeterminado de 365 * 24 * 3600 segundos (1 año) y espera a que sucedan otros tiempos de espera, como los tiempos de espera de TCP/IP. Ahora mysqlnd utiliza el mismo tiempo de espera. El valor se puede configurar a través de un nuevo ajuste de php.ini: mysqlnd.net_read_timeout. mysqlnd.net_read_timeout es utilizado por cualquier extensión (ext/mysql, ext/mysqli, PDO_MySQL) que use mysqlnd. mysqlnd le indica a los flujos de PHP que utilicen mysqlnd.net_read_timeout. Observe que puede haber sútiles diferencias entre MYSQL_OPT_READ_TIMEOUT de la Biblioteca Cliente de MySQL y los flujos de PHP, por ejemplo MYSQL_OPT_READ_TIMEOUT está documentado para funcionar sólo con conexiones TCP/IP y, antes de MySQL 5.1.2, sólo con Windows. Los flujos de PHP pueden no tener esta limitación. Compruebe la documentación sobre los flujos si tiene alguna duda.

mysqlnd.net_cmd_buffer_size long

mysqlnd asigna un buffer de comandos/red interno de mysqlnd.net_cmd_buffer_size (en php.ini) bytes para cada conexión. Si un comando del protocolo Cliente Servidor de MySQL, por ejemplo, COM_QUERY (consulta "normal"), no se ajusta al buffer, mysqlnd aumentará el buffer lo que sea necesario para enviar el comando. Siempre que el buffer se extienda para una conexión, command_buffer_too_small será incrementado en uno.

Si mysqlnd tiene que aumentar el buffer más allá de su tamaño inicial de mysqlnd.net_cmd_buffer_size bytes para casi todas las conexiones, se debería considerar aumentar el tamaño predeterminado para evitar reasignaciones.

El tamaño predeterminado del buffer es de 2048 bytes en PHP 5.3.0. En versiones posteriores, el tamaño predeterminado es de 4096. Se puede cambiar el valor predeterminado a través de php.ini estableciendo mysqlnd.net_cmd_buffer_size o usando mysqli_options(MYSQLI_OPT_NET_CMD_BUFFER_SIZE, int tamaño).

Se recomienda establecer el tamaño de buffer a no menos de 4096 bytes debido a que mysqlnd también lo utiliza al leer ciertos paquetes de comunicación desde MySQL. En PHP 5.3.0, mysqlnd no aumentará el buffer si MySQL envía un paquete que es más grande que el tamaño actual del buffer. Como consecuencia, mysqlnd no es capaz de decodificar el paquete y la aplicación cliente obtendrá un error. Solamente hay dos situacioines en las que un paquete es más grande que los 2048 bytes predeterminados de mysqlnd.net_cmd_buffer_size en PHP 5.3.0: el paquete transporta un mensaje de error muy grande, o el paquete contiene los metadatos de columnas de COM_LIST_FIELD (mysql_list_fields()) y los metadatos provienen de una columna de cadena con un valor predeterminado muy grande (>1900 bytes).

A partir de PHP 5.3.2, mysqlnd no permite establecer buffers menores que 4096 bytes.

El valor también se puede establecer usando mysqli_options(enlace, MYSQLI_OPT_NET_CMD_BUFFER_SIZE, tamaño).

mysqlnd.net_read_buffer_size long

Tamaño máximo del trozo de lectura en bytes cuando se lee el cuerpo de un paqute de comando de MySQL. El protocolo cliente servidor de MySQL encapsulta todos sus comandos en paquetes. Los paquetes consisten en una pequeña cabecera y un cuerpo con la carga útil real. El tamaño del cuerpo es codificado en la cabecera. mysqlnd lee el cuerpo en trozos de MIN(tamaño.cabecera, mysqlnd.net_read_buffer_size) bytes. Si un cuerpo de un paquete es mayor que mysqlnd.net_read_buffer_size bytes, mysqlnd tiene que llamar a read() varias veces.

El valor también se puede establecer usando mysqli_options(enlace, MYSQLI_OPT_NET_READ_BUFFER_SIZE, tamaño).

mysqlnd.sha256_server_public_key string

Relacionada con el Complemento de Autenticación SHA-256. El fichero con la clave pública RSA del servidor de MySQL.

Los clientes pueden omitir la configuración de una clave pública RSA, especificar la clave a través de este ajuste de configuración de PHP, o establecer la clave en tiempo de ejecución usando mysqli_options(). Si el cliente no proporciona un fichero de clave pública RSA, entonces la clave será intercambiada como parte del procedimiento de autenticación del Complemento de Autenticación SHA-256.

Instalación
Incompatibilidades
Mysqlnd


Incompatibilidades

El Driver MySQL Native es compatible en muchos casos con la librería MySQL Client (libmysql). Esta sección documenta las incompatibilidades entre estas librerías.

  • Los valores de tipo bit son devueltos como strings binarios (p.e. "\0" o "\x1F") con libmysql y como strings decimales (p.e. "0" o "31") con mysqlnd. Si se desea que el código sea compatible con ambas librerías entonces siempre se deberá devolver campos de tipo bit como números desde MySQL con una consulta como la siguiente: SELECT bit + 0 FROM table.

Configuración en tiempo de ejecución
Conexiones persistentes
Mysqlnd


Conexiones persistentes

Utilizar conexiones persistentes

Si mysqli se utiliza con mysqlnd, cuando se crea una conexión persistente, se genera una llamada COM_CHANGE_USER (mysql_change_user()) en el servidor. Esto asegura que la re-autenticación de la conexión se lleva a cabo.

Dado que hay una cierta sobrecarga asociada con la llamada COM_CHANGE_USER, es posible apagar esto en el tiempo de compilado. La reutilización de una conexión persistente entonces generará una llamada COM_PING (mysql_ping) para simplemente probar si la conexión es reusable.

La generación de COM_CHANGE_USER se puede apagar con el marcador de compilación MYSQLI_NO_CHANGE_USER_ON_PCONNECT. Por ejemplo:

shell# CFLAGS="-DMYSQLI_NO_CHANGE_USER_ON_PCONNECT" ./configure --with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql/bin/mysql_config --enable-debug && make clean && make -j6

O, alternativamente:

shell# export CFLAGS="-DMYSQLI_NO_CHANGE_USER_ON_PCONNECT"
shell# configure --whatever-option
shell# make clean
shell# make

Observe que solamente mysqli sobre mysqlnd utiliza COM_CHANGE_USER. Otra combinación de extensión-controlador emplea COM_PING en el uso inicial de una conexión persistente.

Incompatibilidades
Estadísticas
Mysqlnd


Estadísticas

Usar datos estadísticos

El Controlador Nativo de MySQL soporta la obtención de estadísticas sobre la comunicación entre el cliente y el servidor. Las estadísticas obtenidas son de tres tipos principales:

  • Estadísticas del cliente

  • Estadísticas de conexión

  • Estadísticas de la caché Zval

Si se está usando la extensión mysqli, estas estadísticas se pueden obtener a través de tres llamadas a la API:

  • mysqli_get_client_stats()

  • mysqli_get_connection_stats()

  • mysqli_get_cache_stats()

Nota:

Las estadísticas son acumuladas entre todas las extensiones que usan el Controlador Nativo de MySQL. Por ejemplo, al compilar ext/mysql y ext/mysqli con el Controlador Nativo de MySQL, las llamadas a las funciones de ext/mysql y ext/mysqli cambiarán las estadísticas. No existe ninguna forma de averiguar cuanto ha impactado una cierta llamada a la API de una extensión que ha sido compilada con el Controlador Nativo de MySQL en una cierta estadística. Se puede configurar el Controlador PDO MySQL, ext/mysql y ext/mysqli para que opcionalmente usen el Controlador Nativo de MySQL. Cuando se hace esto, las tres extensiones cambiarán las estadísticas.

Acceder a las estadísticas del cliente

Para acceder a las estadísticas del cliente se necesita llamar a mysqli_get_client_stats(). La llamada a la función no necesita ningún parámetro.

La función devuelve un array asociativo que contiene el nombre de la estadística como clave y los datos de la estadística como valor.

A las estadísticas del cliente también se pueden acceder llamando a la función phpinfo().

Acceder a las estadísticas de conexión

Para acceder a las estadísticas de conexión se ha de llamar a mysqli_get_connection_stats(). Esta toma el gestor de conexión de la base de datos como parámetro.

La función devuelve un array asociativo que contiene el nombre de la estadística como clave y los datos de la estadística como valor.

Acceder a las estadísticas de la caché Zval

El Controlador Nativo de MySQL también reúne estadísticas de su caché Zval interna. A estas estadísticas se puede acceder llamando a mysqli_get_cache_stats().

Las estadísticas de la caché Zval obtenidas pueden conducir a un ajuste de las configuraciónes de php.ini relacionadas con la caché Zval, resultando en un mejor rendimiento.

Conjuntos de resultados almacenados y no almacenados en buffer

Los conjuntos de resultados puede ser almacenados o no almacenados en buffer. Al usar la configuración predeterminada, ext/mysql y ext/mysqli trabajan con conjuntos de resultados almacenados en buffer para consultas normales (sentencia no preparada). Los conjuntos de resultados almacenados en buffer son almacenados en la caché del cliente. Después de la ejecución de una consulta, todos los resultados son traidos desde el Servidor MySQL y almacenados en una caché del cliente. La gran ventaja de los conjuntos de resultados almacenados en buffer es que permiten al servidor liberar todos los recursos asignados a un conjunto de resultados, una vez que los resultados han sido obtenidos por el cliente.

Por otra parte, los conjuntos de resultados no almacenados en buffer se mantienen mucho más tiempo en el servidor. server. Si se quiere reducir el consumo de memoria del cliente, aunque incrementando la carga del servidor, se han de usar conjunto de resultados no almacenados en buffer. Si se experimenta una alta carga del servidor y las cigras de los conjuntos de resultados no almacenados en buffer son altas, se debería considerar trasladar la carga a los cliente. Estos normalmente escalan mejor que los servidores. La "carga" no solamente se refiere a los buffers de memoria - el servidor también necesita mantener otros recursos abiertos, como por ejemplo, gestores de ficheros e hilos, antes de que un conjunto de resultados sea liberado.

Las Sentencias Preparadas usan conjuntos de resultados no almacenados en buffer de manera predeterminada. Sin embargo, se puede usar mysqli_stmt_store_result() para habilitar los conjuntos de resultados almacenados en buffer.

Estadísticas devueltas por el Controlador Nativo de MySQL

Las siguientes tablas muestran una lista de las estadísticas devueltas por las funciones
 mysqli_get_client_stats(),
 mysqli_get_connection_stats() y
 mysqli_get_cache_stats().

Estadísticas devueltas de mysqlnd: Red
Estadística | Ámbito | Descrpción | Notas
bytes_sent | Conexión | Número de bytes enviados desde PHP al servidor MySQL | Se puede usar para comprobar la eficiencia del protocolo de compresión
bytes_received | Conexión | Número de bytes recibidos desde el servidor MySQL | Se puede usar para comprobar la eficiencia del protocolo de compresión
packets_sent | Conexión | Número de paquetes enviados del protocolo Cliente Servidor de MySQL | Usado para la depuración de la implementación del protoclo Cliente Servidor
packets_received | Conexión | Número de paquetes recividos del protocolo Cliente Servidor de MySQL | Usado para la depuración de la implementación del protoclo Cliente Servidor
protocol_overhead_in | Conexión | MySQL Client Server protocol overhead in bytes for incoming traffic. Currently only the Packet Header (4 bytes) is considered as overhead. protocol_overhead_in = packets_received * 4 | Used for debugging Client Server protocol implementation
protocol_overhead_out | Conexión | Carga adicional de protocolo Cliente Servidor de MySQL en bytes para el tráfico saliente. Actualmente, sólo el Paquete de Cabecera (4 bytes) se considera como carga adicional. protocol_overhead_out = packets_sent * 4 | Usado para la depuración de la implementación del protoclo Cliente Servidor
bytes_received_ok_packet | Conexión | Tamaño total en bytes de los paquetes OK recibidos del protocolo Cliente Servidor de MySQL. Los paquetes OK pueden contener un mensaje de estado. La longitud del mensaje de estado puede variar y, por lo tanto, el tamaño del paquete OK no es fijo. | Usado para la implementación de protocolo CS. Observe que el tamaño total en bytes incluye el tamaño del paquete de cabecera (4 bytes, véase la carga adicional del protocolo - protocol_overhead_*).
packets_received_ok | Conexión | Número de paquetes OK recibidos del protocolo Cliente Servidor de MySQL. | Usado para la implementación de protocolo CS. Observe que el tamaño total en bytes incluye el tamaño del paquete de cabecera (4 bytes, véase la carga adicional del protocolo - protocol_overhead_*).
bytes_received_eof_packet | Conexión | Tamaño total en bytes de los paquetes OEF recibidos del protocolo Cliente Servidor de MySQL. EOF puede variar de tamaño dependiendo de la versión del servidor. También, EOF puede transportar un mensaje de error. | Usado para la implementación de protocolo CS. Observe que el tamaño total en bytes incluye el tamaño del paquete de cabecera (4 bytes, véase la carga adicional del protocolo - protocol_overhead_*).
packets_received_eof | Conexión | Número de paquetes EOF del del protocolo Cliente Servidor de MySQL. Al igual que otras estadísticias de paquetes, el número de paquetes se incrementará incluso si PHP no recibe el paquete esperado, sino, por ejemplo, un mensaje de error. | Usado para la implementación de protocolo CS. Observe que el tamaño total en bytes incluye el tamaño del paquete de cabecera (4 bytes, véase la carga adicional del protocolo - protocol_overhead_*).
bytes_received_rset_header_packet | Conexión | Tamaño total en bytes de los paquetes de cabecera de conjuntos de resultados del protocolo Cliente Servidor de MySQL. El tamaño de los paquetes varía dependiendo de la carga útil (LOAD LOCAL INFILE, INSERT, UPDATE, SELECT, mensaje de error). | Usado para la implementación de protocolo CS. Observe que el tamaño total en bytes incluye el tamaño del paquete de cabecera (4 bytes, véase la carga adicional del protocolo - protocol_overhead_*).
packets_received_rset_header | Conexión | Número de paquetes de cabecera de conjuntos de resultados del protocolo Cliente Servidor de MySQL. | Usado para la implementación de protocolo CS. Observe que el tamaño total en bytes incluye el tamaño del paquete de cabecera (4 bytes, véase la carga adicional del protocolo - protocol_overhead_*).
bytes_received_rset_field_meta_packet | Conexión | Tamaño total en bytes de los paquetes de metadatos (información de campos) de conjuntos de resultados del protocolo Cliente Servidor de MySQL. Por supuesto, el tamaño total vaía con los campos del conjunto de resultados. El paquete también puede transportar un error o un paquete EOF en el caso de COM_LIST_FIELDS. | Solamente útil para la implementación de protocolo CS. Observe que el tamaño total en bytes incluye el tamaño del paquete de cabecera (4 bytes, véase la carga adicional del protocolo - protocol_overhead_*).
packets_received_rset_field_meta | Conexión | Número de paquetes de metadatos (información de campos) de conjuntos de resultados del protocolo Cliente Servidor de MySQL. | Solamente útil para la implementación de protocolo CS. Observe que el tamaño total en bytes incluye el tamaño del paquete de cabecera (4 bytes, véase la carga adicional del protocolo - protocol_overhead_*).
bytes_received_rset_row_packet | Conexión | Tamaño total en bytes de los paquetes de datos de fila de conjuntos de resultados del protocolo Cliente Servidor de MySQL. El paquete también puede transportar un error o un paquete EOF. Se puede obtener el número de error y los paquetes EOF restando rows_fetched_from_server_normal y rows_fetched_from_server_ps de bytes_received_rset_row_packet. | Solamente útil para la implementación de protocolo CS. Observe que el tamaño total en bytes incluye el tamaño del paquete de cabecera (4 bytes, véase la carga adicional del protocolo - protocol_overhead_*).
packets_received_rset_row | Conexión | Número de paquetes de datos de fila de conjuntos de datos del protocolo Cliente Servidor de MySQL y su tamaño total en bytes. | Solamente útil para la implementación de protocolo CS. Observe que el tamaño total en bytes incluye el tamaño del paquete de cabecera (4 bytes, véase la carga adicional del protocolo - protocol_overhead_*).
bytes_received_prepare_response_packet | Conexión | Tamaño total de los paquetes OK para la Inicialización de Sentencias Preparadas del protocolo Cliente Servidor de MySQL (paquetes init de sentencias preparadas). El paquete también puede transportar un error. El tamaño del paquete depende de la versión de: 9 bytes con MySQL 4.1 y 12 bytes desde MySQL 5.0. No existe una manera segura de conocer cuántos errores han sucedido. Se puede suponer que ha sucedido un error si, por ejemplo, si siempre se conecta a MySQL 5.0 o superior y bytes_received_prepare_response_packet != packets_received_prepare_response * 12. Véase también ps_prepared_never_executed, ps_prepared_once_executed. | Solamente útil para la implementación de protocolo CS. Observe que el tamaño total en bytes incluye el tamaño del paquete de cabecera (4 bytes, véase la carga adicional del protocolo - protocol_overhead_*).
packets_received_prepare_response | Conexión | Número de paquetes OK para la Inicialización de Sentencias Preparadas del protocolo Cliente Servidor de MySQL (paquetes init de sentencias preparadas). | Solamente útil para la implementación de protocolo CS. Observe que el tamaño total en bytes incluye el tamaño del paquete de cabecera (4 bytes, véase la carga adicional del protocolo - protocol_overhead_*).
bytes_received_change_user_packet | Conexión | Tamaño total en bytes de los paquetes COM_CHANGE_USER del protocolo Cliente Servidor de MySQL. El paquete también puede transportar un error o EOF. | Solamente útil para la implementación de protocolo CS. Observe que el tamaño total en bytes incluye el tamaño del paquete de cabecera (4 bytes, véase la carga adicional del protocolo - protocol_overhead_*).
packets_received_change_user | Conexión | Número de paquetes COM_CHANGE_USER del protocolo Cliente Servidor de MySQL | Solamente útil para la implementación de protocolo CS. Observe que el tamaño total en bytes incluye el tamaño del paquete de cabecera (4 bytes, véase la carga adicional del protocolo - protocol_overhead_*).
packets_sent_command | Conexión | Número de comandos enviados del protocolo Cliente Servidor de MySQL desde PHP a MySQL. No hay forma de conocer los comandos específicos ni cuántos han sido enviados. En el mejor de los casos, se puede usar para comprobar si PHP ha enviado cualquier comando a MySQL para saber si se puede considerar deshabilitar el soporte para MySQL en el binario de PHP. Tampoco hay forma de obtener el número de errores que pueden haber ocurrido mientras se envían datos a MySQL. El único error que se registra es command_buffer_too_small (véase abajo). | Solamente útil para la implementación de protocolo CS.
bytes_received_real_data_normal Conexión Número de bytes de carga útil obtenidos por el cliente de PHP desde mysqlnd usando el protocolo de texto. Es el tamaño de los datos reales contenidos en conjuntos de resultados que no son originados desde sentencias preparadas y que han sido obtenidos por el cliente de PHP. Observe que aunque un conjunto de resultados completo puede haber sido obtenido desde MySQL por mysqlnd, esta estadística únicamente cuenta los datos reales obtenidos desde mysqlnd por el cliente de PHP. Un ejemplo de una secuencia de código que incrementará el valor es el siguiente:
$mysqli = new mysqli();
$res = $mysqli->query("SELECT 'abc'");
$res->fetch_assoc();
$res->close();

Cada operación de obtención incrementará el valor.

La estadística no se incrementará si el conjunto de resultados sólo se almancena en buffer en el cliente, pero no se obtiene, como en el siguiente ejemplo:

$mysqli = new mysqli();
$res = $mysqli->query("SELECT 'abc'");
$res->close();

Esta estadística está disponible a partir de la versión 5.3.4 de PHP.

bytes_received_real_data_ps | Conexión | Número de bytes de la carga útil obtenida por el cliente de PHP desde mysqlnd usando el protocolo de sentencias preparadas. | Es el tamaño de los datos reales contenidos en conjuntos de resultados que no son originados desde sentencias preparadas y que han sido obtenidos por el cliente de PHP. El valor no será incrementado si el conjunto de resultados no es leído subsiguientemente por el cliente de PHP. Observe que aunque un un conjunto de resultados completo puede haber sido obtenido desde MySQL por mysqlnd, esta estadística únicamente cuenta los datos reales obtenidos desde mysqlnd por el cliente de PHP. Véase también bytes_received_real_data_normal. Esta estadística está disponible a partir de la versión 5.3.4 de PHP.

Conjuntos de Resultados

Estadísticas devueltas de mysqlnd: Conjunto de Resultados
Estadística | Ámbito | Descrpción | Notas
result_set_queries | Conexión | Número de consultas que han generado un conjunto de resultados. Ejemplos de consultas que generan un conjunto de resultados: SELECT, SHOW. La estadística no será incrementada si hay un error al leer el paquete de cabecera del conjunto de resultados desde la línea. | Se puede usar como una medida indirecta del número de consultas que PHP ha enviado a MySQL, por ejemplo, para identificar un cliente que causa una carga alta de base de datos.
non_result_set_queries | Conexión | Número de consultas que no generan un conjunto de resultados. Ejemplos de consultas que no generan un conjunto de resultados: INSERT, UPDATE, LOAD DATA, SHOW. La estadística no será incrementada si hay un error al leer el paquete de cabecera del conjunto de resultados desde la línea. | Se puede usar como una medida indirecta del número de consultas que PHP ha enviado a MySQL, por ejemplo, para identificar un cliente que causa una carga alta de base de datos.
no_index_used | Conexión | Número de consultas que ha generado un conjunto de resultados pero que no usan un índice (véase también la opción de inicio de mysqld –log-queries-not-using-indexes). Si se desea que estas consultas sean reportadas, se puede usar mysqli_report(MYSQLI_REPORT_INDEX) para hacer que ext/mysqli lance una excepción. Si se prefiere una advertencia en lugar de una excepción, use mysqli_report(MYSQLI_REPORT_INDEX ^ MYSQLI_REPORT_STRICT).
bad_index_used | Conexión | Número de consultas que han generado un conjunto de resultados y que no usan un índice bueno (véase también la opción de inicio de mysqld –log-slow-queries). | Si se desea que estas consultas sean reportadas, se puede usar mysqli_report(MYSQLI_REPORT_INDEX) para hacer que ext/mysqli lance una excepción. Si se prefiere que se emita una advertencia en lugar de una excepción, use mysqli_report(MYSQLI_REPORT_INDEX ^ MYSQLI_REPORT_STRICT)
slow_queries | Conexión | Senetencias SQL que toman más de long_query_time segundos para ejecutarse y que requieren al menos min_examined_row_limit filas para ser examinadas. | No reportadas a través de mysqli_report()
buffered_sets | Conexión | Número de conjuntos de resultados almacenados en buffer mediante consultas "normales". "Normal" significa "sentencia no preparada" en las siguientes notas. | Ejemplos de llamada a la API que almacenarán en buffer conjuntos de resultados en el cliente: mysql_query(), mysqli_query(), mysqli_store_result(), mysqli_stmt_get_result(). Al almacenar en buffer conjuntos de resultados en el cliente se asegura que los recursos del servidor sean liberados tan pronto como sea posible y hace que el desplazamiento del conjunto de resultados sea más sencillo. El inconveniente es el consumo adicional de memoria en el cliente para almacenar en buffer datos. Observe que mysqlnd (a diferencia de la Biblioteca Cliente de MySQL) respeta el límite de memoria de PHP debido a que utiliza las funciones de gestión de memoria internas de PHP para asignar memoria. Ésta también es la razón de por qué memory_get_usage() informa de un consumo de memoria al usar mysqlnd en lugar de la Bliblioteca Cliente de MySQL. memory_get_usage() no mide en absoluto el consumo de memoria de la Bliblioteca Cliente de MySQL debido a que ¡la Biblioteca Cliente de MySQL no usa las funciones de gestión de memoria internas de PHP monitorizadas por la función!
unbuffered_sets | Conexión | Número de conjuntos de resultados no almacenados en buffer devueltos por consultas normales (sentencia no preparada). | Ejemplos de llamadas a la API que no almacenan en buffer conjuntos de resultados en el clilente: mysqli_use_result()
ps_buffered_sets | Conexión | Número de conjuntos de resultados almacenados en buffer devueltos por sentencias preparadas. Por defecto, las sentencias preparadas no se almacenan en buffer. | Ejemplos de llamadas a la API que no almacenarán en buffer conjuntos de resultados en el cliente: mysqli_stmt_store_result
ps_unbuffered_sets | Conexión | Número de conjuntos de resultados no almacenados en buffer devueltos por sentencias preparadas. | Por defecto, las sentencias preparadas no se almacenan en buffer.
flushed_normal_sets Conexión Número de conjuntos de resultados de consultas normales (sentencia no preparada) con datos no leídos que han sido volcados de manera silenciosa. El volcado sucede solamente con conjuntos de resultados no almacenados en buffer. Los conjuntos de resultados no almacenados en buffer deben ser obtenidos completamente antes de que una nueva consulta pueda ser ejecutada en la conexión, si no, MySQL lanzará un error. Si la aplicación no obtiene todas las filas de un conjunto de resultados no almacenado en buffer, mysqlnd obtendrá implícitamente el conjunto de resultados para limpiar la línea. Véase también rows_skipped_normal, rows_skipped_ps. Algunas posibles causas de un volcado implícito:

  • Aplicación cliente defectuosa

  • El cliente para de leer después de que encuentre que lo que estaba buscando, pero ha hecho que MySQL calcule más registros que los necesarios

  • La aplicación cliente se ha detenido de improviso

flushed_ps_sets Conexión Número de conjuntos de resultados de sentencias preparadas con datos no leídos que han sido volcados de forma silenciosa. El volcado sucede solamente con conjuntos de resultados no almacenados en buffer. Los conjuntos de resultados no almacenados en buffer deben ser obtenidos completamente antes de que una nueva consulta pueda ser ejecutada en la conexión, si no, MySQL lanzará un error. Si la aplicación no obtiene todas las filas de un conjunto de resultados no almacenado en buffer, mysqlnd obtendrá implícitamente el conjunto de resultados para limpiar la línea. Véase también rows_skipped_normal, rows_skipped_ps. Algunas posibles causas de un volcado implícito:

  • Aplicación cliente defectuosa

  • El cliente para de leer después de que encuentre que lo que estaba buscando, pero ha hecho que MySQL calcule más registros que los necesarios

  • La aplicación cliente se ha detenido de improviso

ps_prepared_never_executed | Conexión | Número de sentencias preparadas pero nunca ejecutadas. | Las sentencias preparadas ocupan recursos del servidor. No se debería preparar una sentencia si no se planea ejecutarla.
ps_prepared_once_executed | Conexión | Número de sentencias preparadas ejecutadas una única vez. | Una de las ideas detrás de las sentencias preparadas es que la misma consulta se ejecuta una y otra vez (con diferentes parámetros) y así se puede ahorrar algo de análisis y otros trabajos de preparación, si la ejecución de la sentencia se divide en diferentes fases de preparación y ejecución. La idea es preparar una vez y "almacenar en caché" los resultados, por ejemplo, el árbol de análisis a ser reutilizado durante la ejecución de sentencias múltiples. Si se ejecuta una sentencia prearada una sola vez, los dos procesamientos de las fases pueden ser ineficientes comparados con consultas "normales", ya que todo el almacenamiento en caché significa trabajo extra y toma recursos (limitados) del servidor para mantener la información almacenada en caché. Consecuentemente, las sentencias preparadas que son ejecutadas una sola vez pueden causar daños al rendimiento.
rows_fetched_from_server_normal, rows_fetched_from_server_ps | Conexión | Número total de conjuntos de resultados obtenidos con éxito de MySQL sin considerar si la aplicación cliente los ha consumido o no. Algunas filas pueden no haber sido obtenidas por la aplicación cliente aunque hayan sido volcadas implícitamente. | Véase también packets_received_rset_row
rows_buffered_from_client_normal, rows_buffered_from_client_ps | Conexión | Número total de filas almacenadas en buffer con éxito originadas desde una consulta "normal" o una sentencia preparada. Este es el número de filas que han sido obtenidas de MySQL y almacenadas en buffer en el cliente. Observe que existen dos estadísticas distintas de filas que has sido almacenadas en buffer (MySQL al buffer internto de mysqlnd) y filas almacenadas en buffer que han sido obtenidas por la aplicación cliente (buffer interno de mysqlnd a la aplicación cliente). Si el número de filas almacenadas en buffer es mayor que el número de filas almacenadas en buffer obtenidas, puede significar que la aplicación cliente ejecuta consultas que originan conjuntos de resultados grandes que necesitan resultar en filas no leídas por el cliente. | Ejemplos de consultas que almacenarán en buffer resultados: mysqli_query(), mysqli_store_result()
rows_fetched_from_client_normal_buffered, rows_fetched_from_client_ps_buffered | Conexión | Número total de filas obtenidas por el cliente desde un conjunto de resultados almacenado en buffer creado por una consulta normal o una sentencia preparada.
rows_fetched_from_client_normal_unbuffered, rows_fetched_from_client_ps_unbuffered | Conexión | Número total de filas obtenidas por el cliente desde un conjunto de resultados no almacenado en buffer creado por una consulta "normal" o una sentencia no preparada.
rows_fetched_from_client_ps_cursor | Conexión | Número total de filas obtenidas por el cliente desde un cursor creado por una sentencia preparada.
rows_skipped_normal, rows_skipped_ps | Conexión | Reservado para un uso futuro (actualmente no soportado)
copy_on_write_saved, copy_on_write_performed | Proceso | Con mysqlnd, las variables devueltas por las extensiones apuntan a los buffers de resultados de red internos de mysqlnd. Si no se cambian las variables, los datos obtenidos serán conservados en memoria una sola vez. Si se cambian las variables, mysqlnd tiene que realizar una copia mientras se escribe para proteger los buffers de resultados de red internos de ser cambiados. Con la Biblioteca Clientes de MySQL siempre se conservan dos veces en memoria los datos obtenidos. Una en los buffers internos de la Biblioteca Cliente de MySQL y otra en las variables devueltas por las extensiones. En teoría, mysqlnd puede ahorrar hasta un 40% de memoria, Sin embargo, observe que el ahorro de memoria no puede ser medido usando memory_get_usage().
explicit_free_result, implicit_free_result | Conexión, Processo (sólo durante la limpieza de sentencias preparadas) | Número de total de conjuntos de resultados liberados. | La liberación es considerada siempres explícita excepto para conjuntos de resultados creados por un comando init, por ejemplo, mysqli_options(MYSQLI_INIT_COMMAND , ...)
proto_text_fetched_null, proto_text_fetched_bit, proto_text_fetched_tinyint proto_text_fetched_short, proto_text_fetched_int24, proto_text_fetched_int proto_text_fetched_bigint, proto_text_fetched_decimal, proto_text_fetched_float proto_text_fetched_double, proto_text_fetched_date, proto_text_fetched_year proto_text_fetched_time, proto_text_fetched_datetime, proto_text_fetched_timestamp proto_text_fetched_string, proto_text_fetched_blob, proto_text_fetched_enum proto_text_fetched_set, proto_text_fetched_geometry, proto_text_fetched_other Conexión Número total de columnas de un cierto tipo obtenidas de una consulta normal (protocolo de texto de MySQL). Referencia de los tipos de metadatos de la API de C / MySQL para el nombre de la estadística:

  • MYSQL_TYPE_NULL - proto_text_fetched_null

  • MYSQL_TYPE_BIT - proto_text_fetched_bit

  • MYSQL_TYPE_TINY - proto_text_fetched_tinyint

  • MYSQL_TYPE_SHORT - proto_text_fetched_short

  • MYSQL_TYPE_INT24 - proto_text_fetched_int24

  • MYSQL_TYPE_LONG - proto_text_fetched_int

  • MYSQL_TYPE_LONGLONG - proto_text_fetched_bigint

  • MYSQL_TYPE_DECIMAL, MYSQL_TYPE_NEWDECIMAL - proto_text_fetched_decimal

  • MYSQL_TYPE_FLOAT - proto_text_fetched_float

  • MYSQL_TYPE_DOUBLE - proto_text_fetched_double

  • MYSQL_TYPE_DATE, MYSQL_TYPE_NEWDATE - proto_text_fetched_date

  • MYSQL_TYPE_YEAR - proto_text_fetched_year

  • MYSQL_TYPE_TIME - proto_text_fetched_time

  • MYSQL_TYPE_DATETIME - proto_text_fetched_datetime

  • MYSQL_TYPE_TIMESTAMP - proto_text_fetched_timestamp

  • MYSQL_TYPE_STRING, MYSQL_TYPE_VARSTRING, MYSQL_TYPE_VARCHAR - proto_text_fetched_string

  • MYSQL_TYPE_TINY_BLOB, MYSQL_TYPE_MEDIUM_BLOB, MYSQL_TYPE_LONG_BLOB, MYSQL_TYPE_BLOB - proto_text_fetched_blob

  • MYSQL_TYPE_ENUM - proto_text_fetched_enum

  • MYSQL_TYPE_SET - proto_text_fetched_set

  • MYSQL_TYPE_GEOMETRY - proto_text_fetched_geometry

  • Any MYSQL_TYPE_* no listado antes (no debería ser ninguno) - proto_text_fetched_other

Observe que las constantes MYSQL_*-type pueden no estar asociadas con los mismos tipos de columnas SQL en cada versión de MySQL.

proto_binary_fetched_null, proto_binary_fetched_bit, proto_binary_fetched_tinyint proto_binary_fetched_short, proto_binary_fetched_int24, proto_binary_fetched_int, proto_binary_fetched_bigint, proto_binary_fetched_decimal, proto_binary_fetched_float, proto_binary_fetched_double, proto_binary_fetched_date, proto_binary_fetched_year, proto_binary_fetched_time, proto_binary_fetched_datetime, proto_binary_fetched_timestamp, proto_binary_fetched_string, proto_binary_fetched_blob, proto_binary_fetched_enum, proto_binary_fetched_set, proto_binary_fetched_geometry, proto_binary_fetched_other | Conexión | Número total de columnas de un cierto tipo obtenidas desde una sentencia preparada (protocolo binario de MySQL). | Para la referenciacición de tipos, véase proto_text_* descrito en el texto anterior.
Estadísticas devueltas de mysqlnd: Conexión
Estadística | Ámbito | Descrpción | Notas
connect_success, connect_failure | Conexión | Número total de intentos de conexión con éxito/falladas. | Están incluidas las conexiones rechazadas y los demás tipos de conexiones.
reconnect | Proceso | Número total de intentos de conexión verdadera (real_) hechas sobre un gestor de conexión ya abierto. | La secuencia de código $enlace = new mysqli(...); $enlace->real_connect(...) ocasionará una reconexión. Pero $link = new mysqli(...); $enlace->connect(...) no lo hará ya que $enlca->connect(...) cerrará explícitamente la conexión existente antes de que se establezca una nueva conexión.
pconnect_success | Conexión | Número total de intentos de conexión persistente realizados con éxito. | Observe que connect_success contiene la suma de intentos de conexión persistente y no persistente realizados con éxito. El número de intentos de conexión no persistente realizados con éxito es connect_success - pconnect_success.
active_connections | Conexión | Número total de conexiones persistentes y no persistentes activas.
active_persistent_connections | Conexión | Número de conexiones persistentes activas. | El número total de conexiones no persistentes activas es active_connections - active_persistent_connections.
explicit_close Conexión Número total de conexiones cerradas explícitamente (sólo ext/mysqli). Ejemplos de trozos de código que causan un cierre explícito :
$enlace = new mysqli(...); $enlace->close(...)
$enlace = new mysqli(...); $enlace->connect(...)
implicit_close Conexión Número total de conexiones cerradas implícitamente (sólo ext/mysqli). Ejemplos de trozos de código que causan un cierre implícito :

  • $enlace = new mysqli(...); $enlace->real_connect(...)

  • unset($enlace)

  • Conexión persistente: conexión almacenada en caché que ha sido creada con real_connect y que puede poseer un conjunto de opciones desconocidas - cerrar implícitamente para evitar devolver una conexión con opciones desconocidas

  • Conexión persistente: ping/change_user falla y ext/mysqli cierra la conexión

  • fin de la ejecución de un script: cierra la conexiones que no han sido cerradas por el usuario

disconnect_close | Conexión | Fallos de conexión indicados por la llamada a la API en C de mysql_real_connect() durante un intento de establecer una conexión. | Es llamada disconnect_close porque el gestor de conexión pasado a la llamada a la API en C será cerrado.
in_middle_of_command_close | Proceso | Una conexión ha sido cerrada en mitad de la ejecución de un comando (conjuntos de resultados pendientes no obtenidos, después de enviar una consulta y antes de obtener una respuesta, mientras se obtienen los datos, mientras se transfieren datos con LOAD DATA). | A menos que se usen consultas asíncronas, esto únicamente debería ocurrir si el script se detiene inesperadamente y PHP cierra las conexiones por sí solo.
init_command_executed_count | Conexión | Número totas de ejecuciones de comandos init, por ejemplo, mysqli_options(MYSQLI_INIT_COMMAND , ...). | El número de ejecuciones realizadas con éxito es init_command_executed_count - init_command_failed_count.
init_command_failed_count | Conexión | Número total de comnados init fallados.
Estadísticas devueltas de mysqlnd: Comando COM_*
Estadística Ámbito Descrpción Notas
com_quit, com_init_db, com_query, com_field_list, com_create_db, com_drop_db, com_refresh, com_shutdown, com_statistics, com_process_info, com_connect, com_process_kill, com_debug, com_ping, com_time, com_delayed_insert, com_change_user, com_binlog_dump, com_table_dump, com_connect_out, com_register_slave, com_stmt_prepare, com_stmt_execute, com_stmt_send_long_data, com_stmt_close, com_stmt_reset, com_stmt_set_option, com_stmt_fetch, com_daemon Conexión Número total de intentos de enviar un cierto comando COM_* desde PHP a MySQL.

Las estadísticas son incrementadas después de comprobar la línea e inmediatamente antes de enviar el paquete de protocolo cliente-servidor de MySQL correspondiente. Si mysqlnd falla al enviar el paquete sobre el cable, las estadísticas no serán incrementadas. En case de fallo, mysqlnd emite una advertencia de PHP "Error while sending %s packet. PID=%d."

Ejemplos de uso:

  • Comprobar si PHP eviía ciertos comandos a MySQL, por ejemplo, comprobar si un cliente envía COM_PROCESS_KILL

  • Calcuar el promedio de ejecuciones de sentencias preparadas comparando COM_EXECUTE con COM_PREPARE

  • Comprobar si PHP ha ejecuato cualquier sentencia SQL no preparada comprobando si COM_QUERY es cero

  • Identificar los scripts de PHP que ejecutan un número excesivo de sentencias SQL comprobando COM_QUERY y COM_EXECUTE

Miscelánea

Estadísticas devueltas de mysqlnd: Miscelánea
Estadística | Ámbito | Descrpción | Notas
explicit_stmt_close, implicit_stmt_close | Proceso | Número total de sentencias preparadas cerradas. | Un cierre siempre es considerado explícito excepto para una preparación fallida.
mem_emalloc_count, mem_emalloc_ammount, mem_ecalloc_count, mem_ecalloc_ammount, mem_erealloc_count, mem_erealloc_ammount, mem_efree_count, mem_malloc_count, mem_malloc_ammount, mem_calloc_count, mem_calloc_ammount, mem_realloc_count, mem_realloc_ammount, mem_free_count | Proceso | Llamadas de gestión de memoria. | Solamente desarrollo.
command_buffer_too_small Conexión Número de extensiones de buffer de comandos de red mientras se envían comando desde PHP a MySQL.

mysqlnd asigna un buffer de comandos/red interno de mysqlnd.net_cmd_buffer_size (php.ini) bytes para cada conexión. Si un comando del protocolo Cliente Servidor de MySQL, por ejemplo, COM_QUERY (consulta normal), no se ajusta al buffer, mysqlnd will aumentará el buffer lo que sea necesario para enviar el comando. Siempre que el buffer se extienda para una conexión, command_buffer_too_small será incrementado en uno.

Si mysqlnd tiene que aumentar el buffer más allá de su tamaño inicial de mysqlnd.net_cmd_buffer_size (php.ini) bytes para casi todas las conexiones, se debería considerar aumentar el tamaño predeterminado para evitar reasignaciones.

El tamaño predeterminado del buffer es de 2048 bytes en PHP 5.3.0. En futuras versiones, el tamaño predeterminado serán de 4kB o más. Se puede cambiar el valor predeterminado a través de php.ini estableciendo mysqlnd.net_cmd_buffer_size o usando mysqli_options(MYSQLI_OPT_NET_CMD_BUFFER_SIZE, int tamaño).

Se recomienda establecer el tamaño de buffer a no menos de 4096 bytes debido a que mysqlnd también lo utiliza al leer ciertos paquete de comunicación desde MySQL. En PHP 5.3.0, mysqlnd no aumentará el buffer si MySQL envía un paquete que es más grande que el tamaño actual del buffer. Como consecuencia, mysqlnd no es capaz de decodificar el paquete y la aplicación cliente obtendrá un error. Solamente hay dos situacioines en las que un paquete es más grande que los 2048 bytes predeterminados de mysqlnd.net_cmd_buffer_size en PHP 5.3.0: el paquete transporta un mensaje de error muy grande, o el paquete contiene los metadatos de columnas de COM_LIST_FIELD ( mysql_list_fields()) y los metadatos provienen de una columna de cadena con un valor predeterminado muy grande (>1900 bytes). No existe reporte de errores sobre esto - debería ocurrir raramente.

A partir de PHP 5.3.2, mysqlnd no permite establecer buffers menores que 4096 bytes.

connection_reused
Conexiones persistentes
Notas
Mysqlnd


Notas

En esta sección se ofrece una colección de diversas notas sobre el uso del Controlador Nativo de MySQL.

  • Utilizar mysqlnd significa que se están utilizando flujos PHP para la conectividad subyacente. Para mysqlnd, se debe consultar la documentación de flujos de PHP (Flujos) para detalles como la configuración del tiempo de espera, y no la documentación para la Biblioteca Cliente de MySQL.

Estadísticas
API de Complementos del Controlador Nativo de MySQL
Mysqlnd


API de Complementos del Controlador Nativo de MySQL

Tabla de contenidos

  • Una comparación de los complementos de mysqlnd y el Proxy de MySQL
  • Obtener la API de complementos de mysqlnd
  • Arquitectura de los Complementos del Controlador Nativo de MySQL
  • La API de complementos de mysqlnd
  • Empezar a construir un complemento de mysqlnd

La API de Complementos del Controlador Nativo de MySQL es una característica del Controlador Nativo de MySQL, o mysqlnd. Los complementos de mysqlnd operan en la capa que hay entre las aplicaciones de PHP y el servidor MySQL. Es comparable al Proxy de MySQL. El Proxy de MySQL opera sobre una capa entre cualquier aplicación cliente de MySQL, por ejemplo, una aplicación de PHP, y el servidor de MySQL. Los complementos de mysqlnd can undertake typical MySQL Proxy tasks such as load balancing, monitorizan y optimizan el rendimiento. A causa de la arquitectura y ubicación diferentes, los complementos de mysqlnd no tienen algunas de las desventajas del Proxy de MySQL. Por ejemplo, con los complementos no existe un único punto de fallo, ni un servidor proxy para el despliegue, y no hace falta aprender un nuevo lenguaje de programación (Lua).

Se puede pensar en un complemento de mysqlnd como una extensión de mysqlnd. Los complementos pueden interceptar la mayoría de las funciones de mysqlnd. Las funciones de mysqlnd son llamadas por las extensiones de MySQl de PHP, como ext/mysql, ext/mysqli, y PDO_MYSQL. Como resultado, es posible que un complemento de mysqlnd intercepte todas las llamadas hechas a estas extensiones desde la apliacación cliente.

Las llamadas a funciones internas de mysqlnd también pueden ser interceptadas o reemplazadas. No existen restricciones en la manipulación de tablas de funciones internas de mysqlnd. Es posible configurar cosas, y así cuando ciertas funciones de mysqlnd son llamadas por extensiones que utilizan mysqlnd, la llamada es dirigida a la función apropiada del complemento de mysqlnd. La capacidad de manipular tablas de funciones internas de mysqlnd de esta manera permite una flexibilidad máxima para los complementos.

Los complementos de mysqlnd son de hecho Extensiones de PHP, escritos en C, que utilizan la API de complementos de mysqlnd (la cual está construida dentro del Controlador Nativo de MySQL, mysqlnd). Los complementos se pueden hacer 100% transparentes a las aplicaciones de PHP. No es necesario hacer ningún cambio a las aplicaciones ya que los complementos operan en una capa diferente. Se puede pensar en los complementos de mysqlnd como en una operación en una capa por debajo de mysqlnd.

La siguiente lista representa algunas aplicaciones posibles de los complementos de mysqlnd.

  • Equilibrio de Carga

    • División de Lectura/Escritura. Un ejemplo de esto es la extensión PECL/mysqlnd_ms (Maestro Esclavo). Esta extensión divide las consultas de lectura/escritura para una configuración de réplica.

    • Tolerancia a fallos

    • Rotación de servidores para evitar la sobrecarga ("Round-Robin")

  • Monitorización

    • Registro de Consultas

    • Análisis de Consultas

    • Audición de Consultas. Un ejemplo de esto es la extensión PECL/mysqlnd_sip (Protección contra la Inyección SQL). Esta extensión inspecciona las consultas y ejecuta únicamente aquellas que están permitidas según un cojunto de reglas.

  • Rendimiento

    • Almacenamiento en Caché. Un ejemplo de esto es la extenión PECL/mysqlnd_qc (Caché de Consultas).

    • Estrangulamiento ("Throttling")

    • Fragmentación. Un ejemplo de esto es la extensión PECL/mysqlnd_mc (Multiconexión). Esta extensión intentará dividir una sentencia SELECT en n partes, usando SELECT ... LIMIT parte_1, SELECT LIMIT parte_n. Envía las consultas a diferentes servidores MySQL y combina el resultado en el cliente.

Complementos del Controlador Nativo de MySQL disponibles

Hay varios complementos de mysqlnd ya disponibles. Estos incluyen:

  • PECL/mysqlnd_mc - Complemento de Multiconexión.

  • PECL/mysqlnd_ms - Complemento Maestro Esclavo.

  • PECL/mysqlnd_qc - Complemento de Caché de Consultas.

  • PECL/mysqlnd_pscache - Complemento de Caché de Gestores de Sentencias Preparadas.

  • PECL/mysqlnd_sip - Complemento de Protección contra Inyección SQL.

  • PECL/mysqlnd_uh - Complemento de Gestor de Usuarios.

Notas
Una comparación de los complementos de mysqlnd y el Proxy de MySQL
Mysqlnd


Una comparación de los complementos de mysqlnd y el Proxy de MySQL

Los complementos de mysqlnd y el Proxy de MySQL son diferentes tecnologías que utilizan diferentes enfoques. Ambos son herramientas válidas para resolver una variedad de tareas comunes tales como el equilibrio de carga, monitorización, y mejoras en el rendimiento. Una diferencia importante es que el Proxy de MySQL funciona con todos los clientes de MySQL, mientras que los complementos de mysqlnd son específicos de aplicaciones de PHP.

Al igual que una Extensión de PHP, un complemento de mysqlnd se instala en el servidor de aplicaciones de PHP, junto con el resto de PHP. El Proxy de MySQL puede ejecutarse sobre el servidor de aplicaciones de PHP o ser instalado en una máquina dedicada para manejar múltiples servidores de aplicaciones de PHP.

El despliegue del Proxy de MySQL sobre un servidor de aplicaciones tiene dos ventajas:

  1. No tiene un único punto de fallo

  2. Fácil escalabilidad (escalabilidad horizontal, escalabilidad por cliente)

El Proxy de MySQL (y los complementos de mysqlnd) pueden resolver problemas fácilmente que de otro modo requerirían cambios en las aplicaciones existentes.

Sin embargo, el Proxy de MySQL tiene algunas desventajas:

  • El Proxy de MySQL es un componente y una tecnología nuevos que son necesarios llegar a dominar y desplegar.

  • El Proxy de MySQL requiere conocimientos del lenguaje de scripts Lua.

El Proxy de MySQL puede ser personalizado con programación en C y Lua. Lua es el lenguaje de scripts preferido del Proxy de MySQL. Para la mayoría de los expertos en PHP, Lua es un nuevo lenguaje que aprender. Un complemento de mysqlnd puede ser escrito en C. También es posible escribir complementos en PHP usando » PECL/mysqlnd_uh.

El Proxy de MySQL se ejecuta como un demonio - un proceso en segundo plano. El Proxy de MySQL puede recordar decisiones anteriores, ya que todos los estados pueden ser guardados. Sin embargo, un complemento de mysqlnd está vinculado al ciclo de vida basado en peticiones de PHP. El Proxy de MySQL también comparte resultados computados una única vez entre múltiples servidores de aplicaciones. Un complemento de mysqlnd necesitaría almacenar los datos en un medio persistente para poder hacer esto. Sería necesario otro demonio para este propósito, tal como Memcache. Esto otorga al Proxy de MySQL una ventaja en este caso.

El Proxy de MySQL funciona en lo más alto del protocolo de cable. Con el Proxy de MySQL se ha de analizar y usar ingenierá inversa con el Protocolo Cliente Servidor de MySQL. Las acciones están limitadas a aquellas que pueden realizarse manipulando el protocolo de comunicación. Si el protocolo de calbe cambia (lo que ocurre muy raramente), los scripts del Proxy de MySQL necesitarían cambiarse también.

Los complementos de Mysqlnd funcionan en lo más alto de la API en C, la cual refleja el cliente libmysqlclient y las APIs Connector/C. ESta API en C es básicamente una envoltura sobre el protocolo Cliente Servidor de MySQL, o protocolo de cable, como es llamado a veces. Se pueden interceptar todas las llamadas a la API en C. PHP hace uso de la API en C, por lo que se pueden enganchar todas las llamadas de PHP, sin necesidad de programar en el nivel del protocolo de cable.

Mysqlnd implementa el protocolo de cable. Los complementos pueden, por lo tanto, analizar, usar ingeniería inversa, manipular e incluso reemplazar el protocolo de comunicación. Sin embargo, esto normalmente no es necesario.

Ya que los complementos permiten crear implementaciones que utilizan dos niveles (la API en C y el protocolo de cable), tienen más flexibilidad que el Proxy de MySQL. Si un complemento de mysqlnd es implementado usando la API en C, cualquier cambio subsiguiente al protocolo de cable no requerirá cambios en el complemento en sí.

API de Complementos del Controlador Nativo de MySQL
Obtener la API de complementos de mysqlnd
API de Complementos del Controlador Nativo de MySQL


Obtener la API de complementos de mysqlnd

La API de complementos de mysqlnd es sencillamente parte de la extensión del Controlador Nativo de MySQL de PHP, ext/mysqlnd. El desarrollo de la API de complementos de mysqlnd comenzó en diciembre de 2009. Está desarrollado como parte del repositorio fuente de PHP, y como tal está disponible al público vía Git, o a través de las descargas de instantáneas del código fuente.

La siguiente tabla muestra las versiones de PHP y la versión correspondiente de mysqlnd contenida dentro.

La versión incluída de mysqlnd por versión de PHP
Versión de PHP | Versión del Controlador Nativo de MySQL
5.3.0 | 5.0.5
5.3.1 | 5.0.5
5.3.2 | 5.0.7
5.3.3 | 5.0.7
5.3.4 | 5.0.7

Los desarrolladores de complementos pueden determinar la versión de mysqlnd accediendo a MYSQLND_VERSION, que es una cadena en el formato "mysqlnd 5.0.7-dev - 091210 - $Revision: 300535", o a través de MYSQLND_VERSION_ID, que es un valor integer tal como 50007. Los desarrolladores pueden calcular el número de versión como sigue:

Tabla de cálculo de MYSQLND_VERSION_ID
Versión (parte) | Ejemplo
Mayor*10000 | 5*10000 = 50000
Menor*100 | 0*100 = 0
Parche | 7 = 7
MYSQLND_VERSION_ID | 50007

Durante el desarrollo, los desarroladores deberían consultar el número de versión de mysqlnd por compatibilidad y pruebas de versión, ya que varias iteraciones de mysqlnd podrían ocurrir durante el ciclo de vida de una rama de desarrollo de PHP con un número de versión de PHP único.

Una comparación de los complementos de mysqlnd y el Proxy de MySQL
Arquitectura de los Complementos del Controlador Nativo de MySQL
API de Complementos del Controlador Nativo de MySQL


Arquitectura de los Complementos del Controlador Nativo de MySQL

Esta sección proporciona información general de la arquitectura de los complementos de mysqlnd.

Información general del Controlador Nativo de MySQL

Antes de desarrollar complementos de mysqlnd, es útil conocer un poco cómo mysqlnd está organizado. Mysqlnd consiste en los siguientes módulos:

La gráfica de organización de mysqlnd, por módulo
Módulos de estadísticas | mysqlnd_statistics.c
Conexión | mysqlnd.c
Conjunto de resultados | mysqlnd_result.c
Metadatos de conjuntos de resultados | mysqlnd_result_meta.c
Sentencia | mysqlnd_ps.c
Red | mysqlnd_net.c
Protocolo de cable | mysqlnd_wireprotocol.c

Paradigma de la orientación a objetos de C

A nivel de código, mysqlnd utiliza un patrón de C para implementar la orientación a objetos.

En C se utiliza una estrucutra (struct) para representar un objeto. Los miembros de la estructura representan las propiedades del objeto. Los miembros de la estrucutra que apuntan a funciones representan los métodos.

A diferencia de otros lenguajes como C++ o Java, no existen reglas fijas sobre herencia en el paradigma de la orientación a objetos de C. Sin embargo, existen algunas convenciones que se han de seguir y serán discutidas más tarde.

El ciclo de vida de PHP

Al considerar el ciclo de vida de PHP existen dos ciclos básicos:

  • El ciclo de inicio y cierre del motor de PHP

  • El ciclo de peticiones

Cuando se inicia el motor de PHP, éste llamará a la función de inicialización de módulos (MINIT) para cada extensión registrada. Esto permite a cada módulo establecer variables y asignar recursos que existirán durante el tiempo de vida del proceso del motor de PHP. Al cerrar el motor de PHP, éste llamará a las funciones de cierre de módulos (MSHUTDOWN) para cada extensión.

Durante el tiempo de vida del motor de PHP, éste recibirá varias peticiones. Cada petición constituye otro ciclo de vida. En cada petición, el motor de PHP llamará a la función de inicialización de peticiones para cada extensión. La extensión puede realizar cualquier establecimiento de variables y asignación de recursos necesarios para el proceso de petición. Al finalizar el ciclo de peticiones, el motor llama a la función de cierre de peticiones (RSHUTDOWN) de cada extensión, por lo que la extensión puede realizar cualquier limpieza necesaria.

Cómo funciona un complemento

Un complemento de mysqlnd funciona interceptando llamada realizadas a mysqlnd por extensiones que utilizan mysqlnd. Esto se lleva a cabo obteniendo la tabla de funciones de mysqlnd, haciendo una copia de seguridad de ella, y reemplazándola por una tabla de funciones personalizada, la cual llamará a las funciones del complemento cuando sea necesario.

El siguiente código muestra cómo se reemplaza la tabla de funciones de mysqlnd:

/* un lugar para almacenar la tabla de funciones original */
struct st_mysqlnd_conn_methods org_methods;

void minit_register_hooks(TSRMLS_D) {
  /* activar la tabla de funciones */
  struct st_mysqlnd_conn_methods * current_methods
    = mysqlnd_conn_get_methods();

  /* copiar la tabla de funciones original */
  memcpy(&org_methods, current_methods,
    sizeof(struct st_mysqlnd_conn_methods);

  /* instalar nuevos métodos */
  current_methods->query = MYSQLND_METHOD(my_conn_class, query);
}

La manipulación de la tabla de funciones de conexión debe hacerse durante la Inicialización de Módulos (MINIT). La tabla de funciones es un recurso global compartido. En un entorno multihilo, con un TSRM construido, la manipulación de un recurso global compartido durante el proceso de peticiones resultará en conflictos casi con toda seguridad.

Nota:

No utilice cualquier lógica de tamaña fijo al manipular la tablas de funciones de mysqlnd: los métodos nuevos se pueden añadir al final de la tabla de funciones. La tabla de funciones puede cambiar en cualquier momento en el futuro.

Llamar a métodos padre

Si las entradas de la tabla de funciones original está copiada, aún es posible llamar a las entradas de la tabla de funciones original - los métodos padre.

En algunos casos, como en Connection::stmt_init(), es vital llamar al método padre antes de realizar cualquier otra actividad en el método derivado.

MYSQLND_METHOD(my_conn_class, query)(MYSQLND *conn,
  const char *query, unsigned int query_len TSRMLS_DC) {

  php_printf("my_conn_class::query(query = %s)\n", query);

  query = "SELECT 'query rewritten' FROM DUAL";
  query_len = strlen(query);

  return org_methods.query(conn, query, query_len); /* retorno con llamada al padre */
}

Extender propiedades

Un objeto mysqlnd está representado por una estrucutra de C. No es posible añadir un miembro a una estructura de C en tiempo de ejecución. Los usuarios de objetos mysqlnd no pueden simplemente añadir propiedades a los objetos.

Se pueden añadir datos arbitrarios (propiedades) a objetos mysqlnd usando la función apropiada de la familia de mysqlnd_plugin_get_plugin_<object>_data(). Cuando se asigna un objeto, mysqlnd reserva espacio al final del objeto para que contenga un puntero void * a datos arbitrarios. mysqlnd reserva espacio para un puntero void * por complemento.

La siguiente tabla muestra cómo calcular la posición del puntero para un complemento específico:

Cálculos de puntero para mysqlnd
Dirección de memoria | Contenido
0 | Inicio de la estructura de C del objeto mysqlnd
n | Fin de la estructura de C del objeto mysqlnd
n + (m x sizeof(void*)) | void* a los datos del objeot del complemento m-ésimo

Si se planea usar cualquier constructor de objetos mysqlnd en subclases, lo cual está permitido, ¡se debe tener esto en cuenta!

El siguiente código muestra la extensión de propiedades:

/* cualquier dato que queramos asociar */
typedef struct my_conn_properties {
  unsigned long query_counter;
} MY_CONN_PROPERTIES;

/* id del complemento */
unsigned int my_plugin_id;

void minit_register_hooks(TSRMLS_D) {
  /* obtener un ID único para el complemento */
  my_plugin_id = mysqlnd_plugin_register();
  /* recorte - véase Extender conexiones: métodos */
}

static MY_CONN_PROPERTIES** get_conn_properties(const MYSQLND *conn TSRMLS_DC) {
  MY_CONN_PROPERTIES** props;
  props = (MY_CONN_PROPERTIES**)mysqlnd_plugin_get_plugin_connection_data(
    conn, my_plugin_id);
  if (!props || !(*props)) {
    *props = mnd_pecalloc(1, sizeof(MY_CONN_PROPERTIES), conn->persistent);
    (*props)->query_counter = 0;
  }
  return props;
}

El desarrollador del complemento es responsable de la gestión de memoria de lo datos del complemento.

Se recomienda el uso del asignador de memoria de mysqlnd para los datos del complemento. Estas funciones son nombradas usando la convención: mnd_*loc(). El asignador de mysqlnd tiene algunas características útiles, como la capacidad de usar un asignador de depuración en una construcción de no depuración.

Cuándo y cómo usar subclases
 | ¿Cuándo usar subclases? | ¿Cada instancia tiene su propia tabla de funciones privada? | ¿Cómo usar subclases?
Conexión (MYSQLND) | MINIT | No | mysqlnd_conn_get_methods()
Conjunto de resultados (MYSQLND_RES) | MINIT o después | Sí | mysqlnd_result_get_methods() o manipulación de la tabla de funciones de métodos de objetos
Metadatos de conjunto de resultados (MYSQLND_RES_METADATA) | MINIT | No | mysqlnd_result_metadata_get_methods()
Sentencia (MYSQLND_STMT) | MINIT | No | mysqlnd_stmt_get_methods()
Red (MYSQLND_NET) | MINIT o después | Sí | mysqlnd_net_get_methods() o manipulación de la tabla de funciones de métodos de objetos
Protocolo de cable (MYSQLND_PROTOCOL) | MINIT o después | Sí | mysqlnd_protocol_get_methods() o manipulación de la tabla de funciones de métodos de objetos

No se deben manipular las tablas de funciones en ningún momento posterior a MINIT si no está permitido según la tabla de arriba.

Algunas clases contienen un puntero a la tabla de funciones de métodos. Todas las instancias de esas clases compartirán la misma tabla de funciones. Para evitar el caos, en particular en entornos de hilos, tales tablas de funciones deben ser manipuladas solamente durante MINIT.

Otras clases usan copias de una tabla de funciones compartida globalmente. La copia de la tabla de funciones de la clase se crea junto con el objeto. Cada objeto usa su propia tabla de funciones. Esto proporciona dos opciones: se puede manipular la tabla de funciones predetermiada de un objeto durante MINIT, y además se pueden perfeccionar métodos de un objeto sin impactar otras instancias de la misma clase.

La ventaja del enfoque de la tabla de funciones compartida es el rendimiento. No hay necesidad de copiar una tabla de funciones para cada objeto.

Estado del constructor
Asignación, construcción, reinicio | ¿Se puede modificar? | Llamador
Conexión (MYSQLND) | mysqlnd_init() | No | mysqlnd_connect()
Conjunto de resultados (MYSQLND_RES)

Asignación:

  • Connection::result_init()

Reinicio y reinicialización durante:

  • Result::use_result()

  • Result::store_result

Sí, ¡pero se ha de llamar al padre!

  • Connection::list_fields()

  • Statement::get_result()

  • Statement::prepare() (Solamente metadatos)

  • Statement::resultMetaData()

Metadatos de conjunto de resultados (MYSQLND_RES_METADATA) | Connection::result_meta_init() | Sí, ¡pero se ha de llamar al padre! | Result::read_result_metadata()
Sentecia (MYSQLND_STMT) | Connection::stmt_init() | Sí, ¡pero se ha de llamar al padre! | Connection::stmt_init()
Red (MYSQLND_NET) | mysqlnd_net_init() | No | Connection::init()
Protocolo de cable (MYSQLND_PROTOCOL) | mysqlnd_protocol_init() | No | Connection::init()

Se recomienda encarecidamente que no se reemplace completamente un constructor. Los constructores realizan asignaciones de memoria. Las asignaciones de memoria son vitales para la API de complementos de mysqlnd y la lógida de objetos de mysqlnd. Si no se tiene cuidado con las advertencias y se insiste en enganchar los constructores, se debería, al menos, llamar al constructor padre antes de hacer nada en el constructor derivado.

A pesar de todas las advertencias, puede ser útil usar subclases para los constructores. Éstos son el lugar perfecto para modificar las tablas de funciones de objetos con tablas de objetos no compartidas, como Conjunto de resultados, Red, Protocolo de cable.

Estado de la destrucción
 | ¿Debe el método derivado llamar al padre? | Destructor
Conexión | sí, después de la ejecución del método | free_contents(), end_psession()
Conjunto de resultados | sí, después de la ejecución del método | free_result()
Metadatos del conjunto de resultados | sí, después de la ejecución del método | free()
Sentencia | sí, después de la ejecución del método | dtor(), free_stmt_content()
Red | sí, después de la ejecución del método | free()
Protocolo de cable | sí, después de la ejecución del método | free()

Los destructores son los lugares apropiados para liberar propiedades mysqlnd_plugin_get_plugin_<objeto>_data().

Los destructores listados podrían no ser equivalentes a los métodos reales de mysqlnd que liberan el objeto en sí. Sin embargo, son el mejor lugar posible para enganchar y liberar los datos de los complementos. Como sucede con los constructores se pueden reemplazar los métodos completamente, pero no se recomienda. Si se listan múltiles métodos en la tabla de arriba, se necesitará enganchar todos esos métodos y liberar los datos del complemento en el método correspondiente que sea llamado primero por mysqlnd.

El método recomendado para los complementos es simplemente enganchar los métodos, liberar la memoria y llamar a la implementación padre inmediatamente después de esto.

Precaución

Debido a un error en las versiones de PHP 5.3.0 hasta 5.3.3, los complementos no asocian los datos de los complementos con una conexión persistente. Esto es debido a que ext/mysql y ext/mysqli no desencadenan las llamadas necesarias al método end_psession() de mysqlnd, y el complemento podría, por lo tanto, perder memoria. Esto ha sido corregido en PHP 5.3.4.

Obtener la API de complementos de mysqlnd
La API de complementos de mysqlnd
API de Complementos del Controlador Nativo de MySQL


La API de complementos de mysqlnd

La siguiente es una lista de funciones proporcionadas en la API de complementos de mysqlnd:

  • mysqlnd_plugin_register()

  • mysqlnd_plugin_count()

  • mysqlnd_plugin_get_plugin_connection_data()

  • mysqlnd_plugin_get_plugin_result_data()

  • mysqlnd_plugin_get_plugin_stmt_data()

  • mysqlnd_plugin_get_plugin_net_data()

  • mysqlnd_plugin_get_plugin_protocol_data()

  • mysqlnd_conn_get_methods()

  • mysqlnd_result_get_methods()

  • mysqlnd_result_meta_get_methods()

  • mysqlnd_stmt_get_methods()

  • mysqlnd_net_get_methods()

  • mysqlnd_protocol_get_methods()

No existe una definción formal de lo que es un complemento y cómo funciona el mecanismo de un complemento.

Los componentes que se encuentran a menudo en los mecanismos de los complementos son:

  • Un gestor de complemento

  • Una API de complemento

  • Servicios de aplicación (o módulos)

  • APIs de servicios de aplicación (o APIs de módulos)

El concepto de complemento de mysqlnd emplea estas características, y además disgruta de una arquitectura abierta.

Sin restricciones

Un complemento tiene acceso completo al funcionamiento interno de mysqlnd. No existen límites de seguridad o restricciones. Todo puede ser sobrescrito para implementar algoritmos amistosos u hostiles. Se recomienda que se desplieguen complementos desde una fuente de confianza.

Como se discutió anteriormente, los complementos puede usar punteros libremente. Estos punteros no están restringidos de ninguna manera, y pueden apuntar a los datos de otros complementos. Se puede usar una sencilla aritmética de índices para leer los datos de otros complementos.

Se recomienda que se escriban complementos cooperativos, y que siempre se llame al método padre. Los complemento deberían siempre cooperar con mysqlnd.

Cuestiones: un ejemplo de encadenamiento y cooperación
Extensión | puntero de mysqlnd.query() | pila de llamdas si se llama al padre
ext/mysqlnd | mysqlnd.query() | mysqlnd.query
ext/mysqlnd_cache mysqlnd_cache.query()

  1. mysqlnd_cache.query()

  2. mysqlnd.query

ext/mysqlnd_monitor mysqlnd_monitor.query()

  1. mysqlnd_monitor.query()

  2. mysqlnd_cache.query()

  3. mysqlnd.query

En este escenario, se cargan una caché (ext/mysqlnd_cache) y un complemento monitor (ext/mysqlnd_monitor). Ambos subclases de Connection::query(). El registro del complemento sucede en MINIT usando la lógica mostrada anteriormente. PHP llama a las extensiones en orden alfabético de manera predeterminada. Los complementos no son conscientes de los demás complementos y no establecen dependencias de extensiones.

Por omisión, los complementos llaman a la implementación padre del método de consulta en sus versiones derivadas del método.

Resumen de las extensiones de PHP

Este es un resumen de lo que sucede cuando se usa un complemento de ejemplo, ext/mysqlnd_plugin, el cual expone la API de complementos en C de mysqlnd a PHP:

  • Cualquier apliacación de MySQL de PHP intenta establecer una conexión con 192.168.2.29

  • La aplicación de PHP usará ext/mysql, ext/mysqli o PDO_MYSQL. Estas tres extensiones de MySQL de PHP utilizan mysqlnd para establecer la conexión con 192.168.2.29.

  • Mysqlnd llama a sus método de conexión, los cuales han sido derivados por ext/mysqlnd_plugin.

  • ext/mysqlnd_plugin llama al gancho del espacio de usuario proxy::connect() registrado por el usuario.

  • El gancho del espacio de usuario cambia la IP de conexión del anfitrión de 192.168.2.29 a 127.0.0.1 y devuelve la conexión establecida por parent::connect().

  • ext/mysqlnd_plugin realiza el equivalente de parent::connect(127.0.0.1) llamando al método original de mysqlnd para establecer una conexión.

  • ext/mysqlnd establece una conexión y devuelve a ext/mysqlnd_plugin. ext/mysqlnd_plugin devuelve también.

  • Cualquiera que sea la extensión de MySQL de PHP que haya sido usada por la aplicación, ésta recibe una conexión a 127.0.0.1. La extensión de MySQL de PHP en sí devuelve a la aplicación de PHP. El círculo se cierra.

Arquitectura de los Complementos del Controlador Nativo de MySQL
Empezar a construir un complemento de mysqlnd
API de Complementos del Controlador Nativo de MySQL


Empezar a construir un complemento de mysqlnd

Es importante recordar que un complemento de mysqlnd es una extensión de PHP en sí mismo.

El siguiente código muestra la estructura básica de la función MINIT que se usará en el típico complemento de mysqlnd:

/* my_php_mysqlnd_plugin.c */

 static PHP_MINIT_FUNCTION(mysqlnd_plugin) {
  /* globales, entradas ini, recursos, clases */

  /* registrar el complemento mysqlnd */
  mysqlnd_plugin_id = mysqlnd_plugin_register();

  conn_m = mysqlnd_get_conn_methods();
  memcpy(org_conn_m, conn_m,
    sizeof(struct st_mysqlnd_conn_methods));

  conn_m->query = MYSQLND_METHOD(mysqlnd_plugin_conn, query);
  conn_m->connect = MYSQLND_METHOD(mysqlnd_plugin_conn, connect);
}

/* my_mysqlnd_plugin.c */

 enum_func_status MYSQLND_METHOD(mysqlnd_plugin_conn, query)(/* ... */) {
  /* ... */
}
enum_func_status MYSQLND_METHOD(mysqlnd_plugin_conn, connect)(/* ... */) {
  /* ... */
}

Análisis de tareas: de C al espacio de usuario

 class proxy extends mysqlnd_plugin_connection {
  public function connect($host, ...) { .. }
}
mysqlnd_plugin_set_conn_proxy(new proxy());

Proceso:

  1. PHP: el usuario registra la llamada de retorno del complemento

  2. PHP: el usuario llama a cualquier API de MySQL de PHP para conectarse a MySQL

  3. C: ext/*mysql* llama al método de mysqlnd

  4. C: mysqlnd finaliza en ext/mysqlnd_plugin

  5. C: ext/mysqlnd_plugin

    1. Llama a la llamada de retorno del espacio de usuario

    2. O al método original de mysqlnd, si la llamada de retorno del espacio de usuario no está establecida

Es necesario realizar lo siguiente:

  1. Escribir una clase "mysqlnd_plugin_connection" en C

  2. Aceptar y registrar el objeto proxy a través de "mysqlnd_plugin_set_conn_proxy()"

  3. Llamar a los métodos del proxy del espacio de usuario desde C (optimización - zend_interfaces.h)

Se pueden llamar a los métodos del objeto del espacio de usuario usando call_user_function() o se puede operar a nivel cercano al Motor Zend y usar zend_call_method().

Optimización: llamar a los métodos desde C usando zend_call_method

El siguiente trozo de código muestra el prototipo para la función zend_call_method, tomado de zend_interfaces.h.

 ZEND_API zval* zend_call_method(
  zval **object_pp, zend_class_entry *obj_ce,
  zend_function **fn_proxy, char *function_name,
  int function_name_len, zval **retval_ptr_ptr,
  int param_count, zval* arg1, zval* arg2 TSRMLS_DC
);

La API Zend solamente soporta dos argumentos. Se pueden necesitar más, por ejemplo:

 enum_func_status (*func_mysqlnd_conn__connect)(
  MYSQLND *conn, const char *host,
  const char * user, const char * passwd,
  unsigned int passwd_len, const char * db,
  unsigned int db_len, unsigned int port,
  const char * socket, unsigned int mysql_flags TSRMLS_DC
);

Para evitar este problema se necesitará realizar una copia de zend_call_method() y añadir la facilidad para parámetros adicionales. Se puede hacer esto creando un conjunto de macros MY_ZEND_CALL_METHOD_WRAPPER.

Llamar al espacio de usuario de PHP

Este trozo de código muestra el método optimizado para llamar a una función del espacio de usuario desde C:

/* my_mysqlnd_plugin.c */

MYSQLND_METHOD(my_conn_class,connect)(
  MYSQLND *conn, const char *host /* ... */ TSRMLS_DC) {
  enum_func_status ret = FAIL;
  zval * global_user_conn_proxy = fetch_userspace_proxy();
  if (global_user_conn_proxy) {
    /* llamar al proxy del espacio de usuario */
    ret = MY_ZEND_CALL_METHOD_WRAPPER(global_user_conn_proxy, host, /*...*/);
  } else {
    /* o al método original de mysqlnd = no hagas nada, sé transparente */
    ret = org_methods.connect(conn, host, user, passwd,
          passwd_len, db, db_len, port,
          socket, mysql_flags TSRMLS_CC);
  }
  return ret;
}

Llamar al espacio de usuario: argumentos simples

/* my_mysqlnd_plugin.c */

 MYSQLND_METHOD(my_conn_class,connect)(
  /* ... */, const char *host, /* ...*/) {
  /* ... */
  if (global_user_conn_proxy) {
    /* ... */
    zval* zv_host;
    MAKE_STD_ZVAL(zv_host);
    ZVAL_STRING(zv_host, host, 1);
    MY_ZEND_CALL_METHOD_WRAPPER(global_user_conn_proxy, zv_retval, zv_host /*, ...*/);
    zval_ptr_dtor(&zv_host);
    /* ... */
  }
  /* ... */
}

Llamar al espacio de usuario: estrucutras como argumentos

/* my_mysqlnd_plugin.c */

MYSQLND_METHOD(my_conn_class, connect)(
  MYSQLND *conn, /* ...*/) {
  /* ... */
  if (global_user_conn_proxy) {
    /* ... */
    zval* zv_conn;
    ZEND_REGISTER_RESOURCE(zv_conn, (void *)conn, le_mysqlnd_plugin_conn);
    MY_ZEND_CALL_METHOD_WRAPPER(global_user_conn_proxy, zv_retval, zv_conn, zv_host /*, ...*/);
    zval_ptr_dtor(&zv_conn);
    /* ... */
  }
  /* ... */
}

El primer argumento de la mayoría de los métodos de mysqlnd es un "objeto" de C. Por ejemplo, el primer argumento del método connect() es un puntero a MYSQLND. La estructura MYSQLND representa un objeto de conexión de mysqlnd.

El puntero del objeto de conexión de mysqlnd puede ser comparado con un gestor de ficheros de E/S estándar. Al igual que un gestor de ficheros de E/S estándar, un objeto de conexión de mysqlnd será vinculado al espacio de usuario usando el tipo de variable de recurso de PHP.

Desde C al espacio de usuario y volver

 class proxy extends mysqlnd_plugin_connection {
  public function connect($conn, $host, ...) {
    /* "pre" enganche */
    printf("Connecting to host = '%s'\n", $host);
    debug_print_backtrace();
    return parent::connect($conn);
  }

  public function query($conn, $query) {
    /* "post" enganche */
    $ret = parent::query($conn, $query);
    printf("Query = '%s'\n", $query);
    return $ret;
  }
}
mysqlnd_plugin_set_conn_proxy(new proxy());

Los usuario de PHP pueden llamar a la implementación padre de un método sobrescrito.

Como resultado de la derivación, es posible refinar solamente los métodos seleccionados, y se puede optar por tener "pre" o "post" enganches.

Contruir la clase: mysqlnd_plugin_connection::connect()

/*  my_mysqlnd_plugin_classes.c */

 PHP_METHOD("mysqlnd_plugin_connection", connect) {
  /* ... ¡simplificado! ... */
  zval* mysqlnd_rsrc;
  MYSQLND* conn;
  char* host; int host_len;
  if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs",
    &mysqlnd_rsrc, &host, &host_len) == FAILURE) {
    RETURN_NULL();
  }
  ZEND_FETCH_RESOURCE(conn, MYSQLND* conn, &mysqlnd_rsrc, -1,
    "Mysqlnd Connection", le_mysqlnd_plugin_conn);
  if (PASS == org_methods.connect(conn, host, /* simplified! */ TSRMLS_CC))
    RETVAL_TRUE;
  else
    RETVAL_FALSE;
}
La API de complementos de mysqlnd
mysqlnd_ms
API de Complementos del Controlador Nativo de MySQL


Complemento de equilibrado de carga y replicación de mysqlnd

  • Introducción
  • Guía rápida y ejemplos
    • Puesta en marcha
    • Ejecutar sentencias
    • Estado de la conexión
    • Sugerencias SQL
    • Transacciones
    • Nivel de servicio y consistencia
    • IDs de transacción globales
    • Integración de una caché
    • Tolerancia a fallos
    • Particionamiento y fragmentación
  • Conceptos
    • Arquitectura
    • Agrupación e intercambio de conexiones
    • Manejo de transacciones
    • Manejo de errores
    • Errores transitorios
    • Tolerancia a fallos
    • Equilibrado de carga
    • División de lectura-escritura
    • Filtro
    • Nivel de servicio y consistencia
    • IDs de transacciones globales
    • Integración de una caché
    • Clústeres admitidos
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Fichero de configuración del complemento (>=1.1.x)
    • Fichero de configuración del complemento (<= 1.0.x)
    • Probando el complemento
    • Depuración y rastreo
    • Monitorización
  • Constantes predefinidas
  • Funciones de mysqlnd_ms
    • mysqlnd_ms_get_last_gtid — Devuelve el último ID de transacciones global
    • mysqlnd_ms_get_last_used_connection — Devuelve un array que describe la última conexión usada
    • mysqlnd_ms_get_stats — Devuelve la distribución consultas y las estadísticas de conexión
    • mysqlnd_ms_match_wild — Comprueba si el nombre de una tabla coincide con un patrón comodín
    • mysqlnd_ms_query_is_select — Comprueba si se envía la conslta al servidor maestro, al esclavo, o al último servidor MySQL usado
    • mysqlnd_ms_set_qos — Establece la calidad de servicio necesaria de un clúster
    • mysqlnd_ms_set_user_pick_server — Establece una llamada de retorno para la división de lectura/escritura definida por el usuario
  • Historial de cambios
    • Serie PECL/mysqlnd_ms 1.6
    • Serie PECL/mysqlnd_ms 1.5
    • PECL/mysqlnd_ms 1.4 series
    • Serie PECL/mysqlnd_ms 1.3
    • Serie PECL/mysqlnd_ms 1.2
    • Serie PECL/mysqlnd_ms 1.1
    • Serie PECL/mysqlnd_ms 1.0
Empezar a construir un complemento de mysqlnd
Introducción
MySQL


Introducción

El complemento de equilibrado de carga y replicación de mysqlnd (mysqlnd_ms) añade soporte de uso sencillo para la replicación MySQL a todas las extensiones de MySQL para PHP que utilizan mysqlnd.

A partir de la versión 5.3.3 de PHP, el controlador nativo de MySQL para PHP (mysqlnd) ofrece una API en C de complementos internos. Los complementos en C, como el complemento de replicación y equilibrado de carga, pueden extender la funcionalidad de mysqlnd.

El controlador nativo de MySQL para PHP es una biblioteca en C que acompaña a PHP a partir de PHP 5.3.0. Sirve como un sustituto a corto plazo de la Biblioteca Cliente de MySQL (libmysqlclient). El uso de mysqlnd tiene varias ventajas: no son necesarias descargas extra debido a que está incluido con PHP, está bajo la licencia de PHP, hay menor consumo de memoria en ciertos casos, y contiene nueva funcionalidad, como consultas asíncronas.

Los complementos de mysqlnd como mysqlnd_ms operan, en mayor parte, de forma transparente desde la perspectiva del usuario. El complemento de replicación y equilibrado de carga admite todas las aplicaciones de PHP y todas las extensiones de MySQL para PHP. No cambia las APIs existentes. Por lo tanto, se puede usar fácilmente con las aplicaciones de PHP existentes.

Características principales

Las características principales de PECL/mysqlnd_ms son las siguientes:

  • Es transparente y, por lo tanto, fácil de usar.

    • Admite todas las extensiones de MySQL para PHP.

    • Admite SSL.

    • Es una API consistente.

    • Se requieren pocos cambios o ningún cambio en la aplicación, dependiendo del escenario de uso requerido.

    • Conexiones retardadas: las conexiones a servidores maestros y esclavos no se abren antes de que se ejecute una sentencia SQL.

    • Opcional: uso automático del maestro después de la primera escritura en una petición web, para disminuir el posible impacto de la demora de la replicación.

  • Se puede usar con cualquier solución de clúster MySQL.

    • Replicación MySQL: La división de lectura-escritura la realiza el complemento. Es el foco primario del complemento.

    • Clúster MySQL: La división de lectura-escritura se puede deshabilitar. Es posible la configuración de múltiples maestros.

    • Soluciones de terceros: el complemento está optimizado para la Replicación MySQL, pero se puede usar con cualquier otro tipo de solución de clúster MySQL.

  • Estrategias destacadas de la división de lectura-escritura.

    • Detección automática de SELECT.

    • Admite sugerencias SQL para invalidar el automatismo.

    • Definido por el usuario.

    • Se puede deshabilitar, por ejemplo, al usar un clúster sincrónico, como el Clúster MySQL.

  • Estrategias destacadas del equilibrado de carga.

    • Rotación: elegir un esclavo diferente, de un modo 'round bobin', en cada petición a los esclavos.

    • Aleatorio: elegir un esclavo aleatorio en cada petición a los esclavos.

    • Aleatoiro una vez (adhesión): elegir un esclavo aleatorio una vez para ejecutar todas las peticiones a los esclavos durante toda una petición web.

    • Definido por el usuario. La aplicación puede registrar llamadas de retorno con mysqlnd_ms.

    • PHP 5.4.0 o superior: consideración de transacciones al usar solamente llamadas a la API para controlar transacciones.

    • Equilibrado de carga ponderado: a los servidores se les pueden asignar diferentes propiedades, por ejemplo, para dirigir más peticiones a una máquina potente que a otra menos potente. O para elegir máquinas cercanas para reducir la latencia.

  • ID de transacciones global.

    • Emulación en el lado del cliente. Hace más sencilla la tolerancia a fallos manual del servidor maestro y la promoción de esclavos con clústeres asíncronos, como la Repliación MySQL.

    • Soporte para la característica del identificador de transacciones global interno de MySQL 5.6.5 o superior.

    • Soporte del uso de IDs de transacciones para identificar esclavos asíncronos actualizados para lectura cuando se necesite consistencia de sesión.

    • Estrangulamiento: opcionalmente, el complemento puede esperar a que un esclavo se convierta en "sincrónico" antes de continuar.

  • Niveles de servicio y de consistencia.

    • Las aplicaciones puede solicitar para las conexiones niveles de servicios de consistencia final, de sesión y fuerte. Los nodos adecuados de clústeres se buscarán automáticamente.

    • Los accesos a un esclavo de Replicación MySQL de consistencia final pueden ser reemplazados por accesos rápidos a la caché local de forma transparente para reducir la carga del servidor.

  • Particionamiento y fragmentación

    • Los servidores de un clúster de réplica pueden estar organizados en grupos. Se pueden usar las sugerencias SQL para dirigir manualmente consultas a un grupo específico. La agrupación se puede usar para particionar (fragmentar) los datos, o para paliar problemas de hotspots con actualizaciones.

    • Los filtros de Replicación de MySQL están soportados a través del filtro de tabla.

Limitaciones

El mecanismo interno de división de lectura-escritura es muy básico. Cada consulta que comience con SELECT es considerada una petición de lectura para enviarla a un servidor esclavo de MySQL. Todas las demás consultas (como las sentencias SHOW) son consideradas como peticiones de escritura que son enviadas al servidor maestro de MySQL. El comportamiento interno se puede invalidar usando las sugerencias SQL, o una función de llamada de retorno definida por el usuario.

El divisor de lectura-escritura no considera las sentencias múltiples. Éstas son consideradas como una única sentencia. La decisión de dónde ejecutar la sentencia se basará en el comienzo de la dicha sentencia. Por ejemplo, si se usa mysqli_multi_query() para ejecutar la sentencia múltiple SELECT id FROM test ; INSERT INTO test(id) VALUES (1), ésta será redirigida a un servidor esclavo debido a que comienza con SELECT. La sentencia INSERT, la cual es también parte de la sentencia múltiple, no será redirigida a un servidor maestro.

Nota:

Las aplicaciones deben considerar las consecuencias de los intercambios de conexión que se realizan para el equilibrado de carga. Revise la documentación sobre intercambio y agrupación de conexiones, manejo de transacciones, tolerancia a fallos equilibrado de carga y división de lectura-escritura.

Sobre el nombre

La abreviatura mysqlnd_ms significa complemento maestro esclavo de mysqlnd. El nombre fue elegido por una rápida y desordenada prueba de conceptos. Al principio, los desarrolladores no esperaban que se continuase usando el código base.

mysqlnd_ms
Guía rápida y ejemplos
mysqlnd_ms


Guía rápida y ejemplos

Tabla de contenidos

  • Puesta en marcha
  • Ejecutar sentencias
  • Estado de la conexión
  • Sugerencias SQL
  • Transacciones
  • Nivel de servicio y consistencia
  • IDs de transacción globales
  • Integración de una caché
  • Tolerancia a fallos
  • Particionamiento y fragmentación

El complemento de equilibrado de carga y replicación de mysqlnd es fácil de usar. Esta guía rápida mostrará los casos de uso típicos, y proporcionará consejos sobre cómo empezar a utilizarlo.

Se recomienda leer las secciones de referencia además de esta guía rápida. Aquí se intenta evitar tratar con conceptos teóricos y limitaciones. En su lugar, se enlazará con las secciones de referencia. Es seguro comenzar con esta guía rápida. Sin embargo, antes de usar el complemento en entornos de objetivos críticos, le animamos a que lea también la información de fondo de las secciones de referencia.

El enfoque es usar mysqlnd_ms de PECL para trabajar con clústeres MySQL asíncronos, a saber, la replicación MySQL. Generalmente hablando, un clúster asíncrono es más difícil de usar que uno sincrónico. Por lo tanto, los usuarios de, por ejemplo, el Clúster MySQL, encontrarán más información de la necesaria.

Introducción
Puesta en marcha
mysqlnd_ms


Puesta en marcha

El complemento está implementado como una extensión de PHP. Vea también las instrucciones de instalación para instalar la extenxión » PECL/mysqlnd_ms.

Compile o configure la extensión (API) de MySQL para PHP (mysqli, PDO_MYSQL, mysql) que planee usar con soporte para la biblioteca mysqlnd. PECL/mysqlnd_ms es un complemento para la biblioteca mysqlnd. Para utilizar el complemento con cualqier extensión de MySQL para PHP, la extensión ha de utilizar la biblioteca mysqlnd.

Después carque la extensión en PHP y active el complemento en el fichero de confuguración de PHP usantdo la directiva de configuración llamada mysqlnd_ms.enable.

Ejemplo #1 Habilitar el complemento (php.ini)

mysqlnd_ms.enable=1
mysqlnd_ms.config_file=/ruta/al/complemento_mysqlnd_ms.ini

El complemento utiliza su propio fichero de configuración. Use la directiva de configuración de PHP mysqlnd_ms.config_file para establecer la ruta completa al fichero de configuración específico del complemento. Este fichero debe ser legible por PHP (p.ej., el usuario del servidor web). Por favor, observe que la directiva de configuración mysqlnd_ms.config_file sustituye a mysqlnd_ms.ini_file desde la versión 1.4.0. Es un error común usar la directiva de configuración antigua, la cual ya no está disponible.

Cree un fichero de configuración específico del complemento. Guarde el fichero en la ruta establecida por la directiva de configuración de PHP mysqlnd_ms.config_file.

El fichero de configuración del complemento está basado en JSON. Está dividido en una o más secciones. Cada sección tiene un nombre, por ejemplo, myapp. Cada sección contiene su propio conjunto de ajustes de configuración.

Una sección debe incluir, como mínimo, el servidor maestro de replicación MySQL y establecer una lista de esclavos. El complemento admite únicamente un servidor maestro por sección. La configuración de replicación MySQL de múltiples maestros aún no está totalemnte soportada. Use el ajuste de configuración master para establecer el nombre del anfitrión y el puerto o socket del servidor maestro de MySQL. Los servidores esclavos de MySQL se configuran usando la palabra clave slave.

Ejemplo #2 Fichero de configuración mínima específico del complemento (mysqlnd_ms_plugin.ini)

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": [

        ]
    }
}

Es necesario configurar una lista de servidores esclavos de MySQL, aunque puede contener una lista vacía. Se recomienda que siempre se configure al menos un servidor esclavo.

Las listas de servidores pueden usar la sintaxis anónima o no anónima. Las listas no anónimas incluyen sobrenombres para los servidores, tales como master_0 para el maestro del ejemplo de arriba. Esta guía rápida utiliza la sintaxis no anónima más prolija.

Ejemplo #3 Configuración mínima recomendada específica del complemento (mysqlnd_ms_plugin.ini)

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27",
                "port": "3306"
            }
        }
    }
}

Si al menos existen dos servidores en total, el complemento puede empezar a equilibrar la carga e intercambiar conexiones. El intercambio de conexiones no siempre es transparente y puede ocasionar problemas en ciertos casos. Las secciones de referencia sobre intercambio y agrupación de conexiones, manejo de transacciones, tolerancia a fallos equilibrado de carga y división de lectura-escritura proporcionan más detalles. Los problemas potenciales están descritos más tarde en esta guía.

Es responsabilidad de la aplicación manejar los problemas potenciales causados por el intercambio de conexiones, configurando un servidor maestro con al menos un servidor esclavo, lo cual permite el intercambio para trabajar con los problemas relacionados que se puedan encontrar.

Los servidores maestros y esclavos de MySQL que se configuren no necesitan ser parte de la configuración de replicación MySQL. Para realizar pruebas, se puede usar un único servidor MySQL y hacerle saber al complemento que se trata de un servidor maestro y esclavo, como se muestra abajo. Esto podría ser de ayuda para detectar muchos problemas potenciales con los intercambios de conexión. Sin embargo, tal configuración no será propensa a los problemas causados por la demora de replicación.

Ejemplo #4 Usar un servidor como maestro y esclavo (¡solamente para pruebas!)

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        }
    }
}

El complemento intenta notificarle de configuraciones inválidas. Desde 1.5.0, lanzará una advertencia durante el arranque de PHP si no se puede leer el fichero de configuración, está vacío, o falló el análisis de JSON. Según la configuración de PHP, estos errores podrían aparecer únicamente en algunos ficheros log. Se hace una validación extra cuando se establece una conexión y se buscan secciones válidas en el fichero de configuración. Establecer mysqlnd_ms.force_config_usage podría ayudar a depurar una configuración incorrecta. Véanse también las notas de depuración del fichero de configuración.

Guía rápida y ejemplos
Ejecutar sentencias
Guía rápida y ejemplos


Ejecutar sentencias

El complemento se puede usar con cualquier extensión de MySQL para PHP (mysqli, mysql, y PDO_MYSQL) que esté compilada para utilizar la biblioteca mysqlnd. PECL/mysqlnd_ms se acopla a la biblioteca mysqlnd. No cambia la API o el comportamiento de estas extensiones.

Siempre que se esté abriendo una conexión a MySQL, el complemento compara el valor del parámetro 'host' de la llamada de conexión con los nombres de las secciones del fichero de configuración específico del complemento. Si, por ejemplo, el fichero de configuración específico del complemento tiene una sección myapp , se ha de hacer referencia a ésta para abrir una conexión a MySQL para el anfitrión myapp

Ejemplo #1 Fichero de configuración específico del complemento (mysqlnd_ms_plugin.ini)

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27",
                "port": "3306"
            }
        }
    }
}

Ejemplo #2 Abrir una conexión con equilibrado de carga

<?php
/* El equilibrado de carga sigue las reglas de la sección "myapp" del fichero de configuración del complemento */
$mysqli = new mysqli("myapp", "nombre_usuario", "contraseña", "base_datos");
$pdo = new PDO('mysql:host=myapp;dbname=base_datos', 'nombre_usuario', 'contraseña');
$mysql = mysql_connect("myapp", "nombre_usuario", "contraseña");
?>

Los ejemplos de conexión de arriba tendrán equilibrio de carga. El complemento enviará sentencias de sólo lectura al servidor esclavo de MySQL con la IP 192.168.2.27 y escuchará el puerto 3306 para la conexión cliente de MySQL. Todas las demás sentencias serán dirigidas al servidor maestro de MySQL que se ejecuta en el anfitrión localhost. Si se ejecuta en sistemas operativos de tipo Unix, el maestro sobre localhost aceptará conexiones cliente de MySQL en el socket de dominio Unix /tmp/mysql.sock, mientras que TCP/IP es el puerto predeterminado en Windows. El complemento usará el nombre de usuario nombre_usuario y la contraseña contraseña para conectarse a cualquier servidor de MySQL incluido en la sección myapp del fichero de configuración del complemento. Una vez realizada la conexión, el complemento seleccionará base_datos como el esquema actual.

El nombre de usuario, la contraseña y el nombre del esquema son tomados de las llamadas a la API de conexión y usados por todos los servidores. En otras palabras: se deben usar los mismos nombre de usuario y contraseña para cada servidor MySQL incluido en una sección del fichero de configuración del comlemento. No es una limitación generalizada. A partir de PECL/mysqlnd_ms 1.1.0, es posible establecer username y password para cualquier servidor del fichero de configuración del complemento, para utilizarlos en lugar de las credenciales pasadas a la llamada a la API.

El complemento no cambia la API para ejecutar sentencias. La división de lectura-escritura se desarrolla aparte. El siguiente ejemplo asume que no existe una demora de replicación significante entre el maestro y el esclavo.

Ejemplo #3 Ejecutar sentencias

<?php
/* El equilibrado de carga sigue las reglas de la sección "myapp" del fichero de configuración del complemento */
$mysqli = new mysqli("myapp", "nombre_usuario", "contraseña", "base_datos");
if (mysqli_connect_errno())
  /* Por supuesto, su manejo de errores es más agradable... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* Las sentencias se ejcutarán en el maestro */
if (!$mysqli->query("DROP TABLE IF EXISTS test")) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}
if (!$mysqli->query("CREATE TABLE test(id INT)")) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}
if (!$mysqli->query("INSERT INTO test(id) VALUES (1)")) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}

/* solo lectura: la sentencia se ejecutará en un esclavo */
if (!($resultado = $mysqli->query("SELECT id FROM test")) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
} else {
 $fila = $resultado->fetch_assoc();
 $resultado->close();
 printf("El esclavó devolvió el ID = '%s'\n", $fila['id'];
}
$mysqli->close();
?>

El resultado del ejemplo sería algo similar a:

El esclavó devolvió el ID = '1'

Puesta en marcha
Estado de la conexión
Guía rápida y ejemplos


Estado de la conexión

El complemento cambia la semántica de un gestor de conexión de MySQL para PHP. Un gestor de conexión representa una agrupación de conexiones, en lugar de una única conexión de red cliente-servidor de MySQL. La agrupación de conexiones consiste en una conexión maestra, y opcionalmente cualquier número de conexiones esclavas.

Cada conexión de la agrupación de conexiones tiene su propio estado. Por ejemplo, las variables SQL de usuario, las tablas temporales y las transacciones, son parte del estado. Se puede encontrar un listado completo con los elementos que pertenecen al estado de una conexión en los conceptos de la documentación de agrupación e intercambio de conexiones. Si el complemento decide intercambiar conexiones para equilibrar la carga, a la aplicación se le podría proporcionar una conexión que tuviera un estado diferente. Las aplicaciones deben considerar esto.

Ejemplo #1 Configuración del complemento con un esclavo y un maestro

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27",
                "port": "3306"
            }
        }
    }
}

Ejemplo #2 Problema: estado de conexión y variables SQL de usuario

<?php
$mysqli = new mysqli("myapp", "nombre_usuario", "contraseña", "base_datos");
if (!$mysqli)
  /* Por supuesto, su manejo de errores es más agradable... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* Conexión 1, la conexión vincula una variable SQL de usuario, no se ejecuta ningún SELECT en el maestro */
if (!$mysqli->query("SET @myrole='master'")) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}

/* Conexión 2, se ejecuta en el esclavo a causa de SELECT */
if (!($resultado = $mysqli->query("SELECT @myrole AS _role"))) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
} else {
 $fila = $resultado->fetch_assoc();
 $resultado->close();
 printf("@myrole = '%s'\n", $fila['_role']);
}
$mysqli->close();
?>

El resultado del ejemplo sería:

@myrole = ''

El ejemplo abre una conexión con equilibrio de carga y ejecuta dos sentencias. La primera sentencia SET @myrole='master' no comienza con la cadena SELECT. Por lo tanto, el complemento no la reconoce como una consulta de solo lectura que se ejecutaría en un esclavo. El complemento ejecuta la sentencia en una conexión al maestro. La sentencia establece una variable SQL de usuario que está vinculada a la conexión con el maestro. El estado de la conexión maestra ha sido cambiado.

La siguiente sentencia es SELECT @myrole AS _role. El complemento la reconoce como una consulta de solo lectura y la envía al esclavo. La sentencia se ejecuta en una conexión al esclavo. Esta segunda conexión no tiene ninguna variable SQL de usuario vinculada a ella. Tiene un estado diferente a la primera conexión al maestro. La variable SQL de usuario no está establecida. El script del ejemplo imprime @myrole = ''.

Es responsabilidad del desarrollador de la apliación ocuparse del estado de la conexión. El complemento no monitoriza todas las actividades de cambio de estado. La monitorización de todos los casos posibles sería una tarea intensiva de la CPU, si es que esta tarea pudiera ser realizada.

Los problemas se pueden evitar fácilmente usando sugerencias SQL.

Ejecutar sentencias
Sugerencias SQL
Guía rápida y ejemplos


Sugerencias SQL

Las sugerencias SQL pueden forzar a una consulta a elegir un servidor específico de la agrupación de conexiones. Proporcionan al complemento una recomendación para utilizar un servidor indicado, lo que puede resolver problemas causados por intercambios de conexión y estados de conexión.

Las sugerencias SQL son comentarios que siguen el estándar. Ya que los comentarios SQL son ignorados por sistemas de procesamiento SQL, no interfieren con otros programas como el Servidor MySQL, el Proxy MySQL, o un cortafuegos.

El complemento admite tres sugerencias SQL: La sugerencia MYSQLND_MS_MASTER_SWITCH hace que el complemento ejecute una sentencia en el maestro, MYSQLND_MS_SLAVE_SWITCH fuerza el uso del esclavo, y MYSQLND_MS_LAST_USED_SWITCH ejecutará una sentencia en el mismo servidor que se utilizó con la sentencia anterior.

El complemento examina el comienzo de una sentencia para la existencia de una sugerencia SQL. Las sugerencias SQL solo son reconocidas si aparecen al comienzo de la sentencia.

Ejemplo #1 Configuración del complemento con un esclavo y un maestro

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27",
                "port": "3306"
            }
        }
    }
}

Ejemplo #2 Sugerencias SQL para evitar el intercambio de conexión

<?php
$mysqli = new mysqli("myapp", "nombre_usuario", "contraseña", "base_datos");
if (mysqli_connect_errno())
  /* Por supuesto, su manejo de errores es más agradable... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* Conexión 1, la conexión vincula una variable SQL de usuario, no se ejecuta ningún SELECT en el maestro */
if (!$mysqli->query("SET @myrole='master'")) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}

/* Conexión 1, se ejecuta en el maestro debido a la sugerencia SQL */
if (!($resultado = $mysqli->query(sprintf("/*%s*/SELECT @myrole AS _role", MYSQLND_MS_LAST_USED_SWITCH)))) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
} else {
 $fila = $resultado->fetch_assoc();
 $resultado->close();
 printf("@myrole = '%s'\n", $fila['_role']);
}
$mysqli->close();
?>

El resultado del ejemplo sería:

@myrole = 'master'

En el ejemplo de arriba, el uso de MYSQLND_MS_LAST_USED_SWITCH evita el intercambio de sesión desde el maestro al esclavo al ejecutar la sentencia SELECT.

Las sugerencias SQL también se pueden usar para ejecutar sentencias SELECT en el servidor maestro de MySQL. Esto podría ser necesario si los servidores esclavos de MySQL están normalmente detrás del maestro, pero no se necesitan datos actuales del clúster.

En la versión 1.2.0, el concepto de nivel de servicio ha sido introducido para dirigir casos en los que no son necesarios datos actuales. El uso de un nivel de servicio requiere menos atención y elimina la necesidad de usar sugerencias SQL para este caso. Se puede encontrar más información más abajo en la sección de nivel de servicio y consistencia.

Ejemplo #3 Enfrentarse a la demora de replicación

<?php
$mysqli = new mysqli("myapp", "nombre_usuario", "contraseña", "base_datos");
if (!$mysqli)
  /* Por supuesto, su manejo de errores es más agradable... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* Forzar el uso del maestro, el maestro siempre tiene datos recientes y actuales */
if (!$mysqli->query(sprintf("/*%s*/SELECT critical_data FROM important_table", MYSQLND_MS_MASTER_SWITCH))) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}
?>

Un caso de uso puede incluir la creación de tablas en un esclavo. Si no se proporciona una sugenrencia SQL, el complemento enviará las sentencias CREATE e INSERT al maestro. Utilice la sugerencia SQL MYSQLND_MS_SLAVE_SWITCH si quiere ejecutar tales sentencias en un esclavo, por ejemplo, para construir tablas de informes temporales.

Ejemplo #4 Creación de una tabla en un esclavo

<?php
$mysqli = new mysqli("myapp", "nombre_usuario", "contraseña", "base_datos");
if (!$mysqli)
  /* Por supuesto, su manejo de errores es más agradable... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* Forzar el uso del esclavo */
if (!$mysqli->query(sprintf("/*%s*/CREATE TABLE informes_esclavo(id INT)", MYSQLND_MS_SLAVE_SWITCH))) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}
/* Continuar usando esta conexión esclava en particular */
if (!$mysqli->query(sprintf("/*%s*/INSERT INTO informes_esclavo(id) VALUES (1), (2), (3)", MYSQLND_MS_LAST_USED_SWITCH))) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}
/* ¡No usar MYSQLND_MS_SLAVE_SWITCH, ya que permitiría el intercambio con otro esclavo! */
if ($resultado = $mysqli->query(sprintf("/*%s*/SELECT COUNT(*) AS _num FROM informes_esclavo", MYSQLND_MS_LAST_USED_SWITCH))) {
  $fila = $resultado->fetch_assoc();
  $resultado->close();
  printf("Hay %d filas en la tabla 'informes_esclavo'", $fila['_num']);
} else {
  printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}
$mysqli->close();
?>

La sugerencia SQL MYSQLND_MS_LAST_USED prohíbe el intercambio de una conexión, por lo que fuerza el uso de la conexión utilizada anteriormente.

Estado de la conexión
Transacciones
Guía rápida y ejemplos


Transacciones

La versión actual del complemento no es segura con transacciones de forma predeterminada, ya que no considera su ejecución en ningún caso. Las transacciones SQL son unidades de trabajo para ejecutarlas en un único servidor. El complemento no siempre sabe cuándo comienza y cuándo finaliza una unidad de trabajo. Por lo tanto, el complemento podría decidir intercambiar conexiones en mitad de una transacción.

Ningún tipo de equilibrador de carga de MySQL puede detectar los límites de una transacción sin ningún tipo de sugerencia por parte de la aplicación.

Se pueden usar sugerencias SQL para superar esta limitación. De forma alternativa, se puede activar la monitorización de llamadas a la API de transacciones. En el último caso, de deben usar llamadas a la API solamente para controlar transacciones. Véase más abajo.

Ejemplo #1 Configuración del complemento con un esclavo y un maestro

[myapp]
{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27",
                "port": "3306"
            }
        }
    }
}

Ejemplo #2 Usar sugerencias SQL para transacciones

<?php
$mysqli = new mysqli("myapp", "nombre_usuario", "contraseña", "base_datos");
if (!$mysqli)
  /* Por supuesto, su manejo de errores es más agradable... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* No es un SELECT, se usará el maestro */
if (!$mysqli->query("START TRANSACTION")) {
 /* Por favor, use un manejo de errores mejor en su código */
 die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* ¡Evitar el intercambio de conexión! */
if (!$mysqli->query(sprintf("/*%s*/INSERT INTO test(id) VALUES (1)", MYSQLND_MS_LAST_USED_SWITCH)))) {
 /* Por favor, realice el ROLLBACK apropiado en su código, y no use simplemente 'die' */
 die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
if ($resultado = $mysqli->query(sprintf("/*%s*/SELECT COUNT(*) AS _num FROM test", MYSQLND_MS_LAST_USED_SWITCH)))) {
  $fila = $resultado->fetch_assoc();
  $resultado->close();
  if ($fila['_num'] > 1000) {
   if (!$mysqli->query(sprintf("/*%s*/INSERT INTO events(task) VALUES ('cleanup')", MYSQLND_MS_LAST_USED_SWITCH)))) {
     die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
   }
  }
} else {
 die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
if (!$mysqli->query(sprintf("/*%s*/UPDATE log SET last_update = NOW()", MYSQLND_MS_LAST_USED_SWITCH)))) {
 die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
if (!$mysqli->query(sprintf("/*%s*/COMMIT", MYSQLND_MS_LAST_USED_SWITCH)))) {
 die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

$mysqli->close();
?>

Desde PHP 5.4.0, la biblioteca mysqlnd permite al complemento monitorizar el estado del modo autocommit, si el modo está establecido por llamadas a la API en lugar de usar sentencias SQL como SET AUTOCOMMIT=0. Esto permite que el complemento considere las transacciones. En este caso, es necesario usar sugerencias SQL.

Si se está utlizando PHP 5.4.0 o superior, con las llamadas a la API que habilitan el modo autocommit, y cuando se establece la opción de configuración del complemento trx_stickiness=master, éste puede deshabilitar automáticamente el equilibrado de carga y el intercambio de conexiones para transacciones SQL. Con esta configuración, el complemento detiene el equilibrado de carga si autocommit está deshabilitado, y dirige todas las sentencias al maestro. Esto evita el intercambio de conexiones en mitad de una transacción. Una vez que autocommit es rehabilitado, el complemento inicia de nuevo las sentencias con equilibrado de carga.

La detección de los límites de transacciones basada en API ha sido mejorada con PHP 5.5.0 y PECL/mysqlnd_ms 1.5.0 para cubirir no solo llamadas a mysqli_autocommit(), sino también a mysqli_begin(), mysqli_commit() y mysqli_rollback().

Ejemplo #3 Equilibrado de carga considerando transacciones: el ajuste trx_stickiness

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        },
        "trx_stickiness": "master"
    }
}

Ejemplo #4 Consideración de transacciones

<?php
$mysqli = new mysqli("myapp", "nombre_usuario", "contraseña", "base_datos");
if (!$mysqli)
  /* Por supuesto, su manejo de errores es más agradable... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* Deshabilitar autocommit, el complemento ejecutará todas las sentencias en el maestro */
$mysqli->autocommit(FALSE);

if (!$mysqli->query("INSERT INTO test(id) VALUES (1)")) {
 /* Por favor, realice el ROLLBACK apropiado en su código, y no use simplemente 'die' */
 die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
if ($resultado = $mysqli->query("SELECT COUNT(*) AS _num FROM test")) {
  $fila = $resultado->fetch_assoc();
  $resultado->close();
  if ($fila['_num'] > 1000) {
   if (!$mysqli->query("INSERT INTO events(task) VALUES ('cleanup')")) {
     die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
   }
  }
} else {
 die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
if (!$mysqli->query("UPDATE log SET last_update = NOW()")) {
 die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
if (!$mysqli->commit()) {
 die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* El complemento asume que la transacción ha finalizado e inicia el equilibrado de carga de nuevo */
$mysqli->autocommit(TRUE);
$mysqli->close();
?>

Nota: Requisitos de versión

La opción de configuración del complemento trx_stickiness=master requiere PHP 5.4.0 o superior.

Por favor, observe las restricciones descritas en la sección de conceptos sobre manejo de transacciones.

Sugerencias SQL
Nivel de servicio y consistencia
Guía rápida y ejemplos


Nivel de servicio y consistencia

Nota: Requisitos de versión

Los niveles de servicios han sido introducidos en la versión 1.2.0-alpha de PECL mysqlnd_ms. mysqlnd_ms_set_qos() está disponible con PHP 5.4.0 o superior.

Las diferentes soluciones de clúster MySQL ofrecen diferentes niveles de servicios y de consistencia de datos para sus usuarios. Un clúster de replicación MySQL asíncrono ofrece la consistencia final de forma predeterminada. Una lectura ejecutada en un esclavo asíncrono puede devolver datos actuales, antiguos, o ningún dato, dependiendo de si el esclavo ha replicado todos los conjuntos de cambios del maestro.

Las aplicaciones que utilizan un clúster de replicación MySQL necesitan ser diseñadas para que funcionen correctamente con datos de consistencia final. En algunos casos, sin embargo, los datos antiguos no son aceptables. En estos casos solamente son permitidos ciertos accesos a esclavos o incluso a un maestro para realizar la calidad de servicio requerida del clúster.

A partir de PECL mysqlnd_ms 1.2.0, el complemento puede seleccionar automáticamente nodos de replicación de MySQL que proporcionen consistencia de sesión o consistencia fuerte. La consistencia de sesión significa que un cliente puede leer sus escrituras. Otros clientes pueden ver o no la escritura del cliente. La consistencia fuerte significa que todos los clientes verán todas las escrituras del cliente.

Ejemplo #1 Consistencia de sesión: lectura de sus escrituras

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        }
    }
}

Ejemplo #2 Solicitud de consistencia de sesión

<?php
$mysqli = new mysqli("myapp", "nombre_usuario", "contraseña", "base_datos");
if (!$mysqli)
  /* Por supuesto, su manejo de errores es más agradable... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* división de lecutura-escritura: se usa el maestro */
if (!$mysqli->query("INSERT INTO orders(order_id, item) VALUES (1, 'christmas tree, 1.8m')")) {
  /* Por favor, use un manejo de errores mejor en su código */
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Solicitud de consistencia de sesión: lectura de sus escrituras */
if (!mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_SESSION))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

/* El complemento selecciona un nodo que posee los cambios, aquí: el maestro */
if (!$resultado = $mysqli->query("SELECT item FROM orders WHERE order_id = 1"))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

var_dump($resultado->fetch_assoc());

/* Volver a la consistencia final: se permiten datos antiguos */
if (!mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

/* El complemento seleccina cualquier esclavo, se permiten datos antiguos */
if (!$resultado = $mysqli->query("SELECT item, price FROM specials"))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
?>

Los niveles de servicios se pueden establecer en el fichero de configuración del complemento y en tiempo de ejecución usando mysqlnd_ms_set_qos(). En el ejemplo, la función se usa para forzar la consistencia de sesión (lectura de sus escrituras) para todas las sentencias futuras hasta próximo aviso. La sentencia SELECT de la tabla orders se ejecuta en el maestro para asegurarse de que las escrituras anteriores puedan ser vistas por el cliente. La lógica de la división de lectura-escritura ha sido adaptada para satisfacer el nivel de servicio.

Después de que una aplicación haya leído sus cambios desde la tabla orders, vuelve al nivel de servicio predeterminado, que es la consistencia final. Ésta no pone restricciones al elegir un nodo para la ejecución de sentencias. Por lo tanto, la sentencia SELECT de la tabla specials se ejecuta en un esclavo.

La nueva funcionalidad sustituye el uso de sugerencias SQL y la opción de configuración master_on_write. En muchos casos, mysqlnd_ms_set_qos() es más fácil de usar, más potente y mejora la portabilidad.

Ejemplo #3 Edad máxima/demora del esclavo

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        },
        "failover" : "master"
    }
}

Ejemplo #4 Limitar la demora del esclavo

<?php
$mysqli = new mysqli("myapp", "nombre_usuario", "contraseña", "base_datos");
if (!$mysqli)
  /* Por supuesto, su manejo de errores es más agradable... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* Demora de la lectura desde los esclavos de no más de cuatro segundos */
$ret = mysqlnd_ms_set_qos($mysqli,
         MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL,
         MYSQLND_MS_QOS_OPTION_AGE, 4);

if (!$ret)
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

/* El comlemento elige cualquier esclavo, el cual puede o no poseer los cambios */
if (!$resultado = $mysqli->query("SELECT item, price FROM daytrade"))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

/* Volver a lo predeterminado: usar todos los esclavos y maestros permitidos */
if (!mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
?>

El nivel de servicio de consistencia final se puede usar con un parámetro opcional para establecer la demora máxima de los esclavos elegidos. Si se establece, el complemento comprueba SHOW SLAVE STATUS para todos los esclavos configurados. En el caso del ejemplo, solamente los esclavos para los que Slave_IO_Running=Yes, Slave_SQL_Running=Yes y Seconds_Behind_Master <= 4 sea verdadero, son tenidos en cuenta para la ejecución de la sentencia SELECT item, price FROM daytrade.

La comprobacion de SHOW SLAVE STATUS se realiza de manera transparente desde la perspectiva de las aplicaciones. Los errores, si los hubiera, son notificados como advertencias. No se establecerá ningún error en el gestor de conexión. Incluso si todas las sentencias SQL SHOW SLAVE STATUS ejecutadas por el complemento fallan, la ejecución de las sentencias del usuario no se detienen, dado que la toleracia a fallos del maestro está habilitada. Por lo tanto, no se requieren cambios en la aplicación.

Nota: Operaciones caras y lentas

La comprobación de SHOW SLAVE STATUS para todos los esclavos añade carga adicional a la aplicación. Es una operación en segundo plano cara y lenta. Intente minimizar su uso. Desafortunadamente, un clúster de replicación MySQL no proporciona a los clientes la posibilidad de solicitar una lista de candidatos desde una instancia central. En consecuencia, no existe una manera más eficiente de comprobar la demora de los esclavos.

Por favor, observe las limitaciones y propiedades de SHOW SLAVE STATUS tal y como están explicadas en el manual de referencia de MySQL.

Para evitar que mysqlnd_ms emita una advertencia si no se pudieron encontrar esclavos que se demoren no más que el número de segundos definido con respecto al maestro, es necesario habilitar la tolerancia a fallos del maestro en el fichero de configuración del complemento. Si no se pudieron encontrar esclavos y la tolerancia a fallos está habilitada, el complemento eligirá un maestro para ejecutar la setencia.

Si no se pudieron encontrar esclavos y la tolerancia a fallos está deshabilitada, el complemento emitirá una advertencia, no ejecutará la sentencia y establecerá un error sobre la conexión.

Ejemplo #5 La tolerancia a fallos no está establecida

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        }
    }
}

Ejemplo #6 No hay esclavos dentro del límite de tiempo

<?php
$mysqli = new mysqli("myapp", "nombre_usuario", "contraseña", "base_datos");
if (!$mysqli)
  /* Por supuesto, su manejo de errores es más agradable... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* Demora de la lectura desde los esclavos de no más de cuatro segundos */
$ret = mysqlnd_ms_set_qos($mysqli,
         MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL,
         MYSQLND_MS_QOS_OPTION_AGE, 4);

if (!$ret)
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

/* El comlemento elige cualquier esclavo, el cual puede o no poseer los cambios */
if (!$resultado = $mysqli->query("SELECT item, price FROM daytrade"))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

/* Volver a lo predeterminado: usar todos los esclavos y maestros permitidos */
if (!mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
?>

El resultado del ejemplo sería:

PHP Warning:  mysqli::query(): (mysqlnd_ms) Couldn't find the appropriate slave connection. 0 slaves to choose from. Something is wrong in %s on line %d
PHP Warning:  mysqli::query(): (mysqlnd_ms) No connection selected by the last filter in %s on line %d
[2000] (mysqlnd_ms) No connection selected by the last filter

Transacciones
IDs de transacción globales
Guía rápida y ejemplos


IDs de transacción globales

Nota: Requisitos de versión

Se ha introducido una inyección de ID de transacciones global en el lado del cliente en la versión 1.2.0-alpha de mysqlnd_ms. Esta característica no es necesaria para clústeres sincrónicos, tales como el Clúster MySQL. Utilícela con clústeres asíncronos tales como la replicación MySQL clásica.

A partir de MySQL 5.6.5-m8, el servidor MySQL introduce los identificadores de transacciones globales internos. La característica del ID de transacciones global interno está soportada por PECL/mysqlnd_ms 1.3.0-alpha o posterior.

PECL/mysqlnd_ms puede usar tanto su propia emulación del ID de transacciones global como la característica del ID de transacciones global interna de MySQL 5.6.5-m8 o posterior. Desde la perspectiva del desarrolador, los enfoques del lado del cliente y del lado del servidor ofrecen las mismas características en cuanto a niveles de servicios proporcionados por PECL/mysqlnd_ms. Las diferencias son tratadas en la sección de conceptos.

Esta guía rápida primero demuestra el uso de la emulación interna del ID de transacciones global en el lado del cliente en PECL/mysqlnd_ms antes de mostrar cómo usar su homólogo en el lado del servidor. Este orden asegura que la idea subyacente se trata primero.

La idea y la emulación en el lado del cliente

En su forma más básica, un ID de Transacciones Global (GTID de sus siglas en inglés) es un contador de una tabla del maestro. El contador se incrementa siempre que se consigne una transacción en el maestro. Los esclavos replican la tabla. El contador sirve para dos propósitos. En caso de un fallo del maestro, ayuda al administrador de la base de datos a identificar al esclavo que fue promovido más recientemente como nuevo maestro. Este esclavo es aquel con el valor de contador más alto. Las aplicaciones pueden usar el ID de transacciones global para buscar los esclavos que ya han replicado una escritura en particular (identificada por un ID de transacciones global).

PECL/mysqlnd_ms puede inyectar SQL para cada transacción consignada para incrementar un contador GTID. El ID creado es accesible por la aplicación para poder identificar una operación de escritura de una aplicación. Esto habilita al complemento para proporcionar el nivel de servicio de consistencia de sesión (lectura de sus escrituras) mediante no solamente la consulta a los maestros, sino también a los esclavos que ya han replicado el cambio. La carga de lectura se le quita al maestro.

La emulación del ID de transacciones global en el lado del cliente tiene algunas limitaciones. Por favor, lea la sección de conceptos detenidamente para comprender completamente los principios y las ideas subyacentes antes de usarla en entornos de producción. No es necesario un conocimiento profundo para continuar con esta guía rápida.

Primero, cree una tabla contador en su servidor maestro e inserte un registro en ella. El complemento no asiste en la creación de la tabla. Los administradores de la base de datos deben asegurarse de que existe. Dependiendo del modo de notificación de errores, el complemento ignorará de forma silenciosa la ausencia de la tabla o abandonará.

Ejemplo #1 Crear una tabla contador en el maestro

CREATE TABLE `trx` (
  `trx_id` int(11) DEFAULT NULL,
  `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=latin1
INSERT INTO `trx`(`trx_id`) VALUES (1);

En el fichero de configuración del complemento establezca el SQL para actualizar la tabla del ID de transacciones global usando on_commit en la sección global_transaction_id_injection. Asegúrese de que el nombre de la tabla usado para la sentencia UPDATE está completamente cualificado. En el ejemplo, test.trx se usa para referirse a la tabla trx del esquema (base de datos) test. Use la tabla que se creó en el paso anterior. Es importante establecer el nombre de la tabla completamente cualificado, ya que la conexión donde se realiza la inyección puede usar una base de datos predeterminada diferente. Asegúrese de que al usuario que abra la conexión se le permita ejecutar la sentencia UPDATE.

Habilite la notificación de los errores que pudieran ocurrir cuando mysqlnd_ms realice inyecciones de ID de transacciones global.

Ejemplo #2 Configuración del complemento: SQL para la inyección del GTID en el lado del cliente

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        },
        "global_transaction_id_injection":{
            "on_commit":"UPDATE test.trx SET trx_id = trx_id + 1",
            "report_error":true
        }
    }
}

Ejemplo #3 Inyección transparente del ID de transacciones global

<?php
$mysqli = new mysqli("myapp", "nombre_usuario", "contraseña", "base_datos");
if (!$mysqli)
  /* Por supuesto, su manejo de errores es más agradable... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* modo autoconsigna, transacción en el maestro, el GTID debe ser incrementado */
if (!$mysqli->query("DROP TABLE IF EXISTS test"))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

/* modo autoconsigna, transacción en el maestro, el GTID debe ser incrementado */
if (!$mysqli->query("CREATE TABLE test(id INT)"))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

/* modo autoconsigna, transacción en el maestro, el GTID debe ser incrementado */
if (!$mysqli->query("INSERT INTO test(id) VALUES (1)"))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

/* modo autoconsigna, lectura en el esclavo, sin incremento */
if (!($resultado = $mysqli->query("SELECT id FROM test")))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

var_dump($resultado->fetch_assoc());
?>

El resultado del ejemplo sería:

array(1) {
  ["id"]=>
  string(1) "1"
}

El ejemplo ejecuta tres sentencias en el modo autoconsigna en el maestro, causando tres transacciones en el maestro. Para cada sentencia, el complemento inyectará el UPDATE configurado de forma transparente antes de ejecutar las sentencias SQL del usuario. Cuando finaliza el script, el contador de IDs de transacciones globales en el maestro ha sido incrementado en tres.

La cuarta sentencia SQL ejecutada en el ejemplo, un SELECT, no desencadena un incremento. Solamente las transacciones (escrituras) ejecutadas en un maestro incrementarán el contador GTID.

Nota: SQL para el ID de transacciones global: ¡se busca una solución eficiente!

El SQL usado para la emulación del ID de transacciones global es ineficiente. Está optimizado para la trasnparencia, no para el rendimiento. No lo use para entornos de producción. Por favor, ayude a encontrar una solución eficiente para su inclusión en el manual. Apreciamos su aportación.

Ejemplo #4 Configuración del complemento: SQL para obtener el GTID

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        },
        "global_transaction_id_injection":{
            "on_commit":"UPDATE test.trx SET trx_id = trx_id + 1",
            "fetch_last_gtid" : "SELECT MAX(trx_id) FROM test.trx",
            "report_error":true
        }
    }
}

Ejemplo #5 Obtener el GTID después de la ejecución

<?php
$mysqli = new mysqli("myapp", "nombre_usuario", "contraseña", "base_datos");
if (!$mysqli)
  /* Por supuesto, su manejo de errores es más agradable... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* modo autoconsigna, transacción en el maestro, el GTID debe ser incrementado */
if (!$mysqli->query("DROP TABLE IF EXISTS test"))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

printf("GTID después de la transacción %s\n", mysqlnd_ms_get_last_gtid($mysqli));

/* modo autoconsigna, transacción en el maestro, el GTID debe ser incrementado */
if (!$mysqli->query("CREATE TABLE test(id INT)"))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

printf("GTID después de la transacción %s\n", mysqlnd_ms_get_last_gtid($mysqli));
?>

El resultado del ejemplo sería:

GTID después de la transacción 7
GTID después de la transacción 8

Las aplicaciones pueden preguntar a PECL mysqlnd_ms por un ID de transacciones global que pertenezca a la última operación de escritura realizada por la aplicación. La función mysqlnd_ms_get_last_gtid() devuelve el GTID obtenido cuando se ejecuta la sentencia SQL desde la entrada fetch_last_gtid de la sección global_transaction_id_injection del fichero de configuración del complemento. La función puede ser invocada después de que el GTID haya sido incrementado.

Se aconseja que las aplicaciones no ejecuten la sentencia SQL por sí mismas ya que aumenta el riesgo de que accidentalmente se ocasione un incremento implícito del GTID. También, si se usa la función, es más fácil migrar una aplicación desde una sentencia SQL para obtener un ID de transacciones a otra, por ejemplo, si ningún servidor MySQL incluye el soporte interno para IDs de transacciones globales.

Esta guía rápida muestra una sentencia SQL que devolverá un GTID igual o mayor que el creado por la sentencia anterior. Éste es exactamente el GTID creado por la sentencia anterior si ningún cliente ha incrementado el GTID en el tiempo transcurrido entre la ejecución de la sentencia y el SELECT para obtener el GTID. De otro modo, será mayor.

Ejemplo #6 Configuración del complemento: comprobar un GTID en particular

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        },
        "global_transaction_id_injection":{
            "on_commit":"UPDATE test.trx SET trx_id = trx_id + 1",
            "fetch_last_gtid" : "SELECT MAX(trx_id) FROM test.trx",
            "check_for_gtid" : "SELECT trx_id FROM test.trx WHERE trx_id >= #GTID",
            "report_error":true
        }
    }
}

Ejemplo #7 Nivel de servicio de consistencia de sesión y GTID combinados

<?php
$mysqli = new mysqli("myapp", "nombre_usuario", "contraseña", "base_datos");
if (!$mysqli)
  /* Por supuesto, su manejo de errores es más agradable... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* modo autoconsigna, transacción en el maestro, el GTID debe ser incrementado */
if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT)") ||
    !$mysqli->query("INSERT INTO test(id) VALUES (1)"))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

/* GTID es un identificador para la última escritura */
$gtid = mysqlnd_ms_get_last_gtid($mysqli);

/* Consistencia de sesión (lectura de sus escrituras): intentar leer de los esclavos, no sólo del maestro */
if (false == mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_SESSION, MYSQLND_MS_QOS_OPTION_GTID, $gtid)) {
    die(sprintf("[006] [%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Ejecutar en el maestro o en el esclavo que ha replicado el INSERT */
if (!($resultado = $mysqli->query("SELECT id FROM test"))) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

var_dump($resultado->fetch_assoc());
?>

Un GTID devuelto por mysqlnd_ms_get_last_gtid() se puede usar como una opción para el nivel de servicio de consistencia de sesión. La consistencia de sesión proporciona la lectura de sus escrituras. La consistencia de sesión puede ser solicitada llamando a mysqlnd_ms_set_qos(). En el ejemplo, el complemento ejecutará la sentencia SELECT en el maestro o en un esclavo que ya ha repliacdo el INSERT anterior.

PECL mysqlnd_ms comprobará de forma transparente cada esclavo configurado, si éste ha replicado el INSERT, mediante la comprobación de la tabla GTID de esclavos. La comprobación se realiza ejecutando la sentencia SQL establecida con la opción check_for_gtid de la sección global_transaction_id_injection del fichero de configuración del complemento. Por favor, observe que este es un procedimiento lento y caro. Las aplicaciones deberían intentar usarlo poco y únicamente si la carga de lectura en el maestro es alta.

Uso de la característica del ID de transacciones global en el lado del servidor

Desde MySQL 5.6.5-m8, el sistema de Replicación MySQL introduce los IDs de transacciones globales. Los identificadores de transacciones son automáticamente generados y mantenidos por el servidor. Los usuarios no necesitan ocuparse de ellos. No hay necesidad de configurar ninguna tabla de antemano, ni de configurar on_commit. Ya no es necesaria la emulación en el lado del cliente.

Los clientes puede seguir usando los identificadores de transacciones globales para conseguir la consistencia de sesión al leer desde esclavos de la Replicación MySQL. El algoritmo funciona como está descrito arriba. Se deben configurar diferentes sentencias SQL para fetch_last_gtid y check_for_gtid. Estas sentencias se proporcionan más abajo. Por favor, observe que MySQL 5.6.5-m8 es una versión en desarrollo. Los detalles de la implementación del servidor pueden cambiar en el futuro y requerir la adopción de las sentencias SQL mostradas.

Al utilizar la siguiente configuración, cualquier funcionalidad descrita arriba puede usarse junto con la característica del ID de transacciones global en el lado del servidor. mysqlnd_ms_get_last_gtid() y mysqlnd_ms_set_qos() siguen funcionando como se describió arriba. La única diferencia es que el servidor no utiliza un número de secuencia simple, sino un string que contiene un identificador del servidor y un número de secuencia. Por lo tanto, los usuarios no podrán obtener fáciltmente un orden desde los GTIDs devueltos por mysqlnd_ms_get_last_gtid().

Ejemplo #8 Configuración de complemento: usar la característica del GTID interna de MySQL 5.6.5-m8

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        },
        "global_transaction_id_injection":{
            "fetch_last_gtid" : "SELECT @@GLOBAL.GTID_DONE AS trx_id FROM DUAL",
            "check_for_gtid" : "SELECT GTID_SUBSET('#GTID', @@GLOBAL.GTID_DONE) AS trx_id FROM DUAL",
            "report_error":true
        }
    }
}

Nivel de servicio y consistencia
Integración de una caché
Guía rápida y ejemplos


Integración de una caché

Nota: Requisitos de versión, dependencias y estado

Se puede encontrar más sobre los requisitos de la versión, las dependencias del orden de carga de las extensiones y el estado actual en la sección de conceptos.

Los clústeres de bases de datos pueden proporcionar diferentes niveles de consistencia. A partir de PECL/mysqlnd_ms 1.2.0 es posible acosejar al complemento para que cosidere solamente los nodos del clúster que puedan proporcionar el nivel de consistencia requerido. Por ejemplo, si se usa la Replicación MySQL con su consistencia final a lo ancho del clúster, es posible solicitar la consistencia de sesión (lectura de sus escrituras) en cualquier momento usando mysqlnd_ms_set_quos(). Por favor, vea también la introducción de nivel de servicio y consistencia.

Ejemplo #1 Resumen: calidad del servicio para solicitar la lectura de sus escrituras

/* Solicitud de consistencia de sesión: lectura de sus escrituras */
     if (!mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_SESSION))
     die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

Asumiendo que a PECL/mysqlnd se le ha indicado explícitamente que proporcione un nivel de consistencia no mayor que la consistencia final, es posible reemplazar un acceso de lectura de un nodo de la base de datos por una caché en el lado del cliente usando el tiempo de vida (TTL) como estrategia de invalidación. El nodo de la base de datos y la caché pueden o no servir datos actuales, ya que esto es lo que la consistencia final define.

El reemplazo de un acceso de lectura de un nodo de la base de datos por un acceso a la caché local puede mejorar el redimiento general y disminuir la carga de la base de datos. Si la entrada de la caché es reutilizada por otro cliente que no sea el que creó dicha entrada, se guaradará un acceso a la base de datos, por lo que se disminuye la carga de la base de datos. Además, el rendimiento del sistema se puede mejorar si el cálculo y la entrega de una consulta a la base de datos es más baja que un acceso a la caché local.

Ejemplo #2 Configuración del complemento: sin entradas especiales para la caché

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        },
    }
}

Ejemplo #3 Almacenar en caché una petición a un servidor

<?php
$mysqli = new mysqli("myapp", "nombre_usuario", "contraseña", "base_datos");
if (!$mysqli)
  /* Por supuesto, su manejo de errores es mejor... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT)") ||
    !$mysqli->query("INSERT INTO test(id) VALUES (1)"))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

/* Explícitamente permite la consistencia final y el almacenamiento en caché (TTL <= 60 segundos) */
if (false == mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL, MYSQLND_MS_QOS_OPTION_CACHE, 60)) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Para que este ejemplo funcione, debemos esperar a que el esclavo se ponga al día. Estilo de fuerza bruta. */
$intentos = 0;
do {
  /* comprobar si el esclavo posee la tabla */
  if ($resultado = $mysqli->query("SELECT id FROM test")) {
    break;
  } else if ($mysqli->errno) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
  }
  /* esperar a que el esclavo se ponga al día */
  usleep(200000);
} while ($intentos++ < 10);

/* La consulta ha sido ejecutada en un esclavo, el resultado está en la caché */
assert($resultado);
var_dump($resultado->fetch_assoc());

/* Servido desde la caché */
$resultado = $mysqli->query("SELECT id FROM test");
?>

El ejemplo muestra cómo usar la caché. Primero, se ha de establecer la calidad del servicio al de consistencia final y permitir explícitamente el almacenamiento en la caché. Esto se lleva a cabo llamando a mysqlnd_ms_set_qos(). Luego, el conjunto de resultados de cada sentencia de solo lectura se almacena en la caché hasta un máximo de segundos según lo permitido por mysqlnd_ms_set_qos().

El TTL real es menor o igual al valor establecido con mysqlnd_ms_set_qos(). El valor pasado a la función establece la edad máxima (en segundos) de los datos proporcionados. Para calcular el valor real del TTL, se comprueba la demora de replicación de un servidor y se resta del valor dado. Si, por ejemplo, la edad máxima es de 60 segundos y el esclavo notifica una demora de 10 segundos, el TTL resultante es de 50 segundos. El TTL se calcula de forma individual para cada consulta de la caché.

Ejemplo #4 Lectura de sus escrituras y almacenamiento en la caché combinados

<?php
$mysqli = new mysqli("myapp", "nombre_usuario", "contraseña", "base_datos");
if (!$mysqli)
  /* Por supuesto, su manejo de errores es mejor... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT)") ||
    !$mysqli->query("INSERT INTO test(id) VALUES (1)"))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

/* Explícitamente permite la consistencia final y el almacenamiento en caché (TTL <= 60 segundos) */
if (false == mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL, MYSQLND_MS_QOS_OPTION_CACHE, 60)) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Para que este ejemplo funcione, debemos esperar a que el esclavo se ponga al día. Estilo de fuerza bruta. */
$intentos = 0;
do {
  /* comprobar si el esclavo posee la tabla */
  if ($resultado = $mysqli->query("SELECT id FROM test")) {
    break;
  } else if ($mysqli->errno) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
  }
  /* esperar a que el esclavo se ponga al día */
  usleep(200000);
} while ($intentos++ < 10);

assert($resultado);

/* La consulta ha sido ejecutada en un esclavo, el resultado está en la caché */
var_dump($resultado->fetch_assoc());

/* Servido desde la caché */
if (!($resultado = $mysqli->query("SELECT id FROM test")))
 die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
var_dump($resultado->fetch_assoc());

/* Actualización en el maestro */
if (!$mysqli->query("UPDATE test SET id = 2"))
 die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

/* Lectura de sus escrituras */
if (false == mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_SESSION)) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Obtener los últimos datos */
if (!($resultado = $mysqli->query("SELECT id FROM test")))
 die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
var_dump($resultado->fetch_assoc());
?>

La calidad del servicio se puede cambiar en cualquier momento para evitar el uso de la caché. Si fuera necesario, se podría cambiar para leer sus escrituras (consistencia de sesión). En este caso, la caché no se usará y se leerán datos actuales.

IDs de transacción globales
Tolerancia a fallos
Guía rápida y ejemplos


Tolerancia a fallos

Por omisión, el complemento no intenta la tolerancia a fallos si falla al conectarse a un equipo anfitrión. Esto evita los problemas relacionados con el estado de la conexión. Se recomienda tratar de forma manual los errores de conexión de una manera similar a una transacción fallida. Se debería capturar el error, reconstruir el estado de la conexión y volver a ejecutar la consulta tal como se muestra abajo.

Si el estado de la conexión no es la cuestión, de forma alternativa se puede habilitar la tolerancia a fallos automática y silenciosa. Dependiendo de la configuración, la tolerancia a fallos automática y silenciosa se intentará en el maestro antes de emitir un error, o se intentará conectar a otros esclavos, dada la consulta permitida para ello, antes de intentar conectarse a un maestro. Ya que la tolerancia a fallos automática no es infalible, no se trata en esta guía rápida. En su lugar, los detalles se proporcionan en la sección de conceptos posterior.

Ejemplo #1 Tolerancia a fallos manual, opcional automáticia

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "simulate_slave_failure",
                "port": "0"
            },
            "slave_1": {
                "host": "127.0.0.1",
                "port": 3311
            }
        },
       "filters": { "roundrobin": [] }
    }
 }

Ejemplo #2 Tolerancia a fallos manual

<?php
$mysqli = new mysqli("myapp", "nombre_usuario", "contraseña", "base_datos");
if (!$mysqli)
  /* Por supuesto, su manejo de errores es mejor... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

$sql = "SELECT 1 FROM DUAL";

/* el manejo de errores debería realizarse sin tener en cuenta el complemento */
if (!($res = $enlace->query($sql))) {
  /* específico del complemento: comprobar errores de conexión */
  switch ($enlace->errno) {
    case 2002:
    case 2003:
    case 2005:
      printf("Error de conexión - ¡intentando con el siguiente esclavo!\n");
      /* el equilibrador de carga elegirá el siguiente esclavo */
      $res = $enlace->query($sql);
      break;
    default:
      /* no hay errores de conexión, la tolerancia a fallos es poco probable que ayude */
      die(sprintf("SQL error: [%d] %s", $enlace->errno, $enlace->error));
      break;
  }
}
if ($res) {
  var_dump($res->fetch_assoc());
}
?>

Integración de una caché
Particionamiento y fragmentación
Guía rápida y ejemplos


Particionamiento y fragmentación

La agrupación (clustering) de bases de datos se realiza por varias razones. Los clúster pueden mejorar la disponibilidad, la tolerancia a fallos, e incrementar el rendimiento aplicando un enfoque de "divide y vencerás", ya que el trabajo se distribuye en varias máquinas. La agrupación (clustering) a veces se combina con particionamiento y fragmentación para dividir aún más una tarea compleja grande en unidades más pequeñas y manejables.

El complemento mysqlnd_ms pretende dar soporte a una gran variedad de clústeres de bases de datos de MySQL. Algunos sabores de clúster de bases de datos de MySQL poseen métodos internos para el particionamiento y la fragmentacion, los cuales podrían ser transparentes de usar. El complemetno admite los dos enfoques más comunes: filtración de tabla de Replicación de MySQL, y la fragmentación (particionamiento basada en aplicación).

La Replicación de MySQL admite el particionamiento como filtros que permiten crear esclavos que replican todas las bases de datos o específicas del maestro, o tablas. Es entonces responsabilidad de la aplicación elegir un esclavo según las reglas de los filtros. Se puede usar el filtro node_groups de mysqlnd_ms para dar soporte manual a esto, o usar el filtro de tablas experimental.

El particionamiento manual o fragmentación está soportado a través del filtro de agrupación de nodos, y de las sugerencias SQL a partir de 1.5.0. El filtro node_groups permite asignar un nombre simbólico a un grupo de servidores maestros y esclavos. En el ejemplo, el maestro master_0 y slave_0 forman un grupo con el nombre de Partition_A. Es su responsabilidad decidir lo que haga un grupo. Por ejemplo, se podrían usar grupos de nodos para la fragmentación, y usar los nombres de grupos para direccionar fragmentos como Shard_A_Range_0_100.

Ejemplo #1 Clúster de grupos de nodos

{
  "myapp": {
       "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "simulate_slave_failure",
                "port": "0"
            },
            "slave_1": {
                "host": "127.0.0.1",
                "port": 3311
            }
        },
        "filters": {
            "node_groups": {
                "Partition_A" : {
                    "master": ["master_0"],
                    "slave": ["slave_0"]
                }
            },
           "roundrobin": []
        }
    }
}

Ejemplo #2 Particionamiento manual usando sugerencias SQL

<?php
function select($mysqli, $msj, $sugerencia = '') {
  /* Nota: prueba débil, dos conexiones a dos servidores podrían tener el mismo id de hilo */
  $sql = sprintf("SELECT CONNECTION_ID() AS _thread, '%s' AS _hint FROM DUAL", $msj);
  if ($sugerencia) {
    $sql = $sugerencia . $sql;
  }
  if (!($res = $mysqli->query($sql))) {
    printf("[%d] %s", $mysqli->errno, $mysqli->error);
    return false;
  }
  $fila =  $res->fetch_assoc();
  printf("%d - %s - %s\n", $fila['_thread'], $fila['_hint'], $sql);
  return true;
}

$mysqli = new mysqli("myapp", "user", "password", "database");
if (!$mysqli)
  /* Por supuesto, su manejo de errores es mejor... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* Permitir siempre esclavos */
select($mysqli, "slave_0");
select($mysqli, "slave_1");

/* solamente permtir los servidores del grupo de nodos "Partition_A" */
select($mysqli, "slave_1", "/*Partition_A*/");
select($mysqli, "slave_1", "/*Partition_A*/");
?>
6804 - slave_0 - SELECT CONNECTION_ID() AS _thread, 'slave1' AS _hint FROM DUAL
2442 - slave_1 - SELECT CONNECTION_ID() AS _thread, 'slave2' AS _hint FROM DUAL
6804 - slave_0 - /*Partition_A*/SELECT CONNECTION_ID() AS _thread, 'slave1' AS _hint FROM DUAL
6804 - slave_0 - /*Partition_A*/SELECT CONNECTION_ID() AS _thread, 'slave1' AS _hint FROM DUAL

Por omisión, el complemento usará todos los servidores maestros y esclavos configurados para la ejecución de consultas. Pero si una consulta comienza con una sugerencia SQL como /*node_group*/, el complemento considerará únicamente los servidores enumerados en node_group para la ejecución de consultas. Así, las consultas SELECT prefijadas con /*Partition_A*/ úncamente serán ejecutadas en slave_0.

Tolerancia a fallos
Conceptos
Guía rápida y ejemplos


Conceptos

Tabla de contenidos

  • Arquitectura
  • Agrupación e intercambio de conexiones
  • Manejo de transacciones
  • Manejo de errores
  • Errores transitorios
  • Tolerancia a fallos
  • Equilibrado de carga
  • División de lectura-escritura
  • Filtro
  • Nivel de servicio y consistencia
  • IDs de transacciones globales
  • Integración de una caché
  • Clústeres admitidos

Aquí se explican la arquitectura y los conceptos relacionados con este complemento, y se describe el impacto que la replicación MySQL y este complemento tienen en tareas de desarrollo al usar un clúster de bases de datos. Es necesario leer y comprender estos conceptos para poder utilizar este complemento satisfactoriamente.

Particionamiento y fragmentación
Arquitectura
mysqlnd_ms


Arquitectura

El complemento de replicación y equilibrado de carga de mysqlnd está implementado como una extensión de PHP. Está escrito en C y opera bajo PHP. Durante el arranque del intérprete de PHP, en la fase de inicialización de módulos del motor de PHP, es registrado como un complemento de mysqlnd para reemplazar los métodos en C de mysqlnd seleccionados.

Durante la ejecución de PHP, inspecciona las consultas enviadas desde mysqlnd (PHP) al servidor MySQL. Si una consulta se reconoce como de solo lectura, será enviada a uno de los servidores esclavos configurados. Una sentencia es considerada de solo lectura si comienza con SELECT, con la sugerencia SQL /*ms=slave*/, o se ha elegido un esclavo para ejecutar la consulta anterior y la consulta comienza con la sugerencia SQL /*ms=last_used*/. En los demás casos, la consulta será enviada al servidor maestro de replicación MySQL.

Para una mejor portabilidad, las aplicacioines deberían usar las constantes predefinidas de mysqlnd_ms MYSQLND_MS_MASTER_SWITCH, MYSQLND_MS_SLAVE_SWITCH, y MYSQLND_MS_LAST_USED_SWITCH en lugar de sus valores literales, tales como /*ms=slave*/.

El complemento maneja la apertura y el cerre de conexiones de bases de datos a los servidores maestros y esclavos. Desde el punto de vista de la aplicación, continua existiendo solamente un gestor de conexión. Sin embargo, internamente, este gestor de conexión público representa una agrupación de conexiones de red que son gestionadas por el complemento. Éste delega las consultas al sevidor maestro y a los esclavos usando múltiples conexiones.

Las conexiones a la bases de datos tienen un estado que consiste en, por ejemplo, el estado de las transacciones, configuración de las transacciones, configuración del conjunto de caracters, y tablas temporales. El complemento intentará mantener el mismo estado entre todas las conexiones internas, siempre que se pueda realizar de una forma automática y transparente. En los casos donde sencillamente no es posible mantener el estado entre conexiones, como al usar BEGIN TRANSACTION, el complemento lo deja en manos del usuario.

Conceptos
Agrupación e intercambio de conexiones
Conceptos


Agrupación e intercambio de conexiones

El complemento de replicación y equilibrado de carga cambia la semántica de un gestor de conexión de MySQL para PHP. Las APIs existentes de las extensiones de MySQL para PHP (mysqli, mysql, y PDO_MYSQL) no son cambiadas en la manera de que no son añadidas ni eliminadas funciones. Pero su comportamiento cambia al utilizar el complemento. Las aplicaciones existentes no necesitan ser adaptadas a la nueva API, aunque podrían requerir ser modificadas a causa de los cambios de comportamiento.

El complemento rompe la relación uno-a-uno entre un gestor de conexión de mysqli, mysql, y PDO_MYSQL y una conexión de red MySQL. Un gestor de conexión de mysqli, mysql, y PDO_MYSQL representa una agrupación local de conexiones para los servidores maestros de replicación MySQL y esclavos de replicación MySQL configurados. El complemento redirige las consultas a los servidores maestros y esclavos. En algún momento, el mismo gestor de conexión de PHP podría apuntar al servidor maestro de MySQL. Después, podría apuntar a uno de los servidores esclavos o todavía al maestro. La manipulación y el reemplazamiento de la conexión de red referida por un gestor de conexión de MySQL para PHP no es una operación transparente.

Cada conexión MySQL tiene un estado. El estado de la conexión en la agrupación de conexiones del complemento puede diferir. Siempre que el complemento cambie de una conexión de cable a otra, el estado actual de la conexión del usuario puede cambiar. Las aplicaciones deben considerar esto.

La siguiente lista muestra en qué consiste el estado de conexión. La lista podría no ser completa.

  • Estado de transacción
  • Tablas temporales
  • Bloqueos de tablas
  • Variables de sistema de sesión y variables de usuario de sesión
  • La base de datos actual establecida mediante USE y otros estados de comandos SQL encadenados
  • Sentencias preparadas
  • Variables HANDLER
  • Bloqueos adquiridos con GET_LOCK()

EL intercambio de conexiones ocurre justo antes de la ejecución de las consultas. El complemento no intercambia la conexión actual hasata que sea ejecutada la siguiente sentencia.

Nota: Sobre la replicación

Véase también el capítulo sobre las » características de la replicación y temas relacionados del manual de referencia de MySQL. Algunas restricciones pueden no estar relacionadas con el complemento de PHP, pero son propiedades del sistema de replicación de MySQL.

Mensajes de difusión

La filosofía de complemento es alinear el estado de las conexiones en la agrupación solamente si el estado está bajo el control total del complemento, o si fuera necesario por razones de seguridad. Solamente una pocas acciones que cambian el estado de la conexión caen en esta categoría.

La siguiente es una lista de las llamadas a la biblioteca cliente de conexiones que cambian el estado, y son difundidas a todas las conexiones abiertas en la agrupación de conexiones.

Si va a ejecutar cualquier llamada enumerada abajo, el complemento iterará a través de todas las conexiones maestras y esclavas abiertas. El bucle continua hasta que todos los servidores hayan sido contactados, y no se detiene si un servidor indica un fallo. Si es posible, el fallo se propagará a la función de la API de usuario llamada, la cual puede ser detectada dependiendo de la función de la biblioteca subyacente que fue desencadenda.

Llamada a la bliblioteca | Notas | Versión
change_user() | Invocada por la llamda a la API de usuario de mysqli_change_user(). También es desencadenada una vez que se reutiliza una conexión persistente de mysqli. | Desde 1.0.0.
select_db | Invocada por las sigientes llamadas a la API de usuario: mysql_select_db(), mysql_list_tables(), mysql_db_query(), mysql_list_fields(), mysqli_select_db(). Observe que USE de SQL no se monitoriza. | Desde 1.0.0.
set_charset() | Invocada por las sigientes llamadas a la API de usuario: mysql_set_charset(). mysqli_set_charset(). Observe que SET NAMES de SQL no se monitoriza. | Desde 1.0.0.
set_server_option() | Invocada por las sigientes llamadas a la API de usuario: mysqli_multi_query(), mysqli_real_query(), mysqli_query(), mysql_query(). | Desde 1.0.0.
set_client_option() | Invocada por las sigientes llamadas a la API de usuario: mysqli_options(), mysqli_ssl_set(), mysqli_connect(), mysql_connect(), mysql_pconnect(). | Desde 1.0.0.
set_autocommit() | Invocada por las sigientes llamadas a la API de usuario: mysqli_autocommit(), PDO::setAttribute(PDO::ATTR_AUTOCOMMIT). | Desde 1.0.0. PHP >= 5.4.0.
ssl_set() | Invocada por las sigientes llamadas a la API de usuario: mysqli_ssl_set(). | Desde 1.1.0.

Difusión y conexiones retardadas

El complemento no delega o "recuerda" todas las configuraciones para aplicarlas a conexiones abiertas en el futuro. Es importante recordar esto si se usan conexiones retardadas. Las conexiones retardadas son conexiones que no se abren antes de que el cliente envíe la primera conexión. El uso de conexiones retardadas es la acción predeterminada del complemento.

Cada una de las siguientes llamadas a la biblioteca de conexiones cambia el estado, y su ejecución es recordada para un uso posterior cuando se abren las conexiones retardadas. Esto ayuda a asegurarse de que los estados de conexión de todas las conexiones de la agrupación de conexiones sean equiparables.

Llamada a la biblioteca | Notas | Versión
change_user() | Usuario, contraseña y base de datos recordados para un uso posterior. | Desde 1.1.0.
select_db | Bases de datos recordada par un uso posterior. | Desde 1.1.0.
set_charset() | Las llamadas a set_client_option(MYSQL_SET_CHARSET_NAME, charset) sobre conexiones retardadas aseguran que charset será utilizado una vez abierta la conexión retardada. | Desde 1.1.0.
set_autocommit() | Añade SET AUTOCOMMIT=0|1 a la lista de comandos 'init' en una conexión retardada usando set_client_option(MYSQL_INIT_COMMAND, "SET AUTOCOMMIT=...%quot;). | Desde 1.1.0. PHP >= 5.4.0.
Precaución

Estado de la conexión

El estado de la conexión no sólo se cambia mediante las llamadas a la API. Incluso si PECL mysqlnd_ms monitoriza todas las llamadas a la API, la aplicación aún deben considerarlo. En última instancia, es responsabilidad de las aplicaciones guardar el estado de la conexión, si fuera necesario.

Conjunto de caracteres y escape de cadenas

Debido al uso de conexiones retardadas, las cuales se emplean predeterminadamente, puede ocurrir que una aplicación intente escapar una cadena para usarla dentro de sentencias SQL antes de que una conexión haya sido establecida. En este caso, no es posible escapar la cadena. La función de escapado de cadenas no conoce el conjunto de caracteres a usar antes de que una conexión haya sido establecida.

Para superar este problema, el nuevo ajuste de configuración server_charset se introdujo en la versión 1.4.0.

Se debe prestar atención al escapar cadenas con ciertos conjuntos de caracteres si no es usando el resultado en una conexión que utilice un conjunto de caracteres diferente. Observe que PECL/mysqlnd_ms manipula las conexiones y que una conexión a nivel de aplicación representa una agrupación de múltiples conexiones donde todas pueden tener diferentes conjuntos de caracteres predeterminados. Se recomienda configurar los servidores involucrados para que utilicen el mismo conjunto de caracteres predeterminado. El ajuste de configuración server_charset también ayuda con esta situación. Si se usa server_charset, el complemento establecerá el conjunto de caracteres dado en todas las conexiones recientemente abiertas.

Arquitectura
Manejo de transacciones
Conceptos


Manejo de transacciones

El manejo de transacciones ha cambiado de manera fundamental. Una transacción SQL es una unidad de trabajo que se ejecuta en un servidor de bases de datos. La unidad de trabajo consiste en una o más sentencias SQL.

De manera predeterminada, el complemento no considera las transacciones SQL. El complemento podría intercambiar conexiones para equilibrar la carga en cualquier momento. Los intercambios de conexión puede ocurrir en mitad de una transacción. Esto va contra la naturaleza de una transacción SQL. De manera predeterminada, el complemento no es seguro con transacciones.

A cualquier tipo de equilibrador de carga de MySQL se le debe indicar el comienzo y el final de una transacción. Esto se puede realizar implícitamente monitorizando las llamadas a la API o usando sugerencias SQL. El complemento admite ambas opciones, dependiendo de la versión de PHP. La monitorización de la API requiere PHP 5.4.0 o posterior. El complemento, al igual que cualquier otro equilibrador de carga de MySQL, no puede detectar los límites de una transacción basada en el Protocolo Cliente Servidor de MySQL. Por lo tanto, la consideración del equilibrado de carga de transacciones totalmente transparente no es posible. La opción menos intrusiva es la monitorización de la API, que requiere pocos o ningún cambio en la aplicación, dependiendo de la misma.

Se pueden encontrar ejemplos del uso de sugerencias SQL o de la monitorización de la API en la sección de ejemplos. Los detalles trás la monitorización de la API, la cual hace que el complemento considere las transacciones, están descritos abajo.

Desde PHP 5.4.0, la biblioteca mysqlnd permite al complemento sobrescribir la llamada a set_autocommit() de la API en C de la biblioteca, para detectar el estado del modo autocommit.

Las extensiones de MySQL para PHP emiten una consulta (como SET AUTOCOMMIT=0|1), o usan la llamada a la biblioteca mysqlnd set_autocommit() para controlar el ajuste autocommit. Si una extensión hace uso de set_autocommit(), el complemento puede considerar las transacciones. Hacer que el complemento considere transacciones no se puede realizar si se usa SQL para establecer el modo 'autocommit'. La función set_autocommit() de la biblioteca es invocada por las llamadas a la API de mysqli_autocommit() y PDO::setAttribute(PDO::ATTR_AUTOCOMMIT).

La opción de configuración del complemento trx_stickiness=master se puede usar para hacer que el complemento considere las transacciones. De este modo, el complemento detiene el equilibrado de cara si 'autocommit' se deshabilita, y dirige todas las sentencias al maestro hasta que 'autocommit' se habilite.

Una aplicación que no requiera establecer las sugerencias SQL para las transacciones pero que requiera el uso de una monitorización transparente de la API para evitar cambios en la aplicación debe asegurarse de que los ajustes del modo autocommit son cambiados exclusivamente a través de las llamadas a la API enumeradas.

La detección de los límites de transacciones basada en API ha sido mejorada con PHP 5.5.0 y PECL/mysqlnd_ms 1.5.0 para cubirir no solo llamadas a mysqli_autocommit(), sino también a mysqli_begin(), mysqli_commit() y mysqli_rollback().

Agrupación e intercambio de conexiones
Manejo de errores
Conceptos


Manejo de errores

Las aplicaciones que usan PECL/mysqlnd_ms deberían implementar el manejo de errores apropiado para todas las llamadas a la API del usuario. Ya que el complemento cambia la semántica de un gestor de conexión, las llamadas a la API pueden devolver errores inesperados. Si se usa el complemento sobre un gestor de conexión que ya no represeta una conexión de red individual, sino una agrupación de conexiones, se establecerá un código de error y un mensaje de error en el gestor de conexión siempre que ocurra un error en cualquier conexión de red subyacente.

Si se usan conexiones retardadas, que es lo predeterminado, las conexiones no son abiertas hasta que sean necesarias para ejecutar consultas. Por lo tanto, una llamada a la API para la ejecución de una senetencia puede devolver un error de conexion. En el ejemplo de abajo, se provoca un error al intentar ejecutar una sentencia en un esclavo. La apertura de la conexión esclava fallará debido a que el fichero de configuración del complemento incluye un nombre de anfitrión no válido para el esclavo.

Ejemplo #1 Provocar un error de conexión

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "nombre_host_inváido",
            }
        },
        "lazy_connections": 1
    }
}

La activación explícita de conexiones retardadas sólo es con propósito de demostración.

Ejemplo #2 Error de conexión en la ejecución de una consulta

<?php
$mysqli = new mysqli("myapp", "nombre_usuario", "contraseña", "base_datos");
if (mysqli_connect_errno())
  /* Por supuesto, su manejo de errores es más agradable... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* Conexión 1, la conexión vincula una variable SQL de usuario, no se ejecuta ningún SELECT en el maestro */
if (!$mysqli->query("SET @myrole='master'")) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}

/* Conexión 2, se ejecuta en el esclavo a causa de SELECT, provoca un error de conexión */
if (!($resultado = $mysqli->query("SELECT @myrole AS _role"))) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
} else {
 $fila = $resultado->fetch_assoc();
 $resultado->close();
 printf("@myrole = '%s'\n", $fila['_role']);
}
$mysqli->close();
?>

El resultado del ejemplo sería algo similar a:

PHP Warning:  mysqli::query(): php_network_getaddresses: getaddrinfo failed: Name or service not known in %s on line %d
PHP Warning:  mysqli::query(): [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known (trying to connect via tcp://invalid_host_name:3306) in %s on line %d
[2002] php_network_getaddresses: getaddrinfo failed: Name or service not known

Se espera que la aplicaciones manejen los posibles errores de conexión mediante la implementación del manejo de errores apropiado.

Dependiendo del caso en uso, las aplicaciones pueden optar por manejar errores de conexión de forma diferente a otros errores. Los errores de conexión típicos son 2002 (CR_CONNECTION_ERROR) - Can't connect to local MySQL server through socket '%s' (%d), 2003 (CR_CONN_HOST_ERROR) - Can't connect to MySQL server on '%s' (%d) y 2005 (CR_UNKNOWN_HOST) - Unknown MySQL server host '%s' (%d). Por ejemplo, la aplicación podría comprobar los códigos de error y realizar una tolerancia a fallos manual. La filosofía del complemento no ofrece la tolerancia a fallos automática, más allá de la tolerancia a fallos del maestro, ya que no es una operación transaparente.

Ejemplo #3 Provocar un error de conexión

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "invalid_host_name"
            },
            "slave_1": {
                "host": "192.168.78.136"
            }
        },
        "lazy_connections": 1,
        "filters": {
            "roundrobin": [

            ]
        }
    }
}

La activación explícita de conexiones retardadas sólo es con propósito de demostración, ya que el equilibrado de carga es de rotación en oposición al tipo predeterminado aleatorio una vez.

Ejemplo #4 Tolerancia a fallos más básica

<?php
$mysqli = new mysqli("myapp", "nombre_usuario", "contraseña", "base_datos");
if (mysqli_connect_errno())
  /* Por supuesto, su manejo de errores es más agradable... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* Conexión 1, la conexión vincula una variable SQL de usuario, no se ejecuta ningún SELECT en el maestro */
if (!$mysqli->query("SET @myrole='master'")) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}

/* Conexión 2, primer esclavo */
$resultado = $mysqli->query("SELECT VERSION() AS _version");
/* Tolerancia a fallos manual */
if (2002 == $mysqli->errno || 2003 == $mysqli->errno || 2004 == $mysqli->errno) {
  /* Conexión 3, falló la conexión al primer esclavo, se intenta con el siguiente */
  $resultado = $mysqli->query("SELECT VERSION() AS _version");
}

if (!$resultado) {
  printf("ERROR, [%d] '%s'\n", $mysqli->errno, $mysqli->error);
} else {
 /* Los mensajes de error se toman de la conexión 3, por lo que no hay errores */
 printf("SUCCESS, [%d] '%s'\n", $mysqli->errno, $mysqli->error);
 $fila = $resultado->fetch_assoc();
 $resultado->close();
 printf("version = %s\n", $fila['_version']);
}
$mysqli->close();
?>

El resultado del ejemplo sería algo similar a:

[1045] Access denied for user 'nombre_usuario'@'localhost' (using password: YES)
PHP Warning:  mysqli::query(): php_network_getaddresses: getaddrinfo failed: Name or service not known in %s on line %d
PHP Warning:  mysqli::query(): [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known (trying to connect via tcp://invalid_host_name:3306) in %s on line %d
SUCCESS, [0] ''
version = 5.6.2-m5-log

En algunos casos, puede no ser posible la recuperación de forma sencilla de todos los errores que ocurran en todas las conexiones de red a través de un gestor de conexión. Por ejemplo, se asume que un gestor de conexión representa una agrupación de tres conexiones abiertas. Una conexión a un maestro y dos conexiones a los esclavos. La aplicación cambia la base de datos actual usando la llamada a la API de usuario mysqli_select_db(), la cual luego llama a la función de la biblioteca mysqlnd para cambiar el esquema. mysqlnd_ms monitoriza la función e intenta cambiar la base de datos ctual en todas las conexiones para armonizar sus estados. Ahora, se asume que el maestro tiene éxito al cambiar la base de datos, y ambos esclavos fallan. Durante el error inicial del primer esclavo, el complemento establecerá un error apropiado sobre en el gestor de conexión. Y lo mismo se hace cuando falla el segundo esclavo al cambiar la base de datos. El mensaje de error del primer esclavo se pierde.

Tales casos pueden ser depurados comprobando los errores de tipo E_WARNING (véase arriba) o, si no queda otra opción, investigar el registro de depuración y rastreo de mysqlnd_ms.

Manejo de transacciones
Errores transitorios
Conceptos


Errores transitorios

Algunos clústeres de bases de datos distribuidas hacen usan errores transitorios. Un error transitorio es un error temporal que es probable que dessaparezca pronto. Por definición, es seguro para un cliente el ignorar un error transitorio y reintentar la operación fallida en el mismo servidor de bases de datos. El reintento está libre de efectos segundarios. Los clientes no están forzados a abortar su trabajo o recurrir a otro servidor de bases de datos de forma inmediata. Podrían entrar en un bucle de reintentos antes de esperar a que el error desaparezca antes de dejar el servidor de bases de datos. Los errores transitorios pueden ser vistos, por ejemplo, al usar MySQL Cluster. Aunque no están limitados a ninguan solución de clústeres específica per se.

PECL/mysqlnd_ms puede realizar un bucle de reintentos automático en caso de darse un error transitorio. Esto aumento la transparencia de la distribución y, por lo tanto, hace más sencillo migrar una aplicación ejecutando en un único servidor de bases de datos para ejecutar un clúster de servidores de bases de datos sin tener que cambiar el origen de la aplicación.

El bucle de reintentos automáticos repetirá la operación solicitada hasta un número de veces configurable por el usuario y hará una pausa entre intentos por una cantidad de tiempo configurable. Si el error desaparece durante el bucle, la aplicación nunca lo verá. Si no, el error es reenviado a al aplicación para su manejo.

En el ejemplo de abajo se provoca un error de clave duplicada para hacer que el complemento reintente la consulta fallida dos vedes antes de que el error sea pasado a la aplicación. Entre los dos intentos, el complemento duerme durante 100 milisegundos.

Ejemplo #1 Provocar un error transitorio

mysqlnd_ms.enable=1
mysqlnd_ms.collect_statistics=1
{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
       },
       "transient_error": {
          "mysql_error_codes": [
            1062
          ],
          "max_retries": 2,
          "usleep_retry": 100
       }
    }
}

Ejemplo #2 Bucle de reintentos del error transitorio

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (mysqli_connect_errno())
  /* Por supuesto, su manejo de errores es mejor... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT PRIMARY KEY)") ||
    !$mysqli->query("INSERT INTO test(id) VALUES (1))")) {
  printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}

/* El bucle de reintentos es completamente transaparente. Verificar las estadísticas es
 la única manera de conocer algo sobre los reintentos implícitos */
$stats = mysqlnd_ms_get_stats();
printf("Intentos del error transitorio antes del error: %d\n", $stats['transient_error_retries']);

/* Provocar un error de clave duplicada para ver el cambio en las estadísticas */
if (!$mysqli->query("INSERT INTO test(id) VALUES (1))")) {
  printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}

$stats = mysqlnd_ms_get_stats();
printf("Intentos del error transitorio después del error: %d\n", $stats['transient_error_retries']);

$mysqli->close();
?>

El resultado del ejemplo sería algo similar a:

Intentos del error transitorio antes del error: 0
[1062] Duplicate entry '1' for key 'PRIMARY'
Intentos del error transitorio después del error: 2

Ya que la ejecución del bucle de reintentos es transparente desde el punt de vista de los usuarios, el ejemplo comprueba las estadísticas proporcionadas por el complemento para aprender de ellas.

Como muetra el ejemplo, el complemento puede ser instruido para considerar cualquier error transitorio a pesar de la semámtica de los errores de los servidores de bases de datos. El único error que cosidera temporal un stock de servidor MySQL tiene el código de error 1297. Al configurar otror códigos de errores excepto el 1297, asegúrese de que la configuración refleja la semántica de los códigos de error del clúster.

Las siguientes llamadas a las API en C de mysqlnd están monitorizadas por el complemento para
comprobar errores transitorios: query(),
change_user(), select_db(),
set_charset(), set_server_option()
prepare(), execute(),
set_autocommit(),
tx_begin(), tx_commit(),
tx_rollback(), tx_commit_or_rollback().
Las llamadas a la API de usuario correspondientes tienen nombres similares.

El tiemp máximo que el complemento puede dormir durante el bucle de reintentos depende de la función en cuestión. Un bucle de reintentos para query(), prepare() o execute() dormirá hasta max_retries * usleep_retry milisegundos.

Sin embargo, las funciones que controlan el estado de conexión son despachadas para todas las conexiones. Los ajustes del bucle de reintentos están aplicados a cada conexión sobre la cual el comando se está ejecutando. Así, tales funciones podrían interrumpir la ejecución del programa durante más tiempo que una función que se ejecute sobre únicamente un servidor. Por ejemplo, set_autocommit() es despachada para conexiones y podría dormir hasta (max_retries * usleep_retry) * number_of_open_connections) milisegundos. Por favor, mantenga esto en mento al configurar tiempos de dormir largos y números de reintentos grandes. Con los ajustes preestablecidos de max_retries=1, usleep_retry=100 y lazy_connections=1 es improbable que vea un retarno de más de un segundo.

Manejo de errores
Tolerancia a fallos
Conceptos


Tolerancia a fallos

De forma predeterminada, el manejo de la toleracia a fallos de conexiones se le deja al usuario. La aplicación es responsable de comprobar los valores devueltos de las funciones de bases de datos a las que llama y reaccionar a posibles errores. Si, por ejemplo, el complemento reconoce una consulta como de solo lectura para ser enviada a los servidores esclavos, y el servidor esclavo seleccionado por el complemento no está disponible, el complemento emitirá un error después de no ejecutar la sentencia.

Predeterminado: tolerancia a fallos manual

Es responsabilidad de la aplicación manejar el error y, si fuera necesario, reemitir la consulta para desencadenar la selección de otro servidor esclavo para la ejecución de la sentencia. El complemento no intentará la tolerancia a fallos automáticamente, ya que no puede estar seguro de que una tolerancia a fallos automática cambie el estado de la conexión. Por ejemplo, la aplicación podría haber emitido una consulta que depende de variables SQL del usuario, las cuales están vinculadas a una conexión específica. Tal conexión podría devolver resultados incorrectos si el complemento intercambia la conexión implícitamente como parte de la tolerancia a fallos automática. Para asegurase de obtener resultados correctos, la aplicación debe ocuparse de la tolerancia a fallos, y reconstruir el estado de conexión requerido. Por lo tanto, de forma predeterminada, el complemento no realiza la tolerancia a fallos automática.

Un usuario que no cambie el estado de la conexión después de abrir una conexión puede activar la tolerancia a fallos automática. Observe que la lógica de la tolerancia a fallos automática está limitada a intentos de conexión. La tolerancia a fallos automática no se utiliza para conexiones ya establecidas. No hay manera de ordenar al complemento que intente la toleranca a fallos con una conexión que ya ha sido establecida con MySQL anteriormente.

Tolerancia a fallos automática

La política de la tolerancia a fallos se configura en el fichero de configuración del complemento, usando la directiva de configuración failover.

La tolerancia a fallos automática y silenciosa se puede habilitar a través de la directiva de configuración failover. La tolerancia a fallos automática se puede configurar para intentarla en exactamente un maestro después del fallo de un esclavo, o, alternativamente, iterando sobre los esclavos y maestros antes de devolver un error al usuario. El número de intentos de conexión se puede limitar, y los equipos anfitriones fallidos se pueden excluir de los intentos de equilibrado de carga futuros. La limitación del número de reintentos y el recuerdo de los equipos anfitriones fallidos son considerados características experimentales, aunque son razonablemente estables. La sintaxis y la semántica puede cambiar en versiones futuras.

Observe que desde la versión 1.5.0 la tolerancia a fallos automática está deshabilitada durante una transacción si está habilitada la adhesión de transacciones y se han detectado los límites de la transacción. El complento no intercambiará conexiones durante una transacción. Tampoco realizará la tolerancia a fallos automática ni silenciosa. En su lugar se lanzará un error. Es entoces responsabilidad del usuario el manejo del fallo de una transacción. Por favor, consulte la documetación de trx_stickiness para saber cómo hacer esto.

Se proporciona un ejemplo básico de tolerancia a fallos manual en la sección manejo de errores.

Servidores de emergencia

Al usar el equilibrado de carga ponderado, introducido en PECL/mysqlnd 1.4.0, es posible configurar servidores de emergencia que son utilizados escasamente durante operaciones normales. A un servidor de emergencia que se usa principalmente como objetivo en el peor de los casos de tolerancia a fallos de emergencia se le puede asignar un peso o prioridad muy bajos en relación a los demás servidores. Siempre y cuando todos los servidores estén activos y la ejecución de la mayoría del trabajo sea asignada a los servidores que tienen valores de peso altos. Pocas peticiones serán redirigidas a un sistema de emergencia que tenga un valor de peso muy bajo.

Cuando ocurre un fallo en los servidores con una prioridad alta, aún se puede realizar la tolerancia a fallos en el sistema de emergencia, al cual se le ha dado una prioridad baja de equilibrado de carga asignándole un peso bajo. La tolerancia a fallos puede ser manual o automática. Si se realiza automáticamente se puede combinar con la opción remember_failed.

En este punto, no es posible ordenar al equilibrador de carga que no dirija ninguna petición al sistema de emergencia. Esto podría no ser una limitación dado que el mayor peso que se puede asignar a un servidor es 65535. Dados dos esclavos, uno de los cuales actuaría como de emergencia y al que se le ha asignado un peso de 1, el sistema de emergencia tendrá que manejar mucho menos del 1 por ciento del total del trabajo.

Tolerancia a fallos y copia primaria

Observe que si se utiliza un clúster de copia primario, tal como la Replicación MySQL, es difícil realizar la tolerancia a fallos de conexión en caso de que falle un maestro. En cualquier momento, sólo hay un maestro en el clúster para un conjunto de datos dado. El maestro es un único punto de fallo. Si el maestro falla, los clientes no tienen un objetivo donde realizar la tolerancia a fallos en peticiones de escritura. En caso de que un maestro apague la base de datos, el administrador debe ocuparse de la situación y actualizar la configuración del cliente, si fuera necesario.

Errores transitorios
Equilibrado de carga
Conceptos


Equilibrado de carga

Se admiten cuatro estrategias de equilibrado de carga para distribuir sentencias sobre los servidores esclavos de MySQL configurados:

aleatorio

Se elige un servidor aleatorio cada vez que se ejecute una sentencia.

aleatorio una vez (predeterminado)

Se elige un servidor aleatorio después de ejecutar la primera sentencia, y se utiliza la decisión tomada para el resto de las peticiones de PHP.

Es lo predeterminado, y de menor impacto para el estado de conexión.

rotación

Se itera sobre la lista de servidores configurados.

definido por el usuario mediante una llamada de retorno

Se utiliza para implementar cualquier otra estrategia.

La política del equilibrado de carga se configura en el fichero de cofiguración de los complementos usando random, roundrobin, y user como filtro.

Los servidores se pueden priorizar asignándoles un peso. Un servidor al que se le haya dado un peso de dos obtendrá el doble de peticiones que un servidor que se le haya dado el peso predeterminado de uno. La prioridad puede ser muy útil en entornos heterogéneos. Por ejemplo, si se quiere asignar más peticiones a una máquina potente que una menos potente. O se pueden tener configurados servidores que están cerca o lejos del cliente, y así exponer diferentes latencias.

Tolerancia a fallos
División de lectura-escritura
Conceptos


División de lectura-escritura

El complemento ejecuta las senteciss de solo lectura en los esclavos MySQL cofigurados, y las demás consultas en el maestro MySQL. Una sentencia se considera de solo lectura si empieza con SELECT, con la sugerencia SQL /*ms=slave*/, o si un esclavo ha sido elegido para ejecutar la consulta anterior y la consulta empiza con la sugerencia SQL /*ms=last_used*/. El los demás casos, la consulta será enviada al servidor maestro de replicación MySQL. Se recomienda usar las constantes MYSQLND_MS_SLAVE_SWITCH, MYSQLND_MS_MASTER_SWITCH y MYSQLND_MS_LAST_USED_SWITCH en lugar de /*ms=slave*/. Véase también la lista de constantes de mysqlnd_ms.

Las sugerencias SQL son un tipo especial de comentarios que cumplen el estándar SQL. El complemento revisa cada sentencia en busca de ciertas sugerencias SQL. Las sugerencias SQL están descritas en la documentación de las constantes de mysqlnd_ms, constantes que son exportadas por la extensión. Otros sistemas involucrados en el procesamiento de sentencias, como el servidor MySQL, los cortafuegos SQL, y los proxys SQL, no se ven afectados por las sugerencias SQL, ya que estos sistemas están diseñados para ignorar los comentarios SQL.

El divisor de lectura-escritura interno puede ser reemplazado por un filtro definido por el usuario. Véase también la documentación de filtros de usuario.

Un divisor de lectura-escritura definido por el usuario puede solicitar la lógica interna para enviar una sentencia a una ubicación específica invocando a mysqlnd_ms_is_select().

Nota:

El divisor de lectura-escritura interno no considera las sentencias múltiples. Éstas se ven como una sola sentencia. El divisor comprobará el comienzo de una sentencia para decidir dónde ejecutarla. Si, por ejemplo, una sentencia múltiple comienza con SELECT 1 FROM DUAL; INSERT INTO test(id) VALUES (1); ... el complemento la ejecutará en un esclavo aunque la sentencia no sea de solo lectura.

Equilibrado de carga
Filtro
Conceptos


Filtro

Nota: Requisitos de versión

Los filtros existen a partir de la versión 1.1.0-beta de mysqlnd_ms.

filtros. Las aplicaciones de PHP que implementen un clúster de replicación MySQL deben identificar primero un grupo de servidores en el clúster que podrían ejecutar una sentencia antes de que ésta sea ejecutada por uno de los candidatos. En otras palabras: se debe filtrar una lista de servidores definidos hasta que esté disponible solamente un servidor.

El proceso de filtrado puede incluir el uso de uno o más filtros, los cuales pueden estar encadenados. Son ejecutados en el orden en el que están definidos en el fichero de configuración del complemento.

Nota: Aclaración: comparación entre cadena de filtros y tuberías

El concepto de filtros encadenados puede ser comparado con el uso de tuberías para conectar utilidades de línea de comandos en un sistema operativo intérprete de comandos. Por ejemplo, un flujo de entrada se pasa al procesador, se filtra, y luego se transfiere para su salida. Entonces, la salida se pasa al siguiente comando, el cual está conectado al anterior mediante el operador de tubería.

Filtros disponibles:

  • Filtros de equilibrado de carga: random y roundrobin.
  • Filtros de selección: user, user_multi, quality_of_service.

El filtro random implementa las políticas de equilibrado de carga 'aleatoria' y 'aleatorio una vez'. El equilibrado de carga 'rotacional' se puede configurar a través del filtro roundrobin. Estblecer una 'llamada de retorno definida por el usuario' para la selección del servidor es posible con filtro user. El filtro quality_of_service busca nodos del clúster capaces de cumplir con un cierto servicio, por ejemplo, la lectura de sus escrituras, o no demorar más segundos de lo permitido con respecto al maestro.

Los filtros puede aceptar parámetros para cambiar su comportamiento. El filtro random acepta el parámetro opcional sticky. Si se establece a 'true', el filtro cambia el equilibrado de carga de 'aleatorio' a 'aleatorio una vez'. 'Aleatorio' escoge un servidor aleatorio cada vez qeu se vaya a ejecutar una sentencia. 'Aleatorio una vez' escoge un servidor aleatorio cuando la primera sentencia va a ser ejecutada y utiliza el mismo servidor para el resto de peticiones de PHP.

Una de los puntos fuertes del concepto de filtro es la posibilidad de encadenar filtros. Este punto fuerte no se hace inmediatamente visible debido a que los filtros random, roundrobin y user deben de producir no más de un servidor. Si un filtro reduce la lista de candidatos para la ejecución de una sentencia a un único servidor, tiene poco sentido usar ese servidor como entrada de otro filtro para reducir aún más la lista de candidatos.

Un ejemplo de una secuencia de filtros que fallará:

  • Sentencia a ejecutar: SELECT 1 FROM DUAL. Pasada a todos los filtros.
  • Todos los nodos configurados son pasados como entrada al primer filtro. Nodos maestro: master_0. Nodos esclavo:slave_0, slave_1
  • Filtro: random, argumento sticky=1. Elige un esclavo aleatorio una vez para utilizarlo para el resto de peticiones de PHP. Salida: slave_0.
  • La salida de slave_0 y la sentencia a ejecutar son pasadas como entradas al siguiente filtro. Aquí: roundrobin, la lista de servidores pasada para filtrar es: slave_0.
  • Filtro: roundrobin. La lista de servidores consisten en un solo servidor, la rotación siempre devolverá el mismo servidor.
Si se intenta usar esta secuencia de filtros, el complemento puede emitir una advertencia como (mysqlnd_ms) Error while creating filter '%s' . Non-multi filter '%s' already created. Stopping in %s on line %d. Además, se puede establecer un error apropiado para el gestor de conexión.

Existe un segundo tipo de filtro: el filtro múltiple. Un filtro múltiple emite cero, uno o múltiples servidores después del procesamiento. El filtro quality_of_service es un ejemplo. Si la calidad de servicio solicitada establece un límite superior para la demora del esclavo y más de un esclavo se demora menos que el número de segundos permitido, el filtro devuelve más de un nodo del clúster. Un filtro múltiple debe ser seguido de otro para reducir aún más la lista de candidatos para la ejecución de sentencias hasta que se encuentre un candidato.

Una secuencia de filtros con el filtro múltiple quality_of_service seguido por un filtro de equilibrado de carga.

  • Sentencia a ejecutar: SELECT sum(price) FROM orders WHERE order_id = 1. Pasada a todos los filtros.
  • Todos los nodos configurados son pasados como entrada para el primer filtro. Nodos maestro: master_0. Nodos esclavo: slave_0, slave_1, slave_2, slave_3
  • Filtro: quality_of_service, conjunto de reglas: session_consistency (lectura de sus escrituras) Salida: master_0
  • La salida de master_0 y la sentencia a ejecutar son pasadas como entrada al siguiente filtro, el cual es roundrobin.
  • Filtro: roundrobin. La lista de servidores consiste en un servidor. La rotación selecciona master_0.

Una secuencia de filtros no debe finalizar con un filtro múltiple. Si se intenta usar una sencuencia de filtros que finaliza con un filtro múltiple, el complemento puede emitir una advertencias como (mysqlnd_ms) Error in configuration. Last filter is multi filter. Needs to be non-multi one. Stopping in %s on line %d. Además, se puede establecer un error apropiado para el gestor de conexión.

Nota: Especulación sobre el futuro: filtrado de replicación MySQL

En futuras versiones, pueden existir filtros múltiples adicionales. Por ejemplo podría existir un filtro table para soportar el filtrado de replicación MySQL. Esto podría permitir la definición de reglas para qué base de datos o tabla van a ser replicadas a cual nodo de un clúster de replicación. Se asume que el clúster de replicación consiste en cuatro esclavos (slave_0, slave_1, slave_2, slave_3), dos de los cuales replican una base de datos llamada ventas (slave_0, slave_1). Si la aplicación pregunta a la base de datos esclavos, el hipotético filtro table reduciría la lista de posibles servidores a slave_0 y slave_1. Ya que la salida y la lista de candidatos consiste en más de un servidor, es posible y necesario añadir filtros adicionales a la lista de candidatos, por ejemplo, usando un filtro de equilibrado de carga para identificar un servidor para la ejecución de sentencias.

División de lectura-escritura
Nivel de servicio y consistencia
Conceptos


Nivel de servicio y consistencia

Nota: Requisitos de versión

Los niveles de servicio han sido introducidos en la versión 1.2.0-alpha de mysqlnd_ms. mysqlnd_ms_set_qos() requiere PHP 5.4.0 o posterior.

El complemento se puede usar con diferentes tipos de clústeres de bases de datos MySQL. Los diferentes clústeres pueden proporcionar diferentes niveles de servicios a las aplicaciones. Los niveles de servicios pueden ser agrupados por los niveles de consistencia de datos que se puedan alcanzar. El complemento está al tanto de la:

  • consistencia final
  • consistencia de sesión
  • consistencia fuerte

Dependiendo de cómo se use un clúster, puede ser posbile alcanzar niveles de servicios más altos que el predeterminado. Por ejemplo, una lectura desde un esclavo de replicación MySQL asíncrono es consistencia final. Así, uno podría decir que el nivel de consistencia predeterminado de un clúster de replicación MySQL es consistencia final. Sin embargo, si el maestro solamente es utilizado por un cliente para lectura y escritura durante una sesión, entonces se da la consistencia de sesión (lectura de sus escrituras). PECL mysqlnd 1.2.0 abstrae al usuario los detalles de la elección de un nodo apropiado para cualquiera de los niveles de servicios de arriba mencionados.

Los niveles de servicios se pueden establecer a través del filtro 'qualify-of-service' en el fichero de configuración del complemento y en tiempo de ejecución utilizando la función mysqlnd_ms_set_qos().

El complemento define los diferentes niveles de servicios como sigue:

La consistencia final es el servicio predeterminado proporcionado por un clúster asíncrono, como la clásica replicación MySQL. Una operación de lectura ejecutada en un nodo arbitrario puede o no devolver datos antiguos. El punto de vista de las aplicaciones de los datos es consistente final.

La consistencia de sesión se da si un cliente siempre puede leer sus propias escrituras. Un clúster de replicación MySQL asíncrona puede proporcionar consistencia de sesión si los clientes siempre usan el maestro después del la primera escritura, o nunca consultan un esclavo que aún no ha replicado la operación de escritura de los clientes.

La interpretación del complemento de la consistencia fuerte es que todos los cliente siempre ven las escrituras consignadas de todos los demás clientes. Esto es lo predeterminado cuando se usa el Clúster MySQL o cualquier otro clúster que ofrezca distribución de datos asíncrona.

Parámetros de los niveles de servicios

Los niveles de servicos de consistencia final y consistencia de sesión aceptan parámetros.

La consistencia final es el servicio proporcionado por la replicación MySQL clásica. De forma predeterminada, todos los nodos tienen derecho a peticiones de lectura. El parámetro opcional age puede ser proporcionado para filtrar nodos que se demoren más que un cierto número de segundos con respecto al maestro. El complemento utiliza SHOW SLAVE STATUS para medir la demora. Vea el manual de referencia de MySQL para aprender sobre la precición y fiabilidad del comando SHOW SLAVE STATUS.

La consistencia de sesión (lectura de sus escritura) acepta el parámetro opcional GTID para considerar la lectura no sólo desde el maestro, sino también desde los esclavos que ya han replicado una escritura en particular descrita por su identificador de transacciones. De esta forma, cuando se utiliza la replicación MySQL asíncrona, las peticiones de lectura pueden uar el equilibrado de carga sobre los esclavos mientras todavía se asegura la consistencia de sesión.

Lo último requiere el uso de la inyección de IDs de transacciones globales en el lado del cliente.

Ventajas de este nuevo enfoque

El nuevo enfoque sustituye el uso de sugerencias SQL y de la opción de configuración master_on_write en varios sentidos. Si una aplicicón se ejecuta en lo más alto de un clúster de replicación MySQL asíncrono, no puede acceptar datos antiguos para ciertas lecturas, es más sencillo indicarle al complemento que elija los nodos apropiados que prefijar todas las sentencias de lectura en cuestión con sugerencias SQL para forzar el uso del maestro. Además, el comlemento puede ser capaz de utilizar esclavos seleccionados para la lectura.

La opción de configuración master_on_write hace que el complemento use el maestro después de la primera escritura (consistencia de sesión, lectura de sus escrituras). En algunos casos, la consistencia de sesión puede no ser necesaria para el resto de la sesión, sólo para unas pocas operaciones de lectura. Así, master_on_write puede resultar en más carga de lectura en el maestro de la necesaria. En estos casos, es mejor solicitar un nivel de servicios superior al predeterminado solamente para aquellas lecturas que realmente lo necesiten. Una vez que las lecturas se han realizado, la apliacion puede vovler al nivel de servicios predetereminado. El cambio entre niveles de servicio solo es posible con el uso de mysqlnd_ms_set_qos().

Consideraciones de rendimiento

Un clúster de replicación MySQL no puede indicarle a los clientes qué esclavos son capaces de proporcionar cuales niveles de servicios. Por lo tanto, en algunos casos, los clientes necesitan consultar a los esclavos para comprobar sus estados. PECL mysqlnd_ms ejecuta de forma transparente el SQL necesario en segundo plano. Sin embargo, es una operación cara y lenta. Las sentencias SQL se ejecutan si se combina la consistencia final con una edad (demora del esclavo) límite y si la consistencia de sesión se combina con un ID de transacciones global.

Si la consistencia final se combina con una edad (demora del esclavo) máxima, el complemento seleccionará candidatos para la ejecución de sentencias y equilibrará la carga para cada sentencia como sigue. Si la sentencia es una escritura, todos los maestros son considerados como candidato. Los esclavos no se comprueban y no son considerados como candidatos. Si la sentencia es una lectura, el complemento ejecuta de forma transparente SHOW SLAVE STATUS en cada conexión esclava. Iterará sobre todas las conexiones, enviará la sentencia y luego iniciará la comprobación de los resultados. Normalmente, esto es ligeramente más rápido qe iterar sobre todas las conexiones en las que se envía una consulta para cada conexión y que el complemento espere sus resultados. Un esclavo es considerado un candidato si SHOW SLAVE STATUS notifica que Slave_IO_Running=Yes, Slave_SQL_Running=Yes y Seconds_Behind_Master es menor o igual que la edad máxima permitida. En caso de que ocurra un error SQL, el complemento emite una advertencia, aunque no establece un error en la conexión. Éste no se establece para que el complemento se pueda usar como atenuante.

Si la consistencia de sesión se combina con un ID de transacciones global, el complemento ejecutará la sentencia establecida con la entrada fetch_last_gtid de la sección global_transaction_id_injection del fichero de configuración del complemento. Los demás detalles son idénticos a los descritos arriba.

En la versión 1.2.0 no se realizan optimizaciones adicionales para ejecutar consultas en segundo plano. Futuras versiones pueden contener optimizaciones, dependiendo de la demanda de los usuarios.

Si no se establece ningún parámetro ni ninguna opción, no es necesaria ninguna sentencia SQL. En este caso, el complemento considera que todos los nodos son del tipo mostrado abajo.

  • consistencia final, no se establecen opciones adicionales: todos los maestros, todos los esclavos
  • consistencia de sesión, no se establecen opciones adicionales: todos los maestros
  • consistencia fuerte (no se permiten opcioines): todos los maestros

Estrangulamiento

El filtro de calidad de servicio se puede combinar con IDs de transacciones globales para estrangular clientes. El estrangulamiento reduce la carga de escritura en el maestro desacelerando los clientes. Si se solicita la consistencia de sesión y se usa el identificador de transacciones global para comprobar el estado de un esclavo, esta comprobación se puede hacer de dos maneras. Por omisión, un esclavo se comprueba y se salta inmediatamente si no concuerda con el criterio de la consistencia de sesión. De forma alternativa, el complemento puede esperar a que un esclavo se ponga al día con el maestro hasta que la consistencia de sesión sea posible. Para habilitar el estrangulamiento se debe establecer la opción de configuración wait_for_gtid_timeout.

Filtro
IDs de transacciones globales
Conceptos


IDs de transacciones globales

Nota: Requisitos de versión

La inyección de IDs de transacciones globales en el lado del cliente existe a partir de la versión 1.2.0-alpha de mysqlnd_ms. Los límites de una transacción son detectados monitorizando las llamadas a la API. Esto es posible a partir de PHP 5.4.0. Por favor, vea también Manejo de transacciones.

A partir de MySQL 5.6.5-m8, el servidor MySQL introduce los identificadores de transacciones globales internos. La característica del ID de transacciones global interno de MySQL es soportada por PECL/mysqlnd_ms 1.3.0-alpha o posterior. No es necesario la monitorización de los límites de transacciones en el lado del cliente ni ninguna configuración si se utiliza la característica del servidor.

Idea y emulación en el lado del cliente

PECL/mysqlnd_ms también realiza la inyección transparente de IDs de transacciones globales en el lado del cliente. En su forma más básica, un identificador de transacciones global es un contador que se incrementa en cada transacción ejecutada en el maestro. El contador se guarda en una tabla del maestro. Los esclavos replican la tabla del contador.

En caso de que falle un maestro, el adminstrador de la base de datos puede identificar fácilmente el esclavo más reciente promovido como nuevo maestro. El esclavo más reciente tiene el identificador de transacciones más alto.

Los desarrolladores de aplicaciones pueden solicitar al complemento el identificador de transacciones global (GTID) para su última operación de escritura que tuvo éxito. El complemento devolverá un identificador que hace referencia a una transacción no más antigua que la última operación de escritura del cliente. Entonces, el GTID puede ser pasado como parámetro al filtro de calidad de servicio (QoS) como una opción para la consistencia de sesión. La consistencia de sesión se asegura de la lectura de sus escrituras. El filtro se asegura de que todas las lecturas son dirigidas al maestro o a un esclavo que haya replicado la escritura referida por el GTID.

Cuándo se realiza la inyección

El complemento mantiene de forma transparente la tabla del GTID del maestro. En el modo 'autocommit', el complemento inyecta una sentencia UPDATE antes de ejecutar las sentencias del usuario por cada uso del maestro. En el modo de transacción manual, la inyección se realiza antes de que la aplicación llame a commit() para cerrar la transacción. La opción de configuración report_error de la sección del GTID del fichero de configuración del complemento se utiliza para controlar si una inyección fallida debería abortar la operación actual o ser ignorada de forma silenciosa (lo predeterminado).

Por favor, observe los requisitos de versión de PHP para la monitorización de los límites de transacciones y sus limitaciones.

Limitaciones

La inyección de IDs de transacciones globales en el lado del cliente tiene defectos. Los problemas potenciales no son específivos de PECL/mysqlnd_ms, sino que son de naturaleza general.

  • Las tablas de IDs de transacciones globales deben ser desplegadas en todos los maestros y en todas las réplicas.
  • El GTID puede tener agujeros. Únicamente los clientes de PHP que utilicen el complemento mantendrán la tabla. Los demás clientes no lo harán.
  • La detección de los límites de las transacciones en el lado del cliente solamente está basada en llamadas a la API.
  • La detección de los límites de las transacciones en el lado del cliente no toma en cuenta la consigna implícita. Algunas setnencias SQL de MySQL causan una consignación implícita, por lo que no pueden ser revertidas.

Utilizar el identificador de transacciones global en el lado del servidor

Desde PECL/mysqlnd_ms 1.3.0-alpha se admite la característica del identificador de transacciones global interno de MySQL 5.6.5-m8 o posterior. El uso de esta característica del servidor elimna todas las limitaciones enumeradas arriba. Por favor, lea el Manual de Referencia de MySQL para conocer las limitaciones y las precondiciones del uso de identificadores de transacciones globales internos.

Si se utiliza la emulación del lado del cliente o la funcionalidad interna del servidor, es una cuestión que no está directamente relacionada con el complemento, por lo que no se trata en profundidad. No hay planes para eliminar la emulación del lado del cliente, por lo que se puede continuar usándola, si la solución del lado del servidor no es una opción. Éste podría ser el caso de entornos heterogéneos con un servidor MySQL antiguo, o si cualquiera de las limitaciones de la solución del lado del servidor no son acpetables.

Desde la perspectiva de las aplicaciones casi no hay diferencia en el uso de un enfoque u otro. Difieren las siguientes propiedades.

  • La emulación en el lado del cliente, como se muestra en el manual, utiliza un número de secuencia de transacciones global fácil de comparar. Los maestros múltiples no se tratan para no complicar los ejemplos del manual. La característica interna del lado del servidor utiliza una combinación de un identificador de servidor y un número de secuencia como identificador de transacciones global. La comparación no puede hacerse mediante álgebra numérica. En su lugar, se debe usar una función SQL. Por favor, lea el Manual de referencia de MySQL para más detalles.
  • Las estadísticas de los IDs de transacciones globales están disponibles únicamente con la emulación en el lado del cliente debido a que monitorizan dicha emulación.

Nota: Identificadores de transacciones globales en sistemas distribuidos

Los identificadores de transacciones globales pueden servir para múltiples propósitos en el contexto de sistemas distribuidos, como un clúster de bases de datos. Los identificadores de transacciones globales se pueden usar para, por ejemplo, la identificación de transacciones en todo el sistema, el ordenameiento global de transacciones, el mecanismo de pulso, y la comprobación del estado de replicación de las réplicas. PECL/mysqlnd_ms, un software basado en un controlador del lado del cliente, enfoca el uso de GTIDs para tareas que puedan ser tratadas en el cliente, como la comprobación del estado de replicación de las réplicas para configuraciones de replicación asíncronas.

Nivel de servicio y consistencia
Integración de una caché
Conceptos


Integración de una caché

Nota: Requisitos de versión

Esta característica requiere el uso de PECL/mysqlnd_ms 1.3.0-beta o posterior y de PECL/mysqlnd_qc 1.1.0-alpha o posterior. PECL/mysqlnd_ms debe ser compilado para soportar esta característica. Se requiere PHP 5.4.0 o posterior.

Nota: Configuración: orden de caraga de las extensiones

PECL/mysqlnd_ms debe cargarse antes que PECL/mysqlnd_qc, cuando se utilizan extensiones compartidas.

Nota: Estabilidad de la característica

La integración de la caché es de calidad beta.

Nota: Clústeres de MySQL adecuados

Esta característica está pensada para usarla con la Repliación MySQL (copia primaria). Actualmente, no se admiten otros tipos de clústeres MySQL. Los usuarios de tales clústeres deben controlar PECL/mysqlnd_qc manualmente si están insteresados en el almacenamiento en caché de consultas en el lado del servidor.

El enfoque principal de PECL/mysqlnd_ms es el soporte para los clústeres de replicación MySQL (copia primaria asíncrona). Los esclavos de un clúster de replicación MySQL pueden o no reflejar las últimas actualizaciones del servidor. Los esclavos son asíncronos y pueden demorarse con respecto al maestro. Una lectura desde un esclavo se considera que es consistencia final desde una perspectiva total del clúster.

El mismo nivel de consistencia es ofrecido por el almacenamiento en caché, usando la estrategia de invalidación de tiempo de vida (TTL). Se pueden servir datos actuales o antiguos. Finalmente, los datos buscados en la caché no estarán disponibles, por lo que es necesario acceder al origen de la caché.

Dado que un esclavo de Replicación MySQL (secundario asíncrono) y una caché local que maneja TTL proporcionan el mismo nivel de servicio, es posible reemplzar de forma transparente un acceso a una base de datos remota con un acceso a la caché local para obtener mejores posibilidades.

A partir de PECL/mysqlnd_ms 1.3.0-beta, el complemento puede controlar de forma transparente PECL/mysqlnd_ms 1.1.0-alpha o posterior para almacenar en caché una consulta de solo lectura, si está explícitamente permitido, configurando una calidad de servicio apropiada a través de mysqlnd_ms_set_qos(). Por favor, lea la guía rápida para ver un ejemplo de código. Ambos complementos deben estar instalados, PECL/mysqlnd_ms debe ser compilado para soportar la característica de la caché y se ha de utilizar PHP 5.4.0 o posterior.

Las aplicaciones tienen control total sobre el uso de la caché y pueden solicitar datos actuales en cualquier momento si fuera necesario. Se puede habilitar y deshabilitar el uso de la caché durante la ejecución de un script. La caché se usará si mysqlnd_ms_set_qos() establece la calidad del servicio a consistencia final y habilita el uso de la caché. El uso de la caché se deshabilita solicitando niveles de consistencia superiores, por ejemplo, consistencia de sesión (lectura de sus datos). Una vez que la calidad del servicio ha vuelto a consistencia final, la caché se podrá usar de nuevo.

Si la caché está habilitada para sentencias de solo lectura, PECL/mysqlnd_ms podrá inyectar sugerencias SQL para controlar la caché mediante PECL/mysqlnd_qc. Se puede modificar la sentencia SQL si se obtiene de la aplicación. Se supone que los tratamientos de SQL subsiguientes ignorarán las sugerencias SQL. Una sugerencia SQL es un comentario SQL. Los comentarios no deben ser ignorados, por ejemplo, por el servidor de la base de datos.

El TTL de una entrada de la caché se calcula en base a cada sentencia. Las aplicaciones pueden establecer un máximo de edad para los datos que quieren recuperar mediante mysqlnd_ms_set_qos(). La edad establece un límite superior aproximado de los segundos que los datos devueltos pueden demorarse con respecto al maestro.

La siguietne lógica se utiliza para calcular el TTL real si la caché está habilitada. La lógica toma en cuenta la demora del esclavo aproximada para elegit un TTL. Si, por ejemplo, hay dos esclavos que se retrasan 5 y 10 y la edad máxima permitida es 60 segundos, el TTL se establece a 50 segundos. Observe que el establecimiento de la edad no es más que una aproximación.

  • Se comprueba si la sentencia es de solo lectura. Si no lo es, no se almacenará en caché.
  • Si la caché está habilitada, se comprueba la demora de todos los esclavos configurados. Se establecen las conexiones esclavas si no existieran hasta ahora y se utilizan conexiones retardadas.
  • Se envía la sentencia SHOW SLAVE STATUS a todos los esclavos. No se espera a que el primer esclavo replique antes de enviarla al segundo esclavo. Los clientes a menudo esperan bastante tiempo para las réplicas, por lo que se envían todas las peticiones de una vez antes obtenerlas en un segudo escenario.
  • Se itera sobre todos los esclavos. Para cada esclavo se espera su réplica. No se inicia la comprobación de otro esclavo antes de que el esclavo actual haya replicado. Se comprueba si Slave_IO_Running=Yes y Slave_SQL_Running=Yes. Si ambas condiciones son verdaderas, se obtiene el valor de Seconds_Behind_Master. En caso de cualquier error o de que las condiciones fallen, se establece un error en la conexión esclava. Se salta cualquier conexión esclava para el resto del filtrado de conexiones.
  • Se busca el valor máximo de Seconds_Behind_Master de todos los esclavos que hayan pasado las condiciones previas. Se resta el valor de la edad máxima de mysqlnd_ms_set_qos() proporcionada por el usuario. Se utiliza el resultado como un TTL.
  • El filtrado puede ordenar todos los esclavos. Si se hace, se usa la edad máxima como TTL, ya que la demora máxima encontrada es igual a cero. Es perfectamente válido ordenar todos los esclavos. En adelante, depende de filtro subsiguiente decidir qué hacer. El filtro de equilibrado de carga interno eligirá al maestro.
  • Se inyectan las sugerencias SQL apropiadas para habilitar el almacenamiento en caché por patre de PECL/mysqlnd_qc.
  • Se procede con el filtrado de conexiones, p.ej., se aplican las reglas del equilibrado de carga para escoger un esclavo.
  • PHP carga PECL/mysqlnd_qc después de PECL/mysqlnd_ms. Así, verá todas las modificaciones de consultas hechas por PECL/mysqlnd_ms y almacenará en caché la consulta, si se le ordenó hacerlo.

El algoritmo puede parecer costoso. SHOW SLAVE STATUS es una operación muy rápida. Dado un número suficiente de peticiones y de usos de la caché por segundo, el coste de comprobar la demora de los esclavos puede superar fácilmente el coste de la decisiones de la caché.

Las sugerencias sobre un algoritmo mejor siempre son bienvenidas.

IDs de transacciones globales
Clústeres admitidos
Conceptos


Clústeres admitidos

Cualquier aplicación que utilice cualquier tipo de clúster MySQL tiene que enfrentarse con las mismas tareas:

  • Identificar los nodos que pueden ejecutar una sentencia dada con el nivel de servicio requerido
  • Equilibrar la carga de peticiones dentro de la lista de candidatos
  • Usar la tolerancia a fallos automática dentro de los candidatos, si fuera necesario

El complemento está optimizado para realizar estas tareas en el contexto de un clúster de replicación MySQL asíncrono clásico que consiste en un único maestro y varios esclavos (copiar primaria). Al utilizar la replicación MySQL asíncrona clásica todas las tareas enumeradas arriba deben ser controladas en el lado del cliente.

Otros tipos de clústeres MySQL pueden cluster may have lower requirements on the application side. Po ejemplo, si todos los nodos del clúster pueden responder a peticiones de lectura y de escritura, no es necesario que se realice la división de lectura-escritura (multi-maestro, todos actualizan). Si todos los nodos del clúster son sincrónicos, proporcionarán autmáticamente la mayor calidad de servcio posible, lo que se hace eligiendo un nodo más sencillo. En este caso, el complemento puede servir a la aplicación después de una reconfiguración para deshabilitar ciertas características, como la división de lectura-escritura interna.

Nota: El enfoque de la documentación

El enfoque de la documentación describe el uso del complemento con los clústeres de replicación MySQL asíncronos clásicos (copia primaria). El soporte para este tipo de clústeres ha sido el objetivo de desarrollo original. El uso de otros clústeres se describe brevemente abajo. Por favor, observe que aún está en desarrollo.

Copia primaria (Replicación de MySQL)

Este es el caso de uso primario del complemento. Siga las indicaciones dadas en la descripción de cada característica.

  • Configurar un maestro y uno o más esclavos. Los detalles de configuraicón del servidor se dan en la sección de configuración.
  • Utilizar la política de equilibrado de carga aleatorio junto con la bandera sticky.
  • Si no se planea usar las llamadas a la API de niveles de servicio, añada la bandera master on write.
  • Por favor, concienciese de las propiedades de la tolerancia de fallos automática antes de añadir una directiva failover.
  • Considere el uso de trx_stickiness para ejecutar transacciones solamente en el primario. Lea cuidadosamente cómo funciona antes de confiar en él.

Ejemplo #1 Habilitar el complemento (php.ini)

mysqlnd_ms.enable=1
mysqlnd_ms.config_file=/path/to/mysqlnd_ms_plugin.ini

Ejemplo #2 Configuración básica del complemento (mysqlnd_ms_plugin.ini) para la Replicación de MySQL

{
  "myapp": {
    "master": {
      "master_1": {
        "host": "localhost",
        "socket": "\/tmp\/mysql57.sock"
      }
    },
    "slave": {
      "slave_0": {
        "host": "127.0.0.1",
        "port": 3308
      },
      "slave_1": {
        "host": "192.168.2.28",
        "port": 3306
      }
    },
    "filters": {
      "random": {
        "sticky": "1"
      }
    }
  }
}

Copia primaria con multiprimarios (MMM - MySQL Multi Master)

La Replicación de MySQL permite crear topologías de clústeres con múltiples maestros (primarios). Los conflictos escritura-escritura no los maneja el sistema de replicación. No es una configuración de actualización en cualquier sitio. Por tanto, los datos deben ser particionados manualmente y los clientes deben ser redirigidos de acuerdo a las reglas de particionamiento. La configuración recomendada es igual a la de fragmentación de más abajo.

Fragmentación manual, posiblemente combinada con copia primaria y múltiples primarios

Use sugerencias SQL y el filtro de grupos de nodos para clústeres que usen particionamiento de datos pero que dejen la redirección de consultas al cliente. La configuración del ejemplo muestra una configuración multimaestro con dos fragmentos.

Ejemplo #3 Múltiples primarios - multimaestro (php.ini)

mysqlnd_ms.enable=1
mysqlnd_ms.config_file=/path/to/mysqlnd_ms_plugin.ini
mysqlnd_ms.multi_master=1

Ejemplo #4 Copia primaria con múltiples primarios y particionamiento

{
  "myapp": {
    "master": {
      "master_1": {
        "host": "localhost",
        "socket": "\/tmp\/mysql57.sock"
      }
      "master_2": {
        "host": "192.168.2.27",
        "socket": "3306"
      }
    },
    "slave": {
      "slave_1": {
        "host": "127.0.0.1",
        "port": 3308
      },
      "slave_2": {
        "host": "192.168.2.28",
        "port": 3306
      }
    },
    "filters": {
      "node_groups": {
        "Partition_A" : {
          "master": ["master_1"],
          "slave": ["slave_1"]
        },
        "Partition_B" : {
          "master": ["master_2"],
          "slave": ["slave_2"]
        }
      },
      "roundrobin": []
    }
  }
}

El complemento también se puede usar con una colección suelta de fragmentos no relacionados. Para tal clúster, configure solamente maestros y deshabilite la división de lectura-escritura. Los nodos de tal clúster son llamados maestros en la configuración del complemento ya que aceptan tanto lecturas como escrituras para su particionamiento.

Usar clústeres de actualización en cualquier sitio sincrónicos tales como el Clúster de MySQL

El Clúster de MySQL es una solución de clúster sincrónico. Todos los nodos del clúster aceptan peticiones de lectura y escritura. En el contexto del complemento, todos los nodos son considerados maestros.

Use únicamente el equilibrado de carga y la tolerancia a fallos.

  • Deshabilite la división interna de lectura-esritura.
  • Configure maestros solamente.
  • Considere la estrategia del equilibrado de carga aleatorio una vez, que es la predeterminada del complemento. Si se usa esta estrategia, solamente se configuran los maestros y no se usan sugerencias SQL para forzar el uso de un nodo en particular, no ocurriran intercambios de conexiones durante una petición web. Por tanto, no se requiere un trato especial para las transacciones. El complemento eligirá un maestro al inicio del script de PHP y lo usará hasta que finalice dicho script.
  • No establezca la calidad de servicio. Todos los nodos tienen todos los datos. Esto proporciona automáticamente la mejor calidad de servicio posible (consistencia fuerte).
  • No habilite la inyección de transacciones global en el lado del cliente. Ni es necesario para ayudar con la tolerancia a fallos del lado del servidor ni para asistir al filtro de calidad de servicio a elegir un nodo apropiado.

Deshabilitar la división interna de lectura-escritura

  • Establezca mysqlnd_ms.disable_rw_split=1
  • No use sugerencias SQL para forzar el uso de esclavos

Configure únicamente maestros.

  • Establezca mysqlnd_ms.multi_master=1.
  • No configure ningún esclavo.
  • Establezca failover=loop_before_master en el fichero de configuración del complemento para evitar advertencias sobre listas de esclavos vacías y para hacer que la lógica de tolerancia a fallos itere sobre todos los maestros configurados antes de emitir un error. Observe las advetencias sobre la tolerancia a fallos automática dadas en las secciones anteriores.

Ejemplo #5 Múltiples primarios - multimaestro (php.ini)

mysqlnd_ms.enable=1
mysqlnd_ms.config_file=/path/to/mysqlnd_ms_plugin.ini
mysqlnd_ms.multi_master=1
mysqlnd_ms.disable_rw_split=1

Ejemplo #6 Clúster de actualización en cualquier sitio sincrónico

"myapp": {
    "master": {
      "master_1": {
        "host": "localhost",
        "socket": "\/tmp\/mysql57.sock"
      },
      "master_2": {
        "host": "192.168.2.28",
        "port": 3306
      }
    },
    "slave": {
    },
    "filters": {
      "roundrobin": {
      }
    },
    "failover": {
      "strategy": "loop_before_master",
      "remember_failed": true
    }
  }
}

Si se ejecuta un clúster de actualización en cualquier sitio que no tenga particionamiento interno para evitar hot spots y altas tasas de colisiones, considere usar el filtro de grupos de nodos para seguir las actualizaciones en una tabla de acceso frecuente en uno de los nodos. Esto podría ayudar a reducir las tasas de colisión y proporcionar así una mejora del rendimiento.

Integración de una caché
Instalación/Configuración
Conceptos


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Fichero de configuración del complemento (>=1.1.x)
  • Fichero de configuración del complemento (<= 1.0.x)
  • Probando el complemento
  • Depuración y rastreo
  • Monitorización
Clústeres admitidos
Requerimientos
mysqlnd_ms


Requerimientos

PHP 5.3.6 o posterior. Alguna funcionalidad avanzada requiere PHP 5.4.0 o posterior.

El complemento de replicación y equilibrado de carga mysqlnd_ms admite todas las aplicaciones de PHP y todas las extensiones de MySQL para PHP disponibles (mysqli, mysql, PDO_MYSQL). La extensión de MySQL para PHP debe ser configurada para que utilice mysqlnd para poder usar el complemento mysqlnd_ms para mysqlnd.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/mysqlnd_ms

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de mysqlnd_ms
Nombre | Por defecto | Cambiable | Historial de cambios
mysqlnd_ms.enable | 0 | PHP_INI_SYSTEM |
mysqlnd_ms.force_config_usage | 0 | PHP_INI_SYSTEM |
mysqlnd_ms.ini_file | "" | PHP_INI_SYSTEM |
mysqlnd_ms.config_file | "" | PHP_INI_SYSTEM |
mysqlnd_ms.collect_statistics | 0 | PHP_INI_SYSTEM |
mysqlnd_ms.multi_master | 0 | PHP_INI_SYSTEM |
mysqlnd_ms.disable_rw_split | 0 | PHP_INI_SYSTEM |

He aquí una breve explicación de las directivas de configuración.

mysqlnd_ms.enable integer

Habilita o deshabilita el complemento. Si se deshabilita, la extensión no se conectará a mysqlnd para delegar las llamadas internas a la API en C mysqlnd.

mysqlnd_ms.force_config_usage integer

Si está habilitado, el complemento comprueba si el el valor del parámetro 'host' (servidor) de cualquier intento de conexión MySQL coincide con un nombre de sección del fichero de configuración del complemento. En caso contrario, el intento de conexión es bloqueado.

Este ajuste no es solamente útil para restringir PHP a ciertos servidores, sino también para depurar problemas con el fichero de configuración. La validez de este se comprueba en dos etapas diferentes. La primera comprobación se realiza cuando PHP comienza a manejar una petición web. En este punto, el complemento lee y decodifica el fichero de configuración. Los errores lanzados en esta primera etapa en el ciclo de vida de las extensiones podrían no ser mostrados apropiadamente al usuario. Por tanto, el complemento almacena en búfer los errores, si los hubiera, y los muestra además al establecer una conexión a MySQL. Por omisión, un error de arranque almacenado en búfer emitira un error de tipo E_WARNING. Si force_config_usage está habilitado, el tipo de error usado es E_RECOVERABLE_ERROR.

Por favor, véanse también las notas de depuración del fichero de configuración.

mysqlnd_ms.ini_file string

Fichero de configuración específico del complemento. Este ajuste ha sido renombrado a mysqlnd_ms.config_file en la versión 1.4.0.

mysqlnd_ms.config_file string

Fichero de configuración específico del complemento. Este ajuste reemplaza a mysqlnd_ms.ini_file desde la versión 1.4.0.

mysqlnd_ms.collect_statistics integer

Habilita o deshabilita la recopilación de estadísticas. La recopilación de estadísticas está deshabilita por defecto por razones de rendimiento. Las estadísticas son devueltas por la función mysqlnd_ms_get_stats().

mysqlnd_ms.multi_master integer

Habilita o deshabilita el soporte de sistemas de replicación multimaestro. Véanse también los clústeres admintidos.

mysqlnd_ms.disable_rw_split integer

Habilita o deshabilita la división de lectura-escritura interna.

Controla si la funcionalidad de equilibrado de carga y de conexiones retardadas se pueden usar independientemente de la división de lectura-escritura. Si la división de lectura-escritura está deshabilitada, sólo los servidores de la lista de maestros serán usados para la ejecución de sentencias. Todos los servidores esclavos configurados serán ignorados.

La sugerencia SQL MYSQLND_MS_USE_SLAVE no será reconocida. Si se encuentra, la sentencia será redirigida al maestro.

La deshabilitación de la división de lectura-escritura impacta sobre el valor devuelto de mysqlnd_ms_query_is_select(). La función ya no propondrá la ejecución de consultas en servidores esclavos.

Nota: Múltiples servidores maestros

Establecer mysqlnd_ms.multi_master=1 permite al complemento usar múltiples servidores maestros, en lugar de sólo el primer servidor maestro de la lista de maestros.

Véanse también los clústeres admitidos.

Instalación
Fichero de configuración del complemento (>=1.1.x)
Instalación/Configuración


Fichero de configuración del complemento (>=1.1.x)

Nota: Registro de cambios: Característica añadida en PECL/mysqlnd_ms 1.1.0-beta

La descripción de abajo se aplica a PECL/mysqlnd_ms >= 1.1.0-beta. No es válida para versiones anteriores.

El complemento usa su propio fichero de configuración. Éste guarda información sobre el servidor maestro de replicación MySQL, los servidores esclavos de replicación MySQL, la política de elección (equilibrado de carga), la estrategia de tolerancia a fallos, y el uso de conexiones retardadas.

El complemento carga su fichero de configuración al comienzo de una petición web. Entonces, es almacenado en la memoria caché y utilizado durante el resto de la petición web. De esta forma, no hay necesidad de reiniciar PHP después de utilizar el fichero de configuración. Los cambios de éste estarán activos casi instantáneamente.

La directiva de configuración de PHP mysqlnd_ms.config_file se utiliza para establecer el fichero de configuración del complemento. Observe que dicha direcitiva no puede ser evaluada para cada petición web. Por lo tanto, el cambio del nombre del fichero de configuración del complemento o de su ubicación puede requerir el reinicio de PHP. Sin embargo, no es necesario tal reinicio para leer los cambios si se actualiza un fichero de configuración del complemento ya existente.

El uso y el análisis de JSON es eficiente, ya que con JSON es más sencillo expresar estructuras de datos jerárquicas que con el formato estándar de php.ini.

Ejemplo #1 Convertir un array de PHP (hash) al formato JSON

O alternativamente, un desarrollador puede preferir la sintaxis de arrays por estar más familiarizado con ella. Este ejemplo demuestra cómo un desarrolador podría convertir un array de PHP a JSON.

<?php
$config = array(
  "myapp" => array(
    "master" => array(
      "master_0" => array(
        "host"   => "localhost",
        "socket" => "/tmp/mysql.sock",
      ),
    ),
    "slave" => array(),
  ),
);

file_put_contents("mysqlnd_ms.ini", json_encode($config, JSON_PRETTY_PRINT));
printf("mysqlnd_ms.ini file created...\n");
printf("Dumping file contents...\n");
printf("%s\n", str_repeat("-", 80));
echo file_get_contents("mysqlnd_ms.ini");
printf("\n%s\n", str_repeat("-", 80));
?>

El resultado del ejemplo sería:

mysqlnd_ms.ini file created...
Dumping file contents...
--------------------------------------------------------------------------------
{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": [

        ]
    }
}
--------------------------------------------------------------------------------

Un fichero de configuración del complemento consta de una o más secciones. Éstas están representadas por las propiedades de nivel superior del objeto codificado en el fichero JSON. Las secciones también podrían llamarse nombres de configuración.

Las aplicciones hacen referencia a las secciones por su nombre. Las aplicaciones usan los nombres de las secciones como el parámetro 'host' (servidor) de los distintos métodos de conexión de las extensiones mysqli, mysql y PDO_MYSQL. Durante la conexión, el complemento de mysqlnd compara el nombre del equipo anfitrión con todos los nombres de las secciones del fichero de configuración del complemento. Si el nombre del equipo anfitrión y el nombre de la sección coinciden, el complemento cargará la configuración de esa sección.

Ejemplo #2 Ejemplo del uso de nombres de sección

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27"
            },
            "slave_1": {
                "host": "192.168.2.27",
                "port": 3306
            }
        }
    },
    "localhost": {
        "master": [
            {
                "host": "localhost",
                "socket": "\/path\/to\/mysql.sock"
            }
        ],
        "slave": [
            {
                "host": "192.168.3.24",
                "port": "3305"
            },
            {
                "host": "192.168.3.65",
                "port": "3309"
            }
        ]
    }
}
<?php
/* Todas las conexiones siguientes tendrán equilibrado de carga */
$mysqli = new mysqli("myapp", "nombre_usuario", "contraseña", "base_datos");
$pdo = new PDO('mysql:host=myapp;dbname=base_datos', 'nombre_usuario', 'contraseña');
$mysql = mysql_connect("myapp", "nombre_usuario", "contraseña");

$mysqli = new mysqli("localhost", "nombre_usuario", "contraseña", "base_datos");
?>

Los nombres de sección son cadenas de texto. Es válido usar nombres de sección como 192.168.2.1, 127.0.0.1 o localhost. Si, por ejemplo, una aplicación se conexta a localhost y existe una sección de configuración del complemento llamada localhost, la semántica de la operación de conexión se cambia. La aplicación ya no usará únicamente el servidor MySQL que se ejecuta en el equipo anfitrión localhost, sino que el complemento iniciará el equilibrado de carga de las consultas MySQL siguiendo las reglas de la sección de configuración localhost. De esta manera se puede realizar el equilibrado de carga de consultas desde una aplicación sin cambiar el código fuente de la misma. Recuerde que tal configuración puede no contribuir a la legibilidad global del código fuente de las aplicaciones. El uso de nombres de sección combinado con nombres de equipos anfitriones debería ser el último recurso.

Cada sección de configuración contiene, como mínimo, una lista de sevidores maestros y una lista de servidores esclavos. La lista de maestros se configura con la palabra clave master, mientras que la lista de esclavos se configura con la palabra clave slave. El no proporcionar una lista de esclavos resultará en un error fatal de nivel E_ERROR, aunque la lista de esclavos puede estar vacía. Es posible prohibir esclavos. Sin embargo, esto solo se recomienda para clústeres sincrónicos. Véanse también los clústeres admitidos. La parte principal de esta documentación se centra en el uso de clústeres de replicación MySQL asincrónicos.

Las listas de servidores maestros y esclavos se pueden indexar opcionalmente mediante nombres simbólicos para los servidores que describen. De forma alternativa, se puede utlizar un array con descripciones de los servidores esclavos y maestros.

Ejemplo #3 Lista de esclavos anónimos

"slave": [
    {
        "host": "192.168.3.24",
        "port": "3305"
    },
    {
        "host": "192.168.3.65",
        "port": "3309"
    }
]

Una lista de servidores anónimos está codificada por el tipo array de JSON. Opcionalmente, se pueden usar los nombres simbólicos para indexar los servidores esclavos o maestros de una lista de servidores, realizándolo mediante el tipo objeto de JSON.

Ejemplo #4 Lista de maestros usando nombres simbólicos

"master": {
    "master_0": {
        "host": "localhost"
    }
}

Se recomienda indexar las listas de servidores con nombres de servidores simbólicos. Los sobrenombres se mostrarán en los mensajes de error.

mysqlnd_ms preserva el orden de los servidores y lo toma en cuenta. Si, por ejemplo, se configura una estrategia de equilibrado de carga de rotación, la primera sentencia SELECT será ejecutada en el esclavo que aparece en primer lugar en la lista de servidores esclavos.

Un servidor configurado puede ser descrito con host, port, socket, db, user, password y connect_flags. Es obligatorio establecer el equipo anfitrión del servidor de la base de datos mediante la palabra clave host. Todos los demás ajustes son opcionales.

Ejemplo #5 Palabras clave para configurar un servidor

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "db_server_host",
                "port": "db_server_port",
                "socket": "db_server_socket",
                "db": "database_resp_schema",
                "user": "user",
                "password": "password",
                "connect_flags": 0
            }
        },
        "slave": {
            "slave_0": {
                "host": "db_server_host",
                "port": "db_server_port",
                "socket": "db_server_socket"
            }
        }
    }
}

Si se omite un ajuste, el complemento usará el valor proporcionado por la llamada a la API hecha por el usuario utilizada para abrir la conexión. Véase el ejemplo de uso de nombres de sección de arriba.

El formato del fichero de configuración ha sido cambiado en la versión 1.1.0-beta para permitir los filtros encadencados. Los filtros son los responsables de filtrar la lista de servidores configurados para identificar un servidor para que ejecute una sentencia dada. Los filtros se configuran con la palabra clave filter. Éstos son ejecutados por mysqlnd_ms en el orden en que aparecen. La definción de filtros es opcional. Una sección de configuración del fichero de configuración del complemento no necesita tener una entrada filters.

Los filtros reemplazan al ajuste pick[] de versiones anteriores. Los nuevos filtros random y roundrobin proporcionan la misma funcionalidad.

Ejemplo #6 El nuevo filtro roundrobin, funcionalidad antigua

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            },
            "slave_1": {
                "host": "192.168.78.137",
                "port": "3306"
            }
        },
        "filters": {
            "roundrobin": [

            ]
        }
    }
}

La función mysqlnd_ms_set_user_pick_server() ha sido eliminada. El establecimiento de una llamada de retorno ahora se realiza con el filtro user. Algunos filtros aceptan parámetros. El filtro user requiere y acepta el parámetro obligatorio callback para establecer la llamada de retorno que antes se establecía a través de la función mysqlnd_ms_set_user_pick_server().

Ejemplo #7 El filtro user reemplaza a mysqlnd_ms_set_user_pick_server()

"filters": {
    "user": {
        "callback": "pick_server"
    }
}

La validez del fichero de configuración se realiza tanto al leerlo como cuando más tarde se establece una conexión. El fichero de configuración se lee durante la petición de arranque de PHP. En esta primera etapa, una extensión de PHP podría no mostrar mensajes de error apropiadamente. En el peor de los casos, no se mostrará ningún error y un intento de conexión fallará sin un mensaje de error adecuado. Este problema ha sido solventado en la versión 1.5.0.

Ejemplo #8 Mensaje de error común en caso de problemas con el fichero de configuración (hasta la versión 1.5.0)

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
?>

El resultado del ejemplo sería:

Warning: mysqli::mysqli(): (mysqlnd_ms) (mysqlnd_ms) Failed to parse config file [s1.json]. Please, verify the JSON in Command line code

Warning: mysqli::mysqli(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Name or service not known in Command line code on line 1

Warning: mysqli::query(): Couldn't fetch mysqli in Command line code on line 1

Fatal error: Call to a member function fetch_assoc() on a non-object in Command line code on line 1

Desde la versión 1.5.0, los errores al arrancar son además almacenados en búfer y emitidos cuando se realiza un intento de conexión. Use la directiva de configuración mysqlnd_ms.force_config_usage para establecer el tipo de error usado para mostrar errores almacenados en búfer. Por omisión, se emitirá un error de tipo E_WARNING.

Ejemplo #9 Validación mejorada del fichero de configuración desde 1.5.0

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
?>

El resultado del ejemplo sería:

Warning: mysqli::mysqli(): (mysqlnd_ms) (mysqlnd_ms) Failed to parse config file [s1.json]. Please, verify the JSON in Command line code on line 1

Puede ser útil establecer mysqlnd_ms.force_config_usage = 1 al depurar errores potenciales del fichero de configuración. Esto no solo convertirá el tipo de errores del arranque almacenados en búfer a E_RECOVERABLE_ERROR, sino que también ayudará a detectar nombres de seccones mal escritas.

Ejemplo #10 Error posiblemente más preciso debido a mysqlnd_ms.force_config_usage=1

mysqlnd_ms.force_config_usage=1
<?php
$mysqli = new mysqli("invalid_section", "username", "password", "database");
?>

El resultado del ejemplo sería:

Warning: mysqli::mysqli(): (mysqlnd_ms) Exclusive usage of configuration enforced but did not find the correct INI file section (invalid_section) in Command line code on line 1 line 1

He aquí una breve explicación de las directivas de configuración que se pueden usar.

master array o object

Lista de los servidores maestros de replicación MySQL. La lista es del tipo array de JSON, para declarar una lista anónima de servidores, o del tipo objeto de JSON. Por favor, véanse los ejemplos de arriba.

Es obligatorio establecer al menos un servidor maestro. El complemento emitirá un error de tipo E_ERROR si el usuario no ha proporcionado una lista de servidores maestros en una sección de configuración. El error fatal puede ser (mysqlnd_ms) Section [master] doesn't exist for host [name_of_a_config_section] in %s on line %d ((mysqlnd_ms) La sección [master] no existe para el equipo anfitrión [nombre_de_una_sección_de_configurción] en %s en la línea %d).

Un servidor se describe con las palabras clave host, port, socket, db, user, password y connect_flags. Es obligatorio proporcionar al menos un valor para host. Si no se proporcionan cualesquiera de los otros valores, se tomarán de la llamada de conexión del usuario a la API, véase también: ejemplo de uso de nombres de sección.

Tabla de las palabras clave de configuración del servidor.

Palabra clave Descripción Versión
host

El equipo anfitrión servidor de las bases de datos. Es un ajuste obligatorio. Si no se proporcina causará un error de tipo E_RECOVERABLE_ERROR cuando el complemento intente conectarse al servidor. El mensaje de error puede ser (mysqlnd_ms) Cannot find [host] in [%s] section in config in %s on line %d ((mysqlnd_ms) No se pudo encontrar [host] en la sección [%s] de configuración en %s en la línea %d).

Desde 1.1.0.
port

El puerto TCP/IP del servidor de las bases de datos.

Desde 1.1.0.
socket

El socket de dominio Unix del servidor de las bases de datos.

Desde 1.1.0.
db

La base de datos (esquema).

Desde 1.1.0.
user

El usuario de la base de datos MySQL.

Desde 1.1.0.
password

La constraseña del usuario de la base de datos MySQL.

Desde 1.1.0.
connect_flags

Banderas de conexión.

Desde 1.1.0.

El complemento únicamente admite el uso de un servidor maestro. Existe un ajuste experimental para habilitar el soporte de múltiples maestros. Los detalles no están documentados. El ajuste sólo se menciona para desarrollo.

slave array o object

Lista de uno o más servidores esclavos de replicación MySQL. La sintaxis es idéntica a la de lo servidores maestros, véase master más arriba para más detalles.

El complemento admite el uso de uno o más servidores esclavos.

Es obligatorio establecer una lista de servidores esclavos. El complemento notificará un error de tipo E_ERROR si no se proporciona slave para una sección de configuración. El mensaje de error fatal puede ser (mysqlnd_ms) Section [slave] doesn't exist for host [%s] in %s on line %d ((mysqlnd_ms) La sección [slave] no existe para el equipo anfitrión [%s] en %s en la línea %d). Observe que es válido usar una lista de servidores esclavos vacía. Este error ha sido introducido para evitar que no se establezcan esclavos de forma accidental si se olvida el ajuste slave. Es posible configurar un único maestro si se utiliza una lista de servidores esclavos vacía.

Si se configura una lista de esclavos vacía y se intenta ejecutar una sentencia en un esclavo, el complemento podría emitir una advertencia como (mysqlnd_ms) Couldn't find the appropriate slave connection. 0 slaves to choose from. ((mysqlnd_ms) No se pudo encontrar la conexión esclava apropiada. 0 esclavos de donde elegir) durante la ejecución de la sentencia. Es posible que le siga otra advertencia, como (mysqlnd_ms) No connection selected by the last filter ((mysqlnd_ms) El último filtro no seleccionó ninguna conexión).

global_transaction_id_injection array o object

La configuración del identificador de transacciones global está relacionada tanto con el uso de la característica del ID de transacciones global interno del servidor como con la emulación en el lado del cliente.

Palabra clave Descripción Versión
fetch_last_gtid

Senetencia SQL para acceder al último identificador de transaccioens global. La sentencia SQL se ejecuta si el complemento necesita conocer el identificador de transacciones global más reciente. Este puede ser el caso cuando, por ejemplo, se comprueba el estado de un esclavo de Replicación MySQL. También se usa con mysqlnd_ms_get_last_gtid().

Desde 1.2.0.
check_for_gtid

Sentencia SQL para comprobar si una réplica ha replicado todas las transacciones hasta, e incluyendo a, la buscada. La sentencia SQL se ejecuta cuando se buscan réplicas que pueden ofrecer un nivel mayor de consistencia que la consistencia final. La sentencia puede contener el parámetro de sustitución #GTID, el cual es reemplazado con el identificador de transacciones global buscado por el complemento. Por favor, revise los ejemplos de la guía rápica.

Desde 1.2.0.
report_errors

Si se ha de emitir un error de tipo 'warning' si ocurriera un problema mientras se ejecuta cualquiera de las sentencias SQL configuradas.

Desde 1.2.0.
on_commit

(Solamente para la emulación del ID de transacciones global en el lado del cliente). Sentencia SQL a ejecutar cuando una transacción finaliza y acutaliza el número de secuencia del identificador de transacciones global en el maestro. Por favor, vea los ejemplo de la guía rápida.

Desde 1.2.0.
wait_for_gtid_timeout

Ordena al complemento que espere hasta wait_for_gtid_timeout segundos para que un esclavo se ponga al día cuando se busquen esclavos que puedan proporcionar la consistencia de sesión. Este ajuste limita el tiempo empleado en obtener el estados de los esclavos. Si dicha obtención toma mucho tiempo, el tiempo de espera total empleado puede exceder wait_for_gtid_timeout. El complemento llama a sleep(1) para dormir un segundo entre cada dos obtenciones.

El ajuste se puede usar junto con la emulación en el lado del cliente del complemento y la característica del identificador de transacciones global del lado del servidore de MySQL 5.6.

La espera de que un esclavo replique un GTID en particular necesario para la consistencia de sesión también signifiva estrangular el cliente. El estrangulamiento del cliente reduce indirectamente la carga de escrigura del maestro. A un sistema de replicación basado en copia primaria,, como la Replicación MySQL, se le da más tiempo para alcanzar un estado consistente. Esto puede ser útil, por ejemplo, para aumentar el número de copias de datos para consideraciones de alta disponibilidad, o para prevenir que el maestro sea sobrecargado.

Desde 1.4.0.
filters object

Lista de filtros. Un filtro es el responsable de filtrar la lista de servidores disponibles que puedan ejecutar una setentcia dada. Los filtros se pueden encadenar. Los filtros random y roundrobin reemplazan a la directiva pick[] usada en versiones anteriores para seleccionar una política de equilibrado de carga. El filtro user reemplaza a la función mysqlnd_ms_set_user_pick_server().

Los filtros pueden aceptar parámetros para refinar sus acciones.

Si no está establecida una política de equilibrado de carga, el complemento asumirá el valor predeterminado random_once. La política random_once elige un servidor aleatorio al ejecutar la primera sentencia de solo lectura. Este servidor esclavo se usará para todas las sentencias de solo lectura hasta que finalice la ejecución del script de PHP. No se establece ninguna política de equilibrado de carga y, por lo tanto, toma lugar el valor predeterminado si ni random ni roundrobin son parte de la sección de configuración.

Si una cadena de filtros es configurada de modo que la salida de un filtro que no produzca más de un servidor sea usada como entrada para otro filtro al que se le debería proporcionar más de un servidor, el complemento podría emitir una advertencia sobre una conexión abierta. La advertencia podría ser: (mysqlnd_ms) Error while creating filter '%s' . Non-multi filter '%s' already created. Stopping in %s on line %d ((mysqlnd_ms) Error al crear el filtro '%s' . No se ha creado aún el filtro múltiple '%s'. Detenido en %s en la línea %d). Además, se puede establecer un error de código 2000, el estado sql HY000, y un mensaje de error similar a la advertencia, sobre el gestor de conexión.

Ejemplo #11 Secuencia de filtros inválida

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "filters": [
            "roundrobin",
            "random"
        ]
    }
}
<?php
$enlace = new mysqli("myapp", "root", "", "test");
printf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error());
$enlace->query("SELECT 1 FROM DUAL");
?>

El resultado del ejemplo sería:

PHP Warning:  mysqli::mysqli(): (HY000/2000): (mysqlnd_ms) Error while creating filter 'random' . Non-multi filter 'roundrobin' already created. Stopping in filter_warning.php on line 1
[2000] (mysqlnd_ms) Error while creating filter 'random' . Non-multi filter 'roundrobin' already created. Stopping
PHP Warning:  mysqli::query(): Couldn't fetch mysqli in filter_warning.php on line 3

Filtro: random object

El filtro random introduce las políticas de equilibrado de carga "aleatoria" y "aleatoria una vez", establecidas a través de la directiva pick[] en versiones anteriores.

La política "aleatoria" eligirá un servidor aleatorio siempre que se vaya a ejecutar una sentencia de solo lectura. La estrategia "aleatoria una vez" elige un servidor esclavo aleatorio una vez y continuará usándolo para el resto de la petición web. "Aleatoria una vez" es la predeterminada, si el equilibrado de carga no está configurado a través de un filtro.

Si al filtro random no se le proporciona ningún argumento, permanecerá la política de equilibrado de carga aleatoria.

Ejemplo #12 Equilibrado de carga aleatorio con el filtro random

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            },
            "slave_1": {
                "host": "192.168.78.137",
                "port": "3306"
            }
        },
        "filters": [
            "random"
        ]
    }
}

Opcionalmente, se puede pasar el argumento sticky al filtro. Si se establece el parámetro sticky al string 1, el filtro seguirá la estrategia de equilibrado de carga "aleatoria una vez".

Ejemplo #13 Equilibrado de carga "aleatoria una vez" con el filtro random

{
    "filters": {
        "random": {
            "sticky": "1"
        }
    }
}

Los filtros random y roundrobin admiten el establecimiento de una prioridad, un peso para un servidor, desde PECL/mysqlnd_ms 1.4.0. Si se pasa el argumento weight al filtro, debe asginar un peso para todos los servidores. A los servidores se les debe proporcionar un sobrenombre en las listas de servidores slave y master respectivamente. El alias debe usarse para hacer referencia a servidores para asignarles una prioridad con weight.

Ejemplo #14 Error de referencia

[E_RECOVERABLE_ERROR] mysqli_real_connect(): (mysqlnd_ms) Unknown server 'slave3' in 'random' filter configuration. Stopping in %s on line %d

Usar un sobrenombre erróneo con weight podría resultar en un error similar al mostrado arriba.

Si se omite weight, el peso predeterminado de todos los servidores es uno.

Ejemplo #15 Asignar weight para el equilibrado de carga

{
   "myapp": {
       "master": {
           "master1":{
               "host":"localhost",
               "socket":"\/var\/run\/mysql\/mysql.sock"
           }
       },
       "slave": {
           "slave1": {
               "host":"192.168.2.28",
               "port":3306
           },
           "slave2": {
               "host":"192.168.2.29",
               "port":3306
           },
           "slave3": {
               "host":"192.0.43.10",
               "port":3306
           },
       },
       "filters": {
           "random": {
               "weights": {
                   "slave1":8,
                   "slave2":4,
                   "slave3":1,
                   "master1":1
               }
           }
       }
   }
}

Como promedio, un servidor al que se le asigne un peso de dos será seleccionado el doble que un servidor al que se la haya asignado un peso de uno. Se pueden asignar diferentes pesos para reflejar diferentes tipos de máquinas, para preferir coubicar esclavos que tienen una latencia de red baja o para configurar un servidor de tolerancia a fallos de emergencia. En este último caso, se podría asignar al servidor de emergencia un peso muy bajo en relación con los demás servidores. Por ejemplo, dada la configuración de arriba, slave3 obtendrá solamente el ocho por ciento de las peticiones como media. Mientras que slave1 y slave2 estén ejecutándose, se usarán con poca frecuencia, de forma similar a un servidor de tolerancia a fallos de emergencia. Si ocurre un fallo de slave1 y de slave2, el uso de slave3 aumenta. Por favor, revise las notas sobre la tolerancia a fallos antes de usar weight de esta manera.

El rango de valores válidos del peso es de 1 a 65535.

Los argumentos desconocidos son ingnorados. No se dan advertencias ni errores.

Espera uno o más servidores como entrada. Produce un servidor. Una secuencia de filtros como random, roundrobin, puede causar una advertencia y establecer un mensaje de error sobre el gestor de conexión cuando se ejecute una sentencia.

Listado de los argumentos del filtro.

Palabra clave Descripción Versión
sticky

Habilita o deshabilita la política de equilibrado de carga "aleatoria una vez". Véase más arriba.

Desde 1.2.0.
weight

Asigna un peso o prioridad de equilibrado de carga a un servidor. Por favor, véase la descripción de arriba.

Desde 1.4.0.
Filtro: roundrobin object

Si se utiliza el filtro roundrobin, el complemento iterará sobre la lista de servidores esclavos configurados para elegir un servidor para que ejecute una sentencia. Si el complemento alcanza el final de la lista, volverá al inicio de la misma y eligirá el primer servidor esclavo configurado.

Ejemplo #16 Filtro roundrobin

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "filters": [
            "roundrobin"
        ]
    }
}

Espera uno o más servidores como entrada. Produce un servidor. Una secuencia de filtros como roundrobin, random, puede causar una advertencia y establecer un mensaje de error sobre el gestor de conexión cuando se ejecute una sentencia.

Listado de los argumentos del filtro.

Palabra clave Descripción Versión
weight

Asigna un peso o prioridad de equilibrado de carga a un servidor. Por favor, véase la descipción de arriba.

Desde 1.4.0.
Filtro: user object

El filtro user reemplaza a la función mysqlnd_ms_set_user_pick_server(), la cual ha sido eliminada en la versión 1.1.0-beta. El filtro establece una llamada de retorno para la división de lectura-escritura y la selección del servidor definidas por el usuario.

Las decisiones del mecanismo interno de división de consultas de lecura-escritura pueden ser sobrescritas de dos maneras. La más sencilla es anteponer a una consulta las sugerentecias SQL MYSQLND_MS_MASTER_SWITCH, MYSQLND_MS_SLAVE_SWITCH o MYSQLND_MS_LAST_USED_SWITCH. Al utilizar sugerencias SQL se puede controlar, por ejemplo, si una consulta debería ser enviada al servidor maestro de replicación MySQL o a uno de los servidores esclavos. Mediante la ayuda de sugenrencias SQL no es posible elegir un esclavo en particular para que ejecute una consulta.

Se puede obtener control total en la selección del servidor usando una función de llamada de retorno. Solamente se recomienda el uso de una llamada de retorno para usuarios expertos, ya que ésta ha de cubrir todos los casos que de otro modo manejaría el complemento.

El complemento invorcará a la función de llamada de retorno para seleccionar un servidor de las listas de servidores maestros y esclavos configurados. La función de llamada de retorno inspeccionará la consulta a ejecutar y eligirá un servidor para que ejecute dicha consulta, devolviendo el URI del equipo anfitrión, tal como lo encontró en la lista de maestros y esclavos.

Si las conexiones retardadas están habilitadas y la llamada de retorno elige un servidor esclavo para el que hasta ahora no se ha establecido una conexión, y el establecimiento de la conexión al esclavo falla, el complemento devolverá un error sobre la siguiente acción en la conexión fallida, por ejemplo, al ejecutar una consulta. Es responsabilidad del desarrollador de la aplicación manejar el error. Por ejemplo, la aplicación podría re-ejecutar la consulta para desencadenar una nueva selección de un servidor y una nueva invocación a la llamada de retorno. Si lo hace, la llamada de retorno debe asegurarse de seleccionar un esclavo diferente, o comprobar la disponibilidad del esclavo, antes de devolver el resultado al complemento para evitar un bucle infinito.

Ejemplo #17 Establecer una llamada de retorno

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "filters": {
            "user": {
                "callback": "pick_server"
            }
        }
    }
}

Se espera que la llamada devuelva un equipo anfitrión donde ejecutar la consulta. El URI del equipo anfitrión se tomará de las listas de conexión maestras y esclavas pasadas a la función de llamada de retorno. Si ésta devuelve un valor que no se encuentra el las listas de conexión maestras ni en las esclavas, el complemento emitirá un error de tipo E_RECOVERABLE_ERROR. El error puede ser (mysqlnd_ms) User filter callback has returned an unknown server. The server 'server that is not in master or slave list' can neither be found in the master list nor in the slave list ((mysqlnd_ms) La llamada de retorno del filtro de usuario ha devuelto un servidor desconocido. El servidor 'servidor que no está en la lista de maestros o esclavos' no se puede encontrar en ni en la lista de maestros ni en la de esclavos). Si la aplicación captura el error para ignorarlo, los errores siguientes pueden ser establecidos en el gestor de conexión, por ejemplo, (mysqlnd_ms) No connection selected by the last filter ((mysqlnd_ms) El último filtro no seleccionó ninguna conexión) con el código de error 2000 y el estado sql HY000. Además se puede emitir una advertencia.

Si se hace referencia a una función inexistente como llamada de retorno, resultará en cualquier error de tipo E_RECOVERABLE_ERROR siempre que el complemento intente invocar a dicha función. El mensaje de error puede ser como: (mysqlnd_ms) Specified callback (pick_server) is not a valid callback ((mysqlnd_ms) La llamada de retorno (pick_server) no es una llamada de retorno válida). Si la aplicación captura el error para ignorarlo, los errores siguientes pueden ser establecidos en el gestor de conexión, por ejemplo, (mysqlnd_ms) Specified callback (pick_server) is not a valid callback con el código de error 2000 y el estado sql HY000. Admás se puede emitir una advertencia.

Los siguientes parámetros son pasados desde el complemento a la llamada de retorno.

Parámetro Descripción Versión
connected_host

El URI del servidor de las bases de datos conectado actualmente.

Desde 1.1.0.
query

La consulta de la sentencia para la cual un servidor necesita ser elegido.

Desde 1.1.0.
masters

La lista de servidores maestros de donde elegir. Observe que la lista de servidores maestros puede no ser idéntica a la lista de servidores maestros configurados si el filtro no es el primero en la cadena de filtros. Los filtros ejecutados anteriormente puede haber reducido la lista de maestros.

Desde 1.1.0.
slaves

La lista de servidores esclavos de donde elegir. Observe que la lista de servidores maestros puede no ser idéntica a la lista de servidores maestros configurados si el filtro no es el primero en la cadena de filtros. Los filtros ejecutados anteriormente puede haber reducido la lista de maestros.

Desde 1.1.0.
last_used_connection

El URI del servidor de la conexión usada donde ejecutar la sentencia anterior.

Desde 1.1.0.
in_transaction

Bandera booleana que indica si la sentencia es parte de una transacción abierta. Si el modo 'autocommit' está desactivado, se establecerá a TRUE. Si no, se establecerá a FALSE.

La detección de transacciones está basada en la monitorización de la llamada a set_autocommit de la biblioteca mysqlnd . La monitorización no era posible antes de PHP 5.4.0. Por favor, vea la argumentación de los conceptos sobre agrupación e intercambio de conexiones para más detalles.

Desde 1.1.0.

Ejemplo #18 Utilizar una llamada de retorno

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27",
                "port": "3306"
            },
            "slave_1": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "filters": {
            "user": {
                "callback": "pick_server"
            }
        }
    }
}
<?php
function pick_server($connected, $query, $masters, $slaves, $last_used_connection, $in_transaction)
{
 static $slave_idx = 0;
 static $num_slaves = NULL;
 if (is_null($num_slaves))
  $num_slaves = count($slaves);

 /* predeterminado: volver a la lógica interna del comlemento */
 $ret = NULL;

 printf("El usuario se ha conectado a '%s'...\n", $connected);
 printf("... decidiendo dónde ejecutar '%s'\n", $query);

 $where = mysqlnd_ms_query_is_select($query);
 switch ($where)
 {
  case MYSQLND_MS_QUERY_USE_MASTER:
   printf("... usando el maestro\n");
   $ret = $masters[0];
   break;
  case MYSQLND_MS_QUERY_USE_SLAVE:
   /* SELECT or SQL hint for using slave */
   if (stristr($query, "FROM table_on_slave_a_only"))
   {
    /* una tabla que está únicamente en el primer esclavo configurado  */
    printf("... detectado un acceso a la tabla únicamente disponible en el esclavo A\n");
    $ret = $slaves[0];
   }
   else
   {
    /* rotativo */
    printf("... alguna consulta de solo lectura para un esclavo\n");
    $ret = $slaves[$slave_idx++ % $num_slaves];
   }
   break;
  case MYSQLND_MS_QUERY_LAST_USED:
   printf("... usando el último esclavo utilizado\n");
   $ret = $last_used_connection;
   break;
 }

 printf("... ret = '%s'\n", $ret);
 return $ret;
}

$mysqli = new mysqli("myapp", "root", "", "test");

if (!($res = $mysqli->query("SELECT 1 FROM DUAL")))
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
else
 $res->close();

if (!($res = $mysqli->query("SELECT 2 FROM DUAL")))
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
else
 $res->close();

if (!($res = $mysqli->query("SELECT * FROM table_on_slave_a_only")))
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
else
 $res->close();

$mysqli->close();
?>

El resultado del ejemplo sería:

El usuario se ha conectado a 'myapp'...
... decidiendo dónde ejecutar 'SELECT 1 FROM DUAL'
... alguna consulta de solo lectura para un esclavo
... ret = 'tcp://192.168.2.27:3306'
El usuario se ha conectado a 'myapp'...
... decidiendo dónde ejecutar 'SELECT 2 FROM DUAL'
... alguna consulta de solo lectura para un esclavo
... ret = 'tcp://192.168.78.136:3306'
El usuario se ha conectado a 'myapp'...
... decidiendo dónde ejecutar 'SELECT * FROM table_on_slave_a_only'
... detectado un acceso a la tabla únicamente disponible en el esclavo A
... ret = 'tcp://192.168.2.27:3306'

Filtro: user_multi object

El filtro user_multi se diferencia de user en un único aspecto. De otro modo su sintaxix sería idéntica. El filtro user debe elegir y devolver exactamente un nodo para la ejecución de sentecias. Una cadena de filtros normalmente finaliza con un filtro que emite un único nodo. La cadena de filtros reduciría la lista de candidatos para la ejecución de sentencias a uno. Este es el caso, sólo queda un nodo, después de haber ejecutado el filtro user.

El filtro user_multi es un filtro múltiple. Devuelve una lista de servidors esclavos y una lista de servidores maestros. La lista necesita más filtración para identificar exactamente un nodo para la ejecución de sentencias. Un filtro múltiple normalmente se coloca al principio de la cadenda de filtros. El filtro quality_of_service es otro ejemplo de filtro múltiple.

El valor devuelto por la llamada de retorno establecido por user_multi debe ser un array con dos elementos. El primero contiene una lista de los servidores maestros seleccionados. El segundo contiene una lista de los servidores esclavos seleccionados. Las listas contendrán las claves de los servidores maestros y esclavos tal como se encontraron en las listas de esclavos y maestros pasadas a la llamada de retorno. El ejemplo de abajo devuelve listas de maestros y esclavos aleatorios extraídas de la entrada de la función.

Ejemplo #19 Devolver maestros y esclavos aleatorios

<?php
function pick_server($connected, $query, $masters, $slaves, $last_used_connection, $in_transaction)
{
  $maestros_elegidos = array()
  foreach ($masters as $clave => $valor) {
    if (mt_rand(0, 2) > 1)
      $maestros_elegidos[] = $key;
  }
  $esclavos_elegidos = array()
  foreach ($slaves as $clave => $valor) {
    if (mt_rand(0, 2) > 1)
      $esclavos_elegidos[] = $clave;
  }
  return array($maestros_elegidos, $esclavos_elegidos);
}
?>

El complemento emitirá un error de tipo E_RECOVERABLE si la llamada de retorno falla al devolver la lista de servidores. El error puede ser (mysqlnd_ms) User multi filter callback has not returned a list of servers to use. The callback must return an array in %s on line %d ((mysqlnd_ms) La llamada de retorno del filtro de usuario no ha devuelto una lista de servidores a usar. La llamada de retorno debe devolver un array en %s en la línea %d). En caso de que la lista de servidores no esté vacía pero contenga claves/ids de servidores no válidos, e lanzaráun error de tipo E_RECOVERABLE con un mensaje de error como (mysqlnd_ms) User multi filter callback has returned an invalid list of servers to use. Server id is negative in %s on line %d ((mysqlnd_ms) La llamada de retorno del filtro de usuario ha devuelto una lista de servidores a usar no válida. El id del servidor es negativo en %s en la línea %d), o similar.

La emisión de un error en caso de que la lista de esclavos o de maestros esté vacía depende de la configuración. Si se devuelve una lista de maestros vacía para una operación de escritura, es probable que el complemento emita una advertencia como (mysqlnd_ms) Couldn't find the appropriate master connection. 0 masters to choose from. Something is wrong in %s on line %d ((mysqlnd_ms) No se pudo encontrar la conexión maestra apropiada. 0 maestros donde elegir. Algo está mal en %s en la línea %d). Normalmente también es seguida de un error de tipo E_ERROR. En el caso de una operación de lectura con una lista de servidores vacía, el comportamiento depende de la configuración de la tolerancia a fallos. Si ésta está habilitada en el maestro, no debería aparecer ningún error. Si está desactivada en el maestro, el complemento emitirá una advertencia como (mysqlnd_ms) Couldn't find the appropriate slave connection. 0 slaves to choose from. Something is wrong in %s on line %d ((mysqlnd_ms) No se pudo encontrar la conexión esclava apropiada. 0 esclavos donde elegir. Algo está mal en %s en la línea %d).

Filtro: node_groups object

El filtro node_groups permite agrupas nodos de clúster y consultar grupos seleccionados, por ejemplo, para dar soporte al particionamiento de datos. El particionamiento de datos puede ser neceario para la fragmentación manual, copia primaria basada el clústeres ejecutándose en múltiples maestros, o para evitar puntos calientes en actualizaciones de cualquier clúster que no posea particionamiento interno. El filtro es un filtro múltiple que devuelve cero, uno o múltiples servidores de su entrada. Así, le deben seguir otros filtros para reducir el número de candidatos a uno por ejecución de sentencia.

Palabra clave Descripción Versión
nombre del grupo de nodos definido por el usuario

Se debe definir uno o más grupos de nodos. Un grupos de nodos puede tener un nombre arbitrario definido por el usuario. El nombre se usa junto con una sugerencia SQL para restringir la ejecución de consultas a los nodos enumerados para el grupo de nodos. Para ejecutar una consulta en cualquier servidor de un grupo de nodos, esta debe comenzar con la sugerencia SQL /*user defined node group name*/. Observe que no están permitidos espacios en blanco en user defined node group name. Ya que user defined node group name se usa tal cual como parte de una sugerencia SQL, debería elegirse el nombre que siga las normas del lenguaje SQL.

Cada entrada del grupo de nodos debe contener una lista de servidores master. Están permitidos servidores slave adicionales. El no proporcionar una lista de master a un grupos de nodos name_of_group podría causar un error de tipo E_RECOVERABLE_ERROR como (mysqlnd_ms) No masters configured in node group 'name_of_group' for 'node_groups' filter.

La lista de servidores maestros y esclavos debe hacer referencia a las entradas correspondientes en la lista de servidores global de maestros y esclavos respectivamente. Hacer referencia a un servidor desconocido en ambas listas de servidores podría causar un error E_RECOVERABLE_ERROR como (mysqlnd_ms) Unknown master 'server_alias_name' (section 'name_of_group') in 'node_groups' filter configuration.

Ejemplo #20 Particionamiento manual

{
  "myapp": {
       "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.28",
                "port": 3306
            },
            "slave_1": {
                "host": "127.0.0.1",
                "port": 3311
            }
        },
        "filters": {
            "node_groups": {
                "Partition_A" : {
                    "master": ["master_0"],
                    "slave": ["slave_0"]
                }
            },
           "roundrobin": []
        }
    }
}

Observe que si una cadena de filtros genera una lista de esclavos vacía y la directiva de configuración de PHP mysqlnd_ms.multi_master=0 se usa, el complemento podría emitiri una advertencia.

Desde 1.5.0.
Filtro: quality_of_service object

El filtro quality_of_service identifica nodos del clúster capaces de proporcionar una calidad de servicio en particular. Es un filtro múltiple que devuelve cero, uno o múltiples de los servidores que se le proporcionen. Por lo tanto, deben seguirle otros filtros para reducir el número de candidatos a uno para la ejecución de sentecnias.

El filtro quality_of_service ha sido introducido en la versión 1.2.0-alpha. En las serires 1.2, el filtro se centra en el aspecto de la consistencia de la calidad del servicio. Diferentes tipos de clústeres ofrecen diferentes consistencias de datos predeterminadas. Por ejemplo, un esclavo de replicación MySQL asíncrono ofrece consistencia final. El esclavo podría no proporcionar los datos solicitados debido a que no ha replicado la escritura, podría servir una base de datos antigua debido a su demora, o podría servir información actual. A menudo, esto es aceptable. En algunos casos son necesarios niveles de consistencia mayor para que la aplicación funcione correctamente. En tales casos, quality_of_service puede ignorar los nodos del clúster que no proporcionen la calidad de servicio necesaria.

El filtro quality_of_service puede ser reemplazado o creado en tiempo de ejecución. Una llamada exitosa a mysqlnd_ms_set_qos() elimina todas las entradas de los filtros qos existentes de la lista de filtros e instala uno nuevo al principo de la misma. Todas los ajustes que se pueden hacer a través de mysqlnd_ms_set_qos() también pueden realizarse en el fichero de configuración del complemento. Sin embargo, el uso de la función es de lejos el caso más común. En lugar de establecer los niveles de servicios de consistencia de sesión y de consistencia fuerte en el fichero de configuración del complemento, se recomienda definir solamente maestros, y no esclavos. Ambos niveles de servicio forzarán el uso de maestros solamente. Usar una lista de esclavos vacía abrevia el fichero de configuración, y así se mejora su legibilidad. El único nivel de servicio en el que existe un caso para la definición en el fichero de configuración del complemento es la combinación de consistencia final y demora máxima de esclavos.

Palabra clave Descripción Versión
eventual_consistency

Solicita la consistencia final. Permite el uso de todos los servidores maestros y esclavos. Los datos devueltos pueden o no ser actuales.

La consistencia final acepta el parámetro opcional age. Si se proporciona age, el complemento considerará para la lectura solamente los esclavos que la replicación MySQL notifique que tengan una demora menor o igual a age. La demora de replicación se mide usando SHOW SLAVE STATUS. Si el complemento falla al recuperar la demora de replicación, saltará el esclavo comprobado. Los detalles de implementación y algunos consejos se proporcionan en la sección de conceptos de calidad de servicio.

Por favor, observe que si una cadena de filtros genera un lista vacía de esclavos y se usa la directiva de configuración de PHP mysqlnd_ms.multi_master=0, el complemento podría emitir una advertencia.

Ejemplo #21 Límite global de la demora de los esclavos

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27",
                "port": "3306"
            },
            "slave_1": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "filters": {
            "quality_of_service": {
                "eventual_consistency": {
                    "age":123
                }
            }
        }
    }
}

 Desde 1.2.0.
session_consistency

Solicita la consistencia de sesión (lectura de sus escrituras). Permite el uso de todos los maestros y todos los esclavos que están sincronizados con el maestro. Si no se proporcionan más parámetros, los esclavos son filtrados debido a que no existe una manera fiable de comprobar si un esclavo se a puesto al día con respecto al maestro o si está retrasado. Por favor, observe que si una cadena de filtros genera una lista de esclavos vacía y se usa la directiva de configuración de PHP mysqlnd_ms.multi_master=0, el complemento podría emitir una advertencia.

La solicitud temporal de la consistencia de sesión usando mysqlnd_ms_set_qos() es una alternativa a usar master_on_write. master_on_write probablemente envía más sentencias al maestro de las necesarias. La aplicación puede continuar la operación en un nivel de consistencia más bajo después de haber realizado algunas lecturas críticas.

Desde 1.1.0.
strong_consistency

Solitica la consistencia fuerte. Solamente serán usados los maestros.

Desde 1.2.0.
failover Hasta, e incluyendo 1.3.x: string. Desde 1.4.0: object.

Política de la tolerancia a fallos. Políticas admitidas: disabled (predeterminada), master, loop_before_master (desde 1.4.0).

Si no se establece ninguna política de tolerancia a fallos, el complemento no realizará ninguna tolerancia a fallos automática (failover=disabled). Siempre que el complemento falle al conectarse a un servidor, emitirá una advertencia y establecerá el código y el mensaje del error de conexión. A partir de entonces, es responsabilidad de la aplicación manejar el error y, por ejemplo, reenviar la última sentencia para provocar la selección de otro servidor.

Observe que la lógica de tolerancia a fallos automática se aplica al abrir conexiones solamente. Una vez que una conexión ha sido abierta, no se realizan intentos automáticos para reabrirla en caso de error. Si, por ejemplo, si la conexión a un servidor se cierra y el usuario intenta ejecutar una sentencia sobre dicha conexión, no se intentará la tolerancia a fallos automática. En su lugar se notificará un error.

Si se usa failover=master, el complemento implícitamente usará la tolerancia a fallos del maestro. Por favor, revise la documentación de conceptos para informarse sobre los problemas y riesgos potenciales del uso de failover=master.

Ejemplo #22 Tolerancia a fallos opcional en el maestro al fallar una conexión a un esclavo

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "failover": "master"
    }
}

Desde PECL/mysqlnd_ms 1.4.0 la palabra clave de la configuración de la tolerancia a fallos se refiere a un objeto.

Ejemplo #23 Nueva sintaxis desde 1.4.0

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "failover": {"strategy": "master" }
    }
}

Palabra clave Descripción Versión
strategy

Política de tolerancia a fallos. Valores posibles: disabled (predeterminado), master, loop_before_master

El valor disabled deshabilita la tolerancia a fallos automática.

Establecer master ordena al complemento a intentar conectarse a un maestro en caso de un error de conexión esclava. Si el intento de conexión maestra falla, el comlemento se saldrá del bucle de tolerancia a fallos y devolverá un error al usuario.

Si se usa loop_before_master y se realiza una petición a un esclavo, el complemento intentará conectarse a otro esclavo antes realizar la tolerancia a fallos en un maestro. Si se dan múltiples maestros y está habilitado el multimaestro, el complemento también iterará sobre la lista de maestros e intentará conectarse antes de devolver un error al usuario.

Desde 1.4.0.
remember_failed

Recuerda los fallos durante una petición web. Predeterminado: false.

Si se establece a true el complemento recordará los equipos anfitriones fallidos y los saltará en todos los equilibrados de carga futuros realizados para la duración de la petición web actual.

Desde 1.4.0. La característica solamente está disponible junto con con los filtros de equilibrado de carga random y roundrobin. Se recomienda el uso del ajuste.
max_retries

Número máximo de intentos de conexión antes de saltarse un equipo anfitrión. Predeterminado: 0 (sin límite).

Este ajuste se usa para prevenir que los equipos anfitriones sean elegidos de la lista host si ocurre un primer fallo. Si se establece a n > 0, el complemento guardará el nodo en la lista de nodos incluso después de un intento de conexión fallido. El nodo no será eliminado inmediatamente de las lista de esclavos y maestros respectivamente después del primer fallo de conexión, pero en su lugar se intentará conectar hasta n veces en las rondas de equilibrado de carga futuras antes de ser eliminado.

Desde 1.4.0. La característica solamente está disponible junto con con los filtros de equilibrado de carga random y roundrobin.

Establecer failover a cualquier valor distinto de disabled, master o loop_before_master no emitirá ninguna advertencia o error.

lazy_connections bool

Controla el uso de conexiones retardadas. Las conexiones retardadas son conexiones que no se abren antes de que un cliente envíe la primera conexión. Las conexiones retardadas son las predeterminadas.

Se recomeinda encarecidamente usar conexiones retardadas. Éstas ayudan a mantener bajo el número de conexiones abiertas. Si se desabilitan las conexiones retardas y, por ejemplo, se configura un servidor maestro de replicación MySQL y dos esclavos de replicación MySQL, el complemento abrirá tres conexiones en la primera llamada a la función de conexión, aunque la aplicación podría usar solamente la conexión maestra.

Las conexiones retardadas revelan un riesgo si se realizan un gran uso de acciones que cambian el estado de una conexión. El complemento no resolverá todas las acciones de cambio de estado de todas las conexiones de la agrupación de conexiones. Las pocas acciones resueltas son aplicadas solamente a conexiones ya abiertas. Las conexiones retardadas abiertas en el futuro no son afectadas. Solamente algunos ajustes son "recordados" y aplicados cuando las conexiones retardadas son abiertas.

Ejemplo #24 Deshabilitar las conexiones retardadas

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "lazy_connections": 0
    }
}

Por favor, véase también server_charset para superar problemas potenciales con el escapado de cadenas de texto y con servidores que utilicen conjuntos de caracteres diferentes del predeterminado.

server_charset string

Este ajuste ha sido introducido en la versión 1.4.0. Se recomienda establecerlo si se van a usar conexiones retardadas.

El ajuste server_charset sirve para dos propósitos. Actúa como conjunto de caracteres alternativo para su uso con el escapado de cadenas de texo realizado antes de que se haya establecido una conexión, y ayuda a evitar problemas de escapado en entornos heterogéneos con servidores que utilizan diferentes conjuntos de caracteres predeterminados.

El escapado de cadenas de texto toma en cuenta el conjunto de caracteres de una conexión. El escapado de cadenas de texto no es posible antes de que una conexión haya sido abierta y se conozca el conjunto de caracteres de de la conexión. El uso de conexiones retardadas demora la apertura real de conexiones hasta que se envíe una sentencia.

Una aplicación que utilice conexiones retardadas puede intentar escapar una cadena de texto antes de nviar una setencia. De hecho, esto debería ser un caso común, ya que la sentencia podría contener la cadena de texto que va a ser escapada. Sin embargo, debido a la característica de conexiones retardadas, aún no se ha abierto ninguna conexión y el escapado falla. El complemento podría notificar un error de tipo E_WARNING y un mensaje como (mysqlnd_ms) string escaping doesn't work without established connection. Possible solution is to add server_charset to your configuration ((mysqlnd_ms) el escapado de cadenas de texto no funciona sin establecer una conexión. Una posible solución es añadir server_charset a la configuración) para informar del problema.

Establecer server_charset hace que el complemento use el conjunto de caracteres dado para el escapado de cadenas de texto realizado sobre gestores de conexines retardadas antes de establecer una conexión de red a MySQL. Además, el complemento forzará el uso del conjunto de caracteres cuando la conexión sea establecida.

El forzado del uso del conjunto de caracteres utilizado para el escapado se realiza para prevenir los problemas de usar un conjunto de caracteres diferente para el escapado que el usado después para la conexión. Esto tiene el benificio adicional de eliminar la necesidad de ajustar la configuración del conjunto de caracteres de todos los servidores usados. No importa cuál sea el conjunto de caracteres predeterminado de cualquier servidor, el complemento establecerá el configurado como el predeterminado.

El complemento no impide al usuario cambiar el conjunto de caracteres en cualquier momento mediante la llamada a set_charset() o las setencias SQL correspondientes. Por favor, observe que el uso de SQL no se recomienda ya que no puede ser monitorizado por el complemento. El usuario puede, por ejemplo, cambiar el conjunto de caracteres sobre un gestor de conexiones retaradadas después de escapar una cadena de texto y antes de abrir la conexión real. El conjunto de caracteres establecido por el usuario será usado para cualquier escapado subsiguiente antes de que se establezca la conexión. Ésta será establecida usando el conjunto de caracteres configurado, sin importar cuál es el conjunto de caracteres del servidor ni cuál ha establecido el usuario antes. Una vez que una conexión ha sido abierta, set_charset ya no tiene sentido.

Ejemplo #25 Escapado de cadenas de texto sobre un gestor de conexiones retardadas

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "lazy_connections": 1,
        "server_charset" : "utf8"
    }
}
<?php
$mysqli = new mysqli("myapp", "nombre_usuario", "contraseña", "base_datos");
$mysqli->real_escape("esto será escapado usando el ajuste server_charset - utf8");
$mysqli->set_charset("latin1");
$mysqli->real_escape("esto será escapado usando latin1");
/* conjunto de caracteres del servidor implícitamente establecido - conexión utf8 */
$mysqli->query("SELECT 'Esta conexión será fijada a server_charset durante su establecimiento' AS _msg FROM DUAL");
/* latin1 se usará de aquí en adelante */
$mysqli->set_charset("latin1");
?>

master_on_write bool

Si se establece, el complemento usará únicamente el servidor maestro después de que se haya ejecutado la primera sentencia en el maestro. Las aplicaciones aún pueden enviar sentencias a los esclavos usando sugerencias SQL para invalidar la decisión automática.

Este ajuste puede ser útil con la demora de replicación. Si una aplicación ejecuta un INSERT, el complemento usará, de manera predeterminada, el maestro para ejecutar todas las sentencias siguientes, incluidas las sentencias SELECT. Esto ayuda a evitar problemas con las lecturas desde los esclavos que no hayan replicado aún el INSERT.

Ejemplo #26 master_on_write para lecturas consistentes

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "master_on_write": 1
    }
}

Por favor, observe que el filtro quality_of_service fue introducido en la versión 1.2.0-alpha. Proporciona mayor control sobre, por ejemplo, la realización de la lectura se sus escrituras y ofrece funcionalidad adicional introduciendo los niveles de servicio.

Todos los ajustes de adhesión de transacciones, incluyendo trx_stickiness=on, son invalidados por master_on_write=1.

trx_stickiness string

Política de adhesión de transacciones. Las políticas admitidas son: disabled (predeterminada), master.

Este ajuste requiere la versión 5.4.0 o posterior. Si se usa con una versión de PHP anterior a la 5.4.0, el complemetno emitirá una advertencia como (mysqlnd_ms) trx_stickiness strategy is not supported before PHP 5.3.99 ((mysqlnd_ms) La estrategia trx_stickiness no está soportada antes de PHP 5.3.99).

Si no se establece ningun política de adhesión de transacciones o si se establece trx_stickiness=disabled, el complemento no considerará las transacciones. Por lo tanto, el complemento podrá realizar el equilibrado de carga de conexiones y el intercambio de conexiones en mitad de una trasacción. El complemento no es seguro con las transacciones. Se deben usar sugerencias SQL para evitar el intercambio de conexiones durante una transacción.

A partir de PHP 5.4.0, la bibliteca mysqlnd permite al complemento monitorizar el modo autocommit mediante las llamadas a la función set_autocommit() de la biblioteca. Si se establece set_stickiness=master y se deshabilita autocommit mediante una extensión de MySQL para PHP que invoque la llamada a la función interna set_autocommit() de la biblioteca mysqlnd, hará que el complemento considere el comienzo de una transacción. Luego, el complemento detiene el equilibrado de carga y dirige todas las setencias al servidor maestro hasta que autocommit sea habilitado. Por lo tanto, no son necesarias las sugerencias SQL.

Un ejemplo de una función de la API de MySQL para PHP que llama a la función interna set_autocommit() de la biblioteca mysqlnd es mysqli_autocommit().

Aunque se establezca trx_stickiness=master, el complemento no puede considerar los cambios del modo autocommit causados por sentencias SQL como SET AUTOCOMMIT=0 o BEGIN.

A partir de PHP 5.5.0, la biblioteca mysqlnd introduce llamadas adicionales a la API en C para controlar transacciones. El nivel de control coincide con el ofrecido por sentencias SQL. La API mysqli ha sido modificada para usar dichas llamadas. Desde la versión 1.5.0, PECL/mysqlnd_ms puede monitorizar no solo mysqli_autocommit(), sino también mysqli_begin(), mysqli_commit() y mysqli_rollback() para detectar los límites de transacciones y detener el equilibrado de carga durante una transacción.

Ejemplo #27 Utilizar el maestro para ejecutar transacciones

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "trx_stickiness": "master"
    }
}

Desde la versión 1.5.0, la tolerancia a fallos automática y silenciosa está deshabilitada durante una transacción. Si los límites de una transacción han sido detectados apropiadamente, la adhesión de transacciones está habilitada y un servidor falla, el complemento no intentará realizar la tolerancia a fallos en el siguiente servidor, si lo hubiera, sin importar la configuración de la política de tolerancia a fallos. El usuario debe manejar el error de forma manual. Dependiendo de la configuración, el complemento podría emitir un error de tipo E_WARNING como (mysqlnd_ms) Automatic failover is not permitted in the middle of a transaction. Este error podría ser sobrescrito por errores siguientes como (mysqlnd_ms) No connection selected by the last filter. Esos errores serán generados por la función de consulta que falló.

Ejemplo #28 Sin tolerancia a fallos automáticia, inconveniente al manejar errores

<?php
/* supuesto: configurada la tolerancia a fallos automática */
$mysqli = new mysqli("myapp", "username", "password", "database");

/* establece el estado interno del complemento a in_trx = 1 */
$mysqli->autocommit(false);

/* supuesto: el servidor falla */
if (!($res = $mysqli->query("SELECT 'Assume this query fails' AS _msg FROM DUAL"))) {
 /* manejar el fallo de la transacción, el estado interno del complemento aún es in_trx = 1 */
 printf("[%d] %s", $mysqli->errno, $mysqli->error);
 /*
  Si se usa autocommit() basado en la detección de transacciones, es un
  DEBER llamar a autocommit(true). De lo contrario el complemento asume
  que la transacción actual continua y los cambios de
  la conexión permanecen prohibidos.
 */
 $mysqli->autocommit(true);
 /* Igualmente, querrá iniciar una nueva transacción */
 $mysqli->autocommit(false);
}
/* latin1 de ahora en adelante */
$mysqli->set_charset("latin1");
?>

Si un servidor falla en mitad de una transacción, el complemento continua rechazando el intercambio de conexiones hasta que haya finalizado la transacción en curso. Recuerde que el complemento monitoriza las llamadas a la API para detectar los límites de las transacciones. Por tanto, se ha de, por ejemplo, habilitar el modo auto commit para finalizar la transacción actual antes de que el complemento continue equilibrando la carga e intercambiando el servidor. De igual modo, querrá iniciar una nueva transacción inmediantamente a partir de aquí y deshabilitar de nuevo el modo auto commit.

El no manejar las consultas fallidas y no finalizar una transacción fallida usando las llamadas a la API, podría causar que todos los comandos siguientes emitan errores como Commands out of sync; you can't run this command now. Por lo tanto, es importante manejar todos los errores.

transient_error object

El ajuste ha sido introducido en la versión 1.6.0.

Un nodo de un clúster de una base de datos podría replicar un error transitorio a un cliente. El cliente puede entonces repetir la operación sobre el mismo nodo, recurrir a otro nodo diferente o abortar la operación. Por definición, es seguro que un cliente reintente la misma operación sobre el mismo nodo antes de rendirse.

PECL/mysqlnd_ms puede realizar el bucle de reintento en nombre de la aplicación. Configurando transient_error, el complemento puede ser instruido para que repita las operaciones que fallen con ciertos códigos de error para un número máximo de veces con una pausa entre cada reintento. Si el error transitorio desaparece durante la ejecución del bucle, se oculta a la aplicación. De lo contrario, el error es reenviado a la aplicación al finalizar el bucle.

Ejemplo #29 Bucle de reintentos para errores transitorios

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
       },
       "transient_error": {
          "mysql_error_codes": [
            1297
          ],
          "max_retries": 2,
          "usleep_retry": 100
       }
    }
}

Palabra clave Descripción Versión
mysql_error_codes

La lista de los códigos de errores transitorios. Se podría añadir cualquier código de error de MySQL a la lista. Es posible considerar cualquier error como transitorio, no únicamente el 1297 (HY000 (ER_GET_TEMPORARY_ERRMSG), Message: Got temporary error %d '%s' from %s). Antes de añadir otros códigos, excepto el 1297, a la lista, asegúrese de que el clúster admite un nuevo intento sin impactar sobre el estado de la aplicación.

Desde 1.6.0.
max_retries

Cuántas veces reintentar una operación que falla con un error transitorio antes de reenviar el fallo al usuario.

Predeterminado: 1

Desde 1.6.0.
usleep_retry

Milisegundos a dormir antes de reintentar el error transitorio. El valor es pasado a la función usleep() en C, de ahí el nombre.

Predeterminado: 100

Desde 1.6.0.

Configuración en tiempo de ejecución
Fichero de configuración del complemento (<= 1.0.x)
Instalación/Configuración


Fichero de configuración del complemento (<= 1.0.x)

Nota:

La descripción de abajo se aplica a PECL/mysqlnd_ms < 1.1.0-beta. No es válida para versiones posteriores.

El complemento usa su propio fichero de configuración. Éste guarda información sobre el servidor maestro de replicación MySQL, los servidores esclavos de replicación MySQL, la política de elección (equilibrado de carga), la estrategia de tolerancia a fallos, y el uso de conexiones retardadas.

La directiva de configuración de PHP mysqlnd_ms.ini_file se usa para establecer el fichero de configuración del complemento.

El fichero de configuración imita el estándar del formato de php.ini. Consiste en una o más secciones. Cada sección define su propia unidad de ajustes. No existe una sección global para ajustes globales.

Las aplicciones hacen referencia a las secciones por su nombre. Las aplicaciones usan los nombres de las secciones como el parámetro 'host' (servidor) de los distintos métodos de conexión de las extensiones mysqli, mysql y PDO_MYSQL. Durante la conexión, el complemento de mysqlnd compara el nombre del equipo anfitrión con todos los nombres de las secciones del fichero de configuración del complemento. Si el nombre del equipo anfitrión y el nombre de la sección coinciden, el complemento cargará la configuración de esa sección.

Ejemplo #1 Ejemplo del uso de nombres de sección

[myapp]
master[] = localhost
slave[] = 192.168.2.27
slave[] = 192.168.2.28:3306
[localhost]
master[] = localhost:/tmp/mysql/mysql.sock
slave[] = 192.168.3.24:3305
slave[] = 192.168.3.65:3309
<?php
/* Todas las conexiones siguientes tendrán equilibrado de carga */
$mysqli = new mysqli("myapp", "nombre_usuario", "contraseña", "base_datos");
$pdo = new PDO('mysql:host=myapp;dbname=base_datos', 'nombre_usuario', 'contraseña');
$mysql = mysql_connect("myapp", "nombre_usuario", "contraseña");

$mysqli = new mysqli("localhost", "nombre_usuario", "contraseña", "base_datos");
?>

Los nombres de sección son cadenas de texto. Es válido usar nombres de sección como 192.168.2.1, 127.0.0.1 o localhost. Si, por ejemplo, una aplicación se conexta a localhost y existe una sección de configuración del complemento llamada [localhost], la semántica de la operación de conexión se cambia. La aplicación ya no usará únicamente el servidor MySQL que se ejecuta en el equipo anfitrión localhost, sino que el complemento iniciará el equilibrado de carga de las consultas MySQL siguiendo las reglas de la sección de configuración [localhost]. De esta manera se puede realizar el equilibrado de carga de consultas desde una aplicación sin cambiar el código fuente de la misma.

Las directivas de configuración master[], slave[] y pick[] usan una sintaxis similar a una lista. Las directivas de configuración que admiten la sintaxis de lista pueden aparecer varias veces en la sección de configuración. El complemento mantiene el orden en el que aparecen las entradas cuando las interpreta. Por ejemplo, el ejemplo de abajo muestra dos directivas de configuración slave[] en la sección de configuración [myapp]. Si se realiza el equilibrado de carga rotativo para consultas de solo lectura, el complemento enviará la primera consulta de solo lectura al servidor MySQL mysql_slave_1 ya que es el primero de la lista. La segunda consulta de solo lectura será enviada al servidor MySQL mysql_slave_2 ya que es el segundo de la lista. Los resultados de las directivas de configuración que admiten la sintaxis de lista están ordenados de arriba a abajo según su aparación dentro de la sección de configuración.

Ejemplo #2 Sintaxis de lista

[myapp]
master[] = mysql_master_server
slave[] = mysql_slave_1
slave[] = mysql_slave_2

He aquí una breve explicación de las directivas de configuración que se pueden usar.

master[] string

URI de un servidor maestro de replicación MySQL. El URI sigue la sintaxis hostname[:port|unix_domain_socket].

El complemento admite el uso de un único servidor maestro.

Es obligatorio establece un servidor esclavo. El complemento notificará una advertencia sobre la conexión si el usuario ha fallado al proporcionar un servidor esclavo en la sección de configuración. La advertencia podría ser (mysqlnd_ms) Cannot find master section in config ((mysqlnd_ms) No se pudo encontrar una sección de maestros en la configuración). Además, el complemento puede establecer un código de error para el gestor de conexión tal como HY000/2000 (CR_UNKNOWN_ERROR). El mensaje de error correspondiente depende de la configuración del lenguaje.

slave[] string

URI de uno o más servidores esclavos de replicación MySQL. El URI sigue la sintaxis hostname[:port|unix_domain_socket].

El complemento admite el uso de uno o más servidores esclavos.

Es oblligatorio establecer un servidor esclavo. El complemento notificará una advertencia sobre la conexión si el usuario ha fallado al proporcionar al menos un servidor esclavo en la sección de configuración. La advertencia podría ser (mysqlnd_ms) Cannot find slaves section in config ((mysqlnd_ms) No se pudo encontrar una sección de esclavos en la configuración). Además, el complemento puede establecer un código de error para el gestor de conexión tal como HY000/2000 (CR_UNKNOWN_ERROR). El mensaje de error correspondiente depende de la configuración del lenguaje.

pick[] string

La política de equilibrado de carga (selección de servidores). Políticas soportadas: random, random_once (predeterminada), roundrobin, user.

Si no se establece ninguna política de equilibrado de carga, el complemento usará como predeterminada random_once. La política random_once elige un servidor esclavo aleatorio al ejecutar la primera sentencia de solo lectura. Este servidor esclavo será utilizado para todas las sentencias de solo lectura hasta que finalice la ejecución del script de PHP.

La política random eligirá un servidor aleatorio siempre que se ejecute una sentencia de solo lectura.

Si se usa roundrobin el complemento iterará sobre la lista de servidores esclavos configurados para elegir uno para la ejecución de sentencias. Si el complemento alcanza el final de la lista, volverá al comienzo de la misma y eligirá el primer servidor esclavo configurado.

El establecimiento de más de una política de equilibrado de carga en una sección de configuración solamente tiene sentido si se usa user y mysqlnd_ms_set_user_pick_server() juntos. Si la llamada de retorno del usuario falla al elegir un servidor, el complemento volverá a la segunda política de equilibrado de carga cofigurada.

failover string

Política de tolerancia de fallos. Políticas admitidas: disabled (predeterminada), master.

Si no se establece ninguna política de tolerancia a fallos, el complemento no realizará ninguna tolerancia a fallos automática (failover=disabled). Siempre que el complemento falle al conectarse a un servidor, emitirá una advertencia y establecerá el código y el mensaje del error de conexión. A partir de entonces, es responsabilidad de la aplicación manejar el error y, por ejemplo, reenviar la última sentencia para provocar la selección de otro servidor.

Si se usa failover=master, el complemento implícitamente usará la tolerancia a fallos de un esclavo. Por favor, revise la documentación de conceptos para informarse sobre los problemas y riesgos potenciales del uso de failover=master.

lazy_connections bool

Controla el uso de conexiones retardadas. Las conexiones retardadas son conexiones que no se abren antes de que un cliente envíe la primera conexión. Las conexiones retardadas son las predeterminadas.

Se recomeinda encarecidamente usar conexiones retardadas. Éstas ayudan a mantener bajo el número de conexiones abiertas. Si se desabilitan las conexiones retardas y, por ejemplo, se configura un servidor maestro de replicación MySQL y dos esclavos de replicación MySQL, el complemento abrirá tres conexiones en la primera llamada a la función de conexión, aunque la aplicación podría usar solamente la conexión maestra.

Las conexiones retardadas revelan un riesgo si se realizan un gran uso de acciones que cambian el estado de una conexión. El complemento no resolverá todas las acciones de cambio de estado de todas las conexiones de la agrupación de conexiones. Las pocas acciones resueltas son aplicadas solamente a conexiones ya abiertas. Las conexiones retardadas abiertas en el futuro no son afectadas. Si, por ejemplo, se cambia el conjunto de caracteres de la conexión usando una llamada a la API de MySQL para PHP, el complemento cambiará el conjunto de caracteres de todas las conexiones abiertas en uso. No recordraá el cambio del conjunto de caracteres para aplicarlo en las conexiones retardadas abiertas en el futuro. Como resultado, la agrupación de conexiones interna guardaría conexiones que usarían diferencites conjuntos de caracteres. Esto no es lo deseado. Recuerde que los conuntos de caracteres se toman en cuenta para el escapado.

master_on_write bool

Si se establece, el complemento usará únicamente el servidor maestro después de que se haya ejecutado la primera sentencia en el maestro. Las aplicaciones aún pueden enviar sentencias a los esclavos usando sugerencias SQL para invalidar la decisión automática.

Este ajuste puede ser útil con la demora de replicación. Si una aplicación ejecuta un INSERT, el complemento usará, de manera predeterminada, el maestro para ejecutar todas las sentencias siguientes, incluidas las sentencias SELECT. Esto ayuda a evitar problemas con las lecturas desde los esclavos que no hayan replicado aún el INSERT.

trx_stickiness string

Política de adhesión de transacciones. Las políticas admitidas son: disabled (predeterminada), master.

Característica experimental.

Este ajuste requiere la versión 5.4.0 o posterior. Si se usa con una versión de PHP anterior a la 5.4.0, el complemetno emitirá una advertencia como (mysqlnd_ms) trx_stickiness strategy is not supported before PHP 5.3.99 ((mysqlnd_ms) La estrategia trx_stickiness no está soportada antes de PHP 5.3.99).

Si no se establece ningun política de adhesión de transacciones o si se establece trx_stickiness=disabled, el complemento no considerará las transacciones. Por lo tanto, el complemento podrá realizar el equilibrado de carga de conexiones y el intercambio de conexiones en mitad de una trasacción. El complemento no es seguro con las transacciones. Se deben usar sugerencias SQL para evitar el intercambio de conexiones durante una transacción.

A partir de PHP 5.4.0, la bibliteca mysqlnd permite al complemento monitorizar el modo autocommit mediante las llamadas a la función set_autocommit() de la biblioteca. Si se establece set_stickiness=master y se deshabilita autocommit mediante una extensión de MySQL para PHP que invoque la llamada a la función interna set_autocommit() de la biblioteca mysqlnd, hará que el complemento considere el comienzo de una transacción. Luego, el complemento detiene el equilibrado de carga y dirige todas las setencias al servidor maestro hasta que autocommit sea habilitado. Por lo tanto, no son necesarias las sugerencias SQL.

Un ejemplo de una función de la API de MySQL para PHP que llama a la función interna trx_autocommit() de la biblioteca mysqlnd es mysqli_autocommit().

Aunque se establezca ser_stickiness=master, el complemento no puede considerar los cambios del modo autocommit causados por setnencias SQL como SET AUTOCOMMIT=0.

Fichero de configuración del complemento (>=1.1.x)
Probando el complemento
Instalación/Configuración


Probando el complemento

Nota:

Esta sección se aplica a la versión mysqlnd_ms 1.1.0 o posterior, no a la serie 1.0.

El conjunto de pruebas de PECL/mysqlnd_ms se encuentra en el directorio tests/ de la distribución del código fuente. El conjunto de pruebas consiste en unas pruebas phpt estándar, que están descriptas en la página web de PHP Quality Assurance Teams.

La ejecución de las pruebas requiere configurar de uno a cuatro servidores MySQL. Algunas pruebas no se conectan a MySQL de ningún mofo. Otras requieren un servidor. Algunas requieren dos servidores distintos. En algunos casos se usan dos servidores para emular una configuración de replicación. En otros casos se requieren un maestro y un esclavo existentes de una configuración de replicación MySQL. Las pruebas intentarán detectar cuántos servidores y qué tipo de servidores se dan. Si no se encuentran los servidores requeridos, la prueba será saltada automáticamente.

Antes de ejecutar las pruebas, edite tests/config.inc para configurar los servidores MySQL a usar durante las mismas.

La configuracion más básica es como sigue.

 putenv("MYSQL_TEST_HOST=localhost");
 putenv("MYSQL_TEST_PORT=3306");
 putenv("MYSQL_TEST_USER=root");
 putenv("MYSQL_TEST_PASSWD=");
 putenv("MYSQL_TEST_DB=test");
 putenv("MYSQL_TEST_ENGINE=MyISAM");
 putenv("MYSQL_TEST_SOCKET=");

 putenv("MYSQL_TEST_SKIP_CONNECT_FAILURE=1");
 putenv("MYSQL_TEST_CONNECT_FLAGS=0");
 putenv("MYSQL_TEST_EXPERIMENTAL=0");

 /* replication cluster emulation */
 putenv("MYSQL_TEST_EMULATED_MASTER_HOST=". getenv("MYSQL_TEST_HOST"));
 putenv("MYSQL_TEST_EMULATED_SLAVE_HOST=". getenv("MYSQL_TEST_HOST"));

 /* real replication cluster */
 putenv("MYSQL_TEST_MASTER_HOST=". getenv("MYSQL_TEST_EMULATED_MASTER_HOST"));
 putenv("MYSQL_TEST_SLAVE_HOST=". getenv("MYSQL_TEST_EMULATED_SLAVE_HOST"));

MYSQL_TEST_HOST, MYSQL_TEST_PORT y MYSQL_TEST_SOCKET definen el nombre del equipo anfitrión, el puerto TCP/IP y el socket de dominio Unix del servidor de la base de datos predeterminado. MYSQL_TEST_USER y MYSQL_TEST_PASSWD contienen el usuario y la contraseña necesarios para conectarse a la base de datos o esquema configurado con MYSQL_TEST_DB. Todos los servidores configurados han de tener el mismo usuario de base de datos configurado para proporcionar el acceso a la base de datos de prueba.

Con la sintaxis host, host:puerto o host:/ruta/al/socket se puede establecer un equipo anfitrión, un equipo anfitrión y un puerto o un equipo anfitrión y un socket suplentes para cualquier servidor.

putenv("MYSQL_TEST_SLAVE_HOST=192.168.78.136:3307"));
putenv("MYSQL_TEST_MASTER_HOST=myserver_hostname:/path/to/socket"));

Fichero de configuración del complemento (<= 1.0.x)
Depuración y rastreo
Instalación/Configuración


Depuración y rastreo

El registro de depuración de mysqlnd se puede usar para depurar y rastrear las actividades de PECL/mysqlnd_ms. Al igual que mysqlnd, PECL/mysqlnd_ms añade información de rastreo al fichero de depuración de la bibliteca mysqlnd. Por favor, lea la directiva de configuración mysqlnd.debug de PHP para una descripción detallada de cómo configurar el registro de depuración.

Ejemplo de ajuste de configuración para activar el registro de depuración:

mysqlnd.debug=d:t:x:O,/tmp/mysqlnd.trace

Nota:

Esta característica solamente está disponible con una construcción de depuración de PHP. Funciona en Microsoft Windows si se usa una construcción de depuración de PHP y PHP fue compilado usando Microsoft Visual C versión 9 y superior.

El registro de depuración muestra las llamadas a las funciones de la biblioteca mysqlnd y del complemento PECL/mysqlnd_ms, similar a un registro de rastreo. Las llamadas de la biblioteca mysqlnd normalmente están prefijadas con mysqlnd_. Las llamadas internas a PECL/mysqlnd comienzan con mysqlnd_ms.

Extracto de ejemplo del registro de depuración (conectar):

[...]
>mysqlnd_connect
| info : host=myapp user=root db=test port=3306 flags=131072
| >mysqlnd_ms::connect
| | >mysqlnd_ms_config_json_section_exists
| | | info : section=[myapp] len=[5]
| | | >mysqlnd_ms_config_json_sub_section_exists
| | | | info : section=[myapp] len=[5]
| | | | info : ret=1
| | | <mysqlnd_ms_config_json_sub_section_exists
| | | info : ret=1
| | <mysqlnd_ms_config_json_section_exists
[...]

El registro de depuración no sólo es útila para los desarrolladores del complemento, sino también para encontrar la causa de los errores ocurridos. Por ejemplo, si una aplicación no maneja apropiadamente los errores y falla al registrar mensajes de error, la revisión del registro de depuración y rastreo podría ayudar a encontrar la causa. El uso del registro de depuración para depurar problemas de una aplicación debería considerarse solamente si no está disponible ninguna otra opción. Escribir el registro de depuración en el disco es una operación lenta y podría tener un impacto negativo sobre el rendimiento de la aplicación.

Extracto de ejemplo del registro de depuración (fallo de conexión):

[...]
| | | | | | | info : adding error [Access denied for user 'root'@'localhost' (using password: YES)] to the list
| | | | | | | info : PACKET_FREE(0)
| | | | | | | info : PACKET_FREE(0x7f3ef6323f50)
| | | | | | | info : PACKET_FREE(0x7f3ef6324080)
| | | | | | <mysqlnd_auth_handshake
| | | | | | info : switch_to_auth_protocol=n/a
| | | | | | info : conn->error_info.error_no = 1045
| | | | | <mysqlnd_connect_run_authentication
| | | | | info : PACKET_FREE(0x7f3ef63236d8)
| | | | | >mysqlnd_conn::free_contents
| | | | | | >mysqlnd_net::free_contents
| | | | | | <mysqlnd_net::free_contents
| | | | | | info : Freeing memory of members
| | | | | | info : scheme=unix:///tmp/mysql.sock
| | | | | | >mysqlnd_error_list_pdtor
| | | | | | <mysqlnd_error_list_pdtor
| | | | | <mysqlnd_conn::free_contents
| | | | <mysqlnd_conn::connect
[...]

El registro de rastreo también se puede usar para verificar el comportamiento correcto del mismo PECL/mysqlnd_ms, por ejemplo, para comprobar qué servidor ha sido seleccionado para la ejecución de una consulta y por qué.

Extracto de ejemplo del registro de depuración (decisión del complemento):

[...]
>mysqlnd_ms::query
| info : query=DROP TABLE IF EXISTS test
| >_mysqlnd_plugin_get_plugin_connection_data
| | info : plugin_id=5
| <_mysqlnd_plugin_get_plugin_connection_data
| >mysqlnd_ms_pick_server_ex
| | info : conn_data=0x7fb6a7d3e5a0 *conn_data=0x7fb6a7d410d0
| | >mysqlnd_ms_select_servers_all
| | <mysqlnd_ms_select_servers_all
| | >mysqlnd_ms_choose_connection_rr
| | | >mysqlnd_ms_query_is_select
[...]
| | | <mysqlnd_ms_query_is_select
[...]
| | | info : Init the master context
| | | info : list(0x7fb6a7d3f598) has 1
| | | info : Using master connection
| | | >mysqlnd_ms_advanced_connect
| | | | >mysqlnd_conn::connect
| | | | | info : host=localhost user=root db=test port=3306 flags=131072 persistent=0 state=0

En este caso, la sentencia DROP TABLE IF EXISTS test ha sido ejecutada. Observe que el string de la sentencia se muestra en el fichero de registro. Se podrían tomar medidas para restringir el acceso al registro por consideraciones de seguridad.

La sentencia ha sido equilibrada en carga usando la política de rotación ('round robin'), como se puede adivinar fácilmente del nombre de la función >mysqlnd_ms_choose_connection_rr. Ha sido enviada a un servidor maestro que se ejecuta en host=localhost user=root db=test port=3306 flags=131072 persistent=0 state=0.

Probando el complemento
Monitorización
Instalación/Configuración


Monitorización

La actividad del complemento se puede monitorizar usando el registro de rastreo de mysqlnd, las estadísticas de mysqlnd, las estadísticas del complemento mysqlnd_ms y herramientas de depuración externas de PHP. El uso del registro de rastreo debería limitarse a la depuración. Se recomienda usar las estadísticas del complemento para la monitorización.

La escritura de un registro de rastreo es una operación lenta. Si se usa una herramiento de depuración externa de PHP, consulte el manual del proveedor para el impacto de rendimiento y el tipo de información recopilada. En la mayoría de los casos, las herramientas de depuración externas proporcionarán pilas de llamadas. A menudo, es más difícil interpretar una pila de llamadas o un registro de rastreo que las estadísticas proporcionadas por el complemento.

Las estadísticas del complemento indican con qué frecuencia se ha usado un tipo de clúster (esclavo o maestro), por qué se ha usado el nodo, si se han usado conexiones retardadas y si se ha realizado una inyección de ID de transacciones global. La información de la monitorización proporcionada permite al usuario verificar las decisiones del complemento y planear los recursos del clúster basándose en el patrón de uso. La función mysqlnd_ms_get_stats() se usa para acceder a las estadísticas. Por favor, vea las descripciones de las funciones para obtener una lista de las estadísticas disponibles.

Las estadísticas se recopilan en base a cada proceso de PHP. Su alcance es un proceso de PHP. Dependiendo del modelo de desarrollo de PHP, un proceso puede servir una o múltiples peticiones web. Si se usa el modelo CGI, un proceso de PHP sirve una petición web. Si se usa FastCGI o modelos de servidores web prebifurcados, un modelo de PHP normalmente servirá múltiples peticiones web. Lo mismo ocurre en el caso de un servidor web con subprocesos. Observe que los hilos ejecutados en paralelo podrían actualizar las estadísticas en paralelo. Por lo tanto, si se usa un modelo de desarrolo de PHP con hilos, las estadísticas podrían ser modificadas por más de un script al mismo tiempo. Un script no puede depender del hecho de que vea solamente sus propios cambios realizados a las estadísticas.

Ejemplo #1 Comprobar la actividad del complemento en un modelo de desarrollo sin hilos

mysqlnd_ms.enable=1
mysqlnd_ms.collect_statistics=1
<?php
/* Equilibrado de carga siguiendo las reglas de la sección "myapp" del fichero de configuración del complemento (no se muestra) */
$mysqli = new mysqli("myapp", "nombre_usuario", "contraseña", "base_datos");
if (mysqli_connect_errno())
  /* Por supuesto, su manejo de errores es más agradable... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

$stats_before = mysqlnd_ms_get_stats();
if ($res = $mysqli->query("SELECT 'Read request' FROM DUAL")) {
  var_dump($res->fetch_all());
}
$stats_after = mysqlnd_ms_get_stats();
if ($stats_after['use_slave'] <= $stats_before['use_slave']) {
  echo "Según las estadísticas, ¡la petición de lectura no se ha ejecutado en un esclavo!";
}
?>

Las estadísticas se agregan para todas las actividades del complemento y todas las conexión manejadas por el mismo. No es posible indicar cuánto contribuye un gestor de conexión en particular para el total de las estadísticas.

Utilizar la función de PHP register_shutdown_function() o la directiva de configuración de PHP auto_append_file es posiblemente más sencillo para volcar las estadísticas, por ejemplo, a un fichero de registro cuando un script finaliza. En lugar de usar un fichero de registro, también es posible enviar las estadísticas a una herramienta externa de monitorización para su registro y visualización.

Ejemplo #2 Registrar las estadístcias durante el cierre

mysqlnd_ms.enable=1
mysqlnd_ms.collect_statistics=1
error_log=/tmp/php_errors.log
<?php
function check_stats() {
  $msg = str_repeat("-", 80) . "\n";
  $msg .= var_export(mysqlnd_ms_get_stats(), true) . "\n";
  $msg .= str_repeat("-", 80) . "\n";
  error_log($msg);
}
register_shutdown_function("check_stats");
?>

Depuración y rastreo
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Relacionadas con sugerencias SQL

Ejemplo #1 Ejemplo demostrando el uso de constantes de mysqlnd_ms

El complemento de replicación y equilibrado de carga de mysqlnd (mysqlnd_ms) realiza la división de lectura/escritura. Esta división dirige las consultas de escritura a u servidor maestro de MySQL, y las consultas de solo lectura a servidores esclavos de MySQL. El complemento posee una lógica interna de división de lectura/escritura. Todas las consultas que empiecen con SELECT son consideradas consultas de solo lectura, las cuales son enviadas a un servidor esclavo de MySQL que esté enumerado en el fichero de configuración del complmento. Todas las demás consultas son dirigidas al servidor maestro de MySQL que también está especifcado en el fichero de configuración del complemento.

Las sugerencias SQL proporcionadas por un usuario se pueden usar para invalidar la división automática de lectura/escritura, para poder obtener control total sobre el proceso. Las sugerencias SQL siguen el estándar de los comentarios SQL. El complemento examinará el comienzo de un string de consulta para buscar un comentario SQL para ciertos comandos, los cuales luego controlarán la redirección de la consulta. Otros sistemas involucrados en el procesamiento de la consulta no se ven afectados por las sugerencias SQL, ya que dichos sistemas ignorarán los comentarios SQL.

El complemento admite tres sugerencias SQL para dirigir consultas a los servidores esclavos de MySQL, al servidor maestro de MySQL, o al último servidor MySQL usado. Las sugerencias SQL se deben colocar al comienzo de una consulta para que puedan ser reconocidas por el complemento.

Para una mejor portabilidad, se recomienda usar las constantes como string ( MYSQLND_MS_MASTER_SWITCH, MYSQLND_MS_SLAVE_SWITCH y MYSQLND_MS_LAST_USED_SWITCH) en lugar de sus valores literales.

<?php
/* Usar constantes para una portabilidad máxima */
$master_query = "/*" . MYSQLND_MS_MASTER_SWITCH . "*/SELECT id FROM test";

/* Válido pero menos portable: usar literales en lugar de constantes */
$slave_query = "/*ms=slave*/SHOW TABLES";

printf("master_query = '%s'\n", $master_query);
printf("slave_query = '%s'\n", $slave_query);
?>

El resultado de los ejemplos serían:

master_query = /*ms=master*/SELECT id FROM test
slave_query = /*ms=slave*/SHOW TABLES

MYSQLND_MS_MASTER_SWITCH (string)
Sugerencia SQL usada para enviar una consulta al servidor maestro de replicación MySQL.
MYSQLND_MS_SLAVE_SWITCH (string)
Sugerencia SQL usada para enviar una consulta a uno de los servidores esclavos de replicación MySQL.
MYSQLND_MS_LAST_USED_SWITCH (string)
Sugerencia SQL usada para enviar una consulta al último servidor MySQL usado. Este servidor puede ser un servidor maestro o esclavo en una configuración de replicación MySQL.

Relacionadas con mysqlnd_ms_query_is_select()

MYSQLND_MS_QUERY_USE_MASTER (integer)
Si mysqlnd_ms_is_select() devuelve MYSQLND_MS_QUERY_USE_MASTER para una consulta dada, el mecanismo interno de división de lectura/escritura recomienda enviar la consulta a un servidor maestro de replicación MySQL.
MYSQLND_MS_QUERY_USE_SLAVE (integer)
Si mysqlnd_ms_is_select() devuelve MYSQLND_MS_QUERY_USE_SLAVE para una consulta dada, el mecanismo interno de división de lectura/escritura recomienda enviar la consulta a un servidor esclavo de replicación MySQL.
MYSQLND_MS_QUERY_USE_LAST_USED (integer)
Si mysqlnd_ms_is_select() devuelve MYSQLND_MS_QUERY_USE_LAST_USED para una consulta dada, el mecanismo interno de división de lectura/escritura recomienda enviar la consulta al último servidor usado.

Relacionadas con mysqlnd_ms_set_qos(), con el filtro de calidad de servicio y con el nivel de servicio

MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL (integer)
Se usa para solicitar el nivel de servicio de consistencia final desde la función mysqlnd_ms_set_qos(). La consistencia final es la calidad de servicio predeterminada cuando se lee desde un esclavo de replicación MySQL asíncrono. Los datos devueltos en este nivel de servicio puede ser antiguos o no, dependiendo de si los esclavos seleccionados han replicado los últimos cambios realizados desde el maestro de replicación MySQL.
MYSQLND_MS_QOS_CONSISTENCY_SESSION (integer)
Se usa para solicitar el nivel de servicio de consistencia de sesión desde la función mysqlnd_ms_set_qos(). La consistencia de sesción está definida como la lectura de sus escrituras. Al cliente se le garantiza que podrá ver sus últimos cambios.
MYSQLND_MS_QOS_CONSISTENCY_STRONG (integer)
Se usa para la solicitude del nivel de servicio de consistencia fuerte desde la función mysqlnd_ms_set_qos(). La consistencia fuerte se usa para asegurarse de que todos los clientes vean los cambios de los demás.
MYSQLND_MS_QOS_OPTION_GTID (integer)
Se usa como una opción de nivel de servicio con mysqlnd_ms_set_qos() para parametrizar la consistencia de sesión.
MYSQLND_MS_QOS_OPTION_AGE (integer)
Se usa como una opción de nivel de servicio con mysqlnd_ms_set_qos() para parametrizar la consistencia final.

Otras

Se puede obtener el número de versión del complemento usando MYSQLND_MS_VERSION o MYSQLND_MS_VERSION_ID. MYSQLND_MS_VERSION es el string que representa el número de versión de MYSQLND_MS_VERSION_ID, que es un entero como 10000. Los desarrolladores pueden calcular el número de versión como sigue.

Versión (parte) | Ejemplo
Mayor*10000 | 1*10000 = 10000
Menor*100 | 0*100 = 0
Parche | 0 = 0
MYSQLND_MS_VERSION_ID | 10000

MYSQLND_MS_VERSION (string)
Un string con la versión del complemento, por ejemplo, "1.0.0-prototype".
MYSQLND_MS_VERSION_ID (integer)
Número de versión del complemento, por ejemplo, 10000.

Monitorización
Funciones de mysqlnd_ms
mysqlnd_ms


Funciones de mysqlnd_ms

Tabla de contenidos

  • mysqlnd_ms_get_last_gtid — Devuelve el último ID de transacciones global
  • mysqlnd_ms_get_last_used_connection — Devuelve un array que describe la última conexión usada
  • mysqlnd_ms_get_stats — Devuelve la distribución consultas y las estadísticas de conexión
  • mysqlnd_ms_match_wild — Comprueba si el nombre de una tabla coincide con un patrón comodín
  • mysqlnd_ms_query_is_select — Comprueba si se envía la conslta al servidor maestro, al esclavo, o al último servidor MySQL usado
  • mysqlnd_ms_set_qos — Establece la calidad de servicio necesaria de un clúster
  • mysqlnd_ms_set_user_pick_server — Establece una llamada de retorno para la división de lectura/escritura definida por el usuario
Constantes predefinidas
mysqlnd_ms_get_last_gtid
mysqlnd_ms


Devuelve el último ID de transacciones global

Funciones de mysqlnd_ms
mysqlnd_ms_get_last_used_connection
Funciones de mysqlnd_ms
PHP Manual

mysqlnd_ms_get_last_gtid

(PECL mysqlnd_ms >= 1.2.0)

mysqlnd_ms_get_last_gtid — Devuelve el último ID de transacciones global

Descripción

string mysqlnd_ms_get_last_gtid ( mixed $connection )

Devuelve un identificador de transacciones global que pertenece a una operación de escritura no más antigua que la última escritura realizada por el cliente. No se garantiza que el identificadro de transacciones global sea idéntico al creado por la transacción de escritura realizada por el cliente.

Parámetros

connection

Un gestor de conexión de PECL/mysqlnd_ms hacia un servidor MySQL del tipo PDO_MYSQL, mysqli> o ext/mysql. Este gestor de conexión se obtiene al abrir una conexión con un nombre de equipo anfitrión que coincide con la entrada del fichero de configuración de mysqlnd_ms usando cualquier de las tres extensiones del controlador de MySQL anteoriores.

Valores devueltos

Devuelve un ID de transacciones global (GTID) en caso de éxito. De otro modo, devuelve FALSE.

La función mysqlnd_ms_get_last_gtid() devuelve el GTID obtenido al ejecutar una sentencia SQL desde la entrada fetch_last_gtid de la sección global_transaction_id_injection del fichero de configuración delcomplemento.

La función puede ser invocada después de que el GTID haya sido incrementado.

Notas

Nota:

mysqlnd_ms_get_last_gtid() requiere PHP >= 5.4.0 y PECL mysqlnd_ms >= 1.2.0. Internamente, se utiliza una funcionalidad en C de la biblioteca mysqlnd no disponble en PHP 5.3.

Ejemplos

Ejemplo #1 Ejemplo de mysqlnd_ms_get_last_gtid()

<?php
/* Abrir una conexión mysqlnd_ms usando la extensión mysqli, PDO_MySQL o mysql */
$mysqli = new mysqli("myapp", "nombre_usuario", "contraseña", "base_datos");
if (!$mysqli)
  /* Por supuesto, su manejo de errores es mejor... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* modo autoconsigna, transacción en el maestro, el GTID debe ser incrementado */
if (!$mysqli->query("DROP TABLE IF EXISTS test"))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

printf("GTID después de la transacción %s\n", mysqlnd_ms_get_last_gtid($mysqli));

/* modo autoconsigna, transacción en el maestro, el GTID debe ser incrementado */
if (!$mysqli->query("CREATE TABLE test(id INT)"))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

printf("GTID después de la transacción %s\n", mysqlnd_ms_get_last_gtid($mysqli));
?>

Ver también

  • IDs de Transacciones Globales

Funciones de mysqlnd_ms
mysqlnd_ms_get_last_used_connection
Funciones de mysqlnd_ms


Devuelve un array que describe la última conexión usada

mysqlnd_ms_get_last_gtid
mysqlnd_ms_get_stats
Funciones de mysqlnd_ms
PHP Manual

mysqlnd_ms_get_last_used_connection

(PECL mysqlnd_ms >= 1.1.0)

mysqlnd_ms_get_last_used_connection — Devuelve un array que describe la última conexión usada

Descripción

array mysqlnd_ms_get_last_used_connection ( mixed $connection )

Devuelve un array que describe la última conexión usada desde la agrupación de conexiones del complemento apuntada por el gestro de conexión del usuario. Si se usa el complemento, un gestor de conexión de usuario representa una agrupación de conexiones a bases de datos. No es posible indicar, desde las propiedades del gestor de conexión de usuario, a qué servidor de bases de datos de la agrupación apunta el gestor de conexión de usuario.

La función se puede usar para depurar o monitorizar PECL mysqlnd_ms.

Parámetros

connection

Un gestor de conexión MySQL obtenido desde cualquiera de las funciones de conexión de las extensiones mysqli, mysql o PDO_MYSQL.

Valores devueltos

FALSE en caso de error. De otro modo, un array que describe la conexión usada para ejecutar la última sentencia.

El array que describe la conexión.

Propiedad | Descripción | Versión
scheme | El esquema de la conexión. Puede ser tcp://host:port o unix://host:socket. Si se han de distinguir las conexiones unas de otras se ha de usar una combinación de scheme y thread_id como clave única. Ni scheme ni thread_id por sí solos son suficientes para distinguir dos conexiones entre sí. Dos servidores puede asignar el mismo thread_id a dos conexiones diferentes. Por lo tanto, las conexiones de la agrupación podrían tener el mismo thread_id. También, no se debe depender de la unicidad de scheme de una agrupación. Los ingenieros de controlo de calidad podrían usar la misma instancia del servidor MySQL para dos roles lógicos distintos y añadirla múltiples veces a la agrupación. Esta técnica se usa, por ejemplo, en la batería de pruebas. | Desde 1.1.0.
host | El equipo anfitrión servidor de las bases de datos usado para la conexión. Este equipo solamente se establece con conexiones TCP/IP. Está vacío con conexiones de dominio Unix o tuberías con nombre de Windows. | Desde 1.1.0.
host_info | Una cadena de caracteres que representa el nombre del equipo anfitrión servidor y el tipo de conexión. | Desde 1.1.2.
port | El puerto del servidor de las bases de datos usado con la conexión. | Desde 1.1.0.
socket_or_pipe | El socket de dominio Unix o la tubería con nombre de Windows usados con la conexión. Este valor está vacío para conexiones TCP/IP. | Desde 1.1.2.
thread_id | El id del subproceso de conexión. | Desde 1.1.0.
last_message | Un mensaje de información obtenido desde la función mysql_info() de la API en C de MySQL. Véase mysqli_info() para una descripción. | Desde 1.1.0.
errno | El código del error. | Desde 1.1.0.
error | El mensaje de error. | Desde 1.1.0.
sqlstate | El códgio SQLstate del error. | Desde 1.1.0.

Notas

Nota:

mysqlnd_ms_get_last_used_connection() requiere PHP >= 5.4.0 y PECL mysqlnd_ms >= 1.2.0. Internamente, se utiliza una funcionalidad en C de la biblioteca mysqlnd no disponble en PHP 5.3.

Ejemplos

Este ejemplo asume que myapp se refiere a una sección del fichero de configuración del complemento y que representa una agrupación de conexiones.

Ejemplo #1 Ejemplo de mysqlnd_ms_get_last_used_connection()

<?php
$enlace = new mysqli("myapp", "usuario", "contraseña", "base_datos");
$resultado = $enlace->query("SELECT 1 FROM DUAL");
var_dump(mysqlnd_ms_get_last_used_connection($enlace));
?>

El resultado del ejemplo sería:

array(10) {
  ["scheme"]=>
  string(22) "unix:///tmp/mysql.sock"
  ["host_info"]=>
  string(25) "Localhost via UNIX socket"
  ["host"]=>
  string(0) ""
  ["port"]=>
  int(3306)
  ["socket_or_pipe"]=>
  string(15) "/tmp/mysql.sock"
  ["thread_id"]=>
  int(46253)
  ["last_message"]=>
  string(0) ""
  ["errno"]=>
  int(0)
  ["error"]=>
  string(0) ""
  ["sqlstate"]=>
  string(5) "00000"
}

mysqlnd_ms_get_last_gtid
mysqlnd_ms_get_stats
Funciones de mysqlnd_ms


Devuelve la distribución consultas y las estadísticas de conexión

mysqlnd_ms_get_last_used_connection
mysqlnd_ms_match_wild
Funciones de mysqlnd_ms
PHP Manual

mysqlnd_ms_get_stats

(PECL mysqlnd_ms >= 1.0.0)

mysqlnd_ms_get_stats — Devuelve la distribución consultas y las estadísticas de conexión

Descripción

array mysqlnd_ms_get_stats ( void )

Devuelve un array con las estadísticas recopiladas por el complemento de replicación y equilibrado de carga.

El ajuste de configuración de PHP mysqlnd_ms.collect_statistics controla la recopilación de estadísticas. Dicha recopilación está deshabilitada de forma predeterminada por motivos de rendimiento.

El ámbito de la estadísticas es el proceso de PHP. Dependiendo de modelo de desarrollo, un proceso de PHP puede manejar una o múltiples peticiones.

Las estadísticas se agregan para todas las conexiones y todos los gestores de almacenamiento. No es posible indicar cuántas consultas que se originan desde las llamadas a la API de mysqli, PDO_MySQL o mysql han contribuido a los valores de los datos agregados.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve NULL si la directiva de configuración de PHP mysqlnd_ms.enable ha deshabilitado el complemento. De otro modo, devuelve un array de estadísticas.

El array de estadísticas.

Estadística | Descripción | Versión
use_slave

La semántica de esta estadística ha cambiado entre las versiones 1.0.1 - 1.1.0.

El significado para la versión 1.0.1 es como sigue. Número de sentencias consideradas de solo lectura por el analizador de consultas interno. No están incluidas ni las sentencias que comienzan con una sugerencia SQL para forzar el uso de esclavos, ni las sentencias dirigidas a un esclavos mediante una llamada de retorno definida por el usuario. El número total de sentencias enviadas a los esclavos es use_slave + use_slave_sql_hint + use_slave_callback.

PECL/mysqlnd_ms 1.1.0 introduce el nuevo concepto de filtros encadenados. Las estadísticas ahora son establecidas por el filtro de equilibrado de carga interno. Con la versión 1.1.0, dicho filtro siempre está en el último lugar de la cadena de filtros, si se usa. En futuras versiones un filtro de equilibrado de carga podrían seguirle otros filtros, ocasionando otro cambio en el significado de la estadísica. Si, en un futuro, un a filtro de equilibrado de carga le sigue otro filtro, ya no se garantizará que la sentencia, la cual incrementa use_slave, sea ejecutada en los esclavos.

El significado para la versión 1.1.0 es como sigue. Número de sentencias enviadas a los esclavos. No están incluidas las sentencias dirigidas a un esclavo mediante el filtro 'user' (una llamada de retorno definida por el usuario). Lo último se cuenta mediante use_slave_callback.

Desde 1.0.0.
use_master

La semántica de esta estadística ha cambiado entre las versiones 1.0.1 - 1.1.0.

El significado para la versión 1.0.1 es como sigue. Número de sentencias no consideradas de solo lectura por el analizador de consultas interno. No están incluidas mi las sentencias que comienzan con una sugerencia SQL para forzar el uso del maestro, ni las sentencias dirigidas a un maestro mediante una llamada de retorno definida por el usuario. El número total de sentencias enviadas al maestro es use_master + use_master_sql_hint + use_master_callback.

PECL/mysqlnd_ms 1.1.0 introduce el nuevo concepto de filtros encadenados. Las estadísticas ahora son establecidas por el filtro de equilibrado de carga interno. Con la versión 1.1.0, dicho filtro siempre está en el último lugar de la cadena de filtros, si se usa. En futuras versiones un filtro de equilibrado de carga podrían seguirle otros filtros, ocasionando otro cambio en el significado de la estadísica. Si, en un futuro, un a filtro de equilibrado de carga le sigue otro filtro, ya no se garantizará que la sentencia, la cual incrementa use_master, sea ejecutada en los esclavos.

El significado para la versión 1.1.0 es como sigue. Número de sentencias enviadas a los maestros. No están incluidas las sentencias dirigidas a un maestro mediante el filtro 'user' (una llamada de retorno definida por el usuario). Lo último se cuenta mediante use_master_callback.

Desde 1.0.0.
use_slave_guess | Número de sentencias que el analizador de consultas interno recomienda enviar a un esclavo debido a que no contienen una sugerencia SQL para forzar el uso de un servidor en particular. Dicha recomendación podría ser invalidada en la siguiente. No se garantiza que la sentencia sea ejecutada en un esclavo. Este número es las veces que la función interno is_select ha supuesto que un esclavo será usado. Véase también la función del espacio de usuario mysqlnd_ms_query_is_select(). | Desde 1.1.0.
use_master_guess | Número de sentencias que el analizador de consultas interno recomienda enviar a un maestro debido a que no contienen una sugerencia SQL para forzar el uso de un servidor en particular. Dicha recomendación podría ser invalidada en la siguiente. No se garantiza que la sentencia sea ejecutada en un esclavo. Este número es las veces que la función interno is_select ha supuesto que un maestro será usado. Véase también la función del espacio de usuario mysqlnd_ms_query_is_select(). | Desde 1.1.0.
use_slave_sql_hint | Número de sentencias enviadas a un esclavo debido a que la sentencia comienza con la sugerencia SQL para forzar el uso del esclavo. | Desde 1.0.0.
use_master_sql_hint | Número de sentencias enviadas a un maestro debido a que la sentencia comienza con la sugerencia SQL para forzar el uso del maestro. | Desde 1.0.0.
use_last_used_sql_hint | Número de sentencias enviadas al servidor que ejecutó la sentencia anterior, debido a que la sentencia comienza con la sugerencia SQL para forzar el uso del servidor usado anteriormente. | Desde 1.0.0.
use_slave_callback | Número de sentencias enviadas a un esclavo debido a que una llamada de retorno definida por el usuario ha elegido un servidor esclavo para la ejecución de sentencias. | Desde 1.0.0.
use_master_callback | Número de sentencias enviadas a un maestro debido a que una llamada de retorno definida por el usuario ha elegido un servidor maestro para la ejecución de sentencias. | Desde 1.0.0.
non_lazy_connections_slave_success | Número de conexiones a esclavos abiertas con éxito desde configuraciones que no usan conexiones retardadas. El número total de conexiones a esclavos abiertas con éxito es non_lazy_connections_slave_success + lazy_connections_slave_success | Desde 1.0.0.
non_lazy_connections_slave_failure | Número de intentos fallidos de conexión a esclavos desde configuraciones que no usan conexiones retardadas. El número total de intento fallidos de conexión a esclavos es non_lazy_connections_slave_failure + lazy_connections_slave_failure | Desde 1.0.0.
non_lazy_connections_master_success | Número de conexiones a maestros abiertas con éxito desde configuraciones que no usan conexiones retardadas. El número total de conexiones a maestros abiertas con éxito es non_lazy_connections_master_success + lazy_connections_master_success | Desde 1.0.0.
non_lazy_connections_master_failure | Número de intentos fallidos de conexión a maestros desde configuraciones que no usan conexiones retardadas. El número total de intento fallidos de conexión a maestros es non_lazy_connections_master_failure + lazy_connections_master_failure | Desde 1.0.0.
lazy_connections_slave_success | Número de conexiones a esclavos abiertas con éxito desde configuraciones que usan lazy connections. | Desde 1.0.0.
lazy_connections_slave_failure | Número de intentos fallidos de conexión a esclavos desde configuraciones que usan conexiones retardadas. | Desde 1.0.0.
lazy_connections_master_success | Número de conexiones a maestros abiertas con éxito desde configuraciones que usan conexiones retardadas. | Desde 1.0.0.
lazy_connections_master_failure | Número de intentos fallidos de conexión a maestros desde configuraciones que usan conexiones retardadas. | Desde 1.0.0.
trx_autocommit_on | Número de activaciones del modo autocommit mediante llamadas a la API. Este número se puede usar para monitorizar la actividad relacionada con el ajuste de configuración del complemento trx_stickiness. Si, por ejemplo, se quiere conocer si una cierta llamada a la API invoca a la función trx_autocommit() de la biblioteca mysqlnd, la cual es un requisito para trx_stickiness, se podría llamar a la función de la API de usuario en cuestión y comprobar si la estadística ha cambiado. La estadística es modificada solamente por el método trx_autocommit() interno de complemento. | Desde 1.0.0.
trx_autocommit_off | Número de desactivaciones del modo autocommit mediante llamadas a la API. | Desde 1.0.0.
trx_master_forced | Número de sentencias redirigidas al maestro mientras trx_stickiness=master y el modo autocommit están deshabilitados. | Desde 1.0.0.
gtid_autocommit_injections_success | Número de inyeccioines SQL realizadas con éxito en el modo 'autocommit' como parte de la emulación del id de transacciones global en el lado del cliente del complemento. | Desde 1.2.0.
gtid_autocommit_injections_failure | Número de inyeccioines SQL fallidas en el modo 'autocommit' como parte de la emulación del id de transacciones global en el lado del cliente del complemento. | Desde 1.2.0.
gtid_commit_injections_success | Número de inyeccioines SQL realizadas con éxito en el modo 'commit' como parte de la emulación del id de transacciones global en el lado del cliente del complemento. | Desde 1.2.0.
gtid_commit_injections_failure | Número de inyeccioines SQL fallidas en el modo 'commit' como parte de la emulación del id de transacciones global en el lado del cliente del complemento. | Desde 1.2.0.
gtid_implicit_commit_injections_success | Número de inyecciones SQL realizadas con éxito cuando la consignación implícita es detectada como parte de la emulación del id de transacciones global en el lado del cliente del complemento. La consignación implícita sucede, por ejemplo, cuando el modo 'autocommit' se ha desactivado, se ejecuta una consulta y se habilita el modo 'autocommit' de nuevo. En este caso, la sentencia será consignada por el servidor y el SQL a mantener es inyectado antes de que el modo 'autocommit' sea rehabilitado. Otra secuencia que causa una consignación implícita es begin(), query(), begin(). La segunda llamada a begin() consignará implícitamente la transacción iniciada por la primera llamada a begin(). begin() hace referencia llamadas a una biblioteca interna, no a llamadas a la API de usuario de PHP. | Desde 1.2.0.
gtid_implicit_commit_injections_failure | Número de inyecciones SQL fallidas cuando la consignación implícita es detectada como parte de la emulación del id de transacciones global en el lado del cliente del complemento. La consignación implícita sucede, por ejemplo, cuando el modo 'autocommit' se ha desactivado, se ejecuta una consulta y se habilita el modo 'autocommit' de nuevo. En este caso, la sentencia será consignada por el servidor y el SQL a mantener es inyectado antes de que el modo 'autocommit' sea rehabilitado. | Desde 1.2.0.
transient_error_retries | Cuántas veces ha sido reintentada una operación cuando se detectó un error transitorio. Véase también el ajuste transient_error del fichero de configuración del complemento. | Desde 1.6.0.

Ejemplos

Ejemplo #1 Ejemplo de mysqlnd_ms_get_stats()

<?php
printf("mysqlnd_ms.enable = %d\n", ini_get("mysqlnd_ms.enable"));
printf("mysqlnd_ms.collect_statistics = %d\n", ini_get("mysqlnd_ms.collect_statistics"));
var_dump(mysqlnd_ms_get_stats());
?>

El resultado del ejemplo sería:

mysqlnd_ms.enable = 1
mysqlnd_ms.collect_statistics = 1
array(26) {
  ["use_slave"]=>
  string(1) "0"
  ["use_master"]=>
  string(1) "0"
  ["use_slave_guess"]=>
  string(1) "0"
  ["use_master_guess"]=>
  string(1) "0"
  ["use_slave_sql_hint"]=>
  string(1) "0"
  ["use_master_sql_hint"]=>
  string(1) "0"
  ["use_last_used_sql_hint"]=>
  string(1) "0"
  ["use_slave_callback"]=>
  string(1) "0"
  ["use_master_callback"]=>
  string(1) "0"
  ["non_lazy_connections_slave_success"]=>
  string(1) "0"
  ["non_lazy_connections_slave_failure"]=>
  string(1) "0"
  ["non_lazy_connections_master_success"]=>
  string(1) "0"
  ["non_lazy_connections_master_failure"]=>
  string(1) "0"
  ["lazy_connections_slave_success"]=>
  string(1) "0"
  ["lazy_connections_slave_failure"]=>
  string(1) "0"
  ["lazy_connections_master_success"]=>
  string(1) "0"
  ["lazy_connections_master_failure"]=>
  string(1) "0"
  ["trx_autocommit_on"]=>
  string(1) "0"
  ["trx_autocommit_off"]=>
  string(1) "0"
  ["trx_master_forced"]=>
  string(1) "0"
  ["gtid_autocommit_injections_success"]=>
  string(1) "0"
  ["gtid_autocommit_injections_failure"]=>
  string(1) "0"
  ["gtid_commit_injections_success"]=>
  string(1) "0"
  ["gtid_commit_injections_failure"]=>
  string(1) "0"
  ["gtid_implicit_commit_injections_success"]=>
  string(1) "0"
  ["gtid_implicit_commit_injections_failure"]=>
  string(1) "0"
  ["transient_error_retries"]=>
  string(1) "0"
}

Ver también

  • Configuración en tiempo de ejecución
  • mysqlnd_ms.collect_statistics
  • mysqlnd_ms.enable
  • Monitorización

mysqlnd_ms_get_last_used_connection
mysqlnd_ms_match_wild
Funciones de mysqlnd_ms


Comprueba si el nombre de una tabla coincide con un patrón comodín

mysqlnd_ms_get_stats
mysqlnd_ms_query_is_select
Funciones de mysqlnd_ms
PHP Manual

mysqlnd_ms_match_wild

(PECL mysqlnd_ms >= 1.1.0)

mysqlnd_ms_match_wild — Comprueba si el nombre de una tabla coincide con un patrón comodín

Descripción

bool mysqlnd_ms_match_wild ( string $table_name , string $wildcard )

Comprueba si el nombre de una tabla coincide con un patrón comodín.

Esta función no tiene mucha relevancia práctica con PECL mysqlnd_ms 1.1.0 debido a que el complemento no admite añun el filtrado de tablas de replicación MySQL.

Parámetros

table_name

El nombre de la tabla para comprobar si coincide con el patrón comodín.

wildcard

El patrón comodín a comprobar con el nombre nombre de la tabla. El patrón admite los mismos parámetros de sustición que los filtros de replicación MySQL.

Los filtros de replicación MySQL se pueden configurar usando las opciones de configuración del Servidor MySQL --replicate-wild-do-table y --replicate-wild-do-db. Por favor, consulte el Manual de referencia de MySQL para aprender más sobre esta característica del Servidor MySQL.

Los parámetros de sustición admitidos son:

  • % - cero o más literales
  • % - un literal

Los parámetros de sustitución se pueden escapar con \.

Valores devueltos

Devuelve TRUE si table_name coincide con wildcard. Si no, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de mysqlnd_ms_match_wild()

<?php
var_dump(mysqlnd_ms_match_wild("schema_name.table_name", "schema%"));
var_dump(mysqlnd_ms_match_wild("abc", "_"));
var_dump(mysqlnd_ms_match_wild("table1", "table_"));
var_dump(mysqlnd_ms_match_wild("asia_customers", "%customers"));
var_dump(mysqlnd_ms_match_wild("funny%table","funny\%table"));
var_dump(mysqlnd_ms_match_wild("funnytable", "funny%table"));
?>

El resultado del ejemplo sería:

bool(true)
bool(false)
bool(true)
bool(true)
bool(true)
bool(true)

mysqlnd_ms_get_stats
mysqlnd_ms_query_is_select
Funciones de mysqlnd_ms


Comprueba si se envía la conslta al servidor maestro, al esclavo, o al último servidor MySQL usado

mysqlnd_ms_match_wild
mysqlnd_ms_set_qos
Funciones de mysqlnd_ms
PHP Manual

mysqlnd_ms_query_is_select

(PECL mysqlnd_ms >= 1.0.0)

mysqlnd_ms_query_is_select — Comprueba si se envía la conslta al servidor maestro, al esclavo, o al último servidor MySQL usado

Descripción

int mysqlnd_ms_query_is_select ( string $query )

Comprueba si se envía la conslta al servidor maestro, al esclavo, o al último servidor MySQL usado

El mecanismo interno de división de lectura/escritura del complemento se usará para analizar el string de la consulta para recomendar dónde enviar la misma. El mecanismo interno de división de lectura/escritura es muy básico y simple. El complemento recomendará enviar todas las consultas al servidor maestro de replicación MySQL excepto aquellas que comienzan con SELECT, o con una sugerencia SQL que fuerce el envío de la consulta a un servidor esclavo. Debido al algoritmo básico, aunque rápido, el complemento podría proponer ejecutar algunas sentencias de solo lectura tal como SHOW TABLES en el maestro de replicación.

Parámetros

query

El string de la consulta a probar.

Valores devueltos

Un valor de retorno de MYSQLND_MS_QUERY_USE_MASTER indica que la consulta debería enviarse al servidor maestro de replicación MySQL. La función devuelve un valor de MYSQLND_MS_QUERY_USE_SLAVE si la consulta puede ejecutarse en un esclavo debido a que la considera de solo lectura. Un valor de retorno de MYSQLND_MS_QUERY_USE_LAST_USED recomienda la ejecución de la consulta en el último servidor utilizado. Éste puede ser un servidor maestro de replicación MySQL o un servidor esclavo de replicación MySQL.

Si la división de lecutra/escritura está deshabilitada por el ajuste mysqlnd_ms.disable_rw_split, la función siempre devolverá MYSQLND_MS_QUERY_USE_MASTER o MYSQLND_MS_QUERY_USE_LAST_USED.

Ejemplos

Ejemplo #1 Ejemplo de mysqlnd_ms_query_is_select()

<?php
function is_select($consulta)
{
 switch (mysqlnd_ms_query_is_select($consulta))
 {
  case MYSQLND_MS_QUERY_USE_MASTER:
   printf("'%s' debería ejecutarse en el maestro.\n", $consulta);
   break;
  case MYSQLND_MS_QUERY_USE_SLAVE:
   printf("'%s' debería ejecutarse en un esclavo.\n", $consulta);
   break;
  case MYSQLND_MS_QUERY_USE_LAST_USED:
   printf("'%s' debería ejecutarse en el servidor que ejecutó la consulta anterior\n", $consulta);
   break;
  default:
   printf("No hay sugerencias donde ejecutar '%s', se recomienda volver al maestro\n", $consulta);
   break;
 }
}

is_select("INSERT INTO test(id) VALUES (1)");
is_select("SELECT 1 FROM DUAL");
is_select("/*" . MYSQLND_MS_LAST_USED_SWITCH . "*/SELECT 2 FROM DUAL");
?>

El resultado del ejemplo sería:

INSERT INTO test(id) VALUES (1) debería ejecutarse en el maestro.
SELECT 1 FROM DUAL debería ejecutarse en un esclavo.
/*ms=last_used*/SELECT 2 FROM DUAL debería ejecutarse en el servidor que ejecutó la consulta anterior

Ver también

  • Constantes predefinidas
  • El filtro user
  • Configuración en tiempo de ejecución
  • mysqlnd_ms.disable_rw_split
  • mysqlnd_ms.enable

mysqlnd_ms_match_wild
mysqlnd_ms_set_qos
Funciones de mysqlnd_ms


Establece la calidad de servicio necesaria de un clúster

mysqlnd_ms_query_is_select
mysqlnd_ms_set_user_pick_server
Funciones de mysqlnd_ms
PHP Manual

mysqlnd_ms_set_qos

(PECL mysqlnd_ms < 1.2.0)

mysqlnd_ms_set_qos — Establece la calidad de servicio necesaria de un clúster

Descripción

bool mysqlnd_ms_set_qos ( mixed $connection , int $service_level [, int $service_level_option [, mixed $option_value ]] )

Establece la calidad de servicio necesaria de un clúster. Un clúster de bases de datos proporciona una cierta calidad de servicio al usuario dependiendo de su arquitectura. Un aspecto muy importante de la calidad de servicio es el nivel de consistencia que el clúster puede ofrece. La consistencia predeterminada de un clúster de replicación MySQL asíncrono es la final para lecturas de esclavos: un esclavo puede servir datos antiguos, datos actuales, o podría no poseer la petición de datos, debido a que no está sincronizado con el maestro. En un clúster de replicación MySQL, únicamente los accesos al maestro pueden proporcionar consistencia fuerte, la cual promete que todos los clientes ven los cambios de los demás clientes.

PECL/mysqlnd_ms oculta la complejidad de la elección de los nodos apropiados para llevar a cabo un cierto nivel de servicio de un clúster. El filtro "Calidad de Servicio" implementa la lógica necesaria. El filtro puede configurarse tanto en el fichero de configuración del comlemento como en tiempo de ejecución usando mysqlnd_ms_set_qos().

Se pueden lograr resultados similares con PECL mysqlnd_ms < 1.2.0, si se usan sugerencias SQL para forzar el uso de un tipo de nodo en particular, o usando la opción de configuración master_on_write del complemento. El primer método requiere más código y causa más trabajo en el lado de la aplicación. El segundo método es menos refinado que usar el filtro de calidad de servicio. Los ajustes realizados a través de la llamada a la función se puden revertir, como se muestra en el ejemplo de abajo. Éste cabia temporalmente a un nivel de servicio superior (consistencia de sesión, lectura de sus escrituras) y vuelve al predeterminado del clúster después de haber realizado todas las operaciones que requieren el servicio mejor. De esta forma, la carga de lectura en el maestro se puede minimizar en comparación con el uso de master_on_write, el cual continuaría usando el maestro después de la primera escritura.

Desde 1.5.0, las llamadas fallarán cuando se realizan en mitad de una transacción si la adhesión de transacciones está habilitada y se han detecetado límites en la transacción. properly.

Parámetros

connection

Un gestor de conexión de PECL/mysqlnd_ms hacia un servidor MySQL del tipo PDO_MYSQL, mysqli> o ext/mysql para el cual establecer un nivel de servicio. Este gestor de conexión se obtiene al abrir una conexión con un nombre de equipo anfitrión que coincide con la entrada del fichero de configuración de mysqlnd_ms usando cualquier de las tres extensiones del controlador de MySQL anteoriores.

service_level

El nivel de servicio solicitado: MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL, MYSQLND_MS_QOS_CONSISTENCY_SESSION o MYSQLND_MS_QOS_CONSISTENCY_STRONG.

service_level_option

Una opción para parametrizar el nivel de servicio solicitado. Esta opción puede ser MYSQLND_MS_QOS_OPTION_GTID o MYSQLND_MS_QOS_OPTION_AGE.

La opción MYSQLND_MS_QOS_OPTION_GTID se puede usar para refinar el nivel de servcicio MYSQLND_MS_QOS_CONSISTENCY_SESSION. Se debe combinar con un cuarto parámetro, option_value. Éste debería ser un ID de transacciones global obtenido desde mysqlnd_ms_get_last_gtid(). Si se establece, el complemento considerará los servidores maestros y los esclavos asíncronos para la consistencia de sesión (lectura de sus escrituras). Si no, solamente se usarán los maestros para conseguir la consistencia de sesión. Un esclavo se considera acutalizado y comprobado si ya ha replicado el ID de transacciones global de option_value. Observe que la búsqueda de esclavos apropiados es una operación cara y lenta. Use con moderación esta característica, si el maestro no puede manejar solo la carga de lectura.

La opción MYSQLND_MS_QOS_OPTION_AGE se puede combinar con el nivel de servicio MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL, para filtrar esclavos asíncronos que se demoren respecto al maestro más segundos que option_value. Si se establece, el complemento solamente considerará a los esclavos para la lectura si SHOW SLAVE STATUS notifica que Slave_IO_Running=Yes, Slave_SQL_Running=Yes y Seconds_Behind_Master <= option_value. Observe que la búsqueda de esclavos apropiados es una operación cara y lenta. Use con moderación esta característica en la versión 1.2.0. En versiones futuras se podría mejorar el algoritmo usado para identificar candidatos. Véase el manual de referencia de MySQL para la precisión, exactitud y limitaciones del comando administrativo SHOW SLAVE STATUS de MySQL.

option_value

El valor del parámetro de la opción del nivel de servicio. Véase también el parámetro service_level_option.

Valores devueltos

Devuelve TRUE si el nivel de servicio de la conexión ha sido cambiado en la solicitud. De otro modo, devuelve FALSE

Notas

Nota:

mysqlnd_ms_set_qos() requiere PHP >= 5.4.0 y PECL mysqlnd_ms >= 1.2.0. Internamente, se utiliza una funcionalidad en C de la biblioteca mysqlnd no disponble en PHP 5.3.

Ejemplos

Ejemplo #1 Ejemplo de mysqlnd_ms_set_qos()

<?php
/* Abrir una conexión mysqlnd_ms usando la extensión mysqli, PDO_MySQL o mysql */
$mysqli = new mysqli("myapp", "nombre_usuario", "contraseña", "base_datos");
if (!$mysqli)
  /* Por supuesto, su manejo de errores es mejor... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* Consistencia de sesión: lectura de sus escrituras */
$ret = mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_SESSION);
if (!$ret)
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

/* Se usará el maestro y se devolverán datos actuales, el cliente puede ver su última escritura */
if (!$res = $mysqli->query("SELECT item, price FROM orders WHERE order_id = 1"))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

/* Volver a lo predeterminado: usar todos los esclavos y maestros permitidos, se pueden obtener datos antiguos */
if (!mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
?>

Ver también

  • mysqlnd_ms_get_last_gtid() - Devuelve el último ID de transacciones global
  • Concepto de nivel de servicio y consitencia
  • Concepto de filtro

mysqlnd_ms_query_is_select
mysqlnd_ms_set_user_pick_server
Funciones de mysqlnd_ms


Establece una llamada de retorno para la división de lectura/escritura definida por el usuario

mysqlnd_ms_set_qos
Historial de cambios
Funciones de mysqlnd_ms
PHP Manual

mysqlnd_ms_set_user_pick_server

(PECL mysqlnd_ms < 1.1.0)

mysqlnd_ms_set_user_pick_server — Establece una llamada de retorno para la división de lectura/escritura definida por el usuario

Descripción

bool mysqlnd_ms_set_user_pick_server ( string $function )

Establece una llamada de retorno para la división de lectura/escritura definida por el usuario. El complemento invocará a la llamada de retorno solamente si pick[]=user el la regla predeterminada para elegir servidores en la sección relevante del fichero de configuración del complemento.

Las decisiones del mecanismo interno de división de consultas de lecura-escritura pueden ser sobrescritas de dos maneras. La más sencilla es anteponer a una consulta las sugerentecias SQL MYSQLND_MS_MASTER_SWITCH, MYSQLND_MS_SLAVE_SWITCH o MYSQLND_MS_LAST_USED_SWITCH. Al utilizar sugerencias SQL se puede controlar, por ejemplo, si una consulta debería ser enviada al servidor maestro de replicación MySQL o a uno de los servidores esclavos. Mediante la ayuda de sugenrencias SQL no es posible elegir un esclavo en particular para que ejecute una consulta.

Se puede obtener control total en la selección del servidor usando una función de llamada de retorno. Solamente se recomienda el uso de una llamada de retorno para usuarios expertos, ya que ésta ha de cubrir todos los casos que de otro modo manejaría el complemento.

El complemento invorcará a la función de llamada de retorno para seleccionar un servidor de las listas de servidores maestros y esclavos configurados. La función de llamada de retorno inspeccionará la consulta a ejecutar y eligirá un servidor para que ejecute dicha consulta, devolviendo el URI del equipo anfitrión, tal como lo encontró en la lista de maestros y esclavos.

Si las conexiones retardadas están habilitadas y la llamada de retorno elige un servidor esclavo para el que hasta ahora no se ha establecido una conexión, y el establecimiento de la conexión al esclavo falla, el complemento devolverá un error sobre la siguiente acción en la conexión fallida, por ejemplo, al ejecutar una consulta. Es responsabilidad del desarrollador de la aplicación manejar el error. Por ejemplo, la aplicación podría re-ejecutar la consulta para desencadenar una nueva selección de un servidor y una nueva invocación a la llamada de retorno. Si lo hace, la llamada de retorno debe asegurarse de seleccionar un esclavo diferente, o comprobar la disponibilidad del esclavo, antes de devolver el resultado al complemento para evitar un bucle infinito.

Parámetros

function

La función a llamar. Se pueden invocar también métodos de clases de forma estática usando esta función pasando array($nombre_clase, $nombre_método) a este parámetro. Además, los métodos de clases de una instancia de objeto se pueden llamar pasando array($instancia_objeto, $nombre_método) a este parámetro.

Valores devueltos

El equipo anfitrión donde ejecutar la consulta. El URI del equipo anfigrión se toma de las listas de maestros y esclavos configurados pasadas a la función de llamada de retorno. Si la llamada de retorno devuelve un valor que no se encuentra ni en las listas de conexión a maestros ni en la de esclavos, el complemento usará el segundo método de elección configurado mediante el ajuste pick[] del fichero de configuración del complemento. Si no se proporciona un segundo método de elección, el complemento usará el método interno predeterminado de seleccionar un servidor.

Notas

Nota:

mysqlnd_ms_set_user_pick_server() está disponible con PECL mysqlnd_ms < 1.1.0. Ha sido reemplazado por el filtro user. Por favor, revise el Historial de cambios para las notas sobre actualizaciones.

Ejemplos

Ejemplo #1 Ejemplo de mysqlnd_ms_set_user_pick_server()

[myapp]
master[] = localhost
slave[] = 192.168.2.27:3306
slave[] = 192.168.78.136:3306
pick[] = user
<?php

function pick_server($connected, $query, $master, $slaves, $last_used)
{
 static $slave_idx = 0;
 static $num_slaves = NULL;
 if (is_null($num_slaves))
  $num_slaves = count($slaves);

 /* predeterminado: volver a la lógica interna del comlemento */
 $ret = NULL;

 printf("El usuario se ha conectado a '%s'...\n", $connected);
 printf("... decidiendo dónde ejecutar '%s'\n", $query);

 $where = mysqlnd_ms_query_is_select($query);
 switch ($where)
 {
  case MYSQLND_MS_QUERY_USE_MASTER:
   printf("... usando el maestro\n");
   $ret = $masters[0];
   break;
  case MYSQLND_MS_QUERY_USE_SLAVE:
   /* SELECT or SQL hint for using slave */
   if (stristr($query, "FROM table_on_slave_a_only"))
   {
    /* una tabla que está únicamente en el primer esclavo configurado  */
    printf("... detectado un acceso a la tabla únicamente disponible en el esclavo A\n");
    $ret = $slaves[0];
   }
   else
   {
    /* rotativo */
    printf("... alguna consulta de solo lectura para un esclavo\n");
    $ret = $slaves[$slave_idx++ % $num_slaves];
   }
   break;
  case MYSQLND_MS_QUERY_LAST_USED:
   printf("... usando el último esclavo utilizado\n");
   $ret = $last_used;
   break;
 }

 printf("... ret = '%s'\n", $ret);
 return $ret;
}

mysqlnd_ms_set_user_pick_server("pick_server");

$mysqli = new mysqli("myapp", "root", "", "test");

if (!($res = $mysqli->query("SELECT 1 FROM DUAL")))
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
else
 $res->close();

if (!($res = $mysqli->query("SELECT 2 FROM DUAL")))
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
else
 $res->close();

if (!($res = $mysqli->query("SELECT * FROM table_on_slave_a_only")))
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
else
 $res->close();

$mysqli->close();
?>

El resultado del ejemplo sería:

User has connected to 'myapp'...
... deciding where to run 'SELECT 1 FROM DUAL'
... some read-only query for a slave
... ret = 'tcp://192.168.2.27:3306'
User has connected to 'myapp'...
... deciding where to run 'SELECT 2 FROM DUAL'
... some read-only query for a slave
... ret = 'tcp://192.168.78.136:3306'
User has connected to 'myapp'...
... deciding where to run 'SELECT * FROM table_on_slave_a_only'
... access to table available only on slave A detected
... ret = 'tcp://192.168.2.27:3306'

Ver también

  • mysqlnd_ms_query_is_select() - Comprueba si se envía la conslta al servidor maestro, al esclavo, o al último servidor MySQL usado
  • Concepto de filtro
  • El filtro user

mysqlnd_ms_set_qos
Historial de cambios
Funciones de mysqlnd_ms


Historial de cambios

Tabla de contenidos

  • Serie PECL/mysqlnd_ms 1.6
  • Serie PECL/mysqlnd_ms 1.5
  • PECL/mysqlnd_ms 1.4 series
  • Serie PECL/mysqlnd_ms 1.3
  • Serie PECL/mysqlnd_ms 1.2
  • Serie PECL/mysqlnd_ms 1.1
  • Serie PECL/mysqlnd_ms 1.0

Este historial de cambios es un resumen de alto nivel de los cambios seleccionados que pueden tener un impacto sobre las aplicaciones y/o romper la retrocompatibilidad (RC).

Véase también el fichero CHANGES en la distribución del código fuente para una lista completa de los cambios.

mysqlnd_ms_set_user_pick_server
Serie PECL/mysqlnd_ms 1.6
mysqlnd_ms


Serie PECL/mysqlnd_ms 1.6

1.6.0-alpha

  • Fecha de publicación: TBD
  • Motivo/tema: Maintenance

Nota:

Esta es la serie actualmente en desarrollo. Todas las características están en una etapa primitiva. Los cambios podrían ocurrir en cualquier momento sin previo aviso. Por favor, no use esta versión en entornos de producción.

La documentación podría no reflejar aún todos los cambios.

Corrección de errores

  • No se ha infiromado de nuevos errores

Cambio en las características

  • Se introdujo un bucle de reintentos automático para errores transitorios y las estadísticas correspondientes para contar el número de intentos implícitos. Algunos clústeres de bases de datos distribuidas usan erroes transitorios para sugeriri a un cliente que reintente su operación en un momento. Muy amenudo, el cliente se supone que para la ejecución (duerme) por un coroto momento antes del reintentar la operación deseada. No es necesario recurrir inmediatamente a otro nodo en respuesta al error. En su lugar, se puede realizar un blucle de reintentos. Una situación común al usar un Clúster de MySQL.

Historial de cambios
Serie PECL/mysqlnd_ms 1.5
Historial de cambios


Serie PECL/mysqlnd_ms 1.5

1.5.1-stable

  • Fecha de publicación: 06/2013
  • Motivo/tema: Soporte para fragmentación, soporte mejorado para transacciones

Nota:

Esta es la serie estble actual. Use esta versión en entornos de producción.

La documentación está completa.

1.5.0-alpha

  • Fecha de publicación: 03/2013
  • Motivo/tema: Soporte para fragmentación, soporte mejorado para transacciones

Corrección de errores

  • Corregida la violación de acceso #60605 de PHP cuando mysqlnd_ms está habilitado.

  • Establecer la adhesión de transacciones deshabilita todo el equilibrado de carga, incluyendo lla tolerancia a fallos automática, durante una transacción. Por lo que podrían ocurrir intercambios de conexiones en mitad de una transacción en configuraciones multimaestro y durante la tolerancia a fallos automática aunque la monitorización de transacciones haya detectado los límites de la transacción apropiadamente.

  • Rotura de RC y error corregido. Las sugerencias SQL que fuerzan a un tipo específico de servidor (MYSQLND_MS_MASTER_SWITCH, MYSQLND_MS_SLAVE_SWITCH, MYSQLND_MS_LAST_USED_SWITCH) son ignoradas durante una transacción si la adhesión de transacciones está habilitada y se han detectado apropiadamente los límites de la transacción.

    Este es un cambio de comportamiento. Sin embargo, también es una corrección de error y un paso para alinear comportamiento. Si, en versiones anteriores, con adhesión de transacciones, se combinaba una de las sugerencias SQL enumeradas el filtro de calidad de servicio, podía ocurrir que dichas sugerencias fueran ignoradas. En algún caso, las sugerencias SQL funcionaban, en otros no. El nuevo comportamiento es más consistente. Las sugerencias SQL siempre serán ignoradas durante una transacción si la adhesión de transacciones está habilitado.

    Observe que la detección de los límites de transaccoines continua basándose en la monitorización de llamadas a la API. Los comandos SQL que controlan transacciones no son monitorizados.

  • Rotura de RC y error corregido. Las llamadas a mysqlnd_ms_set_qos() fallarán cuando se hacen en mitad de una transacción si la adhesión de transacciones está habilitada. Los intercambios de conexión no están permitidos durante una transacción. El cambio de la calidad de servicio probablemente resulta en un conjunto diferente de servidores elegidos para la ejecución de consultas, posiblemente haciendo necesario intercambiar conexiones. Así, la llamada no está permitida durante una transacción activa. La calidad de servicio puede ser, sin embargo, cambiada entre transacciones.

Cambios en las características

  • Se introdujo el filtro node_group. El filtro permite organizar servidores (maestro y esclavos) en grupos. Las consultas se pueden dirigir a ciertos grupos de servidores prefijando la sentencia de consulta con una sugerencia/comentario de SQL que contenga el nombre de configuración de grupos. La agrupación se puede usar para particionar y fragmentar, aunque también para optimizar la caché local. En el caso de la fragmentación, se ha de pensar en un nombre grupo como una clave fragmentada. Todas las consultas para una clave fragmentada dada serán ejecutadas en el fragmento configurado. Nota: tanto el cliente como el servidor deben sorportar la fragmentación para usar la misma con mysqlnd_ms.

  • Validación del fichero de configuración extendida durante el arranque de PHP (RINIT). Se lanzará un error de nivel E_WARNING si no se puede leer el fichero de configuración (permisos), si está vacío, o si el fichero (JSON) no se pudo analizar. Las advertencias podrían aparecer el ficheros log, lo que depende de cómo esté configurado PHP.

    Las distribuciones que pretenden proporcionar una configuración precofigurada, incluyendo una rutina auxiliar de fichero de configuración, se les interroga para colocar {} en el fichero de configuración para evitar esta advertencia sobre un fichero de configuración inválido.

    Se realiza una validación extra del fichero de configuración cuando se analizan secciones que abran una conexión. Por favor, observe que aún podrían haber situaciones en las que un fichero de configuración del complemento inválido no conduzca a mensajes de error apropiados, sino a un fallo de conexión.

  • A partir de PHP 5.5.0, se añadió la mejora de la detección de límites de transacciones para mysqli. La extensión mysqli ha sido modificada para usar las nuevas llamadas a la API en C de la biblioteca mysqlnd para comenzar, consolidar y revertir una transacción o un punto de prevención. Si se usa trx_stickiness para habilitar transacciones que consideran equilibrado de carga, las funciones mysqli_begin(), mysqli_commit() and mysqli_rollback() ahora serán monitorizadas por el complemento, para aceptar la función mysqli_autocommit() que ya estaba admitida. Todas las características de SQL para controlar transacciones también están disponibles a través de las funciones mejoradas relacionadas con el control de transacciones de mysqli. Esto significa que no es necesario para emitir sentencias SQL en lugar de usar llamadas a la API. Las aplicaciones que utilicen las llamadas apropiadas a la API pueden ser equilibradas en carga por PECL/mysqlnd_ms de una manera completamente consciente de transacciones.

    Observe que PDO_MySQL no ha sido actualizada aún para usar las nuevas llamadas a la API de mysqlnd. Por lo tanto, la detección de límites de transacciones con PDO_MySQL continua estando limitada a la monitorización pasando PDO::ATTR_AUTOCOMMIT a PDO::setAttribute().

  • Se introdujo trx_stickiness=on. Esta opción de trx_stickiness difiere de trx_stickiness=master en que intenta ejecutar una transacción de solo lectura en un esclavo, si la calidad de servicio (nivel de consistencia) permite el uso de un esclavo. Las transacciones de solo lectura fueron introducidas en MySQL 5.6 y ofrecen ganancias de rendimiento.

  • El soporte para la caché de consultas se considera beta si se usa con la API de mysqli. Debería funcionar bien con clústeres basados en copia primaria. Para las demás API, este rasgo continua siendo experimental.

  • Los ejemplos de código del fichero fuente de mysqlnd_ms se actualizaron.

Serie PECL/mysqlnd_ms 1.6
PECL/mysqlnd_ms 1.4 series
Historial de cambios


PECL/mysqlnd_ms 1.4 series

1.4.2-stable

  • Fecha de publicación: 08/2012
  • Motivo/tema: Modificaciones menores basadas en comentarios de usuarios

1.4.1-beta

  • Fecha de publicación: 08/2012
  • Motivo/tema: Modificaciones menores basadas en comentarios de usuarios

Errores corregidos

  • Corregida la construcción con PHP 5.5

1.4.0-alpha

  • Fecha de publicación: 07/2012
  • Motivo/tema: Modificaciones menores basadas en comentarios de usuarios

Cambios en las características

  • Rotura RC: Se renombró el ajuste de configuración del complemento ini_file a config_file. En versiones anteriores el fichero de configuración del complemento usaba el estilo ini. Así, el ajuste de configuración se llamó en consecuencia. Ahora se ha renombrado para reflechar el formato de fichero nuevo y para distinguirlo del propio fichero ini de PHP (fichero de directivas de configuración).

  • Se introdujo el ajuste de conjunto de caracteres predeterminado server_charset para permitir el escapado apropiado antes de abrir una conexión. Esto es lo más útil al usar conexiones retardadas, las cuales son las predeterminadas.

  • Se introdujo el ajuste wait_for_gtid_timeout para estrangular las lecturas de esclavos que necesitan consistencia de sesión. Si se usan identificadores de transacciones globales y el nivel de servicio está establecido a consistencia de sesión, el complemento intentará encontrar esclavos actualizados. La comprobación del estado de un esclavo se realiza mediante una sentencia SQL. Si no se establece nada más, dicho estado se comprobará y a partir de entonces solamente se puede continuar la búsqueda de más esclavos actualizados. Establecer wait_for_gtid_timeout ordena al complemento que sondee los estados de los esclavos durante wait_for_gtid_timeout segundos si la primera ejecución de la sentencia SQL ha mostrado que el esclavo aún no está actualizado. El sondeo se realizará una vez por segundo. De este modo, el complemento esperará a que los esclavos se pongan al día y estrangulará al cliente.

  • La nueva estrategia de tolerancia a fallos loop_before_master. De manera predeterminada, el complemento no realiza la tolerancia a fallos. Es posible habilitar la tolerancia a fallos automática si falla un intento de conexión. Hasta la versión 1.3 solamente existía la estrategia master para realizar la tolerancia a fallos en un maestro si fallaba una conexión a un esclavo. loop_before_master es similar, pero realiza intentos sobre los demás esclavos antes de intentar conectarse al maestro si una conexión a un esclavo falla.

    El número de intentos se puede limitar usando la opción max_retries. Los equipos anfitriones fallidos se pueden recordar y ser saltados en el equilibrado de carga para el resto de la petición web. max_retries y remember_failed son considerados experimentales, aunque se proporciona una estabilidad decente. La sintaxis y la semántica podrían cambiar en el futuro sin previo aviso.

Serie PECL/mysqlnd_ms 1.5
Serie PECL/mysqlnd_ms 1.3
Historial de cambios


Serie PECL/mysqlnd_ms 1.3

1.3.2-stable

  • Fecha de publicación: 04/2012
  • Motivo/tema: véase 1.3.0-alpha

Corrección de errores

  • Corregido el problema con multimaestros en donde una transacción las consultas al maestro no se adherían y eran difundidas por todos los demás maestros (RR). Aún no se adhiere para Random. Random_once no se ve afectada.

1.3.1-beta

  • Fecha de publicación: 04/2012
  • Motivo/tema: véase 1.3.0-alpha

Corrección de errores

  • Corregido el problema de la construcción junto con QC.

1.3.0-alpha

  • Fecha de publicación: 04/2012
  • Motivo/tema: Almacenamiento en caché de consultas a través del concepto de calidad de servicio

La seria 1.3 aspira a mejorar el rendimiento de las aplicaciones y el total de la carga de un clúster MySQL asíncrono, por ejemplo, un clúster MySQL que utiliza la Replicación MySQL. Esto se lleva a cabo de forma transparaente reemplazando el acceso a un esclavo con un acceso a la caché local, si la aplicación lo permite estableciendo una bandera de calidad de servicio apropiada. Cuando se usa la replicación MySQL un esclavo puede servir datos antiguos. Una aplicación que use la replicación MySQL debe continuar funcionando correctamente con datos antiguos. Dado que se sabe que la aplicación funciona correctamente con datos antiguos, el acceso al esclavo se puede reemplazar de forma transparente con un acceso a la caché local.

PECL/mysqlnd_qc sirve como una caché en el lado del procesamiento. PECL/mysqlnd_qc admite el uso de varias ubicaciones de almacenamiento, entre otras la memoria principal, APC y MEMCACHE.

Cambios en las características

  • Se añadió la opción de caché al filtro de calidad de servicio (QoS).

    • La nueva opción de configuración enable-mysqlnd-ms-cache-support
    • La nueva constante MYSQLND_MS_HAVE_CACHE_SUPPORT.
    • La nueva constante MYSQLND_MS_QOS_OPTION_CACHE para usarla con mysqlnd_ms_set_qos().

  • Soporte para la característica del identificador de transacciones global interno de MySQL 5.6.5-m8 o posterior.

PECL/mysqlnd_ms 1.4 series
Serie PECL/mysqlnd_ms 1.2
Historial de cambios


Serie PECL/mysqlnd_ms 1.2

1.2.1-beta

  • Fecha de publicación: 01/2012
  • Motivo/tema: véase 1.2.0-alpha

Cambios de pruebas menores.

1.2.0-alpha

  • Fecha de publicación: 11/2011
  • Motivo/tema: Inyección de ID de Transacciones Global y concepto de calidad de servicio

El la versión 1.2, el foco continua siendo el soporte de clústeres de bases de datos MySQL con replicación asíncrona. El complemento intenta hacer uso del clúster introduciendo un filtro de calidad de servicio que pueden usar las aplicaciones para definir la calidad de servicio que necesitan del clúster. Los niveles de servicio proporcionados son la consistencia final con la edad máxima/demora del esclavo opcional, la consistencia de sesión y la consistencia fuerte.

Además, el complemento puede realizar una inyección de id de transacciones global en el lado del cliente para hacer más sencilla la tolerancia a fallos manual en el maestro.

Cambios en las características

  • Se introdujo el filtro de calidad de servicio (QoS). Los niveles de servicio proporcionados por el filtro QoS son:

    • consistenia finak, con opción de demora de esclavos
    • consistencia de sesión, con GTID opcional
    • consistencia fuerte

  • Se añadió la función mysqlnd_ms_set_qos() para establecer la calidad de conexión requierida en tiempo de ejecución. Las nuevas constantes relacionadas con mysqlnd_ms_set_qos() son:

    • MYSQLND_MS_QOS_CONSISTENCY_STRONG
    • MYSQLND_MS_QOS_CONSISTENCY_SESSION
    • MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL
    • MYSQLND_MS_QOS_OPTION_GTID
    • MYSQLND_MS_QOS_OPTION_AGE

  • Se añadió la inyección de id de transacciones global (GTID) en el lado del cliente.

  • Las nuevas estadísticas relacionadas con el GTID:

    • gtid_autocommit_injections_success
    • gtid_autocommit_injections_failure
    • gtid_commit_injections_success
    • gtid_commit_injections_failure
    • gtid_implicit_commit_injections_success
    • gtid_implicit_commit_injections_failure

  • Se añadió mysqlnd_ms_get_last_gtid() para obtener el último id de transacción global.

  • Se habilitó el soporte para multimaestros sin esclavos.

Serie PECL/mysqlnd_ms 1.3
Serie PECL/mysqlnd_ms 1.1
Historial de cambios


Serie PECL/mysqlnd_ms 1.1

1.1.0

  • Fecha de publicación: 09/2011
  • Motivo/tema: Cubrir lo básico de la replicación con calidad de producción

Las series 1.1 y 1.0 exponen un conjunto de características similar. Internamente, la serie 1.1 ha sido reestructurada para planificar la incorporación de futuras características. Se ha introducido un nuevo formato del fichero de configuración, y se han eliminado las limitaciones. Además, se ha mejorado la calidad del código y la seguridad de la calidad.

Cambios en las características

  • Se añadió el (encadenable) concepto de filtro:

    • Rotura RC: La función mysqlnd_ms_set_user_pick_server() ha sido eliminada. Se ha introducido el filtro user para reemplazarla. El filtro ofrece una funcionalidad similar, aunque existen diferencias que se explican más abajo.

  • Nueva sintaxis de configuración más potente basada en JSON.
  • Merjora de conexiones retardadas: está cubierta la seguridad relevante y los comandos de cambio de estado.
  • Soporte para sentencias preparadas (nativo).

  • Nuevas estadísticas: use_master_guess, use_slave_guess.

    • Rotura RC: Cambio en la semántica de las estadísticas use_slave, use_master. Son posibles cambios futuros. Véase mysqlnd_ms_get_stats().

  • La lista de mensajes de difusión está extendida por ssl_set.
  • Ahora, las llamadas a la biblioteca se monitorizan para recordar los ajustes de conexiones retaradadas: change_user, select_db, set_charset, set_autocommit.
  • Se introdujo mysqlnd_ms.disable_rw_split. Este ajuste de configuración permite el uso de la funcionalidad del equilibrado de carga y de las conexiones retardadas independientemente de la división de lecutra-escritura.

Corrección de errores

  • Corregido PECL #22724 - Intercambio de servidor (mysqlnd_ms_query_is_select() sensible a mayúsculas/minúsculas)
  • Corregido PECL #22784 - No funcionaba mysql_connect y mysql_select_db
  • Corregido PECL #59982 - Extensión inusable con with --enable-mysqlnd-ms-table-filter. El uso de la opción NO está soportado. No se debe usar. Se añadió una nota a m4.
  • Corregido el error #60119 - host="localhost" se perdía en mysqlnd_ms_get_last_used_connection()

Se ha eliminado la función mysqlnd_ms_set_user_pick_server(), y ha sido reemplazada por el nuevo filtro user. Ya no se puede establecer una función de llamada de retorno usando mysqlnd_ms_set_user_pick_server() en tiempo de ejecución, sino que se ha de configurarla en su lugar en el fichero de configuración del complemento. El filtro user pasará los mismos argumentos que antes a la llamada de retorno. Por lo tanto, se puede seguir usando la misma función procedimental como una llamada de retorno. Ya no es posible usar métodos estáticos de clases, o métodos de clases de una instancia, como una llamada de retorno. Hacerlo supondrá que la función ejecutará una sentencia manejada por el complemento para emitir un error de nivel E_RECOVERABLE_ERROR, el cual podría ser: "(mysqlnd_ms) Specified callback (picker) is not a valid callback." ((mysqlnd_ms) La llamada de retorno (picker) especificada no es una llamada de retorno válida). Nota: esto podría detener la aplicación.

Serie PECL/mysqlnd_ms 1.2
Serie PECL/mysqlnd_ms 1.0
Historial de cambios


Serie PECL/mysqlnd_ms 1.0

1.0.1-alpha

  • Fecha de publicación: 04/2011
  • Motivo/tema: versión de corrección de errores

1.0.0-alpha

  • Fecha de publicación: 04/2011
  • Motivo/tema: Cubrir lo básico de la replicación para probar los comentarios de los usuarios

La primera versión de uso práctico. Introduce una división básica automática de lectura-escritura, sugerencias SQL para invalidar la redirección automática, el equilibrado de carga de peticiones a esclavos, conexiones retardadas, y uso opcional automático del maestro después de la primera escritura.

El conjunto público de características es similar al de la versión 1.1.

1.0.0-pre-alpha

  • Fecha de publicación: 09/2010
  • Motivo/tema: Pruebas de conceptos

Comprobación inicial. Esencialmente una demo de la API de complementos mysqlnd.

Serie PECL/mysqlnd_ms 1.1
mysqlnd_qc
Historial de cambios


Complemento de caché de resultados de consultas de mysqlnd

  • Introducción
  • Guia rápida y ejemplos
    • Arquitectura y conceptos
    • Puesta en marcha
    • Almacenar consultas en la caché
    • Establecer el tiempo de vida (TTL)
    • Almacenamiento en caché basado en patrones
    • Defensa de cierre
    • Buscar candidatas a la caché
    • Medir la eficiencia de la caché
    • Más allá del TTL: almacenamiento definido por el usuario
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
  • Constantes predefinidas
  • Funciones de mysqlnd_qc
    • mysqlnd_qc_clear_cache — Vacía todo el contenido de la caché
    • mysqlnd_qc_get_available_handlers — Devuelve una lista de los gestores de almacenamiento disponibles
    • mysqlnd_qc_get_cache_info — Devuelve información sobre el gestor en uso, el número de entradas de la caché y sobre las entradas de la caché, si está disponible
    • mysqlnd_qc_get_core_stats — Estadísticas recopiladas por el núcleo de la caché de consultas
    • mysqlnd_qc_get_normalized_query_trace_log — Devuelve un registro de rastreo de consultas normalizadas para cada consulta inspeccionada por la caché de consultas
    • mysqlnd_qc_get_query_trace_log — Devuelve información de rastreo para cada consulta inspeccionada por la caché de consultas
    • mysqlnd_qc_set_cache_condition — Establece las condiciones para el almacenamiento en caché automático
    • mysqlnd_qc_set_is_select — Instala una llamada de retorno que decide si una sentencia es almacenada en caché
    • mysqlnd_qc_set_storage_handler — Cambia el gestor de almacenamiento en uso
    • mysqlnd_qc_set_user_handlers — Establece las funciones de llamada de retorno para un gestor de almacenamiento procedimental definido por el usuario
  • Historal de cambios
    • Serie PECL/mysqlnd_qc 1.2
    • Serie PECL/mysqlnd_qc 1.1
    • Serie PECL/mysqlnd_qc 1.0
Serie PECL/mysqlnd_ms 1.0
Introducción
MySQL


Introducción

El complemento de caché de resultados de consultas de mysqlnd facilita el uso del almacenamiento en caché de consultas en el lado del cliente para todas las extensiones de MySQL para PHP que utilicen mysqlnd.

A partir de la versión 5.3.3 de PHP, el controlador nativo de MySQL para PHP (mysqlnd) introduce una API en C de complementos internos. Los complementos en C, tales como el complemento de caché de consultas, pueden ampliar la funcionalidad de mysqlnd.

Los complementos de mysqlnd, tales como el complemento de caché de consultas, operan de forma transparente desde la perspectiva del usuario. El complemento de caché admite todas las apliaciones de PHP y todas las extensiones de MySQL para PHP ( mysqli, mysql, PDO_MYSQL). No cambia ninguna API existente.

No es necesario hacer cambios significativos en una aplicación para almacenar en caché una consulta. La caché tiene dos modos de operar. Almacenará en caché todas las consultas (no recomendado), o simplemente aquellas consultas marcadas con una sugerencia SQL en particular (recomendado).

Características principales

  • Es transparente y por lo tanto fácil de usar

    • admite todas las extensiones de MySQL para PHP

    • sin cambios en la API

    • son necesarios muy pocos cambios en la aplicación

  • Estrategia de invalidación flexible

    • tiempo de vida (TTL)

    • definida por el usuario

  • Almacenamiento con diferentes ámbitos y periodos de vida

    • Default (Hash, procesa la memoria)

    • APC

    • MEMCACHE

    • sqlite

    • definido por el usuario

  • Defensa de cierre interna para prevenir la estampida de la caché.

Limitaciones

La versión 1.0.1 actual de PECL mysqlnd_qc no admite PHP 5.4. La versión 1.1.0-alpha elimina esta limitación.

Las setencias preparadas y las consultas no almacenadas en búfer están totalmente soportadas. Por lo tanto, el complemento puede almacenar en caché todas las sentencias emitidas con mysqli o PDO_MySQL, la cuales son las únicas dos APIs de MySQL para PHP que ofrecen soporte para sentencias preparadas.

Sobre el nombre

La abreviatura mysqlnd_qc significa complemento de caché de consultas de mysqlnd. El nombre fue elegido por una rápida y desordenada prueba de conceptos. Al principio, los desarrolladores no esperaban que se continuase usando el código base. Algunas veces, a PECL/mysqlnd_qc también se le ha llamado caché de conjuntos de resultados de consultas del lado del cliente.

mysqlnd_qc
Guia rápida y ejemplos
mysqlnd_qc


Guia rápida y ejemplos

Tabla de contenidos

  • Arquitectura y conceptos
  • Puesta en marcha
  • Almacenar consultas en la caché
  • Establecer el tiempo de vida (TTL)
  • Almacenamiento en caché basado en patrones
  • Defensa de cierre
  • Buscar candidatas a la caché
  • Medir la eficiencia de la caché
  • Más allá del TTL: almacenamiento definido por el usuario

El complemento de caché de consultas de mysqlnd es fácil de usar. Esta guía rápida muestra los casos de uso típicos y proporciona consejos prácticos para poder empezar a usarlo.

Se recomienda encarecidamente leer las secciones de referencia además de esta guía rápida. Es seguro comenzar con esta guía. Sin embargo, antes de usar el complemento en entornos de misiones críticas, se urge que se lea además la información de fondo de las secciones de referencia.

La mayoría de los ejemplos usan la extensión mysqli, ya que es la extensión de MySQL para PHP más completa. Sin embargo, el complemento se puede usar con cualesquiera de las extensiones de MySQL para PHP que utilicen la biblioteca mysqlnd.

Introducción
Arquitectura y conceptos
mysqlnd_qc


Arquitectura y conceptos

El complemento de caché de consultas está implementado como una extensión de PHP. Está escrita en C y opera bajo el manto de PHP. Durante el arraque del intérprete de PHP, se registra como un complemento de mysqlnd para reemplazar a los métodos en C de mysqlnd seleccionados. Por lo tanto, se puede cambiar el comportamiento de cualquier extensión de MySQL para PHP (mysqli, PDO_MYSQL, mysql) compilada para usar la biblioteca mysqlnd sin cambiar la API de la extensión. Esto hace que el complemento sea compatible con cada una de las aplicaciones de MySQL para PHP. Ya que las APIs existentes no se cambian, es casi transparente de usar. Por favor, véase la descripción de la API de complementos de mysqlnd para una discusión sobre las ventajas de la arquitectura del complemento y una comparación con soluciones basadas en proxy.

Transparente de usar

En tiempo de ejecución de PHP, PECL/mysqlnd_qc puede representar a consultas enviadas desde PHP (mysqlnd) al servidor MySQL. Luego inspecciona la sentencia para buscar si puede almacenar en caché sus resultados. Si puede, el conjunto de resultados se almacena en caché usando un gestor de almacenamiento, por lo que ejecuciones posteriores de la sentencia se servirán desde la caché por un periodo definido por el usuario. El tiempo de vida (TTL) de una entrada de la caché se puede establecer globalmente o en base a cada sentencia.

Una sentencia será almacena en caché si al complemento se le indica que almacene todas las sentencias globalmente, o si la consulta comienza con la sugerencia SQL (/*qc=on*/). El complemento puede almacenar en caché cualquier consulta emitida invocando a las llamadas apropiadas a la API de cualquier extensión existente de MySQL para PHP.

Almacenamiento flexible: distintos gestores de almacenamiento

Se admiten distintos gestores de almacenamiento para ofrecer diferentes ámbitos para las entradas de la caché. Los diferentes ámbitos permiten diferentes grados de compartir las entradas de la caché entre clientes.

  • default (interno): memoria del proceso, ámbito: proceso, una o más peticiones web dependiendo del modelo de desarrollo de PHP usado

  • APC: memoria compartida, ámbito: servidor único, múltiples peticiones web

  • SQLite: memoria o fichero, ámbito: servidor único, múltiples peticiones web

  • MEMCACHE: memoria principal, ámbito: servidor único o varios, múltiples peticiones web

  • user (interno): definido por el usuario - cualquiera, ámbito: definido por el usuario - cualquiera

El soporte para los gestores de almacenamiento APC, SQLite y MEMCACHE ha de estar habilitado en tiempo de compilación. Los gestores default y user son internos. Es posible intercambiar entre gestores de almacenamiento compilados en base a cada consulta en tiempo de ejecución. Sin embargo, se recomienda elegir un gestor de almacenamiento y usarlo para todas las entradas de la caché.

Defensa de cierre interna para evitar la sobrecarga

Para evitar situaciones de sobrecarga, el complemento de caché posee un mecanismo de defensa de cierre interna. Si una entrada de la caché expira, muchos cliente que usen las entradas de la caché intentarán refrescar dicha entrada. Durante el refresco, muchos clientes podrían acceder al servidor de bases de datos de forma concurrente. En el peor caso, el servidor de bases de datos se sobrecargará y le llevará cada vez más tiempo refrescar la entradas de la caché, las cuales, de una en una, permiten que más y más clientes intenten refrescar dichas entradas. Para evitar que ocurra esto, el complemento posee un mecanismo de defensa de cierre interna. Si se habilita dicha defensa y el complemento detecta que una entrada de la caché ha expirado, ampliará el tiempo de vida de dicha entrada antes de refrescar las entradas de la caché. De esta manera, otros accesos concurrentes a la entrada de la caché expirada aún los sirve la caché por un cierto tiempo. Los demás accesos concurrentes no desencadenan un refresco concurrente. Lo ideal sería que las entradas de la caché fueran refrescadas por el cliente, el cual ampliaría el periodo de vida de las entradas de la caché antes de que otros clientes intenten refrescar la caché y ocasionar potencialmente una situación de sobrecarga.

Enfoque único para el almacenamiento en caché

PECL/mysqlnd_qc posee un enfoque único para almacenar en caché conjuntos de resultados que es superior al de las soluciones de caché basadas en aplicaciones. Éstas primero introducen un conjunto de resultados en variables de PHP. Luego, dichas variables son serializadas para el almacenamiento en una caché persistente, y luego deserializadas cuando se obtienen. La caché de consultas de mysqlnd almacena los datos sin tratar del protocolo de conexión enviados desde MySQL a PHP en su caché y los reproduce, si aún son válidos, para una búsqueda coincidente en la caché. De esta forma se ahorra un paso extra de serialización ya que todas las soluciones basadas en aplicaciones deben hacerlo. Puede almacenar los datos sin tratar del protocolo de conexión en la caché sin tener que serializarlos primero para una variable de PHP y deserializar dicha variable para almacenarlos de nuevo en la caché.

Guia rápida y ejemplos
Puesta en marcha
Guia rápida y ejemplos


Puesta en marcha

El complemento está imlementado como una extensión de PHP. Véanse también las instrucciones de instalación para instalar la extensión » PECL/mysqlnd_qc.

Se ha de compilar o configurar la extensión (mysqli, PDO_MYSQL, mysql) que se planee utilizar con soporte para la biblioteca mysqlnd. PECL/mysqlnd_qc es un complemento para la biblioteca mysqlnd. Para usar el complemento con cualquier extensión de MySQL para PHP existente (APIs), la extensión ha de utilizar la biblioteca mysqlnd.

Luego, se ha de cargar la extensión en PHP y activar el complemento en el fichero de configuración de PHP usando la directiva de configuración de PHP llamada mysqlnd_qc.enable_qc.

Ejemplo #1 Habilitar el complemento (php.ini)

mysqlnd_qc.enable_qc=1

Arquitectura y conceptos
Almacenar consultas en la caché
Guia rápida y ejemplos


Almacenar consultas en la caché

Hay cuatro maneras de desencadenar el almacenamiento en caché de una consulta.

  • Usar sugerencias SQL en base a cada consulta
  • Llamadas de retorno porporcionadas por el usuario para decidir en base a cada consulta, por ejemplo, usando mysqlnd_qc_is_select()
  • mysqlnd_set_cache_condition() para reglas basadas en decisiones automáticas en cada consulta
  • mysqlnd_qc.cache_by_default = 1 para almacenar en caché todas las consultas a ciegas

El uso de las sugerencias SQL y de mysqlnd_qc.cache_by_default = 1 se expilca más abajo. Por vafor, consulte la referenca de la función mysqlnd_qc_is_select() para una descripción del uso de una llamada de retorno, y de mysqlnd_qc_set_cache_condition() sobre cómo establecer reglas para el almacenamiento automático en caché.

Una sugerencia SQL es un comentario que sigue los estándares. Como comentario de SQL, es ignorado por la base de datos. Una consulta es considerada candidata para su almacenamiento en caché si comienza con la sugerencia SQL que habilita dicho almacenamiento o si es una sentencia SELECT.

Una consulta individual que debiera ser almacenada debe comenzar con la sugerencia SQL /*qc=on*/. Se recomienda usar la constante de PHP MYSQLND_QC_ENABLE_SWITCH en lugar del valor de cadena.

  • no candidata para su almacenamiento en caché y no almacenada: INSERT INTO test(id) VALUES (1)

  • no candidata para su almacenamiento en caché y no almacenada: SHOW ENGINES

  • candidata para su almacenamiento en caché pero no almacenada: SELECT id FROM test

  • candidata para su almacenamiento y almacenada: /*qc=on*/SELECT id FROM test

Las sentencias SELECT del ejemplo están prefijadas con la sugerencia SQL MYSQLND_QC_ENABLE_SWITCH para habilitar su almacenamiento en caché. La sugerencia SQL debe colocarse al comienzo de la cadena de consulta para habilitar el almacenamiento en caché.

Ejemplo #1 Usar la sugerencia SQL MYSQLND_QC_ENABLE_SWITCH

mysqlnd_qc.enable_qc=1
<?php
/* Conectar, crear y rellenar la tabla test */
$mysqli = new mysqli("host", "usuario", "contraseña", "esquema", "puerto", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2)");

/* Será almacenada en caché debido a la sugerencia SQL */
$inicio = microtime(true);
$res   = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 1");

var_dump($res->fetch_assoc());
$res->free();

printf("Tiempo total de consulta no almacenada: %.6fs\n", microtime(true) - $inicio);

/* Coincidencia con la caché */
$inicio = microtime(true);
$res   = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 1");

var_dump($res->fetch_assoc());
$res->free();

printf("Tiempo total de consulta almacenada: %.6fs\n", microtime(true) - $inicio);
?>

El resultado de los ejemplos serían algo similar a:

array(1) {
  ["id"]=>
  string(1) "1"
}
Tiempo total de consulta no almacenada: 0.000740s
array(1) {
  ["id"]=>
  string(1) "1"
}
Tiempo total de consulta almacenada: 0.000098s

Si no se configura nada más, como es el caso del ejemplo de esta guía rápida, el complemento usará en gestor de almacenamiento interno default. El gestor de almacenamiento default utiliza la memoria del proceso para mantener una entrada de la caché. Dependiendo del modelo de desarrollo de PHP, un proceso de PHP podría servir una o más peticiones web. Por favor, consulte el manual del servidor web para más detalles. Los detalles son irrelevantes para los ejemplos dados en esta guía rápida.

El complemento de caché de consultas almacenará todas las consultas sin considerar si la cadena de consulta comienza con la sugerencia SQL que habilita dicho almacenamiento, si la directiva de configuración de PHP mysqlnd_qc.cache_by_default está establecida a 1. El ajuste mysqlnd_qc.cache_by_default es evaluado por el núcleo del complemento de caché de consultas. Ni el gestor de almacenamiento interno ni uno definido por el usuario pueden sobrescribir el ajuste.

La sugerencia SQL /*qc=off*/ se puede usar para deshabilitar el almacenamiento en caché de consultas individuales si mysqlnd_qc.cache_by_default = 1. Se recomienda usar la constante de PHP MYSQLND_QC_DISABLE_SWITCH en lugar del valor de cadena.

Ejemplo #2 Usar la sugerencia SQL MYSQLND_QC_DISABLE_SWITCH

mysqlnd_qc.enable_qc=1
mysqlnd_qc.cache_by_default=1
<?php
/* Conectar, crear y rellenar la tabla test */
$mysqli = new mysqli("host", "usuario", "contraseña", "esquema", "puerto", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2)");

/* Será almacenada aunque no esté presente ninguna sugerencia SQL ya que mysqlnd_qc.cache_by_default = 1*/
$res = $mysqli->query("SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();

$mysqli->query("DELETE FROM test WHERE id = 1");

/* Coincidencia con la caché - ¡sin invalidación automática y aún válida! */
$res = $mysqli->query("SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();

/* No coincide con la caché - la consulta no debe almacenarse debido a la sugerencia SQL */
$res = $mysqli->query("/*" . MYSQLND_QC_DISABLE_SWITCH . "*/SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();
?>

El resultado de los ejemplos serían:

array(1) {
  ["id"]=>
  string(1) "1"
}
array(1) {
  ["id"]=>
  string(1) "1"
}
NULL

PECL/mysqlnd_qc prohíbe el almacenamiento en la caché de sentencias donde al menos una columna del conjunto de resultados de dichas sentencias no muestren el nombre de la tabla en sus metadatos de forma predeterminada. Éste normalmente es el caso para las columnas originadas desde funciones SQL tales como NOW() o LAST_INSERT_ID(). La política se dirige a prevenir fallos si se usa el almacenamiento por omisión.

Ejemplo #3 Ejemplo que muestra qué tipos de sentencias no son almacenadas en la caché

mysqlnd_qc.enable_qc=1
mysqlnd_qc.cache_by_default=1
<?php
/* Conectar, crear y rellenar la tabla test */
$mysqli = new mysqli("host", "usuario", "contraseña", "esquema", "puerto", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1)");

for ($i = 0; $i < 3; $i++) {

    $inicio = microtime(true);

    /* Nota: la sentencia no será almacenada debido al uso de NOW() */
    $res = $mysqli->query("SELECT id, NOW() AS _time FROM test");
    $fila = $res->fetch_assoc();

    /* volcar resultados */
    var_dump($fila);

    printf("Tiempo total: %.6fs\n", microtime(true) - $inicio);

    /* pausar durante un segundo */
    sleep(1);
}
?>

El resultado de los ejemplos serían algo similar a:

array(2) {
  ["id"]=>
  string(1) "1"
  ["_time"]=>
  string(19) "2012-01-11 15:43:10"
}
Tiempo total: 0.000540s
array(2) {
  ["id"]=>
  string(1) "1"
  ["_time"]=>
  string(19) "2012-01-11 15:43:11"
}
Tiempo total: 0.000555s
array(2) {
  ["id"]=>
  string(1) "1"
  ["_time"]=>
  string(19) "2012-01-11 15:43:12"
}
Tiempo total: 0.000549s

Es posible habilitar el almacenamiento en caché para todas las sentecias incluyendo aquellas que tienen columnas en su conjunto de resultados para las cuales MySQL no notifica una tabla, como la sentencia del ejemplo. Se ha de establecer mysqlnd_qc.cache_no_table = 1 para habilitar el almacenamiento en caché de tales sentencias. Por favor, observe la diferencia en los tiempos medidos para los ejemplos de arriba y de abajo.

Ejemplo #4 Habilitar el almacenamiento en caché de todas las sentencias usando el ajuste ini mysqlnd_qc.cache_no_table

mysqlnd_qc.enable_qc=1
mysqlnd_qc.cache_by_default=1
mysqlnd_qc.cache_no_table=1
<?php
/* Conectar, crear y rellenar la tabla test */
$mysqli = new mysqli("host", "usuario", "contraseña", "esquema", "puerto", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1)");

for ($i = 0; $i < 3; $i++) {

    $inicio = microtime(true);

    /* Nota: la sentencia no será almacenada debido al uso de NOW() */
    $res = $mysqli->query("SELECT id, NOW() AS _time FROM test");
    $fila = $res->fetch_assoc();

    /* volcar resultados */
    var_dump($fila);

    printf("Tiempo total: %.6fs\n", microtime(true) - $inicio);

    /* pausar durante un segundo */
    sleep(1);
}
?>

El resultado de los ejemplos serían algo similar a:

array(2) {
  ["id"]=>
  string(1) "1"
  ["_time"]=>
  string(19) "2012-01-11 15:47:45"
}
Tiempo total: 0.000546s
array(2) {
  ["id"]=>
  string(1) "1"
  ["_time"]=>
  string(19) "2012-01-11 15:47:45"
}
Tiempo total: 0.000187s
array(2) {
  ["id"]=>
  string(1) "1"
  ["_time"]=>
  string(19) "2012-01-11 15:47:45"
}
Tiempo total: 0.000167s

Nota:

Aunque mysqlnd_qc.cache_no_table = 1 haya sido creado para usarlo con mysqlnd_qc.cache_by_default = 1 está vilculado a él. El complemento evaluará mysqlnd_qc.cache_no_table siempre que se vaya a almacenar una consulta, sin importar si el almacenameinto en caché ha sido habilitado usando una sugerencia SQL o cualquier otra medida.

Puesta en marcha
Establecer el tiempo de vida (TTL)
Guia rápida y ejemplos


Establecer el tiempo de vida (TTL)

La estrategia de invalidación predeterminada del complemento de caché de consultas es el Tiempo de Vida (TTL de 'Time To Live' en inglés). Los gestores de almacenamiento internos usarán el TTL predeterminado definido por el valor de configuración de PHP mysqlnd_qc.ttl a menos que la cadena de consulta contenga una sugerencia para establecer un TTL diferente. El TTL se especifica en segundos. Por omisión, las entradas de la caché expirarán tras 30 segundos.

El ejemplo establece mysqlnd_qc.ttl=3 para almacenar en caché sentencias durante tres segundos por omisión. Cada segundo se actualiza un registro de la tabla de la base de datos para mantener el tiempo actual, y se ejecuta una sentencia SELECT para obtener el registro desde la base de datos. La sentencia SELECT se almacena en caché durante tres segundos debido a que está prefijada con la sugerencia SQL que habilita el almacenamiento en caché. La salida verifica que los resultados de la consulta son tomados desde la caché durante tres segundos antes de que sean refrescados.

Ejemplo #1 Establecer el TTL con el ajuste ini mysqlnd_qc.ttl

mysqlnd_qc.enable_qc=1
mysqlnd_qc.ttl=3
<?php
/* Conectar, crear y rellenar la tabla test */
$mysqli = new mysqli("host", "usuario", "contraseña", "esquema", "puerto", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id VARCHAR(255))");

for ($i = 0; $i < 7; $i++) {

    /* actualizar la fila de la BD  */
    if (!$mysqli->query("DELETE FROM test") ||
        !$mysqli->query("INSERT INTO test(id) VALUES (NOW())"))
      /* Por supuesto, un script de la vida real debería realizar un manejo de errores mejor */
      die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

    /* seleccionar la última fila pero almacenando en caché los resultados */
    $consulta  = "/*" . MYSQLND_QC_ENABLE_SWITCH . "*/";
    $consulta .= "SELECT id AS _time FROM test";
    if (!($res = $mysqli->query($consulta)) ||
        !($fila = $res->fetch_assoc()))
    {
      printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
    }
    $res->free();
    printf("Hora actual %s - Hora de la fila de la BD %s\n", date("H:i:s"), $fila['_time']);

    /* pausar durante un segundo */
    sleep(1);
}
?>

El resultado de los ejemplos serían algo similar a:

Hora actual 14:55:59 - Hora de la fila de la BD 2012-01-11 14:55:59
Hora actual 14:56:00 - Hora de la fila de la BD 2012-01-11 14:55:59
Hora actual 14:56:01 - Hora de la fila de la BD 2012-01-11 14:55:59
Hora actual 14:56:02 - Hora de la fila de la BD 2012-01-11 14:56:02
Hora actual 14:56:03 - Hora de la fila de la BD 2012-01-11 14:56:02
Hora actual 14:56:04 - Hora de la fila de la BD 2012-01-11 14:56:02
Hora actual 14:56:05 - Hora de la fila de la BD 2012-01-11 14:56:05

Como se puede ver en el ejemplo, cualquier caché basada en TTL puede servir datos antiguos. Las entradas de la caché no son automáticamente invalidadas si cambian los datos subyacentes. Las aplicaciones que usen la estragegia de invalidacón de TTL predeterminada deben poder funcionar correctamente con datos antiguos.

Un gestor de almacenamiento definido por el usuario puede implementar cualquier estrategia de invalidación para evitar esta limitación.

El TTL predeterminado se puede sobrescribir usando la sugerencia SQL /*qc_tt=seconds*/. Esta sugerencia SQL debe aparecer inmediatamente después de la sugerencia SQL que habilita el almacenamiento en caché. Se recomienda usar la constante de PHP MYSQLND_QC_TTL_SWITCH en lugar del valor de cadena.

Ejemplo #2 Establecer el TTL con sugerencias SQL

<?php
$inicio = microtime(true);

/* Conectar, crear y rellenar la tabla test */
$mysqli = new mysqli("host", "usuario", "contraseña", "esquema", "puerto", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2)");

printf("TTL predeterminado\t: %d segundos\n", ini_get("mysqlnd_qc.ttl"));

/* Será almacenada en caché durante 2 segundos */
$sql = sprintf("/*%s*//*%s%d*/SELECT id FROM test WHERE id = 1", MYSQLND_QC_ENABLE_SWITCH, MYSQLND_QC_TTL_SWITCH, 2);
$res = $mysqli->query($sql);

var_dump($res->fetch_assoc());
$res->free();

$mysqli->query("DELETE FROM test WHERE id = 1");
sleep(1);

/* Coincidencia con la caché - ¡sin invalidación automática y aún válida! */
$res = $mysqli->query($sql);
var_dump($res->fetch_assoc());
$res->free();

sleep(2);

/* No coincide con la caché - la entrada de la caché ha expirado */
$res = $mysqli->query($sql);
var_dump($res->fetch_assoc());
$res->free();

printf("Tiempo de ejecución del script\t: %d segundos\n", microtime(true) - $inicio);
?>

El resultado de los ejemplos serían algo similar a:

TTL predeterminado      : 30 segundos
array(1) {
  ["id"]=>
  string(1) "1"
}
array(1) {
  ["id"]=>
  string(1) "1"
}
NULL
Tiempo de ejecución del script  : 3 segundos

Almacenar consultas en la caché
Almacenamiento en caché basado en patrones
Guia rápida y ejemplos


Almacenamiento en caché basado en patrones

Una aplicación tiene tres opciones para indicarle a PECL/mysqlnd_qc si será usada una sentencia en particular. El enfoque más básico es almacenar en caché todas las sentencias estableciendo mysqlnd_qc.cache_by_default = 1. Este enfoque a menudo es poco práctico, aunque habilita a los usuarios realizar una estimación rápida sobre las ganancias de rendimiento máximas de la caché. Una aplicación diseñada para usar una caché podría prefijar las sentencias seleccionadas con las sugerencias SQL apropiadas. Sin embargo, alterar el código fuente de una aplicación podría no ser siempre posible o deseado, por ejemplo, para evitar problemas con actualizaciones de software. Por ello, PECL/mysqlnd_qc permite establecer una llamada de retorno que decida si una consulta será almacenada en caché.

La llamada de retorno se instala con la función mysqlnd_qc_set_is_select(). A la llamada de retorno se le proporciona una cadena de sentencia de cada sentencia inspeccionada por el complemento. Luego, la llamada de retorno puede decidir si almacenará en caché la función. La llamada de retonro debe devolver FALSE si la sentencia no será almacenada en caché. Un valor de retorno de TRUE hace que el complemento intente añadir la sentencia a la caché. A la entrada de la caché se le dará el TTL predeterminado ( mysqlnd_qc.ttl). Si la llamada de retorno devuelve un valor numérico se usará éste como el TTL en lugar del predeterminado global.

Ejemplo #1 Establecer una llamada de retorno con mysqlnd_qc_set_is_select()

mysqlnd_qc.enable_qc=1
mysqlnd_qc.collect_statistics=1
<?php
/* llamada de retorno que decice si una consulta se almacena en caché */
function is_select($consulta) {
    static $patrones = array(
      /* true - usar lo predetermiando por mysqlnd_qc.ttl */
      "@SELECT\s+.*\s+FROM\s+test@ismU" => true,
      /* 3 - usar TTL = 3 segundos */
      "@SELECT\s+.*\s+FROM\s+news@ismU" => 3
    );

    /* comprobar si la consulta coincide con el patrón */
    foreach ($patrones as $patrón => $ttl) {
        if (preg_match($patrón, $consulta)) {
            printf("is_select(%45s): almacenada\n", $consulta);
            return $ttl;
        }
    }
    printf("is_select(%45s): no almacenada\n", $consulta);
    return false;
}
/* instalar la llamada de retorno */
mysqlnd_qc_set_is_select("is_select");

/* Conectar, crear y rellenar la tabla test */
$mysqli = new mysqli("host", "usuario", "contraseña", "esquema", "puerto", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)");

/* colocada en la caché */
$mysqli->query("SELECT id FROM test WHERE id = 1");
/* coincidencia con la caché */
$mysqli->query("SELECT id FROM test WHERE id = 1");
/* colocada en la caché */
$mysqli->query("SELECT * FROM test");

$estadísticas = mysqlnd_qc_get_core_stats();
printf("Colocada en caché: %d\n", $estadísticas['cache_put']);
printf("Coincidencia con la caché: %d\n", $estadísticas['cache_hit']);
?>

El resultado de los ejemplos serían algo similar a:

is_select(                    DROP TABLE IF EXISTS test): no almacenada
is_select(                    CREATE TABLE test(id INT)): no almacenada
is_select(    INSERT INTO test(id) VALUES (1), (2), (3)): no almacenada
is_select(             SELECT id FROM test WHERE id = 1): almacenada
is_select(             SELECT id FROM test WHERE id = 1): almacenada
is_select(                           SELECT * FROM test): almacenada
Colocada en caché: 2
Coincidencia con la caché: 1

La llamada de retorno del ejemplo comprueba si una cadena de sentencia coincide con un patrón. Si éste es el caso, devuelve TRUE para almacenar en caché la consulta usando el TTL global o un TTL alternativo.

Para minimizar los cambios en la aplicación, la llamada de retorno puede colocarse y registrarse en un fichero autoantepuesto.

Establecer el tiempo de vida (TTL)
Defensa de cierre
Guia rápida y ejemplos


Defensa de cierre

Una caché mal diseñada puede hacer más daño que bien. En el peor de los casos, una caché puede aumentar la carga del servidor de bases de datos en lugar de minimizarla. Una situación de sobrecarga puede ocurrir si una entrada de la caché altamente compartida expira (estampida de la caché).

Las entradas de la caché son compartidas y reutilizadas en diferentes grados, dependiendo del almacenamiento usado. El gestor de almacenamiento predeterminado almacena entradas en la memoria del proceso. Así, una entrada de la caché puede ser reutilzada durante el periodo de vida de un proceso. Otros procesos de PHP no puede acceder a ella. Si se usa Memcache, una entrada de la caché puede ser compartida entre múltiples procesos de PHP e incluso entre múltiples máquinas, dependiendo de la configuración que se use.

Si una entrada de la caché altamente compartida almacenada en, por ejemplo, Memcache expira, muchos clientes no obtendrán una coincidencia con la caché. Muchas peticiones de clientes ya no son servidas desde la caché, sino que se intenta ejecutar la consulta subyacente en el servidor de bases de datos. Hasta que la entrada de la caché sea refrescada, más y más clientes contactarán con el servidor de bases de datos. En el peor de los casos, el resultado será la pérdida total del servicio.

La sobrecarga se puede evitar usando un gestor de almacenamiento que limite la reutilización de entradas de la caché a unos pocos clientes. Entonces, como media, es probable que sólo un número limitado de clientes intenten refrescar una entrada de la caché de forma concurrente.

Adicionalmente, el mecanismo interno de defensa de cierre puede y debería usarse. Si está activada la defensa de cierre, a una entrada expirada se le amplía el tiempo de vida. El primer cliente que no obtenga una coincidencia con la caché para la entrada expirada intentará refrescar dicha entrada dentro del tiempo de vida ampliado. Todos los demás clientes que soliciten la entrada de la caché son servidos temporalmente desde la caché aunque el TTL original de dicha entrada haya expirado. Los demás clientes no experimentarán una no coincidencia con la caché antes de que se agote el tiempo de vida.

Ejemplo #1 Habilitar el mecanismo de defensa de cierre

mysqlnd_qc.slam_defense=1
mysqlnd_qc.slam_defense_ttl=1

El mecanismo de defensa de cierre se habilita con la directiva de configuración mysqlnd_qc.slam_defense. El tiempo de vida ampliado de una entrada de la caché se establece con mysqlnd_qc.slam_defense_ttl.

La función mysqlnd_qc_get_core_stats() devuelve un array de estadísticas. Las estadísticas slam_stale_refresh y slam_stale_hit son incrementadas si la defensa de cierre tiene lugar.

No es posible establecer una recomendación universal en la configuración de la defensa de cierre. Se advierte a los usuarios que monitoricen y prueben sus configuraciones y que deduzcan los ajustes en consecuencia.

Almacenamiento en caché basado en patrones
Buscar candidatas a la caché
Guia rápida y ejemplos


Buscar candidatas a la caché

Una sentencia debería ser considerada para ser almacenada en la caché si se ejecuta a menudo y tiene un tiempo de ejecución largo. Las candidatas se buscan creando una lista de sentencias ordenadas por el producto del número de ejecuciones multiplicado por el tiempo de ejecución de la sentencia. La función mysqlnd_qc_get_query_trace_log() devuelve un registro de consultas que ayudan con la tarea.

Recopilar el rastreo de una consulta es una operación lenta. Por lo tanto, está deshabilitada de forma predeterminada. La directiva de configuración de PHP mysqlnd_qc.collect_query_trace se usa para habilitarla. El rastreo de la función contiene una entrada para cada consulta emitida antes de llamar a la función.

Ejemplo #1 Recopilar un rastreo de consulta

mysqlnd_qc.enable_qc=1
mysqlnd_qc.collect_query_trace=1
<?php
/* conectarse a MySQL */
$mysqli = new mysqli("host", "usuario", "contraseña", "esquema", "puerto", "socket");

/* consultas varias para rellenar el rastreo de consultas */
for ($i = 0; $i < 2; $i++) {
    $res = $mysqli->query("SELECT 1 AS _one FROM DUAL");
    $res->free();
}

/* volcar el rastreo */
var_dump(mysqlnd_qc_get_query_trace_log());
?>

El resultado de los ejemplos serían:

array(2) {
  [0]=>
  array(8) {
    ["query"]=>
    string(26) "SELECT 1 AS _one FROM DUAL"
    ["origin"]=>
    string(102) "#0 qc.php(7): mysqli->query('SELECT 1 AS _on...')
#1 {main}"
    ["run_time"]=>
    int(0)
    ["store_time"]=>
    int(25)
    ["eligible_for_caching"]=>
    bool(false)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(false)
    ["was_already_in_cache"]=>
    bool(false)
  }
  [1]=>
  array(8) {
    ["query"]=>
    string(26) "SELECT 1 AS _one FROM DUAL"
    ["origin"]=>
    string(102) "#0 qc.php(7): mysqli->query('SELECT 1 AS _on...')
#1 {main}"
    ["run_time"]=>
    int(0)
    ["store_time"]=>
    int(8)
    ["eligible_for_caching"]=>
    bool(false)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(false)
    ["was_already_in_cache"]=>
    bool(false)
  }
}

El rastreo se da con información desordenada. También se dan los tiempos y el origen de la llamada de la consulta. La propiedad 'origin' contiene un código de búsqueda de rastros para identificar el origen de la consulta. La profundidad de la búsqueda de rastros se puede limitar con la directiva de configuración de PHP mysqlnd_qc.query_trace_bt_depth. La profundidad predeterminada es 3.

Ejemplo #2 Establecer la profundidad de la búsqueda de rastros con el ajuste ini mysqlnd_qc.query_trace_bt_depth

mysqlnd_qc.enable_qc=1
mysqlnd_qc.collect_query_trace=1
<?php
/* conectarse a MySQL */
$mysqli = new mysqli("host", "usuario", "contraseña", "esquema", "puerto", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)");

/* consultas varias para rellenar el rastreo de consultas */
for ($i = 0; $i < 3; $i++) {
    $res = $mysqli->query("SELECT id FROM test WHERE id = " . $mysqli->real_escape_string($i));
    $res->free();
}

$rastreo = mysqlnd_qc_get_query_trace_log();
$resumen = array();
foreach ($rastreo as $entrada) {
    if (!isset($resumen[$entrada['query']])) {
        $resumen[$entrada['query']] = array(
            "executions" => 1,
            "time"       => $entrada['run_time'] + $entrada['store_time'],
        );
    } else {
        $resumen[$entrada['query']]['executions']++;
        $resumen[$entrada['query']]['time'] += $entrada['run_time'] + $entrada['store_time'];
    }
}

foreach ($resumen as $consulta => $detalles) {
    printf("%45s: %5dms (%dx)\n",
    $consulta, $detalles['time'], $detalles['executions']);
}
?>

El resultado de los ejemplos serían algo similar a:

                    DROP TABLE IF EXISTS test:     0ms (1x)
                    CREATE TABLE test(id INT):     0ms (1x)
    INSERT INTO test(id) VALUES (1), (2), (3):     0ms (1x)
             SELECT id FROM test WHERE id = 0:    25ms (1x)
             SELECT id FROM test WHERE id = 1:    10ms (1x)
             SELECT id FROM test WHERE id = 2:     9ms (1x)

Defensa de cierre
Medir la eficiencia de la caché
Guia rápida y ejemplos


Medir la eficiencia de la caché

PECL/mysqlnd_qc ofrece tres maneras de medir la eficiencia de la caché. La función mysqlnd_qc_get_normalized_query_trace_log() devuelve estadísticas acumuladas por la cadena de consulta normalizada, mysqlnd_qc_get_cache_info() proporciona información específica del gestor de almacenamiento que incluye una lista de todos los elementos almacenados en la caché, dependiendo de dicho gestor. Adicionalmente, el núcleo de PECL/mysqlnd_qc recopila estadísticas de resumen de alto nivel acumuladas por cada proceso de PHP. Las estadísticas de alto nivel son devueltas por mysqlnd_qc_get_core_stats().

Las funciones mysqlnd_qc_get_normalized_query_trace_log() y mysqlnd_qc_get_core_stats() no recopilarán datos a menos que dicha recopilación haya sido habilitada a través de sus directivas de configuración de PHP correspondientes. La recopilación de datos está deshabilitada de forma predeterminada por consideraciones de rendimiento. Se puede configurar con la opción mysqlnd_qc.time_statistics, la cual determina si se debería recopilar la información de los tiempos. La recopilación de las estadísticas de tiempo está habiltada de forma predeterminada, pero únicamente se lleva cabo si está habilitada la recopilación de datos en sí. El registro de estadísticas de tiempo ocasiona llamadas extra al sistema. En la mayoría de los casos, el beneficio de la monitorización es mayor que cualquier penalización de rendimiento potencial causado por las llamadas adicionales al sistema.

Ejemplo #1 Recopilar datos de estadísticas con el ajuste ini mysqlnd_qc.time_statistics

mysqlnd_qc.enable_qc=1
mysqlnd_qc.collect_statistics=1
<?php
/* conectarse a MySQL */
$mysqli = new mysqli("host", "usuario", "contraseña", "esquema", "puerto", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)");

/* consultas varias */
for ($i = 1; $i <= 4; $i++) {
    $consulta = sprintf("/*%s*/SELECT id FROM test WHERE id = %d", MYSQLND_QC_ENABLE_SWITCH, $i % 2);
    $res   = $mysqli->query($consulta);

    $res->free();
}

var_dump(mysqlnd_qc_get_core_stats());
?>

El resultado de los ejemplos serían algo similar a:

array(26) {
  ["cache_hit"]=>
  string(1) "2"
  ["cache_miss"]=>
  string(1) "2"
  ["cache_put"]=>
  string(1) "2"
  ["query_should_cache"]=>
  string(1) "4"
  ["query_should_not_cache"]=>
  string(1) "3"
  ["query_not_cached"]=>
  string(1) "3"
  ["query_could_cache"]=>
  string(1) "4"
  ["query_found_in_cache"]=>
  string(1) "2"
  ["query_uncached_other"]=>
  string(1) "0"
  ["query_uncached_no_table"]=>
  string(1) "0"
  ["query_uncached_no_result"]=>
  string(1) "0"
  ["query_uncached_use_result"]=>
  string(1) "0"
  ["query_aggr_run_time_cache_hit"]=>
  string(2) "28"
  ["query_aggr_run_time_cache_put"]=>
  string(3) "900"
  ["query_aggr_run_time_total"]=>
  string(3) "928"
  ["query_aggr_store_time_cache_hit"]=>
  string(2) "14"
  ["query_aggr_store_time_cache_put"]=>
  string(2) "40"
  ["query_aggr_store_time_total"]=>
  string(2) "54"
  ["receive_bytes_recorded"]=>
  string(3) "136"
  ["receive_bytes_replayed"]=>
  string(3) "136"
  ["send_bytes_recorded"]=>
  string(2) "84"
  ["send_bytes_replayed"]=>
  string(2) "84"
  ["slam_stale_refresh"]=>
  string(1) "0"
  ["slam_stale_hit"]=>
  string(1) "0"
  ["request_counter"]=>
  int(1)
  ["process_hash"]=>
  int(1929695233)
}

Para una visión general se llama a mysqlnd_qc_get_core_stats(), que emite estadísticas relacionadas con el uso de la caché, los tiempos de caché y el tráfico. Los valores se acumulan en base a cada proceso para todas las consultas emitidas por cualquier llamada a la API de MySQL para PHP.

Algunos gestores de almacenamiento, como el gestor predetermindo, pueden informar de las entradas de la caché, de las estadísticas relacionadas con las entradas y de los metadatos de las consultas subyacentes a través de la función mysqlnd_qc_get_cache_info(). Por favor, observe que la información devuelta depende del gestor de almacenmiento. Los valores se acumulan en base a cada proceso.

Ejemplo #2 Ejemplo del uso de mysqlnd_qc_get_cache_info()

mysqlnd_qc.enable_qc=1
<?php
/* conectarse a MySQL */
$mysqli = new mysqli("host", "usuario", "contraseña", "esquema", "puerto", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)");

/* consultas varias para rellenar el rastreo de consultas */
for ($i = 1; $i <= 4; $i++) {
    $consulta = sprintf("/*%s*/SELECT id FROM test WHERE id = %d", MYSQLND_QC_ENABLE_SWITCH, $i % 2);
    $res   = $mysqli->query($consulta);

    $res->free();
}

var_dump(mysqlnd_qc_get_cache_info());
?>

El resultado de los ejemplos serían algo similar a:

array(4) {
  ["num_entries"]=>
  int(2)
  ["handler"]=>
  string(7) "default"
  ["handler_version"]=>
  string(5) "1.0.0"
  ["data"]=>
  array(2) {
    ["Localhost via UNIX socket
3306
root
test|/*qc=on*/SELECT id FROM test WHERE id = 1"]=>
    array(2) {
      ["statistics"]=>
      array(11) {
        ["rows"]=>
        int(1)
        ["stored_size"]=>
        int(71)
        ["cache_hits"]=>
        int(1)
        ["run_time"]=>
        int(391)
        ["store_time"]=>
        int(27)
        ["min_run_time"]=>
        int(16)
        ["max_run_time"]=>
        int(16)
        ["min_store_time"]=>
        int(8)
        ["max_store_time"]=>
        int(8)
        ["avg_run_time"]=>
        int(8)
        ["avg_store_time"]=>
        int(4)
      }
      ["metadata"]=>
      array(1) {
        [0]=>
        array(8) {
          ["name"]=>
          string(2) "id"
          ["orig_name"]=>
          string(2) "id"
          ["table"]=>
          string(4) "test"
          ["orig_table"]=>
          string(4) "test"
          ["db"]=>
          string(4) "test"
          ["max_length"]=>
          int(1)
          ["length"]=>
          int(11)
          ["type"]=>
          int(3)
        }
      }
    }
    ["Localhost via UNIX socket
3306
root
test|/*qc=on*/SELECT id FROM test WHERE id = 0"]=>
    array(2) {
      ["statistics"]=>
      array(11) {
        ["rows"]=>
        int(0)
        ["stored_size"]=>
        int(65)
        ["cache_hits"]=>
        int(1)
        ["run_time"]=>
        int(299)
        ["store_time"]=>
        int(13)
        ["min_run_time"]=>
        int(11)
        ["max_run_time"]=>
        int(11)
        ["min_store_time"]=>
        int(6)
        ["max_store_time"]=>
        int(6)
        ["avg_run_time"]=>
        int(5)
        ["avg_store_time"]=>
        int(3)
      }
      ["metadata"]=>
      array(1) {
        [0]=>
        array(8) {
          ["name"]=>
          string(2) "id"
          ["orig_name"]=>
          string(2) "id"
          ["table"]=>
          string(4) "test"
          ["orig_table"]=>
          string(4) "test"
          ["db"]=>
          string(4) "test"
          ["max_length"]=>
          int(0)
          ["length"]=>
          int(11)
          ["type"]=>
          int(3)
        }
      }
    }
  }
}

Es posible disminuir más la granularidad de las estadísticas al nivel de la cadena de sentencia normalizada. Ésta es la cadena de sentencia con todos los parámetros reemplazados con signos de interrogación. Por ejemplo, las dos sentencias SELECT id FROM test WHERE id = 0 y SELECT id FROM test WHERE id = 1 se normalizan a SELECT id FROM test WHERE id = ?. Sus estadísticas se acumulan en una entrada para SELECT id FROM test WHERE id = ?.

Ejemplo #3 Ejemplo del uso de mysqlnd_qc_get_normalized_query_trace_log()

mysqlnd_qc.enable_qc=1
mysqlnd_qc.collect_normalized_query_trace=1
<?php
/* conectarse a MySQL */
$mysqli = new mysqli("host", "usuario", "contraseña", "esquema", "puerto", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)");

/* consultas varias para rellenar el rastreo de consultas */
for ($i = 1; $i <= 4; $i++) {
    $consulta = sprintf("/*%s*/SELECT id FROM test WHERE id = %d", MYSQLND_QC_ENABLE_SWITCH, $i % 2);
    $res   = $mysqli->query($consulta);

    $res->free();
}

var_dump(mysqlnd_qc_get_normalized_query_trace_log());
?>

El resultado de los ejemplos serían algo similar a:

array(4) {
  [0]=>
  array(9) {
    ["query"]=>
    string(25) "DROP TABLE IF EXISTS test"
    ["occurences"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["avg_run_time"]=>
    int(0)
    ["min_run_time"]=>
    int(0)
    ["max_run_time"]=>
    int(0)
    ["avg_store_time"]=>
    int(0)
    ["min_store_time"]=>
    int(0)
    ["max_store_time"]=>
    int(0)
  }
  [1]=>
  array(9) {
    ["query"]=>
    string(27) "CREATE TABLE test (id INT )"
    ["occurences"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["avg_run_time"]=>
    int(0)
    ["min_run_time"]=>
    int(0)
    ["max_run_time"]=>
    int(0)
    ["avg_store_time"]=>
    int(0)
    ["min_store_time"]=>
    int(0)
    ["max_store_time"]=>
    int(0)
  }
  [2]=>
  array(9) {
    ["query"]=>
    string(46) "INSERT INTO test (id ) VALUES (? ), (? ), (? )"
    ["occurences"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["avg_run_time"]=>
    int(0)
    ["min_run_time"]=>
    int(0)
    ["max_run_time"]=>
    int(0)
    ["avg_store_time"]=>
    int(0)
    ["min_store_time"]=>
    int(0)
    ["max_store_time"]=>
    int(0)
  }
  [3]=>
  array(9) {
    ["query"]=>
    string(31) "SELECT id FROM test WHERE id =?"
    ["occurences"]=>
    int(4)
    ["eligible_for_caching"]=>
    bool(true)
    ["avg_run_time"]=>
    int(179)
    ["min_run_time"]=>
    int(11)
    ["max_run_time"]=>
    int(393)
    ["avg_store_time"]=>
    int(12)
    ["min_store_time"]=>
    int(7)
    ["max_store_time"]=>
    int(25)
  }
}

La distribución del código fuente de PECL/mysqlnd_qc contiene el directorio web/ en el que se pueden encontrar scripts basados en monitorización que proporcionan un ejemplo de cómo escribir un monitor de caché. Por favor, siga las instrucciones proporcionadas en el código fuente.

Desde PECL/mysqlnd_qc 1.1.0 es posible escribir estadísticas en un fichero de registro. Véase mysqlnd_qc.collect_statistics_log_file.

Buscar candidatas a la caché
Más allá del TTL: almacenamiento definido por el usuario
Guia rápida y ejemplos


Más allá del TTL: almacenamiento definido por el usuario

El complemento de caché de consultas admite el uso de gestores de almacenamiento definidos por el usuario. Éstos pueden usar algoritmos de invalidacion complejos de forma arbitraria y admitir medios de almacenamiento arbitrarios.

Todos los gestores de almacenamiento definidos por el usuario deben proporcionar una cierta interfaz. Las funciones del gestor de almacenamiento definido por el usuario serán llamadas por el núcleo del complemento de caché. La interfaz necesaria consiste en siete funciones públicas. El gestor de almacenamiento definido por el usuario, tanto procedimental como el orientado a objetos, debe implementar el mismo conjunto de funciones.

Ejemplo #1 Utilizar un gestor de almacenamiento definido por el usuario

<?php
/* Habilitar el almacenamiento en la caché predeterminado para todas las sentencas */
ini_set("mysqlnd_qc.cache_by_default", 1);

/* Funciones del gestor de almacenamiento procedimental definido por el usuario */

$__cache = array();

function get_hash($host_info, $port, $user, $db, $query) {
    global $__cache;
    printf("\t%s(%d)\n", __FUNCTION__, func_num_args());

    return md5(sprintf("%s%s%s%s%s", $host_info, $port, $user, $db, $query));
}

function find_query_in_cache($key) {
    global $__cache;
    printf("\t%s(%d)\n", __FUNCTION__, func_num_args());

    if (isset($__cache[$key])) {
        $tmp = $__cache[$key];
        if ($tmp["valid_until"] < time()) {
            unset($__cache[$key]);
            $ret = NULL;
        } else {
            $ret = $__cache[$key]["data"];
        }
    } else {
        $ret = NULL;
    }

    return $ret;
}

function return_to_cache($key) {
    /*
     Invocada en una búsqueda coincidente en la caché después de haber procesado el
     almacenamiento de los datos, podría usarse como cuenta de referencia
    */
    printf("\t%s(%d)\n", __FUNCTION__, func_num_args());
}

function add_query_to_cache_if_not_exists($key, $data, $ttl, $run_time, $store_time, $row_count) {
    global $__cache;
    printf("\t%s(%d)\n", __FUNCTION__, func_num_args());

    $__cache[$key] = array(
        "data"               => $data,
        "row_count"          => $row_count,
        "valid_until"        => time() + $ttl,
        "hits"               => 0,
        "run_time"           => $run_time,
        "store_time"         => $store_time,
        "cached_run_times"   => array(),
        "cached_store_times" => array(),
    );

    return TRUE;
}

function query_is_select($query) {
    printf("\t%s('%s'): ", __FUNCTION__, $query);

    $ret = FALSE;
    if (stristr($query, "SELECT") !== FALSE) {
        /* almacenar en caché durante 5 segundos */
        $ret = 5;
    }

    printf("%s\n", (FALSE === $ret) ? "FALSE" : $ret);
    return $ret;
}

function update_query_run_time_stats($key, $run_time, $store_time) {
    global $__cache;
    printf("\t%s(%d)\n", __FUNCTION__, func_num_args());

    if (isset($__cache[$key])) {
        $__cache[$key]['hits']++;
        $__cache[$key]["cached_run_times"][] = $run_time;
        $__cache[$key]["cached_store_times"][] = $store_time;
    }
}

function get_stats($key = NULL) {
    global $__cache;
    printf("\t%s(%d)\n", __FUNCTION__, func_num_args());

    if ($key && isset($__cache[$key])) {
        $stats = $__cache[$key];
    } else {
        $stats = array();
        foreach ($__cache as $key => $details) {
            $stats[$key] = array(
               'hits'              => $details['hits'],
               'bytes'             => strlen($details['data']),
               'uncached_run_time' => $details['run_time'],
               'cached_run_time'   => (count($details['cached_run_times']))
                                      ? array_sum($details['cached_run_times']) / count($details['cached_run_times'])
                                      : 0,
            );
        }
    }

    return $stats;
}

function clear_cache() {
    global $__cache;
    printf("\t%s(%d)\n", __FUNCTION__, func_num_args());

    $__cache = array();
    return TRUE;
}

/* Instalar el gestor de almacenamiento procedimental definido por el usuario */
if (!mysqlnd_qc_set_user_handlers("get_hash", "find_query_in_cache",
    "return_to_cache", "add_query_to_cache_if_not_exists",
    "query_is_select", "update_query_run_time_stats", "get_stats", "clear_cache")) {

        printf("Fallo al instalar el gestor de almacenmiento definido por el usuario\n");
}

/* Conectar, crear y rellenar la tabla test */
$mysqli = new mysqli("host", "usuario", "contraseña", "esquema", "puerto", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2)");

printf("\nColocada en caché/sin coincidencia en la caché\n");

$res = $mysqli->query("SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();

/* Borrar el registro para verificar que obtenemos los datos desde la caché */
$mysqli->query("DELETE FROM test WHERE id = 1");

printf("\nCoincidencia con la caché\n");

$res = $mysqli->query("SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();

printf("\nMostrar las estadísticas de la caché\n");
var_dump(mysqlnd_qc_get_cache_info());

printf("\nVolcado de la caché, colocada en la caché/sin coincidencia en la caché");
var_dump(mysqlnd_qc_clear_cache());

$res = $mysqli->query("SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();
?>

El resultado de los ejemplos serían algo similar a:

        query_is_select('DROP TABLE IF EXISTS test'): FALSE
        query_is_select('CREATE TABLE test(id INT)'): FALSE
        query_is_select('INSERT INTO test(id) VALUES (1), (2)'): FALSE

Colocada en caché/sin coincidencia en la caché
        query_is_select('SELECT id FROM test WHERE id = 1'): 5
        get_hash(5)
        find_query_in_cache(1)
        add_query_to_cache_if_not_exists(6)
array(1) {
  ["id"]=>
  string(1) "1"
}
        query_is_select('DELETE FROM test WHERE id = 1'): FALSE

Coincidencia con la caché
        query_is_select('SELECT id FROM test WHERE id = 1'): 5
        get_hash(5)
        find_query_in_cache(1)
        return_to_cache(1)
        update_query_run_time_stats(3)
array(1) {
  ["id"]=>
  string(1) "1"
}

Mostrar las estadísticas de la caché
        get_stats(0)
array(4) {
  ["num_entries"]=>
  int(1)
  ["handler"]=>
  string(4) "user"
  ["handler_version"]=>
  string(5) "1.0.0"
  ["data"]=>
  array(1) {
    ["18683c177dc89bb352b29965d112fdaa"]=>
    array(4) {
      ["hits"]=>
      int(1)
      ["bytes"]=>
      int(71)
      ["uncached_run_time"]=>
      int(398)
      ["cached_run_time"]=>
      int(4)
    }
  }
}

Volcado de la caché, colocada en la caché/sin coincidencia en la caché    clear_cache(0)
bool(true)
        query_is_select('SELECT id FROM test WHERE id = 1'): 5
        get_hash(5)
        find_query_in_cache(1)
        add_query_to_cache_if_not_exists(6)
NULL

Medir la eficiencia de la caché
Instalación/Configuración
Guia rápida y ejemplos


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
Más allá del TTL: almacenamiento definido por el usuario
Requerimientos
mysqlnd_qc


Requerimientos

PHP 5.3.3 o una versión más reciente de PHP.

PECL/mysqlnd_qc es un complemento de mysqlnd_qc. Se conecta a la biblioteca mysqlnd. Para usar este complemento con una extensión de MySQL para PHP, debe estar habilitada la extensión de mysqlnd (mysqli, mysql, o PDO_MYSQL).

Para usar el gestor de almacenamiento APC con PECL/mysqlnd_qc 1.0 APC 3.1.3p1-beta o posterior. PECL/mysqlnd_qc 1.2 ha sido probada con APC 3.1.13-beta. El gestor de almacenamiento APC no se puede usar con una construcción compartida. No se puede usar la directiva de configuración de PHP extension para cargar las extensiones APC y PECL/mysqlnd_qc si PECL/mysqlnd_qc utiliza APC como gestor de almacenamiento. Para usar el gestor de almacenamiento APC, se ha de compilar PHP estáticamente con soporte para APC y PECL/mysqlnd_qc dentro de PHP.

Para usar el gestor de almacenamiento MEMCACHE: Use libmemcache 0.38 o superior. PECL/mysqlnd_qc 1.2 ha sido probada con libmemcache 1.4.0.

Para usar el gestor de almacenamiento sqlite: Use la extensión sqlite3 que se incluye con PHP.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/mysqlnd_qc

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

mysqlnd_qc Opciones de configuración
Nombre | Por defecto | Cambiable | Historial de cambios
mysqlnd_qc.enable_qc | 1 | PHP_INI_SYSTEM |
mysqlnd_qc.ttl | 30 | PHP_INI_ALL |
mysqlnd_qc.cache_by_default | 0 | PHP_INI_ALL |
mysqlnd_qc.cache_no_table | 0 | PHP_INI_ALL |
mysqlnd_qc.use_request_time | 0 | PHP_INI_ALL |
mysqlnd_qc.time_statistics | 1 | PHP_INI_ALL |
mysqlnd_qc.collect_statistics | 0 | PHP_INI_ALL |
mysqlnd_qc.collect_statistics_log_file | /tmp/mysqlnd_qc.stats | PHP_INI_SYSTEM |
mysqlnd_qc.collect_query_trace | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.query_trace_bt_depth | 3 | PHP_INI_SYSTEM |
mysqlnd_qc.collect_normalized_query_trace | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.ignore_sql_comments | 1 | PHP_INI_ALL |
mysqlnd_qc.slam_defense | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.slam_defense_ttl | 30 | PHP_INI_SYSTEM |
mysqlnd_qc.std_data_copy | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.apc_prefix | qc_ | PHP_INI_ALL |
mysqlnd_qc.memc_server | 127.0.0.1 | PHP_INI_ALL |
mysqlnd_qc.memc_port | 11211 | PHP_INI_ALL |
mysqlnd_qc.sqlite_data_file | :memory: | PHP_INI_ALL |

He aquí una breve explicación de las directivas de configuración.

mysqlnd_qc.enable_qc integer

Habilita o deshabilita el complemento. Si se deshabilita, la extensión no se acoplará a mysqlnd para servir como representante de las llamadas a la API en C de mysqlnd.

mysqlnd_qc.ttl integer

Tiempo de vida (TTL) predeterminado para las entradas de la caché, en segundos.

mysqlnd_qc.cache_by_default integer

Almacena en caché todas las consultas sin considerar si comienzan con la sugerencia SQL que habilita el uso de la caché de una consulta. El gestor de almacenamiento no puede sobrescribir el ajuste. Es evaluado por el núcleo del complemento.

mysqlnd_qc.cache_no_table integer

Si almacenar en caché consultas sin nombre de tabla en cualesquiera metadatos de columna de sus conjuntos de resultados, por ejemplo, SELECT SLEEP(1), SELECT NOW(), SELECT SUBSTRING().

mysqlnd_qc.use_request_time integer

¿Usar el tiempo de petición global de PHP para evitar llamadas a gettimeofday() del sistema? Si se usa el gestor de almacenamiento APC debería establecerse el valor de apc.use_request_time , si no, se generarán advertencias.

mysqlnd_qc.time_statistics integer

¿Recopilar el tiempo de ejecución y almacenar estadísticas de tiempo usando la llamada gettimeofday() del sistema? Los datos serán recopilados solamente si también se establece mysqlnd_qc.collect_statistics = 1.

mysqlnd_qc.collect_statistics integer

¿Recopilar estadísticas para mysqlnd_qc_get_core_stats()? ¡No influye a las estadísticas del gestor de almacenamiento! Las estadísticas del gestor pueden ser una parte integral del formato de almacenamiento interno del gestor. Por lo tanto, la recopilación de algunas estadísticas del gestor no se pueden deshabilitar.

mysqlnd_qc.collect_statistics-log-file integer

Si mysqlnd_qc.collect_statistics y mysqlnd_qc.collect_statistics_log_file están establecidos, el complemento copiará las estadísticas en el fichero de registro especificado cada 10 peticiones web durante el cierre de peticiones de PHP. Es necesario que el fichero de registro sea modificable por el usuario del servidor web.

Desde 1.1.0.

mysqlnd_qc.collect_query_trace integer

¿Recopilar el rastreo de consultas?

mysqlnd_qc.query_trace_bt_depth integer

Profundidad/nivel máximo de la búsqueda de rastros de código de consultas.

mysqlnd_qc.ignore_sql_comments integer

Si eliminar los comentarios de SQL de una cadena de consulta antes de usar el algoritmo hash para generar una clave de caché. Se ha de deshabilitar si no se desea que dos sentencias tales como SELECT /*my_source_ip=123*/ id FROM test y SELECT /*my_source_ip=456*/ id FROM test se refieran a la misma entrada de la caché.

Desde 1.1.0.

mysqlnd_qc.slam_defense integer

Activa la defensa de cierre basada en gestores (protección de la estampida de la caché) si está disponible. Soportado por los gestores de almacenamiento Default y APC .

mysqlnd_qc.slam_defense_ttl integer

TTL para las entradas antiguas de la caché que son servidas mientras otro cliente actualiza las entradas. Soportado por el gestor de almacenamiento APC .

mysqlnd_qc.collect_normalized_query_trace integer

¿Recopilar los rastreos de consultas normalizadas acumuladas? El ajuste no tiene efecto de forma predeterminada. Se ha de compilar la extensión usando NORM_QUERY_TRACE_LOG para poder usar el ajuste.

mysqlnd_qc.std_data_copy integer

Gestor de almacenamiento predeterminado: ¿copiar datos conectados a la caché? EXPERIMENTAL – ¡utilice la configuración predterminada!

mysqlnd_qc.apc_prefix string

El gestor de almancenamiento APC almacena datos en la caché de usuario de APC. El ajuste establece un prefijo para las entradas de la caché.

mysqlnd_qc.memc_server string

Gestor de almacenamiento MEMCACHE: host del servidor de memcache.

mysqlnd_qc.memc_port integer

Gestor de almacenamiento MEMCACHE: puerto del servidor de memcache.

mysqlnd_qc.sqlite_data_file string

Gestor de almacenamiento sqlite: fichero de datos. Cualquier configuración excepto :memory: podría ser un valor poco práctico.

Instalación
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Relacionadas con sugerencias SQL

Ejemplo #1 Usar constantes de sugerencias SQL

La caché de consultas está constrolada por sugerencias SQL. Las sugerencias SQL se usan para habilitar y deshabilitar el almacenamiento en la caché. Las sugerencias SQL se pueden usar para establecer el TTL de una consulta.

Las sugerencias SQL reconocidas por la caché de consultas se pueden cambiar manualmente en tiempo de compilación. Esto hace posible usar mysqlnd_qc en entornos en los cuales las sugerencias SQL predeterminadas ya son tomadas e interpretadas por otros sistemas. Por lo tanto, se recomienda usar constantes de cadena de sugerencias SQL en lugar de añadir manualmente las sugerencias SQL predeterminadas a las cadenas de consulta.

<?php
/* Usar constantes para una portabilidad máxima */
$consulta = "/*" . MYSQLND_QC_ENABLE_SWITCH . "*/SELECT id FROM test";

/* Válido pero menos portable: TTL predeterminado */
$consulta = "/*qc=on*/SELECT id FROM test";

/* Válido pero menos portable: TTL por sentencia */
$consulta = "/*qc=on*//*qc_ttl=5*/SELECT id FROM test";

printf("MYSQLND_QC_ENABLE_SWITCH: %s\n", MYSQLND_QC_ENABLE_SWITCH);
printf("MYSQLND_QC_DISABLE_SWITCH: %s\n", MYSQLND_QC_DISABLE_SWITCH);
printf("MYSQLND_QC_TTL_SWITCH: %s\n", MYSQLND_QC_TTL_SWITCH);
?>

El resultado de los ejemplos serían:

MYSQLND_QC_ENABLE_SWITCH: qc=on
MYSQLND_QC_DISABLE_SWITCH: qc=off
MYSQLND_QC_TTL_SWITCH: qc_ttl=

MYSQLND_QC_ENABLE_SWITCH (string)
Sugerencia SQL usada para habilitar el almacenamiento en caché de una consulta.
MYSQLND_QC_DISABLE_SWITCH (string)
Sugerencia SQL usada para deshabilitar el almacenamiento en caché de una consulta si mysqlnd_qc.cache_by_default = 1.
MYSQLND_QC_TTL_SWITCH (string)
Sugerencia SQL usada para establecer el TTL de un conjunto de resultados.
MYSQLND_QC_SERVER_ID_SWITCH (string)
Esta sugerencia SQL no debería usarse en general. Es necesaria para PECL/mysqlnd_ms para agrupar entradas de la caché para una sentencia, excepto que originándose desde diferentes conexiones físicas. Si se usa esta sugerencia, las configuraciones de la conexión como el usuario, el nombre del host y el conjunto de caracteres, no son consideradas para generar una clave de caché de una consulta. En su lugar, se usan el valor dado y la cadena de consulta como entrada para la función de hash que genera la clave. PECL/mysqlnd_ms podría, si se le indica, almacenar en la caché resultados de los esclavos de Replicación MySQL. Ya que puede contener muchas conexiones al esclavo, la clave de la caché no será formada a partir de las configuraciones de usuario, nombre de host u otras configuraciones que podrían variar para las diferentes conexiones esclavas. En su lugar, PECL/mysqlnd_ms proporciona un identificador que hace referencia al grupo de conexiones esclavas que serán habilitadas para compartir las entradas en la caché sin importar cual era la conexión física esclava para generar la entrada en la caché. No se recomienda el uso de esta característica fuera de PECL/mysqlnd_ms.

Relacionadas con mysqlnd_qc_set_cache_condition()

Ejemplo #2 Ejemplo del uso de mysqlnd_qc_set_cache_condition()

La función mysqlnd_qc_set_cache_condition() permite establecer las condiciones para el almacenamiento en caché de sentencias que no comienzan con las sugerencias SQL necesarias para habilitar el almacenamiento en caché manual.

<?php
/* Almacenar en caché todos los accesos a tablas con nombre "new%" en el esquema/base de datos "bd_ejemplo" durante 1 segundo */
if (!mysqlnd_qc_set_cache_condition(MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN, "bd_ejemplo.new%", 1)) {
  die("¡Error al establecer la condición de la caché!");
}

$mysqli = new mysqli("host", "usuario", "contraseña", "bd_ejemplo", "puerto");
/* almacenada en caché aunque no se proporcionó una sugerencia SQL  */
$mysqli->query("SELECT id, title FROM news");

$pdo_mysql = new PDO("mysql:host=host;dbname=bd_ejemplo;port=puerto", "usuario", "contraseña");
/* no almacenada en caché: sin sugerencia SQL, el patrón no coincide */
$pdo_mysql->query("SELECT id, title FROM latest_news");
/* almacenado en caché: TTL 1 segundo, el patrón coincide */
$pdo_mysql->query("SELECT id, title FROM news");
?>

MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN (int)
Usada como parámetro de mysqlnd_qc_set_cache_condition() para establecer las condiciones del almacenamiento en caché automático basado en esquemas.

Otras

El número de versión del complemento se puede obtener usando MYSQLND_QC_VERSION, que es la representación de tipo string del número de verisón numérica, o MYSQLND_QC_VERSION_ID, que es un integer como 10000. Los desarrolladores puede calcular el número de versión como sigue:

Versión (parte) | Ejemplo
Mayor*10000 | 1*10000 = 10000
Menor*100 | 0*100 = 0
Parche | 0 = 0
MYSQLND_QC_VERSION_ID | 10000

MYSQLND_QC_VERSION (string)
String con la versión del complemento, por ejemplo, "1.0.0-prototype".

MYSQLND_QC_VERSION_ID (int)
Número de versión del complemento, por ejemplo, 10000.

Configuración en tiempo de ejecución
Funciones de mysqlnd_qc
mysqlnd_qc


Funciones de mysqlnd_qc

Tabla de contenidos

  • mysqlnd_qc_clear_cache — Vacía todo el contenido de la caché
  • mysqlnd_qc_get_available_handlers — Devuelve una lista de los gestores de almacenamiento disponibles
  • mysqlnd_qc_get_cache_info — Devuelve información sobre el gestor en uso, el número de entradas de la caché y sobre las entradas de la caché, si está disponible
  • mysqlnd_qc_get_core_stats — Estadísticas recopiladas por el núcleo de la caché de consultas
  • mysqlnd_qc_get_normalized_query_trace_log — Devuelve un registro de rastreo de consultas normalizadas para cada consulta inspeccionada por la caché de consultas
  • mysqlnd_qc_get_query_trace_log — Devuelve información de rastreo para cada consulta inspeccionada por la caché de consultas
  • mysqlnd_qc_set_cache_condition — Establece las condiciones para el almacenamiento en caché automático
  • mysqlnd_qc_set_is_select — Instala una llamada de retorno que decide si una sentencia es almacenada en caché
  • mysqlnd_qc_set_storage_handler — Cambia el gestor de almacenamiento en uso
  • mysqlnd_qc_set_user_handlers — Establece las funciones de llamada de retorno para un gestor de almacenamiento procedimental definido por el usuario
Constantes predefinidas
mysqlnd_qc_clear_cache
mysqlnd_qc


Vacía todo el contenido de la caché

Funciones de mysqlnd_qc
mysqlnd_qc_get_available_handlers
Funciones de mysqlnd_qc
PHP Manual

mysqlnd_qc_clear_cache

(PECL mysqlnd_qc >= 1.0.0)

mysqlnd_qc_clear_cache — Vacía todo el contenido de la caché

Descripción

bool mysqlnd_qc_clear_cache ( void )

Vacía el contenido de la caché.

El vaciado de la caché es responsabilidad del gestor de almacenamiento. Todos los gestores de almacenamiento internos excpeto memcache admiten el vaciado de la caché. El gestor de almacenamiento memcache no puede vaciar el contenido de su propia caché.

Los gestores de almacenamiento definidos por el usuario podrían o no soportar la operación.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Un valor de retorno de FALSE indica que el vaciado de todo el contenido de la caché ha fallado o que la operación no está soportada por el gestor de almacenamiento activo. Las aplicaciones no deben esperar que al llamar a la función se vacíe siempre la caché.

Funciones de mysqlnd_qc
mysqlnd_qc_get_available_handlers
Funciones de mysqlnd_qc


Devuelve una lista de los gestores de almacenamiento disponibles

mysqlnd_qc_clear_cache
mysqlnd_qc_get_cache_info
Funciones de mysqlnd_qc
PHP Manual

mysqlnd_qc_get_available_handlers

(PECL mysqlnd_qc >= 1.0.0)

mysqlnd_qc_get_available_handlers — Devuelve una lista de los gestores de almacenamiento disponibles

Descripción

array mysqlnd_qc_get_available_handlers ( void )

Los gestores de almacenamiento que están disponibles depende de la configuración en tiempo de compilación del complemento de caché de consultas. El gestor de almacenamiento predeterminado (default) siempre está disponible. Todos los demás gestores de almacenamiento deben habilitarse explícitamente al contruir la extensión.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una rray de los gestores de almacenamiento internos disponibles. Para cada gestor de almacenamiento se proporcinan el número de versión y la cadena de versión.

Ejemplos

Ejemplo #1 Ejemplo de mysqlnd_qc_get_available_handlers()

<?php
var_dump(mysqlnd_qc_get_available_handlers());
?>

El resultado de los ejemplos serían:

array(5) {
  ["default"]=>
  array(2) {
    ["version"]=>
    string(5) "1.0.0"
    ["version_number"]=>
    int(100000)
  }
  ["user"]=>
  array(2) {
    ["version"]=>
    string(5) "1.0.0"
    ["version_number"]=>
    int(100000)
  }
  ["APC"]=>
  array(2) {
    ["version"]=>
    string(5) "1.0.0"
    ["version_number"]=>
    int(100000)
  }
  ["MEMCACHE"]=>
  array(2) {
    ["version"]=>
    string(5) "1.0.0"
    ["version_number"]=>
    int(100000)
  }
  ["sqlite"]=>
  array(2) {
    ["version"]=>
    string(5) "1.0.0"
    ["version_number"]=>
    int(100000)
  }
}

Ver también

  • Instalación
  • mysqlnd_qc_set_storage_handler() - Cambia el gestor de almacenamiento en uso

mysqlnd_qc_clear_cache
mysqlnd_qc_get_cache_info
Funciones de mysqlnd_qc


Devuelve información sobre el gestor en uso, el número de entradas de la caché y sobre las entradas de la caché, si está disponible

mysqlnd_qc_get_available_handlers
mysqlnd_qc_get_core_stats
Funciones de mysqlnd_qc
PHP Manual

mysqlnd_qc_get_cache_info

(PECL mysqlnd_qc >= 1.0.0)

mysqlnd_qc_get_cache_info — Devuelve información sobre el gestor en uso, el número de entradas de la caché y sobre las entradas de la caché, si está disponible

Descripción

array mysqlnd_qc_get_cache_info ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve información sobre el gestor en uso, el número de entradas de la caché y sobre las entradas de la caché, si está disponible. Si lo está, los datos serán devueltos para las entradas de la caché sujetos al gestor de almacenamiento activo. Los gestores de almacenamiento son libres de devolver cualquier datos. Se recomienda que los gestores de almacenamiento devuelvan al menos los datos proporcionados por el gestor predeterminado, si fuera téctinamente posible.

El ámbito de la información es el proceso de PHP. Dependiendo del modelo de desarrollo de PHP, un proceso podría servir una o más peticiones.

Los valores se acumulan para todas las actividades de la caché en base a cada gestor de almacenamiento. No es posible indicar cuántas consultas se orinigan desde mysqli, PDO_MySQL o mysql. Las llamadas a al API contribuyen a los valores de los datos acumulados. Use mysqlnd_qc_get_core_stats() para obtener los tiempos de los datos acumulados para todos los gestores de almacenamiento.

Array de información de la caché

handler string

El gestor de almacenamiento activo.

Todos los gestores de almacenamiento. Desde 1.0.0.

handler_version string

La versión del gestor de almacenamiento activo.

Todos los gestores de almacenamiento. Desde 1.0.0.

num_entries int

El número de entradas de la caché. El valor depende del gestor de almacenamiento en uso.

Los gestores de almacenamiento default, APC y SQLite proporcinan el número real de entradas de la caché.

El gestor de almacenamiento MEMCACHE siempre devuelve 0. MEMCACHE no admite el conteo del número de entradas de la caché.

Si se utiliza un gestor definido por el usuario, se informará del número de entradas de la propiedad data.

Desde 1.0.0.

data array

La versión del gestor de almacenamiento activo.

Datos adicionales dependientes del gestor de almacenamiento sobre las entradas de la caché. A los gestores de almacenamiento se les solicita que proporcionen información similar y comparable. Un gestor de almacenamiento definido por el usuario es libre de devolver cualesquiera datos.

Desde 1.0.0.

El gestor de almacenamiento default proporciona la siguiente información para la propiedad data.

La propiedad data contiene un hash. El hash es indexado por el identificador interno de entradas de la caché del gestor de almacenamiento. El identificador de entradas de la caché es legible por los humanos y contiene la cadena de consulta que dirige la entrada de la caché. Por favor, véase también el ejemplo de abajo. Se proporcionan los siguientes datos para cada entrada de la caché.

statistics array

Estadísticas de la entrada de la caché.

Desde 1.0.0.

Propiedad | Descripción | Versión
rows | Número de filas del conjunto de resultados almacenado en caché. | Desde 1.0.0.
stored_size | El tamaño del conjunto de resultados almacenado en caché en bytes. Éste es el tamaño de la carga útil. El valor no es conveniente para calcular el consumo total de memoria de todas las entradas de la caché incluyendo la carga adicional de las entradas de la caché. | Desde 1.0.0.
cache_hits | Cuantas veces se ha devuelto una entrada de la caché. | Desde 1.0.0.
run_time | Tiempo de ejecución de la sentencia a la que pertence la entrada de la caché. Éste es el tiempo de ejecución de la sentencia sin almacenar en la caché. Es el tiempo transcurrido entre el envío de la sentencia y la recepción de MySQL de una réplica desde MySQL. El tiempo ahorrado usando el complemento de caché de consultas se puede calcular de esta manera: cache_hits * ((run_time - avg_run_time) + (store_time - avg_store_time)). | Desde 1.0.0.
store_time | Tiempò de almacenamiento del conjunto de resultados de la sentencia a la que pertenece la entrada de la caché. Éste es el tiempo que se toma en obtener y almacenar los resultados de una sentencia no almacenada en caché. | Desde 1.0.0.
min_run_time | Tiempo mínimo de ejecución de la sentencia almacenada en caché. Cuánto tiempo se tarda en buscar la sentencia en la caché. | Desde 1.0.0.
min_store_time | Tiempo mínimo de almacenamiento de la sentencia almacenada en la caché. El tiempo que toma la obtención del conjunto de resultados almacenado en caché desde el medio de almacenamiento y decoficación. | Desde 1.0.0.
avg_run_time | Tiempo de ejecución medio de la sentencia almacenada en caché. | Desde 1.0.0.
avg_store_time | Tiempo de almacenamiento medio de la sentencia almacenada en caché. | Desde 1.0.0.
max_run_time | Tiempo de ejecución medio de la sentencia almacenada en caché. | Desde 1.0.0.
max_store_time | Tiempo de almacenamiento medio de la sentencia almacenada en caché. | Desde 1.0.0.
valid_until | Marca de tiempo del momento en que la entrada de la caché expira. | Desde 1.1.0.
metadata array

Metadatos de la entrada de la caché. Éstos son los metadatos proporcionados por MySQL junto con el conjunto de resultados de la sentencia en cuestión. Diferentes versiones del servidor MySQL podrían devolver diferentes metadatos. A diferencia de algunas extensiones de MySQL para PHP, no se intentan ocultar las dependencias de la versión del servidor MySQL y los detalles de la versión desde el llamador. Por favor, consulte la documentación de la API en C de MySQL del servidor de MySQL en uso para más detalles.

La lista de metadatos contiene una entrada por cada columna.

Desde 1.0.0.

Propiedad | Descripción | Versión
name | El nombre del campo. Dependiendo de la versión de MySQL, podría ser el nombre del alias del campo. | Desde 1.0.0.
org_name | El nombre del campo. | Desde 1.0.0.
table | El nombre de la tabla. Si se usó un alias para la tabla, esta propiedad normalmente contendrá dicho alias. | Desde 1.0.0.
org_table | El nombre de la tabla. | Desde 1.0.0.
db | El nombre de la base de datos/esquema. | Desde 1.0.0.
max_length | El ancho máximo del campo. Los detalles podrían variar según la versión del servidor MySQL. | Desde 1.0.0.
length | El ancho del campo. Los detalles podrían variar según la versión del servidor MySQL. | Desde 1.0.0.
type | El tipo de datos del campo. Los detalles podrían variar según el servidor MySQL en uso. Éste es el valor constante del tipo de la API en C de MySQL. Se recomienda usar las constantes de tipo proporcionadas por la extensión mysqli para comprobar su significado. No se deberían probar ciertos valores de tipos comparandos con ciertos números. | Desde 1.0.0.

El gestor de almacenamiento APC devuelve la misma información para la propiedad data, excepto sin metadata. Los metadata de una entrada de la caché se establecen a NULL.

El gestor de almacenamiento MEMCACHE no rellena la propiedad data. Las estadísticas no están disponibles en base cada entrada de la caché con el gestor de almacenamiento MEMCACHE.

Un gestor de almacenamiento definido por el usuario es libre de proporcionar cualquier dato.

Ejemplos

Ejemplo #1 Ejemplo de mysqlnd_qc_get_cache_info()

El ejemplo muestra la salida desde el gestor de almacenamiento interno predeterminado (default). Los demás gestores de almacenamiento podría notificar datos diferentes.

<?php
/* Rellenar la caché, p.ej. usando mysqli */
$mysqli = new mysqli("host", "usuario", "contraseña", "esquema");
$mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/SELECT id FROM test");

/* Mostrar la información de la caché */
var_dump(mysqlnd_qc_get_cache_info());
?>

El resultado de los ejemplos serían:

array(4) {
 ["num_entries"]=>
 int(1)
 ["handler"]=>
 string(7) "default"
 ["handler_version"]=>
 string(5) "1.0.0"
 ["data"]=>
 array(1) {
   ["Localhost via UNIX socket 3306 user schema|/*qc=on*/SELECT id FROM test"]=>
   array(2) {
     ["statistics"]=>
     array(11) {
       ["rows"]=>
       int(6)
       ["stored_size"]=>
       int(101)
       ["cache_hits"]=>
       int(0)
       ["run_time"]=>
       int(471)
       ["store_time"]=>
       int(27)
       ["min_run_time"]=>
       int(0)
       ["max_run_time"]=>
       int(0)
       ["min_store_time"]=>
       int(0)
       ["max_store_time"]=>
       int(0)
       ["avg_run_time"]=>
       int(0)
       ["avg_store_time"]=>
       int(0)
     }
     ["metadata"]=>
     array(1) {
       [0]=>
       array(8) {
         ["name"]=>
         string(2) "id"
         ["orig_name"]=>
         string(2) "id"
         ["table"]=>
         string(4) "test"
         ["orig_table"]=>
         string(4) "test"
         ["db"]=>
         string(4) "schema"
         ["max_length"]=>
         int(1)
         ["length"]=>
         int(11)
         ["type"]=>
         int(3)
       }
     }
   }
 }
}

Ver también

  • mysqlnd_qc_get_core_stats() - Estadísticas recopiladas por el núcleo de la caché de consultas

mysqlnd_qc_get_available_handlers
mysqlnd_qc_get_core_stats
Funciones de mysqlnd_qc


Estadísticas recopiladas por el núcleo de la caché de consultas

mysqlnd_qc_get_cache_info
mysqlnd_qc_get_normalized_query_trace_log
Funciones de mysqlnd_qc
PHP Manual

mysqlnd_qc_get_core_stats

(PECL mysqlnd_qc >= 1.0.0)

mysqlnd_qc_get_core_stats — Estadísticas recopiladas por el núcleo de la caché de consultas

Descripción

array mysqlnd_qc_get_core_stats ( void )

Devuelve un array con las estadísticas recopiladas por el núcleo del complemento de caché. Se notificarán los mismos campos de datos para cualquier gestor de almacenamiento ya que los datos son recopilados por el núcleo.

El ajuste de configuraión de PHP mysqlnd_qc.collect_statistics controla la recopilación de estadísticas. Dicha recopilación está deshabilitada de forma predeterminada por motivos de rendimiento. La deshabilitación de la recopilación de estadísticas también deshabilitará la recopilación de las estadísticas relacionadas con los tiempos.

El ajuste de configuración de PHP mysqlnd_qc.collect_time_statistics controla la recopilación de estadísticas relacionadas con los tiempos.

El ámbito de las estadísticas del núcleo es el proceso de PHP. Dependiendo del modelo de desarrollo un proceso de PHP podría manejar una o múltiples peticiones.

Las estadísticas se acumulan para todas las entradas de la caché y para todos los gestores de almacenamiento. No es posible indicar cuántas consultas originadas desde las llamadas a las APIs de mysqli, PDO_MySQL o mysql han contribuido a los valores de los datos acumulados.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Array de estadísticas del núcleo

Estadística | Descripción | Versión
cache_hit | La sentencia se considera almacenable en caché y los datos almacenados en caché han sido reutilizados. La sentencia se considera almacenable en caché y ocurrió una no coincidencia con la caché, aunque alguien almacenó en caché dicha sentencia mientras se procesaba y por lo tanto se puuede obtener el resultado desde la caché refrescada. | Desde 1.0.0.
cache_miss La sentencia es considerada almacenable en caché...

  • ... y se ha añadido a la caché.

  • ... pero la directiva de configuración de PHP mysqlnd_qc.cache_no_table = 1 ha impedido su almacenamiento.

  • ... pero se solicita un conjunto de resultados no almacenado en búfer.

  • ... pero un conjunto de resultados almacenado en búfer estaba vacío.

Desde 1.0.0.
cache_put | La sentencia se considera almacenable en caché y ha sido añadida a la caché. Se ha de tener cuidado al calcular las estadísticas derivadas. Los gestores de almacenamiento con un tiempo de vida de almacenamiento más allá del ámbito del proceso podría notificar que cache_put = 0 junto con cache_hit > 0, si otro proceso ha rellenado la caché. Se podría usar num_entries desde mysqlnd_qc_get_cache_info() si el gestor lo admite (default, APC). | Desde 1.0.0.
query_should_cache | La sentencia se considera almacenable en caché basándose en el análisis de la cadena de consulta. La sentencia podría o no añadirse a la caché. Véase también cache_put. | Desde 1.0.0.
query_should_not_cache | La sentencia se considera no almacenable en caché basándose en el análisis de la cadena de consulta. | Desde 1.0.0.
query_not_cached | La sentencia se considera no almacenable en caché o sí se considera pero el gestor de almacenamiento no ha devuelto una clave hash para ella. | Desde 1.0.0.
query_could_cache La sentencia se considera almacenable en caché...

  • ... y ha sido ejecutada sin errores.

  • ... y los metadatos muestras al menos una columna del conjunto de resultados.

La sentencia podría o no estar ya en la caché. Podría ser o no añadida a la caché después. 		Desde 1.0.0.
query_found_in_cache | La sentencia se considera almacenable en caché y se ha encontrado en la misma, pero no se han reproducido los datos de la caché aún y no se ha enviado el conjunto de resultados al cliente todavía. Esto no se considera una coincidencia con la caché ya que el cliente no habría obtenido el resultado o los datos almacenados en la caché podrían ser defectuosos. | Desde 1.0.0.
query_uncached_other | La sentencia es considerada almacenable en caché y podría o no encontrarse ya en la misma, pero la reproducción de los datos almacenados en caché ha fallado, no hay ningún conjunto de resultados disponible, u ocurrió algún otro error.
query_uncached_no_table | Statement has not been cached because the result set has at least one column which has no table name in its meta data. An example of such a query is SELECT SLEEP(1). To cache those statements you have to change default value of the PHP configuration directive mysqlnd_qc.cache_no_table and set mysqlnd_qc.cache_no_table = 1. Often, it is not desired to cache such statements. | Desde 1.0.0.
query_uncached_use_result | La sentencia habría sido almacenada en caché si se hubiera usado un conjunto de resultados almacenado en búfer. La situación se considera también como una no coincidencia con la caché, por lo que cache_miss tambén serán incrementado. | Desde 1.0.0.
query_aggr_run_time_cache_hit | Tiempo de ejecución (ms) acumulado de todas las consultas almacenadas en caché. Las consultas almacenadas en caché son aquellas que han incrementado cache_hit. | Desde 1.0.0.
query_aggr_run_time_cache_put | Tiempo de ejecución (ms) acumulado de todas las consultas no almacenadas en caché que han sido colocadas en la misma. Véase también cache_put. | Desde 1.0.0.
query_aggr_run_time_total | Tiempo de ejecución (ms) acumulado de todas las consultas no almacenadas en caché que han sido inspeccionadas y ejecutadas por la caché de consultas. | Desde 1.0.0.
query_aggr_store_time_cache_hit | Tiempo de almacenamiento (ms) acumulado de todas las consultas almacenadas en caché. Las consultas almacenadas en caché son aquellas que han incrementado cache_hit. | Desde 1.0.0.
query_aggr_store_time_cache_put | Tiempo de almacenamiento (ms) acumulado de todas las consultas no almacenadas en caché que han sido colocadas en la misma. Véase también cache_put. | Desde 1.0.0.
query_aggr_store_time_total | Tiempo de almacenamiento (ms) acumulado de todas las consultas no almacenadas en caché que han sido inspeccionadas y ejecutadas por la caché de consultas. | Desde 1.0.0.
receive_bytes_recorded | El tráfico de red entrante registrado (bytes) enviado desde MySQL a PHP. El tráfico podría o no haber sido añadido a la caché. El tráfico es el total de todas las consultas sin tener en cuenta si se almacenaron o no en caché. | Desde 1.0.0.
receive_bytes_replayed | El tráfico de red reproducido durante el almacenamiento de la caché. Es la cantidad total de tráfico entrante ahorrado debido al uso del complemento de caché de consultas. | Desde 1.0.0.
send_bytes_recorded | El tráfico de red saliente registrado (bytes) enviado desde MySQL a PHP. El tráfico podría o no haber sido añadido a la caché. El tráfico es el total de todas las consultas sin tener en cuenta si se almacenaron o no en caché. | Desde 1.0.0.
send_bytes_replayed | El tráfico de red reproducido durante el almacenamiento de la caché. Es la cantidad total de tráfico saliente ahorrado debido al uso del complemento de caché de consultas. | Desde 1.0.0.
slam_stale_refresh | El número de no coincidencias con la caché que desencadenaron el servicio de datos antiguos hasta que el cliente ocasionó que la no coincidencia con la caché refrescara la entrada de la caché. | Desde 1.0.0.
slam_stale_hit | El número de coincidencias con la caché mientras se refrescaba una entrada antigua de la misma. | Desde 1.0.0.

Ejemplos

Ejemplo #1 Ejemplo de mysqlnd_qc_get_core_stats()

<?php
/* Habilitar la recopilación de estadísticas - predeterminado: deshabilitada */
ini_set("mysqlnd_qc.collect_statistics", 1);

/* Habilitar la recopilación de todos los tiempos relacionados con estadísticas -
predeterminado: habilitado pero invalidado por mysqlnd_qc.collect_statistics = 0 */
ini_set("mysqlnd_qc.collect_time_statistics", 1);

/* Rellenar la cacé, p.ej. usando mysqli */
$mysqli = new mysqli('host', 'usuario', 'contraseña', 'esquema');

/* No coincide con la caché y se coloca en la misma */
$mysqli->query("/*qc=on*/SELECT id FROM test");
/* Coincide con la caché */
$mysqli->query("/*qc=on*/SELECT id FROM test");

/* Mostrar las estadísticas del núcleo */
var_dump(mysqlnd_qc_get_core_stats());
?>

El resultado de los ejemplos serían:

array(26) {
  ["cache_hit"]=>
  string(1) "1"
  ["cache_miss"]=>
  string(1) "1"
  ["cache_put"]=>
  string(1) "1"
  ["query_should_cache"]=>
  string(1) "2"
  ["query_should_not_cache"]=>
  string(1) "0"
  ["query_not_cached"]=>
  string(1) "0"
  ["query_could_cache"]=>
  string(1) "2"
  ["query_found_in_cache"]=>
  string(1) "1"
  ["query_uncached_other"]=>
  string(1) "0"
  ["query_uncached_no_table"]=>
  string(1) "0"
  ["query_uncached_no_result"]=>
  string(1) "0"
  ["query_uncached_use_result"]=>
  string(1) "0"
  ["query_aggr_run_time_cache_hit"]=>
  string(1) "4"
  ["query_aggr_run_time_cache_put"]=>
  string(3) "395"
  ["query_aggr_run_time_total"]=>
  string(3) "399"
  ["query_aggr_store_time_cache_hit"]=>
  string(1) "2"
  ["query_aggr_store_time_cache_put"]=>
  string(1) "8"
  ["query_aggr_store_time_total"]=>
  string(2) "10"
  ["receive_bytes_recorded"]=>
  string(2) "65"
  ["receive_bytes_replayed"]=>
  string(2) "65"
  ["send_bytes_recorded"]=>
  string(2) "29"
  ["send_bytes_replayed"]=>
  string(2) "29"
  ["slam_stale_refresh"]=>
  string(1) "0"
  ["slam_stale_hit"]=>
  string(1) "0"
  ["request_counter"]=>
  int(1)
  ["process_hash"]=>
  int(3547549858)
}

Ver también

  • Configuración en tiempo de ejecución
  • mysqlnd_qc.collect_statistics
  • mysqlnd_qc.time_statistics
  • mysqlnd_qc_get_cache_info() - Devuelve información sobre el gestor en uso, el número de entradas de la caché y sobre las entradas de la caché, si está disponible

mysqlnd_qc_get_cache_info
mysqlnd_qc_get_normalized_query_trace_log
Funciones de mysqlnd_qc


Devuelve un registro de rastreo de consultas normalizadas para cada consulta inspeccionada por la caché de consultas

mysqlnd_qc_get_core_stats
mysqlnd_qc_get_query_trace_log
Funciones de mysqlnd_qc
PHP Manual

mysqlnd_qc_get_normalized_query_trace_log

(PECL mysqlnd_qc >= 1.0.0)

mysqlnd_qc_get_normalized_query_trace_log — Devuelve un registro de rastreo de consultas normalizadas para cada consulta inspeccionada por la caché de consultas

Descripción

array mysqlnd_qc_get_normalized_query_trace_log ( void )

Devuelve un registro de rastreo de consultas normalizadas para cada consulta inspeccionada por la caché de consultas. La recopilación del registro de rastreo está deshabilitada de forma predeterminada. Para recopilar el registro de rastreo se ha de establecer la directiva de configuración de PHP mysqlnd_qc.collect_normalized_query_trace a 1

Las entradas en el registro de rastreo están agrupadas por la sentencia de consulta normalizada. Dicha sentencia es la sentencia de consulta en donde todos los valores de sus parámetros han sido reemplazados por un signo de interrogación. Por ejemplo, Las dos sentencias SELECT id FROM test WHERE id = 1 y SELECT id FROM test WHERE id = 2 son normalizadas como SELECT id FROM test WHERE id = ?. Siempre que una sentencia sea inspeccionada por la caché de consultas y coincida con el patrón de sentencia normalizado, sus estadísticas son agrupadas por la cadena de sentencia normalizada.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un array con el registro de consutas. Cada entrada de la lista contiene la cadena de consulta normalizada en información detallada.

Clave | Descripción
query | La cadena de sentencia normalizada.
occurences | Cuántas sentencias han coincidido con la cadena de sentencia normalizada además de la que creó la entrada en el registro. Este valor es cero si una sentencia ha sido normalizada, su representación normalizada ha sido añadida al registro y ninguna consulta inspeccionada por PECL/mysqlnd_qc tiene la misma cadena de sentencia normalizada.
eligible_for_caching | Si una sentencia podría ser almacenada en caché. Una sentencia candidata para ser almacenada en caché no tiene que ser almacenada necesariamente. No es posible indicar con certeza cuántas sentencias almacenadas en caché han contribuido a la entrada del registro de la sentencia normalizada acumulada. Sin embargo, comparando el tiempo de ejecución mínimo y medio se puede hacer una estimación fundamentada.
avg_run_time | El tiempo de ejecución medio de todas las consultas que contribuyen a la entrada del registro. El tiempo de ejcución es el intervalo entre el envío de la sentencia de consulta a MySQL y el recibimiento de la respuesta desde MySQL.
avg_store_time | El tiempo de almacenamiento medio de todas las consultas que contribuyen a la entrada del registro. El tiempo de almacenamiento es el tiempo necesario para obtener un conjunto de resultados de una sentencia desde el sevidor al cliente, y almacenarlo en el cliente.
min_run_time | El tiempo de ejecución mínimo de todas las consultas que contribuyen a la entrada del registro.
min_store_time | El tiempo de almacenamiento mínimo de todas las consultas que contribuyen a la entrada del registro.
max_run_time | El tiempo de ejecución máximo de todas las consultas que contribuyen a la entrada del registro.
max_store_time | El tiempo de almacenamiento máximo de todas las consultas que contribuyen a la entrada del registro.

Ejemplos

Ejemplo #1 Ejemplo de mysqlnd_qc_get_normalized_query_trace_log()

mysqlnd_qc.collect_normalized_query_trace=1
<?php
/* Conectar, crear y rellenar la tabla test */
$mysqli = new mysqli("host", "usuario", "contraseña", "esquema", "puerto", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2)");

/* no almacenanda en caché */
$res = $mysqli->query("SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();

/* colocada en caché */
$res = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 2");
var_dump($res->fetch_assoc());
$res->free();

/* coincidencia en la caché */
$res = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 2");
var_dump($res->fetch_assoc());
$res->free();

var_dump(mysqlnd_qc_get_normalized_query_trace_log());
?>

El resultado de los ejemplos serían:

array(1) {
  ["id"]=>
  string(1) "1"
}
array(1) {
  ["id"]=>
  string(1) "2"
}
array(1) {
  ["id"]=>
  string(1) "2"
}
array(4) {
  [0]=>
  array(9) {
    ["query"]=>
    string(25) "DROP TABLE IF EXISTS test"
    ["occurences"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["avg_run_time"]=>
    int(0)
    ["min_run_time"]=>
    int(0)
    ["max_run_time"]=>
    int(0)
    ["avg_store_time"]=>
    int(0)
    ["min_store_time"]=>
    int(0)
    ["max_store_time"]=>
    int(0)
  }
  [1]=>
  array(9) {
    ["query"]=>
    string(27) "CREATE TABLE test (id INT )"
    ["occurences"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["avg_run_time"]=>
    int(0)
    ["min_run_time"]=>
    int(0)
    ["max_run_time"]=>
    int(0)
    ["avg_store_time"]=>
    int(0)
    ["min_store_time"]=>
    int(0)
    ["max_store_time"]=>
    int(0)
  }
  [2]=>
  array(9) {
    ["query"]=>
    string(40) "INSERT INTO test (id ) VALUES (? ), (? )"
    ["occurences"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["avg_run_time"]=>
    int(0)
    ["min_run_time"]=>
    int(0)
    ["max_run_time"]=>
    int(0)
    ["avg_store_time"]=>
    int(0)
    ["min_store_time"]=>
    int(0)
    ["max_store_time"]=>
    int(0)
  }
  [3]=>
  array(9) {
    ["query"]=>
    string(31) "SELECT id FROM test WHERE id =?"
    ["occurences"]=>
    int(2)
    ["eligible_for_caching"]=>
    bool(true)
    ["avg_run_time"]=>
    int(159)
    ["min_run_time"]=>
    int(12)
    ["max_run_time"]=>
    int(307)
    ["avg_store_time"]=>
    int(10)
    ["min_store_time"]=>
    int(8)
    ["max_store_time"]=>
    int(13)
  }
}

Ver también

  • Configuración en tiempo de ejecución
  • mysqlnd_qc.collect_normalized_query_trace
  • mysqlnd_qc.time_statistics
  • mysqlnd_qc_get_query_trace_log() - Devuelve información de rastreo para cada consulta inspeccionada por la caché de consultas

mysqlnd_qc_get_core_stats
mysqlnd_qc_get_query_trace_log
Funciones de mysqlnd_qc


Devuelve información de rastreo para cada consulta inspeccionada por la caché de consultas

mysqlnd_qc_get_normalized_query_trace_log
mysqlnd_qc_set_cache_condition
Funciones de mysqlnd_qc
PHP Manual

mysqlnd_qc_get_query_trace_log

(PECL mysqlnd_qc >= 1.0.0)

mysqlnd_qc_get_query_trace_log — Devuelve información de rastreo para cada consulta inspeccionada por la caché de consultas

Descripción

array mysqlnd_qc_get_query_trace_log ( void )

Devuelve un informe de rastreo para cada consulta inspeccionada por la caché de consultas. La recopilación de información de rastreo está deshabilitada de forma predeterminada. Para recopilar de información de rastreo se ha de establecer la directiva de configuración de PHP mysqlnd_qc.collect_query_trace a 1

La profundidad máxima de la búsqueda de rastreo está limitada por la profundidad establecida con la directiva de configuración de PHP mysqlnd_qc.query_trace_bt_depth.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un array de información de rastreo de consultas. Cada entrada de la lista contiene la cadena de consulta, información de rastreo y más información detallada.

Clave | Descripción
query | La cadena de consulta.
origin | El código de la información de rastreo.
run_time | El tiempo de ejecución de la consulta en milisegundos. La recopilación de todos los tiempos y las llamadas al sistema de gettimeofday necesarias se pueden deshabilitar estableciendo la directiva de configuración de PHP mysqlnd_qc.time_statistics a 0
store_time | El tiempo de almacenamiento del conjunto de resultados de la consultas en milisegundos. La recopilación de todos los tiempos y las llamadas al sistema de gettimeofday necesarias se pueden deshabilitar estableciendo la directiva de configuración de PHP mysqlnd_qc.time_statistics a 0
eligible_for_caching | TRUE si la consulta es almacenable en caché, FALSE si no.
no_table | TRUE si la consulta ha generado un conjunto de resultados y al menos una columna del mismo no tiene un nombre de tabla establecido en sus metadatos. Éste normalmente es el caso de las consultas que no probablemente no se quieran almacenar en caché, tales como SELECT SLEEP(1). Por omisión, tales consultas no serán añadidas a la caché. Véase también la directiva de configuración de PHP mysqlnd_qc.cache_no_table.
was_added | TRUE si el resultado de la consulta se ha colocado en la caché, FALSE si no.
was_already_in_cache | TRUE si el resultado de la consulta habría sido añadido a la caché si ya no estuviera en ella (coincidencia con la caché). De lo contrario FALSE.

Ejemplos

Ejemplo #1 Ejemplo de mysqlnd_qc_get_query_trace_log()

mysqlnd_qc.collect_query_trace=1
<?php
/* Conectar, crear y rellenar la tabla test */
$mysqli = new mysqli("host", "usuario", "contraseña", "esquema", "puerto", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2)");

/* no almacenada en caché */
$res = $mysqli->query("SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();

/* colocada en la caché */
$res = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 2");
var_dump($res->fetch_assoc());
$res->free();

/* coincidencia con la caché */
$res = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 2");
var_dump($res->fetch_assoc());
$res->free();

var_dump(mysqlnd_qc_get_query_trace_log());
?>

El resultado de los ejemplos serían:

array(1) {
  ["id"]=>
  string(1) "1"
}
array(1) {
  ["id"]=>
  string(1) "2"
}
array(1) {
  ["id"]=>
  string(1) "2"
}
array(6) {
  [0]=>
  array(8) {
    ["query"]=>
    string(25) "DROP TABLE IF EXISTS test"
    ["origin"]=>
    string(102) "#0 qc.php(4): mysqli->query('DROP TABLE IF E...')
#1 {main}"
    ["run_time"]=>
    int(0)
    ["store_time"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(false)
    ["was_already_in_cache"]=>
    bool(false)
  }
  [1]=>
  array(8) {
    ["query"]=>
    string(25) "CREATE TABLE test(id INT)"
    ["origin"]=>
    string(102) "#0 qc.php(5): mysqli->query('CREATE TABLE te...')
#1 {main}"
    ["run_time"]=>
    int(0)
    ["store_time"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(false)
    ["was_already_in_cache"]=>
    bool(false)
  }
  [2]=>
  array(8) {
    ["query"]=>
    string(36) "INSERT INTO test(id) VALUES (1), (2)"
    ["origin"]=>
    string(102) "#0 qc.php(6): mysqli->query('INSERT INTO tes...')
#1 {main}"
    ["run_time"]=>
    int(0)
    ["store_time"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(false)
    ["was_already_in_cache"]=>
    bool(false)
  }
  [3]=>
  array(8) {
    ["query"]=>
    string(32) "SELECT id FROM test WHERE id = 1"
    ["origin"]=>
    string(102) "#0 qc.php(9): mysqli->query('SELECT id FROM ...')
#1 {main}"
    ["run_time"]=>
    int(0)
    ["store_time"]=>
    int(25)
    ["eligible_for_caching"]=>
    bool(false)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(false)
    ["was_already_in_cache"]=>
    bool(false)
  }
  [4]=>
  array(8) {
    ["query"]=>
    string(41) "/*qc=on*/SELECT id FROM test WHERE id = 2"
    ["origin"]=>
    string(103) "#0 qc.php(14): mysqli->query('/*qc=on*/SELECT...')
#1 {main}"
    ["run_time"]=>
    int(311)
    ["store_time"]=>
    int(13)
    ["eligible_for_caching"]=>
    bool(true)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(true)
    ["was_already_in_cache"]=>
    bool(false)
  }
  [5]=>
  array(8) {
    ["query"]=>
    string(41) "/*qc=on*/SELECT id FROM test WHERE id = 2"
    ["origin"]=>
    string(103) "#0 qc.php(19): mysqli->query('/*qc=on*/SELECT...')
#1 {main}"
    ["run_time"]=>
    int(13)
    ["store_time"]=>
    int(8)
    ["eligible_for_caching"]=>
    bool(true)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(false)
    ["was_already_in_cache"]=>
    bool(true)
  }
}

Ver también

  • Confiuguración en tiempo de ejecución
  • mysqlnd_qc.collect_query_trace
  • mysqlnd_qc.query_trace_bt_depth
  • mysqlnd_qc.time_statistics
  • mysqlnd_qc.cache_no_table
  • mysqlnd_qc_get_normalized_query_trace_log() - Devuelve un registro de rastreo de consultas normalizadas para cada consulta inspeccionada por la caché de consultas

mysqlnd_qc_get_normalized_query_trace_log
mysqlnd_qc_set_cache_condition
Funciones de mysqlnd_qc


Establece las condiciones para el almacenamiento en caché automático

mysqlnd_qc_get_query_trace_log
mysqlnd_qc_set_is_select
Funciones de mysqlnd_qc
PHP Manual

mysqlnd_qc_set_cache_condition

(PECL mysqlnd_qc >= 1.1.0)

mysqlnd_qc_set_cache_condition — Establece las condiciones para el almacenamiento en caché automático

Descripción

bool mysqlnd_qc_set_cache_condition ( int $condition_type , mixed $condition , mixed $condition_option )

Establece una condición para el almacenamiento en caché automático de sentencias que no contienen las sugerencias SQL necesarias para habilitar su almacenamiento en dicha caché.

Parámetros

condition_type

El tipo de condición. El único valor permitido es MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN.

condition

Parámetro para la condición establecida con condition_type. El tipo y la estructura del parámetro depende de condition_type

Si condition_type es igual a MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN, condition debe ser una cadena. Ésta establece el patrón. Las setencias son almacenadas en caché si la tabla y la entrada de los metadatos de la base de datos de sus conjuntos de resultados coinceiden con el patrón. Dicho patrón se comprueba para ver si coincide con las entradas de los metadatos db y org_table proporcionadas por la biblioteca cliente-servidor de MySQL subyacente. Por favor, revise el manual de referencias de MySQL para los detalles de las dos entradas. Los valores de db y org_table son concatenados con un punto (.) antes de compararlos con condition. La comparación de patrones admite los comodines % y _. El comodín % coincidirá con uno o varios caracteres arbitrarios. _ coincidirá con un carácter arbitrario. El símbolo de escape es la barra invertida.

condition_option

Opción para condition. El tipo y la estructura dependen de condition_type.

Si condition_type es igual a MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN, condition_options es el TTL a usar.

Ejemplos

Ejemplo #1 Ejemplo de mysqlnd_qc_set_cache_condition()

<?php
/* Almacenar en caché todos los accesos a las tablas con el nombre "new%" en el esquema/base de datos "ejemplo_db" durante 1 segundo */
if (!mysqlnd_qc_set_cache_condition(MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN, "ejemplo_db.new%", 1)) {
  die("¡Fallo al establecer la condición de la caché!");
}

$mysqli = new mysqli("host", "usuario", "contraseña", "ejemplo_db", "puerto");
/* almacenada en caché aunque no se proporcione una sugerencia SQL */
$mysqli->query("SELECT id, title FROM news");

$pdo_mysql = new PDO("mysql:host=host;dbname=ejemplo_db;port=puerto", "usuario", "contraseña");
/* no almacenada en caché: sin sugerencia SQL, sin coincidencia con el patrón */
$pdo_mysql->query("SELECT id, title FROM latest_news");
/* almacenada en caché: TTL 1 segundo, coincide con el patrón */
$pdo_mysql->query("SELECT id, title FROM news");
?>

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • Guía rápida: almacenamiento en caché basado en patrones

mysqlnd_qc_get_query_trace_log
mysqlnd_qc_set_is_select
Funciones de mysqlnd_qc


Instala una llamada de retorno que decide si una sentencia es almacenada en caché

mysqlnd_qc_set_cache_condition
mysqlnd_qc_set_storage_handler
Funciones de mysqlnd_qc
PHP Manual

mysqlnd_qc_set_is_select

(PECL mysqlnd_qc >= 1.0.0)

mysqlnd_qc_set_is_select — Instala una llamada de retorno que decide si una sentencia es almacenada en caché

Descripción

mixed mysqlnd_qc_set_is_select ( string $callback )

Instala una llamada de retorno que decide si una sentencia es almacenada en caché.

Hay varias maneras de indicarle a PELC/mysqlnd_qc que almacene en caché una consulta. Por omisión, PECL/mysqlnd_qc intenta almacenar en caché un a consulta si está habilitado el almacenamiento de todas las consultas o si la cadena de consulta comienza con una sugerencia SQL en particular. El complemento invoca internamente a una función llamada is_select() para averiguarlo. Esta función interna puede ser reemplazada con una llamada de retorno definida por el usuario. Entonces, dicha llamada de retorno definida por el usuario es responsable de decidir si el complemento intentará almacenar en caché una consulta. Debido a que la función interna es reemplazada por la llamada de retorno, ésta obtiene control total. La llamada de retorno es libre de ignorar el ajuste de configuración mysqlnd_qc.cache_by_default y las sugerencias SQL.

La llamada de retorno se invoca para cada sentencia inspeccionada por el complemento. Se le proporciona la cadena de sentencia como parámetro. La llamada de retorno devuelve FALSE si la sentencia no fuera almacenada en caché. Devuelve TRUE para hacer que el complemento intente almacenar en caché el conjunto de resultados de la sentencia, si exite. A una entrada de la caché creada de tal manera se le da el TTL predeterminado establecido con la directiva de configuración de PHP mysqlnd_qc.ttl. Si se usara un TTL diferente, la llamada de retorno devuelve un valor numérico que se usará como TTL.

La función interna is_select es parte de la interfaz interna del gestor de almacenamiento en caché. Por lo tanto, un gestor de almacenamiento definido por el usuario ofrece las mismas capacidades.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de mysqlnd_qc_set_is_select()

<?php
/* llamada de retorno que decide si una consulta es almacenada en caché */
function is_select($query) {
  static $patterns = array(
   /* true - usar lo predeterminado por mysqlnd_qc.ttl */
   "@SELECT\s+.*\s+FROM\s+test@ismU" => true,
   /* 3 - usar TTL = 3 segundos */
   "@SELECT\s+.*\s+FROM\s+news@ismU" => 3
  );
  /* comprobar si la consulta coincide con el patrón */
  foreach ($patterns as $pattern => $ttl) {
    if (preg_match($pattern, $query)) {
      printf("is_select(%45s): almacenada en caché\n", $query);
      return $ttl;
    }
  }
  printf("is_select(%45s): no almacenada en caché\n", $query);
  return false;
}
mysqlnd_qc_set_is_select("is_select");

/* Conectar, crear y rellenar la tabla test */
$mysqli = new mysqli("host", "usuario", "contraseña", "esquema");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)");

/* colocada en la caché */
$mysqli->query("SELECT id FROM test WHERE id = 1");
/* coincidencia con la caché */
$mysqli->query("SELECT id FROM test WHERE id = 1");
/* colocada en la caché */
$mysqli->query("SELECT * FROM test");
?>

El resultado de los ejemplos serían:

is_select(                    DROP TABLE IF EXISTS test): no almacenada en caché
is_select(                    CREATE TABLE test(id INT)): no almacenada en caché
is_select(    INSERT INTO test(id) VALUES (1), (2), (3)): no almacenada en caché
is_select(             SELECT id FROM test WHERE id = 1): almacenada en caché
is_select(             SELECT id FROM test WHERE id = 1): almacenada en caché
is_select(                           SELECT * FROM test): almacenada en caché

Ver también

  • Configuración en tiempo de ejecución
  • mysqlnd_qc.ttl
  • mysqlnd_qc.cache_by_default
  • mysqlnd_qc_set_user_handlers() - Establece las funciones de llamada de retorno para un gestor de almacenamiento procedimental definido por el usuario

mysqlnd_qc_set_cache_condition
mysqlnd_qc_set_storage_handler
Funciones de mysqlnd_qc


Cambia el gestor de almacenamiento en uso

mysqlnd_qc_set_is_select
mysqlnd_qc_set_user_handlers
Funciones de mysqlnd_qc
PHP Manual

mysqlnd_qc_set_storage_handler

(PECL mysqlnd_qc >= 1.0.0)

mysqlnd_qc_set_storage_handler — Cambia el gestor de almacenamiento en uso

Descripción

bool mysqlnd_qc_set_storage_handler ( string $handler )

Establece el gestor de almacenamiento usado por la caché de consultas. Se puede obtener una de los gestores de almacenamiento disponibles con mysqlnd_qc_get_available_handlers(). Los gestores que están disponibles dependen de la configuración en tiempo de compilación del complemento de caché de consultas. El gestor de almacenamiento default siempre está disponible. Todos los demás gestores de almacenmiento deben habilitarse explícitamente al construir la extensión.

Parámetros

handler

El gestor puede ser una cadena que representa el nombre de un gestor de almacenamiento interno, o un objeto de tipo mysqlnd_qc_handler_default. Los nombres de los gestores de almacenamiento internos son default, APC, MEMCACHE, sqlite.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Si el cambio del gestor de almacenamiento falla se lanzará un error fatal capturable. La caché de consultas no puede operar si el gestor de almacenamiento anterior ha sido cerrado y no se ha instalado un nuevo gestor de almacenamiento.

Ejemplos

Ejemplo #1 Ejemplo de mysqlnd_qc_set_storage_handler()

El ejemplo muestra la salida desde el gestor de almacenamiento interno predeterminado (default). Los demás gestores de almacenamiento podrían mostrar datos diferentes.

<?php
var_dump(mysqlnd_qc_set_storage_handler("memcache"));

if (true === mysqlnd_qc_set_storage_handler("default"))
  printf("Activado el gestor de almacenamiento predeterminado");

/* Error fatal capturable */
var_dump(mysqlnd_qc_set_storage_handler("desconocido"));
?>

El resultado de los ejemplos serían:

bool(true)
Activado el gestor de almacenamiento predeterminado
Catchable fatal error: mysqlnd_qc_set_storage_handler(): Unknown handler 'desconocido' in (file) on line (line)

Ver también

  • Instalación
  • mysqlnd_qc_get_available_handlers() - Devuelve una lista de los gestores de almacenamiento disponibles

mysqlnd_qc_set_is_select
mysqlnd_qc_set_user_handlers
Funciones de mysqlnd_qc


Establece las funciones de llamada de retorno para un gestor de almacenamiento procedimental definido por el usuario

mysqlnd_qc_set_storage_handler
Historal de cambios
Funciones de mysqlnd_qc
PHP Manual

mysqlnd_qc_set_user_handlers

(PECL mysqlnd_qc >= 1.0.0)

mysqlnd_qc_set_user_handlers — Establece las funciones de llamada de retorno para un gestor de almacenamiento procedimental definido por el usuario

Descripción

bool mysqlnd_qc_set_user_handlers ( string $get_hash , string $find_query_in_cache , string $return_to_cache , string $add_query_to_cache_if_not_exists , string $query_is_select , string $update_query_run_time_stats , string $get_stats , string $clear_cache )

Establece las funciones de llamada de retorno para un gestor de almacenamiento procedimental definido por el usuario.

Parámetros

get_hash

Nombre de la función de usuario que implementa la funcionalidad de get_hash del gestor de almacenamiento.

find_query_in_cache

Nombre de la función de usuario que implementa la funcionalidad de find_query_in_cache del gestor de almacenamiento.

return_to_cache

Nombre de la función de usuario que implementa la funcionalidad de return_to_cache del gestor de almacenamiento.

add_query_to_cache_if_not_exists

Nombre de la función de usuario que implementa la funcionalidad de add_query_to_cache_if_not_exists del gestor de almacenamiento.

query_is_select

Nombre de la función de usuario que implementa la funcionalidad de query_is_select del gestor de almacenamiento.

update_query_run_time_stats

Nombre de la función de usuario que implementa la funcionalidad de update_query_run_time_stats del gestor de almacenamiento.

get_stats

Nombre de la función de usuario que implementa la funcionalidad de get_stats del gestor de almacenamiento.

clear_cache

Nombre de la función de usuario que implementa la funcionalidad de clear_cache del gestor de almacenamiento.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • Ejemplo de un gestor de almacenamiento procedimental definido por el usuario

mysqlnd_qc_set_storage_handler
Historal de cambios
Funciones de mysqlnd_qc


Historal de cambios

Tabla de contenidos

  • Serie PECL/mysqlnd_qc 1.2
  • Serie PECL/mysqlnd_qc 1.1
  • Serie PECL/mysqlnd_qc 1.0

Este historial de cambios es un resumen de alto nivel de los cambios seleccionados que pordrían tener un impacto sobre las aplicaciones y/o romper la retrocompatiblidad.

Véase también el fichero CHANGES en la distribución del código fuente para una lista completa de los cambios.

mysqlnd_qc_set_user_handlers
Serie PECL/mysqlnd_qc 1.2
mysqlnd_qc


Serie PECL/mysqlnd_qc 1.2

1.2.0 - alpha

  • Fecha de publiacación: 03/2013
  • Motivo/tema: Compatibilidad con PHP 5.5

Cambios en las características

  • Actualización contruida para PHP 5.5 (Créditos: Remi Collet)

  • Actualización del gestor de almacenamiento de APC

    • Construcción corregida para APC 3.1.13-beta y tronco

  • Introducido MYSQLND_QC_VERSION y MYSQLND_QC_VERSION_ID.

Historal de cambios
Serie PECL/mysqlnd_qc 1.1
Historal de cambios


Serie PECL/mysqlnd_qc 1.1

1.1.0 - stable

  • Fecha de publicación: 04/2012
  • Motivo/tema: Compatibilidad con PHP 5.4, soporte para uso de caché basado en patrones de esquema y mysqlnd_ms

1.1.0 - beta

  • Fecha de publicación: 04/2012
  • Motivo/tema: Compatibilidad con PHP 5.4, almacenamiento en caché basado en patrones y soporte para mysqlnd_ms

1.1.0 - alpha

  • Fecha de publicación: 04/2012
  • Motivo/tema: Compatibilidad con PHP 5.4, soporte para uso de caché basado en patrones de esquema y mysqlnd_ms

Cambios en las características

  • Actualización del gestor de almacenamiento APC

    • Construcción corregida para APC 3.1.9+
    • Nota: El uso del gestor de almacenamiento APC actualmente no está recomendado debido a problemas de estabilidad del mismo APC.

  • Nuevas directivas de configuración de PHP

    • mysqlnd_qc.collect_statistics_log_file. Se agregó el fichero de registro de estadísticas de la caché escrito después de cada 10 peticiones servidas por el proceso de PHP.
    • mysqlnd_qc.ignore_sql_comments. Controlar si los comentarios SQL son ignorados para la generación hash de claves de la caché.

  • Nuevas constantes y sugerencias SQL

    • MYSQLND_QC_SERVER_ID_SWITCH permite el agrupamiento de entradas de la caché desde diferentes conexiones físicas. Esto es necesario para PECL/mysqlnd_ms.
    • MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN para usarla con mysqlnd_qc_set_cache_condition().

  • La nueva función mysqlnd_qc_set_cache_condition() para el almacenamiento en caché basado en patrones de esquemas internos. Probablemente para dar soporte a un rango más amplio de condiciones en el futuro.

  • Informar de la marca de tiempo valid_until para entradas de la caché del gestor predeterminado a través de mysqlnd_qc_get_cache_info().

  • Incluir el número de conjuntos de caracteres para el uso de hash con las entradas de la caché. Esto debería evitar el servicio de conjuntos de resultados que tienen un conjunto de caracters erróneo.

    Cambio en la API: get_hash_key espera el nuevo parámetro "charsetnr" (int) después de "port".

  • Cambio en la API: cambiar la firma de is_select() de bool is_select() a mixed is_select(). Mixed puede ser o bien un valor booleano o un array(long ttl, string server_id). Esto es necesario para PECL/mysqlnd_ms.

Otros

  • Soporte para actuar como un sistema de caché para PECL/mysqlnd_ms 1.3.0-beta o superior para reemplazar de forma transparente las lecturas de esclavos de la Replicación MySQL con accesos a la caché, si el usuario lo permite explícitamente.

Errores corregidos

  • Error #59959 corregido (config.m4, biblioteca errónea - construcción del gestor de memcache de 64 bit) (Créditos: Remi Collet)

Serie PECL/mysqlnd_qc 1.2
Serie PECL/mysqlnd_qc 1.0
Historal de cambios


Serie PECL/mysqlnd_qc 1.0

1.0.1-stable

  • Fecha de publicación: 12/2010
  • Motivo/tema: Soporte para sentencias preparadas

Se añadió el soporte para sentencias preparadas y consultas no almacenadas en búfer.

1.0.0-beta

  • Fecha de publicación: 07/2010
  • Motivo/tema: Almacenamiento en caché basado en TTL con varias opciones de almacenamiento (Memcache, APC, SQLite, definido por el usuario)

Versión pública inicial del almacenamiento en caché transparente de resultados de consultas basado en TTL. Almacenamiento flexible de los resultados de la caché. Varios medios de almacenamiento admitidos.

Serie PECL/mysqlnd_qc 1.1
mysqlnd_uh
Historal de cambios


Complemento de gestión del usuario de mysqlnd

  • Introducción
  • Guía rápida y ejemplos
    • Puesta en marcha
    • Cómo funciona
    • Instalar un proxy
    • Monitorización básica de consultas
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • MysqlndUhConnection — La clase MysqlndUhConnection
    • MysqlndUhConnection::changeUser — Cambia el usuario de la conexión de la base de datos de mysqlnd especificada
    • MysqlndUhConnection::charsetName — Devuelve el conjunto de caracters predeterminado de la conexión de la base de datos
    • MysqlndUhConnection::close — Cierra una conexión a una base de datos abierta previamente
    • MysqlndUhConnection::connect — Abre una nueva conexión al servidor MySQL
    • MysqlndUhConnection::__construct — The __construct purpose
    • MysqlndUhConnection::endPSession — Finaliza una conexión persistente
    • MysqlndUhConnection::escapeString — Escapa los caracteres especiales en una cadena para usarla en una sentencia SQL, tomando en cuenta el conjunto de caracteres actual de la conexión
    • MysqlndUhConnection::getAffectedRows — Obtiene el número de filas afectadas en una operación de MySQL anterior
    • MysqlndUhConnection::getErrorNumber — Devuelve el código de error de la llamada más reciente a una función
    • MysqlndUhConnection::getErrorString — Devuelve una descripción del último error
    • MysqlndUhConnection::getFieldCount — Devuelve el número de columnas de la consulta más reciente
    • MysqlndUhConnection::getHostInformation — Devuelve una representación de tipo string del tipo de conexión usada
    • MysqlndUhConnection::getLastInsertId — Devuelve el id autogenerado en la última consulta
    • MysqlndUhConnection::getLastMessage — Recupera información sobre la consulta ejecutadamás recientemente
    • MysqlndUhConnection::getProtocolInformation — Devuelve la versión del protocolo de MySQL usado
    • MysqlndUhConnection::getServerInformation — Devuelve la versión del servidor MySQL
    • MysqlndUhConnection::getServerStatistics — Obtiene el estado actual del sistema
    • MysqlndUhConnection::getServerVersion — Devuelve la versión del servidor MySQL en forma de entero
    • MysqlndUhConnection::getSqlstate — Devuelve el error SQLSTATE de la operación anterior de MySQL
    • MysqlndUhConnection::getStatistics — Devuelve estadísticas sobre la conexión cliente
    • MysqlndUhConnection::getThreadId — Devuelve el ID del hilo de la conexión en uso
    • MysqlndUhConnection::getWarningCount — Devuelve el número de advertencias de la última consulta para el enlace dado
    • MysqlndUhConnection::init — Iniciliza una conexión de mysqlnd
    • MysqlndUhConnection::killConnection — Pregunta al servidor para matar un subproceso de MySQL
    • MysqlndUhConnection::listFields — Enumera los campos de una tabla de MySQL
    • MysqlndUhConnection::listMethod — Envoltura para comandos de listas desordenadas
    • MysqlndUhConnection::moreResults — Comprueba si existen más resultados de consultas en una multiconsulta
    • MysqlndUhConnection::nextResult — Prepara el siguiente resultado de multi_query
    • MysqlndUhConnection::ping — Comprueba una conexión al servidor, o intenta reconectar si la conexión ha caído
    • MysqlndUhConnection::query — Realiza una consulta en la base de datos
    • MysqlndUhConnection::queryReadResultsetHeader — Lee una cabecera del conjunto de resultados
    • MysqlndUhConnection::reapQuery — Obtiene el resultado de una consulta asicrónica
    • MysqlndUhConnection::refreshServer — Vacía o reinicia las tablas y las cachés
    • MysqlndUhConnection::restartPSession — Reinicializa una conexión persistente a mysqlnd
    • MysqlndUhConnection::selectDb — Selecciona la base de datos predeterminada para su consulta
    • MysqlndUhConnection::sendClose — Envía un comando de cierre a MySQL
    • MysqlndUhConnection::sendQuery — Envía una consulta a MySQL
    • MysqlndUhConnection::serverDumpDebugInformation — Vierte la información de depuración en el registro para el servidor MySQL
    • MysqlndUhConnection::setAutocommit — Activa o desactiva la autoconsigna de las modificaciones de la base de datos
    • MysqlndUhConnection::setCharset — Establece el conjunto de caracteres predeterminado del cliente
    • MysqlndUhConnection::setClientOption — Establece una opción del cliente
    • MysqlndUhConnection::setServerOption — Establece una opción del servidor
    • MysqlndUhConnection::shutdownServer — The shutdownServer purpose
    • MysqlndUhConnection::simpleCommand — Envía un comando COM_* básico
    • MysqlndUhConnection::simpleCommandHandleResponse — Procesa una respuesta para un comando COM_* básico enviado al cliente
    • MysqlndUhConnection::sslSet — Usado para establecer conexiones seguras con SSL
    • MysqlndUhConnection::stmtInit — Iniciliza una sentencia y devuelve un recurso para usarlo con mysqli_statement::prepare
    • MysqlndUhConnection::storeResult — Transfiere un conjunto de resultados de la última consulta
    • MysqlndUhConnection::txCommit — Consigna la transacción en uso
    • MysqlndUhConnection::txRollback — Revierte la transacción en uso
    • MysqlndUhConnection::useResult — Inicia una recuperación de un conjunto de resultados
  • MysqlndUhPreparedStatement — La clase MysqlndUhPreparedStatement
    • MysqlndUhPreparedStatement::__construct — The __construct purpose
    • MysqlndUhPreparedStatement::execute — Ejecuta una consulta preparada
    • MysqlndUhPreparedStatement::prepare — Prepara una sentencia SQL para su ejecución
  • Funciones de Mysqlnd_uh
    • mysqlnd_uh_convert_to_mysqlnd — Convierte un gestor de conexión de MySQL a uno de mysqlnd
    • mysqlnd_uh_set_connection_proxy — Instala un proxy para las conexiones de mysqlnd
    • mysqlnd_uh_set_statement_proxy — Instala un proxy para sentencias de mysqlnd
  • Historial de cambios
    • Serie PECL/mysqlnd_uh 1.0
Serie PECL/mysqlnd_qc 1.0
Introducción
MySQL


Introducción

El complemento de gestión del usuario de mysqlnd (mysqlnd_uh) permite a los usuarios establecer ganchos para la mayoría de las llamadas internas del controlador nativo de MySQL para PHP (mysqlnd). Mysqlnd y sus complementos, incluido PECL/mysqlnd_uh, operan en una capa por debajo de las extensiones de MySQL para PHP. Un complemento de mysqlnd puede considerarse como un delegado (proxy) entre las extensiones de MySQL para PHP y el servidor MySQL como parte del ejecutable de PHP en el lado del cliente. Ya que los complementos operan en sus propias capas bajo las extensiones de MySQL para PHP, pueden monitorizar y cambiar las acciones de una aplicación sin la necesidad de efectuar cambios en la misma. Si las extensiones de MySQL para PHP (mysqli, mysql, PDO_MYSQL) están compiladas para usar mysqlnd, este comlemento puede utilizarse para:

  • Monitorizar

    • consultas ejecutas por cualquier extensión de MySQL para PHP

    • sentencias preparadas que son ejecutadas por cualquier extensión de MySQL para PHP

  • Auditar

    • la detección del uso de una base de datos

    • la protección contra inyecciones SQL usando listas negras y blancas

  • Varios

    • Conexiones con equilibrado de carga

El controlador nativo de MySQL para PHP (mysqlnd) introduce una API en C de complementos internos. Estos complementos, como el complemento de gestión del usuario, pueden ampliar la funcionalidad de mysqlnd. PECL/mysqlnd_uh es parte de la API en C de complementos internos disponibles para el usuario desarrollador con PHP.

Nota: Estado

El complemento de gestión del usuario de mysqlnd está en un estado alfa. Se han de tomar las precauciones pertinentes para usarlo en entornos de producción.

Consideraciones de seguridad

PECL/mysqlnd_uh proporciona a los usuarios el acceso a los nombres de usuario y contraseñas de MySQL usados por cualquier extensión de MySQL para PHP que se conecte a MySQL. Permite la monitorización de todas las consultas y sentencias preparadas exponiéndolas al usuario. Por lo tanto, la extensión debería ser instalada con precaución. El ajuste de configuración de PHP_INI_SYSTEM mysqlnd_uh.enable se puede usar para evitar que los usuarios capturen las llamadas a mysqlnd.

Los ofuscadores de código y tecnologías similares no son adecuados para evitar la monitorización de las actividades de la biblioteca mysqlnd si PECL/mysqlnd_uh está disponible y el usuario puede instalar un proxy, por ejemplo, usando auto_prepend_file.

Nota sobre la documentación

Muchas de las funciones de mysqlnd_uh están descritas brevemente debido a que la extensión mysqli es una fina capa de abstracción en lo alto de la API en C de MySQL que proporciona la biblioteca mysqlnd. Por lo tanto, se puede consultar la documentación correspondiente a mysqli (junto con el manual de referencia de MySQL manual) para recibir más información sobre una función en particular.

Sobre el nombre

La abreviatura mysqlnd_uh significa en español gestión del usuario de mysqlnd, y ha sido el nombre desde el desarrollo inicial del complemento.

mysqlnd_uh
Guía rápida y ejemplos
mysqlnd_uh


Guía rápida y ejemplos

Tabla de contenidos

  • Puesta en marcha
  • Cómo funciona
  • Instalar un proxy
  • Monitorización básica de consultas

El complemento gestor del usuario de mysqlnd puede ser interpretado como un delegado (proxy) en la parte del cliente para todas las extensiones de MySQL para PHP (mysqli, mysql, PDO_MYSQL), si éstas están compiladas para utilizar la biblioteca mysqlnd. Dichas extensiones usan la biblioteca mysqlnd internamente, a nivel de C, para comunicarse con el servidor MySQL. PECL/mysqlnd_uh permite capturar muchas llamadas a mysqlnd. Por lo tanto, la mayoría de las actividades de las extensiones de MySQL para PHP pueden ser monitorizadas.

Ya que la monitorización sucede al nivel de la biblioteca, en una capa bajo la aplicación, es posible monitorizar aplicaciones sin tener que modificarlas.

En el nivel de C, la biblioteca mysqlnd está estructurada en módulos o clases. La extensión captura casi todos los métodos de la clase interna connection de mysqlnd y los expone a través de la clase del espacio de usuario MysqlndUhConnection. Unos pocos métodos de la clase interna statement de mysqlnd están disponibles para el usuario de PHP con la clase MysqlndUhPreparedStatement. Mediante la derivación de las clases MysqlndUhConnection y MysqlndUhPreparedStatement, los ususarios obtienen acceso a las llamadas a las funciones internas de mysqlnd.

Nota:

Las llamadas a las funciones internas de mysqlnd no estás diseñadas para ser expuestas al usuario de PHP. La manipulación de sus actividades podría causar que PHP falle o que se pierda memoria. A menudo, esto no se considera un fallo. Por favor, recuerde que se está accediendo a funciones de la biblioteca en C a través de PHP de las que se espera que realicen ciertas acciones, la cuales podrían no emularse en el espacio de usuario. Por lo tanto, se recomienda encarecidamente invocar siempre a la implementación del método padre cuando se derive de MysqlndUhConnection o de MysqlndUhPreparedStatement. Para prevenir el peor de los casos, la extensión lleva a cabo algunas comprobaciones sensatas. Por favor, véanse también las Opciones de configuración de Mysqlnd_uh.

Introducción
Puesta en marcha
mysqlnd_uh


Puesta en marcha

El complemento está implementado como una extensión de PHP. Véanse las instrucciones de instalación para instalar la extensión » PECL/mysqlnd_uh. Luego, se ha de cargar la estensión en PHP y activar el complemento en el fichero de configuración de PHP usando la directiva de configuración de PHP llamada mysqlnd_uh.enable. El ejemplo de abajo muestra la configuración predeterminada de la extensión.

Ejemplo #1 Habilitar el complemento (php.ini)

mysqlnd_uh.enable=1
mysqlnd_uh.report_wrong_types=1

Guía rápida y ejemplos
Cómo funciona
Guía rápida y ejemplos


Cómo funciona

Aquí se describe el funcionamiento de fondo e interno de la extensión mysqlnd_uh.

Se proporcionan dos clases con la extensión: MysqlndUhConnection y MysqlndUhPreparedStatement. MysqlndUhConnection permite acceder a casi todos los métodos de la clase interna connection de mysqlnd. La última expone algunos métodos seleccionados de la clase interna statement de mysqlnd. Por ejemplo, MysqlndUhConnection::connect() hace referencia a la función mysqlnd_conn__connect en C de la biblioteca mysqlnd.

Como complemento de mysqlnd, la extensión PECL/mysqlnd_uh reemplaza las funciones de la biblioteca en C mysqlnd con sus propias funciones. Siempre que una extensión de MySQL para PHP compilada para usar mysqlnd llame a una función de mysqlnd, se ejecutarán las funciones instaladas por el complemento en lugar de las originales de mysqlnd. Por ejemplo, mysqli_connect() invoca a mysqlnd_conn__connect, por lo que será llamada la función de conexión instaladas por PECL/mysqlnd_uh. Las funciones instaladas por PECL/mysqlnd_uh son métodos de clases internas.

Las clases de PHP internas y sus métodos no hacen sino llamar a sus homólogos de la biblioteca en C mysqlnd, para comportarse exactamente como la función original de mysqlnd que sustituyen. El código de abajo ilustra en pseudocódigo lo que hace la extensión.

Ejemplo #1 Pseudocódigo: qué hace la clase interna

class MysqlndUhConnection {
  public function connect(($conn, $host, $user, $passwd, $db, $port, $socket, $mysql_flags) {
    MYSQLND* c_mysqlnd_connection = convert_from_php_to_c($conn);
    ...
    return call_c_function(mysqlnd_conn__connect(c_mysqlnd_connection, ...));
  }
}

Las clases internas se comportan como un procy transparente. Es posible reemplazar dicho procy con uno propio. Esto se lleva a cabo derivando MysqlndUhConnection o MysqlndUhPreparedStatement para extender la funcionalidad del procy, y después registrando un nuevo objeto procy. Los objetos proxy se instalan con mysqlnd_uh_set_connection_proxy() y mysqlnd_uh_set_statement_proxy().

Ejemplo #2 Instalar un proxy

<?php
class proxy extends MysqlndUhConnection {
 public function connect($res, $host, $user, $passwd, $db, $port, $socket, $mysql_flags) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::connect($res, $host, $user, $passwd, $db, $port, $socket, $mysql_flags);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
?>

El resultado del ejemplo sería:

proxy::connect(array (
  0 => NULL,
  1 => 'localhost',
  2 => 'root',
  3 => '',
  4 => 'test',
  5 => 3306,
  6 => NULL,
  7 => 131072,
))
proxy::connect returns true

Puesta en marcha
Instalar un proxy
Guía rápida y ejemplos


Instalar un proxy

La extensión proporciona dos clases internas: MysqlndUhConnection y MysqlndUhPreparedStatement. Estas clases se usan para capturar las llamadas a la biblioteca mysqlnd. Sus métodos se corresponden con las funciones internas de mysqlnd. Por omisión, actúan como un proxy transparente y no hacen nada sino llamar a sus homólogos de mysqlnd. Al derivar estas clases se puede instalar un proxy propio para monitorizar mysqlnd.

Véase también la guía Cómo funciona para aprender sobre el funcionamiento interno de esta extensión.

Los delegados (proxy) de conexiones son objetos de tipo MysqlndUhConnection. Dichos objetos se instalan con mysqlnd_uh_set_connection_proxy(). Si se instala la clase interna MysqlndUhConnection como un proxy, no ocurre nada; se comporta como un delegado transparente.

Ejemplo #1 Registro del proxy, mysqlnd_uh.enable=1

<?php
mysqlnd_uh_set_connection_proxy(new MysqlndUhConnection());
$mysqli = new mysqli("localhost", "root", "", "test");
?>

La directiva de configuración de PHP_INI_SYSTEM mysqlnd_uh.enable controla si se puede establecer un proxy. Si está deshabilitada, la extensión lanzará errores de tipo E_WARNING

Ejemplo #2 La instalación del proxy deshabilitada

mysqlnd_uh.enable=0
<?php
mysqlnd_uh_set_connection_proxy(new MysqlndUhConnection());
$mysqli = new mysqli("localhost", "root", "", "test");
?>

El resultado del ejemplo sería:

PHP Warning:  MysqlndUhConnection::__construct(): (Mysqlnd User Handler) The plugin has been disabled by setting the configuration parameter mysqlnd_uh.enabled = false.  You must not use any of the base classes in %s on line %d
PHP Warning:  mysqlnd_uh_set_connection_proxy(): (Mysqlnd User Handler) The plugin has been disabled by setting the configuration parameter mysqlnd_uh.enable = false. The proxy has not been installed  in %s on line %d

Para monitorizar mysqlnd, se ha de escribir un objeto proxy propio derivando MysqlndUhConnection. Por favor, véase la referencia de la función para la lista de métodos que que se pueden derivar. De forma alternativa, se puede usar la reflexión para inspeccionar la clase interna MysqlndUhConnection.

Crear una nueva clase proxy. Derivarla de la clase interna MysqlndUhConnection. Reemplazar el método MysqlndUhConnection::connect(). Imprimir el valor del parámetro 'host' pasado al método. Asegurarse de que se llama a la implementación madre del método connect. No hacer todo esto podría proporcionar resultados inesperados y no deseados, incluyendo pérdidas de memoria y fallos.

Registrar el proxy y abrir tres conexiones usando las extensiones de MySQL para PHP mysqli, mysql, PDO_MYSQL. Si las extensiones han sido compiladas para usar la biblioteca mysqlnd, el método proxy::connect será llamado tres veces, una por cada conexión abierta.

Ejemplo #3 Proxy de conexión

<?php
class proxy extends MysqlndUhConnection {
  public function connect($res, $host, $user, $passwd, $db, $port, $socket, $mysql_flags) {
   printf("Conexión abierta con '%s'\n", $host);
   /* ¡Llame siempre a la implementación madre! */
   return parent::connect($res, $host, $user, $passwd, $db, $port, $socket, $mysql_flags);
  }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysql = mysql_connect("localhost", "root", "");
$pdo = new PDO("mysql:host=localhost;dbname=test", "root", "");
?>

El resultado del ejemplo sería:

Conexión abierta con 'localhost'
Conexión abierta con 'localhost'
Conexión abierta con 'localhost'

El uso de delegados (proxy) de sentencias preparadas sigue el mismo patrón: crear un objeto proxy del tipo MysqlndUhPreparedStatement e instalar el proxy usando mysqlnd_uh_set_statement_proxy().

Ejemplo #4 Proxy de sentencia preparada

<?php
class stmt_proxy extends MysqlndUhPreparedStatement {
 public function prepare($res, $query) {
  printf("%s(%s)\n", __METHOD__, $query);
  return parent::prepare($res, $query);
 }
}
mysqlnd_uh_set_statement_proxy(new stmt_proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$stmt = $mysqli->prepare("SELECT 'mysqlnd hacking made easy' AS _msg FROM DUAL");
?>

El resultado del ejemplo sería:

stmt_proxy::prepare(SELECT 'mysqlnd hacking made easy' AS _msg FROM DUAL)

Cómo funciona
Monitorización básica de consultas
Guía rápida y ejemplos


Monitorización básica de consultas

La monitorización básica de una sentencia de consulta es sencilla con PECL/mysqlnd_uh. Combinada con debug_print_backtrace() puede convertirse en una poderosa herramienta, por ejemplo, para buscar el origen de ciertas sentencias. Esto podría ser necesario cuando se buscan consultas lentas y también después de la refactoriazación de una base de datos para buscar código que aún accede a bases de datos o tablas obsoletas. Esto último podría ser un asunto complicado, especialmente si la aplicación utiliza consultas autogeneradas.

Ejemplo #1 Monitorización básica

<?php
class conn_proxy extends MysqlndUhConnection {
 public function query($res, $query) {
  debug_print_backtrace();
  return parent::query($res, $query);
 }
}
class stmt_proxy extends MysqlndUhPreparedStatement {
 public function prepare($res, $query) {
  debug_print_backtrace();
  return parent::prepare($res, $query);
 }
}
mysqlnd_uh_set_connection_proxy(new conn_proxy());
mysqlnd_uh_set_statement_proxy(new stmt_proxy());

printf("Delegados instalados...\n");
$pdo = new PDO("mysql:host=localhost;dbname=test", "root", "");
var_dump($pdo->query("SELECT 1 AS _one FROM DUAL")->fetchAll(PDO::FETCH_ASSOC));

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->prepare("SELECT 1 AS _two FROM DUAL");
?>

El resultado del ejemplo sería:

#0  conn_proxy->query(Resource id #19, SELECT 1 AS _one FROM DUAL)
#1  PDO->query(SELECT 1 AS _one FROM DUAL) called at [example.php:19]
array(1) {
  [0]=>
  array(1) {
    ["_one"]=>
    string(1) "1"
  }
}
#0  stmt_proxy->prepare(Resource id #753, SELECT 1 AS _two FROM DUAL)
#1  mysqli->prepare(SELECT 1 AS _two FROM DUAL) called at [example.php:22]

Para la monitorización básica de consultas se debería instalar un proxy de conexión y otro de sentencias preparadas. El primero debería derivar de MysqlndUhConnection::query(). Todas las consultas de una base de datos que no utilicen sentencias preparadas nativas llamarán a este método. En el ejemplo, la función query es invocada por una llamada a PDO. Por omisión, PDO_MySQL utiliza la emulación de sentencias preparadas.

Todas las sentencias preparadas nativas se preparan con con el método prepare de mysqlnd exportado a través de MysqlndUhPreparedStatement::prepare(). Se ha de derivar MysqlndUhPreparedStatement y sobrescribir prepare para monitorizar sentencias preparadas nativas.

Instalar un proxy
Instalación/Configuración
Guía rápida y ejemplos


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Monitorización básica de consultas
Requerimientos
mysqlnd_uh


Requerimientos

PHP 5.3.3 o posterior. Se recomienda usar PHP 5.4.0 o posterior para poder acceder a las últimas características de mysqlnd.

El complemento de gestión del usuario de mysqlnd_uh admite todas las aplicaciones de PHP y todas las extensiones de MySQL para PHP disponibles (mysqli, mysql, PDO_MYSQL). Se debe configurar la extensión de MySQL para usar mysqlnd y poder utilizar el complemento mysqlnd_uh para mysqlnd.

La versión alfa utiilza algunas de las características de mysqli. Se ha de habilitar mysqli para compilar el complemento. Este requerimiento podría ser eliminado en el futuro. Observe que dicho requisito no restringe el uso del complemento solamente con mysqli. Se puede usar el complemento para monitorizar mysql, mysqli y PDO_MYSQL.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/mysqlnd-uh

PECL/mysqlnd_uh actualmente no está disponible en Windows. El código fuente de la extensión utiliza los constructores C99 que no están permitidos en construcciones de PHP para Windows.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de Mysqlnd_uh
Nombre | Por defecto | Cambiable | Historial de cambios
mysqlnd_uh.enable | 1 | PHP_INI_SYSTEM |
mysqlnd_uh.report_wrong_types | 1 | PHP_INI_ALL |

He aquí una breve explicación de las directivas de configuración.

mysqlnd_uh.enable integer

Habilita o deshabilita el complemento. Si se desbilita, la extensión no permitirá a los usuarios conectarse a mysqlnd para capturar las llamadas de mysqlnd.

mysqlnd_uh.report_wrong_types integer

Si se notifican los tipos de valores de retorno erróneos de los ganchos del usuario, como los niveles de error E_WARNING. Se recomienda para la detección de errores.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

La mayoría de estas constantes se refieren a los detalles del Protocolo Cliente Servidor de MySQL. Por favor, consulte el manual de referencia de MySQL para aprender sobre sus significados. Para evitar duplicación de contenido, solamente se proporcionan descriptciones breves.

Relacionadas con MysqlndUhConnection::simpleCommand()

Las siguientes constantes se puede usar para detectar el comando que se va a enviar a través de MysqlndUhConnection::simpleCommand().

MYSQLND_UH_MYSQLND_COM_SLEEP (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_SLEEP.
MYSQLND_UH_MYSQLND_COM_QUIT (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_QUIT.
MYSQLND_UH_MYSQLND_COM_INIT_DB (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_INIT_DB.
MYSQLND_UH_MYSQLND_COM_QUERY (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_QUERY.
MYSQLND_UH_MYSQLND_COM_FIELD_LIST (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_FIELD_LIST.
MYSQLND_UH_MYSQLND_COM_CREATE_DB (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_CREATE_DB.
MYSQLND_UH_MYSQLND_COM_DROP_DB (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_DROP_DB.
MYSQLND_UH_MYSQLND_COM_REFRESH (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_REFRESH.
MYSQLND_UH_MYSQLND_COM_SHUTDOWN (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_SHUTDOWN.
MYSQLND_UH_MYSQLND_COM_STATISTICS (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_STATISTICS.
MYSQLND_UH_MYSQLND_COM_PROCESS_INFO (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_PROCESS_INFO.
MYSQLND_UH_MYSQLND_COM_CONNECT (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_CONNECT.
MYSQLND_UH_MYSQLND_COM_PROCESS_KILL (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_PROCESS_KILL.
MYSQLND_UH_MYSQLND_COM_DEBUG (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_DEBUG.
MYSQLND_UH_MYSQLND_COM_PING (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_PING.
MYSQLND_UH_MYSQLND_COM_TIME (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_TIME.
MYSQLND_UH_MYSQLND_COM_DELAYED_INSERT (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_DELAYED_INSERT.
MYSQLND_UH_MYSQLND_COM_CHANGE_USER (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_CHANGE_USER.
MYSQLND_UH_MYSQLND_COM_BINLOG_DUMP (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_BINLOG_DUMP.
MYSQLND_UH_MYSQLND_COM_TABLE_DUMP (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_TABLE_DUMP.
MYSQLND_UH_MYSQLND_COM_CONNECT_OUT (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_CONNECT_OUT.
MYSQLND_UH_MYSQLND_COM_REGISTER_SLAVED (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_REGISTER_SLAVED.
MYSQLND_UH_MYSQLND_COM_STMT_PREPARE (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_STMT_PREPARE.
MYSQLND_UH_MYSQLND_COM_STMT_EXECUTE (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_STMT_EXECUTE.
MYSQLND_UH_MYSQLND_COM_STMT_SEND_LONG_DATA (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_STMT_SEND_LONG_DATA.
MYSQLND_UH_MYSQLND_COM_STMT_CLOSE (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_STMT_CLOSE.
MYSQLND_UH_MYSQLND_COM_STMT_RESET (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_STMT_RESET.
MYSQLND_UH_MYSQLND_COM_SET_OPTION (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_SET_OPTION.
MYSQLND_UH_MYSQLND_COM_STMT_FETCH (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_STMT_FETCH.
MYSQLND_UH_MYSQLND_COM_DAEMON (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_DAEMON.
MYSQLND_UH_MYSQLND_COM_END (integer)
Comando del protocolo Cliente Servidor de MySQL: COM_END.

Las siguientes constantes se pueden usar para analizar el argumento ok_packet de MysqlndUhConnection::simpleCommand().

MYSQLND_UH_MYSQLND_PROT_GREET_PACKET (integer)
Paquete del protocolo Cliente Servidor de MySQL: greeting.
MYSQLND_UH_MYSQLND_PROT_AUTH_PACKET (integer)
Paquete del protocolo Cliente Servidor de MySQL: authentication.
MYSQLND_UH_MYSQLND_PROT_OK_PACKET (integer)
Paquete del protocolo Cliente Servidor de MySQL: OK.
MYSQLND_UH_MYSQLND_PROT_EOF_PACKET (integer)
Paquete del protocolo Cliente Servidor de MySQL: EOF.
MYSQLND_UH_MYSQLND_PROT_CMD_PACKET (integer)
Paquete del protocolo Cliente Servidor de MySQL: command.
MYSQLND_UH_MYSQLND_PROT_RSET_HEADER_PACKET (integer)
Paquete del protocolo Cliente Servidor de MySQL: result set header.
MYSQLND_UH_MYSQLND_PROT_RSET_FLD_PACKET (integer)
Paquete del protocolo Cliente Servidor de MySQL: resultset field.
MYSQLND_UH_MYSQLND_PROT_ROW_PACKET (integer)
Paquete del protocolo Cliente Servidor de MySQL: row.
MYSQLND_UH_MYSQLND_PROT_STATS_PACKET (integer)
Paquete del protocolo Cliente Servidor de MySQL: stats.
MYSQLND_UH_MYSQLND_PREPARE_RESP_PACKET (integer)
Paquete del protocolo Cliente Servidor de MySQL: prepare response.
MYSQLND_UH_MYSQLND_CHG_USER_RESP_PACKET (integer)
Paquete del protocolo Cliente Servidor de MySQL: change user response.
MYSQLND_UH_MYSQLND_PROT_LAST (integer)
Sin significado práctico. El último marcador de entrada de la lista de estructura de datos de C interna.

Relacionadas con MysqlndUhConnection::close()

Las siguientes constantes se pueden usar para detectar por qué una conexión ha sido cerrada a través de MysqlndUhConnection::close().

MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT (integer)
El usuario ha llamado a mysqlnd para cerrar la conexión.
MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT (integer)
Cierre implícito, por ejemplo, durante una conexión basura.
MYSQLND_UH_MYSQLND_CLOSE_DISCONNECTED (integer)
Error de conexión.
MYSQLND_UH_MYSQLND_CLOSE_LAST (integer)
Sin significado práctico. El último marcador de entrada de la lista de estructura de datos de C interna.

Relacionadas con MysqlndUhConnection::setServerOption()

Las siguientes constantes se pueden usar para detectar qué opción está establecida a través de MysqlndUhConnection::setServerOption().

MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_ON (integer)
Opción: habilita el soporte para multisentencias.
MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_OFF (integer)
Opción: deshabilita el soporte para multisentnecias.

Relacionadas con MysqlndUhConnection::setClientOption()

Las siguientes constantes se pueden usar para detectar qué opción esta seleccionada a través de MysqlndUhConnection::setClientOption().

MYSQLND_UH_MYSQLND_OPTION_OPT_CONNECT_TIMEOUT (integer)
Opción: tiempo de espera de la conexión.
MYSQLND_UH_MYSQLND_OPTION_OPT_COMPRESS (integer)
Opción: si se va a usar el protocolo comprimido de MySQL.
MYSQLND_UH_MYSQLND_OPTION_OPT_NAMED_PIPE (integer)
Opción: tubería con nombre a usar para la conexións (Windows).
MYSQLND_UH_MYSQLND_OPTION_INIT_COMMAND (integer)
Opción: comando init para ejecutar sobre la conexión.
MYSQLND_UH_MYSQLND_READ_DEFAULT_FILE (integer)
Opción: fichero predeterminado del servidor MySQL para la lectura sobre la conexión.
MYSQLND_UH_MYSQLND_READ_DEFAULT_GROUP (integer)
Opción: grupo de ficheros predeterminado del servidor MySQL para la lectura sobre la conexión.
MYSQLND_UH_MYSQLND_SET_CHARSET_DIR (integer)
Opción: directorio de ficheros de descripción de conjuntos de caracteres.
MYSQLND_UH_MYSQLND_SET_CHARSET_NAME (integer)
Opción: nombre del conjunto de caracteres.
MYSQLND_UH_MYSQLND_OPT_LOCAL_INFILE (integer)
Opción: Si permitir el uso de LOAD DATA LOCAL INFILE.
MYSQLND_UH_MYSQLND_OPT_PROTOCOL (integer)
Opción: versión del protocolo admitido.
MYSQLND_UH_MYSQLND_SHARED_MEMORY_BASE_NAME (integer)
Opción: nombre base de memoria compartida para las conexiones de memoria compartida.
MYSQLND_UH_MYSQLND_OPT_READ_TIMEOUT (integer)
Opción: tiempo de espera de lectura de la conexión.
MYSQLND_UH_MYSQLND_OPT_WRITE_TIMEOUT (integer)
Opción: tiempo de espera de escritura de la conexión.
MYSQLND_UH_MYSQLND_OPT_USE_RESULT (integer)
Opción: conjuntos de resultados no almacenados en búfer.
MYSQLND_UH_MYSQLND_OPT_USE_REMOTE_CONNECTION (integer)
Relacionada con el servidor embebido.
MYSQLND_UH_MYSQLND_OPT_USE_EMBEDDED_CONNECTION (integer)
Relacionada con el servidor embebido.
MYSQLND_UH_MYSQLND_OPT_GUESS_CONNECTION (integer)
TODO
MYSQLND_UH_MYSQLND_SET_CLIENT_IP (integer)
TODO
MYSQLND_UH_MYSQLND_SECURE_AUTH (integer)
TODO
MYSQLND_UH_MYSQLND_REPORT_DATA_TRUNCATION (integer)
Opción: Si notificar el truncamiento de datos.
MYSQLND_UH_MYSQLND_OPT_RECONNECT (integer)
Opción: Si reconectar automáticamente.
MYSQLND_UH_MYSQLND_OPT_SSL_VERIFY_SERVER_CERT (integer)
Opción: TODO
MYSQLND_UH_MYSQLND_OPT_NET_CMD_BUFFER_SIZE (integer)
Opción: tamaño del búfer de red de mysqlnd para comandos.
MYSQLND_UH_MYSQLND_OPT_NET_READ_BUFFER_SIZE (integer)
Opción: tamaño del búfer de red de mysqlnd para la lectura desde el servidor.
MYSQLND_UH_MYSQLND_OPT_SSL_KEY (integer)
Opción: clave SSL.
MYSQLND_UH_MYSQLND_OPT_SSL_CERT (integer)
Opción: certificado SSL.
MYSQLND_UH_MYSQLND_OPT_SSL_CA (integer)
Opción: AC SSL.
MYSQLND_UH_MYSQLND_OPT_SSL_CAPATH (integer)
Opción: Ruta a la AC SSL.
MYSQLND_UH_MYSQLND_OPT_SSL_CIPHER (integer)
Opción: cifra SSL.
MYSQLND_UH_MYSQLND_OPT_SSL_PASSPHRASE (integer)
Opción: frase secreta SSL.
MYSQLND_UH_SERVER_OPTION_PLUGIN_DIR (integer)
Opción: directorio del complemento del servidor.
MYSQLND_UH_SERVER_OPTION_DEFAULT_AUTH (integer)
Opción: método de autenticación predeterminado.
MYSQLND_UH_SERVER_OPTION_SET_CLIENT_IP (integer)
TODO
MYSQLND_UH_MYSQLND_OPT_MAX_ALLOWED_PACKET (integer)
Opción: tamaño de paquete máximo permitido. Disponible a partir de PHP 5.4.0.
MYSQLND_UH_MYSQLND_OPT_AUTH_PROTOCOL (integer)
Opción: TODO. Disponible a partir de PHP 5.4.0.
MYSQLND_UH_MYSQLND_OPT_INT_AND_FLOAT_NATIVE (integer)
Opción: hacer que mysqlnd devuelva columnas de tipo integer y float como long incluso al usar el protocolo de texto del Cliente Servidor MySQL. Solamente disponible con una construcción personalizada de mysqlnd.

Otras

El número de versión del complemento se puede obtener usando MYSQLND_UH_VERSION o MYSQLND_UH_VERSION_ID. MYSQLND_UH_VERSION es la representación de cadena del número de versión MYSQLND_UH_VERSION_ID, el cual es un entero como 10000. Los desarrolladores pueden calcular el número de versión como sigue.

Versión (parte) | Ejemplo
Mayor*10000 | 1*10000 = 10000
Menor*100 | 0*100 = 0
Parche | 0 = 0
MYSQLND_UH_VERSION_ID | 10000

MYSQLND_UH_VERSION (string)
Cadena de la versión del complemento, por ejemplo, "1.0.0-alpha".
MYSQLND_UH_VERSION_ID (integer)
Número de versión del complemento, por ejemplo, 10000.

Tipos de recursos
MysqlndUhConnection
mysqlnd_uh


La clase MysqlndUhConnection

(PECL mysqlnd-uh >= 1.0.0-alpha)

Introducción

Sinopsis de la Clase

MysqlndUhConnection {
/* Métodos */
public bool changeUser ( mysqlnd_connection $connection , string $user , string $password , string $database , bool $silent , int $passwd_len )
public string charsetName ( mysqlnd_connection $connection )
public bool close ( mysqlnd_connection $connection , int $close_type )
public bool connect ( mysqlnd_connection $connection , string $host , string $use" , string $password , string $database , int $port , string $socket , int $mysql_flags )
public __construct ( void )
public bool endPSession ( mysqlnd_connection $connection )
public string escapeString ( mysqlnd_connection $connection , string $escape_string )
public int getAffectedRows ( mysqlnd_connection $connection )
public int getErrorNumber ( mysqlnd_connection $connection )
public string getErrorString ( mysqlnd_connection $connection )
public int getFieldCount ( mysqlnd_connection $connection )
public string getHostInformation ( mysqlnd_connection $connection )
public int getLastInsertId ( mysqlnd_connection $connection )
public void getLastMessage ( mysqlnd_connection $connection )
public string getProtocolInformation ( mysqlnd_connection $connection )
public string getServerInformation ( mysqlnd_connection $connection )
public string getServerStatistics ( mysqlnd_connection $connection )
public int getServerVersion ( mysqlnd_connection $connection )
public string getSqlstate ( mysqlnd_connection $connection )
public array getStatistics ( mysqlnd_connection $connection )
public int getThreadId ( mysqlnd_connection $connection )
public int getWarningCount ( mysqlnd_connection $connection )
public bool init ( mysqlnd_connection $connection )
public bool killConnection ( mysqlnd_connection $connection , int $pid )
public array listFields ( mysqlnd_connection $connection , string $table , string $achtung_wild )
public void listMethod ( mysqlnd_connection $connection , string $query , string $achtung_wild , string $par1 )
public bool moreResults ( mysqlnd_connection $connection )
public bool nextResult ( mysqlnd_connection $connection )
public bool ping ( mysqlnd_connection $connection )
public bool query ( mysqlnd_connection $connection , string $query )
public bool queryReadResultsetHeader ( mysqlnd_connection $connection , mysqlnd_statement $mysqlnd_stmt )
public bool reapQuery ( mysqlnd_connection $connection )
public bool refreshServer ( mysqlnd_connection $connection , int $options )
public bool restartPSession ( mysqlnd_connection $connection )
public bool selectDb ( mysqlnd_connection $connection , string $database )
public bool sendClose ( mysqlnd_connection $connection )
public bool sendQuery ( mysqlnd_connection $connection , string $query )
public bool serverDumpDebugInformation ( mysqlnd_connection $connection )
public bool setAutocommit ( mysqlnd_connection $connection , int $mode )
public bool setCharset ( mysqlnd_connection $connection , string $charset )
public bool setClientOption ( mysqlnd_connection $connection , int $option , int $value )
public void setServerOption ( mysqlnd_connection $connection , int $option )
public void shutdownServer ( string $MYSQLND_UH_RES_MYSQLND_NAME , string $"level" )
public bool simpleCommand ( mysqlnd_connection $connection , int $command , string $arg , int $ok_packet , bool $silent , bool $ignore_upsert_status )
public bool simpleCommandHandleResponse ( mysqlnd_connection $connection , int $ok_packet , bool $silent , int $command , bool $ignore_upsert_status )
public bool sslSet ( mysqlnd_connection $connection , string $key , string $cert , string $ca , string $capath , string $cipher )
public resource stmtInit ( mysqlnd_connection $connection )
public resource storeResult ( mysqlnd_connection $connection )
public bool txCommit ( mysqlnd_connection $connection )
public bool txRollback ( mysqlnd_connection $connection )
public resource useResult ( mysqlnd_connection $connection )
}

Tabla de contenidos

  • MysqlndUhConnection::changeUser — Cambia el usuario de la conexión de la base de datos de mysqlnd especificada
  • MysqlndUhConnection::charsetName — Devuelve el conjunto de caracters predeterminado de la conexión de la base de datos
  • MysqlndUhConnection::close — Cierra una conexión a una base de datos abierta previamente
  • MysqlndUhConnection::connect — Abre una nueva conexión al servidor MySQL
  • MysqlndUhConnection::__construct — The __construct purpose
  • MysqlndUhConnection::endPSession — Finaliza una conexión persistente
  • MysqlndUhConnection::escapeString — Escapa los caracteres especiales en una cadena para usarla en una sentencia SQL, tomando en cuenta el conjunto de caracteres actual de la conexión
  • MysqlndUhConnection::getAffectedRows — Obtiene el número de filas afectadas en una operación de MySQL anterior
  • MysqlndUhConnection::getErrorNumber — Devuelve el código de error de la llamada más reciente a una función
  • MysqlndUhConnection::getErrorString — Devuelve una descripción del último error
  • MysqlndUhConnection::getFieldCount — Devuelve el número de columnas de la consulta más reciente
  • MysqlndUhConnection::getHostInformation — Devuelve una representación de tipo string del tipo de conexión usada
  • MysqlndUhConnection::getLastInsertId — Devuelve el id autogenerado en la última consulta
  • MysqlndUhConnection::getLastMessage — Recupera información sobre la consulta ejecutadamás recientemente
  • MysqlndUhConnection::getProtocolInformation — Devuelve la versión del protocolo de MySQL usado
  • MysqlndUhConnection::getServerInformation — Devuelve la versión del servidor MySQL
  • MysqlndUhConnection::getServerStatistics — Obtiene el estado actual del sistema
  • MysqlndUhConnection::getServerVersion — Devuelve la versión del servidor MySQL en forma de entero
  • MysqlndUhConnection::getSqlstate — Devuelve el error SQLSTATE de la operación anterior de MySQL
  • MysqlndUhConnection::getStatistics — Devuelve estadísticas sobre la conexión cliente
  • MysqlndUhConnection::getThreadId — Devuelve el ID del hilo de la conexión en uso
  • MysqlndUhConnection::getWarningCount — Devuelve el número de advertencias de la última consulta para el enlace dado
  • MysqlndUhConnection::init — Iniciliza una conexión de mysqlnd
  • MysqlndUhConnection::killConnection — Pregunta al servidor para matar un subproceso de MySQL
  • MysqlndUhConnection::listFields — Enumera los campos de una tabla de MySQL
  • MysqlndUhConnection::listMethod — Envoltura para comandos de listas desordenadas
  • MysqlndUhConnection::moreResults — Comprueba si existen más resultados de consultas en una multiconsulta
  • MysqlndUhConnection::nextResult — Prepara el siguiente resultado de multi_query
  • MysqlndUhConnection::ping — Comprueba una conexión al servidor, o intenta reconectar si la conexión ha caído
  • MysqlndUhConnection::query — Realiza una consulta en la base de datos
  • MysqlndUhConnection::queryReadResultsetHeader — Lee una cabecera del conjunto de resultados
  • MysqlndUhConnection::reapQuery — Obtiene el resultado de una consulta asicrónica
  • MysqlndUhConnection::refreshServer — Vacía o reinicia las tablas y las cachés
  • MysqlndUhConnection::restartPSession — Reinicializa una conexión persistente a mysqlnd
  • MysqlndUhConnection::selectDb — Selecciona la base de datos predeterminada para su consulta
  • MysqlndUhConnection::sendClose — Envía un comando de cierre a MySQL
  • MysqlndUhConnection::sendQuery — Envía una consulta a MySQL
  • MysqlndUhConnection::serverDumpDebugInformation — Vierte la información de depuración en el registro para el servidor MySQL
  • MysqlndUhConnection::setAutocommit — Activa o desactiva la autoconsigna de las modificaciones de la base de datos
  • MysqlndUhConnection::setCharset — Establece el conjunto de caracteres predeterminado del cliente
  • MysqlndUhConnection::setClientOption — Establece una opción del cliente
  • MysqlndUhConnection::setServerOption — Establece una opción del servidor
  • MysqlndUhConnection::shutdownServer — The shutdownServer purpose
  • MysqlndUhConnection::simpleCommand — Envía un comando COM_* básico
  • MysqlndUhConnection::simpleCommandHandleResponse — Procesa una respuesta para un comando COM_* básico enviado al cliente
  • MysqlndUhConnection::sslSet — Usado para establecer conexiones seguras con SSL
  • MysqlndUhConnection::stmtInit — Iniciliza una sentencia y devuelve un recurso para usarlo con mysqli_statement::prepare
  • MysqlndUhConnection::storeResult — Transfiere un conjunto de resultados de la última consulta
  • MysqlndUhConnection::txCommit — Consigna la transacción en uso
  • MysqlndUhConnection::txRollback — Revierte la transacción en uso
  • MysqlndUhConnection::useResult — Inicia una recuperación de un conjunto de resultados
Constantes predefinidas
MysqlndUhConnection::changeUser
mysqlnd_uh


Cambia el usuario de la conexión de la base de datos de mysqlnd especificada

MysqlndUhConnection
MysqlndUhConnection::charsetName
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::changeUser

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::changeUser — Cambia el usuario de la conexión de la base de datos de mysqlnd especificada

Descripción

public bool MysqlndUhConnection::changeUser ( mysqlnd_connection $connection , string $user , string $password , string $database , bool $silent , int $passwd_len )

Cambia el usuario de la conexión de la base de datos de mysqlnd especificada.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

user

El nombre de usuario de MySQL.

password

La contraseña de MySQL.

database

La base de datos de MySQL a la que cambiar.

silent

Controla si a mysqlnd le está permitido emitir errores o no.

passwd_len

La longitud de la contraseña de MySQL.

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::changeUser()

<?php
class proxy extends MysqlndUhConnection {
 /* Enganchar la llamada a connection::change_user de  mysqlnd */
 public function changeUser($res, $user, $passwd, $db, $silent, $passwd_len) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::changeUser($res, $user, $passwd, $db, $silent, $passwd_len);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
/* Instalar los proxys/ganchos a usar con todas las futuras conexiones de mysqlnd */
mysqlnd_uh_set_connection_proxy(new proxy());

/* Crear una conexión mysqli que esté usando la biblioteca mysqlnd */
$mysqli = new mysqli("localhost", "root", "", "test");

/* Ejemplo de una llamada de la API de usuario que desencadena la llamada a mysqlnd enganchada */
var_dump($mysqli->change_user("root", "bar", "test"));
?>

El resultado del ejemplo sería:

proxy::changeUser(array (
  0 => NULL,
  1 => 'root',
  2 => 'bar',
  3 => 'test',
  4 => false,
  5 => 3,
))
proxy::changeUser returns false
bool(false)

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_change_user() - Cambia el usuario de la conexión de bases de datos especificada

MysqlndUhConnection
MysqlndUhConnection::charsetName
MysqlndUhConnection


Devuelve el conjunto de caracters predeterminado de la conexión de la base de datos

MysqlndUhConnection::changeUser
MysqlndUhConnection::close
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::charsetName

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::charsetName — Devuelve el conjunto de caracters predeterminado de la conexión de la base de datos

Descripción

public string MysqlndUhConnection::charsetName ( mysqlnd_connection $connection )

Devuelve el conjunto de caracters predeterminado de la conexión de la base de datos.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

El conjunto de caracteres predeterminado.

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::charsetName()

<?php
class proxy extends MysqlndUhConnection {
  public function charsetName($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::charsetName($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump(mysqli_character_set_name($mysqli));
?>

El resultado del ejemplo sería:

proxy::charsetName(array (
  0 => NULL,
))
proxy::charsetName returns 'latin1'
string(6) "latin1"

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_character_set_name() - Devuelve el juego de caracteres predeterminado para la conexión a la base de datos

MysqlndUhConnection::changeUser
MysqlndUhConnection::close
MysqlndUhConnection


Cierra una conexión a una base de datos abierta previamente

MysqlndUhConnection::charsetName
MysqlndUhConnection::connect
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::close

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::close — Cierra una conexión a una base de datos abierta previamente

Descripción

public bool MysqlndUhConnection::close ( mysqlnd_connection $connection , int $close_type )

Cierra una conexión a una base de datos abierta previamente.

Nota:

El no llamar a la implmentación made podría ocasionar pérdidas de memoria o que PHP falle. Esto no se considera un error. Por favor, recuerde que las funciones de la biblioteca mysqlnd no han sido diseñadas para ser expuestas al espacio de usuario.

Parámetros

connection

La conexión a cerrar. ¡No modificar!

close_type

Por qué la conexión se va a cerrar. El valor de close_type es una de la consntantes MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT, MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT, MYSQLND_UH_MYSQLND_CLOSE_DISCONNECTED o MYSQLND_UH_MYSQLND_CLOSE_LAST. Esta última no debería usarse, a menos que el comportamiento predeterminado de la biblioteca mysqlnd haya sido cambiado por un complemento.

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::close()

<?php
function close_type_to_string($close_type) {
 $mapping = array(
  MYSQLND_UH_MYSQLND_CLOSE_DISCONNECTED => "MYSQLND_UH_MYSQLND_CLOSE_DISCONNECTED",
  MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT => "MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT",
  MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT => "MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT",
  MYSQLND_UH_MYSQLND_CLOSE_LAST => "MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT"
 );
 return (isset($mapping[$close_type])) ? $mapping[$close_type] : 'unknown';
}

class proxy extends MysqlndUhConnection {
  public function close($res, $close_type) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   printf("close_type = %s\n", close_type_to_string($close_type));
   /* ADVERTENCIA: se debe llamar al padre */
   $ret = parent::close($res, $close_type);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->close();
?>

El resultado del ejemplo sería:

proxy::close(array (
  0 => NULL,
  1 => 0,
))
close_type = MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT
proxy::close returns true

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_close() - Cierra una conexión a base de datos previamente abierta
  • mysql_close() - Cierra una conexión de MySQL

MysqlndUhConnection::charsetName
MysqlndUhConnection::connect
MysqlndUhConnection


Abre una nueva conexión al servidor MySQL

MysqlndUhConnection::close
MysqlndUhConnection::__construct
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::connect

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::connect — Abre una nueva conexión al servidor MySQL

Descripción

public bool MysqlndUhConnection::connect ( mysqlnd_connection $connection , string $host , string $use" , string $password , string $database , int $port , string $socket , int $mysql_flags )

Abre una nueva conexión al servidor MySQL.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

host

Puede ser un nombre de host o una dirección IP. Si se pasa el valor NULL o la cadena "localhost" a este parámetro, se asume el host local. Cuando sea posible, se usará tuberías en lugar del protocolo TCP/IP.

user

El nombre del usuario de MySQL.

password

Si no se proporciona o es NULL, el servidor MySQL intentará autenticar al usuario únicamente con aquellos registro de usuarios que no tengan contraseña. Esto permite que el un nombre de usuario sea utlizado con diferentes permisos (dependiendo de si se proporcionó o no una contraseña).

database

If provided will specify the default database to be used when performing queries.

port

Especifica el número de puerto al que intentar conectarse al servidor MySQL.

socket

Especifica el socked o la tubería con nombre que debería usarse. Si es NULL, mysqlnd usará de forma predeterminada /tmp/mysql.sock.

mysql_flags

Opciones de conexión.

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::connect()

<?php
class proxy extends MysqlndUhConnection {
 public function connect($res, $host, $user, $passwd, $db, $port, $socket, $mysql_flags) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::connect($res, $host, $user, $passwd, $db, $port, $socket, $mysql_flags);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
?>

El resultado del ejemplo sería:

proxy::connect(array (
  0 => NULL,
  1 => 'localhost',
  2 => 'root',
  3 => '',
  4 => 'test',
  5 => 3306,
  6 => NULL,
  7 => 131072,
))
proxy::connect returns true

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_connect() - Alias de mysqli::__construct
  • mysql_connect() - Abre una conexión al servidor MySQL

MysqlndUhConnection::close
MysqlndUhConnection::__construct
MysqlndUhConnection


The __construct purpose

MysqlndUhConnection::connect
MysqlndUhConnection::endPSession
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::__construct

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::__construct — The __construct purpose

Descripción

public MysqlndUhConnection::__construct ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

MysqlndUhConnection::connect
MysqlndUhConnection::endPSession
MysqlndUhConnection


Finaliza una conexión persistente

MysqlndUhConnection::__construct
MysqlndUhConnection::escapeString
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::endPSession

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::endPSession — Finaliza una conexión persistente

Descripción

public bool MysqlndUhConnection::endPSession ( mysqlnd_connection $connection )

Finaliza una conexión persistente.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::endPSession()

<?php
class proxy extends MysqlndUhConnection {
 public function endPSession($conn) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::endPSession($conn);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("p:localhost", "root", "", "test");
$mysqli->close();
?>

El resultado del ejemplo sería:

proxy::endPSession(array (
  0 => NULL,
))
proxy::endPSession returns true

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd

MysqlndUhConnection::__construct
MysqlndUhConnection::escapeString
MysqlndUhConnection


Escapa los caracteres especiales en una cadena para usarla en una sentencia SQL, tomando en cuenta el conjunto de caracteres actual de la conexión

MysqlndUhConnection::endPSession
MysqlndUhConnection::getAffectedRows
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::escapeString

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::escapeString — Escapa los caracteres especiales en una cadena para usarla en una sentencia SQL, tomando en cuenta el conjunto de caracteres actual de la conexión

Descripción

public string MysqlndUhConnection::escapeString ( mysqlnd_connection $connection , string $escape_string )

Escapa los caracteres especiales en una cadena para usarla en una sentencia SQL, tomando en cuenta el conjunto de caracteres actual de la conexión.

Parámetros

MYSQLND_UH_RES_MYSQLND_NAME

Gestor de conexión de mysqlnd. ¡No modificar!

escape_string

La cadena a escapar.

Valores devueltos

La cadena escapada.

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::escapeString()

<?php
class proxy extends MysqlndUhConnection {
 public function escapeString($res, $string) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::escapeString($res, $string);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->set_charset("latin1");
$mysqli->real_escape_string("test0'test");
?>

El resultado del ejemplo sería:

proxy::escapeString(array (
  0 => NULL,
  1 => 'test0\'test',
))
proxy::escapeString returns 'test0\\\'test'

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_real_escape_string() - Escapa los caracteres especiales de una cadena para usarla en una sentencia SQL, tomando en cuenta el conjunto de caracteres actual de la conexión
  • mysql_real_escape_string() - Escapa caracteres especiales en un string para su uso en una sentencia SQL

MysqlndUhConnection::endPSession
MysqlndUhConnection::getAffectedRows
MysqlndUhConnection


Obtiene el número de filas afectadas en una operación de MySQL anterior

MysqlndUhConnection::escapeString
MysqlndUhConnection::getErrorNumber
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getAffectedRows

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getAffectedRows — Obtiene el número de filas afectadas en una operación de MySQL anterior

Descripción

public int MysqlndUhConnection::getAffectedRows ( mysqlnd_connection $connection )

Obtiene el número de filas afectadas en una operación de MySQL anterior.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

El número de filas afectadas.

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::getAffectedRows()

<?php
class proxy extends MysqlndUhConnection {
 public function getAffectedRows($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::getAffectedRows($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1)");
var_dump($mysqli->affected_rows);
?>

El resultado del ejemplo sería:

proxy::getAffectedRows(array (
  0 => NULL,
))
proxy::getAffectedRows returns 1
int(1)

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_affected_rows() - Obtiene el número de filas afectadas en la última operación MySQL
  • mysql_affected_rows() - Obtiene el número de filas afectadas en la anterior operación de MySQL

MysqlndUhConnection::escapeString
MysqlndUhConnection::getErrorNumber
MysqlndUhConnection


Devuelve el código de error de la llamada más reciente a una función

MysqlndUhConnection::getAffectedRows
MysqlndUhConnection::getErrorString
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getErrorNumber

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getErrorNumber — Devuelve el código de error de la llamada más reciente a una función

Descripción

public int MysqlndUhConnection::getErrorNumber ( mysqlnd_connection $connection )

Devuelve el código de error de la llamada más reciente a una función.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

El código de error de la llamada más reciente a una función.

Ejemplos

MysqlndUhConnection::getErrorNumber() no solo se ejecuta después de invocar a una llamada de la API del espacio de usuario, la cual hace referencia a ella directamente, sino que también es llamda internamente.

Ejemplo #1 Ejemplo de MysqlndUhConnection::getErrorNumber()

<?php
class proxy extends MysqlndUhConnection {
 public function getErrorNumber($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::getErrorNumber($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

printf("connect...\n");
$mysqli = new mysqli("localhost", "root", "", "test");
printf("query...\n");
$mysqli->query("PLEASE_LET_THIS_BE_INVALID_SQL");
printf("errno...\n");
var_dump($mysqli->errno);
printf("close...\n");
$mysqli->close();
?>

El resultado del ejemplo sería:

connect...
proxy::getErrorNumber(array (
  0 => NULL,
))
proxy::getErrorNumber returns 0
query...
errno...
proxy::getErrorNumber(array (
  0 => NULL,
))
proxy::getErrorNumber returns 1064
int(1064)
close...

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • MysqlndUhConnection::getErrorString() - Devuelve una descripción del último error
  • mysqli_errno() - Devuelve el código del error de la última función llamada
  • mysql_errno() - Devuelve el valor numérico del mensaje de error de la última operación MySQL

MysqlndUhConnection::getAffectedRows
MysqlndUhConnection::getErrorString
MysqlndUhConnection


Devuelve una descripción del último error

MysqlndUhConnection::getErrorNumber
MysqlndUhConnection::getFieldCount
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getErrorString

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getErrorString — Devuelve una descripción del último error

Descripción

public string MysqlndUhConnection::getErrorString ( mysqlnd_connection $connection )

Devuelve una descripción del último error.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

Un string con el error de la llamada más reciente a una función.

Ejemplos

MysqlndUhConnection::getErrorString() no solo se ejecuta después de invocar a una llamada de la API del espacio de usuario, la cual hace referencia a ella directamente, sino que también es llamda internamente.

Ejemplo #1 Ejemplo de MysqlndUhConnection::getErrorString()

<?php
class proxy extends MysqlndUhConnection {
 public function getErrorString($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::getErrorString($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

printf("connect...\n");
$mysqli = new mysqli("localhost", "root", "", "test");
printf("query...\n");
$mysqli->query("WILL_I_EVER_LEARN_SQL?");
printf("errno...\n");
var_dump($mysqli->error);
printf("close...\n");
$mysqli->close();
?>

El resultado del ejemplo sería:

connect...
proxy::getErrorString(array (
  0 => NULL,
))
proxy::getErrorString returns ''
query...
errno...
proxy::getErrorString(array (
  0 => NULL,
))
proxy::getErrorString returns 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'WILL_I_EVER_LEARN_SQL?\' at line 1'
string(168) "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WILL_I_EVER_LEARN_SQL?' at line 1"
close...

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • MysqlndUhConnection::getErrorNumber() - Devuelve el código de error de la llamada más reciente a una función
  • mysqli_error() - Devuelve una cadena que describe el último error
  • mysql_error() - Devuelve el texto del mensaje de error de la operación MySQL anterior

MysqlndUhConnection::getErrorNumber
MysqlndUhConnection::getFieldCount
MysqlndUhConnection


Devuelve el número de columnas de la consulta más reciente

MysqlndUhConnection::getErrorString
MysqlndUhConnection::getHostInformation
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getFieldCount

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getFieldCount — Devuelve el número de columnas de la consulta más reciente

Descripción

public int MysqlndUhConnection::getFieldCount ( mysqlnd_connection $connection )

Devuelve el número de columnas de la consulta más reciente.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

El número de columnas.

Ejemplos

MysqlndUhConnection::getFieldCount() no solo se ejecuta después de invocar a una llamada de la API del espacio de usuario, la cual hace referencia a ella directamente, sino que también es llamda internamente.

Ejemplo #1 Ejemplo de MysqlndUhConnection::getFieldCount()

<?php
class proxy extends MysqlndUhConnection {
 public function getFieldCount($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::getFieldCount($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->query("WILL_I_EVER_LEARN_SQL?");
var_dump($mysqli->field_count);
$mysqli->query("SELECT 1, 2, 3 FROM DUAL");
var_dump($mysqli->field_count);
?>

El resultado del ejemplo sería:

proxy::getFieldCount(array (
  0 => NULL,
))
proxy::getFieldCount returns 0
int(0)
proxy::getFieldCount(array (
  0 => NULL,
))
proxy::getFieldCount returns 3
proxy::getFieldCount(array (
  0 => NULL,
))
proxy::getFieldCount returns 3
int(3)

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_field_count() - Devuelve el número de columnas para la consulta más reciente

MysqlndUhConnection::getErrorString
MysqlndUhConnection::getHostInformation
MysqlndUhConnection


Devuelve una representación de tipo string del tipo de conexión usada

MysqlndUhConnection::getFieldCount
MysqlndUhConnection::getLastInsertId
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getHostInformation

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getHostInformation — Devuelve una representación de tipo string del tipo de conexión usada

Descripción

public string MysqlndUhConnection::getHostInformation ( mysqlnd_connection $connection )

Devuelve una representación de tipo string del tipo de conexión usada.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

La descripción de la conexión.

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::getHostInformation()

<?php
class proxy extends MysqlndUhConnection {
 public function getHostInformation($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::getHostInformation($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->host_info);
?>

El resultado del ejemplo sería:

proxy::getHostInformation(array (
  0 => NULL,
))
proxy::getHostInformation returns 'Localhost via UNIX socket'
string(25) "Localhost via UNIX socket"

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_get_host_info() - Devuelve una cadena que representa el tipo de conexión usada
  • mysql_get_host_info() - Obtener información del anfitrión de MySQL

MysqlndUhConnection::getFieldCount
MysqlndUhConnection::getLastInsertId
MysqlndUhConnection


Devuelve el id autogenerado en la última consulta

MysqlndUhConnection::getHostInformation
MysqlndUhConnection::getLastMessage
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getLastInsertId

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getLastInsertId — Devuelve el id autogenerado en la última consulta

Descripción

public int MysqlndUhConnection::getLastInsertId ( mysqlnd_connection $connection )

Devuelve el id autogenerado en la última consulta

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

El último id insertado.

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::getLastInsertId()

<?php
class proxy extends MysqlndUhConnection {
 public function getLastInsertId($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::getLastInsertId($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT AUTO_INCREMENT PRIMARY KEY, col VARCHAR(255))");
$mysqli->query("INSERT INTO test(col) VALUES ('a')");
var_dump($mysqli->insert_id);
?>

El resultado del ejemplo sería:

proxy::getLastInsertId(array (
  0 => NULL,
))
proxy::getLastInsertId returns 1
int(1)

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_insert_id() - Devuelve el id autogenerado que se utilizó en la última consulta
  • mysql_insert_id() - Obtiene el ID generado en la última consulta

MysqlndUhConnection::getHostInformation
MysqlndUhConnection::getLastMessage
MysqlndUhConnection


Recupera información sobre la consulta ejecutadamás recientemente

MysqlndUhConnection::getLastInsertId
MysqlndUhConnection::getProtocolInformation
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getLastMessage

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getLastMessage — Recupera información sobre la consulta ejecutadamás recientemente

Descripción

public void MysqlndUhConnection::getLastMessage ( mysqlnd_connection $connection )

Recupera información sobre la consulta ejecutadamás recientemente.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

El último mensaje. Intentar devolver una cadena mayor que 511 bytes causará un error de tipo E_WARNING y resultará en el truncamiento de la cadena.

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::getLastMessage()

<?php
class proxy extends MysqlndUhConnection {
 public function getLastMessage($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::getLastMessage($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->info);
$mysqli->query("DROP TABLE IF EXISTS test");
var_dump($mysqli->info);
?>

El resultado del ejemplo sería:

proxy::getLastMessage(array (
  0 => NULL,
))
proxy::getLastMessage returns ''
string(0) ""
proxy::getLastMessage(array (
  0 => NULL,
))
proxy::getLastMessage returns ''
string(0) ""

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_info() - Obtiene la información de la última consulta ejecutada
  • mysql_info() - Obtiene información sobre la consulta más reciente

MysqlndUhConnection::getLastInsertId
MysqlndUhConnection::getProtocolInformation
MysqlndUhConnection


Devuelve la versión del protocolo de MySQL usado

MysqlndUhConnection::getLastMessage
MysqlndUhConnection::getServerInformation
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getProtocolInformation

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getProtocolInformation — Devuelve la versión del protocolo de MySQL usado

Descripción

public string MysqlndUhConnection::getProtocolInformation ( mysqlnd_connection $connection )

Devuelve la versión del protocolo de MySQL usado.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

The protocol version.

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::getProtocolInformation()

<?php
class proxy extends MysqlndUhConnection {
 public function getProtocolInformation($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getProtocolInformation($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->protocol_version);
?>

El resultado del ejemplo sería:

proxy::getProtocolInformation(array (
  0 => NULL,
))
proxy::getProtocolInformation returns 10
int(10)

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_get_proto_info() - Devuelve la versión del protocolo MySQL utilizada
  • mysql_get_proto_info() - Obtener información del protocolo MySQL

MysqlndUhConnection::getLastMessage
MysqlndUhConnection::getServerInformation
MysqlndUhConnection


Devuelve la versión del servidor MySQL

MysqlndUhConnection::getProtocolInformation
MysqlndUhConnection::getServerStatistics
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getServerInformation

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getServerInformation — Devuelve la versión del servidor MySQL

Descripción

public string MysqlndUhConnection::getServerInformation ( mysqlnd_connection $connection )

Devuelve la versión del servidor MySQL.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

The server version.

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::getServerInformation()

<?php
class proxy extends MysqlndUhConnection {
 public function getServerInformation($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getServerInformation($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->server_info);
?>

El resultado del ejemplo sería:

proxy::getServerInformation(array (
  0 => NULL,
))
proxy::getServerInformation returns '5.1.45-debug-log'
string(16) "5.1.45-debug-log"

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_get_server_info() - Devuelve la versión del servidor MySQL
  • mysql_get_server_info() - Obtiene información del servidor MySQL

MysqlndUhConnection::getProtocolInformation
MysqlndUhConnection::getServerStatistics
MysqlndUhConnection


Obtiene el estado actual del sistema

MysqlndUhConnection::getServerInformation
MysqlndUhConnection::getServerVersion
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getServerStatistics

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getServerStatistics — Obtiene el estado actual del sistema

Descripción

public string MysqlndUhConnection::getServerStatistics ( mysqlnd_connection $connection )

Obtiene el estado actual del sistema.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

El mensaje con el estado del sistema.

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::getServerStatistics()

<?php
class proxy extends MysqlndUhConnection {
 public function getServerStatistics($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getServerStatistics($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump(mysqli_stat($mysqli));
?>

El resultado del ejemplo sería:

proxy::getServerStatistics(array (
  0 => NULL,
))
proxy::getServerStatistics returns 'Uptime: 2059995  Threads: 1  Questions: 126157  Slow queries: 0  Opens: 6377  Flush tables: 1  Open tables: 18  Queries per second avg: 0.61'
string(140) "Uptime: 2059995  Threads: 1  Questions: 126157  Slow queries: 0  Opens: 6377  Flush tables: 1  Open tables: 18  Queries per second avg: 0.61"

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_stat() - Obtiene el estado actual del sistema
  • mysql_stat() - Obtiene el estado actual del sistema

MysqlndUhConnection::getServerInformation
MysqlndUhConnection::getServerVersion
MysqlndUhConnection


Devuelve la versión del servidor MySQL en forma de entero

MysqlndUhConnection::getServerStatistics
MysqlndUhConnection::getSqlstate
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getServerVersion

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getServerVersion — Devuelve la versión del servidor MySQL en forma de entero

Descripción

public int MysqlndUhConnection::getServerVersion ( mysqlnd_connection $connection )

Devuelve la versión del servidor MySQL en forma de entero

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

La versión de MySQL.

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::getServerVersion()

<?php
class proxy extends MysqlndUhConnection {
 public function getServerVersion($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getServerVersion($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->server_version);
?>

El resultado del ejemplo sería:

proxy::getServerVersion(array (
  0 => NULL,
))
proxy::getServerVersion returns 50145
int(50145)

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_get_server_version() - Devuelve la versión del servidor MySQL como un valor entero
  • mysql_get_server_version()

MysqlndUhConnection::getServerStatistics
MysqlndUhConnection::getSqlstate
MysqlndUhConnection


Devuelve el error SQLSTATE de la operación anterior de MySQL

MysqlndUhConnection::getServerVersion
MysqlndUhConnection::getStatistics
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getSqlstate

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getSqlstate — Devuelve el error SQLSTATE de la operación anterior de MySQL

Descripción

public string MysqlndUhConnection::getSqlstate ( mysqlnd_connection $connection )

Devuelve el error SQLSTATE de la operación anterior de MySQL.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

El código de SQLSTATE.

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::getSqlstate()

<?php
class proxy extends MysqlndUhConnection {
 public function getSqlstate($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getSqlstate($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->sqlstate);
$mysqli->query("AN_INVALID_REQUEST_TO_PROVOKE_AN_ERROR");
var_dump($mysqli->sqlstate);
?>

El resultado del ejemplo sería:

proxy::getSqlstate(array (
  0 => NULL,
))
proxy::getSqlstate returns '00000'
string(5) "00000"
proxy::getSqlstate(array (
  0 => NULL,
))
proxy::getSqlstate returns '42000'
string(5) "42000"

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_sql_state()

MysqlndUhConnection::getServerVersion
MysqlndUhConnection::getStatistics
MysqlndUhConnection


Devuelve estadísticas sobre la conexión cliente

MysqlndUhConnection::getSqlstate
MysqlndUhConnection::getThreadId
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getStatistics

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getStatistics — Devuelve estadísticas sobre la conexión cliente

Descripción

public array MysqlndUhConnection::getStatistics ( mysqlnd_connection $connection )

Devuelve estadísticas sobre la conexión cliente.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

Estadísticas de conexión recopiladas por mysqlnd.

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::getStatistics()

<?php
class proxy extends MysqlndUhConnection {
 public function getStatistics($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getStatistics($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->get_connection_stats());
?>

El resultado del ejemplo sería:

proxy::getStatistics(array (
  0 => NULL,
))
proxy::getStatistics returns array (
  'bytes_sent' => '73',
  'bytes_received' => '77',
  'packets_sent' => '2',
  'packets_received' => '2',
  'protocol_overhead_in' => '8',
  'protocol_overhead_out' => '8',
  'bytes_received_ok_packet' => '0',
  'bytes_received_eof_packet' => '0',
  'bytes_received_rset_header_packet' => '0',
  'bytes_received_rset_field_meta_packet' => '0',
  'bytes_received_rset_row_packet' => '0',
  'bytes_received_prepare_response_packet' => '0',
  'bytes_received_change_user_packet' => '0',
  'packets_sent_command' => '0',
  'packets_received_ok' => '0',
  'packets_received_eof' => '0',
  'packets_received_rset_header' => '0',
  'packets_received_rset_field_meta' => '0',
  'packets_received_rset_row' => '0',
  'packets_received_prepare_response' => '0',
  'packets_received_change_user' => '0',
  'result_set_queries' => '0',
  'non_result_set_queries' => '0',
  'no_index_used' => '0',
  'bad_index_used' => '0',
  'slow_queries' => '0',
  'buffered_sets' => '0',
  'unbuffered_sets' => '0',
  'ps_buffered_sets' => '0',
  'ps_unbuffered_sets' => '0',
  'flushed_normal_sets' => '0',
  'flushed_ps_sets' => '0',
  'ps_prepared_never_executed' => '0',
  'ps_prepared_once_executed' => '0',
  'rows_fetched_from_server_normal' => '0',
  'rows_fetched_from_server_ps' => '0',
  'rows_buffered_from_client_normal' => '0',
  'rows_buffered_from_client_ps' => '0',
  'rows_fetched_from_client_normal_buffered' => '0',
  'rows_fetched_from_client_normal_unbuffered' => '0',
  'rows_fetched_from_client_ps_buffered' => '0',
  'rows_fetched_from_client_ps_unbuffered' => '0',
  'rows_fetched_from_client_ps_cursor' => '0',
  'rows_affected_normal' => '0',
  'rows_affected_ps' => '0',
  'rows_skipped_normal' => '0',
  'rows_skipped_ps' => '0',
  'copy_on_write_saved' => '0',
  'copy_on_write_performed' => '0',
  'command_buffer_too_small' => '0',
  'connect_success' => '1',
  'connect_failure' => '0',
  'connection_reused' => '0',
  'reconnect' => '0',
  'pconnect_success' => '0',
  'active_connections' => '1',
  'active_persistent_connections' => '0',
  'explicit_close' => '0',
  'implicit_close' => '0',
  'disconnect_close' => '0',
  'in_middle_of_command_close' => '0',
  'explicit_free_result' => '0',
  'implicit_free_result' => '0',
  'explicit_stmt_close' => '0',
  'implicit_stmt_close' => '0',
  'mem_emalloc_count' => '0',
  'mem_emalloc_amount' => '0',
  'mem_ecalloc_count' => '0',
  'mem_ecalloc_amount' => '0',
  'mem_erealloc_count' => '0',
  'mem_erealloc_amount' => '0',
  'mem_efree_count' => '0',
  'mem_efree_amount' => '0',
  'mem_malloc_count' => '0',
  'mem_malloc_amount' => '0',
  'mem_calloc_count' => '0',
  'mem_calloc_amount' => '0',
  'mem_realloc_count' => '0',
  'mem_realloc_amount' => '0',
  'mem_free_count' => '0',
  'mem_free_amount' => '0',
  'mem_estrndup_count' => '0',
  'mem_strndup_count' => '0',
  'mem_estndup_count' => '0',
  'mem_strdup_count' => '0',
  'proto_text_fetched_null' => '0',
  'proto_text_fetched_bit' => '0',
  'proto_text_fetched_tinyint' => '0',
  'proto_text_fetched_short' => '0',
  'proto_text_fetched_int24' => '0',
  'proto_text_fetched_int' => '0',
  'proto_text_fetched_bigint' => '0',
  'proto_text_fetched_decimal' => '0',
  'proto_text_fetched_float' => '0',
  'proto_text_fetched_double' => '0',
  'proto_text_fetched_date' => '0',
  'proto_text_fetched_year' => '0',
  'proto_text_fetched_time' => '0',
  'proto_text_fetched_datetime' => '0',
  'proto_text_fetched_timestamp' => '0',
  'proto_text_fetched_string' => '0',
  'proto_text_fetched_blob' => '0',
  'proto_text_fetched_enum' => '0',
  'proto_text_fetched_set' => '0',
  'proto_text_fetched_geometry' => '0',
  'proto_text_fetched_other' => '0',
  'proto_binary_fetched_null' => '0',
  'proto_binary_fetched_bit' => '0',
  'proto_binary_fetched_tinyint' => '0',
  'proto_binary_fetched_short' => '0',
  'proto_binary_fetched_int24' => '0',
  'proto_binary_fetched_int' => '0',
  'proto_binary_fetched_bigint' => '0',
  'proto_binary_fetched_decimal' => '0',
  'proto_binary_fetched_float' => '0',
  'proto_binary_fetched_double' => '0',
  'proto_binary_fetched_date' => '0',
  'proto_binary_fetched_year' => '0',
  'proto_binary_fetched_time' => '0',
  'proto_binary_fetched_datetime' => '0',
  'proto_binary_fetched_timestamp' => '0',
  'proto_binary_fetched_string' => '0',
  'proto_binary_fetched_blob' => '0',
  'proto_binary_fetched_enum' => '0',
  'proto_binary_fetched_set' => '0',
  'proto_binary_fetched_geometry' => '0',
  'proto_binary_fetched_other' => '0',
  'init_command_executed_count' => '0',
  'init_command_failed_count' => '0',
  'com_quit' => '0',
  'com_init_db' => '0',
  'com_query' => '0',
  'com_field_list' => '0',
  'com_create_db' => '0',
  'com_drop_db' => '0',
  'com_refresh' => '0',
  'com_shutdown' => '0',
  'com_statistics' => '0',
  'com_process_info' => '0',
  'com_connect' => '0',
  'com_process_kill' => '0',
  'com_debug' => '0',
  'com_ping' => '0',
  'com_time' => '0',
  'com_delayed_insert' => '0',
  'com_change_user' => '0',
  'com_binlog_dump' => '0',
  'com_table_dump' => '0',
  'com_connect_out' => '0',
  'com_register_slave' => '0',
  'com_stmt_prepare' => '0',
  'com_stmt_execute' => '0',
  'com_stmt_send_long_data' => '0',
  'com_stmt_close' => '0',
  'com_stmt_reset' => '0',
  'com_stmt_set_option' => '0',
  'com_stmt_fetch' => '0',
  'com_deamon' => '0',
  'bytes_received_real_data_normal' => '0',
  'bytes_received_real_data_ps' => '0',
)
array(160) {
  ["bytes_sent"]=>
  string(2) "73"
  ["bytes_received"]=>
  string(2) "77"
  ["packets_sent"]=>
  string(1) "2"
  ["packets_received"]=>
  string(1) "2"
  ["protocol_overhead_in"]=>
  string(1) "8"
  ["protocol_overhead_out"]=>
  string(1) "8"
  ["bytes_received_ok_packet"]=>
  string(1) "0"
  ["bytes_received_eof_packet"]=>
  string(1) "0"
  ["bytes_received_rset_header_packet"]=>
  string(1) "0"
  ["bytes_received_rset_field_meta_packet"]=>
  string(1) "0"
  ["bytes_received_rset_row_packet"]=>
  string(1) "0"
  ["bytes_received_prepare_response_packet"]=>
  string(1) "0"
  ["bytes_received_change_user_packet"]=>
  string(1) "0"
  ["packets_sent_command"]=>
  string(1) "0"
  ["packets_received_ok"]=>
  string(1) "0"
  ["packets_received_eof"]=>
  string(1) "0"
  ["packets_received_rset_header"]=>
  string(1) "0"
  ["packets_received_rset_field_meta"]=>
  string(1) "0"
  ["packets_received_rset_row"]=>
  string(1) "0"
  ["packets_received_prepare_response"]=>
  string(1) "0"
  ["packets_received_change_user"]=>
  string(1) "0"
  ["result_set_queries"]=>
  string(1) "0"
  ["non_result_set_queries"]=>
  string(1) "0"
  ["no_index_used"]=>
  string(1) "0"
  ["bad_index_used"]=>
  string(1) "0"
  ["slow_queries"]=>
  string(1) "0"
  ["buffered_sets"]=>
  string(1) "0"
  ["unbuffered_sets"]=>
  string(1) "0"
  ["ps_buffered_sets"]=>
  string(1) "0"
  ["ps_unbuffered_sets"]=>
  string(1) "0"
  ["flushed_normal_sets"]=>
  string(1) "0"
  ["flushed_ps_sets"]=>
  string(1) "0"
  ["ps_prepared_never_executed"]=>
  string(1) "0"
  ["ps_prepared_once_executed"]=>
  string(1) "0"
  ["rows_fetched_from_server_normal"]=>
  string(1) "0"
  ["rows_fetched_from_server_ps"]=>
  string(1) "0"
  ["rows_buffered_from_client_normal"]=>
  string(1) "0"
  ["rows_buffered_from_client_ps"]=>
  string(1) "0"
  ["rows_fetched_from_client_normal_buffered"]=>
  string(1) "0"
  ["rows_fetched_from_client_normal_unbuffered"]=>
  string(1) "0"
  ["rows_fetched_from_client_ps_buffered"]=>
  string(1) "0"
  ["rows_fetched_from_client_ps_unbuffered"]=>
  string(1) "0"
  ["rows_fetched_from_client_ps_cursor"]=>
  string(1) "0"
  ["rows_affected_normal"]=>
  string(1) "0"
  ["rows_affected_ps"]=>
  string(1) "0"
  ["rows_skipped_normal"]=>
  string(1) "0"
  ["rows_skipped_ps"]=>
  string(1) "0"
  ["copy_on_write_saved"]=>
  string(1) "0"
  ["copy_on_write_performed"]=>
  string(1) "0"
  ["command_buffer_too_small"]=>
  string(1) "0"
  ["connect_success"]=>
  string(1) "1"
  ["connect_failure"]=>
  string(1) "0"
  ["connection_reused"]=>
  string(1) "0"
  ["reconnect"]=>
  string(1) "0"
  ["pconnect_success"]=>
  string(1) "0"
  ["active_connections"]=>
  string(1) "1"
  ["active_persistent_connections"]=>
  string(1) "0"
  ["explicit_close"]=>
  string(1) "0"
  ["implicit_close"]=>
  string(1) "0"
  ["disconnect_close"]=>
  string(1) "0"
  ["in_middle_of_command_close"]=>
  string(1) "0"
  ["explicit_free_result"]=>
  string(1) "0"
  ["implicit_free_result"]=>
  string(1) "0"
  ["explicit_stmt_close"]=>
  string(1) "0"
  ["implicit_stmt_close"]=>
  string(1) "0"
  ["mem_emalloc_count"]=>
  string(1) "0"
  ["mem_emalloc_amount"]=>
  string(1) "0"
  ["mem_ecalloc_count"]=>
  string(1) "0"
  ["mem_ecalloc_amount"]=>
  string(1) "0"
  ["mem_erealloc_count"]=>
  string(1) "0"
  ["mem_erealloc_amount"]=>
  string(1) "0"
  ["mem_efree_count"]=>
  string(1) "0"
  ["mem_efree_amount"]=>
  string(1) "0"
  ["mem_malloc_count"]=>
  string(1) "0"
  ["mem_malloc_amount"]=>
  string(1) "0"
  ["mem_calloc_count"]=>
  string(1) "0"
  ["mem_calloc_amount"]=>
  string(1) "0"
  ["mem_realloc_count"]=>
  string(1) "0"
  ["mem_realloc_amount"]=>
  string(1) "0"
  ["mem_free_count"]=>
  string(1) "0"
  ["mem_free_amount"]=>
  string(1) "0"
  ["mem_estrndup_count"]=>
  string(1) "0"
  ["mem_strndup_count"]=>
  string(1) "0"
  ["mem_estndup_count"]=>
  string(1) "0"
  ["mem_strdup_count"]=>
  string(1) "0"
  ["proto_text_fetched_null"]=>
  string(1) "0"
  ["proto_text_fetched_bit"]=>
  string(1) "0"
  ["proto_text_fetched_tinyint"]=>
  string(1) "0"
  ["proto_text_fetched_short"]=>
  string(1) "0"
  ["proto_text_fetched_int24"]=>
  string(1) "0"
  ["proto_text_fetched_int"]=>
  string(1) "0"
  ["proto_text_fetched_bigint"]=>
  string(1) "0"
  ["proto_text_fetched_decimal"]=>
  string(1) "0"
  ["proto_text_fetched_float"]=>
  string(1) "0"
  ["proto_text_fetched_double"]=>
  string(1) "0"
  ["proto_text_fetched_date"]=>
  string(1) "0"
  ["proto_text_fetched_year"]=>
  string(1) "0"
  ["proto_text_fetched_time"]=>
  string(1) "0"
  ["proto_text_fetched_datetime"]=>
  string(1) "0"
  ["proto_text_fetched_timestamp"]=>
  string(1) "0"
  ["proto_text_fetched_string"]=>
  string(1) "0"
  ["proto_text_fetched_blob"]=>
  string(1) "0"
  ["proto_text_fetched_enum"]=>
  string(1) "0"
  ["proto_text_fetched_set"]=>
  string(1) "0"
  ["proto_text_fetched_geometry"]=>
  string(1) "0"
  ["proto_text_fetched_other"]=>
  string(1) "0"
  ["proto_binary_fetched_null"]=>
  string(1) "0"
  ["proto_binary_fetched_bit"]=>
  string(1) "0"
  ["proto_binary_fetched_tinyint"]=>
  string(1) "0"
  ["proto_binary_fetched_short"]=>
  string(1) "0"
  ["proto_binary_fetched_int24"]=>
  string(1) "0"
  ["proto_binary_fetched_int"]=>
  string(1) "0"
  ["proto_binary_fetched_bigint"]=>
  string(1) "0"
  ["proto_binary_fetched_decimal"]=>
  string(1) "0"
  ["proto_binary_fetched_float"]=>
  string(1) "0"
  ["proto_binary_fetched_double"]=>
  string(1) "0"
  ["proto_binary_fetched_date"]=>
  string(1) "0"
  ["proto_binary_fetched_year"]=>
  string(1) "0"
  ["proto_binary_fetched_time"]=>
  string(1) "0"
  ["proto_binary_fetched_datetime"]=>
  string(1) "0"
  ["proto_binary_fetched_timestamp"]=>
  string(1) "0"
  ["proto_binary_fetched_string"]=>
  string(1) "0"
  ["proto_binary_fetched_blob"]=>
  string(1) "0"
  ["proto_binary_fetched_enum"]=>
  string(1) "0"
  ["proto_binary_fetched_set"]=>
  string(1) "0"
  ["proto_binary_fetched_geometry"]=>
  string(1) "0"
  ["proto_binary_fetched_other"]=>
  string(1) "0"
  ["init_command_executed_count"]=>
  string(1) "0"
  ["init_command_failed_count"]=>
  string(1) "0"
  ["com_quit"]=>
  string(1) "0"
  ["com_init_db"]=>
  string(1) "0"
  ["com_query"]=>
  string(1) "0"
  ["com_field_list"]=>
  string(1) "0"
  ["com_create_db"]=>
  string(1) "0"
  ["com_drop_db"]=>
  string(1) "0"
  ["com_refresh"]=>
  string(1) "0"
  ["com_shutdown"]=>
  string(1) "0"
  ["com_statistics"]=>
  string(1) "0"
  ["com_process_info"]=>
  string(1) "0"
  ["com_connect"]=>
  string(1) "0"
  ["com_process_kill"]=>
  string(1) "0"
  ["com_debug"]=>
  string(1) "0"
  ["com_ping"]=>
  string(1) "0"
  ["com_time"]=>
  string(1) "0"
  ["com_delayed_insert"]=>
  string(1) "0"
  ["com_change_user"]=>
  string(1) "0"
  ["com_binlog_dump"]=>
  string(1) "0"
  ["com_table_dump"]=>
  string(1) "0"
  ["com_connect_out"]=>
  string(1) "0"
  ["com_register_slave"]=>
  string(1) "0"
  ["com_stmt_prepare"]=>
  string(1) "0"
  ["com_stmt_execute"]=>
  string(1) "0"
  ["com_stmt_send_long_data"]=>
  string(1) "0"
  ["com_stmt_close"]=>
  string(1) "0"
  ["com_stmt_reset"]=>
  string(1) "0"
  ["com_stmt_set_option"]=>
  string(1) "0"
  ["com_stmt_fetch"]=>
  string(1) "0"
  ["com_deamon"]=>
  string(1) "0"
  ["bytes_received_real_data_normal"]=>
  string(1) "0"
  ["bytes_received_real_data_ps"]=>
  string(1) "0"
}

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_get_connection_stats() - Devuelve estadísticas sobre la conexión del cliente

MysqlndUhConnection::getSqlstate
MysqlndUhConnection::getThreadId
MysqlndUhConnection


Devuelve el ID del hilo de la conexión en uso

MysqlndUhConnection::getStatistics
MysqlndUhConnection::getWarningCount
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getThreadId

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getThreadId — Devuelve el ID del hilo de la conexión en uso

Descripción

public int MysqlndUhConnection::getThreadId ( mysqlnd_connection $connection )

Devuelve el ID del hilo de la conexión en uso.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

El id del hilo de la conexión.

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::getThreadId()

<?php
class proxy extends MysqlndUhConnection {
 public function getThreadId($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getThreadId($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->thread_id);
?>

El resultado del ejemplo sería:

proxy::getThreadId(array (
  0 => NULL,
))
proxy::getThreadId returns 27646
int(27646)

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_thread_id() - Deveulve el ID del hilo de la conexión actual
  • mysql_thread_id() - Devuelve el ID del hilo actual

MysqlndUhConnection::getStatistics
MysqlndUhConnection::getWarningCount
MysqlndUhConnection


Devuelve el número de advertencias de la última consulta para el enlace dado

MysqlndUhConnection::getThreadId
MysqlndUhConnection::init
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getWarningCount

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getWarningCount — Devuelve el número de advertencias de la última consulta para el enlace dado

Descripción

public int MysqlndUhConnection::getWarningCount ( mysqlnd_connection $connection )

Devuelve el número de advertencias de la última consulta para el enlace dado.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

El número de advertencias.

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::getWarningCount()

<?php
class proxy extends MysqlndUhConnection {
 public function getWarningCount($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getWarningCount($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->warning_count);
?>

El resultado del ejemplo sería:

proxy::getWarningCount(array (
  0 => NULL,
))
proxy::getWarningCount returns 0
int(0)

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_warning_count() - Devuelve el número de mensajes de advertencia de la última consulta para un enlace dado

MysqlndUhConnection::getThreadId
MysqlndUhConnection::init
MysqlndUhConnection


Iniciliza una conexión de mysqlnd

MysqlndUhConnection::getWarningCount
MysqlndUhConnection::killConnection
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::init

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::init — Iniciliza una conexión de mysqlnd

Descripción

public bool MysqlndUhConnection::init ( mysqlnd_connection $connection )

Iniciliza una conexión de mysqlnd. Ésta es una llamada interna de mysqlnd para inicializar el objeto de conexión.

Nota:

El no llamar a la implmentación made podría ocasionar pérdidas de memoria o que PHP falle. Esto no se considera un error. Por favor, recuerde que las funciones de la biblioteca mysqlnd no han sido diseñadas para ser expuestas al espacio de usuario.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::init()

<?php
class proxy extends MysqlndUhConnection {
 public function init($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::init($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
?>

El resultado del ejemplo sería:

proxy::init(array (
  0 => NULL,
))
proxy::init returns true

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd

MysqlndUhConnection::getWarningCount
MysqlndUhConnection::killConnection
MysqlndUhConnection


Pregunta al servidor para matar un subproceso de MySQL

MysqlndUhConnection::init
MysqlndUhConnection::listFields
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::killConnection

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::killConnection — Pregunta al servidor para matar un subproceso de MySQL

Descripción

public bool MysqlndUhConnection::killConnection ( mysqlnd_connection $connection , int $pid )

Pregunta al servidor para matar un subproceso de MySQL.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

pid

El id del hilo de la conexión a matar.

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::kill()

<?php
class proxy extends MysqlndUhConnection {
 public function killConnection($res, $pid) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::killConnection($res, $pid);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->kill($mysqli->thread_id);
?>

El resultado del ejemplo sería:

proxy::killConnection(array (
  0 => NULL,
  1 => 27650,
))
proxy::killConnection returns true

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_kill() - Pide al servidor matar una hebra de MySQL

MysqlndUhConnection::init
MysqlndUhConnection::listFields
MysqlndUhConnection


Enumera los campos de una tabla de MySQL

MysqlndUhConnection::killConnection
MysqlndUhConnection::listMethod
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::listFields

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::listFields — Enumera los campos de una tabla de MySQL

Descripción

public array MysqlndUhConnection::listFields ( mysqlnd_connection $connection , string $table , string $achtung_wild )

Enumera los campos de una tabla de MySQL.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

table

El nombre de la tabla que va a ser consultada.

pattern

Patrón de nombre.

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::listFields()

<?php
class proxy extends MysqlndUhConnection {
 public function listFields($res, $table, $pattern) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::listFields($res, $table, $pattern);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysql = mysql_connect("localhost", "root", "");
mysql_select_db("test", $mysql);
mysql_query("DROP TABLE IF EXISTS test_a", $mysql);
mysql_query("CREATE TABLE test_a(id INT, col1 VARCHAR(255))", $mysql);
$res = mysql_list_fields("test", "test_a", $mysql);
printf("num_rows = %d\n", mysql_num_rows($res));
while ($row = mysql_fetch_assoc($res))
 var_dump($row);
?>

El resultado del ejemplo sería:

proxy::listFields(array (
  0 => NULL,
  1 => 'test_a',
  2 => '',
))
proxy::listFields returns NULL
num_rows = 0

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysql_list_fields() - Lista los campos de una tabla de MySQL

MysqlndUhConnection::killConnection
MysqlndUhConnection::listMethod
MysqlndUhConnection


Envoltura para comandos de listas desordenadas

MysqlndUhConnection::listFields
MysqlndUhConnection::moreResults
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::listMethod

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::listMethod — Envoltura para comandos de listas desordenadas

Descripción

public void MysqlndUhConnection::listMethod ( mysqlnd_connection $connection , string $query , string $achtung_wild , string $par1 )

Envoltura para comandos de listas desordenadas.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

query

El comando SHOW a ejecutar.

achtung_wild

par1

Valores devueltos

Valores devueltos

TODO

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::listMethod()

<?php
class proxy extends MysqlndUhConnection {
 public function listMethod($res, $query, $pattern, $par1) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::listMethod($res, $query, $pattern, $par1);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysql = mysql_connect("localhost", "root", "");
$res = mysql_list_dbs($mysql);
printf("num_rows = %d\n", mysql_num_rows($res));
while ($row = mysql_fetch_assoc($res))
 var_dump($row);
?>

El resultado del ejemplo sería:

proxy::listMethod(array (
  0 => NULL,
  1 => 'SHOW DATABASES',
  2 => '',
  3 => '',
))
proxy::listMethod returns NULL
num_rows = 6
array(1) {
  ["Database"]=>
  string(18) "information_schema"
}
array(1) {
  ["Database"]=>
  string(5) "mysql"
}
array(1) {
  ["Database"]=>
  string(8) "oxid_new"
}
array(1) {
  ["Database"]=>
  string(7) "phptest"
}
array(1) {
  ["Database"]=>
  string(7) "pushphp"
}
array(1) {
  ["Database"]=>
  string(4) "test"
}

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysql_list_dbs() - Lista las bases de datos disponibles en un servidor MySQL

MysqlndUhConnection::listFields
MysqlndUhConnection::moreResults
MysqlndUhConnection


Comprueba si existen más resultados de consultas en una multiconsulta

MysqlndUhConnection::listMethod
MysqlndUhConnection::nextResult
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::moreResults

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::moreResults — Comprueba si existen más resultados de consultas en una multiconsulta

Descripción

public bool MysqlndUhConnection::moreResults ( mysqlnd_connection $connection )

Comprueba si existen más resultados de consultas en una multiconsulta.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::moreResults()

<?php
class proxy extends MysqlndUhConnection {
 public function moreResults($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::moreResults($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->multi_query("SELECT 1 AS _one; SELECT 2 AS _two");
do {
  $res = $mysqli->store_result();
  var_dump($res->fetch_assoc());
  printf("%s\n", str_repeat("-", 40));
} while ($mysqli->more_results() && $mysqli->next_result());
?>

El resultado del ejemplo sería:

array(1) {
  ["_one"]=>
  string(1) "1"
}
----------------------------------------
proxy::moreResults(array (
  0 => NULL,
))
proxy::moreResults returns true
proxy::moreResults(array (
  0 => NULL,
))
proxy::moreResults returns true
array(1) {
  ["_two"]=>
  string(1) "2"
}
----------------------------------------
proxy::moreResults(array (
  0 => NULL,
))
proxy::moreResults returns false

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_more_results() - Comprueba si hay más resultados de una multi consulta

MysqlndUhConnection::listMethod
MysqlndUhConnection::nextResult
MysqlndUhConnection


Prepara el siguiente resultado de multi_query

MysqlndUhConnection::moreResults
MysqlndUhConnection::ping
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::nextResult

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::nextResult — Prepara el siguiente resultado de multi_query

Descripción

public bool MysqlndUhConnection::nextResult ( mysqlnd_connection $connection )

Prepara el siguiente resultado de multi_query.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::nextResult()

<?php
class proxy extends MysqlndUhConnection {
 public function nextResult($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::nextResult($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->multi_query("SELECT 1 AS _one; SELECT 2 AS _two");
do {
  $res = $mysqli->store_result();
  var_dump($res->fetch_assoc());
  printf("%s\n", str_repeat("-", 40));
} while ($mysqli->more_results() && $mysqli->next_result());
?>

El resultado del ejemplo sería:

array(1) {
  ["_one"]=>
  string(1) "1"
}
----------------------------------------
proxy::nextResult(array (
  0 => NULL,
))
proxy::nextResult returns true
array(1) {
  ["_two"]=>
  string(1) "2"
}
----------------------------------------

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_next_result() - Prepara el siguiente resultado de multi_query

MysqlndUhConnection::moreResults
MysqlndUhConnection::ping
MysqlndUhConnection


Comprueba una conexión al servidor, o intenta reconectar si la conexión ha caído

MysqlndUhConnection::nextResult
MysqlndUhConnection::query
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::ping

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::ping — Comprueba una conexión al servidor, o intenta reconectar si la conexión ha caído

Descripción

public bool MysqlndUhConnection::ping ( mysqlnd_connection $connection )

Comprueba una conexión al servidor, o intenta reconectar si la conexión ha caído.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::ping()

<?php
class proxy extends MysqlndUhConnection {
 public function ping($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::ping($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->ping();
?>

El resultado del ejemplo sería:

proxy::ping(array (
  0 => NULL,
))
proxy::ping returns true

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_ping() - Comprueba la conexión al servidor, o trata de reconectar si se perdió la conexión
  • mysql_ping() - Efectuar un chequeo de respuesta (ping) sobre una conexión al servidor o reconectarse si no hay conexión

MysqlndUhConnection::nextResult
MysqlndUhConnection::query
MysqlndUhConnection


Realiza una consulta en la base de datos

MysqlndUhConnection::ping
MysqlndUhConnection::queryReadResultsetHeader
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::query

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::query — Realiza una consulta en la base de datos

Descripción

public bool MysqlndUhConnection::query ( mysqlnd_connection $connection , string $query )

Realiza una consulta en la base de datos (COM_QUERY).

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

query

La cadena de consulta.

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::query()

<?php
class proxy extends MysqlndUhConnection {
 public function query($res, $query) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $query = "SELECT 'How about query rewriting?'";
  $ret = parent::query($res, $query);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$res = $mysqli->query("SELECT 'Welcome mysqlnd_uh!' FROM DUAL");
var_dump($res->fetch_assoc());
?>

El resultado del ejemplo sería:

proxy::query(array (
  0 => NULL,
  1 => 'SELECT \'Welcome mysqlnd_uh!\' FROM DUAL',
))
proxy::query returns true
array(1) {
  ["How about query rewriting?"]=>
  string(26) "How about query rewriting?"
}

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_query() - Realiza una consulta a la Base de Datos
  • mysql_query() - Enviar una consulta MySQL

MysqlndUhConnection::ping
MysqlndUhConnection::queryReadResultsetHeader
MysqlndUhConnection


Lee una cabecera del conjunto de resultados

MysqlndUhConnection::query
MysqlndUhConnection::reapQuery
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::queryReadResultsetHeader

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::queryReadResultsetHeader — Lee una cabecera del conjunto de resultados

Descripción

public bool MysqlndUhConnection::queryReadResultsetHeader ( mysqlnd_connection $connection , mysqlnd_statement $mysqlnd_stmt )

Lee una cabecera del conjunto de resultados.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

mysqlnd_stmt

Gestor de sentencias de mysqlnd. ¡No modificar! Se ha de establecer a NULL si la función no se utiliza en el contexto de sentencias preparadas.

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::queryReadResultsetHeader()

<?php
class proxy extends MysqlndUhConnection {
 public function queryReadResultsetHeader($res, $stmt) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::queryReadResultsetHeader($res, $stmt);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$res = $mysqli->query("SELECT 'Welcome mysqlnd_uh!' FROM DUAL");
var_dump($res->fetch_assoc());
?>

El resultado del ejemplo sería:

proxy::queryReadResultsetHeader(array (
  0 => NULL,
  1 => NULL,
))
proxy::queryReadResultsetHeader returns true
array(1) {
  ["Welcome mysqlnd_uh!"]=>
  string(19) "Welcome mysqlnd_uh!"
}

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd

MysqlndUhConnection::query
MysqlndUhConnection::reapQuery
MysqlndUhConnection


Obtiene el resultado de una consulta asicrónica

MysqlndUhConnection::queryReadResultsetHeader
MysqlndUhConnection::refreshServer
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::reapQuery

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::reapQuery — Obtiene el resultado de una consulta asicrónica

Descripción

public bool MysqlndUhConnection::reapQuery ( mysqlnd_connection $connection )

Obtiene el resultado de una consulta asicrónica.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

Returns TRUE on success. Otherwise, returns FALSE

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::reapQuery()

<?php
class proxy extends MysqlndUhConnection {
 public function reapQuery($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::reapQuery($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$conn1 = new mysqli("localhost", "root", "", "test");
$conn2 = new mysqli("localhost", "root", "", "test");

$conn1->query("SELECT 1 as 'one', SLEEP(1) AS _sleep FROM DUAL", MYSQLI_ASYNC |  MYSQLI_USE_RESULT);
$conn2->query("SELECT 1.1 as 'one dot one' FROM DUAL", MYSQLI_ASYNC |  MYSQLI_USE_RESULT);

$links = array(
 $conn1->thread_id => array('link' => $conn1, 'processed' => false),
 $conn2->thread_id => array('link' => $conn2, 'processed' => false)
);

$saved_errors = array();
do {
 $poll_links = $poll_errors = $poll_reject = array();
 foreach ($links as $thread_id => $link) {
  if (!$link['processed']) {
   $poll_links[] = $link['link'];
   $poll_errors[] = $link['link'];
   $poll_reject[] = $link['link'];
  }
 }
 if (0 == count($poll_links))
  break;

 if (0 == ($num_ready = mysqli_poll($poll_links, $poll_errors, $poll_reject, 0, 200000)))
  continue;

 if (!empty($poll_errors)) {
  die(var_dump($poll_errors));
 }

 foreach ($poll_links as $link) {
  $thread_id = mysqli_thread_id($link);
  $links[$thread_id]['processed'] = true;

  if (is_object($res = mysqli_reap_async_query($link))) {
   // result set object
   while ($row = mysqli_fetch_assoc($res)) {
    // eat up all results
    var_dump($row);
   }
   mysqli_free_result($res);
  } else {
   // either there is no result (no SELECT) or there is an error
   if (mysqli_errno($link) > 0) {
    $saved_errors[$thread_id] = mysqli_errno($link);
    printf("'%s' caused %d\n", $links[$thread_id]['query'],     mysqli_errno($link));
   }
  }
 }
} while (true);
?>

El resultado del ejemplo sería:

proxy::reapQuery(array (
  0 => NULL,
))
proxy::reapQuery returns true
array(1) {
  ["one dot one"]=>
  string(3) "1.1"
}
proxy::reapQuery(array (
  0 => NULL,
))
proxy::reapQuery returns true
array(2) {
  ["one"]=>
  string(1) "1"
  ["_sleep"]=>
  string(1) "0"
}

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_real_async_query()

MysqlndUhConnection::queryReadResultsetHeader
MysqlndUhConnection::refreshServer
MysqlndUhConnection


Vacía o reinicia las tablas y las cachés

MysqlndUhConnection::reapQuery
MysqlndUhConnection::restartPSession
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::refreshServer

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::refreshServer — Vacía o reinicia las tablas y las cachés

Descripción

public bool MysqlndUhConnection::refreshServer ( mysqlnd_connection $connection , int $options )

Vacía o reinicia las tablas y las cachés.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

options

Lo que refrescar.

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::refreshServer()

<?php
class proxy extends MysqlndUhConnection {
 public function refreshServer($res, $option) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::refreshServer($res, $option);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
mysqli_refresh($mysqli, 1);
?>

El resultado del ejemplo sería:

proxy::refreshServer(array (
  0 => NULL,
  1 => 1,
))
proxy::refreshServer returns false

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd

MysqlndUhConnection::reapQuery
MysqlndUhConnection::restartPSession
MysqlndUhConnection


Reinicializa una conexión persistente a mysqlnd

MysqlndUhConnection::refreshServer
MysqlndUhConnection::selectDb
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::restartPSession

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::restartPSession — Reinicializa una conexión persistente a mysqlnd

Descripción

public bool MysqlndUhConnection::restartPSession ( mysqlnd_connection $connection )

Reinicializa una conexión persistente a mysqlnd.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::restartPSession()

<?php
class proxy extends MysqlndUhConnection {
 public function ping($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::ping($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->ping();
?>

El resultado del ejemplo sería:

proxy::restartPSession(array (
  0 => NULL,
))
proxy::restartPSession returns true

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd

MysqlndUhConnection::refreshServer
MysqlndUhConnection::selectDb
MysqlndUhConnection


Selecciona la base de datos predeterminada para su consulta

MysqlndUhConnection::restartPSession
MysqlndUhConnection::sendClose
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::selectDb

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::selectDb — Selecciona la base de datos predeterminada para su consulta

Descripción

public bool MysqlndUhConnection::selectDb ( mysqlnd_connection $connection , string $database )

Selecciona la base de datos predeterminada para su consulta.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

database

El nombre de la base de datos.

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::selectDb()

<?php
class proxy extends MysqlndUhConnection {
 public function selectDb($res, $database) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::selectDb($res, $database);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->select_db("mysql");
?>

El resultado del ejemplo sería:

proxy::selectDb(array (
  0 => NULL,
  1 => 'mysql',
))
proxy::selectDb returns true

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_select_db() - Selecciona la base de datos por defecto para realizar las consultas
  • mysql_select_db() - Seleccionar una base de datos MySQL

MysqlndUhConnection::restartPSession
MysqlndUhConnection::sendClose
MysqlndUhConnection


Envía un comando de cierre a MySQL

MysqlndUhConnection::selectDb
MysqlndUhConnection::sendQuery
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::sendClose

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::sendClose — Envía un comando de cierre a MySQL

Descripción

public bool MysqlndUhConnection::sendClose ( mysqlnd_connection $connection )

Envía un comando de cierre a MySQL.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::sendClose()

<?php
class proxy extends MysqlndUhConnection {
 public function sendClose($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::sendClose($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->close();
?>

El resultado del ejemplo sería:

proxy::sendClose(array (
  0 => NULL,
))
proxy::sendClose returns true
proxy::sendClose(array (
  0 => NULL,
))
proxy::sendClose returns true

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd

MysqlndUhConnection::selectDb
MysqlndUhConnection::sendQuery
MysqlndUhConnection


Envía una consulta a MySQL

MysqlndUhConnection::sendClose
MysqlndUhConnection::serverDumpDebugInformation
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::sendQuery

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::sendQuery — Envía una consulta a MySQL

Descripción

public bool MysqlndUhConnection::sendQuery ( mysqlnd_connection $connection , string $query )

Envía una consulta a MySQL.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

query

La cadena de consulta.

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::sendQuery()

<?php
class proxy extends MysqlndUhConnection {
 public function sendQuery($res, $query) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::sendQuery($res, $query);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->query("SELECT 1");
?>

El resultado del ejemplo sería:

proxy::sendQuery(array (
  0 => NULL,
  1 => 'SELECT 1',
))
proxy::sendQuery returns true

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd

MysqlndUhConnection::sendClose
MysqlndUhConnection::serverDumpDebugInformation
MysqlndUhConnection


Vierte la información de depuración en el registro para el servidor MySQL

MysqlndUhConnection::sendQuery
MysqlndUhConnection::setAutocommit
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::serverDumpDebugInformation

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::serverDumpDebugInformation — Vierte la información de depuración en el registro para el servidor MySQL

Descripción

public bool MysqlndUhConnection::serverDumpDebugInformation ( mysqlnd_connection $connection )

Vierte la información de depuración en el registro para el servidor MySQL.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::serverDumpDebugInformation()

<?php
class proxy extends MysqlndUhConnection {
 public function serverDumpDebugInformation($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::serverDumpDebugInformation($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->dump_debug_info();
?>

El resultado del ejemplo sería:

proxy::serverDumpDebugInformation(array (
  0 => NULL,
))
proxy::serverDumpDebugInformation returns true

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_dump_debug_info() - Volcado de información de depuración en el registro

MysqlndUhConnection::sendQuery
MysqlndUhConnection::setAutocommit
MysqlndUhConnection


Activa o desactiva la autoconsigna de las modificaciones de la base de datos

MysqlndUhConnection::serverDumpDebugInformation
MysqlndUhConnection::setCharset
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::setAutocommit

(PECL mysqlnd-uh >= 1.0.1-alpha, PHP >= 5.4.0)

MysqlndUhConnection::setAutocommit — Activa o desactiva la autoconsigna de las modificaciones de la base de datos

Descripción

public bool MysqlndUhConnection::setAutocommit ( mysqlnd_connection $connection , int $mode )

Activa o desactiva la autoconsigna de las modificaciones de la base de datos.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

mode

Si activar o no la autoconsigna.

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::setAutocommit()

<?php
class proxy extends MysqlndUhConnection {
 public function setAutocommit($res, $mode) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::setAutocommit($res, $mode);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->autocommit(false);
$mysqli->autocommit(true);
?>

El resultado del ejemplo sería:

proxy::setAutocommit(array (
  0 => NULL,
  1 => 0,
))
proxy::setAutocommit returns true
proxy::setAutocommit(array (
  0 => NULL,
  1 => 1,
))
proxy::setAutocommit returns true

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_autocommit() - Activa o desactiva las modificaciones de la base de datos autoconsignadas

MysqlndUhConnection::serverDumpDebugInformation
MysqlndUhConnection::setCharset
MysqlndUhConnection


Establece el conjunto de caracteres predeterminado del cliente

MysqlndUhConnection::setAutocommit
MysqlndUhConnection::setClientOption
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::setCharset

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::setCharset — Establece el conjunto de caracteres predeterminado del cliente

Descripción

public bool MysqlndUhConnection::setCharset ( mysqlnd_connection $connection , string $charset )

Establece el conjunto de caracteres predeterminado del cliente.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

charset

El conjunto de caracters a establecer como predeterminado.

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::setCharset()

<?php
class proxy extends MysqlndUhConnection {
 public function setCharset($res, $charset) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::setCharset($res, $charset);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->set_charset("latin1");
?>

El resultado del ejemplo sería:

proxy::setCharset(array (
  0 => NULL,
  1 => 'latin1',
))
proxy::setCharset returns true

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_set_charset() - Establece el conjunto de caracteres predeterminado del cliente

MysqlndUhConnection::setAutocommit
MysqlndUhConnection::setClientOption
MysqlndUhConnection


Establece una opción del cliente

MysqlndUhConnection::setCharset
MysqlndUhConnection::setServerOption
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::setClientOption

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::setClientOption — Establece una opción del cliente

Descripción

public bool MysqlndUhConnection::setClientOption ( mysqlnd_connection $connection , int $option , int $value )

Establece una opción del cliente.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

option

La opción a establecer.

value

Valor la opción, si fuera necesario.

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::setClientOption()

<?php
function client_option_to_string($option) {
 static $mapping = array(
  MYSQLND_UH_MYSQLND_OPTION_OPT_CONNECT_TIMEOUT => "MYSQLND_UH_MYSQLND_OPTION_OPT_CONNECT_TIMEOUT",
  MYSQLND_UH_MYSQLND_OPTION_OPT_COMPRESS => "MYSQLND_UH_MYSQLND_OPTION_OPT_COMPRESS",
  MYSQLND_UH_MYSQLND_OPTION_OPT_NAMED_PIPE => "MYSQLND_UH_MYSQLND_OPTION_OPT_NAMED_PIPE",
  MYSQLND_UH_MYSQLND_OPTION_INIT_COMMAND => "MYSQLND_UH_MYSQLND_OPTION_INIT_COMMAND",
  MYSQLND_UH_MYSQLND_READ_DEFAULT_FILE => "MYSQLND_UH_MYSQLND_READ_DEFAULT_FILE",
  MYSQLND_UH_MYSQLND_READ_DEFAULT_GROUP => "MYSQLND_UH_MYSQLND_READ_DEFAULT_GROUP",
  MYSQLND_UH_MYSQLND_SET_CHARSET_DIR => "MYSQLND_UH_MYSQLND_SET_CHARSET_DIR",
  MYSQLND_UH_MYSQLND_SET_CHARSET_NAME => "MYSQLND_UH_MYSQLND_SET_CHARSET_NAME",
  MYSQLND_UH_MYSQLND_OPT_LOCAL_INFILE => "MYSQLND_UH_MYSQLND_OPT_LOCAL_INFILE",
  MYSQLND_UH_MYSQLND_OPT_PROTOCOL => "MYSQLND_UH_MYSQLND_OPT_PROTOCOL",
  MYSQLND_UH_MYSQLND_SHARED_MEMORY_BASE_NAME => "MYSQLND_UH_MYSQLND_SHARED_MEMORY_BASE_NAME",
  MYSQLND_UH_MYSQLND_OPT_READ_TIMEOUT => "MYSQLND_UH_MYSQLND_OPT_READ_TIMEOUT",
  MYSQLND_UH_MYSQLND_OPT_WRITE_TIMEOUT => "MYSQLND_UH_MYSQLND_OPT_WRITE_TIMEOUT",
  MYSQLND_UH_MYSQLND_OPT_USE_RESULT => "MYSQLND_UH_MYSQLND_OPT_USE_RESULT",
  MYSQLND_UH_MYSQLND_OPT_USE_REMOTE_CONNECTION => "MYSQLND_UH_MYSQLND_OPT_USE_REMOTE_CONNECTION",
  MYSQLND_UH_MYSQLND_OPT_USE_EMBEDDED_CONNECTION => "MYSQLND_UH_MYSQLND_OPT_USE_EMBEDDED_CONNECTION",
  MYSQLND_UH_MYSQLND_OPT_GUESS_CONNECTION => "MYSQLND_UH_MYSQLND_OPT_GUESS_CONNECTION",
  MYSQLND_UH_MYSQLND_SET_CLIENT_IP => "MYSQLND_UH_MYSQLND_SET_CLIENT_IP",
  MYSQLND_UH_MYSQLND_SECURE_AUTH => "MYSQLND_UH_MYSQLND_SECURE_AUTH",
  MYSQLND_UH_MYSQLND_REPORT_DATA_TRUNCATION => "MYSQLND_UH_MYSQLND_REPORT_DATA_TRUNCATION",
  MYSQLND_UH_MYSQLND_OPT_RECONNECT => "MYSQLND_UH_MYSQLND_OPT_RECONNECT",
  MYSQLND_UH_MYSQLND_OPT_SSL_VERIFY_SERVER_CERT => "MYSQLND_UH_MYSQLND_OPT_SSL_VERIFY_SERVER_CERT",
  MYSQLND_UH_MYSQLND_OPT_NET_CMD_BUFFER_SIZE => "MYSQLND_UH_MYSQLND_OPT_NET_CMD_BUFFER_SIZE",
  MYSQLND_UH_MYSQLND_OPT_NET_READ_BUFFER_SIZE => "MYSQLND_UH_MYSQLND_OPT_NET_READ_BUFFER_SIZE",
  MYSQLND_UH_MYSQLND_OPT_SSL_KEY => "MYSQLND_UH_MYSQLND_OPT_SSL_KEY",
  MYSQLND_UH_MYSQLND_OPT_SSL_CERT => "MYSQLND_UH_MYSQLND_OPT_SSL_CERT",
  MYSQLND_UH_MYSQLND_OPT_SSL_CA => "MYSQLND_UH_MYSQLND_OPT_SSL_CA",
  MYSQLND_UH_MYSQLND_OPT_SSL_CAPATH => "MYSQLND_UH_MYSQLND_OPT_SSL_CAPATH",
  MYSQLND_UH_MYSQLND_OPT_SSL_CIPHER => "MYSQLND_UH_MYSQLND_OPT_SSL_CIPHER",
  MYSQLND_UH_MYSQLND_OPT_SSL_PASSPHRASE => "MYSQLND_UH_MYSQLND_OPT_SSL_PASSPHRASE",
  MYSQLND_UH_SERVER_OPTION_PLUGIN_DIR => "MYSQLND_UH_SERVER_OPTION_PLUGIN_DIR",
  MYSQLND_UH_SERVER_OPTION_DEFAULT_AUTH => "MYSQLND_UH_SERVER_OPTION_DEFAULT_AUTH",
  MYSQLND_UH_SERVER_OPTION_SET_CLIENT_IP => "MYSQLND_UH_SERVER_OPTION_SET_CLIENT_IP"
 );
 if (version_compare(PHP_VERSION, '5.3.99-dev', '>')) {
  $mapping[MYSQLND_UH_MYSQLND_OPT_MAX_ALLOWED_PACKET] = "MYSQLND_UH_MYSQLND_OPT_MAX_ALLOWED_PACKET";
  $mapping[MYSQLND_UH_MYSQLND_OPT_AUTH_PROTOCOL] = "MYSQLND_UH_MYSQLND_OPT_AUTH_PROTOCOL";
 }
 if (defined("MYSQLND_UH_MYSQLND_OPT_INT_AND_FLOAT_NATIVE")) {
  /* special mysqlnd build */
  $mapping["MYSQLND_UH_MYSQLND_OPT_INT_AND_FLOAT_NATIVE"] = "MYSQLND_UH_MYSQLND_OPT_INT_AND_FLOAT_NATIVE";
 }
 return (isset($mapping[$option])) ? $mapping[$option] : 'unknown';
}

class proxy extends MysqlndUhConnection {
 public function setClientOption($res, $option, $value) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  printf("Option '%s' set to %s\n", client_option_to_string($option), var_export($value, true));
  $ret = parent::setClientOption($res, $option, $value);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
?>

El resultado del ejemplo sería:

proxy::setClientOption(array (
  0 => NULL,
  1 => 210,
  2 => 3221225472,
))
Option 'MYSQLND_UH_MYSQLND_OPT_MAX_ALLOWED_PACKET' set to 3221225472
proxy::setClientOption returns true
proxy::setClientOption(array (
  0 => NULL,
  1 => 211,
  2 => 'mysql_native_password',
))
Option 'MYSQLND_UH_MYSQLND_OPT_AUTH_PROTOCOL' set to 'mysql_native_password'
proxy::setClientOption returns true
proxy::setClientOption(array (
  0 => NULL,
  1 => 8,
  2 => 1,
))
Option 'MYSQLND_UH_MYSQLND_OPT_LOCAL_INFILE' set to 1
proxy::setClientOption returns true

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_real_connect() - Abre una conexión a un servidor mysql
  • mysqli_options() - Establecer opciones

MysqlndUhConnection::setCharset
MysqlndUhConnection::setServerOption
MysqlndUhConnection


Establece una opción del servidor

MysqlndUhConnection::setClientOption
MysqlndUhConnection::shutdownServer
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::setServerOption

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::setServerOption — Establece una opción del servidor

Descripción

public void MysqlndUhConnection::setServerOption ( mysqlnd_connection $connection , int $option )

Establece una opción del servidor.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

option

La opción a establecer.

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::setServerOption()

<?php
function server_option_to_string($option) {
 $ret = 'unknown';
 switch ($option) {
  case MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_ON:
   $ret = 'MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_ON';
   break;
  case MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_OFF:
   $ret = 'MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_ON';
   break;
 }
 return $ret;
}

class proxy extends MysqlndUhConnection {
 public function setServerOption($res, $option) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  printf("Option '%s' set\n", server_option_to_string($option));
  $ret = parent::setServerOption($res, $option);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->multi_query("SELECT 1; SELECT 2");
?>

El resultado del ejemplo sería:

proxy::setServerOption(array (
  0 => NULL,
  1 => 0,
))
Option 'MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_ON' set
proxy::setServerOption returns true

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_real_connect() - Abre una conexión a un servidor mysql
  • mysqli_options() - Establecer opciones
  • mysqli_multi_query() - Realiza una consulta a la base de datos

MysqlndUhConnection::setClientOption
MysqlndUhConnection::shutdownServer
MysqlndUhConnection


The shutdownServer purpose

MysqlndUhConnection::setServerOption
MysqlndUhConnection::simpleCommand
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::shutdownServer

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::shutdownServer — The shutdownServer purpose

Descripción

public void MysqlndUhConnection::shutdownServer ( string $MYSQLND_UH_RES_MYSQLND_NAME , string $"level" )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

MYSQLND_UH_RES_MYSQLND_NAME

"level"

Valores devueltos

MysqlndUhConnection::setServerOption
MysqlndUhConnection::simpleCommand
MysqlndUhConnection


Envía un comando COM_* básico

MysqlndUhConnection::shutdownServer
MysqlndUhConnection::simpleCommandHandleResponse
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::simpleCommand

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::simpleCommand — Envía un comando COM_* básico

Descripción

public bool MysqlndUhConnection::simpleCommand ( mysqlnd_connection $connection , int $command , string $arg , int $ok_packet , bool $silent , bool $ignore_upsert_status )

Envía un comando COM_* básico a MySQL.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

command

El comando COM a enviar.

arg

Argumentos opcionales del comando COM.

ok_packet

El tipo de paquete OK.

silent

Si mysqlnd podría emitir errores.

ignore_upsert_status

Si ignorar el estado UPDATE/INSERT.

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::simpleCommand()

<?php
function server_cmd_2_string($command) {
 $mapping = array(
  MYSQLND_UH_MYSQLND_COM_SLEEP => "MYSQLND_UH_MYSQLND_COM_SLEEP",
  MYSQLND_UH_MYSQLND_COM_QUIT => "MYSQLND_UH_MYSQLND_COM_QUIT",
  MYSQLND_UH_MYSQLND_COM_INIT_DB => "MYSQLND_UH_MYSQLND_COM_INIT_DB",
  MYSQLND_UH_MYSQLND_COM_QUERY => "MYSQLND_UH_MYSQLND_COM_QUERY",
  MYSQLND_UH_MYSQLND_COM_FIELD_LIST => "MYSQLND_UH_MYSQLND_COM_FIELD_LIST",
  MYSQLND_UH_MYSQLND_COM_CREATE_DB => "MYSQLND_UH_MYSQLND_COM_CREATE_DB",
  MYSQLND_UH_MYSQLND_COM_DROP_DB => "MYSQLND_UH_MYSQLND_COM_DROP_DB",
  MYSQLND_UH_MYSQLND_COM_REFRESH => "MYSQLND_UH_MYSQLND_COM_REFRESH",
  MYSQLND_UH_MYSQLND_COM_SHUTDOWN => "MYSQLND_UH_MYSQLND_COM_SHUTDOWN",
  MYSQLND_UH_MYSQLND_COM_STATISTICS => "MYSQLND_UH_MYSQLND_COM_STATISTICS",
  MYSQLND_UH_MYSQLND_COM_PROCESS_INFO => "MYSQLND_UH_MYSQLND_COM_PROCESS_INFO",
  MYSQLND_UH_MYSQLND_COM_CONNECT => "MYSQLND_UH_MYSQLND_COM_CONNECT",
  MYSQLND_UH_MYSQLND_COM_PROCESS_KILL => "MYSQLND_UH_MYSQLND_COM_PROCESS_KILL",
  MYSQLND_UH_MYSQLND_COM_DEBUG => "MYSQLND_UH_MYSQLND_COM_DEBUG",
  MYSQLND_UH_MYSQLND_COM_PING => "MYSQLND_UH_MYSQLND_COM_PING",
  MYSQLND_UH_MYSQLND_COM_TIME => "MYSQLND_UH_MYSQLND_COM_TIME",
  MYSQLND_UH_MYSQLND_COM_DELAYED_INSERT => "MYSQLND_UH_MYSQLND_COM_DELAYED_INSERT",
  MYSQLND_UH_MYSQLND_COM_CHANGE_USER => "MYSQLND_UH_MYSQLND_COM_CHANGE_USER",
  MYSQLND_UH_MYSQLND_COM_BINLOG_DUMP => "MYSQLND_UH_MYSQLND_COM_BINLOG_DUMP",
  MYSQLND_UH_MYSQLND_COM_TABLE_DUMP => "MYSQLND_UH_MYSQLND_COM_TABLE_DUMP",
  MYSQLND_UH_MYSQLND_COM_CONNECT_OUT => "MYSQLND_UH_MYSQLND_COM_CONNECT_OUT",
  MYSQLND_UH_MYSQLND_COM_REGISTER_SLAVED => "MYSQLND_UH_MYSQLND_COM_REGISTER_SLAVED",
  MYSQLND_UH_MYSQLND_COM_STMT_PREPARE => "MYSQLND_UH_MYSQLND_COM_STMT_PREPARE",
  MYSQLND_UH_MYSQLND_COM_STMT_EXECUTE => "MYSQLND_UH_MYSQLND_COM_STMT_EXECUTE",
  MYSQLND_UH_MYSQLND_COM_STMT_SEND_LONG_DATA => "MYSQLND_UH_MYSQLND_COM_STMT_SEND_LONG_DATA",
  MYSQLND_UH_MYSQLND_COM_STMT_CLOSE => "MYSQLND_UH_MYSQLND_COM_STMT_CLOSE",
  MYSQLND_UH_MYSQLND_COM_STMT_RESET => "MYSQLND_UH_MYSQLND_COM_STMT_RESET",
  MYSQLND_UH_MYSQLND_COM_SET_OPTION => "MYSQLND_UH_MYSQLND_COM_SET_OPTION",
  MYSQLND_UH_MYSQLND_COM_STMT_FETCH => "MYSQLND_UH_MYSQLND_COM_STMT_FETCH",
  MYSQLND_UH_MYSQLND_COM_DAEMON => "MYSQLND_UH_MYSQLND_COM_DAEMON",
  MYSQLND_UH_MYSQLND_COM_END => "MYSQLND_UH_MYSQLND_COM_END",
 );
 return (isset($mapping[$command])) ? $mapping[$command] : 'unknown';
}

function ok_packet_2_string($ok_packet) {
 $mapping = array(
  MYSQLND_UH_MYSQLND_PROT_GREET_PACKET => "MYSQLND_UH_MYSQLND_PROT_GREET_PACKET",
  MYSQLND_UH_MYSQLND_PROT_AUTH_PACKET => "MYSQLND_UH_MYSQLND_PROT_AUTH_PACKET",
  MYSQLND_UH_MYSQLND_PROT_OK_PACKET => "MYSQLND_UH_MYSQLND_PROT_OK_PACKET",
  MYSQLND_UH_MYSQLND_PROT_EOF_PACKET => "MYSQLND_UH_MYSQLND_PROT_EOF_PACKET",
  MYSQLND_UH_MYSQLND_PROT_CMD_PACKET => "MYSQLND_UH_MYSQLND_PROT_CMD_PACKET",
  MYSQLND_UH_MYSQLND_PROT_RSET_HEADER_PACKET => "MYSQLND_UH_MYSQLND_PROT_RSET_HEADER_PACKET",
  MYSQLND_UH_MYSQLND_PROT_RSET_FLD_PACKET => "MYSQLND_UH_MYSQLND_PROT_RSET_FLD_PACKET",
  MYSQLND_UH_MYSQLND_PROT_ROW_PACKET => "MYSQLND_UH_MYSQLND_PROT_ROW_PACKET",
  MYSQLND_UH_MYSQLND_PROT_STATS_PACKET => "MYSQLND_UH_MYSQLND_PROT_STATS_PACKET",
  MYSQLND_UH_MYSQLND_PREPARE_RESP_PACKET => "MYSQLND_UH_MYSQLND_PREPARE_RESP_PACKET",
  MYSQLND_UH_MYSQLND_CHG_USER_RESP_PACKET => "MYSQLND_UH_MYSQLND_CHG_USER_RESP_PACKET",
  MYSQLND_UH_MYSQLND_PROT_LAST => "MYSQLND_UH_MYSQLND_PROT_LAST",
 );
 return (isset($mapping[$ok_packet])) ? $mapping[$ok_packet] : 'unknown';
}

class proxy extends MysqlndUhConnection {
 public function simpleCommand($conn, $command, $arg, $ok_packet, $silent, $ignore_upsert_status) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  printf("Command '%s'\n", server_cmd_2_string($command));
  printf("OK packet '%s'\n",  ok_packet_2_string($ok_packet));
  $ret = parent::simpleCommand($conn, $command, $arg, $ok_packet, $silent, $ignore_upsert_status);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->query("SELECT 1");
?>

El resultado del ejemplo sería:

proxy::simpleCommand(array (
  0 => NULL,
  1 => 3,
  2 => 'SELECT 1',
  3 => 13,
  4 => false,
  5 => false,
))
Command 'MYSQLND_UH_MYSQLND_COM_QUERY'
OK packet 'MYSQLND_UH_MYSQLND_PROT_LAST'
proxy::simpleCommand returns true
:)proxy::simpleCommand(array (
  0 => NULL,
  1 => 1,
  2 => '',
  3 => 13,
  4 => true,
  5 => true,
))
Command 'MYSQLND_UH_MYSQLND_COM_QUIT'
OK packet 'MYSQLND_UH_MYSQLND_PROT_LAST'
proxy::simpleCommand returns true

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd

MysqlndUhConnection::shutdownServer
MysqlndUhConnection::simpleCommandHandleResponse
MysqlndUhConnection


Procesa una respuesta para un comando COM_* básico enviado al cliente

MysqlndUhConnection::simpleCommand
MysqlndUhConnection::sslSet
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::simpleCommandHandleResponse

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::simpleCommandHandleResponse — Procesa una respuesta para un comando COM_* básico enviado al cliente

Descripción

public bool MysqlndUhConnection::simpleCommandHandleResponse ( mysqlnd_connection $connection , int $ok_packet , bool $silent , int $command , bool $ignore_upsert_status )

Procesa una respuesta para un comando COM_* básico enviado al cliente

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

ok_packet

El tipo de paquete OK.

silent

Si mysqlnd podría emitir errores.

command

El comando COM del que procesar los resultados.

ignore_upsert_status

Si ignorar el estado UPDATE/INSERT.

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::simpleCommandHandleResponse()

<?php
function server_cmd_2_string($command) {
 $mapping = array(
  MYSQLND_UH_MYSQLND_COM_SLEEP => "MYSQLND_UH_MYSQLND_COM_SLEEP",
  MYSQLND_UH_MYSQLND_COM_QUIT => "MYSQLND_UH_MYSQLND_COM_QUIT",
  MYSQLND_UH_MYSQLND_COM_INIT_DB => "MYSQLND_UH_MYSQLND_COM_INIT_DB",
  MYSQLND_UH_MYSQLND_COM_QUERY => "MYSQLND_UH_MYSQLND_COM_QUERY",
  MYSQLND_UH_MYSQLND_COM_FIELD_LIST => "MYSQLND_UH_MYSQLND_COM_FIELD_LIST",
  MYSQLND_UH_MYSQLND_COM_CREATE_DB => "MYSQLND_UH_MYSQLND_COM_CREATE_DB",
  MYSQLND_UH_MYSQLND_COM_DROP_DB => "MYSQLND_UH_MYSQLND_COM_DROP_DB",
  MYSQLND_UH_MYSQLND_COM_REFRESH => "MYSQLND_UH_MYSQLND_COM_REFRESH",
  MYSQLND_UH_MYSQLND_COM_SHUTDOWN => "MYSQLND_UH_MYSQLND_COM_SHUTDOWN",
  MYSQLND_UH_MYSQLND_COM_STATISTICS => "MYSQLND_UH_MYSQLND_COM_STATISTICS",
  MYSQLND_UH_MYSQLND_COM_PROCESS_INFO => "MYSQLND_UH_MYSQLND_COM_PROCESS_INFO",
  MYSQLND_UH_MYSQLND_COM_CONNECT => "MYSQLND_UH_MYSQLND_COM_CONNECT",
  MYSQLND_UH_MYSQLND_COM_PROCESS_KILL => "MYSQLND_UH_MYSQLND_COM_PROCESS_KILL",
  MYSQLND_UH_MYSQLND_COM_DEBUG => "MYSQLND_UH_MYSQLND_COM_DEBUG",
  MYSQLND_UH_MYSQLND_COM_PING => "MYSQLND_UH_MYSQLND_COM_PING",
  MYSQLND_UH_MYSQLND_COM_TIME => "MYSQLND_UH_MYSQLND_COM_TIME",
  MYSQLND_UH_MYSQLND_COM_DELAYED_INSERT => "MYSQLND_UH_MYSQLND_COM_DELAYED_INSERT",
  MYSQLND_UH_MYSQLND_COM_CHANGE_USER => "MYSQLND_UH_MYSQLND_COM_CHANGE_USER",
  MYSQLND_UH_MYSQLND_COM_BINLOG_DUMP => "MYSQLND_UH_MYSQLND_COM_BINLOG_DUMP",
  MYSQLND_UH_MYSQLND_COM_TABLE_DUMP => "MYSQLND_UH_MYSQLND_COM_TABLE_DUMP",
  MYSQLND_UH_MYSQLND_COM_CONNECT_OUT => "MYSQLND_UH_MYSQLND_COM_CONNECT_OUT",
  MYSQLND_UH_MYSQLND_COM_REGISTER_SLAVED => "MYSQLND_UH_MYSQLND_COM_REGISTER_SLAVED",
  MYSQLND_UH_MYSQLND_COM_STMT_PREPARE => "MYSQLND_UH_MYSQLND_COM_STMT_PREPARE",
  MYSQLND_UH_MYSQLND_COM_STMT_EXECUTE => "MYSQLND_UH_MYSQLND_COM_STMT_EXECUTE",
  MYSQLND_UH_MYSQLND_COM_STMT_SEND_LONG_DATA => "MYSQLND_UH_MYSQLND_COM_STMT_SEND_LONG_DATA",
  MYSQLND_UH_MYSQLND_COM_STMT_CLOSE => "MYSQLND_UH_MYSQLND_COM_STMT_CLOSE",
  MYSQLND_UH_MYSQLND_COM_STMT_RESET => "MYSQLND_UH_MYSQLND_COM_STMT_RESET",
  MYSQLND_UH_MYSQLND_COM_SET_OPTION => "MYSQLND_UH_MYSQLND_COM_SET_OPTION",
  MYSQLND_UH_MYSQLND_COM_STMT_FETCH => "MYSQLND_UH_MYSQLND_COM_STMT_FETCH",
  MYSQLND_UH_MYSQLND_COM_DAEMON => "MYSQLND_UH_MYSQLND_COM_DAEMON",
  MYSQLND_UH_MYSQLND_COM_END => "MYSQLND_UH_MYSQLND_COM_END",
 );
 return (isset($mapping[$command])) ? $mapping[$command] : 'unknown';
}

function ok_packet_2_string($ok_packet) {
 $mapping = array(
  MYSQLND_UH_MYSQLND_PROT_GREET_PACKET => "MYSQLND_UH_MYSQLND_PROT_GREET_PACKET",
  MYSQLND_UH_MYSQLND_PROT_AUTH_PACKET => "MYSQLND_UH_MYSQLND_PROT_AUTH_PACKET",
  MYSQLND_UH_MYSQLND_PROT_OK_PACKET => "MYSQLND_UH_MYSQLND_PROT_OK_PACKET",
  MYSQLND_UH_MYSQLND_PROT_EOF_PACKET => "MYSQLND_UH_MYSQLND_PROT_EOF_PACKET",
  MYSQLND_UH_MYSQLND_PROT_CMD_PACKET => "MYSQLND_UH_MYSQLND_PROT_CMD_PACKET",
  MYSQLND_UH_MYSQLND_PROT_RSET_HEADER_PACKET => "MYSQLND_UH_MYSQLND_PROT_RSET_HEADER_PACKET",
  MYSQLND_UH_MYSQLND_PROT_RSET_FLD_PACKET => "MYSQLND_UH_MYSQLND_PROT_RSET_FLD_PACKET",
  MYSQLND_UH_MYSQLND_PROT_ROW_PACKET => "MYSQLND_UH_MYSQLND_PROT_ROW_PACKET",
  MYSQLND_UH_MYSQLND_PROT_STATS_PACKET => "MYSQLND_UH_MYSQLND_PROT_STATS_PACKET",
  MYSQLND_UH_MYSQLND_PREPARE_RESP_PACKET => "MYSQLND_UH_MYSQLND_PREPARE_RESP_PACKET",
  MYSQLND_UH_MYSQLND_CHG_USER_RESP_PACKET => "MYSQLND_UH_MYSQLND_CHG_USER_RESP_PACKET",
  MYSQLND_UH_MYSQLND_PROT_LAST => "MYSQLND_UH_MYSQLND_PROT_LAST",
 );
 return (isset($mapping[$ok_packet])) ? $mapping[$ok_packet] : 'unknown';
}

class proxy extends MysqlndUhConnection {
 public function simpleCommandHandleResponse($conn, $ok_packet, $silent, $command, $ignore_upsert_status) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  printf("Command '%s'\n", server_cmd_2_string($command));
  printf("OK packet '%s'\n",  ok_packet_2_string($ok_packet));
  $ret = parent::simpleCommandHandleResponse($conn, $ok_packet, $silent, $command, $ignore_upsert_status);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysql = mysql_connect("localhost", "root", "");
mysql_query("SELECT 1 FROM DUAL", $mysql);
?>

El resultado del ejemplo sería:

proxy::simpleCommandHandleResponse(array (
  0 => NULL,
  1 => 5,
  2 => false,
  3 => 27,
  4 => true,
))
Command 'MYSQLND_UH_MYSQLND_COM_SET_OPTION'
OK packet 'MYSQLND_UH_MYSQLND_PROT_EOF_PACKET'
proxy::simpleCommandHandleResponse returns true

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd

MysqlndUhConnection::simpleCommand
MysqlndUhConnection::sslSet
MysqlndUhConnection


Usado para establecer conexiones seguras con SSL

MysqlndUhConnection::simpleCommandHandleResponse
MysqlndUhConnection::stmtInit
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::sslSet

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::sslSet — Usado para establecer conexiones seguras con SSL

Descripción

public bool MysqlndUhConnection::sslSet ( mysqlnd_connection $connection , string $key , string $cert , string $ca , string $capath , string $cipher )

Usado para establecer conexiones seguras con SSL

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

key

El nombre de la ruta al fichero de claves.

cert

El nombre de la ruta al fichero de certificados.

ca

El nombre de la ruta al fichero de autoridad certificadora.

capath

El nombre de la ruta al directoria que contiene certificados de AC de confianza de SSL en formato PEM.

cipher

Una lista de los cifradores disponibles para usar la encriptación de SSL.

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::sslSet()

<?php
class proxy extends MysqlndUhConnection {
 public function sslSet($conn, $key, $cert, $ca, $capath, $cipher) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::sslSet($conn, $key, $cert, $ca, $capath, $cipher);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->ssl_set("key", "cert", "ca", "capath", "cipher");
?>

El resultado del ejemplo sería:

proxy::sslSet(array (
  0 => NULL,
  1 => 'key',
  2 => 'cert',
  3 => 'ca',
  4 => 'capath',
  5 => 'cipher',
))
proxy::sslSet returns true

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_ssl_set() - Usada para establece conexiones seguras usando SSL

MysqlndUhConnection::simpleCommandHandleResponse
MysqlndUhConnection::stmtInit
MysqlndUhConnection


Iniciliza una sentencia y devuelve un recurso para usarlo con mysqli_statement::prepare

MysqlndUhConnection::sslSet
MysqlndUhConnection::storeResult
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::stmtInit

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::stmtInit — Iniciliza una sentencia y devuelve un recurso para usarlo con mysqli_statement::prepare

Descripción

public resource MysqlndUhConnection::stmtInit ( mysqlnd_connection $connection )

Iniciliza una sentencia y devuelve un recurso para usarlo con mysqli_statement::prepare.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

Recurso de tipo Sentencia Preparada de Mysqlnd (únicamente interno - ¡no se debe modificar!). La documentación también podría referirse a dichos recursos usando el sobrenombre de mysqlnd_prepared_statement.

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::stmtInit()

<?php
class proxy extends MysqlndUhConnection {
 public function stmtInit($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  var_dump($res);
  $ret = parent::stmtInit($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  var_dump($ret);
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$stmt = $mysqli->prepare("SELECT 1 AS _one FROM DUAL");
$stmt->execute();
$one = NULL;
$stmt->bind_result($one);
$stmt->fetch();
var_dump($one);
?>

El resultado del ejemplo sería:

proxy::stmtInit(array (
  0 => NULL,
))
resource(19) of type (Mysqlnd Connection)
proxy::stmtInit returns NULL
resource(246) of type (Mysqlnd Prepared Statement (internal only - you must not modify it!))
int(1)

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_stmt_init() - Inicializa una sentencia y devuelve un objeto para usarlo con mysqli_stmt_prepare

MysqlndUhConnection::sslSet
MysqlndUhConnection::storeResult
MysqlndUhConnection


Transfiere un conjunto de resultados de la última consulta

MysqlndUhConnection::stmtInit
MysqlndUhConnection::txCommit
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::storeResult

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::storeResult — Transfiere un conjunto de resultados de la última consulta

Descripción

public resource MysqlndUhConnection::storeResult ( mysqlnd_connection $connection )

Transfiere un conjunto de resultados de la última consulta.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

Recurso de tipo Conjunto de Resultados de Mysqlnd (únicamente interno - ¡no se debe modificar!). La documentación también podría referirse a dichos recursos usando el sobrenombre de mysqlnd_resultset.

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::storeResult()

<?php
class proxy extends MysqlndUhConnection {
 public function storeResult($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::storeResult($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  var_dump($ret);
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$res = $mysqli->query("SELECT 'Also called buffered result' AS _msg FROM DUAL");
var_dump($res->fetch_assoc());

$mysqli->real_query("SELECT 'Good morning!' AS _msg FROM DUAL");
$res = $mysqli->store_result();
var_dump($res->fetch_assoc());
?>

El resultado del ejemplo sería:

proxy::storeResult(array (
  0 => NULL,
))
proxy::storeResult returns NULL
resource(475) of type (Mysqlnd Resultset (internal only - you must not modify it!))
array(1) {
  ["_msg"]=>
  string(27) "Also called buffered result"
}
proxy::storeResult(array (
  0 => NULL,
))
proxy::storeResult returns NULL
resource(730) of type (Mysqlnd Resultset (internal only - you must not modify it!))
array(1) {
  ["_msg"]=>
  string(13) "Good morning!"
}

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_store_result() - Transfiere un conjunto de resulados de la última consulta
  • mysqli_real_query() - Ejecuta una consulta SQL

MysqlndUhConnection::stmtInit
MysqlndUhConnection::txCommit
MysqlndUhConnection


Consigna la transacción en uso

MysqlndUhConnection::storeResult
MysqlndUhConnection::txRollback
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::txCommit

(PECL mysqlnd-uh >= 1.0.1-alpha, PHP >= 5.4.0)

MysqlndUhConnection::txCommit — Consigna la transacción en uso

Descripción

public bool MysqlndUhConnection::txCommit ( mysqlnd_connection $connection )

Consigna la transacción en uso.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::txCommit()

<?php
class proxy extends MysqlndUhConnection {
 public function txCommit($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::txCommit($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->commit();
?>

El resultado del ejemplo sería:

proxy::txCommit(array (
  0 => NULL,
))
proxy::txCommit returns true

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_commit() - Realiza un "commit" de la transacción actual

MysqlndUhConnection::storeResult
MysqlndUhConnection::txRollback
MysqlndUhConnection


Revierte la transacción en uso

MysqlndUhConnection::txCommit
MysqlndUhConnection::useResult
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::txRollback

(PECL mysqlnd-uh >= 1.0.1-alpha, PHP >= 5.4.0)

MysqlndUhConnection::txRollback — Revierte la transacción en uso

Descripción

public bool MysqlndUhConnection::txRollback ( mysqlnd_connection $connection )

Revierte la transacción en uso.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::txRollback()

<?php
class proxy extends MysqlndUhConnection {
 public function txRollback($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::txRollback($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->rollback();
?>

El resultado del ejemplo sería:

proxy::txRollback(array (
  0 => NULL,
))
proxy::txRollback returns true

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_commit() - Realiza un "commit" de la transacción actual

MysqlndUhConnection::txCommit
MysqlndUhConnection::useResult
MysqlndUhConnection


Inicia una recuperación de un conjunto de resultados

MysqlndUhConnection::txRollback
MysqlndUhPreparedStatement
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::useResult

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::useResult — Inicia una recuperación de un conjunto de resultados

Descripción

public resource MysqlndUhConnection::useResult ( mysqlnd_connection $connection )

Inicia una recuperación de un conjunto de resultados.

Parámetros

connection

Gestor de conexión de mysqlnd. ¡No modificar!

Valores devueltos

Recurso de tipo Conjunto de Resultados de Mysqlnd (únicamente interno - ¡no se debe modificar!). La documentación también podría referirse a dichos recursos usando el sobrenombre de mysqlnd_resultset.

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhConnection::useResult()

<?php
class proxy extends MysqlndUhConnection {
 public function useResult($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::useResult($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  var_dump($ret);
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->real_query("SELECT 'Good morning!' AS _msg FROM DUAL");
$res = $mysqli->use_result();
var_dump($res->fetch_assoc());
?>

El resultado del ejemplo sería:

proxy::useResult(array (
  0 => NULL,
))
proxy::useResult returns NULL
resource(425) of type (Mysqlnd Resultset (internal only - you must not modify it!))
array(1) {
  ["_msg"]=>
  string(13) "Good morning!"
}

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqli_use_result() - Inicia la resuperación de un conjunto de resultados
  • mysqli_real_query() - Ejecuta una consulta SQL

MysqlndUhConnection::txRollback
MysqlndUhPreparedStatement
MysqlndUhConnection


La clase MysqlndUhPreparedStatement

(PECL mysqlnd-uh >= 1.0.0-alpha)

Introducción

Sinopsis de la Clase

MysqlndUhPreparedStatement {
/* Métodos */
public __construct ( void )
public bool execute ( mysqlnd_prepared_statement $statement )
public bool prepare ( mysqlnd_prepared_statement $statement , string $query )
}

Tabla de contenidos

  • MysqlndUhPreparedStatement::__construct — The __construct purpose
  • MysqlndUhPreparedStatement::execute — Ejecuta una consulta preparada
  • MysqlndUhPreparedStatement::prepare — Prepara una sentencia SQL para su ejecución
MysqlndUhConnection::useResult
MysqlndUhPreparedStatement::__construct
mysqlnd_uh


The __construct purpose

MysqlndUhPreparedStatement
MysqlndUhPreparedStatement::execute
MysqlndUhPreparedStatement
PHP Manual

MysqlndUhPreparedStatement::__construct

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhPreparedStatement::__construct — The __construct purpose

Descripción

public MysqlndUhPreparedStatement::__construct ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

MysqlndUhPreparedStatement
MysqlndUhPreparedStatement::execute
MysqlndUhPreparedStatement


Ejecuta una consulta preparada

MysqlndUhPreparedStatement::__construct
MysqlndUhPreparedStatement::prepare
MysqlndUhPreparedStatement
PHP Manual

MysqlndUhPreparedStatement::execute

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhPreparedStatement::execute — Ejecuta una consulta preparada

Descripción

public bool MysqlndUhPreparedStatement::execute ( mysqlnd_prepared_statement $statement )

Ejecuta una consulta preparada.

Parámetros

statement

Gestor de sentencias preparadas de mysqlnd. ¡No modificar! Recurso de tipo Mysqlnd Prepared Statement (solamente interno - ¡no se debe modificar!).

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhPreparedStatement::execute()

<?php
class stmt_proxy extends MysqlndUhPreparedStatement {
 public function execute($res) {
  printf("%s(", __METHOD__);
  var_dump($res);
  printf(")\n");
  $ret = parent::execute($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  var_dump($ret);
  return $ret;
 }
}
mysqlnd_uh_set_statement_proxy(new stmt_proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$stmt = $mysqli->prepare("SELECT 'Labskaus' AS _msg FROM DUAL");
$stmt->execute();
$msg = NULL;
$stmt->bind_result($msg);
$stmt->fetch();
var_dump($msg);
?>

El resultado del ejemplo sería:

stmt_proxy::execute(resource(256) of type (Mysqlnd Prepared Statement (internal only - you must not modify it!))
)
stmt_proxy::execute returns true
bool(true)
string(8) "Labskaus"

Ver también

  • mysqlnd_uh_set_statement_proxy() - Instala un proxy para sentencias de mysqlnd
  • mysqli_stmt_execute() - Ejecuta una consulta preparada

MysqlndUhPreparedStatement::__construct
MysqlndUhPreparedStatement::prepare
MysqlndUhPreparedStatement


Prepara una sentencia SQL para su ejecución

MysqlndUhPreparedStatement::execute
Funciones de Mysqlnd_uh
MysqlndUhPreparedStatement
PHP Manual

MysqlndUhPreparedStatement::prepare

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhPreparedStatement::prepare — Prepara una sentencia SQL para su ejecución

Descripción

public bool MysqlndUhPreparedStatement::prepare ( mysqlnd_prepared_statement $statement , string $query )

Prepara una sentencia SQL para su ejecución.

Parámetros

statement

Gestor de sentencias preparadas de mysqlnd. ¡No modificar! Recurso de tipo Mysqlnd Prepared Statement (solamente interno - ¡no se debe modificar!).

query

The query to be prepared.

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de MysqlndUhPreparedStatement::prepare()

<?php
class stmt_proxy extends MysqlndUhPreparedStatement {
 public function prepare($res, $query) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $query = "SELECT 'No more you-know-what-I-mean for lunch, please' AS _msg FROM DUAL";
  $ret = parent::prepare($res, $query);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  var_dump($ret);
  return $ret;
 }
}
mysqlnd_uh_set_statement_proxy(new stmt_proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$stmt = $mysqli->prepare("SELECT 'Labskaus' AS _msg FROM DUAL");
$stmt->execute();
$msg = NULL;
$stmt->bind_result($msg);
$stmt->fetch();
var_dump($msg);
?>

El resultado del ejemplo sería:

stmt_proxy::prepare(array (
  0 => NULL,
  1 => 'SELECT \'Labskaus\' AS _msg FROM DUAL',
))
stmt_proxy::prepare returns true
bool(true)
string(46) "No more you-know-what-I-mean for lunch, please"

Ver también

  • mysqlnd_uh_set_statement_proxy() - Instala un proxy para sentencias de mysqlnd
  • mysqli_stmt_prepare() - Preparar una sentencia SQL para su ejecución
  • mysqli_prepare() - Prepara una sentencia SQL para su ejecución

MysqlndUhPreparedStatement::execute
Funciones de Mysqlnd_uh
MysqlndUhPreparedStatement


Funciones de Mysqlnd_uh

Tabla de contenidos

  • mysqlnd_uh_convert_to_mysqlnd — Convierte un gestor de conexión de MySQL a uno de mysqlnd
  • mysqlnd_uh_set_connection_proxy — Instala un proxy para las conexiones de mysqlnd
  • mysqlnd_uh_set_statement_proxy — Instala un proxy para sentencias de mysqlnd
MysqlndUhPreparedStatement::prepare
mysqlnd_uh_convert_to_mysqlnd
mysqlnd_uh


Convierte un gestor de conexión de MySQL a uno de mysqlnd

Funciones de Mysqlnd_uh
mysqlnd_uh_set_connection_proxy
Funciones de Mysqlnd_uh
PHP Manual

mysqlnd_uh_convert_to_mysqlnd

(PECL mysqlnd-uh >= 1.0.0-alpha)

mysqlnd_uh_convert_to_mysqlnd — Convierte un gestor de conexión de MySQL a uno de mysqlnd

Descripción

resource mysqlnd_uh_convert_to_mysqlnd ( mysqli &$mysql_connection )

Convierte un gestor de conexión de MySQL a uno de mysqlnd. Después de la conversión, se pueden ejecutar las llamadas a la biblioteca mysqlnd sobre el gestor de conexión. Esto se puede utilizar para acceder a la funcionalidad de mysqlnd que no está disponible a través de las llamadas de la API del espacio de usuario.

Esta función se puede deshabilitar con mysqlnd_uh.enable. Si mysqlnd_uh.enable se establece a FALSE la función no instalará el proxy y siempre devolverá TRUE. Además, se emitirá un error de tipo E_WARNING. Este mensaje de error podría leerse como PHP Warning: mysqlnd_uh_convert_to_mysqlnd(): (Mysqlnd User Handler) The plugin has been disabled by setting the configuration parameter mysqlnd_uh.enable = false. You are not allowed to call this function [...].

Parámetros

MySQL connection handle

Un gestor de conexión de MySQL del tipo mysql, mysqli o PDO_MySQL.

Valores devueltos

Un gestor de conexión de mysqlnd.

Historial de cambios

Versión | Descripción
5.4.0 | El parámetro mysql_connection ahora puede ser de tipo mysql, PDO_MySQL, o mysqli. Antes, solo estaba permitido el tipo mysqli.

Ejemplos

Ejemplo #1 Ejemplo de mysqlnd_uh_convert_to_mysqlnd()

<?php
/* La API de usuario de PDO no proporciona acceso al id del hilo de conexión */
$mysql_connection = new PDO("mysql:host=localhost;dbname=test", "root", "");

/* Convertir el gestor de MySQL de PDO a uno de mysqlnd */
$mysqlnd = mysqlnd_uh_convert_to_mysqlnd($mysql_connection);

/* Crear un Proxy para llamar a los métodos de la clase de conexión de mysqlnd */
$obj = new MySQLndUHConnection();
/* Llamar a mysqlnd_conn::get_thread_id */
var_dump($obj->getThreadId($mysqlnd));

/* Usar SQL para obtener el id del hilo de conexión */
var_dump($mysql_connection->query("SELECT CONNECTION_ID()")->fetchAll());
?>

El resultado del ejemplo sería:

int(27054)
array(1) {
  [0]=>
  array(2) {
    ["CONNECTION_ID()"]=>
    string(5) "27054"
    [0]=>
    string(5) "27054"
  }
}

Ver también

  • mysqlnd_uh.enable

Funciones de Mysqlnd_uh
mysqlnd_uh_set_connection_proxy
Funciones de Mysqlnd_uh


Instala un proxy para las conexiones de mysqlnd

mysqlnd_uh_convert_to_mysqlnd
mysqlnd_uh_set_statement_proxy
Funciones de Mysqlnd_uh
PHP Manual

mysqlnd_uh_set_connection_proxy

(PECL mysqlnd-uh >= 1.0.0-alpha)

mysqlnd_uh_set_connection_proxy — Instala un proxy para las conexiones de mysqlnd

Descripción

bool mysqlnd_uh_set_connection_proxy ( MysqlndUhConnection &$connection_proxy [, mysqli &$mysqli_connection ] )

Instala un objeto proxy para enganchar los métodos de los objetos de conexión de mysqlnd. Una vez instalado, el proxy se usará para todas las conexiones de MySQL abiertas con mysqli, mysql o PDO_MYSQL, asumiendo que las extensiones enumeradas están compiladas para usar la biblioteca mysqlnd.

Esta función se puede deshabilitar con mysqlnd_uh.enable. Si mysqlnd_uh.enable se establece a FALSE la función no instalará el proxy y siempre devolverá TRUE. Además, se emitirá un error de tipo E_WARNING. Este mensaje de error podría leerse como PHP Warning: mysqlnd_uh_set_connection_proxy(): (Mysqlnd User Handler) The plugin has been disabled by setting the configuration parameter mysqlnd_uh.enable = false. The proxy has not been installed [...].

Parámetros

connection_proxy

Un objeto proxy de tipo MysqlndUhConnection.

mysqli_connection

Un objeto de tipo mysqli. Si se proporciona, el proxy se establecerá únicamente para esta conexión en particular.

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de mysqlnd_uh_set_connection_proxy()

<?php
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->query("SELECT 'No proxy installed, yet'");

class proxy extends MysqlndUhConnection {
 public function query($res, $query) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::query($res, $query);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli->query("SELECT 'mysqlnd rocks!'");

$mysql = mysql_connect("localhost", "root", "", "test");
mysql_query("SELECT 'Ahoy Andrey!'", $mysql);

$pdo = new PDO("mysql:host=localhost;dbname=test", "root", "");
$pdo->query("SELECT 'Moin Johannes!'");
?>

El resultado del ejemplo sería:

proxy::query(array (
  0 => NULL,
  1 => 'SELECT \'mysqlnd rocks!\'',
))
proxy::query returns true
proxy::query(array (
  0 => NULL,
  1 => 'SELECT \'Ahoy Andrey!\'',
))
proxy::query returns true
proxy::query(array (
  0 => NULL,
  1 => 'SELECT \'Moin Johannes!\'',
))
proxy::query returns true

Ver también

  • mysqlnd_uh_set_statement_proxy() - Instala un proxy para sentencias de mysqlnd
  • mysqlnd_uh.enable

mysqlnd_uh_convert_to_mysqlnd
mysqlnd_uh_set_statement_proxy
Funciones de Mysqlnd_uh


Instala un proxy para sentencias de mysqlnd

mysqlnd_uh_set_connection_proxy
Historial de cambios
Funciones de Mysqlnd_uh
PHP Manual

mysqlnd_uh_set_statement_proxy

(PECL mysqlnd-uh >= 1.0.0-alpha)

mysqlnd_uh_set_statement_proxy — Instala un proxy para sentencias de mysqlnd

Descripción

bool mysqlnd_uh_set_statement_proxy ( MysqlndUhStatement &$statement_proxy )

Instala un proxy para las sentencias de mysqlnd. El objeto proxy se usará para todos los objetos de sentencias preparadas de mysqlnd, sin tener en cuenta la extensión de MySQL para PHP (mysqli, mysql, PDO_MYSQL) que las haya creado siempre que dicha extensión esté compilada para usar la biblioteca mysqlnd.

Esta función se puede deshabilitar con mysqlnd_uh.enable. Si mysqlnd_uh.enable se establece a FALSE la función no instalará el proxy y siempre devolverá TRUE. Además, se emitirá un error de tipo E_WARNING. Este mensaje de error podría leerse como PHP Warning: mysqlnd_uh_set_statement_proxy(): (Mysqlnd User Handler) The plugin has been disabled by setting the configuration parameter mysqlnd_uh.enable = false. The proxy has not been installed [...].

Parámetros

statement_proxy

El objeto proxy de sentencias de mysqlnd de tipo MysqlndUhStatement

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ver también

  • mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
  • mysqlnd_uh.enable

mysqlnd_uh_set_connection_proxy
Historial de cambios
Funciones de Mysqlnd_uh


Historial de cambios

Tabla de contenidos

  • Serie PECL/mysqlnd_uh 1.0

Este historial de cambios enumera los cambios mayores que los usuarios necesitan considerar al actualizar desde una versión a otra. Es un resume de alto nivel de cambios seleccionados que podrían tener impacto sobre las aplicaciones o incluso romper la retrocompatibilidad (RC). Véase también el fichero CHANGES contenido en la distribución original para informaicón adicional sobre el registro de cambios. El historial de commit también está disponible.

mysqlnd_uh_set_statement_proxy
Serie PECL/mysqlnd_uh 1.0
mysqlnd_uh


Serie PECL/mysqlnd_uh 1.0

1.0.1-alpha

  • Fecha de publiacación: A determinar
  • Motivo/tema: versión de corrección de errores

Cambios en las características

  • Soporte para PHP 5.4.0 o posterior.
  • Rotura de RC: MysqlndUhConnection::changeUser() requiere el parámetro adicional passwd_len.
  • Rotura de RC: MYSQLND_UH_VERSION_STR se renombró a MYSQLND_UH_VERSION. MYSQLND_UH_VERSION se renombró a MYSQLND_UH_VERSION_ID.
  • Rotura de RC: El ajuste de configuración mysqlnd_uh.enabled se renombró a mysqlnd_uh.enable.

1.0.0-alpha

  • Fecha de publicación: 08/2010
  • Motivo/tema: Versión inicial

Historial de cambios
mysqlnd_mux
Historial de cambios


Complemento de multiplexación de conexiones de mysqlnd

  • Introducción
  • Conceptos
    • Arquitectura
    • Agrupamiento de conexiones
    • Compartir conexiones
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
  • Constantes predefinidas
  • Historial de cambios
    • Serie PECL/mysqlnd_mux 1.0
Serie PECL/mysqlnd_uh 1.0
Introducción
MySQL


Introducción

El complemento de multiplexación de mysqlnd (mysqlnd_mux) multiplexa las conexiones de MySQL establecidas por todas las extensiones de MySQL para PHP que utilizan el controlador nativo de MySQL (mysqlnd) para PHP.

El controlador nativo de MySQL para PHP introduce una API en C interna para complementos, tales como el complemento de multiplexación de conexiones, la cual puede ampliar la funcionalidad de mysqlnd. Véase mysqlnd para detalles adicionales sobre sus beneficios sobre la Bliblioteca Cliente de MySQL libmysqlclient.

Los complementos de mysqlnd como mysqlnd_mux operan, en la mayor parte, de forma transparente desde la perspectiva del usuario. El complemento de multiplexación de conexiones admite todas las aplicaciones de PHP y todas las extensiones de MySQL para PHP. No cambia las APIs existentes. Por lo tanto, puede usarse fácilmente con las aplicaciones de PHP existentes.

Nota:

Este complemento es una pruebas de conceptos. Todas las características están en un estado primario. El complemento aún no gestiona todos los tipos de consultas. Por lo tanto, por el momento no se puede usar a corto plazo.

Por favor, no use esta versión en entornos de producción.

Características principales

Las características principales de mysqlnd_mux son las siguientes:

  • Transparente y por lo tanto fácil de usar:

    • Admite todas las extensiones de MySQL para PHP.

    • Se necesitan pocos o ninún cambio en las aplicaciones, dependiendo del escenario de uso requerido.

  • Reduce la carga del servidor y la latencia del establecimiento de conexiones:

    • Abre menos conexiones al servidor MySQL.

    • Menos conexiones a MySQL significa menos trabajo para el servidor MySQL. En un entorno cliente-servidor, a menudo es más difícil mejorar el rendimiento del servidor que el del cliente. La multiplexación ayuda con la mejora del rendimiento horizontal (por cliente).

    • El agrupamiento ahorra tiempo de conexión.

    • Conexión multiplexada: múltiples gestores de usuario comparten la misma conexión de red. Una vez abierta, una conexión de red es almacenada en caché y compartida entre múltiples gestores de usuario. Hay una relación 1:n entre la conexión interna de red y los gestores de conexión de usuario.

    • Conexión persistente: una conexión de red se mantiene abierta hasta el final de una petición web, si el modelo de desarrollo de PHP lo permite. Así, peticioines web subsiguientes pueden reutilizar una conexión previamente abierta. Al igual que otros recursos, las conexiones de red están limitadas al ámbito de un proceso. Por lo tanto, pueden ser reutilizadas para todas las peticiones web servidas por un proceso.

Limitaciones

La prueba de conceptos no admite consultas no almacenadas en búfer, sentencias preparadas, ni consultas asíncronas.

El agrupamiento de conexiones utiliza una combinación de método de transporte y nombre de host como claves. Como consecuencia, dos conexiones al mismo host que usen el mismo método de transporte (TCP/IP, socket Unix, tubería con nombre de Windows) serán vinculadas a la misma conexión agrupada incluso si el nombre de usuario y la contraseña difieren. Se han de tener las posibles implicaciones de segurirdad.

La prueba de conceptos es incrédula respecto a transacciones. No sabe nada de transacciones SQL.

Nota:

Las aplicaciones debería tener en cuenta de las consecuencias de compartir conexiones.

Sobre el nombre mysqlnd_mux

La abreviatura mysqlnd_mux singnifica complemento de multiplexación de conexiones de mysqlnd.

mysqlnd_mux
Conceptos
mysqlnd_mux


Conceptos

Tabla de contenidos

  • Arquitectura
  • Agrupamiento de conexiones
  • Compartir conexiones

Esta sección explica la arquitectura y los conceptos relacionados con este complemento. Es necesario leer y entender dichos conceptos para usar de forma satisfactoria este complemento.

Introducción
Arquitectura
mysqlnd_mux


Arquitectura

El complemento de multiplexación de conexiones de mysqlnd está implementado como una extensión de PHP. Está estcrito en C y opera bajo el manto de PHP. Durante el arranque del intérprete de PHP, en la fase de inicialización de módulos del motor de PHP, se registra como un complemento de mysqlnd para reemplazar a los métodos en C específicos de mysqlnd.

La biblioteca mysqlnd utiliza los flujos de PHP para comunicarse con el servidor MySQL. A los flujos de PHP se acceden mediante la biblioteca mysqlnd a través de su módulo de red. El complemento de multiplexación de conexiones de mysqlnd actúa como delegado de los métodos del módulo de red de la biblioteca mysqlnd para controlar la apertura y el cierre de flujos de red.

Cuando se abre una conexión de usuario a MySQL utlizando las funciones de conexión apropiadas de mysqli, PDO_MYSQL o ext/mysql, el complemento busca en su agrupamiento de conexiones una conexión de red abierta. Si el agrupamiento contiene una conexión de red al host especificado por la función de conexión que use el método de transporte solicitado (TCP/IP, socket de dominio Unix, tuberías con nombre de Windows), la conexión del agrupamiento se vincula al gestor de usuario. De lo contrario, se abre una nueva conexión de red, se coloca en el agrupamiento y se asocia con el gestor de conexión de usuario. De esta manera, múltiples gestores de usuario pueden ser vinculados a la misma conexión de red.

Conceptos
Agrupamiento de conexiones
Conceptos


Agrupamiento de conexiones

La agrupación de conexiones del complemento se crea cuando PHP inicializa sus módulos (MINIT), y se libera cuando PHP cierra los módulos (MSHUTDOWN). Lo mismo sucede con las conexiones persistentes de MySQL.

Según el modelo de desarrollo, la agrupación se usa durante la vida de una o múltiples peticiones web. Las conexiones de red están limitadas al tiempo de vida de un proceso al nivel del sistema operativo. Si el proceso de PHP sirve múltiples peticiones web, como es el caso de Fast-CGI o despliegues de servidor web con hilos, las conexiones de la agrupación pueden ser reutilizadas sobre conexiones múltiples. Ya que la multiplexación significa compartir conexiones, podría incluso acontecer con un despliegue de subprocesos donde dos hilos o dos peticiones web distintas estén vinculadas a una conexión de red de la agrupación.

Una conexión de la agrupación se cierra explícitamente una vez que la última referencia a ella sea liberada. Un cierre implícito ocurre cuando PHP cierra sus módulos.

Arquitectura
Compartir conexiones
Conceptos


Compartir conexiones

El complemento de multiplexación de conexiontes de mysqlnd de PHP cambia la relación existente entre getores de conexión de usuario y la conexión de MySQL subyacente. Sin el complemento, cada conexión de MySQL pertenece exactamente a una conexión de usuario cada vez. El complemento de multiplexación cambia este comportamiento. Una conexión de MySQL es compartida entre múltiples gestores de usuario. No existe una relación uno-a-uno si se utiliza el complemento.

Compartir conexiones agrupadas tiene un impacto sobre el estado de la conexión. Las operaciones de cambio de estado de múltiples gestores de usuario que apuntan a una conexión de MySQL no están aisladas unas de otras. Si, por ejemplo, una variable de sesión se establece a través de un gestor de conexión de usuario, dicha variable se hará visible a todos los demás gestores de usuario que hagan referencia a la misma conexión de MySQL subyacente.

Este concepto es similar al estado de conexión relacionado con los fenómenos descritos para el complemento de la replicación y equilibrado de carga de mysqlnd para PHP. Por favor, revise la documentación de PECL/mysqlnd_ms para más detalles sobre el estado de una conexión.

La prueba de conceptos no toma medidas para aislar unas conexioines multiplexadas de otras.

Agrupamiento de conexiones
Instalación/Configuración
Conceptos


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
Compartir conexiones
Requerimientos
mysqlnd_mux


Requerimientos

PHP 5.5.0 o superior. Algunas funcionalidades avanzadas requieren PHP 5.5.0 o superior.

El complemento de replicación y equilibrado de carga mysqlnd_mux admite todas las aplicaciones de PHP y todas las extensiones de MySQL para PHP disponibles (mysqli, mysql, PDO_MYSQL). La extensión de MySQL para PHP debe configurarse para utilizar mysqlnd para poder usar el complemento mysqlnd_mux para mysqlnd.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/mysqlnd_mux

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de mysqlnd_mux
Nombre | Por defecto | Cambiable | Historial de cambios
mysqlnd_mux.enable | 0 | PHP_INI_SYSTEM |

He aquí una breve explicación de las directivas de configuración.

mysqlnd_mux.enable integer

Habilita o deshabilita el complemento. Si se deshabilita, la extensión no se conectará a mysqlnd para representar a las llamadas internas de la API en C de mysqlnd.

Instalación
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Otras

El número de la versión del complemento se puede obtener usando MYSQLND_MUX_VERSION o MYSQLND_MUX_VERSION_ID. MYSQLND_MUX_VERSION es la representación de tipo string del número de versión numérica de MYSQLND_MUX_VERSION_ID, la cual es un entero como 10000. Los desarrolladores pueden calcular el número de verisón como sigue:

Versión (parte) | Ejemplo
Mayor*10000 | 1*10000 = 10000
Menor*100 | 0*100 = 0
Parche | 0 = 0
MYSQLND_MUX_VERSION_ID | 10000

MYSQLND_MUX_VERSION (string)
Cadena con la versión del complemento, por ejemplo, "1.0.0-prototype".
MYSQLND_MUX_VERSION_ID (integer)
Número de la versión del complemento, por ejemplo, 10000.

Configuración en tiempo de ejecución
Historial de cambios
mysqlnd_mux


Historial de cambios

Tabla de contenidos

  • Serie PECL/mysqlnd_mux 1.0

Este historial de cambios es un resumen de alto nivel de los cambios seleccionados que podrían tener impacto sobre las aplicaciones y/o romper la retrocompatibilidad.

Véase también el fichero CHANGES de la distribución del código fuente para una lista completa de cambios.

Constantes predefinidas
Serie PECL/mysqlnd_mux 1.0
mysqlnd_mux


Serie PECL/mysqlnd_mux 1.0

1.0.0-pre-alpha

  • Fecha de publicación: ne se publicó ningún paquete, registro inicial 09/2012
  • Motivo/tema: Prueba de conceptos

Registro inicial. Esencialmente una demo de la API del complemento de mysqlnd.

Nota:

Ésta es la serie actual en desarrollo. Todas las características están en un estado primario. Los cambios podrían darse en cualquier momento sin previo aviso. Por favor, no use esta versión en entornos de producción.

La documentación aún no refleja todos los cambios.

Historial de cambios
mysqlnd_memcache
Historial de cambios


Mysqlnd Memcache plugin

  • Introducción
  • Quickstart and Examples
    • Setup
    • Usage
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
  • Constantes predefinidas
  • Mysqlnd_memcache Funciones
    • mysqlnd_memcache_get_config — Returns information about the plugin configuration
    • mysqlnd_memcache_set — Associate a MySQL connection with a Memcache connection
  • Change History
    • PECL/mysqlnd_memcache 1.0 series
Serie PECL/mysqlnd_mux 1.0
Introducción
MySQL


Introducción

The mysqlnd memcache plugin (mysqlnd_memcache) is an PHP extension for transparently translating SQL into requests for the MySQL InnoDB Memcached Daemon Plugin (server plugin). It includes experimental support for the MySQL Cluster Memcached Daemon. The server plugin provides access to data stored inside MySQL InnoDB (respectively MySQL Cluster NDB) tables using the Memcache protocol. This PHP extension, which supports all PHP MySQL extensions that use mysqlnd, will identify tables exported in this way and will translate specific SELECT queries into Memcache requests.

mysqlnd_memcache data flow

Nota:

This plugin depends on the MySQL InnoDB Memcached Daemon Plugin. It is not provided to be used with a stand-alone Memcached. For a generic query cache using Memcached look at the mysqlnd query cache plugin. For direct Memcache access look at the memcache and memcached extensions.

The MySQL native driver for PHP is a C library that ships together with PHP as of PHP 5.3.0. It serves as a drop-in replacement for the MySQL Client Library (libmysqlclient). Using mysqlnd has several advantages: no extra downloads are required because it's bundled with PHP, it's under the PHP license, there is lower memory consumption in certain cases, and it contains new functionality such as asynchronous queries.

The mysqlnd_mmemcache operates, for the most part, transparently from a user perspective. The mysqlnd memcache plugin supports all PHP applications, and all MySQL PHP extensions. It does not change existing APIs. Therefore, it can easily be used with existing PHP applications.

The MySQL Memcache plugins add key-value style access method for data stored in InnoDB resp. NDB (MySQL Cluster) SQL tables through the Memcache protocol. This type of key-value access if often faster than using SQL.

Key Features

The key features of PECL/mysqlnd_memcache are as follows.

  • Possible performance benefits

    • Client-side: light-weight protocol.

    • Server-side: no SQL parsing, direct access to the storage.

    • Please, run your own benchmarks! Actual performance results are highly dependent on setup and hardware used.

Limitations

The initial version is not binary safe. Due to the way the MySQL Memcache plugins works there are restrictions related to separators.

Prepared statements and asynchronous queries are not supported. Result set meta data support is limited.

The mapping information for tables accessible via Memcache is not cached in the plugin between requests but fetched from the MySQL server each time a MySQL connection is associated with a Memcache connection. See mysqlnd_memcache_set() for details.

On the name

The shortcut mysqlnd_memcache stands for mysqlnd memcache plugin. Memcache refers to support of the MySQL Memcache plugins for InnoDB and NDB (MySQL Cluster). The plugin is not related to the Memcached cache server.

mysqlnd_memcache
Quickstart and Examples
mysqlnd_memcache


Quickstart and Examples

Tabla de contenidos

  • Setup
  • Usage

The mysqlnd memcache plugin is easy to use. This quickstart will demo typical use-cases, and provide practical advice on getting started.

It is strongly recommended to read the reference sections in addition to the quickstart. The quickstart tries to avoid discussing theoretical concepts and limitations. Instead, it will link to the reference sections. It is safe to begin with the quickstart. However, before using the plugin in mission critical environments we urge you to read additionally the background information from the reference sections.

Introducción
Setup
mysqlnd_memcache


Setup

The plugin is implemented as a PHP extension. See also the installation instructions to install this extension.

Compile or configure the PHP MySQL extension (API) (mysqli, PDO_MYSQL, mysql). That extension must use the mysqlnd library as because mysqlnd_memcache is a plugin for the mysqlnd library. For additional information, refer to the mysqlnd_memcache installation instructions.

Then, load this extension into PHP and activate the plugin in the PHP configuration file using the PHP configuration directive named mysqlnd_memcache.enable.

Ejemplo #1 Enabling the plugin (php.ini)

; On Windows the filename is php_mysqnd_memcache.dll
; Load the extension
extension=mysqlnd_memcache.so
; Enable it
mysqlnd_memcache.enable=1

Follow the instructions given in the » MySQL Reference Manual on installing the Memcache plugins for the MySQL server. Activate the plugins and configure Memcache access for SQL tables.

The examples in this quickguide assume that the following table exists, and that Memcache is configured with access to it.

Ejemplo #2 SQL table used for the Quickstart

CREATE TABLE test(
  id CHAR(16),
  f1 VARCHAR(255),
  f2 VARCHAR(255),
  f3 VARCHAR(255),
  flags INT NOT NULL,
  cas_column INT,
  expire_time_column INT,
  PRIMARY KEY(id)
  ) ENGINE=InnoDB;

INSERT INTO test (id, f1, f2, f3) VALUES (1, 'Hello', 'World', '!');
INSERT INTO test (id, f1, f2, f3) VALUES (2, 'Lady', 'and', 'the tramp');

INSERT INTO innodb_memcache.containers(
  name, db_schema, db_table, key_columns, value_columns,
  flags, cas_column, expire_time_column, unique_idx_name_on_key)
VALUES (
  'plugin_test', 'test', 'test', 'id', 'f1,f2,f3',
  'flags', 'cas_column', 'expire_time_column', 'PRIMARY KEY');

Quickstart and Examples
Usage
Quickstart and Examples


Usage

After associating a MySQL connection with a Memcache connection using mysqnd_memcache_set() the plugin attempts to transparently replace SQL SELECT statements by a memcache access. For that purpose the plugin monitors all SQL statements executed and tries to match the statement string against MYSQLND_MEMCACHE_DEFAULT_REGEXP. In case of a match, the mysqlnd memcache plugin checks whether the SELECT is accessing only columns of a mapped table and the WHERE clause is limited to a single key lookup.

In case of the example SQL table, the plugin will use the Memcache interface of the MySQL server to fetch results for a SQL query like SELECT f1, f2, f3 WHERE id = n.

Ejemplo #1 Basic example.

<?php
$mysqli = new mysqli("host", "user", "passwd", "database");
$memc = new Memcached();
$memc->addServer("host", 11211);
mysqlnd_memcache_set($mysqli, $memc);

/*
   This is a query which queries table test using id as key in the WHERE part
   and is accessing fields f1, f2 and f3. Therefore, mysqlnd_memcache
   will intercept it and route it via memcache.
*/
$result = $mysqli->query("SELECT f1, f2, f3 FROM test WHERE id = 1");
while ($row = $result->fetch_row()) {
    print_r($row);
}

/*
   This is a query which queries table test but using f1 in the WHERE clause.
   Therefore, mysqlnd_memcache can't intercept it. This will be executed
   using the MySQL protocol
*/
$mysqli->query("SELECT id FROM test WHERE f1 = 'Lady'");
while ($row = $result->fetch_row()) {
    print_r($row);
}
?>

El resultado del ejemplo sería:

array(
    [f1] => Hello
    [f2] => World
    [f3] => !
)
array(
    [id] => 2
)

Setup
Instalación/Configuración
Quickstart and Examples


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
Usage
Requerimientos
mysqlnd_memcache


Requerimientos

PHP: this extension requires PHP 5.4+, version PHP 5.4.4 or never. The required PHP extensions are PCRE (enabled by default), and the memcached extension version 2.0.x.

The mysqlnd_memcache Memcache plugin supports all PHP applications and all available PHP MySQL extensions (mysqli, mysql, PDO_MYSQL). The PHP MySQL extension must be configured with mysqlnd support.

For accessing InnoDB tables, this PHP extension requires MySQL Server 5.6.6 or newer with the InnoDB Memcache Daemon Plugin enabled.

For accessing MySQL Cluster NDB tables, this PHP extension requires MySQL Cluster 7.2 or newer with the NDB Memcache API nodes enabled.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/mysqlnd_memcache

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Mysqlnd_memcache Opciones de configuración
Nombre | Por defecto | Cambiable | Historial de cambios
mysqlnd_memcache.enable | 1 | PHP_INI_SYSTEM | Available since 1.0.0

He aquí una breve explicación de las directivas de configuración.

mysqlnd_memcache.enable integer

Enables or disables the plugin. If disabled, the extension will not plug into mysqlnd to proxy internal mysqlnd C API calls.

Nota:

This option is mainly used by developers to build this extension statically into PHP. General users are encouraged to build this extension as a shared object, and to unload it completely when it is not needed.

Instalación
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

MySQL Memcache Plugin related

MYSQLND_MEMCACHE_DEFAULT_REGEXP (string)
Default regular expression (PCRE style) used for matching SELECT statements that will be mapped into a MySQL Memcache Plugin access point, if possible. It is also possible to use mysqlnd_memcache_set(), but the default approach is using this regular expression for pattern matching.

Assorted

The version number of this plugin can be obtained by using MYSQLND_MEMCACHE_VERSION or MYSQLND_MEMCACHE_VERSION_ID. MYSQLND_MEMCACHE_VERSION is the string representation of the numerical version number MYSQLND_MEMCACHE_VERSION_ID, which is an integer such as 10000. Developers can calculate the version number as follows.

Version (part) | Example
Major*10000 | 1*10000 = 10000
Minor*100 | 0*100 = 0
Patch | 0 = 0
MYSQLND_MEMCACHE_VERSION_ID | 10000

MYSQLND_MEMCACHE_VERSION (string)
Plugin version string, for example, "1.0.0-alpha".
MYSQLND_MEMCACHE_VERSION_ID (integer)
Plugin version number, for example, 10000.

Configuración en tiempo de ejecución
Mysqlnd_memcache Funciones
mysqlnd_memcache


Mysqlnd_memcache Funciones

Tabla de contenidos

  • mysqlnd_memcache_get_config — Returns information about the plugin configuration
  • mysqlnd_memcache_set — Associate a MySQL connection with a Memcache connection
Constantes predefinidas
mysqlnd_memcache_get_config
mysqlnd_memcache


Returns information about the plugin configuration

Mysqlnd_memcache Funciones
mysqlnd_memcache_set
Mysqlnd_memcache Funciones
PHP Manual

mysqlnd_memcache_get_config

(PECL mysqlnd_memcache >= 1.0.0)

mysqlnd_memcache_get_config — Returns information about the plugin configuration

Descripción

array mysqlnd_memcache_get_config ( mixed $connection )

This function returns an array of all mysqlnd_memcache related configuration information that is attached to the MySQL connection. This includes MySQL, the Memcache object provided via mysqlnd_memcache_set(), and the table mapping configuration that was automatically collected from the MySQL Server.

Parámetros

connection

A handle to a MySQL Server using one of the MySQL API extensions for PHP, which are PDO_MYSQL, mysqli or ext/mysql.

Valores devueltos

An array of mysqlnd_memcache configuration information on success, otherwise FALSE.

The returned array has these elements:

mysqlnd_memcache_get_config() array structure
Array Key | Description
memcached | Instance of Memcached associated to this MySQL connection by mysqlnd_memcache_set(). You can use this to change settings of the memcache connection, or directly by querying the server on this connection.
pattern | The PCRE regular expression used to match the SQL query sent to the server. Queries matching this pattern will be further analyzed to decide whether the query can be intercepted and sent via the memcache interface or whether the query is sent using the general MySQL protocol to the server. The pattern is either the default pattern (MYSQLND_MEMCACHE_DEFAULT_REGEXP) or it is set via mysqlnd_memcache_set().
mappings | An associative array with a list of all configured containers as they were discovered by this plugin. The key for these elements is the name of the container in the MySQL configuration. The value is described below. The contents of this field is created by querying the MySQL Server during association to MySQL and a memcache connection using mysqlnd_memcache_set().
mapping_query | An SQL query used during mysqlnd_memcache_set() to identify the available containers and mappings. The result of that query is provided in the mappings element.
Mapping entry structure
Array Key | Description
prefix | A prefix used while accessing data via memcache. With the MySQL InnoDB Memcache Deamon plugin, this usually begins with @@ and ends with a configurable separator. This prefix is placed in front of the key value while using the memcache protocol.
schema_name | Name of the schema (database) which contains the table being accessed.
table_name | Name of the table which contains the data accessible via memcache protocol.
id_field_name | Name of the database field (column) with the id used as key when accessing the table via memcache. Often this is the database field having a primary key.
separator The separator used to split the different field values. This is needed as memcache only provides access to a single value while MySQL can map multiple columns to this value.

Nota:

The separator, which can be set in the MySQL Server configuration, should not be part of any value retrieved via memcache because proper mapping can't be guaranteed.

fields | An array with the name of all fields available for this mapping.

Ejemplos

Ejemplo #1 mysqlnd_memcache_get_config() example

<?php
$mysqli = new mysqli("host", "user", "passwd", "database");
$memc = new Memcached();
$memc->addServer("host", 11211);
mysqlnd_memcache_set($mysqli, $memc);

var_dump(mysqlnd_memcache_get_config($mysqli));
?>

El resultado del ejemplo sería:

array(4) {
  ["memcached"]=>
  object(Memcached)#2 (0) {
  }
  ["pattern"]=>
  string(125) "/^\s*SELECT\s*(.+?)\s*FROM\s*`?([a-z0-9_]+)`?\s*WHERE\s*`?([a-z0-9_]+)`?\s*=\s*(?(?=["'])["']([^"']*)["']|([0-9e\.]*))\s*$/is"
  ["mappings"]=>
  array(1) {
    ["mymem_test"]=>
    array(6) {
      ["prefix"]=>
      string(13) "@@mymem_test."
      ["schema_name"]=>
      string(4) "test"
      ["table_name"]=>
      string(10) "mymem_test"
      ["id_field_name"]=>
      string(2) "id"
      ["separator"]=>
      string(1) "|"
      ["fields"]=>
      array(3) {
        [0]=>
        string(2) "f1"
        [1]=>
        string(2) "f2"
        [2]=>
        string(2) "f3"
      }
    }
  }
  ["mapping_query"]=>
  string(209) "    SELECT c.name,
                          CONCAT('@@', c.name, (SELECT value FROM innodb_memcache.config_options WHERE name = 'table_map_delimiter')) AS key_prefix,
                          c.db_schema,
                          c.db_table,
                          c.key_columns,
                          c.value_columns,
                          (SELECT value FROM innodb_memcache.config_options WHERE name = 'separator') AS sep
                     FROM innodb_memcache.containers c"
}

Ver también

  • mysqlnd_memcache_set() - Associate a MySQL connection with a Memcache connection

Mysqlnd_memcache Funciones
mysqlnd_memcache_set
Mysqlnd_memcache Funciones


Associate a MySQL connection with a Memcache connection

mysqlnd_memcache_get_config
Change History
Mysqlnd_memcache Funciones
PHP Manual

mysqlnd_memcache_set

(PECL mysqlnd_memcache >= 1.0.0)

mysqlnd_memcache_set — Associate a MySQL connection with a Memcache connection

Descripción

bool mysqlnd_memcache_set ( mixed $mysql_connection [, Memcached $memcache_connection [, string $pattern [, callback $callback ]]] )

Associate mysql_connection with memcache_connection using pattern as a PCRE regular expression, and callback as a notification callback or to unset the association of mysql_connection.

While associating a MySQL connection with a Memcache connection, this function will query the MySQL Server for its configuration. It will automatically detect whether the server is configured to use the InnoDB Memcache Daemon Plugin or MySQL Cluster NDB Memcache support. It will also query the server to automatically identify exported tables and other configuration options. The results of this automatic configuration can be retrieved using mysqlnd_memcache_get_config().

Parámetros

mysql_connection

A handle to a MySQL Server using one of the MySQL API extensions for PHP, which are PDO_MYSQL, mysqli or ext/mysql.

memcache_connection

A Memcached instance with a connection to the MySQL Memcache Daemon plugin. If this parameter is omitted, then mysql_connection will be unassociated from any memcache connection. And if a previous association exists, then it will be replaced.

pattern

A regular expression in Perl Compatible Regular Expression syntax used to identify potential Memcache-queries. The query should have three sub patterns. The first subpattern contains the requested field list, the second the name of the ID column from the query and the third the requested value. If this parameter is omitted or os set to NULL, then a default pattern will be used.

callback

A callback which will be used whenever a query is being sent to MySQL. The callback will receive a single boolean parameter telling if a query was sent via Memcache.

Valores devueltos

TRUE if the association or disassociation is successful, otherwise FALSE if there is an error.

Ejemplos

Ejemplo #1 mysqlnd_memcache_set() example with var_dump() as a simple debugging callback.

<?php
$mysqli = new mysqli("host", "user", "passwd", "database");
$memc = new Memcached();
$memc->addServer("host", 11211);
mysqlnd_memcache_set($mysqli, $memc, NULL, 'var_dump');

/* This query will be intercepted and executed via Memcache protocol */
echo "Sending query for id via Memcache: ";
$mysqli->query("SELECT f1, f2, f3 FROM test WHERE id = 1");

/* f1 is not configured as valid key field, this won't be sent via Memcache */
echo "Sending query for f1 via Memcache: ";
$mysqli->query("SELECT id FROM test WHERE f1 = 1");

mysqlnd_memcache_set($mysqli);

/* Now the regular MySQL protocol will be used */
echo "var_dump won't be invoked: ";
$mysqli->query("SELECT f1, f2, f3 WHERE id = 1");

?>

El resultado del ejemplo sería:

Sending query for id via Memcache: bool(true)
Sending query for f1 via Memcache: bool(false)
var_dump won't be invoked:

Ver también

  • mysqlnd_memcache_get_config() - Returns information about the plugin configuration

mysqlnd_memcache_get_config
Change History
Mysqlnd_memcache Funciones


Change History

Tabla de contenidos

  • PECL/mysqlnd_memcache 1.0 series

This change history is a high level summary of selected changes that may impact applications and/or break backwards compatibility.

See also the CHANGES file in the source distribution for a complete list of changes.

mysqlnd_memcache_set
PECL/mysqlnd_memcache 1.0 series
mysqlnd_memcache


PECL/mysqlnd_memcache 1.0 series

1.0.0-alpha

  • Release date: TBD
  • Motto/theme: Basic mapping of SQL SELECT to a MySQL Memcache plugin access.

The initial release does map basic SQL SELECT statements to a MySQL Memcache plugin access. This bares potential performance benefits as the direct key-value access to MySQL storage using the Memcache protocol is usually faster than using SQL access.

Change History
OCI8
Change History


Oracle OCI8

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Pruebas
    • Configuración en tiempo de ejecución
  • Constantes predefinidas
  • Ejemplos
  • Manejo de conexiones de OCI8 y Agrupamiento de conexiones
  • OCI8 Fast Application Notification (FAN) Support
  • OCI8 y rastreo dinámico de DTrace
  • Tipos de datos admitidos
  • Funciones de OCI8
    • oci_bind_array_by_name — Vincula un array de PHP con un parámetro de un array de Oracle PL/SQL
    • oci_bind_by_name — Vincula una variable de PHP a un parámetro de sustitución de Oracle
    • oci_cancel — Cancela la lectura del cursor
    • oci_client_version — Devuelve la versión de la biblioteca cliente de Oracle
    • oci_close — Cierra una conexión a Oracle
    • oci_commit — Consigna la transacción pendiente de la base de datos
    • oci_connect — Conecta a una base de datos de Oracle
    • oci_define_by_name — Asocia una variable de PHP con una columna para la obtención de consultas
    • oci_error — Devuelve el último error encontrado
    • oci_execute — Ejecuta una sentencia
    • oci_fetch_all — Obtiene múltiples filas de una consulta y las ubica en un array bidimiensional
    • oci_fetch_array — Devuelve la siguiente fila de una consulta como un array asociativo o numérico
    • oci_fetch_assoc — Devuelve la siguiente fila de una consulta como un array asociativo
    • oci_fetch_object — Devuelve la siguiente fila de una consulta como un objeto
    • oci_fetch_row — Devuelve la siguiente fila de una consulta como un array numérico
    • oci_fetch — Coloca la siguiente fila de una consulta en los búferes internos
    • oci_field_is_null — Comprueba si el campo es NULL
    • oci_field_name — Devuelve el nombre de un campo de una sentencia
    • oci_field_precision — Indica la precisión de un campo
    • oci_field_scale — Indica la escala de un campo
    • oci_field_size — Devuelve el tamaño de un campo
    • oci_field_type_raw — Indica el tipo de datos sin tratar de Oracle de un campo
    • oci_field_type — Devuelve el tipo de datos de un campo
    • oci_free_descriptor — Libera un descriptor
    • oci_free_statement — Libera todos los recursos asociados con una sentencia o cursor
    • oci_get_implicit_resultset — Devuelve el siguiente recurso de sentencia hija desde un recurso de sentencia padre que posee Conjuntos de resultados implícitos de Oracle Database 12c
    • oci_internal_debug — Habilita o deshabilita la salida de la depuración interna
    • oci_lob_copy — Copia objetos grandes
    • oci_lob_is_equal — Compara dos localizadores LOB/FILE
    • oci_new_collection — Asigna un nuevo objeto colección
    • oci_new_connect — Conectar al servidor de Oracle usando una conexión única
    • oci_new_cursor — Asigna y devuelve un nuevo cursor (gestor de sentencia)
    • oci_new_descriptor — Inicializa un nuevo descriptor vacío LOB o FILE
    • oci_num_fields — Devuelve el número de columnas del resultado de una sentencia
    • oci_num_rows — Devuelve el número de filas afectadas durante la ejecución de una sentencia
    • oci_parse — Prepara una sentencia de Oracle para su ejecución
    • oci_password_change — Cambia la contraseña de un usuario de Oracle
    • oci_pconnect — Conectar a una base de datos de Oracle usando una conexión persistente
    • oci_result — Devuelve el valor de un campo de la fila obtenida
    • oci_rollback — Revierte la transacción pendiente de la base de datos
    • oci_server_version — Devuelve la versión de Oracle Database
    • oci_set_action — Establece el nombre de una acción
    • oci_set_client_identifier — Establece el identificador del cliente
    • oci_set_client_info — Establece la información del cliente
    • oci_set_edition — Establece la edición de la base de datos
    • oci_set_module_name — Establece el nombre de un módulo
    • oci_set_prefetch — Establece el número de filas a precargar mediante consultas
    • oci_statement_type — Devuelve el tipo de una sentencia
  • OCI-Collection — La clase OCI-Collection
    • OCI-Collection::append — Añade un elemento a la colección
    • OCI-Collection::assign — Asigna un valor a la colección desde otra colección existente
    • OCI-Collection::assignElem — Asigna un valor a un elemento de la colección
    • OCI-Collection::free — Libera los recursos asociados con el objeto colección
    • OCI-Collection::getElem — Devuelve el valor de un elemento
    • OCI-Collection::max — Devuelve el número máximo de elementos de la colección
    • OCI-Collection::size — Devuelve el tamaño de la colección
    • OCI-Collection::trim — Elimina elementos del final de la colección
  • OCI-Lob — La clase OCI-Lob
    • OCI-Lob::append — Añade datos a un objeto grande (LOB) desde otro
    • OCI-Lob::close — Cierra un descriptor de LOB
    • OCI-Lob::eof — Comprueba la marca de final de fichero en un descriptor de objetos grandes
    • OCI-Lob::erase — Borra la porción especificada de los datos internos de un LOB
    • OCI-Lob::export — Exporta el contenido de un LOB a un fichero
    • OCI-Lob::flush — Vacía/escribe el búfer de un LOB al servidor
    • OCI-Lob::free — Libera los recursos asociados con el descriptor del LOB
    • OCI-Lob::getBuffering — Devuelve el estado actual del uso del búfer para un objeto grande
    • OCI-Lob::import — Importa datos de un fichero a un LOB
    • OCI-Lob::load — Devuelve el contenido de un objeto grande
    • OCI-Lob::read — Lee parte del objeto grande
    • OCI-Lob::rewind — Mueve el puntero interno al comienzo de un objeto grande
    • OCI-Lob::save — Guarda datos en un objeto grande
    • OCI-Lob::saveFile — Alias de OCI-Lob::import
    • OCI-Lob::seek — Ubica el puntero interno de un objeto grande
    • OCI-Lob::setBuffering — Cambia el estado actual del uso del búfer para objetos grandes
    • OCI-Lob::size — Devuelve el tamaño de un objeto grande
    • OCI-Lob::tell — Devuelve la posición actual del puntero interno de un objeto grande
    • OCI-Lob::truncate — Trunca un objeto grande
    • OCI-Lob::write — Escribe datos en un objeto grande
    • OCI-Lob::writeTemporary — Escribe un objeto grande temporal
    • OCI-Lob::writeToFile — Alias de OCI-Lob::export
  • Funciones y alias de OCI8 obsoletos
    • ocibindbyname — Alias de oci_bind_by_name
    • ocicancel — Alias de oci_cancel
    • ocicloselob — Alias de OCI-Lob::close
    • ocicollappend — Alias de OCI-Collection::append
    • ocicollassign — Alias de OCI-Collection::assign
    • ocicollassignelem — Alias de OCI-Collection::assignElem
    • ocicollgetelem — Alias de OCI-Collection::getElem
    • ocicollmax — Alias de OCI-Collection::max
    • ocicollsize — Alias de OCI-Collection::size
    • ocicolltrim — Alias de OCI-Collection::trim
    • ocicolumnisnull — Alias de oci_field_is_null
    • ocicolumnname — Alias de oci_field_name
    • ocicolumnprecision — Alias de oci_field_precision
    • ocicolumnscale — Alias de oci_field_scale
    • ocicolumnsize — Alias de oci_field_size
    • ocicolumntype — Alias de oci_field_type
    • ocicolumntyperaw — Alias de oci_field_type_raw
    • ocicommit — Alias de oci_commit
    • ocidefinebyname — Alias de oci_define_by_name
    • ocierror — Alias de oci_error
    • ociexecute — Alias de oci_execute
    • ocifetch — Alias de oci_fetch
    • ocifetchinto — Variante obsoleta de oci_fetch_array, oci_fetch_object, oci_fetch_assoc y oci_fetch_row
    • ocifetchstatement — Alias de oci_fetch_all
    • ocifreecollection — Alias de OCI-Collection::free
    • ocifreecursor — Alias de oci_free_statement
    • ocifreedesc — Alias de OCI-Lob::free
    • ocifreestatement — Alias de oci_free_statement
    • ociinternaldebug — Alias de oci_internal_debug
    • ociloadlob — Alias de OCI-Lob::load
    • ocilogoff — Alias de oci_close
    • ocilogon — Alias de oci_connect
    • ocinewcollection — Alias de oci_new_collection
    • ocinewcursor — Alias de oci_new_cursor
    • ocinewdescriptor — Alias de oci_new_descriptor
    • ocinlogon — Alias de oci_new_connect
    • ocinumcols — Alias de oci_num_fields
    • ociparse — Alias de oci_parse
    • ociplogon — Alias de oci_pconnect
    • ociresult — Alias de oci_result
    • ocirollback — Alias de oci_rollback
    • ocirowcount — Alias de oci_num_rows
    • ocisavelob — Alias de OCI-Lob::save
    • ocisavelobfile — Alias de OCI-Lob::import
    • ociserverversion — Alias de oci_server_version
    • ocisetprefetch — Alias de oci_set_prefetch
    • ocistatementtype — Alias de oci_statement_type
    • ociwritelobtofile — Alias de OCI-Lob::export
    • ociwritetemporarylob — Alias de OCI-Lob::writeTemporary
PECL/mysqlnd_memcache 1.0 series
Introducción
Extensiones de bases de datos específicas del proveedor


Introducción

Estas funciones permiten acceder a Oracle Database 12c, 11g, 10g, 9i y 8i. Admiten sentencias SQL y PL/SQL. Sus características básicas incluyen el control de transacciones, la vinculación de variables de PHP a parámetros de sustitución de Oracle, y la admisión de tipos de objetos grandes (LOB) y colecciones. Las características de escalabilidad de Oracle, como el Agrupamiento de Conexiones Residentes de Bases de Datos (DRCP de sus siglás en inglés), también están soportadas.

OCI8
Instalación/Configuración
OCI8


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Pruebas
  • Configuración en tiempo de ejecución
Introducción
Requerimientos
OCI8


Requerimientos

La extensión OCI8 1.4 está incluida con PHP 5.3, PHP 5.4 y PHP 5.5. También está disponible desde » PECL.Una nueva versión, OCI8 2.0, está disponible solamente desde » PECL. OCI8 1.4 requiere las bibliotecas cliente de Oracle 12c, 11g, 10g o 9iR2 y la instalación en PHP 4.3.9 o superior. OCI8 2.0 requiere las bibliotecas cliente de Oracle 12c, 11g o 10g y la instalalción en PHP 5.2 o superior.

Si Oracle Database está en la misma máquina que PHP, el software de bases de datos ya contiene las bibliotecas necesarias. Cuando PHP está en una máquina diferente, use las bibliotecas gratuitas de » Oracle Instant Client.

Para usar Oracle Instant Client, instale el fichero ZIP de Oracle Instant Client basic o basiclite o el paquete RPM. Al construir PHP desde el código fuente, también instale el fichero ZIP sdk o el paquete RPM devel.

Se ha de ejecutar PHP con la misma versión, o una más reciente, de las bibliotecas de Oracle con las que OCI8 fue construid.

En Windows, la DLL php_oci8 DLL necesita las bibliotecas cliente de Oracle desde la versión 10gR2 o superior. En PHP 5.3 hasta e incluyendo PHP 5.3.5, la DLL php_oci8_11g requiere las bibliotecas cliente de Oracle 11gR1 o superior. Desde PHP 5.3.6, la DLL php_oci8_11g requiere las bibliotecas cliente de Oracle 11gR2 o superior. La DLL php_oci8_12c de PECL requiere las bibliotecas cliente de Oracle 12cR1. Con algunas versiones de Instant Client se podrían necesitar además las bibliotecas mfc71.dll y msvcr71.dll.

Nota:

Si OCI8 usa las bibliotecas cliente 9iR2, PHP se puede conectar a Oracle Database 8i, 9iR2, 10g o 11g. Si OCI8 usa las bilbiotecas cliente 10gR2, la base de datos puede ser 9iR2, 10g, 11g o 12c. Si OCI8 usa las bibliotecas cliente 11g, la base de datos puede ser 9iR2, 10g, 11g o 12c. Si OCI8 usa las bibliotecas cliente 12c, la base de datos puede ser 10gR2, 11g o 12c.

Nota:

El soporte completo para las características de OCI8 solamente está disponible al usar la versión más reciente de las bibliotecas cliente y base de datos de Oracle.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Configurar PHP con OCI8

Revise la sección previa Requerimientos antes de configurar OCI8.

Para habilitar la extensión OCI8 se ha de configurar PHP con la opción --with-oci8 .

Antes de iniciar el servidor web, OCI8 normalmente necesita diversas variables de entorno de Oracle (véase abajo) para localizar bibliotecas, apuntar a ficheros de configuración, y establecer algunas propiedades básicas como el conjunto de caracteres usado por las bibliotecas de Oracle. Las variables deben ser establecidas antes de que se inicie cualquier proceso de PHP.

El binario de PHP debe vincularse con la misma, o más reciente, versión mayor de las bibliotecas de Oracle con las que se configuró. Por ejemplo, si se construyó OCI8 con las bibliotecas de Oracle 11.2, entonces PHP debería también PHP usarse y ejecutarse con la bibliotecas de Oracle 11.2. Las aplicaciones de PHP pueden conectarse a otras versiones Oracle Database, ya que Oracle posee compatibilidad cliente-servidor entre versiones.

Instalar OCI8 con una extensión compartida

La opciones de configuración shared construye OCI8 como una biblioteca compartida que puede ser cargada dinámicamente en PHP. La construcción de una extensión compartida permite que OCI8 sea actualizada fácilmente sin que tenga impacto sobre el resto de PHP.

Se ha de configurar OCI8 usando una de las siguientes opciones de configuración:

  • Si se usan las bibliotecas » Oracle Instant Client gratuitas, se ha de hacer lo siguiente:

    ./configure --with-oci8=shared,instantclient,/ruta/a/instant/client/lib

    Si Instant Client está instalado desde ficheros ZIP, asegúrese de crear el enlace simbólico de la biblioteca primero, por ejemplo ln -s libclntsh.so.12.1 libclntsh.so.

    Si se usa una instalación de Oracle Instant Client basada en RPM, la línea de confiugraicón se parecerá a esta:

    ./configure --with-oci8=shared,instantclient,/usr/lib/oracle/<version>/client/lib

    Por ejemplo, --with-oci8=shared,instantclient,/usr/lib/oracle/12.1/client/lib

    Nótese que el soporte para Oracle Instant Client apareció primero en PHP 4.3.11 y 5.0.4 y que originalmente se utilizaba la opción --with-oci8-instant-client para configurar PHP.

  • Si se usa una base de datos de Oracle o una instalación completa de Oracle Client, la línea ha de ser:

    ./configure --with-oci8=shared,$ORACLE_HOME

    Asegúrese de que el usuario del servidor web (nobody, www) tiene acceso a las biblitecas, a los ficheros de inicialización y a tnsnames.ora (si se utiliza) bajo el directorio $ORACLE_HOME. Con Oracle 10gR2 podría ser necesario ejecutar la utilidad $ORACLE_HOME/install/changePerm.sh para proporcionar acceso al directorio.

Después de la configuración, siga los procedimientos habituales de construcción de PHP, p.ej., make install. Se creará la extensión compartida oci8.so. Podría ser necesario moverla manualmente al directorio de extensiones de PHP, especificado por la opción extension_dir del fichero php.ini.

Para completar la instalación de OCI8, edite php.ini y añada la línea:

extension=oci8.so

Instalar OCI8 como una extensión compilada estáticamente

Se ha de configurar PHP para incluir OCI8 usando una de las siguientes opciones de configuración:

  • Si se usa Oracle Instant Client, se ha de utilizar lo siguiente:

    ./configure --with-oci8=instantclient,/path/to/instant/client/lib

  • Si se usa una base de datos de Oracle o una instalación completa de Oracle Client, la línea ha de ser:

    ./configure --with-oci8=$ORACLE_HOME

Después de la configuración, siga los procedimientos habituales de construcción de PHP, p.ej., make install. Después de una compilación satisfactoria no es necesario añadir oci8.so a php.ini. No se requieren pasos adicionales para la construcción.

Instalar OCI8 desde PECL

La extensión OCI8 se puede añadir a una instalación de PHP existente, automática o manualmente, desde » PECL.

Para una instalación automática, siga estos pasos:

  • Si está detrás de un cortafuegos, establezca el proxy de PEAR, por ejemplo:

    pear config-set http_proxy http://mi-proxy.example.com:80/

  • Ejecute

    pecl install oci8

    Cuando se le pregunte, introduzca el valor de $ORACLE_HOME, o instantclient,/path/to/instant/client/lib.

    Nota: No introduzca la variable $ORACLE_HOME ya que no será expandida. En su lugar, introduzca la ruta real del directorio inicial de Oracle.

Para una instalación manual cuando el comando pecl no esté disponible, descargue el paquete OCI8 de PECL, p.ej. oci8-1.4.10.tgz.

  • Extraiga el paquete:

    tar -zxf oci8-1.4.10.tgz
cd oci8-1.4.10

  • Prepare el paquete:

    phpize

  • Configure el paquete, usando $ORACLE_HOME o Instant Client

    ./configure -with-oci8=shared,$ORACLE_HOME

    o

    ./configure -with-oci8=shared,instantclient,/path/to/instant/client/lib

  • Instale el paquete:

    make install

Después de la instalación manual o automática, edite el fichero php.ini y añada la línea:

extension=oci8.so

Asegúrese de que la directiva de php.ini extension_dir está establecida al directorio donde oci8.so fue instalado.

Instalar OCI8 en Windows

Al usar las bibiotecas cliente de Oracle 10gR2 en Windows, descomente la línea del php.ini extension=php_oci8.dll. Al usar las bibliotecas cliente de Oracle 11gR2 o posterior, descomente extension=php_oci8_11g.dll o extension=php_oci8.dll. Con las bibliotecas de Oracle 12c use extension=php_oci8_12c.dll o extension=php_oci8_11g.dll o extension=php_oci8.dll. Solamente puede estar habilitada una de estas DLLs al mismo tiempo. Las DLLs de versiones posteriores pueden contener más funcionalidad. No todas las DLLs pueden estar disponibles para todas las versiones PHP. Asegúrese de que extension_dir está establecido al directorio que contiene las DDLs de extensiones de PHP.

Si usa Instant Client, establezca la variable de entorno de sistema PATH al directorio de la biblioteca de Oracle.

Establecer el entorno de Oracle

Antes de usar esta extensión, asegúrese de que las variables de entorno de Oracle están establecidas apropiadamente para el usuario del demonio web. Si el servidor web se inicia automáticamente durante el arranque, asegúrese de que el entorno de tiempo de arranque está también configurado correctamente.

Nota:

No establezca las variables de entorno de Oracle usando putenv() en un script de PHP, ya que la bibliotecas de Oracle podrían ser cargadas e inicializadas antes de que el script se ejecute. Las variables establecidas con putenv() podrían ocasionar conflictos, fallas, o comportamientos impredecibles. Algunas funciones podrían funcionar, mientras que otras darían errores imperceptibles. Las variables deberían estar configuradas antes de que se inicie el servidor web.

En Red Hat Linux y sus variantes, exporte las variables al final de /etc/sysconfig/httpd. Otros sistemas con Apache 2 podrían usar un script envvars en el directorio bin de Apache. Una tercera opción, la directiva SetEnv de Apache en httpd.conf, podría funcionar en algunos sistemas, pero se sabe que es insuficiente en otros.

Para verificar que las variables de entorno están establecidas correctamente, use phpinfo() y compruebe la sección Environment (no la de Apache) que contiene las variables requeridas.

Las variables que podrían ser necesarias están incluidas en la siguiente tabla. Consulte la documentación de Oracle para más información sobre todas las variables disponibles.

Variables de entorno comunes de Oracle
Nombre | Propósito
ORACLE_HOME | Contiene el directorio del software completo de Oracle Database. No la establezca cuando use Oracle Instant Client ya que no es necesaria y podría causar problemas de instalación.
ORACLE_SID | Contiene el nombre de la base de datos de la máquina local a la que conectarse. Na hay necesidad de establecerla si se usa Oracle Instant Client, o si siempre se proporciona el parámetro de conexión a oci_connect().
LD_LIBRARY_PATH | Establézcala (o su equivalente de plataforma, como DYLD_LIBRARY_PATH, LIBPATH, o SHLIB_PATH) a la ubicación de las bibliotecas de Oracle, por ejemplo, $ORACLE_HOME/lib o /usr/lib/oracle/11.1/client/lib. Esta variable no es necesaria si las bibliotecas está localizadas mediante un mecanismo de búsqueda diferente, como con ldconfig o LD_PRELOAD.
NLS_LANG | Esta es la variable principal para configurar el conjunto de caracteres y la información de globalización usados por las bibliotecas de Oracle.
ORA_SDTZ | Establece la zona horaria de la sesión de Oracle.
TNS_ADMIN | Contiene el directorio donde residen los ficheros de configuración de Oracle Net Services, tales como tnsnames.ora y sqlnet.ora. No es necesaria si la cadena de conexión oci_connect() utiliza la sintaxis de nombramiento sencillo de conexiones, como localhost/XE. No es necesaria si los ficheros de configuración de red está en las ubicaciones predeterminadas, como $ORACLE_HOME/network/admin o /etc.
Las variables de entorno de Oracle que se usan con menos frecuencia incluyen TWO_TASK, ORA_TZFILE, y las diversas configuraciones de globalización de Oracle como NLS* y las variables ORA_NLS_*.

Resolución de problemas

El problema más común al instalar OCI8 es no tener el entorno de Oracle correctamente establecido. Esto, normalmente, aparece como un problema al utilizar oci_connect() o oci_pconnect(). El error podría ser un error de PHP tal como Call to undefined function oci_connect(), un error de Oracle como ORA-12705, o incluso que Apache falle. Compruebe los ficheros de registro de Apache para los errores de arranque y lea las secciones sobre la resolución de este problema.

Mientras que los errores de red como ORA-12154 u ORA-12514 indican un problema con el nombramiento de redes o de configuraicón de Oracle, la raíz de la causa podría ser debida a que el entorno de PHP no esté correctamente configurado, y por lo tanto, las bibliotecas de Oracle no son capaces de localizar el fichero de configuración tnsnames.ora.

En Windows, el tener múltiples versiones de Oracle en la misma máquina puede ocasionar fácilmente que las bibliotecas fallen, a menos que se asegure de que PHP utilice solamente la versión correcta de Oracle.

Una utilidad para examinar las bibliotecas que están siendo buscadas y cargadas puede ayudar a resolver problemas de bibliotecas ausentes o que fallen, particularmente en Windows.

Nota: Si el servidor web no se inicia o falla durante el arranque

Compruebe que Apache está vinculado con la biblioteca pthread:

# ldd /www/apache/bin/httpd
  libpthread.so.0 => /lib/libpthread.so.0 (0x4001c000)
  libm.so.6 => /lib/libm.so.6 (0x4002f000)
  libcrypt.so.1 => /lib/libcrypt.so.1 (0x4004c000)
  libdl.so.2 => /lib/libdl.so.2 (0x4007a000)
  libc.so.6 => /lib/libc.so.6 (0x4007e000)
  /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

Si libpthread no se muestra, reinstale Apache:

# cd /usr/src/apache_1.3.xx
# make clean
# LIBS=-lpthread ./config.status
# make
# make install

Por favor, observe que en algunos sistemas como UnixWare, es libthread en lugar de libpthread. PHP y Apache tienen que estar configurados con EXTRA_LIBS=-lthread.

Requerimientos
Pruebas
Instalación/Configuración


Pruebas

El conjunto de pruebas de OCI8 está en el directorio ext/oci8/tests. Después de ejecutar las pruebas de OCI8, este directorio también contendrá los registros de cualquier fallo.

Antes de ejecutar las pruebas de PHP, edite details.inc y establezca $user, $password y la cadena de conexión $dbase. El conjunto de pruebas de OCI8 ha sido desarrollado usando la cuenta SYSTEM. Algunas pruebas fallarán si el usuario de las mismas no tiene permisos equivalentes.

Si se está comprobando Oracle Database Resident Connection Pooling, establezca $test_drcp a TRUE y asegúrese de que la cadena de conexión utiliza un servidor de la agrupación DRCP apropiado.

Una alternativa a editar details.inc es el establecimiento de variables de entorno, por ejemplo:

    $ export PHP_OCI8_TEST_USER=system
    $ export PHP_OCI8_TEST_PASS=oracle
    $ export PHP_OCI8_TEST_DB=localhost/XE
    $ export PHP_OCI8_TEST_DRCP=FALSE
Observe que en algunas shell, estas variables no se propagan correctamente por proceso de PHP y que las pruebas fallarán al conectar si se utiliza este método.

Lo siguiente es establecer cualquier entorno necesario para la base de datos de Oracle. Con Oracle 10gR2 XE, haga lo siguiente:

    $ . /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh

Con Oracle 11gR2 XE:

    $ . /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh

Para otras versiones de la base de datos de Oracle, haga:

    $ . /usr/local/bin/oraenv

Algunas shells requieren que php.ini contenga E en el parámetro variables_order, por ejemplo:

    variables_order = "EGPCS"

Ejecute todas las pruebas de PHP con:

    $ cd your_php_src_directory
    $ make test
o ejecute únicamente las pruebas de OCI8 con
    $ cd your_php_src_directory
    $ make test TESTS=ext/oci8

Cuando hayan finalizado las pruebas, revise cualquier fallo. En sistemas lentos, algunas pruebas podrían tomar más tiempo que el tiempo de espera de prueba predeterminado de run-tests.php. Para corregir esto, establezca la variable de entorno TEST_TIMEOUT a un número mayor de segundos.

En máquinas rápidas con una base de datos local configurada para una carga ligera (p.ej. Oracle 11gR2 XE), algunas pruebas podrían ocasionar los errores ORA-12516 u ORA-12520. Para evitarlo, aumente el parámetro PROCESSES de la base de datos siguiendo estos pasos:

Conéctese como propietario del software de Oracle:

    $ su - oracle

Establezca el entorno de Oracle necesario con oracle_env.sh u oraenv, tal como está descrito arriba.

Inicie la herramienta de línea de comandos SQL*Plus y aumente PROCESSES

    $ sqlplus / as sysdba
    SQL> alter system set processes=100 scope=spfile

Reinicie la base de datos:

    SQL> startup force

Instalación
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de OCI8
Nombre | Por defecto | Cambiable | Historial de cambios
oci8.connection_class | "" | PHP_INI_ALL | Disponible desde PHP 5.3 (PECL OCI8 1.3).
oci8.default_prefetch | "100" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.2 (PECL OCI8 1.1).
oci8.events | Off | PHP_INI_SYSTEM | Disponible desde PHP 5.3 (PECL OCI8 1.3).
oci8.max_persistent | "-1" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.2 (PECL OCI8 1.1).
oci8.old_oci_close_semantics | Off | PHP_INI_SYSTEM | Disponible desde PHP 5.1.2 (PECL OCI8 1.1).
oci8.persistent_timeout | "-1" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.2 (PECL OCI8 1.1).
oci8.ping_interval | "60" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.2 (PECL OCI8 1.1).
oci8.privileged_connect | Off | PHP_INI_SYSTEM | Disponible desde PHP 5.1.2 (PECL OCI8 1.1).
oci8.statement_cache_size | "20" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.2 (PECL OCI8 1.1).

He aquí una breve explicación de las directivas de configuración.

oci8.connection_class string

Este texto definido por el usuario es utilizado por las conexiones de Oracle 11g Database Resident Connection Pooling (DRCP) para subparticionar la agrupación de conexiones. Permite conexiones persistentes de OCI8 desde una aplicación para reutilizar las sesiones de la base de datos de un script anterior de PHP, proporcionando una mejor escalabilidad. Cuando una aplicación usa un proceso de una agrupación de una base de datos anteriormente usado con una clase de conexión diferente, las configuraciones de sesión, tales como el formato de fecha predeterminado de Oracle, son reiniciadas. Esto previene de la compartición accidental de información entre diferentes aplicaciones.

El valor puede establecerse en tiempo de ejecución con ini_set() entes de la conexión.

Para usar DRCP, OCI8 debe vincularse con las bibliotecas de Oracle 11g, y la base de datos debe ser Oracle 11g. La agrupación de conexiones debe habilitarse en la base de datos, oci8.connection_class debería establecerse a la misma cadena para todos los servidores web que ejecuten la misma aplicación, y la cadena de conexión de OCI8 debe especificar el suo de un servidor de la agrupación.

oci8.default_prefetch int

Esta opción establece el número predeterminado de filas extra que se obtendrán y almacenarán en caché automáticamente siempre que se haga una petición de bajo nivel para datos de la base de datos. Establecer un valor de 0 desactiva la precarga.

El valor de la precarga no altera el número de filas que son devueltas al usuario por funciones como oci_fetch_array(); la precarga y el almacenamiento en caché de filas son manejados internamente por OCI8.

El valor puede ser establecido para cada sentencia con oci_set_prefetch() antes de la ejecución de dicha sentencia.

En PHP 5.3 (PECL OCI8 1.3.4), el valor predeterminado estaba aumentado desde 10 hasta 100.

En PHP 5.3.2 (PECL OCI8 1.4), el valor mínimo establecible estaba reducido desde 1 hasta 0, permitiendo la que precarga se desactivara.

Al usar Oracle Database 12c, el valor de precarga establecido por PHP puede ser sobrescrito por el fichero de configuración del cliente oraaccess.xml de Oracle. Consulte la documentación de Oracle para más detalles.

Nota: Un valor de precarga más alto puede mejorar el rendimiento, con el coste del aumento del uso de memoria. Para consultas que devuelven gran cantidad de datos, el beneficio del rendimiento puede ser significativo.

oci8.events boolean

Usar On permite que PHP sea informado de los eventos Fast Application Notification (FAN) de la base de datos.

Sin FAN, cuando una instancia de una base de datos o un nodo de una máquina fallan de forma impredecible, las aplicaciones de PHP podrían bloquearse esperando una respuesta de la base de datos hasta que el tiempo de espera de TCP expire. Con los eventos FAN, las aplicaciones de PHP son informadas rápidamente de fallos que afectan a sus conexiones de bases de datos establecidas. La extensión OCI8 limpiará las conexiones inservibles de la caché de conexiones persistentes.

Cuando se usa On, la base de datos debe también estar configurada para enviar eventos FAN.

El soporte para FAN está disponible cuando OCI8 está vinculada con la biblioteca de Oracle 10gR2 (o posterior) y conectada con Oracle Database 10gR2 (o posterior).

oci8.max_persistent int

El número máximo de conexiones persistentes de OCI8 por proceso de PHP. Establecer esta opción a -1 significa que no existe límite.

oci8.old_oci_close_semantics boolean

Esta opción controla el comportamiento de oci_close(). Habilitarla significa que oci_close() no hará nada; la conexión no será cerrada hasta que finalice el script. Esto es debido únicamente por razones de retrocompatibilidad. Si fuera necesario habilitar esta opción, se recomienda encarecidamente ajustar las llamadas de oci_close() en la aplicación en lugar de habilitar esta opción.

oci8.persistent_timeout int

El número máximo de segundos que a un proceso de PHP se le permite mantener una conexión persistente inactiva abierta. Establecer esta opción a -1 significa que las conexiones persistentes inactivas serán retenidas hasta que el proceso de PHP finalice o la conexión sea explícitamente cerrada con oci_close().

Nota: En PHP, la caducidad de los recursos inactivos no está basada en alarmas. Esto ocurre cuando PHP termina de procesar un script y de comprobar la marca de tiempo del último recurso utilizado. Por lo tanto, existe una paradoja donde las conexiones inactivas solamente son cerradas cuando hay alguna actividad (aunque no necesariamente relacionada con OCI8) en el proceso de PHP. Si hay más de un proceso de PHP, cada uno debe ser activado individualmente para desencadenar la caducidad de sus recursos inactivos. La introducción de Database Resident Connection Pooling (DRCP) en Oracle 11g resuleve los problmas de memoria y de recursos que oci8.max_persistent y oci8.persistent_timeout intentaron superar anteriormente.

Nota: En PHP 5.3 (PECL OCI8 1.3), las conexiones persistentes pueden ser cerradas con oci_close().

oci8.ping_interval int

El número de segundos que deben transcurrir antes de emitir un ping durante la ejecución de oci_pconnect(). Un ping se asegura de que la conexión de la base de datos es válida. Cuando se establece a 0, las conexiones persistentes serán comprobadas cada vez que se llame a oci_pconnect(). Para deshabilitar estas comprobaciones completamente, se ha de establecer esta opción a -1.

Nota: La deshabilitación de las comprobaciones permite a oci_pconnect() operar con la mayor eficiencia, aunque PHP podría no ser capaz de detectar conexiones inutilizables, como las causadas por la caída de la red, o si la base de datos de Oracle se ha venido abajo mientras PHP sigue conectado, hasta que la conexión se use después en el script. Consulte la documentación de oci_pconnect() para más información.

oci8.privileged_connect boolean

Esta opción permite que las conexiones usen las credenciales privilegiadas externas OCI_SYSOPER u OCI_SYSDBA.

Nota: El establecerla a On puede permitir a los scripts de servidores web, ejecutados con los privilegios apropiados del SO, conectarse como usuarios privilegiados de la base de datos sin requerir una contraseña de la misma. Esto puede ser un riesgo para la seguridad.

oci8.statement_cache_size int

Esta opción habilita el almacenamiento en caché de sentencias, y especifica cuántas almacenar. Para deshabilitar dicho almacenamiento se ha de establecer esta opción a 0.

El almacenamiento en caché de sentencias elimina la necesidad de transmitir el texto de las mismas a la base de datos y la necesidad de volver a transmitir cualquier metadato sobre dichas sententencias a PHP. Esto puede mejorar significativamente el rendimiento global del sistema en aplicaciones que reutilicen sentencias durante el tiempo de vida de una conexión. Algunos "cursores" extra de la base de datos podrían manetenerse abiertos bajo el supuesto de que las sentencias serán reutilizadas.

Establezca este valor al tamaño del conjunto de trabajo de sentencias usadas por la aplicación. Establcer un valor demasiado pequeño puede causar que se vacíen de la caché dichas sentencias antes de que sean reutilizadas.

Esta opción se usa mayormente con conexiones persistentes.

Al usar Oracle Database 12c, este valor puede ser sobrescrito y ajustado automáticamente por el fichero de del cliente oraaccess.xml de Oracle. Consulte la documentación de Oracle para más detalles.

Pruebas
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Modos de funciones y métodos de OCI8
Constante | Descripción
OCI_ASSOC | Usada con oci_fetch_all() y con oci_fetch_array() para obtener los resultados como un array asociativo.
OCI_BOTH | Usada con oci_fetch_all() y con oci_fetch_array() para obtener los resultados como un array con índeces tanto asociativos como numéricos.
OCI_COMMIT_ON_SUCCESS | El modo de ejecución de sentencias para oci_execute(). Automáticamente consolida los cambios cuando la sentencia ha tenido éxito.
OCI_CRED_EXT | Usada con oci_connect() para utilizar la autenticación externa de Oracle o la del SO. Introducida en PHP 5.3 y PECL OCI8 1.3.4.
OCI_DEFAULT | Véase OCI_NO_AUTO_COMMIT.
OCI_DESCRIBE_ONLY | Modo de ejecución de sentencias para oci_execute(). Se ha de usar este modo si se quieren obtener metadatos tales como los nombres de las columnas, pero no se desea obtener filas de la consulta.
OCI_EXACT_FETCH | Obsoleta. El modo de obtención de sentencias. Usada cuando la aplicación conoce de antemano exactamente cuántas filas se obtendrán. Este modo desactiva la precarga del modo de Oracle versión 8 o posterior. El cursor es cancelado después de obtener las filas deseadas, lo que puede reducir el uso de recursos por parte del servidor.
OCI_FETCHSTATEMENT_BY_COLUMN | Modo predetermiado de oci_fetch_all().
OCI_FETCHSTATEMENT_BY_ROW | Modo alternativo de oci_fetch_all().
OCI_LOB_BUFFER_FREE | Usada con OCI-Lob::flush para liberar los búferes utilzados.
OCI_NO_AUTO_COMMIT | Modo de ejecución de sentencias para oci_execute(). La transacción no se consolida automáticamente cuando se usa este modo. Para una mejor legibilidad en código nuevo, use este valor en lugar de la cosntante antigua y equivalente OCI_DEFAULT. Introducida en PHP 5.3.2 (PECL OCI8 1.4).
OCI_NUM | Usada con oci_fetch_all() y con oci_fetch_array() para obtener los resultados como un array enumerado.
OCI_RETURN_LOBS | Usada con oci_fetch_array() para obtener el valor de los datos del LOB en lugar del descriptor.
OCI_RETURN_NULLS | Usada con oci_fetch_array() para obtener elementos de array vacíos si el valor de los elementos de la fila es NULL.
OCI_SEEK_CUR | Usada con OCI-Lob::seek para establecer la posición de búsqueda.
OCI_SEEK_END | Usada con OCI-Lob::seek para establecer la posición de búsqueda.
OCI_SEEK_SET | Usada con OCI-Lob::seek para establecer la posición de búsqueda.
OCI_SYSDATE | Obsoleta.
OCI_SYSDBA | Usada con oci_connect() para conectarse con el privilegio SYSDBA. El ajuste de php.ini oci8.privileged_connect debería estar habilitado para poder usar esta constante.
OCI_SYSOPER | Usada con oci_connect() para conectarse con el privilegio SYSOPER. El ajuste de php.ini oci8.privileged_connect debería estar habilitado para poder usar esta constante.
OCI_TEMP_BLOB | Usada con OCI-Lob::writeTemporary para indicar que debería crearse un BLOB temporal.
OCI_TEMP_CLOB | Usada con OCI-Lob::writeTemporary para indicar que debería crearse un CLOB temporal.
Tipos vinculados y definidos de OCI8
Constante | Descripción
OCI_B_BFILE | Usada con oci_bind_by_name() cuando se vinculan BFILEs.
OCI_B_BIN | Usada con oci_bind_by_name() para vincular valores RAW.
OCI_B_BLOB | Usada con oci_bind_by_name() cuando se vinculan BLOBs.
OCI_B_CFILEE | Usada con oci_bind_by_name() cuando se vinculan CFILEs.
OCI_B_CLOB | Usada con oci_bind_by_name() cuando se vinculan CLOBs.
OCI_B_CURSOR | Usada con oci_bind_by_name() cuando se vinculan cursores, previamente asignados con oci_new_descriptor().
OCI_B_INT | Usada con oci_bind_array_by_name() para vincular arrays de tipo INTEGER.
OCI_B_NTY | Usada con oci_bind_by_name() cuando se vinculan tipos de datos con nombre. Nota: en PHP < 5.0 se le denominaba OCI_B_SQLT_NTY.
OCI_B_NUM | Usada con oci_bind_array_by_name() para vincular arrays de tipo NUMBER.
OCI_B_ROWID | Usada con oci_bind_by_name() cuando se vinculan ROWIDs.
SQLT_AFC | Usada con oci_bind_array_by_name() para vincular arrays de tipo CHAR.
SQLT_AVC | Usada con oci_bind_array_by_name() para vincular arrays de tipo VARCHAR2.
SQLT_BDOUBLE | No soportada.
SQLT_BFILEE | Lo mismo que OCI_B_BFILE.
SQLT_BFLOAT | No soportada.
SQLT_BIN | Lo mismo que OCI_B_BIN.
SQLT_BLOB | Lo mismo que OCI_B_BLOB.
SQLT_CFILEE | Lo mismo que OCI_B_CFILEE.
SQLT_CHR | Usada con oci_bind_array_by_name() para vincular arrays de tipo VARCHAR2. También se usa con oci_bind_by_name().
SQLT_CLOB | Lo mismo que OCI_B_CLOB.
SQLT_FLT | Usada con oci_bind_array_by_name() para vincular arrays de tipo FLOAT.
SQLT_INT | Lo mismo que OCI_B_INT.
SQLT_LBI | Usada con oci_bind_by_name() para vincular valores LONG RAW.
SQLT_LNG | Usada con oci_bind_by_name() para vincular valores LONG.
SQLT_LVC | Usada con oci_bind_array_by_name() para vincular arrays de tipo LONG VARCHAR.
SQLT_NTY | Lo mismo que OCI_B_NTY.
SQLT_NUM | Lo mismo que OCI_B_NUM.
SQLT_ODT | Usada con oci_bind_array_by_name() para vincular arrays de tipo LONG.
SQLT_RDD | Lo mismo que OCI_B_ROWID.
SQLT_RSET | Lo mismo que OCI_B_CURSOR.
SQLT_STR | Usada con oci_bind_array_by_name() para vincular arrays de tipo STRING.
SQLT_UIN | No soportada.
SQLT_VCS | Usada con oci_bind_array_by_name() para vincular arrays de tipo VARCHAR.
Tipos de descriptores de OCI8
Constante | Descripción
OCI_DTYPE_FILE | Esta bandera indica a oci_new_descriptor() que inicialice un nuevo descriptor FILE.
OCI_DTYPE_LOB | Esta bandera indica a oci_new_descriptor() que inicialice un nuevo descriptor LOB.
OCI_DTYPE_ROWID | Esta bandera indica a oci_new_descriptor() que inicialice un nuevo descriptor ROWID.
OCI_D_FILE | Lo mismo que OCI_DTYPE_FILE.
OCI_D_LOB | Lo mismo que OCI_DTYPE_LOB.
OCI_D_ROWID | Lo mismo que OCI_DTYPE_ROWID.
Configuración en tiempo de ejecución
Ejemplos
OCI8


Ejemplos

En estos ejemplos se realiza la conexión con el usuario HR, que es el esquema de ejemplo "Human Resources" proporcionado con la base de datos Oracle. Podría ser necesario desbloquear la cuenta y reiniciar la contraseña antes de poder usarla.

Los ejemplos se conectan a la base de datos XE de su máquina. Cambie la cadena de conexión a su base de datos antes de ejecutar los ejemplos.

Ejemplo #1 Consulta básica

Este ejemplo muestra la realización de consultas y la visualización de resultados. Las sentencias en OCI8 usan la secuencia de pasos 'preparación-ejecución-obtención'.

<?php

$conexión = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conexión) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Preparar la sentencia
$stid = oci_parse($conexión, 'SELECT * FROM departments');
if (!$stid) {
    $e = oci_error($conexión);
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Realizar la lógica de la consulta
$r = oci_execute($stid);
if (!$r) {
    $e = oci_error($stid);
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Obtener los resultados de la consulta
print "<table border='1'>\n";
while ($fila = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    print "<tr>\n";
    foreach ($fila as $elemento) {
        print "    <td>" . ($elemento !== null ? htmlentities($elemento, ENT_QUOTES) : "") . "</td>\n";
    }
    print "</tr>\n";
}
print "</table>\n";

oci_free_statement($stid);
oci_close($conexión);

?>

Ejemplo #2 Inserción con variables vinculadas

Las variables vinculadas mejoran el rendimiento permitiendo la reutilización de contextos ejecutados y cachés. Las variables vinculadas mejoran la seguridad previniendo algunos tipos de problemas de Inyecciones SQL.

<?php

// Antes de ejecutarlo, cree la tabla:
//   CREATE TABLE MYTABLE (mid NUMBER, myd VARCHAR2(20));

$conexión = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conexión) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conexión, 'INSERT INTO MYTABLE (mid, myd) VALUES(:myid, :mydata)');

$id = 60;
$datos = 'Algunos datos';

oci_bind_by_name($stid, ':myid', $id);
oci_bind_by_name($stid, ':mydata', $datos);

$r = oci_execute($stid);  // ejecuta y consigna

if ($r) {
    print "Una fila insertada";
}

oci_free_statement($stid);
oci_close($conexión);

?>

Ejemplo #3 Insertar datos en una columna CLOB

Para datos grandes use los tipos objeto grande binario (BLOB) u objeto grande de caracteres (CLOB). Este ejemplo usa CLOB.

<?php

// Antes de ejecutarlo, cree la tabla:
//     CREATE TABLE MYTABLE (mykey NUMBER, myclob CLOB);

$conexión = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conexión) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$mykey = 12343;  // clave arbitraria para este ejemplo;

$sql = "INSERT INTO mytable (mykey, myclob)
        VALUES (:mykey, EMPTY_CLOB())
        RETURNING myclob INTO :myclob";

$stid = oci_parse($conexión, $sql);
$clob = oci_new_descriptor($conexión, OCI_D_LOB);
oci_bind_by_name($stid, ":mykey", $mykey, 5);
oci_bind_by_name($stid, ":myclob", $clob, -1, OCI_B_CLOB);
oci_execute($stid, OCI_NO_AUTO_COMMIT); // utilice OCI_DEFAULT para PHP <= 5.3.1
$clob->save("Una cadena muy grande");

oci_commit($conexión);

// Obtener los datos CLOB

$consulta = 'SELECT myclob FROM mytable WHERE mykey = :mykey';

$stid = oci_parse ($conexión, $consulta);
oci_bind_by_name($stid, ":mykey", $mykey, 5);
oci_execute($stid);

print '<table border="1">';
while ($fila = oci_fetch_array($stid, OCI_ASSOC)) {
    $resultado = $fila['MYCLOB']->load();
    print '<tr><td>'.$resultado.'</td></tr>';
}
print '</table>';

?>

Ejemplo #4 Usar una función almacenada de PL/SQL

Se debe vincular una variable para el valor de retorno y, opcionalmente, para cualquier argumento de la función de PL/SQL.

<?php

/*
  Antes de ejecutar el programa de PHP, cree una función almacenada en
  SQL*Plus o SQL Developer:

  CREATE OR REPLACE FUNCTION myfunc(p IN NUMBER) RETURN NUMBER AS
  BEGIN
      RETURN p * 3;
  END;

*/

$conexión = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conexión) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$p = 8;

$stid = oci_parse($conexión, 'begin :r := myfunc(:p); end;');
oci_bind_by_name($stid, ':p', $p);
oci_bind_by_name($stid, ':r', $r, 40);

oci_execute($stid);

print "$r\n";   // imprime 24

oci_free_statement($stid);
oci_close($conexión);

?>

Ejemplo #5 Utilizar un procedimiento almacenado de PL/SQL

Con los procedimientos almacenados se deberían vincular variables para cualquier argumento.

<?php

/*
  Antes de ejecutar el programa de PHP, cree un procedimiento almacenado en
  SQL*Plus or SQL Developer:

  CREATE OR REPLACE PROCEDURE myproc(p1 IN NUMBER, p2 OUT NUMBER) AS
  BEGIN
      p2 := p1 * 2;
  END;

*/

$conexión = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conexión) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$p1 = 8;

$stid = oci_parse($conexión, 'begin myproc(:p1, :p2); end;');
oci_bind_by_name($stid, ':p1', $p1);
oci_bind_by_name($stid, ':p2', $p2, 40);

oci_execute($stid);

print "$p2\n";   // imprime 16

oci_free_statement($stid);
oci_close($conexión);

?>

Ejemplo #6 Llamar a una función de PL/SQL que devuelve un REF CURSOR

Cada valor devuelto por la consulta es un REF CURSOR desde el que se pueden obtener datos.

<?php
/*
  Cree una función almacenada de PL/SQL como:

  CREATE OR REPLACE FUNCTION myfunc(p1 IN NUMBER) RETURN SYS_REFCURSOR AS
      rc SYS_REFCURSOR;
  BEGIN
      OPEN rc FOR SELECT city FROM locations WHERE ROWNUM < p1;
      RETURN rc;
  END;
*/

$conexión = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conexión, 'SELECT myfunc(5) AS mfrc FROM dual');
oci_execute($stid);

echo "<table border='1'>\n";
while (($fila = oci_fetch_array($stid, OCI_ASSOC))) {
    echo "<tr>\n";
    $rc = $fila['MFRC'];
    oci_execute($rc);  // el valor de la columna devuelta por la consulta es un ref cursor
    while (($fila_rc = oci_fetch_array($rc, OCI_ASSOC))) {
        echo "    <td>" . $fila_rc['CITY'] . "</td>\n";
    }
    oci_free_statement($rc);
    echo "</tr>\n";
}
echo "</table>\n";

// La salida es:
//   Beijing
//   Bern
//   Bombay
//   Geneva

oci_free_statement($stid);
oci_close($conexión);

?>
Constantes predefinidas
Manejo de conexiones de OCI8 y Agrupamiento de conexiones
OCI8


Manejo de conexiones de OCI8 y Agrupamiento de conexiones

Funciones de conexión

La extenisón OCI8 proporciona tres funciones diferentes para conectarse a Oracle. La función de conexión estándar es oci_connect(). Ésta crea una conexión a una base de datos de Oracle y devuelve un recurso utilizado por las llamadas subsiguientes a dicha base de datos.

Conectarse a un servidor Oracle es una operación razonablemente cara en términos del tiempo que toma en completarse. La función oci_pconnect() utiliza una caché de conexiones persistentes que puede ser reutilizada a través de diferentes peticiones de scripts. Esto significa que una conexión únicamente tendrá carga adicional normalmente una vez por cada proceso de PHP (o subproceso de Apache).

Si una aplicación se conecta a Oracle usando un conjunto diferente de credenciales para cada usuario de la web, la caché persistente empleada por oci_pconnect() no será muy útil ya que el número de usuarios concurrentes aumentará, hasta el punto donde podría empezar a afectar negativamente al rendimiendo global del servidor de Oracle debido a que mantiene demasiadas conexiones inactivas. Si la aplicación está estructurada de esta manera, se recomienda ajustarla a través de las opciones de configuración oci8.max_persistent y oci8.persistent_timeout (éstas otorgan control sobre el tamaño y el tiempo de vida de la caché de conexiones persistentes), usar Oracle Database Resident Connection Pooling (en Oracle Database 11g o posterior), o usar oci_connect() en su lugar.

oci_connect() y oci_pconnect() emplean una caché de conexiones; si mútiples llamadas a oci_connect() usan los mismos parámetros en un script dado, la segunda y subsiguientes llamadas devolverán el gestor de conexión existente. La caché usada por oci_connect() se limpia al final de la ejecución del script, o cuando se cierra explícitamente el gestor de conexión. La función oci_pconnect() tiene un comportamiento similar, aunque su caché se mantiene de forma separada y sobrevive entre peticiones HTTP.

Esta característica de almacenamiento en caché significa que dos gestores no están transaccionalmente aislados (de hecho, son el mismo gestor de conexión, por lo que no existe aislamiento alguno). Si la aplicación necesita dos conexiones transaccionalmente aisladas por separado, se ha de usar oci_new_connect().

La caché de oci_pconnect() es limpiada y cualquier conexión a bases de datos cerrada cuando finaliza el proceso de PHP, por lo que el uso efectivo de conexiones persistentes requiere que PHP sea un módulo de Apache o se use con FGCI, o similar. Las conexiones persistentes no tendrán ningún beneficio con oci_connect() cuando PHP se use con CGI o mediante la línea de comandos.

La función oci_new_connect() siempre crea una nueva conexión al servidor de Oracle, independientemente de que existan otras conexiones. Las aplicaciones web con mucho tráfico deberían evitar el uso de oci_new_connect(), especialmente las secciones más concurridas de la aplicación.

Agrupamiento de conexiones DRCP

PHP, desde 5.3 (PECL OCI8 1.3), posee soporte para Oracle Database Resident Connection Pooling (DRCP). DRCP permite el uso más eficiente de la memoria de la máquina donde reside la base de datos y proporciona una alta escalabilidad. Se requiren cambios mínimos, o ninguno, en la aplicación para usar DRCP.

DRCP es apropiado para aplicaciones que se conectan usando pocos esquemas de bases de datos y mantienen abiertas dichas conexiones durante un corto periodo de tiempo. Las demás aplicaciones deberían usar los procesos de servidor de bases de datos predeterminado Dedicado de Oracle, o usar servidores Compartidos.

DRCP beneficia a las tres funciones de conexión, pero proporciona la mayor escalabilidad cuando las conexiones se crean con oci_pconnect().

Para que DRCP esté disponible en OCI8, las bibliotecas cliente de Oracle usadas por PHP y la versión de Oracle Database deben ser 11g o superior.

La documentación de DRCP se encuentra en varios manuales de Oracle. Por ejemplo, véase » Configuring Database Resident Connection Pooling en la documentación de Oracle para obtner información de su uso. Un » Libro blanco de DRCP contiene información de antecedentes sobre DRCP.

Para usar DRCP, construya PHP con la extensión OCI8 1.3 (o posterior) y las bibliotecas de Oracle 11g (o posteriores), y luego siga estos pasos:

  • Como administrador de bases de datos privilegiado, use un programa como SQL*Plus para iniciar el agrupamiento de conexiones en la base de datos:

        SQL> execute dbms_connection_pool.start_pool;

  • Opcionalmente use dbms_connection_pool.alter_param() para configurar los ajustes de DRCP. La configuración de la agrupación actual se puede consultar desde la vista DBA_CPOOL_INFO.

  • Actualice las cadenas de conexión usadas. Para las aplicaciones de PHP que actualmente se conecten usando un Nombre de Conexión de Red como MYDB:

        $c = oci_pconnect("mi_usuario", "mi_contraseña", "MYDB");

    Modifique el fichero tnsnames.ora y añada una cláusula (SERVER=POOLED), por ejemplo:

        MYDB = (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (HOST=myhost.dom.com)
           (PORT=1521))(CONNECT_DATA=(SERVICE_NAME=sales)
           (SERVER=POOLED)))

    Alternativamente, modifique la sintaxis de Easy Connect en PHP y añada :POOLED después del nombre del servidor:

        $c = oci_pconnect("mi_usuario", "mi_contraseña", "mi_host.dom.com:1521/sales:POOLED");

  • Edite php.ini y elija un nombre de clase de conexión. Este nombre señala una división lógica de la agrupación de conexiones y se puede usar para aislar la agrupación para diferentes aplicaciones. Cualquier aplicación de PHP con el mismo nombre de usuario y valor de clase de conexión podrá compartir conexiones de la agrupación, proporcionando una mayor escalabilidad.

        oci8.connection_class = "NOMBRE_DE_MI_APLICACIÓN"

  • Ejecute la aplicación, conectándose a la base de datos 11g (o posterior).

Nota:

Las aplicaciones que usen Oracle 10g que requieran el rendimiento de conexiones persitentes, pueden reducir la cantidad de memoria que el servidor de bases de datos use utilizando sevidores Compartidos de Oracle (anteriormente conocidos como Servidores de Multisubprocesos). Consulte la documentación de Oracle para más información.

Recomendaciones para DRCP y limitaciones conocidas

El cambio de una contraseña con conexiones DRCP fallará con el error ORA-56609: Usage not supported with DRCP. Ésta es una restricción documentada de Oracle Database 11g.

Con la extensión OCI8 1.3, las conexiones persistentas pueden ser cerradas por el usuario, permitiendo mayor control sobre el uso de recursos de conexión. Las conexiones persistentes ahora también serán cerradas automáticamente cuando no haya variables de PHP que hagan referncia a ellas, como al final del ámbito de una función de usuario de PHP. Esto revertirá cualquier transacción no consignada. Estos cambios a las conexiones persistentes hacen que se comporten de forma similar a las conexiones no persistentes, simplificando la interfaz, permitiendo así mayor consistencia y predictabilidad a las aplicaciones. Use oci8.old_oci_close_semantics con el valor de On para conservar el comportamiento histórico.

Si Oracle Database es la versión 11.1.0.6, se deben aplicar los parches de las bases de datos de Oracle para el error 6474441 de Oracle para usar DRCP. Sin este parche, los errores como ORA-01000: maximum open cursors exceeded, ORA-01001 invalid cursor o ORA-01002 fetch out of sequence podrían ocurrir. Este error fue corregido en Oracle 11.1.0.7 en adelante.

Si no se puede aplicar el parche de las bases de datos de Oracle 11.1.0.6, se pueden seguir una de estas tres alternativas en su lugar:

  • Conectarse usando servidores de Oracle Dedicados o Compartidos en lugar de DRCP.
  • Establecer oci8.statement_cache_size de PHP a 0.
  • Establecer un evento en el fichero de parámetros de inicialización de bases de datos: event="56699 trace name context forever, level 128".

Los parches Oracle Database 11.1.0.7 y Oracle Database 11.1.0.6 para el error 6474441 de Oracle permiten a las aplicacinones de PHP con conexión DRCP usar el disparador LOGON de la base de datos para establecer las propiedades de una sesión en el momento de crearla. Ejemplo de tales configuraciones son el lenguaje NLS y el formato de fecha.

Si no se puede aplicar el parche para bases de datos Oracle 11.1.0.6, se pueden seguir las siguientes alternativas en lugar de usar los disparadores LOGON:

  • Después de la identificación, establecer explícitamente las propiedades de la sesión usando código de la aplicación de PHP.
  • Conectarse usando servidores de Oracle Dedicados o Compartidos en lugar de DRCP.

El reestableciemiento automático de las conexiones persistentes de PHP después de la regeneración de procesos de Apache o FGCI significa que únicamente se recomiendan los disparadores LOGON de PHP para establecer los atributos de sesiones y no para peticiones de conexiones de usuario por cada aplicación. Esto es incluso más recomendado con DRCP debido al ajuste automático de la agrupación y a la manera de desencadenar los disparadores LOGON con la autenticación de DRCP.

Ejemplos
OCI8 Fast Application Notification (FAN) Support
OCI8


OCI8 Fast Application Notification (FAN) Support

Soporte para Fast Application Notification (FAN)

El soporte para FAN proporciona tolerancia a fallos rápida para conexiones, una característica de alta disponibilidad de Oracle Database. Permite que los scripts de OCI8 para PHP sean informados cuando una máquina o una instancia de una base de datos no esté disponible. Sin FAN, OCI8 puede suspenderse hasta que se agote el tiempo de espera de TCP, lo que devolvería un error que podría llevar varios minutos en emitirse. La habilitación de FAN en OCI8 puede hacer que las aplicaciones detecten errores y se reconecten a una instancia de bases de datos disponbile sin que el usuario web note ningún corte.

El soporte para FAN está disponible cuando las bibliotecas cliente de Oracle que PHP vincule con Oracle Database sean la versión 10gR2 o posterior.

FAN beneficia a los usuarios de la tecnología del uso de clúster de Oracle (RAC) debido a que se pueden realizar de forma inmediata conexiones a instancias de bases de datos supervivientes. Los usarios de Oracle's Data Guard con un agente verán los eventos de FAN generados cuando una base de datos en espera vuelva a estar en línea. Las bases de datos independientes enviarán eventos FAN cuando se reinicien.

Para conexiones activas, cuando una máquina o una instancia de bases de datos no esté disponible, la función de la extensión OCI8 que está siendo llamada devolverá un error de fallo de conexión. En una reconexión subsiguiente de un script de PHP, se establecerá una conexión a una instancia de una base de datos superviviente. La extensión OCI8 también limpia de forma transparente cualquier conexión inactiva afectafa por un fallo de una máquina o instancia de base de datos, por lo que la conexión de PHP establecerá una conexión fresca sin que el script note ninguna interrupción del servicio.

Cuando el valor de oci8.events es On, se sugiere establecer oci8.ping_interval a -1 para deshabilitar la comprobación de la conexión, ya que al habilitar los eventos de FAN se proporciona una gestión de conexiones proactivas de conexiones inactivas invalidadas por la interrupción de un servicio.

Para habilitar el soporte de FAN en PHP, construya PHP con las bibliotecas 10gR2 o posteriores de Oracle y siga estos pasos:

  • Como administrador de bases de datos con privilegios, use un programa como SQL*Plus para habilitar el servicio de bases de datos para enviar enventos FAN, por ejemplo:

        SQL> execute dbms_service.modify_service(
                   SERVICE_NAME        => 'sales',
                   AQ_HA_NOTIFICATIONS => TRUE);

  • Edite php.ini y agregue

        oci8.events = On

  • Si la aplicación aún no gestiona las condiciones de error de OCI8, modifíquela para que detecte fallos y tome las acciones apropiadas. Esto prodría incluir la reconexión y la reejecución de sentencias.
  • Ejecute la aplicación, conecte a una base de datos de Oracle 10gR2 o posterior.

Manejo de conexiones de OCI8 y Agrupamiento de conexiones
OCI8 y rastreo dinámico de DTrace
OCI8


OCI8 y rastreo dinámico de DTrace

OCI8 2.0 sondeos de DTrace estáticos que se pueden usar en sistemas operativos que admiten DTrace. Véase Rastreo dinámico de DTrace para una visión general de PHP y DTrace.

Instalar OCI8 con soporte para DTrace

Para habilitar el soporte para DTrace en OCI8 para PHP, construya OCI8 como una extensión compartida después de establecer PHP_DTRACE.

$ export PHP_DTRACE=yes
$ pecl install oci8

Edite php.ini, establezca extension_dir al directorio con el oci8.so creado y también habilite la extensión añadiendo:

extension=oci8.so

Si instala PHP OCI8 2.0 desde PECL usando phpize y configure (en lugar de pecl), será necesario establecer PHP_DTRACE=yes. Esto es así debido a que la opción --enable-dtrace será ignorada por el script limitado configure de un PECL incluido.

Véase Instalación de extensiones PECL para las instrucciones generales de instalación de PECL.

Sondeos estáticos de DTrace en OCI8 para PHP

Los siguientes sondeos estáticos están disponibles en OCI8 para PHP
Nombre del sondeo | Descripción del sondeo | Argumentos del sondeo
oci8-connect-entry | Iniciado por oci_connect(), oci_pconnect() y oci_new_connect(). Lanzado antes de establecer una conexión con una base de datos. | char *username, char *dbname, char *charset, long session_mode, int persistent, int exclusive
oci8-connect-return | Lanzado al finallde una conexión. | void *connection
oci8-check-connection | Lanzado si un error de Oracle podría haber causado que la conexión sea inválida. | void *connection, char *client_id, int is_open, long errcode, unsigned long server_status
oci8-sqltext | Lanzado cuando oci_parse() se ejecuta. | void *connection, char *client_id, void *statement, char *sql
oci8-connection-close | Lanzado cuando la conexión a la base de datos está completamente destruida. | void *connection
oci8-error | Lanzado si ocurre un error de Oracle. | int status, long errcode
oci8-execute-mode | Lanzado en oci_execute() para mostrar el modo de ejecución. | void *connection, char *client_id, void *statement, unsigned int mode

Estos sondeos son útiles para rastrear scripts de OCI8.

connection y statement son los punteros a las estructuras internas usadas para rastrear conexiones de PHP y ejecutar sentencias.

client_id es el valor establecido por oci_set_client_identifier().

El núcleo de PHP también posee sondeos estáticos. Véase Sondeos estáticos de DTrace en el núcleo de PHP.

Sondeos de DTrace de depuración interna en OCI8
Nombre del sondeo
oci8-connect-expiry
oci8-connect-lookup
oci8-connect-p-dtor-close
oci8-connect-p-dtor-release
oci8-connect-type
oci8-sesspool-create
oci8-sesspool-stats
oci8-sesspool-type

Estos sondeos son útiles para mantenedores de OCI8. Consulte el código fuente de OCI8 para los argumentos y para ver cuando serán lanzados.

Enumerar los Sondeos estáticos de DTrace en OCI8 para PHP

Para enumerar los sondeos disponibles, inicie un proceso de PHP y ejecute:

# dtrace -l

La salida será similar a:

   ID   PROVIDER            MODULE                          FUNCTION NAME
   [ . . . ]
   17 phpoci22116           oci8.so   php_oci_dtrace_check_connection oci8-check-connection
   18 phpoci22116           oci8.so                php_oci_do_connect oci8-connect-entry
   19 phpoci22116           oci8.so         php_oci_persistent_helper oci8-connect-expiry
   20 phpoci22116           oci8.so             php_oci_do_connect_ex oci8-connect-lookup
   21 phpoci22116           oci8.so  php_oci_pconnection_list_np_dtor oci8-connect-p-dtor-close
   22 phpoci22116           oci8.so  php_oci_pconnection_list_np_dtor oci8-connect-p-dtor-release
   23 phpoci22116           oci8.so                php_oci_do_connect oci8-connect-return
   24 phpoci22116           oci8.so             php_oci_do_connect_ex oci8-connect-type
   25 phpoci22116           oci8.so          php_oci_connection_close oci8-connection-close
   26 phpoci22116           oci8.so                     php_oci_error oci8-error
   27 phpoci22116           oci8.so         php_oci_statement_execute oci8-execute-mode
   28 phpoci22116           oci8.so              php_oci_create_spool oci8-sesspool-create
   29 phpoci22116           oci8.so            php_oci_create_session oci8-sesspool-stats
   30 phpoci22116           oci8.so            php_oci_create_session oci8-sesspool-type
   31 phpoci22116           oci8.so          php_oci_statement_create oci8-sqltext

Los valores de la columna "Provider" (Proveedor) consisten en phpoci and el ID del proceso de PHP ejecutándose actualmente.

La columna "Function" (Función) se refiere a los nombres de funciones internas de la implementación en C de PHP donde cada proveedor está ubicado.

Si un proceso de PHP no se está ejecutando, no se mostrarán sondeos de PHP.

Ejemplo de DTrace con OCI8 para PHP

Este ejemplo muestra lo básico del lenguaje de script D de DTrace.

Ejemplo #1 user_oci8_probes.d para rasrear todos los Sondeos estáticos de OCI8 para PHP al nivel de usuario con DTrace

#!/usr/sbin/dtrace -Zs

#pragma D option quiet

php*:::oci8-connect-entry
{
    printf("%lld: PHP connect-entry\n", walltimestamp);
    printf("  credentials=\"%s@%s\"\n", arg0 ? copyinstr(arg0) : "", arg1 ? copyinstr(arg1) : "");
    printf("  charset=\"%s\"\n", arg2 ? copyinstr(arg2) : "");
    printf("  session_mode=%ld\n", (long)arg3);
    printf("  persistent=%d\n", (int)arg4);
    printf("  exclusive=%d\n", (int)arg5);
}

php*:::oci8-connect-return
{
    printf("%lld: PHP oci8-connect-return\n", walltimestamp);
    printf("  connection=0x%p\n", (void *)arg0);
}

php*:::oci8-connection-close
{
    printf("%lld: PHP oci8-connect-close\n", walltimestamp);
    printf("  connection=0x%p\n", (void *)arg0);
}

php*:::oci8-error
{
    printf("%lld: PHP oci8-error\n", walltimestamp);
    printf("  status=%d\n", (int)arg0);
    printf("  errcode=%ld\n", (long)arg1);
}

php*:::oci8-check-connection
{
    printf("%lld: PHP oci8-check-connection\n", walltimestamp);
    printf("  connection=0x%p\n", (void *)arg0);
    printf("  client_id=\"%s\"\n", arg1 ? copyinstr(arg1) : "");
    printf("  is_open=%d\n", arg2);
    printf("  errcode=%ld\n", (long)arg3);
    printf("  server_status=%lu\n", (unsigned long)arg4);
}

php*:::oci8-sqltext
{
    printf("%lld: PHP oci8-sqltext\n", walltimestamp);
    printf("  connection=0x%p\n", (void *)arg0);
    printf("  client_id=\"%s\"\n", arg1 ? copyinstr(arg1) : "");
    printf("  statement=0x%p\n", (void *)arg2);
    printf("  sql=\"%s\"\n", arg3 ? copyinstr(arg3) : "");
}

php*:::oci8-execute-mode
{
    printf("%lld: PHP oci8-execute-mode\n", walltimestamp);
    printf("  connection=0x%p\n", (void *)arg0);
    printf("  client_id=\"%s\"\n", arg1 ? copyinstr(arg1) : "");
    printf("  statement=0x%p\n", (void *)arg2);
    printf("  mode=0x%x\n", arg3);
}

Este script usa la opción -Z para dtrace, permitiéndole que sea ejecutado cuando no exista un procesode PHP en ejecución. Si esta opción fuera omitida, el script terminaría inmediatamente cuando no se ejecutara PHP porque no sabe de la existencia de sondeos a ser monitorizados.

En máquinas multi-CPU, el orden de los sondeos no parecerá ser sencuencial. Esto depende de cuál CPU estaba procesando los sondeos, y de cómo los hilos migran entre CPUs. Mostrar las marcas de tiempo de los sondeos atudará a reducir la confusión.

El script rastrea todos los sondeos estáticos de OCI8 para PHP a nivel de usuario que apuntan a lo largo de la duración de un script de PHP en ejecución. Ejecute el script D:

# ./user_oci8_probes.d

Ejecute un script o aplicación de PHP. El script D de monitorización generará cada argumento del sondeo mientras se lanza. Por ejemplo, un sencillo script de PHP que requiere una tabla podría producir la siguiente salida de rastreo:

1381794982092854582: PHP connect-entry
  credentials="hr@localhost/pdborcl"
  charset=""
  session_mode=0
  persistent=0
  exclusive=0
1381794982183158766: PHP oci8-connect-return
  connection=0x7f4a7907bfb8
1381794982183594576: PHP oci8-sqltext
  connection=0x7f4a7907bfb8
  client_id="Chris"
  statement=0x7f4a7907c2a0
  sql="select * from employees"
1381794982183783706: PHP oci8-execute-mode
  connection=0x7f4a7907bfb8
  client_id="Chris"
  statement=0x7f4a7907c2a0
  mode=0x20
1381794982444344390: PHP oci8-connect-close
  connection=0x7f4a7907bfb8

Cuando la monitorización está completa, el script D puede terminarse con un ^C.

Véase también

  • Rastreo dinámico de DTrace
OCI8 Fast Application Notification (FAN) Support
Tipos de datos admitidos
OCI8


Tipos de datos admitidos

El controlador admite los siguientes tipos cuando se vinculan parámetros usando la función oci_bind_by_name():
Tipo | Referencia
SQLT_NTY | Hace referencia a un tipo de colección nativo desde un objeto colección de PHP, tales como aquellos creados por oci_new_collection().
SQLT_BFILEE | Hace referencia a un descriptor nativo, tales como a aquellos creados por oci_new_descriptor().
SQLT_CFILEE | Hace referencia a un descriptor nativo, tales como a aquellos creados por oci_new_descriptor().
SQLT_CLOB | Hace referencia a un descriptor nativo, tales como a aquellos creados por oci_new_descriptor().
SQLT_BLOB | Hace referencia a un descriptor nativo, tales como a aquellos creados por oci_new_descriptor().
SQLT_RDD | Hace referencia a un descriptor nativo, tales como a aquellos creados por oci_new_descriptor().
SQLT_NUM | Convierte el parámetro de PHP al tipo long de 'C', y lo vincula a ese valor.
SQLT_RSET | Hace referencia a un gestor de sentencias nativo, tales como a aquellos creados por oci_parse() o aquellos recuperados desde otras consultas de OCI.
SQLT_CHR y cualquier otro tipo | Convierte el parámetro de PHP al tipo string y lo vincula como string.
Los siguientes tipos son admitidos cuando se recuperan columnas desde un conjunto de resultados:
Tipo | Referencia
SQLT_RSET | Crea un recurso de sentencia de OCI para representar al cursor.
SQLT_RDD | Crea un objeto ROWID.
SQLT_BLOB | Crea un objeto LOB.
SQLT_CLOB | Crea un objeto LOB.
SQLT_BFILE | Crea un objeto LOB.
SQLT_LNG | Vinculado como SQLT_CHR, devuelto como string
SQLT_LBI | Vinculado como SQLT_BIN, devuelto como string
Cualquier otro tipo | Vinculado como SQLT_CHR, devuelto como string
OCI8 y rastreo dinámico de DTrace
Funciones de OCI8
OCI8


Funciones de OCI8

Tabla de contenidos

  • oci_bind_array_by_name — Vincula un array de PHP con un parámetro de un array de Oracle PL/SQL
  • oci_bind_by_name — Vincula una variable de PHP a un parámetro de sustitución de Oracle
  • oci_cancel — Cancela la lectura del cursor
  • oci_client_version — Devuelve la versión de la biblioteca cliente de Oracle
  • oci_close — Cierra una conexión a Oracle
  • oci_commit — Consigna la transacción pendiente de la base de datos
  • oci_connect — Conecta a una base de datos de Oracle
  • oci_define_by_name — Asocia una variable de PHP con una columna para la obtención de consultas
  • oci_error — Devuelve el último error encontrado
  • oci_execute — Ejecuta una sentencia
  • oci_fetch_all — Obtiene múltiples filas de una consulta y las ubica en un array bidimiensional
  • oci_fetch_array — Devuelve la siguiente fila de una consulta como un array asociativo o numérico
  • oci_fetch_assoc — Devuelve la siguiente fila de una consulta como un array asociativo
  • oci_fetch_object — Devuelve la siguiente fila de una consulta como un objeto
  • oci_fetch_row — Devuelve la siguiente fila de una consulta como un array numérico
  • oci_fetch — Coloca la siguiente fila de una consulta en los búferes internos
  • oci_field_is_null — Comprueba si el campo es NULL
  • oci_field_name — Devuelve el nombre de un campo de una sentencia
  • oci_field_precision — Indica la precisión de un campo
  • oci_field_scale — Indica la escala de un campo
  • oci_field_size — Devuelve el tamaño de un campo
  • oci_field_type_raw — Indica el tipo de datos sin tratar de Oracle de un campo
  • oci_field_type — Devuelve el tipo de datos de un campo
  • oci_free_descriptor — Libera un descriptor
  • oci_free_statement — Libera todos los recursos asociados con una sentencia o cursor
  • oci_get_implicit_resultset — Devuelve el siguiente recurso de sentencia hija desde un recurso de sentencia padre que posee Conjuntos de resultados implícitos de Oracle Database 12c
  • oci_internal_debug — Habilita o deshabilita la salida de la depuración interna
  • oci_lob_copy — Copia objetos grandes
  • oci_lob_is_equal — Compara dos localizadores LOB/FILE
  • oci_new_collection — Asigna un nuevo objeto colección
  • oci_new_connect — Conectar al servidor de Oracle usando una conexión única
  • oci_new_cursor — Asigna y devuelve un nuevo cursor (gestor de sentencia)
  • oci_new_descriptor — Inicializa un nuevo descriptor vacío LOB o FILE
  • oci_num_fields — Devuelve el número de columnas del resultado de una sentencia
  • oci_num_rows — Devuelve el número de filas afectadas durante la ejecución de una sentencia
  • oci_parse — Prepara una sentencia de Oracle para su ejecución
  • oci_password_change — Cambia la contraseña de un usuario de Oracle
  • oci_pconnect — Conectar a una base de datos de Oracle usando una conexión persistente
  • oci_result — Devuelve el valor de un campo de la fila obtenida
  • oci_rollback — Revierte la transacción pendiente de la base de datos
  • oci_server_version — Devuelve la versión de Oracle Database
  • oci_set_action — Establece el nombre de una acción
  • oci_set_client_identifier — Establece el identificador del cliente
  • oci_set_client_info — Establece la información del cliente
  • oci_set_edition — Establece la edición de la base de datos
  • oci_set_module_name — Establece el nombre de un módulo
  • oci_set_prefetch — Establece el número de filas a precargar mediante consultas
  • oci_statement_type — Devuelve el tipo de una sentencia
Tipos de datos admitidos
oci_bind_array_by_name
OCI8


Vincula un array de PHP con un parámetro de un array de Oracle PL/SQL

Funciones de OCI8
oci_bind_by_name
Funciones de OCI8
PHP Manual

oci_bind_array_by_name

(PHP 5 >= 5.1.2, PECL OCI8 >= 1.2.0)

oci_bind_array_by_name — Vincula un array de PHP con un parámetro de un array de Oracle PL/SQL

Descripción

bool oci_bind_array_by_name ( resource $statement , string $name , array &$var_array , int $max_table_length [, int $max_item_length = -1 [, int $type = SQLT_AFC ]] )

Vincular el array de PHP var_array al parámetro de sustitución de Oracle name, el cual apunta a un array de Oracle PL/SQL. Se determinará si será usado para entrada o salida en tiempo de ejecución.

Parámetros

statement

Un identificador de sentencia de OCI válido.

name

El parámetro de sustitución de Oracle.

var_array

Un array.

max_table_length

Establece la longitud máxima para los arrays entrantes y resultantes.

max_item_length

Establece la longitud máxima para los elementos del array. Si no se especifica o es igual a -1, oci_bind_array_by_name() buscará el elemento más largo en el array entrante y usará su longitud como valor.

type

Debería usarse para establecer el tipo de los elementos del arrary de PL/SQL. La lista siguiente muestra los tipos disponibles:

  • SQLT_NUM - para arrays de NUMBER.

  • SQLT_INT - para arrays de INTEGER (Nota: INTEGER es en realidad un sinónimo de NUMBER(38), pero el tipo SQLT_NUM no funcionará en este caso aunque sean sinónimos).

  • SQLT_FLT - para arrays de tipo FLOAT.

  • SQLT_AFC - para arrays de tipo CHAR.

  • SQLT_CHR - para arrays de tipo VARCHAR2.

  • SQLT_VCS - para arrays de tipo VARCHAR.

  • SQLT_AVC - para arrays de tipo CHARZ.

  • SQLT_STR - para arrays de tipo STRING.

  • SQLT_LVC - para arrays de tipo LONG VARCHAR.

  • SQLT_ODT - para arrays de tipo DATE.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de oci_bind_array_by_name()

<?php

$c = oci_connect("scott", "tiger");

$create = "CREATE TABLE bind_example(name VARCHAR(20))";
$sentencia = oci_parse($c, $create);
oci_execute($sentencia);

$create_pkg = "
CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS
  TYPE ARRTYPE IS TABLE OF VARCHAR(20) INDEX BY BINARY_INTEGER;
  PROCEDURE iobind(c1 IN OUT ARRTYPE);
END ARRAYBINDPKG1;";
$sentencia = oci_parse($c, $create_pkg);
oci_execute($sentencia);

$create_pkg_body = "
CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS
  CURSOR CUR IS SELECT name FROM bind_example;
  PROCEDURE iobind(c1 IN OUT ARRTYPE) IS
    BEGIN
    FOR i IN 1..5 LOOP
      INSERT INTO bind_example VALUES (c1(i));
    END LOOP;
    IF NOT CUR%ISOPEN THEN
      OPEN CUR;
    END IF;
    FOR i IN REVERSE 1..5 LOOP
      FETCH CUR INTO c1(i);
      IF CUR%NOTFOUND THEN
        CLOSE CUR;
        EXIT;
      END IF;
    END LOOP;
  END iobind;
END ARRAYBINDPKG1;";
$sentencia = oci_parse($c, $create_pkg_body);
oci_execute($sentencia);

$sentencia = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;");

$array = array("uno", "dos", "tres", "cuatro", "cinco");

oci_bind_array_by_name($sentencia, ":c1", $array, 5, -1, SQLT_CHR);

oci_execute($sentencia);

var_dump($array);

?>

Funciones de OCI8
oci_bind_by_name
Funciones de OCI8


Vincula una variable de PHP a un parámetro de sustitución de Oracle

oci_bind_array_by_name
oci_cancel
Funciones de OCI8
PHP Manual

oci_bind_by_name

(PHP 5, PECL OCI8 >= 1.1.0)

oci_bind_by_name — Vincula una variable de PHP a un parámetro de sustitución de Oracle

Descripción

bool oci_bind_by_name ( resource $statement , string $bv_name , mixed &$variable [, int $maxlength = -1 [, int $type = SQLT_CHR ]] )

Vincula la variable de PHP variable al parámetro de sustitución de variable vinculada de Oracle bv_name. La vinculación es importante para el rendimiento de la base de datos de Oracle y también como un forma de evitar problemas de seguridad de Inyecciones SQL.

La vinculación permite que la base de datos reutilice el contexto de la sentencia y use la caché desde ejecuciones previas de dicha sentencia, incluso si otro usuario o proceso la ejecutó inicialmente. La vinculación reduce las inquietudes con Inyecciones SQL ya que los datos asociados con una variable vinculada nunca son tratados como parte de la sentencia SQL. Hace que no sean necesarios la entrecomillación o el escape.

Las variables de PHP que han sido vinculadas se pueden cambiar, por lo que la sentencia se reejecutará sin necesidad de reanalizarla o revincularla.

En Oracle, la vinculaión de variables se divide normalmente en vínculos IN para valores que son pasados a la base de datos, y vínculos OUT para valores que son devueltos a PHP. Una variable vinculada podría ser tanto IN como OUT. Si una variable vinculada será usada para entrada o salida se determina en en tiempo de ejecución.

Se debe especificar maxlength al utilizar un vínculo OUT para que PHP asigne suficiente memoria para contener el valor devuelto.

Para los vínculos IN, se recomienda establecer la longitud maxlength si la sentencia es reejecutada múltiples veces con diferentes valores para la variable de PHP. Si no, Oracle podría truncar los datos a la longitud del valor inicial de la variable de PHP. Si no se conoce cuál será la longitud máxima, reinvoque a oci_bind_by_name() con el tamaño de los datos actuales antes de cada llamada a oci_execute(). Vincular una longitud grande innecesariamente tendrá un impacto en la memoria del proceso de la base de datos.

Una llamada vinculada le indica a Oracle desde qué dirección de memoria debe leer datos. Para vínculos IN, esta dirección necesita contener datos válidos cuando se invoque a oci_execute(). Esto significa que la variable vinculada debe permanecer en el ámbito hasta su ejecución. Si no se hace, pueden ocurrir errores inesperados como "ORA-01460: unimplemented or unreasonable conversion requested". Para vínculos OUT, un síntoma es que no se ha establecido un valor en la variable de PHP.

Para una sentencia que sea ejecutada repetidamente, los valores vinculados que nunca cambian podrían reducir la capacidad del optimizador de Oracle para elegir el mejor plan de ejecución de sentencias. Las sentencias que tarden en ejecutarse y que sean reejecutadas raramente podrían no beneficiarse de la vinculación. Sin embargo, en ambos casos, la vinculación podría ser más segura que unir cadenas en una sentencia SQL, ya que esto puede ser un riesgo para la seguridad si se concatena el texto no filtrado de un usuario.

Parámetros

statement

Un identificador de sentencia de OCI8 válido.

bv_name

El parámetro de sustitución de la variable vinculada prefijado por dos puntos (:) usado en la sentencia. Los dos puntos son opcionales en bv_name. Oracle no usa los signos de interrogación en los parámetros de sustitución.

variable

La variable de PHP que va a ser asociada con bv_name

maxlength

Establece la longitud máxima para los datos. Si se establece a -1, esta función utilizará la longitud actual de variable para establecer la longitud máxima. En este caso, el parámetro variable debe existir y contener datos cuando se invoque a oci_bind_by_name().

type

El tipo de datos con el que Oracle trartará los datos. El tipo usado predeterminado dado por type es SQLT_CHR. Oracle convertirá los datos entre este tipo y la columna de la base de datos (o un tipo de variable de PL/SQL), cuando sea posible.

Si fuera necesario vincular un tipo de datos abstractos (LOB/ROWID/BFILE), debe asignarlo primero usando la función oci_new_descriptor(). La longitud length no se usa para tipos de datos abstractos, por lo que debería establecerse a -1.

Los valores posibles para type son:

  • SQLT_BFILEE or OCI_B_BFILE - para BFILEs;

  • SQLT_CFILEE o OCI_B_CFILEE - para CFILEs;

  • SQLT_CLOB o OCI_B_CLOB - para CLOBs;

  • SQLT_BLOB o OCI_B_BLOB - para BLOBs;

  • SQLT_RDD o OCI_B_ROWID - para ROWIDs;

  • SQLT_NTY o OCI_B_NTY - para tipos de datos con nombre;

  • SQLT_INT o OCI_B_INT - para enteros;

  • SQLT_CHR - para VARCHARs;

  • SQLT_BIN o OCI_B_BIN - para columnas RAW;

  • SQLT_LNG - para columnas LONG;

  • SQLT_LBI - para columnas LONG RAW;

  • SQLT_RSET - para cursores creados con oci_new_cursor().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Insertar datos con oci_bind_by_name()

<?php

// Cree la tabla con:
//   CREATE TABLE mytab (id NUMBER, text VARCHAR2(40));

$conexión = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conexión) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conexión,"INSERT INTO mytab (id, text) VALUES(:id_bv, :text_bv)");

$id = 1;
$texto = "Datos a insertar     ";
oci_bind_by_name($stid, ":id_bv", $id);
oci_bind_by_name($stid, ":text_bv", $texto);
oci_execute($stid);

// La tabla ahora contiene: 1, 'Datos a insertar     '

?>

Ejemplo #2 Vincular una vez para múltiples ejecuciones

<?php

// Cree la tabla con:
//   CREATE TABLE mytab (id NUMBER);

$conexión = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conexión) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$a = array(1,3,5,7,11);  // datos a insertar

$stid = oci_parse($conexión, 'INSERT INTO mytab (id) VALUES (:bv)');
oci_bind_by_name($stid, ':bv', $v, 20);
foreach ($a as $v) {
    $r = oci_execute($stid, OCI_DEFAULT);  // no autoconsigna
}
oci_commit($conexión); // consigna todo una vez

// La tabla contiene cinco filas: 1, 3, 5, 7, 11

oci_free_statement($stid);
oci_close($conexión);

?>

Ejemplo #3 Vinculación con un bucle foreach()

<?php

$conexión = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conexión) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$sql = 'SELECT * FROM departments WHERE department_name = :dname AND location_id = :loc';
$stid = oci_parse($conexión, $sql);

$ba = array(':dname' => 'IT Support', ':loc' => 1700);

foreach ($ba as $clave => $valor) {

    // oci_bind_by_name($stid, $clave, $valor) no funciona debido a
    // que vincula cada parámetro de sustitución a la misma ubicación: $valor
    // En su lugar, use la ubicación real de los datos: $ba[$clave]
    oci_bind_by_name($stid, $clave, $ba[$clave]);
}

oci_execute($stid);
$fila = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS);
foreach ($fila as $item) {
    print $item."<br>\n";
}

oci_free_statement($stid);
oci_close($conexión);

?>

Ejemplo #4 Vinculación en una cláusula WHERE

<?php

$conexión = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conexión) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$sql = 'SELECT last_name FROM employees WHERE employee_id = :eidbv';
$stid = oci_parse($conexión, $sql);
$myeid = 101;
oci_bind_by_name($stid, ':eidbv', $myeid);
oci_execute($stid);
$fila = oci_fetch_array($stid, OCI_ASSOC);
echo $fila['LAST_NAME'] ."<br>\n";

// La salida es
//    Kochhar

oci_free_statement($stid);
oci_close($conexión);

?>

Ejemplo #5 Vinculación con una cláusula LIKE

<?php

$conexión = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conexión) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

// Busca todas las ciudades que empiecen por 'South'
$stid = oci_parse($conexión, "SELECT city FROM locations WHERE city LIKE :bv");
$ciudad = 'South%';  // '%' es un comodín en SQL
oci_bind_by_name($stid, ":bv", $ciudad);
oci_execute($stid);
oci_fetch_all($stid, $res);

foreach ($res['CITY'] as $c) {
    print $c . "<br>\n";
}
// La salida es
//   South Brunswick
//   South San Francisco
//   Southlake

oci_free_statement($stid);
oci_close($conexión);

?>

Ejemplo #6 Vinculación con REGEXP_LIKE

<?php

$conexión = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conexión) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

// Busca todas las ciudades que contengan 'ing'
$stid = oci_parse($conexión, "SELECT city FROM locations WHERE REGEXP_LIKE(city, :bv)");
$ciudad = '.*ing.*';
oci_bind_by_name($stid, ":bv", $ciudad);
oci_execute($stid);
oci_fetch_all($stid, $res);

foreach ($res['CITY'] as $c) {
    print $c . "<br>\n";
}
// La salida es
//   Beijing
//   Singapore

oci_free_statement($stid);
oci_close($conexión);

?>

Para un número fijo pequeño de condiciones de la cláusula IN, use variables vinculadas individuales. Los valores desconocidos en tiempo de ejecución pueden ser establecidos a NULL. Esto permite que una única sentencia sea usada por todos los usuarios de una aplicación, maximizando la enficiencia de la caché de la base de datos de Oracle.

Ejemplo #7 Vinculación de múltiples valores en una cláusula IN

<?php

$conexión = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conexión) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$sql = 'SELECT last_name FROM employees WHERE employee_id in (:e1, :e2, :e3)';
$stid = oci_parse($conexión, $sql);
$mye1 = 103;
$mye2 = 104;
$mye3 = NULL; // se pretende que no se proporcione este valor
oci_bind_by_name($stid, ':e1', $mye1);
oci_bind_by_name($stid, ':e2', $mye2);
oci_bind_by_name($stid, ':e3', $mye3);
oci_execute($stid);
oci_fetch_all($stid, $res);
foreach ($res['LAST_NAME'] as $nombre) {
    print $nombre ."<br>\n";
}

// La salida es
//   Ernst
//   Hunold

oci_free_statement($stid);
oci_close($conexión);

?>

Ejemplo #8 Vinculación de un ROWID devuelto por una consulta

<?php

// Cree la tabla con:
//   CREATE TABLE mytab (id NUMBER, salary NUMBER, name VARCHAR2(40));
//   INSERT INTO mytab (id, salary, name) VALUES (1, 100, 'Chris');
//   COMMIT;

$conexión = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conexión) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conexión, 'SELECT ROWID, name FROM mytab WHERE id = :id_bv FOR UPDATE');
$id = 1;
oci_bind_by_name($stid, ':id_bv', $id);
oci_execute($stid);
$fila = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS);
$rid = $fila['ROWID'];
$nombre = $fila['NAME'];

// Cambiar el nombre a mayúsculas y guardar los cambios
$nombre = strtoupper($nombre);
$stid = oci_parse($conexión, 'UPDATE mytab SET name = :n_bv WHERE ROWID = :r_bv');
oci_bind_by_name($stid, ':n_bv', $nombre);
oci_bind_by_name($stid, ':r_bv', $rid, -1, OCI_B_ROWID);
oci_execute($stid);

// La tabla contiene ahora 1, 100, CHRIS

oci_free_statement($stid);
oci_close($conexión);

?>

Ejemplo #9 Vinculación de un ROWID sobre INSERT

<?php

// Este ejemplo inserta un id y un nombre, y luego actualiza el salario
// Cree la tabla con:
//   CREATE TABLE mytab (id NUMBER, salary NUMBER, name VARCHAR2(40));
//
// Basado en el ejemplo original de ROWID de thies at thieso dot net (980221)

$conexión = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conexión) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$sql = "INSERT INTO mytab (id, name) VALUES(:id_bv, :name_bv)
        RETURNING ROWID INTO :rid";

$ins_stid = oci_parse($conexión, $sql);

$id_fila = oci_new_descriptor($conexión, OCI_D_ROWID);
oci_bind_by_name($ins_stid, ":id_bv",   $id,    10);
oci_bind_by_name($ins_stid, ":name_bv", $nombre,  32);
oci_bind_by_name($ins_stid, ":rid",     $id_fila, -1, OCI_B_ROWID);

$sql = "UPDATE mytab SET salary = :salary WHERE ROWID = :rid";
$upd_stid = oci_parse($conexión, $sql);
oci_bind_by_name($upd_stid, ":rid", $id_fila, -1, OCI_B_ROWID);
oci_bind_by_name($upd_stid, ":salary", $salario,   32);

// Los identificadores y los nombres a insertar
$datos = array(1111 => "Larry",
              2222 => "Bill",
              3333 => "Jim");

// El salario para cada persona
$salario = 10000;

// Insertar e inmediatamente actualizar cada fila
foreach ($datos as $id => $nombre) {
    oci_execute($ins_stid);
    oci_execute($upd_stid);
}

$id_fila->free();
oci_free_statement($upd_stid);
oci_free_statement($ins_stid);

// Mostrar las nuevas filas
$stid = oci_parse($conexión, "SELECT * FROM mytab");
oci_execute($stid);
while ($fila = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    var_dump($fila);
}

oci_free_statement($stid);
oci_close($conexión);

?>

Ejemplo #10 Vinculación para una función almacenada de PL/SQL

<?php

//  Antes de ejecutar este programa de PHP, cree una función almacenada en
//  SQL*Plus o SQL Developer:
//
//  CREATE OR REPLACE FUNCTION myfunc(p IN NUMBER) RETURN NUMBER AS
//  BEGIN
//      RETURN p * 3;
//  END;

$conexión = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conexión) {
    $e = oci_error();
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$p = 8;

$stid = oci_parse($conexión, 'begin :r := myfunc(:p); end;');
oci_bind_by_name($stid, ':p', $p);

// El valor devuelto es un vínculo OUT. El tipo predeterminado será una cadena,
// por lo que vincular 40 significa que serán devueltos 40 dígitos
// como máximo.
oci_bind_by_name($stid, ':r', $r, 40);

oci_execute($stid);

print "$r\n";   // imprime 24

oci_free_statement($stid);
oci_close($conexión);

?>

Ejemplo #11 Vinculación de parámetros para un procedimiento almacenado de PL/SQL

<?php

//  Antes de ejecutar este programa de PHP, cree un procedemiento almacenado en
//  SQL*Plus o SQL Developer:
//
//  CREATE OR REPLACE PROCEDURE myproc(p1 IN NUMBER, p2 OUT NUMBER) AS
//  BEGIN
//      p2 := p1 * 2;
//  END;

$conexión = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conexión) {
    $e = oci_error();
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$p1 = 8;

$stid = oci_parse($conexión, 'begin myproc(:p1, :p2); end;');
oci_bind_by_name($stid, ':p1', $p1);

// El segundo parámetro del procedimiento es un vínculo OUT. El tipo predeterminado
// será una cadena, por lo que vincular 40 significa que serán devueltos 40 dígitos
// como máximo.
oci_bind_by_name($stid, ':p2', $p2, 40);

oci_execute($stid);

print "$p2\n";   // imprime 16

oci_free_statement($stid);
oci_close($conexión);

?>

Ejemplo #12 Vinculación de una columna CLOB

<?php

// Antes de ejecutarlo, cree la tabla:
//     CREATE TABLE mytab (mykey NUMBER, myclob CLOB);

$conexión = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conexión) {
    $e = oci_error();
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$mykey = 12343;  // clave arbitraria para este ejemplo;

$sql = "INSERT INTO mytab (mykey, myclob)
        VALUES (:mykey, EMPTY_CLOB())
        RETURNING myclob INTO :myclob";

$stid = oci_parse($conexión, $sql);
$clob = oci_new_descriptor($conexión, OCI_D_LOB);
oci_bind_by_name($stid, ":mykey", $mykey, 5);
oci_bind_by_name($stid, ":myclob", $clob, -1, OCI_B_CLOB);
oci_execute($stid, OCI_DEFAULT);
$clob->save("A very long string");

oci_commit($conexión);

// Obtener los datos CLOB

$consulta = 'SELECT myclob FROM mytab WHERE mykey = :mykey';

$stid = oci_parse ($conexión, $consulta);
oci_bind_by_name($stid, ":mykey", $mykey, 5);
oci_execute($stid);

print '<table border="1">';
while ($fila = oci_fetch_array($stid, OCI_ASSOC)) {
  $resultado = $fila['MYCLOB']->load();
  print '<tr><td>'.$resultado.'</td></tr>';
}
print '</table>';

?>

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Advertencia

No use magic_quotes_gpc o addslashes() y oci_bind_by_name() simultáneamente, ya que no es necesario el entrecomillado. Cualquier comilla aplicada mágicamente será escrita en la base de datos debido a que oci_bind_by_name() inserta los datos textualmente y no elimina las comillas o los caracteres de escape.

Nota:

Si vincula una cadena con una columna CHAR en una cláusula WHERE, recuerde que Oracle utiliza una semántica de comparación de relleno en blanco para columnas CHAR. La variable de PHP debería estar rellena con espacios en blanco a la misma longitud que la columna para que la cláusula WHERE tenga éxito.

Nota:

El argumento variable de PHP es una referencia. Algunas formas de bucles no funcionan como era de esperar:

<?php
foreach ($array as $clave => $valor)  {
    oci_bind_by_name($stid, $clave, $valor);
}
?>

Esto vincula cada clave a la ubicación de $valor, por lo que todas las variables vinculadas terminaran apuntando al valor de la última interación del bucle. En su lugar, se ha de utilizar lo siguiente:

<?php
foreach ($array as $clave => $valor) {
    oci_bind_by_name($stid, $clave, $array[$clave]);
}
?>

Ver también

  • oci_bind_array_by_name() - Vincula un array de PHP con un parámetro de un array de Oracle PL/SQL
  • oci_parse() - Prepara una sentencia de Oracle para su ejecución

oci_bind_array_by_name
oci_cancel
Funciones de OCI8


Cancela la lectura del cursor

oci_bind_by_name
oci_client_version
Funciones de OCI8
PHP Manual

oci_cancel

(PHP 5, PECL OCI8 >= 1.1.0)

oci_cancel — Cancela la lectura del cursor

Descripción

bool oci_cancel ( resource $statement )

Invalida un cursor, liberando todos los recursos asociados y cancela la capacidad para leer desde él.

Parámetros

statement

Una sentencia de OCI.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

oci_bind_by_name
oci_client_version
Funciones de OCI8


Devuelve la versión de la biblioteca cliente de Oracle

oci_cancel
oci_close
Funciones de OCI8
PHP Manual

oci_client_version

(PHP 5.3.7, PECL OCI8 >= 1.4.6)

oci_client_version — Devuelve la versión de la biblioteca cliente de Oracle

Descripción

string oci_client_version ( void )

Devuelve un string que contiene el número de la versión de la biblioteca cliente en C de Oracle a la que está vinculada PHP.

Parámetros

Ninguno

Valores devueltos

Devuelve el número de la versión como un string.

Ejemplos

Ejemplo #1 Ejemplo de oci_client_version()

<?php
    echo "Versión cliente: " . oci_client_version(); // Versión cliente: 11.2.0.2
?>

Notas

Nota:

Las bibliotecas de Oracle anteriores a 10gR2 no tienen la funcionalidad subyacente para obtener el número de la versión de la biblioteca cliente. En este caso será devuelto la cadena "Unknown".

Ver también

  • oci_server_version() - Devuelve la versión de Oracle Database

oci_cancel
oci_close
Funciones de OCI8


Cierra una conexión a Oracle

oci_client_version
oci_commit
Funciones de OCI8
PHP Manual

oci_close

(PHP 5, PECL OCI8 >= 1.1.0)

oci_close — Cierra una conexión a Oracle

Descripción

bool oci_close ( resource $connection )

Desestablece connection. La conexión subyacentte a la base de datos se cierra si otros recursos no la están utilizando y si fue creada con oci_connect() o oci_new_connect().

Se recomienda cerrar las conexiones que no sean necesarias ya que esto hace que los recursos de la base de datos estén disponbles para otros usuarios.

Parámetros

connection

Un identificador de conexión de Oracle devuelto por oci_connect(), oci_pconnect() o oci_new_connect().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Cerrar una conexión

Los recursos asociados con una conexión deberían cerrarse para asegurarse de que la conexión subyacente a la base de datos sea finalizada apropiadamente y sean liberados los recursos de la base de datos.

<?php

$conexión = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conexión) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conexión, 'SELECT * FROM departments');
$r = oci_execute($stid);
oci_fetch_all($stid, $res);
var_dump($res);

// Liberar el identificador de sentencia al cerrar la conexión
oci_free_statement($stid);
oci_close($conexión);

?>

Ejemplo #2 Las conexiones a bases de datos no se cierran hasta que todas las referencias sean cerradas

La cuenta de referencias interna de un identificador de conexión debe ser cero antes de que sea cerrada la conexión subyacente a la base de datos.

<?php

$conexión = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conexión) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conexión, 'SELECT * FROM departments');  // esto incrementa la cuenta de referencias de $conn
oci_execute($stid);
oci_fetch_all($stid, $res);
var_dump($res);

oci_close($conexión);

// $conexión ya no puede ser utilizada en el script, pero la conexión subyacente
// a la base de datos aún se mantiene abierta, hasta que $stid sea liberado.
var_dump($conexión);  // imprime NULL

// Mientras PHP duerme, consultar la vista V$SESSION de Oracle en una
// ventana terminal mostrará que el ususario de la base de datos que aún está conectado.
sleep(10);

// Cuando $stid es liberado, la conexión a la base de datos se cierra físicamente
oci_free_statement($stid);

// Mientras PHP duerme, consultar la vista V$SESSION de Oracle en una
// ventana terminal mostrará que el ususario de la base de datos se ha desconectado.
sleep(10);

?>

Ejemplo #3 Cerrar una conexión abierta más de una vez

Cuando se reutilizan las credenciales de la base de datos, ambas conexiones deben cerrarse antes de que se cierre la conexión subyacente a la base de datos.

<?php

$conexión1 = oci_connect('hr', 'welcome', 'localhost/XE');

// Al usar las mismas credenciales se reutiliza la misma conexión subyacente a la base de datos
// Cualquier cambio no consignado realizado a $conexión1 será visible en $conexión2
$conexión2 = oci_connect('hr', 'welcome', 'localhost/XE');

// Mientras PHP duerme, consultar la vista V$SESSION de Oracle en una
// ventana terminal mostrará que solamente está conectado un ususario de la base de datos.
sleep(10);

oci_close($conexión1); // no cierra la conexión subyacente a la base de datos
var_dump($conexión1);  // imprime NULL debido a que la variable $conexión1 ya no se puede utilizar
var_dump($conexión2);  // muestra que $conexión2 aún es un recurso de conexión válido

?>

Ejemplo #4 Las conexsiones se cierran cuando las variables salen de su ámbito

Cuando todas las variables que hacen referencia a una conexión salen de su ámbito y son liberadas por PHP, se produce una reversión (rollback), si fuera necesaria, y la conexión subyacente a la base de datos se cierra.

<?php

function myfunc() {
    $conexión = oci_connect('hr', 'hrpwd', 'localhost/XE');
    if (!$conexión) {
        $e = oci_error();
        trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
    }

    $stid = oci_parse($conexión, 'UPDATE mytab SET id = 100');
    oci_execute($stid, OCI_NO_AUTO_COMMIT);
    return "Finalizado";
}

$r = myfunc();
// En este punto sucede la reversión y la conexión subyacente a la base de datos queda cerrada.

print $r;  // muestra el valor de retorno "Finalizado" de la función.

?>

Notas

Nota:

Las variables que poseen una dependencia sobre el identificador de conexión, tales como los identificadores de sentencias devueltos por oci_parse(), también deben ser liberadas antes de cerra la conexión subyacente a la base de datos.

Nota:

Antes de la versión 5.1.2 de PHP (PECL OCI8 1.1) oci_close() no operaba. En versiones más recientes cierra correctamente la conexión a Oracle. Use la opción oci8.old_oci_close_semantics para restablecer el comportamento antiguo de esta función.

Nota:

La función oci_close() no cierra las conexiones subyacentes de la bases de datos creadas con oci_pconnect().

Ver también

  • oci_connect() - Conecta a una base de datos de Oracle
  • oci_free_statement() - Libera todos los recursos asociados con una sentencia o cursor

oci_client_version
oci_commit
Funciones de OCI8


Consigna la transacción pendiente de la base de datos

oci_close
oci_connect
Funciones de OCI8
PHP Manual

oci_commit

(PHP 5, PECL OCI8 >= 1.1.0)

oci_commit — Consigna la transacción pendiente de la base de datos

Descripción

bool oci_commit ( resource $connection )

Consigna la transacción pendiente de la conexión de Oracle dada por connection. Una consignación finaliza la transacción actual y hace permanente todos los cambios. Libera todos los bloqueos que hubiera.

Una transacción comienza cuando la primera sentencia SQL que modifica datos es ejecutada con oci_execute() usando la bandera OCI_NO_AUTO_COMMIT. Las modificaciones posteriores de datos realizados por otra sentencia serán parte de la misma transacción. Las modificaciones hechas en una transacción son temporales hasta que sea consignada o revertida. Los demás usuarios de la base de datos no verán dichos cambios hasta que sean consignados.

Cuando se insertan datos, se recomienda usar transacciones para mantener la consistencia de datos relacionales y por motivos de rendimiento.

Parámetros

connection

Un identificador de conexión de Oracle, devuelto por oci_connect(), oci_pconnect(), o oci_new_connect().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de oci_commit()

<?php

// Insertar en varias tablas, y revertir los cambios si ocurrió un error

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, "INSERT INTO mysalary (id, name) VALUES (1, 'Chris')");

// La bandera OCI_NO_AUTO_COMMIT indica a Oracle que no consigne el INSERT inmediatamente
// Use OCI_DEFAULT como bandera para PHP <= 5.3.1. Las dos banderas son equivalentes
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!$r) {
    $e = oci_error($stid);
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, 'INSERT INTO myschedule (startday) VALUES (12)');
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!$r) {
    $e = oci_error($stid);
    oci_rollback($conn);  // revertir los cambios en ambas tablas
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

// Consignar los cambios de ambas tablas
$r = oci_commit($conn);
if (!r) {
    $e = oci_error($conn);
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

?>

Notas

Nota:

Las transacciones son revertidas automáticamente cuando se cierra la conexión, o cuando el script finaliza, lo que suceda antes. Es necesario llamar a oci_commit() para consignar la transacción.

Cualquier llamada a oci_execute() que utilice el modo OCI_COMMIT_ON_SUCCESS, de forma explícita o por omisión, consignará cualquier transacción no consignada previamente.

Cualquier sentencia DDL de Oracle, como CREATE o DROP, consignará automáticamente cualquier transacción no consignada.

Ver también

  • oci_execute() - Ejecuta una sentencia
  • oci_rollback() - Revierte la transacción pendiente de la base de datos

oci_close
oci_connect
Funciones de OCI8


Conecta a una base de datos de Oracle

oci_commit
oci_define_by_name
Funciones de OCI8
PHP Manual

oci_connect

(PHP 5, PECL OCI8 >= 1.1.0)

oci_connect — Conecta a una base de datos de Oracle

Descripción

resource oci_connect ( string $username , string $password [, string $connection_string [, string $character_set [, int $session_mode ]]] )

Devuelve un identificador de conexión necesario para la mayoría de las operaciones de OCI8.

Véase Manejo de conexiones para obtener información general sobre la gestión y agrupamiento de conexiones.

Desde PHP 5.1.2 (PECL OCI8 1.1), se puede usar oci_close() para cerrar conexiones.

La segunda y subsiguientes llamadas a oci_connect() con los mismos parámetros devolverán el gestor de conexión devuelto desde la primera llamada. Esto significa que las transacciones de un gestor también son las de los demás gestores, ya que usan la misma conexión subyacente a la base de datos. Si dos gestores necesitan ser aislados transaccionalmente uno de otro, use oci_new_connect() en su lugar.

Parámetros

username

El nombre de usuario de Oracle.

password

La contraseña para username.

connection_string

Contiene la instancia de Oracle a la que conectarse. Puede ser una » cadena de Conexión Sencilla (Easy Connect), o un Nombre de Conexión del fichero tnsnames.ora, o el nombre de una instancia local de Oracle.

Si no se especifica, PHP utiliza variables de entorno como TWO_TASK (en Linux) o LOCAL (en Windows) y ORACLE_SID para determinar la instancia de Oracle a la que conectarse.

Para utilizar el método de nomenclatura de Conexión Sencila, PHP debe estar vinculado con las bibliotecas cliente de Oracle 10g o superiores. La cadena de Conexión Sencilla para Oracle 10g se utiliza de la siguiente forma: [//]nombre_host[:puerto][/nombre_servicio]. Desde Oracle 11g, la sintaxis es: [//]nombre_host[:puerto][/nombre_servicio][:tipo_servicio][/nombre_instancia]. Los nombres de servicio pueden encontrarse ejecuntado la utilidad de Oracle lsnrctl status en el servidor donde se encuentra la base de datos.

El fichero tnsnames.ora puede estar en la ruta de búsqueda de Oracle Net, la cual incluye $ORACLE_HOME/network/admin y /etc. De forma alternativa, establezca TNS_ADMIN para que $TNS_ADMIN/tnsnames.ora sea leído. Asegúrse que el demonio web tiene acceso de lectura al fichero.

character_set

Determina el juego de caracteres usado por las bibliotecas cliente de Oracle. El juego de caracteres no tiene por que coinicidir con el utilizado en la base de datos. Si no coinicide, Oracle intentará hacer lo posible para convertir los datos entre los dos juegos de caracteres. Dependiendo del juego de caracteres que se esté usando, podría no proporcionarse resultados útiles. La conversión también añade algo de carga extra de tiempo.

Si no se especifica, las bibliotacas cliente de Oracle determinarán el juego de caracteres desde la variable de entorno NLS_LANG.

Pasar este parámetro puede reducir el tiempo que toma en conectarse.

session_mode

Este parámetro está disponible desde la versión 5 de PHP (PECL OCI8 1.1) y acepta los siguientes valores: OCI_DEFAULT, OCI_SYSOPER y OCI_SYSDBA. Si se especifica OCI_SYSOPER o OCI_SYSDBA, esta función intentará establecer una conexión privilegiada con las credenciales externas. Las conexiones privilegiadas están desactivadas por omisión. Para activarlas hay que establecer oci8.privileged_connect a On.

En PHP 5.3 (PECL OCI8 1.3.4) se introdujo el valor de modo OCI_CRED_EXT. Esto indica a Oracle que utilice la autenticación Externa o del SO, la cual debe estar configurada en la base de datos. La bandera OCI_CRED_EXT sólo puede usarse con el nombre de usuario "/" y la contraseña en blanco. oci8.privileged_connect podría ser On o Off.

OCI_CRED_EXT podría estar en combinación con los modos OCI_SYSOPER o OCI_SYSDBA.

OCI_CRED_EXT no se admite en Windows por razones de seguridad.

Valores devueltos

Devuelve un identificador de conexión, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Uso básico de oci_connect() utilizando la sintaxis de Easy Connect

<?php

// Conectar al servicio XE (es deicr, la base de datos) en la máquina "localhost"
$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "") . "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Ejemplo #2 Uso básico de oci_connect() utilizando un nombre de Network Connect

<?php

// Conectar a la base de datos MYDB descrita en el fichero tnsnames.ora,
// Un ejemplo de una entrada de tnsnames.ora para MYDB podría ser:
//   MYDB =
//     (DESCRIPTION =
//       (ADDRESS = (PROTOCOL = TCP)(HOST = mymachine.oracle.com)(PORT = 1521))
//       (CONNECT_DATA =
//         (SERVER = DEDICATED)
//         (SERVICE_NAME = XE)
//       )
//     )

$conn = oci_connect('hr', 'welcome', 'MYDB');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "") . "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Ejemplo #3 oci_connect() con un conjunto de caracteres explícito

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE', 'AL32UTF8');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "") . "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Ejemplo #4 Usar múltiples llamadas a oci_connect()

<?php

$c1 = oci_connect("hr", "welcome", 'localhost/XE');
$c2 = oci_connect("hr", "welcome", 'localhost/XE');

// $c1 y $c2 muestran el mismo id de recurso de PHP, ya que usan la
// misma conexión subyacente a la base de datos
echo "c1 is $c1<br>\n";
echo "c2 is $c2<br>\n";

function create_table($conn)
{
    $stmt = oci_parse($conn, "create table hallo (test varchar2(64))");
    oci_execute($stmt);
    echo "Created table<br>\n";
}

function drop_table($conn)
{
    $stmt = oci_parse($conn, "drop table hallo");
    oci_execute($stmt);
    echo "Dropped table<br>\n";
}

function insert_data($connname, $conn)
{
    $stmt = oci_parse($conn, "insert into hallo
              values(to_char(sysdate,'DD-MON-YY HH24:MI:SS'))");
    oci_execute($stmt, OCI_DEFAULT);
    echo "$connname inserted row without committing<br>\n";
}

function rollback($connname, $conn)
{
    oci_rollback($conn);
    echo "$connname rollback<br>\n";
}

function select_data($connname, $conn)
{
    $stmt = oci_parse($conn, "select * from hallo");
    oci_execute($stmt, OCI_DEFAULT);
    echo "$connname ----selecting<br>\n";
    while (oci_fetch($stmt)) {
        echo "    " . oci_result($stmt, "TEST") . "<br>\n";
    }
    echo "$connname ----done<br>\n";
}

create_table($c1);

insert_data('c1', $c1);   // Insertar una fila usando c1
sleep(2);                 // Dormir para mostrar una marca de tiempo diferente en la 2ª fila
insert_data('c2', $c2);   // Insertar una fila usando c2

select_data('c1', $c1);   // Son devueltas ambas inserciones
select_data('c2', $c2);   // Son devueltas ambas inserciones

rollback('c1', $c1);      // Revertir usando c1

select_data('c1', $c1);   // Ambas inserciones han sido revertidas
select_data('c2', $c2);

drop_table($c1);

// El cierre de una de las conexiones hace que la variable de PHP sea inutilizable, aunque
// se podría utilizar la otra
oci_close($c1);
echo "c1 is $c1<br>\n";
echo "c2 is $c2<br>\n";

// La salida es:
//    c1 is Resource id #5
//    c2 is Resource id #5
//    Created table
//    c1 inserted row without committing
//    c2 inserted row without committing
//    c1 ----selecting
//        09-DEC-09 12:14:43
//        09-DEC-09 12:14:45
//    c1 ----done
//    c2 ----selecting
//        09-DEC-09 12:14:43
//        09-DEC-09 12:14:45
//    c2 ----done
//    c1 rollback
//    c1 ----selecting
//    c1 ----done
//    c2 ----selecting
//    c2 ----done
//    Dropped table
//    c1 is
//    c2 is Resource id #5

?>

Notas

Nota:

Una instalación o configuración incorrecta de la extensión OCI8 a menudo se manifestará como un problema o error de conexión. Véase la sección Instalación/Configuración para obtener información sobre la solución de problemas.

Ver también

  • oci_pconnect() - Conectar a una base de datos de Oracle usando una conexión persistente
  • oci_new_connect() - Conectar al servidor de Oracle usando una conexión única
  • oci_close() - Cierra una conexión a Oracle

oci_commit
oci_define_by_name
Funciones de OCI8


Asocia una variable de PHP con una columna para la obtención de consultas

oci_connect
oci_error
Funciones de OCI8
PHP Manual

oci_define_by_name

(PHP 5, PECL OCI8 >= 1.1.0)

oci_define_by_name — Asocia una variable de PHP con una columna para la obtención de consultas

Descripción

bool oci_define_by_name ( resource $statement , string $column_name , mixed &$variable [, int $type = SQLT_CHR ] )

Asocia una variable de PHP con una columna para la obtención de consultas usando oci_fetch().

La llamada a oci_define_by_name() debe ocurrir antes que la ejecución de oci_execute().

Parámetros

statement

Un identificador de sentencia de OCI8 válido creado por oci_parse() y ejecutado por oci_execute(), o un identificador de sentencia de REF CURSOR.

column_name

El nombre de la columna usada en la consulta.

Use los nombres de columnas predeterminados de Oracle, en mayúsculas e insensibles al uso de mayúsculas/minúsculas. Use los nombres de columna exactos para nombres de columnas sensibles al uso de mayúsculas/minúsculas.

variable

La variable de PHP que contendrá el valor de la columna devuelta.

type

El tipo de dato a devolver. Generalmente no es necesario. Observe que no se lleva a cabo la conversión de datos estilo Oracle. Por ejemplo, SQLT_INT será ignorado, y el tipo de dato devuelto continuará siendo SQLT_CHR.

Opcionalmente se puede usar oci_new_descriptor() para asignar descriptores LOB/ROWID/BFILE.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de oci_define_by_name()

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'SELECT location_id, city FROM locations WHERE location_id < 1200';
$stid = oci_parse($conn, $sql);

// Las definiciones DEBEN hacerse antes de la ejecución
oci_define_by_name($stid, 'LOCATION_ID', $locid);
oci_define_by_name($stid, 'CITY', $city);

oci_execute($stid);

// Cada obtención rellena las variables anteriormente definidas con los datos de la siguiente fila
while (oci_fetch($stid)) {
    echo "La ubicación del id $locid es $city<br>\n";
}

// Se muestra:
//   La ubicación del id 1000 es Roma
//   La ubicación del id 1100 es Venice

oci_free_statement($stid);
oci_close($conn);

?>

Ejemplo #2 oci_define_by_name() con nombres de columna sensibles al uso de mayúsculas/minúsculas

<?php

/*
  Antes de ejecutarlo, cree la tabla con un nombre de columna sensible al uso de mayúsculas/minúsculas
    CREATE TABLE mytab (id NUMBER, "MyDescription" VARCHAR2(30));
    INSERT INTO mytab (id, "MyDescription") values (1, 'Iced Coffee');
    COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM mytab');

// Use mayúsculas para nombres de columnas insensible al uso de mayúsculas/minúsculas
oci_define_by_name($stid, 'ID', $id);

// Use el nombre exacto para nombres de columnas sensible al uso de mayúsculas/minúsculas
oci_define_by_name($stid, 'MyDescription', $mydesc);

oci_execute($stid);

while (oci_fetch($stid)) {
    echo "El id $id es $mydesc<br>\n";
}

// Se muestra:
//   El id 1 es Iced Coffee

oci_free_statement($stid);
oci_close($conn);

?>

Ejemplo #3 oci_define_by_name() con columnas de tipo LOB

<?php

/*
  Antes de ejecutarlo, cree la tabla:
    CREATE TABLE mytab (id NUMBER, fruit CLOB);
    INSERT INTO mytab (id, fruit) values (1, 'manzana');
    INSERT INTO mytab (id, fruit) values (2, 'naranaja');
    COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM mytab');

// Las definiciones DEBEN hacerse antes de la ejecución
oci_define_by_name($stid, 'ID', $id);
oci_define_by_name($stid, 'FRUIT', $fruta);  // $fruta será un descriptor LOB

oci_execute($stid);

while (oci_fetch($stid)) {
    echo $id . " es " . $fruta->load(100) . "<br>\n";
}

// Se muestra:
//   1 es manzana
//   2 es naranaja

$fruta->free();
oci_free_statement($stid);
oci_close($conn);

?>

Ejemplo #4 oci_define_by_name() con un tipo explícito

<?php

/*
  Antes de ejecutarlo, cree la tabla:
    CREATE TABLE mytab (id NUMBER, fruit CLOB);
    INSERT INTO mytab (id, fruit) values (1, 'manzana');
    INSERT INTO mytab (id, fruit) values (2, 'naranaja');
    COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM mytab');

// Las definiciones DEBEN hacerse antes de la ejecución
oci_define_by_name($stid, 'ID', $id);

$fruta = oci_new_descriptor($conn, OCI_D_LOB);
oci_define_by_name($stid, 'FRUIT', $fruta, OCI_D_CLOB);

oci_execute($stid);

while (oci_fetch($stid)) {
    echo $id . " es " . $fruta->load(100) . "<br>\n";
}

// Se muestra:
//   1 es manzana
//   2 es naranaja

$fruta->free();
oci_free_statement($stid);
oci_close($conn);

?>

Ver también

  • oci_fetch() - Coloca la siguiente fila de una consulta en los búferes internos
  • oci_new_descriptor() - Inicializa un nuevo descriptor vacío LOB o FILE

oci_connect
oci_error
Funciones de OCI8


Devuelve el último error encontrado

oci_define_by_name
oci_execute
Funciones de OCI8
PHP Manual

oci_error

(PHP 5, PECL OCI8 >= 1.1.0)

oci_error — Devuelve el último error encontrado

Descripción

array oci_error ([ resource $resource ] )

Devuelve el último error encontrado.

La función debería ser invocada inmediatamente después de que ocurra un error. Los errores son limpiados por una sentencia que tenga éxito.

Parámetros

resource

Para la mayoría de errores, resource es el
gestor de recurso que fue pasado a la función que falló.
Para errores de conexión con  oci_connect(),
 oci_new_connect() o
 oci_pconnect(), no pase resource.

Valores devueltos

Si no se encontró ningún error, oci_error() devuelve FALSE. De lo contrario, oci_error() devuelve la información del error como un array asociativo.

Descripción del array de oci_error()
Clave del array | Tipo | Descripción
code | integer | El número de error de Oracle.
message | string | El texto del error de Oracle.
offset | integer | La posición del byte de un error en una sentencia SQL. Si no existiera tal sentencia, este valor será 0
sqltext | string | El texto de la sentencia SQL. Si no existiera tal sentencia, este valor será una cadena vacía.

Historial de cambios

Versión | Descripción
4.3.0 | Se añadieron las entradas offset y sqltext.

Ejemplos

Ejemplo #1 Mostrar el mensaje de error de Oracle después de un error de conexión

<?php
$conn = oci_connect("hr", "welcome", "localhost/XE");
if (!$conn) {
    $e = oci_error();   // Para errores de oci_connect errors, no pase un gestor
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}
?>

Ejemplo #2 Mostrar el mensaje de error de Oracle después de un error de análisis

<?php
$stid = oci_parse($conn, "select ' from dual");  // observe la comilla simple dispareja
if (!$stid) {
    $e = oci_error($conn);  // Para errores de oci_parse, pase el gestor de conexión
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}
?>

Ejemplo #3 Mostrar el mensaje de error de Oracle, la sentencia problemática, y la posición del problema en un error de ejecución

<?php
$stid = oci_parse($conn, "select does_not_exist from dual");
$r = oci_execute($stid);
if (!$r) {
    $e = oci_error($stid);  // Para errores de oci_execute, pase el gestor de sentencia
    print htmlentities($e['message']);
    print "\n<pre>\n";
    print htmlentities($e['sqltext']);
    printf("\n%".($e['offset']+1)."s", "^");
    print  "\n</pre>\n";
}
?>

oci_define_by_name
oci_execute
Funciones de OCI8


Ejecuta una sentencia

oci_error
oci_fetch_all
Funciones de OCI8
PHP Manual

oci_execute

(PHP 5, PECL OCI8 >= 1.1.0)

oci_execute — Ejecuta una sentencia

Descripción

bool oci_execute ( resource $statement [, int $mode = OCI_COMMIT_ON_SUCCESS ] )

Ejecuta la sentencia dada por statement anteriormente devuelta desde oci_parse().

Después de la ejecución, las sentencias como INSERT, por omisión, contendrán datos consolidados en la base de datos. Para sentencias como SELECT, la ejecución realiza la lógica de la consulta. Los resultados de las consultas pueden obtenerse posteriormente en PHP con funciones como oci_fetch_array().

Cada sentencia analizada podría ser ejecutada múltiples veces, ahorrando el coste de un reanálisis. Esto se utlilza comúnmente para sentencias INSERT cuando los datos están vinculados con oci_bind_by_name().

Parámetros

statement

Un identificador de sentencia de OCI válido.

mode

Este segundo parámetro opcional puede ser una de las siguietnes constantes:

Modos de ejecución
Constante | Descripción
OCI_COMMIT_ON_SUCCESS | Consolida automáticamente todos los cambios pendientes de esta conexión cuando la sentencia ha tenido éxito. Es la predetermianda.
OCI_DESCRIBE_ONLY | Dispone los metadatos de la consulta a funciones como oci_field_name(), pero no crea un conjunto de resultados. Cualquier llamada de obtención subsiguiente, como con oci_fetch_array(), fallará.
OCI_NO_AUTO_COMMIT | No consolida automáticamete los cambios. Antes de PHP 5.3.2 (PECL OCI8 1.4) use OCI_DEFAULT, la cual es equivalente a OCI_NO_AUTO_COMMIT.

Al usar el modo OCI_NO_AUTO_COMMIT se inicia o continua una transacción. Las transacciones son automáticamente revertidas cuando la conexión se cierra, o cuando el script finaliza. Para consolidar explícitamente una trasacción, invoque a oci_commit(), o a oci_rollback() para abortarla.

Cuando se insertar o actualizan datos, se recomienda usar transacciones para mantener la consistencia de datos relacionales y por razones de rendimiento.

Si se usa el modo OCI_NO_AUTO_COMMIT para cualquier sentencia, incluyendo consultas, y no se llama posteriormente a oci_commit() o oci_rollback(), OCI8 realizará una reversión al final del script incluso si no se modificó ningún dato. Para evitar reversiones innecesarias, muchos scripts no usan el modo OCI_NO_AUTO_COMMIT para consultas o PL/SQL. Tenga cuidado de asegurar la consistencia transaccional apropiada para la aplicación cuando use oci_execute() con diferentes modos en el mismo script.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 oci_execute() para consultas

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($fila = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($fila as $elemento) {
        echo "    <td>" . ($elemento !== null ? htmlentities($elemento, ENT_QUOTES) : "") . "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Ejemplo #2 Ejemplo de oci_execute() sin especificar un modo

<?php

// Antes de ejecutarlo, cree la tabla:
//   CREATE TABLE MYTABLE (col1 NUMBER);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'INSERT INTO mytab (col1) VALUES (123)');

oci_execute($stid); // La fila se consolida y es visible inmediatamente a otros usuarios

?>

Ejemplo #3 Ejemplo de oci_execute() con OCI_NO_AUTO_COMMIT

<?php

// Antes de ejecutarlo, cree la tabla:
//   CREATE TABLE MYTABLE (col1 NUMBER);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'INSERT INTO mytab (col1) VALUES (:bv)');
oci_bind_by_name($stid, ':bv', $i, 10);
for ($i = 1; $i <= 5; ++$i) {
    oci_execute($stid, OCI_NO_AUTO_COMMIT);  // use OCI_DEFAULT para PHP <= 5.3.1
}
oci_commit($conn);  // consolida todos los nuevos valores: 1, 2, 3, 4, 5

?>

Ejemplo #4 Ejemplo de oci_execute() con diferentes modos de consolidación

<?php

// Antes de ejecutarlo, cree la tabla:
//   CREATE TABLE MYTABLE (col1 NUMBER);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'INSERT INTO mytab (col1) VALUES (123)');
oci_execute($stid, OCI_NO_AUTO_COMMIT);  // datos no consolidados

$stid = oci_parse($conn, 'INSERT INTO mytab (col1) VALUES (456)');
oci_execute($stid);  // consolida tanto el valor 123 como 456

?>

Ejemplo #5 Ejemplo de oci_execute() con OCI_DESCRIBE_ONLY

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'SELECT * FROM locations');
oci_execute($s, OCI_DESCRIBE_ONLY);
for ($i = 1; $i <= oci_num_fields($stid); ++$i) {
    echo oci_field_name($stid, $i) . "<br>\n";
}

?>

Notas

Nota:

Las transacciones son automáticamente revertidas cuando se cierran las conexiones, o cuando el script finaliza, lo que ocurra antes. Para consolidar explícitamente una transacción, invoque a oci_commit().

Cualquier llamada a oci_execute() que use el modo OCI_COMMIT_ON_SUCCESS, explícitamente o por omisión, consolidará cualquier transacción no consolidada anterioremente.

Cualquier sentencia DDL de Oracle, como CREATE o DROP, consolidará automáticamente cualquier transacción no consolidada.

Nota:

Debido a que la función oci_execute() generalmente envía la sentencia a la base de datos, oci_execute() puede identificar algunos errores de sintaxis que no identifica la función ligera local oci_parse().

Ver también

  • oci_parse() - Prepara una sentencia de Oracle para su ejecución

oci_error
oci_fetch_all
Funciones de OCI8


Obtiene múltiples filas de una consulta y las ubica en un array bidimiensional

oci_execute
oci_fetch_array
Funciones de OCI8
PHP Manual

oci_fetch_all

(PHP 5, PECL OCI8 >= 1.1.0)

oci_fetch_all — Obtiene múltiples filas de una consulta y las ubica en un array bidimiensional

Descripción

int oci_fetch_all ( resource $statement , array &$output [, int $skip = 0 [, int $maxrows = -1 [, int $flags = OCI_FETCHSTATEMENT_BY_COLUMN + OCI_ASSOC ]]] )

Obtiene múltiples filas de una consulta y las ubica en un array bidimiensional. Por omisión, se devuelven todas las filas.

Esta función puede ser llamada únicamente una vez por cada consulta ejecutada con oci_execute().

Parámetros

statement

Un identificador de sentencia de OCI8 válido creado por oci_parse() y ejecutado por oci_execute(), o un identificador de sentencia de REF CURSOR.

output

La variable que contiene las filas devueltas.

Las columnas LOB son devueltas como cadenas, donde Oracle admite la conversión.

Véase oci_fetch_array() para más información sobre cómo se obtienen los datos y los tipos.

skip

El número de filas iniciales a descartar cuando se obtiene el resultado. El valor predeterminado es 0, por lo que se devuelve la primera fila en adelante.

maxrows

El número de filas a devolver. El valor predeterminado es -1, lo que significa que se devuelven todas las filas desde skip + 1 en adelante.

flags

El parámetro flags indica la estructura del array y si se deberían usar arrays asociativos.

Modos de estructura del array de oci_fetch_all()
Constante | Descripción
OCI_FETCHSTATEMENT_BY_ROW | El array externo contendrá un subarray por cada fila de la consulta.
OCI_FETCHSTATEMENT_BY_COLUMN | El array externo contendrá un subarray por cada columna de la consulta. Esto es lo predeterminado.

Los arrays se pueden indexar por encabezado de columna o numéricamente.

Modos de indexación del array de oci_fetch_all()
Constante | Descripción
OCI_NUM | Se utilizan índices numéricos por cada array de columna.
OCI_ASSOC | Se utilizan índices asociativos por cada array de columna. Esto es lo predeterminado.

Utilice el operador de adición "+" para elegir una combinación de modos de estructura e índice del array.

Los nombres de columna predeterminados de Oracle insensibles al uso de mayúsculas/minúsculas tendrán claves de array en mayúsculas. Los nombres de columnas sensibles al uso de mayúsculs/minúsculas tendrán claves de array que usan el nombre exacto de la columna. Use var_dump() en output para verificar el uso apropiado de mayúsculas/minúsculas en cada consulta.

Las consultas que tienen más de una columna con el mismo nombre deberían usar un alias de columna. Si no, aparecerá únicamente una de las columnas en el array asociativo.

Valores devueltos

Devuelve el número de filas de output, el cual podría ser cero o más, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de oci_fetch_all()

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT POSTAL_CODE, CITY FROM locations WHERE ROWNUM < 3');
oci_execute($stid);

$nrows = oci_fetch_all($stid, $res);

echo "$nrows filas obtenidas<br>\n";
var_dump($res);

// la salida de var_dump es:
//    2 filas obtenidas
//    array(2) {
//      ["POSTAL_CODE"]=>
//      array(2) {
//        [0]=>
//        string(6) "00989x"
//        [1]=>
//        string(6) "10934x"
//      }
//      ["CITY"]=>
//      array(2) {
//        [0]=>
//        string(4) "Roma"
//        [1]=>
//        string(6) "Venice"
//      }
//    }

// Imprimir los resultados de forma legible
echo "<table border='1'>\n";
foreach ($res as $col) {
    echo "<tr>\n";
    foreach ($col as $item) {
        echo "    <td>".($item !== null ? htmlentities($item, ENT_QUOTES) : "")."</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

oci_free_statement($stid);
oci_close($conn);

?>

Ejemplo #2 Ejemplo de oci_fetch_all() con OCI_FETCHSTATEMENT_BY_ROW

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT POSTAL_CODE, CITY FROM locations WHERE ROWNUM < 3');
oci_execute($stid);

$nrows = oci_fetch_all($stid, $res, null, null, OCI_FETCHSTATEMENT_BY_ROW);

echo "$nrows filas obtenidas<br>\n";
var_dump($res);

// La salida es:
//    2 filas obtenidas
//    array(2) {
//      [0]=>
//      array(2) {
//        ["POSTAL_CODE"]=>
//        string(6) "00989x"
//        ["CITY"]=>
//        string(4) "Roma"
//      }
//      [1]=>
//      array(2) {
//        ["POSTAL_CODE"]=>
//        string(6) "10934x"
//        ["CITY"]=>
//        string(6) "Venice"
//      }
//    }

oci_free_statement($stid);
oci_close($conn);

?>

Ejemplo #3 oci_fetch_all() con OCI_NUM

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT POSTAL_CODE, CITY FROM locations WHERE ROWNUM < 3');
oci_execute($stid);

$nrows = oci_fetch_all($stid, $res, null, null, OCI_FETCHSTATEMENT_BY_ROW + OCI_NUM);

echo "$nrows filas obtenidas<br>\n";
var_dump($res);

// La salida es:
//    2 filas obtenidas
//    array(2) {
//      [0]=>
//      array(2) {
//        [0]=>
//        string(6) "00989x"
//        [1]=>
//        string(4) "Roma"
//      }
//      [1]=>
//      array(2) {
//        [0]=>
//        string(6) "10934x"
//        [1]=>
//        string(6) "Venice"
//      }
//    }

oci_free_statement($stid);
oci_close($conn);

?>

Notas

Nota:

Usar skip es muy ineficiente. Todas las filas que van a omitirse están incluidas en el conjunto de resultados que es devuelto desde la base de datos a PHP. Luego son excluidas. Es más eficiente usar SQL para restringir el índice y el rango de filas de las consultas. Véase oci_fetch_array() para un ejemplo.

Nota:

Las consultas que devuelven un número grande de filas pueden usar la memoria de forma más eficiente si se utiliza una función que obtiene una sola fila, como oci_fetch_array().

Nota:

Para consultas que devuelven un gran número de filas, se puede mejorar el rendimiento significativamente incrementando oci8.default_prefetch o utilizando oci_set_prefetch().

Nota:

No se devolverán filas desde Conjuntos de Resultados Implícitos de Oracle Database 12c. Use oci_fetch_array() en su lugar.

Ver también

  • oci_fetch() - Coloca la siguiente fila de una consulta en los búferes internos
  • oci_fetch_array() - Devuelve la siguiente fila de una consulta como un array asociativo o numérico
  • oci_fetch_assoc() - Devuelve la siguiente fila de una consulta como un array asociativo
  • oci_fetch_object() - Devuelve la siguiente fila de una consulta como un objeto
  • oci_fetch_row() - Devuelve la siguiente fila de una consulta como un array numérico
  • oci_set_prefetch() - Establece el número de filas a precargar mediante consultas

oci_execute
oci_fetch_array
Funciones de OCI8


Devuelve la siguiente fila de una consulta como un array asociativo o numérico

oci_fetch_all
oci_fetch_assoc
Funciones de OCI8
PHP Manual

oci_fetch_array

(PHP 5, PECL OCI8 >= 1.1.0)

oci_fetch_array — Devuelve la siguiente fila de una consulta como un array asociativo o numérico

Descripción

array oci_fetch_array ( resource $statement [, int $mode ] )

Devuelve un array que contiene la siguiente fila del conjunto de resultados de una consulta. Cada entrada del array corresponde a una columna de la fila. Esta función se invoca normamente en un bucle hasta que devuelva FALSE, indicando que no existen más filas.

Si statement se corresponde con un bloque de PL/SQL devuelto por Conjuntos de Resultados Implícitos de Oracle Database 12c, entonces las filas de todos los conjuntos se obtienen consecutivamente. Si statement es devuelto por oci_get_implicit_resultset(), solamente son devueltos los subconjuntos de filas para una consulta hija.

Para más detalles sobre cómo la extensión OCI8 realiza la correspondencia entre tipos de datos, véasen los tipos de datos admitidos por el controlador

Parámetros

statement

Un identificador de sentencia de OCI8 válido creado por oci_parse() y ejecutado por oci_execute(), o un identificador de sentencia de REF CURSOR.

También puede ser un identificador de sentencia devuelto por oci_get_implicit_resultset().

mode

Este segundo parámetro opcional puede ser cualquier combinación de las siguientes contantes:

Modos de oci_fetch_array()
Constante | Descripción
OCI_BOTH | Devuelve un array con índices tanto asociativos como numéricos. Es lo mismo que con OCI_ASSOC + OCI_NUM y es el comportamiento predeterminado.
OCI_ASSOC | Devuelve un array asociativo.
OCI_NUM | Devuelve un array numérico.
OCI_RETURN_NULLS | Crea elementos para campos NULL. Los valores de los elementos serán NULL de PHP.
OCI_RETURN_LOBS | Devuelve el contenido de los LOBs en lugar de los descriptores de los mismos.

El valor predeterminado de mode es OCI_BOTH.

Use el operador de adición "+" para especificar más de un modo a la vez.

Valores devueltos

Devuelve un array con los índices asociativos y/o numéricos. Si no existen más filas en statement, devolverá FALSE.

Por omisión, las columnas LOB son devueltas como descriptores LOB.

Las columnas DATE son devueltas como string con el formato de fecha actual. El formato predeterminado se puede cambiar con las variables de entorno de Oracle, como NLS_LANG, o ejecutando previamente un comando ALTER SESSION SET NLS_DATE_FORMAT.

Los nombres de columna predeterminados de Oracle que insensibles al uso de mayúsculas/minúsculas tendrán claves de array en mayúsculas. Los nombres de columnas sensibles al uso de mayúsculas/minúsculas tendrán claves de array que usan el nombre exacto de la columna. Use var_dump() en el array resultante para verificar el uso apropiado de mayúsculas/minúsculas en cada consulta.

El nombre de la tabla no está incluído en el índice del array. Si la consulta contiene dos columnas diferentes con el mismo nombre, use OCI_NUM o añada un alias de columna a la consulta para asegurarse de la unicidad de los nombres (véase el ejemplo #7). De lo contrario, solamente será devuelta una columna mediante PHP.

Ejemplos

Ejemplo #1 oci_fetch_array() con OCI_BOTH

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT department_id, department_name FROM departments');
oci_execute($stid);

while (($row = oci_fetch_array($stid, OCI_BOTH)) != false) {
    // Usar nombres de columna en mayúsculas para los índices del array asociativo
    echo $row[0] . " y " . $row['DEPARTMENT_ID']   . " son lo mismo<br>\n";
    echo $row[1] . " y " . $row['DEPARTMENT_NAME'] . " son lo mismo<br>\n";
}

oci_free_statement($stid);
oci_close($conn);

?>

Ejemplo #2 oci_fetch_array() con OCI_NUM

<?php

/*
  Antes de ejecutarlo, cree la tabla:
      CREATE TABLE mytab (id NUMBER, description CLOB);
      INSERT INTO mytab (id, description) values (1, 'Un string muy largo');
      COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, description FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_array($stid, OCI_NUM)) != false) {
    echo $row[0] . "<br>\n";
    echo $row[1]->read(11) . "<br>\n"; // esto imprimirá los primeros 11 bytes de DESCRIPTION
}

// La salida es:
//    1
//    Un string m

oci_free_statement($stid);
oci_close($conn);

?>

Ejemplo #3 oci_fetch_array() con OCI_ASSOC

<?php

/*
  Antes de ejecutarlo, cree la tabla:
      CREATE TABLE mytab (id NUMBER, description CLOB);
      INSERT INTO mytab (id, description) values (1, 'Un string muy largo');
      COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, description FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_array($stid, OCI_ASSOC)) != false) {
    echo $row['ID'] . "<br>\n";
    echo $row['DESCRIPTION']->read(11) . "<br>\n"; // esto imprimirá los primeros 11 bytes de DESCRIPTION
}

// La salida es:
//    1
//    Un string m

oci_free_statement($stid);
oci_close($conn);

?>

Ejemplo #4 oci_fetch_array() con OCI_RETURN_NULLS

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT 1, null FROM dual');
oci_execute($stid);
while (($row = oci_fetch_array ($stid, OCI_ASSOC)) != false) { // Ignorar los NULL
    var_dump($row);
}

/*
El código de arriba imprime:
  array(1) {
    [1]=>
    string(1) "1"
  }
*/

$stid = oci_parse($conn, 'SELECT 1, null FROM dual');
oci_execute($stid);
while (($row = oci_fetch_array ($stid, OCI_ASSOC+OCI_RETURN_NULLS)) != false) { // Obtener los NULL
    var_dump($row);
}

/*
El código de arriba imprime:
  array(2) {
    [1]=>
    string(1) "1"
    ["NULL"]=>
    NULL
  }
*/

?>

Ejemplo #5 oci_fetch_array() con OCI_RETURN_LOBS

<?php

/*
  Antes de ejecutarlo, cree la tabla:
      CREATE TABLE mytab (id NUMBER, description CLOB);
      INSERT INTO mytab (id, description) values (1, 'Un string muy largo');
      COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, description FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_LOBS)) != false) {
    echo $row['ID'] . "<br>\n";
    echo $row['DESCRIPTION'] . "<br>\n"; // contiene todo lo de DESCRIPTION
}

// La salida es:
//    1
//    Un string muy largo

oci_free_statement($stid);
oci_close($conn);

?>

Ejemplo #6 oci_fetch_array() con nombres de columna sensibles al uso de mayúsculas/minúsculas

<?php

/*
  Antes de ejecutarlo, cree la tabla:
      CREATE TABLE mytab ("Name" VARCHAR2(20), city VARCHAR2(20));
      INSERT INTO mytab ("Name", city) values ('Chris', 'Melbourne');
      COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'select * from mytab');
oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS);

// Ya que 'Name' fue creado como columna sensible al uso de mayúsculas/minúsculas,
// se usa lo mismo para el índice del array. Sin embargo, debe usarse 'CITY' en
// mayúsculas para los índices de columna insensibles al uso de mayúsculas/minúsculas
print $row['Name'] . "<br>\n";   //  imprime Chris
print $row['CITY'] . "<br>\n";   //  imprime Melbourne

oci_free_statement($stid);
oci_close($conn);

?>

Ejemplo #7 oci_fetch_array() con columnas que tienen nombres duplicados

<?php

/*
  Antes de ejecutarlo, cree la tabla:
      CREATE TABLE mycity (id NUMBER, name VARCHAR2(20));
      INSERT INTO mycity (id, name) values (1, 'Melbourne');
      CREATE TABLE mycountry (id NUMBER, name VARCHAR2(20));
      INSERT INTO mycountry (id, name) values (1, 'Australia');
      COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'SELECT mycity.name, mycountry.name
        FROM mycity, mycountry
        WHERE mycity.id = mycountry.id';
$stid = oci_parse($conn, $sql);
oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC);
var_dump($row);

// La salida únicamente contiene la entrada "NAME":
//    array(1) {
//      ["NAME"]=>
//      string(9) "Australia"
//    }

// En consultas con nombres de columnas repetidos use un alias de columna de SQL, como "AS ctnm":
$sql = 'SELECT mycity.name AS ctnm, mycountry.name
        FROM mycity, mycountry
        WHERE mycity.id = mycountry.id';
$stid = oci_parse($conn, $sql);
oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC);
var_dump($row);

// La salida ahora contiene ambas columnas seleccionadas:
//    array(2) {
//      ["CTNM"]=>
//      string(9) "Melbourne"
//      ["NAME"]=>
//      string(9) "Australia"
//    }

oci_free_statement($stid);
oci_close($conn);

?>

Ejemplo #8 oci_fetch_array() con columnas DATE

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Establecer el formato de fecha para esta conexión.
// Por razones de rendimiento, considere cambiar el formato
// en un disparador o con variables de entorno en su lugar
$stid = oci_parse($conn, "ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD'");
oci_execute($stid);

$stid = oci_parse($conn, 'SELECT hire_date FROM employees WHERE employee_id = 188');
oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC);
echo $row['HIRE_DATE'] . "<br>\n";  // imprime 1997-06-14

oci_free_statement($stid);
oci_close($conn);

?>

Ejemplo #9 oci_fetch_array() con REF CURSOR

<?php
/*
  Cree el procedimiento almacenado PL/SQL:

  CREATE OR REPLACE PROCEDURE myproc(p1 OUT SYS_REFCURSOR) AS
  BEGIN
    OPEN p1 FOR SELECT * FROM all_objects WHERE ROWNUM < 5000;
  END;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'BEGIN myproc(:rc); END;');
$refcur = oci_new_cursor($conn);
oci_bind_by_name($stid, ':rc', $refcur, -1, OCI_B_CURSOR);
oci_execute($stid);

// Ejecutar el REF CURSOR devuelto y obtenerlo como un identificador de sentencia
oci_execute($refcur);
echo "<table border='1'>\n";
while ($row = oci_fetch_array($refcur, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>".($item !== null ? htmlentities($item, ENT_QUOTES) : "")."</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

oci_free_statement($refcur);
oci_free_statement($stid);
oci_close($conn);

?>

Ejemplo #10 oci_fetch_array() con una consulta como LIMIT

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Buscar la versión de la base de datos
preg_match('/Release ([0-9]+)\./', oci_server_version($conn), $matches);
$oracleversion = $matches[1];

// Esta es la consulta que se quiere ejecutar
$sql = 'SELECT city, postal_code FROM locations ORDER BY city';

// Construir una consulta anidada seleccionando un subconjunto de filas de $sql.
// En entornos de producción, evite los problemas de inyecciones SQL
// con sentencias SQL concatenadas
if ($oracleversion >= 12) {
    // Usar la sintaxis de Oracle 12c de OFFSET / FETCH NEXT
    $sql = $sql . ' OFFSET :offset ROWS FETCH NEXT :numrows ROWS ONLY';
} else {
    // Versiones anteriores requieren la sintaxis de consulta como esta o la
    // consulta base necesaria para sobrescribirla al usar una función row_number()
    $sql = "SELECT * FROM (SELECT A.*, ROWNUM AS MY_RNUM
                           FROM ($sql) A
                           WHERE ROWNUM <= :offset + :numrows)
            WHERE MY_RNUM > :offset";
}

$offset  = 0;  // saltar estas filas
$numrows = 5;  // devolver 5 filas
$stid = oci_parse($conn, $sql);
oci_bind_by_name($stid, ':numrows', $numrows);
oci_bind_by_name($stid, ':offset', $offset);
oci_execute($stid);

while (($row = oci_fetch_array($stid, OCI_ASSOC + OCI_RETURN_NULLS)) != false) {
    echo $row['CITY'] . " " . $row['POSTAL_CODE'] . "<br>\n";
}

// La salida es:
//    Beijing 190518
//    Bern 3095
//    Bombay 490231
//    Geneva 1730
//    Hiroshima 6823

oci_free_statement($stid);
oci_close($conn);

?>

Ejemplo #11 oci_fetch_array() con Conjuntos de Resultados Implícitos de Oracle Database 12c

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/pdborcl');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Requiere OCI8 2.0 y Oracle Database 12c
// Véase también oci_get_implicit_resultset()
$sql = 'DECLARE
            c1 SYS_REFCURSOR;
        BEGIN
           OPEN c1 FOR SELECT city, postal_code FROM locations WHERE ROWNUM < 4 ORDER BY city;
           DBMS_SQL.RETURN_RESULT(c1);
           OPEN c1 FOR SELECT country_id FROM locations WHERE ROWNUM < 4 ORDER BY city;
           DBMS_SQL.RETURN_RESULT(c1);
        END;';

$stid = oci_parse($conn, $sql);
oci_execute($stid);

// Nota: oci_fetch_all y oci_fetch() no se pueden usar de esta manera
echo "<table>\n";
while (($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "  <td>".($item!==null?htmlentities($item, ENT_QUOTES|ENT_SUBSTITUTE):"")."</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

// La salida es:
//    Beijing 190518
//    Bern    3095
//    Bombay  490231
//    CN
//    CH
//    IN

oci_free_statement($stid);
oci_close($conn);

?>

Notas

Nota:

Los índices de arrays asociativos tienen que estar en mayúsculas para las columnas estándar de Oracle que fueron creadas con nombres insensibles al uso de mayúsculas/minúsculas.

Nota:

Para consultas que devuelven un gran número de filas, se puede mejorar el rendimiento significativamente incrementando oci8.default_prefetch o utilizando oci_set_prefetch().

Nota:

La función oci_fetch_array() es insignificativamente más lenta que oci_fetch_assoc() o oci_fetch_row(), pero es más flexible.

Ver también

  • oci_fetch() - Coloca la siguiente fila de una consulta en los búferes internos
  • oci_fetch_all() - Obtiene múltiples filas de una consulta y las ubica en un array bidimiensional
  • oci_fetch_assoc() - Devuelve la siguiente fila de una consulta como un array asociativo
  • oci_fetch_object() - Devuelve la siguiente fila de una consulta como un objeto
  • oci_fetch_row() - Devuelve la siguiente fila de una consulta como un array numérico
  • oci_set_prefetch() - Establece el número de filas a precargar mediante consultas

oci_fetch_all
oci_fetch_assoc
Funciones de OCI8


Devuelve la siguiente fila de una consulta como un array asociativo

oci_fetch_array
oci_fetch_object
Funciones de OCI8
PHP Manual

oci_fetch_assoc

(PHP 5, PECL OCI8 >= 1.1.0)

oci_fetch_assoc — Devuelve la siguiente fila de una consulta como un array asociativo

Descripción

array oci_fetch_assoc ( resource $statement )

Devuelve un array asociativo que contiene la siguiente fila del conjunto de resultados de una consulta. Cada entrada del array corresponde a una columna de la fila. Esta función se invoca normalmante en un bucle hasta que devuelve FALSE, indicando que no existen más filas.

Llamar a oci_fetch_assoc() es idéntico a llamar a oci_fetch_array() con OCI_ASSOC + OCI_RETURN_NULLS.

Parámetros

statement

Un identificador de sentencia de OCI8 válido creado por oci_parse() y ejecutado por oci_execute(), o un identificador de sentencia de REF CURSOR.

Valores devueltos

Devuelve un array asociativo. Si no existen más filas en el parámetro statement, entonces devuelve FALSE.

Ejemplos

Ejemplo #1 Ejemplo de oci_fetch_assoc()

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT department_id, department_name FROM departments');
oci_execute($stid);

while (($row = oci_fetch_assoc($stid)) != false) {
    echo $row['DEPARTMENT_ID'] . " " . $row['DEPARTMENT_NAME'] . "<br>\n";
}

oci_free_statement($stid);
oci_close($conn);

?>

Notas

Nota:

Véase oci_fetch_array() para más ejemplos de obtención de filas.

Ver también

  • oci_fetch() - Coloca la siguiente fila de una consulta en los búferes internos
  • oci_fetch_all() - Obtiene múltiples filas de una consulta y las ubica en un array bidimiensional
  • oci_fetch_array() - Devuelve la siguiente fila de una consulta como un array asociativo o numérico
  • oci_fetch_object() - Devuelve la siguiente fila de una consulta como un objeto
  • oci_fetch_row() - Devuelve la siguiente fila de una consulta como un array numérico

oci_fetch_array
oci_fetch_object
Funciones de OCI8


Devuelve la siguiente fila de una consulta como un objeto

oci_fetch_assoc
oci_fetch_row
Funciones de OCI8
PHP Manual

oci_fetch_object

(PHP 5, PECL OCI8 >= 1.1.0)

oci_fetch_object — Devuelve la siguiente fila de una consulta como un objeto

Descripción

object oci_fetch_object ( resource $statement )

Devuelve un objeto que contiene la siguiente fila del conjunto de resultados de una consulta. Cada atributo del objeto corresponde a una columna de la fila. Esta función normalmente es invocada en un bucle hasta que devuelve FALSE, indicando que no existen más filas.

Para más detalles sobre cómo la extensión OCI8 realiza la correspondencia entre tipos de datos, véasen los tipos de datos admitidos por el controlador

Parámetros

statement

Un identificador de sentencia de OCI8 válido creado por oci_parse() y ejecutado por oci_execute(), o un identificador de sentencia de REF CURSOR.

Valores devueltos

Devuelve un objeto. Cada atributo del mismo corresponde a una columna de la fila. Si no existen más filas en el parámetro statement, entonces devuelve FALSE.

Cualquier columna LOB es devuelta como un descriptor de LOB.

Las columnas DATE son devueltas como string con el formato de fecha actual. El formato predeterminado se puede cambiar con las variables de entorno de Oracle, como NLS_LANG, o ejecutando previamente un comando ALTER SESSION SET NLS_DATE_FORMAT.

Los nombres de columna predeterminados de Oracle que insensibles al uso de mayúsculas/minúsculas tendrán nombres de atributos en mayúsculas. Los nombres de columnas sensibles al uso de mayúsculas/minúsculas tendrán nombres de atributos que usan el nombre exacto de la columna. Use var_dump() en el array resultante para verificar el uso apropiado de mayúsculas/minúsculas en cada acceso al atributo.

Los valores de los atributos serán NULL para cualquier campo de datos NULL.

Ejemplos

Ejemplo #1 Ejemplo de oci_fetch_object()

<?php

/*
  Antes de ejecutarlo, cree la tabla:
    CREATE TABLE mytab (id NUMBER, description VARCHAR2(30));
    INSERT INTO mytab (id, description) values (1, 'Fish and Chips');
    COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, description FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_object($stid)) != false) {
    // Use nombres de atributo en mayúsculas para cada columna estándar de Oracle
    echo $row->ID . "<br>\n";
    echo $row->DESCRIPTION . "<br>\n";
}

// La salida es:
//    1
//    Fish and Chips

oci_free_statement($stid);
oci_close($conn);

?>

Ejemplo #2 oci_fetch_object() con nombres de columnas sensibles al uso de mayúsculas/minúsculas

<?php

/*
  Antes de ejecutarlo, cree la tablas con un nombre de columna sensible al uso de mayúsculas/minúsculas:
    CREATE TABLE mytab (id NUMBER, "MyDescription" VARCHAR2(30));
    INSERT INTO mytab (id, "MyDescription") values (1, 'Iced Coffee');
    COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, "MyDescription" FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_object($stid)) != false) {
    // Use nombres de atributo en mayúsculas para cada columna estándar de Oracle
    echo $row->ID . "<br>\n";
    // Use el nombre exacto para nombres de columnas sensibles al uso de mayúsculas/minúsculas
    echo $row->MyDescription . "<br>\n";
}

// La salida es:
//    1
//    Iced Coffee

oci_free_statement($stid);
oci_close($conn);

?>

Ejemplo #3 oci_fetch_object() con LOBs

<?php

/*
  Antes de ejecutarlo, cree la tabla:
    CREATE TABLE mytab (id NUMBER, description CLOB);
    INSERT INTO mytab (id, description) values (1, 'Un string muy largo');
    COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, description FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_object($stid)) != false) {
    echo $row->ID . "<br>\n";
    // Lo siguiente imprimirá los primeros 11 bytes de DESCRIPTION
    echo $row->DESCRIPTION->read(11) . "<br>\n";
}

// La salida es:
//    1
//    Un string m

oci_free_statement($stid);
oci_close($conn);

?>

Ver también

  • oci_fetch() - Coloca la siguiente fila de una consulta en los búferes internos
  • oci_fetch_all() - Obtiene múltiples filas de una consulta y las ubica en un array bidimiensional
  • oci_fetch_assoc() - Devuelve la siguiente fila de una consulta como un array asociativo
  • oci_fetch_array() - Devuelve la siguiente fila de una consulta como un array asociativo o numérico
  • oci_fetch_row() - Devuelve la siguiente fila de una consulta como un array numérico

oci_fetch_assoc
oci_fetch_row
Funciones de OCI8


Devuelve la siguiente fila de una consulta como un array numérico

oci_fetch_object
oci_fetch
Funciones de OCI8
PHP Manual

oci_fetch_row

(PHP 5, PECL OCI8 >= 1.1.0)

oci_fetch_row — Devuelve la siguiente fila de una consulta como un array numérico

Descripción

array oci_fetch_row ( resource $statement )

Devuelve un array con índices numéricos que contiene la siguiente fila del conjunto de resultados de una consulta. Cada entrada del array corresponde con una columna de la fila. Esta función normalmente se invoca en un bucle hasta que devuelve FALSE, indicando que no existen más filas.

Llamar a oci_fetch_row() es idéntico que llamar a oci_fetch_array() con OCI_NUM + OCI_RETURN_NULLS.

Parámetros

statement

Un identificador de sentencia de OCI8 válido creado por oci_parse() y ejecutado por oci_execute(), o un identificador de sentencia de REF CURSOR.

Valores devueltos

Devuelve un array con índices numéricos. Si no existen más filas en el parámetro statement, entonces devuelve FALSE.

Ejemplos

Ejemplo #1 Ejemplo de oci_fetch_row()

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT department_id, department_name FROM departments');
oci_execute($stid);

while (($row = oci_fetch_row($stid)) != false) {
    echo $row[0] . " " . $row[1] . "<br>\n";
}

oci_free_statement($stid);
oci_close($conn);

?>

Notas

Nota:

Véase oci_fetch_array() para más ejemplos de obtención de filas.

Ver también

  • oci_fetch() - Coloca la siguiente fila de una consulta en los búferes internos
  • oci_fetch_all() - Obtiene múltiples filas de una consulta y las ubica en un array bidimiensional
  • oci_fetch_array() - Devuelve la siguiente fila de una consulta como un array asociativo o numérico
  • oci_fetch_assoc() - Devuelve la siguiente fila de una consulta como un array asociativo
  • oci_fetch_object() - Devuelve la siguiente fila de una consulta como un objeto

oci_fetch_object
oci_fetch
Funciones de OCI8


Coloca la siguiente fila de una consulta en los búferes internos

oci_fetch_row
oci_field_is_null
Funciones de OCI8
PHP Manual

oci_fetch

(PHP 5, PECL OCI8 >= 1.1.0)

oci_fetch — Coloca la siguiente fila de una consulta en los búferes internos

Descripción

bool oci_fetch ( resource $statement )

Coloca la siguiente fila de una consulta en los búferes internos, accesibles mediante oci_result(), o usando varibles previamente definidas con oci_define_by_name().

Véase oci_fetch_array() para información general sobre la obtención de datos.

Parámetros

statement

Un identificador de sentencia de OCI8 válido creado por oci_parse() y ejecutado por oci_execute(), o un identificador de sentencia de REF CURSOR.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE si no existen más filas en el parámetro statement.

Ejemplos

Ejemplo #1 oci_fetch() con variables definidas

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'SELECT location_id, city FROM locations WHERE location_id < 1200';
$stid = oci_parse($conn, $sql);

// Las definiciones DEBEN realizarse antes de la ejecución
oci_define_by_name($stid, 'LOCATION_ID', $locid);
oci_define_by_name($stid, 'CITY', $city);

oci_execute($stid);

// Cada obtención rellena las variables anteriormente definidas con los datos de la siguiente fila
while (oci_fetch($stid)) {
    echo "El id de ubicacion $locid es $city<br>\n";
}

// Se muestra:
//   El id de ubicacion 1000 es Roma
//   El id de ubicacion 1100 es Venice

oci_free_statement($stid);
oci_close($conn);

?>

Ejemplo #2 oci_fetch() con oci_result()

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'SELECT location_id, city FROM locations WHERE location_id < 1200';
$stid = oci_parse($conn, $sql);
oci_execute($stid);

while (oci_fetch($stid)) {
    echo oci_result($stid, 'LOCATION_ID') . " es ";
    echo oci_result($stid, 'CITY') . "<br>\n";
}

// Se muestra:
//   1000 es Roma
//   1100 es Venice

oci_free_statement($stid);
oci_close($conn);

?>

Notas

Nota:

No se devolverán filas desde Conjuntos de Resultados Implícitos de Oracle Database 12c. Use oci_fetch_array() en su lugar.

Ver también

  • oci_define_by_name() - Asocia una variable de PHP con una columna para la obtención de consultas
  • oci_fetch_all() - Obtiene múltiples filas de una consulta y las ubica en un array bidimiensional
  • oci_fetch_array() - Devuelve la siguiente fila de una consulta como un array asociativo o numérico
  • oci_fetch_assoc() - Devuelve la siguiente fila de una consulta como un array asociativo
  • oci_fetch_object() - Devuelve la siguiente fila de una consulta como un objeto
  • oci_fetch_row() - Devuelve la siguiente fila de una consulta como un array numérico
  • oci_result() - Devuelve el valor de un campo de la fila obtenida

oci_fetch_row
oci_field_is_null
Funciones de OCI8


Comprueba si el campo es NULL

oci_fetch
oci_field_name
Funciones de OCI8
PHP Manual

oci_field_is_null

(PHP 5, PECL OCI8 >= 1.1.0)

oci_field_is_null — Comprueba si el campo es NULL

Descripción

bool oci_field_is_null ( resource $statement , mixed $field )

Comprueba si el campo especificado por field de la sentencia dada por statement es NULL.

Parámetros

statement

Un identificador de sentencia de OCI válido.

field

Puede ser un índice de campo o un nombre de campo (en mayúsculas).

Valores devueltos

Devuelve TRUE si field es NULL, FALSE si no.

Notas

Nota:

En versiones de PHP anteriores a la 5.0.0 se debe usar ocicolumnisnull() en su lugar. Este nombre aún se puede usar; se dejó como un alias de oci_field_is_null() por razones de retrocompatibilidad. Sin embargo, este nombre es obsoleto y no se recomienda.

oci_fetch
oci_field_name
Funciones de OCI8


Devuelve el nombre de un campo de una sentencia

oci_field_is_null
oci_field_precision
Funciones de OCI8
PHP Manual

oci_field_name

(PHP 5, PECL OCI8 >= 1.1.0)

oci_field_name — Devuelve el nombre de un campo de una sentencia

Descripción

string oci_field_name ( resource $statement , int $field )

Devuelve el nombre del campo dado por field.

Parámetros

statement

Un identifidacor de sentencia de OCI válido.

field

Puede ser un índice de campo (basado en 1) o un nombre.

Valores devueltos

Devuelve el nombre como una cadena, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de oci_field_name()

<?php
$conn = oci_connect("scott", "tiger");
$stmt = oci_parse($conn, "SELECT * FROM emp");
oci_execute($stmt);

echo "<table border=\"1\">";
echo "<tr>";
echo "<th>Name</th>";
echo "<th>Type</th>";
echo "<th>Length</th>";
echo "</tr>";

$ncols = oci_num_fields($stmt);

for ($i = 1; $i <= $ncols; $i++) {
    $column_name  = oci_field_name($stmt, $i);
    $column_type  = oci_field_type($stmt, $i);
    $column_size  = oci_field_size($stmt, $i);

    echo "<tr>";
    echo "<td>$column_name</td>";
    echo "<td>$column_type</td>";
    echo "<td>$column_size</td>";
    echo "</tr>";
}

echo "</table>\n";
oci_free_statement($stmt);
oci_close($conn);
?>

Notas

Nota:

En versiones de PHP anteriores a la 5.0.0 se debe usar ocicolumnname() en su lugar. Este nombre aún se puede usar; se dejó como un alias de oci_field_name() por razones de retrocompatibilidad. Sin embargo, este nombre es obsoleto y no se recomienda.

Ver también

  • oci_num_fields() - Devuelve el número de columnas del resultado de una sentencia
  • oci_field_type() - Devuelve el tipo de datos de un campo
  • oci_field_size() - Devuelve el tamaño de un campo

oci_field_is_null
oci_field_precision
Funciones de OCI8


Indica la precisión de un campo

oci_field_name
oci_field_scale
Funciones de OCI8
PHP Manual

oci_field_precision

(PHP 5, PECL OCI8 >= 1.1.0)

oci_field_precision — Indica la precisión de un campo

Descripción

int oci_field_precision ( resource $statement , int $field )

Devuelve la precisión del campo dado por field.

Para columnas FLOAT, la precisión no es cero y la escala es -127. Si la precisión es cero, entonces la columna es NUMBER. Otro número indica NUMBER(precisión, precisión).

Parámetros

statement

Un identificador de sentencia de OCI válido.

field

Puede ser un índice de campo (basado en 1) o un nombre.

Valores devueltos

Devuelve la precisión como un entero, o FALSE en caso de error.

Notas

Nota:

En versiones de PHP anteriores a la 5.0.0 se debe usar ocicolumnprecision() en su lugar. Este nombre aún se puede usar; se dejó como un alias de oci_field_precision() por razones de retrocompatibilidad. Sin embargo, este nombre es obsoleto y no se recomienda.

Ver también

  • oci_field_scale() - Indica la escala de un campo
  • oci_field_type() - Devuelve el tipo de datos de un campo

oci_field_name
oci_field_scale
Funciones de OCI8


Indica la escala de un campo

oci_field_precision
oci_field_size
Funciones de OCI8
PHP Manual

oci_field_scale

(PHP 5, PECL OCI8 >= 1.1.0)

oci_field_scale — Indica la escala de un campo

Descripción

int oci_field_scale ( resource $statement , int $field )

Devuelve la escala de la columna con índice field.

Para columnas FLOAT, la precisión no es cero y la escala es -127. Si la precisión es cero, entonces la columna es NUMBER. Otro número indica NUMBER(precisión, precisión).

Parámetros

statement

Un identificador de sentencia de OCI válido.

field

Puede ser un índice de campo (basado en 1) o un nombre.

Valores devueltos

Devuelve la escala como un entero, o FALSE en caso de error.

Notas

Nota:

En versiones de PHP anteriores a la 5.0.0 se debe usar ocicolumnscale() en su lugar. Este nombre aún se puede usar; se dejó como un alias de oci_field_scale() por razones de retrocompatibilidad. Sin embargo, este nombre es obsoleto y no se recomienda.

Ver también

  • oci_field_precision() - Indica la precisión de un campo
  • oci_field_type() - Devuelve el tipo de datos de un campo

oci_field_precision
oci_field_size
Funciones de OCI8


Devuelve el tamaño de un campo

oci_field_scale
oci_field_type_raw
Funciones de OCI8
PHP Manual

oci_field_size

(PHP 5, PECL OCI8 >= 1.1.0)

oci_field_size — Devuelve el tamaño de un campo

Descripción

int oci_field_size ( resource $statement , mixed $field )

Devuelve el tamaño del campo dado por field.

Parámetros

statement

Un identificador de sentencia de OCI válido.

field

Puede ser un índice de campo (basado en 1) o un nombre.

Valores devueltos

Devuelve el tamaño de field en bytes, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de oci_field_size()

<?php
$conn = oci_connect("scott", "tiger");
$stmt = oci_parse($conn, "SELECT * FROM emp");
oci_execute($stmt);

echo "<table border=\"1\">";
echo "<tr>";
echo "<th>Name</th>";
echo "<th>Type</th>";
echo "<th>Length</th>";
echo "</tr>";

$ncols = oci_num_fields($stmt);

for ($i = 1; $i <= $ncols; $i++) {
    $column_name  = oci_field_name($stmt, $i);
    $column_type  = oci_field_type($stmt, $i);
    $column_size  = oci_field_size($stmt, $i);
    echo "<tr>";
    echo "<td>$column_name</td>";
    echo "<td>$column_type</td>";
    echo "<td>$column_size</td>";
    echo "</tr>";
}

echo "</table>";

oci_free_statement($stmt);
oci_close($conn);
?>

Notas

Nota:

En versiones de PHP anteriores a la 5.0.0 se debe usar ocicolumnsize() en su lugar. Este nombre aún se puede usar; se dejó como un alias de oci_field_size() por razones de retrocompatibilidad. Sin embargo, este nombre es obsoleto y no se recomienda.

Ver también

  • oci_num_fields() - Devuelve el número de columnas del resultado de una sentencia
  • oci_field_name() - Devuelve el nombre de un campo de una sentencia

oci_field_scale
oci_field_type_raw
Funciones de OCI8


Indica el tipo de datos sin tratar de Oracle de un campo

oci_field_size
oci_field_type
Funciones de OCI8
PHP Manual

oci_field_type_raw

(PHP 5, PECL OCI8 >= 1.1.0)

oci_field_type_raw — Indica el tipo de datos sin tratar de Oracle de un campo

Descripción

int oci_field_type_raw ( resource $statement , int $field )

Devuelve el tipo de datos sin tratar de Oracle del campo dado por field.

Sin embargo, si se quiere obtener el tipo del campo, es mejor usar oci_field_type().

Parámetros

statement

Un identificador de sentencia de OCI válido.

field

Puede ser un índice de campo (basado en 1) o un nombre.

Valores devueltos

Devueleve el tipo de datos sin tratar de Oracle como una cadena, o FALSE en caso de error.

Notas

Nota:

En versiones de PHP anteriores a la 5.0.0 se debe usar ocicolumntyperaw() en su lugar. Este nombre aún se puede usar; se dejó como un alias de oci_field_type_raw() por razones de retrocompatibilidad. Sin embargo, este nombre es obsoleto y no se recomienda.

oci_field_size
oci_field_type
Funciones de OCI8


Devuelve el tipo de datos de un campo

oci_field_type_raw
oci_free_descriptor
Funciones de OCI8
PHP Manual

oci_field_type

(PHP 5, PECL OCI8 >= 1.1.0)

oci_field_type — Devuelve el tipo de datos de un campo

Descripción

mixed oci_field_type ( resource $statement , int $field )

Devuelve el tipo de datos de un campo.

Parámetros

statement

Un identificador de sentencia de OCI válido.

field

Puede ser un índice de campo (basado en 1) o un nombre.

Valores devueltos

Devuelve el tipo de datos de un campo como una cadena, o FALSE en caso de error.

Valores devueltos

Ejemplo #1 Ejemplo de oci_field_type()

<?php
$conn = oci_connect("scott", "tiger");
$stmt = oci_parse($conn, "SELECT * FROM emp");
oci_execute($stmt);

echo "<table border=\"1\">";
echo "<tr>";
echo "<th>Name</th>";
echo "<th>Type</th>";
echo "<th>Length</th>";
echo "</tr>";

$ncols = oci_num_fields($stmt);

for ($i = 1; $i <= $ncols; $i++) {
    $column_name  = oci_field_name($stmt, $i);
    $column_type  = oci_field_type($stmt, $i);
    $column_size  = oci_field_size($stmt, $i);

    echo "<tr>";
    echo "<td>$column_name</td>";
    echo "<td>$column_type</td>";
    echo "<td>$column_size</td>";
    echo "</tr>";
}

echo "</table>\n";

oci_free_statement($stmt);
oci_close($conn);
?>

Notas

Nota:

En versiones de PHP anteriores a la 5.0.0 se debe usar ocicolumntype() en su lugar. Este nombre aún se puede usar; se dejó como un alias de oci_field_type() por razones de retrocompatibilidad. Sin embargo, este nombre es obsoleto y no se recomienda.

Ver también

  • oci_num_fields() - Devuelve el número de columnas del resultado de una sentencia
  • oci_field_name() - Devuelve el nombre de un campo de una sentencia
  • oci_field_size() - Devuelve el tamaño de un campo

oci_field_type_raw
oci_free_descriptor
Funciones de OCI8


Libera un descriptor

oci_field_type
oci_free_statement
Funciones de OCI8
PHP Manual

oci_free_descriptor

(PHP 5, PECL OCI8 >= 1.1.0)

oci_free_descriptor — Libera un descriptor

Descripción

bool oci_free_descriptor ( resource $descriptor )

Libera un descriptor asignado por oci_new_descriptor().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota:

Esta función se utiliza comúnmente como un método OCI-LOB::free.

Ver también

  • OCI-LOB::free

oci_field_type
oci_free_statement
Funciones de OCI8


Libera todos los recursos asociados con una sentencia o cursor

oci_free_descriptor
oci_get_implicit_resultset
Funciones de OCI8
PHP Manual

oci_free_statement

(PHP 5, PECL OCI8 >= 1.1.0)

oci_free_statement — Libera todos los recursos asociados con una sentencia o cursor

Descripción

bool oci_free_statement ( resource $statement )

Libera los recursos asociados con un cursor o sentencia de Oracle, el cual fue recibido desde una resultado de oci_parse() u obtenido desde Oracle.

Parámetros

statement

Un identificador de sentecia válido de OCI.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

oci_free_descriptor
oci_get_implicit_resultset
Funciones de OCI8


Devuelve el siguiente recurso de sentencia hija desde un recurso de sentencia padre que posee Conjuntos de resultados implícitos de Oracle Database 12c

oci_free_statement
oci_internal_debug
Funciones de OCI8
PHP Manual

oci_get_implicit_resultset

(PECL OCI8 >= 2.0.0)

oci_get_implicit_resultset — Devuelve el siguiente recurso de sentencia hija desde un recurso de sentencia padre que posee Conjuntos de resultados implícitos de Oracle Database 12c

Descripción

resource oci_get_implicit_resultset ( resource $statement )

Usado para obtener conjuntos consecutivos de resultados de consultas destpués de la ejecución de un bloque almacenado o anónimo de PL/SQL de Oracle cuando dicho bloque devuelve resultados de consultas con la función de PL/SQL DBMS_SQL.RETURN_RESULT de Oracle. Esto permite a los bloques de PL/SQL devolver fácilmente resultados de consultas.

La sentencia hija puede usarse con cualquier función de obtención
de OCI8:  oci_fetch(),  oci_fetch_all(),
 oci_fetch_array(),  oci_fetch_object(),
 oci_fetch_assoc() or  oci_fetch_row()

Las sentencias hijas heredan el valor de precarga de sus sentencias padres, o se puede establecer explícitamente con oci_set_prefetch().

Parámetros

statement

Un identificador de sentencia OCI8 válido creado mediante oci_parse() y ejecutada por oci_execute(). El identificador de sentencia podría o no estar asociado con una sentencia SQL que devuelva Conjuntos de resultados implícitos.

Valores devueltos

Devuelve un gestor de sentencia para la siguiente sentencia hija disponible en statement. Devuelve FALSE cuando no existan sentencias hijas, o todas las sentencia hijas han sido devueltas por llamadas anteriores a oci_get_implicit_resultset().

Ejemplos

Ejemplo #1 Obtener Conjuntos de resultados implícitos en un blucle

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/pdborcl');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'DECLARE
            c1 SYS_REFCURSOR;
        BEGIN
           OPEN c1 FOR SELECT city, postal_code FROM locations WHERE ROWNUM < 4 ORDER BY city;
           DBMS_SQL.RETURN_RESULT(c1);
           OPEN c1 FOR SELECT country_id FROM locations WHERE ROWNUM < 4 ORDER BY city;
           DBMS_SQL.RETURN_RESULT(c1);
        END;';

$stid = oci_parse($conn, $sql);
oci_execute($stid);

while (($stid_c = oci_get_implicit_resultset($stid))) {
    echo "<h2>Nuevo Conjunto de resultados implícitos:</h2>\n";
    echo "<table>\n";
    while (($row = oci_fetch_array($stid_c, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
        echo "<tr>\n";
        foreach ($row as $item) {
            echo "  <td>".($item!==null?htmlentities($item, ENT_QUOTES|ENT_SUBSTITUTE):"")."</td>\n";
        }
        echo "</tr>\n";
    }
    echo "</table>\n";
}

// La salida es:
//    Nuevo Conjunto de resultados implícitos:
//     Beijing 190518
//     Bern    3095
//     Bombay  490231
//    Nuevo Conjunto de resultados implícitos:
//     CN
//     CH
//     IN

oci_free_statement($stid);
oci_close($conn);

?>

Ejemplo #2 Obtener gestores de sentencias hijas individualemente

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/pdborcl');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'DECLARE
            c1 SYS_REFCURSOR;
        BEGIN
           OPEN c1 FOR SELECT city, postal_code FROM locations WHERE ROWNUM < 4 ORDER BY city;
           DBMS_SQL.RETURN_RESULT(c1);
           OPEN c1 FOR SELECT country_id FROM locations WHERE ROWNUM < 4 ORDER BY city;
           DBMS_SQL.RETURN_RESULT(c1);
        END;';

$stid = oci_parse($conn, $sql);
oci_execute($stid);

$stid_1 = oci_get_implicit_resultset($stid);
$stid_2 = oci_get_implicit_resultset($stid);

$row = oci_fetch_array($stid_1, OCI_ASSOC+OCI_RETURN_NULLS);
var_dump($row);
$row = oci_fetch_array($stid_2, OCI_ASSOC+OCI_RETURN_NULLS);
var_dump($row);
$row = oci_fetch_array($stid_1, OCI_ASSOC+OCI_RETURN_NULLS);
var_dump($row);
$row = oci_fetch_array($stid_2, OCI_ASSOC+OCI_RETURN_NULLS);
var_dump($row);

// La salida es:
//    array(2) {
//      ["CITY"]=>
//      string(7) "Beijing"
//      ["POSTAL_CODE"]=>
//      string(6) "190518"
//    }
//    array(1) {
//      ["COUNTRY_ID"]=>
//      string(2) "CN"
//    }
//    array(2) {
//      ["CITY"]=>
//      string(4) "Bern"
//      ["POSTAL_CODE"]=>
//      string(4) "3095"
//    }
//    array(1) {
//      ["COUNTRY_ID"]=>
//      string(2) "CH"
//    }

oci_free_statement($stid);
oci_close($conn);

?>

Ejemplo #3 Establecer explícitamente la Cuenta de precarga

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/pdborcl');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'DECLARE
            c1 SYS_REFCURSOR;
        BEGIN
           OPEN c1 FOR SELECT city, postal_code FROM locations ORDER BY city;
           DBMS_SQL.RETURN_RESULT(c1);
        END;';

$stid = oci_parse($conn, $sql);
oci_execute($stid);

$stid_c = oci_get_implicit_resultset($stid);
oci_set_prefetch($stid_c, 200);   // Set the prefetch before fetching from the child statement
echo "<table>\n";
while (($row = oci_fetch_array($stid_c, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "  <td>".($item!==null?htmlentities($item, ENT_QUOTES|ENT_SUBSTITUTE):"")."</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

oci_free_statement($stid);
oci_close($conn);

?>

Ejemplo #4 Ejemplo de Conjunto de resultados implícitos sin usar oci_get_implicit_resultset()

Todos los resultados de todas las consultas son devueltas consecutivamente.

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/pdborcl');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'DECLARE
            c1 SYS_REFCURSOR;
        BEGIN
           OPEN c1 FOR SELECT city, postal_code FROM locations WHERE ROWNUM < 4 ORDER BY city;
           DBMS_SQL.RETURN_RESULT(c1);
           OPEN c1 FOR SELECT country_id FROM locations WHERE ROWNUM < 4 ORDER BY city;
           DBMS_SQL.RETURN_RESULT(c1);
        END;';

$stid = oci_parse($conn, $sql);
oci_execute($stid);

// Note: oci_fetch_all y oci_fetch() no se pueden usar de esta manera
echo "<table>\n";
while (($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "  <td>".($item!==null?htmlentities($item, ENT_QUOTES|ENT_SUBSTITUTE):"")."</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

// La salida es:
//    Beijing 190518
//    Bern 3095
//    Bombay 490231
//    CN
//    CH
//    IN

oci_free_statement($stid);
oci_close($conn);

?>

Notas

Nota:

Para consultas que devuelven un gran número de filas, se puede mejorar el rendimiento significativamente incrementando oci8.default_prefetch o utilizando oci_set_prefetch().

oci_free_statement
oci_internal_debug
Funciones de OCI8


Habilita o deshabilita la salida de la depuración interna

oci_get_implicit_resultset
oci_lob_copy
Funciones de OCI8
PHP Manual

oci_internal_debug

(PHP 5, PECL OCI8 >= 1.1.0)

oci_internal_debug — Habilita o deshabilita la salida de la depuración interna

Descripción

void oci_internal_debug ( bool $onoff )

Habilita o deshabilita la salida de la depuración interna.

Parámetros

onoff

Establecer a FALSE para activar la salida de la depuración, o a TRUE para desactivarla.

Valores devueltos

No devuelve ningún valor.

Notas

Nota:

En versiones de PHP anteriores a la 5.0.0 se debe usar ociinternaldebug() en su lugar. Este nombre aún se puede usar; se dejó como un alias de oci_internal_debug() por razones de retrocompatibilidad. Sin embargo, este nombre es obsoleto y no se recomienda.

oci_get_implicit_resultset
oci_lob_copy
Funciones de OCI8


Copia objetos grandes

oci_internal_debug
oci_lob_is_equal
Funciones de OCI8
PHP Manual

oci_lob_copy

(PHP 5, PECL OCI8 >= 1.1.0)

oci_lob_copy — Copia objetos grandes

Descripción

bool oci_lob_copy ( OCI-Lob $lob_to , OCI-Lob $lob_from [, int $length = 0 ] )

Copia un objeto grande, o una parte del mismo, a otro objeto grande. Los datos de recipientes LOB antiguos serán sobrescritos.

Si fuera necesario copiar una parte en particular de un LOB a una posición en particular de otro LOB, use OCI-Lob::seek() para mover el puntero interno del LOB.

Parámetros

lob_to

El LOB de destino.

lob_from

El LOB copiado.

length

Indica la longitud de los datos a copiar.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

oci_internal_debug
oci_lob_is_equal
Funciones de OCI8


Compara dos localizadores LOB/FILE

oci_lob_copy
oci_new_collection
Funciones de OCI8
PHP Manual

oci_lob_is_equal

(PHP 5, PECL OCI8 >= 1.1.0)

oci_lob_is_equal — Compara dos localizadores LOB/FILE

Descripción

bool oci_lob_is_equal ( OCI-Lob $lob1 , OCI-Lob $lob2 )

Compara dos localizadores LOB/FILE.

Parámetros

lob1

Un identificador LOB.

lob2

Un identificador LOB.

Valores devueltos

Devuelve TRUE si los objetos son iguales, FALSE si no.

oci_lob_copy
oci_new_collection
Funciones de OCI8


Asigna un nuevo objeto colección

oci_lob_is_equal
oci_new_connect
Funciones de OCI8
PHP Manual

oci_new_collection

(PHP 5, PECL OCI8 >= 1.1.0)

oci_new_collection — Asigna un nuevo objeto colección

Descripción

OCI-Collection oci_new_collection ( resource $connection , string $tdo [, string $schema = NULL ] )

Asigna un nuevo objeto colección.

Parámetros

connection

Un identificador de conexión de Oracle devuelto por oci_connect() o oci_pconnect().

tdo

Debería ser un tipo con nombre válido (en mayúsculas).

schema

Debería apuntar al esquema donde fue creado el tipo con nombre. El nombre del usuario actual es el valor predeterminado.

Valores devueltos

Devuelve un nuevo objeto OCICollection o FALSE en caso de error.

Notas

Nota:

En versiones de PHP anteriores a la 5.0.0 se debe usar ocinewcollection() en su lugar. Este nombre aún puede usarse; se dejó como alias de oci_new_collection() por razones de retrocompatibilidad. Sin embargo, este nombre es obsoleto y no se recomienda.

oci_lob_is_equal
oci_new_connect
Funciones de OCI8


Conectar al servidor de Oracle usando una conexión única

oci_new_collection
oci_new_cursor
Funciones de OCI8
PHP Manual

oci_new_connect

(PHP 5, PECL OCI8 >= 1.1.0)

oci_new_connect — Conectar al servidor de Oracle usando una conexión única

Descripción

resource oci_new_connect ( string $username , string $password [, string $connection_string [, string $character_set [, int $session_mode ]]] )

Establece una nueva conexión a un servidor de Oracle y se identifica.

A diferencia de oci_connect() y oci_pconnect(), oci_new_connect() no almacena en caché conexiones y siempre devolverá un gestor de conexión recién abierto. Esto es útil si la aplicación necesita aislamiento transaccional entre dos conjuntos de consultas.

Parámetros

username

El nombre de usuario de Oracle.

password

La contraseña para username.

connection_string

Contiene la instancia de Oracle a la que conectarse. Puede ser una » cadena de Conexión Sencilla (Easy Connect), o un Nombre de Conexión del fichero tnsnames.ora, o el nombre de una instancia local de Oracle.

Si no se especifica, PHP utiliza variables de entorno como TWO_TASK (en Linux) o LOCAL (en Windows) y ORACLE_SID para determinar la instancia de Oracle a la que conectarse.

Para utilizar el método de nomenclatura de Conexión Sencila, PHP debe estar vinculado con las bibliotecas cliente de Oracle 10g o superiores. La cadena de Conexión Sencilla para Oracle 10g se utiliza de la siguiente forma: [//]nombre_host[:puerto][/nombre_servicio]. Desde Oracle 11g, la sintaxis es: [//]nombre_host[:puerto][/nombre_servicio][:tipo_servicio][/nombre_instancia]. Los nombres de servicio pueden encontrarse ejecuntado la utilidad de Oracle lsnrctl status en el servidor donde se encuentra la base de datos.

El fichero tnsnames.ora puede estar en la ruta de búsqueda de Oracle Net, la cual incluye $ORACLE_HOME/network/admin y /etc. De forma alternativa, establezca TNS_ADMIN para que $TNS_ADMIN/tnsnames.ora sea leído. Asegúrse que el demonio web tiene acceso de lectura al fichero.

character_set

Determina el juego de caracteres usado por las bibliotecas cliente de Oracle. El juego de caracteres no tiene por que coinicidir con el utilizado en la base de datos. Si no coinicide, Oracle intentará hacer lo posible para convertir los datos entre los dos juegos de caracteres. Dependiendo del juego de caracteres que se esté usando, podría no proporcionarse resultados útiles. La conversión también añade algo de carga extra de tiempo.

Si no se especifica, las bibliotacas cliente de Oracle determinarán el juego de caracteres desde la variable de entorno NLS_LANG.

Pasar este parámetro puede reducir el tiempo que toma en conectarse.

session_mode

Este parámetro está disponible desde la versión 5 de PHP (PECL OCI8 1.1) y acepta los siguientes valores: OCI_DEFAULT, OCI_SYSOPER y OCI_SYSDBA. Si se especifica OCI_SYSOPER o OCI_SYSDBA, esta función intentará establecer una conexión privilegiada con las credenciales externas. Las conexiones privilegiadas están desactivadas por omisión. Para activarlas hay que establecer oci8.privileged_connect a On.

En PHP 5.3 (PECL OCI8 1.3.4) se introdujo el valor de modo OCI_CRED_EXT. Esto indica a Oracle que utilice la autenticación Externa o del SO, la cual debe estar configurada en la base de datos. La bandera OCI_CRED_EXT sólo puede usarse con el nombre de usuario "/" y la contraseña en blanco. oci8.privileged_connect podría ser On o Off.

OCI_CRED_EXT podría estar en combinación con los modos OCI_SYSOPER o OCI_SYSDBA.

OCI_CRED_EXT no se admite en Windows por razones de seguridad.

Valores devueltos

Devuelve un identificador de conexión, o FALSE en caso de error.

Ejemplos

Lo siguiente demuestra cómo se pueden separar conexiones.

Ejemplo #1 Ejemplo de oci_new_connect()

<?php

// crear la tabla mytab (mycol number);

function query($name, $c)
{
    echo "Consultando $name\n";
    $s = oci_parse($c, "select * from mytab");
    oci_execute($s, OCI_NO_AUTO_COMMIT);
    $row = oci_fetch_array($s, OCI_ASSOC);
    if (!$row) {
        echo "No hay filas\n";
    } else {
        do {
            foreach ($row as $item)
                echo $item . " ";
            echo "\n";
        } while (($row = oci_fetch_array($s, OCI_ASSOC)) != false);
    }
}

$c1 = oci_connect("hr", "welcome", "localhost/orcl");
$c2 = oci_new_connect("hr", "welcome", "localhost/orcl");

$s = oci_parse($c1, "insert into mytab values(1234)");
oci_execute($s, OCI_NO_AUTO_COMMIT);

query("conexión básica", $c1);
query("nueva conexión", $c2);
oci_commit($c1);
query("nueva conexión después de consignar", $c2);

// Output is:
//   Consultando conexión básica
//   1234
//   Consultando nueva conexión
//   No hay filas
//   Consultando nueva conexión después de consignar
//   1234

?>

Véase oci_connect() para más ejemplos de uso de parámetros.

Ver también

  • oci_connect() - Conecta a una base de datos de Oracle
  • oci_pconnect() - Conectar a una base de datos de Oracle usando una conexión persistente

oci_new_collection
oci_new_cursor
Funciones de OCI8


Asigna y devuelve un nuevo cursor (gestor de sentencia)

oci_new_connect
oci_new_descriptor
Funciones de OCI8
PHP Manual

oci_new_cursor

(PHP 5, PECL OCI8 >= 1.1.0)

oci_new_cursor — Asigna y devuelve un nuevo cursor (gestor de sentencia)

Descripción

resource oci_new_cursor ( resource $connection )

Asigna un nuevo gestor de sentencia para la conexión especificada.

Parámetros

connection

Un identificador de conexión de Oracle devuelto por oci_connect() o oci_pconnect().

Valores devueltos

Devuelve un nuevo gestor de sentencia, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Usar un REF CURSOR en un procedimiento almacenado de Oracle

<?php
// se supone que el procedimiento almacenado info.output devuelve un ref cursor en :data

$conn = oci_connect("scott", "tiger");
$curs = oci_new_cursor($conn);
$stmt = oci_parse($conn, "begin info.output(:data); end;");

oci_bind_by_name($stmt, "data", $curs, -1, OCI_B_CURSOR);
oci_execute($stmt);
oci_execute($curs);

while ($data = oci_fetch_row($curs)) {
    var_dump($data);
}

oci_free_statement($stmt);
oci_free_statement($curs);
oci_close($conn);
?>

Ejemplo #2 Usar un REF CURSOR en una sentencia de selección de Oracle

<?php
echo "<html><body>";
$conn = oci_connect("scott", "tiger");
$count_cursor = "CURSOR(select count(empno) num_emps from emp " .
                "where emp.deptno = dept.deptno) as EMPCNT from dept";
$stmt = oci_parse($conn, "select deptno,dname,$count_cursor");

oci_execute($stmt);
echo "<table border=\"1\">";
echo "<tr>";
echo "<th>DEPT NAME</th>";
echo "<th>DEPT #</th>";
echo "<th># EMPLOYEES</th>";
echo "</tr>";

while ($data = oci_fetch_assoc($stmt)) {
    echo "<tr>";
    $dname  = $data["DNAME"];
    $deptno = $data["DEPTNO"];
    echo "<td>$dname</td>";
    echo "<td>$deptno</td>";
    oci_execute($data["EMPCNT"]);
    while ($subdata = oci_fetch_assoc($data["EMPCNT"])) {
        $num_emps = $subdata["NUM_EMPS"];
        echo  "<td>$num_emps</td>";
    }
    echo "</tr>";
}
echo "</table>";
echo "</body></html>";
oci_free_statement($stmt);
oci_close($conn);
?>

Notas

Nota:

En versiones de PHP anteriores a la 5.0.0 se debe usar ocinewcursor() en su lugar. Este nombre aún puede usarse; se dejó como alias de oci_new_cursor() por razones de retrocompatibilidad. Sin embargo, este nombre es obsoleto y no se recomienda.

oci_new_connect
oci_new_descriptor
Funciones de OCI8


Inicializa un nuevo descriptor vacío LOB o FILE

oci_new_cursor
oci_num_fields
Funciones de OCI8
PHP Manual

oci_new_descriptor

(PHP 5, PECL OCI8 >= 1.1.0)

oci_new_descriptor — Inicializa un nuevo descriptor vacío LOB o FILE

Descripción

OCI-Lob oci_new_descriptor ( resource $connection [, int $type = OCI_DTYPE_LOB ] )

Asigna recursos para contener un descriptor o un localizador LOB.

Parámetros

connection

Un identificador de conexión de Oracle devuelto por oci_connect() o oci_pconnect().

type

Los valores válidos para type son: OCI_DTYPE_FILE, OCI_DTYPE_LOB y OCI_DTYPE_ROWID.

Valores devueltos

Devuelve un nuevo descriptor de LOB o FILE en caso de éxito, FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de oci_new_descriptor()

<?php
/* Este script está diseñado para ser invocado desde un formulario HTML.
 * Se le ha de proporcionar $user, $password, $table, $where, y $commitsize
 * desde el formulario. Entonces, el script elimina
 * las filas seleccionadas usando el ROWID y consolida después de cada
 * conjunto de filas $commitsize. (Úselo con cuidado, no hay reversión)
 */
$conn = oci_connect($user, $password);
$stmt = oci_parse($conn, "select rowid from $table $where");
$rowid = oci_new_descriptor($conn, OCI_D_ROWID);
oci_define_by_name($stmt, "ROWID", $rowid);
oci_execute($stmt);
while (oci_fetch($stmt)) {
    $nrows = oci_num_rows($stmt);
    $delete = oci_parse($conn, "delete from $table where ROWID = :rid");
    oci_bind_by_name($delete, ":rid", $rowid, -1, OCI_B_ROWID);
    oci_execute($delete);
    echo "$nrows\n";
    if (($nrows % $commitsize) == 0) {
        oci_commit($conn);
    }
}
$nrows = oci_num_rows($stmt);
echo "$nrows eliminada...\n";
oci_free_statement($stmt);
oci_close($conn);
?>
<?php
    /* Este script demuestra la subida de ficheros a columnas LOB.
     * El campo de formulario usado para este ejemplo es como este:
     * <form action="upload.php" method="post" enctype="multipart/form-data">
     * <input type="file" name="lob_upload" />
     * ...
     */
  if (!isset($lob_upload) || $lob_upload == 'none'){
?>
<form action="upload.php" method="post" enctype="multipart/form-data">
Upload file: <input type="file" name="lob_upload" /><br />
<input type="submit" value="Upload" /> - <input type="reset" value="Reset" />
</form>
<?php
  } else {

     // $lob_upload contiene el nombre temporal del fichero subido

     // véase también la sección de características sobre la subida de ficheros,
     // si le gustaría usar subidas seguras

     $conn = oci_connect($user, $password);
     $lob = oci_new_descriptor($conn, OCI_D_LOB);
     $stmt = oci_parse($conn, "insert into $table (id, the_blob)
               values(my_seq.NEXTVAL, EMPTY_BLOB()) returning the_blob into :the_blob");
     oci_bind_by_name($stmt, ':the_blob', $lob, -1, OCI_B_BLOB);
     oci_execute($stmt, OCI_DEFAULT);
     if ($lob->savefile($lob_upload)){
        oci_commit($conn);
        echo "Blob successfully uploaded\n";
     }else{
        echo "Couldn't upload Blob\n";
     }
     $lob->free();
     oci_free_statement($stmt);
     oci_close($conn);
  }
?>

Ejemplo #2 Ejemplo de oci_new_descriptor()

<?php
/* Llamar a procedimientos almacenados de PL/SQL que contienen CLOBs como parámetros
 * de entrada (PHP 4 >= 4.0.6).
 * Ejemplo de firma de procedimiento almacenado de PL/SQL:
 *
 * PROCEDURE save_data
 *   Argument Name                  Type                    In/Out Default?
 *   ------------------------------ ----------------------- ------ --------
 *   KEY                            NUMBER(38)              IN
 *   DATA                           CLOB                    IN
 *
 */

$conn = oci_connect($user, $password);
$stmt = oci_parse($conn, "begin save_data(:key, :data); end;");
$clob = oci_new_descriptor($conn, OCI_D_LOB);
oci_bind_by_name($stmt, ':key', $key);
oci_bind_by_name($stmt, ':data', $clob, -1, OCI_B_CLOB);
$clob->write($data);
oci_execute($stmt, OCI_DEFAULT);
oci_commit($conn);
$clob->free();
oci_free_statement($stmt);
?>

Notas

Nota:

En versiones de PHP anteriores a la 5.0.0 se debe usar ocinewdescriptor() en su lugar. Este nombre aún puede usarse; se dejó como alias de oci_new_descriptor() por razones de retrocompatibilidad. Sin embargo, este nombre es obsoleto y no se recomienda.

Ver también

  • oci_bind_by_name() - Vincula una variable de PHP a un parámetro de sustitución de Oracle

oci_new_cursor
oci_num_fields
Funciones de OCI8


Devuelve el número de columnas del resultado de una sentencia

oci_new_descriptor
oci_num_rows
Funciones de OCI8
PHP Manual

oci_num_fields

(PHP 5, PECL OCI8 >= 1.1.0)

oci_num_fields — Devuelve el número de columnas del resultado de una sentencia

Descripción

int oci_num_fields ( resource $statement )

Obtiene el número de columnas de la sentencia dada por statement.

Parámetros

statement

Un identificador de sentencia de OCI válido.

Valores devueltos

Devuelve el número de columnas como un entero, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de oci_num_fields()

<?php
$conn = oci_connect("scott", "tiger");
$stmt = oci_parse($conn, "select * from emp");

oci_execute($stmt);

while (oci_fetch($stmt)) {
    echo "\n";
    $ncols = oci_num_fields($stmt);
    for ($i = 1; $i <= $ncols; $i++) {
        $column_name  = oci_field_name($stmt, $i);
        $column_value = oci_result($stmt, $i);
        echo $column_name . ': ' . $column_value . "\n";
    }
    echo "\n";
}

oci_free_statement($stmt);
oci_close($conn);
?>

Notas

Nota:

En versiones de PHP anteriores a la 5.0.0 se debe usar ocinumcols() en su lugar. Este nombre aún puede usarse; se dejó como alias de oci_num_fields() por razones de retrocompatibilidad. Sin embargo, este nombre es obsoleto y no se recomienda.

oci_new_descriptor
oci_num_rows
Funciones de OCI8


Devuelve el número de filas afectadas durante la ejecución de una sentencia

oci_num_fields
oci_parse
Funciones de OCI8
PHP Manual

oci_num_rows

(PHP 5, PECL OCI8 >= 1.1.0)

oci_num_rows — Devuelve el número de filas afectadas durante la ejecución de una sentencia

Descripción

int oci_num_rows ( resource $statement )

Obtiene el número de filas afectadas durante la ejecución de una sentencia.

Parámetros

statement

Un identificador de sentencia de OCI válido.

Valores devueltos

Devuelve el número de filas afectadas como un entero, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de oci_num_rows()

<?php
$conn = oci_connect("scott", "tiger");

$stmt = oci_parse($conn, "create table emp2 as select * from emp");
oci_execute($stmt);
echo oci_num_rows($stmt) . " rows inserted.<br />";
oci_free_statement($stmt);

$stmt = oci_parse($conn, "delete from emp2");
oci_execute($stmt, OCI_DEFAULT);
echo oci_num_rows($stmt) . " rows deleted.<br />";
oci_commit($conn);
oci_free_statement($stmt);

$stmt = oci_parse($conn, "drop table emp2");
oci_execute($stmt);
oci_free_statement($stmt);

oci_close($conn);
?>

Notas

Nota:

Esta función no devuelve el número de filas seleccionadas. Para sentencias SELECT, esta función devolverá el número de filas que fueron obtenidas desde el búfer con funciones de tipo oci_fetch*().

Nota:

En versiones de PHP anteriores a la 5.0.0 se debe usar ocirowcount() en su lugar. Este nombre aún puede usarse; se dejó como alias de oci_num_rows() por razones de retrocompatibilidad. Sin embargo, este nombre es obsoleto y no se recomienda.

oci_num_fields
oci_parse
Funciones de OCI8


Prepara una sentencia de Oracle para su ejecución

oci_num_rows
oci_password_change
Funciones de OCI8
PHP Manual

oci_parse

(PHP 5, PECL OCI8 >= 1.1.0)

oci_parse — Prepara una sentencia de Oracle para su ejecución

Descripción

resource oci_parse ( resource $connection , string $sql_text )

Prepara la sentencia dada por sql_text usando la conexión connection y devuelve el identificador de sentencia, el cual puede usarse con oci_bind_by_name(), oci_execute() y demás funciones.

Los identificadores de sentencia pueden liberarse con oci_free_statement() o estableciendo la variable a NULL.

Parámetros

connection

Un identificador de conexión de Oracle devuelto por oci_connect(), oci_pconnect(), o oci_new_connect().

sql_text

La sentencia SQL o PL/SQL.

Las sentencias SQL no deberían finalizar con un punto y coma (";"). Las sentencias PL/SQL sí deberían finalizar con un punto y coma (";").

Valores devueltos

Devuelve el gestor de sentencia en caso de éxito, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de oci_parse() para sentencias SQL

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

// Analizar la sentencia. Observe que no hay punto y coma final en la sentencia SQL
$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "") . "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Ejemplo #2 Ejemplo de oci_parse() para sentencias PL/SQL

<?php

/*
  Antes de ejecutar el programa de PHP, cree un procedimiento almacenado en
  SQL*Plus o SQL Developer:

  CREATE OR REPLACE PROCEDURE myproc(p1 IN NUMBER, p2 OUT NUMBER) AS
  BEGIN
      p2 := p1 * 2;
  END;

*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$p1 = 8;

// Cuando se analizan programas PL/SQL, debería existir un punto y coma final de la cadena
$stid = oci_parse($conn, 'begin myproc(:p1, :p2); end;');
oci_bind_by_name($stid, ':p1', $p1);
oci_bind_by_name($stid, ':p2', $p2, 40);

oci_execute($stid);

print "$p2\n";   // imprime 16

oci_free_statement($stid);
oci_close($conn);

?>

Notas

Nota:

Esta función no valida sql_text. La única manera de averiguar si sql_text es una sentencia SQL o PL/SQL válida es ejecutarla.

Ver también

  • oci_execute() - Ejecuta una sentencia
  • oci_free_statement() - Libera todos los recursos asociados con una sentencia o cursor

oci_num_rows
oci_password_change
Funciones de OCI8


Cambia la contraseña de un usuario de Oracle

oci_parse
oci_pconnect
Funciones de OCI8
PHP Manual

oci_password_change

(PHP 5, PECL OCI8 >= 1.1.0)

oci_password_change — Cambia la contraseña de un usuario de Oracle

Descripción

bool oci_password_change ( resource $connection , string $username , string $old_password , string $new_password )
resource oci_password_change ( string $dbname , string $username , string $old_password , string $new_password )

Cambia la contraseña del usuario dado por username.

La función oci_password_change() es más útil para scripts de línea de comandos de PHP, o cuando se usan conexiones no persistentes a través de una aplicación de PHP.

Parámetros

connection

Un identificador de conexión de Oracle devuelto por oci_connect() o oci_pconnect().

username

El nombre del usuario de Oracle.

old_password

La contraseña antigua.

new_password

La nueva contraseña a establecer.

dbname

El nombre de la base de datos.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de oci_password_change() cambiando la contraseña de un usuario ya conectado

<?php

$bd                = 'localhost/orcl';
$usuario           = 'cj';
$contraseña_actual = 'welcome';
$contraseña_nueva  = 'geelong';

$c = oci_pconnect($usuario, $contraseña_actual, $bd);
oci_password_change($c, $usuario, $contraseña_actual, $contraseña_nueva);
echo "La nueva contraseña es : " . $contraseña_nueva . "\n";

?>

Ejemplo #2 Ejemplo de oci_password_change() conectando y cambiando la contraseña en un solo paso

<?php

$bd                = 'localhost/orcl';
$usuario           = 'cj';
$contraseña_actual = 'welcome';
$contraseña_nueva  = 'geelong';

$c = oci_pconnect($usuario, $contraseña_actual, $bd);
if (!$c) {
    $m = oci_error();
    if ($m['code'] == 28001) { // "ORA-28001: the password has expired"
        // Identinficarse y reiniciar la contraseña al mismo tiempo
        $c = oci_password_change($bd, $usuario, $contraseña_actual, $contraseña_nueva);
        if ($c) {
            echo "La nueva contraseña es : " . $contraseña_nueva . "\n";
        }
    }
}

if (!$c) {  // El error original era 28001, o que el cambio de contraseña falló
    $m = oci_error();
    trigger_error('No se pudo conectar a la base de datos: '. $m['message'], E_USER_ERROR);
}

// Usar la conexión $c
...

?>

Notas

Nota:

El cambio de la contraseña mediante esta función o directamente en Oracle debería hacerse con cuidado. Esto es debido a que las aplicaciones de PHP podrían seguir reutilizando con éxito conexiones persistentes mediante la autenticación con contraseñas antiguas. La mejor práctica es reinicializar todos los servidores web siempre que se cambie una contraseña de usuario.

Nota:

Si se actualizan las bibliotecas cliente o la base de datos de Oracle desde una versión anterior a la 11.2.0.3 hasta esta misma versión o superior, oci_password_change() pordría generar el error "ORA-1017: invalid username/password" a menos que las versiones del cliente y del servidor se actualicen a la vez.

Nota:

Está disponible la segunda sintaxis de oci_password_change() desde la versión 1.1 de OCI8.

Nota:

En versiones de PHP anteriores a la 5.0.0 se debe usar ocipasswordchange() en su lugar. Este nombre aún puede usarse; se dejó como alias de oci_password_change() por razones de retrocompatibilidad. Sin embargo, este nombre es obsoleto y no se recomienda.

oci_parse
oci_pconnect
Funciones de OCI8


Conectar a una base de datos de Oracle usando una conexión persistente

oci_password_change
oci_result
Funciones de OCI8
PHP Manual

oci_pconnect

(PHP 5, PECL OCI8 >= 1.1.0)

oci_pconnect — Conectar a una base de datos de Oracle usando una conexión persistente

Descripción

resource oci_pconnect ( string $username , string $password [, string $connection_string [, string $character_set [, int $session_mode ]]] )

Crea una conexión persistente al servidor de Oracle y se identifica.

Las conexiones persistentes son almacenadas en caché y reutilizadas entre peticiones, resultando en la reducción de carga adicional en cada página; una aplicación típica de PHP tendrá una única conexión persistente abierta a un servidor de Oracle por cada proceso hijo de Apache (o proceso FastCGI/CGI de PHP). Véase la sección Conexiones persistentes a bases de datos para más información.

Parámetros

username

El nombre de usuario de Oracle.

password

La contraseña de username.

connection_string

Contiene la instancia de Oracle a la que conectarse. Puede ser una » cadena de Conexión Sencilla (Easy Connect), o un Nombre de Conexión del fichero tnsnames.ora, o el nombre de una instancia local de Oracle.

Si no se especifica, PHP utiliza variables de entorno como TWO_TASK (en Linux) o LOCAL (en Windows) y ORACLE_SID para determinar la instancia de Oracle a la que conectarse.

Para utilizar el método de nomenclatura de Conexión Sencila, PHP debe estar vinculado con las bibliotecas cliente de Oracle 10g o superiores. La cadena de Conexión Sencilla para Oracle 10g se utiliza de la siguiente forma: [//]nombre_host[:puerto][/nombre_servicio]. Desde Oracle 11g, la sintaxis es: [//]nombre_host[:puerto][/nombre_servicio][:tipo_servicio][/nombre_instancia]. Los nombres de servicio pueden encontrarse ejecuntado la utilidad de Oracle lsnrctl status en el servidor donde se encuentra la base de datos.

El fichero tnsnames.ora puede estar en la ruta de búsqueda de Oracle Net, la cual incluye $ORACLE_HOME/network/admin y /etc. De forma alternativa, establezca TNS_ADMIN para que $TNS_ADMIN/tnsnames.ora sea leído. Asegúrse que el demonio web tiene acceso de lectura al fichero.

character_set

Determina el juego de caracteres usado por las bibliotecas cliente de Oracle. El juego de caracteres no tiene por que coinicidir con el utilizado en la base de datos. Si no coinicide, Oracle intentará hacer lo posible para convertir los datos entre los dos juegos de caracteres. Dependiendo del juego de caracteres que se esté usando, podría no proporcionarse resultados útiles. La conversión también añade algo de carga extra de tiempo.

Si no se especifica, las bibliotacas cliente de Oracle determinarán el juego de caracteres desde la variable de entorno NLS_LANG.

Pasar este parámetro puede reducir el tiempo que toma en conectarse.

session_mode

Este parámetro está disponible desde la versión 5 de PHP (PECL OCI8 1.1) y acepta los siguientes valores: OCI_DEFAULT, OCI_SYSOPER y OCI_SYSDBA. Si se especifica OCI_SYSOPER o OCI_SYSDBA, esta función intentará establecer una conexión privilegiada con las credenciales externas. Las conexiones privilegiadas están desactivadas por omisión. Para activarlas hay que establecer oci8.privileged_connect a On.

En PHP 5.3 (PECL OCI8 1.3.4) se introdujo el valor de modo OCI_CRED_EXT. Esto indica a Oracle que utilice la autenticación Externa o del SO, la cual debe estar configurada en la base de datos. La bandera OCI_CRED_EXT sólo puede usarse con el nombre de usuario "/" y la contraseña en blanco. oci8.privileged_connect podría ser On o Off.

OCI_CRED_EXT podría estar en combinación con los modos OCI_SYSOPER o OCI_SYSDBA.

OCI_CRED_EXT no se admite en Windows por razones de seguridad.

Valores devueltos

Devuelve un identificador de conexión, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo básico de oci_pconnect() usando la sintaxis de Easy Connect

<?php

// Conecta al servicio XE (esto es, una base de datos) en la máquina "localhost"
$conn = oci_pconnect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "") . "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Véase oci_connect() para más ejemplos de uso de parámetros.

Notas

Nota: Desde PHP 5.1.2 y PECL OCI8 1.1, el tiempo de vida y el número máximo de conexiones persistentes a Oracle por proceso de PHP se puede ajustar estableciendo los siguientes valores de configuración: oci8.persistent_timeout, oci8.ping_interval y oci8.max_persistent.

Ver también

  • oci_connect() - Conecta a una base de datos de Oracle
  • oci_new_connect() - Conectar al servidor de Oracle usando una conexión única

oci_password_change
oci_result
Funciones de OCI8


Devuelve el valor de un campo de la fila obtenida

oci_pconnect
oci_rollback
Funciones de OCI8
PHP Manual

oci_result

(PHP 5, PECL OCI8 >= 1.1.0)

oci_result — Devuelve el valor de un campo de la fila obtenida

Descripción

mixed oci_result ( resource $statement , mixed $field )

Devuelve los datos del campo dado por field de la fila actual, obtenida mediante oci_fetch().

Para más detalles sobre cómo la extensión OCI8 realiza la correspondencia entre tipos de datos, véasen los tipos de datos admitidos por el controlador

Parámetros

statement

field

Puede ser el número de columna (basado en 1) o el nombre de columna. El uso de mayúsculas/minúsculas del nombre de columna debe ser el mismo que el de los metadatos de Oracle que describen la columna, que es en mayúsculas para columnas creadas con uso insensible a mayúsculas/minúsculas.

Valores devueltos

Devuelve todo como un string excepto para tipos abstractos (ROWID, LOB y FILE). Devuelve FALSE en caso de error.

Ejemplos

Ejemplo #1 oci_fetch() con oci_result()

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'SELECT location_id, city FROM locations WHERE location_id < 1200';
$stid = oci_parse($conn, $sql);
oci_execute($stid);

while (oci_fetch($stid)) {
    echo oci_result($stid, 'LOCATION_ID') . " es ";
    echo oci_result($stid, 'CITY') . "<br>\n";
}

// Muestra:
//   1000 es Roma
//   1100 es Venice

oci_free_statement($stid);
oci_close($conn);

?>

Notas

Nota:

En versiones de PHP anteriores a la 5.0.0 se debe usar ociresult() en su lugar. Este nombre aún puede usarse; se dejó como alias de oci_result() por razones de retrocompatibilidad. Sin embargo, este nombre es obsoleto y no se recomienda.

Ver también

  • oci_fetch_array() - Devuelve la siguiente fila de una consulta como un array asociativo o numérico
  • oci_fetch_assoc() - Devuelve la siguiente fila de una consulta como un array asociativo
  • oci_fetch_object() - Devuelve la siguiente fila de una consulta como un objeto
  • oci_fetch_row() - Devuelve la siguiente fila de una consulta como un array numérico
  • oci_fetch_all() - Obtiene múltiples filas de una consulta y las ubica en un array bidimiensional

oci_pconnect
oci_rollback
Funciones de OCI8


Revierte la transacción pendiente de la base de datos

oci_result
oci_server_version
Funciones de OCI8
PHP Manual

oci_rollback

(PHP 5, PECL OCI8 >= 1.1.0)

oci_rollback — Revierte la transacción pendiente de la base de datos

Descripción

bool oci_rollback ( resource $connection )

Revierte todos los cambios no consignados para la conexión de Oracle dada por connection y finaliza la transacción. Libera todos los bloqueos existentes. Todos los SAVEPOINT de Oracle se eliminan.

Una transacción comienza cuando la primera sentencia SQL que modifica datos es ejecutada con oci_execute() usando la bandera OCI_NO_AUTO_COMMIT. Las modificaciones posteriores a datos realizadas por otras sentencias se convierten en parte de la misma transacción. Las modificaciones a datos hechas en una transacción son temporales hasta que ésta se consigna o revierte. Los demás usuarios de la base de datos no verán los cambios hasta que sean consignados.

Cuando se insertan o actualizan datos, se recomienda usar transacciones para mantener la consistencia de datos relacional y por razones rendimiento.

Parámetros

connection

Un identificador de conexión de Oracle, devuelto por oci_connect(), oci_pconnect() o oci_new_connect().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de oci_rollback()

<?php

// Insertar en varias tablas, revirtiendo los cambios si ocurriera un error

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, "INSERT INTO mysalary (id, name) VALUES (1, 'Chris')");

// La bandera OCI_NO_AUTO_COMMIT le indica a Oracle que no consigne el INSERT inmediatamente
// Use OCI_DEFAULT como bandera para PHP <= 5.3.1. Las dos banderas son equivalentes
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!$r) {
    $e = oci_error($stid);
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, 'INSERT INTO myschedule (startday) VALUES (12)');
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!$r) {
    $e = oci_error($stid);
    oci_rollback($conn);  // revertir los cambios de ambas tablas
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

// Consignar los cambios de ambas tablas
$r = oci_commit($conn);
if (!r) {
    $e = oci_error($conn);
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

?>

Ejemplo #2 Ejemplo de reversión a un SAVEPOINT

<?php
$stid = oci_parse($conn, 'UPDATE mytab SET id = 1111');
oci_execute($stid, OCI_NO_AUTO_COMMIT);

// Crear el punto de prevención
$stid = oci_parse($conn, 'SAVEPOINT mysavepoint');
oci_execute($stid, OCI_NO_AUTO_COMMIT);

$stid = oci_parse($conn, 'UPDATE mytab SET id = 2222');
oci_execute($stid, OCI_NO_AUTO_COMMIT);

// Usar una sentencia SQL explícita para volver al punto de prevención
$stid = oci_parse($conn, 'ROLLBACK TO SAVEPOINT mysavepoint');
oci_execute($stid, OCI_NO_AUTO_COMMIT);

oci_commit($conn);  // mytab ahora tiene el id 1111
?>

Notas

Nota:

Las transacciones son automáticamente revertidas cuando se cierra la conexión o cuando finaliza el script, lo que ocurra antes. Es necesario llamar explícitamente a oci_commit() para consignar la transacción.

Cualquier llamada a oci_execute() que use el modo OCI_COMMIT_ON_SUCCESS, explícitamente o por omisión, consignará cualquier transacción no consignada anteriormente.

Cualquier sentencia DDL de Oracle como CREATE o DROP consignará automáticamente cualquier transacción no consignada.

Ver también

  • oci_commit() - Consigna la transacción pendiente de la base de datos
  • oci_execute() - Ejecuta una sentencia

oci_result
oci_server_version
Funciones de OCI8


Devuelve la versión de Oracle Database

oci_rollback
oci_set_action
Funciones de OCI8
PHP Manual

oci_server_version

(PHP 5, PECL OCI8 >= 1.1.0)

oci_server_version — Devuelve la versión de Oracle Database

Descripción

string oci_server_version ( resource $connection )

Devuelve una cadena con la verisón de Oracle Database y las opciones disponibles.

Parámetros

connection

Valores devueltos

Devuelve la información de la versión como una cadena, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de oci_server_version()

<?php
    $conn = oci_connect("scott", "tiger");
    echo "Server Version: " . oci_server_version($conn);

    // Se muestra:
    // Server Version: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    // With the Partitioning, OLAP, Data Mining and Real Application Testing option

    oci_close($conn);

?>

Notas

Nota:

En versiones de PHP anteriores a la 5.0.0 se debe usar ociserverversion() en su luagar. El nombre antiguo aún se puede utilizar. Sin embargo es obsoleto y no se recomienda.

Ver también

  • oci_client_version() - Devuelve la versión de la biblioteca cliente de Oracle

oci_rollback
oci_set_action
Funciones de OCI8


Establece el nombre de una acción

oci_server_version
oci_set_client_identifier
Funciones de OCI8
PHP Manual

oci_set_action

(PHP 5.3.2, PECL OCI8 >= 1.4.0)

oci_set_action — Establece el nombre de una acción

Descripción

bool oci_set_action ( resource $connection , string $action_name )

Establece el nombre de una acción para el rastreo de Oracle.

El nombre de la acción se registra con la base de datos cuando ocurra el siguiente "viaje de ida y vuelta" desde PHP a la base de datos, normalemnte cuando una sentencia SQL es ejecutada.

El nombre de la acción puede ser consultado posteriormente desde una vista de administración de la base de datos como V$SESSION. Se puede usar para rastrear y monitorizar como con V$SQLAREA y DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE.

El valor podría manterse entre conexiones persistentes.

Parámetros

connection

Un identificador de conexión de Oracle, devuelto por oci_connect(), oci_pconnect(), o oci_new_connect().

action_name

La cadena elegida por el usuario, hasta 32 bytes de longitud.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Establecer la acción

<?php

$c = oci_connect('hr', 'welcome', 'localhost/XE');

// Grabar la acción
oci_set_action($c, 'Friend Lookup');

// Código que causa un viaje de ida y vuelta, por ejemplo una consulta:
$s = oci_parse($c, 'select * from dual');
oci_execute($s);
oci_fetch_all($s, $res);

sleep(30);

?>
// Mientras el script se esté ejecutando, el administrador puede ver las acciones
// que se están realizando:

sqlplus system/welcome
SQL> select action from v$session;

Notas

Nota: Requisito de versión de Oracle

Esta función esta disponible cuando PHP está vinculado con bibliotecas de Oracle Database de la versión 10g en adelante.

Sugerencia

Rendimiento

Con versiones antiguas de OCI8 o de Oracle Database, se puede establecer la información del cliente usando el paquete DBMS_APPLICATION_INFO de Oracle. Esto es menos eficiente que utilizar oci_set_client_info().

Precaución

Problema con los viajes de ida y vuelta

Algunas, pero no todas, de las funciones de OCI8 causan viajes de ida y vuelta. Estos podrían no ocurrir con las consultas cuando está habilitado el almacenamiento en caché de resultados.

Ver también

  • oci_set_module_name() - Establece el nombre de un módulo
  • oci_set_client_info() - Establece la información del cliente
  • oci_set_client_identifier() - Establece el identificador del cliente

oci_server_version
oci_set_client_identifier
Funciones de OCI8


Establece el identificador del cliente

oci_set_action
oci_set_client_info
Funciones de OCI8
PHP Manual

oci_set_client_identifier

(PHP 5.3.2, PECL OCI8 >= 1.4.0)

oci_set_client_identifier — Establece el identificador del cliente

Descripción

bool oci_set_client_identifier ( resource $connection , string $client_identifier )

Establece el identificador del cliente usado por varios componentes de la base de datos para identificar usuarios de aplicaciones ligeras que se identificaron con el mismo usuario de base de datos.

El identificador del cliente se registra con la base de datos cuando ocurra el siguiente "viaje de ida y vuelta" desde PHP a la base de datos, normalemnte cuando una sentencia SQL es ejecutada.

El identificador puede ser consultado subsiguientemente, por ejemplo, con SELECT SYS_CONTEXT('USERENV','CLIENT_IDENTIFIER') FROM DUAL. Las vistas de administración de la base de datos como V$SESSION también contendrán el valor. Se puede usar con DBMS_MONITOR.CLIENT_ID_TRACE_ENABLE para rastreo y también para auditoría.

El valor podría mantenerse entre peticiones de páginas que usen la misma conexión persistente.

Parámetros

connection

Un identificador de conexión de Oracle, devuelto por oci_connect(), oci_pconnect(), o oci_new_connect().

client_identifier

La cadena elegida por el usuario, hasta 64 bytes de longitud.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Establecer el identificador del cliente para el usuario de la aplicación

<?php

// Buscar el nombre de identificación de usuario de la aplicación
session_start();
$un = my_validate_session($_SESSION['username']);
$c = oci_connect('myschema', 'welcome', 'localhost/XE');

// Indicar a Oracle qué usuario es
oci_set_client_identifier($c, $un);

// El siguiente viaje de ida y vuelta a la base de datos adjuntará el identificador
$s = oci_parse($c, 'select mydata from mytable');
oci_execute($s);

// ...

?>

Notas

Precaución

Problema con los viajes de ida y vuelta

Algunas, pero no todas, de las funciones de OCI8 causan viajes de ida y vuelta. Estos podrían no ocurrir con las consultas cuando está habilitado el almacenamiento en caché de resultados.

Ver también

  • oci_set_module_name() - Establece el nombre de un módulo
  • oci_set_action() - Establece el nombre de una acción
  • oci_set_client_info() - Establece la información del cliente

oci_set_action
oci_set_client_info
Funciones de OCI8


Establece la información del cliente

oci_set_client_identifier
oci_set_edition
Funciones de OCI8
PHP Manual

oci_set_client_info

(PHP 5.3.2, PECL OCI8 >= 1.4.0)

oci_set_client_info — Establece la información del cliente

Descripción

bool oci_set_client_info ( resource $connection , string $client_info )

Establece la información del cliente para el rastreo de Oracle.

La información del cliente se registra con la base de datos cuando ocurra el siguiente "viaje de ida y vuelta" desde PHP a la base de datos, normalemnte cuando una sentencia SQL es ejecutada.

La información del cliente puede ser consultado posteriormente desde una vista de administración de la base de datos como V$SESSION.

El valor podría manterse entre conexiones persistentes.

Parámetros

connection

Un identificador de conexión de Oracle, devuelto por oci_connect(), oci_pconnect(), o oci_new_connect().

client_info

La cadena elegida por el usuario, hasta 64 bytes de longitud.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Establecer la información del cliente

<?php

$c = oci_connect('hr', 'welcome', 'localhost/XE');

// Grabar la información del cliente
oci_set_client_info($c, 'My Application Version 2');

// Código que causa un viaje de ida y vuelta, por ejemplo una consulta:
$s = oci_parse($c, 'select * from dual');
oci_execute($s);
oci_fetch_all($s, $res);

sleep(30);

?>
// Mientras el script se esté ejecutando, el administrador puede ver la informaicón
// del cliente:

sqlplus system/welcome
SQL> select client_info from v$session;

Notas

Nota: Requisito de versión de Oracle

Esta función esta disponible cuando PHP está vinculado con bibliotecas de Oracle Database de la versión 10g en adelante.

Sugerencia

Rendimiento

Con versiones antiguas de OCI8 o de Oracle Database, se puede establecer la información del cliente usando el paquete DBMS_APPLICATION_INFO de Oracle. Esto es menos eficiente que utilizar oci_set_client_info().

Precaución

Problema con los viajes de ida y vuelta

Algunas, pero no todas, de las funciones de OCI8 causan viajes de ida y vuelta. Estos podrían no ocurrir con las consultas cuando está habilitado el almacenamiento en caché de resultados.

Ver también

  • oci_set_module_name() - Establece el nombre de un módulo
  • oci_set_action() - Establece el nombre de una acción
  • oci_set_client_identifier() - Establece el identificador del cliente

oci_set_client_identifier
oci_set_edition
Funciones de OCI8


Establece la edición de la base de datos

oci_set_client_info
oci_set_module_name
Funciones de OCI8
PHP Manual

oci_set_edition

(PHP 5.3.2, PECL OCI8 >= 1.4.0)

oci_set_edition — Establece la edición de la base de datos

Descripción

bool oci_set_edition ( string $edition )

Establece la "edición" de la base de datos de objetos que van a se utilizada por conexiones subsiguientes.

Las ediciones de Oracle permiten la ejecución de aplicaciones de versiones concurrentes usando el mismo esquema y nombres de objetos. Esto es útil para actualizar sistemas en vivo.

Se ha de llamar a oci_set_edition() antes de invocar a oci_connect(), oci_pconnect() o oci_new_connect().

Si se establece en la base de datos una edición que no es válida, la conexión fallará incluso si oci_set_edition() tiene éxito.

Cuando se usan conexiones persistentes, si una conexión con la edición establecida solicitada ya existe, será reutilizada. De lo contrario, se creará una conexión persistente diferente.

Parámetros

edition

El nombre de la edición de Oracle Database anteriormente creada con el comando SQL "CREATE EDITION".

Notas

Nota: Requisitos de la versión de Oracle

Esta función está disponible desde Oracle 11gR2 en adelante.

Precaución

Conexiones persistentes

Para evitar inconsistencias y errores inesperados, no use ALTER SESSION SET EDITION para cambiar la edición en conexiones persistentes.

Precaución

Agrupamiento de conexiones DRCP

Para evitar inconsistencias y errores inesperados cuando se utilizan ediciones y DRCP con Oracle 11.2.0.1, mantenga una correspondencia uno-a-uno entre oci8.connection_class y el nombre de la edición usado por las aplicaciones. Cada servidor de la agrupación de una clase de conexión dada debería ser usado únicamente con una edición. Esta restricción se ha eliminado con Oracle 11.2.0.2.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Dos scripts pueden usar diferentes versiones de myfunc() a la vez

<?php

// Fichero 1

echo "Versión 1 de la aplicación\n";

oci_set_edition('ORA$BASE');
$c = oci_connect('hr', 'welcome', 'localhost/XE');

$s = oci_parse($c, "begin :r := myfunc(); end;");
oci_bind_by_name($s, ":r", $r, 20);
oci_execute($s);
echo "El resultado es $r\n";

?>
<?php

// Fichero 2

echo "Versión 2 de la aplicación\n";

oci_set_edition('E1');
$c = oci_connect('hr', 'welcome', 'localhost/XE');

$s = oci_parse($c, "begin :r := myfunc(); end;");
oci_bind_by_name($s, ":r", $r, 20);
oci_execute($s);
echo "El resultado es $r\n";

?>

oci_set_client_info
oci_set_module_name
Funciones de OCI8


Establece el nombre de un módulo

oci_set_edition
oci_set_prefetch
Funciones de OCI8
PHP Manual

oci_set_module_name

(PHP 5.3.2, PECL OCI8 >= 1.4.0)

oci_set_module_name — Establece el nombre de un módulo

Descripción

bool oci_set_module_name ( resource $connection , string $module_name )

Establece el nombre de un módulo para el rastreo de Oracle.

El nombre del módulo se registra con la base de datos cuando ocurra el siguiente "viaje de ida y vuelta" desde PHP a la base de datos, normalemnte cuando una sentencia SQL es ejecutada.

El nombre del módulo puede ser consultado posteriormente desde una vista de administración de la base de datos como V$SESSION. Se puede usar para rastrear y monitorizar como con V$SQLAREA y DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE.

El valor podría manterse entre conexiones persistentes.

Parámetros

connection

Un identificador de conexión de Oracle, devuelto por oci_connect(), oci_pconnect(), o oci_new_connect().

module_name

El string elegido por el usuario, hasta 48 bytes de longitud.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota: Requisito de versión de Oracle

Esta función esta disponible cuando PHP está vinculado con bibliotecas de Oracle Database de la versión 10g en adelante.

Sugerencia

Rendimiento

Con versiones antiguas de OCI8 o de Oracle Database, se puede establecer la información del cliente usando el paquete DBMS_APPLICATION_INFO de Oracle. Esto es menos eficiente que utilizar oci_set_client_info().

Precaución

Problema con los viajes de ida y vuelta

Algunas, pero no todas, de las funciones de OCI8 causan viajes de ida y vuelta. Estos podrían no ocurrir con las consultas cuando está habilitado el almacenamiento en caché de resultados.

Ejemplos

Ejemplo #1 Establecer el nombre del módulo

<?php

$c = oci_connect('hr', 'welcome', 'localhost/XE');

// Grabar el módulo
oci_set_module_name($c, 'Home Page');

// Código que causa un viaje de ida y vuelta, por ejemplo una consulta:
$s = oci_parse($c, 'select * from dual');
oci_execute($s);
oci_fetch_all($s, $res);

sleep(30);
?>
// Mientras el script se esté ejecutando, el administrador puede ver el
// módulo en uso:

sqlplus system/welcome
SQL> select module from v$session;

Ver también

  • oci_set_action() - Establece el nombre de una acción
  • oci_set_client_info() - Establece la información del cliente
  • oci_set_client_identifier() - Establece el identificador del cliente

oci_set_edition
oci_set_prefetch
Funciones de OCI8


Establece el número de filas a precargar mediante consultas

oci_set_module_name
oci_statement_type
Funciones de OCI8
PHP Manual

oci_set_prefetch

(PHP 5, PECL OCI8 >= 1.1.0)

oci_set_prefetch — Establece el número de filas a precargar mediante consultas

Descripción

bool oci_set_prefetch ( resource $statement , int $rows )

Establece el número de filas que las bibliotecas de Oracle Client almacenará en búfer después de una llamada exitosa a oci_execute() y por cada petición de obtención interna subsigiente a la base de datos. Para consultas que devuelven un gran número de filas, se puede mejorar significativamente el rendimiento aumentando el número de precarga sobre el valor predeterminado de oci8.default_prefetch.

La precarga es la forma eficiente de Oracle de devolver más de una fila de datos desde la base de datos en cada petición de red. Esto puede resultar en un uso mejor de la red y la CPU. El almacenamiento en búder de filas es interno a OCI8 y el comportamiento de las funciones de obtención de OCI8 no se modifica a pesar del número de precargas. Por ejemplo, oci_fetch_row() siempre devolverá una fila. El almancenamiento en búfer de las precargas se realiza en base a cada sentencia y no es utilizado por sentencias reejecutadas o por otras conexiones.

Se ha de llamar a oci_set_prefetch() antes de invocar a oci_execute().

Un objetivo para el ajuste es establecer el valor de precarga a un tamaño razonable que pueda manejar la red y la base de datos. Para consultas que devuelven un número de filas muy grande, se podría mejorar la eficiencia total del sistema si las filas son obtenidas de la base de datos en varios trozos (esto es, establecer el valor de precarga menor que el número de filas). Esto permite que la base de datos maneje otras sentencias de usuarios mientras que el script de PHP está procesando el conjunto de filas actual.

La precarga de consultas se introdujo en Oracle 8i. La precarga de REF CURSOR se introdujo en Oracle 11gR2 y sucede cuando PHP está vinculado con las bibliotecas cliente de Oracle 11gR2 (o posterior). La precarga de cursores anidados fue introducida en Oracle 11gR2 y requiere que las bibliotecas de Oracle Client y las bases de datos sean la versión 11gR2 o posterior.

La precarga no está soportada cuando las consultas contienen columnas LONG o LOB. El valor de la precarga será ignorado y se usará la obtención de una única fila en todas las situaciones donde no esté soportada la precarga.

Al usar Oracle Database 12c, el valor precargado establecido por PHP puede ser sobrescrito por el fichero de configuración de del cliente oraaccess.xml de Oracle. Consulte la documentación de Oracle para más detalles.

Parámetros

statement

Un identificador de sentencia de OCI8 válido creado por oci_parse() y ejecutado por oci_execute(), o un identificador de sentencia de REF CURSOR.

rows

El número de filas que van a se precargadas, >= 0

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.3.2 (PECL OCI8 1.4) | Antes de esta versión, rows debe ser >= 1.
5.3.0 (PECL OCI8 1.3.4) | Antes de esta versión, la precarga estaba limitada al menor valor de rows filas y 1024 * rows bytes. La restricción del tamaño de bytes ahora ha sido eliminada.

Ejemplos

Ejemplo #1 Cambiar el valor de precarga predeterminado para una consulta

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'SELECT * FROM myverybigtable');
oci_set_prefetch($stid, 300);  // Establecer antes de llamar a oci_execute()
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>".($item !== null ? htmlentities($item, ENT_QUOTES) : "")."</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

oci_free_statement($stid);
oci_close($conn);

?>

Ejemplo #2 Cambiar la precarga predeterminada para la obtención de un REF CURSOR

<?php
/*
  Crear el procedimiento almacenado PL/SQL:

  CREATE OR REPLACE PROCEDURE myproc(p1 OUT SYS_REFCURSOR) AS
  BEGIN
    OPEN p1 FOR SELECT * FROM all_objects WHERE ROWNUM < 5000;
  END;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'BEGIN myproc(:rc); END;');
$refcur = oci_new_cursor($conn);
oci_bind_by_name($stid, ':rc', $refcur, -1, OCI_B_CURSOR);
oci_execute($stid);

// Cambiar la precarga antes de ejecutar el cursor.
// La precarga de REF CURSOR funciona cuando PHP está vinculado con las bibliotecas cliente de Oracle 11gR2 o posteriores
oci_set_prefetch($refcur, 200);
oci_execute($refcur);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($refcur, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>".($item !== null ? htmlentities($item, ENT_QUOTES) : "")."</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

oci_free_statement($refcur);
oci_free_statement($stid);
oci_close($conn);

?>

Si OCI8 de PHP realiza la obtención desde un REF CURSOR y luego pasa el REF CURSOR a un segundo procedimiento de PL/SQL para su procesamiento posterior, establezca el número de precargas de REF CURSOR a 0 para evitar que las filas se "pierdan" en el conjunto de resultados. El valor de la precarga es el número de filas extra obtenidas en cada petición interna de OCI8 para la base de datos, por lo que establecerlo a 0 significa que únicamente se obtiene una fila cada vez.

Ejemplo #3 Establecer el valor de precarga cuando se vuelve a pasar un REF CURSOR a Oracle

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/orcl');

// obtener el REF CURSOR
$stid = oci_parse($conn, 'BEGIN myproc(:rc_out); END;');
$refcur = oci_new_cursor($conn);
oci_bind_by_name($stid, ':rc_out', $refcur, -1, OCI_B_CURSOR);
oci_execute($stid);

// Mostrar dos filas, pero no precargar ninguna fila extra, si no,
// esas filas extra no se pasarán de nuevo a myproc_use_rc().
// Un valor de precarga de 0 está permitido en PHP 5.3.2 y PECL OCI8 1.4
oci_set_prefetch($refcur, 0);
oci_execute($refcur);
$row = oci_fetch_array($refcur);
var_dump($row);
$row = oci_fetch_array($refcur);
var_dump($row);

// pasar el REF CURSOR a myproc_use_rc() para porcesar más datos
// con el conjunto de resultados
$stid = oci_parse($conn, 'begin myproc_use_rc(:rc_in); end;');
oci_bind_by_name($stid, ':rc_in', $refcur, -1, OCI_B_CURSOR);
oci_execute($stid);

?>

Ver también

  • La opción ini oci8.default_prefetch

oci_set_module_name
oci_statement_type
Funciones de OCI8


Devuelve el tipo de una sentencia

oci_set_prefetch
OCI-Collection
Funciones de OCI8
PHP Manual

oci_statement_type

(PHP 5, PECL OCI8 >= 1.1.0)

oci_statement_type — Devuelve el tipo de una sentencia

Descripción

string oci_statement_type ( resource $statement )

Devuelve una palabra clave que identifica el tipo de la sentencia de OCI8 dada por statement.

Parámetros

statement

Un identificador de sentencia de OCI8 válido desde oci_parse().

Valores devueltos

Devuelve el tipo de statement como una de las siguientes cadenas.

Tipo de sentencia
Cadena devuelta | Notas
ALTER |
BEGIN |
CALL | Introducido en PHP 5.2.1 (PECL OCI8 1.2.3)
CREATE |
DECLARE |
DELETE |
DROP |
INSERT |
SELECT |
UPDATE |
UNKNOWN |

Devuelve FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de oci_statement_type()

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'DELETE FROM departments WHERE department_id = 130;');
if (oci_statement_type($stid) == "DELETE") {
    trigger_error('You are not allowed to delete from this table', E_USER_ERROR);
}
else {
    oci_execute($stid);  // eliminar la fila
}

oci_free_statement($stid);
oci_close($conn);

?>

oci_set_prefetch
OCI-Collection
Funciones de OCI8


La clase OCI-Collection

(PHP 5, PECL OCI8 >= 1.1.0)

Introducción

Funcionalidad de OCI8 Collection.

Sinopsis de la Clase

OCI-Collection {
/* Métodos */
bool append ( mixed $value )
bool assign ( OCI-Collection $from )
bool assignElem ( int $index , mixed $value )
bool free ( void )
mixed getElem ( int $index )
int max ( void )
int size ( void )
bool trim ( int $num )
}

Tabla de contenidos

  • OCI-Collection::append — Añade un elemento a la colección
  • OCI-Collection::assign — Asigna un valor a la colección desde otra colección existente
  • OCI-Collection::assignElem — Asigna un valor a un elemento de la colección
  • OCI-Collection::free — Libera los recursos asociados con el objeto colección
  • OCI-Collection::getElem — Devuelve el valor de un elemento
  • OCI-Collection::max — Devuelve el número máximo de elementos de la colección
  • OCI-Collection::size — Devuelve el tamaño de la colección
  • OCI-Collection::trim — Elimina elementos del final de la colección
oci_statement_type
OCI-Collection::append
OCI8


Añade un elemento a la colección

OCI-Collection
OCI-Collection::assign
OCI-Collection
PHP Manual

OCI-Collection::append

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Collection::append — Añade un elemento a la colección

Descripción

bool OCI-Collection::append ( mixed $value )

Añade un elemento al final de la colección.

Parámetros

value

El valor a añadir a la colexxión. Puede ser una cadena de caracters o un número.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • OCI-Collection::assign

OCI-Collection
OCI-Collection::assign
OCI-Collection


Asigna un valor a la colección desde otra colección existente

OCI-Collection::append
OCI-Collection::assignElem
OCI-Collection
PHP Manual

OCI-Collection::assign

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Collection::assign — Asigna un valor a la colección desde otra colección existente

Descripción

bool OCI-Collection::assign ( OCI-Collection $from )

Asigna un valor a la colección desde otra colección previamente creada. Ambas colecciones deben crearse con oci_new_collection() antes de utilizarlas.

Parámetros

from

Una instancia de OCI-Collection.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • OCI-Collection::append

OCI-Collection::append
OCI-Collection::assignElem
OCI-Collection


Asigna un valor a un elemento de la colección

OCI-Collection::assign
OCI-Collection::free
OCI-Collection
PHP Manual

OCI-Collection::assignElem

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Collection::assignElem — Asigna un valor a un elemento de la colección

Descripción

bool OCI-Collection::assignElem ( int $index , mixed $value )

Asigna un valor al elemento con índice index.

Parámetros

index

El índice del elemento. El primer índice es 0.

value

Puede ser una cadena de caracteres o un número.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • OCI-Collection::getElem

OCI-Collection::assign
OCI-Collection::free
OCI-Collection


Libera los recursos asociados con el objeto colección

OCI-Collection::assignElem
OCI-Collection::getElem
OCI-Collection
PHP Manual

OCI-Collection::free

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Collection::free — Libera los recursos asociados con el objeto colección

Descripción

bool OCI-Collection::free ( void )

Libera los recursos asociados con el objeto colección.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • oci_new_collection

OCI-Collection::assignElem
OCI-Collection::getElem
OCI-Collection


Devuelve el valor de un elemento

OCI-Collection::free
OCI-Collection::max
OCI-Collection
PHP Manual

OCI-Collection::getElem

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Collection::getElem — Devuelve el valor de un elemento

Descripción

mixed OCI-Collection::getElem ( int $index )

Devuelve el valor del elemento cuyo índice es index (basado en 0).

Parámetros

index

El índice del elemento. El primer índice es 0.

Valores devueltos

Devuelve FALSE si el elemento no existe; NULL si el elemento es NULL; un string si el elemento es una columna del tipo de datos string, o un número si es un campo numérico.

Ver también

  • OCI-Collection::assignElem

OCI-Collection::free
OCI-Collection::max
OCI-Collection


Devuelve el número máximo de elementos de la colección

OCI-Collection::getElem
OCI-Collection::size
OCI-Collection
PHP Manual

OCI-Collection::max

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Collection::max — Devuelve el número máximo de elementos de la colección

Descripción

int OCI-Collection::max ( void )

Devuelve el número máximo de elementos de la colección.

Valores devueltos

Devuelve el número máximo como un entero, o FALSE en caso de error.

Si el valor devuelto es 0, entonces el número de elementos no está limitado.

Ver también

  • OCI-Collection::size

OCI-Collection::getElem
OCI-Collection::size
OCI-Collection


Devuelve el tamaño de la colección

OCI-Collection::max
OCI-Collection::trim
OCI-Collection
PHP Manual

OCI-Collection::size

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Collection::size — Devuelve el tamaño de la colección

Descripción

int OCI-Collection::size ( void )

Devuelve el tamaño de la colección.

Valores devueltos

Devuelve el número de elementos de la colección o FALSE en caso de error.

Ver también

  • OCI-Collection::max

OCI-Collection::max
OCI-Collection::trim
OCI-Collection


Elimina elementos del final de la colección

OCI-Collection::size
OCI-Lob
OCI-Collection
PHP Manual

OCI-Collection::trim

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Collection::trim — Elimina elementos del final de la colección

Descripción

bool OCI-Collection::trim ( int $num )

Elimina el número de elementos dado por num del final de la colección.

Parámetros

num

El número de elementos a eliminar.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • OCI-Collection::size

OCI-Collection::size
OCI-Lob
OCI-Collection


La clase OCI-Lob

(PHP 5, PECL OCI8 >= 1.1.0)

Introducción

Funcionaliada de OCI8 LOB para objetos grandes binarios (BLOB) y de carácter (CLOB).

Sinopsis de la Clase

OCI-Lob {
/* Métodos */
bool append ( OCI-Lob $lob_from )
bool close ( void )
bool eof ( void )
int erase ([ int $offset [, int $length ]] )
bool export ( string $filename [, int $start [, int $length ]] )
bool flush ([ int $flag ] )
bool free ( void )
bool getBuffering ( void )
bool import ( string $filename )
string load ( void )
bool rewind ( void )
bool save ( string $data [, int $offset ] )
bool seek ( int $offset [, int $whence = OCI_SEEK_SET ] )
bool setBuffering ( bool $on_off )
int size ( void )
int tell ( void )
bool truncate ([ int $length = 0 ] )
int write ( string $data [, int $length ] )
bool writeTemporary ( string $data [, int $lob_type = OCI_TEMP_CLOB ] )
}

Tabla de contenidos

  • OCI-Lob::append — Añade datos a un objeto grande (LOB) desde otro
  • OCI-Lob::close — Cierra un descriptor de LOB
  • OCI-Lob::eof — Comprueba la marca de final de fichero en un descriptor de objetos grandes
  • OCI-Lob::erase — Borra la porción especificada de los datos internos de un LOB
  • OCI-Lob::export — Exporta el contenido de un LOB a un fichero
  • OCI-Lob::flush — Vacía/escribe el búfer de un LOB al servidor
  • OCI-Lob::free — Libera los recursos asociados con el descriptor del LOB
  • OCI-Lob::getBuffering — Devuelve el estado actual del uso del búfer para un objeto grande
  • OCI-Lob::import — Importa datos de un fichero a un LOB
  • OCI-Lob::load — Devuelve el contenido de un objeto grande
  • OCI-Lob::read — Lee parte del objeto grande
  • OCI-Lob::rewind — Mueve el puntero interno al comienzo de un objeto grande
  • OCI-Lob::save — Guarda datos en un objeto grande
  • OCI-Lob::saveFile — Alias de OCI-Lob::import
  • OCI-Lob::seek — Ubica el puntero interno de un objeto grande
  • OCI-Lob::setBuffering — Cambia el estado actual del uso del búfer para objetos grandes
  • OCI-Lob::size — Devuelve el tamaño de un objeto grande
  • OCI-Lob::tell — Devuelve la posición actual del puntero interno de un objeto grande
  • OCI-Lob::truncate — Trunca un objeto grande
  • OCI-Lob::write — Escribe datos en un objeto grande
  • OCI-Lob::writeTemporary — Escribe un objeto grande temporal
  • OCI-Lob::writeToFile — Alias de OCI-Lob::export
OCI-Collection::trim
OCI-Lob::append
OCI8


Añade datos a un objeto grande (LOB) desde otro

OCI-Lob
OCI-Lob::close
OCI-Lob
PHP Manual

OCI-Lob::append

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob::append — Añade datos a un objeto grande (LOB) desde otro

Descripción

bool OCI-Lob::append ( OCI-Lob $lob_from )

Añade datos de un objeto grande (LOB) al final de otro.

La escritura del objeto grande con este método fallará si el uso del búfer estaba previamente habilitado. Se debe deshabilitar el uso del búfer antes de la agregación. Podría ser necesario vaciar los búferes con OCI-Lob::flush antes de deahabilitarlos.

Parámetros

lob_from

El LOB copiado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • OCI-Lob::flush
  • OCI-Lob::setBuffering
  • OCI-Lob::getBuffering

OCI-Lob
OCI-Lob::close
OCI-Lob


Cierra un descriptor de LOB

OCI-Lob::append
OCI-Lob::eof
OCI-Lob
PHP Manual

OCI-Lob::close

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob::close — Cierra un descriptor de LOB

Descripción

bool OCI-Lob::close ( void )

Cierra un descriptor de LOB o FILE. Esta función debería usarse únicamente con OCI-Lob::writeTemporary.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • OCI-Lob::writeTemporary

OCI-Lob::append
OCI-Lob::eof
OCI-Lob


Comprueba la marca de final de fichero en un descriptor de objetos grandes

OCI-Lob::close
OCI-Lob::erase
OCI-Lob
PHP Manual

OCI-Lob::eof

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob::eof — Comprueba la marca de final de fichero en un descriptor de objetos grandes

Descripción

bool OCI-Lob::eof ( void )

Indica si el puntero interno de objetos grandes está al final del LOB.

Valores devueltos

Devuelve TRUE si el puntero interno de objetos grandes está al final del LOB. Otherwise returns FALSE.

Notas

Nota:

Esta función devolverá un error de Oracle si OCI-Lob::setBuffering está habilitado en el LOB.

Ver también

  • OCI-Lob::size

OCI-Lob::close
OCI-Lob::erase
OCI-Lob


Borra la porción especificada de los datos internos de un LOB

OCI-Lob::eof
OCI-Lob::export
OCI-Lob
PHP Manual

OCI-Lob::erase

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob::erase — Borra la porción especificada de los datos internos de un LOB

Descripción

int OCI-Lob::erase ([ int $offset [, int $length ]] )

Borra una porción especificada de los datos internos de un LOB comenzando en el índice dado por offset. Si se invoca sin parámetros, borrará todos los datos del LOB.

Para BLOBs, el hecho de borrar significa que el valor del LOB existente se sobrescribe con bytes cero. Para CLOBs, el valor del LOB existente se sobrescribe con espacios.

Parámetros

offset

length

Valores devueltos

Devuelve el número real de caracteres/bytes borrados o FALSE en caso de error.

Ver también

  • OCI-Lob::truncate

OCI-Lob::eof
OCI-Lob::export
OCI-Lob


Exporta el contenido de un LOB a un fichero

OCI-Lob::erase
OCI-Lob::flush
OCI-Lob
PHP Manual

OCI-Lob::export

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob::export — Exporta el contenido de un LOB a un fichero

Descripción

bool OCI-Lob::export ( string $filename [, int $start [, int $length ]] )

Exporta el contenido de un LOB a un fichero.

Parámetros

filename

La ruta del fichero.

start

Indica desde dónde se empieza a exportar.

length

Indica la longitud de los datos a exportar.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • OCI-Lob::import

OCI-Lob::erase
OCI-Lob::flush
OCI-Lob


Vacía/escribe el búfer de un LOB al servidor

OCI-Lob::export
OCI-Lob::free
OCI-Lob
PHP Manual

OCI-Lob::flush

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob::flush — Vacía/escribe el búfer de un LOB al servidor

Descripción

bool OCI-Lob::flush ([ int $flag ] )

OCI-Lob::flush() en realidad escribe datos en el servidor.

Parámetros

flag

Por omisión, los recursos no son liberados, aunque usando la bandera OCI_LOB_BUFFER_FREE se puede hacer explícitamente. Asegúrese de saber lo que está haciendo: la siguiente operación de lectura/escritura a la misma parte del LOB supondrá un viaje de ida y vuelta al servidor e inicilizará nuevos recursos de búfer. Se recomienda usar la bandera OCI_LOB_BUFFER_FREE solamente cuando no se vaya a trabajar más con el LOB.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Devuelve FALSE si el uso del búfer no estaba habilitado u ocurrió un error.

Ver también

  • OCI-Lob::getBuffering
  • OCI-Lob::setBuffering

OCI-Lob::export
OCI-Lob::free
OCI-Lob


Libera los recursos asociados con el descriptor del LOB

OCI-Lob::flush
OCI-Lob::getBuffering
OCI-Lob
PHP Manual

OCI-Lob::free

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob::free — Libera los recursos asociados con el descriptor del LOB

Descripción

bool OCI-Lob::free ( void )

Libera los recursos asociados con el descriptor, previamente asignados con oci_new_descriptor().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

OCI-Lob::flush
OCI-Lob::getBuffering
OCI-Lob


Devuelve el estado actual del uso del búfer para un objeto grande

OCI-Lob::free
OCI-Lob::import
OCI-Lob
PHP Manual

OCI-Lob::getBuffering

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob::getBuffering — Devuelve el estado actual del uso del búfer para un objeto grande

Descripción

bool OCI-Lob::getBuffering ( void )

Indica si el almacenamiento en búfer para objetos grandes está activado o no.

Valores devueltos

Devuelve FALSE si el almacenamiento en búfer de objetos grandes está desactivado, y TRUE si se utiliza dicho almacenamiento.

Ver también

  • OCI-Lob::setBuffering

OCI-Lob::free
OCI-Lob::import
OCI-Lob


Importa datos de un fichero a un LOB

OCI-Lob::getBuffering
OCI-Lob::load
OCI-Lob
PHP Manual

OCI-Lob::import

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob::import — Importa datos de un fichero a un LOB

Descripción

bool OCI-Lob::import ( string $filename )

Escribe datos desde el fichero dado por filename a la posición actual del objeto grande.

Parámetros

filename

La ruta del fichero.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • OCI-Lob::export
  • OCI-Lob::write

OCI-Lob::getBuffering
OCI-Lob::load
OCI-Lob


Devuelve el contenido de un objeto grande

OCI-Lob::import
OCI-Lob::read
OCI-Lob
PHP Manual

OCI-Lob::load

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob::load — Devuelve el contenido de un objeto grande

Descripción

string OCI-Lob::load ( void )

Devuelve el contenido de un objeto grande. Ya que la ejecución de un script finaliza cuando se alcanza el valor de memory_limit, asegúrese de que el LOB no execede dicho límite. En la mayoría de los casos se recomienda usar en su lugar OCI-Lob::read.

Valores devueltos

Devuelve el contenido del objeto, o FALSE en caso de error.

Ver también

  • OCI-Lob::read

OCI-Lob::import
OCI-Lob::read
OCI-Lob


Lee parte del objeto grande

OCI-Lob::load
OCI-Lob::rewind
OCI-Lob
PHP Manual

OCI-Lob::read

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob::read — Lee parte del objeto grande

Descripción

string OCI-Lob::read ( int $length )

Lee length bytes desde la posición actual del puntero interno del LOB.

La lectura se detiene cuando se han leído length bytes o se alcance el final del objeto grande. El puntero interno del objeto grande será desplazado a la cantidad de bytes leídos.

Parámetros

length

La longitud de los datos a leer, en bytes. Los valores grandes serán redondeados a 1 MB.

Valores devueltos

Devuelve el contenido como un string, o FALSE en caso de error.

Ver también

  • OCI-Lob::load
  • OCI-Lob::write

OCI-Lob::load
OCI-Lob::rewind
OCI-Lob


Mueve el puntero interno al comienzo de un objeto grande

OCI-Lob::read
OCI-Lob::save
OCI-Lob
PHP Manual

OCI-Lob::rewind

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob::rewind — Mueve el puntero interno al comienzo de un objeto grande

Descripción

bool OCI-Lob::rewind ( void )

Establece el puntero interno al comienzo de un objeto grande.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • OCI-Lob::seek
  • OCI-Lob::tell

OCI-Lob::read
OCI-Lob::save
OCI-Lob


Guarda datos en un objeto grande

OCI-Lob::rewind
OCI-Lob::saveFile
OCI-Lob
PHP Manual

OCI-Lob::save

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob::save — Guarda datos en un objeto grande

Descripción

bool OCI-Lob::save ( string $data [, int $offset ] )

Guarda los datos dados por data en un objeto grande.

Parámetros

data

Los datos a guardar.

offset

Se puede usar para señalar el índice desde el comienzo del objeto grande.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • OCI-Lob::write
  • OCI-Lob::import

OCI-Lob::rewind
OCI-Lob::saveFile
OCI-Lob


Alias de OCI-Lob::import

OCI-Lob::save
OCI-Lob::seek
OCI-Lob
PHP Manual

OCI-Lob::saveFile

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob::saveFile — Alias de OCI-Lob::import()

Descripción

Esta función es un alias de: OCI-Lob::import().

OCI-Lob::save
OCI-Lob::seek
OCI-Lob


Ubica el puntero interno de un objeto grande

OCI-Lob::saveFile
OCI-Lob::setBuffering
OCI-Lob
PHP Manual

OCI-Lob::seek

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob::seek — Ubica el puntero interno de un objeto grande

Descripción

bool OCI-Lob::seek ( int $offset [, int $whence = OCI_SEEK_SET ] )

Ubica el puntero interno de un objeto grande.

Parámetros

offset

Indica la cantidad de bytes que se moverá el puntero interno según el modo dado por whence.

whence

Puede ser una de las siguientes constantes:

  • OCI_SEEK_SET - establece la posición igual a offset
  • OCI_SEEK_CUR - añade offset bytes a la posición actual
  • OCI_SEEK_END - añade offset bytes al final del objeto grande (use un valor negativo para moverse a una posición anterior del final del objeto grande)

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • OCI-Lob::rewind
  • OCI-Lob::tell
  • OCI-Lob::eof

OCI-Lob::saveFile
OCI-Lob::setBuffering
OCI-Lob


Cambia el estado actual del uso del búfer para objetos grandes

OCI-Lob::seek
OCI-Lob::size
OCI-Lob
PHP Manual

OCI-Lob::setBuffering

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob::setBuffering — Cambia el estado actual del uso del búfer para objetos grandes

Descripción

bool OCI-Lob::setBuffering ( bool $on_off )

Establece el uso del búfer para objetos grandes, dependiendo del valor del parámetro on_off.

El uso de esta función podría proporcionar mejoras en el rendimiento mediante el almacenamiento en búfer de lecturas y escrituras pequeñas de LOBs, reduciendo del número de viajes de ida y vuelta de la red y las versiones del LOB. Debería usarse OCI-Lob::flush() para vaciar los búferes cuando se haya finalizado de trabajar con el objeto grande.

Parámetros

on_off

TRUE para activarlo y FALSE para desactivarlo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Repetidas llamadas a este método con la misma bandera devolverán TRUE.

Ver también

  • OCI-Lob::getBuffering

OCI-Lob::seek
OCI-Lob::size
OCI-Lob


Devuelve el tamaño de un objeto grande

OCI-Lob::setBuffering
OCI-Lob::tell
OCI-Lob
PHP Manual

OCI-Lob::size

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob::size — Devuelve el tamaño de un objeto grande

Descripción

int OCI-Lob::size ( void )

Obtiene el tamaño de un objeto grande.

Valores devueltos

Devuelve la longitud del valor del objeto grande o FALSE en caso de error. Los objetos vacíos tienen una longitud de cero.

OCI-Lob::setBuffering
OCI-Lob::tell
OCI-Lob


Devuelve la posición actual del puntero interno de un objeto grande

OCI-Lob::size
OCI-Lob::truncate
OCI-Lob
PHP Manual

OCI-Lob::tell

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob::tell — Devuelve la posición actual del puntero interno de un objeto grande

Descripción

int OCI-Lob::tell ( void )

Obtiene la posición actual del puntero interno de un LOB.

Valores devueltos

Devuelve la posición actual del puntero interno de un LOB o FALSE si ocurrió algún error.

Ver también

  • OCI-Lob::rewind
  • OCI-Lob::size
  • OCI-Lob::eof

OCI-Lob::size
OCI-Lob::truncate
OCI-Lob


Trunca un objeto grande

OCI-Lob::tell
OCI-Lob::write
OCI-Lob
PHP Manual

OCI-Lob::truncate

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob::truncate — Trunca un objeto grande

Descripción

bool OCI-Lob::truncate ([ int $length = 0 ] )

Trunca un LOB.

Parámetros

length

Si se proporciona, este método truncará el LOB en length bytes. De lo contrario, lo eliminará por completo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • OCI-Lob::erase

OCI-Lob::tell
OCI-Lob::write
OCI-Lob


Escribe datos en un objeto grande

OCI-Lob::truncate
OCI-Lob::writeTemporary
OCI-Lob
PHP Manual

OCI-Lob::write

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob::write — Escribe datos en un objeto grande

Descripción

int OCI-Lob::write ( string $data [, int $length ] )

Escribe los datos del parámetro data en la posición actual del puntero interno del LOB.

Parámetros

data

Los datos a escribir en el LOB.

length

Si se proporciona este parámetro, la escritura se dentendrá después de que se hayan escrito length bytes o se alcance el final de data, lo que suceda primero.

Valores devueltos

Devuelve el número de bytes escritos o FALSE en caso de error.

Ver también

  • OCI-Lob::read

OCI-Lob::truncate
OCI-Lob::writeTemporary
OCI-Lob


Escribe un objeto grande temporal

OCI-Lob::write
OCI-Lob::writeToFile
OCI-Lob
PHP Manual

OCI-Lob::writeTemporary

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob::writeTemporary — Escribe un objeto grande temporal

Descripción

bool OCI-Lob::writeTemporary ( string $data [, int $lob_type = OCI_TEMP_CLOB ] )

Crea un objeto grande temporal y escribe los datos dados por data en él.

Debería usarse OCI-Lob::close al finalizar de usar este objeto.

Parámetros

data

Los datos a escribir.

lob_type

Puede ser una de las siguientes constantes:

  • OCI_TEMP_BLOB se utiliza para crear BLOBs temporales
  • OCI_TEMP_CLOB se utiliza para crear CLOBs temporales

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • OCI-Lob::close

OCI-Lob::write
OCI-Lob::writeToFile
OCI-Lob


Alias de OCI-Lob::export

OCI-Lob::writeTemporary
Funciones y alias de OCI8 obsoletos
OCI-Lob
PHP Manual

OCI-Lob::writeToFile

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob::writeToFile — Alias de OCI-Lob::export()

Descripción

Esta función es un alias de: OCI-Lob::export().

OCI-Lob::writeTemporary
Funciones y alias de OCI8 obsoletos
OCI-Lob


Funciones y alias de OCI8 obsoletos

Tabla de contenidos

  • ocibindbyname — Alias de oci_bind_by_name
  • ocicancel — Alias de oci_cancel
  • ocicloselob — Alias de OCI-Lob::close
  • ocicollappend — Alias de OCI-Collection::append
  • ocicollassign — Alias de OCI-Collection::assign
  • ocicollassignelem — Alias de OCI-Collection::assignElem
  • ocicollgetelem — Alias de OCI-Collection::getElem
  • ocicollmax — Alias de OCI-Collection::max
  • ocicollsize — Alias de OCI-Collection::size
  • ocicolltrim — Alias de OCI-Collection::trim
  • ocicolumnisnull — Alias de oci_field_is_null
  • ocicolumnname — Alias de oci_field_name
  • ocicolumnprecision — Alias de oci_field_precision
  • ocicolumnscale — Alias de oci_field_scale
  • ocicolumnsize — Alias de oci_field_size
  • ocicolumntype — Alias de oci_field_type
  • ocicolumntyperaw — Alias de oci_field_type_raw
  • ocicommit — Alias de oci_commit
  • ocidefinebyname — Alias de oci_define_by_name
  • ocierror — Alias de oci_error
  • ociexecute — Alias de oci_execute
  • ocifetch — Alias de oci_fetch
  • ocifetchinto — Variante obsoleta de oci_fetch_array, oci_fetch_object, oci_fetch_assoc y oci_fetch_row
  • ocifetchstatement — Alias de oci_fetch_all
  • ocifreecollection — Alias de OCI-Collection::free
  • ocifreecursor — Alias de oci_free_statement
  • ocifreedesc — Alias de OCI-Lob::free
  • ocifreestatement — Alias de oci_free_statement
  • ociinternaldebug — Alias de oci_internal_debug
  • ociloadlob — Alias de OCI-Lob::load
  • ocilogoff — Alias de oci_close
  • ocilogon — Alias de oci_connect
  • ocinewcollection — Alias de oci_new_collection
  • ocinewcursor — Alias de oci_new_cursor
  • ocinewdescriptor — Alias de oci_new_descriptor
  • ocinlogon — Alias de oci_new_connect
  • ocinumcols — Alias de oci_num_fields
  • ociparse — Alias de oci_parse
  • ociplogon — Alias de oci_pconnect
  • ociresult — Alias de oci_result
  • ocirollback — Alias de oci_rollback
  • ocirowcount — Alias de oci_num_rows
  • ocisavelob — Alias de OCI-Lob::save
  • ocisavelobfile — Alias de OCI-Lob::import
  • ociserverversion — Alias de oci_server_version
  • ocisetprefetch — Alias de oci_set_prefetch
  • ocistatementtype — Alias de oci_statement_type
  • ociwritelobtofile — Alias de OCI-Lob::export
  • ociwritetemporarylob — Alias de OCI-Lob::writeTemporary
OCI-Lob::writeToFile
ocibindbyname
OCI8


Alias de oci_bind_by_name

Funciones y alias de OCI8 obsoletos
ocicancel
Funciones y alias de OCI8 obsoletos
PHP Manual

ocibindbyname

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocibindbyname — Alias de oci_bind_by_name()

Descripción

Alias de oci_bind_by_name()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

Funciones y alias de OCI8 obsoletos
ocicancel
Funciones y alias de OCI8 obsoletos


Alias de oci_cancel

ocibindbyname
ocicloselob
Funciones y alias de OCI8 obsoletos
PHP Manual

ocicancel

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocicancel — Alias de oci_cancel()

Descripción

Alias de oci_cancel()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocibindbyname
ocicloselob
Funciones y alias de OCI8 obsoletos


Alias de OCI-Lob::close

ocicancel
ocicollappend
Funciones y alias de OCI8 obsoletos
PHP Manual

ocicloselob

(PHP 4 >= 4.0.6, PECL OCI8 1.0)

ocicloselob — Alias de OCI-Lob::close()

Descripción

Alias de OCI-Lob::close()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocicancel
ocicollappend
Funciones y alias de OCI8 obsoletos


Alias de OCI-Collection::append

ocicloselob
ocicollassign
Funciones y alias de OCI8 obsoletos
PHP Manual

ocicollappend

(PHP 4 >= 4.0.6, PHP 5, PECL OCI8 >= 1.0.0)

ocicollappend — Alias de OCI-Collection::append()

Descripción

Alias de OCI-Collection::append()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocicloselob
ocicollassign
Funciones y alias de OCI8 obsoletos


Alias de OCI-Collection::assign

ocicollappend
ocicollassignelem
Funciones y alias de OCI8 obsoletos
PHP Manual

ocicollassign

(PHP 4 >= 4.0.6, PECL OCI8 1.0)

ocicollassign — Alias de OCI-Collection::assign()

Descripción

Alias de OCI-Collection::assign()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocicollappend
ocicollassignelem
Funciones y alias de OCI8 obsoletos


Alias de OCI-Collection::assignElem

ocicollassign
ocicollgetelem
Funciones y alias de OCI8 obsoletos
PHP Manual

ocicollassignelem

(PHP 4 >= 4.0.6, PHP 5, PECL OCI8 >= 1.0.0)

ocicollassignelem — Alias de OCI-Collection::assignElem()

Descripción

Alias de OCI-Collection::assignElem()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocicollassign
ocicollgetelem
Funciones y alias de OCI8 obsoletos


Alias de OCI-Collection::getElem

ocicollassignelem
ocicollmax
Funciones y alias de OCI8 obsoletos
PHP Manual

ocicollgetelem

(PHP 4 >= 4.0.6, PHP 5, PECL OCI8 >= 1.0.0)

ocicollgetelem — Alias de OCI-Collection::getElem()

Descripción

Alias de OCI-Collection::getElem()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocicollassignelem
ocicollmax
Funciones y alias de OCI8 obsoletos


Alias de OCI-Collection::max

ocicollgetelem
ocicollsize
Funciones y alias de OCI8 obsoletos
PHP Manual

ocicollmax

(PHP 4 >= 4.0.6, PHP 5, PECL OCI8 >= 1.0.0)

ocicollmax — Alias de OCI-Collection::max()

Descripción

Alias de OCI-Collection::max()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocicollgetelem
ocicollsize
Funciones y alias de OCI8 obsoletos


Alias de OCI-Collection::size

ocicollmax
ocicolltrim
Funciones y alias de OCI8 obsoletos
PHP Manual

ocicollsize

(PHP 4 >= 4.0.6, PHP 5, PECL OCI8 >= 1.0.0)

ocicollsize — Alias de OCI-Collection::size()

Descripción

Alias de OCI-Collection::size()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocicollmax
ocicolltrim
Funciones y alias de OCI8 obsoletos


Alias de OCI-Collection::trim

ocicollsize
ocicolumnisnull
Funciones y alias de OCI8 obsoletos
PHP Manual

ocicolltrim

(PHP 4 >= 4.0.6, PHP 5, PECL OCI8 >= 1.0.0)

ocicolltrim — Alias de OCI-Collection::trim()

Descripción

Alias de OCI-Collection::trim()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocicollsize
ocicolumnisnull
Funciones y alias de OCI8 obsoletos


Alias de oci_field_is_null

ocicolltrim
ocicolumnname
Funciones y alias de OCI8 obsoletos
PHP Manual

ocicolumnisnull

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocicolumnisnull — Alias de oci_field_is_null()

Descripción

Alias de oci_field_is_null()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocicolltrim
ocicolumnname
Funciones y alias de OCI8 obsoletos


Alias de oci_field_name

ocicolumnisnull
ocicolumnprecision
Funciones y alias de OCI8 obsoletos
PHP Manual

ocicolumnname

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocicolumnname — Alias de oci_field_name()

Descripción

Alias de oci_field_name()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocicolumnisnull
ocicolumnprecision
Funciones y alias de OCI8 obsoletos


Alias de oci_field_precision

ocicolumnname
ocicolumnscale
Funciones y alias de OCI8 obsoletos
PHP Manual

ocicolumnprecision

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocicolumnprecision — Alias de oci_field_precision()

Descripción

Alias de oci_field_precision()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocicolumnname
ocicolumnscale
Funciones y alias de OCI8 obsoletos


Alias de oci_field_scale

ocicolumnprecision
ocicolumnsize
Funciones y alias de OCI8 obsoletos
PHP Manual

ocicolumnscale

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocicolumnscale — Alias de oci_field_scale()

Descripción

Alias de oci_field_scale()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocicolumnprecision
ocicolumnsize
Funciones y alias de OCI8 obsoletos


Alias de oci_field_size

ocicolumnscale
ocicolumntype
Funciones y alias de OCI8 obsoletos
PHP Manual

ocicolumnsize

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocicolumnsize — Alias de oci_field_size()

Descripción

Alias de oci_field_size()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocicolumnscale
ocicolumntype
Funciones y alias de OCI8 obsoletos


Alias de oci_field_type

ocicolumnsize
ocicolumntyperaw
Funciones y alias de OCI8 obsoletos
PHP Manual

ocicolumntype

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocicolumntype — Alias de oci_field_type()

Descripción

Alias de oci_field_type()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocicolumnsize
ocicolumntyperaw
Funciones y alias de OCI8 obsoletos


Alias de oci_field_type_raw

ocicolumntype
ocicommit
Funciones y alias de OCI8 obsoletos
PHP Manual

ocicolumntyperaw

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocicolumntyperaw — Alias de oci_field_type_raw()

Descripción

Alias de oci_field_type_raw()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocicolumntype
ocicommit
Funciones y alias de OCI8 obsoletos


Alias de oci_commit

ocicolumntyperaw
ocidefinebyname
Funciones y alias de OCI8 obsoletos
PHP Manual

ocicommit

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocicommit — Alias de oci_commit()

Descripción

Alias de oci_commit()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocicolumntyperaw
ocidefinebyname
Funciones y alias de OCI8 obsoletos


Alias de oci_define_by_name

ocicommit
ocierror
Funciones y alias de OCI8 obsoletos
PHP Manual

ocidefinebyname

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocidefinebyname — Alias de oci_define_by_name()

Descripción

Alias de oci_define_by_name()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocicommit
ocierror
Funciones y alias de OCI8 obsoletos


Alias de oci_error

ocidefinebyname
ociexecute
Funciones y alias de OCI8 obsoletos
PHP Manual

ocierror

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocierror — Alias de oci_error()

Descripción

Alias de oci_error()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocidefinebyname
ociexecute
Funciones y alias de OCI8 obsoletos


Alias de oci_execute

ocierror
ocifetch
Funciones y alias de OCI8 obsoletos
PHP Manual

ociexecute

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ociexecute — Alias de oci_execute()

Descripción

Alias de oci_execute()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocierror
ocifetch
Funciones y alias de OCI8 obsoletos


Alias de oci_fetch

ociexecute
ocifetchinto
Funciones y alias de OCI8 obsoletos
PHP Manual

ocifetch

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocifetch — Alias de oci_fetch()

Descripción

Alias de oci_fetch()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ociexecute
ocifetchinto
Funciones y alias de OCI8 obsoletos


Variante obsoleta de oci_fetch_array, oci_fetch_object, oci_fetch_assoc y oci_fetch_row

ocifetch
ocifetchstatement
Funciones y alias de OCI8 obsoletos
PHP Manual

ocifetchinto

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocifetchinto — Variante obsoleta de oci_fetch_array(), oci_fetch_object(), oci_fetch_assoc() y oci_fetch_row()

Descripción

Variante absoleta de  oci_fetch_array(),  oci_fetch_object(),
   oci_fetch_assoc() y
   oci_fetch_row()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocifetch
ocifetchstatement
Funciones y alias de OCI8 obsoletos


Alias de oci_fetch_all

ocifetchinto
ocifreecollection
Funciones y alias de OCI8 obsoletos
PHP Manual

ocifetchstatement

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocifetchstatement — Alias de oci_fetch_all()

Descripción

Alias de oci_fetch_all()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocifetchinto
ocifreecollection
Funciones y alias de OCI8 obsoletos


Alias de OCI-Collection::free

ocifetchstatement
ocifreecursor
Funciones y alias de OCI8 obsoletos
PHP Manual

ocifreecollection

(PHP 4 >= 4.0.7, PHP 5, PECL OCI8 >= 1.0.0)

ocifreecollection — Alias de OCI-Collection::free()

Descripción

Alias de OCI-Collection::free()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocifetchstatement
ocifreecursor
Funciones y alias de OCI8 obsoletos


Alias de oci_free_statement

ocifreecollection
ocifreedesc
Funciones y alias de OCI8 obsoletos
PHP Manual

ocifreecursor

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocifreecursor — Alias de oci_free_statement()

Descripción

Alias de oci_free_statement()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocifreecollection
ocifreedesc
Funciones y alias de OCI8 obsoletos


Alias de OCI-Lob::free

ocifreecursor
ocifreestatement
Funciones y alias de OCI8 obsoletos
PHP Manual

ocifreedesc

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocifreedesc — Alias de OCI-Lob::free()

Descripción

Alias de OCI-Lob::free()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocifreecursor
ocifreestatement
Funciones y alias de OCI8 obsoletos


Alias de oci_free_statement

ocifreedesc
ociinternaldebug
Funciones y alias de OCI8 obsoletos
PHP Manual

ocifreestatement

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocifreestatement — Alias de oci_free_statement()

Descripción

Alias de oci_free_statement()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocifreedesc
ociinternaldebug
Funciones y alias de OCI8 obsoletos


Alias de oci_internal_debug

ocifreestatement
ociloadlob
Funciones y alias de OCI8 obsoletos
PHP Manual

ociinternaldebug

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ociinternaldebug — Alias de oci_internal_debug()

Descripción

Alias de oci_internal_debug()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocifreestatement
ociloadlob
Funciones y alias de OCI8 obsoletos


Alias de OCI-Lob::load

ociinternaldebug
ocilogoff
Funciones y alias de OCI8 obsoletos
PHP Manual

ociloadlob

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ociloadlob — Alias de OCI-Lob::load()

Descripción

Alias de OCI-Lob::load()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ociinternaldebug
ocilogoff
Funciones y alias de OCI8 obsoletos


Alias de oci_close

ociloadlob
ocilogon
Funciones y alias de OCI8 obsoletos
PHP Manual

ocilogoff

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocilogoff — Alias de oci_close()

Descripción

Alias de oci_close()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ociloadlob
ocilogon
Funciones y alias de OCI8 obsoletos


Alias de oci_connect

ocilogoff
ocinewcollection
Funciones y alias de OCI8 obsoletos
PHP Manual

ocilogon

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocilogon — Alias de oci_connect()

Descripción

Alias de oci_connect()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocilogoff
ocinewcollection
Funciones y alias de OCI8 obsoletos


Alias de oci_new_collection

ocilogon
ocinewcursor
Funciones y alias de OCI8 obsoletos
PHP Manual

ocinewcollection

(PHP 4 >= 4.0.6, PHP 5, PECL OCI8 >= 1.0.0)

ocinewcollection — Alias de oci_new_collection()

Descripción

Alias de oci_new_collection()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocilogon
ocinewcursor
Funciones y alias de OCI8 obsoletos


Alias de oci_new_cursor

ocinewcollection
ocinewdescriptor
Funciones y alias de OCI8 obsoletos
PHP Manual

ocinewcursor

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocinewcursor — Alias de oci_new_cursor()

Descripción

Alias de oci_new_cursor()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocinewcollection
ocinewdescriptor
Funciones y alias de OCI8 obsoletos


Alias de oci_new_descriptor

ocinewcursor
ocinlogon
Funciones y alias de OCI8 obsoletos
PHP Manual

ocinewdescriptor

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocinewdescriptor — Alias de oci_new_descriptor()

Descripción

Alias de oci_new_descriptor()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocinewcursor
ocinlogon
Funciones y alias de OCI8 obsoletos


Alias de oci_new_connect

ocinewdescriptor
ocinumcols
Funciones y alias de OCI8 obsoletos
PHP Manual

ocinlogon

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocinlogon — Alias de oci_new_connect()

Descripción

Alias de oci_new_connect()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocinewdescriptor
ocinumcols
Funciones y alias de OCI8 obsoletos


Alias de oci_num_fields

ocinlogon
ociparse
Funciones y alias de OCI8 obsoletos
PHP Manual

ocinumcols

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocinumcols — Alias de oci_num_fields()

Descripción

Alias de oci_num_fields()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocinlogon
ociparse
Funciones y alias de OCI8 obsoletos


Alias de oci_parse

ocinumcols
ociplogon
Funciones y alias de OCI8 obsoletos
PHP Manual

ociparse

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ociparse — Alias de oci_parse()

Descripción

Alias de oci_parse()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocinumcols
ociplogon
Funciones y alias de OCI8 obsoletos


Alias de oci_pconnect

ociparse
ociresult
Funciones y alias de OCI8 obsoletos
PHP Manual

ociplogon

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ociplogon — Alias de oci_pconnect()

Descripción

Alias de oci_pconnect()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ociparse
ociresult
Funciones y alias de OCI8 obsoletos


Alias de oci_result

ociplogon
ocirollback
Funciones y alias de OCI8 obsoletos
PHP Manual

ociresult

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ociresult — Alias de oci_result()

Descripción

Alias de oci_result()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ociplogon
ocirollback
Funciones y alias de OCI8 obsoletos


Alias de oci_rollback

ociresult
ocirowcount
Funciones y alias de OCI8 obsoletos
PHP Manual

ocirollback

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocirollback — Alias de oci_rollback()

Descripción

Alias de oci_rollback()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ociresult
ocirowcount
Funciones y alias de OCI8 obsoletos


Alias de oci_num_rows

ocirollback
ocisavelob
Funciones y alias de OCI8 obsoletos
PHP Manual

ocirowcount

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocirowcount — Alias de oci_num_rows()

Descripción

Alias de oci_num_rows()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocirollback
ocisavelob
Funciones y alias de OCI8 obsoletos


Alias de OCI-Lob::save

ocirowcount
ocisavelobfile
Funciones y alias de OCI8 obsoletos
PHP Manual

ocisavelob

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocisavelob — Alias de OCI-Lob::save()

Descripción

Alias de OCI-Lob::save()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocirowcount
ocisavelobfile
Funciones y alias de OCI8 obsoletos


Alias de OCI-Lob::import

ocisavelob
ociserverversion
Funciones y alias de OCI8 obsoletos
PHP Manual

ocisavelobfile

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocisavelobfile — Alias de OCI-Lob::import()

Descripción

Alias de OCI-Lob::import()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocisavelob
ociserverversion
Funciones y alias de OCI8 obsoletos


Alias de oci_server_version

ocisavelobfile
ocisetprefetch
Funciones y alias de OCI8 obsoletos
PHP Manual

ociserverversion

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ociserverversion — Alias de oci_server_version()

Descripción

Alias de oci_server_version()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocisavelobfile
ocisetprefetch
Funciones y alias de OCI8 obsoletos


Alias de oci_set_prefetch

ociserverversion
ocistatementtype
Funciones y alias de OCI8 obsoletos
PHP Manual

ocisetprefetch

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocisetprefetch — Alias de oci_set_prefetch()

Descripción

Alias de oci_set_prefetch()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ociserverversion
ocistatementtype
Funciones y alias de OCI8 obsoletos


Alias de oci_statement_type

ocisetprefetch
ociwritelobtofile
Funciones y alias de OCI8 obsoletos
PHP Manual

ocistatementtype

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocistatementtype — Alias de oci_statement_type()

Descripción

Alias de oci_statement_type()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocisetprefetch
ociwritelobtofile
Funciones y alias de OCI8 obsoletos


Alias de OCI-Lob::export

ocistatementtype
ociwritetemporarylob
Funciones y alias de OCI8 obsoletos
PHP Manual

ociwritelobtofile

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ociwritelobtofile — Alias de OCI-Lob::export()

Descripción

Alias de OCI-Lob::export()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ocistatementtype
ociwritetemporarylob
Funciones y alias de OCI8 obsoletos


Alias de OCI-Lob::writeTemporary

ociwritelobtofile
Ovrimos SQL
Funciones y alias de OCI8 obsoletos
PHP Manual

ociwritetemporarylob

(PHP 4 >= 4.0.6, PECL OCI8 1.0)

ociwritetemporarylob — Alias de OCI-Lob::writeTemporary()

Descripción

Alias de OCI-Lob::writeTemporary()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.4.0. Su uso está totalmente desaconsejado.

ociwritelobtofile
Ovrimos SQL
Funciones y alias de OCI8 obsoletos


Ovrimos SQL

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Uso básico
  • Funciones Ovrimos SQL
    • ovrimos_close — Cierra la conexión con ovrimos
    • ovrimos_commit — Confirma la transacción
    • ovrimos_connect — Conectarse a una base de datos especificada
    • ovrimos_cursor — Devuelve el nombre del cursor
    • ovrimos_exec — Ejecuta un SQL statement
    • ovrimos_execute — Ejecuta una sentencia SQL preparada
    • ovrimos_fetch_into — Obtiene una fila del resultado
    • ovrimos_fetch_row — Fetches a row from the result set
    • ovrimos_field_len — Returns the length of the output column
    • ovrimos_field_name — Returns the output column name
    • ovrimos_field_num — Returns the (1-based) index of the output column
    • ovrimos_field_type — Returns the type of the output column
    • ovrimos_free_result — Frees the specified result_id
    • ovrimos_longreadlen — Specifies how many bytes are to be retrieved from long datatypes
    • ovrimos_num_fields — Returns the number of columns
    • ovrimos_num_rows — Devuelve el número de filas afectadas en la operación update
    • ovrimos_prepare — Prepares an SQL statement
    • ovrimos_result_all — Prints the whole result set as an HTML table
    • ovrimos_result — Retrieves the output column
    • ovrimos_rollback — Rolls back the transaction
ociwritetemporarylob
Introducción
Extensiones de bases de datos específicas del proveedor


Introducción

Ovrimos SQL Server es un SGBDR transaccional cliente/servidor combinado con capacidades Web y transacciones rápidas.

Nota:

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 4.4.5 y PHP 5.1.0.

Nota: Esta extensión no está disponible en plataformas Windows.

Ovrimos SQL
Instalación/Configuración
Ovrimos SQL


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Ovrimos SQL


Requerimientos

Se debe instalar la biblioteca sqlcli disponible en la distribución del servidor SQL Ovrimos.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Para activar el soporte Ovrimos en PHP se debe compilar PHP con el parámetro --with-ovrimos[=DIR] en la línea configure. el opcional DIR es el directorio donde está instalada la librería libsqlcli Ovrimos.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Ejemplos
Ovrimos SQL


Ejemplos

Tabla de contenidos

  • Uso básico
Constantes predefinidas
Uso básico
Ovrimos SQL


Uso básico

Ejemplo #1 Conectarse a Ovrimos SQL Server y selecciona de una tabla del sistema

<?php
$conn = ovrimos_connect("server.domain.com", "8001", "admin", "password");
if ($conn != 0) {
    echo "Conexión ok!";
    $res = ovrimos_exec($conn, "select table_id, table_name from sys.tables");
    if ($res != 0) {
        echo "Sentencia ok!";
        ovrimos_result_all($res);
        ovrimos_free_result($res);
    }
    ovrimos_close($conn);
}
?>

Ejemplos
Funciones Ovrimos SQL
Ejemplos


Funciones Ovrimos SQL

Tabla de contenidos

  • ovrimos_close — Cierra la conexión con ovrimos
  • ovrimos_commit — Confirma la transacción
  • ovrimos_connect — Conectarse a una base de datos especificada
  • ovrimos_cursor — Devuelve el nombre del cursor
  • ovrimos_exec — Ejecuta un SQL statement
  • ovrimos_execute — Ejecuta una sentencia SQL preparada
  • ovrimos_fetch_into — Obtiene una fila del resultado
  • ovrimos_fetch_row — Fetches a row from the result set
  • ovrimos_field_len — Returns the length of the output column
  • ovrimos_field_name — Returns the output column name
  • ovrimos_field_num — Returns the (1-based) index of the output column
  • ovrimos_field_type — Returns the type of the output column
  • ovrimos_free_result — Frees the specified result_id
  • ovrimos_longreadlen — Specifies how many bytes are to be retrieved from long datatypes
  • ovrimos_num_fields — Returns the number of columns
  • ovrimos_num_rows — Devuelve el número de filas afectadas en la operación update
  • ovrimos_prepare — Prepares an SQL statement
  • ovrimos_result_all — Prints the whole result set as an HTML table
  • ovrimos_result — Retrieves the output column
  • ovrimos_rollback — Rolls back the transaction
Uso básico
ovrimos_close
Ovrimos SQL


Cierra la conexión con ovrimos

Funciones Ovrimos SQL
ovrimos_commit
Funciones Ovrimos SQL
PHP Manual

ovrimos_close

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_close — Cierra la conexión con ovrimos

Descripción

void ovrimos_close ( int $connection )

Cierra la connection específicada a Ovrimos. Esto tiene el efecto de hacer retroceder las transacciones no confirmadas.

Parámetros

connection

El identidicador de conexión Ovrimos, retornado por ovrimos_connect().

Valores devueltos

No devuelve ningún valor.

Ver también

  • ovrimos_connect() - Conectarse a una base de datos especificada

Funciones Ovrimos SQL
ovrimos_commit
Funciones Ovrimos SQL


Confirma la transacción

ovrimos_close
ovrimos_connect
Funciones Ovrimos SQL
PHP Manual

ovrimos_commit

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_commit — Confirma la transacción

Descripción

bool ovrimos_commit ( int $connection_id )

Confirma la transacción.

Parámetros

connection_id

El identidicador de conexión Ovrimos, retornado por ovrimos_connect().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ovrimos_rollback() - Rolls back the transaction

ovrimos_close
ovrimos_connect
Funciones Ovrimos SQL


Conectarse a una base de datos especificada

ovrimos_commit
ovrimos_cursor
Funciones Ovrimos SQL
PHP Manual

ovrimos_connect

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_connect — Conectarse a una base de datos especificada

Descripción

int ovrimos_connect ( string $host , string $dborport , string $user , string $password )

Conectarse a una base de datos especificada.

Parámetros

host

El nombre de host o dirección IP.

dborport

Ya sea el nombre de la base de datos, o el número de puerto para conectarse.

user

El nombre de usuario.

password

Password asociado con user.

Valores devueltos

Devuelve el identificador de conexión (mayor que 0) on caso de éxito, o 0 en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ovrimos_connect()

<?php
$conn = ovrimos_connect("server.example.com", "8001", "admin", "password");
if ($conn != 0) {
    echo "Connection ok!";
    $res = ovrimos_exec($conn, "select table_id, table_name from sys.tables");
    if ($res != 0) {
        echo "Statement ok!";
        ovrimos_result_all($res);
        ovrimos_free_result($res);
    }
    ovrimos_close($conn);
}
?>

Ver también

  • ovrimos_close() - Cierra la conexión con ovrimos

ovrimos_commit
ovrimos_cursor
Funciones Ovrimos SQL


Devuelve el nombre del cursor

ovrimos_connect
ovrimos_exec
Funciones Ovrimos SQL
PHP Manual

ovrimos_cursor

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_cursor — Devuelve el nombre del cursor

Descripción

string ovrimos_cursor ( int $result_id )

Obtiene el nombre de el cursor. Es útil cuando se desea llevar a cabo updates o deletes.

Parámetros

result_id

Eun identificador de resultado, devuelto por ovrimos_execute() or ovrimos_exec().

Valores devueltos

Devuelve el nombre como un string, o FALSE en caso de error.

ovrimos_connect
ovrimos_exec
Funciones Ovrimos SQL


Ejecuta un SQL statement

ovrimos_cursor
ovrimos_execute
Funciones Ovrimos SQL
PHP Manual

ovrimos_exec

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_exec — Ejecuta un SQL statement

Descripción

int ovrimos_exec ( int $connection_id , string $query )

Ejecuta una declaración SQL (query o update) y devuelve un identificador de resultado.

Parámetros

connection_id

El identificador de conexión Ovrimos, retornado por ovrimos_connect().

query

La declaración SQL. Evidentemente, no debe contener parámetros. Use ovrimos_prepare() en declaraciones preparadas.

Valores devueltos

Devuelve el identificador de resultado como un integer, o FALSE en caso de error.

Ver también

  • ovrimos_execute() - Ejecuta una sentencia SQL preparada
  • ovrimos_prepare() - Prepares an SQL statement

ovrimos_cursor
ovrimos_execute
Funciones Ovrimos SQL


Ejecuta una sentencia SQL preparada

ovrimos_exec
ovrimos_fetch_into
Funciones Ovrimos SQL
PHP Manual

ovrimos_execute

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_execute — Ejecuta una sentencia SQL preparada

Descripción

bool ovrimos_execute ( int $result_id [, array $parameters_array ] )

Ejecuta una sentencia preparada.

Parámetros

result_id

Un identificador de resultado de Ovrimos preparado con ovrimos_prepare().

parameters_array

Si la sentencia preparada contiene parámetros (signos de interrogación en la declaración), el número correcto de los parámetros debe pasarse en un array.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ovrimos_prepare() - Prepares an SQL statement

ovrimos_exec
ovrimos_fetch_into
Funciones Ovrimos SQL


Obtiene una fila del resultado

ovrimos_execute
ovrimos_fetch_row
Funciones Ovrimos SQL
PHP Manual

ovrimos_fetch_into

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_fetch_into — Obtiene una fila del resultado

Descripción

bool ovrimos_fetch_into ( int $result_id , array &$result_array [, string $how [, int $rownumber ]] )

Obtiene una fila del conjunto de resultado, en result_array.

Parámetros

result_id

Un identificador de resultado, devuelto por ovrimos_execute() o ovrimos_exec().

result_array

Debe proporcionar un array por referencia. Este se llenará con los valores obtenidos.

how

Determina cómo se recuperan las filas. Este puede ser uno de los siguientes strings (el caso no es significativo):

Opción | Notas
Next | Hacia adelante desde la posición actual. Este es el valor por defecto.
Prev | Hacia atrás desde la posición actual.
First | Hacia delante desde el principio.
Last | Hacia atrás desde el final.
Absolute | Posición absoluta desde el principio. Requiere rownumber.

rownumber

El número de fila, primero es 0. Sólo es necesario cuando how es establecido como Absolute.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 A fetch into example

<?php
$conn=ovrimos_connect("neptune", "8001", "admin", "password");
if ($conn!=0) {
    echo "Conexión ok!";
    $res=ovrimos_exec($conn, "select table_id, table_name from sys.tables");
    if ($res != 0) {
        echo "Declaración ok!";
        if (ovrimos_fetch_into($res, $row)) {
            list($table_id, $table_name) = $row;
            echo "table_id=" . $table_id . ", table_name=" . $table_name . "\n";
            if (ovrimos_fetch_into($res, $row)) {
                list($table_id, $table_name) = $row;
                echo "table_id=" . $table_id . ", table_name=" . $table_name . "\n";
            } else {
                echo "Próximo: error\n";
            }
        } else {
            echo "Primero: error\n";
        }
        ovrimos_free_result($res);
    }
    ovrimos_close($conn);
}
?>

Ver también

  • ovrimos_fetch_row() - Fetches a row from the result set

ovrimos_execute
ovrimos_fetch_row
Funciones Ovrimos SQL


Fetches a row from the result set

ovrimos_fetch_into
ovrimos_field_len
Funciones Ovrimos SQL
PHP Manual

ovrimos_fetch_row

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_fetch_row — Fetches a row from the result set

Descripción

bool ovrimos_fetch_row ( int $result_id [, int $how [, int $row_number ]] )

Fetches a row from the result set. Column values should be retrieved with other calls.

Parámetros

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

how

Determines how the rows are fetched. This can be one of the following strings (case is not significant):

Option | Notes
Next | Forward direction from current position. This is the default value.
Prev | Backward direction from current position.
First | Forward direction from the start.
Last | Backward direction from the end.
Absolute | Absolute position from the start. Requires rownumber.

rownumber

The row number, first one is 0. Only needed when how is set to Absolute.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 A fetch row example

<?php
$conn = ovrimos_connect("remote.host", "8001", "admin", "password");
if ($conn != 0) {
    echo "Connection ok!";
    $res=ovrimos_exec($conn, "select table_id, table_name from sys.tables");
    if ($res != 0) {
        echo "Statement ok!";
        if (ovrimos_fetch_row($res, "First")) {
            $table_id = ovrimos_result($res, 1);
            $table_name = ovrimos_result($res, 2);
            echo "table_id=" . $table_id . ", table_name=" . $table_name . "\n";
            if (ovrimos_fetch_row($res, "Next")) {
                $table_id = ovrimos_result($res, "table_id");
                $table_name = ovrimos_result($res, "table_name");
                echo "table_id=" . $table_id . ", table_name=" . $table_name . "\n";
            } else {
                echo "Next: error\n";
            }
        } else {
            echo "First: error\n";
        }
        ovrimos_free_result($res);
    }
    ovrimos_close($conn);
}
?>
This will fetch a row and print the result.

Ver también

  • ovrimos_fetch_into() - Obtiene una fila del resultado

ovrimos_fetch_into
ovrimos_field_len
Funciones Ovrimos SQL


Returns the length of the output column

ovrimos_fetch_row
ovrimos_field_name
Funciones Ovrimos SQL
PHP Manual

ovrimos_field_len

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_field_len — Returns the length of the output column

Descripción

int ovrimos_field_len ( int $result_id , int $field_number )

Gets the length of the specified output column.

Parámetros

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

field_number

The field number. Starts at 1.

Valores devueltos

Returns the length as an integer, or FALSE on error.

Ver también

  • ovrimos_field_name() - Returns the output column name
  • ovrimos_field_num() - Returns the (1-based) index of the output column
  • ovrimos_field_type() - Returns the type of the output column

ovrimos_fetch_row
ovrimos_field_name
Funciones Ovrimos SQL


Returns the output column name

ovrimos_field_len
ovrimos_field_num
Funciones Ovrimos SQL
PHP Manual

ovrimos_field_name

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_field_name — Returns the output column name

Descripción

string ovrimos_field_name ( int $result_id , int $field_number )

Returns the output column name at the index specified.

Parámetros

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

field_number

The field number. Starts at 1.

Valores devueltos

Returns the field name as a string, or FALSE on error.

Ver también

  • ovrimos_field_len() - Returns the length of the output column
  • ovrimos_field_num() - Returns the (1-based) index of the output column
  • ovrimos_field_type() - Returns the type of the output column

ovrimos_field_len
ovrimos_field_num
Funciones Ovrimos SQL


Returns the (1-based) index of the output column

ovrimos_field_name
ovrimos_field_type
Funciones Ovrimos SQL
PHP Manual

ovrimos_field_num

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_field_num — Returns the (1-based) index of the output column

Descripción

int ovrimos_field_num ( int $result_id , string $field_name )

Returns the 1-based index of the specified output column.

Parámetros

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

field_name

The field name.

Valores devueltos

Returns the index, starting at 1, or FALSE on error.

Ver también

  • ovrimos_field_len() - Returns the length of the output column
  • ovrimos_field_name() - Returns the output column name
  • ovrimos_field_type() - Returns the type of the output column

ovrimos_field_name
ovrimos_field_type
Funciones Ovrimos SQL


Returns the type of the output column

ovrimos_field_num
ovrimos_free_result
Funciones Ovrimos SQL
PHP Manual

ovrimos_field_type

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_field_type — Returns the type of the output column

Descripción

int ovrimos_field_type ( int $result_id , int $field_number )

Returns the type of the output column

Parámetros

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

field_number

A 1-based index.

Valores devueltos

Returns the field type as an integer, or FALSE on error.

Ver también

  • ovrimos_field_len() - Returns the length of the output column
  • ovrimos_field_name() - Returns the output column name
  • ovrimos_field_num() - Returns the (1-based) index of the output column

ovrimos_field_num
ovrimos_free_result
Funciones Ovrimos SQL


Frees the specified result_id

ovrimos_field_type
ovrimos_longreadlen
Funciones Ovrimos SQL
PHP Manual

ovrimos_free_result

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_free_result — Frees the specified result_id

Descripción

bool ovrimos_free_result ( int $result_id )

Frees the specified result identifier.

Parámetros

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

Valores devueltos

Returns TRUE.

ovrimos_field_type
ovrimos_longreadlen
Funciones Ovrimos SQL


Specifies how many bytes are to be retrieved from long datatypes

ovrimos_free_result
ovrimos_num_fields
Funciones Ovrimos SQL
PHP Manual

ovrimos_longreadlen

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_longreadlen — Specifies how many bytes are to be retrieved from long datatypes

Descripción

bool ovrimos_longreadlen ( int $result_id , int $length )

Specifies how many bytes are to be retrieved from long datatypes (long varchar and long varbinary).

Parámetros

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

length

The number of bytes to retrieve. Default is zero.

Valores devueltos

Returns TRUE.

ovrimos_free_result
ovrimos_num_fields
Funciones Ovrimos SQL


Returns the number of columns

ovrimos_longreadlen
ovrimos_num_rows
Funciones Ovrimos SQL
PHP Manual

ovrimos_num_fields

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_num_fields — Returns the number of columns

Descripción

int ovrimos_num_fields ( int $result_id )

Returns the number of columns in the specified result identifier.

Parámetros

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

Valores devueltos

Returns the number of columns as an integer, or FALSE on error.

Ver también

  • ovrimos_num_rows() - Devuelve el número de filas afectadas en la operación update

ovrimos_longreadlen
ovrimos_num_rows
Funciones Ovrimos SQL


Devuelve el número de filas afectadas en la operación update

ovrimos_num_fields
ovrimos_prepare
Funciones Ovrimos SQL
PHP Manual

ovrimos_num_rows

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_num_rows — Devuelve el número de filas afectadas en la operación update

Descripción

int ovrimos_num_rows ( int $result_id )

Obtiene el número de filas afectadas por la operación update.

Parámetros

result_id

Un identificador de resultado, devuelto por ovrimos_execute() o ovrimos_exec().

Valores devueltos

Devuelve el número de filas como un integer, o FALSE en caso de error.

Ver también

  • ovrimos_num_fields() - Returns the number of columns

ovrimos_num_fields
ovrimos_prepare
Funciones Ovrimos SQL


Prepares an SQL statement

ovrimos_num_rows
ovrimos_result_all
Funciones Ovrimos SQL
PHP Manual

ovrimos_prepare

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_prepare — Prepares an SQL statement

Descripción

int ovrimos_prepare ( int $connection_id , string $query )

Prepares an SQL statement.

Parámetros

connection_id

The Ovrimos connection identifier, returned by ovrimos_connect().

query

The SQL statement.

Valores devueltos

Returns a result identifier on success, or FALSE on error.

Ejemplos

Ejemplo #1 ovrimos_prepare() Example

<?php
$conn=ovrimos_connect("db_host", "8001", "admin", "password");
if ($conn!=0) {
    echo "Connection ok!";

    // Prepare the statement
    $res=ovrimos_prepare($conn, "select table_id, table_name
                                  from sys.tables where table_id=1");
    if ($res != 0) {
        echo "Prepare ok!";
        // Execute the prepared statement
        if (ovrimos_execute($res)) {
            echo "Execute ok!\n";
            ovrimos_result_all($res);
        } else {
            echo "Execute not ok!";
        }
        ovrimos_free_result($res);
    } else {
        echo "Prepare not ok!\n";
    }
    ovrimos_close($conn);
}
?>

ovrimos_num_rows
ovrimos_result_all
Funciones Ovrimos SQL


Prints the whole result set as an HTML table

ovrimos_prepare
ovrimos_result
Funciones Ovrimos SQL
PHP Manual

ovrimos_result_all

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_result_all — Prints the whole result set as an HTML table

Descripción

int ovrimos_result_all ( int $result_id [, string $format ] )

Prints the whole result set as an HTML table.

Parámetros

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

format

Optional HTML attributes for the generated table element.

Valores devueltos

Returns the number of rows in the generated table.

Ejemplos

This will execute an SQL statement and print the result in an HTML table.

Ejemplo #1 Prepare a statement, execute, and view the result

<?php
$conn = ovrimos_connect("db_host", "8001", "admin", "password");
if ($conn != 0) {
    echo "Connection ok!";
    $res = ovrimos_prepare($conn, "select table_id, table_name
                                    from sys.tables where table_id = 7");
    if ($res != 0) {
        echo "Prepare ok!";
        if (ovrimos_execute($res, array(3))) {
            echo "Execute ok!\n";
            ovrimos_result_all($res);
        } else {
            echo "Execute not ok!";
        }
        ovrimos_free_result($res);
    } else {
        echo "Prepare not ok!\n";
    }
    ovrimos_close($conn);
}
?>

Ejemplo #2 ovrimos_result_all() with meta-information

<?php
$conn = ovrimos_connect("db_host", "8001", "admin", "password");
if ($conn != 0) {
    echo "Connection ok!";
    $res = ovrimos_exec($conn, "select table_id, table_name
                                 from sys.tables where table_id = 1");
    if ($res != 0) {
        echo "Statement ok! cursor=" . ovrimos_cursor($res) . "\n";
        $colnb = ovrimos_num_fields($res);
        echo "Output columns=" . $colnb . "\n";
        for ($i=1; $i <= $colnb; $i++) {
            $name = ovrimos_field_name($res, $i);
            $type = ovrimos_field_type($res, $i);
            $len = ovrimos_field_len($res, $i);
            echo "Column " . $i . " name=" . $name . " type=" . $type . " len=" . $len . "\n";
        }
        ovrimos_result_all($res);
        ovrimos_free_result($res);
    }
    ovrimos_close($conn);
}
?>

ovrimos_prepare
ovrimos_result
Funciones Ovrimos SQL


Retrieves the output column

ovrimos_result_all
ovrimos_rollback
Funciones Ovrimos SQL
PHP Manual

ovrimos_result

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_result — Retrieves the output column

Descripción

string ovrimos_result ( int $result_id , mixed $field )

Retrieves the output column specified by field.

Parámetros

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

field

Either as a string with the field name or as an 1-based index.

Valores devueltos

Returns the column as a string, FALSE on failure.

ovrimos_result_all
ovrimos_rollback
Funciones Ovrimos SQL


Rolls back the transaction

ovrimos_result
Paradox
Funciones Ovrimos SQL
PHP Manual

ovrimos_rollback

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_rollback — Rolls back the transaction

Descripción

bool ovrimos_rollback ( int $connection_id )

Rolls back the transaction.

Parámetros

connection_id

The Ovrimos connection identifier, returned by ovrimos_connect().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ovrimos_commit() - Confirma la transacción

ovrimos_result
Paradox
Funciones Ovrimos SQL


Acceso a archivos Paradox

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de Paradox
    • px_close — Cerrar una base de datos paradox
    • px_create_fp — Crear una nueva base de datos paradox
    • px_date2string — Convierte una fecha en una cadena.
    • px_delete_record — Eliminar los registros de base de datos paradox
    • px_delete — Eliminar los recursos de la base de datos paradox
    • px_get_field — Devuelve la especificación de un solo campo
    • px_get_info — Devuelve una gran cantidad de información sobre un archivo paradox
    • px_get_parameter — Obtener un parámetro
    • px_get_record — Devuelve registro de base de datos paradox
    • px_get_schema — Devuelve la definición de la base de datos (schema)
    • px_get_value — Obtener un valor
    • px_insert_record — Inserta registro en base de datos paradox
    • px_new — Crear un nuevo objeto paradox
    • px_numfields — Devuelve el número de campos en una base de datos
    • px_numrecords — Devuelve el número de registros en una base de datos
    • px_open_fp — Abrir base de datos paradox
    • px_put_record — Almacenar registro en la base de datos paradox
    • px_retrieve_record — Devolver registro de base de datos paradox
    • px_set_blob_file — Establecer el archivo desde donde los blobs se van a leer
    • px_set_parameter — Establecer un parámetro
    • px_set_tablename — Establecer el nombre de una tabla (obsoleto)
    • px_set_targetencoding — Establecer la codificación de los campos de caracteres (obsoleto)
    • px_set_value — Establecer un valor
    • px_timestamp2string — Convertir la fecha y la hora en una cadena.
    • px_update_record — Actualizar el registro en la base de datos paradox
ovrimos_rollback
Introducción
Extensiones de bases de datos específicas del proveedor


Introducción

Este módulo permite leer y escribir bases de datos Paradox, archivos primary index y archivos blob. El soporte de escritura ha demostrado ser muy fiable, aunque debido a la falta de documentación de los archivos producidos no podrán en ningún caso, ser leídos por otras aplicaciones. Las bases de datos cifradas pueden ser ser leídas sin especificar una contraseña si se utiliza pxlib >= 0.5.0.

Nota:

Este módulo también está en desarrollo y puede cambiar, aunque no se espera que haya cambios importantes en la API.

Advertencia

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombres de sus funciones y todo lo documentado sobre esta extensión, puede cambiar en una futura edición de PHP sin previo aviso. El uso de esta extensión queda bajo su propia responsabilidad.

Paradox
Instalación/Configuración
Paradox


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Paradox


Requerimientos

Se necesita por lo menos PHP 5.0.0 y pxlib >= 0.4.4 para el conjunto básico de funciones. Algunas de las funciones más recientes están disponibles sólo para pxlib >= 0.6.0. Leer y escribir de bases de datos encriptadas requieren por lo menos de pxlib >= 0.5.0. La librería paradox(pxlib) está disponible en » http://pxlib.sourceforge.net.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/paradox

Asegúrese de que tiene pxlib instalado antes. Si instala pxlib de un paquete RPM o Debian, no se olvide de instalar el paquete de desarrollo también.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

La función px_new() crea un nuevo objeto Paradox requerida por todas las funciones Paradox.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Las dos siguientes tablas listan todas las constantes definido por la extensión paradox.

Contantes para tipos de campo
Nombre | Significado
PX_FIELD_ALPHA | Datos de tipo carácter de longitud fija
PX_FIELD_DATE | Fecha, el número de días desde el 1.1.0000
PX_FIELD_SHORT | Entero de tamaño corto (2 Bytes)
PX_FIELD_LONG | Entero de tamaño largo (4 Bytes)
PX_FIELD_CURRENCY | Igual que PX_FIELD_NUMBER
PX_FIELD_NUMBER | Double
PX_FIELD_LOGICAL | Booleano
PX_FIELD_MEMOBLOB | Objeto grande binario
PX_FIELD_BLOB | Objeto grande binario (No se admite)
PX_FIELD_FMTMEMOBLOB | Objeto grande binario
PX_FIELD_OLE | Objeto OLE (básicamente un blob, no se admite)
PX_FIELD_GRAPHIC | Gráfico (básicamente un blob, no se admite)
PX_FIELD_TIME | tiempo, número de milisegundos desde la medianoche
PX_FIELD_TIMESTAMP | fecha y hora, número de milisegundos desde el 1.1.0000
PX_FIELD_AUTOINC | Incremento automático de enteros (como PX_FIELD_LONG)
PX_FIELD_BCD | Número decimal almacenado en formato BCD (no se admite)
PX_FIELD_BYTES | Matriz de bytes con un máximo de 255 bytes (no se admite)
PX_KEYTOLOWER | Convertir todos los nombres de campo en minúsculas
PX_KEYTOUPPER | Convertir todos los nombres de campo en mayúsculas
Contantes para tipos de archivos
Nombre | Significado
PX_FILE_INDEX_DB | Base de datos indexada
PX_FILE_PRIM_INDEX | Índice primario
PX_FILE_NON_INDEX_DB | Ninguna base de datos indexada
PX_FILE_NON_INC_SEC_INDEX | Ningún índice secundario incremental
PX_FILE_SEC_INDEX | Índice secundario
PX_FILE_INC_SEC_INDEX | Índice secundario incremental
PX_FILE_NON_INC_SEC_INDEX_G | Índice secundario no incremental
PX_FILE_SEC_INDEX_G | Índice secundario
PX_FILE_INC_SEC_INDEX_G | Índice secundario no incremental

Tipos de recursos
Funciones de Paradox
Paradox


Funciones de Paradox

API orientada a objetos

La extensión paradox ofrece también una API orientada a objetos. Esta consta de una sola clase llamada paradox_db. Sus métodos sólo difieren de las funciones en su nombre y, por supuesto, el primer parámetro que falta. La siguiente tabla lista todos los métodos y sus funciones equivalentes.

Los métodos de la clase paradox_db
Nombre del método | Función equivalente
Constructor | px_new()
Destructor | px_delete()
open_fp() | px_open_fp()
create_fp() | px_create_fp()
close() | px_close()
numrecords() | px_numrecords()
numfields() | px_numfields()
get_record() | px_get_record()
put_record() | px_put_record()
retrieve_record() | px_retrieve_record()
delete_record() | px_delete_record()
insert_record() | px_insert_record()
update_record() | px_update_record()
get_field() | px_get_field()
get_schema() | px_get_schema()
get_info() | px_get_info()
set_parameter() | px_set_parameter()
get_parameter() | px_get_parameter()
set_value() | px_set_value()
get_value() | px_get_value()
get_info() | px_get_info()
set_targetencoding() | px_set_targetencoding()
set_tablename() | px_set_tablename()
set_blob_file() | px_set_blob_file()
date2string() | px_date2string()
timestamp2string() | px_timestamp2string()

Tabla de contenidos

  • px_close — Cerrar una base de datos paradox
  • px_create_fp — Crear una nueva base de datos paradox
  • px_date2string — Convierte una fecha en una cadena.
  • px_delete_record — Eliminar los registros de base de datos paradox
  • px_delete — Eliminar los recursos de la base de datos paradox
  • px_get_field — Devuelve la especificación de un solo campo
  • px_get_info — Devuelve una gran cantidad de información sobre un archivo paradox
  • px_get_parameter — Obtener un parámetro
  • px_get_record — Devuelve registro de base de datos paradox
  • px_get_schema — Devuelve la definición de la base de datos (schema)
  • px_get_value — Obtener un valor
  • px_insert_record — Inserta registro en base de datos paradox
  • px_new — Crear un nuevo objeto paradox
  • px_numfields — Devuelve el número de campos en una base de datos
  • px_numrecords — Devuelve el número de registros en una base de datos
  • px_open_fp — Abrir base de datos paradox
  • px_put_record — Almacenar registro en la base de datos paradox
  • px_retrieve_record — Devolver registro de base de datos paradox
  • px_set_blob_file — Establecer el archivo desde donde los blobs se van a leer
  • px_set_parameter — Establecer un parámetro
  • px_set_tablename — Establecer el nombre de una tabla (obsoleto)
  • px_set_targetencoding — Establecer la codificación de los campos de caracteres (obsoleto)
  • px_set_value — Establecer un valor
  • px_timestamp2string — Convertir la fecha y la hora en una cadena.
  • px_update_record — Actualizar el registro en la base de datos paradox
Constantes predefinidas
px_close
Paradox


Cerrar una base de datos paradox

Funciones de Paradox
px_create_fp
Funciones de Paradox
PHP Manual

px_close

(PECL paradox >= 1.0.0)

px_close — Cerrar una base de datos paradox

Descripción

bool px_close ( resource $pxdoc )

Cierra la base de datos paradox. Esta función no cierra el archivo. Deberá llamar seguidamente a la función fclose().

Parámetros

pxdoc

Identificador de recursos de la base de datos paradox devuelto por la función px_new().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • px_open_fp() - Abrir base de datos paradox
  • Ejemplo de la función px_new() - Crear un nuevo objeto paradox

Funciones de Paradox
px_create_fp
Funciones de Paradox


Crear una nueva base de datos paradox

px_close
px_date2string
Funciones de Paradox
PHP Manual

px_create_fp

(PECL paradox >= 1.0.0)

px_create_fp — Crear una nueva base de datos paradox

Descripción

bool px_create_fp ( resource $pxdoc , resource $file , array $fielddesc )

Crea un nuevo archivo de base de datos paradox. El archivo actual deberá abrirse antes con la función fopen(). Asegúrese de que el archivo tiene permisos de escritura.

Nota:

Al llamar a estas funciones emite una advertencia acerca de un nombre de tabla vacía que se puede omitir con seguridad. Sólo tiene que configurar el nombre de tabla posteriormente con la función px_set_parameter().

Nota:

Esta función es muy experimental, debido a la insuficiente documentación del formato de archivo paradox. Los archivos de base de datos creados con esta función pueden ser abiertos con la función px_open_fp() y han sido abiertos con éxito por el software de Paradox, pero algunos puntos pueden variar.

Parámetros

pxdoc

Identificador de recursos de la base de datos paradox devueltos por la función px_new().

file

Identificador de archivo devuelto por la función fopen().

fielddesc

La opción fielddesc es una matriz que contiene un elemento por cada campo especificado. Un campo especificado es una matriz propia con dos o tres elementos. El primer elemento es siempre un valor de cadena utilizado como el nombre del campo. Este no puede ser mayor de diez carácteres. El segundo elemento contiene el tipo de campo que es una de las constantes que figuran en la tabla.Las constantes para los tipos de campo. En el caso de un campo de caracteres o campo BCD, tendrá que proporcionar un tercer elemento especificando la longitud respectivamente a la precesión del campo. Si su especificación de campo contiene campos blob, tendrá que asegurarse de hacer el campo lo suficientemente grande para que se adapte a todos los valores de campo o especificar un archivo blob con la función px_set_blob_file() para almacenar los blobs. Si esto no se hace los datos del campo se truncarán.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Creación de una base de datos Paradox con dos campos

<?php
if(!$pxdoc = px_new()) {
  /* Error handling */
}
$fp = fopen("test.db", "w+");
$fields = array(array("col1", "S"), array("col2", "I"));
if(!px_create_fp($pxdoc, $fp, $fields)) {
  /* Error handling */
}
px_set_parameter($pxdoc, "tablename", "testtable");
for($i=-50; $i<50; $i++) {
  $rec = array($i, -$i);
  px_put_record($pxdoc, $rec);
}
px_close($pxdoc);
px_delete($pxdoc);
fclose($fp);
?>

Ver también

  • px_new() - Crear un nuevo objeto paradox
  • px_put_record() - Almacenar registro en la base de datos paradox
  • fopen() - Abre un fichero o una URL

px_close
px_date2string
Funciones de Paradox


Convierte una fecha en una cadena.

px_create_fp
px_delete_record
Funciones de Paradox
PHP Manual

px_date2string

(PECL paradox >= 1.4.0)

px_date2string — Convierte una fecha en una cadena.

Descripción

string px_date2string ( resource $pxdoc , int $value , string $format )

Convierte una fecha, ya almacenada en el archivo paradox en formato legible por humanos. Las fechas Paradox son el número de días desde el 1.1.0000. Esta función es sólo por conveniencia. Puede ser fácilmente reemplazada por algunas funciones matemáticas y de calendario como se demuestra en el siguiente ejemplo.

Parámetros

pxdoc

Identificador de recursos de la base de datos paradox devuelto por la función px_new().

value

Valor almacenado en la base de datos paradox del tipo de campo PX_FIELD_DATE.

format

Cadena de formato similar al formato utilizado por la función date(). Los marcadores de posición admitidos por esta función es un subconjunto de los admitidos por la función date() (Y, y, m, n, d, j, L).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Convierte una fecha en el archivo paradox en un formato legible por humanos

<?php
$px = px_new();

/* Construir una fecha y almacenarla en */
/* un campo fecha de una base de datos paradox. */
/* 700000 días desde el 1.1.0000. */
$days = 700000;

/* Usar las funciones de calendario para imprimir un */
/* formato de fecha legible por humanos */
echo jdtogregorian($days+1721425)."\n";
/* px_date2string() la misma salida */
echo px_date2string($px, $days, "n/d/Y")."\n";

px_delete($px);
?>

El resultado del ejemplo sería:

7/15/1917
7/15/1917

Ver también

  • px_timestamp2string() - Convertir la fecha y la hora en una cadena.
  • jdtogregorian() - Convierte una Fecha Juliana en una fecha Gregoriana

px_create_fp
px_delete_record
Funciones de Paradox


Eliminar los registros de base de datos paradox

px_date2string
px_delete
Funciones de Paradox
PHP Manual

px_delete_record

(PECL paradox >= 1.4.0)

px_delete_record — Eliminar los registros de base de datos paradox

Descripción

bool px_delete_record ( resource $pxdoc , int $num )

Esta función elimina un registro de la base de datos. Esto no libera el espacio en el archivo de base de datos, solamente lo marca como eliminado. Insertando a continuación un nuevo registro se volverá a utilizar el espacio.

Nota:

Esta función sólo está disponible si se utiliza pxlib >= 0.6.0.

Parámetros

pxdoc

Identificador de recursos de la base de datos paradox devuelto por la función px_new().

num

El registro numérico es un número artificial que cuenta los registros a medida en que se almacenan en la base de datos. El primer registro tiene el número 0.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

px_date2string
px_delete
Funciones de Paradox


Eliminar los recursos de la base de datos paradox

px_delete_record
px_get_field
Funciones de Paradox
PHP Manual

px_delete

(PECL paradox >= 1.0.0)

px_delete — Eliminar los recursos de la base de datos paradox

Descripción

bool px_delete ( resource $pxdoc )

Elimina el recurso del archivo paradox y libera toda la memoria.

Parámetros

pxdoc

Identificador de recursos de la base de datos paradox devueltos por la función px_new().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

px_delete_record
px_get_field
Funciones de Paradox


Devuelve la especificación de un solo campo

px_delete
px_get_info
Funciones de Paradox
PHP Manual

px_get_field

(PECL paradox >= 1.0.0)

px_get_field — Devuelve la especificación de un solo campo

Descripción

array px_get_field ( resource $pxdoc , int $fieldno )

Parámetros

pxdoc

Identificador de recursos de la base de datos paradox devuelto por la función px_new().

fieldno

Número del campo. El primer campo tiene el número 0. Especificando un número de campo menor que 0 y mayor o igual al número de campos provocará un error trigger.

Valores devueltos

Devuelve la específicación del fieldno ésimo campo de la base de datos como un array asociado. La matriz contiene tres campos denominados name, type, y size.

px_delete
px_get_info
Funciones de Paradox


Devuelve una gran cantidad de información sobre un archivo paradox

px_get_field
px_get_parameter
Funciones de Paradox
PHP Manual

px_get_info

(PECL paradox >= 1.0.0)

px_get_info — Devuelve una gran cantidad de información sobre un archivo paradox

Descripción

array px_get_info ( resource $pxdoc )

Parámetros

pxdoc

Identificador de recursos de la base de datos paradox devuelto por la función px_new().

Valores devueltos

Devuelve una matriz asociada con una gran cantidad de información sobre un archivo paradox. Esta matriz es probable que sea ampliada en el futuro.

fileversion

Versión del archivo multiplicado por 10, por ejemplo, 70.

tablename

Nombre de la tabla tal como fué almacenada en el archivo. Si la base de datos fue creada con pxlib, entonces este será el nombre del archivo sin la extensión.

numrecords

Número de registros en esta tabla.

numfields

Número de campos en esta tabla.

headersize

Número de bytes utilizados para la cabecera. Esto es por lo general 0x800.

recordsize

Número de bytes utilizados por cada registro. Esta es la suma de todos los tamaños de campo (disponible desde la versión 1.4.2).

maxtablesize

Este valor, multiplicado por 0x400 es el tamaño de un bloque de datos en bytes. El número máximo de registros en un bloque de datos es la parte entera de (maxtablesize * 0x400 - 8) / recordsize.

numdatablocks

El número de bloques de datos en el archivo. Cada bloque de datos contiene un cierto número de registros que dependen del tamaño del registro y del tamaño del bloque de datos (maxtablesize). Los bloques de datos pueden no necesariamente estar rellenados por completo.

numindexfields

Número de campos utilizados para el índice primario. Los campos siempre se inician con el campo número 1.

codepage

El sistema de codificación DOS que fue utilizado para la codificación de los campos con datos de caracteres. Si la codificación de destino no se ha establecido con la función px_set_targetencoding() esta será la codificación de los campos de caracteres cuando se accede a los registros con la función px_get_record() o px_retrieve_record().

Ver también

  • px_numfields() - Devuelve el número de campos en una base de datos
  • px_numrecords() - Devuelve el número de registros en una base de datos

px_get_field
px_get_parameter
Funciones de Paradox


Obtener un parámetro

px_get_info
px_get_record
Funciones de Paradox
PHP Manual

px_get_parameter

(PECL paradox >= 1.1.0)

px_get_parameter — Obtener un parámetro

Descripción

string px_get_parameter ( resource $pxdoc , string $name )

Obtiene varios parámetros.

Parámetros

pxdoc

Identificador de recursos de la base de datos paradox devuelto por la función px_new().

name

El parámetro name puede ser uno de los siguientes:

tablename

El nombre de la tabla, ya que será almacenado en el encabezado de base de datos.

targetencoding

La codificación de la salida. Los datos que son leidos desde los campos de caracteres con la función px_get_record() o con la función px_retrieve_record() se recodifican en la codificación de destino. Si no se establece, entonces los datos se entregarán como fueron almacenados en el archivo de base de datos.

inputencoding

La codificación de los datos de entrada que se va a guardar en la base de datos. Al almacenar los datos de los campos de caracteres en la base de datos, se espera que los datos sean entregados en esta codificación.

Valores devueltos

Devuelve el valor del parámetro o FALSE en caso de error.

px_get_info
px_get_record
Funciones de Paradox


Devuelve registro de base de datos paradox

px_get_parameter
px_get_schema
Funciones de Paradox
PHP Manual

px_get_record

(PECL paradox >= 1.0.0)

px_get_record — Devuelve registro de base de datos paradox

Descripción

array px_get_record ( resource $pxdoc , int $num [, int $mode = 0 ] )

Parámetros

pxdoc

Identificador de recursos de la base de datos paradox devuelto por la función px_new().

num

El registro numérico es un número artificial que cuenta los registros a medida en que se almacenan en la base de datos. El primer registro tiene el número 0.

mode

El parámetro opcional mode puede ser PX_KEYTOLOWER o PX_KEYTOUPPER con el fin de convertir las claves en mayúsculas o minúsculas. Si el parámetro mode no se pasa o es 0, entonces la clave será igual que el nombre del campo. El elemento de los valores contendrá los valores de campo. Los valores NULL se conservarán y son diferentes de 0.0, 0 o la cadena vacía. Los campos de tipo PX_FIELD_TIME serán devueltos como un entero contando el número de milisegundos a partir de la medianoche. Una marca de tiempo (PX_FIELD_TIMESTAMP) y fecha (PX_FIELD_DATE) are floating point respectively int values counting milliseconds respectively days starting desde el inicio del calendario juliano. Utilice las funciones px-timestamp2string() y px-date2string() para convertirlos en una representación de caracteres.

Valores devueltos

Devuelve numésimo registro de la base de datos. El registro es devuelto como una matriz asociada con sus claves siendo los nombres de campo.

Ver también

  • px_retrieve_record() - Devolver registro de base de datos paradox

px_get_parameter
px_get_schema
Funciones de Paradox


Devuelve la definición de la base de datos (schema)

px_get_record
px_get_value
Funciones de Paradox
PHP Manual

px_get_schema

(PECL paradox >= 1.0.0)

px_get_schema — Devuelve la definición de la base de datos (schema)

Descripción

array px_get_schema ( resource $pxdoc [, int $mode = 0 ] )

La función px_get_schema() devuelve la definición de la base de datos.

Parámetros

pxdoc

Identificador de recursos de la base de datos paradox devuelto por la función px_new().

mode

Si el parámetro opcional mode es PX_KEYTOLOWER o PX_KEYTOUPPER las claves de la matriz devuelta serán convertidas a minúsculas o mayúsculas. Si el parámetro mode es 0 o no pasado en todos, entonces el nombre de la clave será el mismo que el nombre del campo.

Valores devueltos

Devuelve la definición de un archivo de base de datos como una matriz asociada. El nombre de la clave es igual al nombre del campo. Cada elemento de la matriz en sí es una matriz asociada array que contiene los dos campos type y size. type es una de las constantes en la tabla Las constantes de los tipos de campo. size es el número de bytes que consume este campo campo en el registro. El total de todos los tamaños de campo es igual al tamaño del registro ya que pueden ser recuperados con la función px-get-info().

px_get_record
px_get_value
Funciones de Paradox


Obtener un valor

px_get_schema
px_insert_record
Funciones de Paradox
PHP Manual

px_get_value

(PECL paradox >= 1.1.0)

px_get_value — Obtener un valor

Descripción

float px_get_value ( resource $pxdoc , string $name )

Obtiene varios valores.

Parámetros

pxdoc

Identificador de recursos de la base de datos paradox devuelto por la función px_new().

name

El parámetro name puede ser uno de los siguientes.

numprimkeys

El número de índices primarios. Las bases de datos paradox utiliza siempre los primeros campos numprimkeys para el índice primario.

Valores devueltos

Devuelve el valor del parámetro o FALSE en caso de error.

px_get_schema
px_insert_record
Funciones de Paradox


Inserta registro en base de datos paradox

px_get_value
px_new
Funciones de Paradox
PHP Manual

px_insert_record

(PECL paradox >= 1.4.0)

px_insert_record — Inserta registro en base de datos paradox

Descripción

int px_insert_record ( resource $pxdoc , array $data )

Inserta un nuevo registro en la base de datos. El registro no será necesariamente insertado al final de la base de datos, puede ser insertado en cualquier posición dependiendo en donde se encuentre la primera ranura libre.

Los datos del registro se pasan como una matriz de valores de campo. Los elementos en la matriz debe corresponder a los campos de la base de datos. Si la matriz tiene menos elementos que los campos en la base de datos, los campos restantes se establecerán a null.

La mayoría de los valores de campo se puede pasar como su tipo php equivalente, por ejemplo, un valor long se utiliza para campos de tipo PX_FIELD_LONG, PX_FIELD_SHORT y PX_FIELD_AUTOINC, un valor double se utiliza para campos de tipo PX_FIELD_CURRENCY y PX_FIELD_NUMBER. Los valores de campo para los campos blob y alfa se pasan como cadenas.

Los campos de tipo PX_FIELD_TIME y PX_FIELD_DATE requieren ambos un valor long. En el primer caso este es el número de milisegundos desde la medianoche. En el segundo caso es el número de días desde el 1.1.0000. A continuación hay dos ejemplos para convertir la fecha actual o marca de tiempo en un valor adecuado para unos campos de fecha/hora en paradox.

Nota:

Esta función sólo está disponible si se utiliza pxlib >= 0.6.0.

Parámetros

pxdoc

Identificador de recursos de la base de datos paradox devuelto por la función px_new().

data

Matriz asociado o indexada que contiene los valores de campo como, por ejemplo, devuelto por la función px_retrieve_record().

Valores devueltos

Devuelve FALSE en caso de fallo o el número de registro en caso de éxito.

Ejemplos

Ejemplo #1 Establece los campos fecha/hora en una base de datos paradox a la fecha/hora actual

<?php
$px = px_new();
$fp = fopen("test.db", "w+");
px_create_fp($px, $fp, array(array("timestamp", "@"), array("time", "T"), array("date", "D")));

$curdate = getdate();
$jd = gregoriantojd($curdate["mon"], $curdate["mday"], $curdate["year"]);
$days = $jd - 1721425; /* Number of days between 1.1.4714 b.c. and 1.1.0000 */
$secs = $curdate["hours"]*3600 + $curdate["minutes"]*60 + $curdate["seconds"];
px_insert_record($px, array($days*86400000.0 + $secs*1000.0, $secs*1000.0, $days));

$curtimestamp = microtime(true);
$days = (int) ($curtimestamp/86400);
$secs = $curtimestamp - ($days * 86400.0);
$days += 2440588; /* Number of days between 1.1.4714 b.c. and 1.1.1970 */
$days -= 1721425; /* Number of days between 1.1.4714 b.c. and 1.1.0000 */
px_insert_record($px, array($days*86400000.0 + $secs*1000.0, $secs*1000.0, $days));
for($i=0; $i<2; $i++) {
    $rec = px_retrieve_record($px, $i);
    echo px_timestamp2string($px, $rec["timestamp"], "n/d/Y H:i:s")."\n";
    echo px_date2string($px, $rec["date"], "n/d/Y")."\n";
}
px_close($px);
px_delete($px);
?>

El resultado del ejemplo sería:

2/21/2006 21:42:30
2/21/2006
2/21/2006 20:42:30
2/21/2006

La cuenta de la fecha juliana pasada a la función jdtogregorian() tiene una base diferente de 1.1.4714 a. C. y por lo tanto debe calcularse añadiendo 1721425 a la cuenta de días utilizados en el archivo paradox. En cuanto el número de días en una fecha y hora se hace fácilmente multiplicando por 86400000.0 para obtener milisegundos.

Ver también

px_update_record() - Actualizar el registro en la base de datos paradox

px_get_value
px_new
Funciones de Paradox


Crear un nuevo objeto paradox

px_insert_record
px_numfields
Funciones de Paradox
PHP Manual

px_new

(PECL paradox >= 1.0.0)

px_new — Crear un nuevo objeto paradox

Descripción

resource px_new ( void )

Crea un nuevo objeto paradox. Tendrá que llamar a esta función antes de cualquier otra función. La función px_new() no crea ningún archivo en el disco, simplemente crea una instancia de un objeto paradox. Esta función no debe ser llamada si la interfaz orientada a objetos es usada. Utilice en su lugar new paradox_db().

Valores devueltos

Devuelve FALSE en caso de fallo.

Ejemplos

Ejemplo #1 Abrir una base de datos Paradox

<?php
if(!$pxdoc = px_new()) {
  /* Error handling */
}
$fp = fopen("test.db", "r");
if(!px_open_fp($pxdoc, $fp)) {
  /* Error handling */
}
// ...
px_close($pxdoc);
px_delete($pxdoc);
fclose($fp);
?>

Si prefiere la API orientada a objetos, entonces el ejemplo anterior se verá como sigue.

Ejemplo #2 Abrir una base de datos Paradox

<?php
$fp = fopen("test.db", "r");
$pxdoc = new paradox_db();
if(!$pxdoc->open_fp($fp)) {
  /* Error handling */
}
// ...
$pxdoc->close();
fclose($fp);
?>

Ver también

  • px_delete() - Eliminar los recursos de la base de datos paradox
  • px_open_fp() - Abrir base de datos paradox

px_insert_record
px_numfields
Funciones de Paradox


Devuelve el número de campos en una base de datos

px_new
px_numrecords
Funciones de Paradox
PHP Manual

px_numfields

(PECL paradox >= 1.0.0)

px_numfields — Devuelve el número de campos en una base de datos

Descripción

int px_numfields ( resource $pxdoc )

Obtener el número de campos en un archivo de base de datos.

Parámetros

pxdoc

Identificador de recursos de la base de datos paradox devuelto por la función px_new().

Valores devueltos

Devuelve el número de campos en un archivo de base de datos. El valor de retorno de esta función es idéntico al elemento numfields en la matriz devuelta por la función px_get_info().

px_new
px_numrecords
Funciones de Paradox


Devuelve el número de registros en una base de datos

px_numfields
px_open_fp
Funciones de Paradox
PHP Manual

px_numrecords

(PECL paradox >= 1.0.0)

px_numrecords — Devuelve el número de registros en una base de datos

Descripción

int px_numrecords ( resource $pxdoc )

Obtener el número de registros en un archivo de base de datos.

Parámetros

pxdoc

Identificador de recursos de la base de datos paradox devuelto por la función px_new().

Valores devueltos

Devuelve el número de registros en un archivo de base de datos. El valor de retorno de esta función es idéntico al elemento numrecords en la matriz devuelta por la función px_get_info().

px_numfields
px_open_fp
Funciones de Paradox


Abrir base de datos paradox

px_numrecords
px_put_record
Funciones de Paradox
PHP Manual

px_open_fp

(PECL paradox >= 1.0.0)

px_open_fp — Abrir base de datos paradox

Descripción

bool px_open_fp ( resource $pxdoc , resource $file )

Abre un archivo de base de datos paradox existente. El archivo actual tiene que ser abierto antes con la función fopen(). Esta función también puede utilizarse para abrir el índice primario del archivo y pasar ellos como una base de datos paradox. Esto es aprobado para aquellos que quieran investigar un índice primario. Esto no se puede utilizar para acelerar el acceso a un archivo de base de datos.

Parámetros

pxdoc

Identificador de recursos de la base de datos paradox devuelto por la función px_new().

file

El parámetro file es el valor devuelto desde la función fopen() con el archivo de base de datos actual como parámetro. Asegúrese de que la base de datos se puede escribir si va a actualizar o insertar registros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • fopen() - Abre un fichero o una URL
  • El ejemplo en la función px_new() - Crear un nuevo objeto paradox

px_numrecords
px_put_record
Funciones de Paradox


Almacenar registro en la base de datos paradox

px_open_fp
px_retrieve_record
Funciones de Paradox
PHP Manual

px_put_record

(PECL paradox >= 1.0.0)

px_put_record — Almacenar registro en la base de datos paradox

Descripción

bool px_put_record ( resource $pxdoc , array $record [, int $recpos = -1 ] )

Almacena un registro en una base de datos Paradox. El registro se añade siempre al final de la base de datos, independientemente de las ranuras libres. Utilice la función px_insert_record() para agregar un nuevo registro en la primera ranura libre en la base de datos.

Parámetros

pxdoc

Identificador de recursos de la base de datos paradox devuelto por la función px_new().

record

Matriz asociado o indexada que contiene los valores de campo como, por ejemplo devuelto por la función px_retrieve_record().

recpos

Este parámetro opcional puede ser usado para especificar un número de registro mayor que el número actual de registros en la base de datos. La función añadirá tantos registros vacíos según sea necesario. There is hardly Apenas hay necesidad de utilizar este parámetro.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

px_open_fp
px_retrieve_record
Funciones de Paradox


Devolver registro de base de datos paradox

px_put_record
px_set_blob_file
Funciones de Paradox
PHP Manual

px_retrieve_record

(PECL paradox >= 1.4.0)

px_retrieve_record — Devolver registro de base de datos paradox

Descripción

array px_retrieve_record ( resource $pxdoc , int $num [, int $mode = 0 ] )

Esta función es muy similar a la función px_get_record() pero utiliza internamente un enfoque diferente para recuperar los datos. Se basa en pxlib para la lectura de cada valor único de campo, cuyo resultado general resulta en soportar un mayor número de tipos de campo.

Nota:

Esta función sólo está disponible si se utiliza pxlib >= 0.6.0.

Parámetros

pxdoc

Identificador de recursos de la base de datos paradox devuelto por la función px_new().

num

El registro numérico es un número artificial que cuenta los registros a medida en que se almacenan en la base de datos. El primer registro tiene el número 0.

mode

El parámetro opcional mode puede ser PX_KEYTOLOWER o PX_KEYTOUPPER con el fin de convertir las claves en mayúsculas o minúsculas. Si el parámetro mode no se pasa o es 0, entonces la clave será igual que el nombre del campo. El elemento de los valores contendrá los valores de campo. Los valores NULL se conservarán y son diferentes de 0.0, 0 o la cadena vacía. Los campos de tipo PX_FIELD_TIME serán devueltos como un entero contando el número de milisegundos a partir de la medianoche. Una marca de tiempo es un valor de punto flotante contando también los milisegundos desde el comienzo del calendario juliano.

Valores devueltos

Devuelve el parámetro numº del registro de la base de datos paradox. El registro es devuelto como una matriz asociada con sus claves siendo los nombres de campo.

Ver también

  • px_get_record() - Devuelve registro de base de datos paradox

px_put_record
px_set_blob_file
Funciones de Paradox


Establecer el archivo desde donde los blobs se van a leer

px_retrieve_record
px_set_parameter
Funciones de Paradox
PHP Manual

px_set_blob_file

(PECL paradox >= 1.3.0)

px_set_blob_file — Establecer el archivo desde donde los blobs se van a leer

Descripción

bool px_set_blob_file ( resource $pxdoc , string $filename )

Establece el nombre del archivo desde donde los blobs se van a leer o escribir. Sin llamar a esta función, px_get_record() o px_retrieve_record() sólo devolverá datos en campos blob si los datos son parte del registro y no se almacenan en el archivo blob. Los datos blob se almacenan en el registro si es lo suficientemente pequeño para adaptarse al tamaño del campo blob.

Las llamadas a la función  px_put_record(),
 px_insert_record(), o
 px_update_record() sin llamar a la función
 px_set_blob_file() dará como resultados campos blob truncados
a menos que los datos encajen en el archivo de base de datos.

Llamando a esta función dos veces se cerrará el primer archivo blob y abrirá el nuevo.

Parámetros

pxdoc

Identificador de recursos de la base de datos paradox devuelto por la función px_new().

filename

El nombre del archivo. Su extensión debe ser .MB.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

px_retrieve_record
px_set_parameter
Funciones de Paradox


Establecer un parámetro

px_set_blob_file
px_set_tablename
Funciones de Paradox
PHP Manual

px_set_parameter

(PECL paradox >= 1.1.0)

px_set_parameter — Establecer un parámetro

Descripción

bool px_set_parameter ( resource $pxdoc , string $name , string $value )

Establece varios parámetros.

Parámetros

pxdoc

Identificador de recursos de la base de datos paradox devuelto por la función px_new().

name

En función del parámetro que desee establecer, el parámetro name puede ser uno de los siguientes.

tablename

El nombre de la tabla que se almacenará en la cabecera de la base de datos.

targetencoding

La codificación de salida. Los datos que sean leidos desde los campos de caracteres se recodifican en la codificación de destino.

inputencoding

La codificación de los datos de entrada que se va a guardar en la base de datos.

value

El valor del parámetro a establecer. Para la codificación de entrada y codificación de destino este debe ser el nombre de la codificación tal como la entiende iconv o recodificada, por ejemplo iso-8859-1, utf-8, cp850.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • px_get_info() - Devuelve una gran cantidad de información sobre un archivo paradox para determinar la página de códigos DOS.

px_set_blob_file
px_set_tablename
Funciones de Paradox


Establecer el nombre de una tabla (obsoleto)

px_set_parameter
px_set_targetencoding
Funciones de Paradox
PHP Manual

px_set_tablename

(PECL paradox >= 1.0.0)

px_set_tablename — Establecer el nombre de una tabla (obsoleto)

Descripción

void px_set_tablename ( resource $pxdoc , string $name )

Establece el nombre de la tabla de una base de datos paradox, que se creó con la función px_create_fp(). Esta función es obsoleta, utilice en su lugar la función px_set_parameter().

Parámetros

pxdoc

Identificador de recursos de la base de datos paradox devuelto por la función px_new().

tablename

El nombre de la tabla. Si no se establece explícitamente, se establecerá el nombre del archivo de la base de datos.

Valores devueltos

Devuelve NULL en caso de éxito o FALSE en caso de error.

Ver también

px_set_parameter() - Establecer un parámetro

px_set_parameter
px_set_targetencoding
Funciones de Paradox


Establecer la codificación de los campos de caracteres (obsoleto)

px_set_tablename
px_set_value
Funciones de Paradox
PHP Manual

px_set_targetencoding

(PECL paradox >= 1.0.0)

px_set_targetencoding — Establecer la codificación de los campos de caracteres (obsoleto)

Descripción

bool px_set_targetencoding ( resource $pxdoc , string $encoding )

Establece la codificación para los datos recuperados desde un campo de caracteres. Todos los campos de caracteres serán recodificados a la codificación establecida por esta función. Si la codificación no se ha establecido, los datos de carácter serán devueltos en el sistema de codificación DOS especificado en el archivo de base de datos. El parámetro encoding puede ser cualquier identificador de cadena conocido a iconv o recodificar. En los sistemas Unix, ejecutar iconv -l para obtener una lista de las codificaciones disponibles.

Esta función es obsoleta y debe sustituirse por llamadas a la función px_set_parameter().

Véase también la función px_get_info() para determinar el sistema de codificación DOS almacenado en el archivo de base de datos.

Parámetros

pxdoc

Identificador de recursos de la base de datos paradox devuelto por la función px_new().

encoding

La codificación de salida. Los datos que se están leyendo desde los campos de caracteres se recodifica en la codificación de destino.

Valores devueltos

Devuelve FALSE si la codificación no se puede establecer, por ejemplo, la codificación es desconocida, o pxlib no aprueba la recodificación de todos. En el segundo caso una advertencia será emitida.

Ver también

px_set_parameter() - Establecer un parámetro

px_set_tablename
px_set_value
Funciones de Paradox


Establecer un valor

px_set_targetencoding
px_timestamp2string
Funciones de Paradox
PHP Manual

px_set_value

(PECL paradox >= 1.1.0)

px_set_value — Establecer un valor

Descripción

bool px_set_value ( resource $pxdoc , string $name , float $value )

Establece varios valores.

Parámetros

pxdoc

Identificador de recursos de la base de datos paradox devuelto por la función px_new().

name

El parámetro name puede ser uno de los siguientes.

numprimkeys

El número de claves primarias. Las bases de datos paradox utilizan siempre los primeros campos numprimkeys para el índice principal.

value

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

px_set_parameter() - Establecer un parámetro

px_set_targetencoding
px_timestamp2string
Funciones de Paradox


Convertir la fecha y la hora en una cadena.

px_set_value
px_update_record
Funciones de Paradox
PHP Manual

px_timestamp2string

(PECL paradox >= 1.4.0)

px_timestamp2string — Convertir la fecha y la hora en una cadena.

Descripción

string px_timestamp2string ( resource $pxdoc , float $value , string $format )

Convierte una fecha y hora tal como fué almenacenada en el archivo paradox, en un formato legible por humanos. Las marcas de tiempo paradox son el número de milisegundos transcurridos desde el 0001-01-02. Esta función es sólo por conveniencia. Esta puede ser fácilmente reemplazada por algunas funciones matemáticas y de calendario como se demuestra en el siguiente ejemplo.

Parámetros

pxdoc

Identificador de recursos de la base de datos paradox.

value

Valor almacenado en la base de datos paradox de tipo de campo PX_FIELD_TIME, o PX_FIELD_TIMESTAMP.

format

Formato de cadena similar al formato utilizado por la función date(). Los marcadores de posición soportados por esta función es un subconjunto de los soportados por la función date() (Y, y, m, n, d, j, H, h, G, g, i, s, A, a, L).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Conversión de una fecha y hora paradox en un formato legible por humanos

<?php
$px = px_new();

/* componer una fecha tal y como podría ser almacenada en */
/* un campo de fecha de una base de datos paradox */
/* 700000 días desde el 1.1.0000. */
$days = 700000;

/* Utilización de las funciones de calendario para imprimir una */
/* fecha en un formato legible por humanos */
echo jdtogregorian($days+1721425)."\n";

/* Convertirla en una marca de tiempo tal y como fue almacenada en la base de datos paradox */
/* Las marcas de tiempo se almacenan en milisegundos desde el 0001-01-02 */
$stamp = $days * 86400.0 * 1000.0;
/* Añadir una hora */
$stamp += 3600000.0;
/* La salida será la siguiente '7/15/1917 01:00:00'. */
echo px_timestamp2string($px, $stamp, "n/d/Y H:i:s")."\n";

px_delete($px);
?>

El resultado del ejemplo sería:

7/15/1917
7/15/1917 01:00:00

La cuenta de la fecha juliana pasada a la función jdtogregorian() tiene una base diferente de 1.1.4714 a. C. y por lo tanto debe calcularse añadiendo 1721425 a la cuenta de días utilizados en el archivo paradox. En cuanto el número de días en una fecha y hora se hace fácilmente multiplicando por 86400000.0 para obtener milisegundos.

Ver también

  • px_date2string() - Convierte una fecha en una cadena.
  • jdtogregorian() - Convierte una Fecha Juliana en una fecha Gregoriana

px_set_value
px_update_record
Funciones de Paradox


Actualizar el registro en la base de datos paradox

px_timestamp2string
PostgreSQL
Funciones de Paradox
PHP Manual

px_update_record

(PECL paradox >= 1.4.0)

px_update_record — Actualizar el registro en la base de datos paradox

Descripción

bool px_update_record ( resource $pxdoc , array $data , int $num )

Actualiza un registro existente en la base de datos. El registro comienza en 0.

Los datos del registro se pasan como una matriz de valores de campo. Los elementos de la matriz deben corresponder a los campos de la base de datos. Si la matriz tiene menos elementos que los campos en la base de datos, los campos restantes se establecerán a null.

Nota:

Esta función sólo está disponible si se utiliza pxlib >= 0.6.0.

Parámetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

data

Identificador de recursos de la base de datos paradox devuelto por la función px_new().

num

El registro numérico es un número artificial que cuenta los registros a medida en que se almacenan en la base de datos. El primer registro tiene el número 0.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

px_insert_record() - Inserta registro en base de datos paradox

px_timestamp2string
PostgreSQL
Funciones de Paradox


PostgreSQL

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Uso básico
  • Funciones de PostgreSQL
    • pg_affected_rows — Devuelve el número de registros afectados (filas)
    • pg_cancel_query — Cancelar una consulta asíncrona
    • pg_client_encoding — Obtiene la codificación del cliente
    • pg_close — Cierra una conexión PostgreSQL
    • pg_connect — Abrir una conexión a PostgreSQL
    • pg_connection_busy — Permite saber si la conexión esta ocupada o no
    • pg_connection_reset — Restablece conexión (reconectar)
    • pg_connection_status — Obtener estado de la conexión
    • pg_convert — convierte los valores de un array asociativo en valores adecuandolos para su uso en una sentencia SQL
    • pg_copy_from — Insertar registros dentro de una tabla desde un array
    • pg_copy_to — Copiar una tabla a un array
    • pg_dbname — Obtiene el nombre de la base de datos
    • pg_delete — Borra registros
    • pg_end_copy — Sincronizar con PostgreSQL
    • pg_escape_bytea — Escapar un string para insertarlo en un campo bytea
    • pg_escape_identifier — Escape a identifier for insertion into a text field
    • pg_escape_literal — Escape a literal for insertion into a text field
    • pg_escape_string — Escape a string for query
    • pg_execute — Envía una solicitud para ejecutar una setencia preparada con parámetros dados, y espera el resultado
    • pg_fetch_all_columns — Fetches all rows in a particular result column as an array
    • pg_fetch_all — Fetches all rows from a result as an array
    • pg_fetch_array — Fetch a row as an array
    • pg_fetch_assoc — Fetch a row as an associative array
    • pg_fetch_object — Fetch a row as an object
    • pg_fetch_result — Returns values from a result resource
    • pg_fetch_row — Get a row as an enumerated array
    • pg_field_is_null — Test if a field is SQL NULL
    • pg_field_name — Returns the name of a field
    • pg_field_num — Returns the field number of the named field
    • pg_field_prtlen — Returns the printed length
    • pg_field_size — Returns the internal storage size of the named field
    • pg_field_table — Returns the name or oid of the tables field
    • pg_field_type_oid — Returns the type ID (OID) for the corresponding field number
    • pg_field_type — Returns the type name for the corresponding field number
    • pg_free_result — Free result memory
    • pg_get_notify — Gets SQL NOTIFY message
    • pg_get_pid — Gets the backend's process ID
    • pg_get_result — Get asynchronous query result
    • pg_host — Returns the host name associated with the connection
    • pg_insert — Insert array into table
    • pg_last_error — Get the last error message string of a connection
    • pg_last_notice — Returns the last notice message from PostgreSQL server
    • pg_last_oid — Returns the last row's OID
    • pg_lo_close — Close a large object
    • pg_lo_create — Create a large object
    • pg_lo_export — Export a large object to file
    • pg_lo_import — Import a large object from file
    • pg_lo_open — Open a large object
    • pg_lo_read_all — Reads an entire large object and send straight to browser
    • pg_lo_read — Read a large object
    • pg_lo_seek — Seeks position within a large object
    • pg_lo_tell — Returns current seek position a of large object
    • pg_lo_unlink — Delete a large object
    • pg_lo_write — Write to a large object
    • pg_meta_data — Get meta data for table
    • pg_num_fields — Returns the number of fields in a result
    • pg_num_rows — Returns the number of rows in a result
    • pg_options — Get the options associated with the connection
    • pg_parameter_status — Looks up a current parameter setting of the server.
    • pg_pconnect — Open a persistent PostgreSQL connection
    • pg_ping — Ping a conexión de base de datos
    • pg_port — Devuelve el número de puerto asociado con la conexión
    • pg_prepare — Submits a request to create a prepared statement with the given parameters, and waits for completion.
    • pg_put_line — Send a NULL-terminated string to PostgreSQL backend
    • pg_query_params — Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text.
    • pg_query — Execute a query
    • pg_result_error_field — Returns an individual field of an error report.
    • pg_result_error — Get error message associated with result
    • pg_result_seek — Set internal row offset in result resource
    • pg_result_status — Get status of query result
    • pg_select — Select records
    • pg_send_execute — Sends a request to execute a prepared statement with given parameters, without waiting for the result(s).
    • pg_send_prepare — Sends a request to create a prepared statement with the given parameters, without waiting for completion.
    • pg_send_query_params — Submits a command and separate parameters to the server without waiting for the result(s).
    • pg_send_query — Sends asynchronous query
    • pg_set_client_encoding — Set the client encoding
    • pg_set_error_verbosity — Determines the verbosity of messages returned by pg_last_error and pg_result_error.
    • pg_trace — Enable tracing a PostgreSQL connection
    • pg_transaction_status — Returns the current in-transaction status of the server.
    • pg_tty — Return the TTY name associated with the connection
    • pg_unescape_bytea — Unescape binary for bytea type
    • pg_untrace — Disable tracing of a PostgreSQL connection
    • pg_update — Update table
    • pg_version — Devuelve un array con el cliente, protocolo y versión del servidor (si está disponible)
px_update_record
Introducción
Extensiones de bases de datos específicas del proveedor


Introducción

La base de datos PostgreSQL es un producto de código abierto y está disponible sin costo alguno. Postgres, desarrollado originalmente en el Departamento de Informática de la Universidad de Califormia, Berkeley, fue pionera en muchos de los conceptos objeto-relacionales que actualmente están disponibles en algunas bases de datos comerciales. Proporciona soporte para el lenguaje SQL92/SQL99, transacciones, integridad referencial, procedimientos almacenados y extensibilidad de tipos. PostgreSQL es un descendiente de código fuente abierto del código original de Berkeley.

PostgreSQL
Instalación/Configuración
PostgreSQL


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
PostgreSQL


Requerimientos

Para usar el soporte PostgreSQL, necesita PostgreSQL 6.5 o superior, PostgreSQL 8.0 o superior para habilitar todas las características del modulo PostgreSQL. PostgreSQL soporta muchas codificaciones de caracteres incluyendo codificación de caracteres multibyte. La versión actual y más información sobre PostgreSQL está disponible en » http://www.postgresql.org/ y la » Documentación de PostgreSQL.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Con el fin de habilitar el soporte de PostgreSQL, --with-pgsql[=DIR] es requerido cuando se compila PHP. DIR es el directorio base donde está instalado PostgreSQL, por defecto generalmente es /usr/local/pgsql en sistemas linux. Si el módulo de objetos compartidos está disponible, el módulo PostgreSQL puede ser cargado usando la directiva extension en php.ini o la función dl().

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración PostgreSQL
Nombre | Por defecto | Cambiable | Historial de cambios
pgsql.allow_persistent | "1" | PHP_INI_SYSTEM |
pgsql.max_persistent | "-1" | PHP_INI_SYSTEM |
pgsql.max_links | "-1" | PHP_INI_SYSTEM |
pgsql.auto_reset_persistent | "0" | PHP_INI_SYSTEM | Disponible desde PHP 4.2.0.
pgsql.ignore_notice | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
pgsql.log_notice | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

pgsql.allow_persistent boolean

Si se permiten conexiones Postgres persistentes.

pgsql.max_persistent integer

El número máximo de conexiones Postgres persistentes por proceso.

pgsql.max_links integer

El número máximo de conexiones Postgres por proceso, incluyendo conexiones persistentes.

pgsql.auto_reset_persistent integer

Detectar conexiones persitentes rotas con pg_pconnect(). Necesita un breve tiempo adicional.

pgsql.ignore_notice integer

Hacer caso o no a los mensajes de avisos del backend PostgreSQL.

pgsql.log_notice integer

Registrar o no los mensajes de aviso del backend PostgreSQL. La directiva PHP pgsql.ignore_notice debe estar apagada para registrar los mensajes de aviso

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Hay dos tipos de recursos utilizados en el módulo de PostgreSQL. El primero es el identificador de enlace para una conexión de base de datos, el segundo recurso contiene el resultado de la consulta.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

PGSQL_ASSOC (integer)
Pasado a pg_fetch_array(). Devuelve un array asociativo de campos nombre y valor.
PGSQL_NUM (integer)
Pasado a pg_fetch_array(). Devuelve un array indexado numéricamente de campos numero y valor.
PGSQL_BOTH (integer)
Pasado a pg_fetch_array(). Devuelve un array de valores de campo que es numéricamente indexado (por número de campo) y asociado (por nombre de campo).
PGSQL_CONNECT_FORCE_NEW (integer)
Pasado a pg_connect() fuerza la creacion de una nueva conexión, en lugar de volver a utilizar una conexión idéntica existente.
PGSQL_CONNECTION_BAD (integer)
Devuelto por pg_connection_status() indica que la conexión de la base de datos está en un estado no valido.
PGSQL_CONNECTION_OK (integer)
Devuelto por pg_connection_status() indica que la conexión de la base de datos está en un estado valido.
PGSQL_SEEK_SET (integer)
Pasado a pg_lo_seek(). La operación de busqueda empieza desde el inicio del objeto.
PGSQL_SEEK_CUR (integer)
Pasado a pg_lo_seek(). La operación de busqueda empieza desde la posición actual.
PGSQL_SEEK_END (integer)
Pasado a pg_lo_seek(). La operación de busqueda empieza desde el final del objeto.
PGSQL_EMPTY_QUERY (integer)
Devuelto por pg_result_status(). Indica que la cadena enviada al servidor estaba vacía.
PGSQL_COMMAND_OK (integer)
Devuelto por pg_result_status(). Indica la conclusión con éxito de un comando que no devuelve datos.
PGSQL_TUPLES_OK (integer)
Devuelto por pg_result_status(). Indica la conclusión con éxito de un comando que retorna datos (como un SELECT o un SHOW).
PGSQL_COPY_OUT (integer)
Devuelto por pg_result_status(). La transferencia de la copia de salida de datos (del servidor) ha empezado.
PGSQL_COPY_IN (integer)
Devuelto por pg_result_status(). La transferencia de la copia de la entrada de datos (al servidor) ha empezado.
PGSQL_BAD_RESPONSE (integer)
Devuelto por pg_result_status(). La respuesta del servidor no se entendió.
PGSQL_NONFATAL_ERROR (integer)
Devuelto por pg_result_status(). Un error fatal (un aviso o advertencia) se produjo.
PGSQL_FATAL_ERROR (integer)
Devuelto por pg_result_status(). Un error fatal ha ocurrido.
PGSQL_TRANSACTION_IDLE (integer)
Devuelto por pg_transaction_status(). La conexión esta libre actualmente, no es usada por una transacción.
PGSQL_TRANSACTION_ACTIVE (integer)
Devuelto por pg_transaction_status(). 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.
PGSQL_TRANSACTION_INTRANS (integer)
Devuelto por pg_transaction_status(). La conexión esta inactiva, en un bloque de transacción.
PGSQL_TRANSACTION_INERROR (integer)
Devuelto por pg_transaction_status(). La conexión esta inactiva, en un bloque de transacción fallida.
PGSQL_TRANSACTION_UNKNOWN (integer)
Devuelto por pg_transaction_status(). La conexion es mala.
PGSQL_DIAG_SEVERITY (integer)
Pasado a pg_result_error_field(). Según la gravedad; el contenido de los campos puede ser ERROR, FATAL, o PANIC (en un mensaje de error), o WARNING, NOTICE, DEBUG, INFO, o LOG (en un mensaje de aviso), o una traducción localizada de uno de ellos. Siempre esta presente.
PGSQL_DIAG_SQLSTATE (integer)
Pasado a pg_result_error_field(). 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.
PGSQL_DIAG_MESSAGE_PRIMARY (integer)
Pasado a pg_result_error_field(). El principal mensaje de error legible para un humano (generalmente una línea). Siempre esta presente.
PGSQL_DIAG_MESSAGE_DETAIL (integer)
Pasado a pg_result_error_field(). Detalle: un mensaje de error secundario opcional que transporta más detalles sobre el problema. Puede funcionar a varias líneas.
PGSQL_DIAG_MESSAGE_HINT (integer)
Pasado a pg_result_error_field(). 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.
PGSQL_DIAG_STATEMENT_POSITION (integer)
Pasado a pg_result_error_field(). 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.
PGSQL_DIAG_INTERNAL_POSITION (integer)
Pasado a pg_result_error_field(). Este se define como el campo PG_DIAG_STATEMENT_POSITION, 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 PG_DIAG_INTERNAL_QUERY siempre aparece cuando este campo esta presente.
PGSQL_DIAG_INTERNAL_QUERY (integer)
Pasado a pg_result_error_field(). El texto de un comando generado internamente falla. Esto podria ser, por ejemplo, una consulta SQL emitida por una función PL/pgSQL.
PGSQL_DIAG_CONTEXT (integer)
Pasado a pg_result_error_field(). 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.
PGSQL_DIAG_SOURCE_FILE (integer)
Pasado a pg_result_error_field(). El nombre del archivo en la ubicación del código fuente de PostgreSQL. donde se reporto el error.
PGSQL_DIAG_SOURCE_LINE (integer)
Passed to pg_result_error_field(). El numero de línea en la ubicación del código fuente PostgreSQL donde se reporto el error.
PGSQL_DIAG_SOURCE_FUNCTION (integer)
Pasado a pg_result_error_field(). El nombre de la función en el código fuente de PostgreSQL que informa del error.
PGSQL_ERRORS_TERSE (integer)
Pasado a pg_set_error_verbosity(). 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.
PGSQL_ERRORS_DEFAULT (integer)
Pasado a pg_set_error_verbosity(). 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).
PGSQL_ERRORS_VERBOSE (integer)
Pasado a pg_set_error_verbosity(). El modo detallado incluye todos los campos disponibles.
PGSQL_STATUS_LONG (integer)
Pasado a pg_result_status(). Indica que se desea el codigo numerico del resultado.
PGSQL_STATUS_STRING (integer)
Pasado a pg_result_status(). Indica que se desea la etiqueta textual del resultado del comando.
PGSQL_CONV_IGNORE_DEFAULT (integer)
Pasado a pg_convert(). No hacer caso de los valores por defecto en la tabla durante la conversión.
PGSQL_CONV_FORCE_NULL (integer)
Pasado a pg_convert(). Utilice SQL NULL en lugar de una string vacía.
PGSQL_CONV_IGNORE_NOT_NULL (integer)
Pasado a pg_convert(). Ignorar la conversión de NULL en las columnas SQL NOT NULL.
Tipos de recursos
Ejemplos
PostgreSQL


Ejemplos

Tabla de contenidos

  • Uso básico
Constantes predefinidas
Uso básico
PostgreSQL


Uso básico

Este sencillo ejemplo muestra cómo conectarse, ejecutar una consulta, imprimir filas resultantes y desconectarse de una base de datos PostgreSQL.

Ejemplo #1 Ejemplo resumido de la extensión PostgreSQL

<?php
// Conectando y seleccionado la base de datos
$dbconn = pg_connect("host=localhost dbname=publishing user=www password=foo")
    or die('No se ha podido conectar: ' . pg_last_error());

// Realizando una consulta SQL
$query = 'SELECT * FROM authors';
$result = pg_query($query) or die('La consulta fallo: ' . pg_last_error());

// Imprimiendo los resultados en HTML
echo "<table>\n";
while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
    echo "\t<tr>\n";
    foreach ($line as $col_value) {
        echo "\t\t<td>$col_value</td>\n";
    }
    echo "\t</tr>\n";
}
echo "</table>\n";

// Liberando el conjunto de resultados
pg_free_result($result);

// Cerrando la conexión
pg_close($dbconn);
?>

Ejemplos
Funciones de PostgreSQL
Ejemplos


Funciones de PostgreSQL

Notas

Nota:

No todas las funciones son compatibles con todas las versiones. Eso depende de la versión de libpq (librería cliente C de PostgreSQL) y cómo ha sido compilado libpq. Si las extensiones de PHP PostgreSQL faltan, entonces es porque su versión de libpq no los admite.

Nota:

La mayoría de las funciones PostgreSQL aceptan connection como primer parámetro opcional. Si no está siempre se usa la última conexión abierta. Si esta no existe las funciones retornarán FALSE.

Nota:

PostgreSQL cambia automáticamente todos los identificadores (ejm. tablas/nombres de columnas) a minúsculas en el momento de la creación y al hacer las consultas. Para forzar el uso de mayúsculas se debe escapar el identificador usando comillas dobles ("").

Nota:

PostgresSQL no tiene comandos especiales para mostrar la información del esquema de la base de datos (ejm. todas las tablas de la actual base de datos). En cambio, hay un esquema estándar llamado information_schema en PostgreSQL 7.4 o superior que contiene las vistas del sistema con toda la información necesaria, es facilmente consultable. Vea la » Documentación de PostgreSQL para más detalles.

Tabla de contenidos

  • pg_affected_rows — Devuelve el número de registros afectados (filas)
  • pg_cancel_query — Cancelar una consulta asíncrona
  • pg_client_encoding — Obtiene la codificación del cliente
  • pg_close — Cierra una conexión PostgreSQL
  • pg_connect — Abrir una conexión a PostgreSQL
  • pg_connection_busy — Permite saber si la conexión esta ocupada o no
  • pg_connection_reset — Restablece conexión (reconectar)
  • pg_connection_status — Obtener estado de la conexión
  • pg_convert — convierte los valores de un array asociativo en valores adecuandolos para su uso en una sentencia SQL
  • pg_copy_from — Insertar registros dentro de una tabla desde un array
  • pg_copy_to — Copiar una tabla a un array
  • pg_dbname — Obtiene el nombre de la base de datos
  • pg_delete — Borra registros
  • pg_end_copy — Sincronizar con PostgreSQL
  • pg_escape_bytea — Escapar un string para insertarlo en un campo bytea
  • pg_escape_identifier — Escape a identifier for insertion into a text field
  • pg_escape_literal — Escape a literal for insertion into a text field
  • pg_escape_string — Escape a string for query
  • pg_execute — Envía una solicitud para ejecutar una setencia preparada con parámetros dados, y espera el resultado
  • pg_fetch_all_columns — Fetches all rows in a particular result column as an array
  • pg_fetch_all — Fetches all rows from a result as an array
  • pg_fetch_array — Fetch a row as an array
  • pg_fetch_assoc — Fetch a row as an associative array
  • pg_fetch_object — Fetch a row as an object
  • pg_fetch_result — Returns values from a result resource
  • pg_fetch_row — Get a row as an enumerated array
  • pg_field_is_null — Test if a field is SQL NULL
  • pg_field_name — Returns the name of a field
  • pg_field_num — Returns the field number of the named field
  • pg_field_prtlen — Returns the printed length
  • pg_field_size — Returns the internal storage size of the named field
  • pg_field_table — Returns the name or oid of the tables field
  • pg_field_type_oid — Returns the type ID (OID) for the corresponding field number
  • pg_field_type — Returns the type name for the corresponding field number
  • pg_free_result — Free result memory
  • pg_get_notify — Gets SQL NOTIFY message
  • pg_get_pid — Gets the backend's process ID
  • pg_get_result — Get asynchronous query result
  • pg_host — Returns the host name associated with the connection
  • pg_insert — Insert array into table
  • pg_last_error — Get the last error message string of a connection
  • pg_last_notice — Returns the last notice message from PostgreSQL server
  • pg_last_oid — Returns the last row's OID
  • pg_lo_close — Close a large object
  • pg_lo_create — Create a large object
  • pg_lo_export — Export a large object to file
  • pg_lo_import — Import a large object from file
  • pg_lo_open — Open a large object
  • pg_lo_read_all — Reads an entire large object and send straight to browser
  • pg_lo_read — Read a large object
  • pg_lo_seek — Seeks position within a large object
  • pg_lo_tell — Returns current seek position a of large object
  • pg_lo_unlink — Delete a large object
  • pg_lo_write — Write to a large object
  • pg_meta_data — Get meta data for table
  • pg_num_fields — Returns the number of fields in a result
  • pg_num_rows — Returns the number of rows in a result
  • pg_options — Get the options associated with the connection
  • pg_parameter_status — Looks up a current parameter setting of the server.
  • pg_pconnect — Open a persistent PostgreSQL connection
  • pg_ping — Ping a conexión de base de datos
  • pg_port — Devuelve el número de puerto asociado con la conexión
  • pg_prepare — Submits a request to create a prepared statement with the given parameters, and waits for completion.
  • pg_put_line — Send a NULL-terminated string to PostgreSQL backend
  • pg_query_params — Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text.
  • pg_query — Execute a query
  • pg_result_error_field — Returns an individual field of an error report.
  • pg_result_error — Get error message associated with result
  • pg_result_seek — Set internal row offset in result resource
  • pg_result_status — Get status of query result
  • pg_select — Select records
  • pg_send_execute — Sends a request to execute a prepared statement with given parameters, without waiting for the result(s).
  • pg_send_prepare — Sends a request to create a prepared statement with the given parameters, without waiting for completion.
  • pg_send_query_params — Submits a command and separate parameters to the server without waiting for the result(s).
  • pg_send_query — Sends asynchronous query
  • pg_set_client_encoding — Set the client encoding
  • pg_set_error_verbosity — Determines the verbosity of messages returned by pg_last_error and pg_result_error.
  • pg_trace — Enable tracing a PostgreSQL connection
  • pg_transaction_status — Returns the current in-transaction status of the server.
  • pg_tty — Return the TTY name associated with the connection
  • pg_unescape_bytea — Unescape binary for bytea type
  • pg_untrace — Disable tracing of a PostgreSQL connection
  • pg_update — Update table
  • pg_version — Devuelve un array con el cliente, protocolo y versión del servidor (si está disponible)
Uso básico
pg_affected_rows
PostgreSQL


Devuelve el número de registros afectados (filas)

Funciones de PostgreSQL
pg_cancel_query
Funciones de PostgreSQL
PHP Manual

pg_affected_rows

(PHP 4 >= 4.2.0, PHP 5)

pg_affected_rows — Devuelve el número de registros afectados (filas)

Descripción

int pg_affected_rows ( resource $result )

pg_affected_rows() Devuelve el número de filas (casos/registros/filas) afectadas por consultas de tipo INSERT, UPDATE, y DELETE .

Nota:

Esta función se llamaba pg_cmdtuples().

Parámetros

result

El recurso de resultados de la consulta PostgreSQL o PostgreSQL query result resource, es devuelto por pg_query(), pg_query_params() o pg_execute() (entre otros).

Valores devueltos

El número de filas afectadas por la consulta. Si no hay filas afectadas devolverá 0 (cero).

Ejemplos

Ejemplo #1 Ejemplo de pg_affected_rows()

<?php
$result = pg_query($conn, "INSERT INTO authors VALUES ('Orwell', 2002, 'Animal Farm')");

$cmdtuples = pg_affected_rows($result);

echo "filas que han sido afectadas: " . $cmdtuples ;
?>

El resultado del ejemplo sería:

filas que han sido afectadas: 1.

Ver también

  • pg_query() - Execute a query
  • pg_query_params() - Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text.
  • pg_execute() - Envía una solicitud para ejecutar una setencia preparada con parámetros dados, y espera el resultado
  • pg_num_rows() - Returns the number of rows in a result

Funciones de PostgreSQL
pg_cancel_query
Funciones de PostgreSQL


Cancelar una consulta asíncrona

pg_affected_rows
pg_client_encoding
Funciones de PostgreSQL
PHP Manual

pg_cancel_query

(PHP 4 >= 4.2.0, PHP 5)

pg_cancel_query — Cancelar una consulta asíncrona

Descripción

bool pg_cancel_query ( resource $connection )

pg_cancel_query() cancela una consulta asíncrona enviada con pg_send_query(), pg_send_query_params() o pg_send_execute(). No se puede cancelar una consulta ejecutada con pg_query().

Parámetros

connection

Recurso de conexión de base de datos PostgreSQL.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de pg_cancel_query()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("No se ha podido conectar");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from authors; select count(*) from authors;");
  }

  $res1 = pg_get_result($dbconn);
  echo "Primera llamada a pg_get_result(): $res1\n";
  $rows1 = pg_num_rows($res1);
  echo "$res1 tiene $rows1 registros\n\n";

  // Cancelar la consulta que esta ejecutandose actualmente. Será la segunda consulta,
  // si aun se esta ejecutando.

  pg_cancel_query($dbconn);
?>

El resultado del ejemplo sería:

Primera llamada a pg_get_result(): id del Recurso #3
id del Recurso #3 tiene 3 registros

Ver también

  • pg_send_query() - Sends asynchronous query
  • pg_connection_busy() - Permite saber si la conexión esta ocupada o no

pg_affected_rows
pg_client_encoding
Funciones de PostgreSQL


Obtiene la codificación del cliente

pg_cancel_query
pg_close
Funciones de PostgreSQL
PHP Manual

pg_client_encoding

(PHP 4 >= 4.0.3, PHP 5)

pg_client_encoding — Obtiene la codificación del cliente

Descripción

string pg_client_encoding ([ resource $connection ] )

PostgreSQL soporta la conversión automática de caracteres entre servidor y el cliente para conjuntos de caracteres determinados. pg_client_encoding() Devuelve la codificación del cliente como una cadena. La cadena devuelta sera una de los estandar de codificación de los identificadores de PostgreSQL.

Nota:

Esta función requiere PHP 4.0.3 o superior y PostgreSQL 7.0 o superior. Si libpq se compila sin soporte de codificación multibyte, pg_client_encoding() siempre devuelve SQL_ASCII. La codificación que soporta depende de la versión de PostgreSQL. Consulte la documentación de PostgreSQL para ver las codificaciones soportadas.

La función antes se llamaba pg_clientencoding().

Parámetros

connection

Recurso de conexión de base de datos PostgreSQL. Cuando connection no esta presente, la conexión por defecto es usada. La conexión por defecto es la última conexión realizada por pg_connect() ó pg_pconnect().

Valores devueltos

La codificación del cliente, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de pg_client_encoding()

<?php
// Supongamos que $conn es una conexión a una base de datos ISO-8859-1
$encoding = pg_client_encoding($conn);

echo "La codificación del cliente es: ", $encoding, "\n";
?>

El resultado del ejemplo sería:

La codificación del cliente es: ISO-8859-1

Ver también

  • pg_set_client_encoding() - Set the client encoding

pg_cancel_query
pg_close
Funciones de PostgreSQL


Cierra una conexión PostgreSQL

pg_client_encoding
pg_connect
Funciones de PostgreSQL
PHP Manual

pg_close

(PHP 4, PHP 5)

pg_close — Cierra una conexión PostgreSQL

Descripción

bool pg_close ([ resource $connection ] )

pg_close() Cierra una conexión no persistente a una base de datos PostgreSQL asociada con el recurso de la connection.

Nota:

Usar pg_close() generalmente no es necesario, cuando se abren conexiones no persitentes estas se cierran automaticamente al terminar el script.

Si hay objetos grandes abiertos en el recurso de la conexión, no cierre la conexión, antes cierre todos los objetos grandes en el recurso.

Parámetros

connection

Es el recurso de conexión de base de datos PostgreSQL. Cuando el parametro connection no está presente, se usa la conexión por defecto. La conexión por defecto es la última conexión hecha por pg_connect() o pg_pconnect().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de pg_close()

<?php
$dbconn = pg_connect("host=localhost port=5432 dbname=mary")
   or die("No se pudo conectar");
echo "Conectado con éxito";
pg_close($dbconn);
?>

El resultado del ejemplo sería:

Conectado con exito

Ver también

  • pg_connect() - Abrir una conexión a PostgreSQL

pg_client_encoding
pg_connect
Funciones de PostgreSQL


Abrir una conexión a PostgreSQL

pg_close
pg_connection_busy
Funciones de PostgreSQL
PHP Manual

pg_connect

(PHP 4, PHP 5)

pg_connect — Abrir una conexión a PostgreSQL

Descripción

resource pg_connect ( string $connection_string [, int $connect_type ] )

pg_connect()abre una conexión con una base de datos PostgreSQL especificada por el connection_string.

Si una segunda llamada se hace a pg_connect() con la misma connection_string existiendo la conexión, la conexión existente será devuelta a menos que pase la constante PGSQL_CONNECT_FORCE_NEW como parámetroconnect_type .

La sintaxis antigua con múltiples parámetros $conn = pg_connect("host", "port", "options", "tty", "dbname") ha quedado obsoleta.

Parámetros

connection_string

El connection_string puede estar vacío para usar todos los parámetros por defecto o este puede contener uno o más parámetros separados por espacios en blanco. Cada parámetro debe asignarse de esta forma keyword = value. Los espacios alrededor del signo igual son opcionales. Para escribir un valor vacío o un valor conteniendo espacios utilice las comillas simples, por ejemplo. keyword = 'a value'. Las comillas simples y barras invertidas en el valor se pueden agregar con una barra invertida es decir \' y \\.

Las palabras clave de parámetros que están reconocidos son: host, hostaddr, port, dbname (por defecto el valor de user), user, password, connect_timeout, options, tty (ignorado), sslmode, requiressl (en desuso en favor de sslmode), y service. Cuál de estos argumentos existen depende de su versión de PostgreSQL.

El parámetro options se puede utilizar para establecer los parámetros de la línea de comandos para ser invocado por el servidor.

connect_type

Si PGSQL_CONNECT_FORCE_NEW es pasado, entonces una nueva conexión se crea, incluso si el parámetroconnection_string es idéntico a la conexión existente.

Valores devueltos

El recurso de conexión PostgreSQL en caso de éxito, FALSE en caso de fallo.

Ejemplos

Ejemplo #1 Usando pg_connect()

<?php
$dbconn = pg_connect("dbname=mary");
//conectarse a una base de datos llamada "mary"

$dbconn2 = pg_connect("host=localhost port=5432 dbname=mary");
// conectarse a una base de datos llamada "mary" en "localhost" por el puerto "5432"

$dbconn3 = pg_connect("host=sheep port=5432 dbname=mary user=lamb password=foo");
//conectarse a una base de datos llamada "mary" en el host "sheep" con el nombre de usuario y password

$conn_string = "host=sheep port=5432 dbname=test user=lamb password=bar";
$dbconn4 = pg_connect($conn_string);
//conectarse a una base de datos llamada "test" en el host "sheep" con el nombre de usuario y password

$dbconn5 = pg_connect("host=localhost options='--client_encoding=UTF8'");
//conectarse a una base de datos en "localhost" y establece el parámetro de línea de comandos que indica la codificación en UTF8
?>

Ver también

  • pg_pconnect() - Open a persistent PostgreSQL connection
  • pg_close() - Cierra una conexión PostgreSQL
  • pg_host() - Returns the host name associated with the connection
  • pg_port() - Devuelve el número de puerto asociado con la conexión
  • pg_tty() - Return the TTY name associated with the connection
  • pg_options() - Get the options associated with the connection
  • pg_dbname() - Obtiene el nombre de la base de datos

pg_close
pg_connection_busy
Funciones de PostgreSQL


Permite saber si la conexión esta ocupada o no

pg_connect
pg_connection_reset
Funciones de PostgreSQL
PHP Manual

pg_connection_busy

(PHP 4 >= 4.2.0, PHP 5)

pg_connection_busy — Permite saber si la conexión esta ocupada o no

Descripción

bool pg_connection_busy ( resource $connection )

pg_connection_busy() determina si una conexión está ocupada. Si está ocupada, una consulta anterior todavía se está ejecutando. Si pg_get_result() es usada en la conexión, esta sera bloqueada.

Parámetros

connection

Recurso de conexión de base de datos PostgreSQL.

Valores devueltos

Devuelve TRUE si la conexión está ocupada, de lo contrario FALSE.

Ejemplos

Ejemplo #1 Ejemplo de pg_connection_busy()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("No se ha podido conectar");
  $bs = pg_connection_busy($dbconn);
  if ($bs) {
      echo 'la conexión está ocupada';
  } else {
     echo 'la conexión no está ocupada';
  }
?>

Ver también

  • pg_connection_status() - Obtener estado de la conexión
  • pg_get_result() - Get asynchronous query result

pg_connect
pg_connection_reset
Funciones de PostgreSQL


Restablece conexión (reconectar)

pg_connection_busy
pg_connection_status
Funciones de PostgreSQL
PHP Manual

pg_connection_reset

(PHP 4 >= 4.2.0, PHP 5)

pg_connection_reset — Restablece conexión (reconectar)

Descripción

bool pg_connection_reset ( resource $connection )

pg_connection_reset() restablece la conexión. Es útil para la recuperación de errores.

Parámetros

connection

Recurso de conexión de Base de Datos PostgreSQL.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de pg_connection_reset()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("No se ha podido conectar");
  $dbconn2 = pg_connection_reset($dbconn);
  if ($dbconn2) {
      echo "restablecimiento con exito\n";
  } else {
      echo "restablecimiento fallo\n";
  }
?>

Ver también

  • pg_connect() - Abrir una conexión a PostgreSQL
  • pg_pconnect() - Open a persistent PostgreSQL connection
  • pg_connection_status() - Obtener estado de la conexión

pg_connection_busy
pg_connection_status
Funciones de PostgreSQL


Obtener estado de la conexión

pg_connection_reset
pg_convert
Funciones de PostgreSQL
PHP Manual

pg_connection_status

(PHP 4 >= 4.2.0, PHP 5)

pg_connection_status — Obtener estado de la conexión

Descripción

int pg_connection_status ( resource $connection )

pg_connection_status() devuelve el estado específico de la connection.

Parámetros

connection

Recurso de conexión de base de datos PostgreSQL.

Valores devueltos

PGSQL_CONNECTION_OK o PGSQL_CONNECTION_BAD.

Ejemplos

Ejemplo #1 Ejemplo de pg_connection_status()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("No se ha podido conectar");
  $stat = pg_connection_status($dbconn);
  if ($stat === PGSQL_CONNECTION_OK) {
      echo 'Estado de la conexión ok';
  } else {
      echo 'No se ha podido conectar';
  }
?>

Ver también

  • pg_connection_busy() - Permite saber si la conexión esta ocupada o no

pg_connection_reset
pg_convert
Funciones de PostgreSQL


convierte los valores de un array asociativo en valores adecuandolos para su uso en una sentencia SQL

pg_connection_status
pg_copy_from
Funciones de PostgreSQL
PHP Manual

pg_convert

(PHP 4 >= 4.3.0, PHP 5)

pg_convert — convierte los valores de un array asociativo en valores adecuandolos para su uso en una sentencia SQL

Descripción

array pg_convert ( resource $connection , string $table_name , array $assoc_array [, int $options = 0 ] )

pg_convert() evalua y convierte los valores de un assoc_array en valores adecuados para su uso en una sentencia SQL. La condición previa para la función pg_convert() es la existencia de una tabla con nombre igual al parametro table_name que tiene por lo menos tantas columnas como elementos tiene el assoc_array. Los nombres de campos en table_name deben coincidir con los índices de assoc_array y los tipos de datos correspondientes deben ser compatibles. Devuelve un array con los valores convertidos en caso de éxito, FALSE de lo contrario.

Nota:

Si hay campos booleanos en table_name no use la constante TRUE en el assoc_array. Se convertirá en la cadena 'TRUE' cada vez que haya una entrada válida para campos booleanos en PostgreSQL. Utilice t, true, 1 o yes en su lugar para referirse a TRUE.

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

connection

Recurso de conexión de base de datos PostgreSQL.

table_name

Nombre de la tabla contra la que convertir los tipos.

assoc_array

Los datos que desea convertir.

options

Cualquier número de PGSQL_CONV_IGNORE_DEFAULT, PGSQL_CONV_FORCE_NULL ó PGSQL_CONV_IGNORE_NOT_NULL, ó una combinación de estos.

Valores devueltos

Un array de valores convertidos, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de pg_convert()

<?php
  $dbconn = pg_connect('dbname=foo');

  $tmp = array(
      'author' => 'Joe Thackery',
      'year' => 2005,
      'title' => 'My Life, by Joe Thackery'
  );

  $vals = pg_convert($dbconn, 'authors', $tmp);
?>

Ver también

  • pg_meta_data() - Get meta data for table

pg_connection_status
pg_copy_from
Funciones de PostgreSQL


Insertar registros dentro de una tabla desde un array

pg_convert
pg_copy_to
Funciones de PostgreSQL
PHP Manual

pg_copy_from

(PHP 4 >= 4.2.0, PHP 5)

pg_copy_from — Insertar registros dentro de una tabla desde un array

Descripción

bool pg_copy_from ( resource $connection , string $table_name , array $rows [, string $delimiter [, string $null_as ]] )

La función pg_copy_from() inserta registros dentro de una tabla desde el parámetro rows. Esta realiza internamente un comando SQL COPY FROM para insertar registros.

Parámetros

connection

Recurso de conexión a la base de datos PostgreSQL.

table_name

Nombre de la tabla en la cual se copiará lo que provenga de rows.

rows

Un array de datos a ser copiados dentro de table_name. Cada valor en el parámetro rows se convierte en una fila en table_name. Cada valor en el parámetro rows debe ser una cadena delimitada de los valores a insertar en cada campo. Los valores deben ser terminados con un salto de línea.

delimiter

Símbolo que serpara valores por cada campo en cada elemento del parámetro rows. El predeterminado es TAB.

null_as

Es como SQL NULL (anula) los valores que son representados en el parámetro rows. El predeterminado es \N ("\\N").

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de la función pg_copy_from()

<?php
   $db = pg_connect("dbname=publisher") or die("No se pudo conectar");

   $rows = pg_copy_to($db, $table_name);

   pg_query($db, "DELETE FROM $table_name");

   pg_copy_from($db, $table_name, $rows);
?>

Ver también

  • pg_copy_to() - Copiar una tabla a un array

pg_convert
pg_copy_to
Funciones de PostgreSQL


Copiar una tabla a un array

pg_copy_from
pg_dbname
Funciones de PostgreSQL
PHP Manual

pg_copy_to

(PHP 4 >= 4.2.0, PHP 5)

pg_copy_to — Copiar una tabla a un array

Descripción

array pg_copy_to ( resource $connection , string $table_name [, string $delimiter [, string $null_as ]] )

pg_copy_to() Copia una tabla a un array. COPY TO hace comandos SQL internamente para recurperar los registros.

Parámetros

connection

Recurso de conexión de base de datos PostgreSQL.

table_name

Nombre de la tabla de la que se copia los datos en rows.

delimiter

El símbolo que separa los valores para cada campo en cada elemento de las rows. Por defecto es un TAB.

null_as

Como se representan los valores NULL en las rows. Por defecto es \N ("\\N").

Valores devueltos

Un array con un elemento por cada linea de datos COPY. Este devuelve FALSE en caso de fallo.

Ejemplos

Ejemplo #1 Ejemplo de pg_copy_to()

<?php
   $db = pg_connect("dbname=publisher") or die("No se ha podido conectar");

   $rows = pg_copy_to($db, $table_name);

   pg_query($db, "DELETE FROM $table_name");

   pg_copy_from($db, $table_name, $rows);
?>

Ver también

  • pg_copy_from() - Insertar registros dentro de una tabla desde un array

pg_copy_from
pg_dbname
Funciones de PostgreSQL


Obtiene el nombre de la base de datos

pg_copy_to
pg_delete
Funciones de PostgreSQL
PHP Manual

pg_dbname

(PHP 4, PHP 5)

pg_dbname — Obtiene el nombre de la base de datos

Descripción

string pg_dbname ([ resource $connection ] )

pg_dbname() devuelve el nombre de la base de datos que ha dado el recurso de la connection PostgreSQL.

Parámetros

connection

Recurso de conexión de base de datos PostgreSQL. Cuando la connection no esta presente, se usa la conexión por defecto. La conexión por defecto es la última conexión hecha por pg_connect() o pg_pconnect().

Valores devueltos

Un string que contiene el nombre de la base de datos de la connection, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de pg_dbname()

<?php
  error_reporting(E_ALL);

  pg_connect("host=localhost port=5432 dbname=mary");
  echo pg_dbname(); // mary
?>

pg_copy_to
pg_delete
Funciones de PostgreSQL


Borra registros

pg_dbname
pg_end_copy
Funciones de PostgreSQL
PHP Manual

pg_delete

(PHP 4 >= 4.3.0, PHP 5)

pg_delete — Borra registros

Descripción

mixed pg_delete ( resource $connection , string $table_name , array $assoc_array [, int $options = PGSQL_DML_EXEC ] )

pg_delete() Borra los registros de una tabla especificada por las claves y los valores en assoc_array. Si options se especifica, se aplica pg_convert() a assoc_array con las opciones especificadas.

Parámetros

connection

Recurso de conección a la base de datos PostgreSQL.

table_name

Nombre de la tabla de la cual se va a borrar las filas.

assoc_array

Un tipo array en los cuales están los nombres de los campos en la tabla table_name, y cuyos valores son los valores de esos campos que están por ser borrados.

options

Cualquier número de PGSQL_CONV_FORCE_NULL, PGSQL_DML_NO_CONV, PGSQL_DML_EXEC o PGSQL_DML_STRING combinados. Si PGSQL_DML_STRING es parte de options entonces será devuelta la cadena de la consulta.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Devuelve string si PGSQL_DML_STRING es pasada por medio de options.

Ejemplos

Ejemplo #1 Ejemplo de la función pg_delete()

<?php
  $db = pg_connect('dbname=foo');
  // Esta forma es segura, ya que $_POST se convierte automaticamente
  $res = pg_delete($db, 'post_log', $_POST);
  if ($res) {
      echo "El dato POST será borrado: $res\n";
  } else {
      echo "El usuario debe haber enviado entradas incorrectas\n";
  }
?>

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Historial de cambios

Versión | Descripción
5.5.3/5.4.19 | Se arregó la inyección SQL directa a table_name y la inyección SQL inderecta a los identificadores.

Ver también

  • pg_convert() - convierte los valores de un array asociativo en valores adecuandolos para su uso en una sentencia SQL

pg_dbname
pg_end_copy
Funciones de PostgreSQL


Sincronizar con PostgreSQL

pg_delete
pg_escape_bytea
Funciones de PostgreSQL
PHP Manual

pg_end_copy

(PHP 4 >= 4.0.3, PHP 5)

pg_end_copy — Sincronizar con PostgreSQL

Descripción

bool pg_end_copy ([ resource $connection ] )

pg_end_copy() sincroniza la parte visual de PostgreSQL (usualmente un proceso web) con el servidor PostgreSQL después de hacer una operación de copia realizado por la función pg_put_line(). pg_end_copy() debe ser invocado, de otra manera el servidor PostgreSQL podría perder sincronización con la parte visual y esto hará que reporte un error.

Parámetros

connection

Recurso de conexión a la base de datos PostgreSQL. Cuando el parámetro connection no está presente, se utiliza la conexión predeterminada. La conexión predeterminada es la última conexión hecha por pg_connect() o pg_pconnect().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 pg_end_copy() example

<?php
  $conn = pg_pconnect("dbname=foo");
  pg_query($conn, "crea la tabla bar (a int4, b char(16), d float8)");
  pg_query($conn, "copiar bar desde stdin");
  pg_put_line($conn, "3\thola mundo\t4.5\n");
  pg_put_line($conn, "4\tadios mundo\t7.11\n");
  pg_put_line($conn, "\\.\n");
  pg_end_copy($conn);
?>

Ver también

  • pg_put_line() - Send a NULL-terminated string to PostgreSQL backend

pg_delete
pg_escape_bytea
Funciones de PostgreSQL


Escapar un string para insertarlo en un campo bytea

pg_end_copy
pg_escape_identifier
Funciones de PostgreSQL
PHP Manual

pg_escape_bytea

(PHP 4 >= 4.2.0, PHP 5)

pg_escape_bytea — Escapar un string para insertarlo en un campo bytea

Descripción

string pg_escape_bytea ([ resource $connection ], string $data )

pg_escape_bytea() escapa un string para un tipo de dato bytea. Devuelve un string pasado por un proceso de escape.

Nota:

Cuando haces una consulta SELECT a un tipo bytea, PostgreSQL devuelve valores de byte octal con el prefijo '\' (ej. \032). Los usuarios están supuestos a convertirlo de regreso al formato binario manualmente.

Esta función requiere PostgreSQL versión 7.2 o posterior. Con la versión 7.2.0 y 7.2.1 de PostgreSQL, los valores bytea deben ser pasados por un casteo cuando se habilita soporte multi-byte. Ej. INSERT INTO test_table (image) VALUES ('$image_escaped'::bytea); PostgreSQL 7.2.2 o una versión posterior no necesita un casteo. La excepción es cuando la codificación de caracteres del cliente y del servidor no coinciden, y podría haber un flujo de error multi-byte. Entonces el usuario debe castear a bytea para evitar este error.

Parámetros

connection

Recurso de conexión a la base de datos PostgreSQL. Cuando el parámetro connection no está presente, se utiliza la conexión predeterminada. La conexión predeterminada es la última conexión hecha por pg_connect() o pg_pconnect().

data

Un tipo de dato string que contiene datos de texto o binarios para ser insertados dentro de una columna bytea.

Valores devueltos

Un tipo de dato string que contiene los datos que han sido escapados.

Historial de cambios

Versión | Descripción
5.2.0 | Se agregó el parámetro connection

Ejemplos

Ejemplo #1 Ejemplo de pg_escape_bytea()

<?php
  // Connectar a la base de datos
  $dbconn = pg_connect('dbname=foo');

  // Leer en un fichero binario
  $data = file_get_contents('image1.jpg');

  // Escapar el dato binario
  $escaped = pg_escape_bytea($data);

  // Insertarlo en la base de datos
  pg_query("INSERT INTO gallery (name, data) VALUES ('Pine trees', '{$escaped}')");
?>

Ver también

  • pg_unescape_bytea() - Unescape binary for bytea type
  • pg_escape_string() - Escape a string for query

pg_end_copy
pg_escape_identifier
Funciones de PostgreSQL


Escape a identifier for insertion into a text field

pg_escape_bytea
pg_escape_literal
Funciones de PostgreSQL
PHP Manual

pg_escape_identifier

(PHP 5 >= 5.4.4)

pg_escape_identifier — Escape a identifier for insertion into a text field

Descripción

string pg_escape_identifier ([ resource $connection ], string $data )

pg_escape_identifier() escapes a identifier (e.g. table, field names) for quering the database. It returns an escaped identifier string for PostgreSQL server. pg_escape_identifier() adds double quotes before and after data. Users should not add double quotes. Use of this function is recommended for identifier parameters in query. For SQL literals (i.e. parameters except bytea), pg_escape_literal() or pg_escape_string() muse be used. For bytea type fields, pg_escape_bytea() must be used instead.

Nota:

This function has internal escape code and can also be used with PostgreSQL 8.4 or less.

Parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

data

A string containing text to be escaped.

Valores devueltos

A string containing the escaped data.

Ejemplos

Ejemplo #1 pg_escape_identifier() example

<?php
  // Connect to the database
  $dbconn = pg_connect('dbname=foo');

  // Escape the table name data
  $escaped = pg_escape_identifier($table_name);

  // Select rows from $table_name
  pg_query("SELECT * FROM {$escaped};");
?>

Ver también

  • pg_escape_literal() - Escape a literal for insertion into a text field
  • pg_escape_bytea() - Escapar un string para insertarlo en un campo bytea
  • pg_escape_string() - Escape a string for query

pg_escape_bytea
pg_escape_literal
Funciones de PostgreSQL


Escape a literal for insertion into a text field

pg_escape_identifier
pg_escape_string
Funciones de PostgreSQL
PHP Manual

pg_escape_literal

(PHP 5 >= 5.4.4)

pg_escape_literal — Escape a literal for insertion into a text field

Descripción

string pg_escape_literal ([ resource $connection ], string $data )

pg_escape_literal() escapes a literal for querying the PostgreSQL database. It returns an escaped literal in the PostgreSQL format. pg_escape_literal() adds quotes before and after data. Users should not add quotes. Use of this function is recommended instead of pg_escape_string(). If the type of the column is bytea, pg_escape_bytea() must be used instead. For escaping identifiers (e.g. table, field names), pg_escape_identifier() must be used.

Nota:

This function has internal escape code and can also be used with PostgreSQL 8.4 or less.

Parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

data

A string containing text to be escaped.

Valores devueltos

A string containing the escaped data.

Ejemplos

Ejemplo #1 pg_escape_literal() example

<?php
  // Connect to the database
  $dbconn = pg_connect('dbname=foo');

  // Read in a text file (containing apostrophes and backslashes)
  $data = file_get_contents('letter.txt');

  // Escape the text data
  $escaped = pg_escape_literal($data);

  // Insert it into the database. Note that no quotes around {$escaped}
  pg_query("INSERT INTO correspondence (name, data) VALUES ('My letter', {$escaped})");
?>

Ver también

  • pg_escape_identifier() - Escape a identifier for insertion into a text field
  • pg_escape_bytea() - Escapar un string para insertarlo en un campo bytea
  • pg_escape_string() - Escape a string for query

pg_escape_identifier
pg_escape_string
Funciones de PostgreSQL


Escape a string for query

pg_escape_literal
pg_execute
Funciones de PostgreSQL
PHP Manual

pg_escape_string

(PHP 4 >= 4.2.0, PHP 5)

pg_escape_string — Escape a string for query

Descripción

string pg_escape_string ([ resource $connection ], string $data )

pg_escape_string() escapes a string for querying the database. It returns an escaped string in the PostgreSQL format without quotes. pg_escape_literal() is more preferred way to escape SQL parameters for PostgreSQL. addslashes() must not be used with PostgreSQL. If the type of the column is bytea, pg_escape_bytea() must be used instead. pg_escape_identifier() must be used to escape identifiers (e.g. table names, field names)

Nota:

This function requires PostgreSQL 7.2 or later.

Parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

data

A string containing text to be escaped.

Valores devueltos

A string containing the escaped data.

Historial de cambios

Versión | Descripción
5.2.0 | connection added

Ejemplos

Ejemplo #1 pg_escape_string() example

<?php
  // Connect to the database
  $dbconn = pg_connect('dbname=foo');

  // Read in a text file (containing apostrophes and backslashes)
  $data = file_get_contents('letter.txt');

  // Escape the text data
  $escaped = pg_escape_string($data);

  // Insert it into the database
  pg_query("INSERT INTO correspondence (name, data) VALUES ('My letter', '{$escaped}')");
?>

Ver también

  • pg_escape_bytea() - Escapar un string para insertarlo en un campo bytea

pg_escape_literal
pg_execute
Funciones de PostgreSQL


Envía una solicitud para ejecutar una setencia preparada con parámetros dados, y espera el resultado

pg_escape_string
pg_fetch_all_columns
Funciones de PostgreSQL
PHP Manual

pg_execute

(PHP 5 >= 5.1.0)

pg_execute — Envía una solicitud para ejecutar una setencia preparada con parámetros dados, y espera el resultado

Descripción

resource pg_execute ([ resource $connection ], string $stmtname , array $params )

Envía una solicitud para ejecutar una sentencia preparada con parámetros dados, y espera el resultado.

pg_execute() es como pg_query_params(), pero el comando a ejecutar se especifica nombrando una sentencia preparada previamente, en lugar de dar una cadena de consulta. Esta característica permite que los comandos que se utilizan varias veces puedan ser analizados y planificados una sola vez, en lugar de cada vez que se ejecutan. La sentencia debe haber sido preparada previamente en la sesión actual. pg_execute() sólo se admite en PostgreSQL 7.4 o versiones superiores, se producirá un error al usar las versiones anteriores.

Los parámetros son idénticos a pg_query_params(), salvo que el nombre de una sentencia preparada se da en lugar de una cadena de consulta.

Parámetros

connection

Recurso de conexión de Base de datos PostgreSQL. Cuando la connection no está presente, la conexión por defecto se utiliza. La conexión por defecto es la última conexión realizada por pg_connect() o pg_pconnect().

stmtname

El nombre de la sentencia preparada para ejecutar. Si "" se especifica, la instrucción se ejecuta sin nombre. El nombre debe haber sido previamente preparado con pg_prepare(), pg_send_prepare() o un comando SQL PREPARE.

params

Una serie de valores de los parámetros para sustituir a los $1, $2, etc. Marcadores de posición en la cadena de consulta preparada original. El número de elementos del array debe coincidir con el número de marcadores de posición.

Advertencia

Los elementos se convierten en cadenas llamando a esta función.

Valores devueltos

Un recurso en el éxito del resultado de la consulta o FALSE en caso de error.

Ejemplos

Ejemplo #1 Usando pg_execute()

<?php
// Conectar a base de datos llamada "mary"
$dbconn = pg_connect("dbname=mary");

// Preparar consulta para ejecución
$result = pg_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');

// Ejecutar consulta preparada. Tenga en cuenta que no es necesario escapar
// la cadena "Joe's Widgets" de ninguna manera
$result = pg_execute($dbconn, "my_query", array("Joe's Widgets"));

// Ejecutar la misma consulta preparada, esta vez con un parámetro diferente
$result = pg_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));

?>

Ver también

  • pg_prepare() - Submits a request to create a prepared statement with the given parameters, and waits for completion.
  • pg_send_prepare() - Sends a request to create a prepared statement with the given parameters, without waiting for completion.
  • pg_query_params() - Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text.

pg_escape_string
pg_fetch_all_columns
Funciones de PostgreSQL


Fetches all rows in a particular result column as an array

pg_execute
pg_fetch_all
Funciones de PostgreSQL
PHP Manual

pg_fetch_all_columns

(PHP 5 >= 5.1.0)

pg_fetch_all_columns — Fetches all rows in a particular result column as an array

Descripción

array pg_fetch_all_columns ( resource $result [, int $column = 0 ] )

pg_fetch_all_columns() returns an array that contains all rows (records) in a particular column of the result resource.

Nota: Esta función define campos NULOS al valor NULL de PHP.

Parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

column

Column number, zero-based, to be retrieved from the result resource. Defaults to the first column if not specified.

Valores devueltos

An array with all values in the result column.

FALSE is returned if column is larger than the number of columns in the result, or on any other error.

Ejemplos

Ejemplo #1 pg_fetch_all_columns() example

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occurred.\n";
  exit;
}

$result = pg_query($conn, "SELECT title, name, address FROM authors");
if (!$result) {
  echo "An error occurred.\n";
  exit;
}

// Get an array of all author names
$arr = pg_fetch_all_columns($result, 1);

var_dump($arr);

?>

Ver también

  • pg_fetch_all() - Fetches all rows from a result as an array

pg_execute
pg_fetch_all
Funciones de PostgreSQL


Fetches all rows from a result as an array

pg_fetch_all_columns
pg_fetch_array
Funciones de PostgreSQL
PHP Manual

pg_fetch_all

(PHP 4 >= 4.3.0, PHP 5)

pg_fetch_all — Fetches all rows from a result as an array

Descripción

array pg_fetch_all ( resource $result )

pg_fetch_all() returns an array that contains all rows (records) in the result resource.

Nota: Esta función define campos NULOS al valor NULL de PHP.

Parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

Valores devueltos

An array with all rows in the result. Each row is an array of field values indexed by field name.

FALSE is returned if there are no rows in the result, or on any other error.

Ejemplos

Ejemplo #1 PostgreSQL fetch all

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
    echo "An error occurred.\n";
    exit;
}

$result = pg_query($conn, "SELECT * FROM authors");
if (!$result) {
    echo "An error occurred.\n";
    exit;
}

$arr = pg_fetch_all($result);

print_r($arr);

?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => Fred
        )

    [1] => Array
        (
            [id] => 2
            [name] => Bob
        )

)

Ver también

  • pg_fetch_row() - Get a row as an enumerated array
  • pg_fetch_array() - Fetch a row as an array
  • pg_fetch_object() - Fetch a row as an object
  • pg_fetch_result() - Returns values from a result resource

pg_fetch_all_columns
pg_fetch_array
Funciones de PostgreSQL


Fetch a row as an array

pg_fetch_all
pg_fetch_assoc
Funciones de PostgreSQL
PHP Manual

pg_fetch_array

(PHP 4, PHP 5)

pg_fetch_array — Fetch a row as an array

Descripción

array pg_fetch_array ( resource $result [, int $row [, int $result_type = PGSQL_BOTH ]] )

pg_fetch_array() returns an array that corresponds to the fetched row (record).

pg_fetch_array() is an extended version of pg_fetch_row(). In addition to storing the data in the numeric indices (field number) to the result array, it can also store the data using associative indices (field name). It stores both indicies by default.

Nota: Esta función define campos NULOS al valor NULL de PHP.

pg_fetch_array() is NOT significantly slower than using pg_fetch_row(), and is significantly easier to use.

Parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

row

Row number in result to fetch. Rows are numbered from 0 upwards. If omitted or NULL, the next row is fetched.

result_type

An optional parameter that controls how the returned array is indexed. result_type is a constant and can take the following values: PGSQL_ASSOC, PGSQL_NUM and PGSQL_BOTH. Using PGSQL_NUM, pg_fetch_array() will return an array with numerical indices, using PGSQL_ASSOC it will return only associative indices while PGSQL_BOTH, the default, will return both numerical and associative indices.

Valores devueltos

An array indexed numerically (beginning with 0) or associatively (indexed by field name), or both. Each value in the array is represented as a string. Database NULL values are returned as NULL.

FALSE is returned if row exceeds the number of rows in the set, there are no more rows, or on any other error.

Historial de cambios

Versión | Descripción
4.1.0 | The row parameter became optional.

Ejemplos

Ejemplo #1 pg_fetch_array() example

<?php

$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occurred.\n";
  exit;
}

$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
  echo "An error occurred.\n";
  exit;
}

$arr = pg_fetch_array($result, 0, PGSQL_NUM);
echo $arr[0] . " <- Row 1 Author\n";
echo $arr[1] . " <- Row 1 E-mail\n";

// As of PHP 4.1.0, the row parameter is optional; NULL can be passed instead,
// to pass a result_type.  Successive calls to pg_fetch_array will return the
// next row.
$arr = pg_fetch_array($result, NULL, PGSQL_ASSOC);
echo $arr["author"] . " <- Row 2 Author\n";
echo $arr["email"] . " <- Row 2 E-mail\n";

$arr = pg_fetch_array($result);
echo $arr["author"] . " <- Row 3 Author\n";
echo $arr[1] . " <- Row 3 E-mail\n";

?>

Ver también

  • pg_fetch_row() - Get a row as an enumerated array
  • pg_fetch_object() - Fetch a row as an object
  • pg_fetch_result() - Returns values from a result resource

pg_fetch_all
pg_fetch_assoc
Funciones de PostgreSQL


Fetch a row as an associative array

pg_fetch_array
pg_fetch_object
Funciones de PostgreSQL
PHP Manual

pg_fetch_assoc

(PHP 4 >= 4.3.0, PHP 5)

pg_fetch_assoc — Fetch a row as an associative array

Descripción

array pg_fetch_assoc ( resource $result [, int $row ] )

pg_fetch_assoc() returns an associative array that corresponds to the fetched row (records).

pg_fetch_assoc() is equivalent to calling pg_fetch_array() with PGSQL_ASSOC as the optional third parameter. It only returns an associative array. If you need the numeric indices, use pg_fetch_row().

Nota: Esta función define campos NULOS al valor NULL de PHP.

pg_fetch_assoc() is NOT significantly slower than using pg_fetch_row(), and is significantly easier to use.

Parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

row

Row number in result to fetch. Rows are numbered from 0 upwards. If omitted or NULL, the next row is fetched.

Valores devueltos

An array indexed associatively (by field name). Each value in the array is represented as a string. Database NULL values are returned as NULL.

FALSE is returned if row exceeds the number of rows in the set, there are no more rows, or on any other error.

Historial de cambios

Versión | Descripción
4.1.0 | The parameter row became optional.

Ejemplos

Ejemplo #1 pg_fetch_assoc() example

<?php
$conn = pg_connect("dbname=publisher");
if (!$conn) {
  echo "An error occurred.\n";
  exit;
}

$result = pg_query($conn, "SELECT id, author, email FROM authors");
if (!$result) {
  echo "An error occurred.\n";
  exit;
}

while ($row = pg_fetch_assoc($result)) {
  echo $row['id'];
  echo $row['author'];
  echo $row['email'];
}
?>

Ver también

  • pg_fetch_row() - Get a row as an enumerated array
  • pg_fetch_array() - Fetch a row as an array
  • pg_fetch_object() - Fetch a row as an object
  • pg_fetch_result() - Returns values from a result resource

pg_fetch_array
pg_fetch_object
Funciones de PostgreSQL


Fetch a row as an object

pg_fetch_assoc
pg_fetch_result
Funciones de PostgreSQL
PHP Manual

pg_fetch_object

(PHP 4, PHP 5)

pg_fetch_object — Fetch a row as an object

Descripción

object pg_fetch_object ( resource $result [, int $row [, int $result_type = PGSQL_ASSOC ]] )
object pg_fetch_object ( resource $result [, int $row [, string $class_name [, array $params ]]] )

pg_fetch_object() returns an object with properties that correspond to the fetched row's field names. It can optionally instantiate an object of a specific class, and pass parameters to that class's constructor.

Nota: Esta función define campos NULOS al valor NULL de PHP.

Speed-wise, the function is identical to pg_fetch_array(), and almost as fast as pg_fetch_row() (the difference is insignificant).

Parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

row

Row number in result to fetch. Rows are numbered from 0 upwards. If omitted or NULL, the next row is fetched.

result_type

Ignored and deprecated.

class_name

The name of the class to instantiate, set the properties of and return. If not specified, a stdClass object is returned.

params

An optional array of parameters to pass to the constructor for class_name objects.

Valores devueltos

An object with one attribute for each field name in the result. Database NULL values are returned as NULL.

FALSE is returned if row exceeds the number of rows in the set, there are no more rows, or on any other error.

Historial de cambios

Versión | Descripción
5.0.0 | class_name and params were added. The old form with result_type still exists for backwards compatibility.
4.3.0 | result_type default changed from PGSQL_BOTH to PGSQL_ASSOC, since the numeric index was illegal.
4.1.0 | The parameter row became optional.

Ejemplos

Ejemplo #1 pg_fetch_object() example

<?php

$database = "store";

$db_conn = pg_connect("host=localhost port=5432 dbname=$database");
if (!$db_conn) {
  echo "Failed connecting to postgres database $database\n";
  exit;
}

$qu = pg_query($db_conn, "SELECT * FROM books ORDER BY author");

while ($data = pg_fetch_object($qu)) {
  echo $data->author . " (";
  echo $data->year . "): ";
  echo $data->title . "<br />";
}

pg_free_result($qu);
pg_close($db_conn);

?>

Ver también

  • pg_query() - Execute a query
  • pg_fetch_array() - Fetch a row as an array
  • pg_fetch_assoc() - Fetch a row as an associative array
  • pg_fetch_row() - Get a row as an enumerated array
  • pg_fetch_result() - Returns values from a result resource

pg_fetch_assoc
pg_fetch_result
Funciones de PostgreSQL


Returns values from a result resource

pg_fetch_object
pg_fetch_row
Funciones de PostgreSQL
PHP Manual

pg_fetch_result

(PHP 4 >= 4.2.0, PHP 5)

pg_fetch_result — Returns values from a result resource

Descripción

string pg_fetch_result ( resource $result , int $row , mixed $field )
string pg_fetch_result ( resource $result , mixed $field )

pg_fetch_result() returns the value of a particular row and field (column) in a PostgreSQL result resource.

Nota:

This function used to be called pg_result().

Parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

row

Row number in result to fetch. Rows are numbered from 0 upwards. If omitted, next row is fetched.

field

A string representing the name of the field (column) to fetch, otherwise an int representing the field number to fetch. Fields are numbered from 0 upwards.

Valores devueltos

Boolean is returned as "t" or "f". All other types, including arrays are returned as strings formatted in the same default PostgreSQL manner that you would see in the psql program. Database NULL values are returned as NULL.

FALSE is returned if row exceeds the number of rows in the set, or on any other error.

Ejemplos

Ejemplo #1 pg_fetch_result() example

<?php
$db = pg_connect("dbname=users user=me") || die();

$res = pg_query($db, "SELECT 1 UNION ALL SELECT 2");

$val = pg_fetch_result($res, 1, 0);

echo "First field in the second row is: ", $val, "\n";
?>

El resultado del ejemplo sería:

First field in the second row is: 2

Ver también

  • pg_query() - Execute a query
  • pg_fetch_array() - Fetch a row as an array

pg_fetch_object
pg_fetch_row
Funciones de PostgreSQL


Get a row as an enumerated array

pg_fetch_result
pg_field_is_null
Funciones de PostgreSQL
PHP Manual

pg_fetch_row

(PHP 4, PHP 5)

pg_fetch_row — Get a row as an enumerated array

Descripción

array pg_fetch_row ( resource $result [, int $row ] )

pg_fetch_row() fetches one row of data from the result associated with the specified result resource.

Nota: Esta función define campos NULOS al valor NULL de PHP.

Parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

row

Row number in result to fetch. Rows are numbered from 0 upwards. If omitted or NULL, the next row is fetched.

Valores devueltos

An array, indexed from 0 upwards, with each value represented as a string. Database NULL values are returned as NULL.

FALSE is returned if row exceeds the number of rows in the set, there are no more rows, or on any other error.

Historial de cambios

Versión | Descripción
4.1.0 | The parameter row became optional.

Ejemplos

Ejemplo #1 pg_fetch_row() example

<?php

$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occurred.\n";
  exit;
}

$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
  echo "An error occurred.\n";
  exit;
}

while ($row = pg_fetch_row($result)) {
  echo "Author: $row[0]  E-mail: $row[1]";
  echo "<br />\n";
}

?>

Ver también

  • pg_query() - Execute a query
  • pg_fetch_array() - Fetch a row as an array
  • pg_fetch_object() - Fetch a row as an object
  • pg_fetch_result() - Returns values from a result resource

pg_fetch_result
pg_field_is_null
Funciones de PostgreSQL


Test if a field is SQL NULL

pg_fetch_row
pg_field_name
Funciones de PostgreSQL
PHP Manual

pg_field_is_null

(PHP 4 >= 4.2.0, PHP 5)

pg_field_is_null — Test if a field is SQL NULL

Descripción

int pg_field_is_null ( resource $result , int $row , mixed $field )
int pg_field_is_null ( resource $result , mixed $field )

pg_field_is_null() tests if a field in a PostgreSQL result resource is SQL NULL or not.

Nota:

This function used to be called pg_fieldisnull().

Parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

row

Row number in result to fetch. Rows are numbered from 0 upwards. If omitted, current row is fetched.

field

Field number (starting from 0) as an integer or the field name as a string.

Valores devueltos

Returns 1 if the field in the given row is SQL NULL, 0 if not. FALSE is returned if the row is out of range, or upon any other error.

Ejemplos

Ejemplo #1 pg_field_is_null() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die ("Could not connect");
  $res = pg_query($dbconn, "select * from authors where author = 'Orwell'");
  if ($res) {
      if (pg_field_is_null($res, 0, "year") == 1) {
          echo "The value of the field year is null.\n";
      }
      if (pg_field_is_null($res, 0, "year") == 0) {
          echo "The value of the field year is not null.\n";
    }
 }
?>

pg_fetch_row
pg_field_name
Funciones de PostgreSQL


Returns the name of a field

pg_field_is_null
pg_field_num
Funciones de PostgreSQL
PHP Manual

pg_field_name

(PHP 4 >= 4.2.0, PHP 5)

pg_field_name — Returns the name of a field

Descripción

string pg_field_name ( resource $result , int $field_number )

pg_field_name() returns the name of the field occupying the given field_number in the given PostgreSQL result resource. Field numbering starts from 0.

Nota:

This function used to be called pg_fieldname().

Parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

field_number

Field number, starting from 0.

Valores devueltos

The field name, or FALSE on error.

Ejemplos

Ejemplo #1 Getting information about fields

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  $res = pg_query($dbconn, "select * from authors where author = 'Orwell'");
  $i = pg_num_fields($res);
  for ($j = 0; $j < $i; $j++) {
      echo "column $j\n";
      $fieldname = pg_field_name($res, $j);
      echo "fieldname: $fieldname\n";
      echo "printed length: " . pg_field_prtlen($res, $fieldname) . " characters\n";
      echo "storage length: " . pg_field_size($res, $j) . " bytes\n";
      echo "field type: " . pg_field_type($res, $j) . " \n\n";
  }
?>

El resultado del ejemplo sería:

column 0
fieldname: author
printed length: 6 characters
storage length: -1 bytes
field type: varchar

column 1
fieldname: year
printed length: 4 characters
storage length: 2 bytes
field type: int2

column 2
fieldname: title
printed length: 24 characters
storage length: -1 bytes
field type: varchar

Ver también

  • pg_field_num() - Returns the field number of the named field

pg_field_is_null
pg_field_num
Funciones de PostgreSQL


Returns the field number of the named field

pg_field_name
pg_field_prtlen
Funciones de PostgreSQL
PHP Manual

pg_field_num

(PHP 4 >= 4.2.0, PHP 5)

pg_field_num — Returns the field number of the named field

Descripción

int pg_field_num ( resource $result , string $field_name )

pg_field_num() will return the number of the field number that corresponds to the field_name in the given PostgreSQL result resource.

Nota:

This function used to be called pg_fieldnum().

Parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

field_name

The name of the field.

Valores devueltos

The field number (numbered from 0), or -1 on error.

Ejemplos

Ejemplo #1 Getting information about fields

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  $res = pg_query($dbconn, "select author, year, title from authors where author = 'Orwell'");

  echo "Column 'title' is field number: ", pg_field_num($res, 'title');
?>

El resultado del ejemplo sería:

Column 'title' is field number: 2

Ver también

  • pg_field_name() - Returns the name of a field

pg_field_name
pg_field_prtlen
Funciones de PostgreSQL


Returns the printed length

pg_field_num
pg_field_size
Funciones de PostgreSQL
PHP Manual

pg_field_prtlen

(PHP 4 >= 4.2.0, PHP 5)

pg_field_prtlen — Returns the printed length

Descripción

int pg_field_prtlen ( resource $result , int $row_number , mixed $field_name_or_number )
int pg_field_prtlen ( resource $result , mixed $field_name_or_number )

pg_field_prtlen() returns the actual printed length (number of characters) of a specific value in a PostgreSQL result. Row numbering starts at 0. This function will return FALSE on an error.

field_name_or_number can be passed either as an integer or as a string. If it is passed as an integer, PHP recognises it as the field number, otherwise as field name.

See the example given at the pg_field_name() page.

Nota:

This function used to be called pg_fieldprtlen().

Parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

row

Row number in result. Rows are numbered from 0 upwards. If omitted, current row is fetched.

Valores devueltos

The field printed length, or FALSE on error.

Ejemplos

Ejemplo #1 Getting information about fields

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  $res = pg_query($dbconn, "select * from authors where author = 'Orwell'");
  $i = pg_num_fields($res);
  for ($j = 0; $j < $i; $j++) {
      echo "column $j\n";
      $fieldname = pg_field_name($res, $j);
      echo "fieldname: $fieldname\n";
      echo "printed length: " . pg_field_prtlen($res, $fieldname) . " characters\n";
      echo "storage length: " . pg_field_size($res, $j) . " bytes\n";
      echo "field type: " . pg_field_type($res, $j) . " \n\n";
  }
?>

El resultado del ejemplo sería:

column 0
fieldname: author
printed length: 6 characters
storage length: -1 bytes
field type: varchar

column 1
fieldname: year
printed length: 4 characters
storage length: 2 bytes
field type: int2

column 2
fieldname: title
printed length: 24 characters
storage length: -1 bytes
field type: varchar

Ver también

  • pg_field_size() - Returns the internal storage size of the named field

pg_field_num
pg_field_size
Funciones de PostgreSQL


Returns the internal storage size of the named field

pg_field_prtlen
pg_field_table
Funciones de PostgreSQL
PHP Manual

pg_field_size

(PHP 4 >= 4.2.0, PHP 5)

pg_field_size — Returns the internal storage size of the named field

Descripción

int pg_field_size ( resource $result , int $field_number )

pg_field_size() returns the internal storage size (in bytes) of the field number in the given PostgreSQL result.

Nota:

This function used to be called pg_fieldsize().

Parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

field_number

Field number, starting from 0.

Valores devueltos

The internal field storage size (in bytes). -1 indicates a variable length field. FALSE is returned on error.

Ejemplos

Ejemplo #1 Getting information about fields

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  $res = pg_query($dbconn, "select * from authors where author = 'Orwell'");
  $i = pg_num_fields($res);
  for ($j = 0; $j < $i; $j++) {
      echo "column $j\n";
      $fieldname = pg_field_name($res, $j);
      echo "fieldname: $fieldname\n";
      echo "printed length: " . pg_field_prtlen($res, $fieldname) . " characters\n";
      echo "storage length: " . pg_field_size($res, $j) . " bytes\n";
      echo "field type: " . pg_field_type($res, $j) . " \n\n";
  }
?>

El resultado del ejemplo sería:

column 0
fieldname: author
printed length: 6 characters
storage length: -1 bytes
field type: varchar

column 1
fieldname: year
printed length: 4 characters
storage length: 2 bytes
field type: int2

column 2
fieldname: title
printed length: 24 characters
storage length: -1 bytes
field type: varchar

Ver también

  • pg_field_prtlen() - Returns the printed length
  • pg_field_type() - Returns the type name for the corresponding field number

pg_field_prtlen
pg_field_table
Funciones de PostgreSQL


Returns the name or oid of the tables field

pg_field_size
pg_field_type_oid
Funciones de PostgreSQL
PHP Manual

pg_field_table

(PHP 5 >= 5.2.0)

pg_field_table — Returns the name or oid of the tables field

Descripción

mixed pg_field_table ( resource $result , int $field_number [, bool $oid_only = false ] )

pg_field_table() returns the name of the table that field belongs to, or the table's oid if oid_only is TRUE.

Parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

field_number

Field number, starting from 0.

oid_only

By default the tables name that field belongs to is returned but if oid_only is set to TRUE, then the oid will instead be returned.

Valores devueltos

On success either the fields table name or oid. Or, FALSE on failure.

Ejemplos

Ejemplo #1 Getting table information about a field

<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");

$res = pg_query($dbconn, "SELECT bar FROM foo");

echo pg_field_table($res, 0);
echo pg_field_table($res, 0, true);

$res = pg_query($dbconn, "SELECT version()");
var_dump(pg_field_table($res, 0));
?>

El resultado del ejemplo sería algo similar a:

foo
14379580

bool(false)

Notas

Nota:

Returning the oid is much faster than returning the table name because fetching the table name requires a query to the database system table.

Ver también

  • pg_field_name() - Returns the name of a field
  • pg_field_type() - Returns the type name for the corresponding field number

pg_field_size
pg_field_type_oid
Funciones de PostgreSQL


Returns the type ID (OID) for the corresponding field number

pg_field_table
pg_field_type
Funciones de PostgreSQL
PHP Manual

pg_field_type_oid

(PHP 5 >= 5.1.0)

pg_field_type_oid — Returns the type ID (OID) for the corresponding field number

Descripción

int pg_field_type_oid ( resource $result , int $field_number )

pg_field_type_oid() returns an integer containing the OID of the base type of the given field_number in the given PostgreSQL result resource.

You can get more information about the field type by querying PostgreSQL's pg_type system table using the OID obtained with this function. The PostgreSQL format_type() function will convert a type OID into an SQL standard type name.

Nota:

If the field uses a PostgreSQL domain (rather than a basic type), it is the OID of the domain's underlying type that is returned, rather than the OID of the domain itself.

Parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

field_number

Field number, starting from 0.

Valores devueltos

The OID of the field's base type. FALSE is returned on error.

Ejemplos

Ejemplo #1 Getting information about fields

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Assume 'title' is a varchar type
  $res = pg_query($dbconn, "select title from authors where author = 'Orwell'");

  echo "Title field type OID: ", pg_field_type_oid($res, 0);
?>

El resultado del ejemplo sería:

Title field type OID: 1043

Ver también

  • pg_field_type() - Returns the type name for the corresponding field number
  • pg_field_prtlen() - Returns the printed length
  • pg_field_name() - Returns the name of a field

pg_field_table
pg_field_type
Funciones de PostgreSQL


Returns the type name for the corresponding field number

pg_field_type_oid
pg_free_result
Funciones de PostgreSQL
PHP Manual

pg_field_type

(PHP 4 >= 4.2.0, PHP 5)

pg_field_type — Returns the type name for the corresponding field number

Descripción

string pg_field_type ( resource $result , int $field_number )

pg_field_type() returns a string containing the base type name of the given field_number in the given PostgreSQL result resource.

Nota:

If the field uses a PostgreSQL domain (rather than a basic type), it is the name of the domain's underlying type that is returned, rather than the name of the domain itself.

Nota:

This function used to be called pg_fieldtype().

Parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

field_number

Field number, starting from 0.

Valores devueltos

A string containing the base name of the field's type, or FALSE on error.

Ejemplos

Ejemplo #1 Getting information about fields

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Assume 'title' is a varchar type
  $res = pg_query($dbconn, "select title from authors where author = 'Orwell'");

  echo "Title field type: ", pg_field_type($res, 0);
?>

El resultado del ejemplo sería:

Title field type: varchar

Ver también

  • pg_field_prtlen() - Returns the printed length
  • pg_field_name() - Returns the name of a field
  • pg_field_type_oid() - Returns the type ID (OID) for the corresponding field number

pg_field_type_oid
pg_free_result
Funciones de PostgreSQL


Free result memory

pg_field_type
pg_get_notify
Funciones de PostgreSQL
PHP Manual

pg_free_result

(PHP 4 >= 4.2.0, PHP 5)

pg_free_result — Free result memory

Descripción

bool pg_free_result ( resource $result )

pg_free_result() frees the memory and data associated with the specified PostgreSQL query result resource.

This function need only be called if memory consumption during script execution is a problem. Otherwise, all result memory will be automatically freed when the script ends.

Nota:

This function used to be called pg_freeresult().

Parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 pg_free_result() example

<?php
$db = pg_connect("dbname=users user=me") || die();

$res = pg_query($db, "SELECT 1 UNION ALL SELECT 2");

$val = pg_fetch_result($res, 1, 0);

echo "First field in the second row is: ", $val, "\n";

pg_free_result($res);
?>

El resultado del ejemplo sería:

First field in the second row is: 2

Ver también

  • pg_query() - Execute a query
  • pg_query_params() - Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text.
  • pg_execute() - Envía una solicitud para ejecutar una setencia preparada con parámetros dados, y espera el resultado

pg_field_type
pg_get_notify
Funciones de PostgreSQL


Gets SQL NOTIFY message

pg_free_result
pg_get_pid
Funciones de PostgreSQL
PHP Manual

pg_get_notify

(PHP 4 >= 4.3.0, PHP 5)

pg_get_notify — Gets SQL NOTIFY message

Descripción

array pg_get_notify ( resource $connection [, int $result_type ] )

pg_get_notify() gets notifications generated by a NOTIFY SQL command. To receive notifications, the LISTEN SQL command must be issued.

Parámetros

connection

PostgreSQL database connection resource.

result_type

An optional parameter that controls how the returned array is indexed. result_type is a constant and can take the following values: PGSQL_ASSOC, PGSQL_NUM and PGSQL_BOTH. Using PGSQL_NUM, pg_get_notify() will return an array with numerical indices, using PGSQL_ASSOC it will return only associative indices while PGSQL_BOTH, the default, will return both numerical and associative indices.

Valores devueltos

An array containing the NOTIFY message name and backend PID. Otherwise if no NOTIFY is waiting, then FALSE is returned.

Ejemplos

Ejemplo #1 PostgreSQL NOTIFY message

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occurred.\n";
  exit;
}

// Listen 'author_updated' message from other processes
pg_query($conn, 'LISTEN author_updated;');
$notify = pg_get_notify($conn);
if (!$notify) {
  echo "No messages\n";
} else {
  print_r($notify);
}
?>

Ver también

  • pg_get_pid() - Gets the backend's process ID

pg_free_result
pg_get_pid
Funciones de PostgreSQL


Gets the backend's process ID

pg_get_notify
pg_get_result
Funciones de PostgreSQL
PHP Manual

pg_get_pid

(PHP 4 >= 4.3.0, PHP 5)

pg_get_pid — Gets the backend's process ID

Descripción

int pg_get_pid ( resource $connection )

pg_get_pid() gets the backend's (database server process) PID. The PID is useful to determine whether or not a NOTIFY message received via pg_get_notify() is sent from another process or not.

Parámetros

connection

PostgreSQL database connection resource.

Valores devueltos

The backend database process ID.

Ejemplos

Ejemplo #1 PostgreSQL backend PID

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occurred.\n";
  exit;
}

// Backend process PID. Use PID with pg_get_notify()
$pid = pg_get_pid($conn);
?>

Ver también

  • pg_get_notify() - Gets SQL NOTIFY message

pg_get_notify
pg_get_result
Funciones de PostgreSQL


Get asynchronous query result

pg_get_pid
pg_host
Funciones de PostgreSQL
PHP Manual

pg_get_result

(PHP 4 >= 4.2.0, PHP 5)

pg_get_result — Get asynchronous query result

Descripción

resource pg_get_result ([ resource $connection ] )

pg_get_result() gets the result resource from an asynchronous query executed by pg_send_query(), pg_send_query_params() or pg_send_execute().

pg_send_query() and the other asynchronous query functions can send multiple queries to a PostgreSQL server and pg_get_result() is used to get each query's results, one by one.

Parámetros

connection

PostgreSQL database connection resource.

Valores devueltos

The result resource, or FALSE if no more results are available.

Ejemplos

Ejemplo #1 pg_get_result() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from authors; select count(*) from authors;");
  }

  $res1 = pg_get_result($dbconn);
  echo "First call to pg_get_result(): $res1\n";
  $rows1 = pg_num_rows($res1);
  echo "$res1 has $rows1 records\n\n";

  $res2 = pg_get_result($dbconn);
  echo "Second call to pg_get_result(): $res2\n";
  $rows2 = pg_num_rows($res2);
  echo "$res2 has $rows2 records\n";
?>

El resultado del ejemplo sería:

First call to pg_get_result(): Resource id #3
Resource id #3 has 3 records

Second call to pg_get_result(): Resource id #4
Resource id #4 has 1 records

Ver también

  • pg_send_query() - Sends asynchronous query

pg_get_pid
pg_host
Funciones de PostgreSQL


Returns the host name associated with the connection

pg_get_result
pg_insert
Funciones de PostgreSQL
PHP Manual

pg_host

(PHP 4, PHP 5)

pg_host — Returns the host name associated with the connection

Descripción

string pg_host ([ resource $connection ] )

pg_host() returns the host name of the given PostgreSQL connection resource is connected to.

Parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Valores devueltos

A string containing the name of the host the connection is to, or FALSE on error.

Ejemplos

Ejemplo #1 pg_host() example

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   print "Successfully connected to: " . pg_host($pgsql_conn) . "<br/>\n";
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

Ver también

  • pg_connect() - Abrir una conexión a PostgreSQL
  • pg_pconnect() - Open a persistent PostgreSQL connection

pg_get_result
pg_insert
Funciones de PostgreSQL


Insert array into table

pg_host
pg_last_error
Funciones de PostgreSQL
PHP Manual

pg_insert

(PHP 4 >= 4.3.0, PHP 5)

pg_insert — Insert array into table

Descripción

mixed pg_insert ( resource $connection , string $table_name , array $assoc_array [, int $options = PGSQL_DML_EXEC ] )

pg_insert() inserts the values of assoc_array into the table specified by table_name. If options is specified, pg_convert() is applied to assoc_array with the specified options.

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

connection

PostgreSQL database connection resource.

table_name

Name of the table into which to insert rows. The table table_name must at least have as many columns as assoc_array has elements.

assoc_array

An array whose keys are field names in the table table_name, and whose values are the values of those fields that are to be inserted.

options

Any number of PGSQL_CONV_OPTS, PGSQL_DML_NO_CONV, PGSQL_DML_EXEC, PGSQL_DML_ASYNC or PGSQL_DML_STRING combined. If PGSQL_DML_STRING is part of the options then query string is returned.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Returns string if PGSQL_DML_STRING is passed via options.

Ejemplos

Ejemplo #1 pg_insert() example

<?php
  $dbconn = pg_connect('dbname=foo');
  // This is safe, since $_POST is converted automatically
  $res = pg_insert($dbconn, 'post_log', $_POST);
  if ($res) {
      echo "POST data is successfully logged\n";
  } else {
      echo "User must have sent wrong inputs\n";
  }
?>

Historial de cambios

Versión | Descripción
5.5.3/5.4.19 | Direct SQL injection to table_name and Indirect SQL injection to identifiers are fixed.

Ver también

  • pg_convert() - convierte los valores de un array asociativo en valores adecuandolos para su uso en una sentencia SQL

pg_host
pg_last_error
Funciones de PostgreSQL


Get the last error message string of a connection

pg_insert
pg_last_notice
Funciones de PostgreSQL
PHP Manual

pg_last_error

(PHP 4 >= 4.2.0, PHP 5)

pg_last_error — Get the last error message string of a connection

Descripción

string pg_last_error ([ resource $connection ] )

pg_last_error() returns the last error message for a given connection.

Error messages may be overwritten by internal PostgreSQL (libpq) function calls. It may not return an appropriate error message if multiple errors occur inside a PostgreSQL module function.

Use  pg_result_error(),  pg_result_error_field(),
 pg_result_status() and
 pg_connection_status() for better error handling.

Nota:

This function used to be called pg_errormessage().

Parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Valores devueltos

A string containing the last error message on the given connection, or FALSE on error.

Ejemplos

Ejemplo #1 pg_last_error() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Query that fails
  $res = pg_query($dbconn, "select * from doesnotexist");

  echo pg_last_error($dbconn);
?>

Ver también

  • pg_result_error() - Get error message associated with result
  • pg_result_error_field() - Returns an individual field of an error report.

pg_insert
pg_last_notice
Funciones de PostgreSQL


Returns the last notice message from PostgreSQL server

pg_last_error
pg_last_oid
Funciones de PostgreSQL
PHP Manual

pg_last_notice

(PHP 4 >= 4.0.6, PHP 5)

pg_last_notice — Returns the last notice message from PostgreSQL server

Descripción

string pg_last_notice ( resource $connection )

pg_last_notice() returns the last notice message from the PostgreSQL server on the specified connection. The PostgreSQL server sends notice messages in several cases, for instance when creating a SERIAL column in a table.

With pg_last_notice(), you can avoid issuing useless queries by checking whether or not the notice is related to your transaction.

Notice message tracking can be set to optional by setting 1 for pgsql.ignore_notice in php.ini.

Notice message logging can be set to optional by setting 0 for pgsql.log_notice in php.ini. Unless pgsql.ignore_notice is set to 0, notice message cannot be logged.

Parámetros

connection

PostgreSQL database connection resource.

Valores devueltos

A string containing the last notice on the given connection, or FALSE on error.

Historial de cambios

Versión | Descripción
4.3.0 | This function is now fully implemented. Earlier versions ignores database connection parameter.
4.3.0 | The pgsql.ignore_notice and pgsql.log_notice php.ini directives were added.
4.0.6 | PHP 4.0.6 has problem with notice message handling. Use of the PostgreSQL module with PHP 4.0.6 is not recommended even if you are not using pg_last_notice().

Ejemplos

Ejemplo #1 pg_last_notice() example

<?php
  $pgsql_conn = pg_connect("dbname=mark host=localhost");

  $res = pg_query("CREATE TABLE test (id SERIAL)");

  $notice = pg_last_notice($pgsql_conn);

  echo $notice;
?>

El resultado del ejemplo sería:

CREATE TABLE will create implicit sequence "test_id_seq" for "serial" column "test.id"

Ver también

  • pg_query() - Execute a query
  • pg_last_error() - Get the last error message string of a connection

pg_last_error
pg_last_oid
Funciones de PostgreSQL


Returns the last row's OID

pg_last_notice
pg_lo_close
Funciones de PostgreSQL
PHP Manual

pg_last_oid

(PHP 4 >= 4.2.0, PHP 5)

pg_last_oid — Returns the last row's OID

Descripción

string pg_last_oid ( resource $result )

pg_last_oid() is used to retrieve the OID assigned to an inserted row.

OID field became an optional field from PostgreSQL 7.2 and will not be present by default in PostgreSQL 8.1. When the OID field is not present in a table, the programmer must use pg_result_status() to check for successful insertion.

To get the value of a SERIAL field in an inserted row, it is necessary to use the PostgreSQL CURRVAL function, naming the sequence whose last value is required. If the name of the sequence is unknown, the pg_get_serial_sequence PostgreSQL 8.0 function is necessary.

PostgreSQL 8.1 has a function LASTVAL that returns the value of the most recently used sequence in the session. This avoids the need for naming the sequence, table or column altogether.

Nota:

This function used to be called pg_getlastoid().

Parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

Valores devueltos

A string containing the OID assigned to the most recently inserted row in the specified connection, or FALSE on error or no available OID.

Ejemplos

Ejemplo #1 pg_last_oid() example

<?php
  $pgsql_conn = pg_connect("dbname=mark host=localhost");

  $res1 = pg_query("CREATE TABLE test (a INTEGER) WITH OIDS");

  $res2 = pg_query("INSERT INTO test VALUES (1)");

  $oid = pg_last_oid($res2);
?>

Ver también

  • pg_query() - Execute a query
  • pg_result_status() - Get status of query result

pg_last_notice
pg_lo_close
Funciones de PostgreSQL


Close a large object

pg_last_oid
pg_lo_create
Funciones de PostgreSQL
PHP Manual

pg_lo_close

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_close — Close a large object

Descripción

bool pg_lo_close ( resource $large_object )

pg_lo_close() closes a large object. large_object is a resource for the large object from pg_lo_open().

To use the large object interface, it is necessary to enclose it within a transaction block.

Nota:

This function used to be called pg_loclose().

Parámetros

result

PostgreSQL large object (LOB) resource, returned by pg_lo_open().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 pg_lo_close() example

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_create($database);
   echo "$oid\n";
   $handle = pg_lo_open($database, $oid, "w");
   echo "$handle\n";
   pg_lo_write($handle, "large object data");
   pg_lo_close($handle);
   pg_query($database, "commit");
?>

Ver también

  • pg_lo_open() - Open a large object
  • pg_lo_create() - Create a large object
  • pg_lo_import() - Import a large object from file

pg_last_oid
pg_lo_create
Funciones de PostgreSQL


Create a large object

pg_lo_close
pg_lo_export
Funciones de PostgreSQL
PHP Manual

pg_lo_create

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_create — Create a large object

Descripción

int pg_lo_create ([ resource $connection [, mixed $object_id ]] )
int pg_lo_create ( mixed $object_id )

pg_lo_create() creates a large object and returns the OID of the large object. PostgreSQL access modes INV_READ, INV_WRITE, and INV_ARCHIVE are not supported, the object is created always with both read and write access. INV_ARCHIVE has been removed from PostgreSQL itself (version 6.3 and above).

To use the large object interface, it is necessary to enclose it within a transaction block.

Instead of using the large object interface (which has no access controls and is cumbersome to use), try PostgreSQL's bytea column type and pg_escape_bytea().

Nota:

This function used to be called pg_locreate().

Parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

object_id

If an object_id is given the function will try to create a large object with this id, else a free object id is assigned by the server. The parameter was added in PHP 5.3 and relies on functionality that first appeared in PostgreSQL 8.1.

Valores devueltos

A large object OID or FALSE on error.

Historial de cambios

Versión | Descripción
5.3.0 | The optional object_id was added.

Ejemplos

Ejemplo #1 pg_lo_create() example

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_create($database);
   echo "$oid\n";
   $handle = pg_lo_open($database, $oid, "w");
   echo "$handle\n";
   pg_lo_write($handle, "large object data");
   pg_lo_close($handle);
   pg_query($database, "commit");
?>

pg_lo_close
pg_lo_export
Funciones de PostgreSQL


Export a large object to file

pg_lo_create
pg_lo_import
Funciones de PostgreSQL
PHP Manual

pg_lo_export

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_export — Export a large object to file

Descripción

bool pg_lo_export ([ resource $connection ], int $oid , string $pathname )

pg_lo_export() takes a large object in a PostgreSQL database and saves its contents to a file on the local filesystem.

To use the large object interface, it is necessary to enclose it within a transaction block.

Nota:

This function used to be called pg_loexport().

Parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

oid

The OID of the large object in the database.

pathname

The full path and file name of the file in which to write the large object on the client filesystem.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 pg_lo_export() example

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_create($database);
   $handle = pg_lo_open($database, $oid, "w");
   pg_lo_write($handle, "large object data");
   pg_lo_close($handle);
   pg_lo_export($database, $oid, '/tmp/lob.dat');
   pg_query($database, "commit");
?>

Ver también

  • pg_lo_import() - Import a large object from file

pg_lo_create
pg_lo_import
Funciones de PostgreSQL


Import a large object from file

pg_lo_export
pg_lo_open
Funciones de PostgreSQL
PHP Manual

pg_lo_import

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_import — Import a large object from file

Descripción

int pg_lo_import ([ resource $connection ], string $pathname [, mixed $object_id ] )

pg_lo_import() creates a new large object in the database using a file on the filesystem as its data source.

To use the large object interface, it is necessary to enclose it within a transaction block.

Nota: Cuando safe mode está habilitado, PHP comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado.

Nota:

This function used to be called pg_loimport().

Parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

pathname

The full path and file name of the file on the client filesystem from which to read the large object data.

object_id

If an object_id is given the function will try to create a large object with this id, else a free object id is assigned by the server. The parameter was added in PHP 5.3 and relies on functionality that first appeared in PostgreSQL 8.1.

Valores devueltos

The OID of the newly created large object, or FALSE on failure.

Historial de cambios

Versión | Descripción
5.3.0 | The optional object_id was added.
4.2.0 | The syntax of this function changed. It used to be: int pg_lo_import ( string $pathname [, resource $connection ] )

Ejemplos

Ejemplo #1 pg_lo_import() example

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_import($database, '/tmp/lob.dat');
   pg_query($database, "commit");
?>

Ver también

  • pg_lo_export() - Export a large object to file
  • pg_lo_open() - Open a large object

pg_lo_export
pg_lo_open
Funciones de PostgreSQL


Open a large object

pg_lo_import
pg_lo_read_all
Funciones de PostgreSQL
PHP Manual

pg_lo_open

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_open — Open a large object

Descripción

resource pg_lo_open ( resource $connection , int $oid , string $mode )

pg_lo_open() opens a large object in the database and returns large object resource so that it can be manipulated.

Advertencia

Do not close the database connection before closing the large object resource.

To use the large object interface, it is necessary to enclose it within a transaction block.

Nota:

This function used to be called pg_loopen().

Parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

oid

The OID of the large object in the database.

mode

Can be either "r" for read-only, "w" for write only or "rw" for read and write.

Valores devueltos

A large object resource or FALSE on error.

Ejemplos

Ejemplo #1 pg_lo_open() example

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_create($database);
   echo "$oid\n";
   $handle = pg_lo_open($database, $oid, "w");
   echo "$handle\n";
   pg_lo_write($handle, "large object data");
   pg_lo_close($handle);
   pg_query($database, "commit");
?>

Ver también

  • pg_lo_close() - Close a large object
  • pg_lo_create() - Create a large object

pg_lo_import
pg_lo_read_all
Funciones de PostgreSQL


Reads an entire large object and send straight to browser

pg_lo_open
pg_lo_read
Funciones de PostgreSQL
PHP Manual

pg_lo_read_all

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_read_all — Reads an entire large object and send straight to browser

Descripción

int pg_lo_read_all ( resource $large_object )

pg_lo_read_all() reads a large object and passes it straight through to the browser after sending all pending headers. Mainly intended for sending binary data like images or sound.

To use the large object interface, it is necessary to enclose it within a transaction block.

Nota:

This function used to be called pg_loreadall().

Parámetros

large_object

PostgreSQL large object (LOB) resource, returned by pg_lo_open().

Valores devueltos

Number of bytes read or FALSE on error.

Ejemplos

Ejemplo #1 pg_lo_read_all() example

<?php
   header('Content-type: image/jpeg');
   $image_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $image_oid, "r");
   pg_lo_read_all($handle);
   pg_query($database, "commit");
?>

Ver también

  • pg_lo_read() - Read a large object

pg_lo_open
pg_lo_read
Funciones de PostgreSQL


Read a large object

pg_lo_read_all
pg_lo_seek
Funciones de PostgreSQL
PHP Manual

pg_lo_read

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_read — Read a large object

Descripción

string pg_lo_read ( resource $large_object [, int $len = 8192 ] )

pg_lo_read() reads at most len bytes from a large object and returns it as a string.

To use the large object interface, it is necessary to enclose it within a transaction block.

Nota:

This function used to be called pg_loread().

Parámetros

large_object

PostgreSQL large object (LOB) resource, returned by pg_lo_open().

len

An optional maximum number of bytes to return.

Valores devueltos

A string containing len bytes from the large object, or FALSE on error.

Ejemplos

Ejemplo #1 pg_lo_read() example

<?php
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "r");
   $data = pg_lo_read($handle, 50000);
   pg_query($database, "commit");
   echo $data;
?>

Ver también

  • pg_lo_read_all() - Reads an entire large object and send straight to browser

pg_lo_read_all
pg_lo_seek
Funciones de PostgreSQL


Seeks position within a large object

pg_lo_read
pg_lo_tell
Funciones de PostgreSQL
PHP Manual

pg_lo_seek

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_seek — Seeks position within a large object

Descripción

bool pg_lo_seek ( resource $large_object , int $offset [, int $whence = PGSQL_SEEK_CUR ] )

pg_lo_seek() seeks a position within a large object resource.

To use the large object interface, it is necessary to enclose it within a transaction block.

Parámetros

large_object

PostgreSQL large object (LOB) resource, returned by pg_lo_open().

offset

The number of bytes to seek.

whence

One of the constants PGSQL_SEEK_SET (seek from object start), PGSQL_SEEK_CUR (seek from current position) or PGSQL_SEEK_END (seek from object end) .

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 pg_lo_seek() example

<?php
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "r");
   // Skip first 50000 bytes
   pg_lo_seek($handle, 50000, PGSQL_SEEK_SET);
   // Read the next 10000 bytes
   $data = pg_lo_read($handle, 10000);
   pg_query($database, "commit");
   echo $data;
?>

Ver también

  • pg_lo_tell() - Returns current seek position a of large object

pg_lo_read
pg_lo_tell
Funciones de PostgreSQL


Returns current seek position a of large object

pg_lo_seek
pg_lo_unlink
Funciones de PostgreSQL
PHP Manual

pg_lo_tell

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_tell — Returns current seek position a of large object

Descripción

int pg_lo_tell ( resource $large_object )

pg_lo_tell() returns the current position (offset from the beginning) of a large object.

To use the large object interface, it is necessary to enclose it within a transaction block.

Parámetros

large_object

PostgreSQL large object (LOB) resource, returned by pg_lo_open().

Valores devueltos

The current seek offset (in number of bytes) from the beginning of the large object. If there is an error, the return value is negative.

Ejemplos

Ejemplo #1 pg_lo_tell() example

<?php
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "r");
   // Skip first 50000 bytes
   pg_lo_seek($handle, 50000, PGSQL_SEEK_SET);
   // See how far we've skipped
   $offset = pg_lo_tell($handle);
   echo "Seek position is: $offset";
   pg_query($database, "commit");
?>

El resultado del ejemplo sería:

Seek position is: 50000

Ver también

  • pg_lo_seek() - Seeks position within a large object

pg_lo_seek
pg_lo_unlink
Funciones de PostgreSQL


Delete a large object

pg_lo_tell
pg_lo_write
Funciones de PostgreSQL
PHP Manual

pg_lo_unlink

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_unlink — Delete a large object

Descripción

bool pg_lo_unlink ( resource $connection , int $oid )

pg_lo_unlink() deletes a large object with the oid. Devuelve TRUE en caso de éxito o FALSE en caso de error.

To use the large object interface, it is necessary to enclose it within a transaction block.

Nota:

This function used to be called pg_lounlink().

Parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

oid

The OID of the large object in the database.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 pg_lo_unlink() example

<?php
   // OID of the large object to delete
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   pg_lo_unlink($database, $doc_oid);
   pg_query($database, "commit");
?>

Ver también

  • pg_lo_create() - Create a large object
  • pg_lo_import() - Import a large object from file

pg_lo_tell
pg_lo_write
Funciones de PostgreSQL


Write to a large object

pg_lo_unlink
pg_meta_data
Funciones de PostgreSQL
PHP Manual

pg_lo_write

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_write — Write to a large object

Descripción

int pg_lo_write ( resource $large_object , string $data [, int $len ] )

pg_lo_write() writes data into a large object at the current seek position.

To use the large object interface, it is necessary to enclose it within a transaction block.

Nota:

This function used to be called pg_lowrite().

Parámetros

large_object

PostgreSQL large object (LOB) resource, returned by pg_lo_open().

data

The data to be written to the large object. If len is specified and is less than the length of data, only len bytes will be written.

len

An optional maximum number of bytes to write. Must be greater than zero and no greater than the length of data. Defaults to the length of data.

Valores devueltos

The number of bytes written to the large object, or FALSE on error.

Ejemplos

Ejemplo #1 pg_lo_write() example

<?php
   $doc_oid = 189762345;
   $data = "This will overwrite the start of the large object.";
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "w");
   $data = pg_lo_write($handle, $data);
   pg_query($database, "commit");
?>

Ver también

  • pg_lo_create() - Create a large object
  • pg_lo_open() - Open a large object

pg_lo_unlink
pg_meta_data
Funciones de PostgreSQL


Get meta data for table

pg_lo_write
pg_num_fields
Funciones de PostgreSQL
PHP Manual

pg_meta_data

(PHP 4 >= 4.3.0, PHP 5)

pg_meta_data — Get meta data for table

Descripción

array pg_meta_data ( resource $connection , string $table_name )

pg_meta_data() returns table definition for table_name as an array.

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

connection

PostgreSQL database connection resource.

table_name

The name of the table.

Valores devueltos

An array of the table definition, or FALSE on error.

Ejemplos

Ejemplo #1 Getting table metadata

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  $meta = pg_meta_data($dbconn, 'authors');
  if (is_array($meta)) {
      echo '<pre>';
      var_dump($meta);
      echo '</pre>';
  }
?>

El resultado del ejemplo sería:

array(3) {
["author"]=>
array(5) {
  ["num"]=>
  int(1)
  ["type"]=>
  string(7) "varchar"
  ["len"]=>
  int(-1)
  ["not null"]=>
  bool(false)
  ["has default"]=>
  bool(false)
}
["year"]=>
array(5) {
  ["num"]=>
  int(2)
  ["type"]=>
  string(4) "int2"
  ["len"]=>
  int(2)
  ["not null"]=>
  bool(false)
  ["has default"]=>
  bool(false)
}
["title"]=>
array(5) {
  ["num"]=>
  int(3)
  ["type"]=>
  string(7) "varchar"
  ["len"]=>
  int(-1)
  ["not null"]=>
  bool(false)
  ["has default"]=>
  bool(false)
}
}

Ver también

  • pg_convert() - convierte los valores de un array asociativo en valores adecuandolos para su uso en una sentencia SQL

pg_lo_write
pg_num_fields
Funciones de PostgreSQL


Returns the number of fields in a result

pg_meta_data
pg_num_rows
Funciones de PostgreSQL
PHP Manual

pg_num_fields

(PHP 4 >= 4.2.0, PHP 5)

pg_num_fields — Returns the number of fields in a result

Descripción

int pg_num_fields ( resource $result )

pg_num_fields() returns the number of fields (columns) in a PostgreSQL result resource.

Nota:

This function used to be called pg_numfields().

Parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

Valores devueltos

The number of fields (columns) in the result. On error, -1 is returned.

Ejemplos

Ejemplo #1 pg_num_fields() example

<?php
$result = pg_query($conn, "SELECT 1, 2");

$num = pg_num_fields($result);

echo $num . " field(s) returned.\n";
?>

El resultado del ejemplo sería:

2 field(s) returned.

Ver también

  • pg_num_rows() - Returns the number of rows in a result
  • pg_affected_rows() - Devuelve el número de registros afectados (filas)

pg_meta_data
pg_num_rows
Funciones de PostgreSQL


Returns the number of rows in a result

pg_num_fields
pg_options
Funciones de PostgreSQL
PHP Manual

pg_num_rows

(PHP 4 >= 4.2.0, PHP 5)

pg_num_rows — Returns the number of rows in a result

Descripción

int pg_num_rows ( resource $result )

pg_num_rows() will return the number of rows in a PostgreSQL result resource.

Nota:

This function used to be called pg_numrows().

Parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

Valores devueltos

The number of rows in the result. On error, -1 is returned.

Ejemplos

Ejemplo #1 pg_num_rows() example

<?php
$result = pg_query($conn, "SELECT 1");

$rows = pg_num_rows($result);

echo $rows . " row(s) returned.\n";
?>

El resultado del ejemplo sería:

1 row(s) returned.

Ver también

  • pg_num_fields() - Returns the number of fields in a result
  • pg_affected_rows() - Devuelve el número de registros afectados (filas)

pg_num_fields
pg_options
Funciones de PostgreSQL


Get the options associated with the connection

pg_num_rows
pg_parameter_status
Funciones de PostgreSQL
PHP Manual

pg_options

(PHP 4, PHP 5)

pg_options — Get the options associated with the connection

Descripción

string pg_options ([ resource $connection ] )

pg_options() will return a string containing the options specified on the given PostgreSQL connection resource.

Parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Valores devueltos

A string containing the connection options, or FALSE on error.

Ejemplos

Ejemplo #1 pg_options() example

<?php
   $pgsql_conn = pg_connect("dbname=mark host=localhost");
   echo pg_options($pgsql_conn);
?>

Ver también

  • pg_connect() - Abrir una conexión a PostgreSQL

pg_num_rows
pg_parameter_status
Funciones de PostgreSQL


Looks up a current parameter setting of the server.

pg_options
pg_pconnect
Funciones de PostgreSQL
PHP Manual

pg_parameter_status

(PHP 5)

pg_parameter_status — Looks up a current parameter setting of the server.

Descripción

string pg_parameter_status ([ resource $connection ], string $param_name )

Looks up a current parameter setting of the server.

Certain parameter values are reported by the server automatically at connection startup or whenever their values change. pg_parameter_status() can be used to interrogate these settings. It returns the current value of a parameter if known, or FALSE if the parameter is not known.

Parameters reported as of PostgreSQL 8.0 include server_version, server_encoding, client_encoding, is_superuser, session_authorization, DateStyle, TimeZone, and integer_datetimes. (server_encoding, TimeZone, and integer_datetimes were not reported by releases before 8.0.) Note that server_version, server_encoding and integer_datetimes cannot change after PostgreSQL startup.

PostgreSQL 7.3 or lower servers do not report parameter settings, pg_parameter_status() includes logic to obtain values for server_version and client_encoding anyway. Applications are encouraged to use pg_parameter_status() rather than ad hoc code to determine these values.

Precaución

On a pre-7.4 PostgreSQL server, changing client_encoding via SET after connection startup will not be reflected by pg_parameter_status().

Parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

param_name

Possible param_name values include server_version, server_encoding, client_encoding, is_superuser, session_authorization, DateStyle, TimeZone, and integer_datetimes.

Valores devueltos

A string containing the value of the parameter, FALSE on failure or invalid param_name.

Ejemplos

Ejemplo #1 pg_parameter_status() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  echo "Server encoding: ", pg_parameter_status($dbconn, "server_encoding");
?>

El resultado del ejemplo sería:

Server encoding: SQL_ASCII

pg_options
pg_pconnect
Funciones de PostgreSQL


Open a persistent PostgreSQL connection

pg_parameter_status
pg_ping
Funciones de PostgreSQL
PHP Manual

pg_pconnect

(PHP 4, PHP 5)

pg_pconnect — Open a persistent PostgreSQL connection

Descripción

resource pg_pconnect ( string $connection_string [, int $connect_type ] )

pg_pconnect() opens a connection to a PostgreSQL database. It returns a connection resource that is needed by other PostgreSQL functions.

If a second call is made to pg_pconnect() with the same connection_string as an existing connection, the existing connection will be returned unless you pass PGSQL_CONNECT_FORCE_NEW as connect_type.

To enable persistent connection, the pgsql.allow_persistent php.ini directive must be set to "On" (which is the default). The maximum number of persistent connection can be defined with the pgsql.max_persistent php.ini directive (defaults to -1 for no limit). The total number of connections can be set with the pgsql.max_links php.ini directive.

pg_close() will not close persistent links generated by pg_pconnect().

Parámetros

connection_string

The connection_string can be empty to use all default parameters, or it can contain one or more parameter settings separated by whitespace. Each parameter setting is in the form keyword = value. Spaces around the equal sign are optional. To write an empty value or a value containing spaces, surround it with single quotes, e.g., keyword = 'a value'. Single quotes and backslashes within the value must be escaped with a backslash, i.e., \' and \\.

The currently recognized parameter keywords are: host, hostaddr, port, dbname, user, password, connect_timeout, options, tty (ignored), sslmode, requiressl (deprecated in favor of sslmode), and service. Which of these arguments exist depends on your PostgreSQL version.

connect_type

If PGSQL_CONNECT_FORCE_NEW is passed, then a new connection is created, even if the connection_string is identical to an existing connection.

Valores devueltos

PostgreSQL connection resource on success, FALSE on failure.

Ejemplos

Ejemplo #1 Using pg_pconnect()

<?php
$dbconn = pg_pconnect("dbname=mary");
//connect to a database named "mary"

$dbconn2 = pg_pconnect("host=localhost port=5432 dbname=mary");
// connect to a database named "mary" on "localhost" at port "5432"

$dbconn3 = pg_pconnect("host=sheep port=5432 dbname=mary user=lamb password=foo");
//connect to a database named "mary" on the host "sheep" with a username and password

$conn_string = "host=sheep port=5432 dbname=test user=lamb password=bar";
$dbconn4 = pg_pconnect($conn_string);
//connect to a database named "test" on the host "sheep" with a username and password
?>

Ver también

  • pg_connect() - Abrir una conexión a PostgreSQL
  • Persistent Database Connections

pg_parameter_status
pg_ping
Funciones de PostgreSQL


Ping a conexión de base de datos

pg_pconnect
pg_port
Funciones de PostgreSQL
PHP Manual

pg_ping

(PHP 4 >= 4.3.0, PHP 5)

pg_ping — Ping a conexión de base de datos

Descripción

bool pg_ping ([ resource $connection ] )

pg_ping()Hace pings a una conexión de base de datos y trata de conectarla de nuevo si está rota.

Parámetros

connection

Recurso de conexión de base de datos PostgreSQL. Cuando el parametro connection no está presente, se utiliza la conexión por defecto. La conexión por defecto es la última conexión realizada por pg_connect() o pg_pconnect().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de pg_ping()

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "Ha ocurrido un error.\n";
  exit;
}

if (!pg_ping($conn))
  die("La conexión está rota\n");
?>

Ver también

  • pg_connection_status() - Obtener estado de la conexión
  • pg_connection_reset() - Restablece conexión (reconectar)

pg_pconnect
pg_port
Funciones de PostgreSQL


Devuelve el número de puerto asociado con la conexión

pg_ping
pg_prepare
Funciones de PostgreSQL
PHP Manual

pg_port

(PHP 4, PHP 5)

pg_port — Devuelve el número de puerto asociado con la conexión

Descripción

int pg_port ([ resource $connection ] )

pg_port() devuelve el número de puerto al que el recurso de connection PostgreSQL está conectado.

Parámetros

connection

Recurso de conexión de base de datos PostgreSQL. Cuando la connection no está presente, se utiliza la conexión por defecto. La conexión por defecto es la última conexión hecha por pg_connect() o pg_pconnect().

Valores devueltos

Un int que contiene el número de puerto del servidor de base de datos para la connection, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de pg_port()

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   print "Conectado correctamente al puerto: " . pg_port($pgsql_conn) . "<br/>\n";
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

pg_ping
pg_prepare
Funciones de PostgreSQL


Submits a request to create a prepared statement with the given parameters, and waits for completion.

pg_port
pg_put_line
Funciones de PostgreSQL
PHP Manual

pg_prepare

(PHP 5 >= 5.1.0)

pg_prepare — Submits a request to create a prepared statement with the given parameters, and waits for completion.

Descripción

resource pg_prepare ([ resource $connection ], string $stmtname , string $query )

pg_prepare() creates a prepared statement for later execution with pg_execute() or pg_send_execute(). This feature allows commands that will be used repeatedly to be parsed and planned just once, rather than each time they are executed. pg_prepare() is supported only against PostgreSQL 7.4 or higher connections; it will fail when using earlier versions.

The function creates a prepared statement named stmtname from the query string, which must contain a single SQL command. stmtname may be "" to create an unnamed statement, in which case any pre-existing unnamed statement is automatically replaced; otherwise it is an error if the statement name is already defined in the current session. If any parameters are used, they are referred to in the query as $1, $2, etc.

Prepared statements for use with pg_prepare() can also be created by executing SQL PREPARE statements. (But pg_prepare() is more flexible since it does not require parameter types to be pre-specified.) Also, although there is no PHP function for deleting a prepared statement, the SQL DEALLOCATE statement can be used for that purpose.

Parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

stmtname

The name to give the prepared statement. Must be unique per-connection. If "" is specified, then an unnamed statement is created, overwriting any previously defined unnamed statement.

query

The parameterized SQL statement. Must contain only a single statement. (multiple statements separated by semi-colons are not allowed.) If any parameters are used, they are referred to as $1, $2, etc.

Valores devueltos

A query result resource on success o FALSE en caso de error.

Ejemplos

Ejemplo #1 Using pg_prepare()

<?php
// Connect to a database named "mary"
$dbconn = pg_connect("dbname=mary");

// Prepare a query for execution
$result = pg_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');

// Execute the prepared query.  Note that it is not necessary to escape
// the string "Joe's Widgets" in any way
$result = pg_execute($dbconn, "my_query", array("Joe's Widgets"));

// Execute the same prepared query, this time with a different parameter
$result = pg_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));

?>

Ver también

  • pg_execute() - Envía una solicitud para ejecutar una setencia preparada con parámetros dados, y espera el resultado
  • pg_send_execute() - Sends a request to execute a prepared statement with given parameters, without waiting for the result(s).

pg_port
pg_put_line
Funciones de PostgreSQL


Send a NULL-terminated string to PostgreSQL backend

pg_prepare
pg_query_params
Funciones de PostgreSQL
PHP Manual

pg_put_line

(PHP 4 >= 4.0.3, PHP 5)

pg_put_line — Send a NULL-terminated string to PostgreSQL backend

Descripción

bool pg_put_line ([ resource $connection ], string $data )

pg_put_line() sends a NULL-terminated string to the PostgreSQL backend server. This is needed in conjunction with PostgreSQL's COPY FROM command.

COPY is a high-speed data loading interface supported by PostgreSQL. Data is passed in without being parsed, and in a single transaction.

An alternative to using raw pg_put_line() commands is to use pg_copy_from(). This is a far simpler interface.

Nota:

The application must explicitly send the two characters "\." on the last line to indicate to the backend that it has finished sending its data, before issuing pg_end_copy().

Advertencia

Use of the pg_put_line() causes most large object operations, including pg_lo_read() and pg_lo_tell(), to subsequently fail. You can use pg_copy_from() and pg_copy_to() instead.

Parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

data

A line of text to be sent directly to the PostgreSQL backend. A NULL terminator is added automatically.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 pg_put_line() example

<?php
  $conn = pg_pconnect("dbname=foo");
  pg_query($conn, "create table bar (a int4, b char(16), d float8)");
  pg_query($conn, "copy bar from stdin");
  pg_put_line($conn, "3\thello world\t4.5\n");
  pg_put_line($conn, "4\tgoodbye world\t7.11\n");
  pg_put_line($conn, "\\.\n");
  pg_end_copy($conn);
?>

Ver también

  • pg_end_copy() - Sincronizar con PostgreSQL

pg_prepare
pg_query_params
Funciones de PostgreSQL


Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text.

pg_put_line
pg_query
Funciones de PostgreSQL
PHP Manual

pg_query_params

(PHP 5 >= 5.1.0)

pg_query_params — Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text.

Descripción

resource pg_query_params ([ resource $connection ], string $query , array $params )

Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text.

pg_query_params() is like pg_query(), but offers additional functionality: parameter values can be specified separately from the command string proper. pg_query_params() is supported only against PostgreSQL 7.4 or higher connections; it will fail when using earlier versions.

If parameters are used, they are referred to in the query string as $1, $2, etc. The same parameter may appear more than once in the query; the same value will be used in that case. params specifies the actual values of the parameters. A NULL value in this array means the corresponding parameter is SQL NULL.

The primary advantage of pg_query_params() over pg_query() is that parameter values may be separated from the query string, thus avoiding the need for tedious and error-prone quoting and escaping. Unlike pg_query(), pg_query_params() allows at most one SQL command in the given string. (There can be semicolons in it, but not more than one nonempty command.)

Parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

query

The parameterized SQL statement. Must contain only a single statement. (multiple statements separated by semi-colons are not allowed.) If any parameters are used, they are referred to as $1, $2, etc.

User-supplied values should always be passed as parameters, not interpolated into the query string, where they form possible SQL injection attack vectors and introduce bugs when handling data containing quotes. If for some reason you cannot use a parameter, ensure that interpolated values are properly escaped.

params

An array of parameter values to substitute for the $1, $2, etc. placeholders in the original prepared query string. The number of elements in the array must match the number of placeholders.

Values intended for bytea fields are not supported as parameters. Use pg_escape_bytea() instead, or use the large object functions.

Valores devueltos

A query result resource on success o FALSE en caso de error.

Ejemplos

Ejemplo #1 Using pg_query_params()

<?php
// Connect to a database named "mary"
$dbconn = pg_connect("dbname=mary");

// Find all shops named Joe's Widgets.  Note that it is not necessary to
// escape "Joe's Widgets"
$result = pg_query_params($dbconn, 'SELECT * FROM shops WHERE name = $1', array("Joe's Widgets"));

// Compare against just using pg_query
$str = pg_escape_string("Joe's Widgets");
$result = pg_query($dbconn, "SELECT * FROM shops WHERE name = '{$str}'");

?>

Ver también

  • pg_query() - Execute a query

pg_put_line
pg_query
Funciones de PostgreSQL


Execute a query

pg_query_params
pg_result_error_field
Funciones de PostgreSQL
PHP Manual

pg_query

(PHP 4 >= 4.2.0, PHP 5)

pg_query — Execute a query

Descripción

resource pg_query ([ resource $connection ], string $query )

pg_query() executes the query on the specified database connection. pg_query_params() should be preferred in most cases.

If an error occurs, and FALSE is returned, details of the error can be retrieved using the pg_last_error() function if the connection is valid.

Nota: Although connection can be omitted, it is not recommended, since it can be the cause of hard to find bugs in scripts.

Nota:

This function used to be called pg_exec(). pg_exec() is still available for compatibility reasons, but users are encouraged to use the newer name.

Parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

query

The SQL statement or statements to be executed. When multiple statements are passed to the function, they are automatically executed as one transaction, unless there are explicit BEGIN/COMMIT commands included in the query string. However, using multiple transactions in one function call is not recommended.

Advertencia

String interpolation of user-supplied data is extremely dangerous and is likely to lead to SQL injection vulnerabilities. In most cases pg_query_params() should be preferred, passing user-supplied values as parameters rather than substituting them into the query string.

Any user-supplied data substituted directly into a query string should be properly escaped.

Valores devueltos

A query result resource on success o FALSE en caso de error.

Ejemplos

Ejemplo #1 pg_query() example

<?php

$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occurred.\n";
  exit;
}

$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
  echo "An error occurred.\n";
  exit;
}

while ($row = pg_fetch_row($result)) {
  echo "Author: $row[0]  E-mail: $row[1]";
  echo "<br />\n";
}

?>

Ejemplo #2 Using pg_query() with multiple statements

<?php

$conn = pg_pconnect("dbname=publisher");

// these statements will be executed as one transaction

$query = "UPDATE authors SET author=UPPER(author) WHERE id=1;";
$query .= "UPDATE authors SET author=LOWER(author) WHERE id=2;";
$query .= "UPDATE authors SET author=NULL WHERE id=3;";

pg_query($conn, $query);

?>

Ver también

  • pg_connect() - Abrir una conexión a PostgreSQL
  • pg_pconnect() - Open a persistent PostgreSQL connection
  • pg_fetch_array() - Fetch a row as an array
  • pg_fetch_object() - Fetch a row as an object
  • pg_num_rows() - Returns the number of rows in a result
  • pg_affected_rows() - Devuelve el número de registros afectados (filas)

pg_query_params
pg_result_error_field
Funciones de PostgreSQL


Returns an individual field of an error report.

pg_query
pg_result_error
Funciones de PostgreSQL
PHP Manual

pg_result_error_field

(PHP 5 >= 5.1.0)

pg_result_error_field — Returns an individual field of an error report.

Descripción

string pg_result_error_field ( resource $result , int $fieldcode )

pg_result_error_field() returns one of the detailed error message fields associated with result resource. It is only available against a PostgreSQL 7.4 or above server. The error field is specified by the fieldcode.

Because pg_query() and pg_query_params() return FALSE if the query fails, you must use pg_send_query() and pg_get_result() to get the result handle.

If you need to get additional error information from failed pg_query() queries, use pg_set_error_verbosity() and pg_last_error() and then parse the result.

Parámetros

result

A PostgreSQL query result resource from a previously executed statement.

fieldcode

Possible fieldcode values are: PGSQL_DIAG_SEVERITY, PGSQL_DIAG_SQLSTATE, PGSQL_DIAG_MESSAGE_PRIMARY, PGSQL_DIAG_MESSAGE_DETAIL, PGSQL_DIAG_MESSAGE_HINT, PGSQL_DIAG_STATEMENT_POSITION, PGSQL_DIAG_INTERNAL_POSITION (PostgreSQL 8.0+ only), PGSQL_DIAG_INTERNAL_QUERY (PostgreSQL 8.0+ only), PGSQL_DIAG_CONTEXT, PGSQL_DIAG_SOURCE_FILE, PGSQL_DIAG_SOURCE_LINE or PGSQL_DIAG_SOURCE_FUNCTION.

Valores devueltos

A string containing the contents of the error field, NULL if the field does not exist or FALSE on failure.

Ejemplos

Ejemplo #1 pg_result_error_field() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from doesnotexist;");
  }

  $res1 = pg_get_result($dbconn);
  echo pg_result_error_field($res1, PGSQL_DIAG_SQLSTATE);
?>

Ver también

  • pg_result_error() - Get error message associated with result

pg_query
pg_result_error
Funciones de PostgreSQL


Get error message associated with result

pg_result_error_field
pg_result_seek
Funciones de PostgreSQL
PHP Manual

pg_result_error

(PHP 4 >= 4.2.0, PHP 5)

pg_result_error — Get error message associated with result

Descripción

string pg_result_error ( resource $result )

pg_result_error() returns any error message associated with the result resource. Therefore, the user has a better chance of getting the correct error message than with pg_last_error().

The function pg_result_error_field() can give much greater detail on result errors than pg_result_error().

Because pg_query() returns FALSE if the query fails, you must use pg_send_query() and pg_get_result() to get the result handle.

Parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

Valores devueltos

Returns a string if there is an error associated with the result parameter, FALSE otherwise.

Ejemplos

Ejemplo #1 pg_result_error() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from doesnotexist;");
  }

  $res1 = pg_get_result($dbconn);
  echo pg_result_error($res1);
?>

Ver también

  • pg_result_error_field() - Returns an individual field of an error report.
  • pg_query() - Execute a query
  • pg_send_query() - Sends asynchronous query
  • pg_get_result() - Get asynchronous query result
  • pg_last_error() - Get the last error message string of a connection
  • pg_last_notice() - Returns the last notice message from PostgreSQL server

pg_result_error_field
pg_result_seek
Funciones de PostgreSQL


Set internal row offset in result resource

pg_result_error
pg_result_status
Funciones de PostgreSQL
PHP Manual

pg_result_seek

(PHP 4 >= 4.3.0, PHP 5)

pg_result_seek — Set internal row offset in result resource

Descripción

bool pg_result_seek ( resource $result , int $offset )

pg_result_seek() sets the internal row offset in a result resource.

Parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

offset

Row to move the internal offset to in the result resource. Rows are numbered starting from zero.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 pg_result_seek() example

<?php

// Connect to the database
$conn = pg_pconnect("dbname=publisher");

// Execute a query
$result = pg_query($conn, "SELECT author, email FROM authors");

// Seek to the 3rd row (assuming there are 3 rows)
pg_result_seek($result, 2);

// Fetch the 3rd row
$row = pg_fetch_row($result);

?>

Ver también

  • pg_fetch_row() - Get a row as an enumerated array
  • pg_fetch_assoc() - Fetch a row as an associative array
  • pg_fetch_array() - Fetch a row as an array
  • pg_fetch_object() - Fetch a row as an object
  • pg_fetch_result() - Returns values from a result resource

pg_result_error
pg_result_status
Funciones de PostgreSQL


Get status of query result

pg_result_seek
pg_select
Funciones de PostgreSQL
PHP Manual

pg_result_status

(PHP 4 >= 4.2.0, PHP 5)

pg_result_status — Get status of query result

Descripción

mixed pg_result_status ( resource $result [, int $type = PGSQL_STATUS_LONG ] )

pg_result_status() returns the status of a result resource, or the PostgreSQL command completion tag associated with the result

Parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

type

Either PGSQL_STATUS_LONG to return the numeric status of the result, or PGSQL_STATUS_STRING to return the command tag of the result. If not specified, PGSQL_STATUS_LONG is the default.

Valores devueltos

Possible return values are PGSQL_EMPTY_QUERY, PGSQL_COMMAND_OK, PGSQL_TUPLES_OK, PGSQL_COPY_OUT, PGSQL_COPY_IN, PGSQL_BAD_RESPONSE, PGSQL_NONFATAL_ERROR and PGSQL_FATAL_ERROR if PGSQL_STATUS_LONG is specified. Otherwise, a string containing the PostgreSQL command tag is returned.

Historial de cambios

Versión | Descripción
4.3.0 | The type parameter was added.

Ejemplos

Ejemplo #1 pg_result_status() example

<?php

// Connect to the database
$conn = pg_pconnect("dbname=publisher");

// Execute a COPY
$result = pg_query($conn, "COPY authors FROM STDIN;");

// Get the result status
$status = pg_result_status($result);

// Determine status
if ($status == PGSQL_COPY_IN)
   echo "Copy began.";
else
   echo "Copy failed.";

?>

El resultado del ejemplo sería:

Copy began.

Ver también

  • pg_connection_status() - Obtener estado de la conexión

pg_result_seek
pg_select
Funciones de PostgreSQL


Select records

pg_result_status
pg_send_execute
Funciones de PostgreSQL
PHP Manual

pg_select

(PHP 4 >= 4.3.0, PHP 5)

pg_select — Select records

Descripción

mixed pg_select ( resource $connection , string $table_name , array $assoc_array [, int $options = PGSQL_DML_EXEC ] )

pg_select() selects records specified by assoc_array which has field=>value. For a successful query, it returns an array containing all records and fields that match the condition specified by assoc_array.

If options is specified, pg_convert() is applied to assoc_array with the specified flags.

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

connection

PostgreSQL database connection resource.

table_name

Name of the table from which to select rows.

assoc_array

An array whose keys are field names in the table table_name, and whose values are the conditions that a row must meet to be retrieved.

options

Any number of PGSQL_CONV_FORCE_NULL, PGSQL_DML_NO_CONV, PGSQL_DML_EXEC, PGSQL_DML_ASYNC or PGSQL_DML_STRING combined. If PGSQL_DML_STRING is part of the options then query string is returned.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Returns string if PGSQL_DML_STRING is passed via options.

Ejemplos

Ejemplo #1 pg_select() example

<?php
  $db = pg_connect('dbname=foo');
  // This is safe, since $_POST is converted automatically
  $rec = pg_select($db, 'post_log', $_POST);
  if ($rec) {
      echo "Records selected\n";
      var_dump($rec);
  } else {
      echo "User must have sent wrong inputs\n";
  }
?>

Historial de cambios

Versión | Descripción
5.5.3/5.4.19 | Direct SQL injection to table_name and Indirect SQL injection to identifiers are fixed.

Ver también

  • pg_convert() - convierte los valores de un array asociativo en valores adecuandolos para su uso en una sentencia SQL

pg_result_status
pg_send_execute
Funciones de PostgreSQL


Sends a request to execute a prepared statement with given parameters, without waiting for the result(s).

pg_select
pg_send_prepare
Funciones de PostgreSQL
PHP Manual

pg_send_execute

(PHP 5 >= 5.1.0)

pg_send_execute — Sends a request to execute a prepared statement with given parameters, without waiting for the result(s).

Descripción

bool pg_send_execute ( resource $connection , string $stmtname , array $params )

Sends a request to execute a prepared statement with given parameters, without waiting for the result(s).

This is similar to pg_send_query_params(), but the command to be executed is specified by naming a previously-prepared statement, instead of giving a query string. The function's parameters are handled identically to pg_execute(). Like pg_execute(), it will not work on pre-7.4 versions of PostgreSQL.

Parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

stmtname

The name of the prepared statement to execute. if "" is specified, then the unnamed statement is executed. The name must have been previously prepared using pg_prepare(), pg_send_prepare() or a PREPARE SQL command.

params

An array of parameter values to substitute for the $1, $2, etc. placeholders in the original prepared query string. The number of elements in the array must match the number of placeholders.

Valores devueltos

Returns TRUE on success, FALSE on failure. Use pg_get_result() to determine the query result.

Ejemplos

Ejemplo #1 Using pg_send_execute()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Prepare a query for execution
  if (!pg_connection_busy($dbconn)) {
    pg_send_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');
    $res1 = pg_get_result($dbconn);
  }

  // Execute the prepared query.  Note that it is not necessary to escape
  // the string "Joe's Widgets" in any way
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Joe's Widgets"));
    $res2 = pg_get_result($dbconn);
  }

  // Execute the same prepared query, this time with a different parameter
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));
    $res3 = pg_get_result($dbconn);
  }

?>

Ver también

  • pg_prepare() - Submits a request to create a prepared statement with the given parameters, and waits for completion.
  • pg_send_prepare() - Sends a request to create a prepared statement with the given parameters, without waiting for completion.
  • pg_execute() - Envía una solicitud para ejecutar una setencia preparada con parámetros dados, y espera el resultado

pg_select
pg_send_prepare
Funciones de PostgreSQL


Sends a request to create a prepared statement with the given parameters, without waiting for completion.

pg_send_execute
pg_send_query_params
Funciones de PostgreSQL
PHP Manual

pg_send_prepare

(PHP 5 >= 5.1.0)

pg_send_prepare — Sends a request to create a prepared statement with the given parameters, without waiting for completion.

Descripción

bool pg_send_prepare ( resource $connection , string $stmtname , string $query )

Sends a request to create a prepared statement with the given parameters, without waiting for completion.

This is an asynchronous version of pg_prepare(): it returns TRUE if it was able to dispatch the request, and FALSE if not. After a successful call, call pg_get_result() to determine whether the server successfully created the prepared statement. The function's parameters are handled identically to pg_prepare(). Like pg_prepare(), it will not work on pre-7.4 versions of PostgreSQL.

Parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

stmtname

The name to give the prepared statement. Must be unique per-connection. If "" is specified, then an unnamed statement is created, overwriting any previously defined unnamed statement.

query

The parameterized SQL statement. Must contain only a single statement. (multiple statements separated by semi-colons are not allowed.) If any parameters are used, they are referred to as $1, $2, etc.

Valores devueltos

Returns TRUE on success, FALSE on failure. Use pg_get_result() to determine the query result.

Ejemplos

Ejemplo #1 Using pg_send_prepare()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Prepare a query for execution
  if (!pg_connection_busy($dbconn)) {
    pg_send_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');
    $res1 = pg_get_result($dbconn);
  }

  // Execute the prepared query.  Note that it is not necessary to escape
  // the string "Joe's Widgets" in any way
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Joe's Widgets"));
    $res2 = pg_get_result($dbconn);
  }

  // Execute the same prepared query, this time with a different parameter
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));
    $res3 = pg_get_result($dbconn);
  }

?>

Ver también

  • pg_connect() - Abrir una conexión a PostgreSQL
  • pg_pconnect() - Open a persistent PostgreSQL connection
  • pg_execute() - Envía una solicitud para ejecutar una setencia preparada con parámetros dados, y espera el resultado
  • pg_send_execute() - Sends a request to execute a prepared statement with given parameters, without waiting for the result(s).
  • pg_send_query_params() - Submits a command and separate parameters to the server without waiting for the result(s).

pg_send_execute
pg_send_query_params
Funciones de PostgreSQL


Submits a command and separate parameters to the server without waiting for the result(s).

pg_send_prepare
pg_send_query
Funciones de PostgreSQL
PHP Manual

pg_send_query_params

(PHP 5 >= 5.1.0)

pg_send_query_params — Submits a command and separate parameters to the server without waiting for the result(s).

Descripción

bool pg_send_query_params ( resource $connection , string $query , array $params )

Submits a command and separate parameters to the server without waiting for the result(s).

This is equivalent to pg_send_query() except that query parameters can be specified separately from the query string. The function's parameters are handled identically to pg_query_params(). Like pg_query_params(), it will not work on pre-7.4 PostgreSQL connections, and it allows only one command in the query string.

Parámetros

connection

PostgreSQL database connection resource.

query

The parameterized SQL statement. Must contain only a single statement. (multiple statements separated by semi-colons are not allowed.) If any parameters are used, they are referred to as $1, $2, etc.

params

An array of parameter values to substitute for the $1, $2, etc. placeholders in the original prepared query string. The number of elements in the array must match the number of placeholders.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Use pg_get_result() to determine the query result.

Ejemplos

Ejemplo #1 Using pg_send_query_params()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Using parameters.  Note that it is not necessary to quote or escape
  // the parameter.
  pg_send_query_params($dbconn, 'select count(*) from authors where city = $1', array('Perth'));

  // Compare against basic pg_send_query usage
  $str = pg_escape_string('Perth');
  pg_send_query($dbconn, "select count(*) from authors where city = '${str}'");
?>

Ver también

  • pg_send_query() - Sends asynchronous query

pg_send_prepare
pg_send_query
Funciones de PostgreSQL


Sends asynchronous query

pg_send_query_params
pg_set_client_encoding
Funciones de PostgreSQL
PHP Manual

pg_send_query

(PHP 4 >= 4.2.0, PHP 5)

pg_send_query — Sends asynchronous query

Descripción

bool pg_send_query ( resource $connection , string $query )

pg_send_query() sends a query or queries asynchronously to the connection. Unlike pg_query(), it can send multiple queries at once to PostgreSQL and get the results one by one using pg_get_result().

Script execution is not blocked while the queries are executing. Use pg_connection_busy() to check if the connection is busy (i.e. the query is executing). Queries may be cancelled using pg_cancel_query().

Although the user can send multiple queries at once, multiple queries cannot be sent over a busy connection. If a query is sent while the connection is busy, it waits until the last query is finished and discards all its results.

Parámetros

connection

PostgreSQL database connection resource.

query

The SQL statement or statements to be executed.

Data inside the query should be properly escaped.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Use pg_get_result() to determine the query result.

Ejemplos

Ejemplo #1 pg_send_query() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from authors; select count(*) from authors;");
  }

  $res1 = pg_get_result($dbconn);
  echo "First call to pg_get_result(): $res1\n";
  $rows1 = pg_num_rows($res1);
  echo "$res1 has $rows1 records\n\n";

  $res2 = pg_get_result($dbconn);
  echo "Second call to pg_get_result(): $res2\n";
  $rows2 = pg_num_rows($res2);
  echo "$res2 has $rows2 records\n";
?>

El resultado del ejemplo sería:

First call to pg_get_result(): Resource id #3
Resource id #3 has 3 records

Second call to pg_get_result(): Resource id #4
Resource id #4 has 1 records

Ver también

  • pg_query() - Execute a query
  • pg_cancel_query() - Cancelar una consulta asíncrona
  • pg_get_result() - Get asynchronous query result
  • pg_connection_busy() - Permite saber si la conexión esta ocupada o no

pg_send_query_params
pg_set_client_encoding
Funciones de PostgreSQL


Set the client encoding

pg_send_query
pg_set_error_verbosity
Funciones de PostgreSQL
PHP Manual

pg_set_client_encoding

(PHP 4 >= 4.0.3, PHP 5)

pg_set_client_encoding — Set the client encoding

Descripción

int pg_set_client_encoding ([ resource $connection ], string $encoding )

pg_set_client_encoding() sets the client encoding and returns 0 if success or -1 if error.

PostgreSQL will automatically convert data in the backend database encoding into the frontend encoding.

Nota:

The function used to be called pg_setclientencoding().

Parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

encoding

The required client encoding. One of SQL_ASCII, EUC_JP, EUC_CN, EUC_KR, EUC_TW, UNICODE, MULE_INTERNAL, LATINX (X=1...9), KOI8, WIN, ALT, SJIS, BIG5 or WIN1250.

The exact list of available encodings depends on your PostgreSQL version, so check your PostgreSQL manual for a more specific list.

Valores devueltos

Returns 0 on success or -1 on error.

Ejemplos

Ejemplo #1 pg_set_client_encoding() example

<?php

$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occurred.\n";
  exit;
}

// Set the client encoding to UNICODE.  Data will be automatically
// converted from the backend encoding to the frontend.
pg_set_client_encoding($conn, "UNICODE");

$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
  echo "An error occurred.\n";
  exit;
}

// Write out UTF-8 data
while ($row = pg_fetch_row($result)) {
  echo "Author: $row[0]  E-mail: $row[1]";
  echo "<br />\n";
}

?>

Ver también

  • pg_client_encoding() - Obtiene la codificación del cliente

pg_send_query
pg_set_error_verbosity
Funciones de PostgreSQL


Determines the verbosity of messages returned by pg_last_error and pg_result_error.

pg_set_client_encoding
pg_trace
Funciones de PostgreSQL
PHP Manual

pg_set_error_verbosity

(PHP 5 >= 5.1.0)

pg_set_error_verbosity — Determines the verbosity of messages returned by pg_last_error() and pg_result_error().

Descripción

int pg_set_error_verbosity ([ resource $connection ], int $verbosity )

Determines the verbosity of messages returned by pg_last_error() and pg_result_error().

pg_set_error_verbosity() sets the verbosity mode, returning the connection's previous setting. In PGSQL_ERRORS_TERSE mode, returned messages include severity, primary text, and position only; this will normally fit on a single line. The default mode (PGSQL_ERRORS_DEFAULT) produces messages that include the above plus any detail, hint, or context fields (these may span multiple lines). The PGSQL_ERRORS_VERBOSE mode includes all available fields. Changing the verbosity does not affect the messages available from already-existing result objects, only subsequently-created ones.

Parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

verbosity

The required verbosity: PGSQL_ERRORS_TERSE, PGSQL_ERRORS_DEFAULT or PGSQL_ERRORS_VERBOSE.

Valores devueltos

The previous verbosity level: PGSQL_ERRORS_TERSE, PGSQL_ERRORS_DEFAULT or PGSQL_ERRORS_VERBOSE.

Ejemplos

Ejemplo #1 pg_set_error_verbosity() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from doesnotexist;");
  }

  pg_set_error_verbosity($dbconn, PGSQL_ERRORS_VERBOSE);
  $res1 = pg_get_result($dbconn);
  echo pg_result_error($res1);
?>

Ver también

  • pg_last_error() - Get the last error message string of a connection
  • pg_result_error() - Get error message associated with result

pg_set_client_encoding
pg_trace
Funciones de PostgreSQL


Enable tracing a PostgreSQL connection

pg_set_error_verbosity
pg_transaction_status
Funciones de PostgreSQL
PHP Manual

pg_trace

(PHP 4 >= 4.0.1, PHP 5)

pg_trace — Enable tracing a PostgreSQL connection

Descripción

bool pg_trace ( string $pathname [, string $mode = "w" [, resource $connection ]] )

pg_trace() enables tracing of the PostgreSQL frontend/backend communication to a file. To fully understand the results, one needs to be familiar with the internals of PostgreSQL communication protocol.

For those who are not, it can still be useful for tracing errors in queries sent to the server, you could do for example grep '^To backend' trace.log and see what queries actually were sent to the PostgreSQL server. For more information, refer to the » PostgreSQL Documentation.

Parámetros

pathname

The full path and file name of the file in which to write the trace log. Same as in fopen().

mode

An optional file access mode, same as for fopen().

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 pg_trace() example

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   pg_trace('/tmp/trace.log', 'w', $pgsql_conn);
   pg_query("SELECT 1");
   pg_untrace($pgsql_conn);
   // Now /tmp/trace.log will contain backend communication
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

Ver también

  • fopen() - Abre un fichero o una URL
  • pg_untrace() - Disable tracing of a PostgreSQL connection

pg_set_error_verbosity
pg_transaction_status
Funciones de PostgreSQL


Returns the current in-transaction status of the server.

pg_trace
pg_tty
Funciones de PostgreSQL
PHP Manual

pg_transaction_status

(PHP 5 >= 5.1.0)

pg_transaction_status — Returns the current in-transaction status of the server.

Descripción

int pg_transaction_status ( resource $connection )

Returns the current in-transaction status of the server.

Precaución

pg_transaction_status() will give incorrect results when using a PostgreSQL 7.3 server that has the parameter autocommit set to off. The server-side autocommit feature has been deprecated and does not exist in later server versions.

Parámetros

connection

PostgreSQL database connection resource.

Valores devueltos

The status can be PGSQL_TRANSACTION_IDLE (currently idle), PGSQL_TRANSACTION_ACTIVE (a command is in progress), PGSQL_TRANSACTION_INTRANS (idle, in a valid transaction block), or PGSQL_TRANSACTION_INERROR (idle, in a failed transaction block). PGSQL_TRANSACTION_UNKNOWN is reported if the connection is bad. PGSQL_TRANSACTION_ACTIVE is reported only when a query has been sent to the server and not yet completed.

Ejemplos

Ejemplo #1 pg_transaction_status() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");
  $stat = pg_transaction_status($dbconn);
  if ($stat === PGSQL_TRANSACTION_UNKNOWN) {
      echo 'Connection is bad';
  } else if ($stat === PGSQL_TRANSACTION_IDLE) {
      echo 'Connection is currently idle';
  } else {
      echo 'Connection is in a transaction state';
  }
?>

pg_trace
pg_tty
Funciones de PostgreSQL


Return the TTY name associated with the connection

pg_transaction_status
pg_unescape_bytea
Funciones de PostgreSQL
PHP Manual

pg_tty

(PHP 4, PHP 5)

pg_tty — Return the TTY name associated with the connection

Descripción

string pg_tty ([ resource $connection ] )

pg_tty() returns the TTY name that server side debugging output is sent to on the given PostgreSQL connection resource.

Nota:

pg_tty() is obsolete, since the server no longer pays attention to the TTY setting, but the function remains for backwards compatibility.

Parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Valores devueltos

A string containing the debug TTY of the connection, or FALSE on error.

Ejemplos

Ejemplo #1 pg_tty() example

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   print "Server debug TTY is: " . pg_tty($pgsql_conn) . "<br/>\n";
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

pg_transaction_status
pg_unescape_bytea
Funciones de PostgreSQL


Unescape binary for bytea type

pg_tty
pg_untrace
Funciones de PostgreSQL
PHP Manual

pg_unescape_bytea

(PHP 4 >= 4.3.0, PHP 5)

pg_unescape_bytea — Unescape binary for bytea type

Descripción

string pg_unescape_bytea ( string $data )

pg_unescape_bytea() unescapes PostgreSQL bytea data values. It returns the unescaped string, possibly containing binary data.

Nota:

When you SELECT a bytea type, PostgreSQL returns octal byte values prefixed with '\' (e.g. \032). Users are supposed to convert back to binary format manually.

This function requires PostgreSQL 7.2 or later. With PostgreSQL 7.2.0 and 7.2.1, bytea values must be cast when you enable multi-byte support. i.e. INSERT INTO test_table (image) VALUES ('$image_escaped'::bytea); PostgreSQL 7.2.2 or later does not need a cast. The exception is when the client and backend character encoding does not match, and there may be multi-byte stream error. User must then cast to bytea to avoid this error.

Parámetros

data

A string containing PostgreSQL bytea data to be converted into a PHP binary string.

Valores devueltos

A string containing the unescaped data.

Ejemplos

Ejemplo #1 pg_unescape_bytea() example

<?php
  // Connect to the database
  $dbconn = pg_connect('dbname=foo');

  // Get the bytea data
  $res = pg_query("SELECT data FROM gallery WHERE name='Pine trees'");
  $raw = pg_fetch_result($res, 'data');

  // Convert to binary and send to the browser
  header('Content-type: image/jpeg');
  echo pg_unescape_bytea($raw);
?>

Historial de cambios

Versión | Descripción
5.5.1 | A warning is thrown if the input string is invalid.

Ver también

  • pg_escape_bytea() - Escapar un string para insertarlo en un campo bytea
  • pg_escape_string() - Escape a string for query

pg_tty
pg_untrace
Funciones de PostgreSQL


Disable tracing of a PostgreSQL connection

pg_unescape_bytea
pg_update
Funciones de PostgreSQL
PHP Manual

pg_untrace

(PHP 4 >= 4.0.1, PHP 5)

pg_untrace — Disable tracing of a PostgreSQL connection

Descripción

bool pg_untrace ([ resource $connection ] )

Stop tracing started by pg_trace().

Parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Valores devueltos

Always returns TRUE.

Ejemplos

Ejemplo #1 pg_untrace() example

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   pg_trace('/tmp/trace.log', 'w', $pgsql_conn);
   pg_query("SELECT 1");
   pg_untrace($pgsql_conn);
   // Now tracing of backend communication is disabled
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

Ver también

  • pg_trace() - Enable tracing a PostgreSQL connection

pg_unescape_bytea
pg_update
Funciones de PostgreSQL


Update table

pg_untrace
pg_version
Funciones de PostgreSQL
PHP Manual

pg_update

(PHP 4 >= 4.3.0, PHP 5)

pg_update — Update table

Descripción

mixed pg_update ( resource $connection , string $table_name , array $data , array $condition [, int $options = PGSQL_DML_EXEC ] )

pg_update() updates records that matches condition with data. If options is specified, pg_convert() is applied to data with specified options.

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

connection

PostgreSQL database connection resource.

table_name

Name of the table into which to update rows.

data

An array whose keys are field names in the table table_name, and whose values are what matched rows are to be updated to.

condition

An array whose keys are field names in the table table_name, and whose values are the conditions that a row must meet to be updated.

options

Any number of PGSQL_CONV_OPTS, PGSQL_DML_NO_CONV, PGSQL_DML_EXEC or PGSQL_DML_STRING combined. If PGSQL_DML_STRING is part of the options then query string is returned.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Returns string if PGSQL_DML_STRING is passed via options.

Ejemplos

Ejemplo #1 pg_update() example

<?php
  $db = pg_connect('dbname=foo');
  $data = array('field1'=>'AA', 'field2'=>'BB');

  // This is safe, since $_POST is converted automatically
  $res = pg_update($db, 'post_log', $_POST, $data);
  if ($res) {
      echo "Data is updated: $res\n";
  } else {
      echo "User must have sent wrong inputs\n";
  }
?>

Historial de cambios

Versión | Descripción
5.5.3/5.4.19 | Direct SQL injection to table_name and Indirect SQL injection to identifiers are fixed.

Ver también

  • pg_convert() - convierte los valores de un array asociativo en valores adecuandolos para su uso en una sentencia SQL

pg_untrace
pg_version
Funciones de PostgreSQL


Devuelve un array con el cliente, protocolo y versión del servidor (si está disponible)

pg_update
SQLite
Funciones de PostgreSQL
PHP Manual

pg_version

(PHP 5)

pg_version — Devuelve un array con el cliente, protocolo y versión del servidor (si está disponible)

Descripción

array pg_version ([ resource $connection ] )

pg_version() Devuelve un array con el cliente, protocolo y la versión del servidor. Las versiones del protocolo y el servidor sólo están disponibles si PHP se compiló con PostgreSQL 7.4 o posterior.

Para obtener información más detallada del servidor, utilice pg_parameter_status().

Parámetros

connection

Recurso de conexión de base de datos PostgreSQL o PostgreSQL database connection resource. Cuando el parametro connection no esta presente, se utiliza la conexión por defecto. La conexión por defecto es la ultima conexión hecha por pg_connect() o pg_pconnect().

Valores devueltos

Devuelve un array con el client, protocol y server con sus claves y valores (si está disponibles). Devuelve FALSE en caso de error o una conexión no válida.

Ejemplos

Ejemplo #1 Ejemplo de pg_version()

<?php
  $dbconn = pg_connect("host=localhost port=5432 dbname=mary")
     or die("No e ha podido conectar");

  $v = pg_version($dbconn);

  echo $v['client'];
?>

El resultado del ejemplo sería:

7.4

Ver también

  • pg_parameter_status() - Looks up a current parameter setting of the server.

pg_update
SQLite
Funciones de PostgreSQL


SQLite

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • SQLite Funciones
    • sqlite_array_query — Ejecutar una consulta en una base de datos dada y devolver un array
    • sqlite_busy_timeout — Establecer la duración del tiempo de espera de ocupación, o deshabilitar los gestores ocupados
    • sqlite_changes — Devuelve el número de filas que han sido cambiadas mediante la sentencia SQL más reciente.
    • sqlite_close — Cierra un base de datos SQLite abierta
    • sqlite_column — Obtiene una columna de la fila actual de un conjunto de resultados
    • sqlite_create_aggregate — Registrar FDU totalizadora para usarla en sentencias SQL
    • sqlite_create_function — Registra una función "regular" definida por el usuario para ser usada en sentencias SQL
    • sqlite_current — Obtiene la fila actual como un array de un conjunto de resultado
    • sqlite_error_string — Devuelve la descripción de un código de error
    • sqlite_escape_string — Escapa una cadena para ser usada como un parámetro para una consulta
    • sqlite_exec — Ejecutar una consulta sin resultado en una base de datos dada
    • sqlite_factory — Abrir una base de datos SQLite y devolver un objeto SQLiteDatabase
    • sqlite_fetch_all — Recupera todas las filas de un conjunto de resultados como un array de arrays
    • sqlite_fetch_array — Recupera la siguiente fila de un conjunto de resultados como un array
    • sqlite_fetch_column_types — Devuelve un array con los tipos de columna de una tabla en particular
    • sqlite_fetch_object — Recupera la siguiente fila de un conjunto de resultados como un objeto
    • sqlite_fetch_single — Recupera la primera columna de un conjunto de resultados como cadena
    • sqlite_fetch_string — Alias de sqlite_fetch_single
    • sqlite_field_name — Devuelve el nombre de un campo en particular
    • sqlite_has_more — Comprueba si están o no disponibles más filas
    • sqlite_has_prev — Comprueba si está o no disponible una fila anterior
    • sqlite_key — Devuelve el índice de la fila actual
    • sqlite_last_error — Devuelve el código de error del último error de una base de datos
    • sqlite_last_insert_rowid — Devuelve el ID fila de la fila insertada más recientemente
    • sqlite_libencoding — Devuelve la codificación de la biblioteca SQLite vinculada
    • sqlite_libversion — Devuelve la versión de la biblioteca SQLite vinculada
    • sqlite_next — Busca el número de fila siguiente
    • sqlite_num_fields — Devolver el número de campos de un conjunto de resultados
    • sqlite_num_rows — Devolver el número de filas de un conjunto de resultados almacenado en buffer
    • sqlite_open — Abrir una base de datos SQLite y crear la base de datos si no existe
    • sqlite_popen — Abrir un gestor persistente a una base de datos SQLite y crearla si no existe
    • sqlite_prev — Busca el número de fila anterior de un conjunto de resultados
    • sqlite_query — Ejecutar una consulta en una base de datos dada y devolver un gestor de resultados
    • sqlite_rewind — Busca el primer número de fila
    • sqlite_seek — Busca un número de fila en particular en un conjunto de resultados almacenado en buffer
    • sqlite_single_query — Ejecuta una consulta y devuelve un array para cada colúmna única o el valor de la primera fila
    • sqlite_udf_decode_binary — Decodificar datos binarios pasados como parámetros a una FDU
    • sqlite_udf_encode_binary — Codificar datos binarios antes de devolverlos desde una UDF
    • sqlite_unbuffered_query — Ejecutar una consulta que no precargue ni almacene en buffer toda la información
    • sqlite_valid — Devuelve si están disponibles más filas
pg_version
Introducción
Extensiones de bases de datos específicas del proveedor


Introducción

Esta es una extensión para el Motor de Bases de Datos SQL Embebible SQLite. SQLite es una biblioteca de C que implementa un motor de base de datos SQL embebible. Los programas que se enlazan con la biblioteca SQLite pueden tener acceso a la base de datos SQL sin ejecutar un proceso RDBMS separado.

SQLite no es una biblioteca de cliente utilizada para conectarse a un gran servidor de bases de datos. SQLite es el servidor. La biblioteca SQLite lee y escribe directamente a y desde los ficheros de la base de datos en el disco.

Nota:

Para más información consulte el sitio Web de SQLite (» http://sqlite.org/).

SQLite
Instalación/Configuración
SQLite


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
SQLite


Requerimientos

Desde PHP 5, la extensión SQLite viene habilita de forma predeterminada. Con la versión 5.4 de PHP, la extensión SQLite solamente está disponible mediante PECL.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Desde PHP 5.0 está extensión estaba integrada con PHP. Con la versión 5.4 de PHP esta extensión solamente está disponible mediante PECL.

Los usuarios de Window deben habilitar php_sqlite.dll en php.ini para poder utilizar estas funciones. Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

En windows también se debe habilitar PDO, ya que desde PHP 5.1.0 depende de ella. Por tanto, php.ini se quedará finalmente con algo similar a esto:

extension=php_pdo.dll
extension=php_sqlite.dll
Si PDO se compila como extensión compartida en sistemas operativos Linux y Unix, se deberá compilar SQLite como extensión compartida usando la opción de configuración --with-sqlite=shared.

Las versiones de PHP 5.0.x de Windows habilitan esta extensión de forma predeterminada, de modo que no es necesario ningún fichero DLL.

SQLite 3 se apoya en PDO SQLite.

Nota: Instalación en Windows para cuentas sin privilegios

En sistemas operativos Windows, las cuentas sin privilegios no tienen la variable de entorno TMP habilitada por omisión. Esto provocará que sqlite cree los ficheros temporales en el directorio de Windows, lo cual no es aconsejable. Por esto, se aconseja establecer la variable de entorno TMP para el servidor web o para la cuenta de usuario sobre la que funciona el servidor web. Si se utilizara Apache, se podrá realizar mediante la directiva SetEnv en el fichero httpd.conf. Por ejemplo:

SetEnv TMP c:/temp
Si no se pudiera establecer esta configuración a nivel de servidor, se podrá realizar el ajuste desde el código:
<?php
putenv('TMP=C:/temp');
?>
La configuración debe apuntar a un directorio en el que el servidor web tenga permisos para crear ficheros, y por tanto, para escribir y eliminar los ficheros creados. En caso contrario, se obtendrán los siguientes mensajes de error: malformed database schema - unable to open a temporary database file for storing temporary tables

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de SQLite
Nombre | Por defecto | Cambiable | Registro de cambios
sqlite.assoc_case | "0" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

sqlite.assoc_case int

Indica si se utilizan índices hash con mayúsculas y minúsculas (0), mayúsculas(1) o minúsculas (2).

Esta opción es útil al buscar compatibilidad con otros sistemas de bases de datos, donde los nombres de las columnas siempre se devuelven en mayúsculas o minúsculas, independientemente de la forma real que tengan los campos en su esquema de la base de datos.

La biblioteca SQLite devuelve los nombres de columna en su formato original (como el que se haya usado en el esquema). Cuando sqlite.assoc_case está habilitado a 0 se mantendrá el formato original. Cuando se establece 1 o 2, PHP cambiará el formato de las claves hash de las claves a mayúsculas o minúsculas respectivamente.

El uso de esta opción conlleva un ligero impacto de rendimiento, pero es MUCHO más rápido que realizar esta conersación a mano usando código PHP.

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Existen dos recursos que utiliza la Interfaz SQLite. Por un lado la conexión a la base de datos, y por otro los juegos de resultados.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Las funciones sqlite_fetch_array() y sqlite_current() utilizan constantes para los distintos tipos de resultados que devuelven. Éstas son las constantes definidas:

Constantes de tipo de resultados de SQLite
SQLITE_ASSOC (int)
Las columnas se devuelven en el array, utilizando el nombre de campo como índice del array.
SQLITE_BOTH (int)
Las columnas se devuelven en el array, utilizando tanto los índices numéricos como los nombres de los campos como claves del array.
SQLITE_NUM (int)
Las columnas se devuelve en el array, utilizando índices numéricos. Estos índices comienzan a partir de 0.

Varias funciones pueden devolver un código de estado. Éstas son las constantes definidas:

Constantes de códigos de estado de SQLite
SQLITE_OK (int)
Resultado exitoso.
SQLITE_ERROR (int)
Error de SQL o base de datos no encontrada.
SQLITE_INTERNAL (int)
Error lógico interno en SQLite.
SQLITE_PERM (int)
Permisos de acceso denegados.
SQLITE_ABORT (int)
La función callback ha solicitado que se aborte la operación.
SQLITE_BUSY (int)
El fichero de base de datos está bloqueado.
SQLITE_LOCKED (int)
Hay una tabla en la base de datos bloqueada.
SQLITE_NOMEM (int)
Error de asignación de memoria.
SQLITE_READONLY (int)
Se ha intentado escribir en una base de datos de sólo lectura.
SQLITE_INTERRUPT (int)
La operación ha finalizado internamente.
SQLITE_IOERR (int)
Ha sucedido un error de E/S en el disco.
SQLITE_NOTADB (int)
Se ha abierto un fichero que no es una base de datos.
SQLITE_CORRUPT (int)
La imagen de disco de la base de datos está malformada.
SQLITE_FORMAT (int)
Error de formato en la base de datos auxiliar.
SQLITE_NOTFOUND (int)
(Interno) Tabla o registro no encontrado.
SQLITE_FULL (int)
Ha fallado la inserción a causa de que la base de datos está llena.
SQLITE_CANTOPEN (int)
No se ha podido abrir el fichero de base de datos.
SQLITE_PROTOCOL (int)
Error de protocolo bloqueante en la base de datos.
SQLITE_EMPTY (int)
(Interno) La tabla de la base de datos está vacía.
SQLITE_SCHEMA (int)
El esquema de la base de datos ha cambiado.
SQLITE_TOOBIG (int)
Demasiados datos para una única fila e la tabla.
SQLITE_CONSTRAINT (int)
Operación cancelada debido a que se ha incumplido una restricción.
SQLITE_MISMATCH (int)
Los tipos de datos no coinciden.
SQLITE_MISUSE (int)
La biblioteca se está usando incorrectamente.
SQLITE_NOLFS (int)
Funcionalidad de sistema operativo no soportada en el servidor.
SQLITE_AUTH (int)
Fallo de autorización.
SQLITE_ROW (int)
El proceso interno tiene otra fila preparada.
SQLITE_DONE (int)
El proceso interno ha finalizado la ejecución.
Tipos de recursos
SQLite Funciones
SQLite


SQLite Funciones

Clases predefinidas

SQLiteDatabase

Representa una base de datos SQLite abierta.

Constructor

  • __construct - Construir un objeto nuevo SQLiteDatabase

Métodos

  • query - Ejecutar un query
  • queryExec - Ejecutar un resultado menos-consulta
  • arrayQuery - Ejecuta una consulta y devolver el resultado como una matriz
  • singleQuery - Ejecuta una consulta y devuelve o una matriz para una columna o el valor de la primera fila
  • unbufferedQuery - Ejecuta una consulta sin búfer
  • lastInsertRowid - Devuelve el identificador de la última fila insertada
  • changes - Devuelve el número de registros cambiados por la declaración más reciente
  • createAggregate - Registra una FDU agregación para su uso en sentencias SQL
  • createFunction - Registrar una UDF para su uso en sentencias SQL
  • busyTimeout - Establece o deshabilita la duración del temporizador de ocupado
  • lastError - Devuelve el último código de error del error más reciente encontrado
  • fetchColumnTypes - Devuelve una matriz de tipos de columnas de una tabla en particular

SQLiteResult

Representa un buffer conjunto SQLite resultado.

Métodos

  • fetch - Busca la siguiente fila del conjunto de resultados como un arreglo
  • fetchObject - Busca la siguiente fila del conjunto de resultados como un objeto
  • fetchSingle - Obtiene la primera columna del conjunto de resultados como una cadena
  • fetchAll - Obtiene todas las filas del conjunto de resultados como un arreglo de arreglos
  • column - Obtiene una columna de la fila actual del conjunto de resultados
  • numFields - Devuelve el número de campos en el conjunto de resultados
  • fieldName - Devuelve el nombre de un campo determinado en el conjunto de resultados
  • current - Obtiene la fila actual del conjunto de resultados como una arreglo
  • key - Devuelve el índice de la fila actual
  • next - Se desplaza hasta el siguiente número de fila
  • valid - Indica si existen más filas disponibles
  • rewind - Se desplaza hasta el primer número de fila del conjunto
  • prev - Se desplaza hasta el número de la fila anterior del conjunto de resultados
  • hasPrev - Devuelve si una fila anterior está disponible
  • numRows - Devuelve el número de filas en el conjunto de resultados
  • seek - Se desplaza hasta un determinado número de filas

SQLiteUnbuffered

Representa un conjunto de búfer SQLite resultado. Conjuntos de resultados sin búfer son secuenciales, con visión de buscar solamente.

Métodos

  • fetch - Busca la siguiente fila del conjunto de resultados como un arreglo
  • fetchObject - Busca la siguiente fila del conjunto de resultados como un objeto
  • fetchSingle - Obtiene la primera columna del conjunto de resultados como una cadena
  • fetchAll - Obtiene todas las filas del conjunto de resultados como una matriz de matrices
  • column - Obtiene una columna de la fila actual del conjunto de resultados
  • numFields - Devuelve el número de campos en el conjunto de resultados
  • fieldName - Devuelve el nombre de un campo determinado en el conjunto de resultados
  • current - Obtiene la fila actual del conjunto de resultados como un arreglo
  • next - Se desplaza hasta el siguiente número de fila
  • valid - Indica si existen más filas disponibles

Tabla de contenidos

  • sqlite_array_query — Ejecutar una consulta en una base de datos dada y devolver un array
  • sqlite_busy_timeout — Establecer la duración del tiempo de espera de ocupación, o deshabilitar los gestores ocupados
  • sqlite_changes — Devuelve el número de filas que han sido cambiadas mediante la sentencia SQL más reciente.
  • sqlite_close — Cierra un base de datos SQLite abierta
  • sqlite_column — Obtiene una columna de la fila actual de un conjunto de resultados
  • sqlite_create_aggregate — Registrar FDU totalizadora para usarla en sentencias SQL
  • sqlite_create_function — Registra una función "regular" definida por el usuario para ser usada en sentencias SQL
  • sqlite_current — Obtiene la fila actual como un array de un conjunto de resultado
  • sqlite_error_string — Devuelve la descripción de un código de error
  • sqlite_escape_string — Escapa una cadena para ser usada como un parámetro para una consulta
  • sqlite_exec — Ejecutar una consulta sin resultado en una base de datos dada
  • sqlite_factory — Abrir una base de datos SQLite y devolver un objeto SQLiteDatabase
  • sqlite_fetch_all — Recupera todas las filas de un conjunto de resultados como un array de arrays
  • sqlite_fetch_array — Recupera la siguiente fila de un conjunto de resultados como un array
  • sqlite_fetch_column_types — Devuelve un array con los tipos de columna de una tabla en particular
  • sqlite_fetch_object — Recupera la siguiente fila de un conjunto de resultados como un objeto
  • sqlite_fetch_single — Recupera la primera columna de un conjunto de resultados como cadena
  • sqlite_fetch_string — Alias de sqlite_fetch_single
  • sqlite_field_name — Devuelve el nombre de un campo en particular
  • sqlite_has_more — Comprueba si están o no disponibles más filas
  • sqlite_has_prev — Comprueba si está o no disponible una fila anterior
  • sqlite_key — Devuelve el índice de la fila actual
  • sqlite_last_error — Devuelve el código de error del último error de una base de datos
  • sqlite_last_insert_rowid — Devuelve el ID fila de la fila insertada más recientemente
  • sqlite_libencoding — Devuelve la codificación de la biblioteca SQLite vinculada
  • sqlite_libversion — Devuelve la versión de la biblioteca SQLite vinculada
  • sqlite_next — Busca el número de fila siguiente
  • sqlite_num_fields — Devolver el número de campos de un conjunto de resultados
  • sqlite_num_rows — Devolver el número de filas de un conjunto de resultados almacenado en buffer
  • sqlite_open — Abrir una base de datos SQLite y crear la base de datos si no existe
  • sqlite_popen — Abrir un gestor persistente a una base de datos SQLite y crearla si no existe
  • sqlite_prev — Busca el número de fila anterior de un conjunto de resultados
  • sqlite_query — Ejecutar una consulta en una base de datos dada y devolver un gestor de resultados
  • sqlite_rewind — Busca el primer número de fila
  • sqlite_seek — Busca un número de fila en particular en un conjunto de resultados almacenado en buffer
  • sqlite_single_query — Ejecuta una consulta y devuelve un array para cada colúmna única o el valor de la primera fila
  • sqlite_udf_decode_binary — Decodificar datos binarios pasados como parámetros a una FDU
  • sqlite_udf_encode_binary — Codificar datos binarios antes de devolverlos desde una UDF
  • sqlite_unbuffered_query — Ejecutar una consulta que no precargue ni almacene en buffer toda la información
  • sqlite_valid — Devuelve si están disponibles más filas
Constantes predefinidas
sqlite_array_query
SQLite


Ejecutar una consulta en una base de datos dada y devolver un array

SQLite Funciones
sqlite_busy_timeout
SQLite Funciones
PHP Manual

sqlite_array_query

SQLiteDatabase::arrayQuery

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_array_query -- SQLiteDatabase::arrayQuery — Ejecutar una consulta en una base de datos dada y devolver un array

Descripción

array sqlite_array_query ( resource $dbhandle , string $query [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )
array sqlite_array_query ( string $query , resource $dbhandle [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

Estilo orientado a objetos (método):

public array SQLiteDatabase::arrayQuery ( string $query [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

sqlite_array_query() ejecuta la consulta dada y devuelve un array con el conjunto de resultados completo. Es similar a llamar a sqlite_query() y después a sqlite_fetch_array() para cada fila del conjunto de resultados. sqlite_array_query() es significativamente más rápida que la mencionada anteriormente.

Sugerencia

sqlite_array_query() es más apropiada para consultas que devuelven 45 filas o menos. Si se tienen más datos que estos, se recomienda que escriba sus scripts para que usen en su lugar sqlite_unbuffered_query() para un rendimiento más óptimo.

Parámetros

query

La consulta a ejecutar.

La información dentro de la consulta debería ser escapada apropiadamente.

dbhandle

El recurso de Base de Datos SQLite; devuelto por sqlite_open() cuando se usa procedimentalmente. Este parámetro no es necesario al usar el método orientado a objetos.

result_type

El parámetro opcional result_type acepta una constante y determina cómo se indexará el array devuelto. Usar SQLITE_ASSOC devolverá índices asociativos (los nombres de los campos) mientras que SQLITE_NUM devolverá sólo índices numéricos (los campos en números ordinales). SQLITE_BOTH devolverá índices tanto asociativos como numéricos. SQLITE_BOTH es el valor por defecto para esta función.

decode_binary

Cuando el parámetro decode_binary es seteado a TRUE (el valor por defecto), PHP decodificará la codificación binaria que se aplicó a los datos si éstos fueron codificados usando la función sqlite_escape_string(). Normalmente debería dejar este valor por defecto, a menos que esté interoperando con bases de datos creadas por otras aplicaciones sqlite.

Nota: Dos sintaxis alternativas son soportadas para la compatibilidad con otras extensiones de base de datos (tal como MySQL). La forma preferida es la primera, donde el parámetro dbhandle es el primero de la función.

Valores devueltos

Devuelve un array con el conjunto de resultados completo; FALSE de otro modo.

Los nombre de las columnas devueltos por SQLITE_ASSOC y SQLITE_BOTH serán mayúsculas o no de acuerdo al valor de la opción de configuración sqlite.assoc_case.

Ejemplos

Ejemplo #1 Estilo por procedimientos

<?php
$gestor_bd = sqlite_open('sqlitedb');
$resultado = sqlite_array_query($gestor_bd, 'SELECT name, email FROM users LIMIT 25', SQLITE_ASSOC);
foreach ($resultado as $entrada) {
    echo 'Nombre: ' . $entrada['name'] . '  E-mail: ' . $entrada['email'];
}
?>

Ejemplo #2 Estilo orientado a objetos

<?php
$gestor_bd = new SQLiteDatabase('sqlitedb');
$resultado = $gestor_bd->arrayQuery('SELECT name, email FROM users LIMIT 25', SQLITE_ASSOC);
foreach ($resultado as $entrada) {
    echo 'Nombre: ' . $entrada['name'] . '  E-mail: ' . $entrada['email'];
}
?>

Ver también

  • sqlite_query() - Ejecutar una consulta en una base de datos dada y devolver un gestor de resultados
  • sqlite_fetch_array() - Recupera la siguiente fila de un conjunto de resultados como un array
  • sqlite_fetch_string() - Alias de sqlite_fetch_single

SQLite Funciones
sqlite_busy_timeout
SQLite Funciones


Establecer la duración del tiempo de espera de ocupación, o deshabilitar los gestores ocupados

sqlite_array_query
sqlite_changes
SQLite Funciones
PHP Manual

sqlite_busy_timeout

SQLiteDatabase::busyTimeout

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_busy_timeout -- SQLiteDatabase::busyTimeout — Establecer la duración del tiempo de espera de ocupación, o deshabilitar los gestores ocupados

Descripción

void sqlite_busy_timeout ( resource $dbhandle , int $milliseconds )

Estilo orientado a objetos (method):

public void SQLiteDatabase::busyTimeout ( int $milliseconds )

Esteblece el tiempo máximo, en milisegundos, en el que SQLite esperará para que un gestor dado por dbhandle esté listo para su uso.

Parámetros

dbhandle

El recurso de Base de datos SQLite; devuelto por sqlite_open() cuando se usa procedimentalmente. Este parámetro no es necesario al usar el método orientado a objetos.

milliseconds

El número de milisegundos. Cuando se establece a 0, los gestores ocupados se deshabilitarán y SQLite devolverá inmediatamente con código de estado SQLITE_BUSY si otro proceso/hilo tiene la base de datos bloqueada para una actualización.

PHP establece el timpo de espera de ocupación predeterminado a 60 segundos cuando la base de datos es abierta.

Nota:

Hay mil (1000) milisegundos en un segundo.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Estilo por procedimientos

<?php
$gestor_bd = sqlite_open('sqlitedb');
sqlite_busy_timeout($gestor_bd, 10000); // establecer el tiempo de espera en 10 segundos
sqlite_busy_timeout($gestor_bd, 0); // deshabilitar los gestores ocupados
?>

Ejemplo #2 Estilo orientado a objetos

<?php
$gestor_bd = new SQLiteDatabase('sqlitedb');
$gestor_bd->busyTimeout(10000); // 10 segundos
$gestor_bd->busyTimeout(0); // deshabilitar
?>

Ver también

  • sqlite_open() - Abrir una base de datos SQLite y crear la base de datos si no existe

sqlite_array_query
sqlite_changes
SQLite Funciones


Devuelve el número de filas que han sido cambiadas mediante la sentencia SQL más reciente.

sqlite_busy_timeout
sqlite_close
SQLite Funciones
PHP Manual

sqlite_changes

SQLiteDatabase::changes

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_changes -- SQLiteDatabase::changes — Devuelve el número de filas que han sido cambiadas mediante la sentencia SQL más reciente.

Descripción

int sqlite_changes ( resource $dbhandle )

Estilo orientado a objetos (método):

public int SQLiteDatabase::changes ( void )

Devuelve el número de filas que han sido cambiadas mediante la sentencia SQL más reciente ejecutada contra el manejador de base de datos dbhandle.

Parámetros

dbhandle

El recurso de base de datos devuelto desde sqlite_open(). Este parámetro no es requerido cuando se usa el método "Orientado a objetos".

Valores devueltos

Devuelve el número de filas cambiadas.

Ejemplos

Ejemplo #1 Estilo por procedimientos

<?php
$dbhandle = sqlite_open('mysqlitedb');
$query = sqlite_query($dbhandle, "UPDATE users SET email='jDoe@example.com' WHERE username='jDoe'");
if (!$query) {
    exit('Error in query.');
} else {
    echo 'Number of rows modified: ', sqlite_changes($dbhandle);
}
?>

Ejemplo #2 Estilo orientado a objetos

<?php
$dbhandle = new SQLiteDatabase('mysqlitedb');
$query = $dbhandle->query("UPDATE users SET email='jDoe@example.com' WHERE username='jDoe'");
if (!$query) {
    exit('Error in query.');
} else {
    echo 'Number of rows modified: ', $dbhandle->changes();
}
?>

Ver también

  • sqlite_open() - Abrir una base de datos SQLite y crear la base de datos si no existe

sqlite_busy_timeout
sqlite_close
SQLite Funciones


Cierra un base de datos SQLite abierta

sqlite_changes
sqlite_column
SQLite Funciones
PHP Manual

sqlite_close

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_close — Cierra un base de datos SQLite abierta

Descripción

void sqlite_close ( resource $dbhandle )

Cierra el manejador de db_handle dado. Si la base de datos fue persistente, será cerrada y eliminada de la lista de persistentes.

Parámetros

dbhandle

El recurso de base de datos SQLite; devuelto desde sqlite_open().

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de sqlite_close()

<?php
$dbhandle = sqlite_open('sqlitedb');
sqlite_close($dbhandle);
?>

Ver también

  • sqlite_open() - Abrir una base de datos SQLite y crear la base de datos si no existe
  • sqlite_popen() - Abrir un gestor persistente a una base de datos SQLite y crearla si no existe

sqlite_changes
sqlite_column
SQLite Funciones


Obtiene una columna de la fila actual de un conjunto de resultados

sqlite_close
sqlite_create_aggregate
SQLite Funciones
PHP Manual

sqlite_column

SQLiteResult::column

SQLiteUnbuffered::column

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_column -- SQLiteResult::column -- SQLiteUnbuffered::column — Obtiene una columna de la fila actual de un conjunto de resultados

Descripción

mixed sqlite_column ( resource $result , mixed $index_or_name [, bool $decode_binary = true ] )
mixed SQLiteResult::column ( mixed $index_or_name [, bool $decode_binary = true ] )
mixed SQLiteUnbuffered::column ( mixed $index_or_name [, bool $decode_binary = true ] )

Obtiene el valor de una columna llamada index_or_name (si es un string), o del número ordinal de columna index_or_name (si es un integer) de la fila actual del manejador del resultado result de una consulta.

Parámetros

result

El recurso del resultado de SQLite. Este parámetro no es requerido cuando se usa el método orientado a objetos.

index_or_name

El índice o nombre de la columna a obtener.

decode_binary

Cuando el parámetro decode_binary es seteado a TRUE (el valor por defecto), PHP decodificará la codificación binaria que se aplicó a los datos si éstos fueron codificados usando la función sqlite_escape_string(). Normalmente debería dejar este valor por defecto, a menos que esté interoperando con bases de datos creadas por otras aplicaciones sqlite.

Valores devueltos

Devuelve el valor de la columna.

Notas

Nota:

Usar esta función cuando se esté iterando un conjunto de resultado grande con muchas columnas, o con columnas que contengan una gran cantidad de datos.

Ver también

  • sqlite_fetch_string() - Alias de sqlite_fetch_single

sqlite_close
sqlite_create_aggregate
SQLite Funciones


Registrar FDU totalizadora para usarla en sentencias SQL

sqlite_column
sqlite_create_function
SQLite Funciones
PHP Manual

sqlite_create_aggregate

SQLiteDatabase::createAggregate

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_create_aggregate -- SQLiteDatabase::createAggregate — Registrar FDU totalizadora para usarla en sentencias SQL

Descripción

void sqlite_create_aggregate ( resource $dbhandle , string $function_name , callable $step_func , callable $finalize_func [, int $num_args = -1 ] )

Estilo orientado a objetos (method):

public void SQLiteDatabase::createAggregate ( string $function_name , callable $step_func , callable $finalize_func [, int $num_args = -1 ] )

sqlite_create_aggregate() es similar a sqlite_create_function() excepto que registra funciones que pueden ser usadas para calcular un resultado totalizador de todas las filas de una consulta.

La diferencia principal entre esta función y sqlite_create_function() es que se necesitan dos funciones para administrar la totalización; step_func es llamada para cada fila del conjunto de resultados. La función de PHP debería acumular el resultado y almacenarlo en un contexto totalizador. Una vez que se han procesado todas las filas, finalize_func será llamada y entonces debería tomar los datos desde el contexto totalizador y devolver el resultado. Las funciones de llamada de retorno deberían un tipo comprendido por SQLite (esto es, un tipo escalar).

Parámetros

dbhandle

El recurso de Base de datos de SQLite; devuelto por sqlite_open() cuando se usa procedimentalmente. Este parámetro no es necesario cuando se usa el método orientado a objetos.

function_name

El nombre de la función utlizada en las sentencias SQL.

step_func

Función de llamada de retorno llamada para cada fila del conjunto de resultados. Los parámetros de la función son &$context, $value, ....

finalize_func

Función de llamada de retorno para totalizar los datos "escalonados" de cada fila. El parámero de la función es &$context y la función debería devolver el resultado final de la totalización.

num_args

Alusión al analizador de SQLite si la función de llamada de retorno acepta un número predeterminado de argumentos.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de función totalizadora max_length

<?php
$data = array(
   'one',
   'two',
   'three',
   'four',
   'five',
   'six',
   'seven',
   'eight',
   'nine',
   'ten',
   );
$dbhandle = sqlite_open(':memory:');
sqlite_query($dbhandle, "CREATE TABLE strings(a)");
foreach ($data as $str) {
    $str = sqlite_escape_string($str);
    sqlite_query($dbhandle, "INSERT INTO strings VALUES ('$str')");
}

function max_len_step(&$context, $string)
{
    if (strlen($string) > $context) {
        $context = strlen($string);
    }
}

function max_len_finalize(&$context)
{
    return $context;
}

sqlite_create_aggregate($dbhandle, 'max_len', 'max_len_step', 'max_len_finalize');

var_dump(sqlite_array_query($dbhandle, 'SELECT max_len(a) from strings'));

?>

En este ejemplo creamos una función totalizadora que calculará la longitud de la cadena más larga en una de las columnas de la tabla. Para cada fila, la función max_len_step es llamada y se le pasa un parámetro context. El parámetro context es como cualquier otra variable de PHP y es establecido para contener un array o incluso un valor de un objeto. En este ejemplo, simplemente estamos usándolo para que contenga la longitud máxima que hemos estado viendo; si el parámetro string tiene una longitud mayor que el máximo actual, actualizamos el contexto para que contenga esta nueva longitud máxima.

Después de que todas las filas se hayan procesado, SQLite llama a la función max_len_finalize para determinar el resultado total. Aquí, podríamos llevar a cabo algún tipo de cálculo basado en los datos encontrados en context. Aunque en nuestro sencillo ejemplo hemos ido calculando el resultado mientras la consulta progresaba, por lo que simplemente necesitamos devolver el valor de contex.

Nota:

El ejemplo de arrbia no funcionará correctamente si la columna contiene datos binarios. Échele un vistazo a la página del manual de sqlite_udf_decode_binary() para una explicación de por qué esto es así, y un ejemplo de cómo hacerlo respecto a la codificación binaria.

Sugerencia

NO se recomienda almacenar una copia de los valores de context y despúes procesarlos al final, ya que causaría que SQLite usara un montoón de memoria para procesar la consulta - simplemente piense en cúanta memoria se necesitaría si estuviesen almacenadas en memoria un millón de filas, cada una conteniendo una cadena de 32 bytes de longitud.

Sugerencia

Se puede usar sqlite_create_function() y sqlite_create_aggregate() para sobrescribir las funciones SQL nativas de SQLite.

Ver también

  • sqlite_create_function() - Registra una función "regular" definida por el usuario para ser usada en sentencias SQL
  • sqlite_udf_encode_binary() - Codificar datos binarios antes de devolverlos desde una UDF
  • sqlite_udf_decode_binary() - Decodificar datos binarios pasados como parámetros a una FDU

sqlite_column
sqlite_create_function
SQLite Funciones


Registra una función "regular" definida por el usuario para ser usada en sentencias SQL

sqlite_create_aggregate
sqlite_current
SQLite Funciones
PHP Manual

sqlite_create_function

SQLiteDatabase::createFunction

(PHP 5 < 5.4.0, sqlite >= 1.0.0)

sqlite_create_function -- SQLiteDatabase::createFunction — Registra una función "regular" definida por el usuario para ser usada en sentencias SQL

Descripción

void sqlite_create_function ( resource $dbhandle , string $function_name , callable $callback [, int $num_args = -1 ] )

Estilo orientado a objetos (método):

public void SQLiteDatabase::createFunction ( string $function_name , callable $callback [, int $num_args = -1 ] )

sqlite_create_function() permite registrar una función PHP con SQLite como un UDF (User Defined Function), para así poder ser llamada desde dentro de sus sentencias SQL.

La UDF puede ser usada en cualquier sentencia SQL que pueda llamar a funciones, tales como sentencias SELECT y UPDATE, y también en triggers.

Parámetros

dbhandle

El recurso de base de datos devuelto desde sqlite_open(). Este parámetro no es requerido cuando se usa el método "Orientado a objetos".

function_name

El nombre de la función que se va a usar en las sentencias SQL.

callback

Función de retorno para manejar la función SQL definida.

Nota: Las funciones de retorno deben devolver un tipo que SQLite sea capaz de entender (por ejemplo tipo escalar).

num_args

Sugerencia para el intérprete de SQLite si la función acepta un número predeterminado de argumentos.

Nota: Dos sintaxis alternativas son soportadas para la compatibilidad con otras extensiones de base de datos (tal como MySQL). La forma preferida es la primera, donde el parámetro dbhandle es el primero de la función.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de sqlite_create_function()

<?php
function md5_and_reverse($string)
{
    return strrev(md5($string));
}

if ($dbhandle = sqlite_open('mysqlitedb', 0666, $sqliteerror)) {

    sqlite_create_function($dbhandle, 'md5rev', 'md5_and_reverse', 1);

    $sql  = 'SELECT md5rev(filename) FROM files';
    $rows = sqlite_array_query($dbhandle, $sql);
} else {
    echo 'Error opening sqlite db: ' . $sqliteerror;
    exit;
}
?>

En este ejemplo tenemos una función que calcula el valor md5 de un string, y luego lo pone del revés. Cuando se ejecuta la sentencia SQL, devuelve el valor del nombre de fichero transformado por otra función. Los datos devueltos en $rows contienen el resultado de la consulta procesada.

La belleza de esta técnica es que no se necesita procesar el resultado utilizando un loop foreach despues de que se hayan consultado los datos.

PHP registra una función especial llamada php cuando la base de datos se abre por primera vez. La función php puede ser usada para llamar cualquier función PHP sin tener que registrarla primero.

Ejemplo #2 Ejemplo de uso de la función PHP

<?php
$rows = sqlite_array_query($dbhandle, "SELECT php('md5', filename) from files");
?>

Este ejemplo llamará la función md5() en cada columna filename en la base de datos y devolverá el resultado en $rows

Nota:

Por razones de funcionamiento, PHP no codifica/descodifica automaticamente datos binarios pasados para y desde los UDFs. Es necesario codificar/descodificar manualmente los parámetros y valores devueltos si se necesita procesar los datos binarios de esta manera. Echar un vistazo a sqlite_udf_encode_binary() y sqlite_udf_decode_binary() para más información.

Sugerencia

No se recomienda usar UDFs para manejar el proceso de datos binarios, a menos que el alto rendimiento no sea un requisito indispensable para su aplicación.

Sugerencia

Puede utilizar sqlite_create_function() y sqlite_create_aggregate() para reemplazar las funciones SQL nativas de SQLite.

Ver también

  • sqlite_create_aggregate() - Registrar FDU totalizadora para usarla en sentencias SQL

sqlite_create_aggregate
sqlite_current
SQLite Funciones


Obtiene la fila actual como un array de un conjunto de resultado

sqlite_create_function
sqlite_error_string
SQLite Funciones
PHP Manual

sqlite_current

SQLiteResult::current

SQLiteUnbuffered::current

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_current -- SQLiteResult::current -- SQLiteUnbuffered::current — Obtiene la fila actual como un array de un conjunto de resultado

Descripción

array sqlite_current ( resource $result [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

Estilo orientado a objetos (método):

array SQLiteResult::current ([ int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )
array SQLiteUnbuffered::current ([ int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

sqlite_current() es identica a sqlite_fetch_array() excepto que esta no avanza a la siguiente fila antes de devolver los datos, sino que solamente devuelve los datos de la posición actual.

Parámetros

result

El recurso del resultado de SQLite. Este parámetro no es requerido cuando se usa el método orientado a objetos.

result_type

El parámetro opcional result_type acepta una constante y determina cómo se indexará el array devuelto. Usar SQLITE_ASSOC devolverá índices asociativos (los nombres de los campos) mientras que SQLITE_NUM devolverá sólo índices numéricos (los campos en números ordinales). SQLITE_BOTH devolverá índices tanto asociativos como numéricos. SQLITE_BOTH es el valor por defecto para esta función.

decode_binary

Cuando el parámetro decode_binary es seteado a TRUE (el valor por defecto), PHP decodificará la codificación binaria que se aplicó a los datos si éstos fueron codificados usando la función sqlite_escape_string(). Normalmente debería dejar este valor por defecto, a menos que esté interoperando con bases de datos creadas por otras aplicaciones sqlite.

Valores devueltos

Devuelve un array de la fila actual de un conjunto de resultados;. FALSE Si el posición actual está más allá de la última fila.

Los nombre de las columnas devueltos por SQLITE_ASSOC y SQLITE_BOTH serán mayúsculas o no de acuerdo al valor de la opción de configuración sqlite.assoc_case.

Ver también

  • sqlite_seek() - Busca un número de fila en particular en un conjunto de resultados almacenado en buffer
  • sqlite_next() - Busca el número de fila siguiente
  • sqlite_fetch_array() - Recupera la siguiente fila de un conjunto de resultados como un array

sqlite_create_function
sqlite_error_string
SQLite Funciones


Devuelve la descripción de un código de error

sqlite_current
sqlite_escape_string
SQLite Funciones
PHP Manual

sqlite_error_string

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_error_string — Devuelve la descripción de un código de error

Descripción

string sqlite_error_string ( int $error_code )

Devuelve una descripción de un error_code devuelto desde sqlite_last_error().

Parámetros

error_code

El código de error que se está usando, el cual puede ser pasado desde sqlite_last_error().

Valores devueltos

Devuelve una descripción del código de error error_code, como un string.

Ver también

  • sqlite_last_error() - Devuelve el código de error del último error de una base de datos

sqlite_current
sqlite_escape_string
SQLite Funciones


Escapa una cadena para ser usada como un parámetro para una consulta

sqlite_error_string
sqlite_exec
SQLite Funciones
PHP Manual

sqlite_escape_string

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_escape_string — Escapa una cadena para ser usada como un parámetro para una consulta

Descripción

string sqlite_escape_string ( string $item )

sqlite_escape_string() escapará correctamente la cadena especificada mediante item para ser usada en una sentencia SQL SQLite. Incluye la duplicación de los caracteres de comillas simples (') y la comprobación de caracteres binarios que no sean seguros en la consulta.

Aunque la codificación es segura para la inserción de datos, se hacen comparaciones de texto simples y cláusulas LIKE en las consultas inutilizables para las columnas que contienen datos binarios. En la práctica, esto no deberia ser un problema, ya que en el esquema no se deberian usar tales cosas en columnas binarias (de hecho, podría ser mejor almacenar datos binarios utilizando otros métodos, como por ejemplo en ficheros).

Parámetros

item

El string que va a ser escapado.

Si item contiene un caracterNUL, o si este empieza con caracter cuyo valor ordinal es 0x01, PHP aplicará un esquema de codificación binaria, para que pueda ser almacenado con seguridad y recuperar datos binarios.

Valores devueltos

Devuelve un string escapado para ser usado en una sentencia SQL SQLite SQL.

Notas

Nota:

    No usar esta función para codificar los valores devueltos desde los UDFs creados usando
      sqlite_create_function() o
     sqlite_create_aggregate() - usar en su lugar
     sqlite_udf_encode_binary().

Advertencia

addslashes() NO deberia ser usado para escapar strings para consultas SQLite; ya que esto conducirá a extraños resultado cuando se devuelvan sus datos.

Ver también

  • sqlite_udf_encode_binary() - Codificar datos binarios antes de devolverlos desde una UDF

sqlite_error_string
sqlite_exec
SQLite Funciones


Ejecutar una consulta sin resultado en una base de datos dada

sqlite_escape_string
sqlite_factory
SQLite Funciones
PHP Manual

sqlite_exec

SQLiteDatabase::exec

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.3)

sqlite_exec -- SQLiteDatabase::exec — Ejecutar una consulta sin resultado en una base de datos dada

Descripción

bool sqlite_exec ( resource $dbhandle , string $query [, string &$error_msg ] )
bool sqlite_exec ( string $query , resource $dbhandle )

Estilo orientado a objetos (método):

public bool SQLiteDatabase::queryExec ( string $query [, string &$error_msg ] )

Ejecuta una sentencia SQL dada por query en un gestor de base de datos dado (especificado por el parámetro dbhandle).

Advertencia

SQLite ejecutará múltiples consultas separadas por puntos y comas, por lo que se puede usar esta función para ejecutar un lote de SQL que se haya cargado desde un fichero o embebido en un script.

Parámetros

dbhandle

El recurso de Base de datos de SQLite; devuelto por sqlite_open() cuando se usa procedimentalmente. Este parámetro no es necesario cuando se usa el método orientado a objetos.

query

La consulta a ejectuar.

Los datos dentro de la consulta deberían ser apropiadamente escapados.

error_msg

La variable especificada será rellenada si ocurre un error. Esto es especialmente importante ya que los errores de sintaxis de SQL no se pueden recoger usando la función sqlite_last_error().

Nota: Dos sintaxis alternativas son soportadas para la compatibilidad con otras extensiones de base de datos (tal como MySQL). La forma preferida es la primera, donde el parámetro dbhandle es el primero de la función.

Valores devueltos

Esta función devolverá un resultado booleano; TRUE en caso de éxito o FALSE en caso de error. Si se necesita ejecutar una consulta que devuelva filas, véase sqlite_query().

Los nombre de las columnas devueltos por SQLITE_ASSOC y SQLITE_BOTH serán mayúsculas o no de acuerdo al valor de la opción de configuración sqlite.assoc_case.

Historial de cambios

Versión | Descripción
5.1.0 | Se añadió el parámetro error_msg

Ejemplos

Ejemplo #1 Ejemplo procedimental

<?php
$dbhandle = sqlite_open('mysqlitedb');
$query = sqlite_exec($dbhandle, "UPDATE users SET email='jDoe@example.com' WHERE username='jDoe'", $error);
if (!$query) {
    exit("Error en la consulta: '$error'");
} else {
    echo 'Número de filas modificadas: ', sqlite_changes($dbhandle);
}
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$dbhandle = new SQLiteDatabase('mysqlitedb');
$query = $dbhandle->queryExec("UPDATE users SET email='jDoe@example.com' WHERE username='jDoe'", $error);
if (!$query) {
    exit("Error en la consulta: '$error'");
} else {
    echo 'Número de filas modificadas: ', $dbhandle->changes();
}
?>

Ver también

  • sqlite_query() - Ejecutar una consulta en una base de datos dada y devolver un gestor de resultados
  • sqlite_unbuffered_query() - Ejecutar una consulta que no precargue ni almacene en buffer toda la información
  • sqlite_array_query() - Ejecutar una consulta en una base de datos dada y devolver un array

sqlite_escape_string
sqlite_factory
SQLite Funciones


Abrir una base de datos SQLite y devolver un objeto SQLiteDatabase

sqlite_exec
sqlite_fetch_all
SQLite Funciones
PHP Manual

sqlite_factory

(PHP 5 < 5.4.0)

sqlite_factory — Abrir una base de datos SQLite y devolver un objeto SQLiteDatabase

Descripción

SQLiteDatabase sqlite_factory ( string $filename [, int $mode = 0666 [, string &$error_message ]] )

sqlite_factory() se comporta de manera similar a sqlite_open() en que abre una base de datos SQLite database o intenta crearla si no existe. Sin embargo, se devuelve un objeto SQLiteDatabase en lugar de un recurso. Véase la página de la referencia de sqlite_open() para más información sobre su uso y advertncias.

Parámetros

filename

El nombre de fichero de la base de datos SQLite.

mode

El modo del fichero. Previsto para abrir la base de datos en modo sólo lectura. Actualmente, este parámetro es ignorado por la biblioteca sqlite. El valor predeterminado para el modo es el valor octal 0666, que es el valor recomendado.

error_message

Pasado por referencia y establecido para contener un mensaje de error descriptivo explicando el por qué la base de datos no pudo abrirse si ocurrió un error.

Valores devueltos

Devuelve un objeto SQLiteDatabase en caso de éxito, NULL en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de sqlite_factory()

<?php
$dbhandle = sqlite_factory('sqlitedb');
$dbhandle->query('SELECT user_id, username FROM users');

/* functionally equivalent to: */

$dbhandle = new SQLiteDatabase('sqlitedb');
$dbhandle->query('SELECT user_id, username FROM users');

?>

Ver también

  • sqlite_open() - Abrir una base de datos SQLite y crear la base de datos si no existe
  • sqlite_popen() - Abrir un gestor persistente a una base de datos SQLite y crearla si no existe

sqlite_exec
sqlite_fetch_all
SQLite Funciones


Recupera todas las filas de un conjunto de resultados como un array de arrays

sqlite_factory
sqlite_fetch_array
SQLite Funciones
PHP Manual

sqlite_fetch_all

SQLiteResult::fetchAll

SQLiteUnbuffered::fetchAll

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_fetch_all -- SQLiteResult::fetchAll -- SQLiteUnbuffered::fetchAll — Recupera todas las filas de un conjunto de resultados como un array de arrays

Descripción

array sqlite_fetch_all ( resource $result [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

Estilo orientado a objetos (método):

array SQLiteResult::fetchAll ([ int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )
array SQLiteUnbuffered::fetchAll ([ int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

sqlite_fetch_all() devuelve un array del conjunto de resultados completo desde el recurso result. Es similar a llamar a sqlite_query() (o a sqlite_unbuffered_query()) y después a sqlite_fetch_array() para cada fila del conjunto de resultados.

Parámetros

result

El recurso de resultados de SQLite. Este parámetro no es necesario cuando se usa el método orientado a objetos.

result_type

El parámetro opcional result_type acepta una constante y determina cómo se indexará el array devuelto. Usar SQLITE_ASSOC devolverá índices asociativos (los nombres de los campos) mientras que SQLITE_NUM devolverá sólo índices numéricos (los campos en números ordinales). SQLITE_BOTH devolverá índices tanto asociativos como numéricos. SQLITE_BOTH es el valor por defecto para esta función.

decode_binary

Cuando el parámetro decode_binary es seteado a TRUE (el valor por defecto), PHP decodificará la codificación binaria que se aplicó a los datos si éstos fueron codificados usando la función sqlite_escape_string(). Normalmente debería dejar este valor por defecto, a menos que esté interoperando con bases de datos creadas por otras aplicaciones sqlite.

Valores devueltos

Devuelve un array de las filas restantes de un conjunto de resultados. Si se llama justo después de sqlite_query(), devuelve todas las filas. Si se llama después de sqlite_fetch_array(), devuelve el resto. Si no hay filas en el conjunto de resultados, devuelve un array vacío.

Los nombre de las columnas devueltos por SQLITE_ASSOC y SQLITE_BOTH serán mayúsculas o no de acuerdo al valor de la opción de configuración sqlite.assoc_case.

Ejemplos

Ejemplo #1 Ejemplo procedimental

<?php
$dbhandle = sqlite_open('sqlitedb');
$query = sqlite_query($dbhandle, 'SELECT name, email FROM users LIMIT 25');
$result = sqlite_fetch_all($query, SQLITE_ASSOC);
foreach ($result as $entry) {
    echo 'Name: ' . $entry['name'] . '  E-mail: ' . $entry['email'];
}
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$dbhandle = new SQLiteDatabase('sqlitedb');

$query = $dbhandle->query('SELECT name, email FROM users LIMIT 25'); // buffered result set
$query = $dbhandle->unbufferedQuery('SELECT name, email FROM users LIMIT 25'); // unbuffered result set

$result = $query->fetchAll(SQLITE_ASSOC);
foreach ($result as $entry) {
    echo 'Name: ' . $entry['name'] . '  E-mail: ' . $entry['email'];
}
?>

Ver también

  • sqlite_fetch_array() - Recupera la siguiente fila de un conjunto de resultados como un array

sqlite_factory
sqlite_fetch_array
SQLite Funciones


Recupera la siguiente fila de un conjunto de resultados como un array

sqlite_fetch_all
sqlite_fetch_column_types
SQLite Funciones
PHP Manual

sqlite_fetch_array

SQLiteResult::fetch

SQLiteUnbuffered::fetch

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_fetch_array -- SQLiteResult::fetch -- SQLiteUnbuffered::fetch — Recupera la siguiente fila de un conjunto de resultados como un array

Descripción

array sqlite_fetch_array ( resource $result [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

Estilo orientado a objetos (método):

array SQLiteResult::fetch ([ int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )
array SQLiteUnbuffered::fetch ([ int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

Recupera la siguiente fila del gestor de resultado dado por result. Si no hay más filas, devuelve false, de otro modo devuelve un array asociativo que representa los datos de la fila.

Parámetros

result

El recurso de resultados de SQLite. Este parámetro no es necesario cuando se usa el método orientado a objetos.

result_type

El parámetro opcional result_type acepta una constante y determina cómo se indexará el array devuelto. Usar SQLITE_ASSOC devolverá índices asociativos (los nombres de los campos) mientras que SQLITE_NUM devolverá sólo índices numéricos (los campos en números ordinales). SQLITE_BOTH devolverá índices tanto asociativos como numéricos. SQLITE_BOTH es el valor por defecto para esta función.

decode_binary

Cuando el parámetro decode_binary es seteado a TRUE (el valor por defecto), PHP decodificará la codificación binaria que se aplicó a los datos si éstos fueron codificados usando la función sqlite_escape_string(). Normalmente debería dejar este valor por defecto, a menos que esté interoperando con bases de datos creadas por otras aplicaciones sqlite.

Valores devueltos

Devuelve un array de la fila siguiente de un conjunto de resutaldos; FALSE si la siguiente posición está más allá de la última final.

Los nombre de las columnas devueltos por SQLITE_ASSOC y SQLITE_BOTH serán mayúsculas o no de acuerdo al valor de la opción de configuración sqlite.assoc_case.

Ejemplos

Ejemplo #1 Ejemplo prodecimental

<?php
$dbhandle = sqlite_open('sqlitedb');
$query = sqlite_query($dbhandle, 'SELECT name, email FROM users LIMIT 25');
while ($entry = sqlite_fetch_array($query, SQLITE_ASSOC)) {
    echo 'Name: ' . $entry['name'] . '  E-mail: ' . $entry['email'];
}
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$dbhandle = new SQLiteDatabase('sqlitedb');

$query = $dbhandle->query('SELECT name, email FROM users LIMIT 25'); // buffered result set
$query = $dbhandle->unbufferedQuery('SELECT name, email FROM users LIMIT 25'); // unbuffered result set

while ($entry = $query->fetch(SQLITE_ASSOC)) {
    echo 'Name: ' . $entry['name'] . '  E-mail: ' . $entry['email'];
}
?>

Ver también

  • sqlite_array_query() - Ejecutar una consulta en una base de datos dada y devolver un array
  • sqlite_fetch_string() - Alias de sqlite_fetch_single

sqlite_fetch_all
sqlite_fetch_column_types
SQLite Funciones


Devuelve un array con los tipos de columna de una tabla en particular

sqlite_fetch_array
sqlite_fetch_object
SQLite Funciones
PHP Manual

sqlite_fetch_column_types

SQLiteDatabase::fetchColumnTypes

(PHP 5 < 5.4.0)

sqlite_fetch_column_types -- SQLiteDatabase::fetchColumnTypes — Devuelve un array con los tipos de columna de una tabla en particular

Descripción

array sqlite_fetch_column_types ( string $table_name , resource $dbhandle [, int $result_type = SQLITE_ASSOC ] )

Estilo orientado a objetos (método):

public array SQLiteDatabase::fetchColumnTypes ( string $table_name [, int $result_type = SQLITE_ASSOC ] )

sqlite_fetch_column_types() devuelve un array con los tipos de datos de las columnas de la tabla especificada por table_name.

Parámetros

table_name

El nombre de la tabla a consultar.

dbhandle

El resucrso de Base de datos de SQLite; devuelto desde sqlite_open() cuando se usa procedimentalmente. Este parámetro no es necesario al usar elmétodo orientado a objetos.

result_type

El parámetro opcional result_type acepta una constante y determina cómo el array devuelto será indexado. Al utilizar SQLITE_ASSOC devolverá solamente índices asociativos (campos con nombre) mientras que SQLITE_NUM devolverá solamente índices numéricos (números ordinales de campos). SQLITE_ASSOC es el predeterminado para esta función.

Valores devueltos

Devuelve un array con los tipos de datos de las columnas; FALSE en caso de error.

Los nombre de las columnas devueltos por SQLITE_ASSOC y SQLITE_BOTH serán mayúsculas o no de acuerdo al valor de la opción de configuración sqlite.assoc_case.

Historial de cambios

Versión | Descripción
5.1.0 | Se añadió el parámetro result_type

Ejemplos

Ejemplo #1 Ejemplo prodecimental

<?php
$db = sqlite_open('mysqlitedb');
sqlite_query($db, 'CREATE TABLE foo (bar varchar(10), arf text)');
$cols = sqlite_fetch_column_types('foo', $db, SQLITE_ASSOC);

foreach ($cols as $column => $type) {
    echo "Column: $column  Type: $type\n";
}
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$db = new SQLiteDatabase('mysqlitedb');
$db->query('CREATE TABLE foo (bar varchar(10), arf text)');
$cols = $db->fetchColumnTypes('foo', SQLITE_ASSOC);

foreach ($cols as $column => $type) {
    echo "Columna: $column  Tipo: $type\n";
}
?>

El resultado del ejemplo sería:

Columna: bar  Tipo: VARCHAR
Columna: arf  Tipo: TEXT

sqlite_fetch_array
sqlite_fetch_object
SQLite Funciones


Recupera la siguiente fila de un conjunto de resultados como un objeto

sqlite_fetch_column_types
sqlite_fetch_single
SQLite Funciones
PHP Manual

sqlite_fetch_object

SQLiteResult::fetchObject

SQLiteUnbuffered::fetchObject

(PHP 5 < 5.4.0)

sqlite_fetch_object -- SQLiteResult::fetchObject -- SQLiteUnbuffered::fetchObject — Recupera la siguiente fila de un conjunto de resultados como un objeto

Descripción

object sqlite_fetch_object ( resource $result [, string $class_name [, array $ctor_params [, bool $decode_binary = true ]]] )

Estilo orientado a objetos (método):

object SQLiteResult::fetchObject ([ string $class_name [, array $ctor_params [, bool $decode_binary = true ]]] )
object SQLiteUnbuffered::fetchObject ([ string $class_name [, array $ctor_params [, bool $decode_binary = true ]]] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

sqlite_fetch_column_types
sqlite_fetch_single
SQLite Funciones


Recupera la primera columna de un conjunto de resultados como cadena

sqlite_fetch_object
sqlite_fetch_string
SQLite Funciones
PHP Manual

sqlite_fetch_single

SQLiteResult::fetchSingle

SQLiteUnbuffered::fetchSingle

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.1)

sqlite_fetch_single -- SQLiteResult::fetchSingle -- SQLiteUnbuffered::fetchSingle — Recupera la primera columna de un conjunto de resultados como cadena

Descripción

string sqlite_fetch_single ( resource $result [, bool $decode_binary = true ] )

Estilo orientado a objetos (método):

string SQLiteResult::fetchSingle ([ bool $decode_binary = true ] )
string SQLiteUnbuffered::fetchSingle ([ bool $decode_binary = true ] )

sqlite_fetch_single() es idéntica a sqlite_fetch_array() excepto que devuelve el valor de la primera columna del conjunto de filas.

Esta es la manera más óptima para recuperar datos cuando sólo interesan los valores de una única columna de datos.

Parámetros

result

El recurso de resultados de SQLite. Este parámetro no es necesario cuando se usa el método orientado a objetos.

decode_binary

Cuando el parámetro decode_binary es seteado a TRUE (el valor por defecto), PHP decodificará la codificación binaria que se aplicó a los datos si éstos fueron codificados usando la función sqlite_escape_string(). Normalmente debería dejar este valor por defecto, a menos que esté interoperando con bases de datos creadas por otras aplicaciones sqlite.

Valores devueltos

Devuelve el valor de la primera columna, como cadena.

Ejemplos

Ejemplo #1 Un ejemplo de sqlite_fetch_single()

<?php
if ($dbhandle = sqlite_open('mysqlitedb', 0666, $sqliteerror)) {

    $sql = "SELECT id FROM sometable WHERE id = 42";
    $res = sqlite_query($dbhandle, $sql);

    if (sqlite_num_rows($res) > 0) {
        echo sqlite_fetch_single($res); // 42
    }

    sqlite_close($dbhandle);
}
?>

Ver también

  • sqlite_fetch_array() - Recupera la siguiente fila de un conjunto de resultados como un array

sqlite_fetch_object
sqlite_fetch_string
SQLite Funciones


Alias de sqlite_fetch_single

sqlite_fetch_single
sqlite_field_name
SQLite Funciones
PHP Manual

sqlite_fetch_string

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_fetch_string — Alias de sqlite_fetch_single()

Descripción

Esta función es un alias de: sqlite_fetch_single().

sqlite_fetch_single
sqlite_field_name
SQLite Funciones


Devuelve el nombre de un campo en particular

sqlite_fetch_string
sqlite_has_more
SQLite Funciones
PHP Manual

sqlite_field_name

SQLiteResult::fieldName

SQLiteUnbuffered::fieldName

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_field_name -- SQLiteResult::fieldName -- SQLiteUnbuffered::fieldName — Devuelve el nombre de un campo en particular

Descripción

string sqlite_field_name ( resource $result , int $field_index )

Estilo orientado a objetos (método):

string SQLiteResult::fieldName ( int $field_index )
string SQLiteUnbuffered::fieldName ( int $field_index )

Dado el número ordinal de columna, field_index, sqlite_field_name() devuelve el nombre de ese campo en el conjunto de resultados dado por result.

Parámetros

result

El recurso de resultados de SQLite. Este parámetro no es necesario cuando se usa el método orientado a objetos.

field_index

El número ordinal de la columna del conjunto de resultados.

Valores devueltos

Devuelve el nombre de un campo de un conjunto de resultados de SQLite, dado el número ordinal de columna; FALSE en caso de error.

Los nombre de las columnas devueltos por SQLITE_ASSOC y SQLITE_BOTH serán mayúsculas o no de acuerdo al valor de la opción de configuración sqlite.assoc_case.

sqlite_fetch_string
sqlite_has_more
SQLite Funciones


Comprueba si están o no disponibles más filas

sqlite_field_name
sqlite_has_prev
SQLite Funciones
PHP Manual

sqlite_has_more

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_has_more — Comprueba si están o no disponibles más filas

Descripción

bool sqlite_has_more ( resource $result )

Comprueba si están disponibles más filas en el conjunto de resultados dado.

Parámetros

result

El resucuro de resultados de SQLite.

Valores devueltos

Devuelve TRUE si existen más filas disponibles en el gestor dado por result, o FALSE si no.

Ver también

  • sqlite_num_rows() - Devolver el número de filas de un conjunto de resultados almacenado en buffer
  • sqlite_changes() - Devuelve el número de filas que han sido cambiadas mediante la sentencia SQL más reciente.

sqlite_field_name
sqlite_has_prev
SQLite Funciones


Comprueba si está o no disponible una fila anterior

sqlite_has_more
sqlite_key
SQLite Funciones
PHP Manual

sqlite_has_prev

SQLiteResult::hasPrev

(PHP 5 < 5.4.0)

sqlite_has_prev -- SQLiteResult::hasPrev — Comprueba si está o no disponible una fila anterior

Descripción

bool sqlite_has_prev ( resource $result )

Estilo orientado a objetos (método):

bool SQLiteResult::hasPrev ( void )

Comprueba si hay disponibles filas previas en el gestor de resultados dado.

Parámetros

result

El recurso de resultados de SQLite. Este parámetro no es necesario cuando se usa el método orientado a objetos.

Nota:

Esta función no puede ser utilizada con manejos de resultados no pasados por buffer.

Valores devueltos

Devuelve TRUE si existen más filas anteriores disponibles en el gestor dado por result, o FALSE si no.

Ver también

  • sqlite_prev() - Busca el número de fila anterior de un conjunto de resultados
  • sqlite_has_more() - Comprueba si están o no disponibles más filas
  • sqlite_num_rows() - Devolver el número de filas de un conjunto de resultados almacenado en buffer

sqlite_has_more
sqlite_key
SQLite Funciones


Devuelve el índice de la fila actual

sqlite_has_prev
sqlite_last_error
SQLite Funciones
PHP Manual

sqlite_key

SQLiteResult::key

(PHP 5 >= 5.1.0 and < 5.4.0)

sqlite_key -- SQLiteResult::key — Devuelve el índice de la fila actual

Descripción

Estilo orientado a objetos (método):

int SQLiteResult::key ( void )

SQLiteResult::sqlite_key() devuelve el índice de la fila actual del conjunto de resultados almacenado en búfer dado por result.

A diferencia de otras funciones de SQLite, esta no posee una versión procedimental, por lo que solamente puede ser invocada como método de un objeto SQLiteResult.

Valores devueltos

Devuelve el índice de la fila actual del conjunto de resultados almacenado en buffer result.

Ver también

  • sqlite_next() - Busca el número de fila siguiente
  • sqlite_current() - Obtiene la fila actual como un array de un conjunto de resultado
  • sqlite_rewind() - Busca el primer número de fila

sqlite_has_prev
sqlite_last_error
SQLite Funciones


Devuelve el código de error del último error de una base de datos

sqlite_key
sqlite_last_insert_rowid
SQLite Funciones
PHP Manual

sqlite_last_error

SQLiteDatabase::lastError

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_last_error -- SQLiteDatabase::lastError — Devuelve el código de error del último error de una base de datos

Descripción

int sqlite_last_error ( resource $dbhandle )

Estilo orientado a objetos (método):

public int SQLiteDatabase::lastError ( void )

Devuelve el código de error de la última operación realizada en dbhandle (el gestor de base de datos), o 0 si no ocurrió ningún error. Se puede obtener una descripción legible por humanos del código de error usando sqlite_error_string().

Parámetros

dbhandle

El resucrso de Base de datos de SQLite; devuelto desde sqlite_open() cuando se usa procedimentalmente. Este parámetro no es necesario al usar elmétodo orientado a objetos.

Valores devueltos

Devuelve un código de error, ó 0 si no ocurrió ningún error.

Ver también

  • sqlite_error_string() - Devuelve la descripción de un código de error

sqlite_key
sqlite_last_insert_rowid
SQLite Funciones


Devuelve el ID fila de la fila insertada más recientemente

sqlite_last_error
sqlite_libencoding
SQLite Funciones
PHP Manual

sqlite_last_insert_rowid

SQLiteDatabase::lastInsertRowid

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_last_insert_rowid -- SQLiteDatabase::lastInsertRowid — Devuelve el ID fila de la fila insertada más recientemente

Descripción

int sqlite_last_insert_rowid ( resource $dbhandle )

Estilo orientado a objetos (método):

public int SQLiteDatabase::lastInsertRowid ( void )

Devuelve el ID de fila que fue insertado más recientemente en la base de datos dbhandle, si fue creado como un campo autoincremental.

Sugerencia

Se pueden crear campos autoincrementales en SQLite declarándolos como INTEGER PRIMARY KEY en el esquema de la tabla.

Parámetros

dbhandle

El resucrso de Base de datos de SQLite; devuelto desde sqlite_open() cuando se usa procedimentalmente. Este parámetro no es necesario al usar elmétodo orientado a objetos.

Valores devueltos

Devuelve el ID de fila, como un valor de tipo integer.

sqlite_last_error
sqlite_libencoding
SQLite Funciones


Devuelve la codificación de la biblioteca SQLite vinculada

sqlite_last_insert_rowid
sqlite_libversion
SQLite Funciones
PHP Manual

sqlite_libencoding

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_libencoding — Devuelve la codificación de la biblioteca SQLite vinculada

Descripción

string sqlite_libencoding ( void )

La biblioteca SQLite se puede compilar en los modos compatibles ISO-8859-1 o UTF-8. Esta función permite determinar el esquema de codificación usado por la versión de la biblioteca.

Advertencia

La distribución predeterminada de PHP compila libsqlite con el modo de codificación ISO-8859-1. Sin embargo, esto es un término erróneo; en vez de tratar con ISO-8859-1, opera según la configuración regional actual para comparación de cadenas y ordenación. Por lo que, en vez de ISO-8859-1, debería pensarse como si fuera '8-bit' en su lugar.

Cuando se compila con soporte para UTF-8, sqlite trata la codificación y decodificación de secuencias de caracteres multibyte UTF-8, pero no realiza un trabajo completo al trabajar con los datos (no se realiza normalización, por ejemplo), y no se pueden llevar a cabo algunas operaciones de comparación correctamente.

Advertencia

No se recomienda que se utilice PHP en una configuración de servidor web con una versión de la biblioteca SQLite compilada con soporte para UTF-8, ya que libsqlite abortará el proceso si detecta un problema con la codificación UTF-8.

Valores devueltos

Devuelve la codificación de la biblioteca.

Ver también

  • sqlite_lib_version()

sqlite_last_insert_rowid
sqlite_libversion
SQLite Funciones


Devuelve la versión de la biblioteca SQLite vinculada

sqlite_libencoding
sqlite_next
SQLite Funciones
PHP Manual

sqlite_libversion

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_libversion — Devuelve la versión de la biblioteca SQLite vinculada

Descripción

string sqlite_libversion ( void )

Devuelve la versión de la biblioteca SQLite vinculada.

Valores devueltos

Devuelve la versión de la biblioteca, como cadena.

Ver también

  • sqlite_libencoding() - Devuelve la codificación de la biblioteca SQLite vinculada

sqlite_libencoding
sqlite_next
SQLite Funciones


Busca el número de fila siguiente

sqlite_libversion
sqlite_num_fields
SQLite Funciones
PHP Manual

sqlite_next

SQLiteResult::next

SQLiteUnbuffered::next

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_next -- SQLiteResult::next -- SQLiteUnbuffered::next — Busca el número de fila siguiente

Descripción

bool sqlite_next ( resource $result )

Estilo orientado a objetos (método):

bool SQLiteResult::next ( void )
bool SQLiteUnbuffered::next ( void )

sqlite_next() avanza en el gestor de resultados result a la siguiente fila.

Parámetros

result

El recurso de resultados de SQLite. Este parámetro no es necesario cuando se usa el método orientado a objetos.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE si no existen más filas.

Ver también

  • sqlite_seek() - Busca un número de fila en particular en un conjunto de resultados almacenado en buffer
  • sqlite_current() - Obtiene la fila actual como un array de un conjunto de resultado
  • sqlite_rewind() - Busca el primer número de fila

sqlite_libversion
sqlite_num_fields
SQLite Funciones


Devolver el número de campos de un conjunto de resultados

sqlite_next
sqlite_num_rows
SQLite Funciones
PHP Manual

sqlite_num_fields

SQLiteResult::numFields

SQLiteUnbuffered::numFields

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_num_fields -- SQLiteResult::numFields -- SQLiteUnbuffered::numFields — Devolver el número de campos de un conjunto de resultados

Descripción

int sqlite_num_fields ( resource $result )

Estilo orientado a objetos (método):

int SQLiteResult::numFields ( void )
int SQLiteUnbuffered::numFields ( void )

Devuelve el número de campos del conjunto de resultados dado por result.

Parámetros

result

El recurso de resultados de SQLite. Este parámetro no es necesario al usar el método orientado a objetos.

Valores devueltos

Devuelve el número de campos, como un valor de tipo integer.

Ver también

  • sqlite_changes() - Devuelve el número de filas que han sido cambiadas mediante la sentencia SQL más reciente.
  • sqlite_num_rows() - Devolver el número de filas de un conjunto de resultados almacenado en buffer

sqlite_next
sqlite_num_rows
SQLite Funciones


Devolver el número de filas de un conjunto de resultados almacenado en buffer

sqlite_num_fields
sqlite_open
SQLite Funciones
PHP Manual

sqlite_num_rows

SQLiteResult::numRows

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_num_rows -- SQLiteResult::numRows — Devolver el número de filas de un conjunto de resultados almacenado en buffer

Descripción

int sqlite_num_rows ( resource $result )

Estilo orientado a objetos (método):

int SQLiteResult::numRows ( void )

Devuelve el número de filas del conjunto de resultados almacenado en buffer dado por result.

Parámetros

result

El recurso de resultados de SQLite. Este parámetro no es necesario al usar el método orientado a objetos.

Nota:

Esta función no puede ser utilizada con manejos de resultados no pasados por buffer.

Valores devueltos

Devuelve el número de filas, como un valor de tipo integer.

Ejemplos

Ejemplo #1 Ejemplo procedimental

<?php
$bd = sqlite_open('mysqlitedb');
$resultado = sqlite_query($bd, "SELECT * FROM mytable WHERE name='John Doe'");
$filas = sqlite_num_rows($resultado);

echo "Number of rows: $filas";
?>

Ejemplo #2 Ejemplo orienteado a objetos

<?php
$bd = new SQLiteDatabase('mysqlitedb');
$resultado = $bd->query("SELECT * FROM mytable WHERE name='John Doe'");
$filas = $result->numRows();

echo "Number of rows: $filas";
?>

Ver también

  • sqlite_changes() - Devuelve el número de filas que han sido cambiadas mediante la sentencia SQL más reciente.
  • sqlite_query() - Ejecutar una consulta en una base de datos dada y devolver un gestor de resultados
  • sqlite_num_fields() - Devolver el número de campos de un conjunto de resultados

sqlite_num_fields
sqlite_open
SQLite Funciones


Abrir una base de datos SQLite y crear la base de datos si no existe

sqlite_num_rows
sqlite_popen
SQLite Funciones
PHP Manual

sqlite_open

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_open — Abrir una base de datos SQLite y crear la base de datos si no existe

Descripción

resource sqlite_open ( string $filename [, int $mode = 0666 [, string &$error_message ]] )

Estilo orientado a objetos (constructor):

final public SQLiteDatabase::__construct() ( string $filename [, int $mode = 0666 [, string &$error_message ]] )

Abre una base de datos SQLite o crea la base de datos si no existe.

Parámetros

filename

El nombre de fichero de la base de datos SQLite. Si el fichero no existe, SQLite intentará crearla. PHP debe tener permisos de escritura del fichero si los datos son insertados, el esquema de la base de datos es modificado o se crea la base de datos si ésta no existe.

mode

El modo del fichero. En un futuro se usará para abrir la base de datos en modo sólo lectura. Actualmente, este parámetro es ignorado por la biblioteca sqlite. El valor por defecto es el valor octal 0666 y es el valor recomendado.

error_message

Pasado por referencia y establecido para contener un mensaje de error descriptivo explicando el por qué no se pudo abrir la base de datos si ocurriera un error.

Valores devueltos

Devuelve un recurso (gestor de base de datos) en caso de éxito, FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de sqlite_open()

<?php
if ($db = sqlite_open('mysqlitedb', 0666, $sqliteerror)) {
    sqlite_query($db, 'CREATE TABLE foo (bar varchar(10))');
    sqlite_query($db, "INSERT INTO foo VALUES ('fnord')");
    $result = sqlite_query($db, 'select bar from foo');
    var_dump(sqlite_fetch_array($result));
} else {
    die($sqliteerror);
}
?>

Notas

Sugerencia

En plataformas Unix, SQLite es sensible a scripts que usan la llamada al sistema fork(). Si se tienen tales scripts, se recomienda que se cierre el gestor antes de usar la llamada al sistema y luego reabrirlo en el hijo y/o padre. Para más información de esta cuestión, véase » The C language interface to the SQLite library en la sección titulada Multi-Threading And SQLite.

Sugerencia

No se recomienda trabajar con bases de datos SQLite montadas sobre particiones NFS. Ya que NFS es notoriamente malo cuando viene a cerrar se puede encontrar que no se puede abrir la base de datos, y que si se puede el comportamiento de cierre puede ser indefinido.

Nota: Desde la versión 2.8.2 de la biblioteca SQLite, se puede especificar :memory: como el parámetro filename para crear una base de datos que reside solamente en la memoria de la computadora. Ésto es útil principalmente para el procesamiento temporal, ya que la base de datos que está en memoria será destruida cuando el proceso finalice. También puede ser útil cuando se asocia con la sentencia ATTACH DATABASE de SQL para cargar otras bases de dtaos y mover y consultar datos entre ellas.

Nota: SQLite es safe mode y compatible con open_basedir.

Ver también

  • sqlite_popen() - Abrir un gestor persistente a una base de datos SQLite y crearla si no existe
  • sqlite_close() - Cierra un base de datos SQLite abierta
  • sqlite_factory() - Abrir una base de datos SQLite y devolver un objeto SQLiteDatabase

sqlite_num_rows
sqlite_popen
SQLite Funciones


Abrir un gestor persistente a una base de datos SQLite y crearla si no existe

sqlite_open
sqlite_prev
SQLite Funciones
PHP Manual

sqlite_popen

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_popen — Abrir un gestor persistente a una base de datos SQLite y crearla si no existe

Descripción

resource sqlite_popen ( string $filename [, int $mode = 0666 [, string &$error_message ]] )

Esta función se comporta de manera idéntica a sqlite_open() excepto que usa el mecanismo de recurso persistente de PHP. Para más información sobre el significado de los parámetros, lea la página del manual de sqlite_open().

sqlite_popen() primero comprobará si ya está abierto un gestor persistente para el fichero dado por filename. Si encuentra uno, devuelve ese gestor al script, si no, abre un gestor nuevo a la base de datos.

El beneficio de este enfoque es que no se sufre el coste de rendimiento de releer la base de datos y el esquema índice en cada página servida por una SAPI del servidor web persistente (cualquier SAPI excepto CGI o CLI normales).

Nota: Si se usan gestores persistentes y se tiene la base de datos actualizada por un proceso en segundo plano (quizás mediante un crontab), y ese proceso recrea la base de datos sobrescribiéndola (mediante desenlazando y reconstruyendo, o moviendo la versión actualizada para reemplazar la versión actual), se puede experimentar un comportamiento indefinido cuando un gestor persistente de la versión antigua de la base de datos es reciclado. Para evitar esta situación se han de tener los procesos en segundo plano con la misma base de datos abierta y realizar sus actualizaciones en una transacción.

Parámetros

filename

El nombre de fichero de la base de datos SQLite. Si el fichero no existe, SQLite intentará crearlo. PHP debe tener permisos de escritura al fichero si los datos son insertados, el esquema de la base de datos se modifica o se crea la base de datos si no existe.

mode

El modo del fichero. Previsto para abrir la base de datos en modo sólo lectura. Actualmente, este parámetro es ignorado por la biblioteca sqlite. El valor predeterminado para el modo es el valor octal 0666, que es el valor recomendado.

error_message

Pasado por referencia y establecido para contener un mensaje de error descriptivo explicando el por qué la base de datos no pudo abrirse si ocurrió un error.

Valores devueltos

Devuelve un recurso (gestor de base de datos) en caso de éxito, FALSE en caso de error.

Ver también

  • sqlite_open() - Abrir una base de datos SQLite y crear la base de datos si no existe
  • sqlite_close() - Cierra un base de datos SQLite abierta
  • sqlite_factory() - Abrir una base de datos SQLite y devolver un objeto SQLiteDatabase

sqlite_open
sqlite_prev
SQLite Funciones


Busca el número de fila anterior de un conjunto de resultados

sqlite_popen
sqlite_query
SQLite Funciones
PHP Manual

sqlite_prev

SQLiteResult::prev

(PHP 5 < 5.4.0)

sqlite_prev -- SQLiteResult::prev — Busca el número de fila anterior de un conjunto de resultados

Descripción

bool sqlite_prev ( resource $result )

Estilo orientado a objetos (método):

bool SQLiteResult::prev ( void )

sqlite_prev() vuelve a buscar en el gestor result una fila anterior.

Parámetros

result

El recurso de resultados de SQLite. Este parámetro no es necesario cuando se usa el método orientado a objetos.

Nota:

Esta función no puede ser utilizada con manejos de resultados no pasados por buffer.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE si no hay más filas anteriores.

Ver también

  • sqlite_has_prev() - Comprueba si está o no disponible una fila anterior
  • sqlite_rewind() - Busca el primer número de fila
  • sqlite_next() - Busca el número de fila siguiente

sqlite_popen
sqlite_query
SQLite Funciones


Ejecutar una consulta en una base de datos dada y devolver un gestor de resultados

sqlite_prev
sqlite_rewind
SQLite Funciones
PHP Manual

sqlite_query

SQLiteDatabase::query

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_query -- SQLiteDatabase::query — Ejecutar una consulta en una base de datos dada y devolver un gestor de resultados

Descripción

resource sqlite_query ( resource $dbhandle , string $query [, int $result_type = SQLITE_BOTH [, string &$error_msg ]] )
resource sqlite_query ( string $query , resource $dbhandle [, int $result_type = SQLITE_BOTH [, string &$error_msg ]] )

Estilo orientado a objetos (método):

public SQLiteResult SQLiteDatabase::query ( string $query [, int $result_type = SQLITE_BOTH [, string &$error_msg ]] )

Ejecuta una sentencia SQL dada por query en un gestor de base de datos daod.

Parámetros

dbhandle

El recurso de Base de datos de SQLite; devuelto por sqlite_open() cuando se usa procedimentalmente. Este parámetro no es necesario cuando se usa el método orientado a objetos.

query

La consulta a ejectuar.

Los datos dentro de la consulta deberían ser apropiadamente escapados.

result_type

El parámetro opcional result_type acepta una constante y determina cómo se indexará el array devuelto. Usar SQLITE_ASSOC devolverá índices asociativos (los nombres de los campos) mientras que SQLITE_NUM devolverá sólo índices numéricos (los campos en números ordinales). SQLITE_BOTH devolverá índices tanto asociativos como numéricos. SQLITE_BOTH es el valor por defecto para esta función.

error_msg

La variable especificada será rellenada si ocurre un error. Esto es especialmente importante ya que los errores de sintaxis de SQL no se pueden recoger usando la función sqlite_last_error().

Nota: Dos sintaxis alternativas son soportadas para la compatibilidad con otras extensiones de base de datos (tal como MySQL). La forma preferida es la primera, donde el parámetro dbhandle es el primero de la función.

Valores devueltos

Esta función devolverá un gestor de resultados o FALSE en caso de error. Para consultas que devuelven filas, el gestor de resultados se puede usar con funciones como sqlite_fetch_array() y sqlite_seek().

Sin tener en cuenta el tipo de consulta, esta función devolverá FALSE si la consulta falla.

sqlite_query() devuelve un gestor de resultados almacenado en buffer y rasteable. Esto es útil para consultas razonablemente pequeñas donde se necesite la capacidad de acceso a filas aleatorio. Los gestores de resultados almacenados en buffer asignarán memoria para contener el resultado completo y no devolverán hasta que se haya recuperado. Si sólo se necesita acceso secuencial a los datos, se recomienda usar la función con más alto rendimiento sqlite_unbuffered_query() en su lugar.

Historial de cambios

Versión | Descripción
5.1.0 | Se añadió el parámetro error_msg

Notas

Advertencia

SQLite ejecutará múltiples consultas separadas por puntos y comas, por lo que se puede usar esta función para ejecutar un lote de SQL que se haya cargado desde un fichero o embebido en un script. Sin embargo, esto sólo funcionará cuando el resultado de la función no se use - si se usara, se ejecutaría solamente la primera sentencia SQL. La función sqlite_exec() siempre ejecutará múltiple sentencias SQL.

Cuando se ejecutan múltiples consultas, el valor devuleto por esta función será FALSE si hubiera un error, pero será indefinido de otro modo (podría ser TRUE en caso de éxito o podría devolver un gestor de resultados).

Ver también

  • sqlite_unbuffered_query() - Ejecutar una consulta que no precargue ni almacene en buffer toda la información
  • sqlite_array_query() - Ejecutar una consulta en una base de datos dada y devolver un array

sqlite_prev
sqlite_rewind
SQLite Funciones


Busca el primer número de fila

sqlite_query
sqlite_seek
SQLite Funciones
PHP Manual

sqlite_rewind

SQLiteResult::rewind

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_rewind -- SQLiteResult::rewind — Busca el primer número de fila

Descripción

bool sqlite_rewind ( resource $result )

Estilo orientado a objetos (método):

bool SQLiteResult::rewind ( void )

sqlite_rewind() vuelve a buscar la primera fila en el conjunto de resultados dado.

Parámetros

result

El recurso de resultados de SQLite. Este parámetro no es necesario cuando se usa el método orientado a objetos.

Nota:

Esta función no puede ser utilizada con manejos de resultados no pasados por buffer.

Valores devueltos

Devuelve FALSE si no existen filas en el conjunto de resultados, TRUE en caso contrario.

Ver también

  • sqlite_next() - Busca el número de fila siguiente
  • sqlite_current() - Obtiene la fila actual como un array de un conjunto de resultado
  • sqlite_seek() - Busca un número de fila en particular en un conjunto de resultados almacenado en buffer

sqlite_query
sqlite_seek
SQLite Funciones


Busca un número de fila en particular en un conjunto de resultados almacenado en buffer

sqlite_rewind
sqlite_single_query
SQLite Funciones
PHP Manual

sqlite_seek

SQLiteResult::seek

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_seek -- SQLiteResult::seek — Busca un número de fila en particular en un conjunto de resultados almacenado en buffer

Descripción

bool sqlite_seek ( resource $result , int $rownum )

Estilo orientado a objetos (method):

bool SQLiteResult::seek ( int $rownum )

sqlite_seek() busca la fila dada por el parámetro rownum.

Parámetros

result

El recurso de resultados de SQLite. Este parámetro no es necesario cuando se usa el método orientado a objetos.

Nota:

Esta función no puede ser utilizada con manejos de resultados no pasados por buffer.

rownum

El número ordinal de fila a buscar. El número de fila está basado en cero (0 es la primera fila).

Nota:

Esta función no puede ser utilizada con manejos de resultados no pasados por buffer.

Valores devueltos

Devuelve FALSE si la fila no existe, TRUE en caso contrario.

Ver también

  • sqlite_next() - Busca el número de fila siguiente
  • sqlite_current() - Obtiene la fila actual como un array de un conjunto de resultado
  • sqlite_rewind() - Busca el primer número de fila

sqlite_rewind
sqlite_single_query
SQLite Funciones


Ejecuta una consulta y devuelve un array para cada colúmna única o el valor de la primera fila

sqlite_seek
sqlite_udf_decode_binary
SQLite Funciones
PHP Manual

sqlite_single_query

SQLiteDatabase::singleQuery

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.1)

sqlite_single_query -- SQLiteDatabase::singleQuery — Ejecuta una consulta y devuelve un array para cada colúmna única o el valor de la primera fila

Descripción

array sqlite_single_query ( resource $db , string $query [, bool $first_row_only [, bool $decode_binary ]] )

Estilo orientado a objetos (método):

public array SQLiteDatabase::singleQuery ( string $query [, bool $first_row_only [, bool $decode_binary ]] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

sqlite_seek
sqlite_udf_decode_binary
SQLite Funciones


Decodificar datos binarios pasados como parámetros a una FDU

sqlite_single_query
sqlite_udf_encode_binary
SQLite Funciones
PHP Manual

sqlite_udf_decode_binary

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_udf_decode_binary — Decodificar datos binarios pasados como parámetros a una FDU

Descripción

string sqlite_udf_decode_binary ( string $data )

Decodifica datos binarios pasados como parámetros a una FDU.

Se debe llamar a esta función sobre parámetros pasados a la FDU si se necesita para manejar datos binarios, ya que la codificación binaria empleada por PHP enturbiará el contenido del parámetro en su forma natural no codificada.

PHP no lleva a cabo esta operación de codificación/decodificación automáticamente ya que impactaría severamente en el rendimiento si lo hiciera.

Parámetros

data

Los datos codificados que serán decodificados; los datos a los que se le aplicaron sqlite_udf_encode_binary() o sqlite_escape_string().

Valores devueltos

El string decodificado.

Ejemplos

Ejemplo #1 Ejemplo de la función totalizadora max_length segura a nivel binario

<?php
$data = array(
   'one',
   'two',
   'three',
   'four',
   'five',
   'six',
   'seven',
   'eight',
   'nine',
   'ten',
   );
$db = sqlite_open(':memory:');
sqlite_query($db, "CREATE TABLE strings(a)");
foreach ($data as $str) {
    $str = sqlite_escape_string($str);
    sqlite_query($db, "INSERT INTO strings VALUES ('$str')");
}

function max_len_step(&$context, $string)
{
    $string = sqlite_udf_decode_binary($string);
    if (strlen($string) > $context) {
        $context = strlen($string);
    }
}

function max_len_finalize(&$context)
{
    return $context;
}

sqlite_create_aggregate($db, 'max_len', 'max_len_step', 'max_len_finalize');

var_dump(sqlite_array_query($db, 'SELECT max_len(a) from strings'));

?>

Ver también

  • sqlite_udf_encode_binary() - Codificar datos binarios antes de devolverlos desde una UDF
  • sqlite_create_function() - Registra una función "regular" definida por el usuario para ser usada en sentencias SQL
  • sqlite_create_aggregate() - Registrar FDU totalizadora para usarla en sentencias SQL

sqlite_single_query
sqlite_udf_encode_binary
SQLite Funciones


Codificar datos binarios antes de devolverlos desde una UDF

sqlite_udf_decode_binary
sqlite_unbuffered_query
SQLite Funciones
PHP Manual

sqlite_udf_encode_binary

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_udf_encode_binary — Codificar datos binarios antes de devolverlos desde una UDF

Descripción

string sqlite_udf_encode_binary ( string $data )

sqlite_udf_encode_binary() aplica una codificación binaria a data, por lo que se puede devolver con serguridad desde consultas (ya que la API libsqlite subyacente no es sergura a nivel binario).

Si existe la posibilidad de que los datos sean no seguros a nivel binario (p.ej.: contienen un byte NUL en el centro en vez de al final, o si tienen un byte 0x01 como primer carácter) se debe llamar a esta función para codificar el valor devuelto des de la FDU.

PHP no lleva a cabo esta operación de codificación/decodificación automáticamente ya que impactaría severamente en el rendimiento si lo hiciera.

Nota:

No use sqlite_escape_string() para entrecomillar cadenas devueltas por FDU ya que conducirá a entrecomillar doblemente los datos. ¡Use sqlite_udf_encode_binary() en su lugar!

Parámetros

data

El string a ser codificado.

Valores devueltos

El string codificado.

Ver también

  • sqlite_udf_decode_binary() - Decodificar datos binarios pasados como parámetros a una FDU
  • sqlite_escape_string() - Escapa una cadena para ser usada como un parámetro para una consulta
  • sqlite_create_function() - Registra una función "regular" definida por el usuario para ser usada en sentencias SQL
  • sqlite_create_aggregate() - Registrar FDU totalizadora para usarla en sentencias SQL

sqlite_udf_decode_binary
sqlite_unbuffered_query
SQLite Funciones


Ejecutar una consulta que no precargue ni almacene en buffer toda la información

sqlite_udf_encode_binary
sqlite_valid
SQLite Funciones
PHP Manual

sqlite_unbuffered_query

SQLiteDatabase::unbufferedQuery

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_unbuffered_query -- SQLiteDatabase::unbufferedQuery — Ejecutar una consulta que no precargue ni almacene en buffer toda la información

Descripción

resource sqlite_unbuffered_query ( resource $dbhandle , string $query [, int $result_type = SQLITE_BOTH [, string &$error_msg ]] )
resource sqlite_unbuffered_query ( string $query , resource $dbhandle [, int $result_type = SQLITE_BOTH [, string &$error_msg ]] )

Estilo orientado a objetos (método):

public SQLiteUnbuffered SQLiteDatabase::unbufferedQuery ( string $query [, int $result_type = SQLITE_BOTH [, string &$error_msg ]] )

sqlite_unbuffered_query() es idéntica a sqlite_query() excepto que el resultado que es devuelto es un conjunto de resultados de sólo hacia delante secuencial que solamente se puede usar para leer cada fila, una después de otra.

Esta función es ideal para generar cosas como tablas HTML donde donde solamente se necesite procesar una fila cada vez y no se requiera el acceso aleatorio a los datos de la fila.

Nota:

Las funciones como  sqlite_seek(),
 sqlite_rewind(),  sqlite_next(),
 sqlite_current(), y
 sqlite_num_rows() no funcionarán sobre gestores de resultados
devueltos por  sqlite_unbuffered_query().

Parámetros

dbhandle

El recurso de Base de datos de SQLite; devuelto por sqlite_open() cuando se usa procedimentalmente. Este parámetro no es necesario cuando se usa el método orientado a objetos.

query

La consulta a ejectuar.

Los datos dentro de la consulta deberían ser apropiadamente escapados.

result_type

El parámetro opcional result_type acepta una constante y determina cómo se indexará el array devuelto. Usar SQLITE_ASSOC devolverá índices asociativos (los nombres de los campos) mientras que SQLITE_NUM devolverá sólo índices numéricos (los campos en números ordinales). SQLITE_BOTH devolverá índices tanto asociativos como numéricos. SQLITE_BOTH es el valor por defecto para esta función.

error_msg

La variable especificada será rellenada si ocurre un error. Esto es especialmente importante ya que los errores de sintaxis de SQL no se pueden recoger usando la función sqlite_last_error().

Nota: Dos sintaxis alternativas son soportadas para la compatibilidad con otras extensiones de base de datos (tal como MySQL). La forma preferida es la primera, donde el parámetro dbhandle es el primero de la función.

Valores devueltos

Devuelve un gestor de resultados o FALSE en caso de error.

sqlite_unbuffered_query() devuelve un conjunto de resultados de sólo hacia delante secuencial que solamente se puede usar para leer cada fila, una después de otra.

Historial de cambios

Versión | Descripción
5.1.0 | Se añadió el parámetro error_msg

Ver también

  • sqlite_query() - Ejecutar una consulta en una base de datos dada y devolver un gestor de resultados

sqlite_udf_encode_binary
sqlite_valid
SQLite Funciones


Devuelve si están disponibles más filas

sqlite_unbuffered_query
SQLite3
SQLite Funciones
PHP Manual

sqlite_valid

SQLiteResult::valid

SQLiteUnbuffered::valid

(PHP 5 < 5.4.0)

sqlite_valid -- SQLiteResult::valid -- SQLiteUnbuffered::valid — Devuelve si están disponibles más filas

Descripción

bool sqlite_valid ( resource $result )

Estilo orientado a objetos (método):

bool SQLiteResult::valid ( void )
bool SQLiteUnbuffered::valid ( void )

Busaca si hay más filas disponibles en el gestor de resultados dado.

Parámetros

result

El recurso de resultados de SQLite. Este parámetro no es necesario al usar el método orientado a objetos.

Nota:

Esta función no puede ser utilizada con manejos de resultados no pasados por buffer.

Valores devueltos

Devuelve TRUE si hay más filas disponibles en el gestor de resultados dado por result, o FALSE si no.

Ver también

  • sqlite_num_rows() - Devolver el número de filas de un conjunto de resultados almacenado en buffer
  • sqlite_changes() - Devuelve el número de filas que han sido cambiadas mediante la sentencia SQL más reciente.

sqlite_unbuffered_query
SQLite3
SQLite Funciones


SQLite3

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • SQLite3 — La clase de SQLite3
    • SQLite3::busyTimeout — Establecer el gestor de conexión ocupado
    • SQLite3::changes — Devolver el número de filas de la base de datos que fueron cambiadas (o insertadas, o eliminadas) por la sentencia SQL más reciente
    • SQLite3::close — Cerrar la conexión a la base de datos
    • SQLite3::__construct — Instanciar un objeto de la clase SQLite3 y abrir una base de datos de SQLite 3
    • SQLite3::createAggregate — Registrar una función de PHP para usarla como una función totalizadora de SQL
    • SQLite3::createCollation — Registra una función PHP para ser utilizada como una función SQL de ordenación específica
    • SQLite3::createFunction — Registrar una función de PHP para usarla como una función escalar de SQL
    • SQLite3::escapeString — Devolver una cadena que ha sido debidamente escapada
    • SQLite3::exec — Ejecutar una consulta que no devuelve resultados en una base de datos dada
    • SQLite3::lastErrorCode — Devolver el código numérico del resultado de la petición SQLite que falló más recientemente
    • SQLite3::lastErrorMsg — Devolver texto en inglés describiendo la petición SQLite que falló más recientemente
    • SQLite3::lastInsertRowID — Devolver el ID de la fila de la sentencia INSERT más reciente realizada en la base de datos
    • SQLite3::loadExtension — Intentar cargar una biblioteca de extensiones de SQLite
    • SQLite3::open — Abrir una base de datos SQLite
    • SQLite3::prepare — Preparar una sentencia SQL para su ejecución
    • SQLite3::query — Ejecutar una consulta SQL
    • SQLite3::querySingle — Ejecutar una consulta y devolver un único resultado
    • SQLite3::version — Devolver la versión de la biblioteca SQLite3 como una constante de cadena y como un número
  • SQLite3Stmt — La clase SQLite3Stmt
    • SQLite3Stmt::bindParam — Vincular un parámetro a una variable de sentencia
    • SQLite3Stmt::bindValue — Vincular el valor de un parámetro a una variable de sentencia
    • SQLite3Stmt::clear — Limpiar todos los parámetros vinculados actuales
    • SQLite3Stmt::close — Cerrar una sentencia preparada
    • SQLite3Stmt::execute — Ejecutar una sentencia preparada y devuolver un objeto de conjunto de resultados
    • SQLite3Stmt::paramCount — Devolver el número de parámetros dentro de la sentencia preparada
    • SQLite3Stmt::reset — Reiniciar la sentencia preparada
  • SQLite3Result — La clase SQLite3Result
    • SQLite3Result::columnName — Devolver el nombre de la columna n-ésima
    • SQLite3Result::columnType — Devolver el tipo de la columna n-ésima
    • SQLite3Result::fetchArray — Obtener una fila de resultados en forma de un array asociativo o indexado o ambos
    • SQLite3Result::finalize — Cerrar el conjunto de resultados
    • SQLite3Result::numColumns — Devolver el número de columnas del conjunto de resultados
    • SQLite3Result::reset — Reiniciar el conjunto de resultados a la primera fila
sqlite_valid
Introducción
Extensiones de bases de datos específicas del proveedor


Introducción

Soporte para bases de datos SQLite versión 3.

SQLite3
Instalación/Configuración
SQLite3


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
SQLite3


Instalación

La extensión SQLite3 está activada por defecto desde PHP 5.3.0. Se puede desactivar usando --without-sqlite3 en tiempo de compilación.

Los usuarios de Windows deben activar php_sqlite3.dll para poder usar esta extensión. Esta DLL se incluye con las distribuciones de PHP para Windows desde la versión 5.3.0.

Nota:

Durante un corto período de tiempo esta extensión era PECL pero esta versión solo es recomendada para uso experimental.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de SQLite3
Nombre | Por defecto | Cambiable | Listado de cambios
sqlite3.extension_dir | NULL | PHP_INI_SYSTEM |

He aquí una breve explicación de las directivas de configuración.

sqlite3.extension_dir string

Ruta al directorio donde las extensiones de SQLite residen.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

SQLITE3_ASSOC (integer)
Especifica que el método Sqlite3Result::fetchArray() deberá devolver un array indexado por el nombre de columna como el devuelto en el correspondiente conjunto de resultados.
SQLITE3_NUM (integer)
Especifica que el método Sqlite3Result::fetchArray() deberá devolver un array indexado por el número de columna como el devuelto en el correspondiente conjunto de resultados, comenzando por la columna 0.
SQLITE3_BOTH (integer)
Especifica que el método Sqlite3Result::fetchArray() deberá devolver un array indexado tanto por el nombre como por el número de columna como el devuelto en el correspondiente conjunto de resultados, comenzando por la columna 0.
SQLITE3_INTEGER (integer)
Representa la clase de almacenamiento INTEGER de SQLite3.
SQLITE3_FLOAT (integer)
Representa la clase de almacenamiento REAL (FLOAT) de SQLite3.
SQLITE3_TEXT (integer)
Representa la clase de almacenamiento TEXT de SQLite3.
SQLITE3_BLOB (integer)
Representa la clase de almacenamiento BLOB de SQLite3.
SQLITE3_NULL (integer)
Representa la clase de almacenamiento NULL de SQLite3.
SQLITE3_OPEN_READONLY (integer)
Especifica que la base de datos SQLite3 será abierta para sólo lectura.
SQLITE3_OPEN_READWRITE (integer)
Especifica que la base de datos SQLite3 será abierta para lectura y escritura.
SQLITE3_OPEN_CREATE (integer)
Especifica que la base de datos SQLite3 será creada si aún no existe.

Tipos de recursos
SQLite3
SQLite3


La clase de SQLite3

(PHP 5 >= 5.3.0)

Introducción

Una clase que se usa como interfaz de bases de datos SQLite 3.

Sinopsis de la Clase

SQLite3 {
/* Métodos */
public bool busyTimeout ( int $msecs )
public int changes ( void )
public bool close ( void )
public __construct ( string $filename [, int $flags [, string $encryption_key ]] )
public bool createAggregate ( string $name , mixed $step_callback , mixed $final_callback [, int $argument_count = -1 ] )
public bool createCollation ( string $name , callable $callback )
public bool createFunction ( string $name , mixed $callback [, int $argument_count = -1 ] )
public static string escapeString ( string $value )
public bool exec ( string $query )
public int lastErrorCode ( void )
public string lastErrorMsg ( void )
public int lastInsertRowID ( void )
public bool loadExtension ( string $shared_library )
public void open ( string $filename [, int $flags = SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE [, string $encryption_key ]] )
public SQLite3Stmt prepare ( string $query )
public SQLite3Result query ( string $query )
public mixed querySingle ( string $query [, bool $entire_row = false ] )
public static array version ( void )
}

Tabla de contenidos

  • SQLite3::busyTimeout — Establecer el gestor de conexión ocupado
  • SQLite3::changes — Devolver el número de filas de la base de datos que fueron cambiadas (o insertadas, o eliminadas) por la sentencia SQL más reciente
  • SQLite3::close — Cerrar la conexión a la base de datos
  • SQLite3::__construct — Instanciar un objeto de la clase SQLite3 y abrir una base de datos de SQLite 3
  • SQLite3::createAggregate — Registrar una función de PHP para usarla como una función totalizadora de SQL
  • SQLite3::createCollation — Registra una función PHP para ser utilizada como una función SQL de ordenación específica
  • SQLite3::createFunction — Registrar una función de PHP para usarla como una función escalar de SQL
  • SQLite3::escapeString — Devolver una cadena que ha sido debidamente escapada
  • SQLite3::exec — Ejecutar una consulta que no devuelve resultados en una base de datos dada
  • SQLite3::lastErrorCode — Devolver el código numérico del resultado de la petición SQLite que falló más recientemente
  • SQLite3::lastErrorMsg — Devolver texto en inglés describiendo la petición SQLite que falló más recientemente
  • SQLite3::lastInsertRowID — Devolver el ID de la fila de la sentencia INSERT más reciente realizada en la base de datos
  • SQLite3::loadExtension — Intentar cargar una biblioteca de extensiones de SQLite
  • SQLite3::open — Abrir una base de datos SQLite
  • SQLite3::prepare — Preparar una sentencia SQL para su ejecución
  • SQLite3::query — Ejecutar una consulta SQL
  • SQLite3::querySingle — Ejecutar una consulta y devolver un único resultado
  • SQLite3::version — Devolver la versión de la biblioteca SQLite3 como una constante de cadena y como un número
Constantes predefinidas
SQLite3::busyTimeout
SQLite3


Establecer el gestor de conexión ocupado

SQLite3
SQLite3::changes
SQLite3
PHP Manual

SQLite3::busyTimeout

(PHP 5 >= 5.3.3)

SQLite3::busyTimeout — Establecer el gestor de conexión ocupado

Descripción

public bool SQLite3::busyTimeout ( int $msecs )

Establece un gestor ocupado que estará dormido hasta que la base de datos no esté bloqueada o se alcance el tiempo de espera.

Parámetros

msecs

Los milisegundos a dormir. Establecer este valor a un valor menor o igual a cero desactivará un gestor de tiempo de espera ya establecido.

Valores devueltos

Devuelve TRUE en caso de éxito,FALSE en case de fallo.

SQLite3
SQLite3::changes
SQLite3


Devolver el número de filas de la base de datos que fueron cambiadas (o insertadas, o eliminadas) por la sentencia SQL más reciente

SQLite3::busyTimeout
SQLite3::close
SQLite3
PHP Manual

SQLite3::changes

(PHP 5 >= 5.3.0)

SQLite3::changes — Devolver el número de filas de la base de datos que fueron cambiadas (o insertadas, o eliminadas) por la sentencia SQL más reciente

Descripción

public int SQLite3::changes ( void )

Devuelve el número de filas de la base de datos que fueron cambiadas (o insertadas, o eliminadas) por la sentencia SQL más reciente.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un valor de tipo integer correspondiente al número de filas de la base de datos cambiadas (o insertadas, o eliminadas) por la sentencia SQL más reciente.

Ejemplos

Ejemplo #1 Ejemplo de SQLite3::changes()

<?php
$bd = new SQLite3('mibdsqlite.db');

$consulta = $bd->exec('UPDATE counter SET views=0 WHERE page="test"');
if ($consulta) {
    echo 'Número de filas modificadas: ', $bd->changes();
}
?>

SQLite3::busyTimeout
SQLite3::close
SQLite3


Cerrar la conexión a la base de datos

SQLite3::changes
SQLite3::__construct
SQLite3
PHP Manual

SQLite3::close

(PHP 5 >= 5.3.0)

SQLite3::close — Cerrar la conexión a la base de datos

Descripción

public bool SQLite3::close ( void )

Cierra la conexión a la base de datos.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito, FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de SQLite3::close()

<?php
$bd = new SQLite3('mibdsqlite.db');
$bd->close();
?>

SQLite3::changes
SQLite3::__construct
SQLite3


Instanciar un objeto de la clase SQLite3 y abrir una base de datos de SQLite 3

SQLite3::close
SQLite3::createAggregate
SQLite3
PHP Manual

SQLite3::__construct

(PHP 5 >= 5.3.0)

SQLite3::__construct — Instanciar un objeto de la clase SQLite3 y abrir una base de datos de SQLite 3

Descripción

public SQLite3::__construct ( string $filename [, int $flags [, string $encryption_key ]] )

Instancia un objeto de la clase SQLite3 y abre una conexión a una base de datos de SQLite. Si la construcción incluye encriptación, se intentará usar la clave.

Parámetros

filename

La ruta a la base de datos de SQLite, o :memory: para usar la base de datos que está en memoria.

flags

Banderas opcionales para determinar cómo abrir la base de datos SQLite. Por omisión, el método open utiliza SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE.

  • SQLITE3_OPEN_READONLY: Abrir la base de datos para sólo lectura.

  • SQLITE3_OPEN_READWRITE: Abrir la base de datos para lectura y escritura.

  • SQLITE3_OPEN_CREATE: Crear la base de datos si no existe.

encryption_key

Una clave de encriptación opcional usada cuando se encripta o desencripta una base de datos de SQLite.

Valores devueltos

Devuelve un objeto SQLite3 en caso de éxito.

Errores/Excepciones

Lanza una Exception cuando falla.

Ejemplos

Ejemplo #1 Ejemplo de SQLite3::__construct()

<?php
$bd = new SQLite3('mibdsqlite.db');

$bd->exec('CREATE TABLE foo (bar STRING)');
$bd->exec("INSERT INTO foo (bar) VALUES ('Esto es una prueba')");

$resultado = $bd->query('SELECT bar FROM foo');
var_dump($resultado->fetchArray());
?>

SQLite3::close
SQLite3::createAggregate
SQLite3


Registrar una función de PHP para usarla como una función totalizadora de SQL

SQLite3::__construct
SQLite3::createCollation
SQLite3
PHP Manual

SQLite3::createAggregate

(PHP 5 >= 5.3.0)

SQLite3::createAggregate — Registrar una función de PHP para usarla como una función totalizadora de SQL

Descripción

public bool SQLite3::createAggregate ( string $name , mixed $step_callback , mixed $final_callback [, int $argument_count = -1 ] )

Registra una función de PHP o una definida por el usuario para usarla como una función totalizadora de SQL para utilizarla dentro de sentencias SQL.

Parámetros

name

El nombre de la función totalizadora de SQL a crear o redefinir.

step_callback

El nombre de una función de PHP o una definida por el usuario para aplicarla como una llamada de retorno para cada elemento del total.

final_callback

El nombre de una función de PHP o una definida por el usuario para aplicarla como una llamada de retorno al final de la información del total.

argument_count

El número de argumentos que toma la función de SQL. Si este parámetro es negativo, la función de SQL puede tomar cualquier número de argumentos.

Valores devueltos

Devuelve TRUE si la creación de la función totalizadora tuvo éxito, FALSE en case de error.

SQLite3::__construct
SQLite3::createCollation
SQLite3


Registra una función PHP para ser utilizada como una función SQL de ordenación específica

SQLite3::createAggregate
SQLite3::createFunction
SQLite3
PHP Manual

SQLite3::createCollation

(PHP 5 >= 5.3.11)

SQLite3::createCollation — Registra una función PHP para ser utilizada como una función SQL de ordenación específica

Descripción

public bool SQLite3::createCollation ( string $name , callable $callback )

Registra una función PHP o función definida por el usuario para ser utilizada como una función de ordenación específica dentro de sentencias SQL.

Parámetros

name

Nombre de la función SQL de ordenación específica a ser creada o redefinida

callback

El nombre de una función PHP o función definida por el usuario que se aplicará como retorno de llamada, definiendo el comportamiento de la ordenación. Debe aceptar dos strings y devolver el resultado del mismo modo que lo hace strcmp() , p.e. debe devolver -1, 1, o 0, si el primer string es menor que el segundo, es mayor que el segundo, o es igual al segundo respectivamente.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 SQLite3::createCollation()

Registra la función PHP strnatcmp() como una secuencia de ordenación en la base de datos SQLite3.

<?php

$db = new SQLite3(":memory:");
$db->exec("CREATE TABLE test (col1 string)");
$db->exec("INSERT INTO test VALUES ('a1')");
$db->exec("INSERT INTO test VALUES ('a10')");
$db->exec("INSERT INTO test VALUES ('a2')");

$db->createCollation('NATURAL_CMP', 'strnatcmp');

$defaultSort = $db->query("SELECT col1 FROM test ORDER BY col1");
$naturalSort = $db->query("SELECT col1 FROM test ORDER BY col1 COLLATE NATURAL_CMP");

echo "por defecto:\n";
while ($row = $defaultSort->fetchArray()){
    echo $row['col1'], "\n";
}

echo "\nnatural:\n";
while ($row = $naturalSort->fetchArray()){
    echo $row['col1'], "\n";
}

$db->close();

?>

El resultado del ejemplo sería:

default:
a1
a10
a2

natural:
a1
a2
a10

Ver también

  • La documentación SQLite: » http://sqlite.org/datatype3.html#collation
SQLite3::createAggregate
SQLite3::createFunction
SQLite3


Registrar una función de PHP para usarla como una función escalar de SQL

SQLite3::createCollation
SQLite3::escapeString
SQLite3
PHP Manual

SQLite3::createFunction

(PHP 5 >= 5.3.0)

SQLite3::createFunction — Registrar una función de PHP para usarla como una función escalar de SQL

Descripción

public bool SQLite3::createFunction ( string $name , mixed $callback [, int $argument_count = -1 ] )

Registra un función de PHP o una definida por el usuario para usarla como una función escalar de SQL para utilizarla dentro de sentencias SQL.

Parámetros

name

El nombre de la función de SQL a crear o redefinir.

callback

El nombre de una función de PHP o una definida por el usuario para aplicarla como una llamada de retorno, definiendo el comportamiento de la función de SQL.

argument_count

El número de argumentos que toma la función de SQL. Si este parámetro es negativo, la función de SQL puede tomar cualquier número de argumentos.

Valores devueltos

Devuelve TRUE si la creación de la función tuvo éxito, FALSE en case de error.

Ejemplos

Ejemplo #1 Ejemplo de SQLite3::createFunction()

<?php
function mi_fdu_md5($cadena) {
    return md5($cadena);
}

$bd = new SQLite3('mibdsqlite.db');
$bd->createFunction('mi_fdu_md5', 'mi_fdu_md5');

var_dump($db->querySingle('SELECT mi_fdu_md5("prueba")'));
?>

El resultado del ejemplo sería algo similar a:

string(32) "c893bad68927b457dbed39460e6afd62"

SQLite3::createCollation
SQLite3::escapeString
SQLite3


Devolver una cadena que ha sido debidamente escapada

SQLite3::createFunction
SQLite3::exec
SQLite3
PHP Manual

SQLite3::escapeString

(PHP 5 >= 5.3.0)

SQLite3::escapeString — Devolver una cadena que ha sido debidamente escapada

Descripción

public static string SQLite3::escapeString ( string $value )

Devuelve una cadena que ha sido debidamente escapada para una inclusión segura en una sentencia SQL.

Parámetros

value

La cadena a ser escapada.

Valores devueltos

Devuelve una cadena debidamente escapada que puede ser usada de forma segura en una sentencia SQL.

Notas

Advertencia

addslashes() NO debería usarse para entrecomillar las cadenas de consulta de SQLite; conducirá a resultados extraños al recuperar la información.

SQLite3::createFunction
SQLite3::exec
SQLite3


Ejecutar una consulta que no devuelve resultados en una base de datos dada

SQLite3::escapeString
SQLite3::lastErrorCode
SQLite3
PHP Manual

SQLite3::exec

(PHP 5 >= 5.3.0)

SQLite3::exec — Ejecutar una consulta que no devuelve resultados en una base de datos dada

Descripción

public bool SQLite3::exec ( string $query )

Ejecuta una consulta que no devuelve resultados en una base de datos dada.

Parámetros

query

La consulta SQL a ejecutar (típicamente una consulta INSERT, UPDATE, o DELETE).

Valores devueltos

Devuelve TRUE si la consulta tuvo éxito, FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de SQLite3::exec()

<?php
$bd = new SQLite3('mibdsqlite.db');

$bd->exec('CREATE TABLE bar (bar STRING)');
?>

SQLite3::escapeString
SQLite3::lastErrorCode
SQLite3


Devolver el código numérico del resultado de la petición SQLite que falló más recientemente

SQLite3::exec
SQLite3::lastErrorMsg
SQLite3
PHP Manual

SQLite3::lastErrorCode

(PHP 5 >= 5.3.0)

SQLite3::lastErrorCode — Devolver el código numérico del resultado de la petición SQLite que falló más recientemente

Descripción

public int SQLite3::lastErrorCode ( void )

Devuelve el código numérico del resultado de la petición SQLite que falló más recientemente.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un valor de tipo integer que representa el código numérico del resultado de la petición SQLite que falló más recientemente.

SQLite3::exec
SQLite3::lastErrorMsg
SQLite3


Devolver texto en inglés describiendo la petición SQLite que falló más recientemente

SQLite3::lastErrorCode
SQLite3::lastInsertRowID
SQLite3
PHP Manual

SQLite3::lastErrorMsg

(PHP 5 >= 5.3.0)

SQLite3::lastErrorMsg — Devolver texto en inglés describiendo la petición SQLite que falló más recientemente

Descripción

public string SQLite3::lastErrorMsg ( void )

Devuelve texto en inglés describiendo la petición SQLite que falló más recientemente

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve texto en inglés describiendo la petición SQLite que falló más recientemente

SQLite3::lastErrorCode
SQLite3::lastInsertRowID
SQLite3


Devolver el ID de la fila de la sentencia INSERT más reciente realizada en la base de datos

SQLite3::lastErrorMsg
SQLite3::loadExtension
SQLite3
PHP Manual

SQLite3::lastInsertRowID

(PHP 5 >= 5.3.0)

SQLite3::lastInsertRowID — Devolver el ID de la fila de la sentencia INSERT más reciente realizada en la base de datos

Descripción

public int SQLite3::lastInsertRowID ( void )

Devuelve el ID de la fila de la sentencia INSERT más reciente realizada en la base de datos.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el ID de la fila de la sentencia INSERT más reciente realizada en la base de datos

SQLite3::lastErrorMsg
SQLite3::loadExtension
SQLite3


Intentar cargar una biblioteca de extensiones de SQLite

SQLite3::lastInsertRowID
SQLite3::open
SQLite3
PHP Manual

SQLite3::loadExtension

(PHP 5 >= 5.3.0)

SQLite3::loadExtension — Intentar cargar una biblioteca de extensiones de SQLite

Descripción

public bool SQLite3::loadExtension ( string $shared_library )

Intenta cargar una biblioteca de extensiones de SQLite.

Parámetros

shared_library

El nombre de la biblioteca a cargar. La biblioteca debe estar ubicada en el directorio especificado con la opción de configuración sqlite3.extension_dir.

Valores devueltos

Devuelve TRUE si la extensión es cargada con éxito, FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de SQLite3::loadExtension()

<?php
$bd = new SQLite3('mibdsqlite.db');
$bd->loadExtension('libagg.so');
?>

SQLite3::lastInsertRowID
SQLite3::open
SQLite3


Abrir una base de datos SQLite

SQLite3::loadExtension
SQLite3::prepare
SQLite3
PHP Manual

SQLite3::open

(PHP 5 >= 5.3.0)

SQLite3::open — Abrir una base de datos SQLite

Descripción

public void SQLite3::open ( string $filename [, int $flags = SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE [, string $encryption_key ]] )

Abre una Base de Datos SQLite 3. Si la construcción incluye encriptación, intentará usar la clave.

Parámetros

filename

La ruta a la base de datos de SQLite, o :memory: para usar la base de datos que está en memoria.

flags

Banderas opcionales para determinar cómo abrir la base de datos SQLite. Por omisión, el método open utiliza SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE.

  • SQLITE3_OPEN_READONLY: Abrir la base de datos para sólo lectura.

  • SQLITE3_OPEN_READWRITE: Abrir la base de datos para lectura y escritura.

  • SQLITE3_OPEN_CREATE: Crear la base de datos si no existe.

encryption_key

Una clave de encriptación opcional usada cuando se encripta o desencripta una base de datos de SQLite.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de SQLite3::open()

<?php
/**
 * Ejemplo sencillo para extender la clase SQLite3 y cambiar los parámetros
 * de __construct, después usar el método open para inicializar la BD.
 */
class MiBD extends SQLite3
{
    function __construct()
    {
        $this->open('mibdsqlite.db');
    }
}

$bd = new MiBD();

$bd->exec('CREATE TABLE foo (bar STRING)');
$bd->exec("INSERT INTO foo (bar) VALUES ('Esto es una prueba')");

$resultado = $bd->query('SELECT bar FROM foo');
var_dump($resultado->fetchArray());
?>

SQLite3::loadExtension
SQLite3::prepare
SQLite3


Preparar una sentencia SQL para su ejecución

SQLite3::open
SQLite3::query
SQLite3
PHP Manual

SQLite3::prepare

(PHP 5 >= 5.3.0)

SQLite3::prepare — Preparar una sentencia SQL para su ejecución

Descripción

public SQLite3Stmt SQLite3::prepare ( string $query )

Prepara una sentencia SQL para su ejecución y devuelve un objeto de la clase SQLite3Stmt.

Parámetros

query

La consulta SQL a preparar.

Valores devueltos

Devuelve un objeto de la clase SQLite3Stmt en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de SQLite3::prepare()

<?php
unlink('mibdsqlite.db');
$bd = new SQLite3('mibdsqlite.db');

$bd->exec('CREATE TABLE foo (id INTEGER, bar STRING)');
$bd->exec("INSERT INTO foo (id, bar) VALUES (1, 'Esto es una prueba')");

$sentencia = $bd->prepare('SELECT bar FROM foo WHERE id=:id');
$sentencia->bindValue(':id', 1, SQLITE3_INTEGER);

$resultado = $sentencia->execute();
var_dump($resultado->fetchArray());
?>

SQLite3::open
SQLite3::query
SQLite3


Ejecutar una consulta SQL

SQLite3::prepare
SQLite3::querySingle
SQLite3
PHP Manual

SQLite3::query

(PHP 5 >= 5.3.0)

SQLite3::query — Ejecutar una consulta SQL

Descripción

public SQLite3Result SQLite3::query ( string $query )

Ejecuta una consulta SQL, devolviendo un objeto de la clase SQLite3Result si la consulta devuelve resultados.

Parámetros

query

La consulta SQL a ejecutar.

Valores devueltos

Devuelve un objeto de la clase SQLite3Result si la consulta devuelve resultados. Si no, devuelve TRUE si la consulta tuvo éxito, FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de SQLite3::query()

<?php
$bd = new SQLite3('mibdsqlite.db');

$results = $bd->query('SELECT bar FROM foo');
while ($row = $results->fetchArray()) {
    var_dump($row);
}
?>

SQLite3::prepare
SQLite3::querySingle
SQLite3


Ejecutar una consulta y devolver un único resultado

SQLite3::query
SQLite3::version
SQLite3
PHP Manual

SQLite3::querySingle

(PHP 5 >= 5.3.0)

SQLite3::querySingle — Ejecutar una consulta y devolver un único resultado

Descripción

public mixed SQLite3::querySingle ( string $query [, bool $entire_row = false ] )

Ejecuta una consulta y devuelve un único resultado.

Parámetros

query

La consulta SQL a ejecutar.

entire_row

Por omisión, querySingle() devuelve el valor de la primera columna devuelta por la consulta. Si entire_row es TRUE, devuelve un array con la primera fila completa.

Valores devueltos

Devuelve el valor de la primera columna de resultados o un array con la primera fila completa (si entire_row es TRUE).

Si la consulta es válida pero no se devuelven resultados, se devolverá NULL si entire_row es FALSE, de otro modo se devolverá un array vacío.

Las consultas no válidas o defectuosas devolverán FALSE.

Ejemplos

Ejemplo #1 Ejemplo de SQLite3::querySingle()

<?php
$bd = new SQLite3('mibdsqlite.db');

var_dump($bd->querySingle('SELECT username FROM user WHERE userid=1'));
print_r($bd->querySingle('SELECT username, email FROM user WHERE userid=1', true));
?>

El resultado del ejemplo sería algo similar a:

string(5) "Scott"
Array
(
    [username] => Scott
    [email] => scott@example.com
)

SQLite3::query
SQLite3::version
SQLite3


Devolver la versión de la biblioteca SQLite3 como una constante de cadena y como un número

SQLite3::querySingle
SQLite3Stmt
SQLite3
PHP Manual

SQLite3::version

(PHP 5 >= 5.3.0)

SQLite3::version — Devolver la versión de la biblioteca SQLite3 como una constante de cadena y como un número

Descripción

public static array SQLite3::version ( void )

Devuelve la versión de la biblioteca SQLite3 como una constante de cadena y como un número.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un array asociativo con las claves "versionString" y "versionNumber".

Ejemplos

Ejemplo #1 Ejemplo de SQLite3::version()

<?php
print_r(SQLite3::version());
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [versionString] => 3.5.9
    [versionNumber] => 3005009
)

SQLite3::querySingle
SQLite3Stmt
SQLite3


La clase SQLite3Stmt

(PHP 5 >= 5.3.0)

Introducción

La clase que maneja declaraciones preparadas para la extensión SQLite.

Sinopsis de la Clase

SQLite3Stmt {
/* Métodos */
public bool bindParam ( string $sql_param , mixed &$param [, int $type ] )
public bool bindValue ( string $sql_param , mixed $value [, int $type ] )
public bool clear ( void )
public bool close ( void )
public SQLite3Result execute ( void )
public int paramCount ( void )
public bool reset ( void )
}

Tabla de contenidos

  • SQLite3Stmt::bindParam — Vincular un parámetro a una variable de sentencia
  • SQLite3Stmt::bindValue — Vincular el valor de un parámetro a una variable de sentencia
  • SQLite3Stmt::clear — Limpiar todos los parámetros vinculados actuales
  • SQLite3Stmt::close — Cerrar una sentencia preparada
  • SQLite3Stmt::execute — Ejecutar una sentencia preparada y devuolver un objeto de conjunto de resultados
  • SQLite3Stmt::paramCount — Devolver el número de parámetros dentro de la sentencia preparada
  • SQLite3Stmt::reset — Reiniciar la sentencia preparada
SQLite3::version
SQLite3Stmt::bindParam
SQLite3


Vincular un parámetro a una variable de sentencia

SQLite3Stmt
SQLite3Stmt::bindValue
SQLite3Stmt
PHP Manual

SQLite3Stmt::bindParam

(PHP 5 >= 5.3.0)

SQLite3Stmt::bindParam — Vincular un parámetro a una variable de sentencia

Descripción

public bool SQLite3Stmt::bindParam ( string $sql_param , mixed &$param [, int $type ] )

Vincula un parámetro a una variable de sentencia.

Parámetros

sql_param

Un string que identifica la variable de sentencia que debería ser vinculada al parámetro.

param

El parámetro a vincular a la variable de sentencia.

type

El tipo de datos del parámetro a vincular.

  • SQLITE3_INTEGER: El valor es un entero con signo, almacenado en 1, 2, 3, 4, 6, u 8 bytes, dependiendo de la magnitud del valor.

  • SQLITE3_FLOAT: El valor es de tipo coma flotante, almacenado como un número de coma flotante IEEE de 8 bytes.

  • SQLITE3_TEXT: El valor es una cadena de texto, almacenado usando la codificación de la base de datos (UTF-8, UTF-16BE o UTF-16-LE).

  • SQLITE3_BLOB: El valor es de tipo blob, almacenado exactamente a como fue insertado.

  • SQLITE3_NULL: El valor es NULL.

Valores devueltos

Devuelve TRUE si el parámetro es vinculado a la variable de sentencia, FALSE en caso de fallo.

SQLite3Stmt
SQLite3Stmt::bindValue
SQLite3Stmt


Vincular el valor de un parámetro a una variable de sentencia

SQLite3Stmt::bindParam
SQLite3Stmt::clear
SQLite3Stmt
PHP Manual

SQLite3Stmt::bindValue

(PHP 5 >= 5.3.0)

SQLite3Stmt::bindValue — Vincular el valor de un parámetro a una variable de sentencia

Descripción

public bool SQLite3Stmt::bindValue ( string $sql_param , mixed $value [, int $type ] )

Vincula el valor de un parámetro a una variable de sentencia.

Parámetros

sql_param

Un string que identifica la variable de sentencia a la que el valor debería ser vinculado.

value

El valor a vincular a la variable de sentencia.

type

El tipo de dato de la variable a vincular.

  • SQLITE3_INTEGER: El valor es un entero con signo, almacenado en 1, 2, 3, 4, 6, u 8 bytes, dependiendo de la magnitud del valor.

  • SQLITE3_FLOAT: El valor es de tipo coma flotante, almacenado como un número de coma flotante IEEE de 8 bytes.

  • SQLITE3_TEXT: El valor es una cadena de texto, almacenado usando la codificación de la base de datos (UTF-8, UTF-16BE o UTF-16-LE).

  • SQLITE3_BLOB: El valor es de tipo blob, almacenado exactamente a como fue insertado.

  • SQLITE3_NULL: El valor es NULL.

Valores devueltos

Devuelve TRUE si el valor es vinculado a la variable de sentencia, FALSE en case de error.

Ejemplos

Ejemplo #1 Ejemplo de SQLite3Stmt::bindValue()

<?php
unlink('mibdsqlite.db');
$bd = new SQLite3('mibdsqlite.db');

$bd->exec('CREATE TABLE foo (id INTEGER, bar STRING)');
$bd->exec("INSERT INTO foo (id, bar) VALUES (1, 'Esto es una prueba')");

$sentencia = $bd->prepare('SELECT bar FROM foo WHERE id=:id');
$sentencia->bindValue(':id', 1, SQLITE3_INTEGER);

$resultado = $sentencia->execute();
var_dump($resultado->fetchArray());
?>

SQLite3Stmt::bindParam
SQLite3Stmt::clear
SQLite3Stmt


Limpiar todos los parámetros vinculados actuales

SQLite3Stmt::bindValue
SQLite3Stmt::close
SQLite3Stmt
PHP Manual

SQLite3Stmt::clear

(PHP 5 >= 5.3.0)

SQLite3Stmt::clear — Limpiar todos los parámetros vinculados actuales

Descripción

public bool SQLite3Stmt::clear ( void )

Limpia todos los parámetros vinculados actuales.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si la limpiza de parámetros vinculados tuvo éxito, FALSE en caso de fallo.

SQLite3Stmt::bindValue
SQLite3Stmt::close
SQLite3Stmt


Cerrar una sentencia preparada

SQLite3Stmt::clear
SQLite3Stmt::execute
SQLite3Stmt
PHP Manual

SQLite3Stmt::close

(PHP 5 >= 5.3.0)

SQLite3Stmt::close — Cerrar una sentencia preparada

Descripción

public bool SQLite3Stmt::close ( void )

Cierra una sentencia preparada.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE

SQLite3Stmt::clear
SQLite3Stmt::execute
SQLite3Stmt


Ejecutar una sentencia preparada y devuolver un objeto de conjunto de resultados

SQLite3Stmt::close
SQLite3Stmt::paramCount
SQLite3Stmt
PHP Manual

SQLite3Stmt::execute

(PHP 5 >= 5.3.0)

SQLite3Stmt::execute — Ejecutar una sentencia preparada y devuolver un objeto de conjunto de resultados

Descripción

public SQLite3Result SQLite3Stmt::execute ( void )

Ejecuta una sentencia preparada y devuelve un objeto de conjunto de resultados.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un objeto de la clase SQLite3Result si la ejecución de la sentencia preparada tuvo éxito, FALSE en caso de fallo.

SQLite3Stmt::close
SQLite3Stmt::paramCount
SQLite3Stmt


Devolver el número de parámetros dentro de la sentencia preparada

SQLite3Stmt::execute
SQLite3Stmt::reset
SQLite3Stmt
PHP Manual

SQLite3Stmt::paramCount

(PHP 5 >= 5.3.0)

SQLite3Stmt::paramCount — Devolver el número de parámetros dentro de la sentencia preparada

Descripción

public int SQLite3Stmt::paramCount ( void )

Devuelve el número de parámetros dentro de la sentencia preparada.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el número de parámetros dentro de la sentencia preparada.

SQLite3Stmt::execute
SQLite3Stmt::reset
SQLite3Stmt


Reiniciar la sentencia preparada

SQLite3Stmt::paramCount
SQLite3Result
SQLite3Stmt
PHP Manual

SQLite3Stmt::reset

(PHP 5 >= 5.3.0)

SQLite3Stmt::reset — Reiniciar la sentencia preparada

Descripción

public bool SQLite3Stmt::reset ( void )

Reinica la sentencia preparada al estado previo a su ejecución. Todos los vínculos permanecen intactos después del reinicio.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si la sentencia es reiniciada con éxito, FALSE en caso de error.

SQLite3Stmt::paramCount
SQLite3Result
SQLite3Stmt


La clase SQLite3Result

(PHP 5 >= 5.3.0)

Introducción

La clase que controla los resultados establecidos para la extensión SQLite 3.

Sinopsis de la Clase

SQLite3Result {
/* Métodos */
public string columnName ( int $column_number )
public int columnType ( int $column_number )
public array fetchArray ([ int $mode = SQLITE3_BOTH ] )
public bool finalize ( void )
public int numColumns ( void )
public bool reset ( void )
}

Tabla de contenidos

  • SQLite3Result::columnName — Devolver el nombre de la columna n-ésima
  • SQLite3Result::columnType — Devolver el tipo de la columna n-ésima
  • SQLite3Result::fetchArray — Obtener una fila de resultados en forma de un array asociativo o indexado o ambos
  • SQLite3Result::finalize — Cerrar el conjunto de resultados
  • SQLite3Result::numColumns — Devolver el número de columnas del conjunto de resultados
  • SQLite3Result::reset — Reiniciar el conjunto de resultados a la primera fila
SQLite3Stmt::reset
SQLite3Result::columnName
SQLite3


Devolver el nombre de la columna n-ésima

SQLite3Result
SQLite3Result::columnType
SQLite3Result
PHP Manual

SQLite3Result::columnName

(PHP 5 >= 5.3.0)

SQLite3Result::columnName — Devolver el nombre de la columna n-ésima

Descripción

public string SQLite3Result::columnName ( int $column_number )

Devuelve el nombre de la columna especificada por el parámetro column_number.

Parámetros

column_number

El índice numérico basado en cero de la columna.

Valores devueltos

Devuelve un valor de tipo string son el nombre de la columna identificada por column_number.

SQLite3Result
SQLite3Result::columnType
SQLite3Result


Devolver el tipo de la columna n-ésima

SQLite3Result::columnName
SQLite3Result::fetchArray
SQLite3Result
PHP Manual

SQLite3Result::columnType

(PHP 5 >= 5.3.0)

SQLite3Result::columnType — Devolver el tipo de la columna n-ésima

Descripción

public int SQLite3Result::columnType ( int $column_number )

Devuelve el tipo de la columna identificada por column_number.

Parámetros

column_number

El índice numérico basado en cero de la columna.

Valores devueltos

Devuelve el índice del tipo de información de la columna identificada por column_number (uno de los siguientes: SQLITE3_INTEGER, SQLITE3_FLOAT, SQLITE3_TEXT, SQLITE3_BLOB, o SQLITE3_NULL).

SQLite3Result::columnName
SQLite3Result::fetchArray
SQLite3Result


Obtener una fila de resultados en forma de un array asociativo o indexado o ambos

SQLite3Result::columnType
SQLite3Result::finalize
SQLite3Result
PHP Manual

SQLite3Result::fetchArray

(PHP 5 >= 5.3.0)

SQLite3Result::fetchArray — Obtener una fila de resultados en forma de un array asociativo o indexado o ambos

Descripción

public array SQLite3Result::fetchArray ([ int $mode = SQLITE3_BOTH ] )

Obtiene una fila de resultados en forma de un array asociativo o indexado o ambos. Por omisión, obtiene ambas formas.

Parámetros

mode

Controla cómo será devuelta al llamador la siguiente fila. Este valor debe ser uno de los siguientes: SQLITE3_ASSOC, SQLITE3_NUM, o SQLITE3_BOTH.

  • SQLITE3_ASSOC: devuelve un array indexado por el nombre de columna como devuelto en el conjunto de resultados correspondiente

  • SQLITE3_NUM: devuelve un array indexado por el número de columna como devuelto en el conjunto de resultados correspondiente, empezando por la columna 0

  • SQLITE3_BOTH: devuelve un array indexado tanto por el nombre como por el número de columna como devuelto en el conjunto de resultados correspondiente, empezando por la columna 0

Valores devueltos

Devuelve una fila de resultados en forma de un array asociativo o indexado o ambos. De forma alternativa devolverá FALSE si no existen más filas.

SQLite3Result::columnType
SQLite3Result::finalize
SQLite3Result


Cerrar el conjunto de resultados

SQLite3Result::fetchArray
SQLite3Result::numColumns
SQLite3Result
PHP Manual

SQLite3Result::finalize

(PHP 5 >= 5.3.0)

SQLite3Result::finalize — Cerrar el conjunto de resultados

Descripción

public bool SQLite3Result::finalize ( void )

Cierra el conjunto de resultados.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE.

SQLite3Result::fetchArray
SQLite3Result::numColumns
SQLite3Result


Devolver el número de columnas del conjunto de resultados

SQLite3Result::finalize
SQLite3Result::reset
SQLite3Result
PHP Manual

SQLite3Result::numColumns

(PHP 5 >= 5.3.0)

SQLite3Result::numColumns — Devolver el número de columnas del conjunto de resultados

Descripción

public int SQLite3Result::numColumns ( void )

Devuelve el número de columnas del conjunto de resultados.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el número de columnas del conjunto de resultados.

SQLite3Result::finalize
SQLite3Result::reset
SQLite3Result


Reiniciar el conjunto de resultados a la primera fila

SQLite3Result::numColumns
SQLSRV
SQLite3Result
PHP Manual

SQLite3Result::reset

(PHP 5 >= 5.3.0)

SQLite3Result::reset — Reiniciar el conjunto de resultados a la primera fila

Descripción

public bool SQLite3Result::reset ( void )

Reinicia el conjunto de resultados a la primera fila.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si el conjunto de resultados es reiniciado con éxito a la primera fila, FALSE en caso de error.

SQLite3Result::numColumns
SQLSRV
SQLite3Result


Driver de Microsoft SQL Server para PHP

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • SQLSRV Funciones
    • sqlsrv_begin_transaction — Inicia una transacción de base de datos
    • sqlsrv_cancel — Cancela una sentencia de base de datos
    • sqlsrv_client_info — Devuelve información sobre el cliente y la conexión especificada
    • sqlsrv_close — Cierra una conexión abierta y libera los recursos asociados a la conexión
    • sqlsrv_commit — Consolida una transacción que se inició con sqlsrv_begin_transaction
    • sqlsrv_configure — Cambia la configuración de los drivers del gestionador de errores y de log
    • sqlsrv_connect — Abre una conexión a una base de datos Microsoft SQL Server
    • sqlsrv_errors — Devuelve información de errores y alertas (warnings) de la última operación SQLSRV realizada
    • sqlsrv_execute — Ejecuta una sentencia preparada con sqlsrv_prepare
    • sqlsrv_fetch_array — Devuelve una fila como un array
    • sqlsrv_fetch_object — Devuelve la siguiente fila de datos de un conjunto resultado como un objeto
    • sqlsrv_fetch — Hace que esté disponible para ser leída la siguiente fila del conjunto de resultado
    • sqlsrv_field_metadata — Obtiene la metadata de los campos de una consulta preparada por sqlsrv_prepare o sqlsrv_query
    • sqlsrv_free_stmt — Frees all resources for the specified statement
    • sqlsrv_get_config — Returns the value of the specified configuration setting
    • sqlsrv_get_field — Gets field data from the currently selected row
    • sqlsrv_has_rows — Indicates whether the specified statement has rows
    • sqlsrv_next_result — Makes the next result of the specified statement active
    • sqlsrv_num_fields — Retrieves the number of fields (columns) on a statement
    • sqlsrv_num_rows — Retrieves the number of rows in a result set
    • sqlsrv_prepare — Prepares a query for execution
    • sqlsrv_query — Prepares and executes a query.
    • sqlsrv_rollback — Rolls back a transaction that was begun with sqlsrv_begin_transaction
    • sqlsrv_rows_affected — Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed
    • sqlsrv_send_stream_data — Sends data from parameter streams to the server
    • sqlsrv_server_info — Returns information about the server
SQLite3Result::reset
Introducción
Extensiones de bases de datos específicas del proveedor


Introducción

La extensión SQLSRV permite acceder a bases de datos de Microsoft SQL Server y SQL Azure cuando se ejecuta PHP sobre Windows. La versión 3.0 del controlador soporta SQL Server, empezando con SQL Server 2005, incluyendo SQL Server 2012 y SQL Server 2012 LocalDB. (Para más información sobre LocalDB, véase » Controlador de PHP para soporte de SQL Server para LocalDB y » SQL Server 2012 Express LocalDB.)

La extensión SQLSRV está soportada por Microsoft y está disponible para descargala aquí: » http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx. SQL Server 2012 LocalDB puede descargarse aquí: » http://go.microsoft.com/fwlink/?LinkID=237665.

SQLSRV
Instalación/Configuración
SQLSRV


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
SQLSRV


Requerimientos

La extensión puede ser utilizada en los siguientes sistemas operativos:

  • Windows Vista Service Pack 2 o posterior
  • Windows Server 2008 Service Pack 2 o posterior
  • Windows Server 2008 R2
  • Windows 7

La extensión SQLSRV requiere que el Cliente Nativo de Microsoft SQL Server 2012 esté instalado en el mismo computador en que está corriendo PHP. Si el Microsoft SQL Server 2012 no está ya instalado, haga click en el enlace apropiado de abajo para descargarlo:

  • » Descargar el paquete x86
  • » Descargar el paquete x64

La descarga de SQLSRV viene con 8 ficheros controladores, cuatro de ellos son para el soporte de PDO. Si se está ejecutando PHP (PHP 5.3) no seguro a nivel de hilos se ha de utilizar el fichero php_sqlsrv_53_nts.dll. (Se debería usar una versión no segura a nivel de hilos si se utiliza IIS como servidor web). Si se está ejecutando PHP seguro a nivel de hilos se ha de utilizar el fichero php_sqlsrv_53_ts.dll De forma similar, para PHP 5.4, se ha de usar php_sqlsrv_54_nts.dll o php_sqlsrv_54_ts.dll, dependiendo de si la instanlación de PHP no es segura a nivel de hilos o sí lo es, respectivamente.

La versión más reciente del controlador se puede descargar aquí: » Descarga de SQLSRV 3.0. Si se necesita soporte para PHP 5.2 y/o PHP compilado con VC6, se ha de usar la versión 2.0 del controlador: » Descarga de SQLSRV 2.0.

Para más información sobre los requerimientos de SQLSRV, véase » Requerimientos del Sistema para SQLSRV.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

La extensión SQLSRV se activa añadiendo el fichero DLL apropiado al directorio de extensiones de PHP y la entrada correspondiente al fichero php.ini. La descarga de SQLSRV viene con 8 ficheros controladores, cuatro de ellos son para el soporte de PDO. Si se está ejecutando PHP (PHP 5.3) no seguro a nivel de hilos se ha de utilizar el fichero php_sqlsrv_53_nts.dll. (Se debería usar una versión no segura a nivel de hilos si se utiliza IIS como servidor web). Si se está ejecutando PHP seguro a nivel de hilos se ha de utilizar el fichero php_sqlsrv_53_ts.dll. De forma similar, para PHP 5.4, se ha de usar php_sqlsrv_54_nts.dll o php_sqlsrv_54_ts.dll, dependiendo de si la instalación de PHP no es segura a nivel de hilos o sí lo es, respectivamente.

La versión más reciente del controlador se puede descargar aquí: » Descarga de SQLSRV 3.0. Si se necesita soporte para PHP 5.2 y/o PHP compilado con VC6, se ha de usar la versión 2.0 del controlador: » Descarga de SQLSRV 2.0.

Para más información sobre los requerimientos de SQLSRV, ver » Requerimientos del Sistema para SQLSRV.

La extensión SQLSRV solamente es compatible con PHP corriendo sobre Windows.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

La siguiente tabla lista las opciones de configuración disponibles en la extensión SQLSRV. Para más información, ver » Manejando advertencias y errores de SQLSRV.

SQLSRV Opciones de configuración
Nombre | Por defecto | Cambiable | Cambios
sqlsrv.WarningsReturnAsErrors | 1 (TRUE) | PHP_INI_ALL | Disponible desde SQLSRV 1.0
sqlsrv.LogSubsystems | 0 | PHP_INI_ALL | Disponible desde SQLSRV 1.0
sqlsrv.LogSeverity | 1 | PHP_INI_ALL | Disponible desde SQLSRV 1.0

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Recurso de conexión

Un recurso de conexión devuelto por sqlsrv_connect().

Recurso de sentencia

Un recurso de sentencia devuelto por sqlsrv_query() o por sqlsrv_prepare().

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

SQLSRV_FETCH_ASSOC (integer)
Obliga a sqlsrv_fetch_array() a que devuelva un array asociativo cuando se pasa como un parámetro.
SQLSRV_FETCH_NUMERIC (integer)
Obliga a sqlsrv_fetch_array() a que devuelva un array con claves numéricas cuando se pasa como un parámetro.
SQLSRV_FETCH_BOTH (integer)
Obliga a sqlsrv_fetch_array() a que devuelva un array con ambas claves asociativas y numéricas cuando se pasa como un parámetro (el comportamiento por defecto).
SQLSRV_ERR_ALL (integer)
Obliga a sqlsrv_errors() a que devuelva tanto errores como advertencias cuando se pasa como un parámetro (el comportamiento por defecto).
SQLSRV_ERR_ERRORS (integer)
Obliga a sqlsrv_errors() a que devuleva sólo errores (no advernecias) cuando se pasa como un parámetro.
SQLSRV_ERR_WARNINGS (integer)
Obliga a sqlsrv_errors() a que devuleva sólo advertencias (no errores) cuando se pasa como un parámetro.
SQLSRV_LOG_SYSTEM_ALL (integer)
Activa el registro de todos los subsistemas cuando se pasa a sqlsrv_configure() como un parámetro.
SQLSRV_LOG_SYSTEM_CONN (integer)
Activa el registro de actividad de conexión cuando se pasa a sqlsrv_configure() como un parámetro.
SQLSRV_LOG_SYSTEM_INIT (integer)
Activa el registro de la actividad de inicialización cuando se pasa a sqlsrv_configure() como un parámetro.
SQLSRV_LOG_SYSTEM_OFF (integer)
Desactiva el registro de todos los subsistemas cuando se pasa a sqlsrv_configure() como un parámetro.
SQLSRV_LOG_SYSTEM_STMT (integer)
Activa el registro de la actividad de sentencias cuando se pasa a sqlsrv_configure() como un parámetro.
SQLSRV_LOG_SYSTEM_UTIL (integer)
Activa el registro de la actividad de errores en funciones cuando se pasa a sqlsrv_configure() as a parameter.
SQLSRV_LOG_SEVERITY_ALL (integer)
Especifica que errores, advertencias y avisos serán registrados cuando se pasa a sqlsrv_configure() como un parámetro.
SQLSRV_LOG_SEVERITY_ERROR (integer)
Especifica que errores serán registrados cuando se pasa a sqlsrv_configure() como un parámetro.
SQLSRV_LOG_SEVERITY_NOTICE (integer)
Especifica que avisos serán registrados cuando se pasa a sqlsrv_configure() como un parámetro.
SQLSRV_LOG_SEVERITY_WARNING (integer)
Especifica que advertencias serán registradas cuando se pasa a sqlsrv_configure() como un parámetro.
SQLSRV_NULLABLE_YES (integer)
Indica que una columna es anulable.
SQLSRV_NULLABLE_NO (integer)
Indica que una columna no es anulable.
SQLSRV_NULLABLE_UNKNOWN (integer)
Indica que no se conoce si una columna es anulable.
SQLSRV_PARAM_IN (integer)
Indica un parámetro de entrada cuando se pasa a sqlsrv_query() o sqlsrv_prepare().
SQLSRV_PARAM_INOUT (integer)
Indica un parámetro bidireccional cuando se pasa a sqlsrv_query() o sqlsrv_prepare().
SQLSRV_PARAM_OUT (integer)
Indica un parámetro de salida cuando se pasa a sqlsrv_query() o sqlsrv_prepare().
SQLSRV_PHPTYPE_INT (integer)
Especifica un dato de tipo integer de PHP. Para obtener información de uso, consulte » Como: Especificar tipos de PHP.
SQLSRV_PHPTYPE_DATETIME (integer)
Especifica un dato de tipo datetime de PHP. Para obtener información de uso, consulte » Como: Especificar tipos de PHP.
SQLSRV_PHPTYPE_FLOAT (integer)
Especifica un dato de tipo float de PHP. Para obtener información de uso, consulte » Como: Especificar tipos de PHP.
SQLSRV_PHPTYPE_STREAM (integer)
Especifica un flujo de datos de PHP. Esta constante trabaja como una función y acepta una constante de codificación. Ver las constantes SQLSRV_ENC_*. Para obtener información de uso, consulte » Como: Especificar tipos de PHP.
SQLSRV_PHPTYPE_STRING (integer)
Especifica un dato de tipo string de PHP. Esta constante trabaja como una función y acepta una constante de codificación. Ver las constantes SQLSRV_ENC_*. Para obtener información de uso, consulte » Como: Especificar tipos de PHP.
SQLSRV_ENC_BINARY (integer)
Especifica que datos se devuelven como un flujo de bytes sin tratar desde el servidor sin realizar codificación o traducción. Para obtener información de uso, consulte » Como: Especificar tipos de PHP.
SQLSRV_ENC_CHAR (integer)
Los datos son devueltos en caracteres de 8 bits según se especifica en la página de códigos de la configuración regional de Windows que esté configurada en el sistema. Cualquier caracter multi-byte o caracter que no se mapee en esta página de códigos será sustituido con un caracter de signo de interrogación (?) de un solo byte. Esta es la codificación por defecto. Para obtener información de uso, consulte » Como: Especificar tipos de PHP.
UTF-8 (integer)
Especifica que los datos se devuelven con la codificación UTF-8. Para obtener información de uso, consulte » Como: Especificar tipos de PHP.
SQLSRV_SQLTYPE_BIGINT (integer)
Describe el tipo de datos bigint de SQL Server. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_BINARY (integer)
Describe el tipo de datos binary de SQL Server. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_BIT (integer)
Describe el tipo de datos bit de SQL Server. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_CHAR (integer)
Describe el tipo de datos char de SQL Server. Esta constante trabaja como una función y acepta un parámetro que indica el número de caracteres. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_DATE (integer)
Describe el tipo de datos date de SQL Server. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_DATETIME (integer)
Describe el tipo de datos datetime de SQL Server. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_DATETIME2 (integer)
Describe el tipo de datos datetime2 de SQL Server. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_DATETIMEOFFSET (integer)
Describe el tipo de datos datetimeoffset de SQL Server. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_DECIMAL (integer)
Describe el tipo de datos decimal de SQL Server. Esta constante trabaja como una función y acepta dos parámetros indicando (en orden) precisión y escala. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_FLOAT (integer)
Describe el tipo de datos float de SQL Server. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_IMAGE (integer)
Describe el tipo de datos image de SQL Server. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_INT (integer)
Describe el tipo de datos int de SQL Server. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_MONEY (integer)
Describe el tipo de datos money de SQL Server. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_NCHAR (integer)
Describe el tipo de datos nchar de SQL Server. Esta constante trabaja como una función y acepta un sólo parámetro que indica la cuenta de caracteres. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_NUMERIC (integer)
Describe el tipo de datos numeric de SQL Server. Esta constante trabaja como una función y acepta dos parámetros que indican (en orden) precisión y escala. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_NVARCHAR (integer)
Describe el tipo de datos nvarchar de SQL Server. Esta constante trabaja como una función y acepta un sólo parámetro que indica la cuenta de caracteres. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_NVARCHAR('max') (integer)
Describe el tipo de datos nvarchar(MAX) de SQL Server. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_NTEXT (integer)
Describe el tipo de datos ntext de SQL Server. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_REAL (integer)
Describe el tipo de datos real de SQL Server. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_SMALLDATETIME (integer)
Describe el tipo de datos smalldatetime de SQL Server. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_SMALLINT (integer)
Describe el tipo de datos smallint de SQL Server. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_SMALLMONEY (integer)
Describe el tipo de datos smallmoney de SQL Server. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_TEXT (integer)
Describe el tipo de datos text de SQL Server. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_TIME (integer)
Describe el tipo de datos time de SQL Server. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_TIMESTAMP (integer)
Describe el tipo de datos timestamp de SQL Server. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_TINYINT (integer)
Describe el tipo de datos tinyint de SQL Server. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_UNIQUEIDENTIFIER (integer)
Describe el tipo de datos uniqueidentifier de SQL Server. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_UDT (integer)
Describe el tipo de datos UDT de SQL Server. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_VARBINARY (integer)
Describe el tipo de datos varbinary de SQL Server. Esta constante trabaja como una función y acepta un sólo parámetro que indica la cuenta de bytes. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_VARBINARY('max') (integer)
Describe el tipo de datos varbinary(MAX) de SQL Server. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_VARCHAR (integer)
Describe el tipo de datos varchar de SQL Server. Esta constante trabaja como una función y acepta un sólo parámetro que indica la cuenta de caracteres. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_VARCHAR('max') (integer)
Describe el tipo de datos varchar(MAX) de SQL Server. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_SQLTYPE_XML (integer)
Describe el tipo de datos XML de SQL Server. Para obtener información de uso, consulte » Como: Especificar tipos de SQL.
SQLSRV_TXN_READ_UNCOMMITTED (integer)
Indica un nivel de aislamiento de transacción de READ UNCOMMITTED. Este valor se utiliza para establecer el nivel de TransactionIsolation en el arrary $connectionOptions pasado a sqlsrv_connect().
SQLSRV_TXN_READ_COMMITTED (integer)
Indica un nivel de aislamiento de transacción de READ COMMITTED. Este valor se utiliza para establecer el nivel de TransactionIsolation en el arrary $connectionOptions pasado a sqlsrv_connect().
SQLSRV_TXN_REPEATABLE_READ (integer)
Indica un nivel de aislamiento de transacción de REPEATABLE READ. Este valor se utiliza para establecer el nivel de TransactionIsolation en el arrary $connectionOptions pasado a sqlsrv_connect().
SQLSRV_TXN_SNAPSHOT (integer)
Indica un nivel de aislamiento de transacción de SNAPSHOT. Este valor se utiliza para establecer el nivel de TransactionIsolation en el arrary $connectionOptions pasado a sqlsrv_connect().
SQLSRV_TXN_READ_SERIALIZABLE (integer)
Indica un nivel de aislamiento de transacción de SERIALIZABLE. Este valor se utiliza para establecer el nivel de TransactionIsolation en el arrary $connectionOptions pasado a sqlsrv_connect().
SQLSRV_CURSOR_FORWARD (integer)
Indica un cursor sólo hacia delante. Para obtener información de uso, consulte » Especificar un tipo de cursor y Seleccionar filas.
SQLSRV_CURSOR_STATIC (integer)
Indica un cursor estático. Para obtener información de uso, consulte » Especificar un tipo de cursor y Seleccionar filas.
SQLSRV_CURSOR_DYNAMIC (integer)
Indica un cursor dinámico. Para obtener información de uso, consulte » Especificar un tipo de cursor y Seleccionar filas.
SQLSRV_CURSOR_KEYSET (integer)
Indica un cursor keyset. Para obtener información de uso, consulte » Especificar un tipo de cursor y Seleccionar filas.
SQLSRV_CURSOR_BUFFERED (integer)
Crea una consulta de cursor del lado cliente. Permite el acceso a líneas en cualquie orden. Para obtener información de uso, consulte » Especificar un tipo de cursor y Seleccionar filas.
SQLSRV_SCROLL_NEXT (integer)
Especifica cual fila seleccionar en un set de resultado. Para obtener información de uso, consulte » Especificar un tipo de cursor y Seleccionar filas.
SQLSRV_SCROLL_PRIOR (integer)
Especifica cual fila seleccionar en un set de resultado. Para obtener información de uso, consulte » Especificar un tipo de cursor y Seleccionar filas.
SQLSRV_SCROLL_FIRST (integer)
Especifica cual fila seleccionar en un set de resultado. Para obtener información de uso, consulte » Especificar un tipo de cursor y Seleccionar filas.
SQLSRV_SCROLL_LAST (integer)
Especifica cual fila seleccionar en un set de resultado. Para obtener información de uso, consulte » Especificar un tipo de cursor y Seleccionar filas.
SQLSRV_SCROLL_ABSOLUTE (integer)
Especifica cual fila seleccionar en un set de resultado. Para obtener información de uso, consulte » Especificar un tipo de cursor y Seleccionar filas.
SQLSRV_SCROLL_RELATIVE (integer)
Especifica cual fila seleccionar en un set de resultado. Para obtener información de uso, consulte » Especificar un tipo de cursor y Seleccionar filas.

Tipos de recursos
SQLSRV Funciones
SQLSRV


SQLSRV Funciones

Tabla de contenidos

  • sqlsrv_begin_transaction — Inicia una transacción de base de datos
  • sqlsrv_cancel — Cancela una sentencia de base de datos
  • sqlsrv_client_info — Devuelve información sobre el cliente y la conexión especificada
  • sqlsrv_close — Cierra una conexión abierta y libera los recursos asociados a la conexión
  • sqlsrv_commit — Consolida una transacción que se inició con sqlsrv_begin_transaction
  • sqlsrv_configure — Cambia la configuración de los drivers del gestionador de errores y de log
  • sqlsrv_connect — Abre una conexión a una base de datos Microsoft SQL Server
  • sqlsrv_errors — Devuelve información de errores y alertas (warnings) de la última operación SQLSRV realizada
  • sqlsrv_execute — Ejecuta una sentencia preparada con sqlsrv_prepare
  • sqlsrv_fetch_array — Devuelve una fila como un array
  • sqlsrv_fetch_object — Devuelve la siguiente fila de datos de un conjunto resultado como un objeto
  • sqlsrv_fetch — Hace que esté disponible para ser leída la siguiente fila del conjunto de resultado
  • sqlsrv_field_metadata — Obtiene la metadata de los campos de una consulta preparada por sqlsrv_prepare o sqlsrv_query
  • sqlsrv_free_stmt — Frees all resources for the specified statement
  • sqlsrv_get_config — Returns the value of the specified configuration setting
  • sqlsrv_get_field — Gets field data from the currently selected row
  • sqlsrv_has_rows — Indicates whether the specified statement has rows
  • sqlsrv_next_result — Makes the next result of the specified statement active
  • sqlsrv_num_fields — Retrieves the number of fields (columns) on a statement
  • sqlsrv_num_rows — Retrieves the number of rows in a result set
  • sqlsrv_prepare — Prepares a query for execution
  • sqlsrv_query — Prepares and executes a query.
  • sqlsrv_rollback — Rolls back a transaction that was begun with sqlsrv_begin_transaction
  • sqlsrv_rows_affected — Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed
  • sqlsrv_send_stream_data — Sends data from parameter streams to the server
  • sqlsrv_server_info — Returns information about the server
Constantes predefinidas
sqlsrv_begin_transaction
SQLSRV


Inicia una transacción de base de datos

SQLSRV Funciones
sqlsrv_cancel
SQLSRV Funciones
PHP Manual

sqlsrv_begin_transaction

(No hay información de versión disponible, podría estar únicamente en SVN)

sqlsrv_begin_transaction — Inicia una transacción de base de datos

Descripción

bool sqlsrv_begin_transaction ( resource $conn )

La transacción iniciada por sqlsrv_begin_transaction() incluye todas las sentencias que fueron ejecutadas después de la llamada a sqlsrv_begin_transaction() y antes de llamar a sqlsrv_rollback() o sqlsrv_commit(). Las transacciones explícitas deben empezar y ser consolidadas (commit) o revertidas utilizando estas funciones en vez de ejecutar sentencias SQL que empiecen y consoliden/reviertan transacciones. Para más información, ver » SQLSRV Transactions.

Parámetros

conn

El recurso de la conexión devuelta por una llamada a sqlsrv_connect().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de sqlsrv_begin_transaction()

El siguiente ejemplo demuestra cómo utilizar sqlsrv_begin_transaction() junto con sqlsrv_commit() y sqlsrv_rollback().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
    die( print_r( sqlsrv_errors(), true ));
}

/* Iniciar la transacción. */
if ( sqlsrv_begin_transaction( $conn ) === false ) {
     die( print_r( sqlsrv_errors(), true ));
}

/* Inicializar los parámetros. */
$orderId = 1; $qty = 10; $productId = 100;

/* Preprar y ejecutar la primera sentencia . */
$sql1 = "INSERT INTO OrdersTable (ID, Quantity, ProductID)
          VALUES (?, ?, ?)";
$params1 = array( $orderId, $qty, $productId );
$stmt1 = sqlsrv_query( $conn, $sql1, $params1 );

/* Preparar y ejecutar la segunda sentencia. */
$sql2 = "UPDATE InventoryTable
          SET Quantity = (Quantity - ?)
          WHERE ProductID = ?";
$params2 = array($qty, $productId);
$stmt2 = sqlsrv_query( $conn, $sql2, $params2 );

/* Si ambas sentencias finalizaran con éxito, consolidar la transacción. */
/* En caso contrario, revertirla. */
if( $stmt1 && $stmt2 ) {
     sqlsrv_commit( $conn );
     echo "Transaccion consolidada.<br />";
} else {
     sqlsrv_rollback( $conn );
     echo "Transaccion revertida.<br />";
}
?>

El resultado del ejemplo sería algo similar a:

Ver también

  • sqlsrv_commit() - Consolida una transacción que se inició con sqlsrv_begin_transaction
  • sqlsrv_rollback() - Rolls back a transaction that was begun with sqlsrv_begin_transaction

SQLSRV Funciones
sqlsrv_cancel
SQLSRV Funciones


Cancela una sentencia de base de datos

sqlsrv_begin_transaction
sqlsrv_client_info
SQLSRV Funciones
PHP Manual

sqlsrv_cancel

(No hay información de versión disponible, podría estar únicamente en SVN)

sqlsrv_cancel — Cancela una sentencia de base de datos

Descripción

bool sqlsrv_cancel ( resource $stmt )

Cancela una sentencia de base de datos. Cualquier resultado asociado con la sentencia que no haya sido utilizado será eliminado. Después de llamar a sqlsrv_cancel() , la sentencia especificada puede ser reejecutada si fue creada con sqlsrv_prepare(). No es necesario llamar a sqlsrv_cancel() si todos los resultados asociados se han utilizado.

Parámetros

stmt

El recurso de la sentencia que se va a cancelar.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de sqlsrv_cancel()

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT Sales FROM Table_1";

$stmt = sqlsrv_prepare( $conn, $sql);

if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}

if( sqlsrv_execute( $stmt ) === false) {
     die( print_r( sqlsrv_errors(), true));
}

$salesTotal = 0;
$count = 0;

while( ($row = sqlsrv_fetch_array( $stmt)) && $salesTotal <=100000)
{
     $qty = $row[0];
     $price = $row[1];
     $salesTotal += ( $price * $qty);
     $count++;
}

echo "$count sales accounted for the first $$salesTotal in revenue.<br />";

// Cancela los resultados pendientes. La sentencia se puede reutilizar.
sqlsrv_cancel( $stmt);
?>

Notas

La principal diferencia entre sqlsrv_cancel() y sqlsrv_free_stmt() es que una sentencia cancelada con sqlsrv_cancel() puede ser reejecutada si fue creada con sqlsrv_prepare(). Una sentencia cancelada con sqlsrv_free_statement() no puede ser reejecutada.

Ver también

  • sqlsrv_free_stmt() - Frees all resources for the specified statement
  • sqlsrv_prepare() - Prepares a query for execution

sqlsrv_begin_transaction
sqlsrv_client_info
SQLSRV Funciones


Devuelve información sobre el cliente y la conexión especificada

sqlsrv_cancel
sqlsrv_close
SQLSRV Funciones
PHP Manual

sqlsrv_client_info

(No hay información de versión disponible, podría estar únicamente en SVN)

sqlsrv_client_info — Devuelve información sobre el cliente y la conexión especificada

Descripción

array sqlsrv_client_info ( resource $conn )

Devuelve información sobre el cliente y la conexión especificada

Parámetros

conn

La conexión sobre la que se va a retornar información.

Valores devueltos

Devuelve un array asociativo con las claves que se describen en la tabla siguiente. Devuelve FALSE en caso constrario.

Array devuelto por sqlsrv_client_info
Clave | Descripción
DriverDllName | SQLNCLI10.DLL
DriverODBCVer | Versión ODBC (xx.yy)
DriverVer | Versión de la DLL del cliente nativo SQL Server (10.5.xxx)
ExtensionVer | Versión de la biblioteca php_sqlsrv.dll (2.0.xxx.x)

Ejemplos

Ejemplo #1 Ejemplo de sqlsrv_client_info()

<?php
$serverName = "serverName\sqlexpress";
$connOptions = array("UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connOptions );

if( $conn === false ) {
    die( print_r( sqlsrv_errors(), true));
}

if( $client_info = sqlsrv_client_info( $conn)) {
    foreach( $client_info as $key => $value) {
        echo $key.": ".$value."<br />";
    }
} else {
    echo "Error al recuperar la información del cliente.<br />";
}
?>

Ver también

  • sqlsrv_server_info() - Returns information about the server

sqlsrv_cancel
sqlsrv_close
SQLSRV Funciones


Cierra una conexión abierta y libera los recursos asociados a la conexión

sqlsrv_client_info
sqlsrv_commit
SQLSRV Funciones
PHP Manual

sqlsrv_close

(No hay información de versión disponible, podría estar únicamente en SVN)

sqlsrv_close — Cierra una conexión abierta y libera los recursos asociados a la conexión

Descripción

bool sqlsrv_close ( resource $conn )

Cierra una conexión abierta y libera los recursos asociados a la conexión.

Parámetros

conn

La conexión que se va a cerrar.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de sqlsrv_close()

<?php
$serverName = "serverName\sqlexpres";
$connOptions = array("UID"=>"username", "PWD"=>"password", "Database"=>"dbname");
$conn = sqlsrv_connect( $serverName, $connOptions );
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

//-------------------------------------
// Realizar aquí las operaciones contra la base de datos.
//-------------------------------------

// Cerrar la conexión.
sqlsrv_close( $conn );
?>

Ver también

  • sqlsrv_connect() - Abre una conexión a una base de datos Microsoft SQL Server

sqlsrv_client_info
sqlsrv_commit
SQLSRV Funciones


Consolida una transacción que se inició con sqlsrv_begin_transaction

sqlsrv_close
sqlsrv_configure
SQLSRV Funciones
PHP Manual

sqlsrv_commit

(No hay información de versión disponible, podría estar únicamente en SVN)

sqlsrv_commit — Consolida una transacción que se inició con sqlsrv_begin_transaction()

Descripción

bool sqlsrv_commit ( resource $conn )

Consolida una transacción que se inició con sqlsrv_begin_transaction(). La conexión retorna al modo auto-commit después de que se llame a sqlsrv_commit(). La transacción que se consolida incluye todas las sentencias que fueron ejecutadas después de la llamada a sqlsrv_begin_transaction(). Las transacciones explícitas deben iniciarse y consolidarse o revertirse utilizando estas funciones en vez de ejecutar las sentencias SQL que empiezan y consolidan/revierten transacciones. Para más información, ver » SQLSRV Transactions.

Parámetros

conn

La conexión en la que se va a consolidar la transacción.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de sqlsrv_commit()

El siguiente ejemplo demuestra cómo utilizar sqlsrv_commit() junto con sqlsrv_begin_transaction() y sqlsrv_rollback().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
    die( print_r( sqlsrv_errors(), true ));
}

/* Empezar la transacción. */
if ( sqlsrv_begin_transaction( $conn ) === false ) {
     die( print_r( sqlsrv_errors(), true ));
}

/* Inicializar los parámetros. */
$orderId = 1; $qty = 10; $productId = 100;

/* Preparar y ejecutar la primera sentencia. */
$sql1 = "INSERT INTO OrdersTable (ID, Quantity, ProductID)
         VALUES (?, ?, ?)";
$params1 = array( $orderId, $qty, $productId );
$stmt1 = sqlsrv_query( $conn, $sql1, $params1 );

/* Preparar y ejecutar la segunda sentencia. */
$sql2 = "UPDATE InventoryTable
         SET Quantity = (Quantity - ?)
         WHERE ProductID = ?";
$params2 = array($qty, $productId);
$stmt2 = sqlsrv_query( $conn, $sql2, $params2 );

/* Si ambas sentencias finalizan con éxito, consolidar la transacción. */
/* En caso contrario, revertir la transacción. */
if( $stmt1 && $stmt2 ) {
     sqlsrv_commit( $conn );
     echo "Transacción consolidada.<br />";
} else {
     sqlsrv_rollback( $conn );
     echo "Transacción revertida.<br />";
}
?>

Ver también

  • sqlsrv_begin_transaction() - Inicia una transacción de base de datos
  • sqlsrv_rollback() - Rolls back a transaction that was begun with sqlsrv_begin_transaction

sqlsrv_close
sqlsrv_configure
SQLSRV Funciones


Cambia la configuración de los drivers del gestionador de errores y de log

sqlsrv_commit
sqlsrv_connect
SQLSRV Funciones
PHP Manual

sqlsrv_configure

(No hay información de versión disponible, podría estar únicamente en SVN)

sqlsrv_configure — Cambia la configuración de los drivers del gestionador de errores y de log

Descripción

bool sqlsrv_configure ( string $setting , mixed $value )

Cambia la configuración de los drivers del gestionador de errores y de log.

Parámetros

setting

El nombre de la propiedad a configurar. Los valores posibles son "WarningsReturnAsErrors", "LogSubsystems", and "LogSeverity".

value

El valor de la propiedad especificada. La tabla siguiente muestra los valores posibles:

Opciones de configuración de la gestión de errores y log
Propiedades | Opciones
WarningsReturnAsErrors | 1 (TRUE) or 0 (FALSE)
LogSubsystems | SQLSRV_LOG_SYSTEM_ALL (-1) SQLSRV_LOG_SYSTEM_CONN (2) SQLSRV_LOG_SYSTEM_INIT (1) SQLSRV_LOG_SYSTEM_OFF (0) SQLSRV_LOG_SYSTEM_STMT (4) SQLSRV_LOG_SYSTEM_UTIL (8)
LogSeverity | SQLSRV_LOG_SEVERITY_ALL (-1) SQLSRV_LOG_SEVERITY_ERROR (1) SQLSRV_LOG_SEVERITY_NOTICE (4) SQLSRV_LOG_SEVERITY_WARNING (2)

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • » Gestionador de errores SQLSRV.
  • » Actividad de log de SQLSRV.

sqlsrv_commit
sqlsrv_connect
SQLSRV Funciones


Abre una conexión a una base de datos Microsoft SQL Server

sqlsrv_configure
sqlsrv_errors
SQLSRV Funciones
PHP Manual

sqlsrv_connect

(No hay información de versión disponible, podría estar únicamente en SVN)

sqlsrv_connect — Abre una conexión a una base de datos Microsoft SQL Server

Descripción

resource sqlsrv_connect ( string $serverName [, array $connectionInfo ] )

Abre una conexión a una base de datos Microsoft SQL Server. Por defecto, la conexión se intenta utilizando la autenticación Windows. Para conectar utilizando la autenticación SQL Server, incluir "UID" y "PWD" en el array de opciones de conexión.

Parámetros

serverName

El nombre del servidor en el que se ha establecido una conexión. Para conectar a una instancia específica, poner una barra invertida después del nombre de servidor e indicar el nombre de la instancia (e.g. NombreServidor\sqlexpress).

connectionInfo

Un array asociativo que especifica las opciones de conexión al servidor. Si no se ha especificado ningún valor para el UID y PWD, la conexión se intentará utilizando la autenticación Windows. Para una lista completa de claves soportadas, ver » Opciones de Conexión SQLSRV.

Valores devueltos

Un recurso de conexión. Si no se puede abrir la conexión, se retorna el valor FALSE .

Ejemplos

Ejemplo #1 Conectar utilizando autenticación Windows.

<?php
$serverName = "serverName\sqlexpress"; //serverName\instanceName

// Puesto que no se han especificado UID ni PWD en el array  $connectionInfo,
// La conexión se intentará utilizando la autenticación Windows.
$connectionInfo = array( "Database"=>"dbName");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
     echo "Conexión establecida.<br />";
}else{
     echo "Conexión no se pudo establecer.<br />";
     die( print_r( sqlsrv_errors(), true));
}
?>

Ejemplo #2 Conectar especificando nombre de usuario y contraseña.

<?php
$serverName = "serverName\sqlexpress"; //serverName\instanceName
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
     echo "Conexión establecida.<br />";
}else{
     echo "Conexión no se pudo establecer.<br />";
     die( print_r( sqlsrv_errors(), true));
}
?>

Ejemplo #3 Conectar a un puerto específico.

<?php
$serverName = "serverName\sqlexpress, 1542"; //serverName\instanceName, portNumber (por defecto es 1433)
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
     echo "Conexión establecida.<br />";
}else{
     echo "Conexión no se pudo establecer.<br />";
     die( print_r( sqlsrv_errors(), true));
}
?>

Notas

Por defecto, la función sqlsrv_connect() utiliza la conexión mediante agrupación para mejorar el funcionamiento de la conexión. Para desconectar el funcionamiento en modo grupo (p.ej. forzar una nueva conexión en cada llamada), configurar la opción "ConnectionPooling" en el array $connectionOptions a 0 (o FALSE). Para más información, ver » Cola de conexión SQLSRV.

La extensión SQLSRV no tiene una función específica para cambiar a que base de datos se está conectado. La base de datos objetivo se especifica en el array de opciones $connectionOptions que se pasa a sqlsrv_connect. Para cambiar la base de datos en una conexión ya abierta, ejecutar la siguiente sentencia sql "USE dbName" (p.ej. sqlsrv_query($conn, "USE dbName")).

Ver también

  • sqlsrv_close() - Cierra una conexión abierta y libera los recursos asociados a la conexión
  • sqlsrv_errors() - Devuelve información de errores y alertas (warnings) de la última operación SQLSRV realizada
  • sqlsrv_query() - Prepares and executes a query.

sqlsrv_configure
sqlsrv_errors
SQLSRV Funciones


Devuelve información de errores y alertas (warnings) de la última operación SQLSRV realizada

sqlsrv_connect
sqlsrv_execute
SQLSRV Funciones
PHP Manual

sqlsrv_errors

(No hay información de versión disponible, podría estar únicamente en SVN)

sqlsrv_errors — Devuelve información de errores y alertas (warnings) de la última operación SQLSRV realizada

Descripción

mixed sqlsrv_errors ([ int $errorsOrWarnings ] )

Devuelve información de errores y alertas de la última operación SQLSRV realizada.

Parámetros

errorsOrWarnings

Determina si se ha de retornar información de error, alertas, o ambas. Si este parámetro no se informa, se devolverá tanto información de error como de alerta. Este parámetro puede tomar los siguientes valores: SQLSRV_ERR_ALL, SQLSRV_ERR_ERRORS, SQLSRV_ERR_WARNINGS.

Valores devueltos

Si se produjeron errores y/o warnings en la última operación sqlsrv, se devolverá un array de arrays conteniendo información de error. Si no se produjeron errores y/o alertas en la última operación sqlsrv, se devolverá NULL. La siguiente tabla describe la estructura de los arrays devueltos:

Array devuelto por sqlsrv_errors
Clave | Descripción
SQLSTATE | Para errores que se originan en el driver ODBC driver, el SQLSTATE devuelto por ODBC. Para errores que se originan en los drivers de Microsoft para PHP para SQL Server, un SQLSTATE de IMSSP. Para alertas que se originan en los drivers de Microsoft para PHP para SQL Server, un SQLSTATE de 01SSP.
code | Para errores que se originan en SQL Server, el código de error SQL Server nativo. Para errores que se originan en el driver ODBC, el código de error devuelto por ODBC. Para errores que se originan en los Drivers de Microsoft para PHP para SQL Server, los códigos de error de SQL Server para los Drivers de Microsoft para PHP.
message | Una descripción del error.

Ejemplos

Ejemplo #1 ejemplo de functionname()

<?php
$serverName = "serverName/sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

/* Query que selecciona un nombre de columna inválida. */
$sql = "SELECT BadColumnName FROM Table_1";

/* Ejecución de la query que fallará debido al nombre de columna incorrecto. */
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false ) {
    if( ($errors = sqlsrv_errors() ) != null) {
        foreach( $errors as $error ) {
            echo "SQLSTATE: ".$error[ 'SQLSTATE']."<br />";
            echo "code: ".$error[ 'code']."<br />";
            echo "message: ".$error[ 'message']."<br />";
        }
    }
}
?>

Notas

Por defecto, las alertas generadas en una llamada a cualquier función SQLSRV se tratarán como errores. Esto significa que si una alerta ocurre en una llamada a una función SQLSRV, la función devolverá FALSE. Sin embargo, las alertas correspondientes a los valores de SQLSTATE 01000, 01001, 01003, y 01S02 nunca se tratarán como errores. Para obtener información sobre cómo cambiar este comportamiento, ver sqlsrv_configure() y la configuración de WarningsReturnAsErrors.

Ver también

  • sqlsrv_configure() - Cambia la configuración de los drivers del gestionador de errores y de log

sqlsrv_connect
sqlsrv_execute
SQLSRV Funciones


Ejecuta una sentencia preparada con sqlsrv_prepare

sqlsrv_errors
sqlsrv_fetch_array
SQLSRV Funciones
PHP Manual

sqlsrv_execute

(No hay información de versión disponible, podría estar únicamente en SVN)

sqlsrv_execute — Ejecuta una sentencia preparada con sqlsrv_prepare()

Descripción

bool sqlsrv_execute ( resource $stmt )

Ejecuta una sentencia preparada con sqlsrv_prepare(). Esta función es ideal para ser ejecutar múltiples veces una sentencia preparada con diferentes valores de parámetros.

Parámetros

stmt

Un recurso de sentencia devuelto por sqlsrv_prepare().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 ejemplo de sqlsrv_execute()

Este ejemplo muestra como preparar una sentencia con sqlsrv_prepare() y reejecutarla múltiples veces (con diferentes valores de parámetros) utilizando sqlsrv_execute().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false) {
    die( print_r( sqlsrv_errors(), true));
}

$sql = "UPDATE Table_1
        SET OrderQty = ?
        WHERE SalesOrderID = ?";

// Inicializar los parámetros y preparar la sentencia.
// Las variables $qty y $id se pasan como parámetro a la sentencia $stmt.
$qty = 0; $id = 0;
$stmt = sqlsrv_prepare( $conn, $sql, array( &$qty, &$id));
if( !$stmt ) {
    die( print_r( sqlsrv_errors(), true));
}

// Configurar la información de SalesOrderDetailID y OrderQty.
// Este array liga el orden ID al orden de cantidad en las parejas  key=>value.
$orders = array( 1=>10, 2=>20, 3=>30);

// Ejecuta la sentencia para cada orden.
foreach( $orders as $id => $qty) {
    // Como $id y $qty se pasan como parámetro a $stmt1, sus valores
    // actualizados se utilizan en cada ejecución de la sentencia.
    if( sqlsrv_execute( $stmt ) === false ) {
          die( print_r( sqlsrv_errors(), true));
    }
}
?>

Notas

Cuando se prepara una sentencia que utiliza variables como parámetros, las variables se pasan como parámetros a la sentencia. Esto significa que si se actualizan los valores de las variables, la próxima vez que se ejecute la sentencia lo hará con los nuevos valores de los parámetros. Para las sentencias que se quieran ejecutar únicamente una vez, utilizar sqlsrv_query().

Ver también

  • sqlsrv_prepare() - Prepares a query for execution
  • sqlsrv_query() - Prepares and executes a query.

sqlsrv_errors
sqlsrv_fetch_array
SQLSRV Funciones


Devuelve una fila como un array

sqlsrv_execute
sqlsrv_fetch_object
SQLSRV Funciones
PHP Manual

sqlsrv_fetch_array

(No hay información de versión disponible, podría estar únicamente en SVN)

sqlsrv_fetch_array — Devuelve una fila como un array

Descripción

array sqlsrv_fetch_array ( resource $stmt [, int $fetchType [, int $row [, int $offset ]]] )

Devuelve la siguiente fila de datos disponible como un array asociativo, un array numérico, o ambos (por defecto).

Parámetros

stmt

Un recurso de sentencia devuelta por sqlsrv_query o sqlsrv_execute.

fetchType

Una constante predefinida con el tipo de array a devolver. Los valores posibles son SQLSRV_FETCH_ASSOC, SQLSRV_FETCH_NUMERIC, y SQLSRV_FETCH_BOTH (por defecto).

El tipo de objeto devuelto SQLSRV_FETCH_ASSOC no debe utilizarse cuando se trate un conjunto de resultados con múltiples columnas con el mismo nombre.

row

Especifica la fila para acceder a un conjunto de resultados que utiliza un cursor con scroll. Los valores posibles son SQLSRV_SCROLL_NEXT, SQLSRV_SCROLL_PRIOR, SQLSRV_SCROLL_FIRST, SQLSRV_SCROLL_LAST, SQLSRV_SCROLL_ABSOLUTE y, SQLSRV_SCROLL_RELATIVE (por defecto). Cuando se especifica este parámetro, el parámetro fetchType debe ser definido explícitamente.

offset

Especifica la fila a la que se desea acceder si el parámetro de fila se define como SQLSRV_SCROLL_ABSOLUTE o SQLSRV_SCROLL_RELATIVE. Notar que la primera fila en un conjunto de resultado tiene el índice 0.

Valores devueltos

Devuelve un array en caso de éxito, NULL si no hay más filas a devolver, y FALSE si se produce un error.

Ejemplos

Ejemplo #1 Devolver un array asociativo.

<?php
$serverName = "serverName\instanceName";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo );
if( $conn === false ) {
    die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT FirstName, LastName FROM SomeTable";
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false) {
    die( print_r( sqlsrv_errors(), true) );
}

while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
      echo $row['LastName'].", ".$row['FirstName']."<br />";
}

sqlsrv_free_stmt( $stmt);
?>

Ejemplo #2 Devolver un array numérico.

<?php
$serverName = "serverName\instanceName";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo );
if( $conn === false ) {
    die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT FirstName, LastName FROM SomeTable";
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false) {
    die( print_r( sqlsrv_errors(), true) );
}

while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC) ) {
      echo $row[0].", ".$row[1]."<br />";
}

sqlsrv_free_stmt( $stmt);
?>

Notas

Cuando no se especifica el parámetro fetchType o se utiliza explícitamente la constante SQLSRV_FETCH_TYPE en los ejemplos anteriores, se devolverá un array que tiene tanto claves asociativas como claves nuéricas.

Si se devuelve más de una columna con el mismo nombre, la última columna tendrá prioridad para tomar el nombre. Para evitar colisiones de nombre de campo, utilizar alias.

Si se devuelve una columna sin nombre, la clave asociativa para ese elemento del array será un string vacío ("").

Ver también

  • sqlsrv_connect() - Abre una conexión a una base de datos Microsoft SQL Server
  • sqlsrv_query() - Prepares and executes a query.
  • sqlsrv_errors() - Devuelve información de errores y alertas (warnings) de la última operación SQLSRV realizada
  • sqlsrv_fetch() - Hace que esté disponible para ser leída la siguiente fila del conjunto de resultado

sqlsrv_execute
sqlsrv_fetch_object
SQLSRV Funciones


Devuelve la siguiente fila de datos de un conjunto resultado como un objeto

sqlsrv_fetch_array
sqlsrv_fetch
SQLSRV Funciones
PHP Manual

sqlsrv_fetch_object

(No hay información de versión disponible, podría estar únicamente en SVN)

sqlsrv_fetch_object — Devuelve la siguiente fila de datos de un conjunto resultado como un objeto

Descripción

mixed sqlsrv_fetch_object ( resource $stmt [, string $className [, array $ctorParams [, int $row [, int $offset ]]]] )

Devuelve la siguiente fila de datos de un conjunto resultado como una instancia de la clase especificada, donde las propiedades correspondientes a los nombres de los campos de la fila recuperada y los valores, se corresponden con los valores de la fila recuperada.

Parámetros

stmt

Un recurso de consulta creado por sqlsrv_query() o sqlsrv_execute().

className

El nombre de la clase a instanciar. Si no se especifica el nombre de la clase, se instanciará la clase stdClass.

ctorParams

Los valores pasados al constructor de la clase especificada. Si el constructor de la clase especificada tiene parámetros, se proporcionará el array ctorParams.

row

La fila a la que se accederá. Este parámetro únicamente puede utilizarse si la consulta especificada se preparó con un cursor con scroll. En ese caso, este parámetro puede tomar uno de los siguientes valores:

  • SQLSRV_SCROLL_NEXT
  • SQLSRV_SCROLL_PRIOR
  • SQLSRV_SCROLL_FIRST
  • SQLSRV_SCROLL_LAST
  • SQLSRV_SCROLL_ABSOLUTE
  • SQLSRV_SCROLL_RELATIVE

offset

Especifica la fila a la que se accederá si el parámetro de fila se ha especificado como SQLSRV_SCROLL_ABSOLUTE o SQLSRV_SCROLL_RELATIVE. Notar que la primera fila en un conjunto de resultado tiene el índice 0.

Valores devueltos

Devuelve un objeto en caso de éxito, NULL si no hay más filas a devolver, y FALSE si se produce un error o si la clase especificada no existe.

Ejemplos

Ejemplo #1 Ejemplo con sqlsrv_fetch_object()

El siguiente ejemplo demuestra cómo devolver una columna como un objeto stdClass.

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT fName, lName FROM Table_1";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}

// Devolver cada fila como un objeto.
// Puesto que no se especifica ninguna clase, cada fila devolverá un objeto stdClass.
// Los nombres de propiedades corresponden a nombres de campo.
while( $obj = sqlsrv_fetch_object( $stmt)) {
      echo $obj->fName.", ".$obj->lName."<br />";
}
?>

Notas

Si se especifica un nombre de clase con el parámetro opcional $className y la clase tiene propiedades cuyos nombres coinciden con los nombres de campos del conjunto de resultado, los valores correspondientes del conjunto de resultado se aplicarán a las propiedades. Si un nombre de campo del conjunto resultado no coincide con ninguna propiedad de clase, una propiedad con el nombre de campo se añadirá al objeto del conjunto resultado y el valor del resultado se aplicará a la propiedad. Se aplican las reglas siguientes cuando se utiliza el parámetro $className:

  • El nombre de propiedad de campo coincidente es sensible al uso de mayúsculas y minúsculas (es case sensitive).
  • La coincidencia con la propiedad de campo se da aunque se utilicen modificadores de acceso.
  • Los tipos de datos de la propiedad de clase se ignoran cuando se aplica un valor de campo a la propiedad.
  • Si la clase no existe, la función devuelve FALSE y añade un error a la colección de errores.
A pesar de que se defina el parámetro $className, si se devuelve un campo sin nombre, el valor de campo será ignorado y se añadirá una alerta a la colección de errores.

Cuando se trate un conjunto de resultado que tenga varias columnas con el mismo nombre, podría ser mejor utilizar sqlsrv_fetch_array() o la combinación de sqlsrv_fetch() y sqlsrv_get_field().

Ver también

  • sqlsrv_fetch() - Hace que esté disponible para ser leída la siguiente fila del conjunto de resultado
  • sqlsrv_fetch_array() - Devuelve una fila como un array

sqlsrv_fetch_array
sqlsrv_fetch
SQLSRV Funciones


Hace que esté disponible para ser leída la siguiente fila del conjunto de resultado

sqlsrv_fetch_object
sqlsrv_field_metadata
SQLSRV Funciones
PHP Manual

sqlsrv_fetch

(No hay información de versión disponible, podría estar únicamente en SVN)

sqlsrv_fetch — Hace que esté disponible para ser leída la siguiente fila del conjunto de resultado

Descripción

mixed sqlsrv_fetch ( resource $stmt [, int $row [, int $offset ]] )

Hace que esté disponible para ser leída la siguiente fila del conjunto de resultado. Utilizar sqlsrv_get_field() para leer los campos de la fila.

Parámetros

stmt

Un recurso de consulta creado por la ejecución de sqlsrv_query() o sqlsrv_execute().

row

La fila que será accedida. Este parámetro puede utilizarse si la consulta especificada se preparó con un cursor con scroll. En ese caso, el parámetro puede tomar uno de los siguientes valores:

  • SQLSRV_SCROLL_NEXT
  • SQLSRV_SCROLL_PRIOR
  • SQLSRV_SCROLL_FIRST
  • SQLSRV_SCROLL_LAST
  • SQLSRV_SCROLL_ABSOLUTE
  • SQLSRV_SCROLL_RELATIVE

offset

Especifica la fila que será accedida si el parámetro de fila se configura como SQLSRV_SCROLL_ABSOLUTE o SQLSRV_SCROLL_RELATIVE. Notar que la primera fila en el conjunto resultado tiene el índice 0.

Valores devueltos

Devuelve TRUE si la fila siguiente del conjunto de resultado se obtuvo satisfactoriamente, FALSE si se produce un error, y NULL si no hay más filas en el conjunto de resultado.

Ejemplos

Ejemplo #1 Ejemplo con sqlsrv_fetch()

El ejemplo siguiente demuestra como obtener una fila con sqlsrv_fetch() y los campos de la fila con sqlsrv_get_field().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT Name, Comment
        FROM Table_1
        WHERE ReviewID=1";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}

// Hacer que sea disponible para su lectura la primera (y en este caso única) fila del conjunto resultado.
if( sqlsrv_fetch( $stmt ) === false) {
     die( print_r( sqlsrv_errors(), true));
}

// Obtener los campos de la fila. Los índices de campo empiezan desde 0 y se deben obtener en orden.
// Recuperar los nombres de campo por su nombre no está soportado por sqlsrv_get_field.
$name = sqlsrv_get_field( $stmt, 0);
echo "$name: ";

$comment = sqlsrv_get_field( $stmt, 1);
echo $comment;
?>

Ver también

  • sqlsrv_get_field() - Gets field data from the currently selected row
  • sqlsrv_fetch_array() - Devuelve una fila como un array
  • sqlsrv_fetch_object() - Devuelve la siguiente fila de datos de un conjunto resultado como un objeto

sqlsrv_fetch_object
sqlsrv_field_metadata
SQLSRV Funciones


Obtiene la metadata de los campos de una consulta preparada por sqlsrv_prepare o sqlsrv_query

sqlsrv_fetch
sqlsrv_free_stmt
SQLSRV Funciones
PHP Manual

sqlsrv_field_metadata

(No hay información de versión disponible, podría estar únicamente en SVN)

sqlsrv_field_metadata — Obtiene la metadata de los campos de una consulta preparada por sqlsrv_prepare() o sqlsrv_query()

Descripción

mixed sqlsrv_field_metadata ( resource $stmt )

Obtiene la metadata de los campos de una consulta preparada por sqlsrv_prepare() o sqlsrv_query(). sqlsrv_field_metadata() puede llamarse en una consulta antes o despues de la ejecución de la consulta.

Parámetros

stmt

El recurso de la consulta de la que se obtendrá los metadatos.

Valores devueltos

Devuelve un array de arrays en caso de éxito. En caso contrario, FALSE. Cada array devuelto se describe en la siguiente tabla:

Array devuelto por sqlsrv_field_metadata
Clave | Descripción
Name | El nombre del campo.
Type | El valor numérico del tipo SQL.
Size | El número de caracteres para los campos de tipo carácter, el número de bytes para los campos de tipo binario, o NULL para el resto de tipos.
Precision | La precisión para los tipos de precisión variable, NULLpara el resto de tipos.
Scale | La escala para tipos de escala variable, NULL para el resto de tipos.
Nullable | Una enumeración que indica si la columna puede tener nulos, no puede tener nulos, o si se desconoce.
Para más información, ver » sqlsrv_field_metadata en la documentación de Microsoft SQLSRV.

Ejemplos

Ejemplo #1 Ejemplo con sqlsrv_field_metadata()

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"AdventureWorks", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
   die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT * FROM Table_1";
$stmt = sqlsrv_prepare( $conn, $sql );

foreach( sqlsrv_field_metadata( $stmt ) as $fieldMetadata ) {
    foreach( $fieldMetadata as $name => $value) {
       echo "$name: $value<br />";
    }
      echo "<br />";
}
?>

Ver también

  • sqlsrv_client_info() - Devuelve información sobre el cliente y la conexión especificada

sqlsrv_fetch
sqlsrv_free_stmt
SQLSRV Funciones


Frees all resources for the specified statement

sqlsrv_field_metadata
sqlsrv_get_config
SQLSRV Funciones
PHP Manual

sqlsrv_free_stmt

(No hay información de versión disponible, podría estar únicamente en SVN)

sqlsrv_free_stmt — Frees all resources for the specified statement

Descripción

bool sqlsrv_free_stmt ( resource $stmt )

Frees all resources for the specified statement. The statement cannot be used after sqlsrv_free_stmt() has been called on it. If sqlsrv_free_stmt() is called on an in-progress statement that alters server state, statement execution is terminated and the statement is rolled back.

Parámetros

stmt

The statment for which resources are freed. Note that NULL is a valid parameter value. This allows the function to be called multiple times in a script.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 sqlsrv_free_stmt() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$stmt = sqlsrv_query( $conn, "SELECT * FROM Table_1");
if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}

/*-------------------------------
     Process query results here.
-------------------------------*/

/* Free the statement resources. */
sqlsrv_free_stmt( $stmt);

?>

Notas

The main difference between sqlsrv_free_stmt() and sqlsrv_cancel() is that a statement resource cancelled with sqlsrv_cancel() can be re-executed if it was created with sqlsrv_prepare(). A statement resource cancelled with sqlsrv_free_statement() cannot be re-executed.

Ver también

  • sqlsrv_cancel() - Cancela una sentencia de base de datos

sqlsrv_field_metadata
sqlsrv_get_config
SQLSRV Funciones


Returns the value of the specified configuration setting

sqlsrv_free_stmt
sqlsrv_get_field
SQLSRV Funciones
PHP Manual

sqlsrv_get_config

(No hay información de versión disponible, podría estar únicamente en SVN)

sqlsrv_get_config — Returns the value of the specified configuration setting

Descripción

mixed sqlsrv_get_config ( string $setting )

Returns the value of the specified configuration setting.

Parámetros

setting

The name of the setting for which the value is returned. For a list of configurable settings, see sqlsrv_configure().

Valores devueltos

Returns the value of the specified setting. If an invalid setting is specified, FALSE is returned.

Ver también

  • sqlsrv_configure() - Cambia la configuración de los drivers del gestionador de errores y de log

sqlsrv_free_stmt
sqlsrv_get_field
SQLSRV Funciones


Gets field data from the currently selected row

sqlsrv_get_config
sqlsrv_has_rows
SQLSRV Funciones
PHP Manual

sqlsrv_get_field

(No hay información de versión disponible, podría estar únicamente en SVN)

sqlsrv_get_field — Gets field data from the currently selected row

Descripción

mixed sqlsrv_get_field ( resource $stmt , int $fieldIndex [, int $getAsType ] )

Gets field data from the currently selected row. Fields must be accessed in order. Field indices start at 0.

Parámetros

stmt

A statement resource returned by sqlsrv_query() or sqlsrv_execute().

fieldIndex

The index of the field to be retrieved. Field indices start at 0. Fields must be accessed in order. i.e. If you access field index 1, then field index 0 will not be available.

getAsType

The PHP data type for the returned field data. If this parameter is not set, the field data will be returned as its default PHP data type. For information about default PHP data types, see » Default PHP Data Types in the Microsoft SQLSRV documentation.

Valores devueltos

Returns data from the specified field on success. Returns FALSE otherwise.

Ejemplos

Ejemplo #1 sqlsrv_get_field() example

The following example demonstrates how to retrieve a row with sqlsrv_fetch() and get the row fields with sqlsrv_get_field().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT Name, Comment
        FROM Table_1
        WHERE ReviewID=1";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}

// Make the first (and in this case, only) row of the result set available for reading.
if( sqlsrv_fetch( $stmt ) === false) {
     die( print_r( sqlsrv_errors(), true));
}

// Get the row fields. Field indeces start at 0 and must be retrieved in order.
// Retrieving row fields by name is not supported by sqlsrv_get_field.
$name = sqlsrv_get_field( $stmt, 0);
echo "$name: ";

$comment = sqlsrv_get_field( $stmt, 1);
echo $comment;
?>

Ver también

  • sqlsrv_fetch() - Hace que esté disponible para ser leída la siguiente fila del conjunto de resultado
  • sqlsrv_fetch_array() - Devuelve una fila como un array
  • sqlsrv_fetch_object() - Devuelve la siguiente fila de datos de un conjunto resultado como un objeto

sqlsrv_get_config
sqlsrv_has_rows
SQLSRV Funciones


Indicates whether the specified statement has rows

sqlsrv_get_field
sqlsrv_next_result
SQLSRV Funciones
PHP Manual

sqlsrv_has_rows

(No hay información de versión disponible, podría estar únicamente en SVN)

sqlsrv_has_rows — Indicates whether the specified statement has rows

Descripción

bool sqlsrv_has_rows ( resource $stmt )

Indicates whether the specified statement has rows.

Parámetros

stmt

A statement resource returned by sqlsrv_query() or sqlsrv_execute().

Valores devueltos

Returns TRUE if the specified statement has rows and FALSE if the statement does not have rows or if an error occurred.

Ejemplos

Ejemplo #1 sqlsrv_has_rows() example

<?php
$server = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" )
$conn = sqlsrv_connect( $server, $connectionInfo );

$stmt = sqlsrv_query( $conn, "SELECT * FROM Table_1");

if ($stmt) {
   $rows = sqlsrv_has_rows( $stmt );
   if ($rows === true)
      echo "There are rows. <br />";
   else
      echo "There are no rows. <br />";
}
?>

Ver también

  • sqlsrv_num_rows() - Retrieves the number of rows in a result set
  • sqlsrv_query() - Prepares and executes a query.

sqlsrv_get_field
sqlsrv_next_result
SQLSRV Funciones


Makes the next result of the specified statement active

sqlsrv_has_rows
sqlsrv_num_fields
SQLSRV Funciones
PHP Manual

sqlsrv_next_result

(No hay información de versión disponible, podría estar únicamente en SVN)

sqlsrv_next_result — Makes the next result of the specified statement active

Descripción

mixed sqlsrv_next_result ( resource $stmt )

Makes the next result of the specified statement active. Results include result sets, row counts, and output parameters.

Parámetros

stmt

The statment on which the next result is being called.

Valores devueltos

Returns TRUE if the next result was successfully retrieved, FALSE if an error occurred, and NULL if there are no more results to retrieve.

Ejemplos

Ejemplo #1 sqlsrv_next_result() example

The following example executes a batch query that inserts into a table and then selects from the table. This produces two results on the statement: one for the rows affected by the INSERT and one for the rows returned by the SELECT. To get to the rows returned by the SELECT, sqlsrv_next_result() must be called to move past the first result.

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array("Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

$query = "INSERT INTO Table_1 (id, data) VALUES (?,?); SELECT * FROM TABLE_1;";
$params = array(1, "some data");
$stmt = sqlsrv_query($conn, $query, $params);

// Consume the first result (rows affected by INSERT) without calling sqlsrv_next_result.
echo "Rows affected: ".sqlsrv_rows_affected($stmt)."<br />";

// Move to the next result and display results.
$next_result = sqlsrv_next_result($stmt);
if( $next_result ) {
   while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC)){
      echo $row['id'].": ".$row['data']."<br />";
   }
} elseif( is_null($next_result)) {
     echo "No more results.<br />";
} else {
     die(print_r(sqlsrv_errors(), true));
}
?>

Ver también

  • sqlsrv_query() - Prepares and executes a query.
  • sqlsrv_fetch_array() - Devuelve una fila como un array
  • sqlsrv_rows_affected() - Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed

sqlsrv_has_rows
sqlsrv_num_fields
SQLSRV Funciones


Retrieves the number of fields (columns) on a statement

sqlsrv_next_result
sqlsrv_num_rows
SQLSRV Funciones
PHP Manual

sqlsrv_num_fields

(No hay información de versión disponible, podría estar únicamente en SVN)

sqlsrv_num_fields — Retrieves the number of fields (columns) on a statement

Descripción

mixed sqlsrv_num_fields ( resource $stmt )

Retrieves the number of fields (columns) on a statement.

Parámetros

stmt

The statment for which the number of fields is returned. sqlsrv_num_fields() can be called on a statement before or after statement execution.

Valores devueltos

Returns the number of fields on success. Returns FALSE otherwise.

Ejemplos

Ejemplo #1 sqlsrv_num_fields() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
   die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT * FROM Table_1";
$stmt = sqlsrv_query($conn, $sql);
if( $stmt === false) {
   die( print_r( sqlsrv_errors(), true));
}

$numFields = sqlsrv_num_fields( $stmt );

while( sqlsrv_fetch( $stmt )) {
   // Iterate through the fields of each row.
   for($i = 0; $i < $numFields; $i++) {
   {
      echo sqlsrv_get_field($stmt, $i)." ";
     }
     echo "<br />";
}
?>

Ver también

  • sqlsrv_field_metadata() - Obtiene la metadata de los campos de una consulta preparada por sqlsrv_prepare o sqlsrv_query
  • sqlsrv_fetch() - Hace que esté disponible para ser leída la siguiente fila del conjunto de resultado
  • sqlsrv_get_field() - Gets field data from the currently selected row

sqlsrv_next_result
sqlsrv_num_rows
SQLSRV Funciones


Retrieves the number of rows in a result set

sqlsrv_num_fields
sqlsrv_prepare
SQLSRV Funciones
PHP Manual

sqlsrv_num_rows

(No hay información de versión disponible, podría estar únicamente en SVN)

sqlsrv_num_rows — Retrieves the number of rows in a result set

Descripción

mixed sqlsrv_num_rows ( resource $stmt )

Retrieves the number of rows in a result set. This function requires that the statment resource be created with a static or keyset cursor. For more information, see sqlsrv_query(), sqlsrv_prepare(), or » Specifying a Cursor Type and Selecting Rows in the Microsoft SQLSRV documentation.

Parámetros

stmt

The statement for which the row count is returned. The statment resource must be created with a static or keyset cursor. For more information, see sqlsrv_query(), sqlsrv_prepare(), or » Specifying a Cursor Type and Selecting Rows in the Microsoft SQLSRV documentation.

Valores devueltos

Returns the number of rows retrieved on success and FALSE if an error occurred. If a forward cursor (the default) or dynamic cursor is used, FALSE is returned.

Ejemplos

Ejemplo #1 sqlsrv_num_rows() example

<?php
$server = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" );
$conn = sqlsrv_connect( $server, $connectionInfo );

$sql = "SELECT * FROM Table_1";
$params = array();
$options =  array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
$stmt = sqlsrv_query( $conn, $sql , $params, $options );

$row_count = sqlsrv_num_rows( $stmt );

if ($row_count === false)
   echo "Error in retrieveing row count.";
else
   echo $row_count;
?>

Ver también

  • sqlsrv_has_rows() - Indicates whether the specified statement has rows
  • sqlsrv_rows_affected() - Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed

sqlsrv_num_fields
sqlsrv_prepare
SQLSRV Funciones


Prepares a query for execution

sqlsrv_num_rows
sqlsrv_query
SQLSRV Funciones
PHP Manual

sqlsrv_prepare

(No hay información de versión disponible, podría estar únicamente en SVN)

sqlsrv_prepare — Prepares a query for execution

Descripción

mixed sqlsrv_prepare ( resource $conn , string $sql [, array $params [, array $options ]] )

Prepares a query for execution. This function is ideal for preparing a query that will be executed multiple times with different parameter values.

Parámetros

conn

A connection resource returned by sqlsrv_connect().

sql

The string that defines the query to be prepared and executed.

params

An array specifying parameter information when executing a parameterized query. Array elements can be any of the following:

  • A literal value
  • A PHP variable
  • An array with this structure: array($value [, $direction [, $phpType [, $sqlType]]])
The following table describes the elements in the array structure above:

Array structure
Element | Description
$value | A literal value, a PHP variable, or a PHP by-reference variable.
$direction (optional) | One of the following SQLSRV constants used to indicate the parameter direction: SQLSRV_PARAM_IN, SQLSRV_PARAM_OUT, SQLSRV_PARAM_INOUT. The default value is SQLSRV_PARAM_IN.
$phpType (optional) | A SQLSRV_PHPTYPE_* constant that specifies PHP data type of the returned value.
$sqlType (optional) | A SQLSRV_SQLTYPE_* constant that specifies the SQL Server data type of the input value.
options

An array specifing query property options. The supported keys are described in the following table:

Query Options
Key | Values | Description
QueryTimeout | A positive integer value. | Sets the query timeout in seconds. By default, the driver will wait indefinitely for results.
SendStreamParamsAtExec | TRUE or FALSE (the default is TRUE) | Configures the driver to send all stream data at execution (TRUE), or to send stream data in chunks (FALSE). By default, the value is set to TRUE. For more information, see sqlsrv_send_stream_data().
Scrollable | SQLSRV_CURSOR_FORWARD, SQLSRV_CURSOR_STATIC, SQLSRV_CURSOR_DYNAMIC, or SQLSRV_CURSOR_KEYSET | See » Specifying a Cursor Type and Selecting Rows in the Microsoft SQLSRV documentation.

Valores devueltos

Returns a statement resource on success and FALSE if an error occurred.

Ejemplos

Ejemplo #1 sqlsrv_prepare() example

This example demonstrates how to prepare a statement with sqlsrv_prepare() and re-execute it multiple times (with different parameter values) using sqlsrv_execute().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false) {
    die( print_r( sqlsrv_errors(), true));
}

$sql = "UPDATE Table_1
        SET OrderQty = ?
        WHERE SalesOrderID = ?";

// Initialize parameters and prepare the statement.
// Variables $qty and $id are bound to the statement, $stmt.
$qty = 0; $id = 0;
$stmt = sqlsrv_prepare( $conn, $sql, array( &$qty, &$id));
if( !$stmt ) {
    die( print_r( sqlsrv_errors(), true));
}

// Set up the SalesOrderDetailID and OrderQty information.
// This array maps the order ID to order quantity in key=>value pairs.
$orders = array( 1=>10, 2=>20, 3=>30);

// Execute the statement for each order.
foreach( $orders as $id => $qty) {
    // Because $id and $qty are bound to $stmt1, their updated
    // values are used with each execution of the statement.
    if( sqlsrv_execute( $stmt ) === false ) {
          die( print_r( sqlsrv_errors(), true));
    }
}
?>

Notas

When you prepare a statement that uses variables as parameters, the variables are bound to the statement. This means that if you update the values of the variables, the next time you execute the statement it will run with updated parameter values. For statements that you plan to execute only once, use sqlsrv_query().

Ver también

  • sqlsrv_execute() - Ejecuta una sentencia preparada con sqlsrv_prepare
  • sqlsrv_query() - Prepares and executes a query.

sqlsrv_num_rows
sqlsrv_query
SQLSRV Funciones


Prepares and executes a query.

sqlsrv_prepare
sqlsrv_rollback
SQLSRV Funciones
PHP Manual

sqlsrv_query

(No hay información de versión disponible, podría estar únicamente en SVN)

sqlsrv_query — Prepares and executes a query.

Descripción

mixed sqlsrv_query ( resource $conn , string $sql [, array $params [, array $options ]] )

Prepares and executes a query.

Parámetros

conn

A connection resource returned by sqlsrv_connect().

sql

The string that defines the query to be prepared and executed.

params

An array specifying parameter information when executing a parameterized query. Array elements can be any of the following:

  • A literal value
  • A PHP variable
  • An array with this structure: array($value [, $direction [, $phpType [, $sqlType]]])
The following table describes the elements in the array structure above:

Array structure
Element | Description
$value | A literal value, a PHP variable, or a PHP by-reference variable.
$direction (optional) | One of the following SQLSRV constants used to indicate the parameter direction: SQLSRV_PARAM_IN, SQLSRV_PARAM_OUT, SQLSRV_PARAM_INOUT. The default value is SQLSRV_PARAM_IN.
$phpType (optional) | A SQLSRV_PHPTYPE_* constant that specifies PHP data type of the returned value.
$sqlType (optional) | A SQLSRV_SQLTYPE_* constant that specifies the SQL Server data type of the input value.
options

An array specifing query property options. The supported keys are described in the following table:

Query Options
Key | Values | Description
QueryTimeout | A positive integer value. | Sets the query timeout in seconds. By default, the driver will wait indefinitely for results.
SendStreamParamsAtExec | TRUE or FALSE (the default is TRUE) | Configures the driver to send all stream data at execution (TRUE), or to send stream data in chunks (FALSE). By default, the value is set to TRUE. For more information, see sqlsrv_send_stream_data().
Scrollable | SQLSRV_CURSOR_FORWARD, SQLSRV_CURSOR_STATIC, SQLSRV_CURSOR_DYNAMIC, or SQLSRV_CURSOR_KEYSET | See » Specifying a Cursor Type and Selecting Rows in the Microsoft SQLSRV documentation.

Valores devueltos

Returns a statement resource on success and FALSE if an error occurred.

Ejemplos

Ejemplo #1 sqlsrv_query() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" );
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "INSERT INTO Table_1 (id, data) VALUES (?, ?)";
$params = array(1, "some data");

$stmt = sqlsrv_query( $conn, $sql, $params);
if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}
?>

Notas

For statements that you plan to execute only once, use sqlsrv_query(). If you intend to re-execute a statement with different parameter values, use the combination of sqlsrv_prepare() and sqlsrv_execute().

Ver también

  • sqlsrv_prepare() - Prepares a query for execution
  • sqlsrv_execute() - Ejecuta una sentencia preparada con sqlsrv_prepare

sqlsrv_prepare
sqlsrv_rollback
SQLSRV Funciones


Rolls back a transaction that was begun with sqlsrv_begin_transaction

sqlsrv_query
sqlsrv_rows_affected
SQLSRV Funciones
PHP Manual

sqlsrv_rollback

(No hay información de versión disponible, podría estar únicamente en SVN)

sqlsrv_rollback — Rolls back a transaction that was begun with sqlsrv_begin_transaction()

Descripción

bool sqlsrv_rollback ( resource $conn )

Rolls back a transaction that was begun with sqlsrv_begin_transaction() and returns the connection to auto-commit mode.

Parámetros

conn

The connection resource returned by a call to sqlsrv_connect().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 sqlsrv_rollback() example

The following example demonstrates how to use sqlsrv_begin_transaction() together with sqlsrv_commit() and sqlsrv_rollback().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
    die( print_r( sqlsrv_errors(), true ));
}

/* Begin the transaction. */
if ( sqlsrv_begin_transaction( $conn ) === false ) {
     die( print_r( sqlsrv_errors(), true ));
}

/* Initialize parameter values. */
$orderId = 1; $qty = 10; $productId = 100;

/* Set up and execute the first query. */
$sql1 = "INSERT INTO OrdersTable (ID, Quantity, ProductID)
         VALUES (?, ?, ?)";
$params1 = array( $orderId, $qty, $productId );
$stmt1 = sqlsrv_query( $conn, $sql1, $params1 );

/* Set up and execute the second query. */
$sql2 = "UPDATE InventoryTable
         SET Quantity = (Quantity - ?)
         WHERE ProductID = ?";
$params2 = array($qty, $productId);
$stmt2 = sqlsrv_query( $conn, $sql2, $params2 );

/* If both queries were successful, commit the transaction. */
/* Otherwise, rollback the transaction. */
if( $stmt1 && $stmt2 ) {
     sqlsrv_commit( $conn );
     echo "Transaction committed.<br />";
} else {
     sqlsrv_rollback( $conn );
     echo "Transaction rolled back.<br />";
}
?>

Ver también

  • sqlsrv_begin_transaction() - Inicia una transacción de base de datos
  • sqlsrv_commit() - Consolida una transacción que se inició con sqlsrv_begin_transaction

sqlsrv_query
sqlsrv_rows_affected
SQLSRV Funciones


Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed

sqlsrv_rollback
sqlsrv_send_stream_data
SQLSRV Funciones
PHP Manual

sqlsrv_rows_affected

(No hay información de versión disponible, podría estar únicamente en SVN)

sqlsrv_rows_affected — Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed

Descripción

int sqlsrv_rows_affected ( resource $stmt )

Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed. For information about the number of rows returned by a SELECT query, see sqlsrv_num_rows().

Parámetros

stmt

The executed statement resource for which the number of affected rows is returned.

Valores devueltos

Returns the number of rows affected by the last INSERT, UPDATE, or DELETE query. If no rows were affected, 0 is returned. If the number of affected rows cannot be determined, -1 is returned. If an error occurred, FALSE is returned.

Ejemplos

Ejemplo #1 sqlsrv_rows_affected() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" );
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "UPDATE Table_1 SET data = ? WHERE id = ?";

$params = array("updated data", 1);

$stmt = sqlsrv_query( $conn, $sql, $params);

$rows_affected = sqlsrv_rows_affected( $stmt);
if( $rows_affected === false) {
     die( print_r( sqlsrv_errors(), true));
} elseif( $rows_affected == -1) {
      echo "No information available.<br />";
} else {
      echo $rows_affected." rows were updated.<br />";
}
?>

Ver también

  • sqlsrv_num_rows() - Retrieves the number of rows in a result set

sqlsrv_rollback
sqlsrv_send_stream_data
SQLSRV Funciones


Sends data from parameter streams to the server

sqlsrv_rows_affected
sqlsrv_server_info
SQLSRV Funciones
PHP Manual

sqlsrv_send_stream_data

(No hay información de versión disponible, podría estar únicamente en SVN)

sqlsrv_send_stream_data — Sends data from parameter streams to the server

Descripción

bool sqlsrv_send_stream_data ( resource $stmt )

Send data from parameter streams to the server. Up to 8 KB of data is sent with each call.

Parámetros

stmt

A statement resource returned by sqlsrv_query() or sqlsrv_execute().

Valores devueltos

Returns TRUE if there is more data to send and FALSE if there is not.

Ejemplos

Ejemplo #1 sqlsrv_send_stream_data() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" );
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "UPDATE Table_1 SET data = ( ?) WHERE id = 100";

// Open parameter data as a stream and put it in the $params array.
$data = fopen( "data://text/plain,[ Lengthy content here. ]", "r");
$params = array( &$data);

// Prepare the statement. Use the $options array to turn off the
// default behavior, which is to send all stream data at the time of query
// execution.
$options = array("SendStreamParamsAtExec"=>0);
$stmt = sqlsrv_prepare( $conn, $sql, $params, $options);

sqlsrv_execute( $stmt);

// Send up to 8K of parameter data to the server
// with each call to sqlsrv_send_stream_data.
$i = 1;
while( sqlsrv_send_stream_data( $stmt)) {
      $i++;
}
echo "$i calls were made.";
?>

Ver también

  • sqlsrv_prepare() - Prepares a query for execution
  • sqlsrv_query() - Prepares and executes a query.

sqlsrv_rows_affected
sqlsrv_server_info
SQLSRV Funciones


Returns information about the server

sqlsrv_send_stream_data
Sybase
SQLSRV Funciones
PHP Manual

sqlsrv_server_info

(No hay información de versión disponible, podría estar únicamente en SVN)

sqlsrv_server_info — Returns information about the server

Descripción

array sqlsrv_server_info ( resource $conn )

Returns information about the server.

Parámetros

conn

The connection resource that connects the client and the server.

Valores devueltos

Returns an array as described in the following table:

Returned Array
CurrentDatabase | The connected-to database.
SQLServerVersion | The SQL Server version.
SQLServerName | The name of the server.

Ejemplos

Ejemplo #1 sqlsrv_server_info() example

<?php
$serverName = "serverName\sqlexpress";
$conn = sqlsrv_connect( $serverName);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$server_info = sqlsrv_server_info( $conn);
if( $server_info )
{
    foreach( $server_info as $key => $value) {
       echo $key.": ".$value."<br />";
    }
} else {
      die( print_r( sqlsrv_errors(), true));
}
?>

Ver también

  • sqlsrv_client_info() - Devuelve información sobre el cliente y la conexión especificada

sqlsrv_send_stream_data
Sybase
SQLSRV Funciones


Sybase

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones Sybase
    • sybase_affected_rows — Obtiene el número de filas afectadas en la última operación
    • sybase_close — Cierra una conexión Sybase
    • sybase_connect — Establece una conexión a un servidor Sybase
    • sybase_data_seek — Desplaza el apuntador de filas interno
    • sybase_deadlock_retry_count — Devuelve el número de reintentos en caso de bloqueo (deadlock)
    • sybase_fetch_array — Devuelve una fila de Sybase como un array
    • sybase_fetch_assoc — Carga una fila resultante de Sybase como un array asociativo
    • sybase_fetch_field — Obtiene información de un campo de resultado Sybase
    • sybase_fetch_object — Devuelve una fila Sybase como un objeto
    • sybase_fetch_row — Devuelve una fila Sybase como un array indexado numéricamente
    • sybase_field_seek — Modifica el índice de un campo Sybase
    • sybase_free_result — Libera la memoria que ocupa un resultado Sybase
    • sybase_get_last_message — Devuelve el último mensaje del servidor
    • sybase_min_client_severity — Fija la severidad mínima del cliente Sybase
    • sybase_min_error_severity — Fija la severidad mínima del cliente para los errores
    • sybase_min_message_severity — Fija la severidad mínima del cliente para los mensajes
    • sybase_min_server_severity — Fija la severidad mínima del servidor Sybase
    • sybase_num_fields — Devuelve el número de campos que hay en un resultado Sybase
    • sybase_num_rows — Devuelve el número de filas que hay en un resultado Sybase
    • sybase_pconnect — Abre una conexión persistente a un servidor Sybase
    • sybase_query — Envía una consulta a una base Sybase
    • sybase_result — Obtiene un valor dentro de un resultado Sybase
    • sybase_select_db — Selecciona una base de datos Sybase
    • sybase_set_message_handler — Configura el gestor de mensajes Sybase cuando se genera un mensaje de servidor
    • sybase_unbuffered_query — Envía una consulta a Sybase query y no bloquea
sqlsrv_server_info
Introducción
Extensiones de bases de datos específicas del proveedor


Introducción

Sybase
Instalación/Configuración
Sybase


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Sybase


Instalación

Para habilitar Sybase-DB se debe configurar PHP con la opción --with-sybase[=DIR] . DIR es el directorio principal Sybase, por omisión es /home/sybase. Para habilitar Sybase-CT se debe configurar PHP con la opción --with-sybase-ct[=DIR] . DIR es el directorio principal Sybase, por omisión es /home/sybase.

Nota:

A partir de PHP 5.3.0, la extensión Sybase ha sido reemplazada por la extensión sybase_ct y ya no se mantiene. Para continuar usando sybase debe utilizar la extensión sybase_ct.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración Sybase
Nombre | Por defecto | Cambiable | Historial de cambios
sybase.allow_persistent | "1" | PHP_INI_ALL | PHP_INI_ALL in PHP <= 4.0.2. INI_SYSTEM in PHP <= 4.0.3.
sybase.max_persistent | "-1" | PHP_INI_ALL | PHP_INI_ALL in PHP <= 4.0.2. INI_SYSTEM in PHP <= 4.0.3.
sybase.max_links | "-1" | PHP_INI_ALL | PHP_INI_ALL in PHP <= 4.0.2. INI_SYSTEM in PHP <= 4.0.3.
sybase.interface_file | "/usr/sybase/interfaces" | PHP_INI_SYSTEM |
sybase.min_error_severity | "10" | PHP_INI_ALL |
sybase.min_message_severity | "10" | PHP_INI_ALL |
sybase.compatability_mode | "0" | PHP_INI_ALL |
magic_quotes_sybase | "0" | PHP_INI_ALL | Obsoleta en PHP 5.3.0. Eliminada en PHP 5.4.0

He aquí una breve explicación de las directivas de configuración.

sybase.allow_persistent boolean

Si se van a permitir conexiones persistentes Sybase.

sybase.max_persistent integer

El número máximo de conexiones persistentes sybase por proceso. -1 significa sin límite.

sybase.max_links integer

El número máximo de conexiones por proceso sybase, incluyendo conexiones persistentes. -1 significa sin límite.

sybase.min_error_severity integer

Severidad de error mínimo a mostrar.

sybase.min_message_severity integer

Mensaje de severidad mínimo a mostrar.

magic_quotes_sybase boolean

Si magic_quotes_sybase está on, Una comilla sencilla es escapada con una comilla sencilla en lugar de una barra invertida si magic_quotes_gpc o magic_quotes_runtime están habilitadas. Este ajuste también es resperado por addslashes() y stripslashes().

Nota:

Tenga en cuenta que cuando magic_quotes_sybase está en ON ignora completamente magic_quotes_gpc. En este caso, incluso cuando magic_quotes_gpc está activado, ni siquiera entre comillas dobles, barras invertidas o caracteres NUL serán escapados.

Advertencia

Esta característica ha sido declarada OBSOLETA desde PHP 5.3.0. Su uso está totalmente desaconsejado.

Opciones de configuración Sybase-CT
Name | Default | Changeable | Changelog
sybct.allow_persistent | "1" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 4.0.2. Disponible desde PHP 4.0.2. Retirado en PHP 4.0.3.
sybct.max_persistent | "-1" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 4.0.2. Disponible desde PHP 4.0.2. Retirado en PHP 4.0.3.
sybct.max_links | "-1" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 4.0.2. Disponible desde PHP 4.0.2. Retirado en PHP 4.0.3.
sybct.min_server_severity | "10" | PHP_INI_ALL | Disponible desde PHP 4.0.2. Retirado en PHP 4.0.3.
sybct.min_client_severity | "10" | PHP_INI_ALL | Disponible desde PHP 4.0.2. Retirado en PHP 4.0.3.
sybct.hostname | NULL | PHP_INI_ALL | Disponible desde PHP 4.0.2. Retirado en PHP 4.0.3.
sybct.deadlock_retry_count | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.0.

He aquí una breve explicación de las directivas de configuración.

sybct.allow_persistent boolean

Si se permiten conexiones persistentes Sybase-CT. Por omisión está on.

sybct.max_persistent integer

El número máximo de conexiones persistentes Sybase-CT por proceso. Por omisión es -1 que significa sin límite.

sybct.max_links integer

El número máximo de conexiones Sybase-CT por cada proceso, incluyendo conexiones persistentes. Por omisión es -1 que significa sin límite.

sybct.min_server_severity integer

Los mensajes del servidor con severidad mayor o igual a sybct.min_server_severity se reportan como advertencias. Este valor también se puede configurar en un script llamando a sybase_min_server_severity(). Por omisión es 10 que reporta los errores de información o mayor severidad.

sybct.min_client_severity integer

Los mensajes de cliente de la biblioteca con severidad mayor o igual a sybct.min_client_severity serán reportados como advertencias. Este valor también se puede configurar en un script llamando a sybase_min_client_severity(). Por omisión es 10 que desactiva efectivamente los errores.

sybct.login_timeout integer

El tiempo máximo en segundos de espera para un intento de conexión para tener éxito antes de que ocurra una falla. Tenga en cuenta que si max_execution_time ha sido superado cuando se supera el tiempo de intentos de conexión, el script terminará antes de que pueda tomar medidas en caso de fallo. Por omisión es un minuto.

sybct.timeout integer

El tiempo máximo en segundos de espera para una operación select_db o query pueda tener éxito antes de que ocurra una falla. Tenga en cuenta que si max_execution_time ha sido excedido cuando finaliza una operación. El script terminará antes de que pueda tomar medidas en caso de fallo. El valor por omisión es sin límite.

sybct.hostname string

El nombre del host que pretende conectar, para mostrar sp_who. Por omisión es ninguno.

sybct.deadlock_retry_count int

Le permite definir con que frecuencia de interbloqueos se vuelve a intentar. Por omisión es 0, el valor -1 significa "para siempre".

Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Funciones Sybase
Sybase


Funciones Sybase

Tabla de contenidos

  • sybase_affected_rows — Obtiene el número de filas afectadas en la última operación
  • sybase_close — Cierra una conexión Sybase
  • sybase_connect — Establece una conexión a un servidor Sybase
  • sybase_data_seek — Desplaza el apuntador de filas interno
  • sybase_deadlock_retry_count — Devuelve el número de reintentos en caso de bloqueo (deadlock)
  • sybase_fetch_array — Devuelve una fila de Sybase como un array
  • sybase_fetch_assoc — Carga una fila resultante de Sybase como un array asociativo
  • sybase_fetch_field — Obtiene información de un campo de resultado Sybase
  • sybase_fetch_object — Devuelve una fila Sybase como un objeto
  • sybase_fetch_row — Devuelve una fila Sybase como un array indexado numéricamente
  • sybase_field_seek — Modifica el índice de un campo Sybase
  • sybase_free_result — Libera la memoria que ocupa un resultado Sybase
  • sybase_get_last_message — Devuelve el último mensaje del servidor
  • sybase_min_client_severity — Fija la severidad mínima del cliente Sybase
  • sybase_min_error_severity — Fija la severidad mínima del cliente para los errores
  • sybase_min_message_severity — Fija la severidad mínima del cliente para los mensajes
  • sybase_min_server_severity — Fija la severidad mínima del servidor Sybase
  • sybase_num_fields — Devuelve el número de campos que hay en un resultado Sybase
  • sybase_num_rows — Devuelve el número de filas que hay en un resultado Sybase
  • sybase_pconnect — Abre una conexión persistente a un servidor Sybase
  • sybase_query — Envía una consulta a una base Sybase
  • sybase_result — Obtiene un valor dentro de un resultado Sybase
  • sybase_select_db — Selecciona una base de datos Sybase
  • sybase_set_message_handler — Configura el gestor de mensajes Sybase cuando se genera un mensaje de servidor
  • sybase_unbuffered_query — Envía una consulta a Sybase query y no bloquea
Constantes predefinidas
sybase_affected_rows
Sybase


Obtiene el número de filas afectadas en la última operación

Funciones Sybase
sybase_close
Funciones Sybase
PHP Manual

sybase_affected_rows

(PHP 4, PHP 5)

sybase_affected_rows — Obtiene el número de filas afectadas en la última operación

Descripción

int sybase_affected_rows ([ resource $link_identifier ] )

sybase_affected_rows() Obtiene el número de filas afectadas por la última consulta INSERT, UPDATE, REPLACE o DELETE asociada con link_identifier.

Este comando no es efectivo para operaciones SELECT , sólo con operaciones que modifican registros. Para obtener el número de filas devuelto por una operación SELECT, use sybase_num_rows().

Parámetros

link_identifier

Si no se especifica el link, asume que debe utilizar la última conexión abierta.

Valores devueltos

Devuelve el número de filas afectadas (entero).

Ejemplos

Ejemplo #1 Delete-Query

<?php
/* Conectarse a la base de datos */
sybase_connect('SYBASE', '', '') or
die("No se pudo conectar");
sybase_select_db("db");

sybase_query("DELETE FROM sometable WHERE id < 10");
printf("Registros borrados: %d\n", sybase_affected_rows());
?>

El resultado del ejemplo sería:

Registros borrados: 10

Ver también

  • sybase_num_rows() - Devuelve el número de filas que hay en un resultado Sybase

Funciones Sybase
sybase_close
Funciones Sybase


Cierra una conexión Sybase

sybase_affected_rows
sybase_connect
Funciones Sybase
PHP Manual

sybase_close

(PHP 4, PHP 5)

sybase_close — Cierra una conexión Sybase

Descripción

bool sybase_close ([ resource $link_identifier ] )

sybase_close() cierra la conexión a una base de datos Sybase que se ha asociado al identificador de conexión link_identifier.

Notar que esto no es normalmente necesario, puesto que las conexiones no persistentes se cierran automáticamente al final de la ejecución del script.

sybase_close() no cerrará las conexiones persistentes generadas por sybase_pconnect().

Parámetros

link_identifier

Si no se especifica el identificador de conexión, se asumirá que es el correspondiente a la última conexión abierta.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • sybase_connect() - Establece una conexión a un servidor Sybase
  • sybase_pconnect() - Abre una conexión persistente a un servidor Sybase

sybase_affected_rows
sybase_connect
Funciones Sybase


Establece una conexión a un servidor Sybase

sybase_close
sybase_data_seek
Funciones Sybase
PHP Manual

sybase_connect

(PHP 4, PHP 5)

sybase_connect — Establece una conexión a un servidor Sybase

Descripción

resource sybase_connect ([ string $servername [, string $username [, string $password [, string $charset [, string $appname [, bool $new = false ]]]]]] )

sybase_connect() establece una conexión a un servidor Sybase.

En caso de que se realice una segunda llamada a sybase_connect() con los mismos argumentos, no se establecerá una nueva conexión, sinó que se devolverá la identificación de conexión de la que ya está abierta.

La conexión al servidor se cerrará en cuanto finalice la ejecución del script, a menos que se cierre antes llamando explícitamente a la función sybase_close().

Parámetros

servername

El argumento servername ha de ser un nombre de servidor válido que esté definido el el fichero de 'interfaces'.

username

Nombre de usuario Sybase

password

Contraseña asociada al usuario username.

charset

Especifica el mapa de caracteres para la conexión

appname

Especifica un appname para la conexión Sybase. Permite realizar conexiones separadas con el mismo script a la misma base de datos. Esto puede ser útil cuando se haya inicado una transacción en la conexión actual, y sea necesario poder realizar una consulta separada que no puede realizarse dentro de esa transacción.

new

Indica si abrir una nueva conexión o utilizar la existente.

Valores devueltos

Devuelve un identificador de conexión Sybase en caso de éxito, o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.3.0 | Se añade el parámetro new .
4.2.0 | Se añade el parámetro appname .
4.0.2 | Se añade el parámetro charset .

Ejemplos

Ejemplo #1 Ejemplo con sybase_connect()

<?php
$link = sybase_connect('SYBASE', '', '')
        or die("No se pudo conectar !");
echo "Conectado satisfactoriamente";
sybase_close($link);
?>

Ver también

  • sybase_pconnect() - Abre una conexión persistente a un servidor Sybase
  • sybase_close() - Cierra una conexión Sybase

sybase_close
sybase_data_seek
Funciones Sybase


Desplaza el apuntador de filas interno

sybase_connect
sybase_deadlock_retry_count
Funciones Sybase
PHP Manual

sybase_data_seek

(PHP 4, PHP 5)

sybase_data_seek — Desplaza el apuntador de filas interno

Descripción

bool sybase_data_seek ( resource $result_identifier , int $row_number )

sybase_data_seek() desplaza el apuntador de filas interno del resultado Sybase asociado al identificador result_identifier hasta la línea row_number. La próxima llamada a la función sybase_fetch_row() devolverá esa fila.

Parámetros

result_identifier

row_number

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • sybase_fetch_row() - Devuelve una fila Sybase como un array indexado numéricamente

sybase_connect
sybase_deadlock_retry_count
Funciones Sybase


Devuelve el número de reintentos en caso de bloqueo (deadlock)

sybase_data_seek
sybase_fetch_array
Funciones Sybase
PHP Manual

sybase_deadlock_retry_count

(PHP 4 >= 4.3.0, PHP 5)

sybase_deadlock_retry_count — Devuelve el número de reintentos en caso de bloqueo (deadlock)

Descripción

void sybase_deadlock_retry_count ( int $retry_count )

Utilizando sybase_deadlock_retry_count(), se puede definir el número de reintentos en caso de bloqueo. Por defecto, cada bloqueo se reintenta un número infinito de veces o hasta que el proceso lo interrumpte Sybase, el script que se está ejecutando se mata (por ejemplo, por set_time_limit()) o la consulta finaliza con éxito.

Parámetros

retry_count

Valores para el parámetro retry_count
-1 | Reintentar infinitamente(por defecto)
0 | No reintentar
n | Reintentar n veces

Valores devueltos

No devuelve ningún valor.

Notas

Nota: Esta función está disponible sólo cuando se utiliza la biblioteca CT de Sybase, y no la biblioteca DB.

sybase_data_seek
sybase_fetch_array
Funciones Sybase


Devuelve una fila de Sybase como un array

sybase_deadlock_retry_count
sybase_fetch_assoc
Funciones Sybase
PHP Manual

sybase_fetch_array

(PHP 4, PHP 5)

sybase_fetch_array — Devuelve una fila de Sybase como un array

Descripción

array sybase_fetch_array ( resource $result )

sybase_fetch_array() es una versión extendida de sybase_fetch_row(). Además de almacenar los datos en un array resultante con índices numéricos, también puede almacenar los datos en una tabla asociativa, utilizando los nombres de campos como claves.

Es importante notar que utilizar la función sybase_fetch_array() NO es significativamente más lento que utilizar sybase_fetch_row(), y por el contrario aporta un significativo valor añadido.

Parámetros

result

Valores devueltos

Devuelve un array que corresponde a la fila cargada, o FALSE si no hay más filas.

Nota:

Cuando se seleccionan campos con el mismo nombre (por ejemplo, en una join), los índices asociativos tendrán un número secuencial asociado. Ver el ejemplo para más detalle.

Ejemplos

Ejemplo #1 Nombres de campos idénticos

<?php

$dbh = sybase_connect('SYBASE', '', '');
$q = sybase_query('SELECT * FROM p, a WHERE p.person_id= a.person_id');
var_dump(sybase_fetch_array($q));
sybase_close($dbh);
?>

El ejemplo anterior produciría la siguiente salida (asumiendo que las dos tablas únicamente tienen cada una una columna llamada "person_id"):

array(4) {
  [0]=>
  int(1)
  ["person_id"]=>
  int(1)
  [1]=>
  int(1)
  ["person_id1"]=>
  int(1)
}

Ver también

  • sybase_fetch_row() - Devuelve una fila Sybase como un array indexado numéricamente
  • sybase_fetch_assoc() - Carga una fila resultante de Sybase como un array asociativo
  • sybase_fetch_object() - Devuelve una fila Sybase como un objeto

sybase_deadlock_retry_count
sybase_fetch_assoc
Funciones Sybase


Carga una fila resultante de Sybase como un array asociativo

sybase_fetch_array
sybase_fetch_field
Funciones Sybase
PHP Manual

sybase_fetch_assoc

(PHP 4 >= 4.3.0, PHP 5)

sybase_fetch_assoc — Carga una fila resultante de Sybase como un array asociativo

Descripción

array sybase_fetch_assoc ( resource $result )

sybase_fetch_assoc() es una versión de sybase_fetch_row() que utiliza como índices los nombres de columnas, en vez de enteros en el array resultante. Las columnas de tablas diferentes con los mismos nombres se devuelven como name, name1, name2, ..., nameN.

Es importante notar que utilizar la función sybase_fetch_assoc() NO es significativamente más lento que utilizar sybase_fetch_row(), y por lo contrario aporta un significativo valor añadido.

Parámetros

result

Valores devueltos

Devuelve un array que corresponde a la fila cargada, o FALSE si no hay más filas.

Notas

Nota: Esta función está disponible sólo cuando se utiliza la biblioteca CT de Sybase, y no la biblioteca DB.

Ver también

  • sybase_fetch_row() - Devuelve una fila Sybase como un array indexado numéricamente
  • sybase_fetch_array() - Devuelve una fila de Sybase como un array
  • sybase_fetch_object() - Devuelve una fila Sybase como un objeto

sybase_fetch_array
sybase_fetch_field
Funciones Sybase


Obtiene información de un campo de resultado Sybase

sybase_fetch_assoc
sybase_fetch_object
Funciones Sybase
PHP Manual

sybase_fetch_field

(PHP 4, PHP 5)

sybase_fetch_field — Obtiene información de un campo de resultado Sybase

Descripción

object sybase_fetch_field ( resource $result [, int $field_offset = -1 ] )

sybase_fetch_field() puede utilizarse para obtener información de campos de resultado de una consulta.

Parámetros

result

field_offset

Si no se especifica el campo offset, se obtiene el siguiente campo que no había sido obtenido todavía con sybase_fetch_field().

Valores devueltos

Devuelve un objeto que contiene información de campo.

Las propiedades del objeto son:

  • name - nombre de la columna. Si la columna es un resultado de una función, esta propiedad toma el valor computed#N, donde #N es un número de serie.
  • column_source - la tabla de origen de la columna
  • max_length - longitud máxima de la columna
  • numeric - 1 si la columna es numérica
  • type - tipo de datos de la columna

Ver también

  • sybase_field_seek() - Modifica el índice de un campo Sybase

sybase_fetch_assoc
sybase_fetch_object
Funciones Sybase


Devuelve una fila Sybase como un objeto

sybase_fetch_field
sybase_fetch_row
Funciones Sybase
PHP Manual

sybase_fetch_object

(PHP 4, PHP 5)

sybase_fetch_object — Devuelve una fila Sybase como un objeto

Descripción

object sybase_fetch_object ( resource $result [, mixed $object ] )

sybase_fetch_object() es similar a sybase_fetch_assoc(), con la diferencia de que devuelve un objeto, en vez de un array.

En cuando a la velocidad, la función es idéntica a sybase_fetch_array(), y casi tan rápida como sybase_fetch_row() (la diferencia es insignificante).

Parámetros

result

object

Utilizar el segundo parámetro object para especificar el tipo del objeto que se quiere devolver. Si se omite este parámetros, el objeto será de tipo stdClass.

Valores devueltos

Devuelve un objeto que contiene la fila devuelta, o FALSE si no hay más filas.

Historial de cambios

Versión Descripción
4.3.0

Esta función ya no retornará objetos numéricos. Antiguo comportamiento:

object(stdclass)(3) {
  [0]=>
  string(3) "foo"
  ["foo"]=>
  string(3) "foo"
  [1]=>
  string(3) "bar"
  ["bar"]=>
  string(3) "bar"
}
Nuevo comportamiento:
object(stdclass)(3) {
  ["foo"]=>
  string(3) "foo"
  ["bar"]=>
  string(3) "bar"
}

Ejemplos

Ejemplo #1 Ejemplo con sybase_fetch_object() que devuelve Foo

<?php
    class Foo {
        var $foo, $bar, $baz;
    }

    // {...]
    $qrh= sybase_query('SELECT foo, bar, baz FROM example');
    $foo= sybase_fetch_object($qrh, 'Foo');
    $bar= sybase_fetch_object($qrh, new Foo());
    // {...]
?>

Ver también

  • sybase_fetch_array() - Devuelve una fila de Sybase como un array
  • sybase_fetch_row() - Devuelve una fila Sybase como un array indexado numéricamente

sybase_fetch_field
sybase_fetch_row
Funciones Sybase


Devuelve una fila Sybase como un array indexado numéricamente

sybase_fetch_object
sybase_field_seek
Funciones Sybase
PHP Manual

sybase_fetch_row

(PHP 4, PHP 5)

sybase_fetch_row — Devuelve una fila Sybase como un array indexado numéricamente

Descripción

array sybase_fetch_row ( resource $result )

sybase_fetch_row() devuelve una fila de datos del resultado asociado al identificador de resultado result.

Las siguientes llamadas a sybase_fetch_row() devolverán la siguiente fila del conjunto de resultado, o FALSE si ya no hay más filas.

Parámetros

result

Valores devueltos

Devuelve un array que corresponde a la fila retornada, o FALSE si no hay más filas. Cada columna del resultado se almacena en un array indexado nuéricamente, empezando desde el índice 0.

Tipos de datos
PHP | Sybase
string | VARCHAR, TEXT, CHAR, IMAGE, BINARY, VARBINARY, DATETIME
int | NUMERIC (sin precisión), DECIMAL (sin precisión), INT, BIT, TINYINT, SMALLINT
float | NUMERIC (con precisión), DECIMAL (con precisión), REAL, FLOAT, MONEY
NULL | NULL

Ver también

  • sybase_fetch_array() - Devuelve una fila de Sybase como un array
  • sybase_fetch_assoc() - Carga una fila resultante de Sybase como un array asociativo
  • sybase_fetch_object() - Devuelve una fila Sybase como un objeto
  • sybase_data_seek() - Desplaza el apuntador de filas interno
  • sybase_result() - Obtiene un valor dentro de un resultado Sybase

sybase_fetch_object
sybase_field_seek
Funciones Sybase


Modifica el índice de un campo Sybase

sybase_fetch_row
sybase_free_result
Funciones Sybase
PHP Manual

sybase_field_seek

(PHP 4, PHP 5)

sybase_field_seek — Modifica el índice de un campo Sybase

Descripción

bool sybase_field_seek ( resource $result , int $field_offset )

Mueve el apuntador al índice de campo especificado. Si la siguiente llamada a sybase_fetch_field() no incluye un desplazamiento de índice de campo, se devolverá este campo.

Parámetros

result

field_offset

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • sybase_fetch_field() - Obtiene información de un campo de resultado Sybase

sybase_fetch_row
sybase_free_result
Funciones Sybase


Libera la memoria que ocupa un resultado Sybase

sybase_field_seek
sybase_get_last_message
Funciones Sybase
PHP Manual

sybase_free_result

(PHP 4, PHP 5)

sybase_free_result — Libera la memoria que ocupa un resultado Sybase

Descripción

bool sybase_free_result ( resource $result )

sybase_free_result() sólo necesita llamarse en el caso de estar preocupado sobre la utilización de demasiada memoria durante la ejecución de un script. Toda la memoria que ocupa el resultado será automáticamente liberada cuando finalice el script. Puede llamarse a sybase_free_result() pasando como parámetro el identificador del resultado y la memoria ocupada por ese resultado será liberada.

Parámetros

result

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

sybase_field_seek
sybase_get_last_message
Funciones Sybase


Devuelve el último mensaje del servidor

sybase_free_result
sybase_min_client_severity
Funciones Sybase
PHP Manual

sybase_get_last_message

(PHP 4, PHP 5)

sybase_get_last_message — Devuelve el último mensaje del servidor

Descripción

string sybase_get_last_message ( void )

sybase_get_last_message() devuelve el último mensaje reportado por el servidor.

Valores devueltos

Devuelve un mensaje como un string.

Ver también

  • sybase_min_message_severity() - Fija la severidad mínima del cliente para los mensajes

sybase_free_result
sybase_min_client_severity
Funciones Sybase


Fija la severidad mínima del cliente Sybase

sybase_get_last_message
sybase_min_error_severity
Funciones Sybase
PHP Manual

sybase_min_client_severity

(PHP 4, PHP 5)

sybase_min_client_severity — Fija la severidad mínima del cliente Sybase

Descripción

void sybase_min_client_severity ( int $severity )

sybase_min_client_severity() fija el nivel mínimo de severidad del cliente.

Parámetros

severity

Valores devueltos

No devuelve ningún valor.

Notas

Nota: Esta función está disponible sólo cuando se utiliza la biblioteca CT de Sybase, y no la biblioteca DB.

Ver también

  • sybase_min_server_severity() - Fija la severidad mínima del servidor Sybase

sybase_get_last_message
sybase_min_error_severity
Funciones Sybase


Fija la severidad mínima del cliente para los errores

sybase_min_client_severity
sybase_min_message_severity
Funciones Sybase
PHP Manual

sybase_min_error_severity

(PHP 4, PHP 5)

sybase_min_error_severity — Fija la severidad mínima del cliente para los errores

Descripción

void sybase_min_error_severity ( int $severity )

sybase_min_error_severity() fija el nivel mínimo de severidad del cliente Sybase para los errores.

Parámetros

severity

Valores devueltos

No devuelve ningún valor.

Notas

Nota: Esta función está disponible sólo cuando se utiliza la biblioteca CT de Sybase, y no la biblioteca DB.

Ver también

  • sybase_min_message_severity() - Fija la severidad mínima del cliente para los mensajes

sybase_min_client_severity
sybase_min_message_severity
Funciones Sybase


Fija la severidad mínima del cliente para los mensajes

sybase_min_error_severity
sybase_min_server_severity
Funciones Sybase
PHP Manual

sybase_min_message_severity

(PHP 4, PHP 5)

sybase_min_message_severity — Fija la severidad mínima del cliente para los mensajes

Descripción

void sybase_min_message_severity ( int $severity )

sybase_min_message_severity() fija el nivel mínimo de severidad del cliente para los mensajes.

Parámetros

severity

Valores devueltos

No devuelve ningún valor.

Notas

Nota: Esta función está disponible sólo cuando se utiliza la biblioteca DB de Sybase, y no la biblioteca CT.

Ver también

  • sybase_min_error_severity() - Fija la severidad mínima del cliente para los errores

sybase_min_error_severity
sybase_min_server_severity
Funciones Sybase


Fija la severidad mínima del servidor Sybase

sybase_min_message_severity
sybase_num_fields
Funciones Sybase
PHP Manual

sybase_min_server_severity

(PHP 4, PHP 5)

sybase_min_server_severity — Fija la severidad mínima del servidor Sybase

Descripción

void sybase_min_server_severity ( int $severity )

sybase_min_server_severity() fija el nivel de severidad mínima del servidor.

Parámetros

severity

Valores devueltos

No devuelve ningún valor.

Notas

Nota: Esta función está disponible sólo cuando se utiliza la biblioteca CT de Sybase, y no la biblioteca DB.

Ver también

  • sybase_min_client_severity() - Fija la severidad mínima del cliente Sybase

sybase_min_message_severity
sybase_num_fields
Funciones Sybase


Devuelve el número de campos que hay en un resultado Sybase

sybase_min_server_severity
sybase_num_rows
Funciones Sybase
PHP Manual

sybase_num_fields

(PHP 4, PHP 5)

sybase_num_fields — Devuelve el número de campos que hay en un resultado Sybase

Descripción

int sybase_num_fields ( resource $result )

sybase_num_fields() devuelve el número de campos en el resultado result.

Parámetros

result

Valores devueltos

Devuelve el número de campos como un entero.

Ver también

  • sybase_query() - Envía una consulta a una base Sybase
  • sybase_fetch_field() - Obtiene información de un campo de resultado Sybase
  • sybase_num_rows() - Devuelve el número de filas que hay en un resultado Sybase

sybase_min_server_severity
sybase_num_rows
Funciones Sybase


Devuelve el número de filas que hay en un resultado Sybase

sybase_num_fields
sybase_pconnect
Funciones Sybase
PHP Manual

sybase_num_rows

(PHP 4, PHP 5)

sybase_num_rows — Devuelve el número de filas que hay en un resultado Sybase

Descripción

int sybase_num_rows ( resource $result )

sybase_num_rows() devuelve el número de filas en el resultado result.

Parámetros

result

Valores devueltos

Devuelve el número de filas como un entero.

Ver también

  • sybase_num_fields() - Devuelve el número de campos que hay en un resultado Sybase
  • sybase_query() - Envía una consulta a una base Sybase
  • sybase_fetch_row() - Devuelve una fila Sybase como un array indexado numéricamente

sybase_num_fields
sybase_pconnect
Funciones Sybase


Abre una conexión persistente a un servidor Sybase

sybase_num_rows
sybase_query
Funciones Sybase
PHP Manual

sybase_pconnect

(PHP 4, PHP 5)

sybase_pconnect — Abre una conexión persistente a un servidor Sybase

Descripción

resource sybase_pconnect ([ string $servername [, string $username [, string $password [, string $charset [, string $appname ]]]]] )

sybase_pconnect() se comporta de forma parecida a sybase_connect() con dos diferencias principales.

En primer lugar, en el momento de conectar, la función intentará primero encontrar una conexión (persistente) que ya esté abierta para el mismo host, usuario y contraseña. Si se encuentra una, se devolverá un identificador para ella en vez de abrir una nueva conexión.

En segundo lugar, la conexión al servidor SQL no se cerrará cuando finalice la ejecución del script. En vez de eso, la conexión permanecerá abierta para ser utilizada en el futuro ( sybase_close() no cerrará las conexiones establecidas por sybase_pconnect()).

Este tipo de conexiones, por tanto, se llaman 'persistentes'.

Parámetros

servername

El parámetro servername ha de ser un nombre de servidor válido que esté definido en el fichero 'interfaces'.

username

Nombre de usuario Sybase

password

Contraseña asociada a username.

charset

Especifica el mapa de caracteres para la conexión

appname

Especifica un appname para la conexión Sybase. Esto permite establecer conexiones separadas en el mismo script hacia la misma base de datos. Esto puede ser útil cuando se haya iniciado una transacción en la conexión actual, y se necesite realizar una consulta separada que no pueda ser realizada dentro de dicha transacción.

Valores devueltos

Devuelve un identificador de conexión persistente Sybase en caso de éxito, o FALSE en caso de error.

Historial de cambios

Versión | Descripción
4.2.0 | Se añade el parámetro appname.
4.0.2 | Se añade el parámetro charset.

Ver también

  • sybase_connect() - Establece una conexión a un servidor Sybase

sybase_num_rows
sybase_query
Funciones Sybase


Envía una consulta a una base Sybase

sybase_pconnect
sybase_result
Funciones Sybase
PHP Manual

sybase_query

(PHP 4, PHP 5)

sybase_query — Envía una consulta a una base Sybase

Descripción

mixed sybase_query ( string $query [, resource $link_identifier ] )

sybase_query() envia una consulta a la base de datos activa en ese momento en el servidor y que está asociada con el identificador de conexión link_identifier especificado.

Parámetros

query

link_identifier

Si no se especifica el parámetro link_identifier, se utiliza la última conexión establecida. Si no hay ninguna conexión abierta, la función intenta establecer una conexión como si se hubiera llamado a sybase_connect() , y la utiliza.

Valores devueltos

Devuelve un identificador de resultado Sybase en caso de éxito, FALSE en caso de error, o TRUE si la consulta se ejecutó satisfactoriamente pero no devolvió ninguna columna.

Ver también

  • sybase_select_db() - Selecciona una base de datos Sybase
  • sybase_connect() - Establece una conexión a un servidor Sybase

sybase_pconnect
sybase_result
Funciones Sybase


Obtiene un valor dentro de un resultado Sybase

sybase_query
sybase_select_db
Funciones Sybase
PHP Manual

sybase_result

(PHP 4, PHP 5)

sybase_result — Obtiene un valor dentro de un resultado Sybase

Descripción

string sybase_result ( resource $result , int $row , mixed $field )

Devuelve el contenido de la celda que se encuentra en la fila y posición especificada dentro del resultado Sybase.

Cuando se trabaja con conjuntos de resultados muy grandes, se debe considerar la utilización de una de las funciones que devuelven una fila entera (especificada abajo). Como estas funciones devuelven el contenido de múltiples celdas en una única llamada a la función, son MUCHO más rápidas que sybase_result(). También, notar que especificar un índice numérico para el parámetro field es mucho más rápido que especificar un paránetro fieldname o tablename.fieldname.

Alternativas recomendadas con un rendimiento mejor:
 sybase_fetch_row(),
 sybase_fetch_array() y
 sybase_fetch_object().

Parámetros

result

row

field

El parámetro field puede ser el índice del campo, o el nombre del campo, o la tabla del campo punto el nombre del campo (tablename.fieldname). Si se ha definido un alias para el nombre de la columna ('select foo as bar from...'), se ha de utilizar el alias en vez del nombre de la columna.

Valores devueltos

sybase_result() devuelve el contenido de una celda de un conjunto de resultado Sybase.

sybase_query
sybase_select_db
Funciones Sybase


Selecciona una base de datos Sybase

sybase_result
sybase_set_message_handler
Funciones Sybase
PHP Manual

sybase_select_db

(PHP 4, PHP 5)

sybase_select_db — Selecciona una base de datos Sybase

Descripción

bool sybase_select_db ( string $database_name [, resource $link_identifier ] )

sybase_select_db() fija la base de datos actualmente activa en el servidor que está asociada con el identificador de conexión link_identifier especificado.

Cada siguiente llamada a sybase_query() se realizará en la base de datos activa.

Parámetros

database_name

link_identifier

Si no se especifica un identificador de conexión, se asumirá la última conexión abierta. Si no hay ninguna conexión abierta, la función intentará establecer una conexión como si se hubiera llamado a sybase_connect(), y la utilizará.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • sybase_connect() - Establece una conexión a un servidor Sybase
  • sybase_pconnect() - Abre una conexión persistente a un servidor Sybase
  • sybase_query() - Envía una consulta a una base Sybase

sybase_result
sybase_set_message_handler
Funciones Sybase


Configura el gestor de mensajes Sybase cuando se genera un mensaje de servidor

sybase_select_db
sybase_unbuffered_query
Funciones Sybase
PHP Manual

sybase_set_message_handler

(PHP 4 >= 4.3.0, PHP 5)

sybase_set_message_handler — Configura el gestor de mensajes Sybase cuando se genera un mensaje de servidor

Descripción

bool sybase_set_message_handler ( callable $handler [, resource $link_identifier ] )

sybase_set_message_handler() configura una función de usuario para gestionar los mensajes generados por el servidor. Se ha de especificar el nombre de una función global, o utilizar un array para especificar un objeto de referencia y un nombre de método.

Parámetros

handler

El gestor espera cinco parámetros en el orden siguiente: mensaje número, severidad, estado, número de línea y descripción. Los cuatro primeros son enteros. Es último es un string. Si la función devuelve FALSE, PHP genera un mensaje de error ordinario.

link_identifier

Si no se especifica el identificador de conexión, se asumirá la última conexión abierta.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
4.3.5 | Se añade el parámetro link_identifier .

Ejemplos

Ejemplo #1 sybase_set_message_handler() función llamada de retorno

<?php
    function msg_handler($msgnumber, $severity, $state, $line, $text)
    {
        var_dump($msgnumber, $severity, $state, $line, $text);
    }

    sybase_set_message_handler('msg_handler');
?>

Ejemplo #2 sybase_set_message_handler() llamada de retorno a una clase

<?php
    class Sybase {
        function handler($msgnumber, $severity, $state, $line, $text)
        {
            var_dump($msgnumber, $severity, $state, $line, $text);
        }
    }

    $sybase= new Sybase();
    sybase_set_message_handler(array($sybase, 'handler'));
?>

Ejemplo #3 sybase_set_message_handler() mensajes no gestionados

<?php
    // Devuelve FALSE para indicar que no se puede gestionar.
    // El error se muestra como un 'warning', de forma definida por el usuario
    // si no hay un gestor instalado.
    function msg_handler($msgnumber, $severity, $state, $line, $text)
    {
        if (257 == $msgnumber) {
            return false;
        }
        var_dump($msgnumber, $severity, $state, $line, $text);
    }

    sybase_set_message_handler('msg_handler');
?>

Notas

Nota: Esta función está disponible sólo cuando se utiliza la biblioteca CT de Sybase, y no la biblioteca DB.

sybase_select_db
sybase_unbuffered_query
Funciones Sybase


Envía una consulta a Sybase query y no bloquea

sybase_set_message_handler
tokyo_tyrant
Funciones Sybase
PHP Manual

sybase_unbuffered_query

(PHP 4 >= 4.3.0, PHP 5)

sybase_unbuffered_query — Envía una consulta a Sybase query y no bloquea

Descripción

resource sybase_unbuffered_query ( string $query , resource $link_identifier [, bool $store_result ] )

sybase_unbuffered_query() envía una consulta a la base de datos activa actualmente en el servidor que está asociada con el identificador de conexión especificado. Si el identificador de conexión no se especifica, se asume la última conexión abierta. Si no hay conexión abierta, la función intenta establecer una como si se hubiera llamado a sybase_connect() , y la utiliza.

A diferencia de sybase_query(), sybase_unbuffered_query() únicamente lee la primera fila del resultado. sybase_fetch_array() y funciones similares leen más filas si es necesario. sybase_data_seek() lee tantas filas hasta la fila objetivo. El comportamiento de esta última puede ser más eficiente para conjuntos de resultados grandes.

sybase_num_rows() no devolverá el número correcto de filas si se han leído todas las filas de resultado. Para Sybase, el número de filas no es conocido y por lo tanto es calculado por la implementación del cliente.

Nota:

Si no se leen todas las filas del resultado previamente a ejecutar la siguiente consulta, PHP generará un 'warning' y cancelará todos los resultados pendientes. Para evitar esto, utilizar sybase_free_result() que cancelará las filas de resultado de una consulta que no se hayan cargado en el buffer.

Parámetros

query

link_identifier

store_result

El parámetro opcional store_result puede ser FALSE para indicar que el conjunto de resultado no deberá ser cargado en memoria, y de ese modo minimizar el uso de memoria que es particularmente interesante con conjuntos de resultados muy grandes.

Valores devueltos

Devuelve un identificador de resultado Sybase en caso de éxito, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo con sybase_unbuffered_query()

<?php

$dbh = sybase_connect('SYBASE', '', '');
$q = sybase_unbuffered_query('select firstname, lastname from huge_table', $dbh, false);
sybase_data_seek($q, 10000);
$i = 0;

while ($row = sybase_fetch_row($q)) {
    echo $row[0], ' ', $row[1], '<br />';
    if ($i++ > 40000) {
        break;
    }
}

sybase_free_result($q);
sybase_close($dbh);

?>

Notas

Nota: Esta función está disponible sólo cuando se utiliza la biblioteca CT de Sybase, y no la biblioteca DB.

Ver también

  • sybase_query() - Envía una consulta a una base Sybase

sybase_set_message_handler
tokyo_tyrant
Funciones Sybase


tokyo_tyrant

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • TokyoTyrant — The TokyoTyrant class
    • TokyoTyrant::add — Adds to a numeric key
    • TokyoTyrant::connect — Connect to a database
    • TokyoTyrant::connectUri — Connects to a database
    • TokyoTyrant::__construct — Construct a new TokyoTyrant object
    • TokyoTyrant::copy — Copies the database
    • TokyoTyrant::ext — Execute a remote script
    • TokyoTyrant::fwmKeys — Returns the forward matching keys
    • TokyoTyrant::get — The get purpose
    • TokyoTyrant::getIterator — Get an iterator
    • TokyoTyrant::num — Number of records in the database
    • TokyoTyrant::out — Removes records
    • TokyoTyrant::put — Puts values
    • TokyoTyrant::putCat — Concatenates to a record
    • TokyoTyrant::putKeep — Puts a record
    • TokyoTyrant::putNr — Puts value
    • TokyoTyrant::putShl — Concatenates to a record
    • TokyoTyrant::restore — Restore the database
    • TokyoTyrant::setMaster — Set the replication master
    • TokyoTyrant::size — Returns the size of the value
    • TokyoTyrant::stat — Get statistics
    • TokyoTyrant::sync — Synchronize the database
    • TokyoTyrant::tune — Tunes connection values
    • TokyoTyrant::vanish — Empties the database
  • TokyoTyrantTable — The TokyoTyrantTable class
    • TokyoTyrantTable::add — Adds a record
    • TokyoTyrantTable::genUid — Generate unique id
    • TokyoTyrantTable::get — Get a row
    • TokyoTyrantTable::getIterator — Get an iterator
    • TokyoTyrantTable::getQuery — Get a query object
    • TokyoTyrantTable::out — Remove records
    • TokyoTyrantTable::put — Store a row
    • TokyoTyrantTable::putCat — Concatenates to a row
    • TokyoTyrantTable::putKeep — Put a new record
    • TokyoTyrantTable::putNr — Puts value
    • TokyoTyrantTable::putShl — Concatenates to a record
    • TokyoTyrantTable::setIndex — Sets index
  • TokyoTyrantQuery — The TokyoTyrantQuery class
    • TokyoTyrantQuery::addCond — Adds a condition to the query
    • TokyoTyrantQuery::__construct — Construct a new query
    • TokyoTyrantQuery::count — Counts records
    • TokyoTyrantQuery::current — Returns the current element
    • TokyoTyrantQuery::hint — Get the hint string of the query
    • TokyoTyrantQuery::key — Returns the current key
    • TokyoTyrantQuery::metaSearch — Retrieve records with multiple queries
    • TokyoTyrantQuery::next — Moves the iterator to next entry
    • TokyoTyrantQuery::out — Removes records based on query
    • TokyoTyrantQuery::rewind — Rewinds the iterator
    • TokyoTyrantQuery::search — Searches records
    • TokyoTyrantQuery::setLimit — Limit results
    • TokyoTyrantQuery::setOrder — Orders results
    • TokyoTyrantQuery::valid — Checks the validity of current item
  • TokyoTyrantIterator — The TokyoTyrantIterator class
    • TokyoTyrantIterator::__construct — Construct an iterator
    • TokyoTyrantIterator::current — Get the current value
    • TokyoTyrantIterator::key — Returns the current key
    • TokyoTyrantIterator::next — Move to next key
    • TokyoTyrantIterator::rewind — Rewinds the iterator
    • TokyoTyrantIterator::valid — Rewinds the iterator
  • TokyoTyrantException — The TokyoTyrantException class
sybase_unbuffered_query
Introducción
Extensiones de bases de datos específicas del proveedor


Introducción

tokyo_tyrant extension provides a wrapper for Tokyo Tyrant client libraries. The extension contains the normal key-value API and the table API.

"Tokyo Tyrant is a package of network interface to the DBM called Tokyo Cabinet. Though the DBM has high performance, you might bother in case that multiple processes share the same database, or remote processes access the database. Thus, Tokyo Tyrant is provided for concurrent and remote connections to Tokyo Cabinet. It is composed of the server process managing a database and its access library for client applications." --Tokyo Tyrant documentation

Tokyo Tyrant is written by Mikio Hirabayashi and is licensed under GNU Lesser General Public License.

tokyo_tyrant
Instalación/Configuración
tokyo_tyrant


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
tokyo_tyrant


Requerimientos

Before using this extension Tokyo Cabinet and Tokyo Tyrant must be installed.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/tokyo_tyrant

Configure options

  • --with-tokyo-tyrant[=DIR] DIR is the prefix to the Tokyo Tyrant installation
  • --with-tokyo-cabinet-dir[=DIR] DIR is the prefix to the Tokyo Cabinet installation
  • --disable-tokyo-tyrant-session Disable Tokyo Tyrant session handler support

Enabling the extension

The extension can be enabled by adding extension=tokyo_tyrant.so to the INI-configuration

Running Tokyo Tyrant for the session handler

ttserver -port 2000 -ext /path/to/expire.lua -extpc expire 30.0 '/tmp/sessions.tct#idx=ts:dec'

Nota: expire.lua is included in the tokyo_tyrant extension source distribution

Configuring session handler

  • tokyo_tyrant.session_salt="randomlongstring"
  • session.save_handler=tokyo_tyrant
  • session.save_path="tcp://hostname1:2000,tcp://hostname2:2000"

Nota: It is important to make sure that tokyo_tyrant.session_salt matches on all servers.

How it works?

The session handler creates a session id like the following: 8b0e27a823fa4a6cf7246945b82c1d51-a5eadbbed1f2075952900628456bfd6830541629-0-5460

The parts from left to right:

  • Session id - Generated session id
  • Checksum - Checksum of session salt, session id, node id and primary key
  • Node id - The id of the node where the session maps to
  • Primary key - The primary key of the row where the session is stored

The checksum contains SHA1 sum of the node id, primary key, session id and the salt which is known only on the server side. This allows quick mapping of session id to node and primary key since there is no need to do an additional search. During session id regeneration only the parts 1 and 2 change but the mapping to the node and primary key stays constant.

In case some of the nodes fail tokyo_tyrant.allow_failover, tokyo_tyrant.fail_threshold and tokyo_tyrant.health_check_divisor INI-settings control the behavior during failover. If failover is allowed the session handler will map the session to a healthy node and creates a new empty session.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

tokyo_tyrant Opciones de configuración
Nombre | Por defecto | Cambiable | Historial de cambios
tokyo_tyrant.default_timeout | 2.0 | PHP_INI_ALL |
tokyo_tyrant.session_salt | NULL | PHP_INI_ALL |
tokyo_tyrant.key_prefix | NULL | PHP_INI_ALL |
tokyo_tyrant.allow_failover | 1 | PHP_INI_ALL |
tokyo_tyrant.fail_threshold | 5 | PHP_INI_ALL |
tokyo_tyrant.health_check_divisor | 1000 | PHP_INI_ALL |
tokyo_tyrant.php_expiration | 0 | PHP_INI_ALL |

He aquí una breve explicación de las directivas de configuración.

tokyo_tyrant.default_timeout integer

Default timeout when connecting to databases

tokyo_tyrant.session_salt string

The secret that is used to salt session id

tokyo_tyrant.key_prefix string

Prefix all keys with this string. The prefix is transparent to the developer but helps making sure that keys won't collide if multiple applications are using the same database.

tokyo_tyrant.allow_failover integer

Whether to allow session failover in case a server dies.

tokyo_tyrant.fail_threshold integer

How many read/write or connection failures is allowed before server is marked as failed.

tokyo_tyrant.health_check_divisor integer

Defines the divisor for the health check probability. If there are failed servers and the probability matches, the servers are health checked and in case the server seems healthy, it will be added back to the pool.

tokyo_tyrant.php_expiration integer

Whether to use built in session expiration mechanism or delegate the expiration to a lua-script on the server-side.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

TokyoTyrant constants

Tipos de recursos
Ejemplos
tokyo_tyrant


Ejemplos

Basic usage

Ejemplo #1 Putting and getting a key-value pair

<?php
$tt = new TokyoTyrant("localhost");
$tt->put("key", "value");
echo $tt->get("key");
?>

El resultado del ejemplo sería:

value
Constantes predefinidas
TokyoTyrant
tokyo_tyrant


The TokyoTyrant class

(PECL tokyo_tyrant >= 0.1.0)

Introducción

The main Tokyo Tyrant class

Sinopsis de la Clase

TokyoTyrant {
/* Constantes */
const integer RDBDEF_PORT = 1978 ;
const integer RDBQC_STREQ = 0 ;
const integer RDBQC_STRINC = 1 ;
const integer RDBQC_STRBW = 2 ;
const integer RDBQC_STREW = 3 ;
const integer RDBQC_STRAND = 4 ;
const integer RDBQC_STROR = 5 ;
const integer RDBQC_STROREQ = 6 ;
const integer RDBQC_STRRX = 7 ;
const integer RDBQC_NUMEQ = 8 ;
const integer RDBQC_NUMGT = 9 ;
const integer RDBQC_NUMGE = 10 ;
const integer RDBQC_NUMLT = 11 ;
const integer RDBQC_NUMLE = 12 ;
const integer RDBQC_NUMBT = 13 ;
const integer RDBQC_NUMOREQ = 14 ;
const integer RDBQC_NEGATE = 16777216 ;
const integer RDBQC_NOIDX = 33554432 ;
const integer RDBQO_STRASC = 0 ;
const integer RDBQO_STRDESC = 1 ;
const integer RDBQO_NUMASC = 2 ;
const integer RDBQO_NUMDESC = 3 ;
const integer RDBIT_LEXICAL = 0 ;
const integer RDBIT_DECIMAL = 1 ;
const integer RDBIT_TOKEN = 2 ;
const integer RDBIT_QGRAM = 3 ;
const integer RDBIT_OPT = 9998 ;
const integer RDBIT_VOID = 9999 ;
const integer RDBIT_KEEP = 16777216 ;
const integer RDBQCFTS_PH = 15 ;
const integer RDBQCFTS_AND = 16 ;
const integer RDBQCFTS_OR = 17 ;
const integer RDBQCFTS_EX = 18 ;
const integer RDBXO_LCKREC = 1 ;
const integer RDBXOLCK_GLB = 2 ;
const integer RDBREC_INT = 1 ;
const integer RDBREC_DBL = 2 ;
const integer RDBMS_UNION = 0 ;
const integer RDBMS_ISECT = 1 ;
const integer RDBMS_DIFF = 2 ;
const integer RDBT_RECON = 1 ;
/* Métodos */
public number add ( string $key , number $increment [, int $type = 0 ] )
public TokyoTyrant connect ( string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]] )
public TokyoTyrant connectUri ( string $uri )
public __construct ([ string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]]] )
public TokyoTyrant copy ( string $path )
public string ext ( string $name , int $options , string $key , string $value )
public array fwmKeys ( string $prefix , int $max_recs )
public mixed get ( mixed $keys )
public TokyoTyrantIterator getIterator ( void )
public int num ( void )
public TokyoTyrant out ( mixed $keys )
public TokyoTyrant put ( mixed $keys [, string $value = NULL ] )
public TokyoTyrant putCat ( mixed $keys [, string $value ] )
public TokyoTyrant putKeep ( mixed $keys [, string $value ] )
public TokyoTyrant putNr ( mixed $keys [, string $value = NULL ] )
public mixed putShl ( string $key , string $value , int $width )
public mixed restore ( string $log_dir , int $timestamp [, bool $check_consistency = true ] )
public mixed setMaster ( string $host , int $port , int $timestamp [, bool $check_consistency = true ] )
public int size ( string $key )
public array stat ( void )
public mixed sync ( void )
public TokyoTyrant tune ( float $timeout [, int $options = TokyoTyrant::RDBT_RECON ] )
public mixed vanish ( void )
}

Constantes predefinidas

TokyoTyrant Constants

TokyoTyrant::RDBDEF_PORT

The default port of the Tokyo Tyrant database

TokyoTyrant::RDBQC_STREQ

string is equal to

TokyoTyrant::RDBQC_STRINC

string is included in

TokyoTyrant::RDBQC_STRBW

string begins with

TokyoTyrant::RDBQC_STREW

string ends with

TokyoTyrant::RDBQC_STRAND

string includes all tokens in

TokyoTyrant::RDBQC_STROR

string includes at least one token in

TokyoTyrant::RDBQC_STROREQ

string is equal to at least one token in

TokyoTyrant::RDBQC_STRRX

string matches regular expressions of

TokyoTyrant::RDBQC_NUMEQ

number is equal to

TokyoTyrant::RDBQC_NUMGT

number is greater than

TokyoTyrant::RDBQC_NUMGE

number is greater than or equal to

TokyoTyrant::RDBQC_NUMLT

number is less than

TokyoTyrant::RDBQC_NUMLE

number is less than or equal to

TokyoTyrant::RDBQC_NUMBT

number is between two tokens of

TokyoTyrant::RDBQC_NUMOREQ

number is equal to at least one token in

TokyoTyrant::RDBQC_NEGATE

negation flag

TokyoTyrant::RDBQC_NOIDX

no index flag

TokyoTyrant::RDBQO_STRASC

string ascending

TokyoTyrant::RDBQO_STRDESC

string descending

TokyoTyrant::RDBQO_NUMASC

number ascending

TokyoTyrant::RDBQO_NUMDESC

number descending

TokyoTyrant::RDBIT_LEXICAL

lexical string

TokyoTyrant::RDBIT_DECIMAL

decimal string

TokyoTyrant::RDBIT_TOKEN

token inverted index (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBIT_QGRAM

QGRAM inverted index (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBIT_OPT

optimize

TokyoTyrant::RDBIT_VOID

void

TokyoTyrant::RDBIT_KEEP

keep existing index

TokyoTyrant::RDBQCFTS_PH

full-text search with the phrase of (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBQCFTS_AND

full-text search with all tokens in (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBQCFTS_OR

full-text search with at least one token in (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBQCFTS_EX

full-text search with the compound expression of (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBQCFTS_AND

Metasearch union between records (Tokyo Tyrant >= 1.1.33)

TokyoTyrant::RDBQCFTS_OR

Metasearch intersection between records (Tokyo Tyrant >= 1.1.33)

TokyoTyrant::RDBQCFTS_EX

Metasearch difference between records (Tokyo Tyrant >= 1.1.33)

TokyoTyrant::RDBT_RECON

Whether to reconnect on connection failure. It is recommended to have this parameter on for persistent connections

TokyoTyrant::RDBXOLCK_REC

record locking

TokyoTyrant::RDBXOLCK_GLB

global locking

TokyoTyrant::RDBREC_INT

record type int

TokyoTyrant::RDBREC_DBL

record type float (double)

TokyoTyrant::TTE_SUCCESS

success

TokyoTyrant::TTE_INVALID

invalid operation

TokyoTyrant::TTE_NOHOST

host not found

TokyoTyrant::TTE_REFUSED

connection refused

TokyoTyrant::TTE_SEND

send error

TokyoTyrant::TTE_RECV

recv error

TokyoTyrant::TTE_KEEP

record exist

TokyoTyrant::TTE_NOREC

no record found

TokyoTyrant::TTE_MISC

miscellaneous error

Tabla de contenidos

  • TokyoTyrant::add — Adds to a numeric key
  • TokyoTyrant::connect — Connect to a database
  • TokyoTyrant::connectUri — Connects to a database
  • TokyoTyrant::__construct — Construct a new TokyoTyrant object
  • TokyoTyrant::copy — Copies the database
  • TokyoTyrant::ext — Execute a remote script
  • TokyoTyrant::fwmKeys — Returns the forward matching keys
  • TokyoTyrant::get — The get purpose
  • TokyoTyrant::getIterator — Get an iterator
  • TokyoTyrant::num — Number of records in the database
  • TokyoTyrant::out — Removes records
  • TokyoTyrant::put — Puts values
  • TokyoTyrant::putCat — Concatenates to a record
  • TokyoTyrant::putKeep — Puts a record
  • TokyoTyrant::putNr — Puts value
  • TokyoTyrant::putShl — Concatenates to a record
  • TokyoTyrant::restore — Restore the database
  • TokyoTyrant::setMaster — Set the replication master
  • TokyoTyrant::size — Returns the size of the value
  • TokyoTyrant::stat — Get statistics
  • TokyoTyrant::sync — Synchronize the database
  • TokyoTyrant::tune — Tunes connection values
  • TokyoTyrant::vanish — Empties the database
Ejemplos
TokyoTyrant::add
tokyo_tyrant


Adds to a numeric key

TokyoTyrant
TokyoTyrant::connect
TokyoTyrant
PHP Manual

TokyoTyrant::add

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::add — Adds to a numeric key

Descripción

public number TokyoTyrant::add ( string $key , number $increment [, int $type = 0 ] )

Adds to an int or double value. This increments the value by the given amount and returns the new value. If the key does not exist a new key is created with initial value of the increment parameter.

Parámetros

key

The string key

increment

The amount to increment

type

TokyoTyrant::RDBREC_INT or TokyoTyrant::RDBREC_DBL constant. If this parameter is omitted the type is guessed from the increment parameters type.

Valores devueltos

Returns the new value on success

Ejemplos

Ejemplo #1 TokyoTyrant::add() example

<?php
$tt = new TokyoTyrant("localhost", TokyoTyrant::RDBDEF_PORT);
/* Adds integer 3 to key and creates a new key */
$tt->add("test", 3);

/* String value is converted to double */
echo $tt->add("test", "3.5", TokyoTyrant::RDBREC_DBL);
?>

El resultado del ejemplo sería algo similar a:

6.5

Ver también

  • TokyoTyrant::put() - Puts values
  • TokyoTyrant::putcat() - Concatenates to a record
  • TokyoTyrant::putkeep() - Puts a record

TokyoTyrant
TokyoTyrant::connect
TokyoTyrant


Connect to a database

TokyoTyrant::add
TokyoTyrant::connectUri
TokyoTyrant
PHP Manual

TokyoTyrant::connect

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::connect — Connect to a database

Descripción

public TokyoTyrant TokyoTyrant::connect ( string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]] )

Connects to a remote database

Parámetros

host

The hostname

port

The port. Default: 1978

options

Connection options: timeout (default: 5.0), reconnect (default: TRUE) and persistent (default: TRUE)

Valores devueltos

This method returns the current object and throws TokyoTyrantException on failure.

Ejemplos

Ejemplo #1 TokyoTyrant::connect() example

<?php
$tt = new TokyoTyrant();
$tt->connect("localhost", TokyoTyrant::RDBDEF_PORT)->put("test", "value");
?>

Ver también

  • TokyoTyrant::connectUri() - Connects to a database

TokyoTyrant::add
TokyoTyrant::connectUri
TokyoTyrant


Connects to a database

TokyoTyrant::connect
TokyoTyrant::__construct
TokyoTyrant
PHP Manual

TokyoTyrant::connectUri

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::connectUri — Connects to a database

Descripción

public TokyoTyrant TokyoTyrant::connectUri ( string $uri )

Connects to a database using an uri

Parámetros

uri

An URI to the database. For example tcp://localhost:1979/

Valores devueltos

This method returns the current object and throws TokyoTyrantException on failure.

Ejemplos

Ejemplo #1 TokyoTyrant::connectUri() example

<?php
$tt = new TokyoTyrant();
$tt->connectUri("tcp://localhost:1978/")->put("test", "hi");
?>

Ver también

  • TokyoTyrant::connect() - Connect to a database

TokyoTyrant::connect
TokyoTyrant::__construct
TokyoTyrant


Construct a new TokyoTyrant object

TokyoTyrant::connectUri
TokyoTyrant::copy
TokyoTyrant
PHP Manual

TokyoTyrant::__construct

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::__construct — Construct a new TokyoTyrant object

Descripción

public TokyoTyrant::__construct ([ string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]]] )

Constructs a new TokyoTyrant object and optionally connects to the database

Parámetros

host

The hostname. Default: NULL

port

port number. Default: 1978

options

Connection options: timeout (default: 5.0), reconnect (default: TRUE) and persistent (default: TRUE)

Valores devueltos

Throws TokyoTyrantException if connection to database fails

Ver también

  • TokyoTyrant::connect() - Connect to a database
  • TokyoTyrant::connectUri() - Connects to a database

TokyoTyrant::connectUri
TokyoTyrant::copy
TokyoTyrant


Copies the database

TokyoTyrant::__construct
TokyoTyrant::ext
TokyoTyrant
PHP Manual

TokyoTyrant::copy

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::copy — Copies the database

Descripción

public TokyoTyrant TokyoTyrant::copy ( string $path )

Makes a copy of the current database

Parámetros

path

Path to where to copy the database. The user running the remote database must have a write access to the directory.

Valores devueltos

This method returns the current object and throws TokyoTyrantException on failure.

Ejemplos

Ejemplo #1 TokyoTyrant::copy() example

<?php
$tt = new TokyoTyrant("localhost", 1978);
$tt->copy("/tmp/foobar.tct");
?>

Ver también

  • TokyoTyrant::restore() - Restore the database

TokyoTyrant::__construct
TokyoTyrant::ext
TokyoTyrant


Execute a remote script

TokyoTyrant::copy
TokyoTyrant::fwmKeys
TokyoTyrant
PHP Manual

TokyoTyrant::ext

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::ext — Execute a remote script

Descripción

public string TokyoTyrant::ext ( string $name , int $options , string $key , string $value )

Executes a remote script extension.

Parámetros

name

Name of the function to execute

options

Either TokyoTyrant::RDBXO_LCKREC for record locking and TokyoTyrant::RDBXO_LCKGLB for global locking.

key

The key to pass to the function

value

The value to pass to the function

Valores devueltos

Returns the result of the script function

Ejemplos

Ejemplo #1 TokyoTyrant::ext() example

<?php
$tt = new TokyoTyrant("localhost", 1978);
echo $tt->ext("somefunc", TokyoTyrant::RDBXO_LCKREC, "some_key", "some_value");
?>

TokyoTyrant::copy
TokyoTyrant::fwmKeys
TokyoTyrant


Returns the forward matching keys

TokyoTyrant::ext
TokyoTyrant::get
TokyoTyrant
PHP Manual

TokyoTyrant::fwmKeys

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::fwmKeys — Returns the forward matching keys

Descripción

public array TokyoTyrant::fwmKeys ( string $prefix , int $max_recs )

Returns the forward matching keys from the database

Parámetros

prefix

Prefix of the keys

max_recs

Maximum records to return

Valores devueltos

Returns an array of matching keys. The values are not returned

Ejemplos

Ejemplo #1 TokyoTyrant::fwmKeys() example

<?php

$tt = new TokyoTyrant("localhost");

/* Create 20 macthing keys */
for ($i = 0; $i < 20; $i++) {
    $tt->put("key_" . $i, "value_" . $i);
}

/* Create 20 non-macthing keys */
for ($i = 0; $i < 20; $i++) {
    $tt->put("something_" . $i, "data_" . $i);
}

/* Get five matching keys */
var_dump($tt->fwmKeys("key_", 5));
?>

El resultado del ejemplo sería algo similar a:

array(5) {
  [0]=>
  string(5) "key_5"
  [1]=>
  string(6) "key_14"
  [2]=>
  string(5) "key_6"
  [3]=>
  string(6) "key_15"
  [4]=>
  string(5) "key_7"
}

TokyoTyrant::ext
TokyoTyrant::get
TokyoTyrant


The get purpose

TokyoTyrant::fwmKeys
TokyoTyrant::getIterator
TokyoTyrant
PHP Manual

TokyoTyrant::get

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::get — The get purpose

Descripción

public mixed TokyoTyrant::get ( mixed $keys )

This method is used to return a value or multiple values. This method accepts a string or an array as a value.

Parámetros

keys

A string key or an array of string keys

Valores devueltos

Returns a string or an array based on the given parameters. Throws a TokyoTyrantException on error. If string is passed null is returned if the key is not found. In case an array is given as an parameter only existing keys will be returned. It is not an error to pass a key that does not exist.

Ejemplos

Ejemplo #1 TokyoTyrant::get() example

<?php
$tt = new TokyoTyrant("localhost", 1978);
$tt->put("key1", "value1");
$tt->put("key2", "value2");
var_dump($tt->get(array("key1", "key2")));
var_dump($tt->get("key1"));
?>

El resultado del ejemplo sería:

array(2) {
  ["key1"]=>
  string(6) "value1"
  ["key2"]=>
  string(6) "value2"
}
string(6) "value1"

Ver también

  • TokyoTyrant::put() - Puts values

TokyoTyrant::fwmKeys
TokyoTyrant::getIterator
TokyoTyrant


Get an iterator

TokyoTyrant::get
TokyoTyrant::num
TokyoTyrant
PHP Manual

TokyoTyrant::getIterator

(No hay información de versión disponible, podría estar únicamente en SVN)

TokyoTyrant::getIterator — Get an iterator

Descripción

public TokyoTyrantIterator TokyoTyrant::getIterator ( void )

Gets an iterator for iterating all keys / values in the database.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

This method returns TokyoTyrantIterator object and throws TokyoTyrantException on failure.

Ejemplos

Ejemplo #1 TokyoTyrant::getIterator() example

<?php
$tt = new TokyoTyrant("localhost");
$it = $tt->getIterator();

foreach ($it as $k => $v) {

}
?>

Ver también

  • TokyoTyrantTable::getQuery() - Get a query object
  • TokyoTyrantTable::getIterator() - Get an iterator

TokyoTyrant::get
TokyoTyrant::num
TokyoTyrant


Number of records in the database

TokyoTyrant::getIterator
TokyoTyrant::out
TokyoTyrant
PHP Manual

TokyoTyrant::num

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::num — Number of records in the database

Descripción

public int TokyoTyrant::num ( void )

Returns the number of records in the database

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns number of records in the database

Ejemplos

Ejemplo #1 TokyoTyrant::num() example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Echo the number of records */
echo $tt->num();
?>

El resultado del ejemplo sería algo similar a:

1234

Ver también

  • TokyoTyrant::stat() - Get statistics

TokyoTyrant::getIterator
TokyoTyrant::out
TokyoTyrant


Removes records

TokyoTyrant::num
TokyoTyrant::put
TokyoTyrant
PHP Manual

TokyoTyrant::out

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::out — Removes records

Descripción

public TokyoTyrant TokyoTyrant::out ( mixed $keys )

Removes a record or multiple records. This method accepts a string for a single key or an array of keys for multiple records.

Parámetros

keys

A string key or an array of string keys

Valores devueltos

This method returns the current object and throws TokyoTyrantException on failure.

Ejemplos

Ejemplo #1 TokyoTyrant::out() example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

$tt->put("test1", "value1");
$tt->put("test2", "value2");

$tt->out(array("test1", "test2"));
?>

Ver también

  • TokyoTyrant::put() - Puts values

TokyoTyrant::num
TokyoTyrant::put
TokyoTyrant


Puts values

TokyoTyrant::out
TokyoTyrant::putCat
TokyoTyrant
PHP Manual

TokyoTyrant::put

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::put — Puts values

Descripción

public TokyoTyrant TokyoTyrant::put ( mixed $keys [, string $value = NULL ] )

Puts a key-value pair into the database or multiple key-value pairs. If keys is string then the second parameter value defines the value. The second parameter is mandatory if keys is a string. If the key exists the value will be replaced with new value.

Parámetros

keys

A string key or an array of key-value pairs

value

The value in case a string key is used

Valores devueltos

This method returns a reference to the current object and throws TokyoTyrantException on failure.

Ejemplos

Ejemplo #1 TokyoTyrant::put() example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Put single key-value pair */
$tt->put("key", "value");

/* Put key-value pairs, new value overwrites the old */
$tt->put(array("key1" => "value1", "key" => "value2"));

/* Get back one key */
echo $tt->get("key");
?>

El resultado del ejemplo sería:

value2

Ver también

  • TokyoTyrant::putKeep() - Puts a record
  • TokyoTyrant::putCat() - Concatenates to a record

TokyoTyrant::out
TokyoTyrant::putCat
TokyoTyrant


Concatenates to a record

TokyoTyrant::put
TokyoTyrant::putKeep
TokyoTyrant
PHP Manual

TokyoTyrant::putCat

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::putCat — Concatenates to a record

Descripción

public TokyoTyrant TokyoTyrant::putCat ( mixed $keys [, string $value ] )

Appends a value into existing key or multiple values if keys is an array. The second parameter is mandatory if keys is a string. If the record does not exist a new record is created.

Parámetros

keys

A string key or an array of key-value pairs

value

The value in case a string key is used

Valores devueltos

This method returns a reference to the current object and throws TokyoTyrantException on failure.

Ejemplos

Ejemplo #1 TokyoTyrant::putCat() example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Create a new key */
$tt->put("key", "value");

/* Concatenate single key-value pair */
$tt->putCat("key", " has more data");

/* Echo the key */
echo $tt->get("key");
?>

El resultado del ejemplo sería:

value has more data

Ver también

  • TokyoTyrant::put() - Puts values
  • TokyoTyrant::putKeep() - Puts a record

TokyoTyrant::put
TokyoTyrant::putKeep
TokyoTyrant


Puts a record

TokyoTyrant::putCat
TokyoTyrant::putNr
TokyoTyrant
PHP Manual

TokyoTyrant::putKeep

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::putKeep — Puts a record

Descripción

public TokyoTyrant TokyoTyrant::putKeep ( mixed $keys [, string $value ] )

Puts a key-value pair into the database or multiple key-value pairs. If keys is string then the second parameter value defines the value. The second parameter is mandatory if keys is a string. If the key already exists this method throws an exception indicating that the records exists.

Parámetros

keys

A string key or an array of key-value pairs

value

The string value

Valores devueltos

This method returns a reference to the current object and throws TokyoTyrantException on failure.

Ejemplos

Ejemplo #1 tokyotyrant::putKeep() example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Create a new key */
$tt->put("key", "value");

try {
    $tt->putKeep("key", "new value");
} catch (TokyoTyrantException $e) {
    if ($e->getCode() === TokyoTyrant::TTE_KEEP) {
        echo "Existing record! Not modified\n";
    } else {
        echo "Error: " , $e->getMessage() , "\n";
    }
}
echo $tt->get("key");
?>

El resultado del ejemplo sería:

Existing record! Not modified
value

Ver también

  • TokyoTyrant::put() - Puts values
  • TokyoTyrant::putCat() - Concatenates to a record

TokyoTyrant::putCat
TokyoTyrant::putNr
TokyoTyrant


Puts value

TokyoTyrant::putKeep
TokyoTyrant::putShl
TokyoTyrant
PHP Manual

TokyoTyrant::putNr

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::putNr — Puts value

Descripción

public TokyoTyrant TokyoTyrant::putNr ( mixed $keys [, string $value = NULL ] )

Puts a key-value pair into the database or multiple key-value pairs. If keys is string then the second parameter value defines the value. The second parameter is mandatory if keys is a string. This method does not wait for the response from the server.

Parámetros

keys

A string key or an array of key-value pairs

value

The value in case a string key is used

Valores devueltos

This method returns a reference to the current object and throws TokyoTyrantException on failure.

Ejemplos

Ejemplo #1 TokyoTyrant::putNr() example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Put single key-value pair */
$tt->putNr("key", "value");

/* Put key-value pairs */
$tt->putNr(array("key1" => "value1", "key2" => "value2"));

/* Get back one key */
echo $tt->get("key1");
?>

El resultado del ejemplo sería:

value1

Ver también

  • TokyoTyrant::putNr()
  • TokyoTyrant::putKeep() - Puts a record
  • TokyoTyrant::putCat() - Concatenates to a record

TokyoTyrant::putKeep
TokyoTyrant::putShl
TokyoTyrant


Concatenates to a record

TokyoTyrant::putNr
TokyoTyrant::restore
TokyoTyrant
PHP Manual

TokyoTyrant::putShl

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::putShl — Concatenates to a record

Descripción

public mixed TokyoTyrant::putShl ( string $key , string $value , int $width )

Concatenate to a record and shift to left.

Parámetros

key

A string key

value

The value to concatenate

width

The width of the record

Valores devueltos

This method returns a reference to the current object and throws TokyoTyrantException on failure.

Ejemplos

Ejemplo #1 TokyoTyrant::putShl() example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Create a new key */
$tt->put("key", "just a long piece of data");

/* Concatenate and shift to left */
$tt->putShl("key", " and string", 15);

/* Echo the key */
echo $tt->get("key");
?>

El resultado del ejemplo sería:

data and string

Ver también

  • TokyoTyrant::put() - Puts values
  • TokyoTyrant::putKeep() - Puts a record
  • TokyoTyrant::putCat() - Concatenates to a record

TokyoTyrant::putNr
TokyoTyrant::restore
TokyoTyrant


Restore the database

TokyoTyrant::putShl
TokyoTyrant::setMaster
TokyoTyrant
PHP Manual

TokyoTyrant::restore

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::restore — Restore the database

Descripción

public mixed TokyoTyrant::restore ( string $log_dir , int $timestamp [, bool $check_consistency = true ] )

Restore the database from the update log.

Advertencia

This method is not supported on 32bit platforms.

Parámetros

log_dir

Directory where the log is

timestamp

Beginning timestamp with microseconds

check_consistency

Whether to check consistency: Default: TRUE

Valores devueltos

This method returns the current object and throws TokyoTyrantException on failure.

TokyoTyrant::putShl
TokyoTyrant::setMaster
TokyoTyrant


Set the replication master

TokyoTyrant::restore
TokyoTyrant::size
TokyoTyrant
PHP Manual

TokyoTyrant::setMaster

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::setMaster — Set the replication master

Descripción

public mixed TokyoTyrant::setMaster ( string $host , int $port , int $timestamp [, bool $check_consistency = true ] )

Sets the replication master of the database

Advertencia

This method is not supported on 32bit platforms.

Parámetros

host

Hostname of the replication master. If NULL the replication is disabled.

port

Port of the replication master

timestamp

Beginning timestamp with microseconds

check_consistency

Whether to check consistency.

Valores devueltos

This method returns the current object and throws TokyoTyrantException on failure.

Ejemplos

Ejemplo #1 TokyoTyrant::setMaster() example

<?php
/* Connect to a database */
$tt = new TokyoTyrant("tokyotyrant.example.com");

/* Disable the replication */
$tt->setMaster(NULL, 0, 0);
?>

Ver también

  • Classname::Method()

TokyoTyrant::restore
TokyoTyrant::size
TokyoTyrant


Returns the size of the value

TokyoTyrant::setMaster
TokyoTyrant::stat
TokyoTyrant
PHP Manual

TokyoTyrant::size

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::size — Returns the size of the value

Descripción

public int TokyoTyrant::size ( string $key )

Returns the size of a value by key

Parámetros

key

The key of which size to fetch

Valores devueltos

Returns the size of the key or throw TokyoTyrantException on error

Ejemplos

Ejemplo #1 TokyoTyrant::size() example

<?php
$tt = new TokyoTyrant("localhost");

$tt->put("test_key", "12345");

echo $tt->size("test_key");
?>

El resultado del ejemplo sería:

5

TokyoTyrant::setMaster
TokyoTyrant::stat
TokyoTyrant


Get statistics

TokyoTyrant::size
TokyoTyrant::sync
TokyoTyrant
PHP Manual

TokyoTyrant::stat

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::stat — Get statistics

Descripción

public array TokyoTyrant::stat ( void )

Returns statistics of the remote database

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns an array of key value pairs describing the statistics

Ejemplos

Ejemplo #1 TokyoTyrant::stat() example

<?php
$tt = new TokyoTyrant("localhost");

var_dump($tt->stat());
?>

El resultado del ejemplo sería algo similar a:

array(19) {
  ["version"]=>
  string(6) "1.1.28"
  ["libver"]=>
  string(3) "311"
  ["protver"]=>
  string(4) "0.91"
  ["os"]=>
  string(5) "Linux"
  ["time"]=>
  string(17) "1247358357.665630"
  ["pid"]=>
  string(5) "14348"
  ["sid"]=>
  string(8) "59025947"
  ["type"]=>
  string(9) "on-memory"
  ["path"]=>
  string(1) "*"
  ["rnum"]=>
  string(1) "4"
  ["size"]=>
  string(6) "262856"
  ["bigend"]=>
  string(1) "0"
  ["fd"]=>
  string(1) "5"
  ["loadavg"]=>
  string(8) "0.000000"
  ["memsize"]=>
  string(8) "77328384"
  ["memrss"]=>
  string(7) "1183744"
  ["ru_real"]=>
  string(13) "162776.042152"
  ["ru_user"]=>
  string(8) "0.476029"
  ["ru_sys"]=>
  string(8) "8.652540"
}

Ver también

  • Classname::Method()

TokyoTyrant::size
TokyoTyrant::sync
TokyoTyrant


Synchronize the database

TokyoTyrant::stat
TokyoTyrant::tune
TokyoTyrant
PHP Manual

TokyoTyrant::sync

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::sync — Synchronize the database

Descripción

public mixed TokyoTyrant::sync ( void )

Synchronizes the database on to the physical device

Parámetros

Esta función no tiene parámetros.

Valores devueltos

This method returns the current object and throws TokyoTyrantException on failure.

TokyoTyrant::stat
TokyoTyrant::tune
TokyoTyrant


Tunes connection values

TokyoTyrant::sync
TokyoTyrant::vanish
TokyoTyrant
PHP Manual

TokyoTyrant::tune

(PECL tokyo_tyrant >= 0.2.0)

TokyoTyrant::tune — Tunes connection values

Descripción

public TokyoTyrant TokyoTyrant::tune ( float $timeout [, int $options = TokyoTyrant::RDBT_RECON ] )

Tunes database connection options.

Parámetros

timeout

The objects timeout value (default: 5.0)

options

Bitmask of options to tune. This can be either 0 or TokyoTyrant::RDBT_RECON. It is recommended not to change the second parameter.

Valores devueltos

This method returns a reference to the current object and throws TokyoTyrantException on failure.

TokyoTyrant::sync
TokyoTyrant::vanish
TokyoTyrant


Empties the database

TokyoTyrant::tune
TokyoTyrantTable
TokyoTyrant
PHP Manual

TokyoTyrant::vanish

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::vanish — Empties the database

Descripción

public mixed TokyoTyrant::vanish ( void )

Empties a remote database

Parámetros

Esta función no tiene parámetros.

Valores devueltos

This method returns the current object and throws TokyoTyrantException on failure.

Ejemplos

Ejemplo #1 TokyoTyrant::vanish() example

<?php
$tt = new TokyoTyrant("localhost");
$tt->vanish();
?>

Ver también

  • TokyoTyrant::out() - Removes records

TokyoTyrant::tune
TokyoTyrantTable
TokyoTyrant


The TokyoTyrantTable class

(PECL tokyo_tyrant >= 0.1.0)

Introducción

Provides an API to the table databases. A table database can be create using the following command: ttserver -port 1979 /tmp/tt_table.tct. In Tokyo Tyrant the table API is a schemaless database which can store arbitrary amount of key-value pairs under a single primary key.

Sinopsis de la Clase

TokyoTyrantTable extends TokyoTyrant {
/* Métodos */
public void add ( string $key , mixed $increment [, string $type ] )
public int genUid ( void )
public void get ( mixed $keys )
public TokyoTyrantIterator getIterator ( void )
public TokyoTyrantQuery getQuery ( void )
public void out ( mixed $keys )
public int put ( string $key , array $columns )
public void putCat ( string $key , array $columns )
public void putKeep ( string $key , array $columns )
public void putNr ( mixed $keys [, string $value ] )
public void putShl ( string $key , string $value , int $width )
public mixed setIndex ( string $column , int $type )
/* Métodos heredados */
public number TokyoTyrant::add ( string $key , number $increment [, int $type = 0 ] )
public TokyoTyrant TokyoTyrant::connect ( string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]] )
public TokyoTyrant TokyoTyrant::connectUri ( string $uri )
public TokyoTyrant::__construct ([ string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]]] )
public TokyoTyrant TokyoTyrant::copy ( string $path )
public string TokyoTyrant::ext ( string $name , int $options , string $key , string $value )
public array TokyoTyrant::fwmKeys ( string $prefix , int $max_recs )
public mixed TokyoTyrant::get ( mixed $keys )
public TokyoTyrantIterator TokyoTyrant::getIterator ( void )
public int TokyoTyrant::num ( void )
public TokyoTyrant TokyoTyrant::out ( mixed $keys )
public TokyoTyrant TokyoTyrant::put ( mixed $keys [, string $value = NULL ] )
public TokyoTyrant TokyoTyrant::putCat ( mixed $keys [, string $value ] )
public TokyoTyrant TokyoTyrant::putKeep ( mixed $keys [, string $value ] )
public TokyoTyrant TokyoTyrant::putNr ( mixed $keys [, string $value = NULL ] )
public mixed TokyoTyrant::putShl ( string $key , string $value , int $width )
public mixed TokyoTyrant::restore ( string $log_dir , int $timestamp [, bool $check_consistency = true ] )
public mixed TokyoTyrant::setMaster ( string $host , int $port , int $timestamp [, bool $check_consistency = true ] )
public int TokyoTyrant::size ( string $key )
public array TokyoTyrant::stat ( void )
public mixed TokyoTyrant::sync ( void )
public TokyoTyrant TokyoTyrant::tune ( float $timeout [, int $options = TokyoTyrant::RDBT_RECON ] )
public mixed TokyoTyrant::vanish ( void )
}

Tabla de contenidos

  • TokyoTyrantTable::add — Adds a record
  • TokyoTyrantTable::genUid — Generate unique id
  • TokyoTyrantTable::get — Get a row
  • TokyoTyrantTable::getIterator — Get an iterator
  • TokyoTyrantTable::getQuery — Get a query object
  • TokyoTyrantTable::out — Remove records
  • TokyoTyrantTable::put — Store a row
  • TokyoTyrantTable::putCat — Concatenates to a row
  • TokyoTyrantTable::putKeep — Put a new record
  • TokyoTyrantTable::putNr — Puts value
  • TokyoTyrantTable::putShl — Concatenates to a record
  • TokyoTyrantTable::setIndex — Sets index
TokyoTyrant::vanish
TokyoTyrantTable::add
tokyo_tyrant


Adds a record

TokyoTyrantTable
TokyoTyrantTable::genUid
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::add

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::add — Adds a record

Descripción

public void TokyoTyrantTable::add ( string $key , mixed $increment [, string $type ] )

This method is not supported with table databases.

Parámetros

key

The string key

increment

The amount to increment

type

TokyoTyrant::RDB_RECINT or TokyoTyrant::RDB_RECDBL constant. If this parameter is omitted the type is guessed from the increment parameters type.

Valores devueltos

This method throws an TokyoTyrantException if used through this class.

Ver también

  • TokyoTyrant::add() - Adds to a numeric key

TokyoTyrantTable
TokyoTyrantTable::genUid
TokyoTyrantTable


Generate unique id

TokyoTyrantTable::add
TokyoTyrantTable::get
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::genUid

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::genUid — Generate unique id

Descripción

public int TokyoTyrantTable::genUid ( void )

Generates an unique id inside the table database. In table databases rows are referenced using a numeric primary key.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns an unique id or throws TokyoTyrantException on error

Ejemplos

Ejemplo #1 TokyoTyrantTable::genUid() example

<?php
$tt = new TokyoTyrantTable("localhost", 1122);

echo $tt->genUid();
?>

El resultado del ejemplo sería algo similar a:

4

Ver también

  • TokyoTyrantTable::put() - Store a row

TokyoTyrantTable::add
TokyoTyrantTable::get
TokyoTyrantTable


Get a row

TokyoTyrantTable::genUid
TokyoTyrantTable::getIterator
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::get

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::get — Get a row

Descripción

public void TokyoTyrantTable::get ( mixed $keys )

Gets a row from table database. keys is a single integer for the primary key of the row or an array of integers for multiple rows.

Parámetros

keys

The primary key, can be a string or an integer

Valores devueltos

Returns the row as an array

Ejemplos

Ejemplo #1 TokyoTyrantTable::get() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Passing null to put generates a new uid */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));

/* Get the row back */
var_dump($tt->get($index));
?>

El resultado del ejemplo sería:

array(2) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
}

Notas

Nota:

Starting from version 0.3.0 this method accepts array as parameter. Please note that multi-get on tables is not binary-safe.

Ver también

  • TokyoTyrantTable::put() - Store a row

TokyoTyrantTable::genUid
TokyoTyrantTable::getIterator
TokyoTyrantTable


Get an iterator

TokyoTyrantTable::get
TokyoTyrantTable::getQuery
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::getIterator

(No hay información de versión disponible, podría estar únicamente en SVN)

TokyoTyrantTable::getIterator — Get an iterator

Descripción

public TokyoTyrantIterator TokyoTyrantTable::getIterator ( void )

Gets an iterator for iterating all keys / values in the database.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

This method returns TokyoTyrantIterator object and throws TokyoTyrantException on failure.

Ejemplos

Ejemplo #1 TokyoTyrantTable::getIterator() example

<?php
$tt = new TokyoTyrantTable("localhost");
$it = $tt->getIterator();

foreach ($it as $k => $v) {
  var_dump($k, $v);
}
?>

Ver también

  • TokyoTyrantTable::getQuery() - Get a query object
  • TokyoTyrant::getIterator() - Get an iterator

TokyoTyrantTable::get
TokyoTyrantTable::getQuery
TokyoTyrantTable


Get a query object

TokyoTyrantTable::getIterator
TokyoTyrantTable::out
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::getQuery

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::getQuery — Get a query object

Descripción

public TokyoTyrantQuery TokyoTyrantTable::getQuery ( void )

Get a query object to execute searches on the database

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns TokyoTyrantQuery on success and throws TokyoTyrantException on error

Ejemplos

Ejemplo #1 TokyoTyrantTable::getQuery() example

<?php
/* Connect to a table database */
$table = new TokyoTyrantTable("localhost", 1979);

/* Put a few rows */
$table->put(null, array("column1" => "some data", "column2" => "more data"));
$table->put(null, array("something" => "value", "data" => "good data"));

/* Get query object */
$query = $table->getQuery();

/* Add condition to query */
$query->addCond('data', TokyoTyrant::RDBQC_STREQ, 'good data');

/* Get matching rows */
var_dump($query->search());
?>

El resultado del ejemplo sería algo similar a:

array(1) {
  [11]=>
  array(2) {
    ["something"]=>
    string(5) "value"
    ["data"]=>
    string(9) "good data"
  }
}

Ver también

  • TokyoTyrantQuery::search() - Searches records
  • TokyoTyrantQuery::out() - Removes records based on query

TokyoTyrantTable::getIterator
TokyoTyrantTable::out
TokyoTyrantTable


Remove records

TokyoTyrantTable::getQuery
TokyoTyrantTable::put
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::out

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::out — Remove records

Descripción

public void TokyoTyrantTable::out ( mixed $keys )

Removes records from a table database.

Parámetros

keys

A single integer key or an array of integers

Valores devueltos

This method returns the current object and throws TokyoTyrantException on failure.

Ejemplos

Ejemplo #1 TokyoTyrantTable::out() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Passing null to put generates a new uid */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));

/* Delete the row */
$tt->out($index);
?>

Ver también

  • TokyoTyrantTable::put() - Store a row

TokyoTyrantTable::getQuery
TokyoTyrantTable::put
TokyoTyrantTable


Store a row

TokyoTyrantTable::out
TokyoTyrantTable::putCat
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::put

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::put — Store a row

Descripción

public int TokyoTyrantTable::put ( string $key , array $columns )

Puts a new row into the database. This method parameters are key which is the primary key of the row, passing NULL will generate a new unique id. value is an array containing the row contents which is usually key value pairs.

Parámetros

key

The primary key of the row

columns

The row contents

Valores devueltos

Returns the primary key on success and throws TokyoTyrantException on error

Ejemplos

Ejemplo #1 TokyoTyrantTable::put() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Passing null to put generates a new uid */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));

/* Get the row back */
var_dump($tt->get($index));

/* Modify an existing row */
$tt->put($index, array("column1" => "other data", "column2" => "better data"));

/* Get the row back */
var_dump($tt->get($index));
?>

El resultado del ejemplo sería:

array(2) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
}
array(2) {
  ["column1"]=>
  string(10) "other data"
  ["column2"]=>
  string(11) "better data"
}

Ver también

  • TokyoTyrantTable::get() - Get a row

TokyoTyrantTable::out
TokyoTyrantTable::putCat
TokyoTyrantTable


Concatenates to a row

TokyoTyrantTable::put
TokyoTyrantTable::putKeep
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::putCat

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::putCat — Concatenates to a row

Descripción

public void TokyoTyrantTable::putCat ( string $key , array $columns )

This method can be used to add new columns to existing records. Existing keys will be left unmodified but any new columns will be appended to the row. Passing null as key will generate a new row.

Parámetros

key

The primary key of the row or NULL

columns

Array of row contents

Valores devueltos

Returns the primary key and throws TokyoTyrantException on error.

Ejemplos

Ejemplo #1 TokyoTyrantTable::putCat() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Passing null to put generates a new uid */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));

/* Get the row back */
var_dump($tt->get($index));

/* Modify an existing row */
$tt->putcat($index, array("column1" => "something new", "new_column" => "other data"));

/* Get the row back */
var_dump($tt->get($index));
?>

El resultado del ejemplo sería:

array(2) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
}
array(3) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
  ["new_column"]=>
  string(10) "other data"
}

Ver también

  • TokyoTyrantTable::put() - Store a row

TokyoTyrantTable::put
TokyoTyrantTable::putKeep
TokyoTyrantTable


Put a new record

TokyoTyrantTable::putCat
TokyoTyrantTable::putNr
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::putKeep

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::putKeep — Put a new record

Descripción

public void TokyoTyrantTable::putKeep ( string $key , array $columns )

Puts a new record into the database. If the key already exists this method throws an exception indicating that the records exists.

Parámetros

key

The primary key of the row or NULL

columns

Array of the row contents

Valores devueltos

Returns the primary key and throws TokyoTyrantException on error.

Ejemplos

Ejemplo #1 TokyoTyrantTable::putKeep() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Passing null to put generates a new uid */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));

/* Get the row back */
var_dump($tt->get($index));

try {
    $tt->putKeep($index, array("column1" => "something new", "new_column" => "other data"));
} catch (TokyoTyrantException $e) {
    if ($e->getCode() === TokyoTyrant::TTE_KEEP) {
        echo "Existing record! Not modified\n";
    } else {
        echo "Error: " , $e->getMessage() , "\n";
    }
}

/* Get the row back */
var_dump($tt->get($index));
?>

El resultado del ejemplo sería algo similar a:

array(2) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
}
Existing record! Not modified
array(2) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
}

Ver también

  • TokyoTyrantTable::put() - Store a row

TokyoTyrantTable::putCat
TokyoTyrantTable::putNr
TokyoTyrantTable


Puts value

TokyoTyrantTable::putKeep
TokyoTyrantTable::putShl
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::putNr

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::putNr — Puts value

Descripción

public void TokyoTyrantTable::putNr ( mixed $keys [, string $value ] )

This method is not supported on table databases. Calling this method through TokyoTyrantTable is considered an error and an TokyoTyrantException will be thrown.

Parámetros

keys

A string key or an array of key-value pairs

value

The value in case a string key is used

Valores devueltos

This method is not supported on table databases. Calling this method through TokyoTyrantTable is considered an error and an TokyoTyrantException will be thrown.

Ver también

  • TokyoTyrant::putNr() - Puts value
  • TokyoTyrant::putKeep() - Puts a record
  • TokyoTyrant::putCat() - Concatenates to a record

TokyoTyrantTable::putKeep
TokyoTyrantTable::putShl
TokyoTyrantTable


Concatenates to a record

TokyoTyrantTable::putNr
TokyoTyrantTable::setIndex
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::putShl

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::putShl — Concatenates to a record

Descripción

public void TokyoTyrantTable::putShl ( string $key , string $value , int $width )

This method is not supported on table databases. Calling this method through TokyoTyrantTable is considered an error and an TokyoTyrantException will be thrown.

Parámetros

key

A string key

value

The value to concatenate

width

The width of the record

Valores devueltos

This method is not supported on table databases.

Ver también

  • TokyoTyrant::put() - Puts values
  • TokyoTyrant::putKeep() - Puts a record
  • TokyoTyrant::putCat() - Concatenates to a record
  • TokyoTyrantTable::put() - Store a row
  • TokyoTyrantTable::putKeep() - Put a new record
  • TokyoTyrantTable::putCat() - Concatenates to a row

TokyoTyrantTable::putNr
TokyoTyrantTable::setIndex
TokyoTyrantTable


Sets index

TokyoTyrantTable::putShl
TokyoTyrantQuery
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::setIndex

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::setIndex — Sets index

Descripción

public mixed TokyoTyrantTable::setIndex ( string $column , int $type )

Sets an index on a specified column. The index type is one of the TokyoTyrant::RDBIT_* constants. Passing TokyoTyrant::RDBIT_VOID removes the index.

Parámetros

column

The name of the column

type

The index type

Valores devueltos

This method returns the current object and throws TokyoTyrantException on failure.

TokyoTyrantTable::putShl
TokyoTyrantQuery
TokyoTyrantTable


The TokyoTyrantQuery class

(PECL tokyo_tyrant >= 0.1.0)

Introducción

This class is used to query the table databases

Sinopsis de la Clase

TokyoTyrantQuery implements Iterator {
/* Métodos */
public mixed addCond ( string $name , int $op , string $expr )
public __construct ( TokyoTyrantTable $table )
public int count ( void )
public array current ( void )
public string hint ( void )
public string key ( void )
public array metaSearch ( array $queries , int $type )
public array next ( void )
public TokyoTyrantQuery out ( void )
public bool rewind ( void )
public array search ( void )
public mixed setLimit ([ int $max [, int $skip ]] )
public mixed setOrder ( string $name , int $type )
public bool valid ( void )
}

Tabla de contenidos

  • TokyoTyrantQuery::addCond — Adds a condition to the query
  • TokyoTyrantQuery::__construct — Construct a new query
  • TokyoTyrantQuery::count — Counts records
  • TokyoTyrantQuery::current — Returns the current element
  • TokyoTyrantQuery::hint — Get the hint string of the query
  • TokyoTyrantQuery::key — Returns the current key
  • TokyoTyrantQuery::metaSearch — Retrieve records with multiple queries
  • TokyoTyrantQuery::next — Moves the iterator to next entry
  • TokyoTyrantQuery::out — Removes records based on query
  • TokyoTyrantQuery::rewind — Rewinds the iterator
  • TokyoTyrantQuery::search — Searches records
  • TokyoTyrantQuery::setLimit — Limit results
  • TokyoTyrantQuery::setOrder — Orders results
  • TokyoTyrantQuery::valid — Checks the validity of current item
TokyoTyrantTable::setIndex
TokyoTyrantQuery::addCond
tokyo_tyrant


Adds a condition to the query

TokyoTyrantQuery
TokyoTyrantQuery::__construct
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::addCond

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::addCond — Adds a condition to the query

Descripción

public mixed TokyoTyrantQuery::addCond ( string $name , int $op , string $expr )

Adds a condition to the query. Condition can be something like: get all keys which value matches expr.

Parámetros

name

Name of the column in the condition

op

The operator. One of the TokyoTyrant::RDBQC_* constants

expr

The expression

Valores devueltos

This method returns the current object and throws TokyoTyrantException on failure.

Ejemplos

Ejemplo #1 TokyoTyrantQuery::addCond() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "not here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Dump the search results */
var_dump($query->search());
?>

El resultado del ejemplo sería:

array(2) {
  [1]=>
  array(2) {
    ["column1"]=>
    string(9) "some data"
    ["column2"]=>
    string(14) "something here"
  }
  [4]=>
  array(2) {
    ["column45"]=>
    string(11) "random data"
    ["column2"]=>
    string(25) "something along the lines"
  }
}

Ver también

  • Classname::Method()

TokyoTyrantQuery
TokyoTyrantQuery::__construct
TokyoTyrantQuery


Construct a new query

TokyoTyrantQuery::addCond
TokyoTyrantQuery::count
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::__construct

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::__construct — Construct a new query

Descripción

public TokyoTyrantQuery::__construct ( TokyoTyrantTable $table )

Construct a new query object

Parámetros

table

TokyoTyrantTable object with active database connection

Valores devueltos

Returns a new TokyoTyrantQuery object and throws TokyoTyrantException on error

Ejemplos

Ejemplo #1 TokyoTyrantQuery::__construct() example

<?php
$tt = new TokyoTyrantTable("localhost", 1979);

$query = new TokyoTyrantQuery($tt);

/* Work with $query */
?>

Ver también

  • TokyoTyrantTable::getQuery() - Get a query object

TokyoTyrantQuery::addCond
TokyoTyrantQuery::count
TokyoTyrantQuery


Counts records

TokyoTyrantQuery::__construct
TokyoTyrantQuery::current
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::count

(No hay información de versión disponible, podría estar únicamente en SVN)

TokyoTyrantQuery::count — Counts records

Descripción

public int TokyoTyrantQuery::count ( void )

Returns a count of how many records a query returns.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns a count of matching rows and throws TokyoTyrantException on error

Ejemplos

Ejemplo #1 TokyoTyrantQuery::count() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "not here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Count the results */
var_dump($query->count());
?>

El resultado del ejemplo sería:

int(2)

Ver también

  • TokyoTyrantQuery::out() - Removes records based on query
  • TokyoTyrantQuery::search() - Searches records
  • TokyoTyrantQuery::metaSearch() - Retrieve records with multiple queries

TokyoTyrantQuery::__construct
TokyoTyrantQuery::current
TokyoTyrantQuery


Returns the current element

TokyoTyrantQuery::count
TokyoTyrantQuery::hint
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::current

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::current — Returns the current element

Descripción

public array TokyoTyrantQuery::current ( void )

Returns the current element. Part of Iterator interface

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns the current row

Ejemplos

Ejemplo #1 TokyoTyrantQuery iterator example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Iterate the results */
foreach ($query as $key => $value) {
    echo "pk: $key, columns: ", count($value) ,"\n";
}
?>

El resultado del ejemplo sería algo similar a:

pk: 1, columns: 2
pk: 4, columns: 2

Ver también

  • TokyoTyrantQuery::addCond() - Adds a condition to the query

TokyoTyrantQuery::count
TokyoTyrantQuery::hint
TokyoTyrantQuery


Get the hint string of the query

TokyoTyrantQuery::current
TokyoTyrantQuery::key
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::hint

(No hay información de versión disponible, podría estar únicamente en SVN)

TokyoTyrantQuery::hint — Get the hint string of the query

Descripción

public string TokyoTyrantQuery::hint ( void )

Get the hint string of the query. The hint string contains information about an executed query and it could be compared to for example MySQL EXPLAIN statement.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

This method always returns a string

Ejemplos

Ejemplo #1 TokyoTyrantQuery::hint example

<?php
$tt = new TokyoTyrantTable("localhost", 1979);
$tt->vanish();

for ($i = 0; $i < 11; $i++) {
     $tt->put(null, array('a_col' => 'a' . $i, 'b_col' => 'b' . $i));
}

$query = $tt->getQuery();
$query->addCond('a_col', TokyoTyrant::RDBQC_STRBW, 'a');

$query->search();
var_dump($query->hint());
?>

El resultado del ejemplo sería algo similar a:

string(72) "
scanning the whole table
result set size: 11
leaving the natural order
"

Ver también

  • TokyoTyrantQuery::addCond() - Adds a condition to the query

TokyoTyrantQuery::current
TokyoTyrantQuery::key
TokyoTyrantQuery


Returns the current key

TokyoTyrantQuery::hint
TokyoTyrantQuery::metaSearch
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::key

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::key — Returns the current key

Descripción

public string TokyoTyrantQuery::key ( void )

Returns the current key. Part of the Iterator interface

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns the current key and throws TokyoTyrantException on error

Ejemplos

Ejemplo #1 TokyoTyrantQuery iterator example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Iterate the results */
foreach ($query as $key => $value) {
    echo "pk: $key, columns: ", count($value) ,"\n";
}
?>

El resultado del ejemplo sería algo similar a:

pk: 1, columns: 2
pk: 4, columns: 2

Ver también

  • TokyoTyrantQuery::addCond() - Adds a condition to the query

TokyoTyrantQuery::hint
TokyoTyrantQuery::metaSearch
TokyoTyrantQuery


Retrieve records with multiple queries

TokyoTyrantQuery::key
TokyoTyrantQuery::next
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::metaSearch

(No hay información de versión disponible, podría estar únicamente en SVN)

TokyoTyrantQuery::metaSearch — Retrieve records with multiple queries

Descripción

public array TokyoTyrantQuery::metaSearch ( array $queries , int $type )

Executes multiple queries on a database and returns matching records. The current object is always the left most object in the search.

Parámetros

queries

Array of TokyoTyrantQuery objects

type

One of the TokyoTyrant::RDBMS_* constants

Valores devueltos

Returns the matching rows and throws TokyoTyrantException on error

Ejemplos

Ejemplo #1 TokyoTyrantQuery::metaSearch() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add test data */
$tt->put('cherry',     array('color' => 'red'));
$tt->put('strawberry', array('color' => 'red'));
$tt->put('apple',      array('color' => 'green'));
$tt->put('lemon',      array('color' => 'yellow'));

/* First query */
$query = $tt->getQuery();
$query->addCond('color', TokyoTyrant::RDBQC_STREQ, 'red')->setOrder('color', TokyoTyrant::RDBQO_STRASC);

/* Second query */
$query1 = $tt->getQuery();
$query1->addCond('color', TokyoTyrant::RDBQC_STREQ, 'yellow');

/* Get union between the queries */
var_dump($query->metaSearch(array($query1), TokyoTyrant::RDBMS_UNION));
?>

El resultado del ejemplo sería:

array(3) {
  ["cherry"]=>
  array(1) {
    ["color"]=>
    string(3) "red"
  }
  ["strawberry"]=>
  array(1) {
    ["color"]=>
    string(3) "red"
  }
  ["lemon"]=>
  array(1) {
    ["color"]=>
    string(6) "yellow"
  }
}

Ver también

  • TokyoTyrantQuery::search() - Searches records

TokyoTyrantQuery::key
TokyoTyrantQuery::next
TokyoTyrantQuery


Moves the iterator to next entry

TokyoTyrantQuery::metaSearch
TokyoTyrantQuery::out
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::next

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::next — Moves the iterator to next entry

Descripción

public array TokyoTyrantQuery::next ( void )

Returns the next result in the resultset. Part of the Iterator interface.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns the next row and throws TokyoTyrantException on error.

Ejemplos

Ejemplo #1 TokyoTyrantQuery iterator example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Iterate the results */
foreach ($query as $key => $value) {
    echo "pk: $key, columns: ", count($value) ,"\n";
}
?>

El resultado del ejemplo sería algo similar a:

pk: 1, columns: 2
pk: 4, columns: 2

Ver también

  • TokyoTyrantQuery::addCond() - Adds a condition to the query

TokyoTyrantQuery::metaSearch
TokyoTyrantQuery::out
TokyoTyrantQuery


Removes records based on query

TokyoTyrantQuery::next
TokyoTyrantQuery::rewind
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::out

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::out — Removes records based on query

Descripción

public TokyoTyrantQuery TokyoTyrantQuery::out ( void )

Removes all records that match the query. Works exactly like search but removes the records instead of returning them.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

This method returns the current object and throws TokyoTyrantException on failure.

Ejemplos

Ejemplo #1 TokyoTyrantQuery::out() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Remove matching records */
$query->out();
?>

Ver también

  • TokyoTyrantQuery::addCond() - Adds a condition to the query

TokyoTyrantQuery::next
TokyoTyrantQuery::rewind
TokyoTyrantQuery


Rewinds the iterator

TokyoTyrantQuery::out
TokyoTyrantQuery::search
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::rewind

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::rewind — Rewinds the iterator

Descripción

public bool TokyoTyrantQuery::rewind ( void )

Rewind the resultset and executes the query if it has not been executed. Part of the Iterator interface.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns TRUE

Ejemplos

Ejemplo #1 TokyoTyrantQuery iterator example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Iterate the results */
foreach ($query as $key => $value) {
    echo "pk: $key, columns: ", count($value) ,"\n";
}
?>

El resultado del ejemplo sería algo similar a:

pk: 1, columns: 2
pk: 4, columns: 2

Ver también

  • TokyoTyrantQuery::addCond() - Adds a condition to the query

TokyoTyrantQuery::out
TokyoTyrantQuery::search
TokyoTyrantQuery


Searches records

TokyoTyrantQuery::rewind
TokyoTyrantQuery::setLimit
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::search

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::search — Searches records

Descripción

public array TokyoTyrantQuery::search ( void )

Executes a search on the table database. Returns an array of arrays containing the matching records. In the returned array the first level is the primary key of the data and the second level is the row data.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns the matching rows and throws TokyoTyrantException on error

Ejemplos

Ejemplo #1 TokyoTyrantQuery::search() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "not here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Dump the search results */
var_dump($query->search());
?>

El resultado del ejemplo sería:

array(2) {
  [1]=>
  array(2) {
    ["column1"]=>
    string(9) "some data"
    ["column2"]=>
    string(14) "something here"
  }
  [4]=>
  array(2) {
    ["column45"]=>
    string(11) "random data"
    ["column2"]=>
    string(25) "something along the lines"
  }
}

Ver también

  • TokyoTyrantQuery::out() - Removes records based on query
  • TokyoTyrantQuery::metaSearch() - Retrieve records with multiple queries

TokyoTyrantQuery::rewind
TokyoTyrantQuery::setLimit
TokyoTyrantQuery


Limit results

TokyoTyrantQuery::search
TokyoTyrantQuery::setOrder
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::setLimit

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::setLimit — Limit results

Descripción

public mixed TokyoTyrantQuery::setLimit ([ int $max [, int $skip ]] )

Set the maximum amount of records to return on a query.

Parámetros

max

Maximum amount of records. Default: -1

skip

How many records to skip from the start. Default: -1

Valores devueltos

This method returns the current object and throws TokyoTyrantException on failure.

TokyoTyrantQuery::search
TokyoTyrantQuery::setOrder
TokyoTyrantQuery


Orders results

TokyoTyrantQuery::setLimit
TokyoTyrantQuery::valid
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::setOrder

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::setOrder — Orders results

Descripción

public mixed TokyoTyrantQuery::setOrder ( string $name , int $type )

Sets the order of a query

Parámetros

name

The column name to apply the ordering on.

type

The type can be one of the following constants:

  • TokyoTyrant::RDBQO_STRASC - String ascending
  • TokyoTyrant::RDBQO_STRDESC - String descending
  • TokyoTyrant::RDBQO_NUMASC - Numberic ascending
  • TokyoTyrant::RDBQO_NUMDESC - String descending

Valores devueltos

This method returns the current object.

TokyoTyrantQuery::setLimit
TokyoTyrantQuery::valid
TokyoTyrantQuery


Checks the validity of current item

TokyoTyrantQuery::setOrder
TokyoTyrantIterator
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::valid

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::valid — Checks the validity of current item

Descripción

public bool TokyoTyrantQuery::valid ( void )

Checks if the current item is valid. Part of the Iterator interface

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns TRUE if the current item is valid and FALSE if not.

Ejemplos

Ejemplo #1 TokyoTyrantQuery iterator example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Iterate the results */
foreach ($query as $key => $value) {
    echo "pk: $key, columns: ", count($value) ,"\n";
}
?>

El resultado del ejemplo sería algo similar a:

pk: 1, columns: 2
pk: 4, columns: 2

Ver también

  • TokyoTyrantQuery::addCond() - Adds a condition to the query

TokyoTyrantQuery::setOrder
TokyoTyrantIterator
TokyoTyrantQuery


The TokyoTyrantIterator class

(PECL tokyo_tyrant >= 0.2.0)

Introducción

Provides an iterator for TokyoTyrant and TokyoTyrantTable objects. The iterator iterates over all keys and values in the database. TokyoTyrantIterator was added in version 0.2.0.

Sinopsis de la Clase

TokyoTyrantIterator implements Iterator {
/* Methods */
public __construct ( mixed $object )
public mixed current ( void )
public mixed key ( void )
public mixed next ( void )
public void rewind ( void )
public bool valid ( void )
/* Inherited methods */
public number TokyoTyrant::add ( string $key , number $increment [, int $type = 0 ] )
public TokyoTyrant TokyoTyrant::connect ( string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]] )
public TokyoTyrant TokyoTyrant::connectUri ( string $uri )
public TokyoTyrant::__construct ([ string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]]] )
public TokyoTyrant TokyoTyrant::copy ( string $path )
public string TokyoTyrant::ext ( string $name , int $options , string $key , string $value )
public array TokyoTyrant::fwmKeys ( string $prefix , int $max_recs )
public mixed TokyoTyrant::get ( mixed $keys )
public TokyoTyrantIterator TokyoTyrant::getIterator ( void )
public int TokyoTyrant::num ( void )
public TokyoTyrant TokyoTyrant::out ( mixed $keys )
public TokyoTyrant TokyoTyrant::put ( mixed $keys [, string $value = NULL ] )
public TokyoTyrant TokyoTyrant::putCat ( mixed $keys [, string $value ] )
public TokyoTyrant TokyoTyrant::putKeep ( mixed $keys [, string $value ] )
public TokyoTyrant TokyoTyrant::putNr ( mixed $keys [, string $value = NULL ] )
public mixed TokyoTyrant::putShl ( string $key , string $value , int $width )
public mixed TokyoTyrant::restore ( string $log_dir , int $timestamp [, bool $check_consistency = true ] )
public mixed TokyoTyrant::setMaster ( string $host , int $port , int $timestamp [, bool $check_consistency = true ] )
public int TokyoTyrant::size ( string $key )
public array TokyoTyrant::stat ( void )
public mixed TokyoTyrant::sync ( void )
public TokyoTyrant TokyoTyrant::tune ( float $timeout [, int $options = TokyoTyrant::RDBT_RECON ] )
public mixed TokyoTyrant::vanish ( void )
}

Tabla de contenidos

  • TokyoTyrantIterator::__construct — Construct an iterator
  • TokyoTyrantIterator::current — Get the current value
  • TokyoTyrantIterator::key — Returns the current key
  • TokyoTyrantIterator::next — Move to next key
  • TokyoTyrantIterator::rewind — Rewinds the iterator
  • TokyoTyrantIterator::valid — Rewinds the iterator
TokyoTyrantQuery::valid
TokyoTyrantIterator::__construct
tokyo_tyrant


Construct an iterator

TokyoTyrantIterator
TokyoTyrantIterator::current
TokyoTyrantIterator
PHP Manual

TokyoTyrantIterator::__construct

(PECL tokyo_tyrant >= 0.2.0)

TokyoTyrantIterator::__construct — Construct an iterator

Descripción

public TokyoTyrantIterator::__construct ( mixed $object )

Construct a new TokyoTyrantIterator object. One connection can have multiple iterators but it is not quaranteed that all items are traversed in that case. object parameter can be either an of instance TokyoTyrant or TokyoTyrantTable.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Throws an exception if iterator initialization fails.

Ejemplos

Ejemplo #1 TokyoTyrantIterator::__construct() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Passing null to put generates a new uid */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));

/* Construct an iterator */
$it = new TokyoTyrantIterator($tt);

foreach ($it as $value) {
    var_dump($value);
}
?>

El resultado del ejemplo sería:

array(2) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
}

Ver también

  • TokyoTyrantIterator::key() - Returns the current key
  • TokyoTyrantIterator::current() - Get the current value
  • TokyoTyrantIterator::next() - Move to next key
  • TokyoTyrantIterator::rewind() - Rewinds the iterator
  • TokyoTyrantIterator::key() - Returns the current key

TokyoTyrantIterator
TokyoTyrantIterator::current
TokyoTyrantIterator


Get the current value

TokyoTyrantIterator::__construct
TokyoTyrantIterator::key
TokyoTyrantIterator
PHP Manual

TokyoTyrantIterator::current

(PECL tokyo_tyrant >= 0.2.0)

TokyoTyrantIterator::current — Get the current value

Descripción

public mixed TokyoTyrantIterator::current ( void )

Returns the current value during iteration.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns the current value on success and false on failure.

Ver también

  • TokyoTyrantIterator::valid() - Rewinds the iterator
  • TokyoTyrantIterator::key() - Returns the current key
  • TokyoTyrantIterator::next() - Move to next key
  • TokyoTyrantIterator::rewind() - Rewinds the iterator

TokyoTyrantIterator::__construct
TokyoTyrantIterator::key
TokyoTyrantIterator


Returns the current key

TokyoTyrantIterator::current
TokyoTyrantIterator::next
TokyoTyrantIterator
PHP Manual

TokyoTyrantIterator::key

(PECL tokyo_tyrant >= 0.2.0)

TokyoTyrantIterator::key — Returns the current key

Descripción

public mixed TokyoTyrantIterator::key ( void )

Returns the current key.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns the current key on success and false on failure.

Ver también

  • TokyoTyrantIterator::valid() - Rewinds the iterator
  • TokyoTyrantIterator::current() - Get the current value
  • TokyoTyrantIterator::next() - Move to next key
  • TokyoTyrantIterator::rewind() - Rewinds the iterator

TokyoTyrantIterator::current
TokyoTyrantIterator::next
TokyoTyrantIterator


Move to next key

TokyoTyrantIterator::key
TokyoTyrantIterator::rewind
TokyoTyrantIterator
PHP Manual

TokyoTyrantIterator::next

(PECL tokyo_tyrant >= 0.2.0)

TokyoTyrantIterator::next — Move to next key

Descripción

public mixed TokyoTyrantIterator::next ( void )

Move to next key during iteration and return it's value.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns the next value on success and false on failure.

Ver también

  • TokyoTyrantIterator::valid() - Rewinds the iterator
  • TokyoTyrantIterator::key() - Returns the current key
  • TokyoTyrantIterator::current() - Get the current value
  • TokyoTyrantIterator::rewind() - Rewinds the iterator

TokyoTyrantIterator::key
TokyoTyrantIterator::rewind
TokyoTyrantIterator


Rewinds the iterator

TokyoTyrantIterator::next
TokyoTyrantIterator::valid
TokyoTyrantIterator
PHP Manual

TokyoTyrantIterator::rewind

(PECL tokyo_tyrant >= 0.2.0)

TokyoTyrantIterator::rewind — Rewinds the iterator

Descripción

public void TokyoTyrantIterator::rewind ( void )

Rewinds the iterator for new iteration. Called automatically at the beginning of foreach.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Throws TokyoTyrantException if iterator initialization fails.

Ver también

  • TokyoTyrantIterator::valid() - Rewinds the iterator
  • TokyoTyrantIterator::current() - Get the current value
  • TokyoTyrantIterator::next() - Move to next key
  • TokyoTyrantIterator::rewind()

TokyoTyrantIterator::next
TokyoTyrantIterator::valid
TokyoTyrantIterator


Rewinds the iterator

TokyoTyrantIterator::rewind
TokyoTyrantException
TokyoTyrantIterator
PHP Manual

TokyoTyrantIterator::valid

(PECL tokyo_tyrant >= 0.2.0)

TokyoTyrantIterator::valid — Rewinds the iterator

Descripción

public bool TokyoTyrantIterator::valid ( void )

Checks whether the internal pointer points to valid element.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns TRUE if the current item is valid and FALSE if not.

Ver también

  • TokyoTyrantIterator::key() - Returns the current key
  • TokyoTyrantIterator::current() - Get the current value
  • TokyoTyrantIterator::next() - Move to next key
  • TokyoTyrantIterator::rewind() - Rewinds the iterator

TokyoTyrantIterator::rewind
TokyoTyrantException
TokyoTyrantIterator


The TokyoTyrantException class

(PECL tokyo_tyrant >= 0.1.0)

Introducción

TokyoTyrantException

Sinopsis de la Clase

tokyotyrantexception extends Exception {
/* Propiedades */
protected int $code ;
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Propiedades

code

The exception code. This can be compared to TokyoTyrant::TTE_* constants

TokyoTyrantIterator::valid
Extensiones relacionadas con fecha y hora
tokyo_tyrant


Extensiones relacionadas con fecha y hora

  • Calendario
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de Calendario
  • Fecha/Hora — Fecha y Hora
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • DateTime — La clase DateTime
    • DateTimeImmutable — La clase DateTimeImmutable
    • DateTimeInterface — La interfaz DateTimeInterface
    • DateTimeZone — La clase DateTimeZone
    • DateInterval — La clase DateInterval
    • DatePeriod — La clase DatePeriod
    • Funciones de Fecha/Hora
    • Formatos de Fecha y Hora soportados
    • Listado de zonas horarias soportadas
TokyoTyrantException
Calendario
Referencia de funciones


Calendario

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de Calendario
    • cal_days_in_month — Devolver el número de días de un mes para un año y un calendario dados
    • cal_from_jd — Convierte de una Fecha Juliana a un calendario soportado
    • cal_info — Devuelve información sobre un calendario en particular
    • cal_to_jd — Convertir un calendario soportado a la Fecha Juliana
    • easter_date — Obtener la fecha Unix para la medianoche de Pascua de un año dado
    • easter_days — Obtener el número de días despúes del 21 de marzo en el cuál cae Pascua para un año dado
    • FrenchToJD — Convierte una fecha desde el Calendario Republicano Francés a la Fecha Juliana
    • GregorianToJD — Convierte una fecha Gregoriana en Fecha Juliana
    • JDDayOfWeek — Devuelve el día de la semana
    • JDMonthName — Devuelve el nombre de un mes
    • JDToFrench — Convierte una Fecha Juliana al Calendario Republicano Francés
    • JDToGregorian — Convierte una Fecha Juliana en una fecha Gregoriana
    • jdtojewish — Convierte una Fecha Juliana a una fecha del Calendario Judío
    • JDToJulian — Convierte una Fecha Juliana a una fecha del Calendario Juliano
    • jdtounix — Convierte una Fecha Juliana a una fecha Unix
    • JewishToJD — Convierte una fecha del Calendario Judío a una Fecha Juliana
    • JulianToJD — Convierte una fecha del Calendario Juliano a una Fecha Juliana
    • unixtojd — Convertir una fecha Unix en una Fecha Juliana
Extensiones relacionadas con fecha y hora
Introducción
Extensiones relacionadas con fecha y hora


Introducción

La extensión Calendario presenta una serie de funciones para simplificar la conversión entre diferentes formatos de calendario. El intermediario o estádar está basado en la Fecha Juliana. La Fecha Juliana es una cuenta de días comenzando desde el 1 de Enero del 4713 A.C. Para hacer la conversión entre sistemas de calendario, primero debe convertir a la Fecha Juliana, y después al sistema de calendario de su elección. ¡La Fecha Juliana es muy diferente del Calendario Juliano! Para más información sobre la Fecha Juliana, visite » http://www.hermetic.ch/cal_stud/jdn.htm. Para más información sobre sistemas de calendario visite » http://www.fourmilab.ch/documents/calendar/. Los extractos de esta página están incluidos en estas instrucciones, y están entrecomillados.

Calendario
Instalación/Configuración
Calendario


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Calendario


Instalación

Para que estas funciones estén disponibles tiene que compilar PHP con --enable-calendar .

La versión de PHP para Windows tiene soporte nativo para esta extensión. No se requiere cargar extensiones adicionales para utilizar estas funciones.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

CAL_GREGORIAN (integer)
CAL_JULIAN (integer)
CAL_JEWISH (integer)
CAL_FRENCH (integer)
CAL_NUM_CALS (integer)
CAL_DOW_DAYNO (integer)
CAL_DOW_SHORT (integer)
CAL_DOW_LONG (integer)
CAL_MONTH_GREGORIAN_SHORT (integer)
CAL_MONTH_GREGORIAN_LONG (integer)
CAL_MONTH_JULIAN_SHORT (integer)
CAL_MONTH_JULIAN_LONG (integer)
CAL_MONTH_JEWISH (integer)
CAL_MONTH_FRENCH (integer)

Las siguientes constantes están disponibles desde PHP 4.3.0 :

CAL_EASTER_DEFAULT (integer)
CAL_EASTER_ROMAN (integer)
CAL_EASTER_ALWAYS_GREGORIAN (integer)
CAL_EASTER_ALWAYS_JULIAN (integer)

Las siguientes constantes están disponibles desde PHP 5.0.0 :

CAL_JEWISH_ADD_ALAFIM_GERESH (integer)
CAL_JEWISH_ADD_ALAFIM (integer)
CAL_JEWISH_ADD_GERESHAYIM (integer)
Tipos de recursos
Funciones de Calendario
Calendario


Funciones de Calendario

Tabla de contenidos

  • cal_days_in_month — Devolver el número de días de un mes para un año y un calendario dados
  • cal_from_jd — Convierte de una Fecha Juliana a un calendario soportado
  • cal_info — Devuelve información sobre un calendario en particular
  • cal_to_jd — Convertir un calendario soportado a la Fecha Juliana
  • easter_date — Obtener la fecha Unix para la medianoche de Pascua de un año dado
  • easter_days — Obtener el número de días despúes del 21 de marzo en el cuál cae Pascua para un año dado
  • FrenchToJD — Convierte una fecha desde el Calendario Republicano Francés a la Fecha Juliana
  • GregorianToJD — Convierte una fecha Gregoriana en Fecha Juliana
  • JDDayOfWeek — Devuelve el día de la semana
  • JDMonthName — Devuelve el nombre de un mes
  • JDToFrench — Convierte una Fecha Juliana al Calendario Republicano Francés
  • JDToGregorian — Convierte una Fecha Juliana en una fecha Gregoriana
  • jdtojewish — Convierte una Fecha Juliana a una fecha del Calendario Judío
  • JDToJulian — Convierte una Fecha Juliana a una fecha del Calendario Juliano
  • jdtounix — Convierte una Fecha Juliana a una fecha Unix
  • JewishToJD — Convierte una fecha del Calendario Judío a una Fecha Juliana
  • JulianToJD — Convierte una fecha del Calendario Juliano a una Fecha Juliana
  • unixtojd — Convertir una fecha Unix en una Fecha Juliana
Constantes predefinidas
cal_days_in_month
Calendario


Devolver el número de días de un mes para un año y un calendario dados

Funciones de Calendario
cal_from_jd
Funciones de Calendario
PHP Manual

cal_days_in_month

(PHP 4 >= 4.1.0, PHP 5)

cal_days_in_month — Devolver el número de días de un mes para un año y un calendario dados

Descripción

int cal_days_in_month ( int $calendar , int $month , int $year )

Esta función devolverá el número de días del mes month del año year para el calendario calendar especificado.

Parámetros

calendar

El calendario que se va a usar para el cálculo

month

El mes del calendario seleccionado

year

El año del calendario seleccionado

Valores devueltos

La duración en días del mes seleccionado en el calendario dado.

Ejemplos

Ejemplo #1 Ejemplo de cal_days_in_month()

<?php
$número = cal_days_in_month(CAL_GREGORIAN, 8, 2003); // 31
echo "Hubo $número días en agosto del 2003";
?>

Funciones de Calendario
cal_from_jd
Funciones de Calendario


Convierte de una Fecha Juliana a un calendario soportado

cal_days_in_month
cal_info
Funciones de Calendario
PHP Manual

cal_from_jd

(PHP 4 >= 4.1.0, PHP 5)

cal_from_jd — Convierte de una Fecha Juliana a un calendario soportado

Descripción

array cal_from_jd ( int $jd , int $calendar )

cal_from_jd() convierte el día juliano dado en jd a una fecha del calendario calendar. Los valores soportados por calendar son CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH y CAL_FRENCH.

Parámetros

jd

Un día juliano como un entero

calendar

El calendario al que se va a convertir

Valores devueltos

Devuelve una matriz que contiene información del calendario como el mes, día, año, día de la semana, nombres abreviados y completos del día de la semana y mes y la fecha como cadena de la forma "mes/día/año".

Ejemplos

Ejemplo #1 Ejemplo de cal_from_jd()

<?php
$hoy = unixtojd(mktime(0, 0, 0, 8, 16, 2003));
print_r(cal_from_jd($hoy, CAL_GREGORIAN));
?>

El resultado del ejemplo sería:

Array
(
    [date] => 8/16/2003
    [month] => 8
    [day] => 16
    [year] => 2003
    [dow] => 6
    [abbrevdayname] => Sat
    [dayname] => Saturday
    [abbrevmonth] => Aug
    [monthname] => August
)

Ver también

  • cal_to_jd() - Convertir un calendario soportado a la Fecha Juliana
  • jdtofrench() - Convierte una Fecha Juliana al Calendario Republicano Francés
  • jdtogregorian() - Convierte una Fecha Juliana en una fecha Gregoriana
  • jdtojewish() - Convierte una Fecha Juliana a una fecha del Calendario Judío
  • jdtojulian() - Convierte una Fecha Juliana a una fecha del Calendario Juliano
  • jdtounix() - Convierte una Fecha Juliana a una fecha Unix

cal_days_in_month
cal_info
Funciones de Calendario


Devuelve información sobre un calendario en particular

cal_from_jd
cal_to_jd
Funciones de Calendario
PHP Manual

cal_info

(PHP 4 >= 4.1.0, PHP 5)

cal_info — Devuelve información sobre un calendario en particular

Descripción

array cal_info ([ int $calendar = -1 ] )

cal_info() devuelve información sobre el calendario calendar especificado.

La información del calendario es devuelta como una matriz que contiene los elementos calname, calsymbol, month, abbrevmonth y maxdaysinmonth. Los nombre de los diferentes calendarios que se pueden usar en calendar son los siguientes:

  • 0 o CAL_GREGORIAN - Calendario Gregoriano
  • 1 o CAL_JULIAN - Calendario Juliano
  • 2 o CAL_JEWISH - Calendario Judío
  • 3 o CAL_FRENCH - Calendario Republicano Francés

Si no se especifica calendar la información de todos los calendarios soportados es devuelta como un matriz.

Parámetros

calendar

El calendario del que se va a devolver la información. Si no se especifica ningún calendario se devolverá la información sobre todos los calendarios.

Valores devueltos

Historial de cambios

Versión | Descripción
5.0.0 | El parametro calendar se volvió opcional y si se omite se devuelven "todos los calendarios".

Ejemplos

Ejemplo #1 Ejemplo de cal_info()

<?php
$info = cal_info(0);
print_r($info);
?>

El resultado del ejemplo sería:

Array
(
    [months] => Array
        (
            [1] => January
            [2] => February
            [3] => March
            [4] => April
            [5] => May
            [6] => June
            [7] => July
            [8] => August
            [9] => September
            [10] => October
            [11] => November
            [12] => December
        )

    [abbrevmonths] => Array
        (
            [1] => Jan
            [2] => Feb
            [3] => Mar
            [4] => Apr
            [5] => May
            [6] => Jun
            [7] => Jul
            [8] => Aug
            [9] => Sep
            [10] => Oct
            [11] => Nov
            [12] => Dec
        )

    [maxdaysinmonth] => 31
    [calname] => Gregorian
    [calsymbol] => CAL_GREGORIAN
)

cal_from_jd
cal_to_jd
Funciones de Calendario


Convertir un calendario soportado a la Fecha Juliana

cal_info
easter_date
Funciones de Calendario
PHP Manual

cal_to_jd

(PHP 4 >= 4.1.0, PHP 5)

cal_to_jd — Convertir un calendario soportado a la Fecha Juliana

Descripción

int cal_to_jd ( int $calendar , int $month , int $day , int $year )

cal_to_jd() calcula la Fecha Juliana para una fecha en el calendario calendar especificado. Los calendarios calendar soportados son CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH y CAL_FRENCH.

Parámetros

calendar

El calendario desde el que se va a hacer la conversión, CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH o CAL_FRENCH.

month

El mes como número, el rango válido depende de calendar

day

El día como número, el rango válido depende de calendar

year

El año como número, el rango válido depende de calendar

Valores devueltos

Un número de día de la Fecha Juliana.

Ver también

  • cal_from_jd() - Convierte de una Fecha Juliana a un calendario soportado
  • frenchtojd() - Convierte una fecha desde el Calendario Republicano Francés a la Fecha Juliana
  • gregoriantojd() - Convierte una fecha Gregoriana en Fecha Juliana
  • jewishtojd() - Convierte una fecha del Calendario Judío a una Fecha Juliana
  • juliantojd() - Convierte una fecha del Calendario Juliano a una Fecha Juliana
  • unixtojd() - Convertir una fecha Unix en una Fecha Juliana

cal_info
easter_date
Funciones de Calendario


Obtener la fecha Unix para la medianoche de Pascua de un año dado

cal_to_jd
easter_days
Funciones de Calendario
PHP Manual

easter_date

(PHP 4, PHP 5)

easter_date — Obtener la fecha Unix para la medianoche de Pascua de un año dado

Descripción

int easter_date ([ int $year ] )

Devuelve la fecha Unix correspondiente a la medianoche de Pascua del año dado.

Advertencia

Esta función generará una advertencia si el año está fuera del rango de fechas Unix (esto es, antes de 1970 o después de 2037).

La fecha del Domiongo de Pascua fue definida por el Concilio de Nicea en el año 325 D.C. como el domingo después de la primera luna llena que cae en o después del Equinocio de Primavera. El equinocio se asume que cae en el 21 de marzo, por lo que el cálculo se reduce a determinar la fecha de la luna llena y la fecha del siguiente domingo. El algoritmo que se usa aquí fue introducido alrededor del año 532 por Dionisio el Exiguo. Bajo el Calendario Juliano (para años anteriores a 1753) se usa un simple ciclo de 19 años para rastrear las fases de la luna. Bajo el Calendario Gregoriano (para años posteriores a 1753 - concebido por Clavio y Lilio, e introducido por el papa Gregorio XIII en Octubre de 1582, e introducido en Gran Bretaña y sus colonias en Septiembre de 1752) se añadieron dos factores de corrección para hacer el ciclo más exacto.

Parámetros

year

El año como un número entre 1970 y 2037.

Valores devueltos

El Domingo de Pascua como fecha Unix.

Historial de cambios

Versión | Descripción
4.3.0 | El parámetro year es opcional y si se omite, por defecto es el año actual de acuerdo a la hora actual.

Ejemplos

Ejemplo #1 Ejemplo de easter_date()

<?php

echo date("M-d-Y", easter_date(1999));        // Apr-04-1999
echo date("M-d-Y", easter_date(2000));        // Apr-23-2000
echo date("M-d-Y", easter_date(2001));        // Apr-15-2001

?>

Notas

Nota:

easter_date() depende de las función de hora en C de su sistema en vez de usar las funciones de fecha y hora internas de PHP. Como consecuencia, easter_date() utiliza la variable de entorno TZ para determinar la zona horaria en la que debería operar, en lugar de usar la zona horaria predeterminada de PHP, la cual podría resultar en un comportamiento inesperado al usar esta función junto con otras funciones de fecha de PHP.

Como atajo, se puede usar easter_days() con DateTime y DateInterval para calcular el inico de la Semana Santa en la zona horario de su PHP como sigue:

<?php
function get_easter_datetime($año) {
    $base = new DateTime("$año-03-21");
    $días = easter_days($año);

    return $base->add(new DateInterval("P{$días}D"));
}

foreach (range(2012, 2015) as $año) {
    printf("La Semana Santa del %d cae en %s\n",
           $año,
           get_easter_datetime($año)->format('F j'));
}
?>

El resultado del ejemplo sería:

La Semana Santa del 2012 cae en April 8
La Semana Santa del 2013 cae en March 31
La Semana Santa del 2014 cae en April 20
La Semana Santa del 2015 cae en April 5

Ver también

  • easter_days() - Obtener el número de días despúes del 21 de marzo en el cuál cae Pascua para un año dado para calcular la Pascua antes de 1970 o después de 2037

cal_to_jd
easter_days
Funciones de Calendario


Obtener el número de días despúes del 21 de marzo en el cuál cae Pascua para un año dado

easter_date
FrenchToJD
Funciones de Calendario
PHP Manual

easter_days

(PHP 4, PHP 5)

easter_days — Obtener el número de días despúes del 21 de marzo en el cuál cae Pascua para un año dado

Descripción

int easter_days ([ int $year [, int $method = CAL_EASTER_DEFAULT ]] )

Obtiene el número de días despúes del 21 de marzo en el cuál cae Pascua para un año dado. Si no se especifica el año, se asume el año actual.

Esta función se puede usar en vez de easter_date() para calcular cuándo cae Pascua para años fuera del rango de fechas Unix (esto es, antes de 1970 o después de 2037).

La fecha del Domiongo de Pascua fue definida por el Concilio de Nicea en el año 325 D.C. como el domingo después de la primera luna llena que cae en o después del Equinocio de Primavera. El equinocio se asume que cae en el 21 de marzo, por lo que el cálculo se reduce a determinar la fecha de la luna llena y la fecha del siguiente domingo. El algoritmo que se usa aquí fue introducido alrededor del año 532 por Dionisio el Exiguo. Bajo el Calendario Juliano (para años anteriores a 1753) se usa un simple ciclo de 19 años para rastrear las fases de la luna. Bajo el Calendario Gregoriano (para años posteriores a 1753 - concebido por Clavio y Lilio, e introducido por el papa Gregorio XIII en Octubre de 1582, e introducido en Gran Bretaña y sus colonias en Septiembre de 1752) se añadieron dos factores de corrección para hacer el ciclo más exacto.

Parámetros

year

El año como un número positivo.

method

Permite calcular las fechas de pascua basadas en el calendario Gregoriano durante los años 1582 - 1752 cuando se establece a CAL_EASTER_ROMAN. Vea las constantes de calendario para más constantes válidas.

Valores devueltos

El número de días después del 21 de marzo en el que cae el Domingo de Pascua para el año year dado.

Historial de cambios

Versión | Descripción
4.3.0 | El parámetro year es opcional y por defecto es el año actual de acuerdo a la hora local si se omite.
4.3.0 | El parámetro method fue introducido.

Ejemplos

Ejemplo #1 Ejemplo de easter_days()

<?php

echo easter_days(1999);        // 14, esto es, 4 de abril
echo easter_days(1492);        // 32, esto es, 22 de abril
echo easter_days(1913);        //  2, esto es, 23 de marzo

?>

Ver también

  • easter_date() - Obtener la fecha Unix para la medianoche de Pascua de un año dado

easter_date
FrenchToJD
Funciones de Calendario


Convierte una fecha desde el Calendario Republicano Francés a la Fecha Juliana

easter_days
GregorianToJD
Funciones de Calendario
PHP Manual

FrenchToJD

(PHP 4, PHP 5)

FrenchToJD — Convierte una fecha desde el Calendario Republicano Francés a la Fecha Juliana

Descripción

int frenchtojd ( int $month , int $day , int $year )

Convierte una fecha desde el Calendario Republicano Francés a la Fecha Juliana.

Estas rutinas sólamente convierten fechas de los años 1 hasta 14 (fechas gregorianas desde el 22 de septiembre de 1792 hasta el 22 de septiembre de 1806). Esto cubre más que el periodo cuando el calendario estaba en uso.

Parámetros

month

El mes como un número desde 1 (para Vendémiaire) hasta 13 (para el periodo de 5-6 días al final de cada año)

day

El día como un número de 1 a 30

year

El año como un número entre 1 y 14

Valores devueltos

La Fecha Jjuliana para la fecha de la Revolución Francesa dada como un entero.

Ver también

  • jdtofrench() - Convierte una Fecha Juliana al Calendario Republicano Francés
  • cal_to_jd() - Convertir un calendario soportado a la Fecha Juliana

easter_days
GregorianToJD
Funciones de Calendario


Convierte una fecha Gregoriana en Fecha Juliana

FrenchToJD
JDDayOfWeek
Funciones de Calendario
PHP Manual

GregorianToJD

(PHP 4, PHP 5)

GregorianToJD — Convierte una fecha Gregoriana en Fecha Juliana

Descripción

int gregoriantojd ( int $month , int $day , int $year )

El rango válido para el Calendario Gregoriano es de 4714 A.C. a 9999 D.C.

Aunque esta función puede manejar fechas que se remontan hasta 4714 A.C., tal uso puede no ser significativo. El calendario Gregoriano no fue establecido hasta el 15 de octubre de 1582 (o 5 de octubre de 1582 el el calendario Juliano). Algunos países no lo aceptaron hasta mucho más tarde. Por ejemplo, Gran Bretaña lo adoptó en 1752, la URSS en 1918 y Grecia en 1923. La mayoría de los países europeos usaban el calendario Juliano antes del Gregoriano.

Parámetros

month

El mes como un número desde 1 (para enero) hasta 12 (para diciembre)

day

El día como un número desde 1 a 31

year

El año como un número entre -4714 y 9999

Valores devueltos

La Fecha Juliana para la fecha gregoriana dada como un entero.

Ejemplos

Ejemplo #1 Funciones de calendario

<?php
$jd = GregorianToJD(10, 11, 1970);
echo "$jd\n";
$gregoriano = JDToGregorian($jd);
echo "$gregoriano\n";
?>

Ver también

  • jdtogregorian() - Convierte una Fecha Juliana en una fecha Gregoriana
  • cal_to_jd() - Convertir un calendario soportado a la Fecha Juliana

FrenchToJD
JDDayOfWeek
Funciones de Calendario


Devuelve el día de la semana

GregorianToJD
JDMonthName
Funciones de Calendario
PHP Manual

JDDayOfWeek

(PHP 4, PHP 5)

JDDayOfWeek — Devuelve el día de la semana

Descripción

mixed jddayofweek ( int $julianday [, int $mode = CAL_DOW_DAYNO ] )

Devuelve el día de la semana. Puede devolver una cadena o un entero dependiendo del modo.

Parámetros

julianday

Un número de día juliano como un entero

mode
Modos de semana de calendario
Modo | Significado
0 (Por defecto) | Devuelve el número de día como un entero (0=domingo, 1=lunes, etc.)
1 | Devuelve una cadena que contiene el día de la semana (Inglés-Gregoriano)
2 | Devuelve una cadena que contiene el día de la semana abreviado (Inglés-Gregoriano)

Valores devueltos

El día de la semada gregoriana como un entero o cadena.

GregorianToJD
JDMonthName
Funciones de Calendario


Devuelve el nombre de un mes

JDDayOfWeek
JDToFrench
Funciones de Calendario
PHP Manual

JDMonthName

(PHP 4, PHP 5)

JDMonthName — Devuelve el nombre de un mes

Descripción

string jdmonthname ( int $julianday , int $mode )

Devuelve una cadena que contiene el nombre del mes. mode le indica a esta función a qué calendario va a ser convertido la Fecha Juliana, y qué tipo de nombres de meses son devueltos.

Calendar modes
Modo | Significado | Valores
0 | Gregoriano - abreviado | Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
1 | Gregoriano | January, February, March, April, May, June, July, August, September, October, November, December
2 | Juliano - abreviado | Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
3 | Juliano | January, February, March, April, May, June, July, August, September, October, November, December
4 | Judío | Tishri, Heshvan, Kislev, Tevet, Shevat, AdarI, AdarII, Nisan, Iyyar, Sivan, Tammuz, Av, Elul
5 | Republicano Francés | Vendemiaire, Brumaire, Frimaire, Nivose, Pluviose, Ventose, Germinal, Floreal, Prairial, Messidor, Thermidor, Fructidor, Extra

Parámetros

jday

La Fecha Juliana que se va a manejar

calendar

El calendario del que se va a tomar el nombre del mes

Valores devueltos

El nombre del mes de la Fecha Juliana y del calendario calendar dados.

JDDayOfWeek
JDToFrench
Funciones de Calendario


Convierte una Fecha Juliana al Calendario Republicano Francés

JDMonthName
JDToGregorian
Funciones de Calendario
PHP Manual

JDToFrench

(PHP 4, PHP 5)

JDToFrench — Convierte una Fecha Juliana al Calendario Republicano Francés

Descripción

string jdtofrench ( int $juliandaycount )

Convierte una Fecha Juliana al Calendario Republicano Francés.

Parámetros

julianday

Una número de día juliano como un entero

Valores devueltos

La fecha de la Revolución Francesa como una cadena de la forma "mes/día/año"

Ver también

  • frenchtojd() - Convierte una fecha desde el Calendario Republicano Francés a la Fecha Juliana
  • cal_from_jd() - Convierte de una Fecha Juliana a un calendario soportado

JDMonthName
JDToGregorian
Funciones de Calendario


Convierte una Fecha Juliana en una fecha Gregoriana

JDToFrench
jdtojewish
Funciones de Calendario
PHP Manual

JDToGregorian

(PHP 4, PHP 5)

JDToGregorian — Convierte una Fecha Juliana en una fecha Gregoriana

Descripción

string jdtogregorian ( int $julianday )

Convierte una Fecha Juliana a una cadena que contiene la fecha Gregoriana con el formato "mes/día/año".

Parámetros

julianday

Un número de día juliano como un entero

Valores devueltos

La fecha gregoriana como una cadena de la forma "mes/día/año"

Ver también

  • gregoriantojd() - Convierte una fecha Gregoriana en Fecha Juliana
  • cal_from_jd() - Convierte de una Fecha Juliana a un calendario soportado

JDToFrench
jdtojewish
Funciones de Calendario


Convierte una Fecha Juliana a una fecha del Calendario Judío

JDToGregorian
JDToJulian
Funciones de Calendario
PHP Manual

jdtojewish

(PHP 4, PHP 5)

jdtojewish — Convierte una Fecha Juliana a una fecha del Calendario Judío

Descripción

string jdtojewish ( int $juliandaycount [, bool $hebrew = false [, int $fl = 0 ]] )

Convierte una Fecha Juliana al Calendario Judío.

Parámetros

julianday

Un número de día juliano como un entero

hebrew

Si el parámetro hebrew está establecido a TRUE, el parámetro fl se usa para el formato de salida, basado en cadena, Hebreo.

fl

Los formatos disponibles son: CAL_JEWISH_ADD_ALAFIM_GERESH, CAL_JEWISH_ADD_ALAFIM, CAL_JEWISH_ADD_GERESHAYIM.

Valores devueltos

La fecha judía como una cadena de la forma "mes/día/año"

Historial de cambios

Versión | Descripción
5.0.0 | Se añadió el parámetro fl.
4.3.0 | Se añadió el parámetro hebrew.

Ejemplos

Ejemplo #1 Ejemplo de jdtojewish()

<?php
echo jdtojewish(gregoriantojd(10, 8, 2002), true,
       CAL_JEWISH_ADD_GERESHAYIM + CAL_JEWISH_ADD_ALAFIM + CAL_JEWISH_ADD_ALAFIM_GERESH);
?>

Ver también

  • jewishtojd() - Convierte una fecha del Calendario Judío a una Fecha Juliana
  • cal_from_jd() - Convierte de una Fecha Juliana a un calendario soportado

JDToGregorian
JDToJulian
Funciones de Calendario


Convierte una Fecha Juliana a una fecha del Calendario Juliano

jdtojewish
jdtounix
Funciones de Calendario
PHP Manual

JDToJulian

(PHP 4, PHP 5)

JDToJulian — Convierte una Fecha Juliana a una fecha del Calendario Juliano

Descripción

string jdtojulian ( int $julianday )

Convierte una Fecha Juliana a una cadena que contiene la fecha del Calendario Juliano con el formato "mes/día/año".

Parámetros

julianday

Un número de día juliano como un entero

Valores devueltos

La fecha del calendario juliano como una cadena de la forma "mes/día/año"

Ver también

  • juliantojd() - Convierte una fecha del Calendario Juliano a una Fecha Juliana
  • cal_from_jd() - Convierte de una Fecha Juliana a un calendario soportado

jdtojewish
jdtounix
Funciones de Calendario


Convierte una Fecha Juliana a una fecha Unix

JDToJulian
JewishToJD
Funciones de Calendario
PHP Manual

jdtounix

(PHP 4, PHP 5)

jdtounix — Convierte una Fecha Juliana a una fecha Unix

Descripción

int jdtounix ( int $jday )

Esta funcion devolverá una fecha Unix correspondiente a la Fecha Juliana dada en jday o FALSE si jday no está dentro de la época Unix (años gregorianos entre 1970 y 2037 o 2440588 <= jday <= 2465342 ). El momento devuleto es como hora local (y no GMT).

Parámetros

jday

Un número de día juliano entre 2440588 y 2465342.

Valores devueltos

La fecha Unix para el comienzo de la Fecha Juliana dada.

Ver también

  • unixtojd() - Convertir una fecha Unix en una Fecha Juliana

JDToJulian
JewishToJD
Funciones de Calendario


Convierte una fecha del Calendario Judío a una Fecha Juliana

jdtounix
JulianToJD
Funciones de Calendario
PHP Manual

JewishToJD

(PHP 4, PHP 5)

JewishToJD — Convierte una fecha del Calendario Judío a una Fecha Juliana

Descripción

int jewishtojd ( int $month , int $day , int $year )

Aunque esta función puede manejar fechas que se remontan hasta el año 1 (3761 A.C.), tal uso puede no ser significativo. El calendario judío ha estado en uso desde varios cientos de años, pero en los primeros días no había una fórmula para determinar el inicio del un mes. Un nuevo mes comenzaba cuando se observaba la primera luna nueva.

Parámetros

month

El mes como un número de 1 a 13

day

El día como un número de 1 a 30

year

El año como un número entre 1 y 9999

Valores devueltos

La Fecha Juliana para la fecha judía dada como un entero.

Ver también

  • jdtojewish() - Convierte una Fecha Juliana a una fecha del Calendario Judío
  • cal_to_jd() - Convertir un calendario soportado a la Fecha Juliana

jdtounix
JulianToJD
Funciones de Calendario


Convierte una fecha del Calendario Juliano a una Fecha Juliana

JewishToJD
unixtojd
Funciones de Calendario
PHP Manual

JulianToJD

(PHP 4, PHP 5)

JulianToJD — Convierte una fecha del Calendario Juliano a una Fecha Juliana

Descripción

int juliantojd ( int $month , int $day , int $year )

El rango válido para el Calendario Juliano es desde 4713 A.C. a 9999 D.C.

Aunque esta función puede manejar fechas que se remontan hasta 4713 A.C., tal uso puede no ser significativo. El calendario fue creado en el 46 A.C., pero los detalles no se estabilizaron hasta al menos el 8 D.C., y quizás hasta el siglo IV tardío. También, el comienzo de un año variaba de una cultura a otra - no todas aceptaron enero como el primer mes.

Precaución

Recuerde, el sistema de calendario actual que se usa mundialmente es el Calendario Gregoriano. gregoriantojd() se puede usar para convertir tales fechas a sus Fechas Julianas.

Parámetros

month

El mes como un número de 1 (para enero) a 12 (para diecienbre)

day

El día como un número de 1 a 31

year

El año como un número entre -4713 y 9999

Valores devueltos

La Fecha Juliana para la fecha del Calendario Juliano dado como un entero.

Ver también

  • jdtojulian() - Convierte una Fecha Juliana a una fecha del Calendario Juliano
  • cal_to_jd() - Convertir un calendario soportado a la Fecha Juliana

JewishToJD
unixtojd
Funciones de Calendario


Convertir una fecha Unix en una Fecha Juliana

JulianToJD
Fecha/Hora
Funciones de Calendario
PHP Manual

unixtojd

(PHP 4, PHP 5)

unixtojd — Convertir una fecha Unix en una Fecha Juliana

Descripción

int unixtojd ([ int $timestamp = time() ] )

Devuelve la Fecha Juliana para la fecha timestamp Unix (segundos desde 1.1.1970), o el día actual si timestamp no es dado.

Parámetros

timestamp

Una fecha unix a convertir.

Valores devueltos

Un número de día juliano como un entero.

Ver también

  • jdtounix() - Convierte una Fecha Juliana a una fecha Unix

JulianToJD
Fecha/Hora
Funciones de Calendario


Fecha y Hora

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • DateTime — La clase DateTime
    • DateTime::add — Añade una cantidad de días, meses, años, horas, minutos y segundos al objeto DateTime
    • DateTime::__construct — Devuelve un nuevo objeto DateTime
    • DateTime::createFromFormat — Devuelve un nuevo objeto DateTime formateado según el formato especificado
    • DateTime::getLastErrors — Devuelve las advertencias y los errores
    • DateTime::modify — Altera la marca de tiempo
    • DateTime::__set_state — El gestor __set_state
    • DateTime::setDate — Establece la fecha
    • DateTime::setISODate — Establece la fecha ISO
    • DateTime::setTime — Establece la hora
    • DateTime::setTimestamp — Establece la fecha y la hora basadas en una fecha Unix
    • DateTime::setTimezone — Establece la zona horaria para el objeto DateTime
    • DateTime::sub — Sustrae una cantidad de días, meses, años, horas, minutos y segundos de un objeto DateTime
  • DateTimeImmutable — La clase DateTimeImmutable
    • DateTimeImmutable::add — Añade una cantidad de días, meses, años, horas, minutos y segundos
    • DateTimeImmutable::__construct — Devuelve un nuevo objeto DateTimeImmutable
    • DateTimeImmutable::createFromFormat — Devuelve un nuevo objeto DateTimeImmutable formateado según el formato especificado
    • DateTimeImmutable::getLastErrors — Devuelve las advertencias y errores
    • DateTimeImmutable::modify — Altera la marca de tiempo
    • DateTimeImmutable::__set_state — El gestor __set_state
    • DateTimeImmutable::setDate — Establece la fecha
    • DateTimeImmutable::setISODate — Establece la fecha ISO
    • DateTimeImmutable::setTime — Establece la hora
    • DateTimeImmutable::setTimestamp — Establece la fecha y hora basadas en una marca de tiempo Unix
    • DateTimeImmutable::setTimezone — Establece la zona horaria
    • DateTimeImmutable::sub — Sustrae una cantidad de días, meses, años, horas, minutos y segundos
  • DateTimeInterface — La interfaz DateTimeInterface
    • DateTime::diff — Devuelve la diferencia entre dos objetos DateTime
    • DateTime::format — Devuelve la fecha formateada según el formato dado
    • DateTime::getOffset — Devuelve el índice de la zona horaria
    • DateTime::getTimestamp — Obtiene la marca de tiempo Unix
    • DateTime::getTimezone — Develve la zona horaria relativa al objeto DateTime dado
    • DateTime::__wakeup — El gestor __wakeup
  • DateTimeZone — La clase DateTimeZone
    • DateTimeZone::__construct — Crea un nuevo objeto DateTimeZone
    • DateTimeZone::getLocation — Devuelve la información de la ubicación para una zona horaria
    • DateTimeZone::getName — Devuelve el nombre de la zona horaria
    • DateTimeZone::getOffset — Devuelve el índice de la zona horaria de GMT
    • DateTimeZone::getTransitions — Devuelve todas las transiciones para una zona horaria
    • DateTimeZone::listAbbreviations — Devuelve una matriz asociativa que contiene el horario de verano (dst), el índice y el nombre de la zona horaria
    • DateTimeZone::listIdentifiers — Devuelve un array indexado numéricamente que contiene todos los identificadores de zonas horarias definidos
  • DateInterval — La clase DateInterval
    • DateInterval::__construct — Crea un nuevo objeto DateInterval
    • DateInterval::createFromDateString — Establece un objeto DateInterval desde las partes relativas de una cadena
    • DateInterval::format — Formatea el intervalo
  • DatePeriod — La clase DatePeriod
    • DatePeriod::__construct — Crea un nuevo objeto DatePeriod
  • Funciones de Fecha/Hora
    • checkdate — Validar una fecha gregoriana
    • date_add — Alias de DateTime::add
    • date_create_from_format — Alias de DateTime::createFromFormat
    • date_create_immutable_from_format — Alias de DateTimeImmutable::createFromFormat
    • date_create_immutable — Alias de DateTimeImmutable::__construct
    • date_create — Alias de DateTime::__construct
    • date_date_set — Alias de DateTime::setDate
    • date_default_timezone_get — Obtiene la zona horaria predeterminada usada por todas las funciones de fecha/hora en un script
    • date_default_timezone_set — Establece la zona horaria predeterminada usada por todas las funciones de fecha/hora en un script
    • date_diff — Alias de DateTime::diff
    • date_format — Alias de DateTime::format
    • date_get_last_errors — Alias de DateTime::getLastErrors
    • date_interval_create_from_date_string — Alias de DateInterval::createFromDateString
    • date_interval_format — Alias de DateInterval::format
    • date_isodate_set — Alias de DateTime::setISODate
    • date_modify — Alias de DateTime::modify
    • date_offset_get — Alias de DateTime::getOffset
    • date_parse_from_format — Obtiene información de una fecha dada formateada de acuerdo al formato especificado
    • date_parse — Devuelve una matriz asociativa con información detallada acerca de una fecha dada
    • date_sub — Alias de DateTime::sub
    • date_sun_info — Devuelve una matriz con información sobre la puesta/salida del sol y el comienzo/final del crepúsculo
    • date_sunrise — Devuelve la hora de la salida del sol de un día y ubicación dados
    • date_sunset — Devuelve la hora de la puesta de sol de un día y ubicación dados
    • date_time_set — Alias de DateTime::setTime
    • date_timestamp_get — Alias de DateTime::getTimestamp
    • date_timestamp_set — Alias de DateTime::setTimestamp
    • date_timezone_get — Alias de DateTime::getTimezone
    • date_timezone_set — Alias de DateTime::setTimezone
    • date — Dar formato a la fecha/hora local
    • getdate — Obtener información de la fecha/hora
    • gettimeofday — Obtener la hora actual
    • gmdate — Formatea una fecha/hora GMT/UTC
    • gmmktime — Obtener la marca de tiempo Unix para una fecha GMT
    • gmstrftime — Formatear una fecha/hora GMT/UTC según la configuración regional
    • idate — Formatea una fecha/hora local como un entero
    • localtime — Obtiene fecha y hora local
    • microtime — Devuelve la fecha Unix actual con microsegundos
    • mktime — Obtener la marca de tiempo Unix de una fecha
    • strftime — Formatea una fecha/hora local según la configuración regional
    • strptime — Analiza una fecha/hora generada con strftime
    • strtotime — Convierte una descripción de fecha/hora textual en Inglés a una fecha Unix
    • time — Devuelve la fecha Unix actual
    • timezone_abbreviations_list — Alias de DateTimeZone::listAbbreviations
    • timezone_identifiers_list — Alias de DateTimeZone::listIdentifiers
    • timezone_location_get — Alias de DateTimeZone::getLocation
    • timezone_name_from_abbr — Devuelve el nombre de la zona horaria desde su abreviatura
    • timezone_name_get — Alias de DateTimeZone::getName
    • timezone_offset_get — Alias de DateTimeZone::getOffset
    • timezone_open — Alias de DateTimeZone::__construct
    • timezone_transitions_get — Alias de DateTimeZone::getTransitions
    • timezone_version_get — Obtiene la versión de la base de datos timezonedb
  • Formatos de Fecha y Hora soportados
    • Formatos de Hora
    • Formatos de Fecha
    • Formatos Compuestos
    • Formatos Relativos
  • Listado de zonas horarias soportadas
    • África
    • América
    • Antártida
    • Ártico
    • Asia
    • Atlántico
    • Australia
    • Europa
    • India
    • Pacífico
    • Otros
unixtojd
Introducción
Extensiones relacionadas con fecha y hora


Introducción

Estas funciones permiten obtener la fecha y la hora del servidor donde se están ejecutando los scripts PHP. Se pueden usar estas funciones parar dar formato a fechas y horas de muchas maneras diferentes.

La información de la fecha y de la hora se almacena internamente como un número de 64 bits, por lo que se admiten todas las fechas útiles posibles (incluidos años negativos). El rango va aproximadamente de 292 billones de años en el pasado hasata lo mismo en el futuro.

Nota: Por favor, tenga en cuenta que estas funciones dependen de los ajustes de la configuración regional del servidor. Asegúrese de tomar en consideración el horario de verano (use, p.ej., $fecha = strtotime('+7 days', $fecha) y no $fecha += 7*24*60*60) y los años bisiestos cuando trabaje con estas funciones.

Nota: Las zonas horarias a las que se refiere esta sección pueden encontrarse en el Listado de zonas horarias soportadas.

Fecha/Hora
Instalación/Configuración
Fecha/Hora


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Fecha/Hora


Instalación

No se requiere de ninguna instalación para utilizar estas funciones; forman parte del núcleo de PHP.

Nota: Obtener la última base de datos de zonas horarias

La última versión de la base de datos de zona horaria se puede instalar mediante la base de datos » timezonedb de PECL.

Nota: Soporte experimental para DateTime en PHP 5.1.x

Aunque la clase DateTime (y sus funciones relacionadas) están habilitadas por defecto desde PHP 5.2.0, es posible añadir soporte experimental en PHP 5.1.x usando la siguiente bandera antes de configurar/compilar: CFLAGS=-DEXPERIMENTAL_DATE_SUPPORT=1

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de Configuración de Fecha/Hora
Nombre | Por defecto | Cambiable | Historial de cambios
date.default_latitude | "31.7667" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
date.default_longitude | "35.2333" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
date.sunrise_zenith | "90.583333" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
date.sunset_zenith | "90.583333" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
date.timezone | "" | PHP_INI_ALL | Disponible desde PHP 5.1.0.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

date.default_latitude float

La latitud predeterminada.

date.default_longitude float

La longitud predeterminada.

date.sunrise_zenith float

El cénit de la salida del sol predeterminado.

date.sunset_zenith float

El cénit de la puesta de sol predeterminado.

date.timezone string

La zona horaria predeterminada usada por todas funciones date/time. Antes de PHP 5.4.0, esto sólo funciona si la variable de entorno TZ no se ha establecido. El orden de prioridad para la zona horaria que se utiliza cuando no se establece explícitamente se describe en la función date_default_timezone_get() Vea Listado de zonas horarias soportadas para una lista de las zonas horarias soportadas.

Nota: Las cuatro primeras opciones de configuración son sólo usadas actualmente por date_sunrise() y date_sunset().

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Las contantes DATE_ están definidas desde PHP 5.1.1 y ofrecen representaciones de fecha estándar, que pueden ser usadas por las funciones de formato de fecha (como date()).

Las siguientes constantes existen desde PHP 5.1.2 y especifican un formato devuelto por las funciones date_sunrise() y date_sunset().

SUNFUNCS_RET_TIMESTAMP (integer)
Marca de tiempo (timestamp)
SUNFUNCS_RET_STRING (integer)
Horas:minutos (ejemplo: 08:02)
SUNFUNCS_RET_DOUBLE (integer)
Horas como número de coma flotante (ejemplo 8.75)
Tipos de recursos
DateTime
Fecha/Hora


Constantes predefinidas
DateTime::add
Fecha/Hora
PHP Manual

La clase DateTime

(PHP 5 >= 5.2.0)

Introducción

Representación de la fecha y la hora.

Sinopsis de la Clase

DateTime implements DateTimeInterface {
/* Constantes */
const string ATOM = "Y-m-d\TH:i:sP" ;
const string COOKIE = "l, d-M-y H:i:s T" ;
const string ISO8601 = "Y-m-d\TH:i:sO" ;
const string RFC822 = "D, d M y H:i:s O" ;
const string RFC850 = "l, d-M-y H:i:s T" ;
const string RFC1036 = "D, d M y H:i:s O" ;
const string RFC1123 = "D, d M Y H:i:s O" ;
const string RFC2822 = "D, d M Y H:i:s O" ;
const string RFC3339 = "Y-m-d\TH:i:sP" ;
const string RSS = "D, d M Y H:i:s O" ;
const string W3C = "Y-m-d\TH:i:sP" ;
/* Métodos */
public __construct ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )
public DateTime add ( DateInterval $interval )
public static DateTime createFromFormat ( string $format , string $time [, DateTimeZone $timezone ] )
public static array getLastErrors ( void )
public DateTime modify ( string $modify )
public static DateTime __set_state ( array $array )
public DateTime setDate ( int $year , int $month , int $day )
public DateTime setISODate ( int $year , int $week [, int $day = 1 ] )
public DateTime setTime ( int $hour , int $minute [, int $second = 0 ] )
public DateTime setTimestamp ( int $unixtimestamp )
public DateTime setTimezone ( DateTimeZone $timezone )
public DateTime sub ( DateInterval $interval )
public DateInterval diff ( DateTimeInterface $datetime2 [, bool $absolute = false ] )
public string format ( string $format )
public int getOffset ( void )
public int getTimestamp ( void )
public DateTimeZone getTimezone ( void )
public __wakeup ( void )
}

Constantes predefinidas

DateTime::ATOM
DATE_ATOM
Atom (ejemplo: 2005-08-15T15:52:01+00:00)
DateTime::COOKIE
DATE_COOKIE
HTTP Cookies (ejemplo: Monday, 15-Aug-05 15:52:01 UTC)
DateTime::ISO8601
DATE_ISO8601
ISO-8601 (ejemplo: 2005-08-15T15:52:01+0000)
DateTime::RFC822
DATE_RFC822
RFC 822 (ejemplo: Mon, 15 Aug 05 15:52:01 +0000)
DateTime::RFC850
DATE_RFC850
RFC 850 (ejemplo: Monday, 15-Aug-05 15:52:01 UTC)
DateTime::RFC1036
DATE_RFC1036
RFC 1036 (ejemplo: Mon, 15 Aug 05 15:52:01 +0000)
DateTime::RFC1123
DATE_RFC1123
RFC 1123 (ejemplo: Mon, 15 Aug 2005 15:52:01 +0000)
DateTime::RFC2822
DATE_RFC2822
RFC 2822 (Mon, 15 Aug 2005 15:52:01 +0000)
DateTime::RFC3339
DATE_RFC3339
Lo mismo que DATE_ATOM (desde PHP 5.1.3)
DateTime::RSS
DATE_RSS
RSS (Mon, 15 Aug 2005 15:52:01 +0000)
DateTime::W3C
DATE_W3C
World Wide Web Consortium (ejemplo: 2005-08-15T15:52:01+00:00)

Historial de cambios

Versión | Descripción
5.5.0 | La clase ahora implementa DateTimeInterface.
5.2.2 | La comparación de un objeto DateTime con los operadores de comparación se cambió para que funcionara como se esperaba. Anteriormente, todos los objetos DateTime eran considerados iguales (usando ==).

Tabla de contenidos

  • DateTime::add — Añade una cantidad de días, meses, años, horas, minutos y segundos al objeto DateTime
  • DateTime::__construct — Devuelve un nuevo objeto DateTime
  • DateTime::createFromFormat — Devuelve un nuevo objeto DateTime formateado según el formato especificado
  • DateTime::getLastErrors — Devuelve las advertencias y los errores
  • DateTime::modify — Altera la marca de tiempo
  • DateTime::__set_state — El gestor __set_state
  • DateTime::setDate — Establece la fecha
  • DateTime::setISODate — Establece la fecha ISO
  • DateTime::setTime — Establece la hora
  • DateTime::setTimestamp — Establece la fecha y la hora basadas en una fecha Unix
  • DateTime::setTimezone — Establece la zona horaria para el objeto DateTime
  • DateTime::sub — Sustrae una cantidad de días, meses, años, horas, minutos y segundos de un objeto DateTime
Constantes predefinidas
DateTime::add
Fecha/Hora


Añade una cantidad de días, meses, años, horas, minutos y segundos al objeto DateTime

DateTime
DateTime::__construct
DateTime
PHP Manual

DateTime::add

date_add

(PHP 5 >= 5.3.0)

DateTime::add -- date_add — Añade una cantidad de días, meses, años, horas, minutos y segundos al objeto DateTime

Descripción

Estilo orientado a objetos

public DateTime DateTime::add ( DateInterval $interval )

Estilo por procedimientos

DateTime date_add ( DateTime $object , DateInterval $interval )

Añade el objeto DateInterval especificado al objeto DateTime especificado.

Parámetros

object

Estilo por procesos solamente: Un objeto DateTime devuelto por date_create(). La función modifica este objeto.

interval

Un objeto DateInterval

Valores devueltos

Devuelve el objecto DateTime por el método encadenado o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de DateTime::add()

Estilo orientado a objetos

<?php
$fecha = new DateTime('2000-01-01');
$fecha->add(new DateInterval('P10D'));
echo $fecha->format('Y-m-d') . "\n";
?>

Estilo por procedimientos

<?php
$fecha = date_create('2000-01-01');
date_add($fecha, date_interval_create_from_date_string('10 days'));
echo date_format($fecha, 'Y-m-d');
?>

El resultado de los ejemplos serían:

2000-01-11

Ejemplo #2 Más ejemplos de DateTime::add()

<?php
$fecha= new DateTime('2000-01-01');
$fecha->add(new DateInterval('PT10H30S'));
echo $date->format('Y-m-d H:i:s') . "\n";

$fecha = new DateTime('2000-01-01');
$fecha->add(new DateInterval('P7Y5M4DT4H3M2S'));
echo $fecha->format('Y-m-d H:i:s') . "\n";
?>

El resultado del ejemplo sería:

2000-01-01 10:00:30
2007-06-05 04:03:02

Ejemplo #3 Cuidado al añadir meses

<?php
$fecha = new DateTime('2000-12-31');
$intervalo = new DateInterval('P1M');

$fecha->add($intervalo);
echo $fecha->format('Y-m-d') . "\n";

$fecha->add($intervalo);
echo $fecha->format('Y-m-d') . "\n";
?>

El resultado del ejemplo sería:

2001-01-31
2001-03-03

Notas

DateTime::modify() es una alternativa cuando se usa PHP 5.2.

Ver también

  • DateTime::sub() - Sustrae una cantidad de días, meses, años, horas, minutos y segundos de un objeto DateTime
  • DateTime::diff() - Devuelve la diferencia entre dos objetos DateTime
  • DateTime::modify() - Altera la marca de tiempo
DateTime
DateTime::__construct
DateTime


Devuelve un nuevo objeto DateTime

DateTime::add
DateTime::createFromFormat
DateTime
PHP Manual

DateTime::__construct

date_create

(PHP 5 >= 5.2.0)

DateTime::__construct -- date_create — Devuelve un nuevo objeto DateTime

Descripción

Estilo orientado a objetos

public DateTime::__construct() ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )

Estilo por procedimientos

DateTime date_create ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )

Devuelve un nuevo objeto DateTime.

Parámetros

time

Una cadena de fecha/hora. Los formatos válidos son explicados en Formatos de fecha y hora.

Introduzca NULL aquí para obtener el instante actual cuando se use el parámetro $timezone.

timezone

Un objeto DateTimeZone que representa la zona horaria de $time.

Si se omite $timezone, se usará la zona horaria actual.

Nota:

El parámetro $timezone y la zona horaria actuales se ignoran cuando el parámetro $time es una fecha UNIX (p.ej. @946684800) o especifica una zona horaria (p.ej. 2010-01-28T15:00:00+02:00).

Valores devueltos

Devuelve una nueva instancia de DateTime. Estilo por procedimientos devuelve FALSE en caso de error.

Errores/Excepciones

Emite una Exception en caso de error.

Historial de cambios

Versión | Descripción
5.3.0 | Si time contiene un formato de fecha/hora no válido, se laznará una excepción. Anterior mente se emitía un error.

Ejemplos

Ejemplo #1 Ejemplo de DateTime::__construct()

Estilo orientado a objetos

<?php
try {
    $fecha = new DateTime('2000-01-01');
} catch (Exception $e) {
    echo $e->getMessage();
    exit(1);
}

echo $fecha->format('Y-m-d');
?>

Estilo por procedimientos

<?php
$fecha = date_create('2000-01-01');
if (!$fecha) {
    $e = date_get_last_errors();
    foreach ($e['errors'] as $error) {
        echo "$error\n";
    }
    exit(1);
}

echo date_format($fecha, 'Y-m-d');
?>

El resultado de los ejemplos serían:

2000-01-01

Ejemplo #2 Complejidades de DateTime::__construct()

<?php
// Fecha/hora especificadas en la zona horaria de su ordenador.
$fecha = new DateTime('2000-01-01');
echo $fecha->format('Y-m-d H:i:sP') . "\n";

// Fecha/hora especificadas en la zona horaria especificada.
$fecha = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo $fecha->format('Y-m-d H:i:sP') . "\n";

// Fecha/hora actuales en la zona horaria de su ordenador.
$fecha = new DateTime();
echo $fecha->format('Y-m-d H:i:sP') . "\n";

// Fecha/hora actuales en la zona horaria especificada.
$fecha = new DateTime(null, new DateTimeZone('Pacific/Nauru'));
echo $fecha->format('Y-m-d H:i:sP') . "\n";

// Usar una fecha UNIX. Observe que el resultado está en la zona horaria UTC.
$fecha = new DateTime('@946684800');
echo $fecha->format('Y-m-d H:i:sP') . "\n";

// Desbordamiento de valores no existentes.
$fecha = new DateTime('2000-02-30');
echo $fecha->format('Y-m-d H:i:sP') . "\n";
?>

El resultado del ejemplo sería algo similar a:

2000-01-01 00:00:00-05:00
2000-01-01 00:00:00+12:00
2010-04-24 10:24:16-04:00
2010-04-25 02:24:16+12:00
2000-01-01 00:00:00+00:00
2000-03-01 00:00:00-05:00

Ver también

  • DateTime::createFromFormat() - Devuelve un nuevo objeto DateTime formateado según el formato especificado
  • DateTimeZone::__construct() - Crea un nuevo objeto DateTimeZone
  • Formatos de Fecha y Hora
  • Configuración ini de date.timezone
  • date_default_timezone_set() - Establece la zona horaria predeterminada usada por todas las funciones de fecha/hora en un script
  • DateTime::getLastErrors() - Devuelve las advertencias y los errores
  • checkdate() - Validar una fecha gregoriana
DateTime::add
DateTime::createFromFormat
DateTime


Devuelve un nuevo objeto DateTime formateado según el formato especificado

DateTime::__construct
DateTime::getLastErrors
DateTime
PHP Manual

DateTime::createFromFormat

date_create_from_format

(PHP 5 >= 5.3.0)

DateTime::createFromFormat -- date_create_from_format — Devuelve un nuevo objeto DateTime formateado según el formato especificado

Descripción

Estilo orientado a objetos

public static DateTime DateTime::createFromFormat ( string $format , string $time [, DateTimeZone $timezone ] )

Estilo por procedimientos

DateTime date_create_from_format ( string $format , string $time [, DateTimeZone $timezone ] )

Devuelve un nuevo objeto DateTime formateado según el formato especificado.

Parámetros

format

El formato en el que debería estar lo pasado en string. Véase las opciones de formateo más abajo. En la mayoría de los casos se pueden usar las mismas letras que para date().

Los siguientes caracters son reconocidos en la cadena parámetro format
Carácter format | Descripción | Ejemplo de valores analizables
Día --- ---
d y j | Día del mes, 2 dígitos con o sin ceros iniciales | 01 a 31 o 1 a 31
D y l | Una representación textual de un día | Mon hasta Sun o Sunday hasta Saturday
S | Sufijo ordinal inglés para el día del mes, 2 caracteres. Se ignora mientras se procesa. | st, nd, rd o th.
z | El día del año (comenzando por 0) | 0 hasta 365
Mes --- ---
F y M | Una representación textual de un mes, como January o Sept | January hasta December o Jan hasta Dec
m y n | Representación numérica de un mes, con o sin ceros iniciales | 01 hasta 12 o 1 hasta 12
Año --- ---
Y | Una representación numérica completa de un año, 4 dígitos | Ejemplos: 1999 o 2003
y | Una representación de dos dígitos de un año | Ejemplos: 99 o 03
Hora --- ---
a y A | Ante meridiem y Post meridiem | am o pm
g y h | Formato de 12 horas de una hora con o sin ceros iniciales | 1 hasta 12 o 01 hasta 12
G y H | Formato de 24 horas de una hora con o sin ceros iniciales | 0 hasta 23 o 00 hasta 23
i | Minutos con ceros iniciales | 00 a 59
s | Segundos, con ceros iniciales | 00 hasta 59
u | Microsegundos (hasta seis dígitos) | Ejemplo: 45, 654321
Zona Horaria --- ---
e, O, P y T | Identificador de zona horaria, o diferencia con UTC en horas, o diferencia con UTC con dos puntos entre horas y minutos, o abreviatura de la zona horaria | Ejemplos: UTC, GMT, Atlantic/Azores o +0200 o +02:00 o EST, MDT
Fecha/Hora Completas --- ---
U | Segundos desde la Época Unix (January 1 1970 00:00:00 GMT) | Ejemplo: 1292177455
Espacios en Blanco y Separadores --- ---
(espacio) | Un espacio o una tabulación | Ejemplo:
# Uno de los siguientes símbolos de separación: ;, :, /, ., ,, -, ( o ) Ejemplo: /
;, :, /, ., ,, -, ( or ) | El carácter especificado. | Ejemplo: -
? Un byte aleatorio Ejemplo: ^ (Sea consciente de que para los caracteres UTF-8 debería necesitar más de un ?. En este caso es probable que quiera usar * en su lugar)
* Bytes aleatorios hasta el siguiente separador o dígito Ejemplo: * en Y-*-d con la cadena 2009-aWord-08 coincidirá con aWord
! Reinicia todos los campos (año, mes, día, hora, minuto, segundo, fracción e información de la zona horaria) a la Época Unix Sin !, todos los campos serán establecidos a la fecha y hora actuales.
| Reinicia todos los campos (año, mes, día, hora, minuto, segundo, fracción e información de la zona horaria) a la Época Unix si no han sido ya analizados Y-m-d| establecerá el año, mes y día a la información encontrada en la cadena a analizar, y establece la hora, minutos y segundos a 0.
+ Si este especificador de formato está presente, la información sobrante de la cadena no causará un error, pero sí una advertencia en su lugar Use DateTime::getLastErrors() para averiguar si está presente información sobrante.

Los caracteres no reconocidos en la cadena de formato causarán el fallo del análisis y se añadirá un mensaje de error a la esctructura devuelta. Puede consultar los mensajes de error con DateTime::getLastErrors().

Si format no contiene el carácter !, las partes del momento generado que no estén especificadas en format serán establecidas al momento actual del sistema.

Si format contiene el carácter !, las partes del momento generadas no proporcionadas en format, así como los valores más a la izquierda de !, serán establecidos a los valores correspondientes de la época Unix.

La época Unix es 1970-01-01 00:00:00 UTC.

time

Una cadena que representa la hora.

timezone

Un objeto DateTimeZone que representa la zona horaria deseada.

Si se omite timezone y time no contiene ninguna zona horaria, se usará la zona horaria actual.

Nota:

El parámetro timezone y la zona horaria actual son ignoradas cuando el parámetro time contiene una marca de tiempo UNIX (p.ej. 946684800) o especifica una zona horaria (p.ej. 2010-01-28T15:00:00+02:00).

Valores devueltos

Devuelve una nueva instancia de DateTime o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de DateTime::createFromFormat()

Estilo orientado a objetos

<?php
$fecha = DateTime::createFromFormat('j-M-Y', '15-Feb-2009');
echo $fecha->format('Y-m-d');
?>

Estilo por procedimientos

<?php
$fecha = date_create_from_format('j-M-Y', '15-Feb-2009');
echo date_format($fecha, 'Y-m-d');
?>

El resultado de los ejemplos serían:

2009-02-15

Ejemplo #2 Complejidades de DateTime::createFromFormat()

<?php
echo 'Momento actual: ' . date('Y-m-d H:i:s') . "\n";

$formato = 'Y-m-d';
$fecha = DateTime::createFromFormat($formato, '2009-02-15');
echo "Formato: $formato; " . $fecha->format('Y-m-d H:i:s') . "\n";

$formato = 'Y-m-d H:i:s';
$fecha = DateTime::createFromFormat($formato, '2009-02-15 15:16:17');
echo "Formato: $formato; " . $fecha->format('Y-m-d H:i:s') . "\n";

$formato = 'Y-m-!d H:i:s';
$fecha = DateTime::createFromFormat($formato, '2009-02-15 15:16:17');
echo "Formato: $formato; " . $fecha->format('Y-m-d H:i:s') . "\n";

$formato = '!d';
$fecha = DateTime::createFromFormat($formato, '15');
echo "Formato: $formato; " . $fecha->format('Y-m-d H:i:s') . "\n";
?>

El resultado del ejemplo sería algo similar a:

Momento actual: 2010-04-23 10:29:35
Formato: Y-m-d; 2009-02-15 10:29:35
Formato: Y-m-d H:i:s; 2009-02-15 15:16:17
Formato: Y-m-!d H:i:s; 1970-01-15 15:16:17
Formato: !d; 1970-01-15 00:00:00

Ver también

  • DateTime::__construct() - Devuelve un nuevo objeto DateTime
  • DateTime::getLastErrors() - Devuelve las advertencias y los errores
  • checkdate() - Validar una fecha gregoriana
  • strptime() - Analiza una fecha/hora generada con strftime
DateTime::__construct
DateTime::getLastErrors
DateTime


Devuelve las advertencias y los errores

DateTime::createFromFormat
DateTime::modify
DateTime
PHP Manual

DateTime::getLastErrors

date_get_last_errors

(PHP 5 >= 5.3.0)

DateTime::getLastErrors -- date_get_last_errors — Devuelve las advertencias y los errores

Descripción

Estilo orientado a objetos

public static array DateTime::getLastErrors ( void )

Estilo por procedimientos

array date_get_last_errors ( void )

Devuelve un array de advertencias y errores encontrados mientras se analiza un string de fecha/hora.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un array que contiene información acerca de las advertencias y errores.

Ejemplos

Ejemplo #1 Ejemplo de DateTime::getLastErrors()

Estilo orientado a objetos

<?php
try {
    $fecha = new DateTime('asdfasdf');
} catch (Exception $e) {
    // Sólo para propósitos de demostración...
    print_r(DateTime::getLastErrors());

    // La forma real orientada a objetos de hacer esto es
    // echo $e->getMessage();
}
?>

Estilo por procedimientos

<?php
$fecha = date_create('asdfasdf');
print_r(date_get_last_errors());
?>

El resultado de los ejemplos serían:

Array
(
   [warning_count] => 1
   [warnings] => Array
       (
           [6] => Double timezone specification
       )

   [error_count] => 1
   [errors] => Array
       (
           [0] => The timezone could not be found in the database
       )

)

Los índices 6 y 0 de la salida del ejemplo hacen referencia a la posición del carácter en el string donde ocurrió el error.

DateTime::createFromFormat
DateTime::modify
DateTime


Altera la marca de tiempo

DateTime::getLastErrors
DateTime::__set_state
DateTime
PHP Manual

DateTime::modify

date_modify

(PHP 5 >= 5.2.0)

DateTime::modify -- date_modify — Altera la marca de tiempo

Descripción

Estilo orientado a objetos

public DateTime DateTime::modify ( string $modify )

Estilo por procedimientos

DateTime date_modify ( DateTime $object , string $modify )

Altera la marca de tiempo de un objeto DateTime incrementando o disminuyendo en un formato aceptado por strtotime().

Parámetros

object

Estilo por procesos solamente: Un objeto DateTime devuelto por date_create(). La función modifica este objeto.

modify

Una cadena de fecha/hora. Los formatos válidos son explicados en Formatos de fecha y hora.

Valores devueltos

Devuelve el objecto DateTime por el método encadenado o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.3.6 | Las sentencias de fecha/hora absolutas ahora toman efecto. Previamente, sólo se usaban las partes relativas.
5.3.0 | Se ha cambiado el valor devuelto en caso de éxito de NULL a DateTime.

Ejemplos

Ejemplo #1 Ejemplo de DateTime::modify()

Estilo orientado a objetos

<?php
$fecha = new DateTime('2006-12-12');
$fecha->modify('+1 day');
echo $fecha->format('Y-m-d');
?>

Estilo por procedimientos

<?php
$fecha= date_create('2006-12-12');
date_modify($fecha, '+1 day');
echo date_format($fecha, 'Y-m-d');
?>

El resultado de los ejemplos serían:

2006-12-13

Ejemplo #2 Cuidado al añadir o sustraer meses

<?php
$fecha = new DateTime('2000-12-31');

$fecha->modify('+1 month');
echo $fecha->format('Y-m-d') . "\n";

$fecha->modify('+1 month');
echo $fecha->format('Y-m-d') . "\n";
?>

El resultado del ejemplo sería:

2001-01-31
2001-03-03

Ver también

  • strtotime() - Convierte una descripción de fecha/hora textual en Inglés a una fecha Unix
  • DateTime::add() - Añade una cantidad de días, meses, años, horas, minutos y segundos al objeto DateTime
  • DateTime::sub() - Sustrae una cantidad de días, meses, años, horas, minutos y segundos de un objeto DateTime
  • DateTime::setDate() - Establece la fecha
  • DateTime::setISODate() - Establece la fecha ISO
  • DateTime::setTime() - Establece la hora
  • DateTime::setTimestamp() - Establece la fecha y la hora basadas en una fecha Unix
DateTime::getLastErrors
DateTime::__set_state
DateTime


El gestor __set_state

DateTime::modify
DateTime::setDate
DateTime
PHP Manual

DateTime::__set_state

(PHP 5 >= 5.2.0)

DateTime::__set_state — El gestor __set_state

Descripción

public static DateTime DateTime::__set_state ( array $array )

El gestor __set_state().

Parámetros

array

Matriz de inicialización.

Valores devueltos

Devuelve una nueva instancia de un objeto DateTime.

DateTime::modify
DateTime::setDate
DateTime


Establece la fecha

DateTime::__set_state
DateTime::setISODate
DateTime
PHP Manual

DateTime::setDate

date_date_set

(PHP 5 >= 5.2.0)

DateTime::setDate -- date_date_set — Establece la fecha

Descripción

Estilo orientado a objetos

public DateTime DateTime::setDate ( int $year , int $month , int $day )

Estilo por procedimientos

DateTime date_date_set ( DateTime $object , int $year , int $month , int $day )

Reinicia la fecha actual del objeto DateTime a una fecha diferente.

Parámetros

object

Estilo por procesos solamente: Un objeto DateTime devuelto por date_create(). La función modifica este objeto.

year

Año de la fecha.

month

Mes de la fecha.

day

Día de la fecha.

Valores devueltos

Devuelve el objecto DateTime por el método encadenado o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.3.0 | Se ha cambiado el valor devuelto en caso de éxito de NULL a DateTime.

Ejemplos

Ejemplo #1 Ejemplo de DateTime::setDate()

Estilo orientado a objetos

<?php
$fecha = new DateTime();
$fecha->setDate(2001, 2, 3);
echo $fecha->format('Y-m-d');
?>

Estilo por procedimientos

<?php
$fecha = date_create();
date_date_set($fecha, 2001, 2, 3);
echo date_format($fecha, 'Y-m-d');
?>

El resultado de los ejemplos serían:

2001-02-03

Ejemplo #2 Los valores que exceden rangos son añadidos a sus valores padre

<?php
$fecha = new DateTime();

$fecha->setDate(2001, 2, 28);
echo $fecha->format('Y-m-d') . "\n";

$fecha->setDate(2001, 2, 29);
echo $fecha->format('Y-m-d') . "\n";

$fecha->setDate(2001, 14, 3);
echo $fecha->format('Y-m-d') . "\n";
?>

El resultado del ejemplo sería:

2001-02-28
2001-03-01
2002-02-03

Ver también

  • DateTime::setISODate() - Establece la fecha ISO
  • DateTime::setTime() - Establece la hora
DateTime::__set_state
DateTime::setISODate
DateTime


Establece la fecha ISO

DateTime::setDate
DateTime::setTime
DateTime
PHP Manual

DateTime::setISODate

date_isodate_set

(PHP 5 >= 5.2.0)

DateTime::setISODate -- date_isodate_set — Establece la fecha ISO

Descripción

Estilo orientado a objetos

public DateTime DateTime::setISODate ( int $year , int $week [, int $day = 1 ] )

Estilo por procedimientos

DateTime date_isodate_set ( DateTime $object , int $year , int $week [, int $day = 1 ] )

Establece una fecha según el estándar ISO 8601 - usando índices de semanas y días en vez de fechas específicas.

Parámetros

object

Estilo por procesos solamente: Un objeto DateTime devuelto por date_create(). La función modifica este objeto.

year

Año de la fecha.

week

Semana de la fecha.

day

Índice del primer día de la semana.

Valores devueltos

Devuelve el objecto DateTime por el método encadenado o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.3.0 | Se ha cambiado el valor devuelto en caso de éxito de NULL a DateTime.

Ejemplos

Ejemplo #1 Ejemplo de DateTime::setISODate()

Estilo orientado a objetos

<?php
$fecha = new DateTime();

$fecha->setISODate(2008, 2);
echo $fecha->format('Y-m-d') . "\n";

$fecha->setISODate(2008, 2, 7);
echo $fecha->format('Y-m-d') . "\n";
?>

Estilo por procedimientos

<?php
$fecha = date_create();

date_isodate_set($fecha, 2008, 2);
echo date_format($fecha, 'Y-m-d') . "\n";

date_isodate_set($fecha, 2008, 2, 7);
echo date_format($fecha, 'Y-m-d') . "\n";
?>

El resultado de los ejemplos serían:

2008-01-07
2008-01-13

Ejemplo #2 Los valores que execen rangos son añadidos a sus valores padre

<?php
$fecha = new DateTime();

$fecha->setISODate(2008, 2, 7);
echo $fecha->format('Y-m-d') . "\n";

$fecha->setISODate(2008, 2, 8);
echo $fecha->format('Y-m-d') . "\n";

$fecha->setISODate(2008, 53, 7);
echo $fecha->format('Y-m-d') . "\n";
?>

El resultado del ejemplo sería:

2008-01-13
2008-01-14
2009-01-04

Ejemplo #3 Buscar el mes en el que se encuentra una semana

<?php
$fecha = new DateTime();
$fecha->setISODate(2008, 14);
echo $fecha->format('n');
?>

El resultado de los ejemplos serían:

3

Ver también

  • DateTime::setDate() - Establece la fecha
  • DateTime::setTime() - Establece la hora
DateTime::setDate
DateTime::setTime
DateTime


Establece la hora

DateTime::setISODate
DateTime::setTimestamp
DateTime
PHP Manual

DateTime::setTime

date_time_set

(PHP 5 >= 5.2.0)

DateTime::setTime -- date_time_set — Establece la hora

Descripción

Estilo orientado a objetos

public DateTime DateTime::setTime ( int $hour , int $minute [, int $second = 0 ] )

Estilo por procedimientos

DateTime date_time_set ( DateTime $object , int $hour , int $minute [, int $second = 0 ] )

Reinicia la hora actual del objeto DateTime a una hora diferente.

Parámetros

object

Estilo por procesos solamente: Un objeto DateTime devuelto por date_create(). La función modifica este objeto.

hour

Hora del momento.

minute

Minuto del momento.

second

Segundo del momento.

Valores devueltos

Devuelve el objecto DateTime por el método encadenado o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.3.0 | Se ha cambiado el valor devuelto en caso de éxito de NULL a DateTime.

Ejemplos

Ejemplo #1 Ejemplo de DateTime::setTime()

Estilo orientado a objetos

<?php
$fecha = new DateTime('2001-01-01');

$fecha->setTime(14, 55);
echo $fecha->format('Y-m-d H:i:s') . "\n";

$fecha->setTime(14, 55, 24);
echo $fecha->format('Y-m-d H:i:s') . "\n";
?>

Estilo por procedimientos

<?php
$fecha = date_create('2001-01-01');

date_time_set($fecha, 14, 55);
echo date_format($fecha, 'Y-m-d H:i:s') . "\n";

date_time_set($fecha, 14, 55, 24);
echo date_format($fecha, 'Y-m-d H:i:s') . "\n";
?>

El resultado de los ejemplos serían algo similar a:

2000-01-01 14:55:00
2000-01-01 14:55:24

Ejemplo #2 Los valores que exceden rangos son añadidos a sus valores padre

<?php
$fecha = new DateTime('2001-01-01');

$fecha->setTime(14, 55, 24);
echo $fecha->format('Y-m-d H:i:s') . "\n";

$fecha->setTime(14, 55, 65);
echo $fecha->format('Y-m-d H:i:s') . "\n";

$fecha->setTime(14, 65, 24);
echo $fecha->format('Y-m-d H:i:s') . "\n";

$fecha->setTime(25, 55, 24);
echo $fecha->format('Y-m-d H:i:s') . "\n";
?>

El resultado del ejemplo sería:

2001-01-01 14:55:24
2001-01-01 14:56:05
2001-01-01 15:05:24
2001-01-02 01:55:24

Ver también

  • DateTime::setDate() - Establece la fecha
  • DateTime::setISODate() - Establece la fecha ISO
DateTime::setISODate
DateTime::setTimestamp
DateTime


Establece la fecha y la hora basadas en una fecha Unix

DateTime::setTime
DateTime::setTimezone
DateTime
PHP Manual

DateTime::setTimestamp

date_timestamp_set

(PHP 5 >= 5.3.0)

DateTime::setTimestamp -- date_timestamp_set — Establece la fecha y la hora basadas en una fecha Unix

Descripción

Estilo orientado a objetos

public DateTime DateTime::setTimestamp ( int $unixtimestamp )

Estilo por procedimientos

DateTime date_timestamp_set ( DateTime $object , int $unixtimestamp )

Establece la fecha y la hora basadas en una fecha Unix.

Parámetros

object

Estilo por procesos solamente: Un objeto DateTime devuelto por date_create(). La función modifica este objeto.

unixtimestamp

La marca de tiempo Unix que representa la fecha.

Valores devueltos

Devuelve el objecto DateTime por el método encadenado o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de DateTime::setTimestamp()

Estilo orientado a objetos

<?php
$fecha = new DateTime();
echo $fecha->format('U = Y-m-d H:i:s') . "\n";

$fecha->setTimestamp(1171502725);
echo $fecha->format('U = Y-m-d H:i:s') . "\n";
?>

Estilo por procedimientos

<?php
$fecha = date_create();
echo date_format($fecha, 'U = Y-m-d H:i:s') . "\n";

date_timestamp_set($fecha, 1171502725);
echo date_format($fecha, 'U = Y-m-d H:i:s') . "\n";
?>

El resultado de los ejemplos serían algo similar a:

1272508903 = 2010-04-28 22:41:43
1171502725 = 2007-02-14 20:25:25

Notas

Usar el formato de fecha Unix para construir un nuevo objeto DateTime es una alternativa al usar PHP 5.2, como se muestra en el ejemplo de abajo.

Ejemplo #2 Alternativa de DateTime::setTimestamp() en PHP 5.2

<?php
$ts = 1171502725;
$fecha = new DateTime("@$ts");
echo $date->format('U = Y-m-d H:i:s') . "\n";
?>

El resultado del ejemplo sería algo similar a:

1171502725 = 2007-02-14 20:25:25

Ver también

  • DateTime::getTimestamp() - Obtiene la marca de tiempo Unix
DateTime::setTime
DateTime::setTimezone
DateTime


Establece la zona horaria para el objeto DateTime

DateTime::setTimestamp
DateTime::sub
DateTime
PHP Manual

DateTime::setTimezone

date_timezone_set

(PHP 5 >= 5.2.0)

DateTime::setTimezone -- date_timezone_set — Establece la zona horaria para el objeto DateTime

Descripción

Estilo orientado a objetos

public DateTime DateTime::setTimezone ( DateTimeZone $timezone )

Estilo por procedimientos

DateTime date_timezone_set ( DateTime $object , DateTimeZone $timezone )

Establece una nueva zona horaria para un object de DateTime.

Parámetros

object

Estilo por procesos solamente: Un objeto DateTime devuelto por date_create(). La función modifica este objeto.

timezone

Un objeto DateTimeZone que representa la zona horaria deseada.

Valores devueltos

Devuelve el objecto DateTime por el método encadenado o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.3.0 | Se ha cambiado el valor devuelto en caso de éxito de NULL a DateTime.

Ejemplos

Ejemplo #1 Ejemplo de DateTime::setTimeZone()

Estilo orientado a objetos

<?php
$fecha = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo $fecha->format('Y-m-d H:i:sP') . "\n";

$fecha->setTimezone(new DateTimeZone('Pacific/Chatham'));
echo $fecha->format('Y-m-d H:i:sP') . "\n";
?>

Estilo por procedimientos

<?php
$fecha= date_create('2000-01-01', timezone_open('Pacific/Nauru'));
echo date_format($fecha, 'Y-m-d H:i:sP') . "\n";

date_timezone_set($fecha, timezone_open('Pacific/Chatham'));
echo date_format($fecha, 'Y-m-d H:i:sP') . "\n";
?>

El resultado de los ejemplos serían:

2000-01-01 00:00:00+12:00
2000-01-01 01:45:00+13:45

Ver también

  • DateTime::getTimezone() - Develve la zona horaria relativa al objeto DateTime dado
  • DateTimeZone::__construct() - Crea un nuevo objeto DateTimeZone
DateTime::setTimestamp
DateTime::sub
DateTime


Sustrae una cantidad de días, meses, años, horas, minutos y segundos de un objeto DateTime

DateTime::setTimezone
DateTimeImmutable
DateTime
PHP Manual

DateTime::sub

date_sub

(PHP 5 >= 5.3.0)

DateTime::sub -- date_sub — Sustrae una cantidad de días, meses, años, horas, minutos y segundos de un objeto DateTime

Descripción

Estilo orientado a objetos

public DateTime DateTime::sub ( DateInterval $interval )

Estilo por procedimientos

DateTime date_sub ( DateTime $object , DateInterval $interval )

Sustrae el objeto DateInterval especificado del objeto DateTime especificado.

Parámetros

object

Estilo por procesos solamente: Un objeto DateTime devuelto por date_create(). La función modifica este objeto.

interval

Un objeto DateInterval

Valores devueltos

Devuelve el objecto DateTime por el método encadenado o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de DateTime::sub()

Estilo orientado a objetos

<?php
$fecha = new DateTime('2000-01-20');
$fecha->sub(new DateInterval('P10D'));
echo $fecha->format('Y-m-d') . "\n";
?>

Estilo por procedimientos

<?php
$fecha = date_create('2000-01-20');
date_sub($fecha, date_interval_create_from_date_string('10 days'));
echo date_format($fecha, 'Y-m-d');
?>

El resultado de los ejemplos serían:

2000-01-10

Ejemplo #2 Más ejemplos de DateTime::sub()

<?php
$fecha = new DateTime('2000-01-20');
$fecha->sub(new DateInterval('PT10H30S'));
echo $fecha->format('Y-m-d H:i:s') . "\n";

$fecha = new DateTime('2000-01-20');
$fecha->sub(new DateInterval('P7Y5M4DT4H3M2S'));
echo $fecha->format('Y-m-d H:i:s') . "\n";
?>

El resultado del ejemplo sería:

2000-01-19 13:59:30
1992-08-15 19:56:58

Ejemplo #3 Cuidado al sustraer meses

<?php
$fecha = new DateTime('2001-04-30');
$intervalo = new DateInterval('P1M');

$fecha->sub($intervalo);
echo $fecha->format('Y-m-d') . "\n";

$fecha->sub($intervalo);
echo $fecha->format('Y-m-d') . "\n";
?>

El resultado del ejemplo sería:

2001-03-30
2001-03-02

Notas

DateTime::modify() es una alternativa cuando se usa PHP 5.2.

Ver también

  • DateTime::add() - Añade una cantidad de días, meses, años, horas, minutos y segundos al objeto DateTime
  • DateTime::diff() - Devuelve la diferencia entre dos objetos DateTime
  • DateTime::modify() - Altera la marca de tiempo
DateTime::setTimezone
DateTimeImmutable
DateTime


La clase DateTimeImmutable

(PHP 5 >= 5.5.0)

Introducción

Esta clase se comporta igual que DateTime excepto en que nunca se modifica a sí misma, sino que devuelve un nuevo objeto en su lugar.

Sinopsis de la Clase

DateTimeImmutable implements DateTimeInterface {
/* Métodos */
public __construct ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )
public DateTimeImmutable add ( DateInterval $interval )
public static DateTimeImmutable createFromFormat ( string $format , string $time [, DateTimeZone $timezone ] )
public static array getLastErrors ( void )
public DateTimeImmutable modify ( string $modify )
public static DateTimeImmutable __set_state ( array $array )
public DateTimeImmutable setDate ( int $year , int $month , int $day )
public DateTimeImmutable setISODate ( int $year , int $week [, int $day = 1 ] )
public DateTimeImmutable setTime ( int $hour , int $minute [, int $second = 0 ] )
public DateTimeImmutable setTimestamp ( int $unixtimestamp )
public DateTimeImmutable setTimezone ( DateTimeZone $timezone )
public DateTimeImmutable sub ( DateInterval $interval )
public DateInterval diff ( DateTimeInterface $datetime2 [, bool $absolute = false ] )
public string format ( string $format )
public int getOffset ( void )
public int getTimestamp ( void )
public DateTimeZone getTimezone ( void )
public __wakeup ( void )
}

Tabla de contenidos

  • DateTimeImmutable::add — Añade una cantidad de días, meses, años, horas, minutos y segundos
  • DateTimeImmutable::__construct — Devuelve un nuevo objeto DateTimeImmutable
  • DateTimeImmutable::createFromFormat — Devuelve un nuevo objeto DateTimeImmutable formateado según el formato especificado
  • DateTimeImmutable::getLastErrors — Devuelve las advertencias y errores
  • DateTimeImmutable::modify — Altera la marca de tiempo
  • DateTimeImmutable::__set_state — El gestor __set_state
  • DateTimeImmutable::setDate — Establece la fecha
  • DateTimeImmutable::setISODate — Establece la fecha ISO
  • DateTimeImmutable::setTime — Establece la hora
  • DateTimeImmutable::setTimestamp — Establece la fecha y hora basadas en una marca de tiempo Unix
  • DateTimeImmutable::setTimezone — Establece la zona horaria
  • DateTimeImmutable::sub — Sustrae una cantidad de días, meses, años, horas, minutos y segundos
DateTime::sub
DateTimeImmutable::add
Fecha/Hora


Añade una cantidad de días, meses, años, horas, minutos y segundos

DateTimeImmutable
DateTimeImmutable::__construct
DateTimeImmutable
PHP Manual

DateTimeImmutable::add

(PHP 5 >= 5.5.0)

DateTimeImmutable::add — Añade una cantidad de días, meses, años, horas, minutos y segundos

Descripción

public DateTimeImmutable DateTimeImmutable::add ( DateInterval $interval )

Igual que DateTime::add() excepto que trabaja con DateTimeImmutable.

DateTimeImmutable
DateTimeImmutable::__construct
DateTimeImmutable


Devuelve un nuevo objeto DateTimeImmutable

DateTimeImmutable::add
DateTimeImmutable::createFromFormat
DateTimeImmutable
PHP Manual

DateTimeImmutable::__construct

date_create_immutable

(PHP 5 >= 5.5.0)

DateTimeImmutable::__construct -- date_create_immutable — Devuelve un nuevo objeto DateTimeImmutable

Descripción

Estilo orientado a objetos

public DateTimeImmutable::__construct() ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )

Estilo por procedimientos

DateTimeImmutable date_create_immutable ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )

Igual que DateTime::__construct() excepto que trabaja con DateTimeImmutable.

DateTimeImmutable::add
DateTimeImmutable::createFromFormat
DateTimeImmutable


Devuelve un nuevo objeto DateTimeImmutable formateado según el formato especificado

DateTimeImmutable::__construct
DateTimeImmutable::getLastErrors
DateTimeImmutable
PHP Manual

DateTimeImmutable::createFromFormat

date_create_immutable_from_format

(PHP 5 >= 5.5.0)

DateTimeImmutable::createFromFormat -- date_create_immutable_from_format — Devuelve un nuevo objeto DateTimeImmutable formateado según el formato especificado

Descripción

Estilo orientado a objetos

public static DateTimeImmutable DateTimeImmutable::createFromFormat ( string $format , string $time [, DateTimeZone $timezone ] )

Estilo por procedimientos

DateTimeImmutable date_create_immutable_from_format ( string $format , string $time [, DateTimeZone $timezone ] )

Igual que DateTime::createFromFormat() excepto que trabaja con DateTimeImmutable.

DateTimeImmutable::__construct
DateTimeImmutable::getLastErrors
DateTimeImmutable


Devuelve las advertencias y errores

DateTimeImmutable::createFromFormat
DateTimeImmutable::modify
DateTimeImmutable
PHP Manual

DateTimeImmutable::getLastErrors

(PHP 5 >= 5.5.0)

DateTimeImmutable::getLastErrors — Devuelve las advertencias y errores

Descripción

public static array DateTimeImmutable::getLastErrors ( void )

Igual que DateTime::getLastErrors() excepto que trabaja con DateTimeImmutable.

DateTimeImmutable::createFromFormat
DateTimeImmutable::modify
DateTimeImmutable


Altera la marca de tiempo

DateTimeImmutable::getLastErrors
DateTimeImmutable::__set_state
DateTimeImmutable
PHP Manual

DateTimeImmutable::modify

(PHP 5 >= 5.5.0)

DateTimeImmutable::modify — Altera la marca de tiempo

Descripción

public DateTimeImmutable DateTimeImmutable::modify ( string $modify )

Igual que DateTime::modify() excepto que trabaja con DateTimeImmutable.

DateTimeImmutable::getLastErrors
DateTimeImmutable::__set_state
DateTimeImmutable


El gestor __set_state

DateTimeImmutable::modify
DateTimeImmutable::setDate
DateTimeImmutable
PHP Manual

DateTimeImmutable::__set_state

(PHP 5 >= 5.5.0)

DateTimeImmutable::__set_state — El gestor __set_state

Descripción

public static DateTimeImmutable DateTimeImmutable::__set_state ( array $array )

Igual DateTime::__set_state() excepto que trabaja con DateTimeImmutable.

DateTimeImmutable::modify
DateTimeImmutable::setDate
DateTimeImmutable


Establece la fecha

DateTimeImmutable::__set_state
DateTimeImmutable::setISODate
DateTimeImmutable
PHP Manual

DateTimeImmutable::setDate

(PHP 5 >= 5.5.0)

DateTimeImmutable::setDate — Establece la fecha

Descripción

public DateTimeImmutable DateTimeImmutable::setDate ( int $year , int $month , int $day )

Igual que DateTime::setDate() excepto que trabaja con DateTimeImmutable.

DateTimeImmutable::__set_state
DateTimeImmutable::setISODate
DateTimeImmutable


Establece la fecha ISO

DateTimeImmutable::setDate
DateTimeImmutable::setTime
DateTimeImmutable
PHP Manual

DateTimeImmutable::setISODate

(PHP 5 >= 5.5.0)

DateTimeImmutable::setISODate — Establece la fecha ISO

Descripción

public DateTimeImmutable DateTimeImmutable::setISODate ( int $year , int $week [, int $day = 1 ] )

Igual que DateTime::setISODate() excepto que trabaja con DateTimeImmutable.

DateTimeImmutable::setDate
DateTimeImmutable::setTime
DateTimeImmutable


Establece la hora

DateTimeImmutable::setISODate
DateTimeImmutable::setTimestamp
DateTimeImmutable
PHP Manual

DateTimeImmutable::setTime

(PHP 5 >= 5.5.0)

DateTimeImmutable::setTime — Establece la hora

Descripción

public DateTimeImmutable DateTimeImmutable::setTime ( int $hour , int $minute [, int $second = 0 ] )

Igual que DateTime::setTime() excepto que trabaja con DateTimeImmutable.

DateTimeImmutable::setISODate
DateTimeImmutable::setTimestamp
DateTimeImmutable


Establece la fecha y hora basadas en una marca de tiempo Unix

DateTimeImmutable::setTime
DateTimeImmutable::setTimezone
DateTimeImmutable
PHP Manual

DateTimeImmutable::setTimestamp

(PHP 5 >= 5.5.0)

DateTimeImmutable::setTimestamp — Establece la fecha y hora basadas en una marca de tiempo Unix

Descripción

public DateTimeImmutable DateTimeImmutable::setTimestamp ( int $unixtimestamp )

Igual que DateTime::setTimestamp() excepto que trabaja con DateTimeImmutable.

DateTimeImmutable::setTime
DateTimeImmutable::setTimezone
DateTimeImmutable


Establece la zona horaria

DateTimeImmutable::setTimestamp
DateTimeImmutable::sub
DateTimeImmutable
PHP Manual

DateTimeImmutable::setTimezone

(PHP 5 >= 5.5.0)

DateTimeImmutable::setTimezone — Establece la zona horaria

Descripción

public DateTimeImmutable DateTimeImmutable::setTimezone ( DateTimeZone $timezone )

Igualq que DateTime::setTimezone() excepto que trabaja con DateTimeImmutable.

DateTimeImmutable::setTimestamp
DateTimeImmutable::sub
DateTimeImmutable


Sustrae una cantidad de días, meses, años, horas, minutos y segundos

DateTimeImmutable::setTimezone
DateTimeInterface
DateTimeImmutable
PHP Manual

DateTimeImmutable::sub

(PHP 5 >= 5.5.0)

DateTimeImmutable::sub — Sustrae una cantidad de días, meses, años, horas, minutos y segundos

Descripción

public DateTimeImmutable DateTimeImmutable::sub ( DateInterval $interval )

Igual que DateTime::sub() excepto que trabaja con DateTimeImmutable.

DateTimeImmutable::setTimezone
DateTimeInterface
DateTimeImmutable


La interfaz DateTimeInterface

(PHP 5 >= 5.5.0)

Introducción

Sinopsis de la Clase

DateTimeInterface {
/* Métodos */
public DateInterval diff ( DateTimeInterface $datetime2 [, bool $absolute = false ] )
public string format ( string $format )
public int getOffset ( void )
public int getTimestamp ( void )
public DateTimeZone getTimezone ( void )
public __wakeup ( void )
}

Tabla de contenidos

  • DateTime::diff — Devuelve la diferencia entre dos objetos DateTime
  • DateTime::format — Devuelve la fecha formateada según el formato dado
  • DateTime::getOffset — Devuelve el índice de la zona horaria
  • DateTime::getTimestamp — Obtiene la marca de tiempo Unix
  • DateTime::getTimezone — Develve la zona horaria relativa al objeto DateTime dado
  • DateTime::__wakeup — El gestor __wakeup
DateTimeImmutable::sub
DateTime::diff
Fecha/Hora


Devuelve la diferencia entre dos objetos DateTime

DateTimeInterface
DateTime::format
DateTimeInterface
PHP Manual

DateTime::diff

DateTimeImmutable::diff

DateTimeInterface::diff

date_diff

(PHP 5 >= 5.3.0)

DateTime::diff -- DateTimeImmutable::diff -- DateTimeInterface::diff -- date_diff — Devuelve la diferencia entre dos objetos DateTime

Descripción

Estilo orientado a objetos

public DateInterval DateTime::diff ( DateTimeInterface $datetime2 [, bool $absolute = false ] )
public DateInterval DateTimeImmutable::diff ( DateTimeInterface $datetime2 [, bool $absolute = false ] )
public DateInterval DateTimeInterface::diff ( DateTimeInterface $datetime2 [, bool $absolute = false ] )

Estilo por procedimientos

DateInterval date_diff ( DateTimeInterface $datetime1 , DateTimeInterface $datetime2 [, bool $absolute = false ] )

Devuelve la diferencia entre dos objetos DateTimeInterface.

Parámetros

datetime

La fecha a comparar.

absolute

¿Debería el intervalo ser forzado para ser positivo?

Valores devueltos

El objeto DateInterval que representa la diferencia entre dos fechas o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de DateTime::diff()

Estilo orientado a objetos

<?php
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a días');
?>

Estilo por procedimientos

<?php
$datetime1 = date_create('2009-10-11');
$datetime2 = date_create('2009-10-13');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%R%a días');
?>

El resultado de los ejemplos serían:

+2 days

Ejemplo #2 Comparación de objetos DateTime

Nota:

A partir de PHP 5.2.2, los objetos DateTime se pueden comparar usando los operadores de comparación.

<?php
$date1 = new DateTime("now");
$date2 = new DateTime("tomorrow");

var_dump($date1 == $date2);
var_dump($date1 < $date2);
var_dump($date1 > $date2);
?>

El resultado del ejemplo sería:

bool(false)
bool(true)
bool(false)

Ver también

  • DateInterval::format() - Formatea el intervalo
  • DateTime::add() - Añade una cantidad de días, meses, años, horas, minutos y segundos al objeto DateTime
  • DateTime::sub() - Sustrae una cantidad de días, meses, años, horas, minutos y segundos de un objeto DateTime
DateTimeInterface
DateTime::format
DateTimeInterface


Devuelve la fecha formateada según el formato dado

DateTime::diff
DateTime::getOffset
DateTimeInterface
PHP Manual

DateTime::format

DateTimeImmutable::format

DateTimeInterface::format

date_format

(PHP 5 >= 5.2.0)

DateTime::format -- DateTimeImmutable::format -- DateTimeInterface::format -- date_format — Devuelve la fecha formateada según el formato dado

Descripción

Estilo orientado a objetos

public string DateTime::format ( string $format )
public string DateTimeImmutable::format ( string $format )
public string DateTimeInterface::format ( string $format )

Estilo por procedimientos

string date_format ( DateTimeInterface $object , string $format )

Devuelve la fecha formateada según el formato dado.

Parámetros

object

Estilo por procesos solamente: Un objeto DateTime es devuelto por date_create()

format

Formato aceptado por date().

Valores devueltos

Devuelve la fecha formateada en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de DateTime::format()

Estilo orientado a objetos

<?php
$date = new DateTime('2000-01-01');
echo $date->format('Y-m-d H:i:s');
?>

Estilo por procedimientos

<?php
$date = date_create('2000-01-01');
echo date_format($date, 'Y-m-d H:i:s');
?>

El resultado del ejemplo sería:

2000-01-01 00:00:00

Notas

Este método no usa configuraciones regionales. Todas las salidas están en inglés.

Ver también

  • date() - Dar formato a la fecha/hora local
DateTime::diff
DateTime::getOffset
DateTimeInterface


Devuelve el índice de la zona horaria

DateTime::format
DateTime::getTimestamp
DateTimeInterface
PHP Manual

DateTime::getOffset

DateTimeImmutable::getOffset

DateTimeInterface::getOffset

date_offset_get

(PHP 5 >= 5.2.0)

DateTime::getOffset -- DateTimeImmutable::getOffset -- DateTimeInterface::getOffset -- date_offset_get — Devuelve el índice de la zona horaria

Descripción

Estilo orientado a objetos

public int DateTime::getOffset ( void )
public int DateTimeImmutable::getOffset ( void )
public int DateTimeInterface::getOffset ( void )

Estilo por procedimientos

int date_offset_get ( DateTimeInterface $object )

Devuelve el índice de la zona horaria.

Parámetros

object

Estilo por procesos solamente: Un objeto DateTime es devuelto por date_create()

Valores devueltos

Devuelve el índice de la zona horaria en segundos desde UTC en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de DateTime::getOffset()

Estilo orientado a objetos

<?php
$invierno = new DateTime('2010-12-21', new DateTimeZone('America/New_York'));
$verano = new DateTime('2008-06-21', new DateTimeZone('America/New_York'));

echo $invierno->getOffset() . "\n";
echo $verano->getOffset() . "\n";
?>

Estilo por procedimientos

<?php
$invierno = date_create('2010-12-21', timezone_open('America/New_York'));
$verano = date_create('2008-06-21', timezone_open('America/New_York'));

echo date_offset_get($invierno) . "\n";
echo date_offset_get($verano) . "\n";
?>

El resultado de los ejemplos serían:

-18000
-14400

Nota: -18000 = -5 horas, -14400 = -4 horas.

DateTime::format
DateTime::getTimestamp
DateTimeInterface


Obtiene la marca de tiempo Unix

DateTime::getOffset
DateTime::getTimezone
DateTimeInterface
PHP Manual

DateTime::getTimestamp

DateTimeImmutable::getTimestamp

DateTimeInterface::getTimestamp

date_timestamp_get

(PHP 5 >= 5.3.0)

DateTime::getTimestamp -- DateTimeImmutable::getTimestamp -- DateTimeInterface::getTimestamp -- date_timestamp_get — Obtiene la marca de tiempo Unix

Descripción

Estilo orientado a objetos

public int DateTime::getTimestamp ( void )
public int DateTimeImmutable::getTimestamp ( void )
public int DateTimeInterface::getTimestamp ( void )

Estilo por procedimientos

int date_timestamp_get ( DateTimeInterface $object )

Obtiene la marca de tiempo Unix.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la marca de tiempo Unix que representa la fecha.

Ejemplos

Ejemplo #1 Ejemplo de DateTime::getTimestamp()

Estilo orientado a objetos

<?php
$fecha = new DateTime();
echo $fecha->getTimestamp();
?>

Estilo por procedimientos

<?php
$fecha = date_create();
echo date_timestamp_get($fecha);
?>

El resultado de los ejemplos serían algo similar a:

1272509157

Notas

Usar U como parámetro de DateTime::format() es una alternativa cuando se utliza PHP 5.2.

Ver también

  • DateTime::setTimestamp() - Establece la fecha y la hora basadas en una fecha Unix
  • DateTime::format() - Devuelve la fecha formateada según el formato dado
DateTime::getOffset
DateTime::getTimezone
DateTimeInterface


Develve la zona horaria relativa al objeto DateTime dado

DateTime::getTimestamp
DateTime::__wakeup
DateTimeInterface
PHP Manual

DateTime::getTimezone

DateTimeImmutable::getTimezone

DateTimeInterface::getTimezone

date_timezone_get

(PHP 5 >= 5.2.0)

DateTime::getTimezone -- DateTimeImmutable::getTimezone -- DateTimeInterface::getTimezone -- date_timezone_get — Develve la zona horaria relativa al objeto DateTime dado

Descripción

Estilo orientado a objetos

public DateTimeZone DateTime::getTimezone ( void )
public DateTimeZone DateTimeImmutable::getTimezone ( void )
public DateTimeZone DateTimeInterface::getTimezone ( void )

Estilo por procedimientos

DateTimeZone date_timezone_get ( DateTimeInterface $object )

Develve la zona horaria relativa al objeto DateTime dado.

Parámetros

object

Estilo por procesos solamente: Un objeto DateTime es devuelto por date_create()

Valores devueltos

Devuelve un objeto DateTimeZone en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de DateTime::getTimezone()

Estilo orientado a objetos

<?php
$fecha = new DateTime(null, new DateTimeZone('Europe/London'));
$zh = $fecha->getTimezone();
echo $zh->getName();
?>

Estilo por procedimientos

<?php
$fecha = date_create(null, timezone_open('Europe/London'));
$zh = date_timezone_get($fecha);
echo timezone_name_get($zh);
?>

El resultado de los ejemplos serían:

Europe/London

Ver también

  • DateTime::setTimezone() - Establece la zona horaria para el objeto DateTime
DateTime::getTimestamp
DateTime::__wakeup
DateTimeInterface


El gestor __wakeup

DateTime::getTimezone
DateTimeZone
DateTimeInterface
PHP Manual

DateTime::__wakeup

DateTimeImmutable::__wakeup

DateTimeInterface::__wakeup

(PHP 5 >= 5.2.0)

DateTime::__wakeup -- DateTimeImmutable::__wakeup -- DateTimeInterface::__wakeup — El gestor __wakeup

Descripción

public DateTime::__wakeup ( void )
public DateTimeImmutable::__wakeup ( void )
public DateTimeInterface::__wakeup ( void )

El gestor __wakeup().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Inicializa un objeto DateTime.

DateTime::getTimezone
DateTimeZone
DateTimeInterface


La clase DateTimeZone

(PHP 5 >= 5.2.0)

Introducción

Representación de la zona horaria.

Sinopsis de la Clase

DateTimeZone {
/* Constantes */
const integer AFRICA = 1 ;
const integer AMERICA = 2 ;
const integer ANTARCTICA = 4 ;
const integer ARCTIC = 8 ;
const integer ASIA = 16 ;
const integer ATLANTIC = 32 ;
const integer AUSTRALIA = 64 ;
const integer EUROPE = 128 ;
const integer INDIAN = 256 ;
const integer PACIFIC = 512 ;
const integer UTC = 1024 ;
const integer ALL = 2047 ;
const integer ALL_WITH_BC = 4095 ;
const integer PER_COUNTRY = 4096 ;
/* Métodos */
public __construct ( string $timezone )
public array getLocation ( void )
public string getName ( void )
public int getOffset ( DateTime $datetime )
public array getTransitions ([ int $timestamp_begin [, int $timestamp_end ]] )
public static array listAbbreviations ( void )
public static array listIdentifiers ([ int $what = DateTimeZone::ALL [, string $country = NULL ]] )
}

Constantes predefinidas

DateTimeZone::AFRICA

Zonas horarias de África.

DateTimeZone::AMERICA

Zonas horarias de América.

DateTimeZone::ANTARCTICA

Zonas horarias de la Antártida.

DateTimeZone::ARCTIC

Zonas horarias del Ártico.

DateTimeZone::ASIA

Zonas horarias de Asia.

DateTimeZone::ATLANTIC

Zonas horarias del Atlántico.

DateTimeZone::AUSTRALIA

Zonas horarias de Australia.

DateTimeZone::EUROPE

Zonas horarias de Europa.

DateTimeZone::INDIAN

Zonas horarias de la India.

DateTimeZone::PACIFIC

Zonas horarias del Pacífico.

DateTimeZone::UTC

Zonas horarias UTC.

DateTimeZone::ALL

Todas las zonas horarias.

DateTimeZone::ALL_WITH_BC

Todas las zonas horarias incluyendo las de versiones anteriores por compatibilidad.

DateTimeZone::PER_COUNTRY

Zonas horarias por país.

Tabla de contenidos

  • DateTimeZone::__construct — Crea un nuevo objeto DateTimeZone
  • DateTimeZone::getLocation — Devuelve la información de la ubicación para una zona horaria
  • DateTimeZone::getName — Devuelve el nombre de la zona horaria
  • DateTimeZone::getOffset — Devuelve el índice de la zona horaria de GMT
  • DateTimeZone::getTransitions — Devuelve todas las transiciones para una zona horaria
  • DateTimeZone::listAbbreviations — Devuelve una matriz asociativa que contiene el horario de verano (dst), el índice y el nombre de la zona horaria
  • DateTimeZone::listIdentifiers — Devuelve un array indexado numéricamente que contiene todos los identificadores de zonas horarias definidos
DateTime::__wakeup
DateTimeZone::__construct
Fecha/Hora


Crea un nuevo objeto DateTimeZone

DateTimeZone
DateTimeZone::getLocation
DateTimeZone
PHP Manual

DateTimeZone::__construct

timezone_open

(PHP 5 >= 5.2.0)

DateTimeZone::__construct -- timezone_open — Crea un nuevo objeto DateTimeZone

Descripción

Estilo orientado a objetos

public DateTimeZone::__construct() ( string $timezone )

Estilo por procedimientos

DateTimeZone timezone_open ( string $timezone )

Crea un nuevo objeto DateTimeZone.

Parámetros

timezone

Una de las zonas horarias.

Valores devueltos

Devuelve un objeto DateTimeZone si tuvo éxito. Estilo por procedimientos devuelve FALSE en caso de error.

Errores/Excepciones

Este método lanza Exception si la zona horaria suministrada no es reconocida como una zona horaria válida.

Ejemplos

Ejemplo #1 Atrapar errores cuando se instancia DateTimeZone

<?php
// Manejo de errores atrapando excepciones
$zonas_horarias = array('Europe/London', 'Mars/Phobos', 'Jupiter/Europa');

foreach ($zonas_horarias as $zh) {
    try {
        $marte = new DateTimeZone($zh);
    } catch(Exception $e) {
        echo $e->getMessage() . '<br />';
    }
}
?>

El resultado del ejemplo sería:

DateTimeZone::__construct() [datetimezone.--construct]: Unknown or bad timezone (Mars/Phobos)
DateTimeZone::__construct() [datetimezone.--construct]: Unknown or bad timezone (Jupiter/Europa)

DateTimeZone
DateTimeZone::getLocation
DateTimeZone


Devuelve la información de la ubicación para una zona horaria

DateTimeZone::__construct
DateTimeZone::getName
DateTimeZone
PHP Manual

DateTimeZone::getLocation

timezone_location_get

(PHP 5 >= 5.3.0)

DateTimeZone::getLocation -- timezone_location_get — Devuelve la información de la ubicación para una zona horaria

Descripción

Estilo orientado a objetos

public array DateTimeZone::getLocation ( void )

Estilo por procedimientos

array timezone_location_get ( DateTimeZone $object )

Devuelve la información de la ubicación para una zona horaria, incluyendo el código de país, latitud/longitud y comentarios.

Parámetros

object

Estilo por procesos solamente: Un objeto DateTimeZone es devuelto por timezone_open()

Valores devueltos

Una matriz que contiene la información de la ubicación acerca de una zona horaria.

Ejemplos

Ejemplo #1 Ejemplo de DateTimeZone::getLocation()

<?php
$zh = new DateTimeZone("Europe/Prague");
print_r($zh->getLocation());
print_r(timezone_location_get($zh));
?>

El resultado del ejemplo sería:

Array
Array
(
    [country_code] => CZ
    [latitude] => 50.08333
    [longitude] => 14.43333
    [comments] =>
)
Array
(
    [country_code] => CZ
    [latitude] => 50.08333
    [longitude] => 14.43333
    [comments] =>
)

DateTimeZone::__construct
DateTimeZone::getName
DateTimeZone


Devuelve el nombre de la zona horaria

DateTimeZone::getLocation
DateTimeZone::getOffset
DateTimeZone
PHP Manual

DateTimeZone::getName

timezone_name_get

(PHP 5 >= 5.2.0)

DateTimeZone::getName -- timezone_name_get — Devuelve el nombre de la zona horaria

Descripción

Estilo orientado a objetos

public string DateTimeZone::getName ( void )

Estilo por procedimientos

string timezone_name_get ( DateTimeZone $object )

Devuelve el nombre de la zona horaria.

Parámetros

object

El DateTimeZone del cual desera obtener el nombre.

Valores devueltos

Una de los nombres de zona horaria en la lista de zonas horarias.

DateTimeZone::getLocation
DateTimeZone::getOffset
DateTimeZone


Devuelve el índice de la zona horaria de GMT

DateTimeZone::getName
DateTimeZone::getTransitions
DateTimeZone
PHP Manual

DateTimeZone::getOffset

timezone_offset_get

(PHP 5 >= 5.2.0)

DateTimeZone::getOffset -- timezone_offset_get — Devuelve el índice de la zona horaria de GMT

Descripción

Estilo orientado a objetos

public int DateTimeZone::getOffset ( DateTime $datetime )

Estilo por procedimientos

int timezone_offset_get ( DateTimeZone $object , DateTime $datetime )

Esta función devuelve el índice GMT para la fecha/hora especificada en el parámetro datetime. El índice GMT se calcula con la información de la zona horaria contenida en el objeto DateTimeZone que se va a utilizar.

Parámetros

object

Estilo por procesos solamente: Un objeto DateTimeZone es devuelto por timezone_open()

datetime

El objeto DateTime que contiene la fecha/hora desde la que se va a computar el índice.

Valores devueltos

Devuelve el índice de la zona horaria en segundos si tiene éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de DateTimeZone::getOffset()

<?php
// Crear dos objetos de zona horaria, uno para Taipéi (Taiwán) y otro para
// Tokyo (Japón)
$dateTimeZoneTaipei = new DateTimeZone("Asia/Taipei");
$dateTimeZoneJapan = new DateTimeZone("Asia/Tokyo");

// Crear dos objetos DateTime que contendrán la misma fecha Unix, pero
// tendrán diferentes zonas horarias adjuntas.
$dateTimeTaipei = new DateTime("now", $dateTimeZoneTaipei);
$dateTimeJapan = new DateTime("now", $dateTimeZoneJapan);

// Calcular el índice GMT para la fecha/hora contenida en el objeto $dateTimeTaipei,
// pero usando las normas de la zona horaria definidas en Tokyo
// ($dateTimeZoneJapan).
$timeOffset = $dateTimeZoneJapan->getOffset($dateTimeTaipei);

// Debería mostrar int(32400) (para fechas después de Sat Sep 8 01:00:00 1951 JST).
var_dump($timeOffset);
?>

DateTimeZone::getName
DateTimeZone::getTransitions
DateTimeZone


Devuelve todas las transiciones para una zona horaria

DateTimeZone::getOffset
DateTimeZone::listAbbreviations
DateTimeZone
PHP Manual

DateTimeZone::getTransitions

timezone_transitions_get

(PHP 5 >= 5.2.0)

DateTimeZone::getTransitions -- timezone_transitions_get — Devuelve todas las transiciones para una zona horaria

Descripción

Estilo orientado a objetos

public array DateTimeZone::getTransitions ([ int $timestamp_begin [, int $timestamp_end ]] )

Estilo por procedimientos

array timezone_transitions_get ( DateTimeZone $object [, int $timestamp_begin [, int $timestamp_end ]] )

Parámetros

object

Estilo por procesos solamente: Un objeto DateTimeZone es devuelto por timezone_open()

timestamp_begin

Marca de tiempo de inicio.

timestamp_end

Marca de tiempo final.

Valores devueltos

Deveulve una matriz numérica que contiene una matriz asociativa con todas las transiciones si se tuvo éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.3.0 | Se añadireon los parámteros opcionales timestamp_begin y timestamp_end.

Ejemplos

Ejemplo #1 Un ejemplo de timezone_transitions_get()

<?php
$zona_horaria = new DateTimeZone("Europe/London");
$transiciones = $zona_horaria->getTransitions();
print_r(array_slice($transiciones, 0, 3));
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => Array
        (
            [ts] => -2147483648
            [time] => 1901-12-13T20:45:52+0000
            [offset] => 3600
            [isdst] => 1
            [abbr] => BST
        )

    [1] => Array
        (
            [ts] => -1691964000
            [time] => 1916-05-21T02:00:00+0000
            [offset] => 3600
            [isdst] => 1
            [abbr] => BST
        )

    [2] => Array
        (
            [ts] => -1680472800
            [time] => 1916-10-01T02:00:00+0000
            [offset] => 0
            [isdst] =>
            [abbr] => GMT
        )

)

DateTimeZone::getOffset
DateTimeZone::listAbbreviations
DateTimeZone


Devuelve una matriz asociativa que contiene el horario de verano (dst), el índice y el nombre de la zona horaria

DateTimeZone::getTransitions
DateTimeZone::listIdentifiers
DateTimeZone
PHP Manual

DateTimeZone::listAbbreviations

timezone_abbreviations_list

(PHP 5 >= 5.2.0)

DateTimeZone::listAbbreviations -- timezone_abbreviations_list — Devuelve una matriz asociativa que contiene el horario de verano (dst), el índice y el nombre de la zona horaria

Descripción

Estilo orientado a objetos

public static array DateTimeZone::listAbbreviations ( void )

Estilo por procedimientos

array timezone_abbreviations_list ( void )

Valores devueltos

Devuelve una matriz si se tuvo éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de timezone_abbreviations_list()

<?php
$timezone_abbreviations = DateTimeZone::listAbbreviations();
print_r($timezone_abbreviations["acst"]);
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => America/Porto_Acre
        )

    [1] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => America/Eirunepe
        )

    [2] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => America/Rio_Branco
        )

    [3] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => Brazil/Acre
        )

)

Ver también

  • timezone_identifiers_list() - Alias de DateTimeZone::listIdentifiers

DateTimeZone::getTransitions
DateTimeZone::listIdentifiers
DateTimeZone


Devuelve un array indexado numéricamente que contiene todos los identificadores de zonas horarias definidos

DateTimeZone::listAbbreviations
DateInterval
DateTimeZone
PHP Manual

DateTimeZone::listIdentifiers

timezone_identifiers_list

(PHP 5 >= 5.2.0)

DateTimeZone::listIdentifiers -- timezone_identifiers_list — Devuelve un array indexado numéricamente que contiene todos los identificadores de zonas horarias definidos

Descripción

Estilo orientado a objetos

public static array DateTimeZone::listIdentifiers ([ int $what = DateTimeZone::ALL [, string $country = NULL ]] )

Estilo por procedimientos

array timezone_identifiers_list ([ int $what = DateTimeZone::ALL [, string $country = NULL ]] )

Parámetros

what

Una de las constantes de la clase DateTimeZone.

country

Un código de país de dos letras compatible con ISO 3166-1.

Nota: Esta opción sólo se usa cuando el parámetro what está establecido a DateTimeZone::PER_COUNTRY.

Valores devueltos

Devuelve una matriz si se tuvo éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.3.0 | Añadidos los parámteros opcionales what y country.

Ejemplos

Ejemplo #1 Un ejemplo de timezone_identifiers_list()

<?php
$timezone_identifiers = DateTimeZone::listIdentifiers();
for ($i=0; $i < 5; $i++) {
    echo "$timezone_identifiers[$i]\n";
}
?>

El resultado del ejemplo sería algo similar a:

Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara

Ver también

  • timezone_abbreviations_list() - Alias de DateTimeZone::listAbbreviations

DateTimeZone::listAbbreviations
DateInterval
DateTimeZone


La clase DateInterval

(PHP 5 >= 5.3.0)

Introducción

Representa un intervalo de fechas.

Un intervalo de fechas almacena o bien una cantidad fija de momentos (en años, meses, días, horas, etc.) o bien un string de un momento relativo en el formato que admite el constructor de DateTime.

Sinopsis de la Clase

DateInterval {
/* Propiedades */
public integer $y ;
public integer $m ;
public integer $d ;
public integer $h ;
public integer $i ;
public integer $s ;
public integer $invert ;
public mixed $days ;
/* Métodos */
public __construct ( string $interval_spec )
public static DateInterval createFromDateString ( string $time )
public string format ( string $format )
}

Propiedades

y

Número de años.

m

Número de meses.

d

Número de días.

h

Número de horas.

i

Número de minutos.

s

Número de segundos.

invert

Es 1 si el intervalo representa un periodo de tiempo negativo y 0 si no. Véase DateInterval::format().

days

Si el objeto DateInterval se creó con DateTime::diff(), entonces es el número total de días entre las fechas de inicio y fin. Si no, days será FALSE.

Antes de PHP 5.4.20/5.5.4, en lugar de FALSE se recibía -99999 al acceder a la propiedad.

Tabla de contenidos

  • DateInterval::__construct — Crea un nuevo objeto DateInterval
  • DateInterval::createFromDateString — Establece un objeto DateInterval desde las partes relativas de una cadena
  • DateInterval::format — Formatea el intervalo
DateTimeZone::listIdentifiers
DateInterval::__construct
Fecha/Hora


Crea un nuevo objeto DateInterval

DateInterval
DateInterval::createFromDateString
DateInterval
PHP Manual

DateInterval::__construct

(PHP 5 >= 5.3.0)

DateInterval::__construct — Crea un nuevo objeto DateInterval

Descripción

public DateInterval::__construct() ( string $interval_spec )

Crea un nuevo objeto DateInterval.

Parámetros

interval_spec

Una especificación de intervalo.

El formato empieza con la letra P, de "periodo." Cada periodo de duración está representado por un valor integer seguido de un indicador de periodo. Si la duración contiene elementos de hora, esta parte de la especificación está precedida por una letra T.

Indicadores de Periodo de interval_spec
Indicador de periodo | Descripción
Y | años
M | meses
D | días
W | semanas. Éstas se convierten a días, por lo que no se puede combinar con D.
H | horas
M | minutos
S | segundos

Aquí hay algunos ejemplos sencillos. Dos días es P2D. Dos segundos es PT2S. Seis años y cinco minutos es P6YT5M.

Nota:

Los tipos de unidades deben ser escritos desde la unidad de escala más grande a la izquierda a la unidad de escala más pequeña a la derecha. Así los años van antes que los meses, meses antes que días, días antes que minutos, etc. Así un año y cuatro días debe representarse como P1Y4D, y no como P4D1Y.

La especificación también puede ser representada como una fecha/hora. Un ejemplo de un año y cuatro días sería P0001-00-04T00:00:00. Pero los valores en este formato no pueden exceder el punto de vuelta de un periodo (p.ej. 25 horas no es válido).

Estos formatos están basados en la » especificación de duración ISO 8601.

Errores/Excepciones

Lanza una Exception cuando el interval_spec no puede ser analizado como un intervalo.

Ejemplos

Ejemplo #1 Ejemplo de DateInterval

<?php

$intervalo = new DateInterval('P2Y4DT6H8M');
var_dump($intervalo);

?>

El resultado del ejemplo sería:

object(DateInterval)#1 (8) {
  ["y"]=>
  int(2)
  ["m"]=>
  int(0)
  ["d"]=>
  int(4)
  ["h"]=>
  int(6)
  ["i"]=>
  int(8)
  ["s"]=>
  int(0)
  ["invert"]=>
  int(0)
  ["days"]=>
  bool(false)
}

Ver también

  • DateInterval::format() - Formatea el intervalo
  • DateTime::add() - Añade una cantidad de días, meses, años, horas, minutos y segundos al objeto DateTime
  • DateTime::sub() - Sustrae una cantidad de días, meses, años, horas, minutos y segundos de un objeto DateTime
  • DateTime::diff() - Devuelve la diferencia entre dos objetos DateTime

DateInterval
DateInterval::createFromDateString
DateInterval


Establece un objeto DateInterval desde las partes relativas de una cadena

DateInterval::__construct
DateInterval::format
DateInterval
PHP Manual

DateInterval::createFromDateString

(PHP 5 >= 5.3.0)

DateInterval::createFromDateString — Establece un objeto DateInterval desde las partes relativas de una cadena

Descripción

public static DateInterval DateInterval::createFromDateString ( string $time )

Usa el analizador de fechas normal y estblece un objeto DateInterval desde las partes relativas de la cadena de caracteres analizada.

Parámetros

time

Una fecha con partes relativas. Específicamente, los formatos relativos admitidos por el analizador utilzados para strtotime() y DateTime se usarán para construir el objeto DateInterval.

Ejemplos

Ejemplo #1 Analizar intervalos de fechas válidos

<?php
// Cada conjunto de intervalos es igual.
$i = new DateInterval('P1D');
$i = DateInterval::createFromDateString('1 day');

$i = new DateInterval('P2W');
$i = DateInterval::createFromDateString('2 weeks');

$i = new DateInterval('P3M');
$i = DateInterval::createFromDateString('3 months');

$i = new DateInterval('P4Y');
$i = DateInterval::createFromDateString('4 years');

$i = new DateInterval('P1Y1D');
$i = DateInterval::createFromDateString('1 year + 1 day');

$i = new DateInterval('P1DT12H');
$i = DateInterval::createFromDateString('1 day + 12 hours');

$i = new DateInterval('PT3600S');
$i = DateInterval::createFromDateString('3600 seconds');
?>

Valores devueltos

Devuelve una nueva instancia de DateInterval.

DateInterval::__construct
DateInterval::format
DateInterval


Formatea el intervalo

DateInterval::createFromDateString
DatePeriod
DateInterval
PHP Manual

DateInterval::format

(PHP 5 >= 5.3.0)

DateInterval::format — Formatea el intervalo

Descripción

public string DateInterval::format ( string $format )

Formatea el intervalo.

Parámetros

format

Los siguietes caracteres están reconocidos en el parámetro de cadena format. Cada carácter de formato debe ser prefijado con un signo (%).
Carácter format | Descripción | Valores de ejemplo
% Literal % %
Y | Años, numérico, al menos 2 dígitos empezando con 0 | 01, 03
y | Años, numérico | 1, 3
M | Meses, numérico, al menos 2 dígitos empezando con 0 | 01, 03, 12
m | Meses, numérico | 1, 3, 12
D | Días, numérico, al menos 2 dígitos empezando con 0 | 01, 03, 31
d | Días, numérico | 1, 3, 31
a | Número total de días como resultado de una operación con DateTime::diff(), o de lo contrario (unknown) | 4, 18, 8123
H | Horas, numérico, al menos 2 dígitos empezando con 0 | 01, 03, 23
h | Horas, numérico | 1, 3, 23
I | Minutos, numérico, al menos 2 dígitos empezando con 0 | 01, 03, 59
i | Minutos, numérico | 1, 3, 59
S | Segundos, numérico, al menos 2 dígitos empezando con 0 | 01, 03, 57
s | Segundos, numérico | 1, 3, 57
R Signo "-" cuando es negativo, "+" cuando es positivo -, +
r Signo "-" cuando es negativo, vacío cuando es positivo -,

Valores devueltos

Devuelve el intervalo formateado.

Notas

Nota:

El método DateInterval::format() no recalcula los excesos en cadenas de hora ni en segmentos de fecha. Esto es así porque no es posible analizar valores como "32 días" el cual podría ser interpretado como cualquier cosa desde "1 mes y 4 días" hasta "1 mes y un día".

Ejemplos

Ejemplo #1 Ejemplo de DateInterval

<?php

$intervalo = new DateInterval('P2Y4DT6H8M');
echo $intervalo->format('%d días');

?>

El resultado del ejemplo sería:

4 días

Ejemplo #2 DateInterval y excesos

<?php

$intervalo = new DateInterval('P32D');
echo $intervalo->format('%d días');

?>

El resultado del ejemplo sería:

32 días

Ejemplo #3 DateInterval and DateTime::diff() with the %a and %d modifiers

<?php

$enero = new DateTime('2010-01-01');
$febrero = new DateTime('2010-02-01');
$intervalo = $febrero->diff($enero);

// %a imprimirá el múmero total de días.
echo $intervalo->format('%a total de días')."\n";

// Mientras que %d sólo imprimirá el múmero total de días no cubiertos por el
// mes.
echo $intervalo->format('%m mes, %d días');

?>

El resultado del ejemplo sería:

31 total days
1 month, 0 days

DateInterval::createFromDateString
DatePeriod
DateInterval


La clase DatePeriod

(PHP 5 >= 5.3.0)

Introducción

Representa un período de fechas.

Un período de la fecha permite la iteración sobre un conjunto de fechas y horas, se repiten a intervalos regulares, durante un período determinado.

Sinopsis de la Clase

DatePeriod implements Traversable {
/* Constantes */
const integer EXCLUDE_START_DATE = 1 ;
/* Métodos */
public __construct ( DateTime $start , DateInterval $interval , int $recurrences [, int $options ] )
public __construct ( DateTime $start , DateInterval $interval , DateTime $end [, int $options ] )
public __construct ( string $isostr [, int $options ] )
}

Constantes predefinidas

DatePeriod::EXCLUDE_START_DATE

Excluir la fecha inicial, usado en DatePeriod::__construct().

Tabla de contenidos

  • DatePeriod::__construct — Crea un nuevo objeto DatePeriod
DateInterval::format
DatePeriod::__construct
Fecha/Hora


Crea un nuevo objeto DatePeriod

DatePeriod
Funciones de Fecha/Hora
DatePeriod
PHP Manual

DatePeriod::__construct

(PHP 5 >= 5.3.0)

DatePeriod::__construct — Crea un nuevo objeto DatePeriod

Descripción

public DatePeriod::__construct() ( DateTime $start , DateInterval $interval , int $recurrences [, int $options ] )
public DatePeriod::__construct() ( DateTime $start , DateInterval $interval , DateTime $end [, int $options ] )
public DatePeriod::__construct() ( string $isostr [, int $options ] )

Crea un nuevo objeto DatePeriod.

Parámetros

start

La fecha de inicio del periodo.

interval

El intervalo entre repeticiones dentro del periodo.

recurrences

El número de repeticiones.

end

La fecha final del periodo.

isostr

Una especificación ISO 8601 del intervalo de repetición.

options

Se puede establecer a DatePeriod::EXCLUDE_START_DATE para excluir la fecha de inicio del conjunto de fechas de repetición dentro del periodo.

Ejemplos

Ejemplo #1 Ejemplo de DatePeriod

<?php
$inicio = new DateTime('2012-07-01');
$intervalo = new DateInterval('P7D');
$fin = new DateTime('2012-07-31');
$repeticiones = 4;
$iso = 'R4/2012-07-01T00:00:00Z/P7D';

// Todos estos periodos son equivalentes.
$periodo = new DatePeriod($inicio, $intervalo, $repeticiones);
$periodo = new DatePeriod($inicio, $intervalo, $fin);
$periodo = new DatePeriod($iso);

// Iterando sobre el objeto DatePeriod, se imprimen todas
// las fechas de repetición dentro del periodo.
foreach ($periodo as $fecha) {
    echo $fecha->format('Y-m-d')."\n";
}
?>

El resultado del ejemplo sería:

2012-07-01
2012-07-08
2012-07-15
2012-07-22
2012-07-29

Ejemplo #2 Ejemplo de DatePeriod con DatePeriod::EXCLUDE_START_DATE

<?php
$inicio = new DateTime('2012-07-01');
$intervalo = new DateInterval('P7D');
$fin = new DateTime('2012-07-31');

$periodo = new DatePeriod($inicio, $intervalo, $fin,
                         DatePeriod::EXCLUDE_START_DATE);

// Iterando sobre el objeto DatePeriod, se imprimen todas
// las fechas de repetición dentro del periodo.
// Observe que, en este caso, 2012-07-01 no se imprime.
foreach ($periodo as $fecha) {
    echo $fecha->format('Y-m-d')."\n";
}
?>

El resultado del ejemplo sería:

2012-07-08
2012-07-15
2012-07-22
2012-07-29

DatePeriod
Funciones de Fecha/Hora
DatePeriod


Funciones de Fecha/Hora

Tabla de contenidos

  • checkdate — Validar una fecha gregoriana
  • date_add — Alias de DateTime::add
  • date_create_from_format — Alias de DateTime::createFromFormat
  • date_create_immutable_from_format — Alias de DateTimeImmutable::createFromFormat
  • date_create_immutable — Alias de DateTimeImmutable::__construct
  • date_create — Alias de DateTime::__construct
  • date_date_set — Alias de DateTime::setDate
  • date_default_timezone_get — Obtiene la zona horaria predeterminada usada por todas las funciones de fecha/hora en un script
  • date_default_timezone_set — Establece la zona horaria predeterminada usada por todas las funciones de fecha/hora en un script
  • date_diff — Alias de DateTime::diff
  • date_format — Alias de DateTime::format
  • date_get_last_errors — Alias de DateTime::getLastErrors
  • date_interval_create_from_date_string — Alias de DateInterval::createFromDateString
  • date_interval_format — Alias de DateInterval::format
  • date_isodate_set — Alias de DateTime::setISODate
  • date_modify — Alias de DateTime::modify
  • date_offset_get — Alias de DateTime::getOffset
  • date_parse_from_format — Obtiene información de una fecha dada formateada de acuerdo al formato especificado
  • date_parse — Devuelve una matriz asociativa con información detallada acerca de una fecha dada
  • date_sub — Alias de DateTime::sub
  • date_sun_info — Devuelve una matriz con información sobre la puesta/salida del sol y el comienzo/final del crepúsculo
  • date_sunrise — Devuelve la hora de la salida del sol de un día y ubicación dados
  • date_sunset — Devuelve la hora de la puesta de sol de un día y ubicación dados
  • date_time_set — Alias de DateTime::setTime
  • date_timestamp_get — Alias de DateTime::getTimestamp
  • date_timestamp_set — Alias de DateTime::setTimestamp
  • date_timezone_get — Alias de DateTime::getTimezone
  • date_timezone_set — Alias de DateTime::setTimezone
  • date — Dar formato a la fecha/hora local
  • getdate — Obtener información de la fecha/hora
  • gettimeofday — Obtener la hora actual
  • gmdate — Formatea una fecha/hora GMT/UTC
  • gmmktime — Obtener la marca de tiempo Unix para una fecha GMT
  • gmstrftime — Formatear una fecha/hora GMT/UTC según la configuración regional
  • idate — Formatea una fecha/hora local como un entero
  • localtime — Obtiene fecha y hora local
  • microtime — Devuelve la fecha Unix actual con microsegundos
  • mktime — Obtener la marca de tiempo Unix de una fecha
  • strftime — Formatea una fecha/hora local según la configuración regional
  • strptime — Analiza una fecha/hora generada con strftime
  • strtotime — Convierte una descripción de fecha/hora textual en Inglés a una fecha Unix
  • time — Devuelve la fecha Unix actual
  • timezone_abbreviations_list — Alias de DateTimeZone::listAbbreviations
  • timezone_identifiers_list — Alias de DateTimeZone::listIdentifiers
  • timezone_location_get — Alias de DateTimeZone::getLocation
  • timezone_name_from_abbr — Devuelve el nombre de la zona horaria desde su abreviatura
  • timezone_name_get — Alias de DateTimeZone::getName
  • timezone_offset_get — Alias de DateTimeZone::getOffset
  • timezone_open — Alias de DateTimeZone::__construct
  • timezone_transitions_get — Alias de DateTimeZone::getTransitions
  • timezone_version_get — Obtiene la versión de la base de datos timezonedb
DatePeriod::__construct
checkdate
Fecha/Hora


Validar una fecha gregoriana

Funciones de Fecha/Hora
date_add
Funciones de Fecha/Hora
PHP Manual

checkdate

(PHP 4, PHP 5)

checkdate — Validar una fecha gregoriana

Descripción

bool checkdate ( int $month , int $day , int $year )

Comprueba la validez de una fecha formada por los argumentos. Una fecha se considera válida si cada parámetro está propiamente definido.

Parámetros

month

El mes entre 1 y 12 inclusive.

day

El día que está dentro del número de días del mes month dado. Los años year bisiestos son tomados en consideración.

year

El año entre 1 y 32767 inclusive.

Valores devueltos

Devuelve TRUE si la fecha dada es válida, si no, devuelve FALSE.

Ejemplos

Ejemplo #1 Ejemplo de checkdate()

<?php
var_dump(checkdate(12, 31, 2000));
var_dump(checkdate(2, 29, 2001));
?>

El resultado del ejemplo sería:

bool(true)
bool(false)

Ver también

  • mktime() - Obtener la marca de tiempo Unix de una fecha
  • strtotime() - Convierte una descripción de fecha/hora textual en Inglés a una fecha Unix

Funciones de Fecha/Hora
date_add
Funciones de Fecha/Hora


Alias de DateTime::add

checkdate
date_create_from_format
Funciones de Fecha/Hora
PHP Manual

date_add

(PHP 5 >= 5.3.0)

date_add — Alias de DateTime::add()

Descripción

Esta función es un alias de: DateTime::add()

checkdate
date_create_from_format
Funciones de Fecha/Hora


Alias de DateTime::createFromFormat

date_add
date_create_immutable_from_format
Funciones de Fecha/Hora
PHP Manual

date_create_from_format

(PHP 5 >= 5.3.0)

date_create_from_format — Alias de DateTime::createFromFormat()

Descripción

Esta función es un alias de: DateTime::createFromFormat()

date_add
date_create_immutable_from_format
Funciones de Fecha/Hora


Alias de DateTimeImmutable::createFromFormat

date_create_from_format
date_create_immutable
Funciones de Fecha/Hora
PHP Manual

date_create_immutable_from_format

(PHP 5 >= 5.5.0)

date_create_immutable_from_format — Alias de DateTimeImmutable::createFromFormat()

Descripción

Esta función es un alias de: DateTimeImmutable::createFromFormat()

date_create_from_format
date_create_immutable
Funciones de Fecha/Hora


Alias de DateTimeImmutable::__construct

date_create_immutable_from_format
date_create
Funciones de Fecha/Hora
PHP Manual

date_create_immutable

(PHP 5 >= 5.5.0)

date_create_immutable — Alias de DateTimeImmutable::__construct()

Descripción

Esta función es un alias de: DateTimeImmutable::__construct()

date_create_immutable_from_format
date_create
Funciones de Fecha/Hora


Alias de DateTime::__construct

date_create_immutable
date_date_set
Funciones de Fecha/Hora
PHP Manual

date_create

(PHP 5 >= 5.2.0)

date_create — Alias de DateTime::__construct()

Descripción

Esta función es un alias de: DateTime::__construct()

date_create_immutable
date_date_set
Funciones de Fecha/Hora


Alias de DateTime::setDate

date_create
date_default_timezone_get
Funciones de Fecha/Hora
PHP Manual

date_date_set

(PHP 5 >= 5.2.0)

date_date_set — Alias de DateTime::setDate()

Descripción

Esta función es un alias de: DateTime::setDate()

date_create
date_default_timezone_get
Funciones de Fecha/Hora


Obtiene la zona horaria predeterminada usada por todas las funciones de fecha/hora en un script

date_date_set
date_default_timezone_set
Funciones de Fecha/Hora
PHP Manual

date_default_timezone_get

(PHP 5 >= 5.1.0)

date_default_timezone_get — Obtiene la zona horaria predeterminada usada por todas las funciones de fecha/hora en un script

Descripción

string date_default_timezone_get ( void )

En orden de preferencia, esta función devuelve la zona horaria predeternimada mediante:

  • Leer la zona horaria usando la función date_default_timezone_set() (si hay alguna)

  • Sólo antes de PHP 5.4.0: Leer la variable de entorno TZ (si no está vacía)

  • Leer el valor de la opción ini date.timezone (si está establecida)

  • Sólo antes de PHP 5.4.0: Preguntar al sistema operativo (siempre que el SO lo soporte y lo permita). Utiliza un algoritmo que debe estimar la zona horaria. No funcionará de forma necesariamente correcta en todas las situaciones posibles. Si se diera este caso, se mostrará una alerta. No se aconseja depender de esta función. En su lugar, debe establecerse la zona horaria correcta con date.timezone

Si nada de lo de arriba sucedió, date_default_timezone_get() devolverá una zona horaria predeterminada de UTC.

Valores devueltos

Devuelve un string.

Historial de cambios

Versión | Descripción
5.4.0 | La variable de entorno TZ ya no se usa para adivinar la zona horaria.
5.4.0 | La zona horaria ya no se adivina de la información disponible a través del sistema operativo, la zona horaria adivinada no puede invocarse.

Ejemplos

Ejemplo #1 Obtener la zona horaria por defecto

<?php
date_default_timezone_set('Europe/London');

if (date_default_timezone_get()) {
    echo 'date_default_timezone_set: ' . date_default_timezone_get() . '<br />';
}

if (ini_get('date.timezone')) {
    echo 'date.timezone: ' . ini_get('date.timezone');
}

?>

El resultado del ejemplo sería algo similar a:

date_default_timezone_set: Europe/London
date.timezone: Europe/London

Ejemplo #2 Obtener la abreviatura de una zona horaria

<?php
date_default_timezone_set('America/Los_Angeles');
echo date_default_timezone_get() . ' => ' . date('e') . ' => ' . date('T');
?>

El resultado del ejemplo sería:

America/Los_Angeles => America/Los_Angeles => PST

Ver también

  • date_default_timezone_set() - Establece la zona horaria predeterminada usada por todas las funciones de fecha/hora en un script
  • Listado de zonas horarias soportadas

date_date_set
date_default_timezone_set
Funciones de Fecha/Hora


Establece la zona horaria predeterminada usada por todas las funciones de fecha/hora en un script

date_default_timezone_get
date_diff
Funciones de Fecha/Hora
PHP Manual

date_default_timezone_set

(PHP 5 >= 5.1.0)

date_default_timezone_set — Establece la zona horaria predeterminada usada por todas las funciones de fecha/hora en un script

Descripción

bool date_default_timezone_set ( string $timezone_identifier )

date_default_timezone_set() establece la zona horaria predetermiada usada por todas las funciones de fecha/hora.

Nota:

A partir de PHP 5.1.0 (cuando las funciones de fecha/hora fueron reescritas), cada llamada a la función de fecha/hora generará un E_NOTICE si la zona horaria no es válida, y/o un mensaje E_WARNING si se usa la configuración del sistema o la variable de entorno TZ.

En vez de usar esta función para establecer la zona horaria predeterminada en su script, puede usar también la configuración INI date.timezone para establecer la zona horaria predeterminada.

Parámetros

timezone_identifier

El indentificador de la zona horaria, como UTC o Europe/Lisbon. La lista de los identificadores válidos está disponible en la Listado de zonas horarias soportadas.

Valores devueltos

Esta función devuelve FALSE si timezone_identifier no es válido, o TRUE de otro modo.

Ejemplos

Ejemplo #1 Obtener la zona horaria por defecto

<?php
date_default_timezone_set('America/Los_Angeles');

$script_tz = date_default_timezone_get();

if (strcmp($script_tz, ini_get('date.timezone'))){
    echo 'La zona horaria del script difiere de la zona horaria de la configuracion ini.';
} else {
    echo 'La zona horaria del script y la zona horaria de la configuración ini coinciden.';
}
?>

Historial de cambios

Versión | Descripción
5.3.0 | Ahora se lanza un E_WARNING en vez de un E_STRICT.
5.1.2 | La función comenzo a validar el parámetro timezone_identifier.

Ver también

  • date_default_timezone_get() - Obtiene la zona horaria predeterminada usada por todas las funciones de fecha/hora en un script
  • Listado de zonas horarias soportadas

date_default_timezone_get
date_diff
Funciones de Fecha/Hora


Alias de DateTime::diff

date_default_timezone_set
date_format
Funciones de Fecha/Hora
PHP Manual

date_diff

(PHP 5 >= 5.3.0)

date_diff — Alias de DateTime::diff()

Descripción

Esta función es un alias de: DateTime::diff()

date_default_timezone_set
date_format
Funciones de Fecha/Hora


Alias de DateTime::format

date_diff
date_get_last_errors
Funciones de Fecha/Hora
PHP Manual

date_format

(PHP 5 >= 5.2.0)

date_format — Alias de DateTime::format()

Descripción

Esta función es un alias de: DateTime::format()

date_diff
date_get_last_errors
Funciones de Fecha/Hora


Alias de DateTime::getLastErrors

date_format
date_interval_create_from_date_string
Funciones de Fecha/Hora
PHP Manual

date_get_last_errors

(PHP 5 >= 5.3.0)

date_get_last_errors — Alias de DateTime::getLastErrors()

Descripción

Esta función es un alias de: DateTime::getLastErrors()

date_format
date_interval_create_from_date_string
Funciones de Fecha/Hora


Alias de DateInterval::createFromDateString

date_get_last_errors
date_interval_format
Funciones de Fecha/Hora
PHP Manual

date_interval_create_from_date_string

(PHP 5 >= 5.3.0)

date_interval_create_from_date_string — Alias de DateInterval::createFromDateString()

Descripción

Esta función es un alias de: DateInterval::createFromDateString()

date_get_last_errors
date_interval_format
Funciones de Fecha/Hora


Alias de DateInterval::format

date_interval_create_from_date_string
date_isodate_set
Funciones de Fecha/Hora
PHP Manual

date_interval_format

(PHP 5 >= 5.3.0)

date_interval_format — Alias de DateInterval::format()

Descripción

Esta función es un alias de: DateInterval::format()

date_interval_create_from_date_string
date_isodate_set
Funciones de Fecha/Hora


Alias de DateTime::setISODate

date_interval_format
date_modify
Funciones de Fecha/Hora
PHP Manual

date_isodate_set

(PHP 5 >= 5.2.0)

date_isodate_set — Alias de DateTime::setISODate()

Descripción

Esta función es un alias de: DateTime::setISODate()

date_interval_format
date_modify
Funciones de Fecha/Hora


Alias de DateTime::modify

date_isodate_set
date_offset_get
Funciones de Fecha/Hora
PHP Manual

date_modify

(PHP 5 >= 5.2.0)

date_modify — Alias de DateTime::modify()

Descripción

Esta función es un alias de: DateTime::modify()

date_isodate_set
date_offset_get
Funciones de Fecha/Hora


Alias de DateTime::getOffset

date_modify
date_parse_from_format
Funciones de Fecha/Hora
PHP Manual

date_offset_get

(PHP 5 >= 5.2.0)

date_offset_get — Alias de DateTime::getOffset()

Descripción

Esta función es un alias de: DateTime::getOffset()

date_modify
date_parse_from_format
Funciones de Fecha/Hora


Obtiene información de una fecha dada formateada de acuerdo al formato especificado

date_offset_get
date_parse
Funciones de Fecha/Hora
PHP Manual

date_parse_from_format

(PHP 5 >= 5.3.0)

date_parse_from_format — Obtiene información de una fecha dada formateada de acuerdo al formato especificado

Descripción

array date_parse_from_format ( string $format , string $date )

Devuelve una matriz asociativa con información detallada acerca de la fecha dada.

Parámetros

format

Un formato aceptado por DateTime::createFromFormat().

date

Una cadena que representa la fecha.

Valores devueltos

Devuelve una matriz asociativa con información detallada de la fecha dada.

Ejemplos

Ejemplo #1 Ejemplo de date_parse_from_format()

<?php
$fecha = "6.1.2009 13:00+01:00";
print_r(date_parse_from_format("j.n.Y H:iP", $fecha));
?>

El resultado del ejemplo sería:

Array
(
    [year] => 2009
    [month] => 1
    [day] => 6
    [hour] => 13
    [minute] => 0
    [second] => 0
    [fraction] =>
    [warning_count] => 0
    [warnings] => Array
        (
        )

    [error_count] => 0
    [errors] => Array
        (
        )

    [is_localtime] => 1
    [zone_type] => 1
    [zone] => -60
    [is_dst] =>
)

Ver también

  • DateTime::createFromFormat() - Devuelve un nuevo objeto DateTime formateado según el formato especificado
  • checkdate() - Validar una fecha gregoriana

date_offset_get
date_parse
Funciones de Fecha/Hora


Devuelve una matriz asociativa con información detallada acerca de una fecha dada

date_parse_from_format
date_sub
Funciones de Fecha/Hora
PHP Manual

date_parse

(PHP 5 >= 5.2.0)

date_parse — Devuelve una matriz asociativa con información detallada acerca de una fecha dada

Descripción

array date_parse ( string $date )

Parámetros

date

La fecha en un formato aceptado por strtotime().

Valores devueltos

Devuelve un array con información sobre la fecha analizada si se tuvo éxito o FALSE en caso de error.

Errores/Excepciones

En el caso de que el formato de fecha tenga un error, el elemento 'errors' contendrá los mensajes de error.

Ejemplos

Ejemplo #1 Un ejemplo de date_parse()

<?php
print_r(date_parse("2006-12-12 10:00:00.5"));
?>

El resultado del ejemplo sería:

Array
(
    [year] => 2006
    [month] => 12
    [day] => 12
    [hour] => 10
    [minute] => 0
    [second] => 0
    [fraction] => 0.5
    [warning_count] => 0
    [warnings] => Array()
    [error_count] => 0
    [errors] => Array()
    [is_localtime] =>
)

Ver también

  • checkdate() - Validar una fecha gregoriana
  • getdate() - Obtener información de la fecha/hora

date_parse_from_format
date_sub
Funciones de Fecha/Hora


Alias de DateTime::sub

date_parse
date_sun_info
Funciones de Fecha/Hora
PHP Manual

date_sub

(PHP 5 >= 5.3.0)

date_sub — Alias de DateTime::sub()

Descripción

Esta función es un alias de: DateTime::sub()

date_parse
date_sun_info
Funciones de Fecha/Hora


Devuelve una matriz con información sobre la puesta/salida del sol y el comienzo/final del crepúsculo

date_sub
date_sunrise
Funciones de Fecha/Hora
PHP Manual

date_sun_info

(PHP 5 >= 5.1.2)

date_sun_info — Devuelve una matriz con información sobre la puesta/salida del sol y el comienzo/final del crepúsculo

Descripción

array date_sun_info ( int $time , float $latitude , float $longitude )

Parámetros

time

Marca de tiempo.

latitude

Latitud en grados.

longitude

Longitud en grados.

Valores devueltos

Devuelve una matriz si se tuvo éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de date_sun_info()

<?php
$sun_info = date_sun_info(strtotime("2006-12-12"), 31.7667, 35.2333);
foreach ($sun_info as $clave => $valor) {
    echo "$clave: " . date("H:i:s", $valor) . "\n";
}
?>

El resultado del ejemplo sería:

sunrise: 05:52:11
sunset: 15:41:21
transit: 10:46:46
civil_twilight_begin: 05:24:08
civil_twilight_end: 16:09:24
nautical_twilight_begin: 04:52:25
nautical_twilight_end: 16:41:06
astronomical_twilight_begin: 04:21:32
astronomical_twilight_end: 17:12:00

Ver también

  • date_sunrise() - Devuelve la hora de la salida del sol de un día y ubicación dados
  • date_sunset() - Devuelve la hora de la puesta de sol de un día y ubicación dados

date_sub
date_sunrise
Funciones de Fecha/Hora


Devuelve la hora de la salida del sol de un día y ubicación dados

date_sun_info
date_sunset
Funciones de Fecha/Hora
PHP Manual

date_sunrise

(PHP 5)

date_sunrise — Devuelve la hora de la salida del sol de un día y ubicación dados

Descripción

mixed date_sunrise ( int $timestamp [, int $format = SUNFUNCS_RET_STRING [, float $latitude = ini_get("date.default_latitude") [, float $longitude = ini_get("date.default_longitude") [, float $zenith = ini_get("date.sunrise_zenith") [, float $gmt_offset = 0 ]]]]] )

date_sunrise() devuelve la hora de la salida del sol para un día (especificado como timestamp) y ubicación dados.

Parámetros

timestamp

La marca de tiempo timestamp del día del que se va a tomar la salida del sol.

format

Constantes format
constante | descripción | ejemplo
SUNFUNCS_RET_STRING | devuelve el resultado como string | 16:46
SUNFUNCS_RET_DOUBLE | devuelve el resultado como float | 16.78243132
SUNFUNCS_RET_TIMESTAMP | devuelve el resultado como integer (timestamp) | 1095034606

latitude

La latitud, por defecto a Norte, y como valor negativo a Sur. Vea también: date.default_latitude

longitude

La longitud, por defecto a Este, y como valor negativo a Oeste. Vea tambien: date.default_longitude

zenith

El cénit, por defecto: date.sunset_zenith

gmtoffset

El índice GMT especificado en horas.

Valores devueltos

Devuelve la hora de la salida del sol en un formato format especificado si se tuvo éxito o FALSE en caso de error.

Errores/Excepciones

Cada vez que se llame a la función date/time se generará un E_NOTICE si la zona horaria no es válida, y/o un mensaje E_STRICT o E_WARNING si se usa la configuración del sistema o la variable global TZ. Vea también date_default_timezone_set()

Historial de cambios

Versión | Descripción
5.1.0 | Ahora muestra E_STRICT y E_NOTICE cuando ocurren errores con zonas horarias.

Ejemplos

Ejemplo #1 Ejemplo de date_sunrise()

<?php

/* calcular la salida del sol para Lisboa, Portugal
Latitud: 38.4 Norte
Longitud: 9 Oeste
Cenit ~= 90
Índice: +1 GMT
*/

echo date("D M d Y"). ', hora de la salida del sol : ' .date_sunrise(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);

?>

El resultado del ejemplo sería algo similar a:

Mon Dec 20 2004, hora de la salida del sol : 08:54

Ver también

  • date_sunset() - Devuelve la hora de la puesta de sol de un día y ubicación dados

date_sun_info
date_sunset
Funciones de Fecha/Hora


Devuelve la hora de la puesta de sol de un día y ubicación dados

date_sunrise
date_time_set
Funciones de Fecha/Hora
PHP Manual

date_sunset

(PHP 5)

date_sunset — Devuelve la hora de la puesta de sol de un día y ubicación dados

Descripción

mixed date_sunset ( int $timestamp [, int $format = SUNFUNCS_RET_STRING [, float $latitude = ini_get("date.default_latitude") [, float $longitude = ini_get("date.default_longitude") [, float $zenith = ini_get("date.sunset_zenith") [, float $gmt_offset = 0 ]]]]] )

date_sunset() devuelve la hora de la puesta de sol para un día (especificado como timestamp) y ubicación dados.

Parámetros

timestamp

La marca de tiempo timestamp del día del que se va a tomar la puesta de sol.

format

Constantes format
constante | descripción | ejemplo
SUNFUNCS_RET_STRING | devuelve el resultado como string | 16:46
SUNFUNCS_RET_DOUBLE | devuelve el resultado como float | 16.78243132
SUNFUNCS_RET_TIMESTAMP | devuelve el resultado como integer (timestamp) | 1095034606

latitude

La latitud, por defecto a Norte, y como valor negativo a Sur. Vea también: date.default_latitude

longitude

La longitud, por defecto a Este, y como valor negativo a Oeste. Vea tambien: date.default_longitude

zenith

El cénit, por defecto: date.sunset_zenith

gmtoffset

El índice GMT especificado en horas.

Errores/Excepciones

Cada vez que se llame a la función date/time se generará un E_NOTICE si la zona horaria no es válida, y/o un mensaje E_STRICT o E_WARNING si se usa la configuración del sistema o la variable global TZ. Vea también date_default_timezone_set()

Historial de cambios

Versión | Descripción
5.1.0 | Ahora muestra E_STRICT y E_NOTICE cuando ocurren errores con zonas horarias.

Valores devueltos

Devuelve la hora de la puesta de sol en un formato format especificado si se tuvo éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de date_sunset()

<?php

/* calcular la puesta de sol para Lisboa, Portugal
Latitud: 38.4 Norte
Longitud: 9 Oeste
Cenit ~= 90
Índice: +1 GMT
*/

echo date("D M d Y"). ', hora de la puesta de sol : ' .date_sunset(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);

?>

El resultado del ejemplo sería algo similar a:

Mon Dec 20 2004, hora de la puesta de sol : 18:13

Ver también

  • date_sunrise() - Devuelve la hora de la salida del sol de un día y ubicación dados

date_sunrise
date_time_set
Funciones de Fecha/Hora


Alias de DateTime::setTime

date_sunset
date_timestamp_get
Funciones de Fecha/Hora
PHP Manual

date_time_set

(PHP 5 >= 5.2.0)

date_time_set — Alias de DateTime::setTime()

Descripción

Esta función es un alias de: DateTime::setTime()

date_sunset
date_timestamp_get
Funciones de Fecha/Hora


Alias de DateTime::getTimestamp

date_time_set
date_timestamp_set
Funciones de Fecha/Hora
PHP Manual

date_timestamp_get

(PHP 5 >= 5.3.0)

date_timestamp_get — Alias de DateTime::getTimestamp()

Descripción

Esta función es un alias de: DateTime::getTimestamp()

date_time_set
date_timestamp_set
Funciones de Fecha/Hora


Alias de DateTime::setTimestamp

date_timestamp_get
date_timezone_get
Funciones de Fecha/Hora
PHP Manual

date_timestamp_set

(PHP 5 >= 5.3.0)

date_timestamp_set — Alias de DateTime::setTimestamp()

Descripción

Esta función es un alias de: DateTime::setTimestamp()

date_timestamp_get
date_timezone_get
Funciones de Fecha/Hora


Alias de DateTime::getTimezone

date_timestamp_set
date_timezone_set
Funciones de Fecha/Hora
PHP Manual

date_timezone_get

(PHP 5 >= 5.2.0)

date_timezone_get — Alias de DateTime::getTimezone()

Descripción

Esta función es un alias de: DateTime::getTimezone()

date_timestamp_set
date_timezone_set
Funciones de Fecha/Hora


Alias de DateTime::setTimezone

date_timezone_get
date
Funciones de Fecha/Hora
PHP Manual

date_timezone_set

(PHP 5 >= 5.2.0)

date_timezone_set — Alias de DateTime::setTimezone()

Descripción

Esta función es un alias de: DateTime::setTimezone()

date_timezone_get
date
Funciones de Fecha/Hora


Dar formato a la fecha/hora local

date_timezone_set
getdate
Funciones de Fecha/Hora
PHP Manual

date

(PHP 4, PHP 5)

date — Dar formato a la fecha/hora local

Descripción

string date ( string $format [, int $timestamp = time() ] )

Devuelve una cadena formateada según el formato dado usando el parámetro de tipo integer timestamp dado o el momento actual si no se da una marca de tiempo. En otras palabras, timestamp es opcional y por defecto es el valor de time().

Parámetros

format

El formato de la fecha de salida tipo string. Vea las opciones de formato más abajo. También hay varias constantes de fecha predefinidas que pueden usarse en su lugar, así por ejemplo DATE_RSS contiene la cadena de formato 'D, d M Y H:i:s'.

Los siguientes caracteres están reconocidos en el parámetro de cadena format
Carácter de format | Descripción | Ejemplo de valores devueltos
Día --- ---
d | Día del mes, 2 dígitos con ceros iniciales | 01 a 31
D | Una representación textual de un día, tres letras | Mon hasta Sun
j | Día del mes sin ceros iniciales | 1 a 31
l ('L' minúscula) | Una representación textual completa del día de la semana | Sunday hasta Saturday
N | Representación numérica ISO-8601 del día de la semana (añadido en PHP 5.1.0) | 1 (para lunes) hasta 7 (para domingo)
S | Sufijo ordinal inglés para el día del mes, 2 caracteres | st, nd, rd o th. Funciona bien con j
w | Representación numérica del día de la semana | 0 (para domingo) hasta 6 (para sábado)
z | El día del año (comenzando por 0) | 0 hasta 365
Semana --- ---
W | Número de la semana del año ISO-8601, las semanas comienzan en lunes (añadido en PHP 4.1.0) | Ejemplo: 42 (la 42ª semana del año)
Mes --- ---
F | Una representación textual completa de un mes, como January o March | January hasta December
m | Representación numérica de una mes, con ceros iniciales | 01 hasta 12
M | Una representación textual corta de un mes, tres letras | Jan hasta Dec
n | Representación numérica de un mes, sin ceros iniciales | 1 hasta 12
t | Número de días del mes dado | 28 hasta 31
Año --- ---
L | Si es un año bisiesto | 1 si es bisiesto, 0 si no.
o | Número de año ISO-8601. Esto tiene el mismo valor que Y, excepto que si el número de la semana ISO (W) pertenece al año anterior o siguiente, se usa ese año en su lugar. (añadido en PHP 5.1.0) | Ejemplos: 1999 o 2003
Y | Una representación numérica completa de un año, 4 dígitos | Ejemplos: 1999 o 2003
y | Una representación de dos dígitos de un año | Ejemplos: 99 o 03
Hora --- ---
a | Ante meridiem y Post meridiem en minúsculas | am o pm
A | Ante meridiem y Post meridiem en mayúsculas | AM o PM
B | Hora Internet | 000 hasta 999
g | Formato de 12 horas de una hora sin ceros iniciales | 1 hasta 12
G | Formato de 24 horas de una hora sin ceros iniciales | 0 hasta 23
h | Formato de 12 horas de una hora con ceros iniciales | 01 hasta 12
H | Formato de 24 horas de una hora con ceros iniciales | 00 hasta 23
i | Minutos, con ceros iniciales | 00 hasta 59
s | Segundos, con ceros iniciales | 00 hasta 59
u | Microsegundos (añadido en PHP 5.2.2). Observe que date() siempre generará 000000 ya que toma un parámetro de tipo integer, mientras que DateTime::format() admite microsegundos. | Ejemplo: 654321
Zona Horaria --- ---
e | Identificador de zona horaria (añadido en PHP 5.1.0) | Ejemplos: UTC, GMT, Atlantic/Azores
I (i mayúscula) | Si la fecha está en horario de verano o no | 1 si está en horario de verano, 0 si no.
O | Diferencia de la hora de Greenwich (GMT) en horas | Ejemplo: +0200
P | Diferencia con la hora de Greenwich (GMT) con dos puntos entre horas y minutos (añadido en PHP 5.1.3) | Ejemplo: +02:00
T | Abreviatura de la zona horaria | Ejemplos: EST, MDT ...
Z | Índice de la zona horaria en segundos. El índice para zonas horarias al oeste de UTC siempre es negativo, y para aquellas al este de UTC es siempre positivo. | -43200 hasta 50400
Fecha/Hora Completa --- ---
c | Fecha ISO 8601 (añadido en PHP 5) | 2004-02-12T15:19:21+00:00
r | Fecha con formato » RFC 2822 | Ejemplo: Thu, 21 Dec 2000 16:01:07 +0200
U | Segundos desde la Época Unix (1 de Enero del 1970 00:00:00 GMT) | Vea también time()

Los caracteres no reconocidos en la cadena de formato serán impresos tal cual. El formato Z siempre devolverá 0 cuando se usa gmdate().

Nota:

Ya que esta función sólo acepta marcas de tiempo de tipo integer el carácter de formato u sólo es útil cuando se usa la función date_format() con marcas de tiempo basadas en usuario creadas con date_create().

timestamp

El parámetro opcional timestamp es una marca de tiempo Unix de tipo integer que por defecto es la hora local si no se proporciona ningún valor a timestamp. En otras palabras, es por defecto el valor de la función time().

Valores devueltos

Devuelve una cadena de fecha formateada. Si se usa un valor no numérico para timestamp, se devuelve FALSE y se emite un error de nivel E_WARNING.

Errores/Excepciones

Cada vez que se llame a la función date/time se generará un E_NOTICE si la zona horaria no es válida, y/o un mensaje E_STRICT o E_WARNING si se usa la configuración del sistema o la variable global TZ. Vea también date_default_timezone_set()

Historial de cambios

Versión | Descripción
5.1.0 | El rango válido de una marca de tiempo es típicamente desde Fri, 13 Dec 1901 20:45:54 GMT a Tue, 19 Jan 2038 03:14:07 GMT. (Estas son las fechas que corresponden a los valores mínimo y máximo de un entero con signo de 32 bit). Sin embargo, antes de PHP 5.1.0 este rango estaba limitado desde 01-01-1970 a 19-01-2038 en algunos sistemas (p.ej. Windows).
5.1.0 | Ahora muestra E_STRICT y E_NOTICE cuando ocurren errores con zonas horarias.
5.1.1 | Hay constantes útiles de formatos de fecha/hora estándar que se pueden usar para especificar el parámetro format.

Ejemplos

Ejemplo #1 Ejemplo de date()

<?php
// Establecer la zona horaria predeterminada a usar. Disponible desde PHP 5.1
date_default_timezone_set('UTC');

// Imprime algo como: Monday
echo date("l");

// Imprime algo como: Monday 8th of August 2005 03:12:46 PM
echo date('l jS \of F Y h:i:s A');

// Imprime: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));

/* Usar las constantes en el parámetro de formato */
// Imprime algo como: Wed, 25 Sep 2013 15:28:57 -0700
echo date(DATE_RFC2822);

// Imprime algo como: 2000-07-01T00:00:00+00:00
echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));
?>

Puede prevenir que un carácter reconocido en la cadena de formato sea expandido escapándolo con una barra invertida precedente. Si el carácter con una barra invertida es ya una secuencia especial, necesitará escapar también la barra invertida.

Ejemplo #2 Escapar caracteres en date()

<?php
// imprime algo como: Wednesday the 15th
echo date('l \t\h\e jS');
?>

Es posible usar date() y mktime() juntos para buscar fechas en el futuro o en el pasado.

Ejemplo #3 Ejemplo de date() y mktime()

<?php
$mañana        = mktime(0, 0, 0, date("m")  , date("d")+1, date("Y"));
$mes_anterior  = mktime(0, 0, 0, date("m")-1, date("d"),   date("Y"));
$año_siguiente = mktime(0, 0, 0, date("m"),   date("d"),   date("Y")+1);
?>

Nota:

Esto puede ser más fiable que añadir o sustraer simplemente el número de segundos de un día o mes a una marca de tiempo debido al horario de verano.

Algunos ejemplos de formatear date(). Observe que debería escapar cualesquiera otros caracteres, ya que cualquiera que tenga actualmente un significado especial producirá resultados no deseados, y a otros caracteres se les pueden asignar significado en futuras versiones de PHP. Cuando se escapa un carácter, asegúrese de usar comillas simples para prevenir que caracteres como \n se conviertan en nuevas líneas.

Ejemplo #4 date() Formatting

<?php
// Se asume que hoy es March 10th, 2001, 5:16:18 pm, y que estamos en la
// zona horaria Mountain Standard Time (MST)

$hoy = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$hoy = date("m.d.y");                         // 03.10.01
$hoy = date("j, n, Y");                       // 10, 3, 2001
$hoy = date("Ymd");                           // 20010310
$hoy = date('h-i-s, j-m-y, it is w Day');     // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$hoy = date('\i\t \i\s \t\h\e jS \d\a\y.');   // it is the 10th day.
$hoy = date("D M j G:i:s T Y");               // Sat Mar 10 17:16:18 MST 2001
$hoy = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:18 m is month
$hoy = date("H:i:s");                         // 17:16:18
$hoy = date("Y-m-d H:i:s");                   // 2001-03-10 17:16:18 (el formato DATETIME de MySQL)
?>

Para formatear fechas en otros lenguajes debería usar las funciones setlocale() y strftime() en vez de date().

Notas

Nota:

Para generar una marca de tiempo desde una cadena que representa la fecha, puede usar strtotime(). Adicionalmente, algunas bases de datos tienen funciones para convertir formatos de fecha en marcas de tiempo (como la función » UNIX_TIMESTAMP de MySQL).

Sugerencia

La marca de tiempo del inicio de una petición está disponible en $_SERVER['REQUEST_TIME'] desde PHP 5.1.

Ver también

  • gmdate() - Formatea una fecha/hora GMT/UTC
  • idate() - Formatea una fecha/hora local como un entero
  • getdate() - Obtener información de la fecha/hora
  • getlastmod() - Obtiene la hora de la última modificación de la página
  • mktime() - Obtener la marca de tiempo Unix de una fecha
  • strftime() - Formatea una fecha/hora local según la configuración regional
  • time() - Devuelve la fecha Unix actual
  • strtotime() - Convierte una descripción de fecha/hora textual en Inglés a una fecha Unix
  • Constantes Predefinidas de DateTime

date_timezone_set
getdate
Funciones de Fecha/Hora


Obtener información de la fecha/hora

date
gettimeofday
Funciones de Fecha/Hora
PHP Manual

getdate

(PHP 4, PHP 5)

getdate — Obtener información de la fecha/hora

Descripción

array getdate ([ int $timestamp = time() ] )

Devuelve un array asociativo que contiene la información de la fecha de timestamp, o el momento local actual si no se da timestamp.

Parámetros

timestamp

El parámetro opcional timestamp es una marca de tiempo Unix de tipo integer que por defecto es la hora local si no se proporciona ningún valor a timestamp. En otras palabras, es por defecto el valor de la función time().

Valores devueltos

Devuelve un array asociativo con información relacionada con la marca de tiempo timestamp. Los elementos devueltos de la matriz asociativa son los siguientes:

Las claves de la matriz asociativa devuelta
Clave | Descripción | Ejemplo de valores devueltos
"seconds" | Representacion numérica de los segundos | 0 a 59
"minutes" | Representacion numérica de los minutos | 0 a 59
"hours" | Representacion numérica de las horas | 0 a 23
"mday" | Representacion numérica del día del mes | 1 a 31
"wday" | Representacion numérica del día de la semana | 0 (para Domingo) hasta 6 (para Sábado)
"mon" | Representacion numérica de un mes | 1 hasta 12
"year" | Una representacion numérica completa de una año, 4 dígitos | Ejemplos: 1999 o 2003
"yday" | Representacion numérica del día del año | 0 hasta 365
"weekday" | Una representación textual completa del día de la semana | Sunday hasta Saturday
"month" | Una representación textual completa de un mes, como January o March | January hasta December
0 | Los segundos desde la Época Unix, similar a los valores devueltos por time() y usados por date(). | Dependiente del Sistema, típicamente -2147483648 hasta 2147483647.

Ejemplos

Ejemplo #1 Ejemplo de getdate()

<?php
$hoy = getdate();
print_r($hoy);
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [seconds] => 40
    [minutes] => 58
    [hours]   => 21
    [mday]    => 17
    [wday]    => 2
    [mon]     => 6
    [year]    => 2003
    [yday]    => 167
    [weekday] => Tuesday
    [month]   => June
    [0]       => 1055901520
)

Ver también

  • date() - Dar formato a la fecha/hora local
  • idate() - Formatea una fecha/hora local como un entero
  • localtime() - Obtiene fecha y hora local
  • time() - Devuelve la fecha Unix actual
  • setlocale() - Establecer la información de la configuración regional

date
gettimeofday
Funciones de Fecha/Hora


Obtener la hora actual

getdate
gmdate
Funciones de Fecha/Hora
PHP Manual

gettimeofday

(PHP 4, PHP 5)

gettimeofday — Obtener la hora actual

Descripción

mixed gettimeofday ([ bool $return_float = false ] )

Esta es una interfaz a gettimeofday(2). Devuelve una matriz asociativa que contiene la información devuelta por la llamada al sistema.

Parámetros

return_float

Cuando se establece a TRUE, se devuelve un float en vez de un array.

Valores devueltos

Por defecto se devuelve un array. Si return_float está establecido, se devuelve un float.

Claves de la matriz:

  • "sec" - segundos desde la Época Unix
  • "usec" - microsegundos
  • "minuteswest" - minutos al oeste de Greenwich
  • "dsttime" - tipo de corrección del horario de verano (dst)

Historial de cambios

Versión | Descripción
5.1.0 | Se añadió el parámetro return_float.

Ejemplos

Ejemplo #1 Ejemplo de gettimeofday()

<?php
print_r(gettimeofday());

echo gettimeofday(true);
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [sec] => 1073504408
    [usec] => 238215
    [minuteswest] => 0
    [dsttime] => 1
)

1073504408.23910

getdate
gmdate
Funciones de Fecha/Hora


Formatea una fecha/hora GMT/UTC

gettimeofday
gmmktime
Funciones de Fecha/Hora
PHP Manual

gmdate

(PHP 4, PHP 5)

gmdate — Formatea una fecha/hora GMT/UTC

Descripción

string gmdate ( string $format [, int $timestamp = time() ] )

Idéntica a la función date() excepto que la fecha/hora devuelta es en Greenwich Mean Time (GMT).

Parámetros

format

El formato de la fecha (string) a mostrar. Ver las opciones de formato de la función date().

timestamp

El parámetro opcional timestamp es una marca de tiempo Unix de tipo integer que por defecto es la hora local si no se proporciona ningún valor a timestamp. En otras palabras, es por defecto el valor de la función time().

Valores devueltos

Devuelve una fecha en formato GMT. Si se usa un valor no numérico en timestamp, devolverá FALSE y se lanzará un error de nivel E_WARNING.

Historial de cambios

Versión | Descripción
5.1.0 | El rango válido de una marca de tiempo es típicamente desde Fri, 13 Dec 1901 20:45:54 GMT a Tue, 19 Jan 2038 03:14:07 GMT. (Estas son las fechas que corresponden a los valores mínimo y máximo de un entero con signo de 32-bit). Sin embargo, antes de PHP 5.1.0 este rango estaba limitado desde 01-01-1970 a 19-01-2038 en algunos sistemas (p.ej. Windows).
5.1.1 | Hay constantes útiles de formatos de fecha/hora estándar que se pueden usar para especificar el parámetro format.

Ejemplos

Ejemplo #1 Ejemplo de gmdate()

Cuando se ejecuta en Finlandia (GMT +0200), la primera línea de abajo imprimirá "Jan 01 1998 00:00:00", mientras que la segunda imprimirá "Dec 31 1997 22:00:00".

<?php
echo date("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 1998));
echo gmdate("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 1998));
?>

Ver también

  • date() - Dar formato a la fecha/hora local
  • mktime() - Obtener la marca de tiempo Unix de una fecha
  • gmmktime() - Obtener la marca de tiempo Unix para una fecha GMT
  • strftime() - Formatea una fecha/hora local según la configuración regional

gettimeofday
gmmktime
Funciones de Fecha/Hora


Obtener la marca de tiempo Unix para una fecha GMT

gmdate
gmstrftime
Funciones de Fecha/Hora
PHP Manual

gmmktime

(PHP 4, PHP 5)

gmmktime — Obtener la marca de tiempo Unix para una fecha GMT

Descripción

 int gmmktime
  ([ int $hour = gmdate("H")
 [, int $minute = gmdate("i")
 [, int $second = gmdate("s")
 [, int $month = gmdate("n")
 [, int $day = gmdate("j")
 [, int $year = gmdate("Y")
 [, int $is_dst = -1
]]]]]]] )

Idéntica a mktime() excepto que los parámetros pasados representan una fecha GMT. gmmktime() internamente usa mktime() por lo que sólo los momento válidos derivados del momento local se pueden usar.

Como en mktime(), los argumentos pueden ser expuestos en orden de derecha a izquierda, con cualquier argumento que se omita establecido al valor GMT correspondiente actual.

Parámetros

hour

El número de la hora relativo al inicio del día determinado por month, day y year. Los valores negativos referencias la hora antes de la media noche del día en cuestión. Los valores mayores que 23 referencian la hora apropiada en el/los día/s siguiente/s.

minute

El número del minuto relativo al inicio de hour. Los valores negativos referencian el minuto en la hora previa. Los valores maayores que 59 referencian el minuto apropiado en la/s hora/s siguiente/s.

second

El número de segundos relativo al inicio de minute. Los valores negativos referencian el segundo en el minuto previo. Los valores mayores que 59 referencian el segundo apropiado en el/los minuto/s siguiente/s.

month

El número del mes relativo al inicio del año previo. Los valores de 1 a 12 referencian los meses del calendario normal del año en cuestión. Los valores menores que 1 (incluyendo valores negativos) referencian los meses del año previo en orden inverso, por lo que 0 es December, -1 es November, etc. Los valores mayores que 12 referencian el mes apropiado en el/los año/s siguiente/s.

day

El número del día relativo al final del mes previo. Los valores del 1 al 28, 29, 30 o 31 (dependiendo del mes) referenciacn los días normales del mes relevante.the normal days in the relevant month. Los valores menores que 1 (incluyendo valores negativos) referencian los días del mes previo por lo que 0 es el último día del mes previo, -1 es el día anterior a ese, etc. Los valores mayores que el número de días del mes relevante referencian el día apropiado en el/los mes/es siguiente/s.

year

El año

is_dst

Los parámetros siempre representan una fecha GMT por lo que is_dst no influye en el resultado.

Valores devueltos

Devuelve una marca de tiempo Unix de tipo integer.

Historial de cambios

Versión | Descripción
5.1.0 | A partir de PHP 5.1.0, el parámetro is_dst se volvió obsoleto. Como resultado, se podría usar en su lugar las nuevas características de manejo de zonas horarias.

Ejemplos

Ejemplo #1 Ejemplo básico de gmmktime()

<?php
// Imprime: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", gmmktime(0, 0, 0, 7, 1, 2000));
?>

Ver también

  • mktime() - Obtener la marca de tiempo Unix de una fecha
  • date() - Dar formato a la fecha/hora local
  • time() - Devuelve la fecha Unix actual

gmdate
gmstrftime
Funciones de Fecha/Hora


Formatear una fecha/hora GMT/UTC según la configuración regional

gmmktime
idate
Funciones de Fecha/Hora
PHP Manual

gmstrftime

(PHP 4, PHP 5)

gmstrftime — Formatear una fecha/hora GMT/UTC según la configuración regional

Descripción

string gmstrftime ( string $format [, int $timestamp = time() ] )

Se comporta como strftime() excepto que el momento devuelto es Greenwich Mean Time (GMT). Por ejemplo, cuando se ejecuta en Hora del Este (GMT -0500), la primera línea de abajo imprime "Dec 31 1998 20:00:00", mientras que la segunda imprime "Jan 01 1999 01:00:00".

Parámetros

format

Vea la descripción de strftime().

timestamp

El parámetro opcional timestamp es una marca de tiempo Unix de tipo integer que por defecto es la hora local si no se proporciona ningún valor a timestamp. En otras palabras, es por defecto el valor de la función time().

Valores devueltos

Devuelve una cadena formateada según la cadena de formato dada usando la marca de tiempo timestamp dada o el momento local actual si no se da la marca de tiempo. Los nombres del mes y del día de la semana y otras cadenas dependientes del lenguaje están subordinados a la configuración regional local establecida con

Ejemplos

Ejemplo #1 Ejemplo de gmstrftime()

<?php
setlocale(LC_TIME, 'en_US');
echo strftime("%b %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 98)) . "\n";
echo gmstrftime("%b %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 98)) . "\n";
?>

Ver también

  • strftime() - Formatea una fecha/hora local según la configuración regional

gmmktime
idate
Funciones de Fecha/Hora


Formatea una fecha/hora local como un entero

gmstrftime
localtime
Funciones de Fecha/Hora
PHP Manual

idate

(PHP 5)

idate — Formatea una fecha/hora local como un entero

Descripción

int idate ( string $format [, int $timestamp = time() ] )

Devuelve un número formateado según la cadena de formato dada usando la marca de tiempo timestamp de tipo entero dado o el momento local actual si no se da la marca de tiempo. En otras palabras, timestamp es opcional y su valor por defecto es el de time().

A diferencia de date(), idate() acepta un sólo carácter en el parámetro format.

Parámetros

format

Los siguientes caracteres son reconocidos por el parámetro de cadena format
Caracter format | Descripción
B | Swatch Beat/Hora Internet
d | Día del mes
h | Hora (formato de 12 horas)
H | Hora (formato de 24 horas)
i | Minutos
I (i mayúscula) | devuelve 1 si el horario de verano (DST) está activado, 0 si no
L (l mayúscula) | devuelve 1 para años bisiestos, 0 si no
m | Número de mes
s | Segundos
t | Días en el mes actual
U | Segundos desde la Época Unix - 1 de enero de 1970 00:00:00 UTC - esto es lo mismo que en time()
w | Día de la semana (0 para Domingo)
W | Número del mes del año ISO-8601, las semanas comienzan en Lunes
y | Año (1 ó 2 dígitos - comprobar la anotación de abajo)
Y | Año (4 dígitos)
z | Día del año
Z | Ínidce de la zona horaria en segundos

timestamp

El parámetro opcional timestamp es una marca de tiempo Unix de tipo integer que por defecto es la hora local si no se proporciona ningún valor a timestamp. En otras palabras, es por defecto el valor de la función time().

Valores devueltos

Devuelve un integer.

Ya que idate() devuelve siempre un integer y como éste nunca puede empezar por un "0", idate() puede devolver menos dígitos de los que se esperarían. Vea el ejemplo de abajo.

Errores/Excepciones

Cada vez que se llame a la función date/time se generará un E_NOTICE si la zona horaria no es válida, y/o un mensaje E_STRICT o E_WARNING si se usa la configuración del sistema o la variable global TZ. Vea también date_default_timezone_set()

Historial de cambios

Versión | Descripción
5.1.0 | Ahora muestra E_STRICT y E_NOTICE cuando ocurren errores con zonas horarias.

Ejemplos

Ejemplo #1 Ejemplo de idate()

<?php
$timestamp = strtotime('1st January 2004'); //1072915200

// esto imprime el año en un formato de dos dígitos
// sin embargo, ya que éste podría empezar con un "0",
// sólo se imprime "4"
echo idate('y', $timestamp);
?>

Ver también

  • date() - Dar formato a la fecha/hora local
  • getdate() - Obtener información de la fecha/hora
  • time() - Devuelve la fecha Unix actual

gmstrftime
localtime
Funciones de Fecha/Hora


Obtiene fecha y hora local

idate
microtime
Funciones de Fecha/Hora
PHP Manual

localtime

(PHP 4, PHP 5)

localtime — Obtiene fecha y hora local

Descripción

array localtime ([ int $timestamp = time() [, bool $is_associative = false ]] )

La función localtime() devuelve un array con la estructura idéntica a la devuelta por la llamada a la función en C.

Parámetros

timestamp

El parámetro opcional timestamp es una marca de tiempo Unix de tipo integer que por defecto es la hora local si no se proporciona ningún valor a timestamp. En otras palabras, es por defecto el valor de la función time().

is_associative

Si está defindo como FALSE o no se proporciona, el array es devuelto como un array indexado numéricamente. Si el argumento está definido como TRUE, localtime() devuelve un array asociativo que contiene todos los diferentes elementos de la estructura devuelta por la llamada a la fucnión de C localtime. Los nombres de las diferentes claves del array asociativo son los siguientes:

  • "tm_sec" - segundos, 0 a 59
  • "tm_min" - minutos, 0 a 59
  • "tm_hour" - horas, 0 a 23
  • "tm_mday" - día del mes, 1 a 31
  • "tm_mon" - mes del año, 0 (Ene) a 11 (Dic)
  • "tm_year" - años desde 1900
  • "tm_wday" - día de la semana, 0 (Domingo) a 6 (Sábado)
  • "tm_yday" - día del año, 0 to 365
  • "tm_isdst" - ¿Está en horario de verano? Valor positivo si es que sí, 0 si es que no, negativo en caso que no se sepa.

Errores/Excepciones

Cada vez que se llame a la función date/time se generará un E_NOTICE si la zona horaria no es válida, y/o un mensaje E_STRICT o E_WARNING si se usa la configuración del sistema o la variable global TZ. Vea también date_default_timezone_set()

Historial de cambios

Versión | Descripción
5.1.0 | Ahora muestra E_STRICT y E_NOTICE cuando ocurren errores con zonas horarias.

Ejemplos

Ejemplo #1 Ejemplo de localtime()

<?php
$localtime = localtime();
$localtime_assoc = localtime(time(), true);
print_r($localtime);
print_r($localtime_assoc);
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => 24
    [1] => 3
    [2] => 19
    [3] => 3
    [4] => 3
    [5] => 105
    [6] => 0
    [7] => 92
    [8] => 1
)

Array
(
    [tm_sec] => 24
    [tm_min] => 3
    [tm_hour] => 19
    [tm_mday] => 3
    [tm_mon] => 3
    [tm_year] => 105
    [tm_wday] => 0
    [tm_yday] => 92
    [tm_isdst] => 1
)

Ver también

  • getdate() - Obtener información de la fecha/hora

idate
microtime
Funciones de Fecha/Hora


Devuelve la fecha Unix actual con microsegundos

localtime
mktime
Funciones de Fecha/Hora
PHP Manual

microtime

(PHP 4, PHP 5)

microtime — Devuelve la fecha Unix actual con microsegundos

Descripción

mixed microtime ([ bool $get_as_float = false ] )

microtime() devuelve la fecha Unix actual con microsegundos. Esta función sólo está disponible en sisitemas operativos que soportan la llamada al sistema de gettimeofday().

Parámetros

get_as_float

Si se usa y se establece a TRUE, microtime() devolverá un float en vez de un string, como está descrito en la sección de valores de retorno de abajo.

Valores devueltos

Por omisión, microtime() devuelve un string en la forma "mseg seg", donde seg es el número de segundos desde la época Unix (0:00:00 January 1, 1970 GMT), y msec es el número de microsegundos que han transcurrido desde sec, expresado en segundos.

Si get_as_float está establecido a TRUE, microtime() devuelve un float, que representa el momento actual en segundos desde la época Unix con precisión al microsegundo más cercano.

Historial de cambios

Versión | Descripción
5.0.0 | Se añadió el parámetro get_as_float.

Ejemplos

Ejemplo #1 Ejecución de un script de cronometraje con microtime()

<?php
/**
 * Función sencilla para repetir el comportamiento de PHP 5
 */
function microtime_float()
{
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
}

$time_start = microtime_float();

// Dormir por un momento
usleep(100);

$time_end = microtime_float();
$time = $time_end - $time_start;

echo "No se hizo nada en $time segundos\n";
?>

Ejemplo #2 Ejecución de un script de cronometraje en PHP 5

<?php
$time_start = microtime(true);

// Dormir por un momento
usleep(100);

$time_end = microtime(true);
$time = $time_end - $time_start;

echo "No se hizo nada en $time segundos\n";
?>

Ejemplo #3 microtime() y REQUEST_TIME_FLOAT (desde PHP 5.4.0)

<?php
// Tiempo de espera aleatorio
usleep(mt_rand(100, 10000));

// A partir de PHP 5.4.0, REQUEST_TIME_FLOAT está disponible en el array superglobal $_SERVER
// Contiene la fecha Unix en la que se realizó la petición con precisión de milisegundos.
$time = microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"];

echo "No se hizo nada en $time segundos\n";
?>

Ver también

  • time() - Devuelve la fecha Unix actual

localtime
mktime
Funciones de Fecha/Hora


Obtener la marca de tiempo Unix de una fecha

microtime
strftime
Funciones de Fecha/Hora
PHP Manual

mktime

(PHP 4, PHP 5)

mktime — Obtener la marca de tiempo Unix de una fecha

Descripción

 int mktime
  ([ int $hour = date("H")
 [, int $minute = date("i")
 [, int $second = date("s")
 [, int $month = date("n")
 [, int $day = date("j")
 [, int $year = date("Y")
 [, int $is_dst = -1
]]]]]]] )

Devuelve la marca de tiempo Unix correspondiente a los argumentos dados. Esta marca de tiempo es un entero que contiene el número de segundos entre la Época Unix (1 de Enero del 1970 00:00:00 GMT) y el instante especificado.

Los argumentos pueden omitirse de derecha a izquierda; cualquier argumento que se omita será establecido al valor actual según la fecha y hora locales.

Notas

Nota:

Desde PHP 5.1, cuando se hace la llamada sin argumentos, mktime() lanza un aviso de tipo E_STRICT: use la función time() en su lugar.

Parámetros

hour

El número de la hora relativa al inicio del día determinado por month, day y year. Los valores negativos referencian la hora antes de la media noche del día en cuestión. Los valores mayores que 23 referencian la hora apropiada en el/los día/s siguiente/s.

minute

El número de los minutos relativos al inicio de hour. Los valores negativos referencian el minuto en la hora previa. Los valores mayores que 59 referencian el minuto apropiado en la/s hora/s siguiente/s.

second

El número de segundos relativos al inicio de minute. Los valores negativos referencian el segundo en el minuto previo. Los valores mayores que 59 referencian el segundo apropiado en el/los minuto/s siguiente/s.

month

El número del mes relativo al final del año previo. Los valores de 1 a 12 referencian los meses del calendario normal del año en cuestión. Los valores menores que 1 (incluyendo valores negativos) referencian los meses del año previo en orden inverso, por lo que 0 es Diciembre, -1 es Noviembre, etc. Los valores mayores que 12 referencian el mes apropiado en el/los año/s siguiente/s.

day

El número del día relativo al final del mes previo. Los valores del 1 al 28, 29, 30 o 31 (dependiendo del mes) referencian los días normales del mes relevante. Los valores menores que 1 (incluyendo valores negativos) referencian los días del mes previo por lo que 0 es el último día del mes previo, -1 es el día anterior a ese, etc. Los valores mayores que el número de días del mes relevante referencian el día apropiado en el/los mes/es siguiente/s.

year

El número del año, puede ser un valor de dos o cuatro dígitos, con valores entre 0-69 mapeados a 2000-2069 y 70-100 a 1970-2000. En sistemas donde time_t es un entero con signo de 32 bits, como es lo más normal hoy en día, el rango válido para year es entre 1901 y 2038. Sin embargo, antes de PHP 5.1.0 este rango estaba limitado desde 1970 a 2038 en algunos sistemas (p.ej. Windows).

is_dst

Este parámetro se puede establecer a 1 si el instante está durante el horario de verano (DST), 0 si no, o -1 (por omisión) si no se sabe si el instante está durante el horario de verano. Si no se sabe, PHP lo intentará calcular por sí mismo. Esto puede causar resultados inesperados (pero no incorrectos). Algunas veces no son válidos si DST está habilitado en el sistema donde se ejecuta PHP o is_dst está establecido a 1. Si DST está habilitado a, p.ej. 2:00, todas las horas entre las 2:00 y las 3:00 no son válidas y mktime() devuelve un valor indefinido (normalmente negativo). Algunos sistemas (p.ej. Solaris 8) habilitan DST a la medianoche por lo que la hora 0:30 del día, cuando DST está habilitado, es evaluada como 23:30 del día anterior.

Nota:

A partir de PHP 5.1.0, este parámetro se volvió obsoleto. Como resultado, se pueden usar en su lugar las nuevas características de manejo de zonas horarias.

Valores devueltos

mktime() devuelve la marca de tiempo Unix de los argumentos dados. Si los argumentos no son válidos, la función devuelve FALSE (antes de PHP 5.1 devolvía -1).

Errores/Excepciones

Cada vez que se llame a la función date/time se generará un E_NOTICE si la zona horaria no es válida, y/o un mensaje E_STRICT o E_WARNING si se usa la configuración del sistema o la variable global TZ. Vea también date_default_timezone_set()

Historial de cambios

Versión | Descripción
5.3.0 | mktime() ahora lanza un aviso de tipo E_DEPRECATED si se usa el parámetro is_dst.
5.1.0 | El parámetro is_dst se volvió obsoleto. Hacía que la funcion devolviese FALSE si se pruducía un error, en vez de -1. Arreglada la función para que acepte el año, mes y día pasados como cero.
5.1.0 | Cuando se hace la llamada sin argumento, mktime() lanza un aviso E_STRICT. Use la función time() en su lugar.
5.1.0 | Ahora muestra E_STRICT y E_NOTICE cuando ocurren errores con zonas horarias.

Ejemplos

Ejemplo #1 Ejemplo básico de mktime()

<?php
// Establecer la zona horaria predeterminada a usar. Disponible desde PHP 5.1
date_default_timezone_set('UTC');

// Imprime: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));

// Imprime algo como: 2006-04-05T01:02:03+00:00
echo date('c', mktime(1, 2, 3, 4, 5, 2006));
?>

Ejemplo #2 Ejemplo de mktime()

mktime() es útil para hacer que las fechas sean aritméticas y válidas, ya que calculará automáticamente el valor correcto para las entradas que estén fuera de rango. Por ejemplo, cada una de las líneas siguientes producirá la cadena "Jan-01-1998".

<?php
echo date("M-d-Y", mktime(0, 0, 0, 12, 32, 1997));
echo date("M-d-Y", mktime(0, 0, 0, 13, 1, 1997));
echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 1998));
echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 98));
?>

Ejemplo #3 El último día del mes

El último día de cualquier mes dado se puede expresar como el día "0" del mes siguiente, no el día -1. Los dos ejemplos siguientes producirán la cadena "El último día en Feb 2000 es: 29".

<?php
$último_día = mktime(0, 0, 0, 3, 0, 2000);
echo strftime("El último día en Feb 2000 es: %d", $último_día);
$último_día = mktime(0, 0, 0, 4, -31, 2000);
echo strftime("El último día en Feb 2000 es: %d", $último_día);
?>

Notas

Precaución

Antes de PHP 5.1.0, las marcas de tiempo negativas no estaban soportadas bajo ninguna versión de Windows conocida, y tampoco en otros sistemas. Por lo tanto el rango de años válidos estaba limitado desde 1970 hasta 2038.

Ver también

  • checkdate() - Validar una fecha gregoriana
  • gmmktime() - Obtener la marca de tiempo Unix para una fecha GMT
  • date() - Dar formato a la fecha/hora local
  • time() - Devuelve la fecha Unix actual

microtime
strftime
Funciones de Fecha/Hora


Formatea una fecha/hora local según la configuración regional

mktime
strptime
Funciones de Fecha/Hora
PHP Manual

strftime

(PHP 4, PHP 5)

strftime — Formatea una fecha/hora local según la configuración regional

Descripción

string strftime ( string $format [, int $timestamp = time() ] )

Formatea una fecha/hora local según la configuración regional. Los nombres del mes y del día de la semana y otras cadenas dependientes del lenguaje están subordinados a la configuración regional local establecida con setlocale().

No todos los especificadores de conversión están soportados por su biblioteca C, en cuyo caso no serán soportados por la fucnión strftime() de PHP. Adicionalmente, no todas las plataformas soportan marcas de tiempo negativas, por lo que el rango de fechas puede estar limitado a fechas que no sean anteriores a la época Unix. Eso significa que %e, %T, %R y, %D (y posiblemente otros) - así como las fechas anteriores al 1 Ene, 1970 - no funcionarán en Windows, en algunas distribucioes de Linux, y en otros pocos sistemas operativos. Para sistemas Windows se puede encontrar una visión general de los especificadores de conversión soportados en » MSDN.

Parámetros

format

Los siguientes caracteres están reconocidos en el parámetro de cadena format
format | Descripción | Ejemplo de valores devueltos
Día --- ---
%a | Una representación textual abreviada del día | Sun hasta Sat
%A | Una representación textual completa del día | Sunday hsata Saturday
%d | El día del mes con dos dígitos (con ceros iniciales) | 01 a 31
%e | El día del mes, con un espacio precediendo a los dígitos simples. No está implementado como está descrito en Windows. Véase más abajo para más información. | 1 a 31
%j | Día del año, 3 dígitos con ceros iniciales | 001 a 366
%u | Representación numérica ISO-8601 del día de la semana | 1 (para Lunes) hasta 7 (para Domingo)
%w | Representación numérica del día de la semana | 0 (para Domingo) hasta 6 (para Sábado)
Semana --- ---
%U | Número de semana del año dado, comenzando con el primer Domingo como la primera semana | 13 (para la 13ª semana completa del año)
%V | Número de semana ISO-8601:1988 del año dado, comenzando con la primera semana del año con al menos 4 días de semana, con Lunes siendo el principio de la semana | 01 hasta 53 (donde 53 cuenta para una semana solapada)
%W | Una representación numérica de la semana del año, comenzando con el primer Domingo como la primera semana | 46 (para la 46ª semana del año comenzando con un Lunes)
Mes --- ---
%b | Nombre del mes abreviado, basado en la configuración regional | Jan hasta Dec
%B | Nombre del mes completo, basado en la configuración regional | January hasta December
%h | Nombre del mes abreviado, basado en la configuración regional (un alias de %b) | Jan hasta Dec
%m | Representación de dos dígitos del mes | 01 (para Enero) hasta 12 (para Diciembre)
Año --- ---
%C | Representación de dos dígitos del siglo (año dividido entre 100, truncado a un integer) | 19 para el Siglo XX
%g | Representación de dos dígitos del año por el estándar ISO-8601:1988 (véase %V) | Ejemplo: 09 para la semana del 6 de Enero de 2009
%G | La versión de cuatro dígitos completa de %g | Ejemplo: 2008 para la semana del 3 de Enero de 2009
%y | Representación de dos dígitos del año | Ejemplo: 09 para 2009, 79 para 1979
%Y | Representación de cuatro dígitos del año | Ejemplo: 2038
Hora --- ---
%H | Representación de dos dígitos de la hora en formato de 24 horas | 00 hasta 23
%k | Representación de dos dígitos de la hora en formato 24 horas, con un espacio precediendo a los dígitos simples | 0 hasta 23
%I | Representación de dos dígitos de la hora en formato de 12 horas | 01 hasta 12
%l ('L' minúscula) | La hora en formato de 12 horas, con un espacio precediendo a los dígitos simples | 1 hasta 12
%M | Representación de dos dígitos de los minutos | 00 hasta 59
%p | 'AM' o 'PM' en MAYÚSCULAS basados en la hora dada | Ejemplo: AM para 00:31, PM para 22:23
%P | 'am' o 'pm' en minúsculas basados en la hora dada | Ejemplo: am para 00:31, pm para 22:23
%r | Lo mismo que "%I:%M:%S %p" | Ejemplo: 09:34:17 PM para 21:34:17
%R | Lo mismo que "%H:%M" | Ejemplo: 00:35 para 12:35 AM, 16:44 para 4:44 PM
%S | Representación de dos dígitos de los segundos | 00 hasta 59
%T | Lo mismo que "%H:%M:%S" | Ejemplo: 21:34:17 para 09:34:17 PM
%X | Representación preferida de la hora basda en la configuración regional, sin la fecha | Ejemplo: 03:59:16 o 15:59:16
%z | El índice de la zona horaria. No implementado como está descrito en Windows. Véase más abajo para más información. | Ejemplo: -0500 para Hora del Este de EEUU
%Z | La abreviatura de la zona horaria No implementado como está descrito en Windows. Véase más abajo para más información. | Ejemplo: EST para Hora del Este
Marcas de Fecha y Hora --- ---
%c | Marca preferida de la fecha y hora basadas en la configuración regional | Ejemplo: Tue Feb 5 00:45:10 2009 para el 5 de Febrero de 2009 a las 12:45:10 AM
%D | Lo mismo que "%m/%d/%y" | Ejemplo: 02/05/09 para el 5 de Febrero de 2009
%F | Lo mismo que "%Y-%m-%d" (normalmente usado en las marcas de fecha de bases de datos) | Ejemplo: 2009-02-05 para el 5 de Febrero de 2009
%s | Marca de tiempo del momento de la Época Unix (lo mismo que la función time()) | Ejemplo: 305815200 para el 10 de Septiembre de 1979 08:40:00 AM
%x | Representación preferida de la fecha basda en la configuración local, sin la hora | Ejemplo: 02/05/09 para el 5 de Febrero de 2009
Miscelánea --- ---
%n Un carácter de nueva línea ("\n") ---
%t Un carácter de tabulación ("\t") ---
%% Un carácter literal de porcentaje ("%") ---

La longitud máxima de este parámetro es de 1023 caracteres.

Advertencia

A diferencia de ISO-9899:1999, Sun Solaris comienza con el Domingo como 1. Como resultado, %u podría no funcionar como está descrito en este manual.

Advertencia

Solamente Windows:

El modificador %e no está soportado en la implementación de Windows de esta función. Para obtener este valor se puede usar en su lugar el modificador %#d. El ejemplo de abajo ilustra cómo escribir una función compatible multiplataforma.

Los modificadores %z y %Z devuelven el nombre de la zona horaria en lugar del índice o de la abreviatura.

Advertencia

Solamente Mac OS X: El modificador %P no está soportado en la implementación de Mac OS X de esta función.

timestamp

El parámetro opcional timestamp es una marca de tiempo Unix de tipo integer que por defecto es la hora local si no se proporciona ningún valor a timestamp. En otras palabras, es por defecto el valor de la función time().

Valores devueltos

Devuelve una cadena formateada según format usando el parámetro timestamp dado o el momento actual local si no se da la marca de tiempo. Los nombres del mes y del día de la semana y otras cadenas dependientes del lenguaje están subordinados a la configuración regional local establecida con setlocale().

Errores/Excepciones

Cada vez que se llame a la función date/time se generará un E_NOTICE si la zona horaria no es válida, y/o un mensaje E_STRICT o E_WARNING si se usa la configuración del sistema o la variable global TZ. Vea también date_default_timezone_set()

Ya que la salida depende de la biblioteca C subyacente, algunos especificadores de conversión no están soportados. En Windows, proporcionar especificadores de conversión desconocidos resultará en 5 mensajes E_WARNING y devolverá FALSE. En otros sistemas operativos puede no obtenerse ningún mensaje E_WARNING y la salida contener los especificadores de conversión no convertidos.

Historial de cambios

Versión | Descripción
5.1.0 | Ahora muestra E_STRICT y E_NOTICE cuando ocurren errores con zonas horarias.

Ejemplos

Este ejemplo funcionará si tiene instalada en su sistema la configuración regional respectiva.

Ejemplo #1 Ejemplos de configuraciones regionales con strftime()

<?php
setlocale(LC_TIME, "C");
echo strftime("%A");
setlocale(LC_TIME, "fi_FI");
echo strftime(" en Finlandés es %A,");
setlocale(LC_TIME, "fr_FR");
echo strftime(" en Francés %A y");
setlocale(LC_TIME, "de_DE");
echo strftime(" en Alemán %A.\n");
?>

Ejemplo #2 Ejemplo de número de semana con ISO 8601:1988

<?php
/*     Diciembre 2002 / Enero 2003
ISO    L   M   X   J   V   S   D
---   ----------------------------
51     16  17  18  19  20  21  22
52     23  24  25  26  27  28  29
1      30  31   1   2   3   4   5
2       6   7   8   9  10  11  12
3      13  14  15  16  17  18  19   */

// Imprime: 12/28/2002 - %V,%G,%Y = 52,2002,2002
echo "12/28/2002 - %V,%G,%Y = " . strftime("%V,%G,%Y", strtotime("12/28/2002")) . "\n";

// Imprime: 12/30/2002 - %V,%G,%Y = 1,2003,2002
echo "12/30/2002 - %V,%G,%Y = " . strftime("%V,%G,%Y", strtotime("12/30/2002")) . "\n";

// Imprime: 1/3/2003 - %V,%G,%Y = 1,2003,2003
echo "1/3/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2003")) . "\n";

// Imprime: 1/10/2003 - %V,%G,%Y = 2,2003,2003
echo "1/10/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/10/2003")) . "\n";

/*     Diciembre 2004 / Enero 2005
ISO    L   M   X   J   V   S   D
---   ----------------------------
51     13  14  15  16  17  18  19
52     20  21  22  23  24  25  26
53     27  28  29  30  31   1   2
1       3   4   5   6   7   8   9
2      10  11  12  13  14  15  16   */

// Imprime: 12/23/2004 - %V,%G,%Y = 52,2004,2004
echo "12/23/2004 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/23/2004")) . "\n";

// Imprime: 12/31/2004 - %V,%G,%Y = 53,2004,2004
echo "12/31/2004 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/31/2004")) . "\n";

// Imprime: 1/2/2005 - %V,%G,%Y = 53,2004,2005
echo "1/2/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/2/2005")) . "\n";

// Imprime: 1/3/2005 - %V,%G,%Y = 1,2005,2005
echo "1/3/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2005")) . "\n";

?>

Ejemplo #3 Ejemplo compatible de multi-plataforma usando del modificador %e

<?php

// Jan 1: resulta en: '%e%1%' (%%, e, %%, %e, %%)
$format = '%%e%%%e%%';

// Comprobación para Windows para hallar y remplazar el
// modificador %e adecuadamente
// el modificador %e si existen en el formato
if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {
    $format = preg_replace('#(?<!%)((?:%%)*)%e#', '\1%#d', $format);
}

echo strftime($format);
?>

Ejemplo #4 Mostrar todos los formatos conocidos y desconocidos.

<?php
// Describe los formatos.
$strftimeFormats = array(
    'A' => 'Una representación textual completa del día',
    'B' => 'Nombre del mes completo, basado en la configuración regional',
    'C' => 'Representación de dos dígitos del siglo (año dividido entre 100, truncado a un integer)',
    'D' => 'Lo mismo que "%m/%d/%y"',
    'E' => '',
    'F' => 'Lo mismo que "%Y-%m-%d"',
    'G' => 'La versión de cuatro dígitos completa de %g',
    'H' => 'Representación de dos dígitos de la hora en formato de 24 horas',
    'I' => 'Representación de dos dígitos de la hora en formato de 12 horas',
    'J' => '',
    'K' => '',
    'L' => '',
    'M' => 'Representación de dos dígitos de los minutos',
    'N' => '',
    'O' => '',
    'P' => ''am' o 'pm' en minúsculas basados en la hora dada',
    'Q' => '',
    'R' => 'Lo mismo que "%H:%M',
    'S' => 'Representación de dos dígitos de los segundos',
    'T' => 'Lo mismo que "%H:%M:%S"',
    'U' => 'Número de semana del año dado, comenzando con el primer Domingo como la primera semana',
    'V' => 'Número de semana ISO-8601:1988 del año dado, comenzando con la primera semana del año con al menos 4 días de semana, con Lunes siendo el principio de la semana',
    'W' => 'Una representación numérica de la semana del año, comenzando con el primer Domingo como la primera semana',
    'X' => 'Representación preferida de la hora basda en la configuración regional, sin la fecha',
    'Y' => 'Representación de cuatro dígitos del año',
    'Z' => 'La opción de índice/abreviatura de la zona horaria NO dada por %z (depende del sistema operativo)',
    'a' => 'Una representación textual abreviada del día',
    'b' => 'Nombre del mes abreviado, basado en la configuración regional',
    'c' => 'Marca preferida de la fecha y hora basadas en la configuración regional',
    'd' => 'El día del mes con dos dígitos (con ceros iniciales)',
    'e' => 'El día del mes, con un espacio precediendo a los dígitos simples',
    'f' => '',
    'g' => 'Representación de dos dígitos del año por el estándar ISO-8601:1988 (véase %V)',
    'h' => 'Nombre del mes abreviado, basado en la configuración regional (un alias de %b)',
    'i' => '',
    'j' => 'Día del año, 3 dígitos con ceros iniciales',
    'k' => 'La hora en formato de 24 horas, con un espacio precediendo a los dígitos simples',
    'l' => 'La hora en formato de 12 horas, con un espacio precediendo a los dígitos simples',
    'm' => 'Representación de dos dígitos del mes',
    'n' => 'Un carácter de nueva línea ("\n")',
    'o' => '',
    'p' => ''AM' o 'PM' en MAYÚSCULAS basados en la hora dada',
    'q' => '',
    'r' => 'Lo mismo que "%I:%M:%S %p"',
    's' => 'Marca de tiempo del momento de la Época Unix',
    't' => 'Un carácter de tabulación ("\t")',
    'u' => 'Representación numérica ISO-8601 del día de la semana',
    'v' => '',
    'w' => 'Representación numérica del día de la semana',
    'x' => 'Representación preferida de la fecha basda en la configuración local, sin la hora',
    'y' => 'Representación de dos dígitos del año',
    'z' => 'El índice de la zona horaria de UTC o la abreviatura (depende del sistema operativo)',
    '%' => 'Un carácter de porcentaje literal ("%")',
);

// Resultados.
$strftimeValues = array();

// Evalúa los formatos, mientras suprime cualquier error.
foreach($strftimeFormats as $format => $description){
    if (False !== ($value = @strftime("%{$format}"))){
        $strftimeValues[$format] = $value;
    }
}

// Encuentra el valor más largo.
$maxValueLength = 2 + max(array_map('strlen', $strftimeValues));

// Reporta los formatos conocidos.
foreach($strftimeValues as $format => $value){
    echo "Formato conocido : '{$format}' = ", str_pad("'{$value}'", $maxValueLength), " ( {$strftimeFormats[$format]} )\n";
}

// Reporta los formatos desconocidos.
foreach(array_diff_key($strftimeFormats, $strftimeValues) as $format => $description){
    echo "Formato desconocido : '{$format}'   ", str_pad(' ', $maxValueLength), ($description ? " ( {$description} )" : ''), "\n";
}
?>

El resultado del ejemplo sería algo similar a:

Formato conocido   : 'A' = 'Friday'            ( Una representación textual completa del día )
Formato conocido   : 'B' = 'December'          ( Nombre del mes completo, basado en la configuración regional )
Formato conocido   : 'H' = '11'                ( Representación de dos dígitos de la hora en formato de 24 horas )
Formato conocido   : 'I' = '11'                ( Representación de dos dígitos de la hora en formato de 12 horas )
Formato conocido   : 'M' = '24'                ( Representación de dos dígitos de los minutos )
Formato conocido   : 'S' = '44'                ( Representación de dos dígitos de los segundos )
Formato conocido   : 'U' = '48'                ( Número de semana del año dado, comenzando con el primer Domingo como la primera semana )
Formato conocido   : 'W' = '48'                ( Una representación numérica de la semana del año, comenzando con el primer Domingo como la primera semana )
Formato conocido   : 'X' = '11:24:44'          ( Representación preferida de la hora basda en la configuración regional, sin la fecha )
Formato conocido   : 'Y' = '2010'              ( Representación de cuatro dígitos del año )
Formato conocido   : 'Z' = 'GMT Standard Time' ( La opción de índice/abreviatura de la zona horaria NO dada por %z (depende del sistema operativo) )
Formato conocido   : 'a' = 'Fri'               ( Una representación textual abreviada del día )
Formato conocido   : 'b' = 'Dec'               ( Nombre del mes abreviado, basado en la configuración regional )
Formato conocido   : 'c' = '12/03/10 11:24:44' ( Marca preferida de la fecha y hora basadas en la configuración regional )
Formato conocido   : 'd' = '03'                ( El día del mes con dos dígitos (con ceros iniciales) )
Formato conocido   : 'j' = '337'               ( Día del año, 3 dígitos con ceros iniciales )
Formato conocido   : 'm' = '12'                ( Representación de dos dígitos del mes )
Formato conocido   : 'p' = 'AM'                ( 'AM' o 'PM' en MAYÚSCULAS basados en la hora dada )
Formato conocido   : 'w' = '5'                 ( Representación numérica del día de la semana )
Formato conocido   : 'x' = '12/03/10'          ( Representación preferida de la fecha basda en la configuración local, sin la hora )
Formato conocido   : 'y' = '10'                ( Representación de dos dígitos del año )
Formato conocido   : 'z' = 'GMT Standard Time' ( El índice de la zona horaria de UTC o la abreviatura (depende del sistema operativo) )
Formato conocido   : '%' = '%'                 ( Un carácter de porcentaje literal ("%") )
Formato desconocido : 'C'                       ( Representación de dos dígitos del siglo (año dividido entre 100, truncado a un integer) )
Formato desconocido : 'D'                       ( Lo mismo que "%m/%d/%y" )
Formato desconocido : 'E'
Formato desconocido : 'F'                       ( Lo mismo que "%Y-%m-%d" )
Formato desconocido : 'G'                       ( La versión de cuatro dígitos completa de %g )
Formato desconocido : 'J'
Formato desconocido : 'K'
Formato desconocido : 'L'
Formato desconocido : 'N'
Formato desconocido : 'O'
Formato desconocido : 'P'                       ( 'am' o 'pm' en minúsculas basados en la hora dada )
Formato desconocido : 'Q'
Formato desconocido : 'R'                       ( Lo mismo que "%H:%M )
Formato desconocido : 'T'                       ( Lo mismo que "%H:%M:%S" )
Formato desconocido : 'V'                       ( Número de semana ISO-8601:1988 del año dado, comenzando con la primera semana del año con al menos 4 días de semana, con Lunes siendo el principio de la semana )
Formato desconocido : 'e'                       ( El día del mes, con un espacio precediendo a los dígitos simples )
Formato desconocido : 'f'
Formato desconocido : 'g'                       ( Representación de dos dígitos del año por el estándar ISO-8601:1988 (véase %V) )
Formato desconocido : 'h'                       ( Nombre del mes abreviado, basado en la configuración regional (un alias de %b) )
Formato desconocido : 'i'
Formato desconocido : 'k'
Formato desconocido : 'l'                       ( La hora en formato de 12 horas, con un espacio precediendo a los dígitos simples )
Formato desconocido : 'n'                       ( Un carácter de nueva línea ("\n") )
Formato desconocido : 'o'
Formato desconocido : 'q'
Formato desconocido : 'r'                       ( Lo mismo que "%I:%M:%S %p" )
Formato desconocido : 's'                       ( Marca de tiempo del momento de la Época Unix )
Formato desconocido : 't'                       ( Un carácter de tabulación ("\t") )
Formato desconocido : 'u'                       ( Representación numérica ISO-8601 del día de la semana )
Formato desconocido : 'v'

Notas

Nota: %G y %V, que están basados en el número de semana ISO 8601:1988, pueden dar resultados inesperados (aunque correctos) si el sistema numérico no se entendió perfectamente. Véase los ejemplos de %V en esta página del manual.

Ver también

  • » Herramienta online para diseñar el formato de strftime()
  • setlocale() - Establecer la información de la configuración regional
  • mktime() - Obtener la marca de tiempo Unix de una fecha
  • strptime() - Analiza una fecha/hora generada con strftime
  • gmstrftime() - Formatear una fecha/hora GMT/UTC según la configuración regional
  • » Especificación de strftime() del Open Group

mktime
strptime
Funciones de Fecha/Hora


Analiza una fecha/hora generada con strftime

strftime
strtotime
Funciones de Fecha/Hora
PHP Manual

strptime

(PHP 5 >= 5.1.0)

strptime — Analiza una fecha/hora generada con strftime()

Descripción

array strptime ( string $date , string $format )

strptime() devuelve una matriz con la fecha date analizada, o FALSE si se produjo un error.

Los nombres del mes y del día de la semana y otras cadenas dependientes del lenguaje están subordinados a la configuración regional local establecida con setlocale() (LC_TIME).

Parámetros

date (string)

La cadena a analizar (p.ej. devuelta por strftime()).

format (string)

El formato usado en date (p.ej. el mismo que el usado en strftime()). Observe que algunas de las opciones de formato disponibles en strftime() pueden no tener ningún efecto en strptime(); el subconjunto exacto que está soportado variará en base al sistema operativo y a la biblioteca de C que esté en uso.

Para más información sobre las opciones de formato, lea la página de strftime().

Valores devueltos

Devuelve una matriz o FALSE en caso de error.

Los siguietens parámetros son devueltos en la matriz
parámetros | Descripción
"tm_sec" | Segundos después del minuto (0-61)
"tm_min" | Minutos después de la hora (0-59)
"tm_hour" | Hora desde la medianoche (0-23)
"tm_mday" | Día del mes (1-31)
"tm_mon" | Meses desde Enero (0-11)
"tm_year" | Años desde 1900
"tm_wday" | Días desde el Domingo (0-6)
"tm_yday" | Días desde el 1 de Enero (0-365)
"unparsed" | la parte de date que no fue reconocida usando el formato format especificado

Ejemplos

Ejemplo #1 Ejemplo de strptime()

<?php
$formato = '%d/%m/%Y %H:%M:%S';
$strf = strftime($formato);

echo "$strf\n";

print_r(strptime($strf, $formato));
?>

El resultado del ejemplo sería algo similar a:

03/10/2004 15:54:19

Array
(
    [tm_sec] => 19
    [tm_min] => 54
    [tm_hour] => 15
    [tm_mday] => 3
    [tm_mon] => 9
    [tm_year] => 104
    [tm_wday] => 0
    [tm_yday] => 276
    [unparsed] =>
)

Notas

Nota: Esta función no está implementada en plataformas Windows.

Nota:

Internamente, esta función llama a la función strptime() proporcionada por la biblioteca C del sistema. Esta función puede presentar diferencias notables de comportamiento en diferentes sistemas operativos. Se recomienda el uso de date_parse_from_format(), a la cuál no le afectan estas cosas, en PHP 5.3.0 y posterior.

Nota:

"tm_sec" incluye segundos intercalares (actualmente hasta 2 por año). Para más información acerca de los segundos intercalares, vea el » artículo de Wikipedia sobre segundos intercalares.

Nota:

Antes de PHP 5.2.0, esta función podía devolver un comportamiento indefinido. En particular, las entradas "tm_sec", "tm_min" y "tm_hour" devolverían valores indefinidos.

Ver también

  • checkdate() - Validar una fecha gregoriana
  • strftime() - Formatea una fecha/hora local según la configuración regional
  • date_parse_from_format() - Obtiene información de una fecha dada formateada de acuerdo al formato especificado
  • DateTime::createFromFormat() - Devuelve un nuevo objeto DateTime formateado según el formato especificado

strftime
strtotime
Funciones de Fecha/Hora


Convierte una descripción de fecha/hora textual en Inglés a una fecha Unix

strptime
time
Funciones de Fecha/Hora
PHP Manual

strtotime

(PHP 4, PHP 5)

strtotime — Convierte una descripción de fecha/hora textual en Inglés a una fecha Unix

Descripción

int strtotime ( string $time [, int $now = time() ] )

Esta función espera que se proporcione una cadena que contenga un formato de fecha en Inglés US e intentará convertir ese formato a una fecha Unix (el número de segundos desde el 1 de Enero del 1970 00:00:00 UTC), relativa a la marca de tiempo dada en now, o la marca de tiempo actual si now no se proporciona.

Cada parámetro de esta función utiliza la zona horaria predeterminada a menos que se especifique una en ese parámetro. Se ha de tener cuidado de no usar diferentes zonas horarias en cada parámetro a memos que sea esa la intención. Véase la función date_default_timezone_get() para las diferentes maneras de definir la zona horaria predeterminada.

Parámetros

time

Una cadena de fecha/hora. Los formatos válidos son explicados en Formatos de fecha y hora.

now

La marca de tiempo que se usa como base para el cálculo de las fechas relativas.

Valores devueltos

Devuelve una marca de tiempo si se tuvo éxito, FALSE si no. Antes de PHP 5.1.0, esta funcion devolvía -1 si fallaba.

Errores/Excepciones

Cada vez que se llame a la función date/time se generará un E_NOTICE si la zona horaria no es válida, y/o un mensaje E_STRICT o E_WARNING si se usa la configuración del sistema o la variable global TZ. Vea también date_default_timezone_set()

Historial de cambios

Versión | Descripción
5.3.0 | Antes de PHP 5.3.0, formatos de tiempo relativo que se suministran al parámetro time de la función strtotime() como this week, previous week, last week, y next week se interpreta como un período de 7 días en relación con la fecha y hora actual, en lugar de un período de semana de Monday a Sunday.
5.3.0 | Antes de PHP 5.3.0, 24:00 no era un formato válido y strtotime() devolvía FALSE.
5.2.7 | En PHP 5 anterior a 5.2.7, las peticiones de una incidencia de un día de la semana dado en un mes donde ese día de la semana era el primer día del mes, añadía incorrectamente una semana a la marca de tiempo devuelta. Esto ha sido corregido en 5.2.7 y versiones posteriores.
5.1.0 | Ahora devuelve FALSE si falla, en vez de -1.
5.1.0 | Ahora muestra E_STRICT y E_NOTICE cuando ocurren errores con zonas horarias.
5.0.2 | En PHP 5 hasta 5.0.2, "now" y otros momentos relativos son computados erróneamente como la medianoche de hoy. Esto difiere de otras versiones donde es computado como el momento actual.
5.0.0 | Los microsegundos comenzaron a estar permitidos, pero son ignorados.
4.4.0 | En versiones de PHP anteriores a 4.4.0, "next" es computado incorrectamente como +2. Una solución típica para esto es usar "+1".

Ejemplos

Ejemplo #1 Un ejemplo de strtotime()

<?php
echo strtotime("now"), "\n";
echo strtotime("10 September 2000"), "\n";
echo strtotime("+1 day"), "\n";
echo strtotime("+1 week"), "\n";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
echo strtotime("next Thursday"), "\n";
echo strtotime("last Monday"), "\n";
?>

Ejemplo #2 Comprobar si falla

<?php
$cadena = 'No Válida';

// antes de PHP 5.1.0 se debería de comparar con -1, en vez de con false
if (($timestamp = strtotime($cadena)) === false) {
    echo "La cadena ($cadena) es falsa";
} else {
    echo "$cadena == " . date('l dS \o\f F Y h:i:s A', $timestamp);
}
?>

Notas

Nota:

Si el número del año se especifica en un formato de dos dígitos, los valores entre 00-69 hacen referencia a 2000-2069 y 70-99 a 1970-1999. Vea las notas de abajo para las posibles diferencias en sistemas de 32 bit (las fechas posibles podrían terminar en 2038-01-19 03:14:07).

Nota:

El rango válido de una marca de tiempo es típicamente desde Fri, 13 Dec 1901 20:45:54 UTC a Tue, 19 Jan 2038 03:14:07 UTC. (Estas son las fechas que se corresponden con los valores máximo y mínimo de un entero con signo de 32 bit.) Adicionalmente, no todas las plataformas soportan marcas de tiempo negativas, por lo tanto el rango de la fecha puede estar limitado a fechas no anteriores a la época Unix. Esto significa que, p.ej., las fechas anteriores al 1 de Enero del 1970 no funcionarán en Windows, en algunas distribuciones de Linux, y en otros pocos sistemas operativos. PHP 5.1.0 y versiones posteriores superan esta limitación.

Para PHP versión 64-bit, el rángo válido de fechas es en la práctica infinito, ya que 64 bits pueden representar aproximadamente 293.000 millones de años en cualquier dirección.

Nota:

Las fechas en los formatos m/d/y o d-m-y no son ambiguas al observar el separador entre los distintos componentes: si el separador es una barra (/), se asume el formato norteamericano m/d/y; mientras que si el separador es un guión (-) o un punto (.), se asume el formato europeo d-m-y.

Para evitar esta ambigüedad potencial es mejor usar fechas ISO 8601 (YYYY-MM-DD) o DateTime::createFromFormat() cuando sea posible.

Nota:

No es aconsejable utililzar esta función para operaciones matemáticas. Es mejor usar los métodos DateTime::add() y DateTime::sub() de PHP 5.3 y posterior, o el método DateTime::modify() de PHP 5.2.

Ver también

  • Formatos de Fecha y Hora
  • DateTime::createFromFormat() - Devuelve un nuevo objeto DateTime formateado según el formato especificado
  • checkdate() - Validar una fecha gregoriana
  • strptime() - Analiza una fecha/hora generada con strftime

strptime
time
Funciones de Fecha/Hora


Devuelve la fecha Unix actual

strtotime
timezone_abbreviations_list
Funciones de Fecha/Hora
PHP Manual

time

(PHP 4, PHP 5)

time — Devuelve la fecha Unix actual

Descripción

int time ( void )

Devuelve el momento actual medido como el número de segundos desde la Época Unix (1 de Enero de 1970 00:00:00 GMT).

Ejemplos

Ejemplo #1 Ejemplo de time()

<?php
$semana_sig = time() + (7 * 24 * 60 * 60);
                   // 7 días; 24 horas; 60 minutos; 60 segundos
echo 'Ahora:       '. date('Y-m-d') ."\n";
echo 'Semana Siguiente: '. date('Y-m-d', $semana_sig) ."\n";
// o usar strtotime():
echo 'Semana Siguiente: '. date('Y-m-d', strtotime('+1 week')) ."\n";
?>

El resultado del ejemplo sería algo similar a:

Ahora:       2005-03-30
Semana Siguiente: 2005-04-06
Semana Siguiente: 2005-04-06

Notas

Sugerencia

La marca de tiempo del inicio de la petición está disponible en $_SERVER['REQUEST_TIME'] desde PHP 5.1.

Ver también

  • date() - Dar formato a la fecha/hora local
  • microtime() - Devuelve la fecha Unix actual con microsegundos

strtotime
timezone_abbreviations_list
Funciones de Fecha/Hora


Alias de DateTimeZone::listAbbreviations

time
timezone_identifiers_list
Funciones de Fecha/Hora
PHP Manual

timezone_abbreviations_list

(PHP 5 >= 5.2.0)

timezone_abbreviations_list — Alias de DateTimeZone::listAbbreviations()

Descripción

Esta función es un alias de: DateTimeZone::listAbbreviations()

time
timezone_identifiers_list
Funciones de Fecha/Hora


Alias de DateTimeZone::listIdentifiers

timezone_abbreviations_list
timezone_location_get
Funciones de Fecha/Hora
PHP Manual

timezone_identifiers_list

(PHP 5 >= 5.2.0)

timezone_identifiers_list — Alias de DateTimeZone::listIdentifiers()

Descripción

Esta función es un alias de: DateTimeZone::listIdentifiers()

timezone_abbreviations_list
timezone_location_get
Funciones de Fecha/Hora


Alias de DateTimeZone::getLocation

timezone_identifiers_list
timezone_name_from_abbr
Funciones de Fecha/Hora
PHP Manual

timezone_location_get

(PHP 5 >= 5.3.0)

timezone_location_get — Alias de DateTimeZone::getLocation()

Descripción

Esta función es un alias de: DateTimeZone::getLocation()

timezone_identifiers_list
timezone_name_from_abbr
Funciones de Fecha/Hora


Devuelve el nombre de la zona horaria desde su abreviatura

timezone_location_get
timezone_name_get
Funciones de Fecha/Hora
PHP Manual

timezone_name_from_abbr

(PHP 5 >= 5.1.3)

timezone_name_from_abbr — Devuelve el nombre de la zona horaria desde su abreviatura

Descripción

string timezone_name_from_abbr ( string $abbr [, int $gmtOffset = -1 [, int $isdst = -1 ]] )

Parámetros

abbr

La abreviatura de la zona horaria.

gmtOffset

Índice de GMT en segundos. Por defecto es -1 lo que significa que la primera zona horaria buscada que se corresponda con abbr es devuelta. De otro modo se busca el índice exacto y, sólo si no se encuentra, se devuelve la priemra zona horaria con cualquier índice.

isdst

Indicador del horario de verano. Por defecto a -1, lo que significa que si la zona horaria tiene horario de verano no se toma encosideración en la búsqueda. Si está establecido a 1, entonces se asuma que el parámetro gmtOffset es un índice con el horario de verano en efecto; si es 0, entonces se asume que gmtOffset es un índice sin horario de verano en efecto. Si abbr no existe, la zona horaria se busca únicamente mediante gmtOffset y isdst.

Valores devueltos

Devuelve el nombre de la zona horaria si se tuvo éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de timezone_name_from_abbr()

<?php
echo timezone_name_from_abbr("CET") . "\n";
echo timezone_name_from_abbr("", 3600, 0) . "\n";
?>

El resultado del ejemplo sería algo similar a:

Europe/Berlin
Europe/Paris

Ver también

  • timezone_abbreviations_list() - Alias de DateTimeZone::listAbbreviations

timezone_location_get
timezone_name_get
Funciones de Fecha/Hora


Alias de DateTimeZone::getName

timezone_name_from_abbr
timezone_offset_get
Funciones de Fecha/Hora
PHP Manual

timezone_name_get

(PHP 5 >= 5.2.0)

timezone_name_get — Alias de DateTimeZone::getName()

Descripción

Esta función es un alias de: DateTimeZone::getName()

timezone_name_from_abbr
timezone_offset_get
Funciones de Fecha/Hora


Alias de DateTimeZone::getOffset

timezone_name_get
timezone_open
Funciones de Fecha/Hora
PHP Manual

timezone_offset_get

(PHP 5 >= 5.2.0)

timezone_offset_get — Alias de DateTimeZone::getOffset()

Descripción

Esta función es un alias de: DateTimeZone::getOffset()

timezone_name_get
timezone_open
Funciones de Fecha/Hora


Alias de DateTimeZone::__construct

timezone_offset_get
timezone_transitions_get
Funciones de Fecha/Hora
PHP Manual

timezone_open

(PHP 5 >= 5.2.0)

timezone_open — Alias de DateTimeZone::__construct()

Descripción

Esta función es un alias de: DateTimeZone::__construct()

timezone_offset_get
timezone_transitions_get
Funciones de Fecha/Hora


Alias de DateTimeZone::getTransitions

timezone_open
timezone_version_get
Funciones de Fecha/Hora
PHP Manual

timezone_transitions_get

(PHP 5 >= 5.2.0)

timezone_transitions_get — Alias de DateTimeZone::getTransitions()

Descripción

Esta función es un alias de: DateTimeZone::getTransitions()

timezone_open
timezone_version_get
Funciones de Fecha/Hora


Obtiene la versión de la base de datos timezonedb

timezone_transitions_get
Formatos de Fecha y Hora soportados
Funciones de Fecha/Hora
PHP Manual

timezone_version_get

(PHP 5 >= 5.3.0)

timezone_version_get — Obtiene la versión de la base de datos timezonedb

Descripción

string timezone_version_get ( void )

Devuelve la versión actual de timezonedb.

Valores devueltos

Devuelve un string.

Ejemplos

Ejemplo #1 Obtener la versión de timezonedb

<?php
echo timezone_version_get();
?>

El resultado del ejemplo sería algo similar a:

2009.7

Ver también

  • Lista de la Zonas Horarias Soportadas

timezone_transitions_get
Formatos de Fecha y Hora soportados
Funciones de Fecha/Hora


Formatos de Fecha y Hora soportados

Tabla de contenidos

  • Formatos de Hora
  • Formatos de Fecha
  • Formatos Compuestos
  • Formatos Relativos

Esta sección describe todos los diferentes formatos que entiende el analizador de strtotime(), DateTime y date_create(). Los formatos están agrupados por secciones. En la mayoría de los casos los formatos de diferentes secciones se pueden usar en la misma cadena de fecha/hora. Se dan ejemplos por cada uno de los formatos soportados, así como una descripción del formato. En los formatos, los caracteres entre comillas simples son insensibles a mayúsculas-minúsculas, ('t' podría ser t o T), los caracteres entre comillas dobles son sensibles a mayúsculas-minúsculas ("T" es solamente T).

timezone_version_get
Formatos de Hora
Fecha/Hora


Formatos de Hora

Esta página describe los diferentes formatos de hora que entieden los analizadores de strtotime(), DateTime y date_create().

Símbolos Usados
Descripción | Formatos | Ejemplos
fracción | . [0-9]+ | ".21342", ".85"
hh | "0"?[1-9] | "1"[0-2] | "04", "7", "12"
HH | [01][0-9] | "2"[0-4] | "04", "7", "19"
meridiano | [AaPp] .? [Mm] .? [\0\t ] | "A.m.", "pM", "am."
MM | [0-5][0-9] | "00", "12", "59"
II | [0-5][0-9] | "00", "12", "59"
espacio | [ \t] |
zh (zona horaria - en inglés tz) | "("? [A-Za-z]{1,6} ")"? | [A-Z][a-z]+([_/][A-Z][a-z]+)+ | "CEST", "Europe/Amsterdam", "America/Indiana/Knox"
corrección zh | "GMT"? [+-] hh ":"? MM? | "+0400", "GMT-07:00", "-07:00"
Notación de 12 Horas
Descripción | Formato | Ejemplos
Sólo hora, con meridiano | hh espacio? meridiano | "4 am", "5PM"
Horas y minutos, con meridiano | hh [.:] MM espacio? meridiano | "4:08 am", "7:19P.M."
Horas, minutos y segundos, con meridiano | hh [.:] MM [.:] II espacio? meridiano | "4:08:37 am", "7:19:19P.M."
MS SQL (Horas, minutos, segundos y fracción con meridiano), sólo PHP 5.3 y posterior | hh ":" MM ":" II [.:] [0-9]+ meridiano | "4:08:39:12313am"
Notación de 24 Horas
Descripción | Formato | Ejemplos
Horas y minutos | 't'? HH [.:] MM | "04:08", "19.19", "T23:43"
Horas y minutos, sin dos puntos | 't'? HH MM | "0408", "t1919", "T2343"
Horas, minutos y segundos | 't'? HH [.:] MM [.:] II | "04.08.37", "t19:19:19"
Horas, minutos y segundos, sin dos puntos | 't'? HH MM II | "040837", "T191919"
Horas, minutos, segundos y zona horaria | 't'? HH [.:] MM [.:] II espacio? ( corrección zh | zh ) | "040837CEST", "T191919-0700"
Horas, minutos, segundos y fracción | 't'? HH [.:] MM [.:] II fracción | "04.08.37.81412", "19:19:19.532453"
Información de zona horaria | zh | corrección zh | "CEST", "Europe/Amsterdam", "+0430", "GMT-06:00"
Formatos de Fecha y Hora soportados
Formatos de Fecha
Formatos de Fecha y Hora soportados


Formatos de Fecha

Esta página describe los diferentes formatos de fecha que entieden los analizadores de strtotime(), DateTime y date_create().

Símbolos Usados
Descripción | Formato | Ejemplos
sufijos de día (en inglés) | "st" | "nd" | "rd" | "th" |
dd | ([0-2]?[0-9] | "3"[01]) sufijos de día? | "7th", "22nd", "31"
DD | "0" [0-9] | [1-2][0-9] | "3" [01] | "07", "31"
m | 'january' | 'february' | 'march' | 'april' | 'may' | 'june' | 'july' | 'august' | 'september' | 'october' | 'november' | 'december' | 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec' | "I" | "II" | "III" | "IV" | "V" | "VI" | "VII" | "VIII" | "IX" | "X" | "XI" | "XII" |
M | 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec' |
mm | "0"? [0-9] | "1"[0-2] | "0", "04", "7", "12"
MM | "0" [0-9] | "1"[0-2] | "00", "04", "07", "12"
y | [0-9]{1,4} | "00", "78", "08", "8", "2008"
yy | [0-9]{2} | "00", "08", "78"
YY | [0-9]{4} | "2000", "2008", "1978"
Notaciones Localizadas
Descripción | Formato | Ejemplos
Mes y día americanos | mm "/" dd | "5/12", "10/27"
Mes, día y año americanos | mm "/" dd "/" y | "12/22/78", "1/17/2006", "1/17/6"
Año de cuatro dígitos, mes y día con baras | YY "/" mm "/" dd | "2008/6/30", "1978/12/22"
Año de cuatro dígitos y mes (GNU) | YY "-" mm | "2008-6", "2008-06", "1978-12"
Año, mes y día con guiones | y "-" mm "-" dd | "2008-6-30", "78-12-22", "8-6-21"
Día, mes y año de cuatro dígitos, con puntos, tabulaciones o guiones | dd [.\t-] mm [.-] YY | "30-6-2008", "22.12\t1978"
Día, mes y año de dos dígitos, con puntos o tabulaciones | dd [.\t] mm "." yy | "30.6.08", "22\t12\t78"
Día, mes textual y año | dd ([ \t.-])* m ([ \t.-])* y | "30-June 2008", "22DEC78", "14 III 1879"
Mes textual y año de cuatro dígitos (Día se restablece a 1) | m ([ \t.-])* YY | "June 2008", "DEC1978", "March 1879"
Año de cuatro dígitos y mes textual (Día se restablece a 1) | YY ([ \t.-])* m | "2008 June", "1978-XII", "1879.MArCH"
Mes textual, día y año | m ([ .\t-])* dd [,.stndrh\t ]+ y | "July 1st, 2008", "April 17, 1790", "May.9,78"
Mes textual y día | m ([ .\t-])* dd [,.stndrh\t ]* | "July 1st,", "Apr 17", "May.9"
Día y mes textual | d ([ .\t-])* m | "1 July", "17 Apr", "9.May"
Abreviatura de mes, día y año | M "-" DD "-" y | "May-09-78", "Apr-17-1790"
Año, abreviatura de mes y día | y "-" M "-" DD | "78-Dec-22", "1814-MAY-17"
Año (y sólo el año) | YY | "1978", "2008"
Mes textual (y sólo el mes) | m | "March", "jun", "DEC"
Notaciones ISO8601
Descripción | Formato | Ejemplos
Año, mes y día, de ocho dígitos | YY MM DD | "15810726", "19780417", "18140517"
Año de cuatro dígitos, mes y día con barras | YY "/" MM "/" DD | "2008/06/30", "1978/12/22"
Año de dos dígitos, mes y dís con barras | yy "-" MM "-" DD | "08-06-30", "78-12-22"
Año de cuatro dígitos con signo opcional, mes y día | [+-]? YY "-" MM "-" DD | "-0002-07-26", "+1978-04-17", "1814-05-17"

Nota:

Para los formatos y e yy, los años por debajo de 100 son tratados de manera especial cuando se usan los símbolos y o yy. Si el año cae en el rango de 0 (inclusive) a 69 (inclusive), se añade 2000. Si el año cae en el rango de 70 (inclusive) a 99 (inclusive) se añade entonces 1900. Esto significa que "00-01-01" se interpreta como "2000-01-01".

Nota:

El formato "Día, mes y año de dos dígitos, con puntos o tabulaciones" (dd [.\t] mm "." yy) solamente funciona con valores de años de 61 (inclusive) a 99 (inclusive) - fuera de esos años el formato de hora "HH [.:] MM [.:] SS" tiene precedencia.

Nota:

El formato "Año (y sólo el año)" solamente funciona si se encotró ya una cadena de hora -- de otro modo este formato es reconocido como HH MM.

Nota:

Es posible poner en exceso y en defecto los formatos dd y DD. Día 0 significa el último día del mes anterios, mientras en exceso empieza a contar desde el mes siguiente. Esto hace que "2008-08-00" equivalga a "2008-07-31" y "2008-06-31" sea equivalente a "2008-07-01" (junio tiene sólo 30 días).

También es posible poner en defecto los formatos mm y MM con el valor 0. Un valor de mes de 0 significa diciemebre del año anterior. Como ejemplo "2008-00-22" es equivalente a "2007-12-22".

Si se combinan los dos hechos anteriores y se ponen por defecto el día y el mes, sucede lo siguiente: "2008-00-00" primero se convierte a "2007-12-00" que después se convierte a "2007-11-30". Esto también sucede con la cadena "0000-00-00", que se transforma en "-0001-11-30" (el año -1 en el calendario ISO 8601, el cuál es 2 A.C. en el calendario gregoriano "proléptico").

Formatos de Hora
Formatos Compuestos
Formatos de Fecha y Hora soportados


Formatos Compuestos

Esta página describe los diferentes formatos compuestos de fecha/hora que entieden los analizadores de strtotime(), DateTime y date_create().

Símbolos Usados
Descripción | Formats | Ejemplos
DD | "0" [0-9] | [1-2][0-9] | "3" [01] | "02", "12", "31"
día del año | "00"[1-9] | "0"[1-9][0-9] | [1-2][0-9][0-9] | "3"[0-5][0-9] | "36"[0-6] | "36"[0-6] "000", "012", "366"
fracción | . [0-9]+ | ".21342", ".85"
hh | "0"?[1-9] | "1"[0-2] | "04", "7", "12"
HH | [01][0-9] | "2"[0-4] | "04", "7", "19"
meridiano | [AaPp] .? [Mm] .? [\0\t ] | "A.m.", "pM", "am."
ii | [0-5][0-9] | "04", "8", "59"
II | [0-5][0-9] | "04", "08", "59"
M | 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec' |
MM | [0-5][0-9] | "00", "12", "59"
espacio | [ \t] |
ss | [0-5][0-9] | "04", "8", "59"
SS | [0-5][0-9] | "04", "08", "59"
W | "0"[1-9] | [1-4][0-9] | "5"[0-3] | "05", "17", "53"
corrección zh | "GMT"? [+-] hh ":"? MM? | "+0400", "GMT-07:00", "-07:00"
YY | [0-9]{4} | "2000", "2008", "1978"
Notaciones Localizadas
Descripción | Formato | Ejemplos
Formato Log Común | dd "/" M "/" YY : HH ":" II ":" SS espacio corrección zh | "10/Oct/2000:13:55:36 -0700"
EXIF | YY ":" MM ":" DD " " HH ":" II ":" SS | "2008:08:07 18:11:31"
Año ISO con semana ISO | YY "-"? "W" W | "2008W27", "2008-W28"
Año ISO con semana a día ISO | YY "-"? "W" W "-"? [0-7] | "2008W273", "2008-W28-3"
MySQL | YY "-" MM "-" DD " " HH ":" II ":" SS | "2008-08-07 18:11:31"
PostgreSQL: Año con día del año | YY "."? día del año | "2008.197", "2008197"
SOAP | YY "-" MM "-" DD "T" HH ":" II ":" SS fracción corrección zh? | "2008-07-01T22:35:17.02", "2008-07-01T22:35:17.03+08:00"
Fecha Unix | "@" "-"? [0-9]+ | "@1215282385"
XMLRPC | YY MM DD "T" hh ":" II ":" SS | "20080701T22:38:07", "20080701T9:38:07"
XMLRPC (Compacto) | YY MM DD 't' hh II SS | "20080701t223807", "20080701T093807"
WDDX | YY "-" mm "-" dd "T" hh ":" ii ":" ss | "2008-7-1T9:3:37"

Nota:

La "W" en los formatos "Año ISO con semana ISO" y "Año ISO con semana y día ISO" es sensible a mayúsculas-minúsculas, sólo se puede usar la "W" mayúscula.

La "T" en los formatos SOAP, XMRPC y WDDX es sensible a mayúsculas-minúsculas, sólo se puede usar la "T" mayúscula.

El formato "Unix Timestamp" establece la zona horaria a UTC.

Formatos de Fecha
Formatos Relativos
Formatos de Fecha y Hora soportados


Formatos Relativos

Esta página describe los diferentes formatos relativos de fecha/hora que entieden los analizadores de strtotime(), DateTime y date_create().

Símbolos Usados
Descripción | Formato
nombre del día | 'sunday' | 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' | 'sun'
texto de día | 'weekday' | 'weekdays'
número | [+-]?[0-9]+
ordinal | 'first' | 'second' | 'third' | 'fourth' | 'fifth' | 'sixth' | 'seventh' | 'eighth' | 'ninth' | 'tenth' | 'eleventh' | 'twelfth' | 'next' | 'last' | 'previous' | 'this'
texto relativo | 'next' | 'last' | 'previous' | 'this'
espacio | [ \t]+
unidad | (('sec' | 'second' | 'min' | 'minute' | 'hour' | 'day' | 'fortnight' | 'forthnight' | 'month' | 'year') 's'?) | 'weeks' | texto de día
Notaciones Basadas en el Día
Formato | Descripción | Ejemplos
'yesterday' | Medianoche de ayer | "yesterday 14:00"
'midnight' | La hora es establecida a 00:00:00 |
'today' | La hora es establecida a 00:00:00 |
'now' | Ahora - esto es simplemente ignorado |
'noon' | La hora es establecida a 12:00:00 | "yesterday noon"
'tomorrow' | Medianoche de mañana |
'back of' hora | 15 minutos después de la hora especificada | "back of 7pm", "back of 15"
'front of' hora | 15 minutos antes de la hora especificada | "front of 5am", "front of 23"
'first day' ' of'? | Esteblece el día al primer día del mes actual. Esta frase se usa mejor seguida de un nombre de mes. | "first day of January 2008"
'last day' ' of'? | Esteblece el día al último día del mes actual. Esta frase se usa mejor seguida de un nombre de mes. | "last day of next month"
ordinal espacio nombre del día espacio 'of' | Calcula el x-ésimo día de la semana del mes actual. | "first sat of July 2008"
'last' espacio nombre del día espacio 'of' | Calcula el último día de la semana del mes actual. | "last sat of July 2008"
número espacio? (unidad | 'week') | Trata elementos de hora relativos donde el valor es un número. | "+5 weeks", "12 day", "-7 weekdays"
ordinal espacio unidad | Trata elementos de hora relativos donde el valor es texto. | "fifth day", "second month"
'ago' | Anula todos los valores de los elementos de hora relativos encontrados anteriormente. | "2 days ago", "8 days ago 14:00", "2 months 5 days ago", "2 months ago 5 days", "2 days ago ago"
nombre del día | Avanza al siguiente día con este nombre. | "Monday"
texto relativo espacio 'week' | Trata el formato especial "weekday + last/this/next week". | "Monday next week"

Nota:

Las declaraciones relativas son siempre procesadas después de las declaraciones no relativas. Esto hace que "+1 week july 2008" y "july 2008 +1 week" sean equivalentes.

Las excepciones a esta regla son: "yesterday", "midnight", "today", "noon" y "tomorrow". Téngase en cuenta que "tomorrow 11:00" y "11:00 tomorrow" son diferentes. Considerando la fecha de hoy como "July 23rd, 2008", el primero produce "2008-07-24 11:00" mientras que el segundo produce "2008-07-24 00:00". La razón de esto es que esas cinco declaraciones influyen directamente en el momento actual.

Nota:

Analice las siguiente observaciones cuando el día de la semana actual es el mismo que el día de la semana usado en la cadena de fecha/hora. Sin embargo, el día de la semana actual prodría haber sido (re-)calculado mediante partes no relativas de la cadena de fecha/hora.

  1. "nombre del día" no avanza a otro día. (Ejemplo: "Wed July 23rd, 2008" significa "2008-07-23").
  2. "número nombre del día" no avanza a otro día. (Ejemplo: "1 wednesday july 23rd, 2008" significa "2008-07-23").
  3. "número week nombre del día" añadirá primero el número de semanas, pero no avanzará a otro día. En este caso "número week" y "nombre del día" son dos bloques distintos. (Ejemplo: "+1 week wednesday july 23rd, 2008" significa "2008-07-30").
  4. "ordinal nombre del día" sí avanza a otro día. (Ejemplo "first wednesday july 23rd, 2008" significa "2008-07-30").
  5. "número week ordinal nombre del día" primero añadíra el número de semanas, y después avanzará a otro día. En este caso "número week" y "ordinal nombre del día" son dos bloques distintos. (Ejemplo: "+1 week first wednesday july 23rd, 2008" significa "2008-08-06").
  6. "ordinal nombre del día 'of' " no avanza a otro día. (Ejemplo: "first wednesday of july 23rd, 2008" significa "2008-07-02" ya que la frase específica con 'of' restablece el día del mes a '1' y el '23rd' aquí se ignora).

También observe que el "of" en "ordinal espacio nombre del día espacio 'of' " y "'last' espacio nombre del día espacio 'of' " hace algo especial.

  1. Establece el día del mes a 1.
  2. "ordinal nombre del día 'of' " no avanza a otro día. (Ejemplo: "first tuesday of july 2008" significa "2008-07-01").
  3. "ordinal nombre del día " sí avanza otro día. (Ejemplo: "first tuesday july 2008" significa "2008-07-08", véase también el punto 4 en la lista de arriba).
  4. "'last' nombre del día 'of' " toma el último nombre del día des mes actual. (Ejemplo: "last wed of july 2008" significa "2008-07-30")
  5. "'last' nombre del día" toma el último nombre del día desde el día actual. (Ejemplo: "last wed july 2008" significa "2008-06-25"; "july 2008" primero establece la fecha actual a "2008-07-01" y después "last wed" avanza al miércoles anterior, que es "2008-06-25").

Nota:

Los valores relativos al mes se calculan basándose en la longitud de los meses por que los que pasan. Un ejemplo sería "+2 month 2011-11-30", el cual produciría "2012-01-30". Esto es debido a que noviembre tiene 30 días de longitud, y diciembre tiene 31 días de longitud, produciendo un total de 61 días.

Formatos Compuestos
Listado de zonas horarias soportadas
Formatos de Fecha y Hora soportados


Listado de zonas horarias soportadas

Tabla de contenidos

  • África
  • América
  • Antártida
  • Ártico
  • Asia
  • Atlántico
  • Australia
  • Europa
  • India
  • Pacífico
  • Otros

Aquí se podrá encontrar una lista completa de los timezones soportados por PHP, que están pensados para ser usados p.ej. date_default_timezone_set().

Nota: La versión más reciente de la base de datos de timezone se puede instalar vía PECL's » timezonedb.

Nota: Esta lista está basada en la versión de base de datos de zonas horarias 2013.9.

Formatos Relativos
África
Fecha/Hora


África

África
Africa/Abidjan | Africa/Accra | Africa/Addis_Ababa | Africa/Algiers | Africa/Asmara
Africa/Asmera | Africa/Bamako | Africa/Bangui | Africa/Banjul | Africa/Bissau
Africa/Blantyre | Africa/Brazzaville | Africa/Bujumbura | Africa/Cairo | Africa/Casablanca
Africa/Ceuta | Africa/Conakry | Africa/Dakar | Africa/Dar_es_Salaam | Africa/Djibouti
Africa/Douala | Africa/El_Aaiun | Africa/Freetown | Africa/Gaborone | Africa/Harare
Africa/Johannesburg | Africa/Juba | Africa/Kampala | Africa/Khartoum | Africa/Kigali
Africa/Kinshasa | Africa/Lagos | Africa/Libreville | Africa/Lome | Africa/Luanda
Africa/Lubumbashi | Africa/Lusaka | Africa/Malabo | Africa/Maputo | Africa/Maseru
Africa/Mbabane | Africa/Mogadishu | Africa/Monrovia | Africa/Nairobi | Africa/Ndjamena
Africa/Niamey | Africa/Nouakchott | Africa/Ouagadougou | Africa/Porto-Novo | Africa/Sao_Tome
Africa/Timbuktu | Africa/Tripoli | Africa/Tunis | Africa/Windhoek |
Listado de zonas horarias soportadas
América
Listado de zonas horarias soportadas


América

América
America/Adak | America/Anchorage | America/Anguilla | America/Antigua | America/Araguaina
America/Argentina/Buenos_Aires | America/Argentina/Catamarca | America/Argentina/ComodRivadavia | America/Argentina/Cordoba | America/Argentina/Jujuy
America/Argentina/La_Rioja | America/Argentina/Mendoza | America/Argentina/Rio_Gallegos | America/Argentina/Salta | America/Argentina/San_Juan
America/Argentina/San_Luis | America/Argentina/Tucuman | America/Argentina/Ushuaia | America/Aruba | America/Asuncion
America/Atikokan | America/Atka | America/Bahia | America/Bahia_Banderas | America/Barbados
America/Belem | America/Belize | America/Blanc-Sablon | America/Boa_Vista | America/Bogota
America/Boise | America/Buenos_Aires | America/Cambridge_Bay | America/Campo_Grande | America/Cancun
America/Caracas | America/Catamarca | America/Cayenne | America/Cayman | America/Chicago
America/Chihuahua | America/Coral_Harbour | America/Cordoba | America/Costa_Rica | America/Creston
America/Cuiaba | America/Curacao | America/Danmarkshavn | America/Dawson | America/Dawson_Creek
America/Denver | America/Detroit | America/Dominica | America/Edmonton | America/Eirunepe
America/El_Salvador | America/Ensenada | America/Fort_Wayne | America/Fortaleza | America/Glace_Bay
America/Godthab | America/Goose_Bay | America/Grand_Turk | America/Grenada | America/Guadeloupe
America/Guatemala | America/Guayaquil | America/Guyana | America/Halifax | America/Havana
America/Hermosillo | America/Indiana/Indianapolis | America/Indiana/Knox | America/Indiana/Marengo | America/Indiana/Petersburg
America/Indiana/Tell_City | America/Indiana/Vevay | America/Indiana/Vincennes | America/Indiana/Winamac | America/Indianapolis
America/Inuvik | America/Iqaluit | America/Jamaica | America/Jujuy | America/Juneau
America/Kentucky/Louisville | America/Kentucky/Monticello | America/Knox_IN | America/Kralendijk | America/La_Paz
America/Lima | America/Los_Angeles | America/Louisville | America/Lower_Princes | America/Maceio
America/Managua | America/Manaus | America/Marigot | America/Martinique | America/Matamoros
America/Mazatlan | America/Mendoza | America/Menominee | America/Merida | America/Metlakatla
America/Mexico_City | America/Miquelon | America/Moncton | America/Monterrey | America/Montevideo
America/Montreal | America/Montserrat | America/Nassau | America/New_York | America/Nipigon
America/Nome | America/Noronha | America/North_Dakota/Beulah | America/North_Dakota/Center | America/North_Dakota/New_Salem
America/Ojinaga | America/Panama | America/Pangnirtung | America/Paramaribo | America/Phoenix
America/Port-au-Prince | America/Port_of_Spain | America/Porto_Acre | America/Porto_Velho | America/Puerto_Rico
America/Rainy_River | America/Rankin_Inlet | America/Recife | America/Regina | America/Resolute
America/Rio_Branco | America/Rosario | America/Santa_Isabel | America/Santarem | America/Santiago
America/Santo_Domingo | America/Sao_Paulo | America/Scoresbysund | America/Shiprock | America/Sitka
America/St_Barthelemy | America/St_Johns | America/St_Kitts | America/St_Lucia | America/St_Thomas
America/St_Vincent | America/Swift_Current | America/Tegucigalpa | America/Thule | America/Thunder_Bay
America/Tijuana | America/Toronto | America/Tortola | America/Vancouver | America/Virgin
America/Whitehorse | America/Winnipeg | America/Yakutat | America/Yellowknife |
África
Antártida
Listado de zonas horarias soportadas


Antártida

Antártida
Antarctica/Casey | Antarctica/Davis | Antarctica/DumontDUrville | Antarctica/Macquarie | Antarctica/Mawson
Antarctica/McMurdo | Antarctica/Palmer | Antarctica/Rothera | Antarctica/South_Pole | Antarctica/Syowa
Antarctica/Vostok |  |  |  |
América
Ártico
Listado de zonas horarias soportadas


Ártico

Ártico
Arctic/Longyearbyen
Antártida
Asia
Listado de zonas horarias soportadas


Asia

Asia
Asia/Aden | Asia/Almaty | Asia/Amman | Asia/Anadyr | Asia/Aqtau
Asia/Aqtobe | Asia/Ashgabat | Asia/Ashkhabad | Asia/Baghdad | Asia/Bahrain
Asia/Baku | Asia/Bangkok | Asia/Beirut | Asia/Bishkek | Asia/Brunei
Asia/Calcutta | Asia/Choibalsan | Asia/Chongqing | Asia/Chungking | Asia/Colombo
Asia/Dacca | Asia/Damascus | Asia/Dhaka | Asia/Dili | Asia/Dubai
Asia/Dushanbe | Asia/Gaza | Asia/Harbin | Asia/Hebron | Asia/Ho_Chi_Minh
Asia/Hong_Kong | Asia/Hovd | Asia/Irkutsk | Asia/Istanbul | Asia/Jakarta
Asia/Jayapura | Asia/Jerusalem | Asia/Kabul | Asia/Kamchatka | Asia/Karachi
Asia/Kashgar | Asia/Kathmandu | Asia/Katmandu | Asia/Khandyga | Asia/Kolkata
Asia/Krasnoyarsk | Asia/Kuala_Lumpur | Asia/Kuching | Asia/Kuwait | Asia/Macao
Asia/Macau | Asia/Magadan | Asia/Makassar | Asia/Manila | Asia/Muscat
Asia/Nicosia | Asia/Novokuznetsk | Asia/Novosibirsk | Asia/Omsk | Asia/Oral
Asia/Phnom_Penh | Asia/Pontianak | Asia/Pyongyang | Asia/Qatar | Asia/Qyzylorda
Asia/Rangoon | Asia/Riyadh | Asia/Saigon | Asia/Sakhalin | Asia/Samarkand
Asia/Seoul | Asia/Shanghai | Asia/Singapore | Asia/Taipei | Asia/Tashkent
Asia/Tbilisi | Asia/Tehran | Asia/Tel_Aviv | Asia/Thimbu | Asia/Thimphu
Asia/Tokyo | Asia/Ujung_Pandang | Asia/Ulaanbaatar | Asia/Ulan_Bator | Asia/Urumqi
Asia/Ust-Nera | Asia/Vientiane | Asia/Vladivostok | Asia/Yakutsk | Asia/Yekaterinburg
Asia/Yerevan |  |  |  |
Ártico
Atlántico
Listado de zonas horarias soportadas


Atlántico

Atlántico
Atlantic/Azores | Atlantic/Bermuda | Atlantic/Canary | Atlantic/Cape_Verde | Atlantic/Faeroe
Atlantic/Faroe | Atlantic/Jan_Mayen | Atlantic/Madeira | Atlantic/Reykjavik | Atlantic/South_Georgia
Atlantic/St_Helena | Atlantic/Stanley |  |  |
Asia
Australia
Listado de zonas horarias soportadas


Australia

Australia
Australia/ACT | Australia/Adelaide | Australia/Brisbane | Australia/Broken_Hill | Australia/Canberra
Australia/Currie | Australia/Darwin | Australia/Eucla | Australia/Hobart | Australia/LHI
Australia/Lindeman | Australia/Lord_Howe | Australia/Melbourne | Australia/North | Australia/NSW
Australia/Perth | Australia/Queensland | Australia/South | Australia/Sydney | Australia/Tasmania
Australia/Victoria | Australia/West | Australia/Yancowinna |  |
Atlántico
Europa
Listado de zonas horarias soportadas


Europa

Europa
Europe/Amsterdam | Europe/Andorra | Europe/Athens | Europe/Belfast | Europe/Belgrade
Europe/Berlin | Europe/Bratislava | Europe/Brussels | Europe/Bucharest | Europe/Budapest
Europe/Busingen | Europe/Chisinau | Europe/Copenhagen | Europe/Dublin | Europe/Gibraltar
Europe/Guernsey | Europe/Helsinki | Europe/Isle_of_Man | Europe/Istanbul | Europe/Jersey
Europe/Kaliningrad | Europe/Kiev | Europe/Lisbon | Europe/Ljubljana | Europe/London
Europe/Luxembourg | Europe/Madrid | Europe/Malta | Europe/Mariehamn | Europe/Minsk
Europe/Monaco | Europe/Moscow | Europe/Nicosia | Europe/Oslo | Europe/Paris
Europe/Podgorica | Europe/Prague | Europe/Riga | Europe/Rome | Europe/Samara
Europe/San_Marino | Europe/Sarajevo | Europe/Simferopol | Europe/Skopje | Europe/Sofia
Europe/Stockholm | Europe/Tallinn | Europe/Tirane | Europe/Tiraspol | Europe/Uzhgorod
Europe/Vaduz | Europe/Vatican | Europe/Vienna | Europe/Vilnius | Europe/Volgograd
Europe/Warsaw | Europe/Zagreb | Europe/Zaporozhye | Europe/Zurich |
Australia
India
Listado de zonas horarias soportadas


India

India
Indian/Antananarivo | Indian/Chagos | Indian/Christmas | Indian/Cocos | Indian/Comoro
Indian/Kerguelen | Indian/Mahe | Indian/Maldives | Indian/Mauritius | Indian/Mayotte
Indian/Reunion |  |  |  |
Europa
Pacífico
Listado de zonas horarias soportadas


Pacífico

Pacífico
Pacific/Apia | Pacific/Auckland | Pacific/Chatham | Pacific/Chuuk | Pacific/Easter
Pacific/Efate | Pacific/Enderbury | Pacific/Fakaofo | Pacific/Fiji | Pacific/Funafuti
Pacific/Galapagos | Pacific/Gambier | Pacific/Guadalcanal | Pacific/Guam | Pacific/Honolulu
Pacific/Johnston | Pacific/Kiritimati | Pacific/Kosrae | Pacific/Kwajalein | Pacific/Majuro
Pacific/Marquesas | Pacific/Midway | Pacific/Nauru | Pacific/Niue | Pacific/Norfolk
Pacific/Noumea | Pacific/Pago_Pago | Pacific/Palau | Pacific/Pitcairn | Pacific/Pohnpei
Pacific/Ponape | Pacific/Port_Moresby | Pacific/Rarotonga | Pacific/Saipan | Pacific/Samoa
Pacific/Tahiti | Pacific/Tarawa | Pacific/Tongatapu | Pacific/Truk | Pacific/Wake
Pacific/Wallis | Pacific/Yap |  |  |
India
Otros
Listado de zonas horarias soportadas


Otros

Otros
Brazil/Acre | Brazil/DeNoronha | Brazil/East | Brazil/West | Canada/Atlantic
Canada/Central | Canada/East-Saskatchewan | Canada/Eastern | Canada/Mountain | Canada/Newfoundland
Canada/Pacific | Canada/Saskatchewan | Canada/Yukon | CET | Chile/Continental
Chile/EasterIsland | CST6CDT | Cuba | EET | Egypt
Eire | EST | EST5EDT | Etc/GMT | Etc/GMT+0
Etc/GMT+1 | Etc/GMT+10 | Etc/GMT+11 | Etc/GMT+12 | Etc/GMT+2
Etc/GMT+3 | Etc/GMT+4 | Etc/GMT+5 | Etc/GMT+6 | Etc/GMT+7
Etc/GMT+8 | Etc/GMT+9 | Etc/GMT-0 | Etc/GMT-1 | Etc/GMT-10
Etc/GMT-11 | Etc/GMT-12 | Etc/GMT-13 | Etc/GMT-14 | Etc/GMT-2
Etc/GMT-3 | Etc/GMT-4 | Etc/GMT-5 | Etc/GMT-6 | Etc/GMT-7
Etc/GMT-8 | Etc/GMT-9 | Etc/GMT0 | Etc/Greenwich | Etc/UCT
Etc/Universal | Etc/UTC | Etc/Zulu | Factory | GB
GB-Eire | GMT | GMT+0 | GMT-0 | GMT0
Greenwich | Hongkong | HST | Iceland | Iran
Israel | Jamaica | Japan | Kwajalein | Libya
MET | Mexico/BajaNorte | Mexico/BajaSur | Mexico/General | MST
MST7MDT | Navajo | NZ | NZ-CHAT | Poland
Portugal | PRC | PST8PDT | ROC | ROK
Singapore | Turkey | UCT | Universal | US/Alaska
US/Aleutian | US/Arizona | US/Central | US/East-Indiana | US/Eastern
US/Hawaii | US/Indiana-Starke | US/Michigan | US/Mountain | US/Pacific
US/Pacific-New | US/Samoa | UTC | W-SU | WET
Zulu |  |  |  |
Advertencia

Por favor no utilice ninguna de las zonas horarias listadas aquí (excepto UTC), sólo exiten por razones de compatibilidad con versiones anteriores.

Pacífico
Extensiones relacionadas con el sistema de ficheros
Listado de zonas horarias soportadas


Extensiones relacionadas con el sistema de ficheros

  • Direct IO
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de Direct IO
  • Directorios
    • Instalación/Configuración
    • Constantes predefinidas
    • Directorio — La clase Directorio
    • Funciones de directorio
  • Fileinfo — Información de un fichero
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de Fileinfo
  • Sistema de Ficheros
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones del Sistema de Archivos
  • Inotify
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones Inotify
  • Mimetype
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
  • Proctitle
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Proctitle Funciones
  • xattr
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de xattr
  • xdiff
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de xdiff
Otros
Direct IO
Referencia de funciones


Direct IO

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de Direct IO
    • dio_close — Cierra el descriptor de fichero fd
    • dio_fcntl — Lleva a cabo la función fcntl de la biblioteca C en el fichero fd
    • dio_open — Abre (crea si fuera necesario) un fichero a un nivel más bajo que el permitido por flujos de entrada y salida de las bibliotecas en C.
    • dio_read — Leer bytes de un descriptor de fichero
    • dio_seek — Salta a una posición del descriptor de fichero desde donde proceda
    • dio_stat — Consulta información de estado del descriptor de fichero fd
    • dio_tcsetattr — Establece los atributos terminales y la tasa de baudios del puerto serie
    • dio_truncate — Trunca un descriptor de fichero fd a un determinado número de bytes
    • dio_write — Escribe datos en el descriptor de fichero con un truncado opcional
Extensiones relacionadas con el sistema de ficheros
Introducción
Extensiones relacionadas con el sistema de ficheros


Introducción

PHP incorpora soporte para funciones de entrada/salida directa tal como se describe en el estándar Posix (Sección 6) para realizar funciones de E/S a un nivel más bajo bajo que los flujos de E/S de las funciones en C ( fopen(), fread(),..). Sólo debe considerarse usar las funciones DIO cuando sea necesario tener control directo sobre un dispositivo. En cualquier otro caso, las funciónes estándar del sistema de ficheros son más que suficiente.

Nota:

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.1.0.

Desde PHP 5.0.0. esta extensión sólo está disponible en Plataformas Windows.

Direct IO
Instalación/Configuración
Direct IO


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Direct IO


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/dio.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

Esta extensión define un tipo de recurso: un descriptor de fichero devuelto por dio_open().

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

F_DUPFD (integer)

F_GETFD (integer)

F_GETFL (integer)

F_GETLK (integer)

F_GETOWN (integer)

F_RDLCK (integer)

F_SETFL (integer)

F_SETLK (integer)

F_SETLKW (integer)

F_SETOWN (integer)

F_UNLCK (integer)

F_WRLCK (integer)

O_APPEND (integer)

O_ASYNC (integer)

O_CREAT (integer)

O_EXCL (integer)

O_NDELAY (integer)

O_NOCTTY (integer)

O_NONBLOCK (integer)

O_RDONLY (integer)

O_RDWR (integer)

O_SYNC (integer)

O_TRUNC (integer)

O_WRONLY (integer)

S_IRGRP (integer)

S_IROTH (integer)

S_IRUSR (integer)

S_IRWXG (integer)

S_IRWXO (integer)

S_IRWXU (integer)

S_IWGRP (integer)

S_IWOTH (integer)

S_IWUSR (integer)

S_IXGRP (integer)

S_IXOTH (integer)

S_IXUSR (integer)

Tipos de recursos
Funciones de Direct IO
Direct IO


Funciones de Direct IO

Tabla de contenidos

  • dio_close — Cierra el descriptor de fichero fd
  • dio_fcntl — Lleva a cabo la función fcntl de la biblioteca C en el fichero fd
  • dio_open — Abre (crea si fuera necesario) un fichero a un nivel más bajo que el permitido por flujos de entrada y salida de las bibliotecas en C.
  • dio_read — Leer bytes de un descriptor de fichero
  • dio_seek — Salta a una posición del descriptor de fichero desde donde proceda
  • dio_stat — Consulta información de estado del descriptor de fichero fd
  • dio_tcsetattr — Establece los atributos terminales y la tasa de baudios del puerto serie
  • dio_truncate — Trunca un descriptor de fichero fd a un determinado número de bytes
  • dio_write — Escribe datos en el descriptor de fichero con un truncado opcional
Constantes predefinidas
dio_close
Direct IO


Cierra el descriptor de fichero fd

Funciones de Direct IO
dio_fcntl
Funciones de Direct IO
PHP Manual

dio_close

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_close — Cierra el descriptor de fichero fd

Descripción

void dio_close ( resource $fd )

La función dio_close() cierra el descriptor de fichero fd.

Parámetros

fd

Descriptor de fichero devuelto por dio_open().

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Cerrando un descriptor de fichero

<?php
$fd = dio_open('/dev/ttyS0', O_RDWR);

dio_close($fd);
?>

Ver también

  • dio_open() - Abre (crea si fuera necesario) un fichero a un nivel más bajo que el permitido por flujos de entrada y salida de las bibliotecas en C.

Funciones de Direct IO
dio_fcntl
Funciones de Direct IO


Lleva a cabo la función fcntl de la biblioteca C en el fichero fd

dio_close
dio_open
Funciones de Direct IO
PHP Manual

dio_fcntl

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_fcntl — Lleva a cabo la función fcntl de la biblioteca C en el fichero fd

Descripción

mixed dio_fcntl ( resource $fd , int $cmd [, mixed $args ] )

La función dio_fcntl() realiza la operación especificada por cmd sobre el descriptor de fichero fd. Algunos comandos requieren que se proporcionen parámetros adicionales en args.

Parámetros

fd

Descriptor de fichero devuelto por dio_open().

cmd

Puede ser una de las siguientes operaciones:

  • F_SETLK - Se asigna o quita el bloqueo. Si está bloqueado por otro proceso, dio_fcntl() devuelve -1.

  • F_SETLKW - como F_SETLK, pero en caso de que esté bloqueado por otro proceso, dio_fcntl() espera a que éste se libere.

  • F_GETLK - dio_fcntl() devuelve un array asociativo (descrito más abajo) si algún proceso previene el bloqueo. Si no hubiera impedimento, se asignará la clave "type" a F_UNLCK.

  • F_DUPFD - encuentra el número de descriptor más bajo disponible que sea igual o superior a args y lo devuelve.

  • F_SETFL - Establece al descriptor de fichero las banderas especificadas en args, de entre O_APPEND, O_NONBLOCK o O_ASYNC. Para usar O_ASYNC debe usarse la extensión PCNTL.

args

args es un array asociativo, cuando cmd sea F_SETLK o F_SETLLW, con las siguientes claves:

  • start - posición donde comienza el bloqueo

  • length - tamaño del area bloqueada. Cero significa hasta el final del fichero

  • whence - Desde dónde se contabiliza l_start: puede ser SEEK_SET, SEEK_END y SEEK_CUR

  • type - tipo de bloqueo: puede ser F_RDLCK (bloqueo de lectura), F_WRLCK (bloqueo de escritura) o F_UNLCK (desbloqueo)

Valores devueltos

Devuelve el resultado de la llamada a C.

Ejemplos

Ejemplo #1 Bloqueando y desbloqueando

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR);

if (dio_fcntl($fd, F_SETLK, Array("type"=>F_WRLCK)) == -1) {
   // parece el descriptor de fichero está bloqueado
   echo "No se puede desbloquear. Pertenece a algún otro proceso.";
} else {
   echo "Bloqueo/desbloqueo con éxito";
}

dio_close($fd);
?>

Notas

Nota: Esta función no está implementada en plataformas Windows.

dio_close
dio_open
Funciones de Direct IO


Abre (crea si fuera necesario) un fichero a un nivel más bajo que el permitido por flujos de entrada y salida de las bibliotecas en C.

dio_fcntl
dio_read
Funciones de Direct IO
PHP Manual

dio_open

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_open — Abre (crea si fuera necesario) un fichero a un nivel más bajo que el permitido por flujos de entrada y salida de las bibliotecas en C.

Descripción

resource dio_open ( string $filename , int $flags [, int $mode = 0 ] )

dio_open() abre un fichero y devuelve su descriptor de fichero.

Parámetros

filename

Ruta del fichero a abrir.

flags

El parámetro flags es una máscara OR de bits compuesta a partir de las siguientes banderas. Estos valores tienen que incluir alguno de entre O_RDONLY, O_WRONLY, o O_RDWR. Además, podría incluir cualquier combinación del resto de banderas de la lista.

  • O_RDONLY - abre el fichero con acceso de lectura.

  • O_WRONLY - abre el fichero con acceso de escritura.

  • O_RDWR - abre el fichero con acceso de lectura y de escritura.

  • O_CREAT - crea el fichero, si no existiera ya.

  • O_EXCL - si tanto O_CREAT como O_EXCL están habilitados, y el fichero existe, provoca que dio_open() falle.

  • O_TRUNC - si el fichero existe, y está abierto con sólo escritura, se truncará a cero.

  • O_APPEND - las operaciones de escritura añaden los datos al final del fichero.

  • O_NONBLOCK - asigna el modo no bloqueante.

  • O_NOCTTY - previene que el SO asigne al fichero abierto como el terminal controlador del proceso cuando se abra un fichero de dispositivo TTY.

modo

Si flags contiene O_CREAT, mode establecerá los permisos del ficher (permisos de creación). Mode es necesario para un correcto funcionamiento cuando O_CREAT se especifica en mode, y se ignorará en cualquier otro caso.

Los permisos que realmente se asignan al fichero creado se verán afectados por el umask del proceso, como suele suceder.

Valores devueltos

Descriptor de fichero o FALSE en caso de error.

Ejemplos

Ejemplo #1 Abrir un descriptor de fichero

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR | O_NOCTTY | O_NONBLOCK);

dio_close($fd);
?>

Ver también

  • dio_close() - Cierra el descriptor de fichero fd

dio_fcntl
dio_read
Funciones de Direct IO


Leer bytes de un descriptor de fichero

dio_open
dio_seek
Funciones de Direct IO
PHP Manual

dio_read

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_read — Leer bytes de un descriptor de fichero

Descripción

string dio_read ( resource $fd [, int $len = 1024 ] )

La función dio_read() lee y devuelve len bytes de fichero con descriptor fd.

Parámetros

fd

El fichero descriptor devuelto por dio_open().

len

El número de bytes a leer. Si no se especifica la lectura es de bloques de 1K dio_read()

Valores devueltos

La bytes leídos desde fd.

Ver también

  • dio_write() - Escribe datos en el descriptor de fichero con un truncado opcional

dio_open
dio_seek
Funciones de Direct IO


Salta a una posición del descriptor de fichero desde donde proceda

dio_read
dio_stat
Funciones de Direct IO
PHP Manual

dio_seek

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_seek — Salta a una posición del descriptor de fichero desde donde proceda

Descripción

int dio_seek ( resource $fd , int $pos [, int $whence = SEEK_SET ] )

dio_seek() se usa para cambiar la posición del fichero del descriptor de fichero proporcionado.

Parámetros

fd

Descriptor de fichero devuelto por dio_open().

pos

Nueva posición.

whence

Indica cómo interpretar la posición pos:

  • SEEK_SET (por omisión) - indica que pos se contabiliza a partir del comienzo del fichero.

  • SEEK_CUR - indica que pos se contabiliza a partir de la posición actual del fichero. Este valor puede ser positivo o negativo.

  • SEEK_END - Indica que pos contabiliza caracteres a partir del final del fichero. Un valor negativo especifica una posición perteneciente al contenido del fichero; un valor positivo especifica una posición que supera el final. Si éste fuera el caso, y se escribieran datos, se rellenaría el fichero con ceros hasta alcanzar la posición que proceda.

Valores devueltos

Ejemplos

Ejemplo #1 Posicionamiento de un fichero

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR);

dio_seek($fd, 10, SEEK_SET);
// la posición está a 10 caracteres del comienzo

dio_seek($fd, -2, SEEK_CUR);
// la posición está a 8 caracteres del comienzo

dio_seek($fd, -5, SEEK_END);
// la posición está a 5 caracteres del final

dio_seek($fd, 10, SEEK_END);
// la posición supera ahora 10 caracteres del final del fichero.
// Los 10 caracteres intermedios entre el final y la posición actual
// se rellenan con ceros.

dio_close($fd);
?>

dio_read
dio_stat
Funciones de Direct IO


Consulta información de estado del descriptor de fichero fd

dio_seek
dio_tcsetattr
Funciones de Direct IO
PHP Manual

dio_stat

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_stat — Consulta información de estado del descriptor de fichero fd

Descripción

array dio_stat ( resource $fd )

dio_stat() devuelve información sobre el descriptor de fichero proporcionado.

Parámetros

fd

Descriptor de fichero devuelto por dio_open().

Valores devueltos

Devuelve un array asociativo con las siguientes claves:

  • "device" - dispositivo

  • "inode" - nodo-i

  • "mode" - modo

  • "nlink" - número de enlaces duros

  • "uid" - id de usuario

  • "gid" - id de grupo

  • "device_type" - tipo de dispositivo (si es un nodo-i de dispositivo)

  • "size" - tamaño total en bytes

  • "blocksize" - tamaño de bloque

  • "blocks" - número de bloques asignados

  • "atime" - fecha de último acceso

  • "mtime" - fecha de última modificación

  • "ctime" - fecha de último cambio

En caso de error, dio_stat() devuelve NULL.

dio_seek
dio_tcsetattr
Funciones de Direct IO


Establece los atributos terminales y la tasa de baudios del puerto serie

dio_stat
dio_truncate
Funciones de Direct IO
PHP Manual

dio_tcsetattr

(PHP 4 >= 4.3.0, PHP 5 <= 5.0.5)

dio_tcsetattr — Establece los atributos terminales y la tasa de baudios del puerto serie

Descripción

bool dio_tcsetattr ( resource $fd , array $options )

dio_tcsetattr() establece los atributos terminales y la tasa de baudios del fichero fd.

Parámetros

fd

Descriptor de fichero devuelto por dio_open().

options

Las siguientes opciones están disponibles:

  • 'baud' - tasa de baudios del puerto - puede ser 38400,19200,9600,4800,2400,1800, 1200,600,300,200,150,134,110,75 o 50, el valor por omisión es 9600.

  • 'bits' - bits de datos - puede ser 8,7,6 o 5. El valor por omisión es 8.

  • 'stop' - bits de parada - puede ser 1 o 2. El valor por omisión es 1.

  • 'parity' - paridad - puede ser 0,1 o 2. El valor por omisión es 0.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Asignando la tasa de baudios del puerto serie

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR | O_NOCTTY | O_NONBLOCK);

dio_fcntl($fd, F_SETFL, O_SYNC);

dio_tcsetattr($fd, array(
  'baud' => 9600,
  'bits' => 8,
  'stop'  => 1,
  'parity' => 0
));

while (1) {

  $data = dio_read($fd, 256);

  if ($data) {
      echo $data;
  }
}

?>

Notas

Nota: Esta función no está implementada en plataformas Windows.

dio_stat
dio_truncate
Funciones de Direct IO


Trunca un descriptor de fichero fd a un determinado número de bytes

dio_tcsetattr
dio_write
Funciones de Direct IO
PHP Manual

dio_truncate

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_truncate — Trunca un descriptor de fichero fd a un determinado número de bytes

Descripción

bool dio_truncate ( resource $fd , int $offset )

dio_truncate() trunca un fichero a, como mucho, un tamaño de offset bytes.

Si el fichero excediera este tamaño, el contenido extra se perdería. Si fuera inferior en tamaño, no se especifica si el fichero se mantiene sin cambios o si se completa. En este último caso, la parte completada se haría con ceros.

Parámetros

fd

Descriptor de fichero devuelto por dio_open().

offset

Tamaño en bytes.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota: Esta función no está implementada en plataformas Windows.

dio_tcsetattr
dio_write
Funciones de Direct IO


Escribe datos en el descriptor de fichero con un truncado opcional

dio_truncate
Directorios
Funciones de Direct IO
PHP Manual

dio_write

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_write — Escribe datos en el descriptor de fichero con un truncado opcional

Descripción

int dio_write ( resource $fd , string $data [, int $len = 0 ] )

dio_write() escriba hasta len bytes de data al fichero fd.

Parámetros

fd

Descriptor de fichero devuelto por dio_open().

data

Datos a escribir.

len

Longitud en bytes de los datos a escribir. Si no se especifica, la función escribe todos los datos al fichero especificado.

Valores devueltos

Devuelve el número de bytes escritos en fd.

Ver también

  • dio_read() - Leer bytes de un descriptor de fichero

dio_truncate
Directorios
Funciones de Direct IO


Directorios

  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Directorio — La clase Directorio
    • Directory::close — Cierra un gestor de directorio
    • Directory::read — Lee una entrada desde el controlador de directorio
    • Directory::rewind — Rebobina el manejador de directorio
  • Funciones de directorio
    • chdir — Cambia de directorio
    • chroot — Cambia el directorio raíz
    • closedir — Cierra un gestor de directorio
    • dir — Devuelve una instancia de la clase Directory
    • getcwd — Obtiene el directorio actual en donde se esta trabajando
    • opendir — Abre un gestor de directorio
    • readdir — Lee una entrada desde un gestor de directorio
    • rewinddir — Regresar el gestor de directorio
    • scandir — Enumera los ficheros y directorios ubicados en la ruta especificada
dio_write
Instalación/Configuración
Extensiones relacionadas con el sistema de ficheros


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Directorios
Requerimientos
Directorios


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

DIRECTORY_SEPARATOR (string)
PATH_SEPARATOR (string)
Disponible desde PHP 4.3.0. Punto y coma en Windows, en caso contrario dos puntos.
SCANDIR_SORT_ASCENDING (integer)
Disponible desde PHP 5.4.0.
SCANDIR_SORT_DESCENDING (integer)
Disponible desde PHP 5.4.0.
SCANDIR_SORT_NONE (integer)
Disponible desde PHP 5.4.0.
Tipos de recursos
Directorio
Directorios


La clase Directorio

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Las instancias de Directory se crean mediante una llamada a la funcion dir() , no por el operador new.

Sinopsis de la Clase

Directory {
/* Propiedades */
public string $path ;
public resource $handle ;
/* Métodos */
public void close ([ resource $dir_handle ] )
public string read ([ resource $dir_handle ] )
public void rewind ([ resource $dir_handle ] )
}

Propiedades

path

El directorio que se abrió.

handle

Se puede usar junto con otras funciones de directorio, como readdir(), rewinddir() y closedir().

Tabla de contenidos

  • Directory::close — Cierra un gestor de directorio
  • Directory::read — Lee una entrada desde el controlador de directorio
  • Directory::rewind — Rebobina el manejador de directorio
Constantes predefinidas
Directory::close
Directorios


Cierra un gestor de directorio

Directorio
Directory::read
Directorio
PHP Manual

Directory::close

(PHP 4, PHP 5)

Directory::close — Cierra un gestor de directorio

Descripción

public void Directory::close ([ resource $dir_handle ] )

Al igual que closedir(), solo que el valor predeterminado de dir_handle es $this.

Directorio
Directory::read
Directorio


Lee una entrada desde el controlador de directorio

Directory::close
Directory::rewind
Directorio
PHP Manual

Directory::read

(PHP 4, PHP 5)

Directory::read — Lee una entrada desde el controlador de directorio

Descripción

public string Directory::read ([ resource $dir_handle ] )

Igual a readdir(), dir_handle por defecto $this.

Directory::close
Directory::rewind
Directorio


Rebobina el manejador de directorio

Directory::read
Funciones de directorio
Directorio
PHP Manual

Directory::rewind

(PHP 4, PHP 5)

Directory::rewind — Rebobina el manejador de directorio

Descripción

public void Directory::rewind ([ resource $dir_handle ] )

Igual a rewinddir(), dir_handle por defecto $this.

Directory::read
Funciones de directorio
Directorio


Funciones de directorio

Ver también

Para funciones relacionadas, como  dirname(),
 is_dir(),  mkdir(), y
 rmdir(), visita
Filesystem sección.

Tabla de contenidos

  • chdir — Cambia de directorio
  • chroot — Cambia el directorio raíz
  • closedir — Cierra un gestor de directorio
  • dir — Devuelve una instancia de la clase Directory
  • getcwd — Obtiene el directorio actual en donde se esta trabajando
  • opendir — Abre un gestor de directorio
  • readdir — Lee una entrada desde un gestor de directorio
  • rewinddir — Regresar el gestor de directorio
  • scandir — Enumera los ficheros y directorios ubicados en la ruta especificada
Directory::rewind
chdir
Directorios


Cambia de directorio

Funciones de directorio
chroot
Funciones de directorio
PHP Manual

chdir

(PHP 4, PHP 5)

chdir — Cambia de directorio

Descripción

bool chdir ( string $directory )

Cambia el directorio actual de PHP a directorio.

Parámetros

directorio

El nuevo directorio actual.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Emite un error de nivel E_WARNING en caso de error.

Ejemplos

Ejemplo #1 chdir() ejemplo

<?php

// directorio actual
echo getcwd() . "\n";

chdir('public_html');

// directorio actual
echo getcwd() . "\n";

?>

El resultado del ejemplo sería algo similar a:

/home/vincent
/home/vincent/public_html

Notas

Nota: Cuando safe mode está habilitado, PHP comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado.

Ver también

  • getcwd() - Obtiene el directorio actual en donde se esta trabajando

Funciones de directorio
chroot
Funciones de directorio


Cambia el directorio raíz

chdir
closedir
Funciones de directorio
PHP Manual

chroot

(PHP 4 >= 4.0.5, PHP 5)

chroot — Cambia el directorio raíz

Descripción

bool chroot ( string $directory )

Cambia el directorio raíz del proceso actual a directorio, y cambia el directorio de trabajo actual a "/".

Esta función sólo se encuentra disponible a sistemas GNU y BSD, y se encuentra usando un entorno CLI, CGI o SAPI embebido. Asimismo, esta función requiere privilegios de administrador (root).

Parámetros

directory

Directorio al que cambiar el raíz

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de chroot()

<?php
chroot("/ruta/al/chroot/");
echo getcwd();
?>

El resultado del ejemplo sería:

/

Notas

Nota: Esta función no está implementada en plataformas Windows.

chdir
closedir
Funciones de directorio


Cierra un gestor de directorio

chroot
dir
Funciones de directorio
PHP Manual

closedir

(PHP 4, PHP 5)

closedir — Cierra un gestor de directorio

Descripción

void closedir ([ resource $dir_handle ] )

Cierra la secuencia de directorio indicada por gestor_dir. La secuencia debe haber sido abierta previamente por opendir().

Parámetros

gestor_dir

El gestor de directorio tipo resource, previamente abierto con opendir(). Si el gestor de directorio no se especifica, la última conexión abierta por opendir() es asumida.

Ejemplos

Ejemplo #1 closedir() ejemplo

<?php
$dir = "/etc/php5/";

// Abrir un directorio conocido, lee el directorio en una variable y lo cierra.
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        $directory = readdir($dh);
        closedir($dh);
    }
}
?>

chroot
dir
Funciones de directorio


Devuelve una instancia de la clase Directory

closedir
getcwd
Funciones de directorio
PHP Manual

dir

(PHP 4, PHP 5)

dir — Devuelve una instancia de la clase Directory

Descripción

Directory dir ( string $directory [, resource $context ] )

Una forma pseudo orientada a objetos de leer un directorio. El directorio proporcionado en directory es abierto.

Parámetros

directory

Directorio a abrir

context

Nota: Soporte para context fue añadido en PHP 5.0.0. Para una descripción de contexts, refiérase a Flujos.

Valores devueltos

Devuelve una instancia de la clase Directory, NULL cuando si los parámetros son incorrectos o FALSE en caso de cualquier otro error.

Ejemplos

Ejemplo #1 Ejemplo de dir()

Atención a la forma en la que el valor de retorno de Directory::read() se comprueba en el siguiente ejemplo. Es necesario verificar si el valor de retorno es igual (tanto en valor como en tipo - ver Operadores de comparación para más información) a FALSE, ya que de lo contrario, cualquier directorio cuyo nombre evaluase a FALSE finalizaría el bucle.

<?php
$d = dir("/etc/php5");
echo "Handle: " . $d->handle . "\n";
echo "Path: " . $d->path . "\n";
while (false !== ($entry = $d->read())) {
   echo $entry."\n";
}
$d->close();
?>

El resultado del ejemplo sería algo similar a:

Handle: Resource id #2
Path: /etc/php5
.
..
apache
cgi
cli

Notas

Nota:

El orden en el que los archivos de un directorio son devueltos por el método de lectura depende del sistema.

closedir
getcwd
Funciones de directorio


Obtiene el directorio actual en donde se esta trabajando

dir
opendir
Funciones de directorio
PHP Manual

getcwd

(PHP 4, PHP 5)

getcwd — Obtiene el directorio actual en donde se esta trabajando

Descripción

string getcwd ( void )

Obtiene el directorio actual.

Valores devueltos

Devuelve el directorio actual de trabajo en caso de éxito, o FALSE si ocurre un error.

En algunas variantes de Unix, getcwd() devolverá FALSE si alguno de los directorios padre no tiene definido el modo de lectura o búsqueda, incluso si el directorio actual lo tiene. Vea chmod() para más información sobre los modos y permisos.

Ejemplos

Ejemplo #1 getcwd() ejemplo

<?php

// directorio actual
echo getcwd() . "\n";

chdir('cvs');

// directorio actual
echo getcwd() . "\n";

?>

El resultado del ejemplo sería algo similar a:

/home/didou
/home/didou/cvs

Ver también

  • chdir() - Cambia de directorio
  • chmod() - Cambia el modo de archivo

dir
opendir
Funciones de directorio


Abre un gestor de directorio

getcwd
readdir
Funciones de directorio
PHP Manual

opendir

(PHP 4, PHP 5)

opendir — Abre un gestor de directorio

Descripción

resource opendir ( string $path [, resource $context ] )

Abre un gestor de directorio para ser usado con llamadas posteriores como closedir(), readdir(), y rewinddir().

Parámetros

ruta

La ruta del directorio a ser abierta.

contexto

Para una descripción del parámetro contexto, refiérase a la sección de secuencias del manual.

Valores devueltos

Devuelve un gestor de directorio tipo resource en caso de éxito, o FALSE si ocurre un error.

Si ruta no es un directorio válido o el directorio no puede ser abierto debido a restricciones de permisos o errores del sistema de archivos, opendir() devuelve FALSE y genera un error de PHP de nivel E_WARNING. Es posible suprimir la salida del error de opendir() anteponiendo '@' al nombre de la función.

Historial de cambios

Versión | Descripción
5.0.0 | ruta soporta dentro de la URL la envoltura ftp://.
4.3.0 | ruta puede leer también cualquier URL que soporte el listado de directorios, sin embargo solo la envoltura de URL file:// tiene este soporte en PHP 4 .

Ejemplos

Ejemplo #1 opendir() ejemplo

<?php
$dir = "/etc/php5/";

// Abre un directorio conocido, y procede a leer el contenido
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            echo "nombre archivo: $file : tipo archivo: " . filetype($dir . $file) . "\n";
        }
        closedir($dh);
    }
}
?>

El resultado del ejemplo sería algo similar a:

nombre archivo: . : tipo archivo: dir
nombre archivo: .. : tipo archivo: dir
nombre archivo: apache : tipo archivo: dir
nombre archivo: cgi : tipo archivo: dir
nombre archivo: cli : tipo archivo: dir

Ver también

  • is_dir() - Indica si el nombre de archivo es un directorio
  • readdir() - Lee una entrada desde un gestor de directorio
  • dir() - Devuelve una instancia de la clase Directory

getcwd
readdir
Funciones de directorio


Lee una entrada desde un gestor de directorio

opendir
rewinddir
Funciones de directorio
PHP Manual

readdir

(PHP 4, PHP 5)

readdir — Lee una entrada desde un gestor de directorio

Descripción

string readdir ([ resource $dir_handle ] )

Devuelve el nombre de la siguiente entrada del directorio. Las entradas son devueltas en el orden en que fueron almacenadas por el sistema de ficheros.

Parámetros

gestor_dir

El gestor de directorio resource previamente abierto por opendir(). Si el gestor de directorio no se especifica, la ultima conexión abierta por opendir() es asumida.

Valores devueltos

Retorna el nombre de la entrada en caso de éxito o FALSE en caso de error.

Advertencia

Esta función puede devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se evalúa como FALSE. 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.

Ejemplos

Ejemplo #1 Listar todas las entradas de un directorio

Por favor observe que la forma en que el valor de retorno de readdir() es chequeado en los siguientes ejemplos. Se está probando explícitamente si el valor de retorno es idéntico (igual y del mismo tipo, vea los Operadores de Comparación para más información) a FALSE ya que de otra forma, cualquier entrada de directorio cuyo nombre evalúe a FALSE detendrá el ciclo (p.ej. un directorio llamado "0").

<?php

if ($gestor = opendir('/path/to/files')) {
    echo "Gestor de directorio: $gestor\n";
    echo "Entradas:\n";

    /* Esta es la forma correcta de iterar sobre el directorio. */
    while (false !== ($entrada = readdir($gestor))) {
        echo "$entrada\n";
    }

    /* Esta es la forma errónea de iterar sobre el directorio. */
    while ($entrada = readdir($gestor)) {
        echo "$entrada\n";
    }

    closedir($gestor);
}
?>

Ejemplo #2 Listar todas las entradas del directorio actual y descartar . y ..

<?php
if ($gestor = opendir('.')) {
    while (false !== ($entrada = readdir($gestor))) {
        if ($entrada != "." && $entrada != "..") {
            echo "$entrada\n";
        }
    }
    closedir($gestor);
}
?>

Ver también

  • is_dir() - Indica si el nombre de archivo es un directorio
  • glob() - Busca coincidencias de nombres de ruta con un patrón
  • opendir() - Abre un gestor de directorio
  • scandir() - Enumera los ficheros y directorios ubicados en la ruta especificada

opendir
rewinddir
Funciones de directorio


Regresar el gestor de directorio

readdir
scandir
Funciones de directorio
PHP Manual

rewinddir

(PHP 4, PHP 5)

rewinddir — Regresar el gestor de directorio

Descripción

void rewinddir ([ resource $dir_handle ] )

Restablece la secuencia de directorio indicada por gestor_dir al comienzo del directorio.

Parámetros

gestor_dir

El gestor de directorio tipo resource abierto previamente con opendir(). Si el gestor de directorio no se especifica, la ultima conexión abierta por opendir() es asumida.

readdir
scandir
Funciones de directorio


Enumera los ficheros y directorios ubicados en la ruta especificada

rewinddir
Fileinfo
Funciones de directorio
PHP Manual

scandir

(PHP 5)

scandir — Enumera los ficheros y directorios ubicados en la ruta especificada

Descripción

array scandir ( string $directory [, int $sorting_order = SCANDIR_SORT_ASCENDING [, resource $context ]] )

Devuelve un array con los ficheros y los directorios que se encuentran bajo directory.

Parámetros

directory

El directorio que será examinado.

sorting_order

Por omisión, se ordena alfabéticamente en sentido ascendente. Si se utiliza el parámetro opcional sorgin_order con el valor SCANDIR_SORT_DESCENDING, entonces se ordenará alfabéticamente en sentido descendente. Si se asigna SCANDIR_SORT_NONE entonces el resultado no se ordena.

context

Para una descripción del parámetro context, consulte la sección de flujos del manual.

Valores devueltos

Devuelve un array con los nombres de los ficheros en caso de éxito, o FALSE en caso de error. Si directory no es un directorio, entonces se devuelve FALSE, y se genera un error de nivel E_WARNING.

Historial de cambios

Versión | Descripción
5.4.0 | Se añadieron las constantes de sorting_order. En versiones anteriores, cualquir valor distinto de cero ocasionaba un ordenamiento descendente. Por lo tanto, para todas las versiones de PHP, use 0 para el orden ascendente, y 1 para el orden descendente. No existía una opción para el comportamiento de SCANDIR_SORT_NONE antes de PHP 5.4.0.

Ejemplos

Ejemplo #1 Un simple ejemplo de scandir()

<?php
$directorio = '/tmp';
$ficheros1  = scandir($directorio);
$ficheros2  = scandir($directorio, 1);

print_r($ficheros1);
print_r($ficheros2);
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => .
    [1] => ..
    [2] => bar.php
    [3] => foo.txt
    [4] => somedir
)
Array
(
    [0] => somedir
    [1] => foo.txt
    [2] => bar.php
    [3] => ..
    [4] => .
)

Ejemplo #2 Alternativas a scandir() para PHP 4

<?php
$directorio = "/tmp";
$gestor_dir = opendir($directorio);
while (false !== ($nombre_fichero = readdir($gestor_dir))) {
    $ficheros[] = $nombre_fichero;
}

sort($ficheros);

print_r($ficheros);

rsort($ficheros);

print_r($ficheros);

?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => .
    [1] => ..
    [2] => bar.php
    [3] => foo.txt
    [4] => somedir
)
Array
(
    [0] => somedir
    [1] => foo.txt
    [2] => bar.php
    [3] => ..
    [4] => .
)

Notas

Sugerencia

Se puede usar una dirección URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más información de como especificar el nombre de fichero. Consulte Protocolos y Envolturas soportados para ver enlaces con información sobre las diferentes habilidades que los wrappers tienen, notas de uso e información de cualquier variables predefinidas que pueden usarse.

Ver también

  • opendir() - Abre un gestor de directorio
  • readdir() - Lee una entrada desde un gestor de directorio
  • glob() - Busca coincidencias de nombres de ruta con un patrón
  • is_dir() - Indica si el nombre de archivo es un directorio
  • sort() - Ordena un array

rewinddir
Fileinfo
Funciones de directorio


Información de un fichero

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de Fileinfo
    • finfo_buffer — Devuelve información sobre el búfer en formato string
    • finfo_close — Cierra el recurso fileinfo
    • finfo_file — Devuelve información sobre un fichero
    • finfo_open — Crea un nuevo recurso fileinfo
    • finfo_set_flags — Opciones de configuración de libmagic
    • mime_content_type — Detecta el MIME Content-type para un fichero (función obsoleta)
scandir
Introducción
Extensiones relacionadas con el sistema de ficheros


Introducción

Las funciones en este módulo tratan de averiguar el tipo de fichero y codificación buscando por ciertas mágicas secuencias de bytes en una posición específica en el fichero. Por lo que no es exacto pero aun siendo por aproximación, funciona muy bién.

Fileinfo
Instalación/Configuración
Fileinfo


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Fileinfo


Requerimientos

Antes de PHP 5.3.0, La librería magic_open se necesita para construir esta esta extensión.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión está activada por defecto desde PHP 5.3.0. Antes de esta versión, fileinfo era una extensión PECL pero ya no se sigue manteniendo. Sin embargo, en las versiones anteriores a 5.3+ se deben usar » La extensión PECL discontinuada.

Usuarios de Windows deben incluir el fichero DLL php_fileinfo.dll en php.ini para activar esta extensión.

La librería libmagic está incluida en PHP, pero incluye cambios específicos para PHP. Existe un parche para libmagic llamado libmagic.patch que es actualizado periódicamente y puede ser encontrado en las fuentes de las extensiones fileinfo para PHP.

Histórico de actualizaciones de la librería incluida libmagic
PHP Versión | Libmagic actualizado a Versión | Notas
5.3.2 | 5.03 |
5.3.0 | 5.02 |

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

Hay un recurso usado por la extensión Fileinfo: magic database descriptor devuelto por finfo_open().

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

FILEINFO_NONE (entero)
No special handling.
FILEINFO_SYMLINK (entero)
Seguir enlaces simbólicos.
FILEINFO_MIME_TYPE (entero)
Devuelve el tipo mime. Disponible desde PHP 5.3.0.
FILEINFO_MIME_ENCODING (entero)
Devuelve la codificación mime del fichero. Disponible desde PHP 5.3.0.
FILEINFO_MIME (entero)
Devuelve el tipo mime y la codificación definidas por RFC 2045.
FILEINFO_COMPRESS (entero)
Descomprimir ficheros comprimidos. Desactivado desde PHP 5.3.0 por razones de seguridad.
FILEINFO_DEVICES (entero)
Busca en el contenido por bloques o carácteres especiales de dispositivos.
FILEINFO_CONTINUE (entero)
Devuelve todos los resultados, no solo el primero.
FILEINFO_PRESERVE_ATIME (entero)
Es posible matener el tiempo de acceso original.
FILEINFO_RAW (entero)
No traducir carácteres no imprimibles como \ooo a representación octal.
Tipos de recursos
Funciones de Fileinfo
Fileinfo


Funciones de Fileinfo

Tabla de contenidos

  • finfo_buffer — Devuelve información sobre el búfer en formato string
  • finfo_close — Cierra el recurso fileinfo
  • finfo_file — Devuelve información sobre un fichero
  • finfo_open — Crea un nuevo recurso fileinfo
  • finfo_set_flags — Opciones de configuración de libmagic
  • mime_content_type — Detecta el MIME Content-type para un fichero (función obsoleta)
Constantes predefinidas
finfo_buffer
Fileinfo


Devuelve información sobre el búfer en formato string

Funciones de Fileinfo
finfo_close
Funciones de Fileinfo
PHP Manual

finfo_buffer

finfo::buffer

(PHP 5 >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo_buffer -- finfo::buffer — Devuelve información sobre el búfer en formato string

Descripción

Estilo por procedimientos

string finfo_buffer ( resource $finfo , string $string = NULL [, int $options = FILEINFO_NONE [, resource $context = NULL ]] )

Estilo orientado a objetos

public string finfo::buffer ( string $string = NULL [, int $options = FILEINFO_NONE [, resource $context = NULL ]] )

Esta función se usa para obtener información sobre datos binarios en formato string.

Parámetros

finfo

Recurso Fileinfo devuelto por finfo_open().

string

Contenido del fichero a ser comprobado.

options

Una o más constantes Fileinfo .

context

Valores devueltos

Devuelve una descripción contextual del argumento string o FALSE si ocurrió un error.

Ejemplos

Ejemplo #1 Ejemplo de finfo_buffer()

<?php
$finfo = new finfo(FILEINFO_MIME);
echo $finfo->buffer($_POST["script"]) . "\n";
?>

El resultado del ejemplo sería algo similar a:

application/x-sh; charset=us-ascii

Ver también

  • finfo_file() - Devuelve información sobre un fichero

Funciones de Fileinfo
finfo_close
Funciones de Fileinfo


Cierra el recurso fileinfo

finfo_buffer
finfo_file
Funciones de Fileinfo
PHP Manual

finfo_close

(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo_close — Cierra el recurso fileinfo

Descripción

bool finfo_close ( resource $finfo )

Esta función cierra el recurso abierto por finfo_open().

Parámetros

finfo

Devuelve el recurso Fileinfo devuelto por finfo_open().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

finfo_buffer
finfo_file
Funciones de Fileinfo


Devuelve información sobre un fichero

finfo_close
finfo_open
Funciones de Fileinfo
PHP Manual

finfo_file

finfo::file

(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo_file -- finfo::file — Devuelve información sobre un fichero

Descripción

Estilo por procedimientos

string finfo_file ( resource $finfo , string $file_name = NULL [, int $options = FILEINFO_NONE [, resource $context = NULL ]] )

Estilo orientado a objetos

public string finfo::file ( string $file_name = NULL [, int $options = FILEINFO_NONE [, resource $context = NULL ]] )

Esta función se usa para obtener información de un fichero.

Parámetros

finfo

Devuelve recurso Fileinfo por finfo_open().

file_name

Nombre del fichero a ser comprobado.

options

Una o más constantes Fileinfo .

context

Para una descripción de contexts, dirígase a Funciones de Flujos.

Valores devueltos

Devuelve una descripción de texto del contenido del argumento filename, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de finfo_file()

<?php
$finfo = finfo_open(FILEINFO_MIME_TYPE); // devuelve el tipo mime de su extensión
foreach (glob("*") as $filename) {
    echo finfo_file($finfo, $filename) . "\n";
}
finfo_close($finfo);
?>

El resultado del ejemplo sería algo similar a:

text/html
image/gif
application/vnd.ms-excel

Ver también

  • finfo_buffer() - Devuelve información sobre el búfer en formato string

finfo_close
finfo_open
Funciones de Fileinfo


Crea un nuevo recurso fileinfo

finfo_file
finfo_set_flags
Funciones de Fileinfo
PHP Manual

finfo_open

finfo::__construct

(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo_open -- finfo::__construct — Crea un nuevo recurso fileinfo

Descripción

Estilo por procedimientos

resource finfo_open ([ int $options = FILEINFO_NONE [, string $magic_file = NULL ]] )

Estilo orientado a objetos (constructor):

public finfo::__construct() ([ int $options = FILEINFO_NONE [, string $magic_file = NULL ]] )

Esta función abre una base de datos mágica y la devuelve a su recurso.

Parámetros

options

Una o más constantes Fileinfo .

magic_file

Nombre del fichero de la base de datos mágica, normalmente es algo como /path/to/magic.mime. Si no se especifica, se utilizará la variable de entorno MAGIC. Si esta variable no está establecida, se usará la base de datos mágica incluida en PHP.

Pasar NULL o un string vacío equivale al valor predeterminado.

Valores devueltos

(Sólo Estilo por procedimientos) Devuelve el recurso de la base de datos mágica si funciona o FALSE en caso de error.

Notas

Advertencia

El formato esperado de la base de datos mágica cambió en PHP 5.3.11 y 5.4.1. Debido a esto, la base de datos mágica interna ha sido actualizada. Esto mayormente efectua código donde se use una base de datos mágica externa: leer un fichero mágico antiguo ahora fallará. Además, algunas representaciones textuales de los tipos mime han cambiado, por ejemplo, para PHP sería devuelto "PHP script, ASCII text" en lugar de "PHP script text".

Nota:

Generalmente, el uso de la base de datos mágica interna (dejando magic_file y las variables de entorno MAGIC sin establecer) es el mejor rumbo de acción a menos que sea necesaria especificamente una base de datos mágica personalizada.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$finfo = new finfo(FILEINFO_MIME, "/usr/share/misc/magic"); // Devuelve el tipo mime del tipo extensión

/* Obtiene el tipo mime para un fichero específico */
$filename = "/usr/local/something.txt";
echo $finfo->file($filename);

?>

Ejemplo #2 Estilo por procedimientos

<?php
$finfo = finfo_open(FILEINFO_MIME, "/usr/share/misc/magic"); // Devuelve el tipo mime del tipo extensión

if (!$finfo) {
    echo "Ocurrió un error al intentar abrir la base de datos de fileinfo";
    exit();
}

/* Obtiene el tipo mime para un fichero específico */
$filename = "/usr/local/something.txt";
echo finfo_file($finfo, $filename);

/* cerrar conexión */
finfo_close($finfo);
?>

El resultado del ejemplo sería:

text/plain; charset=us-ascii

Ver también

  • finfo_close() - Cierra el recurso fileinfo

finfo_file
finfo_set_flags
Funciones de Fileinfo


Opciones de configuración de libmagic

finfo_open
mime_content_type
Funciones de Fileinfo
PHP Manual

finfo_set_flags

finfo::set_flags

(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo_set_flags -- finfo::set_flags — Opciones de configuración de libmagic

Descripción

Estilo por procedimientos

bool finfo_set_flags ( resource $finfo , int $options )

Estilo orientado a objetos

public bool finfo::set_flags ( int $options )

Esta función establece varias opcines Fileinfo. Las opciones pueden establecerse directamente en finfo_open() u otras funciones Fileinfo.

Parámetros

finfo

Recurso devuelto por finfo_open().

options

Una o más constantes Fileinfo .

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

finfo_open
mime_content_type
Funciones de Fileinfo


Detecta el MIME Content-type para un fichero (función obsoleta)

finfo_set_flags
Sistema de Ficheros
Funciones de Fileinfo
PHP Manual

mime_content_type

(PHP 4 >= 4.3.0, PHP 5)

mime_content_type — Detecta el MIME Content-type para un fichero (función obsoleta)

Descripción

string mime_content_type ( string $filename )

Devuelve el MIME content type para un fichero determinado usando información desde el fichero magic.mime.

Parámetros

filename

Ruta para comprobar fichero.

Valores devueltos

Devuelve el contenido en formato MIME como, text/plain o application/octet-stream.

Notas

Advertencia

Esta función fué obsoleta ya que la extensión PECL Fileinfo proporciona la misma funcionalidad (y más) en una forma mucho más clara.

Ejemplos

Ejemplo #1 Ejemplo mime_content_type()

<?php
echo mime_content_type('php.gif') . "\n";
echo mime_content_type('test.php');
?>

El resultado del ejemplo sería:

image/gif
text/plain

Ver también

  • Ha ser reemplazado por Fileinfo

finfo_set_flags
Sistema de Ficheros
Funciones de Fileinfo


Sistema de Ficheros

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones del Sistema de Archivos
    • basename — Devuelve el componente de nombre de rastreo de la ruta
    • chgrp — Cambia el grupo del archivo
    • chmod — Cambia el modo de archivo
    • chown — Cambia el propietario del archivo
    • clearstatcache — Limpia la caché de estado de un archivo
    • copy — Copia archivos
    • delete — Véase unlink o unset
    • dirname — Devuelve el directorio padre de la ruta
    • disk_free_space — Devuelve el espacio disponible de un sistema de archivos o partición de disco
    • disk_total_space — Devuelve el tamaño total de un sistema de archivos o partición de disco
    • diskfreespace — Alias de disk_free_space
    • fclose — Cierra un puntero a un archivo abierto
    • feof — Comprueba si el puntero a un archivo está al final del archivo
    • fflush — Vuelca la salida a un archivo
    • fgetc — Obtiene un carácter de un puntero a un archivo
    • fgetcsv — Obtiene una línea del puntero a un archivo y la examina para tratar campos CSV
    • fgets — Obtiene una línea desde el puntero a un fichero
    • fgetss — Obtiene un línea desde un puntero a un archivo y elimina las etiquetas HTML
    • file_exists — Comprueba si existe un fichero o directorio
    • file_get_contents — Transmite un fichero entero a una cadena
    • file_put_contents — Escribe una cadena a un fichero
    • file — Transfiere un fichero completo a un array
    • fileatime — Obtiene el momento del último acceso a un archivo
    • filectime — Obtiene el momento del último cambio del i-nodo de un archivo
    • filegroup — Obtiene el grupo de un archivo
    • fileinode — Obtiene el i-nodo del archivo
    • filemtime — Obtiene el momento de la última modificación de un archivo
    • fileowner — Obtiene el propietario de un archivo
    • fileperms — Obtiene los permisos de un archivo
    • filesize — Obtiene el tamaño de un fichero
    • filetype — Obtiene el tipo de fichero
    • flock — Bloqueo de archivos asesorado portable
    • fnmatch — Compara un nombre de fichero con un patrón
    • fopen — Abre un fichero o una URL
    • fpassthru — Escribe toda la información restante de un puntero a un archivo
    • fputcsv — Da formato a una línea como CSV y la escribe en un puntero a un archivo
    • fputs — Alias de fwrite
    • fread — Lectura de un fichero en modo binario seguro
    • fscanf — Analiza la entrada desde un archivo de acuerdo a un formato
    • fseek — Busca sobre un puntero a un fichero
    • fstat — Obtiene información acerca de un archivo usando un puntero al archivo abierto
    • ftell — Devuelve la posición de lectura/escritura actual del puntero a un fichero
    • ftruncate — Trunca un archivo a una longitud dada
    • fwrite — Escritura de un archivo en modo binario seguro
    • glob — Busca coincidencias de nombres de ruta con un patrón
    • is_dir — Indica si el nombre de archivo es un directorio
    • is_executable — Indica si el nombre de archivo es ejecutable
    • is_file — Indica si el nombre de fichero es un fichero normal
    • is_link — Indica si el nombre de archivo es un enlace simbólico
    • is_readable — Indica si un fichero existe y es legible
    • is_uploaded_file — Indica si el archivo fue subido mediante HTTP POST
    • is_writable — Indica si un archivo existe y es escribible
    • is_writeable — Alias de is_writable
    • lchgrp — Cambia el grupo de un enlace simbólico
    • lchown — Cambia el propietario de un enlace simbólico
    • link — Crea un enlace duro
    • linkinfo — Obtiene información acerca de un enlace
    • lstat — Da información acerca de un archivo o enlace simbólico
    • mkdir — Crea un directorio
    • move_uploaded_file — Mueve un archivo subido a una nueva ubicación
    • parse_ini_file — Analiza un archivo de configuración
    • parse_ini_string — Analiza una cadena de configuración
    • pathinfo — Devuelve información acerca de la ruta de un fichero
    • pclose — Cierra un proceso de un puntero a un archivo
    • popen — Abre un proceso de un puntero a un archivo
    • readfile — Realizar la salida de un fichero
    • readlink — Devuelve el objetivo de un enlace simbólico
    • realpath_cache_get — Obtiene las entradas de la caché de la ruta real
    • realpath_cache_size — Obtiene el tamaño de la caché de la ruta real
    • realpath — Devuelve el nombre de la ruta absoluta canonizado
    • rename — Renombra un archivo o directorio
    • rewind — Rebobina la posción de un puntero a un archivo
    • rmdir — Elimina un directorio
    • set_file_buffer — Alias de stream_set_write_buffer
    • stat — Da información acerca de un fichero
    • symlink — Crea un enlace simbólico
    • tempnam — Crea un archivo con un nombre de archivo único
    • tmpfile — Crea un archivo temporal
    • touch — Establece el momento de acceso y modificación de un archivo
    • umask — Cambia la máscara de usuario actual
    • unlink — Borra un archivo
mime_content_type
Introducción
Extensiones relacionadas con el sistema de ficheros


Introducción

No es necesaria ninguna biblioteca externa para construir esta extensión, pero si quiere que PHP admita LFS (ficheros grandes) en Linux, necesita tener una versión reciente de glibc y compilar PHP con las siguientes banderas de compilación: -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64.

Sistema de Ficheros
Instalación/Configuración
Sistema de Ficheros


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Sistema de Ficheros


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración del sistema de ficheros y flujos
Nombre | Por defecto | Cambiable | Historial de cambios
allow_url_fopen | "1" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 4.3.4. Disponible desde PHP 4.0.4.
allow_url_include | "0" | PHP_INI_SYSTEM | Disponible a partir de PHP 5.2.0.
user_agent | NULL | PHP_INI_ALL | Disponible a partir de PHP 4.3.0.
default_socket_timeout | "60" | PHP_INI_ALL | Disponible a partir de PHP 4.3.0.
from | "" | PHP_INI_ALL |
auto_detect_line_endings | "0" | PHP_INI_ALL | Disponible a partir de PHP 4.3.0.

He aquí una breve explicación de las directivas de configuración.

allow_url_fopen boolean

Esta opción habilita las envolturas fopen de tipo URL que permiten el acceso a objetos URL como ficheros. Las envolturas predeterminadas están proporcionads para el acceso de ficheros remotos usando los protocolos ftp o http, algunas extensiones como zlib pueden registrar envolturas adicionales.

Nota:

Esta opción fue introducida inmediatamente después que la distribución de la versión 4.0.3. Para versiones hasta 4.0.3 inclusive, sólo se puede deshabilitar esta característica en tiempo de compilación usando el conmutador de configuración --disable-url-fopen-wrapper.

Advertencia

En versiones de Windows anteriores a PHP 4.3.0, las siguientes funciones no soportan el acceso a ficheros remotos: include, include_once, require, require_once y las funciones imagecreatefromXXX de la extensión Funciones de GD e Imágenes.

allow_url_include boolean

Esta opción permite es uso de envolturas fopen de tipo URL con las siguientes funciones: include, include_once, require, require_once.

Nota:

Esta opción requiere allow_url_fopen para ser activada.

user_agent string

Define el agente de usuario de PHP para el envío.

default_socket_timeout integer

Tiempo de espera predeterminado (en segundos) para sockets basados en flujos.

Nota: Esta opción de configuración fue introducida en PHP 4.3.0

from string

La dirección de email a usar en conexiones FTP no autenticadas y como valor de la cabecera From de conexiones HTTP, al usar las envolturas ftp y http, respectivamente.

auto_detect_line_endings boolean

Cuando se activa, PHP examinará la información leída por fgets() y file() para ver si se está usando las convenciones de final de línea de Unix, MS-Dos o Macintosh.

Esto permite a PHP inter-operar con los sistemas Macintosh, pero por defecto está en Off, ya que hay una pérdida muy pequeña de rendimiento cuando se detectan las convenciones de EOL para la primera línea, y también porque la gente que usa retornos de carro como elementos serparadores bajo sistemas Unix podrían experimentar un comportamiento que no es compatible con versiones anteriores.

Nota: Esta opción de configuración fue introducida en PHP 4.3.0

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

El sistema de ficheros usa flujos como su tipo de recursos. Los flujos están documentados en su propio capítulo de referencia, Flujos.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

SEEK_SET (integer)
SEEK_CUR (integer)
SEEK_END (integer)
LOCK_SH (integer)
LOCK_EX (integer)
LOCK_UN (integer)
LOCK_NB (integer)
GLOB_BRACE (integer)
GLOB_ONLYDIR (integer)
GLOB_MARK (integer)
GLOB_NOSORT (integer)
GLOB_NOCHECK (integer)
GLOB_NOESCAPE (integer)
GLOB_AVAILABLE_FLAGS (integer)
PATHINFO_DIRNAME (integer)
PATHINFO_BASENAME (integer)
PATHINFO_EXTENSION (integer)
PATHINFO_FILENAME (integer)
A partir de PHP 5.2.0.
FILE_USE_INCLUDE_PATH (integer)
Busca filename en include_path (desde PHP 5).
FILE_NO_DEFAULT_CONTEXT (integer)
FILE_APPEND (integer)
Añade contenido a un archivo existente.
FILE_IGNORE_NEW_LINES (integer)
Quita caracteres EOL (desde PHP 5).
FILE_SKIP_EMPTY_LINES (integer)
Salta líneas vacías (desde PHP 5).
FILE_BINARY (integer)

Modo binario (desde PHP 5.2.7).

Nota:

Esta constante no tiene efecto y sólo esta disponible por compatibiidad de versiones posteriores.

FILE_TEXT (integer)

Modo texto (desde PHP 5.2.7).

Nota:

Esta constante no tiene efecto y sólo esta disponible por compatibilidad de versiones posteriores.

INI_SCANNER_NORMAL (integer)
Modo de búsquda INI normal (desde PHP 5.3).
INI_SCANNER_RAW (integer)
Modo de búsqueda INI en bruto (desde PHP 5.3).
FNM_NOESCAPE (integer)
Deshabilita el escapado de la barra invertida.
FNM_PATHNAME (integer)
Una barra en una cadena sólo concide con otra en el patrón dado.
FNM_PERIOD (integer)
Un punto en una cadena debe coincidir exactamente con otro en el patrón dado.
FNM_CASEFOLD (integer)
Comparación insensible a mayúsculas-minúsculas. Parte de la extensión GNU.
Tipos de recursos
Funciones del Sistema de Archivos
Sistema de Ficheros


Funciones del Sistema de Archivos

Ver también

Para funciones relacionadas, vea también las secciones Directorio y Ejecución de Programas.

Para una lista y explicación de las distintas envolturas URL que se pueden usar como archivos remotos, vea también Protocolos y Envolturas soportados.

Tabla de contenidos

  • basename — Devuelve el componente de nombre de rastreo de la ruta
  • chgrp — Cambia el grupo del archivo
  • chmod — Cambia el modo de archivo
  • chown — Cambia el propietario del archivo
  • clearstatcache — Limpia la caché de estado de un archivo
  • copy — Copia archivos
  • delete — Véase unlink o unset
  • dirname — Devuelve el directorio padre de la ruta
  • disk_free_space — Devuelve el espacio disponible de un sistema de archivos o partición de disco
  • disk_total_space — Devuelve el tamaño total de un sistema de archivos o partición de disco
  • diskfreespace — Alias de disk_free_space
  • fclose — Cierra un puntero a un archivo abierto
  • feof — Comprueba si el puntero a un archivo está al final del archivo
  • fflush — Vuelca la salida a un archivo
  • fgetc — Obtiene un carácter de un puntero a un archivo
  • fgetcsv — Obtiene una línea del puntero a un archivo y la examina para tratar campos CSV
  • fgets — Obtiene una línea desde el puntero a un fichero
  • fgetss — Obtiene un línea desde un puntero a un archivo y elimina las etiquetas HTML
  • file_exists — Comprueba si existe un fichero o directorio
  • file_get_contents — Transmite un fichero entero a una cadena
  • file_put_contents — Escribe una cadena a un fichero
  • file — Transfiere un fichero completo a un array
  • fileatime — Obtiene el momento del último acceso a un archivo
  • filectime — Obtiene el momento del último cambio del i-nodo de un archivo
  • filegroup — Obtiene el grupo de un archivo
  • fileinode — Obtiene el i-nodo del archivo
  • filemtime — Obtiene el momento de la última modificación de un archivo
  • fileowner — Obtiene el propietario de un archivo
  • fileperms — Obtiene los permisos de un archivo
  • filesize — Obtiene el tamaño de un fichero
  • filetype — Obtiene el tipo de fichero
  • flock — Bloqueo de archivos asesorado portable
  • fnmatch — Compara un nombre de fichero con un patrón
  • fopen — Abre un fichero o una URL
  • fpassthru — Escribe toda la información restante de un puntero a un archivo
  • fputcsv — Da formato a una línea como CSV y la escribe en un puntero a un archivo
  • fputs — Alias de fwrite
  • fread — Lectura de un fichero en modo binario seguro
  • fscanf — Analiza la entrada desde un archivo de acuerdo a un formato
  • fseek — Busca sobre un puntero a un fichero
  • fstat — Obtiene información acerca de un archivo usando un puntero al archivo abierto
  • ftell — Devuelve la posición de lectura/escritura actual del puntero a un fichero
  • ftruncate — Trunca un archivo a una longitud dada
  • fwrite — Escritura de un archivo en modo binario seguro
  • glob — Busca coincidencias de nombres de ruta con un patrón
  • is_dir — Indica si el nombre de archivo es un directorio
  • is_executable — Indica si el nombre de archivo es ejecutable
  • is_file — Indica si el nombre de fichero es un fichero normal
  • is_link — Indica si el nombre de archivo es un enlace simbólico
  • is_readable — Indica si un fichero existe y es legible
  • is_uploaded_file — Indica si el archivo fue subido mediante HTTP POST
  • is_writable — Indica si un archivo existe y es escribible
  • is_writeable — Alias de is_writable
  • lchgrp — Cambia el grupo de un enlace simbólico
  • lchown — Cambia el propietario de un enlace simbólico
  • link — Crea un enlace duro
  • linkinfo — Obtiene información acerca de un enlace
  • lstat — Da información acerca de un archivo o enlace simbólico
  • mkdir — Crea un directorio
  • move_uploaded_file — Mueve un archivo subido a una nueva ubicación
  • parse_ini_file — Analiza un archivo de configuración
  • parse_ini_string — Analiza una cadena de configuración
  • pathinfo — Devuelve información acerca de la ruta de un fichero
  • pclose — Cierra un proceso de un puntero a un archivo
  • popen — Abre un proceso de un puntero a un archivo
  • readfile — Realizar la salida de un fichero
  • readlink — Devuelve el objetivo de un enlace simbólico
  • realpath_cache_get — Obtiene las entradas de la caché de la ruta real
  • realpath_cache_size — Obtiene el tamaño de la caché de la ruta real
  • realpath — Devuelve el nombre de la ruta absoluta canonizado
  • rename — Renombra un archivo o directorio
  • rewind — Rebobina la posción de un puntero a un archivo
  • rmdir — Elimina un directorio
  • set_file_buffer — Alias de stream_set_write_buffer
  • stat — Da información acerca de un fichero
  • symlink — Crea un enlace simbólico
  • tempnam — Crea un archivo con un nombre de archivo único
  • tmpfile — Crea un archivo temporal
  • touch — Establece el momento de acceso y modificación de un archivo
  • umask — Cambia la máscara de usuario actual
  • unlink — Borra un archivo
Constantes predefinidas
basename
Sistema de Ficheros


Devuelve el componente de nombre de rastreo de la ruta

Funciones del Sistema de Archivos
chgrp
Funciones del Sistema de Archivos
PHP Manual

basename

(PHP 4, PHP 5)

basename — Devuelve el componente de nombre de rastreo de la ruta

Descripción

string basename ( string $path [, string $suffix ] )

Dada una cadena que contiene una ruta a un archivo o directorio, esta función devolverá el componente de nombre de rastreo.

Parámetros

path

Una ruta.

En Windows, la barra (/) y la barra invertida (\) se usan como carácter separador de directorio. En otros entornos se usa la barra hacia delante (/).

suffix

Si el nombre del componente termina en suffix éste será recortado también.

Valores devueltos

Devuelve el nombre base de path.

Historial de cambios

Versión | Descripción
4.1.0 | Se añadió el parámetro suffix

Ejemplos

Ejemplo #1 Ejemplo de basename()

<?php
echo "1) ".basename("/etc/sudoers.d", ".d").PHP_EOL;
echo "2) ".basename("/etc/passwd").PHP_EOL;
echo "3) ".basename("/etc/").PHP_EOL;
echo "4) ".basename(".").PHP_EOL;
echo "5) ".basename("/");
?>

El resultado del ejemplo sería:

1) sudoers
2) passwd
3) etc
4) .
5)

Notas

Nota:

basename() opera nativamente en la entrada de cadena, y no es consciente del actual sistema de archivos, o componentes de ruta como "..".

Nota:

basename() es consciente de su sistema de localidad, así que para ver el nombre base correcto con rutas de caracteres multibyte, la localidad debe coincidir con la establecida con la función setlocale().

Ver también

  • dirname() - Devuelve el directorio padre de la ruta
  • pathinfo() - Devuelve información acerca de la ruta de un fichero

Funciones del Sistema de Archivos
chgrp
Funciones del Sistema de Archivos


Cambia el grupo del archivo

basename
chmod
Funciones del Sistema de Archivos
PHP Manual

chgrp

(PHP 4, PHP 5)

chgrp — Cambia el grupo del archivo

Descripción

bool chgrp ( string $filename , mixed $group )

Intenta cambiar el grupo del archivo filename a group.

Sólo el superusuario puede cambiar el grupo de un archivo arbitrariamente; los otros usuarios pueden cambiar el grupo de un archivo por cualquier grupo del que el usuario sea miembro.

Parámetros

filename

Ruta del archivo.

group

Un nombre o número de grupo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Cambiar el grupo de un archivo

<?php
$nombre_fichero = 'shared_file.txt';
$formato = "%s's Group ID @ %s: %d\n";
printf($formato, $nombre_fichero, date('r'), filegroup($nombre_fichero));
chgrp($nombre_fichero, 8);
clearstatcache(); // no almacenar en caché los resultados de filegroup()
printf($formato, $nombre_fichero, date('r'), filegroup($nombre_archivo));
?>

Notas

Nota: Esta función no funcionará en ficheros remotos ya que el fichero debe ser accesible vía el sistema de ficheros del servidor para poder ser examinado.

Nota: Cuando safe mode está habilitado, PHP comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado.

Ver también

  • chown() - Cambia el propietario del archivo
  • chmod() - Cambia el modo de archivo

basename
chmod
Funciones del Sistema de Archivos


Cambia el modo de archivo

chgrp
chown
Funciones del Sistema de Archivos
PHP Manual

chmod

(PHP 4, PHP 5)

chmod — Cambia el modo de archivo

Descripción

bool chmod ( string $filename , int $mode )

Intenta cambiar el modo de un archivo especificado por el dado en mode.

Parámetros

filename

Ruta del archivo.

mode

Observe que mode no se asume que sea automáticamente un valor octal, por lo que las cadenas (tales como "g+w") no funcionarán correctamente. Para asegurarse de que la operación sea la esperada, necesita poner el sufijo cero (0) a mode:

<?php
chmod("/directorio/archivo", 755);   // decimal; probablemente incorrecto
chmod("/directorio/archivo", "u+rwx,go+rx"); // cadena; incorrecto
chmod("/directorio/archivo", 0755);  // octal; valor correcto de modo
?>

El parámetro mode consiste en tres componentes numéricos octales que especifican las restricciones de acceso para el propietario, el grupo de ususarios al que pertenece el propietario, y para todos los demás, en este orden. Un componente puede ser computado sumando los permisos necesarios para ese usuario objetivo base. El número 1 significa que se conceden derechos de ejecución, el número 2 significa que se puede escribir en al archivo, el número 4 significa que el archivo se puede leer. Sume estos números para especificar los derechos necesarios. También puede leer más sobre los modos en sistemas Unix con 'man 1 chmod' y 'man 2 chmod'.

<?php
// Lectura y escritura para el propietario, nada para los demás
chmod("/directorio/archivo", 0600);

// Lectura y escritura para el propietario, lectura para los demás
chmod("/directorio/archivo", 0644);

// Todo para el propietario, lectura y ejecución para los otros
chmod("/directorio/archivo", 0755);

// Todo para el propietario, lectura y ejecución para el grupo del propietario
chmod("/directorio/archivo", 0750);
?>

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota:

El usuario actual es el usuario bajo el que se ejecuta PHP. Probablemente no sea el mismo usuario que se utilize para el intérprete de comandos normal o el acceso FTP. EL modo puede ser cambiado sólo por el usuario al que pertenece el archivo en la mayoría de sistemas.

Nota: Esta función no funcionará en ficheros remotos ya que el fichero debe ser accesible vía el sistema de ficheros del servidor para poder ser examinado.

Nota:

Cuando safe mode está habilitado, PHP verifica si los archivos o directorios en los que se va a operar tienen el mismo UID (propietario) que el del script que está siendo ejecutado. Además, no se pueden establecer los bits SUID, SGID y sticky.

Ver también

  • chown() - Cambia el propietario del archivo
  • chgrp() - Cambia el grupo del archivo
  • fileperms() - Obtiene los permisos de un archivo
  • stat() - Da información acerca de un fichero

chgrp
chown
Funciones del Sistema de Archivos


Cambia el propietario del archivo

chmod
clearstatcache
Funciones del Sistema de Archivos
PHP Manual

chown

(PHP 4, PHP 5)

chown — Cambia el propietario del archivo

Descripción

bool chown ( string $filename , mixed $user )

Intenta cambiar el propietario del archivo filename por el usuario user. Sólo el superusuario puede cambiar el propietario de un archivo.

Parámetros

filename

Ruta del archivo.

user

Un nombre o número de usuario.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Uso sencillo de chown()

<?php

// Nombre de archivo y nombre de usuario a utilizar
$nombre_archivo= "foo.php";
$ruta = "/home/sites/php.net/public_html/sandbox/" . $nombre_archivo ;
$nombre_usuario = "root";

// Establece el usuario
chown($ruta, $nombre_usuario);

// Verifica el resultado
$stat = stat($ruta);
print_r(posix_getpwuid($stat['uid']));

?>

El resultado del ejemplo sería algo similar a:

Array
(
    [name] => root
    [passwd] => x
    [uid] => 0
    [gid] => 0
    [gecos] => root
    [dir] => /root
    [shell] => /bin/bash
)

Notas

Nota: Esta función no funcionará en ficheros remotos ya que el fichero debe ser accesible vía el sistema de ficheros del servidor para poder ser examinado.

Nota: Cuando safe mode está habilitado, PHP comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado.

Ver también

  • chmod() - Cambia el modo de archivo

chmod
clearstatcache
Funciones del Sistema de Archivos


Limpia la caché de estado de un archivo

chown
copy
Funciones del Sistema de Archivos
PHP Manual

clearstatcache

(PHP 4, PHP 5)

clearstatcache — Limpia la caché de estado de un archivo

Descripción

void clearstatcache ([ bool $clear_realpath_cache = false [, string $filename ]] )

Cuando usa stat(), lstat(), o cualquier otra función enumerada en la lista de funciones afectadas (abajo), PHP examina la información que devuelven esas funciones para proporcionar un rendimiento más rápido. Sin embargo, en ciertos casos, puede querer borrar la información almacenada en caché. Por ejemplo, si el mismo archivo está siendo verificado múltiples veces dentro de un sólo script, y ese archivo corre el peligro de ser borrado o modificado durante la operación de ese script, puede optar por limpiar la caché de estado. En estos casos, puede usar la función clearstatcache() para borrar la información que PHP examina del archivo.

Debería observar también que PHP no examina información sobre archivos no existentes. Por lo que si llama a file_exists() con un archivo que no existe, se devolverá FALSE a menos que cree el archivo. Si crea el archivo, se devolverá TRUE incluso si después borra el archivo. Sin embargo unlink() limpia la caché automáticamente.

Nota:

Esta función examina la información sobre nombres de archivos específicos, por lo que sólo necesita llamar a clearstatcache() si está llevando a cabo múltiples operaciones sobre un mismo nombre de archivo y necesita que la información sobre ese archivo en particular no sea examinada.

Las funciones afectadas incluyen  stat(),
 lstat(),
 file_exists(),
 is_writable(),
 is_readable(),
 is_executable(),
 is_file(),
 is_dir(),
 is_link(),
 filectime(),
 fileatime(),
 filemtime(),
 fileinode(),
 filegroup(),
 fileowner(),
 filesize(),
 filetype(), y
 fileperms().

Parámetros

clear_realpath_cache

Si se limpia la caché de la ruta real o no.

filename

Limpia la ruta real y la caché de estadísticas para un nombre de fichero específico; solamente se usa si clear_realpath_cache es TRUE.

Valores devueltos

No devuelve ningún valor.

Historial de cambios

Versión | Descripción
5.3.0 | Se añadieron los parámetros opcionales clear_realpath_cache y filename.

Ejemplos

Ejemplo #1 Ejemplo de clearstatcache()

<?php
$archivo = 'output_log.txt';

function obtener_propietario($archivo)
{
    $estadísticas = stat($archivo);
    $usuario = posix_getpwuid($estadísticas['uid']);
    return $usuario['name'];
}

$formato = "UID @ %s: %s\n";

printf($formato, date('r'), obtener_propietario($archivo));

chown($archivo, 'ross');
printf($formato, date('r'), obtener_propietario($archivo));

clearstatcache();
printf($formato, date('r'), obtener_propietario($archivo));
?>

El resultado del ejemplo sería algo similar a:

UID @ Sun, 12 Oct 2008 20:48:28 +0100: root
UID @ Sun, 12 Oct 2008 20:48:28 +0100: root
UID @ Sun, 12 Oct 2008 20:48:28 +0100: ross

chown
copy
Funciones del Sistema de Archivos


Copia archivos

clearstatcache
delete
Funciones del Sistema de Archivos
PHP Manual

copy

(PHP 4, PHP 5)

copy — Copia archivos

Descripción

bool copy ( string $source , string $dest [, resource $context ] )

Realiza un copia del archivo source a dest.

Si quiere mover un archivo, use la función rename().

Parámetros

source

Ruta del archivo de origen.

dest

La ruta de destino. Si dest es una URL, la operación de copia puede fallar si la envoltura no soporta la sobrescritura de archivos existentes.

Advertencia

Si el archivo destino ya existe será sobrescrito.

context

Un recurso de contexto válido creado con stream_context_create().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.3.0 | Se añadió el soporte para el contexto.
4.3.0 | source y dest ahora pueden ser URLs si la "envoltura fopen" ha sido habilitada. Véase fopen() para más detalles.

Ejemplos

Ejemplo #1 Ejemplo de copy()

<?php
$archivo = 'ejemplo.txt';
$nuevo_archivo = 'ejemplo.txt.bak';

if (!copy($archivo, $nuevo_archivo)) {
    echo "Error al copiar $archivo...\n";
}
?>

Ver también

  • move_uploaded_file() - Mueve un archivo subido a una nueva ubicación
  • rename() - Renombra un archivo o directorio
  • La sección del manual sobre el manejo de subida de archivos

clearstatcache
delete
Funciones del Sistema de Archivos


Véase unlink o unset

copy
dirname
Funciones del Sistema de Archivos
PHP Manual

delete

delete — Véase unlink() o unset()

Descripción

Esta es una entrada trivial del manual para satisfacer a aquéllos que están buscando unlink() o unset() en el lugar equivocado.

Valores devueltos

No devuelve ningún valor.

Ver también

  • unlink() - Borra un archivo
  • unset() - Destruye una variable especificada

copy
dirname
Funciones del Sistema de Archivos


Devuelve el directorio padre de la ruta

delete
disk_free_space
Funciones del Sistema de Archivos
PHP Manual

dirname

(PHP 4, PHP 5)

dirname — Devuelve el directorio padre de la ruta

Descripción

string dirname ( string $path )

Dada una cadena que contiene la ruta a un archivo o directorio, esta función devolverá el directorio padre de la ruta.

Parámetros

path

Una ruta.

En Windows, la barra (/) y la barra invertida (\) se usan como carácter separador de directorio. En otros entornos se usa la barra hacia delante (/).

Valores devueltos

Devuelve el nombre del directorio padre. Si no hay barras en path, será devuelto un punto ('.'), indicando el directorio actual. De otro modo, la cadena devuelta es path con cualquier /componente final eliminado.

Historial de cambios

Versión | Descripción
5.0.0 | dirname() ahora es segura al trabajar con datos binarios
4.0.3 | dirname() fue corregida para soportar POSIX.

Ejemplos

Ejemplo #1 Ejemplo de dirname()

<?php
echo "1) " . dirname("/etc/passwd") . PHP_EOL; // 1) /etc
echo "2) " . dirname("/etc/") . PHP_EOL; // 2) / (o \ en Windows)
echo "3) " . dirname("."); // 3) .
?>

Notas

Nota:

dirname() opera de forma ingénua con la cadena de entrada, y no es consciente del sistema de ficheros o los componentes de la ruta como "..".

Nota:

dirname() usa la configuración de idioma local, para poder ver de forma correcta el nombre de directorio con caracteres multibyte en la ruta, se definir la misma configuración local usando la función setlocale().

Nota:

A partir de PHP 4.3.0, a menudo querrá obtener una barra o un punto de dirname() es situaciones donde la funcionalidad anterior le habría dado una cadena vacía.

Revise el siguiente cambio de ejemplo:

<?php

//antes de PHP 4.3.0
dirname('c:/'); // devolvía '.'

//después de PHP 4.3.0
dirname('c:/x'); // devuelve 'c:\'
dirname('c:/Temp/x'); // devuelve 'c:/Temp'
dirname('/x'); // devuelve '\'

?>

Ver también

  • basename() - Devuelve el componente de nombre de rastreo de la ruta
  • pathinfo() - Devuelve información acerca de la ruta de un fichero
  • realpath() - Devuelve el nombre de la ruta absoluta canonizado

delete
disk_free_space
Funciones del Sistema de Archivos


Devuelve el espacio disponible de un sistema de archivos o partición de disco

dirname
disk_total_space
Funciones del Sistema de Archivos
PHP Manual

disk_free_space

(PHP 4 >= 4.1.0, PHP 5)

disk_free_space — Devuelve el espacio disponible de un sistema de archivos o partición de disco

Descripción

float disk_free_space ( string $directory )

Dada una cadena que contiene un directorio, esta función devolverá el número de bytes disponibles en el sistema de archivos o partición de disco correspondiente.

Parámetros

directory

Un directorio del sistema de archivos o partición de disco.

Nota:

Dado un nombre de archivo en vez de un directorio, el comportamiento de la función no está especificado y puede diferir entre sistemas operativos y versiones de PHP.

Valores devueltos

Devuelve el número de bytes disponibles como un float o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de disk_free_space()

<?php
// $df contiene el número de bytes disponibles en "/"
$df = disk_free_space("/");

// En Windows:
$df_c = disk_free_space("C:");
$df_d = disk_free_space("D:");
?>

Notas

Nota: Esta función no funcionará en ficheros remotos ya que el fichero debe ser accesible vía el sistema de ficheros del servidor para poder ser examinado.

Ver también

  • disk_total_space() - Devuelve el tamaño total de un sistema de archivos o partición de disco

dirname
disk_total_space
Funciones del Sistema de Archivos


Devuelve el tamaño total de un sistema de archivos o partición de disco

disk_free_space
diskfreespace
Funciones del Sistema de Archivos
PHP Manual

disk_total_space

(PHP 4 >= 4.1.0, PHP 5)

disk_total_space — Devuelve el tamaño total de un sistema de archivos o partición de disco

Descripción

float disk_total_space ( string $directory )

Dada una cadena que contiene un directorio, esta función devolverá el número total de bytes del sistema de archivos o partición de disco correspondiente.

Parámetros

directory

Un directorio del sistema de archivos o partición de disco.

Valores devueltos

Devuelve el número total de bytes como un float o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de disk_total_space()

<?php
// $ds contiene el número total de bytes disponibles en "/"
$ds = disk_total_space("/");

// En Windows:
$ds = disk_total_space("C:");
$ds = disk_total_space("D:");
?>

Notas

Nota: Esta función no funcionará en ficheros remotos ya que el fichero debe ser accesible vía el sistema de ficheros del servidor para poder ser examinado.

Ver también

  • disk_free_space() - Devuelve el espacio disponible de un sistema de archivos o partición de disco

disk_free_space
diskfreespace
Funciones del Sistema de Archivos


Alias de disk_free_space

disk_total_space
fclose
Funciones del Sistema de Archivos
PHP Manual

diskfreespace

(PHP 4, PHP 5)

diskfreespace — Alias de disk_free_space()

Descripción

Esta función es un alias de: disk_free_space().

disk_total_space
fclose
Funciones del Sistema de Archivos


Cierra un puntero a un archivo abierto

diskfreespace
feof
Funciones del Sistema de Archivos
PHP Manual

fclose

(PHP 4, PHP 5)

fclose — Cierra un puntero a un archivo abierto

Descripción

bool fclose ( resource $handle )

El archivo apuntado por handle es cerrado.

Parámetros

handle

El puntero al archivo debe ser válido, y debe apuntar al archivo abierto con éxito por fopen() o fsockopen().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo sencillo de fclose()

<?php

$gestor = fopen('archivo.txt', 'r');

fclose($gestor);

?>

Ver también

  • fopen() - Abre un fichero o una URL
  • fsockopen() - Abre una conexión vía sockets a Internet o a un dominio Unix

diskfreespace
feof
Funciones del Sistema de Archivos


Comprueba si el puntero a un archivo está al final del archivo

fclose
fflush
Funciones del Sistema de Archivos
PHP Manual

feof

(PHP 4, PHP 5)

feof — Comprueba si el puntero a un archivo está al final del archivo

Descripción

bool feof ( resource $handle )

Comprueba si el puntero a un archivo está al final del archivo.

Parámetros

handle

El fichero al que se apunta debe ser válido, y debe apuntar a un fichero abierto por fopen() o fsockopen() (y que todavía no esté cerrado por fclose()).

Valores devueltos

Devuelve TRUE si el puntero al archivo está en EOF o produce un error (incluido el tiempo de espera del socket); de otro modo devuelve FALSE.

Notas

Advertencia

Si una conexión abierta por fsockopen() no se cerró por el servidor, feof() se colgará. Para solucionar esto, vea el ejemplo siguiente:

Ejemplo #1 Manejar tiempos de espera con feof()

<?php
function feof_segura($fp, &$inicio = NULL) {
 $inicio = microtime(true);

 return feof($fp);
}

/* Asumir que $fp está previamente abierto por fsockopen() */

$inicio = NULL;
$timeout = ini_get('default_socket_timeout');

while(!feof_segura($fp, $inicio) && (microtime(true) - $inicio) < $timeout)
{
 /* Gestor */
}
?>

Advertencia

Si el puntero al archivo pasado a la función no es válido, se podría dar un bucle infinito, ya que feof() falla para devolver TRUE.

Ejemplo #2 Ejemplo de feof() con un puntero a un archivo no válido

<?php
// si el archivo no se puede leer o no existe, la función fopen devuelve FALSE
$archivo = @fopen("ningún_archivo", "r");

// FALSE desde fopen emitirá una advertencia y resultará en un bucle infinito aquí
while (!feof($archivo)) {
}

fclose($archivo);
?>

fclose
fflush
Funciones del Sistema de Archivos


Vuelca la salida a un archivo

feof
fgetc
Funciones del Sistema de Archivos
PHP Manual

fflush

(PHP 4 >= 4.0.1, PHP 5)

fflush — Vuelca la salida a un archivo

Descripción

bool fflush ( resource $handle )

Esta función fuerza una escritura de todas las salidas del buffer a un recurso apuntado por el archivo handle.

Parámetros

handle

El fichero al que se apunta debe ser válido, y debe apuntar a un fichero abierto por fopen() o fsockopen() (y que todavía no esté cerrado por fclose()).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de escritura de un archivo usando fflush()

<?php
$nombre_archivo = 'bar.txt';

$archivo = fopen($nombre_archivo, 'r+');
rewind($archivo);
fwrite($archivo, 'Foo');
fflush($archivo);
ftruncate($archivo, ftell($archivo));
fclose($archivo);
?>

Ver también

  • clearstatcache() - Limpia la caché de estado de un archivo
  • fwrite() - Escritura de un archivo en modo binario seguro

feof
fgetc
Funciones del Sistema de Archivos


Obtiene un carácter de un puntero a un archivo

fflush
fgetcsv
Funciones del Sistema de Archivos
PHP Manual

fgetc

(PHP 4, PHP 5)

fgetc — Obtiene un carácter de un puntero a un archivo

Descripción

string fgetc ( resource $handle )

Obtiene un carácter desde un puntero a un archivo dado.

Parámetros

handle

El fichero al que se apunta debe ser válido, y debe apuntar a un fichero abierto por fopen() o fsockopen() (y que todavía no esté cerrado por fclose()).

Valores devueltos

Devuelve una cadena que contiene un sólo carácter leído desde el archivo apuntado por handle. Devuelve FALSE sobre EOF.

Advertencia

Esta función puede devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se evalúa como FALSE. 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.

Ejemplos

Ejemplo #1 Un ejemplo de fgetc()

<?php
$fp = fopen('archivo.txt', 'r');
if (!$fp) {
    echo 'No se pudo abrir archivo.txt';
}
while (false !== ($carácter = fgetc($fp))) {
    echo "$carácter\n";
}
?>

Notas

Nota: Esta función es segura binariamente.

Ver también

  • fread() - Lectura de un fichero en modo binario seguro
  • fopen() - Abre un fichero o una URL
  • popen() - Abre un proceso de un puntero a un archivo
  • fsockopen() - Abre una conexión vía sockets a Internet o a un dominio Unix
  • fgets() - Obtiene una línea desde el puntero a un fichero

fflush
fgetcsv
Funciones del Sistema de Archivos


Obtiene una línea del puntero a un archivo y la examina para tratar campos CSV

fgetc
fgets
Funciones del Sistema de Archivos
PHP Manual

fgetcsv

(PHP 4, PHP 5)

fgetcsv — Obtiene una línea del puntero a un archivo y la examina para tratar campos CSV

Descripción

array fgetcsv ( resource $handle [, int $length = 0 [, string $delimiter = ',' [, string $enclosure = '"' [, string $escape = '\\' ]]]] )

Similar a fgets() excepto que fgetcsv() examina la línea que lee para tratar campos en formato CSV y devuelve una matriz que contiene el campo leído.

Parámetros

handle

Un puntero a un archivo abierto con éxito por fopen(), popen(), o fsockopen().

length

Debe ser mayor que la línea más larga (en caracteres) a ser encontrada en el archivo CSV (permitiendo caracteres fin de línea finales). Se volvió opcional en PHP 5. Al omitir este parámetro (o estableciéndolo a 0 en PHP 5.0.4 y posterior), la longitud máxima de línea no está limitada, lo cual es ligeramente más lento.

delimiter

Establece el delimitador de campo (un sólo carácter).

enclosure

Establece el carácter de cierre de campo (un sólo carácter).

escape

Establece el carácter de escape (un sólo carácter). Por defecto es una barra invertida.

Valores devueltos

Devuelve una matriz indexada que contiene los campos leídos.

Nota:

Una línea en blanco en un archivo CSV será devuelta como una matriz que comprende un simple campo null, y no será tratada como un error.

Nota: Si sufre problemas con PHP no reconociendo los finales de línea cuando lee o crea ficheros en Macintosh, puede probar de activar la opción de configuración en tiempo de ejecución auto_detect_line_endings para intentar resolver el problema.

fgetcsv() devuelve NULL si se proporciona un handle no válido, o FALSE en los demás errores, incluido el final de archivo.

Historial de cambios

Versión | Descripción
5.3.0 | Se añadió el parámetro escape
4.3.5 | fgetcsv() ahora es segura al trabajar con datos binarios
4.3.0 | Se añadió el parámetro enclosure

Ejemplos

Ejemplo #1 Lee e imprime el contenido completo de un archivo CSV

<?php
$fila = 1;
if (($gestor = fopen("test.csv", "r")) !== FALSE) {
    while (($datos = fgetcsv($gestor, 1000, ",")) !== FALSE) {
        $numero = count($datos);
        echo "<p> $numero de campos en la línea $fila: <br /></p>\n";
        $fila++;
        for ($c=0; $c < $numero; $c++) {
            echo $datos[$c] . "<br />\n";
        }
    }
    fclose($gestor);
}
?>

Notas

Nota:

Esta función toma en cuenta los parámetros de loacalización. Si LANG es p.ej. en_US.UTF-8, los archivos codificados con un byte son leídos de forma errónea por esta función.

Ver también

  • str_getcsv() - Interpreta un string de CSV en un array
  • explode() - Divide una cadena en varias cadenas
  • file() - Transfiere un fichero completo a un array
  • pack() - Empaqueta información a una cadena binaria
  • fputcsv() - Da formato a una línea como CSV y la escribe en un puntero a un archivo

fgetc
fgets
Funciones del Sistema de Archivos


Obtiene una línea desde el puntero a un fichero

fgetcsv
fgetss
Funciones del Sistema de Archivos
PHP Manual

fgets

(PHP 4, PHP 5)

fgets — Obtiene una línea desde el puntero a un fichero

Descripción

string fgets ( resource $handle [, int $length ] )

Obtiene una línea desde el puntero al fichero.

Parámetros

handle

El fichero al que se apunta debe ser válido, y debe apuntar a un fichero abierto por fopen() o fsockopen() (y que todavía no esté cerrado por fclose()).

length

La lectura termina cuando se han leído length - 1 bytes, o una nueva línea (la cual está incluida en el valor de retorno), o un EOF (lo que suceda primero). Si no se especifica una longitud, se serguirá leyendo desde el flujo hasta que alcance el final de la línea.

Nota:

Hasta PHP 4.3.0, al omitirlo se asumía una longitud de línea de 1024. Si la mayoría de las lineas del fichero son todas mayores de 8KB, es más eficiente para el script en cuestión de recursos especificar la longitud máxima de línea.

Valores devueltos

Devuelve una cadena de hasta length - 1 bytes leídos desde el fichero apuntado por handle. Si no hay más datos que leer en el puntero al fichero, devuelve FALSE.

Si se produjo un error, devuelve FALSE.

Historial de cambios

Versión | Descripción
4.3.0 | fgets() ahora es segura al trabajar con datos binarios
4.2.0 | El parámetro length se volvió opcional

Ejemplos

Ejemplo #1 Leer un fichero línea a línea

<?php
$gestor = @fopen("/tmp/inputfile.txt", "r");
if ($gestor) {
    while (($búfer = fgets($gestor, 4096)) !== false) {
        echo $búfer;
    }
    if (!feof($gestor)) {
        echo "Error: fallo inesperado de fgets()\n";
    }
    fclose($gestor);
}
?>

Notas

Nota: Si sufre problemas con PHP no reconociendo los finales de línea cuando lee o crea ficheros en Macintosh, puede probar de activar la opción de configuración en tiempo de ejecución auto_detect_line_endings para intentar resolver el problema.

Nota:

Las personas que suele usar la semántica tipo 'C' de fgets() deberían observar la diferencia de cómo se devuelve EOF.

Ver también

  • fgetss() - Obtiene un línea desde un puntero a un archivo y elimina las etiquetas HTML
  • fread() - Lectura de un fichero en modo binario seguro
  • fgetc() - Obtiene un carácter de un puntero a un archivo
  • stream_get_line() - Obtiene una línea del recurso de flujo hasta un delimitador dado
  • fopen() - Abre un fichero o una URL
  • popen() - Abre un proceso de un puntero a un archivo
  • fsockopen() - Abre una conexión vía sockets a Internet o a un dominio Unix
  • stream_set_timeout() - Establecer un perido de tiempo de espera en un flujo

fgetcsv
fgetss
Funciones del Sistema de Archivos


Obtiene un línea desde un puntero a un archivo y elimina las etiquetas HTML

fgets
file_exists
Funciones del Sistema de Archivos
PHP Manual

fgetss

(PHP 4, PHP 5)

fgetss — Obtiene un línea desde un puntero a un archivo y elimina las etiquetas HTML

Descripción

string fgetss ( resource $handle [, int $length [, string $allowable_tags ]] )

Idéntica a fgets(), excepto que fgetss() intenta eliminar cualesquiera bytes NULL, etiquetas HTML y PHP del texto que lee.

Parámetros

handle

El fichero al que se apunta debe ser válido, y debe apuntar a un fichero abierto por fopen() o fsockopen() (y que todavía no esté cerrado por fclose()).

length

Longitud de la información que va a ser recuperada.

allowable_tags

Puede usar el tercer parámetro opcional para especificar las etiquetas que no deberían ser eliminadas.

Valores devueltos

Devuelve una cadena de hasta length - 1 bytes leídos desde el archivo apuntado por handle, con todo el código HTML y PHP eliminado.

Si se produjo un error devuelve FALSE.

Historial de cambios

Versión | Descripción
5.0.0 | El parámetro length es opcional

Ejemplo #1 Leer un archivo PHP línea a línea

<?php
$cadena = <<<EOD
<html><body>
 <p>¡Bienvenido! Hoy es el <?php echo(date('jS')); ?> de <?= date('F'); ?>.</p>
</body></html>
Texto fuera del bloque HTML.
EOD;
file_put_contents('ejemplo.php', $cadena);

$gestor = @fopen("ejemplo.php", "r");
if ($gestor) {
    while (!feof($gestor)) {
        $buffer = fgetss($gestor, 4096);
        echo $buffer;
    }
    fclose($gestor);
}
?>

El resultado del ejemplo sería algo similar a:

 ¡Bienvenido! Hoy es el  de .

Texto fuera del bloque HTML.

Notas

Nota: Si sufre problemas con PHP no reconociendo los finales de línea cuando lee o crea ficheros en Macintosh, puede probar de activar la opción de configuración en tiempo de ejecución auto_detect_line_endings para intentar resolver el problema.

Ver también

  • fgets() - Obtiene una línea desde el puntero a un fichero
  • fopen() - Abre un fichero o una URL
  • popen() - Abre un proceso de un puntero a un archivo
  • fsockopen() - Abre una conexión vía sockets a Internet o a un dominio Unix
  • strip_tags() - Retira las etiquetas HTML y PHP de un string

fgets
file_exists
Funciones del Sistema de Archivos


Comprueba si existe un fichero o directorio

fgetss
file_get_contents
Funciones del Sistema de Archivos
PHP Manual

file_exists

(PHP 4, PHP 5)

file_exists — Comprueba si existe un fichero o directorio

Descripción

bool file_exists ( string $filename )

Comprueba si existe un fichero o directorio.

Parámetros

filename

Ruta del fichero o directorio.

En windows, use //nombre_equipo/recurso/nombre_fichero o \\nombre_equipo\recurso\nombre_fichero para comprobar ficheros en redes compartidas.

Valores devueltos

Devuelve TRUE si el fichero o directorio especificado por filename existe; FALSE si no.

Nota:

Esta función devolverá FALSE para punteros de enlaces simbólicos hacia ficheros no existentes.

Advertencia

Esta función devuelve FALSE para ficheros inaccesibles a causa de las restricciones del modo seguro. Sin embargo, estos fichero aún pueden ser incluidos si están localizados en safe_mode_include_dir.

Nota:

La comprobación se realiza usando el UID/GID real en vez del oportuno.

Nota: Debido a que el tipo integer de PHP es con signo y muchas plataformas usan enteros de 32 bits, algunas funciones de sistema de ficheros pueden devolver resultados inesperados para ficheros que son mayores de 2 GB.

Ejemplos

Ejemplo #1 Comprobar si existe un fichero

<?php
$nombre_fichero = '/path/to/foo.txt';

if (file_exists($nombre_fichero)) {
    echo "El fichero $nombre_fichero existe";
} else {
    echo "El fichero $nombre_fichero no existe";
}
?>

Errores/Excepciones

En caso de fallo, se emite un E_WARNING.

Notas

Nota: Los resultados de esta función son guardados en caché. Para más información ver clearstatcache().

Sugerencia

Desde PHP 5.0.0, esta función también puede usarse con algunos URL wrappers. Consultar Protocolos y Envolturas soportados para deter4minar qué envolturas soportan la familia de funcionalidad de stat().

Ver también

  • is_readable() - Indica si un fichero existe y es legible
  • is_writable() - Indica si un archivo existe y es escribible
  • is_file() - Indica si el nombre de fichero es un fichero normal
  • file() - Transfiere un fichero completo a un array

fgetss
file_get_contents
Funciones del Sistema de Archivos


Transmite un fichero entero a una cadena

file_exists
file_put_contents
Funciones del Sistema de Archivos
PHP Manual

file_get_contents

(PHP 4 >= 4.3.0, PHP 5)

file_get_contents — Transmite un fichero entero a una cadena

Descripción

string file_get_contents ( string $filename [, bool $use_include_path = false [, resource $context [, int $offset = -1 [, int $maxlen ]]]] )

Esta función es similar a file(), excepto que file_get_contents() devuelve el fichero a un string, comenzando por el offset especificado hasta maxlen bytes. Si falla, file_get_contents() devolverá FALSE.

file_get_contents() es la manera preferida de transmitir el contenido de un fichero a una cadena. Usa técnicas de mapeado de memoria, si está soportado por su sistema operativo, para mejorar el rendimiento.

Nota:

Si se está abriendo un URI con caracteres especiales, tales como espacios, se necesita codificar el URI con urlencode().

Parámetros

filename

Nombre del fichero a leer.

use_include_path

Nota:

A partir de PHP 5, se puede usar la constante FILE_USE_INCLUDE_PATH para lanzar la búsqueda en include_path.

context

Un recurso de contexto válido creado con stream_context_create(). Si no se necesita usar un contexto a medida, se puede saltar este parámetro usando NULL.

offset

El índice donde comienza la lectura en el flujo original.

La búsqueda de (offset) no está soportada con ficheros remotos. Intentar buscar un fichero no local puede funcionar con índices pequeños, pero es impredecible debido a que trabaja sobre el flujo almacenado en buffer.

maxlen

La longitud máxima de los datos leídos. De manera predeterminada se lee hasta que se alcance el final del fichero. Observe que este parámetro se aplica al flujo procesado por los filtros.

Valores devueltos

Esta función devuelve los datos leídos o FALSE en caso de error.

Advertencia

Esta función puede devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se evalúa como FALSE. 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.

Errores/Excepciones

Se genera un error de nivel E_WARNING si filename no se pudo encontrar, maxlength es menor de cero, o si falla la búsqueda del offset especificado en el flujo.

Ejemplos

Ejemplo #1 Obtiene y muestra el código fuente de la página de inicio de un sitio web

<?php
$página_inicio = file_get_contents('http://www.example.com/');
echo $página_inicio;
?>

Ejemplo #2 Buscar dentro de include_path

<?php
// <= PHP 5
$fichero = file_get_contents('./gente.txt', true);
// > PHP 5
$fichero = file_get_contents('./gente.txt', FILE_USE_INCLUDE_PATH);
?>

Ejemplo #3 Leer una sección de un fichero

<?php
// Leer 14 caracteres comenzando desde el carácter número 21
$sección = file_get_contents('./gente.txt', NULL, NULL, 20, 14);
var_dump($sección);
?>

El resultado del ejemplo sería algo similar a:

string(14) "lle Bjori Ro"

Ejemplo #4 Usar contextos de flujo

<?php
// Crear un flujo
$opciones = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar\r\n"
  )
);

$contexto = stream_context_create($opciones);

// Abre el fichero usando las cabeceras HTTP establecidas arriba
$fichero = file_get_contents('http://www.example.com/', false, $contexto);
?>

Historial de cambios

Versión | Descripción
5.1.0 | Se añadieron los parámetros offset y maxlen.
5.0.0 | Se añadió el soporte de contextos.

Notas

Nota: Esta función es segura binariamente.

Sugerencia

Se puede usar una dirección URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más información de como especificar el nombre de fichero. Consulte Protocolos y Envolturas soportados para ver enlaces con información sobre las diferentes habilidades que los wrappers tienen, notas de uso e información de cualquier variables predefinidas que pueden usarse.

Advertencia

Cuando se usa SSL, Microsoft IIS violará el protocolo, cerrando la conexión sin mandar un indicador close_notify. PHP avisará de esto con este mensaje "SSL: Fatal Protocol Error", cuando llegue al final de los datos. Una solución a este problema es bajar el nivel de aviso de errores del sistema para que no incluya advertencias. PHP 4.3.7 y versiones posteriores detectan servidores IIS con este problema cuando se hace streaming usando https:// y suprime la advertencia. Si usáis la función fsockopen() para crear un socket ssl://, tendréis que suprimir la advertencia explicitamente.

Ver también

  • file() - Transfiere un fichero completo a un array
  • fgets() - Obtiene una línea desde el puntero a un fichero
  • fread() - Lectura de un fichero en modo binario seguro
  • readfile() - Realizar la salida de un fichero
  • file_put_contents() - Escribe una cadena a un fichero
  • stream_get_contents() - Transfiere el resto de un flujo a una cadena
  • stream_context_create() - Crear un contexto de flujo
  • $http_response_header

file_exists
file_put_contents
Funciones del Sistema de Archivos


Escribe una cadena a un fichero

file_get_contents
file
Funciones del Sistema de Archivos
PHP Manual

file_put_contents

(PHP 5)

file_put_contents — Escribe una cadena a un fichero

Descripción

int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )

Esta función es idéntica que llamar a fopen(), fwrite() y fclose() sucesivamente para escribir información en un fichero.

Si filename no existe, se crea el fichero. De otro modo, el fichero existente se sobrescribe, a menos que la bandera FILE_APPEND esté establecida.

Parámetros

filename

Ruta del fichero donde se escribe la información

data

La información a escribir. Puede ser tanto un recurso string, como array o stream.

Si data es un recurso stream, el buffer restante de ese flujo será copiado al fichero especificado. Esto es similar a usar stream_copy_to_stream().

También se puede especificar el parámetro data como un array de una sóla dimensión. Esto es equivalente a file_put_contents($nombre_fichero, implode('', $array)).

flags

El valor de flags puede ser cualquier combinación de las siguientes banderas, unidas con el operador binario OR (|).

Banderas disponibles
Bandera | Descripción
FILE_USE_INCLUDE_PATH | Busca filename en el directorio incluido. Véase include_path para más información.
FILE_APPEND | Si el fichero filename ya existe, añade la información al fichero en vez de sobrescribirlo.
LOCK_EX | Adquiere un bloqueo exclusivo del fichero mientras se está ejecutando la escritura.

context

Un recurso de contexto válido creado con stream_context_create().

Valores devueltos

Esta función devuelve el número de bytes que fueron escritos en el fichero, o FALSE en caso de error.

Advertencia

Esta función puede devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se evalúa como FALSE. 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.

Ejemplos

Ejemplo #1 Ejemplo sencillo de uso

<?php
$fichero = 'gente.txt';
// Abre el fichero para obtener el contenido existente
$actual = file_get_contents($fichero);
// Añade una nueva persona al fichero
$actual .= "John Smith\n";
// Escribe el contenido al fichero
file_put_contents($fichero, $actual);
?>

Ejemplo #2 Usar banderas

<?php
$fichero = 'gente.txt';
// La nueva persona a añdir al fichero
$persona = "John Smith\n";
// Escribir los contenidos en el fichero,
// usando la bandera FILE_APPEND para añadir el contenido al final del fichero
// y la bandera LOCK_EX para evitar que cualquiera escriba en el fichero al mismo tiempo
file_put_contents($fichero, $persona, FILE_APPEND | LOCK_EX);
?>

Historial de cambios

Versión | Descripción
5.0.0 | Añadido el soporte de contexto
5.1.0 | Añadido el soporte para LOCK_EX y la capacidad de pasar un recurso tipo stream al parámetro data

Notas

Nota: Esta función es segura binariamente.

Sugerencia

Se puede usar una dirección URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más información de como especificar el nombre de fichero. Consulte Protocolos y Envolturas soportados para ver enlaces con información sobre las diferentes habilidades que los wrappers tienen, notas de uso e información de cualquier variables predefinidas que pueden usarse.

Ver también

  • fopen() - Abre un fichero o una URL
  • fwrite() - Escritura de un archivo en modo binario seguro
  • file_get_contents() - Transmite un fichero entero a una cadena
  • stream_context_create() - Crear un contexto de flujo

file_get_contents
file
Funciones del Sistema de Archivos


Transfiere un fichero completo a un array

file_put_contents
fileatime
Funciones del Sistema de Archivos
PHP Manual

file

(PHP 4, PHP 5)

file — Transfiere un fichero completo a un array

Descripción

array file ( string $filename [, int $flags = 0 [, resource $context ]] )

Transfiere un fichero completo a un array.

Nota:

Puede usar file_get_contents() para devolver el contenido de un fichero como una cadena.

Parámetros

filename

Ruta del fichero.

Sugerencia

Se puede usar una dirección URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más información de como especificar el nombre de fichero. Consulte Protocolos y Envolturas soportados para ver enlaces con información sobre las diferentes habilidades que los wrappers tienen, notas de uso e información de cualquier variables predefinidas que pueden usarse.

flags

El parámetro opcional flags puede ser una, o más, de las siguientes constantes:

FILE_USE_INCLUDE_PATH
Busca el fichero en include_path.
FILE_IGNORE_NEW_LINES
No se añade nueva línea al final de cada elemento del array
FILE_SKIP_EMPTY_LINES
Salta las líneas vacías

context

Un recurso de contexto válido creado con la función stream_context_create().

Nota: Soporte para context fue añadido en PHP 5.0.0. Para una descripción de contexts, refiérase a Flujos.

Valores devueltos

Devuelve el fichero a un array. Cada elemento del array se corresponde con una línea del fichero, con el carácter nueva línea aún adjunto. Si falla, file() devuelve FALSE.

Nota:

Cada línea del array resultante incuirá el final de línea, a menos que se use FILE_IGNORE_NEW_LINES, por lo que aún necesita utilizar rtrim() si no quiere que el final de línea esté presente.

Nota: Si sufre problemas con PHP no reconociendo los finales de línea cuando lee o crea ficheros en Macintosh, puede probar de activar la opción de configuración en tiempo de ejecución auto_detect_line_endings para intentar resolver el problema.

Historial de cambios

Versión | Descripción
5.0.0 | Se añadió el parámetro context
5.0.0 | Antes de PHP 5.0.0 el parámetro flags sólo cubría include_path y estaba habilitado con 1
4.3.0 | file() ahora es segura al trabajar con datos binarios

Ejemplos

Ejemplo #1 Ejemplo de file()

<?php
// Escribe un fichero en un array. En este ejemplo iremos a través de HTTP para
// obtener el código fuente HTML de una URL.
$líneas = file('http://www.example.com/');

// Recorre nuestro array, muestra el código fuente HTML como tal
// y muestra tambíen los números de línea.
foreach ($líneas as $num_línea => $línea) {
    echo "Línea #<b>{$num_línea}</b> : " . htmlspecialchars($línea) . "<br />\n";
}

// Otro ejemplo, vamos a escribir una página web en una cadena. Vea también file_get_contents().
$html = implode('', file('http://www.example.com/'));

// Usando el parámetro opcional banderas a partir de PHP 5
$recortes = file('fichero.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
?>

Notas

Advertencia

Cuando se usa SSL, Microsoft IIS violará el protocolo, cerrando la conexión sin mandar un indicador close_notify. PHP avisará de esto con este mensaje "SSL: Fatal Protocol Error", cuando llegue al final de los datos. Una solución a este problema es bajar el nivel de aviso de errores del sistema para que no incluya advertencias. PHP 4.3.7 y versiones posteriores detectan servidores IIS con este problema cuando se hace streaming usando https:// y suprime la advertencia. Si usáis la función fsockopen() para crear un socket ssl://, tendréis que suprimir la advertencia explicitamente.

Ver también

  • readfile() - Realizar la salida de un fichero
  • fopen() - Abre un fichero o una URL
  • fsockopen() - Abre una conexión vía sockets a Internet o a un dominio Unix
  • popen() - Abre un proceso de un puntero a un archivo
  • file_get_contents() - Transmite un fichero entero a una cadena
  • include - include
  • stream_context_create() - Crear un contexto de flujo

file_put_contents
fileatime
Funciones del Sistema de Archivos


Obtiene el momento del último acceso a un archivo

file
filectime
Funciones del Sistema de Archivos
PHP Manual

fileatime

(PHP 4, PHP 5)

fileatime — Obtiene el momento del último acceso a un archivo

Descripción

int fileatime ( string $filename )

Obtiene el momento del último acceso a un archivo dado.

Parámetros

filename

Ruta del archivo.

Valores devueltos

Devuelve el momento en el que se acceció al archivo por última vez, o FALSE en caso de error. El momento es devuelto como tiempo Unix.

Ejemplos

Ejemplo #1 Ejemplo de fileatime()

<?php

// muestra, p.ej.  El último acceso a archivo.txt fue: December 29 2002 22:16:23.

$nombre_archivo = 'archivo.txt';
if (file_exists($nombre_archivo)) {
    echo "El último acceso a $nombre_archivo fue: " . date("F d Y H:i:s.", fileatime($nombre_archivo));
}

?>

Errores/Excepciones

En caso de fallo, se emite un E_WARNING.

Notas

Nota:

El atime de un archivo se supone que cambia siempre que los bloques de información de un archivo están siendo leídos. Esto puede costar rendimiento a la larga cuando una aplicación accede regularmente a un número muy grande de archivos o directorios.

Algunos sistemas de archivos Unix se pueden montar con las actualizaciones de atime deshabitiladas para incrementar el rendimiento de tales aplicaciones; las colas de noticias de USENET son un ejemplo común. En tales sistemas de archivos esta función será inservible.

Nota:

Observe que el tiempo de resolución quizá varia según el sistema de ficheros.

Nota: Los resultados de esta función son guardados en caché. Para más información ver clearstatcache().

Sugerencia

Desde PHP 5.0.0, esta función también puede usarse con algunos URL wrappers. Consultar Protocolos y Envolturas soportados para deter4minar qué envolturas soportan la familia de funcionalidad de stat().

Ver también

  • filemtime() - Obtiene el momento de la última modificación de un archivo
  • fileinode() - Obtiene el i-nodo del archivo
  • date() - Dar formato a la fecha/hora local

file
filectime
Funciones del Sistema de Archivos


Obtiene el momento del último cambio del i-nodo de un archivo

fileatime
filegroup
Funciones del Sistema de Archivos
PHP Manual

filectime

(PHP 4, PHP 5)

filectime — Obtiene el momento del último cambio del i-nodo de un archivo

Descripción

int filectime ( string $filename )

Obtiene el momento del último cambio del i-nodo de un archivo.

Parámetros

filename

Ruta del archivo.

Valores devueltos

Devuelve el momento en que se modificó un archivo por última vez, o FALSE en caso de error. El momento es devuelto como tiempo Unix.

Ejemplos

Ejemplo #1 Un ejemplo de filectime()

<?php

// muestra, p.ej.  La última modificación de archivo.txt fue: December 29 2002 22:16:23.

$nombre_archivo = 'archivo.txt';
if (file_exists($nombre_archivo)) {
    echo "La última modificación de $nombre_archivo fue: " . date("F d Y H:i:s.", filectime($nombre_archivo));
}

?>

Errores/Excepciones

En caso de fallo, se emite un E_WARNING.

Notas

Nota:

Anotación: En la mayoría de los sistemas de archivos Unix, un archivo se considera modificado cuando su información de i-nodo se cambia; es decir, cuando los permisos, propietario, grupo, u otra meta-información del i-nodo es acualizada. Véase también filemtime() (la cual es la que se querrá usar cuando se desee crear pies de página como "Última Modificación" en páginas web) y fileatime().

Nota:

Observe también que en algunos textos Unix el ctime de un archivo se refiere al momento de creación del archivo. Esto es erróneo. No hay momento de creación de archivos Unix en la mayoría de sistemas de archivos Unix.

Nota:

Observe que el tiempo de resolución quizá varia según el sistema de ficheros.

Nota: Los resultados de esta función son guardados en caché. Para más información ver clearstatcache().

Sugerencia

Desde PHP 5.0.0, esta función también puede usarse con algunos URL wrappers. Consultar Protocolos y Envolturas soportados para deter4minar qué envolturas soportan la familia de funcionalidad de stat().

Ver también

  • filemtime() - Obtiene el momento de la última modificación de un archivo

fileatime
filegroup
Funciones del Sistema de Archivos


Obtiene el grupo de un archivo

filectime
fileinode
Funciones del Sistema de Archivos
PHP Manual

filegroup

(PHP 4, PHP 5)

filegroup — Obtiene el grupo de un archivo

Descripción

int filegroup ( string $filename )

Obtiene el grupo del archivo. El ID de grupo es devuelto en formato numérico, use posix_getgrgid() para resolverlo a un nombre de grupo.

Parámetros

filename

Ruta del archivo.

Valores devueltos

Devuelve el ID de grupo del archivo, o FALSE en caso de que se produzca un error. El ID de grupo es devuelto en formato numérico, use posix_getgrgid() para resolverlo a un nombre de grupo. Si falla, se devuelve FALSE

Ejemplos

Ejemplo #1 Encontrar el grupo de un archivo

<?php
$nombre_archivo = 'index.php';
print_r(posix_getgrgid(filegroup($nombre_archivo)));
?>

Errores/Excepciones

Si falla, se emite un E_WARNING.

Notas

Nota: Los resultados de esta función son guardados en caché. Para más información ver clearstatcache().

Sugerencia

Desde PHP 5.0.0, esta función también puede usarse con algunos URL wrappers. Consultar Protocolos y Envolturas soportados para deter4minar qué envolturas soportan la familia de funcionalidad de stat().

Ver también

  • fileowner() - Obtiene el propietario de un archivo
  • posix_getgrgid() - Devolver información sobre un grupo mediante un id de grupo
  • safe_mode_gid

filectime
fileinode
Funciones del Sistema de Archivos


Obtiene el i-nodo del archivo

filegroup
filemtime
Funciones del Sistema de Archivos
PHP Manual

fileinode

(PHP 4, PHP 5)

fileinode — Obtiene el i-nodo del archivo

Descripción

int fileinode ( string $filename )

Obtiene el i-nodo del archivo.

Parámetros

filename

Ruta del archivo.

Valores devueltos

Devuelve el número del i-nodo del archivo, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Comparar el i-nodo de un archivo con el archivo actual

<?php
$nombre_archivo = 'index.php';
if (getmyinode() == fileinode($nombre_archivo)) {
    echo 'Está comprobando el archivo actual.';
}
?>

Errores/Excepciones

En caso de fallo, se emite un E_WARNING.

Notas

Nota: Los resultados de esta función son guardados en caché. Para más información ver clearstatcache().

Sugerencia

Desde PHP 5.0.0, esta función también puede usarse con algunos URL wrappers. Consultar Protocolos y Envolturas soportados para deter4minar qué envolturas soportan la familia de funcionalidad de stat().

Ver también

  • getmyinode() - Obtiene el inode del script actual
  • stat() - Da información acerca de un fichero

filegroup
filemtime
Funciones del Sistema de Archivos


Obtiene el momento de la última modificación de un archivo

fileinode
fileowner
Funciones del Sistema de Archivos
PHP Manual

filemtime

(PHP 4, PHP 5)

filemtime — Obtiene el momento de la última modificación de un archivo

Descripción

int filemtime ( string $filename )

Esta función devuelve el momento de cuándo los bloques de información de un archivo fueron escritos, es decir, el momento de cuándo el contenido del archivo se modificó.

Parámetros

filename

Ruta del archivo.

Valores devueltos

Devuelve el momento de cuándo el archivo se modificó por última vez, o FALSE en caso de error. El momento es devuelto como tiempo Unix, lo cual es apropiado para la función date().

Ejemplos

Ejemplo #1 Ejemplo de filemtime()

<?php
// muestra, p.ej.  La última modificación de archivo.txt fue: December 29 2002 22:16:23.

$nombre_archivo = 'archivo.txt';
if (file_exists($nombre_archivo)) {
    echo "La última modificación de $nombre_archivo fue: " . date ("F d Y H:i:s.", filemtime($nombre_archivo));
}
?>

Errores/Excepciones

En caso de fallo, se emite un E_WARNING.

Notas

Nota:

Observe que el tiempo de resolución quizá varia según el sistema de ficheros.

Nota: Los resultados de esta función son guardados en caché. Para más información ver clearstatcache().

Sugerencia

Desde PHP 5.0.0, esta función también puede usarse con algunos URL wrappers. Consultar Protocolos y Envolturas soportados para deter4minar qué envolturas soportan la familia de funcionalidad de stat().

Ver también

  • filectime() - Obtiene el momento del último cambio del i-nodo de un archivo
  • stat() - Da información acerca de un fichero
  • touch() - Establece el momento de acceso y modificación de un archivo
  • getlastmod() - Obtiene la hora de la última modificación de la página

fileinode
fileowner
Funciones del Sistema de Archivos


Obtiene el propietario de un archivo

filemtime
fileperms
Funciones del Sistema de Archivos
PHP Manual

fileowner

(PHP 4, PHP 5)

fileowner — Obtiene el propietario de un archivo

Descripción

int fileowner ( string $filename )

Obtiene el propietario del archivo.

Parámetros

filename

Ruta del archivo.

Valores devueltos

Devuelve el ID de usuario del propietario del archivo, o FALSE en caso de error. El ID de usuario es devuelto en formato numérico, use posix_getpwuid() para resolverlo a un nombre de usuario.

Ejemplos

Ejemplo #1 Encontrar el propietario de un archivo

<?php
$nombre_archivo = 'index.php';
print_r(posix_getpwuid(fileowner($nombre_archivo)));
?>

Errores/Excepciones

En caso de fallo, se emite un E_WARNING.

Notas

Nota: Los resultados de esta función son guardados en caché. Para más información ver clearstatcache().

Sugerencia

Desde PHP 5.0.0, esta función también puede usarse con algunos URL wrappers. Consultar Protocolos y Envolturas soportados para deter4minar qué envolturas soportan la familia de funcionalidad de stat().

Ver también

  • filegroup() - Obtiene el grupo de un archivo
  • stat() - Da información acerca de un fichero
  • posix_getpwuid() - Devolver información sobre un usuario mediante el id de usuario

filemtime
fileperms
Funciones del Sistema de Archivos


Obtiene los permisos de un archivo

fileowner
filesize
Funciones del Sistema de Archivos
PHP Manual

fileperms

(PHP 4, PHP 5)

fileperms — Obtiene los permisos de un archivo

Descripción

int fileperms ( string $filename )

Obtiene los permisos de un archivo dado.

Parámetros

filename

Ruta del archivo.

Valores devueltos

Devuelve los permisos de un archivo como un modo numérico del mismo formato en el que se espera por chmod(), sin embargo en la mayoría de plataformas el valor de retorno también incluirá información sobre el tipo de fichero dado como filename. Los siguientes ejemplos muestran como poner a prueba el valor de retorno para los permisos específicos y tipos de ficheros en sistemas POSIX, incluyendo Linux y Mac OS X.

Para los ficheros locales, el valor de retorno específico es el del miembro st_mode de la estructura devuelta por la función stat() de la biblioteca de C. Exactamente lo que los bits que están establecidos pueden variar de una plataforma a otra, y mirando la documentación de su plataforma específica se recomienda si el análisis de los bits sin permiso del valor de retorno es necesario.

Ejemplos

Ejemplo #1 Muestra los permisos como un valor octal

<?php
echo substr(sprintf('%o', fileperms('/tmp')), -4);
echo substr(sprintf('%o', fileperms('/etc/passwd')), -4);
?>

El resultado del ejemplo sería:

1777
0644

Ejemplo #2 Muestra los permisos completos

<?php
$permisos = fileperms('/etc/passwd');

if (($permisos & 0xC000) == 0xC000) {
    // Socket
    $info = 's';
} elseif (($permisos & 0xA000) == 0xA000) {
    // Enlace Simbólico
    $info = 'l';
} elseif (($permisos & 0x8000) == 0x8000) {
    // Regular
    $info = '-';
} elseif (($permisos & 0x6000) == 0x6000) {
    // Especial Bloque
    $info = 'b';
} elseif (($permisos & 0x4000) == 0x4000) {
    // Directorio
    $info = 'd';
} elseif (($permisos & 0x2000) == 0x2000) {
    // Especial Carácter
    $info = 'c';
} elseif (($permisos & 0x1000) == 0x1000) {
    // Tubería FIFO
    $info = 'p';
} else {
    // Desconocido
    $info = 'u';
}

// Propietario
$info .= (($permisos & 0x0100) ? 'r' : '-');
$info .= (($permisos & 0x0080) ? 'w' : '-');
$info .= (($permisos & 0x0040) ?
            (($permisos & 0x0800) ? 's' : 'x' ) :
            (($permisos & 0x0800) ? 'S' : '-'));

// Grupo
$info .= (($permisos & 0x0020) ? 'r' : '-');
$info .= (($permisos & 0x0010) ? 'w' : '-');
$info .= (($permisos & 0x0008) ?
            (($permisos & 0x0400) ? 's' : 'x' ) :
            (($permisos & 0x0400) ? 'S' : '-'));

// Mundo
$info .= (($permisos & 0x0004) ? 'r' : '-');
$info .= (($permisos & 0x0002) ? 'w' : '-');
$info .= (($permisos & 0x0001) ?
            (($permisos & 0x0200) ? 't' : 'x' ) :
            (($permisos & 0x0200) ? 'T' : '-'));

echo $info;
?>

El resultado del ejemplo sería:

-rw-r--r--

Errores/Excepciones

En caso de fallo, se emite un E_WARNING.

Notas

Nota: Los resultados de esta función son guardados en caché. Para más información ver clearstatcache().

Sugerencia

Desde PHP 5.0.0, esta función también puede usarse con algunos URL wrappers. Consultar Protocolos y Envolturas soportados para deter4minar qué envolturas soportan la familia de funcionalidad de stat().

Ver también

  • chmod() - Cambia el modo de archivo
  • is_readable() - Indica si un fichero existe y es legible
  • stat() - Da información acerca de un fichero

fileowner
filesize
Funciones del Sistema de Archivos


Obtiene el tamaño de un fichero

fileperms
filetype
Funciones del Sistema de Archivos
PHP Manual

filesize

(PHP 4, PHP 5)

filesize — Obtiene el tamaño de un fichero

Descripción

int filesize ( string $filename )

Obtiene el tamaño del fichero dado.

Parámetros

filename

La ruta del fichero.

Valores devueltos

Devuelve el tamaño del fichero en bytes, o FALSE (y genera un error de nivel E_WARNING) en caso de que se produzca un error.

Nota: Debido a que el tipo integer de PHP es con signo y muchas plataformas usan enteros de 32 bits, algunas funciones de sistema de ficheros pueden devolver resultados inesperados para ficheros que son mayores de 2 GB.

Ejemplos

Ejemplo #1 Ejemplo de filesize()

<?php

// Muestra, p.ej., fichero.txt: 1024 bytes

$nombre_fichero = 'fichero.txt';
echo $nombre_fichero . ': ' . filesize($nombre_fichero) . ' bytes';

?>

Errores/Excepciones

En caso de fallo, se emite un E_WARNING.

Notas

Nota: Los resultados de esta función son guardados en caché. Para más información ver clearstatcache().

Sugerencia

Desde PHP 5.0.0, esta función también puede usarse con algunos URL wrappers. Consultar Protocolos y Envolturas soportados para deter4minar qué envolturas soportan la familia de funcionalidad de stat().

Ver también

  • file_exists() - Comprueba si existe un fichero o directorio

fileperms
filetype
Funciones del Sistema de Archivos


Obtiene el tipo de fichero

filesize
flock
Funciones del Sistema de Archivos
PHP Manual

filetype

(PHP 4, PHP 5)

filetype — Obtiene el tipo de fichero

Descripción

string filetype ( string $filename )

Devuelve el tipo del fichero dado.

Parámetros

filename

La ruta del fichero.

Valores devueltos

Devuelve el tipo del fichero. Los valores posibles son fifo, char, dir, block, link, file, socket y unknown.

Devuelve FALSE si se produjo un error. filetype() también producirá un mensaje E_NOTICE si la llamada a las estadísticas falla o si el tipo de fichero es desconocido.

Ejemplos

Ejemplo #1 Ejemplo de filetype()

<?php

echo filetype('/etc/passwd');  // file
echo filetype('/etc/');        // dir

?>

Errores/Excepciones

En caso de fallo, se emite un E_WARNING.

Notas

Nota: Los resultados de esta función son guardados en caché. Para más información ver clearstatcache().

Sugerencia

Desde PHP 5.0.0, esta función también puede usarse con algunos URL wrappers. Consultar Protocolos y Envolturas soportados para deter4minar qué envolturas soportan la familia de funcionalidad de stat().

Ver también

  • is_dir() - Indica si el nombre de archivo es un directorio
  • is_file() - Indica si el nombre de fichero es un fichero normal
  • is_link() - Indica si el nombre de archivo es un enlace simbólico
  • file_exists() - Comprueba si existe un fichero o directorio
  • mime_content_type() - Detecta el MIME Content-type para un fichero (función obsoleta)
  • pathinfo() - Devuelve información acerca de la ruta de un fichero
  • stat() - Da información acerca de un fichero

filesize
flock
Funciones del Sistema de Archivos


Bloqueo de archivos asesorado portable

filetype
fnmatch
Funciones del Sistema de Archivos
PHP Manual

flock

(PHP 4, PHP 5)

flock — Bloqueo de archivos asesorado portable

Descripción

bool flock ( resource $handle , int $operation [, int &$wouldblock ] )

flock() permite llevar a cabo un simple modelo de lectura/escritura que puede ser usado en cada plataforma virtual (incluidas la mayoría de las derivadas de Unix e incluso Windows).

En versiones de PHP anteriores a 5.3.2, el bloqueo es liberado también por fclose() (la cual es también llamada automáticamente cuando finaliza el script).

PHP soporta una manera portable de bloquear archivos completos de una forma asesorada (lo cual significa que todos los programas de acceso tiene que usar la misma forma de bloqueo o no funcionará). Por defecto, esta función operará hasta que el bloqueo solicitado sea adquirido; esto se puede controlar (en plataformas diferentes de Windows) con la opción LOCK_NB documentada abajo.

Parámetros

handle

Resource que apunta a un fichero del sitema que normalmente es creado usando fopen().

operation

operation es una opción de las siguientes:

  • LOCK_SH para solicitar un bloqueo compartido (lectura).
  • LOCK_EX para solicitar un bloqueo exclusivo (escritura).
  • LOCK_UN para solicitar un desbloqueo (compartido o exclusivo).

También es posible añadir LOCK_NB como una máscara de bit a una de las operaciones de arriba si no se desea que flock() bloquee mientras opera. (no soportado en Windows)

wouldblock

El tercer argumento opcional es establecido a 1 si el aviso produciría un bloqueo (condición errno EWOULDBLOCK). (no soportado en Windows)

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.3.2 | Se eliminó el desbloqueo automático al cerrarse el gestor de recurso. El desbloqueo ahora siempre tiene que ser hecho manualmente.
4.0.1 | Se añadieron las constantes LOCK_XXX. Antes de esta versión se debe usar 1 para LOCK_SH, 2 para LOCK_EX, 3 para LOCK_UN y 4 para LOCK_NB

Ejemplos

Ejemplo #1 Ejemplo de flock()

<?php

$fp = fopen("/tmp/lock.txt", "r+");

if (flock($fp, LOCK_EX)) {  // adquirir un bloqueo exclusivo
    ftruncate($fp, 0);      // truncar el archivo
    fwrite($fp, "Escribir algo aquí\n");
    fflush($fp);            // volcar la salida antes de liberar el bloqueo
    flock($fp, LOCK_UN);    // libera el bloqueo
} else {
    echo "¡No se pudo obtener el bloqueo!";
}

fclose($fp);

?>

Ejemplo #2 flock() usando la opción LOCK_NB

<?php
$fp = fopen('/tmp/lock.txt', 'r+');

/* Activar la opción LOCK_NB sobre una operación LOCK_EX */
if(!flock($fp, LOCK_EX | LOCK_NB)) {
    echo 'No se puede obtener el bloqueo';
    exit(-1);
}

/* ... */

fclose($fp);
?>

Notas

Nota:

flock() usa el bloqueo de forma obligada en vez del bloqueo asesorado en Windows. Lo obligación del bloqueo también está soportado en sistemas operativos basados en Linux y System V mediante el mecanismo usual soportado por la llamada al sistema fcntl(): es decir, si el archivo en cuestión tiene el bit de permiso setgid establecido y el bit de ejecución de grupo despejado. En Linux, el sistema de archivos también necesita ser montado con la opción mand para que esto funcione.

Nota:

Ya que flock() requiere un puntero a un archivo, puede tener que usar un archivo de bloqueo especial para proteger el acceso al archivo que se quiere truncar, abriéndolo en modo escritura (con un argumento "w" o "w+" de fopen()).

Nota:

Sólo se puede usar en punteros de archivos devueltos por fopen() para archivos locales, o punteros de archivos apuntando a flujos de espacios de usuario que implementen el método streamWrapper::stream_lock().

Advertencia

Asignar otro valor al argumento handle en el código subsiguiente liberará el bloqueo.

Advertencia

En algunos sistemas operativos flock() está implementado a nivel de proceso. Cuando se usa una API de servidor multi-hilo como ISAPI, ¡no se podrá confiar en flock() para proteger archivos contra otros scripts de PHP que se ejecuten en hilos paralelos en la misma instancia del servidor!

flock() no está soportado en sistemas de archivos anticuados como FAT y sus derivados y por lo tanto siempre devuelve FALSE bajo estos entornos (esto es especialmente válido para usuarios de Windows 98).

filetype
fnmatch
Funciones del Sistema de Archivos


Compara un nombre de fichero con un patrón

flock
fopen
Funciones del Sistema de Archivos
PHP Manual

fnmatch

(PHP 4 >= 4.3.0, PHP 5)

fnmatch — Compara un nombre de fichero con un patrón

Descripción

bool fnmatch ( string $pattern , string $string [, int $flags = 0 ] )

fnmatch() comprueba si el string pasado coincide con el comodín tipo shell pattern.

Parámetros

pattern

El patrón comodín tipo shell.

string

La cadena comprobada. Esta función es especialmente útil con nombres de fichero, pero también se puede usar con cadenas normales.

El usuario medio puede estar familiarizado con patrones tipo shell, o por lo menos con sus formas más sencillas de los comodines '?' y '*' por lo que usar fnmatch() en vez de preg_match() para el proceso de entrada de expresiones de búsqueda puede ser una forma más convenienete para ususarios no programadores.

flags

El valor de flags puede ser una combinación de las siguientes banderas, unidas por el operador binario OR (|).

Un lista de las posibles banderas para fnmatch()
Flag | Descripción
FNM_NOESCAPE | Deshabilita el escape de la barra invertida.
FNM_PATHNAME | Una barra en la cadena sólo coincide con otra en el patrón dado.
FNM_PERIOD | Un punto en la cadena debe coincidir exactamente con otro en el patrón dado.
FNM_CASEFOLD | Comparación sensible a mayúsculas-minúsculas. Parte de la extensión GNU.

Valores devueltos

Devuelve TRUE si hay coincidencia, FALSE si no.

Historial de cambios

Versión | Descripción
5.3.0 | Esta función ahora está disponible en plataformas Windows.

Ejemplos

Ejemplo #1 Comprobar un adjetivo con un patrón comodín tipo shell

<?php
if (fnmatch("*o[bs]curo", $cadena)) {
  echo "alguna forma de oscuro ...";
}
?>

Notas

Advertencia

Por ahora esta función no está disponible en sistemas que no admiten POSIX excepto Windows.

Ver también

  • glob() - Busca coincidencias de nombres de ruta con un patrón
  • preg_match() - Realiza una comparación con una expresión regular
  • sscanf() - Interpreta un string de entrada de acuerdo con un formato
  • printf() - Imprimir una cadena con formato
  • sprintf() - Devuelve un string formateado

flock
fopen
Funciones del Sistema de Archivos


Abre un fichero o una URL

fnmatch
fpassthru
Funciones del Sistema de Archivos
PHP Manual

fopen

(PHP 4, PHP 5)

fopen — Abre un fichero o una URL

Descripción

resource fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] )

fopen() asocia un recurso con nombre, especificado por filename, a un flujo.

Parámetros

filename

Si filename está en la forma "esquema://...", se asume que será un URL y PHP buscará un gestor de protocolos (también conocido como envoltura) para ese protocolo. Si no está registrada ninguna envoltura para ese protocolo, PHP emitirá un aviso para ayudar a rastrear problemas potenciales en el script y continuará como si filename especificara un fichero normal.

Si PHP ha decidido que filename especifica un fichero local, intentará abrir un flujo para ese fichero. El fichero debe ser accesible para PHP, por lo que es necesario asegurarse de que los permisos de acceso del fichero permiten este acceso. Si está habilitado el safe mode, o open_basedir se pueden aplicar más restricciones.

Si PHP ha decidido que filename especifica un protocolo registrado, y ese protocolo está registrado como un URL de red, PHP se asegurará de que allow_url_fopen está habilitado. Si es desactivado, PHP emitirá un aviso y la llamada a fopen fallará.

Nota:

La lista de protocolos soportados se puede encontrar en Protocolos y Envolturas soportados. Algunos protocolos (también descritos como envolturas) soportan contexto y/u opciones de php.ini. Consulte la página específica del protocolo en uso para una lista de opciones que se pueden establecer. (p.ej. el valor user_agent en php.ini usado por la envoltura http).

En la plataforma Windows, asegúrese de escapar cualquier barra invertida usada en la ruta de fichero, o use barras hacia delante.

<?php
$gestor = fopen("c:\\folder\\resource.txt", "r");
?>

mode

El parámetro mode especifica el tipo de acceso que se necesita para el flujo. Puede ser cualquiera de los siguientes:

Una lista de los modos posibles de fopen() usando mode
mode | Descripción
'r' | Apertura para sólo lectura; coloca el puntero al fichero al principio del fichero.
'r+' | Apertura para lectura y escritura; coloca el puntero al fichero al principio del fichero.
'w' | Apertura para sólo escritura; coloca el puntero al fichero al principio del fichero y trunca el fichero a longitud cero. Si el fichero no existe se intenta crear.
'w+' | Apertura para lectura y escritura; coloca el puntero al fichero al principio del fichero y trunca el fichero a longitud cero. Si el fichero no existe se intenta crear.
'a' | Apertura para sólo escritura; coloca el puntero al fichero al final del fichero. Si el fichero no existe se intenta crear.
'a+' | Apertura para lectura y escritura; coloca el puntero al fichero al final del fichero. Si el fichero no existe se intenta crear.
'x' | Creación y apertura para sólo escritura; coloca el puntero al fichero al principio del fichero. Si el fichero ya existe, la llamada a fopen() fallará devolviendo FALSE y generando un error de nivel E_WARNING. Si el fichero no exite se intenta crear. Esto es equivalente a especificar las banderas O_EXCL|O_CREAT para la llamada al sistema de open(2) subyacente.
'x+' | Creación y apertura para lectura y escritura; de otro modo tiene el mismo comportamiento que 'x'.
'c' | Abrir el fichero para sólo escritura. Si el fichero no existe se crea. Si existe no es truncado (a diferencia de 'w'), ni la llamada a esta función falla (como en el caso con 'x'). El puntero al fichero se posiciona en el principio del fichero. Esto puede ser útil si se desea obtener un bloqueo asistido (véase flock()) antes de intentar modificar el fichero, ya que al usar 'w' se podría truncar el fichero antes de haber obtenido el bloqueo (si se desea truncar el fichero, se puede usar ftruncate() después de solicitar el bloqueo).
'c+' | Abrir el fichero para lectura y escritura; de otro modo tiene el mismo comportamiento que 'c'.

Nota:

Familias de sistemas operativos diferentes tienen diferentes convenciones para el final de línea. Cuando escribe un fichero de texto y quiere insertar un salto de línea, necesita usar el carácter o caracteres correctos de final de línea para su sistema operativo. Los sistemas basados en Unix usan \n como el carácter de final de línea, los sistemas basados en Windows usan \r\n como caracteres de final de línea y los sistemas basados en Macintosh usan \r como carácter de final de línea.

Si usa los caracteres de final de línea erróneos cuando escribe sus ficheros, se podrá encontrar con que otras aplicaciones que abran esos ficheros "parecerán raras".

Windows ofrece una bandera de traducción en modo texto ('t') que traducirá de manera transparente \n a \r\n cuando se trabaja con el fichero. En contraste, puede usar 'b' para forzar el modo binario, lo cual no traducirá su información. Para usar estas banderas, especifique 'b' o 't' como el último carácter del parámetro mode.

El modo de traducción predeterminado depende de la SAPI y de la versión de PHP que esté usando, por lo que se le anima a especificar siempre la bandera apropiada por razones de portabilidad. Debería usar el modo 't' si está trabajando con ficheros de texto plano y usa \n para delimitar los finales de línea es su script, pero confíe que sus ficheros serán legibles por aplicaciones tales como notepad. Debería usar 'b' en los demás casos.

Si no especifica la bandera 'b' cuando está trabajando con ficheros binarios, puede experimentar problemas extraños con su información, incluidos ficheros imagen rotos o problemas extraños con los caracteres \r\n.

Nota:

Por portabilidad, se recomienda encarecidamente que siempre use la bandera 'b' cuando se abran ficheros con fopen().

Nota:

De nuevo, por portabilidad, también se recomienda encarecidamente que reescriba el código que usa o depende del modo 't' por lo que use los finales de línea correctos y el modo 'b' en su lugar.

use_include_path

El tercer parámetro opcional use_include_path puede ser establecido a '1' o TRUE si se desea buscar un fichero en include_path también.

context

Nota: Soporte para context fue añadido en PHP 5.0.0. Para una descripción de contexts, refiérase a Flujos.

Valores devueltos

Devuelve un recurso de puntero a fichero si tiene éxito, o FALSE si se produjo un error.

Errores/Excepciones

Si la apertura falla, se generea un error de nivel E_WARNING. Se puede usar @ para suprimir esta advertencia.

Historial de cambios

Versión | Descripción
5.2.6 | Se añadieron las opciones 'c' y 'c+'
4.3.2 | A partir de PHP 4.3.2, el modo por defecto se establece a binario para todas las plataformas que distinquen entre modo bianrio y modo texto. Si está teniendo problemas con sus scripts después de una acutalización, intente usar la bandera 't' como solución alternativa hasta que haya hecho su script más portable, como se mencionó antes
4.3.2 | Se añadieron las opciones 'x' y 'x+'

Ejemplos

Ejemplo #1 Ejemplos de fopen()

<?php
$gestor = fopen("/home/rasmus/fichero.txt", "r");
$gestor = fopen("/home/rasmus/fichero.gif", "wb");
$gestor = fopen("http://www.example.com/", "r");
$gestor = fopen("ftp://user:password@example.com/fichero.txt", "w");
?>

Notas

Advertencia

Cuando se usa SSL, Microsoft IIS violará el protocolo, cerrando la conexión sin mandar un indicador close_notify. PHP avisará de esto con este mensaje "SSL: Fatal Protocol Error", cuando llegue al final de los datos. Una solución a este problema es bajar el nivel de aviso de errores del sistema para que no incluya advertencias. PHP 4.3.7 y versiones posteriores detectan servidores IIS con este problema cuando se hace streaming usando https:// y suprime la advertencia. Si usáis la función fsockopen() para crear un socket ssl://, tendréis que suprimir la advertencia explicitamente.

Nota: Cuando safe mode está habilitado, PHP comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado.

Nota:

Si está experimentando problemas al leer y escribir ficheros y está usando la versión de módulo de servidor de PHP, asegúrese de que los ficheros y directorios que está usando sean accesibles por el proceso del servidor.

Nota:

Esta función también podría tener éxito cuando filename es un directorio. Si no se está seguro de que filename sea un fichero o un directorio, podría ser necesario utilzar la función is_dir() antes de llamar a fopen().

Ver también

  • Protocolos y Envolturas soportados
  • fclose() - Cierra un puntero a un archivo abierto
  • fgets() - Obtiene una línea desde el puntero a un fichero
  • fread() - Lectura de un fichero en modo binario seguro
  • fwrite() - Escritura de un archivo en modo binario seguro
  • fsockopen() - Abre una conexión vía sockets a Internet o a un dominio Unix
  • file() - Transfiere un fichero completo a un array
  • file_exists() - Comprueba si existe un fichero o directorio
  • is_readable() - Indica si un fichero existe y es legible
  • stream_set_timeout() - Establecer un perido de tiempo de espera en un flujo
  • popen() - Abre un proceso de un puntero a un archivo
  • stream_context_create() - Crear un contexto de flujo
  • umask() - Cambia la máscara de usuario actual
  • SplFileObject

fnmatch
fpassthru
Funciones del Sistema de Archivos


Escribe toda la información restante de un puntero a un archivo

fopen
fputcsv
Funciones del Sistema de Archivos
PHP Manual

fpassthru

(PHP 4, PHP 5)

fpassthru — Escribe toda la información restante de un puntero a un archivo

Descripción

int fpassthru ( resource $handle )

Lee hasta EOF en el puntero al archivo dado desde la posición actual y escribe los resultados en el buffer de salida.

Puede necesitar llamar a rewind() para reiniciar el puntero al archivo al principio del archivo si ya se ha escrito información en el archivo.

Si sólo quiere verter los contenidos de un archivo en el buffer de salida, sin modificarlo primero o buscar un índice en particular, puede usar la función readfile(), la cual le libera de llamar a fopen().

Parámetros

handle

El fichero al que se apunta debe ser válido, y debe apuntar a un fichero abierto por fopen() o fsockopen() (y que todavía no esté cerrado por fclose()).

Valores devueltos

Si se produjo un error, fpassthru() devuelve FALSE. De otro modo, fpassthru() devuelve el número de caracteres leídos desde handle y pasados hacia la salida.

Ejemplos

Ejemplo #1 Usar fpassthru() con archivos binarios

<?php

// abre el archivo en modo binario
$nombre = './img/ok.png';
$fp = fopen($nombre, 'rb');

// envía las cabeceras correctas
header("Content-Type: image/png");
header("Content-Length: " . filesize($nombre));

// vuelca la imagen y detiene el script
fpassthru($fp);
exit;

?>

Notas

Nota:

Cuando se usa fpassthru() sobre un archivo binario en sistemas Windows, debería asegurarse de abrir el archivo en modo binario añadiendo b al modo usado en la llamada a fopen().

Se le anima a usar la bandera b cuando trata con archivos binarios, incluso si su sistema no lo requiere, por lo que sus scripts serán más portables.

Ver también

  • readfile() - Realizar la salida de un fichero
  • fopen() - Abre un fichero o una URL
  • popen() - Abre un proceso de un puntero a un archivo
  • fsockopen() - Abre una conexión vía sockets a Internet o a un dominio Unix

fopen
fputcsv
Funciones del Sistema de Archivos


Da formato a una línea como CSV y la escribe en un puntero a un archivo

fpassthru
fputs
Funciones del Sistema de Archivos
PHP Manual

fputcsv

(PHP 5 >= 5.1.0)

fputcsv — Da formato a una línea como CSV y la escribe en un puntero a un archivo

Descripción

int fputcsv ( resource $handle , array $fields [, string $delimiter = ',' [, string $enclosure = '"' ]] )

fputcsv() da formato a una línea (pasasda como una matriz fields) como CSV y la escribe (terminada con una nueva línea) en el handle del archivo especificado.

Parámetros

handle

El fichero al que se apunta debe ser válido, y debe apuntar a un fichero abierto por fopen() o fsockopen() (y que todavía no esté cerrado por fclose()).

fields

Una matriz de valores.

delimiter

El parámetro opcional delimiter establece el delimitador de campo (un carácter sólamente).

enclosure

El parámetro opcional enclosure establece el cierre de campo (un carácter sólmente).

Valores devueltos

Devuelve la longitud de la cadena escrita o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de fputcsv()

<?php

$lista = array (
    array('aaa', 'bbb', 'ccc', 'dddd'),
    array('123', '456', '789'),
    array('"aaa"', '"bbb"')
);

$fp = fopen('archivo.csv', 'w');

foreach ($lista as $campos) {
    fputcsv($fp, $campos);
}

fclose($fp);
?>

El ejemplo de arriba escribirá lo siguiente en archivo.csv:

aaa,bbb,ccc,dddd
123,456,789
"""aaa""","""bbb"""

Notas

Nota: Si sufre problemas con PHP no reconociendo los finales de línea cuando lee o crea ficheros en Macintosh, puede probar de activar la opción de configuración en tiempo de ejecución auto_detect_line_endings para intentar resolver el problema.

Ver también

  • fgetcsv() - Obtiene una línea del puntero a un archivo y la examina para tratar campos CSV

fpassthru
fputs
Funciones del Sistema de Archivos


Alias de fwrite

fputcsv
fread
Funciones del Sistema de Archivos
PHP Manual

fputs

(PHP 4, PHP 5)

fputs — Alias de fwrite()

Descripción

Esta función es un alias de: fwrite().

fputcsv
fread
Funciones del Sistema de Archivos


Lectura de un fichero en modo binario seguro

fputs
fscanf
Funciones del Sistema de Archivos
PHP Manual

fread

(PHP 4, PHP 5)

fread — Lectura de un fichero en modo binario seguro

Descripción

string fread ( resource $handle , int $length )

fread() lee hasta length bytes desde el puntero al fichero referenciado por handle. La lectura termina tan pronto como se encuentre una de las siguientes condiciones:

  • length bytes han sido leídos
  • EOF (fin de fichero) es alcanzado
  • un paquete se encuentra disponible o el tiempo límite del socket se agota (para flujos de red)
  • si el flujo es leído en buffer y no representa un fichero plano, se realiza al menos una lectura de hasta un número de bytes igual al tamaño del trozo (normalmente 8192); dependiendo del la información previamente almacenada en buffer, el tamaño de la información devuelta puede ser mayor que el tamaño del trozo.

Parámetros

handle

Resource que apunta a un fichero del sitema que normalmente es creado usando fopen().

length

Lectura de hasta length número de bytes.

Valores devueltos

Devuelve la cadena leída o FALSE en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo sencillo de fread()

<?php
// poner el contenido de un fichero en una cadena
$nombre_fichero = "/usr/local/algo.txt";
$gestor = fopen($nombre_fichero, "r");
$contenido = fread($gestor, filesize($nombre_fichero));
fclose($gestor);
?>

Ejemplo #2 Ejemplo de lectura binaria de fread()

Advertencia

En sistemas en los que se diferencia entre archivos binarios y de texto (esto es, Windows) el fichero debe ser abierto con 'b' incluida en el parámetro modo de fopen().

<?php
$filename = "c:\\files\\imagen.gif";
$gestor = fopen($filename, "rb");
$contenido = fread($gestor, filesize($filename));
fclose($gestor);
?>

Ejemplo #3 Ejemplos de lectura remota con fread()

Advertencia

Cuando se lee desde algo que no es un fichero local normal, como los flujos devueltos cuando se leen ficheros remotos o desde popen() y fsockopen(), la lectura se detendrá después de que esté disponible un paquete. Esto significa que debería reuinir la información en trozos como se muestra en los ejemplos de abajo.

<?php
// Para PHP 5 y superior
$gestor = fopen("http://www.example.com/", "rb");
$contenido = stream_get_contents($gestor);
fclose($gestor);
?>
<?php
$gestor = fopen("http://www.example.com/", "rb");
$contenido = '';
while (!feof($gestor)) {
  $contenido .= fread($gestor, 8192);
}
fclose($gestor);
?>

Notas

Nota:

Si sólo quiere poner el contenido de un fichero en una cadena, use file_get_contents() ya que tiene mucho mejor rendimiento que el código de arriba.

Nota:

Observe que fread() lee desde la posción actual del puntero al fichero. Use ftell() para encontrar la posición actual del puntero y rewind() para rebobinar la posición del puntero.

Ver también

  • fwrite() - Escritura de un archivo en modo binario seguro
  • fopen() - Abre un fichero o una URL
  • fsockopen() - Abre una conexión vía sockets a Internet o a un dominio Unix
  • popen() - Abre un proceso de un puntero a un archivo
  • fgets() - Obtiene una línea desde el puntero a un fichero
  • fgetss() - Obtiene un línea desde un puntero a un archivo y elimina las etiquetas HTML
  • fscanf() - Analiza la entrada desde un archivo de acuerdo a un formato
  • file() - Transfiere un fichero completo a un array
  • fpassthru() - Escribe toda la información restante de un puntero a un archivo
  • ftell() - Devuelve la posición de lectura/escritura actual del puntero a un fichero
  • rewind() - Rebobina la posción de un puntero a un archivo

fputs
fscanf
Funciones del Sistema de Archivos


Analiza la entrada desde un archivo de acuerdo a un formato

fread
fseek
Funciones del Sistema de Archivos
PHP Manual

fscanf

(PHP 4 >= 4.0.1, PHP 5)

fscanf — Analiza la entrada desde un archivo de acuerdo a un formato

Descripción

mixed fscanf ( resource $handle , string $format [, mixed &$... ] )

La función fscanf() es similar a sscanf(), excepto que toma su entrada desde un archivo asociado con handle e interpreta la entrada de acuerdo al parámetro format especificado, que es descrito en la documentación de sprintf().

Cualquier espacio en blanco en la cadena de formato coincide con cualquier espacio en blanco en el flujo de entrada. Esto significa que incluso una tabulación \t en la cadena de formato puede coincidir con un simple caráter espacio en el flujo de entrada.

Cada llamada a fscanf() lee una línea del archivo.

Parámetros

handle

Resource que apunta a un fichero del sitema que normalmente es creado usando fopen().

format

El formato especificado como se describe en la documentación de sprintf().

...

Los valores opcionales asignados.

Valores devueltos

Si sólo se pasaron dos parámetros a esta función, los valores analizados serán devueltos como una matriz. De otro modo, si se pasaron los parámetros opcionales, la función devolverá el número de valores asignados. Los parámetros opcionales pueden ser pasados por referencia.

Historial de cambios

Versión | Descripción
4.3.0 | Antes de esta verisión, el número máximo de caracteres leídos desde el archivo era 512 (o hasta el primer \n, lo que sucediera primero). Pero ahora, se pueden leer y analizar líneas de longitud arbitraria.

Ejemplos

Ejemplo #1 Ejemplo de fscanf()

<?php
$gestor = fopen("usuarios.txt", "r");
while ($userinfo = fscanf($gestor, "%s\t%s\t%s\n")) {
    list ($nombre, $profesión, $código_país) = $userinfo;
    //... hacer algo con los valores
}
fclose($gestor);
?>

Ejemplo #2 Contenido de usuarios.txt

javier  argonaut        pe
hiroshi sculptor        jp
robert  slacker us
luigi   florist it

Ver también

  • fread() - Lectura de un fichero en modo binario seguro
  • fgets() - Obtiene una línea desde el puntero a un fichero
  • fgetss() - Obtiene un línea desde un puntero a un archivo y elimina las etiquetas HTML
  • sscanf() - Interpreta un string de entrada de acuerdo con un formato
  • printf() - Imprimir una cadena con formato
  • sprintf() - Devuelve un string formateado

fread
fseek
Funciones del Sistema de Archivos


Busca sobre un puntero a un fichero

fscanf
fstat
Funciones del Sistema de Archivos
PHP Manual

fseek

(PHP 4, PHP 5)

fseek — Busca sobre un puntero a un fichero

Descripción

int fseek ( resource $handle , int $offset [, int $whence = SEEK_SET ] )

Establece el indicador de posición de fichero para el fichero referenciado por handle. La nueva posición, medida en bytes desde el inicio del fichero, se obtiene añadiendo offset a la posición especificada por whence.

En general, se permite la búsqueda pasada la marca de fin de fichero; si entonces se escribe información, las lecturas en cualquier región no escrita entre la marca de fin del fichero y la posición buscada producirán bytes con valor 0. Sin embargo, ciertos flujos no pueden soportar este comportamiento, especialmente cuando tienen un tamaño de almacenamiento fijo subyacente.

Parámetros

handle

Resource que apunta a un fichero del sitema que normalmente es creado usando fopen().

offset

El índice.

Para moverse a una posición anterior a la marca de fin del fichero, necesita pasar un valor negativo a offset y establecer whence a SEEK_END.

whence

Los valores de whence son:

  • SEEK_SET - Establece la posición igual a offset bytes.
  • SEEK_CUR - Establece la posición a la ubicación actual más offset.
  • SEEK_END - Establece la posición a la marca de final de fichero más offset.

Valores devueltos

Si tiene éxito, devuelve 0; de otro modo, devuelve -1.

Ejemplos

Ejemplo #1 Ejemplo de fseek()

<?php

$fp = fopen('fichero.txt', 'r');

// leer alguna información
$data = fgets($fp, 4096);

// volver al principio del fichero
// igual que rewind($fp);
fseek($fp, 0);

?>

Notas

Nota:

Si se ha abierto un fichero en modo de adición (a o a+), cualquier información que se escriba en el fichero será siempre añadida, sin importar la posición, y el resutado de llamar a fseek() será indefinido.

Nota:

No todos los flujos soportan búsqueda. Para esos que no soportan búsqueda, la búsqueda hacia adelante desde la posición actual se lleva a cabo leyendo y descartando información; otras formas de búsqueda fallarán.

Ver también

  • ftell() - Devuelve la posición de lectura/escritura actual del puntero a un fichero
  • rewind() - Rebobina la posción de un puntero a un archivo

fscanf
fstat
Funciones del Sistema de Archivos


Obtiene información acerca de un archivo usando un puntero al archivo abierto

fseek
ftell
Funciones del Sistema de Archivos
PHP Manual

fstat

(PHP 4, PHP 5)

fstat — Obtiene información acerca de un archivo usando un puntero al archivo abierto

Descripción

array fstat ( resource $handle )

Reúne las estadísticas de un archivo abierto por el puntero al archivo referenciado por handle. Esta función es similar a la función stat() excepto que opera sobre un puntero a un archivo en vez de sobre un nombre de archivo.

Parámetros

handle

Resource que apunta a un fichero del sitema que normalmente es creado usando fopen().

Valores devueltos

Devuelve un matriz con las estadísticas del archivo; el formato de la matriz está descrito en la página del manual de stat().

Ejemplos

Ejemplo #1 Ejemplo de fstat()

<?php

// abrir un archivo
$fp = fopen("/etc/passwd", "r");

// reunir estadísticas
$fstat = fstat($fp);

// cerrar el archivo
fclose($fp);

// imprimir sólo la parte asociativa
print_r(array_slice($fstat, 13));

?>

El resultado del ejemplo sería algo similar a:

Array
(
    [dev] => 771
    [ino] => 488704
    [mode] => 33188
    [nlink] => 1
    [uid] => 0
    [gid] => 0
    [rdev] => 0
    [size] => 1114
    [atime] => 1061067181
    [mtime] => 1056136526
    [ctime] => 1056136526
    [blksize] => 4096
    [blocks] => 8
)

Notas

Nota: Esta función no funcionará en ficheros remotos ya que el fichero debe ser accesible vía el sistema de ficheros del servidor para poder ser examinado.

fseek
ftell
Funciones del Sistema de Archivos


Devuelve la posición de lectura/escritura actual del puntero a un fichero

fstat
ftruncate
Funciones del Sistema de Archivos
PHP Manual

ftell

(PHP 4, PHP 5)

ftell — Devuelve la posición de lectura/escritura actual del puntero a un fichero

Descripción

int ftell ( resource $handle )

Devuelve la posición del puntero al fichero referido por handle.

Parámetros

handle

El puntero al fichero debe ser válido, y debe apuntar a un fichero abierto con éxito por fopen() o popen(). ftell() da resultados indefinidos para flujos de sólo agregado (abiertos con la bandera "a").

Valores devueltos

Devuelve la posición del puntero al fichero referido por handle como un entero; esto es, su índice dentro del flujo de fichero.

Si se produjo un error, devuelve FALSE.

Nota: Debido a que el tipo integer de PHP es con signo y muchas plataformas usan enteros de 32 bits, algunas funciones de sistema de ficheros pueden devolver resultados inesperados para ficheros que son mayores de 2 GB.

Ejemplos

Ejemplo #1 Ejemplo de ftell()

<?php

// abre un fichero y leer algunos datos
$fp = fopen("/etc/passwd", "r");
$información = fgets($fp, 12);

// ¿dónde estamos?
echo ftell($fp); // 11

fclose($fp);

?>

Ver también

  • fopen() - Abre un fichero o una URL
  • popen() - Abre un proceso de un puntero a un archivo
  • fseek() - Busca sobre un puntero a un fichero
  • rewind() - Rebobina la posción de un puntero a un archivo

fstat
ftruncate
Funciones del Sistema de Archivos


Trunca un archivo a una longitud dada

ftell
fwrite
Funciones del Sistema de Archivos
PHP Manual

ftruncate

(PHP 4, PHP 5)

ftruncate — Trunca un archivo a una longitud dada

Descripción

bool ftruncate ( resource $handle , int $size )

Toma el puntero al archivo, handle, y trunca el archivo a la longitud size.

Parámetros

handle

El puntero al archivo.

Nota:

handle puede ser abierto para escritura.

size

El tamaño a truncar.

Nota:

Si size es mayor que el del archivo, éste se extiende con bytes null.

Si size es menor que el del archivo, éste será truncado a ese tamaño.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
4.3.3 | Antes de esta versión ftruncate() devolvía un valor integer de 1 si tenía éxito, en vez del boolean TRUE.

Ejemplos

Ejemplo #1 Ejemplo de truncar un archivo

<?php
$nombre_archivo = 'lorem_ipsum.txt';

$gestor = fopen($nombre_archivo, 'r+');
ftruncate($gestor, rand(1, filesize($nombre_archivo)));
rewind($gestor);
echo fread($gestor, filesize($nombre_archivo));
fclose($gestor);
?>

Notas

Nota:

El puntero al archivo no es cambiado.

Ver también

  • fopen() - Abre un fichero o una URL
  • fseek() - Busca sobre un puntero a un fichero

ftell
fwrite
Funciones del Sistema de Archivos


Escritura de un archivo en modo binario seguro

ftruncate
glob
Funciones del Sistema de Archivos
PHP Manual

fwrite

(PHP 4, PHP 5)

fwrite — Escritura de un archivo en modo binario seguro

Descripción

int fwrite ( resource $handle , string $string [, int $length ] )

fwrite() escribe el contenido de string al flujo de archivo apuntado por handle.

Parámetros

handle

Resource que apunta a un fichero del sitema que normalmente es creado usando fopen().

string

La cadena que va a ser escrita.

length

Si se da el argumento length, la escritura se detendrá después de que length bytes hayan sido escritos o se alcance el final de string, lo que suceda primero.

Observe que si el argumento length se da, la opción de configuración magic_quotes_runtime será ignorada y no se eliminarán las barras de string.

Valores devueltos

fwrite() devuelve el número de bytes escritos, o FALSE si se produjo un error.

Notas

Nota:

Escribir en un flujo de red puede terminar antes de que se haya escrito la cadena completa. El valor devuelto por fwrite() se puede verificar:

<?php
function flujo_fwrite($fp, $cadena) {
    for ($escrito = 0; $escrito < strlen($cadena); $escrito += $fwrite) {
        $fwrite = fwrite($fp, substr($cadena, $escrito));
        if ($fwrite === false) {
            return $escrito;
        }
    }
    return $escrito;
}
?>

Nota:

En sistemas en los que se diferencia entre archivos binarios y de texto (esto es, Windows) el archivo debe ser abierto con 'b' incluida en el parámetro modo de fopen().

Nota:

Si handle fue abierto por fopen() en modo de adición, las escrituras de fwrite() son atómicas (a menos que el tamaño de string exceda el tamaño de bloque del sistema de archivos, en algunas plataformas, siempre que el archivo esté en un sistema de archivos local). Es decir, no hay necesidad de bloquear un recurso con flock() antes de llamar a fwrite(); toda la información será escrita sin interrupciones.

Nota:

Si se escribe dos veces sobre el puntero al archivo la información será añadida al final del contenido del archivo:

<?php
$fp = fopen('data.txt', 'w');
fwrite($fp, '1');
fwrite($fp, '23');
fclose($fp);

// ¡el contenido de 'data.txt' ahora es 123 y no 23!
?>

Ejemplos

Ejemplo #1 Un ejemplo sencillo de fwrite()

<?php
$nombre_archivo = 'prueba.txt';
$contenido = "Añade esto al archivo\n";

// Primero vamos a asegurarnos de que el archivo existe y es escribible.
if (is_writable($nombre_archivo)) {

    // En nuestro ejemplo estamos abriendo $nombre_archivo en modo de adición.
    // El puntero al archivo está al final del archivo
    // donde irá $contenido cuando usemos fwrite() sobre él.
    if (!$gestor = fopen($nombre_archivo, 'a')) {
         echo "No se puede abrir el archivo ($nombre_archivo)";
         exit;
    }

    // Escribir $contenido a nuestro archivo abierto.
    if (fwrite($gestor, $contenido) === FALSE) {
        echo "No se puede escribir en el archivo ($nombre_archivo)";
        exit;
    }

    echo "Éxito, se escribió ($contenido) en el archivo ($nombre_archivo)";

    fclose($gestor);

} else {
    echo "El archivo $nombre_archivo no es escribible";
}
?>

Ver también

  • fread() - Lectura de un fichero en modo binario seguro
  • fopen() - Abre un fichero o una URL
  • fsockopen() - Abre una conexión vía sockets a Internet o a un dominio Unix
  • popen() - Abre un proceso de un puntero a un archivo
  • file_get_contents() - Transmite un fichero entero a una cadena

ftruncate
glob
Funciones del Sistema de Archivos


Busca coincidencias de nombres de ruta con un patrón

fwrite
is_dir
Funciones del Sistema de Archivos
PHP Manual

glob

(PHP 4 >= 4.3.0, PHP 5)

glob — Busca coincidencias de nombres de ruta con un patrón

Descripción

array glob ( string $pattern [, int $flags = 0 ] )

La función glob() busca todos los nombres de ruta que coinciden con pattern según las reglas usadas por la función glob() de la biblioteca estándar de C, las cuales son similares a las reglas usadas por intérpretes de comandos comunes.

Parámetros

pattern

El patrón. No se realiza la expansión de tilde o la sustitución de parámetro.

flags

Banderas válidas:

  • GLOB_MARK - Añade un barra a cada directorio devuelto
  • GLOB_NOSORT - Devuelve los archivos mientras aparecen en el directorio (sin ordenar)
  • GLOB_NOCHECK - Devuelve el patrón de búsqueda si no se encontraron archivos coincidentes
  • GLOB_NOESCAPE - Las barras invertidas no escapan meta-caracteres
  • GLOB_BRACE - Expande {a,b,c} para coincidir con 'a', 'b', o 'c'
  • GLOB_ONLYDIR - Devuelve sólo entradas de directorio que coinciden con el patrón
  • GLOB_ERR - Se detiene si se produjeron errores de lectura (como directorios ilegibles), por defecto los errores son ignorados.

Valores devueltos

Devuelve una matriz que contiene los archivos/directorios coincidentes, una matriz vacía si no hubo archivos coincidentes o FALSE si se produjo un error.

Nota:

En algunos sistemas es imposible distinguir entre una coincidencia vacía y un error.

Historial de cambios

Versión | Descripción
5.1.0 | Se añadió GLOB_ERR
4.3.3 | GLOB_ONLYDIR ahora está disponible en Windows y otros sistemas que no usan la biblioteca C GNU

Ejemplos

Ejemplo #1 Manera conveniente de cómo glob() puede remplazar a opendir() y similares.

<?php
foreach (glob("*.txt") as $nombre_archivo) {
    echo "Tamaño de $nombre_archivo " . filesize($nombre_archivo) . "\n";
}
?>

El resultado del ejemplo sería algo similar a:

funclist.txt size 44686
funcsummary.txt size 267625
quickref.txt size 137820

Notas

Nota: Esta función no funcionará en ficheros remotos ya que el fichero debe ser accesible vía el sistema de ficheros del servidor para poder ser examinado.

Nota: Está función no está disponible en algunos sistemas (p.ej. antiguos sistemas operativos de Sun).

Nota: La bandera GLOB_BRACE no está disponible en algunos sistemas que no son GNU, como Solaris.

Ver también

  • opendir() - Abre un gestor de directorio
  • readdir() - Lee una entrada desde un gestor de directorio
  • closedir() - Cierra un gestor de directorio
  • fnmatch() - Compara un nombre de fichero con un patrón

fwrite
is_dir
Funciones del Sistema de Archivos


Indica si el nombre de archivo es un directorio

glob
is_executable
Funciones del Sistema de Archivos
PHP Manual

is_dir

(PHP 4, PHP 5)

is_dir — Indica si el nombre de archivo es un directorio

Descripción

bool is_dir ( string $filename )

Indica si el nombre de archivo dado es un directorio.

Parámetros

filename

Ruta al archivo. Si filename es un nombre de archivo relativo, será verificado relativo al directorio de trabajo actual. Si filename es un enlace simbólico o duro, el enlace será resuelto y comprobado. Si tiene activado el safe mode, o open_basedir se pueden aplicar más restricciones.

Valores devueltos

Devuelve TRUE si el nombre de archivo existe y es un directorio, FALSE si no.

Ejemplos

Ejemplo #1 Ejemplo de is_dir()

<?php
var_dump(is_dir('archivo.txt'));
var_dump(is_dir('directorio/abc'));

var_dump(is_dir('..')); //un directorio arriba
?>

El resultado del ejemplo sería:

bool(false)
bool(false)
bool(true)

Errores/Excepciones

En caso de fallo, se emite un E_WARNING.

Notas

Nota: Los resultados de esta función son guardados en caché. Para más información ver clearstatcache().

Sugerencia

Desde PHP 5.0.0, esta función también puede usarse con algunos URL wrappers. Consultar Protocolos y Envolturas soportados para deter4minar qué envolturas soportan la familia de funcionalidad de stat().

Ver también

  • chdir() - Cambia de directorio
  • dir() - Devuelve una instancia de la clase Directory
  • opendir() - Abre un gestor de directorio
  • is_file() - Indica si el nombre de fichero es un fichero normal
  • is_link() - Indica si el nombre de archivo es un enlace simbólico

glob
is_executable
Funciones del Sistema de Archivos


Indica si el nombre de archivo es ejecutable

is_dir
is_file
Funciones del Sistema de Archivos
PHP Manual

is_executable

(PHP 4, PHP 5)

is_executable — Indica si el nombre de archivo es ejecutable

Descripción

bool is_executable ( string $filename )

Indica si el nombre de archivo es ejecutable.

Parámetros

filename

Ruta del archivo.

Valores devueltos

Devuelve TRUE si el nombre de archivo existe y es ejecutable, o FALSE si se produjo un error.

Historial de cambios

Versión | Descripción
5.0.0 | is_executable() ahora está disponible en Windows

Ejemplos

Ejemplo #1 Ejemplo de is_executable()

<?php

$archivo = '/home/vincent/archivo.sh';

if (is_executable($archivo)) {
    echo $archivo.' es ejecutable';
} else {
    echo $archivo.' no es ejecutable';
}

?>

Errores/Excepciones

En caso de fallo, se emite un E_WARNING.

Notas

Nota: Los resultados de esta función son guardados en caché. Para más información ver clearstatcache().

Sugerencia

Desde PHP 5.0.0, esta función también puede usarse con algunos URL wrappers. Consultar Protocolos y Envolturas soportados para deter4minar qué envolturas soportan la familia de funcionalidad de stat().

Ver también

  • is_file() - Indica si el nombre de fichero es un fichero normal
  • is_link() - Indica si el nombre de archivo es un enlace simbólico

is_dir
is_file
Funciones del Sistema de Archivos


Indica si el nombre de fichero es un fichero normal

is_executable
is_link
Funciones del Sistema de Archivos
PHP Manual

is_file

(PHP 4, PHP 5)

is_file — Indica si el nombre de fichero es un fichero normal

Descripción

bool is_file ( string $filename )

Indica si el fichero dado es un fichero normal.

Parámetros

filename

Ruta del fichero.

Valores devueltos

Devuelve TRUE si el nombre de fichero existe y es un fichero normal, FALSE si no.

Nota: Debido a que el tipo integer de PHP es con signo y muchas plataformas usan enteros de 32 bits, algunas funciones de sistema de ficheros pueden devolver resultados inesperados para ficheros que son mayores de 2 GB.

Ejemplos

Ejemplo #1 Ejemplo de is_file()

<?php
var_dump(is_file('un_fichero.txt')) . "\n";
var_dump(is_file('/usr/bin/')) . "\n";
?>

El resultado del ejemplo sería:

bool(true)
bool(false)

Errores/Excepciones

En caso de fallo, se emite un E_WARNING.

Notas

Nota: Los resultados de esta función son guardados en caché. Para más información ver clearstatcache().

Sugerencia

Desde PHP 5.0.0, esta función también puede usarse con algunos URL wrappers. Consultar Protocolos y Envolturas soportados para deter4minar qué envolturas soportan la familia de funcionalidad de stat().

Ver también

  • is_dir() - Indica si el nombre de archivo es un directorio
  • is_link() - Indica si el nombre de archivo es un enlace simbólico

is_executable
is_link
Funciones del Sistema de Archivos


Indica si el nombre de archivo es un enlace simbólico

is_file
is_readable
Funciones del Sistema de Archivos
PHP Manual

is_link

(PHP 4, PHP 5)

is_link — Indica si el nombre de archivo es un enlace simbólico

Descripción

bool is_link ( string $filename )

Indica si el archivo dado es un enlace simbólico.

Parámetros

filename

Ruta del archivo.

Valores devueltos

Devuelve TRUE si el nombre de archivo existe y es un enlace simbólico, FALSE si no.

Ejemplos

Ejemplo #1 Crear y confirmar si un archivo es un enlace simbólico

<?php
$vínvulo = 'subidas';

if(is_link($vínvulo)) {
    echo(readlink($vínvulo));
} else {
    symlink('subidas.php', $vínvulo);
}
?>

Errores/Excepciones

En caso de fallo, se emite un E_WARNING.

Notas

Nota: Los resultados de esta función son guardados en caché. Para más información ver clearstatcache().

Sugerencia

Desde PHP 5.0.0, esta función también puede usarse con algunos URL wrappers. Consultar Protocolos y Envolturas soportados para deter4minar qué envolturas soportan la familia de funcionalidad de stat().

Ver también

  • is_dir() - Indica si el nombre de archivo es un directorio
  • is_file() - Indica si el nombre de fichero es un fichero normal
  • readlink() - Devuelve el objetivo de un enlace simbólico

is_file
is_readable
Funciones del Sistema de Archivos


Indica si un fichero existe y es legible

is_link
is_uploaded_file
Funciones del Sistema de Archivos
PHP Manual

is_readable

(PHP 4, PHP 5)

is_readable — Indica si un fichero existe y es legible

Descripción

bool is_readable ( string $filename )

Indica si un fichero existe y es legible.

Parámetros

filename

La ruta del fichero.

Valores devueltos

Devuelve TRUE si el fichero o directorio especificado por filename existe y es legible, FALSE si no.

Ejemplos

Ejemplo #1 Ejemplo de is_readable()

<?php
$nombre_fichero = 'prueba.txt';
if (is_readable($nombre_fichero)) {
    echo 'El fichero es legible';
} else {
    echo 'El fichero no es legible';
}
?>

Errores/Excepciones

En caso de fallo, se emite un E_WARNING.

Notas

Tenga en cuenta que PHP puede estar accediendo al fichero bajo el id de ususario por el que se está ejecutando el servidor web (a menudo 'nobody'). Las limitaciones del modo seguro no se toman en cuenta antes de PHP 5.1.5.

Nota: Los resultados de esta función son guardados en caché. Para más información ver clearstatcache().

Sugerencia

Desde PHP 5.0.0, esta función también puede usarse con algunos URL wrappers. Consultar Protocolos y Envolturas soportados para deter4minar qué envolturas soportan la familia de funcionalidad de stat().

Nota:

La comprobación se realiza usando el UID/GID real en vez del efectivo.

Esta función podría devolver TRUE si se le proporcina un directorio. Use is_dir() para distinguir entre ficheros y directorios.

Ver también

  • is_writable() - Indica si un archivo existe y es escribible
  • file_exists() - Comprueba si existe un fichero o directorio
  • fgets() - Obtiene una línea desde el puntero a un fichero

is_link
is_uploaded_file
Funciones del Sistema de Archivos


Indica si el archivo fue subido mediante HTTP POST

is_readable
is_writable
Funciones del Sistema de Archivos
PHP Manual

is_uploaded_file

(PHP 4 >= 4.0.3, PHP 5)

is_uploaded_file — Indica si el archivo fue subido mediante HTTP POST

Descripción

bool is_uploaded_file ( string $filename )

Devuelve TRUE si el archivo nombrado por filename fue subido mediante HTTP POST. Esto es útil para intentar asegurarse de que un usuario malicioso no ha intentado engañar al script haciéndole trabajar con archivos con los que no debiera de estar trabajando--por ejemplo, /etc/passwd.

Este tipo de comprobación es especialmente importante si hay alguna posibilidad de que nada hecho con los archivos subidos pueda revelar su contenido al usuario, o incluso a otros usuarios en el mismo sistema.

Para un funcionamiento apropiado, la función is_uploaded_file() necesita un argumento como $_FILES['archivo_usuario']['tmp_name'], - el nombre del archivo subido de la máquina del cliente $_FILES['archivo_usuario']['name'] no funciona.

Parámetros

filename

El nombre de archivo que se va a comprobar.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de is_uploaded_file()

<?php

if (is_uploaded_file($_FILES['archivo_usuario']['tmp_name'])) {
   echo "Archivo ". $_FILES['archivo_usuario']['name'] ." subido con éxtio.\n";
   echo "Monstrar contenido\n";
   readfile($_FILES['archivo_usuario']['tmp_name']);
} else {
   echo "Posible ataque del archivo subido: ";
   echo "nombre del archivo '". $_FILES['archivo_usuario']['tmp_name'] . "'.";
}

?>

Ver también

  • move_uploaded_file() - Mueve un archivo subido a una nueva ubicación
  • $_FILES
  • Véase Manejo de subidas de archivos para un sencillo ejemplo de uso.

is_readable
is_writable
Funciones del Sistema de Archivos


Indica si un archivo existe y es escribible

is_uploaded_file
is_writeable
Funciones del Sistema de Archivos
PHP Manual

is_writable

(PHP 4, PHP 5)

is_writable — Indica si un archivo existe y es escribible

Descripción

bool is_writable ( string $filename )

Devuelve TRUE si filename existe y es escribible. El argumento nombre_archivo puede ser el nombre de un directorio, permitiendo así comprobar si el directorio es escribible.

Tenga en cuenta que PHP puede estar accediendo al archivo bajo el id de ususario por el que se está ejecutando el servidor web (a menudo 'nobody'). Las limitaciones del modo seguro no se toman en cuenta.

Parámetros

filename

El nombre de archivo que va a ser comprobado.

Valores devueltos

Devuelve TRUE si el parámetro filename existe y es escribible.

Ejemplos

Ejemplo #1 Ejemplo de is_writable()

<?php
$nombre_archivo = 'prueba.txt';
if (is_writable($nombre_archivo)) {
    echo 'El archivo es escribible';
} else {
    echo 'El archivo no es escribible';
}
?>

Errores/Excepciones

En caso de fallo, se emite un E_WARNING.

Notas

Nota: Los resultados de esta función son guardados en caché. Para más información ver clearstatcache().

Sugerencia

Desde PHP 5.0.0, esta función también puede usarse con algunos URL wrappers. Consultar Protocolos y Envolturas soportados para deter4minar qué envolturas soportan la familia de funcionalidad de stat().

Ver también

  • is_readable() - Indica si un fichero existe y es legible
  • file_exists() - Comprueba si existe un fichero o directorio
  • fwrite() - Escritura de un archivo en modo binario seguro

is_uploaded_file
is_writeable
Funciones del Sistema de Archivos


Alias de is_writable

is_writable
lchgrp
Funciones del Sistema de Archivos
PHP Manual

is_writeable

(PHP 4, PHP 5)

is_writeable — Alias de is_writable()

Descripción

Esta función es un alias de: is_writable().

is_writable
lchgrp
Funciones del Sistema de Archivos


Cambia el grupo de un enlace simbólico

is_writeable
lchown
Funciones del Sistema de Archivos
PHP Manual

lchgrp

(PHP 5 >= 5.1.2)

lchgrp — Cambia el grupo de un enlace simbólico

Descripción

bool lchgrp ( string $filename , mixed $group )

Intenta cambiar el grupo del enlace simbólico filename a group.

Sólo el superusuario puede cambiar el grupo de un enlace simbólico; otros usuarios pueden cambiar el grupo de un enlace simbólico a cualquier grupo de cual ese usuario es miembro.

Parámetros

filename

Ruta del enlace simbólico.

group

El grupo especificado por un nombre o un número.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Cambiar el grupo de un enlace simbólico

<?php
$objetivo = 'salida.php';
$enlace = 'salida.html';
symlink($objetivo, $enlace);

lchgrp($enlace, 8);
?>

Notas

Nota: Esta función no funcionará en ficheros remotos ya que el fichero debe ser accesible vía el sistema de ficheros del servidor para poder ser examinado.

Nota: Cuando safe mode está habilitado, PHP comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado.

Nota: Esta función no está implementada en plataformas Windows.

Ver también

  • chgrp() - Cambia el grupo del archivo
  • lchown() - Cambia el propietario de un enlace simbólico
  • chown() - Cambia el propietario del archivo
  • chmod() - Cambia el modo de archivo

is_writeable
lchown
Funciones del Sistema de Archivos


Cambia el propietario de un enlace simbólico

lchgrp
link
Funciones del Sistema de Archivos
PHP Manual

lchown

(PHP 5 >= 5.1.2)

lchown — Cambia el propietario de un enlace simbólico

Descripción

bool lchown ( string $filename , mixed $user )

Intenta cambiar el propietario del enlace simbólico filename al usuario user.

Sólo el superusuario puede cambiar el propietario de un enlace simbólico.

Parámetros

filename

Ruta al archivo.

user

Nómbre o número de usuario.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Cambiar el propietario de un enlace simbólico

<?php
$objetivo = 'salida.php';
$enlace = 'salida.html';
symlink($objetivo, $enlace);

lchown($enlace, 8);
?>

Notas

Nota: Esta función no funcionará en ficheros remotos ya que el fichero debe ser accesible vía el sistema de ficheros del servidor para poder ser examinado.

Nota: Cuando safe mode está habilitado, PHP comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado.

Nota: Esta función no está implementada en plataformas Windows.

Ver también

  • chown() - Cambia el propietario del archivo
  • lchgrp() - Cambia el grupo de un enlace simbólico
  • chgrp() - Cambia el grupo del archivo
  • chmod() - Cambia el modo de archivo

lchgrp
link
Funciones del Sistema de Archivos


Crea un enlace duro

lchown
linkinfo
Funciones del Sistema de Archivos
PHP Manual

link

(PHP 4, PHP 5)

link — Crea un enlace duro

Descripción

bool link ( string $target , string $link )

link() crea un enlace duro.

Parámetros

target

El objetivo del enlace.

link

El nombre del enlace.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.3.0 | Esta función ahora está disponible en plataformas Windows (Vista, Server 2008 o superiores).

Ejemplos

Ejemplo #1 Crear un simple enlace duro

<?php
$objetivo = 'origen.ext';  // Este es el archivo que ya existe
$enlace = 'nuevo_fichero.ext'; // Este es el nombre de fichero que quiere enlazar

link($objetivo, $enlace);
?>

Notas

Nota: Esta función no funcionará en ficheros remotos ya que el fichero debe ser accesible vía el sistema de ficheros del servidor para poder ser examinado.

Nota: Sólo para Windows: Esta función requiere que PHP se ejecute en un modo elevado o con el UAC deshabilitado.

Ver también

  • symlink() - Crea un enlace simbólico
  • readlink() - Devuelve el objetivo de un enlace simbólico
  • linkinfo() - Obtiene información acerca de un enlace

lchown
linkinfo
Funciones del Sistema de Archivos


Obtiene información acerca de un enlace

link
lstat
Funciones del Sistema de Archivos
PHP Manual

linkinfo

(PHP 4, PHP 5)

linkinfo — Obtiene información acerca de un enlace

Descripción

int linkinfo ( string $path )

Obtiene información acerca de un enlace.

Esta función se usa para verificar si un enlace (apuntado por path) existe realmente (usando el mismo método que la macro S_ISLNK definida en stat.h).

Parámetros

path

Ruta del enlce.

Valores devueltos

linkinfo() devuelve el campo st_dev de la estructura de estadísticas de C en Unix devuelta por la llamada al sistema de lstat. Devuelve 0 o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.3.0 | Esta función ahora está disponible en plataformas Windows (Vista, Server 2008 o mayores).

Ejemplos

Ejemplo #1 Ejmeplo de linkinfo()

<?php

echo linkinfo('/vmlinuz'); // 835

?>

Ver también

  • symlink() - Crea un enlace simbólico
  • link() - Crea un enlace duro
  • readlink() - Devuelve el objetivo de un enlace simbólico

link
lstat
Funciones del Sistema de Archivos


Da información acerca de un archivo o enlace simbólico

linkinfo
mkdir
Funciones del Sistema de Archivos
PHP Manual

lstat

(PHP 4, PHP 5)

lstat — Da información acerca de un archivo o enlace simbólico

Descripción

array lstat ( string $filename )

Reúne las estadísticas del archivo o enlace simbólico nombrado por filename.

Parámetros

filename

Ruta de un archivo o enlace simbólico.

Valores devueltos

Vea la página del manual de stat() para información sobre la estructura de la matriz que devuelve lstat(). Esta función es idéntica a la función stat() excepto que si el parámetro filename es un enlace simbólico, se devuelve el estado del enlace simbólico, no el estado del archivo apuntado por el enlace simbólico.

Ejemplos

Ejemplo #1 Comparación de stat() y lstat()

<?php
symlink('subidas.php', 'subidas');

// Contrastar la información de subidas.php y subidas
array_diff(stat('subidas'), lstat('subidas'));
?>

El resultado del ejemplo sería algo similar a:

Información de difiere entre los dos archivos.

Array
(
    [ino] => 97236376
    [mode] => 33188
    [size] => 34
    [atime] => 1223580003
    [mtime] => 1223581848
    [ctime] => 1223581848
    [blocks] => 8
)

Errores/Excepciones

En caso de fallo, se emite un E_WARNING.

Notas

Nota: Los resultados de esta función son guardados en caché. Para más información ver clearstatcache().

Sugerencia

Desde PHP 5.0.0, esta función también puede usarse con algunos URL wrappers. Consultar Protocolos y Envolturas soportados para deter4minar qué envolturas soportan la familia de funcionalidad de stat().

Ver también

  • stat() - Da información acerca de un fichero

linkinfo
mkdir
Funciones del Sistema de Archivos


Crea un directorio

lstat
move_uploaded_file
Funciones del Sistema de Archivos
PHP Manual

mkdir

(PHP 4, PHP 5)

mkdir — Crea un directorio

Descripción

bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]] )

Intenta crear el directorio especificado por pathname.

Parámetros

pathname

La ruta del directorio.

mode

El modo predeterminado es 0777, lo que significa el acceso más amplio posible. Para más información sobre los modos, lea los detalles en la página de chmod().

Nota:

mode es ignorado en Windows.

Observe que probablemente se quiera especificar el modo como un número octal, lo que significa que debería de haber un cero inicial. El modo es modificado también por la actual máscara de usuario, la cual se puede cambiar usando umask().

recursive

Permite la creación de directorios anidados especificado en el parámetro pathname.

context

Nota: Soporte para context fue añadido en PHP 5.0.0. Para una descripción de contexts, refiérase a Flujos.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.0.0 | Se añadio el parámetro recursive
5.0.0 | A partir de PHP 5.0.0 mkdir() también se puede usar con algunas envolturas de URL. Consulte Protocolos y Envolturas soportados para una lista de las envolturas admitidas por mkdir()
4.2.0 | Ahora, el parámetro mode es opcional.

Ejemplos

Ejemplo #1 Ejmplo de mkdir()

<?php
mkdir("/ruta/a/mi/directorio", 0700);
?>

Ejemplo #2 mkdir() usando el parámetro recursive

<?php
// Estructura de la carpeta deseada
$estructura = './nivel1/nivel2/nivel3/';

// Para crear una estructura anidada se debe especificar el parámetro $recursive
// en mkdir().

if(!mkdir($estructura, 0, true))
{
    die('Fallo al crear las carpetas...');
}

// ...
?>

Errores/Excepciones

Emite un error de nivel E_WARNING si el directorio ya existe.

Emite un error de nivel E_WARNING si los permisos relevantes impiden crear el directorio.

Notas

Nota: Cuando safe mode está habilitado, PHP comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado.

Ver también

  • is_dir() - Indica si el nombre de archivo es un directorio
  • rmdir() - Elimina un directorio

lstat
move_uploaded_file
Funciones del Sistema de Archivos


Mueve un archivo subido a una nueva ubicación

mkdir
parse_ini_file
Funciones del Sistema de Archivos
PHP Manual

move_uploaded_file

(PHP 4 >= 4.0.3, PHP 5)

move_uploaded_file — Mueve un archivo subido a una nueva ubicación

Descripción

bool move_uploaded_file ( string $filename , string $destination )

Esta función intenta asegurarse de que el archivo designado por filename es un archivo subido válido (lo que significa que fue subido mediante el mecanismo de subida HTTP POST de PHP). Si el archivo es válido, será movido al nombre de archivo dado por destination.

El orden de comprobación es especialmente importante si hay cualquier posibilidad de que cualquier cosa hecha con los archivos subidos pueda revelar su contenido al usuario, o incluso a otros usuarios en el mismo sistema.

Parámetros

filename

El nombre de archivo del archivo subido.

destination

El destino del archivo movido.

Valores devueltos

Devuelve TRUE en caso de éxito.

Si filename no es un archivo válido subido, no sucederá ninguna acción, y move_uploaded_file() devolverá FALSE.

Si filename es un archivo subido válido, pero no puede ser movido por algunas razones, no sucederá ninguna acción, y move_uploaded_file() devolverá FALSE. Adicionalmente, se emitirá un aviso.

Ejemplos

Ejemplo #1 Subida de múltiples archivos

<?php
$uploads_dir = '/uploads';
foreach ($_FILES["pictures"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
        $name = $_FILES["pictures"]["name"][$key];
        move_uploaded_file($tmp_name, "$uploads_dir/$name");
    }
}
?>

Notas

Nota:

move_uploaded_file() es compatible tanto con el safe mode como con open_basedir. Sin embargo, las restricciones sólo están impuestas para la ruta dest para permitir mover los archivos subidos en los cuales filename pueda tener conflictos con tales restricciones. move_uploaded_file() garantiza la seguridad de esta operación permitiendo que sólo aquellos archivos subidos a través de PHP sean movidos.

Advertencia

Si el arhivo destino ya existe se sobrescribirá.

Ver también

  • is_uploaded_file() - Indica si el archivo fue subido mediante HTTP POST
  • rename() - Renombra un archivo o directorio
  • Véase Manejo de subidas de archivos para un sencillo ejemplo de uso

mkdir
parse_ini_file
Funciones del Sistema de Archivos


Analiza un archivo de configuración

move_uploaded_file
parse_ini_string
Funciones del Sistema de Archivos
PHP Manual

parse_ini_file

(PHP 4, PHP 5)

parse_ini_file — Analiza un archivo de configuración

Descripción

array parse_ini_file ( string $filename [, bool $process_sections = false [, int $scanner_mode = INI_SCANNER_NORMAL ]] )

parse_ini_file() carga el archivo ini especificado en filename, y devulve las configuraciones que hay en él a una matriz asociativa.

La estructura del archivo ini es la misma que la de php.ini.

Parámetros

filename

El nombre de archivo del archivo ini que va a ser analizado.

process_sections

Al establecer el parámetro process_sections a TRUE, se obtiene una matriz multidimesional, con los nombres de las secciones y las configuraciones incluidas. El valor por defecto de process_sections es FALSE

scanner_mode

Puede ser o INI_SCANNER_NORMAL (por defecto) o INI_SCANNER_RAW. Si INI_SCANNER_RAW es proporcionado, los valores de las opciones no serán analizadas.

Valores devueltos

Las configuraciones son devueltas como un array asociativo si se tiene éxito, y FALSE si falla.

Historial de cambios

Versión | Descripción
5.3.0 | Añadido el parámetro opcional scanner_mode. Las comillas simples ahora pueden usarse para las asignaciones de variables. Los signos de número (#) ya no se pueden usar como comentarios y si se usan se lanzará una advertencia de tipo obsoleto.
5.2.7 | Cuando sucede un error de sintaxis, esta función devolverá FALSE en vez de un array vacío.
5.2.4 | Las claves y los nombres de las secciones consisten en números que ahora se evalúan como integers de PHP, así los números que comiencen por 0 son evaluados como octales y los números que comiencen por 0x son evaluados como hexadecimales.
5.0.0 | Los valores encerrados entre comillas dobles pueden contener nuevas líneas.
4.2.1 | Esta función ahora está influida por el safe mode y open_basedir.

Ejemplos

Ejemplo #1 Contenido de ejemplo.ini

; Este es un ejemplo de archivo de configuración
; Los comentarios empiezan con ';', como en php.ini

[primera_sección]
uno = 1
cinco = 5
animal = PÁJARO

[segunda_sección]
ruta = "/usr/local/bin"
URL = "http://www.example.com/~username"

[tercera_sección]
phpversion[] = "5.0"
phpversion[] = "5.1"
phpversion[] = "5.2"
phpversion[] = "5.3"

Ejemplo #2 Ejemplo de parse_ini_file()

Las Constantes también se pueden analizar en el archivo ini, por lo que si se define una constante como un valor ini antes de ejecutar parse_ini_file(), también será integrada dentro de los resultados. Sólo los valores ini son evaluados. Por ejemplo:

<?php

define('PÁJARO', 'Pájaro dodo');

// Analizar sin secciones
$matriz_ini = parse_ini_file("ejemplo.ini");
print_r($matriz_ini);

// Analizar con secciones
$matriz_ini = parse_ini_file("ejemplo.ini", true);
print_r($matriz_ini);

?>

El resultado del ejemplo sería algo similar a:

Array
(
    [uno] => 1
    [cinco] => 5
    [animal] => Pájaro dodo
    [ruta] => /usr/local/bin
    [URL] => http://www.example.com/~username
    [phpversion] => Array
        (
            [0] => 5.0
            [1] => 5.1
            [2] => 5.2
            [3] => 5.3
        )

)
Array
(
    [primera_sección] => Array
        (
            [uno] => 1
            [cinco] => 5
            [animal] => Pájaro dodo
        )

    [segunda_sección] => Array
        (
            [ruta] => /usr/local/bin
            [URL] => http://www.example.com/~username
        )

    [tercera_sección] => Array
        (
            [phpversion] => Array
                (
                    [0] => 5.0
                    [1] => 5.1
                    [2] => 5.2
                    [3] => 5.3
                )

        )

)

Ejemplo #3 parse_ini_file() analizando un archivo php.ini

<?php
// Una sencilla función usada para comparar los resultados de abajo
function síno($expresión)
{
    return($expresión ? 'Sí' : 'No');
}

// Obtiene la ruta de php.ini usando la función
// php_ini_loaded_file() disponible a partir de PHP 5.2.4
$ruta_ini = php_ini_loaded_file();

// Analizar php.ini
$ini = parse_ini_file($ruta_ini);

// Imprime y compara los valores, observe que al usar get_cfg_var()
// se obtendrán aquí los mismos resultados de análisis y carga
echo '(analizado) magic_quotes_gpc = ' . síno($ini['magic_quotes_gpc']) . PHP_EOL;
echo '(cargado) magic_quotes_gpc = ' . síno(get_cfg_var('magic_quotes_gpc')) . PHP_EOL;
?>

El resultado del ejemplo sería algo similar a:

(parsed) magic_quotes_gpc = Yes
(loaded) magic_quotes_gpc = Yes

Notas

Nota:

Esta función no tiene nada que ver con el archivo php.ini. Éste es procesado en el momento en el que se ejecuta el script. Esta función se puede usar para leer los archivos de configuración de sus propias aplicaciones.

Nota:

Si un valor en el archivo ini contiene cualquier carácter no alfanumérico, se necesita encerrarlo entre comillas dobles (").

Nota: Hay palabras reservadas que no se deben usar como claves en los archivos ini. Éstas incluyen: null, yes, no, true, false, on, off, none. Los valores null, no y false resultan en "", yes y true resultan en "1". Los caracteres ?{}|&~![()^" no se deben usar en ningún lugar de la clave y tienen un significado especial en el valor.

Ver también

  • parse_ini_string() - Analiza una cadena de configuración

move_uploaded_file
parse_ini_string
Funciones del Sistema de Archivos


Analiza una cadena de configuración

parse_ini_file
pathinfo
Funciones del Sistema de Archivos
PHP Manual

parse_ini_string

(PHP 5 >= 5.3.0)

parse_ini_string — Analiza una cadena de configuración

Descripción

array parse_ini_string ( string $ini [, bool $process_sections = false [, int $scanner_mode = INI_SCANNER_NORMAL ]] )

parse_ini_string() devuelve las configuraciones de la cadena ini a una matriz asociativa.

La estructura de la cadena ini es la misma que la de php.ini.

Parámetros

ini

El contenido del archivo ini que va a ser analizado.

process_sections

Al establecer el parámetro process_sections a TRUE, se obtiene una matriz multidimesional, con los nombres de las secciones y las configuraciones incluidas. El valor por defecto de process_sections es FALSE

scanner_mode

Puede ser o INI_SCANNER_NORMAL (por defecto) o INI_SCANNER_RAW. Si INI_SCANNER_RAW es proporcionado, los valores de las opciones no serán analizadas.

Valores devueltos

Las configuraciones son devueltas como un array asociativo si se tiene éxito, y FALSE si falla.

Notas

Nota: Hay palabras reservadas que no se deben usar como claves en los archivos ini. Éstas incluyen: null, yes, no, true, false, on, off, none. Los valores null, no y false resultan en "", yes y true resultan en "1". Los caracteres ?{}|&~![()^" no se deben usar en ningún lugar de la clave y tienen un significado especial en el valor.

Ver también

  • parse_ini_file() - Analiza un archivo de configuración

parse_ini_file
pathinfo
Funciones del Sistema de Archivos


Devuelve información acerca de la ruta de un fichero

parse_ini_string
pclose
Funciones del Sistema de Archivos
PHP Manual

pathinfo

(PHP 4 >= 4.0.3, PHP 5)

pathinfo — Devuelve información acerca de la ruta de un fichero

Descripción

mixed pathinfo ( string $path [, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ] )

pathinfo() devuelve información acerca de path: bien como un array asociativo, o bien como un string, en función del valor de options.

Parámetros

path

La ruta a analizar.

options

Si está presente, indica qué elementos específicos se devuelven, de entre PATHINFO_DIRNAME, PATHINFO_BASENAME, PATHINFO_EXTENSION y PATHINFO_FILENAME.

Si no se especifica options, se devuelven todos los elementos disponibles.

Valores devueltos

Si no se proporciona el parámetro options, se devuelve un array asociativo que contiene los siguientes elementos: dirname, basename, extension (si tiene), y filename.

Nota:

Si path tiene más de una extensión, PATHINFO_EXTENSION devuelve solamente la última, y PATHINFO_FILENAME solamente quita la última. (véase el primer ejemplo de más abajo).

Nota:

Si path no tiene ninguna extensión, no se devolverá ningún elemento extension (véase el segundo ejemplo de más abajo).

Si options estuviera presente, se devolverá un string que contiene el elemento solicitado.

Historial de cambios

Versión | Descripción
5.2.0 | Se añadió la constante PATHINFO_FILENAME.

Ejemplos

Ejemplo #1 Ejemplo de pathinfo()

<?php
$partes_ruta = pathinfo('/www/htdocs/inc/lib.inc.php');

echo $partes_ruta['dirname'], "\n";
echo $partes_ruta['basename'], "\n";
echo $partes_ruta['extension'], "\n";
echo $partes_ruta['filename'], "\n"; // desde PHP 5.2.0
?>

El resultado del ejemplo sería:

/www/htdocs/inc
lib.inc.php
php
lib.inc

Ejemplo #2 Ejemplo de pathinfo() mostrando las diferencias entre null y no utilizar extensión

<?php
$partes_ruta = pathinfo('/path/emptyextension.');
var_dump($partes_ruta['extension']);

$partes_ruta = pathinfo('/path/noextension');
var_dump($partes_ruta['extension']);
?>

El resultado del ejemplo sería algo similar a:

string(0) ""

Notice: Undefined index: extension in test.php on line 6

Notas

Nota:

Para infomación sobre la recuperación de la información de la ruta actual, lea la sección sobre variables reservadas predefinidas.

Nota:

pathinfo() tiene en cuenta la configuración regional, por lo que, para analizar una ruta que contiene caracteres multibyte correctamente, se debe establecer la configuración regional correspondiente usando la función setlocale().

Ver también

  • dirname() - Devuelve el directorio padre de la ruta
  • basename() - Devuelve el componente de nombre de rastreo de la ruta
  • parse_url() - Analiza una URL y devolver sus componentes
  • realpath() - Devuelve el nombre de la ruta absoluta canonizado

parse_ini_string
pclose
Funciones del Sistema de Archivos


Cierra un proceso de un puntero a un archivo

pathinfo
popen
Funciones del Sistema de Archivos
PHP Manual

pclose

(PHP 4, PHP 5)

pclose — Cierra un proceso de un puntero a un archivo

Descripción

int pclose ( resource $handle )

Cierra un puntero a un archvio hacia una tubería abierta por popen().

Parámetros

handle

El puntero al archivo debe ser válido, y debe haber sido devuelto por una llamada exitosa a popen().

Valores devueltos

Devuelve el estado de terminación del proceso que se estaba ejecutando. En caso de error, se devuelve -1.

Ejemplos

Ejemplo #1 Ejemplo de pclose()

<?php
$gestor = popen('/bin/ls', 'r');
pclose($gestor);
?>

Notas

Nota: Solamente Unix:

pclose() está internamente implementada usando la llamada al sistema de waitpid(3). Para obtener el código de estado de salida real debería usarse la función pcntl_wexitstatus().

Ver también

  • popen() - Abre un proceso de un puntero a un archivo

pathinfo
popen
Funciones del Sistema de Archivos


Abre un proceso de un puntero a un archivo

pclose
readfile
Funciones del Sistema de Archivos
PHP Manual

popen

(PHP 4, PHP 5)

popen — Abre un proceso de un puntero a un archivo

Descripción

resource popen ( string $command , string $mode )

Abre una tubería hacia un proceso ejecutado bifurcando el comando dado por comando.

Parámetros

command

El comando

mode

El modo

Valores devueltos

Devuelve un puntero al archivo idéntico al devuelto por fopen(), excepto que es uni-direccional (sólo se puede usar para lectura o escritura) y debe ser cerrado con pclose(). Este puntero se puede usar con fgets(), fgetss(), y fwrite(). Cuando el modo es 'r', el puntero al archivo devuelto iguala al STDOUT del comando, cuando el modo es 'w', el puntero al archivo devuelto iguala al STDIN del comando.

Si se produjo un error, devuelve FALSE.

Ejemplos

Ejemplo #1 Ejemplo de popen()

<?php
$gestor = popen("/bin/ls", "r");
?>

Si el comando a ejecutar no puede ser encontrado, se devuelve un recurso válido. Esto puede parecer extraño, pero tiene sentido; permite el acceso a cualquier mensaje de error devuelto por el intérprete de comandos:

Ejemplo #2 Ejemplo de popen()

<?php
error_reporting(E_ALL);

/* Añade redirección, por lo que podemos obtener stderr. */
$gestor = popen('/ruta/al/ejecutable 2>&1', 'r');
echo "'$gestor'; " . gettype($gestor) . "\n";
$leer = fread($gestor, 2096);
echo $leer;
pclose($gestor);
?>

Notas

Nota:

Si está buscando un soporte bi-direccional (dos-vías), use proc_open().

Nota: Cuando safe mode está habilitado, sólo se pueden ejecutar los archivos que se encuentren dentro de safe_mode_exec_dir. Por razones prácticas, actualmente no se le permite tener componentes .. en la ruta al ejecutable.

Advertencia

Con safe mode habilitado, la cadena de comandos se escapa con escapeshellcmd(). Por esto, echo y | echo x quedaría echo y \| echo x.

Ver también

  • pclose() - Cierra un proceso de un puntero a un archivo
  • fopen() - Abre un fichero o una URL
  • proc_open() - Ejecuta un comando y abre un puntero de fichero para entrada/salida

pclose
readfile
Funciones del Sistema de Archivos


Realizar la salida de un fichero

popen
readlink
Funciones del Sistema de Archivos
PHP Manual

readfile

(PHP 4, PHP 5)

readfile — Realizar la salida de un fichero

Descripción

int readfile ( string $filename [, bool $use_include_path = false [, resource $context ]] )

Lee un fichero y lo escribe en el buffer de salida.

Parámetros

filename

El nombre de fichero a ser leído.

use_include_path

Se puede usar el segundo parámetro opcional y establecerlo a TRUE si se desea buscar también el fichero en include_path.

context

Un resource de flujos de contexto.

Valores devueltos

Devuelve el número de bytes leídos del fichero. Si se produjo un error, devuelve FALSE y, a menos que la función fuese llamada como @ readfile(), se imprime un mensaje de error.

Ejemplos

Ejemplo #1 Forzar un descarga usando readfile()

<?php
$fichero = 'mono.gif';

if (file_exists($fichero)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.basename($fichero));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($fichero));
    ob_clean();
    flush();
    readfile($fichero);
    exit;
}
?>

El resultado del ejemplo sería algo similar a:

Diálogo de Abrir / Guardar

Notas

Nota:

readfile() no expondrá cuestiones de memoria, incluso al enviar ficheros grandes, por sí sola. Si se encuentra un error de memoria insuficiente asegúrese que el buffer de salida está desactivado con ob_get_level().

Sugerencia

Se puede usar una dirección URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más información de como especificar el nombre de fichero. Consulte Protocolos y Envolturas soportados para ver enlaces con información sobre las diferentes habilidades que los wrappers tienen, notas de uso e información de cualquier variables predefinidas que pueden usarse.

Nota: Soporte para context fue añadido en PHP 5.0.0. Para una descripción de contexts, refiérase a Flujos.

Ver también

  • fpassthru() - Escribe toda la información restante de un puntero a un archivo
  • file() - Transfiere un fichero completo a un array
  • fopen() - Abre un fichero o una URL
  • include - include
  • require - require
  • virtual() - Realiza una sub-petición de Apache
  • file_get_contents() - Transmite un fichero entero a una cadena
  • Protocolos y Envolturas soportados

popen
readlink
Funciones del Sistema de Archivos


Devuelve el objetivo de un enlace simbólico

readfile
realpath_cache_get
Funciones del Sistema de Archivos
PHP Manual

readlink

(PHP 4, PHP 5)

readlink — Devuelve el objetivo de un enlace simbólico

Descripción

string readlink ( string $path )

readlink() hace lo mismo que la función readlink de C.

Parámetros

path

La ruta del enlace simbólico.

Historial de cambios

Versión | Descripción
5.3.0 | Esta función ahora está disponible en plataformas Windows (Vista, Server 2008 o mayores).

Valores devueltos

Devuelve el contenido de la ruta del enlace simbólico o FALSE si se produjo un error.

Ejemplos

Ejemplo #1 Ejemplo de readlink()

<?php

// imprime p.ej. /boot/vmlinux-2.4.20-xfs
echo readlink('/vmlinuz');

?>

Ver también

  • is_link() - Indica si el nombre de archivo es un enlace simbólico
  • symlink() - Crea un enlace simbólico
  • linkinfo() - Obtiene información acerca de un enlace

readfile
realpath_cache_get
Funciones del Sistema de Archivos


Obtiene las entradas de la caché de la ruta real

readlink
realpath_cache_size
Funciones del Sistema de Archivos
PHP Manual

realpath_cache_get

(PHP 5 >= 5.3.2)

realpath_cache_get — Obtiene las entradas de la caché de la ruta real

Descripción

array realpath_cache_get ( void )

Obtiene el contenido de la caché de la ruta real.

Valores devueltos

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

Ejemplos

Ejemplo #1 Ejemplo de realpath_cache_get()

<?php
var_dump(realpath_cache_get());
?>

El resultado del ejemplo sería algo similar a:

array(2) {
  ["/test"]=>
  array(4) {
    ["key"]=>
    int(123456789)
    ["is_dir"]=>
    bool(true)
    ["realpath"]=>
    string(5) "/test"
    ["expires"]=>
    int(1260318939)
  }
  ["/test/test.php"]=>
  array(4) {
    ["key"]=>
    int(987654321)
    ["is_dir"]=>
    bool(false)
    ["realpath"]=>
    string(12) "/root/test.php"
    ["expires"]=>
    int(1260318939)
  }
}

Ver también

  • realpath_cache_size() - Obtiene el tamaño de la caché de la ruta real

readlink
realpath_cache_size
Funciones del Sistema de Archivos


Obtiene el tamaño de la caché de la ruta real

realpath_cache_get
realpath
Funciones del Sistema de Archivos
PHP Manual

realpath_cache_size

(PHP 5 >= 5.3.2)

realpath_cache_size — Obtiene el tamaño de la caché de la ruta real

Descripción

int realpath_cache_size ( void )

Obtiene la cantidad de memoria usada por la caché de la ruta real.

Valores devueltos

Devuelve la cantidad de memoria que la caché de la ruta real está usando.

Ejemplos

Ejemplo #1 Ejemplo de realpath_cache_size()

<?php
var_dump(realpath_cache_size());
?>

El resultado del ejemplo sería algo similar a:

int(412)

Ver también

  • realpath_cache_get() - Obtiene las entradas de la caché de la ruta real
  • La opción de configuración realpath_cache_size

realpath_cache_get
realpath
Funciones del Sistema de Archivos


Devuelve el nombre de la ruta absoluta canonizado

realpath_cache_size
rename
Funciones del Sistema de Archivos
PHP Manual

realpath

(PHP 4, PHP 5)

realpath — Devuelve el nombre de la ruta absoluta canonizado

Descripción

string realpath ( string $path )

realpath() expande todos los enlaces simbólicos y resuelve las referencias de caracteres '/./', '/../' y '/' extra, en la ruta de entrada dada por path y devuevle el nombre de la ruta absoluta canonizado.

Parámetros

path

La ruta que va a ser comprobada.

Nota:

Aunque se debe proporcionar una ruta, el valor puede estar en blanco o ser NULL. En estos casos, el valor es interpretado como el directorio actual.

Valores devueltos

Devuelve el nombre de la ruta absoluta canonizado si se tiene éxito. La ruta resultante no tendrá componentes de enlaces simbólicos, '/./' o '/../'.

realpath() devuelve FALSE en caso de error, p.ej. si el fichero no existe.

Nota:

El script en ejecución debe tener permisios de ejecución en todos los directorios de la jerarquía, de lo contrario realpath() devolverá FALSE.

Nota: Debido a que el tipo integer de PHP es con signo y muchas plataformas usan enteros de 32 bits, algunas funciones de sistema de ficheros pueden devolver resultados inesperados para ficheros que son mayores de 2 GB.

Historial de cambios

Versión | Descripción
5.3.0 | Antes de esta versión, si en sistemas *BSD el último compnente de path no existía, realpath() no fallaba. Ahora realpath() también falla en este caso.
5.0.0 | Antes de esta versión, el parámetro path en blanco o NULL ocasionaba que realpath() devolviera el nombre del directorio del script.

Ejemplos

Ejemplo #1 Ejemplo de realpath()

<?php
chdir('/var/www/');
echo realpath('./../../etc/passwd');
?>

El resultado del ejemplo sería:

/etc/passwd

Ejemplo #2 realpath() en Windows

En windows realpath() cambiará las rutas del estilo unix al estilo windows.

<?php
echo realpath('/windows/system32');
?>

El resultado del ejemplo sería:

C:\WINDOWS\System32

Ver también

  • basename() - Devuelve el componente de nombre de rastreo de la ruta
  • dirname() - Devuelve el directorio padre de la ruta
  • pathinfo() - Devuelve información acerca de la ruta de un fichero

realpath_cache_size
rename
Funciones del Sistema de Archivos


Renombra un archivo o directorio

realpath
rewind
Funciones del Sistema de Archivos
PHP Manual

rename

(PHP 4, PHP 5)

rename — Renombra un archivo o directorio

Descripción

bool rename ( string $oldname , string $newname [, resource $context ] )

Intenta renombrar oldname a newname, moviéndolo a otro directorio si fuera necesario. Si newname existe, lo sobrescribirá.

Parámetros

oldname

Nota:

El nombre anterior. La envoltura usada en oldname debe coincidir con la envoltura usada en newname.

newname

El nuevo nombre.

context

Nota: Soporte para context fue añadido en PHP 5.0.0. Para una descripción de contexts, refiérase a Flujos.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.3.1 | rename() ahora puede renombrar archivos a través de controladores de Windows.
5.0.0 | rename() ahora también puede ser usado con algunas envolturas URL. Consulte Protocolos y Envolturas soportados para un listado de las envolturas que soporta rename().
4.3.3 | rename() ahora es capaz de renombrar ficheros a través de particiones en sistemas basados en *nix, proporcinando los permisos apropiados. Se pueden generar advertencias si el sistema de ficheros destino no permite llamadas al sistema de chown() o chmod() hechas sobre archivos — por ejemplo, si el sistema de ficheros destino en un sistema de ficheros FAT.

Ejemplos

Ejemplo #1 Ejemplo con rename()

<?php
rename("/tmp/archivo_tmp.txt", "/home/user/login/docs/mi_archivo.txt");
?>

Ver también

  • copy() - Copia archivos
  • unlink() - Borra un archivo
  • move_uploaded_file() - Mueve un archivo subido a una nueva ubicación

realpath
rewind
Funciones del Sistema de Archivos


Rebobina la posción de un puntero a un archivo

rename
rmdir
Funciones del Sistema de Archivos
PHP Manual

rewind

(PHP 4, PHP 5)

rewind — Rebobina la posción de un puntero a un archivo

Descripción

bool rewind ( resource $handle )

Establece el indicador de posición de archivo de handle al principio del flujo del archivo.

Nota:

Si ha abierto un archivo en modo de adición ("a" o "a+"), cualquier información que escriba en el archivo será siempre añadida, sin importar la posición del archivo.

Parámetros

handle

El puntero al archivo debe ser válido, y debe apuntar al archivo abierto con éxito por fopen().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de sobrescritura con rewind()

<?php
$gestor = fopen('salida.txt', 'r+');

fwrite($gestor, 'Una sentencia realmente larga.');
rewind($gestor);
fwrite($gestor, 'Foo');
rewind($gestor);

echo fread($gestor, filesize('salida.txt'));

fclose($gestor);
?>

El resultado del ejemplo sería algo similar a:

Foo sentencia realmente larga.

Ver también

  • fread() - Lectura de un fichero en modo binario seguro
  • fseek() - Busca sobre un puntero a un fichero
  • ftell() - Devuelve la posición de lectura/escritura actual del puntero a un fichero
  • fwrite() - Escritura de un archivo en modo binario seguro

rename
rmdir
Funciones del Sistema de Archivos


Elimina un directorio

rewind
set_file_buffer
Funciones del Sistema de Archivos
PHP Manual

rmdir

(PHP 4, PHP 5)

rmdir — Elimina un directorio

Descripción

bool rmdir ( string $dirname [, resource $context ] )

Intenta eliminar el directorio nombrado por dirname. El directorio debe estar vacío, y los permisos relevantes deben permitirlo. Un error de nivel E_WARNING será generado si se produce un error.

Parámetros

dirname

Ruta del directorio

context

Nota: Soporte para context fue añadido en PHP 5.0.0. Para una descripción de contexts, refiérase a Flujos.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.0.0 | Desde PHP 5.0.0 rmdir() también se puede usar con algunas envolturas URL. Consulte Protocolos y Envolturas soportados para un listado de las envolturas que soporta rmdir().

Ejemplos

Ejemplo #1 Ejemplo de rmdir()

<?php
if (!is_dir('ejemplos')) {
    mkdir('ejemplos');
}

rmdir('ejemplos');
?>

Notas

Nota: Cuando safe mode está habilitado, PHP comprueba si el directorio en el que el script está operando tiene el mismo UID (propietario) que el script que está siendo ejecutado.

Ver también

  • is_dir() - Indica si el nombre de archivo es un directorio
  • mkdir() - Crea un directorio
  • unlink() - Borra un archivo

rewind
set_file_buffer
Funciones del Sistema de Archivos


Alias de stream_set_write_buffer

rmdir
stat
Funciones del Sistema de Archivos
PHP Manual

set_file_buffer

(PHP 4, PHP 5)

set_file_buffer — Alias de stream_set_write_buffer()

Descripción

Esta función es un alias de: stream_set_write_buffer().

rmdir
stat
Funciones del Sistema de Archivos


Da información acerca de un fichero

set_file_buffer
symlink
Funciones del Sistema de Archivos
PHP Manual

stat

(PHP 4, PHP 5)

stat — Da información acerca de un fichero

Descripción

array stat ( string $filename )

Reúne la estadísticas del fichero nombrado por filename. Si filename es un enlace simbólico, las estadísticas son las del fichero mismo, no las del enlace simbólico.

lstat() es idéntica a stat() excepto que está basada en el estado de los enlaces simbólicos.

Parámetros

filename

Ruta del fichero.

Valores devueltos

Formato del resultado de stat() y fstat()
Numérico | Asociativo (desde PHP 4.0.6) | Descripción
0 | dev | número de dispositivo
1 | ino | número de i-nodo *
2 | mode | modo de protección del i-nodo
3 | nlink | número de enlaces
4 | uid | ID de usuario del propietario *
5 | gid | ID de grupo del propietario *
6 | rdev | tipo de dispositivo, si es un dispositivo i-nodo
7 | size | tamaño en bytes
8 | atime | momento del último acceso (tiempo Unix)
9 | mtime | momento de la última modificación (tiempo Unix)
10 | ctime | momento de la última modificación del i-nodo (tiempo Unix)
11 | blksize | tamaño del bloque E/S del sistema de ficheros **
12 | blocks | número de bloques de 512 bytes asignados **
* en Windows esto siempre será 0.

** Sólo válido para sistemas que soportan el tipo st_blksize type - otros sistemas (p.ej. Windows) devuelven -1.

En caso de que se produzca un error, stat() devuelve FALSE.

Nota: Debido a que el tipo integer de PHP es con signo y muchas plataformas usan enteros de 32 bits, algunas funciones de sistema de ficheros pueden devolver resultados inesperados para ficheros que son mayores de 2 GB.

Errores/Excepciones

Si falla, se emite un E_WARNING.

Historial de cambios

Versión | Descripción
4.0.6 | Además de la devolución de estos atributos en una matriz numérica, se puede acceder a ellos con índices asociativos, como se anotó al lado de cada parámetro

Ejemplos

Ejemplo #1 Ejemplo de stat()

<?php
/* Obtener las estadísticas de un fichero */
$estadísticas = stat('C:\php\php.exe');

/*
 * Imprime el momento de acceso del fichero,
 * esto es lo mismo que llamar a fileatime()
 */
echo 'Momento de acceso: ' . $estadísticas['atime'];

/*
 * Imprime el momento de modificación del fichero,
 * esto es lo mismo que llamar a filemtime()
 */
echo 'Momento de modificación: ' . $estadísticas['mtime'];

/* Imprime el número de dispositivo */
echo 'Número de dispositivo: ' . $estadísticas['dev'];
?>

Ejemplo #2 Usar la información de stat() junto con touch()

<?php
/* Obtener las estadísticas del fichero */
$estadísticas = @stat('C:\php\php.exe');

/* ¿Falló al obtener la información de stat? */
if(!$estadísticas) {
    echo 'La llamada a stat() falló...';
} else {
    /*
     * Queremos que el tiempo de acceso sea 1 semana
     * después que el tiempo de acceso actual.
     */
    $atime = $estadísticas['atime'] + 604800;

    /* Afectar el fichero */
    if(!@touch('fichero.txt', time(), $atime)) {
        echo 'Falló al afectar el fichero...';
    } else {
        echo 'touch() devolvió con éxito...';
    }
}
?>

Notas

Nota:

Observe que el tiempo de resolución quizá varia según el sistema de ficheros.

Nota: Los resultados de esta función son guardados en caché. Para más información ver clearstatcache().

Sugerencia

Desde PHP 5.0.0, esta función también puede usarse con algunos URL wrappers. Consultar Protocolos y Envolturas soportados para deter4minar qué envolturas soportan la familia de funcionalidad de stat().

Ver también

  • lstat() - Da información acerca de un archivo o enlace simbólico
  • fstat() - Obtiene información acerca de un archivo usando un puntero al archivo abierto
  • filemtime() - Obtiene el momento de la última modificación de un archivo
  • filegroup() - Obtiene el grupo de un archivo

set_file_buffer
symlink
Funciones del Sistema de Archivos


Crea un enlace simbólico

stat
tempnam
Funciones del Sistema de Archivos
PHP Manual

symlink

(PHP 4, PHP 5)

symlink — Crea un enlace simbólico

Descripción

bool symlink ( string $target , string $link )

symlink() crea un enlace simbólico a target existente con el nombre especificado en link.

Parámetros

target

Objetivo del enlace.

link

El nombre del enlace.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.3.0 | Esta función ahora es compatible con las plataformas Windows (Vista, Server 2008 o mayores).

Ejemplos

Ejemplo #1 Crea un enlace simbólico

<?php
$objetivo = 'subidas.php';
$enlace = 'subidas';
symlink($objetivo, $enlace);

echo readlink($enlace);
?>

Notas

Nota: Los usuarios de Windows deberían observar que esta función sólo funcionará si el sistema donde se ejecuta PHP es Windows Vista/Windows Server 2008 o mayor. Las versiones anteriores de Windows no admiten enlaces simbólicos.

Ver también

  • link() - Crea un enlace duro
  • readlink() - Devuelve el objetivo de un enlace simbólico
  • linkinfo() - Obtiene información acerca de un enlace

stat
tempnam
Funciones del Sistema de Archivos


Crea un archivo con un nombre de archivo único

symlink
tmpfile
Funciones del Sistema de Archivos
PHP Manual

tempnam

(PHP 4, PHP 5)

tempnam — Crea un archivo con un nombre de archivo único

Descripción

string tempnam ( string $dir , string $prefix )

Crea un archivo con un nombre de archivo único, cuyo permiso de acceso está establecido a 0600, en el directorio especificado. Si el directorio no existe, tempnam() puede generar un archivo en el directorio temporal del sistema, y devolver el nombre de este archivo.

Parámetros

dir

El directorio donde el nombre de archivo temporal será creado.

prefix

El prefijo del nombre de archivo temporal generado.

Nota: Windows usa sólo los tres primeros caracteres del prefijo.

Valores devueltos

Devuelve el nuevo nombre del archivo temporal, o FALSE si falla.

Historial de cambios

Versión | Descripción
4.0.6 | Antes de PHP 4.0.6, el comportamiento de la función tempnam() dependía del sistema. En Windows la variable de entorno TMP sobrescribirá el parámetro directory, en Linux la variable de entorno TMPDIR tiene precedencia, mientra que en SVR4 siempre usará el parámetro directory si el directorio al que apunta existe. Consulte la documentación de su sistema si tiene dudas acerca de la función tempnam(3).
4.0.3 | El comportamiento de esta función cambió en 4.0.3. El archivo temporal también es creado para evitar una competición donde el archivo pueda aparecer en el sistema de archivos entre el periodo en que la cadena fue generada y antes de que el script se dedique a crear el archivo. Observe que se necesita eliminar el archivo en caso de que no se requiera más, no se hace automáticamente.

Ejemplos

Ejemplo #1 Ejemplo de tempnam()

<?php
$nombre_archivo_tmp = tempnam("/tmp", "FOO");

$gestor = fopen($nombre_archivo_tmp, "w");
fwrite($gestor, "escribiendo en el archivo temporal");
fclose($gestor);

// hacer aquí algo

unlink($nombre_archivo_tmp);
?>

Notas

Nota: Si PHP no puede crear un archivo en el parámetro directory especificado, retrocede al predeterminado del sistema. En NTFS esto también ocurre si el parámetro directory contiene más de 65534 archivos.

Ver también

  • tmpfile() - Crea un archivo temporal
  • sys_get_temp_dir() - Devuelve la ruta del directorio para archivos temporales
  • unlink() - Borra un archivo

symlink
tmpfile
Funciones del Sistema de Archivos


Crea un archivo temporal

tempnam
touch
Funciones del Sistema de Archivos
PHP Manual

tmpfile

(PHP 4, PHP 5)

tmpfile — Crea un archivo temporal

Descripción

resource tmpfile ( void )

Crea un archivo temporal con un nombre único en modo lectura-escritura (w+) y devuelve un gestor de archivo.

El archivo es automáticamente eliminado cuando se cierra (por ejemplo, llamando a fclose(), o cuando no quedan referencias al gestor de ficheros devuelto por tmpfile()), o cuando el script finzaliza.

Para más detalles, consulte la documentación de su sistema acerca de la función tmpfile(3), así como de la cabecera de archivo stdio.h.

Valores devueltos

Devuelve un gestor de archivo, similar al devuleto por fopen(), para un archivo nuevo o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de tmpfile()

<?php
$temp = tmpfile();
fwrite($temp, "escribiendo en el archivo temporal");
fseek($temp, 0);
echo fread($temp, 1024);
fclose($temp); // esto elimina el archivo
?>

El resultado del ejemplo sería:

writing to tempfile

Ver también

  • tempnam() - Crea un archivo con un nombre de archivo único
  • sys_get_temp_dir() - Devuelve la ruta del directorio para archivos temporales

tempnam
touch
Funciones del Sistema de Archivos


Establece el momento de acceso y modificación de un archivo

tmpfile
umask
Funciones del Sistema de Archivos
PHP Manual

touch

(PHP 4, PHP 5)

touch — Establece el momento de acceso y modificación de un archivo

Descripción

bool touch ( string $filename [, int $time = time() [, int $atime ]] )

Intenta establecer los momentos de acceso y modificación del archivo nombrado por el parámetro filename al valor dado en time. Observe que el momento de acceso se modifica siempre, sin importar el número de parámetros.

Si el archivo no existe, será creado.

Parámetros

filename

El nombre del archivo que va a ser afectado.

time

El momento de afectación. Si time no es proporcionado, se usa la hora actual del sistema.

atime

Si está presente, el momento de acceso del nombre de archivo dado se establece al valor de atime. De otro modo, se establece al valor pasado al parámetro time. Si ninguno está presente, se usa el momento actual del sistema.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.3.0 | Se hizo posible cambiar el momento de modificación de un directorio bajo Windows.

Ejemplos

Ejemplo #1 Ejemplo de touch()

<?php
if (touch($nombre_archivo)) {
    echo 'El momento de modificación de ' . $nombre_archivo . ' ha sido cambiada a la hora actual';
} else {
    echo 'Lo siento, no se pudo cambiar el momento de modificación de ' . $nombre_archivo;
}
?>

Ejemplo #2 touch() usando el parámetro time

<?php
// Este es el momento afectado, lo estableceremos a una hora antes
$momento = time() - 3600;

// Afectar el archivo
if(!touch('archivo.txt', $momento)) {
    echo 'Lo sieno, algo fue mal...';
} else {
    echo 'Archivo afectado con éxito';
}
?>

Notas

Nota:

Observe que el tiempo de resolución quizá varia según el sistema de ficheros.

Advertencia

Antes de PHP 5.3.0 no era posible cambiar el momento de modificación de un directorio con esta función bajo Windows.

tmpfile
umask
Funciones del Sistema de Archivos


Cambia la máscara de usuario actual

touch
unlink
Funciones del Sistema de Archivos
PHP Manual

umask

(PHP 4, PHP 5)

umask — Cambia la máscara de usuario actual

Descripción

int umask ([ int $mask ] )

umask() establece la máscara de usuario de PHP a mask & 0777 y devuelve la anterior máscara de usuario. Cuando PHP está siendo usado como un módulo de servidor, la máscara de usuario es reestablecida al finalizar cada petición.

Parámetros

mask

La nueva máscara de usuario.

Valores devueltos

umask() sin argumentos devuelve simplemente la máscara de usuario actual; de lo contrario devuelve la máscara de usuario anterior.

Ejemplos

Ejemplo #1 Ejemplo de umask()

<?php
$antigua = umask(0);
chmod("/ruta/directorio/fichero.txt", 0755);
umask($antigua);

// Verificar
if ($antigua != umask()) {
    die('Ocurrió un error mientras se volvía a cambiar la máscara de usuario');
}
?>

Notas

Nota:

Evite usar esta función en servidores web multihilo. Es mejor cambiar los permisos de fichero con chmod() después de crear el fichero. Usar umask() puede llevar a comportamientos inesperados en los scripts que se ejecutan concurrentemente y en el servidor web mismo, ya que pueden usar la misma máscara de usuario.

touch
unlink
Funciones del Sistema de Archivos


Borra un archivo

umask
Inotify
Funciones del Sistema de Archivos
PHP Manual

unlink

(PHP 4, PHP 5)

unlink — Borra un archivo

Descripción

bool unlink ( string $filename [, resource $context ] )

Elimina filename. Similar a la función unlink() de C en Unix. Un error de nivel E_WARNING será generado si se produce un error.

Parámetros

filename

Ruta del archivo.

context

Nota: Soporte para context fue añadido en PHP 5.0.0. Para una descripción de contexts, refiérase a Flujos.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.0.0 | Desde PHP 5.0.0 unlink() también se puede usar con algunas envolturas URL. Consulte Protocolos y Envolturas soportados para un listado de cuales envolturas soporta unlink().

Ejemplos

Ejemplo #1 Uso básico de unlink()

<?php
$fh = fopen('test.html', 'a');
fwrite($fh, '<h1>¡Hola mundo!</h1>');
fclose($fh);

unlink('test.html');
?>

Ver también

  • rmdir() - Elimina un directorio

umask
Inotify
Funciones del Sistema de Archivos


Inotify

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación/Configuración
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones Inotify
    • inotify_add_watch — Añade un seguimiento a una instancia inotify inicializada
    • inotify_init — Inicializa una instancia inotify
    • inotify_queue_len — Devuelve un número superior a cero si hay eventos pendientes
    • inotify_read — Lee eventos de una instancia inotify
    • inotify_rm_watch — Elimina un seguimiento existente de una instancia inotify
unlink
Introducción
Extensiones relacionadas con el sistema de ficheros


Introducción

La extensión inotify expone las funciones inotify inotify_init(), inotify_add_watch() e inotify_rm_watch().

Así como la función inotify_init() de C devuelve un file descriptor, inotify_init() de PHP devuelve un recurso de flujo, que puede ser usado con las funciones de flujo estándar, como stream_select(), stream_set_blocking() y fclose(). inotify_read() sustituye la manera C de leer eventos inotify.

Inotify
Instalación/Configuración
Inotify


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación/Configuración
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Inotify


Requerimientos

Esta extensión requiere de Linux 2.6.13 o superior, y una librería libC reciente.

Instalación/Configuración
Instalación/Configuración
Instalación/Configuración


Instalación/Configuración
PHP Manual

Instalación/Configuración

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/inotify.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración
PHP Manual


Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración definidas en php.ini.

Instalación/Configuración
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Esta extensión define un recurso de flujo devuelto por inotify_init().

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Constantes Inotify utilizables con inotify_add_watch() y/o devueltos por inotify_read()
IN_ACCESS (integer)
El fichero fue accedido (lectura) (*)
IN_MODIFY (integer)
El fichero fue modificado (*)
IN_ATTRIB (integer)
Metadatos cambiados (por ejemplo: permisos, mtime, etc) (*)
IN_CLOSE_WRITE (integer)
El fichero, previamente abierto para escritura, fue cerrado (*)
IN_CLOSE_NOWRITE (integer)
El fichero, no abierto para escritura, fue cerrado (*)
IN_OPEN (integer)
El fichero fue abierto (*)
IN_MOVED_TO (integer)
Un fichero fue movido dentro del directorio observado (*)
IN_MOVED_FROM (integer)
Un fichero fue movido fuera del directorio observado (*)
IN_CREATE (integer)
Un fichero o directorio fue creado en el directorio observado (*)
IN_DELETE (integer)
Fichero o directorio borrado en el directorio observado (*)
IN_DELETE_SELF (integer)
El fichero o directorio observado fue borrado
IN_MOVE_SELF (integer)
El fichero o directorio observado fue movido
IN_CLOSE (integer)
Similar a IN_CLOSE_WRITE | IN_CLOSE_NOWRITE
IN_MOVE (integer)
Similar a IN_MOVED_FROM | IN_MOVED_TO
IN_ALL_EVENTS (integer)
Máscara de bits de todas las constantes anteriores
IN_UNMOUNT (integer)
Sistema de ficheros que contiene objetos observados fue desmontado
IN_Q_OVERFLOW (integer)
Cola de eventos desbordada (wd es -1 para este evento)
IN_IGNORED (integer)
Seguimiento borrado (explicitamente indicado por inotify_rm_watch() o debido a que el fichero fue eliminado o el sistema de ficheros desmontado)
IN_ISDIR (integer)
El sujeto del evento es un directorio
IN_ONLYDIR (integer)
Observar la ruta solamente si se trata de un directorio (A partir de Linux 2.6.15)
IN_DONT_FOLLOW (integer)
No eliminar la ruta de referencia si es un enlace simbólico (A partir de Linux 2.6.15).
IN_MASK_ADD (integer)
Agregar eventos para observar la máscara de esta ruta de acceso si ya existe (en lugar de reemplazar la máscara).
IN_ONESHOT (integer)
Monitorea una ruta para un evento, a continuación elimina de la lista de vigilancia.

Nota: Los eventos más arriba marcados con un asterisco (*) pueden producirse para ficheros en directorios observados.

Tipos de recursos
Funciones Inotify
Inotify


Funciones Inotify

Tabla de contenidos

  • inotify_add_watch — Añade un seguimiento a una instancia inotify inicializada
  • inotify_init — Inicializa una instancia inotify
  • inotify_queue_len — Devuelve un número superior a cero si hay eventos pendientes
  • inotify_read — Lee eventos de una instancia inotify
  • inotify_rm_watch — Elimina un seguimiento existente de una instancia inotify
Constantes predefinidas
inotify_add_watch
Inotify


Añade un seguimiento a una instancia inotify inicializada

Funciones Inotify
inotify_init
Funciones Inotify
PHP Manual

inotify_add_watch

(PECL inotify >= 0.1.2)

inotify_add_watch — Añade un seguimiento a una instancia inotify inicializada

Descripción

int inotify_add_watch ( resource $inotify_instance , string $pathname , int $mask )

inotify_add_watch() añade un nuevo seguimiento o modifica un seguimiento existente para el fichero o directorio especificado en pathname.

Usando inotify_add_watch() sobre un objeto observado reemplaza el seguimiento existente. Utilizando la constante IN_MASK_ADD añade eventos al seguimiento existente.

Parámetros

inotify_instance

Recurso devuelto por inotify_init()

pathname

Fichero o directorio a observar

mask

Eventos para observar. Ver Constantes predefinidas.

Valores devueltos

The return value is a unique (inotify instance wide) watch descriptor. El valor devuelto es un descriptor de seguimiento único.

Ver también

  • inotify_init() - Inicializa una instancia inotify

Funciones Inotify
inotify_init
Funciones Inotify


Inicializa una instancia inotify

inotify_add_watch
inotify_queue_len
Funciones Inotify
PHP Manual

inotify_init

(PECL inotify >= 0.1.2)

inotify_init — Inicializa una instancia inotify

Descripción

resource inotify_init ( void )

Inicializar una instancia inotify para usar con inotify_add_watch()

Valores devueltos

Un recurso de secuencia o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de uso de inotify

<?php
// Abrir una instancia inotify
$fd = inotify_init();

// Observar __FILE__ por cambios en los metadatos (por ejemplo: mtime)
$watch_descriptor = inotify_add_watch($fd, __FILE__, IN_ATTRIB);

// genera un evento
touch(__FILE__);

// Leer eventos
$eventos = inotify_read($fd);
print_r($eventos);

// Los siguientes métodos permiten utilizar funciones inotify sin bloqueo en inotify_read():

// - Usando stream_select() en $fd:
$read = array($fd);
$write = null;
$except = null;
stream_select($read,$write,$except,0);

// - Usando stream_set_blocking() en $fd
stream_set_blocking($fd, 0);
inotify_read($fd); // No hace ningún bloqueo, y devuelve false si no hay eventos pendientes

// - Usando inotify_queue_len() para comprobar si la lista de eventos no está vacía
$queue_len = inotify_queue_len($fd); // Si > 0, inotify_read() no bloqueará

// Dejar de observar __FILE__ por cambios en los metadatos
inotify_rm_watch($fd, $watch_descriptor);

// Cierra la instancia inotify
// This may have closed all watches if this was not already done
// Esto puede haber cerrado todos los seguimientos, si no se hizo ya
fclose($fd);

?>

El resultado del ejemplo sería algo similar a:

array(
  array(
    'wd' => 1,     // Equivale a $ watch_descriptor
    'mask' => 4,   // bit IN_ATTRIB establecido
    'cookie' => 0, // id único para conectar los eventos relacionados (por ejemplo:
                   // eventos IN_MOVE_FROM IN_MOVE_TO)
    'name' => '',  // el nombre de un fichero (por ejemplo: si se monitorean los
                   // cambios en un directorio)
  ),
);

Ver también

  • inotify_add_watch() - Añade un seguimiento a una instancia inotify inicializada
  • inotify_rm_watch() - Elimina un seguimiento existente de una instancia inotify
  • inotify_queue_len() - Devuelve un número superior a cero si hay eventos pendientes
  • inotify_read() - Lee eventos de una instancia inotify
  • fclose() - Cierra un puntero a un archivo abierto

inotify_add_watch
inotify_queue_len
Funciones Inotify


Devuelve un número superior a cero si hay eventos pendientes

inotify_init
inotify_read
Funciones Inotify
PHP Manual

inotify_queue_len

(PECL inotify >= 0.1.2)

inotify_queue_len — Devuelve un número superior a cero si hay eventos pendientes

Descripción

int inotify_queue_len ( resource $inotify_instance )

Esta función permite saber si inotify_read() bloqueará o no. Si un número superior a cero es devuelto, hay eventos pendientes e inotify_read() no bloqueará.

Parámetros

inotify_instance

Recurso devuelto por inotify_init()

Valores devueltos

Devuelve un número superior a cero si hay eventos pendientes.

Ver también

  • inotify_init() - Inicializa una instancia inotify
  • stream_select() - Ejecuta el equivalente de la llamada al sistema select() sobre las matrices de flujos dadas con un tiempo de espera especificado por tv_sec y tv_usec
  • stream_set_blocking() - Establecer el modo bloqueo/no-bloqueo en un flujo

inotify_init
inotify_read
Funciones Inotify


Lee eventos de una instancia inotify

inotify_queue_len
inotify_rm_watch
Funciones Inotify
PHP Manual

inotify_read

(PECL inotify >= 0.1.2)

inotify_read — Lee eventos de una instancia inotify

Descripción

array inotify_read ( resource $inotify_instance )

Leer eventos inotify de una instancia inotify.

Parámetros

inotify_instance

Recurso devuelto por inotify_init()

Valores devueltos

Un array de eventos inotify o FALSE si no hay eventos pendientes e inotify_instance no es de bloqueo. Cada evento es un array con las siguientes claves:

  • wd es un descriptor de seguimiento devuelto por inotify_add_watch()
  • mask es una máscara de bits de eventos
  • cookie es un identificador único para conectar los eventos relacionados (por ejemplo: IN_MOVE_FROM e IN_MOVE_TO)
  • name es el nombre de un fichero (por ejemplo: si un fichero se ha modificado en un directorio observado)

Ver también

  • inotify_init() - Inicializa una instancia inotify
  • stream_select() - Ejecuta el equivalente de la llamada al sistema select() sobre las matrices de flujos dadas con un tiempo de espera especificado por tv_sec y tv_usec
  • stream_set_blocking() - Establecer el modo bloqueo/no-bloqueo en un flujo
  • inotify_queue_len() - Devuelve un número superior a cero si hay eventos pendientes

inotify_queue_len
inotify_rm_watch
Funciones Inotify


Elimina un seguimiento existente de una instancia inotify

inotify_read
Mimetype
Funciones Inotify
PHP Manual

inotify_rm_watch

(PECL inotify >= 0.1.2)

inotify_rm_watch — Elimina un seguimiento existente de una instancia inotify

Descripción

bool inotify_rm_watch ( resource $inotify_instance , int $watch_descriptor )

inotify_rm_watch() elimina el seguimiento watch_descriptor de la instancia inotify inotify_instance.

Parámetros

inotify_instance

Recurso devuelto por inotify_init()

watch_descriptor

Seguimiento a eliminar de la instancia

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • inotify_init() - Inicializa una instancia inotify

inotify_read
Mimetype
Funciones Inotify


Mimetype

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
inotify_rm_watch
Introducción
Extensiones relacionadas con el sistema de ficheros


Introducción

Advertencia

Esta extensión está obsoleta debido a que la extensión de PECL Fileinfo proporciona la misma funcionalidad (y más) de una manera mucho más limpia.

Las funciones de este módulo intentan adivinar el tipo de contenido y la codificación de un fichero buscando ciertas secuencias de bytes mágicas en posiciones específicas dentro del mismo. Aunque no es una aproximación a prueba de balas, la heurística usada realiza un buen trabajo.

Esta extensión está derivada del módulo mod_mime_magic de Apache, que está basado a su vez en el comando file mantenido por Ian F. Darwin. Vea el código fuente para más información sobre el histórico y el copyright.

Mimetype
Instalación/Configuración
Mimetype


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Mimetype


Instalación

Advertencia

Las extensiones de Mimetype han sido eliminadas en PHP 5.3.0 a favor de Fileinfo.

Debe compilar PHP con el conmutador de configuración --with-mime-magic para obtener soporte de las funciones de mime-type. La extensión necesita una copia del fichero magic simplificado, distribuido con httpd de Apache.

Nota:

La opción de configuración ha sido cambiado de --enable-mime-magic a --with-mime-magic desde PHP 4.3.2

Nota:

Esta extensión no es capaz de manejar el fichero magic comletamente adornado que generalmente viene con las distribuciones estándar de Linux, y que se supone va a usarse con las versiones recientes del comando file.

Nota: Nota a los usuaricos de Win32

Para usar este módulo en un entorno Windows debe establecer la ruta al fichero incluido, magic.mime, en su php.ini.

Ejemplo #1 Establecer la ruta a magic.mime

mime_magic.magicfile = "$PHP_INSTALL_DIR\magic.mime"

Recuerde sustituir $PHP_INSTALL_DIR por la ruta real a PHP en el ejemplo de arriba. P.ej. c:\php

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de Mimetype
Nombre | Por defecto | Cambiable | Historial de cambios
mime_magic.debug | "0" | PHP_INI_SYSTEM | Disponible desde PHP 5.0.0.
mime_magic.magicfile | "/path/to/php/magic.mime" | PHP_INI_SYSTEM | Disponible desde PHP 4.3.0.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

mime_magic.debug bool

Habilitar/deshabilitar la depuración.

mime_magic.magicfile string

La ruta al fichero magic.mime.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Proctitle
Mimetype


Proctitle

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Proctitle Funciones
    • setproctitle — Establecer el título de proceso
    • setthreadtitle — Set the thread title
Constantes predefinidas
Introducción
Extensiones relacionadas con el sistema de ficheros


Introducción

Esta extensión permite cambiar los procesos actuales, e hilos, nombre en linux y sistemas *BSD. Esto es útil cuando se usa pcntl_fork() para identificar This extension allows changing the current process', and thread, name on Linux and *BSD systems. This is useful when using pcntl_fork() los procesos en ejercución en la lista de procesos.

Proctitle
Instalación/Configuración
Proctitle


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Proctitle


Requerimientos

Nada especial.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/proctitle.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Proctitle Funciones
Proctitle


Proctitle Funciones

Tabla de contenidos

  • setproctitle — Establecer el título de proceso
  • setthreadtitle — Set the thread title
Constantes predefinidas
setproctitle
Proctitle


Establecer el título de proceso

Proctitle Funciones
setthreadtitle
Proctitle Funciones
PHP Manual

setproctitle

(PECL proctitle >= 0.1.0)

setproctitle — Establecer el título de proceso

Descripción

void setproctitle ( string $title )

Establece el título de proceso del proceso actual.

Parámetros

title

El título que se utilizará como título de proceso.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 setproctitle() ejemplo

Ejecutar el siguiente ejemplo va a cambiar el título de proceso (visible con ps a, por ejemplo).

<?php
setproctitle("myscript");
?>

El resultado del ejemplo sería algo similar a:

$ ps a
  PID TTY      STAT   TIME COMMAND
 1168 pts/3    S      0:00 myscript

Ver también

  • pcntl_fork() - Forks the currently running process
  • setthreadtitle() - Set the thread title
Proctitle Funciones
setthreadtitle
Proctitle Funciones


Set the thread title

setproctitle
xattr
Proctitle Funciones
PHP Manual

setthreadtitle

(PECL proctitle >= 0.1.2)

setthreadtitle — Set the thread title

Descripción

bool setthreadtitle ( string $title )

Establece el título del hilo.

Parámetros

title

El título que se utilizará como título del hilo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 setthreadtitle() ejemplo

Ejecutar el siguiente ejemplo va a cambiar el título del hilo (visible con ps c, por ejemplo).

<?php
setthreadtitle("myscript");
?>

El resultado del ejemplo sería algo similar a:

$ ps c
  PID TTY      STAT   TIME COMMAND
 1178 pts/3    S      0:00 myscript

Ver también

  • pcntl_fork() - Forks the currently running process
  • setproctitle() - Establecer el título de proceso
setproctitle
xattr
Proctitle Funciones


xattr

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de xattr
    • xattr_get — Obtener un atributo extendido
    • xattr_list — Obtener una lista de atributos extendidos
    • xattr_remove — Elimina un atributo extendido
    • xattr_set — Establece un atributo extendido
    • xattr_supported — Comprueba si soporta los atributos extendidos del sistema de archivos
setthreadtitle
Introducción
Extensiones relacionadas con el sistema de ficheros


Introducción

La extensión xattr permite la manipulación de los atributos extendidos de un sistema de archivos.

xattr
Instalación/Configuración
xattr


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
xattr


Requerimientos

Para utilizar xattr, se necesita tener libattr instalado. Este está disponible en » http://oss.sgi.com/projects/xfs/.

Nota:

Estas funciones sólo funcionan en sistemas de archivos que soportan atributos extendidos, y haya activado durante la instalación. Algunos sistemas de ficheros comunes que soportan atributos extendidos son ext2, ext3, reiserfs, jfs, and xfs.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/xattr.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

XATTR_ROOT (integer)
Establece atributos en la raíz (segura) de espacio de nombres. Requiere privilegios de administrador.
XATTR_DONTFOLLOW (integer)
No sigue el enlace simbólico pero se puede operar en este.
XATTR_CREATE (integer)
La función falla si el atributo extendido ya existe.
XATTR_REPLACE (integer)
La función falla si el atributo extendido no existe.
Tipos de recursos
Funciones de xattr
xattr


Funciones de xattr

Tabla de contenidos

  • xattr_get — Obtener un atributo extendido
  • xattr_list — Obtener una lista de atributos extendidos
  • xattr_remove — Elimina un atributo extendido
  • xattr_set — Establece un atributo extendido
  • xattr_supported — Comprueba si soporta los atributos extendidos del sistema de archivos
Constantes predefinidas
xattr_get
xattr


Obtener un atributo extendido

Funciones de xattr
xattr_list
Funciones de xattr
PHP Manual

xattr_get

(PECL xattr >= 0.9.0)

xattr_get — Obtener un atributo extendido

Descripción

string xattr_get ( string $filename , string $name [, int $flags = 0 ] )

Esta función obtiene el valor de un atributo extendido del archivo.

Los atributos extendidos tienen dos espacios de nombres diferentes: de usuario y raíz. El de usuario está disponible para todos los usuarios, mientras que el espacio de nombres raíz está disponible sólo para usuarios con privilegios root. xattr opera en el espacio de nombres de usuario por defecto, pero esto puede ser cambiado con el parámetro flags.

Parámetros

filename

El archivo de la cual obtenemos el atributo.

name

El nombre del atributo.

flags

Banderas xattr soportadas
XATTR_DONTFOLLOW | No sigue el enlace simbólico pero se puede operar en este.
XATTR_ROOT | Establece atributos en la raíz (segura) de espacio de nombres. Requiere privilegios de administrador.

Valores devueltos

Devuelve un string que contiene el valor o FALSE si el atributo no existe.

Ejemplos

Ejemplo #1 Comprueba si el administrador del sistema firmó el archivo

<?php
$file = '/usr/local/sbin/some_binary';
$firma = xattr_get($file, 'Root signature', XATTR_ROOT);

/* ... Comprobar si la $firma es válida ... */

?>

Ver también

  • xattr_list() - Obtener una lista de atributos extendidos
  • xattr_set() - Establece un atributo extendido
  • xattr_remove() - Elimina un atributo extendido

Funciones de xattr
xattr_list
Funciones de xattr


Obtener una lista de atributos extendidos

xattr_get
xattr_remove
Funciones de xattr
PHP Manual

xattr_list

(PECL xattr >= 0.9.0)

xattr_list — Obtener una lista de atributos extendidos

Descripción

array xattr_list ( string $filename [, int $flags = 0 ] )

Esta función obtiene una lista de nombres de los atributos extendidos de un archivo.

Los atributos extendidos tienen dos espacios de nombres diferentes: de usuario y raíz. El de usuario está disponible para todos los usuarios, mientras que el espacio de nombres raíz está disponible sólo para usuarios con privilegios root. xattr opera en el espacio de nombres de usuario por defecto, pero esto puede ser cambiado con el parámetro flags.

Parámetros

filename

La ruta del archivo.

flags

Banderas xattr soportadas
XATTR_DONTFOLLOW | No sigue el enlace simbólico pero se puede operar en este.
XATTR_ROOT | Establece atributos en la raíz (segura) de espacio de nombres. Requiere privilegios de administrador.

Valores devueltos

Esta función devuelve un array con los nombres de los atributos extendidos.

Ejemplos

Ejemplo #1 Imprime los nombres de todos los atributos extendidos del archivo

<?php
$file = 'some_file';
$root_attributes = xattr_list($file, XATTR_ROOT);
$user_attributes = xattr_list($file);

echo "Atributos Root: \n";
foreach ($root_attributes as $attr_name) {
    printf("%s\n", $attr_name);
}

echo "\n Atributos usuario: \n";
foreach ($attributes as $attr_name) {
    printf("%s\n", $attr_name);
}

?>

Ver también

  • xattr_get() - Obtener un atributo extendido

xattr_get
xattr_remove
Funciones de xattr


Elimina un atributo extendido

xattr_list
xattr_set
Funciones de xattr
PHP Manual

xattr_remove

(PECL xattr >= 0.9.0)

xattr_remove — Elimina un atributo extendido

Descripción

bool xattr_remove ( string $filename , string $name [, int $flags = 0 ] )

Esta función elimina un atributo extendido del archivo.

Los atributos extendidos tienen dos espacios de nombres diferentes: de usuario y raíz. El de usuario está disponible para todos los usuarios, mientras que el espacio de nombres raíz está disponible sólo para usuarios con privilegios root. xattr opera en el espacio de nombres de usuario por defecto, pero esto puede ser cambiado con el parámetro flags.

Parámetros

filename

El archivo del que se elimina el atributo.

name

El nombre del atributo a eliminar.

flags

Banderas xattr soportadas
XATTR_DONTFOLLOW | No sigue el enlace simbólico pero se puede operar en este.
XATTR_ROOT | Establece atributos en la raíz (segura) de espacio de nombres. Requiere privilegios de administrador.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Elimina todos los atributos extendidos de un archivo

<?php
$file = 'some_file';
$attributes = xattr_list($file);

foreach ($attributes as $attr_name) {
    xattr_remove($file, $attr_name);
}
?>

Ver también

  • xattr_list() - Obtener una lista de atributos extendidos
  • xattr_set() - Establece un atributo extendido
  • xattr_get() - Obtener un atributo extendido

xattr_list
xattr_set
Funciones de xattr


Establece un atributo extendido

xattr_remove
xattr_supported
Funciones de xattr
PHP Manual

xattr_set

(PECL xattr >= 0.9.0)

xattr_set — Establece un atributo extendido

Descripción

bool xattr_set ( string $filename , string $name , string $value [, int $flags = 0 ] )

Esta función establece el valor de un atributo extendido del archivo.

Los atributos extendidos tienen dos espacios de nombres diferentes: de usuario y raíz. El de usuario está disponible para todos los usuarios, mientras que el espacio de nombres raíz está disponible sólo para usuarios con privilegios root. xattr opera en el espacio de nombres de usuario por defecto, pero esto puede ser cambiado con el parámetro flags.

Parámetros

filename

El archivo en el que se establece el atributo.

name

El nombre del atributo extendido. Este atributo se crea si no existe o reemplazado si ya existe. Puede cambiar este comportamiento mediante el uso de los parámetros flags.

value

El valor del atributo.

flags

Banderas xattr soportadas
XATTR_CREATE | La función falla si el atributo extendido ya existe.
XATTR_REPLACE | La función falla si el atributo extendido no existe.
XATTR_DONTFOLLOW | No sigue el enlace simbólico pero se puede operar en este.
XATTR_ROOT | Establece atributos en la raíz (segura) de espacio de nombres. Requiere privilegios de administrador.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Establece atributos extendidos en archivo .wav

<?php
$file = 'my_favourite_song.wav';
xattr_set($file, 'Artist', 'Someone');
xattr_set($file, 'My ranking', 'Good');
xattr_set($file, 'Listen count', '34');

/* ... other code ... */

printf("You've played this song %d times", xattr_get($file, 'Listen count'));
?>

Ver también

  • xattr_get() - Obtener un atributo extendido
  • xattr_remove() - Elimina un atributo extendido

xattr_remove
xattr_supported
Funciones de xattr


Comprueba si soporta los atributos extendidos del sistema de archivos

xattr_set
xdiff
Funciones de xattr
PHP Manual

xattr_supported

(PECL xattr >= 1.0.0)

xattr_supported — Comprueba si soporta los atributos extendidos del sistema de archivos

Descripción

bool xattr_supported ( string $filename [, int $flags = 0 ] )

Esta función comprueba si el sistema de archivos que contenía el fichero dado soporta los atributos extendidos. Es necesario tener acceso de lectura al archivo.

Parámetros

filename

La ruta del archivo de prueba.

flags

Banderas xattr soportadas
XATTR_DONTFOLLOW No sigue el enlace simbólico pero se puede operar en este.

Valores devueltos

Esta función devuelve TRUE si sistema de archivo soporta los atributos extendidos, FALSE si no soporta y NULL si no se puede determinar (Por ejemplo ruta incorrecta o le faltan permisos al archivo).

Ejemplos

Ejemplo #1 Ejemplo de xattr_supported()

El siguiente código comprueba si se pueden utilizar los atributos extendidos.

<?php
$file = 'some_file';

if (xattr_supported($file)) {
    /* ... make use of some xattr_* functions ... */
}

?>

Ver también

  • xattr_get() - Obtener un atributo extendido
  • xattr_list() - Obtener una lista de atributos extendidos

xattr_set
xdiff
Funciones de xattr


xdiff

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de xdiff
    • xdiff_file_bdiff_size — Lee el tamaño de un archivo creado tras aplicar una diferencia binaria
    • xdiff_file_bdiff — Realiza una diferencia binaria de dos archivos
    • xdiff_file_bpatch — Parchea un archivo con una diferencia binaria
    • xdiff_file_diff_binary — Alias de xdiff_file_bdiff
    • xdiff_file_diff — Hacer un diff unificado de dos archivos
    • xdiff_file_merge3 — Une 3 archivos en uno
    • xdiff_file_patch_binary — Alias de xdiff_file_bpatch
    • xdiff_file_patch — Parchea un archivo con un diff unificado
    • xdiff_file_rabdiff — Hacer una diferencia binaria de dos archivos utilizando el algoritmo polinomial de huella digital (fingerprinting) de Rabin
    • xdiff_string_bdiff_size — Lee el tamaño de un archivo creado tras aplicar una diferencia binaria
    • xdiff_string_bdiff — Hacer una diferencia binaria de dos cadenas
    • xdiff_string_bpatch — Parchear una cadena con una diferencia binaria
    • xdiff_string_diff_binary — Alias de xdiff_string_bdiff
    • xdiff_string_diff — Hacer un diff unificado de dos cadenas
    • xdiff_string_merge3 — Unir tres cadenas en una
    • xdiff_string_patch_binary — Alias de xdiff_string_bpatch
    • xdiff_string_patch — Parchear una cadena con un diff unificado
    • xdiff_string_rabdiff — Hacer una diferencia binaria de dos cadenas utilizando el algoritmo polinomial de huella digital (fingerprinting) de Rabin
xattr_supported
Introducción
Extensiones relacionadas con el sistema de ficheros


Introducción

La extensión xdiff permite crear y aplicar archivos parche que contienen diferencias entre diferentes revisiones de archivos.

Esta extensión soporta dos modos de funcionamiento - sobre cadenas y sobre archivos, así como dos formatos de parches diferentes - unificado y binario. Los parches unificados son excelentes para archivos de texto, ya que son legibles y fáciles de revisar. Para los archivos binarios como archivos o imágenes, los parches binarios serán la opción adecuada, ya que ellos son binary safe y manejan caracteres no imprimibles.

A partir de la versión 1.5.0 hay dos diferentes conjuntos de funciones para la generación de parches binarios. Las nuevas funciones - xdiff_string_rabdiff() xdiff_file_rabdiff() generan salidas compatibles con funciones más antiguas pero suelen ser más rápidas y generan resultados más pequeños. Para más detalles sobre los métodos de la generación de parches binarios y diferencias entre ellos, por favor consulte la website » libxdiff.

Esta extensión utiliza libxdiff para implementar estas funciones. Consulte » http://www.xmailserver.org/xdiff-lib.html para mayor información.

xdiff
Instalación/Configuración
xdiff


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
xdiff


Requerimientos

Para usar xdiff, necesitarás tener instalado libxdiff, disponible en la web de libxdiff » http://www.xmailserver.org/xdiff-lib.html.

Nota:

Neceitarás al menos libxdiff 0.7 para que estas funciones tengan en cuenta memory_limit.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/xdiff.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

XDIFF_PATCH_NORMAL (integer)
Este indicador indica que las funciones xdiff_string_patch() y xdiff_file_patch() deben crear el resultado de aplicar el parche al contenido original, creando así una versión más reciente del archivo. Este es el modo por defecto de funcionamiento.
XDIFF_PATCH_REVERSE (integer)
Este indicador indica que las funciones xdiff_string_patch() y xdiff_file_patch() deben crear el resultado de revertir el parche de modificación desde el nuevo contenido, creando así la versión original.
Tipos de recursos
Funciones de xdiff
xdiff


Funciones de xdiff

Tabla de contenidos

  • xdiff_file_bdiff_size — Lee el tamaño de un archivo creado tras aplicar una diferencia binaria
  • xdiff_file_bdiff — Realiza una diferencia binaria de dos archivos
  • xdiff_file_bpatch — Parchea un archivo con una diferencia binaria
  • xdiff_file_diff_binary — Alias de xdiff_file_bdiff
  • xdiff_file_diff — Hacer un diff unificado de dos archivos
  • xdiff_file_merge3 — Une 3 archivos en uno
  • xdiff_file_patch_binary — Alias de xdiff_file_bpatch
  • xdiff_file_patch — Parchea un archivo con un diff unificado
  • xdiff_file_rabdiff — Hacer una diferencia binaria de dos archivos utilizando el algoritmo polinomial de huella digital (fingerprinting) de Rabin
  • xdiff_string_bdiff_size — Lee el tamaño de un archivo creado tras aplicar una diferencia binaria
  • xdiff_string_bdiff — Hacer una diferencia binaria de dos cadenas
  • xdiff_string_bpatch — Parchear una cadena con una diferencia binaria
  • xdiff_string_diff_binary — Alias de xdiff_string_bdiff
  • xdiff_string_diff — Hacer un diff unificado de dos cadenas
  • xdiff_string_merge3 — Unir tres cadenas en una
  • xdiff_string_patch_binary — Alias de xdiff_string_bpatch
  • xdiff_string_patch — Parchear una cadena con un diff unificado
  • xdiff_string_rabdiff — Hacer una diferencia binaria de dos cadenas utilizando el algoritmo polinomial de huella digital (fingerprinting) de Rabin
Constantes predefinidas
xdiff_file_bdiff_size
xdiff


Lee el tamaño de un archivo creado tras aplicar una diferencia binaria

Funciones de xdiff
xdiff_file_bdiff
Funciones de xdiff
PHP Manual

xdiff_file_bdiff_size

(PECL xdiff >= 1.5.0)

xdiff_file_bdiff_size — Lee el tamaño de un archivo creado tras aplicar una diferencia binaria

Descripción

int xdiff_file_bdiff_size ( string $file )

Devuelve el tamaño de un archivo resultado que se creó después de aplicar el parche binario desde el archivo file a el archivo original.

Parámetros

file

La ruta al parche binario creado por la función xdiff_string_bdiff() o xdiff_string_rabdiff().

Valores devueltos

Devuelve el tamaño del archivo que se creará.

Ejemplos

Ejemplo #1 Ejemplo de xdiff_file_bdiff_size()

El siguiente código lee el tamaño de un archivo que se creará tras realizar una diferencia binaria.

<?php
$length = xdiff_string_bdiff_size('file.bdiff');
echo "El archivo resultante tendrá $length bytes de longitud";
?>

Ver también

  • xdiff_file_bdiff() - Realiza una diferencia binaria de dos archivos
  • xdiff_file_rabdiff() - Hacer una diferencia binaria de dos archivos utilizando el algoritmo polinomial de huella digital (fingerprinting) de Rabin
  • xdiff_file_bpatch() - Parchea un archivo con una diferencia binaria

Funciones de xdiff
xdiff_file_bdiff
Funciones de xdiff


Realiza una diferencia binaria de dos archivos

xdiff_file_bdiff_size
xdiff_file_bpatch
Funciones de xdiff
PHP Manual

xdiff_file_bdiff

(PECL xdiff >= 1.5.0)

xdiff_file_bdiff — Realiza una diferencia binaria de dos archivos

Descripción

bool xdiff_file_bdiff ( string $old_file , string $new_file , string $dest )

Hace una diferencia binaria de dos archivos y almacena el resultado en un archivo de revisión. Esta función trabaja con archivos de texto y binarios. El archivo parche resultante puede ser aplicado posteriormente utilizando xdiff_file_bpatch()/ xdiff_string_bpatch().

Parámetros

old_file

Ruta a el primer archivo. Este archivo actúa como "viejo" archivo.

new_file

Ruta a el segundo archivo. Este archivo actúa como "nuevo" archivo.

dest

Ruta de el archivo parche resultante. El archivo resultante contiene diferencias entre los archivos "viejo" y "nuevo". Este será en formato binario y no leible por humanos.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de xdiff_file_bdiff()

El siguiente código hace una diferencia binaria de dos archivos.

<?php
$old_version = 'my_script_1.0.tgz';
$new_version = 'my_script_1.1.tgz';

xdiff_file_bdiff($old_version, $new_version, 'my_script.bdiff');
?>

Notas

Nota:

Ambos archivos serán cargados en memoria así que asegúrese que el valor de memory_limit es lo suficientemente alto.

Ver también

  • xdiff_file_bpatch() - Parchea un archivo con una diferencia binaria

xdiff_file_bdiff_size
xdiff_file_bpatch
Funciones de xdiff


Parchea un archivo con una diferencia binaria

xdiff_file_bdiff
xdiff_file_diff_binary
Funciones de xdiff
PHP Manual

xdiff_file_bpatch

(PECL xdiff >= 1.5.0)

xdiff_file_bpatch — Parchea un archivo con una diferencia binaria

Descripción

bool xdiff_file_bpatch ( string $file , string $patch , string $dest )

Parchea un file con un patch binario y almacena el resultado en un archivo dest. Esta función acepta parches creados tanto a través de la funciones xdiff_file_bdiff() y xdiff_file_rabdiff() como de sus equivalentes de cadena.

Parámetros

file

El archivo original.

patch

El archivo parche binario.

dest

La ruta del archivo resultante.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 xdiff_file_bpatch() example

El siguiente código aplica una diferencia binaria a un archivo.

<?php
$old_version = 'archive-1.0.tgz';
$patch = 'archive.bpatch';

$result = xdiff_file_bpatch($old_version, $patch, 'archive-1.1.tgz');
if ($result) {
   echo "Archivo parcheado";
} else {
   echo "El archivo no pudo ser parcheado";
}

?>

Notas

Nota:

Ambos archivos (file y patch) serán cargados en memoria así que asegúrese que el valor de memory_limit es lo suficientemente alto.

Ver también

  • xdiff_file_bdiff() - Realiza una diferencia binaria de dos archivos
  • xdiff_file_rabdiff() - Hacer una diferencia binaria de dos archivos utilizando el algoritmo polinomial de huella digital (fingerprinting) de Rabin

xdiff_file_bdiff
xdiff_file_diff_binary
Funciones de xdiff


Alias de xdiff_file_bdiff

xdiff_file_bpatch
xdiff_file_diff
Funciones de xdiff
PHP Manual

xdiff_file_diff_binary

(PECL xdiff >= 0.2.0)

xdiff_file_diff_binary — Alias de xdiff_file_bdiff

Descripción

bool xdiff_file_diff_binary ( string $old_file , string $new_file , string $dest )

Hace una diferencia binaria de dos archivos y almacena el resultado en un archivo de revisión. Esta función trabaja con archivos de texto y binarios. El archivo parche resultante puede ser posteriormente aplicado con xdiff_file_bpatch().

Desde la versión 1.5.0 de esta función es un alias de xdiff_file_bdiff().

Parámetros

old_file

Ruta a el primer archivo. Este archivo actúa como "viejo" archivo.

new_file

Ruta a el segundo archivo. Este archivo actúa como "nuevo" archivo.

dest

Ruta de el archivo parche resultante. El archivo resultante contiene diferencias entre los archivos "viejo" y "nuevo". Este será en formato binario y no legible por humanos.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de xdiff_file_diff_binary()

El siguiente código hace una diferencia binaria de dos archivos.

<?php
$old_version = 'my_script_1.0.tgz';
$new_version = 'my_script_1.1.tgz';

xdiff_file_diff_binary($old_version, $new_version, 'my_script.bdiff');
?>

Notas

Nota:

Ambos archivos serán cargados en memoria así que asegúrese que el valor de memory_limit es lo suficientemente alto.

Ver también

  • xdiff_file_bdiff() - Realiza una diferencia binaria de dos archivos
  • xdiff_file_bpatch() - Parchea un archivo con una diferencia binaria

xdiff_file_bpatch
xdiff_file_diff
Funciones de xdiff


Hacer un diff unificado de dos archivos

xdiff_file_diff_binary
xdiff_file_merge3
Funciones de xdiff
PHP Manual

xdiff_file_diff

(PECL xdiff >= 0.2.0)

xdiff_file_diff — Hacer un diff unificado de dos archivos

Descripción

bool xdiff_file_diff ( string $old_file , string $new_file , string $dest [, int $context = 3 [, bool $minimal = false ]] )

Hace un diff unificado que contiene las diferencias entre old_file y new_file y almacena este en el archivo dest. El archivo resultante es legible. Un parámetro opcional context especifica el número de líneas de contexto que hay que añadir alrededor de cada cambio. Establecer el parámetro minimal a true dará como resultado de salida el archivo parche más corto posible (puede tomar algo de tiempo).

Parámetros

old_file

Ruta a el primer archivo. Este archivo actúa como "viejo" archivo.

new_file

Ruta a el segundo archivo. Este archivo actúa como "nuevo" archivo.

dest

Ruta del archivo parche resultante.

context

Indica el número de líneas de contexto que desea incluir en el resultado diff.

minimal

Establezca este parámetro a TRUE si desea reducir el tamaño del resultado (puede tomar algo de tiempo).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de xdiff_file_diff()

El siguiente código hace un diff unificado de dos archivos php con una longitud de contexto de 2.

<?php
$old_version = 'my_script.php';
$new_version = 'my_new_script.php';

xdiff_file_diff($old_version, $new_version, 'my_script.diff', 2);
?>

Notas

Nota:

Esta función no funciona bien con archivos binarios. Para hacer una diferencia binaria de archivos utilice la xdiff_file_bdiff()/ xdiff_file_rabdiff().

Ver también

  • xdiff_file_patch() - Parchea un archivo con un diff unificado

xdiff_file_diff_binary
xdiff_file_merge3
Funciones de xdiff


Une 3 archivos en uno

xdiff_file_diff
xdiff_file_patch_binary
Funciones de xdiff
PHP Manual

xdiff_file_merge3

(PECL xdiff >= 0.2.0)

xdiff_file_merge3 — Une 3 archivos en uno

Descripción

mixed xdiff_file_merge3 ( string $old_file , string $new_file1 , string $new_file2 , string $dest )

Une tres archivos en uno y almacena el resultado en un archivo dest. El old_file es una versión original mientras new_file1 y new_file2 son versiones modificadas de un original.

Parámetros

old_file

Ruta a el primer archivo. Este archivo actúa como "viejo" archivo.

new_file1

Ruta a el segundo archivo. Este actúa como una versión modificada de old_file.

new_file2

Ruta a el tercer archivo. Este actúa como una versión modificada de old_file.

dest

La ruta del archivo resultante, contiene la unión modificada de new_file1 y new_file2.

Valores devueltos

Devuelve TRUE si la unión fue satisfactoria, una cadena con fragmento erróneo si esta no lo fue o FALSE si ocurrió un error interno.

Ejemplos

Ejemplo #1 Ejemplo de xdiff_file_merge3()

El código siguiente combina tres archivos en uno.

<?php
$old_version = 'original_script.php';
$fix1 = 'script_with_fix1.php';
$fix2 = 'script_with_fix2.php';

$errors = xdiff_file_merge3($old_version, $fix1, $fix2, 'fixed_script.php');
if (is_string($errors)) {
    echo "Rejects:\n";
    echo $errors;
}
?>

Ver también

  • xdiff_string_merge3() - Unir tres cadenas en una

xdiff_file_diff
xdiff_file_patch_binary
Funciones de xdiff


Alias de xdiff_file_bpatch

xdiff_file_merge3
xdiff_file_patch
Funciones de xdiff
PHP Manual

xdiff_file_patch_binary

(PECL xdiff >= 0.2.0)

xdiff_file_patch_binary — Alias de xdiff_file_bpatch

Descripción

bool xdiff_file_patch_binary ( string $file , string $patch , string $dest )

Parchea un file con un patch binario y almacena el resultado en un archivo dest. Esta función acepta parches creados tanto a través de funciones xdiff_file_bdiff() o xdiff_file_rabdiff() como de sus equivalentes de cadena.

Desde la versión 1.5.0 esta función es un alias de xdiff_file_bpatch().

Parámetros

file

El archivo original.

patch

El archivo parche binario.

dest

La ruta de el archivo resultante.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de xdiff_file_patch_binary()

El siguiente código aplica una diferencia binaria a un archivo.

<?php
$old_version = 'archive-1.0.tgz';
$patch = 'archive.bpatch';

$result = xdiff_file_patch_binary($old_version, $patch, 'archive-1.1.tgz');
if ($result) {
   echo "Archivo parcheado";
} else {
   echo "El archivo no pudo ser parcheado";
}

?>

Notas

Nota:

Ambos archivos (file y patch) serán cargados en memoria así que asegúrese que el valor de memory_limit es lo suficientemente alto.

Ver también

  • xdiff_string_patch_binary() - Alias de xdiff_string_bpatch

xdiff_file_merge3
xdiff_file_patch
Funciones de xdiff


Parchea un archivo con un diff unificado

xdiff_file_patch_binary
xdiff_file_rabdiff
Funciones de xdiff
PHP Manual

xdiff_file_patch

(PECL xdiff >= 0.2.0)

xdiff_file_patch — Parchea un archivo con un diff unificado

Descripción

mixed xdiff_file_patch ( string $file , string $patch , string $dest [, int $flags = DIFF_PATCH_NORMAL ] )

Parchea un file con un patch y almacena el resultado en un archivo. patch tiene que ser un diff unificado creado por la función xdiff_file_diff()/ xdiff_string_diff(). Un parámetro opcional flags especifica el modo de operación.

Parámetros

file

El archivo original.

patch

El archivo de revisión unificado. Este tiene que ser creado con las funciones xdiff_string_diff(), xdiff_file_diff() o herramientas compatibles.

dest

Ruta de el archivo resultante.

flags

Puede ser XDIFF_PATCH_NORMAL (modo por defecto, parche normal) o XDIFF_PATCH_REVERSE (parche invertido).

A partir de la versión 1.5.0, también puede utilizar binario OR para habilitar el indicador XDIFF_PATCH_IGNORESPACE.

Valores devueltos

Devuelve FALSE si ocurrió un error interno, una cadena con fragmento erróneo si el parche no pudo ser aplicado o TRUE si el parche fue aplicado con éxito.

Ejemplos

Ejemplo #1 Ejemplo de xdiff_file_patch()

El siguiente código aplica un diff unificado a un archivo.

<?php
$old_version = 'my_script-1.0.php';
$patch = 'my_script.patch';

$errors = xdiff_file_patch($old_version, $patch, 'my_script-1.1.php');
if (is_string($errors)) {
   echo "Rejects:\n";
   echo $errors;
}

?>

Ejemplo #2 Ejemplo de parche invertido

El código siguiente invierte un parche.

<?php
$new_version = 'my_script-1.1.php';
$patch = 'my_script.patch';

$errors = xdiff_file_patch($new_version, $patch, 'my_script-1.0.php', XDIFF_PATCH_REVERSE);
if (is_string($errors)) {
   echo "Fragmentos erróneos:\n";
   echo $errors;
}

?>

Ver también

  • xdiff_file_diff() - Hacer un diff unificado de dos archivos

xdiff_file_patch_binary
xdiff_file_rabdiff
Funciones de xdiff


Hacer una diferencia binaria de dos archivos utilizando el algoritmo polinomial de huella digital (fingerprinting) de Rabin

xdiff_file_patch
xdiff_string_bdiff_size
Funciones de xdiff
PHP Manual

xdiff_file_rabdiff

(PECL xdiff >= 1.5.0)

xdiff_file_rabdiff — Hacer una diferencia binaria de dos archivos utilizando el algoritmo polinomial de huella digital (fingerprinting) de Rabin

Descripción

bool xdiff_file_rabdiff ( string $old_file , string $new_file , string $dest )

Hace una diferencia binaria de dos archivos y almacena el resultado en un archivo de revisión. La diferencia entre esta función y xdiff_file_bdiff() es el diferente algoritmo que se utiliza que debería traducirse en una ejecución más rápida y un diff producido menor. Esta función trabaja con archivos de texto y binarios. El archivo parche resultante puede ser posteriormente aplicado utilizando xdiff_file_bpatch()/ xdiff_string_bpatch().

Para obtener más información sobre las diferencias entre el algoritmo utilizado por favor vea el sitio web » libxdiff

Parámetros

old_file

Ruta a el primer archivo. Este archivo actúa como "viejo" archivo.

new_file

Ruta a el segundo archivo. Este archivo actúa como "nuevo" archivo.

dest

Ruta de el archivo parche resultante. El archivo resultante contiene diferencias entre los archivos "viejo" y "nuevo". Este será en formato binario y no legible por humanos.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de xdiff_file_rabdiff()

El siguiente código hace una diferencia binaria de dos archivos.

<?php
$old_version = 'my_script_1.0.tgz';
$new_version = 'my_script_1.1.tgz';

xdiff_file_rabdiff($old_version, $new_version, 'my_script.bdiff');
?>

Notas

Nota:

Ambos archivos serán cargados en memoria así que asegúrese que el valor de memory_limit es lo suficientemente alto.

Ver también

  • xdiff_file_bpatch() - Parchea un archivo con una diferencia binaria

xdiff_file_patch
xdiff_string_bdiff_size
Funciones de xdiff


Lee el tamaño de un archivo creado tras aplicar una diferencia binaria

xdiff_file_rabdiff
xdiff_string_bdiff
Funciones de xdiff
PHP Manual

xdiff_string_bdiff_size

(PECL xdiff >= 1.5.0)

xdiff_string_bdiff_size — Lee el tamaño de un archivo creado tras aplicar una diferencia binaria

Descripción

int xdiff_string_bdiff_size ( string $patch )

Devuelve el tamaño de un archivo resultante que será creado tras aplicar el patch binario a el archivo original.

Parámetros

patch

El parche binario creado por la función xdiff_string_bdiff() o xdiff_string_rabdiff().

Valores devueltos

Devuelve el tamaño del archivo que fue creado.

Ejemplos

Ejemplo #1 Ejemplo de xdiff_string_bdiff_size()

El siguiente código lee el tamaño de un archivo que fue creado tras aplicar una diferencia binaria.

<?php
$binary_patch = file_get_contents('file.bdiff');
$length = xdiff_string_bdiff_size($binary_patch);
echo "El archivo resultante tendrá $length bytes de longitud";
?>

Ver también

  • xdiff_string_bdiff() - Hacer una diferencia binaria de dos cadenas
  • xdiff_string_rabdiff() - Hacer una diferencia binaria de dos cadenas utilizando el algoritmo polinomial de huella digital (fingerprinting) de Rabin
  • xdiff_string_bpatch() - Parchear una cadena con una diferencia binaria

xdiff_file_rabdiff
xdiff_string_bdiff
Funciones de xdiff


Hacer una diferencia binaria de dos cadenas

xdiff_string_bdiff_size
xdiff_string_bpatch
Funciones de xdiff
PHP Manual

xdiff_string_bdiff

(PECL xdiff >= 1.5.0)

xdiff_string_bdiff — Hacer una diferencia binaria de dos cadenas

Descripción

string xdiff_string_bdiff ( string $old_data , string $new_data )

Hace una diferencia binaria de dos cadenas y devuelve el resultado. Esta función trabaja con texto y datos binarios. El parche resultante puede ser posteriormente aplicado utilizando xdiff_string_bpatch()/ xdiff_file_bpatch().

Parámetros

old_data

Primera cadena con información binaria. Esta actúa como "vieja" información.

new_data

Segunda cadena con información binaria. Esta actúa como "nueva" información.

Valores devueltos

Devuelve la cadena con la diferencia binaria conteniendo las diferencias entre "vieja" y "nueva" información o FALSE si se producido un error interno.

Ver también

  • xdiff_string_bpatch() - Parchear una cadena con una diferencia binaria

xdiff_string_bdiff_size
xdiff_string_bpatch
Funciones de xdiff


Parchear una cadena con una diferencia binaria

xdiff_string_bdiff
xdiff_string_diff_binary
Funciones de xdiff
PHP Manual

xdiff_string_bpatch

(PECL xdiff >= 1.5.0)

xdiff_string_bpatch — Parchear una cadena con una diferencia binaria

Descripción

string xdiff_string_bpatch ( string $str , string $patch )

Parchea una cadena str con un patch binario. Esta función acepta parches creados tanto a través de las funciones xdiff_string_bdiff() y xdiff_string_rabdiff() o su archivo homólogo equivalente.

Parámetros

str

La cadena binaria original.

patch

La cadena parche binaria.

Valores devueltos

Devuelve la cadena parcheada, o FALSE en caso de error.

Ver también

  • xdiff_string_bdiff() - Hacer una diferencia binaria de dos cadenas
  • xdiff_string_rabdiff() - Hacer una diferencia binaria de dos cadenas utilizando el algoritmo polinomial de huella digital (fingerprinting) de Rabin

xdiff_string_bdiff
xdiff_string_diff_binary
Funciones de xdiff


Alias de xdiff_string_bdiff

xdiff_string_bpatch
xdiff_string_diff
Funciones de xdiff
PHP Manual

xdiff_string_diff_binary

(PECL xdiff >= 0.2.0)

xdiff_string_diff_binary — Alias de xdiff_string_bdiff

Descripción

string xdiff_string_bdiff ( string $old_data , string $new_data )

Hace una diferencia binaria de dos cadenas y devuelve el resultado. Esta función trabaja con texto y datos binarios. El parche resultante puede ser posteriormente aplicado utilizando xdiff_string_bpatch()/ xdiff_file_bpatch().

Desde la versión 1.5.0 esta función es un alias de xdiff_string_bdiff().

Parámetros

old_data

Primera cadena con información binaria. Esta actúa como "vieja" información.

new_data

Segunda cadena con información binaria. Esta actúa como "nueva" información.

Valores devueltos

Devuelve cadena con resultado o FALSE si se produce un error interno.

Ver también

  • xdiff_string_bdiff() - Hacer una diferencia binaria de dos cadenas
  • xdiff_string_bpatch() - Parchear una cadena con una diferencia binaria

xdiff_string_bpatch
xdiff_string_diff
Funciones de xdiff


Hacer un diff unificado de dos cadenas

xdiff_string_diff_binary
xdiff_string_merge3
Funciones de xdiff
PHP Manual

xdiff_string_diff

(PECL xdiff >= 0.2.0)

xdiff_string_diff — Hacer un diff unificado de dos cadenas

Descripción

string xdiff_string_diff ( string $old_data , string $new_data [, int $context = 3 [, bool $minimal = false ]] )

Hace un diff unificado que contiene diferencias entre la cadena old_data y la cadena new_data y devuelve esta. El diff resultante es legible. Un parámetro opcional context especifica el número de líneas de contexto que hay que añadir alrededor de cada cambio. Establecer el parámetro minimal a true dará como resultado de salida el archivo parche más corto posible (puede tomar algo de tiempo).

Parámetros

old_data

Primera cadena con información. Esta actúa como "vieja" información.

new_data

Segunda cadena con información. Esta actúa como "nueva" información.

context

Indica el número de líneas de contexto que desea incluir en el diff resultado.

minimal

Establezca este parámetro a TRUE si desea reducir el tamaño del resultado (puede tomar algo de tiempo).

Valores devueltos

Returns string with resulting diff or FALSE if an internal error happened.

Ejemplos

Ejemplo #1 Ejemplo de xdiff_string_diff()

El siguiente código hace un diff unificado de dos artículos.

<?php
$old_article = file_get_contents('./old_article.txt');
$new_article = $_REQUEST['article']; /* Supongamos que alguien pega un nuevo artículo en formato html */

$diff = xdiff_string_diff($old_article, $new_article, 1);
if (is_string($diff)) {
    echo "Diferencias entre los dos artículos:\n";
    echo $diff;
}

?>

Notas

Nota:

Esta función no funciona bien con cadenas binarias. Para hacer un diff de cadena binaria utilice xdiff_string_bdiff()/ xdiff_string_rabdiff().

Ver también

  • xdiff_string_patch() - Parchear una cadena con un diff unificado

xdiff_string_diff_binary
xdiff_string_merge3
Funciones de xdiff


Unir tres cadenas en una

xdiff_string_diff
xdiff_string_patch_binary
Funciones de xdiff
PHP Manual

xdiff_string_merge3

(PECL xdiff >= 0.2.0)

xdiff_string_merge3 — Unir tres cadenas en una

Descripción

mixed xdiff_string_merge3 ( string $old_data , string $new_data1 , string $new_data2 [, string &$error ] )

Une tres cadenas en una y devuelve el resultado. El parámetro old_data es una versión original de los datos mientras new_file1 y new_file2 son versiones modificadas de un original. El parámetro opcional error es utilizado para admitir cualquier fragmento erróneo durante el proceso de unión.

Parámetros

old_data

Primera cadena con información. Esta actúa como "vieja" información.

new_data1

Segunda cadena con información. Esta actúa como versión modificada del old_data.

new_data2

La tercera cadena con información. Esta actúa como versión modificada del old_data.

error

Si se produce algún fragmento erróneo entonces se almacenan dentro de esta variable.

Valores devueltos

Devuelve la cadena unida, FALSE si se produce un error interno, o TRUE si la cadena unida está vacía.

Ver también

  • xdiff_file_merge3() - Une 3 archivos en uno

xdiff_string_diff
xdiff_string_patch_binary
Funciones de xdiff


Alias de xdiff_string_bpatch

xdiff_string_merge3
xdiff_string_patch
Funciones de xdiff
PHP Manual

xdiff_string_patch_binary

(PECL xdiff >= 0.2.0)

xdiff_string_patch_binary — Alias de xdiff_string_bpatch

Descripción

string xdiff_string_patch_binary ( string $str , string $patch )

Parchea una cadena str con un patch binario. Esta función acepta parches creados tanto a través de las funciones xdiff_string_bdiff() y xdiff_string_rabdiff() o de su archivo homólogo equivalente.

Desde la versión 1.5.0 esta función es un alias de xdiff_string_bpatch().

Parámetros

str

La cadena binaria original.

patch

La cadena parche binaria.

Valores devueltos

Devuelve la cadena parcheada, o FALSE en caso de error.

Ver también

  • xdiff_string_bpatch() - Parchear una cadena con una diferencia binaria
  • xdiff_string_bdiff() - Hacer una diferencia binaria de dos cadenas
  • xdiff_string_rabdiff() - Hacer una diferencia binaria de dos cadenas utilizando el algoritmo polinomial de huella digital (fingerprinting) de Rabin

xdiff_string_merge3
xdiff_string_patch
Funciones de xdiff


Parchear una cadena con un diff unificado

xdiff_string_patch_binary
xdiff_string_rabdiff
Funciones de xdiff
PHP Manual

xdiff_string_patch

(PECL xdiff >= 0.2.0)

xdiff_string_patch — Parchear una cadena con un diff unificado

Descripción

string xdiff_string_patch ( string $str , string $patch [, int $flags [, string &$error ]] )

Parchea una cadena str con un parche unificado en parámetro patch y devuelve el resultado. patch tiene que ser un diff unificado creado por la función xdiff_file_diff()/ xdiff_string_diff(). Un parámetro opcional flags especifica el modo de operación. Cualquier fragmento erróneo del parche será almacenado en el interior de la variable error si si esta es proporcionada.

Parámetros

str

La cadena original.

patch

La cadena parche unificada. Esta tiene que ser creada utilizando las funciones xdiff_string_diff(), xdiff_file_diff() o herramientas compatibles.

flags

flags uede ser XDIFF_PATCH_NORMAL (modo por defecto, parche normal) o XDIFF_PATCH_REVERSE (parche invertido).

A partir de la versión 1.5.0, también se puede utilizar binario OR para habilitar el indicador XDIFF_PATCH_IGNORESPACE.

error

Si se proporciona entonces los fragmentos erróneos se almacenan dentro de esta variable.

Valores devueltos

Devuelve la cadena parcheada, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de xdiff_string_patch()

El siguiente código aplica cambios en algún artículo.

<?php
$old_article = file_get_contents('./old_article.txt');
$diff = $_SERVER['patch']; /* Supongamos que alguien pega un parche para un formulario html */

$errors = '';

$new_article = xdiff_string_patch($old_article, $diff, XDIFF_PATCH_NORMAL, $errors);
if (is_string($new_article)) {
    echo "Nuevo artículo:\n";
    echo $new_article;
}

if (strlen($errors)) {
    echo "Fragmentos erróneos: \n";
    echo $errors;
}

?>

Ver también

  • xdiff_string_diff() - Hacer un diff unificado de dos cadenas

xdiff_string_patch_binary
xdiff_string_rabdiff
Funciones de xdiff


Hacer una diferencia binaria de dos cadenas utilizando el algoritmo polinomial de huella digital (fingerprinting) de Rabin

xdiff_string_patch
Soporte para lenguaje humano y codificación de caracteres
Funciones de xdiff
PHP Manual

xdiff_string_rabdiff

(PECL xdiff >= 1.5.0)

xdiff_string_rabdiff — Hacer una diferencia binaria de dos cadenas utilizando el algoritmo polinomial de huella digital (fingerprinting) de Rabin

Descripción

string xdiff_string_bdiff ( string $old_data , string $new_data )

Hace una diferencia binaria de dos cadenas y almacena el resultado. La diferencia entre esta función y xdiff_string_bdiff() es el diferente algoritmo que se utiliza que debería traducirse en una ejecución más rápida y un diff producido menor. Esta función trabaja con archivos de texto y binarios. El archivo parche resultante puede ser posteriormente aplicado utilizando xdiff_string_bpatch()/ xdiff_file_bpatch().

Para obtener más información sobre las diferencias entre el algoritmo utilizado por favor vea el sitio web » libxdiff

Parámetros

old_data

Primera cadena con información binaria. Esta actúa como "vieja" información.

new_data

Segunda cadena con información binaria. Esta actúa como "nueva" información.

Valores devueltos

Devuelve la cadena con la diferencia binaria conteniendo las diferencias entre "vieja" y "nueva" información o FALSE si se ha producido un error interno.

Ver también

  • xdiff_string_bpatch() - Parchear una cadena con una diferencia binaria

xdiff_string_patch
Soporte para lenguaje humano y codificación de caracteres
Funciones de xdiff


Soporte para lenguaje humano y codificación de caracteres

  • Enchant — Biblioteca de ortografía Enchant
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de Enchant
  • FriBiDi
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de FriBiDi
  • Gender — Averiguar género de un nombre
    • Introducción
    • Instalación/Configuración
    • Ejemplos
    • Gender\Gender — La clase Gender\Gender
  • Gettext
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de Gettext
  • iconv
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de iconv
  • intl — Funciones de internacionalización
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Collator — La clase Collator
    • NumberFormatter — La clase NumberFormatter
    • Locale — La clase Locale
    • Normalizer — La clase Normalizer
    • MessageFormatter — La clase MessageFormatter
    • IntlCalendar — La clase IntlCalendar
    • IntlTimeZone — La clase IntlTimeZone
    • IntlDateFormatter — La clase IntlDateFormatter
    • ResourceBundle — La clase ResourceBundle
    • Spoofchecker — La clase Spoofchecker
    • Transliterator — La clase Transliterator
    • IntlBreakIterator — La clase IntlBreakIterator
    • IntlRuleBasedBreakIterator — La clase IntlRuleBasedBreakIterator
    • IntlCodePointBreakIterator — La clase IntlCodePointBreakIterator
    • IntlPartsIterator — La clase IntlPartsIterator
    • UConverter — La clase UConverter
    • Funciones de Grapheme
    • Funciones de IDN
    • IntlException — Clase de excepciones para errores de intl
    • IntlIterator — La clase IntlIterator
    • Funciones de intl
  • Cadenas de caracteres multibyte
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Resumen de codificaciones soportadas
    • Lo básico sobre codificaciones multibytes del japonés
    • Entrada/Salida de HTTP
    • Codificaciones de caracteres admitidas
    • Sobrecarga de Funciones
    • Requerimientos para la codificación de caracteres en PHP
    • Funciones de cadenas de caracteres multibyte
  • Pspell
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de Pspell
  • Recode — GNU Recode
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de Recode
xdiff_string_rabdiff
Enchant
Referencia de funciones


Biblioteca de ortografía Enchant

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • Funciones de Enchant
    • enchant_broker_describe — Enumera los proveedores de Enchant
    • enchant_broker_dict_exists — Si existe o no un diccionario. Usando una etiqueta no vacía
    • enchant_broker_free_dict — Liberar un recurso de diccionario
    • enchant_broker_free — Liberar el recurso de agente y sus diccionarios
    • enchant_broker_get_error — Devuelve el último error del agente
    • enchant_broker_init — Crear un nuevo objeto agente capaz de hacer peticiones
    • enchant_broker_list_dicts — Devuelve una lista de los diccionarios disponibles
    • enchant_broker_request_dict — Crear un diccionario usanto una etiqueta
    • enchant_broker_request_pwl_dict — Crea un diccionario usando un archivo PWL
    • enchant_broker_set_ordering — Declara una preferencia de diccionarios a usar para el lenguaje
    • enchant_dict_add_to_personal — Añadir una palabra a una lista personal de palabras
    • enchant_dict_add_to_session — Añadir una palabra a esta sesión ortográfica
    • enchant_dict_check — Comprobar si una palabra está correctamente escrita o no
    • enchant_dict_describe — Describe un diccionario individual
    • enchant_dict_get_error — Devuelve el último error de la sesión ortográfica actual
    • enchant_dict_is_in_session — Si existe o no una palabra en esta sesión ortográfica
    • enchant_dict_quick_check — Verifica si la palabra está correctamente escrita y proporciona sugerencias
    • enchant_dict_store_replacement — Añadir una corrección a una palabra
    • enchant_dict_suggest — Devolverá una lista de valores si no se reúnen esas pre-condiciones
Soporte para lenguaje humano y codificación de caracteres
Introducción
Soporte para lenguaje humano y codificación de caracteres


Introducción

Enchant es el vínculo de PHP para la » biblioteca Enchant. Enchant interviene para proporcinar uniformidad y conformidad sobre todas las bibliotecas de ortografía, e implementa ciertas características que pueden estar ausentes en cualquier biblioteca de proovedor individual. Todo debería "simplemente funcionar" para cualquier definición de "simplemente funciona."

Enchant soporta los siguientes entornos:

  • Aspell/Pspell (intenta reemplazar a Ispell)

  • Ispell (antiguo como el comer, podría ser interpretado como un estándar de hecho)

  • MySpell/Hunspell (unos proyectos OOo, también usados por Mozilla)

  • Uspell (principalmente yidish, Hebreo y lenguajes de Europa Oriental - alojado en el CVS de AbiWord bajo el módulo "uspell")

  • Hspell (hebreo)

  • AppleSpell (Mac OSX)

Enchant
Instalación/Configuración
Enchant


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Enchant


Requerimientos

Esta versión usa las funciones de la » librería Enchant por Dom Lachowicz. Se necesita Enchant 1.2.4 o posterior.

Enchant también requiere » Glib 2.6 o posterior. Las bibliotecas precompiladas de Windows están disponibles en » http://ftp.gnome.org/pub/gnome/binaries/win32/glib/.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión está incluida con PHP a partir de PHP 5.3.0. Antes, enchant era una extensión PECL. Los usuarios de verisones anteriores a la 5.3.0 pueden usar la » extensión PECL.

Siempre que las bibliotecas requeridas estén instaladas, los usuarios de PHP 5.3.0 o posterior pueden habilitar enchant añadiendo la opción --with-enchant[=dir] al compilar PHP.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

Existen dos tipos de recursos en esta extensión. El primero es el agente (el administrador de entornos) y el segundo es para el diccionario.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Ejemplos
Enchant


Ejemplos

Ejemplo #1 Ejemplos de Uso de Enchant

<?php
$etiqueta = 'en_US';
$r = enchant_broker_init();
$bprovides = enchant_broker_describe($r);
echo "El agente actual proporciona los siguientes entornos:\n";
print_r($bprovides);

$diccionarios = enchant_broker_list_dicts($r);
print_r($diccionarios);
if (enchant_broker_dict_exists($r,$etiqueta)) {
    $d = enchant_broker_request_dict($r, $etiqueta);
    $dprovides = enchant_dict_describe($d);
    echo "el diccionario $etiqueta proporciona:\n";
    $palabra_correcta = enchant_dict_check($d, "soong");
    print_r($dprovides);
    if (!$palabra_correcta) {
        $sugerencias = enchant_dict_suggest($d, "soong");
        echo "Sugerencias para 'soong':";
        print_r($sugerencias);
    }
    enchant_broker_free_dict($d);
} else {
}
enchant_broker_free($r);
?>
Constantes predefinidas
Funciones de Enchant
Enchant


Funciones de Enchant

Tabla de contenidos

  • enchant_broker_describe — Enumera los proveedores de Enchant
  • enchant_broker_dict_exists — Si existe o no un diccionario. Usando una etiqueta no vacía
  • enchant_broker_free_dict — Liberar un recurso de diccionario
  • enchant_broker_free — Liberar el recurso de agente y sus diccionarios
  • enchant_broker_get_error — Devuelve el último error del agente
  • enchant_broker_init — Crear un nuevo objeto agente capaz de hacer peticiones
  • enchant_broker_list_dicts — Devuelve una lista de los diccionarios disponibles
  • enchant_broker_request_dict — Crear un diccionario usanto una etiqueta
  • enchant_broker_request_pwl_dict — Crea un diccionario usando un archivo PWL
  • enchant_broker_set_ordering — Declara una preferencia de diccionarios a usar para el lenguaje
  • enchant_dict_add_to_personal — Añadir una palabra a una lista personal de palabras
  • enchant_dict_add_to_session — Añadir una palabra a esta sesión ortográfica
  • enchant_dict_check — Comprobar si una palabra está correctamente escrita o no
  • enchant_dict_describe — Describe un diccionario individual
  • enchant_dict_get_error — Devuelve el último error de la sesión ortográfica actual
  • enchant_dict_is_in_session — Si existe o no una palabra en esta sesión ortográfica
  • enchant_dict_quick_check — Verifica si la palabra está correctamente escrita y proporciona sugerencias
  • enchant_dict_store_replacement — Añadir una corrección a una palabra
  • enchant_dict_suggest — Devolverá una lista de valores si no se reúnen esas pre-condiciones
Ejemplos
enchant_broker_describe
Enchant


Enumera los proveedores de Enchant

Funciones de Enchant
enchant_broker_dict_exists
Funciones de Enchant
PHP Manual

enchant_broker_describe

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0)

enchant_broker_describe — Enumera los proveedores de Enchant

Descripción

array enchant_broker_describe ( resource $broker )

Enumera los proveedores de Enchant e indica alguna información rudimentaria sobre ellos. La misma información es proporcionada a través de phpinfo().

Parámetros

broker

Recurso de agente

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Listar los entornos proporcionados por el agente dado

<?php
$r = enchant_broker_init();
$bprovides = enchant_broker_describe($r);
echo "El agente actual proporciona los siguientes entornos:\n";
print_r($bprovides);

?>

El resultado del ejemplo sería algo similar a:

El agente actual proporciona los siguientes entornos:
Array
(
    [0] => Array
        (
            [name] => aspell
            [desc] => Aspell Provider
            [file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [1] => Array
        (
            [name] => hspell
            [desc] => Hspell Provider
            [file] => /usr/lib/enchant/libenchant_hspell.so
        )

    [2] => Array
        (
            [name] => ispell
            [desc] => Ispell Provider
            [file] => /usr/lib/enchant/libenchant_ispell.so
        )

    [3] => Array
        (
            [name] => myspell
            [desc] => Myspell Provider
            [file] => /usr/lib/enchant/libenchant_myspell.so
        )

)

Funciones de Enchant
enchant_broker_dict_exists
Funciones de Enchant


Si existe o no un diccionario. Usando una etiqueta no vacía

enchant_broker_describe
enchant_broker_free_dict
Funciones de Enchant
PHP Manual

enchant_broker_dict_exists

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_broker_dict_exists — Si existe o no un diccionario. Usando una etiqueta no vacía

Descripción

bool enchant_broker_dict_exists ( resource $broker , string $tag )

Indica si un diccionario existo o no, usando etiquetas no vacías

Parámetros

broker

Recurso de agente

tag

Etiqueta no vacía en el formato REGINAL, ej.: us_US, ch_DE, etc.

Valores devueltos

Devuelve TRUE cuando existe la etiqueta o FALSE cuando no.

Ejemplos

Ejemplo #1 Un ejemplo de enchant_broker_dict_exists()

<?php
$etiqueta = 'en_US';
$r = enchant_broker_init();
if (enchant_broker_dict_exists($r,$etiqueta)) {
    echo "Diccionario " . $etiqueta . " encontrado.\n";
}
?>

Ver también

  • enchant_broker_describe() - Enumera los proveedores de Enchant

enchant_broker_describe
enchant_broker_free_dict
Funciones de Enchant


Liberar un recurso de diccionario

enchant_broker_dict_exists
enchant_broker_free
Funciones de Enchant
PHP Manual

enchant_broker_free_dict

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_broker_free_dict — Liberar un recurso de diccionario

Descripción

bool enchant_broker_free_dict ( resource $dict )

Libera un recurso de diccionario.

Parámetros

dict

Recurso de diccionario.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • enchant_broker_request_dict() - Crear un diccionario usanto una etiqueta
  • enchant_broker_request_pwl_dict() - Crea un diccionario usando un archivo PWL

enchant_broker_dict_exists
enchant_broker_free
Funciones de Enchant


Liberar el recurso de agente y sus diccionarios

enchant_broker_free_dict
enchant_broker_get_error
Funciones de Enchant
PHP Manual

enchant_broker_free

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_broker_free — Liberar el recurso de agente y sus diccionarios

Descripción

bool enchant_broker_free ( resource $broker )

Libera un recurso de agente con todos sus diccionarios.

Parámetros

broker

Recurso de agente

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • enchant_broker_init() - Crear un nuevo objeto agente capaz de hacer peticiones

enchant_broker_free_dict
enchant_broker_get_error
Funciones de Enchant


Devuelve el último error del agente

enchant_broker_free
enchant_broker_init
Funciones de Enchant
PHP Manual

enchant_broker_get_error

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_broker_get_error — Devuelve el último error del agente

Descripción

string enchant_broker_get_error ( resource $broker )

Devuelve el último error que ocurrión en este agente.

Parámetros

broker

Recurso de agente.

Valores devueltos

Devuelve la cadena de mensaje si se encontró un error o FALSE

enchant_broker_free
enchant_broker_init
Funciones de Enchant


Crear un nuevo objeto agente capaz de hacer peticiones

enchant_broker_get_error
enchant_broker_list_dicts
Funciones de Enchant
PHP Manual

enchant_broker_init

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_broker_init — Crear un nuevo objeto agente capaz de hacer peticiones

Descripción

resource enchant_broker_init ( void )

Parámetros

Valores devueltos

Devuelve un recurso de agente si se tuvo éxito o FALSE.

Ver también

  • enchant_broker_free() - Liberar el recurso de agente y sus diccionarios

enchant_broker_get_error
enchant_broker_list_dicts
Funciones de Enchant


Devuelve una lista de los diccionarios disponibles

enchant_broker_init
enchant_broker_request_dict
Funciones de Enchant
PHP Manual

enchant_broker_list_dicts

(PHP 5 >= 5.3.0, PECL enchant >= 1.0.1)

enchant_broker_list_dicts — Devuelve una lista de los diccionarios disponibles

Descripción

mixed enchant_broker_list_dicts ( resource $broker )

Devuelve una lista de los diccionarios disponibles con sus detalles.

Parámetros

broker

Recurso de agente

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Listar todos los diccionarios disponibles para un agente

<?php
$r = enchant_broker_init();
$diccionarios = enchant_broker_list_dicts($r);
print_r($diccionarios);
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => Array
        (
            [lang_tag] => de
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [1] => Array
        (
            [lang_tag] => de_DE
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [3] => Array
        (
            [lang_tag] => en
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [4] => Array
        (
            [lang_tag] => en_GB
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [5] => Array
        (
            [lang_tag] => en_US
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [6] => Array
        (
            [lang_tag] => hi_IN
            [provider_name] => myspell
            [provider_desc] => Myspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_myspell.so
        )

)

Ver también

  • enchant_broker_describe() - Enumera los proveedores de Enchant

enchant_broker_init
enchant_broker_request_dict
Funciones de Enchant


Crear un diccionario usanto una etiqueta

enchant_broker_list_dicts
enchant_broker_request_pwl_dict
Funciones de Enchant
PHP Manual

enchant_broker_request_dict

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_broker_request_dict — Crear un diccionario usanto una etiqueta

Descripción

resource enchant_broker_request_dict ( resource $broker , string $tag )

Crea un diccionario usando una etiqueta no vacía que se desea para solicitar un diccionario ("en_US", "de_DE", ...)

Parámetros

broker

Recurso de agente

tag

Una etiqueta que describe la configuración regional, por ejemplo en_US, de_DE

Valores devueltos

Devuelve un recurso de diccionario si se tuvo éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de enchant_broker_request_dict()

Comprobar si existe un diccionario usando enchant_broker_dict_exists() y solicitarlo.

<?php
$etiqueta = 'en_US';
$agente = enchant_broker_init();
if (enchant_broker_dict_exists($agente,$etiqueta)) {
    $diccionario = enchant_broker_request_dict($r, $etiqueta);
}
?>

Ver también

  • enchant_dict_describe() - Describe un diccionario individual
  • enchant_broker_dict_exists() - Si existe o no un diccionario. Usando una etiqueta no vacía
  • enchant_broker_free_dict() - Liberar un recurso de diccionario

enchant_broker_list_dicts
enchant_broker_request_pwl_dict
Funciones de Enchant


Crea un diccionario usando un archivo PWL

enchant_broker_request_dict
enchant_broker_set_ordering
Funciones de Enchant
PHP Manual

enchant_broker_request_pwl_dict

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_broker_request_pwl_dict — Crea un diccionario usando un archivo PWL

Descripción

resource enchant_broker_request_pwl_dict ( resource $broker , string $filename )

Crea un diccionario usando un archivo PWL. Un archivo PWL un archivo personal de palabras con una palabra por línea.

Parámetros

broker

Recurso de agente

filename

Ruta al archivo PWL.

Valores devueltos

Devuelve un recurso de diccionario si se tuvo éxito o FALSE en caso de error.

Ver también

  • enchant_dict_describe() - Describe un diccionario individual
  • enchant_broker_dict_exists() - Si existe o no un diccionario. Usando una etiqueta no vacía
  • enchant_broker_free_dict() - Liberar un recurso de diccionario

enchant_broker_request_dict
enchant_broker_set_ordering
Funciones de Enchant


Declara una preferencia de diccionarios a usar para el lenguaje

enchant_broker_request_pwl_dict
enchant_dict_add_to_personal
Funciones de Enchant
PHP Manual

enchant_broker_set_ordering

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_broker_set_ordering — Declara una preferencia de diccionarios a usar para el lenguaje

Descripción

bool enchant_broker_set_ordering ( resource $broker , string $tag , string $ordering )

Declara una preferencia de diccionarios a usar para el lenguaje descrito/referido por 'tag'. El orden es una lista delimitada por comas de nombres de proveedores. Como excepción especial, la etiqueta (tag) "*" se puede usar como una etiqueta de lenguaje para declarar un orden predeterminado para cualquier lenguaje que no declare explícitamente un orden.

Parámetros

broker

Recurso de agente

tag

Etiqueta de lenguaje. La etiqueta especial "*" se puede usar como una etiqueta de lenguaje para declarar un orden predeterminado para cualquier lenguaje que no declare explícitamente un orden.

ordering

Lista delimitada por comas de nombres de proveedores

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

enchant_broker_request_pwl_dict
enchant_dict_add_to_personal
Funciones de Enchant


Añadir una palabra a una lista personal de palabras

enchant_broker_set_ordering
enchant_dict_add_to_session
Funciones de Enchant
PHP Manual

enchant_dict_add_to_personal

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_dict_add_to_personal — Añadir una palabra a una lista personal de palabras

Descripción

void enchant_dict_add_to_personal ( resource $dict , string $word )

Añade una palabra a una lista personal de palabras del diccionario dado.

Parámetros

dict

Recurso de diccionario

word

La palabra a añadir

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • enchant_broker_request_pwl_dict() - Crea un diccionario usando un archivo PWL
  • enchant_broker_request_dict() - Crear un diccionario usanto una etiqueta

enchant_broker_set_ordering
enchant_dict_add_to_session
Funciones de Enchant


Añadir una palabra a esta sesión ortográfica

enchant_dict_add_to_personal
enchant_dict_check
Funciones de Enchant
PHP Manual

enchant_dict_add_to_session

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_dict_add_to_session — Añadir una palabra a esta sesión ortográfica

Descripción

void enchant_dict_add_to_session ( resource $dict , string $word )

Añade una palabra al diccionario dado. Sólo será añadida para la sesión ortográfica activa.

Parámetros

dict

Recurso de diccionario

word

La palabra a añadir

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • enchant_broker_request_dict() - Crear un diccionario usanto una etiqueta

enchant_dict_add_to_personal
enchant_dict_check
Funciones de Enchant


Comprobar si una palabra está correctamente escrita o no

enchant_dict_add_to_session
enchant_dict_describe
Funciones de Enchant
PHP Manual

enchant_dict_check

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_dict_check — Comprobar si una palabra está correctamente escrita o no

Descripción

bool enchant_dict_check ( resource $dict , string $word )

Si la palabra está correctamente escrita se devuelve TRUE, de otro modo se devuelve FALSE

Parámetros

dict

Recurso de diccionario

word

La palabra a comprobar

Valores devueltos

Devuelve TRUE si la palabra está correctamente escrita, FALSE si no.

enchant_dict_add_to_session
enchant_dict_describe
Funciones de Enchant


Describe un diccionario individual

enchant_dict_check
enchant_dict_get_error
Funciones de Enchant
PHP Manual

enchant_dict_describe

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_dict_describe — Describe un diccionario individual

Descripción

mixed enchant_dict_describe ( resource $dict )

Devuelve los detalles del diccionario.

Parámetros

dict

Recurso de diccionario

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de enchant_dict_describe()

Comprobar si un diccionario existe usando enchant_broker_dict_exists() y mostrar los detalles de éste.

<?php
$etiqueta = 'en_US';
$agente = enchant_broker_init();
if (enchant_broker_dict_exists($agente,$etiqueta)) {
    $diccionario = enchant_broker_request_dict($r, $etiqueta);
    $detalles_dicc = enchant_dict_describe($diccionario);
    print_r($detalles_dicc);
}
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [lang] => en_US
    [name] => aspell
    [desc] => Aspell Provider
    [file] => /usr/lib/enchant/libenchant_aspell.so
)

enchant_dict_check
enchant_dict_get_error
Funciones de Enchant


Devuelve el último error de la sesión ortográfica actual

enchant_dict_describe
enchant_dict_is_in_session
Funciones de Enchant
PHP Manual

enchant_dict_get_error

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_dict_get_error — Devuelve el último error de la sesión ortográfica actual

Descripción

string enchant_dict_get_error ( resource $dict )

Devuelve el último error de la sesión ortográfica actual

Parámetros

dict

Recurso de diccionario

Valores devueltos

Devuelve un mensaje de error como cadena o FALSE si no se produjo ningún error.

enchant_dict_describe
enchant_dict_is_in_session
Funciones de Enchant


Si existe o no una palabra en esta sesión ortográfica

enchant_dict_get_error
enchant_dict_quick_check
Funciones de Enchant
PHP Manual

enchant_dict_is_in_session

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_dict_is_in_session — Si existe o no una palabra en esta sesión ortográfica

Descripción

bool enchant_dict_is_in_session ( resource $dict , string $word )

Indica si una palabra ya existe en la sesión actual.

Parámetros

dict

Recurso de diccionario

word

La palabra a buscar

Valores devueltos

Devuelve TRUE si la palabra exsite o FALSE

Ver también

  • enchant_dict_add_to_session() - Añadir una palabra a esta sesión ortográfica

enchant_dict_get_error
enchant_dict_quick_check
Funciones de Enchant


Verifica si la palabra está correctamente escrita y proporciona sugerencias

enchant_dict_is_in_session
enchant_dict_store_replacement
Funciones de Enchant
PHP Manual

enchant_dict_quick_check

(PHP 5 >= 5.3.0, PECL enchant:0.2.0-1.0.1)

enchant_dict_quick_check — Verifica si la palabra está correctamente escrita y proporciona sugerencias

Descripción

bool enchant_dict_quick_check ( resource $dict , string $word [, array &$suggestions ] )

Si la palabra está correctamente escrita devuelve TRUE, de otro modo devuelve FALSE, si la varialbe de sugerencias se proporciona, la rellena con alternativas ortográficas.

Parámetros

dict

Recurso de diccionario

word

La palabra a verificar

suggestions

Si la palabra no está correctamente escrita, está variable contendrá una matriz de sugerencias.

Valores devueltos

Devuelve TRUE si la palabra está correctamente escrita o FALSE

Ejemplos

Ejemplo #1 Un ejemplo de enchant_dict_quick_check()

<?php
$etiqueta = 'en_US';
$r = enchant_broker_init();

if (enchant_broker_dict_exists($r,$etiqueta)) {
    $d = enchant_broker_request_dict($r, $etiqueta);
    enchant_dict_quick_check($d, 'soong', $sugerencias);
    print_r($sugerencias);
}
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => song
    [1] => snog
    [2] => soon
    [3] => Sang
    [4] => Sung
    [5] => sang
    [6] => sung
    [7] => sponge
    [8] => spongy
    [9] => snag
    [10] => snug
    [11] => sonic
    [12] => sing
    [13] => songs
    [14] => Son
    [15] => Sonja
    [16] => Synge
    [17] => son
    [18] => Sejong
    [19] => sarong
    [20] => sooner
    [21] => Sony
    [22] => sown
    [23] => scone
    [24] => song's
)

Ver también

  • enchant_dict_check() - Comprobar si una palabra está correctamente escrita o no
  • enchant_dict_suggest() - Devolverá una lista de valores si no se reúnen esas pre-condiciones

enchant_dict_is_in_session
enchant_dict_store_replacement
Funciones de Enchant


Añadir una corrección a una palabra

enchant_dict_quick_check
enchant_dict_suggest
Funciones de Enchant
PHP Manual

enchant_dict_store_replacement

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_dict_store_replacement — Añadir una corrección a una palabra

Descripción

void enchant_dict_store_replacement ( resource $dict , string $mis , string $cor )

Añade una corrección a 'mis' usando 'cor'. Observe que se reemplaza @mis por @cor, por lo que es posible que algunas incidencias futuras de @mis sean reemplazadas por @cor. Así se podría subir @cor en la lista de sugerencias.

Parámetros

dict

Recurso de diccionario

mis

La palabra a corregir

cor

La palabra corregida

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

enchant_dict_quick_check
enchant_dict_suggest
Funciones de Enchant


Devolverá una lista de valores si no se reúnen esas pre-condiciones

enchant_dict_store_replacement
FriBiDi
Funciones de Enchant
PHP Manual

enchant_dict_suggest

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_dict_suggest — Devolverá una lista de valores si no se reúnen esas pre-condiciones

Descripción

array enchant_dict_suggest ( resource $dict , string $word )

Parámetros

dict

Recurso de diccionario

word

Palabra a usar para las sugerencias.

Valores devueltos

Devolverá una matriz de sugerencias si la palabra está mal escrita.

Ejemplos

Ejemplo #1 Un ejemplo de enchant_dict_suggest()

<?php
$etiqueta = 'en_US';
$r = enchant_broker_init();
if (enchant_broker_dict_exists($r,$etiqueta)) {
    $d = enchant_broker_request_dict($r, $etiqueta);

    $palabra_correcta = enchant_dict_check($d, "soong");
    if (!$palabra_correcta) {
        $sugerencias = enchant_dict_suggest($d, "soong");
        echo "Sugerencias para 'soong':";
        print_r($sugerencias);
    }
    enchant_broker_free_dict($d);
}
enchant_broker_free($r);
?>

Ver también

  • enchant_dict_check() - Comprobar si una palabra está correctamente escrita o no
  • enchant_dict_quick_check() - Verifica si la palabra está correctamente escrita y proporciona sugerencias

enchant_dict_store_replacement
FriBiDi
Funciones de Enchant


FriBiDi

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de FriBiDi
    • fribidi_log2vis — Convierte una cadena de texto lógica a una visual
enchant_dict_suggest
Introducción
Soporte para lenguaje humano y codificación de caracteres


Introducción

FriBiDi es una implementación libre del » Algoritmo Bidireccional Unicode.

FriBiDi
Instalación/Configuración
FriBiDi


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
FriBiDi


Requerimientos

Debe descargar e instalar el » paquete de FriBiDi.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP. Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/fribidi.

Para poder usar estas funciones, debe compilarse PHP con soporte para Fribidi usando la opción de configuración --with-fribidi[=DIR] .

Los usuarios de Windows deben habilitar php_fribidi.dll en php.ini para poder usar estas funciones. Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

FRIBIDI_CHARSET_UTF8 (integer)
Unicode
FRIBIDI_CHARSET_8859_6 (integer)
Árabe
FRIBIDI_CHARSET_8859_8 (integer)
Hebreo
FRIBIDI_CHARSET_CP1255 (integer)
Hebreo/Yidis
FRIBIDI_CHARSET_CP1256 (integer)
Árabe
FRIBIDI_CHARSET_ISIRI_3342 (integer)
Persa
FRIBIDI_CHARSET_CAP_RTL (integer)
Usado para pruebas, se utilizará para mayúsculas y caracteres no ingleses
FRIBIDI_RTL (integer)
Derecha a izquierda
FRIBIDI_LTR (integer)
Izquierda a derecha
FRIBIDI_AUTO (integer)
Autodetectar dirección base
Tipos de recursos
Funciones de FriBiDi
FriBiDi


Funciones de FriBiDi

Tabla de contenidos

  • fribidi_log2vis — Convierte una cadena de texto lógica a una visual
Constantes predefinidas
fribidi_log2vis
FriBiDi


Convierte una cadena de texto lógica a una visual

Funciones de FriBiDi
Gender
Funciones de FriBiDi
PHP Manual

fribidi_log2vis

(PHP 4 >= 4.0.4 and PHP 4 <= 4.1.0, PECL fribidi >= 1.0)

fribidi_log2vis — Convierte una cadena de texto lógica a una visual

Descripción

string fribidi_log2vis ( string $str , string $direction , int $charset )

Convierte una cadena de texto lógica a una visual.

Parámetros

str

Cadena de texto lógico.

direction

Uno de entre FRIBIDI_RTL, FRIBIDI_LTR o FRIBIDI_AUTO.

charset

Una de las constantes FRIBIDI_CHARSET_XXX.

Valores devueltos

Devuelve la cadena de texto visual en caso de éxito o FALSE en caso de error.

Funciones de FriBiDi
Gender
Funciones de FriBiDi


Averiguar género de un nombre

  • Introducción
  • Instalación/Configuración
    • Instalación
  • Ejemplos
    • Ejemplo de uso.
  • Gender\Gender — La clase Gender\Gender
    • Gender\Gender::connect — Conecta con un diccionario de nombres externo
    • Gender\Gender::__construct — Construye un objeto Gender
    • Gender\Gender::country — Obtener la representación textual de un país
    • Gender\Gender::get — Obtener el género de un nombre
    • Gender\Gender::isNick — Comprueba si name0 es un alias de name1
    • Gender\Gender::similarNames — Obtener nombres similares
fribidi_log2vis
Introducción
Soporte para lenguaje humano y codificación de caracteres


Introducción

La extensión Gender de PHP es un port del programa gender.c escrito originalmente por Joerg Michael. El propósito principal es averiguar el género de un nombre de pila. La base de datos principal contiene >40000 nombres de 54 países.

Gender
Instalación/Configuración
Gender


Instalación/Configuración

Tabla de contenidos

  • Instalación
Introducción
Instalación
Gender


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/gender.

Está disponible un DLL para esta extensión de PECL en » http://windows.php.net/downloads/pecl/releases/gender/.

Instalación/Configuración
Ejemplos
Instalación/Configuración


Ejemplos

Tabla de contenidos

  • Ejemplo de uso.
Instalación
Ejemplo de uso.
Gender


Ejemplo de uso.

Ejemplo de uso de la clase Gender.

Ejemplo #1 Ejemplo de uso.

<?php

namespace Gender;

$género = new Gender;

$nombre = "Milene";
$país = Gender::FRANCE;

$resultado = $género->get($nombre, $país);

$datos = $género->country($país);

switch($resultado) {
    case Gender::IS_FEMALE:
        printf("El nombre %s es femenino en %s\n", $nombre, $datos['country']);
    break;

    case Gender::IS_MOSTLY_FEMALE:
        printf("El nombre %s es habitualmente femenino en %s\n", $nombre, $datos['country']);
    break;

    case Gender::IS_MALE:
        printf("El nombre %s es masculino en %s\n", $nombre, $datos['country']);
    break;

    case Gender::IS_MOSTLY_MALE:
        printf("El nombre %s es habitualmente masculino en %s\n", $nombre, $datos['country']);
    break;

    case Gender::IS_UNISEX_NAME:
        printf("El nombre %s es unisex en %s\n", $nombre, $datos['country']);
    break;

    case Gender::IS_A_COUPLE:
        printf("El nombre %s es masculino y femenino en %s\n", $nombre, $datos['country']);
    break;

    case Gender::NAME_NOT_FOUND:
        printf("El nombre %s no se encontró en %s\n", $nombre, $datos['country']);
    break;

    case Gender::ERROR_IN_NAME:
        echo "¡Hay un error con el nombre proporcionado!\n";
    break;

    default:
        echo "¡Ocurrió un error!\n";
    break;

}
Ejemplos
Gender\Gender
Ejemplos


La clase Gender\Gender

(PECL gender >= 0.6.0)

Introducción

Sinopsis de la Clase

Gender\Gender {
/* Constantes */
const integer IS_FEMALE = 70 ;
const integer IS_MOSTLY_FEMALE = 102 ;
const integer IS_MALE = 77 ;
const integer IS_MOSTLY_MALE = 109 ;
const integer IS_UNISEX_NAME = 63 ;
const integer IS_A_COUPLE = 67 ;
const integer NAME_NOT_FOUND = 32 ;
const integer ERROR_IN_NAME = 69 ;
const integer ANY_COUNTRY = 0 ;
const integer BRITAIN = 1 ;
const integer IRELAND = 2 ;
const integer USA = 3 ;
const integer SPAIN = 4 ;
const integer PORTUGAL = 5 ;
const integer ITALY = 6 ;
const integer MALTA = 7 ;
const integer FRANCE = 8 ;
const integer BELGIUM = 9 ;
const integer LUXEMBOURG = 10 ;
const integer NETHERLANDS = 11 ;
const integer GERMANY = 12 ;
const integer EAST_FRISIA = 13 ;
const integer AUSTRIA = 14 ;
const integer SWISS = 15 ;
const integer ICELAND = 16 ;
const integer DENMARK = 17 ;
const integer NORWAY = 18 ;
const integer SWEDEN = 19 ;
const integer FINLAND = 20 ;
const integer ESTONIA = 21 ;
const integer LATVIA = 22 ;
const integer LITHUANIA = 23 ;
const integer POLAND = 24 ;
const integer CZECH_REP = 25 ;
const integer SLOVAKIA = 26 ;
const integer HUNGARY = 27 ;
const integer ROMANIA = 28 ;
const integer BULGARIA = 29 ;
const integer BOSNIA = 30 ;
const integer CROATIA = 31 ;
const integer KOSOVO = 32 ;
const integer MACEDONIA = 33 ;
const integer MONTENEGRO = 34 ;
const integer SERBIA = 35 ;
const integer SLOVENIA = 36 ;
const integer ALBANIA = 37 ;
const integer GREECE = 38 ;
const integer RUSSIA = 39 ;
const integer BELARUS = 40 ;
const integer MOLDOVA = 41 ;
const integer UKRAINE = 42 ;
const integer ARMENIA = 43 ;
const integer AZERBAIJAN = 44 ;
const integer GEORGIA = 45 ;
const integer KAZAKH_UZBEK = 46 ;
const integer TURKEY = 47 ;
const integer ARABIA = 48 ;
const integer ISRAEL = 49 ;
const integer CHINA = 50 ;
const integer INDIA = 51 ;
const integer JAPAN = 52 ;
const integer KOREA = 53 ;
/* Métodos */
public boolean connect ( string $dsn )
public Gender\\Gender::__construct ([ string $dsn ] )
public array country ( integer $country )
public integer get ( string $name [, integer $country ] )
public array isNick ( string $name0 , string $name1 [, integer $country ] )
public array similarNames ( string $name [, integer $country ] )
}

Constantes predefinidas

Gender\Gender::IS_FEMALE

Gender\Gender::IS_MOSTLY_FEMALE

Gender\Gender::IS_MALE

Gender\Gender::IS_MOSTLY_MALE

Gender\Gender::IS_UNISEX_NAME

Gender\Gender::IS_A_COUPLE

Gender\Gender::NAME_NOT_FOUND

Gender\Gender::ERROR_IN_NAME

Gender\Gender::ANY_COUNTRY

Gender\Gender::BRITAIN

Gender\Gender::IRELAND

Gender\Gender::USA

Gender\Gender::SPAIN

Gender\Gender::PORTUGAL

Gender\Gender::ITALY

Gender\Gender::MALTA

Gender\Gender::FRANCE

Gender\Gender::BELGIUM

Gender\Gender::LUXEMBOURG

Gender\Gender::NETHERLANDS

Gender\Gender::GERMANY

Gender\Gender::EAST_FRISIA

Gender\Gender::AUSTRIA

Gender\Gender::SWISS

Gender\Gender::ICELAND

Gender\Gender::DENMARK

Gender\Gender::NORWAY

Gender\Gender::SWEDEN

Gender\Gender::FINLAND

Gender\Gender::ESTONIA

Gender\Gender::LATVIA

Gender\Gender::LITHUANIA

Gender\Gender::POLAND

Gender\Gender::CZECH_REP

Gender\Gender::SLOVAKIA

Gender\Gender::HUNGARY

Gender\Gender::ROMANIA

Gender\Gender::BULGARIA

Gender\Gender::BOSNIA

Gender\Gender::CROATIA

Gender\Gender::KOSOVO

Gender\Gender::MACEDONIA

Gender\Gender::MONTENEGRO

Gender\Gender::SERBIA

Gender\Gender::SLOVENIA

Gender\Gender::ALBANIA

Gender\Gender::GREECE

Gender\Gender::RUSSIA

Gender\Gender::BELARUS

Gender\Gender::MOLDOVA

Gender\Gender::UKRAINE

Gender\Gender::ARMENIA

Gender\Gender::AZERBAIJAN

Gender\Gender::GEORGIA

Gender\Gender::KAZAKH_UZBEK

Gender\Gender::TURKEY

Gender\Gender::ARABIA

Gender\Gender::ISRAEL

Gender\Gender::CHINA

Gender\Gender::INDIA

Gender\Gender::JAPAN

Gender\Gender::KOREA

Tabla de contenidos

  • Gender\Gender::connect — Conecta con un diccionario de nombres externo
  • Gender\Gender::__construct — Construye un objeto Gender
  • Gender\Gender::country — Obtener la representación textual de un país
  • Gender\Gender::get — Obtener el género de un nombre
  • Gender\Gender::isNick — Comprueba si name0 es un alias de name1
  • Gender\Gender::similarNames — Obtener nombres similares
Ejemplo de uso.
Gender\Gender::connect
Gender


Conecta con un diccionario de nombres externo

Gender\Gender
Gender\Gender::__construct
Gender\Gender
PHP Manual

Gender\Gender::connect

(PECL gender >= 0.6.0)

Gender\Gender::connect — Conecta con un diccionario de nombres externo

Descripción

public boolean Gender\Gender::connect ( string $dsn )

Conectar con un diccionario de nombres externo. Actualmente sólo las streams están soportadas.

Parámetros

dsn

DSN (Data Source Name) a abrir.

Valores devueltos

Boolean que indica resultado correcto o fallo.

Gender\Gender
Gender\Gender::__construct
Gender\Gender


Construye un objeto Gender

Gender\Gender::connect
Gender\Gender::country
Gender\Gender
PHP Manual

Gender\Gender::__construct

(PECL gender >= 0.6.0)

Gender\Gender::__construct — Construye un objeto Gender

Descripción

public Gender\\Gender::__construct ([ string $dsn ] )

Crea un objeto Gender conectando opcionalmente con un diccionario de nombres externo. Cuando no se indica una base de datos externa, los datos integrados serán utilizados.

Parámetros

dsn

DSN (Data Source Name) a abrir.

Valores devueltos

Gender\Gender::connect
Gender\Gender::country
Gender\Gender


Obtener la representación textual de un país

Gender\Gender::__construct
Gender\Gender::get
Gender\Gender
PHP Manual

Gender\Gender::country

(PECL gender >= 0.8.0)

Gender\Gender::country — Obtener la representación textual de un país

Descripción

public array Gender\Gender::country ( integer $country )

Devuelv ela representación textual de un país a partir de una constante de la clase Gender.

Parámetros

country

La ID de un país especificada como constante de la clase Gender\Gender.

Valores devueltos

Devuelve un array con los nombres corto y largo de un país en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Uso de Gender\Gender::country()

$gender = new Gender\Gender;
var_dump($gender->country(Gender\Gender::BRITAIN));

El resultado del ejemplo sería:

array(2) {
  'country_short' =>
  string(2) "UK"
  'country' =>
  string(13) "Great Britain"
}

Gender\Gender::__construct
Gender\Gender::get
Gender\Gender


Obtener el género de un nombre

Gender\Gender::country
Gender\Gender::isNick
Gender\Gender
PHP Manual

Gender\Gender::get

(PECL gender >= 0.6.0)

Gender\Gender::get — Obtener el género de un nombre

Descripción

public integer Gender\Gender::get ( string $name [, integer $country ] )

Obtener el género de un nombre en un país concreto.

Parámetros

name

Nombre a comprobar.

country

ID del país como constante de la clase Gender.

Valores devueltos

Devuelve el género de un nombre.

Gender\Gender::country
Gender\Gender::isNick
Gender\Gender


Comprueba si name0 es un alias de name1

Gender\Gender::get
Gender\Gender::similarNames
Gender\Gender
PHP Manual

Gender\Gender::isNick

(PECL gender >= 0.9.0)

Gender\Gender::isNick — Comprueba si name0 es un alias de name1

Descripción

public array Gender\Gender::isNick ( string $name0 , string $name1 [, integer $country ] )

Comprueba si name0 es un alias de name1.

Parámetros

name0

El nombre a comprobar.

name1

El nombre a comprobar.

country

El Id del país identificado por una constante la clase Gender. Si se omite, se usa ANY_COUNTRY.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Gender\Gender::get
Gender\Gender::similarNames
Gender\Gender


Obtener nombres similares

Gender\Gender::isNick
Gettext
Gender\Gender
PHP Manual

Gender\Gender::similarNames

(PECL gender >= 0.9.0)

Gender\Gender::similarNames — Obtener nombres similares

Descripción

public array Gender\Gender::similarNames ( string $name [, integer $country ] )

Obtiene nombres similares para el nombre y el país dado.

Parámetros

name

El nombre a comprobar.

country

El Id del país identificado por una constante la clase Gender. Si se omite, se usa ANY_COUNTRY.

Valores devueltos

Devuelve un array con los nombres similares encontrados.

Gender\Gender::isNick
Gettext
Gender\Gender


Gettext

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de Gettext
    • bind_textdomain_codeset — Especifica el juego de caracteres en que los mensajes del catálogo del dominio serán devueltos
    • bindtextdomain — Establece la ruta del dominio
    • dcgettext — Sobrescribe el dominio de la búsqueda única del mensaje
    • dcngettext — Versión plural de dcgettext
    • dgettext — Sobrescribe el dominio actual
    • dngettext — Versión plural de dgettext
    • gettext — Consultar un mensaje en el dominio actual
    • ngettext — Versión plural de gettext
    • textdomain — Establece el dominio actual
Gender\Gender::similarNames
Introducción
Soporte para lenguaje humano y codificación de caracteres


Introducción

Las funciones de gettext implementan una API de Soporte de Lenguaje Nativo (NLS de las siglas en inglés Native Language Support) la cual se puede utilizar para internacionalizar las aplicaciones de PHP. Por favor, consulte la documentación de gettext para su sistema para obtener una explicación detallada de estas funciones o vea la documentación en » http://www.gnu.org/software/gettext/manual/gettext.html.

Gettext
Instalación/Configuración
Gettext


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Gettext


Requerimientos

Para utilizar las funciones debe descargar e instalar el paquete GNU gettext en » http://www.gnu.org/software/gettext/gettext.html

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Para incluir soporte para GNU gettext en su instalación de PHP, debe añadir la opción --with-gettext[=DIR] donde DIR es el directorio de la instalación de gettext, por omisión es /usr/local.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Funciones de Gettext
Gettext


Funciones de Gettext

Tabla de contenidos

  • bind_textdomain_codeset — Especifica el juego de caracteres en que los mensajes del catálogo del dominio serán devueltos
  • bindtextdomain — Establece la ruta del dominio
  • dcgettext — Sobrescribe el dominio de la búsqueda única del mensaje
  • dcngettext — Versión plural de dcgettext
  • dgettext — Sobrescribe el dominio actual
  • dngettext — Versión plural de dgettext
  • gettext — Consultar un mensaje en el dominio actual
  • ngettext — Versión plural de gettext
  • textdomain — Establece el dominio actual
Constantes predefinidas
bind_textdomain_codeset
Gettext


Especifica el juego de caracteres en que los mensajes del catálogo del dominio serán devueltos

Funciones de Gettext
bindtextdomain
Funciones de Gettext
PHP Manual

bind_textdomain_codeset

(PHP 4 >= 4.2.0, PHP 5)

bind_textdomain_codeset — Especifica el juego de caracteres en que los mensajes del catálogo del dominio serán devueltos

Descripción

string bind_textdomain_codeset ( string $domain , string $codeset )

Con bind_textdomain_codeset(), se establece la codificación de los mensajes que serán devueltos desde el domain por gettext() y funciones similares.

Parámetros

domain

El dominio

codeset

El juego de caracteres

Valores devueltos

Un string si es correcto.

Funciones de Gettext
bindtextdomain
Funciones de Gettext


Establece la ruta del dominio

bind_textdomain_codeset
dcgettext
Funciones de Gettext
PHP Manual

bindtextdomain

(PHP 4, PHP 5)

bindtextdomain — Establece la ruta del dominio

Descripción

string bindtextdomain ( string $domain , string $directory )

La función bindtextdomain() establece la ruta para el dominio.

Parámetros

domain

El dominio

directory

La ruta del directorio

Valores devueltos

La ruta completa para el domain actual establecido.

Ejemplos

Ejemplo #1 Ejemplo de bindtextdomain()

<?php

$domain = 'myapp';
echo bindtextdomain($domain, '/usr/share/myapp/locale');

?>

El resultado del ejemplo sería:

/usr/share/myapp/locale

bind_textdomain_codeset
dcgettext
Funciones de Gettext


Sobrescribe el dominio de la búsqueda única del mensaje

bindtextdomain
dcngettext
Funciones de Gettext
PHP Manual

dcgettext

(PHP 4, PHP 5)

dcgettext — Sobrescribe el dominio de la búsqueda única del mensaje

Descripción

string dcgettext ( string $domain , string $message , int $category )

Esta función le permite sobrescribir el dominio actual para una búsqueda unica del mensaje.

Parámetros

domain

El dominio

message

El mesanje

category

La categoría

Valores devueltos

Un string si es correcto.

Ver también

  • gettext() - Consultar un mensaje en el dominio actual

bindtextdomain
dcngettext
Funciones de Gettext


Versión plural de dcgettext

dcgettext
dgettext
Funciones de Gettext
PHP Manual

dcngettext

(PHP 4 >= 4.2.0, PHP 5)

dcngettext — Versión plural de dcgettext

Descripción

string dcngettext ( string $domain , string $msgid1 , string $msgid2 , int $n , int $category )

Esta función le permite sobrescribir el dominio actual en una búsqueda en un mensaje único.

Parámetros

domain

The domain

msgid1

msgid2

n

category

Valores devueltos

Un string si es correcto.

Ver también

  • ngettext() - Versión plural de gettext

dcgettext
dgettext
Funciones de Gettext


Sobrescribe el dominio actual

dcngettext
dngettext
Funciones de Gettext
PHP Manual

dgettext

(PHP 4, PHP 5)

dgettext — Sobrescribe el dominio actual

Descripción

string dgettext ( string $domain , string $message )

La función dgettext() le permite sobrescribir el domain actual en una búsqueda en un mensaje único.

Parámetros

domain

El dominio

message

El mensaje

Valores devueltos

Un string si es correcto.

Ver también

  • gettext() - Consultar un mensaje en el dominio actual

dcngettext
dngettext
Funciones de Gettext


Versión plural de dgettext

dgettext
gettext
Funciones de Gettext
PHP Manual

dngettext

(PHP 4 >= 4.2.0, PHP 5)

dngettext — Versión plural de dgettext

Descripción

string dngettext ( string $domain , string $msgid1 , string $msgid2 , int $n )

La función dngettext() le permite sobrescribir el domain actual en una búsqueda en un mensaje único en plural.

Parámetros

domain

El dominio

msgid1

msgid2

n

Valores devueltos

Un string si es correcto.

Ver también

  • ngettext() - Versión plural de gettext

dgettext
gettext
Funciones de Gettext


Consultar un mensaje en el dominio actual

dngettext
ngettext
Funciones de Gettext
PHP Manual

gettext

(PHP 4, PHP 5)

gettext — Consultar un mensaje en el dominio actual

Descripción

string gettext ( string $message )

Busca un mensaje en el dominio actual.

Parámetros

message

El mensaje se está traduciendo.

Valores devueltos

Devuelve un string traducido si se encuentra en la tabla de traducciones, o envia el mensaje si no es encontrado.

Ejemplos

Ejemplo #1 gettext()-check

<?php
// Configurar idioma en Alemán
putenv('LC_ALL=de_DE');
setlocale(LC_ALL, 'de_DE');

// Especifica la ubicación de la tabla de traducciones
bindtextdomain("myPHPApp", "./locale");

// Seleccionar dominio
textdomain("myPHPApp");

// Ahora las traducciones se encuentran en ./locale/de_DE/LC_MESSAGES/myPHPApp.mo

// Imprimir un mensaje de prueba
echo gettext("Bienvenido a mi aplicación en PHP");

// O use un alias _() para gettext()
echo _("¡Qué tenga un buen día!");
?>

Notas

Nota:

Utilice el carácter de subrayado '_' como un alias en esta función.

Nota:

Configurar el idioma no es suficiente en algunos sistema y putenv() debe ser usado para establecer el idioma actual.

Ver también

  • setlocale() - Establecer la información de la configuración regional

dngettext
ngettext
Funciones de Gettext


Versión plural de gettext

gettext
textdomain
Funciones de Gettext
PHP Manual

ngettext

(PHP 4 >= 4.2.0, PHP 5)

ngettext — Versión plural de gettext

Descripción

string ngettext ( string $msgid1 , string $msgid2 , int $n )

La versión plural de gettext(). En algunos idiomas se tiene más de una forma para el mensaje en plural dependiendo de la cantidad.

Parámetros

msgid1

msgid2

n

Valores devueltos

Devuelve la correcta forma plural del mensaje identificados por mensaje1 y mensaje2 para el conteo en n.

Ejemplos

Ejemplo #1 Ejemplo de ngettext()

<?php

setlocale(LC_ALL, 'cs_CZ');
printf(ngettext("%d ventana", "%d ventanas", 1), 1); // 1 okno
printf(ngettext("%d ventana", "%d ventanas", 2), 2); // 2 okna
printf(ngettext("%d ventana", "%d ventanas", 5), 5); // 5 oken

?>

gettext
textdomain
Funciones de Gettext


Establece el dominio actual

ngettext
iconv
Funciones de Gettext
PHP Manual

textdomain

(PHP 4, PHP 5)

textdomain — Establece el dominio actual

Descripción

string textdomain ( string $text_domain )

Esta función establece el dominio en el que se realizarán las búsquedas llamadas por gettext(), normalemente por el nombre de la aplicación.

Parámetros

text_domain

El nuevo mensaje del dominio, o NULL para obtener el valor actual y no cambiarlo

Valores devueltos

Si es correcto, esta función devuelve el dominio del mensaje actual, después de cambiarlo.

ngettext
iconv
Funciones de Gettext


iconv

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de iconv
    • iconv_get_encoding — Recupera variables de configuración interna de la extensión iconv
    • iconv_mime_decode_headers — Decodifica varios campos de cabeceras MIME en la misma llamada
    • iconv_mime_decode — Decodifica un campo de la cabecera MIME
    • iconv_mime_encode — Compone un campo de cabecera MIME
    • iconv_set_encoding — Establece las opciones para la conversión de codificación de caracteres
    • iconv_strlen — Retorna el número de caracteres de un string
    • iconv_strpos — Encuentra la posición de la primera aparición de una aguja en un pajar
    • iconv_strrpos — Busca la última aparición de un string
    • iconv_substr — Elimina parte del string
    • iconv — Convierte un string a la codificación de caracteres indicada
    • ob_iconv_handler — Convierte la codificación de caracteres al manejador del buffer de salida
textdomain
Introducción
Soporte para lenguaje humano y codificación de caracteres


Introducción

Este módulo contiene de un interfaz a la utilidad de conversión de conjuntos de caracteres iconv. Con este módulo se puede convertir un string representado por un conjunto de caracteres local en uno representado por otro conjunto de caracteres, el cual puede ser el conjunto de caracteres Unicode. Los conjuntos de caracteres admitidos dependen de la implemtación de iconv del sistema. Observe que en algunos sistemas, la función iconv puede funcionar de forma inesperada. En este caso, es recomendable instalar la biblioteca » GNU libiconv con la que generalmente se suelen obtener mejores resultados finales.

Desde PHP 5.0.0, esta extensión tiene varias funciones de utilidad que ayudan a escribir scripts multilingües. En las siguientes secciones se exploran estas nuevas características.

iconv
Instalación/Configuración
iconv


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
iconv


Requerimientos

No es necesario realizar ninguna configuración si el sistema es uno de los sistemas recientes que cumplen POSIX porque las liberías de C estándar suministradas en ellos deben proveer de funcionalidades iconv. De lo contrario, es necesario tener las librerías » libiconv instaladas en el sistema.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión está activada por defecto, aunque puede desactivarse al compilar con --without-iconv

La directiva opcional --with-iconv-dir se usa para especificar la localización de iconv en los sistemas que PHP está siendo compilado. De otro modo, se busca en los directorios por defecto.

Nota: Nota para los usuario de PHP 4
Para activar esta extensión se requiere compilar con la opción --with-iconv=[DIR] , o los usuarios de Windows pueden activarlo localizando iconv.dll en uno de los directorios dentro del PATH del sistema y activando php_iconv.dll en php.ini.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Iconv Opciones de configuración
Nombre | Por defecto | Cambiable | Historial de cambios
iconv.input_encoding | "ISO-8859-1" | PHP_INI_ALL | Disponible desde PHP 4.0.5.
iconv.output_encoding | "ISO-8859-1" | PHP_INI_ALL | Disponible desde PHP 4.0.5.
iconv.internal_encoding | "ISO-8859-1" | PHP_INI_ALL | Disponible desde PHP 4.0.5.

He aquí una breve explicación de las directivas de configuración.

Advertencia

Algunos sistemas (como IBM AIX) usa "ISO8859-1" en vez de "ISO-8859-1" así que este valor debe usarse en las opciones de configuración y en los parámetros de las funciones.

iconv.input_encoding string

Actualmente esta opción no se utiliza.

iconv.output_encoding string

iconv.internal_encoding string

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Desde PHP 4.3.0 es posible identificar en tiempo de ejecución cuál implementación de iconv es adoptada por esta extensión.

Constances de iconv
Nombre | Tipo | Descripción
ICONV_IMPL | string | Nombre de la implementación
ICONV_VERSION | string | Versión de la implementación

Nota:

Está completamente desaconsejado escribir scripts cuya implementación dependa de estas constantes.

Desde PHP 5.0.0 se dispone de las siguientes constantes:

Constantes de iconv disponibles desde PHP 5.0.0
Nombre | Tipo | Descripción
ICONV_MIME_DECODE_STRICT | integer | Máscara de bits usada para iconv_mime_decode()
ICONV_MIME_DECODE_CONTINUE_ON_ERROR | integer | Máscara de bits usada para iconv_mime_decode()

Tipos de recursos
Funciones de iconv
iconv


Funciones de iconv

Ver también

Ver también funciones de GNU Recode.

Tabla de contenidos

  • iconv_get_encoding — Recupera variables de configuración interna de la extensión iconv
  • iconv_mime_decode_headers — Decodifica varios campos de cabeceras MIME en la misma llamada
  • iconv_mime_decode — Decodifica un campo de la cabecera MIME
  • iconv_mime_encode — Compone un campo de cabecera MIME
  • iconv_set_encoding — Establece las opciones para la conversión de codificación de caracteres
  • iconv_strlen — Retorna el número de caracteres de un string
  • iconv_strpos — Encuentra la posición de la primera aparición de una aguja en un pajar
  • iconv_strrpos — Busca la última aparición de un string
  • iconv_substr — Elimina parte del string
  • iconv — Convierte un string a la codificación de caracteres indicada
  • ob_iconv_handler — Convierte la codificación de caracteres al manejador del buffer de salida
Constantes predefinidas
iconv_get_encoding
iconv


Recupera variables de configuración interna de la extensión iconv

Funciones de iconv
iconv_mime_decode_headers
Funciones de iconv
PHP Manual

iconv_get_encoding

(PHP 4 >= 4.0.5, PHP 5)

iconv_get_encoding — Recupera variables de configuración interna de la extensión iconv

Descripción

mixed iconv_get_encoding ([ string $type = "all" ] )

Recupera variables de configuración interna de la extensión iconv

Parámetros

type

El valor del parámetro opcional type puede ser:

  • all
  • input_encoding
  • output_encoding
  • internal_encoding

Valores devueltos

Retorna el valor actual de la variable de configuración interna si tiene éxito o o FALSE en caso de error.

Si se omite type o se fija a "all", iconv_get_encoding() retorna un array que almacena todas las variables.

Ejemplos

Ejemplo #1 Ejemplo de iconv_get_encoding()

<pre>
<?php
iconv_set_encoding("internal_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "ISO-8859-1");
var_dump(iconv_get_encoding('all'));
?>
</pre>

El resultado del ejemplo sería:

Array
(
    [input_encoding] => ISO-8859-1
    [output_encoding] => ISO-8859-1
    [internal_encoding] => UTF-8
)

Ver también

  • iconv_set_encoding() - Establece las opciones para la conversión de codificación de caracteres
  • ob_iconv_handler() - Convierte la codificación de caracteres al manejador del buffer de salida

Funciones de iconv
iconv_mime_decode_headers
Funciones de iconv


Decodifica varios campos de cabeceras MIME en la misma llamada

iconv_get_encoding
iconv_mime_decode
Funciones de iconv
PHP Manual

iconv_mime_decode_headers

(PHP 5)

iconv_mime_decode_headers — Decodifica varios campos de cabeceras MIME en la misma llamada

Descripción

array iconv_mime_decode_headers ( string $encoded_headers [, int $mode = 0 [, string $charset = ini_get("iconv.internal_encoding") ]] )

Decodifica varios campos de cabeceras MIME en la misma llamada.

Parámetros

encoded_headers

La cabeceras a decodificar, indicarlas como string.

mode

mode determina el comportamiento cuando el evento iconv_mime_decode_headers() encuentra un campo de cabecera MIME mal formado. Puede indicarse una combinación de las siguientes máscaras.

Máscaras de bits aceptadas por iconv_mime_decode_headers()
Valor | Constante | Descripción
1 | ICONV_MIME_DECODE_STRICT | Si se indica, la cabecera dada se decodifica de acuerdo a los estándares definidos en » RFC2047. Esta opción se deshabilita por defecto porque hay muchos agentes de correo incorrectos que no siguen esta espeficicación y no producen cabeceras MIME correctas.
2 | ICONV_MIME_DECODE_CONTINUE_ON_ERROR | Si se indica, iconv_mime_decode_headers() intenta ignorar errores gramaticales y continúa con el proceso en la cabecera.

charset

El parámetro opcional charset especifica el set de caracteres con el que representar el resultado. Si se omite, se usará iconv.internal_encoding.

Valores devueltos

Retorna un array asociativo que contiene el set completo de cabeceras MIME especificadas por encoded_headers en caso de éxito, o FALSE si ocurre un error durante la decodificación.

Cada clave del array retornado representa un nombre de campo independiente y su correspondiente elemento representa el valor del campo. Si hay presente más de un campo del mismo nombre, iconv_mime_decode_headers() automáticamente los incorpora en un array indexado por enteros según orden de aparición.

Ejemplos

Ejemplo #1 Ejemplo de iconv_mime_decode_headers()

<?php
$string_cabeceras = <<<EOF
Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?=
To: example@example.com
Date: Thu, 1 Jan 1970 00:00:00 +0000
Message-Id: <example@example.com>
Received: from localhost (localhost [127.0.0.1]) by localhost
    with SMTP id example for <example@example.com>;
    Thu, 1 Jan 1970 00:00:00 +0000 (UTC)
    (envelope-from example-return-0000-example=example.com@example.com)
Received: (qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000

EOF;

$cabeceras = iconv_mime_decode_headers($string_cabeceras, 0, "ISO-8859-1");
print_r($cabeceras);
?>

El resultado del ejemplo sería:

Array
(
    [Subject] => Prüfung Prüfung
    [To] => example@example.com
    [Date] => Thu, 1 Jan 1970 00:00:00 +0000
    [Message-Id] => <example@example.com>
    [Received] => Array
        (
            [0] => from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)
            [1] => (qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000
        )

)

Ver también

  • iconv_mime_decode() - Decodifica un campo de la cabecera MIME
  • mb_decode_mimeheader() - Decodifica un string en el campo de cabecera MIME
  • imap_mime_header_decode() - Decodificar los elementos de la cabecera MIME
  • imap_base64() - Decodificar un texto cifrado con BASE64
  • imap_qprint() - Convertir una cadena imprimible entrecomillada a una cadena de 8 bits

iconv_get_encoding
iconv_mime_decode
Funciones de iconv


Decodifica un campo de la cabecera MIME

iconv_mime_decode_headers
iconv_mime_encode
Funciones de iconv
PHP Manual

iconv_mime_decode

(PHP 5)

iconv_mime_decode — Decodifica un campo de la cabecera MIME

Descripción

string iconv_mime_decode ( string $encoded_header [, int $mode = 0 [, string $charset = ini_get("iconv.internal_encoding") ]] )

Decodifica un campo de la cabecera MIME.

Parámetros

encoded_header

La cabecera codificada, como string.

mode

mode determina el comportamiento cuando el evento iconv_mime_decode() encuentra un campo de cabecera MIME mal formado. Puede especificarse cualquier combinación las siguientes máscaras de bits.

Máscaras de bits aceptadas por iconv_mime_decode()
Valor | Constante | Descripción
1 | ICONV_MIME_DECODE_STRICT | Si está definida, la cabecera indicada es decodificada de acuerdo con los estándares definidos en » RFC2047. Esta opción esta deshabilitada por defecto puesto que hay muchos agente de correo incorrectos que no siguen la especificación y no producen las cabeceras MIME correctas.
2 | ICONV_MIME_DECODE_CONTINUE_ON_ERROR | Si está definida iconv_mime_decode_headers() intenta ignorar cualquier error gramaticar y continúa procesando la cabecera dada.

charset

El parámetro opcional charset especifica el set de caracteres a usar para representar el resultado. Si se omite, se usará iconv.internal_encoding.

Valores devueltos

En caso de éxito retorna un campo MIME decodificado o FALSE si ocurre cualquier error durante la decodificación.

Ejemplos

Ejemplo #1 Ejemplo de la función iconv_mime_decode()

<?php
// Esto contiene "Subject: Prüfung Prüfung"
echo iconv_mime_decode("Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?=",
                       0, "ISO-8859-1");
?>

Ver también

  • iconv_mime_decode_headers() - Decodifica varios campos de cabeceras MIME en la misma llamada
  • mb_decode_mimeheader() - Decodifica un string en el campo de cabecera MIME
  • imap_mime_header_decode() - Decodificar los elementos de la cabecera MIME
  • imap_base64() - Decodificar un texto cifrado con BASE64
  • imap_qprint() - Convertir una cadena imprimible entrecomillada a una cadena de 8 bits

iconv_mime_decode_headers
iconv_mime_encode
Funciones de iconv


Compone un campo de cabecera MIME

iconv_mime_decode
iconv_set_encoding
Funciones de iconv
PHP Manual

iconv_mime_encode

(PHP 5)

iconv_mime_encode — Compone un campo de cabecera MIME

Descripción

string iconv_mime_encode ( string $field_name , string $field_value [, array $preferences = NULL ] )

Compone y retorna un string que representa un campo de cabecera MIME válido que tiene una forma similar a:

Subject: =?ISO-8859-1?Q?Pr=FCfung_f=FCr?= Entwerfen von einer MIME kopfzeile
En el anterior ejemplo, "Subject" es el nombre del campo y la parte que empieza con "=?ISO-8859-1?..." es el valor del campo.

Parámetros

field_name

Nombre del campo.

field_value

Valor del campo.

preferences

Puede controlarse el comportamiento de iconv_mime_decode() especificando un array asociativo que contenga elementos de configuración al parámetro opcional preferences. Los elementos soportados por iconv_mime_encode() son listados seguidamente. Notar que en los nombres de los elementos se distinguen mayúsculas y minúsculas.

Elementos de configuración soportados por iconv_mime_encode()
Elemento | Tipo | Descripción | Valor por defecto | Ejemplo
scheme | string | Especifica el método con el que codificar el valor de un campo. El valor de este elemento puede ser tanto "B" como "Q", donde "B" se usa para un esquema de codificación base64 y "Q" para un esquema de codificación quoted-printable. | B | B
input-charset | string | Especifica el set de caracteres con el que se muestran el primer parámetro field_name y el segundo field_value. Si no se da, iconv_mime_encode() asume que esos parámetros se muestran según lo indicado en el parámetro de coonfiguración ini iconv.internal_encoding. | iconv.internal_encoding | ISO-8859-1
output-charset | string | Especifica el set de caracteres a usar para componer la cabecera MIME. | iconv.internal_encoding | UTF-8
line-length | integer | Especifica la longitud máxima de las líneas de la cabecera. La cabecera resultante se "desdobla" en varias líneas en caso de que el campo de la cabecera resultante sea más largo que el valor de este parámetro, de acuerdo con » RFC2822 - Internet Message Format. Si no se especifica, la longitud se limita a 76 caracteres. | 76 | 996
line-break-chars | string | Especifica la secuencia de caracteres a añadir a cada línea como signo de final de línea cuando ocurre el "desdoblamiento" de campos de cabeceras largos. Si no se da, por defecto es "\r\n" (CR LF). Notar que este parámetro siempre se trata como strings ASCII, sea cual sea el valor de input-charset. | \r\n | \n

Valores devueltos

En caso de éxito retorna un campo MIME codificado o FALSE si ha ocurrido un error durante la codificación.

Ejemplos

Ejemplo #1 Ejemplo de iconv_mime_encode()

<?php
$preferences = array(
    "input-charset" => "ISO-8859-1",
    "output-charset" => "UTF-8",
    "line-length" => 76,
    "line-break-chars" => "\n"
);
$preferences["scheme"] = "Q";
// Esto contiene "Subject: =?UTF-8?Q?Pr=C3=BCfung=20Pr=C3=BCfung?="
echo iconv_mime_encode("Subject", "Prüfung Prüfung", $preferences);

$preferences["scheme"] = "B";
// This yields "Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?="
echo iconv_mime_encode("Subject", "Prüfung Prüfung", $preferences);
?>

Ver también

  • imap_binary() - Convertir una cadena 8bit a una cadena base64
  • mb_encode_mimeheader() - Codifica un string para la cabecera MIME
  • imap_8bit() - Convertir una cadena 8bit a una cadena quoted-printable
  • quoted_printable_encode() - Convierte un string de 8 bits en un string quoted-printable

iconv_mime_decode
iconv_set_encoding
Funciones de iconv


Establece las opciones para la conversión de codificación de caracteres

iconv_mime_encode
iconv_strlen
Funciones de iconv
PHP Manual

iconv_set_encoding

(PHP 4 >= 4.0.5, PHP 5)

iconv_set_encoding — Establece las opciones para la conversión de codificación de caracteres

Descripción

bool iconv_set_encoding ( string $type , string $charset )

Cambia el valor de la variable de configuración interna especificada por type a charset.

Parámetros

type

El valor de type puede ser cualquiera de los siguientes:

  • input_encoding
  • output_encoding
  • internal_encoding

charset

La codificación de caracteres.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de iconv_set_encoding()

<?php
iconv_set_encoding("internal_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "ISO-8859-1");
?>

Ver también

  • iconv_get_encoding() - Recupera variables de configuración interna de la extensión iconv
  • ob_iconv_handler() - Convierte la codificación de caracteres al manejador del buffer de salida

iconv_mime_encode
iconv_strlen
Funciones de iconv


Retorna el número de caracteres de un string

iconv_set_encoding
iconv_strpos
Funciones de iconv
PHP Manual

iconv_strlen

(PHP 5)

iconv_strlen — Retorna el número de caracteres de un string

Descripción

int iconv_strlen ( string $str [, string $charset = ini_get("iconv.internal_encoding") ] )

A diferencia de strlen(), iconv_strlen() cuenta el número de veces que aparece cierta secuencia de bytes str en base a la codificación de caraceters especificada, resultado que no es necesariamente igual a la longitud del string en bytes.

Parámetros

str

El string a contar.

charset

Si se omite el parametro charset, se asume que str se codificará en iconv.internal_encoding.

Valores devueltos

Retorna el número de caracteres de str, como un entero.

Ver también

  • strlen() - Obtiene la longitud de un string
  • mb_strlen() - Obtiene la longitud de una cadena de caracteres

iconv_set_encoding
iconv_strpos
Funciones de iconv


Encuentra la posición de la primera aparición de una aguja en un pajar

iconv_strlen
iconv_strrpos
Funciones de iconv
PHP Manual

iconv_strpos

(PHP 5)

iconv_strpos — Encuentra la posición de la primera aparición de una aguja en un pajar

Descripción

int iconv_strpos ( string $haystack , string $needle [, int $offset = 0 [, string $charset = ini_get("iconv.internal_encoding") ]] )

Encuentra la posición de la primera aparición de una aguja dentro de un pajar.

A diferencia de strpos(), el valor que retorna iconv_strpos() es el número de caracteres que aparecen antes del string buscado, en vez del offset en bytes a la posición donde se encuentra el string. Los caracteres se cuentan en base a la codificación de caracteres establecida en charset.

Parámetros

haystack

El string completo donde buscar.

needle

El string a buscar.

offset

El parámetro opcional offset especifica la posición respecto al inicio del string desde la que empezará la búsqueda.

charset

Si se omite el parámetro charset, se asume que string se codificará según iconv.internal_encoding.

Si haystack o needle no son un string, se convierten a string y se aplica como el valor ordinal del carácter.

Valores devueltos

Retorna la posición numérica de la primera vez que aparece needle en haystack.

Si no se encuentra needle, iconv_strpos() retornará FALSE.

Advertencia

Esta función puede devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se evalúa como FALSE. 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.

Ver también

  • strpos() - Encuentra la posición de la primera ocurrencia de un substring en un string
  • iconv_strrpos() - Busca la última aparición de un string
  • mb_strpos() - Busca la posición de la primera ocurrencia de un string en otro string

iconv_strlen
iconv_strrpos
Funciones de iconv


Busca la última aparición de un string

iconv_strpos
iconv_substr
Funciones de iconv
PHP Manual

iconv_strrpos

(PHP 5)

iconv_strrpos — Busca la última aparición de un string

Descripción

int iconv_strrpos ( string $haystack , string $needle [, string $charset = ini_get("iconv.internal_encoding") ] )

Encuentra la última aparición de un needle dentro de un haystack.

A diferencia de strpos(), el valor que retorna iconv_strrpos() es el número de caracteres que aparecen antes de needle, en vez del offset en bytes a la posición donde se encuentra needle. Los caracteres son contados en base al charset especificado.

Parámetros

haystack

Todo el string.

needle

El substring a ser buscado.

charset

Si se omite el parámetro charset, se asume que string se codificará con iconv.internal_encoding.

Si haystack o needle no son un string, se convierten a string y se aplica como el valor ordinal del carácter.

Valores devueltos

Retorna la posición numérica de la última vez que aparece needle en haystack. Lo caracteres se cuentan en base a la codificacion establecida en charset.

Si needle no se encuentra, iconv_strrpos() retorna FALSE.

Advertencia

Esta función puede devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se evalúa como FALSE. 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.

Ver también

  • strrpos() - Encuentra la posición de la última aparición de un substring en un string
  • iconv_strpos() - Encuentra la posición de la primera aparición de una aguja en un pajar
  • mb_strrpos() - Busca la posicion de la última ocurrencia de un string en otro string

iconv_strpos
iconv_substr
Funciones de iconv


Elimina parte del string

iconv_strrpos
iconv
Funciones de iconv
PHP Manual

iconv_substr

(PHP 5)

iconv_substr — Elimina parte del string

Descripción

string iconv_substr ( string $str , int $offset [, int $length = iconv_strlen($str, $charset) [, string $charset = ini_get("iconv.internal_encoding") ]] )

Corta una parte de str especificada por los parámetros offset y length.

Parámetros

str

El string original.

offset

Si offset no es negativo, iconv_substr() elimina la porción de str que empieza en el caracter número offset, empezando de cero.

Si offset es negativo, iconv_substr() elimina la parte que empieza en esa posición, offset caracteres desde el final de str.

length

Si se da el parámetro length y es positivo, el valor retornado contendrá como mucho length caracteres de la porción que comienza en offset (dependiendo de la longitud de string).

Si se indica un valor negativo en length, iconv_substr() elimina la porción de str desde la posición offset hasta el caracter que está length caracteres desde el final del string. En caso de que offset sea también negativo, la posición de inicio se calcula de antemano de acuerdo con la regla explicada anteriormente.

charset

Si se omite el parámetro charset, se asume que string se codifica en iconv.internal_encoding.

Notar que se considera que los parámetros offset y length representan offsets que se calculan en base a la codificación de caracteres determinada en charset, mientras que por otro lado, substr() siempre los toma como offset de bytes.

Valores devueltos

Retorna la parte de str especificada por los parámetros offset y lengthi

Si str tiene un tamaño más corto que offset, se retornará FALSE.

Ver también

  • substr() - Devuelve parte de una cadena
  • mb_substr() - Obtiene parte de una cadena de caracteres
  • mb_strcut() - Obtener parte de un string

iconv_strrpos
iconv
Funciones de iconv


Convierte un string a la codificación de caracteres indicada

iconv_substr
ob_iconv_handler
Funciones de iconv
PHP Manual

iconv

(PHP 4 >= 4.0.5, PHP 5)

iconv — Convierte un string a la codificación de caracteres indicada

Descripción

string iconv ( string $in_charset , string $out_charset , string $str )

Realiza una conversión del set de caracteres en el string str desde in_charset a out_charset.

Parámetros

in_charset

Codificación inicial.

out_charset

Codificación final.

Si se añade el string //TRANSLIT a out_charset, se activa la transliteración. Esto significa que cuando un caracter no puede ser representado en el set de caracteres final, se puede aproximar a uno o varios caracteres parecidos. Si se añade el string //IGNORE, los caracteres que no puedan ser representados en el set de caracteres final son descartados sin generar error. De otro modo, str se corta desde el primer caracter ilegal y se genera un E_NOTICE.

str

El string a ser convertido.

Valores devueltos

Retorna el string convertido o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de iconv()

<?php
$text = "Este es el símbolo del euro: '€'.";

echo 'Original : ', $text, PHP_EOL;
echo 'TRANSLIT : ', iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text), PHP_EOL;
echo 'IGNORE   : ', iconv("UTF-8", "ISO-8859-1//IGNORE", $text), PHP_EOL;
echo 'Plain    : ', iconv("UTF-8", "ISO-8859-1", $text), PHP_EOL;

?>

El resultado del ejemplo sería algo similar a:

Original : Este es el símbolo del euro: '€'.
TRANSLIT : Este es el símbolo del euro: 'EUR'.
IGNORE   : Este es el símbolo del euro: ''.
Plain    :
Notice: iconv(): Detected an illegal character in input string in .\iconv-example.php on line 7
Este es el símbolo del euro: '

iconv_substr
ob_iconv_handler
Funciones de iconv


Convierte la codificación de caracteres al manejador del buffer de salida

iconv
intl
Funciones de iconv
PHP Manual

ob_iconv_handler

(PHP 4 >= 4.0.5, PHP 5)

ob_iconv_handler — Convierte la codificación de caracteres al manejador del buffer de salida

Descripción

string ob_iconv_handler ( string $contents , int $status )

Convierte el string codificado en internal_encoding a output_encoding.

internal_encoding y output_encoding deberían estar definidos en el fichero php.ini o en iconv_set_encoding().

Parámetros

Ver ob_start() para más información sobre los parámetros del manejador.

Valores devueltos

Ver ob_start() para mas información sobre los valores de retorno del manejador.

Ejemplos

Ejemplo #1 Ejemplo de ob_iconv_handler()

<?php
iconv_set_encoding("internal_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "ISO-8859-1");
ob_start("ob_iconv_handler"); // empieza a usarse el buffer de salida
?>

Ver también

  • iconv_get_encoding() - Recupera variables de configuración interna de la extensión iconv
  • iconv_set_encoding() - Establece las opciones para la conversión de codificación de caracteres
  • output-control functions

iconv
intl
Funciones de iconv


Funciones de internacionalización

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Uso básico de esta extensión
  • Collator — La clase Collator
    • Collator::asort — Ordenar un array manteniendo la relación de índices
    • Collator::compare — Comparar dos cadenas Unicode
    • Collator::__construct — Crear un objeto Collator
    • Collator::create — Crear un cotejador
    • Collator::getAttribute — Obtener el valor de un atributo de cotejo
    • Collator::getErrorCode — Obtener el último código de error del cotejeador
    • Collator::getErrorMessage — Obtener el texto del último código de error del cotejador
    • Collator::getLocale — Obtener el nombre de la configuración regional del cotejador
    • Collator::getSortKey — Obtener la clave de ordenación de una cadena
    • Collator::getStrength — Obtener la fuerza de cotejo actual
    • Collator::setAttribute — Establecer el atributo de cotejo
    • Collator::setStrength — Establecer la fuerza (strength) de un cotejo
    • Collator::sortWithSortKeys — Ordenar un array usando el cotejador y las claves de ordenación especificados
    • Collator::sort — Ordenar un array usando cotejador especificado
  • NumberFormatter — La clase NumberFormatter
    • NumberFormatter::create — Crear un formateador de números
    • NumberFormatter::formatCurrency — Dar formato a un valor monetario
    • NumberFormatter::format — Dar formato a un número
    • NumberFormatter::getAttribute — Obtener un atributo
    • NumberFormatter::getErrorCode — Obtener el último código de error del formateador
    • NumberFormatter::getErrorMessage — Obtener el último mensaje de error del formateador
    • NumberFormatter::getLocale — Obtener la configuración regional de un formateador
    • NumberFormatter::getPattern — Obtener el patrón del formateador
    • NumberFormatter::getSymbol — Obtener el valor de un símbolo
    • NumberFormatter::getTextAttribute — Obtiene un atributo de texto
    • NumberFormatter::parseCurrency — Procesa un número monetario
    • NumberFormatter::parse — Analiza un número
    • NumberFormatter::setAttribute — Establecer un atributo
    • NumberFormatter::setPattern — Establecer el patrón de un formateador
    • NumberFormatter::setSymbol — Establecer un valor de símbolo
    • NumberFormatter::setTextAttribute — Set a text attribute
  • Locale — La clase Locale
    • Locale::acceptFromHttp — Intentar encontrar la mejor configuración regional basada en la cabecera "Accept-Language" de HTTP
    • Locale::canonicalize — Canonicalize the locale string
    • Locale::composeLocale — Devolver un ID regional correctamente ordenado y delimitado
    • Locale::filterMatches — Comprobar si unfiltro de etiquetas de lenguaje coincide con una configuración regional
    • Locale::getAllVariants — Obtener las variantes de la configuración regional de entrada
    • Locale::getDefault — Obtener el valor de la configuración regional predeterminada del identificador global 'default_locale' de INTL
    • Locale::getDisplayLanguage — Devolver un nombre manifiesto debidamente localizado del lenguaje de la configuración regional de entrada
    • Locale::getDisplayName — Devolver un nombre manifiesto debidamente localizado de la configuración regional de entrada
    • Locale::getDisplayRegion — Devolver un nombre manifiesto debidamente localizado de la región de la configuración regional de entrada
    • Locale::getDisplayScript — Devolver un nombre manifiesto debidamente localizado de la escritura de la configuración regional de entrada
    • Locale::getDisplayVariant — Devolver un nombre manifiesto debidamente localizado de las variantes de la configuración regional de entrada
    • Locale::getKeywords — Obtener las palabras clave de la configuración regional de entrada
    • Locale::getPrimaryLanguage — Obtener el lenguaje principal de la configuración regional de entrada
    • Locale::getRegion — Obtener la región de la configuración local de entrada
    • Locale::getScript — Obtener la escritura de la configuración regional de entrada
    • Locale::lookup — Buscar en la lista de etiquetas de lenguaje la mejor coincidencia para el lenguaje
    • Locale::parseLocale — Devolver un array de claves-valores de los elementos de las subetiquetas del ID regional
    • Locale::setDefault — Establecer la configuración regional predeterminada en tiempo de ejecución
  • Normalizer — La clase Normalizer
    • Normalizer::isNormalized — Comprobar si la cadena proporcionada ya está en la forma de normalización especificada.
    • Normalizer::normalize — Normaliza la entrada provista y devuelve la cadena normalizada
  • MessageFormatter — La clase MessageFormatter
    • MessageFormatter::create — Construir un nuevo Formateador de Mensajes
    • MessageFormatter::formatMessage — Formateo rápido de un mensaje
    • MessageFormatter::format — Dar formato al mensaje
    • MessageFormatter::getErrorCode — Obtener el código de error de la última operación
    • MessageFormatter::getErrorMessage — Obtener el texto del error de la última operación
    • MessageFormatter::getLocale — Obtener la configuración regional desde la que se creó el formateador
    • MessageFormatter::getPattern — Obtener el patrón usado por el formateador
    • MessageFormatter::parseMessage — Procesar rápidamente una cadena de entrada
    • MessageFormatter::parse — Procesar la cadena de entrada según un patrón
    • MessageFormatter::setPattern — Establecer el patrón usado por el formateador
  • IntlCalendar — La clase IntlCalendar
    • IntlCalendar::add — Add a (signed) amount of time to a field
    • IntlCalendar::after — Whether this objectʼs time is after that of the passed object
    • IntlCalendar::before — Whether this objectʼs time is before that of the passed object
    • IntlCalendar::clear — Clear a field or all fields
    • IntlCalendar::__construct — Private constructor for disallowing instantiation
    • IntlCalendar::createInstance — Create a new IntlCalendar
    • IntlCalendar::equals — Compare time of two IntlCalendar objects for equality
    • IntlCalendar::fieldDifference — Calculate difference between given time and this objectʼs time
    • IntlCalendar::fromDateTime — Create an IntlCalendar from a DateTime object or string
    • IntlCalendar::get — Get the value for a field
    • IntlCalendar::getActualMaximum — The maximum value for a field, considering the objectʼs current time
    • IntlCalendar::getActualMinimum — The minimum value for a field, considering the objectʼs current time
    • IntlCalendar::getAvailableLocales — Get array of locales for which there is data
    • IntlCalendar::getDayOfWeekType — Tell whether a day is a weekday, weekend or a day that has a transition between the two
    • IntlCalendar::getErrorCode — Get last error code on the object
    • IntlCalendar::getErrorMessage — Get last error message on the object
    • IntlCalendar::getFirstDayOfWeek — Get the first day of the week for the calendarʼs locale
    • IntlCalendar::getGreatestMinimum — Get the largest local minimum value for a field
    • IntlCalendar::getKeywordValuesForLocale — Get set of locale keyword values
    • IntlCalendar::getLeastMaximum — Get the smallest local maximum for a field
    • IntlCalendar::getLocale — Get the locale associated with the object
    • IntlCalendar::getMaximum — Get the global maximum value for a field
    • IntlCalendar::getMinimalDaysInFirstWeek — Get minimal number of days the first week in a year or month can have
    • IntlCalendar::getMinimum — Get the global minimum value for a field
    • IntlCalendar::getNow — Get number representing the current time
    • IntlCalendar::getRepeatedWallTimeOption — Get behavior for handling repeating wall time
    • IntlCalendar::getSkippedWallTimeOption — Get behavior for handling skipped wall time
    • IntlCalendar::getTime — Get time currently represented by the object
    • IntlCalendar::getTimeZone — Get the objectʼs timezone
    • IntlCalendar::getType — Get the calendar type
    • IntlCalendar::getWeekendTransition — Get time of the day at which weekend begins or ends
    • IntlCalendar::inDaylightTime — Whether the objectʼs time is in Daylight Savings Time
    • IntlCalendar::isEquivalentTo — Whether another calendar is equal but for a different time
    • IntlCalendar::isLenient — Whether date/time interpretation is in lenient mode
    • IntlCalendar::isSet — Whether a field is set
    • IntlCalendar::isWeekend — Whether a certain date/time is in the weekend
    • IntlCalendar::roll — Add value to field without carrying into more significant fields
    • IntlCalendar::set — Set a time field or several common fields at once
    • IntlCalendar::setFirstDayOfWeek — Set the day on which the week is deemed to start
    • IntlCalendar::setLenient — Set whether date/time interpretation is to be lenient
    • IntlCalendar::setRepeatedWallTimeOption — Set behavior for handling repeating wall times at negative timezone offset transitions
    • IntlCalendar::setSkippedWallTimeOption — Set behavior for handling skipped wall times at positive timezone offset transitions
    • IntlCalendar::setTime — Set the calendar time in milliseconds since the epoch
    • IntlCalendar::setTimeZone — Set the timezone used by this calendar
    • IntlCalendar::toDateTime — Convert an IntlCalendar into a DateTime object
  • IntlTimeZone — La clase IntlTimeZone
    • IntlTimeZone::countEquivalentIDs — Get the number of IDs in the equivalency group that includes the given ID
    • IntlTimeZone::createDefault — Create a new copy of the default timezone for this host
    • IntlTimeZone::createEnumeration — Get an enumeration over time zone IDs associated with the given country or offset
    • IntlTimeZone::createTimeZone — Create a timezone object for the given ID
    • IntlTimeZone::fromDateTimeZone — Create a timezone object from DateTimeZone
    • IntlTimeZone::getCanonicalID — Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID
    • IntlTimeZone::getDisplayName — Get a name of this time zone suitable for presentation to the user
    • IntlTimeZone::getDSTSavings — Get the amount of time to be added to local standard time to get local wall clock time
    • IntlTimeZone::getEquivalentID — Get an ID in the equivalency group that includes the given ID
    • IntlTimeZone::getErrorCode — Get last error code on the object
    • IntlTimeZone::getErrorMessage — Get last error message on the object
    • IntlTimeZone::getGMT — Create GMT (UTC) timezone
    • IntlTimeZone::getID — Get timezone ID
    • IntlTimeZone::getOffset — Get the time zone raw and GMT offset for the given moment in time
    • IntlTimeZone::getRawOffset — Get the raw GMT offset (before taking daylight savings time into account
    • IntlTimeZone::getTZDataVersion — Get the timezone data version currently used by ICU
    • IntlTimeZone::hasSameRules — Check if this zone has the same rules and offset as another zone
    • IntlTimeZone::toDateTimeZone — Convert to DateTimeZone object
    • IntlTimeZone::useDaylightTime — Check if this time zone uses daylight savings time
  • IntlDateFormatter — La clase IntlDateFormatter
    • IntlDateFormatter::create — Crear un formateador de fechas
    • IntlDateFormatter::format — Formatear el valor fecha/hora como una cadena
    • IntlDateFormatter::formatObject — Formatea un objeto
    • IntlDateFormatter::getCalendar — Obtener el tipo de calendario usado por el objeto IntlDateFormatter
    • IntlDateFormatter::getDateType — Obtener el tipo de fecha usada por un formateador de IntlDateFormatter
    • IntlDateFormatter::getErrorCode — Obtener el código del error de la última operación
    • IntlDateFormatter::getErrorMessage — Obtener el texto del error de la última operación
    • IntlDateFormatter::getLocale — Obtener la configuración regional usada por un formateador
    • IntlDateFormatter::getPattern — Obtener el patrón utilizado por un formateador de IntlDateFormatter
    • IntlDateFormatter::getTimeType — Obtener el tipo de hora usada por un formateador de IntlDateFormatter
    • IntlDateFormatter::getTimeZoneId — Obtener el ID de la zona horario usada por un formateador de IntlDateFormatter
    • IntlDateFormatter::getCalendarObject — Obtener una copia del objeto calendario del formateador
    • IntlDateFormatter::getTimeZone — Obtener la zona horaria del formateador
    • IntlDateFormatter::isLenient — Obtener la tolerancia usada por un formateador de IntlDateFormatter
    • IntlDateFormatter::localtime — Convertir una cadena en un valor de marca de tiempo basado en un campo
    • IntlDateFormatter::parse — Convertir una cadena en un valor de marca de tiempo
    • IntlDateFormatter::setCalendar — Establecer el tipo de calendario usado por el formateador
    • IntlDateFormatter::setLenient — Establecer la tolerancia del analizador
    • IntlDateFormatter::setPattern — Establecer el patrón utilizado por el formateador de IntlDateFormatter
    • IntlDateFormatter::setTimeZoneId — Establecer la zona horaria a usar
    • IntlDateFormatter::setTimeZone — Establece la zona horaria del formateador
  • ResourceBundle — La clase ResourceBundle
    • ResourceBundle::count — Obtener el número de elementos de un paquete
    • ResourceBundle::create — Crear un paquete de recursos
    • ResourceBundle::getErrorCode — Obtener el códido del último error del paquete
    • ResourceBundle::getErrorMessage — Obtener el mensaje del último error del paquete
    • ResourceBundle::get — Obtener datos de un paquete
    • ResourceBundle::getLocales — Obtener las configuraciones regionales soportadas
  • Spoofchecker — La clase Spoofchecker
    • Spoofchecker::areConfusable — Comprobar si un texto dado contiene carateres que pueden ser confusos
    • Spoofchecker::__construct — Constructor
    • Spoofchecker::isSuspicious — Comprobar si un texto dad contiene caracteres sospechosos
    • Spoofchecker::setAllowedLocales — Las configuraciones regionales a usar cuando se ejecutan las comprobaciones
    • Spoofchecker::setChecks — Establecer las comprobaciones a ejecutar
  • Transliterator — La clase Transliterator
    • Transliterator::__construct — Constructor privado para denegar la instanciación
    • Transliterator::create — Crear un transliterador
    • Transliterator::createFromRules — Crear un transliterador desdes normas
    • Transliterator::createInverse — Cerar una transliteración inversa
    • Transliterator::getErrorCode — Obtener el código del último error
    • Transliterator::getErrorMessage — Obtener el mensaje del último error
    • Transliterator::listIDs — Obtener los IDs de los transliterardores
    • Transliterator::transliterate — Transliterar una cadena
  • IntlBreakIterator — La clase IntlBreakIterator
    • IntlBreakIterator::__construct — Private constructor for disallowing instantiation
    • IntlBreakIterator::createCharacterInstance — Create break iterator for boundaries of combining character sequences
    • IntlBreakIterator::createCodePointInstance — Create break iterator for boundaries of code points
    • IntlBreakIterator::createLineInstance — Create break iterator for logically possible line breaks
    • IntlBreakIterator::createSentenceInstance — Create break iterator for sentence breaks
    • IntlBreakIterator::createTitleInstance — Create break iterator for title-casing breaks
    • IntlBreakIterator::createWordInstance — Create break iterator for word breaks
    • IntlBreakIterator::current — Get index of current position
    • IntlBreakIterator::first — Set position to the first character in the text
    • IntlBreakIterator::following — Advance the iterator to the first boundary following specified offset
    • IntlBreakIterator::getErrorCode — Get last error code on the object
    • IntlBreakIterator::getErrorMessage — Get last error message on the object
    • IntlBreakIterator::getLocale — Get the locale associated with the object
    • IntlBreakIterator::getPartsIterator — Create iterator for navigating fragments between boundaries
    • IntlBreakIterator::getText — Get the text being scanned
    • IntlBreakIterator::isBoundary — Tell whether an offset is a boundaryʼs offset
    • IntlBreakIterator::last — Set the iterator position to index beyond the last character
    • IntlBreakIterator::next — Advance the iterator the next boundary
    • IntlBreakIterator::preceding — Set the iterator position to the first boundary before an offset
    • IntlBreakIterator::previous — Set the iterator position to the boundary immediately before the current
    • IntlBreakIterator::setText — Set the text being scanned
  • IntlRuleBasedBreakIterator — La clase IntlRuleBasedBreakIterator
    • IntlRuleBasedBreakIterator::__construct — Create iterator from ruleset
    • IntlRuleBasedBreakIterator::getBinaryRules — Get the binary form of compiled rules
    • IntlRuleBasedBreakIterator::getRules — Get the rule set used to create this object
    • IntlRuleBasedBreakIterator::getRuleStatus — Get the largest status value from the break rules that determined the current break position
    • IntlRuleBasedBreakIterator::getRuleStatusVec — Get the status values from the break rules that determined the current break position
  • IntlCodePointBreakIterator — La clase IntlCodePointBreakIterator
    • IntlCodePointBreakIterator::getLastCodePoint — Get last code point passed over after advancing or receding the iterator
  • IntlPartsIterator — La clase IntlPartsIterator
    • IntlPartsIterator::getBreakIterator — Get IntlBreakIterator backing this parts iterator
  • UConverter — La clase UConverter
    • UConverter::__construct — Create UConverter object
    • UConverter::convert — Convert string from one charset to another
    • UConverter::fromUCallback — Default "from" callback function
    • UConverter::getAliases — Get the aliases of the given name
    • UConverter::getAvailable — Get the available canonical converter names
    • UConverter::getDestinationEncoding — Get the destination encoding
    • UConverter::getDestinationType — Get the destination converter type
    • UConverter::getErrorCode — Get last error code on the object
    • UConverter::getErrorMessage — Get last error message on the object
    • UConverter::getSourceEncoding — Get the source encoding
    • UConverter::getSourceType — Get the source convertor type
    • UConverter::getStandards — Get standards associated to converter names
    • UConverter::getSubstChars — Get substitution chars
    • UConverter::reasonText — Get string representation of the callback reason
    • UConverter::setDestinationEncoding — Set the destination encoding
    • UConverter::setSourceEncoding — Set the source encoding
    • UConverter::setSubstChars — Set the substitution chars
    • UConverter::toUCallback — Default "to" callback function
    • UConverter::transcode — Convert string from one charset to another
  • Funciones de Grapheme
    • grapheme_extract — Función para extraer una secuencia de un clúster de grafemas predeterminados desde un buffer de texto, que puede estar codificado en UTF-8
    • grapheme_stripos — Buscar la posición (en unidades de grafema) de la primera coincidencia de una cadena insensible a mayúsculas-minúsculas
    • grapheme_stristr — Devolver parte de la cadena "pajar" desde la primera coincidencia de la cadena "aguja" insensible a mayúsculas-minúsculas hasta el final de "pajar"
    • grapheme_strlen — Obtener la longitud de una cadena en unidades de grafema
    • grapheme_strpos — Buscar la posición (en unidades de grafema) de la primera ocurrencia de una cadena
    • grapheme_strripos — Buscar la posición (en unidades de grafema) de la última coincidencia de una cadena insensible a mayúsculas-minúsculas
    • grapheme_strrpos — Buscar la posición (en unidades de grafema) de la última coincidencia de una cadena
    • grapheme_strstr — Devolver parte de la cadena "pajar" desde la primera coincidencia de la cadena "aguja" hasta el final de "pajar"
    • grapheme_substr — Devolver parte de una cadena
  • Funciones de IDN
    • idn_to_ascii — Convierte un nombre de dominio a formato IDNA ASCII
    • idn_to_unicode — Alias de idn_to_utf8
    • idn_to_utf8 — Convierte un nombre de dominio de IDNA ASCII a Unicode
  • IntlException — Clase de excepciones para errores de intl
  • IntlIterator — La clase IntlIterator
    • IntlIterator::current — Get the current element
    • IntlIterator::key — Get the current key
    • IntlIterator::next — Move forward to the next element
    • IntlIterator::rewind — Rewind the iterator to the first element
    • IntlIterator::valid — Check if curent position is valid
  • Funciones de intl
    • intl_error_name — Obtiene un nombre simbólico a partir de un código de error dado
    • intl_get_error_code — Obtiene el último código de error
    • intl_get_error_message — Obtener una descripción del último error
    • intl_is_failure — Comprueba si el código de error dado indica un fallo
ob_iconv_handler
Introducción
Soporte para lenguaje humano y codificación de caracteres


Introducción

La extensión para la internacionalización (más conocida como Intl) es una envoltura para la biblioteca » ICU, permitiendo a los programadores de PHP realizar un cotejo que cumple con el » UCA y un formateo de fecha/hora/número/moneda en los scripts.

Tiende a seguir cuidadosamente las APIs de ICU, así que los que posean experiencia trabajando con ICU en C/C++ o en Java pueden fácilmente utilizar la API de PHP. Además, la documentación de ICU sería también útil para entender varias funciones de ICU.

Intl consiste de varios módulos, donde cada uno de ellos expone la correspondiente API de ICU:

  • Collator: Proporciona la capacidad de comparar strings con soporte para una ordenación apropiada según la región.
  • Number Formatter: Permite mostrar números según el formato regional o a un patrón dado o a un grupo de reglas, y para convertir strings en números.
  • Message Formatter: Permite la creación de mensajes incorporando datos (tales como números o fechas) formateados según un patrón y reglas regionales dados, y procesa los mensajes extrayendo los datos que hay en ellos.
  • Normalizer: Proporciona una función para transformar texto a una de las formas de normalización de Unicode, y provee de una rutina para comprobar si un string dado ya está normalizado.
  • Locale: Proporciona interacción con identificadores regionales en la forma de funciones para obtener subetiquetas de un identificador regional; analiza, compone, busca y filtra identificadores regionales.

Enlaces

  • » Miscelánea de documentos ICU

  • » Guía de usuario de ICU

  • » Algorítmo de Cotejamiento de Unicode (UCA)

intl
Instalación/Configuración
intl


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
intl


Requerimientos

Para construir la extensión es necesario instalar la biblioteca » ICU versión 3.6+.

Desde PHP 5.3.0, esta extensión viene incorporada en PHP. Alternativamente, la versión PECL de esta extensión podría usarse con cualquier versión de PHP superior a 5.2.0 (se recomienda 5.2.4+).

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión puede ser instalada con la versión que viene incorporada a partir de PHP 5.3.0, o como una extensión PECL disponible desde PHP 5.2.0. En otras palabras, existen dos métodos que permiten instalar la extensión intl.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/intl.

Alternativamente, --enable-intl habilitará la versión incorporada mientras se compila PHP.

Si su versión de ICU está instalada en un directorio no estándar, podrá especificar su ubicación en la variable de entorno LD_LIBRARY_PATH de manera que el enlazador dinámico pueda localizarlo:

$ export LD_LIBRARY_PATH=/opt/icu/lib

De otro modo, si PHP e ICU estuvieran instalados en sus ubicaciones predeterminadas, no haría falta utilizar ninguna opción de configuración adicional.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de Intl
Nombre | Por defecto | Cambiable | Historial de cambios
intl.default_locale |  | PHP_INI_ALL |
intl.error_level | 0 | PHP_INI_ALL |
intl.use_exceptions | 0 | PHP_INI_ALL | Disponible desde PHP 5.5 y PECL 3.0.0a1

He aquí una breve explicación de las directivas de configuración.

intl.default_locale string

La configuración regional que se usará en funciones de intl cuando no se especifique ningua (omitiendo el argumento correspondiente o pasando NULL). Estas son configuraciones regionales de ICU, no de sistema. Las configuraciones regionales de ICU internas y sus datos pueden explorarse en » http://demo.icu-project.org/icu-bin/locexp.

El valor predeterminado es vacío, lo cual fuerza el uso de la configuración regional predeterminada de ICU. Una vez establecida, el ajuste ini no puede ser reiniciado a su valor predeterminado. No se recomienda confiar en este valor predeterminado, ya que su valor efectivo depende del entorno del servidor.

intl.error_level integer

El nivel de mensajes de error generados cuando ocurre un error en funciones de ICU. Es un nivel de error de PHP, tal como E_WARNING. Se puede establecer a 0 para inhabilitar los mensajes. Esto no afecta a los valores devueltos que indican error o a los valores devueltos por intl_get_error_code() o por los métodos específicos de clase para recuperar códigos de error y mensajes. Si se elige E_ERROR, se terminará el script siempre que se encuentre una condición de error en las clases de intl.

El valor predeterminado es 0.

intl.use_exceptions integer

Si se establece a true, se generará una excepción siempre que ocurra un error en una función de intl. La excepción será de tipo IntlException. Esto posiblemente ocurra además del mensaje de error generado debido a intl.error_level.

El valor predeterminado es FALSE.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

INTL_MAX_LOCALE_LEN (integer)
Limitar la longitud de los nombres de configuración regional, establecido a 80 en el código de PHP. Los nombres de configuración regional mayores que este límite no serán aceptados.
IDNA_DEFAULT (integer)
Prohibir el procesamiento de caracteres no asignados de una página de código en la entrada de las funciones de IDN, y no comprobar si la entrada cumple con las normas ASCII de nombres de dominio.
IDNA_ALLOW_UNASSIGNED (integer)
Permitir el procesamiento de caracteres no asignados de una página de código en la entrada de funciones IDN.
IDNA_USE_STD3_RULES (integer)
Comprobar si la entrada de funciones IDN cumple con las normas ASCII de nombres de dominios.
IDNA_CHECK_BIDI (integer)
Comprobar si la entrada cumple con las reglas BiDi. Ignorada por la implementación IDNA2003, la cual siempre realiza esta comporobación.
IDNA_CHECK_CONTEXTJ (integer)
Comprobar si la entrada cumple con las reglas CONTEXTJ. Ignorada por la implementación IDNA2003, ya que esta comprobación es nueva en IDNA2008.
IDNA_NONTRANSITIONAL_TO_ASCII (integer)
Opción para el procesamiento no transicional de idn_to_ascii(). El procesamiento transicional está activado por omisión. Esta opción es ignorada por la implementación IDNA2003.
IDNA_NONTRANSITIONAL_TO_UNICODE (integer)
Opción para el procesamiento no transicional de idn_to_utf8(). El procesamiento transicional está activado por omisión. Esta opción es ignorada por la implementación IDNA2003.
INTL_IDNA_VARIANT_2003 (integer)
Usar el algoritmo IDNA 2003 en idn_to_utf8() y en idn_to_ascii(). Es el valor predeterminado.
INTL_IDNA_VARIANT_UTS46 (integer)
Usar el algoritmo UTS #46 en idn_to_utf8() y en idn_to_ascii().
IDNA_ERROR_EMPTY_LABEL (integer)
IDNA_ERROR_LABEL_TOO_LONG (integer)
IDNA_ERROR_DOMAIN_NAME_TOO_LONG (integer)
IDNA_ERROR_LEADING_HYPHEN (integer)
IDNA_ERROR_TRAILING_HYPHEN (integer)
IDNA_ERROR_HYPHEN_3_4 (integer)
IDNA_ERROR_LEADING_COMBINING_MARK (integer)
IDNA_ERROR_DISALLOWED (integer)
IDNA_ERROR_PUNYCODE (integer)
IDNA_ERROR_LABEL_HAS_DOT (integer)
IDNA_ERROR_INVALID_ACE_LABEL (integer)
IDNA_ERROR_BIDI (integer)
IDNA_ERROR_CONTEXTJ (integer)
Los errores son reportados en un conjunto de bits devuelto por el algoritmo UTS #46 en idn_to_utf8() y en idn_to_ascii().

Tipos de recursos
Ejemplos
intl


Ejemplos

Tabla de contenidos

  • Uso básico de esta extensión
Constantes predefinidas
Uso básico de esta extensión
intl


Uso básico de esta extensión

Cada módulo proporciona dos tipos de APIs: una procedimental y otra orientada a objetos. En realidad, ambas son idénticas y están descritas en su correspondiente documentación.

Nota:

Todos los strings de entrada deben estar codificados en UTF-8. Del mismo modo, todos los strings de salida deberán estar también en UTF-8.

Ejemplo #1 Ejemplo usando la API procedimental

<?php
$cotejamiento  = collator_create('en_US');
$resultado = collator_compare($cotejamiento, "string#1", "string#2");
?>

Ejemplo #2 Ejemplo usando la API orientada a objetos

<?php
$cotejamiento = new Collator('en_US');
$al = $cotejamiento->getLocale(Locale::ACTUAL_LOCALE);
echo "Configuración regional real: $al\n";

$formateador = new NumberFormatter('en_US', NumberFormatter::DECIMAL);
echo $formateador->format(1234567);
?>
Ejemplos
Collator
Ejemplos


La clase Collator

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Introducción

Proporciona la capacidad de comparar strings, con soporte para una ordenación apropiada, según la región.

Sinopsis de la Clase

Collator {
/* Métodos */
public __construct ( string $locale )
public bool asort ( array &$arr [, int $sort_flag ] )
public int compare ( string $str1 , string $str2 )
public static Collator create ( string $locale )
public int getAttribute ( int $attr )
public int getErrorCode ( void )
public string getErrorMessage ( void )
public string getLocale ( int $type )
public string getSortKey ( string $str )
public int getStrength ( void )
public bool setAttribute ( int $attr , int $val )
public bool setStrength ( int $strength )
public bool sortWithSortKeys ( array &$arr )
public bool sort ( array &$arr [, int $sort_flag ] )
}

Constantes predefinidas

Collator::FRENCH_COLLATION (integer)

Ordenar cadenas con diferentes acentos. Este atributo es establecido automáticamente a On para los identificadores regionales franceses y unos pocos más. Los usuarios normalmente no necesitarán establecer explicitamente este atributo. Existe un coste de rendimiento en la comparación de cadenas cuando se establece a On, excepto para la longitud de la clave de ordenación, que no se ve afectada. Los valores posibles son:

  • Collator::ON
  • Collator::OFF (predeterminado)
  • Collator::DEFAULT_VALUE

Ejemplo #1 Reglas de FRENCH_COLLATION

  • F=OFF cote < coté < côte < côté
  • F=ON cote < côte < coté < côté

Collator::ALTERNATE_HANDLING (integer)

El atributo Alternate se usa para controlar el manejo de los también llamados caracters variables en el UCA: los espacios en blanco, de puntuación y símbolos. Si Alternate se establece a NonIgnorable (N), las diferencias entre estos caracteres son de la misma importancia que las diferencias entre letras. Si Alternate se establece a Shifted (S), estos caracteres son de menor importancia. El valor Shifted a menudo se usa en combinación con Strength establecido a Quaternary. En tal caso, los espacios en blanco, de puntuación y símbolos se consideran cuando se comparan las cadenas, pero sólo si todos los demás aspectos de las cadenas (letras base, acentos y si son mayúsculas/minúsculas) son idénticos. Si Alternate no se establece a Shifted, no existe ninguna diferencia entre un Strength de 3 y un Strength de 4. Para más información y algunos ejemplos véase Variable_Weighting en el » UCA. La razoón de que los valores de Alternate no sean simplemente On y Off es que se pueden añadir valores adicionales a Alternate en el futuro. La opción del UCA, Blanked, se expresa con Strength establecido a 3, y Alternate establecido a Shifted. Lo predeterminado para la mayoría de las configuraciones regionales es NonIgnorable. Si se selecciona Shifted, puede ser más lento si existen muchas cadenas que son la misma excepto por la puntuación; la longitud de la clave de ordenación no se verá afectada a menos que el nivel de fuerza (Strength) también sea aumentado.

Los valores posibles son:

  • Collator::NON_IGNORABLE (predeterminado)
  • Collator::SHIFTED
  • Collator::DEFAULT_VALUE

Ejemplo #2 Reglas de ALTERNATE_HANDLING

  • S=3, A=N di Silva < Di Silva < diSilva < U.S.A. < USA
  • S=3, A=S di Silva = diSilva < Di Silva < U.S.A. = USA
  • S=4, A=S di Silva < diSilva < Di Silva < U.S.A. < USA

Collator::CASE_FIRST (integer)

El atributo Case_First se usa para controlar si las letras mayúsculas van antes que las minúsculas o viceversa, en ausencia de otras diferencias en las cadenas. Los valores posibles son Uppercase_First (U) y Lowercase_First (L), más el estándar Default y Off. No existe casi ninguna diferencia entre las opciones Off y Lowercase_First en términos de resultados, por lo que normalmente los usuarios no usarán Lowercase_First: solamente Off o Uppercase_First. (Los interesados en los detalles de las diferencias entre X y L deberían consultar la Personalización del Cotejo). Especificar L o U no afectará al rendimiento de la comparación de cadenas, pero afectará a la longitud de la clave de ordenación.

Los valores posibles son:

  • Collator::OFF (predeterminado)
  • Collator::LOWER_FIRST
  • Collator::UPPER_FIRST
  • Collator:DEFAULT

Ejemplo #3 Reglas de CASE_FIRST

  • C=X or C=L "china" < "China" < "denmark" < "Denmark"
  • C=U "China" < "china" < "Denmark" < "denmark"

Collator::CASE_LEVEL (integer)

El atributo Case_Level se usa para cuando en el texto se quieren ignorar los acentos pero no si son mayúsculas/minúsculas. En tal situación, se establece Strength a Primary, y Case_Level a On. En la mayoría de las configuraciones regionales, este ajuste está establecido a Off por omision. Existe un pequeño impacto en el rendimiento de comparación de cadenas y en la ordenación por clave si este atributo se establece a On.

Los valores posibles son:

  • Collator::OFF (predeterminado)
  • Collator::ON
  • Collator::DEFAULT_VALUE

Ejemplo #4 Reglas de CASE_LEVEL

  • S=1, E=X role = Role = rôle
  • S=1, E=O role = rôle < Role

Collator::NORMALIZATION_MODE (integer)

El ajuste Normalization determina si el texto se normaliza por completo o no en la comparación. Incluso si el ajuste está desactivado (lo predeterminado en muchas configuraciones regionales), el texto representado en su uso común se comparará correctamente (para más detalles, véase UTN #5). Solamente si los acentos están en orden no canónico existirá un problema. Si el ajuste se establece a On, se garantizan los mejores resultados para todas las posibles entradas de texto. Existe un coste medio de rendimiento en la comparación de cadenas si este atributo se establece a On, dependiendo de la frecuencia de secuencias que requiera la normalización. No hay un efecto significativo en la longitud de la clave de ordenación. Si el texto de entrada se sabe que está en la forma de normalización NFD o NFKD, no hay necesidad de habilitar esta opción Normalization.

Los valores posibles son:

  • Collator::OFF (predeterminado)
  • Collator::ON
  • Collator::DEFAULT_VALUE

Collator::STRENGTH (integer)

El Servicio de Cotejo de ICU soporta muchos niveles de comparación (llamados "Levels", pero también conocidos como "Strengths"). Tener estas categorías habilita a ICU para ordenar cadenas de manera precisa según las convenciones regionales. Sin embargo, al permitir que los niveles sean empleados selectivamente, la búsqueda de una cadena en un texto se podrá realizar con varias condiciones de coincidencia. Para una información más detallada, véase el capítlo collator_set_strength().

Los valores posibles son:

  • Collator::PRIMARY
  • Collator::SECONDARY
  • Collator::TERTIARY (predeterminado)
  • Collator::QUATERNARY
  • Collator::IDENTICAL
  • Collator::DEFAULT_VALUE

Collator::HIRAGANA_QUATERNARY_MODE (integer)

La compatibilidad con JIS x 4061 requiere la introducción de un nivel adinional para poder distinguir entre caracteres Hiragana y Katakana. Si se necesita compatibilidad con el estándar, este atributo debería establecerse a On y la fuerza (strength) a Quaternary. Esto afectará a la longitud de la clave de ordenación y al rendimiento en la comparación de cadenas.

Los valores posibles son:

  • Collator::OFF (predeterminado)
  • Collator::ON
  • Collator::DEFAULT_VALUE

Collator::NUMERIC_COLLATION (integer)

Cuando se activa, este atributo genera una clave de cotejo para el valor numérico de subcadenas de dígitos. Es una manera de obtener '100' DESPUÉS de '2' en una ordenación

Los valores posibles son:

  • Collator::OFF (predeterminado)
  • Collator::ON
  • Collator::DEFAULT_VALUE

Collator::DEFAULT_VALUE (integer)
Collator::PRIMARY (integer)
Collator::SECONDARY (integer)
Collator::TERTIARY (integer)
Collator::DEFAULT_STRENGTH (integer)
Collator::QUATERNARY (integer)
Collator::IDENTICAL (integer)
Collator::OFF (integer)
Collator::ON (integer)
Collator::SHIFTED (integer)
Collator::NON_IGNORABLE (integer)
Collator::LOWER_FIRST (integer)
Collator::UPPER_FIRST (integer)

Tabla de contenidos

  • Collator::asort — Ordenar un array manteniendo la relación de índices
  • Collator::compare — Comparar dos cadenas Unicode
  • Collator::__construct — Crear un objeto Collator
  • Collator::create — Crear un cotejador
  • Collator::getAttribute — Obtener el valor de un atributo de cotejo
  • Collator::getErrorCode — Obtener el último código de error del cotejeador
  • Collator::getErrorMessage — Obtener el texto del último código de error del cotejador
  • Collator::getLocale — Obtener el nombre de la configuración regional del cotejador
  • Collator::getSortKey — Obtener la clave de ordenación de una cadena
  • Collator::getStrength — Obtener la fuerza de cotejo actual
  • Collator::setAttribute — Establecer el atributo de cotejo
  • Collator::setStrength — Establecer la fuerza (strength) de un cotejo
  • Collator::sortWithSortKeys — Ordenar un array usando el cotejador y las claves de ordenación especificados
  • Collator::sort — Ordenar un array usando cotejador especificado
Uso básico de esta extensión
Collator::asort
intl


Ordenar un array manteniendo la relación de índices

Collator
Collator::compare
Collator
PHP Manual

Collator::asort

collator_asort

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::asort -- collator_asort — Ordenar un array manteniendo la relación de índices

Descripción

Estilo orientado a objetos

public bool Collator::asort ( array &$arr [, int $sort_flag ] )

Estilo por procedimientos

bool collator_asort ( Collator $coll , array &$arr [, int $sort_flag ] )

Esta función ordena un array de forma que sus índices mantienen su correlación con los elementos del array a los que están asociados. Se usa principalmente en la ordenación de arrays asociativos donde el orden real de los elementos es significativo. Los elementos del array estarán ordenados según las normas actuales regionales.

Es equivalente al estándar de PHP asort().

Parámetros

coll

Un objeto Collator.

arr

El array de cadenas a ordenar.

sort_flag

El tipo de ordenación opcional, uno de los siguientes:

  • Collator::SORT_REGULAR - comparar los elementos de forma normal (no cambia los tipos)

  • Collator::SORT_NUMERIC - comparar los elementos de forma numérica

  • Collator::SORT_STRING - comparar los elementos como cadenas

El valor predeterminado de $sort_flag value es Collator::SORT_REGULAR. También se utiliza si se ha especificado un valor no válido para $sort_flag.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de collator_asort()

<?php
$coll = collator_create( 'en_US' );
$arr = array(
     'a' => '100',
     'b' => '50',
     'c' => '7'
);
collator_asort( $coll, $arr, Collator::SORT_NUMERIC );
var_export( $arr );

collator_asort( $coll, $arr, Collator::SORT_STRING );
var_export( $arr );
?>

El resultado del ejemplo sería:

array (
  'c' => '7',
  'b' => '50',
  'a' => '100',
)array (
  'a' => '100',
  'b' => '50',
  'c' => '7',
)

Ver también

  • Las constantes de Collator
  • collator_sort() - Ordenar un array usando cotejador especificado
  • collator_sort_with_sort_keys() - Ordenar un array usando el cotejador y las claves de ordenación especificados

Collator
Collator::compare
Collator


Comparar dos cadenas Unicode

Collator::asort
Collator::__construct
Collator
PHP Manual

Collator::compare

collator_compare

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::compare -- collator_compare — Comparar dos cadenas Unicode

Descripción

Estilo orientado a objetos

public int Collator::compare ( string $str1 , string $str2 )

Estilo por procedimientos

int collator_compare ( Collator $coll , string $str1 , string $str2 )

Compara dos cadenas Unicode según las normas de cotejo.

Parámetros

coll

Un objeto Collator.

str1

La primera cadena a comparar.

str2

La segunda cadena a comparar.

Valores devueltos

Devuelve el resultado de la comparación:

  • 1 si str1 es mayor que str2 ;

  • 0 si str1 es igual a str2;

  • -1 si str1 es menor que str2 .

En caso de error es devuelto el valor FALSE de tipo boolean.

Advertencia

Esta función puede devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se evalúa como FALSE. 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.

Ejemplos

Ejemplo #1 Ejemplo de collator_compare()

<?php
$s1 = 'Hola';
$s2 = 'hola';

$coll = collator_create( 'en_US' );
$res  = collator_compare( $coll, $s1, $s2 );

if ($res === false) {
    echo collator_get_error_message( $coll );
} else if( $res > 0 ) {
    echo "s1 es mayor que s2\n";
} else if( $res < 0 ) {
    echo "s1 es menor que s2\n";
} else {
    echo "s1 es igual a s2\n";
}
?>

El resultado del ejemplo sería:

s1 es mayor que s2

Ver también

  • collator_sort() - Ordenar un array usando cotejador especificado

Collator::asort
Collator::__construct
Collator


Crear un objeto Collator

Collator::compare
Collator::create
Collator
PHP Manual

Collator::__construct

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::__construct — Crear un objeto Collator

Descripción

public Collator::__construct() ( string $locale )

Crea una nueva instancia de Collator.

Parámetros

locale

La configuración regional cuyas normas de cotejo deberías ser usadas. Se pueden pasar valores especiales de configuraciones regionales - si se le pasa null, se usarán las normas de cotejo regionales predeterminadas. Si se le pasa una cadena vacía ("") o "root", se usarán las normas del UCA.

El atributo Locale es normalmente el más importante para una ordenación y búsqueda correctas, de acuerdo a las expectativas de los usuarios de paises y regiones diferentes. La ordenación del » UCA predeterminada sólo ordenará unos pocos lenguajes, como el holandés y el portugués, de forma correcta ("de forma correcta" significa de acuerdo a las expectativas normales de los usuarios de dichos lenguajes). De otro modo, se necesita proporcionar la región al UCA para cotejar apropiadamente el texto de un lenguaje dado. Por lo tanto, se necesita proporcionar una configuración regional al igual que elegir un cotejador que se adapte correctamente a esa región. La elección de una configuración regional restablecerán automáticamente los valores de todos los atributos a algo que sea razonable para esa región. Por lo tanto, la mayoría de las veces, los demás atributos no necesitan ser establecidos de manera explícita. En algunos casos, la elección de una configuración regional creará diferencias en el rendimiento de la comparación de cadenas y/o en la longitud de la clave de ordenación.

Valores devueltos

Devuelve un objeto Collator.

Errores/Excepciones

Devuelve un objeto "vacío" en caso de error. Se puede usar intl_get_error_code() y/o intl_get_error_message() para saber que suceció.

Ejemplos

Ejemplo #1 Ejemplo de Collator::__construct()

<?php
$coll = new Collator( 'en_CA' );
?>

Ver también

  • Collator::create() - Crear un cotejador
  • collator_create() - Crear un cotejador

Collator::compare
Collator::create
Collator


Crear un cotejador

Collator::__construct
Collator::getAttribute
Collator
PHP Manual

Collator::create

collator_create

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::create -- collator_create — Crear un cotejador

Descripción

Estilo orientado a objetos

public static Collator Collator::create ( string $locale )

Estilo por procedimientos

Collator collator_create ( string $locale )

Las cadenas serán comparadas usando las opciones ya especificadas.

Parámetros

locale

La configuración regional que contiene las normas de cotejo requeridas. Se pueden pasar valores especiales de configuraciones regionales - si se le pasa null, se usarán las normas de cotejo regionales predeterminadas. Si se le pasa una cadena vacía ("") o "root", se usarán las normas del » UCA.

Valores devueltos

Devuelve una nueva instancia de un objeto Collator, o NULL en case de error.

Ejemplos

Ejemplo #1 Ejemplo de collator_create()

<?php
$coll = collator_create( 'en_US' );

if( !isset( $coll ) ) {
    printf( "Falló la creación del cotejador: %s\n", intl_get_error_message() );
    exit( 1 );
}
?>

Ver también

  • Collator::__construct() - Crear un objeto Collator

Collator::__construct
Collator::getAttribute
Collator


Obtener el valor de un atributo de cotejo

Collator::create
Collator::getErrorCode
Collator
PHP Manual

Collator::getAttribute

collator_get_attribute

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::getAttribute -- collator_get_attribute — Obtener el valor de un atributo de cotejo

Descripción

Estilo orientado a objetos

public int Collator::getAttribute ( int $attr )

Estilo por procedimientos

int collator_get_attribute ( Collator $coll , int $attr )

Obtiene el valor de un atributo de cotejo de tipo integer.

Parámetros

coll

Collator object.

attr

El atributo del que obtener el valor.

Valores devueltos

El valor del atributo, o FALSE de tipo boolean en case de error.

Ejemplos

Ejemplo #1 Ejemplo de collator_get_attribute()

<?php
$coll = collator_create( 'en_CA' );
$val = collator_get_attribute( $coll, Collator::NUMERIC_COLLATION );
if( $val === false )
{
    // Manejar el error.
}
?>

Ver también

  • Collator constants
  • collator_set_attribute() - Establecer el atributo de cotejo
  • collator_get_strength() - Obtener la fuerza de cotejo actual

Collator::create
Collator::getErrorCode
Collator


Obtener el último código de error del cotejeador

Collator::getAttribute
Collator::getErrorMessage
Collator
PHP Manual

Collator::getErrorCode

collator_get_error_code

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::getErrorCode -- collator_get_error_code — Obtener el último código de error del cotejeador

Descripción

Estilo orientado a objetos

public int Collator::getErrorCode ( void )

Estilo por procedimientos

int collator_get_error_code ( Collator $coll )

Parámetros

coll

Un objeto de la clase Collator.

Valores devueltos

El código de error devuelto por la última llamada a una función de la API de Collator.

Ejemplos

Ejemplo #1 Ejemplo collator_get_error_code()

<?php
$coll = collator_create( 'en_US' );
if( collator_get_attribute( $coll, Collator::FRENCH_COLLATION ) === false )
        handle_error( collator_get_error_code() );
?>

Ver también

  • collator_get_error_message() - Obtener el texto del último código de error del cotejador

Collator::getAttribute
Collator::getErrorMessage
Collator


Obtener el texto del último código de error del cotejador

Collator::getErrorCode
Collator::getLocale
Collator
PHP Manual

Collator::getErrorMessage

collator_get_error_message

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::getErrorMessage -- collator_get_error_message — Obtener el texto del último código de error del cotejador

Descripción

Estilo orientado a objetos

public string Collator::getErrorMessage ( void )

Estilo por procedimientos

string collator_get_error_message ( Collator $coll )

Recupera el mensaje del último error.

Parámetros

coll

Un objeto de la clase Collator.

Valores devueltos

La descripción de un error ocurrido en la última llamada a una función de la API de Collator.

Ejemplos

Ejemplo #1 Ejemplo de collator_get_error_message()

<?php
$coll = collator_create( 'lt' );
if( collator_compare( $coll, 'y', 'k' ) === false ) {
    echo collator_get_error_message( $coll );
}
?>

Ver también

  • collator_get_error_code() - Obtener el último código de error del cotejeador

Collator::getErrorCode
Collator::getLocale
Collator


Obtener el nombre de la configuración regional del cotejador

Collator::getErrorMessage
Collator::getSortKey
Collator
PHP Manual

Collator::getLocale

collator_get_locale

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::getLocale -- collator_get_locale — Obtener el nombre de la configuración regional del cotejador

Descripción

Estilo orientado a objetos

public string Collator::getLocale ( int $type )

Estilo por procedimientos

string collator_get_locale ( Collator $coll , int $type )

Obtiene el nombre de la configuración regional del cotejador.

Parámetros

coll

Un objeto de la clase Collator.

type

Se puede escoger entre una configuración regional válida y real ( Locale::VALID_LOCALE y Locale::ACTUAL_LOCALE, respectivamente).

Valores devueltos

El nombre de la configuración regional real de donde viene la información del cotejador. Si el cotejador fue instanciado desde normas u ocurrió un error, devuelve FALSE de tipo boolean.

Ejemplos

Ejemplo #1 Ejemplo collator_get_locale()

<?php
$coll    = collator_create( 'en_US_California' );
$res_val = collator_get_locale( $coll, Locale::VALID_LOCALE );
$res_act = collator_get_locale( $coll, Locale::ACTUAL_LOCALE );
printf( "Nombre regional válido: %s\nNombre regional real: %s\n",
         $res_val, $res_act );
?>

El resultado del ejemplo sería:

Requested locale name: en_US_California
Nombre regional válido: en_US
Nombre regional real: en

Ver también

  • collator_create() - Crear un cotejador

Collator::getErrorMessage
Collator::getSortKey
Collator


Obtener la clave de ordenación de una cadena

Collator::getLocale
Collator::getStrength
Collator
PHP Manual

Collator::getSortKey

collator_get_sort_key

(PHP 5 >= 5.3.11, PECL intl >= 1.0.3)

Collator::getSortKey -- collator_get_sort_key — Obtener la clave de ordenación de una cadena

Descripción

Estilo orientado a objetos

public string Collator::getSortKey ( string $str )

Estilo por procedimientos

string collator_get_sort_key ( Collator $coll , string $str )

Devuelve la clave de cotejo de una cadena.

Parámetros

coll

Un objeto de la clase Collator.

str

La cadena desde la que producir la clave.

Valores devueltos

Devuelve la calve de cotejo de una cadena. Las claves de cotejo se pueden comparar directamente en lugar de por cadenas.

Advertencia

Esta función puede devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se evalúa como FALSE. 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.

Ejemplos

Ejemplo #1 Ejemplo de collator_get_sort_key()

<?php
$s1 = 'Hello';

$coll = collator_create( 'en_US' );
$res  = collator_get_sort_key( $coll, $s1);

echo urlencode($res);
?>

El resultado del ejemplo sería:

71%3F%3FE%01%09%01%8F%08%00

Ver también

  • collator_sort() - Ordenar un array usando cotejador especificado
  • collator_sort_with_sort_keys() - Ordenar un array usando el cotejador y las claves de ordenación especificados

Collator::getLocale
Collator::getStrength
Collator


Obtener la fuerza de cotejo actual

Collator::getSortKey
Collator::setAttribute
Collator
PHP Manual

Collator::getStrength

collator_get_strength

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::getStrength -- collator_get_strength — Obtener la fuerza de cotejo actual

Descripción

Estilo orientado a objetos

public int Collator::getStrength ( void )

Estilo por procedimientos

int collator_get_strength ( Collator $coll )

Parámetros

coll

Un objeto Collator.

Valores devueltos

Devuelve la fuerza de cotejo actual, o FALSE de tipo boolean en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de collator_get_strength()

<?php
$coll     = collator_create( 'en_US' );
$strength = collator_get_strength( $coll );
?>

Ver también

  • Las constantes de Collator
  • collator_set_strength() - Establecer la fuerza (strength) de un cotejo
  • collator_get_attribute() - Obtener el valor de un atributo de cotejo

Collator::getSortKey
Collator::setAttribute
Collator


Establecer el atributo de cotejo

Collator::getStrength
Collator::setStrength
Collator
PHP Manual

Collator::setAttribute

collator_set_attribute

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::setAttribute -- collator_set_attribute — Establecer el atributo de cotejo

Descripción

Estilo orientado a objetos

public bool Collator::setAttribute ( int $attr , int $val )

Estilo por procedimientos

bool collator_set_attribute ( Collator $coll , int $attr , int $val )

Parámetros

coll

Collator object.

attr

Attribute.

val

El valor del atributo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de collator_set_attribute()

<?php
$coll = collator_create( 'en_CA' );
$val  = collator_set_attribute( $coll, Collator::NUMERIC_COLLATION, Collator::ON );
if ($val === false) {
    // Manejar el error.
} elseif ($val === Collator::ON) {
    // Hacer algo útil.
}
?>

Ver también

  • Las constantes de Collator
  • collator_get_attribute() - Obtener el valor de un atributo de cotejo
  • collator_set_strength() - Establecer la fuerza (strength) de un cotejo

Collator::getStrength
Collator::setStrength
Collator


Establecer la fuerza (strength) de un cotejo

Collator::setAttribute
Collator::sortWithSortKeys
Collator
PHP Manual

Collator::setStrength

collator_set_strength

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::setStrength -- collator_set_strength — Establecer la fuerza (strength) de un cotejo

Descripción

Estilo orientado a objetos

public bool Collator::setStrength ( int $strength )

Estilo por procedimientos

bool collator_set_strength ( Collator $coll , int $strength )

El Servicio de Cotejo de » ICU soporta muchos niveles de comparación (llamados "Levels", pero también conocidos como "Strengths"). Tener estas categorías habilita a ICU para ordenar cadenas de manera precisa según las convenciones regionales. Sin embargo, al permitir que los niveles sean empleados selectivamente, la búsqueda de una cadena en un texto se podrá realizar con varias condiciones de coincidencia.

  1. Nivel Primario (Primary): Se utiliza normalmente para denotar diferencias entre caracteres base (por ejemplo, "a" < "b"). Es la diferencia más fuerte. Por ejemplo, los diccionarios están divididos en diferentes secciones mediante caracteres base. También se le llama fuerza de nivel 1.

  2. Nivel Secundario (Secondary): Los acentos de los caracteres se consideran diferencias secundarias (por ejemplo, "as" < "às" < "at"). También se pueden considerar como secundarias otras diferencias entre letras, dependiendo del lenguaje. Una diferencia secundaria es ignorada cuando existe una diferencia primaria en cualquier lugar de las cadenas. También se le llama fuerza de nivel 2.

    Nota:

    Nota: En algunos lenguajes (como en el danés), algunas letras acentuadas están consideradas como caracteres base por separado. Sin embargo, en la mayoría de los lenguajes, una letra acentuada solamente tiene una diferencia secundaria con su versión no acentuada de esa misma letra.

  3. Nivel Terciario (Tertiary): Las diferencias entre caracteres mayúsculas y minúsculas se distinguen en el nivel terciario (por ejemplo, "ao" < "Ao" < "aò"). Además, una variante de una letra difiere de su forma base en este nivel (como "A" y " "). Otro ejemplo es la diferencia entre un Kana grande y uno pequeño. Una diferencia terciaria es ignorada cuando existe una diferencia primaria o secundaria en cualquier lugar de las cadenas. También se le llama fuerza de nivel 3.

  4. Nivel Cuaternario (Quaternary): Cuando se ignora la puntuación (véase Ignorar la Puntuación) en el nivel 13, se puede usar un nivel adicional para distinguir entre palabra con y sin puntuación (por ejemplo, "ab" < "a-b" < "aB"). Esta diferencia es ignorada cuando existe una diferencia primaria, secundaria o terciaria. También se le llama fuerza de nivel 4. El nivel cuaternario sólo debería usarse si es necesario ignorar la puntuación o al procesar texto japonés (véase el procesamiento de Hiragana).

  5. Nivel Idéntico (Identical): Cuando todos los demás niveles son iguales, el nivel idéntico se usa como "desempate". Los valores de los caracteres Unicode de la forma NFD de cada cadena se comparan en este nivel, como en el caso de que no existan diferencias en los niveles 14. Por ejemplo, las marcas de cantilación hebreas sólo son distinguibles en este nivel. Este nivel debería usarse poco, ya que las diferencias de los valores de los caracteres entre dos cadenas ocurre en raras ocasiones. Usar este nivel disminuye sustancialmente el rendimiento de la comparación incremental y la generación de claves de ordenación (así como también aumenta la longitud de las claves de ordenación). También es conocido como fuerza de nivel 5

Por ejemplo, se puede escoger ignorar los acentos o ignorara los acentos y si son mayúsculas/minúsculas en la búsqueda de un texto. La mayoría de los caracteres son distinguibles por los tres primeros niveles, y en la mayoría de las configuraciones regionales el valor predeterminado es por lo tanto Tertiary. Sin embargo, si Alternate se establece a Shifted, la fuerza Quaternary se podría usar para romper "empates" entre espacios en blanco, puntiaciones y símbolos que de otra manera serían ignorados. Si se necesita distinguir de manera precisa entre caracteres, se puede usar la fuerza Identical (por ejemplo, la Fuerza Identical distinque entre la A Matemática Pequeña Negrita y la A Matemática Pequeña Itálica). Sin embargo, al usar niveles mayores que el terciario la fuerza Identical resulta en claves de ordenación significativamente más grandes, y un rendimiento más lento en la comparación de cadenas iguales.

Parámetros

coll

Uh objeto Collator.

strength

La fuerza a establecer.

Los valores posibles son:

  • Collator::PRIMARY

  • Collator::SECONDARY

  • Collator::TERTIARY

  • Collator::QUATERNARY

  • Collator::IDENTICAL

  • Collator::DEFAULT_STRENGTH

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de collator_set_strength()

<?php
$arr  = array( 'aò', 'Ao', 'ao' );
$coll = collator_create( 'en_US' );

// Ordenar el array usando la fuerza predeterminada.
collator_sort( $coll, $arr );
var_export( $arr );

// Ordenar el array usando la fuerza primaria.
collator_set_strength( $coll, Collator::PRIMARY );
collator_sort( $coll, $arr );
var_export( $arr );
?>

El resultado del ejemplo sería:

array (
  0 => 'ao',
  1 => 'Ao',
  2 => 'aò',
)
array (
  0 => 'aò',
  1 => 'Ao',
  2 => 'ao',
)

Ver también

  • Las constantes de Collator
  • collator_get_strength() - Obtener la fuerza de cotejo actual

Collator::setAttribute
Collator::sortWithSortKeys
Collator


Ordenar un array usando el cotejador y las claves de ordenación especificados

Collator::setStrength
Collator::sort
Collator
PHP Manual

Collator::sortWithSortKeys

collator_sort_with_sort_keys

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::sortWithSortKeys -- collator_sort_with_sort_keys — Ordenar un array usando el cotejador y las claves de ordenación especificados

Descripción

Estilo orientado a objetos

public bool Collator::sortWithSortKeys ( array &$arr )

Estilo por procedimientos

bool collator_sort_with_sort_keys ( Collator $coll , array &$arr )

Esta función es similar collator_sort() excepto que utiliza las claves de ordenación de ICU producidas por ucol_getSortKey() para conseguir más velocidad en arrays grandes.

Parámetros

coll

Un objeto Collator.

arr

El array de cadenas a ordenar.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de collator_sort_with_sort_keys()

<?php
$arr  = array( 'Köpfe', 'Kypper', 'Kopfe' );
$coll = collator_create( 'sv' );

collator_sort_with_sort_keys( $coll, $arr );
var_export( $arr );
?>

El resultado del ejemplo sería:

array (
  0 => 'Kopfe',
  1 => 'Kypper',
  2 => 'Köpfe',
)

Ver también

  • Las constantes de Collator
  • collator_sort() - Ordenar un array usando cotejador especificado
  • collator_asort() - Ordenar un array manteniendo la relación de índices

Collator::setStrength
Collator::sort
Collator


Ordenar un array usando cotejador especificado

Collator::sortWithSortKeys
NumberFormatter
Collator
PHP Manual

Collator::sort

collator_sort

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::sort -- collator_sort — Ordenar un array usando cotejador especificado

Descripción

Estilo orientado a objetos

public bool Collator::sort ( array &$arr [, int $sort_flag ] )

Estilo por procedimientos

bool collator_sort ( Collator $coll , array &$arr [, int $sort_flag ] )

Esta función ordena un array según las normal regionales actuales.

Es equivalente al estándar de PHP sort().

Parámetros

coll

Un objeto Collator.

arr

El array de cadenas a ordenar.

sort_flag

El tipo de ordenación opcional, uno de los siguientes:

  • Collator::SORT_REGULAR - comparar los elementos de forma normal (no cambia los tipos)

  • Collator::SORT_NUMERIC - comparar los elementos de forma numérica

  • Collator::SORT_STRING - comparar los elementos como cadenas

El valor predeterminado de $sort_flag value es Collator::SORT_REGULAR. También se utiliza si se ha especificado un valor no válido para $sort_flag.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de collator_sort()

<?php
$coll = collator_create( 'en_US' );
$arr  = array( 'at', 'às', 'as' );

var_export( $arr );
collator_sort( $coll, $arr );
var_export( $arr );
?>

El resultado del ejemplo sería:

array (
  0 => 'at',
  1 => 'às',
  2 => 'as',
)array (
  0 => 'as',
  1 => 'às',
  2 => 'at',
)

Ver también

  • Las constantes de Collator
  • collator_asort() - Ordenar un array manteniendo la relación de índices
  • collator_sort_with_sort_keys() - Ordenar un array usando el cotejador y las claves de ordenación especificados

Collator::sortWithSortKeys
NumberFormatter
Collator


La clase NumberFormatter

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Introducción

Los programas almacenan y operan sobre números utilizando una representación binaria independiente de la configuración regional. Cuando se muestra o imprime un número, éste es convertido a una cadena específica regional. Por ejemplo, el número 12345.67 es "12,345.67" en los Estados Unidos, "12 345,67" en Francia y "12.345,67" en Alemania.

Al invocar a los métodos proporcionados por la clase NumberFormatter, se pueden formatear números, valores monetarios y porcentajes de acuerdo a la configuración regional especificada o predeterminada. NumberFormatter es sensible a la configuración regional, por lo que se necesita crear un nuevo objeto NumberFormatter para cada región. Los métodos de NumberFormatter dan formato a números de tipo primitivo, tales como los de tipo double, e imprimien el número como una cadena específica según la región.

Para los valores monetarios se puede utilizar el tipo de formato de moneda para crear un formateador que devuelva una cadena con el número formateado y el símbolo de moneda apropiada. Por supuesto, la clase NumberFormatter ignora los tipos de cambio monetarios, por lo que el número impreso es el mismo sin tener en cuenta la moneda especificada. Esto significa que el mismo número tiene diferentes valores monetarios dependiendo de la moneda regional. Si el numero fuese el 9988776.65, los resultados serían:

  • 9 988 776,65 € en Francia
  • 9.988.776,65 € en Alemania
  • $9,988,776.65 en los Estados Unidos

Para dar formato a los porcentajes, se debe crear un formateador específico de la región con el tipo de formato de porcentaje. Con este formateador, una fracción decimal como 0.75 será mostrada como 75%.

Para un formateo más complejo, como los números escritos con palabras, se usan los formateadores de números basados en reglas.

Sinopsis de la Clase

NumberFormatter {
/* Métodos */
public __construct ( string $locale , int $style [, string $pattern ] )
public static NumberFormatter create ( string $locale , int $style [, string $pattern ] )
public string formatCurrency ( float $value , string $currency )
public string format ( number $value [, int $type ] )
public int getAttribute ( int $attr )
public int getErrorCode ( void )
public string getErrorMessage ( void )
public string getLocale ([ int $type ] )
public string getPattern ( void )
public string getSymbol ( int $attr )
public string getTextAttribute ( int $attr )
public float parseCurrency ( string $value , string &$currency [, int &$position ] )
public mixed parse ( string $value [, int $type [, int &$position ]] )
public bool setAttribute ( int $attr , int $value )
public bool setPattern ( string $pattern )
public bool setSymbol ( int $attr , string $value )
public bool setTextAttribute ( int $attr , string $value )
}

Constantes predefinidas

Estos estilos son utilzados por la función numfmt_create() para definir el tipo del formateador.

NumberFormatter::PATTERN_DECIMAL (integer)
Formato decimal definido por un patrón
NumberFormatter::DECIMAL (integer)
Formato decimal
NumberFormatter::CURRENCY (integer)
Formato de moneda
NumberFormatter::PERCENT (integer)
Formato de porcentaje
NumberFormatter::SCIENTIFIC (integer)
Formato científico
NumberFormatter::SPELLOUT (integer)
Formato basado en reglas de números escritos con palabras
NumberFormatter::ORDINAL (integer)
Formato basado en reglas de números ordinales
NumberFormatter::DURATION (integer)
Formato basado en reglas de duración
NumberFormatter::PATTERN_RULEBASED (integer)
Formato basado en reglas definido por un patrón
NumberFormatter::DEFAULT_STYLE (integer)
Formato predeterminado para la configuración regional
NumberFormatter::IGNORE (integer)
Alias de PATTERN_DECIMAL

Estas constantes definen cómo se procesan o formatean los números. Deberían usarse como argumentos de numfmt_format() y numfmt_parse().

NumberFormatter::TYPE_DEFAULT (integer)
Deriva el tipo de número del tipo de la variable
NumberFormatter::TYPE_INT32 (integer)
Formatear/procesar como un valor integer de 32 bits
NumberFormatter::TYPE_INT64 (integer)
Formatear/procesar como un valor integer de 64 bits
NumberFormatter::TYPE_DOUBLE (integer)
Formatear/procesar como un valor de coma flotante
NumberFormatter::TYPE_CURRENCY (integer)
FFormatear/procesar como un valor de moneda

Atributos de formato numérico usados por numfmt_get_attribute() y numfmt_set_attribute().

NumberFormatter::PARSE_INT_ONLY (integer)
Procesar sólo los enteros.
NumberFormatter::GROUPING_USED (integer)
Usar un separador de agrupación.
NumberFormatter::DECIMAL_ALWAYS_SHOWN (integer)
Mostrar siempre la coma (punto) decimal.
NumberFormatter::MAX_INTEGER_DIGITS (integer)
Número máximo de dígitos enteros.
NumberFormatter::MIN_INTEGER_DIGITS (integer)
Número mínimo de dígitos enteros.
NumberFormatter::INTEGER_DIGITS (integer)
Dígitos enteros.
NumberFormatter::MAX_FRACTION_DIGITS (integer)
Número máximo de dígitos fraccionarios.
NumberFormatter::MIN_FRACTION_DIGITS (integer)
Número mínimo de dígitos fraccionarios.
NumberFormatter::FRACTION_DIGITS (integer)
Dígitos fraccionarios.
NumberFormatter::MULTIPLIER (integer)
Multiplicador.
NumberFormatter::GROUPING_SIZE (integer)
Tamaño de la agrupación.
NumberFormatter::ROUNDING_MODE (integer)
Modo de redondeo.
NumberFormatter::ROUNDING_INCREMENT (integer)
Incremento del redondeo.
NumberFormatter::FORMAT_WIDTH (integer)
El ancho al que se ajusta la salida de format().
NumberFormatter::PADDING_POSITION (integer)
La posición en la que el relleno tendrá lugar. Véase las constantes de posición de relleno para los posibles valores de los argumentos.
NumberFormatter::SECONDARY_GROUPING_SIZE (integer)
Tamaño de agrupación secundario.
NumberFormatter::SIGNIFICANT_DIGITS_USED (integer)
Utilizar dígitos significativos.
NumberFormatter::MIN_SIGNIFICANT_DIGITS (integer)
Número mínimo de dígitos significativos.
NumberFormatter::MAX_SIGNIFICANT_DIGITS (integer)
Número máximo de dígitos significativos.
NumberFormatter::LENIENT_PARSE (integer)
Modo de proceso poco riguroso usado por los formatos basados en reglas.

Atributos de texto de formato numérico utilizados por numfmt_get_text_attribute() y numfmt_set_text_attribute().

NumberFormatter::POSITIVE_PREFIX (integer)
Prefijo positivo.
NumberFormatter::POSITIVE_SUFFIX (integer)
Sufijo positivo.
NumberFormatter::NEGATIVE_PREFIX (integer)
Prefijo negativo.
NumberFormatter::NEGATIVE_SUFFIX (integer)
Sufijo negativo.
NumberFormatter::PADDING_CHARACTER (integer)
El carácter usado para rellenar el ancho del formato.
NumberFormatter::CURRENCY_CODE (integer)
El código ISO de la moneda.
NumberFormatter::DEFAULT_RULESET (integer)
El conjunto de reglas predeterminadas. Sólo está disponible con formateadores basados en reglas.
NumberFormatter::PUBLIC_RULESETS (integer)
Los conjuntos de reglas públicas. Sólo está disponible con formateadores basados en reglas. Este atributo es de sólo lectura. Los conjuntos de reglas públicas son devueltos como una cadena simple, con cada conjunto de reglas deliminado por ';' (semicolon).

Símbolos de formato numérico utilizados por numfmt_get_symbol() y numfmt_set_symbol().

NumberFormatter::DECIMAL_SEPARATOR_SYMBOL (integer)
El separador decimal.
NumberFormatter::GROUPING_SEPARATOR_SYMBOL (integer)
El separador de agrupación.
NumberFormatter::PATTERN_SEPARATOR_SYMBOL (integer)
El separador de patrones.
NumberFormatter::PERCENT_SYMBOL (integer)
El signo de porcentaje.
NumberFormatter::ZERO_DIGIT_SYMBOL (integer)
Cero.
NumberFormatter::DIGIT_SYMBOL (integer)
Carácter que representa un dígito en el patrón.
NumberFormatter::MINUS_SIGN_SYMBOL (integer)
El símbolo menos.
NumberFormatter::PLUS_SIGN_SYMBOL (integer)
El símbolo más.
NumberFormatter::CURRENCY_SYMBOL (integer)
El símbolo de moneda.
NumberFormatter::INTL_CURRENCY_SYMBOL (integer)
El símbolo internacional de moneda.
NumberFormatter::MONETARY_SEPARATOR_SYMBOL (integer)
El separador monetario.
NumberFormatter::EXPONENTIAL_SYMBOL (integer)
El símbolo exponencial.
NumberFormatter::PERMILL_SYMBOL (integer)
El símbolo por millón.
NumberFormatter::PAD_ESCAPE_SYMBOL (integer)
El carácter de relleno de escape.
NumberFormatter::INFINITY_SYMBOL (integer)
Símbolo de infinito.
NumberFormatter::NAN_SYMBOL (integer)
Símbolo de no-es-un-número (NaN).
NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL (integer)
Símbolo de dígito significativo.
NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL (integer)
El separador de agrupación monetaria.

Los valores del modo de redondeo utilizados por numfmt_get_attribute() y numfmt_set_attribute() con el atributo NumberFormatter::ROUNDING_MODE.

NumberFormatter::ROUND_CEILING (integer)
Modo de redondeo para redondear hacia el infinito positivo.
NumberFormatter::ROUND_DOWN (integer)
Modo de redondeo para redondear hacia cero.
NumberFormatter::ROUND_FLOOR (integer)
Modo de redondeo para redondear hacia el infinito negativo.
NumberFormatter::ROUND_HALFDOWN (integer)
Modo de redondeo para redondear hacia el "vecino más cercano" a menos que ambos vecinos sean equidistantes, en cuyo caso se redondea hacia abajo.
NumberFormatter::ROUND_HALFEVEN (integer)
Modo de redondeo para redondear hacia el "vecino más cercano" a menos que ambos vecinos sean equidistantes, en cuyo caso se redondea hacia el vecino par.
NumberFormatter::ROUND_HALFUP (integer)
Modo de redondeo para redondear hacia el "vecino más cercano" a menos que ambos vecinos sean equidistantes, en cuyo caso se redondea hacia arriba.
NumberFormatter::ROUND_UP (integer)
Modo de redondeo para redondear lejos del cero.

Valores de posición de relleno utilizados por numfmt_get_attribute() y numfmt_set_attribute() con el atributo NumberFormatter::PADDING_POSITION.

NumberFormatter::PAD_AFTER_PREFIX (integer)
Los caracteres de relleno se insertan después del prefijo.
NumberFormatter::PAD_AFTER_SUFFIX (integer)
Los caracteres de relleno se insertan después del sufijo.
NumberFormatter::PAD_BEFORE_PREFIX (integer)
Los caracteres de relleno se insertan antes del prefijo.
NumberFormatter::PAD_BEFORE_SUFFIX (integer)
Los caracteres de relleno se insertan antes del sufijo.

Ver también

  • » Documentación de formateo de ICU
  • » Formateadores de números de ICU
  • » Formateadores decimales de ICU
  • » Formateadores de números basados en reglas de ICU

Tabla de contenidos

  • NumberFormatter::create — Crear un formateador de números
  • NumberFormatter::formatCurrency — Dar formato a un valor monetario
  • NumberFormatter::format — Dar formato a un número
  • NumberFormatter::getAttribute — Obtener un atributo
  • NumberFormatter::getErrorCode — Obtener el último código de error del formateador
  • NumberFormatter::getErrorMessage — Obtener el último mensaje de error del formateador
  • NumberFormatter::getLocale — Obtener la configuración regional de un formateador
  • NumberFormatter::getPattern — Obtener el patrón del formateador
  • NumberFormatter::getSymbol — Obtener el valor de un símbolo
  • NumberFormatter::getTextAttribute — Obtiene un atributo de texto
  • NumberFormatter::parseCurrency — Procesa un número monetario
  • NumberFormatter::parse — Analiza un número
  • NumberFormatter::setAttribute — Establecer un atributo
  • NumberFormatter::setPattern — Establecer el patrón de un formateador
  • NumberFormatter::setSymbol — Establecer un valor de símbolo
  • NumberFormatter::setTextAttribute — Set a text attribute
Collator::sort
NumberFormatter::create
intl


Crear un formateador de números

NumberFormatter
NumberFormatter::formatCurrency
NumberFormatter
PHP Manual

NumberFormatter::create

numfmt_create

NumberFormatter::__construct

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::create -- numfmt_create -- NumberFormatter::__construct — Crear un formateador de números

Descripción

Estilo orientado a objetos (método)

public static NumberFormatter NumberFormatter::create ( string $locale , int $style [, string $pattern ] )

Estilo por procedimientos

NumberFormatter numfmt_create ( string $locale , int $style [, string $pattern ] )

Estilo orientado a objetos (constructor)

public NumberFormatter::__construct() ( string $locale , int $style [, string $pattern ] )

Crea un formateador de números.

Parámetros

locale

La configuración regional en la que el número deberá ser formateado (nombre de la configuración regional, p.ej. en_CA).

style

El estilo de formo, una de las constanes de estilo de formato. Si se le pasa NumberFormatter::PATTERN_DECIMAL o NumberFormatter::PATTERN_RULEBASED, el formato numérico es abierto usando el patrón dado, el cual debe ajustarse a la sintaxis descrita en la » documentación de DecimalFormat de ICU o en la » documentación de RuleBasedNumberFormat de ICU, respectivamente.

pattern

Una cadena con el patrón si el estilo elegido requiere de un patrón.

Valores devueltos

Devuelve un objeto de la clase NumberFormatter o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de numfmt_create()

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
$fmt = numfmt_create( 'it', NumberFormatter::SPELLOUT );
echo numfmt_format($fmt, 1142)."\n";
?>

Ejemplo #2 Ejemplo de NumberFormatter::create()

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo $fmt->format(1234567.891234567890000)."\n";
$fmt = new NumberFormatter( 'it', NumberFormatter::SPELLOUT );
echo $fmt->format(1142)."\n";
?>

El resultado del ejemplo sería:

1.234.567,891
millicentoquarantadue

Ver también

  • numfmt_format() - Dar formato a un número
  • numfmt_parse() - Analiza un número

NumberFormatter
NumberFormatter::formatCurrency
NumberFormatter


Dar formato a un valor monetario

NumberFormatter::create
NumberFormatter::format
NumberFormatter
PHP Manual

NumberFormatter::formatCurrency

numfmt_format_currency

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::formatCurrency -- numfmt_format_currency — Dar formato a un valor monetario

Descripción

Estilo orientado a objetos

public string NumberFormatter::formatCurrency ( float $value , string $currency )

Estilo por procedimientos

string numfmt_format_currency ( NumberFormatter $fmt , float $value , string $currency )

Dar formato al valor monetario según las reglas del formateador.

Parámetros

fmt

Objeto NumberFormatter.

value

El valor numérico monetario.

currency

El código 3-letter ISO 4217 de moneda que indica la moneda a usar.

Valores devueltos

Un string representando el valor de moneda formateado.

Ejemplos

Ejemplo #1 Ejemplo de numfmt_format_currency()

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::CURRENCY );
echo numfmt_format_currency($fmt, 1234567.891234567890000, "EUR")."\n";
echo numfmt_format_currency($fmt, 1234567.891234567890000, "RUR")."\n";
$fmt = numfmt_create( 'ru_RU', NumberFormatter::CURRENCY );
echo numfmt_format_currency($fmt, 1234567.891234567890000, "EUR")."\n";
echo numfmt_format_currency($fmt, 1234567.891234567890000, "RUR")."\n";
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::CURRENCY );
echo $fmt->formatCurrency(1234567.891234567890000, "EUR")."\n";
echo $fmt->formatCurrency(1234567.891234567890000, "RUR")."\n";
$fmt = new NumberFormatter( 'ru_RU', NumberFormatter::CURRENCY );
echo $fmt->formatCurrency(1234567.891234567890000, "EUR")."\n";
echo $fmt->formatCurrency(1234567.891234567890000, "RUR")."\n";
?>

El resultado del ejemplo sería:

1.234.567,89 €
1.234.567,89 RUR
1 234 567,89€
1 234 567,89р.

Ver también

  • numfmt_get_error_code() - Obtener el último código de error del formateador
  • numfmt_format() - Dar formato a un número
  • numfmt_parse_currency() - Procesa un número monetario

NumberFormatter::create
NumberFormatter::format
NumberFormatter


Dar formato a un número

NumberFormatter::formatCurrency
NumberFormatter::getAttribute
NumberFormatter
PHP Manual

NumberFormatter::format

numfmt_format

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::format -- numfmt_format — Dar formato a un número

Descripción

Estilo orientado a objetos

public string NumberFormatter::format ( number $value [, int $type ] )

Estilo por procedimientos

string numfmt_format ( NumberFormatter $fmt , number $value [, int $type ] )

Dar formato a un valor numérico según las reglas del formateador.

Parámetros

fmt

Objeto NumberFormatter.

value

El valor de formato. Puede ser integer o float, otros valores se convierten en un valor numérico.

type

The tipo de formato a usar.

Valores devueltos

Devuelve un string con el valor formateado, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de numfmt_format()

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
$data = numfmt_format($fmt, 1234567.891234567890000);
if(intl_is_failure(numfmt_format($fmt))) {
    report_error("Formatter error");
}
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
$fmt->format(1234567.891234567890000);
if(intl_is_failure($fmt->getErrorCode())) {
    report_error("Formatter error");
}
?>

El resultado del ejemplo sería:

1.234.567,891

Ver también

  • numfmt_get_error_code() - Obtener el último código de error del formateador
  • numfmt_format_currency() - Dar formato a un valor monetario
  • numfmt_parse() - Analiza un número

NumberFormatter::formatCurrency
NumberFormatter::getAttribute
NumberFormatter


Obtener un atributo

NumberFormatter::format
NumberFormatter::getErrorCode
NumberFormatter
PHP Manual

NumberFormatter::getAttribute

numfmt_get_attribute

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::getAttribute -- numfmt_get_attribute — Obtener un atributo

Descripción

Estilo orientado a objetos

public int NumberFormatter::getAttribute ( int $attr )

Estilo por procedimientos

int numfmt_get_attribute ( NumberFormatter $fmt , int $attr )

Obtener un atributo numérico asociado con el formateador. Un ejemplo de un atributo numérico es el número de dígitos enteros que el formateador producirá.

Parámetros

fmt

Objeto NumberFormatter.

attr

Especificador de atributo - una de las constantes numeric attribute.

Valores devueltos

Devuelve el valor de atributo en caso de éxito, o de lo contrario FALSE.

Ejemplos

Ejemplo #1 Ejemplo de numfmt_get_attribute()

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Digits: ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS, 2);
echo "Digits: ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Digits: ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setAttribute(NumberFormatter::MAX_FRACTION_DIGITS, 2);
echo "Digits: ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

El resultado del ejemplo sería:

Digits: 3
1.234.567,891
Digits: 2
1.234.567,89

Ver también

  • numfmt_get_error_code() - Obtener el último código de error del formateador
  • numfmt_get_text_attribute() - Obtiene un atributo de texto
  • numfmt_set_attribute() - Establecer un atributo

NumberFormatter::format
NumberFormatter::getErrorCode
NumberFormatter


Obtener el último código de error del formateador

NumberFormatter::getAttribute
NumberFormatter::getErrorMessage
NumberFormatter
PHP Manual

NumberFormatter::getErrorCode

numfmt_get_error_code

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::getErrorCode -- numfmt_get_error_code — Obtener el último código de error del formateador

Descripción

Estilo orientado a objetos

public int NumberFormatter::getErrorCode ( void )

Estilo por procedimientos

int numfmt_get_error_code ( NumberFormatter $fmt )

Obtener el código de error de la última función realizada por el formateador.

Parámetros

fmt

Objeto NumberFormatter.

Valores devueltos

Devuelve el código de error de la última llamada al formateador.

Ejemplos

Ejemplo #1 Ejemplo de numfmt_get_error_code()

<?php
$fmt  = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
$data = numfmt_format($fmt, 1234567.891234567890000);
if(intl_is_failure(numfmt_get_error_code($fmt))) {
    report_error("Formatter error");
}
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
$fmt->format(1234567.891234567890000);
if(intl_is_failure($fmt->getErrorCode())) {
    report_error("Formatter error");
}
?>

Ver también

  • numfmt_get_error_message() - Obtener el último mensaje de error del formateador
  • intl_get_error_code() - Obtiene el último código de error
  • intl_is_failure() - Comprueba si el código de error dado indica un fallo

NumberFormatter::getAttribute
NumberFormatter::getErrorMessage
NumberFormatter


Obtener el último mensaje de error del formateador

NumberFormatter::getErrorCode
NumberFormatter::getLocale
NumberFormatter
PHP Manual

NumberFormatter::getErrorMessage

numfmt_get_error_message

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::getErrorMessage -- numfmt_get_error_message — Obtener el último mensaje de error del formateador

Descripción

Estilo orientado a objetos

public string NumberFormatter::getErrorMessage ( void )

Estilo por procedimientos

string numfmt_get_error_message ( NumberFormatter $fmt )

Obtener mensaje de error de la última función realizada por el formateador.

Parámetros

fmt

Objeto NumberFormatter.

Valores devueltos

Devuelve el mensaje de error de la última llamada al formateador.

Ejemplos

Ejemplo #1 Ejemplo de numfmt_get_error_message()

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
$data = numfmt_format($fmt, 1234567.891234567890000);
if(intl_is_failure(numfmt_get_error_code($fmt))) {
    report_error("Formatter error");
}
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
$fmt->format(1234567.891234567890000);
if(intl_is_failure($fmt->getErrorCode())) {
    report_error("Formatter error");
}
?>

Ver también

  • numfmt_get_error_code() - Obtener el último código de error del formateador
  • intl_get_error_code() - Obtiene el último código de error
  • intl_is_failure() - Comprueba si el código de error dado indica un fallo

NumberFormatter::getErrorCode
NumberFormatter::getLocale
NumberFormatter


Obtener la configuración regional de un formateador

NumberFormatter::getErrorMessage
NumberFormatter::getPattern
NumberFormatter
PHP Manual

NumberFormatter::getLocale

numfmt_get_locale

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::getLocale -- numfmt_get_locale — Obtener la configuración regional de un formateador

Descripción

Estilo orientado a objetos

public string NumberFormatter::getLocale ([ int $type ] )

Estilo por procedimientos

string numfmt_get_locale ( NumberFormatter $fmt [, int $type ] )

Obtener el nombre de la configuración regional de un formateador.

Parámetros

fmt

Un objeto de la clase NumberFormatter.

type

Se puede escoger entre una configuración regional válida y real ( Locale::VALID_LOCALE y Locale::ACTUAL_LOCALE, respectivamente). La configuración regional real es la predeterminada.

Valores devueltos

El nombre de la configuración regional usado para crear el formateador.

Ejemplos

Ejemplo #1 Ejemplo de numfmt_get_locale()

<?php
$req     = 'fr_FR_PARIS';
$fmt     = numfmt_create( $req,  NumberFormatter::DECIMAL);
$res_val = numfmt_get_locale( $fmt, Locale::VALID_LOCALE );
$res_act = numfmt_get_locale( $fmt, Locale::ACTUAL_LOCALE );
printf( "Nombre regional pedido: %s\nNombre regional válido: %s\nNombre regional real: %s\n",
         $req, $res_val, $res_act );
?>

El resultado del ejemplo sería:

Nombre regional pedido: fr_FR_PARIS
Nombre regional válido: fr_FR
Nombre regional real: fr

Ver también

  • numfmt_create() - Crear un formateador de números
  • numfmt_get_error_code() - Obtener el último código de error del formateador

NumberFormatter::getErrorMessage
NumberFormatter::getPattern
NumberFormatter


Obtener el patrón del formateador

NumberFormatter::getLocale
NumberFormatter::getSymbol
NumberFormatter
PHP Manual

NumberFormatter::getPattern

numfmt_get_pattern

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::getPattern -- numfmt_get_pattern — Obtener el patrón del formateador

Descripción

Estilo orientado a objetos

public string NumberFormatter::getPattern ( void )

Estilo por procedimientos

string numfmt_get_pattern ( NumberFormatter $fmt )

Extrae el patrón usado por el formateador.

Parámetros

fmt

Un objeto de la clase NumberFormatter.

Valores devueltos

El string con el patroón que es usado por el formateador, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de numfmt_get_pattern()

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Patrón: ".numfmt_get_pattern($fmt)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_pattern($fmt, "#0.# kg");
echo "Patrón: ".numfmt_get_pattern($fmt)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Ejemplo #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Patrón: ".$fmt->getPattern()."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setPattern("#0.# kg");
echo "Patrón: ".$fmt->getPattern()."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

El resultado del ejemplo sería:

Patrón: #,##0.###
1.234.567,891
Patrón: #0.# kg
1234567,9 kg

Ver también

  • numfmt_get_error_code() - Obtener el último código de error del formateador
  • numfmt_set_pattern() - Establecer el patrón de un formateador
  • numfmt_create() - Crear un formateador de números

NumberFormatter::getLocale
NumberFormatter::getSymbol
NumberFormatter


Obtener el valor de un símbolo

NumberFormatter::getPattern
NumberFormatter::getTextAttribute
NumberFormatter
PHP Manual

NumberFormatter::getSymbol

numfmt_get_symbol

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::getSymbol -- numfmt_get_symbol — Obtener el valor de un símbolo

Descripción

Estilo orientado a objetos

public string NumberFormatter::getSymbol ( int $attr )

Estilo por procedimientos

string numfmt_get_symbol ( NumberFormatter $fmt , int $attr )

Obtiene el símbolo asociado con el formateador. El formateador utiliza símbolos para representar los caracteres especiales dependientes de la configuración regional en un número, por ejemplo el signo de porcentaje. Esta API no está soportada por formateadores basados en reglas.

Parámetros

fmt

Un objeto de la clase NumberFormatter.

attr

El especificador del símbolo, una de las constantes de símbolo de formato.

Valores devueltos

La cadena con el símbolo o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de numfmt_get_symbol()

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Separador: ".numfmt_get_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL, "*");
echo "Separador: ".numfmt_get_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Ejemplo #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Separador: ".$fmt->getSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL, "*");
echo "Separador: ".$fmt->getSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

El resultado del ejemplo sería:

Separador: .
1.234.567,891
Separador: *
1*234*567,891

Ver también

  • numfmt_get_error_code() - Obtener el último código de error del formateador
  • numfmt_set_symbol() - Establecer un valor de símbolo

NumberFormatter::getPattern
NumberFormatter::getTextAttribute
NumberFormatter


Obtiene un atributo de texto

NumberFormatter::getSymbol
NumberFormatter::parseCurrency
NumberFormatter
PHP Manual

NumberFormatter::getTextAttribute

numfmt_get_text_attribute

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::getTextAttribute -- numfmt_get_text_attribute — Obtiene un atributo de texto

Descripción

Estilo orientado a objetos

public string NumberFormatter::getTextAttribute ( int $attr )

Estilo por procedimientos

string numfmt_get_text_attribute ( NumberFormatter $fmt , int $attr )

Obtiene un atributo de texto asociado al formateador. Un ejemplo de un atributo de texto es el sufijo de números positivos. Si el formateador no entiende el atributo, se producirá un error de tipo U_UNSUPPORTED_ERROR. Los formateadores basados en reglas sólo entienden NumberFormatter::DEFAULT_RULESET y NumberFormatter::PUBLIC_RULESETS.

Parámetros

fmt

Un objeto de la clase NumberFormatter.

attr

El especificador del atributo - una de las constantes de atributo de texto.

Valores devueltos

Devuelve el valor del atributo en caso de éxito, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de numfmt_get_text_attribute()

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Prefijo: ".numfmt_get_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX)."\n";
echo numfmt_format($fmt, -1234567.891234567890000)."\n";
numfmt_set_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX, "MINUS");
echo "Prefijo: ".numfmt_get_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX)."\n";
echo numfmt_format($fmt, -1234567.891234567890000)."\n";
?>

Ejemplo #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Prefijo: ".$fmt->getTextAttribute(NumberFormatter::NEGATIVE_PREFIX)."\n";
echo $fmt->format(-1234567.891234567890000)."\n";
$fmt->setTextAttribute(NumberFormatter::NEGATIVE_PREFIX, "MINUS");
echo "Prefijo: ".$fmt->getTextAttribute(NumberFormatter::NEGATIVE_PREFIX)."\n";
echo $fmt->format(-1234567.891234567890000)."\n";
?>

El resultado del ejemplo sería:

Prefijo: -
-1.234.567,891
Prefijo: MINUS
MINUS1.234.567,891

Ver también

  • numfmt_get_error_code() - Obtener el último código de error del formateador
  • numfmt_get_attribute() - Obtener un atributo
  • numfmt_set_text_attribute() - Set a text attribute

NumberFormatter::getSymbol
NumberFormatter::parseCurrency
NumberFormatter


Procesa un número monetario

NumberFormatter::getTextAttribute
NumberFormatter::parse
NumberFormatter
PHP Manual

NumberFormatter::parseCurrency

numfmt_parse_currency

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::parseCurrency -- numfmt_parse_currency — Procesa un número monetario

Descripción

Estilo orientado a objetos

public float NumberFormatter::parseCurrency ( string $value , string &$currency [, int &$position ] )

Estilo por procedimientos

float numfmt_parse_currency ( NumberFormatter $fmt , string $value , string &$currency [, int &$position ] )

Convierte una cadena en un valor de tipo double y en un valor monetario usando el formateador actual.

Parámetros

fmt

Un objeto de la clase NumberFormatter.

currency

Parámetro que recibe el nombre de la moneda (código de moneda ISO 4217 de 3 letras).

position

Índice de la cadena en la que comenzar el proceso. Cuando el método devuelve, este valor contendrá el índice en el que finalizón el proceso.

Valores devueltos

El valor numérico procesado o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de numfmt_parse_currency()

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::CURRENCY );
$num = "1.234.567,89 $";
echo "Tenemos ".numfmt_parse_currency($fmt, $num, $curr)." en $curr\n";
?>

Ejemplo #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::CURRENCY );
$num = "1.234.567,89 $";
echo "Tenemos ".$fmt->parseCurrency($num, $curr)." en $curr\n";
?>

El resultado del ejemplo sería:

We have 1234567.89 in USD

Ver también

  • numfmt_get_error_code() - Obtener el último código de error del formateador
  • numfmt_parse() - Analiza un número
  • numfmt_format_currency() - Dar formato a un valor monetario

NumberFormatter::getTextAttribute
NumberFormatter::parse
NumberFormatter


Analiza un número

NumberFormatter::parseCurrency
NumberFormatter::setAttribute
NumberFormatter
PHP Manual

NumberFormatter::parse

numfmt_parse

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::parse -- numfmt_parse — Analiza un número

Descripción

Estilo orientado a objetos

public mixed NumberFormatter::parse ( string $value [, int $type [, int &$position ]] )

Estilo por procedimientos

mixed numfmt_parse ( NumberFormatter $fmt , string $value [, int $type [, int &$position ]] )

Pasar de un string a un número usando las reglas actuales de formateo.

Parámetros

fmt

NumberFormatter object.

type

El tipo de formateo a usar. Por defecto, se utiliza NumberFormatter::TYPE_DOUBLE.

position

Lugar del string a partir del cual se debe convertir. Al regresar, este valor contendrá el lugar en el que la conversión ha finalizado.

Valores devueltos

El valor del número convertido o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de numfmt_parse()

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
$num = "1.234.567,891";
echo numfmt_parse($fmt, $num)."\n";
echo numfmt_parse($fmt, $num, NumberFormatter::TYPE_INT32)."\n";
?>

Ejemplo #2 Ejemplo O.O.

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
$num = "1.234.567,891";
echo $fmt->parse($num)."\n";
echo $fmt->parse($num, NumberFormatter::TYPE_INT32)."\n";
?>

El resultado del ejemplo sería:

1234567.891
1234567

Ver también

  • numfmt_get_error_code() - Obtener el último código de error del formateador
  • numfmt_format() - Dar formato a un número
  • numfmt_parse_currency() - Procesa un número monetario

NumberFormatter::parseCurrency
NumberFormatter::setAttribute
NumberFormatter


Establecer un atributo

NumberFormatter::parse
NumberFormatter::setPattern
NumberFormatter
PHP Manual

NumberFormatter::setAttribute

numfmt_set_attribute

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::setAttribute -- numfmt_set_attribute — Establecer un atributo

Descripción

Estilo orientado a objetos

public bool NumberFormatter::setAttribute ( int $attr , int $value )

Estilo por procedimientos

bool numfmt_set_attribute ( NumberFormatter $fmt , int $attr , int $value )

Establece un atributo numértico asociado con el formateador. Un ejemplo de un atributo numérico es el número de dígitos enteros que producirá el formateador.

Parámetros

fmt

Un objeto de la clase NumberFormatter.

attr

El especificador del atributo - una de las constantes de atributo numérico.

value

El valor del atributo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de numfmt_set_attribute()

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Dígitos: ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS, 2);
echo "Dígitos: ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Ejemplo #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Dígitos: ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setAttribute(NumberFormatter::MAX_FRACTION_DIGITS, 2);
echo "Dígitos: ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

El resultado del ejemplo sería:

Dígitos: 3
1.234.567,891
Dígitos: 2
1.234.567,89

Ver también

  • numfmt_get_error_code() - Obtener el último código de error del formateador
  • numfmt_get_attribute() - Obtener un atributo
  • numfmt_set_text_attribute() - Set a text attribute

NumberFormatter::parse
NumberFormatter::setPattern
NumberFormatter


Establecer el patrón de un formateador

NumberFormatter::setAttribute
NumberFormatter::setSymbol
NumberFormatter
PHP Manual

NumberFormatter::setPattern

numfmt_set_pattern

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::setPattern -- numfmt_set_pattern — Establecer el patrón de un formateador

Descripción

Estilo orientado a objetos

public bool NumberFormatter::setPattern ( string $pattern )

Estilo por procedimientos

bool numfmt_set_pattern ( NumberFormatter $fmt , string $pattern )

Establece el patrón usado por el formateador. No se puede usar en formateadores basados en reglas.

Parámetros

fmt

Un objeto de la clase NumberFormatter.

pattern

Un patrón con la sintaxis descrita en la » documentación de DecimalFormat de ICU.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de numfmt_set_pattern()

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Patrón: ".numfmt_get_pattern($fmt)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_pattern($fmt, "#0.# kg");
echo "Patrón: ".numfmt_get_pattern($fmt)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Ejemplo #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Patrón: ".$fmt->getPattern()."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setPattern("#0.# kg");
echo "Patrón: ".$fmt->getPattern()."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

El resultado del ejemplo sería:

Patrón: #,##0.###
1.234.567,891
Patrón: #0.# kg
1234567,9 kg

Ver también

  • numfmt_get_error_code() - Obtener el último código de error del formateador
  • numfmt_create() - Crear un formateador de números
  • numfmt_get_pattern() - Obtener el patrón del formateador

NumberFormatter::setAttribute
NumberFormatter::setSymbol
NumberFormatter


Establecer un valor de símbolo

NumberFormatter::setPattern
NumberFormatter::setTextAttribute
NumberFormatter
PHP Manual

NumberFormatter::setSymbol

numfmt_set_symbol

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::setSymbol -- numfmt_set_symbol — Establecer un valor de símbolo

Descripción

Estilo orientado a objetos

public bool NumberFormatter::setSymbol ( int $attr , string $value )

Estilo por procedimientos

bool numfmt_set_symbol ( NumberFormatter $fmt , int $attr , string $value )

Establece un símbolo asociado con el formateador. Los formateadores utilizan símbolos para representar los caracteres especiales dependientes de la configuración regional en un número, por ejemplo el signo de porcentaje. Esta API no está soportada por formateadores basados en reglas.

Parámetros

fmt

Un objeto de la clase NumberFormatter.

attr

El especificador del símbolo, una de las constantes de símbolo de formato.

value

El texto para el símbolo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de numfmt_set_symbol()

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Separador: ".numfmt_get_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL, "*");
echo "Separador: ".numfmt_get_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Ejemplo #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Separador: ".$fmt->getSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL, "*");
echo "Separador: ".$fmt->getSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

El resultado del ejemplo sería:

Separador: .
1.234.567,891
Separador: *
1*234*567,891

Ver también

  • numfmt_get_error_code() - Obtener el último código de error del formateador
  • numfmt_get_symbol() - Obtener el valor de un símbolo

NumberFormatter::setPattern
NumberFormatter::setTextAttribute
NumberFormatter


Set a text attribute

NumberFormatter::setSymbol
Locale
NumberFormatter
PHP Manual

NumberFormatter::setTextAttribute

numfmt_set_text_attribute

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::setTextAttribute -- numfmt_set_text_attribute — Set a text attribute

Descripción

Estilo orientado a objetos

public bool NumberFormatter::setTextAttribute ( int $attr , string $value )

Estilo por procedimientos

bool numfmt_set_text_attribute ( NumberFormatter $fmt , int $attr , string $value )

Establece un atributo de texto asociado al formateador. Un ejemplo de un atributo de texto es el sufijo de números positivos. Si el formateador no entiende el atributo, se producirá un error de tipo U_UNSUPPORTED_ERROR. Los formateadores basados en reglas sólo entienden NumberFormatter::DEFAULT_RULESET y NumberFormatter::PUBLIC_RULESETS.

Parámetros

fmt

Un objeto de la clase NumberFormatter.

attr

El especificador del atributo - una de las constanes de atributo de texto.

value

El texto para el valor del atributo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de numfmt_set_text_attribute()

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Prefijo: ".numfmt_get_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX)."\n";
echo numfmt_format($fmt, -1234567.891234567890000)."\n";
numfmt_set_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX, "MINUS");
echo "Prefijo: ".numfmt_get_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX)."\n";
echo numfmt_format($fmt, -1234567.891234567890000)."\n";
?>

Ejemplo #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Prefijo: ".$fmt->getTextAttribute(NumberFormatter::NEGATIVE_PREFIX)."\n";
echo $fmt->format(-1234567.891234567890000)."\n";
$fmt->setTextAttribute(NumberFormatter::NEGATIVE_PREFIX, "MINUS");
echo "Prefijo: ".$fmt->getTextAttribute(NumberFormatter::NEGATIVE_PREFIX)."\n";
echo $fmt->format(-1234567.891234567890000)."\n";
?>

El resultado del ejemplo sería:

Prefijo: -
-1.234.567,891
Prefijo: MINUS
MINUS1.234.567,891

Ver también

  • numfmt_get_error_code() - Obtener el último código de error del formateador
  • numfmt_get_text_attribute() - Obtiene un atributo de texto
  • numfmt_set_attribute() - Establecer un atributo

NumberFormatter::setSymbol
Locale
NumberFormatter


La clase Locale

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Introducción

Un "Locale" (Configuración Regional) es un identificador utilizado para obtener el lenguaje, la cultura o el comportamiento de una región específica desde una API. Las configuraciones regionales de PHP están organizadas e identificadas de la misma manera que las conficuraciones regionales CLDR usadas por ICU (y que muchos vendedores de sistemas operativos similares a Unix, el Mac, Java, etc., usan). Las configuraciones regionales son identificadores que usan las etiquetas de lenguaje RFC 4646 (que usan guiones, no guiones de subrayado) además de los identificadores más tradiciones que usan guiones de subrayada. A menos que se indique lo contrario, las funciones de esta clase son tolerante con ambos formatos.

Algunos ejemplos de identificadores:

  • en-US (Inglés, Estados Unidos)
  • zh-Hant-TW (Chino, Tradicional, Taiwán)
  • fr-CA, fr-FR (Francés para Canadá y Francia respectivamente)

La clase Locale (y sus funciones procedimentales relacionadas) se usa para interactuar con los identificadores regionales (para verificar que un ID está bien formado, que es válido, etc.). Las extensiones usadas por CLDR en UAX #35 (y heredadas por ICU) son válidas y se utilizan dondequiera que estuvieran normalmente en ICU.

Las configuraciones regionales ("locale") no pueden ser instanciadas como objetos. Todas las funciones y los métodos proporcionados son estáticos.

La cadena nula o vacía obtiene la configuración regional "root". Ésta es equivalente a "en_US_POSIX" en CLDR. Las etiquetas de lenguaje (y por lo tanto los identificadores regionales) no son sensibles a mayúsculas-minúsculas. Existe una función de canonización para hacer que las mayúsculas-minúsculas coincidan con la especificación.

Sinopsis de la Clase

Locale {
/* Métodos */
public static string acceptFromHttp ( string $header )
public static string canonicalize ( string $locale )
public static string composeLocale ( array $subtags )
public static bool filterMatches ( string $langtag , string $locale [, bool $canonicalize = false ] )
public static array getAllVariants ( string $locale )
public static string getDefault ( void )
public static string getDisplayLanguage ( string $locale [, string $in_locale ] )
public static string getDisplayName ( string $locale [, string $in_locale ] )
public static string getDisplayRegion ( string $locale [, string $in_locale ] )
public static string getDisplayScript ( string $locale [, string $in_locale ] )
public static string getDisplayVariant ( string $locale [, string $in_locale ] )
public static array getKeywords ( string $locale )
public static string getPrimaryLanguage ( string $locale )
public static string getRegion ( string $locale )
public static string getScript ( string $locale )
public static string lookup ( array $langtag , string $locale [, bool $canonicalize = false [, string $default ]] )
public static array parseLocale ( string $locale )
public static bool setDefault ( string $locale )
}

Constantes predefinidas

Locale::DEFAULT_LOCALE (null)
Usada como parámetro regional con los métodos de varias clases de configuración regional afectadas, como NumberFormatter. Esta constante hace que los métodos usen la configuración regional predeterminada.

Estas constantes describen la elección de la configuración regional para el método getLocalte method de diferentes clases.

Locale::ACTUAL_LOCALE (string)
Esta es la configuración regional de donde realmente proviene la información.
Locale::VALID_LOCALE (string)
Esta es la configuración regional más específica soportada por ICU.

Estas constantes definen cómo se procesan o componen las Configuraciones Regionales. Deberían usarse como claves en el array de argumentos para locale_compose() y son devueltas por locale_parse() como claves del array asociativo devuelto.

Locale::LANG_TAG (string)
Subetiqueta de lenguaje
Locale::EXTLANG_TAG (string)
Subetiqueta de lenguaje extendido
Locale::SCRIPT_TAG (string)
Subetiqueta de script
Locale::REGION_TAG (string)
Subetiqueta de región
Locale::VARIANT_TAG (string)
Subetiqueta de variente
Locale::GRANDFATHERED_LANG_TAG (string)
Subetiqueta de lenguaje exento
Locale::PRIVATE_TAG (string)
Subetiqueta privada

Ver también

  • » RFC 4646 - Etiquetas para la Identificación de Lenguajes
  • » RFC 4647 - Concordancia de Etiquetas de Lenguaje
  • » Proyecto CLDR Unicode: Repositorio de Información de Configuraciones Regionales Común
  • » Registro de Subetiquetas de Lenguaje IANA
  • » Guía de Usuario ICU - Configuración Regional
  • » La API Locale de ICU

Tabla de contenidos

  • Locale::acceptFromHttp — Intentar encontrar la mejor configuración regional basada en la cabecera "Accept-Language" de HTTP
  • Locale::canonicalize — Canonicalize the locale string
  • Locale::composeLocale — Devolver un ID regional correctamente ordenado y delimitado
  • Locale::filterMatches — Comprobar si unfiltro de etiquetas de lenguaje coincide con una configuración regional
  • Locale::getAllVariants — Obtener las variantes de la configuración regional de entrada
  • Locale::getDefault — Obtener el valor de la configuración regional predeterminada del identificador global 'default_locale' de INTL
  • Locale::getDisplayLanguage — Devolver un nombre manifiesto debidamente localizado del lenguaje de la configuración regional de entrada
  • Locale::getDisplayName — Devolver un nombre manifiesto debidamente localizado de la configuración regional de entrada
  • Locale::getDisplayRegion — Devolver un nombre manifiesto debidamente localizado de la región de la configuración regional de entrada
  • Locale::getDisplayScript — Devolver un nombre manifiesto debidamente localizado de la escritura de la configuración regional de entrada
  • Locale::getDisplayVariant — Devolver un nombre manifiesto debidamente localizado de las variantes de la configuración regional de entrada
  • Locale::getKeywords — Obtener las palabras clave de la configuración regional de entrada
  • Locale::getPrimaryLanguage — Obtener el lenguaje principal de la configuración regional de entrada
  • Locale::getRegion — Obtener la región de la configuración local de entrada
  • Locale::getScript — Obtener la escritura de la configuración regional de entrada
  • Locale::lookup — Buscar en la lista de etiquetas de lenguaje la mejor coincidencia para el lenguaje
  • Locale::parseLocale — Devolver un array de claves-valores de los elementos de las subetiquetas del ID regional
  • Locale::setDefault — Establecer la configuración regional predeterminada en tiempo de ejecución
NumberFormatter::setTextAttribute
Locale::acceptFromHttp
intl


Intentar encontrar la mejor configuración regional basada en la cabecera "Accept-Language" de HTTP

Locale
Locale::canonicalize
Locale
PHP Manual

Locale::acceptFromHttp

locale_accept_from_http

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::acceptFromHttp -- locale_accept_from_http — Intentar encontrar la mejor configuración regional basada en la cabecera "Accept-Language" de HTTP

Descripción

Estilo orientado a objetos

public static string Locale::acceptFromHttp ( string $header )

Estilo por procedimientos

string locale_accept_from_http ( string $header )

Intenta encontrar la configuración regional que pueda satisfacer la lista de lenguajes que es pedida por la cabecera "Accept-Language" de HTTP.

Parámetros

header

La cadena que contiene la cabecera "Accept-Language" de acuerdo al formato de RFC 2616.

Valores devueltos

El identificador regional correspondiente.

Ejemplos

Ejemplo #1 Ejemplo de locale_accept_from_http()

<?php
$locale = locale_accept_from_http($_SERVER['HTTP_ACCEPT_LANGUAGE']);
echo $locale;
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$locale = Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']);
echo $locale;
?>

El resultado del ejemplo sería:

en_US

Ver también

  • locale_lookup() - Buscar en la lista de etiquetas de lenguaje la mejor coincidencia para el lenguaje

Locale
Locale::canonicalize
Locale


Canonicalize the locale string

Locale::acceptFromHttp
Locale::composeLocale
Locale
PHP Manual

Locale::canonicalize

locale_canonicalize

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::canonicalize -- locale_canonicalize — Canonicalize the locale string

Descripción

public static string Locale::canonicalize ( string $locale )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

locale

Valores devueltos

Locale::acceptFromHttp
Locale::composeLocale
Locale


Devolver un ID regional correctamente ordenado y delimitado

Locale::canonicalize
Locale::filterMatches
Locale
PHP Manual

Locale::composeLocale

locale_compose

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::composeLocale -- locale_compose — Devolver un ID regional correctamente ordenado y delimitado

Descripción

Estilo orientado a objetos

public static string Locale::composeLocale ( array $subtags )

Estilo por procedimientos

string locale_compose ( array $subtags )

Deveulve un ID regional correctamente ordenado y delimitado. Las claves identifican las subetiquetas del ID regional en particular, y los valores son los valores de las subetiquetas asociadas.

Parámetros

subtags

Un array que contiene una lista de pares clave-valor, donde las claves identifican las subetiquetas del ID regional en particular, y los valores son los valores de las subetiquetas asociadas.

Nota:

Las subetiquetas 'variant' y 'private' pueden tomar un máximo de 15 valores mientras que 'extlang' puede tomar un máximo de 3 valores. Está permitido que las variantes tengan un sufijo de 0-14. Por lo tanto, las claves para el array de entrada pueden ser variant0, variant1, ...,variant14. En el ID regional devuelto, las subetiquetas están ordenadas por sufijo, resultando en variant0 seguido de variant1 seguido de variant2, etc.

Los valores múltiples de 'variant', 'private' y 'extlang' se pueden especificar tanto como array bajo la clave específica (p.ej. 'variant') como claves numeradas múltiples (p.ej. 'variant0', 'variant1', etc.).

Valores devueltos

El identificador regional correspondiente.

Ejemplos

Ejemplo #1 Ejemplo de locale_compose()

<?php
$arr = array(
    'language'=>'en' ,
    'script'  =>'Hans' ,
    'region'  =>'CN',
    'variant2'=>'rozaj' ,
    'variant1'=>'nedis' ,
    'private1'=>'prv1' ,
    'private2'=>'prv2'
);
echo locale_compose( $arr );
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$arr = array(
    'language'=>'en' ,
    'script'  =>'Hans' ,
    'region'  =>'CN',
    'variant2'=>'rozaj' ,
    'variant1'=>'nedis' ,
    'private1'=>'prv1' ,
    'private2'=>'prv2'
);
echo Locale::composeLocale( $arr );
?>

El resultado del ejemplo sería:

Locale: en_Hans_CN_nedis_rozaj_x_prv1_prv2

Ver también

  • locale_parse() - Devolver un array de claves-valores de los elementos de las subetiquetas del ID regional

Locale::canonicalize
Locale::filterMatches
Locale


Comprobar si unfiltro de etiquetas de lenguaje coincide con una configuración regional

Locale::composeLocale
Locale::getAllVariants
Locale
PHP Manual

Locale::filterMatches

locale_filter_matches

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::filterMatches -- locale_filter_matches — Comprobar si unfiltro de etiquetas de lenguaje coincide con una configuración regional

Descripción

Estilo orientado a objetos

public static bool Locale::filterMatches ( string $langtag , string $locale [, bool $canonicalize = false ] )

Estilo por procedimientos

bool locale_filter_matches ( string $langtag , string $locale [, bool $canonicalize = false ] )

Comprobar si el filtro $langtag coincide con $locale de acuerdo al algoritmo de filtración básica de RFC 4647.

Parámetros

langtag

La etiqueta de lenguaje a comprobar

locale

El rango de lenguajes con el que se realiza la comprobación

canonicalize

Si es verdadero (true), los argumentos serán convertidos a su forma conónica antes de la comparación.

Valores devueltos

TRUE si $locale coincide con $langtag FALSE si no.

Ejemplos

Ejemplo #1 Ejemplo de locale_filter_matches()

<?php
echo (locale_filter_matches('de-DEVA','de-DE', false)) ? "Coincide" : "No coincide";
echo '; ';
echo (locale_filter_matches('de-DE_1996','de-DE', false)) ? "Coincide" : "No coincide";
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
echo (Locale::filterMatches('de-DEVA','de-DE', false)) ? "Coincide" : "No coincide";
echo '; ';
echo (Locale::filterMatches('de-DE-1996','de-DE', false)) ? "Coincide" : "No coincide";
?>

El resultado del ejemplo sería:

No coincide; Coincide

Ver también

  • locale_lookup() - Buscar en la lista de etiquetas de lenguaje la mejor coincidencia para el lenguaje

Locale::composeLocale
Locale::getAllVariants
Locale


Obtener las variantes de la configuración regional de entrada

Locale::filterMatches
Locale::getDefault
Locale
PHP Manual

Locale::getAllVariants

locale_get_all_variants

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getAllVariants -- locale_get_all_variants — Obtener las variantes de la configuración regional de entrada

Descripción

Estilo orientado a objetos

public static array Locale::getAllVariants ( string $locale )

Estilo por procedimientos

array locale_get_all_variants ( string $locale )

Obtiene las variantes de la configuración regional de entrada

Parámetros

locale

La configuración regional desde la que extraer las variantes

Valores devueltos

Un array que contienen la lista de todas las subetiquetas de variantes de la configuración regional o NULL si no están presentes

Ejemplos

Ejemplo #1 Ejepmplo de locale_get_all_variants()

<?php
$arr = locale_get_all_variants('sl_IT_NEDIS_ROJAZ_1901');
var_export( $arr );
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
 $arr = Locale::getAllVariants('sl_IT_NEDIS_ROJAZ_1901');
 var_export( $arr );
?>

El resultado del ejemplo sería:

array (
    0 => 'NEDIS',
    1 => 'ROJAZ',
    2 => '1901',
)

Ver también

  • locale_get_primary_language() - Obtener el lenguaje principal de la configuración regional de entrada
  • locale_get_script() - Obtener la escritura de la configuración regional de entrada
  • locale_get_region() - Obtener la región de la configuración local de entrada

Locale::filterMatches
Locale::getDefault
Locale


Obtener el valor de la configuración regional predeterminada del identificador global 'default_locale' de INTL

Locale::getAllVariants
Locale::getDisplayLanguage
Locale
PHP Manual

Locale::getDefault

locale_get_default

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getDefault -- locale_get_default — Obtener el valor de la configuración regional predeterminada del identificador global 'default_locale' de INTL

Descripción

Estilo orientado a objetos

public static string Locale::getDefault ( void )

Estilo por procedimientos

string locale_get_default ( void )

Obtiene el valor de la configuración regional predeterminada. Cuando se inicializa PHP, este valor se establece al valor 'intl.default_locale' en php.ini si tal valor existe, o desde la función uloc_getDefault() de ICU.

Parámetros

Valores devueltos

La configuración regional actual en tiempo de ejecución

Ejemplos

Ejemplo #1 Ejemplo de locale_get_default()

<?php
ini_set('intl.default_locale', 'de-DE');
echo locale_get_default();
echo '; ';
locale_set_default('fr');
echo locale_get_default();
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
ini_set('intl.default_locale', 'de-DE');
echo Locale::getDefault();
echo '; ';
Locale::setDefault('fr');
echo Locale::getDefault();
?>

El resultado del ejemplo sería:

de-DE; fr

Ver también

  • locale_set_default() - Establecer la configuración regional predeterminada en tiempo de ejecución

Locale::getAllVariants
Locale::getDisplayLanguage
Locale


Devolver un nombre manifiesto debidamente localizado del lenguaje de la configuración regional de entrada

Locale::getDefault
Locale::getDisplayName
Locale
PHP Manual

Locale::getDisplayLanguage

locale_get_display_language

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getDisplayLanguage -- locale_get_display_language — Devolver un nombre manifiesto debidamente localizado del lenguaje de la configuración regional de entrada

Descripción

Estilo orientado a objetos

public static string Locale::getDisplayLanguage ( string $locale [, string $in_locale ] )

Estilo por procedimientos

string locale_get_display_language ( string $locale [, string $in_locale ] )

Devuelve un nombre manifiesto debidamente localizado del lenguaje de la configuración regional de entrada. Si es NULL se utiliza la configuración regional predeterminada.

Parámetros

locale

La configuración regional de la que devolver un lenguaje manifiesto

in_locale

El formato regional opcional a usar para mostrar el nombre del lenguaje

Valores devueltos

El nombre manifiesto del lenguaje de la configuración regional dada por $locale en el formato apropiado dado por $in_locale.

Ejemplos

Ejemplo #1 Ejemplo de locale_get_display_language()

<?php
echo locale_get_display_language('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_language('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo locale_get_display_language('sl-Latn-IT-nedis', 'de');
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
echo Locale::getDisplayLanguage('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayLanguage('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo Locale::getDisplayLanguage('sl-Latn-IT-nedis', 'de');
?>

El resultado del ejemplo sería:

Slovenian;
slov\xc3\xa8ne;
Slowenisch

Ver también

  • locale_get_display_name() - Devolver un nombre manifiesto debidamente localizado de la configuración regional de entrada
  • locale_get_display_script() - Devolver un nombre manifiesto debidamente localizado de la escritura de la configuración regional de entrada
  • locale_get_display_region() - Devolver un nombre manifiesto debidamente localizado de la región de la configuración regional de entrada
  • locale_get_display_variant() - Devolver un nombre manifiesto debidamente localizado de las variantes de la configuración regional de entrada

Locale::getDefault
Locale::getDisplayName
Locale


Devolver un nombre manifiesto debidamente localizado de la configuración regional de entrada

Locale::getDisplayLanguage
Locale::getDisplayRegion
Locale
PHP Manual

Locale::getDisplayName

locale_get_display_name

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getDisplayName -- locale_get_display_name — Devolver un nombre manifiesto debidamente localizado de la configuración regional de entrada

Descripción

Estilo orientado a objetos

public static string Locale::getDisplayName ( string $locale [, string $in_locale ] )

Estilo por procedimientos

string locale_get_display_name ( string $locale [, string $in_locale ] )

Devuelve un nombre manifiesto debidamente localizado de la configuración regional de entrada. Si es NULL se utiliza la configuración regional predeterminada.

Parámetros

locale

La configuración regional de la que devolver un nombre manifiesto.

in_locale

Formato regional opcional

Valores devueltos

El nombre manifiesto de la configuración regional con el formato apropiado dado por $in_locale.

Ejemplos

Ejemplo #1 Ejemplo de locale_get_display_name()

<?php
echo locale_get_display_name('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_name('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo locale_get_display_name('sl-Latn-IT-nedis', 'de');
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
echo Locale::getDisplayName('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayName('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo Locale::getDisplayName('sl-Latn-IT-nedis', 'de');
?>

El resultado del ejemplo sería:

Slovenian (Latin, Italy, Natisone dialect);
slov\xc3\xa8ne (latin, Italie, dialecte de Natisone;
Slowenisch (Lateinisch, Italien, NEDIS)

Ver también

  • locale_get_display_language() - Devolver un nombre manifiesto debidamente localizado del lenguaje de la configuración regional de entrada
  • locale_get_display_script() - Devolver un nombre manifiesto debidamente localizado de la escritura de la configuración regional de entrada
  • locale_get_display_region() - Devolver un nombre manifiesto debidamente localizado de la región de la configuración regional de entrada
  • locale_get_display_variant() - Devolver un nombre manifiesto debidamente localizado de las variantes de la configuración regional de entrada

Locale::getDisplayLanguage
Locale::getDisplayRegion
Locale


Devolver un nombre manifiesto debidamente localizado de la región de la configuración regional de entrada

Locale::getDisplayName
Locale::getDisplayScript
Locale
PHP Manual

Locale::getDisplayRegion

locale_get_display_region

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getDisplayRegion -- locale_get_display_region — Devolver un nombre manifiesto debidamente localizado de la región de la configuración regional de entrada

Descripción

Estilo orientado a objetos

public static string Locale::getDisplayRegion ( string $locale [, string $in_locale ] )

Estilo por procedimientos

string locale_get_display_region ( string $locale [, string $in_locale ] )

Devuelve un nombre manifiesto debidamente localizado de la región de la configuración regional de entrada. Si es NULL se utiliza la configuración regional predeterminada.

Parámetros

locale

La configuración regional de la que devolver una región manifiesta.

in_locale

El formato regional opcional a usar para mostrar el nombre de la región

Valores devueltos

El nombre manifiesto de la región de la configuración regional dada por $locale en el formato apropiado dado por $in_locale.

Ejemplos

Ejemplo #1 Ejemplo de locale_get_display_region()

<?php
echo locale_get_display_region('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_region('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo locale_get_display_region('sl-Latn-IT-nedis', 'de');
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
echo Locale::getDisplayRegion('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayRegion('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo Locale::getDisplayRegion('sl-Latn-IT-nedis', 'de');
?>

El resultado del ejemplo sería:

Italy;
Italie;
Italien

Ver también

  • locale_get_display_name() - Devolver un nombre manifiesto debidamente localizado de la configuración regional de entrada
  • locale_get_display_language() - Devolver un nombre manifiesto debidamente localizado del lenguaje de la configuración regional de entrada
  • locale_get_display_script() - Devolver un nombre manifiesto debidamente localizado de la escritura de la configuración regional de entrada
  • locale_get_display_variant() - Devolver un nombre manifiesto debidamente localizado de las variantes de la configuración regional de entrada

Locale::getDisplayName
Locale::getDisplayScript
Locale


Devolver un nombre manifiesto debidamente localizado de la escritura de la configuración regional de entrada

Locale::getDisplayRegion
Locale::getDisplayVariant
Locale
PHP Manual

Locale::getDisplayScript

locale_get_display_script

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getDisplayScript -- locale_get_display_script — Devolver un nombre manifiesto debidamente localizado de la escritura de la configuración regional de entrada

Descripción

Estilo orientado a objetos

public static string Locale::getDisplayScript ( string $locale [, string $in_locale ] )

Estilo por procedimientos

string locale_get_display_script ( string $locale [, string $in_locale ] )

Devuelve un nombre manifiesto debidamente localizado de la escritura de la configuración regional de entrada. Si es NULL se utiliza la configuración regional predeterminada.

Parámetros

locale

La configuración regional de la que devolver una escritura manifiesta.

in_locale

El formato regional opcional a usar para mostrar el nombre de la escritura

Valores devueltos

El nombre manifiesto de la escritura de la configuración regional dada por $locale en el formato apropiado dado por $in_locale.

Ejemplos

Ejemplo #1 Ejemplo de locale_get_display_script()

<?php
echo locale_get_display_script('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_script('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo locale_get_display_script('sl-Latn-IT-nedis', 'de');
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
echo Locale::getDisplayScript('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayScript('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo Locale::getDisplayScript('sl-Latn-IT-nedis', 'de');
?>

El resultado del ejemplo sería:

Latin;
latin;
Lateinisch

Ver también

  • locale_get_display_name() - Devolver un nombre manifiesto debidamente localizado de la configuración regional de entrada
  • locale_get_display_language() - Devolver un nombre manifiesto debidamente localizado del lenguaje de la configuración regional de entrada
  • locale_get_display_region() - Devolver un nombre manifiesto debidamente localizado de la región de la configuración regional de entrada
  • locale_get_display_variant() - Devolver un nombre manifiesto debidamente localizado de las variantes de la configuración regional de entrada

Locale::getDisplayRegion
Locale::getDisplayVariant
Locale


Devolver un nombre manifiesto debidamente localizado de las variantes de la configuración regional de entrada

Locale::getDisplayScript
Locale::getKeywords
Locale
PHP Manual

Locale::getDisplayVariant

locale_get_display_variant

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getDisplayVariant -- locale_get_display_variant — Devolver un nombre manifiesto debidamente localizado de las variantes de la configuración regional de entrada

Descripción

Estilo orientado a objetos

public static string Locale::getDisplayVariant ( string $locale [, string $in_locale ] )

Estilo por procedimientos

string locale_get_display_variant ( string $locale [, string $in_locale ] )

Devuelve un nombre manifiesto debidamente localizado de las variantes de la configuración regional de entrada. Si es NULL se utiliza la configuración regional predeterminada.

Parámetros

locale

La configuración regional de la que devolver una variante manifiesta.

in_locale

El formato regional opcional a usar para mostrar el nombre de la variante

Valores devueltos

El nombre manifiesto de la variante de la configuración regional dada por $locale en el formato apropiado dado por $in_locale.

Ejemplos

Ejemplo #1 Ejemplo de locale_get_display_variant()

<?php
echo locale_get_display_variant('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_variant('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo locale_get_display_variant('sl-Latn-IT-nedis', 'de');
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
echo Locale::getDisplayVariant('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayVariant('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo Locale::getDisplayVariant('sl-Latn-IT-nedis', 'de');
?>

El resultado del ejemplo sería:

Natisone dialect;
dialecte de Natisone;
NEDIS

Ver también

  • locale_get_display_name() - Devolver un nombre manifiesto debidamente localizado de la configuración regional de entrada
  • locale_get_display_language() - Devolver un nombre manifiesto debidamente localizado del lenguaje de la configuración regional de entrada
  • locale_get_display_script() - Devolver un nombre manifiesto debidamente localizado de la escritura de la configuración regional de entrada
  • locale_get_display_region() - Devolver un nombre manifiesto debidamente localizado de la región de la configuración regional de entrada

Locale::getDisplayScript
Locale::getKeywords
Locale


Obtener las palabras clave de la configuración regional de entrada

Locale::getDisplayVariant
Locale::getPrimaryLanguage
Locale
PHP Manual

Locale::getKeywords

locale_get_keywords

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getKeywords -- locale_get_keywords — Obtener las palabras clave de la configuración regional de entrada

Descripción

Estilo orientado a objetos

public static array Locale::getKeywords ( string $locale )

Estilo por procedimientos

array locale_get_keywords ( string $locale )

Obtiene las palabras clave de la configuración regional de entrada.

Parámetros

locale

La configuración regional de la que extraer las palabras clave.

Valores devueltos

Un array asociativo que contiene los pares palabras-clave/valor de esta configuración regional

Ejemplos

Ejemplo #1 Ejemplo de locale_get_keywords()

<?php
$array_palabras_clave = locale_get_keywords( 'de_DE@currency=EUR;collation=PHONEBOOK' );
if ($array_palabras_clave) {
    foreach ($array_palabras_clave as $clave => $valor) {
        echo "$clave = $valor\n";
    }
}
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$array_palabras_clave = Locale::getKeywords( 'de_DE@currency=EUR;collation=PHONEBOOK' );
if ($array_palabras_clave) {
    foreach( $array_palabras_clave as $clave => $valor){
        echo "$clave = $valor\n";
    }
}
?>

El resultado del ejemplo sería:

collation = PHONEBOOK
currency = EUR

Ver también

  • locale_get_all_variants() - Obtener las variantes de la configuración regional de entrada

Locale::getDisplayVariant
Locale::getPrimaryLanguage
Locale


Obtener el lenguaje principal de la configuración regional de entrada

Locale::getKeywords
Locale::getRegion
Locale
PHP Manual

Locale::getPrimaryLanguage

locale_get_primary_language

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getPrimaryLanguage -- locale_get_primary_language — Obtener el lenguaje principal de la configuración regional de entrada

Descripción

Estilo orientado a objetos

public static string Locale::getPrimaryLanguage ( string $locale )

Estilo por procedimientos

string locale_get_primary_language ( string $locale )

Obtiene el lenguaje principal de la configuración regional de entrada

Parámetros

locale

La configuración regional desde la que extraer el código del lenguaje principal

Valores devueltos

El código de lenguaje asociado con el lenguaje o NULL en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de locale_get_primary_language()

<?php
echo locale_get_primary_language('zh-Hant');
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
echo Locale::getPrimaryLanguage('zh-Hant');
?>

El resultado del ejemplo sería:

zh

Ver también

  • locale_get_script() - Obtener la escritura de la configuración regional de entrada
  • locale_get_region() - Obtener la región de la configuración local de entrada
  • locale_get_all_variants() - Obtener las variantes de la configuración regional de entrada

Locale::getKeywords
Locale::getRegion
Locale


Obtener la región de la configuración local de entrada

Locale::getPrimaryLanguage
Locale::getScript
Locale
PHP Manual

Locale::getRegion

locale_get_region

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getRegion -- locale_get_region — Obtener la región de la configuración local de entrada

Descripción

Estilo orientado a objetos

public static string Locale::getRegion ( string $locale )

Estilo por procedimientos

string locale_get_region ( string $locale )

Obtiene la región de la configuración local de entrada.

Parámetros

locale

La configuración regional desde la que extraer el código de región

Valores devueltos

La subetiqueta de región de la configuración regional o NULL si no está presente

Ejemplos

Ejemplo #1 Ejemplo de locale_get_region()

<?php
echo locale_get_region('de-CH-1901');
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
echo Locale::getRegion('de-CH-1901');
?>

El resultado del ejemplo sería:

CH

Ver también

  • locale_get_primary_language() - Obtener el lenguaje principal de la configuración regional de entrada
  • locale_get_script() - Obtener la escritura de la configuración regional de entrada
  • locale_get_all_variants() - Obtener las variantes de la configuración regional de entrada

Locale::getPrimaryLanguage
Locale::getScript
Locale


Obtener la escritura de la configuración regional de entrada

Locale::getRegion
Locale::lookup
Locale
PHP Manual

Locale::getScript

locale_get_script

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getScript -- locale_get_script — Obtener la escritura de la configuración regional de entrada

Descripción

Estilo orientado a objetos

public static string Locale::getScript ( string $locale )

Estilo por procedimientos

string locale_get_script ( string $locale )

Obtiene la escritura de la configuración regional de entrada.

Parámetros

locale

La configuración regional desde la que extraer el código de la escritura

Valores devueltos

La subetiqueta de la escritura de la configuración regional o NULL si no está presente

Ejemplos

Ejemplo #1 Ejemplo de locale_get_script()

<?php
echo locale_get_script('sr-Cyrl');
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
echo Locale::getScript('sr-Cyrl');
?>

El resultado del ejemplo sería:

Cyrl

Ver también

  • locale_get_primary_language() - Obtener el lenguaje principal de la configuración regional de entrada
  • locale_get_region() - Obtener la región de la configuración local de entrada
  • locale_get_all_variants() - Obtener las variantes de la configuración regional de entrada

Locale::getRegion
Locale::lookup
Locale


Buscar en la lista de etiquetas de lenguaje la mejor coincidencia para el lenguaje

Locale::getScript
Locale::parseLocale
Locale
PHP Manual

Locale::lookup

locale_lookup

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::lookup -- locale_lookup — Buscar en la lista de etiquetas de lenguaje la mejor coincidencia para el lenguaje

Descripción

Estilo orientado a objetos

public static string Locale::lookup ( array $langtag , string $locale [, bool $canonicalize = false [, string $default ]] )

Estilo por procedimientos

string locale_lookup ( array $langtag , string $locale [, bool $canonicalize = false [, string $default ]] )

Busca los elementos en langtag para la mejor coincidencia con el rango de lenguajes especificado en locale de acuerdo al algorítmo de búsqueda de RFC 4647.

Parámetros

langtag

Un array que contiene una lista de etiquetas de lenguaje para compararlas con locale. Se permiten 100 elementos máximo.

locale

La configuración regional a usar como rango de lenguajes en la comparación.

canonicalize

Si es verdadero (true), los argumentos serán convertidos a su forma conónica antes de la comparación.

default

La configuración regional a usar si no se encuentra ninguna coincidencia.

Valores devueltos

La etiqueta de lenguaje más parecida o el valor del parámetro default.

Ejemplos

Ejemplo #1 Ejemplo de locale_lookup()

<?php
$arr = array(
    'de-DEVA',
    'de-DE-1996',
    'de',
    'de-De'
);
echo locale_lookup($arr, 'de-DE-1996-x-prv1-prv2', false, 'en_US');
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$arr = array(
    'de-DEVA',
    'de-DE-1996',
    'de',
    'de-De'
);
echo Locale::lookup($arr, 'de-DE-1996-x-prv1-prv2', false, 'en_US');
?>

El resultado del ejemplo sería:

de_de_1996

Ver también

  • locale_filter_matches() - Comprobar si unfiltro de etiquetas de lenguaje coincide con una configuración regional

Locale::getScript
Locale::parseLocale
Locale


Devolver un array de claves-valores de los elementos de las subetiquetas del ID regional

Locale::lookup
Locale::setDefault
Locale
PHP Manual

Locale::parseLocale

locale_parse

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::parseLocale -- locale_parse — Devolver un array de claves-valores de los elementos de las subetiquetas del ID regional

Descripción

Estilo orientado a objetos

public static array Locale::parseLocale ( string $locale )

Estilo por procedimientos

array locale_parse ( string $locale )

Devuelve un array de claves-valores de los elementos de las subetiquetas del ID regional.

Parámetros

locale

La configuración regional de donde extraer el array de subetiquetas. Nota: Las subetiquetas 'variant' y 'private' pueden tomar un máximo de 15 valores mientras que 'extlang' puede tomar un máximo de 3 valores.

Valores devueltos

Devuelve un array que contiene una lista pares clave-valor, donde las claves identifican las subetiquetas del ID regional en particular, y los valores son los valores de las subetiquetas asociadas. El array será ordenado de la misma forma que las subetiquetas del ID regional, p.ej. si las variantes del ID regional son '-varX-varY-varZ', el array devuelto contendrá variant0=>varX , variant1=>varY , variant2=>varZ

Ejemplos

Ejemplo #1 Ejemplo locale_parse()

<?php
$arr = locale_parse('sl-Latn-IT-nedis');
if ($arr) {
    foreach ($arr as $clave => $valor) {
        echo "$clave : $valor , ";
    }
}
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$arr = Locale::parseLocale('sl-Latn-IT-nedis');
if ($arr) {
    foreach ($arr as $clave => $valor) {
        echo "$clave : $valor , ";
    }
}
?>

El resultado del ejemplo sería:

language : sl , script : Latn , region : IT , variant0 : NEDIS ,

Ver también

  • locale_compose() - Devolver un ID regional correctamente ordenado y delimitado

Locale::lookup
Locale::setDefault
Locale


Establecer la configuración regional predeterminada en tiempo de ejecución

Locale::parseLocale
Normalizer
Locale
PHP Manual

Locale::setDefault

locale_set_default

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::setDefault -- locale_set_default — Establecer la configuración regional predeterminada en tiempo de ejecución

Descripción

Estilo orientado a objetos

public static bool Locale::setDefault ( string $locale )

Estilo por procedimientos

bool locale_set_default ( string $locale )

Establece la configuración regional predeterminada en tiempo de ejecución a $locale. Esto cambia el valor del identificador regional global 'default_locale' de INTL. Se aceptan extensiones UAX #35.

Parámetros

locale

Es una etiqueta de lenguaje que satisface el estándar BCP 47, y contiene el

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de locale_set_default()

<?php
locale_set_default('de-DE');
echo locale_get_default();
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
Locale::setDefault('de-DE');
echo Locale::getDefault();
?>

El resultado del ejemplo sería:

de-DE

Ver también

  • locale_get_default() - Obtener el valor de la configuración regional predeterminada del identificador global 'default_locale' de INTL

Locale::parseLocale
Normalizer
Locale


La clase Normalizer

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Introducción

La normalización es un proceso que involucra la transformación de caracteres y secuencias de caracteres en una representación subyacente formalmente definida. Este proceso es más importante cuando el texto necesita ser comparado para propósitos de ordenación y búsqueda, pero también se usa al almacenar texto para asegurarse de que éste se almacena en una representación consistente.

El Consorcio Unicode ha definido varias formas de normalización que reflejan las diferentes necesidades de las aplicaciones:

  • Forma de Normalización D (NFD) - Descomposición Canónica
  • Forma de Normalización C (NFC) - Descomposición Canónica seguida de Composición Canónica
  • Forma de Normalización KD (NFKD) - Descomposición por Compatibilidad
  • Forma de Normalización KC (NFKC) - Descomposición por Compatibilidad seguida de Composición Canónica
Las diferentes formas están definidas en términos de un conjunto de transformaciones realizadas sobre el texto, tranformaciones que están expresadas por un algoritmo y un conjunto de ficheros de datos.

Sinopsis de la Clase

Normalizer {
/* Métodos */
public static bool isNormalized ( string $input [, string $form = Normalizer::FORM_C ] )
public static string normalize ( string $input [, string $form = Normalizer::FORM_C ] )
}

Constantes predefinidas

Las siguientes constantes definen la forma de normalización usada por el normalizador:

Normalizer::FORM_C (string)
Forma de Normalización C (NFC) - Descomposición Canónica seguida de Composición Canónica
Normalizer::FORM_D (string)
Forma de Normalización D (NFD) - Descomposición Canónica
Normalizer::FORM_KC (string)
Forma de Normalización KC (NFKC) - Descomposición por Compatibilidad seguida de Composición Canónica
Normalizer::FORM_KD (string)
Forma de Normalización KD (NFKD) - Descomposición por Compatibilidad
Normalizer::NONE (string)
Sin descomposición/composición
Normalizer::OPTION_DEFAULT (string)
Opciones de normalización predeterminadas

Ver también

  • » Normalización Unicode
  • » Normalización Unicode P+F
  • » Guía de usuario ICU - Normalización
  • » Referencia de la API de ICU - Normalización

Tabla de contenidos

  • Normalizer::isNormalized — Comprobar si la cadena proporcionada ya está en la forma de normalización especificada.
  • Normalizer::normalize — Normaliza la entrada provista y devuelve la cadena normalizada
Locale::setDefault
Normalizer::isNormalized
intl


Comprobar si la cadena proporcionada ya está en la forma de normalización especificada.

Normalizer
Normalizer::normalize
Normalizer
PHP Manual

Normalizer::isNormalized

normalizer_is_normalized

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Normalizer::isNormalized -- normalizer_is_normalized — Comprobar si la cadena proporcionada ya está en la forma de normalización especificada.

Descripción

Estilo orientado a objetos

public static bool Normalizer::isNormalized ( string $input [, string $form = Normalizer::FORM_C ] )

Estilo por procedimientos

bool normalizer_is_normalized ( string $input [, string $form = Normalizer::FORM_C ] )

Comprueba si la cadena proporcionada ya está en la forma de normalización especificada.

Parámetros

input

La cadena de entrada a normalizar

form

Una de las formas de normalización.

Valores devueltos

TRUE si está normalizada, FALSE si no o si hay un error

Ejemplos

Ejemplo #1 Ejemplo de normalizer_is_normalized()

<?php
$carácter_A_anillo = "\xC3\x85"; // 'LETRA LATINA MAYÚSCULA A CON ANILLO SUPERIOR' (U+00C5)
$carácter_anillo_superior_combinación = "\xCC\x8A";  // 'ANILLO SUPERIOR DE COMBINACIÓN' (U+030A)

$carácter_original = 'A' . $carácter_anillo_superior_combinación;
$carácter_normalizado = normalizer_normalize( 'A' . $carácter_anillo_superior_combinación, Normalizer::FORM_C );

echo ( normalizer_is_normalized($carácter_original, Normalizer::FORM_C) ) ? "normalizado" : "no normalizado";
echo '; ';
echo ( normalizer_is_normalized($carácter_normalizado, Normalizer::FORM_C) ) ? "normalizado" : "no normalizado";
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$carácter_A_anillo = "\xC3\x85"; // 'LETRA LATINA MAYÚSCULA A CON ANILLO SUPERIOR' (U+00C5)
$carácter_anillo_superior_combinación = "\xCC\x8A";  // 'ANILLO SUPERIOR DE COMBINACIÓN' (U+030A)

$carácter_original = 'A' . $carácter_anillo_superior_combinación;
$carácter_normalizado = Normalizer::normalize( 'A' . $carácter_anillo_superior_combinación, Normalizer::FORM_C );

echo ( Normalizer::isNormalized($carácter_original, Normalizer::FORM_C) ) ? "normalizado" : "no normalizado";
echo '; ';
echo ( Normalizer::isNormalized($carácter_normalizado, Normalizer::FORM_C) ) ? "normalizado" : "no normalizado";
?>

El resultado del ejemplo sería:

no normalizado; normalizado

Ver también

  • normalizer_normalize() - Normaliza la entrada provista y devuelve la cadena normalizada

Normalizer
Normalizer::normalize
Normalizer


Normaliza la entrada provista y devuelve la cadena normalizada

Normalizer::isNormalized
MessageFormatter
Normalizer
PHP Manual

Normalizer::normalize

normalizer_normalize

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Normalizer::normalize -- normalizer_normalize — Normaliza la entrada provista y devuelve la cadena normalizada

Descripción

Estilo orientado a objetos

public static string Normalizer::normalize ( string $input [, string $form = Normalizer::FORM_C ] )

Estilo por procedimientos

string normalizer_normalize ( string $input [, string $form = Normalizer::FORM_C ] )

Normaliza la entrada provista y devuelve la cadena normalizada

Parámetros

input

La cadena de entrada a normalizar

form

Una de las formas de normalización.

Valores devueltos

La cadena normalizada o NULL si ocurrió un error.

Ejemplos

Ejemplo #1 Ejemplo de normalizer_normalize()

<?php
$carácter_A_anillo = "\xC3\x85"; // 'LETRA LATINA MAYÚSCULA A CON ANILLO SUPERIOR' (U+00C5)
$carácter_anillo_superior_combinación = "\xCC\x8A";  // 'ANILLO SUPERIOR DE COMBINACIÓN' (U+030A)

$carácter_1 = normalizer_normalize( $carácter_A_anillo, Normalizer::FORM_C );
$carácter_2 = normalizer_normalize( 'A' . $carácter_anillo_superior_combinación, Normalizer::FORM_C );

echo urlencode($carácter_1);
echo ' ';
echo urlencode($carácter_2);
?>

Ejemplo #2 Ejemplo Orientado a Objetos

<?php
$carácter_A_anillo = "\xC3\x85"; // 'LETRA LATINA MAYÚSCULA A CON ANILLO SUPERIOR' (U+00C5)
$carácter_anillo_superior_combinación = "\xCC\x8A";  // 'ANILLO SUPERIOR DE COMBINACIÓN' (U+030A)

$carácter_1 = Normalizer::normalize( $carácter_A_anillo, Normalizer::FORM_C );
$carácter_2 = Normalizer::normalize( 'A' . $carácter_anillo_superior_combinación, Normalizer::FORM_C );

echo urlencode($carácter_1);
echo ' ';
echo urlencode($carácter_2);
?>

El resultado del ejemplo sería:

%C3%85 %C3%85

Ver también

  • normalizer_is_normalized() - Comprobar si la cadena proporcionada ya está en la forma de normalización especificada.

Normalizer::isNormalized
MessageFormatter
Normalizer


La clase MessageFormatter

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Introducción

MessageFormatter es una clase concreta que permite a los usuarios producir mensajes concatenados neutrales al lenguaje. Los métodos proporcionados por esta clase se utilizan para construir todos los mensajes que son vistos por usuarios finales.

La clase MessageFormatter ensambla mensajes desde varios fragmentos (tales como framentos de texto, números y fechas) proporcionados por el programa. Gracias a la clase MessageFormatter, el programa no necesita conocer el orden de los fragmentos. La clase utiliza las especificaciones de formateo de los fragmentos para ensamblarlos en un mensaje que está contenido en una única cadena dentro de un paquete de recursos. Por ejemplo, MessageFormatter permite imprimir la frase "Finalizada la impresión de x de y ficheros..." de una manera que aún admite flexibilidad para traducciones.

Anteriormente, un mensaje de un usuario final era creado como una sentencia y tratado como una cadna. Este procedimiento creaba problemas para los regionalizadores ya que la estructura de la sentencia, el orden de las palabras, el formato de número, etc., son muy diferentes de un lenguaje a otro. La manera neutral de lenguaje para crear mensajes mantiene cada parte del mensaje separada y proporciona claves a la información. Al utilizar estas claves, la clase MessageFormatter puede concatenar las partes del mensaja, regionalizarlas, y mostrar al usuario final una cadena bien formada.

MessageFormatter toma un conjunto de objetos, les da formato e inserta las cadenas formateadas en un patrón en los lugares apropiados. Los formatos escogidos se pueden usar en conjunto con MessageFormatter para tratar prurales, comparar números, y seleccionarlos desde un array de elementos. Normalmente, el formato del mensaje se obtendrá desde recursos, y los argumentos se establecerán dinámicamente en tiempo de ejecución.

Sinopsis de la Clase

MessageFormatter {
/* Métodos */
public __construct ( string $locale , string $pattern )
public static MessageFormatter create ( string $locale , string $pattern )
public static string formatMessage ( string $locale , string $pattern , array $args )
public string format ( array $args )
public int getErrorCode ( void )
public string getErrorMessage ( void )
public string getLocale ( void )
public string getPattern ( void )
public static array parseMessage ( string $locale , string $pattern , string $source )
public array parse ( string $value )
public bool setPattern ( string $pattern )
}

Ver también

  • » Documentación de formateo de ICU
  • » Descripción del formateo de mensajes de ICU
  • » Formateadores de mensajes de ICU
  • » Formateadores escogidos de ICU

Tabla de contenidos

  • MessageFormatter::create — Construir un nuevo Formateador de Mensajes
  • MessageFormatter::formatMessage — Formateo rápido de un mensaje
  • MessageFormatter::format — Dar formato al mensaje
  • MessageFormatter::getErrorCode — Obtener el código de error de la última operación
  • MessageFormatter::getErrorMessage — Obtener el texto del error de la última operación
  • MessageFormatter::getLocale — Obtener la configuración regional desde la que se creó el formateador
  • MessageFormatter::getPattern — Obtener el patrón usado por el formateador
  • MessageFormatter::parseMessage — Procesar rápidamente una cadena de entrada
  • MessageFormatter::parse — Procesar la cadena de entrada según un patrón
  • MessageFormatter::setPattern — Establecer el patrón usado por el formateador
Normalizer::normalize
MessageFormatter::create
intl


Construir un nuevo Formateador de Mensajes

MessageFormatter
MessageFormatter::formatMessage
MessageFormatter
PHP Manual

MessageFormatter::create

MessageFormatter::__construct

msgfmt_create

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::create -- MessageFormatter::__construct -- msgfmt_create — Construir un nuevo Formateador de Mensajes

Descripción

Estilo orientado a objetos (método)

public static MessageFormatter MessageFormatter::create ( string $locale , string $pattern )

Estilo orientado a objetos (constructor):

public MessageFormatter::__construct() ( string $locale , string $pattern )

Estilo por procedimientos

MessageFormatter msgfmt_create ( string $locale , string $pattern )

Construye un nuevo Formateador de Mensajes

Parámetros

locale

La configuración regional a usar al formatear los argumentos

pattern

La cadena patrón con la que pegar los argumentos. El patrón utiliza una sintaxis 'amigable con apóstrofes'; se ejecuta a través de » umsg_autoQuoteApostrophe antes de ser interpretado.

Valores devueltos

Un object formateador

Ejemplos

Ejemplo #1 Ejemplo de msgfmt_create()

<?php
$fmt = msgfmt_create("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
echo msgfmt_format($fmt, array(4560, 123, 4560/123));
$fmt = msgfmt_create("es", "{0,number,integer} monos en {1,number,integer} árboles haces {2,number} monos por árbol");
echo msgfmt_format($fmt, array(4560, 123, 4560/123));
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = new MessageFormatter("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
echo $fmt->format(array(4560, 123, 4560/123));
$fmt = new MessageFormatter("es", "{0,number,integer} monos en {1,number,integer} árboles hacen {2,number} monos por árbol");
echo $fmt->format(array(4560, 123, 4560/123));
?>

El resultado del ejemplo sería:

4,560 monkeys on 123 trees make 37.073 monkeys per tree
4.560 monos en 123 árboles hacen 37,073 monos por árbol

Ver también

  • msgfmt_format() - Dar formato al mensaje
  • msgfmt_parse() - Procesar la cadena de entrada según un patrón
  • msgfmt_get_error_code() - Obtener el código de error de la última operación
  • msgfmt_get_error_message() - Obtener el texto del error de la última operación

MessageFormatter
MessageFormatter::formatMessage
MessageFormatter


Formateo rápido de un mensaje

MessageFormatter::create
MessageFormatter::format
MessageFormatter
PHP Manual

MessageFormatter::formatMessage

msgfmt_format_message

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::formatMessage -- msgfmt_format_message — Formateo rápido de un mensaje

Descripción

Estilo orientado a objetos

public static string MessageFormatter::formatMessage ( string $locale , string $pattern , array $args )

Estilo por procedimientos

string msgfmt_format_message ( string $locale , string $pattern , array $args )

Función de formateo rápido que da formato al string sin tener que crear explícitamente el objeto formateador. Utilice esta función cuando la operación de formateo se realice únicamente una vez y no necesite parámetros o estados para que se mantenga.

Parámetros

locale

La configuración regional a usar para el formateo de partes dependientes de la región

pattern

El patrón de tipo string por el que insertar los elementos. El patrón utiliza una sintaxis 'amigable con apóstrofes'; se ejecuta a través de » umsg_autoQuoteApostrophe antes de ser interpretado.

args

El array de valores a insertar en el string de formato

Valores devueltos

El patrón de tipo string formateado, o FALSE en caso de error

Ejemplos

Ejemplo #1 Ejemplo de msgfmt_format_message()

<?php
echo msgfmt_format_message("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree\n", array(4560, 123, 4560/123));
echo msgfmt_format_message("de", "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum\n", array(4560, 123, 4560/123));
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
echo MessageFormatter::formatMessage("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree\n", array(4560, 123, 4560/123));
echo MessageFormatter::formatMessage("de", "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum\n", array(4560, 123, 4560/123));
?>

El resultado del ejemplo sería:

4,560 monkeys on 123 trees make 37.073 monkeys per tree
4.560 monos en 123 árboles hacen 37,073 monos por árbol

Ver también

  • msgfmt_create() - Construir un nuevo Formateador de Mensajes
  • msgfmt_parse() - Procesar la cadena de entrada según un patrón
  • msgfmt_get_error_code() - Obtener el código de error de la última operación
  • msgfmt_get_error_message() - Obtener el texto del error de la última operación

MessageFormatter::create
MessageFormatter::format
MessageFormatter


Dar formato al mensaje

MessageFormatter::formatMessage
MessageFormatter::getErrorCode
MessageFormatter
PHP Manual

MessageFormatter::format

msgfmt_format

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::format -- msgfmt_format — Dar formato al mensaje

Descripción

Estilo orientado a objetos

public string MessageFormatter::format ( array $args )

Estilo por procedimientos

string msgfmt_format ( MessageFormatter $fmt , array $args )

Da formato al mensaje mediante la sustitución de los datos en la cadena de formato de acuerdo con las normas de configuración regional

Parámetros

fmt

El formateador de mensajes

args

Los argumentos para insertar en la cadena de formato

Valores devueltos

La cadena de formato, o FALSE si ocurre un error

Ejemplos

Ejemplo #1 Ejemplo de msgfmt_format()

<?php
$fmt = msgfmt_create("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
echo msgfmt_format($fmt, array(4560, 123, 4560/123));
$fmt = msgfmt_create("es", "{0,number,integer} monos en {1,number,integer} árboles hacen {2,number} monos por árbol");
echo msgfmt_format($fmt, array(4560, 123, 4560/123));
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = new MessageFormatter("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
echo $fmt->format(array(4560, 123, 4560/123));
$fmt = new MessageFormatter("es", "{0,number,integer} monos en {1,number,integer} árboles hacen {2,number} monos por árbol");
echo $fmt->format(array(4560, 123, 4560/123));
?>

El resultado del ejemplo sería:

4,560 monkeys on 123 trees make 37.073 monkeys per tree
4.560 monos en 123 árboles hacen 37,073 monos por árbol

Ver también

  • msgfmt_create() - Construir un nuevo Formateador de Mensajes
  • msgfmt_parse() - Procesar la cadena de entrada según un patrón
  • msgfmt_format_message() - Formateo rápido de un mensaje
  • msgfmt_get_error_code() - Obtener el código de error de la última operación
  • msgfmt_get_error_message() - Obtener el texto del error de la última operación

MessageFormatter::formatMessage
MessageFormatter::getErrorCode
MessageFormatter


Obtener el código de error de la última operación

MessageFormatter::format
MessageFormatter::getErrorMessage
MessageFormatter
PHP Manual

MessageFormatter::getErrorCode

msgfmt_get_error_code

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::getErrorCode -- msgfmt_get_error_code — Obtener el código de error de la última operación

Descripción

Estilo orientado a objetos

public int MessageFormatter::getErrorCode ( void )

Estilo por procedimientos

int msgfmt_get_error_code ( MessageFormatter $fmt )

Obtiene el código de error de la última operación.

Parámetros

fmt

El formateador de mensajes

Valores devueltos

El código de error, uno del os valores UErrorCode. El valor inicial es U_ZERO_ERROR.

Ejemplos

Ejemplo #1 Ejemplo de msgfmt_get_error_code()

<?php
$fmt = msgfmt_create("en_US", "{0, number} monkeys on {1, number} trees");
$str = msgfmt_format($fmt, array());
if(!$str) {
    echo "ERROR: ".msgfmt_get_error_message($fmt) . " (" . msgfmt_get_error_code($fmt) . ")\n";
}
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = new MessageFormatter("en_US", "{0, number} monkeys on {1, number} trees");
$str = $fmt->format(array());
if(!$str) {
    echo "ERROR: ".$fmt->getErrorMessage() . " (" . $fmt->getErrorCode() . ")\n";
}
?>

El resultado del ejemplo sería:

ERROR: msgfmt_format: not enough parameters: U_ILLEGAL_ARGUMENT_ERROR (1)

Ver también

  • msgfmt_get_error_message() - Obtener el texto del error de la última operación
  • intl_get_error_code() - Obtiene el último código de error
  • intl_is_failure() - Comprueba si el código de error dado indica un fallo

MessageFormatter::format
MessageFormatter::getErrorMessage
MessageFormatter


Obtener el texto del error de la última operación

MessageFormatter::getErrorCode
MessageFormatter::getLocale
MessageFormatter
PHP Manual

MessageFormatter::getErrorMessage

msgfmt_get_error_message

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::getErrorMessage -- msgfmt_get_error_message — Obtener el texto del error de la última operación

Descripción

Estilo orientado a objetos

public string MessageFormatter::getErrorMessage ( void )

Estilo por procedimientos

string msgfmt_get_error_message ( MessageFormatter $fmt )

Obtener el texto del error de la última operación.

Parámetros

fmt

El formateador de mensajes

Valores devueltos

La descripción del último error.

Ejemplos

Ejemplo #1 Ejemplo de msgfmt_get_error_message()

<?php
$fmt = msgfmt_create("en_US", "{0, number} monkeys on {1, number} trees");
$str = msgfmt_format($fmt, array());
if(!$str) {
    echo "ERROR: ".msgfmt_get_error_message($fmt) . " (" . msgfmt_get_error_code($fmt) . ")\n";
}
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = new MessageFormatter("en_US", "{0, number} monkeys on {1, number} trees");
$str = $fmt->format(array());
if(!$str) {
    echo "ERROR: ".$fmt->getErrorMessage() . " (" . $fmt->getErrorCode() . ")\n";
}
?>

El resultado del ejemplo sería:

ERROR: msgfmt_format: not enough parameters: U_ILLEGAL_ARGUMENT_ERROR (1)

Ver también

  • msgfmt_get_error_code() - Obtener el código de error de la última operación
  • intl_get_error_code() - Obtiene el último código de error
  • intl_is_failure() - Comprueba si el código de error dado indica un fallo

MessageFormatter::getErrorCode
MessageFormatter::getLocale
MessageFormatter


Obtener la configuración regional desde la que se creó el formateador

MessageFormatter::getErrorMessage
MessageFormatter::getPattern
MessageFormatter
PHP Manual

MessageFormatter::getLocale

msgfmt_get_locale

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::getLocale -- msgfmt_get_locale — Obtener la configuración regional desde la que se creó el formateador

Descripción

Estilo orientado a objetos

public string MessageFormatter::getLocale ( void )

Estilo por procedimientos

string msgfmt_get_locale ( NumberFormatter $formatter )

Obtiene la configuración regional desde la que se creó el formateador.

Parámetros

formatter

El recurso del formateador

Valores devueltos

El nombre de la configuración regional

Ejemplos

Ejemplo #1 Ejemplo de msgfmt_get_locale()

<?php
$fmt = msgfmt_create('en_US', "Number {0,number}");
echo msgfmt_get_locale($fmt);
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = new MessageFormatter('en_US', "Number {0,number}");
echo $fmt->getLocale();
?>

El resultado del ejemplo sería:

en_US

Ver también

  • msgfmt_create() - Construir un nuevo Formateador de Mensajes

MessageFormatter::getErrorMessage
MessageFormatter::getPattern
MessageFormatter


Obtener el patrón usado por el formateador

MessageFormatter::getLocale
MessageFormatter::parseMessage
MessageFormatter
PHP Manual

MessageFormatter::getPattern

msgfmt_get_pattern

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::getPattern -- msgfmt_get_pattern — Obtener el patrón usado por el formateador

Descripción

Estilo orientado a objetos

public string MessageFormatter::getPattern ( void )

Estilo por procedimientos

string msgfmt_get_pattern ( MessageFormatter $fmt )

Obtiene el patrón usado por el formateador

Parámetros

fmt

El formateador de mensajes

Valores devueltos

El string del patrón para este formateador

Ejemplos

Ejemplo #1 Ejemplo de msgfmt_get_pattern()

<?php
$fmt = msgfmt_create( "es_ES", "{0, number} monos en {1, number} árboles" );
echo "Patrón predeterminado: '" . msgfmt_get_pattern( $fmt ) . "'\n";
echo "Resultado del formateo: " . msgfmt_format( $fmt, array(123, 456) ) . "\n";

msgfmt_set_pattern( $fmt, "{0, number} árboles alojan {1, number} monos" );
echo "Patrón nuevo: '" . msgfmt_get_pattern( $fmt ) . "'\n";
echo "Número formateado: " . msgfmt_format( $fmt, array(123, 456) ) . "\n";
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = new MessageFormatter( "es_ES", "{0, number} monos en {1, number} árboles" );
echo "Patrón predeterminado: '" . $fmt->getPattern() . "'\n";
echo "Resultado del formateo: " . $fmt->format(array(123, 456)) . "\n";

$fmt->setPattern( "{0, number} árboles alojan {1, number} monos" );
echo "Patrón nuevo: '" . $fmt->getPattern() . "'\n";
echo "Número formateado: " . $fmt->format(array(123, 456)) . "\n";
?>

El resultado del ejemplo sería:

Patrón predeterminado: '{0, number} monos en {1, number} árboles'
Resultado del formateo: 123 monos en 456 árboles
Patrón nuevo: '{0, number} árboles alojan {1, number} monos'
Número formateado: 123 árboles alojan 456 monos

Ver también

  • msgfmt_create() - Construir un nuevo Formateador de Mensajes
  • msgfmt_set_pattern() - Establecer el patrón usado por el formateador

MessageFormatter::getLocale
MessageFormatter::parseMessage
MessageFormatter


Procesar rápidamente una cadena de entrada

MessageFormatter::getPattern
MessageFormatter::parse
MessageFormatter
PHP Manual

MessageFormatter::parseMessage

msgfmt_parse_message

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::parseMessage -- msgfmt_parse_message — Procesar rápidamente una cadena de entrada

Descripción

Estilo orientado a objetos

public static array MessageFormatter::parseMessage ( string $locale , string $pattern , string $source )

Estilo por procedimientos

array msgfmt_parse_message ( string $locale , string $pattern , string $value )

Procesa una cadena de entrada sin crear explícitamente el objeto formateador. Utilice esta función cuando la operación de formateo se realice sólo una vez y no necesite parámetros o estados para que se mantenga.

Parámetros

locale

La configuración regional a usar para el procesamiento de las partes dependientes de la región

pattern

El patrón con el que procesar value.

source

El string a procesar, de acuerdo al patrón dado por pattern.

Valores devueltos

Un array que contiene los elementos extraídos, o FALSE en caseo de error

Ejemplos

Ejemplo #1 Ejemplo de msgfmt_parse_message()

<?php
$fmt = msgfmt_parse_message('en_US', "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree",
                            "4,560 monkeys on 123 trees make 37.073 monkeys per tree");
var_export($fmt);

$fmt = msgfmt_parse_message('es', "{0,number,integer} monos en {1,number,integer} árboles hacen {2,number} monos por árbol",
                            "4.560 monos en 123 árboles hacen 37,073 monos por árbol");
var_export($fmt);
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = MessageFormatter::parseMessage('en_US', "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree",
                            "4,560 monkeys on 123 trees make 37.073 monkeys per tree");
var_export($fmt);

$fmt = MessageFormatter::parseMessage('es', "{0,number,integer} monos en {1,number,integer} árboles hacen {2,number} monos por árbol",
                            "4.560 monos en 123 árboles hacen 37,073 monos por árbol");
var_export($fmt);
?>

El resultado del ejemplo sería:

array (
  0 => 4560,
  1 => 123,
  2 => 37.073,
)
array (
  0 => 4560,
  1 => 123,
  2 => 37.073,
)

Ver también

  • msgfmt_create() - Construir un nuevo Formateador de Mensajes
  • msgfmt_format_message() - Formateo rápido de un mensaje
  • msgfmt_parse() - Procesar la cadena de entrada según un patrón

MessageFormatter::getPattern
MessageFormatter::parse
MessageFormatter


Procesar la cadena de entrada según un patrón

MessageFormatter::parseMessage
MessageFormatter::setPattern
MessageFormatter
PHP Manual

MessageFormatter::parse

msgfmt_parse

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::parse -- msgfmt_parse — Procesar la cadena de entrada según un patrón

Descripción

Estilo orientado a objetos

public array MessageFormatter::parse ( string $value )

Estilo por procedimientos

array msgfmt_parse ( MessageFormatter $fmt , string $value )

Procesa el string de entrada y devuelve cualquier elemento extraído en un array.

Parámetros

fmt

El formateador de mensajes

value

El string a procesar

Valores devueltos

Un array que contiene los elementos extraídos, o FALSE en caso de error

Ejemplos

Ejemplo #1 Ejemplo de msgfmt_parse()

<?php
$fmt = msgfmt_create('en_US', "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
$res = msgfmt_parse($fmt, "4,560 monkeys on 123 trees make 37.073 monkeys per tree");
var_export($res);

$fmt = msgfmt_create('es', "{0,number,integer} monos en {1,number,integer} árboles hacen {2,number} monos por árbol");
$res = msgfmt_parse($fmt, "4.560 monos en 123 árboles hacen 37,073 monos por árbol");
var_export($res);
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = new MessageFormatter('en_US', "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
$res = $fmt->parse("4,560 monkeys on 123 trees make 37.073 monkeys per tree");
var_export($res);

$fmt = new MessageFormatter('es', "{0,number,integer} monos en {1,number,integer} árboles hacen {2,number} monos por árbol");
$res = $fmt->parse("4.560 monos en 123 árboles hacen 37,073 monos por árbol");
var_export($res);
?>

El resultado del ejemplo sería:

array (
  0 => 4560,
  1 => 123,
  2 => 37.073,
)
array (
  0 => 4560,
  1 => 123,
  2 => 37.073,
)

Ver también

  • msgfmt_create() - Construir un nuevo Formateador de Mensajes
  • msgfmt_format() - Dar formato al mensaje
  • msgfmt_parse_message() - Procesar rápidamente una cadena de entrada

MessageFormatter::parseMessage
MessageFormatter::setPattern
MessageFormatter


Establecer el patrón usado por el formateador

MessageFormatter::parse
IntlCalendar
MessageFormatter
PHP Manual

MessageFormatter::setPattern

msgfmt_set_pattern

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::setPattern -- msgfmt_set_pattern — Establecer el patrón usado por el formateador

Descripción

Estilo orientado a objetos

public bool MessageFormatter::setPattern ( string $pattern )

Estilo por procedimientos

bool msgfmt_set_pattern ( MessageFormatter $fmt , string $pattern )

Establece el patrón usado por el formateador

Parámetros

fmt

El formateador de mensajes

pattern

El patrón de tipo string para utilizarlo en el formateador de mensajes. El patrón utiliza una sintaxis 'amigable con apóstrofes'; se ejecuta a través de » umsg_autoQuoteApostrophe antes de ser interpretado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de msgfmt_set_pattern()

<?php
$fmt = msgfmt_create( "es_ES", "{0, number} monos en {1, number} árboles" );
echo "Patrón predeterminado: '" . msgfmt_get_pattern( $fmt ) . "'\n";
echo "Resultado del formateo: " . msgfmt_format( $fmt, array(123, 456) ) . "\n";

msgfmt_set_pattern( $fmt, "{0, number} árboles alojan {1, number} monos" );
echo "Patrón nuevo: '" . msgfmt_get_pattern( $fmt ) . "'\n";
echo "Número formateado: " . msgfmt_format( $fmt, array(123, 456) ) . "\n";
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = new MessageFormatter( "es_ES", "{0, number} monos en {1, number} árboles" );
echo "Patrón predeterminado: '" . $fmt->getPattern() . "'\n";
echo "Resultado del formateo: " . $fmt->format(array(123, 456)) . "\n";

$fmt->setPattern( "{0, number} árboles alojan {1, number} monos" );
echo "Patrón nuevo: '" . $fmt->getPattern() . "'\n";
echo "Número formateado: " . $fmt->format(array(123, 456)) . "\n";
?>

El resultado del ejemplo sería:

Patrón predeterminado: '{0, number} monos en {1, number} árboles'
Resultado del formateo: 123 monos en 456 árboles
Patrón nuevo: '{0, number} árboles alojan {1, number} monos'
Número formateado: 123 árboles alojan 456 monos

Ver también

  • msgfmt_create() - Construir un nuevo Formateador de Mensajes
  • msgfmt_get_pattern() - Obtener el patrón usado por el formateador

MessageFormatter::parse
IntlCalendar
MessageFormatter


La clase IntlCalendar

(PHP 5.5.0, PECL >= 3.0.0a1)

Introducción

Sinopsis de la Clase

IntlCalendar {
/* Constantes */
const integer FIELD_ERA = 0 ;
const integer FIELD_YEAR = 1 ;
const integer FIELD_MONTH = 2 ;
const integer FIELD_WEEK_OF_YEAR = 3 ;
const integer FIELD_WEEK_OF_MONTH = 4 ;
const integer FIELD_DATE = 5 ;
const integer FIELD_DAY_OF_YEAR = 6 ;
const integer FIELD_DAY_OF_WEEK = 7 ;
const integer FIELD_DAY_OF_WEEK_IN_MONTH = 8 ;
const integer FIELD_AM_PM = 9 ;
const integer FIELD_HOUR = 10 ;
const integer FIELD_HOUR_OF_DAY = 11 ;
const integer FIELD_MINUTE = 12 ;
const integer FIELD_SECOND = 13 ;
const integer FIELD_MILLISECOND = 14 ;
const integer FIELD_ZONE_OFFSET = 15 ;
const integer FIELD_DST_OFFSET = 16 ;
const integer FIELD_YEAR_WOY = 17 ;
const integer FIELD_DOW_LOCAL = 18 ;
const integer FIELD_EXTENDED_YEAR = 19 ;
const integer FIELD_JULIAN_DAY = 20 ;
const integer FIELD_MILLISECONDS_IN_DAY = 21 ;
const integer FIELD_IS_LEAP_MONTH = 22 ;
const integer FIELD_FIELD_COUNT = 23 ;
const integer FIELD_DAY_OF_MONTH = 5 ;
const integer DOW_SUNDAY = 1 ;
const integer DOW_MONDAY = 2 ;
const integer DOW_TUESDAY = 3 ;
const integer DOW_WEDNESDAY = 4 ;
const integer DOW_THURSDAY = 5 ;
const integer DOW_FRIDAY = 6 ;
const integer DOW_SATURDAY = 7 ;
const integer DOW_TYPE_WEEKDAY = 0 ;
const integer DOW_TYPE_WEEKEND = 1 ;
const integer DOW_TYPE_WEEKEND_OFFSET = 2 ;
const integer DOW_TYPE_WEEKEND_CEASE = 3 ;
const integer WALLTIME_FIRST = 1 ;
const integer WALLTIME_LAST = 0 ;
const integer WALLTIME_NEXT_VALID = 2 ;
/* Métodos */
public bool add ( int $field , int $amount )
public bool after ( IntlCalendar $calendar )
public bool before ( IntlCalendar $calendar )
public bool clear ([ int $field = NULL ] )
private __construct ( void )
public static IntlCalendar createInstance ([ mixed $timeZone = NULL [, string $locale = NULL ]] )
public bool equals ( IntlCalendar $calendar )
public int fieldDifference ( float $when , int $field )
public static IntlCalendar fromDateTime ( mixed $dateTime )
public int get ( int $field )
public int getActualMaximum ( int $field )
public int getActualMinimum ( int $field )
public static array getAvailableLocales ( void )
public int getDayOfWeekType ( int $dayOfWeek )
public int getErrorCode ( void )
public string getErrorMessage ( void )
public int getFirstDayOfWeek ( void )
public int getGreatestMinimum ( int $field )
public static Iterator getKeywordValuesForLocale ( string $key , string $locale , boolean $commonlyUsed )
public int getLeastMaximum ( int $field )
public string getLocale ( int $localeType )
public int getMaximum ( int $field )
public int getMinimalDaysInFirstWeek ( void )
public int getMinimum ( int $field )
public static float getNow ( void )
public int getRepeatedWallTimeOption ( void )
public int getSkippedWallTimeOption ( void )
public float getTime ( void )
public IntlTimeZone getTimeZone ( void )
public string getType ( void )
public int getWeekendTransition ( string $dayOfWeek )
public bool inDaylightTime ( void )
public bool isEquivalentTo ( IntlCalendar $calendar )
public bool isLenient ( void )
public bool isSet ( int $field )
public bool isWeekend ([ float $date = NULL ] )
public bool roll ( int $field , mixed $amountOrUpOrDown )
public bool set ( int $field , int $value )
public bool set ( int $year , int $month [, int $dayOfMonth = NULL [, int $hour = NULL [, int $minute = NULL [, int $second = NULL ]]]] )
public bool setFirstDayOfWeek ( int $dayOfWeek )
public ReturnType setLenient ( string $isLenient )
public bool setRepeatedWallTimeOption ( int $wallTimeOption )
public bool setSkippedWallTimeOption ( int $wallTimeOption )
public bool setTime ( float $date )
public bool setTimeZone ( mixed $timeZone )
public DateTime toDateTime ( void )
}

Constantes predefinidas

IntlCalendar::FIELD_ERA

Campo de calendario que representa numéricamente una era, por ejemplo 1 para DC y 0 para AC en los calendarios Gregoriano/Juliano, y 235 para la era Heisei (平成) en el calendario japonés. No todos los calendarios tienen más de una era.

IntlCalendar::FIELD_YEAR

Campo de calendario para el año. No es único a lo largo de las eras. Si el tipo de calendario tiene más de una era, generalmente el valor mínimo para este campo será 1.

IntlCalendar::FIELD_MONTH

Campo de calendario para el mes. La secuecia de meses está basada en cero, por lo que Enero (aquí suele significar el primer mes del calendario; este podría llamarse de otra manera, como Muharram en el calendario islámico) se representa por 0, Febrero por 1, …, Diciembre por 11 y, para calendarios que lo tengan, el 13º o mes bisiesto por 12.

IntlCalendar::FIELD_WEEK_OF_YEAR

Campo de calendario para el número de la semana del año. Depende de qué día de la semana se considera que inicia la semana y el número mínimo de días de una semana.

IntlCalendar::FIELD_WEEK_OF_MONTH

Campo de calendario para el número de la semana del mes. Depende de qué día de la semana se considra que inicia la semana y el número mínimo de días de una semana.

IntlCalendar::FIELD_DATE

Campo de calendario para el día del mes. Lo mismo que IntlCalendar::FIELD_DAY_OF_MONTH, el cual tiene un nombre más claro.

IntlCalendar::FIELD_DAY_OF_YEAR

Campo de calendario para el día del año. Para el calendario Gregoriano, comienza con 1 y finaliza con 365 o 366.

IntlCalendar::FIELD_DAY_OF_WEEK

Campo de calendario para el día de la semana. Su valor empiaza con 1 (Domingo, véase IntlCalendar::DOW_SUNDAY y constantes subsiguientes) y el último valor válido es 7 (Sábado).

IntlCalendar::FIELD_DAY_OF_WEEK_IN_MONTH

Dado un día de la semana (Domingo, Lunes, …), este campo de calendario asigna un ordinal para tal día de la semana de un mes específico. Así, si el valor de este campo es 1 y el valor del día de la semana es 2 (Lunes), el día establecido del mes es el 1er lunes del mes; el valor máximo es 5.

Además, el valor 0 y los valores negativos también están permitidos. El valor 0 abarca los siete días que acontecen inmediatamente antes de los primeros siete días de un mes (el cual tiene por lo tanto un ‘día de la semana del mes’ con valor 1). Los valores negativos inician la cuenta desde el final del mes – -1 apunta a la última aparición de un día de la semana en un mes, -2 al penúltimo, etc.

A diferencia de IntlCalendar::FIELD_WEEK_OF_MONTH y IntlCalendar::FIELD_WEEK_OF_YEAR, este valor no depende de IntlCalendar::getFirstDayOfWeek() o IntlCalendar::getMinimalDaysInFirstWeek(). El primer lunes es el primer lunes, incluso si sucede en una semana que pertenece al mes anterior.

IntlCalendar::FIELD_AM_PM

Campo de calendario que indica si una hora es anterior al mediodía (valor 0, AM) o posterior (1). Medianoche es AM, mediodía es PM.

IntlCalendar::FIELD_HOUR

Campo de calendario para la hora, sin especificar si es por la mañana o por la tarde. Los valores válidos son de 0 a 11.

IntlCalendar::FIELD_HOUR_OF_DAY

Campo de calendario para la hora completa (24h) de un día. Los valores válidos son de 0 a 23.

IntlCalendar::FIELD_MINUTE

Campo de calendario para el componente minutos de la hora.

IntlCalendar::FIELD_SECOND

Campo de calendario para el componente segundos de la hora.

IntlCalendar::FIELD_MILLISECOND

Campo de calendario para el componente milisegundos de la hora.

IntlCalendar::FIELD_ZONE_OFFSET

Campo de calendario que indica el índice puro de la zona horaria, en milisegundos. El índice puro es el índice de la zona horaria, excluyendo cualquier índice debido a las horas de horario de verano.

IntlCalendar::FIELD_DST_OFFSET

Campo de calendario para el índice del horario de verano de la zona horaria del calendario, en milisegundos, si está activo para la hora del calendario.

IntlCalendar::FIELD_YEAR_WOY

Campo de calendario que representa el año para propósitos de semana del año.

IntlCalendar::FIELD_DOW_LOCAL

Campo de calendario para el día localizado de la semana. Es un valor entre 1 y 7, siendo 1 usado para el día de la semana que coincide con el valor representado por IntlCalendar::getFirstDayOfWeek().

IntlCalendar::FIELD_EXTENDED_YEAR

Campo de calendario para una representación numérica del año que es continua a lo largo de las eras. Para el calendario Gregoriano, el valor de este campo coincide con el de IntlCalendar::FIELD_YEAR para años DC; un año AC a se reprenta por -a + 1.

IntlCalendar::FIELD_JULIAN_DAY

Campo de calendario para un número de día juliano modificado. Es diferente de un número de día juliano convencional en que su transción sucede a medianoche de la zona local en vez de a mediodía en UTC. Identifica una fecha de manera única.

IntlCalendar::FIELD_MILLISECONDS_IN_DAY

Campo de calendario que abarca la información de IntlCalendar::FIELD_HOUR_OF_DAY, IntlCalendar::FIELD_MINUTE, IntlCalendar::FIELD_SECOND y IntlCalendar::FIELD_MILLISECOND. El rango es desde 0 a 24 * 3600 * 1000 - 1. No es la cantidad de milisegundos transcurridos del día, ya que las transiciones DST tendrán discontinuidades análogas a aquellas de la hora real ('wall time').

IntlCalendar::FIELD_IS_LEAP_MONTH

Campo de calendario cuyo valor es 1 para indicar un mes bisiesto, y 0 para lo contrario.

IntlCalendar::FIELD_FIELD_COUNT

El número total de campos.

IntlCalendar::FIELD_DAY_OF_MONTH

Alias de IntlCalendar::FIELD_DATE.

IntlCalendar::DOW_SUNDAY

Domingo.

IntlCalendar::DOW_MONDAY

Lunes.

IntlCalendar::DOW_TUESDAY

Martes.

IntlCalendar::DOW_WEDNESDAY

Miércoles.

IntlCalendar::DOW_THURSDAY

Jueves.

IntlCalendar::DOW_FRIDAY

Viernes.

IntlCalendar::DOW_SATURDAY

Sábado.

IntlCalendar::DOW_TYPE_WEEKDAY

Salida generada por IntlCalendar::getDayOfWeekType() que indica que un día de la semana es un día entresemana.

IntlCalendar::DOW_TYPE_WEEKEND

Salida generada por IntlCalendar::getDayOfWeekType() que indica que un día de la semana pertenece al fin de semana.

IntlCalendar::DOW_TYPE_WEEKEND_OFFSET

Salida generada por IntlCalendar::getDayOfWeekType() que indica que el fin de semana comienza durante un día dado de una semana.

IntlCalendar::DOW_TYPE_WEEKEND_CEASE

Salida generada por IntlCalendar::getDayOfWeekType() que indica que el fin de semana finaliza durante un día dado de la semana.

IntlCalendar::WALLTIME_FIRST

Salida generada por IntlCalendar::getSkippedWallTimeOption() que indica que las horas reales del rango omitido deberían hacer referencia al mismo instante que las horas reales con una hora menos, y la generada por IntlCalendar::getRepeatedWallTimeOption() que indica que las horas reales del rango repetido deberían hacer referencia al instante de la primera aparición de tal hora real.

IntlCalendar::WALLTIME_LAST

Salida generada por IntlCalendar::getSkippedWallTimeOption() que indica que los "wall times" del rango omitido deberían hacer referencia al mismo instante que los "wall times" con una hora después, y la generada por IntlCalendar::getRepeatedWallTimeOption() que indica que las horas reales del rango repetido deberían hacer referencia al instante de la segunda aparición de tal hora real.

IntlCalendar::WALLTIME_NEXT_VALID

Salida generada por IntlCalendar::getSkippedWallTimeOption() que indica que las horea reales del rango omitido deberían hacer referencia al instante cuando sucede (comienza) la transición del horario de verano.

Tabla de contenidos

  • IntlCalendar::add — Add a (signed) amount of time to a field
  • IntlCalendar::after — Whether this objectʼs time is after that of the passed object
  • IntlCalendar::before — Whether this objectʼs time is before that of the passed object
  • IntlCalendar::clear — Clear a field or all fields
  • IntlCalendar::__construct — Private constructor for disallowing instantiation
  • IntlCalendar::createInstance — Create a new IntlCalendar
  • IntlCalendar::equals — Compare time of two IntlCalendar objects for equality
  • IntlCalendar::fieldDifference — Calculate difference between given time and this objectʼs time
  • IntlCalendar::fromDateTime — Create an IntlCalendar from a DateTime object or string
  • IntlCalendar::get — Get the value for a field
  • IntlCalendar::getActualMaximum — The maximum value for a field, considering the objectʼs current time
  • IntlCalendar::getActualMinimum — The minimum value for a field, considering the objectʼs current time
  • IntlCalendar::getAvailableLocales — Get array of locales for which there is data
  • IntlCalendar::getDayOfWeekType — Tell whether a day is a weekday, weekend or a day that has a transition between the two
  • IntlCalendar::getErrorCode — Get last error code on the object
  • IntlCalendar::getErrorMessage — Get last error message on the object
  • IntlCalendar::getFirstDayOfWeek — Get the first day of the week for the calendarʼs locale
  • IntlCalendar::getGreatestMinimum — Get the largest local minimum value for a field
  • IntlCalendar::getKeywordValuesForLocale — Get set of locale keyword values
  • IntlCalendar::getLeastMaximum — Get the smallest local maximum for a field
  • IntlCalendar::getLocale — Get the locale associated with the object
  • IntlCalendar::getMaximum — Get the global maximum value for a field
  • IntlCalendar::getMinimalDaysInFirstWeek — Get minimal number of days the first week in a year or month can have
  • IntlCalendar::getMinimum — Get the global minimum value for a field
  • IntlCalendar::getNow — Get number representing the current time
  • IntlCalendar::getRepeatedWallTimeOption — Get behavior for handling repeating wall time
  • IntlCalendar::getSkippedWallTimeOption — Get behavior for handling skipped wall time
  • IntlCalendar::getTime — Get time currently represented by the object
  • IntlCalendar::getTimeZone — Get the objectʼs timezone
  • IntlCalendar::getType — Get the calendar type
  • IntlCalendar::getWeekendTransition — Get time of the day at which weekend begins or ends
  • IntlCalendar::inDaylightTime — Whether the objectʼs time is in Daylight Savings Time
  • IntlCalendar::isEquivalentTo — Whether another calendar is equal but for a different time
  • IntlCalendar::isLenient — Whether date/time interpretation is in lenient mode
  • IntlCalendar::isSet — Whether a field is set
  • IntlCalendar::isWeekend — Whether a certain date/time is in the weekend
  • IntlCalendar::roll — Add value to field without carrying into more significant fields
  • IntlCalendar::set — Set a time field or several common fields at once
  • IntlCalendar::setFirstDayOfWeek — Set the day on which the week is deemed to start
  • IntlCalendar::setLenient — Set whether date/time interpretation is to be lenient
  • IntlCalendar::setRepeatedWallTimeOption — Set behavior for handling repeating wall times at negative timezone offset transitions
  • IntlCalendar::setSkippedWallTimeOption — Set behavior for handling skipped wall times at positive timezone offset transitions
  • IntlCalendar::setTime — Set the calendar time in milliseconds since the epoch
  • IntlCalendar::setTimeZone — Set the timezone used by this calendar
  • IntlCalendar::toDateTime — Convert an IntlCalendar into a DateTime object
MessageFormatter::setPattern
IntlCalendar::add
intl


Add a (signed) amount of time to a field

IntlCalendar
IntlCalendar::after
IntlCalendar
PHP Manual

IntlCalendar::add

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::add — Add a (signed) amount of time to a field

Descripción

public bool IntlCalendar::add ( int $field , int $amount )

Add a signed amount to a field. Adding a positive amount allows advances in time, even if the numeric value of the field decreases (e.g. when working with years in BC dates).

Other fields may need to adjusted – for instance, adding a month to the 31st of January will result in the 28th (or 29th) of February. Contrary to IntlCalendar::roll(), when a value wraps around, more significant fields may change. For instance, adding a day to the 31st of January will result in the 1st of February, not the 1st of Janurary.

Parámetros

field

Una de las constantes del campo fecha/hora de IntlCalendar. Son valores de tipo integer entre 0 y IntlCalendar::FIELD_COUNT.

amount

The signed amount to add to the current field. If the amount is positive, the instant will be moved forward; if it is negative, the instant wil be moved into the past. The unit is implicit to the field type. For instance, hours for IntlCalendar::FIELD_HOUR_OF_DAY.

Valores devueltos

Returns TRUE on success o FALSE en caso de error.

Ejemplos

Ejemplo #1 IntlCalendar::add()

<?php
ini_set('intl.default_locale', 'fr_FR');
ini_set('date.timezone', 'UTC');

$cal = new IntlGregorianCalendar(2012, 0 /* January */, 31);
echo IntlDateFormatter::formatObject($cal), "\n";

$cal->add(IntlCalendar::FIELD_MONTH, 1);
echo IntlDateFormatter::formatObject($cal), "\n";

$cal->add(IntlCalendar::FIELD_DAY_OF_MONTH, 1);
echo IntlDateFormatter::formatObject($cal), "\n";

El resultado del ejemplo sería:

31 janv. 2012 00:00:00
29 févr. 2012 00:00:00
1 mars 2012 00:00:00

IntlCalendar
IntlCalendar::after
IntlCalendar


Whether this objectʼs time is after that of the passed object

IntlCalendar::add
IntlCalendar::before
IntlCalendar
PHP Manual

IntlCalendar::after

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::after — Whether this objectʼs time is after that of the passed object

Descripción

public bool IntlCalendar::after ( IntlCalendar $calendar )

Returns whether this objectʼs time succeeds the argumentʼs time.

Parámetros

calendar

The calendar whose time will be checked against this objectʼs time.

Valores devueltos

Returns TRUE if this objectʼs current time is after that of the calendar argumentʼs time. Returns FALSE otherwise. Also returns FALSE on failure. You can use exceptions or intl_get_error_code() to detect error conditions.

Ejemplos

Ejemplo #1 IntlCalendar::after()

<?php
$cal1 = IntlCalendar::createInstance();
$cal2 = clone $cal1;

var_dump($cal1->after($cal2), //false
        $cal2->after($cal1)); //false

$cal1->roll(IntlCalendar::FIELD_MILLISECOND, true);

var_dump($cal1->after($cal2), //true
        $cal2->after($cal1)); //false

IntlCalendar::add
IntlCalendar::before
IntlCalendar


Whether this objectʼs time is before that of the passed object

IntlCalendar::after
IntlCalendar::clear
IntlCalendar
PHP Manual

IntlCalendar::before

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::before — Whether this objectʼs time is before that of the passed object

Descripción

public bool IntlCalendar::before ( IntlCalendar $calendar )

Returns whether this objectʼs time precedes the argumentʼs time.

Parámetros

calendar

The calendar whose time will be checked against this objectʼs time.

Valores devueltos

Returns TRUE if this objectʼs current time is before that of the calendar argumentʼs time. Returns FALSE otherwise. Also returns FALSE on failure. You can use exceptions or intl_get_error_code() to detect error conditions.

IntlCalendar::after
IntlCalendar::clear
IntlCalendar


Clear a field or all fields

IntlCalendar::before
IntlCalendar::__construct
IntlCalendar
PHP Manual

IntlCalendar::clear

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::clear — Clear a field or all fields

Descripción

public bool IntlCalendar::clear ([ int $field = NULL ] )

Clears either all of the fields or a specific field. A cleared field is marked as unset, giving it the lowest priority against overlapping fields or even default values when calculating the time. Additionally, its value is set to 0, though given the fieldʼs low priority, its value may have been internally set to another value by the time the field has finished been queried.

Parámetros

field

Una de las constantes del campo fecha/hora de IntlCalendar. Son valores de tipo integer entre 0 y IntlCalendar::FIELD_COUNT.

Valores devueltos

Returns TRUE on success o FALSE en caso de error. Failure can only occur is invalid arguments are provided.

Ejemplos

Ejemplo #1 IntlCalendar::clear() examples

<?php
ini_set('intl.default_locale', 'es_ES');
ini_set('date.timezone', 'UTC');

$fields = array(
    'FIELD_ERA'                  => 0,
    'FIELD_YEAR'                 => 1,
    'FIELD_MONTH'                => 2,
    'FIELD_WEEK_OF_YEAR'         => 3,
    'FIELD_WEEK_OF_MONTH'        => 4,
    'FIELD_DATE'                 => 5,
    'FIELD_DAY_OF_YEAR'          => 6,
    'FIELD_DAY_OF_WEEK'          => 7,
    'FIELD_DAY_OF_WEEK_IN_MONTH' => 8,
    'FIELD_AM_PM'                => 9,
    'FIELD_HOUR'                 => 10,
    'FIELD_HOUR_OF_DAY'          => 11,
    'FIELD_MINUTE'               => 12,
    'FIELD_SECOND'               => 13,
    'FIELD_MILLISECOND'          => 14,
    'FIELD_ZONE_OFFSET'          => 15,
    'FIELD_DST_OFFSET'           => 16,
    'FIELD_YEAR_WOY'             => 17,
    'FIELD_DOW_LOCAL'            => 18,
    'FIELD_EXTENDED_YEAR'        => 19,
    'FIELD_JULIAN_DAY'           => 20,
    'FIELD_MILLISECONDS_IN_DAY'  => 21,
    'FIELD_IS_LEAP_MONTH'        => 22,
    'FIELD_FIELD_COUNT'          => 23,
);
function getSetFields(IntlCalendar $cal) {
    global $fields;
    $ret = array();
    foreach ($fields as $name => $value) {
        if ($cal->isSet($value)) {
            $ret[] = $name;
        }
    }
    return $ret;
}

$cal = new IntlGregorianCalendar(2013, 2 /* March */, 15);
echo "After GregorianCalendar creation\n";
print_r(getSetFields($cal));
echo "\n";

echo IntlDateFormatter::formatObject($cal), "\n";
echo "After the formatter requested the extended year\n";
print_r(getSetFields($cal));
echo "\n";

$cal->clear(IntlCalendar::FIELD_YEAR);
echo "After the year has been cleared, the date stays the same\n";
echo IntlDateFormatter::formatObject($cal), "\n";
echo "because FIELD_EXTENDED_YEAR is still set\n";
print_r(getSetFields($cal));
echo "\n";

var_dump($cal->clear(IntlCalendar::FIELD_EXTENDED_YEAR));
echo "After the extended year has been cleared\n";
print_r(getSetFields($cal));
echo IntlDateFormatter::formatObject($cal), "\n";
echo "\n";

echo "After the fields are recalculated,\n"
        . " extended year is set again (to 1970)\n";
print_r(getSetFields($cal));
echo "\n";

$cal->clear();
echo "After calling variant with no arguments\n";
print_r(getSetFields($cal));
echo IntlDateFormatter::formatObject($cal), "\n";

El resultado del ejemplo sería:

After GregorianCalendar creation
Array
(
    [0] => FIELD_ERA
    [1] => FIELD_YEAR
    [2] => FIELD_MONTH
    [3] => FIELD_DATE
)

15/03/2013 00:00:00
After the formatter requested the extended year
Array
(
    [0] => FIELD_ERA
    [1] => FIELD_YEAR
    [2] => FIELD_MONTH
    [3] => FIELD_DATE
    [4] => FIELD_EXTENDED_YEAR
)

After the year has been cleared, the date stays the same
15/03/2013 00:00:00
because FIELD_EXTENDED_YEAR is still set
Array
(
    [0] => FIELD_ERA
    [1] => FIELD_MONTH
    [2] => FIELD_DATE
    [3] => FIELD_EXTENDED_YEAR
)

bool(true)
After the extended year has been cleared
Array
(
    [0] => FIELD_ERA
    [1] => FIELD_MONTH
    [2] => FIELD_DATE
)
15/03/1970 00:00:00

After the fields are recalculated,
 extended year is set again (to 1970)
Array
(
    [0] => FIELD_ERA
    [1] => FIELD_MONTH
    [2] => FIELD_DATE
    [3] => FIELD_EXTENDED_YEAR
)

After calling variant with no arguments
Array
(
)
01/01/1970 00:00:00

IntlCalendar::before
IntlCalendar::__construct
IntlCalendar


Private constructor for disallowing instantiation

IntlCalendar::clear
IntlCalendar::createInstance
IntlCalendar
PHP Manual

IntlCalendar::__construct

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::__construct — Private constructor for disallowing instantiation

Descripción

private IntlCalendar::__construct ( void )

A private constructor for disallowing instantiation with the new operator.

Call IntlCalendar::createInstance() instead.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

IntlCalendar::clear
IntlCalendar::createInstance
IntlCalendar


Create a new IntlCalendar

IntlCalendar::__construct
IntlCalendar::equals
IntlCalendar
PHP Manual

IntlCalendar::createInstance

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::createInstance — Create a new IntlCalendar

Descripción

public static IntlCalendar IntlCalendar::createInstance ([ mixed $timeZone = NULL [, string $locale = NULL ]] )

Given a timezone and locale, this method creates an IntlCalendar object. This factory method may return a subclass of IntlCalendar.

The calendar created will represent the time instance at which it was created, based on the system time. The fields can all be cleared by calling IntCalendar::clear() with no arguments. See also IntlGregorianCalendar::__construct().

Parámetros

timeZone

The timezone to use.

  • NULL, en cuyo caso se usará la zona horaria predeterminada, tal como está especificada en el ajuste ini date.timezone o a través de la función date_default_timezone_set() y como es devuelto por date_default_timezone_get().

  • Un IntlTimeZone, que se usará directamente.

  • Un DateTimeZone. Su identificador será extraido y se creará un objeto de zona horaria de ICU; la zona horaria será proporcionada por la base de datos de ICU, no por la de PHP.

  • Un string, que debería ser un identificador de zona horaria de ICU válido. Véase IntlTimeZone::createTimeZoneIDEnumeration(). Los índices puros como "GMT+08:30" también se aceptan.

locale

A locale to use or NULL to use the default locale.

Valores devueltos

The created IntlCalendar instance or NULL on failure.

Ejemplos

Ejemplo #1 IntlCalendar::createInstance()

<?php
ini_set('intl.default_locale', 'es_ES');
ini_set('date.timezone', 'Europe/Madrid');

$cal = IntlCalendar::createInstance();
echo "No arguments\n";
var_dump(get_class($cal),
        IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL));
echo "\n";

echo "Explicit timezone\n";
$cal = IntlCalendar::createInstance(IntlTimeZone::getGMT());
var_dump(get_class($cal),
        IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL));
echo "\n";

echo "Explicit locale (with calendar)\n";
$cal = IntlCalendar::createInstance(NULL, 'es_ES@calendar=persian');
var_dump(get_class($cal),
        IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL));

El resultado del ejemplo sería:

No arguments
string(21) "IntlGregorianCalendar"
string(68) "martes 18 de junio de 2013 14:11:02 Hora de verano de Europa Central"

Explicit timezone
string(21) "IntlGregorianCalendar"
string(45) "martes 18 de junio de 2013 12:11:02 GMT+00:00"

Explicit locale (with calendar)
string(12) "IntlCalendar"
string(70) "martes 28 de Khordad de 1392 14:11:02 Hora de verano de Europa Central"

Ver también

  • IntlGregorianCalendar::__construct()

IntlCalendar::__construct
IntlCalendar::equals
IntlCalendar


Compare time of two IntlCalendar objects for equality

IntlCalendar::createInstance
IntlCalendar::fieldDifference
IntlCalendar
PHP Manual

IntlCalendar::equals

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::equals — Compare time of two IntlCalendar objects for equality

Descripción

public bool IntlCalendar::equals ( IntlCalendar $calendar )

Returns true if this calendar and the given calendar have the same time. The settings, calendar types and field states do not have to be the same.

Parámetros

calendar

The calendar to compare with this object.

Valores devueltos

Returns TRUE if the current time of both this and the passed in IntlCalendar object are the same, or FALSE otherwise. The value FALSE can also be returned on failure. This can only happen if bad arguments are passed in. In any case, the two cases can be distinguished by calling intl_get_error_code().

Ejemplos

Ejemplo #1 IntlCalendar::equals()

<?php
ini_set('date.timezone', 'UTC');

$cal1 = IntlCalendar::createInstance(NULL, 'es_ES');
$cal2 = clone $cal1;

var_dump($cal1->equals($cal2)); //TRUE

//The locale is not included in the comparison
$cal2 = IntlCalendar::createInstance(NULL, 'pt_PT');
$cal2->setTime($cal1->getTime());
var_dump($cal1->equals($cal2)); //TRUE

//And set fields state is not included as well
$cal2->clear(IntlCalendar::FIELD_YEAR);
var_dump($cal1->isSet(IntlCalendar::FIELD_YEAR) ==
        $cal2->isSet(IntlCalendar::FIELD_YEAR)); //FALSE
var_dump($cal1->equals($cal2)); //TRUE

//Neither is the calendar type
$cal2 = IntlCalendar::createInstance(NULL, 'es_ES@calendar=islamic');
$cal2->setTime($cal1->getTime());
var_dump($cal1->equals($cal2)); //TRUE

//Only the time is
$cal2 = clone $cal1;
$cal2->setTime($cal1->getTime() + 1.);
var_dump($cal1->equals($cal2)); //FALSE

IntlCalendar::createInstance
IntlCalendar::fieldDifference
IntlCalendar


Calculate difference between given time and this objectʼs time

IntlCalendar::equals
IntlCalendar::fromDateTime
IntlCalendar
PHP Manual

IntlCalendar::fieldDifference

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::fieldDifference — Calculate difference between given time and this objectʼs time

Descripción

public int IntlCalendar::fieldDifference ( float $when , int $field )

Return the difference between the given time and the time this object is set to, with respect to the quantity specified the field parameter.

This method is meant to be called successively, first with the most significant field of interest down to the least significant field. To this end, as a side effect, this calendarʼs value for the field specified is advanced by the amount returned.

Parámetros

when

The time against which to compare the quantity represented by the field. For the result to be positive, the time given for this parameter must be ahead of the time of the object the method is being invoked on.

field

The field that represents the quantity being compared.

Una de las constantes del campo fecha/hora de IntlCalendar. Son valores de tipo integer entre 0 y IntlCalendar::FIELD_COUNT.

Valores devueltos

Returns a (signed) difference of time in the unit associated with the specified field o FALSE en caso de error.

Ejemplos

Ejemplo #1 IntlCalendar::fieldDifference()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'fr_FR');

$cal1 = IntlCalendar::fromDateTime('2012-02-29 09:00:11');
$cal2 = IntlCalendar::fromDateTime('2013-03-01 09:19:29');
$time = $cal2->getTime();

echo "Time before: ", IntlDateFormatter::formatObject($cal1), "\n";

printf(
    "The difference in time is %d year(s), %d month(s), "
  . "%d day(s), %d hour(s) and %d minute(s)\n",
    $cal1->fieldDifference($time, IntlCalendar::FIELD_YEAR),
    $cal1->fieldDifference($time, IntlCalendar::FIELD_MONTH),
    $cal1->fieldDifference($time, IntlCalendar::FIELD_DAY_OF_MONTH),
    $cal1->fieldDifference($time, IntlCalendar::FIELD_HOUR_OF_DAY),
    $cal1->fieldDifference($time, IntlCalendar::FIELD_MINUTE)
);

//now it was advanced to the target time, exception for the seconds,
//for which we did not measure the difference
echo "Time after: ", IntlDateFormatter::formatObject($cal1), "\n";

El resultado del ejemplo sería:

Time before: 29 févr. 2012 09:00:11
The difference in time is 1 year(s), 0 month(s), 1 day(s), 0 hour(s) and 19 minute(s)
Time after: 1 mars 2013 09:19:11

IntlCalendar::equals
IntlCalendar::fromDateTime
IntlCalendar


Create an IntlCalendar from a DateTime object or string

IntlCalendar::fieldDifference
IntlCalendar::get
IntlCalendar
PHP Manual

IntlCalendar::fromDateTime

(PHP 5.5.0, PECL >= 3.0.0a2)

IntlCalendar::fromDateTime — Create an IntlCalendar from a DateTime object or string

Descripción

public static IntlCalendar IntlCalendar::fromDateTime ( mixed $dateTime )

Creates an IntlCalendar object either from a DateTime object or from a string from which a DateTime object can be built.

The new calendar will represent not only the same instant as the given DateTime (subject to precision loss for dates very far into the past or future), but also the same timezone (subject to the caveat that different timezone databases will be used, and therefore the results may differ).

Parámetros

dateTime

A DateTime object or a string that can be passed to DateTime::__construct().

Valores devueltos

The created IntlCalendar object or NULL in case of failure. If a string is passed, any exception that occurs inside the DateTime constructor is propagated.

Ejemplos

Ejemplo #1 IntlCalendar::fromDateTime()

<?php
ini_set('date.timezone', 'Europe/Lisbon');

//same as IntlCalendar::fromDateTime(new DateTime(...))
$cal1 = IntlCalendar::fromDateTime('2013-02-28 00:01:02 Europe/Berlin');

//Note the timezone is Europe/Berlin, not the default Europe/Lisbon
echo IntlDateFormatter::formatObject($cal1, 'yyyy MMMM d HH:mm:ss VVVV', 'de_DE'), "\n";

El resultado del ejemplo sería:

2013 Februar 28 00:01:02 Deutschland Zeit

IntlCalendar::fieldDifference
IntlCalendar::get
IntlCalendar


Get the value for a field

IntlCalendar::fromDateTime
IntlCalendar::getActualMaximum
IntlCalendar
PHP Manual

IntlCalendar::get

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::get — Get the value for a field

Descripción

public int IntlCalendar::get ( int $field )

Gets the value for a specific field.

Parámetros

field

Una de las constantes del campo fecha/hora de IntlCalendar. Son valores de tipo integer entre 0 y IntlCalendar::FIELD_COUNT.

Valores devueltos

An integer with the value of the time field.

Ejemplos

Ejemplo #1 IntlCalendar::get()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'en_US');

$class = new ReflectionClass('IntlCalendar');
$fields = array();
foreach ($class->getConstants() as $name => $val) {
    if (strpos($name, 'FIELD_') !== 0 || $val > 22)
        continue;
    $fields[$val] = $name;
}

$cal = IntlCalendar::createInstance(); // current time
var_dump(IntlDateFormatter::formatObject($cal));
foreach ($fields as $val => $name) {
    echo "$val ($name)", "\n    ", $cal->get($val), "\n";
}

El resultado del ejemplo sería:

string(23) "Jul 1, 2013, 4:44:44 AM"
0 (FIELD_ERA)
    1
1 (FIELD_YEAR)
    2013
2 (FIELD_MONTH)
    6
3 (FIELD_WEEK_OF_YEAR)
    27
4 (FIELD_WEEK_OF_MONTH)
    1
5 (FIELD_DAY_OF_MONTH)
    1
6 (FIELD_DAY_OF_YEAR)
    182
7 (FIELD_DAY_OF_WEEK)
    2
8 (FIELD_DAY_OF_WEEK_IN_MONTH)
    1
9 (FIELD_AM_PM)
    0
10 (FIELD_HOUR)
    4
11 (FIELD_HOUR_OF_DAY)
    4
12 (FIELD_MINUTE)
    44
13 (FIELD_SECOND)
    44
14 (FIELD_MILLISECOND)
    551
15 (FIELD_ZONE_OFFSET)
    0
16 (FIELD_DST_OFFSET)
    3600000
17 (FIELD_YEAR_WOY)
    2013
18 (FIELD_DOW_LOCAL)
    2
19 (FIELD_EXTENDED_YEAR)
    2013
20 (FIELD_JULIAN_DAY)
    2456475
21 (FIELD_MILLISECONDS_IN_DAY)
    17084551
22 (FIELD_IS_LEAP_MONTH)
    0

IntlCalendar::fromDateTime
IntlCalendar::getActualMaximum
IntlCalendar


The maximum value for a field, considering the objectʼs current time

IntlCalendar::get
IntlCalendar::getActualMinimum
IntlCalendar
PHP Manual

IntlCalendar::getActualMaximum

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::getActualMaximum — The maximum value for a field, considering the objectʼs current time

Descripción

public int IntlCalendar::getActualMaximum ( int $field )

Returns a fieldʼs relative maximum value around the current time. The exact semantics vary by field, but in the general case this is the value that would be obtained if one would set the field value into the smallest relative maximum for the field and would increment it until reaching the global maximum or the field value wraps around, in which the value returned would be the global maximum or the value before the wrapping, respectively.

For instance, in the gregorian calendar, the actual maximum value for the day of month would vary between 28 and 31, depending on the month and year of the current time.

Parámetros

field

Una de las constantes del campo fecha/hora de IntlCalendar. Son valores de tipo integer entre 0 y IntlCalendar::FIELD_COUNT.

Valores devueltos

An int representing the maximum value in the units associated with the given field o FALSE en caso de error.

Ejemplos

Ejemplo #1 IntlCalendar::getActualMaximum()

<?php
ini_set('date.timezone', 'Europe/Lisbon');

$cal = IntlCalendar::fromDateTime('2013-02-15');
var_dump($cal->getActualMaximum(IntlCalendar::FIELD_DAY_OF_MONTH)); //28

$cal->add(IntlCalendar::FIELD_EXTENDED_YEAR, -1);
var_dump($cal->getActualMaximum(IntlCalendar::FIELD_DAY_OF_MONTH)); //29

El resultado del ejemplo sería:

int(28)
int(29)

Ver también

  • IntlCalendar::getMaximum() - Get the global maximum value for a field
  • IntlCalendar::getLeastMaximum() - Get the smallest local maximum for a field
  • IntlCalendar::getActualMinimum() - The minimum value for a field, considering the objectʼs current time

IntlCalendar::get
IntlCalendar::getActualMinimum
IntlCalendar


The minimum value for a field, considering the objectʼs current time

IntlCalendar::getActualMaximum
IntlCalendar::getAvailableLocales
IntlCalendar
PHP Manual

IntlCalendar::getActualMinimum

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::getActualMinimum — The minimum value for a field, considering the objectʼs current time

Descripción

public int IntlCalendar::getActualMinimum ( int $field )

Returns a fieldʼs relative minimum value around the current time. The exact semantics vary by field, but in the general case this is the value that would be obtained if one would set the field value into the greatest relative minimum for the field and would decrement it until reaching the global minimum or the field value wraps around, in which the value returned would be the global minimum or the value before the wrapping, respectively.

For the Gregorian calendar, this is always the same as IntlCalendar::getMinimum().

Parámetros

field

Una de las constantes del campo fecha/hora de IntlCalendar. Son valores de tipo integer entre 0 y IntlCalendar::FIELD_COUNT.

Valores devueltos

An int representing the minimum value in the fieldʼs unit o FALSE en caso de error.

Ver también

  • IntlCalendar::getMinimum() - Get the global minimum value for a field
  • IntlCalendar::getGreatestMinimum() - Get the largest local minimum value for a field
  • IntlCalendar::getActualMaximum() - The maximum value for a field, considering the objectʼs current time

IntlCalendar::getActualMaximum
IntlCalendar::getAvailableLocales
IntlCalendar


Get array of locales for which there is data

IntlCalendar::getActualMinimum
IntlCalendar::getDayOfWeekType
IntlCalendar
PHP Manual

IntlCalendar::getAvailableLocales

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::getAvailableLocales — Get array of locales for which there is data

Descripción

public static array IntlCalendar::getAvailableLocales ( void )

Gives the list of locales for which calendars are installed. As of ICU 51, this is the list of all installed ICU locales.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

An array of strings, one for which locale.

Ejemplos

Ejemplo #1 IntlCalendar::getAvailableLocales()()

<?php
print_r(IntlCalendar::getAvailableLocales());

El resultado del ejemplo sería:

Array
(
    [0] => af
    [1] => af_NA
    [2] => af_ZA
    [3] => agq
    [4] => agq_CM
    [5] => ak
    [6] => ak_GH
    [7] => am
    [8] => am_ET
    [9] => ar
    [10] => ar_001
    [11] => ar_AE
    [12] => ar_BH
    [13] => ar_DJ
    … output abbreviated …
    [595] => zh_Hant_HK
    [596] => zh_Hant_MO
    [597] => zh_Hant_TW
    [598] => zu
    [599] => zu_ZA
)

IntlCalendar::getActualMinimum
IntlCalendar::getDayOfWeekType
IntlCalendar


Tell whether a day is a weekday, weekend or a day that has a transition between the two

IntlCalendar::getAvailableLocales
IntlCalendar::getErrorCode
IntlCalendar
PHP Manual

IntlCalendar::getDayOfWeekType

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::getDayOfWeekType — Tell whether a day is a weekday, weekend or a day that has a transition between the two

Descripción

public int IntlCalendar::getDayOfWeekType ( int $dayOfWeek )

Returns whether the passed day is a weekday (IntlCalendar::DOW_TYPE_WEEKDAY), a weekend day (IntlCalendar::DOW_TYPE_WEEKEND), a day during which a transition occurs into the weekend (IntlCalendar::DOW_TYPE_WEEKEND_OFFSET) or a day during which the weekend ceases (IntlCalendar::DOW_TYPE_WEEKEND_CEASE).

If the return is either
IntlCalendar::DOW_TYPE_WEEKEND_OFFSET or
IntlCalendar::DOW_TYPE_WEEKEND_CEASE, then
 IntlCalendar::getWeekendTransition() can be called to
obtain the time of the transition.

This function requires ICU 4.4 or later.

Parámetros

dayOfWeek

One of the constants IntlCalendar::DOW_SUNDAY,
IntlCalendar::DOW_MONDAY, …,
IntlCalendar::DOW_SATURDAY.

Valores devueltos

Returns one of the constants
IntlCalendar::DOW_TYPE_WEEKDAY,
IntlCalendar::DOW_TYPE_WEEKEND,
IntlCalendar::DOW_TYPE_WEEKEND_OFFSET or
IntlCalendar::DOW_TYPE_WEEKEND_CEASE o FALSE en caso de error.

Ejemplos

Ejemplo #1 IntlCalendar::getDayOfWeekType()

<?php

foreach (array('en_US', 'ar_SA') as $locale) {
    echo "Locale: ", Locale::getDisplayName($locale, "en_US"), "\n";

    $cal = IntlCalendar::createInstance('UTC', $locale);

    for ($i = IntlCalendar::DOW_SUNDAY; $i <= IntlCalendar::DOW_SATURDAY; $i++) {
        echo $i, " ", $cal->getDayOfWeekType($i), " ",
                $cal->getDayOfWeekType($i) >= IntlCalendar::DOW_TYPE_WEEKEND_OFFSET
                        ? $cal->getWeekendTransition($i)
                        : '',
                "\n";
    }
    echo "\n";
}

El resultado del ejemplo sería:

Locale: English (United States)
1 3 86400000
2 0
3 0
4 0
5 0
6 0
7 1

Locale: Arabic (Saudi Arabia)
1 0
2 0
3 0
4 0
5 1
6 3 86400000
7 0

IntlCalendar::getAvailableLocales
IntlCalendar::getErrorCode
IntlCalendar


Get last error code on the object

IntlCalendar::getDayOfWeekType
IntlCalendar::getErrorMessage
IntlCalendar
PHP Manual

IntlCalendar::getErrorCode

intlcal_get_error_code

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::getErrorCode -- intlcal_get_error_code — Get last error code on the object

Descripción

Estilo orientado a objetos (method):

public int IntlCalendar::getErrorCode ( void )

Estilo por procedimientos:

int intlcal_get_error_code ( IntlCalendar $calendar )

Returns the numeric ICU error code for the last call on this object (including cloning) or the IntlCalendar given for the calendar parameter (in the procedural‒style version). This may indicate only a warning (negative error code) or no error at all (U_ZERO_ERROR). The actual presence of an error can be tested with intl_is_failure().

Invalid arguments detected on the PHP side (before invoking functions of the ICU library) are not recorded for the purposes of this function.

The last error that occurred in any call to a function of the intl extension, including early argument errors, can be obtained with intl_get_error_code(). This function resets the global error code, but not the objectʼs error code.

Parámetros

calendar

The calendar object, on the procedural style interface.

Valores devueltos

An ICU error code indicating either success, failure or a warning.

Ejemplos

Ejemplo #1 IntlCalendar::getErrorCode() and IntlCalendar::getErrorMessage()

<?php
ini_set("intl.error_level", E_WARNING);
ini_set("intl.default_locale", "nl");

$intlcal = new IntlGregorianCalendar(2012, 1, 29);
var_dump(
    $intlcal->getErrorCode(),
    $intlcal->getErrorMessage()
);
$intlcal->fieldDifference(-1e100, IntlCalendar::FIELD_SECOND);

var_dump(
    $intlcal->getErrorCode(),
    $intlcal->getErrorMessage()
);

El resultado del ejemplo sería:

int(0)
string(12) "U_ZERO_ERROR"

Warning: IntlCalendar::fieldDifference(): intlcal_field_difference: Call to ICU method has failed in /home/glopes/php/ws/example.php on line 10
int(1)
string(81) "intlcal_field_difference: Call to ICU method has failed: U_ILLEGAL_ARGUMENT_ERROR"

Ver también

  • IntlCalendar::getErrorMessage() - Get last error message on the object
  • intl_is_failure() - Comprueba si el código de error dado indica un fallo
  • intl_error_name() - Obtiene un nombre simbólico a partir de un código de error dado
  • intl_get_error_code() - Obtiene el último código de error
  • intl_get_error_message() - Obtener una descripción del último error

IntlCalendar::getDayOfWeekType
IntlCalendar::getErrorMessage
IntlCalendar


Get last error message on the object

IntlCalendar::getErrorCode
IntlCalendar::getFirstDayOfWeek
IntlCalendar
PHP Manual

IntlCalendar::getErrorMessage

intlcal_get_error_message

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::getErrorMessage -- intlcal_get_error_message — Get last error message on the object

Descripción

Estilo orientado a objetos (method):

public string IntlCalendar::getErrorMessage ( void )

Estilo por procedimientos:

string intlcal_get_error_message ( IntlCalendar $calendar )

Returns the error message (if any) associated with the error reported by IntlCalendar::getErrorCode() or intlcal_get_error_code(). If there is no associated error message, only the string representation of the name of the error constant will be returned. Otherwise, the message also includes a message set on the side of the PHP binding.

Parámetros

calendar

The calendar object, on the procedural style interface.

Valores devueltos

The error message associated with last error that occurred in a function call on this object, or a string indicating the non-existance of an error.

Ejemplos

Ejemplo #1 IntlCalendar::getErrorMessage()

<?php
$cal = IntlCalendar::createInstance('UTC', 'en_US');
var_dump($cal->getErrorMessage());

$cal->getWeekendTransition(IntlCalendar::DOW_WEDNESDAY);
var_dump($cal->getErrorMessage());

El resultado del ejemplo sería:

string(12) "U_ZERO_ERROR"
string(82) "intlcal_get_weekend_transition: Error calling ICU method: U_ILLEGAL_ARGUMENT_ERROR"

IntlCalendar::getErrorCode
IntlCalendar::getFirstDayOfWeek
IntlCalendar


Get the first day of the week for the calendarʼs locale

IntlCalendar::getErrorMessage
IntlCalendar::getGreatestMinimum
IntlCalendar
PHP Manual

IntlCalendar::getFirstDayOfWeek

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::getFirstDayOfWeek — Get the first day of the week for the calendarʼs locale

Descripción

public int IntlCalendar::getFirstDayOfWeek ( void )

The week day deemed to start a week, either the default value for this locale or the value set with IntlCalendar::setFirstDayOfWeek().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

One of the constants IntlCalendar::DOW_SUNDAY, IntlCalendar::DOW_MONDAY, …, IntlCalendar::DOW_SATURDAY o FALSE en caso de error.

Ejemplos

Ejemplo #1 IntlCalendar::getFirstDayOfWeek()

<?php
ini_set('date.timezone', 'UTC');

$cal1 = IntlCalendar::createInstance(NULL, 'es_ES');
var_dump($cal1->getFirstDayOfWeek()); // Monday
$cal1->set(2013, 1 /* February */, 3); // a Sunday
var_dump($cal1->get(IntlCalendar::FIELD_WEEK_OF_YEAR)); // 5

$cal2 = IntlCalendar::createInstance(NULL, 'en_US');
var_dump($cal2->getFirstDayOfWeek()); // Sunday
$cal2->set(2013, 1 /* February */, 3); // a Sunday
var_dump($cal2->get(IntlCalendar::FIELD_WEEK_OF_YEAR)); // 6

El resultado del ejemplo sería:

int(2)
int(5)
int(1)
int(6)

Ver también

  • IntlCalendar::setFirstDayOfWeek() - Set the day on which the week is deemed to start

IntlCalendar::getErrorMessage
IntlCalendar::getGreatestMinimum
IntlCalendar


Get the largest local minimum value for a field

IntlCalendar::getFirstDayOfWeek
IntlCalendar::getKeywordValuesForLocale
IntlCalendar
PHP Manual

IntlCalendar::getGreatestMinimum

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::getGreatestMinimum — Get the largest local minimum value for a field

Descripción

public int IntlCalendar::getGreatestMinimum ( int $field )

Returns the largest local minimum for a field. This should be a value larger or equal to that returned by IntlCalendar::getActualMinimum(), which is in its turn larger or equal to that returned by IntlCalendar::getMinimum(). All these three functions return the same value for the Gregorian calendar.

Parámetros

field

Una de las constantes del campo fecha/hora de IntlCalendar. Son valores de tipo integer entre 0 y IntlCalendar::FIELD_COUNT.

Valores devueltos

An int representing a field value, in the fieldʼs unit, o FALSE en caso de error.

IntlCalendar::getFirstDayOfWeek
IntlCalendar::getKeywordValuesForLocale
IntlCalendar


Get set of locale keyword values

IntlCalendar::getGreatestMinimum
IntlCalendar::getLeastMaximum
IntlCalendar
PHP Manual

IntlCalendar::getKeywordValuesForLocale

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::getKeywordValuesForLocale — Get set of locale keyword values

Descripción

public static Iterator IntlCalendar::getKeywordValuesForLocale ( string $key , string $locale , boolean $commonlyUsed )

For a given locale key, get the set of values for that key that would result in a different behavior. For now, only the 'calendar' keyword is supported.

Parámetros

key

The locale keyword for which relevant values are to be queried. Only 'calendar' is supported.

locale

The locale onto which the keyword/value pair are to be appended.

commonlyUsed

Whether to show only the values commonly used for the specified locale.

Valores devueltos

An iterator that yields strings with the locale keyword values o FALSE en caso de error.

Ejemplos

Ejemplo #1 IntlCalendar::getKeyworkValuesForLocale()

<?php
print_r(
        iterator_to_array(
                IntlCalendar::getKeywordValuesForLocale(
                        'calendar', 'fa_IR', true)));
print_r(
        iterator_to_array(
                IntlCalendar::getKeywordValuesForLocale(
                        'calendar', 'fa_IR', false)));

El resultado del ejemplo sería:

Array
(
    [0] => persian
    [1] => gregorian
    [2] => islamic
    [3] => islamic-civil
)
Array
(
    [0] => persian
    [1] => gregorian
    [2] => islamic
    [3] => islamic-civil
    [4] => japanese
    [5] => buddhist
    [6] => roc
    [7] => hebrew
    [8] => chinese
    [9] => indian
    [10] => coptic
    [11] => ethiopic
    [12] => ethiopic-amete-alem
)

IntlCalendar::getGreatestMinimum
IntlCalendar::getLeastMaximum
IntlCalendar


Get the smallest local maximum for a field

IntlCalendar::getKeywordValuesForLocale
IntlCalendar::getLocale
IntlCalendar
PHP Manual

IntlCalendar::getLeastMaximum

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::getLeastMaximum — Get the smallest local maximum for a field

Descripción

public int IntlCalendar::getLeastMaximum ( int $field )

Returns the smallest local maximumw for a field. This should be a value smaller or equal to that returned by IntlCalendar::getActualMaxmimum(), which is in its turn smaller or equal to that returned by IntlCalendar::getMaximum().

Parámetros

field

Una de las constantes del campo fecha/hora de IntlCalendar. Son valores de tipo integer entre 0 y IntlCalendar::FIELD_COUNT.

Valores devueltos

An int representing a field value in the fieldʼs unit o FALSE en caso de error.

Ejemplos

Ejemplo #1 Maxima examples

<?php
ini_set('date.timezone', 'UTC');
ini_set('intl.default_locale', 'it_IT');

$cal = new IntlGregorianCalendar(2013, 3 /* April */, 6);
var_dump(
    $cal->getLeastMaximum(IntlCalendar::FIELD_DAY_OF_MONTH),  // 28
    $cal->getActualMaximum(IntlCalendar::FIELD_DAY_OF_MONTH), // 30
    $cal->getMaximum(IntlCalendar::FIELD_DAY_OF_MONTH)        // 31
);

El resultado del ejemplo sería:

int(28)
int(30)
int(31)

Ver también

  • IntlCalendar::getActualMaximum() - The maximum value for a field, considering the objectʼs current time
  • IntlCalendar::getMaximum() - Get the global maximum value for a field
  • IntlCalendar::getGreatestMinimum() - Get the largest local minimum value for a field

IntlCalendar::getKeywordValuesForLocale
IntlCalendar::getLocale
IntlCalendar


Get the locale associated with the object

IntlCalendar::getLeastMaximum
IntlCalendar::getMaximum
IntlCalendar
PHP Manual

IntlCalendar::getLocale

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::getLocale — Get the locale associated with the object

Descripción

public string IntlCalendar::getLocale ( int $localeType )

Returns the locale used by this calendar object.

Parámetros

localeType

Whether to fetch the actual locale (the locale from which the calendar data originates, with Locale::ACTUAL_LOCALE) or the valid locale, i.e., the most specific locale supported by ICU relatively to the requested locale – see Locale::VALID_LOCALE. From the most general to the most specific, the locales are ordered in this fashion – actual locale, valid locale, requested locale.

Valores devueltos

A locale string o FALSE en caso de error.

Ejemplos

Ejemplo #1 IntlCalendar::getLocale()

<?php
$cal = IntlCalendar::createInstance(IntlTimeZone::getGMT(), 'en_US_CALIFORNIA');
var_dump(
    $cal->getLocale(Locale::ACTUAL_LOCALE),
    $cal->getLocale(Locale::VALID_LOCALE)
);

El resultado del ejemplo sería:

string(2) "en"
string(5) "en_US"

IntlCalendar::getLeastMaximum
IntlCalendar::getMaximum
IntlCalendar


Get the global maximum value for a field

IntlCalendar::getLocale
IntlCalendar::getMinimalDaysInFirstWeek
IntlCalendar
PHP Manual

IntlCalendar::getMaximum

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::getMaximum — Get the global maximum value for a field

Descripción

public int IntlCalendar::getMaximum ( int $field )

Gets the global maximum for a field, in this specific calendar. This value is larger or equal to that returned by IntlCalendar::getActualMaximum(), which is in its turn larger or equal to that returned by IntlCalendar::getLeastMaximum().

Parámetros

field

Una de las constantes del campo fecha/hora de IntlCalendar. Son valores de tipo integer entre 0 y IntlCalendar::FIELD_COUNT.

Valores devueltos

An int representing a field value in the fieldʼs unit o FALSE en caso de error.

Ver también

  • IntlCalendar::getActualMaximum() - The maximum value for a field, considering the objectʼs current time
  • IntlCalendar::getLeastMaximum() - Get the smallest local maximum for a field
  • IntlCalendar::getMinimum() - Get the global minimum value for a field

IntlCalendar::getLocale
IntlCalendar::getMinimalDaysInFirstWeek
IntlCalendar


Get minimal number of days the first week in a year or month can have

IntlCalendar::getMaximum
IntlCalendar::getMinimum
IntlCalendar
PHP Manual

IntlCalendar::getMinimalDaysInFirstWeek

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::getMinimalDaysInFirstWeek — Get minimal number of days the first week in a year or month can have

Descripción

public int IntlCalendar::getMinimalDaysInFirstWeek ( void )

Returns the smallest number of days the first week of a year or month must have in the new year or month. For instance, in the Gregorian calendar, if this value is 1, then the first week of the year will necessarily include January 1st, while if this value is 7, then the week with January 1st will be the first week of the year only if the day of the week for January 1st matches the day of the week returned by IntlCalendar::getFirstDayOfWeek(); otherwise it will be the previous yearʼs last week.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

An int representing a number of days o FALSE en caso de error.

Ejemplos

Ejemplo #1 IntlCalendar::getMinimalDaysInFirstWeek()

<?php
ini_set('date.timezone', 'UTC');
ini_set('intl.default_locale', 'en_US');

$cal = new IntlGregorianCalendar(2013, 0 /* January */, 2);
var_dump(IntlDateFormatter::formatObject($cal, 'cccc')); // Wednesday

var_dump($cal->getMinimalDaysInFirstWeek(), // 1
$cal->getFirstDayofWeek()); // 1 (Sunday)

// Week 1 of 2013
var_dump(IntlDateFormatter::formatObject($cal, "'Week 'w' of 'Y"));

$cal->setMinimalDaysInFirstWeek(4);
// Still Week 1 of 2013 (1st week has 5 days in the new year)
var_dump(IntlDateFormatter::formatObject($cal, "'Week 'w' of 'Y"));

$cal->setMinimalDaysInFirstWeek(6);
// Week 53 of 2012
var_dump(IntlDateFormatter::formatObject($cal, "'Week 'w' of 'Y"));

El resultado del ejemplo sería:

string(9) "Wednesday"
int(1)
int(1)
string(14) "Week 1 of 2013"
string(14) "Week 1 of 2013"
string(15) "Week 53 of 2012"

IntlCalendar::getMaximum
IntlCalendar::getMinimum
IntlCalendar


Get the global minimum value for a field

IntlCalendar::getMinimalDaysInFirstWeek
IntlCalendar::getNow
IntlCalendar
PHP Manual

IntlCalendar::getMinimum

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::getMinimum — Get the global minimum value for a field

Descripción

public int IntlCalendar::getMinimum ( int $field )

Gets the global minimum for a field, in this specific calendar. This value is smaller or equal to that returned by IntlCalendar::getActualMinimum(), which is in its turn smaller or equal to that returned by IntlCalendar::getGreatestMinimum(). For the Gregorian calendar, these three functions always return the same value (for each field).

Parámetros

field

Una de las constantes del campo fecha/hora de IntlCalendar. Son valores de tipo integer entre 0 y IntlCalendar::FIELD_COUNT.

Valores devueltos

An int representing a value for the given field in the fieldʼs unit o FALSE en caso de error.

IntlCalendar::getMinimalDaysInFirstWeek
IntlCalendar::getNow
IntlCalendar


Get number representing the current time

IntlCalendar::getMinimum
IntlCalendar::getRepeatedWallTimeOption
IntlCalendar
PHP Manual

IntlCalendar::getNow

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::getNow — Get number representing the current time

Descripción

public static float IntlCalendar::getNow ( void )

The number of milliseconds that have passed since the reference date. This number is derived from the system time.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

A float representing a number of milliseconds since the epoch, not counting leap seconds.

Ejemplos

Ejemplo #1 IntlCalendar::getNow()

<?php
$formatter = IntlDateFormatter::create('es_ES',
        IntlDateFormatter::FULL,
        IntlDateFormatter::FULL,
        'Europe/Madrid');

$val = IntlCalendar::getNow();

var_dump($val);
echo $formatter->format(IntlCalendar::getNow() / 1000.), "\n";

El resultado del ejemplo sería:

float(1371425814666)
lunes, 17 de junio de 2013 01:36:54 Hora de verano de Europa central

IntlCalendar::getMinimum
IntlCalendar::getRepeatedWallTimeOption
IntlCalendar


Get behavior for handling repeating wall time

IntlCalendar::getNow
IntlCalendar::getSkippedWallTimeOption
IntlCalendar
PHP Manual

IntlCalendar::getRepeatedWallTimeOption

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::getRepeatedWallTimeOption — Get behavior for handling repeating wall time

Descripción

public int IntlCalendar::getRepeatedWallTimeOption ( void )

Gets the current strategy for dealing with wall times that are repeated whenever the clock is set back during dailight saving time end transitions. The default value is IntlCalendar::WALLTIME_LAST.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

One of the constants IntlCalendar::WALLTIME_FIRST or IntlCalendar::WALLTIME_LAST.

Ejemplos

Ejemplo #1 IntlCalendar::getRepeatedWallTimeOption()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'en_US');
ini_set('intl.error_level', E_WARNING);

//On October 27th at 0200, the clock goes back 1 hour and from GMT+01 to GMT+00
$cal = new IntlGregorianCalendar(2013, 9 /* October */, 27, 1, 30);

var_dump($cal->getRepeatedWalltimeOption()); // 0 WALLTIME_LAST

$formatter = IntlDateFormatter::create(
    NULL,
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'UTC'
);
var_dump($formatter->format($cal->getTime() / 1000.));

$cal->setRepeatedWalltimeOption(IntlCalendar::WALLTIME_FIRST);
var_dump($cal->getRepeatedWalltimeOption()); // 1 WALLTIME_FIRST
$cal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 1);

var_dump($formatter->format($cal->getTime() / 1000.));

El resultado del ejemplo sería:

int(0)
string(42) "Sunday, October 27, 2013 at 1:30:00 AM GMT"
int(1)
string(43) "Sunday, October 27, 2013 at 12:30:00 AM GMT"

Ver también

  • IntlCalendar::getSkippedWallTimeOption() - Get behavior for handling skipped wall time
  • IntlCalendar::setSkippedWallTimeOption() - Set behavior for handling skipped wall times at positive timezone offset transitions
  • IntlCalendar::setRepeatedWallTimeOption() - Set behavior for handling repeating wall times at negative timezone offset transitions

IntlCalendar::getNow
IntlCalendar::getSkippedWallTimeOption
IntlCalendar


Get behavior for handling skipped wall time

IntlCalendar::getRepeatedWallTimeOption
IntlCalendar::getTime
IntlCalendar
PHP Manual

IntlCalendar::getSkippedWallTimeOption

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::getSkippedWallTimeOption — Get behavior for handling skipped wall time

Descripción

public int IntlCalendar::getSkippedWallTimeOption ( void )

Gets the current strategy for dealing with wall times that are skipped whenever the clock is forwarded during dailight saving time start transitions. The default value is IntlCalendar::WALLTIME_LAST.

The calendar must be lenient for this option to have any effect, otherwise attempting to set a non-existing time will cause an error.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

One of the constants IntlCalendar::WALLTIME_FIRST,
IntlCalendar::WALLTIME_LAST or
IntlCalendar::WALLTIME_NEXT_VALID.

Ejemplos

Ejemplo #1 IntlCalendar::getSkippedWallTimeOption()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'en_US');
ini_set('intl.error_level', E_WARNING);

//On March 31st at 0100, the clock goes forward 1 hour and from GMT+00 to GMT+01
$cal = new IntlGregorianCalendar(2013, 2 /* March */, 31, 1, 30);

var_dump(
    $cal->isLenient(),               // true
    $cal->getSkippedWalltimeOption() // 0 WALLTIME_LAST
);

$formatter = IntlDateFormatter::create(
    NULL,
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'UTC'
);
var_dump($formatter->format($cal->getTime() / 1000));

$cal->setSkippedWallTimeOption(IntlCalendar::WALLTIME_FIRST);
var_dump($cal->getSkippedWalltimeOption()); // 1 WALLTIME_FIRST
$cal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 1);

var_dump($formatter->format($cal->getTime() / 1000));

$cal->setSkippedWallTimeOption(IntlCalendar::WALLTIME_NEXT_VALID);
var_dump($cal->getSkippedWalltimeOption()); // 2 WALLTIME_NEXT_VALID
$cal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 1);

var_dump($formatter->format($cal->getTime() / 1000));

El resultado del ejemplo sería:

bool(true)
int(0)
string(40) "Sunday, March 31, 2013 at 1:30:00 AM GMT"
int(1)
string(41) "Sunday, March 31, 2013 at 12:30:00 AM GMT"
int(2)
string(40) "Sunday, March 31, 2013 at 1:00:00 AM GMT"

Ver también

  • IntlCalendar::getRepeatedWallTimeOption() - Get behavior for handling repeating wall time
  • IntlCalendar::setSkippedWallTimeOption() - Set behavior for handling skipped wall times at positive timezone offset transitions
  • IntlCalendar::setRepeatedWallTimeOption() - Set behavior for handling repeating wall times at negative timezone offset transitions

IntlCalendar::getRepeatedWallTimeOption
IntlCalendar::getTime
IntlCalendar


Get time currently represented by the object

IntlCalendar::getSkippedWallTimeOption
IntlCalendar::getTimeZone
IntlCalendar
PHP Manual

IntlCalendar::getTime

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::getTime — Get time currently represented by the object

Descripción

public float IntlCalendar::getTime ( void )

Returns the time associated with this object, expressed as the number of milliseconds since the epoch.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

A float representing the number of milliseconds elapsed since the reference time (1 Jan 1970 00:00:00 UTC).

Ejemplos

Ejemplo #1 IntlCalendar::getTime()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'en_US');

$cal = new IntlGregorianCalendar(2013, 4 /* May */, 1, 0, 0, 0);
$time = $cal->getTime();
var_dump($time, $time / 1000 == strtotime('2013-05-01 00:00:00')); //true

El resultado del ejemplo sería:

float(1367362800000)
bool(true)

Ver también

  • IntlCalendar::getNow() - Get number representing the current time

IntlCalendar::getSkippedWallTimeOption
IntlCalendar::getTimeZone
IntlCalendar


Get the objectʼs timezone

IntlCalendar::getTime
IntlCalendar::getType
IntlCalendar
PHP Manual

IntlCalendar::getTimeZone

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::getTimeZone — Get the objectʼs timezone

Descripción

public IntlTimeZone IntlCalendar::getTimeZone ( void )

Returns the IntlTimeZone object associated with this calendar.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

An IntlTimeZone object corresponding to the one used internally in this object.

Ejemplos

Ejemplo #1 IntlCalendar::getTimeZone()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'en_US');

$cal = IntlCalendar::createInstance();
print_r($cal->getTimeZone());

$cal->setTimeZone('UTC');
print_r($cal->getTimeZone());

$cal = IntlCalendar::fromDateTime('2012-01-01 00:00:00 GMT+03:33');
print_r($cal->getTimeZone());

El resultado del ejemplo sería:

IntlTimeZone Object
(
    [valid] => 1
    [id] => Europe/Lisbon
    [rawOffset] => 0
    [currentOffset] => 3600000
)
IntlTimeZone Object
(
    [valid] => 1
    [id] => UTC
    [rawOffset] => 0
    [currentOffset] => 0
)
IntlTimeZone Object
(
    [valid] => 1
    [id] => GMT+03:33
    [rawOffset] => 12780000
    [currentOffset] => 12780000
)

Ver también

  • IntlCalendar::setTimeZone() - Set the timezone used by this calendar
  • IntlCalendar::createInstance() - Create a new IntlCalendar
  • IntlGregorianCalendar::__construct()

IntlCalendar::getTime
IntlCalendar::getType
IntlCalendar


Get the calendar type

IntlCalendar::getTimeZone
IntlCalendar::getWeekendTransition
IntlCalendar
PHP Manual

IntlCalendar::getType

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::getType — Get the calendar type

Descripción

public string IntlCalendar::getType ( void )

A string describing the type of this calendar. This is one of the valid values for the calendar keyword value 'calendar'.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

A string representing the calendar type, such as 'gregorian', 'islamic', etc.

Ejemplos

Ejemplo #1 IntlCalendar::getType()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'en_US');

$cal = IntlCalendar::createInstance(NULL, '@calendar=ethiopic-amete-alem');
var_dump($cal->getType());

$cal = new IntlGregorianCalendar();
var_dump($cal->getType());

El resultado del ejemplo sería:

string(19) "ethiopic-amete-alem"
string(9) "gregorian"

IntlCalendar::getTimeZone
IntlCalendar::getWeekendTransition
IntlCalendar


Get time of the day at which weekend begins or ends

IntlCalendar::getType
IntlCalendar::inDaylightTime
IntlCalendar
PHP Manual

IntlCalendar::getWeekendTransition

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::getWeekendTransition — Get time of the day at which weekend begins or ends

Descripción

public int IntlCalendar::getWeekendTransition ( string $dayOfWeek )

Returns the number of milliseconds after midnight at which the weekend begins or ends.

This is only applicable for days of the week for which
 IntlCalendar::getDayOfWeekType() returns either
IntlCalendar::DOW_TYPE_WEEKEND_OFFSET or
IntlCalendar::DOW_TYPE_WEEKEND_CEASE. Calling this
function for other days of the week is an error condition.

Parámetros

dayOfWeek

One of the constants IntlCalendar::DOW_SUNDAY,
IntlCalendar::DOW_MONDAY, …,
IntlCalendar::DOW_SATURDAY.

Valores devueltos

The number of milliseconds into the day at which the the weekend begins or ends o FALSE en caso de error.

Ejemplos

See example on IntlCalendar::getDayOfWeekType().

IntlCalendar::getType
IntlCalendar::inDaylightTime
IntlCalendar


Whether the objectʼs time is in Daylight Savings Time

IntlCalendar::getWeekendTransition
IntlCalendar::isEquivalentTo
IntlCalendar
PHP Manual

IntlCalendar::inDaylightTime

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::inDaylightTime — Whether the objectʼs time is in Daylight Savings Time

Descripción

public bool IntlCalendar::inDaylightTime ( void )

Whether, for the instant represented by this object and for this objectʼs timezone, daylight saving time is in place.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns TRUE if the date is in Daylight Savings Time, FALSE otherwise. The value FALSE may also be returned on failure, for instance after specifying invalid field values on non-lenient mode; use exceptions or query intl_get_error_code() to disambiguate.

Ejemplos

Ejemplo #1 IntlCalendar::inDaylightTime()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'pt_PT');

$cal = new IntlGregorianCalendar(2013, 6 /* July */, 1, 4, 56, 31);
var_dump($cal->inDaylightTime()); // true
$cal->set(IntlCalendar::FIELD_MONTH, 11 /* December */);
var_dump($cal->inDaylightTime()); // false

//DST end transition on 2013-10-27 at 0200 (wall time back 1 hour)
$cal = new IntlGregorianCalendar(2013, 9 /* October */, 27, 1, 30, 0);

var_dump($cal->inDaylightTime()); // false (default WALLTIME_LAST)

$cal->setRepeatedWallTimeOption(IntlCalendar::WALLTIME_FIRST);
$cal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 1); // force time recalculation
var_dump($cal->inDaylightTime()); // true

IntlCalendar::getWeekendTransition
IntlCalendar::isEquivalentTo
IntlCalendar


Whether another calendar is equal but for a different time

IntlCalendar::inDaylightTime
IntlCalendar::isLenient
IntlCalendar
PHP Manual

IntlCalendar::isEquivalentTo

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::isEquivalentTo — Whether another calendar is equal but for a different time

Descripción

public bool IntlCalendar::isEquivalentTo ( IntlCalendar $calendar )

Returns whether this and the given object are equivalent for all purposes except as to the time they have set. The locales do not have to match, as long as no change in behavior results from such mismatch. This includes the timezone, whether the lenient mode is set, the repeated and skipped wall time settings, the days of the week when the weekend starts and ceases and the times where such transitions occur. It may also include other calendar specific settings, such as the Gregorian/Julian transition instant.

Parámetros

calendar

The other calendar against which the comparison is to be made.

Valores devueltos

Assuming there are no argument errors, returns TRUE iif the calendars are equivalent except possibly for their set time.

Ejemplos

Ejemplo #1 IntlCalendar::isEquivalentTo()

<?php
$cal1 = IntlCalendar::createInstance('Europe/Lisbon', 'pt_PT');
$cal2 = IntlCalendar::createInstance('Europe/Lisbon', 'es_ES');
$cal2->clear();

var_dump($cal1->isEquivalentTo($cal2)); // true

$cal3 = IntlCalendar::createInstance('Europe/Lisbon', 'en_US');
var_dump($cal1->isEquivalentTo($cal3)); // false
var_dump($cal1->getFirstDayOfWeek(),    // 2 (Monday)
$cal3->getFirstDayOfWeek());            // 1 (Sunday)

El resultado del ejemplo sería:

bool(true)
bool(false)
int(2)
int(1)

Ver también

  • IntlCalendar::equals() - Compare time of two IntlCalendar objects for equality

IntlCalendar::inDaylightTime
IntlCalendar::isLenient
IntlCalendar


Whether date/time interpretation is in lenient mode

IntlCalendar::isEquivalentTo
IntlCalendar::isSet
IntlCalendar
PHP Manual

IntlCalendar::isLenient

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::isLenient — Whether date/time interpretation is in lenient mode

Descripción

public bool IntlCalendar::isLenient ( void )

Returns whether the current date/time interpretations is lenient (the default). If that is case, some out of range values for fields will be accepted instead of raising an error.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

A bool representing whether the calendar is set to lenient mode.

Ejemplos

Ejemplo #1 IntlCalendar::isLenient()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'pt_PT');
ini_set('intl.use_exceptions', '1');

$cal = new IntlGregorianCalendar(2013, 6 /* July */, 1);
var_dump(IntlDateFormatter::formatObject($cal), // 01/07/2013, 00:00:00
$cal->isLenient()); // true

$cal->set(IntlCalendar::FIELD_DAY_OF_MONTH, 33);
var_dump(IntlDateFormatter::formatObject($cal)); // 02/08/2013, 00:00:00

$cal->setLenient(false);
var_dump($cal->isLenient()); // false
$cal->set(IntlCalendar::FIELD_DAY_OF_MONTH, 33);
var_dump(IntlDateFormatter::formatObject($cal)); // error

El resultado del ejemplo sería:

string(20) "01/07/2013, 00:00:00"
bool(true)
string(20) "02/08/2013, 00:00:00"
bool(false)

Fatal error: Uncaught exception 'IntlException' with message 'datefmt_format_object: error obtaining instant from IntlCalendar' in /home/foobar/example.php:16
Stack trace:
#0 /home/foobar/example.php(16): IntlDateFormatter::formatObject(Object(IntlGregorianCalendar))
#1 {main}
  thrown in /home/foobar/example.php on line 16

IntlCalendar::isEquivalentTo
IntlCalendar::isSet
IntlCalendar


Whether a field is set

IntlCalendar::isLenient
IntlCalendar::isWeekend
IntlCalendar
PHP Manual

IntlCalendar::isSet

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::isSet — Whether a field is set

Descripción

public bool IntlCalendar::isSet ( int $field )

Returns whether a field is set (as opposed to clear). Set fields take priority over unset fields and their default values when the date/time is being calculated. Fields set later take priority over fields set earlier.

Parámetros

field

Una de las constantes del campo fecha/hora de IntlCalendar. Son valores de tipo integer entre 0 y IntlCalendar::FIELD_COUNT.

Valores devueltos

Assuming there are no argument errors, returns TRUE iif the field is set.

Ejemplos

See the example on IntlCalendar::clear().

Ver también

  • IntlCalendar::clear() - Clear a field or all fields
  • IntlCalendar::set() - Set a time field or several common fields at once

IntlCalendar::isLenient
IntlCalendar::isWeekend
IntlCalendar


Whether a certain date/time is in the weekend

IntlCalendar::isSet
IntlCalendar::roll
IntlCalendar
PHP Manual

IntlCalendar::isWeekend

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::isWeekend — Whether a certain date/time is in the weekend

Descripción

public bool IntlCalendar::isWeekend ([ float $date = NULL ] )

Returns whether either the obejctʼs current time or the provided timestamp occur during a weekend in this objectʼs calendar system.

Parámetros

date

An optional timestamp representing the number of milliseconds since the epoch, excluding leap seconds. If NULL, this objectʼs current time is used instead.

Valores devueltos

A bool indicating whether the given or this objectʼs time occurs in a weekend.

The value FALSE may also be returned on failure, for instance after giving a date out of bounds on non-lenient mode; use exceptions or query intl_get_error_code() to disambiguate.

Ejemplos

Ejemplo #1 IntlCalendar::isWeekend()

<?php
ini_set('date.timezone', 'Europe/Lisbon');

$cal = new IntlGregorianCalendar(NULL, 'en_US');
$cal->set(2013, 6 /* July */, 7); // a Sunday

var_dump($cal->isWeekend()); // true
var_dump($cal->isWeekend(strtotime('2013-07-01 00:00:00'))); // false, Monday

$cal = new IntlGregorianCalendar(NULL, 'ar_SA');
$cal->set(2013, 6 /* July */, 7); // a Sunday
var_dump($cal->isWeekend()); // false, Sunday not in weekend in this calendar

Ver también

  • IntlCalendar::getDayOfWeekType() - Tell whether a day is a weekday, weekend or a day that has a transition between the two
  • IntlCalendar::getWeekendTransition() - Get time of the day at which weekend begins or ends

IntlCalendar::isSet
IntlCalendar::roll
IntlCalendar


Add value to field without carrying into more significant fields

IntlCalendar::isWeekend
IntlCalendar::set
IntlCalendar
PHP Manual

IntlCalendar::roll

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::roll — Add value to field without carrying into more significant fields

Descripción

public bool IntlCalendar::roll ( int $field , mixed $amountOrUpOrDown )

Adds a (signed) amount to a field. The difference with respect to IntlCalendar::add() is that when the field value overflows, it does not carry into more significant fields.

Parámetros

field

Una de las constantes del campo fecha/hora de IntlCalendar. Son valores de tipo integer entre 0 y IntlCalendar::FIELD_COUNT.

amountOrUpOrDown

The (signed) amount to add to the field, TRUE for rolling up (adding 1), or FALSE for rolling down (subtracting 1).

Valores devueltos

Returns TRUE on success or FALSE on failure.

Ejemplos

Ejemplo #1 IntlCalendar::roll()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'pt_PT');

$cal = new IntlGregorianCalendar(2013, 5 /* June */, 30);

$cal->add(IntlCalendar::FIELD_DAY_OF_MONTH, 1);
var_dump(IntlDateFormatter::formatObject($cal)); // "01/07/2013, 00:00:00"

$cal->set(2013, 5 /* June */, 30);
$cal->roll(IntlCalendar::FIELD_DAY_OF_MONTH, true); // roll up, same as rolling +1
var_dump(IntlDateFormatter::formatObject($cal)); // "01/06/2013, 00:00:00"

El resultado del ejemplo sería:

string(20) "01/07/2013, 00:00:00"
string(20) "01/06/2013, 00:00:00"

Ver también

  • IntlCalendar::add() - Add a (signed) amount of time to a field
  • IntlCalendar::set() - Set a time field or several common fields at once

IntlCalendar::isWeekend
IntlCalendar::set
IntlCalendar


Set a time field or several common fields at once

IntlCalendar::roll
IntlCalendar::setFirstDayOfWeek
IntlCalendar
PHP Manual

IntlCalendar::set

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::set — Set a time field or several common fields at once

Descripción

public bool IntlCalendar::set ( int $field , int $value )
public bool IntlCalendar::set ( int $year , int $month [, int $dayOfMonth = NULL [, int $hour = NULL [, int $minute = NULL [, int $second = NULL ]]]] )

Sets either a specific field to the given value, or sets at once several common fields. The range of values that are accepted depend on whether the calendar is using the lenient mode.

For fields that conflict, the fields that are set later have priority.

This method cannot be called with exactly four arguments.

Parámetros

field

Una de las constantes del campo fecha/hora de IntlCalendar. Son valores de tipo integer entre 0 y IntlCalendar::FIELD_COUNT.

value

The new value of the given field.

year

The new value for IntlCalendar::FIELD_YEAR.

month

The new value for IntlCalendar::FIELD_MONTH.

dayOfMonth

The new value for IntlCalendar::FIELD_DAY_OF_MONTH. The month sequence is zero-based, i.e., January is represented by 0, February by 1, …, December is 11 and Undecember (if the calendar has it) is 12.

hour

The new value for IntlCalendar::FIELD_HOUR_OF_DAY.

minute

The new value for IntlCalendar::FIELD_MINUTE.

second

The new value for IntlCalendar::FIELD_SECOND.

Valores devueltos

Returns TRUE on success and FALSE on failure.

Ejemplos

Ejemplo #1 IntlCalendar::set()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'pt_PT');

//Calls made later have priority
$cal = new IntlGregorianCalendar(2013, 6 /* July */, 1);
$cal->set(IntlCalendar::FIELD_YEAR, 2012);
$cal->set(IntlCalendar::FIELD_EXTENDED_YEAR, 2011);
var_dump(IntlDateFormatter::formatObject($cal));

$cal = new IntlGregorianCalendar(2013, 6 /* July */, 1);
$cal->set(IntlCalendar::FIELD_YEAR, 2012);
$cal->set(IntlCalendar::FIELD_EXTENDED_YEAR, 2011);
//the time has not been recalculated yet. If we clear the extended year,
//the year set before will be used
$cal->clear(IntlCalendar::FIELD_EXTENDED_YEAR);
var_dump(IntlDateFormatter::formatObject($cal));

El resultado del ejemplo sería:

string(20) "01/07/2011, 00:00:00"
string(20) "01/07/2012, 00:00:00"

Ver también

  • IntlCalendar::get() - Get the value for a field
  • IntlCalendar::add() - Add a (signed) amount of time to a field
  • IntlCalendar::roll() - Add value to field without carrying into more significant fields

IntlCalendar::roll
IntlCalendar::setFirstDayOfWeek
IntlCalendar


Set the day on which the week is deemed to start

IntlCalendar::set
IntlCalendar::setLenient
IntlCalendar
PHP Manual

IntlCalendar::setFirstDayOfWeek

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::setFirstDayOfWeek — Set the day on which the week is deemed to start

Descripción

public bool IntlCalendar::setFirstDayOfWeek ( int $dayOfWeek )

Defines the day of week deemed to start the week. This affects the behavior of fields that depend on the concept of week start and end such as IntlCalendar::FIELD_WEEK_OF_YEAR and IntlCalendar::FIELD_YEAR_WOY.

Parámetros

dayOfWeek

One of the constants IntlCalendar::DOW_SUNDAY,
IntlCalendar::DOW_MONDAY, …,
IntlCalendar::DOW_SATURDAY.

Valores devueltos

Returns TRUE on success. Failure can only happen due to invalid parameters.

Ejemplos

Ejemplo #1 IntlCalendar::setFirstDayOfWeek()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'es_ES');

$cal = IntlCalendar::createInstance();
$cal->set(2013, 5 /* June */, 30); // A Sunday

var_dump($cal->getFirstDayOfWeek()); // 2 (Monday)

echo IntlDateFormatter::formatObject($cal, <<<EOD
'local day of week: 'cc'
week of month    : 'W'
week of year     : 'ww
EOD
), "\n";

$cal->setFirstDayOfWeek(IntlCalendar::DOW_SUNDAY);

echo IntlDateFormatter::formatObject($cal, <<<EOD
'local day of week: 'cc'
week of month    : 'W'
week of year     : 'ww
EOD
), "\n";

El resultado del ejemplo sería:

int(2)
local day of week: 7
week of month    : 4
week of year     : 26
local day of week: 1
week of month    : 5
week of year     : 27

IntlCalendar::set
IntlCalendar::setLenient
IntlCalendar


Set whether date/time interpretation is to be lenient

IntlCalendar::setFirstDayOfWeek
IntlCalendar::setRepeatedWallTimeOption
IntlCalendar
PHP Manual

IntlCalendar::setLenient

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::setLenient — Set whether date/time interpretation is to be lenient

Descripción

public ReturnType IntlCalendar::setLenient ( string $isLenient )

Defines whether the calendar is ‘lenient mode’. In such a mode, some of out-of-bounds values for some fields are accepted, the behavior being similar to that of IntlCalendar::add() (i.e., the value wraps around, carrying into more significant fields each time). If the lenient mode is off, then such values will generate an error.

Parámetros

isLenient

Use TRUE to activate the lenient mode; FALSE otherwise.

Valores devueltos

Returns TRUE on success. Failure can only happen due to invalid parameters.

Ejemplos

See the example in IntlCalendar::isLenient().

IntlCalendar::setFirstDayOfWeek
IntlCalendar::setRepeatedWallTimeOption
IntlCalendar


Set behavior for handling repeating wall times at negative timezone offset transitions

IntlCalendar::setLenient
IntlCalendar::setSkippedWallTimeOption
IntlCalendar
PHP Manual

IntlCalendar::setRepeatedWallTimeOption

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::setRepeatedWallTimeOption — Set behavior for handling repeating wall times at negative timezone offset transitions

Descripción

public bool IntlCalendar::setRepeatedWallTimeOption ( int $wallTimeOption )

Sets the current strategy for dealing with wall times that are repeated whenever the clock is set back during dailight saving time end transitions. The default value is IntlCalendar::WALLTIME_LAST (take the post-DST instant). The other possible value is IntlCalendar::WALLTIME_FIRST (take the instant that occurs during DST).

Parámetros

wallTimeOption

One of the constants IntlCalendar::WALLTIME_FIRST or IntlCalendar::WALLTIME_LAST.

Valores devueltos

Returns TRUE on success. Failure can only happen due to invalid parameters.

Ejemplos

See the example on IntlCalendar::getRepeatedWallTimeOption().

Ver también

  • intlCalendar::getRepeatedWallTimeOption() - Get behavior for handling repeating wall time
  • intlCalendar::setSkippedWallTimeOption() - Set behavior for handling skipped wall times at positive timezone offset transitions
  • intlCalendar::getSkippedWallTimeOption() - Get behavior for handling skipped wall time

IntlCalendar::setLenient
IntlCalendar::setSkippedWallTimeOption
IntlCalendar


Set behavior for handling skipped wall times at positive timezone offset transitions

IntlCalendar::setRepeatedWallTimeOption
IntlCalendar::setTime
IntlCalendar
PHP Manual

IntlCalendar::setSkippedWallTimeOption

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::setSkippedWallTimeOption — Set behavior for handling skipped wall times at positive timezone offset transitions

Descripción

public bool IntlCalendar::setSkippedWallTimeOption ( int $wallTimeOption )

Sets the current strategy for dealing with wall times that are skipped whenever the clock is forwarded during dailight saving time start transitions. The default value is IntlCalendar::WALLTIME_LAST (take it as being the same instant as the one when the wall time is one hour more). Alternative values are IntlCalendar::WALLTIME_FIRST (same instant as the one with a wall time of one hour less) and IntlCalendar::WALLTIME_NEXT_VALID (same instant as when DST begins).

This affects only the instant represented by the calendar (as reported by IntlCalendar::getTime()), the field values will not be rewritten accordingly.

The calendar must be lenient for this option to have any effect, otherwise attempting to set a non-existing time will cause an error.

Parámetros

wallTimeOption

One of the constants IntlCalendar::WALLTIME_FIRST,
IntlCalendar::WALLTIME_LAST or
IntlCalendar::WALLTIME_NEXT_VALID.

Valores devueltos

Returns TRUE on success. Failure can only happen due to invalid parameters.

Ejemplos

See the example on IntlCalendar::getSkippedWallTimeOption().

Ver también

  • intlCalendar::getSkippedWallTimeOption() - Get behavior for handling skipped wall time
  • intlCalendar::setRepeatedWallTimeOption() - Set behavior for handling repeating wall times at negative timezone offset transitions
  • intlCalendar::getRepeatedWallTimeOption() - Get behavior for handling repeating wall time

IntlCalendar::setRepeatedWallTimeOption
IntlCalendar::setTime
IntlCalendar


Set the calendar time in milliseconds since the epoch

IntlCalendar::setSkippedWallTimeOption
IntlCalendar::setTimeZone
IntlCalendar
PHP Manual

IntlCalendar::setTime

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::setTime — Set the calendar time in milliseconds since the epoch

Descripción

public bool IntlCalendar::setTime ( float $date )

Sets the instant represented by this object. The instant is represented by a float whose value should be an integer number of milliseconds since the epoch (1 Jan 1970 00:00:00.000 UTC), ignoring leap seconds. All the field values will be recalculated accordingly.

Parámetros

date

An instant represented by the number of number of milliseconds between such instant and the epoch, ignoring leap seconds.

Valores devueltos

Returns TRUE on success and FALSE on failure.

Ejemplos

Ejemplo #1 IntlCalendar::setTime()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'fr_FR');

$cal = new IntlGregorianCalendar(2013, 5 /* May */, 1, 12, 0, 0);

echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";

/* In Europe/Lisbon, on 2013-10-27 at 0200, the clock goes back one hour and
   the timezone from UTC+01 to UTC+00 */

$cal->setTime(strtotime('2013-10-27 00:30:00 UTC') * 1000.);

echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";

$cal->setTime(strtotime('2013-10-27 01:30:00 UTC') * 1000.);

echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";

El resultado del ejemplo sería:

samedi 1 juin 2013 12:00:00 heure avancée d’Europe de l’Ouest
dimanche 27 octobre 2013 01:30:00 heure avancée d’Europe de l’Ouest
dimanche 27 octobre 2013 01:30:00 heure normale d’Europe de l’Ouest

IntlCalendar::setSkippedWallTimeOption
IntlCalendar::setTimeZone
IntlCalendar


Set the timezone used by this calendar

IntlCalendar::setTime
IntlCalendar::toDateTime
IntlCalendar
PHP Manual

IntlCalendar::setTimeZone

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlCalendar::setTimeZone — Set the timezone used by this calendar

Descripción

public bool IntlCalendar::setTimeZone ( mixed $timeZone )

Defines a new timezone for this calendar. The time represented by the object is preserved to the detriment of the field values.

Parámetros

timeZone

The new timezone to be used by this calendar. It can be specified in the following ways:

  • NULL, en cuyo caso se usará la zona horaria predeterminada, tal como está especificada en el ajuste ini date.timezone o a través de la función date_default_timezone_set() y como es devuelto por date_default_timezone_get().

  • Un IntlTimeZone, que se usará directamente.

  • Un DateTimeZone. Su identificador será extraido y se creará un objeto de zona horaria de ICU; la zona horaria será proporcionada por la base de datos de ICU, no por la de PHP.

  • Un string, que debería ser un identificador de zona horaria de ICU válido. Véase IntlTimeZone::createTimeZoneIDEnumeration(). Los índices puros como "GMT+08:30" también se aceptan.

Valores devueltos

Returns TRUE on success and FALSE on failure.

Ejemplos

Ejemplo #1 IntlCalendar::setTimeZone()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'es_ES');

$cal = new IntlGregorianCalendar(2013, 5 /* May */, 1, 12, 0, 0);

echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";
echo "(instant {$cal->getTime()})\n";

$cal->setTimeZone(IntlTimeZone::getGMT());
echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";
echo "(instant {$cal->getTime()})\n";

$cal->setTimeZone('GMT+03:33');
echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";
echo "(instant {$cal->getTime()})\n";

El resultado del ejemplo sería:

sábado, 1 de junio de 2013 12:00:00 Hora de verano de Europa occidental
(instant 1370084400000)
sábado, 1 de junio de 2013 11:00:00 GMT
(instant 1370084400000)
sábado, 1 de junio de 2013 14:33:00 GMT+03:33
(instant 1370084400000)

IntlCalendar::setTime
IntlCalendar::toDateTime
IntlCalendar


Convert an IntlCalendar into a DateTime object

IntlCalendar::setTimeZone
IntlTimeZone
IntlCalendar
PHP Manual

IntlCalendar::toDateTime

(PHP 5.5.0, PECL >= 3.0.0a2)

IntlCalendar::toDateTime — Convert an IntlCalendar into a DateTime object

Descripción

public DateTime IntlCalendar::toDateTime ( void )

Create a DateTime object that represents the same instant (up to second precision, with a rounding error of less than 1 second) and has an analog timezone to this object (the difference being DateTimeʼs timezone will be backed by PHPʼs timezone while IntlCalendarʼs timezone is backed by ICUʼs).

Parámetros

Esta función no tiene parámetros.

Valores devueltos

A DateTime object with the same timezone as this object (though using PHPʼs database instead of ICUʼs) and the same time, except for the smaller precision (second precision instead of millisecond). Returns FALSE on failure.

Ejemplos

Ejemplo #1 IntlCalendar::toDateTime()

<?php
ini_set('date.timezone', 'UTC');
ini_set('intl.default_locale', 'pt_PT');

$cal = IntlCalendar::createInstance('Europe/Lisbon'); //current time

$dt = $cal->toDateTime();
print_r($dt);

El resultado del ejemplo sería:

DateTime Object
(
    [date] => 2013-07-02 00:29:13
    [timezone_type] => 3
    [timezone] => Europe/Lisbon
)

Ver también

  • IntlCalendar::fromDateTime() - Create an IntlCalendar from a DateTime object or string
  • IntlCalendar::getTime() - Get time currently represented by the object
  • IntlCalendar::createInstance() - Create a new IntlCalendar
  • DateTime:__construct()

IntlCalendar::setTimeZone
IntlTimeZone
IntlCalendar


La clase IntlTimeZone

(PHP 5.5.0, PECL >= 3.0.0a1)

Introducción

Sinopsis de la Clase

IntlTimeZone {
/* Constantes */
const integer DISPLAY_SHORT = 1 ;
const integer DISPLAY_LONG = 2 ;
/* Métodos */
public static integer countEquivalentIDs ( string $zoneId )
public static IntlTimeZone createDefault ( void )
public static IntlIterator createEnumeration ([ mixed $countryOrRawOffset ] )
public static IntlTimeZone createTimeZone ( string $zoneId )
public static IntlTimeZone fromDateTimeZone ( DateTimeZone $zoneId )
public static string getCanonicalID ( string $zoneId [, bool &$isSystemID ] )
public string getDisplayName ([ bool $isDaylight [, integer $style [, string $locale ]]] )
public integer getDSTSavings ( void )
public static string getEquivalentID ( string $zoneId , integer $index )
public integer getErrorCode ( void )
public string getErrorMessage ( void )
public static IntlTimeZone getGMT ( void )
public string getID ( void )
public integer getOffset ( float $date , bool $local , integer &$rawOffset , integer &$dstOffset )
public integer getRawOffset ( void )
public static string getTZDataVersion ( void )
public bool hasSameRules ( IntlTimeZone $otherTimeZone )
public DateTimeZone toDateTimeZone ( void )
public bool useDaylightTime ( void )
}

Constantes predefinidas

IntlTimeZone::DISPLAY_SHORT

IntlTimeZone::DISPLAY_LONG

Tabla de contenidos

  • IntlTimeZone::countEquivalentIDs — Get the number of IDs in the equivalency group that includes the given ID
  • IntlTimeZone::createDefault — Create a new copy of the default timezone for this host
  • IntlTimeZone::createEnumeration — Get an enumeration over time zone IDs associated with the given country or offset
  • IntlTimeZone::createTimeZone — Create a timezone object for the given ID
  • IntlTimeZone::fromDateTimeZone — Create a timezone object from DateTimeZone
  • IntlTimeZone::getCanonicalID — Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID
  • IntlTimeZone::getDisplayName — Get a name of this time zone suitable for presentation to the user
  • IntlTimeZone::getDSTSavings — Get the amount of time to be added to local standard time to get local wall clock time
  • IntlTimeZone::getEquivalentID — Get an ID in the equivalency group that includes the given ID
  • IntlTimeZone::getErrorCode — Get last error code on the object
  • IntlTimeZone::getErrorMessage — Get last error message on the object
  • IntlTimeZone::getGMT — Create GMT (UTC) timezone
  • IntlTimeZone::getID — Get timezone ID
  • IntlTimeZone::getOffset — Get the time zone raw and GMT offset for the given moment in time
  • IntlTimeZone::getRawOffset — Get the raw GMT offset (before taking daylight savings time into account
  • IntlTimeZone::getTZDataVersion — Get the timezone data version currently used by ICU
  • IntlTimeZone::hasSameRules — Check if this zone has the same rules and offset as another zone
  • IntlTimeZone::toDateTimeZone — Convert to DateTimeZone object
  • IntlTimeZone::useDaylightTime — Check if this time zone uses daylight savings time
IntlCalendar::toDateTime
IntlTimeZone::countEquivalentIDs
intl


Get the number of IDs in the equivalency group that includes the given ID

IntlTimeZone
IntlTimeZone::createDefault
IntlTimeZone
PHP Manual

IntlTimeZone::countEquivalentIDs

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlTimeZone::countEquivalentIDs — Get the number of IDs in the equivalency group that includes the given ID

Descripción

public static integer IntlTimeZone::countEquivalentIDs ( string $zoneId )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

zoneId

Valores devueltos

IntlTimeZone
IntlTimeZone::createDefault
IntlTimeZone


Create a new copy of the default timezone for this host

IntlTimeZone::countEquivalentIDs
IntlTimeZone::createEnumeration
IntlTimeZone
PHP Manual

IntlTimeZone::createDefault

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlTimeZone::createDefault — Create a new copy of the default timezone for this host

Descripción

public static IntlTimeZone IntlTimeZone::createDefault ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlTimeZone::countEquivalentIDs
IntlTimeZone::createEnumeration
IntlTimeZone


Get an enumeration over time zone IDs associated with the given country or offset

IntlTimeZone::createDefault
IntlTimeZone::createTimeZone
IntlTimeZone
PHP Manual

IntlTimeZone::createEnumeration

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlTimeZone::createEnumeration — Get an enumeration over time zone IDs associated with the given country or offset

Descripción

public static IntlIterator IntlTimeZone::createEnumeration ([ mixed $countryOrRawOffset ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

countryOrRawOffset

Valores devueltos

IntlTimeZone::createDefault
IntlTimeZone::createTimeZone
IntlTimeZone


Create a timezone object for the given ID

IntlTimeZone::createEnumeration
IntlTimeZone::fromDateTimeZone
IntlTimeZone
PHP Manual

IntlTimeZone::createTimeZone

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlTimeZone::createTimeZone — Create a timezone object for the given ID

Descripción

public static IntlTimeZone IntlTimeZone::createTimeZone ( string $zoneId )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

zoneId

Valores devueltos

IntlTimeZone::createEnumeration
IntlTimeZone::fromDateTimeZone
IntlTimeZone


Create a timezone object from DateTimeZone

IntlTimeZone::createTimeZone
IntlTimeZone::getCanonicalID
IntlTimeZone
PHP Manual

IntlTimeZone::fromDateTimeZone

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlTimeZone::fromDateTimeZone — Create a timezone object from DateTimeZone

Descripción

public static IntlTimeZone IntlTimeZone::fromDateTimeZone ( DateTimeZone $zoneId )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

zoneId

Valores devueltos

IntlTimeZone::createTimeZone
IntlTimeZone::getCanonicalID
IntlTimeZone


Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID

IntlTimeZone::fromDateTimeZone
IntlTimeZone::getDisplayName
IntlTimeZone
PHP Manual

IntlTimeZone::getCanonicalID

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlTimeZone::getCanonicalID — Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID

Descripción

public static string IntlTimeZone::getCanonicalID ( string $zoneId [, bool &$isSystemID ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

zoneId

isSystemID

Valores devueltos

IntlTimeZone::fromDateTimeZone
IntlTimeZone::getDisplayName
IntlTimeZone


Get a name of this time zone suitable for presentation to the user

IntlTimeZone::getCanonicalID
IntlTimeZone::getDSTSavings
IntlTimeZone
PHP Manual

IntlTimeZone::getDisplayName

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlTimeZone::getDisplayName — Get a name of this time zone suitable for presentation to the user

Descripción

public string IntlTimeZone::getDisplayName ([ bool $isDaylight [, integer $style [, string $locale ]]] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

isDaylight

style

locale

Valores devueltos

IntlTimeZone::getCanonicalID
IntlTimeZone::getDSTSavings
IntlTimeZone


Get the amount of time to be added to local standard time to get local wall clock time

IntlTimeZone::getDisplayName
IntlTimeZone::getEquivalentID
IntlTimeZone
PHP Manual

IntlTimeZone::getDSTSavings

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlTimeZone::getDSTSavings — Get the amount of time to be added to local standard time to get local wall clock time

Descripción

public integer IntlTimeZone::getDSTSavings ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlTimeZone::getDisplayName
IntlTimeZone::getEquivalentID
IntlTimeZone


Get an ID in the equivalency group that includes the given ID

IntlTimeZone::getDSTSavings
IntlTimeZone::getErrorCode
IntlTimeZone
PHP Manual

IntlTimeZone::getEquivalentID

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlTimeZone::getEquivalentID — Get an ID in the equivalency group that includes the given ID

Descripción

public static string IntlTimeZone::getEquivalentID ( string $zoneId , integer $index )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

zoneId

index

Valores devueltos

IntlTimeZone::getDSTSavings
IntlTimeZone::getErrorCode
IntlTimeZone


Get last error code on the object

IntlTimeZone::getEquivalentID
IntlTimeZone::getErrorMessage
IntlTimeZone
PHP Manual

IntlTimeZone::getErrorCode

intltz_get_error_code

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlTimeZone::getErrorCode -- intltz_get_error_code — Get last error code on the object

Descripción

Estilo orientado a objetos (method):

public integer IntlTimeZone::getErrorCode ( void )

Estilo por procedimientos:

integer intltz_get_error_code ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlTimeZone::getEquivalentID
IntlTimeZone::getErrorMessage
IntlTimeZone


Get last error message on the object

IntlTimeZone::getErrorCode
IntlTimeZone::getGMT
IntlTimeZone
PHP Manual

IntlTimeZone::getErrorMessage

intltz_get_error_message

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlTimeZone::getErrorMessage -- intltz_get_error_message — Get last error message on the object

Descripción

Estilo orientado a objetos (method):

public string IntlTimeZone::getErrorMessage ( void )

Estilo por procedimientos:

string intltz_get_error_message ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlTimeZone::getErrorCode
IntlTimeZone::getGMT
IntlTimeZone


Create GMT (UTC) timezone

IntlTimeZone::getErrorMessage
IntlTimeZone::getID
IntlTimeZone
PHP Manual

IntlTimeZone::getGMT

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlTimeZone::getGMT — Create GMT (UTC) timezone

Descripción

public static IntlTimeZone IntlTimeZone::getGMT ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlTimeZone::getErrorMessage
IntlTimeZone::getID
IntlTimeZone


Get timezone ID

IntlTimeZone::getGMT
IntlTimeZone::getOffset
IntlTimeZone
PHP Manual

IntlTimeZone::getID

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlTimeZone::getID — Get timezone ID

Descripción

public string IntlTimeZone::getID ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlTimeZone::getGMT
IntlTimeZone::getOffset
IntlTimeZone


Get the time zone raw and GMT offset for the given moment in time

IntlTimeZone::getID
IntlTimeZone::getRawOffset
IntlTimeZone
PHP Manual

IntlTimeZone::getOffset

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlTimeZone::getOffset — Get the time zone raw and GMT offset for the given moment in time

Descripción

public integer IntlTimeZone::getOffset ( float $date , bool $local , integer &$rawOffset , integer &$dstOffset )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

date

local

rawOffset

dstOffset

Valores devueltos

IntlTimeZone::getID
IntlTimeZone::getRawOffset
IntlTimeZone


Get the raw GMT offset (before taking daylight savings time into account

IntlTimeZone::getOffset
IntlTimeZone::getTZDataVersion
IntlTimeZone
PHP Manual

IntlTimeZone::getRawOffset

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlTimeZone::getRawOffset — Get the raw GMT offset (before taking daylight savings time into account

Descripción

public integer IntlTimeZone::getRawOffset ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlTimeZone::getOffset
IntlTimeZone::getTZDataVersion
IntlTimeZone


Get the timezone data version currently used by ICU

IntlTimeZone::getRawOffset
IntlTimeZone::hasSameRules
IntlTimeZone
PHP Manual

IntlTimeZone::getTZDataVersion

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlTimeZone::getTZDataVersion — Get the timezone data version currently used by ICU

Descripción

public static string IntlTimeZone::getTZDataVersion ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlTimeZone::getRawOffset
IntlTimeZone::hasSameRules
IntlTimeZone


Check if this zone has the same rules and offset as another zone

IntlTimeZone::getTZDataVersion
IntlTimeZone::toDateTimeZone
IntlTimeZone
PHP Manual

IntlTimeZone::hasSameRules

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlTimeZone::hasSameRules — Check if this zone has the same rules and offset as another zone

Descripción

public bool IntlTimeZone::hasSameRules ( IntlTimeZone $otherTimeZone )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

otherTimeZone

Valores devueltos

IntlTimeZone::getTZDataVersion
IntlTimeZone::toDateTimeZone
IntlTimeZone


Convert to DateTimeZone object

IntlTimeZone::hasSameRules
IntlTimeZone::useDaylightTime
IntlTimeZone
PHP Manual

IntlTimeZone::toDateTimeZone

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlTimeZone::toDateTimeZone — Convert to DateTimeZone object

Descripción

public DateTimeZone IntlTimeZone::toDateTimeZone ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlTimeZone::hasSameRules
IntlTimeZone::useDaylightTime
IntlTimeZone


Check if this time zone uses daylight savings time

IntlTimeZone::toDateTimeZone
IntlDateFormatter
IntlTimeZone
PHP Manual

IntlTimeZone::useDaylightTime

(PHP 5.5.0, PECL >= 3.0.0a1)

IntlTimeZone::useDaylightTime — Check if this time zone uses daylight savings time

Descripción

public bool IntlTimeZone::useDaylightTime ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlTimeZone::toDateTimeZone
IntlDateFormatter
IntlTimeZone


La clase IntlDateFormatter

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Introducción

Date Formatter es una clase concreta que permite el formateo/procesamiento dependiente de la configuración regional de fechas utilizando cadenas de patrones y/o patrones enlatados.

Esta clase representa la funcionalidad de formateo de fechas de ICU. Permite a los usuarios mostrar fechas en un formato regional o convertir cadenas a valores de fecha de PHP utilizando cadenas de patrones y/o patrones enlatados.

Sinopsis de la clase

IntlDateFormatter {
/* Métodos */
public __construct ( string $locale , int $datetype , int $timetype [, mixed $timezone = NULL [, mixed $calendar = NULL [, string $pattern = '' ]]] )
public static IntlDateFormatter create ( string $locale , int $datetype , int $timetype [, mixed $timezone = NULL [, mixed $calendar = NULL [, string $pattern = '' ]]] )
public string format ( mixed $value )
public static string formatObject ( object $object [, mixed $format = NULL [, string $locale = NULL ]] )
int getCalendar ( void )
public int getDateType ( void )
public int getErrorCode ( void )
public string getErrorMessage ( void )
public string getLocale ([ int $which ] )
public string getPattern ( void )
public int getTimeType ( void )
public string getTimeZoneId ( void )
public IntlCalendar getCalendarObject ( void )
public IntlTimeZone getTimeZone ( void )
public bool isLenient ( void )
public array localtime ( string $value [, int &$position ] )
public int parse ( string $value [, int &$position ] )
bool setCalendar ( mixed $which )
public bool setLenient ( bool $lenient )
public bool setPattern ( string $pattern )
public bool setTimeZoneId ( string $zone )
public boolean setTimeZone ( mixed $zone )
}

Ver también

  • » Formatedor de fechas ICU
  • » Formatos de fecha de ICU

Constantes predefinidas

Estas constantes se usan para especificar diferentes formatos en el constructor de DateType y TimeType.

IntlDateFormatter::NONE (integer)
No incluir este elemento
IntlDateFormatter::FULL (integer)
Estilo completamente especificado (Tuesday, April 12, 1952 AD o 3:30:42pm PST)
IntlDateFormatter::LONG (integer)
Estilo largo (January 12, 1952 o 3:30:32pm)
IntlDateFormatter::MEDIUM (integer)
Estilo medio (Jan 12, 1952)
IntlDateFormatter::SHORT (integer)
El estilo más abreviado, sólo información esencial (12/13/52 or 3:30pm)

Las siguientes constantes se usan para especificar el calendario. Todos estos calendarios están basados directamente en el calendario gregoriano. Es necesario especificar en la configuración local los calendarios no gregorianos. Los ejemplos incluirían locale="hi@calendar=BUDDHIST".

IntlDateFormatter::TRADITIONAL (integer)
Calendario no greoriano
IntlDateFormatter::GREGORIAN (integer)
Calendario gregoriano

Tabla de contenidos

  • IntlDateFormatter::create — Crear un formateador de fechas
  • IntlDateFormatter::format — Formatear el valor fecha/hora como una cadena
  • IntlDateFormatter::formatObject — Formatea un objeto
  • IntlDateFormatter::getCalendar — Obtener el tipo de calendario usado por el objeto IntlDateFormatter
  • IntlDateFormatter::getDateType — Obtener el tipo de fecha usada por un formateador de IntlDateFormatter
  • IntlDateFormatter::getErrorCode — Obtener el código del error de la última operación
  • IntlDateFormatter::getErrorMessage — Obtener el texto del error de la última operación
  • IntlDateFormatter::getLocale — Obtener la configuración regional usada por un formateador
  • IntlDateFormatter::getPattern — Obtener el patrón utilizado por un formateador de IntlDateFormatter
  • IntlDateFormatter::getTimeType — Obtener el tipo de hora usada por un formateador de IntlDateFormatter
  • IntlDateFormatter::getTimeZoneId — Obtener el ID de la zona horario usada por un formateador de IntlDateFormatter
  • IntlDateFormatter::getCalendarObject — Obtener una copia del objeto calendario del formateador
  • IntlDateFormatter::getTimeZone — Obtener la zona horaria del formateador
  • IntlDateFormatter::isLenient — Obtener la tolerancia usada por un formateador de IntlDateFormatter
  • IntlDateFormatter::localtime — Convertir una cadena en un valor de marca de tiempo basado en un campo
  • IntlDateFormatter::parse — Convertir una cadena en un valor de marca de tiempo
  • IntlDateFormatter::setCalendar — Establecer el tipo de calendario usado por el formateador
  • IntlDateFormatter::setLenient — Establecer la tolerancia del analizador
  • IntlDateFormatter::setPattern — Establecer el patrón utilizado por el formateador de IntlDateFormatter
  • IntlDateFormatter::setTimeZoneId — Establecer la zona horaria a usar
  • IntlDateFormatter::setTimeZone — Establece la zona horaria del formateador
IntlTimeZone::useDaylightTime
IntlDateFormatter::create
intl


Crear un formateador de fechas

IntlDateFormatter
IntlDateFormatter::format
IntlDateFormatter
PHP Manual

IntlDateFormatter::create

datefmt_create

IntlDateFormatter::__construct

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::create -- datefmt_create -- IntlDateFormatter::__construct — Crear un formateador de fechas

Descripción

Estilo orientado a objetos

public static IntlDateFormatter IntlDateFormatter::create ( string $locale , int $datetype , int $timetype [, mixed $timezone = NULL [, mixed $calendar = NULL [, string $pattern = '' ]]] )

Estilo orientado a objetos (constructor)

public IntlDateFormatter::__construct() ( string $locale , int $datetype , int $timetype [, mixed $timezone = NULL [, mixed $calendar = NULL [, string $pattern = '' ]]] )

Estilo por procedimientos

IntlDateFormatter datefmt_create ( string $locale , int $datetype , int $timetype [, mixed $timezone = NULL [, mixed $calendar = NULL [, string $pattern = '' ]]] )

Crear un formateador de fechas.

Parámetros

locale

Configuración regional a usar al formatear o procesar o NULL para usar el valor especificado en el ajuste ini intl.default_locale.

datetype

Tipo de fecha a usar (none, short, medium, long, full). Es una de las contantes de IntlDateFormatter. También puede ser NULL, en cuyo caso se usará el tipo de fecha predeterminado de ICU.

timetype

Tipo de hora a usar (none, short, medium, long, full). Es una de las contantes de IntlDateFormatter. También puede ser NULL, en cuyo caso se usará el tipo de hora predeterminada de ICU.

timezone

ID de la zona horaria. El predeterminado (y el usado si se proporciona NULL) es el devuelto por date_default_timezone_get() o, si es aplicable, aquel del objeto IntlCalendar pasado para el parámetro calendar. Este ID debe ser un identificador válido en la base de datos de ICU o un ID que represente un índice explícito, como GMT-05:30.

También puede ser un objeto IntlTimeZone o DateTimeZone.

calendar

Calendario a usar al formatear o procesar. El valor predeteminado es NULL, el cual corresponde a IntlDateFormatter::GREGORIAN. También puede ser una de las constantes de calendario de IntlDateFormatter o un IntlCalendar. Cualquier objeto IntlCalendar pasado será clonado; no será cambiado por IntlDateFormatter. Esto determinará el tipo de calendario usado (gregoriano, islámico, persa, etc.) y, si se proporciona NULL para el parámetro timezone, también la zona horaria usada.

pattern

Patrón opcional a usar al formatear o procesar. Los posibles patrones están documentados en » http://userguide.icu-project.org/formatparse/datetime.

Valores devueltos

El IntlDateFormatter creado o FALSE en caso de error.

Historial de cambios

Versión Descripción
5.5.0/PECL 3.0.0

Se permite un objeto IntlCalendar para calendar.

Los objetos de tipo IntlTimeZone y DateTimeZone están permitidos para timezone.

Los identificadores de zonas horaria válidos (incluyendo cadena vacías) ya no están permitidos para timezone.

Si se proporciona NULL para timezone, el identificador de la zona horaria dado por date_default_timezone_get() se usará en lugar del predeterminado de ICU.

Ejemplos

Ejemplo #1 Ejemplo de datefmt_create()

<?php
$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
    'America/Los_Angeles', IntlDateFormatter::GREGORIAN );
echo "La primera salida formateada es ".datefmt_format( $fmt , 0);
$fmt = datefmt_create( "es-ES", IntlDateFormatter::FULL, IntlDateFormatter::FULL,
    'America/Los_Angeles', IntlDateFormatter::GREGORIAN );
echo "La segunda salida formateada es ".datefmt_format( $fmt , 0);

$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
     'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy");
echo "La primera salida formateada con patrón es ".datefmt_format( $fmt , 0);
$fmt = datefmt_create( "es-ES", IntlDateFormatter::FULL, IntlDateFormatter::FULL,
     'America/Los_Angeles', IntlDateFormatter::GREGORIAN, "dd/MM/yyyy");
echo "La segunda salida formateada con patrón es ".datefmt_format( $fmt , 0);
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
    'America/Los_Angeles',IntlDateFormatter::GREGORIAN );
echo "La primera salida formateada es ".$fmt->format(0);
$fmt = new IntlDateFormatter( "es-ES", IntlDateFormatter::FULL, IntlDateFormatter::FULL,
    'America/Los_Angeles', IntlDateFormatter::GREGORIAN );
echo "La segunda salida formateada es ".$fmt->format(0);

$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
     'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy");
echo "La primera salida formateada con patrón es ".$fmt->format(0);
$fmt = new IntlDateFormatter( "es-ES", IntlDateFormatter::FULL, IntlDateFormatter::FULL,
     'America/Los_Angeles', IntlDateFormatter::GREGORIAN, "dd/MM/yyyy");
echo "La segunda salida formateada con patrón es ".$fmt->format(0);
?>

El resultado del ejemplo sería:

La primera salida formateada es Wednesday, December 31, 1969 4:00:00 PM PT
La segunda salida formateada es miércoles 31 de diciembre de 1969 16H00'00" PST
La primera salida formateada con patrón es 12/31/1969
La segunda salida formateada con patrón es 31/12/1969

Ver también

  • datefmt_format() - Formatear el valor fecha/hora como una cadena
  • datefmt_parse() - Convertir una cadena en un valor de marca de tiempo
  • datefmt_get_error_code() - Obtener el código del error de la última operación
  • datefmt_get_error_message() - Obtener el texto del error de la última operación

IntlDateFormatter
IntlDateFormatter::format
IntlDateFormatter


Formatear el valor fecha/hora como una cadena

IntlDateFormatter::create
IntlDateFormatter::formatObject
IntlDateFormatter
PHP Manual

IntlDateFormatter::format

datefmt_format

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::format -- datefmt_format — Formatear el valor fecha/hora como una cadena

Descripción

Estilo orientado a objetos

public string IntlDateFormatter::format ( mixed $value )

Estilo por procedimientos

string datefmt_format ( IntlDateFormatter $fmt , mixed $value )

Formatea el valor del instante como una cadena.

Parámetros

fmt

El recurso del formateador de fechas.

value

El valor a formatear. Puede ser un objeto DateTime, un objeto IntlCalendar, un tipo numeric que representa un número (posiblemente fraccionario) de segundos desde la época o un array en el formato generado por localtime().

Si se proporciona un objeto DateTime o IntlCalendar, su zona horaria no se considera. El objeto será formateado usando la zona horaria configurada del formateador. Si se quiere usar la zona horaria del objeto a formatear, IntlDateFormatter::setTimeZone() debe ser invocado antes con la zona horaria del objeto. Alternativamente, la función estática IntlDateFormatter::formatObject() podría usarse en su lugar.

Valores devueltos

La cadena formateada o, si ocurrión un error, FALSE.

Historial de cambios

Versión | Descripción
5.5.0/PECL 3.0.0 | Se añadió el soporta para proporcionar objetos IntlCalendar al parámetro value.
5.3.4 | Se añadió el soporte para proporcionar objetos de la clase DateTime al parámetro value.

Ejemplos

Ejemplo #1 Ejemplo de datefmt_format()

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'La primera salida formateada es ' . datefmt_format($fmt, 0);

$fmt = datefmt_create(
    'de-DE',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'La segunda salida formateada es ' . datefmt_format($fmt, 0);

$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'MM/dd/yyyy'
);
echo 'La primera salida formateada con patrón es ' . datefmt_format($fmt, 0);

$fmt = datefmt_create(
    'de-DE',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'MM/dd/yyyy'
);
echo 'La segunda salida formateada con patrón es ' . datefmt_format($fmt, 0);
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'La primera salida formateada es ' . $fmt->format(0);

$fmt = new IntlDateFormatter(
    'de-DE',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'La segunda salida formateada es ' . $fmt->format(0);

$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'MM/dd/yyyy'
);
echo 'La primera salida formateada con patrón es ' . $fmt->format(0);

$fmt = new IntlDateFormatter(
    'de-DE',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'MM/dd/yyyy'
);
echo 'La segunda salida formateada con patrón es ' . $fmt->format(0);
?>

El resultado del ejemplo sería:

La primera salida formateada es Wednesday, December 31, 1969 4:00:00 PM PT
La segunda salida formateada es miércoles 31 de diciembre de 1969 16H00'00" PST
La primera salida formateada con patrón es 12/31/1969
La segunda salida formateada con patrón es 31/12/1969

Ejemplo #3 Con un objeto IntlCalendar

<?php
$tz = reset(iterator_to_array(IntlTimeZone::createEnumeration('FR')));
$formatter = IntlDateFormatter::create(
    'fr_FR',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    $tz,
    IntlDateFormatter::GREGORIAN
);

$cal = IntlCalendar::createInstance($tz, '@calendar=islamic-civil');
$cal->set(IntlCalendar::FIELD_MONTH, 8); //9th month, Ramadan
$cal->set(IntlCalendar::FIELD_DAY_OF_MONTH, 1); //1st day
$cal->clear(IntlCalendar::FIELD_HOUR_OF_DAY);
$cal->clear(IntlCalendar::FIELD_MINUTE);
$cal->clear(IntlCalendar::FIELD_SECOND);
$cal->clear(IntlCalendar::FIELD_MILLISECOND);

echo "En este año islámico, el Ramadan empezó/empezará el:\n\t",
        $formatter->format($cal), "\n";

//Es la zona hiraria del formateador la que se usa:
$formatter->setTimeZone('Asia/Tokyo');
echo "Después de cambiar la zona horaria:\n\t",
        $formatter->format($cal), "\n";

El resultado del ejemplo sería:

En este año islámico, el Ramadan empezó/empezará el:
    mardi 9 juillet 2013 19:00:00 heure avancée d’Europe centrale
Después de cambiar la zona horaria:
    mercredi 10 juillet 2013 02:00:00 heure normale du Japon

Ver también

  • datefmt_create() - Crear un formateador de fechas
  • datefmt_parse() - Convertir una cadena en un valor de marca de tiempo
  • datefmt_get_error_code() - Obtener el código del error de la última operación
  • datefmt_get_error_message() - Obtener el texto del error de la última operación
  • datefmt_format_object() - Formatea un objeto

IntlDateFormatter::create
IntlDateFormatter::formatObject
IntlDateFormatter


Formatea un objeto

IntlDateFormatter::format
IntlDateFormatter::getCalendar
IntlDateFormatter
PHP Manual

IntlDateFormatter::formatObject

datefmt_format_object

(PHP 5 >= 5.5.0, PECL intl >= 3.0.0)

IntlDateFormatter::formatObject -- datefmt_format_object — Formatea un objeto

Descripción

Estilo orientado a objetos

public static string IntlDateFormatter::formatObject ( object $object [, mixed $format = NULL [, string $locale = NULL ]] )

Estilo por procedimientos

public static string datefmt_format_object ( object $object [, mixed $format = NULL [, string $locale = NULL ]] )

Esta función permite formatear un objeto IntlCalendar o DateTime sin crear primero explícitamente un objeto IntlDateFormatter.

El objeto IntlDateFormatter temporal que se creará tomará la zona horaria del objeto pasado. La base de datos de zonas horarias incluida con PHP no se usara; se usará en su lugar la de ICU. El identificador de zona horaria usado en objetos DateTime debe, por lo tanto, existir también en la base de datos de ICU.

Parámetros

object

Un objeto de tipo IntlCalendar o DateTime. Se usrará la información de la zona horaria del objeto.

format

Cómo formatear la fecha/hora. Puede ser un array con dos elementos (el primero el estilo de fecha, y luego el estilo de la hora, siendo ambos una de las constantes IntlDateFormatter::NONE, IntlDateFormatter::SHORT, IntlDateFormatter::MEDIUM, IntlDateFormatter::LONG, IntlDateFormatter::FULL), un long con el valor de una de estas constantes (en cuyo caso se usará tanto para la hora como para la fecha) o un string con el formato descrito en » la documentación de ICU. Si es NULL, se utilizará el estilo predeterminado.

locale

La configuración regional a usar, o NULL para usar la predeterminada.

Valores devueltos

Un string con resultados o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplos de IntlDateFormatter::formatObject()

<?php
/* la zona horaria predeterminada es irrelevante; se toma del objeto */
ini_set('date.timezone', 'UTC');
/* la configuración regional predeterminada se toma de este ajuste ini */
ini_set('intl.default_locale', 'fr_FR');

$cal = IntlCalendar::fromDateTime("2013-06-06 17:05:06 Europe/Dublin");
echo "predeterminado:\n\t",
        IntlDateFormatter::formatObject($cal),
        "\n";

echo "long \$format (full):\n\t",
        IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL),
        "\n";

echo "array \$format (none, full):\n\t",
        IntlDateFormatter::formatObject($cal, array(
                IntlDateFormatter::NONE,
                IntlDateFormatter::FULL)),
        "\n";

echo "string \$format (d 'of' MMMM y):\n\t",
        IntlDateFormatter::formatObject($cal, "d 'of' MMMM y", 'en_US'),
        "\n";

echo "con DateTime:\n\t",
        IntlDateFormatter::formatObject(
                new DateTime("2013-09-09 09:09:09 Europe/Madrid"),
                IntlDateFormatter::FULL,
                'es_ES'),
        "\n";

El resultado del ejemplo sería:

predeterminado:
    6 juin 2013 17:05:06
long $format (full):
    jeudi 6 juin 2013 17:05:06 heure d’été irlandaise
array $format (none, full):
    17:05:06 heure d’été irlandaise
string $format (d 'of' MMMM y):
    6 of June 2013
con DateTime:
    lunes, 9 de septiembre de 2013 09:09:09 Hora de verano de Europa central

IntlDateFormatter::format
IntlDateFormatter::getCalendar
IntlDateFormatter


Obtener el tipo de calendario usado por el objeto IntlDateFormatter

IntlDateFormatter::formatObject
IntlDateFormatter::getDateType
IntlDateFormatter
PHP Manual

IntlDateFormatter::getCalendar

datefmt_get_calendar

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::getCalendar -- datefmt_get_calendar — Obtener el tipo de calendario usado por el objeto IntlDateFormatter

Descripción

Estilo orientado a objetos

int IntlDateFormatter::getCalendar ( void )

Estilo por procedimientos

int datefmt_get_calendar ( IntlDateFormatter $fmt )

Parámetros

fmt

El recurso del formatedor

Valores devueltos

El tipo de calendario a usar por el formateador. IntlDateFormatter::TRADITIONAL o IntlDateFormatter::GREGORIAN.

Ejemplos

Ejemplo #1 Ejemlo de datefmt_get_calendar()

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'El calendario del formateador es : ' . datefmt_get_calendar($fmt);
datefmt_set_calendar($fmt,IntlDateFormatter::TRADITIONAL);
echo 'Ahora el calendario del formateador es : ' . datefmt_get_calendar($fmt);
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'El calendario del formateador es : ' . $fmt->getCalendar();
$fmt->setCalendar(IntlDateFormatter::TRADITIONAL);
echo 'Ahora el calendario del formateador es : ' . $fmt->getCalendar();

?>

El resultado del ejemplo sería:

El calendario del formateador es : 1
Ahora el calendario del formateador es  : 0

Ver también

  • datefmt_get_calendar_object() - Obtener una copia del objeto calendario del formateador
  • datefmt_set_calendar() - Establecer el tipo de calendario usado por el formateador
  • datefmt_create() - Crear un formateador de fechas

IntlDateFormatter::formatObject
IntlDateFormatter::getDateType
IntlDateFormatter


Obtener el tipo de fecha usada por un formateador de IntlDateFormatter

IntlDateFormatter::getCalendar
IntlDateFormatter::getErrorCode
IntlDateFormatter
PHP Manual

IntlDateFormatter::getDateType

datefmt_get_datetype

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::getDateType -- datefmt_get_datetype — Obtener el tipo de fecha usada por un formateador de IntlDateFormatter

Descripción

Estilo orientado a objetos

public int IntlDateFormatter::getDateType ( void )

Estilo por procedimientos

int datefmt_get_datetype ( IntlDateFormatter $fmt )

Devuelve el tipo de fecha usada por el formateador.

Parámetros

fmt

El recurso del formatedor.

Valores devueltos

El valor actual del tipo de fecha del formateador.

Ejemplos

Ejemplo #1 Ejemlo de datefmt_get_datetype()

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'El tipo de fecha del formateador es : ' . datefmt_get_datetype($fmt);
echo 'La primera salida formateada es ' . datefmt_format( $fmt , 0);

$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::SHORT,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'Ahora el tipo de fecha del formateador es : ' . datefmt_get_datetype($fmt);
echo 'La segunda salida formateada es ' . datefmt_format( $fmt , 0);

?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'El tipo de fecha del formateador es : ' . $fmt->getDateType();
echo 'La primera salida formateada es ' . datefmt_format( $fmt , 0);
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::SHORT,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'Ahora el tipo de fecha del formateador es : ' . $fmt->getDateType();
echo 'La segunda salida formateada es ' . datefmt_format( $fmt , 0);

?>

El resultado del ejemplo sería:

El tipo de fecha del formateador es : 0
La primera salida formateada es Wednesday, December 31, 1969 4:00:00 PM PT
Ahora el tipo de fecha del formateador es : 2
La segunda salida formateada es 12/31/69 4:00:00 PM PT

Ver también

  • datefmt_get_timetype() - Obtener el tipo de hora usada por un formateador de IntlDateFormatter
  • datefmt_create() - Crear un formateador de fechas

IntlDateFormatter::getCalendar
IntlDateFormatter::getErrorCode
IntlDateFormatter


Obtener el código del error de la última operación

IntlDateFormatter::getDateType
IntlDateFormatter::getErrorMessage
IntlDateFormatter
PHP Manual

IntlDateFormatter::getErrorCode

datefmt_get_error_code

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::getErrorCode -- datefmt_get_error_code — Obtener el código del error de la última operación

Descripción

Estilo orientado a objetos

public int IntlDateFormatter::getErrorCode ( void )

Estilo por procedimientos

int datefmt_get_error_code ( IntlDateFormatter $fmt )

Obtiene el código del error de la última operación. Devuelve el código del error de la última operación de formatero de números.

Parámetros

fmt

El recurso del formateador.

Valores devueltos

El código del error, uno de los valores de UErrorCode. El valor inicial es U_ZERO_ERROR.

Ejemplos

Ejemplo #1 Ejemplo de datefmt_get_error_code()

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
$str = datefmt_format($fmt);
if (!$str) {
    printf(
        "ERROR: %s (%d)\n",
        datefmt_get_error_message($fmt),
        datefmt_get_error_code($fmt)
    );
}
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
$str = $fmt->format();
if (!$str) {
    printf(
        "ERROR: %s (%d)\n",
        $fmt->getErrorMessage(),
        $fmt->getErrorCode()
    );
}
?>

El resultado del ejemplo sería:

ERROR: U_ZERO_ERROR (0)

Ver también

  • datefmt_get_error_message() - Obtener el texto del error de la última operación
  • intl_get_error_code() - Obtiene el último código de error
  • intl_is_failure() - Comprueba si el código de error dado indica un fallo

IntlDateFormatter::getDateType
IntlDateFormatter::getErrorMessage
IntlDateFormatter


Obtener el texto del error de la última operación

IntlDateFormatter::getErrorCode
IntlDateFormatter::getLocale
IntlDateFormatter
PHP Manual

IntlDateFormatter::getErrorMessage

datefmt_get_error_message

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::getErrorMessage -- datefmt_get_error_message — Obtener el texto del error de la última operación

Descripción

Estilo orientado a objetos

public string IntlDateFormatter::getErrorMessage ( void )

Estilo por procedimientos

string datefmt_get_error_message ( IntlDateFormatter $fmt )

Obtiene el texto del error de la última operación.

Parámetros

fmt

El recurso del formateador.

Valores devueltos

La descripción del último error.

Ejemplos

Ejemplo #1 Ejemplo de datefmt_get_error_message()

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
$str = datefmt_format($fmt);
if (!$str) {
    prtinf(
        "ERROR: %s (%d)\n",
        datefmt_get_error_message($fmt),
        datefmt_get_error_code($fmt)
    );
}
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
$str = $fmt->format();
if(!$str) {
    prtinf(
        "ERROR: %s (%d)\n",
        $fmt->getErrorMessage(),
        $fmt->getErrorCode()
    );
}

?>

El resultado del ejemplo sería:

ERROR: U_ZERO_ERROR (0)

Ver también

  • datefmt_get_error_code() - Obtener el código del error de la última operación
  • intl_get_error_code() - Obtiene el último código de error
  • intl_is_failure() - Comprueba si el código de error dado indica un fallo

IntlDateFormatter::getErrorCode
IntlDateFormatter::getLocale
IntlDateFormatter


Obtener la configuración regional usada por un formateador

IntlDateFormatter::getErrorMessage
IntlDateFormatter::getPattern
IntlDateFormatter
PHP Manual

IntlDateFormatter::getLocale

datefmt_get_locale

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::getLocale -- datefmt_get_locale — Obtener la configuración regional usada por un formateador

Descripción

Estilo orientado a objetos

public string IntlDateFormatter::getLocale ([ int $which ] )

Estilo por procedimientos

string datefmt_get_locale ( IntlDateFormatter $fmt [, int $which ] )

Obtiene la configuración regional usada por el formateador.

Parámetros

fmt

El recurso del formatedor.

hich

Se puede elegir entre una configuración regional válida o real ( Locale::VALID_LOCALE, Locale::ACTUAL_LOCALE, respectivamente). La predeterminada el la configuración regional real.

Valores devueltos

La configuración regional de este formateador o 'false' en caso de error

Ejemplos

Ejemplo #1 Ejemplo de datefmt_get_locale()

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'La configuración regional del formateador es : ' . datefmt_get_locale($fmt);
echo 'La primera salida formateada es ' . datefmt_format( $fmt , 0);

$fmt = datefmt_create(
    'de-DE',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'La configuración regional del formateador es : ' . datefmt_get_locale($fmt);
echo 'La segunda salida formateada es ' . datefmt_format( $fmt , 0);

?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'La configuración regional del formateador es : ' . $fmt->getLocale();
echo 'La primera salida formateada es ' . $fmt->format(0);

$fmt = new IntlDateFormatter(
    'de-DE',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'La configuración regional del formateador es : ' . $fmt->getLocale();
echo 'La segunda salida formateada es ' . $fmt->format(0);

?>

El resultado del ejemplo sería:

La configuración regional del formateador es : en
La primera salida formateada es Wednesday, December 31, 1969 4:00:00 PM PT
La configuración regional del formateador es : de
La segunda salida formateada es Mittwoch, 31. Dezember 1969 16:00 Uhr GMT-08:00

Ver también

  • datefmt_create() - Crear un formateador de fechas

IntlDateFormatter::getErrorMessage
IntlDateFormatter::getPattern
IntlDateFormatter


Obtener el patrón utilizado por un formateador de IntlDateFormatter

IntlDateFormatter::getLocale
IntlDateFormatter::getTimeType
IntlDateFormatter
PHP Manual

IntlDateFormatter::getPattern

datefmt_get_pattern

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::getPattern -- datefmt_get_pattern — Obtener el patrón utilizado por un formateador de IntlDateFormatter

Descripción

Estilo orientado a objetos

public string IntlDateFormatter::getPattern ( void )

Estilo por procedimientos

string datefmt_get_pattern ( IntlDateFormatter $fmt )

Obtener el patrón utilizado por el formateador.

Parámetros

fmt

El recurso del formatedor.

Valores devueltos

La cadena del patrón que está siendo usada para formatear/procesar.

Ejemplos

Ejemplo #1 Ejemplo de datefmt_get_pattern()

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'MM/dd/yyyy'
);
echo 'El patrón del formateador es : ' . datefmt_get_pattern($fmt);
echo 'La primera salida formateada es ' . datefmt_format( $fmt , 0);
datefmt_set_pattern($fmt,'yyyymmdd hh:mm:ss z');
echo 'Ahora el patrón del formateador es : ' . datefmt_get_pattern($fmt);
echo 'La segunda salida formateada es ' . datefmt_format( $fmt , 0);

?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'MM/dd/yyyy'
);
echo 'El patrón del formateador es : ' . $fmt->getPattern();
echo 'La primera salida formateada es ' . datefmt_format( $fmt , 0);
$fmt->setPattern('yyyymmdd hh:mm:ss z');
echo 'Now pattern of the formatter is : ' . $fmt->getPattern();
echo 'La segunda salida formateada es ' . datefmt_format( $fmt , 0);
?>

El resultado del ejemplo sería:

El patrón del formateador es : MM/dd/yyyy
La primera salida formateada es 12/31/1969
Ahora el patrón del formateador es : yyyymmdd hh:mm:ss z
La segunda salida formateada es 19690031 04:00:00 PST

Ver también

  • datefmt_set_pattern() - Establecer el patrón utilizado por el formateador de IntlDateFormatter
  • datefmt_create() - Crear un formateador de fechas

IntlDateFormatter::getLocale
IntlDateFormatter::getTimeType
IntlDateFormatter


Obtener el tipo de hora usada por un formateador de IntlDateFormatter

IntlDateFormatter::getPattern
IntlDateFormatter::getTimeZoneId
IntlDateFormatter
PHP Manual

IntlDateFormatter::getTimeType

datefmt_get_timetype

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::getTimeType -- datefmt_get_timetype — Obtener el tipo de hora usada por un formateador de IntlDateFormatter

Descripción

Estilo orientado a objetos

public int IntlDateFormatter::getTimeType ( void )

Estilo por procedimientos

int datefmt_get_timetype ( IntlDateFormatter $fmt )

Devuelve el tipo de hora usada por el formateador.

Parámetros

fmt

El recurso del formatedor.

Valores devueltos

El valor actual del tipo de fecha del formateador.

Ejemplos

Ejemplo #1 Ejemplo de datefmt_get_timetype()

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'El tipo de hora del formateador es : ' . datefmt_get_timetype($fmt);
echo 'La primera salida formateada es ' . datefmt_format( $fmt , 0);

$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::SHORT,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'Ahora el tipo de hora del formateador es : ' . datefmt_get_timetype($fmt);
echo 'La segunda salida formateada es ' . datefmt_format( $fmt , 0);

?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'timetype of the formatter is : ' . $fmt->getTimeType();
echo 'La primera salida formateada es ' . datefmt_format( $fmt , 0);

$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::SHORT,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'Ahora el tipo de hora del formateador es : ' . $fmt->getTimeType();
echo 'La segunda salida formateada es ' . datefmt_format( $fmt , 0);

?>

El resultado del ejemplo sería:

El tipo de hora del formateador es : 0
La primera salida formateada es Wednesday, December 31, 1969 4:00:00 PM PT
Ahora el tipo de hora del formateador es : 3
La segunda salida formateada es Wednesday, December 31, 1969 4:00 PM

Ver también

  • datefmt_get_datetype() - Obtener el tipo de fecha usada por un formateador de IntlDateFormatter
  • datefmt_create() - Crear un formateador de fechas

IntlDateFormatter::getPattern
IntlDateFormatter::getTimeZoneId
IntlDateFormatter


Obtener el ID de la zona horario usada por un formateador de IntlDateFormatter

IntlDateFormatter::getTimeType
IntlDateFormatter::getCalendarObject
IntlDateFormatter
PHP Manual

IntlDateFormatter::getTimeZoneId

datefmt_get_timezone_id

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::getTimeZoneId -- datefmt_get_timezone_id — Obtener el ID de la zona horario usada por un formateador de IntlDateFormatter

Descripción

Estilo orientado a objetos

public string IntlDateFormatter::getTimeZoneId ( void )

Estilo por procedimientos

string datefmt_get_timezone_id ( IntlDateFormatter $fmt )

Obtiene el ID de la zona horario usada por un formateador de IntlDateFormatter.

Parámetros

fmt

El recurso del formatedor.

Valores devueltos

Una cadena con el ID de la zona horaria usada por este formateador.

Ejemplos

Ejemplo #1 Ejemplo de datefmt_get_timezone_id()

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'El ID de la zona horaria del formateador es : ' . datefmt_get_timezone_id($fmt);
datefmt_set_timezone_id($fmt,'CN');
echo 'Ahora el ID de la zona horaria del formateador es : ' . datefmt_get_timezone_id($fmt);

?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'El ID de la zona horaria del formateador es : ' . $fmt->getTimezoneId();
$fmt->setTimezoneId('CN');
echo 'Ahora el ID de la zona horaria del formateador es : ' . $fmt->getTimezoneId();

?>

El resultado del ejemplo sería:

El ID de la zona horaria del formateador es : America/Los_Angeles
Ahora el ID de la zona horaria del formateador es : CN

Ver también

  • datefmt_set_timezone_id() - Establecer la zona horaria a usar
  • datefmt_create() - Crear un formateador de fechas

IntlDateFormatter::getTimeType
IntlDateFormatter::getCalendarObject
IntlDateFormatter


Obtener una copia del objeto calendario del formateador

IntlDateFormatter::getTimeZoneId
IntlDateFormatter::getTimeZone
IntlDateFormatter
PHP Manual

IntlDateFormatter::getCalendarObject

datefmt_get_calendar_object

(PHP 5 >= 5.5.0, PECL intl >= 3.0.0)

IntlDateFormatter::getCalendarObject -- datefmt_get_calendar_object — Obtener una copia del objeto calendario del formateador

Descripción

Estilo orientado a objetos

public IntlCalendar IntlDateFormatter::getCalendarObject ( void )

Estilo por procedimientos

IntlCalendar datefmt_get_calendar_object ( void )

Obtiene una copia del objeto calendario usado internamente por este formateador. Este calendario tendrá un tipo (como gregorian, japanese, buddhist, roc, persian, islamic, etc.) y una zona horaria que coincide con el tipo y la zona horaria usada por el formateador. La fecha/hora del objeto está sin especificar.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Una copia del calendario interno usado por este formateador.

Ejemplos

Ejemplo #1 Ejemplo IntlDateFormatter::getCalendarObject()

<?php
$formatter = IntlDateFormatter::create(
    "fr_FR@calendar=islamic",
    NULL,
    NULL,
    "GMT-01:00",
    IntlDateFormatter::TRADITIONAL
);

$cal = $formatter->getCalendarObject();

var_dump(
    $cal->getType(),
    $cal->getTimeZone(),
    $cal->getLocale(Locale::VALID_LOCALE)
);

El resultado del ejemplo sería:

string(7) "islamic"
object(IntlTimeZone)#3 (4) {
  ["valid"]=>
  bool(true)
  ["id"]=>
  string(9) "GMT-01:00"
  ["rawOffset"]=>
  int(-3600000)
  ["currentOffset"]=>
  int(-3600000)
}
string(5) "fr_FR"

Ver también

  • IntlDateFormatter::getCalendar() - Obtener el tipo de calendario usado por el objeto IntlDateFormatter
  • IntlDateFormatter::setCalendar() - Establecer el tipo de calendario usado por el formateador
  • IntlCalendar

IntlDateFormatter::getTimeZoneId
IntlDateFormatter::getTimeZone
IntlDateFormatter


Obtener la zona horaria del formateador

IntlDateFormatter::getCalendarObject
IntlDateFormatter::isLenient
IntlDateFormatter
PHP Manual

IntlDateFormatter::getTimeZone

datefmt_get_timezone

(PHP 5 >= 5.5.0, PECL intl >= 3.0.0)

IntlDateFormatter::getTimeZone -- datefmt_get_timezone — Obtener la zona horaria del formateador

Descripción

Estilo orientado a objetos

public IntlTimeZone IntlDateFormatter::getTimeZone ( void )

Estilo por procedimientos

IntlTimeZone datefmt_get_timezone ( void )

Devuelve un objeto IntlTimeZone que representa la zona horaria que usará este objeto para formatear las fechas y las horas. Al formatear objetos IntlCalendar y DateTime con este IntlDateFormatter, la zona horaria usada será la devuelta por este método, no la asociada con los objetos que se están formateando.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El objeto IntlTimeZone asociado o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplos de IntlDateFormatter::getTimeZone()

<?php

$madrid = IntlDateFormatter::create(NULL, NULL, NULL, 'Europe/Madrid');
$lisboa = IntlDateFormatter::create(NULL, NULL, NULL, 'Europe/Lisbon');

var_dump($madrid->getTimezone());
echo $madrid->getTimezone()->getDisplayName(
        false, IntlTimeZone::DISPLAY_GENERIC_LOCATION, "en_US"), "\n";
echo $lisboa->getTimeZone()->getId(), "\n";
//El id también puede ser recuperado con ->getTimezoneId()
echo $lisboa->getTimeZoneId(), "\n";

El resultado del ejemplo sería:

object(IntlTimeZone)#4 (4) {
  ["valid"]=>
  bool(true)
  ["id"]=>
  string(13) "Europe/Madrid"
  ["rawOffset"]=>
  int(3600000)
  ["currentOffset"]=>
  int(7200000)
}
Spain Time
Europe/Lisbon
Europe/Lisbon

Ver también

  • IntlDateFormatter::getTimeZoneId() - Obtener el ID de la zona horario usada por un formateador de IntlDateFormatter
  • IntlDateFormatter::setTimeZone() - Establece la zona horaria del formateador
  • IntlTimeZone

IntlDateFormatter::getCalendarObject
IntlDateFormatter::isLenient
IntlDateFormatter


Obtener la tolerancia usada por un formateador de IntlDateFormatter

IntlDateFormatter::getTimeZone
IntlDateFormatter::localtime
IntlDateFormatter
PHP Manual

IntlDateFormatter::isLenient

datefmt_is_lenient

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::isLenient -- datefmt_is_lenient — Obtener la tolerancia usada por un formateador de IntlDateFormatter

Descripción

Estilo orientado a objetos

public bool IntlDateFormatter::isLenient ( void )

Estilo por procedimientos

bool datefmt_is_lenient ( IntlDateFormatter $fmt )

Comprueba si el analizador es estricto o tolerante al interpretar las entradas que no coinciden exactamente con el patrón.

Parámetros

fmt

El recurso del formatedor.

Valores devueltos

TRUE si el analizador es tolerante, FALSE si es estricto. Por omisión, el analizador es tolerante.

Ejemplos

Ejemplo #1 Ejmplo de datefmt_is_lenient()

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'dd/mm/yyyy'
);
echo 'La tolerancia del formateador es : ';
if ($fmt->isLenient() ){
    echo('TRUE');
} else{
    echo('FALSE');
}
datefmt_parse($fmt, '35/13/1971');
echo "\n Intentar realizar parse('35/13/1971').\nEl resultado es : " . datefmt_parse($fmt, '35/13/1971');
if (intl_get_error_code() !=0 ){
    echo "\nEl mensaje del error es : ".intl_get_error_message();
    echo "\nEl código del error es : ".intl_get_error_code();
}
datefmt_set_lenient($fmt,false);
echo 'Ahora la toleranca del formateador es : ';
if ($fmt->isLenient() ){
    echo('TRUE');
} else{
    echo('FALSE');
}
datefmt_parse($fmt, '35/13/1971');
echo "\n Intentar realizar parse('35/13/1971').\nEl resultado es : " . datefmt_parse($fmt, '35/13/1971');
if (intl_get_error_code() !=0 ){
    echo "\nEl mensaje del error es : ".intl_get_error_message();
    echo "\nEl código del error es : ".intl_get_error_code();
}

?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    "dd/mm/yyyy"
);
echo "La tolerancia del formateador es : ";
if($fmt->isLenient() ){
    echo('TRUE');
} else{
    echo('FALSE');
}
$fmt->parse('35/13/1971');
echo "\n Intentar realizar parse('35/13/1971'). El resultado es : " . $fmt->parse('35/13/1971');
if (intl_get_error_code() !=0 ){
    echo "El mensaje del error es : ".intl_get_error_message();
    echo "El código del error es : ".intl_get_error_code();
}

$fmt->setLenient(FALSE);
echo 'Ahora la toleranca del formateador es : ';
if($fmt->isLenient() ){
    echo('TRUE');
} else{
    echo('FALSE');
}
$fmt->parse('35/13/1971');
echo "\n Intentar realizar parse('35/13/1971'). El resultado es : " . $fmt->parse('35/13/1971');
if (intl_get_error_code() !=0 ){
    echo "El mensaje del error es : ".intl_get_error_message();
    echo "El código del error es : ".intl_get_error_code();
}

?>

El resultado del ejemplo sería:

La tolerancia del formateador es : TRUE
Intentar realizar parse('35/13/1971').
El resultado es : -2147483
Ahora la toleranca del formateador es : FALSE
Intentar realizar parse('35/13/1971').
El resultado es :
El mensaje del error es : Date parsing failed: U_PARSE_ERROR
El código del error es : 9

Ver también

  • datefmt_set_lenient() - Establecer la tolerancia del analizador
  • datefmt_create() - Crear un formateador de fechas

IntlDateFormatter::getTimeZone
IntlDateFormatter::localtime
IntlDateFormatter


Convertir una cadena en un valor de marca de tiempo basado en un campo

IntlDateFormatter::isLenient
IntlDateFormatter::parse
IntlDateFormatter
PHP Manual

IntlDateFormatter::localtime

datefmt_localtime

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::localtime -- datefmt_localtime — Convertir una cadena en un valor de marca de tiempo basado en un campo

Descripción

Estilo orientado a objetos

public array IntlDateFormatter::localtime ( string $value [, int &$position ] )

Estilo por procedimientos

array datefmt_localtime ( IntlDateFormatter $fmt , string $value [, int &$position ] )

Convierte la cadena $value a un valor de instante basado en un campo (un array de varios campos),, empezando en la posición dada por $parse_pos y consumiendo tanto del valor de entrada como sea posible.

Parámetros

fmt

El recurso del formateador.

value

La cadena que convertir a un instante

position

La posición a la cual empezar la conversión de $value (basado en cero). Si no ocurre ningún error antes de que $value sea consumido, $parse_pos contendrá -1, de otro modo contendrá la posición en la que finaliza la conversión (ocurrido el error). Si $parse_pos > strlen($value), la conversión falla automáticamente.

Valores devueltos

Un array Localtime compatible array of integers : contains 24 hour clock value in tm_hour field

Ejemplos

Ejemplo #1 Ejemplo de datefmt_localtime()

<?php

$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
$array = datefmt_localtime($fmt, 'Wednesday, December 31, 1969 4:00:00 PM PT', 0);
echo 'La primera salida convertida es ';
if ($array) {
    foreach ($array as $clave => $valor) {
        echo "$clave : $valor , ";
    }
}

?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
$array = $fmt->localtime('Wednesday, December 31, 1969 4:00:00 PM PT', 0);
echo 'La primera salida convertida es ';
if ($array) {
    foreach ($array as $clave => $valor) {
        echo "$clave : $valor , ";
    }
}

?>

El resultado del ejemplo sería:

La primera salida convertida es tm_sec : 0 , tm_min : 0 , tm_hour : 16 , tm_year : 1969 ,
tm_mday : 31 , tm_wday : 4 , tm_yday : 365 , tm_mon : 11 , tm_isdst : 0 ,

Ver también

  • datefmt_create() - Crear un formateador de fechas
  • datefmt_format() - Formatear el valor fecha/hora como una cadena
  • datefmt_parse() - Convertir una cadena en un valor de marca de tiempo
  • datefmt_get_error_code() - Obtener el código del error de la última operación
  • datefmt_get_error_message() - Obtener el texto del error de la última operación

IntlDateFormatter::isLenient
IntlDateFormatter::parse
IntlDateFormatter


Convertir una cadena en un valor de marca de tiempo

IntlDateFormatter::localtime
IntlDateFormatter::setCalendar
IntlDateFormatter
PHP Manual

IntlDateFormatter::parse

datefmt_parse

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::parse -- datefmt_parse — Convertir una cadena en un valor de marca de tiempo

Descripción

Estilo orientado a objetos

public int IntlDateFormatter::parse ( string $value [, int &$position ] )

Estilo por procedimientos

int datefmt_parse ( IntlDateFormatter $fmt , string $value [, int &$position ] )

Convierte la cadena $value a un valor de marca de tiempo incremental, empezando en la posición dada por $parse_pos y consumiendo tanto del valor de entrada como sea posible.

Parámetros

fmt

El recurso del formateador

value

La cadena que convertir a un instante

position

La posición a la cual empezar la conversión de $value (basado en cero). Si no ocurre ningún error antes de que $value sea consumido, $parse_pos contendrá -1, de otro modo contendrá la posición en la que finaliza la conversión (ocurrido el error). Esta variable contendrá la posición final si la converión falla. Si $parse_pos > strlen($value), la conversión falla automáticamente.

Valores devueltos

El valor de la marca de tiempo, o FALSE si el valor no se puede analizar.

Ejemplos

Ejemplo #1 Ejemplo orientado a objetos

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'La primera salida convertida es ' . $fmt->parse('Wednesday, December 20, 1989 4:00:00 PM PT');
$fmt = new IntlDateFormatter(
    'de-DE',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'La segunda salida convertida es ' . $fmt->parse('Mittwoch, 20. Dezember 1989 16:00 Uhr GMT-08:00');
?>

Ejemplo #2 Ejemplo de datefmt_parse()

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'La primera salida convertida es ' . datefmt_parse($fmt, 'Wednesday, December 20, 1989 4:00:00 PM PT');
$fmt = datefmt_create(
    'de-DE',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'La segunda salida convertida es ' . datefmt_parse($fmt, 'Mittwoch, 20. Dezember 1989 16:00 Uhr GMT-08:00');
?>

El resultado del ejemplo sería:

La primera salida convertida es 630201600
La segunda salida convertida es 630201600

Ver también

  • datefmt_create() - Crear un formateador de fechas
  • datefmt_format() - Formatear el valor fecha/hora como una cadena
  • datefmt_localtime() - Convertir una cadena en un valor de marca de tiempo basado en un campo
  • datefmt_get_error_code() - Obtener el código del error de la última operación
  • datefmt_get_error_message() - Obtener el texto del error de la última operación

IntlDateFormatter::localtime
IntlDateFormatter::setCalendar
IntlDateFormatter


Establecer el tipo de calendario usado por el formateador

IntlDateFormatter::parse
IntlDateFormatter::setLenient
IntlDateFormatter
PHP Manual

IntlDateFormatter::setCalendar

datefmt_set_calendar

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::setCalendar -- datefmt_set_calendar — Establecer el tipo de calendario usado por el formateador

Descripción

Estilo orientado a objetos

bool IntlDateFormatter::setCalendar ( mixed $which )

Estilo por procedimientos

bool datefmt_set_calendar ( IntlDateFormatter $fmt , mixed $which )

Establece el calendario o el tipo de calendario usado por el formateador.

Parámetros

fmt

El recurso del formatedor

which

Puede ser: el tipo de calendario a usar (el predeterminado es IntlDateFormatter::GREGORIAN, el cual también se usa si se especifica NULL) o un objeto IntlCalendar.

Cualquier objeto IntlCalendar pasado será clonado; no se realizará ninguna modificación al objeto del argumento.

La zona horaria del formateador se mantendrá únicamente si no se pasa un objeto IntlCalendar, de otro modo la nuevo zona horaria será aquella del objeto pasado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.5.0/PECL 3.0.0 | Ahora es posible pasar un objeto IntlCalendar.

Ejemplos

Ejemplo #1 Ejemplo de datefmt_set_calendar()

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'El calendario del formateador es : ' . datefmt_get_calendar($fmt);
datefmt_set_calendar($fmt,IntlDateFormatter::TRADITIONAL);
echo 'Ahora el calendario del formateador es : ' . datefmt_get_calendar($fmt);
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'El calendario del formateador es : ' . $fmt->getCalendar();
$fmt->setCalendar(IntlDateFormatter::TRADITIONAL);
echo 'Ahora el calendario del formateador es : ' . $fmt->getCalendar();
?>

El resultado del ejemplo sería:

El calendario del formateador es : 1
Ahora el calendario del formateador es : 0

Ejemplo #3 Ejemplo con el argumento IntlCalendar

<?php
$time = strtotime("2013-03-03 00:00:00 UTC");
$formatter = IntlDateFormatter::create("en_US", NULL, NULL, "Europe/Amsterdam");

echo "antes:   ", $formatter->format($time), "\n";

/* note that the calendar's locale is not used! */
$formatter->setCalendar(IntlCalendar::createInstance(
               "America/New_York", "pt_PT@calendar=islamic"));

echo "después: ", $formatter->format($time), "\n";

El resultado del ejemplo sería:

antes:   Sunday, March 3, 2013 at 1:00:00 AM Central European Standard Time
después: Saturday, Rabiʻ II 20, 1434 at 7:00:00 PM Eastern Standard Time

Ver también

  • datefmt_get_calendar() - Obtener el tipo de calendario usado por el objeto IntlDateFormatter
  • datefmt_get_calendar_object() - Obtener una copia del objeto calendario del formateador
  • datefmt_create() - Crear un formateador de fechas

IntlDateFormatter::parse
IntlDateFormatter::setLenient
IntlDateFormatter


Establecer la tolerancia del analizador

IntlDateFormatter::setCalendar
IntlDateFormatter::setPattern
IntlDateFormatter
PHP Manual

IntlDateFormatter::setLenient

datefmt_set_lenient

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::setLenient -- datefmt_set_lenient — Establecer la tolerancia del analizador

Descripción

Estilo orientado a objetos

public bool IntlDateFormatter::setLenient ( bool $lenient )

Estilo por procedimientos

bool datefmt_set_lenient ( IntlDateFormatter $fmt , bool $lenient )

Define si el analizador es estricto o tolerante al interpretar salidas que no coinciden exactamente con el patrón. Habilitar el análisis tolerante permite al analizador aceptar patrones de fecha u hora defectuosos, procesando lo más posible para obtener un valor. No se aceptan los espacios extra, tokens no reconocidos, o valores no válidos ("30 de febrero").

Parámetros

fmt

El recurso del formatedor.

lenient

Establecer si el analizador es tolerante o no, por defecto es FALSE (tolerante).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de datefmt_set_lenient()

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'dd/mm/yyyy'
);
echo 'La tolerancia del formateador es : ';
if ($fmt->isLenient()) {
    echo 'TRUE';
} else {
    echo 'FALSE';
}
datefmt_parse($fmt, '35/13/1971');
echo '\n Intentar realizar parse('35/13/1971').\nEl resultado es : ' . datefmt_parse($fmt, '35/13/1971');
if( intl_get_error_code() !=0 ){
    echo "\nEl mensaje del error es : ".intl_get_error_message();
    echo "\nEl código del error es : ".intl_get_error_code();
}
datefmt_set_lenient($fmt,false);
echo "Ahora la toleranca del formateador es : ";
if ($fmt->isLenient() ){
    echo('TRUE');
} else{
    echo('FALSE');
}
datefmt_parse($fmt,"35/13/1971");
echo "\n Intentar realizar parse('35/13/1971').\nEl resultado es : " . datefmt_parse($fmt, '35/13/1971');
if (intl_get_error_code() !=0 ){
    echo "\nEl mensaje del error es : ".intl_get_error_message();
    echo "\nEl código del error es : ".intl_get_error_code();
}

?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'dd/mm/yyyy'
);
echo La tolerancia del formateador es : ';
if ($fmt->isLenient() ){
    echo('TRUE');
} else{
    echo('FALSE');
}
$fmt->parse("35/13/1971");
echo "\n Intentar realizar parse('35/13/1971').\nEl resultado es : " . $fmt->parse('35/13/1971');
if (intl_get_error_code() !=0 ){
    echo "\nEl mensaje del error es : ".intl_get_error_message();
    echo "\nEl código del error es : ".intl_get_error_code();
}

$fmt->setLenient(FALSE);
echo 'Ahora la toleranca del formateador es : ';
if ($fmt->isLenient() ){
    echo('TRUE');
} else{
    echo('FALSE');
}
$fmt->parse("35/13/1971");
echo "\n Intentar realizar parse('35/13/1971').\nEl resultado es : " . $fmt->parse('35/13/1971');
if (intl_get_error_code() !=0 ){
    echo "\nEl mensaje del error es : ".intl_get_error_message();
    echo "\nEl código del error es : ".intl_get_error_code();
}

?>

El resultado del ejemplo sería:

La tolerancia del formateador es : TRUE
Intentar realizar parse('35/13/1971').
El resultado es : -2147483
Ahora la toleranca del formateador es : FALSE
Intentar realizar parse('35/13/1971').
El resultado es :
El mensaje del error es : Date parsing failed: U_PARSE_ERROR
El código del error es : 9

Ver también

  • datefmt_is_lenient() - Obtener la tolerancia usada por un formateador de IntlDateFormatter
  • datefmt_create() - Crear un formateador de fechas

IntlDateFormatter::setCalendar
IntlDateFormatter::setPattern
IntlDateFormatter


Establecer el patrón utilizado por el formateador de IntlDateFormatter

IntlDateFormatter::setLenient
IntlDateFormatter::setTimeZoneId
IntlDateFormatter
PHP Manual

IntlDateFormatter::setPattern

datefmt_set_pattern

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::setPattern -- datefmt_set_pattern — Establecer el patrón utilizado por el formateador de IntlDateFormatter

Descripción

Estilo orientado a objetos

public bool IntlDateFormatter::setPattern ( string $pattern )

Estilo por procedimientos

bool datefmt_set_pattern ( IntlDateFormatter $fmt , string $pattern )

Establece el patrón utilizado por el formateador de IntlDateFormatter.

Parámetros

fmt

El recurso del formatedor.

pattern

La nueva cadena de patrón a usar. Los patrones posibles están documentados es » http://userguide.icu-project.org/formatparse/datetime.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Las cadenas mal formateadas son normalmente la causa del fallo.

Ejemplos

Ejemplo #1 Ejemplo de datefmt_set_pattern()

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'MM/dd/yyyy'
);
echo 'El patrón del formateador es : ' . datefmt_get_pattern($fmt);
echo 'La primera salida con patrón es ' . datefmt_format( $fmt , 0);
datefmt_set_pattern($fmt,'yyyymmdd hh:mm:ss z');
echo 'Ahora el patrón del formateador es : ' . datefmt_get_pattern($fmt);
echo 'La segunda salida con patrón es ' . datefmt_format( $fmt , 0);

?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'MM/dd/yyyy'
);
echo 'El patrón del formateador es : ' . $fmt->getPattern();
echo 'La primera salida con patrón es ' .datefmt_format( $fmt , 0);
$fmt->setPattern('yyyymmdd hh:mm:ss z');
echo 'Ahora el patrón del formateador es : ' . $fmt->getPattern();
echo 'La segunda salida con patrón es ' . datefmt_format( $fmt , 0);

?>

El resultado del ejemplo sería:

El patrón del formateador es : MM/dd/yyyy
First Formatted output with pattern is 12/31/1969
Ahora el patrón del formateador es : yyyymmdd hh:mm:ss z
La segunda salida con patrón es 19690031 04:00:00 PST

Ver también

  • datefmt_get_pattern() - Obtener el patrón utilizado por un formateador de IntlDateFormatter
  • datefmt_create() - Crear un formateador de fechas

IntlDateFormatter::setLenient
IntlDateFormatter::setTimeZoneId
IntlDateFormatter


Establecer la zona horaria a usar

IntlDateFormatter::setPattern
IntlDateFormatter::setTimeZone
IntlDateFormatter
PHP Manual

IntlDateFormatter::setTimeZoneId

datefmt_set_timezone_id

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::setTimeZoneId -- datefmt_set_timezone_id — Establecer la zona horaria a usar

Descripción

Estilo orientado a objetos

public bool IntlDateFormatter::setTimeZoneId ( string $zone )

Estilo por procedimientos

bool datefmt_set_timezone_id ( IntlDateFormatter $fmt , string $zone )

Establece la zona horaria a usar.

Advertencia

Esta función ha sido declarada OBSOLETA desde PHP 5.5.0. Su uso está totalmente desaconsejado.

Parámetros

fmt

El recurso del formatedor.

zone

La cadena que contiene el ID de la zona horaria a usar. Si es NULL o una cadena vacía, se usa la zona horaria predeterminada en tiempo de ejecución.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de datefmt_set_timezone_id()

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'El ID de la zona horaria del formateador es : ' . datefmt_get_timezone_id($fmt);
datefmt_set_timezone_id($fmt,'CN');
echo 'Ahora el ID de la zona horaria del formateador es : ' . datefmt_get_timezone_id($fmt);
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'El ID de la zona horaria del formateador es : ' . $fmt->getTimezoneId();
$fmt->setTimezoneId('CN');
echo 'Ahora el ID de la zona horaria del formateador es : ' . $fmt->getTimezoneId();

?>

El resultado del ejemplo sería:

El ID de la zona horaria del formateador es : America/Los_Angeles
Ahora el ID de la zona horaria del formateador es : CN

Ver también

  • datefmt_get_timezone_id() - Obtener el ID de la zona horario usada por un formateador de IntlDateFormatter
  • datefmt_create() - Crear un formateador de fechas

IntlDateFormatter::setPattern
IntlDateFormatter::setTimeZone
IntlDateFormatter


Establece la zona horaria del formateador

IntlDateFormatter::setTimeZoneId
ResourceBundle
IntlDateFormatter
PHP Manual

IntlDateFormatter::setTimeZone

datefmt_set_timezone

(PHP 5 >= 5.5.0, PECL intl >= 3.0.0)

IntlDateFormatter::setTimeZone -- datefmt_set_timezone — Establece la zona horaria del formateador

Descripción

Estilo orientado a objetos

public boolean IntlDateFormatter::setTimeZone ( mixed $zone )

Estilo por procedimientos

boolean datefmt_set_timezone ( mixed $zone )

Establece la zona horaria que se usará al formatear fechas u horas con este objeto.

Parámetros

zone

La zona horaria a usar para este formateador. Puede ser especificada en las siguientes formas:

  • NULL, en cuyo caso se usará la zona horaria predeterminada, tal como está especificada en el ajuste ini date.timezone o a través de la función date_default_timezone_set() y como es devuelto por date_default_timezone_get().

  • Un IntlTimeZone, que se usará directamente.

  • Un DateTimeZone. Su identificador será extraido y se creará un objeto de zona horaria de ICU; la zona horaria será proporcionada por la base de datos de ICU, no por la de PHP.

  • Un string, que debería ser un identificador de zona horaria de ICU válido. Véase IntlTimeZone::createTimeZoneIDEnumeration(). Los índices puros como "GMT+08:30" también se aceptan.

Valores devueltos

Devuelve TRUE en caso de éxito y FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplos de IntlDateFormatter::setTimeZone()

<?php
ini_set('date.timezone', 'Europe/Amsterdam');

$formatter = IntlDateFormatter::create(NULL, NULL, NULL, "UTC");

$formatter->setTimeZone(NULL);
echo "NULL\n    ", $formatter->getTimeZone()->getId(), "\n";

$formatter->setTimeZone(IntlTimeZone::createTimeZone('Europe/Lisbon'));
echo "IntlTimeZone\n    ", $formatter->getTimeZone()->getId(), "\n";

$formatter->setTimeZone(new DateTimeZone('Europe/Paris'));
echo "DateTimeZone\n    ", $formatter->getTimeZone()->getId(), "\n";

$formatter->setTimeZone('Europe/Rome');
echo "String\n    ", $formatter->getTimeZone()->getId(), "\n";

$formatter->setTimeZone('GMT+00:30');
print_r($formatter->getTimeZone());

El resultado del ejemplo sería:

NULL
    Europe/Amsterdam
IntlTimeZone
    Europe/Lisbon
DateTimeZone
    Europe/Paris
String
    Europe/Rome
IntlTimeZone Object
(
    [valid] => 1
    [id] => GMT+00:30
    [rawOffset] => 1800000
    [currentOffset] => 1800000
)

Ver también

  • IntlDateFormatter::getTimeZone() - Obtener la zona horaria del formateador

IntlDateFormatter::setTimeZoneId
ResourceBundle
IntlDateFormatter


La clase ResourceBundle

(PHP >= 5.3.2, PECL intl >= 2.0.0)

Introducción

Los productos de software regionales a menudo requieren conjuntos de datos que necesitan ser personalizados dependiendo de la configuración regional actual, p.ej: mensajes, etiquetas, patrones de formateo. El mecanismo de recursos de ICU permite definir conjuntos de recursos que la aplicación puede cargar basándose en la configuración regional, mientras que accede a ellos de una manera unificada independiente de la configuración regional.

Esta clase implementa el acceso a los ficheros de datos de recursos de ICU. Estos ficheros son arrays de información binaria que ICU utiliza para almacenar la información regional.

El paquete de recursos de ICU puede contener recursos simples y recursos complejos. Los recursos complejos son contenedores que pueden tener sus índices como enteros y como cadenas (al igual que los arrays de PHP). Los recursos simples pueden ser de los siguientes tipos: string, integer, campos de datos binarios o array de enteros.r integer array.

ResourceBundle soporta el acceso directo a la información a través patrones de acceso al array y la iteración mediante foreach, así como el acceso mediante métodos de clase. El resultado será un valor de PHP para recursos simples y un objeto ResourceBundle para los complejos. Todos los recursos son de sólo lectura.

Sinopsis de la Clase

ResourceBundle {
/* Métodos */
public __construct ( string $locale , string $bundlename [, bool $fallback ] )
public int count ( void )
public static ResourceBundle create ( string $locale , string $bundlename [, bool $fallback ] )
public int getErrorCode ( void )
public string getErrorMessage ( void )
public mixed get ( string|int $index )
public array getLocales ( string $bundlename )
}

Ver también

  • » Gestor de Recursos de ICU
  • » Datos de ICU

Tabla de contenidos

  • ResourceBundle::count — Obtener el número de elementos de un paquete
  • ResourceBundle::create — Crear un paquete de recursos
  • ResourceBundle::getErrorCode — Obtener el códido del último error del paquete
  • ResourceBundle::getErrorMessage — Obtener el mensaje del último error del paquete
  • ResourceBundle::get — Obtener datos de un paquete
  • ResourceBundle::getLocales — Obtener las configuraciones regionales soportadas
IntlDateFormatter::setTimeZone
ResourceBundle::count
intl


Obtener el número de elementos de un paquete

ResourceBundle
ResourceBundle::create
ResourceBundle
PHP Manual

ResourceBundle::count

resourcebundle_count

(PHP >= 5.3.2, PECL intl >= 2.0.0)

ResourceBundle::count -- resourcebundle_count — Obtener el número de elementos de un paquete

Descripción

Estilo orientado a objetos

public int ResourceBundle::count ( void )

Estilo por procedimientos

int resourcebundle_count ( ResourceBundle $r )

Obtiene el número de elementos de un paquete.

Parámetros

r

Un objeto de la clase ResourceBundle.

Valores devueltos

Devuelve el número de elementos de un paquete.

Ejemplos

Ejemplo #1 Ejemplo de resourcebundle_count()

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/myapp");
echo resourcebundle_count($r);
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$r = new ResourceBundle( 'es', "/usr/share/data/myapp");
echo $r->count();
?>

El resultado del ejemplo sería:

42

Ver también

  • resourcebundle_get() - Obtener datos de un paquete

ResourceBundle
ResourceBundle::create
ResourceBundle


Crear un paquete de recursos

ResourceBundle::count
ResourceBundle::getErrorCode
ResourceBundle
PHP Manual

ResourceBundle::create

resourcebundle_create

ResourceBundle::__construct

(PHP >= 5.3.2, PECL intl >= 2.0.0)

ResourceBundle::create -- resourcebundle_create -- ResourceBundle::__construct — Crear un paquete de recursos

Descripción

Estilo orientado a objetos (método)

public static ResourceBundle ResourceBundle::create ( string $locale , string $bundlename [, bool $fallback ] )

Estilo por procedimientos

ResourceBundle resourcebundle_create ( string $locale , string $bundlename [, bool $fallback ] )

Estilo orientado a objetos (constructor)

public ResourceBundle::__construct() ( string $locale , string $bundlename [, bool $fallback ] )

Crea un paquete de recursos.

Parámetros

locale

La configuración regional para la cual los recursos debería ser cargado (nombre de la configuración regional, p.ej. en_CA).

bundlename

El directorio donde es almacenada la información o el nombre del fichero .dat.

fallback

Si la configuración debería coincidir exactamente si está permitido retroceder a la configuración regional padre.

Valores devueltos

Devuelve un objeto de la clase ResourceBundle o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de resourcebundle_create()

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/myapp");
echo $r['teststring'];
?>

Ejemplo #2 Ejemplo de ResourceBundle::create()

<?php
$r = ResourceBundle::create( 'es', "/usr/share/data/myapp");
echo $r['teststring'];
?>

El resultado del ejemplo sería:

¡Hola, mundo!

Ver también

  • resourcebundle_get() - Obtener datos de un paquete

ResourceBundle::count
ResourceBundle::getErrorCode
ResourceBundle


Obtener el códido del último error del paquete

ResourceBundle::create
ResourceBundle::getErrorMessage
ResourceBundle
PHP Manual

ResourceBundle::getErrorCode

resourcebundle_get_error_code

(PHP >= 5.3.2, PECL intl >= 2.0.0)

ResourceBundle::getErrorCode -- resourcebundle_get_error_code — Obtener el códido del último error del paquete

Descripción

Estilo orientado a objetos

public int ResourceBundle::getErrorCode ( void )

Estilo por procedimientos

int resourcebundle_get_error_code ( ResourceBundle $r )

Obtiene el código del error de la última función realizada por el objeto paquete.

Parámetros

r

Un objeto de la clase ResourceBundle.

Valores devueltos

Devuelve el código del error de la última llamada del objeto paquete.

Ejemplos

Ejemplo #1 Ejemplo de resourcebundle_get_error_code()

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/myapp");
echo $r['somestring'];
if(intl_is_failure(resourcebundle_get_error_code($r))) {
    report_error("Error de paquete");
}
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$r = new ResourceBundle( 'es', "/usr/share/data/myapp");
echo $r['somestring'];
if(intl_is_failure(ResourceBundle::getErrorCode($r))) {
    report_error("Error de paquete");
}
?>

Ver también

  • resourcebundle_get_error_message() - Obtener el mensaje del último error del paquete
  • intl_get_error_code() - Obtiene el último código de error
  • intl_is_failure() - Comprueba si el código de error dado indica un fallo

ResourceBundle::create
ResourceBundle::getErrorMessage
ResourceBundle


Obtener el mensaje del último error del paquete

ResourceBundle::getErrorCode
ResourceBundle::get
ResourceBundle
PHP Manual

ResourceBundle::getErrorMessage

resourcebundle_get_error_message

(PHP >= 5.3.2, PECL intl >= 2.0.0)

ResourceBundle::getErrorMessage -- resourcebundle_get_error_message — Obtener el mensaje del último error del paquete

Descripción

Estilo orientado a objetos

public string ResourceBundle::getErrorMessage ( void )

Estilo por procedimientos

string resourcebundle_get_error_message ( ResourceBundle $r )

Obtiene el mensaje del error de la última función realizada por el objeto paquete.

Parámetros

r

Un objeto de la clase ResourceBundle.

Valores devueltos

Devuelve el mensaje del error de la última llamada del objeto paquete.

Ejemplos

Ejemplo #1 Ejemplo de resourcebundle_get_error_message()

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/myapp");
echo $r['somestring'];
if(intl_is_failure(resourcebundle_get_error_code($r))) {
    report_error("Error de paquete: ".resourcebundle_get_error_message($r));
}
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$r = new ResourceBundle( 'es', "/usr/share/data/myapp");
echo $r['somestring'];
if(intl_is_failure(ResourceBundle::getErrorCode($r))) {
    report_error("Error de paquete: ".ResourceBundle::getErrorMessage($r));
}
?>

Ver también

  • resourcebundle_get_error_code() - Obtener el códido del último error del paquete
  • intl_get_error_code() - Obtiene el último código de error
  • intl_is_failure() - Comprueba si el código de error dado indica un fallo

ResourceBundle::getErrorCode
ResourceBundle::get
ResourceBundle


Obtener datos de un paquete

ResourceBundle::getErrorMessage
ResourceBundle::getLocales
ResourceBundle
PHP Manual

ResourceBundle::get

resourcebundle_get

(PHP >= 5.3.2, PECL intl >= 2.0.0)

ResourceBundle::get -- resourcebundle_get — Obtener datos de un paquete

Descripción

Estilo orientado a objetos

public mixed ResourceBundle::get ( string|int $index )

Estilo por procedimientos

mixed resourcebundle_get ( ResourceBundle $r , string|int $index )

Obtiene los datos de un paquete mediante claves de índice o cadena.

Parámetros

r

Un objeto de la clase ResourceBundle.

index

Índice del dato, debe ser de tipo string o integer.

Valores devueltos

Devuelve los datos ubicados en el índice o NULL en caso de error. Las cadenas, enteros y cadenas de datos binarios son devueltas como su tipo correspondiente en PHP, los array de enteros son devueltos como arrays de PHP. Los tipos complejos son devueltos como objetos de la clase ResourceBundle.

Ejemplos

Ejemplo #1 Ejemplo de resourcebundle_get()

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/myapp");
echo resourcebundle_get($r, 'somestring');
?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$r = new ResourceBundle( 'es', "/usr/share/data/myapp");
echo $r->get('somestring');
?>

El resultado del ejemplo sería:

?Hola, mundo!

Ver también

  • resourcebundle_count() - Obtener el número de elementos de un paquete

ResourceBundle::getErrorMessage
ResourceBundle::getLocales
ResourceBundle


Obtener las configuraciones regionales soportadas

ResourceBundle::get
Spoofchecker
ResourceBundle
PHP Manual

ResourceBundle::getLocales

resourcebundle_locales

(PHP >= 5.3.2, PECL intl >= 2.0.0)

ResourceBundle::getLocales -- resourcebundle_locales — Obtener las configuraciones regionales soportadas

Descripción

Estilo orientado a objetos

public array ResourceBundle::getLocales ( string $bundlename )

Estilo por procedimientos

array resourcebundle_locales ( string $bundlename )

Obtiene las configuraciones regionales disponibles desde el nombre de ResourceBundle.

Parámetros

bundlename

La ruta del ResourceBundle del que obtener las configuraciones regionales disponibles, o una cadena vacía para la lista de configuraciones regionales predeterminadas.

Valores devueltos

Devuelve la lista de las configuraciones regionales soportadas por el paquete.

Ejemplos

Ejemplo #1 Ejemplo de resourcebundle_locales()

<?php
$bundle = "/user/share/data/myapp";
echo join(PHP_EOL, resourcebundle_locales($bundle);
?>

El resultado del ejemplo sería algo similar a:

es
root

Ejemplo #2 Ejemplo orientado a objetos

<?php
$bundle = "/usr/share/data/myapp";
$r = new ResourceBundle( 'es', $bundle);
echo join("\n", $r->getLocales($bundle));
?>

El resultado del ejemplo sería algo similar a:

es
root

Ver también

  • resourcebundle_get() - Obtener datos de un paquete

ResourceBundle::get
Spoofchecker
ResourceBundle


La clase Spoofchecker

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Introducción

Sinopsis de la Clase

Spoofchecker {
/* Constantes */
const integer SINGLE_SCRIPT_CONFUSABLE = 1 ;
const integer MIXED_SCRIPT_CONFUSABLE = 2 ;
const integer WHOLE_SCRIPT_CONFUSABLE = 4 ;
const integer ANY_CASE = 8 ;
const integer SINGLE_SCRIPT = 16 ;
const integer INVISIBLE = 32 ;
const integer CHAR_LIMIT = 64 ;
/* Métodos */
public bool areConfusable ( string $s1 , string $s2 [, string &$error ] )
public __construct ( void )
public bool isSuspicious ( string $text [, string &$error ] )
public void setAllowedLocales ( string $locale_list )
public void setChecks ( string $checks )
}

Constantes predefinidas

Spoofchecker::SINGLE_SCRIPT_CONFUSABLE

Spoofchecker::MIXED_SCRIPT_CONFUSABLE

Spoofchecker::WHOLE_SCRIPT_CONFUSABLE

Spoofchecker::ANY_CASE

Spoofchecker::SINGLE_SCRIPT

Spoofchecker::INVISIBLE

Spoofchecker::CHAR_LIMIT

Tabla de contenidos

  • Spoofchecker::areConfusable — Comprobar si un texto dado contiene carateres que pueden ser confusos
  • Spoofchecker::__construct — Constructor
  • Spoofchecker::isSuspicious — Comprobar si un texto dad contiene caracteres sospechosos
  • Spoofchecker::setAllowedLocales — Las configuraciones regionales a usar cuando se ejecutan las comprobaciones
  • Spoofchecker::setChecks — Establecer las comprobaciones a ejecutar
ResourceBundle::getLocales
Spoofchecker::areConfusable
intl


Comprobar si un texto dado contiene carateres que pueden ser confusos

Spoofchecker
Spoofchecker::__construct
Spoofchecker
PHP Manual

Spoofchecker::areConfusable

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Spoofchecker::areConfusable — Comprobar si un texto dado contiene carateres que pueden ser confusos

Descripción

public bool Spoofchecker::areConfusable ( string $s1 , string $s2 [, string &$error ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

s1

s2

error

Valores devueltos

Spoofchecker
Spoofchecker::__construct
Spoofchecker


Constructor

Spoofchecker::areConfusable
Spoofchecker::isSuspicious
Spoofchecker
PHP Manual

Spoofchecker::__construct

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Spoofchecker::__construct — Constructor

Descripción

public Spoofchecker::__construct ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Spoofchecker::areConfusable
Spoofchecker::isSuspicious
Spoofchecker


Comprobar si un texto dad contiene caracteres sospechosos

Spoofchecker::__construct
Spoofchecker::setAllowedLocales
Spoofchecker
PHP Manual

Spoofchecker::isSuspicious

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Spoofchecker::isSuspicious — Comprobar si un texto dad contiene caracteres sospechosos

Descripción

public bool Spoofchecker::isSuspicious ( string $text [, string &$error ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

text

error

Valores devueltos

Spoofchecker::__construct
Spoofchecker::setAllowedLocales
Spoofchecker


Las configuraciones regionales a usar cuando se ejecutan las comprobaciones

Spoofchecker::isSuspicious
Spoofchecker::setChecks
Spoofchecker
PHP Manual

Spoofchecker::setAllowedLocales

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Spoofchecker::setAllowedLocales — Las configuraciones regionales a usar cuando se ejecutan las comprobaciones

Descripción

public void Spoofchecker::setAllowedLocales ( string $locale_list )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

locale_list

Valores devueltos

Spoofchecker::isSuspicious
Spoofchecker::setChecks
Spoofchecker


Establecer las comprobaciones a ejecutar

Spoofchecker::setAllowedLocales
Transliterator
Spoofchecker
PHP Manual

Spoofchecker::setChecks

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Spoofchecker::setChecks — Establecer las comprobaciones a ejecutar

Descripción

public void Spoofchecker::setChecks ( string $checks )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

checks

Valores devueltos

Spoofchecker::setAllowedLocales
Transliterator
Spoofchecker


La clase Transliterator

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Introducción

La clase Transliterator proporciona transliteraciones de cadenas.

Sinopsis de la Clase

Transliterator {
/* Constantes */
const integer FORWARD = 0 ;
const integer REVERSE = 1 ;
/* Propiedades */
public $id ;
/* Métodos */
__construct ( void )
public static Transliterator create ( string $id [, int $direction ] )
public static Transliterator createFromRules ( string $rules [, string $direction ] )
public Transliterator createInverse ( void )
public int getErrorCode ( void )
public string getErrorMessage ( void )
public static array listIDs ( void )
public string transliterate ( string $subject [, int $start [, int $end ]] )
}

Propiedades

id

Constantes predefinidas

Transliterator::FORWARD

Transliterator::REVERSE

Tabla de contenidos

  • Transliterator::__construct — Constructor privado para denegar la instanciación
  • Transliterator::create — Crear un transliterador
  • Transliterator::createFromRules — Crear un transliterador desdes normas
  • Transliterator::createInverse — Cerar una transliteración inversa
  • Transliterator::getErrorCode — Obtener el código del último error
  • Transliterator::getErrorMessage — Obtener el mensaje del último error
  • Transliterator::listIDs — Obtener los IDs de los transliterardores
  • Transliterator::transliterate — Transliterar una cadena
Spoofchecker::setChecks
Transliterator::__construct
intl


Constructor privado para denegar la instanciación

Transliterator
Transliterator::create
Transliterator
PHP Manual

Transliterator::__construct

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Transliterator::__construct — Constructor privado para denegar la instanciación

Descripción

Transliterator::__construct() ( void )

Este método no debería ser llamada. Su único propósito es denegar la instanciación con el operador new.

En su lugar use los métodos de fábrica Transliterator::create() o Transliterator::createFromRules().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Este método no debería ser ejecutado. Si lo es (p.ej. a través de reflexión), devuelve un valor no especificado.

Ver también

  • Transliterator::create() - Crear un transliterador
  • Transliterator::createFromRules() - Crear un transliterador desdes normas

Transliterator
Transliterator::create
Transliterator


Crear un transliterador

Transliterator::__construct
Transliterator::createFromRules
Transliterator
PHP Manual

Transliterator::create

transliterator_create

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Transliterator::create -- transliterator_create — Crear un transliterador

Descripción

Estilo orientado a objetos

public static Transliterator Transliterator::create ( string $id [, int $direction ] )

Estilo por procedimientos

Transliterator transliterator_create ( string $id [, int $direction ] )

Abrir un transliterador mediante su ID.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

id

El identificador.

direction

La dirección, por defecto es >Transliterator::FORWARD. También se puede establecer a Transliterator::REVERSE.

Valores devueltos

Devuelve un objeto de la clase Transliterator en caso de éxito, o NULL en caso de error.

Ver también

  • Transliterator::getErrorMessage() - Obtener el mensaje del último error
  • Transliterator::__construct() - Constructor privado para denegar la instanciación

Transliterator::__construct
Transliterator::createFromRules
Transliterator


Crear un transliterador desdes normas

Transliterator::create
Transliterator::createInverse
Transliterator
PHP Manual

Transliterator::createFromRules

transliterator_create_from_rules

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Transliterator::createFromRules -- transliterator_create_from_rules — Crear un transliterador desdes normas

Descripción

Estilo orientado a objetos

public static Transliterator Transliterator::createFromRules ( string $rules [, string $direction ] )

Estilo por procedimientos

Transliterator transliterator_create_from_rules ( string $id [, int $direction ] )

Crea un transliterador desdes normas.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

rules

Las normas.

direction

La dirección, por defecto es >Transliterator::FORWARD. También se puede establecer a Transliterator::REVERSE.

Valores devueltos

Devuelve un objeto de la clase Transliterator en caso de éxito, o NULL en caso de error.

Ver también

  • Transliterator::getErrorMessage() - Obtener el mensaje del último error
  • Transliterator::create() - Crear un transliterador

Transliterator::create
Transliterator::createInverse
Transliterator


Cerar una transliteración inversa

Transliterator::createFromRules
Transliterator::getErrorCode
Transliterator
PHP Manual

Transliterator::createInverse

transliterator_create_inverse

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Transliterator::createInverse -- transliterator_create_inverse — Cerar una transliteración inversa

Descripción

Estilo orientado a objetos

public Transliterator Transliterator::createInverse ( void )

Estilo por procedimientos

Transliterator transliterator_create_inverse ( void )

Abre el transliterador del transliterador inverso.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un objeto de la clase Transliterator en caso de éxito, o NULL en caso de error

Ver también

  • Transliterator::getErrorMessage() - Obtener el mensaje del último error
  • Transliterator::create() - Crear un transliterador

Transliterator::createFromRules
Transliterator::getErrorCode
Transliterator


Obtener el código del último error

Transliterator::createInverse
Transliterator::getErrorMessage
Transliterator
PHP Manual

Transliterator::getErrorCode

transliterator_get_error_code

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Transliterator::getErrorCode -- transliterator_get_error_code — Obtener el código del último error

Descripción

Estilo orientado a objetos

public int Transliterator::getErrorCode ( void )

Estilo por procedimientos

int transliterator_get_error_code ( void )

Obtiene el código del último error de este transliterador.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El código del error en caso de éxito, o FALSE si no existe o en caso de error.

Ver también

  • Transliterator::getErrorMessage() - Obtener el mensaje del último error
  • Transliterator::listIDs() - Obtener los IDs de los transliterardores

Transliterator::createInverse
Transliterator::getErrorMessage
Transliterator


Obtener el mensaje del último error

Transliterator::getErrorCode
Transliterator::listIDs
Transliterator
PHP Manual

Transliterator::getErrorMessage

transliterator_get_error_message

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Transliterator::getErrorMessage -- transliterator_get_error_message — Obtener el mensaje del último error

Descripción

Estilo orientado a objetos

public string Transliterator::getErrorMessage ( void )

Estilo por procedimientos

string transliterator_get_error_message ( void )

Obtiene el mensaje del último error para este transliterador.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El código del error en caso de éxito, o FALSE si no existe o en caso de error.

Ver también

  • Transliterator::getErrorCode() - Obtener el código del último error
  • Transliterator::listIDs() - Obtener los IDs de los transliterardores

Transliterator::getErrorCode
Transliterator::listIDs
Transliterator


Obtener los IDs de los transliterardores

Transliterator::getErrorMessage
Transliterator::transliterate
Transliterator
PHP Manual

Transliterator::listIDs

transliterator_list_ids

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Transliterator::listIDs -- transliterator_list_ids — Obtener los IDs de los transliterardores

Descripción

Estilo orientado a objetos

public static array Transliterator::listIDs ( void )

Estilo por procedimientos

array transliterator_list_ids ( void )

Devuelve un array con los IDs de los transliteradores registrados.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un array con los IDs de los transliteradores registrados en caso de éxito. o FALSE en caso de error.

Ver también

  • Transliterator::getErrorMessage() - Obtener el mensaje del último error
  • Transliterator::transliterate() - Transliterar una cadena

Transliterator::getErrorMessage
Transliterator::transliterate
Transliterator


Transliterar una cadena

Transliterator::listIDs
IntlBreakIterator
Transliterator
PHP Manual

Transliterator::transliterate

transliterator_transliterate

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Transliterator::transliterate -- transliterator_transliterate — Transliterar una cadena

Descripción

Estilo orientado a objetos

public string Transliterator::transliterate ( string $subject [, int $start [, int $end ]] )

Estilo por procedimientos

transliterator_transliterate ( mixed $transliterator , string $subject [, int $start [, int $end ]] )

Translitera una cadena o parte de la misma utilizando el transliterador de ICU.

Parámetros

transliterator

En la versión por procedimientos, un objeto de la clase Transliterator o un string desde el cual se puede construir un objeto de la clase Transliterator.

subject

La cadena a transformar.

start

El índice de inicio (en unidades de código UTF-16) desde el cual se empezará a transformar la cadena, inclusive. La indexación comienza en 0. El texto anterior a este índice se dejará tal cual.

end

El índice final (en unidades de código UTF-16) hasta el cual será transformala la cadena, exclusive. La indexación comienza en 0. El texto posterior a este índice se dejará tal cual.

Valores devueltos

La cadena transformada en caso de éxito, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Converting escaped UTF-16 code units

<?php
$s = "\u304A\u65E9\u3046\u3054\u3056\u3044\u307E\u3059";
echo transliterator_transliterate("Hex-Any/Java", $s), "\n";

// ahora la operación inversa con un caráctar suplementario
$carácterSuplementario = html_entity_decode('&#x1D11E;');
echo mb_strlen($carácter_suplementario, "UTF-8"), "\n";
$carácterSuplementarioCodificado = transliterator_transliterate("Any-Hex/Java", $carácter_suplementario);
// imprime dos unidades de código UTF-16 codificadas
echo $carácterSuplementarioCodificado, "\n";
// y volver
echo transliterator_transliterate("Hex-Any/Java", $carácterSuplementario ), "\n";
?>

El resultado del ejemplo sería algo similar a:

お早うございます
1
\uD834\uDD1E
𝄞

Ver también

  • Transliterator::getErrorMessage() - Obtener el mensaje del último error
  • Transliterator::__construct() - Constructor privado para denegar la instanciación

Transliterator::listIDs
IntlBreakIterator
Transliterator


La clase IntlBreakIterator

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Un “iterador de ruptura” es un objeto ICU que expone métodos para localizar los límites de un texto (p.ej. límites de palabra o sentencia). La clase IntlBreakIterator de PHP sirve como la clase base para todos los tipos de iteradores de ruptura de ICU. Donde esté disponible funcionalidad extra, la extensión intl puede exponer el iterador de ruptura de ICU con subclases aptas, como IntlRuleBasedBreakIterator o IntlCodePointBreaIterator.

Esta clase implementa Traversable. Recorrer un IntlBreakIterator produce valores enteros no negativos que representan las ubicaciones sucesibas de los límites del texto, expresados como unidades de código UTF-8 (byte), tomados del inicio del texto (que tienen la ubicación 0). Las claves producidas pord el iterador simplemente forman la secuencia de números naturales {0, 1, 2, …}.

Sinopsis de la Clase

IntlBreakIterator implements Traversable {
/* Constantes */
const integer DONE = -1 ;
const integer WORD_NONE = 0 ;
const integer WORD_NONE_LIMIT = 100 ;
const integer WORD_NUMBER = 100 ;
const integer WORD_NUMBER_LIMIT = 200 ;
const integer WORD_LETTER = 200 ;
const integer WORD_LETTER_LIMIT = 300 ;
const integer WORD_KANA = 300 ;
const integer WORD_KANA_LIMIT = 400 ;
const integer WORD_IDEO = 400 ;
const integer WORD_IDEO_LIMIT = 500 ;
const integer LINE_SOFT = 0 ;
const integer LINE_SOFT_LIMIT = 100 ;
const integer LINE_HARD = 100 ;
const integer LINE_HARD_LIMIT = 200 ;
const integer SENTENCE_TERM = 0 ;
const integer SENTENCE_TERM_LIMIT = 100 ;
const integer SENTENCE_SEP = 100 ;
const integer SENTENCE_SEP_LIMIT = 200 ;
/* Métodos */
private __construct ( void )
public static ReturnType createCharacterInstance ([ string $"locale" ] )
public static ReturnType createCodePointInstance ( void )
public static ReturnType createLineInstance ([ string $"locale" ] )
public static ReturnType createSentenceInstance ([ string $"locale" ] )
public static ReturnType createTitleInstance ([ string $"locale" ] )
public static ReturnType createWordInstance ([ string $"locale" ] )
public ReturnType current ( void )
public ReturnType first ( void )
public ReturnType following ( string $"offset" )
public ReturnType getErrorCode ( void )
ReturnType intl_get_error_code ( void )
public ReturnType getErrorMessage ( void )
ReturnType intl_get_error_message ( void )
public ReturnType getLocale ( string $"locale_type" )
public ReturnType getPartsIterator ([ string $"key_type" ] )
public ReturnType getText ( void )
public ReturnType isBoundary ( string $"offset" )
public ReturnType last ( void )
public ReturnType next ([ string $"offset" ] )
public ReturnType preceding ( string $"offset" )
public ReturnType previous ( void )
public ReturnType setText ( string $"text" )
}

Constantes predefinidas

IntlBreakIterator::DONE

IntlBreakIterator::WORD_NONE

IntlBreakIterator::WORD_NONE_LIMIT

IntlBreakIterator::WORD_NUMBER

IntlBreakIterator::WORD_NUMBER_LIMIT

IntlBreakIterator::WORD_LETTER

IntlBreakIterator::WORD_LETTER_LIMIT

IntlBreakIterator::WORD_KANA

IntlBreakIterator::WORD_KANA_LIMIT

IntlBreakIterator::WORD_IDEO

IntlBreakIterator::WORD_IDEO_LIMIT

IntlBreakIterator::LINE_SOFT

IntlBreakIterator::LINE_SOFT_LIMIT

IntlBreakIterator::LINE_HARD

IntlBreakIterator::LINE_HARD_LIMIT

IntlBreakIterator::SENTENCE_TERM

IntlBreakIterator::SENTENCE_TERM_LIMIT

IntlBreakIterator::SENTENCE_SEP

IntlBreakIterator::SENTENCE_SEP_LIMIT

Tabla de contenidos

  • IntlBreakIterator::__construct — Private constructor for disallowing instantiation
  • IntlBreakIterator::createCharacterInstance — Create break iterator for boundaries of combining character sequences
  • IntlBreakIterator::createCodePointInstance — Create break iterator for boundaries of code points
  • IntlBreakIterator::createLineInstance — Create break iterator for logically possible line breaks
  • IntlBreakIterator::createSentenceInstance — Create break iterator for sentence breaks
  • IntlBreakIterator::createTitleInstance — Create break iterator for title-casing breaks
  • IntlBreakIterator::createWordInstance — Create break iterator for word breaks
  • IntlBreakIterator::current — Get index of current position
  • IntlBreakIterator::first — Set position to the first character in the text
  • IntlBreakIterator::following — Advance the iterator to the first boundary following specified offset
  • IntlBreakIterator::getErrorCode — Get last error code on the object
  • IntlBreakIterator::getErrorMessage — Get last error message on the object
  • IntlBreakIterator::getLocale — Get the locale associated with the object
  • IntlBreakIterator::getPartsIterator — Create iterator for navigating fragments between boundaries
  • IntlBreakIterator::getText — Get the text being scanned
  • IntlBreakIterator::isBoundary — Tell whether an offset is a boundaryʼs offset
  • IntlBreakIterator::last — Set the iterator position to index beyond the last character
  • IntlBreakIterator::next — Advance the iterator the next boundary
  • IntlBreakIterator::preceding — Set the iterator position to the first boundary before an offset
  • IntlBreakIterator::previous — Set the iterator position to the boundary immediately before the current
  • IntlBreakIterator::setText — Set the text being scanned
Transliterator::transliterate
IntlBreakIterator::__construct
intl


Private constructor for disallowing instantiation

IntlBreakIterator
IntlBreakIterator::createCharacterInstance
IntlBreakIterator
PHP Manual

IntlBreakIterator::__construct

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlBreakIterator::__construct — Private constructor for disallowing instantiation

Descripción

private IntlBreakIterator::__construct ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlBreakIterator
IntlBreakIterator::createCharacterInstance
IntlBreakIterator


Create break iterator for boundaries of combining character sequences

IntlBreakIterator::__construct
IntlBreakIterator::createCodePointInstance
IntlBreakIterator
PHP Manual

IntlBreakIterator::createCharacterInstance

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlBreakIterator::createCharacterInstance — Create break iterator for boundaries of combining character sequences

Descripción

public static ReturnType IntlBreakIterator::createCharacterInstance ([ string $"locale" ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

"locale"

Valores devueltos

IntlBreakIterator::__construct
IntlBreakIterator::createCodePointInstance
IntlBreakIterator


Create break iterator for boundaries of code points

IntlBreakIterator::createCharacterInstance
IntlBreakIterator::createLineInstance
IntlBreakIterator
PHP Manual

IntlBreakIterator::createCodePointInstance

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlBreakIterator::createCodePointInstance — Create break iterator for boundaries of code points

Descripción

public static ReturnType IntlBreakIterator::createCodePointInstance ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlBreakIterator::createCharacterInstance
IntlBreakIterator::createLineInstance
IntlBreakIterator


Create break iterator for logically possible line breaks

IntlBreakIterator::createCodePointInstance
IntlBreakIterator::createSentenceInstance
IntlBreakIterator
PHP Manual

IntlBreakIterator::createLineInstance

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlBreakIterator::createLineInstance — Create break iterator for logically possible line breaks

Descripción

public static ReturnType IntlBreakIterator::createLineInstance ([ string $"locale" ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

"locale"

Valores devueltos

IntlBreakIterator::createCodePointInstance
IntlBreakIterator::createSentenceInstance
IntlBreakIterator


Create break iterator for sentence breaks

IntlBreakIterator::createLineInstance
IntlBreakIterator::createTitleInstance
IntlBreakIterator
PHP Manual

IntlBreakIterator::createSentenceInstance

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlBreakIterator::createSentenceInstance — Create break iterator for sentence breaks

Descripción

public static ReturnType IntlBreakIterator::createSentenceInstance ([ string $"locale" ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

"locale"

Valores devueltos

IntlBreakIterator::createLineInstance
IntlBreakIterator::createTitleInstance
IntlBreakIterator


Create break iterator for title-casing breaks

IntlBreakIterator::createSentenceInstance
IntlBreakIterator::createWordInstance
IntlBreakIterator
PHP Manual

IntlBreakIterator::createTitleInstance

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlBreakIterator::createTitleInstance — Create break iterator for title-casing breaks

Descripción

public static ReturnType IntlBreakIterator::createTitleInstance ([ string $"locale" ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

"locale"

Valores devueltos

IntlBreakIterator::createSentenceInstance
IntlBreakIterator::createWordInstance
IntlBreakIterator


Create break iterator for word breaks

IntlBreakIterator::createTitleInstance
IntlBreakIterator::current
IntlBreakIterator
PHP Manual

IntlBreakIterator::createWordInstance

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlBreakIterator::createWordInstance — Create break iterator for word breaks

Descripción

public static ReturnType IntlBreakIterator::createWordInstance ([ string $"locale" ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

"locale"

Valores devueltos

IntlBreakIterator::createTitleInstance
IntlBreakIterator::current
IntlBreakIterator


Get index of current position

IntlBreakIterator::createWordInstance
IntlBreakIterator::first
IntlBreakIterator
PHP Manual

IntlBreakIterator::current

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlBreakIterator::current — Get index of current position

Descripción

public ReturnType IntlBreakIterator::current ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlBreakIterator::createWordInstance
IntlBreakIterator::first
IntlBreakIterator


Set position to the first character in the text

IntlBreakIterator::current
IntlBreakIterator::following
IntlBreakIterator
PHP Manual

IntlBreakIterator::first

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlBreakIterator::first — Set position to the first character in the text

Descripción

public ReturnType IntlBreakIterator::first ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlBreakIterator::current
IntlBreakIterator::following
IntlBreakIterator


Advance the iterator to the first boundary following specified offset

IntlBreakIterator::first
IntlBreakIterator::getErrorCode
IntlBreakIterator
PHP Manual

IntlBreakIterator::following

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlBreakIterator::following — Advance the iterator to the first boundary following specified offset

Descripción

public ReturnType IntlBreakIterator::following ( string $"offset" )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

"offset"

Valores devueltos

IntlBreakIterator::first
IntlBreakIterator::getErrorCode
IntlBreakIterator


Get last error code on the object

IntlBreakIterator::following
IntlBreakIterator::getErrorMessage
IntlBreakIterator
PHP Manual

IntlBreakIterator::getErrorCode

intl_get_error_code

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlBreakIterator::getErrorCode -- intl_get_error_code — Get last error code on the object

Descripción

Estilo orientado a objetos (method):

public ReturnType IntlBreakIterator::getErrorCode ( void )

Estilo por procedimientos:

ReturnType intl_get_error_code ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlBreakIterator::following
IntlBreakIterator::getErrorMessage
IntlBreakIterator


Get last error message on the object

IntlBreakIterator::getErrorCode
IntlBreakIterator::getLocale
IntlBreakIterator
PHP Manual

IntlBreakIterator::getErrorMessage

intl_get_error_message

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlBreakIterator::getErrorMessage -- intl_get_error_message — Get last error message on the object

Descripción

Estilo orientado a objetos (method):

public ReturnType IntlBreakIterator::getErrorMessage ( void )

Estilo por procedimientos:

ReturnType intl_get_error_message ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlBreakIterator::getErrorCode
IntlBreakIterator::getLocale
IntlBreakIterator


Get the locale associated with the object

IntlBreakIterator::getErrorMessage
IntlBreakIterator::getPartsIterator
IntlBreakIterator
PHP Manual

IntlBreakIterator::getLocale

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlBreakIterator::getLocale — Get the locale associated with the object

Descripción

public ReturnType IntlBreakIterator::getLocale ( string $"locale_type" )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

"locale_type"

Valores devueltos

IntlBreakIterator::getErrorMessage
IntlBreakIterator::getPartsIterator
IntlBreakIterator


Create iterator for navigating fragments between boundaries

IntlBreakIterator::getLocale
IntlBreakIterator::getText
IntlBreakIterator
PHP Manual

IntlBreakIterator::getPartsIterator

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlBreakIterator::getPartsIterator — Create iterator for navigating fragments between boundaries

Descripción

public ReturnType IntlBreakIterator::getPartsIterator ([ string $"key_type" ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

"key_type"

Valores devueltos

IntlBreakIterator::getLocale
IntlBreakIterator::getText
IntlBreakIterator


Get the text being scanned

IntlBreakIterator::getPartsIterator
IntlBreakIterator::isBoundary
IntlBreakIterator
PHP Manual

IntlBreakIterator::getText

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlBreakIterator::getText — Get the text being scanned

Descripción

public ReturnType IntlBreakIterator::getText ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlBreakIterator::getPartsIterator
IntlBreakIterator::isBoundary
IntlBreakIterator


Tell whether an offset is a boundaryʼs offset

IntlBreakIterator::getText
IntlBreakIterator::last
IntlBreakIterator
PHP Manual

IntlBreakIterator::isBoundary

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlBreakIterator::isBoundary — Tell whether an offset is a boundaryʼs offset

Descripción

public ReturnType IntlBreakIterator::isBoundary ( string $"offset" )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

"offset"

Valores devueltos

IntlBreakIterator::getText
IntlBreakIterator::last
IntlBreakIterator


Set the iterator position to index beyond the last character

IntlBreakIterator::isBoundary
IntlBreakIterator::next
IntlBreakIterator
PHP Manual

IntlBreakIterator::last

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlBreakIterator::last — Set the iterator position to index beyond the last character

Descripción

public ReturnType IntlBreakIterator::last ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlBreakIterator::isBoundary
IntlBreakIterator::next
IntlBreakIterator


Advance the iterator the next boundary

IntlBreakIterator::last
IntlBreakIterator::preceding
IntlBreakIterator
PHP Manual

IntlBreakIterator::next

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlBreakIterator::next — Advance the iterator the next boundary

Descripción

public ReturnType IntlBreakIterator::next ([ string $"offset" ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

"offset"

Valores devueltos

IntlBreakIterator::last
IntlBreakIterator::preceding
IntlBreakIterator


Set the iterator position to the first boundary before an offset

IntlBreakIterator::next
IntlBreakIterator::previous
IntlBreakIterator
PHP Manual

IntlBreakIterator::preceding

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlBreakIterator::preceding — Set the iterator position to the first boundary before an offset

Descripción

public ReturnType IntlBreakIterator::preceding ( string $"offset" )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

"offset"

Valores devueltos

IntlBreakIterator::next
IntlBreakIterator::previous
IntlBreakIterator


Set the iterator position to the boundary immediately before the current

IntlBreakIterator::preceding
IntlBreakIterator::setText
IntlBreakIterator
PHP Manual

IntlBreakIterator::previous

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlBreakIterator::previous — Set the iterator position to the boundary immediately before the current

Descripción

public ReturnType IntlBreakIterator::previous ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlBreakIterator::preceding
IntlBreakIterator::setText
IntlBreakIterator


Set the text being scanned

IntlBreakIterator::previous
IntlRuleBasedBreakIterator
IntlBreakIterator
PHP Manual

IntlBreakIterator::setText

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlBreakIterator::setText — Set the text being scanned

Descripción

public ReturnType IntlBreakIterator::setText ( string $"text" )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

"text"

Valores devueltos

IntlBreakIterator::previous
IntlRuleBasedBreakIterator
IntlBreakIterator


La clase IntlRuleBasedBreakIterator

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Una subclase de IntlBreakIterator que encapsula iteradores de ruptura de ICU cuyo comportamiento se especifica usando un conjunto de reglas. Este es el tipo más común de iteradores de ruptura.

Estas reglas están descritas en la» Guía de usuario de análisis de límites de ICU.

Sinopsis de la Clase

IntlRuleBasedBreakIterator extends IntlBreakIterator implements Traversable {
/* Constantes */
const integer DONE = -1 ;
const integer WORD_NONE = 0 ;
const integer WORD_NONE_LIMIT = 100 ;
const integer WORD_NUMBER = 100 ;
const integer WORD_NUMBER_LIMIT = 200 ;
const integer WORD_LETTER = 200 ;
const integer WORD_LETTER_LIMIT = 300 ;
const integer WORD_KANA = 300 ;
const integer WORD_KANA_LIMIT = 400 ;
const integer WORD_IDEO = 400 ;
const integer WORD_IDEO_LIMIT = 500 ;
const integer LINE_SOFT = 0 ;
const integer LINE_SOFT_LIMIT = 100 ;
const integer LINE_HARD = 100 ;
const integer LINE_HARD_LIMIT = 200 ;
const integer SENTENCE_TERM = 0 ;
const integer SENTENCE_TERM_LIMIT = 100 ;
const integer SENTENCE_SEP = 100 ;
const integer SENTENCE_SEP_LIMIT = 200 ;
/* Métodos */
public __construct ( string $rules [, string $areCompiled ] )
public ReturnType getBinaryRules ( void )
public ReturnType getRules ( void )
public ReturnType getRuleStatus ( void )
public ReturnType getRuleStatusVec ( void )
/* Métodos heredados */
private IntlBreakIterator::__construct ( void )
public static ReturnType IntlBreakIterator::createCharacterInstance ([ string $"locale" ] )
public static ReturnType IntlBreakIterator::createCodePointInstance ( void )
public static ReturnType IntlBreakIterator::createLineInstance ([ string $"locale" ] )
public static ReturnType IntlBreakIterator::createSentenceInstance ([ string $"locale" ] )
public static ReturnType IntlBreakIterator::createTitleInstance ([ string $"locale" ] )
public static ReturnType IntlBreakIterator::createWordInstance ([ string $"locale" ] )
public ReturnType IntlBreakIterator::current ( void )
public ReturnType IntlBreakIterator::first ( void )
public ReturnType IntlBreakIterator::following ( string $"offset" )
public ReturnType IntlBreakIterator::getErrorCode ( void )
ReturnType intl_get_error_code ( void )
public ReturnType IntlBreakIterator::getErrorMessage ( void )
ReturnType intl_get_error_message ( void )
public ReturnType IntlBreakIterator::getLocale ( string $"locale_type" )
public ReturnType IntlBreakIterator::getPartsIterator ([ string $"key_type" ] )
public ReturnType IntlBreakIterator::getText ( void )
public ReturnType IntlBreakIterator::isBoundary ( string $"offset" )
public ReturnType IntlBreakIterator::last ( void )
public ReturnType IntlBreakIterator::next ([ string $"offset" ] )
public ReturnType IntlBreakIterator::preceding ( string $"offset" )
public ReturnType IntlBreakIterator::previous ( void )
public ReturnType IntlBreakIterator::setText ( string $"text" )
}

Constantes predefinidas

IntlRuleBasedBreakIterator::DONE

IntlRuleBasedBreakIterator::WORD_NONE

IntlRuleBasedBreakIterator::WORD_NONE_LIMIT

IntlRuleBasedBreakIterator::WORD_NUMBER

IntlRuleBasedBreakIterator::WORD_NUMBER_LIMIT

IntlRuleBasedBreakIterator::WORD_LETTER

IntlRuleBasedBreakIterator::WORD_LETTER_LIMIT

IntlRuleBasedBreakIterator::WORD_KANA

IntlRuleBasedBreakIterator::WORD_KANA_LIMIT

IntlRuleBasedBreakIterator::WORD_IDEO

IntlRuleBasedBreakIterator::WORD_IDEO_LIMIT

IntlRuleBasedBreakIterator::LINE_SOFT

IntlRuleBasedBreakIterator::LINE_SOFT_LIMIT

IntlRuleBasedBreakIterator::LINE_HARD

IntlRuleBasedBreakIterator::LINE_HARD_LIMIT

IntlRuleBasedBreakIterator::SENTENCE_TERM

IntlRuleBasedBreakIterator::SENTENCE_TERM_LIMIT

IntlRuleBasedBreakIterator::SENTENCE_SEP

IntlRuleBasedBreakIterator::SENTENCE_SEP_LIMIT

Tabla de contenidos

  • IntlRuleBasedBreakIterator::__construct — Create iterator from ruleset
  • IntlRuleBasedBreakIterator::getBinaryRules — Get the binary form of compiled rules
  • IntlRuleBasedBreakIterator::getRules — Get the rule set used to create this object
  • IntlRuleBasedBreakIterator::getRuleStatus — Get the largest status value from the break rules that determined the current break position
  • IntlRuleBasedBreakIterator::getRuleStatusVec — Get the status values from the break rules that determined the current break position
IntlBreakIterator::setText
IntlRuleBasedBreakIterator::__construct
intl


Create iterator from ruleset

IntlRuleBasedBreakIterator
IntlRuleBasedBreakIterator::getBinaryRules
IntlRuleBasedBreakIterator
PHP Manual

IntlRuleBasedBreakIterator::__construct

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlRuleBasedBreakIterator::__construct — Create iterator from ruleset

Descripción

public IntlRuleBasedBreakIterator::__construct ( string $rules [, string $areCompiled ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

"rules"

"areCompiled"

Valores devueltos

IntlRuleBasedBreakIterator
IntlRuleBasedBreakIterator::getBinaryRules
IntlRuleBasedBreakIterator


Get the binary form of compiled rules

IntlRuleBasedBreakIterator::__construct
IntlRuleBasedBreakIterator::getRules
IntlRuleBasedBreakIterator
PHP Manual

IntlRuleBasedBreakIterator::getBinaryRules

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlRuleBasedBreakIterator::getBinaryRules — Get the binary form of compiled rules

Descripción

public ReturnType IntlRuleBasedBreakIterator::getBinaryRules ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlRuleBasedBreakIterator::__construct
IntlRuleBasedBreakIterator::getRules
IntlRuleBasedBreakIterator


Get the rule set used to create this object

IntlRuleBasedBreakIterator::getBinaryRules
IntlRuleBasedBreakIterator::getRuleStatus
IntlRuleBasedBreakIterator
PHP Manual

IntlRuleBasedBreakIterator::getRules

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlRuleBasedBreakIterator::getRules — Get the rule set used to create this object

Descripción

public ReturnType IntlRuleBasedBreakIterator::getRules ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlRuleBasedBreakIterator::getBinaryRules
IntlRuleBasedBreakIterator::getRuleStatus
IntlRuleBasedBreakIterator


Get the largest status value from the break rules that determined the current break position

IntlRuleBasedBreakIterator::getRules
IntlRuleBasedBreakIterator::getRuleStatusVec
IntlRuleBasedBreakIterator
PHP Manual

IntlRuleBasedBreakIterator::getRuleStatus

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlRuleBasedBreakIterator::getRuleStatus — Get the largest status value from the break rules that determined the current break position

Descripción

public ReturnType IntlRuleBasedBreakIterator::getRuleStatus ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlRuleBasedBreakIterator::getRules
IntlRuleBasedBreakIterator::getRuleStatusVec
IntlRuleBasedBreakIterator


Get the status values from the break rules that determined the current break position

IntlRuleBasedBreakIterator::getRuleStatus
IntlCodePointBreakIterator
IntlRuleBasedBreakIterator
PHP Manual

IntlRuleBasedBreakIterator::getRuleStatusVec

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlRuleBasedBreakIterator::getRuleStatusVec — Get the status values from the break rules that determined the current break position

Descripción

public ReturnType IntlRuleBasedBreakIterator::getRuleStatusVec ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlRuleBasedBreakIterator::getRuleStatus
IntlCodePointBreakIterator
IntlRuleBasedBreakIterator


La clase IntlCodePointBreakIterator

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Este iterador de ruptura identifica los límites entre puntos de código de UTF-8.

Sinopsis de la Clase

IntlCodePointBreakIterator extends IntlBreakIterator implements Traversable {
/* Constantes */
const integer DONE = -1 ;
const integer WORD_NONE = 0 ;
const integer WORD_NONE_LIMIT = 100 ;
const integer WORD_NUMBER = 100 ;
const integer WORD_NUMBER_LIMIT = 200 ;
const integer WORD_LETTER = 200 ;
const integer WORD_LETTER_LIMIT = 300 ;
const integer WORD_KANA = 300 ;
const integer WORD_KANA_LIMIT = 400 ;
const integer WORD_IDEO = 400 ;
const integer WORD_IDEO_LIMIT = 500 ;
const integer LINE_SOFT = 0 ;
const integer LINE_SOFT_LIMIT = 100 ;
const integer LINE_HARD = 100 ;
const integer LINE_HARD_LIMIT = 200 ;
const integer SENTENCE_TERM = 0 ;
const integer SENTENCE_TERM_LIMIT = 100 ;
const integer SENTENCE_SEP = 100 ;
const integer SENTENCE_SEP_LIMIT = 200 ;
/* Métodos */
public ReturnType getLastCodePoint ( void )
/* Métodos heredados */
private IntlBreakIterator::__construct ( void )
public static ReturnType IntlBreakIterator::createCharacterInstance ([ string $"locale" ] )
public static ReturnType IntlBreakIterator::createCodePointInstance ( void )
public static ReturnType IntlBreakIterator::createLineInstance ([ string $"locale" ] )
public static ReturnType IntlBreakIterator::createSentenceInstance ([ string $"locale" ] )
public static ReturnType IntlBreakIterator::createTitleInstance ([ string $"locale" ] )
public static ReturnType IntlBreakIterator::createWordInstance ([ string $"locale" ] )
public ReturnType IntlBreakIterator::current ( void )
public ReturnType IntlBreakIterator::first ( void )
public ReturnType IntlBreakIterator::following ( string $"offset" )
public ReturnType IntlBreakIterator::getErrorCode ( void )
ReturnType intl_get_error_code ( void )
public ReturnType IntlBreakIterator::getErrorMessage ( void )
ReturnType intl_get_error_message ( void )
public ReturnType IntlBreakIterator::getLocale ( string $"locale_type" )
public ReturnType IntlBreakIterator::getPartsIterator ([ string $"key_type" ] )
public ReturnType IntlBreakIterator::getText ( void )
public ReturnType IntlBreakIterator::isBoundary ( string $"offset" )
public ReturnType IntlBreakIterator::last ( void )
public ReturnType IntlBreakIterator::next ([ string $"offset" ] )
public ReturnType IntlBreakIterator::preceding ( string $"offset" )
public ReturnType IntlBreakIterator::previous ( void )
public ReturnType IntlBreakIterator::setText ( string $"text" )
}

Constantes predefinidas

IntlCodePointBreakIterator::DONE

IntlCodePointBreakIterator::WORD_NONE

IntlCodePointBreakIterator::WORD_NONE_LIMIT

IntlCodePointBreakIterator::WORD_NUMBER

IntlCodePointBreakIterator::WORD_NUMBER_LIMIT

IntlCodePointBreakIterator::WORD_LETTER

IntlCodePointBreakIterator::WORD_LETTER_LIMIT

IntlCodePointBreakIterator::WORD_KANA

IntlCodePointBreakIterator::WORD_KANA_LIMIT

IntlCodePointBreakIterator::WORD_IDEO

IntlCodePointBreakIterator::WORD_IDEO_LIMIT

IntlCodePointBreakIterator::LINE_SOFT

IntlCodePointBreakIterator::LINE_SOFT_LIMIT

IntlCodePointBreakIterator::LINE_HARD

IntlCodePointBreakIterator::LINE_HARD_LIMIT

IntlCodePointBreakIterator::SENTENCE_TERM

IntlCodePointBreakIterator::SENTENCE_TERM_LIMIT

IntlCodePointBreakIterator::SENTENCE_SEP

IntlCodePointBreakIterator::SENTENCE_SEP_LIMIT

Tabla de contenidos

  • IntlCodePointBreakIterator::getLastCodePoint — Get last code point passed over after advancing or receding the iterator
IntlRuleBasedBreakIterator::getRuleStatusVec
IntlCodePointBreakIterator::getLastCodePoint
intl


Get last code point passed over after advancing or receding the iterator

IntlCodePointBreakIterator
IntlPartsIterator
IntlCodePointBreakIterator
PHP Manual

IntlCodePointBreakIterator::getLastCodePoint

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlCodePointBreakIterator::getLastCodePoint — Get last code point passed over after advancing or receding the iterator

Descripción

public ReturnType IntlCodePointBreakIterator::getLastCodePoint ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlCodePointBreakIterator
IntlPartsIterator
IntlCodePointBreakIterator


La clase IntlPartsIterator

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Los objetos de esta clase se pueden obtener desde objetos IntlBreakIterator. Mientras que los iteradores de ruptura proporcionan una secuencia de posiciones límite cuando son recorridos, los objetos IntlPartsIterator proporcionan, como ventaja, los fragmentos de texto comprendidos entre dos límites sucesivos.

Las claves podrían representar el índice del límite izquierdo, límite derecho, o podrían simplemente representar la secuencia de enteros no negativos. Véase IntlBreakIterator::getPartsIterator().

Sinopsis de la Clase

IntlPartsIterator extends IntlIterator implements Iterator {
/* Constantes */
const integer KEY_SEQUENTIAL = 0 ;
const integer KEY_LEFT = 1 ;
const integer KEY_RIGHT = 2 ;
/* Métodos */
public ReturnType getBreakIterator ( void )
/* Métodos heredados */
public ReturnType IntlIterator::current ( void )
public ReturnType IntlIterator::key ( void )
public ReturnType IntlIterator::next ( void )
public ReturnType IntlIterator::rewind ( void )
public ReturnType IntlIterator::valid ( void )
}

Constantes predefinidas

IntlPartsIterator::KEY_SEQUENTIAL

IntlPartsIterator::KEY_LEFT

IntlPartsIterator::KEY_RIGHT

Tabla de contenidos

  • IntlPartsIterator::getBreakIterator — Get IntlBreakIterator backing this parts iterator
IntlCodePointBreakIterator::getLastCodePoint
IntlPartsIterator::getBreakIterator
intl


Get IntlBreakIterator backing this parts iterator

IntlPartsIterator
UConverter
IntlPartsIterator
PHP Manual

IntlPartsIterator::getBreakIterator

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlPartsIterator::getBreakIterator — Get IntlBreakIterator backing this parts iterator

Descripción

public ReturnType IntlPartsIterator::getBreakIterator ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlPartsIterator
UConverter
IntlPartsIterator


La clase UConverter

(PHP 5.5.0, PECL >= 3.0.0a1)

Introducción

Sinopsis de la Clase

UConverter {
/* Constantes */
const integer REASON_UNASSIGNED = 0 ;
const integer REASON_ILLEGAL = 1 ;
const integer REASON_IRREGULAR = 2 ;
const integer REASON_RESET = 3 ;
const integer REASON_CLOSE = 4 ;
const integer REASON_CLONE = 5 ;
const integer UNSUPPORTED_CONVERTER = -1 ;
const integer SBCS = 0 ;
const integer DBCS = 1 ;
const integer MBCS = 2 ;
const integer LATIN_1 = 3 ;
const integer UTF8 = 4 ;
const integer UTF16_BigEndian = 5 ;
const integer UTF16_LittleEndian = 6 ;
const integer UTF32_BigEndian = 7 ;
const integer UTF32_LittleEndian = 8 ;
const integer EBCDIC_STATEFUL = 9 ;
const integer ISO_2022 = 10 ;
const integer LMBCS_1 = 11 ;
const integer LMBCS_2 = 12 ;
const integer LMBCS_3 = 13 ;
const integer LMBCS_4 = 14 ;
const integer LMBCS_5 = 15 ;
const integer LMBCS_6 = 16 ;
const integer LMBCS_8 = 17 ;
const integer LMBCS_11 = 18 ;
const integer LMBCS_16 = 19 ;
const integer LMBCS_17 = 20 ;
const integer LMBCS_18 = 21 ;
const integer LMBCS_19 = 22 ;
const integer LMBCS_LAST = 22 ;
const integer HZ = 23 ;
const integer SCSU = 24 ;
const integer ISCII = 25 ;
const integer US_ASCII = 26 ;
const integer UTF7 = 27 ;
const integer BOCU1 = 28 ;
const integer UTF16 = 29 ;
const integer UTF32 = 30 ;
const integer CESU8 = 31 ;
const integer IMAP_MAILBOX = 32 ;
/* Métodos */
public __construct ([ string $destination_encoding [, string $source_encoding ]] )
public string convert ( string $str [, bool $reverse ] )
public mixed fromUCallback ( integer $reason , string $source , string $codePoint , integer &$error )
public static array getAliases ([ string $name ] )
public static array getAvailable ( void )
public string getDestinationEncoding ( void )
public integer getDestinationType ( void )
public integer getErrorCode ( void )
public string getErrorMessage ( void )
public string getSourceEncoding ( void )
public integer getSourceType ( void )
public static array getStandards ( void )
public string getSubstChars ( void )
public static string reasonText ([ integer $reason ] )
public void setDestinationEncoding ( string $encoding )
public void setSourceEncoding ( string $encoding )
public void setSubstChars ( string $chars )
public mixed toUCallback ( integer $reason , string $source , string $codeUnits , integer &$error )
public static string transcode ( string $str , string $toEncoding , string $fromEncoding [, array $options ] )
}

Constantes predefinidas

UConverter::REASON_UNASSIGNED

UConverter::REASON_ILLEGAL

UConverter::REASON_IRREGULAR

UConverter::REASON_RESET

UConverter::REASON_CLOSE

UConverter::REASON_CLONE

UConverter::UNSUPPORTED_CONVERTER

UConverter::SBCS

UConverter::DBCS

UConverter::MBCS

UConverter::LATIN_1

UConverter::UTF8

UConverter::UTF16_BigEndian

UConverter::UTF16_LittleEndian

UConverter::UTF32_BigEndian

UConverter::UTF32_LittleEndian

UConverter::EBCDIC_STATEFUL

UConverter::ISO_2022

UConverter::LMBCS_1

UConverter::LMBCS_2

UConverter::LMBCS_3

UConverter::LMBCS_4

UConverter::LMBCS_5

UConverter::LMBCS_6

UConverter::LMBCS_8

UConverter::LMBCS_11

UConverter::LMBCS_16

UConverter::LMBCS_17

UConverter::LMBCS_18

UConverter::LMBCS_19

UConverter::LMBCS_LAST

UConverter::HZ

UConverter::SCSU

UConverter::ISCII

UConverter::US_ASCII

UConverter::UTF7

UConverter::BOCU1

UConverter::UTF16

UConverter::UTF32

UConverter::CESU8

UConverter::IMAP_MAILBOX

Tabla de contenidos

  • UConverter::__construct — Create UConverter object
  • UConverter::convert — Convert string from one charset to another
  • UConverter::fromUCallback — Default "from" callback function
  • UConverter::getAliases — Get the aliases of the given name
  • UConverter::getAvailable — Get the available canonical converter names
  • UConverter::getDestinationEncoding — Get the destination encoding
  • UConverter::getDestinationType — Get the destination converter type
  • UConverter::getErrorCode — Get last error code on the object
  • UConverter::getErrorMessage — Get last error message on the object
  • UConverter::getSourceEncoding — Get the source encoding
  • UConverter::getSourceType — Get the source convertor type
  • UConverter::getStandards — Get standards associated to converter names
  • UConverter::getSubstChars — Get substitution chars
  • UConverter::reasonText — Get string representation of the callback reason
  • UConverter::setDestinationEncoding — Set the destination encoding
  • UConverter::setSourceEncoding — Set the source encoding
  • UConverter::setSubstChars — Set the substitution chars
  • UConverter::toUCallback — Default "to" callback function
  • UConverter::transcode — Convert string from one charset to another
IntlPartsIterator::getBreakIterator
UConverter::__construct
intl


Create UConverter object

UConverter
UConverter::convert
UConverter
PHP Manual

UConverter::__construct

(PHP 5.5.0, PECL >= 3.0.0a1)

UConverter::__construct — Create UConverter object

Descripción

public UConverter::__construct ([ string $destination_encoding [, string $source_encoding ]] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

destination_encoding

source_encoding

Valores devueltos

UConverter
UConverter::convert
UConverter


Convert string from one charset to another

UConverter::__construct
UConverter::fromUCallback
UConverter
PHP Manual

UConverter::convert

(PHP 5.5.0, PECL >= 3.0.0a1)

UConverter::convert — Convert string from one charset to another

Descripción

public string UConverter::convert ( string $str [, bool $reverse ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

str

reverse

Valores devueltos

UConverter::__construct
UConverter::fromUCallback
UConverter


Default "from" callback function

UConverter::convert
UConverter::getAliases
UConverter
PHP Manual

UConverter::fromUCallback

(PHP 5.5.0, PECL >= 3.0.0a1)

UConverter::fromUCallback — Default "from" callback function

Descripción

public mixed UConverter::fromUCallback ( integer $reason , string $source , string $codePoint , integer &$error )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

reason

source

codePoint

error

Valores devueltos

UConverter::convert
UConverter::getAliases
UConverter


Get the aliases of the given name

UConverter::fromUCallback
UConverter::getAvailable
UConverter
PHP Manual

UConverter::getAliases

(PHP 5.5.0, PECL >= 3.0.0a1)

UConverter::getAliases — Get the aliases of the given name

Descripción

public static array UConverter::getAliases ([ string $name ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

Valores devueltos

UConverter::fromUCallback
UConverter::getAvailable
UConverter


Get the available canonical converter names

UConverter::getAliases
UConverter::getDestinationEncoding
UConverter
PHP Manual

UConverter::getAvailable

(PHP 5.5.0, PECL >= 3.0.0a1)

UConverter::getAvailable — Get the available canonical converter names

Descripción

public static array UConverter::getAvailable ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

UConverter::getAliases
UConverter::getDestinationEncoding
UConverter


Get the destination encoding

UConverter::getAvailable
UConverter::getDestinationType
UConverter
PHP Manual

UConverter::getDestinationEncoding

(PHP 5.5.0, PECL >= 3.0.0a1)

UConverter::getDestinationEncoding — Get the destination encoding

Descripción

public string UConverter::getDestinationEncoding ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

UConverter::getAvailable
UConverter::getDestinationType
UConverter


Get the destination converter type

UConverter::getDestinationEncoding
UConverter::getErrorCode
UConverter
PHP Manual

UConverter::getDestinationType

(PHP 5.5.0, PECL >= 3.0.0a1)

UConverter::getDestinationType — Get the destination converter type

Descripción

public integer UConverter::getDestinationType ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

UConverter::getDestinationEncoding
UConverter::getErrorCode
UConverter


Get last error code on the object

UConverter::getDestinationType
UConverter::getErrorMessage
UConverter
PHP Manual

UConverter::getErrorCode

intl_get_error_code

(PHP 5.5.0, PECL >= 3.0.0a1)

UConverter::getErrorCode -- intl_get_error_code — Get last error code on the object

Descripción

public integer UConverter::getErrorCode ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

UConverter::getDestinationType
UConverter::getErrorMessage
UConverter


Get last error message on the object

UConverter::getErrorCode
UConverter::getSourceEncoding
UConverter
PHP Manual

UConverter::getErrorMessage

(PHP 5.5.0, PECL >= 3.0.0a1)

UConverter::getErrorMessage — Get last error message on the object

Descripción

public string UConverter::getErrorMessage ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

UConverter::getErrorCode
UConverter::getSourceEncoding
UConverter


Get the source encoding

UConverter::getErrorMessage
UConverter::getSourceType
UConverter
PHP Manual

UConverter::getSourceEncoding

(PHP 5.5.0, PECL >= 3.0.0a1)

UConverter::getSourceEncoding — Get the source encoding

Descripción

public string UConverter::getSourceEncoding ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

UConverter::getErrorMessage
UConverter::getSourceType
UConverter


Get the source convertor type

UConverter::getSourceEncoding
UConverter::getStandards
UConverter
PHP Manual

UConverter::getSourceType

(PHP 5.5.0, PECL >= 3.0.0a1)

UConverter::getSourceType — Get the source convertor type

Descripción

public integer UConverter::getSourceType ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

UConverter::getSourceEncoding
UConverter::getStandards
UConverter


Get standards associated to converter names

UConverter::getSourceType
UConverter::getSubstChars
UConverter
PHP Manual

UConverter::getStandards

(PHP 5.5.0, PECL >= 3.0.0a1)

UConverter::getStandards — Get standards associated to converter names

Descripción

public static array UConverter::getStandards ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

UConverter::getSourceType
UConverter::getSubstChars
UConverter


Get substitution chars

UConverter::getStandards
UConverter::reasonText
UConverter
PHP Manual

UConverter::getSubstChars

(PHP 5.5.0, PECL >= 3.0.0a1)

UConverter::getSubstChars — Get substitution chars

Descripción

public string UConverter::getSubstChars ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

UConverter::getStandards
UConverter::reasonText
UConverter


Get string representation of the callback reason

UConverter::getSubstChars
UConverter::setDestinationEncoding
UConverter
PHP Manual

UConverter::reasonText

(PHP 5.5.0, PECL >= 3.0.0a1)

UConverter::reasonText — Get string representation of the callback reason

Descripción

public static string UConverter::reasonText ([ integer $reason ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

reason

Valores devueltos

UConverter::getSubstChars
UConverter::setDestinationEncoding
UConverter


Set the destination encoding

UConverter::reasonText
UConverter::setSourceEncoding
UConverter
PHP Manual

UConverter::setDestinationEncoding

(PHP 5.5.0, PECL >= 3.0.0a1)

UConverter::setDestinationEncoding — Set the destination encoding

Descripción

public void UConverter::setDestinationEncoding ( string $encoding )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

encoding

Valores devueltos

UConverter::reasonText
UConverter::setSourceEncoding
UConverter


Set the source encoding

UConverter::setDestinationEncoding
UConverter::setSubstChars
UConverter
PHP Manual

UConverter::setSourceEncoding

(PHP 5.5.0, PECL >= 3.0.0a1)

UConverter::setSourceEncoding — Set the source encoding

Descripción

public void UConverter::setSourceEncoding ( string $encoding )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

encoding

Valores devueltos

UConverter::setDestinationEncoding
UConverter::setSubstChars
UConverter


Set the substitution chars

UConverter::setSourceEncoding
UConverter::toUCallback
UConverter
PHP Manual

UConverter::setSubstChars

(PHP 5.5.0, PECL >= 3.0.0a1)

UConverter::setSubstChars — Set the substitution chars

Descripción

public void UConverter::setSubstChars ( string $chars )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

chars

Valores devueltos

UConverter::setSourceEncoding
UConverter::toUCallback
UConverter


Default "to" callback function

UConverter::setSubstChars
UConverter::transcode
UConverter
PHP Manual

UConverter::toUCallback

(PHP 5.5.0, PECL >= 3.0.0a1)

UConverter::toUCallback — Default "to" callback function

Descripción

public mixed UConverter::toUCallback ( integer $reason , string $source , string $codeUnits , integer &$error )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

reason

source

codeUnits

error

Valores devueltos

UConverter::setSubstChars
UConverter::transcode
UConverter


Convert string from one charset to another

UConverter::toUCallback
Funciones de Grapheme
UConverter
PHP Manual

UConverter::transcode

(PHP 5.5.0, PECL >= 3.0.0a1)

UConverter::transcode — Convert string from one charset to another

Descripción

public static string UConverter::transcode ( string $str , string $toEncoding , string $fromEncoding [, array $options ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

str

toEncoding

fromEncoding

options

Valores devueltos

UConverter::toUCallback
Funciones de Grapheme
UConverter


Funciones de Grapheme

Tabla de contenidos

  • grapheme_extract — Función para extraer una secuencia de un clúster de grafemas predeterminados desde un buffer de texto, que puede estar codificado en UTF-8
  • grapheme_stripos — Buscar la posición (en unidades de grafema) de la primera coincidencia de una cadena insensible a mayúsculas-minúsculas
  • grapheme_stristr — Devolver parte de la cadena "pajar" desde la primera coincidencia de la cadena "aguja" insensible a mayúsculas-minúsculas hasta el final de "pajar"
  • grapheme_strlen — Obtener la longitud de una cadena en unidades de grafema
  • grapheme_strpos — Buscar la posición (en unidades de grafema) de la primera ocurrencia de una cadena
  • grapheme_strripos — Buscar la posición (en unidades de grafema) de la última coincidencia de una cadena insensible a mayúsculas-minúsculas
  • grapheme_strrpos — Buscar la posición (en unidades de grafema) de la última coincidencia de una cadena
  • grapheme_strstr — Devolver parte de la cadena "pajar" desde la primera coincidencia de la cadena "aguja" hasta el final de "pajar"
  • grapheme_substr — Devolver parte de una cadena
UConverter::transcode
grapheme_extract
intl


Función para extraer una secuencia de un clúster de grafemas predeterminados desde un buffer de texto, que puede estar codificado en UTF-8

Funciones de Grapheme
grapheme_stripos
Funciones de Grapheme
PHP Manual

grapheme_extract

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

grapheme_extract — Función para extraer una secuencia de un clúster de grafemas predeterminados desde un buffer de texto, que puede estar codificado en UTF-8

Descripción

Estilo por procedimientos

string grapheme_extract ( string $haystack , int $size [, int $extract_type [, int $start = 0 [, int &$next ]]] )

Función para extraer una secuencia de un clúster de grafemas predeterminados desde un buffer de texto, que puede estar codificado en UTF-8.

Parámetros

haystack

La cadena a buscar.

size

Número máximo de elementos -basado en el parámetro $extract_type- a devolver.

extract_type

Define el tipo de unidades mencionadas por el parámetro $size:

  • GRAPHEME_EXTR_COUNT (predeterminado) - $size es el número predeterminado de grupos de grafemas a extraer.
  • GRAPHEME_EXTR_MAXBYTES - $size es el número máximo de bytes devueltos.
  • GRAPHEME_EXTR_MAXCHARS - $size es el número máximo de caracteres UTF-8 devueltos.

start

Posición de inicio del parámetro $haystack en bytes -si se proporciona, debe ser cero o un valor positivo que sea menor o igual que la longitud del parámetro $haystack en bytes. Si $start no apunta al primer byte de un carácter UTF-8, la posición de inicio se mueve al límite del siguiente carácter.

next

Una referencia a un valor que será establecido a la posición de inicio siguiente. Cuando la funcion devuelve, este parámetro puede apuntar a la posición del primer byte después del final de la cadena.

Valores devueltos

Una cadena que empieza en el índice $start y termina en un límite de un grupo de grafemas predeterminado que se ajusta al $size y $extract_type especificados.

Ejemplos

Ejemplo #1 Ejemplo de grapheme_extract()

<?php

$carácter_a_anillo_nfd = "a\xCC\x8A";  // 'LETRA MINÚSCULA LATINA A CON ANILLO SUPERIOR' (U+00E5) forma de normalización "D"
$carácter_o_diéresis_nfd = "o\xCC\x88"; // 'LETRA MINÚSCULA LATINA O CON DIÉRESIS' (U+00F6) forma de normalización "D"

print urlencode(grapheme_extract( $carácter_a_anillo_nfd . $carácter_o_diéresis_nfd, 1, GRAPHEME_EXTR_COUNT, 2));

?>

El resultado del ejemplo sería:

o%CC%88

Ver también

  • grapheme_substr() - Devolver parte de una cadena
  • » Segementación de Texto Unicode: Límites de Grupos de Grafemas

Funciones de Grapheme
grapheme_stripos
Funciones de Grapheme


Buscar la posición (en unidades de grafema) de la primera coincidencia de una cadena insensible a mayúsculas-minúsculas

grapheme_extract
grapheme_stristr
Funciones de Grapheme
PHP Manual

grapheme_stripos

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

grapheme_stripos — Buscar la posición (en unidades de grafema) de la primera coincidencia de una cadena insensible a mayúsculas-minúsculas

Descripción

Estilo por procedimientos

int grapheme_stripos ( string $haystack , string $needle [, int $offset = 0 ] )

Busca la posición (en unidades de grafema) de la primera coincidencia de una cadena insensible a mayúsculas-minúsculas

Parámetros

haystack

La cadena en la que buscar (pajar). Debe ser válida en UTF-8.

needle

La cadena a buscar (aguja). Debe ser válida en UTF-8.

offset

El parámetro opcional $offset permite especificar dónde iniciar la búsqueda en haystack como un índice en unidades de grafema (no bytes o caracteres). La posición devuelta es aún relativa al comienzo del "pajar" sin tener en cuenta el valor de $offset.

Valores devueltos

Devuelve la posición como un entero. Si no encuentra la "aguja", grapheme_stripos() devolverá FALSE.

Ejemplos

Ejemplo #1 Ejemplo de grapheme_stripos()

<?php

$carácter_a_anillo_nfd = "a\xCC\x8A";  // 'LETRA MINÚSCULA LATINA A CON ANILLO SUPERIOR' (U+00E5) forma de normalización "D"
$carácter_o_diéresis_nfd = "o\xCC\x88"; // 'LETRA MINÚSCULA LATINA O CON DIÉRESIS' (U+00F6) forma de normalización "D"
$carácter_O_diéresis_nfd = "O\xCC\x88"; // 'LETRA MAYÚSCULA LATINA O CON DIÉRESIS' (U+00D6) forma de normalización "D"

print grapheme_stripos( $carácter_a_anillo_nfd . $carácter_a_anillo_nfd . $carácter_o_diéresis_nfd, $carácter_O_diéresis_nfd);

?>

El resultado del ejemplo sería:

2

Ver también

  • grapheme_stristr() - Devolver parte de la cadena "pajar" desde la primera coincidencia de la cadena "aguja" insensible a mayúsculas-minúsculas hasta el final de "pajar"
  • grapheme_strpos() - Buscar la posición (en unidades de grafema) de la primera ocurrencia de una cadena
  • grapheme_strripos() - Buscar la posición (en unidades de grafema) de la última coincidencia de una cadena insensible a mayúsculas-minúsculas
  • grapheme_strrpos() - Buscar la posición (en unidades de grafema) de la última coincidencia de una cadena
  • grapheme_strstr() - Devolver parte de la cadena "pajar" desde la primera coincidencia de la cadena "aguja" hasta el final de "pajar"
  • » Segementación de Texto Unicode: Límites de Grupos de Grafemas

grapheme_extract
grapheme_stristr
Funciones de Grapheme


Devolver parte de la cadena "pajar" desde la primera coincidencia de la cadena "aguja" insensible a mayúsculas-minúsculas hasta el final de "pajar"

grapheme_stripos
grapheme_strlen
Funciones de Grapheme
PHP Manual

grapheme_stristr

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

grapheme_stristr — Devolver parte de la cadena "pajar" desde la primera coincidencia de la cadena "aguja" insensible a mayúsculas-minúsculas hasta el final de "pajar"

Descripción

Estilo por procedimientos

string grapheme_stristr ( string $haystack , string $needle [, bool $before_needle = false ] )

Devuelve parte de la cadena "pajar" comenzando desde e incluyendo la primera coincidencia de la cadena "aguja" insensible a mayúsculas-minúsculas hasta el final de "pajar".

Parámetros

haystack

La cadena en la que buscar (pajar). Debe ser válida en UTF-8.

needle

La cadena a buscar (aguja). Debe ser válida en UTF-8.

before_needle

Si es TRUE, grapheme_stristr() devuelve la parte de "pajar" anterior a la primera coincidencia de "aguja" (excluyendo "aguja").

Valores devueltos

Devuelve la porción de $haystack, o FALSE si $needle no se encontró.

Ejemplos

Ejemplo #1 Ejemplo de grapheme_stristr()

<?php

$carácter_a_anillo_nfd = "a\xCC\x8A";  // 'LETRA MINÚSCULA LATINA A CON ANILLO SUPERIOR' (U+00E5) forma de normalización "D"
$carácter_o_diéresis_nfd = "o\xCC\x88"; // 'LETRA MINÚSCULA LATINA O CON DIÉRESIS' (U+00F6) forma de normalización "D"
$carácter_O_diéresis_nfd = "O\xCC\x88"; // 'LETRA MAYÚSCULA LATINA O CON DIÉRESIS' (U+00D6) forma de normalización "D"

print urlencode(grapheme_stristr( $carácter_a_anillo_nfd . $carácter_o_diéresis_nfd . $carácter_a_anillo_nfd, $carácter_O_diéresis_nfd));

?>

El resultado del ejemplo sería:

o%CC%88a%CC%8A

Ver también

  • grapheme_stripos() - Buscar la posición (en unidades de grafema) de la primera coincidencia de una cadena insensible a mayúsculas-minúsculas
  • grapheme_strpos() - Buscar la posición (en unidades de grafema) de la primera ocurrencia de una cadena
  • grapheme_strripos() - Buscar la posición (en unidades de grafema) de la última coincidencia de una cadena insensible a mayúsculas-minúsculas
  • grapheme_strrpos() - Buscar la posición (en unidades de grafema) de la última coincidencia de una cadena
  • grapheme_strstr() - Devolver parte de la cadena "pajar" desde la primera coincidencia de la cadena "aguja" hasta el final de "pajar"
  • » Segementación de Texto Unicode: Límites de Grupos de Grafemas

grapheme_stripos
grapheme_strlen
Funciones de Grapheme


Obtener la longitud de una cadena en unidades de grafema

grapheme_stristr
grapheme_strpos
Funciones de Grapheme
PHP Manual

grapheme_strlen

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

grapheme_strlen — Obtener la longitud de una cadena en unidades de grafema

Descripción

Estilo por procedimientos

int grapheme_strlen ( string $input )

Obtiene la longitud de una cadena en unidades de grafema (no bytes o caracteres)

Parámetros

input

La cadena a la que medir la longitud. Debe ser una cadena UTF-8 válida.

Valores devueltos

La longitud de la cadena en caso de éxito, y 0 si la cadena está vacía.

Ejemplos

Ejemplo #1 Ejemplo de grapheme_strlen()

<?php

$carácter_a_anillo_nfd = "a\xCC\x8A";  // 'LETRA MINÚSCULA LATINA A CON ANILLO SUPERIOR' (U+00E5) forma de normalización "D"
$carácter_o_diéresis_nfd = "o\xCC\x88"; // 'LETRA MINÚSCULA LATINA O CON DIÉRESIS' (U+00F6) forma de normalización "D"

print grapheme_strlen( 'abc' . $carácter_a_anillo_nfd . $carácter_o_diéresis_nfd . $carácter_a_anillo_nfd);

?>

El resultado del ejemplo sería:

6

Ver también

  • » Segementación de Texto Unicode: Límites de Grupos de Grafemas

grapheme_stristr
grapheme_strpos
Funciones de Grapheme


Buscar la posición (en unidades de grafema) de la primera ocurrencia de una cadena

grapheme_strlen
grapheme_strripos
Funciones de Grapheme
PHP Manual

grapheme_strpos

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

grapheme_strpos — Buscar la posición (en unidades de grafema) de la primera ocurrencia de una cadena

Descripción

Estilo por procedimientos

int grapheme_strpos ( string $haystack , string $needle [, int $offset = 0 ] )

Busca la posición (en unidades de grafema) de la primera ocurrencia de una cadena

Parámetros

haystack

La cadena en la que buscar (pajar). Debe ser válida en UTF-8.

needle

La cadena a buscar (aguja). Debe ser válida en UTF-8.

offset

El parámetro opcional $offset permite especificar dónde iniciar la búsqueda en haystack como un índice en unidades de grafema (no bytes o caracteres). La posición devuelta es aún relativa al comienzo del "pajar" sin tener en cuenta el valor de $offset.

Valores devueltos

Devuelve la posición como un entero. Si no encuentra la "aguja", grapheme_strpos() devolverá FALSE.

Ejemplos

Ejemplo #1 Ejemplo de grapheme_strpos()

<?php

$carácter_a_anillo_nfd = "a\xCC\x8A";  // 'LETRA MINÚSCULA LATINA A CON ANILLO SUPERIOR' (U+00E5) forma de normalización "D"
$carácter_o_diéresis_nfd = "o\xCC\x88"; // 'LETRA MINÚSCULA LATINA O CON DIÉRESIS' (U+00F6) forma de normalización "D"

print grapheme_strpos( $carácter_a_anillo_nfd . $carácter_a_anillo_nfd . $carácter_o_diéresis_nfd, $carácter_o_diéresis_nfd);

?>

El resultado del ejemplo sería:

2

Ver también

  • grapheme_stripos() - Buscar la posición (en unidades de grafema) de la primera coincidencia de una cadena insensible a mayúsculas-minúsculas
  • grapheme_stristr() - Devolver parte de la cadena "pajar" desde la primera coincidencia de la cadena "aguja" insensible a mayúsculas-minúsculas hasta el final de "pajar"
  • grapheme_strripos() - Buscar la posición (en unidades de grafema) de la última coincidencia de una cadena insensible a mayúsculas-minúsculas
  • grapheme_strrpos() - Buscar la posición (en unidades de grafema) de la última coincidencia de una cadena
  • grapheme_strstr() - Devolver parte de la cadena "pajar" desde la primera coincidencia de la cadena "aguja" hasta el final de "pajar"
  • » Segementación de Texto Unicode: Límites de Grupos de Grafemas

grapheme_strlen
grapheme_strripos
Funciones de Grapheme


Buscar la posición (en unidades de grafema) de la última coincidencia de una cadena insensible a mayúsculas-minúsculas

grapheme_strpos
grapheme_strrpos
Funciones de Grapheme
PHP Manual

grapheme_strripos

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

grapheme_strripos — Buscar la posición (en unidades de grafema) de la última coincidencia de una cadena insensible a mayúsculas-minúsculas

Descripción

Estilo por procedimientos

int grapheme_strripos ( string $haystack , string $needle [, int $offset = 0 ] )

Busca la posición (en unidades de grafema) de la última coincidencia de una cadena insensible a mayúsculas-minúsculas

Parámetros

haystack

La cadena en la que buscar (pajar). Debe ser válida en UTF-8.

needle

La cadena a buscar (aguja). Debe ser válida en UTF-8.

offset

El parámetro opcional $offset permite especificar dónde iniciar la búsqueda en haystack como un índice en unidades de grafema (no bytes o caracteres). La posición devuelta es aún relativa al comienzo del "pajar" sin tener en cuenta el valor de $offset.

Valores devueltos

Devuelve la posición como un entero. Si no encuentra la "aguja", grapheme_strripos() devolverá FALSE.

Ejemplos

Ejemplo #1 Ejemplo de grapheme_strripos()

<?php

$carácter_a_anillo_nfd = "a\xCC\x8A";  // 'LETRA MINÚSCULA LATINA A CON ANILLO SUPERIOR' (U+00E5) forma de normalización "D"
$carácter_o_diéresis_nfd = "o\xCC\x88"; // 'LETRA MINÚSCULA LATINA O CON DIÉRESIS' (U+00F6) forma de normalización "D"
$carácter_O_diéresis_nfd = "O\xCC\x88"; // 'LETRA MAYÚSCULA LATINA O CON DIÉRESIS' (U+00D6) forma de normalización "D"

print grapheme_strripos( $carácter_a_anillo_nfd . $carácter_o_diéresis_nfd . $carácter_o_diéresis_nfd, $carácter_O_diéresis_nfd);

?>

El resultado del ejemplo sería:

2

Ver también

  • grapheme_stripos() - Buscar la posición (en unidades de grafema) de la primera coincidencia de una cadena insensible a mayúsculas-minúsculas
  • grapheme_stristr() - Devolver parte de la cadena "pajar" desde la primera coincidencia de la cadena "aguja" insensible a mayúsculas-minúsculas hasta el final de "pajar"
  • grapheme_strpos() - Buscar la posición (en unidades de grafema) de la primera ocurrencia de una cadena
  • grapheme_strrpos() - Buscar la posición (en unidades de grafema) de la última coincidencia de una cadena
  • grapheme_strstr() - Devolver parte de la cadena "pajar" desde la primera coincidencia de la cadena "aguja" hasta el final de "pajar"
  • » Segementación de Texto Unicode: Límites de Grupos de Grafemas

grapheme_strpos
grapheme_strrpos
Funciones de Grapheme


Buscar la posición (en unidades de grafema) de la última coincidencia de una cadena

grapheme_strripos
grapheme_strstr
Funciones de Grapheme
PHP Manual

grapheme_strrpos

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

grapheme_strrpos — Buscar la posición (en unidades de grafema) de la última coincidencia de una cadena

Descripción

Estilo por procedimientos

int grapheme_strrpos ( string $haystack , string $needle [, int $offset = 0 ] )

Busca la posición (en unidades de grafema) de la última coincidencia de una cadena

Parámetros

haystack

La cadena en la que buscar (pajar). Debe ser válida en UTF-8.

needle

La cadena a buscar (aguja). Debe ser válida en UTF-8.

offset

El parámetro opcional $offset permite especificar dónde iniciar la búsqueda en haystack como un índice en unidades de grafema (no bytes o caracteres). La posición devuelta es aún relativa al comienzo del "pajar" sin tener en cuenta el valor de $offset.

Valores devueltos

Devuelve la posición como un entero. Si no encuentra la "aguja", grapheme_strrpos() devolverá FALSE.

Ejemplos

Ejemplo #1 Ejemplo de grapheme_strrpos()

<?php
$carácter_a_anillo_nfd = "a\xCC\x8A";  // 'LETRA MINÚSCULA LATINA A CON ANILLO SUPERIOR' (U+00E5) forma de normalización "D"
$carácter_o_diéresis_nfd = "o\xCC\x88"; // 'LETRA MINÚSCULA LATINA O CON DIÉRESIS' (U+00F6) forma de normalización "D"

print grapheme_strrpos( $carácter_a_anillo_nfd . $carácter_o_diéresis_nfd . $carácter_o_diéresis_nfd, $carácter_o_diéresis_nfd);
?>

El resultado del ejemplo sería:

2

Ver también

  • grapheme_stripos() - Buscar la posición (en unidades de grafema) de la primera coincidencia de una cadena insensible a mayúsculas-minúsculas
  • grapheme_stristr() - Devolver parte de la cadena "pajar" desde la primera coincidencia de la cadena "aguja" insensible a mayúsculas-minúsculas hasta el final de "pajar"
  • grapheme_strpos() - Buscar la posición (en unidades de grafema) de la primera ocurrencia de una cadena
  • grapheme_strripos() - Buscar la posición (en unidades de grafema) de la última coincidencia de una cadena insensible a mayúsculas-minúsculas
  • grapheme_strstr() - Devolver parte de la cadena "pajar" desde la primera coincidencia de la cadena "aguja" hasta el final de "pajar"
  • » Segementación de Texto Unicode: Límites de Grupos de Grafemas

grapheme_strripos
grapheme_strstr
Funciones de Grapheme


Devolver parte de la cadena "pajar" desde la primera coincidencia de la cadena "aguja" hasta el final de "pajar"

grapheme_strrpos
grapheme_substr
Funciones de Grapheme
PHP Manual

grapheme_strstr

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

grapheme_strstr — Devolver parte de la cadena "pajar" desde la primera coincidencia de la cadena "aguja" hasta el final de "pajar"

Descripción

Estilo por procedimientos

string grapheme_strstr ( string $haystack , string $needle [, bool $before_needle = false ] )

Devuelve parte de la cadena "pajar" desde la primera coincidencia de la cadena "aguja" hasta el final de "pajar" (incluyendo la "aguja").

Parámetros

haystack

La cadena en la que buscar (pajar). Debe ser válida en UTF-8.

needle

La cadena a buscar (aguja). Debe ser válida en UTF-8.

before_needle

Si es TRUE, grapheme_stristr() devuelve la parte de "pajar" anterior a la primera coincidencia de "ajuja" (excluyendo la "aguja").

Valores devueltos

Devuelve la porción de $haystack, o FALSE si $needle no se encontró.

Ejemplos

Ejemplo #1 Ejemplo de grapheme_strstr()

<?php

$carácter_a_anillo_nfd = "a\xCC\x8A";  // 'LETRA MINÚSCULA LATINA A CON ANILLO SUPERIOR' (U+00E5) forma de normalización "D"
$carácter_o_diéresis_nfd = "o\xCC\x88"; // 'LETRA MINÚSCULA LATINA O CON DIÉRESIS' (U+00F6) forma de normalización "D"

print urlencode(grapheme_strstr( $carácter_a_anillo_nfd . $carácter_o_diéresis_nfd . $carácter_a_anillo_nfd, $carácter_o_diéresis_nfd));

?>

El resultado del ejemplo sería:

o%CC%88a%CC%8A

Ver también

  • grapheme_stristr() - Devolver parte de la cadena "pajar" desde la primera coincidencia de la cadena "aguja" insensible a mayúsculas-minúsculas hasta el final de "pajar"
  • grapheme_stripos() - Buscar la posición (en unidades de grafema) de la primera coincidencia de una cadena insensible a mayúsculas-minúsculas
  • grapheme_strpos() - Buscar la posición (en unidades de grafema) de la primera ocurrencia de una cadena
  • grapheme_strripos() - Buscar la posición (en unidades de grafema) de la última coincidencia de una cadena insensible a mayúsculas-minúsculas
  • grapheme_strrpos() - Buscar la posición (en unidades de grafema) de la última coincidencia de una cadena
  • » Segementación de Texto Unicode: Límites de Grupos de Grafemas

grapheme_strrpos
grapheme_substr
Funciones de Grapheme


Devolver parte de una cadena

grapheme_strstr
Funciones de IDN
Funciones de Grapheme
PHP Manual

grapheme_substr

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

grapheme_substr — Devolver parte de una cadena

Descripción

Estilo por procedimientos

int grapheme_substr ( string $string , int $start [, int $length ] )

Devuelve parte de una cadena

Parámetros

string

La cadena de entrada. Debe ser válida en UTF-8.

start

Posición de inicio en unidades predeterminadas de grafema. Si $start es no negativo, la cadena devuelta comenzara en la posición $start-ésima de $string, contando desde cero. Si $start is negativo, la cadena devuelta comenzará en la unidad de grafema $start-ésima desde el final de la cadena.

length

La longitud en unidades de grafema. Si se propoiciona $length y es positivo, la cadena devuelta contendrá como máximo $length unidades de grafema comenzando desde $start (dependiendo de la longitud de la cadena). Si se proporciona $length y es negativo, esas tantas unidades de grafema serán omitidas desde el final de la cadena (después de que la posición inicial haya sido calculada cuando un inicio es negativo). Si $start denota una posición más allá de este truncamiento, se devolverá FALSE.

Valores devueltos

Devuelve la parte extraída de $string.

Historial de cambios

Versión | Descripción
5.4 | Si se proporciona length y es positivo, y el argumento string es más corto que la longitud especificada, se devuelve el resto de la cadena de acuerdo al parámetro start. Anteriormente devolvía FALSE.

Ejemplos

Ejemplo #1 Ejemplo de grapheme_substr()

<?php

$carácter_a_anillo_nfd = "a\xCC\x8A";  // 'LETRA MINÚSCULA LATINA A CON ANILLO SUPERIOR' (U+00E5) forma de normalización "D"
$carácter_o_diéresis_nfd = "o\xCC\x88"; // 'LETRA MINÚSCULA LATINA O CON DIÉRESIS' (U+00F6) forma de normalización "D"

print urlencode(grapheme_substr( "ao" . $carácter_a_anillo_nfd . "bc" . $carácter_o_diéresis_nfd . "O", 2, -1 ));
?>

El resultado del ejemplo sería:

a%CC%8Abco%CC%88

Ver también

  • grapheme_extract() - Función para extraer una secuencia de un clúster de grafemas predeterminados desde un buffer de texto, que puede estar codificado en UTF-8
  • » Segementación de Texto Unicode: Límites de Grupos de Grafemas

grapheme_strstr
Funciones de IDN
Funciones de Grapheme


Funciones de IDN

Tabla de contenidos

  • idn_to_ascii — Convierte un nombre de dominio a formato IDNA ASCII
  • idn_to_unicode — Alias de idn_to_utf8
  • idn_to_utf8 — Convierte un nombre de dominio de IDNA ASCII a Unicode
grapheme_substr
idn_to_ascii
intl


Convierte un nombre de dominio a formato IDNA ASCII

Funciones de IDN
idn_to_unicode
Funciones de IDN
PHP Manual

idn_to_ascii

(PHP 5 >= 5.3.0, PECL intl >= 1.0.2, PECL idn >= 0.1)

idn_to_ascii — Convierte un nombre de dominio a formato IDNA ASCII

Descripción

Estilo por procedimientos

string idn_to_ascii ( string $domain [, int $options = 0 [, int $variant = INTL_IDNA_VARIANT_2003 [, array &$idna_info ]]] )

Esta función convierte un dominio Unicode al formato IDNA ASCII-compatible.

Parámetros

domain

Dominio a convertir. En PHP 5 debe estar previamente codificado en UTF-8.

options

Opciones de conversión - combinación de constantes IDNA_* (excepto las constantes IDNA_ERROR_*).

variant

INTL_IDNA_VARIANT_2003 para IDNA 2003 o INTL_IDNA_VARIANT_UTS46 para UTS #46.

idna_info

Este parámetro sólo se puede usar si INTL_IDNA_VARIANT_UTS46 se utilizó para variant. En este caso, será llenado con un array con las claves 'result', la posibilidad de un resultado ilegal de la transformación, 'isTransitionalDifferent', un booleano indicando si el uso de los mecanismos de transición de UTS #46 ha cambiado o debería haber cambiado el resulado, y 'errors', que es de tipo int y representa un conjunto de bits de las constantes de error IDNA_ERROR_*.

Valores devueltos

Nombre del dominio codificado en formato ASCII-compatible. o FALSE en caso de error

Historial de cambios

Versión | Descripción
5.4.0/PECL 2.0.0b1 | Se añadieron los parámetros variant y idna_info; y el soporte para UTS #46.

Ejemplos

Ejemplo #1 Ejemplo de idn_to_ascii()

<?php

echo idn_to_ascii('täst.de');

?>

El resultado del ejemplo sería:

xn--tst-qla.de

Ver también

  • idn_to_unicode() - Alias de idn_to_utf8

Funciones de IDN
idn_to_unicode
Funciones de IDN


Alias de idn_to_utf8

idn_to_ascii
idn_to_utf8
Funciones de IDN
PHP Manual

idn_to_unicode

(No hay información de versión disponible, podría estar únicamente en SVN)

idn_to_unicode — Alias de idn_to_utf8()

Descripción

Esta función es un alias de: idn_to_utf8().

idn_to_ascii
idn_to_utf8
Funciones de IDN


Convierte un nombre de dominio de IDNA ASCII a Unicode

idn_to_unicode
IntlException
Funciones de IDN
PHP Manual

idn_to_utf8

(PHP 5 >= 5.3.0, PECL intl >= 1.0.2, PECL idn >= 0.1)

idn_to_utf8 — Convierte un nombre de dominio de IDNA ASCII a Unicode

Descripción

Estilo por procedimientos

string idn_to_utf8 ( string $domain [, int $options = 0 [, int $variant = INTL_IDNA_VARIANT_2003 [, array &$idna_info ]]] )

Esta función convierte un nombre de dominio Unicode de un formato compatible con IDNA ASCII a Unicode plano, codificado en UTF.8.

Parámetros

domain

Dominio a convertir en formato IDNA ASCII-compatible.

options

Opciones de conversión - combinación de constantes IDNA_* (excepto las constantes IDNA_ERROR_*).

variant

INTL_IDNA_VARIANT_2003 para IDNA 2003 o INTL_IDNA_VARIANT_UTS46 para UTS #46.

idna_info

Este parámetro sólo se puede usar si INTL_IDNA_VARIANT_UTS46 se utilizó para variant. En este caso, será llenado con un array con las claves 'result', la posibilidad de un resultado ilegal de la transformación, 'isTransitionalDifferent', un booleano indicando si el uso de los mecanismos de transición de UTS #46 ha cambiado o debería haber cambiado el resulado, y 'errors', que es de tipo int y representa un conjunto de bits de las constantes de error IDNA_ERROR_*.

Valores devueltos

Un nombre de dominio en Uniconde, codificado en UTF-8. o FALSE en caso de error

Historial de cambios

Versión | Descripción
5.4.0/PECL 2.0.0b1 | Se añadieron los parámetros variant y idna_info; y el soporte para UTS #46.

Ejemplos

Ejemplo #1 Ejemplo de idn_to_utf8()

<?php

echo idn_to_utf8('xn--tst-qla.de');

?>

El resultado del ejemplo sería:

täst.de

Ver también

  • idn_to_unicode() - Alias de idn_to_utf8

idn_to_unicode
IntlException
Funciones de IDN


Clase de excepciones para errores de intl

(PHP 5 > 5.5.0, PECL intl > 3.0.0a1)

Introducción

Esta clase se usa para generar excepciones ocurridos dentro de las funciones de intl. Tales excepciones se generan únicamente cuando intl.use_exceptions está habilitado.

Sinopsis de la Clase

IntlException extends Exception {
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
idn_to_utf8
IntlIterator
intl


La clase IntlIterator

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Esta clase representa objetos iteradores a lo largo de la extensión intl siempre que el iterador no pueda ser identificado con ningún otro objeto proporcionado por la extensión. El objeto iterador diferente usado internamente por el constructor foreach solamente se puede obtener (en lo que concierne aquí) desde objetos, por lo que los objetos de esta clase sirven al propósito de proporcionar el gancho a través del cual se puede obtener este objeto interno. Como ventaja, esta clase también implementa la interfaz Iterator, permitiendo que se pueda navegar a través de la colección de valores usando los métodos definidos en esa interfaz. Tanto estos métodos como los objetos iteradores internos proporcionados a foreach se apoyan en el mismo estado (p.ej. la posición del iterador y su valor actual).

Las subclases podrían proporcionar una funcionalidad más rica.

Sinopsis de la Clase

IntlIterator implements Iterator {
/* Métodos */
public ReturnType current ( void )
public ReturnType key ( void )
public ReturnType next ( void )
public ReturnType rewind ( void )
public ReturnType valid ( void )
}

Tabla de contenidos

  • IntlIterator::current — Get the current element
  • IntlIterator::key — Get the current key
  • IntlIterator::next — Move forward to the next element
  • IntlIterator::rewind — Rewind the iterator to the first element
  • IntlIterator::valid — Check if curent position is valid
IntlException
IntlIterator::current
intl


Get the current element

IntlIterator
IntlIterator::key
IntlIterator
PHP Manual

IntlIterator::current

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlIterator::current — Get the current element

Descripción

public ReturnType IntlIterator::current ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlIterator
IntlIterator::key
IntlIterator


Get the current key

IntlIterator::current
IntlIterator::next
IntlIterator
PHP Manual

IntlIterator::key

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlIterator::key — Get the current key

Descripción

public ReturnType IntlIterator::key ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlIterator::current
IntlIterator::next
IntlIterator


Move forward to the next element

IntlIterator::key
IntlIterator::rewind
IntlIterator
PHP Manual

IntlIterator::next

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlIterator::next — Move forward to the next element

Descripción

public ReturnType IntlIterator::next ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlIterator::key
IntlIterator::rewind
IntlIterator


Rewind the iterator to the first element

IntlIterator::next
IntlIterator::valid
IntlIterator
PHP Manual

IntlIterator::rewind

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlIterator::rewind — Rewind the iterator to the first element

Descripción

public ReturnType IntlIterator::rewind ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlIterator::next
IntlIterator::valid
IntlIterator


Check if curent position is valid

IntlIterator::rewind
Funciones de intl
IntlIterator
PHP Manual

IntlIterator::valid

(No hay información de versión disponible, podría estar únicamente en SVN)

IntlIterator::valid — Check if curent position is valid

Descripción

public ReturnType IntlIterator::valid ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

IntlIterator::rewind
Funciones de intl
IntlIterator


Funciones de intl

Tabla de contenidos

  • intl_error_name — Obtiene un nombre simbólico a partir de un código de error dado
  • intl_get_error_code — Obtiene el último código de error
  • intl_get_error_message — Obtener una descripción del último error
  • intl_is_failure — Comprueba si el código de error dado indica un fallo
IntlIterator::valid
intl_error_name
intl


Obtiene un nombre simbólico a partir de un código de error dado

Funciones de intl
intl_get_error_code
Funciones de intl
PHP Manual

intl_error_name

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

intl_error_name — Obtiene un nombre simbólico a partir de un código de error dado

Descripción

string intl_error_name ( int $error_code )

Devuelve el nombre del código de error ICU.

Parámetros

error_code

Código de error ICU.

Valores devueltos

El string devuelto será el mismo que el nombre de la constante del código de error.

Ejemplos

Ejemplo #1 intl_error_name() ejemplo

<?php
$coll     = collator_create( 'en_RU' );
$err_code = collator_get_error_code( $coll );

printf( "Symbolic name for %d is %s\n.", $err_code, intl_error_name( $err_code ) );
?>

El resultado del ejemplo sería algo similar a:

Symbolic name for -128 is U_USING_FALLBACK_WARNING.

Ver también

  • intl_is_failure() - Comprueba si el código de error dado indica un fallo
  • intl_get_error_code() - Obtiene el último código de error
  • intl_get_error_message() - Obtener una descripción del último error

Funciones de intl
intl_get_error_code
Funciones de intl


Obtiene el último código de error

intl_error_name
intl_get_error_message
Funciones de intl
PHP Manual

intl_get_error_code

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

intl_get_error_code — Obtiene el último código de error

Descripción

int intl_get_error_code ( void )

Útil para controlar los errores acaecidos en los métodos estáticos cuando no hay un objeto para obtener el código de error de ellos.

Valores devueltos

Devolución del código de error por la última llamada a la función API.

Ejemplos

Ejemplo #1 intl_get_error_code() ejemplo

<?php
$coll = collator_create( '<bad_param>' );
if( !$coll ) {
    handle_error( intl_get_error_code() );
}
?>

Ver también

  • intl_is_failure() - Comprueba si el código de error dado indica un fallo
  • intl_error_name() - Obtiene un nombre simbólico a partir de un código de error dado
  • intl_get_error_message() - Obtener una descripción del último error
  • collator_get_error_code() - Obtener el último código de error del cotejeador
  • numfmt_get_error_code() - Obtener el último código de error del formateador

intl_error_name
intl_get_error_message
Funciones de intl


Obtener una descripción del último error

intl_get_error_code
intl_is_failure
Funciones de intl
PHP Manual

intl_get_error_message

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

intl_get_error_message — Obtener una descripción del último error

Descripción

string intl_get_error_message ( void )

Obtener el mensaje de error de la última llamada a la función internacionalizada.

Valores devueltos

Descripción de un error sucedido en la última llamada a la función API.

Ejemplos

Ejemplo #1 intl_get_error_message() ejemplo

<?php
if( Collator::getAvailableLocales() === false ) {
    show_error( intl_get_error_message() );
}
?>

Ver también

  • intl_error_name() - Obtiene un nombre simbólico a partir de un código de error dado
  • intl_get_error_code() - Obtiene el último código de error
  • intl_is_failure() - Comprueba si el código de error dado indica un fallo
  • collator_get_error_message() - Obtener el texto del último código de error del cotejador
  • numfmt_get_error_message() - Obtener el último mensaje de error del formateador

intl_get_error_code
intl_is_failure
Funciones de intl


Comprueba si el código de error dado indica un fallo

intl_get_error_message
Cadenas de caracteres multibyte
Funciones de intl
PHP Manual

intl_is_failure

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

intl_is_failure — Comprueba si el código de error dado indica un fallo

Descripción

bool intl_is_failure ( int $error_code )

Parámetros

error_code

es un valor devuelto por las funciones: intl_get_error_code(), collator_get_error_code() .

Valores devueltos

TRUE si el código indica algún fallo, y FALSE en caso de éxito o de advertencia.

Ejemplos

Ejemplo #1 intl_is_failure() ejemplo

<?php
function check( $err_code )
{
    var_export( intl_is_failure( $err_code ) );
    echo "\n";
}

check( U_ZERO_ERROR );
check( U_USING_FALLBACK_WARNING );
check( U_ILLEGAL_ARGUMENT_ERROR );
?>

El resultado del ejemplo sería algo similar a:

false
false
true

Ver también

  • intl_get_error_code() - Obtiene el último código de error
  • collator_get_error_code() - Obtener el último código de error del cotejeador
  • Collator-getErrorCode() - Obtener el último código de error del cotejeador

intl_get_error_message
Cadenas de caracteres multibyte
Funciones de intl


Cadenas de caracteres multibyte

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Resumen de codificaciones soportadas
  • Lo básico sobre codificaciones multibytes del japonés
  • Entrada/Salida de HTTP
  • Codificaciones de caracteres admitidas
  • Sobrecarga de Funciones
  • Requerimientos para la codificación de caracteres en PHP
  • Funciones de cadenas de caracteres multibyte
    • mb_check_encoding — Comprueba si el string es válido para a la codificación especificada
    • mb_convert_case — Realiza una conversión a mayúsculas/minúsculas de un string
    • mb_convert_encoding — Convierte una codificación de caracteres
    • mb_convert_kana — Convierte un "kana" a otro ("zen-kaku", "han-kaku" y más)
    • mb_convert_variables — Convierte códigos de caracteres a variable/s
    • mb_decode_mimeheader — Decodifica un string en el campo de cabecera MIME
    • mb_decode_numericentity — Decodifica referencias a string numéricas de HTML en caracteres
    • mb_detect_encoding — Detecta la codificación de caracteres
    • mb_detect_order — Establece/obtiene el orden de detección de codificaciones de caracteres
    • mb_encode_mimeheader — Codifica un string para la cabecera MIME
    • mb_encode_numericentity — Convierte caracteres a referencias de string numéricas de HTML
    • mb_encoding_aliases — Obtiene los alias de un tipo de codificación conocido
    • mb_ereg_match — Compararción de expresiones regulares para strings multibyte
    • mb_ereg_replace_callback — Realiza una búsqueda y sustitución de una expresión regular con soporte multibyte usando una llamada de retorno
    • mb_ereg_replace — Reemplaza una expresión regular con soprte multibyte
    • mb_ereg_search_getpos — Devuelve la posición de inicio para la siguiente comparación de una expresión regular
    • mb_ereg_search_getregs — Recupera el resultado de la última comparación de expresión regular multibyte
    • mb_ereg_search_init — Configura el string y la expresión regular para una comparación de expresiones regulares multibyte
    • mb_ereg_search_pos — Devuelve la posición y la longitud de una parte coincidente de la expresión regular multibyte para un string multibyte predefinido
    • mb_ereg_search_regs — Devuelve la parte coincidente de una expresión regular multibyte
    • mb_ereg_search_setpos — Establece el punto de inicio de la siguiente comparación de una expresión regular
    • mb_ereg_search — Comparación de expresiones regulares multibyte para un string multibyte predefinido
    • mb_ereg — Comparación de expresiones regulares con soporte multibyte
    • mb_eregi_replace — Reemplaza una expresión regular con soprte multibyte ignorando mayúsculas/minúsculas
    • mb_eregi — Comparación de expresiones regulares ignorando mayúsculas/minúsculas con soporte multibyte
    • mb_get_info — Obtiene la configuración interna de mbstring
    • mb_http_input — Detecta la codificación de caracteres de entrada HTTP
    • mb_http_output — Establece/obtiene la codificación de caracteres de salida HTTP
    • mb_internal_encoding — Establece/obtiene la codificación de caracteres interna
    • mb_language — Establece/obtiene el idioma actual
    • mb_list_encodings — Devuelve un array con todos los tipos de codificaciones admitidas
    • mb_output_handler — Función de llamada de retorno que convierte la codificación de caracteres en búfer de salida
    • mb_parse_str — Analiza datos GET/POST/COOKIE y establece varialbes globales
    • mb_preferred_mime_name — Obtener un string del conjunto de caracteres del MIME
    • mb_regex_encoding — Establece/obtiene la codificación de caracteres para expresiones regulares multibyte
    • mb_regex_set_options — Establece/obtiene las opciones predeterminadas para las funciones mbregex
    • mb_send_mail — Envía un correo codificado
    • mb_split — Divide cadenas de caracteres multibyte usando una expresión regular
    • mb_strcut — Obtener parte de un string
    • mb_strimwidth — Obtiene un string truncado con el ancho especificado
    • mb_stripos — Busca la posición de la primera ocurrencia de un string dentro de otro, insensible a mayúsculas/minúsculas
    • mb_stristr — Busca la primera ocurrencia de un string dentro de otro, insensible a mayúsculas/minúsculas
    • mb_strlen — Obtiene la longitud de una cadena de caracteres
    • mb_strpos — Busca la posición de la primera ocurrencia de un string en otro string
    • mb_strrchr — Busca la última ocurrencia de un carácter de un string dentro de otro
    • mb_strrichr — Busca la última ocurrencia de un carácter de un string dentro de otro, insensible a mayúsculas/minúsculas
    • mb_strripos — Busca la posicion de la última ocurrencia de un string dentro de otro string, insensible a mayúsculas/minúsculas
    • mb_strrpos — Busca la posicion de la última ocurrencia de un string en otro string
    • mb_strstr — Busca la primera ocurrencia de un string dentro de otro
    • mb_strtolower — Convierte una cadena de caracteres a minúsculas
    • mb_strtoupper — Convierte un string en mayúsculas
    • mb_strwidth — Deuelve el ancho de un string
    • mb_substitute_character — Establece/obtiene un carácter de sustitución
    • mb_substr_count — Cuenta el número de ocurrencias de un substring
    • mb_substr — Obtiene parte de una cadena de caracteres
intl_is_failure
Introducción
Soporte para lenguaje humano y codificación de caracteres


Introducción

Aunque exiten muchos idiomas en los cuales cada carácter necesario puede ser representado por una referencia uno a uno a un valor de 8 bits, existen también bastantes idiomas que requieren tantos caracteres para la comunicación escrita que no pueden ser representados dentro del rango que un mero byte puede codificar (un byte se compone de ocho bits. Cada bit puede contener solamente dos valores distintos, uno o cero. Debido a esto, con un byte solo se pueden representar 256 valores únicos (2 a la 8ª potencia)). Los esquemas de codificación multibyte fueron desarrollados precisamente para expresar más de 256 caracteres en el sistema de codificación regular a nivel de bits.

Cuando se manipulan cadenas de caracteres (trim, split, splice, etc.) en una codificación multibyte, es neceario utilizar funciones especiales, ya que dos o más bytes consecutivos pueden representar un único carácter en tal esquema de codificación. Si, de lo contrario, se usa una función que no considera caracteres multibyte con la cadena de caracteres, es probable que falle al detectar el comienzo o el final del carácter multibyte, y que se termine con una cadena de caracteres corrupta que probablemente pierda su significado original.

mbstring proporciona funciones específicas para cadenas de texto multibyte que ayudan a tratar codificaciones multibyte en PHP. Además, mbstring controla la conversión de la codificación de caracteres entre los posibles esquemas de codificación. mbstring está diseñada para manejar codificaciones basadas en Unicode, tales como UTF-8 y UCS-2, y, por conveniencia, varias codificaciones de un solo byte (enumeradas más adelante).

Cadenas de caracteres multibyte
Instalación/Configuración
Cadenas de caracteres multibyte


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Cadenas de caracteres multibyte


Instalación

mbstring no es un extensión predeterminada. Esto significa que no viene habilitada por defecto. Se debe habilitar específicamente el módulo con la opción configure durante la compilación. Véase la sección de Instalación para más información.

Las siguientes opciones de configuración se refieren al módulo mbstring.

  • --enable-mbstring : Habilita las funciones de mbstring. Esta opción es obligatoria para poder usar las funciones de mbstring.

    La biblioteca libmbfl es necesaria para compilar mbstring. La biblioteca libmbfl está ligada a mbstring. Si libmbfl ya está instalada en el sistema, se puede especificar la ruta mediante la opción --with-libmbfl[=DIR] .

    Desde PHP 4.3.0, la extensión mbstring provee soporte para chino simplificado, chino tradicional, coreano, ruso y japonés.

    En versiones PHP 4.3.3 o anteriores, para habilitar esta característica, habrá que añadir una de las siguientes opciones al parámetro LANG de --enable-mbstring=LANG ; --enable-mbstring=cn para dar soporte a chino simplificado, --enable-mbstring=tw para dar soporte a chino tradicional, --enable-mbstring=kr para dar soporte a coreano, --enable-mbstring=ru para dar Soporte a ruso, y --enable-mbstring=ja para dar soporte a japonés (por defecto). Para habilitar todas las codificaciones admitidas, se ha de usar --enable-mbstring=all .

    Nota:

    A Partir de PHP 4.3.4, todas las codificaciones admitidas por libmbfl se habilitan con --enable-mbstring .

  • --enable-mbstr-enc-trans : Habilita la conversión de codificaciones de caracteres introducidos a través de HTTP utilizando el motor de conversión de mbstring. Si se habilita esta característica, la codificación de los caracteres introducidos a través de HTTP puede ser convertida a mbstring.internal_encoding automáticamente.

    Nota:

    A partir de PHP 4.3.0, la opción --enable-mbstr-enc-trans fue eliminada y reemplazada con el ajuste en tiempo de ejecución mbstring.encoding_translation. La conversión de las codificaciones de caracteres vía HTTP se habilita cuando se establece a On (por defecto es Off).

  • --disable-mbregex : Deshabilita las funciones de expresiones regulares con soporte a caracteres multibyte.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de mbstring
Nombre | Por defecto | Cambiable | Historial de cambios
mbstring.language | "neutral" | PHP_INI_ALL | Disponible desde PHP 4.3.0.. PHP_INI_PERDIR en PHP <= 5.2.6
mbstring.detect_order | NULL | PHP_INI_ALL | Disponible desde PHP 4.0.6.
mbstring.http_input | "pass" | PHP_INI_ALL | Disponible desde PHP 4.0.6.
mbstring.http_output | "pass" | PHP_INI_ALL | Disponible desde PHP 4.0.6.
mbstring.internal_encoding | NULL | PHP_INI_ALL | Disponible desde PHP 4.0.6.
mbstring.script_encoding | NULL | PHP_INI_ALL | Disponible desde PHP 4.3.0.
mbstring.substitute_character | NULL | PHP_INI_ALL | Disponible desde PHP 4.0.6.
mbstring.func_overload | "0" | PHP_INI_SYSTEM | PHP_INI_PERDIR desde PHP 4.3 a 5.2.6, en versiones distintas PHP_INI_SYSTEM. Disponible desde PHP 4.2.0.
mbstring.encoding_translation | "0" | PHP_INI_PERDIR | Disponible desde PHP 4.3.0.
mbstring.strict_detection | "0" | PHP_INI_ALL | Disponible desde PHP 5.1.2.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

mbstring.language string

El ajuste de lenguaje nacional predeterminado (NLS) usado en mbstring. Se ha de observar que esta opción define automágicamente mbstring.internal_encoding, por lo que se debe colocar mbstring.internal_encoding tras mbstring.language en php.ini

mbstring.encoding_translation boolean

Habilita el filtro de codificación de caracteres transparente para las consultas HTTP entrantes, la cual lleva a cabo la detección y la conversión de la codificación de entrada a la codificación de caracteres interna.

mbstring.internal_encoding string

Define el juego de caracteres interno predeterminado.

mbstring.http_input string

Define el juego de caracteres predeterminado del HTTP entrante.

mbstring.http_output string

Define el juego de caracteres predeterminado del HTTP saliente.

mbstring.detect_order string

Define el orden de detección de códigos de caracteres predeterminado. Véase también mb_detect_order().

mbstring.substitute_character string

Define el caracter de sustitución para juegos de caracteres inválidos.

mbstring.func_overload string

Reemplaza determinadas funciones de único byte por sus equivalentes en mbstring. Véase la sección Sobrecarga de funciones para más información.

Este ajuste sólo puede ser cambiado en el archivo php.ini

mbstring.strict_detection boolean

Habilita la detección estricta de codificaciones.

De acuerdo a la » especificación de HTML 4.01, se permite que los navegadores envíen un formulario con una codificación diferente a la utilizada por la página. Véase mb_http_input() para consultar los juegos de caracteres utilizados por los navegadores.

Pese a que la mayoría de navegadores son capaces de averiguar la codificación de un determinado documento HTML, es aconsejable utilizar el parámetro charset en la cabecera Content-Type de HTTP con un valor apropiado, mediante header() o mediante el ajuste ini default_charset.

Ejemplo #1 Ejemplos de ajustes de php.ini

; Establecer el lenguaje predeterminado
mbstring.language        = Neutral; Establecer el lenguaje neutral(UTF-8) (predeterminado)
mbstring.language        = English; Establecer como lenguaje el inglés
mbstring.language        = Japanese; Establecer como lenguaje el japonés

;; Establecer la codificación interna predeterminada
;; Nota: Asegúrese de usar una codificación que funcione con PHP
mbstring.internal_encoding    = UTF-8  ; Establecer la codificación interna a UTF-8

;; Traducción de codificación HTTP entrante habilitada
mbstring.encoding_translation = On

;; Establecer la codificación de caracteres predeterminada de HTTP entrante
;; Nota: Un script no podrá cambiar el ajuste http_input.
mbstring.http_input           = pass    ; Sin conversión.
mbstring.http_input           = auto    ; Establecer la entrada HTTP en automático
                                ; "auto" se expande de acuerdo a mbstring.language
mbstring.http_input           = SJIS    ; Establecer la entrada HTTP a SJIS
mbstring.http_input           = UTF-8,SJIS,EUC-JP ; Especificar el orden

;; Establecer la codificación de caracteres predeterminada de HTTP saliente
mbstring.http_output          = pass    ; Sin conversión
mbstring.http_output          = UTF-8   ; Establecer la codificación de salida HTTP a UTF-8

;; Establecer el orden predeterminado de la detección de juegos de caracteres
mbstring.detect_order         = auto    ; Orden de detección automático
mbstring.detect_order         = ASCII,JIS,UTF-8,SJIS,EUC-JP ; Especificar el orden

;; Establecer el carácter de sustitución predeterminado
mbstring.substitute_character = 12307   ; Especificar un valor Unicode
mbstring.substitute_character = none    ; No imprimir el carácter
mbstring.substitute_character = long    ; Ejemplo de long: U+3000,JIS+7E7E

Ejemplo #2 Ajustes de php.ini para usuarios de EUC-JP

;; Deshabilitar el almacenamiento en el búfer de salida
output_buffering      = Off

;; Establecer el juego de caracteres de las cabeceras HTTP
default_charset       = EUC-JP

;; Establecer como lenguaje predeterminado el japonés
mbstring.language = Japanese

;; Habilitar la traducción de la codificación del HTTP entrante.
mbstring.encoding_translation = On

;; Establecer en automática la conversión de la codificación de HTTP entrante
mbstring.http_input   = auto

;; Convertir la salida de HTTP a EUC-JP
mbstring.http_output  = EUC-JP

;; Establecer EUC-JP como codificación interna
mbstring.internal_encoding = EUC-JP

;; No imprimir caracteres inválidos
mbstring.substitute_character = none

Ejemplo #3 Ajustes de php.ini para usuarios de SJIS

;; Habilitar el almacenamiento en el búfer de salida
output_buffering     = On

;; Establecer mb_output_handler para habilitar la conversión de los datos de salida
output_handler       = mb_output_handler

;; Establecer el juego de caracteres de las cabeceras HTTP
default_charset      = Shift_JIS

;; Establecer como lenguaje predeterminado el japonés
mbstring.language = Japanese

;; Establecer en automático la conversión del juego de caracteres http entrante
mbstring.http_input  = auto

;; Convertir a SJIS
mbstring.http_output = SJIS

;; Establecer EUC-JP como codificación interna
mbstring.internal_encoding = EUC-JP

;; No imprimir caracteres inválidos
mbstring.substitute_character = none

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

MB_OVERLOAD_MAIL (integer)
MB_OVERLOAD_STRING (integer)
MB_OVERLOAD_REGEX (integer)
MB_CASE_UPPER (integer)
MB_CASE_LOWER (integer)
MB_CASE_TITLE (integer)
Tipos de recursos
Resumen de codificaciones soportadas
Cadenas de caracteres multibyte


Resumen de codificaciones soportadas

Resumen de codificaciones soportadas
Nombre en el registro de conjuntos de caracteres de la IANA:ISO-10646-UCS-4
Conjunto de Caracteres:ISO 10646
Descripción: Conjunto Universal de Caracteres con 31 bits de codificación, estandarizado como UCS-4 por ISO/IEC 10646. Forma parte de la última versión de Unicode.
Notas adicionales: Si se utiliza este nombre con la utilidad de conversión de codificación, el convertidor intentará identificar, mediante el byte de marca de orden (BOM), en qué formato (little-endian o big-endian) están representados los siguientes bytes.
Nombre en el registro de conjuntos de caracteres de la IANA:ISO-10646-UCS-4
Conjunto de Caracteres:UCS-4
Descripción: Ver más arriba.
Notas adicionales: En contraste con UCS-4, las cadenas de caracteres siempre apareceran en formato big-endian.
Nombre en el registro de conjuntos de caracteres de la IANA:ISO-10646-UCS-4
Conjunto de Caracteres:UCS-4
Descripción: Ver más arriba.
Notas adicionales: En contraste con UCS-4, las cadenas de caracteres siempre apareceran en formato little-endian.
Nombre en el registro de conjuntos de caracteres de la IANA:ISO-10646-UCS-2
Conjunto de Caracteres:UCS-2
Descripción: Conjunto Universal de Caracteres con 16 bits de codificación, estandarizado como UCS-2 por ISO/IEC 10646. Forma parte de la última versión de Unicode.
Notas adicionales: Si se utiliza este nombre con la utilidad de conversión de codificación, el convertidor intentará identificar, mediante el byte de marca de orden (BOM), en qué formato (little-endian o big-endian) están representados los siguientes bytes.
Nombre en el registro de conjuntos de caracteres de la IANA:ISO-10646-UCS-2
Conjunto de Caracteres:UCS-2
Descripción: Ver más arriba.
Notas adicionales: En contraste con UCS-2, las cadenas de caracteres siempre apareceran en formato big-endian.
Nombre en el registro de conjuntos de caracteres de la IANA:ISO-10646-UCS-2
Conjunto de Caracteres:UCS-2
Descripción: Ver más arriba.
Notas adicionales: En contraste con UCS-2, las cadenas de caracteres siempre apareceran en formato little-endian.
Nombre en el registro de conjuntos de caracteres de la IANA:UTF-32
Conjunto de Caracteres:Unicode
Descripción: Formato de Transformación UCS de 32 bits de ancho, cuya espacio de codificación está incluido en el estándar Unicode. Esta codificación no es igual a UCS-4, porque el espacio de codificación de Unicode está limitado a 21 bits.
Notas adicionales: Si se utiliza este nombre con la utilidad de conversión de codificación, el convertidor intentará identificar, mediante el byte de marca de orden (BOM), en qué formato (little-endian o big-endian) están representados los siguientes bytes.
Nombre en el registro de conjuntos de caracteres de la IANA:UTF-32BE
Conjunto de Caracteres:Unicode
Descripción:Ver más arriba
Notas adicionales: En contraste con UTF-32, las cadenas de caracteres siempre apareceran en formato big-endian.
Nombre en el registro de conjuntos de caracteres de la IANA:UTF-32LE
Conjunto de Caracteres:Unicode
Descripción:Ver más arriba
Notas adicionales: En contraste con UTF-32, las cadenas de caracteres siempre apareceran en formato little-endian.
Nombre en el registro de conjuntos de caracteres de la IANA:UTF-16
Conjunto de Caracteres:Unicode
Descripción: Formato de Transformación UCS de 16 bits de ancho. Hay que tener en cuenta que es muy parecido a UCS-2, gracias al mecanismo de subrogación introducido en Unicode 2.0 y UTF-16, por lo que se requiere un máximo de 21 bits para la representación de cualquier carácter.
Notas adicionales: Si se utiliza este nombre con la utilidad de conversión de codificación, el convertidor intentará identificar, mediante el byte de marca de orden (BOM), en qué formato (little-endian o big-endian) están representados los siguientes bytes.
Nombre en el registro de conjuntos de caracteres de la IANA:UTF-16BE
Conjunto de Caracteres:Unicode
Descripción: Ver más arriba.
Notas adicionales: En contraste con UTF-16, las cadenas de caracteres siempre apareceran en formato big-endian.
Nombre en el registro de conjuntos de caracteres de la IANA:UTF-16LE
Conjunto de Caracteres:Unicode
Descripción: Ver más arriba.
Notas adicionales: En contraste con UTF-16, las cadenas de caracteres siempre apareceran en formato little-endian.
Nombre en el registro de conjuntos de caracteres de la IANA:UTF-8
Conjunto de Caracteres:Unicode / UCS
Descripción: Formato de Transformación UCS de 8 bits de ancho..
Notas adicionales:Ninguna
Nombre en el registro de conjuntos de caracteres de la IANA:UTF-7
Conjunto de Caracteres:Unicode
Descripción: Formato de transformación UCS para el envío de correo electrónico seguro, especificado en » RFC2152.
Notas adicionales:Ninguno
Nombre en el registro de conjuntos de caracteres de la IANA:(Ninguno)
Conjunto de Caracteres:Unicode
Descripción: Variante de UTF-7 recomendado para usar con el » protocolo IMAP.
Notas adicionales:Ninguno
Nombre en el registro de conjuntos de caracteres de la IANA: US-ASCII (preferred MIME name) / iso-ir-6 / ANSI_X3.4-1986 / ISO_646.irv:1991 / ASCII / ISO646-US / us / IBM367 / CP367 / csASCII
Conjunto de Caracteres:ASCII / ISO 646
Descripción: Código Estándar Americano para el Intercambio de Información, de utilización muy extendida con una codifiación de 7 bits. Estandarizado a nivel Internacional, ISO 646.
Notas adicionales:(Ninguno)
Nombre en el registro de conjuntos de caracteres de la IANA: EUC-JP (nombre preferido por MIME) / Extended_UNIX_Code_Packed_Format_for_Japanese / csEUCPkdFmtJapanese
Conjunto de Caracteres: Compuesto de US-ASCII / JIS X0201:1997 (hankaku kana part) / JIS X0208:1990 / JIS X0212:1990
Descripción: Derivado de la abreviación de Formato de Código UNIX Extendido para Japonés, la codificación más utilizada en UNIX y plataformas afines. Esta original codifiación, Código UNIX Extendido, se diseñó sobre la base de ISO 2022.
Notas adicionales: El conjunto de caracteres llamado EUC-JP es diferente a IBM932 / CP932, que son utilizados por OS/2® y Microsoft® Windows®. Para el intercambio de información con estas plataformas es mejor utilizar EUCJP-WIN.
Nombre en el registro de conjuntos de caracteres de la IANA:Shift_JIS (nombre preferido por MIME) / MS_Kanji / csShift_JIS
Conjunto de Caracteres:Compuesto de JIS X0201:1997 / JIS X0208:1997
Descripción: Shift_JIS fue desarrollado a principios de los 80, al mismo tiempo que los procesadores de textos en Japonés llegaban al mercado para mantener la compatibilidad con los antiguos esquemas de codifiación JIS X 0201:1976. De acuerdo con la definición de la IANA, el conjunto de caracteres Shift_JIS es ligeramente diferente a IBM932 / CP932. Sin embargo, los nombres "SJIS" / "Shift_JIS" son utilizados de forma incorrecta para referirse a este conjunto de caracteres.
Notas adicionales:Para la codificación CP932, es recomendable utilizar SJIS-WIN.
Nombre en el registro de conjuntos de caracteres de la IANA:(Ninguno)
Conjunto de Caracteres: Compuesto de JIS X0201:1997 / JIS X0208:1997 / IBM extensions / NEC extensions
Descripción: Aunque esta "codificación" utiliza el mismo esquema de codificación que EUC-JP, el conjunto de caracteres es diferente. Esto es así porque algunos códigos del mapa apuntan a diferentes caracteres del conjunto de caracteres EUC-JP.
Notas adicionales:none
Nombre en el registro de conjuntos de caracteres de la IANA:Windows-31J / csWindows31J
Conjunto de Caracteres: Compuesto de JIS X0201:1997 / JIS X0208:1997 / IBM extensions / NEC extensions
Descripción: Aunque esta "codificación" utiliza el mismo esquema de codificación que Shift-JIS, el conjunto de caracteres es diferente. Esto es así porque algunos códigos del mapa apuntan a diferentes caracteres del conjunto de caracteres Shift-JIS.
Notas adicionales:(none)
Nombre en el registro de conjuntos de caracteres de la IANA:ISO-2022-JP (nombre preferido por MIME) / csISO2022JP
Conjunto de Caracteres: US-ASCII / JIS X0201:1976 / JIS X0208:1978 / JIS X0208:1983
Descripción: » RFC1468
Notas adicionales:(Ninguno)
Nombre en el registro de conjuntos de caracteres de la IANA:JIS
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:ISO-8859-1
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:ISO-8859-2
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:ISO-8859-3
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:ISO-8859-4
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:ISO-8859-5
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:ISO-8859-6
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:ISO-8859-7
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:ISO-8859-8
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:ISO-8859-9
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:ISO-8859-10
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:ISO-8859-13
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:ISO-8859-14
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:ISO-8859-15
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:byte2be
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:byte2le
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:byte4be
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:byte4le
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:BASE64
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:HTML-ENTITIES
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:7bit
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:8bit
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:EUC-CN
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:CP936
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:HZ
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:EUC-TW
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:CP950
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:BIG-5
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:EUC-KR
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:UHC (CP949)
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:ISO-2022-KR
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:Windows-1251 (CP1251)
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:Windows-1252 (CP1252)
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:CP866 (IBM866)
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Nombre en el registro de conjuntos de caracteres de la IANA:KOI8-R
Conjunto de Caracteres:
Descripción:
Notas adicionales:
Constantes predefinidas
Lo básico sobre codificaciones multibytes del japonés
Cadenas de caracteres multibyte


Lo básico sobre codificaciones multibytes del japonés

Los caracteres japoneses sólo pueden ser representados por codificaciones multibytes y además se utilizan múltiples estándares de codificación dependiendo de la plataforma y el propósito del texto. Para colmo de males, estos estándares de codificación difieren ligeramente unos de otros. Con el fin de crear una aplicación web que pueda utilizarse en un entorno en japonés, un desarrollador ha de tener estas complejidades en mente para garantizar que se utilice la codificación de caracteres apropiada.

  • El almacenamiento de un carácter puede ser de hasta 6 bytes
  • La mayoría de los caracteres japoneses multibyte son el doble de ancho que los caracteres de un único byte. Estos caracteres se llaman "zen-kaku", que en japonés significa "de ancho total;". Otros caracteres más estrechos se llaman "han-kaku", que significa "de ancho medio". Las características gráficas de los caracteres, sin embargo, dependen de las tipografías usadas para mostrarlas.
  • Algunas codificaciones de caracteres usan las secuencias de cambio (escape) definidas en el ISO-2022 para cambiar el mapa de código del área de codigo específica (00h a 7fh).
  • Debería usarse el ISO-2022-JP con SMTP/NNTP, y las cabeceras y las entidades deberían recodificarse según los requisitos del RFC. Aunque éstos no sean requisitos , es una buena idea ya que varios agentes de usuario populares no pueden reconocer ningún otro método de codificación.
  • Las páginas web creadas para servicios de telefonía móvil, tales como » i-mode o » EZweb, deben utilizar Shift_JIS.
  • A partir de PHP 5.4.0, se admiten los caracteres pictograma utilizados para servicios de telefonía móvil, tales como » i-mode o » EZweb.

Resumen de codificaciones soportadas
Entrada/Salida de HTTP
Cadenas de caracteres multibyte


Entrada/Salida de HTTP

La conversión de una codificación de caracteres desde una entrada/salida HTTP también puede convertir datos binarios. Si se utilizan datos binarios para la entrada/salida de HTTP, los usuarios tienen el deber de controlar la conversión de la codificación de caracteres.

Nota:

En la versión de 4.3.2 de PHP o anteriores existe una limitación en esta funcionalidad de mbstring que consiste en que no se realiza la conversión de la condificación de caracteres de los datos enviados mediante POST si el atributo enctype del elemento form está establecido a multipart/form-data. En este caso, es el usuario el que ha de convertir los datos entrantes si fuera necesario.

Comenzando con PHP 4.3.3, si el atributo enctype de un formulario HTML se establece a multipart/form-data y mbstring.encoding_translation está establecido a 'On' en php.ini, las variables y los nombres de los ficheros subidos mediante POST serán convertidos también a la codificación de caracteres interna. Sin embargo, la conversión no se aplicará a las claves de las consultas.

  • Entrada HTTP

    No hay ninguna forma de controlar la conversión de caracteres de la entrada HTTP desde un script de PHP. Para desactivar dicha conversión, hay que realizarlo en php.ini.

    Ejemplo #1 Desactivar la conversión de caracteres de la entrada HTTP en php.ini

    ;; Deshabilitar la conversión de la entrada HTTP
mbstring.http_input = pass
;; Deshabilitar la conversión de la entrada HTTP (PHP 4.3.0 o posterior)
mbstring.encoding_translation = Off

    Cuando se utiliza PHP como un módulo de Apache, es posible anular esta configuración en cada directiva Host Virtual en el fichero httpd.confo por cada directorio, a través de un fichero .htaccess. Consulte la sección de Configuración y el Manual de Apache para más detalles.

  • Salida HTTP

    Hay varias formas de habilitar la conversión de caracteres de salida. Una es utilizando php.ini, otra es utilizando ob_start(), con mb_output_handler() como la función de llamada de retorno de ob_start.

Ejemplo #2 Ejemplo de configuración de php.ini

;; Habilitar la conversión de codificaciones de caracteres de salida para todas las páginas de PHP

;; Hablitar el almacenamiento en búfer de salida
output_buffering    = On

;; Establecer mb_output_handler para habilitar la conversión de salida
output_handler      = mb_output_handler

Ejemplo #3 Ejemplo de script

<?php

// Habilita la conversión de codificaciones de caracteres de salida sólo para esta página

// Establecer la codificación de caracteres de salida HTTP a SJIS
mb_http_output('SJIS');

// Iniciar el almacenamiento en búfer y especificar "mb_output_handler" como
// la función de llamada de retorno
ob_start('mb_output_handler');

?>

Lo básico sobre codificaciones multibytes del japonés
Codificaciones de caracteres admitidas
Cadenas de caracteres multibyte


Codificaciones de caracteres admitidas

Actualmente, el módulo mbstring admite las siguientes condificaciones de caracteres. Cualquiera de estas codificaciones de caracteres se puede especificar en el parámetro encoding de las funciones de mbstring.

Esta extensión de PHP admite las siguientes codificaciones de caracteres:

  • UCS-4*
  • UCS-4BE
  • UCS-4LE*
  • UCS-2
  • UCS-2BE
  • UCS-2LE
  • UTF-32*
  • UTF-32BE*
  • UTF-32LE*
  • UTF-16*
  • UTF-16BE*
  • UTF-16LE*
  • UTF-7
  • UTF7-IMAP
  • UTF-8*
  • ASCII*
  • EUC-JP*
  • SJIS*
  • eucJP-win*
  • SJIS-win*
  • ISO-2022-JP
  • ISO-2022-JP-MS
  • CP932
  • CP51932
  • SJIS-mac** (alias: MacJapanese)
  • SJIS-Mobile#DOCOMO** (alias: SJIS-DOCOMO)
  • SJIS-Mobile#KDDI** (alias: SJIS-KDDI)
  • SJIS-Mobile#SOFTBANK** (alias: SJIS-SOFTBANK)
  • UTF-8-Mobile#DOCOMO** (alias: UTF-8-DOCOMO)
  • UTF-8-Mobile#KDDI-A**
  • UTF-8-Mobile#KDDI-B** (alias: UTF-8-KDDI)
  • UTF-8-Mobile#SOFTBANK** (alias: UTF-8-SOFTBANK)
  • ISO-2022-JP-MOBILE#KDDI** (alias: ISO-2022-JP-KDDI)
  • JIS
  • JIS-ms
  • CP50220
  • CP50220raw
  • CP50221
  • CP50222
  • ISO-8859-1*
  • ISO-8859-2*
  • ISO-8859-3*
  • ISO-8859-4*
  • ISO-8859-5*
  • ISO-8859-6*
  • ISO-8859-7*
  • ISO-8859-8*
  • ISO-8859-9*
  • ISO-8859-10*
  • ISO-8859-13*
  • ISO-8859-14*
  • ISO-8859-15*
  • byte2be
  • byte2le
  • byte4be
  • byte4le
  • BASE64
  • HTML-ENTITIES
  • 7bit
  • 8bit
  • EUC-CN*
  • CP936
  • GB18030**
  • HZ
  • EUC-TW*
  • CP950
  • BIG-5*
  • EUC-KR*
  • UHC (CP949)
  • ISO-2022-KR
  • Windows-1251 (CP1251)
  • Windows-1252 (CP1252)
  • CP866 (IBM866)
  • KOI8-R*

* denota codificaciones que pueden ser utilizadas en expresiones regulares también.

** denota codificaciones que están disponibles desde PHP 5.4.0.

Cualquier entrada en php.ini que acepte un nombre de codificación también puede utilizar los valores "auto" y "pass". Las funciones de mbstring que aceptan un nombre de codificación también pueden utilizar el valor "auto".

Si se establece el valor "pass", no se utilizará ninguna conversión de la codificación de caracteres.

Si se establece el valor "auto", se utilizará la lista de codificaciones definida por el NLS. Por ejemplo, si el NLS está configurado como Japanese, el valor que se asume será "ASCII,JIS,UTF-8,EUC-JP,SJIS".

Véase también mb_detect_order()

Entrada/Salida de HTTP
Sobrecarga de Funciones
Cadenas de caracteres multibyte


Sobrecarga de Funciones

Quizás resulte complicado obtener una aplicación de PHP que funcione en un determinado entorno multibyte. Esto sucede porque la mayor parte de las aplicaciones de PHP están escritas con las funciones estándar de cadenas de caracteres, como por ejemplo substr(), la cual se sabe que no maneja correctamente los strings codificados de forma multibyte.

mbstring admite la 'sobrecarga de funciones', característica que permite que tales aplicaciones consideren los multibyes sin necesidad de modificar el código, sobrecargando las funciones homólogas multibyes sobre las estándar de cadenas de caracteres. Por ejemplo, se invocaría a mb_substr() en lugar de a substr() si se habilitara la sobrecarga de funciones. En muchos casos, esta funcionalidad simplifica la portabilidad de las aplicaciones que tan solo admiten codificaciones de un único byte a entornos multibyte.

Para utilizar la sobrecarga de funciones, se ha de establecer mbstring.func_overload en php.ini a un valor positivo que represente una combinación de máscaras de bits que especifiquen las categorías de las funciones que se sobrecargarán. Para sobrecargar la función mail() debe etablecerse a 1. Para funciones de string, a 2. Para funciones de expresiones regulares, a 4. Por ejemplo, si se estableciera a 7, se sobrecargaría las funciones de mail, de string, y de expresiones regulares. A continuación se muestra la lista de funciones sobrecargadas.

Funciones sobrecargadas
valor de mbstring.func_overload | función original | función sobrecargada
1 | mail() | mb_send_mail()
2 | strlen() | mb_strlen()
2 | strpos() | mb_strpos()
2 | strrpos() | mb_strrpos()
2 | substr() | mb_substr()
2 | strtolower() | mb_strtolower()
2 | strtoupper() | mb_strtoupper()
2 | stripos() | mb_stripos()
2 | strripos() | mb_strripos()
2 | strstr() | mb_strstr()
2 | stristr() | mb_stristr()
2 | strrchr() | mb_strrchr()
2 | substr_count() | mb_substr_count()
4 | ereg() | mb_ereg()
4 | eregi() | mb_eregi()
4 | ereg_replace() | mb_ereg_replace()
4 | eregi_replace() | mb_eregi_replace()
4 | split() | mb_split()

Nota:

No se recomienda habilitar la sobrecarga de funciones en un contexto de directorios, ya que todavía no se ha confirmado que su uso sea suficientemente estable en un entorno de producción, lo que podría conducir a comportamientos inesperados.

Codificaciones de caracteres admitidas
Requerimientos para la codificación de caracteres en PHP
Cadenas de caracteres multibyte


Requerimientos para la codificación de caracteres en PHP

Las codificaciones de los siguientes tipos se pueden utilizar con PHP de forma segura.

  • Codificaciones de un solo byte,

    • que tienen mapas de referencia compatibles con ASCII (ISO646) para los caracteres en el rango de 00h a 7fh.

  • Codificación multibyte,

    • que tienen mapas de referencia compatibles con ASCII para los caracteres en el rango de 00h a 7fh.
    • que no utilizan secuencias de escape ISO2022.
    • que no utilizan un valor en el rango de 00h a 7fh en cualquiera de los bytes compuestos que representan un carácter sencillo.

Estos son ejemplos de codificaciones de caracteres que es poco probable que funcionen con PHP.

JIS, SJIS, ISO-2022-JP, BIG-5

Aunque algunos scripts de PHP escritos en estas codificaciones podrían no funcionar, especialmente en el caso donde los strings codificados aparecen como identificadores o como literales en el propio script, se puede evitar el uso de estas codificaciones configurando la función de filtro de codificación transparente de mbstring para las consultas HTTP entrantes.

Nota:

Se desaconseja energicamente el uso de SJIS, BIG5, CP936, CP949 y GB18030 para la codificación interna, a menos que se esté familiarizado con el analizador, el explorador y la codificación de caracteres.

Nota:

Si se va a conectar a una base de datos con PHP, se recomienda utilizar la misma codificación de caracteres para la base de datos y la codificación interna para un uso más sencillo y un mejor rendimiento.

Si se utiliza PostgreSQL, la codificación utilizada en la base de datos y la utilizada en PHP puede ser distinta debido a que se admite la conversión automática del conjunto de caracteres entre la parte final y la inicial del proceso.

Sobrecarga de Funciones
Funciones de cadenas de caracteres multibyte
Cadenas de caracteres multibyte


Funciones de cadenas de caracteres multibyte

Referencias

Los esquemas de codificación de caracteres multibyte y temas relacionados son muy complicados y están fuera del alcance de esta documentación. Se aconseja visitar los siguientes URLs y otros recursos para tener unos conocimientos más amplios que los escritos en estos temas.

  • Documentación de Unicode

    » http://www.unicode.org/

  • Información sobre los conjuntos de caracteres japonés/coreano/chino

    » http://examples.oreilly.com/cjkvinfo/doc/cjk.inf

Tabla de contenidos

  • mb_check_encoding — Comprueba si el string es válido para a la codificación especificada
  • mb_convert_case — Realiza una conversión a mayúsculas/minúsculas de un string
  • mb_convert_encoding — Convierte una codificación de caracteres
  • mb_convert_kana — Convierte un "kana" a otro ("zen-kaku", "han-kaku" y más)
  • mb_convert_variables — Convierte códigos de caracteres a variable/s
  • mb_decode_mimeheader — Decodifica un string en el campo de cabecera MIME
  • mb_decode_numericentity — Decodifica referencias a string numéricas de HTML en caracteres
  • mb_detect_encoding — Detecta la codificación de caracteres
  • mb_detect_order — Establece/obtiene el orden de detección de codificaciones de caracteres
  • mb_encode_mimeheader — Codifica un string para la cabecera MIME
  • mb_encode_numericentity — Convierte caracteres a referencias de string numéricas de HTML
  • mb_encoding_aliases — Obtiene los alias de un tipo de codificación conocido
  • mb_ereg_match — Compararción de expresiones regulares para strings multibyte
  • mb_ereg_replace_callback — Realiza una búsqueda y sustitución de una expresión regular con soporte multibyte usando una llamada de retorno
  • mb_ereg_replace — Reemplaza una expresión regular con soprte multibyte
  • mb_ereg_search_getpos — Devuelve la posición de inicio para la siguiente comparación de una expresión regular
  • mb_ereg_search_getregs — Recupera el resultado de la última comparación de expresión regular multibyte
  • mb_ereg_search_init — Configura el string y la expresión regular para una comparación de expresiones regulares multibyte
  • mb_ereg_search_pos — Devuelve la posición y la longitud de una parte coincidente de la expresión regular multibyte para un string multibyte predefinido
  • mb_ereg_search_regs — Devuelve la parte coincidente de una expresión regular multibyte
  • mb_ereg_search_setpos — Establece el punto de inicio de la siguiente comparación de una expresión regular
  • mb_ereg_search — Comparación de expresiones regulares multibyte para un string multibyte predefinido
  • mb_ereg — Comparación de expresiones regulares con soporte multibyte
  • mb_eregi_replace — Reemplaza una expresión regular con soprte multibyte ignorando mayúsculas/minúsculas
  • mb_eregi — Comparación de expresiones regulares ignorando mayúsculas/minúsculas con soporte multibyte
  • mb_get_info — Obtiene la configuración interna de mbstring
  • mb_http_input — Detecta la codificación de caracteres de entrada HTTP
  • mb_http_output — Establece/obtiene la codificación de caracteres de salida HTTP
  • mb_internal_encoding — Establece/obtiene la codificación de caracteres interna
  • mb_language — Establece/obtiene el idioma actual
  • mb_list_encodings — Devuelve un array con todos los tipos de codificaciones admitidas
  • mb_output_handler — Función de llamada de retorno que convierte la codificación de caracteres en búfer de salida
  • mb_parse_str — Analiza datos GET/POST/COOKIE y establece varialbes globales
  • mb_preferred_mime_name — Obtener un string del conjunto de caracteres del MIME
  • mb_regex_encoding — Establece/obtiene la codificación de caracteres para expresiones regulares multibyte
  • mb_regex_set_options — Establece/obtiene las opciones predeterminadas para las funciones mbregex
  • mb_send_mail — Envía un correo codificado
  • mb_split — Divide cadenas de caracteres multibyte usando una expresión regular
  • mb_strcut — Obtener parte de un string
  • mb_strimwidth — Obtiene un string truncado con el ancho especificado
  • mb_stripos — Busca la posición de la primera ocurrencia de un string dentro de otro, insensible a mayúsculas/minúsculas
  • mb_stristr — Busca la primera ocurrencia de un string dentro de otro, insensible a mayúsculas/minúsculas
  • mb_strlen — Obtiene la longitud de una cadena de caracteres
  • mb_strpos — Busca la posición de la primera ocurrencia de un string en otro string
  • mb_strrchr — Busca la última ocurrencia de un carácter de un string dentro de otro
  • mb_strrichr — Busca la última ocurrencia de un carácter de un string dentro de otro, insensible a mayúsculas/minúsculas
  • mb_strripos — Busca la posicion de la última ocurrencia de un string dentro de otro string, insensible a mayúsculas/minúsculas
  • mb_strrpos — Busca la posicion de la última ocurrencia de un string en otro string
  • mb_strstr — Busca la primera ocurrencia de un string dentro de otro
  • mb_strtolower — Convierte una cadena de caracteres a minúsculas
  • mb_strtoupper — Convierte un string en mayúsculas
  • mb_strwidth — Deuelve el ancho de un string
  • mb_substitute_character — Establece/obtiene un carácter de sustitución
  • mb_substr_count — Cuenta el número de ocurrencias de un substring
  • mb_substr — Obtiene parte de una cadena de caracteres
Requerimientos para la codificación de caracteres en PHP
mb_check_encoding
Cadenas de caracteres multibyte


Comprueba si el string es válido para a la codificación especificada

Funciones de cadenas de caracteres multibyte
mb_convert_case
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_check_encoding

(PHP 4 >= 4.4.3, PHP 5 >= 5.1.3)

mb_check_encoding — Comprueba si el string es válido para a la codificación especificada

Descripción

bool mb_check_encoding ([ string $var = NULL [, string $encoding = mb_internal_encoding() ]] )

Comprueba si el flujo de bytes especificado es válido para a la codificación especificada. Resulta de utilidad para prevenir el conocido "Ataque de Codificación Inválida".

Parámetros

var

El flujo de bytes a comprobar. Si se omite, esta función comprueba todos los datos de entrada desde el comienzo de la petición.

encoding

La codificación a comprobar.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Funciones de cadenas de caracteres multibyte
mb_convert_case
Funciones de cadenas de caracteres multibyte


Realiza una conversión a mayúsculas/minúsculas de un string

mb_check_encoding
mb_convert_encoding
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_convert_case

(PHP 4 >= 4.3.0, PHP 5)

mb_convert_case — Realiza una conversión a mayúsculas/minúsculas de un string

Descripción

string mb_convert_case ( string $str , int $mode [, string $encoding = mb_internal_encoding() ] )

Realiza una conversión a mayúsculas/minúsculas en un string, de acuerdo al modo especificado por mode.

Parámetros

str

El string que se va a convertir.

mode

El modo de conversión. Puede ser MB_CASE_UPPER, MB_CASE_LOWER, o MB_CASE_TITLE.

encoding

El parámetro encoding es la codificación de caracteres. Si es omitido, será usado el valor de la codificación de caracteres interna.

Valores devueltos

La versión convertida del string tal como se especificó en el parámetro mode.

Unicode

A diferencia de las funciones estándar de mayúsculas/minúsculas, como strtolower() y strtoupper(), la conversión se lleva a cabo según los fundamentos de las propiedades de los caracteres Unicode. De esta forma, esta función no se ve afectada por las configuraciones regionales, ya que puede convertir cualquier carácter que contenga la propiedad 'alfabética', como la A con diéresis (Ä).

Para más información sobre las propiedades Unicode, por favor, revise » http://www.unicode.org/unicode/reports/tr21/.

Ejemplos

Ejemplo #1 Ejemplo de mb_convert_case()

<?php
$str = "mary had a Little lamb and she loved it so";
$str = mb_convert_case($str, MB_CASE_UPPER, "UTF-8");
echo $str; // Muestra MARY HAD A LITTLE LAMB AND SHE LOVED IT SO
$str = mb_convert_case($str, MB_CASE_TITLE, "UTF-8");
echo $str; // Muestra Mary Had A Little Lamb And She Loved It So
?>

Ejemplo #2 Ejemplo de mb_convert_case() con texto no latino en UTF-8

<?php
$str = "Τάχιστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός";
$str = mb_convert_case($str, MB_CASE_UPPER, "UTF-8");
echo $str; // Muestra ΤΆΧΙΣΤΗ ΑΛΏΠΗΞ ΒΑΦΉΣ ΨΗΜΈΝΗ ΓΗ, ΔΡΑΣΚΕΛΊΖΕΙ ΥΠΈΡ ΝΩΘΡΟΎ ΚΥΝΌΣ
$str = mb_convert_case($str, MB_CASE_TITLE, "UTF-8");
echo $str; // Muestra Τάχιστη Αλώπηξ Βαφήσ Ψημένη Γη, Δρασκελίζει Υπέρ Νωθρού Κυνόσ
?>

Ver también

  • mb_strtolower() - Convierte una cadena de caracteres a minúsculas
  • mb_strtoupper() - Convierte un string en mayúsculas
  • strtolower() - Convierte una cadena a minúsculas
  • strtoupper() - Convierte un string a mayúsculas
  • ucfirst() - Convierte el primer caracter de una cadena a mayúsculas
  • ucwords() - Convierte a mayúsculas el primer caracter de cada palabra en una cadena

mb_check_encoding
mb_convert_encoding
Funciones de cadenas de caracteres multibyte


Convierte una codificación de caracteres

mb_convert_case
mb_convert_kana
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_convert_encoding

(PHP 4 >= 4.0.6, PHP 5)

mb_convert_encoding — Convierte una codificación de caracteres

Descripción

string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding = mb_internal_encoding() ] )

Convierte la codificación de caracteres del string str a la especificada por to_encoding, indicando opcionalmente la codificación de caracteres inicial en from_encoding.

Parámetros

str

El string a codificar.

to_encoding

El tipo de codificación a la que convertir str.

from_encoding

Se especifica por los nombres de los códigos de caracteres previos a la conversión. Se trata de, o bien un array, o bien de una lista separada por comas. Si no se especificara ningún valor para from_encoding, se utilizará la codificación interna.

Revise las codificaciones admitidas.

Valores devueltos

El string codificado.

Ejemplos

Ejemplo #1 Ejemplo de mb_convert_encoding()

<?php
/* Convierte de la codificación interna a SJIS */
$str = mb_convert_encoding($str, "SJIS");

/* Convierte EUC-JP a UTF-7 */
$str = mb_convert_encoding($str, "UTF-7", "EUC-JP");

/* Autodetecta la codificación, desde JIS, eucjp-win o sjis-win, y después convierte str a UCS-2LE */
$str = mb_convert_encoding($str, "UCS-2LE", "JIS, eucjp-win, sjis-win");

/* "auto" es un alias de "ASCII,JIS,UTF-8,EUC-JP,SJIS" */
$str = mb_convert_encoding($str, "EUC-JP", "auto");
?>

Ver también

  • mb_detect_order() - Establece/obtiene el orden de detección de codificaciones de caracteres

mb_convert_case
mb_convert_kana
Funciones de cadenas de caracteres multibyte


Convierte un "kana" a otro ("zen-kaku", "han-kaku" y más)

mb_convert_encoding
mb_convert_variables
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_convert_kana

(PHP 4 >= 4.0.6, PHP 5)

mb_convert_kana — Convierte un "kana" a otro ("zen-kaku", "han-kaku" y más)

Descripción

string mb_convert_kana ( string $str [, string $option = "KV" [, string $encoding = mb_internal_encoding() ]] )

Realiza una conversión "han-kaku" - "zen-kaku" en el string str. Esta función solo es útil para el idioma japonés.

Parámetros

str

El string a convertir.

option

La opción de conversión.

Se especifica con una combinación de las siguientes opciones.

Opciones de conversión posibles
Opción | Significado
r | Convierte los alfabetos "zen-kaku" a "han-kaku"
R | Convierte los alfabetos "han-kaku" a "zen-kaku"
n | Convierte los números "zen-kaku" a "han-kaku"
N | Convierte los números "han-kaku" a "zen-kaku"
a | Convierte los alfabetos y los números "zen-kaku" a "han-kaku"
A | Convierte los alfabetos y los números "han-kaku" a "zen-kaku" (Los caracteres incluídos en las opciones "a" y "A" están en el rango U+0021 - U+007E excepto U+0022, U+0027, U+005C, U+007E)
s | Convierte del espacio de "zen-kaku" al de "han-kaku" (U+3000 -> U+0020)
S | Convierte del espacio de "han-kaku" al de "zen-kaku" (U+0020 -> U+3000)
k | Convierte "zen-kaku kata-kana" a "han-kaku kata-kana"
K | Convierte "han-kaku kata-kana" a "zen-kaku kata-kana"
h | Convierte "zen-kaku hira-gana" a "han-kaku kata-kana"
H | Convierte "han-kaku kata-kana" a "zen-kaku hira-gana"
c | Convierte "zen-kaku kata-kana" a "zen-kaku hira-gana"
C | Convierte "zen-kaku hira-gana" a "zen-kaku kata-kana"
V | Colapsa la notación de sonidos de voz, y la converte a caracteres. Usar con "K","H"

encoding

El parámetro encoding es la codificación de caracteres. Si es omitido, será usado el valor de la codificación de caracteres interna.

Valores devueltos

El string convertido.

Ejemplos

Ejemplo #1 Ejemplo de mb_convert_kana()

<?php
/* Convierte todos los "kana" a "zen-kaku" "kata-kana" */
$str = mb_convert_kana($str, "KVC");

/* Convierte "han-kaku" "kata-kana" a "zen-kaku" "kata-kana"
   y los alfanuméricos de "zen-kaku" a "han-kaku" */
$str = mb_convert_kana($str, "KVa");
?>

mb_convert_encoding
mb_convert_variables
Funciones de cadenas de caracteres multibyte


Convierte códigos de caracteres a variable/s

mb_convert_kana
mb_decode_mimeheader
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_convert_variables

(PHP 4 >= 4.0.6, PHP 5)

mb_convert_variables — Convierte códigos de caracteres a variable/s

Descripción

string mb_convert_variables ( string $to_encoding , mixed $from_encoding , mixed &$vars [, mixed &$... ] )

Convierta codificaciones de caracteresa de vars variables de la codificación from_encoding a la codificación to_encoding.

mb_convert_variables() une cadenas de caracteres en un Array u Object para detectar la codificación, ya que la detección de codificaciones tiene a falla si las cadenas de caracteres son cortas. Por lo tanto, es imposible mezclar codificaciones en un único array u objeto.

Parámetros

to_encoding

La codificación a la que se va a convertir string.

from_encoding

from_encoding se especifica mediante un array o string separado por comas, e intenta detectar la codificación desde from-coding. Cuando from_encoding se omite, se utiliza detect_order.

vars

vars es la referencia a la variable que va a ser convertida. Se aceptan String, Array y Object. mb_convert_variables() asume que todos los parámetros tienen la misma codificación.

...

vars adicionales.

Valores devueltos

La codificación de caracteres antes de la conversión en caso de éxito, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de mb_convert_variables()

<?php
/* Convertir las variables $post1, $post2 a la codificación interna */
$interenc = mb_internal_encoding();
$inputenc = mb_convert_variables($interenc, "ASCII,UTF-8,SJIS-win", $post1, $post2);
?>

mb_convert_kana
mb_decode_mimeheader
Funciones de cadenas de caracteres multibyte


Decodifica un string en el campo de cabecera MIME

mb_convert_variables
mb_decode_numericentity
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_decode_mimeheader

(PHP 4 >= 4.0.6, PHP 5)

mb_decode_mimeheader — Decodifica un string en el campo de cabecera MIME

Descripción

string mb_decode_mimeheader ( string $str )

Decodifica el string codificado por palabras str en cabecera MIME.

Parámetros

str

El string a decodificar.

Valores devueltos

El string decodificado en la codificación de caracteres interna.

Ver también

  • mb_encode_mimeheader() - Codifica un string para la cabecera MIME

mb_convert_variables
mb_decode_numericentity
Funciones de cadenas de caracteres multibyte


Decodifica referencias a string numéricas de HTML en caracteres

mb_decode_mimeheader
mb_detect_encoding
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_decode_numericentity

(PHP 4 >= 4.0.6, PHP 5)

mb_decode_numericentity — Decodifica referencias a string numéricas de HTML en caracteres

Descripción

string mb_decode_numericentity ( string $str , array $convmap [, string $encoding = mb_internal_encoding() ] )

Convierte las referencias a string numéricas del string str en un bloque de caracteres especificado.

Parámetros

str

El string a decodificar.

convmap

convmap es un array que especifica el área de código a convertir.

encoding

El parámetro encoding es la codificación de caracteres. Si es omitido, será usado el valor de la codificación de caracteres interna.

Valores devueltos

El string convertido.

Ejemplos

Ejemplo #1 Ejemplo de convmap

<?php
$convmap = array (
   int start_code1, int end_code1, int offset1, int mask1,
   int start_code2, int end_code2, int offset2, int mask2,
   ........
   int start_codeN, int end_codeN, int offsetN, int maskN );
// Especificar el valor Unicode para start_codeN y end_codeN
// Añadir offsetN al valor y tomar el operador 'AND' con maskN,
// luego convertir el valor a una referencia de string numérica.
?>

Ver también

  • mb_encode_numericentity() - Convierte caracteres a referencias de string numéricas de HTML

mb_decode_mimeheader
mb_detect_encoding
Funciones de cadenas de caracteres multibyte


Detecta la codificación de caracteres

mb_decode_numericentity
mb_detect_order
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_detect_encoding

(PHP 4 >= 4.0.6, PHP 5)

mb_detect_encoding — Detecta la codificación de caracteres

Descripción

string mb_detect_encoding ( string $str [, mixed $encoding_list = mb_detect_order() [, bool $strict = false ]] )

Detecta la codificación de caracteres del string str.

Parámetros

str

El string en el que detectar la codificación.

encoding_list

encoding_list es una lista de codificaciones de caracteres. El orden de codificaciones puede ser especificado por un array o una lista de string separados por comas.

Si se omiete encoding_list, se usará detect_order.

strict

strict especifica si usar la detección de codificación estricta o no. El valor predeterminado es FALSE.

Valores devueltos

La codificación de caracteres detectada, o FALSE si la codificación no se pudo detectar en el string dado.

Ejemplos

Ejemplo #1 Ejemplo de mb_detect_encoding()

<?php
/* Detectar la codificación de caracteres con el detect_order en uso */
echo mb_detect_encoding($str);

/* "auto" se desarrolla según mbstring.language */
echo mb_detect_encoding($str, "auto");

/* Especificar la codificación de caracteres encoding_list mediante una lista separada por comas */
echo mb_detect_encoding($str, "JIS, eucjp-win, sjis-win");

/* Usar un array para especificar encoding_list  */
$ary[] = "ASCII";
$ary[] = "JIS";
$ary[] = "EUC-JP";
echo mb_detect_encoding($str, $ary);
?>

Ver también

  • mb_detect_order() - Establece/obtiene el orden de detección de codificaciones de caracteres

mb_decode_numericentity
mb_detect_order
Funciones de cadenas de caracteres multibyte


Establece/obtiene el orden de detección de codificaciones de caracteres

mb_detect_encoding
mb_encode_mimeheader
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_detect_order

(PHP 4 >= 4.0.6, PHP 5)

mb_detect_order — Establece/obtiene el orden de detección de codificaciones de caracteres

Descripción

mixed mb_detect_order ([ mixed $encoding_list = mb_detect_order() ] )

Establece el orden de detección automática de la codificación de caracteres a encoding_list.

Parámetros

encoding_list

encoding_list es un array o una lista de codificaciones de caracteres separadas por comas. Véanse las codificaciones admitidas.

Si se omite encoding_list, devolverá el orden actual de detección de las codificaciones de caracteres como un array.

Este parámetro afecta a mb_detect_encoding() y a mb_send_mail().

mbstring actualmente implementa los siguientes filtros de detección de codificaciones. Si existiera una secuencia de bytes inválida para las siguientes codificaciones, la detección de la codificación fallará.

UTF-8, UTF-7, ASCII, EUC-JP,SJIS, eucJP-win, SJIS-win, JIS, ISO-2022-JP

Para ISO-8859-*, mbstring siempre lo detecta como ISO-8859-*.

Para UTF-16, UTF-32, UCS2 y UCS4, la detección de la codificación siempre fallará.

Ejemplo #1 Ejemplo orden de detección inútil

; Siempre es detectado como ISO-8859-1
detect_order = ISO-8859-1, UTF-8

; Siempre es detectado como UTF-8, ya que los valores ASCII/UTF-7 son
; válidos para UTF-8
detect_order = UTF-8, ASCII, UTF-7

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #2 Ejemplo de mb_detect_order()

<?php
/* Establecer el orden de detección mediante una lista enumerada */
mb_detect_order("eucjp-win,sjis-win,UTF-8");

/* Establecer el orden de detección mediante un array */
$ary[] = "ASCII";
$ary[] = "JIS";
$ary[] = "EUC-JP";
mb_detect_order($ary);

/* Mostrar el orden de detección en uso */
echo implode(", ", mb_detect_order());
?>

Ver también

  • mb_internal_encoding() - Establece/obtiene la codificación de caracteres interna
  • mb_http_input() - Detecta la codificación de caracteres de entrada HTTP
  • mb_http_output() - Establece/obtiene la codificación de caracteres de salida HTTP
  • mb_send_mail() - Envía un correo codificado

mb_detect_encoding
mb_encode_mimeheader
Funciones de cadenas de caracteres multibyte


Codifica un string para la cabecera MIME

mb_detect_order
mb_encode_numericentity
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_encode_mimeheader

(PHP 4 >= 4.0.6, PHP 5)

mb_encode_mimeheader — Codifica un string para la cabecera MIME

Descripción

string mb_encode_mimeheader ( string $str [, string $charset = mb_internal_encoding() [, string $transfer_encoding = "B" [, string $linefeed = "\r\n" [, int $indent = 0 ]]]] )

Codifica el string str dado mediante el esquema de codificación de cabecera MIME.

Parámetros

str

El string que va a ser codificado.

charset

charset especifica el nombre del conjunto de caracteres en el cual está representado str. El valor predeterminado está determinado por el ajuste NLS en uso (mbstring.language). mb_internal_encoding() debería establecerse a la misma codifiación.

transfer_encoding

transfer_encoding especifica el esquema de la codifición MIME. Debería ser "B" (Base64) o "Q" (Quoted-Printable). Si no ser proporciona será "B".

linefeed

linefeed especifica la marca EOL (fin de línea) con la que mb_encode_mimeheader() realiza el pliegue de línea (un término de » RFC, que es el acto de dividir una línea mayor que una cierta longitud en varias líneas. La longitud actualmente es de 74 caracteres). Si no se proporciona será "\r\n" (CRLF).

indent

La indentación de la primera línea (número de caracteres en la cabecera antes de str).

Valores devueltos

Una versión convertida del string representado en ASCII.

Historial de cambios

Versión | Descripción
5.0.0 | Se añadió el parámetro indent.

Ejemplos

Ejemplo #1 Ejemplo de mb_encode_mimeheader()

<?php
$name = ""; // kanji
$mbox = "kru";
$doma = "gtinn.mon";
$addr = mb_encode_mimeheader($name, "UTF-7", "Q") . " <" . $mbox . "@" . $doma . ">";
echo $addr;
?>

Notas

Nota:

Esta función no está diseñada para dividir líneas en puntos de rotura contextual de alto nivel (límites de palabras, etc.). Este comportamiento podría abarrotar el string original con espacios inesperados.

Ver también

  • mb_decode_mimeheader() - Decodifica un string en el campo de cabecera MIME

mb_detect_order
mb_encode_numericentity
Funciones de cadenas de caracteres multibyte


Convierte caracteres a referencias de string numéricas de HTML

mb_encode_mimeheader
mb_encoding_aliases
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_encode_numericentity

(PHP 4 >= 4.0.6, PHP 5)

mb_encode_numericentity — Convierte caracteres a referencias de string numéricas de HTML

Descripción

string mb_encode_numericentity ( string $str , array $convmap [, string $encoding = mb_internal_encoding() [, bool $is_hex = FALSE ]] )

Convierte los códigos de caracteres especificador en el string str desde referencias de caracteres numéricas de HTML al código de caracteres.

Parámetros

str

El string a ser codificado.

convmap

convmap es un array que especifica el área de código a convertir.

encoding

El parámetro encoding es la codificación de caracteres. Si es omitido, será usado el valor de la codificación de caracteres interna.

is_hex

Valores devueltos

El string convertido.

Historial de cambios

Versión | Descripción
5.4.0 | Añadido el parámetro is_hex.

Ejemplos

Ejemplo #1 Ejemplo de convmap

<?php
$convmap = array (
 int start_code1, int end_code1, int offset1, int mask1,
 int start_code2, int end_code2, int offset2, int mask2,
 ........
 int start_codeN, int end_codeN, int offsetN, int maskN );
// Especificar el valor Unicode para start_codeN y end_codeN
// Añadir offsetN al valor y tomar el operador 'AND' con maskN,
// luego convertir el valor a una referencia de string numérica.
?>

Ejemplos

Ejemplo #2 Ejemplo de mb_encode_numericentity()

<?php
/* Convertir la parte izquierda de ISO-8859-1 a referncias de caracteres numéricas de HTML */
$convmap = array(0x80, 0xff, 0, 0xff);
$str = mb_encode_numericentity($str, $convmap, "ISO-8859-1");

/* Convertir código SJIS-win definido por el usuario del bloque 95-104 to a referencias
   de string numéricas */
$convmap = array(
       0xe000, 0xe03e, 0x1040, 0xffff,
       0xe03f, 0xe0bb, 0x1041, 0xffff,
       0xe0bc, 0xe0fa, 0x1084, 0xffff,
       0xe0fb, 0xe177, 0x1085, 0xffff,
       0xe178, 0xe1b6, 0x10c8, 0xffff,
       0xe1b7, 0xe233, 0x10c9, 0xffff,
       0xe234, 0xe272, 0x110c, 0xffff,
       0xe273, 0xe2ef, 0x110d, 0xffff,
       0xe2f0, 0xe32e, 0x1150, 0xffff,
       0xe32f, 0xe3ab, 0x1151, 0xffff );
$str = mb_encode_numericentity($str, $convmap, "sjis-win");
?>

Ver también

  • mb_decode_numericentity() - Decodifica referencias a string numéricas de HTML en caracteres

mb_encode_mimeheader
mb_encoding_aliases
Funciones de cadenas de caracteres multibyte


Obtiene los alias de un tipo de codificación conocido

mb_encode_numericentity
mb_ereg_match
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_encoding_aliases

(PHP 5 >= 5.3.0)

mb_encoding_aliases — Obtiene los alias de un tipo de codificación conocido

Descripción

array mb_encoding_aliases ( string $encoding )

Devuelve un array con los alias de un tipo de codificación conocido dado por encoding type.

Parámetros

encoding

El tipo de codificación del cual se quieren obtener los alias.

Valores devueltos

Devuelve un array indexado numéricamente con los alias de la condificación en caso de éxito, o FALSE en caso de error

Errores/Excepciones

Emite un error de nivel E_WARNING si encoding es desconocido.

Ejemplos

Ejemplo #1 Ejemplo de mb_encoding_aliases()

<?php
$encoding        = 'ASCII';
$known_encodings = mb_list_encodings();

if (in_array($encoding, $known_encodings)) {

    $aliases = mb_encoding_aliases($encoding);
    print_r($aliases);

} else {

    echo "Codificación ($encoding) desconocida.\n";

}
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => ANSI_X3.4-1968
    [1] => iso-ir-6
    [2] => ANSI_X3.4-1986
    [3] => ISO_646.irv:1991
    [4] => US-ASCII
    [5] => ISO646-US
    [6] => us
    [7] => IBM367
    [8] => cp367
    [9] => csASCII
)

Ver también

  • mb_list_encodings() - Devuelve un array con todos los tipos de codificaciones admitidas

mb_encode_numericentity
mb_ereg_match
Funciones de cadenas de caracteres multibyte


Compararción de expresiones regulares para strings multibyte

mb_encoding_aliases
mb_ereg_replace_callback
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_ereg_match

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_match — Compararción de expresiones regulares para strings multibyte

Descripción

bool mb_ereg_match ( string $pattern , string $string [, string $option = "msr" ] )

Una compararción de expresiones regulares para strings multibyte.

Parámetros

pattern

El patrón de la expresión regular.

string

El string a ser evaluado.

option

Valores devueltos

Devuelve TRUE si string coincide con la expresión regular pattern, FALSE si no.

Notas

Nota:

La codificación interna o la codificación especificada por mb_regex_encoding() será usada en esta función.

Ver también

  • mb_regex_encoding() - Establece/obtiene la codificación de caracteres para expresiones regulares multibyte
  • mb_ereg() - Comparación de expresiones regulares con soporte multibyte

mb_encoding_aliases
mb_ereg_replace_callback
Funciones de cadenas de caracteres multibyte


Realiza una búsqueda y sustitución de una expresión regular con soporte multibyte usando una llamada de retorno

mb_ereg_match
mb_ereg_replace
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_ereg_replace_callback

(PHP 5 >= 5.4.1)

mb_ereg_replace_callback — Realiza una búsqueda y sustitución de una expresión regular con soporte multibyte usando una llamada de retorno

Descripción

string mb_ereg_replace_callback ( string $pattern , callable $callback , string $string [, string $option = "msr" ] )

Examina string para buscar coincidencias con pattern, luego reemplaza el texto coincidente con la salida de la función callback.

El comportamiento de esta función es casi idéntico al de mb_ereg_replace(), excepto que en lugar del parámetro replacement, se debería especificar una llamada de retorno dada por callback.

Parámetros

pattern

El patrón de la expresión regular.

Se pueden usar caracteres multibyes en pattern.

callback

Una llamada de retorno que será invocada y se le proporcionará un array de elementos coincidentes en el string subject. La llamada de retorno debería devolver el string de sustitución.

A menudo será necearia la función callback para una mb_ereg_replace_callback() en un sólo lugar. En este caso se puede usar una función anónima para declarar una llamada de retorno dentro de la llamada a mb_ereg_replace_callback(). De esta manera se tendrá toda la información para la llamada en un lugar para no abarrotar el espacion de nombres de funciones con un nombre de de una función de llamada de retorno que no se usará.

string

El string a comprobar.

option

Las condiciones de comparación se pueden establecer por el parámetro option. Si se especifica i para este parámetro, no se tendrán en cuenta las mayúsculas/minúsculas. Si se especifica x, se ingorarán los espacios en blanco. Si se especifica m, la comparación se ejecutará en modo multilínea y se incluirán los saltos de línea en '.'. Si se especifica p, la comparación se ejecutará en modo POSIX, por lo que los saltos de línea se cosiderarán como caracteres normales. Observe que e no se puede usar en mb_ereg_replace_callback().

Valores devueltos

El string resultante en caso de éxito, o FALSE en caso de error.

Notas

Nota:

La codificación interna o la codificación especificada por mb_regex_encoding() será usada en esta función.

Ejemplos

Ejemplo #1 Ejemplo de mb_ereg_replace_callback()

<?php
// este texto se uso en 2002
// queremos obtener esto para fechas hasta 2003
$texto = "El día de los Santos Inocentes es el 28/12/2002\n";
$texto.= "Las últimas navidades fueron el 24/12/2001\n";
// la función de llamada de retonro
function siguiente_año($coincidencias)
{
  // como siempre: $coincidencias[0] es la coincidencia completa
  // $coincidencias[1] la coincidencia para el primer subpatrón
  // encerrado entre '(...)', etc.
  return $coincidencias[1].($coincidencias[2]+1);
}
echo mb_ereg_replace_callback(
            "(\d{2}/\d{2}/)(\d{4})",
            "siguiente_año",
            $texto);

?>

El resultado del ejemplo sería:

El día de los Santos Inocentes es el 28/12/2003
Las últimas navidades fueron el 24/12/2002

Ejemplo #2 mb_ereg_replace_callback() usando una función anónima admitida en PHP 5.3.0 o posterior

<?php
// este texto se uso en 2002
// queremos obtener esto para fechas hasta 2003
$texto = "El día de los Santos Inocentes es el 28/12/2002\n";
$texto.= "Las últimas navidades fueron el 24/12/2001\n";

echo mb_ereg_replace_callback(
            "(\d{2}/\d{2}/)(\d{4})",
            function ($coincidencias) {
               return $coincidencias[1].($coincidencias[2]+1);
            },
            $texto);
?>

Ver también

  • mb_regex_encoding() - Establece/obtiene la codificación de caracteres para expresiones regulares multibyte
  • mb_ereg_replace() - Reemplaza una expresión regular con soprte multibyte
  • Funciones anónimas
  • información acerca de tipos de llamada de retorno

mb_ereg_match
mb_ereg_replace
Funciones de cadenas de caracteres multibyte


Reemplaza una expresión regular con soprte multibyte

mb_ereg_replace_callback
mb_ereg_search_getpos
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_ereg_replace

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_replace — Reemplaza una expresión regular con soprte multibyte

Descripción

string mb_ereg_replace ( string $pattern , string $replacement , string $string [, string $option = "msr" ] )

Explora string para ver si hay coincidencias con pattern, luego reemplaza el texto coincidente con replacement.

Parámetros

pattern

El patrón de la expresión regular.

Se pueden usar caracteres multibyte en pattern.

replacement

El texto de sustitución.

string

El string que va a ser comprobado.

option
Las condiciones de comparación se pueden establecer con el parámetro option. Si se especifica i para este parámetro, no se diferenciará entre mayúsculas/minúsculas. Si se especifica x, se ignorarán los espacios en blanco. Si se especifica m, la comparación se ejecutará en modo multilínea y los saltos de línea estarán incluidos en '.'. Si se especifica p, la compararción se ejecutará en modo POSIX, los saltos de línea serán considerados como caracteres normales. Si se especifica e, el string replacement será evaluado como una expresión de PHP.

Valores devueltos

El string resultante en caso de éxito, o FALSE en caso de error.

Notas

Nota:

La codificación interna o la codificación especificada por mb_regex_encoding() será usada en esta función.

Advertencia

Nunca utilice el modificador e cuando trabaje con datos de entrada que no son de confianza. No se producirá ningún escape automático (como en preg_replace()). Si utiliza el modificador puede crear vulnerabilidades de ejecución remota de código en su aplicación.

Ver también

  • mb_regex_encoding() - Establece/obtiene la codificación de caracteres para expresiones regulares multibyte
  • mb_eregi_replace() - Reemplaza una expresión regular con soprte multibyte ignorando mayúsculas/minúsculas

mb_ereg_replace_callback
mb_ereg_search_getpos
Funciones de cadenas de caracteres multibyte


Devuelve la posición de inicio para la siguiente comparación de una expresión regular

mb_ereg_replace
mb_ereg_search_getregs
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_ereg_search_getpos

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_search_getpos — Devuelve la posición de inicio para la siguiente comparación de una expresión regular

Descripción

int mb_ereg_search_getpos ( void )

Devuelve la posición de inicio para la siguiente coincidencia de una expresión regular.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

 mb_ereg_search_getpos() devuelve
el punto de inicio de la comparación de una expresión regular para
 mb_ereg_search(),
 mb_ereg_search_pos(),
 mb_ereg_search_regs(). La posición está
representada mediante bytes desde la cabeza del string.

Notas

Nota:

La codificación interna o la codificación especificada por mb_regex_encoding() será usada en esta función.

Ver también

  • mb_regex_encoding() - Establece/obtiene la codificación de caracteres para expresiones regulares multibyte
  • mb_ereg_search_setpos() - Establece el punto de inicio de la siguiente comparación de una expresión regular

mb_ereg_replace
mb_ereg_search_getregs
Funciones de cadenas de caracteres multibyte


Recupera el resultado de la última comparación de expresión regular multibyte

mb_ereg_search_getpos
mb_ereg_search_init
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_ereg_search_getregs

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_search_getregs — Recupera el resultado de la última comparación de expresión regular multibyte

Descripción

array mb_ereg_search_getregs ( void )

Recupera el resultado de la última comparación de expresión regular multibyte.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un array que incluye el substring de la parte coincidente mediante la última llamada a mb_ereg_search(), mb_ereg_search_pos(), mb_ereg_search_regs(). Si existieran algunas coincidencias, el primer elemento contendrá el substring coincidente, el segundo elemento contendrá el primer agrupamiento entre paréntesis, el tercer elemento contendrá el segundo agrupamiento entre paréntesis, etc. Devuelve FALSE en caso de error.

Notas

Nota:

La codificación interna o la codificación especificada por mb_regex_encoding() será usada en esta función.

Ver también

  • mb_regex_encoding() - Establece/obtiene la codificación de caracteres para expresiones regulares multibyte
  • mb_ereg_search_init() - Configura el string y la expresión regular para una comparación de expresiones regulares multibyte

mb_ereg_search_getpos
mb_ereg_search_init
Funciones de cadenas de caracteres multibyte


Configura el string y la expresión regular para una comparación de expresiones regulares multibyte

mb_ereg_search_getregs
mb_ereg_search_pos
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_ereg_search_init

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_search_init — Configura el string y la expresión regular para una comparación de expresiones regulares multibyte

Descripción

bool mb_ereg_search_init ( string $string [, string $pattern [, string $option = "msr" ]] )

 mb_ereg_search_init() establece
string y pattern
para una expresión regular multibyte. Estos valores se usan para
 mb_ereg_search(),
 mb_ereg_search_pos(), y
 mb_ereg_search_regs().

Parámetros

string

El estring de búsquda.

pattern

El patrón de búsqueda.

option

La opción de búsqueda.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota:

La codificación interna o la codificación especificada por mb_regex_encoding() será usada en esta función.

Ver también

  • mb_regex_encoding() - Establece/obtiene la codificación de caracteres para expresiones regulares multibyte
  • mb_ereg_search_regs() - Devuelve la parte coincidente de una expresión regular multibyte

mb_ereg_search_getregs
mb_ereg_search_pos
Funciones de cadenas de caracteres multibyte


Devuelve la posición y la longitud de una parte coincidente de la expresión regular multibyte para un string multibyte predefinido

mb_ereg_search_init
mb_ereg_search_regs
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_ereg_search_pos

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_search_pos — Devuelve la posición y la longitud de una parte coincidente de la expresión regular multibyte para un string multibyte predefinido

Descripción

array mb_ereg_search_pos ([ string $pattern [, string $option = "ms" ]] )

Devuelve la posición y la longitud de una parte coincidente de la expresión regular multibyte para un string multibyte predefinido.

El string para la comparación se especifica mediante mb_ereg_search_init(). Si no se especifica, se usará el utilizado anteriormente.

Parámetros

pattern

El patrón de búsqueda.

option

La opción de búsqueda.

Valores devueltos

Un array que contiene dos elementos. El primero es el índice, en bytes, donde la coincidencia es relativa al inicio del string de búsqueda, y el segundo elemento es la longitud de la coincidencia.

Si ocurre un error, devuelve FALSE.

Notas

Nota:

La codificación interna o la codificación especificada por mb_regex_encoding() será usada en esta función.

Ver también

  • mb_regex_encoding() - Establece/obtiene la codificación de caracteres para expresiones regulares multibyte
  • mb_ereg_search_init() - Configura el string y la expresión regular para una comparación de expresiones regulares multibyte

mb_ereg_search_init
mb_ereg_search_regs
Funciones de cadenas de caracteres multibyte


Devuelve la parte coincidente de una expresión regular multibyte

mb_ereg_search_pos
mb_ereg_search_setpos
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_ereg_search_regs

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_search_regs — Devuelve la parte coincidente de una expresión regular multibyte

Descripción

array mb_ereg_search_regs ([ string $pattern [, string $option = "ms" ]] )

Devuelve la parte coincidente de una expresión regular multibyte.

Parámetros

pattern

El patrón de búsqueda.

option

La opción de búsqueda.

Valores devueltos

mb_ereg_search_regs() ejecuta la comparación de la expresión regular multibyte, y si existe alguna parte coincidente, devuelve un array que incluye el substring de la parte coincidente como primer elemento, la primera parte agrupada entre paréntesis como segundo elemento, la segunda parte agrupada entre paréntesis como tercer elemento, etc. Devuelve FALSE en caso de error.

Notas

Nota:

La codificación interna o la codificación especificada por mb_regex_encoding() será usada en esta función.

Ver también

  • mb_regex_encoding() - Establece/obtiene la codificación de caracteres para expresiones regulares multibyte
  • mb_ereg_search_init() - Configura el string y la expresión regular para una comparación de expresiones regulares multibyte

mb_ereg_search_pos
mb_ereg_search_setpos
Funciones de cadenas de caracteres multibyte


Establece el punto de inicio de la siguiente comparación de una expresión regular

mb_ereg_search_regs
mb_ereg_search
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_ereg_search_setpos

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_search_setpos — Establece el punto de inicio de la siguiente comparación de una expresión regular

Descripción

bool mb_ereg_search_setpos ( int $position )

mb_ereg_search_setpos() establece el punto de inicio de una comparación con mb_ereg_search().

Parámetros

position

La posición a establecer.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota:

La codificación interna o la codificación especificada por mb_regex_encoding() será usada en esta función.

Ver también

  • mb_regex_encoding() - Establece/obtiene la codificación de caracteres para expresiones regulares multibyte
  • mb_ereg_search_init() - Configura el string y la expresión regular para una comparación de expresiones regulares multibyte

mb_ereg_search_regs
mb_ereg_search
Funciones de cadenas de caracteres multibyte


Comparación de expresiones regulares multibyte para un string multibyte predefinido

mb_ereg_search_setpos
mb_ereg
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_ereg_search

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_search — Comparación de expresiones regulares multibyte para un string multibyte predefinido

Descripción

bool mb_ereg_search ([ string $pattern [, string $option = "ms" ]] )

Realiza una compararción de una expresión regular multibyte para un string multibyte predefinido.

Parámetros

pattern

El patrón de búsqueda.

option

La opción de búsqueda.

Valores devueltos

mb_ereg_search() devuelve TRUE si el string multibyte coinciden con la expresión regular, o FALSE si no. El string para la comparación se establece mediante mb_ereg_search_init(). Si no se especifica pattern, se usará el patrón utilizado anteriormente.

Notas

Nota:

La codificación interna o la codificación especificada por mb_regex_encoding() será usada en esta función.

Ver también

  • mb_regex_encoding() - Establece/obtiene la codificación de caracteres para expresiones regulares multibyte
  • mb_ereg_search_init() - Configura el string y la expresión regular para una comparación de expresiones regulares multibyte

mb_ereg_search_setpos
mb_ereg
Funciones de cadenas de caracteres multibyte


Comparación de expresiones regulares con soporte multibyte

mb_ereg_search
mb_eregi_replace
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_ereg

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg — Comparación de expresiones regulares con soporte multibyte

Descripción

int mb_ereg ( string $pattern , string $string [, array $regs ] )

Ejecuta la comparación de expresiones regulares con soporte multibyte.

Parámetros

pattern

El patrón de búsqueda.

string

El string de búsqueda.

regs

Contiene un substring del string comparado.

Valores devueltos

Ejecuta la comparación de expresiones regulares con soporte multibyte, y devuelve 1 si se encontraron coincidencias. Si se especificó el parámetro opcional regs, la función devolverá la longitud en bytes de la parte comparada, y el array regs contendrá el substring del string comparado. La función devuelve 1 si coincide con el string vacío. Si no se encontraron coincidencias u ocurrió un error, devolverá FALSE.

Notas

Nota:

La codificación interna o la codificación especificada por mb_regex_encoding() será usada en esta función.

Ver también

  • mb_regex_encoding() - Establece/obtiene la codificación de caracteres para expresiones regulares multibyte
  • mb_eregi() - Comparación de expresiones regulares ignorando mayúsculas/minúsculas con soporte multibyte

mb_ereg_search
mb_eregi_replace
Funciones de cadenas de caracteres multibyte


Reemplaza una expresión regular con soprte multibyte ignorando mayúsculas/minúsculas

mb_ereg
mb_eregi
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_eregi_replace

(PHP 4 >= 4.2.0, PHP 5)

mb_eregi_replace — Reemplaza una expresión regular con soprte multibyte ignorando mayúsculas/minúsculas

Descripción

string mb_eregi_replace ( string $pattern , string $replace , string $string [, string $option = "msri" ] )

Explora string para ver si hay coincidencias con pattern, luego reemplaza el texto coincidente con replacement.

Parámetros

pattern

El patrón de la expresión regular. Se pueden usar caracteres multibyte. Se ignorará la distinción entre mayúsculas/minúsculas.

replace

El texto de sustitución.

string

El string buscado.

option
option tiene el mismo significado que en mb_ereg_replace().

Valores devueltos

El string resultante o FALSE en caso de error.

Notas

Nota:

La codificación interna o la codificación especificada por mb_regex_encoding() será usada en esta función.

Advertencia

Nunca utilice el modificador e cuando trabaje con datos de entrada que no son de confianza. No se producirá ningún escape automático (como en preg_replace()). Si utiliza el modificador puede crear vulnerabilidades de ejecución remota de código en su aplicación.

Ver también

  • mb_regex_encoding() - Establece/obtiene la codificación de caracteres para expresiones regulares multibyte
  • mb_ereg_replace() - Reemplaza una expresión regular con soprte multibyte

mb_ereg
mb_eregi
Funciones de cadenas de caracteres multibyte


Comparación de expresiones regulares ignorando mayúsculas/minúsculas con soporte multibyte

mb_eregi_replace
mb_get_info
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_eregi

(PHP 4 >= 4.2.0, PHP 5)

mb_eregi — Comparación de expresiones regulares ignorando mayúsculas/minúsculas con soporte multibyte

Descripción

int mb_eregi ( string $pattern , string $string [, array $regs ] )

Ejecuta la comparación de expresiones regulares insensible a mayúsculas/minúsculas con soporte multibyte.

Parámetros

pattern

El patrón de la expresión regular.

string

El string donde buscar.

regs

Contiene un substring del string comparado.

Valores devueltos

Ejecuta la comparación de expresiones regulares con soporte multibyte, y devuelve 1 si se encontraron coincidencias. Si se especificó el parámetro opcional regs, la función devolverá la longitud en bytes de la parte comparada, y el array regs contendrá el substring del string comparado. La función devuelve 1 si coincide con el string vacío. Si no se encontraron coincidencias u ocurrió un error, devolverá FALSE.

Notas

Nota:

La codificación interna o la codificación especificada por mb_regex_encoding() será usada en esta función.

Ver también

  • mb_regex_encoding() - Establece/obtiene la codificación de caracteres para expresiones regulares multibyte
  • mb_ereg() - Comparación de expresiones regulares con soporte multibyte

mb_eregi_replace
mb_get_info
Funciones de cadenas de caracteres multibyte


Obtiene la configuración interna de mbstring

mb_eregi
mb_http_input
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_get_info

(PHP 4 >= 4.2.0, PHP 5)

mb_get_info — Obtiene la configuración interna de mbstring

Descripción

mixed mb_get_info ([ string $type = "all" ] )

mb_get_info() devuelve los parámetros de configuración interna de mbstring.

Parámetros

type

Si no se estecifica type o si se especifica como "all", será devuelto un array con los elementos "internal_encoding", "http_output", "http_input", "func_overload", "mail_charset", "mail_header_encoding", "mail_body_encoding".

Si type se especifica como "http_output", "http_input", "internal_encoding", "func_overload", será devuelto el parámetro de configuración especificado.

Valores devueltos

Un array con el tipo de información si type no se especifica, o de otro modo, el type especificado.

Historial de cambios

Versión | Descripción
5.1.3 | Están disponibles las entradas "mail_charset", "mail_header_encoding", y "mail_body_encoding".
5.3.0 | Está disponible la entrada "http_output_conv_mimetypes".

Ver también

  • mb_regex_encoding() - Establece/obtiene la codificación de caracteres para expresiones regulares multibyte
  • mb_http_output() - Establece/obtiene la codificación de caracteres de salida HTTP

mb_eregi
mb_http_input
Funciones de cadenas de caracteres multibyte


Detecta la codificación de caracteres de entrada HTTP

mb_get_info
mb_http_output
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_http_input

(PHP 4 >= 4.0.6, PHP 5)

mb_http_input — Detecta la codificación de caracteres de entrada HTTP

Descripción

mixed mb_http_input ([ string $type = "" ] )

Detecta la codificación de caracteres de entrada HTTP.

Parámetros

type

Un string de entrada que especifica el tipo de entrada. "G" para GET, "P" para POST, "C" para COOKIE, "S" para string, "L" para una lista, y "I" para una lista completa (devolverá un array). Si se omite el tipo, devolverá el último tipo de entrada procesado.

Valores devueltos

El nombre de la codificación de caracteres, según type. Si mb_http_input() no procesa la entrada HTTP especificada, devolverá FALSE.

Ver también

  • mb_internal_encoding() - Establece/obtiene la codificación de caracteres interna
  • mb_http_output() - Establece/obtiene la codificación de caracteres de salida HTTP
  • mb_detect_order() - Establece/obtiene el orden de detección de codificaciones de caracteres

mb_get_info
mb_http_output
Funciones de cadenas de caracteres multibyte


Establece/obtiene la codificación de caracteres de salida HTTP

mb_http_input
mb_internal_encoding
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_http_output

(PHP 4 >= 4.0.6, PHP 5)

mb_http_output — Establece/obtiene la codificación de caracteres de salida HTTP

Descripción

mixed mb_http_output ([ string $encoding = mb_http_output() ] )

Establece/obtiene la codificación de caracteres de salida HTTP. La salida después de esta función será convertida a encoding.

Parámetros

encoding

Si se establece encoding, mb_http_output() establece la codificación de caracteres de salida HTTP a encoding.

Si se omite encoding, mb_http_output() devolverá la codificación de caracteres de salida HTTP en uso.

Valores devueltos

Si encoding se omite, mb_http_output() devuelve la codificación de caracteres de salida HTTP en uso. De otro modo, Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • mb_internal_encoding() - Establece/obtiene la codificación de caracteres interna
  • mb_http_input() - Detecta la codificación de caracteres de entrada HTTP
  • mb_detect_order() - Establece/obtiene el orden de detección de codificaciones de caracteres

mb_http_input
mb_internal_encoding
Funciones de cadenas de caracteres multibyte


Establece/obtiene la codificación de caracteres interna

mb_http_output
mb_language
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_internal_encoding

(PHP 4 >= 4.0.6, PHP 5)

mb_internal_encoding — Establece/obtiene la codificación de caracteres interna

Descripción

mixed mb_internal_encoding ([ string $encoding = mb_internal_encoding() ] )

Establece/obtiene la codificación de caracteres interna.

Parámetros

encoding

encoding es el nombre de la codificación de caracteres usada para la conversión de la codificación de caracteres de entrada HTTP, la conversión de la codificación de caracteres de salida HTTP , y la codificación de caracteres predeterminada para funciones de cadenas de caracteres definidas por el módulo mbstring. Debería observarse que la codificación interna es totalmente diferente de la de la expresión regular multibyte.

Valores devueltos

Si se establece encoding, entonces Devuelve TRUE en caso de éxito o FALSE en caso de error. En este caso, la codificación de caracteres para expresiones regulares multibyte NO se cambia. Si se omite encoding, entonces devolverá el nombre de la codificación de caracteres en uso.

Ejemplos

Ejemplo #1 Ejemplo de mb_internal_encoding()

<?php
/* Establecer la codificación de caracteres interna a UTF-8 */
mb_internal_encoding("UTF-8");

/* Mostrar la codificación de caracteres interna en uso */
echo mb_internal_encoding();
?>

Ver también

  • mb_http_input() - Detecta la codificación de caracteres de entrada HTTP
  • mb_http_output() - Establece/obtiene la codificación de caracteres de salida HTTP
  • mb_detect_order() - Establece/obtiene el orden de detección de codificaciones de caracteres
  • mb_regex_encoding() - Establece/obtiene la codificación de caracteres para expresiones regulares multibyte

mb_http_output
mb_language
Funciones de cadenas de caracteres multibyte


Establece/obtiene el idioma actual

mb_internal_encoding
mb_list_encodings
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_language

(PHP 4 >= 4.0.6, PHP 5)

mb_language — Establece/obtiene el idioma actual

Descripción

mixed mb_language ([ string $language = mb_language() ] )

Establece/obtiene el idioma actual.

Parámetros

language

Se usa para codificar mensajes de correo electrónico. Los idiomas válidos son "Japanese", "ja","English","en" y "uni" (UTF-8). mb_send_mail() utiliza este ajuste para codificar correos electrónicos.

El idiomma y su configuración está en ISO-2022-JP/Base64 para Japanese, UTF-8/Base64 para uni, ISO-8859-1/quoted printable para English.

Valores devueltos

Si se establece language y language es válido, devuelve TRUE. De lo contrario devuelve FALSE. Cuando se omite language, devuelve el nombre del idioma como string. Si no se había establecido ningún idioma anteriormente, entonces devuelve FALSE.

Ver también

  • mb_send_mail() - Envía un correo codificado

mb_internal_encoding
mb_list_encodings
Funciones de cadenas de caracteres multibyte


Devuelve un array con todos los tipos de codificaciones admitidas

mb_language
mb_output_handler
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_list_encodings

(PHP 5)

mb_list_encodings — Devuelve un array con todos los tipos de codificaciones admitidas

Descripción

array mb_list_encodings ( void )

Devuelve un array con todos los tipos de codificaciones admitidas.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un array indexado numéricamente.

Errores/Excepciones

Esta función no emite ningún error.

Ejemplos

Ejemplo #1 Ejemplo de mb_list_encodings()

<?php

print_r(mb_list_encodings());

?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => pass
    [1] => auto
    [2] => wchar
    [3] => byte2be
    [4] => byte2le
    [5] => byte4be
    [6] => byte4le
    [7] => BASE64
    [8] => UUENCODE
    [9] => HTML-ENTITIES
    [10] => Quoted-Printable
    [11] => 7bit
    [12] => 8bit
    [13] => UCS-4
    [14] => UCS-4BE
    [15] => UCS-4LE
    [16] => UCS-2
    [17] => UCS-2BE
    [18] => UCS-2LE
    [19] => UTF-32
    [20] => UTF-32BE
    [21] => UTF-32LE
    [22] => UTF-16
    [23] => UTF-16BE
    [24] => UTF-16LE
    [25] => UTF-8
    [26] => UTF-7
    [27] => UTF7-IMAP
    [28] => ASCII
    [29] => EUC-JP
    [30] => SJIS
    [31] => eucJP-win
    [32] => SJIS-win
    [33] => JIS
    [34] => ISO-2022-JP
    [35] => Windows-1252
    [36] => ISO-8859-1
    [37] => ISO-8859-2
    [38] => ISO-8859-3
    [39] => ISO-8859-4
    [40] => ISO-8859-5
    [41] => ISO-8859-6
    [42] => ISO-8859-7
    [43] => ISO-8859-8
    [44] => ISO-8859-9
    [45] => ISO-8859-10
    [46] => ISO-8859-13
    [47] => ISO-8859-14
    [48] => ISO-8859-15
    [49] => EUC-CN
    [50] => CP936
    [51] => HZ
    [52] => EUC-TW
    [53] => BIG-5
    [54] => EUC-KR
    [55] => UHC
    [56] => ISO-2022-KR
    [57] => Windows-1251
    [58] => CP866
    [59] => KOI8-R
)

mb_language
mb_output_handler
Funciones de cadenas de caracteres multibyte


Función de llamada de retorno que convierte la codificación de caracteres en búfer de salida

mb_list_encodings
mb_parse_str
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_output_handler

(PHP 4 >= 4.0.6, PHP 5)

mb_output_handler — Función de llamada de retorno que convierte la codificación de caracteres en búfer de salida

Descripción

string mb_output_handler ( string $contents , int $status )

 mb_output_handler() es una función de llamada
de retorno de  ob_start().
 mb_output_handler() convierte
los carateres en el búfer de salida de la condificación de caracteres interna a
la codificación de caracteres de salida HTTP.

Parámetros

contents

El contenido del búfer de salida.

status

El estado del búfer de salida.

Valores devueltos

El string convertido.

Historial de cambios

Versión Descripción
4.1.0

Este gestor ahora añade la cabecera HTTP del conjunto de caracteres cuando se dan las siguientes condiciones:

  • Content-Type no está establecido, usando header().
  • El tipo MIME predeterminado comienza con text/.
  • El ajuste mbstring.http_input es distinto a pass.

Ejemplos

Ejemplo #1 Ejemplo de mb_output_handler()

<?php
mb_http_output("UTF-8");
ob_start("mb_output_handler");
?>

Notas

Nota:

Si se quiere que la salida sean datos binarios, como una imagen, con PHP 4.3.0 o posterior, la cabecera Content-Type: debe enviarse usando header() antes de enviar cualquier dato binario al cliente (p.ej. header("Content-Type: image/png")). Si se envió la cabecera Content-Type:, la conversión de la codificación de caracteres de salida no se realizará.

Observe que si se envía 'Content-Type: text/*' los datos enviados son considerados como texto; la conversión de la codificación se realizará.

Si se quiere que la salida sean datos binarios, como una imagen, con PHP 4.2.x o anterior, se debe establecer la codificación de salida a "pass" usando mb_http_output().

Ver también

  • ob_start() - Activa el almacenamiento en búfer de salida

mb_list_encodings
mb_parse_str
Funciones de cadenas de caracteres multibyte


Analiza datos GET/POST/COOKIE y establece varialbes globales

mb_output_handler
mb_preferred_mime_name
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_parse_str

(PHP 4 >= 4.0.6, PHP 5)

mb_parse_str — Analiza datos GET/POST/COOKIE y establece varialbes globales

Descripción

bool mb_parse_str ( string $encoded_string [, array &$result ] )

Analiza datos GET/POST/COOKIE y establece variables globales. Ya que PHP no proporciona datos POST/COOKIE sin tratar, solamente se puede usar para datos GET por ahora. Analiza los datos del URL codificado, detecta la codificación, convierte la codificación a la codificación interna y establece los valores del array result o de las variables globales.

Parámetros

encoded_string

Los datos del URL codificado.

result

Un array que contiene la decodificación y los valores convertidos de la codificación de caracteres.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • mb_detect_order() - Establece/obtiene el orden de detección de codificaciones de caracteres
  • mb_internal_encoding() - Establece/obtiene la codificación de caracteres interna

mb_output_handler
mb_preferred_mime_name
Funciones de cadenas de caracteres multibyte


Obtener un string del conjunto de caracteres del MIME

mb_parse_str
mb_regex_encoding
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_preferred_mime_name

(PHP 4 >= 4.0.6, PHP 5)

mb_preferred_mime_name — Obtener un string del conjunto de caracteres del MIME

Descripción

string mb_preferred_mime_name ( string $encoding )

Obtiene un string del conjunto de caracteres del MIME para una codificación específica.

Parámetros

encoding

La codificación que va a ser comprobada.

Valores devueltos

El string del conjunto de caracteres del MIME para la codificación de caracteres dada por encoding.

Ejemplos

Ejemplo #1 Ejemplo de mb_preferred_mime_name()

<?php
$outputenc = "sjis-win";
mb_http_output($outputenc);
ob_start("mb_output_handler");
header("Content-Type: text/html; charset=" . mb_preferred_mime_name($outputenc));
?>

mb_parse_str
mb_regex_encoding
Funciones de cadenas de caracteres multibyte


Establece/obtiene la codificación de caracteres para expresiones regulares multibyte

mb_preferred_mime_name
mb_regex_set_options
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_regex_encoding

(PHP 4 >= 4.2.0, PHP 5)

mb_regex_encoding — Establece/obtiene la codificación de caracteres para expresiones regulares multibyte

Descripción

mixed mb_regex_encoding ([ string $encoding = mb_regex_encoding() ] )

Establece/obtiene la codificación de caracteres para una expresión regular multibyte

Parámetros

encoding

El parámetro encoding es la codificación de caracteres. Si es omitido, será usado el valor de la codificación de caracteres interna.

Valores devueltos

Si se establece encoding, entonces Devuelve TRUE en caso de éxito o FALSE en caso de error. En este caso, la codificación de caracteres interna NO se cambia. Si se omite encoding, entonces devolverá el nombre de la codificación de caracteres en uso para una expresión regular multibyte.

Ver también

  • mb_internal_encoding() - Establece/obtiene la codificación de caracteres interna
  • mb_ereg() - Comparación de expresiones regulares con soporte multibyte

mb_preferred_mime_name
mb_regex_set_options
Funciones de cadenas de caracteres multibyte


Establece/obtiene las opciones predeterminadas para las funciones mbregex

mb_regex_encoding
mb_send_mail
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_regex_set_options

(PHP 4 >= 4.3.0, PHP 5)

mb_regex_set_options — Establece/obtiene las opciones predeterminadas para las funciones mbregex

Descripción

string mb_regex_set_options ([ string $options = mb_regex_set_options() ] )

Establece las opciones predeterminadas descritas por options para las funciones de expresiones regulares multibyte.

Parámetros

options

Las opciones a establecer. Es un estring donde cada carácter es una opción. Para establecer un modo, el carácter de dicho modo debe ser el último en establecerse, ya que solamente puede ser establecdio un modo, aunque múltiples opciones.

Opciones de expresiones regulares
Opción | Significado
i | Comparación ambigua activada
x | Habilita la forma de patrones extendidos
m | '.' coincide con nuevas líneas
s | '^' -> '\A', '$' -> '\Z'
p | Lo mismo que las opciones m y s juntas
l | Busca las coincidencias más largas
n | Ignora las coincidencias vacías
e | Utiliza eval() con el código resultante
Modos de sintaxis de expresiones regulares
Modo | Significado
j | Java (Sun java.util.regex)
u | Expresión regular GNU
g | grep
c | Emacs
r | Ruby
z | Perl
b | Expresión regular POSIX Básica
d | Expresión regular POSIX Extendida

Valores devueltos

Las opciones anteriores. Si se omite options, devuelve el string que describe las opciones actuales.

Ver también

  • mb_split() - Divide cadenas de caracteres multibyte usando una expresión regular
  • mb_ereg() - Comparación de expresiones regulares con soporte multibyte
  • mb_eregi() - Comparación de expresiones regulares ignorando mayúsculas/minúsculas con soporte multibyte

mb_regex_encoding
mb_send_mail
Funciones de cadenas de caracteres multibyte


Envía un correo codificado

mb_regex_set_options
mb_split
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_send_mail

(PHP 4 >= 4.0.6, PHP 5)

mb_send_mail — Envía un correo codificado

Descripción

bool mb_send_mail ( string $to , string $subject , string $message [, string $additional_headers = NULL [, string $additional_parameter = NULL ]] )

Envía un correo. Las cabeceras y los mensajes se convierten y se codifican de acuerdo al ajuste mb_language(). Es una función de envoltura para mail(). Véase también mail() para más detalles.

Parámetros

to

La dirección de envío del correo. Se pueden especificar múltiples destinatarios poniendo una coma entre cada dirección de to. Este parámetro no se codifica de forma automática.

subject

El asunto del correo.

message

El mensaje del correo.

additional_headers (opcional)

El string a insertar al final de la cabecera del email.

Por lo común, se usa para añadir cabeceras extra (From, Cc, y Bcc). Múltiples cabeceras deberían separarse con un CRLF (\r\n).

Nota:

Al enviar un correo, éste debe contener una cabecera From. Ésta se puede estabelcer con el parámetro additional_headers, o se puede establecer una predeterminada en php.ini.

La omisión de dicha cabecera resultará en un mensaje de error similar a Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing. La cabecera From establece también Return-Path bajo Windows.

Nota:

Si los mensajes no se reciben, intente usar LF (\n) solamente. Algunos agengtes de transferencia de correo de Unix (más en concreto » qmail) reemplazan LF por CRLF automáticamente (lo que conduce a doblar CR si se usa CRLF). Esto debería ser el último recurso, ya que no cumple con la » RFC 2822.

additional_parameter

additional_parameter es un parámetro de línea de comandos MTA. Es útil al establecer la cabecera Return-Path correcta cuando se usa sendmail.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.0.0 | Las cabeceras Content-Type y Content-Transfer-Encoding puedenn ser redefinidas a partir de PHP 5.0.0. Anteriormente, los valores definidos por mb_language() se usaban siempre.

Ver también

  • mail() - Enviar correo
  • mb_encode_mimeheader() - Codifica un string para la cabecera MIME
  • mb_language() - Establece/obtiene el idioma actual

mb_regex_set_options
mb_split
Funciones de cadenas de caracteres multibyte


Divide cadenas de caracteres multibyte usando una expresión regular

mb_send_mail
mb_strcut
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_split

(PHP 4 >= 4.2.0, PHP 5)

mb_split — Divide cadenas de caracteres multibyte usando una expresión regular

Descripción

array mb_split ( string $pattern , string $string [, int $limit = -1 ] )

Divide un string multibyte usando la expresión regular pattern y devolviendo el resultado como un array.

Parámetros

pattern

El patrón de la expresión regular.

string

El string que va a ser dividido.

limit
Si se especifica el parámetro opcional limit, la división será de limit elementos como máximo.

Valores devueltos

El resultado como array.

Notas

Nota:

La codificación de caracteres especificada por mb_regex_encoding() se usará como codificación de caracteres para esta función de forma predeterminada.

Ver también

  • mb_regex_encoding() - Establece/obtiene la codificación de caracteres para expresiones regulares multibyte
  • mb_ereg() - Comparación de expresiones regulares con soporte multibyte

mb_send_mail
mb_strcut
Funciones de cadenas de caracteres multibyte


Obtener parte de un string

mb_split
mb_strimwidth
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_strcut

(PHP 4 >= 4.0.6, PHP 5)

mb_strcut — Obtener parte de un string

Descripción

string mb_strcut ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] )

mb_strcut() extrae un substring de un string de forma similar a mb_substr(), pero opera sobre bytes en lugar de caracteres. Si la posición de corte ocurre entre dos bytes de un carácter multibyte, dicho corte se realiza empezando desde el primer byte del carácter. Esta es también la diferencia con la función substr(), la cual simplemente cortaría el string entre los bytes, resultando así una secuencia de bytes malformada.

Parámetros

str

El string a cortar.

start

Posición de inicio en bytes.

length

Longitud en bytes. Si se omite o se pasa NULL, extrae todos los bytes hasta el final del string.

encoding

El parámetro encoding es la codificación de caracteres. Si es omitido, será usado el valor de la codificación de caracteres interna.

Valores devueltos

mb_strcut() devuelve la porción de str especificada por los parámetros start y length.

Ver también

  • mb_substr() - Obtiene parte de una cadena de caracteres
  • mb_internal_encoding() - Establece/obtiene la codificación de caracteres interna

mb_split
mb_strimwidth
Funciones de cadenas de caracteres multibyte


Obtiene un string truncado con el ancho especificado

mb_strcut
mb_stripos
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_strimwidth

(PHP 4 >= 4.0.6, PHP 5)

mb_strimwidth — Obtiene un string truncado con el ancho especificado

Descripción

string mb_strimwidth ( string $str , int $start , int $width [, string $trimmarker = "" [, string $encoding = mb_internal_encoding() ]] )

Trunca el string str al ancho especificado por width.

Parámetros

str

El string a codificar.

start

El índice de la posición de inicio. El número de caracteres desde el comienzo del string. (El índice del primer carácter es 0)

width

El ancho del recorte deseado.

trimmarker

Un string que se añade al final del string cuando éste es truncado.

encoding

El parámetro encoding es la codificación de caracteres. Si es omitido, será usado el valor de la codificación de caracteres interna.

Valores devueltos

El string truncado. Si se establece trimmarker, trimmarker se añade al final del valor devuelto.

Ejemplos

Ejemplo #1 Ejemplo de mb_strimwidth()

<?php
echo mb_strimwidth("Hello World", 0, 10, "...");
// imprime Hello W...
?>

Ver también

  • mb_strwidth() - Deuelve el ancho de un string
  • mb_internal_encoding() - Establece/obtiene la codificación de caracteres interna

mb_strcut
mb_stripos
Funciones de cadenas de caracteres multibyte


Busca la posición de la primera ocurrencia de un string dentro de otro, insensible a mayúsculas/minúsculas

mb_strimwidth
mb_stristr
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_stripos

(PHP 5 >= 5.2.0)

mb_stripos — Busca la posición de la primera ocurrencia de un string dentro de otro, insensible a mayúsculas/minúsculas

Descripción

int mb_stripos ( string $haystack , string $needle [, int $offset = 0 [, string $encoding = mb_internal_encoding() ]] )

mb_stripos() devuelve la posición numérica de la primera ocurrencia de needle en el string haystack. A diferencia de mb_strpos(), mb_stripos() es insensible a mayúsculas/minúsculas. Si no se encuentra needle, devuelve FALSE.

Parámetros

haystack

El string desde el que obtener la posición de la primera ocurrencia de needle

needle

El string a buscar en haystack

offset

La posición de haystack donde empezar la búsquda

encoding

El nombre de la codificación de caracteres a usar. Si se omite, se usará la codificación de caracteres interna.

Valores devueltos

Devuelve la posición numérica de la pirmera ocurrencia de needle en el string haystack, o FALSE si no se encuentra needle.

Ver también

  • stripos() - Encuentra la posición de la primera aparición de un substring insensible a mayúsculas y minúsculas en in string
  • strpos() - Encuentra la posición de la primera ocurrencia de un substring en un string
  • mb_strpos() - Busca la posición de la primera ocurrencia de un string en otro string

mb_strimwidth
mb_stristr
Funciones de cadenas de caracteres multibyte


Busca la primera ocurrencia de un string dentro de otro, insensible a mayúsculas/minúsculas

mb_stripos
mb_strlen
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_stristr

(PHP 5 >= 5.2.0)

mb_stristr — Busca la primera ocurrencia de un string dentro de otro, insensible a mayúsculas/minúsculas

Descripción

string mb_stristr ( string $haystack , string $needle [, bool $before_needle = false [, string $encoding = mb_internal_encoding() ]] )

mb_stristr() busca la primera ocurrencia de needle en haystack y devuelve la porción de haystack. A diferencia de mb_strstr(), mb_stristr() es insensible a mayúsculas/minúsculas. Si no se encuentra needle, devuelve FALSE.

Parámetros

haystack

El string desde el que obtener la primera ocurrencia de needle

needle

El string a buscar en haystack

before_needle

Determina qué porción de haystack devuelve esta función. Si se establece a TRUE, devuelve todo el haystack desde el comienzo de la primera ocurrencia de needle (excluyendo needle). Si se establece a FALSE, Devuelve todo el haystack desde la primera ocurrencia de needle hasta el final (incluyendo needle).

encoding

El nombre de la codificación de caracteres a usar. Si se omite, se usará la codificación de caracteres interna.

Valores devueltos

Devuelve la porción de haystack, o FALSE si no se encuentra needle.

Ver también

  • stristr() - strstr insensible a mayúsculas y minúsculas
  • strstr() - Encuentra la primera aparición de un string
  • mb_strstr() - Busca la primera ocurrencia de un string dentro de otro

mb_stripos
mb_strlen
Funciones de cadenas de caracteres multibyte


Obtiene la longitud de una cadena de caracteres

mb_stristr
mb_strpos
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_strlen

(PHP 4 >= 4.0.6, PHP 5)

mb_strlen — Obtiene la longitud de una cadena de caracteres

Descripción

mixed mb_strlen ( string $str [, string $encoding = mb_internal_encoding() ] )

Obtiene la longitudde un string.

Parámetros

str

El string del que se va a obtener su longitud.

encoding

El parámetro encoding es la codificación de caracteres. Si es omitido, será usado el valor de la codificación de caracteres interna.

Valores devueltos

Devuelve el número de caracteres del string str, teniendo éste una codificación de caracteres dada por encoding. Un carácter multibyte cuenta como 1.

Devuelve FALSE si la codificación dada por encoding no es válida.

Advertencia

Esta función puede devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se evalúa como FALSE. 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.

Ver también

  • mb_internal_encoding() - Establece/obtiene la codificación de caracteres interna
  • strlen() - Obtiene la longitud de un string

mb_stristr
mb_strpos
Funciones de cadenas de caracteres multibyte


Busca la posición de la primera ocurrencia de un string en otro string

mb_strlen
mb_strrchr
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_strpos

(PHP 4 >= 4.0.6, PHP 5)

mb_strpos — Busca la posición de la primera ocurrencia de un string en otro string

Descripción

int mb_strpos ( string $haystack , string $needle [, int $offset = 0 [, string $encoding = mb_internal_encoding() ]] )

Busca la posición de la primera ocurrencia de un string en otro string.

Realiza una operación strpos() segura multibyte basada en el número de caracteres. La posición del primer carácter es 0, la posición del segundo carácter es 1, etc.

Parámetros

haystack

El string a comprobar.

needle

El string a buscar en haystack. A diferencia de strpos(), los valores numéricos no se aplican como el valor ordinal de un carácter.

offset

El índice de búsqueda. Si no se especifica se usará 0.

encoding

El parámetro encoding es la codificación de caracteres. Si es omitido, será usado el valor de la codificación de caracteres interna.

Valores devueltos

Devuelve la posición numéricia de la primera ocurrencia de needle en el string haystack. Si no se encuentra needle, devuelve FALSE.

Ver también

  • mb_internal_encoding() - Establece/obtiene la codificación de caracteres interna
  • strpos() - Encuentra la posición de la primera ocurrencia de un substring en un string

mb_strlen
mb_strrchr
Funciones de cadenas de caracteres multibyte


Busca la última ocurrencia de un carácter de un string dentro de otro

mb_strpos
mb_strrichr
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_strrchr

(PHP 5 >= 5.2.0)

mb_strrchr — Busca la última ocurrencia de un carácter de un string dentro de otro

Descripción

string mb_strrchr ( string $haystack , string $needle [, bool $part = false [, string $encoding = mb_internal_encoding() ]] )

mb_strrchr() busca la última ocurrencia de needle en haystack y devuelve la porción de haystack. Si no se encuentra needle, devuelve FALSE.

Parámetros

haystack

El string desde el que obtener la última ocurrencia de needle

needle

El string a buscar en haystack

part

Determina qué porción de haystack devuelve esta función. Si se establece a TRUE, devuelve todo el haystack desde el comienzo de la última ocurrencia de needle. Si se establece a FALSE, devuelve todo el haystack desde la última ocurrencia de needle hasta el final.

encoding

El nombre de la codificación de caracteres a usar. Si se omite, se usará la codificación de caracterse interna.

Valores devueltos

Devuelve la porción de haystack. o FALSE si no se encuentra needle.

Ver también

  • strrchr() - Encuentra la última aparición de un caracter en un string
  • mb_strstr() - Busca la primera ocurrencia de un string dentro de otro
  • mb_strrichr() - Busca la última ocurrencia de un carácter de un string dentro de otro, insensible a mayúsculas/minúsculas

mb_strpos
mb_strrichr
Funciones de cadenas de caracteres multibyte


Busca la última ocurrencia de un carácter de un string dentro de otro, insensible a mayúsculas/minúsculas

mb_strrchr
mb_strripos
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_strrichr

(PHP 5 >= 5.2.0)

mb_strrichr — Busca la última ocurrencia de un carácter de un string dentro de otro, insensible a mayúsculas/minúsculas

Descripción

string mb_strrichr ( string $haystack , string $needle [, bool $part = false [, string $encoding = mb_internal_encoding() ]] )

mb_strrichr() busca la última ocurrencia de needle en haystack y devuelve la porción de haystack. A diferencia de mb_strrchr(), mb_strrichr() es insensible a mayúsculas/minúsculas. Si no se encuentra needle, devuelve FALSE.

Parámetros

haystack

El string desde el que obtener la última ocurrencia de needle

needle

El string a buscar en haystack

part

Determina qué porción de haystack devuelve esta función. Si se establece a TRUE, devuelve todo el haystack desde el comienzo de la última ocurrencia de needle. Si se establece a FALSE, devuelve todo el haystack desde la última ocurrencia de needle hasta el final.

encoding

El nombre de la codificación de caracteres a usar. Si se omite, se usará la codificación de caracterse interna.

Valores devueltos

Devuelve la porción de haystack. o FALSE si no se encuentra needle.

Ver también

  • mb_stristr() - Busca la primera ocurrencia de un string dentro de otro, insensible a mayúsculas/minúsculas
  • mb_strrchr() - Busca la última ocurrencia de un carácter de un string dentro de otro

mb_strrchr
mb_strripos
Funciones de cadenas de caracteres multibyte


Busca la posicion de la última ocurrencia de un string dentro de otro string, insensible a mayúsculas/minúsculas

mb_strrichr
mb_strrpos
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_strripos

(PHP 5 >= 5.2.0)

mb_strripos — Busca la posicion de la última ocurrencia de un string dentro de otro string, insensible a mayúsculas/minúsculas

Descripción

int mb_strripos ( string $haystack , string $needle [, int $offset = 0 [, string $encoding = mb_internal_encoding() ]] )

Realiza una operación strpos() segura multibyte basada en el número de caracteres. La posición de needle se cuenta desde el comienzo de haystack. La posición del primer carácter es 0. La posición del segundo carácter es 1. A diferencia de mb_strrpos(), mb_strripos() es insensible a mayúsculas/minúsculas.

Parámetros

haystack

El string a comprobar, para la última ocurrencia de needle

needle

El string a buscar en haystack.

offset

La posición de haystack donde iniciar la búsqueda

encoding

El nombre de la codificación de caracteres a usar. Si se omite, se usará la codificación de caracteres interna.

Valores devueltos

evuelve la posición numérica de la última ocurrencia de needle en el string haystack, o FALSE si no se encuentra needle.

Ver también

  • strripos() - Encuentra la posición de la última aparición de un substring insensible a mayúsculas y minúsculas en un string
  • strrpos() - Encuentra la posición de la última aparición de un substring en un string
  • mb_strrpos() - Busca la posicion de la última ocurrencia de un string en otro string

mb_strrichr
mb_strrpos
Funciones de cadenas de caracteres multibyte


Busca la posicion de la última ocurrencia de un string en otro string

mb_strripos
mb_strstr
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_strrpos

(PHP 4 >= 4.0.6, PHP 5)

mb_strrpos — Busca la posicion de la última ocurrencia de un string en otro string

Descripción

int mb_strrpos ( string $haystack , string $needle [, int $offset = 0 [, string $encoding = mb_internal_encoding() ]] )

Realiza una operación strpos() segura multibyte basada en el número de caracteres. La posición de needle se cuenta desde el comienzo de haystack. La posición del primer carácter es 0. La posición del segundo carácter es 1.

Parámetros

haystack

El string a comprobar, para la última ocurrencia de needle

needle

El string a buscar en haystack.

offset
Se podría especificar para comenzar la búsqueda de un número arbitrario de caracteres dentro del string. Los valores negativos detendrán la búsqueda en un punto arbitrario anterior al final del string.
encoding

El parámetro encoding es la codificación de caracteres. Si es omitido, será usado el valor de la codificación de caracteres interna.

Valores devueltos

Devuelve la posición numérica de la última ocurrencia de needle en el string haystack. Si no se encuentra needle, devuelve FALSE.

Historial de cambios

Versión | Descripción
5.2.0 | Se añadió el parámetro opcional offset.

Notas

Nota: El parámetro encoding fue movido de la tercera posición a la cuarta en PHP 5.2.0. Para la retrocompatibilidad, encoding se puede especificar como tercer parámetro, pero hacerlo está obsoleto y será eliminado en el futuro.

Ver también

  • mb_strpos() - Busca la posición de la primera ocurrencia de un string en otro string
  • mb_internal_encoding() - Establece/obtiene la codificación de caracteres interna
  • strrpos() - Encuentra la posición de la última aparición de un substring en un string

mb_strripos
mb_strstr
Funciones de cadenas de caracteres multibyte


Busca la primera ocurrencia de un string dentro de otro

mb_strrpos
mb_strtolower
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_strstr

(PHP 5 >= 5.2.0)

mb_strstr — Busca la primera ocurrencia de un string dentro de otro

Descripción

string mb_strstr ( string $haystack , string $needle [, bool $before_needle = false [, string $encoding = mb_internal_encoding() ]] )

mb_strstr() busca la primera ocurrencia de needle en haystack y devuelve la porción de haystack. Si no se encunetra needle, devuelve FALSE.

Parámetros

haystack

El string desde el que obtener la primera ocurrencia de needle

needle

El string a buscar en haystack

before_needle

Determina qué porción de haystack devuelve esta función. Si se establece a TRUE, devuelve todo el haystack desde el comienzo de la primera ocurrencia de needle (incluyendo needle). Si se establece a FALSE, Devuelve todo el haystack desde la primera ocurrencia de needle hasta el final (excluyendo needle).

encoding

El nombre de la codificación de caracteres a usar. Si se omite, se usará la codificación de caracteres interna.

Valores devueltos

Devuelve la porción de haystack, o FALSE si no se encuentra needle.

Ver también

  • stristr() - strstr insensible a mayúsculas y minúsculas
  • strstr() - Encuentra la primera aparición de un string
  • mb_stristr() - Busca la primera ocurrencia de un string dentro de otro, insensible a mayúsculas/minúsculas

mb_strrpos
mb_strtolower
Funciones de cadenas de caracteres multibyte


Convierte una cadena de caracteres a minúsculas

mb_strstr
mb_strtoupper
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_strtolower

(PHP 4 >= 4.3.0, PHP 5)

mb_strtolower — Convierte una cadena de caracteres a minúsculas

Descripción

string mb_strtolower ( string $str [, string $encoding = mb_internal_encoding() ] )

Devuelve str con todos los caracteres alfabéticos convertidos a minúscula.

Parámetros

str

El string a convertir.

encoding

El parámetro encoding es la codificación de caracteres. Si es omitido, será usado el valor de la codificación de caracteres interna.

Valores devueltos

str con todos los caracteres alfabéticos convertidos a minúscula.

Unicode

Para más información sobre las propiedades Unicode, véase » http://www.unicode.org/unicode/reports/tr21/.

A diferencia de strtolower(), los 'caracteres alfabéticos' son determinados por las propiedades del carácter Unicode. Por tanto, el comportamiento de esta función no se ve afectada por la configuración regional, ya que puede convertir cualquier carácter que tenga la propiedad de 'alfabético', como la A con diéresis (Ä).

Ejemplos

Ejemplo #1 Ejemplo de mb_strtolower()

<?php
$str = "Mary Had A Little Lamb and She LOVED It So";
$str = mb_strtolower($str);
echo $str; // Muestra mary had a little lamb and she loved it so
?>

Ejemplo #2 Ejemplo de mb_strtolower() con texto no latino

<?php
$str = "Τάχιστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός";
$str = mb_strtolower($str, 'UTF-8');
echo $str; // Muestra τάχιστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός
?>

Ver también

  • mb_strtoupper() - Convierte un string en mayúsculas
  • mb_convert_case() - Realiza una conversión a mayúsculas/minúsculas de un string
  • strtolower() - Convierte una cadena a minúsculas

mb_strstr
mb_strtoupper
Funciones de cadenas de caracteres multibyte


Convierte un string en mayúsculas

mb_strtolower
mb_strwidth
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_strtoupper

(PHP 4 >= 4.3.0, PHP 5)

mb_strtoupper — Convierte un string en mayúsculas

Descripción

string mb_strtoupper ( string $str [, string $encoding = mb_internal_encoding() ] )

Devuelve str con todos los caracteres alfabéticos convertidos a mayúsculas.

Parámetros

str

El string a convertir en mayúsculas.

encoding

El parámetro encoding es la codificación de caracteres. Si es omitido, será usado el valor de la codificación de caracteres interna.

Valores devueltos

str con todos los caracteres alfabéticoas convertidos a mayúsculas.

Unicode

Para más información sobre la propiedades Unicode, véase » http://www.unicode.org/unicode/reports/tr21/.

A diferencia de strtoupper(), 'alphabetic' está determinado por las propiedades del carácter Unicode. Por lo tanto, el comportamiento de esta función no se ve afectado por la configuración regional, por lo que puede convertir cualquier carácter que tenga la propiedad 'alphabetic', como la a con diéresis (ä).

Ejemplos

Ejemplo #1 Ejemplo de mb_strtoupper()

<?php
$str = "Mary Had A Little Lamb and She LOVED It So";
$str = mb_strtoupper($str);
echo $str; // Imprime MARY HAD A LITTLE LAMB AND SHE LOVED IT SO
?>

Ejemplo #2 Ejemplo de mb_strtoupper() con texto UTF-8 no latino

<?php
$str = "Τάχιστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός";
$str = mb_strtoupper($str, 'UTF-8');
echo $str; // Imprime ΤΆΧΙΣΤΗ ΑΛΏΠΗΞ ΒΑΦΉΣ ΨΗΜΈΝΗ ΓΗ, ΔΡΑΣΚΕΛΊΖΕΙ ΥΠΈΡ ΝΩΘΡΟΎ ΚΥΝΌΣ
?>

Ver también

  • mb_strtolower() - Convierte una cadena de caracteres a minúsculas
  • mb_convert_case() - Realiza una conversión a mayúsculas/minúsculas de un string
  • strtoupper() - Convierte un string a mayúsculas

mb_strtolower
mb_strwidth
Funciones de cadenas de caracteres multibyte


Deuelve el ancho de un string

mb_strtoupper
mb_substitute_character
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_strwidth

(PHP 4 >= 4.0.6, PHP 5)

mb_strwidth — Deuelve el ancho de un string

Descripción

int mb_strwidth ( string $str [, string $encoding = mb_internal_encoding() ] )

Devuelve el ancho del string str.

Los caracteres multibyte normalmente son el doble de anchos que los caracteres de un único byte.

Ancho de caracteres
Caracteres | Ancho
U+0000 - U+0019 | 0
U+0020 - U+1FFF | 1
U+2000 - U+FF60 | 2
U+FF61 - U+FF9F | 1
U+FFA0 - | 2

Parámetros

str

El string a decodificar.

encoding

El parámetro encoding es la codificación de caracteres. Si es omitido, será usado el valor de la codificación de caracteres interna.

Valores devueltos

El ancho del string str.

Ver también

  • mb_strimwidth() - Obtiene un string truncado con el ancho especificado
  • mb_internal_encoding() - Establece/obtiene la codificación de caracteres interna

mb_strtoupper
mb_substitute_character
Funciones de cadenas de caracteres multibyte


Establece/obtiene un carácter de sustitución

mb_strwidth
mb_substr_count
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_substitute_character

(PHP 4 >= 4.0.6, PHP 5)

mb_substitute_character — Establece/obtiene un carácter de sustitución

Descripción

mixed mb_substitute_character ([ mixed $substrchar = mb_substitute_character() ] )

Especifica un carácter de sustitución cuando la codificación de caracteres de entrada es inválida o el código del carácter no existe en la codificación de caracteres de salida. Los caracteres inválidos pueden ser sustituidos por valores NULL (sin salida), string o integer (valor del código del carácter Unicode).

Esta configuración afecta a  mb_convert_encoding(),
 mb_convert_variables(),
 mb_output_handler(),
y  mb_send_mail().

Parámetros

substrchar

Especifica el valor Unicode como un integer, o como uno de los siguientes strings:

  • "none": sin salida
  • "long" : Producir el valor del código del carácter (Ejemplo: U+3000, JIS+7E7E)
  • "entity" : Producir la entidad del carácter (Ejemplo: Ȁ)

Valores devueltos

Si se establece substchar, devuelve TRUE en caso de éxito, o en caso contrairo devuelve FALSE. Si substchar no se establece, devuelve el ajuste actual.

Ejemplos

Ejemplo #1 Ejemplo de mb_substitute_character()

<?php
/* Establecer con Unicode U+3013 (GETA MARK) */
mb_substitute_character(0x3013);

/* Establecer el formato hexadecimal */
mb_substitute_character("long");

/* Mostrar la configuración en uso */
echo mb_substitute_character();
?>

mb_strwidth
mb_substr_count
Funciones de cadenas de caracteres multibyte


Cuenta el número de ocurrencias de un substring

mb_substitute_character
mb_substr
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_substr_count

(PHP 4 >= 4.3.0, PHP 5)

mb_substr_count — Cuenta el número de ocurrencias de un substring

Descripción

int mb_substr_count ( string $haystack , string $needle [, string $encoding = mb_internal_encoding() ] )

Cuenta el número de veces que el substring needle aparece en el string haystack.

Parámetros

haystack

El string a comprobar.

needle

El string a buscar.

encoding

El parámetro encoding es la codificación de caracteres. Si es omitido, será usado el valor de la codificación de caracteres interna.

Valores devueltos

El número de veces que el substring needle aparece en el string haystack.

Ejemplos

Ejemplo #1 Ejemplo de mb_substr_count()

<?php
echo mb_substr_count("This is a test", "is"); // imprime 2
?>

Ver también

  • mb_strpos() - Busca la posición de la primera ocurrencia de un string en otro string
  • mb_substr() - Obtiene parte de una cadena de caracteres
  • substr_count() - Cuenta el número de apariciones del substring

mb_substitute_character
mb_substr
Funciones de cadenas de caracteres multibyte


Obtiene parte de una cadena de caracteres

mb_substr_count
Pspell
Funciones de cadenas de caracteres multibyte
PHP Manual

mb_substr

(PHP 4 >= 4.0.6, PHP 5)

mb_substr — Obtiene parte de una cadena de caracteres

Descripción

string mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] )

Realiza una operación substr() multibyte de forma segura basada en el número de caracteres. La posición se cuenta desde el principio de str. La posición del primer carácter es 0. La posición del segundo es 1, etc.

Parámetros

str

El string de donde extraer la parte deseada.

start

La posición del primer carácter a usar de str.

length

El número máximo de caracteres a usar de str. Si se omite o se pasa NULL, extrae todos los caracteres hasta el final del string.

encoding

El parámetro encoding es la codificación de caracteres. Si es omitido, será usado el valor de la codificación de caracteres interna.

Valores devueltos

mb_substr() devuelve una parte de str especificada por los parametros start y length.

Ver también

  • mb_strcut() - Obtener parte de un string
  • mb_internal_encoding() - Establece/obtiene la codificación de caracteres interna

mb_substr_count
Pspell
Funciones de cadenas de caracteres multibyte


Pspell

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de Pspell
    • pspell_add_to_personal — Añadir una palabra a la lista personal de palabras
    • pspell_add_to_session — Añadir la palabra a la lista de palabras en la sesión actual
    • pspell_check — Verificar una palabra
    • pspell_clear_session — Limpia la sesión actual
    • pspell_config_create — Crear una configuración usada para abrir un diccionario
    • pspell_config_data_dir — Ubicación de los ficheros de información de lenguaje
    • pspell_config_dict_dir — Ubicación de la lista principal de palabras
    • pspell_config_ignore — Ignorar palabras con menos de N caracteres
    • pspell_config_mode — Cambiar el modo de número de sugerencias devueltas
    • pspell_config_personal — Establecer un fichero que contiene una lista personal de palabras
    • pspell_config_repl — Establecer un fichero que contiene pares de sustitución
    • pspell_config_runtogether — Considerar las palabras unidas como compuestos válidos
    • pspell_config_save_repl — Deterinar si se guarda una lista de pares de sustitución junto con la lista de palabras
    • pspell_new_config — Cargar un nuevo diccionario con ajustes basados en una configuración dada
    • pspell_new_personal — Cargar un nuevo diccionario con una lista personal de palabras
    • pspell_new — Cargar un nuevo diccionario
    • pspell_save_wordlist — Guardar la lista de palabras personal a un fichero
    • pspell_store_replacement — Almacenar un par de sustitución de una palabra
    • pspell_suggest — Sugerir ortografías de una palabra
mb_substr
Introducción
Soporte para lenguaje humano y codificación de caracteres


Introducción

Estas funciones permiten la comprobación de la ortografía de una palabra y ofrecer sugerencias.

Pspell
Instalación/Configuración
Pspell


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Pspell


Requerimientos

Para compilar PHP con soporte para pspell necesita la biblioteca aspell, disponible en » http://aspell.net/.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Si tiene las bibliotecas necesarias añada la opción --with-pspell[=dir] al compilar PHP.

Nota: Nota para los usuarios de Win32

Para que esta extensión funcione, hay unos ficheros DLL que deben estar disponibles en el sistema de Windows PATH. Para más información en como hacer esto, vea la FAQ titulada "Como añadir mi directorio PHP en el PATH de Windows". Aunque copiar los ficheros DLL desde el directorio PHP al directorio del sistema de Windows también funciona (porque el directorio del sistema por defecto es el PATH del sistema), esto no se recomienda. Esta extensión requiere que los siguientes ficheros esten en el PATH: aspell-15.dll de la carpeta bin de la instalación de aspell.

El soporte para Win32 está disponible sólo en PHP 4.3.3 y versiones posteriores. También se requiere al menos la versión 0.50 de aspell.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

PSPELL_FAST (integer)
PSPELL_NORMAL (integer)
PSPELL_BAD_SPELLERS (integer)
PSPELL_RUN_TOGETHER (integer)
Tipos de recursos
Funciones de Pspell
Pspell


Funciones de Pspell

Tabla de contenidos

  • pspell_add_to_personal — Añadir una palabra a la lista personal de palabras
  • pspell_add_to_session — Añadir la palabra a la lista de palabras en la sesión actual
  • pspell_check — Verificar una palabra
  • pspell_clear_session — Limpia la sesión actual
  • pspell_config_create — Crear una configuración usada para abrir un diccionario
  • pspell_config_data_dir — Ubicación de los ficheros de información de lenguaje
  • pspell_config_dict_dir — Ubicación de la lista principal de palabras
  • pspell_config_ignore — Ignorar palabras con menos de N caracteres
  • pspell_config_mode — Cambiar el modo de número de sugerencias devueltas
  • pspell_config_personal — Establecer un fichero que contiene una lista personal de palabras
  • pspell_config_repl — Establecer un fichero que contiene pares de sustitución
  • pspell_config_runtogether — Considerar las palabras unidas como compuestos válidos
  • pspell_config_save_repl — Deterinar si se guarda una lista de pares de sustitución junto con la lista de palabras
  • pspell_new_config — Cargar un nuevo diccionario con ajustes basados en una configuración dada
  • pspell_new_personal — Cargar un nuevo diccionario con una lista personal de palabras
  • pspell_new — Cargar un nuevo diccionario
  • pspell_save_wordlist — Guardar la lista de palabras personal a un fichero
  • pspell_store_replacement — Almacenar un par de sustitución de una palabra
  • pspell_suggest — Sugerir ortografías de una palabra
Constantes predefinidas
pspell_add_to_personal
Pspell


Añadir una palabra a la lista personal de palabras

Funciones de Pspell
pspell_add_to_session
Funciones de Pspell
PHP Manual

pspell_add_to_personal

(PHP 4 >= 4.0.2, PHP 5)

pspell_add_to_personal — Añadir una palabra a la lista personal de palabras

Descripción

bool pspell_add_to_personal ( int $dictionary_link , string $word )

pspell_add_to_personal() añade una palabra a la lista personal de palabras. Si se usó pspell_new_config() con pspell_config_personal() para abrir un diccionario, se puede guardar la lista de palabras más tarde con pspell_save_wordlist().

Parámetros

dictionary_link

word

La palabra añadida.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 pspell_add_to_personal()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
$pspell_link = pspell_new_config($pspell_config);

pspell_add_to_personal($pspell_link, "Vlad");
pspell_save_wordlist($pspell_link);
?>

Notas

Nota:

Esta función no funcionará a menos que tenga pspell .11.2 y aspell .32.5 o posterior.

Funciones de Pspell
pspell_add_to_session
Funciones de Pspell


Añadir la palabra a la lista de palabras en la sesión actual

pspell_add_to_personal
pspell_check
Funciones de Pspell
PHP Manual

pspell_add_to_session

(PHP 4 >= 4.0.2, PHP 5)

pspell_add_to_session — Añadir la palabra a la lista de palabras en la sesión actual

Descripción

bool pspell_add_to_session ( int $dictionary_link , string $word )

pspell_add_to_session() añade una palabra a la lista de palabras asociadas con la sesión actual. Es muy parecida a pspell_add_to_personal()

Parámetros

dictionary_link

word

La palabra añadida.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

pspell_add_to_personal
pspell_check
Funciones de Pspell


Verificar una palabra

pspell_add_to_session
pspell_clear_session
Funciones de Pspell
PHP Manual

pspell_check

(PHP 4 >= 4.0.2, PHP 5)

pspell_check — Verificar una palabra

Descripción

bool pspell_check ( int $dictionary_link , string $word )

pspell_check() verifica la ortografía de una palabra.

Parámetros

dictionary_link

word

La palabra comprobada.

Valores devueltos

Devuelve TRUE si la ortografía es correcta, FALSE si no.

Ejemplos

Ejemplo #1 Ejemplo de pspell_check()

<?php
$pspell_link = pspell_new("en");

if (pspell_check($pspell_link, "testt")) {
    echo "Ésta es una ortografía correcta";
} else {
    echo "Lo siento, ortografía errónea";
}
?>

pspell_add_to_session
pspell_clear_session
Funciones de Pspell


Limpia la sesión actual

pspell_check
pspell_config_create
Funciones de Pspell
PHP Manual

pspell_clear_session

(PHP 4 >= 4.0.2, PHP 5)

pspell_clear_session — Limpia la sesión actual

Descripción

bool pspell_clear_session ( int $dictionary_link )

pspell_clear_session() limpia la sesión actual. La lista de palabras actual se pone en blanco, y, por ejemplo, si se intenta guardarla con pspell_save_wordlist(), no sucederá nada.

Parámetros

dictionary_link

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de pspell_add_to_personal()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
$pspell_link = pspell_new_config($pspell_config);

pspell_add_to_personal($pspell_link, "Vlad");
pspell_clear_session($pspell_link);
pspell_save_wordlist($pspell_link);    //"Vlad" no se guardará
?>

pspell_check
pspell_config_create
Funciones de Pspell


Crear una configuración usada para abrir un diccionario

pspell_clear_session
pspell_config_data_dir
Funciones de Pspell
PHP Manual

pspell_config_create

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_create — Crear una configuración usada para abrir un diccionario

Descripción

int pspell_config_create ( string $language [, string $spelling [, string $jargon [, string $encoding ]]] )

Crea una configuración usada para abrir un diccionario.

pspell_config_create() tienen una sintaxis muy parecida a la de pspell_new(). De hecho, al usar pspell_config_create() seguido inmediatemante de pspell_new_config() producirá exactamente el mismo resultado. Sin embargo, después de crear una nueva configuración también se pueden usar las funciones pspell_config_*() antes de llamar a pspell_new_config() para tomar ventaja de algunas funcionalidades avanzadas.

Para más información y ejemplos, verifique el sitio web de pspell del manual en línea:» http://aspell.net/.

Parámetros

language

El parámetro language es el código de lenguaje que consiste en el código de lenguaje ISO 639 de dos letras y un código de país ISO 3166 de dos letras opcional después de un guión o guión de subrayado.

spelling

El parámetro spelling es la ortografía solicitada para lenguajes con más de una ortografía, como el inglés. Valores conocidos son 'american', 'british', y 'canadian'.

jargon

El parámetro jargon contiene información extra para distinguir dos listas de palabras diferentes que tienen el mismo lenguaje y parámetros de ortografía.

encoding

El parámetro encoding es la codificación que se espera que tengan esas palabras. Los valores válidos son 'utf-8', 'iso8859-*', 'koi8-r', 'viscii', 'cp1252', 'machine unsigned 16', 'machine unsigned 32'. Este parámetro no está en gran parte comprobado, por lo que, tenga cuidado al usarlo.

Valores devueltos

Devuelve un identificador de configuración de ortografía, o FALSE en caso de error.

Ejemplos

Ejemplo #1 pspell_config_create()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell_link = pspell_new_personal($pspell_config, "en");
?>

pspell_clear_session
pspell_config_data_dir
Funciones de Pspell


Ubicación de los ficheros de información de lenguaje

pspell_config_create
pspell_config_dict_dir
Funciones de Pspell
PHP Manual

pspell_config_data_dir

(PHP 5)

pspell_config_data_dir — Ubicación de los ficheros de información de lenguaje

Descripción

bool pspell_config_data_dir ( int $conf , string $directory )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

pspell_config_create
pspell_config_dict_dir
Funciones de Pspell


Ubicación de la lista principal de palabras

pspell_config_data_dir
pspell_config_ignore
Funciones de Pspell
PHP Manual

pspell_config_dict_dir

(PHP 5)

pspell_config_dict_dir — Ubicación de la lista principal de palabras

Descripción

bool pspell_config_dict_dir ( int $conf , string $directory )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

pspell_config_data_dir
pspell_config_ignore
Funciones de Pspell


Ignorar palabras con menos de N caracteres

pspell_config_dict_dir
pspell_config_mode
Funciones de Pspell
PHP Manual

pspell_config_ignore

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_ignore — Ignorar palabras con menos de N caracteres

Descripción

bool pspell_config_ignore ( int $dictionary_link , int $n )

pspell_config_ignore() debería usarse en una configuración antes de llamar a pspell_new_config(). Esta función permite al corrector de ortografía saltarse palabras cortas.

Parámetros

dictionary_link

n

Las palabras con menos de n caracteres serán saltadas.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 pspell_config_ignore()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_ignore($pspell_config, 5);
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "abcd");    //no resultará en un error
?>

pspell_config_dict_dir
pspell_config_mode
Funciones de Pspell


Cambiar el modo de número de sugerencias devueltas

pspell_config_ignore
pspell_config_personal
Funciones de Pspell
PHP Manual

pspell_config_mode

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_mode — Cambiar el modo de número de sugerencias devueltas

Descripción

bool pspell_config_mode ( int $dictionary_link , int $mode )

pspell_config_mode() debería usarse en una configuración antes de llamar a pspell_new_config(). Esta función determina cuántas sugerencias serán devueltas por pspell_suggest().

Parámetros

dictionary_link

mode

El parámetro mode es el modo en el que trabajará el corrector ortográfico. Hay varios modos disponibles:

  • PSPELL_FAST - Modo rápido (menor númeo de sugerencias)
  • PSPELL_NORMAL - Modo normal (más sugerencias)
  • PSPELL_BAD_SPELLERS - Modo lento (un montón de sugerencias)

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de pspell_config_mode()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_mode($pspell_config, PSPELL_FAST);
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "thecat");
?>

pspell_config_ignore
pspell_config_personal
Funciones de Pspell


Establecer un fichero que contiene una lista personal de palabras

pspell_config_mode
pspell_config_repl
Funciones de Pspell
PHP Manual

pspell_config_personal

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_personal — Establecer un fichero que contiene una lista personal de palabras

Descripción

bool pspell_config_personal ( int $dictionary_link , string $file )

Establece un fichero que contiene una lista personal de palabras. Además, ésta será cargada en la lista estándar después de llamar a pspell_new_config(). Es fichero también es el fichero donde pspell_save_wordlist() guardará la lista personal de palabras.

pspell_config_personal() debería usarse con una configuración antes de llamar a pspell_new_config().

Parámetros

dictionary_link

file

La lista personal de palabras. Si el fichero no existe, se creará. El fichero debería ser modificable por quienquiera que ejecute PHP (p.ej. nadie).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 pspell_config_personal()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "thecat");
?>

Notas

Nota:

Esta función no funcionará a menos que tenga pspell .11.2 y aspell .32.5 o posterior.

pspell_config_mode
pspell_config_repl
Funciones de Pspell


Establecer un fichero que contiene pares de sustitución

pspell_config_personal
pspell_config_runtogether
Funciones de Pspell
PHP Manual

pspell_config_repl

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_repl — Establecer un fichero que contiene pares de sustitución

Descripción

bool pspell_config_repl ( int $dictionary_link , string $file )

Establece un fichero que contiene pares de sustitución.

Los pares de sustitución mejoran la calidad del corrector ortográfico. Cuando una palabra está mal escrita y no se ha encontrado una sugerencia apropiada en la lista, se puede usar pspell_store_replacement() para almacenar un par de sustitución y después pspell_save_wordlist() para guardar la lista de palabras junto con los pares de sustitución.

pspell_config_repl() debería usarse con una configuración antes de llamar a pspell_new_config().

Parámetros

dictionary_link

file

El fichero debería ser modificable por quienquiera que ejecute PHP (p.ej. nadie).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 pspell_config_repl()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "thecat");
?>

Notas

Nota:

Esta función no funcionará a menos que tenga pspell .11.2 y aspell .32.5 o posterior.

pspell_config_personal
pspell_config_runtogether
Funciones de Pspell


Considerar las palabras unidas como compuestos válidos

pspell_config_repl
pspell_config_save_repl
Funciones de Pspell
PHP Manual

pspell_config_runtogether

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_runtogether — Considerar las palabras unidas como compuestos válidos

Descripción

bool pspell_config_runtogether ( int $dictionary_link , bool $flag )

Esta función determina si las palabras unidas serán tratadas como compuestos legales. Es decir, "elgato" será un compuesto legal, aunque debería de haber un espacio entre las dos palabras. Cambiar esta configuración únicamente afecta a los resultados devueltos por pspell_check(); pspell_suggest() seguirá devolviendo sugerencias.

pspell_config_runtogether() debería usarse con una configuración antes de llamar a pspell_new_config().

Parámetros

dictionary_link

flag

TRUE si las palabras unidas deberían ser tratadas como compuestos legales, FALSE si no.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 pspell_config_runtogether()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_runtogether($pspell_config, true);
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "thecat");
?>

pspell_config_repl
pspell_config_save_repl
Funciones de Pspell


Deterinar si se guarda una lista de pares de sustitución junto con la lista de palabras

pspell_config_runtogether
pspell_new_config
Funciones de Pspell
PHP Manual

pspell_config_save_repl

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_save_repl — Deterinar si se guarda una lista de pares de sustitución junto con la lista de palabras

Descripción

bool pspell_config_save_repl ( int $dictionary_link , bool $flag )

pspell_config_save_repl() determina si pspell_save_wordlist() guardará los pares de sustitución junto con la lista de palabras. Normalmente no hay necesidad de usar esta función ya que si se usa pspell_config_repl(), los pares de sustitución serán guardados por pspell_save_wordlist() de todos modos, y si no, los pares de sustitución no se guardarán.

pspell_config_save_repl() debería usarse con una configuración antes de llamar a pspell_new_config().

Parámetros

dictionary_link

flag

TRUE si los pares de sustitución deberían guardarse, FALSE si no.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota:

Esta función no funcionará a menos que tenga pspell .11.2 y aspell .32.5 o posterior.

pspell_config_runtogether
pspell_new_config
Funciones de Pspell


Cargar un nuevo diccionario con ajustes basados en una configuración dada

pspell_config_save_repl
pspell_new_personal
Funciones de Pspell
PHP Manual

pspell_new_config

(PHP 4 >= 4.0.2, PHP 5)

pspell_new_config — Cargar un nuevo diccionario con ajustes basados en una configuración dada

Descripción

int pspell_new_config ( int $config )

pspell_new_config() abre un nuevo diccionario con los ajustes especificados en una configuración, creada con pspell_config_create() y modificada con las funciones pspell_config_*(). Este método proporciona la mayor flexibilidad y tiene todas las funcionalidades proporcionadas por pspell_new() y pspell_new_personal().

Parámetros

config

El parámetro config es una configuración devuelta por pspell_config_create() cuando se creó la configuración.

Valores devueltos

Devuelve un identificador de vínculo de diccionario en caso de éxito.

Ejemplos

Ejemplo #1 pspell_new_config()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell_link = pspell_new_config($pspell_config);
?>

pspell_config_save_repl
pspell_new_personal
Funciones de Pspell


Cargar un nuevo diccionario con una lista personal de palabras

pspell_new_config
pspell_new
Funciones de Pspell
PHP Manual

pspell_new_personal

(PHP 4 >= 4.0.2, PHP 5)

pspell_new_personal — Cargar un nuevo diccionario con una lista personal de palabras

Descripción

int pspell_new_personal ( string $personal , string $language [, string $spelling [, string $jargon [, string $encoding [, int $mode = 0 ]]]] )

pspell_new_personal() abre un nuevo diccionario con una lista personal de palabras. Ésta puede ser modificada y guardada con pspell_save_wordlist(), si se desea. Sin embargo, los pares de sustitución no se guardan. Para guardarlos se debería crear una configuración usando pspell_config_create(), establecer el fichero de la lista personal de palabras con pspell_config_personal(), establecer el fichero de pares de sustitución con pspell_config_repl(), y abrir un nuevo diccionario con pspell_new_config().

Para más información y ejemplos, verifique el sitio web de pspell del manual en línea:» http://aspell.net/.

Parámetros

personal

El fichero donde se almacenarán las palabras añadidas a la lista personal. Debería ser un nombre de fichero absoluto comenzado con '/', ya que de otro modo será relativo a $HOME, el cual es "/root" para la mayoría de sistemas, y probablemente no es lo que quiere.

language

El parámetro language es el código de lenguaje que consiste en el código de lenguaje ISO 639 de dos letras y un código de país ISO 3166 de dos letras opcional después de un guión o guión de subrayado.

spelling

La ortografía solicitada para lenguajes con más de una ortografía, como el inglés. Valores conocidos son 'american', 'british', y 'canadian'.

jargon

Información extra para distinguir dos listas de palabras diferentes que tienen el mismo lenguaje y parámetros de ortografía.

encoding

La codificación que se espera que tengan esas palabras. Los valores válidos son utf-8, iso8859-*, koi8-r, viscii, cp1252, machine unsigned 16, machine unsigned 32.

mode

El modo en el que trabajará el corrector ortográfico. Hay varios modos disponibles:

  • PSPELL_FAST - Modo rápido (menor númeo de sugerencias)
  • PSPELL_NORMAL - Modo normal (más sugerencias)
  • PSPELL_BAD_SPELLERS - Modo lento (un montón de sugerencias)
  • PSPELL_RUN_TOGETHER - Considerar palabras unidas como compuestos legales. Es decir, "elgao" será un compuesto legal, aunque debería haber un espacio entre las dos palabras. Cambiar esta configuración solo afecta a los resultados devueltos por pspell_check(); pspell_suggest() seguirá devolviendo sugerencias.
El modo es una máscara de bits construida a partir de diferentes constantes listadas después. Sin embargo, PSPELL_FAST, PSPELL_NORMAL y PSPELL_BAD_SPELLERS son mutuamente exclusivas, por lo que debería seleccionar únicamente una de ellas.

Valores devueltos

Devuelve el identificador de vínculo de diccionario para usarlo en otras funciones pspell.

Ejemplos

Ejemplo #1 pspell_new_personal()

<?php
$pspell_link = pspell_new_personal ("/var/dictionaries/custom.pws",
        "en", "", "", "", PSPELL_FAST|PSPELL_RUN_TOGETHER);
?>

pspell_new_config
pspell_new
Funciones de Pspell


Cargar un nuevo diccionario

pspell_new_personal
pspell_save_wordlist
Funciones de Pspell
PHP Manual

pspell_new

(PHP 4 >= 4.0.2, PHP 5)

pspell_new — Cargar un nuevo diccionario

Descripción

int pspell_new ( string $language [, string $spelling [, string $jargon [, string $encoding [, int $mode = 0 ]]]] )

pspell_new() abre un nuevo diccionario y devuelve el identificador de vínculo de diccionario para usarlo en otras funciones pspell.

Para más información y ejemplos, verifique el sitio web de pspell del manual en línea:» http://aspell.net/.

Parámetros

language

El parámetro language es el código de lenguaje que consiste en el código de lenguaje ISO 639 de dos letras y un código de país ISO 3166 de dos letras opcional después de un guión o guión de subrayado.

spelling

El parámetro spelling es la ortografía solicitada para lenguajes con más de una ortografía, como el inglés. Valores conocidos son 'american', 'british', y 'canadian'.

jargon

El parámetro jargon contiene información extra para distinguir dos listas de palabras diferentes que tienen el mismo lenguaje y parámetros de ortografía.

encoding

El parámetro encoding es la codificación que se espera que tengan esas palabras. Los valores válidos son 'utf-8', 'iso8859-*', 'koi8-r', 'viscii', 'cp1252', 'machine unsigned 16', 'machine unsigned 32'. Este parámetro no está en gran parte comprobado, por lo que, tenga cuidado al usarlo.

mode

El parámetro mode es el modo en el que trabajará el corrector ortográfico. Hay varios modos disponibles:

  • PSPELL_FAST - Modo rápido (menor númeo de sugerencias)
  • PSPELL_NORMAL - Modo normal (más sugerencias)
  • PSPELL_BAD_SPELLERS - Modo lento (un montón de sugerencias)
  • PSPELL_RUN_TOGETHER - Considerar palabras unidas como compuestos legales. Es decir, "elgao" será un compuesto legal, aunque debería haber un espacio entre las dos palabras. Cambiar esta configuración solo afecta a los resultados devueltos por pspell_check(); pspell_suggest() seguirá devolviendo sugerencias.
El modo es una máscara de bits construida a partir de diferentes constantes antes listadas. Sin embargo, PSPELL_FAST, PSPELL_NORMAL y PSPELL_BAD_SPELLERS son mutuamente exclusivas, por lo que debería seleccionar únicamente una de ellas.

Valores devueltos

Devuelve el identificador de vínculo de diccionario en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 pspell_new()

<?php
$pspell_link = pspell_new("en", "", "", "",
                           (PSPELL_FAST|PSPELL_RUN_TOGETHER));
?>

pspell_new_personal
pspell_save_wordlist
Funciones de Pspell


Guardar la lista de palabras personal a un fichero

pspell_new
pspell_store_replacement
Funciones de Pspell
PHP Manual

pspell_save_wordlist

(PHP 4 >= 4.0.2, PHP 5)

pspell_save_wordlist — Guardar la lista de palabras personal a un fichero

Descripción

bool pspell_save_wordlist ( int $dictionary_link )

pspell_save_wordlist() guarda la lista personal de palabras de la sesión actual. La ubicación de ficheros a guardar se especifica con pspell_config_personal() y (opcionalmente) pspell_config_repl().

Parámetros

dictionary_link

Un identificador de vínculo a un diccionario abierto con pspell_new_personal().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 pspell_add_to_personal()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/tmp/dicts/newdict");
$pspell_link = pspell_new_config($pspell_config);

pspell_add_to_personal($pspell_link, "Vlad");
pspell_save_wordlist($pspell_link);
?>

Notas

Nota:

Esta función no funcionará a menos que tenga pspell .11.2 y aspell .32.5 o posterior.

pspell_new
pspell_store_replacement
Funciones de Pspell


Almacenar un par de sustitución de una palabra

pspell_save_wordlist
pspell_suggest
Funciones de Pspell
PHP Manual

pspell_store_replacement

(PHP 4 >= 4.0.2, PHP 5)

pspell_store_replacement — Almacenar un par de sustitución de una palabra

Descripción

bool pspell_store_replacement ( int $dictionary_link , string $misspelled , string $correct )

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

Parámetros

dictionary_link

Un idenficador de vínculo de diccionario, abierto con pspell_new_personal()

misspelled

La palabra mal escrita.

correct

La ortografía corregida para la palabra misspelled.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 pspell_store_replacement()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell_link = pspell_new_config($pspell_config);

pspell_store_replacement($pspell_link, $misspelled, $correct);
pspell_save_wordlist($pspell_link);
?>

Notas

Nota:

Esta función no funcionará a menos que tenga pspell .11.2 y aspell .32.5 o posterior.

pspell_save_wordlist
pspell_suggest
Funciones de Pspell


Sugerir ortografías de una palabra

pspell_store_replacement
Recode
Funciones de Pspell
PHP Manual

pspell_suggest

(PHP 4 >= 4.0.2, PHP 5)

pspell_suggest — Sugerir ortografías de una palabra

Descripción

array pspell_suggest ( int $dictionary_link , string $word )

pspell_suggest() devuelve un array de posibles ortografías para la palabra dada.

Parámetros

dictionary_link

word

La palabra comprobada.

Valores devueltos

Devuelve un array de posibles ortografías.

Ejemplos

Ejemplo #1 Ejemplo de pspell_suggest()

<?php
$pspell_link = pspell_new("en");

if (!pspell_check($pspell_link, "testt")) {
    $sugerencias = pspell_suggest($pspell_link, "testt");

    foreach ($sugerencias as $sugerencia) {
        echo "Ortografía posible: $sugerencia<br />";
    }
}
?>

pspell_store_replacement
Recode
Funciones de Pspell


GNU Recode

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de Recode
    • recode_file — Recodificar de fichero a fichero según la petición de recoficación
    • recode_string — Recodifica un string según una petición de recodificación
    • recode — Alias de recode_string
pspell_suggest
Introducción
Soporte para lenguaje humano y codificación de caracteres


Introducción

Este módulo contiene un interfaz a la biblioteca GNU Recode. Esta biblioteca convierte ficheros entre varios juegos de caracteres y tipos de codificación. Cuando la conversión no se puede lograr con exactitud, puede que elimine caracteres problemáticos o recurrir a aproximaciones. La biblioteca reconoce o aporta cerca de 150 juegos de carácteres diferentes, y es capaz de convertir ficheros en casi cualquier formato. Están soportados la mayoría de juegos de caracteres » RFC 1345.

Nota: Esta extensión no está disponible en plataformas Windows.

Recode
Instalación/Configuración
Recode


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Recode


Requerimientos

Se debe tener GNU Recode 3.5 o superior instalado en el sistema. SE puede descargar el paquete desde » http://directory.fsf.org/All_GNU_Packages/recode.html.

Advertencia

La Recode library versión 3.6 añade extraños caracteres detrás de la cadena convertida en ciertas circumstancias. Entonces es más seguro usar Recode v3.5 o alguna de las diferentes alternativas como las extensiones iconv o mbstring.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Para poder usar las funciones definidas en este módulo se debe compilar el intérprete PHP usando la opción --with-recode[=DIR] .

Advertencia

Quizá se encuentra con problemas en el arranque de PHP al trata de cargar la extensión recode después de cargar cualquier extensión de mysql o imap. Si carga la extensión recode antes de estas extensiones se solucionará el problema. Esto es debido a un problema técnico de que las dos librerias c-client son usadas por imap y recode tiene su propia función hash_lookup() y mysql y recode tienen las dos su propia función hash_insert.

Advertencia

La extensión IMAP no puede ser usada junto con las extensiones recode, YAZ o Cyrus . Esto es debido a que las dos utilizan el mismo símbolo interno. Observación: Yaz 2.0 y versiones superiores no tienen este problema.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Funciones de Recode
Recode


Funciones de Recode

Tabla de contenidos

  • recode_file — Recodificar de fichero a fichero según la petición de recoficación
  • recode_string — Recodifica un string según una petición de recodificación
  • recode — Alias de recode_string
Constantes predefinidas
recode_file
Recode


Recodificar de fichero a fichero según la petición de recoficación

Funciones de Recode
recode_string
Funciones de Recode
PHP Manual

recode_file

(PHP 4, PHP 5)

recode_file — Recodificar de fichero a fichero según la petición de recoficación

Descripción

bool recode_file ( string $request , resource $input , resource $output )

Recodifica el fichero señalado por el gestor de ficheros input al fichero señalado por el gestor de ficheros output según la petición de recodificación dada por request.

Parámetros

request

El tipo de solicitud de recodificación deseada

input

Un resource gestor de ficheros local para input

output

Un resource gestor de ficheros local para output

Valores devueltos

Devuelve FALSE, si no se puede cumplir, o de lo contrario TRUE.

Ejemplos

Ejemplo #1 Ejemplo básico de recode_file()

<?php
$input = fopen('input.txt', 'r');
$output = fopen('output.txt', 'w');
recode_file("us..flat", $input, $output);
?>

Notas

Esta función actualmente no procesa gestores de ficheros que señalan a ficheros remotos (URLs). Ambos gestores de ficheros deben señalar a ficheros locales.

Ver también

  • fopen() - Abre un fichero o una URL

Funciones de Recode
recode_string
Funciones de Recode


Recodifica un string según una petición de recodificación

recode_file
recode
Funciones de Recode
PHP Manual

recode_string

(PHP 4, PHP 5)

recode_string — Recodifica un string según una petición de recodificación

Descripción

string recode_string ( string $request , string $string )

Recodifica el string string según la petción de recodificación request.

Parámetros

request

El tipo de solicitud de recodificación deseada

string

El string a recodificar

Valores devueltos

Devuelve el string recodificado o FALSE, si no se pudo realizar la petición de recodificación.

Ejemplos

Ejemplo #1 Ejemplo básico de recode_string()

<?php
echo recode_string("us..flat", "The following character has a diacritical mark: á");
?>

Notas

Una petición de recodificación sencilla podría ser "lat1..iso646-de".

Ver también

  • La documentación de GNU Recode de la instalación para instrucciones detalladas sobre peticiones de recodificación.

recode_file
recode
Funciones de Recode


Alias de recode_string

recode_string
Procesamiento y generación de imágenes
Funciones de Recode
PHP Manual

recode

(PHP 4, PHP 5)

recode — Alias de recode_string()

Descripción

Esta función es un alias de: recode_string().

recode_string
Procesamiento y generación de imágenes
Funciones de Recode


Procesamiento y generación de imágenes

  • Cairo
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de Cairo
    • Cairo — La Clase Cairo
    • CairoContext — La clase CairoContext
    • CairoException — La clase CairoException
    • CairoStatus — La clase CairoStatus
    • CairoSurface — La clase CairoSurface
    • CairoSvgSurface — Entorno de Superficie Svg
    • CairoImageSurface — La clase CairoImageSurface
    • CairoPdfSurface — La clase CairoPdfSurface
    • CairoPsSurface — La clase CairoPsSurface
    • CairoSurfaceType — La clase CairoSurfaceType
    • CairoFontFace — La clase CairoFontFace
    • CairoFontOptions — La clase CairoFontOptions
    • CairoFontSlant — La clase CairoFontSlant
    • CairoFontType — La clase CairoFontType
    • CairoFontWeight — La clase CairoFontWeight
    • CairoScaledFont — La clase CairoScaledFont
    • CairoToyFontFace — La clase CairoToyFontFace
    • CairoPatternType — La clase CairoPatternType
    • CairoPattern — La clase CairoPattern
    • CairoGradientPattern — La clase CairoGradientPattern
    • CairoSolidPattern — La clase CairoSolidPattern
    • CairoSurfacePattern — La clase CairoSurfacePattern
    • CairoLinearGradient — La clase CairoLinearGradient
    • CairoRadialGradient — La clase CairoRadialGradient
    • CairoAntialias — La clase CairoAntialias
    • CairoContent — La clase CairoContent
    • CairoExtend — La clase CairoExtend
    • CairoFormat — La clase CairoFormat
    • CairoFillRule — La clase CairoFillRule
    • CairoFilter — La clase CairoFilter
    • CairoHintMetrics — La clase CairoHintMetrics
    • CairoHintStyle — La clase CairoHintStyle
    • CairoLineCap — La clase CairoLineCap
    • CairoLineJoin — La clase CairoLineJoin
    • CairoMatrix — La clase CairoMatrix
    • CairoOperator — La clase CairoOperator
    • CairoPath — La clase CairoPath
    • CairoPsLevel — La clase CairoPsLevel
    • CairoSubpixelOrder — La clase CairoSubpixelOrder
    • CairoSvgVersion — La clase CairoSvgVersion
  • Exif — Información de imagen intercambiable
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de Exif
  • GD — Procesamiento de imágenes y GD
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de GD e Imágenes
  • Gmagick
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Gmagick — La clase Gmagick
    • GmagickDraw — La clase GmagickDraw
    • GmagickPixel — La clase GmagickPixel
  • ImageMagick — Procesamiento de Imágenes (ImageMagick)
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Imagick — La clase Imagick
    • ImagickDraw — La clase ImagickDraw
    • ImagickPixel — La clase ImagickPixel
    • ImagickPixelIterator — La clase ImagickPixelIterator
recode
Cairo
Referencia de funciones


Cairo

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • Funciones de Cairo
    • cairo_create — Devuelve un nuevo objeto CairoContext en la superficie requerida
    • cairo_font_face_get_type — Descripción
    • cairo_font_face_status — Descripción
    • cairo_font_options_create — Descripción
    • cairo_font_options_equal — Descripción
    • cairo_font_options_get_antialias — Descripción
    • cairo_font_options_get_hint_metrics — Descripción
    • cairo_font_options_get_hint_style — Descripción
    • cairo_font_options_get_subpixel_order — Descripción
    • cairo_font_options_hash — Descripción
    • cairo_font_options_merge — Descripción
    • cairo_font_options_set_antialias — Descripción
    • cairo_font_options_set_hint_metrics — Descripción
    • cairo_font_options_set_hint_style — Descripción
    • cairo_font_options_set_subpixel_order — Descripción
    • cairo_font_options_status — Descripción
    • cairo_format_stride_for_width — Descripción
    • cairo_image_surface_create_for_data — Descripción
    • cairo_image_surface_create_from_png — Descripción
    • cairo_image_surface_create — Descripción
    • cairo_image_surface_get_data — Descripción
    • cairo_image_surface_get_format — Descripción
    • cairo_image_surface_get_height — Descripción
    • cairo_image_surface_get_stride — Descripción
    • cairo_image_surface_get_width — Descripción
    • cairo_matrix_create_scale — Alias de CairoMatrix::initScale
    • cairo_matrix_create_translate — Alias de CairoMatrix::initTranslate
    • cairo_matrix_invert — Descripción
    • cairo_matrix_multiply — Descripción
    • cairo_matrix_rotate — Descripción
    • cairo_matrix_transform_distance — Descripción
    • cairo_matrix_transform_point — Descripción
    • cairo_matrix_translate — Descripción
    • cairo_pattern_add_color_stop_rgb — Descripción
    • cairo_pattern_add_color_stop_rgba — Descripción
    • cairo_pattern_create_for_surface — Descripción
    • cairo_pattern_create_linear — Descripción
    • cairo_pattern_create_radial — Descripción
    • cairo_pattern_create_rgb — Descripción
    • cairo_pattern_create_rgba — Descripción
    • cairo_pattern_get_color_stop_count — Descripción
    • cairo_pattern_get_color_stop_rgba — Descripción
    • cairo_pattern_get_extend — Descripción
    • cairo_pattern_get_filter — Descripción
    • cairo_pattern_get_linear_points — Descripción
    • cairo_pattern_get_matrix — Descripción
    • cairo_pattern_get_radial_circles — Descripción
    • cairo_pattern_get_rgba — Descripción
    • cairo_pattern_get_surface — Descripción
    • cairo_pattern_get_type — Descripción
    • cairo_pattern_set_extend — Descripción
    • cairo_pattern_set_filter — Descripción
    • cairo_pattern_set_matrix — Descripción
    • cairo_pattern_status — Descripción
    • cairo_pdf_surface_create — Descripción
    • cairo_pdf_surface_set_size — Descripción
    • cairo_ps_get_levels — Descripción
    • cairo_ps_level_to_string — Descripción
    • cairo_ps_surface_create — Descripción
    • cairo_ps_surface_dsc_begin_page_setup — Descripción
    • cairo_ps_surface_dsc_begin_setup — Descripción
    • cairo_ps_surface_dsc_comment — Descripción
    • cairo_ps_surface_get_eps — Descripción
    • cairo_ps_surface_restrict_to_level — Descripción
    • cairo_ps_surface_set_eps — Descripción
    • cairo_ps_surface_set_size — Descripción
    • cairo_scaled_font_create — Descripción
    • cairo_scaled_font_extents — Descripción
    • cairo_scaled_font_get_ctm — Descripción
    • cairo_scaled_font_get_font_face — Descripción
    • cairo_scaled_font_get_font_matrix — Descripción
    • cairo_scaled_font_get_font_options — Descripción
    • cairo_scaled_font_get_scale_matrix — Descripción
    • cairo_scaled_font_get_type — Descripción
    • cairo_scaled_font_glyph_extents — Descripción
    • cairo_scaled_font_status — Descripción
    • cairo_scaled_font_text_extents — Descripción
    • cairo_surface_copy_page — Descripción
    • cairo_surface_create_similar — Descripción
    • cairo_surface_finish — Descripción
    • cairo_surface_flush — Descripción
    • cairo_surface_get_content — Descripción
    • cairo_surface_get_device_offset — Descripción
    • cairo_surface_get_font_options — Descripción
    • cairo_surface_get_type — Descripción
    • cairo_surface_mark_dirty_rectangle — Descripción
    • cairo_surface_mark_dirty — Descripción
    • cairo_surface_set_device_offset — Descripción
    • cairo_surface_set_fallback_resolution — Descripción
    • cairo_surface_show_page — Descripción
    • cairo_surface_status — Descripción
    • cairo_surface_write_to_png — Descripción
    • cairo_svg_surface_create — Descripción
    • cairo_svg_surface_restrict_to_version — Descripción
    • cairo_svg_version_to_string — Descripción
  • Cairo — La Clase Cairo
    • Cairo::availableFonts — Recupera los tipos de fuente disponibles
    • Cairo::availableSurfaces — Recupera todas las superficies disponibles
    • Cairo::statusToString — Recupera el estado acutal como cadena
    • Cairo::version — Recupera la versión de la biblioteca cairo
    • Cairo::versionString — Recupera la versión de cairo como cadena
  • CairoContext — La clase CairoContext
    • CairoContext::appendPath — Añade un trazado al trazado actual
    • CairoContext::arc — Añade un arco circular
    • CairoContext::arcNegative — Añade un arco negativo
    • CairoContext::clip — Establece una nueva región de recorte
    • CairoContext::clipExtents — Computa el área dentro del recorte actual
    • CairoContext::clipPreserve — Establce una nueva región de recorte desde el recorte actual
    • CairoContext::clipRectangleList — Recupera el recorte actual como una lista de rectángulos
    • CairoContext::closePath — Cierra el trazado actual
    • CairoContext::__construct — Crea un nuevo CairoContext
    • CairoContext::copyPage — Emite la página actual
    • CairoContext::copyPath — Crea una copia del trazado actual
    • CairoContext::copyPathFlat — Obtiene una copia aplanada del trazado actual
    • CairoContext::curveTo — Añade una curva
    • CairoContext::deviceToUser — Transforma una coordenada
    • CairoContext::deviceToUserDistance — Transformar una distancia
    • CairoContext::fill — Rellena el trazado actual
    • CairoContext::fillExtents — Cumputa el área rellenada
    • CairoContext::fillPreserve — Rellena y conserva el trazado actual
    • CairoContext::fontExtents — Obtener el alcance de una fuente
    • CairoContext::getAntialias — Recupera el modo de antialias actual
    • CairoContext::getCurrentPoint — El propósito de getCurrentPoint
    • CairoContext::getDash — El propósito de getDash
    • CairoContext::getDashCount — El propósito de getDashCount
    • CairoContext::getFillRule — El propósito de getFillRule
    • CairoContext::getFontFace — El propósito de getFontFace
    • CairoContext::getFontMatrix — El propósito de getFontMatrix
    • CairoContext::getFontOptions — El propósito de getFontOptions
    • CairoContext::getGroupTarget — El propósito de getGroupTarget
    • CairoContext::getLineCap — El propósito de getLineCap
    • CairoContext::getLineJoin — El propósito de getLineJoin
    • CairoContext::getLineWidth — El propósito de getLineWidth
    • CairoContext::getMatrix — El propósito de getMatrix
    • CairoContext::getMiterLimit — El propósito de getMiterLimit
    • CairoContext::getOperator — El propósito de getOperator
    • CairoContext::getScaledFont — El propósito de getScaledFont
    • CairoContext::getSource — El propósito de getSource
    • CairoContext::getTarget — El propósito de getTarget
    • CairoContext::getTolerance — El propósito de getTolerance
    • CairoContext::glyphPath — El propósito de glyphPath
    • CairoContext::hasCurrentPoint — El propósito de hasCurrentPoint
    • CairoContext::identityMatrix — El propósito de identityMatrix
    • CairoContext::inFill — El propósito de inFill
    • CairoContext::inStroke — El propósito de inStroke
    • CairoContext::lineTo — El propósito de lineTo
    • CairoContext::mask — El propósito de mask
    • CairoContext::maskSurface — El propósito de maskSurface
    • CairoContext::moveTo — El propósito de moveTo
    • CairoContext::newPath — El propósito de newPath
    • CairoContext::newSubPath — El propósito de newSubPath
    • CairoContext::paint — El propósito de paint
    • CairoContext::paintWithAlpha — El propósito de paintWithAlpha
    • CairoContext::pathExtents — El propósito de pathExtents
    • CairoContext::popGroup — El propósito de popGroup
    • CairoContext::popGroupToSource — El propósito de popGroupToSource
    • CairoContext::pushGroup — El propósito de pushGroup
    • CairoContext::pushGroupWithContent — El propósito de pushGroupWithContent
    • CairoContext::rectangle — El propósito de rectangle
    • CairoContext::relCurveTo — El propósito de relCurveTo
    • CairoContext::relLineTo — El propósito de relLineTo
    • CairoContext::relMoveTo — El propósito de relMoveTo
    • CairoContext::resetClip — El propósito de resetClip
    • CairoContext::restore — El propósito de restore
    • CairoContext::rotate — El propósito de rotate
    • CairoContext::save — El propósito de save
    • CairoContext::scale — El propósito de scale
    • CairoContext::selectFontFace — El propósito de selectFontFace
    • CairoContext::setAntialias — El propósito de setAntialias
    • CairoContext::setDash — El propósito de setDash
    • CairoContext::setFillRule — El propósito de setFillRule
    • CairoContext::setFontFace — El propósito de setFontFace
    • CairoContext::setFontMatrix — El propósito de setFontMatrix
    • CairoContext::setFontOptions — El propósito de setFontOptions
    • CairoContext::setFontSize — El propósito de setFontSize
    • CairoContext::setLineCap — El propósito de setLineCap
    • CairoContext::setLineJoin — El propósito de setLineJoin
    • CairoContext::setLineWidth — El propósito de setLineWidth
    • CairoContext::setMatrix — El propósito de setMatrix
    • CairoContext::setMiterLimit — El propósito de setMiterLimit
    • CairoContext::setOperator — El propósito de setOperator
    • CairoContext::setScaledFont — El propósito de setScaledFont
    • CairoContext::setSource — El propósito de setSource
    • CairoContext::setSourceRGB — El propósito de setSourceRGB
    • CairoContext::setSourceRGBA — El propósito de setSourceRGBA
    • CairoContext::setSourceSurface — El propósito de setSourceSurface
    • CairoContext::setTolerance — El propósito de setTolerance
    • CairoContext::showPage — El propósito de showPage
    • CairoContext::showText — El propósito de showText
    • CairoContext::status — El propósito de status
    • CairoContext::stroke — El propósito de stroke
    • CairoContext::strokeExtents — El propósito de strokeExtents
    • CairoContext::strokePreserve — El propósito de strokePreserve
    • CairoContext::textExtents — El propósito de textExtents
    • CairoContext::textPath — El propósito de textPath
    • CairoContext::transform — El propósito de transform
    • CairoContext::translate — El propósito de translate
    • CairoContext::userToDevice — El propósito de userToDevice
    • CairoContext::userToDeviceDistance — El propósito de userToDeviceDistance
  • CairoException — La clase CairoException
  • CairoStatus — La clase CairoStatus
  • CairoSurface — La clase CairoSurface
    • CairoSurface::__construct — El propósito de __construct
    • CairoSurface::copyPage — El propósito de copyPage
    • CairoSurface::createSimilar — El propósito de createSimilar
    • CairoSurface::finish — El propósito de finish
    • CairoSurface::flush — El propósito de flush
    • CairoSurface::getContent — El propósito de getContent
    • CairoSurface::getDeviceOffset — El propósito de getDeviceOffset
    • CairoSurface::getFontOptions — El propósito de getFontOptions
    • CairoSurface::getType — El propósito de getType
    • CairoSurface::markDirty — El propósito de markDirty
    • CairoSurface::markDirtyRectangle — El propósito de markDirtyRectangle
    • CairoSurface::setDeviceOffset — El propósito de setDeviceOffset
    • CairoSurface::setFallbackResolution — El propósito de setFallbackResolution
    • CairoSurface::showPage — El propósito de showPage
    • CairoSurface::status — El propósito de status
    • CairoSurface::writeToPng — El propósito de writeToPng
  • CairoSvgSurface — Entorno de Superficie Svg
    • CairoSvgSurface::__construct — El propósito de __construct
    • CairoSvgSurface::getVersions — Usado para recuperar una lista de versiones de SVG soportadas
    • CairoSvgSurface::restrictToVersion — El propósito de restrictToVersion
    • CairoSvgSurface::versionToString — El propósito de versionToString
  • CairoImageSurface — La clase CairoImageSurface
    • CairoImageSurface::__construct — Crea una nueva CairoImageSurface
    • CairoImageSurface::createForData — El propósito de createForData
    • CairoImageSurface::createFromPng — Crea una nueva CairoImageSurface desde un archivo de imagen png
    • CairoImageSurface::getData — Obtiene la información de la imagen como cadena
    • CairoImageSurface::getFormat — Obtener el formato de imagen
    • CairoImageSurface::getHeight — Recupera el alto del CairoImageSurface
    • CairoImageSurface::getStride — El propósito de getStride
    • CairoImageSurface::getWidth — Recupera el ancho del CairoImageSurface
  • CairoPdfSurface — La clase CairoPdfSurface
    • CairoPdfSurface::__construct — El propósito de __construct
    • CairoPdfSurface::setSize — El propósito de setSize
  • CairoPsSurface — La clase CairoPsSurface
    • CairoPsSurface::__construct — El propósito de __construct
    • CairoPsSurface::dscBeginPageSetup — El propósito de dscBeginPageSetup
    • CairoPsSurface::dscBeginSetup — El propósito de dscBeginSetup
    • CairoPsSurface::dscComment — El propósito de dscComment
    • CairoPsSurface::getEps — El propósito de getEps
    • CairoPsSurface::getLevels — El propósito de getLevels
    • CairoPsSurface::levelToString — El propósito de levelToString
    • CairoPsSurface::restrictToLevel — El propósito de restrictToLevel
    • CairoPsSurface::setEps — El propósito de setEps
    • CairoPsSurface::setSize — El propósito de setSize
  • CairoSurfaceType — La clase CairoSurfaceType
  • CairoFontFace — La clase CairoFontFace
    • CairoFontFace::__construct — Crea un nuevo objeto CairoFontFace
    • CairoFontFace::getType — Recupera el tipo de familia de fuentes
    • CairoFontFace::status — Compruba errores de CairoFontFace
  • CairoFontOptions — La clase CairoFontOptions
    • CairoFontOptions::__construct — El propósito de __construct
    • CairoFontOptions::equal — El propósito de equal
    • CairoFontOptions::getAntialias — El propósito de getAntialias
    • CairoFontOptions::getHintMetrics — El propósito de getHintMetrics
    • CairoFontOptions::getHintStyle — El propósito de getHintStyle
    • CairoFontOptions::getSubpixelOrder — El propósito de getSubpixelOrder
    • CairoFontOptions::hash — El propósito de hash
    • CairoFontOptions::merge — El propósito de merge
    • CairoFontOptions::setAntialias — El propósito de setAntialias
    • CairoFontOptions::setHintMetrics — El propósito de setHintMetrics
    • CairoFontOptions::setHintStyle — El propósito de setHintStyle
    • CairoFontOptions::setSubpixelOrder — El propósito de setSubpixelOrder
    • CairoFontOptions::status — El propósito de status
  • CairoFontSlant — La clase CairoFontSlant
  • CairoFontType — La clase CairoFontType
  • CairoFontWeight — La clase CairoFontWeight
  • CairoScaledFont — La clase CairoScaledFont
    • CairoScaledFont::__construct — El propósito de __construct
    • CairoScaledFont::extents — El propósito de extents
    • CairoScaledFont::getCtm — El propósito de getCtm
    • CairoScaledFont::getFontFace — El propósito de getFontFace
    • CairoScaledFont::getFontMatrix — El propósito de getFontMatrix
    • CairoScaledFont::getFontOptions — El propósito de getFontOptions
    • CairoScaledFont::getScaleMatrix — El propósito de getScaleMatrix
    • CairoScaledFont::getType — El propósito de getType
    • CairoScaledFont::glyphExtents — El propósito de glyphExtents
    • CairoScaledFont::status — El propósito de status
    • CairoScaledFont::textExtents — El propósito de textExtents
  • CairoToyFontFace — La clase CairoToyFontFace
  • CairoPatternType — La clase CairoPatternType
  • CairoPattern — La clase CairoPattern
    • CairoPattern::__construct — El propósito de __construct
    • CairoPattern::getMatrix — El propósito de getMatrix
    • CairoPattern::getType — El propósito de getType
    • CairoPattern::setMatrix — El propósito de setMatrix
    • CairoPattern::status — El propósito de status
  • CairoGradientPattern — La clase CairoGradientPattern
    • CairoGradientPattern::addColorStopRgb — El propósito de addColorStopRgb
    • CairoGradientPattern::addColorStopRgba — El propósito de addColorStopRgba
    • CairoGradientPattern::getColorStopCount — El propósito de getColorStopCount
    • CairoGradientPattern::getColorStopRgba — El propósito de getColorStopRgba
    • CairoGradientPattern::getExtend — El propósito de getExtend
    • CairoGradientPattern::setExtend — El propósito de setExtend
  • CairoSolidPattern — La clase CairoSolidPattern
    • CairoSolidPattern::__construct — El propósito de __construct
    • CairoSolidPattern::getRgba — El propósito de getRgba
  • CairoSurfacePattern — La clase CairoSurfacePattern
    • CairoSurfacePattern::__construct — El propósito de __construct
    • CairoSurfacePattern::getExtend — El propósito de getExtend
    • CairoSurfacePattern::getFilter — El propósito de getFilter
    • CairoSurfacePattern::getSurface — El propósito de getSurface
    • CairoSurfacePattern::setExtend — El propósito de setExtend
    • CairoSurfacePattern::setFilter — El propósito de setFilter
  • CairoLinearGradient — La clase CairoLinearGradient
    • CairoLinearGradient::__construct — El propósito de __construct
    • CairoLinearGradient::getPoints — El propósito de getPoints
  • CairoRadialGradient — La clase CairoRadialGradient
    • CairoRadialGradient::__construct — El propósito de __construct
    • CairoRadialGradient::getCircles — El propósito de getCircles
  • CairoAntialias — La clase CairoAntialias
  • CairoContent — La clase CairoContent
  • CairoExtend — La clase CairoExtend
  • CairoFormat — La clase CairoFormat
    • CairoFormat::strideForWidth — Proporciona un intervalo de paso apropiado a usar
  • CairoFillRule — La clase CairoFillRule
  • CairoFilter — La clase CairoFilter
  • CairoHintMetrics — La clase CairoHintMetrics
  • CairoHintStyle — La clase CairoHintStyle
  • CairoLineCap — La clase CairoLineCap
  • CairoLineJoin — La clase CairoLineJoin
  • CairoMatrix — La clase CairoMatrix
    • CairoMatrix::__construct — Crea un nuevo objeto CairoMatrix
    • CairoMatrix::initIdentity — Crea una nueva matriz de identidad
    • CairoMatrix::initRotate — Crea una nueva matriz rotada
    • CairoMatrix::initScale — Crea una nueva matriz de escala
    • CairoMatrix::initTranslate — Crea una nueva matriz de traducción
    • CairoMatrix::invert — El propósito de invert
    • CairoMatrix::multiply — El propósito de multiply
    • CairoMatrix::rotate — El propósito de rotate
    • CairoMatrix::scale — Aplica escala a una matriz
    • CairoMatrix::transformDistance — El propósito de transformDistance
    • CairoMatrix::transformPoint — El propósito de transformPoint
    • CairoMatrix::translate — El propósito de translate
  • CairoOperator — La clase CairoOperator
  • CairoPath — La clase CairoPath
  • CairoPsLevel — La clase CairoPsLevel
  • CairoSubpixelOrder — La clase CairoSubpixelOrder
  • CairoSvgVersion — La clase CairoSvgVersion
Procesamiento y generación de imágenes
Introducción
Procesamiento y generación de imágenes


Introducción

Cairo es una extensión nativa de PHP para crear y modificar gráficos usando la Biblioteca de Gráficos Cairo.

La Biblioteca de Gráficos Cairo es una biblioteca 2D escrita en C con soporte para múltiples dispositivos de salida. Actualmente los objetivos de salida soportados incluyen el Sistema X Window, Quartz, Win32, búferes de imágenes, y salida de archivos PostScript, PDF y SVG. Entornos experimentales incluyen OpenGL (mediante glitz), XCB, BeOS, OS/2, y DirectFB. La biblioteca también tiene soporte para dos tipos de manipulación de texto y diseño. La API "toy" proporciona soporte de calidad demo, y la API de glifos, aunque llena de funcionalidades, funciona mejor con una biblioteca de ayuda como pango. El soporte de entorno de fuentes incluye FreeType, Quartz, Win32, y fuentes de usuario.

Existen dos tipos de gráficos de computadora, vectores y mapas de bits. Los gráficos de mapa de bits son la representación de imágenes como una matriz de píxeles. Los gráficos de vectores usan primitivas geométricas como puntos, líneas, curvas o polígonos para representar imágenes. Las primitivas son creadas usando ecuaciones matemáticas. La Biblioteca de Gráficos Cairo toma una aproximación de vector para dibujar, permitiendo tamaños menores, hacer zoom infinito, y mover, escalar y rotar sin degradar la calidada de la imagen.

Las operaciones en la biblioteca de gráficos cairo incluyen bordear y rellenar curvas cúbicas Bézier, transformar y componer imágenes translúcidas, y renderizar texto con anti-alias. Todas las operaciones de dibujo se pueden transformar mediante cualquier transformación afín (escala, rotación, recorte y otras). Esto es similar a las operaciones de dibujo para PostScript y PDF.

La Extensión de PHP Cairo apunta a proporcionar soporte para todos los entornos de fuentes y superficies oficialmente soportados, así como exponer toda la funcionalidad disponible en cairo a los usuarios de PHP.

Cairo
Instalación/Configuración
Cairo


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Cairo


Requerimientos

Cairo sólo está disponible para PHP 5.2+ y PHP 5.3+ La extensión también requiere la versión 1.4 o superior de la biblioteca de gráficos cairo. La biblioteca de gráficos cairo utiliza una combinación númerica par e impar para denotar versiones de biblioteca estables e inestables. Ambas versiones se pueden usar con la extensión, pero el soporte condicional para las nuevas características está determinado por la versión estable bajo la versión inestable en uso. La última versión de cairo se puede encontrar en » http://cairographics.org/.

Los archivos binarios usados para las compilaciones en windows se pueden encontrar en » http://cairographics.org/download/ junto con los archivos del proyecto usados para crearlos.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/cairo.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Notas específicas para la instalación en Windows

Las construcciones binarias de la extensión se pueden encontrar en » http://cairographics.org/download/. Baje el archivo zip correcto, coloque php_cairo.dll en el directorio de extensiones y habilítelo mediante el archivo php.ini en uso. Por favor, asegúrese de que la versión menor de PHP (5.2, 5.3) coincide y de que la seguridad de hilo (Thread Safe TS -seguro- o Non-Thread Safe NTS -no seguro-), la arquitectura (x86 or x64), y la versión del compilador (VC6 o VC9) coinciden, o la extensión no cargará.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

CAIRO_STATUS_SUCCESS (integer)
CAIRO_STATUS_NO_MEMORY (integer)
CAIRO_STATUS_INVALID_RESTORE (integer)
CAIRO_STATUS_INVALID_POP_GROUP (integer)
CAIRO_STATUS_NO_CURRENT_POINT (integer)
CAIRO_STATUS_INVALID_MATRIX (integer)
CAIRO_STATUS_INVALID_STATUS (integer)
CAIRO_STATUS_NULL_POINTER (integer)
CAIRO_STATUS_INVALID_STRING (integer)
CAIRO_STATUS_INVALID_PATH_DATA (integer)
CAIRO_STATUS_READ_ERROR (integer)
CAIRO_STATUS_WRITE_ERROR (integer)
CAIRO_STATUS_SURFACE_FINISHED (integer)
CAIRO_STATUS_SURFACE_TYPE_MISMATCH (integer)
CAIRO_STATUS_PATTERN_TYPE_MISMATCH (integer)
CAIRO_STATUS_INVALID_CONTENT (integer)
CAIRO_STATUS_INVALID_FORMAT (integer)
CAIRO_STATUS_INVALID_VISUAL (integer)
CAIRO_STATUS_FILE_NOT_FOUND (integer)
CAIRO_STATUS_INVALID_DASH (integer)
CAIRO_STATUS_INVALID_DSC_COMMENT (integer)
CAIRO_STATUS_INVALID_INDEX (integer)
CAIRO_STATUS_CLIP_NOT_REPRESENTABLE (integer)
CAIRO_STATUS_TEMP_FILE_ERROR (integer)
CAIRO_STATUS_INVALID_STRIDE (integer)
CAIRO_ANTIALIAS_DEFAULT (integer)
CAIRO_ANTIALIAS_NONE (integer)
CAIRO_ANTIALIAS_GRAY (integer)
CAIRO_ANTIALIAS_SUBPIXEL (integer)
CAIRO_SUBPIXEL_ORDER_DEFAULT (integer)
CAIRO_SUBPIXEL_ORDER_RGB (integer)
CAIRO_SUBPIXEL_ORDER_BGR (integer)
CAIRO_SUBPIXEL_ORDER_VRGB (integer)
CAIRO_SUBPIXEL_ORDER_VBGR (integer)
CAIRO_FILL_RULE_WINDING (integer)
CAIRO_FILL_RULE_EVEN_ODD (integer)
CAIRO_LINE_CAP_BUTT (integer)
CAIRO_LINE_CAP_ROUND (integer)
CAIRO_LINE_CAP_SQUARE (integer)
CAIRO_LINE_JOIN_MITER (integer)
CAIRO_LINE_JOIN_ROUND (integer)
CAIRO_LINE_JOIN_BEVEL (integer)
CAIRO_OPERATOR_CLEAR (integer)
CAIRO_OPERATOR_SOURCE (integer)
CAIRO_OPERATOR_OVER (integer)
CAIRO_OPERATOR_IN (integer)
CAIRO_OPERATOR_OUT (integer)
CAIRO_OPERATOR_ATOP (integer)
CAIRO_OPERATOR_DEST (integer)
CAIRO_OPERATOR_DEST_OVER (integer)
CAIRO_OPERATOR_DEST_IN (integer)
CAIRO_OPERATOR_DEST_OUT (integer)
CAIRO_OPERATOR_DEST_ATOP (integer)
CAIRO_OPERATOR_XOR (integer)
CAIRO_OPERATOR_ADD (integer)
CAIRO_OPERATOR_SATURATE (integer)
CAIRO_PATTERN_TYPE_SOLID (integer)
CAIRO_PATTERN_TYPE_SURFACE (integer)
CAIRO_PATTERN_TYPE_LINEAR (integer)
CAIRO_PATTERN_TYPE_RADIAL (integer)
CAIRO_EXTEND_NONE (integer)
CAIRO_EXTEND_REPEAT (integer)
CAIRO_EXTEND_REFLECT (integer)
CAIRO_EXTEND_PAD (integer)
CAIRO_FILTER_FAST (integer)
CAIRO_FILTER_GOOD (integer)
CAIRO_FILTER_BEST (integer)
CAIRO_FILTER_NEAREST (integer)
CAIRO_FILTER_BILINEAR (integer)
CAIRO_FILTER_GAUSSIAN (integer)
CAIRO_HINT_STYLE_DEFAULT (integer)
CAIRO_HINT_STYLE_NONE (integer)
CAIRO_HINT_STYLE_SLIGHT (integer)
CAIRO_HINT_STYLE_MEDIUM (integer)
CAIRO_HINT_STYLE_FULL (integer)
CAIRO_HINT_METRICS_DEFAULT (integer)
CAIRO_HINT_METRICS_OFF (integer)
CAIRO_HINT_METRICS_ON (integer)
CAIRO_FONT_TYPE_TOY (integer)
CAIRO_FONT_TYPE_FT (integer)
CAIRO_FONT_TYPE_WIN32 (integer)
CAIRO_FONT_TYPE_QUARTZ (integer)
CAIRO_FONT_SLANT_NORMAL (integer)
CAIRO_FONT_SLANT_ITALIC (integer)
CAIRO_FONT_SLANT_OBLIQUE (integer)
CAIRO_FONT_WEIGHT_NORMAL (integer)
CAIRO_FONT_WEIGHT_BOLD (integer)
CAIRO_CONTENT_COLOR (integer)
CAIRO_CONTENT_ALPHA (integer)
CAIRO_CONTENT_COLOR_ALPHA (integer)
CAIRO_SURFACE_TYPE_IMAGE (integer)
CAIRO_SURFACE_TYPE_PDF (integer)
CAIRO_SURFACE_TYPE_PS (integer)
CAIRO_SURFACE_TYPE_XLIB (integer)
CAIRO_SURFACE_TYPE_XCB (integer)
CAIRO_SURFACE_TYPE_GLITZ (integer)
CAIRO_SURFACE_TYPE_QUARTZ (integer)
CAIRO_SURFACE_TYPE_WIN32 (integer)
CAIRO_SURFACE_TYPE_BEOS (integer)
CAIRO_SURFACE_TYPE_DIRECTFB (integer)
CAIRO_SURFACE_TYPE_SVG (integer)
CAIRO_SURFACE_TYPE_OS2 (integer)
CAIRO_SURFACE_TYPE_WIN32_PRINTING (integer)
CAIRO_SURFACE_TYPE_QUARTZ_IMAGE (integer)
CAIRO_FORMAT_ARGB32 (integer)
CAIRO_FORMAT_RGB24 (integer)
CAIRO_FORMAT_A8 (integer)
CAIRO_FORMAT_A1 (integer)
CAIRO_PS_LEVEL_2 (integer)
CAIRO_PS_LEVEL_3 (integer)
CAIRO_SVG_VERSION_1_1 (integer)
CAIRO_SVG_VERSION_1_2 (integer)

Tipos de recursos
Ejemplos
Cairo


Ejemplos

Descripción aquí...

Ejemplo #1 Ejemplo de Cairo

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...
Constantes predefinidas
Funciones de Cairo
Cairo


Funciones de Cairo

Tabla de contenidos

  • cairo_create — Devuelve un nuevo objeto CairoContext en la superficie requerida
  • cairo_font_face_get_type — Descripción
  • cairo_font_face_status — Descripción
  • cairo_font_options_create — Descripción
  • cairo_font_options_equal — Descripción
  • cairo_font_options_get_antialias — Descripción
  • cairo_font_options_get_hint_metrics — Descripción
  • cairo_font_options_get_hint_style — Descripción
  • cairo_font_options_get_subpixel_order — Descripción
  • cairo_font_options_hash — Descripción
  • cairo_font_options_merge — Descripción
  • cairo_font_options_set_antialias — Descripción
  • cairo_font_options_set_hint_metrics — Descripción
  • cairo_font_options_set_hint_style — Descripción
  • cairo_font_options_set_subpixel_order — Descripción
  • cairo_font_options_status — Descripción
  • cairo_format_stride_for_width — Descripción
  • cairo_image_surface_create_for_data — Descripción
  • cairo_image_surface_create_from_png — Descripción
  • cairo_image_surface_create — Descripción
  • cairo_image_surface_get_data — Descripción
  • cairo_image_surface_get_format — Descripción
  • cairo_image_surface_get_height — Descripción
  • cairo_image_surface_get_stride — Descripción
  • cairo_image_surface_get_width — Descripción
  • cairo_matrix_create_scale — Alias de CairoMatrix::initScale
  • cairo_matrix_create_translate — Alias de CairoMatrix::initTranslate
  • cairo_matrix_invert — Descripción
  • cairo_matrix_multiply — Descripción
  • cairo_matrix_rotate — Descripción
  • cairo_matrix_transform_distance — Descripción
  • cairo_matrix_transform_point — Descripción
  • cairo_matrix_translate — Descripción
  • cairo_pattern_add_color_stop_rgb — Descripción
  • cairo_pattern_add_color_stop_rgba — Descripción
  • cairo_pattern_create_for_surface — Descripción
  • cairo_pattern_create_linear — Descripción
  • cairo_pattern_create_radial — Descripción
  • cairo_pattern_create_rgb — Descripción
  • cairo_pattern_create_rgba — Descripción
  • cairo_pattern_get_color_stop_count — Descripción
  • cairo_pattern_get_color_stop_rgba — Descripción
  • cairo_pattern_get_extend — Descripción
  • cairo_pattern_get_filter — Descripción
  • cairo_pattern_get_linear_points — Descripción
  • cairo_pattern_get_matrix — Descripción
  • cairo_pattern_get_radial_circles — Descripción
  • cairo_pattern_get_rgba — Descripción
  • cairo_pattern_get_surface — Descripción
  • cairo_pattern_get_type — Descripción
  • cairo_pattern_set_extend — Descripción
  • cairo_pattern_set_filter — Descripción
  • cairo_pattern_set_matrix — Descripción
  • cairo_pattern_status — Descripción
  • cairo_pdf_surface_create — Descripción
  • cairo_pdf_surface_set_size — Descripción
  • cairo_ps_get_levels — Descripción
  • cairo_ps_level_to_string — Descripción
  • cairo_ps_surface_create — Descripción
  • cairo_ps_surface_dsc_begin_page_setup — Descripción
  • cairo_ps_surface_dsc_begin_setup — Descripción
  • cairo_ps_surface_dsc_comment — Descripción
  • cairo_ps_surface_get_eps — Descripción
  • cairo_ps_surface_restrict_to_level — Descripción
  • cairo_ps_surface_set_eps — Descripción
  • cairo_ps_surface_set_size — Descripción
  • cairo_scaled_font_create — Descripción
  • cairo_scaled_font_extents — Descripción
  • cairo_scaled_font_get_ctm — Descripción
  • cairo_scaled_font_get_font_face — Descripción
  • cairo_scaled_font_get_font_matrix — Descripción
  • cairo_scaled_font_get_font_options — Descripción
  • cairo_scaled_font_get_scale_matrix — Descripción
  • cairo_scaled_font_get_type — Descripción
  • cairo_scaled_font_glyph_extents — Descripción
  • cairo_scaled_font_status — Descripción
  • cairo_scaled_font_text_extents — Descripción
  • cairo_surface_copy_page — Descripción
  • cairo_surface_create_similar — Descripción
  • cairo_surface_finish — Descripción
  • cairo_surface_flush — Descripción
  • cairo_surface_get_content — Descripción
  • cairo_surface_get_device_offset — Descripción
  • cairo_surface_get_font_options — Descripción
  • cairo_surface_get_type — Descripción
  • cairo_surface_mark_dirty_rectangle — Descripción
  • cairo_surface_mark_dirty — Descripción
  • cairo_surface_set_device_offset — Descripción
  • cairo_surface_set_fallback_resolution — Descripción
  • cairo_surface_show_page — Descripción
  • cairo_surface_status — Descripción
  • cairo_surface_write_to_png — Descripción
  • cairo_svg_surface_create — Descripción
  • cairo_svg_surface_restrict_to_version — Descripción
  • cairo_svg_version_to_string — Descripción
Ejemplos
cairo_create
Cairo


Devuelve un nuevo objeto CairoContext en la superficie requerida

Funciones de Cairo
cairo_font_face_get_type
Funciones de Cairo
PHP Manual

cairo_create

(PECL cairo >= 0.1.0)

cairo_create — Devuelve un nuevo objeto CairoContext en la superficie requerida

Descripción

CairoContext cairo_create ( CairoSurface $surface )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_create()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

Funciones de Cairo
cairo_font_face_get_type
Funciones de Cairo


cairo_create
cairo_font_face_status
Funciones de Cairo
PHP Manual

cairo_font_face_get_type

(PECL cairo >= 0.1.0)

cairo_font_face_get_type — Descripción

Descripción

int cairo_font_face_get_type ( CairoFontFace $fontface )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

fontface

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_font_face_get_type()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_create
cairo_font_face_status
Funciones de Cairo


cairo_font_face_get_type
cairo_font_options_create
Funciones de Cairo
PHP Manual

cairo_font_face_status

(PECL cairo >= 0.1.0)

cairo_font_face_status — Descripción

Descripción

int cairo_font_face_status ( CairoFontFace $fontface )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

fontface

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_font_face_status()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_font_face_get_type
cairo_font_options_create
Funciones de Cairo


cairo_font_face_status
cairo_font_options_equal
Funciones de Cairo
PHP Manual

cairo_font_options_create

(PECL cairo >= 0.1.0)

cairo_font_options_create — Descripción

Descripción

CairoFontOptions cairo_font_options_create ( void )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_font_options_create()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_font_face_status
cairo_font_options_equal
Funciones de Cairo


cairo_font_options_create
cairo_font_options_get_antialias
Funciones de Cairo
PHP Manual

cairo_font_options_equal

(PECL cairo >= 0.1.0)

cairo_font_options_equal — Descripción

Descripción

bool cairo_font_options_equal ( CairoFontOptions $options , CairoFontOptions $other )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

options

Descripción...

other

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_font_options_equal()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_font_options_create
cairo_font_options_get_antialias
Funciones de Cairo


cairo_font_options_equal
cairo_font_options_get_hint_metrics
Funciones de Cairo
PHP Manual

cairo_font_options_get_antialias

(PECL cairo >= 0.1.0)

cairo_font_options_get_antialias — Descripción

Descripción

int cairo_font_options_get_antialias ( CairoFontOptions $options )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

options

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_font_options_get_antialias()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_font_options_equal
cairo_font_options_get_hint_metrics
Funciones de Cairo


cairo_font_options_get_antialias
cairo_font_options_get_hint_style
Funciones de Cairo
PHP Manual

cairo_font_options_get_hint_metrics

(PECL cairo >= 0.1.0)

cairo_font_options_get_hint_metrics — Descripción

Descripción

int cairo_font_options_get_hint_metrics ( CairoFontOptions $options )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

options

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_font_options_get_hint_metrics()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_font_options_get_antialias
cairo_font_options_get_hint_style
Funciones de Cairo


cairo_font_options_get_hint_metrics
cairo_font_options_get_subpixel_order
Funciones de Cairo
PHP Manual

cairo_font_options_get_hint_style

(PECL cairo >= 0.1.0)

cairo_font_options_get_hint_style — Descripción

Descripción

int cairo_font_options_get_hint_style ( CairoFontOptions $options )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

options

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_font_options_get_hint_style()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_font_options_get_hint_metrics
cairo_font_options_get_subpixel_order
Funciones de Cairo


cairo_font_options_get_hint_style
cairo_font_options_hash
Funciones de Cairo
PHP Manual

cairo_font_options_get_subpixel_order

(PECL cairo >= 0.1.0)

cairo_font_options_get_subpixel_order — Descripción

Descripción

int cairo_font_options_get_subpixel_order ( CairoFontOptions $options )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

options

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_font_options_get_subpixel_order()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_font_options_get_hint_style
cairo_font_options_hash
Funciones de Cairo


cairo_font_options_get_subpixel_order
cairo_font_options_merge
Funciones de Cairo
PHP Manual

cairo_font_options_hash

(PECL cairo >= 0.1.0)

cairo_font_options_hash — Descripción

Descripción

int cairo_font_options_hash ( CairoFontOptions $options )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

options

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_font_options_hash()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_font_options_get_subpixel_order
cairo_font_options_merge
Funciones de Cairo


cairo_font_options_hash
cairo_font_options_set_antialias
Funciones de Cairo
PHP Manual

cairo_font_options_merge

(PECL cairo >= 0.1.0)

cairo_font_options_merge — Descripción

Descripción

void cairo_font_options_merge ( CairoFontOptions $options , CairoFontOptions $other )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

options

Descripción...

other

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_font_options_merge()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_font_options_hash
cairo_font_options_set_antialias
Funciones de Cairo


cairo_font_options_merge
cairo_font_options_set_hint_metrics
Funciones de Cairo
PHP Manual

cairo_font_options_set_antialias

(PECL cairo >= 0.1.0)

cairo_font_options_set_antialias — Descripción

Descripción

void cairo_font_options_set_antialias ( CairoFontOptions $options , int $antialias )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

options

Descripción...

antialias

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_font_options_set_antialias()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_font_options_merge
cairo_font_options_set_hint_metrics
Funciones de Cairo


cairo_font_options_set_antialias
cairo_font_options_set_hint_style
Funciones de Cairo
PHP Manual

cairo_font_options_set_hint_metrics

(PECL cairo >= 0.1.0)

cairo_font_options_set_hint_metrics — Descripción

Descripción

void cairo_font_options_set_hint_metrics ( CairoFontOptions $options , int $hint_metrics )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

options

Descripción...

hint_metrics

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_font_options_set_hint_metrics()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_font_options_set_antialias
cairo_font_options_set_hint_style
Funciones de Cairo


cairo_font_options_set_hint_metrics
cairo_font_options_set_subpixel_order
Funciones de Cairo
PHP Manual

cairo_font_options_set_hint_style

(PECL cairo >= 0.1.0)

cairo_font_options_set_hint_style — Descripción

Descripción

void cairo_font_options_set_hint_style ( CairoFontOptions $options , int $hint_style )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

options

Descripción...

hint_style

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_font_options_set_hint_style()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_font_options_set_hint_metrics
cairo_font_options_set_subpixel_order
Funciones de Cairo


cairo_font_options_set_hint_style
cairo_font_options_status
Funciones de Cairo
PHP Manual

cairo_font_options_set_subpixel_order

(PECL cairo >= 0.1.0)

cairo_font_options_set_subpixel_order — Descripción

Descripción

void cairo_font_options_set_subpixel_order ( CairoFontOptions $options , int $subpixel_order )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

options

Descripción...

subpixel_order

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_font_options_set_subpixel_order()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_font_options_set_hint_style
cairo_font_options_status
Funciones de Cairo


cairo_font_options_set_subpixel_order
cairo_format_stride_for_width
Funciones de Cairo
PHP Manual

cairo_font_options_status

(PECL cairo >= 0.1.0)

cairo_font_options_status — Descripción

Descripción

int cairo_font_options_status ( CairoFontOptions $options )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

options

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_font_options_status()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_font_options_set_subpixel_order
cairo_format_stride_for_width
Funciones de Cairo


cairo_font_options_status
cairo_image_surface_create_for_data
Funciones de Cairo
PHP Manual

cairo_format_stride_for_width

(PECL cairo >= 0.1.0)

cairo_format_stride_for_width — Descripción

Descripción

int cairo_format_stride_for_width ( int $format , int $width )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

format

Descripción...

width

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_format_stride_for_width()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_font_options_status
cairo_image_surface_create_for_data
Funciones de Cairo


cairo_format_stride_for_width
cairo_image_surface_create_from_png
Funciones de Cairo
PHP Manual

cairo_image_surface_create_for_data

(PECL cairo >= 0.1.0)

cairo_image_surface_create_for_data — Descripción

Descripción

CairoImageSurface cairo_image_surface_create_for_data ( string $data , int $format , int $width , int $height [, int $stride = -1 ] )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

data

Descripción...

format

Descripción...

width

Descripción...

height

Descripción...

stride

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_image_surface_create_for_data()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_format_stride_for_width
cairo_image_surface_create_from_png
Funciones de Cairo


cairo_image_surface_create_for_data
cairo_image_surface_create
Funciones de Cairo
PHP Manual

cairo_image_surface_create_from_png

(PECL cairo >= 0.1.0)

cairo_image_surface_create_from_png — Descripción

Descripción

CairoImageSurface cairo_image_surface_create_from_png ( string $file )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

file

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_image_surface_create_from_png()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_image_surface_create_for_data
cairo_image_surface_create
Funciones de Cairo


cairo_image_surface_create_from_png
cairo_image_surface_get_data
Funciones de Cairo
PHP Manual

cairo_image_surface_create

(PECL cairo >= 0.1.0)

cairo_image_surface_create — Descripción

Descripción

CairoImageSurface cairo_image_surface_create ( int $format , int $width , int $height )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

format

Descripción...

width

Descripción...

height

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_image_surface_create()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_image_surface_create_from_png
cairo_image_surface_get_data
Funciones de Cairo


cairo_image_surface_create
cairo_image_surface_get_format
Funciones de Cairo
PHP Manual

cairo_image_surface_get_data

(PECL cairo >= 0.1.0)

cairo_image_surface_get_data — Descripción

Descripción

string cairo_image_surface_get_data ( CairoImageSurface $surface )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_image_surface_get_data()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_image_surface_create
cairo_image_surface_get_format
Funciones de Cairo


cairo_image_surface_get_data
cairo_image_surface_get_height
Funciones de Cairo
PHP Manual

cairo_image_surface_get_format

(PECL cairo >= 0.1.0)

cairo_image_surface_get_format — Descripción

Descripción

int cairo_image_surface_get_format ( CairoImageSurface $surface )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_image_surface_get_format()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_image_surface_get_data
cairo_image_surface_get_height
Funciones de Cairo


cairo_image_surface_get_format
cairo_image_surface_get_stride
Funciones de Cairo
PHP Manual

cairo_image_surface_get_height

(PECL cairo >= 0.1.0)

cairo_image_surface_get_height — Descripción

Descripción

int cairo_image_surface_get_height ( CairoImageSurface $surface )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_image_surface_get_height()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_image_surface_get_format
cairo_image_surface_get_stride
Funciones de Cairo


cairo_image_surface_get_height
cairo_image_surface_get_width
Funciones de Cairo
PHP Manual

cairo_image_surface_get_stride

(PECL cairo >= 0.1.0)

cairo_image_surface_get_stride — Descripción

Descripción

int cairo_image_surface_get_stride ( CairoImageSurface $surface )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_image_surface_get_stride()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_image_surface_get_height
cairo_image_surface_get_width
Funciones de Cairo


cairo_image_surface_get_stride
cairo_matrix_create_scale
Funciones de Cairo
PHP Manual

cairo_image_surface_get_width

(PECL cairo >= 0.1.0)

cairo_image_surface_get_width — Descripción

Descripción

int cairo_image_surface_get_width ( CairoImageSurface $surface )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_image_surface_get_width()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_image_surface_get_stride
cairo_matrix_create_scale
Funciones de Cairo


Alias de CairoMatrix::initScale

cairo_image_surface_get_width
cairo_matrix_create_translate
Funciones de Cairo
PHP Manual

cairo_matrix_create_scale

(PECL cairo >= 0.1.0)

cairo_matrix_create_scale — Alias de CairoMatrix::initScale()

Descripción

Esta función es un alias de: CairoMatrix::initScale().

Esta función alias está obsoleta y sólo existe por razones de compatibilidad con versiones anteriores. El uso de esta función no es recomendado, y puede ser eliminado de PHP en futuras versiones.

cairo_image_surface_get_width
cairo_matrix_create_translate
Funciones de Cairo


Alias de CairoMatrix::initTranslate

cairo_matrix_create_scale
cairo_matrix_invert
Funciones de Cairo
PHP Manual

cairo_matrix_create_translate

(PECL cairo >= 0.1.0)

cairo_matrix_create_translate — Alias de CairoMatrix::initTranslate()

Descripción

Esta función es un alias de: CairoMatrix::initTranslate().

Esta función alias está obsoleta y sólo existe por razones de compatibilidad con versiones anteriores. El uso de esta función no es recomendado, y puede ser eliminado de PHP en futuras versiones.

cairo_matrix_create_scale
cairo_matrix_invert
Funciones de Cairo


cairo_matrix_create_translate
cairo_matrix_multiply
Funciones de Cairo
PHP Manual

cairo_matrix_invert

(PECL cairo >= 0.1.0)

cairo_matrix_invert — Descripción

Descripción

void cairo_matrix_invert ( CairoMatrix $matrix )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

matrix

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_matrix_invert()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_matrix_create_translate
cairo_matrix_multiply
Funciones de Cairo


cairo_matrix_invert
cairo_matrix_rotate
Funciones de Cairo
PHP Manual

cairo_matrix_multiply

(PECL cairo >= 0.1.0)

cairo_matrix_multiply — Descripción

Descripción

CairoMatrix cairo_matrix_multiply ( CairoMatrix $matrix1 , CairoMatrix $matrix2 )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

matrix1

Descripción...

matrix2

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_matrix_multiply()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_matrix_invert
cairo_matrix_rotate
Funciones de Cairo


cairo_matrix_multiply
cairo_matrix_transform_distance
Funciones de Cairo
PHP Manual

cairo_matrix_rotate

(PECL cairo >= 0.1.0)

cairo_matrix_rotate — Descripción

Descripción

void cairo_matrix_rotate ( CairoMatrix $matrix , float $radians )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

matrix

Descripción...

radians

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_matrix_rotate()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_matrix_multiply
cairo_matrix_transform_distance
Funciones de Cairo


cairo_matrix_rotate
cairo_matrix_transform_point
Funciones de Cairo
PHP Manual

cairo_matrix_transform_distance

(PECL cairo >= 0.1.0)

cairo_matrix_transform_distance — Descripción

Descripción

array cairo_matrix_transform_distance ( CairoMatrix $matrix , float $dx , float $dy )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

matrix

Descripción...

dx

Descripción...

dy

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_matrix_transform_distance()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_matrix_rotate
cairo_matrix_transform_point
Funciones de Cairo


cairo_matrix_transform_distance
cairo_matrix_translate
Funciones de Cairo
PHP Manual

cairo_matrix_transform_point

(PECL cairo >= 0.1.0)

cairo_matrix_transform_point — Descripción

Descripción

array cairo_matrix_transform_point ( CairoMatrix $matrix , float $dx , float $dy )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

matrix

Descripción...

dx

Descripción...

dy

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_matrix_transform_point()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_matrix_transform_distance
cairo_matrix_translate
Funciones de Cairo


cairo_matrix_transform_point
cairo_pattern_add_color_stop_rgb
Funciones de Cairo
PHP Manual

cairo_matrix_translate

(PECL cairo >= 0.1.0)

cairo_matrix_translate — Descripción

Descripción

void cairo_matrix_translate ( CairoMatrix $matrix , float $tx , float $ty )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

matrix

Descripción...

tx

Descripción...

ty

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_matrix_translate()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_matrix_transform_point
cairo_pattern_add_color_stop_rgb
Funciones de Cairo


cairo_matrix_translate
cairo_pattern_add_color_stop_rgba
Funciones de Cairo
PHP Manual

cairo_pattern_add_color_stop_rgb

(PECL cairo >= 0.1.0)

cairo_pattern_add_color_stop_rgb — Descripción

Descripción

void cairo_pattern_add_color_stop_rgb ( CairoGradientPattern $pattern , float $offset , float $red , float $green , float $blue )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

pattern

Descripción...

offset

Descripción...

red

Descripción...

green

Descripción...

blue

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_pattern_add_color_stop_rgb()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_matrix_translate
cairo_pattern_add_color_stop_rgba
Funciones de Cairo


cairo_pattern_add_color_stop_rgb
cairo_pattern_create_for_surface
Funciones de Cairo
PHP Manual

cairo_pattern_add_color_stop_rgba

(PECL cairo >= 0.1.0)

cairo_pattern_add_color_stop_rgba — Descripción

Descripción

void cairo_pattern_add_color_stop_rgba ( CairoGradientPattern $pattern , float $offset , float $red , float $green , float $blue , float $alpha )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

pattern

Descripción...

offset

Descripción...

red

Descripción...

green

Descripción...

blue

Descripción...

alpha

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_pattern_add_color_stop_rgba()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_pattern_add_color_stop_rgb
cairo_pattern_create_for_surface
Funciones de Cairo


cairo_pattern_add_color_stop_rgba
cairo_pattern_create_linear
Funciones de Cairo
PHP Manual

cairo_pattern_create_for_surface

(PECL cairo >= 0.1.0)

cairo_pattern_create_for_surface — Descripción

Descripción

CairoPattern cairo_pattern_create_for_surface ( CairoSurface $surface )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_pattern_create_for_surface()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_pattern_add_color_stop_rgba
cairo_pattern_create_linear
Funciones de Cairo


cairo_pattern_create_for_surface
cairo_pattern_create_radial
Funciones de Cairo
PHP Manual

cairo_pattern_create_linear

(PECL cairo >= 0.1.0)

cairo_pattern_create_linear — Descripción

Descripción

CairoPattern cairo_pattern_create_linear ( float $x0 , float $y0 , float $x1 , float $y1 )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

x0

Descripción...

y0

Descripción...

x1

Descripción...

y1

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_pattern_create_linear()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_pattern_create_for_surface
cairo_pattern_create_radial
Funciones de Cairo


cairo_pattern_create_linear
cairo_pattern_create_rgb
Funciones de Cairo
PHP Manual

cairo_pattern_create_radial

(PECL cairo >= 0.1.0)

cairo_pattern_create_radial — Descripción

Descripción

CairoPattern cairo_pattern_create_radial ( float $x0 , float $y0 , float $r0 , float $x1 , float $y1 , float $r1 )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

x0

Descripción...

y0

Descripción...

r0

Descripción...

x1

Descripción...

y1

Descripción...

r1

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_pattern_create_radial()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_pattern_create_linear
cairo_pattern_create_rgb
Funciones de Cairo


cairo_pattern_create_radial
cairo_pattern_create_rgba
Funciones de Cairo
PHP Manual

cairo_pattern_create_rgb

(PECL cairo >= 0.1.0)

cairo_pattern_create_rgb — Descripción

Descripción

CairoPattern cairo_pattern_create_rgb ( float $red , float $green , float $blue )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

red

Descripción...

green

Descripción...

blue

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_pattern_create_rgb()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_pattern_create_radial
cairo_pattern_create_rgba
Funciones de Cairo


cairo_pattern_create_rgb
cairo_pattern_get_color_stop_count
Funciones de Cairo
PHP Manual

cairo_pattern_create_rgba

(PECL cairo >= 0.1.0)

cairo_pattern_create_rgba — Descripción

Descripción

CairoPattern cairo_pattern_create_rgba ( float $red , float $green , float $blue , float $alpha )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

red

Descripción...

green

Descripción...

blue

Descripción...

alpha

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_pattern_create_rgba()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_pattern_create_rgb
cairo_pattern_get_color_stop_count
Funciones de Cairo


cairo_pattern_create_rgba
cairo_pattern_get_color_stop_rgba
Funciones de Cairo
PHP Manual

cairo_pattern_get_color_stop_count

(PECL cairo >= 0.1.0)

cairo_pattern_get_color_stop_count — Descripción

Descripción

int cairo_pattern_get_color_stop_count ( CairoGradientPattern $pattern )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

pattern

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_pattern_get_color_stop_count()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_pattern_create_rgba
cairo_pattern_get_color_stop_rgba
Funciones de Cairo


cairo_pattern_get_color_stop_count
cairo_pattern_get_extend
Funciones de Cairo
PHP Manual

cairo_pattern_get_color_stop_rgba

(PECL cairo >= 0.1.0)

cairo_pattern_get_color_stop_rgba — Descripción

Descripción

array cairo_pattern_get_color_stop_rgba ( CairoGradientPattern $pattern , int $index )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

pattern

Descripción...

index

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_pattern_get_color_stop_rgba()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_pattern_get_color_stop_count
cairo_pattern_get_extend
Funciones de Cairo


cairo_pattern_get_color_stop_rgba
cairo_pattern_get_filter
Funciones de Cairo
PHP Manual

cairo_pattern_get_extend

(PECL cairo >= 0.1.0)

cairo_pattern_get_extend — Descripción

Descripción

int cairo_pattern_get_extend ( string $pattern )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

pattern

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_pattern_get_extend()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_pattern_get_color_stop_rgba
cairo_pattern_get_filter
Funciones de Cairo


cairo_pattern_get_extend
cairo_pattern_get_linear_points
Funciones de Cairo
PHP Manual

cairo_pattern_get_filter

(PECL cairo >= 0.1.0)

cairo_pattern_get_filter — Descripción

Descripción

int cairo_pattern_get_filter ( CairoSurfacePattern $pattern )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

pattern

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_pattern_get_filter()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_pattern_get_extend
cairo_pattern_get_linear_points
Funciones de Cairo


cairo_pattern_get_filter
cairo_pattern_get_matrix
Funciones de Cairo
PHP Manual

cairo_pattern_get_linear_points

(PECL cairo >= 0.1.0)

cairo_pattern_get_linear_points — Descripción

Descripción

array cairo_pattern_get_linear_points ( CairoLinearGradient $pattern )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

pattern

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_pattern_get_linear_points()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_pattern_get_filter
cairo_pattern_get_matrix
Funciones de Cairo


cairo_pattern_get_linear_points
cairo_pattern_get_radial_circles
Funciones de Cairo
PHP Manual

cairo_pattern_get_matrix

(PECL cairo >= 0.1.0)

cairo_pattern_get_matrix — Descripción

Descripción

CairoMatrix cairo_pattern_get_matrix ( CairoPattern $pattern )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

pattern

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_pattern_get_matrix()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_pattern_get_linear_points
cairo_pattern_get_radial_circles
Funciones de Cairo


cairo_pattern_get_matrix
cairo_pattern_get_rgba
Funciones de Cairo
PHP Manual

cairo_pattern_get_radial_circles

(PECL cairo >= 0.1.0)

cairo_pattern_get_radial_circles — Descripción

Descripción

array cairo_pattern_get_radial_circles ( CairoRadialGradient $pattern )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

pattern

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_pattern_get_radial_circles()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_pattern_get_matrix
cairo_pattern_get_rgba
Funciones de Cairo


cairo_pattern_get_radial_circles
cairo_pattern_get_surface
Funciones de Cairo
PHP Manual

cairo_pattern_get_rgba

(PECL cairo >= 0.1.0)

cairo_pattern_get_rgba — Descripción

Descripción

array cairo_pattern_get_rgba ( CairoSolidPattern $pattern )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

pattern

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_pattern_get_rgba()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_pattern_get_radial_circles
cairo_pattern_get_surface
Funciones de Cairo


cairo_pattern_get_rgba
cairo_pattern_get_type
Funciones de Cairo
PHP Manual

cairo_pattern_get_surface

(PECL cairo >= 0.1.0)

cairo_pattern_get_surface — Descripción

Descripción

CairoSurface cairo_pattern_get_surface ( CairoSurfacePattern $pattern )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

pattern

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_pattern_get_surface()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_pattern_get_rgba
cairo_pattern_get_type
Funciones de Cairo


cairo_pattern_get_surface
cairo_pattern_set_extend
Funciones de Cairo
PHP Manual

cairo_pattern_get_type

(PECL cairo >= 0.1.0)

cairo_pattern_get_type — Descripción

Descripción

int cairo_pattern_get_type ( CairoPattern $pattern )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

pattern

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_pattern_get_type()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_pattern_get_surface
cairo_pattern_set_extend
Funciones de Cairo


cairo_pattern_get_type
cairo_pattern_set_filter
Funciones de Cairo
PHP Manual

cairo_pattern_set_extend

(PECL cairo >= 0.1.0)

cairo_pattern_set_extend — Descripción

Descripción

void cairo_pattern_set_extend ( string $pattern , string $extend )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

pattern

Descripción...

extend

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_pattern_set_extend()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_pattern_get_type
cairo_pattern_set_filter
Funciones de Cairo


cairo_pattern_set_extend
cairo_pattern_set_matrix
Funciones de Cairo
PHP Manual

cairo_pattern_set_filter

(PECL cairo >= 0.1.0)

cairo_pattern_set_filter — Descripción

Descripción

void cairo_pattern_set_filter ( CairoSurfacePattern $pattern , int $filter )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

pattern

Descripción...

filter

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_pattern_set_filter()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_pattern_set_extend
cairo_pattern_set_matrix
Funciones de Cairo


cairo_pattern_set_filter
cairo_pattern_status
Funciones de Cairo
PHP Manual

cairo_pattern_set_matrix

(PECL cairo >= 0.1.0)

cairo_pattern_set_matrix — Descripción

Descripción

void cairo_pattern_set_matrix ( CairoPattern $pattern , CairoMatrix $matrix )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

pattern

Descripción...

matrix

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_pattern_set_matrix()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_pattern_set_filter
cairo_pattern_status
Funciones de Cairo


cairo_pattern_set_matrix
cairo_pdf_surface_create
Funciones de Cairo
PHP Manual

cairo_pattern_status

(PECL cairo >= 0.1.0)

cairo_pattern_status — Descripción

Descripción

int cairo_pattern_status ( CairoPattern $pattern )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

pattern

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_pattern_status()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_pattern_set_matrix
cairo_pdf_surface_create
Funciones de Cairo


cairo_pattern_status
cairo_pdf_surface_set_size
Funciones de Cairo
PHP Manual

cairo_pdf_surface_create

(PECL cairo >= 0.1.0)

cairo_pdf_surface_create — Descripción

Descripción

CairoPdfSurface cairo_pdf_surface_create ( string $file , float $width , float $height )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

file

Descripción...

width

Descripción...

height

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_pdf_surface_create()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_pattern_status
cairo_pdf_surface_set_size
Funciones de Cairo


cairo_pdf_surface_create
cairo_ps_get_levels
Funciones de Cairo
PHP Manual

cairo_pdf_surface_set_size

(PECL cairo >= 0.1.0)

cairo_pdf_surface_set_size — Descripción

Descripción

void cairo_pdf_surface_set_size ( CairoPdfSurface $surface , float $width , float $height )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

width

Descripción...

height

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_pdf_surface_set_size()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_pdf_surface_create
cairo_ps_get_levels
Funciones de Cairo


cairo_pdf_surface_set_size
cairo_ps_level_to_string
Funciones de Cairo
PHP Manual

cairo_ps_get_levels

(PECL cairo >= 0.1.0)

cairo_ps_get_levels — Descripción

Descripción

array cairo_ps_get_levels ( void )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_ps_get_levels()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_pdf_surface_set_size
cairo_ps_level_to_string
Funciones de Cairo


cairo_ps_get_levels
cairo_ps_surface_create
Funciones de Cairo
PHP Manual

cairo_ps_level_to_string

(PECL cairo >= 0.1.0)

cairo_ps_level_to_string — Descripción

Descripción

string cairo_ps_level_to_string ( int $level )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

level

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_ps_level_to_string()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_ps_get_levels
cairo_ps_surface_create
Funciones de Cairo


cairo_ps_level_to_string
cairo_ps_surface_dsc_begin_page_setup
Funciones de Cairo
PHP Manual

cairo_ps_surface_create

(PECL cairo >= 0.1.0)

cairo_ps_surface_create — Descripción

Descripción

CairoPsSurface cairo_ps_surface_create ( string $file , float $width , float $height )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

file

Descripción...

width

Descripción...

height

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_ps_surface_create()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_ps_level_to_string
cairo_ps_surface_dsc_begin_page_setup
Funciones de Cairo


cairo_ps_surface_create
cairo_ps_surface_dsc_begin_setup
Funciones de Cairo
PHP Manual

cairo_ps_surface_dsc_begin_page_setup

(PECL cairo >= 0.1.0)

cairo_ps_surface_dsc_begin_page_setup — Descripción

Descripción

void cairo_ps_surface_dsc_begin_page_setup ( CairoPsSurface $surface )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_ps_surface_dsc_begin_page_setup()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_ps_surface_create
cairo_ps_surface_dsc_begin_setup
Funciones de Cairo


cairo_ps_surface_dsc_begin_page_setup
cairo_ps_surface_dsc_comment
Funciones de Cairo
PHP Manual

cairo_ps_surface_dsc_begin_setup

(PECL cairo >= 0.1.0)

cairo_ps_surface_dsc_begin_setup — Descripción

Descripción

void cairo_ps_surface_dsc_begin_setup ( CairoPsSurface $surface )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_ps_surface_dsc_begin_setup()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_ps_surface_dsc_begin_page_setup
cairo_ps_surface_dsc_comment
Funciones de Cairo


cairo_ps_surface_dsc_begin_setup
cairo_ps_surface_get_eps
Funciones de Cairo
PHP Manual

cairo_ps_surface_dsc_comment

(PECL cairo >= 0.1.0)

cairo_ps_surface_dsc_comment — Descripción

Descripción

void cairo_ps_surface_dsc_comment ( CairoPsSurface $surface , string $comment )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

comment

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_ps_surface_dsc_comment()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_ps_surface_dsc_begin_setup
cairo_ps_surface_get_eps
Funciones de Cairo


cairo_ps_surface_dsc_comment
cairo_ps_surface_restrict_to_level
Funciones de Cairo
PHP Manual

cairo_ps_surface_get_eps

(PECL cairo >= 0.1.0)

cairo_ps_surface_get_eps — Descripción

Descripción

bool cairo_ps_surface_get_eps ( CairoPsSurface $surface )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_ps_surface_get_eps()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_ps_surface_dsc_comment
cairo_ps_surface_restrict_to_level
Funciones de Cairo


cairo_ps_surface_get_eps
cairo_ps_surface_set_eps
Funciones de Cairo
PHP Manual

cairo_ps_surface_restrict_to_level

(PECL cairo >= 0.1.0)

cairo_ps_surface_restrict_to_level — Descripción

Descripción

void cairo_ps_surface_restrict_to_level ( CairoPsSurface $surface , int $level )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

level

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_ps_surface_restrict_to_level()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_ps_surface_get_eps
cairo_ps_surface_set_eps
Funciones de Cairo


cairo_ps_surface_restrict_to_level
cairo_ps_surface_set_size
Funciones de Cairo
PHP Manual

cairo_ps_surface_set_eps

(PECL cairo >= 0.1.0)

cairo_ps_surface_set_eps — Descripción

Descripción

void cairo_ps_surface_set_eps ( CairoPsSurface $surface , bool $level )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

level

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_ps_surface_set_eps()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_ps_surface_restrict_to_level
cairo_ps_surface_set_size
Funciones de Cairo


cairo_ps_surface_set_eps
cairo_scaled_font_create
Funciones de Cairo
PHP Manual

cairo_ps_surface_set_size

(PECL cairo >= 0.1.0)

cairo_ps_surface_set_size — Descripción

Descripción

void cairo_ps_surface_set_size ( CairoPsSurface $surface , float $width , float $height )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

width

Descripción...

height

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_ps_surface_set_size()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_ps_surface_set_eps
cairo_scaled_font_create
Funciones de Cairo


cairo_ps_surface_set_size
cairo_scaled_font_extents
Funciones de Cairo
PHP Manual

cairo_scaled_font_create

(PECL cairo >= 0.1.0)

cairo_scaled_font_create — Descripción

Descripción

CairoScaledFont cairo_scaled_font_create ( CairoFontFace $fontface , CairoMatrix $matrix , CairoMatrix $ctm , CairoFontOptions $fontoptions )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

fontface

Descripción...

matrix

Descripción...

ctm

Descripción...

fontoptions

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_scaled_font_create()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_ps_surface_set_size
cairo_scaled_font_extents
Funciones de Cairo


cairo_scaled_font_create
cairo_scaled_font_get_ctm
Funciones de Cairo
PHP Manual

cairo_scaled_font_extents

(PECL cairo >= 0.1.0)

cairo_scaled_font_extents — Descripción

Descripción

array cairo_scaled_font_extents ( CairoScaledFont $scaledfont )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

scaledfont

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_scaled_font_extents()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_scaled_font_create
cairo_scaled_font_get_ctm
Funciones de Cairo


cairo_scaled_font_extents
cairo_scaled_font_get_font_face
Funciones de Cairo
PHP Manual

cairo_scaled_font_get_ctm

(PECL cairo >= 0.1.0)

cairo_scaled_font_get_ctm — Descripción

Descripción

CairoMatrix cairo_scaled_font_get_ctm ( CairoScaledFont $scaledfont )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

scaledfont

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_scaled_font_get_ctm()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_scaled_font_extents
cairo_scaled_font_get_font_face
Funciones de Cairo


cairo_scaled_font_get_ctm
cairo_scaled_font_get_font_matrix
Funciones de Cairo
PHP Manual

cairo_scaled_font_get_font_face

(PECL cairo >= 0.1.0)

cairo_scaled_font_get_font_face — Descripción

Descripción

CairoFontFace cairo_scaled_font_get_font_face ( CairoScaledFont $scaledfont )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

scaledfont

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_scaled_font_get_font_face()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_scaled_font_get_ctm
cairo_scaled_font_get_font_matrix
Funciones de Cairo


cairo_scaled_font_get_font_face
cairo_scaled_font_get_font_options
Funciones de Cairo
PHP Manual

cairo_scaled_font_get_font_matrix

(PECL cairo >= 0.1.0)

cairo_scaled_font_get_font_matrix — Descripción

Descripción

CairoFontOptions cairo_scaled_font_get_font_matrix ( CairoScaledFont $scaledfont )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

scaledfont

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_scaled_font_get_font_matrix()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_scaled_font_get_font_face
cairo_scaled_font_get_font_options
Funciones de Cairo


cairo_scaled_font_get_font_matrix
cairo_scaled_font_get_scale_matrix
Funciones de Cairo
PHP Manual

cairo_scaled_font_get_font_options

(PECL cairo >= 0.1.0)

cairo_scaled_font_get_font_options — Descripción

Descripción

CairoFontOptions cairo_scaled_font_get_font_options ( CairoScaledFont $scaledfont )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

scaledfont

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_scaled_font_get_font_options()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_scaled_font_get_font_matrix
cairo_scaled_font_get_scale_matrix
Funciones de Cairo


cairo_scaled_font_get_font_options
cairo_scaled_font_get_type
Funciones de Cairo
PHP Manual

cairo_scaled_font_get_scale_matrix

(PECL cairo >= 0.1.0)

cairo_scaled_font_get_scale_matrix — Descripción

Descripción

CairoMatrix cairo_scaled_font_get_scale_matrix ( CairoScaledFont $scaledfont )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

scaledfont

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_scaled_font_get_scale_matrix()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_scaled_font_get_font_options
cairo_scaled_font_get_type
Funciones de Cairo


cairo_scaled_font_get_scale_matrix
cairo_scaled_font_glyph_extents
Funciones de Cairo
PHP Manual

cairo_scaled_font_get_type

(PECL cairo >= 0.1.0)

cairo_scaled_font_get_type — Descripción

Descripción

int cairo_scaled_font_get_type ( CairoScaledFont $scaledfont )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

scaledfont

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_scaled_font_get_type()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_scaled_font_get_scale_matrix
cairo_scaled_font_glyph_extents
Funciones de Cairo


cairo_scaled_font_get_type
cairo_scaled_font_status
Funciones de Cairo
PHP Manual

cairo_scaled_font_glyph_extents

(PECL cairo >= 0.1.0)

cairo_scaled_font_glyph_extents — Descripción

Descripción

array cairo_scaled_font_glyph_extents ( CairoScaledFont $scaledfont , array $glyphs )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

scaledfont

Descripción...

glyphs

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_scaled_font_glyph_extents()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_scaled_font_get_type
cairo_scaled_font_status
Funciones de Cairo


cairo_scaled_font_glyph_extents
cairo_scaled_font_text_extents
Funciones de Cairo
PHP Manual

cairo_scaled_font_status

(PECL cairo >= 0.1.0)

cairo_scaled_font_status — Descripción

Descripción

int cairo_scaled_font_status ( CairoScaledFont $scaledfont )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

scaledfont

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_scaled_font_status()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_scaled_font_glyph_extents
cairo_scaled_font_text_extents
Funciones de Cairo


cairo_scaled_font_status
cairo_surface_copy_page
Funciones de Cairo
PHP Manual

cairo_scaled_font_text_extents

(PECL cairo >= 0.1.0)

cairo_scaled_font_text_extents — Descripción

Descripción

array cairo_scaled_font_text_extents ( CairoScaledFont $scaledfont , string $text )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

scaledfont

Descripción...

text

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_scaled_font_text_extents()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_scaled_font_status
cairo_surface_copy_page
Funciones de Cairo


cairo_scaled_font_text_extents
cairo_surface_create_similar
Funciones de Cairo
PHP Manual

cairo_surface_copy_page

(PECL cairo >= 0.1.0)

cairo_surface_copy_page — Descripción

Descripción

void cairo_surface_copy_page ( CairoSurface $surface )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_surface_copy_page()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_scaled_font_text_extents
cairo_surface_create_similar
Funciones de Cairo


cairo_surface_copy_page
cairo_surface_finish
Funciones de Cairo
PHP Manual

cairo_surface_create_similar

(PECL cairo >= 0.1.0)

cairo_surface_create_similar — Descripción

Descripción

CairoSurface cairo_surface_create_similar ( CairoSurface $surface , int $content , float $width , float $height )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

content

Descripción...

width

Descripción...

height

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_surface_create_similar()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_surface_copy_page
cairo_surface_finish
Funciones de Cairo


cairo_surface_create_similar
cairo_surface_flush
Funciones de Cairo
PHP Manual

cairo_surface_finish

(PECL cairo >= 0.1.0)

cairo_surface_finish — Descripción

Descripción

void cairo_surface_finish ( CairoSurface $surface )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_surface_finish()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_surface_create_similar
cairo_surface_flush
Funciones de Cairo


cairo_surface_finish
cairo_surface_get_content
Funciones de Cairo
PHP Manual

cairo_surface_flush

(PECL cairo >= 0.1.0)

cairo_surface_flush — Descripción

Descripción

void cairo_surface_flush ( CairoSurface $surface )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_surface_flush()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_surface_finish
cairo_surface_get_content
Funciones de Cairo


cairo_surface_flush
cairo_surface_get_device_offset
Funciones de Cairo
PHP Manual

cairo_surface_get_content

(PECL cairo >= 0.1.0)

cairo_surface_get_content — Descripción

Descripción

int cairo_surface_get_content ( CairoSurface $surface )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_surface_get_content()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_surface_flush
cairo_surface_get_device_offset
Funciones de Cairo


cairo_surface_get_content
cairo_surface_get_font_options
Funciones de Cairo
PHP Manual

cairo_surface_get_device_offset

(PECL cairo >= 0.1.0)

cairo_surface_get_device_offset — Descripción

Descripción

array cairo_surface_get_device_offset ( CairoSurface $surface )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_surface_get_device_offset()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_surface_get_content
cairo_surface_get_font_options
Funciones de Cairo


cairo_surface_get_device_offset
cairo_surface_get_type
Funciones de Cairo
PHP Manual

cairo_surface_get_font_options

(PECL cairo >= 0.1.0)

cairo_surface_get_font_options — Descripción

Descripción

CairoFontOptions cairo_surface_get_font_options ( CairoSurface $surface )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_surface_get_font_options()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_surface_get_device_offset
cairo_surface_get_type
Funciones de Cairo


cairo_surface_get_font_options
cairo_surface_mark_dirty_rectangle
Funciones de Cairo
PHP Manual

cairo_surface_get_type

(PECL cairo >= 0.1.0)

cairo_surface_get_type — Descripción

Descripción

int cairo_surface_get_type ( CairoSurface $surface )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_surface_get_type()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_surface_get_font_options
cairo_surface_mark_dirty_rectangle
Funciones de Cairo


cairo_surface_get_type
cairo_surface_mark_dirty
Funciones de Cairo
PHP Manual

cairo_surface_mark_dirty_rectangle

(PECL cairo >= 0.1.0)

cairo_surface_mark_dirty_rectangle — Descripción

Descripción

void cairo_surface_mark_dirty_rectangle ( CairoSurface $surface , float $x , float $y , float $width , float $height )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

x

Descripción...

y

Descripción...

width

Descripción...

height

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_surface_mark_dirty_rectangle()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_surface_get_type
cairo_surface_mark_dirty
Funciones de Cairo


cairo_surface_mark_dirty_rectangle
cairo_surface_set_device_offset
Funciones de Cairo
PHP Manual

cairo_surface_mark_dirty

(PECL cairo >= 0.1.0)

cairo_surface_mark_dirty — Descripción

Descripción

void cairo_surface_mark_dirty ( CairoSurface $surface )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_surface_mark_dirty()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_surface_mark_dirty_rectangle
cairo_surface_set_device_offset
Funciones de Cairo


cairo_surface_mark_dirty
cairo_surface_set_fallback_resolution
Funciones de Cairo
PHP Manual

cairo_surface_set_device_offset

(PECL cairo >= 0.1.0)

cairo_surface_set_device_offset — Descripción

Descripción

void cairo_surface_set_device_offset ( CairoSurface $surface , float $x , float $y )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

x

Descripción...

y

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_surface_set_device_offset()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_surface_mark_dirty
cairo_surface_set_fallback_resolution
Funciones de Cairo


cairo_surface_set_device_offset
cairo_surface_show_page
Funciones de Cairo
PHP Manual

cairo_surface_set_fallback_resolution

(PECL cairo >= 0.1.0)

cairo_surface_set_fallback_resolution — Descripción

Descripción

void cairo_surface_set_fallback_resolution ( CairoSurface $surface , float $x , float $y )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

x

Descripción...

y

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_surface_set_fallback_resolution()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_surface_set_device_offset
cairo_surface_show_page
Funciones de Cairo


cairo_surface_set_fallback_resolution
cairo_surface_status
Funciones de Cairo
PHP Manual

cairo_surface_show_page

(PECL cairo >= 0.1.0)

cairo_surface_show_page — Descripción

Descripción

void cairo_surface_show_page ( CairoSurface $surface )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_surface_show_page()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_surface_set_fallback_resolution
cairo_surface_status
Funciones de Cairo


cairo_surface_show_page
cairo_surface_write_to_png
Funciones de Cairo
PHP Manual

cairo_surface_status

(PECL cairo >= 0.1.0)

cairo_surface_status — Descripción

Descripción

int cairo_surface_status ( CairoSurface $surface )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_surface_status()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_surface_show_page
cairo_surface_write_to_png
Funciones de Cairo


cairo_surface_status
cairo_svg_surface_create
Funciones de Cairo
PHP Manual

cairo_surface_write_to_png

(PECL cairo >= 0.1.0)

cairo_surface_write_to_png — Descripción

Descripción

void cairo_surface_write_to_png ( CairoSurface $surface , resource $stream )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

stream

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_surface_write_to_png()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_surface_status
cairo_svg_surface_create
Funciones de Cairo


cairo_surface_write_to_png
cairo_svg_surface_restrict_to_version
Funciones de Cairo
PHP Manual

cairo_svg_surface_create

(PECL cairo >= 0.1.0)

cairo_svg_surface_create — Descripción

Descripción

CairoSvgSurface cairo_svg_surface_create ( string $file , float $width , float $height )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

file

Descripción...

width

Descripción...

height

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_svg_surface_create()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_surface_write_to_png
cairo_svg_surface_restrict_to_version
Funciones de Cairo


cairo_svg_surface_create
cairo_svg_version_to_string
Funciones de Cairo
PHP Manual

cairo_svg_surface_restrict_to_version

(PECL cairo >= 0.1.0)

cairo_svg_surface_restrict_to_version — Descripción

Descripción

void cairo_svg_surface_restrict_to_version ( CairoSvgSurface $surface , int $version )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

version

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_svg_surface_restrict_to_version()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_svg_surface_create
cairo_svg_version_to_string
Funciones de Cairo


cairo_svg_surface_restrict_to_version
Cairo
Funciones de Cairo
PHP Manual

cairo_svg_version_to_string

(PECL cairo >= 0.1.0)

cairo_svg_version_to_string — Descripción

Descripción

string cairo_svg_version_to_string ( int $version )

La Descripción de la función va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

version

Descripción...

Valores devueltos

Qué es devuelto si se tuvo éxito y si falló

Errores/Excepciones

Lo que hace esta función cuando emite errores de nivel E_*, y/o lanza excepciones.

Ejemplos

Ejemplo #1 Ejemplo de cairo_svg_version_to_string()

Cualquier texto que describe el propósito del ejemplo, o qué sucede en el ejemplo debería ir aquí.

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • nombre de la función relacionada aquí()

cairo_svg_surface_restrict_to_version
Cairo
Funciones de Cairo


La Clase Cairo

(PECL cairo >= 0.1.0)

Introducción

Clase simple con algunos métodos de ayuda estáticos.

Sinopsis de la Clase

Cairo {
/* Métodos */
public static array availableFonts ( void )
public static array availableSurfaces ( void )
public static string statusToString ( int $status )
public static int version ( void )
public static string versionString ( void )
}

Tabla de contenidos

  • Cairo::availableFonts — Recupera los tipos de fuente disponibles
  • Cairo::availableSurfaces — Recupera todas las superficies disponibles
  • Cairo::statusToString — Recupera el estado acutal como cadena
  • Cairo::version — Recupera la versión de la biblioteca cairo
  • Cairo::versionString — Recupera la versión de cairo como cadena
cairo_svg_version_to_string
Cairo::availableFonts
Cairo


Recupera los tipos de fuente disponibles

Cairo
Cairo::availableSurfaces
Cairo
PHP Manual

Cairo::availableFonts

cairo_available_fonts

(PECL cairo >= 0.1.0)

Cairo::availableFonts -- cairo_available_fonts — Recupera los tipos de fuente disponibles

Descripción

Estilo orientado a objetos:

public static array Cairo::availableFonts ( void )

Estilo por procedimientos:

array cairo_available_fonts ( void )

Devuelve un array con los entornos de fuentes disponibles

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Una matriz tipo lista con todos los entornos de fuentes disponibles.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

/* Estilo orientado a objetos */
var_dump(Cairo::availableFonts());

?>

El resultado del ejemplo sería algo similar a:

array(2) {
  [0]=>
  string(5) "WIN32"
  [1]=>
  string(4) "USER"
}

Ejemplo #2 Estilo por procedimientos

<?php

/* Estilo procedural */
var_dump(cairo_available_fonts());

?>

El resultado del ejemplo sería algo similar a:

array(2) {
  [0]=>
  string(5) "WIN32"
  [1]=>
  string(4) "USER"
}

Ver también

  • Cairo::availableSurfaces() - Recupera todas las superficies disponibles

Cairo
Cairo::availableSurfaces
Cairo


Recupera todas las superficies disponibles

Cairo::availableFonts
Cairo::statusToString
Cairo
PHP Manual

Cairo::availableSurfaces

cairo_available_surfaces

(PECL cairo >= 0.1.0)

Cairo::availableSurfaces -- cairo_available_surfaces — Recupera todas las superficies disponibles

Descripción

Estilo orientado a objetos (método):

public static array Cairo::availableSurfaces ( void )

Estilo por procedimientos:

array cairo_available_surfaces ( void )

Devuelve una matriz con los entornos de superficies disponibles

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Una matriz estilo lista con todos los entornos de superficie disponibles.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

/* Estilo orientado a objetos */
var_dump(Cairo::availableSurfaces());

?>

El resultado del ejemplo sería algo similar a:

array(6) {
  [0]=>
  string(5) "IMAGE"
  [1]=>
  string(3) "PNG"
  [2]=>
  string(3) "PDF"
  [3]=>
  string(2) "PS"
  [4]=>
  string(3) "SVG"
  [5]=>
  string(5) "WIN32"
}

Ejemplo #2 Estilo por procedimientos

<?php

/* Estilo procedural */
var_dump(cairo_available_surfaces());

?>

El resultado del ejemplo sería algo similar a:

array(6) {
  [0]=>
  string(5) "IMAGE"
  [1]=>
  string(3) "PNG"
  [2]=>
  string(3) "PDF"
  [3]=>
  string(2) "PS"
  [4]=>
  string(3) "SVG"
  [5]=>
  string(5) "WIN32"
}

Ver también

  • Cairo::availableFonts() - Recupera los tipos de fuente disponibles

Cairo::availableFonts
Cairo::statusToString
Cairo


Recupera el estado acutal como cadena

Cairo::availableSurfaces
Cairo::version
Cairo
PHP Manual

Cairo::statusToString

cairo_status_to_string

(PECL cairo >= 0.1.0)

Cairo::statusToString -- cairo_status_to_string — Recupera el estado acutal como cadena

Descripción

Estilo orientado a objetos (método):

public static string Cairo::statusToString ( int $status )

Estilo por procedimientos:

string cairo_status_to_string ( int $status )

Recupera el estado actual como una cadena legible

Parámetros

status

Un código de estado válido dado por cairo_status() o CairoContext::status()

Valores devueltos

Una cadena que contiene el estado actual de un objeto CairoContext

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$superficie = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);
$contexto = new CairoContext($superficie);

var_dump(Cairo::statusToString($contexto->status()));
?>

El resultado del ejemplo sería algo similar a:

string(7) "success"

Ejemplo #2 Estilo por procedimientos

<?php
$superficie = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);
$contexto = cairo_create($superficie);

var_dump(cairo_status_to_string(cairo_status($contexto)));
?>

El resultado del ejemplo sería algo similar a:

string(7) "success"

Ver también

  • CairoContext::status() - El propósito de status

Cairo::availableSurfaces
Cairo::version
Cairo


Recupera la versión de la biblioteca cairo

Cairo::statusToString
Cairo::versionString
Cairo
PHP Manual

Cairo::version

cairo_version

(PECL cairo >= 0.1.0)

Cairo::version -- cairo_version — Recupera la versión de la biblioteca cairo

Descripción

Estilo orientado a objetos (método):

public static int Cairo::version ( void )

Estilo por procedimientos:

int cairo_version ( void )

Recupera la versión actual de la biblioteca cairo como un valor entero

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Valor entero de la versión de la biblioteca Cairo

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
var_dump(Cairo::version());
?>

El resultado del ejemplo sería algo similar a:

int(10808)

Ejemplo #2 Estilo por procedimientos

<?php
var_dump(cairo_version());
?>

El resultado del ejemplo sería algo similar a:

int(10808)

Ver también

  • Cairo::versionString() - Recupera la versión de cairo como cadena

Cairo::statusToString
Cairo::versionString
Cairo


Recupera la versión de cairo como cadena

Cairo::version
CairoContext
Cairo
PHP Manual

Cairo::versionString

cairo_version_string

(PECL cairo >= 0.1.0)

Cairo::versionString -- cairo_version_string — Recupera la versión de cairo como cadena

Descripción

Estilo orientado a objetos (método):

public static string Cairo::versionString ( void )

Estilo por procedimientos:

string cairo_version_string ( void )

Recupera la versión de la biblioteca cairo como una cadena.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Cadena de la versión actual de la biblioteca Cairo

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

var_dump(Cairo::versionString());

?>

El resultado del ejemplo sería algo similar a:

string(5) "1.8.8"

Ejemplo #2 Estilo por procedimientos

<?php

var_dump(cairo_version_string());

?>

El resultado del ejemplo sería algo similar a:

string(5) "1.8.8"

Ver también

  • Cairo::version() - Recupera la versión de la biblioteca cairo

Cairo::version
CairoContext
Cairo


La clase CairoContext

(PECL cairo >= 0.1.0)

Introducción

Context (contexto) es el objeto principal usado cuando se dibuja con cairo. Para dibular con cairo, se crea un CairoContext, se establece el CairoSurface objetivo, y las opciones de dibujo para el CairoContext, se crean formas con funciones, como CairoContext::moveTo() y CairoContext::lineTo(), y despúes se dibujan formas con CairoContext::stroke() o CairoContext::fill(). Los contextos de pueden intorducir en una pila mediante CairoContext::save(). Entonces se pueden cambiar de forma segura, sin perder el estado actual. Use CairoContext::restore() para restaurar el estado guardado.

Sinopsis de la Clase

CairoContext {
/* Métodos */
public void appendPath ( CairoPath $path )
public void arc ( float $x , float $y , float $radius , float $angle1 , float $angle2 )
public void arcNegative ( float $x , float $y , float $radius , float $angle1 , float $angle2 )
public void clip ( void )
public array clipExtents ( void )
public void clipPreserve ( void )
public array clipRectangleList ( void )
public void closePath ( void )
public __construct ( CairoSurface $surface )
public void copyPage ( void )
public CairoPath copyPath ( void )
public CairoPath copyPathFlat ( void )
public void curveTo ( float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )
public array deviceToUser ( float $x , float $y )
public array deviceToUserDistance ( float $x , float $y )
public void fill ( void )
public array fillExtents ( void )
public void fillPreserve ( void )
public array fontExtents ( void )
public int getAntialias ( void )
public array getCurrentPoint ( void )
public array getDash ( void )
public int getDashCount ( void )
public int getFillRule ( void )
public void getFontFace ( void )
public void getFontMatrix ( void )
public void getFontOptions ( void )
public void getGroupTarget ( void )
public int getLineCap ( void )
public int getLineJoin ( void )
public float getLineWidth ( void )
public void getMatrix ( void )
public float getMiterLimit ( void )
public int getOperator ( void )
public void getScaledFont ( void )
public void getSource ( void )
public void getTarget ( void )
public float getTolerance ( void )
public void glyphPath ( array $glyphs )
public bool hasCurrentPoint ( void )
public void identityMatrix ( void )
public bool inFill ( string $x , string $y )
public bool inStroke ( string $x , string $y )
public void lineTo ( string $x , string $y )
public void mask ( string $pattern )
public void maskSurface ( string $surface [, string $x [, string $y ]] )
public void moveTo ( string $x , string $y )
public void newPath ( void )
public void newSubPath ( void )
public void paint ( void )
public void paintWithAlpha ( string $alpha )
public array pathExtents ( void )
public void popGroup ( void )
public void popGroupToSource ( void )
public void pushGroup ( void )
public void pushGroupWithContent ( string $content )
public void rectangle ( string $x , string $y , string $width , string $height )
public void relCurveTo ( string $x1 , string $y1 , string $x2 , string $y2 , string $x3 , string $y3 )
public void relLineTo ( string $x , string $y )
public void relMoveTo ( string $x , string $y )
public void resetClip ( void )
public void restore ( void )
public void rotate ( string $angle )
public void save ( void )
public void scale ( string $x , string $y )
public void selectFontFace ( string $family [, string $slant [, string $weight ]] )
public void setAntialias ([ string $antialias ] )
public void setDash ( string $dashes [, string $offset ] )
public void setFillRule ( string $setting )
public void setFontFace ( CairoFontFace $fontface )
public void setFontMatrix ( string $matrix )
public void setFontOptions ( string $fontoptions )
public void setFontSize ( string $size )
public void setLineCap ( string $setting )
public void setLineJoin ( string $setting )
public void setLineWidth ( string $width )
public void setMatrix ( string $matrix )
public void setMiterLimit ( string $limit )
public void setOperator ( string $setting )
public void setScaledFont ( string $scaledfont )
public void setSource ( string $pattern )
public void setSourceRGB ( string $red , string $green , string $blue )
public void setSourceRGBA ( string $red , string $green , string $blue , string $alpha )
public void setSourceSurface ( string $surface [, string $x [, string $y ]] )
public void setTolerance ( string $tolerance )
public void showPage ( void )
public void showText ( string $text )
public int status ( void )
public void stroke ( void )
public array strokeExtents ( void )
public void strokePreserve ( void )
public array textExtents ( string $text )
public void textPath ( string $string )
public void transform ( string $matrix )
public void translate ( string $x , string $y )
public array userToDevice ( string $x , string $y )
public array userToDeviceDistance ( string $x , string $y )
}

Tabla de contenidos

  • CairoContext::appendPath — Añade un trazado al trazado actual
  • CairoContext::arc — Añade un arco circular
  • CairoContext::arcNegative — Añade un arco negativo
  • CairoContext::clip — Establece una nueva región de recorte
  • CairoContext::clipExtents — Computa el área dentro del recorte actual
  • CairoContext::clipPreserve — Establce una nueva región de recorte desde el recorte actual
  • CairoContext::clipRectangleList — Recupera el recorte actual como una lista de rectángulos
  • CairoContext::closePath — Cierra el trazado actual
  • CairoContext::__construct — Crea un nuevo CairoContext
  • CairoContext::copyPage — Emite la página actual
  • CairoContext::copyPath — Crea una copia del trazado actual
  • CairoContext::copyPathFlat — Obtiene una copia aplanada del trazado actual
  • CairoContext::curveTo — Añade una curva
  • CairoContext::deviceToUser — Transforma una coordenada
  • CairoContext::deviceToUserDistance — Transformar una distancia
  • CairoContext::fill — Rellena el trazado actual
  • CairoContext::fillExtents — Cumputa el área rellenada
  • CairoContext::fillPreserve — Rellena y conserva el trazado actual
  • CairoContext::fontExtents — Obtener el alcance de una fuente
  • CairoContext::getAntialias — Recupera el modo de antialias actual
  • CairoContext::getCurrentPoint — El propósito de getCurrentPoint
  • CairoContext::getDash — El propósito de getDash
  • CairoContext::getDashCount — El propósito de getDashCount
  • CairoContext::getFillRule — El propósito de getFillRule
  • CairoContext::getFontFace — El propósito de getFontFace
  • CairoContext::getFontMatrix — El propósito de getFontMatrix
  • CairoContext::getFontOptions — El propósito de getFontOptions
  • CairoContext::getGroupTarget — El propósito de getGroupTarget
  • CairoContext::getLineCap — El propósito de getLineCap
  • CairoContext::getLineJoin — El propósito de getLineJoin
  • CairoContext::getLineWidth — El propósito de getLineWidth
  • CairoContext::getMatrix — El propósito de getMatrix
  • CairoContext::getMiterLimit — El propósito de getMiterLimit
  • CairoContext::getOperator — El propósito de getOperator
  • CairoContext::getScaledFont — El propósito de getScaledFont
  • CairoContext::getSource — El propósito de getSource
  • CairoContext::getTarget — El propósito de getTarget
  • CairoContext::getTolerance — El propósito de getTolerance
  • CairoContext::glyphPath — El propósito de glyphPath
  • CairoContext::hasCurrentPoint — El propósito de hasCurrentPoint
  • CairoContext::identityMatrix — El propósito de identityMatrix
  • CairoContext::inFill — El propósito de inFill
  • CairoContext::inStroke — El propósito de inStroke
  • CairoContext::lineTo — El propósito de lineTo
  • CairoContext::mask — El propósito de mask
  • CairoContext::maskSurface — El propósito de maskSurface
  • CairoContext::moveTo — El propósito de moveTo
  • CairoContext::newPath — El propósito de newPath
  • CairoContext::newSubPath — El propósito de newSubPath
  • CairoContext::paint — El propósito de paint
  • CairoContext::paintWithAlpha — El propósito de paintWithAlpha
  • CairoContext::pathExtents — El propósito de pathExtents
  • CairoContext::popGroup — El propósito de popGroup
  • CairoContext::popGroupToSource — El propósito de popGroupToSource
  • CairoContext::pushGroup — El propósito de pushGroup
  • CairoContext::pushGroupWithContent — El propósito de pushGroupWithContent
  • CairoContext::rectangle — El propósito de rectangle
  • CairoContext::relCurveTo — El propósito de relCurveTo
  • CairoContext::relLineTo — El propósito de relLineTo
  • CairoContext::relMoveTo — El propósito de relMoveTo
  • CairoContext::resetClip — El propósito de resetClip
  • CairoContext::restore — El propósito de restore
  • CairoContext::rotate — El propósito de rotate
  • CairoContext::save — El propósito de save
  • CairoContext::scale — El propósito de scale
  • CairoContext::selectFontFace — El propósito de selectFontFace
  • CairoContext::setAntialias — El propósito de setAntialias
  • CairoContext::setDash — El propósito de setDash
  • CairoContext::setFillRule — El propósito de setFillRule
  • CairoContext::setFontFace — El propósito de setFontFace
  • CairoContext::setFontMatrix — El propósito de setFontMatrix
  • CairoContext::setFontOptions — El propósito de setFontOptions
  • CairoContext::setFontSize — El propósito de setFontSize
  • CairoContext::setLineCap — El propósito de setLineCap
  • CairoContext::setLineJoin — El propósito de setLineJoin
  • CairoContext::setLineWidth — El propósito de setLineWidth
  • CairoContext::setMatrix — El propósito de setMatrix
  • CairoContext::setMiterLimit — El propósito de setMiterLimit
  • CairoContext::setOperator — El propósito de setOperator
  • CairoContext::setScaledFont — El propósito de setScaledFont
  • CairoContext::setSource — El propósito de setSource
  • CairoContext::setSourceRGB — El propósito de setSourceRGB
  • CairoContext::setSourceRGBA — El propósito de setSourceRGBA
  • CairoContext::setSourceSurface — El propósito de setSourceSurface
  • CairoContext::setTolerance — El propósito de setTolerance
  • CairoContext::showPage — El propósito de showPage
  • CairoContext::showText — El propósito de showText
  • CairoContext::status — El propósito de status
  • CairoContext::stroke — El propósito de stroke
  • CairoContext::strokeExtents — El propósito de strokeExtents
  • CairoContext::strokePreserve — El propósito de strokePreserve
  • CairoContext::textExtents — El propósito de textExtents
  • CairoContext::textPath — El propósito de textPath
  • CairoContext::transform — El propósito de transform
  • CairoContext::translate — El propósito de translate
  • CairoContext::userToDevice — El propósito de userToDevice
  • CairoContext::userToDeviceDistance — El propósito de userToDeviceDistance
Cairo::versionString
CairoContext::appendPath
Cairo


Añade un trazado al trazado actual

CairoContext
CairoContext::arc
CairoContext
PHP Manual

CairoContext::appendPath

cairo_append_path

(PECL cairo >= 0.1.0)

CairoContext::appendPath -- cairo_append_path — Añade un trazado al trazado actual

Descripción

Estilo orientado a objetos (método):

public void CairoContext::appendPath ( CairoPath $path )

Estilo por procedimientos:

void cairo_append_path ( CairoContext $context , CairoPath $path )

Añade un path (trazado) sobre el trazado actual. El path puede ser el valor devuelto desde CairoContext::copyPath() o CairoContext::copyPathFlat();

Si path no es una instancia CairoPath válida se lanzará una excepción CairoException

Parámetros

context

Objeto CairoContext

path

Objeto CairoPath

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

$superficie = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$contexto = new CairoContext($superficie);

$trazado = $contexto->copyPath();

$contexto->appendPath($trazado);

?>

Ejemplo #2 Estilo por procedimientos

<?php

$superficie = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$contexto = cairo_create($superficie);

$trazado = cairo_copy_path($contexto);

cairo_append_path($contexto, $trazado);

?>

Ver también

  • CairoPath
  • CairoContext::copyPath() - Crea una copia del trazado actual
  • CairoContext::copyPathFlat() - Obtiene una copia aplanada del trazado actual

CairoContext
CairoContext::arc
CairoContext


Añade un arco circular

CairoContext::appendPath
CairoContext::arcNegative
CairoContext
PHP Manual

CairoContext::arc

cairo_arc

(PECL cairo >= 0.1.0)

CairoContext::arc -- cairo_arc — Añade un arco circular

Descripción

Estilo orientado a objetos (método):

public void CairoContext::arc ( float $x , float $y , float $radius , float $angle1 , float $angle2 )

Estilo por procedimientos:

void cairo_arc ( CairoContext $context , float $x , float $y , float $radius , float $angle1 , float $angle2 )

Añade un arco circular del radio dado al trazado actual. El arco está centrado en (x, y), comenzando en angle1 y procediendo en ángulos incrementados hasta el final en angle2. Si angle2 es menor que angle1 será incrementado progresivamente por 2*M_PI hasta que sea mayor que angle1. Si hay un punto actual se añadirá un segmento de línea al trazado para conectar el punto actual al inicio del arco. Si no se desea esta línea inicial, se puede evitar llamando a CairoContext::newSubPath() o en estilo procedural cairo_new_sub_path() antes de llamar a CairoContext::arc() o a cairo_arc(). Los ángulos se miden en radianes. Un ángulo de 0.0 está en la dirección del eje X positivo (en espacio de usuario). Un ángulo de M_PI/2.0 radianes (90 grados) está en la dirección del eje Y positivo (en espacio de usuario). Los ángulos se incrementan en la dirección desde el eje X positivo hacia el eje Y positivo. Así, con la matriz de transformación predeterminada, los ángulos se incrementan en el sentido de las agujas del reloj. (Para convertir grados a radianes use grados * (M_PI / 180.).) Esta función da el arco en la dirección de los ángulos incrementados; véase CairoContext::arcNegative() o cairo_arc_negative() para obtener el arco el la dirección de los ángulos decrementados.

Parámetros

context

Un objeto CairoContext válido

x

posición x

y

posición y

radius

Radio del arco

angle1

ángulo de inicio

angle2

ángulo final

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);

$c->setSourceRgb(0, 0, 0);
$c->paint();

$c->setLineWidth(1);
$c->setSourceRgb(1, 1, 1);

for ($r = 50; $r > 0; $r -= 10) {
 $c->arc(50, 50, $r, 0, 2 * M_PI);
 $c->stroke();
 $c->fill();
}

$s->writeToPng(dirname(__FILE__) . '/CairoContext__arc.png');
?>

Ejemplo #2 Estilo por procedimientos

<?php

$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);

cairo_set_source_rgb($c, 0, 0, 0);
cairo_paint($c);

cairo_set_source_rgb($c, 1, 1, 1);
cairo_set_line_width($c, 1);

for ($r = 50; $r > 0; $r -= 10) {
 cairo_arc($c, 50, 50, $r, 0, 2 * M_PI);
 cairo_stroke($c);
 cairo_fill($c);
}

cairo_surface_write_to_png($s, dirname(__FILE__) . '/cairo_arc.png');
?>

Ver también

  • CairoContext::arcNegative() - Añade un arco negativo

CairoContext::appendPath
CairoContext::arcNegative
CairoContext


Añade un arco negativo

CairoContext::arc
CairoContext::clip
CairoContext
PHP Manual

CairoContext::arcNegative

cairo_arc_negative

(PECL cairo >= 0.1.0)

CairoContext::arcNegative -- cairo_arc_negative — Añade un arco negativo

Descripción

Estilo orientado a objetos (método):

public void CairoContext::arcNegative ( float $x , float $y , float $radius , float $angle1 , float $angle2 )

Estilo por procedimientos:

void cairo_arc_negative ( CairoContext $context , float $x , float $y , float $radius , float $angle1 , float $angle2 )

Añade un arco circular del radius dado al trazado actual. El arco está centrado en (x, y), comenzando en angle1 y procediendo en la dirección de los ángulos decrementados hasta el final en angle2. Si angle2 es mayor que angle1 será decrementado progresivamente por 2*M_PI hata que sea menor que angle1. Véase CairoContext::arc() o cairo_arc() para más detalles. Está función difiere sólo en la dirección del arco entre dos ángulos.

Parámetros

context

Un objeto CairoContext válido

x

posición x double

y

posición y double

radius

El radio del arco negativo deseado

angle1

Ángulo de inicio del arco

angle2

Ángulo final del arco

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);

$c->setSourceRgb(0, 0, 0);
$c->paint();

$c->setLineWidth(1);
$c->setSourceRgb(1, 1, 1);

for ($r = 50; $r > 0; $r -= 10) {
 $c->arcNegative(50, 50, $r, 2 * M_PI, 0);
 $c->stroke();
 $c->fill();
}

$s->writeToPng(dirname(__FILE__) . '/CairoContext__arcNegative.png');
?>

Ejemplo #2 Estilo por procedimientos

<?php

$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);

cairo_set_source_rgb($c, 0, 0, 0);
cairo_paint($c);

cairo_set_source_rgb($c, 1, 1, 1);
cairo_set_line_width($c, 1);

for ($r = 50; $r > 0; $r -= 10) {
 cairo_arc_negative($c, 50, 50, $r, 2 * M_PI, 0);
 cairo_stroke($c);
 cairo_fill($c);
}

cairo_surface_write_to_png($s, dirname(__FILE__) . '/cairo_arc_negative.png');
?>

Ver también

  • CairoContext::arc() - Añade un arco circular

CairoContext::arc
CairoContext::clip
CairoContext


Establece una nueva región de recorte

CairoContext::arcNegative
CairoContext::clipExtents
CairoContext
PHP Manual

CairoContext::clip

cairo_clip

(PECL cairo >= 0.1.0)

CairoContext::clip -- cairo_clip — Establece una nueva región de recorte

Descripción

Estilo orientado a objetos (método):

public void CairoContext::clip ( void )

Estilo por procedimientos:

void cairo_clip ( CairoContext $context )

Establece una nueva región de recorte intersectando la región de recorte actual con el trazado actual como si fuera rellenado con CairoContext::fill() o cairo_fill() y según la regla de relleno actual (véase CairoContext::setFillRule() o cairo_set_fill_rule()).

Después de llamar a CairoContext::clip() o a cairo_clip(), el trazado actual se borrará desde el contexto de cairo.

La región de recorte actual afecta a todas las operaciones de dibujo enmascarando cualquier cambio hecho a la superficie que esté fuera de la región de recorte actual.

Llamar a CairoContext::clip() o a cairo_clip() sólo puede hacer la región de recorte más pequeña, nunca más grande. Pero el recorte actual es parte del estado de gráficos, por lo que se puede llevar a cabo una restricción temporal de la región de recorte llamando a CairoContext::clip() o a cairo_clip() dentro de una pareja CairoContext::save()/ CairoContext::restore() o cairo_save()/ cairo_restore(). El otro medio para incrementar el tamaño de la región de recorte es CairoContext::resetClip() o en estilo procedural cairo_reset_clip().

Parámetros

context

Un objeto CairoContext válido

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

$superficie = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$contexto = new CairoContext($superficie);

$contexto->clip();

?>

Ejemplo #2 Estilo por procedimientos

<?php

$superficie = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$contexto = cairo_create($superficie);

cairo_clip($contexto);

?>

Ver también

  • CairoContext::resetClip() - El propósito de resetClip
  • cairo_reset_clip() - El propósito de resetClip

CairoContext::arcNegative
CairoContext::clipExtents
CairoContext


Computa el área dentro del recorte actual

CairoContext::clip
CairoContext::clipPreserve
CairoContext
PHP Manual

CairoContext::clipExtents

cairo_clip_extents

(PECL cairo >= 0.1.0)

CairoContext::clipExtents -- cairo_clip_extents — Computa el área dentro del recorte actual

Descripción

Estilo orientado a objetos (método):

public array CairoContext::clipExtents ( void )

Estilo por procedimientos:

array cairo_clip_extents ( CairoContext $context )

Computa una caja circundante en coordenadas de usuario cubriendo el área dentro del recorte actual.

Parámetros

context

Un objeto CairoContext válido

Valores devueltos

Una matriz que contiene las coordenadas (float)x1, (float)y1, (float)x2, (float)y2, cubriendo el área dentro del recorte actual

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

$superficie = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$contexto = new CairoContext($superficie);

var_dump($contexto->clipExtents());
?>

El resultado del ejemplo sería algo similar a:

array(4) {
  [0]=>
  float(0)
  [1]=>
  float(0)
  [2]=>
  float(50)
  [3]=>
  float(50)
}

Ejemplo #2 Estilo por procedimientos

<?php

$superficie = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$contexto = cairo_create($superficie);

var_dump(cairo_clip_extents($contexto));

?>

El resultado del ejemplo sería algo similar a:

array(4) {
  [0]=>
  float(0)
  [1]=>
  float(0)
  [2]=>
  float(50)
  [3]=>
  float(50)
}

Ver también

  • CairoContext::clip() - Establece una nueva región de recorte

CairoContext::clip
CairoContext::clipPreserve
CairoContext


Establce una nueva región de recorte desde el recorte actual

CairoContext::clipExtents
CairoContext::clipRectangleList
CairoContext
PHP Manual

CairoContext::clipPreserve

cairo_clip_preserve

(PECL cairo >= 0.1.0)

CairoContext::clipPreserve -- cairo_clip_preserve — Establce una nueva región de recorte desde el recorte actual

Descripción

Estilo orientado a objetos (método):

public void CairoContext::clipPreserve ( void )

Estilo por procedimientos:

void cairo_clip_preserve ( CairoContext $context )

Establece una nueva región de recorte intersectando la región de recorte actual con el trazado actual como si fuese rellenada por Context.fill() y según la acutual FILL RULE (véase CairoContext::setFillRule() o cairo_set_fill_rule()).

A diferencia de CairoContext::clip(), CairoContext::clipPreserve() preserva el trazado dentro de Context. La región de recorte actual afecta a todas las operaciones de dibujo enmascarando cualquier cambio hecho a la superficie que esté fuera de la región de recorte actual.

Llamar a CairoContext::clipPreserve() sólo puede hacer la región de recorte más pequeña, nunca más grande. Pero el recorte actual es parte del estado de gráficos, por lo que se puede llevar a cabo una restricción temporal de la región de recorte llamando a CairoContext::clipPreserve() dentro de una pareja CairoContext::save()/ CairoContext::restore(). El otro medio para incrementar el tamaño de la región de recorte es CairoContext::resetClip().

Parámetros

context

Un objeto CairoContext válido

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

$superficie = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$contexto = new CairoContext($superficie);

$contexto->clipPreserve();

?>

Ejemplo #2 Estilo por procedimientos

<?php

$superficie = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$contexto = cairo_create($superficie);

cairo_clip_preserve($contexto);

?>

Ver también

  • CairoContext::save() - El propósito de save
  • CairoContext::restore() - El propósito de restore
  • CairoContext::resetClip() - El propósito de resetClip

CairoContext::clipExtents
CairoContext::clipRectangleList
CairoContext


Recupera el recorte actual como una lista de rectángulos

CairoContext::clipPreserve
CairoContext::closePath
CairoContext
PHP Manual

CairoContext::clipRectangleList

cairo_clip_rectangle_list

(PECL cairo >= 0.1.0)

CairoContext::clipRectangleList -- cairo_clip_rectangle_list — Recupera el recorte actual como una lista de rectángulos

Descripción

Estilo orientado a objetos (método):

public array CairoContext::clipRectangleList ( void )

Estilo por procedimientos:

array cairo_clip_rectangle_list ( CairoContext $context )

Devuelve una matriz tipo lista con la región de recorte actual como una lista de rectángulos en coordenadas del usuario

Parámetros

context

Un objeto CairoContext válido creado con CairoContext::__construct() o cairo_create()

Valores devueltos

Una matriz de espacio de usuario constituida de rectángulos para el recorte actual

(El estado de la lista puede ser CAIRO_STATUS_CLIP_NOT_REPRESENTABLE para indicar que la región de recorte no puede ser representada como una lista de rectángulos de espacio de usuario. El estado puede tener otros valores para indicar otros errores.)

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

$superficie = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$contexto = new CairoContext($superficie);

var_dump($contexto->clipRectangleList());

?>

El resultado del ejemplo sería algo similar a:

array(1) {
  [0]=>
  array(4) {
    ["x"]=>
    float(0)
    ["y"]=>
    float(0)
    ["width"]=>
    float(50)
    ["height"]=>
    float(50)
  }
}

Ejemplo #2 Estilo por procedimientos

<?php

$superficie = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$contexto = cairo_create($superficie);

var_dump(cairo_clip_rectangle_list($contexto));

?>

El resultado del ejemplo sería algo similar a:

array(1) {
  [0]=>
  array(4) {
    ["x"]=>
    float(0)
    ["y"]=>
    float(0)
    ["width"]=>
    float(50)
    ["height"]=>
    float(50)
  }
}

Ver también

  • Classname::Method()

CairoContext::clipPreserve
CairoContext::closePath
CairoContext


Cierra el trazado actual

CairoContext::clipRectangleList
CairoContext::__construct
CairoContext
PHP Manual

CairoContext::closePath

cairo_close_path

(PECL cairo >= 0.1.0)

CairoContext::closePath -- cairo_close_path — Cierra el trazado actual

Descripción

Estilo orientado a objetos (método):

public void CairoContext::closePath ( void )

Estilo por procedimientos:

void cairo_close_path ( CairoContext $context )

Añade un segemento de línea al trazado desde el punto actual hasta el inicio del subtrazado actual, (el punto pasado más reciente a CairoContext::moveTo()), y cierra este subtrazado. Después de esta llamada el punto actual estatá en el punto final enlazado del subtrazado.

El comportamiento de close_path() es distinto del de llamar simplemente a CairoContext::lineTo() con la coordenada equivalente en el caso de contorneado. Cuando un subtrazado cerrado es contorneado, o hay remates en los finales del subtrazo. En vez de eso, hay una conexión de línea conectando los segmentos inicial y final del subtrazado.

Si no hay punto actual antes de llamar a CairoContext::closePath(), esta función no tendrá efecto.

Parámetros

context

Un objeto CairoContext válido creado con CairoContext::__construct() o cairo_create()

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

$superficie = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$contexto = new CairoContext($superficie);

$contexto->closePath();

?>

Ejemplo #2 Estilo por procedimientos

<?php

$superficie = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$contexto = cairo_create($superficie);

cairo_close_path($contexto);

?>

Ver también

  • CairoContext::copyPath() - Crea una copia del trazado actual

CairoContext::clipRectangleList
CairoContext::__construct
CairoContext


Crea un nuevo CairoContext

CairoContext::closePath
CairoContext::copyPage
CairoContext
PHP Manual

CairoContext::__construct

(PECL cairo >= 0.1.0)

CairoContext::__construct — Crea un nuevo CairoContext

Descripción

public CairoContext::__construct ( CairoSurface $surface )

Crea un nuevo objeto CairoContext para dibujar

Parámetros

surface

Un objeto CairoSurface válido como CairoImageSurface o CairoPdfSurface

Valores devueltos

Un objeto CairoContext

Ejemplos

Ejemplo #1 Ejemplo de CairoContext::__construct()

<?php
// La superficie sobre la que se va a trabajar
$superficie = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

// Crear un nuevo CairoContext para la CairoSurface
$contexto = new CairoContext($superficie);

?>

Ver también

  • Cairo::Method()

CairoContext::closePath
CairoContext::copyPage
CairoContext


Emite la página actual

CairoContext::__construct
CairoContext::copyPath
CairoContext
PHP Manual

CairoContext::copyPage

cairo_copy_page

(PECL cairo >= 0.1.0)

CairoContext::copyPage -- cairo_copy_page — Emite la página actual

Descripción

Estilo orientado a objetos (método):

public void CairoContext::copyPage ( void )

Estilo por procedimientos:

void cairo_copy_page ( CairoContext $context )

Emite la página actual para entornos que soportan múltiples páginas, pero no la borra, así, el contenido de la página actual se conservará también para la siguiente página. Use CairoContext::showPage() si quiere obtener una página vacía después de la emisión.

Esta es una función conveniente que simplemente llama a CairoSurface::copyPage() sobre los objetivos de CairoContext.

Parámetros

context

Un objeto CairoContext válido creado con CairoContext::__construct() o cairo_create()

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

$superficie = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$contexto = new CairoContext($superficie);

$contexto->copyPage();

?>

Ejemplo #2 Estilo por procedimientos

<?php

$superficie = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$contexto = cairo_create($superficie);

cairo_copy_page($contexto);

?>

Ver también

  • CairoContext::showPage() - El propósito de showPage
  • CairoSurface::copyPage() - El propósito de copyPage

CairoContext::__construct
CairoContext::copyPath
CairoContext


Crea una copia del trazado actual

CairoContext::copyPage
CairoContext::copyPathFlat
CairoContext
PHP Manual

CairoContext::copyPath

cairo_copy_path

(PECL cairo >= 0.1.0)

CairoContext::copyPath -- cairo_copy_path — Crea una copia del trazado actual

Descripción

Estilo orientado a objetos (método):

public CairoPath CairoContext::copyPath ( void )

Estilo por procedimientos:

CairoPath cairo_copy_path ( CairoContext $context )

Crea una copia del trazado actual y la devuelve al usuario como un CairoPath. Véase CairoPath para consejo de cómo iterar sobre la estructura de información devuelta.

Esta función siempre devuelve un objeto CairoPath válido, pero el resultado no tendrá información si se cumplen las siguientes condiciones:

  • 1. Si no hay memoria suficiente para copiar el trazado. En este caso CairoPath->status será establecido a CAIRO_STATUS_NO_MEMORY.
  • 2. Si context ya está en un estado de error. En este caso CairoPath->status contendrá el mismo estado que sería devulto por cairo_status().
En ambos casos, CairoPath->status será establecido a CAIRO_STATUS_NO_MEMORY (independientemente del estado de error que pudiera estar cr).

Parámetros

context

Un objeto CairoContext válido creado con CairoContext::__construct() o cairo_create()

Valores devueltos

Una copia del CairoPath actual en el contexto

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

$superficie = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$contexto = new CairoContext($superficie);

var_dump($contexto->copyPath())

?>

El resultado del ejemplo sería algo similar a:

object(CairoPath)#3 (0) {
}

Ejemplo #2 Estilo por procedimientos

<?php

$superficie = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$contexto = cairo_create($superficie);

var_dump(cairo_copy_path($contexto));

?>

El resultado del ejemplo sería algo similar a:

object(CairoPath)#3 (0) {
}

Ver también

  • CairoContext::closePath() - Cierra el trazado actual

CairoContext::copyPage
CairoContext::copyPathFlat
CairoContext


Obtiene una copia aplanada del trazado actual

CairoContext::copyPath
CairoContext::curveTo
CairoContext
PHP Manual

CairoContext::copyPathFlat

cairo_copy_path_flat

(PECL cairo >= 0.1.0)

CairoContext::copyPathFlat -- cairo_copy_path_flat — Obtiene una copia aplanada del trazado actual

Descripción

Estilo orientado a objetos (método):

public CairoPath CairoContext::copyPathFlat ( void )

Estilo por procedimientos:

CairoPath cairo_copy_path_flat ( CairoContext $context )

Obtiene una copia aplanada del trazada actual y la devuelve al usuario como un objeto CairoPath.

Está función es como CairoContext::copyPath() excepto que cualquier curva en el trazado estará aproximada con aproximaciones lineales definidas a trozos, (con precisión dentro del valor de tolerancia actual). Es decir, se garantiza que el resultado no contenga elementos de tipo CAIRO_PATH_CURVE_TO, los cuales serán reemplazados por una seride de elementos CAIRO_PATH_LINE_TO.

Parámetros

context

Un objeto CairoContext

Valores devueltos

Una copia del trazado actual

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

$superficie = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$contexto = new CairoContext($superficie);

var_dump($contexto->copyPathFlat());

?>

El resultado del ejemplo sería algo similar a:

object(CairoPath)#3 (0) {
}

Ejemplo #2 Estilo por procedimientos

<?php

$superficie = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$contexto = cairo_create($superficie);

var_dump(cairo_copy_path_flat($contexto));

?>

El resultado del ejemplo sería algo similar a:

object(CairoPath)#3 (0) {
}

Ver también

  • CairoContext::copyPath() - Crea una copia del trazado actual
  • CairoContext::closePath() - Cierra el trazado actual

CairoContext::copyPath
CairoContext::curveTo
CairoContext


Añade una curva

CairoContext::copyPathFlat
CairoContext::deviceToUser
CairoContext
PHP Manual

CairoContext::curveTo

cairo_curve_to

(PECL cairo >= 0.1.0)

CairoContext::curveTo -- cairo_curve_to — Añade una curva

Descripción

Estilo orientado a objetos (método):

public void CairoContext::curveTo ( float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )

Estilo por procedimientos:

void cairo_curve_to ( CairoContext $context , float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )

Añade una curva Bézier cúbica al trazado desde el punto actual hasta la posición x3 ,y3 en coordenadas de espacio de usuario, usando x1, y1 y x2, y2 como puntos de control. Después de esta llamada el punto acutal será x3, y3.

Si no hay punto actual antes de llamar a CairoContext::curveTo() esta función como si estuviera precedida por una llamda a CairoContext::moveTo() (x1, y1).

Parámetros

context

Un objeto CairoContext válido creado con CairoContext::__construct() o cairo_create()

x1

Primer punto de control en le eje x para la curva

y1

Primer punto de control en le eje y para la curva

x2

Segundo punto de control en le eje x para la curva

y2

Segundo punto de control en le eje y para la curva

x3

Punto final de control en le eje x para la curva

y3

Punto final de control en le eje y para la curva

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);

$c->setSourceRgb(0, 0, 0);

$c->paint();

$c->moveTo(10, 50);
$c->setLineWidth(5);
$c->setSourceRgb(.1, 0, 1);
$c->curveTo(20, 80, 80, 20, 90, 50);
$c->stroke();

$s->writeToPng(dirname(__FILE__) . '/curveTo.png');
?>

Ejemplo #2 Estilo por procedimientos

<?php

$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);

cairo_set_source_rgb($c, 0, 0, 0);

cairo_paint($c);

cairo_move_to($c, 10, 50);
cairo_set_line_width($c, 5);
cairo_set_source_rgb($c, .1, 0, 1);
cairo_curve_to($c, 20, 80, 80, 20, 90, 50);
cairo_stroke($c);

cairo_surface_write_to_png($s, dirname(__FILE__) . '/curve_to.png');
?>

Ver también

  • CairoContext::moveTo() - El propósito de moveTo

CairoContext::copyPathFlat
CairoContext::deviceToUser
CairoContext


Transforma una coordenada

CairoContext::curveTo
CairoContext::deviceToUserDistance
CairoContext
PHP Manual

CairoContext::deviceToUser

cairo_device_to_user

(PECL cairo >= 0.1.0)

CairoContext::deviceToUser -- cairo_device_to_user — Transforma una coordenada

Descripción

Estilo orientado a objetos (método):

public array CairoContext::deviceToUser ( float $x , float $y )

Estilo por procedimientos:

array cairo_device_to_user ( CairoContext $context , float $x , float $y )

Transforma una coordenada de espacio de dispositivo a espacio de usuario multiplicando el punto dado por el inverso de la matriz de transformación de cairo actual (MTC - en inglés CTM: cairo transformation matrix).

Parámetros

context

Un objeto CairoContext válido creado con CairoContext::__construct() o cairo_create()

x

valor x de la coordenada

y

valor y de la coordenada

Valores devueltos

Una matriz que contiene las coordenadas x e y en el espacio de usuario

Ver también

  • CairoContext::deviceToUserDistance() - Transformar una distancia

CairoContext::curveTo
CairoContext::deviceToUserDistance
CairoContext


Transformar una distancia

CairoContext::deviceToUser
CairoContext::fill
CairoContext
PHP Manual

CairoContext::deviceToUserDistance

cairo_device_to_user_distance

(PECL cairo >= 0.1.0)

CairoContext::deviceToUserDistance -- cairo_device_to_user_distance — Transformar una distancia

Descripción

Estilo orientado a objetos (método):

public array CairoContext::deviceToUserDistance ( float $x , float $y )

Estilo por procedimientos:

array cairo_device_to_user_distance ( CairoContext $context , float $x , float $y )

Transforma un vector de distancia de espacio de dispositivo a espaciode usuario. Esta función es similar a CairoContext::deviceToUser() o cairo_device_to_user() excepto que los componentes de traslación de la Matriz de Transformación de Cairo inversa será ignorada al realizar la transformación (x,y).

Parámetros

context

Un objeto CairoContext válido creado con CairoContext::__construct() o cairo_create()

x

Componente X de un vector de distancia

y

Componente Y de un vector de distancia

Valores devueltos

Devuelve una matriz con los valores x e y de un vector de distancia en espacio de usuario

Ver también

  • CairoContext::deviceToUser() - Transforma una coordenada

CairoContext::deviceToUser
CairoContext::fill
CairoContext


Rellena el trazado actual

CairoContext::deviceToUserDistance
CairoContext::fillExtents
CairoContext
PHP Manual

CairoContext::fill

cairo_fill

(PECL cairo >= 0.1.0)

CairoContext::fill -- cairo_fill — Rellena el trazado actual

Descripción

Estilo orientado a objetos (método):

public void CairoContext::fill ( void )

Estilo por procedimientos:

void cairo_fill ( CairoContext $context )

Un operador de dibujo que rellena el trazado actual según la actual CairoFillRule, (cada subtrazado se cierra implícitamente antes de ser rellenado). Después de CairoContext::fill() o cairo_fill(), el trazado actual se borrará desdes el CairoContext.

Parámetros

context

Un objeto CairoContext válido creado con CairoContext::__construct() o cairo_create()

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);

$c->setSourceRgb(0, 0, 0);
$c->paint();

$c->setSourceRgb(1, 1, 1);
$c->rectangle(0, 0, 50, 50);
$c->fill();
$c->setSourceRgb(0, 1, 0);
$c->rectangle(50, 50, 50, 50);
$c->fill();

$s->writeToPng(dirname(__FILE__) . '/CairoContext_fill.png');

?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php

$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);

cairo_set_source_rgb($c, 0, 0, 0);
cairo_paint($c);

cairo_set_source_rgb($c, 1, 1, 1);
cairo_rectangle($c, 0, 0, 50, 50);
cairo_fill($c);
cairo_set_source_rgb($c, 0, 1, 0);
cairo_rectangle($c, 50, 50, 50, 50);
cairo_fill($c);

cairo_surface_write_to_png($s, dirname(__FILE__) . '/cairo_fill.png');

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • CairoContext::setFillRule() - El propósito de setFillRule
  • ContextContext::fillPreserve()
  • CairoFillRule

CairoContext::deviceToUserDistance
CairoContext::fillExtents
CairoContext


Cumputa el área rellenada

CairoContext::fill
CairoContext::fillPreserve
CairoContext
PHP Manual

CairoContext::fillExtents

cairo_fill_extents

(PECL cairo >= 0.1.0)

CairoContext::fillExtents -- cairo_fill_extents — Cumputa el área rellenada

Descripción

Estilo orientado a objetos (método):

public array CairoContext::fillExtents ( void )

Estilo por procedimientos:

array cairo_fill_extents ( CairoContext $context )

Computa una caja circundante en coordenadas de usuario cubriendo el área que debería ser afectada, (el área “entintada”), por una operación CairoContext::fill() dado el trazado y los parámetros de relleno. Si el trazado actual está vacío devuelve un rectángulo vacío (0,0,0,0). Las dimensiones de la superficie y el área de recorte no se toman en cuenta.

Contrasta con CairoContext::pathExtents(), que es similar, pero devuelve un alcance de no-cero para algunos trazados sin área entintada, (como un simple segmento de línea).

Observe que CairoContext::fillExtents() necesariamente debe hacer más trabajo para computar las áreas precisas entintadas en claro de la regla de relleno, por lo que CairoContext::pathExtents() puede ser mejor para el redimiento si no se desean alcances de trazados no entintados.

Parámetros

context

Un objeto CairoContext válido creado con CairoContext::__construct() o cairo_create()

Valores devueltos

Una matriz con las coordenadas del área afectada

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • CairoContext::fill() - Rellena el trazado actual
  • CairoContext::setFillRule() - El propósito de setFillRule
  • CairoContext::fillPreserve() - Rellena y conserva el trazado actual

CairoContext::fill
CairoContext::fillPreserve
CairoContext


Rellena y conserva el trazado actual

CairoContext::fillExtents
CairoContext::fontExtents
CairoContext
PHP Manual

CairoContext::fillPreserve

cairo_fill_preserve

(PECL cairo >= 0.1.0)

CairoContext::fillPreserve -- cairo_fill_preserve — Rellena y conserva el trazado actual

Descripción

Estilo orientado a objetos (método):

public void CairoContext::fillPreserve ( void )

Estilo por procedimientos:

void cairo_fill_preserve ( CairoContext $context )

Un operador de dibujo que rellena el trazado actual según la actual CairoFillRule, (cada subtrazado se cierra implícitamente antes de ser rellenado). A diferencia de CairoContext::fill(), CairoContext::fillPreserve() (Procedural cairo_fill(), cairo_fill_preserve(), respectivamente) conserva el trazado dentro del Context.

Parámetros

context

Un objeto CairoContext válido creado con CairoContext::__construct() o cairo_create()

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • CairoContext::setFillRule() - El propósito de setFillRule
  • CairoContext::fill() - Rellena el trazado actual

CairoContext::fillExtents
CairoContext::fontExtents
CairoContext


Obtener el alcance de una fuente

CairoContext::fillPreserve
CairoContext::getAntialias
CairoContext
PHP Manual

CairoContext::fontExtents

cairo_font_extents

(PECL cairo >= 0.1.0)

CairoContext::fontExtents -- cairo_font_extents — Obtener el alcance de una fuente

Descripción

Estilo orientado a objetos (método):

public array CairoContext::fontExtents ( void )

Estilo por procedimientos:

array cairo_font_extents ( CairoContext $context )

Obtiene el alcance de fuente para la fuente seleccionada actualmente.

Parámetros

context

Descripción...

Valores devueltos

Un array que contiene el alcance de fuente para la fuente actual.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

$sup = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);
$con = new CairoContext($sup);

var_dump($con->fontExtents());

?>

El resultado del ejemplo sería algo similar a:

array(5) {
  ["ascent"]=>
  float(10)
  ["descent"]=>
  float(3)
  ["height"]=>
  float(13.3125)
  ["max_x_advance"]=>
  float(26.65625)
  ["max_y_advance"]=>
  float(0)
}

Ejemplo #2 Estilo por procedimientos

<?php

$sup = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);
$con = cairo_create($sup);

var_dump(cairo_font_extents($con));

?>

El resultado del ejemplo sería algo similar a:

array(5) {
  ["ascent"]=>
  float(10)
  ["descent"]=>
  float(3)
  ["height"]=>
  float(13.3125)
  ["max_x_advance"]=>
  float(26.65625)
  ["max_y_advance"]=>
  float(0)
}

Ver también

  • Classname::Method()

CairoContext::fillPreserve
CairoContext::getAntialias
CairoContext


Recupera el modo de antialias actual

CairoContext::fontExtents
CairoContext::getCurrentPoint
CairoContext
PHP Manual

CairoContext::getAntialias

cairo_get_antialias

(PECL cairo >= 0.1.0)

CairoContext::getAntialias -- cairo_get_antialias — Recupera el modo de antialias actual

Descripción

Estilo orientado a objetos (método):

public int CairoContext::getAntialias ( void )

Estilo por procedimientos:

int cairo_get_antialias ( CairoContext $context )

Devuelve el modo de CairoAntialias actual, como se estableción mediante CairoContext::setAntialias().

Parámetros

context

Un objeto CairoContext válido creado con CairoContext::__construct() o cairo_create()

Valores devueltos

El modo de CairoAntialias actual.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

$superficie = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);
$contexto = new CairoContext($superficie);

$contexto->setAntialias(CairoAntialias::MODE_SUBPIXEL);

var_dump($contexto->getAntialias());

?>

El resultado del ejemplo sería algo similar a:

int(3)

Ejemplo #2 Estilo por procedimientos:

<?php

$sup = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);
$con = cairo_create($sup);

cairo_set_antialias($con, CAIRO_ANTIALIAS_SUBPIXEL);

var_dump(cairo_get_antialias($con));

?>

El resultado del ejemplo sería algo similar a:

int(3)

Ver también

  • CairoContext::setAntialias() - El propósito de setAntialias
  • CairoAntialias

CairoContext::fontExtents
CairoContext::getCurrentPoint
CairoContext


El propósito de getCurrentPoint

CairoContext::getAntialias
CairoContext::getDash
CairoContext
PHP Manual

CairoContext::getCurrentPoint

cairo_get_current_point

(PECL cairo >= 0.1.0)

CairoContext::getCurrentPoint -- cairo_get_current_point — El propósito de getCurrentPoint

Descripción

Estilo orientado a objetos

public array CairoContext::getCurrentPoint ( void )

Estilo por procedimientos

array cairo_get_current_point ( CairoContext $context )

Obtiene el punto actual del trazado actual, que es conceptualmente el punto final alcanzado por el trazado.

El punto actual es devuelto en el sistema de coordenadas del espacio de usuario. Si no hay definido un punto actual o si cr está en estado de error, x e y se establecerán a 0.0. Es posible verificar esto por adelantado con CairoContext::hasCurrentPoint().

La mayoría de las funciones de construcción alteran el punto actual. Véase las siguientes para detalles de cómo afectan al punto actual:  CairoContext::newPath(),
 CairoContext::newSubPath(),  CairoContext::appendPath(),  CairoContext::closePath(),  CairoContext::moveTo(),
 CairoContext::lineTo(),  CairoContext::curveTo(),  CairoContext::relMoveTo(),
 CairoContext::relLineTo(),  CairoContext::relCurveTo(),
 CairoContext::arc(),  CairoContext::arcNegative(),  CairoContext::rectangle(),
 CairoContext::textPath(),  CairoContext::glyphPath().

Algunas funciones usan y alteran el punto actual pero por lo demás no cambian el trazado actual: CairoContext::showText().

Algunas funciones desestablecen el trazado actual y, como resultado, el punto actual: CairoContext::fill(), CairoContext::stroke().

Parámetros

context

Un objeto CairoContext válido.

Valores devueltos

Una matriz que contiene las coordenadas x (índice 0) e y (índice 1) del punto actual.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);

$c->moveTo(10, 10);

var_dump($c->getCurrentPoint());

?>

El resultado del ejemplo sería algo similar a:

array(2) {
  [0]=>
  float(10)
  [1]=>
  float(10)
}

Ejemplo #2 Estilo por procedimientos

<?php

$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);

cairo_move_to($c, 10, 10);

var_dump(cairo_get_current_point($c));

?>

El resultado del ejemplo sería algo similar a:

array(2) {
  [0]=>
  float(10)
  [1]=>
  float(10)
}

Ver también

  • CairoContext::moveTo() - El propósito de moveTo
  • CairoContext::hasCurrentPoint() - El propósito de hasCurrentPoint

CairoContext::getAntialias
CairoContext::getDash
CairoContext


El propósito de getDash

CairoContext::getCurrentPoint
CairoContext::getDashCount
CairoContext
PHP Manual

CairoContext::getDash

cairo_get_dash

(PECL cairo >= 0.1.0)

CairoContext::getDash -- cairo_get_dash — El propósito de getDash

Descripción

Estilo orientado a objetos (método):

public array CairoContext::getDash ( void )

Estilo por procedimientos:

array cairo_get_dash ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::getCurrentPoint
CairoContext::getDashCount
CairoContext


El propósito de getDashCount

CairoContext::getDash
CairoContext::getFillRule
CairoContext
PHP Manual

CairoContext::getDashCount

cairo_get_dash_count

(PECL cairo >= 0.1.0)

CairoContext::getDashCount -- cairo_get_dash_count — El propósito de getDashCount

Descripción

Estilo orientado a objetos (método):

public int CairoContext::getDashCount ( void )

Estilo por procedimientos:

int cairo_get_dash_count ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::getDash
CairoContext::getFillRule
CairoContext


El propósito de getFillRule

CairoContext::getDashCount
CairoContext::getFontFace
CairoContext
PHP Manual

CairoContext::getFillRule

cairo_get_fill_rule

(PECL cairo >= 0.1.0)

CairoContext::getFillRule -- cairo_get_fill_rule — El propósito de getFillRule

Descripción

Estilo orientado a objetos (método):

public int CairoContext::getFillRule ( void )

Estilo por procedimientos:

int cairo_get_fill_rule ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::getDashCount
CairoContext::getFontFace
CairoContext


El propósito de getFontFace

CairoContext::getFillRule
CairoContext::getFontMatrix
CairoContext
PHP Manual

CairoContext::getFontFace

cairo_get_font_face

(PECL cairo >= 0.1.0)

CairoContext::getFontFace -- cairo_get_font_face — El propósito de getFontFace

Descripción

Estilo orientado a objetos (método):

public void CairoContext::getFontFace ( void )

Estilo por procedimientos:

void cairo_get_font_face ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::getFillRule
CairoContext::getFontMatrix
CairoContext


El propósito de getFontMatrix

CairoContext::getFontFace
CairoContext::getFontOptions
CairoContext
PHP Manual

CairoContext::getFontMatrix

cairo_get_font_matrix

(PECL cairo >= 0.1.0)

CairoContext::getFontMatrix -- cairo_get_font_matrix — El propósito de getFontMatrix

Descripción

Estilo orientado a objetos (método):

public void CairoContext::getFontMatrix ( void )

Estilo por procedimientos:

void cairo_get_font_matrix ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::getFontFace
CairoContext::getFontOptions
CairoContext


El propósito de getFontOptions

CairoContext::getFontMatrix
CairoContext::getGroupTarget
CairoContext
PHP Manual

CairoContext::getFontOptions

cairo_get_font_options

(PECL cairo >= 0.1.0)

CairoContext::getFontOptions -- cairo_get_font_options — El propósito de getFontOptions

Descripción

Estilo orientado a objetos (método):

public void CairoContext::getFontOptions ( void )

Estilo por procedimientos:

void cairo_get_font_options ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::getFontMatrix
CairoContext::getGroupTarget
CairoContext


El propósito de getGroupTarget

CairoContext::getFontOptions
CairoContext::getLineCap
CairoContext
PHP Manual

CairoContext::getGroupTarget

cairo_get_group_target

(PECL cairo >= 0.1.0)

CairoContext::getGroupTarget -- cairo_get_group_target — El propósito de getGroupTarget

Descripción

Estilo orientado a objetos (método):

public void CairoContext::getGroupTarget ( void )

Estilo por procedimientos:

void cairo_get_group_target ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::getFontOptions
CairoContext::getLineCap
CairoContext


El propósito de getLineCap

CairoContext::getGroupTarget
CairoContext::getLineJoin
CairoContext
PHP Manual

CairoContext::getLineCap

cairo_get_line_cap

(PECL cairo >= 0.1.0)

CairoContext::getLineCap -- cairo_get_line_cap — El propósito de getLineCap

Descripción

Estilo orientado a objetos (método):

public int CairoContext::getLineCap ( void )

Estilo por procedimientos:

int cairo_get_line_cap ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::getGroupTarget
CairoContext::getLineJoin
CairoContext


El propósito de getLineJoin

CairoContext::getLineCap
CairoContext::getLineWidth
CairoContext
PHP Manual

CairoContext::getLineJoin

cairo_get_line_join

(PECL cairo >= 0.1.0)

CairoContext::getLineJoin -- cairo_get_line_join — El propósito de getLineJoin

Descripción

Estilo orientado a objetos (método):

public int CairoContext::getLineJoin ( void )

Estilo por procedimientos:

int cairo_get_line_join ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::getLineCap
CairoContext::getLineWidth
CairoContext


El propósito de getLineWidth

CairoContext::getLineJoin
CairoContext::getMatrix
CairoContext
PHP Manual

CairoContext::getLineWidth

cairo_get_line_width

(PECL cairo >= 0.1.0)

CairoContext::getLineWidth -- cairo_get_line_width — El propósito de getLineWidth

Descripción

Estilo orientado a objetos (método):

public float CairoContext::getLineWidth ( void )

Estilo por procedimientos:

float cairo_get_line_width ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::getLineJoin
CairoContext::getMatrix
CairoContext


El propósito de getMatrix

CairoContext::getLineWidth
CairoContext::getMiterLimit
CairoContext
PHP Manual

CairoContext::getMatrix

cairo_get_matrix

(PECL cairo >= 0.1.0)

CairoContext::getMatrix -- cairo_get_matrix — El propósito de getMatrix

Descripción

Estilo orientado a objetos (método):

public void CairoContext::getMatrix ( void )

Estilo por procedimientos:

void cairo_get_matrix ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::getLineWidth
CairoContext::getMiterLimit
CairoContext


El propósito de getMiterLimit

CairoContext::getMatrix
CairoContext::getOperator
CairoContext
PHP Manual

CairoContext::getMiterLimit

cairo_get_miter_limit

(PECL cairo >= 0.1.0)

CairoContext::getMiterLimit -- cairo_get_miter_limit — El propósito de getMiterLimit

Descripción

Estilo orientado a objetos (método):

public float CairoContext::getMiterLimit ( void )

Estilo por procedimientos:

float cairo_get_miter_limit ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::getMatrix
CairoContext::getOperator
CairoContext


El propósito de getOperator

CairoContext::getMiterLimit
CairoContext::getScaledFont
CairoContext
PHP Manual

CairoContext::getOperator

cairo_get_operator

(PECL cairo >= 0.1.0)

CairoContext::getOperator -- cairo_get_operator — El propósito de getOperator

Descripción

Estilo orientado a objetos (método):

public int CairoContext::getOperator ( void )

Estilo por procedimientos:

int cairo_get_operator ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::getMiterLimit
CairoContext::getScaledFont
CairoContext


El propósito de getScaledFont

CairoContext::getOperator
CairoContext::getSource
CairoContext
PHP Manual

CairoContext::getScaledFont

cairo_get_scaled_font

(PECL cairo >= 0.1.0)

CairoContext::getScaledFont -- cairo_get_scaled_font — El propósito de getScaledFont

Descripción

Estilo orientado a objetos (método):

public void CairoContext::getScaledFont ( void )

Estilo por procedimientos:

void cairo_get_scaled_font ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::getOperator
CairoContext::getSource
CairoContext


El propósito de getSource

CairoContext::getScaledFont
CairoContext::getTarget
CairoContext
PHP Manual

CairoContext::getSource

cairo_get_source

(PECL cairo >= 0.1.0)

CairoContext::getSource -- cairo_get_source — El propósito de getSource

Descripción

Estilo orientado a objetos (método):

public void CairoContext::getSource ( void )

Estilo por procedimientos:

void cairo_get_source ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::getScaledFont
CairoContext::getTarget
CairoContext


El propósito de getTarget

CairoContext::getSource
CairoContext::getTolerance
CairoContext
PHP Manual

CairoContext::getTarget

cairo_get_target

(PECL cairo >= 0.1.0)

CairoContext::getTarget -- cairo_get_target — El propósito de getTarget

Descripción

Estilo orientado a objetos (método):

public void CairoContext::getTarget ( void )

Estilo por procedimientos:

void cairo_get_target ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::getSource
CairoContext::getTolerance
CairoContext


El propósito de getTolerance

CairoContext::getTarget
CairoContext::glyphPath
CairoContext
PHP Manual

CairoContext::getTolerance

cairo_get_tolerance

(PECL cairo >= 0.1.0)

CairoContext::getTolerance -- cairo_get_tolerance — El propósito de getTolerance

Descripción

Estilo orientado a objetos (método):

public float CairoContext::getTolerance ( void )

Estilo por procedimientos:

float cairo_get_tolerance ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::getTarget
CairoContext::glyphPath
CairoContext


El propósito de glyphPath

CairoContext::getTolerance
CairoContext::hasCurrentPoint
CairoContext
PHP Manual

CairoContext::glyphPath

cairo_glyph_path

(PECL cairo >= 0.1.0)

CairoContext::glyphPath -- cairo_glyph_path — El propósito de glyphPath

Descripción

Estilo orientado a objetos

public void CairoContext::glyphPath ( array $glyphs )

Estilo por procedimientos

void cairo_glyph_path ( CairoContext $context , array $glyphs )

Añade trazados cerrados para los glifos al trazado actual. El trazado generado, si es relleno, realiza un efecto similar al de CairoContext::showGlyphs().

Parámetros

context

Un objeto CairoContext

glyphs

Array de glifos

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

CairoContext::getTolerance
CairoContext::hasCurrentPoint
CairoContext


El propósito de hasCurrentPoint

CairoContext::glyphPath
CairoContext::identityMatrix
CairoContext
PHP Manual

CairoContext::hasCurrentPoint

cairo_has_current_point

(PECL cairo >= 0.1.0)

CairoContext::hasCurrentPoint -- cairo_has_current_point — El propósito de hasCurrentPoint

Descripción

Estilo orientado a objetos (método):

public bool CairoContext::hasCurrentPoint ( void )

Estilo por procedimientos:

bool cairo_has_current_point ( CairoContext $context )

Devuelve si está definido un punto actual sobre el trazado actual. Véase CairoContext::getCurrentPoint() para detalles sobre el punto actual.

Parámetros

context

Un objeto CairoContext válido.

Valores devueltos

Si un punto actual está definido

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);

var_dump($c->hasCurrentPoint());

$c->moveTo(10, 10);

var_dump($c->hasCurrentPoint());

?>

El resultado del ejemplo sería:

bool(false)
bool(true)

Ejemplo #2 Estilo por procedimientos

<?php

$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);

var_dump(cairo_has_current_point($c));

cairo_move_to($c, 10, 10);

var_dump(cairo_has_current_point($c));

?>

El resultado del ejemplo sería:

bool(false)
bool(true)

Ver también

  • CairoContext::getCurrentPoint() - El propósito de getCurrentPoint

CairoContext::glyphPath
CairoContext::identityMatrix
CairoContext


El propósito de identityMatrix

CairoContext::hasCurrentPoint
CairoContext::inFill
CairoContext
PHP Manual

CairoContext::identityMatrix

cairo_identity_matrix

(PECL cairo >= 0.1.0)

CairoContext::identityMatrix -- cairo_identity_matrix — El propósito de identityMatrix

Descripción

Estilo orientado a objetos (método):

public void CairoContext::identityMatrix ( void )

Estilo por procedimientos:

void cairo_identity_matrix ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::hasCurrentPoint
CairoContext::inFill
CairoContext


El propósito de inFill

CairoContext::identityMatrix
CairoContext::inStroke
CairoContext
PHP Manual

CairoContext::inFill

cairo_in_fill

(PECL cairo >= 0.1.0)

CairoContext::inFill -- cairo_in_fill — El propósito de inFill

Descripción

Estilo orientado a objetos (método):

public bool CairoContext::inFill ( string $x , string $y )

Estilo por procedimientos:

bool cairo_in_fill ( CairoContext $context , string $x , string $y )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

x

Descripción...

y

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::identityMatrix
CairoContext::inStroke
CairoContext


El propósito de inStroke

CairoContext::inFill
CairoContext::lineTo
CairoContext
PHP Manual

CairoContext::inStroke

cairo_in_stroke

(PECL cairo >= 0.1.0)

CairoContext::inStroke -- cairo_in_stroke — El propósito de inStroke

Descripción

Estilo orientado a objetos (método):

public bool CairoContext::inStroke ( string $x , string $y )

Estilo por procedimientos:

bool cairo_in_stroke ( CairoContext $context , string $x , string $y )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

x

Descripción...

y

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::inFill
CairoContext::lineTo
CairoContext


El propósito de lineTo

CairoContext::inStroke
CairoContext::mask
CairoContext
PHP Manual

CairoContext::lineTo

cairo_line_to

(PECL cairo >= 0.1.0)

CairoContext::lineTo -- cairo_line_to — El propósito de lineTo

Descripción

Estilo orientado a objetos (método):

public void CairoContext::lineTo ( string $x , string $y )

Estilo por procedimientos:

void cairo_line_to ( CairoContext $context , string $x , string $y )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

x

Descripción...

y

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::inStroke
CairoContext::mask
CairoContext


El propósito de mask

CairoContext::lineTo
CairoContext::maskSurface
CairoContext
PHP Manual

CairoContext::mask

cairo_mask

(PECL cairo >= 0.1.0)

CairoContext::mask -- cairo_mask — El propósito de mask

Descripción

Estilo orientado a objetos (método):

public void CairoContext::mask ( string $pattern )

Estilo por procedimientos:

void cairo_mask ( CairoContext $context , CairoPattern $pattern )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

pattern

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::lineTo
CairoContext::maskSurface
CairoContext


El propósito de maskSurface

CairoContext::mask
CairoContext::moveTo
CairoContext
PHP Manual

CairoContext::maskSurface

cairo_mask_surface

(PECL cairo >= 0.1.0)

CairoContext::maskSurface -- cairo_mask_surface — El propósito de maskSurface

Descripción

Estilo orientado a objetos (método):

public void CairoContext::maskSurface ( string $surface [, string $x [, string $y ]] )

Estilo por procedimientos:

void cairo_mask_surface ( CairoContext $context , CairoSurface $surface [, string $x [, string $y ]] )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

surface

Descripción...

x

Descripción...

y

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::mask
CairoContext::moveTo
CairoContext


El propósito de moveTo

CairoContext::maskSurface
CairoContext::newPath
CairoContext
PHP Manual

CairoContext::moveTo

cairo_move_to

(PECL cairo >= 0.1.0)

CairoContext::moveTo -- cairo_move_to — El propósito de moveTo

Descripción

Estilo orientado a objetos (método):

public void CairoContext::moveTo ( string $x , string $y )

Estilo por procedimientos:

void cairo_move_to ( CairoContext $context , string $x , string $y )

Inicia un nuevo subtrazado. Después de esta llamada el punto actual será (x, y).

Parámetros

context

Un objeto CairoContext válido.

x

La coordenada x de la nueva posición.

y

La coordenada y de la nueva posición.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);

$c->setSourceRgb(0, 0, 0);
$c->paint();

// Mover 10 píxeles a través, y 10 píxeles abajo
$c->moveTo(10, 10);
$c->lineTo(90, 90);
$c->setLineWidth(2);
$c->setSourceRgb(1, 1, 1);
$c->stroke();

// Mover 90 píxeles a través, y 10 píxeles abajo
$c->moveTo(90, 10);
$c->lineTo(10, 90);
$c->setLineWidth(2);
$c->setSourceRgb(1, 1, 1);
$c->stroke();

$s->writeToPng(dirname(__FILE__) . '/CairoContext_moveTo.png');
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php

$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);

cairo_set_source_rgb($c, 0, 0, 0);
cairo_paint($c);

// Mover 10 píxeles a través, y 10 píxeles abajo
cairo_move_to($c, 10, 10);
cairo_line_to($c, 90, 90);
cairo_set_line_width($c, 2);
cairo_set_source_rgb($c, 1, 1, 1);
cairo_stroke($c);

// Mover 90 píxeles a través, y 10 píxeles abajo
cairo_move_to($c, 90, 10);
cairo_line_to($c, 10, 90);
cairo_set_line_width($c, 2);
cairo_set_source_rgb($c, 1, 1, 1);
cairo_stroke($c);

cairo_surface_write_to_png($s, dirname(__FILE__) . '/cairo_move_to.png');
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::maskSurface
CairoContext::newPath
CairoContext


El propósito de newPath

CairoContext::moveTo
CairoContext::newSubPath
CairoContext
PHP Manual

CairoContext::newPath

cairo_new_path

(PECL cairo >= 0.1.0)

CairoContext::newPath -- cairo_new_path — El propósito de newPath

Descripción

Estilo orientado a objetos (método):

public void CairoContext::newPath ( void )

Estilo por procedimientos:

void cairo_new_path ( CairoContext $context )

Borra el trazado actual. Después de esta llamada no habrá trazado ni punto actual.

Parámetros

context

Un objeto CairoContext válido.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
// [...]
CairoContext::newPath();
?>

Ejemplo #2 Estilo por procedimientos

<?php
// [...]
cairo_new_path($context);
?>

Ver también

  • CairoContext::appendPath() - Añade un trazado al trazado actual
  • CairoContext::closePath() - Cierra el trazado actual

CairoContext::moveTo
CairoContext::newSubPath
CairoContext


El propósito de newSubPath

CairoContext::newPath
CairoContext::paint
CairoContext
PHP Manual

CairoContext::newSubPath

cairo_new_sub_path

(PECL cairo >= 0.1.0)

CairoContext::newSubPath -- cairo_new_sub_path — El propósito de newSubPath

Descripción

Estilo orientado a objetos (método):

public void CairoContext::newSubPath ( void )

Estilo por procedimientos:

void cairo_new_sub_path ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::newPath
CairoContext::paint
CairoContext


El propósito de paint

CairoContext::newSubPath
CairoContext::paintWithAlpha
CairoContext
PHP Manual

CairoContext::paint

cairo_paint

(PECL cairo >= 0.1.0)

CairoContext::paint -- cairo_paint — El propósito de paint

Descripción

Estilo orientado a objetos (método):

public void CairoContext::paint ( void )

Estilo por procedimientos:

void cairo_paint ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::newSubPath
CairoContext::paintWithAlpha
CairoContext


El propósito de paintWithAlpha

CairoContext::paint
CairoContext::pathExtents
CairoContext
PHP Manual

CairoContext::paintWithAlpha

cairo_paint_with_alpha

(PECL cairo >= 0.1.0)

CairoContext::paintWithAlpha -- cairo_paint_with_alpha — El propósito de paintWithAlpha

Descripción

Estilo orientado a objetos (método):

public void CairoContext::paintWithAlpha ( string $alpha )

Estilo por procedimientos:

void cairo_paint_with_alpha ( CairoContext $context , string $alpha )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

alpha

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::paint
CairoContext::pathExtents
CairoContext


El propósito de pathExtents

CairoContext::paintWithAlpha
CairoContext::popGroup
CairoContext
PHP Manual

CairoContext::pathExtents

cairo_path_extents

(PECL cairo >= 0.1.0)

CairoContext::pathExtents -- cairo_path_extents — El propósito de pathExtents

Descripción

Estilo orientado a objetos (método):

public array CairoContext::pathExtents ( void )

Estilo por procedimientos:

array cairo_path_extents ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::paintWithAlpha
CairoContext::popGroup
CairoContext


El propósito de popGroup

CairoContext::pathExtents
CairoContext::popGroupToSource
CairoContext
PHP Manual

CairoContext::popGroup

cairo_pop_group

(PECL cairo >= 0.1.0)

CairoContext::popGroup -- cairo_pop_group — El propósito de popGroup

Descripción

Estilo orientado a objetos (método):

public void CairoContext::popGroup ( void )

Estilo por procedimientos:

void cairo_pop_group ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::pathExtents
CairoContext::popGroupToSource
CairoContext


El propósito de popGroupToSource

CairoContext::popGroup
CairoContext::pushGroup
CairoContext
PHP Manual

CairoContext::popGroupToSource

cairo_pop_group_to_source

(PECL cairo >= 0.1.0)

CairoContext::popGroupToSource -- cairo_pop_group_to_source — El propósito de popGroupToSource

Descripción

Estilo orientado a objetos (método):

public void CairoContext::popGroupToSource ( void )

Estilo por procedimientos:

void cairo_pop_group_to_source ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::popGroup
CairoContext::pushGroup
CairoContext


El propósito de pushGroup

CairoContext::popGroupToSource
CairoContext::pushGroupWithContent
CairoContext
PHP Manual

CairoContext::pushGroup

cairo_push_group

(PECL cairo >= 0.1.0)

CairoContext::pushGroup -- cairo_push_group — El propósito de pushGroup

Descripción

Estilo orientado a objetos (método):

public void CairoContext::pushGroup ( void )

Estilo por procedimientos:

void cairo_push_group ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::popGroupToSource
CairoContext::pushGroupWithContent
CairoContext


El propósito de pushGroupWithContent

CairoContext::pushGroup
CairoContext::rectangle
CairoContext
PHP Manual

CairoContext::pushGroupWithContent

cairo_push_group_with_content

(PECL cairo >= 0.1.0)

CairoContext::pushGroupWithContent -- cairo_push_group_with_content — El propósito de pushGroupWithContent

Descripción

Estilo orientado a objetos (método):

public void CairoContext::pushGroupWithContent ( string $content )

Estilo por procedimientos:

void cairo_push_group_with_content ( CairoContext $context , string $content )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

content

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::pushGroup
CairoContext::rectangle
CairoContext


El propósito de rectangle

CairoContext::pushGroupWithContent
CairoContext::relCurveTo
CairoContext
PHP Manual

CairoContext::rectangle

cairo_rectangle

(PECL cairo >= 0.1.0)

CairoContext::rectangle -- cairo_rectangle — El propósito de rectangle

Descripción

Estilo orientado a objetos (método):

public void CairoContext::rectangle ( string $x , string $y , string $width , string $height )

Estilo por procedimientos:

void cairo_rectangle ( CairoContext $context , string $x , string $y , string $width , string $height )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

x

Descripción...

y

Descripción...

width

Descripción...

height

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::pushGroupWithContent
CairoContext::relCurveTo
CairoContext


El propósito de relCurveTo

CairoContext::rectangle
CairoContext::relLineTo
CairoContext
PHP Manual

CairoContext::relCurveTo

cairo_rel_curve_to

(PECL cairo >= 0.1.0)

CairoContext::relCurveTo -- cairo_rel_curve_to — El propósito de relCurveTo

Descripción

Estilo orientado a objetos (método):

public void CairoContext::relCurveTo ( string $x1 , string $y1 , string $x2 , string $y2 , string $x3 , string $y3 )

Estilo por procedimientos:

void cairo_rel_curve_to ( CairoContext $context , string $x1 , string $y1 , string $x2 , string $y2 , string $x3 , string $y3 )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

x1

Descripción...

y1

Descripción...

x2

Descripción...

y2

Descripción...

x3

Descripción...

y3

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::rectangle
CairoContext::relLineTo
CairoContext


El propósito de relLineTo

CairoContext::relCurveTo
CairoContext::relMoveTo
CairoContext
PHP Manual

CairoContext::relLineTo

cairo_rel_line_to

(PECL cairo >= 0.1.0)

CairoContext::relLineTo -- cairo_rel_line_to — El propósito de relLineTo

Descripción

Estilo orientado a objetos (método):

public void CairoContext::relLineTo ( string $x , string $y )

Estilo por procedimientos:

void cairo_rel_line_to ( CairoContext $context , string $x , string $y )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

x

Descripción...

y

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::relCurveTo
CairoContext::relMoveTo
CairoContext


El propósito de relMoveTo

CairoContext::relLineTo
CairoContext::resetClip
CairoContext
PHP Manual

CairoContext::relMoveTo

cairo_rel_move_to

(PECL cairo >= 0.1.0)

CairoContext::relMoveTo -- cairo_rel_move_to — El propósito de relMoveTo

Descripción

Estilo orientado a objetos (método):

public void CairoContext::relMoveTo ( string $x , string $y )

Estilo por procedimientos:

void cairo_rel_move_to ( CairoContext $context , string $x , string $y )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

x

Descripción...

y

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::relLineTo
CairoContext::resetClip
CairoContext


El propósito de resetClip

CairoContext::relMoveTo
CairoContext::restore
CairoContext
PHP Manual

CairoContext::resetClip

cairo_reset_clip

(PECL cairo >= 0.1.0)

CairoContext::resetClip -- cairo_reset_clip — El propósito de resetClip

Descripción

Estilo orientado a objetos (método):

public void CairoContext::resetClip ( void )

Estilo por procedimientos:

void cairo_reset_clip ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::relMoveTo
CairoContext::restore
CairoContext


El propósito de restore

CairoContext::resetClip
CairoContext::rotate
CairoContext
PHP Manual

CairoContext::restore

cairo_restore

(PECL cairo >= 0.1.0)

CairoContext::restore -- cairo_restore — El propósito de restore

Descripción

Estilo orientado a objetos (método):

public void CairoContext::restore ( void )

Estilo por procedimientos:

void cairo_restore ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::resetClip
CairoContext::rotate
CairoContext


El propósito de rotate

CairoContext::restore
CairoContext::save
CairoContext
PHP Manual

CairoContext::rotate

cairo_rotate

(PECL cairo >= 0.1.0)

CairoContext::rotate -- cairo_rotate — El propósito de rotate

Descripción

Estilo orientado a objetos (método):

public void CairoContext::rotate ( string $angle )

Estilo por procedimientos:

void cairo_rotate ( CairoContext $context , string $angle )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

angle

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::restore
CairoContext::save
CairoContext


El propósito de save

CairoContext::rotate
CairoContext::scale
CairoContext
PHP Manual

CairoContext::save

cairo_save

(PECL cairo >= 0.1.0)

CairoContext::save -- cairo_save — El propósito de save

Descripción

Estilo orientado a objetos (método):

public void CairoContext::save ( void )

Estilo por procedimientos:

void cairo_save ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::rotate
CairoContext::scale
CairoContext


El propósito de scale

CairoContext::save
CairoContext::selectFontFace
CairoContext
PHP Manual

CairoContext::scale

cairo_scale

(PECL cairo >= 0.1.0)

CairoContext::scale -- cairo_scale — El propósito de scale

Descripción

Estilo orientado a objetos (método):

public void CairoContext::scale ( string $x , string $y )

Estilo por procedimientos:

void cairo_scale ( CairoContext $context , string $x , string $y )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

x

Descripción...

y

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::save
CairoContext::selectFontFace
CairoContext


El propósito de selectFontFace

CairoContext::scale
CairoContext::setAntialias
CairoContext
PHP Manual

CairoContext::selectFontFace

cairo_select_font_face

(PECL cairo >= 0.1.0)

CairoContext::selectFontFace -- cairo_select_font_face — El propósito de selectFontFace

Descripción

Estilo orientado a objetos (método):

public void CairoContext::selectFontFace ( string $family [, string $slant [, string $weight ]] )

Estilo por procedimientos:

void cairo_select_font_face ( CairoContext $context , string $family [, string $slant [, string $weight ]] )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

family

Descripción...

slant

Descripción...

weight

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::scale
CairoContext::setAntialias
CairoContext


El propósito de setAntialias

CairoContext::selectFontFace
CairoContext::setDash
CairoContext
PHP Manual

CairoContext::setAntialias

cairo_set_antialias

(PECL cairo >= 0.1.0)

CairoContext::setAntialias -- cairo_set_antialias — El propósito de setAntialias

Descripción

Estilo orientado a objetos (método):

public void CairoContext::setAntialias ([ string $antialias ] )

Estilo por procedimientos:

void cairo_set_antialias ( CairoContext $context [, string $antialias ] )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

antialias

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::selectFontFace
CairoContext::setDash
CairoContext


El propósito de setDash

CairoContext::setAntialias
CairoContext::setFillRule
CairoContext
PHP Manual

CairoContext::setDash

cairo_set_dash

(PECL cairo >= 0.1.0)

CairoContext::setDash -- cairo_set_dash — El propósito de setDash

Descripción

Estilo orientado a objetos (método):

public void CairoContext::setDash ( string $dashes [, string $offset ] )

Estilo por procedimientos:

void cairo_set_dash ( CairoContext $context , array $dashes [, string $offset ] )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

dashes

Descripción...

offset

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::setAntialias
CairoContext::setFillRule
CairoContext


El propósito de setFillRule

CairoContext::setDash
CairoContext::setFontFace
CairoContext
PHP Manual

CairoContext::setFillRule

cairo_set_fill_rule

(PECL cairo >= 0.1.0)

CairoContext::setFillRule -- cairo_set_fill_rule — El propósito de setFillRule

Descripción

Estilo orientado a objetos (método):

public void CairoContext::setFillRule ( string $setting )

Estilo por procedimientos:

void cairo_set_fill_rule ( CairoContext $context , string $setting )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

setting

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::setDash
CairoContext::setFontFace
CairoContext


El propósito de setFontFace

CairoContext::setFillRule
CairoContext::setFontMatrix
CairoContext
PHP Manual

CairoContext::setFontFace

cairo_set_font_face

(PECL cairo >= 0.1.0)

CairoContext::setFontFace -- cairo_set_font_face — El propósito de setFontFace

Descripción

Estilo orientado a objetos (método):

public void CairoContext::setFontFace ( CairoFontFace $fontface )

Estilo por procedimientos:

void cairo_set_font_face ( CairoContext $context , CairoFontFace $fontface )

Establece la familia de fuetnes para un contexto dado.

Parámetros

context

Un objeto CairoContext para cambiar la familia de fuentes.

fontface

Un objeto CairoFontFace

Valores devueltos

No se devuelve ningún valor

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
// Nueva superficie con fondo blanco
$s = new CairoImageSurface(CairoFormat::ARGB32, 300, 100);
$c = new CairoContext($s);
$c->setSourceRgb(1, 1, 1);
$c->paint();

// Dibujar algo de texto
$c->setSourceRgb(0, 0, 0);
$c->moveTo(10, 60);
// Crear una nueva familia de fuentes
$f = new CairoToyFontFace("sans-serif", CairoFontSlant::NORMAL, CairoFontWeight::NORMAL);
$c->setFontFace($f);
$c->setFontSize(30);
$c->showText('Hello, World!');
$s->writeToPng(dirname(__FILE__) . '/setFontFace.png');
?>

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

Ver también

  • CairoContext::setFontSize() - El propósito de setFontSize
  • CairoContext::showText() - El propósito de showText

CairoContext::setFillRule
CairoContext::setFontMatrix
CairoContext


El propósito de setFontMatrix

CairoContext::setFontFace
CairoContext::setFontOptions
CairoContext
PHP Manual

CairoContext::setFontMatrix

cairo_set_font_matrix

(PECL cairo >= 0.1.0)

CairoContext::setFontMatrix -- cairo_set_font_matrix — El propósito de setFontMatrix

Descripción

Estilo orientado a objetos (método):

public void CairoContext::setFontMatrix ( string $matrix )

Estilo por procedimientos:

void cairo_set_font_matrix ( CairoContext $context , CairoMatrix $matrix )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

matrix

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::setFontFace
CairoContext::setFontOptions
CairoContext


El propósito de setFontOptions

CairoContext::setFontMatrix
CairoContext::setFontSize
CairoContext
PHP Manual

CairoContext::setFontOptions

cairo_set_font_options

(PECL cairo >= 0.1.0)

CairoContext::setFontOptions -- cairo_set_font_options — El propósito de setFontOptions

Descripción

Estilo orientado a objetos (método):

public void CairoContext::setFontOptions ( string $fontoptions )

Estilo por procedimientos:

void cairo_set_font_options ( CairoContext $context , CairoFontOptions $fontoptions )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

fontoptions

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::setFontMatrix
CairoContext::setFontSize
CairoContext


El propósito de setFontSize

CairoContext::setFontOptions
CairoContext::setLineCap
CairoContext
PHP Manual

CairoContext::setFontSize

cairo_set_font_size

(PECL cairo >= 0.1.0)

CairoContext::setFontSize -- cairo_set_font_size — El propósito de setFontSize

Descripción

Estilo orientado a objetos (método):

public void CairoContext::setFontSize ( string $size )

Estilo por procedimientos:

void cairo_set_font_size ( CairoContext $context , string $size )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

size

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::setFontOptions
CairoContext::setLineCap
CairoContext


El propósito de setLineCap

CairoContext::setFontSize
CairoContext::setLineJoin
CairoContext
PHP Manual

CairoContext::setLineCap

cairo_set_line_cap

(PECL cairo >= 0.1.0)

CairoContext::setLineCap -- cairo_set_line_cap — El propósito de setLineCap

Descripción

Estilo orientado a objetos (método):

public void CairoContext::setLineCap ( string $setting )

Estilo por procedimientos:

void cairo_set_line_cap ( CairoContext $context , string $setting )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

setting

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::setFontSize
CairoContext::setLineJoin
CairoContext


El propósito de setLineJoin

CairoContext::setLineCap
CairoContext::setLineWidth
CairoContext
PHP Manual

CairoContext::setLineJoin

cairo_set_line_join

(PECL cairo >= 0.1.0)

CairoContext::setLineJoin -- cairo_set_line_join — El propósito de setLineJoin

Descripción

Estilo orientado a objetos (método):

public void CairoContext::setLineJoin ( string $setting )

Estilo por procedimientos:

void cairo_set_line_join ( CairoContext $context , string $setting )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

setting

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::setLineCap
CairoContext::setLineWidth
CairoContext


El propósito de setLineWidth

CairoContext::setLineJoin
CairoContext::setMatrix
CairoContext
PHP Manual

CairoContext::setLineWidth

cairo_set_line_width

(PECL cairo >= 0.1.0)

CairoContext::setLineWidth -- cairo_set_line_width — El propósito de setLineWidth

Descripción

Estilo orientado a objetos (método):

public void CairoContext::setLineWidth ( string $width )

Estilo por procedimientos:

void cairo_set_line_width ( CairoContext $context , string $width )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

width

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::setLineJoin
CairoContext::setMatrix
CairoContext


El propósito de setMatrix

CairoContext::setLineWidth
CairoContext::setMiterLimit
CairoContext
PHP Manual

CairoContext::setMatrix

cairo_set_matrix

(PECL cairo >= 0.1.0)

CairoContext::setMatrix -- cairo_set_matrix — El propósito de setMatrix

Descripción

Estilo orientado a objetos (método):

public void CairoContext::setMatrix ( string $matrix )

Estilo por procedimientos:

void cairo_set_matrix ( CairoContext $context , CairoMatrix $matrix )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

matrix

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::setLineWidth
CairoContext::setMiterLimit
CairoContext


El propósito de setMiterLimit

CairoContext::setMatrix
CairoContext::setOperator
CairoContext
PHP Manual

CairoContext::setMiterLimit

cairo_set_miter_limit

(PECL cairo >= 0.1.0)

CairoContext::setMiterLimit -- cairo_set_miter_limit — El propósito de setMiterLimit

Descripción

Estilo orientado a objetos (método):

public void CairoContext::setMiterLimit ( string $limit )

Estilo por procedimientos:

void cairo_set_miter_limit ( CairoContext $context , string $limit )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

limit

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::setMatrix
CairoContext::setOperator
CairoContext


El propósito de setOperator

CairoContext::setMiterLimit
CairoContext::setScaledFont
CairoContext
PHP Manual

CairoContext::setOperator

cairo_set_operator

(PECL cairo >= 0.1.0)

CairoContext::setOperator -- cairo_set_operator — El propósito de setOperator

Descripción

Estilo orientado a objetos (método):

public void CairoContext::setOperator ( string $setting )

Estilo por procedimientos:

void cairo_set_operator ( CairoContext $context , string $setting )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

setting

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::setMiterLimit
CairoContext::setScaledFont
CairoContext


El propósito de setScaledFont

CairoContext::setOperator
CairoContext::setSource
CairoContext
PHP Manual

CairoContext::setScaledFont

cairo_set_scaled_font

(PECL cairo >= 0.1.0)

CairoContext::setScaledFont -- cairo_set_scaled_font — El propósito de setScaledFont

Descripción

Estilo orientado a objetos (método):

public void CairoContext::setScaledFont ( string $scaledfont )

Estilo por procedimientos:

void cairo_set_scaled_font ( CairoContext $context , CairoScaledFont $scaledfont )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

scaledfont

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::setOperator
CairoContext::setSource
CairoContext


El propósito de setSource

CairoContext::setScaledFont
CairoContext::setSourceRGB
CairoContext
PHP Manual

CairoContext::setSource

cairo_set_source

(PECL cairo >= 0.1.0)

CairoContext::setSource -- cairo_set_source — El propósito de setSource

Descripción

Estilo orientado a objetos (método):

public void CairoContext::setSource ( string $pattern )

Estilo por procedimientos:

void cairo_set_source ( CairoContext $context , CairoPattern $pattern )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

pattern

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::setScaledFont
CairoContext::setSourceRGB
CairoContext


El propósito de setSourceRGB

CairoContext::setSource
CairoContext::setSourceRGBA
CairoContext
PHP Manual

CairoContext::setSourceRGB

cairo_set_source

(PECL cairo >= 0.1.0)

CairoContext::setSourceRGB -- cairo_set_source — El propósito de setSourceRGB

Descripción

Estilo orientado a objetos (método):

public void CairoContext::setSourceRGB ( string $red , string $green , string $blue )

Estilo por procedimientos:

void cairo_set_source ( CairoContext $context , CairoPattern $pattern )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

pattern

Descripción...

red

Descripción...

green

Descripción...

blue

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::setSource
CairoContext::setSourceRGBA
CairoContext


El propósito de setSourceRGBA

CairoContext::setSourceRGB
CairoContext::setSourceSurface
CairoContext
PHP Manual

CairoContext::setSourceRGBA

cairo_set_source

(PECL cairo >= 0.1.0)

CairoContext::setSourceRGBA -- cairo_set_source — El propósito de setSourceRGBA

Descripción

Estilo orientado a objetos (método):

public void CairoContext::setSourceRGBA ( string $red , string $green , string $blue , string $alpha )

Estilo por procedimientos:

void cairo_set_source ( CairoContext $context , CairoPattern $pattern )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

pattern

Descripción...

red

Descripción...

green

Descripción...

blue

Descripción...

alpha

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::setSourceRGB
CairoContext::setSourceSurface
CairoContext


El propósito de setSourceSurface

CairoContext::setSourceRGBA
CairoContext::setTolerance
CairoContext
PHP Manual

CairoContext::setSourceSurface

cairo_set_source_surface

(PECL cairo >= 0.1.0)

CairoContext::setSourceSurface -- cairo_set_source_surface — El propósito de setSourceSurface

Descripción

Estilo orientado a objetos (método):

public void CairoContext::setSourceSurface ( string $surface [, string $x [, string $y ]] )

Estilo por procedimientos:

void cairo_set_source_surface ( CairoContext $context , CairoSurface $surface [, string $x [, string $y ]] )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

surface

Descripción...

x

Descripción...

y

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::setSourceRGBA
CairoContext::setTolerance
CairoContext


El propósito de setTolerance

CairoContext::setSourceSurface
CairoContext::showPage
CairoContext
PHP Manual

CairoContext::setTolerance

cairo_set_tolerance

(PECL cairo >= 0.1.0)

CairoContext::setTolerance -- cairo_set_tolerance — El propósito de setTolerance

Descripción

Estilo orientado a objetos (método):

public void CairoContext::setTolerance ( string $tolerance )

Estilo por procedimientos:

void cairo_set_tolerance ( CairoContext $context , string $tolerance )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

tolerance

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::setSourceSurface
CairoContext::showPage
CairoContext


El propósito de showPage

CairoContext::setTolerance
CairoContext::showText
CairoContext
PHP Manual

CairoContext::showPage

cairo_show_page

(PECL cairo >= 0.1.0)

CairoContext::showPage -- cairo_show_page — El propósito de showPage

Descripción

Estilo orientado a objetos (método):

public void CairoContext::showPage ( void )

Estilo por procedimientos:

void cairo_show_page ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::setTolerance
CairoContext::showText
CairoContext


El propósito de showText

CairoContext::showPage
CairoContext::status
CairoContext
PHP Manual

CairoContext::showText

cairo_show_text

(PECL cairo >= 0.1.0)

CairoContext::showText -- cairo_show_text — El propósito de showText

Descripción

Estilo orientado a objetos (método):

public void CairoContext::showText ( string $text )

Estilo por procedimientos:

void cairo_show_text ( CairoContext $context , string $text )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

text

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::showPage
CairoContext::status
CairoContext


El propósito de status

CairoContext::showText
CairoContext::stroke
CairoContext
PHP Manual

CairoContext::status

cairo_status

(PECL cairo >= 0.1.0)

CairoContext::status -- cairo_status — El propósito de status

Descripción

Estilo orientado a objetos (método):

public int CairoContext::status ( void )

Estilo por procedimientos:

int cairo_status ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::showText
CairoContext::stroke
CairoContext


El propósito de stroke

CairoContext::status
CairoContext::strokeExtents
CairoContext
PHP Manual

CairoContext::stroke

cairo_stroke

(PECL cairo >= 0.1.0)

CairoContext::stroke -- cairo_stroke — El propósito de stroke

Descripción

Estilo orientado a objetos (método):

public void CairoContext::stroke ( void )

Estilo por procedimientos:

void cairo_stroke ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::status
CairoContext::strokeExtents
CairoContext


El propósito de strokeExtents

CairoContext::stroke
CairoContext::strokePreserve
CairoContext
PHP Manual

CairoContext::strokeExtents

cairo_stroke_extents

(PECL cairo >= 0.1.0)

CairoContext::strokeExtents -- cairo_stroke_extents — El propósito de strokeExtents

Descripción

Estilo orientado a objetos (método):

public array CairoContext::strokeExtents ( void )

Estilo por procedimientos:

array cairo_stroke_extents ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::stroke
CairoContext::strokePreserve
CairoContext


El propósito de strokePreserve

CairoContext::strokeExtents
CairoContext::textExtents
CairoContext
PHP Manual

CairoContext::strokePreserve

cairo_stroke_preserve

(PECL cairo >= 0.1.0)

CairoContext::strokePreserve -- cairo_stroke_preserve — El propósito de strokePreserve

Descripción

Estilo orientado a objetos (método):

public void CairoContext::strokePreserve ( void )

Estilo por procedimientos:

void cairo_stroke_preserve ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::strokeExtents
CairoContext::textExtents
CairoContext


El propósito de textExtents

CairoContext::strokePreserve
CairoContext::textPath
CairoContext
PHP Manual

CairoContext::textExtents

cairo_text_extents

(PECL cairo >= 0.1.0)

CairoContext::textExtents -- cairo_text_extents — El propósito de textExtents

Descripción

Estilo orientado a objetos (método):

public array CairoContext::textExtents ( string $text )

Estilo por procedimientos:

array cairo_text_extents ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

text

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::strokePreserve
CairoContext::textPath
CairoContext


El propósito de textPath

CairoContext::textExtents
CairoContext::transform
CairoContext
PHP Manual

CairoContext::textPath

cairo_text_path

(PECL cairo >= 0.1.0)

CairoContext::textPath -- cairo_text_path — El propósito de textPath

Descripción

Estilo orientado a objetos

public void CairoContext::textPath ( string $string )

Estilo por procedimientos

void cairo_text_path ( CairoContext $context , string $text )

Añade trazados cerrados para texto al trazado actual. El trazado generado, si se rellena, consigue un efecto similar al de CairoContext::showText().

La conversión y posicionamiento de texto se hace de manera similar a CairoContext::showText().

Al igual que en CairoContext::showText(), después de esta llamada el punto actual se mueve al origen de donde sería colocado el siguiente glifo en esta misma progresión. Es decir, el punto actual estará en el origen del índice de del glifo final mediante sus valores de avance. Esto permite cambiar múltiples llamadas a CairoContext::showText() sin tener que establecer el punto actual entre ellas.

Observación: La llamada a la función CairoContext::textPath() es parte de lo que los diseñadores de cairo llaman la API de texto "toy". Es conveniente para demos cortas y programas sencillos, pero no se espera que sea adecuada para aplicaciones serias que usan texto. Véase CairoContext::glyphPath() para la API "real" de trazado de texto de cairo.

Parámetros

context

Un objeto CairoContext

text

Descripción...

string

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::textExtents
CairoContext::transform
CairoContext


El propósito de transform

CairoContext::textPath
CairoContext::translate
CairoContext
PHP Manual

CairoContext::transform

cairo_transform

(PECL cairo >= 0.1.0)

CairoContext::transform -- cairo_transform — El propósito de transform

Descripción

Estilo orientado a objetos (método):

public void CairoContext::transform ( string $matrix )

Estilo por procedimientos:

void cairo_transform ( CairoContext $context , CairoMatrix $matrix )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

matrix

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::textPath
CairoContext::translate
CairoContext


El propósito de translate

CairoContext::transform
CairoContext::userToDevice
CairoContext
PHP Manual

CairoContext::translate

cairo_translate

(PECL cairo >= 0.1.0)

CairoContext::translate -- cairo_translate — El propósito de translate

Descripción

Estilo orientado a objetos (método):

public void CairoContext::translate ( string $x , string $y )

Estilo por procedimientos:

void cairo_translate ( CairoContext $context , string $x , string $y )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

x

Descripción...

y

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::transform
CairoContext::userToDevice
CairoContext


El propósito de userToDevice

CairoContext::translate
CairoContext::userToDeviceDistance
CairoContext
PHP Manual

CairoContext::userToDevice

cairo_user_to_device

(PECL cairo >= 0.1.0)

CairoContext::userToDevice -- cairo_user_to_device — El propósito de userToDevice

Descripción

Estilo orientado a objetos (método):

public array CairoContext::userToDevice ( string $x , string $y )

Estilo por procedimientos:

array cairo_user_to_device ( CairoContext $context , string $x , string $y )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

x

Descripción...

y

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::translate
CairoContext::userToDeviceDistance
CairoContext


El propósito de userToDeviceDistance

CairoContext::userToDevice
CairoException
CairoContext
PHP Manual

CairoContext::userToDeviceDistance

cairo_user_to_device_distance

(PECL cairo >= 0.1.0)

CairoContext::userToDeviceDistance -- cairo_user_to_device_distance — El propósito de userToDeviceDistance

Descripción

Estilo orientado a objetos (método):

public array CairoContext::userToDeviceDistance ( string $x , string $y )

Estilo por procedimientos:

array cairo_user_to_device_distance ( CairoContext $context , string $x , string $y )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

x

Descripción...

y

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoContext::userToDevice
CairoException
CairoContext


La clase CairoException

(PECL cairo >= 0.1.0)

Introducción

Clase de Exception lanzada por las funciones y métodos de Cairo

Sinopsis de la Clase

CairoException extends Exception {
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
CairoContext::userToDeviceDistance
CairoStatus
Cairo


La clase CairoStatus

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

CairoStatus se usa para indicar errores que pueden ocurrir al usar Cairo. En algunos casos es devuelta directamente por funciones, pero cuando se usa CairoContext, el último error, si hubo alguno, es almacenado en el objeto y puede ser recuperado con CairoContext::status() o cairo_status(). Se pueden añadir nueveas entradas en futuras versiones.

Use Cairo::statusToString() o cairo_status_to_string() para obtener una representación legible por humanos de un mensaje de error.

Sinopsis de la Clase

CairoStatus {
/* Constantes */
const integer SUCCESS = 0 ;
const integer NO_MEMORY = 1 ;
const integer INVALID_RESTORE = 2 ;
const integer INVALID_POP_GROUP = 3 ;
const integer NO_CURRENT_POINT = 4 ;
const integer INVALID_MATRIX = 5 ;
const integer INVALID_STATUS = 6 ;
const integer NULL_POINTER = 7 ;
const integer INVALID_STRING = 8 ;
const integer INVALID_PATH_DATA = 9 ;
const integer READ_ERROR = 10 ;
const integer WRITE_ERROR = 11 ;
const integer SURFACE_FINISHED = 12 ;
const integer SURFACE_TYPE_MISMATCH = 13 ;
const integer PATTERN_TYPE_MISMATCH = 14 ;
const integer INVALID_CONTENT = 15 ;
const integer INVALID_FORMAT = 16 ;
const integer INVALID_VISUAL = 17 ;
const integer FILE_NOT_FOUND = 18 ;
const integer INVALID_DASH = 19 ;
const integer INVALID_DSC_COMMENT = 20 ;
const integer INVALID_INDEX = 21 ;
const integer CLIP_NOT_REPRESENTABLE = 22 ;
const integer TEMP_FILE_ERROR = 23 ;
const integer INVALID_STRIDE = 24 ;
}

Constantes predefinidas

CairoStatus::SUCCESS

No ocurrió ningún error

CairoStatus::NO_MEMORY

Sin memoria

CairoStatus::INVALID_RESTORE

cairo_restore() llamado si coincidir con cairo_save()

CairoStatus::INVALID_POP_GROUP

No hay grupos guardados para sacar

CairoStatus::NO_CURRENT_POINT

Ne está definido el punto actual

CairoStatus::INVALID_MATRIX

Matriz no válida (no invertible)

CairoStatus::INVALID_STATUS

Valor no válido para una salida de CairoStatus>

CairoStatus::NULL_POINTER

Puntero nulo

CairoStatus::INVALID_STRING

La cadena de salida no es una cadena UTF-8 válida

CairoStatus::INVALID_PATH_DATA

Información de la ruta de salida no válida

CairoStatus::READ_ERROR

Error mientras se leía desde el flujo de salida

CairoStatus::WRITE_ERROR

Error mientras se escribía en el flujo de salida

CairoStatus::SURFACE_FINISHED

La superficie del objetivo ha sido finalizada

CairoStatus::SURFACE_TYPE_MISMATCH

El tipo de superficie no es apropiado para la operación

CairoStatus::PATTERN_TYPE_MISMATCH

El tipo de patrón no es apropiado para la operación

CairoStatus::INVALID_CONTENT

Valor no válido para una salida de CairoContent

CairoStatus::INVALID_FORMAT

Valor no válido para un salida de CairoFormat

CairoStatus::INVALID_VISUAL

Valor no válido para una salida Visual

CairoStatus::FILE_NOT_FOUND

Archivo no encontrado

CairoStatus::INVALID_DASH

Valor no válido para un ajuste dash

CairoStatus::INVALID_DSC_COMMENT

Valor no válido para un comentario DSC

CairoStatus::INVALID_INDEX

Índice no válido pasado para "getter"

CairoStatus::CLIP_NOT_REPRESENTABLE

Región de recorte no representable en el formato deseado

CairoStatus::TEMP_FILE_ERROR

Error creando o escribiendo un archivo temporal

CairoStatus::INVALID_STRIDE

Valor no válido para CairoStride

CairoException
CairoSurface
Cairo


La clase CairoSurface

(PECL cairo >= 0.1.0)

Introducción

Esta es una clase base para todos los demás tipos de Superficie. CairoSurface es un tipo abstracto que representa todos los diferentes objetivos de dibujo que cairo puede renderizar. Los dibujos actuales se llevan a cabo usando un CairoContext.

Sinopsis de la Clase

CairoSurface {
/* Métodos */
public __construct ( void )
public void copyPage ( void )
public void createSimilar ( CairoSurface $other , int $content , string $width , string $height )
public void finish ( void )
public void flush ( void )
public int getContent ( void )
public array getDeviceOffset ( void )
public void getFontOptions ( void )
public int getType ( void )
public void markDirty ( void )
public void markDirtyRectangle ( string $x , string $y , string $width , string $height )
public void setDeviceOffset ( string $x , string $y )
public void setFallbackResolution ( string $x , string $y )
public void showPage ( void )
public int status ( void )
public void writeToPng ( string $file )
}

Tabla de contenidos

  • CairoSurface::__construct — El propósito de __construct
  • CairoSurface::copyPage — El propósito de copyPage
  • CairoSurface::createSimilar — El propósito de createSimilar
  • CairoSurface::finish — El propósito de finish
  • CairoSurface::flush — El propósito de flush
  • CairoSurface::getContent — El propósito de getContent
  • CairoSurface::getDeviceOffset — El propósito de getDeviceOffset
  • CairoSurface::getFontOptions — El propósito de getFontOptions
  • CairoSurface::getType — El propósito de getType
  • CairoSurface::markDirty — El propósito de markDirty
  • CairoSurface::markDirtyRectangle — El propósito de markDirtyRectangle
  • CairoSurface::setDeviceOffset — El propósito de setDeviceOffset
  • CairoSurface::setFallbackResolution — El propósito de setFallbackResolution
  • CairoSurface::showPage — El propósito de showPage
  • CairoSurface::status — El propósito de status
  • CairoSurface::writeToPng — El propósito de writeToPng
CairoStatus
CairoSurface::__construct
Cairo


El propósito de __construct

CairoSurface
CairoSurface::copyPage
CairoSurface
PHP Manual

CairoSurface::__construct

(PECL cairo >= 0.1.0)

CairoSurface::__construct — El propósito de __construct

Descripción

public CairoSurface::__construct ( void )

CairoSurface es un tipo abstracto y, como tal, no debería ser instanciado en los scripts de PHP.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor

Notas

Nota:

Si está usando una versión de PHP anterior a 5.3, debe destruir el CairoContext asociado con CairoSurface después de destruir el CairoSurface. De otro modo, perderá información de referencia circular en la memoria.

Ver también

  • CairoImageSurface::__construct() - Crea una nueva CairoImageSurface

CairoSurface
CairoSurface::copyPage
CairoSurface


El propósito de copyPage

CairoSurface::__construct
CairoSurface::createSimilar
CairoSurface
PHP Manual

CairoSurface::copyPage

cairo_copy_page

(PECL cairo >= 0.1.0)

CairoSurface::copyPage -- cairo_copy_page — El propósito de copyPage

Descripción

Estilo orientado a objetos (método):

public void CairoSurface::copyPage ( void )

Estilo por procedimientos:

void cairo_copy_page ( CairoContext $context )

Emite la página actual para entornos que soportan múltiples página, pero no la borra, así que el contenido de la página actual será mantenido para la siguiente página. Use CairoSurface::showPage() si quiere obtener una página vacía después de la emisión.

Parámetros

context

Un objeto CairoContext

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoSurface::__construct
CairoSurface::createSimilar
CairoSurface


El propósito de createSimilar

CairoSurface::copyPage
CairoSurface::finish
CairoSurface
PHP Manual

CairoSurface::createSimilar

(PECL cairo >= 0.1.0)

CairoSurface::createSimilar — El propósito de createSimilar

Descripción

public void CairoSurface::createSimilar ( CairoSurface $other , int $content , string $width , string $height )

Crea una nueva superficie que es tan compatible como se pueda con una superficie existente. Por ejemplo, la nueva superficie tendrá la misma resolución y opciones de fuente que la otra. Ggeneral,mente la nueva superficie también usará el mismo entorno que la otra, a menos que no sea posible por alguna razón. El tipo de la superficie devuelta puede ser examinado con CairoSurface::getType(). Inicialmente los contenidos de la superficie son todos 0 (transparente si el contenido tiene transparencia, negro si no.)

Parámetros

other

Un superficie existente usada para seleccionar el entorno de la nueva superficie

content

El contenido de la nueva superficie. Véase la clase CairoContent para los posibles valores.

width

Ancho de la nueva superficie, (en unidades de espacio del dispositivo).

height

Alto de la nueva superficie, (en unidades de espacio del dispositivo).

Valores devueltos

Una nueva CairoSurface

Ejemplos

Ejemplo #1 Ejemplo de CairoSurface::createSimilar()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • CairoContent()

CairoSurface::copyPage
CairoSurface::finish
CairoSurface


El propósito de finish

CairoSurface::createSimilar
CairoSurface::flush
CairoSurface
PHP Manual

CairoSurface::finish

(PECL cairo >= 0.1.0)

CairoSurface::finish — El propósito de finish

Descripción

public void CairoSurface::finish ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoSurface::finish()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoSurface::createSimilar
CairoSurface::flush
CairoSurface


El propósito de flush

CairoSurface::finish
CairoSurface::getContent
CairoSurface
PHP Manual

CairoSurface::flush

(PECL cairo >= 0.1.0)

CairoSurface::flush — El propósito de flush

Descripción

public void CairoSurface::flush ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoSurface::flush()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoSurface::finish
CairoSurface::getContent
CairoSurface


El propósito de getContent

CairoSurface::flush
CairoSurface::getDeviceOffset
CairoSurface
PHP Manual

CairoSurface::getContent

(PECL cairo >= 0.1.0)

CairoSurface::getContent — El propósito de getContent

Descripción

public int CairoSurface::getContent ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoSurface::getContent()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoSurface::flush
CairoSurface::getDeviceOffset
CairoSurface


El propósito de getDeviceOffset

CairoSurface::getContent
CairoSurface::getFontOptions
CairoSurface
PHP Manual

CairoSurface::getDeviceOffset

(PECL cairo >= 0.1.0)

CairoSurface::getDeviceOffset — El propósito de getDeviceOffset

Descripción

public array CairoSurface::getDeviceOffset ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoSurface::getDeviceOffset()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoSurface::getContent
CairoSurface::getFontOptions
CairoSurface


El propósito de getFontOptions

CairoSurface::getDeviceOffset
CairoSurface::getType
CairoSurface
PHP Manual

CairoSurface::getFontOptions

cairo_get_font_options

(PECL cairo >= 0.1.0)

CairoSurface::getFontOptions -- cairo_get_font_options — El propósito de getFontOptions

Descripción

Estilo orientado a objetos (método):

public void CairoSurface::getFontOptions ( void )

Estilo por procedimientos:

void cairo_get_font_options ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoSurface::getDeviceOffset
CairoSurface::getType
CairoSurface


El propósito de getType

CairoSurface::getFontOptions
CairoSurface::markDirty
CairoSurface
PHP Manual

CairoSurface::getType

(PECL cairo >= 0.1.0)

CairoSurface::getType — El propósito de getType

Descripción

public int CairoSurface::getType ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoSurface::getType()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoSurface::getFontOptions
CairoSurface::markDirty
CairoSurface


El propósito de markDirty

CairoSurface::getType
CairoSurface::markDirtyRectangle
CairoSurface
PHP Manual

CairoSurface::markDirty

(PECL cairo >= 0.1.0)

CairoSurface::markDirty — El propósito de markDirty

Descripción

public void CairoSurface::markDirty ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoSurface::markDirty()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoSurface::getType
CairoSurface::markDirtyRectangle
CairoSurface


El propósito de markDirtyRectangle

CairoSurface::markDirty
CairoSurface::setDeviceOffset
CairoSurface
PHP Manual

CairoSurface::markDirtyRectangle

(PECL cairo >= 0.1.0)

CairoSurface::markDirtyRectangle — El propósito de markDirtyRectangle

Descripción

public void CairoSurface::markDirtyRectangle ( string $x , string $y , string $width , string $height )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

x

Descripción...

y

Descripción...

width

Descripción...

height

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoSurface::markDirtyRectangle()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoSurface::markDirty
CairoSurface::setDeviceOffset
CairoSurface


El propósito de setDeviceOffset

CairoSurface::markDirtyRectangle
CairoSurface::setFallbackResolution
CairoSurface
PHP Manual

CairoSurface::setDeviceOffset

(PECL cairo >= 0.1.0)

CairoSurface::setDeviceOffset — El propósito de setDeviceOffset

Descripción

public void CairoSurface::setDeviceOffset ( string $x , string $y )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

x

Descripción...

y

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoSurface::setDeviceOffset()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoSurface::markDirtyRectangle
CairoSurface::setFallbackResolution
CairoSurface


El propósito de setFallbackResolution

CairoSurface::setDeviceOffset
CairoSurface::showPage
CairoSurface
PHP Manual

CairoSurface::setFallbackResolution

(PECL cairo >= 0.1.0)

CairoSurface::setFallbackResolution — El propósito de setFallbackResolution

Descripción

public void CairoSurface::setFallbackResolution ( string $x , string $y )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

x

Descripción...

y

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoSurface::setFallbackResolution()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoSurface::setDeviceOffset
CairoSurface::showPage
CairoSurface


El propósito de showPage

CairoSurface::setFallbackResolution
CairoSurface::status
CairoSurface
PHP Manual

CairoSurface::showPage

cairo_show_page

(PECL cairo >= 0.1.0)

CairoSurface::showPage -- cairo_show_page — El propósito de showPage

Descripción

Estilo orientado a objetos (método):

public void CairoSurface::showPage ( void )

Estilo por procedimientos:

void cairo_show_page ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoSurface::setFallbackResolution
CairoSurface::status
CairoSurface


El propósito de status

CairoSurface::showPage
CairoSurface::writeToPng
CairoSurface
PHP Manual

CairoSurface::status

cairo_status

(PECL cairo >= 0.1.0)

CairoSurface::status -- cairo_status — El propósito de status

Descripción

Estilo orientado a objetos (método):

public int CairoSurface::status ( void )

Estilo por procedimientos:

int cairo_status ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoSurface::showPage
CairoSurface::writeToPng
CairoSurface


El propósito de writeToPng

CairoSurface::status
CairoSvgSurface
CairoSurface
PHP Manual

CairoSurface::writeToPng

(PECL cairo >= 0.1.0)

CairoSurface::writeToPng — El propósito de writeToPng

Descripción

public void CairoSurface::writeToPng ( string $file )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

file

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoSurface::writeToPng()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoSurface::status
CairoSvgSurface
CairoSurface


Entorno de Superficie Svg

(PECL cairo >= 0.1.0)

Introducción

Clase de superficies específica de Svg, utiliza el entorno de superficie SVG (standard vector graphics - gráficos de vectores estándar).

Sinopsis de la Clase

CairoSvgSurface extends CairoSurface {
/* Métodos */
public __construct ( string $file , float $width , float $height )
public static array getVersions ( void )
public void restrictToVersion ( string $version )
public static string versionToString ( int $version )
/* Métodos heredados */
public CairoSurface::__construct ( void )
public void CairoSurface::copyPage ( void )
public void CairoSurface::createSimilar ( CairoSurface $other , int $content , string $width , string $height )
public void CairoSurface::finish ( void )
public void CairoSurface::flush ( void )
public int CairoSurface::getContent ( void )
public array CairoSurface::getDeviceOffset ( void )
public void CairoSurface::getFontOptions ( void )
public int CairoSurface::getType ( void )
public void CairoSurface::markDirty ( void )
public void CairoSurface::markDirtyRectangle ( string $x , string $y , string $width , string $height )
public void CairoSurface::setDeviceOffset ( string $x , string $y )
public void CairoSurface::setFallbackResolution ( string $x , string $y )
public void CairoSurface::showPage ( void )
public int CairoSurface::status ( void )
public void CairoSurface::writeToPng ( string $file )
}

Tabla de contenidos

  • CairoSvgSurface::__construct — El propósito de __construct
  • CairoSvgSurface::getVersions — Usado para recuperar una lista de versiones de SVG soportadas
  • CairoSvgSurface::restrictToVersion — El propósito de restrictToVersion
  • CairoSvgSurface::versionToString — El propósito de versionToString
CairoSurface::writeToPng
CairoSvgSurface::__construct
Cairo


El propósito de __construct

CairoSvgSurface
CairoSvgSurface::getVersions
CairoSvgSurface
PHP Manual

CairoSvgSurface::__construct

(PECL cairo >= 0.1.0)

CairoSvgSurface::__construct — El propósito de __construct

Descripción

public CairoSvgSurface::__construct ( string $file , float $width , float $height )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

file

Descripción...

width

Descripción...

height

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoSvgSurface::__construct()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoSvgSurface
CairoSvgSurface::getVersions
CairoSvgSurface


Usado para recuperar una lista de versiones de SVG soportadas

CairoSvgSurface::__construct
CairoSvgSurface::restrictToVersion
CairoSvgSurface
PHP Manual

CairoSvgSurface::getVersions

cairo_svg_surface_get_versions

(PECL cairo >= 0.1.0)

CairoSvgSurface::getVersions -- cairo_svg_surface_get_versions — Usado para recuperar una lista de versiones de SVG soportadas

Descripción

Estilo orientado a objetos (método):

public static array CairoSvgSurface::getVersions ( void )

Estilo por procedimientos:

array cairo_svg_get_versions ( void )

Devuelve una matriz indexada numéricamente de las constantes de CairoSvgVersion disponibles actualmente. Para recuperar los valores de cadena de cada elemento, use CairoSvgSurface::versionToString().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una matriz indexada numéricamente de valores enteros.

Ejemplos

Ejemplo #1 Ejemplo de CairoSvgSurface::getVersions()

<?php
/* Traer nuestra lista de versiones */
$versiones = CairoSvgSurface::getVersions();
var_dump($versiones);

/* imprimir el nombre de la cadena de cada versión */
foreach($versiones as $id) {
    echo CairoSvgSurface::versionToString($id), PHP_EOL;
}
?>

El resultado del ejemplo sería algo similar a:

array(2) {
  [0]=>
  int(0)
  [1]=>
  int(1)
}
SVG 1.1
SVG 1.2

Ejemplo #2 Estilo por procedimientos

<?php
/* Traer nuestra lista de versiones */
$versiones = cairo_svg_surface_get_versions();
var_dump($versiones);

/* imprimir el nombre de la cadena de cada versión */
foreach($versiones as $id) {
    echo cairo_svg_surface_version_to_string($id), PHP_EOL;
}
?>

El resultado del ejemplo sería algo similar a:

array(2) {
  [0]=>
  int(0)
  [1]=>
  int(1)
}
SVG 1.1
SVG 1.2

Ver también

  • CairoSvgSurface::versionToString() - El propósito de versionToString

CairoSvgSurface::__construct
CairoSvgSurface::restrictToVersion
CairoSvgSurface


El propósito de restrictToVersion

CairoSvgSurface::getVersions
CairoSvgSurface::versionToString
CairoSvgSurface
PHP Manual

CairoSvgSurface::restrictToVersion

(PECL cairo >= 0.1.0)

CairoSvgSurface::restrictToVersion — El propósito de restrictToVersion

Descripción

public void CairoSvgSurface::restrictToVersion ( string $version )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

version

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoSvgSurface::restrictToVersion()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoSvgSurface::getVersions
CairoSvgSurface::versionToString
CairoSvgSurface


El propósito de versionToString

CairoSvgSurface::restrictToVersion
CairoImageSurface
CairoSvgSurface
PHP Manual

CairoSvgSurface::versionToString

(PECL cairo >= 0.1.0)

CairoSvgSurface::versionToString — El propósito de versionToString

Descripción

public static string CairoSvgSurface::versionToString ( int $version )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

version

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoSvgSurface::versionToString()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoSvgSurface::restrictToVersion
CairoImageSurface
CairoSvgSurface


La clase CairoImageSurface

(PECL cairo >= 0.1.0)

Introducción

CairoImageSurface proporciona la capacidad de renderizar a memoria los bufferes, tanto los asignados por cairo o mediante el código de llamada. Los formatos de imagen soportados son aquellos definidos en CairoFormat.

Sinopsis de la Clase

CairoImageSurface extends CairoSurface {
/* Métodos */
public __construct ( int $format , int $width , int $height )
public static void createForData ( string $data , int $format , int $width , int $height [, int $stride = -1 ] )
public static CairoImageSurface createFromPng ( string $file )
public string getData ( void )
public int getFormat ( void )
public int getHeight ( void )
public int getStride ( void )
public int getWidth ( void )
/* Métodos heredados */
public CairoSurface::__construct ( void )
public void CairoSurface::copyPage ( void )
public void CairoSurface::createSimilar ( CairoSurface $other , int $content , string $width , string $height )
public void CairoSurface::finish ( void )
public void CairoSurface::flush ( void )
public int CairoSurface::getContent ( void )
public array CairoSurface::getDeviceOffset ( void )
public void CairoSurface::getFontOptions ( void )
public int CairoSurface::getType ( void )
public void CairoSurface::markDirty ( void )
public void CairoSurface::markDirtyRectangle ( string $x , string $y , string $width , string $height )
public void CairoSurface::setDeviceOffset ( string $x , string $y )
public void CairoSurface::setFallbackResolution ( string $x , string $y )
public void CairoSurface::showPage ( void )
public int CairoSurface::status ( void )
public void CairoSurface::writeToPng ( string $file )
}

Tabla de contenidos

  • CairoImageSurface::__construct — Crea una nueva CairoImageSurface
  • CairoImageSurface::createForData — El propósito de createForData
  • CairoImageSurface::createFromPng — Crea una nueva CairoImageSurface desde un archivo de imagen png
  • CairoImageSurface::getData — Obtiene la información de la imagen como cadena
  • CairoImageSurface::getFormat — Obtener el formato de imagen
  • CairoImageSurface::getHeight — Recupera el alto del CairoImageSurface
  • CairoImageSurface::getStride — El propósito de getStride
  • CairoImageSurface::getWidth — Recupera el ancho del CairoImageSurface
CairoSvgSurface::versionToString
CairoImageSurface::__construct
Cairo


Crea una nueva CairoImageSurface

CairoImageSurface
CairoImageSurface::createForData
CairoImageSurface
PHP Manual

CairoImageSurface::__construct

(PECL cairo >= 0.1.0)

CairoImageSurface::__construct — Crea una nueva CairoImageSurface

Descripción

public CairoImageSurface::__construct ( int $format , int $width , int $height )

Crea un nuevo objeto CairoImageSuface del tipo format

Parámetros

format

Puede ser cualquiera definido en CairoFormat

width

El ancho de la superficie de imagen

height

El alto de la superficie de imagen

Valores devueltos

Un nuevo objeto CairoImageSurface

Ejemplos

Ejemplo #1 Ejemplo de CairoImageSurface::__construct()

<?php

// Crea una imagen con formato ARGB32 de 50 de ancho y 50 de alto
$superficie = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

?>

Ver también

  • CairoContext::__construct() - Crea un nuevo CairoContext

CairoImageSurface
CairoImageSurface::createForData
CairoImageSurface


El propósito de createForData

CairoImageSurface::__construct
CairoImageSurface::createFromPng
CairoImageSurface
PHP Manual

CairoImageSurface::createForData

(PECL cairo >= 0.1.0)

CairoImageSurface::createForData — El propósito de createForData

Descripción

public static void CairoImageSurface::createForData ( string $data , int $format , int $width , int $height [, int $stride = -1 ] )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

data

Descripción...

format

Descripción...

width

Descripción...

height

Descripción...

stride

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoImageSurface::createForData()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoImageSurface::__construct
CairoImageSurface::createFromPng
CairoImageSurface


Crea una nueva CairoImageSurface desde un archivo de imagen png

CairoImageSurface::createForData
CairoImageSurface::getData
CairoImageSurface
PHP Manual

CairoImageSurface::createFromPng

(PECL cairo >= 0.1.0)

CairoImageSurface::createFromPng — Crea una nueva CairoImageSurface desde un archivo de imagen png

Descripción

public static CairoImageSurface CairoImageSurface::createFromPng ( string $file )

Crea una nueva CairoImageSurface desde un archivo de imagen png

Este método debería ser llamado estático

Parámetros

file

Ruta al archivo de imagen PNG

Valores devueltos

Objeto CairoImageSurface

Ejemplos

Ejemplo #1 Ejemplo de CairoImageSurface::createFromPng()

<?php

$superficie = CairoImageSurface::createFromPng('/ruta/al/archivo/imagen.png');

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • CairoImageSurface::__construct() - Crea una nueva CairoImageSurface

CairoImageSurface::createForData
CairoImageSurface::getData
CairoImageSurface


Obtiene la información de la imagen como cadena

CairoImageSurface::createFromPng
CairoImageSurface::getFormat
CairoImageSurface
PHP Manual

CairoImageSurface::getData

(PECL cairo >= 0.1.0)

CairoImageSurface::getData — Obtiene la información de la imagen como cadena

Descripción

public string CairoImageSurface::getData ( void )

Devuelve la información de la imagen de esta superficie o NULL si la superficie no es una superficie de imagen, o si CairoContext::finish(), procedural : cairo_surface_finish(), ha sido llamado.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La información de la imagen como cadena

Ejemplos

Ejemplo #1 Ejemplo de CairoImageSurface::getData()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • CairoImageSurface::getStride() - El propósito de getStride

CairoImageSurface::createFromPng
CairoImageSurface::getFormat
CairoImageSurface


Obtener el formato de imagen

CairoImageSurface::getData
CairoImageSurface::getHeight
CairoImageSurface
PHP Manual

CairoImageSurface::getFormat

(PECL cairo >= 0.1.0)

CairoImageSurface::getFormat — Obtener el formato de imagen

Descripción

public int CairoImageSurface::getFormat ( void )

Recupera el formato de imagen, como uno de los definidos en CairoFormat

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Una de las enumeraciones de CairoFormat

Ejemplos

Ejemplo #1 Ejemplo de CairoImageSurface::getFormat()

<?php

$superficie = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

var_dump($superficie->getFormat()); // 0

$superficie2 = new CairoImageSurface(CairoFormat::A8, 50, 50);

var_dump($superficie2->getFormat()); // 2

?>

El resultado del ejemplo sería algo similar a:

int(0)
int(2)

Ver también

  • CairoImageSurface::getHeight() - Recupera el alto del CairoImageSurface
  • CairoImageSurface::getWidth() - Recupera el ancho del CairoImageSurface

CairoImageSurface::getData
CairoImageSurface::getHeight
CairoImageSurface


Recupera el alto del CairoImageSurface

CairoImageSurface::getFormat
CairoImageSurface::getStride
CairoImageSurface
PHP Manual

CairoImageSurface::getHeight

(PECL cairo >= 0.1.0)

CairoImageSurface::getHeight — Recupera el alto del CairoImageSurface

Descripción

public int CairoImageSurface::getHeight ( void )

Este método devuelve el alto del CairoImageSurface.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Alto del objeto CairoImageSurface

Ejemplos

Ejemplo #1 Ejemplo de CairoImageSurface::getHeight()

<?php
// crea una nueva superficie de imagen
$superficie = new CairoImageSurface(CairoFormat::ARGB32, 80, 50);

// obtiene el alto
var_dump($superficie->getHeight());

?>

El resultado del ejemplo sería algo similar a:

int(50)

Ver también

  • CairoImageSurface::getWidth() - Recupera el ancho del CairoImageSurface

CairoImageSurface::getFormat
CairoImageSurface::getStride
CairoImageSurface


El propósito de getStride

CairoImageSurface::getHeight
CairoImageSurface::getWidth
CairoImageSurface
PHP Manual

CairoImageSurface::getStride

(PECL cairo >= 0.1.0)

CairoImageSurface::getStride — El propósito de getStride

Descripción

public int CairoImageSurface::getStride ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoImageSurface::getStride()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoImageSurface::getHeight
CairoImageSurface::getWidth
CairoImageSurface


Recupera el ancho del CairoImageSurface

CairoImageSurface::getStride
CairoPdfSurface
CairoImageSurface
PHP Manual

CairoImageSurface::getWidth

(PECL cairo >= 0.1.0)

CairoImageSurface::getWidth — Recupera el ancho del CairoImageSurface

Descripción

public int CairoImageSurface::getWidth ( void )

Obtiene el ansho del CairoImageSurface

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el ansho del objeto CairoImageSurface

Ejemplos

Ejemplo #1 Ejemplo de CairoImageSurface::getWidth()

<?php
// crea una nueva superficie de imagen
$superficie = new CairoImageSurface(CairoFormat::ARGB32, 80, 50);

// obtiene el ancho
var_dump($superficie->getWidth());

?>

El resultado del ejemplo sería algo similar a:

int(80)

Ver también

  • CairoImageSurface::getHeight() - Recupera el alto del CairoImageSurface

CairoImageSurface::getStride
CairoPdfSurface
CairoImageSurface


La clase CairoPdfSurface

(PECL cairo >= 0.1.0)

Introducción

Sinopsis de la Clase

CairoPdfSurface extends CairoSurface {
/* Métodos */
public __construct ( string $file , float $width , float $height )
public void setSize ( string $width , string $height )
/* Métodos heredados */
public CairoSurface::__construct ( void )
public void CairoSurface::copyPage ( void )
public void CairoSurface::createSimilar ( CairoSurface $other , int $content , string $width , string $height )
public void CairoSurface::finish ( void )
public void CairoSurface::flush ( void )
public int CairoSurface::getContent ( void )
public array CairoSurface::getDeviceOffset ( void )
public void CairoSurface::getFontOptions ( void )
public int CairoSurface::getType ( void )
public void CairoSurface::markDirty ( void )
public void CairoSurface::markDirtyRectangle ( string $x , string $y , string $width , string $height )
public void CairoSurface::setDeviceOffset ( string $x , string $y )
public void CairoSurface::setFallbackResolution ( string $x , string $y )
public void CairoSurface::showPage ( void )
public int CairoSurface::status ( void )
public void CairoSurface::writeToPng ( string $file )
}

Tabla de contenidos

  • CairoPdfSurface::__construct — El propósito de __construct
  • CairoPdfSurface::setSize — El propósito de setSize
CairoImageSurface::getWidth
CairoPdfSurface::__construct
Cairo


El propósito de __construct

CairoPdfSurface
CairoPdfSurface::setSize
CairoPdfSurface
PHP Manual

CairoPdfSurface::__construct

(PECL cairo >= 0.1.0)

CairoPdfSurface::__construct — El propósito de __construct

Descripción

public CairoPdfSurface::__construct ( string $file , float $width , float $height )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

file

Descripción...

width

Descripción...

height

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoPdfSurface::__construct()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoPdfSurface
CairoPdfSurface::setSize
CairoPdfSurface


El propósito de setSize

CairoPdfSurface::__construct
CairoPsSurface
CairoPdfSurface
PHP Manual

CairoPdfSurface::setSize

(PECL cairo >= 0.1.0)

CairoPdfSurface::setSize — El propósito de setSize

Descripción

public void CairoPdfSurface::setSize ( string $width , string $height )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

width

Descripción...

height

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoPdfSurface::setSize()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoPdfSurface::__construct
CairoPsSurface
CairoPdfSurface


La clase CairoPsSurface

(PECL cairo >= 0.1.0)

Introducción

Sinopsis de la Clase

CairoPsSurface extends CairoSurface {
/* Métodos */
public __construct ( string $file , float $width , float $height )
public void dscBeginPageSetup ( void )
public void dscBeginSetup ( void )
public void dscComment ( string $comment )
public bool getEps ( void )
public static array getLevels ( void )
public static string levelToString ( int $level )
public void restrictToLevel ( string $level )
public void setEps ( string $level )
public void setSize ( string $width , string $height )
/* Métodos heredados */
public CairoSurface::__construct ( void )
public void CairoSurface::copyPage ( void )
public void CairoSurface::createSimilar ( CairoSurface $other , int $content , string $width , string $height )
public void CairoSurface::finish ( void )
public void CairoSurface::flush ( void )
public int CairoSurface::getContent ( void )
public array CairoSurface::getDeviceOffset ( void )
public void CairoSurface::getFontOptions ( void )
public int CairoSurface::getType ( void )
public void CairoSurface::markDirty ( void )
public void CairoSurface::markDirtyRectangle ( string $x , string $y , string $width , string $height )
public void CairoSurface::setDeviceOffset ( string $x , string $y )
public void CairoSurface::setFallbackResolution ( string $x , string $y )
public void CairoSurface::showPage ( void )
public int CairoSurface::status ( void )
public void CairoSurface::writeToPng ( string $file )
}

Tabla de contenidos

  • CairoPsSurface::__construct — El propósito de __construct
  • CairoPsSurface::dscBeginPageSetup — El propósito de dscBeginPageSetup
  • CairoPsSurface::dscBeginSetup — El propósito de dscBeginSetup
  • CairoPsSurface::dscComment — El propósito de dscComment
  • CairoPsSurface::getEps — El propósito de getEps
  • CairoPsSurface::getLevels — El propósito de getLevels
  • CairoPsSurface::levelToString — El propósito de levelToString
  • CairoPsSurface::restrictToLevel — El propósito de restrictToLevel
  • CairoPsSurface::setEps — El propósito de setEps
  • CairoPsSurface::setSize — El propósito de setSize
CairoPdfSurface::setSize
CairoPsSurface::__construct
Cairo


El propósito de __construct

CairoPsSurface
CairoPsSurface::dscBeginPageSetup
CairoPsSurface
PHP Manual

CairoPsSurface::__construct

(PECL cairo >= 0.1.0)

CairoPsSurface::__construct — El propósito de __construct

Descripción

public CairoPsSurface::__construct ( string $file , float $width , float $height )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

file

Descripción...

width

Descripción...

height

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoPsSurface::__construct()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoPsSurface
CairoPsSurface::dscBeginPageSetup
CairoPsSurface


El propósito de dscBeginPageSetup

CairoPsSurface::__construct
CairoPsSurface::dscBeginSetup
CairoPsSurface
PHP Manual

CairoPsSurface::dscBeginPageSetup

(PECL cairo >= 0.1.0)

CairoPsSurface::dscBeginPageSetup — El propósito de dscBeginPageSetup

Descripción

public void CairoPsSurface::dscBeginPageSetup ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoPsSurface::dscBeginPageSetup()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoPsSurface::__construct
CairoPsSurface::dscBeginSetup
CairoPsSurface


El propósito de dscBeginSetup

CairoPsSurface::dscBeginPageSetup
CairoPsSurface::dscComment
CairoPsSurface
PHP Manual

CairoPsSurface::dscBeginSetup

(PECL cairo >= 0.1.0)

CairoPsSurface::dscBeginSetup — El propósito de dscBeginSetup

Descripción

public void CairoPsSurface::dscBeginSetup ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoPsSurface::dscBeginSetup()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoPsSurface::dscBeginPageSetup
CairoPsSurface::dscComment
CairoPsSurface


El propósito de dscComment

CairoPsSurface::dscBeginSetup
CairoPsSurface::getEps
CairoPsSurface
PHP Manual

CairoPsSurface::dscComment

(PECL cairo >= 0.1.0)

CairoPsSurface::dscComment — El propósito de dscComment

Descripción

public void CairoPsSurface::dscComment ( string $comment )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

comment

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoPsSurface::dscComment()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoPsSurface::dscBeginSetup
CairoPsSurface::getEps
CairoPsSurface


El propósito de getEps

CairoPsSurface::dscComment
CairoPsSurface::getLevels
CairoPsSurface
PHP Manual

CairoPsSurface::getEps

(PECL cairo >= 0.1.0)

CairoPsSurface::getEps — El propósito de getEps

Descripción

public bool CairoPsSurface::getEps ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoPsSurface::getEps()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoPsSurface::dscComment
CairoPsSurface::getLevels
CairoPsSurface


El propósito de getLevels

CairoPsSurface::getEps
CairoPsSurface::levelToString
CairoPsSurface
PHP Manual

CairoPsSurface::getLevels

(PECL cairo >= 0.1.0)

CairoPsSurface::getLevels — El propósito de getLevels

Descripción

public static array CairoPsSurface::getLevels ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoPsSurface::getLevels()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoPsSurface::getEps
CairoPsSurface::levelToString
CairoPsSurface


El propósito de levelToString

CairoPsSurface::getLevels
CairoPsSurface::restrictToLevel
CairoPsSurface
PHP Manual

CairoPsSurface::levelToString

(PECL cairo >= 0.1.0)

CairoPsSurface::levelToString — El propósito de levelToString

Descripción

public static string CairoPsSurface::levelToString ( int $level )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

level

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoPsSurface::levelToString()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoPsSurface::getLevels
CairoPsSurface::restrictToLevel
CairoPsSurface


El propósito de restrictToLevel

CairoPsSurface::levelToString
CairoPsSurface::setEps
CairoPsSurface
PHP Manual

CairoPsSurface::restrictToLevel

(PECL cairo >= 0.1.0)

CairoPsSurface::restrictToLevel — El propósito de restrictToLevel

Descripción

public void CairoPsSurface::restrictToLevel ( string $level )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

level

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoPsSurface::restrictToLevel()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoPsSurface::levelToString
CairoPsSurface::setEps
CairoPsSurface


El propósito de setEps

CairoPsSurface::restrictToLevel
CairoPsSurface::setSize
CairoPsSurface
PHP Manual

CairoPsSurface::setEps

(PECL cairo >= 0.1.0)

CairoPsSurface::setEps — El propósito de setEps

Descripción

public void CairoPsSurface::setEps ( string $level )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

level

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoPsSurface::setEps()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoPsSurface::restrictToLevel
CairoPsSurface::setSize
CairoPsSurface


El propósito de setSize

CairoPsSurface::setEps
CairoSurfaceType
CairoPsSurface
PHP Manual

CairoPsSurface::setSize

(PECL cairo >= 0.1.0)

CairoPsSurface::setSize — El propósito de setSize

Descripción

public void CairoPsSurface::setSize ( string $width , string $height )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

width

Descripción...

height

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoPsSurface::setSize()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoPsSurface::setEps
CairoSurfaceType
CairoPsSurface


La clase CairoSurfaceType

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Sinopsis de la Clase

CairoSurfaceType {
/* Constantes */
const integer IMAGE = 0 ;
const integer PDF = 1 ;
const integer PS = 2 ;
const integer XLIB = 3 ;
const integer XCB = 4 ;
const integer GLITZ = 5 ;
const integer QUARTZ = 6 ;
const integer WIN32 = 7 ;
const integer BEOS = 8 ;
const integer DIRECTFB = 9 ;
const integer SVG = 10 ;
const integer OS2 = 11 ;
const integer WIN32_PRINTING = 12 ;
const integer QUARTZ_IMAGE = 13 ;
}

Constantes predefinidas

CairoSurfaceType::IMAGE

Descripción aquí...

CairoSurfaceType::PDF

Descripción aquí...

CairoSurfaceType::PS

Descripción aquí...

CairoSurfaceType::XLIB

Descripción aquí...

CairoSurfaceType::XCB

Descripción aquí...

CairoSurfaceType::GLITZ

Descripción aquí...

CairoSurfaceType::QUARTZ

Descripción aquí...

CairoSurfaceType::WIN32

Descripción aquí...

CairoSurfaceType::BEOS

Descripción aquí...

CairoSurfaceType::DIRECTFB

Descripción aquí...

CairoSurfaceType::SVG

Descripción aquí...

CairoSurfaceType::OS2

Descripción aquí...

CairoSurfaceType::WIN32_PRINTING

Descripción aquí...

CairoSurfaceType::QUARTZ_IMAGE

Descripción aquí...

CairoPsSurface::setSize
CairoFontFace
Cairo


La clase CairoFontFace

(PECL cairo >= 0.1.0)

Introducción

La clase abstracta CairoFontFace representa una fuente particular en un grosor, inclinación y otras características en particular, pero no la transformación o el tamaño.

Nota: Esta clase no puede ser instanciada directamente, es creada por CairoContext::getFontFace() o cairo_scaled_font_get_font_face().

Sinopsis de la Clase

CairoFontFace {
/* Métodos */
public __construct ( void )
public int getType ( void )
public int status ( void )
}

Tabla de contenidos

  • CairoFontFace::__construct — Crea un nuevo objeto CairoFontFace
  • CairoFontFace::getType — Recupera el tipo de familia de fuentes
  • CairoFontFace::status — Compruba errores de CairoFontFace
CairoSurfaceType
CairoFontFace::__construct
Cairo


Crea un nuevo objeto CairoFontFace

CairoFontFace
CairoFontFace::getType
CairoFontFace
PHP Manual

CairoFontFace::__construct

(PECL cairo >= 0.1.0)

CairoFontFace::__construct — Crea un nuevo objeto CairoFontFace

Descripción

public CairoFontFace::__construct ( void )

La clase CairoFontFace representa una fuente en particular en una inclinación en particular entre otras características, pero no la transformación o el tamaño.

Nota: Esta clase no puede ser instanciada directamente, es creada por CairoContext::getFontFace() o cairo_scaled_font_get_font_face()

Parámetros

Esta función no tiene parámetros.

Valores devueltos

CairoFontFace

Ejemplos

Ejemplo #1 Ejemplo de CairoFontFace::__construct()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Class::Method()

CairoFontFace
CairoFontFace::getType
CairoFontFace


Recupera el tipo de familia de fuentes

CairoFontFace::__construct
CairoFontFace::status
CairoFontFace
PHP Manual

CairoFontFace::getType

(PECL cairo >= 0.1.0)

CairoFontFace::getType — Recupera el tipo de familia de fuentes

Descripción

public int CairoFontFace::getType ( void )

Esta función devuelve el tipo del entorno usado para crear una familia de fuentes. Véase las constantes de la clase CairoFontType para los tipos disponibles.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Una familia de fuentes que se puede ser cualquiera definida en CairoFontType

Ejemplos

Ejemplo #1 Ejemplo de CairoFontFace::getType()

<?php

// Crea la familia de fuentes
$fontface = new CairoToyFontFace('sans-serif');

// Obtener el tipo de familia de fuentes
var_dump($fontface->getType());

?>

El resultado del ejemplo sería algo similar a:

int(0)

Ver también

  • Classname::Method()

CairoFontFace::__construct
CairoFontFace::status
CairoFontFace


Compruba errores de CairoFontFace

CairoFontFace::getType
CairoFontOptions
CairoFontFace
PHP Manual

CairoFontFace::status

cairo_font_face_status

(PECL cairo >= 0.1.0)

CairoFontFace::status -- cairo_font_face_status — Compruba errores de CairoFontFace

Descripción

Estilo orientado a objetos (método):

public int CairoFontFace::status ( void )

Estilo por procedimientos:

int cairo_font_face_status ( CairoFontFace $fontface )

Comprueba si previamente ocurrió un error para esta familia de fuentes

Parámetros

fontface

Un objeto CairoFontFace válido

Valores devueltos

CAIRO_STATUS_SUCCESS u otro error como CAIRO_STATUS_NO_MEMORY.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

// Crea la familia de fuentes
$fontface = new CairoToyFontFace('sans-serif');

// Obtener el estado de la familia de fuentes
var_dump($fontface->status()); // debería ser el valor de CAIRO_STATUS_SUCCESS

?>

El resultado del ejemplo sería algo similar a:

int(0)

Ejemplo #2 Estilo por procedimientos

<?php

// Crea la familia de fuentes
$fontface = new CairoToyFontFace('sans-serif');

// Obtener el estado de la familia de fuentes
var_dump(cairo_font_face_status($fontface)); // debería ser el valor de CAIRO_STATUS_SUCCESS

?>

El resultado del ejemplo sería algo similar a:

int(0)

Ver también

  • Classname::Method()

CairoFontFace::getType
CairoFontOptions
CairoFontFace


La clase CairoFontOptions

(PECL cairo >= 0.1.0)

Introducción

Una estructura opaca mantiene todas las opciones que se usan al renderizar fuentes.

Las característica indivuduales de un cairo_font_options_t se puede establecer o acceder usando funciones llamadas cairo_font_options_set_nombre_característica y cairo_font_options_get_nombre_característica, como cairo_font_options_set_antialias() y cairo_font_options_get_antialias().

Se pueden añadir nuevas características a CairoFontOptions en el futuro. Por esta razón CairoFontOptions::copy(), CairoFontOptions::equal(), CairoFontOptions::merge(), CairoFontOptions::hash() (cairo_font_options_copy(), cairo_font_options_equal(), cairo_font_options_merge(), y cairo_font_options_hash() de la manera procedural) deberían usarse para copiar, verificar igualdad, fusionar, o computar un valor hash value de objetos CairoFontOptions.

Sinopsis de la Clase

CairoFontOptions {
/* Métodos */
public __construct ( void )
public bool equal ( string $other )
public int getAntialias ( void )
public int getHintMetrics ( void )
public int getHintStyle ( void )
public int getSubpixelOrder ( void )
public int hash ( void )
public void merge ( string $other )
public void setAntialias ( string $antialias )
public void setHintMetrics ( string $hint_metrics )
public void setHintStyle ( string $hint_style )
public void setSubpixelOrder ( string $subpixel_order )
public int status ( void )
}

Tabla de contenidos

  • CairoFontOptions::__construct — El propósito de __construct
  • CairoFontOptions::equal — El propósito de equal
  • CairoFontOptions::getAntialias — El propósito de getAntialias
  • CairoFontOptions::getHintMetrics — El propósito de getHintMetrics
  • CairoFontOptions::getHintStyle — El propósito de getHintStyle
  • CairoFontOptions::getSubpixelOrder — El propósito de getSubpixelOrder
  • CairoFontOptions::hash — El propósito de hash
  • CairoFontOptions::merge — El propósito de merge
  • CairoFontOptions::setAntialias — El propósito de setAntialias
  • CairoFontOptions::setHintMetrics — El propósito de setHintMetrics
  • CairoFontOptions::setHintStyle — El propósito de setHintStyle
  • CairoFontOptions::setSubpixelOrder — El propósito de setSubpixelOrder
  • CairoFontOptions::status — El propósito de status
CairoFontFace::status
CairoFontOptions::__construct
Cairo


El propósito de __construct

CairoFontOptions
CairoFontOptions::equal
CairoFontOptions
PHP Manual

CairoFontOptions::__construct

(PECL cairo >= 0.1.0)

CairoFontOptions::__construct — El propósito de __construct

Descripción

public CairoFontOptions::__construct ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoFontOptions::__construct()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoFontOptions
CairoFontOptions::equal
CairoFontOptions


El propósito de equal

CairoFontOptions::__construct
CairoFontOptions::getAntialias
CairoFontOptions
PHP Manual

CairoFontOptions::equal

(PECL cairo >= 0.1.0)

CairoFontOptions::equal — El propósito de equal

Descripción

public bool CairoFontOptions::equal ( string $other )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

other

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoFontOptions::equal()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoFontOptions::__construct
CairoFontOptions::getAntialias
CairoFontOptions


El propósito de getAntialias

CairoFontOptions::equal
CairoFontOptions::getHintMetrics
CairoFontOptions
PHP Manual

CairoFontOptions::getAntialias

cairo_get_antialias

(PECL cairo >= 0.1.0)

CairoFontOptions::getAntialias -- cairo_get_antialias — El propósito de getAntialias

Descripción

Estilo orientado a objetos (método):

public int CairoFontOptions::getAntialias ( void )

Estilo por procedimientos:

int cairo_get_antialias ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoFontOptions::equal
CairoFontOptions::getHintMetrics
CairoFontOptions


El propósito de getHintMetrics

CairoFontOptions::getAntialias
CairoFontOptions::getHintStyle
CairoFontOptions
PHP Manual

CairoFontOptions::getHintMetrics

(PECL cairo >= 0.1.0)

CairoFontOptions::getHintMetrics — El propósito de getHintMetrics

Descripción

public int CairoFontOptions::getHintMetrics ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoFontOptions::getHintMetrics()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoFontOptions::getAntialias
CairoFontOptions::getHintStyle
CairoFontOptions


El propósito de getHintStyle

CairoFontOptions::getHintMetrics
CairoFontOptions::getSubpixelOrder
CairoFontOptions
PHP Manual

CairoFontOptions::getHintStyle

(PECL cairo >= 0.1.0)

CairoFontOptions::getHintStyle — El propósito de getHintStyle

Descripción

public int CairoFontOptions::getHintStyle ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoFontOptions::getHintStyle()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoFontOptions::getHintMetrics
CairoFontOptions::getSubpixelOrder
CairoFontOptions


El propósito de getSubpixelOrder

CairoFontOptions::getHintStyle
CairoFontOptions::hash
CairoFontOptions
PHP Manual

CairoFontOptions::getSubpixelOrder

(PECL cairo >= 0.1.0)

CairoFontOptions::getSubpixelOrder — El propósito de getSubpixelOrder

Descripción

public int CairoFontOptions::getSubpixelOrder ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoFontOptions::getSubpixelOrder()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoFontOptions::getHintStyle
CairoFontOptions::hash
CairoFontOptions


El propósito de hash

CairoFontOptions::getSubpixelOrder
CairoFontOptions::merge
CairoFontOptions
PHP Manual

CairoFontOptions::hash

(PECL cairo >= 0.1.0)

CairoFontOptions::hash — El propósito de hash

Descripción

public int CairoFontOptions::hash ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoFontOptions::hash()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoFontOptions::getSubpixelOrder
CairoFontOptions::merge
CairoFontOptions


El propósito de merge

CairoFontOptions::hash
CairoFontOptions::setAntialias
CairoFontOptions
PHP Manual

CairoFontOptions::merge

(PECL cairo >= 0.1.0)

CairoFontOptions::merge — El propósito de merge

Descripción

public void CairoFontOptions::merge ( string $other )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

other

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoFontOptions::merge()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoFontOptions::hash
CairoFontOptions::setAntialias
CairoFontOptions


El propósito de setAntialias

CairoFontOptions::merge
CairoFontOptions::setHintMetrics
CairoFontOptions
PHP Manual

CairoFontOptions::setAntialias

cairo_set_antialias

(PECL cairo >= 0.1.0)

CairoFontOptions::setAntialias -- cairo_set_antialias — El propósito de setAntialias

Descripción

Estilo orientado a objetos (método):

public void CairoFontOptions::setAntialias ( string $antialias )

Estilo por procedimientos:

void cairo_set_antialias ( CairoContext $context [, string $antialias ] )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

antialias

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoFontOptions::merge
CairoFontOptions::setHintMetrics
CairoFontOptions


El propósito de setHintMetrics

CairoFontOptions::setAntialias
CairoFontOptions::setHintStyle
CairoFontOptions
PHP Manual

CairoFontOptions::setHintMetrics

(PECL cairo >= 0.1.0)

CairoFontOptions::setHintMetrics — El propósito de setHintMetrics

Descripción

public void CairoFontOptions::setHintMetrics ( string $hint_metrics )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

hint_metrics

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoFontOptions::setHintMetrics()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoFontOptions::setAntialias
CairoFontOptions::setHintStyle
CairoFontOptions


El propósito de setHintStyle

CairoFontOptions::setHintMetrics
CairoFontOptions::setSubpixelOrder
CairoFontOptions
PHP Manual

CairoFontOptions::setHintStyle

(PECL cairo >= 0.1.0)

CairoFontOptions::setHintStyle — El propósito de setHintStyle

Descripción

public void CairoFontOptions::setHintStyle ( string $hint_style )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

hint_style

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoFontOptions::setHintStyle()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoFontOptions::setHintMetrics
CairoFontOptions::setSubpixelOrder
CairoFontOptions


El propósito de setSubpixelOrder

CairoFontOptions::setHintStyle
CairoFontOptions::status
CairoFontOptions
PHP Manual

CairoFontOptions::setSubpixelOrder

(PECL cairo >= 0.1.0)

CairoFontOptions::setSubpixelOrder — El propósito de setSubpixelOrder

Descripción

public void CairoFontOptions::setSubpixelOrder ( string $subpixel_order )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

subpixel_order

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoFontOptions::setSubpixelOrder()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoFontOptions::setHintStyle
CairoFontOptions::status
CairoFontOptions


El propósito de status

CairoFontOptions::setSubpixelOrder
CairoFontSlant
CairoFontOptions
PHP Manual

CairoFontOptions::status

cairo_status

(PECL cairo >= 0.1.0)

CairoFontOptions::status -- cairo_status — El propósito de status

Descripción

Estilo orientado a objetos (method):

public int CairoFontOptions::status ( void )

Estilo por procedimientos:

int cairo_status ( CairoContext $context )

Descripción aquí

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoFontOptions::setSubpixelOrder
CairoFontSlant
CairoFontOptions


La clase CairoFontSlant

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Especifica variantes de una familia de fuentes basadas en su inclinación.

Sinopsis de la Clase

CairoFontSlant {
/* Constantes */
const integer NORMAL = 0 ;
const integer ITALIC = 1 ;
const integer OBLIQUE = 2 ;
}

Constantes predefinidas

CairoFontSlant::NORMAL

Estilo de fuente vertical

CairoFontSlant::ITALIC

Estilo de fuente itálica

CairoFontSlant::OBLIQUE

Estilo de fuente oblícua

CairoFontOptions::status
CairoFontType
Cairo


La clase CairoFontType

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

La clase CairoFontType es una clase final abstracta que contiene las constantes usadas para describir el tipo de una CairoFontFace o CairoScaledFont dadas. Los tipos de fuentes también son conocidos como "entornos de fuente" dentro de cairo.

El tipo de una CairoFontFace está dereminado por cómo es creado, un ejemplo podría ser CairoToyFontFace::__construct(). El tipo de CairoFontFace se puede obtener con CairoFontFace::getType() o cairo_font_face_get_type()

Las diversas funciones de CairoFontFace se pueden usar con una familia de fuentes de cualquier tipo.

El tipo de una CairoScaledFont está determinado por el tipo de la CairoFontFace pasada a CairoScaledFont::__construct() o cairo_scaled_font_create(). El tipo de fuente escalada se puede obtener con CairoScaledFont::getType() o cairo_scaled_font_get_type().

Sinopsis de la Clase

CairoFontType {
/* Constantes */
const integer TOY = 0 ;
const integer FT = 1 ;
const integer WIN32 = 2 ;
const integer QUARTZ = 3 ;
}

Constantes predefinidas

CairoFontType::TOY

La fuente se creó usando la api CairoToyFont

CairoFontType::FT

La fuente es de tipo CairoFreeType

CairoFontType::WIN32

La fuente es de tipo Win32

CairoFontType::QUARTZ

La fuente es de tipo Quartz

CairoFontType::USER

La fuente se creó usando la api de fuentes de usuario de cairo

CairoFontSlant
CairoFontWeight
Cairo


La clase CairoFontWeight

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Especifica las variantes de una familia de fuentes basadas en su grosor.

Sinopsis de la Clase

CairoFontWeight {
/* Constantes */
const integer NORMAL = 0 ;
const integer BOLD = 1 ;
}

Constantes predefinidas

CairoFontWeight::NORMAL

Grososr de fuente normal

CairoFontWeight::BOLD

Grosor de fuente en negrita

CairoFontType
CairoScaledFont
Cairo


La clase CairoScaledFont

(PECL cairo >= 0.1.0)

Introducción

Sinopsis de la Clase

CairoScaledFont {
/* Métodos */
public __construct ( CairoFontFace $font_face , CairoMatrix $matrix , CairoMatrix $ctm , CairoFontOptions $options )
public array extents ( void )
public CairoMatrix getCtm ( void )
public void getFontFace ( void )
public void getFontMatrix ( void )
public void getFontOptions ( void )
public void getScaleMatrix ( void )
public int getType ( void )
public array glyphExtents ( string $glyphs )
public int status ( void )
public array textExtents ( string $text )
}

Tabla de contenidos

  • CairoScaledFont::__construct — El propósito de __construct
  • CairoScaledFont::extents — El propósito de extents
  • CairoScaledFont::getCtm — El propósito de getCtm
  • CairoScaledFont::getFontFace — El propósito de getFontFace
  • CairoScaledFont::getFontMatrix — El propósito de getFontMatrix
  • CairoScaledFont::getFontOptions — El propósito de getFontOptions
  • CairoScaledFont::getScaleMatrix — El propósito de getScaleMatrix
  • CairoScaledFont::getType — El propósito de getType
  • CairoScaledFont::glyphExtents — El propósito de glyphExtents
  • CairoScaledFont::status — El propósito de status
  • CairoScaledFont::textExtents — El propósito de textExtents
CairoFontWeight
CairoScaledFont::__construct
Cairo


El propósito de __construct

CairoScaledFont
CairoScaledFont::extents
CairoScaledFont
PHP Manual

CairoScaledFont::__construct

(PECL cairo >= 0.1.0)

CairoScaledFont::__construct — El propósito de __construct

Descripción

public CairoScaledFont::__construct ( CairoFontFace $font_face , CairoMatrix $matrix , CairoMatrix $ctm , CairoFontOptions $options )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

font_face

Descripción...

matrix

Descripción...

ctm

Descripción...

options

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoScaledFont::__construct()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoScaledFont
CairoScaledFont::extents
CairoScaledFont


El propósito de extents

CairoScaledFont::__construct
CairoScaledFont::getCtm
CairoScaledFont
PHP Manual

CairoScaledFont::extents

(PECL cairo >= 0.1.0)

CairoScaledFont::extents — El propósito de extents

Descripción

public array CairoScaledFont::extents ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoScaledFont::extents()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoScaledFont::__construct
CairoScaledFont::getCtm
CairoScaledFont


El propósito de getCtm

CairoScaledFont::extents
CairoScaledFont::getFontFace
CairoScaledFont
PHP Manual

CairoScaledFont::getCtm

(PECL cairo >= 0.1.0)

CairoScaledFont::getCtm — El propósito de getCtm

Descripción

public CairoMatrix CairoScaledFont::getCtm ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoScaledFont::getCtm()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoScaledFont::extents
CairoScaledFont::getFontFace
CairoScaledFont


El propósito de getFontFace

CairoScaledFont::getCtm
CairoScaledFont::getFontMatrix
CairoScaledFont
PHP Manual

CairoScaledFont::getFontFace

cairo_get_font_face

(PECL cairo >= 0.1.0)

CairoScaledFont::getFontFace -- cairo_get_font_face — El propósito de getFontFace

Descripción

Estilo orientado a objetos (método):

public void CairoScaledFont::getFontFace ( void )

Estilo por procedimientos:

void cairo_get_font_face ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoScaledFont::getCtm
CairoScaledFont::getFontMatrix
CairoScaledFont


El propósito de getFontMatrix

CairoScaledFont::getFontFace
CairoScaledFont::getFontOptions
CairoScaledFont
PHP Manual

CairoScaledFont::getFontMatrix

cairo_get_font_matrix

(PECL cairo >= 0.1.0)

CairoScaledFont::getFontMatrix -- cairo_get_font_matrix — El propósito de getFontMatrix

Descripción

Estilo orientado a objetos (método):

public void CairoScaledFont::getFontMatrix ( void )

Estilo por procedimientos:

void cairo_get_font_matrix ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoScaledFont::getFontFace
CairoScaledFont::getFontOptions
CairoScaledFont


El propósito de getFontOptions

CairoScaledFont::getFontMatrix
CairoScaledFont::getScaleMatrix
CairoScaledFont
PHP Manual

CairoScaledFont::getFontOptions

cairo_get_font_options

(PECL cairo >= 0.1.0)

CairoScaledFont::getFontOptions -- cairo_get_font_options — El propósito de getFontOptions

Descripción

Estilo orientado a objetos (método):

public void CairoScaledFont::getFontOptions ( void )

Estilo por procedimientos:

void cairo_get_font_options ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoScaledFont::getFontMatrix
CairoScaledFont::getScaleMatrix
CairoScaledFont


El propósito de getScaleMatrix

CairoScaledFont::getFontOptions
CairoScaledFont::getType
CairoScaledFont
PHP Manual

CairoScaledFont::getScaleMatrix

(PECL cairo >= 0.1.0)

CairoScaledFont::getScaleMatrix — El propósito de getScaleMatrix

Descripción

public void CairoScaledFont::getScaleMatrix ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoScaledFont::getScaleMatrix()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoScaledFont::getFontOptions
CairoScaledFont::getType
CairoScaledFont


El propósito de getType

CairoScaledFont::getScaleMatrix
CairoScaledFont::glyphExtents
CairoScaledFont
PHP Manual

CairoScaledFont::getType

(PECL cairo >= 0.1.0)

CairoScaledFont::getType — El propósito de getType

Descripción

public int CairoScaledFont::getType ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoScaledFont::getType()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoScaledFont::getScaleMatrix
CairoScaledFont::glyphExtents
CairoScaledFont


El propósito de glyphExtents

CairoScaledFont::getType
CairoScaledFont::status
CairoScaledFont
PHP Manual

CairoScaledFont::glyphExtents

(PECL cairo >= 0.1.0)

CairoScaledFont::glyphExtents — El propósito de glyphExtents

Descripción

public array CairoScaledFont::glyphExtents ( string $glyphs )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

glyphs

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoScaledFont::glyphExtents()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoScaledFont::getType
CairoScaledFont::status
CairoScaledFont


El propósito de status

CairoScaledFont::glyphExtents
CairoScaledFont::textExtents
CairoScaledFont
PHP Manual

CairoScaledFont::status

cairo_status

(PECL cairo >= 0.1.0)

CairoScaledFont::status -- cairo_status — El propósito de status

Descripción

Estilo orientado a objetos (método):

public int CairoScaledFont::status ( void )

Estilo por procedimientos:

int cairo_status ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoScaledFont::glyphExtents
CairoScaledFont::textExtents
CairoScaledFont


El propósito de textExtents

CairoScaledFont::status
CairoToyFontFace
CairoScaledFont
PHP Manual

CairoScaledFont::textExtents

cairo_text_extents

(PECL cairo >= 0.1.0)

CairoScaledFont::textExtents -- cairo_text_extents — El propósito de textExtents

Descripción

Estilo orientado a objetos (método):

public array CairoScaledFont::textExtents ( string $text )

Estilo por procedimientos:

array cairo_text_extents ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

text

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoScaledFont::status
CairoToyFontFace
CairoScaledFont


La clase CairoToyFontFace

(PECL cairo >= 0.1.0)

Introducción

La clase CairoToyFontFace se puede usar en vez de CairoContext::selectFontFace() para crear una fuente "de juguete" independientemente de un contexto.

Sinopsis de la Clase

CairoToyFontFace extends CairoFontFace {
/* Métodos heredados */
}
CairoScaledFont::textExtents
CairoPatternType
Cairo


La clase CairoPatternType

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

CairoPatternType se usa para describir el tipo de un patrón dado.

El tipo de un patrón está determinado por la función usada para crearlo. Las funciones cairo_pattern_create_rgb() y cairo_pattern_create_rgba() crean patrones CairoPatternType::SOLID. Las restantes funciones cairo_pattern_create_* crean tipos de patrones de la manera obvia.

Sinopsis de la Clase

CairoPatternType {
/* Constantes */
const integer SOLID = 0 ;
const integer SURFACE = 1 ;
const integer LINEAR = 2 ;
const integer RADIAL = 3 ;
}

Constantes predefinidas

CairoPatternType::SOLID

El patrón es un color sólido (uniforme). Puede ser opaco o translúcido.

CairoPatternType::SURFACE

El patrón está basado en una superficie (una imagen).

CairoPatternType::LINEAR

El patrón es un gradiente linear.

CairoPatternType::RADIAL

El patrón es un gradiente radial.

CairoToyFontFace
CairoPattern
Cairo


La clase CairoPattern

(PECL cairo >= 0.1.0)

Introducción

CairoPattern es la clase base abstracta desde la que derivan todas las demás clases de patrones. No se puede instanciar directamente

Sinopsis de la Clase

CairoPattern {
/* Métodos */
public __construct ( void )
public void getMatrix ( void )
public int getType ( void )
public void setMatrix ( string $matrix )
public int status ( void )
}

Tabla de contenidos

  • CairoPattern::__construct — El propósito de __construct
  • CairoPattern::getMatrix — El propósito de getMatrix
  • CairoPattern::getType — El propósito de getType
  • CairoPattern::setMatrix — El propósito de setMatrix
  • CairoPattern::status — El propósito de status
CairoPatternType
CairoPattern::__construct
Cairo


El propósito de __construct

CairoPattern
CairoPattern::getMatrix
CairoPattern
PHP Manual

CairoPattern::__construct

(PECL cairo >= 0.1.0)

CairoPattern::__construct — El propósito de __construct

Descripción

public CairoPattern::__construct ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoPattern::__construct()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoPattern
CairoPattern::getMatrix
CairoPattern


El propósito de getMatrix

CairoPattern::__construct
CairoPattern::getType
CairoPattern
PHP Manual

CairoPattern::getMatrix

cairo_get_matrix

(PECL cairo >= 0.1.0)

CairoPattern::getMatrix -- cairo_get_matrix — El propósito de getMatrix

Descripción

Estilo orientado a objetos (método):

public void CairoPattern::getMatrix ( void )

Estilo por procedimientos:

void cairo_get_matrix ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoPattern::__construct
CairoPattern::getType
CairoPattern


El propósito de getType

CairoPattern::getMatrix
CairoPattern::setMatrix
CairoPattern
PHP Manual

CairoPattern::getType

(PECL cairo >= 0.1.0)

CairoPattern::getType — El propósito de getType

Descripción

public int CairoPattern::getType ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoPattern::getType()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoPattern::getMatrix
CairoPattern::setMatrix
CairoPattern


El propósito de setMatrix

CairoPattern::getType
CairoPattern::status
CairoPattern
PHP Manual

CairoPattern::setMatrix

cairo_set_matrix

(PECL cairo >= 0.1.0)

CairoPattern::setMatrix -- cairo_set_matrix — El propósito de setMatrix

Descripción

Estilo orientado a objetos (método):

public void CairoPattern::setMatrix ( string $matrix )

Estilo por procedimientos:

void cairo_set_matrix ( CairoContext $context , CairoMatrix $matrix )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

matrix

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoPattern::getType
CairoPattern::status
CairoPattern


El propósito de status

CairoPattern::setMatrix
CairoGradientPattern
CairoPattern
PHP Manual

CairoPattern::status

cairo_status

(PECL cairo >= 0.1.0)

CairoPattern::status -- cairo_status — El propósito de status

Descripción

Estilo orientado a objetos (método):

public int CairoPattern::status ( void )

Estilo por procedimientos:

int cairo_status ( CairoContext $context )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoPattern::setMatrix
CairoGradientPattern
CairoPattern


La clase CairoGradientPattern

(PECL cairo >= 0.1.0)

Introducción

CairoGradientPattern es una clase base abstracta de la que derivan otros Patrones de clases. No se puede instanciar directamente.

Sinopsis de la Clase

CairoGradientPattern extends CairoPattern {
/* Métodos */
public void addColorStopRgb ( string $offset , string $red , string $green , string $blue )
public void addColorStopRgba ( string $offset , string $red , string $green , string $blue , string $alpha )
public int getColorStopCount ( void )
public array getColorStopRgba ( string $index )
public int getExtend ( void )
public void setExtend ( int $extend )
/* Métodos heredados */
public CairoPattern::__construct ( void )
public void CairoPattern::getMatrix ( void )
public int CairoPattern::getType ( void )
public void CairoPattern::setMatrix ( string $matrix )
public int CairoPattern::status ( void )
}

Tabla de contenidos

  • CairoGradientPattern::addColorStopRgb — El propósito de addColorStopRgb
  • CairoGradientPattern::addColorStopRgba — El propósito de addColorStopRgba
  • CairoGradientPattern::getColorStopCount — El propósito de getColorStopCount
  • CairoGradientPattern::getColorStopRgba — El propósito de getColorStopRgba
  • CairoGradientPattern::getExtend — El propósito de getExtend
  • CairoGradientPattern::setExtend — El propósito de setExtend
CairoPattern::status
CairoGradientPattern::addColorStopRgb
Cairo


El propósito de addColorStopRgb

CairoGradientPattern
CairoGradientPattern::addColorStopRgba
CairoGradientPattern
PHP Manual

CairoGradientPattern::addColorStopRgb

(PECL cairo >= 0.1.0)

CairoGradientPattern::addColorStopRgb — El propósito de addColorStopRgb

Descripción

public void CairoGradientPattern::addColorStopRgb ( string $offset , string $red , string $green , string $blue )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

offset

Descripción...

red

Descripción...

green

Descripción...

blue

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoGradientPattern::addColorStopRgb()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoGradientPattern
CairoGradientPattern::addColorStopRgba
CairoGradientPattern


El propósito de addColorStopRgba

CairoGradientPattern::addColorStopRgb
CairoGradientPattern::getColorStopCount
CairoGradientPattern
PHP Manual

CairoGradientPattern::addColorStopRgba

(PECL cairo >= 0.1.0)

CairoGradientPattern::addColorStopRgba — El propósito de addColorStopRgba

Descripción

public void CairoGradientPattern::addColorStopRgba ( string $offset , string $red , string $green , string $blue , string $alpha )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

offset

Descripción...

red

Descripción...

green

Descripción...

blue

Descripción...

alpha

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoGradientPattern::addColorStopRgba()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoGradientPattern::addColorStopRgb
CairoGradientPattern::getColorStopCount
CairoGradientPattern


El propósito de getColorStopCount

CairoGradientPattern::addColorStopRgba
CairoGradientPattern::getColorStopRgba
CairoGradientPattern
PHP Manual

CairoGradientPattern::getColorStopCount

(PECL cairo >= 0.1.0)

CairoGradientPattern::getColorStopCount — El propósito de getColorStopCount

Descripción

public int CairoGradientPattern::getColorStopCount ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoGradientPattern::getColorStopCount()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoGradientPattern::addColorStopRgba
CairoGradientPattern::getColorStopRgba
CairoGradientPattern


El propósito de getColorStopRgba

CairoGradientPattern::getColorStopCount
CairoGradientPattern::getExtend
CairoGradientPattern
PHP Manual

CairoGradientPattern::getColorStopRgba

(PECL cairo >= 0.1.0)

CairoGradientPattern::getColorStopRgba — El propósito de getColorStopRgba

Descripción

public array CairoGradientPattern::getColorStopRgba ( string $index )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

index

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoGradientPattern::getColorStopRgba()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoGradientPattern::getColorStopCount
CairoGradientPattern::getExtend
CairoGradientPattern


El propósito de getExtend

CairoGradientPattern::getColorStopRgba
CairoGradientPattern::setExtend
CairoGradientPattern
PHP Manual

CairoGradientPattern::getExtend

(PECL cairo >= 0.1.0)

CairoGradientPattern::getExtend — El propósito de getExtend

Descripción

public int CairoGradientPattern::getExtend ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoGradientPattern::getExtend()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoGradientPattern::getColorStopRgba
CairoGradientPattern::setExtend
CairoGradientPattern


El propósito de setExtend

CairoGradientPattern::getExtend
CairoSolidPattern
CairoGradientPattern
PHP Manual

CairoGradientPattern::setExtend

(PECL cairo >= 0.1.0)

CairoGradientPattern::setExtend — El propósito de setExtend

Descripción

public void CairoGradientPattern::setExtend ( int $extend )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

extend

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoGradientPattern::setExtend()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoGradientPattern::getExtend
CairoSolidPattern
CairoGradientPattern


La clase CairoSolidPattern

(PECL cairo >= 0.1.0)

Introducción

Sinopsis de la Clase

CairoSolidPattern extends CairoPattern {
/* Métodos */
public __construct ( float $red , float $green , float $blue [, float $alpha = 0 ] )
public array getRgba ( void )
/* Métodos heredados */
public CairoPattern::__construct ( void )
public void CairoPattern::getMatrix ( void )
public int CairoPattern::getType ( void )
public void CairoPattern::setMatrix ( string $matrix )
public int CairoPattern::status ( void )
}

Tabla de contenidos

  • CairoSolidPattern::__construct — El propósito de __construct
  • CairoSolidPattern::getRgba — El propósito de getRgba
CairoGradientPattern::setExtend
CairoSolidPattern::__construct
Cairo


El propósito de __construct

CairoSolidPattern
CairoSolidPattern::getRgba
CairoSolidPattern
PHP Manual

CairoSolidPattern::__construct

(PECL cairo >= 0.1.0)

CairoSolidPattern::__construct — El propósito de __construct

Descripción

public CairoSolidPattern::__construct ( float $red , float $green , float $blue [, float $alpha = 0 ] )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

red

Descripción...

green

Descripción...

blue

Descripción...

alpha

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoSolidPattern::__construct()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoSolidPattern
CairoSolidPattern::getRgba
CairoSolidPattern


El propósito de getRgba

CairoSolidPattern::__construct
CairoSurfacePattern
CairoSolidPattern
PHP Manual

CairoSolidPattern::getRgba

(PECL cairo >= 0.1.0)

CairoSolidPattern::getRgba — El propósito de getRgba

Descripción

public array CairoSolidPattern::getRgba ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoSolidPattern::getRgba()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoSolidPattern::__construct
CairoSurfacePattern
CairoSolidPattern


La clase CairoSurfacePattern

(PECL cairo >= 0.1.0)

Introducción

Sinopsis de la Clase

CairoSurfacePattern extends CairoPattern {
/* Métodos */
public __construct ( CairoSurface $surface )
public int getExtend ( void )
public int getFilter ( void )
public void getSurface ( void )
public void setExtend ( int $extend )
public void setFilter ( string $filter )
/* Métodos heredados */
public CairoPattern::__construct ( void )
public void CairoPattern::getMatrix ( void )
public int CairoPattern::getType ( void )
public void CairoPattern::setMatrix ( string $matrix )
public int CairoPattern::status ( void )
}

Tabla de contenidos

  • CairoSurfacePattern::__construct — El propósito de __construct
  • CairoSurfacePattern::getExtend — El propósito de getExtend
  • CairoSurfacePattern::getFilter — El propósito de getFilter
  • CairoSurfacePattern::getSurface — El propósito de getSurface
  • CairoSurfacePattern::setExtend — El propósito de setExtend
  • CairoSurfacePattern::setFilter — El propósito de setFilter
CairoSolidPattern::getRgba
CairoSurfacePattern::__construct
Cairo


El propósito de __construct

CairoSurfacePattern
CairoSurfacePattern::getExtend
CairoSurfacePattern
PHP Manual

CairoSurfacePattern::__construct

(PECL cairo >= 0.1.0)

CairoSurfacePattern::__construct — El propósito de __construct

Descripción

public CairoSurfacePattern::__construct ( CairoSurface $surface )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

surface

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoSurfacePattern::__construct()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoSurfacePattern
CairoSurfacePattern::getExtend
CairoSurfacePattern


El propósito de getExtend

CairoSurfacePattern::__construct
CairoSurfacePattern::getFilter
CairoSurfacePattern
PHP Manual

CairoSurfacePattern::getExtend

(PECL cairo >= 0.1.0)

CairoSurfacePattern::getExtend — El propósito de getExtend

Descripción

public int CairoSurfacePattern::getExtend ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoSurfacePattern::getExtend()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoSurfacePattern::__construct
CairoSurfacePattern::getFilter
CairoSurfacePattern


El propósito de getFilter

CairoSurfacePattern::getExtend
CairoSurfacePattern::getSurface
CairoSurfacePattern
PHP Manual

CairoSurfacePattern::getFilter

(PECL cairo >= 0.1.0)

CairoSurfacePattern::getFilter — El propósito de getFilter

Descripción

public int CairoSurfacePattern::getFilter ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoSurfacePattern::getFilter()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoSurfacePattern::getExtend
CairoSurfacePattern::getSurface
CairoSurfacePattern


El propósito de getSurface

CairoSurfacePattern::getFilter
CairoSurfacePattern::setExtend
CairoSurfacePattern
PHP Manual

CairoSurfacePattern::getSurface

(PECL cairo >= 0.1.0)

CairoSurfacePattern::getSurface — El propósito de getSurface

Descripción

public void CairoSurfacePattern::getSurface ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoSurfacePattern::getSurface()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoSurfacePattern::getFilter
CairoSurfacePattern::setExtend
CairoSurfacePattern


El propósito de setExtend

CairoSurfacePattern::getSurface
CairoSurfacePattern::setFilter
CairoSurfacePattern
PHP Manual

CairoSurfacePattern::setExtend

(PECL cairo >= 0.1.0)

CairoSurfacePattern::setExtend — El propósito de setExtend

Descripción

public void CairoSurfacePattern::setExtend ( int $extend )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

extend

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoSurfacePattern::setExtend()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoSurfacePattern::getSurface
CairoSurfacePattern::setFilter
CairoSurfacePattern


El propósito de setFilter

CairoSurfacePattern::setExtend
CairoLinearGradient
CairoSurfacePattern
PHP Manual

CairoSurfacePattern::setFilter

(PECL cairo >= 0.1.0)

CairoSurfacePattern::setFilter — El propósito de setFilter

Descripción

public void CairoSurfacePattern::setFilter ( string $filter )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

filter

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoSurfacePattern::setFilter()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoSurfacePattern::setExtend
CairoLinearGradient
CairoSurfacePattern


La clase CairoLinearGradient

(PECL cairo >= 0.1.0)

Introducción

Crea un nuevo CairoLinearGradient (gradiente linear) a través de la línea definida

Sinopsis de la Clase

CairoLinearGradient extends CairoGradientPattern {
/* Métodos */
public __construct ( float $x0 , float $y0 , float $x1 , float $y1 )
public array getPoints ( void )
/* Métodos heredados */
public void CairoGradientPattern::addColorStopRgb ( string $offset , string $red , string $green , string $blue )
public void CairoGradientPattern::addColorStopRgba ( string $offset , string $red , string $green , string $blue , string $alpha )
public int CairoGradientPattern::getColorStopCount ( void )
public array CairoGradientPattern::getColorStopRgba ( string $index )
public int CairoGradientPattern::getExtend ( void )
public void CairoGradientPattern::setExtend ( int $extend )
}

Tabla de contenidos

  • CairoLinearGradient::__construct — El propósito de __construct
  • CairoLinearGradient::getPoints — El propósito de getPoints
CairoSurfacePattern::setFilter
CairoLinearGradient::__construct
Cairo


El propósito de __construct

CairoLinearGradient
CairoLinearGradient::getPoints
CairoLinearGradient
PHP Manual

CairoLinearGradient::__construct

(PECL cairo >= 0.1.0)

CairoLinearGradient::__construct — El propósito de __construct

Descripción

public CairoLinearGradient::__construct ( float $x0 , float $y0 , float $x1 , float $y1 )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

x0

Descripción...

y0

Descripción...

x1

Descripción...

y1

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoLinearGradient::__construct()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoLinearGradient
CairoLinearGradient::getPoints
CairoLinearGradient


El propósito de getPoints

CairoLinearGradient::__construct
CairoRadialGradient
CairoLinearGradient
PHP Manual

CairoLinearGradient::getPoints

(PECL cairo >= 0.1.0)

CairoLinearGradient::getPoints — El propósito de getPoints

Descripción

public array CairoLinearGradient::getPoints ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoLinearGradient::getPoints()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoLinearGradient::__construct
CairoRadialGradient
CairoLinearGradient


La clase CairoRadialGradient

(PECL cairo >= 0.1.0)

Introducción

Sinopsis de la Clase

CairoRadialGradient extends CairoGradientPattern {
/* Métodos */
public __construct ( float $x0 , float $y0 , float $r0 , float $x1 , float $y1 , float $r1 )
public array getCircles ( void )
/* Métodos heredados */
public void CairoGradientPattern::addColorStopRgb ( string $offset , string $red , string $green , string $blue )
public void CairoGradientPattern::addColorStopRgba ( string $offset , string $red , string $green , string $blue , string $alpha )
public int CairoGradientPattern::getColorStopCount ( void )
public array CairoGradientPattern::getColorStopRgba ( string $index )
public int CairoGradientPattern::getExtend ( void )
public void CairoGradientPattern::setExtend ( int $extend )
}

Tabla de contenidos

  • CairoRadialGradient::__construct — El propósito de __construct
  • CairoRadialGradient::getCircles — El propósito de getCircles
CairoLinearGradient::getPoints
CairoRadialGradient::__construct
Cairo


El propósito de __construct

CairoRadialGradient
CairoRadialGradient::getCircles
CairoRadialGradient
PHP Manual

CairoRadialGradient::__construct

(PECL cairo >= 0.1.0)

CairoRadialGradient::__construct — El propósito de __construct

Descripción

Estilo orientado a objetos:

public CairoRadialGradient::__construct ( float $x0 , float $y0 , float $r0 , float $x1 , float $y1 , float $r1 )

Estilo por procedimientos:

Crea un nuevo CairoPattern de gradiente radial entre los dos círculos definidos por (x0, y0, r0) y (x1, y1, r1). Antes de usar el patrón de gradiente debería definirse un número de paradas de color usando CairoRadialGradient::addColorStopRgb() o CairoRadialGradient::addColorStopRgba().

Nota: Las coordenadas están en espacios de patrón. Para un nuevo patrón, el espacio de patrón es idéntico al espacio de usuario, pero la relación entre los espacios puede ser cambiada con CairoRadialGradient::setMatrix().

Parámetros

x0

Coordenada x para el centro del círculo inicial.

y0

Coordenada y para el centro del círculo inicial.

r0

Radio del círculo inicial.

x1

Coordenada x para el centro del círculo final.

y1

Coordenada y para el centro del círculo final.

r1

Radio del círculo final.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoRadialGradient::__construct()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoRadialGradient
CairoRadialGradient::getCircles
CairoRadialGradient


El propósito de getCircles

CairoRadialGradient::__construct
CairoAntialias
CairoRadialGradient
PHP Manual

CairoRadialGradient::getCircles

(PECL cairo >= 0.1.0)

CairoRadialGradient::getCircles — El propósito de getCircles

Descripción

public array CairoRadialGradient::getCircles ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoRadialGradient::getCircles()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoRadialGradient::__construct
CairoAntialias
CairoRadialGradient


La clase CairoAntialias

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Clase de tipo Enum que especifica el tipo de antialias a realizar cuando se renderiza texto o formas.

Sinopsis de la Clase

CairoAntialias {
/* Constantes */
const integer MODE_DEFAULT = 0 ;
const integer MODE_NONE = 1 ;
const integer MODE_GRAY = 2 ;
const integer MODE_SUBPIXEL = 3 ;
}

Constantes predefinidas

CairoAntialias::MODE_DEFAULT

Usar el altialias predeterminado para el subsistema y el dispositivo objetivo

CairoAntialias::MODE_NONE

Usar una máscara alfa de dos niveles

CairoAntialias::MODE_GRAY

Realizar un antialias de color sencillo (usando sombras de gris para texto negro sobre un fondo blanco, por ejemplo).

CairoAntialias::MODE_SUBPIXEL

Realizar un antialias tomando ventaja del orden de los elementos de subpíxel en dispositivos tales como paneles LCD.

CairoRadialGradient::getCircles
CairoContent
Cairo


La clase CairoContent

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

CairoContent se usa para describir el contenido que contendrá una superficie, si la información de color, la información alfa (translúcida contra opaca), o ambas.

Nota: Los valores grandes están diseñados aquí para mantener los valores de CairoContent bien diferenciados de loa valores de CairoContent y así la implementación puede detectar el error si los usuarios confunden los dos tipos.

Sinopsis de la Clase

CairoContent {
/* Constantes */
const integer COLOR = 4096 ;
const integer ALPHA = 8192 ;
const integer COLOR_ALPHA = 12288 ;
}

Constantes predefinidas

CairoContent::COLOR

La superficie sólo tendrá el contenido de color.

CairoContent::ALPHA

La superficie sólo tendrá el contenido alfa.

CairoContent::COLOR_ALPHA

La superficie tendrá el contenido alfa y de color.

CairoAntialias
CairoExtend
Cairo


La clase CairoExtend

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Sinopsis de la Clase

CairoExtend {
/* Constantes */
const integer NONE = 0 ;
const integer REPEAT = 1 ;
const integer REFLECT = 2 ;
const integer PAD = 3 ;
}

Constantes predefinidas

CairoExtend::NONE

Descripción aquí...

CairoExtend::REPEAT

Descripción aquí...

CairoExtend::REFLECT

Descripción aquí...

CairoExtend::PAD

Descripción aquí...

CairoContent
CairoFormat
Cairo


La clase CairoFormat

(PECL cairo >= 0.1.0)

Introducción

Las enumeraciones de CairoFormat se usan para identificar el formato de memoria de la información de la imagen.

Sinopsis de la Clase

CairoFormat {
/* Constantes */
const integer ARGB32 = 0 ;
const integer RGB24 = 1 ;
const integer A8 = 2 ;
const integer A1 = 3 ;
/* Métodos */
public static int strideForWidth ( int $format , int $width )
}

Constantes predefinidas

CairoFormat::ARGB32

Cada píxel tiene una cuantía de 32 bits, con alfa en los 8 bits superiores, después rojo, verde y azul. Las cuantías de 32 bits se almacenan de forma "endian" nativa. Se usa alfa pre-multiplicado. (Es decir, 50% transparente rojo es 0x80800000, no 0x80ff0000.)

CairoFormat::RGB24

Cada píxel tiene una cuantía de 32 bits, con los 8 bits superiores sin usar. Rojo, Verde y Azul se almacenan en los 24 bits restantes en ese orden.

CairoFormat::A8

Cada píxel tiene una cuantía de 8 bits manteniendo un valor de alfa.

CairoFormat::A1

Cada píxel tiene una cuantía de 1 bit manteniendo un valor de alfa. Los píxeles están empaquetados juntos en cuantías de 32 bits.. El orden de los bits coincide con el "endianess" de la plataforma. En una máquina "big-endian", el primer píxel está en el bit superior, en una máquina "little-endian" el primer píxel está en el bit menos significativo.

Tabla de contenidos

  • CairoFormat::strideForWidth — Proporciona un intervalo de paso apropiado a usar
CairoExtend
CairoFormat::strideForWidth
Cairo


Proporciona un intervalo de paso apropiado a usar

CairoFormat
CairoFillRule
CairoFormat
PHP Manual

CairoFormat::strideForWidth

(PECL cairo >= 0.1.0)

CairoFormat::strideForWidth — Proporciona un intervalo de paso apropiado a usar

Descripción

public static int CairoFormat::strideForWidth ( int $format , int $width )

Este método proporciona un valor de intervalo de paso que respetará todos los requisitos de alineamiento del código de renderización de imágenes acelerado dentro de cairo cairo.

Parámetros

format

El CairoFormat deseados a usar

width

El ancho de la imagen

Valores devueltos

El intervalo de paso a usar dado por el formato deseado y el ancho, o -1 si el formato no es válido o el ancho es demasiado grande.

Ejemplos

Ejemplo #1 Ejemplo de CairoFormat::strideForWidth()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoFormat
CairoFillRule
CairoFormat


La clase CairoFillRule

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

CairoFillRule se usa para seleccionar la manera en que los trazados son rellenados. Para ambas reglas de relleno, si un punto es incluído o no en el relleno, se determina tomando un rayo desde el punto al infinito y mirando las intersecciones con el trazado. El rayo puede estar en cualqueir dirección, mientras no pase a través del punto final de un segmento o tome una intersección difícil como tal como la intersección de la tangente del trazado. (Observe que el relleno no está actualmente implementado de esta manera. Sólo es una descripción de la regla que se aplica.)

La regla de relleno por defecto es CairoFillRule::WINDING.

Sinopsis de la Clase

CairoFillRule {
/* Constantes */
const integer WINDING = 0 ;
const integer EVEN_ODD = 1 ;
}

Constantes predefinidas

CairoFillRule::WINDING

Si el trazado cruza el rayo de izquierda a derecha, se cuenta +1. Si el trazado cruza el rayo de derecha a izquierda, se cuenta -1. (Izquierda y derecha se determinan desde la perspectiva de por el rayo desde el punto de inicio.) Si la cuenta total no es cero, el punto será rellenado.

CairoFillRule::EVEN_ODD

Se cuentan el número total de intesecciones, sin tener en cuenta la orientación del contorno. Si el número total de intersecciones es impar, el punto será rellenado.

CairoFormat::strideForWidth
CairoFilter
Cairo


La clase CairoFilter

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Un CairoFilter se usa para indicar qué filtración debería ser aplicada cuando se leen valores de píxeles desde patrones. Véase CairoPattern::setSource() o cairo_pattern_set_source() para indicar el filtro deseado que se va a usar con un patrón en particular.

Sinopsis de la Clase

CairoFilter {
/* Constantes */
const integer FAST = 0 ;
const integer GOOD = 1 ;
const integer BEST = 2 ;
const integer NEAREST = 3 ;
const integer BILINEAR = 4 ;
const integer GAUSSIAN = 5 ;
}

Constantes predefinidas

CairoFilter::FAST

Un filtro de alto rendimiento, con calidad similar a CairoFilter::NEAREST

CairoFilter::GOOD

Un filtro con un rendimiento razonable, con calidad similar a CairoFilter::BILINEAR

CairoFilter::BEST

La más alta calidad disponible, el rendimiento no puede ser adecuado para uso interactivo.

CairoFilter::NEAREST

Filtrado de adyacente más cercano

CairoFilter::BILINEAR

Interpolación linear en dos dimensiones

CairoFilter::GAUSSIAN

Este valor de filtro no está actualmente implementado, y no debería usarse en el código actual.

CairoFillRule
CairoHintMetrics
Cairo


La clase CairoHintMetrics

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Especifica si retocar la métrica de la fuente; retocar la métrica de la fuente significa cuantizarla, por lo que son valores enteros en el espacio del dispositivo. Al realizar esto se mejora la consistencia de la letra y el espacio entre líneas, aunque también significa que el texto será diseñado de forma diferente en diferentes factores de zoom.

Sinopsis de la Clase

CairoHintMetrics {
/* Constantes */
const integer METRICS_DEFAULT = 0 ;
const integer METRICS_OFF = 1 ;
const integer METRICS_ON = 2 ;
}

Constantes predefinidas

CairoHintMetrics::METRICS_DEFAULT

Retocar las métricas de la manera predeterminda para el entorno de fuente y el dispositivo objetivo

CairoHintMetrics::METRICS_OFF

No realizar el retoque de las métricas de fuente

CairoHintMetrics::METRICS_ON

Retocar las métricas de la fuente

CairoFilter
CairoHintStyle
Cairo


La clase CairoHintStyle

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Especifica el tipo de "hinting" (retoque) a realizar sobre los contornos de las fuentes. "Hinting" es el proceso de ajustar los contornos a la cuadrícula de píxeles para mejorar la apariencia del resultado. Ya que retocar los contornos involucra distorsionarlos, también reduce la fidelidad de las formas de los contornos originales. No todos los estilos de retoque de contornos están soportados por todas los entornos de fuentes.

Sinopsis de la Clase

CairoHintStyle {
/* Constantes */
const integer STYLE_DEFAULT = 0 ;
const integer STYLE_NONE = 1 ;
const integer STYLE_SLIGHT = 2 ;
const integer STYLE_MEDIUM = 3 ;
const integer STYLE_FULL = 4 ;
}

Constantes predefinidas

CairoHintStyle::STYLE_DEFAULT

Usar el estilo de retoque predeterminado para los entornos de fuentes y el dispositivo objetivo

CairoHintStyle::STYLE_NONE

No retocar los contornos

CairoHintStyle::STYLE_SLIGHT

Retocar los contornos ligeramente para mejorar el contraste mientras se mantiene una buena fidelidad a las formas originales.

CairoHintStyle::STYLE_MEDIUM

Retocar los contornos con intensidad media dando un compromiso entre la fidelidad de las formas originales y el contraste

CairoHintStyle::STYLE_FULL

Retocar los contornos para maximizar el contraste

CairoHintMetrics
CairoLineCap
Cairo


La clase CairoLineCap

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Especifica la manera de renderizar los puntos finales del trazado al contornear.

El remate de línea por defecto es CairoLineCap::BUTT.

Sinopsis de la Clase

CairoLineCap {
/* Constantes */
const integer BUTT = 0 ;
const integer ROUND = 1 ;
const integer SQUARE = 2 ;
}

Constantes predefinidas

CairoLineCap::BUTT

Iniciar(parar) la línea exactamente en el punto inicial(final)

CairoLineCap::ROUND

Usar un final redondeado, el centro del círculo es el punto final

CairoLineCap::SQUARE

Usar un final cuadrado, el centro del cuadrado es el punto final

CairoHintStyle
CairoLineJoin
Cairo


La clase CairoLineJoin

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Sinopsis de la Clase

CairoLineJoin {
/* Constantes */
const integer MITER = 0 ;
const integer ROUND = 1 ;
const integer BEVEL = 2 ;
}

Constantes predefinidas

CairoLineJoin::MITER

Descripción aquí...

CairoLineJoin::ROUND

Descripción aquí...

CairoLineJoin::BEVEL

Descripción aquí...

CairoLineCap
CairoMatrix
Cairo


La clase CairoMatrix

(PECL cairo >= 0.1.0)

Introducción

Las matrices se usan en cairo para la conversión entre diferentes espacios de coordenadas.

Sinopsis de la Clase

CairoMatrix {
/* Métodos */
public __construct ([ float $xx = 1.0 [, float $yx = 0.0 [, float $xy = 0.0 [, float $yy = 1.0 [, float $x0 = 0.0 [, float $y0 = 0.0 ]]]]]] )
public static void initIdentity ( void )
public static void initRotate ( float $radians )
public static void initScale ( float $sx , float $sy )
public static void initTranslate ( float $tx , float $ty )
public void invert ( void )
public static CairoMatrix multiply ( CairoMatrix $matrix1 , CairoMatrix $matrix2 )
public void rotate ( string $sx , string $sy )
public void scale ( float $sx , float $sy )
public array transformDistance ( string $dx , string $dy )
public array transformPoint ( string $dx , string $dy )
public void translate ( string $tx , string $ty )
}

Tabla de contenidos

  • CairoMatrix::__construct — Crea un nuevo objeto CairoMatrix
  • CairoMatrix::initIdentity — Crea una nueva matriz de identidad
  • CairoMatrix::initRotate — Crea una nueva matriz rotada
  • CairoMatrix::initScale — Crea una nueva matriz de escala
  • CairoMatrix::initTranslate — Crea una nueva matriz de traducción
  • CairoMatrix::invert — El propósito de invert
  • CairoMatrix::multiply — El propósito de multiply
  • CairoMatrix::rotate — El propósito de rotate
  • CairoMatrix::scale — Aplica escala a una matriz
  • CairoMatrix::transformDistance — El propósito de transformDistance
  • CairoMatrix::transformPoint — El propósito de transformPoint
  • CairoMatrix::translate — El propósito de translate
CairoLineJoin
CairoMatrix::__construct
Cairo


Crea un nuevo objeto CairoMatrix

CairoMatrix
CairoMatrix::initIdentity
CairoMatrix
PHP Manual

CairoMatrix::__construct

cairo_matrix_init

(PECL cairo >= 0.1.0)

CairoMatrix::__construct -- cairo_matrix_init — Crea un nuevo objeto CairoMatrix

Descripción

Estilo orientado a objetos (método):

public CairoMatrix::__construct ([ float $xx = 1.0 [, float $yx = 0.0 [, float $xy = 0.0 [, float $yy = 1.0 [, float $x0 = 0.0 [, float $y0 = 0.0 ]]]]]] )

Estilo por procedimientos:

object cairo_matrix_init ([ float $xx = 1.0 [, float $yx = 0.0 [, float $xy = 0.0 [, float $yy = 1.0 [, float $x0 = 0.0 [, float $y0 = 0.0 ]]]]]] )

Devuelve un nuevo objeto CairoMatrix. Las matrices se usan en cairo para hacer conversiones entre diferentes espacios de coordenadas. Establece la matriz para ser la transformación afín dada por xx, yx, xy, yy, x0, y0. La transformación es dada mediante: x_new = xx * x + xy * y + x0; y y_new = yx * x + yy * y + y0;

Parámetros

xx

componente xx de la transformación afín

yx

componente yx de la transformación afín

xy

componente xy de la transformación afín

yy

componente yy de la transformación afín

x0

componente X de traducción de la transformación afín

y0

componente Y de traducción de la transformación afín

Valores devueltos

Devuelve un nuevo objeto CairoMatrix que se puede usar con superficies, contextos y patrones.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* Crear una nueva Matriz */
$matriz = new CairoMatrix(1.0, 0.5, 0.0, 1.0, 0.0, 0.0);
?>

Ejemplo #2 Estilo por procedimientos

<?php
/* Crear una nueva Matriz */
$matriz = cairo_matrix_init(1.0, 0.5, 0.0, 1.0, 0.0, 0.0);
?>

Ver también

  • CairoMatrix::initIdentity() - Crea una nueva matriz de identidad
  • CairoMatrix::initRotate() - Crea una nueva matriz rotada
  • CairoMatrix::initScale() - Crea una nueva matriz de escala
  • CairoMatrix::initTranslate() - Crea una nueva matriz de traducción

CairoMatrix
CairoMatrix::initIdentity
CairoMatrix


Crea una nueva matriz de identidad

CairoMatrix::__construct
CairoMatrix::initRotate
CairoMatrix
PHP Manual

CairoMatrix::initIdentity

cairo_matrix_init_identity

(PECL cairo >= 0.1.0)

CairoMatrix::initIdentity -- cairo_matrix_init_identity — Crea una nueva matriz de identidad

Descripción

Estilo orientado a objetos (método):

public static void CairoMatrix::initIdentity ( void )

Estilo por procedimientos:

object cairo_matrix_init_identity ( void )

Crea una nueva matriz que es una transformación de identidad. Una transformación de identidad significa que la información de origen es copiada a la información destino sin cambios

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un nuevo objeto CairoMatrix que se puede usar con superficies, contextos y patrones.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* Crear una nueva Matriz */
$matriz = CairoMatrix::initIdentity();
?>

Ejemplo #2 Estilo por procedimientos

<?php
/* Crear una nueva Matriz */
$matriz = cairo_matrix_init_identity();
?>

Ver también

  • CairoMatrix::__construct() - Crea un nuevo objeto CairoMatrix
  • CairoMatrix::initRotate() - Crea una nueva matriz rotada
  • CairoMatrix::initScale() - Crea una nueva matriz de escala
  • CairoMatrix::initTranslate() - Crea una nueva matriz de traducción

CairoMatrix::__construct
CairoMatrix::initRotate
CairoMatrix


Crea una nueva matriz rotada

CairoMatrix::initIdentity
CairoMatrix::initScale
CairoMatrix
PHP Manual

CairoMatrix::initRotate

cairo_matrix_init_rotate

(PECL cairo >= 0.1.0)

CairoMatrix::initRotate -- cairo_matrix_init_rotate — Crea una nueva matriz rotada

Descripción

Estilo orientado a objetos (método):

public static void CairoMatrix::initRotate ( float $radians )

Estilo por procedimientos:

object cairo_matrix_init_rotate ( float $radians )

Crea una nueva matriz para una transformación que rota por los radianes proporcionados

Parámetros

radians

Ángulo de rotación, es radianes. La dirección de rotación está definida tal que los ángulos positivos rotan en la dirección desde el eje X positivo hacia el eje Y positivo. Con orientación de ejes predeterminada de cairo, los ángulos positivos rotan en dirección de las agujas del reloj.

Valores devueltos

Devuelve un nuevo objeto CairoMatrix que se puede usar con superficies, contexto y patrones.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* Crear una nueva Matriz */
$matriz = CairoMatrix::initRotate(0.3);
?>

Ejemplo #2 Estilo por procedimientos

<?php
/* Crear una nueva Matriz */
$matriz = cairo_matrix_init_rotate(0.3);
?>

Ver también

  • CairoMatrix::__construct() - Crea un nuevo objeto CairoMatrix
  • CairoMatrix::initIdentity() - Crea una nueva matriz de identidad
  • CairoMatrix::initScale() - Crea una nueva matriz de escala
  • CairoMatrix::initTranslate() - Crea una nueva matriz de traducción

CairoMatrix::initIdentity
CairoMatrix::initScale
CairoMatrix


Crea una nueva matriz de escala

CairoMatrix::initRotate
CairoMatrix::initTranslate
CairoMatrix
PHP Manual

CairoMatrix::initScale

cairo_matrix_init_scale

cairo_matrix_create_scale

(PECL cairo >= 0.1.0)

CairoMatrix::initScale -- cairo_matrix_init_scale -- cairo_matrix_create_scale — Crea una nueva matriz de escala

Descripción

Estilo orientado a objetos (método):

public static void CairoMatrix::initScale ( float $sx , float $sy )

Estilo por procedimientos:

object cairo_matrix_init_scale ( float $sx , float $sy )

Crea una nueva matriz para una transformación que escala por sx y sy en las dimensiones X e Y, respectivamente.

Parámetros

sx

factor de escala en la dirección X

sy

factor de escala en la dirección Y

Valores devueltos

Devuelve un nuevo objeto CairoMatrix que se puede usar con superficies, contexto y patrones.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* Crear una nueva Matriz */
$matriz = CairoMatrix::initScale(1.0, 2.0);
?>

Ejemplo #2 Estilo por procedimientos

<?php
/* Crear una nueva Matriz */
$matriz = cairo_matrix_init_scale(1.0, 2.0);
?>

Ver también

  • CairoMatrix::__construct() - Crea un nuevo objeto CairoMatrix
  • CairoMatrix::initIdentity() - Crea una nueva matriz de identidad
  • CairoMatrix::initRotate() - Crea una nueva matriz rotada
  • CairoMatrix::initTranslate() - Crea una nueva matriz de traducción

CairoMatrix::initRotate
CairoMatrix::initTranslate
CairoMatrix


Crea una nueva matriz de traducción

CairoMatrix::initScale
CairoMatrix::invert
CairoMatrix
PHP Manual

CairoMatrix::initTranslate

cairo_matrix_init_translate

(PECL cairo >= 0.1.0)

CairoMatrix::initTranslate -- cairo_matrix_init_translate — Crea una nueva matriz de traducción

Descripción

Estilo orientado a objetos (método):

public static void CairoMatrix::initTranslate ( float $tx , float $ty )

Estilo por procedimientos:

object cairo_matrix_init_translate ( float $tx , float $ty )

Crea una nueva matriz para una transformación que traduce por tx y ty en las dimensiones X e Y, respectivamente.

Parámetros

tx

cantidad a traducir en la dirección X

ty

cantidad a traducir en la dirección Y

Valores devueltos

Devuelve un nuevo objeto CairoMatrix que puede ser usado con superficies, contextos y patrones.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* Crear una nueva Matriz */
$matriz = CairoMatrix::initTranslate(1.0, 2.0);
?>

Ejemplo #2 Estilo por procedimientos

<?php
/* Crear una nueva Matriz */
$matriz = cairo_matrix_init_translate(1.0, 2.0);
?>

Ver también

  • CairoMatrix::__construct() - Crea un nuevo objeto CairoMatrix
  • CairoMatrix::initIdentity() - Crea una nueva matriz de identidad
  • CairoMatrix::initRotate() - Crea una nueva matriz rotada
  • CairoMatrix::initScale() - Crea una nueva matriz de escala

CairoMatrix::initScale
CairoMatrix::invert
CairoMatrix


El propósito de invert

CairoMatrix::initTranslate
CairoMatrix::multiply
CairoMatrix
PHP Manual

CairoMatrix::invert

(PECL cairo >= 0.1.0)

CairoMatrix::invert — El propósito de invert

Descripción

public void CairoMatrix::invert ( void )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoMatrix::invert()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoMatrix::initTranslate
CairoMatrix::multiply
CairoMatrix


El propósito de multiply

CairoMatrix::invert
CairoMatrix::rotate
CairoMatrix
PHP Manual

CairoMatrix::multiply

(PECL cairo >= 0.1.0)

CairoMatrix::multiply — El propósito de multiply

Descripción

public static CairoMatrix CairoMatrix::multiply ( CairoMatrix $matrix1 , CairoMatrix $matrix2 )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

matrix1

Descripción...

matrix2

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoMatrix::multiply()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoMatrix::invert
CairoMatrix::rotate
CairoMatrix


El propósito de rotate

CairoMatrix::multiply
CairoMatrix::scale
CairoMatrix
PHP Manual

CairoMatrix::rotate

cairo_rotate

(PECL cairo >= 0.1.0)

CairoMatrix::rotate -- cairo_rotate — El propósito de rotate

Descripción

Estilo orientado a objetos (método):

public void CairoMatrix::rotate ( string $sx , string $sy )

Estilo por procedimientos:

void cairo_rotate ( CairoContext $context , string $angle )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

angle

Descripción...

sx

Descripción...

sy

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoMatrix::multiply
CairoMatrix::scale
CairoMatrix


Aplica escala a una matriz

CairoMatrix::rotate
CairoMatrix::transformDistance
CairoMatrix
PHP Manual

CairoMatrix::scale

cairo_matrix_scale

(PECL cairo >= 0.1.0)

CairoMatrix::scale -- cairo_matrix_scale — Aplica escala a una matriz

Descripción

Estilo orientado a objetos (método):

public void CairoMatrix::scale ( float $sx , float $sy )

Estilo por procedimientos:

void cairo_matrix_scale ( CairoContext $context , float $sx , float $sy )

Aplica escala mediante sx, sy a la transformación en la matriz. El efecto de la nueva transformación es, primero escalar las coordenadas mediante sx y sy, y luego aplicar la transformación original a las coordenadas.

Parámetros

matrix

Sólo procedural - instancia de CairoMatrix

sx

factor de escala en la dirección X

sy

factor de escala en la dirección Y

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* Aplicar escala a una matriz */
$matriz = new CairoMatrix(1.0, 0.5, 0.0, 1.0, 0.0, 0.0);
$matriz->scale(0.2, 2.0);
?>

Ejemplo #2 Estilo por procedimientos

<?php
/* Aplicar escala a una matriz */
$matriz = cairo_matrix_init(1.0, 0.5, 0.0, 1.0, 0.0, 0.0);
cairo_matrix_scale($matriz, 0.2, 2.0);
?>

Ver también

  • CairoMatrix::initScale() - Crea una nueva matriz de escala

CairoMatrix::rotate
CairoMatrix::transformDistance
CairoMatrix


El propósito de transformDistance

CairoMatrix::scale
CairoMatrix::transformPoint
CairoMatrix
PHP Manual

CairoMatrix::transformDistance

(PECL cairo >= 0.1.0)

CairoMatrix::transformDistance — El propósito de transformDistance

Descripción

public array CairoMatrix::transformDistance ( string $dx , string $dy )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

dx

Descripción...

dy

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoMatrix::transformDistance()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoMatrix::scale
CairoMatrix::transformPoint
CairoMatrix


El propósito de transformPoint

CairoMatrix::transformDistance
CairoMatrix::translate
CairoMatrix
PHP Manual

CairoMatrix::transformPoint

(PECL cairo >= 0.1.0)

CairoMatrix::transformPoint — El propósito de transformPoint

Descripción

public array CairoMatrix::transformPoint ( string $dx , string $dy )

La descripción del método va aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

dx

Descripción...

dy

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Ejemplo de CairoMatrix::transformPoint()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoMatrix::transformDistance
CairoMatrix::translate
CairoMatrix


El propósito de translate

CairoMatrix::transformPoint
CairoOperator
CairoMatrix
PHP Manual

CairoMatrix::translate

cairo_translate

(PECL cairo >= 0.1.0)

CairoMatrix::translate -- cairo_translate — El propósito de translate

Descripción

Estilo orientado a objetos (método):

public void CairoMatrix::translate ( string $tx , string $ty )

Estilo por procedimientos:

void cairo_translate ( CairoContext $context , string $x , string $y )

Descripción aquí.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

context

Descripción...

x

Descripción...

y

Descripción...

tx

Descripción...

ty

Descripción...

Valores devueltos

Descripción...

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ejemplo #2 Estilo por procedimientos

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

CairoMatrix::transformPoint
CairoOperator
CairoMatrix


La clase CairoOperator

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Se usa para establecer el operador de composición para todas las operaciones de dibujo de cairo.

El operador por defecto es CairoOperator::OVER

Los operadores marcados como ilimitados modifican sus destinos incluso fuera de la capa de máscara (es decir, sus efectos no están limitados por la capa de máscara). Sin embargo, sus efectos pueden aún estar limitados por la manera de recortar.

Para poner las cosas fáciles, las descripciones de los operadores documentan el comportamiento para cuando el origen y el destino son totalmente transparentes u opacos. La implementación actual también funciona para capas translúcidas. Para una explicación más detallada de los efectos de cada operador, incluídas las definiciones matemáticas, véase http://cairographics.org/operators/.

Sinopsis de la Clase

CairoOperator {
/* Constantes */
const integer CLEAR = 0 ;
const integer SOURCE = 1 ;
const integer OVER = 2 ;
const integer IN = 3 ;
const integer OUT = 4 ;
const integer ATOP = 5 ;
const integer DEST = 6 ;
const integer DEST_OVER = 7 ;
const integer DEST_IN = 8 ;
const integer DEST_OUT = 9 ;
const integer DEST_ATOP = 10 ;
const integer XOR = 11 ;
const integer ADD = 12 ;
const integer SATURATE = 13 ;
}

Constantes predefinidas

CairoOperator::CLEAR

Limpia la capa destino (limitado)

CairoOperator::SOURCE

Reemplaza la capa destino (limitado)

CairoOperator::OVER

Dibuja la capa origen sobre la capa destino (limitado)

CairoOperator::IN

Dibuja el origen donde hubo contenido destino (ilimitado)

CairoOperator::OUT

Dibuja el origen donde no hubo contenido destino (ilimitado)

CairoOperator::ATOP

Dibuja el origen sobre el contenido destino y sólo allí

CairoOperator::DEST

Ignora el origen

CairoOperator::DEST_OVER

Dibuja el destino sobre el origen

CairoOperator::DEST_IN

Deja el destino sólo donde hubo contenido origen (ilimitado)

CairoOperator::DEST_OUT

Deja el destino sólo donde no hubo contenido origen

CairoOperator::DEST_ATOP

Deja el destino sobre el contenido origen y sólo allí (ilimitado)

CairoOperator::XOR

Origen y destino se muestran donde sólo hay uno de ellos

CairoOperator::ADD

Las capas origen y destino están acumuladas

CairoOperator::SATURATE

Como CairoOperator::OVER, excepto que se asume que el origen y el destino son geométricos separados

CairoMatrix::translate
CairoPath
Cairo


La clase CairoPath

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Nota: La clase CairoPath no puede ser instanciada directamente, hacerlo resultará en un Error Fatal si se usa o se pasa

Sinopsis de la Clase

CairoPath {
}
CairoOperator
CairoPsLevel
Cairo


La clase CairoPsLevel

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Sinopsis de la Clase

CairoPsLevel {
/* Constantes */
const integer LEVEL_2 = 0 ;
const integer LEVEL_3 = 1 ;
}

Constantes predefinidas

CairoPsLevel::LEVEL_2

Descripción aquí...

CairoPsLevel::LEVEL_3

Descripción aquí...

CairoPath
CairoSubpixelOrder
Cairo


La clase CairoSubpixelOrder

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Sinopsis de la Clase

CairoSubpixelOrder {
/* Constantes */
const integer ORDER_DEFAULT = 0 ;
const integer ORDER_RGB = 1 ;
const integer ORDER_BGR = 2 ;
const integer ORDER_VRGB = 3 ;
const integer ORDER_VBGR = 4 ;
}

Constantes predefinidas

CairoSubpixelOrder::ORDER_DEFAULT

Descripción aquí...

CairoSubpixelOrder::ORDER_RGB

Descripción aquí...

CairoSubpixelOrder::ORDER_BGR

Descripción aquí...

CairoSubpixelOrder::ORDER_VRGB

Descripción aquí...

CairoSubpixelOrder::ORDER_VBGR

Descripción aquí...

CairoPsLevel
CairoSvgVersion
Cairo


La clase CairoSvgVersion

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Sinopsis de la Clase

CairoSvgVersion {
/* Constantes */
const integer VERSION_1_1 = 0 ;
const integer VERSION_1_2 = 1 ;
}

Constantes predefinidas

CairoSvgVersion::VERSION_1_1

Descripción aquí...

CairoSvgVersion::VERSION_1_2

Descripción aquí...

CairoSubpixelOrder
Exif
Cairo


Información de imagen intercambiable

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de Exif
    • exif_imagetype — Determinar el tipo de una imagen
    • exif_read_data — Lee las cabeceras EXIF desde un JPEG o un TIFF
    • exif_tagname — Obtener el nombre de la cabecera de un índice
    • exif_thumbnail — Recuperar la miniatura embebida de una imagen TIFF o JPEG
    • read_exif_data — Alias de exif_read_data
CairoSvgVersion
Introducción
Procesamiento y generación de imágenes


Introducción

Con la extensión Exif (siglas en inglés de Exchangeable image information) se puede trabajar con metadatos de imágenes. Por ejemplo, se pueden usar las funciones de exif para leer los metadatos de fotografías tomadas con cámaras digitales, trabajando con la información almacenada en las cabeceras de imágenes JPEG y TIFF.

Exif
Instalación/Configuración
Exif


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Exif


Requerimientos

PHP debe estar compilado con --enable-exif. PHP no necesita ninguna biblioteca adicional para el módulo exif. Los usuarios de Windows también deben tener la extensión mbstring habilitada.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Para habilitar el soporte para exif configure PHP con --enable-exif

Los usuarios de Windows deben habilitar las DLL php_mbstring.dll y php_exif.dll en php.ini. La DLL php_mbstring.dll debe cargarse antes que la DLL php_exif.dll, así que ajuste su php.ini como corresponde.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Exif soporta automáticamente la conversión de codificaciones de caracteres Unicode y JIS de comentarios de usuario cuando el módulo mbstring está disponible. Ésto se realiza primero decodificando el comentario utilizando el conjunto de caracteres especificado. El resultado después es codificado con otro conjunto de caracteres que debería de coincidir con su salida HTTP.

Opciones de configuración de Exif
Nombre | Por defecto | Cambiable | Historial de cambios
exif.encode_unicode | "ISO-8859-15" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
exif.decode_unicode_motorola | "UCS-2BE" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
exif.decode_unicode_intel | "UCS-2LE" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
exif.encode_jis | "" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
exif.decode_jis_motorola | "JIS" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
exif.decode_jis_intel | "JIS" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

exif.encode_unicode string

exif.encode_unicode define el conjunto de caracteres UNICODE de los comentarios de usuario que se están tratando. Por defecto es ISO-8859-15 lo que debería funcionar para la mayoría de los países no asiáticos. La configuración puede estar vacía o debe ser una codificacion soportada por mbstring. Si está vacía se usa la codificación interna actual de mbstring.

exif.decode_unicode_motorola string

exif.decode_unicode_motorola define el conjunto de caracteres interno de la imagen para comentarios de usuario codificados con Unicode si la imagen está con el orden de byte de motorola (big-endian). Esta configuración no puede estar vacía pero puede especificar una lista de codificaciones soportadas por mbstring. El valor por defecto es UCS-2BE.

exif.decode_unicode_intel string

exif.decode_unicode_intel define el conjunto de caracteres interno de la imagen para comentarios de usuario codificados con Unicode si la imagen está con el orden de byte de intel (little-endian). Esta configuración no puede estar vacía pero puede especificar una lista de codificaciones soportadas por mbstring. El valor por defecto es UCS-2LE.

exif.encode_jis string

exif.encode_jis define el conjunto de caracteres JIS de los comentarios de usuario que se están tratando. Por defecto está vacía lo que fuerza a las funciones a usar la codificación interna actual de mbstring.

exif.decode_jis_motorola string

exif.decode_jis_motorola define el conjunto de caracteres interno de la imagen para los comentarios de usuario codificados con JIS si la imagen está con el orden de byte de motorola (big-endian). Esta configuración no puede estar vacía pero puede especificar una lista de codificaciones soportadas por mbstring. El valor por defecto es JIS.

exif.decode_jis_intel string

exif.decode_jis_intel define el conjunto de caracteres interno de la imagen para los comentarios de usuario codificados con JIS si la imagen está con el orden de byte de intel (little-endian). Esta configuración no puede estar vacía pero puede especificar una lista de codificaciones soportadas por mbstring. El valor por defecto es JIS.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

EXIF_USE_MBSTRING (integer)

La función exif_imagetype() enumera varias constantes incluidas relacionadas.

Tipos de recursos
Funciones de Exif
Exif


Funciones de Exif

Tabla de contenidos

  • exif_imagetype — Determinar el tipo de una imagen
  • exif_read_data — Lee las cabeceras EXIF desde un JPEG o un TIFF
  • exif_tagname — Obtener el nombre de la cabecera de un índice
  • exif_thumbnail — Recuperar la miniatura embebida de una imagen TIFF o JPEG
  • read_exif_data — Alias de exif_read_data
Constantes predefinidas
exif_imagetype
Exif


Determinar el tipo de una imagen

Funciones de Exif
exif_read_data
Funciones de Exif
PHP Manual

exif_imagetype

(PHP 4 >= 4.3.0, PHP 5)

exif_imagetype — Determinar el tipo de una imagen

Descripción

int exif_imagetype ( string $filename )

exif_imagetype() lee los primeros bytes de una imagen y comprueba su firma.

exif_imagetype() se puede usar para evitar llamar a otras funciones exif con tipos de archivos no soportados o junto con $_SERVER['HTTP_ACCEPT'] para verificar si el visionador es capaz o no de ver una imagen específica en el navegador.

Parámetros

filename
La imagen que va a ser comprobada.

Valores devueltos

Cuando se encuentra una firma correcta, se devolverá el valor de la constante apropiada o, de otro modo, el valor devuelto será FALSE. El valor devuelto es el mismo valor que devuelve getimagesize() en el índice 2, pero exif_imagetype() es mucho más rápida.

Nota:

exif_imagetype() emitirá un mensaje E_NOTICE y devolverá FALSE si no es capaz de leer suficientes bytes del archivo como para determinar el tipo de la imagen.

Historial de cambios

Versión | Descripción
5.3.0 | Añadido soporte para iconos.
4.3.2 | Soporte para JPC, JP2, JPX, JB2, XBM, y WBMP
4.3.0 | Soporte para SWC

Constantes predefinidas

Las siguientes constantes están definidas y representan los valores posibles que devuelve exif_imagetype():

Imagetype Constants
Valor | Constante
1 | IMAGETYPE_GIF
2 | IMAGETYPE_JPEG
3 | IMAGETYPE_PNG
4 | IMAGETYPE_SWF
5 | IMAGETYPE_PSD
6 | IMAGETYPE_BMP
7 | IMAGETYPE_TIFF_II (orden de byte intel)
8 | IMAGETYPE_TIFF_MM (orden de byte motorola)
9 | IMAGETYPE_JPC
10 | IMAGETYPE_JP2
11 | IMAGETYPE_JPX
12 | IMAGETYPE_JB2
13 | IMAGETYPE_SWC
14 | IMAGETYPE_IFF
15 | IMAGETYPE_WBMP
16 | IMAGETYPE_XBM
17 | IMAGETYPE_ICO

Ejemplos

Ejemplo #1 Ejemplo de exif_imagetype()

<?php
if (exif_imagetype('imagen.gif') != IMAGETYPE_GIF) {
    echo 'La imagen no es gif';
}
?>

Ver también

  • image_type_to_mime_type() - Obtiene el tipo Mime de un tipo de imagen devuelto por getimagesize, exif_read_data, exif_thumbnail, exif_imagetype
  • getimagesize() - Obtiene el tamaño de una imagen

Funciones de Exif
exif_read_data
Funciones de Exif


Lee las cabeceras EXIF desde un JPEG o un TIFF

exif_imagetype
exif_tagname
Funciones de Exif
PHP Manual

exif_read_data

(PHP 4 >= 4.2.0, PHP 5)

exif_read_data — Lee las cabeceras EXIF desde un JPEG o un TIFF

Descripción

array exif_read_data ( string $filename [, string $sections = NULL [, bool $arrays = false [, bool $thumbnail = false ]]] )

exif_read_data() lee las cabeceras EXIF desde un archivo de imagen JPEG o TIFF. De esta forma se puede leer los meta-datos generados por cámaras digitales.

Las cabeceras EXIF tienden a estar presentes en imágenes JPEG/TIFF generadas por cámaras digitales, pero desafortunadamente cada fabricante de cámaras digitales tiene una idea diferente de cómo etiquetar sus imágenes, por lo que no siempre se puede contar con que una cabecera Exif específica esté presente.

Height y Width son computados de la misma forma que lo hace getimagesize() por lo que sus valores no deben ser parte de ninguna cabecera devuelta. También, html es una cadena de texto de alto/ancho para usar dentro de un HTML normal.

Cuando una cabecera Exif contiene una nota de Copyright, puede contener ella misma dos valores. Como la solución es inconsistente en el estándar Exif 2.10, la sección COMPUTED devolverá las dos entradas Copyright.Photographer y Copyright.Editor mientras que las secciones IFD0 contienen la matriz de bytes con el carácter NULL que divide ambas entradas. O sólo la primera entrada si el tipo de información era erróneo (el comportamiento normal de Exif). COMPUTED también contendrá la entrada Copyright que es la cadena del copyright original, o una lista separada por comas del copyright de la fotografía y del editor.

La etiqueta UserComment tiene el mismo problema que la etiqueta Copyright. Puede almacenar dos valores. El primero es el que usa la codificación, y el segundo es el valor mismo. Por lo que si la sección IFD sólo contiene la codificación o una matriz de bytes, la sección COMPUTED almacenará la dos entradas UserCommentEncoding y UserComment. La entrada UserComment está disponible en ambos casos por lo que se debería usar con preferencia al valor de la sección IFD0.

exif_read_data() también valida las etiquetas de información EXIF según la especifiación EXIF (» http://exif.org/Exif2-2.PDF, página 20).

Nota:

Windows Me/XP pueden borrar las cabeceras Exif cuando se conecta una cámara.

Parámetros

filename

El nombre de la imagen que se va a leer. No puede ser una URL.

sections

Es una lista separada por comas de las secciones que necesitan estar presentes en el archivo para producir un array resultante. Si no se puede encontrar ninguna sección el valor devuelto es FALSE.

FILE | FileName, FileSize, FileDateTime, SectionsFound
COMPUTED | html, Width, Height, IsColor, y más si están disponibles. Height y Width son computados de la misma forma que lo hace getimagesize() por lo que sus valores no deben ser parte de ninguna cabecera devuelta. También, html es una cadena de texto de alto/ancho para usar dentro de un HTML normal.
ANY_TAG | Cualquier información que tenga una Etiqueta, p.ej., IFD0, EXIF, ...
IFD0 | Toda la información etiquetada de IFD0. En archivos de imagen normales, ésto contiene el tamaño de la imagen y así sucesivamente.
THUMBNAIL | Se supone que un archivo contiene una miniatura si tiene un segundo IFD. Toda la información etiquetada acerca de la miniatura embebida es almacenada en esta sección.
COMMENT | Cabeceras de comentarios de imágenes JPEG.
EXIF | La sección EXIF es una subsección de IFD0. Contiene información más detallada sobre la imagen. La mayoría de estas entradas están relacionadas con la cámara digital.

arrays

Especifica si cada sección se convierte o no en una matriz. sections COMPUTED, THUMBNAIL, y COMMENT siempre se convierten en matrices ya que pueden contener valores cuyos nombres entran en conflicto con otras secciones.

thumbnail

Cuando se establece a TRUE se lee la miniatura misma. Si no, sólo se lee la información etiquetada.

Valores devueltos

Devuelve un array asociativo donde los índices de la matriz son los nombres de las cabeceras y los valores de la matriz son los valores asociados con esas cabeceras. Si no se puede devolver información, exif_read_data() devolverá FALSE.

Historial de cambios

Versión | Descripción
4.3.0 | Se puede leer toda la información IFD embebida incluidas matrices (devueltas como tales). También, el tamaño de una miniatura embebida es devuelto en una submatriz THUMBNAIL, y puede devolver miniaturas en formato TIFF. Además, ya no hay una longitud máxima para los valores devueltos (no mientras el límite de memoria haya sido alcanzado)
4.3.0 | Si PHP tiene soporte para mbstring, el comentario de usuario puede cambiar automáticamente de codificación. También, si el comentario de usuario utiliza la codificación Unicode o JIS, esta codificación será cambiada automáticamente según la configuración inicial de exif en php.ini
4.3.0 | Si la imagen contiene cualquier información IFD0, entonces COMPUTED contiene la entrada ByteOrderMotorola la cuál es 0 para el orden de byte little-endian (intel) y 1 para el orden de byte big-endian (motorola). También, COMPUTED y UserComment ya no contienen la primera entrada de copyright si el tipo de información era erróneo.

Ejemplos

Ejemplo #1 Ejemplo de exif_read_data()

<?php
echo "prueba1.jpg:<br />\n";
$exif = exif_read_data('pruebas/prueba1.jpg', 'IFD0');
echo $exif===false ? "No se encontró información de cabecera.<br />\n" : "La imagen contiene cabeceras<br />\n";

$exif = exif_read_data('pruebas/prueba2.jpg', 0, true);
echo "prueba2.jpg:<br />\n";
foreach ($exif as $clave => $sección) {
    foreach ($sección as $nombre => $valor) {
        echo "$clave.$nombre: $valor<br />\n";
    }
}
?>

La primera llamada falla ya que la imagen no tiene información de cabecera.

El resultado del ejemplo sería algo similar a:

test1.jpg:
No header data found.
test2.jpg:
FILE.FileName: test2.jpg
FILE.FileDateTime: 1017666176
FILE.FileSize: 1240
FILE.FileType: 2
FILE.SectionsFound: ANY_TAG, IFD0, THUMBNAIL, COMMENT
COMPUTED.html: width="1" height="1"
COMPUTED.Height: 1
COMPUTED.Width: 1
COMPUTED.IsColor: 1
COMPUTED.ByteOrderMotorola: 1
COMPUTED.UserComment: Exif test image.
COMPUTED.UserCommentEncoding: ASCII
COMPUTED.Copyright: Photo (c) M.Boerger, Edited by M.Boerger.
COMPUTED.Copyright.Photographer: Photo (c) M.Boerger
COMPUTED.Copyright.Editor: Edited by M.Boerger.
IFD0.Copyright: Photo (c) M.Boerger
IFD0.UserComment: ASCII
THUMBNAIL.JPEGInterchangeFormat: 134
THUMBNAIL.JPEGInterchangeFormatLength: 523
COMMENT.0: Comment #1.
COMMENT.1: Comment #2.
COMMENT.2: Comment #3end
THUMBNAIL.JPEGInterchangeFormat: 134
THUMBNAIL.Thumbnail.Height: 1
THUMBNAIL.Thumbnail.Height: 1

Ver también

  • exif_thumbnail() - Recuperar la miniatura embebida de una imagen TIFF o JPEG
  • getimagesize() - Obtiene el tamaño de una imagen

exif_imagetype
exif_tagname
Funciones de Exif


Obtener el nombre de la cabecera de un índice

exif_read_data
exif_thumbnail
Funciones de Exif
PHP Manual

exif_tagname

(PHP 4 >= 4.2.0, PHP 5)

exif_tagname — Obtener el nombre de la cabecera de un índice

Descripción

string exif_tagname ( int $index )

Parámetros

index

La etiqueta ID correspondiente a la etiqueta Name que examinará.

Valores devueltos

Devuelve el nombre de la cabecera, o FALSE si index no está definido con un identificador de etiqueta EXIF.

Ejemplos

Ejemplo #1 Ejemplo exif_tagname()

<?php
echo "256: ".exif_tagname(256).PHP_EOL;
echo "257: ".exif_tagname(257).PHP_EOL;
?>

El resultado del ejemplo sería:

256: ImageWidth
257: ImageLength

Ver también

  • exif_imagetype() - Determinar el tipo de una imagen
  • » Especificación EXIF
  • » Etiquetas EXIF

exif_read_data
exif_thumbnail
Funciones de Exif


Recuperar la miniatura embebida de una imagen TIFF o JPEG

exif_tagname
read_exif_data
Funciones de Exif
PHP Manual

exif_thumbnail

(PHP 4 >= 4.2.0, PHP 5)

exif_thumbnail — Recuperar la miniatura embebida de una imagen TIFF o JPEG

Descripción

string exif_thumbnail ( string $filename [, int &$width [, int &$height [, int &$imagetype ]]] )

exif_thumbnail() lee la miniatura embebida de una imagen TIFF o JPEG.

Si quiere implementar miniaturas mediante esta función, debería enviar la información del tipo mime usando la función header().

Es posible que exif_thumbnail() no pueda crear una imagen pero puede determinar su tamaño. En este caso, el valor devuelto es FALSE pero width y height son establecidos.

Parámetros

filename

El nombre de la imagen que va a ser leída. Esta imagen contiene una miniatura embebida.

width

El ancho devuelto de la miniatura devuelta.

height

El alto devuelto de la miniatura devuelta.

imagetype

El tipo de imagen devuelto de la miniatura devuelta. Puede ser TIFF o JPEG.

Valores devueltos

Devuelve la miniatura embebida, o FALSE si la imagen no contiene ninguna miniatura.

Historial de cambios

Versión | Descripción
4.3.0 | Los parámetros opcionales width, height, e imagetype ahora están todos disponibles.
4.3.0 | Puede devolver miniaturas en el formato TIFF.

Ejemplos

Ejemplo #1 Ejemplo de exif_thumbnail()

<?php
if (array_key_exists('file', $_REQUEST)) {
    $imagen = exif_thumbnail($_REQUEST['file'], $width, $height, $type);
} else {
    $imagen = false;
}
if ($imagen!==false) {
    header('Content-type: ' .image_type_to_mime_type($type));
    echo $imagen;
    exit;
} else {
    // no está disponible la miniatura, tratar el error aquí
    echo 'No está disponible la miniatura';
}
?>

Ver también

  • exif_read_data() - Lee las cabeceras EXIF desde un JPEG o un TIFF
  • image_type_to_mime_type() - Obtiene el tipo Mime de un tipo de imagen devuelto por getimagesize, exif_read_data, exif_thumbnail, exif_imagetype

exif_tagname
read_exif_data
Funciones de Exif


Alias de exif_read_data

exif_thumbnail
GD
Funciones de Exif
PHP Manual

read_exif_data

(PHP 4 >= 4.0.1, PHP 5)

read_exif_data — Alias de exif_read_data()

Descripción

Esta función es un alias de: exif_read_data().

exif_thumbnail
GD
Funciones de Exif


Procesamiento de imágenes y GD

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Creación de un PNG con PHP
    • Añadir marcas de agua a imágenes usando canales alfa
    • Usar imagecopymerge para crear una marca de agua translúcida
  • Funciones de GD e Imágenes
    • gd_info — Reúne información acerca de la biblioteca GD instalada actualmente
    • getimagesize — Obtiene el tamaño de una imagen
    • getimagesizefromstring — Obtener el tamaño de una imagen desde una cadena
    • image_type_to_extension — Obtiene la extensión de un tipo de imagen
    • image_type_to_mime_type — Obtiene el tipo Mime de un tipo de imagen devuelto por getimagesize, exif_read_data, exif_thumbnail, exif_imagetype
    • image2wbmp — Exportar la imagen al navegador o a un fichero
    • imageaffine — Devuelve la imagen que contiene la imagen fuente transformada afín, usando un área de recorte opcional
    • imageaffinematrixconcat — Concatena dos matrices (como al hacer muchas opciones de una vez)
    • imageaffinematrixget — Devuelve la imagen que contiene la imagen fuente transformada afín, usando un área de recorte opcional
    • imagealphablending — Establece el modo de mezcla para una imagen
    • imageantialias — Permite o no el uso de funciones antialias
    • imagearc — Dibujar un arco
    • imagechar — Dibujar un carácter horizontalmente
    • imagecharup — Dibujar un carácter verticalmente
    • imagecolorallocate — Asigna un color para una imagen
    • imagecolorallocatealpha — Asigna un color para una imagen
    • imagecolorat — Obtener el índice del color de un píxel
    • imagecolorclosest — Obtener el índice del color más próximo al color especificado
    • imagecolorclosestalpha — Obtener el índice del color más próximo al color + alpha especificado
    • imagecolorclosesthwb — Obtener el índice del color que tiene el tono, blancura y negrura
    • imagecolordeallocate — Desasignar un color de una imagen
    • imagecolorexact — Obtener el índice del color especificado
    • imagecolorexactalpha — Obtener el índice del color + alpha especificado
    • imagecolormatch — Hacer que los colores de la versión de la paleta de una imagen coincidan más estrechamente con la versión de color verdadero
    • imagecolorresolve — Obtener el índice del color especificado o su alternativa más próxima posible
    • imagecolorresolvealpha — Obtener el índice del color + alpha especificado o su alternativa más próxima posible
    • imagecolorset — Establecer el color para el índice de paleta especificada
    • imagecolorsforindex — Obtener los colores de un índice
    • imagecolorstotal — Averiguar el número de colores de la paleta de una imagen
    • imagecolortransparent — Definir un color como transparente
    • imageconvolution — Aplicar una matriz de convolución de 3x3, usando coeficiente e índice
    • imagecopy — Copiar parte de una imagen
    • imagecopymerge — Copiar y fusionar parte de una imagen
    • imagecopymergegray — Copiar y fusionar parte de una imagen con escala de grises
    • imagecopyresampled — Copia y cambia el tamaño de parte de una imagen redimensionándola
    • imagecopyresized — Copia y cambia el tamaño de parte de una imagen
    • imagecreate — Crea una nueva imagen basada en paleta
    • imagecreatefromgd2 — Crear una imagen nueva desde un archivo GD2 o una URL
    • imagecreatefromgd2part — Crear una nueva imagen desde una parte dada de un archivo GD2 o una URL
    • imagecreatefromgd — Crear una imagen nueva desde un archivo GD o una URL
    • imagecreatefromgif — Crea una nueva imagen a partir de un fichero o de una URL
    • imagecreatefromjpeg — Crea una nueva imagen a partir de un fichero o de una URL
    • imagecreatefrompng — Crea una nueva imagen a partir de un fichero o de una URL
    • imagecreatefromstring — Crear una imagen nueva desde el flujo de imagen de la cadena
    • imagecreatefromwbmp — Crea una nueva imagen a partir de un fichero o de una URL
    • imagecreatefromwebp — Crea una nueva imagen a partir de un fichero o de una URL
    • imagecreatefromxbm — Crea una nueva imagen a partir de un fichero o de una URL
    • imagecreatefromxpm — Crea una nueva imagen a partir de un fichero o de una URL
    • imagecreatetruecolor — Crear una nueva imagen de color verdadero
    • imagecrop — Recorta una imagen usando las coordenadas, el tamaño, x, y, ancho y alto dados
    • imagecropauto — Recorta una imagen automáticamente usando uno de los modos disponibles
    • imagedashedline — Dibujar una línea discontinua
    • imagedestroy — Destruir una imagen
    • imageellipse — Dibujar una elipse
    • imagefill — Rellenar
    • imagefilledarc — Dibujar un arco parcial y rellenarlo
    • imagefilledellipse — Dibujar una elipse con relleno
    • imagefilledpolygon — Dibujar un polígono con relleno
    • imagefilledrectangle — Dibujar un rectángulo con relleno
    • imagefilltoborder — Rellenar con un color específico
    • imagefilter — Aplica un filtro a una imagen
    • imageflip — Flips an image using a given mode
    • imagefontheight — Obtener el alto de la fuente
    • imagefontwidth — Obtener el ancho de la fuente
    • imageftbbox — Devolver la caja circundante de un texto usando fuentes mediante FreeType 2
    • imagefttext — Escribir texto en la imagen usando fuentes mediante FreeType 2
    • imagegammacorrect — Aplicar una corrección gamma a la imagen GD
    • imagegd2 — Imprime una imagen GD2 a un navegador o archivo
    • imagegd — Imprime una imagen GD2 a un navegador o archivo
    • imagegif — Exportar la imagen al navegador o a un fichero
    • imagegrabscreen — Capturar la pantalla completa
    • imagegrabwindow — Capturar una ventana
    • imageinterlace — Habilitar o deshabilitar en entrelazamiento
    • imageistruecolor — Averiguar si una imagen es de color verdadero
    • imagejpeg — Exportar la imagen al navegador o a un fichero
    • imagelayereffect — Establecer la bandera de mezcla alfa para usar los efectos de capa de la biblioteca gd incluida
    • imageline — Dibujar una línea
    • imageloadfont — Cargar una nueva fuente
    • imagepalettecopy — Copiar la paleta de una imagen a otra
    • imagepalettetotruecolor — Convierte una imagen basada en paleta a color verdadero
    • imagepng — Imprimir una imagen PNG al navegador o a un archivo
    • imagepolygon — Dibujar un polígono
    • imagepsbbox — Devolver la caja circundante de un rectángulo de texto usando fuentes PostScript Type1
    • imagepsencodefont — Cambiar el vector de codificación del caráter de una fuente
    • imagepsextendfont — Extender o condensar una fuente
    • imagepsfreefont — Liberar la memoria usada por una fuente PostScript Type 1
    • imagepsloadfont — Cargar una fuente PostScript Type 1 desde un archivo
    • imagepsslantfont — Inclinar una fuente
    • imagepstext — Dibujar un texto sobre una imagen usando fuentes PostScript Type1
    • imagerectangle — Dibuja un rectángulo
    • imagerotate — Rotar una imagen con un ángulo dado
    • imagesavealpha — Establecer la bandera para guardar la información completa del canal alfa (como oposición a la transparencia de un simple color) cuando se guardan imágenes PNG
    • imagescale — Redimensiona una imagen usando un nuevo ancho y alto
    • imagesetbrush — Establecer la imagen de pincel para el dibujo de líneas
    • imagesetinterpolation — Establecer el método de interpolación
    • imagesetpixel — Establecer un simple píxel
    • imagesetstyle — Establecer el estilo para el dibujo de líneas
    • imagesetthickness — Establecer el grosor para el dibujo de líneas
    • imagesettile — Establecer la imagen de tesela para rellenos
    • imagestring — Dibujar una cadena horizontalmente
    • imagestringup — Dibujar una cadena verticalmente
    • imagesx — Obtener el ancho de una imagen
    • imagesy — Obtener el alto de una imagen
    • imagetruecolortopalette — Convertir una imagen de color verdadero en una imagen de paleta
    • imagettfbbox — Devuelve la caja circundante de un texto usando fuentes TrueType
    • imagettftext — Escribir texto en la imagen usando fuentes TrueType
    • imagetypes — Devolver los tipos de imagen soportados por la versión actual de PHP
    • imagewbmp — Exportar la imagen al navegador o a un fichero
    • imagewebp — Imprimer una imagen WebP al navegador o fichero
    • imagexbm — Imprimir una imagen XBM al navegador o a una archivo
    • iptcembed — Incluir información IPTC binaria en una imagen JPEG
    • iptcparse — Conviertir un bloque IPTC binario en simples etiquetas
    • jpeg2wbmp — Convertir un archiov de imagen JPEG a un archivo de imagen WBMP
    • png2wbmp — Convertir un archivo de imagen PNG a un archivo de imagen WBMP
read_exif_data
Introducción
Procesamiento y generación de imágenes


Introducción

PHP no está limitado a crear únicamente salidas HTML. También se puede usar para crear y manipular ficheros de imágenes en una variedad de diferentes formatos de imagen, incluyendo GIF, PNG, JPEG, WBMP y XPM. Aún más práctico es que PHP puede transferir flujos de imagen directamente al navegador. Necesitará compilar PHP con la biblioteca de funciones de imágenes GD para que esto funcione. GD y PHP también pueden requierir otras bibliotecas, dependiendo de los formatos de imagen con los que se quiera trabajar.

Se pueden usar las funciones de imagen de PHP para obtener el tamaño de imágenes JPEG, GIF, PNG, SWF, TIFF y JPEG2000.

Con la extensión exif, se puede trabajar con infomación almacenada en cabeceras de imágenes JPEG y TIFF. De esta manera se pueden leer metadtaos generados por cámaras digitales. Las funciones de exif no requieren la biblioteca GD.

Nota: Lea la sección de requisitos sobre cómo expandir las capacidades para leer, escribir y modificar imágenes. Para leer metadatos de fotografías tomadas con cámaras digitales se necesita la extensión exif mencionada arriba.

Nota: La función getimagesize() no requiere la extensión GD.

GD admite variedad de formatos. Abajo se muestra una lista de los formatos soportados por GD y las observaciones sobre su disponibilidad incluyendo el soporte para lectura/escritura.

Formatos admitidos por GD
Formato | Soporte para lectura | Soporte para escritura | Observaciones
JPEG | TRUE | TRUE | GD 1.8+
PNG | TRUE | TRUE |
GIF | TRUE | TRUE | No disponible entre GD 1.6 y GD 2.0.28
XBM | TRUE | TRUE | Soporte para lecutra a partir de PHP 4.0.1, y soporte para escritura a partir de PHP 5.0.0
XPM | TRUE | FALSE | Soporte para lectura a partir de PHP 4.0.1, no disponible en Windows. Requiere una versión interna de GD
WBMP | TRUE | TRUE | GD 1.8+
WebP | TRUE | TRUE | GD 2.1+, PHP 5.5+

A pesar de que la mayoría de los formatos están disponibles tanto para lectura como para escritura en la tabla de arriba, esto no significa que PHP fuera compilado con soporta para ellos. Para averiguar qué formatos estaban disponibles al compilar GD, use la función gd_info(); para más información sobre el soporte de compilación para uno o más formatos, véase el capítulo de instalación.

GD
Instalación/Configuración
GD


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
GD


Requerimientos

Si tiene la biblioteca GD (disponible en » http://www.libgd.org/) también será capaz de crear y manipular imágenes.

El formato de las imágenes que se pueden manipular depende de la versión de GD que se instale, y se podría necesitar otra biblioteca GD para acceder a esos formatos de imagen. Las versiones de GD anteriores a gd-1.6 soportan el formato de imagen GIF, y no soportan PNG, mientras que versiones posteriores a gd-1.6 y anteriores a gd-2.0.28 soportan PNG, y no GIF. El soporte de GIF fue rehabilitado en gd-2.0.28.

Nota: A partir de PHP 4.3 hay una versión incluida de la biblioteca GD. Esta versión incluida tiene algunas características adicionales como mezcla alfa, y se podría usar en preferencia a la biblioteca externa, ya que su código base está mejor matenido y es más estable.

Puede querer mejorar GD para tratar más formatos de imagen.

Formatos de imagen soportados
Formato de imagen | Biblioteca para descargar | Anotaciones
gif |  | Sólo soportado en versiones de GD anteriores a gd-1.6 y posteriores a gd-2.0.28. El soporte para GIF de Sólo lectura está disponible con PHP 4.3.0 y la biblioteca GD incluida. El soporte para Escritura está disponible desde PHP 4.3.9 y PHP 5.0.1.
jpeg | » http://www.ijg.org/ | Cuando se construye la biblioteca jpeg (antes de construir PHP) se debe usar la opción --enable-shared en la fase de configuración. Si no se hace, se recibirá un error diciendo libjpeg.(a|so) not found cuando esté en la fase de configuración de la construcción de PHP.
png | » http://www.libpng.org/pub/png/libpng.html | Sólo soportado en versiones de GD posteriores a gd-1.6.
xpm | » ftp://metalab.unc.edu/pub/Linux/libs/X/!INDEX.html | Lo más probable es que esta biblioteca esté ya disponible si su sistema tiene instalado un X-Environment.

Puede querer mejorar GD para tratar con diferentes fuentes. Las siguientes bibliotecas de fuentes están soportadas:

Bibliotecas de fuentes soportadas
Biblioteca de fuentes | Descarga | Anotaciones
FreeType 1.x | » http://www.freetype.org/ | Esta característica obsoleta será eliminada con certeza en el futuro.
FreeType 2 | » http://www.freetype.org/ |
T1lib | » ftp://sunsite.unc.edu/pub/Linux/libs/graphics/) | Soporte para fuentes Postscript Type 1.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Para habilitar el soporte para GD configure PHP con --with-gd[=DIR] , donde DIR es el directorio de intalacion base de GD. Para usar la versión de la biblioteca GD incluida recomendada (la cual fue primero incluida en PHP 4.3.0), use la opción de configuración --with-gd . La biblioteca GD requiere libpng y libjpeg para compilarse.

En Windows, incluirá la DLL GD2 php_gd2.dll como una extensión en php.ini. La DLL GD1 php_gd.dll fue eliminada en PHP 4.3.2. Observe también que las funciones preferentes de imágenes de color verdadero, tales como imagecreatetruecolor(), requieren GD2.

Mejore las capacidades de GD para manejar más formatos de imagen especificando la opción de configuración --with-XXXX en la línea de configuración de PHP.

Formatos de imagen soportados
Formato de Imagen | Opción de Configuración
jpeg | Para habilitar el suporte para jpeg añadir --with-jpeg-dir=DIR . Jpeg 6b, 7 o 8 están soportados.
png | Para habilitar el soporte para png añada --with-png-dir=DIR . Nota, libpng requiere la biblioteca zlib, por lo tanto añada --with-zlib-dir[=DIR] a la línea de configuración.
xpm | Para habilitar el soporte para xpm añada --with-xpm-dir=DIR . Si la configuración no es capaz de encontrar las bibliotecas requeridas, se puede añadir la ruta a las bibliotecas X11.

Nota: Cuando se compila PHP con libpng, se debe usar la misma versión que fue enlazada con la biblioteca GD.

Mejore las capacidades de GD para tratar con difenrentes fuentes especificando la opción de configuración --with-XXXX en la línea de configuración de PHP.

Bibliotecas de fuentes soportadas
Biblioteca de Fuentes | Opción de Configuración
FreeType 2 | Para habilitar el soporte para FreeType 2 añada --with-freetype-dir=DIR .
T1lib | Para habilitar el soporte para T1lib (fuentes Postscript Type 1) añada --with-t1lib[=DIR] .
Función de cadena TrueType nativa | Para habilitar el soporte para la función de cadena TrueType nativa añada --enable-gd-native-ttf .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de Imagen
Nombre | Por defecto | Cambiable | Registro de cambios
gd.jpeg_ignore_warning | "0" | PHP_INI_ALL | Disponible a partir de PHP 5.1.3.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

gd.jpeg_ignore_warning bool

Ignora las advertencias creadas por jpeg2wbmp() y por imagecreatefromjpeg()

Vea también las directivas de configuración de exif.

Advertencia

Las funciones de imagen consumen mucha memoria. Asegúrese de establecer memory_limit con un valor bastante alto.

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Esta extensión define dos tipos de recursos: un identificador de imagen y un identificador de fuente.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

GD_VERSION (string)
La versión de GD que fue compilada en PHP. (Disponible a partir de PHP 5.2.4)
GD_MAJOR_VERSION (integer)
La versión mayor de GD que fue compilada en PHP. (Disponible a partir de PHP 5.2.4)
GD_MINOR_VERSION (integer)
La versión menor de GD que fue compilada en PHP. (Disponible a partir de PHP 5.2.4)
GD_RELEASE_VERSION (integer)
La versión de distribución de GD que fue compilada en PHP. (Disponible a partir de PHP 5.2.4)
GD_EXTRA_VERSION (string)
La versión "extra" (beta/rc..) de GD que fue compilada en PHP. (Disponible a partir de PHP 5.2.4)
GD_BUNDLED (integer)
Cuando se usa la versión incluida de GD, esto es 1, de otro modo se establece a 0.
IMG_GIF (integer)
Usado como un valor de retorno por imagetypes()
IMG_JPG (integer)
Usado como un valor de retorno por imagetypes()
IMG_JPEG (integer)
Usado como un valor de retorno por imagetypes()

Nota:

Esta constante tiene el mismo valor que IMG_JPG

IMG_PNG (integer)
Usado como un valor de retorno por imagetypes()
IMG_WBMP (integer)
Usado como un valor de retorno por imagetypes()
IMG_XPM (integer)
Usado como un valor de retorno por imagetypes()
IMG_COLOR_TILED (integer)
Opción de color especial que puede ser usada en lugar de un color asignado con imagecolorallocate() o imagecolorallocatealpha()
IMG_COLOR_STYLED (integer)
Opción de color especial que puede ser usada en lugar de un color asignado con imagecolorallocate() o imagecolorallocatealpha()
IMG_COLOR_BRUSHED (integer)
Opción de color especial que puede ser usada en lugar de un color asignado con imagecolorallocate() o imagecolorallocatealpha()
IMG_COLOR_STYLEDBRUSHED (integer)
Opción de color especial que puede ser usada en lugar de un color asignado con imagecolorallocate() o imagecolorallocatealpha()
IMG_COLOR_TRANSPARENT (integer)
Opción de color especial que puede ser usada en lugar de un color asignado con imagecolorallocate() o imagecolorallocatealpha()
IMG_ARC_ROUNDED (integer)
Una constante de estilo usada por la función imagefilledarc().

Nota:

Esta constante tiene el mismo valor que IMG_ARC_PIE

IMG_ARC_PIE (integer)
Una constante de estilo usada por la función imagefilledarc().
IMG_ARC_CHORD (integer)
Una constante de estilo usada por la función imagefilledarc().
IMG_ARC_NOFILL (integer)
Una constante de estilo usada por la función imagefilledarc().
IMG_ARC_EDGED (integer)
Una constante de estilo usada por la función imagefilledarc().
IMG_GD2_RAW (integer)
Una constante de tipo usada por la función imagegd2().
IMG_GD2_COMPRESSED (integer)
Una constante de tipo usada por la función imagegd2().
IMG_EFFECT_REPLACE (integer)
Efecto de mezcla alfa usado por la función imagelayereffect().
IMG_EFFECT_ALPHABLEND (integer)
Efecto de mezcla alfa usado por la función imagelayereffect().
IMG_EFFECT_NORMAL (integer)
Efecto de mezcla alfa usado por la función imagelayereffect().
IMG_EFFECT_OVERLAY (integer)
Efecto de mezcla alfa usado por la función imagelayereffect().
IMG_FILTER_NEGATE (integer)
Filtro GD especial usado por la función imagefilter().
IMG_FILTER_GRAYSCALE (integer)
Filtro GD especial usado por la función imagefilter().
IMG_FILTER_BRIGHTNESS (integer)
Filtro GD especial usado por la función imagefilter().
IMG_FILTER_CONTRAST (integer)
Filtro GD especial usado por la función imagefilter().
IMG_FILTER_COLORIZE (integer)
Filtro GD especial usado por la función imagefilter().
IMG_FILTER_EDGEDETECT (integer)
Filtro GD especial usado por la función imagefilter().
IMG_FILTER_GAUSSIAN_BLUR (integer)
Filtro GD especial usado por la función imagefilter().
IMG_FILTER_SELECTIVE_BLUR (integer)
Filtro GD especial usado por la función imagefilter().
IMG_FILTER_EMBOSS (integer)
Filtro GD especial usado por la función imagefilter().
IMG_FILTER_MEAN_REMOVAL (integer)
Filtro GD especial usado por la función imagefilter().
IMG_FILTER_SMOOTH (integer)
Filtro GD especial usado por la función imagefilter().
IMG_FILTER_PIXELATE (integer)
Filtro GD especial usado por la función imagefilter(). (Disponible a partir de PHP 5.3.0)
IMAGETYPE_GIF (integer)
Constante de tipo de imagen usada por las funciones image_type_to_mime_type() y image_type_to_extension().
IMAGETYPE_JPEG (integer)
Constante de tipo de imagen usada por las funciones image_type_to_mime_type() y image_type_to_extension().
IMAGETYPE_JPEG2000 (integer)
Constante de tipo de imagen usada por las funciones image_type_to_mime_type() y image_type_to_extension().
IMAGETYPE_PNG (integer)
Constante de tipo de imagen usada por las funciones image_type_to_mime_type() y image_type_to_extension().
IMAGETYPE_SWF (integer)
Constante de tipo de imagen usada por las funciones image_type_to_mime_type() y image_type_to_extension().
IMAGETYPE_PSD (integer)
Constante de tipo de imagen usada por las funciones image_type_to_mime_type() y image_type_to_extension().
IMAGETYPE_BMP (integer)
Constante de tipo de imagen usada por las funciones image_type_to_mime_type() y image_type_to_extension().
IMAGETYPE_WBMP (integer)
Constante de tipo de imagen usada por las funciones image_type_to_mime_type() y image_type_to_extension().
IMAGETYPE_XBM (integer)
Constante de tipo de imagen usada por las funciones image_type_to_mime_type() y image_type_to_extension().
IMAGETYPE_TIFF_II (integer)
Constante de tipo de imagen usada por las funciones image_type_to_mime_type() y image_type_to_extension().
IMAGETYPE_TIFF_MM (integer)
Constante de tipo de imagen usada por las funciones image_type_to_mime_type() y image_type_to_extension().
IMAGETYPE_IFF (integer)
Constante de tipo de imagen usada por las funciones image_type_to_mime_type() y image_type_to_extension().
IMAGETYPE_JB2 (integer)
Constante de tipo de imagen usada por las funciones image_type_to_mime_type() y image_type_to_extension().
IMAGETYPE_JPC (integer)
Constante de tipo de imagen usada por las funciones image_type_to_mime_type() y image_type_to_extension().
IMAGETYPE_JP2 (integer)
Constante de tipo de imagen usada por las funciones image_type_to_mime_type() y image_type_to_extension().
IMAGETYPE_JPX (integer)
Constante de tipo de imagen usada por las funciones image_type_to_mime_type() y image_type_to_extension().
IMAGETYPE_SWC (integer)
Constante de tipo de imagen usada por las funciones image_type_to_mime_type() y image_type_to_extension().
IMAGETYPE_ICO (integer)
Constante de tipo de imagen usada por las funciones image_type_to_mime_type() y image_type_to_extension(). (Disponible a partir de PHP 5.3.0)
PNG_NO_FILTER (integer)
Un filtro PNG especial, usado por la función imagepng().
PNG_FILTER_NONE (integer)
Un filtro PNG especial, usado por la función imagepng().
PNG_FILTER_SUB (integer)
Un filtro PNG especial, usado por la función imagepng().
PNG_FILTER_UP (integer)
Un filtro PNG especial, usado por la función imagepng().
PNG_FILTER_AVG (integer)
Un filtro PNG especial, usado por la función imagepng().
PNG_FILTER_PAETH (integer)
Un filtro PNG especial, usado por la función imagepng().
PNG_ALL_FILTERS (integer)
Un filtro PNG especial, usado por la función imagepng().
IMG_FLIP_VERTICAL (int)
Usada junto con imageflip(), disponible desde PHP 5.5.0.
IMG_FLIP_HORIZONTAL (int)
Usada junto con imageflip(), disponible desde PHP 5.5.0.
IMG_FLIP_BOTH (int)
Usada junto con imageflip(), disponible desde PHP 5.5.0.
IMG_BELL (int)
Usada junto con imagesetinterpolation(), disponible desde PHP 5.5.0.
IMG_BESSEL (int)
Usada junto con imagesetinterpolation(), disponible desde PHP 5.5.0.
IMG_BILINEAR_FIXED (int)
Usada junto con imagesetinterpolation(), disponible desde PHP 5.5.0.
IMG_BICUBIC (int)
Usada junto con imagesetinterpolation(), disponible desde PHP 5.5.0.
IMG_BICUBIC (int)
Usada junto con imagesetinterpolation(), disponible desde PHP 5.5.0.
IMG_BLACKMAN (int)
Usada junto con imagesetinterpolation(), disponible desde PHP 5.5.0.
IMG_BOX (int)
Usada junto con imagesetinterpolation(), disponible desde PHP 5.5.0.
IMG_BSPLINE (int)
Usada junto con imagesetinterpolation(), disponible desde PHP 5.5.0.
IMG_CATMULLROM (int)
Usada junto con imagesetinterpolation(), disponible desde PHP 5.5.0.
IMG_GAUSSIAN (int)
Usada junto con imagesetinterpolation(), disponible desde PHP 5.5.0.
IMG_GENERALIZED_CUBIC (int)
Usada junto con imagesetinterpolation(), disponible desde PHP 5.5.0.
IMG_HERMITE (int)
Usada junto con imagesetinterpolation(), disponible desde PHP 5.5.0.
IMG_HAMMING (int)
Usada junto con imagesetinterpolation(), disponible desde PHP 5.5.0.
IMG_HANNING (int)
Usada junto con imagesetinterpolation(), disponible desde PHP 5.5.0.
IMG_MITCHELL (int)
Usada junto con imagesetinterpolation(), disponible desde PHP 5.5.0.
IMG_POWER (int)
Usada junto con imagesetinterpolation(), disponible desde PHP 5.5.0.
IMG_QUADRATIC (int)
Usada junto con imagesetinterpolation(), disponible desde PHP 5.5.0.
IMG_SINC (int)
Usada junto con imagesetinterpolation(), disponible desde PHP 5.5.0.
IMG_NEAREST_NEIGHBOUR (int)
Usada junto con imagesetinterpolation(), disponible desde PHP 5.5.0.
IMG_WEIGHTED4 (int)
Usada junto con imagesetinterpolation(), disponible desde PHP 5.5.0.
IMG_TRIANGLE (int)
Usada junto con imagesetinterpolation(), disponible desde PHP 5.5.0.
Tipos de recursos
Ejemplos
GD


Ejemplos

Tabla de contenidos

  • Creación de un PNG con PHP
  • Añadir marcas de agua a imágenes usando canales alfa
  • Usar imagecopymerge para crear una marca de agua translúcida
Constantes predefinidas
Creación de un PNG con PHP
GD


Creación de un PNG con PHP

Ejemplo #1 Creación de un PNG con PHP

<?php

header("Content-type: image/png");
$cadena = $_GET['texto'];
$im     = imagecreatefrompng("images/boton1.png");
$naranja = imagecolorallocate($im, 220, 210, 60);
$px     = (imagesx($im) - 7.5 * strlen($cadena)) / 2;
imagestring($im, 3, $px, 9, $cadena, $naranja);
imagepng($im);
imagedestroy($im);

?>
Este ejemplo sería llamado desde una página con una etiqueta como: <img src="button.php?texto=texto">. El script boton.php de arriba toma esta cadena de "texto" y la sobrepone en la parte superior de una imagen, que en este caso es "images/boton1.png", e imprime la imagen resultante. Esta es una manera muy conveniente de evitar tener que dibujar nuevas imágenes de botones cada vez que se quiera cambiar el texto de un botón. Con este método las imágenes de botones se generan dinámicamente.

Ejemplos
Añadir marcas de agua a imágenes usando canales alfa
Ejemplos


Añadir marcas de agua a imágenes usando canales alfa

Ejemplo #1 Añadir marcas de agua a imágenes usando canales alfa

<?php
// Cargar la estampa y la foto para aplicarle la marca de agua
$estampa = imagecreatefrompng('estampa.png');
$im = imagecreatefromjpeg('foto.jpeg');

// Establecer los márgenes para la estampa y obtener el alto/ancho de la imagen de la estampa
$margen_dcho = 10;
$margen_inf = 10;
$sx = imagesx($estampa);
$sy = imagesy($estampa);

// Copiar la imagen de la estampa sobre nuestra foto usando los índices de márgen y el
// ancho de la foto para calcular la posición de la estampa.
imagecopy($im, $estampa, imagesx($im) - $sx - $margen_dcho, imagesy($im) - $sy - $margen_inf, 0, 0, imagesx($estampa), imagesy($estampa));

// Imprimir y liberar memoria
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>
Añadir marcas de agua a imágenes usando canales alfa
Este ejemplo es una manera común de añadir marcas de agua y estampas a fotos y poner el copyright a imágenes. Observe que la presencia de un canal alfa en la imagen de la estampa como en el texto tiene anti-aliasing. Esto se conserva durante la copia.

Creación de un PNG con PHP
Usar imagecopymerge para crear una marca de agua translúcida
Ejemplos


Usar imagecopymerge para crear una marca de agua translúcida

Añadir marcas de agua a imágenes usando canales alfa
Funciones de GD e Imágenes
Ejemplos
PHP Manual

Usar imagecopymerge() para crear una marca de agua translúcida

Ejemplo #1 Usar imagecopymerge() para crear una marca de agua translúcida

<?php
// Cargar la estampa y la foto para aplicarle la marca de agua
$im = imagecreatefromjpeg('foto.jpeg');

// Primero crearemos nuestra imagen de la estampa manualmente desde GD
$estampa = imagecreatetruecolor(100, 70);
imagefilledrectangle($estampa, 0, 0, 99, 69, 0x0000FF);
imagefilledrectangle($estampa, 9, 9, 90, 60, 0xFFFFFF);
$im = imagecreatefromjpeg('foto.jpeg');
imagestring($estampa, 5, 20, 20, 'libGD', 0x0000FF);
imagestring($estampa, 3, 20, 40, '(c) 2007-9', 0x0000FF);

// Establecer los márgenes para la estampa y obtener el alto/ancho de la imagen de la estampa
$margen_dcho = 10;
$margen_inf = 10;
$sx = imagesx($estampa);
$sy = imagesy($estampa);

// Fusionar la estampa con nuestra foto con una opacidad del 50%
imagecopymerge($im, $estampa, imagesx($im) - $sx - $margen_dcho, imagesy($im) - $sy - $margen_inf, 0, 0, imagesx($estampa), imagesy($estampa), 50);

// Guardar la imagen en un archivo y liberar memoria
imagepng($im, 'foto_estampa.png');
imagedestroy($im);

?>
Usar imagecopymerge() para crear una marca de agua translúcida
Este ejemplo usa imagecopymerge() para fusionar la estampa con la imagen original. Al usar esto, se puede establecer la opacidad de la estampa; en nuestro ejemplo la establecimos al 50% de opacidad. En la práctica, esto sería útil para la protección del copyright como marcas de agua semitransparentes que son difíciles de eliminar, pero que aún permiten ver la imagen.

Añadir marcas de agua a imágenes usando canales alfa
Funciones de GD e Imágenes
Ejemplos


Funciones de GD e Imágenes

Tabla de contenidos

  • gd_info — Reúne información acerca de la biblioteca GD instalada actualmente
  • getimagesize — Obtiene el tamaño de una imagen
  • getimagesizefromstring — Obtener el tamaño de una imagen desde una cadena
  • image_type_to_extension — Obtiene la extensión de un tipo de imagen
  • image_type_to_mime_type — Obtiene el tipo Mime de un tipo de imagen devuelto por getimagesize, exif_read_data, exif_thumbnail, exif_imagetype
  • image2wbmp — Exportar la imagen al navegador o a un fichero
  • imageaffine — Devuelve la imagen que contiene la imagen fuente transformada afín, usando un área de recorte opcional
  • imageaffinematrixconcat — Concatena dos matrices (como al hacer muchas opciones de una vez)
  • imageaffinematrixget — Devuelve la imagen que contiene la imagen fuente transformada afín, usando un área de recorte opcional
  • imagealphablending — Establece el modo de mezcla para una imagen
  • imageantialias — Permite o no el uso de funciones antialias
  • imagearc — Dibujar un arco
  • imagechar — Dibujar un carácter horizontalmente
  • imagecharup — Dibujar un carácter verticalmente
  • imagecolorallocate — Asigna un color para una imagen
  • imagecolorallocatealpha — Asigna un color para una imagen
  • imagecolorat — Obtener el índice del color de un píxel
  • imagecolorclosest — Obtener el índice del color más próximo al color especificado
  • imagecolorclosestalpha — Obtener el índice del color más próximo al color + alpha especificado
  • imagecolorclosesthwb — Obtener el índice del color que tiene el tono, blancura y negrura
  • imagecolordeallocate — Desasignar un color de una imagen
  • imagecolorexact — Obtener el índice del color especificado
  • imagecolorexactalpha — Obtener el índice del color + alpha especificado
  • imagecolormatch — Hacer que los colores de la versión de la paleta de una imagen coincidan más estrechamente con la versión de color verdadero
  • imagecolorresolve — Obtener el índice del color especificado o su alternativa más próxima posible
  • imagecolorresolvealpha — Obtener el índice del color + alpha especificado o su alternativa más próxima posible
  • imagecolorset — Establecer el color para el índice de paleta especificada
  • imagecolorsforindex — Obtener los colores de un índice
  • imagecolorstotal — Averiguar el número de colores de la paleta de una imagen
  • imagecolortransparent — Definir un color como transparente
  • imageconvolution — Aplicar una matriz de convolución de 3x3, usando coeficiente e índice
  • imagecopy — Copiar parte de una imagen
  • imagecopymerge — Copiar y fusionar parte de una imagen
  • imagecopymergegray — Copiar y fusionar parte de una imagen con escala de grises
  • imagecopyresampled — Copia y cambia el tamaño de parte de una imagen redimensionándola
  • imagecopyresized — Copia y cambia el tamaño de parte de una imagen
  • imagecreate — Crea una nueva imagen basada en paleta
  • imagecreatefromgd2 — Crear una imagen nueva desde un archivo GD2 o una URL
  • imagecreatefromgd2part — Crear una nueva imagen desde una parte dada de un archivo GD2 o una URL
  • imagecreatefromgd — Crear una imagen nueva desde un archivo GD o una URL
  • imagecreatefromgif — Crea una nueva imagen a partir de un fichero o de una URL
  • imagecreatefromjpeg — Crea una nueva imagen a partir de un fichero o de una URL
  • imagecreatefrompng — Crea una nueva imagen a partir de un fichero o de una URL
  • imagecreatefromstring — Crear una imagen nueva desde el flujo de imagen de la cadena
  • imagecreatefromwbmp — Crea una nueva imagen a partir de un fichero o de una URL
  • imagecreatefromwebp — Crea una nueva imagen a partir de un fichero o de una URL
  • imagecreatefromxbm — Crea una nueva imagen a partir de un fichero o de una URL
  • imagecreatefromxpm — Crea una nueva imagen a partir de un fichero o de una URL
  • imagecreatetruecolor — Crear una nueva imagen de color verdadero
  • imagecrop — Recorta una imagen usando las coordenadas, el tamaño, x, y, ancho y alto dados
  • imagecropauto — Recorta una imagen automáticamente usando uno de los modos disponibles
  • imagedashedline — Dibujar una línea discontinua
  • imagedestroy — Destruir una imagen
  • imageellipse — Dibujar una elipse
  • imagefill — Rellenar
  • imagefilledarc — Dibujar un arco parcial y rellenarlo
  • imagefilledellipse — Dibujar una elipse con relleno
  • imagefilledpolygon — Dibujar un polígono con relleno
  • imagefilledrectangle — Dibujar un rectángulo con relleno
  • imagefilltoborder — Rellenar con un color específico
  • imagefilter — Aplica un filtro a una imagen
  • imageflip — Flips an image using a given mode
  • imagefontheight — Obtener el alto de la fuente
  • imagefontwidth — Obtener el ancho de la fuente
  • imageftbbox — Devolver la caja circundante de un texto usando fuentes mediante FreeType 2
  • imagefttext — Escribir texto en la imagen usando fuentes mediante FreeType 2
  • imagegammacorrect — Aplicar una corrección gamma a la imagen GD
  • imagegd2 — Imprime una imagen GD2 a un navegador o archivo
  • imagegd — Imprime una imagen GD2 a un navegador o archivo
  • imagegif — Exportar la imagen al navegador o a un fichero
  • imagegrabscreen — Capturar la pantalla completa
  • imagegrabwindow — Capturar una ventana
  • imageinterlace — Habilitar o deshabilitar en entrelazamiento
  • imageistruecolor — Averiguar si una imagen es de color verdadero
  • imagejpeg — Exportar la imagen al navegador o a un fichero
  • imagelayereffect — Establecer la bandera de mezcla alfa para usar los efectos de capa de la biblioteca gd incluida
  • imageline — Dibujar una línea
  • imageloadfont — Cargar una nueva fuente
  • imagepalettecopy — Copiar la paleta de una imagen a otra
  • imagepalettetotruecolor — Convierte una imagen basada en paleta a color verdadero
  • imagepng — Imprimir una imagen PNG al navegador o a un archivo
  • imagepolygon — Dibujar un polígono
  • imagepsbbox — Devolver la caja circundante de un rectángulo de texto usando fuentes PostScript Type1
  • imagepsencodefont — Cambiar el vector de codificación del caráter de una fuente
  • imagepsextendfont — Extender o condensar una fuente
  • imagepsfreefont — Liberar la memoria usada por una fuente PostScript Type 1
  • imagepsloadfont — Cargar una fuente PostScript Type 1 desde un archivo
  • imagepsslantfont — Inclinar una fuente
  • imagepstext — Dibujar un texto sobre una imagen usando fuentes PostScript Type1
  • imagerectangle — Dibuja un rectángulo
  • imagerotate — Rotar una imagen con un ángulo dado
  • imagesavealpha — Establecer la bandera para guardar la información completa del canal alfa (como oposición a la transparencia de un simple color) cuando se guardan imágenes PNG
  • imagescale — Redimensiona una imagen usando un nuevo ancho y alto
  • imagesetbrush — Establecer la imagen de pincel para el dibujo de líneas
  • imagesetinterpolation — Establecer el método de interpolación
  • imagesetpixel — Establecer un simple píxel
  • imagesetstyle — Establecer el estilo para el dibujo de líneas
  • imagesetthickness — Establecer el grosor para el dibujo de líneas
  • imagesettile — Establecer la imagen de tesela para rellenos
  • imagestring — Dibujar una cadena horizontalmente
  • imagestringup — Dibujar una cadena verticalmente
  • imagesx — Obtener el ancho de una imagen
  • imagesy — Obtener el alto de una imagen
  • imagetruecolortopalette — Convertir una imagen de color verdadero en una imagen de paleta
  • imagettfbbox — Devuelve la caja circundante de un texto usando fuentes TrueType
  • imagettftext — Escribir texto en la imagen usando fuentes TrueType
  • imagetypes — Devolver los tipos de imagen soportados por la versión actual de PHP
  • imagewbmp — Exportar la imagen al navegador o a un fichero
  • imagewebp — Imprimer una imagen WebP al navegador o fichero
  • imagexbm — Imprimir una imagen XBM al navegador o a una archivo
  • iptcembed — Incluir información IPTC binaria en una imagen JPEG
  • iptcparse — Conviertir un bloque IPTC binario en simples etiquetas
  • jpeg2wbmp — Convertir un archiov de imagen JPEG a un archivo de imagen WBMP
  • png2wbmp — Convertir un archivo de imagen PNG a un archivo de imagen WBMP
Usar imagecopymerge para crear una marca de agua translúcida
gd_info
GD


Reúne información acerca de la biblioteca GD instalada actualmente

Funciones de GD e Imágenes
getimagesize
Funciones de GD e Imágenes
PHP Manual

gd_info

(PHP 4 >= 4.3.0, PHP 5)

gd_info — Reúne información acerca de la biblioteca GD instalada actualmente

Descripción

array gd_info ( void )

Obtiene información acerca de la versión y capacidades de la biblioteca GD instalada.

Valores devueltos

Devuelve una matriz asociativa.

Elementos de la matriz devuelta por gd_info()
Atributo | Significado
GD Version | valor de tipo string que describe la versión de libgd instalada.
FreeType Support | valor de tipo boolean. TRUE si está instalado el soporte para Freetype.
Freetype Linkage | valor de tipo string que describe la forma en la cual Freetype fue vinculado. Los valores esperados son: 'with freetype', 'with TTF library' y 'with unknown library'. Este elemento sólo estará definido si Freetype Support fue evaluado como TRUE.
T1Lib Support | valor de tipo boolean. TRUE si el soporte para T1Lib está incluido.
GIF Read Support | valor de tipo boolean. TRUE si el soporte para la lectura de imágenes GIF está incluido.
GIF Create Support | valor de tipo boolean. TRUE si el soporte para la creación de imágenes GIF está incluido.
JPEG Support | valor de tipo boolean. TRUE si el soporte para JPEG está incluido.
PNG Support | valor de tipo boolean. TRUE si el soporte para PNG está incluido.
WBMP Support | valor de tipo boolean. TRUE si el soporte para WBMP está incluido.
XBM Support | valor de tipo boolean. TRUE si el soporte para XBM está incluido.
WebP Support | Valor de tipo boolean. TRUE si el soporte para WebP está incluido.

Nota:

Antes de PHP 5.3.0, el atributo JPEG Support se llamaba JPG Support.

Ejemplos

Ejemplo #1 Usar gd_info()

<?php
var_dump(gd_info());
?>

El resultado del ejemplo sería algo similar a:

array(9) {
  ["GD Version"]=>
  string(24) "bundled (2.0 compatible)"
  ["FreeType Support"]=>
  bool(false)
  ["T1Lib Support"]=>
  bool(false)
  ["GIF Read Support"]=>
  bool(true)
  ["GIF Create Support"]=>
  bool(false)
  ["JPEG Support"]=>
  bool(false)
  ["PNG Support"]=>
  bool(true)
  ["WBMP Support"]=>
  bool(true)
  ["XBM Support"]=>
  bool(false)
}

Historial de cambios

Versión | Descripción
5.5.0 | Se añadió WebP Support.
5.3.0 | El atributo JPG Support se renombró a JPEG Support.

Ver también

  • imagepng() - Imprimir una imagen PNG al navegador o a un archivo
  • imagejpeg() - Exportar la imagen al navegador o a un fichero
  • imagegif() - Exportar la imagen al navegador o a un fichero
  • imagewbmp() - Exportar la imagen al navegador o a un fichero
  • imagetypes() - Devolver los tipos de imagen soportados por la versión actual de PHP

Funciones de GD e Imágenes
getimagesize
Funciones de GD e Imágenes


Obtiene el tamaño de una imagen

gd_info
getimagesizefromstring
Funciones de GD e Imágenes
PHP Manual

getimagesize

(PHP 4, PHP 5)

getimagesize — Obtiene el tamaño de una imagen

Descripción

array getimagesize ( string $filename [, array &$imageinfo ] )

La función getimagesize() determinará el tamaño de un archivo de imagen dado y devolverá las dimensiones junto con el tipo de archivo y una cadena de texto con el alto/ancho para ser usada dentro una etiqueta IMG de HTML normal y el tipo de contenido HTTP correspondiente.

getimagesize() también puede devolver alguna información más con el parámetro imageinfo.

Nota: Observe que JPC y JP2 son capaces de tener componentes con diferente profundidad de bit. En este caso, el valor para "bits" es la mayor profundidad de bit encontrada. También, los archivos JP2 pueden contener múltiples codestreams JPEG 2000. En este caso, getimagesize() devuelve los valores del primer codestream que encuentre en la raíz del archivo.

Nota: La información acerca de iconos se recupera desde el icono con la mayor tasa de bit.

Parámetros

filename

Este parámetro especifica el archivo del que se quiere recuperar información. Puede referenciar a un archivo local o (si la configuración lo permite) a un archivo remoto usando uno de los flujos soportados.

imageinfo

Este parámetro opcional permite extraer alguna información ampliada del archivo de imagen. Actualmente, esto devolverá los diferentes marcadores APP de JPG como un array asociativo. Algunos programas usan estos marcadores APP para incluir información de texto en imágenes. Un uso muy común es incluir información » IPTC en el marcador APP13. Se puede usar la función iptcparse() para analizar el marcador binario APP13 en algo que sea legible.

Valores devueltos

Devuelve un array de hasta 7 elementos. No todos los tipos de imagen incluirán los elementos channels y bits.

Los índices 0 y 1 contienen el ancho y el alto de la imagen, respectivamente.

Nota:

Algunos formatos no pueden contener imagen o pueden contener múltiples imágenes. En estos casos, getimagesize() no será capaz de determinar apropiadamente el tamaño de la imagen. getimagesize() devolverá cero para el ancho y el alto en entos casos.

El índice 2 es una de las constantes IMAGETYPE_XXX indicando el tipo de imagen.

El índice 3 es una cadena de texto con la cadena height="yyy" width="xxx" correcta que puede ser usada dierectamente en una etiqueta IMG.

mime es el tipo MIME correspondiente de la imagen. Esta información se puede usar para emitir imágenes con la cabecera HTTP Content-type correcta:

Ejemplo #1 getimagesize() y tipos MIME

<?php
$tamaño = getimagesize($nombre_archivo);
$fp = fopen($nombre_archivo, "rb");
if ($tamaño && $fp) {
    header("Content-type: {$tamaño['mime']}");
    fpassthru($fp);
    exit;
} else {
    // error
}
?>

Los channels serán 3 para ímagenes RGB y 4 para ímagenes CMYK.

bits es el número de bits de cada color.

Para algunos tipos de imagen, la presencia de los valores channels y bits pueden ser un poco confusos. Como ejemplo, GIF siempre usa 3 canales por píxel, pero el número de bits por pixel no puede ser calculado para un GIF animado con una tabla de colores global.

Si falla se devuleve FALSE.

Errores/Excepciones

Si el acceso a la imagen filename es imposible, getimagesize() generará un error de nivel E_WARNING. Si se produce un error de lectura, getimagesize() generará un error de nivel E_NOTICE.

Historial de cambios

Versión | Descripción
5.3.0 | Añadido el soporte para iconos.
5.2.3 | Los errores de lectura generados por esta función se degradaron desde E_WARNING a E_NOTICE.
4.3.2 | Se añadió el soporte para JPC, JP2, JPX, JB2, XBM y WBMP.
4.3.2 | Se añadió el soporte para JPEG 2000 para el parámetro imageinfo.
4.3.0 | bits y channels están presentes para otro tipo de imágenes también.
4.3.0 | Se añadió mime.
4.3.0 | Se añadió el soporte para SWC y IFF.
4.2.0 | Se añadió el soporte para TIFF.
4.0.6 | Se añadió el soporte para BMP y PSD.
4.0.5 | Se añadió el soporte para URL.

Ejemplos

Ejemplo #2 Ejemplo de getimagesize()

<?php
list($ancho, $alto, $tipo, $atributos) = getimagesize("img/flag.jpg");
echo "<img src=\"img/flag.jpg\" $atributos alt=\"Ejemplo de getimagesize()\" />";
?>

Ejemplo #3 getimagesize (URL)

<?php
$tamaño = getimagesize("http://www.example.com/gifs/logo.gif");

// si el nombre de archivo contiene espacios, codifíquelo apropiadamente
$tamaño = getimagesize("http://www.example.com/gifs/lo%20go.gif");

?>

Ejemplo #4 getimagesize() devolviendo IPTC

<?php
$tamaño = getimagesize("prueba.jpg", $info);
if (isset($info["APP13"])) {
    $iptc = iptcparse($info["APP13"]);
    var_dump($iptc);
}
?>

Notas

Nota:

Esta función no requiere la librería GD image.

Ver también

  • image_type_to_mime_type() - Obtiene el tipo Mime de un tipo de imagen devuelto por getimagesize, exif_read_data, exif_thumbnail, exif_imagetype
  • exif_imagetype() - Determinar el tipo de una imagen
  • exif_read_data() - Lee las cabeceras EXIF desde un JPEG o un TIFF
  • exif_thumbnail() - Recuperar la miniatura embebida de una imagen TIFF o JPEG

gd_info
getimagesizefromstring
Funciones de GD e Imágenes


Obtener el tamaño de una imagen desde una cadena

getimagesize
image_type_to_extension
Funciones de GD e Imágenes
PHP Manual

getimagesizefromstring

(PHP 5 >= 5.4.0)

getimagesizefromstring — Obtener el tamaño de una imagen desde una cadena

Descripción

array getimagesizefromstring ( string $imagedata [, array &$imageinfo ] )

Idéntica a getimagesize() excepto que getimagesizefromstring() acepta una cadena en vez de un nombre de fichero como primer parámetro.

Véase la documentación de getimagesize() para más detalles sobre cómo funciona esta función.

Parámetros

imagedata

La imformación de imagen, como cadena.

imageinfo

Véase getimagesize().

Valores devueltos

Véase getimagesize().

Ejemplos

Ejemplo #1 Ejemplo de getimagesizefromstring()

<?php
$img = '/path/to/test.png';

// Open as a file
$size_info1 = getimagesize($img);

// Or open as a string
$data       = file_get_contents($img);
$size_info2 = getimagesizefromstring($data);
?>

Ver también

  • getimagesize() - Obtiene el tamaño de una imagen

getimagesize
image_type_to_extension
Funciones de GD e Imágenes


Obtiene la extensión de un tipo de imagen

getimagesizefromstring
image_type_to_mime_type
Funciones de GD e Imágenes
PHP Manual

image_type_to_extension

(PHP 5)

image_type_to_extension — Obtiene la extensión de un tipo de imagen

Descripción

string image_type_to_extension ( int $imagetype [, bool $include_dot = TRUE ] )

Devuelve la extensión de la constante IMAGETYPE_XXX dada.

Parámetros

imagetype

Una de las constantes IMAGETYPE_XXX.

include_dot

Si le antecede un punto a la extensión. Por defecto es TRUE.

Valores devueltos

Una cadena con la extensión correspondiente al tipo de imagen dado.

Ejemplos

Ejemplo #1 Ejemplo de image_type_to_extension()

<?php
// Crear una instancia de imagen
$im = imagecreatetruecolor(100, 100);

// Guardar imagen
imagepng($im, './prueba' . image_type_to_extension(IMAGETYPE_PNG));
imagedestroy($im);
?>

Notas

Nota:

Esta función no requiere la librería GD image.

getimagesizefromstring
image_type_to_mime_type
Funciones de GD e Imágenes


Obtiene el tipo Mime de un tipo de imagen devuelto por getimagesize, exif_read_data, exif_thumbnail, exif_imagetype

image_type_to_extension
image2wbmp
Funciones de GD e Imágenes
PHP Manual

image_type_to_mime_type

(PHP 4 >= 4.3.0, PHP 5)

image_type_to_mime_type — Obtiene el tipo Mime de un tipo de imagen devuelto por getimagesize, exif_read_data, exif_thumbnail, exif_imagetype

Descripción

string image_type_to_mime_type ( int $imagetype )

La función image_type_to_mime_type() determinará el tipo Mime de una constante IMAGETYPE.

Parámetros

imagetype

Una de las constantes IMAGETYPE_XXX.

Valores devueltos

Los valores devueltos son los siguientes

Valores de Constantes Devueltos
imagetype | Valor devuelto
IMAGETYPE_GIF | image/gif
IMAGETYPE_JPEG | image/jpeg
IMAGETYPE_PNG | image/png
IMAGETYPE_SWF | application/x-shockwave-flash
IMAGETYPE_PSD | image/psd
IMAGETYPE_BMP | image/bmp
IMAGETYPE_TIFF_II (orden de byte intel) | image/tiff
IMAGETYPE_TIFF_MM (orden de byte motorola) | image/tiff
IMAGETYPE_JPC | application/octet-stream
IMAGETYPE_JP2 | image/jp2
IMAGETYPE_JPX | application/octet-stream
IMAGETYPE_JB2 | application/octet-stream
IMAGETYPE_SWC | application/x-shockwave-flash
IMAGETYPE_IFF | image/iff
IMAGETYPE_WBMP | image/vnd.wap.wbmp
IMAGETYPE_XBM | image/xbm
IMAGETYPE_ICO | image/vnd.microsoft.icon

Ejemplos

Ejemplo #1 Ejemplo de image_type_to_mime_type()

<?php
header("Content-type: " . image_type_to_mime_type(IMAGETYPE_PNG));
?>

Notas

Nota:

Esta función no requiere la librería GD image.

Ver también

  • getimagesize() - Obtiene el tamaño de una imagen
  • exif_imagetype() - Determinar el tipo de una imagen
  • exif_read_data() - Lee las cabeceras EXIF desde un JPEG o un TIFF
  • exif_thumbnail() - Recuperar la miniatura embebida de una imagen TIFF o JPEG

image_type_to_extension
image2wbmp
Funciones de GD e Imágenes


Exportar la imagen al navegador o a un fichero

image_type_to_mime_type
imageaffine
Funciones de GD e Imágenes
PHP Manual

image2wbmp

(PHP 4 >= 4.0.5, PHP 5)

image2wbmp — Exportar la imagen al navegador o a un fichero

Descripción

bool image2wbmp ( resource $image [, string $filename [, int $threshold ]] )

image2wbmp() imprime o guarda una versión de WBMP de image.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

filename

Ruta del archivo guardado. Si no se da, el flujo de imagen en bruto será impreso directamente.

threshold

El valor del umbral, entre 0 y 255 (inclusive).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de image2wbmp()

<?php
$archivo = 'php.png';
$imagen = imagecreatefrompng($archivo);

header('Content-Type: ' . image_type_to_mime_type(IMAGETYPE_WBMP));
image2wbmp($imagen); // imprime el flujo directamete
imagedestroy($imagen);
?>

Notas

Nota:

El soporte de WBMP está disponible sólamente si PHP fue compilado con GD-1.8 o posterior.

Ver también

  • imagewbmp() - Exportar la imagen al navegador o a un fichero

image_type_to_mime_type
imageaffine
Funciones de GD e Imágenes


Devuelve la imagen que contiene la imagen fuente transformada afín, usando un área de recorte opcional

image2wbmp
imageaffinematrixconcat
Funciones de GD e Imágenes
PHP Manual

imageaffine

(PHP 5 >= 5.5.0)

imageaffine — Devuelve la imagen que contiene la imagen fuente transformada afín, usando un área de recorte opcional

Descripción

resource imageaffine ( resource $image , array $affine [, array $clip ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

affine

Array con las calves 0 a 5.

clip

Array con las claves "x", "y", "width" y "height".

Valores devueltos

Devuelve el recurso de imagen afín en caso de éxito o FALSE en caso de error.

image2wbmp
imageaffinematrixconcat
Funciones de GD e Imágenes


Concatena dos matrices (como al hacer muchas opciones de una vez)

imageaffine
imageaffinematrixget
Funciones de GD e Imágenes
PHP Manual

imageaffinematrixconcat

(PHP 5 >= 5.5.0)

imageaffinematrixconcat — Concatena dos matrices (como al hacer muchas opciones de una vez)

Descripción

array imageaffinematrixconcat ( array $m1 , array $m2 )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

m1

Array con las claves 0 a 5.

m2

Array con las claves 0 a 5.

Valores devueltos

Array con las claves 0 a 5 y valores de tipo float o FALSE en caso de error.

imageaffine
imageaffinematrixget
Funciones de GD e Imágenes


Devuelve la imagen que contiene la imagen fuente transformada afín, usando un área de recorte opcional

imageaffinematrixconcat
imagealphablending
Funciones de GD e Imágenes
PHP Manual

imageaffinematrixget

(PHP 5 >= 5.5.0)

imageaffinematrixget — Devuelve la imagen que contiene la imagen fuente transformada afín, usando un área de recorte opcional

Descripción

array imageaffinematrixget ( int $type [, mixed $options ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

type

Una de las consntates IMG_AFFINE_*.

options

Valores devueltos

Array con las claves 0 a 5 y valores de tipo float o FALSE en caso de error.

imageaffinematrixconcat
imagealphablending
Funciones de GD e Imágenes


Establece el modo de mezcla para una imagen

imageaffinematrixget
imageantialias
Funciones de GD e Imágenes
PHP Manual

imagealphablending

(PHP 4 >= 4.0.6, PHP 5)

imagealphablending — Establece el modo de mezcla para una imagen

Descripción

bool imagealphablending ( resource $image , bool $blendmode )

imagealphablending() permite dos modos diferentes de dibujar imágenes de color verdadero. En el modo de mezcla, el componente canal alfa del color proporcionado a todas las funciones de dibujo, como imagesetpixel(), determina cuánto se debe permitir que brille el color subyacente a través de los colores de la imagen. Como resultado, gd mezcla automáticamente el color existente en ese punto con el color de dibujo, y almacena el resultado en la imagen. El píxel resultante es opaco. En un modo que no sea de mezcla, el color de dibujo se copia literalmente con la información del canal alfa, remplazando el píxel destino. El modo de mezlca no está disponible cuando se dibuja con imágenes de paleta de color.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

blendmode

Si se habilita o no el modo mezcla. En imágenes de color verdadero el valor por defecto es TRUE de otro modo el valor por defecto es FALSE

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de uso de imagealphablending()

<?php
// Crear imagen
$im = imagecreatetruecolor(100, 100);

// Establecer la mezcla alfa
imagealphablending($im, true);

// Dibujar un cuadrado
imagefilledrectangle($im, 30, 30, 70, 70, imagecolorallocate($im, 255, 0, 0));

// Imprimir
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

Notas

Nota: Esta función require GD 2.0.1 o superior (se recomienda 2.0.28 o superior).

imageaffinematrixget
imageantialias
Funciones de GD e Imágenes


Permite o no el uso de funciones antialias

imagealphablending
imagearc
Funciones de GD e Imágenes
PHP Manual

imageantialias

(PHP 4 >= 4.3.2, PHP 5)

imageantialias — Permite o no el uso de funciones antialias

Descripción

bool imageantialias ( resource $image , bool $enabled )

Activa los métodos de dibujo rápido con antialias para líneas y polígonos segmentados. No soporta componentes alfa. Funciona usando una operación de mezcla directa. Sólo funciona con imágenes de color verdadero.

No están soportados grosor ni estilo.

Usar primitivos antialias con color de fondo transparente puede acabar en algunos resultados inesperados. El método de mezcla usa el color de fongo como cualquier otro color. La ausencia de soporte del comoponente alfa no permite un método de antialias basado en alfa.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

enabled

Si se habilita antialiasing o no.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Una comparación de dos líneas, una con antialias activado

<?php
// Establece una imagen con anti-alias y una imagen normal
$aa = imagecreatetruecolor(400, 100);
$normal = imagecreatetruecolor(200, 100);

// Activa antialiasing para una imagen
imageantialias($aa, true);

// Asignar colores
$rojo = imagecolorallocate($normal, 255, 0, 0);
$rojo_aa = imagecolorallocate($aa, 255, 0, 0);

// Dibuja dos líneas, una con AA habilitado
imageline($normal, 0, 0, 200, 100, $rojo);
imageline($aa, 0, 0, 200, 100, $rojo_aa);

// Fusionar las dos imágenes, una al lado de la otra, para impresión (AA: izquierda, Normal: derecha)
imagecopymerge($aa, $normal, 200, 0, 0, 0, 200, 100, 100);

// Imrimir la imagen
header('Content-type: image/png');

imagepng($aa);
imagedestroy($aa);
imagedestroy($normal);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : Una comparación de dos líneas, una con antialias activado

Notas

Nota: Esta función sólo está disponible si PHP fue compilado con la versión incluida de GD library.

Ver también

  • imagecreatetruecolor() - Crear una nueva imagen de color verdadero

imagealphablending
imagearc
Funciones de GD e Imágenes


Dibujar un arco

imageantialias
imagechar
Funciones de GD e Imágenes
PHP Manual

imagearc

(PHP 4, PHP 5)

imagearc — Dibujar un arco

Descripción

bool imagearc ( resource $image , int $cx , int $cy , int $width , int $height , int $start , int $end , int $color )

imagearc() dibuja un arco de circunferencia con centro en las coordenadas dadas.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

cx

Coordenada x del centro.

cy

Coordenada y del centro

width

El ancho del arco.

height

El alto del arco.

start

El ángulo de inicio del arco, en grados.

end

El ángulo de finalización del arco, en grados. 0° está localizado en la posición que marca la aguja horaria a las tres en punto, y el arco se dibuja en el sentido de las agujas del reloj.

color

Un identificador de color creado con imagecolorallocate().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Dibujar un círculo con imagearc()

<?php

// crear una imagen de 200*200
$img = imagecreatetruecolor(200, 200);

// asignar algunos colores
$blanco = imagecolorallocate($img, 255, 255, 255);
$rojo   = imagecolorallocate($img, 255,   0,   0);
$verde = imagecolorallocate($img,   0, 255,   0);
$azul  = imagecolorallocate($img,   0,   0, 255);

// dibujar la cabeza
imagearc($img, 100, 100, 200, 200,  0, 360, $blanco);
// la boca
imagearc($img, 100, 100, 150, 150, 25, 155, $rojo);
// el ojo izquierdo y después el ojo derecho
imagearc($img,  60,  75,  50,  50,  0, 360, $verde);
imagearc($img, 140,  75,  50,  50,  0, 360, $azul);

// imprimir la imagen en el navegador
header("Content-type: image/png");
imagepng($img);

// liberar memoria
imagedestroy($img);

?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : Dibujar un círculo con imagearc()

Ver también

  • imagefilledarc() - Dibujar un arco parcial y rellenarlo
  • imageellipse() - Dibujar una elipse
  • imagefilledellipse() - Dibujar una elipse con relleno

imageantialias
imagechar
Funciones de GD e Imágenes


Dibujar un carácter horizontalmente

imagearc
imagecharup
Funciones de GD e Imágenes
PHP Manual

imagechar

(PHP 4, PHP 5)

imagechar — Dibujar un carácter horizontalmente

Descripción

bool imagechar ( resource $image , int $font , int $x , int $y , string $c , int $color )

imagechar() dibuja el primer carácter de c en la imagen identificada por image con su límite superior izquierdo en x,y (el límite superior izquierdo es 0, 0) con el color color.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

font

Puede ser 1, 2, 3, 4, 5 para fuentes built-in en latin2 encoding (los números más altos corresponden a large fonts) o cualquier de sus propios identificadores de fuentes registrados con imageloadfont().

x

Coordenada x del inicio.

y

Coordenada y del inicio.

c

El carácter a dibujar.

color

Un identificador de color creado con imagecolorallocate().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imagechar()

<?php

$im = imagecreate(100, 100);

$cadena = 'PHP';

$fondo = imagecolorallocate($im, 255, 255, 255);
$negro = imagecolorallocate($im, 0, 0, 0);

// imprime una "P" negra en la esquina superior izquierda
imagechar($im, 1, 0, 0, $cadena, $negro);

header('Content-type: image/png');
imagepng($im);

?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : imagechar()

Ver también

  • imagecharup() - Dibujar un carácter verticalmente
  • imageloadfont() - Cargar una nueva fuente

imagearc
imagecharup
Funciones de GD e Imágenes


Dibujar un carácter verticalmente

imagechar
imagecolorallocate
Funciones de GD e Imágenes
PHP Manual

imagecharup

(PHP 4, PHP 5)

imagecharup — Dibujar un carácter verticalmente

Descripción

bool imagecharup ( resource $image , int $font , int $x , int $y , string $c , int $color )

Dibuja el carácter c verticalmente, en las coordenadas especificadas, en image.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

font

Puede ser 1, 2, 3, 4, 5 para fuentes built-in en latin2 encoding (los números más altos corresponden a large fonts) o cualquier de sus propios identificadores de fuentes registrados con imageloadfont().

x

Coordenada x del inicio.

y

Coordenada y del inicio.

c

El carácter a dibujar.

color

Un identificador de color creado con imagecolorallocate().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imagecharup()

<?php

$im = imagecreate(100, 100);

$cadena = 'Nótese que la primera letra es una N';

$fondo = imagecolorallocate($im, 255, 255, 255);
$negro = imagecolorallocate($im, 0, 0, 0);

// imprime una "Z" negra sobre un fondo blanco
imagecharup($im, 3, 10, 10, $cadena, $negro);

header('Content-type: image/png');
imagepng($im);

?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : imagecharup()

Ver también

  • imagechar() - Dibujar un carácter horizontalmente
  • imageloadfont() - Cargar una nueva fuente

imagechar
imagecolorallocate
Funciones de GD e Imágenes


Asigna un color para una imagen

imagecharup
imagecolorallocatealpha
Funciones de GD e Imágenes
PHP Manual

imagecolorallocate

(PHP 4, PHP 5)

imagecolorallocate — Asigna un color para una imagen

Descripción

int imagecolorallocate ( resource $image , int $red , int $green , int $blue )

Devuelve un identificador de color representando el color compuesto por los componentes RGB dados.

imagecolorallocate() debe ser llamada para crear cada color que va a ser usado en la imagen representada por image.

Nota:

La primera llamada a imagecolorallocate() rellena el color de fondo en imágenes basadas en paleta de colores - imágenes creadas usando imagecreate().

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

red

Valor del componente rojo.

green

Valor del componente verde.

blue

Valor del componente azul.

Estos parámetros son enteros entre 0 y 255 o hexadecimales entre 0x00 y 0xFF.

Valores devueltos

Un identificador de color o FALSE si la asignación falló.

Advertencia

Esta función puede devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se evalúa como FALSE. 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.

Historial de cambios

Versión | Descripción
5.1.3 | Devuelve FALSE si falló la asignación. Anteriormente devolvía -1.

Ejemplos

Ejemplo #1 Ejemplo de imagecolorallocate()

<?php

$im = imagecreate(100, 100);

// establece el fondo a rojo
$fondo = imagecolorallocate($im, 255, 0, 0);

// establece más colores
$blanco = imagecolorallocate($im, 255, 255, 255);
$negro = imagecolorallocate($im, 0, 0, 0);

// forma hexadecimal
$blanco = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);
$negro = imagecolorallocate($im, 0x00, 0x00, 0x00);

?>

Ver también

  • imagecolorallocatealpha() - Asigna un color para una imagen
  • imagecolordeallocate() - Desasignar un color de una imagen

imagecharup
imagecolorallocatealpha
Funciones de GD e Imágenes


Asigna un color para una imagen

imagecolorallocate
imagecolorat
Funciones de GD e Imágenes
PHP Manual

imagecolorallocatealpha

(PHP 4 >= 4.3.2, PHP 5)

imagecolorallocatealpha — Asigna un color para una imagen

Descripción

int imagecolorallocatealpha ( resource $image , int $red , int $green , int $blue , int $alpha )

imagecolorallocatealpha() se comporta de forma idéntica a imagecolorallocate() con la adición del parámetro de transparencia alpha.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

red

Valor del componente rojo.

green

Valor del componente verde.

blue

Valor del componente azul.

alpha

Un valor entre 0 y 127. 0 indica completamente opaco mientras que 127 indica completamente transparente.

Los parámetros de colores son enteros entre 0 y 255 o hexadecimales entre 0x00 y 0xFF.

Valores devueltos

Un identificador de color o FALSE si la asignación falló.

Advertencia

Esta función puede devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se evalúa como FALSE. 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.

Historial de cambios

Versión | Descripción
5.1.3 | Devuelve FALSE si falló la asignación. Anteriormente devolvía -1.

Ejemplos

Ejemplo #1 Ejemplo usando imagecolorallocatealpha()

<?php
$tamaño = 300;
$imagen=imagecreatetruecolor($tamaño, $tamaño);

// algo para obtener un fondo blanco con borde negro
$fondo = imagecolorallocate($imagen, 255, 255, 255);
$borde = imagecolorallocate($imagen, 0, 0, 0);
imagefilledrectangle($imagen, 0, 0, $tamaño - 1, $tamaño - 1, $fondo);
imagerectangle($imagen, 0, 0, $tamaño - 1, $tamaño - 1, $borde);

$amarillo_x = 100;
$amarillo_y = 75;
$rojo_x     = 120;
$rojo_y     = 165;
$azul_x     = 187;
$azul_y     = 125;
$radio      = 150;

// asignar colores con valores alfa
$amarillo = imagecolorallocatealpha($imagen, 255, 255, 0, 75);
$rojo     = imagecolorallocatealpha($imagen, 255, 0, 0, 75);
$azul     = imagecolorallocatealpha($imagen, 0, 0, 255, 75);

// dibujar 3 círculos solapados
imagefilledellipse($imagen, $amarillo_x, $amarillo_y, $radio, $radio, $amarillo);
imagefilledellipse($imagen, $rojo_x, $rojo_y, $radio, $radio, $rojo);
imagefilledellipse($imagen, $azul_x, $azul_y, $radio, $radio, $azul);

// ¡no olvide imprimir la cabecera correcta!
header('Content-Type: image/png');

// y finalmente, imprimir el resultado
imagepng($imagen);
imagedestroy($imagen);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : Ejemplo usando imagecolorallocatealpha()

Notas

Nota: Esta función require GD 2.0.1 o superior (se recomienda 2.0.28 o superior).

Ver también

  • imagecolorallocate() - Asigna un color para una imagen
  • imagecolordeallocate() - Desasignar un color de una imagen

imagecolorallocate
imagecolorat
Funciones de GD e Imágenes


Obtener el índice del color de un píxel

imagecolorallocatealpha
imagecolorclosest
Funciones de GD e Imágenes
PHP Manual

imagecolorat

(PHP 4, PHP 5)

imagecolorat — Obtener el índice del color de un píxel

Descripción

int imagecolorat ( resource $image , int $x , int $y )

Devuelve el índice del color de un píxel en el lugar especificado en la imagen especificada por image.

Si PHP se compila con la librería GD 2.0 o superior y la imagen es una imagen de color verdadero, esta función devuelve los valores RGB de ese pixel como entero. Use desplazamiento de bits y máscara de bits para acceder a los distintos valores de de los componentes rojo, verde y azul:

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

x

Coordenada x del punto.

y

Coordenada y del punto.

Valores devueltos

Devuelve el índice del color.

Ejemplos

Ejemplo #1 Acceder a los distintos valores RGB

<?php
$im = imagecreatefrompng("php.png");
$rgb = imagecolorat($im, 10, 15);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;

var_dump($r, $g, $b);
?>

El resultado del ejemplo sería algo similar a:

int(119)
int(123)
int(180)

Ejemplo #2 Valores RGB legibles para humanos usando imagecolorsforindex()

<?php
$im = imagecreatefrompng("php.png");
$rgb = imagecolorat($im, 10, 15);

$colores = imagecolorsforindex($im, $rgb);

var_dump($colores);
?>

El resultado del ejemplo sería algo similar a:

array(4) {
  ["red"]=>
  int(119)
  ["green"]=>
  int(123)
  ["blue"]=>
  int(180)
  ["alpha"]=>
  int(127)
}

Ver también

  • imagecolorset() - Establecer el color para el índice de paleta especificada
  • imagecolorsforindex() - Obtener los colores de un índice
  • imagesetpixel() - Establecer un simple píxel

imagecolorallocatealpha
imagecolorclosest
Funciones de GD e Imágenes


Obtener el índice del color más próximo al color especificado

imagecolorat
imagecolorclosestalpha
Funciones de GD e Imágenes
PHP Manual

imagecolorclosest

(PHP 4, PHP 5)

imagecolorclosest — Obtener el índice del color más próximo al color especificado

Descripción

int imagecolorclosest ( resource $image , int $red , int $green , int $blue )

Devuelve el índice del color en la paleta de la imagen que está "más próximo" al valor RGB especificado.

La "distancia" entre el color deseado y cada color en la paleta es calculado como si los valores RGB representaran puntos en un espacio tridimensional.

Si se ha creado la imagen a partir de un fichero, sólo se resolverán los colores utilizados en la imagen. No se resolverán los colores que sólo están presentes en la paleta.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

red

Valor del componente rojo.

green

Valor del componente verde.

blue

Valor del componente azul.

Los parámetros de colores son enteros entre 0 y 255 o hexadecimales entre 0x00 y 0xFF.

Valores devueltos

Devuelve el indice del color más próximo, en la paleta de la imagen, al color especificado.

Ejemplos

Ejemplo #1 Buscar un conjunto de colores en una imagen

<?php
// Comenzar con una imagen y convertirla a una imagen basada en paleta de colores
$im = imagecreatefrompng('figures/imagecolorclosest.png');
imagetruecolortopalette($im, false, 255);

// Buscar colores (RGB)
$colores = array(
    array(254, 145, 154),
    array(153, 145, 188),
    array(153, 90, 145),
    array(255, 137, 92)
);

// Itera cada búsqueda y encuentra el color más próximo en la paleta.
// Devuelve el número de búsqueda, el RGB de búsqueda y la coincidencia RGB convertida
foreach($colores as $id => $rgb)
{
    $resultado = imagecolorclosest($im, $rgb[0], $rgb[1], $rgb[2]);
    $resultado = imagecolorsforindex($im, $resultado);
    $resultado = "({$resultado['red']}, {$resultado['green']}, {$resultado['blue']})";

    echo "#$id: Búsqueda ($rgb[0], $rgb[1], $rgb[2]); Coincidencia más próxima: $resultado.\n";
}

imagedestroy($im);
?>

El resultado del ejemplo sería algo similar a:

#0: Búsqueda (254, 145, 154); Coincidencia más próxima: (252, 150, 148).
#1: Búsqueda (153, 145, 188); Coincidencia más próxima: (148, 150, 196).
#2: Búsqueda (153, 90, 145); Coincidencia más próxima: (148, 90, 156).
#3: Búsqueda (255, 137, 92); Coincidencia más próxima: (252, 150, 92).

Ver también

  • imagecolorexact() - Obtener el índice del color especificado
  • imagecolorclosestalpha() - Obtener el índice del color más próximo al color + alpha especificado
  • imagecolorclosesthwb() - Obtener el índice del color que tiene el tono, blancura y negrura

imagecolorat
imagecolorclosestalpha
Funciones de GD e Imágenes


Obtener el índice del color más próximo al color + alpha especificado

imagecolorclosest
imagecolorclosesthwb
Funciones de GD e Imágenes
PHP Manual

imagecolorclosestalpha

(PHP 4 >= 4.0.6, PHP 5)

imagecolorclosestalpha — Obtener el índice del color más próximo al color + alpha especificado

Descripción

int imagecolorclosestalpha ( resource $image , int $red , int $green , int $blue , int $alpha )

Devuelve el índice del color en la paleta de la imagen que está "más próximo" al valor RGB especificado y al nivel alpha especificado.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

red

Valor del componente rojo.

green

Valor del componente verde.

blue

Valor del componente azul.

alpha

Un valor entre 0 y 127. 0 indica completamente opaco mientras que 127 indica completamente transparente.

Los parámetros de colores son enteros entre 0 y 255 o hexadecimales entre 0x00 y 0xFF.

Valores devueltos

Devuelve el índice del color más próximo en la paleta.

Ejemplos

Ejemplo #1 Buscar un conjunto de colores en una imagen

<?php
// Comenzar con una imagen y convertirla a una imagen basada en paleta de colores
$im = imagecreatefrompng('figures/imagecolorclosest.png');
imagetruecolortopalette($im, false, 255);

// Buscar colores (RGB)
$colores = array(
    array(254, 145, 154, 50),
    array(153, 145, 188, 127),
    array(153, 90, 145, 0),
    array(255, 137, 92, 84)
);

// Itera cada búsqueda y encuentra el color más próximo en la paleta.
// Devuelve el número de búsqueda, el RGB de búsqueda y la coincidencia RGB convertida
foreach($colores as $id => $rgb)
{
    $resultado = imagecolorclosestalpha($im, $rgb[0], $rgb[1], $rgb[2], $rgb[3]);
    $resultado = imagecolorsforindex($im, $resultado);
    $resultado = "({$resultado['red']}, {$resultado['green']}, {$resultado['blue']}, {$resultado['alpha']})";

    echo "#$id: Búsqueda ($rgb[0], $rgb[1], $rgb[2], $rgb[3]); Coincidencia más próxima: $resultado.\n";
}

imagedestroy($im);
?>

El resultado del ejemplo sería algo similar a:

#0: Search (254, 145, 154, 50); Closest match: (252, 150, 148, 0).
#1: Search (153, 145, 188, 127); Closest match: (148, 150, 196, 0).
#2: Search (153, 90, 145, 0); Closest match: (148, 90, 156, 0).
#3: Search (255, 137, 92, 84); Closest match: (252, 150, 92, 0).

Notas

Nota: Esta función require GD 2.0.1 o superior (se recomienda 2.0.28 o superior).

Ver también

  • imagecolorexactalpha() - Obtener el índice del color + alpha especificado
  • imagecolorclosest() - Obtener el índice del color más próximo al color especificado
  • imagecolorclosesthwb() - Obtener el índice del color que tiene el tono, blancura y negrura

imagecolorclosest
imagecolorclosesthwb
Funciones de GD e Imágenes


Obtener el índice del color que tiene el tono, blancura y negrura

imagecolorclosestalpha
imagecolordeallocate
Funciones de GD e Imágenes
PHP Manual

imagecolorclosesthwb

(PHP 4 >= 4.0.1, PHP 5)

imagecolorclosesthwb — Obtener el índice del color que tiene el tono, blancura y negrura

Descripción

int imagecolorclosesthwb ( resource $image , int $red , int $green , int $blue )

Obtiene el índice del color que tiene el tono, blancura y negrura más próximos al color dado.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

red

Valor del componente rojo.

green

Valor del componente verde.

blue

Valor del componente azul.

Valores devueltos

Devuelve un entero con el índice del color que tiene el tono, blancura y negrura más próximos al color dado.

Ejemplos

Ejemplo #1 Ejemplo usando imagecolorclosesthwb()

<?php
$im = imagecreatefromgif('php.gif');

echo 'TBN: ' . imagecolorclosesthwb($im, 116, 115, 152);

imagedestroy($im);
?>

El resultado del ejemplo sería algo similar a:

HWB: 33

Historial de cambios

Versión | Descripción
5.3.0 | Está función ahora está disponible en Windows

Ver también

  • imagecolorclosest() - Obtener el índice del color más próximo al color especificado

imagecolorclosestalpha
imagecolordeallocate
Funciones de GD e Imágenes


Desasignar un color de una imagen

imagecolorclosesthwb
imagecolorexact
Funciones de GD e Imágenes
PHP Manual

imagecolordeallocate

(PHP 4, PHP 5)

imagecolordeallocate — Desasignar un color de una imagen

Descripción

bool imagecolordeallocate ( resource $image , int $color )

Desasigna un color previamente asignado con imagecolorallocate() o imagecolorallocatealpha().

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

color

El identificador de color.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Usar imagecolordeallocate()

<?php
$blanco = imagecolorallocate($im, 255, 255, 255);
imagecolordeallocate($im, $blanco);
?>

Ver también

  • imagecolorallocate() - Asigna un color para una imagen
  • imagecolorallocatealpha() - Asigna un color para una imagen

imagecolorclosesthwb
imagecolorexact
Funciones de GD e Imágenes


Obtener el índice del color especificado

imagecolordeallocate
imagecolorexactalpha
Funciones de GD e Imágenes
PHP Manual

imagecolorexact

(PHP 4, PHP 5)

imagecolorexact — Obtener el índice del color especificado

Descripción

int imagecolorexact ( resource $image , int $red , int $green , int $blue )

Devuelve el índice del color especificado en la paleta de la imagen.

Si se ha creado la imagen a partir de un fichero, sólo se resolverán los colores utilizados en la imagen. No se resolverán los colores que sólo están presentes en la paleta.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

red

Valor del componente rojo.

green

Valor del componente verde.

blue

Valor del componente azul.

Valores devueltos

Devuelve el índice del color especificado en la paleta, o -1 si el color no existe.

Ejemplos

Ejemplo #1 Obtener colores del logotipo de GD

<?php
// Establece una imagen
$im = imagecreatefrompng('./gdlogo.png');

$colores   = Array();
$colores[] = imagecolorexact($im, 255, 0, 0);
$colores[] = imagecolorexact($im, 0, 0, 0);
$colores[] = imagecolorexact($im, 255, 255, 255);
$colores[] = imagecolorexact($im, 100, 255, 52);

print_r($colores);

// Libera memoria
imagedestroy($im);
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => 16711680
    [1] => 0
    [2] => 16777215
    [3] => 6618932
)

Ver también

  • imagecolorclosest() - Obtener el índice del color más próximo al color especificado

imagecolordeallocate
imagecolorexactalpha
Funciones de GD e Imágenes


Obtener el índice del color + alpha especificado

imagecolorexact
imagecolormatch
Funciones de GD e Imágenes
PHP Manual

imagecolorexactalpha

(PHP 4 >= 4.0.6, PHP 5)

imagecolorexactalpha — Obtener el índice del color + alpha especificado

Descripción

int imagecolorexactalpha ( resource $image , int $red , int $green , int $blue , int $alpha )

Devuelve el índice del color+alpha especifivado en la paleta de una imagen.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

red

Valor del componente rojo.

green

Valor del componente verde.

blue

Valor del componente azul.

alpha

Un valor entre 0 y 127. 0 indica completamente opaco mientras que 127 indica completamente transparente.

Los parámetros de colores son enteros entre 0 y 255 o hexadecimales entre 0x00 y 0xFF.

Valores devueltos

Devuelve el índice del color+alpha especificado en la paleta de la imagen, o -1 si el color no existe en la paleta de la imagen.

Ejemplos

Ejemplo #1 Obtener colores del logotipo de GD

<?php

// Establecer una imagen
$im = imagecreatefrompng('./gdlogo.png');

$colores   = Array();
$colores[] = imagecolorexactalpha($im, 255, 0, 0, 0);
$colores[] = imagecolorexactalpha($im, 0, 0, 0, 127);
$colores[] = imagecolorexactalpha($im, 255, 255, 255, 55);
$colores[] = imagecolorexactalpha($im, 100, 255, 52, 20);

print_r($colores);

// Liberar memorio
imagedestroy($im);
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => 16711680
    [1] => 2130706432
    [2] => 939524095
    [3] => 342163252
)

Notas

Nota: Esta función require GD 2.0.1 o superior (se recomienda 2.0.28 o superior).

Ver también

  • imagecolorclosestalpha() - Obtener el índice del color más próximo al color + alpha especificado

imagecolorexact
imagecolormatch
Funciones de GD e Imágenes


Hacer que los colores de la versión de la paleta de una imagen coincidan más estrechamente con la versión de color verdadero

imagecolorexactalpha
imagecolorresolve
Funciones de GD e Imágenes
PHP Manual

imagecolormatch

(PHP 4 >= 4.3.0, PHP 5)

imagecolormatch — Hacer que los colores de la versión de la paleta de una imagen coincidan más estrechamente con la versión de color verdadero

Descripción

bool imagecolormatch ( resource $image1 , resource $image2 )

Hace que los colores de la versión de la paleta de una imagen coincidan más estrechamente con la versión de color verdadero.

Parámetros

image1

Un recurso de enlace a una imagen de color verdadero.

image2

Un recurso de enlace a una imagen de paleta que apunta a una imagen que tiene el mismo tamaño que image1.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imagecolormatch()

<?php
// Establecer las imágenes de color verdadero y de paleta
$im1 = imagecreatefrompng('./gdlogo.png');
$im2 = imagecreate(imagesx($im1), imagesy($im1));

// Añadir algunos colores a $im2
$colores   = Array();
$colores[] = imagecolorallocate($im2, 255, 36, 74);
$colores[] = imagecolorallocate($im2, 40, 0, 240);
$colores[] = imagecolorallocate($im2, 82, 100, 255);
$colores[] = imagecolorallocate($im2, 84, 63, 44);

// Coincidir estos colores con la imagen de color verdadero
imagecolormatch($im1, $im2);

// Liberar memoria
imagedestroy($im1);
imagedestroy($im2);
?>

Notas

Nota: Esta función sólo está disponible si PHP fue compilado con la versión incluida de GD library.

Nota: Esta función require GD 2.0.1 o superior (se recomienda 2.0.28 o superior).

Ver también

  • imagecreatetruecolor() - Crear una nueva imagen de color verdadero

imagecolorexactalpha
imagecolorresolve
Funciones de GD e Imágenes


Obtener el índice del color especificado o su alternativa más próxima posible

imagecolormatch
imagecolorresolvealpha
Funciones de GD e Imágenes
PHP Manual

imagecolorresolve

(PHP 4, PHP 5)

imagecolorresolve — Obtener el índice del color especificado o su alternativa más próxima posible

Descripción

int imagecolorresolve ( resource $image , int $red , int $green , int $blue )

Está función garantiza la devolución de un índice de color para un color requerido, el color exacto o la alternativa más próxima posible.

Si se ha creado la imagen a partir de un fichero, sólo se resolverán los colores utilizados en la imagen. No se resolverán los colores que sólo están presentes en la paleta.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

red

Valor del componente rojo.

green

Valor del componente verde.

blue

Valor del componente azul.

Valores devueltos

Devuelve un índice de color.

Ejemplos

Ejemplo #1 Usar imagecoloresolve() para obtener colores de una imagen

<?php
// Cargar un imagen
$im = imagecreatefromgif('phplogo.gif');

// Obtener los colores más próximos de la imagen
$colores = array();
$colores[] = imagecolorresolve($im, 255, 255, 255);
$colores[] = imagecolorresolve($im, 0, 0, 200);

// Imprimir
print_r($colores);

imagedestroy($im);
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => 89
    [1] => 85
)

Ver también

  • imagecolorclosest() - Obtener el índice del color más próximo al color especificado

imagecolormatch
imagecolorresolvealpha
Funciones de GD e Imágenes


Obtener el índice del color + alpha especificado o su alternativa más próxima posible

imagecolorresolve
imagecolorset
Funciones de GD e Imágenes
PHP Manual

imagecolorresolvealpha

(PHP 4 >= 4.0.6, PHP 5)

imagecolorresolvealpha — Obtener el índice del color + alpha especificado o su alternativa más próxima posible

Descripción

int imagecolorresolvealpha ( resource $image , int $red , int $green , int $blue , int $alpha )

Está función garantiza la devolución de un índice de color para un color requerido, el color exacto o la alternativa más próxima posible.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

red

Valor del componente rojo.

green

Valor del componente verde.

blue

Valor del componente azul.

alpha

Un valor entre 0 y 127. 0 indica completamente opaco mientras que 127 indica completamente transparente.

Los parámetros de colores son enteros entre 0 y 255 o hexadecimales entre 0x00 y 0xFF.

Valores devueltos

Devuelve un índice de color.

Ejemplos

Ejemplo #1 Usar imagecoloresolvealpha() para obtener colores de una imagen

<?php
// Cargar la imagen
$im = imagecreatefromgif('phplogo.gif');

// Obtener los colores más próximos de la imagen
$colores = array();
$colores[] = imagecolorresolvealpha($im, 255, 255, 255, 0);
$colores[] = imagecolorresolvealpha($im, 0, 0, 200, 127);

// Imprimir
print_r($colores);

imagedestroy($im);
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => 89
    [1] => 85
)

Notas

Nota: Esta función require GD 2.0.1 o superior (se recomienda 2.0.28 o superior).

Ver también

  • imagecolorclosestalpha() - Obtener el índice del color más próximo al color + alpha especificado

imagecolorresolve
imagecolorset
Funciones de GD e Imágenes


Establecer el color para el índice de paleta especificada

imagecolorresolvealpha
imagecolorsforindex
Funciones de GD e Imágenes
PHP Manual

imagecolorset

(PHP 4, PHP 5)

imagecolorset — Establecer el color para el índice de paleta especificada

Descripción

void imagecolorset ( resource $image , int $index , int $red , int $green , int $blue [, int $alpha = 0 ] )

Establece el índice especificado en la paleta para el color especificado. Esto es útil para crear efectos parecidos al relleno en imágenes con paleta sin el overhead de la ejecución del relleno actual.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

index

Un índice en la paleta.

red

Valor del componente rojo.

green

Valor del componente verde.

blue

Valor del componente azul.

alpha

Valor del componente alfa.

Valores devueltos

No devuelve ningún valor.

Historial de cambios

Versión | Descripción
5.4.0 | Se añadió el parámetro alpha.

Ejemplos

Ejemplo #1 Ejemplo de imagecolorset()

<?php
// Crear una imagen de 300x100
$im = imagecreate(300, 100);

// Establecer el fondo a rojo
imagecolorallocate($im, 255, 0, 0);

// Obtener el índice de color del fondo
$fondo = imagecolorat($im, 0, 0);

// Establecer el fondo a azul
imagecolorset($im, $fondo, 0, 0, 255);

// Imprimir la imagen en el navegador
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>

Ver también

  • imagecolorat() - Obtener el índice del color de un píxel

imagecolorresolvealpha
imagecolorsforindex
Funciones de GD e Imágenes


Obtener los colores de un índice

imagecolorset
imagecolorstotal
Funciones de GD e Imágenes
PHP Manual

imagecolorsforindex

(PHP 4, PHP 5)

imagecolorsforindex — Obtener los colores de un índice

Descripción

array imagecolorsforindex ( resource $image , int $index )

Obtiene los colores de un índice especificado.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

index

El índice de color.

Valores devueltos

Devuelve una matriz asociativa con las claves red, green, blue y alpha que contienen los valores apropiados del índice de color especificado.

Ejemplos

Ejemplo #1 Ejemplo de imagecolorsforindex()

<?php

// abrir una imagen
$im = imagecreatefrompng('nexen.png');

// obtener un color
$inicio_x = 40;
$inicio_y = 50;
$índice_color = imagecolorat($im, $inicio_x, $inicio_y);

// hacerlo legible para humanos
$color_tran = imagecolorsforindex($im, $índice_color);

// ¿qué es?
print_r($color_tran);

?>

El resultado del ejemplo sería algo similar a:

Array
(
   [red] => 226
   [green] => 222
   [blue] => 252
   [alpha] => 0
)

Ver también

  • imagecolorat() - Obtener el índice del color de un píxel
  • imagecolorexact() - Obtener el índice del color especificado

imagecolorset
imagecolorstotal
Funciones de GD e Imágenes


Averiguar el número de colores de la paleta de una imagen

imagecolorsforindex
imagecolortransparent
Funciones de GD e Imágenes
PHP Manual

imagecolorstotal

(PHP 4, PHP 5)

imagecolorstotal — Averiguar el número de colores de la paleta de una imagen

Descripción

int imagecolorstotal ( resource $image )

Devuelve el número de colores de la paleta de una imagen.

Parámetros

image

Un recurso de imagen, devuelto por una de las funciones de creación de imágenes, como imagecreatefromgif().

Valores devueltos

Devuelve el número de colores de la paleta de la imagen especificada o 0 para imágenes de color verdadero.

Ejemplos

Ejemplo #1 Obtener el número total de colores de una imagen usando imagecolorstotal()

<?php
// Crear una instancia de una imagen
$im = imagecreatefromgif('php.gif');

echo 'Total de colores en la imagen: ' . imagecolorstotal($im);

// Liberar memoria
imagedestroy($im);
?>

El resultado del ejemplo sería algo similar a:

Total colors in image: 128

Ver también

  • imagecolorat() - Obtener el índice del color de un píxel
  • imagecolorsforindex() - Obtener los colores de un índice
  • imageistruecolor() - Averiguar si una imagen es de color verdadero

imagecolorsforindex
imagecolortransparent
Funciones de GD e Imágenes


Definir un color como transparente

imagecolorstotal
imageconvolution
Funciones de GD e Imágenes
PHP Manual

imagecolortransparent

(PHP 4, PHP 5)

imagecolortransparent — Definir un color como transparente

Descripción

int imagecolortransparent ( resource $image [, int $color ] )

Establece el color transparente en image.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

color

Un identificador de color creado con imagecolorallocate().

Valores devueltos

El identificador del nuevo (o actual, si no se especificó nada) color transparente es devuelto. Si color no se especifica y la imagen no tiene color transparente, el identificador devuelto será -1.

Ejemplos

Ejemplo #1 Ejemplo de imagecolortransparent()

<?php
// Crear una imagen de 55x30
$im = imagecreatetruecolor(55, 30);
$rojo = imagecolorallocate($im, 255, 0, 0);
$negro = imagecolorallocate($im, 0, 0, 0);

// Hacer el fondo transparente
imagecolortransparent($im, $negro);

// Dibujar un rectángulo rojo
imagefilledrectangle($im, 4, 4, 50, 25, $rojo);

// Guardar la imagen
imagepng($im, './imagecolortransparent.png');
imagedestroy($im);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : imagecolortransparent()

Notas

Nota:

La transpariencia se copia sólo con imagecopymerge() y con imágenes de color verdadero, no con imagecopy() o con imágenes de paleta.

Nota:

El color transparente es una propiedad de la imagen, la transparencia no es una propiedad del color. Una vez que se ha establecido un color a color transparente, cualquier región de la imagen en ese color que se haya dibujado previamente será transparente.

imagecolorstotal
imageconvolution
Funciones de GD e Imágenes


Aplicar una matriz de convolución de 3x3, usando coeficiente e índice

imagecolortransparent
imagecopy
Funciones de GD e Imágenes
PHP Manual

imageconvolution

(PHP 5 >= 5.1.0)

imageconvolution — Aplicar una matriz de convolución de 3x3, usando coeficiente e índice

Descripción

bool imageconvolution ( resource $image , array $matrix , float $div , float $offset )

Aplica una matriz de convolución a la imagen, usando el coeficiente y el índice dados.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

matrix

Una matriz de 3x3: una matriz de tres matrices de tres valores float.

div

El divisor del resultado de la convolución, usado para normalización.

offset

Índice de color.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Poner en relieve el logotipo de PHP.net

<?php
$imagen = imagecreatefromgif('http://www.php.net/images/php.gif');

$relieve = array(array(2, 0, 0), array(0, -1, 0), array(0, 0, -1));
imageconvolution($imagen, $relieve, 1, 127);

header('Content-Type: image/png');
imagepng($imagen, null, 9);
?>

El resultado del ejemplo sería:

Salida del ejemplo : Poner en relieve el logotipo de PHP.net

Ejemplo #2 Borrosidad gaussiana

<?php
$imagen = imagecreatetruecolor(180,40);

// Escribe el texto y aplica una borrosidad gaussiana a la imagen
imagestring($imagen, 5, 10, 8, 'Gaussian Blur Text', 0x00ff00);
$gaussiana = array(array(1.0, 2.0, 1.0), array(2.0, 4.0, 2.0), array(1.0, 2.0, 1.0));
imageconvolution($imagen, $gaussiana, 16, 0);

// Reescribe el texto para compararlo
imagestring($imagen, 5, 10, 18, 'Gaussian Blur Text', 0x00ff00);

header('Content-Type: image/png');
imagepng($imagen, null, 9);
?>

El resultado del ejemplo sería:

Salida del ejemplo : Borrosidad gaussiana

Notas

Nota: Esta función sólo está disponible si PHP fue compilado con la versión incluida de GD library.

Ver también

  • imagefilter() - Aplica un filtro a una imagen

imagecolortransparent
imagecopy
Funciones de GD e Imágenes


Copiar parte de una imagen

imageconvolution
imagecopymerge
Funciones de GD e Imágenes
PHP Manual

imagecopy

(PHP 4, PHP 5)

imagecopy — Copiar parte de una imagen

Descripción

bool imagecopy ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h )

Copia una parte de src_im en dst_im comenzando en las coodenadas x,y src_x, src_y con un ancho de src_w y un alto de src_h. La porción definida será copiada en las coordenadas x,y dst_x y dst_y.

Parámetros

dst_im

Recurso de tipo enlace a la imagen de destino.

src_im

Recurso de tipo enlace a la imagen original.

dst_x

Coordenada x del punto de destino.

dst_y

Coordenada y del punto de destino.

src_x

Coordenada x del punto de origen.

src_y

Coordenada y del punto de origen.

src_w

Ancho original.

src_h

Altura original.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Recortar el logotipo de PHP.net

<?php
// Crear instancias de imágenes
$origen = imagecreatefromgif('php.gif');
$destino = imagecreatetruecolor(80, 40);

// Copiar
imagecopy($destino, $origen, 0, 0, 20, 13, 80, 40);

// Imprimir y liberar memoria
header('Content-Type: image/gif');
imagegif($destino);

imagedestroy($destino);
imagedestroy($origen);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : Recortar el logotipo de PHP.net

imageconvolution
imagecopymerge
Funciones de GD e Imágenes


Copiar y fusionar parte de una imagen

imagecopy
imagecopymergegray
Funciones de GD e Imágenes
PHP Manual

imagecopymerge

(PHP 4 >= 4.0.1, PHP 5)

imagecopymerge — Copiar y fusionar parte de una imagen

Descripción

bool imagecopymerge ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct )

Copia una parte de src_im en dst_im comenzando en las coodenadas x,y src_x, src_y con un ancho de src_w y un alto de src_h. La porción definida será copiada en las coordenadas x,y dst_x y dst_y.

Parámetros

dst_im

Recurso de tipo enlace a la imagen de destino.

src_im

Recurso de tipo enlace a la imagen original.

dst_x

Coordenada x del punto de destino.

dst_y

Coordenada y del punto de destino.

src_x

Coordenada x del punto de origen.

src_y

Coordenada y del punto de origen.

src_w

Ancho original.

src_h

Altura original.

pct

Las dos imágenes serán fusionadas según pct, cuyo valor puede estar entre 0 y 100. Cuando pct = 0, no se realiza ninguna acción; cuando es 100, esta función se comportará de forma idéntica a imagecopy() para imágenes de paleta, excepto para ignorar componentes alfa, mientras que implementa transparencia alfa para imágenes de color verdadero.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Fusionar dos copias del logotipo de PHP.net con 75% de transparencia

<?php
// Crear instancias de imágenes
$destino = imagecreatefromgif('php.gif');
$origen = imagecreatefromgif('php.gif');

// Copiar y fusionar
imagecopymerge($destino, $origen, 10, 10, 0, 0, 100, 47, 75);

// Imprimir y liberar memoria
header('Content-Type: image/gif');
imagegif($destino);

imagedestroy($destino);
imagedestroy($origen);
?>

imagecopy
imagecopymergegray
Funciones de GD e Imágenes


Copiar y fusionar parte de una imagen con escala de grises

imagecopymerge
imagecopyresampled
Funciones de GD e Imágenes
PHP Manual

imagecopymergegray

(PHP 4 >= 4.0.6, PHP 5)

imagecopymergegray — Copiar y fusionar parte de una imagen con escala de grises

Descripción

bool imagecopymergegray ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct )

imagecopymergegray() copia una parte de src_im en dst_im comenzando en las coodenadas x,y src_x, src_y con un ancho de src_w y un alto de src_h. La porción definida será copiada en las coordenadas x,y dst_x y dst_y.

Esta función es idéntica a imagecopymerge() excepto que en la fusión preserva el tono del origen convirtiendo los píxeles de destino en escala de grises antes de la operación de copia.

Parámetros

dst_im

Recurso de tipo enlace a la imagen de destino.

src_im

Recurso de tipo enlace a la imagen original.

dst_x

Coordenada x del punto de destino.

dst_y

Coordenada y del punto de destino.

src_x

Coordenada x del punto de origen.

src_y

Coordenada y del punto de origen.

src_w

Ancho original.

src_h

Altura original.

pct

src_im será cambiado a escala de grises según pct, donde 0 es totalmente escala de grises y 100 es sin cambios. Cuando pct = 100 esta función se comporta de forma idéntica a imagecopy() para imágenes de paleta, excepto para ignorar componentes alfa, mientras que implementa transparencia alfa para imágenes de color verdadero.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Uso de imagecopymergegray()

<?php
// Crear instancias de imágenes
$destino = imagecreatefromgif('php.gif');
$origen = imagecreatefromgif('php.gif');

// Copiar y fusionar - Gris = 20%
imagecopymergegray($destino, $origen, 10, 10, 0, 0, 100, 47, 20);

// Imprimir y liberar memoria
header('Content-Type: image/gif');
imagegif($destino);

imagedestroy($destino);
imagedestroy($origen);
?>

imagecopymerge
imagecopyresampled
Funciones de GD e Imágenes


Copia y cambia el tamaño de parte de una imagen redimensionándola

imagecopymergegray
imagecopyresized
Funciones de GD e Imágenes
PHP Manual

imagecopyresampled

(PHP 4 >= 4.0.6, PHP 5)

imagecopyresampled — Copia y cambia el tamaño de parte de una imagen redimensionándola

Descripción

bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )

imagecopyresampled() copia una porción rectangular de una imagen a otra imagen, interpolando de manera suave los valores de los píxeles por lo que, particularmete, al reducir el tamaño de una imagen, ésta todavía conserva mucha nitidez.

En otras palabras, imagecopyresampled() tomará un área rectangular de src_image de ancho src_w y alto src_h en la posición (src_x,src_y) y la coloca en un área rectangular de dst_image de ancho dst_w y alto dst_h en la posición (dst_x,dst_y).

Si las coordenadas del origen y destino y los anchos y altos difieren, se llevará a cabo la ampliación o reducción del fragmento de la imagen. Las coodernadas se refiren a la esquina superior izquierda. Esta función se puede usar para copiar regiones dentro de la misma imagen (si dst_image es el mismo que src_image) pero si las regiones se solapan el resultado será impredecible.

Parámetros

dst_image

Recurso de tipo enlace a la imagen de destino.

src_image

Recurso de tipo enlace a la imagen original.

dst_x

Coordenada x del punto de destino.

dst_y

Coordenada y del punto de destino.

src_x

Coordenada x del punto de origen.

src_y

Coordenada y del punto de origen.

dst_w

Ancho del destino.

dst_h

Alto del destino.

src_w

Ancho original.

src_h

Altura original.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo sencillo

Este ejemplo redimensionará una imagen a la mitad de su tamaño original.

<?php
// El archivo
$nombre_archivo = 'prueba.jpg';
$porcentaje = 0.5;

// Tipo de contenido
header('Content-Type: image/jpeg');

// Obtener nuevas dimensiones
list($ancho, $alto) = getimagesize($nombre_archivo);
$nuevo_ancho = $ancho * $porcentaje;
$nuevo_alto = $alto * $porcentaje;

// Redimensionar
$imagen_p = imagecreatetruecolor($nuevo_ancho, $nuevo_alto);
$imagen = imagecreatefromjpeg($nombre_archivo);
imagecopyresampled($imagen_p, $imagen, 0, 0, 0, 0, $nuevo_ancho, $nuevo_alto, $ancho, $alto);

// Imprimir
imagejpeg($imagen_p, null, 100);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : Ejemplo sencillo

Ejemplo #2 Redimensionar una imagen proporcionalmente

Este ejemplo mostrará una imagen con el ancho, o alto, máximo de 200 píxeles.

<?php
// El archivo
$nombre_archivo = 'prueba.jpg';

// Establecer un ancho y alto máximo
$ancho = 200;
$alto = 200;

// Tipo de contenido
header('Content-Type: image/jpeg');

// Obtener las nuevas dimensiones
list($ancho_orig, $alto_orig) = getimagesize($nombre_archivo);

$ratio_orig = $ancho_orig/$alto_orig;

if ($ancho/$alto > $ratio_orig) {
   $ancho = $alto*$ratio_orig;
} else {
   $alto = $ancho/$ratio_orig;
}

// Redimensionar
$image_p = imagecreatetruecolor($ancho, $alto);
$image = imagecreatefromjpeg($nombre_archivo);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $ancho, $alto, $ancho_orig, $alto_orig);

// Imprimir
imagejpeg($image_p, null, 100);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : Redimensionar una imagen proporcionalmente

Notas

Nota:

Hay un problema debido a las limitaciones de la imagen de paleta (255+1 colores). Redimensionar o filtrar una imagen normalmente necesita más de 255 colores, se usa un tipo de aproximación para calcular el nuevo píxel redimensionado y su color. Con una imagen de paleta tratamos de asignar un color nuevo, si falló, escogemos el color computado más próximo (en teoría). Éste no es siempre el color visual más próximo. Puede producir un resultado extraño, como imágenes en blaco (o visualmente en blaco). Para saltarse este problema, por favor use una imagen de color verdadero como imagen de destino, como una creada por imagecreatetruecolor().

Ver también

imagecopyresized() - Copia y cambia el tamaño de parte de una imagen

imagecopymergegray
imagecopyresized
Funciones de GD e Imágenes


Copia y cambia el tamaño de parte de una imagen

imagecopyresampled
imagecreate
Funciones de GD e Imágenes
PHP Manual

imagecopyresized

(PHP 4, PHP 5)

imagecopyresized — Copia y cambia el tamaño de parte de una imagen

Descripción

bool imagecopyresized ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )

imagecopyresized() copia una porción de una imagen a otra imagen. dst_image es la imagen de destino, src_image es el identificador de la imagen de origen.

En otras palabras, imagecopyresized() tomará un área rectangular de src_image de ancho src_w y alto src_h en la posición (src_x,src_y) y la coloca en un área rectangular de dst_image de ancho dst_w y alto dst_h en la posición (dst_x,dst_y).

Si las coordenadas del origen y destino y los anchos y altos difieren, se llevará a cabo la ampliación o reducción del fragmento de la imagen. Las coodernadas se refiren a la esquina superior izquierda. Esta función se puede usar para copiar regiones dentro de la misma imagen (si dst_image es el mismo que src_image) pero si las regiones se solapan el resultado será impredecible.

Parámetros

dst_image

Recurso de tipo enlace a la imagen de destino.

src_image

Recurso de tipo enlace a la imagen original.

dst_x

Coordenada x del punto de destino.

dst_y

Coordenada y del punto de destino.

src_x

Coordenada x del punto de origen.

src_y

Coordenada y del punto de origen.

dst_w

Ancho del destino.

dst_h

Alto del destino.

src_w

Ancho original.

src_h

Altura original.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Cambiar el tamaño de una imagen

Este ejemplo mostrará la imagen a mitad de tamaño.

<?php
// Archivo y nuevo tamaño
$nombre_archivo = 'prueba.jpg';
$porcentaje = 0.5;

// Tipo de contenido
header('Content-Type: image/jpeg');

// Obtener nuevos tamaños
list($ancho, $alto) = getimagesize($nombre_archivo);
$nuevo_ancho = $ancho * $porcentaje;
$nuevo_alto = $alto * $porcentaje;

// Carcgar
$thumb = imagecreatetruecolor($nuevo_ancho, $nuevo_alto);
$origen = imagecreatefromjpeg($nombre_archivo);

// Cambiar el tamaño
imagecopyresized($thumb, $origen, 0, 0, 0, 0, $nuevo_ancho, $nuevo_alto, $ancho, $alto);

// Imprimir
imagejpeg($thumb);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : Cambiar el tamaño de una imagen

La imagen se imprimirá a mitad de tamaño, aunque se puede obtener una mejor calidad usando imagecopyresampled().

Notas

Nota:

Hay un problema debido a las limitaciones de la imagen de paleta (255+1 colores). Redimensionar o filtrar una imagen normalmente necesita más de 255 colores, se usa un tipo de aproximación para calcular el nuevo píxel redimensionado y su color. Con una imagen de paleta tratamos de asignar un color nuevo, si falló, escogemos el color computado más próximo (en teoría). Éste no es siempre el color visual más próximo. Puede producir un resultado extraño, como imágenes en blaco (o visualmente en blaco). Para saltarse este problema, por favor use una imagen de color verdadero como imagen de destino, como una creada por imagecreatetruecolor().

Ver también

imagecopyresampled() - Copia y cambia el tamaño de parte de una imagen redimensionándola

imagecopyresampled
imagecreate
Funciones de GD e Imágenes


Crea una nueva imagen basada en paleta

imagecopyresized
imagecreatefromgd2
Funciones de GD e Imágenes
PHP Manual

imagecreate

(PHP 4, PHP 5)

imagecreate — Crea una nueva imagen basada en paleta

Descripción

resource imagecreate ( int $width , int $height )

imagecreate() devuelve un identificador de imagen que representa una imagen en blanco del tamaño especificado.

En general, se recomienda el uso de imagecreatetruecolor() en lugar de imagecreate() para que el procesamiento de la imagen suceda con la mayor calidad de imagen posible. Si se quiere generar una imagen de paleta, imagetruecolortopalette() debería ser invocada inmediatamente antes de guardar la imagen con imagepng() o imagegif().

Parámetros

width

El ancho de la imagen.

height

El alto de la imagen.

Valores devueltos

En caso de éxito, devuelve un identificador de recurso de imagen, y FALSE en caso de error.

Ejemplos

Ejemplo #1 Crear un nuevo flujo de imagen GD e imprimir una imagen.

<?php
header("Content-Type: image/png");
$im = @imagecreate(110, 20)
    or die("Cannot Initialize new GD image stream");
$color_fondo = imagecolorallocate($im, 0, 0, 0);
$color_texto = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  "A Simple Text String", $color_texto);
imagepng($im);
imagedestroy($im);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : Crear un nuevo flujo de imagen GD e imprimir una imagen.

Ver también

  • imagedestroy() - Destruir una imagen
  • imagecreatetruecolor() - Crear una nueva imagen de color verdadero

imagecopyresized
imagecreatefromgd2
Funciones de GD e Imágenes


Crear una imagen nueva desde un archivo GD2 o una URL

imagecreate
imagecreatefromgd2part
Funciones de GD e Imágenes
PHP Manual

imagecreatefromgd2

(PHP 4 >= 4.0.7, PHP 5)

imagecreatefromgd2 — Crear una imagen nueva desde un archivo GD2 o una URL

Descripción

resource imagecreatefromgd2 ( string $filename )

Crea una imagen nueva desde un archivo GD2 o una URL.

Sugerencia

Se puede usar una dirección URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más información de como especificar el nombre de fichero. Consulte Protocolos y Envolturas soportados para ver enlaces con información sobre las diferentes habilidades que los wrappers tienen, notas de uso e información de cualquier variables predefinidas que pueden usarse.

Parámetros

filename

Ruta a la imagen GD2.

Valores devueltos

En caso de éxito, devuelve un identificador de recurso de imagen, y FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imagecreatefromgd2()

<?php
// Cargar la imagen gd2
$im = imagecreatefromgd2('./prueba.gd2');

// Aplicar un efecto sobre la imagen, en este
// caso poner en negativo la imagen si PHP 5+
if(function_exists('imagefilter'))
{
    imagefilter($im, IMG_FILTER_NEGATE);
}

// Guardar la imagen
imagegd2($im, './prueba_actualizada.gd2');
imagedestroy($im);
?>

Notas

Nota: Esta función require GD 2.0.1 o superior (se recomienda 2.0.28 o superior).

Advertencia

Versiones de PHP para Windows anteriores a 4.3.0, no soportan el acceso remoto a archivos para esta función, no funcionará ni activando siquiera allow_url_fopen.

imagecreate
imagecreatefromgd2part
Funciones de GD e Imágenes


Crear una nueva imagen desde una parte dada de un archivo GD2 o una URL

imagecreatefromgd2
imagecreatefromgd
Funciones de GD e Imágenes
PHP Manual

imagecreatefromgd2part

(PHP 4 >= 4.0.7, PHP 5)

imagecreatefromgd2part — Crear una nueva imagen desde una parte dada de un archivo GD2 o una URL

Descripción

resource imagecreatefromgd2part ( string $filename , int $srcX , int $srcY , int $width , int $height )

Crea una nueva imagen desde una parte dada de un archivo GD2 o una URL.

Sugerencia

Se puede usar una dirección URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más información de como especificar el nombre de fichero. Consulte Protocolos y Envolturas soportados para ver enlaces con información sobre las diferentes habilidades que los wrappers tienen, notas de uso e información de cualquier variables predefinidas que pueden usarse.

Parámetros

filename

Ruta a la imagen GD2.

srcX

Coordenada x del punto de origen.

srcY

Coordenada y del punto de origen.

width

Ancho original.

height

Altura original.

Valores devueltos

En caso de éxito, devuelve un identificador de recurso de imagen, y FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imagecreatefromgd2part()

<?php
// Para este ejemplo necesitamos el tamaño de la imagen antes
$imagen = getimagesize('./prueba.gd2');

// Crear la instancia de imagen, ahora obtenemos el tamaño de la
// imagen
$im = imagecreatefromgd2part('./prueba.gd2', 4, 4, ($imagen[0] / 2) - 6, ($imagen[1] / 2) - 6);

// Hacer una operación con la imagen, en este caso pondremos la imagen
// en relieve si PHP 5+
if(function_exists('imagefilter'))
{
    imagefilter($im, IMG_FILTER_EMBOSS);
}

// Guardar la imagen optimizada
imagegd2($im, './prueba_relieve.gd2');
imagedestroy($im);
?>

Notas

Nota: Esta función require GD 2.0.1 o superior (se recomienda 2.0.28 o superior).

Advertencia

Versiones de PHP para Windows anteriores a 4.3.0, no soportan el acceso remoto a archivos para esta función, no funcionará ni activando siquiera allow_url_fopen.

imagecreatefromgd2
imagecreatefromgd
Funciones de GD e Imágenes


Crear una imagen nueva desde un archivo GD o una URL

imagecreatefromgd2part
imagecreatefromgif
Funciones de GD e Imágenes
PHP Manual

imagecreatefromgd

(PHP 4 >= 4.0.7, PHP 5)

imagecreatefromgd — Crear una imagen nueva desde un archivo GD o una URL

Descripción

resource imagecreatefromgd ( string $filename )

Crear una imagen nueva desde un archivo GD o una URL.

Sugerencia

Se puede usar una dirección URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más información de como especificar el nombre de fichero. Consulte Protocolos y Envolturas soportados para ver enlaces con información sobre las diferentes habilidades que los wrappers tienen, notas de uso e información de cualquier variables predefinidas que pueden usarse.

Parámetros

filename

Ruta al archivo GD.

Valores devueltos

En caso de éxito, devuelve un identificador de recurso de imagen, y FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imagecreatefromgd()

<?php
// Cargar la imagen gd
$im = @imagecreatefromgd('./prueba.gd');

// Comprobar si la imagen fue cargada
if(!is_resource($im))
{
     die('¡No se puede cargar la imagen gd!');
}

// Hacer operaciones con la imagen aquí

// Guardar la imagen
imagegd($im, './prueba_actualizada.gd');
imagedestroy($im);
?>

Notas

Advertencia

Versiones de PHP para Windows anteriores a 4.3.0, no soportan el acceso remoto a archivos para esta función, no funcionará ni activando siquiera allow_url_fopen.

imagecreatefromgd2part
imagecreatefromgif
Funciones de GD e Imágenes


Crea una nueva imagen a partir de un fichero o de una URL

imagecreatefromgd
imagecreatefromjpeg
Funciones de GD e Imágenes
PHP Manual

imagecreatefromgif

(PHP 4, PHP 5)

imagecreatefromgif — Crea una nueva imagen a partir de un fichero o de una URL

Descripción

resource imagecreatefromgif ( string $filename )

imagecreatefromgif() devuelve un identificador de imagen que representa la imagen obtenida desde el nombre de archivo dado.

Sugerencia

Se puede usar una dirección URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más información de como especificar el nombre de fichero. Consulte Protocolos y Envolturas soportados para ver enlaces con información sobre las diferentes habilidades que los wrappers tienen, notas de uso e información de cualquier variables predefinidas que pueden usarse.

Parámetros

filename

Ruta de la imagen GIF.

Valores devueltos

En caso de éxito, devuelve un identificador de recurso de imagen, y FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de manejar un error durante la carga de un GIF

<?php
function CargarGif($imagen)
{
    /* Intentar abrir */
    $im = @imagecreatefromgif($imagen);

    /* Ver si falló */
    if(!$im)
    {
        /* Crear una imagen en blanco */
        $im = imagecreatetruecolor (150, 30);
        $fondo = imagecolorallocate ($im, 255, 255, 255);
        $ct = imagecolorallocate ($im, 0, 0, 0);

        imagefilledrectangle ($im, 0, 0, 150, 30, $fondo);

        /* Imprimir un mensaje de error */
        imagestring ($im, 1, 5, 5, 'Error cargando ' . $imagen, $ct);
    }

    return $im;
}

header('Content-Type: image/gif');

$img = CargarGif('falso.image');

imagegif($img);
imagedestroy($img);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : Ejemplo de manejar un error durante la carga de un GIF

Notas

Nota:

El soporte para GIF se eliminó de la biblioteca GD en la Versión 1.6, y se volvió a añdir en la Versión 2.0.28. Esta función no está disponible entre estas versiones.

Nota:

Al leer ficheros GIF animados desde memoria, solamente es devuelto el primer fotograma de la imagen al puntero de recurso.

Advertencia

Versiones de PHP para Windows anteriores a 4.3.0, no soportan el acceso remoto a archivos para esta función, no funcionará ni activando siquiera allow_url_fopen.

imagecreatefromgd
imagecreatefromjpeg
Funciones de GD e Imágenes


Crea una nueva imagen a partir de un fichero o de una URL

imagecreatefromgif
imagecreatefrompng
Funciones de GD e Imágenes
PHP Manual

imagecreatefromjpeg

(PHP 4, PHP 5)

imagecreatefromjpeg — Crea una nueva imagen a partir de un fichero o de una URL

Descripción

resource imagecreatefromjpeg ( string $filename )

imagecreatefromjpeg() devuelve un identificador de imagen que representa la imagen obtenida desde el nombre de archivo dado.

Sugerencia

Se puede usar una dirección URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más información de como especificar el nombre de fichero. Consulte Protocolos y Envolturas soportados para ver enlaces con información sobre las diferentes habilidades que los wrappers tienen, notas de uso e información de cualquier variables predefinidas que pueden usarse.

Parámetros

filename

Ruta de la imagen JPEG.

Valores devueltos

En caso de éxito, devuelve un identificador de recurso de imagen, y FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de manejar un error durante la carga de un JPEG

<?php
function CargarJpeg($imagen)
{
    /* Intentar abrir */
    $im = @imagecreatefromjpeg($imagen);

    /* Ver si falló */
    if(!$im)
    {
        /* Crear una imagen en blanco */
        $im  = imagecreatetruecolor(150, 30);
        $fondo = imagecolorallocate($im, 255, 255, 255);
        $ct  = imagecolorallocate($im, 0, 0, 0);

        imagefilledrectangle($im, 0, 0, 150, 30, $fondo);

        /* Imprimir un mensaje de error */
        imagestring($im, 1, 5, 5, 'Error cargando ' . $imagen, $ct);
    }

    return $im;
}

header('Content-Type: image/jpeg');

$img = CargarJpeg('falso.image');

imagejpeg($img);
imagedestroy($img);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : Ejemplo de manejar un error durante la carga de un JPEG

Notas

Nota: El soporte de JPEG sólo está disponible si PHP fue compilado con GD-1.8 o superior.

Advertencia

Versiones de PHP para Windows anteriores a 4.3.0, no soportan el acceso remoto a archivos para esta función, no funcionará ni activando siquiera allow_url_fopen.

imagecreatefromgif
imagecreatefrompng
Funciones de GD e Imágenes


Crea una nueva imagen a partir de un fichero o de una URL

imagecreatefromjpeg
imagecreatefromstring
Funciones de GD e Imágenes
PHP Manual

imagecreatefrompng

(PHP 4, PHP 5)

imagecreatefrompng — Crea una nueva imagen a partir de un fichero o de una URL

Descripción

resource imagecreatefrompng ( string $filename )

imagecreatefrompng() devuelve un identificador de imagen que representa la imagen obtenida desde el nombre de archivo dado.

Sugerencia

Se puede usar una dirección URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más información de como especificar el nombre de fichero. Consulte Protocolos y Envolturas soportados para ver enlaces con información sobre las diferentes habilidades que los wrappers tienen, notas de uso e información de cualquier variables predefinidas que pueden usarse.

Parámetros

filename

Ruta de la imagen PNG.

Valores devueltos

En caso de éxito, devuelve un identificador de recurso de imagen, y FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de manejar un error durante la carga de un PNG

<?php
function CargarPNG($imagen)
{
    /* Intentar abrir */
    $im = @imagecreatefrompng($imagen);

    /* Ver si falló */
    if(!$im)
    {
        /* Crear una imagen en blanco */
        $im  = imagecreatetruecolor(150, 30);
        $fondo = imagecolorallocate($im, 255, 255, 255);
        $ct  = imagecolorallocate($im, 0, 0, 0);

        imagefilledrectangle($im, 0, 0, 150, 30, $fondo);

        /* Imprimir un mensaje de error */
        imagestring($im, 1, 5, 5, 'Error cargando ' . $imagen, $ct);
    }

    return $im;
}

header('Content-Type: image/png');

$img = CargarPNG('falso.image');

imagepng($img);
imagedestroy($img);
?>

El resultado del ejemplo sería algo similar a:

Ejemplo de imagecreatefrompng()

Notas

Advertencia

Versiones de PHP para Windows anteriores a 4.3.0, no soportan el acceso remoto a archivos para esta función, no funcionará ni activando siquiera allow_url_fopen.

imagecreatefromjpeg
imagecreatefromstring
Funciones de GD e Imágenes


Crear una imagen nueva desde el flujo de imagen de la cadena

imagecreatefrompng
imagecreatefromwbmp
Funciones de GD e Imágenes
PHP Manual

imagecreatefromstring

(PHP 4 >= 4.0.4, PHP 5)

imagecreatefromstring — Crear una imagen nueva desde el flujo de imagen de la cadena

Descripción

resource imagecreatefromstring ( string $image )

imagecreatefromstring() devuelve un identificador de imagen que representa la imagen obtenida desde image. Estos tipos serán automáticamente detectados si se construye PHP para que los soporte: JPEG, PNG, GIF, WBMP y GD2.

Parámetros

image

Una cadena que contiene la información de la imagen.

Valores devueltos

Será devuelto un recurso de imagen. Se devuelve FALSE si el tipo de imagen no está soportado, la información no está en un formato reconocido, o la imagen está corrupta y no se puede cargar.

Ejemplos

Ejemplo #1 Ejemplo de imagecreatefromstring()

<?php
$data = 'iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAMAAAB/2U7WAAAABl'
       . 'BMVEUAAAD///+l2Z/dAAAASUlEQVR4XqWQUQoAIAxC2/0vXZDr'
       . 'EX4IJTRkb7lobNUStXsB0jIXIAMSsQnWlsV+wULF4Avk9fLq2r'
       . '8a5HSE35Q3eO2XP1A1wQkZSgETvDtKdQAAAABJRU5ErkJggg==';
$data = base64_decode($data);

$im = imagecreatefromstring($data);
if ($im !== false) {
    header('Content-Type: image/png');
    imagepng($im);
    imagedestroy($im);
}
else {
    echo 'Ocurrió un error.';
}
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : imagecreatefromstring()

Ver también

  • imagecreatefromjpeg() - Crea una nueva imagen a partir de un fichero o de una URL
  • imagecreatefrompng() - Crea una nueva imagen a partir de un fichero o de una URL
  • imagecreatefromgif() - Crea una nueva imagen a partir de un fichero o de una URL
  • imagecreatetruecolor() - Crear una nueva imagen de color verdadero

imagecreatefrompng
imagecreatefromwbmp
Funciones de GD e Imágenes


Crea una nueva imagen a partir de un fichero o de una URL

imagecreatefromstring
imagecreatefromwebp
Funciones de GD e Imágenes
PHP Manual

imagecreatefromwbmp

(PHP 4 >= 4.0.1, PHP 5)

imagecreatefromwbmp — Crea una nueva imagen a partir de un fichero o de una URL

Descripción

resource imagecreatefromwbmp ( string $filename )

imagecreatefromwbmp() devuelve un identificador de imagen que representa la imagen obtenida desde el nombre de archivo dado.

Sugerencia

Se puede usar una dirección URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más información de como especificar el nombre de fichero. Consulte Protocolos y Envolturas soportados para ver enlaces con información sobre las diferentes habilidades que los wrappers tienen, notas de uso e información de cualquier variables predefinidas que pueden usarse.

Parámetros

filename

Ruta de la imagen WBMP.

Valores devueltos

En caso de éxito, devuelve un identificador de recurso de imagen, y FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de manejar un error durante la carga de un WBMP

<?php
function CargarWBMP($imagen)
{
    /* Intentar abrir */
    $im = @imagecreatefromwbmp($imagen);

    /* Ver si falló */
    if(!$im)
    {
        /* Crear una imagen en blanco */
        $im  = imagecreatetruecolor(150, 30);
        $fondo = imagecolorallocate($im, 255, 255, 255);
        $ct  = imagecolorallocate($im, 0, 0, 0);

        imagefilledrectangle($im, 0, 0, 150, 30, $fondo);

        /* Imprimir un mensaje de error */
        imagestring($im, 1, 5, 5, 'Error cargando ' . $imagen, $ct);
    }

    return $im;
}

header('Content-Type: image/vnd.wap.wbmp');

$img = CargarWBMP('falso.image');

imagewbmp($img);
imagedestroy($img);
?>

Notas

Nota: El soporte de WBMP sólo está disponible si PHP fue compilado con GD-1.8 or superior.

Advertencia

Versiones de PHP para Windows anteriores a 4.3.0, no soportan el acceso remoto a archivos para esta función, no funcionará ni activando siquiera allow_url_fopen.

imagecreatefromstring
imagecreatefromwebp
Funciones de GD e Imágenes


Crea una nueva imagen a partir de un fichero o de una URL

imagecreatefromwbmp
imagecreatefromxbm
Funciones de GD e Imágenes
PHP Manual

imagecreatefromwebp

(PHP 5 >= 5.5.0)

imagecreatefromwebp — Crea una nueva imagen a partir de un fichero o de una URL

Descripción

resource imagecreatefromwebp ( string $filename )

imagecreatefromwebp() devuelve un identificador de imagen que representa la imagen obtenida desde el nombre de fichero dado.

Sugerencia

Se puede usar una dirección URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más información de como especificar el nombre de fichero. Consulte Protocolos y Envolturas soportados para ver enlaces con información sobre las diferentes habilidades que los wrappers tienen, notas de uso e información de cualquier variables predefinidas que pueden usarse.

Parámetros

filename

Ruta a la imagen WebP.

Valores devueltos

En caso de éxito, devuelve un identificador de recurso de imagen, y FALSE en caso de error.

Ejemplos

Ejemplo #1 Convertir una image WebP a una imagen jpeg usando imagecreatefromwebp()

<?php
// Load the WebP file
$im = imagecreatefromwebp('./example.webp');

// Convertirla a un fichero jpeg con la calidad al 100%
imagejpeg($im, './example.jpeg', 100);
imagedestroy($im);
?>

imagecreatefromwbmp
imagecreatefromxbm
Funciones de GD e Imágenes


Crea una nueva imagen a partir de un fichero o de una URL

imagecreatefromwebp
imagecreatefromxpm
Funciones de GD e Imágenes
PHP Manual

imagecreatefromxbm

(PHP 4 >= 4.0.1, PHP 5)

imagecreatefromxbm — Crea una nueva imagen a partir de un fichero o de una URL

Descripción

resource imagecreatefromxbm ( string $filename )

imagecreatefromxbm() devuelve un identificador de imagen que representa la imagen obtenida desde el nombre de archivo dado.

Sugerencia

Se puede usar una dirección URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más información de como especificar el nombre de fichero. Consulte Protocolos y Envolturas soportados para ver enlaces con información sobre las diferentes habilidades que los wrappers tienen, notas de uso e información de cualquier variables predefinidas que pueden usarse.

Parámetros

filename

Ruta de la imagen XBM.

Valores devueltos

En caso de éxito, devuelve un identificador de recurso de imagen, y FALSE en caso de error.

Ejemplos

Ejemplo #1 Convertir una imagen XBM en una imagen png usando imagecreatefromxbm()

<?php
// Cargar el archivo xbm
$xbm = imagecreatefromxbm('./ejemplo.xbm');

// Convertirla al archivo png
imagepng($xbm, './ejemplo.png');
imagedestroy($xbm);
?>

Notas

Advertencia

Versiones de PHP para Windows anteriores a 4.3.0, no soportan el acceso remoto a archivos para esta función, no funcionará ni activando siquiera allow_url_fopen.

imagecreatefromwebp
imagecreatefromxpm
Funciones de GD e Imágenes


Crea una nueva imagen a partir de un fichero o de una URL

imagecreatefromxbm
imagecreatetruecolor
Funciones de GD e Imágenes
PHP Manual

imagecreatefromxpm

(PHP 4 >= 4.0.1, PHP 5)

imagecreatefromxpm — Crea una nueva imagen a partir de un fichero o de una URL

Descripción

resource imagecreatefromxpm ( string $filename )

imagecreatefromxpm() devuelve un identificador de imagen que representa la imagen obtenida desde el nombre de archivo dado.

Sugerencia

Se puede usar una dirección URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más información de como especificar el nombre de fichero. Consulte Protocolos y Envolturas soportados para ver enlaces con información sobre las diferentes habilidades que los wrappers tienen, notas de uso e información de cualquier variables predefinidas que pueden usarse.

Parámetros

filename

Ruta de la imagen XPM.

Valores devueltos

En caso de éxito, devuelve un identificador de recurso de imagen, y FALSE en caso de error.

Ejemplos

Ejemplo #1 Crear una instancia de imagen usando imagecreatefromxpm()

<?php
// Comprobar el soporte para XPM
if(!(imagetypes() & IMG_XPM))
{
    die('¡No se encontró el soporte para xpm!');
}

// Crear una instancia de una imagen
$xpm = imagecreatefromxpm('./ejemplo.xpm');

// Hacer las operaciones con la imagen aquí

// PHP no tiene soporte para escribir imágenes xpm
// por lo que en este caso guardaremos la imagen como un
// archivo jpeg con el 100% de calidad
imagejpeg($xpm, './ejemplo.jpg', 100);
imagedestroy($xpm);
?>

Valores devueltos

Nota: Esta función sólo está disponible si PHP fue compilado con la versión incluida de GD library.

Nota: Esta función no está implementada en plataformas Windows.

imagecreatefromxbm
imagecreatetruecolor
Funciones de GD e Imágenes


Crear una nueva imagen de color verdadero

imagecreatefromxpm
imagecrop
Funciones de GD e Imágenes
PHP Manual

imagecreatetruecolor

(PHP 4 >= 4.0.6, PHP 5)

imagecreatetruecolor — Crear una nueva imagen de color verdadero

Descripción

resource imagecreatetruecolor ( int $width , int $height )

imagecreatetruecolor() devuelve un identificador de imagen que representa una imagen en negro del tamaño especificado.

Dependiendo de las versiones de PHP y GD esta función está definida o no. Con PHP 4.0.6 hasta 4.1.x esta función siempre existe si el módulo GD está cargado, pero al llamarla sin que GD2 esté instalado, PHP emitirá un error fatal y saldrá. Con PHP 4.2.x este comportamiento es diferente, al emitir una advertencia en vez de un error. Otras versiones sólo definen esta función, si la versión correcta de GD está instalada.

Parámetros

width

Ancho de la imgaen.

height

Alto de la imgaen.

Valores devueltos

En caso de éxito, devuelve un identificador de recurso de imagen, y FALSE en caso de error.

Ejemplos

Ejemplo #1 Crear un nuevo flujo a una imagen GD e imprimir una imagen.

<?php
header ('Content-Type: image/png');
$im = @imagecreatetruecolor(120, 20)
      or die('No se puede Iniciar el nuevo flujo a la imagen GD');
$color_texto = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $color_texto);
imagepng($im);
imagedestroy($im);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : Crear una nuevo flujo de imagen GD e imprimir una imagen.

Notas

Nota: Esta función require GD 2.0.1 o superior (se recomienda 2.0.28 o superior).

Ver también

  • imagedestroy() - Destruir una imagen
  • imagecreate() - Crea una nueva imagen basada en paleta

imagecreatefromxpm
imagecrop
Funciones de GD e Imágenes


Recorta una imagen usando las coordenadas, el tamaño, x, y, ancho y alto dados

imagecreatetruecolor
imagecropauto
Funciones de GD e Imágenes
PHP Manual

imagecrop

(PHP 5 >= 5.5.0)

imagecrop — Recorta una imagen usando las coordenadas, el tamaño, x, y, ancho y alto dados

Descripción

resource imagecrop ( resource $image , array $rect )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

rect

Array with keys "x", "y", "width" and "height".

Valores devueltos

Devuelve el recurso de la imagen recortada en caso de éxito o FALSE en caso de error.

imagecreatetruecolor
imagecropauto
Funciones de GD e Imágenes


Recorta una imagen automáticamente usando uno de los modos disponibles

imagecrop
imagedashedline
Funciones de GD e Imágenes
PHP Manual

imagecropauto

(PHP 5 >= 5.5.0)

imagecropauto — Recorta una imagen automáticamente usando uno de los modos disponibles

Descripción

resource imagecropauto ( resource $image [, int $mode = -1 [, float $threshold = .5 [, int $color = -1 ]]] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

mode

Una de las constantes IMG_CROP_*.

threshold

Usado en modo IMG_CROP_THRESHOLD.

color

Usado en modo IMG_CROP_THRESHOLD.

Valores devueltos

Devuelve el recurso de la imagen recortada en caso de éxito o FALSE en caso de error.

imagecrop
imagedashedline
Funciones de GD e Imágenes


Dibujar una línea discontinua

imagecropauto
imagedestroy
Funciones de GD e Imágenes
PHP Manual

imagedashedline

(PHP 4, PHP 5)

imagedashedline — Dibujar una línea discontinua

Descripción

bool imagedashedline ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color )

Esta función esta obsoleta. Use una combinación de imagesetstyle() y imageline() en su lugar.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

x1

Coordenada x superior izquierda.

y1

Coordenada y superior izquierda 0, 0 es la esquina superior izquierda de la imagen.

x2

Coordenada x inferior derecha.

y2

Coordenada y inferior derecha.

color

El color de relleno. Un identificador de color creado con imagecolorallocate().

Valores devueltos

Siempre devuelve true

Ejemplos

Ejemplo #1 Ejemplo de imagedashedline()

<?php
// Crear una imagen de 100x100
$im = imagecreatetruecolor(100, 100);
$blanco = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);

// Dibujar una línea discontinua vertical
imagedashedline($im, 50, 25, 50, 75, $blanco);

// Guardar la imagen
imagepng($im, './linea_dis.png');
imagedestroy($im);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : imagedashedline()

Ejemplo #2 Alternativa a imagedashedline()

<?php
// Crear una imagen de 100x100
$im = imagecreatetruecolor(100, 100);
$blanco = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);

// Definir nuestro estilo: Los primeros 4 píxeles son blancos y los
// 4 siguientes son transparentes. Esto crea el efecto de línea discontinua
$estilo = Array(
                $blanco,
                $blanco,
                $blanco,
                $blanco,
                IMG_COLOR_TRANSPARENT,
                IMG_COLOR_TRANSPARENT,
                IMG_COLOR_TRANSPARENT,
                IMG_COLOR_TRANSPARENT
                );

imagesetstyle($im, $estilo);

// Dibujar la línea discontinua
imageline($im, 50, 25, 50, 75, IMG_COLOR_STYLED);

// Guardar la imagen
imagepng($im, './imageline.png');
imagedestroy($im);
?>

Ver también

  • imagesetstyle() - Establecer el estilo para el dibujo de líneas
  • imageline() - Dibujar una línea

imagecropauto
imagedestroy
Funciones de GD e Imágenes


Destruir una imagen

imagedashedline
imageellipse
Funciones de GD e Imágenes
PHP Manual

imagedestroy

(PHP 4, PHP 5)

imagedestroy — Destruir una imagen

Descripción

bool imagedestroy ( resource $image )

imagedestroy() libera cualquier memoria asociada con la imagen image.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de uso de imagedestroy()

<?php
// crear una imagen de 100 x 100
$im = imagecreatetruecolor(100, 100);

// modificar o guardar la imagen

// liberar la imagen de la memoria
imagedestroy($im);
?>

imagedashedline
imageellipse
Funciones de GD e Imágenes


Dibujar una elipse

imagedestroy
imagefill
Funciones de GD e Imágenes
PHP Manual

imageellipse

(PHP 4 >= 4.0.6, PHP 5)

imageellipse — Dibujar una elipse

Descripción

bool imageellipse ( resource $image , int $cx , int $cy , int $width , int $height , int $color )

Dibuja una elipse con centro en las coordenadas especificadas.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

cx

Coordenada x del centro.

cy

Coordenada y del centro.

width

El ancho de la elipse.

height

El alto de la elipse.

color

El color de la elipse. Un identificador de color creado con imagecolorallocate().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imageellipse()

<?php

// Crear una imagen en blanco.
$imagen = imagecreatetruecolor(400, 300);

// Seleccionar el color de fondo.
$fondo = imagecolorallocate($imagen, 0, 0, 0);

// Rellenar el fondo con el color seleccionado arriba.
imagefill($imagen, 0, 0, $fondo);

// Escoger un color para la elipse.
$col_ellipse = imagecolorallocate($imagen, 255, 255, 255);

// Dibujar la elipse
imageellipse($imagen, 200, 150, 300, 200, $col_ellipse);

// Imprimir la imagen
header("Content-type: image/png");
imagepng($imagen);

?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : imageellipse()

Notas

Nota:

Esta función requiere GD 2.0.2 o posterior.

Ver también

  • imagefilledellipse() - Dibujar una elipse con relleno
  • imagearc() - Dibujar un arco

imagedestroy
imagefill
Funciones de GD e Imágenes


Rellenar

imageellipse
imagefilledarc
Funciones de GD e Imágenes
PHP Manual

imagefill

(PHP 4, PHP 5)

imagefill — Rellenar

Descripción

bool imagefill ( resource $image , int $x , int $y , int $color )

Lleva a cabo un relleno comenzando en la coordenada dada (superior izquierda es 0, 0), con el color dado, en image.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

x

Coordenada x del punto de inicio.

y

Coordenada y del punto de inicio.

color

El color de relleno. Un identificador de color creado con imagecolorallocate().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imagefill()

<?php

$im = imagecreatetruecolor(100, 100);

// establece el fondo a rojo
$rojo = imagecolorallocate($im, 255, 0, 0);
imagefill($im, 0, 0, $rojo);

header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : imagefill()

Ver también

  • imagecolorallocate() - Asigna un color para una imagen

imageellipse
imagefilledarc
Funciones de GD e Imágenes


Dibujar un arco parcial y rellenarlo

imagefill
imagefilledellipse
Funciones de GD e Imágenes
PHP Manual

imagefilledarc

(PHP 4 >= 4.0.6, PHP 5)

imagefilledarc — Dibujar un arco parcial y rellenarlo

Descripción

bool imagefilledarc ( resource $image , int $cx , int $cy , int $width , int $height , int $start , int $end , int $color , int $style )

Dibuja un arco parcial con centro en las coordenadas especificadas en image.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

cx

Coordenada x del centro.

cy

Coordenada y del centro

width

El ancho del arco.

height

El alto del arco.

start

El ángulo de inicio del arco, en grados.

end

El ángulo de finalización del arco, en grados. 0º esta localizado en la posición que marca la aguja horaria a las tres en punto, y el arco se dibuja en el sentido de las agujas del reloj.

color

Un identificador de color creado con imagecolorallocate().

style

Un OR a nivel de bit de las siguientes posibilidades:

  1. IMG_ARC_PIE
  2. IMG_ARC_CHORD
  3. IMG_ARC_NOFILL
  4. IMG_ARC_EDGED
IMG_ARC_PIE y IMG_ARC_CHORD son mútuamente exclusivos; IMG_ARC_CHORD conecta los ángulos de inicio y de finalización con una línea recta, mientras que IMG_ARC_PIE produce un borde redondeado. IMG_ARC_NOFILL indica que el arco o cuerda deberían estar perfilados, no rellenados. IMG_ARC_EDGED, usado junto con IMG_ARC_NOFILL, indica que los ángulos de inicio y finalización deberían estar conectados con el centro - esta es una buena manera de perfilar (en vez de rellenar) un 'trozo de tarta'.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Crear una gráfico de tarta en 3D

<?php

// crear imagen
$imagen = imagecreatetruecolor(100, 100);

// asignar algunos colores
$blanco      = imagecolorallocate($imagen, 0xFF, 0xFF, 0xFF);
$gris        = imagecolorallocate($imagen, 0xC0, 0xC0, 0xC0);
$gris_oscuro = imagecolorallocate($imagen, 0x90, 0x90, 0x90);
$azul_marino = imagecolorallocate($imagen, 0x00, 0x00, 0x80);
$azul_marino_oscuro = imagecolorallocate($imagen, 0x00, 0x00, 0x50);
$rojo        = imagecolorallocate($imagen, 0xFF, 0x00, 0x00);
$rojo_oscuro = imagecolorallocate($imagen, 0x90, 0x00, 0x00);

// hacer el efecto 3D
for ($i = 60; $i > 50; $i--) {
   imagefilledarc($imagen, 50, $i, 100, 50, 0, 45, $azul_marino_oscuro, IMG_ARC_PIE);
   imagefilledarc($imagen, 50, $i, 100, 50, 45, 75 , $gris_oscuro, IMG_ARC_PIE);
   imagefilledarc($imagen, 50, $i, 100, 50, 75, 360 , $rojo_oscuro, IMG_ARC_PIE);
}

imagefilledarc($imagen, 50, 50, 100, 50, 0, 45, $azul_marino, IMG_ARC_PIE);
imagefilledarc($imagen, 50, 50, 100, 50, 45, 75 , $gris, IMG_ARC_PIE);
imagefilledarc($imagen, 50, 50, 100, 50, 75, 360 , $rojo, IMG_ARC_PIE);

// volcar imagen
header('Content-type: image/png');
imagepng($imagen);
imagedestroy($imagen);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : Crear un gráfico de tarta en 3D

Notas

Nota: Esta función require GD 2.0.1 o superior (se recomienda 2.0.28 o superior).

imagefill
imagefilledellipse
Funciones de GD e Imágenes


Dibujar una elipse con relleno

imagefilledarc
imagefilledpolygon
Funciones de GD e Imágenes
PHP Manual

imagefilledellipse

(PHP 4 >= 4.0.6, PHP 5)

imagefilledellipse — Dibujar una elipse con relleno

Descripción

bool imagefilledellipse ( resource $image , int $cx , int $cy , int $width , int $height , int $color )

Dibuja una elipse con centro en las coordenadas especificadas en image.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

cx

Coordenada x del centro.

cy

Coordenada y del centro.

width

El ancho de la elipse.

height

El alto de la elipse.

color

El color de la elipse. Un identificador de color creado con imagecolorallocate().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imagefilledellipse()

<?php

// crear una imagen en blanco
$imagen = imagecreatetruecolor(400, 300);

// rellenar el color de fondo
$fondo = imagecolorallocate($imagen, 0, 0, 0);

// elegir un color para la elipse
$col_elipse = imagecolorallocate($imagen, 255, 255, 255);

// dibujar la elipse blanca
imagefilledellipse($imagen, 200, 150, 300, 200, $col_elipse);

// imprimir la imagen
header("Content-type: image/png");
imagepng($imagen);

?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : imagefilledellipse()

Notas

Nota: Esta función require GD 2.0.1 o superior (se recomienda 2.0.28 o superior).

Ver también

  • imageellipse() - Dibujar una elipse
  • imagefilledarc() - Dibujar un arco parcial y rellenarlo

imagefilledarc
imagefilledpolygon
Funciones de GD e Imágenes


Dibujar un polígono con relleno

imagefilledellipse
imagefilledrectangle
Funciones de GD e Imágenes
PHP Manual

imagefilledpolygon

(PHP 4, PHP 5)

imagefilledpolygon — Dibujar un polígono con relleno

Descripción

bool imagefilledpolygon ( resource $image , array $points , int $num_points , int $color )

imagefilledpolygon() crea un polígono relleno en image.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

points

Una matriz que contiene las coordenadas x e y de los vértices del polígono consecutivamente.

num_points

Número total de vértices, lo que debe ser al menos 3.

color

Un identificador de color creado con imagecolorallocate().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imagefilledpolygon()

<?php
// establecer una matriz de puntos para el polígono
$valores = array(
            40,  50,  // Point 1 (x, y)
            20,  240, // Point 2 (x, y)
            60,  60,  // Point 3 (x, y)
            240, 20,  // Point 4 (x, y)
            50,  40,  // Point 5 (x, y)
            10,  10   // Point 6 (x, y)
            );

// crear imagen
$imagen = imagecreatetruecolor(250, 250);

// asignar colores
$fondo   = imagecolorallocate($imagen, 0, 0, 0);
$azul = imagecolorallocate($imagen, 0, 0, 255);

// rellenar el fondo
imagefilledrectangle($imagen, 0, 0, 249, 249, $fondo);

// dibujar un polígono
imagefilledpolygon($imagen, $valores, 6, $azul);

// volcar imagen
header('Content-type: image/png');
imagepng($imagen);
imagedestroy($imagen);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : imagefilledpolygon()

imagefilledellipse
imagefilledrectangle
Funciones de GD e Imágenes


Dibujar un rectángulo con relleno

imagefilledpolygon
imagefilltoborder
Funciones de GD e Imágenes
PHP Manual

imagefilledrectangle

(PHP 4, PHP 5)

imagefilledrectangle — Dibujar un rectángulo con relleno

Descripción

bool imagefilledrectangle ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color )

Crea un rectángulo relleno con color en image comenzando por el punto 1 y finalizando en el punto 2. 0, 0 es la esquina superior izquierda de la imagen.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

x1

Coordenada x del punto 1.

y1

Coordenada y del punto 1.

x2

Coordenada x del punto 2.

y2

Coordenada y del punto 2.

color

El color del relleno. Un identificador de color creado con imagecolorallocate().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Uso de imagefilledrectangle()

<?php
// Crear una imagen de 55x30
$im = imagecreatetruecolor(55, 30);
$blanco = imagecolorallocate($im, 255, 255, 255);

// Dibujar un rectángulo blanco
imagefilledrectangle($im, 4, 4, 50, 25, $blanco);

// Guardar la imagen
imagepng($im, './imagefilledrectangle.png');
imagedestroy($im);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : imagefilledrectangle()

imagefilledpolygon
imagefilltoborder
Funciones de GD e Imágenes


Rellenar con un color específico

imagefilledrectangle
imagefilter
Funciones de GD e Imágenes
PHP Manual

imagefilltoborder

(PHP 4, PHP 5)

imagefilltoborder — Rellenar con un color específico

Descripción

bool imagefilltoborder ( resource $image , int $x , int $y , int $border , int $color )

imagefilltoborder() realiza un relleno cuyo color de borde está definido por border. El punto de inicio para el relleno es x, y (superior izquierda es 0, 0) y la region es rellenada con el color color.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

x

Coordenada x del inicio.

y

Coordenada y del inicio.

border

El color del borde. Un identificador de color creado con imagecolorallocate().

color

El color del relleno. Un identificador de color creado con imagecolorallocate().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Rellenar una elipse con un color

<?php
// Crear el gestor de imagen, establecer el fondo a blanco
$im = imagecreatetruecolor(100, 100);
imagefilledrectangle($im, 0, 0, 100, 100, imagecolorallocate($im, 255, 255, 255));

// Dibujar una elipse a rellenar con un borde negro
imageellipse($im, 50, 50, 50, 50, imagecolorallocate($im, 0, 0, 0));

// Establecer los colores del borde y del relleno
$borde = imagecolorallocate($im, 0, 0, 0);
$relleno = imagecolorallocate($im, 255, 0, 0);

// Rellenar la selección
imagefilltoborder($im, 50, 50, $borde, $relleno);

// Imprimir y liberar memoria
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : Rellenar una elipse con un color

imagefilledrectangle
imagefilter
Funciones de GD e Imágenes


Aplica un filtro a una imagen

imagefilltoborder
imageflip
Funciones de GD e Imágenes
PHP Manual

imagefilter

(PHP 5)

imagefilter — Aplica un filtro a una imagen

Descripción

bool imagefilter ( resource $image , int $filtertype [, int $arg1 [, int $arg2 [, int $arg3 [, int $arg4 ]]]] )

imagefilter() aplica el filtro filtertype dado sobre image.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

filtertype

filtertype puede ser uno de los siguitentes:

  • IMG_FILTER_NEGATE: Invierte todos los colores de la imagen.
  • IMG_FILTER_GRAYSCALE: Convierte la imagen en escala de grises.
  • IMG_FILTER_BRIGHTNESS: Cambia el brillo de la imagen. Use arg1 para establecer el nivel de brillo.
  • IMG_FILTER_CONTRAST: Cambia el contraste de la imagen. Use arg1 para establecer el nivel de contraste.
  • IMG_FILTER_COLORIZE: Como IMG_FILTER_GRAYSCALE, excepto que se puede especificar el color. Use arg1, arg2 y arg3 en la forma red, green, blue y arg4 para el canal alpha. El rango de cada color es de 0 a 255.
  • IMG_FILTER_EDGEDETECT: Usa detección de borde para resaltar los bordes de la imagen.
  • IMG_FILTER_EMBOSS: Pone en relieve la imagen.
  • IMG_FILTER_GAUSSIAN_BLUR: Pone borrosa la imagen usando el método Gaussiano.
  • IMG_FILTER_SELECTIVE_BLUR: Pone borrosa la imagen.
  • IMG_FILTER_MEAN_REMOVAL: Utiliza eliminación media para lograr un efecto "superficial".
  • IMG_FILTER_SMOOTH: Suaviza la imagen. Use arg1 para esteblecer el nivel de suavidad.
  • IMG_FILTER_PIXELATE: Aplica el efecto de pixelación a la imagen, use arg1 para establecer el tamaño de bloque y arg2 para establecer el modo de efecto de pixelación.

arg1

  • IMG_FILTER_BRIGHTNESS: Nivel de brillo.
  • IMG_FILTER_CONTRAST: Nivel de contraste.
  • IMG_FILTER_COLORIZE: Valor del componente rojo.
  • IMG_FILTER_SMOOTH: Nivel de suavidad.
  • IMG_FILTER_PIXELATE: Tamaño de bloque en píxeles.

arg2

  • IMG_FILTER_COLORIZE: Valor del componente verde.
  • IMG_FILTER_PIXELATE: Si usar o no el efecto de pixelación avanzado (por defecto a FALSE).

arg3

  • IMG_FILTER_COLORIZE: Valor del componente azul.

arg4

  • IMG_FILTER_COLORIZE: Canal alfa. Un valor entre 0 y 127. 0 indica completamente opaco mientras que 127 indica completamente transparente.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.3.0 | Se añadió el soporete de pixelación (IMG_FILTER_PIXELATE).
5.2.5 | Se añadió el soporte de alfa para IMG_FILTER_COLORIZE.

Ejemplos

Ejemplo #1 Ejemplo de escala de grises con imagefilter()

<?php
$im = imagecreatefrompng('dave.png');

if($im && imagefilter($im, IMG_FILTER_GRAYSCALE))
{
    echo 'Imagen convertida a escala de grises.';

    imagepng($im, 'dave.png');
}
else
{
    echo 'La conversión a escala de grises falló.';
}

imagedestroy($im);
?>

Ejemplo #2 Ejemplo de brillo con imagefilter()

<?php
$im = imagecreatefrompng('sean.png');

if($im && imagefilter($im, IMG_FILTER_BRIGHTNESS, 20))
{
    echo 'Brillo de la imagen cambiado.';

    imagepng($im, 'sean.png');
    imagedestroy($im);
}
else
{
    echo 'El cambio del brillo de la imagen falló.';
}
?>

Ejemplo #3 Ejemplo de coloración con imagefilter()

<?php
$im = imagecreatefrompng('philip.png');

/* R, G, B, así 0, 255, 0 es verde */
if($im && imagefilter($im, IMG_FILTER_COLORIZE, 0, 255, 0))
{
    echo 'Imagen sombreada a verde con éxito.';

    imagepng($im, 'philip.png');
    imagedestroy($im);
}
else
{
    echo 'El sombreado a verde falló.';
}
?>

Ejemplo #4 Ejemplo de inversión de color con imagefilter()

<?php
// Define nuestra función negativo, así es portable para
// versiones de php sin imagefilter()
function negativo($im)
{
    if(function_exists('imagefilter'))
    {
        return imagefilter($im, IMG_FILTER_NEGATE);
    }

    for($x = 0; $x < imagesx($im); ++$x)
    {
        for($y = 0; $y < imagesy($im); ++$y)
        {
            $index = imagecolorat($im, $x, $y);
            $rgb = imagecolorsforindex($index);
            $color = imagecolorallocate($im, 255 - $rgb['red'], 255 - $rgb['green'], 255 - $rgb['blue']);

            imagesetpixel($im, $x, $y, $color);
        }
    }

    return(true);
}

$im = imagecreatefromjpeg('kalle.jpg');

if($im && negativo($im))
{
    echo 'Imagen convertida a colores negativos con éxtito.';

    imagejpeg($im, 'kalle.jpg', 100);
    imagedestroy($im);
}
else
{
    echo 'La conversión a colores negativos falló.';
}
?>

Ejemplo #5 Ejemplo de pixelación con imagefilter()

<?php
// Cargar el logotipo de PHP, necesitamos crear dos instancias
// para mostrar las diferencias
$logo1 = imagecreatefrompng('./php.png');
$logo2 = imagecreatefrompng('./php.png');

// Crear la instancia de imagen que queremos para mostrar
// las diferencias
$salida = imagecreatetruecolor(imagesx($logo1) * 2, imagesy($logo1));

// Aplicar pixelación a cada instancia, con un tamaño de
// bloque de 3
imagefilter($logo1, IMG_FILTER_PIXELATE, 3);
imagefilter($logo2, IMG_FILTER_PIXELATE, 3, true);

// Fusionar las diferencias a la imagen de salida
imagecopy($salida, $logo1, 0, 0, 0, 0, imagesx($logo1) - 1, imagesy($logo1) - 1);
imagecopy($salida, $logo2, imagesx($logo2), 0, 0, 0, imagesx($logo2) - 1, imagesy($logo2) - 1);
imagedestroy($logo1);
imagedestroy($logo2);

// Imprimir las diferencias
header('Content-Type: image/png');
imagepng($salida);
imagedestroy($salida);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : Pixelación con imagefilter()

Notas

Nota: Esta función sólo está disponible si PHP fue compilado con la versión incluida de GD library.

Ver también

  • imageconvolution() - Aplicar una matriz de convolución de 3x3, usando coeficiente e índice

imagefilltoborder
imageflip
Funciones de GD e Imágenes


Flips an image using a given mode

imagefilter
imagefontheight
Funciones de GD e Imágenes
PHP Manual

imageflip

(PHP 5 >= 5.5.0)

imageflip — Flips an image using a given mode

Descripción

bool imageflip ( resource $image , int $mode )

Voltea la imagen dada por image usando el modo dado por mode.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

mode

Modo de volteo; puede ser una de las constantes IMG_FLIP_*:

Constante | Significado
IMG_FLIP_HORIZONTAL | Voltea la imagen horizontalmente.
IMG_FLIP_VERTICAL | Voltea la imagen verticalmente.
IMG_FLIP_BOTH | Voltea la imagen tanto horizontal como verticalmente.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Voltea una imagen verticalmente

Este ejemplo utiliza la constante IMG_FLIP_VERTICAL.

<?php
// Fichero
$nombre_fichero = 'phplogo.png';

// Tipo de contenido
header('Content-type: image/png');

// Cargar
$im = imagecreatefrompng($nombre_fichero);

// Voltearla verticalmente
imageflip($im, IMG_FLIP_VERTICAL);

// Imprimirla
imagejpeg($im);
imagedestroy($im);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo: Imagen volteada verticalmente

Ejemplo #2 Voltea la imagen horizontalmente

Este ejemplo utiliza la constante IMG_FLIP_HORIZONTAL.

<?php
// Fichero
$nombre_fichero = 'phplogo.png';

// Tipo de contenido
header('Content-type: image/png');

// Cargar
$im = imagecreatefrompng($nombre_fichero);

// Voltearla horizontalmente
imageflip($im, IMG_FLIP_HORIZONTAL);

// Imprimirla
imagejpeg($im);
imagedestroy($im);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo: Imagen volteada horizontalmente

Notas

Nota: Esta función sólo está disponible si PHP fue compilado con la versión incluida de GD library.

imagefilter
imagefontheight
Funciones de GD e Imágenes


Obtener el alto de la fuente

imageflip
imagefontwidth
Funciones de GD e Imágenes
PHP Manual

imagefontheight

(PHP 4, PHP 5)

imagefontheight — Obtener el alto de la fuente

Descripción

int imagefontheight ( int $font )

Devuelve el alto del píxel de un carácter de la fuente especificada.

Parámetros

font

Puede ser 1, 2, 3, 4, 5 para fuentes built-in en latin2 encoding (los números más altos corresponden a large fonts) o cualquier de sus propios identificadores de fuentes registrados con imageloadfont().

Valores devueltos

Devuelve el alto de píxel de la fuente.

Ejemplos

Ejemplo #1 Usar imagefontheight() con fuentes incorporadas

<?php
echo 'Alto de la fuente: ' . imagefontheight(4);
?>

El resultado del ejemplo sería algo similar a:

Font height: 16

Ejemplo #2 Usar imagefontheight() junto con imageloadfont()

<?php
// Cargar una fuente .gdf
$font = imageloadfont('anonymous.gdf');

echo 'Alto de la fuente: ' . imagefontheight($font);
?>

El resultado del ejemplo sería algo similar a:

Font height: 43

Ver también

  • imagefontwidth() - Obtener el ancho de la fuente
  • imageloadfont() - Cargar una nueva fuente

imageflip
imagefontwidth
Funciones de GD e Imágenes


Obtener el ancho de la fuente

imagefontheight
imageftbbox
Funciones de GD e Imágenes
PHP Manual

imagefontwidth

(PHP 4, PHP 5)

imagefontwidth — Obtener el ancho de la fuente

Descripción

int imagefontwidth ( int $font )

Devuelve el ancho del píxel de un carácter de una fuente.

Parámetros

font

Puede ser 1, 2, 3, 4, 5 para fuentes built-in en latin2 encoding (los números más altos corresponden a large fonts) o cualquier de sus propios identificadores de fuentes registrados con imageloadfont().

Valores devueltos

Devuelve el ancho de píxel de la fuente.

Ejemplos

Ejemplo #1 Usar imagefontwidth() con fuentes incorporadas

<?php
echo 'Alto de la fuente: ' . imagefontwidth(4);
?>

El resultado del ejemplo sería algo similar a:

Font width: 8

Ejemplo #2 Usar imagefontwidth() junto con imageloadfont()

<?php
// Cargar una fuente .gdf
$font = imageloadfont('anonymous.gdf');

echo 'Alto de la fuente: ' . imagefontwidth($font);
?>

El resultado del ejemplo sería algo similar a:

Font width: 23

Ver también

  • imagefontheight() - Obtener el alto de la fuente
  • imageloadfont() - Cargar una nueva fuente

imagefontheight
imageftbbox
Funciones de GD e Imágenes


Devolver la caja circundante de un texto usando fuentes mediante FreeType 2

imagefontwidth
imagefttext
Funciones de GD e Imágenes
PHP Manual

imageftbbox

(PHP 4 >= 4.0.7, PHP 5)

imageftbbox — Devolver la caja circundante de un texto usando fuentes mediante FreeType 2

Descripción

array imageftbbox ( float $size , float $angle , string $fontfile , string $text [, array $extrainfo ] )

Esta función calcula y devuelve la caja circundante en píxeles de un texto FreeType.

Parámetros

size

Tamaño de fuente. En función de la versión de GD, se especificará en pixels (GD1) o en puntos (GD2).

angle

Ángulo en grados en el que text será medido.

fontfile

El nombre de un archivo de fuente TrueType (puede ser una URL). Dependiendo de la versión de la biblioteca GD que esté usando PHP, se intentará buscar archivos que no comiencen con '/' añadiendo '.ttf' al nombre de archivo y buscando en una ruta de biblioteca definida de fuentes.

text

La cadena que va a ser medida.

extrainfo

Posibles índeces de matriz para extrainfo
Clave | Tipo | Significado
linespacing | float | Define el espacio entre líneas

Valores devueltos

imageftbbox() devuelve una matriz con 8 elementos que representan cuatro puntos que hacen la caja circundante del texto:

0 | esquina inferior izquierda, posición X
1 | esquina inferior izquierda, posición Y
2 | esquina inferior derecha, posición X
3 | esquina inferior derecha, posición Y
4 | esquina superior derecha, posición X
5 | esquina superior derecha, posición Y
6 | esquina superior izquierda, posición X
7 | esquina superior izquierda posición Y

Los puntos son relativos a text sin importar el ángulo angle, por lo que "superior izquierda" significa la esquina superior izquierda, viendo el texto horizontalmente.

Ejemplos

Ejemplo #1 Ejemplo de imageftbbox()

<?php
// Crear una imagen de 300x150
$im = imagecreatetruecolor(300, 150);
$negro = imagecolorallocate($im, 0, 0, 0);
$blanco = imagecolorallocate($im, 255, 255, 255);

// Establecer el fondo a blanco
imagefilledrectangle($im, 0, 0, 299, 299, $blanco);

// Ruta de nuestro archivo de fuente
$fuente = './arial.ttf';

// Priemero creamos nuestra caja circundante
$bbox = imageftbbox(10, 0, $fuente, 'The PHP Documentation Group');

// Estas son nuestras coordenadas para X e Y
$x = $bbox[0] + (imagesx($im) / 2) - ($bbox[4] / 2) - 5;
$y = $bbox[1] + (imagesy($im) / 2) - ($bbox[5] / 2) - 5;

imagefttext($im, 10, 0, $x, $y, $negro, $fuente, 'The PHP Documentation Group');

// Imprimir al navegador
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>

Notas

Nota: Esta función require GD 2.0.1 o superior (se recomienda 2.0.28 o superior).

Nota: Esta función sólo está disponible si PHP fue compilado con suporte de freetype (--with-freetype-dir=DIR )

Historial de cambios

Versión | Descripción
4.3.5 | Ahora extrainfo es opcional.

imagefontwidth
imagefttext
Funciones de GD e Imágenes


Escribir texto en la imagen usando fuentes mediante FreeType 2

imageftbbox
imagegammacorrect
Funciones de GD e Imágenes
PHP Manual

imagefttext

(PHP 4 >= 4.0.7, PHP 5)

imagefttext — Escribir texto en la imagen usando fuentes mediante FreeType 2

Descripción

array imagefttext ( resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text [, array $extrainfo ] )

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

size

El tamaño de la fuente que va a ser usada, en puntos.

angle

El ángulo en grados, siendo 0 grados la lectura del texto de izquierda a derecha. Valores mayores representan una rotación en sentido contrario al de las agujas del reloj. Por ejemplo, un valor de 90 resultaria en la lectura de texto de abajo a arriba.

x

Las coordenadas dadas por x e y definirán el punto de referencia del primer carácter (aproximadamente la esquina inferior izquierda del carácter). Esto es diferente de imagestring(), donde x e y definen la esquina superior izquierda del primer carácter. Por ejemplo, "superior izquierda" es 0, 0.

y

La coordenada y. Esto establece la posición de la línea base de las fuentes, no la del pie del carácter.

color

El índice del color deseado para el texto, véase imagecolorexact().

fontfile

La ruta de la fuente TrueType que se desea usar.

Dependiendo de la versión de GD que esté usando PHP, cuando fontfile no comienza con un / inicial, .ttf será añadido al nombre de archivo, y la biblioteca intentará buscar ese nombre de archivo en una ruta de biblioteca definida de fuentes.

Cuando se usan versiones de la biblioteca GD anteriores a 2.0.18, un carácter espacio, en vez de un punto y coma, es usado como el 'separador de ruta' para diferentes archivos de fuente. El uso involuntario de esta característica resultará en en el mensaje de advertencia: Warning: Could not find/open font. La única solución para estas versiones afectadas es mover la fuente a una ruta que no contenga espacios.

En muchos casos donde una fuente reside en el mismo derectorio que el script, el siguiente truco paliará cualquier problema de inclusión.

<?php
// Establecer la variable de entorno para GD
putenv('GDFONTPATH=' . realpath('.'));

// Nombrar la fuente que va ser usada (observe la ausencia de la extensión .ttf)
$fuente = 'UnaFuente';
?>

text

Texto que va a ser insertado en la imagen.

extrainfo

Posibles índeces de matriz para extrainfo
Clave | Tipo | Significado
linespacing | float | Define el espacio entre líneas

Valores devueltos

Esta función devuelve una matriz que define los cuatro puntos de la caja, comenzado por el inferior izquierdo y moviéndose en el sentido de las agujas del reloj:

0 | esquina inferior izquierda, posición X
1 | esquina inferior izquierda, posición Y
2 | esquina inferior derecha, posición X
3 | esquina inferior derecha, posición Y
4 | esquina superior derecha, posición X
5 | esquina superior derecha, posición Y
6 | esquina superior izquierda, posición X
7 | esquina superior izquierda posición Y

Ejemplos

Ejemplo #1 Ejemplo de imagefttext()

<?php
// Crear una imagen de 300x100
$im = imagecreatetruecolor(300, 100);
$rojo = imagecolorallocate($im, 0xFF, 0x00, 0x00);
$negro = imagecolorallocate($im, 0x00, 0x00, 0x00);

// Hacer el fondo rojo
imagefilledrectangle($im, 0, 0, 299, 99, $rojo);

// Ruta a nuestro archivo de fuente ttf
$archivo_fuente = './arial.ttf';

// Dibuja el texto 'PHP Manual' usando un tamaño de fuente de 13
imagefttext($im, 13, 0, 105, 55, $negro, $archivo_fuente, 'PHP Manual');

// Imprimir la imagen al navegador
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>

Notas

Nota: Esta función require GD 2.0.1 o superior (se recomienda 2.0.28 o superior).

Nota: Esta función sólo está disponible si PHP fue compilado con suporte de freetype (--with-freetype-dir=DIR )

Historial de cambios

Versión | Descripción
4.3.5 | Ahora extrainfo es opcional.

imageftbbox
imagegammacorrect
Funciones de GD e Imágenes


Aplicar una corrección gamma a la imagen GD

imagefttext
imagegd2
Funciones de GD e Imágenes
PHP Manual

imagegammacorrect

(PHP 4, PHP 5)

imagegammacorrect — Aplicar una corrección gamma a la imagen GD

Descripción

bool imagegammacorrect ( resource $image , float $inputgamma , float $outputgamma )

Aplica una corrección gamma a image, dada una entrada y una salida gamma.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

inputgamma

La entrada gamma.

outputgamma

La salida gamma.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Uso de imagegammacorrect()

<?php
// Crear una instancia de imagen
$im = imagecreatefromgif('php.gif');

// Corregir gamma, salida = 1.537
imagegammacorrect($im, 1.0, 1.537);

// Guardar y liberar memoria
imagegif($im, './php_gamma_corrected.gif');
imagedestroy($im);
?>

imagefttext
imagegd2
Funciones de GD e Imágenes


Imprime una imagen GD2 a un navegador o archivo

imagegammacorrect
imagegd
Funciones de GD e Imágenes
PHP Manual

imagegd2

(PHP 4 >= 4.0.7, PHP 5)

imagegd2 — Imprime una imagen GD2 a un navegador o archivo

Descripción

bool imagegd2 ( resource $image [, string $filename [, int $chunk_size [, int $type = IMG_GD2_RAW ]]] )

Imprime una imagen GD2 en filename.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

filename

Ruta en la que guardar el fichero. Si no se establece, o su valor es NULL, se mostrará directamente en la salida el flujo de imagen.

chunk_size

Tamaño del trozo.

type

Puede ser IMG_GD2_RAW o IMG_GD2_COMPRESSED. Por defecto es IMG_GD2_RAW.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Imprimir una imagen GD2

<?php
// Crear una imagen en blanco y añadir algún texto
$im = imagecreatetruecolor(120, 20);
$color_texto = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  "Una Sencilla Cadena De Texto", $color_texto);

// Imprimir la imagen
imagegd2($im);

// Liberar memoria
imagedestroy($im);
?>

Ejemplo #2 Guardar una imagen GD2

<?php
// Crear una imagen en blanco y añadir algún texto
$im = imagecreatetruecolor(120, 20);
$color_texto = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  "Una Sencilla Cadena De Texto", $color_texto);

// Guardar la imagen gd2
// El formato de archivo para imágenes GD2 es .gd2, véase http://www.libgd.org/GdFileFormats
imagegd2($im, 'simple.gd2');

// Liberar memoria
imagedestroy($im);
?>

Notas

Nota: Esta función require GD 2.0.1 o superior (se recomienda 2.0.28 o superior).

Nota:

El formato GD2 se usa comúnmente para permitir una carga rápida de partes de imágenes. Observe que el formato GD2 sólo es utilizable en aplicaciones compatibles con GD2.

Historial de cambios

Versión | Descripción
4.3.2 | Se añadieron chunk_size y type.

Ver también

  • imagegd() - Imprime una imagen GD2 a un navegador o archivo

imagegammacorrect
imagegd
Funciones de GD e Imágenes


Imprime una imagen GD2 a un navegador o archivo

imagegd2
imagegif
Funciones de GD e Imágenes
PHP Manual

imagegd

(PHP 4 >= 4.0.7, PHP 5)

imagegd — Imprime una imagen GD2 a un navegador o archivo

Descripción

bool imagegd ( resource $image [, string $filename ] )

Imprime una imagen GD en filename.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

filename

Ruta en la que guardar el fichero. Si no se establece, o su valor es NULL, se mostrará directamente en la salida el flujo de imagen.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Imprimir una imagen GD

<?php
// Crear una imagen en blanco y añadir algún texto
$im = imagecreatetruecolor(120, 20);
$color_texto = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  "Una Sencilla Cadena De Texto", $color_texto);

// Imprimir la imagen
imagegd($im);

// Liberar memoria
imagedestroy($im);
?>

Ejemplo #2 Saving a GD image

<?php
// Crear una imagen en blanco y añadir algún texto
$im = imagecreatetruecolor(120, 20);
$color_texto = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  "Una Sencilla Cadena De Texto", $color_texto);

// Guardar la imagen gd
// El formato de archivo para imágenes GD es .gd, véase http://www.libgd.org/GdFileFormats
imagegd($im, 'simple.gd');

// Liberar memoria
imagedestroy($im);
?>

Notas

Nota:

El formato GD2 se usa comúnmente para permitir una carga rápida de partes de imágenes. Observe que el formato GD2 sólo es utilizable en aplicaciones compatibles con GD2.

Ver también

  • imagegd2() - Imprime una imagen GD2 a un navegador o archivo

imagegd2
imagegif
Funciones de GD e Imágenes


Exportar la imagen al navegador o a un fichero

imagegd
imagegrabscreen
Funciones de GD e Imágenes
PHP Manual

imagegif

(PHP 4, PHP 5)

imagegif — Exportar la imagen al navegador o a un fichero

Descripción

bool imagegif ( resource $image [, string $filename ] )

imagegif() crea el archivo GIF en filename desde la imagen image. El argumento image es el devuelto por la función imagecreate() o imagecreatefrom*.

El formato de la imagen será GIF87a a menos que la imagen haya sido hecha transparente con imagecolortransparent(), en cuyo caso el formato de la imagen será GIF89a.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

filename

Ruta en la que guardar el fichero. Si no se establece, o su valor es NULL, se mostrará directamente en la salida el flujo de imagen.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Imprimir una imagen usando imagegif()

<?php
// Crear una nueva instancia de imagen
$im = imagecreatetruecolor(100, 100);

// Hacer el fondo blanco
imagefilledrectangle($im, 0, 0, 99, 99, 0xFFFFFF);

// Dibujar una cadena de texto en la imagen
imagestring($im, 3, 40, 20, 'Biblioteca GD', 0xFFBA00);

// Imprimir la imagen al navegador
header('Content-Type: image/gif');

imagegif($im);
imagedestroy($im);
?>

Ejemplo #2 Convertir una imagen PNG en GIF usando imagegif()

<?php

// Cargar el PNG
$png = imagecreatefrompng('./php.png');

// Guardar la imagen como un GIF
imagegif($png, './php.gif');

// Liberar memoria
imagedestroy($png);

// Hemos acabado
echo '¡La converisón de la imagen PNG a GIF tuvo éxtio!';
?>

Notas

Nota:

El soporte para GIF se eliminó de la biblioteca GD en la Versión 1.6, y se volvió a añdir en la Versión 2.0.28. Esta función no está disponible entre estas versiones. Para más información vea el portal del » Proyecto GD.

El siguiente trozo de código permite escribir apliaciones PHP más portables, autodetectando el tipo de soporte de GD que está disponible. Reemplace la secuencia header ("Content-Type: image/gif"); imagegif ($im); por la secuencia más flexible:

<?php
// Crear una nueva instancia de imagen
$im = imagecreatetruecolor(100, 100);

// Hacer algunas operaciones con la imagen aquí

// Gestionar la salida
if(function_exists('imagegif'))
{
    // Para GIF
    header('Content-Type: image/gif');

    imagegif($im);
}
elseif(function_exists('imagejpeg'))
{
    // Para JPEG
    header('Content-Type: image/jpeg');

    imagejpeg($im, NULL, 100);
}
elseif(function_exists('imagepng'))
{
    // Para PNG
    header('Content-Type: image/png');

    imagepng($im);
}
elseif(function_exists('imagewbmp'))
{
    // Para WBMP
    header('Content-Type: image/vnd.wap.wbmp');

    imagewbmp($im);
}
else
{
    imagedestroy($im);

    die('No hay soporte de imagen en este servidor PHP');
}

// Si se encontró soporte para imágenes de uno de estos
// cuatro formatos, se libera de la memoria
if($im)
{
    imagedestroy($im);
}
?>

Nota:

A partir de PHP 4.0.2 se puede usar la funcion imagetypes() en lugar de function_exists() para verificar la presencia de los distintos formatos de imagen soportados:

<?php
if(imagetypes() & IMG_GIF)
{
    header('Content-Type: image/gif');
    imagegif($im);
}
elseif(imagetypes() & IMG_JPG)
{
    /* ... etc. */
}
?>

Ver también

  • imagepng() - Imprimir una imagen PNG al navegador o a un archivo
  • imagewbmp() - Exportar la imagen al navegador o a un fichero
  • imagejpeg() - Exportar la imagen al navegador o a un fichero
  • imagetypes() - Devolver los tipos de imagen soportados por la versión actual de PHP

imagegd
imagegrabscreen
Funciones de GD e Imágenes


Capturar la pantalla completa

imagegif
imagegrabwindow
Funciones de GD e Imágenes
PHP Manual

imagegrabscreen

(PHP 5 >= 5.2.2)

imagegrabscreen — Capturar la pantalla completa

Descripción

resource imagegrabscreen ( void )

Toma una captura de pantalla de la pantalla completa.

Valores devueltos

Devuelve un identificador de recurso de imagen si tiene éxito, FALSE si falló.

Ejemplos

Ejemplo #1 Ejemplo de imagegrabscreen()

Este ejemplo demuestra cómo tomar una captura de pantalla de la pantalla actual y guardarla como una imagen png.

<?php
$im = imagegrabscreen();
imagepng($im, "mi_captura_de_pantalla.png");
imagedestroy($im);
?>

Notas

Nota:

Esta función sólo está disponible en Windows.

Ver también

  • imagegrabwindow() - Capturar una ventana

imagegif
imagegrabwindow
Funciones de GD e Imágenes


Capturar una ventana

imagegrabscreen
imageinterlace
Funciones de GD e Imágenes
PHP Manual

imagegrabwindow

(PHP 5 >= 5.2.2)

imagegrabwindow — Capturar una ventana

Descripción

resource imagegrabwindow ( int $window_handle [, int $client_area = 0 ] )

Captura una ventana o su área de cliente usando un gestor de ventanas (la propiedad HWND en instancia COM)

Parámetros

window_handle

El ID del HWND de ventana.

client_area

Incluye el área del cliente de la ventana de aplicación.

Valores devueltos

Devuelve un identificador de recurso de imagen si tiene éxito, FALSE si falló.

Errores/Excepciones

E_NOTICE es emitido si window_handle no es un gestor de ventana válido. E_WARNING es emitido si la API de Windows es demasiado antigua.

Ejemplos

Ejemplo #1 Ejemplo de imagegrabwindow()

Capturar una ventana (IE por ejemplo)

<?php
$navegador = new COM("InternetExplorer.Application");
$gestor = $navegador->HWND;
$navegador->Visible = true;
$im = imagegrabwindow($gestor);
$navegador->Quit();
imagepng($im, "iesnap.png");
imagedestroy($im);
?>

Capturar una ventana (IE por ejemplo) pero con su contenido

<?php
$navegador = new COM("InternetExplorer.Application");
$gestor = $navegador->HWND;
$navegador->Visible = true;
$navegador->Navigate("http://www.libgd.org");

/* ¿Todavía funciona? */
while ($navegador->Busy) {
    com_message_pump(4000);
}
$im = imagegrabwindow($gestor, 0);
$navegador->Quit();
imagepng($im, "iesnap.png");
imagedestroy($im);
?>

Notas

Nota:

Esta función sólo está disponible en Windows.

Ver también

  • imagegrabscreen() - Capturar la pantalla completa

imagegrabscreen
imageinterlace
Funciones de GD e Imágenes


Habilitar o deshabilitar en entrelazamiento

imagegrabwindow
imageistruecolor
Funciones de GD e Imágenes
PHP Manual

imageinterlace

(PHP 4, PHP 5)

imageinterlace — Habilitar o deshabilitar en entrelazamiento

Descripción

int imageinterlace ( resource $image [, int $interlace = 0 ] )

imageinterlace() activa o desactiva el bit de entrelazamiento.

Si el bit de entrelazamiento está establecido y la imagen es usada como una imagen JPEG, la imagen es creada como un JPEG progresivo.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

interlace

Si no es cero, la imagen será entrelazada, si no, el bit de entrelazamiento será desactivado.

Valores devueltos

Devuelve 1 si el bit de entrelazamiento está establecido para la imagen, 0 si no.

Ejemplos

Ejemplo #1 Activar el entrelazamiento usando imageinterlace()

<?php
// Crear una instancia de imagen
$im = imagecreatefromgif('php.gif');

// Habilitar el entrelazamiento
imageinterlace($im, true);

// Guardar la imagen entrelazada
imagegif($im, './php_entrelazada.gif');
imagedestroy($im);
?>

imagegrabwindow
imageistruecolor
Funciones de GD e Imágenes


Averiguar si una imagen es de color verdadero

imageinterlace
imagejpeg
Funciones de GD e Imágenes
PHP Manual

imageistruecolor

(PHP 4 >= 4.3.2, PHP 5)

imageistruecolor — Averiguar si una imagen es de color verdadero

Descripción

bool imageistruecolor ( resource $image )

imageistruecolor() averigua si la imagen image es una imagen de color verdadero.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

Valores devueltos

Devuelve TRUE si image es de color verdadero, FALSE si no.

Ejemplos

Ejemplo #1 Simple detección de instancias de imagen de color verdadero usando imageistruecolor()

<?php
// $im es una instancia de imagen

// Comprobar si la imagen es de color verdadero o no
if(!imageistruecolor($im))
{
    // Crear una nueva instancia de imagen de color verdadero
    $tc = imagecreatetruecolor(imagesx($im), imagesy($im));

    // Copiar sobre los píxeles
    imagecopy($tc, $im, 0, 0, 0, 0, imagesx($im), imagesy($im));
    imagedestroy($im);

    $im = $tc;
    $tc = NULL;

    // O usar imagepalettetotruecolor()
}

// Continuar trabajando con la instancia de imagen
?>

Notas

Nota: Esta función require GD 2.0.1 o superior (se recomienda 2.0.28 o superior).

Ver también

  • imagecreatetruecolor() - Crear una nueva imagen de color verdadero
  • imagepalettetotruecolor() - Convierte una imagen basada en paleta a color verdadero

imageinterlace
imagejpeg
Funciones de GD e Imágenes


Exportar la imagen al navegador o a un fichero

imageistruecolor
imagelayereffect
Funciones de GD e Imágenes
PHP Manual

imagejpeg

(PHP 4, PHP 5)

imagejpeg — Exportar la imagen al navegador o a un fichero

Descripción

bool imagejpeg ( resource $image [, string $filename [, int $quality ]] )

imagejpeg() crea un archivo JPEG desde image.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

filename

Ruta en la que guardar el fichero. Si no se establece, o su valor es NULL, se mostrará directamente en la salida el flujo de imagen.

Para saltarse este argumeto para proporcionar el parámetro quality, use NULL.

quality

quality es opcional, y su valor es desde 0 (peor calidad, archivo más pequeño) a 100 (mejor calidad, archivo más grande). El valor por defecto es el valor de calidad predeterminada de IJG (sobre 75).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Imprimir una imagen JPEG

<?php
// Crear una imagen en blanco y añadir algún texto
$im = imagecreatetruecolor(120, 20);
$color_texto = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $color_texto);

// Establecer la cabecera de tipo de contenido - en este caso image/jpeg
header('Content-Type: image/jpeg');

// Imprimir la imagen
imagejpeg($im);

// Liberar memoria
imagedestroy($im);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : Imprimir una imagen JPEG

Ejemplo #2 Guardar una imagen JPEG

<?php
// Crear una imagen en blanco y añadir algún texto
$im = imagecreatetruecolor(120, 20);
$color_texto = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'Una Sencilla Cadena De Texto', $color_texto);

// Guardar la imagen como 'textosimple.jpg'
imagejpeg($im, 'textosimple.jpg');

// Liberar memoria
imagedestroy($im);
?>

Ejemplo #3 Imprimir la imagen al 75% de calidad

<?php
// Crear una imagen en blanco y añadir algún texto
$im = imagecreatetruecolor(120, 20);
$color_texto = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'Una Sencilla Cadena De Texto', $color_texto);

// Establecer la cabecera de tipo de contenido - en este caso image/jpeg
header('Content-Type: image/jpeg');

// Saltarse el parámetro filename usando NULL, después establecer la calidad al 75%
imagejpeg($im, NULL, 75);

// Liberar memoria
imagedestroy($im);
?>

Notas

Nota: El soporte de JPEG sólo está disponible si PHP fue compilado con GD-1.8 o superior.

Nota:

Si quiere imprimir imágenes JPEG Progresivas, necesita habilitar el entrelazamiento con imageinterlace().

Ver también

  • imagepng() - Imprimir una imagen PNG al navegador o a un archivo
  • imagegif() - Exportar la imagen al navegador o a un fichero
  • imagewbmp() - Exportar la imagen al navegador o a un fichero
  • imageinterlace() - Habilitar o deshabilitar en entrelazamiento
  • imagetypes() - Devolver los tipos de imagen soportados por la versión actual de PHP

imageistruecolor
imagelayereffect
Funciones de GD e Imágenes


Establecer la bandera de mezcla alfa para usar los efectos de capa de la biblioteca gd incluida

imagejpeg
imageline
Funciones de GD e Imágenes
PHP Manual

imagelayereffect

(PHP 4 >= 4.3.0, PHP 5)

imagelayereffect — Establecer la bandera de mezcla alfa para usar los efectos de capa de la biblioteca gd incluida

Descripción

bool imagelayereffect ( resource $image , int $effect )

Establece la bandera de mezcla alfa para usar los efectos de capa de la biblioteca gd incluida.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

effect

Una de las siguientes constantes:

IMG_EFFECT_REPLACE
Usar el píxel de sustitución (equivalente a pasar TRUE a imagealphablending())
IMG_EFFECT_ALPHABLEND
Unsar la mezcla de píxel normal (equivalente a pasar TRUE a imagealphablending())
IMG_EFFECT_NORMAL
Lo mismo que IMG_EFFECT_ALPHABLEND.
IMG_EFFECT_OVERLAY
La capa de revestimieto tiene el efecto de que los píxeles del fondo negro permanecerán negros, los píxeles del fondo blanco permanecerán blancos, pero los los píxeles del fondo gris tomarán el color del píxel del primer plano.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imagelayereffect()

<?php
// Establecer una imagen
$im = imagecreatetruecolor(100, 100);

// Establecer un fondo
imagefilledrectangle($im, 0, 0, 100, 100, imagecolorallocate($im, 220, 220, 220));

// Aplicar la bandera de la capa de revestimiento de la mezcla alfa
imagelayereffect($im, IMG_EFFECT_OVERLAY);

// Dibujar dos elipses grises
imagefilledellipse($im, 50, 50, 40, 40, imagecolorallocate($im, 100, 255, 100));
imagefilledellipse($im, 50, 50, 50, 80, imagecolorallocate($im, 100, 100, 255));
imagefilledellipse($im, 50, 50, 80, 50, imagecolorallocate($im, 255, 100, 100));

// Imprimir
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : imagelayereffect()

Notas

Nota: Esta función sólo está disponible si PHP fue compilado con la versión incluida de GD library.

Nota: Esta función require GD 2.0.1 o superior (se recomienda 2.0.28 o superior).

imagejpeg
imageline
Funciones de GD e Imágenes


Dibujar una línea

imagelayereffect
imageloadfont
Funciones de GD e Imágenes
PHP Manual

imageline

(PHP 4, PHP 5)

imageline — Dibujar una línea

Descripción

bool imageline ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color )

Dibuja una línea entre dos puntos dados.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

x1

Coordenada x del primer punto.

y1

Coordenada y del primer punto.

x2

Coordenada x del segundo punto.

y2

Coordenada y del segundo punto.

color

El color de la línea. Un identificador de color creado con imagecolorallocate().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Dibujar una línea gruesa

<?php

function imagelinethick($imagen, $x1, $y1, $x2, $y2, $color, $grueso = 1)
{
    /* esta forma funciona bien sólo para líneas ortogonales
    imagesetthickness($imagen, $grueso);
    return imageline($imagen, $x1, $y1, $x2, $y2, $color);
    */
    if ($grueso == 1) {
        return imageline($imagen, $x1, $y1, $x2, $y2, $color);
    }
    $t = $grueso / 2 - 0.5;
    if ($x1 == $x2 || $y1 == $y2) {
        return imagefilledrectangle($imagen, round(min($x1, $x2) - $t), round(min($y1, $y2) - $t), round(max($x1, $x2) + $t), round(max($y1, $y2) + $t), $color);
    }
    $k = ($y2 - $y1) / ($x2 - $x1); //y = kx + q
    $a = $t / sqrt(1 + pow($k, 2));
    $puntos = array(
        round($x1 - (1+$k)*$a), round($y1 + (1-$k)*$a),
        round($x1 - (1-$k)*$a), round($y1 - (1+$k)*$a),
        round($x2 + (1+$k)*$a), round($y2 - (1-$k)*$a),
        round($x2 + (1-$k)*$a), round($y2 + (1+$k)*$a),
    );
    imagefilledpolygon($imagen, $puntos, 4, $color);
    return imagepolygon($imagen, $puntos, 4, $color);
}

?>

Ver también

  • imagecreatetruecolor() - Crear una nueva imagen de color verdadero
  • imagecolorallocate() - Asigna un color para una imagen

imagelayereffect
imageloadfont
Funciones de GD e Imágenes


Cargar una nueva fuente

imageline
imagepalettecopy
Funciones de GD e Imágenes
PHP Manual

imageloadfont

(PHP 4, PHP 5)

imageloadfont — Cargar una nueva fuente

Descripción

int imageloadfont ( string $file )

imageloadfont() carga un mapa de bits definido por el usuario y devuelve su identificador.

Parámetros

file

El formato del archivo de fuente actualmente es binario y dependiente de la arquitectura. Esto significa que debería generar los archivos de fuente en el mismo tipo de CPU de la máquina donde se está ejecutando PHP.

Formato de archivo de fuente
posición de byte | tipo | descripción
byte 0-3 | int | número de caracteres en la fuente
byte 4-7 | int | valor del primer carácter de la fuente (a menudo 32 para el espacio)
byte 8-11 | int | ancho de píxel de cada carácter
byte 12-15 | int | alto de píxel de cada carácter
byte 16- | char | matriz con la información de los caracteres, un byte por píxel en cada carácter, para un total de (ncars*ancho*alto) bytes.

Valores devueltos

El identificador de fuente que es siempre mayor que 5 para evitar conflictos con fuentes incluidas, o FALSE si se produjeron errores.

Ejemplos

Ejemplo #1 Ejemplo de uso de imageloadfont()

<?php
// Crear una nueva instancia de imagen
$im = imagecreatetruecolor(50, 20);
$negro = imagecolorallocate($im, 0, 0, 0);
$blanco = imagecolorallocate($im, 255, 255, 255);

// Hacer el fondo blanco
imagefilledrectangle($im, 0, 0, 49, 19, $blanco);

// Cargar la fuente gd y escribir 'Hola'
$fuente = imageloadfont('./04b.gdf');
imagestring($im, $fuente, 0, 0, 'Hola', $negro);

// Imprimir al navegador
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

Ver también

  • imagefontwidth() - Obtener el ancho de la fuente
  • imagefontheight() - Obtener el alto de la fuente

imageline
imagepalettecopy
Funciones de GD e Imágenes


Copiar la paleta de una imagen a otra

imageloadfont
imagepalettetotruecolor
Funciones de GD e Imágenes
PHP Manual

imagepalettecopy

(PHP 4 >= 4.0.1, PHP 5)

imagepalettecopy — Copiar la paleta de una imagen a otra

Descripción

void imagepalettecopy ( resource $destination , resource $source )

imagepalettecopy() copia la paleta de la imagen source a la imagen destination.

Parámetros

destination

El recurso de imagen de destino.

source

El recurso de imagen de origen.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de imagepalettecopy()

<?php
// Crear dos imágenes de paleta
$paleta1 = imagecreate(100, 100);
$paleta2 = imagecreate(100, 100);

// Asignar verde al fondo
// en la primera imagen de paleta
$verde = imagecolorallocate($paleta1, 0, 255, 0);

// Copiar la paleta de la imagen 1 a la imagen 2
imagepalettecopy($paleta2, $paleta1);

// Ya que la paleta ha sido copiada podemos usar el
// color verde asignado a la imagen 1 sin usar
// imagecolorallocate() dos veces
imagefilledrectangle($paleta2, 0, 0, 99, 99, $verde);

// Imprimir la imagen en el navegdor
header('Content-type: image/png');

imagepng($paleta2);
imagedestroy($paleta1);
imagedestroy($paleta2);
?>

imageloadfont
imagepalettetotruecolor
Funciones de GD e Imágenes


Convierte una imagen basada en paleta a color verdadero

imagepalettecopy
imagepng
Funciones de GD e Imágenes
PHP Manual

imagepalettetotruecolor

(PHP 5 >= 5.5.0)

imagepalettetotruecolor — Convierte una imagen basada en paleta a color verdadero

Descripción

bool imagepalettetotruecolor ( resource $src )

Convierte una imagen basada en paleta, creada por funciones como imagecreate(), a una imagen de color verdadero, como imagecreatetruecolor().

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

Valores devueltos

Devuelve TRUE si la conversión se completó, o si la imagen origen ya era una imagen de color verdadero; de otro modo devuelve FALSE.

Ejemplos

Ejemplo #1 Convertir cualquier recurso de imagaen a color verdadero

<?php
// Retrocompatiblidad
if(!function_exists('imagepalettetotruecolor'))
{
    function imagepalettetotruecolor(&$src)
    {
        if(imageistruecolor($src))
        {
            return(true);
        }

        $dst = imagecreatetruecolor(imagesx($src), imagesy($src));

        imagecopy($dst, $src, 0, 0, 0, 0, imagesx($src), imagesy($src));
        imagedestroy($src);

        $src = $dst;

        return(true);
    }
}

// Clausura asistente
$typeof = function() use($im)
{
    echo 'typeof($im) = ' . (imageistruecolor($im) ? 'true color' : 'palette'), PHP_EOL;
};

// Crear una imagen basada en paleta
$im = imagecreate(100, 100);
$typeof();

// Convertirla a color verdadero
imagepalettetotruecolor($im);
$typeof();

// Liberar la memoria
imagedestroy($im);
?>

El resultado del ejemplo sería:

typeof($im) = palette
typeof($im) = true color

Ver también

  • imagecreatetruecolor() - Crear una nueva imagen de color verdadero
  • imageistruecolor() - Averiguar si una imagen es de color verdadero

imagepalettecopy
imagepng
Funciones de GD e Imágenes


Imprimir una imagen PNG al navegador o a un archivo

imagepalettetotruecolor
imagepolygon
Funciones de GD e Imágenes
PHP Manual

imagepng

(PHP 4, PHP 5)

imagepng — Imprimir una imagen PNG al navegador o a un archivo

Descripción

bool imagepng ( resource $image [, string $filename [, int $quality [, int $filters ]]] )

Imprime o guarda una imagen PNG desde image.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

filename

Ruta en la que guardar el fichero. Si no se establece, o su valor es NULL, se mostrará directamente en la salida el flujo de imagen.

Nota:

NULL no es válido si los argumentos quality y filters no son usados.

quality

Nivel de compresión: desde 0 (sin compresión) hasta 9.

filters

Permite reducir el tamaño del archivo PNG. Es un campo de máscara de bit que puede ser establecido a cualquier combinación de las constantes PNG_FILTER_XXX. PNG_NO_FILTER o PNG_ALL_FILTERS también se pueden usar para, respectivamente, desactivar o activar todos los filtros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.1.3 | Añadido el parámetro filters.
5.1.2 | Añadido el parámetro quality.

Ejemplos

<?php
$im = imagecreatefrompng("prueba.png");

header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>

Ver también

  • imagegif() - Exportar la imagen al navegador o a un fichero
  • imagewbmp() - Exportar la imagen al navegador o a un fichero
  • imagejpeg() - Exportar la imagen al navegador o a un fichero
  • imagetypes() - Devolver los tipos de imagen soportados por la versión actual de PHP
  • imagesavealpha() - Establecer la bandera para guardar la información completa del canal alfa (como oposición a la transparencia de un simple color) cuando se guardan imágenes PNG

imagepalettetotruecolor
imagepolygon
Funciones de GD e Imágenes


Dibujar un polígono

imagepng
imagepsbbox
Funciones de GD e Imágenes
PHP Manual

imagepolygon

(PHP 4, PHP 5)

imagepolygon — Dibujar un polígono

Descripción

bool imagepolygon ( resource $image , array $points , int $num_points , int $color )

imagepolygon() crea un polígono en la imagen image dada.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

points

Una matriz que contiene los vértices del polígono, p.ej.:

puntos[0] | = x0
puntos[1] | = y0
puntos[2] | = x1
puntos[3] | = y1

num_points

Número total de puntos (vértices).

color

Un indentificador de color creado con imagecolorallocate().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imagepolygon()

<?php
// Crear una imágen en blanco
$imagen = imagecreatetruecolor(400, 300);

// Asignar un color para el polígono
$col_poli = imagecolorallocate($imagen, 255, 255, 255);

// Dibujar el polígono
imagepolygon($imagen, array(
        0,   0,
        100, 200,
        300, 200
    ),
    3,
    $col_poli);

// Imprimir la imagen al navagador
header('Content-type: image/png');

imagepng($imagen);
imagedestroy($imagen);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : imagepolygon()

Ver también

  • imagecreate() - Crea una nueva imagen basada en paleta
  • imagecreatetruecolor() - Crear una nueva imagen de color verdadero

imagepng
imagepsbbox
Funciones de GD e Imágenes


Devolver la caja circundante de un rectángulo de texto usando fuentes PostScript Type1

imagepolygon
imagepsencodefont
Funciones de GD e Imágenes
PHP Manual

imagepsbbox

(PHP 4, PHP 5)

imagepsbbox — Devolver la caja circundante de un rectángulo de texto usando fuentes PostScript Type1

Descripción

array imagepsbbox ( string $text , resource $font , int $size )
array imagepsbbox ( string $text , resource $font , int $size , int $space , int $tightness , float $angle )

Devuelve la caja circundante de un rectángulo de texto usando fuentes PostScript Type1

La caja circundante es calculada usando infomación disponible de la métrica del carácter, y desafortunadamente tiende a diferir ligeramente de los resultados conseguidos por la actual rasterización del texto. Si el ángulo es 0 grados, puede suponer que el texto necesita 1 píxel más para cada dirección.

Parámetros

text

El texto que va a ser escrito.

font_index

Un recurso de fuente, devuelto por imagepsloadfont().

size

size el tamaño, expresado en píxeles.

space

Permite cambiar el valor predeterminado de un espacio en una fuente. Esta cantidad se añade al valor normal y puede ser negativa también. Expresado en unidades de espacio de carcteres, donde 1 unidad es la 1/1000 parte de una 'M' (em-square).

tightness

tightness permite controlar la cantidad de espacio en blanco entre caracteres. Esta cantidad se añade al ancho de un carácter normal y puede ser negativo. Expresado en unidades de espacio de carcteres, donde 1 unidad es la 1/1000th parte de una 'M' (em-square).

angle

angle, ángulo en grados.

Valores devueltos

Devuelve una matriz que contiene los siguientes elementos:

0 | Coordenada x izquierda
1 | Coordenada y superior
2 | Coordenada x deracha
3 | Coordenada y inferior

Ejemplos

Ejemplo #1 Uso de imagepsbbox()

<?php
// Crear un gestor de imagen
$im = imagecreatetruecolor(200, 200);

// Asignar colores
$negro = imagecolorallocate($im, 0, 0, 0);
$blanco = imagecolorallocate($im, 255, 255, 255);

// Cargar la fuente PostScript
$fuente = imagepsloadfont('font.pfm');

// Hacer una caja circundante para la fuente
$bbox = imagepsbbox('El texto de ejemplo es simple', $fuente, 12);

// Definir nuestras coordenadas X e Y
$x = ($bbox[2] / 2) - 10;
$y = ($bbox[3] / 2) - 10;

// Escribir la fuente en la imagen
imagepstext($im, 'El texto de ejemplo es simple', $fuente, 12, $negro, $blanco, $x, $y);

// Imprimir y liberar memoria
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

Notas

Nota: Esta función sólo está disponible si PHP fue compilado usando --with-t1lib[=DIR] .

Ver también

  • imagepstext() - Dibujar un texto sobre una imagen usando fuentes PostScript Type1

imagepolygon
imagepsencodefont
Funciones de GD e Imágenes


Cambiar el vector de codificación del caráter de una fuente

imagepsbbox
imagepsextendfont
Funciones de GD e Imágenes
PHP Manual

imagepsencodefont

(PHP 4, PHP 5)

imagepsencodefont — Cambiar el vector de codificación del caráter de una fuente

Descripción

bool imagepsencodefont ( resource $font_index , string $encodingfile )

Carga el vector de codificación del carácter desde un archivo y cambia el vector de codificación de fuentes a éste. Ya que el vector predeterminado de fuentes de PostScript carece de la mayoría de las posiciones de caracteres superiores a 127, definitivamente querrá cambiar esto si usa otro lenguaje que no sea el Inglés.

Si se encuentra que está usando esta función todo el tiempo, una manera mucho mejor de definir la codificación es establecer ps.default_encoding en el archivo de configuración para que apunte al archivo de codificación correcto, y así todas las fuentes que carge tendrán automáticamente la codificación correcta.

Parámetros

font_index

Un recurso de fuente, devuelto por imagepsloadfont().

encodingfile

El formato exacto de este archivo está descrito en la documentación de T1lib. T1lib viene con dos archivos listos para usar, IsoLatin1.enc y IsoLatin2.enc.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imagepsencodefont()

<?php
// Cargar un archivo de fuente .pfb
$fuente = imagepsloadfont('./px3l.pfb');

// Indicar a T1lib que use la codificación ISO Latin 1
imagepsencode($fuente, './IsoLatin1.enc');

// Hacer cualesquiera operaciones con la fuente aquí

// Liberar la fuente de la memoria
imagepsfreefont($fuente);
?>

Notas

Nota: Esta función sólo está disponible si PHP fue compilado usando --with-t1lib[=DIR] .

imagepsbbox
imagepsextendfont
Funciones de GD e Imágenes


Extender o condensar una fuente

imagepsencodefont
imagepsfreefont
Funciones de GD e Imágenes
PHP Manual

imagepsextendfont

(PHP 4, PHP 5)

imagepsextendfont — Extender o condensar una fuente

Descripción

bool imagepsextendfont ( resource $font_index , float $extend )

Extiende o condensa una fuente (font_index), si el valor del parámetro extend es menor que 1 se condensará la fuente.

Parámetros

font_index

Un recurso de fuente, devuelto por imagepsloadfont().

extend

Valor de extensión, debe ser mayor que 0.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imagepsextendfont()

<?php
// Cargar un archivo de fuente .pfb
$fuente = imagepsloadfont('./px3l.pfb');

// Extender la fuente por 2.5
imagepsextendfont($fuente, 2.5);

// Hacer cualesquiera operaciones con la fuente aquí

// Liberar la fuente de la memoria
imagepsfreefont($fuente);
?>

Notas

Nota: Esta función sólo está disponible si PHP fue compilado usando --with-t1lib[=DIR] .

imagepsencodefont
imagepsfreefont
Funciones de GD e Imágenes


Liberar la memoria usada por una fuente PostScript Type 1

imagepsextendfont
imagepsloadfont
Funciones de GD e Imágenes
PHP Manual

imagepsfreefont

(PHP 4, PHP 5)

imagepsfreefont — Liberar la memoria usada por una fuente PostScript Type 1

Descripción

bool imagepsfreefont ( resource $font_index )

imagepsfreefont() libera la memoria usada por una fuente PostScript Type 1.

Parámetros

font_index

Un recurso de fuente, devuelto por imagepsloadfont().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imagepsfreefont()

<?php
// Cargar un archivo de fuente .pfb
$fuente = imagepsloadfont('./bchbi.pfb');

// Hacer cualesquiera operaciones con la fuente aquí

// Liberar la fuente de la memoria
imagepsfreefont($fuente);
?>

Notas

Nota: Esta función sólo está disponible si PHP fue compilado usando --with-t1lib[=DIR] .

Ver también

  • imagepsloadfont() - Cargar una fuente PostScript Type 1 desde un archivo

imagepsextendfont
imagepsloadfont
Funciones de GD e Imágenes


Cargar una fuente PostScript Type 1 desde un archivo

imagepsfreefont
imagepsslantfont
Funciones de GD e Imágenes
PHP Manual

imagepsloadfont

(PHP 4, PHP 5)

imagepsloadfont — Cargar una fuente PostScript Type 1 desde un archivo

Descripción

resource imagepsloadfont ( string $filename )

Carga una fuente PostScript Type 1 desde el archivo filename.

Parámetros

filename

Ruta al archivo de fuente Postscript.

Valores devueltos

En el caso de que todo haya ido bien, un índice de fuente válido será devuelto y se podrá usar para más propósitos. De otra manera, la función devuelve FALSE.

Ejemplos

Ejemplo #1 Ejemplo de imagepsloadfont()

<?php
// Crear una nueva instancia de imagen
$im = imagecreatetruecolor(350, 45);

// Asignar colores y rellenar el fondo
$negro = imagecolorallocate($im, 0, 0, 0);
$blanco = imagecolorallocate($im, 255, 255, 255);
imagefilledrectangle($im, 0, 0, 349, 44, $blanco);

// Cargar una fuente, escribir en la imagen y liberar la fuente de la memoria
$fuente = imagepsloadfont("bchbi.pfb");
imagepstext($im, "Probando... ¡Funcionó!", $fuente, 32, $blanco, $negro, 32, 32);
imagepsfreefont($fuente);

// Imprimir la fuente
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

Notas

Nota: Esta función sólo está disponible si PHP fue compilado usando --with-t1lib[=DIR] .

Ver también

  • imagepsfreefont() - Liberar la memoria usada por una fuente PostScript Type 1

imagepsfreefont
imagepsslantfont
Funciones de GD e Imágenes


Inclinar una fuente

imagepsloadfont
imagepstext
Funciones de GD e Imágenes
PHP Manual

imagepsslantfont

(PHP 4, PHP 5)

imagepsslantfont — Inclinar una fuente

Descripción

bool imagepsslantfont ( resource $font_index , float $slant )

Inclina una fuente dada.

Parámetros

font_index

Un recurso de fuente, devuelto por imagepsloadfont().

slant

El nivel de inclinación.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imagepsslantfont()

<?php
// Cargar un archivo de fuente .pfb
$fuente = imagepsloadfont('./px3l.pfb');

// Inclinar la fuente por 22.5
imagepsslantfont($fuente, 22.5);

// Hacer cualesquiera operaciones con la fuente aquí

// Liberar la fuente de la memoria
imagepsfreefont($fuente);
?>

Notas

Nota: Esta función sólo está disponible si PHP fue compilado usando --with-t1lib[=DIR] .

imagepsloadfont
imagepstext
Funciones de GD e Imágenes


Dibujar un texto sobre una imagen usando fuentes PostScript Type1

imagepsslantfont
imagerectangle
Funciones de GD e Imágenes
PHP Manual

imagepstext

(PHP 4, PHP 5)

imagepstext — Dibujar un texto sobre una imagen usando fuentes PostScript Type1

Descripción

array imagepstext ( resource $image , string $text , resource $font_index , int $size , int $foreground , int $background , int $x , int $y [, int $space = 0 [, int $tightness = 0 [, float $angle = 0.0 [, int $antialias_steps = 4 ]]]] )

Dibuja un texto sobre una imagen usando fuentes PostScript Type1.

Consulte la documentación de PostScript sobre fuentes y sus sistemas de medidas si tiene problemas en entender cómo funciona esto.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

text

El texto que va a ser escrito.

font_index

Un recurso de fuente, devuelto por imagepsloadfont().

size

size, el tamaño expresado en píxeles.

foreground

El color en el cual el texto será pintado.

background

El color en el cual el texto intentará fundirse con antialias. Ningún píxel con el color background se pinta en realidad, por lo que la imagen de fondo no necesita ser de un color sólido.

x

Coordenada x de la esquina inferior izquierda del primer carácter.

y

Coordenada y de la esquina inferior izquierda del primer carácter.

space

Permite cambiar el valor predeterminado de un espacio en una fuente. Esta cantidad se añade al valor normal y puede ser negativa también. Expresado en unidades de espacio de carcteres, donde 1 unidad es la 1/1000 parte de una 'M' (em-square).

tightness

tightness permite controlar la cantidad de espacio en blanco entre caracteres. Esta cantidad se añade al ancho de un carácter normal y puede ser negativo. Expresado en unidades de espacio de carcteres, donde 1 unidad es la 1/1000th parte de una 'M' (em-square).

angle

angle, ángulo en grados.

antialias_steps

Permite controlar el número de colores usados para el texto con antialias. Los valores permitidos son 4 y 16. Se recomienda el valor más alto para tamaños de texto menores que 20, donde el efecto en la calidad del texto es bastante visible. Con tamaños mayores, use 4. Es menos intensivo computacionalmente.

Valores devueltos

Esta función devuleve una matriz que contiene los siguientes elementos:

0 | coordenada x inferior izquierda
1 | coordenada y inferior izquierda
2 | coordenada x superior derecha
3 | coordenada x superior derecha

Ejemplos

Ejemplo #1 Uso de imagepstext()

<?php
// Crear un gestor de imagen
$im = imagecreatetruecolor(200, 200);

// Asignar colores
$negro = imagecolorallocate($im, 0, 0, 0);
$blanco = imagecolorallocate($im, 255, 255, 255);

// Cargar la fuente PostScript
$fuente = imagepsloadfont('fuente.pfm');

// Escribir la fuente en la imagen
imagepstext($im, 'Sample text is simple', $fuente, 12, $negro, $blanco, 50, 50);

// Imprimir y liberar memoria
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

Notas

Nota: Esta función sólo está disponible si PHP fue compilado usando --with-t1lib[=DIR] .

Ver también

  • imagepsbbox() - Devolver la caja circundante de un rectángulo de texto usando fuentes PostScript Type1

imagepsslantfont
imagerectangle
Funciones de GD e Imágenes


Dibuja un rectángulo

imagepstext
imagerotate
Funciones de GD e Imágenes
PHP Manual

imagerectangle

(PHP 4, PHP 5)

imagerectangle — Dibuja un rectángulo

Descripción

bool imagerectangle ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color )

imagerectangle() crea un rectángulo comenzando por las coordenadas especificadas.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

x1

Coordenada x superior izquierda.

y1

Coordenada y superior izquierda 0, 0 es la esquina superior izquierda de la imagen.

x2

Coordenada x inferior derecha.

y2

Coordenada y inferior derecha.

color

Un identificador de color creado con imagecolorallocate().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo sencillo de imagerectangle()

<?php
// Crear una imagen de 200 x 200
$lienzo = imagecreatetruecolor(200, 200);

// Asignar colores
$rosa = imagecolorallocate($lienzo, 255, 105, 180);
$blanco = imagecolorallocate($lienzo, 255, 255, 255);
$verde = imagecolorallocate($lienzo, 132, 135, 28);

// Dibujar tres rectángulos, cada uno con su color
imagerectangle($lienzo, 50, 50, 150, 150, $rosa);
imagerectangle($lienzo, 45, 60, 120, 100, $blanco);
imagerectangle($lienzo, 100, 120, 75, 160, $verde);

// Imprimir y liberar memoria
header('Content-Type: image/jpeg');

imagejpeg($lienzo);
imagedestroy($lienzo);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : Ejemplo sencillo de imagerectangle()

imagepstext
imagerotate
Funciones de GD e Imágenes


Rotar una imagen con un ángulo dado

imagerectangle
imagesavealpha
Funciones de GD e Imágenes
PHP Manual

imagerotate

(PHP 4 >= 4.3.0, PHP 5)

imagerotate — Rotar una imagen con un ángulo dado

Descripción

resource imagerotate ( resource $image , float $angle , int $bgd_color [, int $ignore_transparent = 0 ] )

Rota la imgaen image usando el ángulo angle dado en grados.

El centro de rotación es el centro de la imagen, y la imagen rotada puede tener dimensiones diferentes que la imagen original.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

angle

Ángulo de rotación, en grados. El ángulo de rotación es interpretado como el número de grados en el sentido contrario de las agujas de reloj que la imagen va a rotar.

bgd_color

Especifica el color de la zona no cubierta después de la rotación.

ignore_transparent

Si está establecido y no es cero, los colores transparentes son ignorados (de otro modo se conservan).

Valores devueltos

Devuelve un recurso de imgane para la imagen rotada, o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.5.0 | Esta función ahora se ve afectada por el método de interpolación establecido por la función imagesetinterpolation().
5.1.0 | Se añadió ignore_transparent.

Ejemplos

Ejemplo #1 Rotar una imagen 180 grados

Este ejemplo rota una imagen 180 grados - boca abajo.

<?php
// Archivo y rotación
$nombre_archivo = 'prueba.jpg';
$grados = 180;

// Tipo de contenido
header('Content-type: image/jpeg');

// Cargar
$origen = imagecreatefromjpeg($nombre_archivo);

// Rotar
$rotar = imagerotate($origen, $grados, 0);

// Imprimir
imagejpeg($rotar);

// Liberar la memoria
imagedestroy($origen);
imagedestroy($rotar);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : Rotar una imagen 180 grados

Notas

Nota: Esta función sólo está disponible si PHP fue compilado con la versión incluida de GD library.

Nota:

Está función se ve afectada por el método de interpolación establecido por imagesetinterpolation().

Ver también

  • imagesetinterpolation() - Establecer el método de interpolación

imagerectangle
imagesavealpha
Funciones de GD e Imágenes


Establecer la bandera para guardar la información completa del canal alfa (como oposición a la transparencia de un simple color) cuando se guardan imágenes PNG

imagerotate
imagescale
Funciones de GD e Imágenes
PHP Manual

imagesavealpha

(PHP 4 >= 4.3.2, PHP 5)

imagesavealpha — Establecer la bandera para guardar la información completa del canal alfa (como oposición a la transparencia de un simple color) cuando se guardan imágenes PNG

Descripción

bool imagesavealpha ( resource $image , bool $saveflag )

imagesavealpha() establece la bandera para intentar guardar la información completa del canal alfa (como oposición a la transparencia de un simple color) cuando se guardan imágenes PNG.

Se debe deshabilitar la mezcla alfa (imagealphablending($im, false)), para usarlo.

El canal alfa no está soportado por todos los navegadores, si tiene problemas con su navegador, intente cargar su script con un navegador compatible con el canal alfa, p.ej. la última version de Mozilla.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

saveflag

Si se ha de guardar el canal alfa o no. Por defecto es FALSE.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imagesavealpha()

<?php
// Cargar una imagen png con canales alfa
$png = imagecreatefrompng('./ejemplo_canal_alfa.png');

// Hacer las operaciones requeridas

// Desactivar la mezcla alfa y establecer la bandera alfa
imagealphablending($png, false);
imagesavealpha($png, true);

// Impirmir la imagen al navegador
header('Content-Type: image/png');

imagepng($png);
imagedestroy($png);
?>

Notas

Nota: Esta función require GD 2.0.1 o superior (se recomienda 2.0.28 o superior).

Ver también

  • imagealphablending() - Establece el modo de mezcla para una imagen

imagerotate
imagescale
Funciones de GD e Imágenes


Redimensiona una imagen usando un nuevo ancho y alto

imagesavealpha
imagesetbrush
Funciones de GD e Imágenes
PHP Manual

imagescale

(PHP 5 >= 5.5.0)

imagescale — Redimensiona una imagen usando un nuevo ancho y alto

Descripción

resource imagescale ( resource $image , int $new_width [, int $new_height = -1 [, int $mode = IMG_BILINEAR_FIXED ]] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

new_width

new_height

mode

Una de las constantes IMG_NEAREST_NEIGHBOUR, IMG_BILINEAR_FIXED, IMG_BICUBIC, IMG_BICUBIC_FIXED u otra cualquiera (usará dos pasadas).

Valores devueltos

Devuelve el recurso de la imagen redimensionada en caso de éxito o FALSE en caso de error.

imagesavealpha
imagesetbrush
Funciones de GD e Imágenes


Establecer la imagen de pincel para el dibujo de líneas

imagescale
imagesetinterpolation
Funciones de GD e Imágenes
PHP Manual

imagesetbrush

(PHP 5 >= 5.5.0)

imagesetbrush — Establecer la imagen de pincel para el dibujo de líneas

Descripción

bool imagesetbrush ( resource $image , resource $brush )

imagesetbrush() establece la imagen de pincel para usarla con todas las funciones de dibujo de líneas (como imageline() y imagepolygon()) cuando se dibuja con los colores especiales IMG_COLOR_BRUSHED o IMG_COLOR_STYLEDBRUSHED.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

brush

Un recurso de imagen.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imagesetbrush()

<?php
// Cargar un mini logo de php
$php = imagecreatefrompng('./php.png');

// Crear la imagen principal, 100x100
$im = imagecreatetruecolor(100, 100);

// Rellenar el fondo con blanco
$blanco = imagecolorallocate($im, 255, 255, 255);
imagefilledrectangle($im, 0, 0, 299, 99, $blanco);

// Establecer el pincel
imagesetbrush($im, $php);

// Dibujar un par de pinceles, cada uno solapando al otro
imageline($im, 50, 50, 50, 60, IMG_COLOR_BRUSHED);

// Imprimir la imagen al navegaador
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
imagedestroy($php);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : imagesetbrush()

Notas

Nota:

No se necesita tomar acciones especiales cuando se ha dejado de usar un pincel, pero si se destruye la imagen de pincel, ¡no se deben usar los colores IMG_COLOR_BRUSHED o IMG_COLOR_STYLEDBRUSHED hasta que se haya establecido una nueva imagen de pincel!

imagescale
imagesetinterpolation
Funciones de GD e Imágenes


Establecer el método de interpolación

imagesetbrush
imagesetpixel
Funciones de GD e Imágenes
PHP Manual

imagesetinterpolation

(PHP 5 >= 5.5.0)

imagesetinterpolation — Establecer el método de interpolación

Descripción

bool imagesetinterpolation ( resource $image [, int $method = IMG_BILINEAR_FIXED ] )

Establece el método de interpolación. Establecer un método de interpolación afecta la renderización de varias funciones de GD, tal como la función imagerotate().

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

method

El método de interpolación, que puede ser uno de los siguientes:

  • IMG_BELL: Filtro Bell.
  • IMG_BESSEL: Filtro Bessel.
  • IMG_BICUBIC: Interpolación bicúbica.
  • IMG_BICUBIC_FIXED: Implementación de punto fijo de la interpolación bicúbica.
  • IMG_BILINEAR_FIXED: Implementación de punto fijo de la interpolación bilinear (predeterminado (también en la creación de imágenes)).
  • IMG_BLACKMAN: Función de ventana Blackman.
  • IMG_BOX: Filtro Box blur.
  • IMG_BSPLINE: Interpolación spline.
  • IMG_CATMULLROM: Interpolación spline Hermite cúbica.
  • IMG_GAUSSIAN: Función gaussiana.
  • IMG_GENERALIZED_CUBIC: Interpolación fractal spline cúbica generalizada.
  • IMG_HERMITE: Interpolación Hermite.
  • IMG_HAMMING: Filtro Hamming.
  • IMG_HANNING: Filtro Hanning.
  • IMG_MITCHELL: Filtro Mitchell.
  • IMG_POWER: Interpolación Power.
  • IMG_QUADRATIC: Interpolación cuadrática inversa.
  • IMG_SINC: Función Sinc.
  • IMG_NEAREST_NEIGHBOUR: Interpolación vecino más cercano.
  • IMG_WEIGHTED4: Filtro Weighting.
  • IMG_TRIANGLE: Interpolación de triángulo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imagesetinterpolation()

<?php
// Cargar una image
$im = imagecreate(500, 500);

// Por omisión, la interpolación es IMG_BILINEAR_FIXED, se cambia
// para usar el filtro 'Mitchell':
imagesetinterpolation($im, IMG_MITCHELL);

// Continuar trabajando con $im ...
?>

Notas

Cambiar el método de interpolación afecta a las siguientes funciones al renderizar:

  • imageaffine()
  • imagerotate()
  • imagescale()

imagesetbrush
imagesetpixel
Funciones de GD e Imágenes


Establecer un simple píxel

imagesetinterpolation
imagesetstyle
Funciones de GD e Imágenes
PHP Manual

imagesetpixel

(PHP 4, PHP 5)

imagesetpixel — Establecer un simple píxel

Descripción

bool imagesetpixel ( resource $image , int $x , int $y , int $color )

imagesetpixel() dibuja un píxel en las coordenadas especificadas.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

x

Coordenada x.

y

Coordenada y.

color

Un identificador de color creado con imagecolorallocate().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imagesetpixel()

Un dibujo aleatorio que termina en una imagen regular.

<?php

$x = 200;
$y = 200;

$gd = imagecreatetruecolor($x, $y);

$esquinas[0] = array('x' => 100, 'y' =>  10);
$esquinas[1] = array('x' =>   0, 'y' => 190);
$esquinas[2] = array('x' => 200, 'y' => 190);

$rojo = imagecolorallocate($gd, 255, 0, 0);

for ($i = 0; $i < 100000; $i++) {
  imagesetpixel($gd, round($x),round($y), $rojo);
  $a = rand(0, 2);
  $x = ($x + $esquinas[$a]['x']) / 2;
  $y = ($y + $esquinas[$a]['y']) / 2;
}

header('Content-Type: image/png');
imagepng($gd);

?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : imagesetpixel()

Ver también

  • imagecreatetruecolor() - Crear una nueva imagen de color verdadero
  • imagecolorallocate() - Asigna un color para una imagen
  • imagecolorat() - Obtener el índice del color de un píxel

imagesetinterpolation
imagesetstyle
Funciones de GD e Imágenes


Establecer el estilo para el dibujo de líneas

imagesetpixel
imagesetthickness
Funciones de GD e Imágenes
PHP Manual

imagesetstyle

(PHP 4 >= 4.0.6, PHP 5)

imagesetstyle — Establecer el estilo para el dibujo de líneas

Descripción

bool imagesetstyle ( resource $image , array $style )

imagesetstyle() establece el estilo para ser usado por todas las funciones de dibujo de líneas (como imageline() y imagepolygon()) cuando se dibuja con el color especial IMG_COLOR_STYLED o líneas de imágenes con el color IMG_COLOR_STYLEDBRUSHED.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

style

Una matriz de colores de píxel. Se puede usar la constante IMG_COLOR_TRANSPARENT para añadir un píxel transparente.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

El siguiente script de ejemplo dibuja una línea discontinua desde la esquina superior izquierda a la esquina inferior derecha del lienzo:

Ejemplo #1 Ejemplo de imagesetstyle()

<?php
header("Content-type: image/jpeg");
$im  = imagecreatetruecolor(100, 100);
$b   = imagecolorallocate($im, 255, 255, 255);
$rojo = imagecolorallocate($im, 255, 0, 0);

/* Dibujar una línea discontinua, 5 píxeles rojos, 5 píxeles blancos */
$estilo = array($rojo, $rojo, $rojo, $rojo, $rojo, $b, $b, $b, $b, $b);
imagesetstyle($im, $estilo);
imageline($im, 0, 0, 100, 100, IMG_COLOR_STYLED);

/* Dibujar una línea de caras felices usando imagesetbrush() con imagesetstyle */
$estilo = array($b, $b, $b, $b, $b, $b, $b, $b, $b, $b, $b, $b, $rojo);
imagesetstyle($im, $estilo);

$pincel = imagecreatefrompng("http://www.libpng.org/pub/png/images/smile.happy.png");
$b2 = imagecolorallocate($pincel, 255, 255, 255);
imagecolortransparent($pincel, $b2);
imagesetbrush($im, $pincel);
imageline($im, 100, 0, 0, 100, IMG_COLOR_STYLEDBRUSHED);

imagejpeg($im);
imagedestroy($im);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : imagesetstyle()

Ver también

  • imagesetbrush() - Establecer la imagen de pincel para el dibujo de líneas
  • imageline() - Dibujar una línea

imagesetpixel
imagesetthickness
Funciones de GD e Imágenes


Establecer el grosor para el dibujo de líneas

imagesetstyle
imagesettile
Funciones de GD e Imágenes
PHP Manual

imagesetthickness

(PHP 4 >= 4.0.6, PHP 5)

imagesetthickness — Establecer el grosor para el dibujo de líneas

Descripción

bool imagesetthickness ( resource $image , int $thickness )

imagesetthickness() establece el grosor de las líneas cuando se dibujan rectágulos, polígonos, elipses, etc..., a thickness píxeles.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

thickness

El grosor, en píxeles.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imagesetthickness()

<?php
// Crear una imagen de 200x100
$im = imagecreatetruecolor(200, 100);
$blanco = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);
$negro = imagecolorallocate($im, 0x00, 0x00, 0x00);

// Esteblecer el fondo a blanco
imagefilledrectangle($im, 0, 0, 299, 99, $blanco);

// Establecer el grosor de línea a 5
imagesetthickness($im, 5);

// Dibujar un rectángulo
imagerectangle($im, 14, 14, 185, 85, $negro);

// Imprimir la imagen al navegador
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : imagesetthickness()

Notas

Nota: Esta función require GD 2.0.1 o superior (se recomienda 2.0.28 o superior).

imagesetstyle
imagesettile
Funciones de GD e Imágenes


Establecer la imagen de tesela para rellenos

imagesetthickness
imagestring
Funciones de GD e Imágenes
PHP Manual

imagesettile

(PHP 4 >= 4.0.6, PHP 5)

imagesettile — Establecer la imagen de tesela para rellenos

Descripción

bool imagesettile ( resource $image , resource $tile )

imagesettile() establece la imagen de tesela para usarse con todas las funciones de relleno de regiones (como imagefill() y imagefilledpolygon()) cuando se rellena con el color especial IMG_COLOR_TILED.

Una tesela es una imagen usada para rellenar un área con un patrón repetido. Cualquier imagen GD se puede usar como una tesela, y estableciendo el índice de color transparente de la imagen de tesela con imagecolortransparent(), se puede hacer que una tesela permita que ciertas partes del área de la capa inferior brillen a través de la imagen.

Nota:

No se necesita tomar acciones especiales cuando se ha dejado de usar una tesela, pero si se destruye la imagen de tesela, ¡no se debe usar el color IMG_COLOR_TILED hasta que se haya establecido una nueva imagen de tesela!

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

tile

El recurso de imagen que va a ser usado como una tesela.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imagesettile()

<?php
// Cargar una imagen externa
$zend = imagecreatefromgif('./zend.gif');

// Crear una imagen de 200x200
$im = imagecreatetruecolor(200, 200);

// Establecer la tesela
imagesettile($im, $zend);

// Hacer que la imagen se repita
imagefilledrectangle($im, 0, 0, 199, 199, IMG_COLOR_TILED);

// Imprimir la imagen en el navegador
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
imagedestroy($zend);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : imagesettile()

imagesetthickness
imagestring
Funciones de GD e Imágenes


Dibujar una cadena horizontalmente

imagesettile
imagestringup
Funciones de GD e Imágenes
PHP Manual

imagestring

(PHP 4, PHP 5)

imagestring — Dibujar una cadena horizontalmente

Descripción

bool imagestring ( resource $image , int $font , int $x , int $y , string $string , int $color )

Dibuja la cadena string en las coordenadas dadas.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

font

Puede ser 1, 2, 3, 4, 5 para fuentes built-in en latin2 encoding (los números más altos corresponden a large fonts) o cualquier de sus propios identificadores de fuentes registrados con imageloadfont().

x

Coordenada x de la esquina superior izquierda.

y

Coordenada y de la esquina superior izquierda.

string

La cadena a escribir.

color

Un identificador de color creado con imagecolorallocate().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imagestring()

<?php
// Crear una imagen de 100*30
$im = imagecreate(100, 30);

// Fondo blanco y texto azul
$fondo = imagecolorallocate($im, 255, 255, 255);
$color_texto = imagecolorallocate($im, 0, 0, 255);

// Escribir la cadena en la parte superior izquierda
imagestring($im, 5, 0, 0, 'Hello world!', $color_texto);

// Imprimir la imagen
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : imagestring()

Ver también

  • imageloadfont() - Cargar una nueva fuente
  • imagettftext() - Escribir texto en la imagen usando fuentes TrueType

imagesettile
imagestringup
Funciones de GD e Imágenes


Dibujar una cadena verticalmente

imagestring
imagesx
Funciones de GD e Imágenes
PHP Manual

imagestringup

(PHP 4, PHP 5)

imagestringup — Dibujar una cadena verticalmente

Descripción

bool imagestringup ( resource $image , int $font , int $x , int $y , string $string , int $color )

Dibuja la cadena string verticalmente en las coordenadas dadas.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

font

Puede ser 1, 2, 3, 4, 5 para fuentes built-in en latin2 encoding (los números más altos corresponden a large fonts) o cualquier de sus propios identificadores de fuentes registrados con imageloadfont().

x

Coordenada x de la esquina inferior izquierda.

y

Coordenada y de la esquina inferior izquierda.

string

La cadena a escribir.

color

Un identificador de color creado con imagecolorallocate().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imagestringup()

<?php
// crear una imagen de 100*100
$im = imagecreatetruecolor(100, 100);

// Escribir el texto
$color_texto = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);
imagestringup($im, 3, 40, 80, 'gd library', $color_texto);

// Guardar la imagen
imagepng($im, './stringup.png');
imagedestroy($im);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : imagestringup()

Ver también

  • imageloadfont() - Cargar una nueva fuente

imagestring
imagesx
Funciones de GD e Imágenes


Obtener el ancho de una imagen

imagestringup
imagesy
Funciones de GD e Imágenes
PHP Manual

imagesx

(PHP 4, PHP 5)

imagesx — Obtener el ancho de una imagen

Descripción

int imagesx ( resource $image )

Devuelve el ancho del recurso image dado.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

Valores devueltos

Devuelve el ancho de image o FALSE si se produjeron errores.

Ejemplos

Ejemplo #1 Usar imagesx()

<?php

// crear una imagen de 300*200
$img = imagecreatetruecolor(300, 200);

echo imagesx($img); // 300

?>

Ver también

  • imagecreatetruecolor() - Crear una nueva imagen de color verdadero
  • getimagesize() - Obtiene el tamaño de una imagen
  • imagesy() - Obtener el alto de una imagen

imagestringup
imagesy
Funciones de GD e Imágenes


Obtener el alto de una imagen

imagesx
imagetruecolortopalette
Funciones de GD e Imágenes
PHP Manual

imagesy

(PHP 4, PHP 5)

imagesy — Obtener el alto de una imagen

Descripción

int imagesy ( resource $image )

Devuelve el alto del recurso de imagen image dado.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

Valores devueltos

Devuelve el alto de image o FALSE si se produjeron errores.

Ejemplos

Ejemplo #1 Usar imagesy()

<?php

// crear una imagen de 300*200
$img = imagecreatetruecolor(300, 200);

echo imagesy($img); // 200

?>

Ver también

  • imagecreatetruecolor() - Crear una nueva imagen de color verdadero
  • getimagesize() - Obtiene el tamaño de una imagen
  • imagesx() - Obtener el ancho de una imagen

imagesx
imagetruecolortopalette
Funciones de GD e Imágenes


Convertir una imagen de color verdadero en una imagen de paleta

imagesy
imagettfbbox
Funciones de GD e Imágenes
PHP Manual

imagetruecolortopalette

(PHP 4 >= 4.0.6, PHP 5)

imagetruecolortopalette — Convertir una imagen de color verdadero en una imagen de paleta

Descripción

bool imagetruecolortopalette ( resource $image , bool $dither , int $ncolors )

imagetruecolortopalette() convierte una imagen de color verdadero en una imagen de paleta. El código para esta función fue sacado originalmente del código de la biblioteca de Independent JPEG Group, el cual es excelente. El código ha sido modificado para preservar tanta información alfa como sea posible en la paleta resultante, además de preservar colores tanto como sea posible. Esto no funciona tan bien como se podría esperar. Normalmente es mejor simplemente producir una imagen de salida de color verdadero en su lugar, lo que garantiza la calidad más alta de salida.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

dither

Indica si la imagen debería ser entramada - si es TRUE se usará el entramado, lo que resultará en una imágen más moteada pero con una aproximación de color mejor.

ncolors

Establece el número máximo de colores que se deberían retener en la paleta.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Convertir una imagen de color verdadero en una imagen de paleta

<?php
// Crear una nueva imagen de color verdadero
$im = imagecreatetruecolor(100, 100);

// Convertirla a paleta sin entramado y 255 colores
imagetruecolortopalette($im, false, 255);

// Guardar la imagen
imagepng($im, './paletteimage.png');
imagedestroy($im);
?>

Notas

Nota: Esta función require GD 2.0.1 o superior (se recomienda 2.0.28 o superior).

imagesy
imagettfbbox
Funciones de GD e Imágenes


Devuelve la caja circundante de un texto usando fuentes TrueType

imagetruecolortopalette
imagettftext
Funciones de GD e Imágenes
PHP Manual

imagettfbbox

(PHP 4, PHP 5)

imagettfbbox — Devuelve la caja circundante de un texto usando fuentes TrueType

Descripción

array imagettfbbox ( float $size , float $angle , string $fontfile , string $text )

Esta función calcula y devuelve la caja circundante en píxeles de un texto TrueType.

Parámetros

size

Tamaño de fuente.

Nota: En GD 1, se mide en píxels. En GD 2, se mide en puntos.

angle

El ángulo en grados en el que text será medido.

fontfile

El nombre de un archivo de fuente TrueType (puede ser una URL). Dependiendo de la versión de la biblioteca GD que esté usando PHP, se intentará buscar archivos que no comiencen con '/' añadiendo '.ttf' al nombre de archivo y buscando en una ruta de biblioteca definida de fuentes.

text

La cadena que va a ser medida.

Valores devueltos

imagettfbbox() devuelve una matriz con 8 elementos que representan cuatro puntos que hacen la caja circundante del texto si se tiene éxtio, y FALSE si se produjo un error.

key | contents
0 | esquina inferior izquierda, posición X
1 | esquina inferior izquierda, posición Y
2 | esquina inferior derecha, posición X
3 | esquina inferior derecha, posición Y
4 | esquina superior derecha, posición X
5 | esquina superior derecha, posición Y
6 | esquina superior izquierda, posición X
7 | esquina superior izquierda posición Y

Los puntos son relativos a text sin importar el ángulo angle, por lo que "superior izquierda" significa la esquina superior izquierda, viendo el texto horizontalmente.

Ejemplos

Ejemplo #1 Ejemplo de imagettfbbox()

<?php
// Crear una imagen de 300x150
$im = imagecreatetruecolor(300, 150);
$negro = imagecolorallocate($im, 0, 0, 0);
$blanco = imagecolorallocate($im, 255, 255, 255);

// Establecer el fondo a blanco
imagefilledrectangle($im, 0, 0, 299, 299, $blanco);

// Ruta de nuestro archivo de fuente
$fuente = './arial.ttf';

// Primero creamos nuestra caja circundante para nuestro primer texto
$bbox = imagettfbbox(10, 45, $fuente, 'Powered by PHP ' . phpversion());

// Estas son nuestras coordenadas para X e Y
$x = $bbox[0] + (imagesx($im) / 2) - ($bbox[4] / 2) - 25;
$y = $bbox[1] + (imagesy($im) / 2) - ($bbox[5] / 2) - 5;

// Escribirlo
imagettftext($im, 10, 45, $x, $y, $negro, $fuente, 'Powered by PHP ' . phpversion());

// Crear la siguiente caja circundante para el segundo texto
$bbox = imagettfbbox(10, 45, $fuente, 'and Zend Engine ' . zend_version());

// Establecer las coordenadas para que esté a continuación del primer texto
$x = $bbox[0] + (imagesx($im) / 2) - ($bbox[4] / 2) + 10;
$y = $bbox[1] + (imagesy($im) / 2) - ($bbox[5] / 2) - 5;

// Escribirlo
imagettftext($im, 10, 45, $x, $y, $negro, $fuente, 'and Zend Engine ' . zend_version());

// Imprimir al navegador
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>

Notas

Nota:

Esta función requiere tanto la biblioteca GD como la biblioteca » FreeType.

Ver también

  • imagettftext() - Escribir texto en la imagen usando fuentes TrueType

imagetruecolortopalette
imagettftext
Funciones de GD e Imágenes


Escribir texto en la imagen usando fuentes TrueType

imagettfbbox
imagetypes
Funciones de GD e Imágenes
PHP Manual

imagettftext

(PHP 4, PHP 5)

imagettftext — Escribir texto en la imagen usando fuentes TrueType

Descripción

array imagettftext ( resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text )

Escribe el texto text dado en una imagen usando fuentes TrueType.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

size

Tamaño de fuente. En función de la versión de GD, se especificará en pixels (GD1) o en puntos (GD2).

angle

El ángulo en grados, siendo 0 grados la lectura del texto de izquierda a derecha. Valores mayores representan una rotación en sentido contrario al de las agujas del reloj. Por ejemplo, un valor de 90 resultaria en la lectura de texto de abajo a arriba.

x

Las coordenadas dadas por x e y definirán el punto de referencia del primer carácter (aproximadamente la esquina inferior izquierda del carácter). Esto es diferente de imagestring(), donde x e y definen la esquina superior izquierda del primer carácter. Por ejemplo, "superior izquierda" es 0, 0.

y

La coordenada y. Esto establece la posición de la línea base de las fuentes, no la del pie del carácter.

color

El índice de color. Usar el negativo de un índice de color tiene el efecto de desactivar el antialias. Vése imagecolorallocate().

fontfile

La ruta de la fuente TrueType que se desea usar.

Dependiendo de la versión de GD que esté usando PHP, cuando fontfile no comienza con un / inicial, .ttf será añadido al nombre de archivo, y la biblioteca intentará buscar ese nombre de archivo en una ruta de biblioteca definida de fuentes.

Cuando se usan versiones de la biblioteca GD anteriores a 2.0.18, un carácter espacio, en vez de un punto y coma, es usado como el 'separador de ruta' para diferentes archivos de fuente. El uso involuntario de esta característica resultará en en el mensaje de advertencia: Warning: Could not find/open font. La única solución para estas versiones afectadas es mover la fuente a una ruta que no contenga espacios.

En muchos casos donde una fuente reside en el mismo derectorio que el script, el siguiente truco paliará cualquier problema de inclusión.

<?php
// Establecer la variable de entorno para GD
putenv('GDFONTPATH=' . realpath('.'));

// Nombrar la fuente que va ser usada (observe la ausencia de la extensión .ttf)
$fuente = 'UnaFuente';
?>

text

La cadena de texto en codificación UTF-8.

Puede incluir referencias a caracteres numéricos decimales (de la forma: &#8364;) para acceder a caracteres en la fuente que están más allá de la posición 127. El formato hexadecimal (como &#xA9;) está soportado. Las cadenas en codificación UTF-8 pueden pasarse directamente.

Las entidades con nombre, como &copy;, no están soportadas. Considere usar html_entity_decode() para decodificar estas entidades con nombre a strings UTF-8.

Si un carácter se usa en la cadena y no está soportado por la fuente, un rectángulo vacío reemplazará al carácter.

Valores devueltos

Devuelve una matriz con 8 elementos que representan cuatro puntos que hacen la caja circundante. El orden de los puntos es inferior izquierdo, inferior derecho, superior derecho, superior izquierdo. Los puntos son relativos al texto sin importar el ángulo, por lo que "superior izquierdo" significa en la esquina superior izquierda cuando se ve el texto horizontalmente. Devuelve FALSE si se produjo un error.

Historial de cambios

Versión | Descripción
5.2.0 | Ahora es posible especificar una entidad hexadecimal en text.

Ejemplos

Ejemplo #1 Ejemplo de imagettftext()

Este script de ejemplo producirá un PNG blanco de 400x30 píxeles, con la palabra "Testing..." en negro (con sombra gris), con la fuente Arial.

<?php
// Establecer el tipo de contenido
header('Content-Type: image/png');

// Crear la imagen
$im = imagecreatetruecolor(400, 30);

// Crear algunos colores
$blanco = imagecolorallocate($im, 255, 255, 255);
$gris = imagecolorallocate($im, 128, 128, 128);
$negro = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $blanco);

// El texto a dibujar
$texto = 'Testing...';
// Reemplace la ruta por la de su propia fuente
$fuente = 'arial.ttf';

// Añadir algo de sombra al texto
imagettftext($im, 20, 0, 11, 21, $gris, $fuente, $texto);

// Añadir el texto
imagettftext($im, 20, 0, 10, 20, $negro, $fuente, $texto);

// Usar imagepng() resultará en un texto más claro comparado con imagejpeg()
imagepng($im);
imagedestroy($im);
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : imagettftext()

Notas

Nota:

Esta función requiere tanto la biblioteca GD como la biblioteca » FreeType.

Ver también

  • imagettfbbox() - Devuelve la caja circundante de un texto usando fuentes TrueType

imagettfbbox
imagetypes
Funciones de GD e Imágenes


Devolver los tipos de imagen soportados por la versión actual de PHP

imagettftext
imagewbmp
Funciones de GD e Imágenes
PHP Manual

imagetypes

(PHP 4 >= 4.0.2, PHP 5)

imagetypes — Devolver los tipos de imagen soportados por la versión actual de PHP

Descripción

int imagetypes ( void )

Devuelve los tipos de imagen soportados por la instalación actual de PHP.

Valores devueltos

Devuelve un campo de bit correspondiente a los formatos de imagen soportados por la versión de GD vinculada a PHP. Los siguietes bits son devueltos, IMG_GIF | IMG_JPG | IMG_PNG | IMG_WBMP | IMG_XPM.

Ejemplos

Ejemplo #1 Comprobar el soporte para PNG

<?php
if (imagetypes() & IMG_PNG) {
    echo "El soporte para PNG está habilitado";
}
?>

imagettftext
imagewbmp
Funciones de GD e Imágenes


Exportar la imagen al navegador o a un fichero

imagetypes
imagewebp
Funciones de GD e Imágenes
PHP Manual

imagewbmp

(PHP 4 >= 4.0.1, PHP 5)

imagewbmp — Exportar la imagen al navegador o a un fichero

Descripción

bool imagewbmp ( resource $image [, string $filename [, int $foreground ]] )

imagewbmp() imprime o guarda una versión WBMP de la imagen image.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

filename

Ruta en la que guardar el fichero. Si no se establece, o su valor es NULL, se mostrará directamente en la salida el flujo de imagen.

foreground

Se puede establecer el color de primer plano con este parámetro estableciendo un identificador obtenido de imagecolorallocate(). El color de primer plano por defecto es negro.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Imprimir una imagen WBMP

<?php
// Crear una imagen en blanco y añadir algún texto
$im = imagecreatetruecolor(120, 20);
$color_texto = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $color_texto);

// Establecer la cabecera de tipo de contenido conveniente - es este caso image/vnd.wap.wbmp
// Consejo: vea image_type_to_mime_type() para los tipos de contenido
header('Content-Type: image/vnd.wap.wbmp');

// Imprimir la imagen
imagewbmp($im);

// Liberar memoria
imagedestroy($im);
?>

Ejemplo #2 Guardar una imagen WBMP

<?php
// Crear una imagen en blanco y añadir algún texto
$im = imagecreatetruecolor(120, 20);
$color_texto = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $color_texto);

// Guardar la imagen
imagewbmp($im, 'simpletext.wbmp');

// Liberar memoria
imagedestroy($im);
?>

Ejemplo #3 Imprimir la imagen con un primer plano diferente

<?php
// Crear una imagen en blanco y añadir algún texto
$im = imagecreatetruecolor(120, 20);
$color_texto = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $color_texto);

// Establecer la cabecera de tipo de contenido conveniente - es este caso image/vnd.wap.wbmp
// Consejo: vea image_type_to_mime_type() para los tipos de contenido
header('Content-Type: image/vnd.wap.wbmp');

// Esteblecer un color de primer plano sustituto
$color_primer_plano = imagecolorallocate($im, 255, 0, 0);

imagewbmp($im, NULL, $color_primer_plano);

// Liberar memoria
imagedestroy($im);
?>

Notas

Nota:

El soporte para WBMP sólo está disponible si PHP fue compilado con GD-1.8 o superior.

Ver también

  • image2wbmp() - Exportar la imagen al navegador o a un fichero
  • imagepng() - Imprimir una imagen PNG al navegador o a un archivo
  • imagegif() - Exportar la imagen al navegador o a un fichero
  • imagejpeg() - Exportar la imagen al navegador o a un fichero
  • imagetypes() - Devolver los tipos de imagen soportados por la versión actual de PHP

imagetypes
imagewebp
Funciones de GD e Imágenes


Imprimer una imagen WebP al navegador o fichero

imagewbmp
imagexbm
Funciones de GD e Imágenes
PHP Manual

imagewebp

(PHP 5 >= 5.5.0)

imagewebp — Imprimer una imagen WebP al navegador o fichero

Descripción

bool imagewebp ( resource $image , string $filename )

Imprime o guarda una versión WebP de la imagen dada por image.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

filename

Ruta en la que guardar el fichero. Si no se establece, o su valor es NULL, se mostrará directamente en la salida el flujo de imagen.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Guardar un fichero WebP

<?php
// Crear una imagen en blanco y añadir algo de texto
$im = imagecreatetruecolor(120, 20);
$color_texto = imagecolorallocate($im, 233, 14, 91);

imagestring($im, 1, 5, 5,  'WebP con PHP', $color_texto);

// Guardar la imagen
imagewebp($im, 'php.webp');

// Liberar memoria
imagedestroy($im);
?>

imagewbmp
imagexbm
Funciones de GD e Imágenes


Imprimir una imagen XBM al navegador o a una archivo

imagewebp
iptcembed
Funciones de GD e Imágenes
PHP Manual

imagexbm

(PHP 5)

imagexbm — Imprimir una imagen XBM al navegador o a una archivo

Descripción

bool imagexbm ( resource $image , string $filename [, int $foreground ] )

Imprime o guarda una versión XBM de la imagen image.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

filename

Ruta en la que guardar el fichero. Si no se establece, o su valor es NULL, se mostrará directamente en la salida el flujo de imagen.

foreground

Se puede establecer el color de primer plano con este parámetro estableciendo un identificador obtenido de imagecolorallocate(). El color de primer plano por defecto es negro.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Guardar un archivo XBM

<?php
// Crear una imagen en blanco y añadir algún texto
$im = imagecreatetruecolor(120, 20);
$color_texto = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $color_texto);

// Guardar la imagen
imagexbm($im, 'simpletext.xbm');

// Liberar memoria
imagedestroy($im);
?>

Ejemplo #2 Guardar un archivo XBM con un color de primer plano diferente

<?php
// Crear una imagen en blanco y añadir algún texto
$im = imagecreatetruecolor(120, 20);
$color_texto = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $color_texto);

// Esteblecer un color de primer plano sustituto
$color_primer_plano = imagecolorallocate($im, 255, 0, 0);

// Guardar la imagen
imagexbm($im, NULL, $color_primer_plano);

// Liberar memoria
imagedestroy($im);
?>

Notas

Nota: Esta función sólo está disponible si PHP fue compilado con la versión incluida de GD library.

imagewebp
iptcembed
Funciones de GD e Imágenes


Incluir información IPTC binaria en una imagen JPEG

imagexbm
iptcparse
Funciones de GD e Imágenes
PHP Manual

iptcembed

(PHP 4, PHP 5)

iptcembed — Incluir información IPTC binaria en una imagen JPEG

Descripción

mixed iptcembed ( string $iptcdata , string $jpeg_file_name [, int $spool ] )

Incluye información IPTC binaria en una imagen JPEG.

Parámetros

iptcdata

La información que va a ser escrita.

jpeg_file_name

Ruta a la imagen JPEG.

spool

Bandera de spool. Si la bandera de spool es mayor que 2 el JPEG será devuelto como una cadena.

Valores devueltos

Si se tiene éxito y la bandera de spool es menor que 2 el JPEG no será devuelto como una cadena, FALSE si se produjeron errores.

Ejemplos

Ejemplo #1 Incluir información IPTC a un JPEG

<?php

// Función iptc_make_tag() por Thies C. Arntzen
function iptc_make_tag($rec, $data, $value)
{
    $length = strlen($value);
    $retval = chr(0x1C) . chr($rec) . chr($data);

    if($length < 0x8000)
    {
        $retval .= chr($length >> 8) .  chr($length & 0xFF);
    }
    else
    {
        $retval .= chr(0x80) .
                   chr(0x04) .
                   chr(($length >> 24) & 0xFF) .
                   chr(($length >> 16) & 0xFF) .
                   chr(($length >> 8) & 0xFF) .
                   chr($length & 0xFF);
    }

    return $retval . $value;
}

// Ruta al archivo jpeg
$ruta = './phplogo.jpg';

// Necesitamos verificar si hay información IPTC en la imagen jpeg. Si la hay
// nos sacará de apuros ¡ya que no podemos incluir una imagen que ya tiene informacion IPTC!
$image = getimagesize($ruta, $info);

if(isset($info['APP13']))
{
    die('Error: Información IPTC encontrada en la imagen de origen, no se puede continuar');
}

// Establecer las etiquetas IPTC
$iptc = array(
    '2#120' => 'Imagen de prueba',
    '2#116' => 'Copyright 2008-2009, The PHP Group'
);

// Convertir las etiquetas IPTC en código binario
$data = '';

foreach($iptc as $etiqueta => $cadena)
{
    $etiqueta = substr($etiqueta, 2);
    $data .= iptc_make_tag(2, $etiqueta, $cadena);
}

// Incluir la información IPTC
$contenido = iptcembed($data, $ruta);

// Escribir la nueva información de la imagen en un archivo.
$fp = fopen($ruta, "wb");
fwrite($fp, $contenido);
fclose($fp);
?>

Notas

Nota:

Esta función no requiere la librería GD image.

imagexbm
iptcparse
Funciones de GD e Imágenes


Conviertir un bloque IPTC binario en simples etiquetas

iptcembed
jpeg2wbmp
Funciones de GD e Imágenes
PHP Manual

iptcparse

(PHP 4, PHP 5)

iptcparse — Conviertir un bloque IPTC binario en simples etiquetas

Descripción

array iptcparse ( string $iptcblock )

Convierte un bloque » IPTC en sus etiquetas.

Parámetros

iptcblock

Un bloque IPTC binario.

Valores devueltos

Devuelve una matriz usando el marcador de etiquetas como un índice, y el valor como el valor. Devuelve FALSE si se produjo un error o si no se encontró información IPTC.

Ejemplos

Ejemplo #1 iptcparse() usado junto con getimagesize()

<?php
$tamaño = getimagesize('./prueba.jpg', $info);
if(isset($info['APP13']))
{
    $iptc = iptcparse($info['APP13']);
    var_dump($iptc);
}
?>

Notas

Nota:

Esta función no requiere la librería GD image.

iptcembed
jpeg2wbmp
Funciones de GD e Imágenes


Convertir un archiov de imagen JPEG a un archivo de imagen WBMP

iptcparse
png2wbmp
Funciones de GD e Imágenes
PHP Manual

jpeg2wbmp

(PHP 4 >= 4.0.5, PHP 5)

jpeg2wbmp — Convertir un archiov de imagen JPEG a un archivo de imagen WBMP

Descripción

bool jpeg2wbmp ( string $jpegname , string $wbmpname , int $dest_height , int $dest_width , int $threshold )

Convierte un archivo JPEG en un archivo WBMP.

Parámetros

jpegname

Ruta del archivo JPEG.

wbmpname

Ruta del archivo WBMP de destino.

dest_height

Alto de la imagen de destino.

dest_width

Ancho de la imagen de destino.

threshold

Valor de umbral, entre 0 y 8 (inclusive).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de jpeg2wbmp()

<?php
// Ruta del jpeg objetivo
$ruta = './prueba.jpg';

// Obtener las dimensiones de la imagen
$imagen = getimagesize($ruta);

// Convertir la imagen
jpeg2wbmp($ruta, './prueba.wbmp', $imagen[1], $imagen[0], 5);
?>

Notas

Nota: El soporte de WBMP sólo está disponible si PHP fue compilado con GD-1.8 or superior.

Nota: El soporte de JPEG sólo está disponible si PHP fue compilado con GD-1.8 o superior.

Ver también

  • png2wbmp() - Convertir un archivo de imagen PNG a un archivo de imagen WBMP

iptcparse
png2wbmp
Funciones de GD e Imágenes


Convertir un archivo de imagen PNG a un archivo de imagen WBMP

jpeg2wbmp
Gmagick
Funciones de GD e Imágenes
PHP Manual

png2wbmp

(PHP 4 >= 4.0.5, PHP 5)

png2wbmp — Convertir un archivo de imagen PNG a un archivo de imagen WBMP

Descripción

bool png2wbmp ( string $pngname , string $wbmpname , int $dest_height , int $dest_width , int $threshold )

Convierte un archivo PNG a un archivo WBMP.

Parámetros

pngname

Ruta del archivo PNG.

wbmpname

Ruta del archivo WBMP de destino.

dest_height

Alto de la imagen de destino.

dest_width

Ancho de la imagen de destino.

threshold

Valor de umbral, entre 0 y 8 (inclusive).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejmplo de png2wbmp()

<?php
// Ruta al png objetivo
$ruta = './prueba.png';

// Obtener las dimensiones de la imagen
$imagen = getimagesize($ruta);

// Convertir la imagen
png2wbmp($ruta, './prueba.wbmp', $imagen[1], $imagen[0], 7);
?>

Notas

Nota: El soporte de WBMP sólo está disponible si PHP fue compilado con GD-1.8 or superior.

Ver también

  • jpeg2wbmp() - Convertir un archiov de imagen JPEG a un archivo de imagen WBMP

jpeg2wbmp
Gmagick
Funciones de GD e Imágenes


Gmagick

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
  • Constantes predefinidas
  • Ejemplos
  • Gmagick — La clase Gmagick
    • Gmagick::addimage — Añade una nueva imagen a la lista de imágenes del objeto Gmagick
    • Gmagick::addnoiseimage — Añade ruido aleatorio a la imagen
    • Gmagick::annotateimage — Anota una imagen con texto
    • Gmagick::blurimage — Añade un filtro de borrosidad a la imagen
    • Gmagick::borderimage — Rodea la imagen con un borde
    • Gmagick::charcoalimage — Simula un dibujo a carboncillo
    • Gmagick::chopimage — Elimina una región de una imagen y la recorta
    • Gmagick::clear — Limpia todos los recursos asociados con el objeto Gmagick
    • Gmagick::commentimage — Añade un comentario a una imagen
    • Gmagick::compositeimage — Compone una imagen en otra
    • Gmagick::__construct — El constructor Gmagick
    • Gmagick::cropimage — Extrae una región de la imagen
    • Gmagick::cropthumbnailimage — Crea una miniatura recortada
    • Gmagick::current — Devuelve la refencia al objeto Gmagick acutal
    • Gmagick::cyclecolormapimage — Desplaza un mapa de color de una imagen
    • Gmagick::deconstructimages — Devuelve ciertas diferencias de píxeles entre imágenes
    • Gmagick::despeckleimage — Reduce el ruido granular de una imagen
    • Gmagick::destroy — Destruye un objeto Gmagick
    • Gmagick::drawimage — Renderiza el objeto GmagickDraw en la imagen actual
    • Gmagick::edgeimage — Mejora los bordes dentro de una imagen
    • Gmagick::embossimage — Devuelve una imagen en escala de grises con un efecto tridimensional
    • Gmagick::enhanceimage — Mejora la calidad de una imagen con ruido
    • Gmagick::equalizeimage — Ecualiza el histograma de la imagen
    • Gmagick::flipimage — Crea una imagen espejo vertical
    • Gmagick::flopimage — Crea una imagen espejo horizontal
    • Gmagick::frameimage — Añade un borde tridimensional simulado
    • Gmagick::gammaimage — Corrección gamma de una imagen
    • Gmagick::getcopyright — Devuelve el copyright de la API GraphicsMagick como una cadena
    • Gmagick::getfilename — El nombre de archivo asociado a una secuencia de imágenes
    • Gmagick::getimagebackgroundcolor — Devuelve el color de fondo de la imagen
    • Gmagick::getimageblueprimary — Devuelve el punto primario azul de la cromaticidad
    • Gmagick::getimagebordercolor — Devuelve el color del borde de la imagen
    • Gmagick::getimagechanneldepth — Obtiene la profundidad de un canal de imagen en particular
    • Gmagick::getimagecolors — Devuelve el color del índice del mapa de color especificado
    • Gmagick::getimagecolorspace — Obtiene el espacio de colores de la imagen
    • Gmagick::getimagecompose — Devuelve el operador de composición asociado a la imagen
    • Gmagick::getimagedelay — Obetiene el retraso de la imagen
    • Gmagick::getimagedepth — Obtiene la profundidad de la imagen
    • Gmagick::getimagedispose — Obtiene el método de disposición de la imagen
    • Gmagick::getimageextrema — Obtiene los extremos de la imagen
    • Gmagick::getimagefilename — Devuelve el nombre de archivo de una imagen en particular de una secuencia
    • Gmagick::getimageformat — Devuelve el formato de una imagen en particular de una secuencia
    • Gmagick::getimagegamma — Obtiene el valor gamma de la imagen
    • Gmagick::getimagegreenprimary — Devuelve el punto primario verde de la cromaticidad
    • Gmagick::getimageheight — Devuelve el alto de la imagen
    • Gmagick::getimagehistogram — Obtiene el histograma de la imagen
    • Gmagick::getimageindex — Obtiene el índice de la imagen activa actual
    • Gmagick::getimageinterlacescheme — Obtiene la combinación de entrelazado de la imagen
    • Gmagick::getimageiterations — Obtiene las iteraciones de la imagen
    • Gmagick::getimagematte — Devuelve si la imagen tiene un canal mate
    • Gmagick::getimagemattecolor — Devuelve el color mate de la imagen
    • Gmagick::getimageprofile — Devuelve el perfil nominado de la imagen
    • Gmagick::getimageredprimary — Devuelve el punto primario rojo de la cromaticidad
    • Gmagick::getimagerenderingintent — Obtiene la propuesta de renderización de la imagen
    • Gmagick::getimageresolution — Obtiene la resolución X e Y de la imagen
    • Gmagick::getimagescene — Obtiene la escena de la imagen
    • Gmagick::getimagesignature — Genera un resumen de un mensaje SHA-256
    • Gmagick::getimagetype — Obtiene el tipo de imagen potencial.
    • Gmagick::getimageunits — Obtiene las unidades de resolución de la imagen
    • Gmagick::getimagewhitepoint — Devuelve el punto blanco de la cromaticidad
    • Gmagick::getimagewidth — Devuelve el ancho de la imagen
    • Gmagick::getpackagename — Devuelve el nombre del paquete de GraphicsMagick
    • Gmagick::getquantumdepth — Obtiene la profundidad de la cuantía de Gmagick como una cadena
    • Gmagick::getreleasedate — Devuelve la fecha de distribución de GraphicsMagick como una cadena
    • Gmagick::getsamplingfactors — Obtiene el factor de muestreo horizontal y vertical
    • Gmagick::getsize — Devuelve el tamaño asociado con el objeto Gmagick
    • Gmagick::getversion — Devuelve la versión de la API GraphicsMagick
    • Gmagick::hasnextimage — Comprueba si el objeto tiene más imágenes
    • Gmagick::haspreviousimage — Verifica si el objeto tiene una imagen previa
    • Gmagick::implodeimage — Crea una nueva imagen como una copia
    • Gmagick::labelimage — Añade una etiqueta a una imagen
    • Gmagick::levelimage — Ajusta los niveles de la imagen
    • Gmagick::magnifyimage — Escala una imagen x2 proporcionalmente
    • Gmagick::mapimage — Reemplaza los colores de una imagen con el color más cercano de una imagen de referencia
    • Gmagick::medianfilterimage — Aplica un filtro digital
    • Gmagick::minifyimage — Escala una imagen proporcionalmente a la mitad de su tamaño
    • Gmagick::modulateimage — Controla el brillo, la saturación y el tono
    • Gmagick::motionblurimage — Simula borrosidad en movimiento
    • Gmagick::newimage — Crea una nueva imagen
    • Gmagick::nextimage — Se mueve a la siguiente imagen
    • Gmagick::normalizeimage — Mejora el contraste de una imagen a color
    • Gmagick::oilpaintimage — Simula una pintura al óleo
    • Gmagick::previousimage — Se mueve a la imagen previa del objeto
    • Gmagick::profileimage — Añade o elimina un perfil de una imagen
    • Gmagick::quantizeimage — Analiza los colores dentro de una imagen de referencia
    • Gmagick::quantizeimages — Analiza los colores dentro de una secuencia de imágenes
    • Gmagick::queryfontmetrics — Devuelve una matriz que representa las métricas de la fuente
    • Gmagick::queryfonts — Devuelve las fuentes configuradas
    • Gmagick::queryformats — Devuelve los formatos soportados por Gmagick
    • Gmagick::radialblurimage — Hace borrosa de forma radial una imagen
    • Gmagick::raiseimage — Crea un efecto de botón en 3D simulado
    • Gmagick::read — Lee una imagen desde un nombre de archivo
    • Gmagick::readimage — Lee una imagen desde un nombre de archivo
    • Gmagick::readimageblob — Lee una imagen desde una cadena binaria
    • Gmagick::readimagefile — Lee una imagen desde un descriptor de archivo abierto
    • Gmagick::reducenoiseimage — Suaviza los contornos de una imagen
    • Gmagick::removeimage — Elimina una imagen de la lista de imágenes
    • Gmagick::removeimageprofile — Elimina el perfil nominado de la imagen y lo devuelve
    • Gmagick::resampleimage — Re-muestrea la imagen a la resolución deseada
    • Gmagick::resizeimage — Escala una imagen
    • Gmagick::rollimage — Compensa una imagen
    • Gmagick::rotateimage — Rota una imagen
    • Gmagick::scaleimage — Escala el tamaño de una imagen
    • Gmagick::separateimagechannel — Separa un canal de la imagen
    • Gmagick::setfilename — Establece el nombre de archivo antes de que se lea o escriba una imagen
    • Gmagick::setimagebackgroundcolor — Establece el color de fondo de la imagen
    • Gmagick::setimageblueprimary — Establece el punto primario azul de la cromaticidad de la imagen
    • Gmagick::setimagebordercolor — Establece el color de borde de la imagen
    • Gmagick::setimagechanneldepth — Establece la profundidad de una canal de imagen en particular
    • Gmagick::setimagecolorspace — Establece el espacio de color de una imagen
    • Gmagick::setimagecompose — Establece el operador de composción de una imagen
    • Gmagick::setimagedelay — Establece el retardo de una imagen
    • Gmagick::setimagedepth — Establece la profundidad de una imagen
    • Gmagick::setimagedispose — Establece el método de disposición de una imagen
    • Gmagick::setimagefilename — Establece el nombre de archivo de una imagen en particular en una secuencia
    • Gmagick::setimageformat — Establece el formato de una imagen en particular
    • Gmagick::setimagegamma — Establece el valor gamma de la imagen
    • Gmagick::setimagegreenprimary — Establece el punto primario verde de la cromaticidad de la imagen
    • Gmagick::setimageindex — Establece la posición del iterador en la lista de imágenes especificada con el parámetro index
    • Gmagick::setimageinterlacescheme — Establece la combinación de entrelazado de la imagen
    • Gmagick::setimageiterations — Establece las iteraciones de la imagen
    • Gmagick::setimageprofile — Añade un perfil nominado al objeto Gmagick
    • Gmagick::setimageredprimary — Establece el punto primario rojo de la cromaticidad de la imagen
    • Gmagick::setimagerenderingintent — Establece el propósito de renderización de la imagen
    • Gmagick::setimageresolution — Establece la resolución de la imagen
    • Gmagick::setimagescene — Establece la escena de la imagen
    • Gmagick::setimagetype — Establece el tipo de imagen
    • Gmagick::setimageunits — Establece las unidades de resolución de la imagen
    • Gmagick::setimagewhitepoint — Establece el punto blanco de cromaticidad de la imagen
    • Gmagick::setsamplingfactors — Establece los factores de muestreo de la imagen
    • Gmagick::setsize — Establece el tamaño del objeto Gmagick
    • Gmagick::shearimage — Crea un paralelogramo
    • Gmagick::solarizeimage — Aplica un efecto de solarización a la imagen
    • Gmagick::spreadimage — Despalza aleatoriamente cada píxel en un bloque
    • Gmagick::stripimage — Elimina todos los perfiles y comentarios de una imagen
    • Gmagick::swirlimage — Arremolina los píxeles desde el centro de la imagen
    • Gmagick::thumbnailimage — Cambia el tamaño de una imagen
    • Gmagick::trimimage — Elimina los extremos de la imagen
    • Gmagick::write — Escribe una imagen al nombre de archivo especificado
    • Gmagick::writeimage — Escribe una imagen al nombre de archivo especificado
  • GmagickDraw — La clase GmagickDraw
    • GmagickDraw::annotate — Dibuja texto en la imagen
    • GmagickDraw::arc — Dibuja un arco
    • GmagickDraw::bezier — Dibuja una curva Bézier
    • GmagickDraw::ellipse — Dibuja una elipse en la imagen
    • GmagickDraw::getfillcolor — Devuelve el color de relleno
    • GmagickDraw::getfillopacity — Devuelve la opacidad usada cuando se dibuja
    • GmagickDraw::getfont — Devuelve la fuente
    • GmagickDraw::getfontsize — Devuelve el tamaño de punto de la fuente
    • GmagickDraw::getfontstyle — Devuelve el estilo de fuente
    • GmagickDraw::getfontweight — Devuelve el peso de la fuente
    • GmagickDraw::getstrokecolor — Devuelve el color usado para contornear perfiles de objetos
    • GmagickDraw::getstrokeopacity — Devuelve la opacidad de los perfiles del objeto contorneado
    • GmagickDraw::getstrokewidth — Devuelve el ancho del contorno usado para dibular perfiles del objeto
    • GmagickDraw::gettextdecoration — Devuelve la decoración del texto
    • GmagickDraw::gettextencoding — Devuelve el conjunto de codificación usado para anotaciones de texto
    • GmagickDraw::line — Dibuja una línea en la imagen
    • GmagickDraw::point — Dibuja un punto
    • GmagickDraw::polygon — Dibuja un polígono
    • GmagickDraw::polyline — Dibuja una polilínea
    • GmagickDraw::rectangle — Dibuja un rectángulo
    • GmagickDraw::rotate — Aplica la rotación especificada al espacio de coordenadas actual
    • GmagickDraw::roundrectangle — Dibuja un rectángulo redondeado
    • GmagickDraw::scale — Ajusta el factor de escala
    • GmagickDraw::setfillcolor — Establece el color de relleno a usar cuando se dibujan objetos rellenos
    • GmagickDraw::setfillopacity — Establece la opacidad del relleno
    • GmagickDraw::setfont — Establece la fuente especificada completamente a usar cuando se anota texto
    • GmagickDraw::setfontsize — Establece el tamaño de punto de la fuente a usar cuando se anota texto
    • GmagickDraw::setfontstyle — Establece el estilo de fuente a usar cuando se anota texto
    • GmagickDraw::setfontweight — Establece el peso de la fuente
    • GmagickDraw::setstrokecolor — Establece el color usado para contornear los perfiles del objeto.
    • GmagickDraw::setstrokeopacity — Especifica la opacidad del los perfiles del objeto contorneado
    • GmagickDraw::setstrokewidth — Establece el ancho del contorno usado para dibujar los perfiles del objeto.
    • GmagickDraw::settextdecoration — Especifica una decoración
    • GmagickDraw::settextencoding — Especifica el conjunto de codificación del texto
  • GmagickPixel — La clase GmagickPixel
    • GmagickPixel::__construct — El constructor GmagickPixel
    • GmagickPixel::getcolor — Devuelve el color
    • GmagickPixel::getcolorcount — Devuelve la cuenta de color asociada a este color
    • GmagickPixel::getcolorvalue — Obtiene el valor normalizado del canal de color proporcionado
    • GmagickPixel::setcolor — Establece el color
    • GmagickPixel::setcolorvalue — Establece el valor normalizado de uno de los canales
png2wbmp
Introducción
Procesamiento y generación de imágenes


Introducción

Gmagick es una extensión de php para crear, modificar y obtener meta-información de imágenes usando la API GraphicsMagick.

GraphicsMagick se enorgullece de ser la navaja suiza del procesamiento de imágenes. Trabaja con más de 88 formatos importantes incluyendo formatos como DPX, GIF, JPEG, JPEG-2000, PNG, PDF, PNM, y TIFF.

Gmagick consiste en una clase Gmagick principal, una clase GmagickDraw que de hecho es una varita mágica de dibujo y una clase GmagickPixel cuyas instancias representan un sólo píxel de una imagen (color, opacidad).

Gmagick
Instalación/Configuración
Gmagick


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
Introducción
Requerimientos
Gmagick


Requerimientos

Esta extensión trabaja mejor con las versiones 1.4+ de GraphicsMagick y 5.1.3+ de PHP. Gmagick debería funcionar con versiones anteriores hasta GraphicsMagick 1.2.6 pero algunas características y formatos no están soportados por estas versiones. La versión de Windows de GraphicsMagick está disponible en la página web de GraphicsMagick. Para leer acerca de la diferencia entre ImageMagick y GraphicsMagick, verifique esto: » FAQ .

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/gmagick.

Nota: El nombre oficial de esta extensión es gmagick.

Para Windows, la construcción de la extensión Gmagick está disponible » aquí

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración definidas en php.ini.

Instalación
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Constantes de Tipo de Color
Gmagick::COLOR_BLACK (integer)
Negro
Gmagick::COLOR_BLUE (integer)
Azul
Gmagick::COLOR_CYAN (integer)
Cian
Gmagick::COLOR_GREEN (integer)
Verde
Gmagick::COLOR_RED (integer)
Rojo
Gmagick::COLOR_YELLOW (integer)
Amarillo
Gmagick::COLOR_MAGENTA (integer)
Magenta
Gmagick::COLOR_OPACITY (integer)
Opacidad
Gmagick::COLOR_ALPHA (integer)
Alfa
Gmagick::COLOR_FUZZ (integer)
Enfoque
Constantes de Operadores de Composición
Gmagick::COMPOSITE_DEFAULT (integer)
Operador de composición por defecto
Gmagick::COMPOSITE_UNDEFINED (integer)
Operador de composición indefinido
Gmagick::COMPOSITE_NO (integer)
Operador de disposición no definido
Gmagick::COMPOSITE_ADD (integer)
El resultado de imagen + imagen
Gmagick::COMPOSITE_ATOP (integer)
El resultado tiene la misma forma que la imagen, con la imagen compuesta oscurenciendo la imagen, donde la imagen forma solapamiento
Gmagick::COMPOSITE_BLEND (integer)
Mezcla la imagen
Gmagick::COMPOSITE_BUMPMAP (integer)
Lo mismo que COMPOSITE_MULTIPLY, excepto que el origen primero se covierte a escala de grises.
Gmagick::COMPOSITE_CLEAR (integer)
Hace a la imagen objetivo transparente
Gmagick::COMPOSITE_COLORBURN (integer)
Oscurece la imagen destino para reflejar la imagen de origen
Gmagick::COMPOSITE_COLORDODGE (integer)
Hace más brillante la imagen destino para reflejar la imagen de origen
Gmagick::COMPOSITE_COLORIZE (integer)
Colorea la imagen objetivo utilizando la imagen compuesta
Gmagick::COMPOSITE_COPYBLACK (integer)
Copia el negro del origen al objetivo
Gmagick::COMPOSITE_COPYBLUE (integer)
Copia el azul del origen al objetivo
Gmagick::COMPOSITE_COPY (integer)
Copia la imagen de origen a la imagen objetivo
Gmagick::COMPOSITE_COPYCYAN (integer)
Copia el cian del origen al objetivo
Gmagick::COMPOSITE_COPYGREEN (integer)
Copia el verde del origen al objetivo
Gmagick::COMPOSITE_COPYMAGENTA (integer)
Copia el magenta del origen al objetivo
Gmagick::COMPOSITE_COPYOPACITY (integer)
Copia la opacidad del origen al objetivo
Gmagick::COMPOSITE_COPYRED (integer)
Copia el rojo del origen al objetivo
Gmagick::COMPOSITE_COPYYELLOW (integer)
Copia el amarillo del origen al objetivo
Gmagick::COMPOSITE_DARKEN (integer)
Oscurece la imagen objetivo
Gmagick::COMPOSITE_DSTATOP (integer)
La parte de la capa destino dentro del origen se compone sobre el origen y reemplaza el destino
Gmagick::COMPOSITE_DST (integer)
El objetivo se deja sin tocar
Gmagick::COMPOSITE_DSTIN (integer)
La parte dentro del origen reemplaza el objetivo
Gmagick::COMPOSITE_DSTOUT (integer)
La parte fuera del origen reemplaza el objetivo
Gmagick::COMPOSITE_DSTOVER (integer)
El objetivo reemplaza el origen
Gmagick::COMPOSITE_DIFFERENCE (integer)
Sustrae el más oscuro de los dos colores constituyentes del más luminiso
Gmagick::COMPOSITE_DISPLACE (integer)
Cambia los píxeles de la imagen objetivo como se definió en el origen
Gmagick::COMPOSITE_DISSOLVE (integer)
Disuelve el origen en el objetivo
Gmagick::COMPOSITE_EXCLUSION (integer)
Produce un efecto similar al de Gmagick::COMPOSITE_DIFFERENCE, pero aparece con un contraste menor
Gmagick::COMPOSITE_HARDLIGHT (integer)
Multiplica u oculta los colores, dependiendo del valor del color de origen
Gmagick::COMPOSITE_HUE (integer)
Modifica el tono del objetivo como se definió en el origen
Gmagick::COMPOSITE_IN (integer)
Compone el origen dentro del objetivo
Gmagick::COMPOSITE_LIGHTEN (integer)
Aclara el objetivo como se definió en el origen
Gmagick::COMPOSITE_LUMINIZE (integer)
Hace más luminoso el objetivo como se definió en el origen
Gmagick::COMPOSITE_MINUS (integer)
Sustrae el origen del objetivo
Gmagick::COMPOSITE_MODULATE (integer)
Modula el brillo, la saturación y el tono del objetivo como se definió en el origen
Gmagick::COMPOSITE_MULTIPLY (integer)
Multiplica el objetivo en el origen
Gmagick::COMPOSITE_OUT (integer)
Comopone las partes exteriores del origen en el objetivo
Gmagick::COMPOSITE_OVER (integer)
Compone el origen sobre el objetivo
Gmagick::COMPOSITE_OVERLAY (integer)
Sobrepone el origen en el objetivo
Gmagick::COMPOSITE_PLUS (integer)
Añade el origen al objetivo
Gmagick::COMPOSITE_REPLACE (integer)
Reemplaza el objetivo con el origen
Gmagick::COMPOSITE_SATURATE (integer)
Satura el objetivo como se definió en el origen
Gmagick::COMPOSITE_SCREEN (integer)
El origen y destino son complementados, después multiplicados, y después reemplazan el destino
Gmagick::COMPOSITE_SOFTLIGHT (integer)
Oscurece o ilumina los colores, dependiendo del origen
Gmagick::COMPOSITE_SRCATOP (integer)
La parte de la capa de origen dentro del destino es compuesta en el destino
Gmagick::COMPOSITE_SRC (integer)
El origen se copia al destino
Gmagick::COMPOSITE_SRCIN (integer)
La parte de la capa del origen dentro del destino reemplaza el destino
Gmagick::COMPOSITE_SRCOUT (integer)
La parte de la capa del origen fuera del destino reemplaza el destino
Gmagick::COMPOSITE_SRCOVER (integer)
El origen reemplaza el destino
Gmagick::COMPOSITE_SUBTRACT (integer)
Sustrae los colores en la imagen de origen de la imagen destino
Gmagick::COMPOSITE_THRESHOLD (integer)
El origen es compuesto en el objetivo como se definió en el umbral del origen
Gmagick::COMPOSITE_XOR (integer)
La parte del origen que yace fuera del destino se combina con la parte del destino que yace fuera del origen
Constantes de Modo de Montaje
Gmagick::MONTAGEMODE_FRAME (integer)
Gmagick::MONTAGEMODE_UNFRAME (integer)
Gmagick::MONTAGEMODE_CONCATENATE (integer)
Constantes de Estilo
Gmagick::STYLE_NORMAL (integer)
Gmagick::STYLE_ITALIC (integer)
Gmagick::STYLE_OBLIQUE (integer)
Gmagick::STYLE_ANY (integer)
Constantes de Filtro
Gmagick::FILTER_UNDEFINED (integer)
Gmagick::FILTER_POINT (integer)
Gmagick::FILTER_BOX (integer)
Gmagick::FILTER_TRIANGLE (integer)
Gmagick::FILTER_HERMITE (integer)
Gmagick::FILTER_HANNING (integer)
Gmagick::FILTER_HAMMING (integer)
Gmagick::FILTER_BLACKMAN (integer)
Gmagick::FILTER_GAUSSIAN (integer)
Gmagick::FILTER_QUADRATIC (integer)
Gmagick::FILTER_CUBIC (integer)
Gmagick::FILTER_CATROM (integer)
Gmagick::FILTER_MITCHELL (integer)
Gmagick::FILTER_LANCZOS (integer)
Gmagick::FILTER_BESSEL (integer)
Gmagick::FILTER_SINC (integer)
Constantes de Tipo de Imagen
Gmagick::IMGTYPE_UNDEFINED (integer)
Gmagick::IMGTYPE_BILEVEL (integer)
Gmagick::IMGTYPE_GRAYSCALE (integer)
Gmagick::IMGTYPE_GRAYSCALEMATTE (integer)
Gmagick::IMGTYPE_PALETTE (integer)
Gmagick::IMGTYPE_PALETTEMATTE (integer)
Gmagick::IMGTYPE_TRUECOLOR (integer)
Gmagick::IMGTYPE_TRUECOLORMATTE (integer)
Gmagick::IMGTYPE_COLORSEPARATION (integer)
Gmagick::IMGTYPE_COLORSEPARATIONMATTE (integer)
Gmagick::IMGTYPE_OPTIMIZE (integer)
Cosntantes de Resolución
Gmagick::RESOLUTION_UNDEFINED (integer)
Gmagick::RESOLUTION_PIXELSPERINCH (integer)
Gmagick::RESOLUTION_PIXELSPERCENTIMETER (integer)
Constantes de Compresión
Gmagick::COMPRESSION_UNDEFINED (integer)
Gmagick::COMPRESSION_NO (integer)
Gmagick::COMPRESSION_BZIP (integer)
Gmagick::COMPRESSION_FAX (integer)
Gmagick::COMPRESSION_GROUP4 (integer)
Gmagick::COMPRESSION_JPEG (integer)
Gmagick::COMPRESSION_JPEG2000 (integer)
Gmagick::COMPRESSION_LOSSLESSJPEG (integer)
Gmagick::COMPRESSION_LZW (integer)
Gmagick::COMPRESSION_RLE (integer)
Gmagick::COMPRESSION_ZIP (integer)
Constantes de Pintura
Gmagick::PAINT_POINT (integer)
Gmagick::PAINT_REPLACE (integer)
Gmagick::PAINT_FLOODFILL (integer)
Gmagick::PAINT_FILLTOBORDER (integer)
Gmagick::PAINT_RESET (integer)
Cosntantes de Gravedad
Gmagick::GRAVITY_NORTHWEST (integer)
Gmagick::GRAVITY_NORTH (integer)
Gmagick::GRAVITY_NORTHEAST (integer)
Gmagick::GRAVITY_WEST (integer)
Gmagick::GRAVITY_CENTER (integer)
Gmagick::GRAVITY_EAST (integer)
Gmagick::GRAVITY_SOUTHWEST (integer)
Gmagick::GRAVITY_SOUTH (integer)
Gmagick::GRAVITY_SOUTHEAST (integer)
Constantes de Estiramiento
Gmagick::STRETCH_NORMAL (integer)
Gmagick::STRETCH_ULTRACONDENSED (integer)
Gmagick::STRETCH_CONDENSED (integer)
Gmagick::STRETCH_SEMICONDENSED (integer)
Gmagick::STRETCH_SEMIEXPANDED (integer)
Gmagick::STRETCH_EXPANDED (integer)
Gmagick::STRETCH_EXTRAEXPANDED (integer)
Gmagick::STRETCH_ULTRAEXPANDED (integer)
Gmagick::STRETCH_ANY (integer)
Constantes de Alineamiento
Gmagick::ALIGN_UNDEFINED (integer)
Gmagick::ALIGN_LEFT (integer)
Gmagick::ALIGN_CENTER (integer)
Gmagick::ALIGN_RIGHT (integer)
Constantes de Decoración
Gmagick::DECORATION_NO (integer)
Gmagick::DECORATION_UNDERLINE (integer)
Gmagick::DECORATION_OVERLINE (integer)
Gmagick::DECORATION_LINETROUGH (integer)
Constantes de Ruido
Gmagick::NOISE_UNIFORM (integer)
Gmagick::NOISE_GAUSSIAN (integer)
Gmagick::NOISE_MULTIPLICATIVEGAUSSIAN (integer)
Gmagick::NOISE_IMPULSE (integer)
Gmagick::NOISE_LAPLACIAN (integer)
Gmagick::NOISE_POISSON (integer)
Constantes de Canal
Gmagick::CHANNEL_UNDEFINED (integer)
Gmagick::CHANNEL_RED (integer)
Gmagick::CHANNEL_GRAY (integer)
Gmagick::CHANNEL_CYAN (integer)
Gmagick::CHANNEL_GREEN (integer)
Gmagick::CHANNEL_MAGENTA (integer)
Gmagick::CHANNEL_BLUE (integer)
Gmagick::CHANNEL_YELLOW (integer)
Gmagick::CHANNEL_ALPHA (integer)
Gmagick::CHANNEL_OPACITY (integer)
Gmagick::CHANNEL_MATTE (integer)
Gmagick::CHANNEL_BLACK (integer)
Gmagick::CHANNEL_INDEX (integer)
Gmagick::CHANNEL_ALL (integer)
Constantes de Métrica
Gmagick::METRIC_UNDEFINED (integer)
Gmagick::METRIC_MEANABSOLUTEERROR (integer)
Gmagick::METRIC_MEANSQUAREERROR (integer)
Gmagick::METRIC_PEAKABSOLUTEERROR (integer)
Gmagick::METRIC_PEAKSIGNALTONOISERATIO (integer)
Gmagick::METRIC_ROOTMEANSQUAREDERROR (integer)
Constantes de Píxel
Gmagick::PIXEL_CHAR (integer)
Gmagick::PIXEL_DOUBLE (integer)
Gmagick::PIXEL_FLOAT (integer)
Gmagick::PIXEL_INTEGER (integer)
Gmagick::PIXEL_LONG (integer)
Gmagick::PIXEL_QUANTUM (integer)
Gmagick::PIXEL_SHORT (integer)
Constantes de Espacio de Color
Gmagick::COLORSPACE_UNDEFINED (integer)
Gmagick::COLORSPACE_RGB (integer)
Gmagick::COLORSPACE_GRAY (integer)
Gmagick::COLORSPACE_TRANSPARENT (integer)
Gmagick::COLORSPACE_OHTA (integer)
Gmagick::COLORSPACE_LAB (integer)
Gmagick::COLORSPACE_XYZ (integer)
Gmagick::COLORSPACE_YCBCR (integer)
Gmagick::COLORSPACE_YCC (integer)
Gmagick::COLORSPACE_YIQ (integer)
Gmagick::COLORSPACE_YPBPR (integer)
Gmagick::COLORSPACE_YUV (integer)
Gmagick::COLORSPACE_CMYK (integer)
Gmagick::COLORSPACE_SRGB (integer)
Gmagick::COLORSPACE_HSB (integer)
Gmagick::COLORSPACE_HSL (integer)
Gmagick::COLORSPACE_HWB (integer)
Gmagick::COLORSPACE_REC601LUMA (integer)
Gmagick::COLORSPACE_REC709LUMA (integer)
Gmagick::COLORSPACE_LOG (integer)
Constantes de Métodos de Píxel Virtual
Gmagick::VIRTUALPIXELMETHOD_UNDEFINED (integer)
Gmagick::VIRTUALPIXELMETHOD_BACKGROUND (integer)
Gmagick::VIRTUALPIXELMETHOD_CONSTANT (integer)
Gmagick::VIRTUALPIXELMETHOD_EDGE (integer)
Gmagick::VIRTUALPIXELMETHOD_MIRROR (integer)
Gmagick::VIRTUALPIXELMETHOD_TILE (integer)
Gmagick::VIRTUALPIXELMETHOD_TRANSPARENT (integer)
Constantes de Previsualización
Gmagick::PREVIEW_UNDEFINED (integer)
Gmagick::PREVIEW_ROTATE (integer)
Gmagick::PREVIEW_SHEAR (integer)
Gmagick::PREVIEW_ROLL (integer)
Gmagick::PREVIEW_HUE (integer)
Gmagick::PREVIEW_SATURATION (integer)
Gmagick::PREVIEW_BRIGHTNESS (integer)
Gmagick::PREVIEW_GAMMA (integer)
Gmagick::PREVIEW_SPIFF (integer)
Gmagick::PREVIEW_DULL (integer)
Gmagick::PREVIEW_GRAYSCALE (integer)
Gmagick::PREVIEW_QUANTIZE (integer)
Gmagick::PREVIEW_DESPECKLE (integer)
Gmagick::PREVIEW_REDUCENOISE (integer)
Gmagick::PREVIEW_ADDNOISE (integer)
Gmagick::PREVIEW_SHARPEN (integer)
Gmagick::PREVIEW_BLUR (integer)
Gmagick::PREVIEW_THRESHOLD (integer)
Gmagick::PREVIEW_EDGEDETECT (integer)
Gmagick::PREVIEW_SPREAD (integer)
Gmagick::PREVIEW_SOLARIZE (integer)
Gmagick::PREVIEW_SHADE (integer)
Gmagick::PREVIEW_RAISE (integer)
Gmagick::PREVIEW_SEGMENT (integer)
Gmagick::PREVIEW_SWIRL (integer)
Gmagick::PREVIEW_IMPLODE (integer)
Gmagick::PREVIEW_WAVE (integer)
Gmagick::PREVIEW_OILPAINT (integer)
Gmagick::PREVIEW_CHARCOALDRAWING (integer)
Gmagick::PREVIEW_JPEG (integer)
Constantes de Propósitos de Renderización
Gmagick::RENDERINGINTENT_UNDEFINED (integer)
Gmagick::RENDERINGINTENT_SATURATION (integer)
Gmagick::RENDERINGINTENT_PERCEPTUAL (integer)
Gmagick::RENDERINGINTENT_ABSOLUTE (integer)
Gmagick::RENDERINGINTENT_RELATIVE (integer)
Constantes de Regla de Relleno
Gmagick::FILLRULE_UNDEFINED (integer)
Gmagick::FILLRULE_EVENODD (integer)
Gmagick::FILLRULE_NONZERO (integer)
Constantes de Unidades de Trazado
Gmagick::PATHUNITS_UNDEFINED (integer)
Gmagick::PATHUNITS_USERSPACE (integer)
Gmagick::PATHUNITS_USERSPACEONUSE (integer)
Gmagick::PATHUNITS_OBJECTBOUNDINGBOX (integer)
Constantes de Cierre de Línea
Gmagick::LINECAP_UNDEFINED (integer)
Gmagick::LINECAP_BUTT (integer)
Gmagick::LINECAP_ROUND (integer)
Gmagick::LINECAP_SQUARE (integer)
Constantes de Unión de Línea
Gmagick::LINEJOIN_UNDEFINED (integer)
Gmagick::LINEJOIN_MITER (integer)
Gmagick::LINEJOIN_ROUND (integer)
Gmagick::LINEJOIN_BEVEL (integer)
Constantes de Tipo de Recurso
Gmagick::RESOURCETYPE_UNDEFINED (integer)
Gmagick::RESOURCETYPE_AREA (integer)
Gmagick::RESOURCETYPE_DISK (integer)
Gmagick::RESOURCETYPE_FILE (integer)
Gmagick::RESOURCETYPE_MAP (integer)
Gmagick::RESOURCETYPE_MEMORY (integer)
Constantes de Orientación
Gmagick::ORIENTATION_UNDEFINED (integer)
Gmagick::ORIENTATION_TOPLEFT (integer)
Gmagick::ORIENTATION_TOPRIGHT (integer)
Gmagick::ORIENTATION_BOTTOMRIGHT (integer)
Gmagick::ORIENTATION_BOTTOMLEFT (integer)
Gmagick::ORIENTATION_LEFTTOP (integer)
Gmagick::ORIENTATION_RIGHTTOP (integer)
Gmagick::ORIENTATION_RIGHTBOTTOM (integer)
Gmagick::ORIENTATION_LEFTBOTTOM (integer)
Configuración en tiempo de ejecución
Ejemplos
Gmagick


Ejemplos

Lo siguiente muestra algunas operaciones de imágenes de Gmagick comunes.

Ejemplo #1 Ejemplo de Gmagick

<?php
//Instanciar un nuevo objeto Gmagick
$imagen = new Gmagick('example.jpg');

//Hacer una miniatura de una imagen cargada. 0 para los ejes preserva la proporción de aspecto
$imagen->thumbnailImage(100, 0);

//Crear un borde alrededor de la imagen, después simular la imagen para que parezca una pintura al óleo
//Observe el encadenmiento de los métodos mutadores que están soportados en gmagick
$imagen->borderImage("yellow", 8, 8)->oilPaintImage(0.3);

//Escribir la imagen actual en el estado actual de un archivo
$imagen->write('ejemplo_miniatura.jpg');
?>
Constantes predefinidas
Gmagick
Gmagick


La clase Gmagick

(PECL gmagick >= Unknown)

Introducción

Sinopsis de la Clase

Gmagick {
/* Métodos */
public Gmagick addimage ( Gmagick $Gmagick )
public Gmagick addnoiseimage ( int $NOISE )
public Gmagick annotateimage ( GmagickDraw $GmagickDraw , float $x , float $y , float $angle , string $text )
public Gmagick blurimage ( float $radius , float $sigma [, int $channel ] )
public Gmagick borderimage ( GmagickPixel $color , int $width , int $height )
public Gmagick charcoalimage ( float $radius , float $sigma )
public Gmagick chopimage ( int $width , int $height , int $x , int $y )
public Gmagick clear ( void )
public Gmagick commentimage ( string $comment )
public Gmagick compositeimage ( Gmagick $source , int $COMPOSE , int $x , int $y )
public __construct ([ string $filename ] )
public Gmagick cropimage ( int $width , int $height , int $x , int $y )
public Gmagick cropthumbnailimage ( int $width , int $height )
public Gmagick current ( void )
public Gmagick cyclecolormapimage ( int $displace )
public void deconstructimages ( void )
public Gmagick despeckleimage ( void )
public Gmagick destroy ( void )
public Gmagick drawimage ( GmagickDraw $GmagickDraw )
public Gmagick edgeimage ( float $radius )
public Gmagick embossimage ( float $radius , float $sigma )
public Gmagick enhanceimage ( void )
public Gmagick equalizeimage ( void )
public Gmagick flipimage ( void )
public Gmagick flopimage ( void )
public Gmagick frameimage ( GmagickPixel $color , int $width , int $height , int $inner_bevel , int $outer_bevel )
public Gmagick gammaimage ( float $gamma )
public string getcopyright ( void )
public string getfilename ( void )
public void getimagebackgroundcolor ( void )
public array getimageblueprimary ( void )
public void getimagebordercolor ( void )
public int getimagechanneldepth ( int $channel_type )
public int getimagecolors ( void )
public int getimagecolorspace ( void )
public int getimagecompose ( void )
public int getimagedelay ( void )
public int getimagedepth ( void )
public int getimagedispose ( void )
public array getimageextrema ( void )
public string getimagefilename ( void )
public string getimageformat ( void )
public float getimagegamma ( void )
public array getimagegreenprimary ( void )
public int getimageheight ( void )
public array getimagehistogram ( void )
public int getimageindex ( void )
public int getimageinterlacescheme ( void )
public int getimageiterations ( void )
public int getimagematte ( void )
public void getimagemattecolor ( void )
public string getimageprofile ( string $name )
public array getimageredprimary ( void )
public int getimagerenderingintent ( void )
public array getimageresolution ( void )
public int getimagescene ( void )
public string getimagesignature ( void )
public int getimagetype ( void )
public int getimageunits ( void )
public array getimagewhitepoint ( void )
public int getimagewidth ( void )
public string getpackagename ( void )
public array getquantumdepth ( void )
public string getreleasedate ( void )
public array getsamplingfactors ( void )
public array getsize ( void )
public array getversion ( void )
public mixed hasnextimage ( void )
public mixed haspreviousimage ( void )
public mixed implodeimage ( float $radius )
public mixed labelimage ( string $label )
public mixed levelimage ( float $blackPoint , float $gamma , float $whitePoint [, int $channel = Gmagick::CHANNEL_DEFAULT ] )
public mixed magnifyimage ( void )
public Gmagick mapimage ( gmagick $gmagick , bool $dither )
public void medianfilterimage ( float $radius )
public void minifyimage ( void )
public void modulateimage ( float $brightness , float $saturation , float $hue )
public void motionblurimage ( float $radius , float $sigma , float $angle )
public void newimage ( int $width , int $height , string $background [, string $format ] )
public bool nextimage ( void )
public void normalizeimage ([ int $channel ] )
public void oilpaintimage ( float $radius )
public bool previousimage ( void )
public void profileimage ( string $name , string $profile )
public void quantizeimage ( int $numColors , int $colorspace , int $treeDepth , bool $dither , bool $measureError )
public void quantizeimages ( int $numColors , int $colorspace , int $treeDepth , bool $dither , bool $measureError )
public array queryfontmetrics ( GmagickDraw $draw , string $text )
public array queryfonts ([ string $pattern = "*" ] )
public array queryformats ([ string $pattern = "*" ] )
public void radialblurimage ( float $angle [, int $channel = Gmagick::CHANNEL_DEFAULT ] )
public void raiseimage ( int $width , int $height , int $x , int $y , bool $raise )
public void read ( string $filename )
public void readimage ( string $filename )
public void readimageblob ( string $imageContents [, string $filename ] )
public void readimagefile ( resource $fp [, string $filename ] )
public void reducenoiseimage ( float $radius )
public void removeimage ( void )
public string removeimageprofile ( string $name )
public void resampleimage ( float $xResolution , float $yResolution , int $filter , float $blur )
public void resizeimage ( int $width , int $height , int $filter , float $blur [, bool $fit = false ] )
public void rollimage ( int $x , int $y )
public Gmagick rotateimage ( mixed $color , float $degrees )
public Gmagick scaleimage ( int $width , int $height [, bool $fit = false ] )
public Gmagick separateimagechannel ( int $channel )
public Gmagick setfilename ( string $filename )
public Gmagick setimagebackgroundcolor ( GmagickPixel $color )
public Gmagick setimageblueprimary ( float $x , float $y )
public Gmagick setimagebordercolor ( GmagickPixel $color )
public Gmagick setimagechanneldepth ( int $channel , int $depth )
public Gmagick setimagecolorspace ( int $colorspace )
public Gmagick setimagecompose ( int $composite )
public Gmagick setimagedelay ( int $delay )
public Gmagick setimagedepth ( int $depth )
public Gmagick setimagedispose ( int $disposeType )
public Gmagick setimagefilename ( string $filename )
public Gmagick setimageformat ( string $imageFormat )
public Gmagick setimagegamma ( float $gamma )
public Gmagick setimagegreenprimary ( float $x , float $y )
public Gmagick setimageindex ( int $index )
public Gmagick setimageinterlacescheme ( int $interlace )
public Gmagick setimageiterations ( int $iterations )
public Gmagick setimageprofile ( string $name , string $profile )
public Gmagick setimageredprimary ( float $x , float $y )
public Gmagick setimagerenderingintent ( int $rendering_intent )
public Gmagick setimageresolution ( float $xResolution , float $yResolution )
public Gmagick setimagescene ( int $scene )
public Gmagick setimagetype ( int $imgType )
public Gmagick setimageunits ( int $resolution )
public Gmagick setimagewhitepoint ( float $x , float $y )
public Gmagick setsamplingfactors ( array $factors )
public Gmagick setsize ( int $columns , int $rows )
public Gmagick shearimage ( mixed $color , float $xShear , float $yShear )
public Gmagick solarizeimage ( int $threshold )
public Gmagick spreadimage ( float $radius )
public Gmagick stripimage ( void )
public Gmagick swirlimage ( float $degrees )
public Gmagick thumbnailimage ( int $width , int $height [, bool $fit = false ] )
public Gmagick trimimage ( float $fuzz )
public void write ( string $filename )
public Gmagick writeimage ( string $filename [, bool $all_frames = false ] )
}

Tabla de contenidos

  • Gmagick::addimage — Añade una nueva imagen a la lista de imágenes del objeto Gmagick
  • Gmagick::addnoiseimage — Añade ruido aleatorio a la imagen
  • Gmagick::annotateimage — Anota una imagen con texto
  • Gmagick::blurimage — Añade un filtro de borrosidad a la imagen
  • Gmagick::borderimage — Rodea la imagen con un borde
  • Gmagick::charcoalimage — Simula un dibujo a carboncillo
  • Gmagick::chopimage — Elimina una región de una imagen y la recorta
  • Gmagick::clear — Limpia todos los recursos asociados con el objeto Gmagick
  • Gmagick::commentimage — Añade un comentario a una imagen
  • Gmagick::compositeimage — Compone una imagen en otra
  • Gmagick::__construct — El constructor Gmagick
  • Gmagick::cropimage — Extrae una región de la imagen
  • Gmagick::cropthumbnailimage — Crea una miniatura recortada
  • Gmagick::current — Devuelve la refencia al objeto Gmagick acutal
  • Gmagick::cyclecolormapimage — Desplaza un mapa de color de una imagen
  • Gmagick::deconstructimages — Devuelve ciertas diferencias de píxeles entre imágenes
  • Gmagick::despeckleimage — Reduce el ruido granular de una imagen
  • Gmagick::destroy — Destruye un objeto Gmagick
  • Gmagick::drawimage — Renderiza el objeto GmagickDraw en la imagen actual
  • Gmagick::edgeimage — Mejora los bordes dentro de una imagen
  • Gmagick::embossimage — Devuelve una imagen en escala de grises con un efecto tridimensional
  • Gmagick::enhanceimage — Mejora la calidad de una imagen con ruido
  • Gmagick::equalizeimage — Ecualiza el histograma de la imagen
  • Gmagick::flipimage — Crea una imagen espejo vertical
  • Gmagick::flopimage — Crea una imagen espejo horizontal
  • Gmagick::frameimage — Añade un borde tridimensional simulado
  • Gmagick::gammaimage — Corrección gamma de una imagen
  • Gmagick::getcopyright — Devuelve el copyright de la API GraphicsMagick como una cadena
  • Gmagick::getfilename — El nombre de archivo asociado a una secuencia de imágenes
  • Gmagick::getimagebackgroundcolor — Devuelve el color de fondo de la imagen
  • Gmagick::getimageblueprimary — Devuelve el punto primario azul de la cromaticidad
  • Gmagick::getimagebordercolor — Devuelve el color del borde de la imagen
  • Gmagick::getimagechanneldepth — Obtiene la profundidad de un canal de imagen en particular
  • Gmagick::getimagecolors — Devuelve el color del índice del mapa de color especificado
  • Gmagick::getimagecolorspace — Obtiene el espacio de colores de la imagen
  • Gmagick::getimagecompose — Devuelve el operador de composición asociado a la imagen
  • Gmagick::getimagedelay — Obetiene el retraso de la imagen
  • Gmagick::getimagedepth — Obtiene la profundidad de la imagen
  • Gmagick::getimagedispose — Obtiene el método de disposición de la imagen
  • Gmagick::getimageextrema — Obtiene los extremos de la imagen
  • Gmagick::getimagefilename — Devuelve el nombre de archivo de una imagen en particular de una secuencia
  • Gmagick::getimageformat — Devuelve el formato de una imagen en particular de una secuencia
  • Gmagick::getimagegamma — Obtiene el valor gamma de la imagen
  • Gmagick::getimagegreenprimary — Devuelve el punto primario verde de la cromaticidad
  • Gmagick::getimageheight — Devuelve el alto de la imagen
  • Gmagick::getimagehistogram — Obtiene el histograma de la imagen
  • Gmagick::getimageindex — Obtiene el índice de la imagen activa actual
  • Gmagick::getimageinterlacescheme — Obtiene la combinación de entrelazado de la imagen
  • Gmagick::getimageiterations — Obtiene las iteraciones de la imagen
  • Gmagick::getimagematte — Devuelve si la imagen tiene un canal mate
  • Gmagick::getimagemattecolor — Devuelve el color mate de la imagen
  • Gmagick::getimageprofile — Devuelve el perfil nominado de la imagen
  • Gmagick::getimageredprimary — Devuelve el punto primario rojo de la cromaticidad
  • Gmagick::getimagerenderingintent — Obtiene la propuesta de renderización de la imagen
  • Gmagick::getimageresolution — Obtiene la resolución X e Y de la imagen
  • Gmagick::getimagescene — Obtiene la escena de la imagen
  • Gmagick::getimagesignature — Genera un resumen de un mensaje SHA-256
  • Gmagick::getimagetype — Obtiene el tipo de imagen potencial.
  • Gmagick::getimageunits — Obtiene las unidades de resolución de la imagen
  • Gmagick::getimagewhitepoint — Devuelve el punto blanco de la cromaticidad
  • Gmagick::getimagewidth — Devuelve el ancho de la imagen
  • Gmagick::getpackagename — Devuelve el nombre del paquete de GraphicsMagick
  • Gmagick::getquantumdepth — Obtiene la profundidad de la cuantía de Gmagick como una cadena
  • Gmagick::getreleasedate — Devuelve la fecha de distribución de GraphicsMagick como una cadena
  • Gmagick::getsamplingfactors — Obtiene el factor de muestreo horizontal y vertical
  • Gmagick::getsize — Devuelve el tamaño asociado con el objeto Gmagick
  • Gmagick::getversion — Devuelve la versión de la API GraphicsMagick
  • Gmagick::hasnextimage — Comprueba si el objeto tiene más imágenes
  • Gmagick::haspreviousimage — Verifica si el objeto tiene una imagen previa
  • Gmagick::implodeimage — Crea una nueva imagen como una copia
  • Gmagick::labelimage — Añade una etiqueta a una imagen
  • Gmagick::levelimage — Ajusta los niveles de la imagen
  • Gmagick::magnifyimage — Escala una imagen x2 proporcionalmente
  • Gmagick::mapimage — Reemplaza los colores de una imagen con el color más cercano de una imagen de referencia
  • Gmagick::medianfilterimage — Aplica un filtro digital
  • Gmagick::minifyimage — Escala una imagen proporcionalmente a la mitad de su tamaño
  • Gmagick::modulateimage — Controla el brillo, la saturación y el tono
  • Gmagick::motionblurimage — Simula borrosidad en movimiento
  • Gmagick::newimage — Crea una nueva imagen
  • Gmagick::nextimage — Se mueve a la siguiente imagen
  • Gmagick::normalizeimage — Mejora el contraste de una imagen a color
  • Gmagick::oilpaintimage — Simula una pintura al óleo
  • Gmagick::previousimage — Se mueve a la imagen previa del objeto
  • Gmagick::profileimage — Añade o elimina un perfil de una imagen
  • Gmagick::quantizeimage — Analiza los colores dentro de una imagen de referencia
  • Gmagick::quantizeimages — Analiza los colores dentro de una secuencia de imágenes
  • Gmagick::queryfontmetrics — Devuelve una matriz que representa las métricas de la fuente
  • Gmagick::queryfonts — Devuelve las fuentes configuradas
  • Gmagick::queryformats — Devuelve los formatos soportados por Gmagick
  • Gmagick::radialblurimage — Hace borrosa de forma radial una imagen
  • Gmagick::raiseimage — Crea un efecto de botón en 3D simulado
  • Gmagick::read — Lee una imagen desde un nombre de archivo
  • Gmagick::readimage — Lee una imagen desde un nombre de archivo
  • Gmagick::readimageblob — Lee una imagen desde una cadena binaria
  • Gmagick::readimagefile — Lee una imagen desde un descriptor de archivo abierto
  • Gmagick::reducenoiseimage — Suaviza los contornos de una imagen
  • Gmagick::removeimage — Elimina una imagen de la lista de imágenes
  • Gmagick::removeimageprofile — Elimina el perfil nominado de la imagen y lo devuelve
  • Gmagick::resampleimage — Re-muestrea la imagen a la resolución deseada
  • Gmagick::resizeimage — Escala una imagen
  • Gmagick::rollimage — Compensa una imagen
  • Gmagick::rotateimage — Rota una imagen
  • Gmagick::scaleimage — Escala el tamaño de una imagen
  • Gmagick::separateimagechannel — Separa un canal de la imagen
  • Gmagick::setfilename — Establece el nombre de archivo antes de que se lea o escriba una imagen
  • Gmagick::setimagebackgroundcolor — Establece el color de fondo de la imagen
  • Gmagick::setimageblueprimary — Establece el punto primario azul de la cromaticidad de la imagen
  • Gmagick::setimagebordercolor — Establece el color de borde de la imagen
  • Gmagick::setimagechanneldepth — Establece la profundidad de una canal de imagen en particular
  • Gmagick::setimagecolorspace — Establece el espacio de color de una imagen
  • Gmagick::setimagecompose — Establece el operador de composción de una imagen
  • Gmagick::setimagedelay — Establece el retardo de una imagen
  • Gmagick::setimagedepth — Establece la profundidad de una imagen
  • Gmagick::setimagedispose — Establece el método de disposición de una imagen
  • Gmagick::setimagefilename — Establece el nombre de archivo de una imagen en particular en una secuencia
  • Gmagick::setimageformat — Establece el formato de una imagen en particular
  • Gmagick::setimagegamma — Establece el valor gamma de la imagen
  • Gmagick::setimagegreenprimary — Establece el punto primario verde de la cromaticidad de la imagen
  • Gmagick::setimageindex — Establece la posición del iterador en la lista de imágenes especificada con el parámetro index
  • Gmagick::setimageinterlacescheme — Establece la combinación de entrelazado de la imagen
  • Gmagick::setimageiterations — Establece las iteraciones de la imagen
  • Gmagick::setimageprofile — Añade un perfil nominado al objeto Gmagick
  • Gmagick::setimageredprimary — Establece el punto primario rojo de la cromaticidad de la imagen
  • Gmagick::setimagerenderingintent — Establece el propósito de renderización de la imagen
  • Gmagick::setimageresolution — Establece la resolución de la imagen
  • Gmagick::setimagescene — Establece la escena de la imagen
  • Gmagick::setimagetype — Establece el tipo de imagen
  • Gmagick::setimageunits — Establece las unidades de resolución de la imagen
  • Gmagick::setimagewhitepoint — Establece el punto blanco de cromaticidad de la imagen
  • Gmagick::setsamplingfactors — Establece los factores de muestreo de la imagen
  • Gmagick::setsize — Establece el tamaño del objeto Gmagick
  • Gmagick::shearimage — Crea un paralelogramo
  • Gmagick::solarizeimage — Aplica un efecto de solarización a la imagen
  • Gmagick::spreadimage — Despalza aleatoriamente cada píxel en un bloque
  • Gmagick::stripimage — Elimina todos los perfiles y comentarios de una imagen
  • Gmagick::swirlimage — Arremolina los píxeles desde el centro de la imagen
  • Gmagick::thumbnailimage — Cambia el tamaño de una imagen
  • Gmagick::trimimage — Elimina los extremos de la imagen
  • Gmagick::write — Escribe una imagen al nombre de archivo especificado
  • Gmagick::writeimage — Escribe una imagen al nombre de archivo especificado
Ejemplos
Gmagick::addimage
Gmagick


Añade una nueva imagen a la lista de imágenes del objeto Gmagick

Gmagick
Gmagick::addnoiseimage
Gmagick
PHP Manual

Gmagick::addimage

(PECL gmagick >= Unknown)

Gmagick::addimage — Añade una nueva imagen a la lista de imágenes del objeto Gmagick

Descripción

public Gmagick Gmagick::addimage ( Gmagick $Gmagick )

Añade una nueva imagen al objeto Gmagick desde la posición actual del objeto de origen. Después de la operación la posición del iterador se mueve al final de la lista.

Parámetros

source

El objeto Gmagick de origen

Valores devueltos

El objeto Gmagick con la imagen añadida

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick
Gmagick::addnoiseimage
Gmagick


Añade ruido aleatorio a la imagen

Gmagick::addimage
Gmagick::annotateimage
Gmagick
PHP Manual

Gmagick::addnoiseimage

(PECL gmagick >= Unknown)

Gmagick::addnoiseimage — Añade ruido aleatorio a la imagen

Descripción

public Gmagick Gmagick::addnoiseimage ( int $NOISE )

Añade ruido aleatorio a la imagen.

Parámetros

noise_type

El tipo de ruido. Consulte esta lista de constantes de ruido.

Valores devueltos

El objeto Gmagick con el ruido añadido.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::addimage
Gmagick::annotateimage
Gmagick


Anota una imagen con texto

Gmagick::addnoiseimage
Gmagick::blurimage
Gmagick
PHP Manual

Gmagick::annotateimage

(PECL gmagick >= Unknown)

Gmagick::annotateimage — Anota una imagen con texto

Descripción

public Gmagick Gmagick::annotateimage ( GmagickDraw $GmagickDraw , float $x , float $y , float $angle , string $text )

Anota una imagen con texto.

Parámetros

GmagickDraw

El objeto GmagickDraw que contiene la configuración para dibujar el texto

x

El índice horizontal en píxeles a la izquierda del texto

y

El índice vertical en píxeles a la línea base del texto

angle

El ángulo en el que escribir el texto

text

La cadena a dibujar

Valores devueltos

El objeto Gmagick con la anotación hecha.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::addnoiseimage
Gmagick::blurimage
Gmagick


Añade un filtro de borrosidad a la imagen

Gmagick::annotateimage
Gmagick::borderimage
Gmagick
PHP Manual

Gmagick::blurimage

(PECL gmagick >= Unknown)

Gmagick::blurimage — Añade un filtro de borrosidad a la imagen

Descripción

public Gmagick Gmagick::blurimage ( float $radius , float $sigma [, int $channel ] )

Añade un filtro de borrosidad a la imagen.

Parámetros

radius

Radio de borrosidad

sigma

Desviación estándar

Valores devueltos

El objeto Gmagick borroso

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::annotateimage
Gmagick::borderimage
Gmagick


Rodea la imagen con un borde

Gmagick::blurimage
Gmagick::charcoalimage
Gmagick
PHP Manual

Gmagick::borderimage

(PECL gmagick >= Unknown)

Gmagick::borderimage — Rodea la imagen con un borde

Descripción

public Gmagick Gmagick::borderimage ( GmagickPixel $color , int $width , int $height )

Rodea la imagen con un borde del color definido por el objeto GmagickPixel de color de borde o por una cadena de color.

Parámetros

color

El objeto GmagickPixel o una cadena que contiene el color del borde

width

Ancho del borode

height

Alto del borde

Valores devueltos

El objeto Gmagick con el borde definido

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::blurimage
Gmagick::charcoalimage
Gmagick


Simula un dibujo a carboncillo

Gmagick::borderimage
Gmagick::chopimage
Gmagick
PHP Manual

Gmagick::charcoalimage

(PECL gmagick >= Unknown)

Gmagick::charcoalimage — Simula un dibujo a carboncillo

Descripción

public Gmagick Gmagick::charcoalimage ( float $radius , float $sigma )

Simula un dibujo a carboncillo.

Parámetros

radius

El radio gaussiano, en píxeles, sin contar el píxel central

sigma

La desviación estándar gaussiana, en píxeles

Valores devueltos

El objeto Gmagick con la simulación de carboncillo

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::borderimage
Gmagick::chopimage
Gmagick


Elimina una región de una imagen y la recorta

Gmagick::charcoalimage
Gmagick::clear
Gmagick
PHP Manual

Gmagick::chopimage

(PECL gmagick >= Unknown)

Gmagick::chopimage — Elimina una región de una imagen y la recorta

Descripción

public Gmagick Gmagick::chopimage ( int $width , int $height , int $x , int $y )

Elimina una región de una imagen y colapsa la imagen para ocupar la porción eliminada.

Parámetros

width

Ancho del área recortada

height

Alto del área recortada

x

Origen X del área recortada

y

Origen Y del área recortada

Valores devueltos

El objeto Gmagick recortado

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::charcoalimage
Gmagick::clear
Gmagick


Limpia todos los recursos asociados con el objeto Gmagick

Gmagick::chopimage
Gmagick::commentimage
Gmagick
PHP Manual

Gmagick::clear

(PECL gmagick >= Unknown)

Gmagick::clear — Limpia todos los recursos asociados con el objeto Gmagick

Descripción

public Gmagick Gmagick::clear ( void )

Limpia todos los recursos asociados al objeto Gmagick

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El objeto Gmagick limpiado

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::chopimage
Gmagick::commentimage
Gmagick


Añade un comentario a una imagen

Gmagick::clear
Gmagick::compositeimage
Gmagick
PHP Manual

Gmagick::commentimage

(PECL gmagick >= Unknown)

Gmagick::commentimage — Añade un comentario a una imagen

Descripción

public Gmagick Gmagick::commentimage ( string $comment )

Añade un comentario a una imagen.

Parámetros

comment

El comentario a añadir

Valores devueltos

El objeto Gmagick con el comentario añadido.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::clear
Gmagick::compositeimage
Gmagick


Compone una imagen en otra

Gmagick::commentimage
Gmagick::__construct
Gmagick
PHP Manual

Gmagick::compositeimage

(PECL gmagick >= Unknown)

Gmagick::compositeimage — Compone una imagen en otra

Descripción

public Gmagick Gmagick::compositeimage ( Gmagick $source , int $COMPOSE , int $x , int $y )

Compone una imagen en otra en el índice especificado.

Parámetros

source

Objeto Gmagick que contiene la imagen compuesta

compose

Operador de composción

x

El índice de columna de la imagen compuesta

y

El índice de fila de la imagen compuesta

Valores devueltos

El objeto Gmagick con composiciones.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::commentimage
Gmagick::__construct
Gmagick


El constructor Gmagick

Gmagick::compositeimage
Gmagick::cropimage
Gmagick
PHP Manual

Gmagick::__construct

(PECL gmagick >= Unknown)

Gmagick::__construct — El constructor Gmagick

Descripción

public Gmagick::__construct ([ string $filename ] )

El constructor Gmagick.

Parámetros

filename

La ruta a una imagen para cargar o una matriz de rutas

Valores devueltos

Devuelve un nuevo objeto Gmagick si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::compositeimage
Gmagick::cropimage
Gmagick


Extrae una región de la imagen

Gmagick::__construct
Gmagick::cropthumbnailimage
Gmagick
PHP Manual

Gmagick::cropimage

(PECL gmagick >= Unknown)

Gmagick::cropimage — Extrae una región de la imagen

Descripción

public Gmagick Gmagick::cropimage ( int $width , int $height , int $x , int $y )

Extrae una región de la imagen.

Parámetros

width

El ancho del recorte

height

El alto del recorte

x

La coordenada X de la esquina superior izquierda de la región recortada

y

La coordenada Y de la esquina superior izquierda de la región recortada

Valores devueltos

El objeto Gmagick recortado

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::__construct
Gmagick::cropthumbnailimage
Gmagick


Crea una miniatura recortada

Gmagick::cropimage
Gmagick::current
Gmagick
PHP Manual

Gmagick::cropthumbnailimage

(PECL gmagick >= Unknown)

Gmagick::cropthumbnailimage — Crea una miniatura recortada

Descripción

public Gmagick Gmagick::cropthumbnailimage ( int $width , int $height )

Crea una miniatura de tamaño fijo ampliando o reduciendo de escala la imagen y recortando un área específica desde el centro.

Parámetros

width

El ancho de la miniatura

height

El alto de la miniatura

Valores devueltos

El objeto Gmagick recortado

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::cropimage
Gmagick::current
Gmagick


Devuelve la refencia al objeto Gmagick acutal

Gmagick::cropthumbnailimage
Gmagick::cyclecolormapimage
Gmagick
PHP Manual

Gmagick::current

(PECL gmagick >= Unknown)

Gmagick::current — Devuelve la refencia al objeto Gmagick acutal

Descripción

public Gmagick Gmagick::current ( void )

Devuelve la refencia al objeto Gmagick acutal con el puntero de imagen apuntando a la secuencia correcta.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Se devuelve a sí mismo si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::cropthumbnailimage
Gmagick::cyclecolormapimage
Gmagick


Desplaza un mapa de color de una imagen

Gmagick::current
Gmagick::deconstructimages
Gmagick
PHP Manual

Gmagick::cyclecolormapimage

(PECL gmagick >= Unknown)

Gmagick::cyclecolormapimage — Desplaza un mapa de color de una imagen

Descripción

public Gmagick Gmagick::cyclecolormapimage ( int $displace )

Desplaza un mapa de color de una imagen por el número de posiciones dado. Si se realiza un ciclo del mapa de colores varias veces se puede obtener un efecto psicodélico.

Parámetros

displace

La cantidad a desplazar el mapa de color.

Valores devueltos

Se devuelve a sí mismo si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::current
Gmagick::deconstructimages
Gmagick


Devuelve ciertas diferencias de píxeles entre imágenes

Gmagick::cyclecolormapimage
Gmagick::despeckleimage
Gmagick
PHP Manual

Gmagick::deconstructimages

(PECL gmagick >= Unknown)

Gmagick::deconstructimages — Devuelve ciertas diferencias de píxeles entre imágenes

Descripción

public void Gmagick::deconstructimages ( void )

Compara cada imagen con la siguiente en una secuencia y devuelve la región circundante máxima de cualquier diferencia de píxeles que se descubra.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Se devuelve a sí mismo si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::cyclecolormapimage
Gmagick::despeckleimage
Gmagick


Reduce el ruido granular de una imagen

Gmagick::deconstructimages
Gmagick::destroy
Gmagick
PHP Manual

Gmagick::despeckleimage

(PECL gmagick >= Unknown)

Gmagick::despeckleimage — Reduce el ruido granular de una imagen

Descripción

public Gmagick Gmagick::despeckleimage ( void )

Reduce el ruido granular de una imagen mientras preserva los bordes de la imagen original.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El objeto Gmagick con el ruido granular reducido si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de Gmagick::despeckleimage()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

Gmagick::deconstructimages
Gmagick::destroy
Gmagick


Destruye un objeto Gmagick

Gmagick::despeckleimage
Gmagick::drawimage
Gmagick
PHP Manual

Gmagick::destroy

(PECL gmagick >= Unknown)

Gmagick::destroy — Destruye un objeto Gmagick

Descripción

public Gmagick Gmagick::destroy ( void )

Destruye un objeto Gmagick y libera todos los recursos asociados con él

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::despeckleimage
Gmagick::drawimage
Gmagick


Renderiza el objeto GmagickDraw en la imagen actual

Gmagick::destroy
Gmagick::edgeimage
Gmagick
PHP Manual

Gmagick::drawimage

(PECL gmagick >= Unknown)

Gmagick::drawimage — Renderiza el objeto GmagickDraw en la imagen actual

Descripción

public Gmagick Gmagick::drawimage ( GmagickDraw $GmagickDraw )

Renderiza el objeto GmagickDraw en la imagen actual

Parámetros

GmagickDraw

Las operaciones de dibujo para renderizar sobre la imagen.

Valores devueltos

El objeto Gmagick dibujado

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::destroy
Gmagick::edgeimage
Gmagick


Mejora los bordes dentro de una imagen

Gmagick::drawimage
Gmagick::embossimage
Gmagick
PHP Manual

Gmagick::edgeimage

(PECL gmagick >= Unknown)

Gmagick::edgeimage — Mejora los bordes dentro de una imagen

Descripción

public Gmagick Gmagick::edgeimage ( float $radius )

Mejora los bordes dentro de una imagen con un filtro de convolución del radio dado. Use un radio de 0 y éste será seleccionado automáticamente.

Parámetros

radius

El radio de la operación.

Valores devueltos

El objeto Gmagick con los bordes mejorados.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::drawimage
Gmagick::embossimage
Gmagick


Devuelve una imagen en escala de grises con un efecto tridimensional

Gmagick::edgeimage
Gmagick::enhanceimage
Gmagick
PHP Manual

Gmagick::embossimage

(PECL gmagick >= Unknown)

Gmagick::embossimage — Devuelve una imagen en escala de grises con un efecto tridimensional

Descripción

public Gmagick Gmagick::embossimage ( float $radius , float $sigma )

Devuelve una imagen en escala de grises con un efecto tridimensional. Se convoluciona la imagen con un operador gaussiano del radio y desviación estándar (sigma) dados. Para obtener resultados razonables, el radio debería ser mayor que sigma. Use un radio de 0 y se elegirá un radio apropiado automáticamente.

Parámetros

radius

El radio del efecto

sigma

El valor sigma del efecto

Valores devueltos

El objeto Gmagick "repujado".

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::edgeimage
Gmagick::enhanceimage
Gmagick


Mejora la calidad de una imagen con ruido

Gmagick::embossimage
Gmagick::equalizeimage
Gmagick
PHP Manual

Gmagick::enhanceimage

(PECL gmagick >= Unknown)

Gmagick::enhanceimage — Mejora la calidad de una imagen con ruido

Descripción

public Gmagick Gmagick::enhanceimage ( void )

Aplica un filtro digital que mejora la calidad de una imagen con ruido.

Valores devueltos

El objeto Gmagick mejorado.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::embossimage
Gmagick::equalizeimage
Gmagick


Ecualiza el histograma de la imagen

Gmagick::enhanceimage
Gmagick::flipimage
Gmagick
PHP Manual

Gmagick::equalizeimage

(PECL gmagick >= Unknown)

Gmagick::equalizeimage — Ecualiza el histograma de la imagen

Descripción

public Gmagick Gmagick::equalizeimage ( void )

Ecualiza el histograma de la imagen.

Valores devueltos

El objeto Gmagick ecualizado.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::enhanceimage
Gmagick::flipimage
Gmagick


Crea una imagen espejo vertical

Gmagick::equalizeimage
Gmagick::flopimage
Gmagick
PHP Manual

Gmagick::flipimage

(PECL gmagick >= Unknown)

Gmagick::flipimage — Crea una imagen espejo vertical

Descripción

public Gmagick Gmagick::flipimage ( void )

Crea una imagen espejo vertical reflejando los píxeles alrededor del eje x central.

Valores devueltos

The objeto Gmagick volteado.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::equalizeimage
Gmagick::flopimage
Gmagick


Crea una imagen espejo horizontal

Gmagick::flipimage
Gmagick::frameimage
Gmagick
PHP Manual

Gmagick::flopimage

(PECL gmagick >= Unknown)

Gmagick::flopimage — Crea una imagen espejo horizontal

Descripción

public Gmagick Gmagick::flopimage ( void )

Crea una imagen espejo horizontal reflejando los píxeles alrededor del eje y central.

Valores devueltos

The objeto Gmagick volteado.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::flipimage
Gmagick::frameimage
Gmagick


Añade un borde tridimensional simulado

Gmagick::flopimage
Gmagick::gammaimage
Gmagick
PHP Manual

Gmagick::frameimage

(PECL gmagick >= Unknown)

Gmagick::frameimage — Añade un borde tridimensional simulado

Descripción

public Gmagick Gmagick::frameimage ( GmagickPixel $color , int $width , int $height , int $inner_bevel , int $outer_bevel )

Añade un borde tridimensional simulado alrededor de la imagen. El ancho y alto especifican el ancho del borde de las caras verticales y horizontales del marco. Los biseles interior y exterior indican el ancho de las sombras interiores y exteriores del marco.

Parámetros

color

Objeto GmagickPixel o un valor de tipo float que representa el color mate

width

El ancho del borde

height

El alto del borde

inner_bevel

El ancho del bisel interior

outer_bevel

El ancho del bisel exterior

Valores devueltos

El objeto Gmagick enmarcado.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::flopimage
Gmagick::gammaimage
Gmagick


Corrección gamma de una imagen

Gmagick::frameimage
Gmagick::getcopyright
Gmagick
PHP Manual

Gmagick::gammaimage

(PECL gmagick >= Unknown)

Gmagick::gammaimage — Corrección gamma de una imagen

Descripción

public Gmagick Gmagick::gammaimage ( float $gamma )

Corrección gamma de una imagen. La misma imagen vista en diferentes dispositivos tendrá diferencias perceptuales en la manera en que la intensidad de la imagen esté representada en la pantalla. Especifique niveles gamma indivuduales para los canales rojo, verde y azul, o ajústelos todos con el parámetro gamma. El rango de valores es típicamente desde 0.8 a 2.3.

Parámetros

gamma

La cantidad de corrección gamma.

Valores devueltos

El objeto Gmagick con el valor gamma corregido.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::frameimage
Gmagick::getcopyright
Gmagick


Devuelve el copyright de la API GraphicsMagick como una cadena

Gmagick::gammaimage
Gmagick::getfilename
Gmagick
PHP Manual

Gmagick::getcopyright

(PECL gmagick >= Unknown)

Gmagick::getcopyright — Devuelve el copyright de la API GraphicsMagick como una cadena

Descripción

public string Gmagick::getcopyright ( void )

Devuelve el copyright de la API GraphicsMagick como una cadena.

Valores devueltos

Devuelve una cadena que contiene el anuncio del copyright de la API GraphicsMagick y de la API de C Magickwand.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::gammaimage
Gmagick::getfilename
Gmagick


El nombre de archivo asociado a una secuencia de imágenes

Gmagick::getcopyright
Gmagick::getimagebackgroundcolor
Gmagick
PHP Manual

Gmagick::getfilename

(PECL gmagick >= Unknown)

Gmagick::getfilename — El nombre de archivo asociado a una secuencia de imágenes

Descripción

public string Gmagick::getfilename ( void )

Devuelve el nombre de archivo asociado a una secuencia de imágenes.

Valores devueltos

Devuelve una cadena si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getcopyright
Gmagick::getimagebackgroundcolor
Gmagick


Devuelve el color de fondo de la imagen

Gmagick::getfilename
Gmagick::getimageblueprimary
Gmagick
PHP Manual

Gmagick::getimagebackgroundcolor

(PECL gmagick >= Unknown)

Gmagick::getimagebackgroundcolor — Devuelve el color de fondo de la imagen

Descripción

public void Gmagick::getimagebackgroundcolor ( void )

Devuelve el color de fondo de la imagen.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un objeto GmagickPixel establecido al color de fondo de la imagen.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getfilename
Gmagick::getimageblueprimary
Gmagick


Devuelve el punto primario azul de la cromaticidad

Gmagick::getimagebackgroundcolor
Gmagick::getimagebordercolor
Gmagick
PHP Manual

Gmagick::getimageblueprimary

(PECL gmagick >= Unknown)

Gmagick::getimageblueprimary — Devuelve el punto primario azul de la cromaticidad

Descripción

public array Gmagick::getimageblueprimary ( void )

Devuelve el punto primario azul de la cromaticidad de una imagen.

Parámetros

x

El punto x primario azul de la cromaticidad.

y

El punto y primario azul de la cromaticidad.

Valores devueltos

Matriz consistente en las coordenadas "x" e "y" del punto.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimagebackgroundcolor
Gmagick::getimagebordercolor
Gmagick


Devuelve el color del borde de la imagen

Gmagick::getimageblueprimary
Gmagick::getimagechanneldepth
Gmagick
PHP Manual

Gmagick::getimagebordercolor

(PECL gmagick >= Unknown)

Gmagick::getimagebordercolor — Devuelve el color del borde de la imagen

Descripción

public void Gmagick::getimagebordercolor ( void )

Devuelve el color del borde de la imagen.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Objeto GmagickPixel que representa el color del borde

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimageblueprimary
Gmagick::getimagechanneldepth
Gmagick


Obtiene la profundidad de un canal de imagen en particular

Gmagick::getimagebordercolor
Gmagick::getimagecolors
Gmagick
PHP Manual

Gmagick::getimagechanneldepth

(PECL gmagick >= Unknown)

Gmagick::getimagechanneldepth — Obtiene la profundidad de un canal de imagen en particular

Descripción

public int Gmagick::getimagechanneldepth ( int $channel_type )

Obtiene la profundidad de un canal de imagen en particular.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La profundidad del canal de la imagen

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimagebordercolor
Gmagick::getimagecolors
Gmagick


Devuelve el color del índice del mapa de color especificado

Gmagick::getimagechanneldepth
Gmagick::getimagecolorspace
Gmagick
PHP Manual

Gmagick::getimagecolors

(PECL gmagick >= Unknown)

Gmagick::getimagecolors — Devuelve el color del índice del mapa de color especificado

Descripción

public int Gmagick::getimagecolors ( void )

Devuelve el color del índice del mapa de color especificado.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El número de colores en la imagen.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimagechanneldepth
Gmagick::getimagecolorspace
Gmagick


Obtiene el espacio de colores de la imagen

Gmagick::getimagecolors
Gmagick::getimagecompose
Gmagick
PHP Manual

Gmagick::getimagecolorspace

(PECL gmagick >= Unknown)

Gmagick::getimagecolorspace — Obtiene el espacio de colores de la imagen

Descripción

public int Gmagick::getimagecolorspace ( void )

Obtiene el espacio de colores de la imagen.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El espacio de colores

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimagecolors
Gmagick::getimagecompose
Gmagick


Devuelve el operador de composición asociado a la imagen

Gmagick::getimagecolorspace
Gmagick::getimagedelay
Gmagick
PHP Manual

Gmagick::getimagecompose

(PECL gmagick >= Unknown)

Gmagick::getimagecompose — Devuelve el operador de composición asociado a la imagen

Descripción

public int Gmagick::getimagecompose ( void )

Devuelve el operador de composición asociado a la imagen.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el operador de composición asociado a la imagen.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimagecolorspace
Gmagick::getimagedelay
Gmagick


Obetiene el retraso de la imagen

Gmagick::getimagecompose
Gmagick::getimagedepth
Gmagick
PHP Manual

Gmagick::getimagedelay

(PECL gmagick >= Unknown)

Gmagick::getimagedelay — Obetiene el retraso de la imagen

Descripción

public int Gmagick::getimagedelay ( void )

Obetiene el retraso de la imagen

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el operados de composción asociado con la imagen.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimagecompose
Gmagick::getimagedepth
Gmagick


Obtiene la profundidad de la imagen

Gmagick::getimagedelay
Gmagick::getimagedispose
Gmagick
PHP Manual

Gmagick::getimagedepth

(PECL gmagick >= Unknown)

Gmagick::getimagedepth — Obtiene la profundidad de la imagen

Descripción

public int Gmagick::getimagedepth ( void )

Obtiene la profundidad de la imagen.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La profundidad de la imagen.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimagedelay
Gmagick::getimagedispose
Gmagick


Obtiene el método de disposición de la imagen

Gmagick::getimagedepth
Gmagick::getimageextrema
Gmagick
PHP Manual

Gmagick::getimagedispose

(PECL gmagick >= Unknown)

Gmagick::getimagedispose — Obtiene el método de disposición de la imagen

Descripción

public int Gmagick::getimagedispose ( void )

Obtiene el método de disposición de la imagen

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el método de disposición si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimagedepth
Gmagick::getimageextrema
Gmagick


Obtiene los extremos de la imagen

Gmagick::getimagedispose
Gmagick::getimagefilename
Gmagick
PHP Manual

Gmagick::getimageextrema

(PECL gmagick >= Unknown)

Gmagick::getimageextrema — Obtiene los extremos de la imagen

Descripción

public array Gmagick::getimageextrema ( void )

Devuelve una matriz asociativa con las claves "min" y "max". Arroja un GmagickException en caso de error.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una matriz asociativa con las claves "min" y "max".

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimagedispose
Gmagick::getimagefilename
Gmagick


Devuelve el nombre de archivo de una imagen en particular de una secuencia

Gmagick::getimageextrema
Gmagick::getimageformat
Gmagick
PHP Manual

Gmagick::getimagefilename

(PECL gmagick >= Unknown)

Gmagick::getimagefilename — Devuelve el nombre de archivo de una imagen en particular de una secuencia

Descripción

public string Gmagick::getimagefilename ( void )

Devuelve el nombre de archivo de una imagen en particular de una secuencia

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una cadena con el nombre de archivo de la imagen

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimageextrema
Gmagick::getimageformat
Gmagick


Devuelve el formato de una imagen en particular de una secuencia

Gmagick::getimagefilename
Gmagick::getimagegamma
Gmagick
PHP Manual

Gmagick::getimageformat

(PECL gmagick >= Unknown)

Gmagick::getimageformat — Devuelve el formato de una imagen en particular de una secuencia

Descripción

public string Gmagick::getimageformat ( void )

Devuelve el formato de una imagen en particular de una secuencia.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una cadena que contiene el formato de imagen si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimagefilename
Gmagick::getimagegamma
Gmagick


Obtiene el valor gamma de la imagen

Gmagick::getimageformat
Gmagick::getimagegreenprimary
Gmagick
PHP Manual

Gmagick::getimagegamma

(PECL gmagick >= Unknown)

Gmagick::getimagegamma — Obtiene el valor gamma de la imagen

Descripción

public float Gmagick::getimagegamma ( void )

Obtiene el valor gamma de la imagen

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el valor gamma de la imagen si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimageformat
Gmagick::getimagegreenprimary
Gmagick


Devuelve el punto primario verde de la cromaticidad

Gmagick::getimagegamma
Gmagick::getimageheight
Gmagick
PHP Manual

Gmagick::getimagegreenprimary

(PECL gmagick >= Unknown)

Gmagick::getimagegreenprimary — Devuelve el punto primario verde de la cromaticidad

Descripción

public array Gmagick::getimagegreenprimary ( void )

Devuelve el punto primario verde de la cromaticidad. Devuelve una matriz con las claves "x" e "y".

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una matriz con las claves "x" e "y" si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimagegamma
Gmagick::getimageheight
Gmagick


Devuelve el alto de la imagen

Gmagick::getimagegreenprimary
Gmagick::getimagehistogram
Gmagick
PHP Manual

Gmagick::getimageheight

(PECL gmagick >= Unknown)

Gmagick::getimageheight — Devuelve el alto de la imagen

Descripción

public int Gmagick::getimageheight ( void )

Devuelve el alto de la imagen

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el alto de la imagen en píxeles.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimagegreenprimary
Gmagick::getimagehistogram
Gmagick


Obtiene el histograma de la imagen

Gmagick::getimageheight
Gmagick::getimageindex
Gmagick
PHP Manual

Gmagick::getimagehistogram

(PECL gmagick >= Unknown)

Gmagick::getimagehistogram — Obtiene el histograma de la imagen

Descripción

public array Gmagick::getimagehistogram ( void )

Devuelve el histograma de la imagen como una matriz de objetos GmagickPixel. Lanza una excepción de tipo GmagickException si se produjo un error.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el histograma de la imagen como una matriz de objetos GmagickPixel.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimageheight
Gmagick::getimageindex
Gmagick


Obtiene el índice de la imagen activa actual

Gmagick::getimagehistogram
Gmagick::getimageinterlacescheme
Gmagick
PHP Manual

Gmagick::getimageindex

(PECL gmagick >= Unknown)

Gmagick::getimageindex — Obtiene el índice de la imagen activa actual

Descripción

public int Gmagick::getimageindex ( void )

Devuelve el índice de la imagen activa actual dentro del objeto Gmagick.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El índice de la imagen activa actual

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimagehistogram
Gmagick::getimageinterlacescheme
Gmagick


Obtiene la combinación de entrelazado de la imagen

Gmagick::getimageindex
Gmagick::getimageiterations
Gmagick
PHP Manual

Gmagick::getimageinterlacescheme

(PECL gmagick >= Unknown)

Gmagick::getimageinterlacescheme — Obtiene la combinación de entrelazado de la imagen

Descripción

public int Gmagick::getimageinterlacescheme ( void )

Obtiene la combinación de entrelazado de la imagen.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la combinación de entrelazado como un integer si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimageindex
Gmagick::getimageiterations
Gmagick


Obtiene las iteraciones de la imagen

Gmagick::getimageinterlacescheme
Gmagick::getimagematte
Gmagick
PHP Manual

Gmagick::getimageiterations

(PECL gmagick >= Unknown)

Gmagick::getimageiterations — Obtiene las iteraciones de la imagen

Descripción

public int Gmagick::getimageiterations ( void )

Obtiene las iteraciones de la imagen.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve las iteraciones de la imagen como un valor integer.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimageinterlacescheme
Gmagick::getimagematte
Gmagick


Devuelve si la imagen tiene un canal mate

Gmagick::getimageiterations
Gmagick::getimagemattecolor
Gmagick
PHP Manual

Gmagick::getimagematte

(PECL gmagick >= Unknown)

Gmagick::getimagematte — Devuelve si la imagen tiene un canal mate

Descripción

public int Gmagick::getimagematte ( void )

Devuelve TRUE si la imagen tiene un canal mate, si no, devuelve false.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si la imagen tiene un canal mate, si no, devuelve false.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimageiterations
Gmagick::getimagemattecolor
Gmagick


Devuelve el color mate de la imagen

Gmagick::getimagematte
Gmagick::getimageprofile
Gmagick
PHP Manual

Gmagick::getimagemattecolor

(PECL gmagick >= Unknown)

Gmagick::getimagemattecolor — Devuelve el color mate de la imagen

Descripción

public void Gmagick::getimagemattecolor ( void )

Devuelve un objeto GmagickPixel si se tuvo éxtito. Lanza un excepción GmagickException si se produjo un error.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un objeto GmagickPixel si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimagematte
Gmagick::getimageprofile
Gmagick


Devuelve el perfil nominado de la imagen

Gmagick::getimagemattecolor
Gmagick::getimageredprimary
Gmagick
PHP Manual

Gmagick::getimageprofile

(PECL gmagick >= Unknown)

Gmagick::getimageprofile — Devuelve el perfil nominado de la imagen

Descripción

public string Gmagick::getimageprofile ( string $name )

Devuelve el perfil nominado de la imagen.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una cadena que contiene el perfil de la imagen.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimagemattecolor
Gmagick::getimageredprimary
Gmagick


Devuelve el punto primario rojo de la cromaticidad

Gmagick::getimageprofile
Gmagick::getimagerenderingintent
Gmagick
PHP Manual

Gmagick::getimageredprimary

(PECL gmagick >= Unknown)

Gmagick::getimageredprimary — Devuelve el punto primario rojo de la cromaticidad

Descripción

public array Gmagick::getimageredprimary ( void )

Devuelve el punto primario rojo de la cromaticidad como una matriz con las claves "x" e "y".

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el punto primario rojo de la cromaticidad como una matriz con las claves "x" e "y".

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimageprofile
Gmagick::getimagerenderingintent
Gmagick


Obtiene la propuesta de renderización de la imagen

Gmagick::getimageredprimary
Gmagick::getimageresolution
Gmagick
PHP Manual

Gmagick::getimagerenderingintent

(PECL gmagick >= Unknown)

Gmagick::getimagerenderingintent — Obtiene la propuesta de renderización de la imagen

Descripción

public int Gmagick::getimagerenderingintent ( void )

Obtiene la propuesta de renderización de la imagen

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Extrae una región de la imagen y la devuelve como una nueva varita

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimageredprimary
Gmagick::getimageresolution
Gmagick


Obtiene la resolución X e Y de la imagen

Gmagick::getimagerenderingintent
Gmagick::getimagescene
Gmagick
PHP Manual

Gmagick::getimageresolution

(PECL gmagick >= Unknown)

Gmagick::getimageresolution — Obtiene la resolución X e Y de la imagen

Descripción

public array Gmagick::getimageresolution ( void )

Devuelve la resolución como una matriz.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la resolución como una matriz.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimagerenderingintent
Gmagick::getimagescene
Gmagick


Obtiene la escena de la imagen

Gmagick::getimageresolution
Gmagick::getimagesignature
Gmagick
PHP Manual

Gmagick::getimagescene

(PECL gmagick >= Unknown)

Gmagick::getimagescene — Obtiene la escena de la imagen

Descripción

public int Gmagick::getimagescene ( void )

Obtiene la escena de la imagen.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la escena de la imagen.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimageresolution
Gmagick::getimagesignature
Gmagick


Genera un resumen de un mensaje SHA-256

Gmagick::getimagescene
Gmagick::getimagetype
Gmagick
PHP Manual

Gmagick::getimagesignature

(PECL gmagick >= Unknown)

Gmagick::getimagesignature — Genera un resumen de un mensaje SHA-256

Descripción

public string Gmagick::getimagesignature ( void )

Genera un resumen de un mensaje SHA-256 para el flujo de píxeles de la imagen.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una cadena que contiene el hash SHA-256 del archivo.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimagescene
Gmagick::getimagetype
Gmagick


Obtiene el tipo de imagen potencial.

Gmagick::getimagesignature
Gmagick::getimageunits
Gmagick
PHP Manual

Gmagick::getimagetype

(PECL gmagick >= Unknown)

Gmagick::getimagetype — Obtiene el tipo de imagen potencial.

Descripción

public int Gmagick::getimagetype ( void )

Obtiene el tipo de imagen potencial.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el tipo de imagen potencial.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimagesignature
Gmagick::getimageunits
Gmagick


Obtiene las unidades de resolución de la imagen

Gmagick::getimagetype
Gmagick::getimagewhitepoint
Gmagick
PHP Manual

Gmagick::getimageunits

(PECL gmagick >= Unknown)

Gmagick::getimageunits — Obtiene las unidades de resolución de la imagen

Descripción

public int Gmagick::getimageunits ( void )

Obtiene las unidades de resolución de la imagen.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve las unidades de resolución de la imagen.

Gmagick::getimagetype
Gmagick::getimagewhitepoint
Gmagick


Devuelve el punto blanco de la cromaticidad

Gmagick::getimageunits
Gmagick::getimagewidth
Gmagick
PHP Manual

Gmagick::getimagewhitepoint

(PECL gmagick >= Unknown)

Gmagick::getimagewhitepoint — Devuelve el punto blanco de la cromaticidad

Descripción

public array Gmagick::getimagewhitepoint ( void )

Devuelve el punto blanco de la cromaticidad como una matriz asociativa con las claves "x" e "y".

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el punto blanco de la cromaticidad como una matriz asociativa con las claves "x" e "y".

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimageunits
Gmagick::getimagewidth
Gmagick


Devuelve el ancho de la imagen

Gmagick::getimagewhitepoint
Gmagick::getpackagename
Gmagick
PHP Manual

Gmagick::getimagewidth

(PECL gmagick >= Unknown)

Gmagick::getimagewidth — Devuelve el ancho de la imagen

Descripción

public int Gmagick::getimagewidth ( void )

Devuelve el ancho de la imagen.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el ancho de la imagen.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimagewhitepoint
Gmagick::getpackagename
Gmagick


Devuelve el nombre del paquete de GraphicsMagick

Gmagick::getimagewidth
Gmagick::getquantumdepth
Gmagick
PHP Manual

Gmagick::getpackagename

(PECL gmagick >= Unknown)

Gmagick::getpackagename — Devuelve el nombre del paquete de GraphicsMagick

Descripción

public string Gmagick::getpackagename ( void )

Devuelve el nombre del paquete de GraphicsMagick.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el nombre del paquete de GraphicsMagick como una cadena.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getimagewidth
Gmagick::getquantumdepth
Gmagick


Obtiene la profundidad de la cuantía de Gmagick como una cadena

Gmagick::getpackagename
Gmagick::getreleasedate
Gmagick
PHP Manual

Gmagick::getquantumdepth

(PECL gmagick >= Unknown)

Gmagick::getquantumdepth — Obtiene la profundidad de la cuantía de Gmagick como una cadena

Descripción

public array Gmagick::getquantumdepth ( void )

Obtiene la profundidad de la cuantía de Gmagick como una cadena.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Obtiene la profundidad de la cuantía de Gmagick como una cadena.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getpackagename
Gmagick::getreleasedate
Gmagick


Devuelve la fecha de distribución de GraphicsMagick como una cadena

Gmagick::getquantumdepth
Gmagick::getsamplingfactors
Gmagick
PHP Manual

Gmagick::getreleasedate

(PECL gmagick >= Unknown)

Gmagick::getreleasedate — Devuelve la fecha de distribución de GraphicsMagick como una cadena

Descripción

public string Gmagick::getreleasedate ( void )

Devuelve la fecha de distribución de GraphicsMagick como una cadena.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la fecha de distribución de GraphicsMagick como una cadena.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getquantumdepth
Gmagick::getsamplingfactors
Gmagick


Obtiene el factor de muestreo horizontal y vertical

Gmagick::getreleasedate
Gmagick::getsize
Gmagick
PHP Manual

Gmagick::getsamplingfactors

(PECL gmagick >= Unknown)

Gmagick::getsamplingfactors — Obtiene el factor de muestreo horizontal y vertical

Descripción

public array Gmagick::getsamplingfactors ( void )

Obtiene el factor de muestreo horizontal y vertical.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una matriz asociativa con el factor de muestreo horizontal y vertical de la imagen.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getreleasedate
Gmagick::getsize
Gmagick


Devuelve el tamaño asociado con el objeto Gmagick

Gmagick::getsamplingfactors
Gmagick::getversion
Gmagick
PHP Manual

Gmagick::getsize

(PECL gmagick >= Unknown)

Gmagick::getsize — Devuelve el tamaño asociado con el objeto Gmagick

Descripción

public array Gmagick::getsize ( void )

Devuelve el tamaño asociado con el objeto Gmagick como una matriz con las claves "columns" (columnas) y "rows" (filas).

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el tamaño asociado con el objeto Gmagick como una matriz con las claves "columns" (columnas) y "rows" (filas).

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getsamplingfactors
Gmagick::getversion
Gmagick


Devuelve la versión de la API GraphicsMagick

Gmagick::getsize
Gmagick::hasnextimage
Gmagick
PHP Manual

Gmagick::getversion

(PECL gmagick >= Unknown)

Gmagick::getversion — Devuelve la versión de la API GraphicsMagick

Descripción

public array Gmagick::getversion ( void )

Devuelve la versión de la API GraphicsMagick como una cadena y como un número.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la versión de la API GraphicsMagick como una cadena y como un número.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getsize
Gmagick::hasnextimage
Gmagick


Comprueba si el objeto tiene más imágenes

Gmagick::getversion
Gmagick::haspreviousimage
Gmagick
PHP Manual

Gmagick::hasnextimage

(PECL gmagick >= Unknown)

Gmagick::hasnextimage — Comprueba si el objeto tiene más imágenes

Descripción

public mixed Gmagick::hasnextimage ( void )

Devuelve TRUE si el objeto tiene más imágenes cuando se atraviesa la lista en dirección hacia delante.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si el objeto tiene más imágenes cuando se atraviesa la lista en dirección hacia delante, devuelve FALSE si no hay ninguna.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::getversion
Gmagick::haspreviousimage
Gmagick


Verifica si el objeto tiene una imagen previa

Gmagick::hasnextimage
Gmagick::implodeimage
Gmagick
PHP Manual

Gmagick::haspreviousimage

(PECL gmagick >= Unknown)

Gmagick::haspreviousimage — Verifica si el objeto tiene una imagen previa

Descripción

public mixed Gmagick::haspreviousimage ( void )

Devuelve TRUE si el objeto tiene más imágenes cuando se atraviesa la lista en la dirección opuesta

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si el objeto tiene más imágenes cuando se atraviesa la lista en la dirección opuesta, devuelve FALSE si no hay ninguna.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::hasnextimage
Gmagick::implodeimage
Gmagick


Crea una nueva imagen como una copia

Gmagick::haspreviousimage
Gmagick::labelimage
Gmagick
PHP Manual

Gmagick::implodeimage

(PECL gmagick >= Unknown)

Gmagick::implodeimage — Crea una nueva imagen como una copia

Descripción

public mixed Gmagick::implodeimage ( float $radius )

Crea una nueva imagen que es una copia de una existente con los píxeles de la imagen "implosionados" por el porcentaje especificado.

Parámetros

radius

El radio de la implosión

Valores devueltos

Devuelve el objeto Gmagick implosionado.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::haspreviousimage
Gmagick::labelimage
Gmagick


Añade una etiqueta a una imagen

Gmagick::implodeimage
Gmagick::levelimage
Gmagick
PHP Manual

Gmagick::labelimage

(PECL gmagick >= Unknown)

Gmagick::labelimage — Añade una etiqueta a una imagen

Descripción

public mixed Gmagick::labelimage ( string $label )

Añade una etiqueta a una imagen.

Parámetros

label

La etiqueta a añadir

Valores devueltos

Objeto Gmagick con etiqueta.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::implodeimage
Gmagick::levelimage
Gmagick


Ajusta los niveles de la imagen

Gmagick::labelimage
Gmagick::magnifyimage
Gmagick
PHP Manual

Gmagick::levelimage

(PECL gmagick >= Unknown)

Gmagick::levelimage — Ajusta los niveles de la imagen

Descripción

public mixed Gmagick::levelimage ( float $blackPoint , float $gamma , float $whitePoint [, int $channel = Gmagick::CHANNEL_DEFAULT ] )

Ajusta los niveles de una imagen escalando la caída de los colores entre los puntos blanco y negro especificados al rango completo de cuantía disponible. Los parámetros proporcionados representan los puntos negro, mitad, y blanco. El punto negro especifica el color más oscuro de la imagen. Los colores más oscuros que el punto negro se establecen a cero. El punto medio especifica una corrección gamma a aplicar a la imagen. Mientras que el punto blanco especifica el color más claro de la imagen. Los colores más claros que el punto blanco se establecen al valor de cuantía máximo.

Parámetros

blackPoint

El punto negro de la imagen

gamma

El valor gamma

whitePoint

El punto blanco de la imagen

channel

Proporcione cualquier constante de canal que sea válida para su modo de canal. Para aplicar más de un canal, combine las constantes channeltype usando operadores a nivel de bits. Consulte esta lista de constantes de canal.

Valores devueltos

Objeto Gmagick con la imagen nivelada.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::labelimage
Gmagick::magnifyimage
Gmagick


Escala una imagen x2 proporcionalmente

Gmagick::levelimage
Gmagick::mapimage
Gmagick
PHP Manual

Gmagick::magnifyimage

(PECL gmagick >= Unknown)

Gmagick::magnifyimage — Escala una imagen x2 proporcionalmente

Descripción

public mixed Gmagick::magnifyimage ( void )

Escala convenientemente una imagen proporcionalmente al doble de su tamaño original.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El objeto Gmagick ampliado.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::levelimage
Gmagick::mapimage
Gmagick


Reemplaza los colores de una imagen con el color más cercano de una imagen de referencia

Gmagick::magnifyimage
Gmagick::medianfilterimage
Gmagick
PHP Manual

Gmagick::mapimage

(PECL gmagick >= Unknown)

Gmagick::mapimage — Reemplaza los colores de una imagen con el color más cercano de una imagen de referencia

Descripción

public Gmagick Gmagick::mapimage ( gmagick $gmagick , bool $dither )

Reemplaza los colores de una imagen con el color más cercano de una imagen de referencia.

Parámetros

gmagick

La imagen de referencia

dither

Establezca este valor integer a algo distinto cero para entramar la imagen mapeada

Valores devueltos

Objeto Gmagick

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::magnifyimage
Gmagick::medianfilterimage
Gmagick


Aplica un filtro digital

Gmagick::mapimage
Gmagick::minifyimage
Gmagick
PHP Manual

Gmagick::medianfilterimage

(PECL gmagick >= Unknown)

Gmagick::medianfilterimage — Aplica un filtro digital

Descripción

public void Gmagick::medianfilterimage ( float $radius )

Aplica un filtro digital que mejora la calidad de una imagen con ruido. Cada píxel es reemplazado por la media en un conjunto de píxeles inmediatos como está definido por el radio.

Parámetros

radius

El radio de la zona inmediata de los píxeles.

Valores devueltos

Objeto Gmagick con el filtro de media aplicado.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::mapimage
Gmagick::minifyimage
Gmagick


Escala una imagen proporcionalmente a la mitad de su tamaño

Gmagick::medianfilterimage
Gmagick::modulateimage
Gmagick
PHP Manual

Gmagick::minifyimage

(PECL gmagick >= Unknown)

Gmagick::minifyimage — Escala una imagen proporcionalmente a la mitad de su tamaño

Descripción

public void Gmagick::minifyimage ( void )

Un método conveniente que escala una imagen proporcionalmente a la mitad de su tamaño original

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::medianfilterimage
Gmagick::modulateimage
Gmagick


Controla el brillo, la saturación y el tono

Gmagick::minifyimage
Gmagick::motionblurimage
Gmagick
PHP Manual

Gmagick::modulateimage

(PECL gmagick >= Unknown)

Gmagick::modulateimage — Controla el brillo, la saturación y el tono

Descripción

public void Gmagick::modulateimage ( float $brightness , float $saturation , float $hue )

Permite controlar el brillo, la saturación y el tono de una imagen. El tono es el porcentaje de la rotación absoluta desde la posición actual. Por ejemplo, 50 resulta en una rotación en el sentido contrario a las agujas del reloj de 90 grados, 150 resulta en una rotación en el sentido de las agujas del reloj de 90 grados, con 0 y 200 resultando en una rotación de 180 grados.

Parámetros

brightness

El cambio de porcentaje en brillo (-100 a +100).

saturation

El cambio de porcentaje en saturación (-100 a +100)

hue

El cambio de porcentaje en tono (-100 a +100)

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::minifyimage
Gmagick::motionblurimage
Gmagick


Simula borrosidad en movimiento

Gmagick::modulateimage
Gmagick::newimage
Gmagick
PHP Manual

Gmagick::motionblurimage

(PECL gmagick >= Unknown)

Gmagick::motionblurimage — Simula borrosidad en movimiento

Descripción

public void Gmagick::motionblurimage ( float $radius , float $sigma , float $angle )

Simula borrosidad en movimiento. Se convoluciona la imagen con un operador gaussiano del radio y la desviación estándar (sigma) dados. Para obtener resultados razonables, el radio debe ser mayor que sigma. Use un radio de 0 y MotionBlurImage() seleccionará un radio apropiado automáticamente. El ángulo da el ángulo del movimiento borroso.

Parámetros

radius

El radio gaussiano, en píxeles, sin contar el píxel central.

sigma

La desviación estándar gaussiana, en píxeles.

angle

Aplica el efecto a lo largo de este ángulo.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::modulateimage
Gmagick::newimage
Gmagick


Crea una nueva imagen

Gmagick::motionblurimage
Gmagick::nextimage
Gmagick
PHP Manual

Gmagick::newimage

(PECL gmagick >= Unknown)

Gmagick::newimage — Crea una nueva imagen

Descripción

public void Gmagick::newimage ( int $width , int $height , string $background [, string $format ] )

Crea una nueva imagen con el color de fondo especificado

Parámetros

width

Ancho de la nueva imagen

height

Alto de la nueva imagen

background

El color de fondo usado para esta imagen (como float)

format

Formato de la imagen.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::motionblurimage
Gmagick::nextimage
Gmagick


Se mueve a la siguiente imagen

Gmagick::newimage
Gmagick::normalizeimage
Gmagick
PHP Manual

Gmagick::nextimage

(PECL gmagick >= Unknown)

Gmagick::nextimage — Se mueve a la siguiente imagen

Descripción

public bool Gmagick::nextimage ( void )

Asocia la siguiente imagen de la lista de ímágenes con un objeto Gmagick.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::newimage
Gmagick::normalizeimage
Gmagick


Mejora el contraste de una imagen a color

Gmagick::nextimage
Gmagick::oilpaintimage
Gmagick
PHP Manual

Gmagick::normalizeimage

(PECL gmagick >= Unknown)

Gmagick::normalizeimage — Mejora el contraste de una imagen a color

Descripción

public void Gmagick::normalizeimage ([ int $channel ] )

Mejora el contraste de una imagen a color ajustando los colores de los píxeles para abarcar el rango completo de colores disponibles.

Parámetros

channel

Identifica el canal a normalizar

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::nextimage
Gmagick::oilpaintimage
Gmagick


Simula una pintura al óleo

Gmagick::normalizeimage
Gmagick::previousimage
Gmagick
PHP Manual

Gmagick::oilpaintimage

(PECL gmagick >= Unknown)

Gmagick::oilpaintimage — Simula una pintura al óleo

Descripción

public void Gmagick::oilpaintimage ( float $radius )

Aplica un filtro de efecto especial que simula una pintura al óleo. Cada píxel es reemplazado por el color más frecuente que suceda en una región circular definida por el radio.

Parámetros

radius

El radio de la zona inmediata circular.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::normalizeimage
Gmagick::previousimage
Gmagick


Se mueve a la imagen previa del objeto

Gmagick::oilpaintimage
Gmagick::profileimage
Gmagick
PHP Manual

Gmagick::previousimage

(PECL gmagick >= Unknown)

Gmagick::previousimage — Se mueve a la imagen previa del objeto

Descripción

public bool Gmagick::previousimage ( void )

Asocia la imagen previa en una lista de imágenes con el objeto Gmagick.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::oilpaintimage
Gmagick::profileimage
Gmagick


Añade o elimina un perfil de una imagen

Gmagick::previousimage
Gmagick::quantizeimage
Gmagick
PHP Manual

Gmagick::profileimage

(PECL gmagick >= Unknown)

Gmagick::profileimage — Añade o elimina un perfil de una imagen

Descripción

public void Gmagick::profileimage ( string $name , string $profile )

Añade o elimina un perfil ICC, IPTC, o genérico de una imagen. Si el perfil es NULL, se elimina de la imagen, si no, se añade. Use como nombre '*' y un perfil NULL para eliminar todos los perfiles de la imagen.

Parámetros

name

Nombre del perfil a añadir o eliminar: ICC, IPTC, o perfil genérico.

profile

El perfil.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::previousimage
Gmagick::quantizeimage
Gmagick


Analiza los colores dentro de una imagen de referencia

Gmagick::profileimage
Gmagick::quantizeimages
Gmagick
PHP Manual

Gmagick::quantizeimage

(PECL gmagick >= Unknown)

Gmagick::quantizeimage — Analiza los colores dentro de una imagen de referencia

Descripción

public void Gmagick::quantizeimage ( int $numColors , int $colorspace , int $treeDepth , bool $dither , bool $measureError )

Analiza los colores dentro de una imagen de referencia y elige un número fijo de colores que representan la imagen. El objetivo del algoritmo es minimizar la diferencia de colores entre la imagen de entrada y de salida mientras minimiza el tiempo de procesamiento.

Parámetros

numColors

El número de colores.

colorspace

Lleva a cabo una reducción de color en este espacio de color, normalmaente RGBColorspace.

treeDepth

Normalmente, este valor de tipo integer es cero o uno. Un cero o uno indica a Quantize que elija una profundidad de árbol óptima de Log4(número_colores).% Un árbol de esta profundidad generalmente permite la mejor representación de la imagen de referencia con la menor cantidad de memoria y la velocidad de computación más rápida. En algunos casos, como una imagen con dispersión de color baja (un número bajo de colores), se requiere un valor distinto de Log4(número_colores). Para expandir el árbol de colores completamente, use un valor de 8.

dither

Un valor distinto de cero distribuye la diferencia entre una imagen original y el algoritmo de reducción de color correspondiente a los píxeles de la zona inmediata a lo largo de una curva de Hilbert.

measureError

Un valor distinto de cero mide la diferencia entre la imagen original y la cuantificada. Esta diferencia es el error de cuantización total. El error se computa sumando, en todos los píxeles de una imagen, la distancia al cuadrado en el espacio RGB entre cada valor de píxel de referncia y su valor cuantizado.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::profileimage
Gmagick::quantizeimages
Gmagick


Analiza los colores dentro de una secuencia de imágenes

Gmagick::quantizeimage
Gmagick::queryfontmetrics
Gmagick
PHP Manual

Gmagick::quantizeimages

(PECL gmagick >= Unknown)

Gmagick::quantizeimages — Analiza los colores dentro de una secuencia de imágenes

Descripción

public void Gmagick::quantizeimages ( int $numColors , int $colorspace , int $treeDepth , bool $dither , bool $measureError )

Analiza los colores dentro de una secuencia de imágenes y elige un número fijo de colores que representan la imagen. El objetivo del algoritmo es minimizar la diferencia de colores entre la imagen de entrada y de salida mientras minimiza el tiempo de procesamiento.

Parámetros

numColors

El número de colores.

colorspace

Lleva a cabo una reducción de color en este espacio de color, normalmaente RGBColorspace.

treeDepth

Normalmente, este valor de tipo integer es cero o uno. Un cero o uno indica a Quantize que elija una profundidad de árbol óptima de Log4(número_colores).% Un árbol de esta profundidad generalmente permite la mejor representación de la imagen de referencia con la menor cantidad de memoria y la velocidad de computación más rápida. En algunos casos, como una imagen con dispersión de color baja (un número bajo de colores), se requiere un valor distinto de Log4(número_colores). Para expandir el árbol de colores completamente, use un valor de 8.

dither

Un valor distinto de cero distribuye la diferencia entre una imagen original y el algoritmo de reducción de color correspondiente a los píxeles de la zona inmediata a lo largo de una curva de Hilbert.

measureError

Un valor distinto de cero mide la diferencia entre la imagen original y la cuantificada. Esta diferencia es el error de cuantización total. El error se computa sumando, en todos los píxeles de una imagen, la distancia al cuadrado en el espacio RGB entre cada valor de píxel de referncia y su valor cuantizado.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::quantizeimage
Gmagick::queryfontmetrics
Gmagick


Devuelve una matriz que representa las métricas de la fuente

Gmagick::quantizeimages
Gmagick::queryfonts
Gmagick
PHP Manual

Gmagick::queryfontmetrics

(PECL gmagick >= Unknown)

Gmagick::queryfontmetrics — Devuelve una matriz que representa las métricas de la fuente

Descripción

public array Gmagick::queryfontmetrics ( GmagickDraw $draw , string $text )

MagickQueryFontMetrics() devuelve una matriz que representa las métricas de la fuente.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::quantizeimages
Gmagick::queryfonts
Gmagick


Devuelve las fuentes configuradas

Gmagick::queryfontmetrics
Gmagick::queryformats
Gmagick
PHP Manual

Gmagick::queryfonts

(PECL gmagick >= Unknown)

Gmagick::queryfonts — Devuelve las fuentes configuradas

Descripción

public array Gmagick::queryfonts ([ string $pattern = "*" ] )

Devuelve las fuentes soportadas por Gmagick.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::queryfontmetrics
Gmagick::queryformats
Gmagick


Devuelve los formatos soportados por Gmagick

Gmagick::queryfonts
Gmagick::radialblurimage
Gmagick
PHP Manual

Gmagick::queryformats

(PECL gmagick >= Unknown)

Gmagick::queryformats — Devuelve los formatos soportados por Gmagick

Descripción

public array Gmagick::queryformats ([ string $pattern = "*" ] )

Devuelve los formatos soportados por Gmagick.

Parámetros

pattern

Especifica un puntero a una cadena de texto que contiene un patrón.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::queryfonts
Gmagick::radialblurimage
Gmagick


Hace borrosa de forma radial una imagen

Gmagick::queryformats
Gmagick::raiseimage
Gmagick
PHP Manual

Gmagick::radialblurimage

(PECL gmagick >= Unknown)

Gmagick::radialblurimage — Hace borrosa de forma radial una imagen

Descripción

public void Gmagick::radialblurimage ( float $angle [, int $channel = Gmagick::CHANNEL_DEFAULT ] )

Hace borrosa de forma radial una imagen.

Parámetros

angle

El ángulo de la borrosidad en grados.

channel

El canal relacionado.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::queryformats
Gmagick::raiseimage
Gmagick


Crea un efecto de botón en 3D simulado

Gmagick::radialblurimage
Gmagick::read
Gmagick
PHP Manual

Gmagick::raiseimage

(PECL gmagick >= Unknown)

Gmagick::raiseimage — Crea un efecto de botón en 3D simulado

Descripción

public void Gmagick::raiseimage ( int $width , int $height , int $x , int $y , bool $raise )

Crea un efecto de botón tridimensional simulado aclarando y oscureciendo los bordes de la imagen. Los miembros ancho y alto de la información de elevación definen el ancho del borde vertical y horizontal del efecto.

Parámetros

width

Ancho del área a realzar.

height

Alto del área a realzar.

x

Coordenada X

y

Coordenada Y

raise

Un valor distinto de cero crea un efecto de realzado en 3D, de otro modo tiene un efecto contrario.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::radialblurimage
Gmagick::read
Gmagick


Lee una imagen desde un nombre de archivo

Gmagick::raiseimage
Gmagick::readimage
Gmagick
PHP Manual

Gmagick::read

(PECL gmagick >= Unknown)

Gmagick::read — Lee una imagen desde un nombre de archivo

Descripción

public void Gmagick::read ( string $filename )

Lee una imagen desde un nombre de archivo.

Parámetros

filename

El nombre de archivo de la imagen.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::raiseimage
Gmagick::readimage
Gmagick


Lee una imagen desde un nombre de archivo

Gmagick::read
Gmagick::readimageblob
Gmagick
PHP Manual

Gmagick::readimage

(PECL gmagick >= Unknown)

Gmagick::readimage — Lee una imagen desde un nombre de archivo

Descripción

public void Gmagick::readimage ( string $filename )

Lee una imagen desde un nombre de archivo.

Parámetros

filename

El nombre de archivo de la imagen.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::read
Gmagick::readimageblob
Gmagick


Lee una imagen desde una cadena binaria

Gmagick::readimage
Gmagick::readimagefile
Gmagick
PHP Manual

Gmagick::readimageblob

(PECL gmagick >= Unknown)

Gmagick::readimageblob — Lee una imagen desde una cadena binaria

Descripción

public void Gmagick::readimageblob ( string $imageContents [, string $filename ] )

Lee una imagen desde una cadena binaria.

Parámetros

imageContents

El contenido de la imagen

filename

El nombre de archivo de la imagen.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::readimage
Gmagick::readimagefile
Gmagick


Lee una imagen desde un descriptor de archivo abierto

Gmagick::readimageblob
Gmagick::reducenoiseimage
Gmagick
PHP Manual

Gmagick::readimagefile

(PECL gmagick >= Unknown)

Gmagick::readimagefile — Lee una imagen desde un descriptor de archivo abierto

Descripción

public void Gmagick::readimagefile ( resource $fp [, string $filename ] )

Lee una imagen o secuencia de imágenes desde un descriptor de archivo abierto.

Parámetros

fp

El descriptor de archivo.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::readimageblob
Gmagick::reducenoiseimage
Gmagick


Suaviza los contornos de una imagen

Gmagick::readimagefile
Gmagick::removeimage
Gmagick
PHP Manual

Gmagick::reducenoiseimage

(PECL gmagick >= Unknown)

Gmagick::reducenoiseimage — Suaviza los contornos de una imagen

Descripción

public void Gmagick::reducenoiseimage ( float $radius )

Suaviza los contornos de una imagen mientras que se preserva todavía la información del borde. El algoritmo funciona reemplazando cada píxel con su más cercano inmediato en valor. La zona inmediata está definida por el radio. Use un radio de 0 y Gmagick::reduceNoiseImage() seleccionará una radio apropiado automáticamente.

Parámetros

radius

El radio de la zona inmediata de píxeles.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::readimagefile
Gmagick::removeimage
Gmagick


Elimina una imagen de la lista de imágenes

Gmagick::reducenoiseimage
Gmagick::removeimageprofile
Gmagick
PHP Manual

Gmagick::removeimage

(PECL gmagick >= Unknown)

Gmagick::removeimage — Elimina una imagen de la lista de imágenes

Descripción

public void Gmagick::removeimage ( void )

Elimina una imagen de la lista de imágenes.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El objeto Gmagick si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::reducenoiseimage
Gmagick::removeimageprofile
Gmagick


Elimina el perfil nominado de la imagen y lo devuelve

Gmagick::removeimage
Gmagick::resampleimage
Gmagick
PHP Manual

Gmagick::removeimageprofile

(PECL gmagick >= Unknown)

Gmagick::removeimageprofile — Elimina el perfil nominado de la imagen y lo devuelve

Descripción

public string Gmagick::removeimageprofile ( string $name )

Elimina el perfil nominado de la imagen y lo devuelve.

Parámetros

name

El nombre del perfil a devolver: ICC, IPTC, o perfil genérico.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::removeimage
Gmagick::resampleimage
Gmagick


Re-muestrea la imagen a la resolución deseada

Gmagick::removeimageprofile
Gmagick::resizeimage
Gmagick
PHP Manual

Gmagick::resampleimage

(PECL gmagick >= Unknown)

Gmagick::resampleimage — Re-muestrea la imagen a la resolución deseada

Descripción

public void Gmagick::resampleimage ( float $xResolution , float $yResolution , int $filter , float $blur )

Re-muestrea la imagen a la resolución deseada.

Parámetros

xResolution

La nueva resolución x de la imagen.

yResolution

La nueva resolución x de la imagen.

filter

El filtro de imagen a usar.

blur

El factor de borrosidad donde mayor que que es borroso, menor que uno es nítido.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::removeimageprofile
Gmagick::resizeimage
Gmagick


Escala una imagen

Gmagick::resampleimage
Gmagick::rollimage
Gmagick
PHP Manual

Gmagick::resizeimage

(PECL gmagick >= Unknown)

Gmagick::resizeimage — Escala una imagen

Descripción

public void Gmagick::resizeimage ( int $width , int $height , int $filter , float $blur [, bool $fit = false ] )

Escala una imagen a las dimensiones deseadas con un filtro.

Parámetros

width

El número de columnas en la imagen escalada.

height

El número de filas en la imagen escalada.

filter

El filtro de imagen a usar.

blur

El factor de borrosidad dondo mayor que 1 es borroso, menor que 1 es nítido.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::resampleimage
Gmagick::rollimage
Gmagick


Compensa una imagen

Gmagick::resizeimage
Gmagick::rotateimage
Gmagick
PHP Manual

Gmagick::rollimage

(PECL gmagick >= Unknown)

Gmagick::rollimage — Compensa una imagen

Descripción

public void Gmagick::rollimage ( int $x , int $y )

Compensa una imagen como está definido por x e y.

Parámetros

x

El índice x.

y

El índice y.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::resizeimage
Gmagick::rotateimage
Gmagick


Rota una imagen

Gmagick::rollimage
Gmagick::scaleimage
Gmagick
PHP Manual

Gmagick::rotateimage

(PECL gmagick >= Unknown)

Gmagick::rotateimage — Rota una imagen

Descripción

public Gmagick Gmagick::rotateimage ( mixed $color , float $degrees )

Rota una imagen el número de grados especificado. Los triángulos vacíos sobrantes por la rotación de la imagen se rellenan con el color de fondo.

Parámetros

color

El píxel de color de fondo.

degrees

El número de grados que se va a rotar la imagen.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::rollimage
Gmagick::scaleimage
Gmagick


Escala el tamaño de una imagen

Gmagick::rotateimage
Gmagick::separateimagechannel
Gmagick
PHP Manual

Gmagick::scaleimage

(PECL gmagick >= Unknown)

Gmagick::scaleimage — Escala el tamaño de una imagen

Descripción

public Gmagick Gmagick::scaleimage ( int $width , int $height [, bool $fit = false ] )

Escala el tamaño de una imagen a las dimensiones dadas. El otro parámetro será calculado si se pasa 0 como parámetro.

Parámetros

width

El número de columnas en la imagen escalada.

height

El número de filas en la imagen escalada.

Valores devueltos

El objeto Gmagick si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::rotateimage
Gmagick::separateimagechannel
Gmagick


Separa un canal de la imagen

Gmagick::scaleimage
Gmagick::setfilename
Gmagick
PHP Manual

Gmagick::separateimagechannel

(PECL gmagick >= Unknown)

Gmagick::separateimagechannel — Separa un canal de la imagen

Descripción

public Gmagick Gmagick::separateimagechannel ( int $channel )

Separa un canal de la imagen y devuelve una imagen en escala de grises. Un canal es un componente de color en particular de cada píxel de la imagen.

Parámetros

channel

Identifica qué canal extraer: RedChannel, GreenChannel, BlueChannel, OpacityChannel, CyanChannel, MagentaChannel, YellowChannel, BlackChannel.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::scaleimage
Gmagick::setfilename
Gmagick


Establece el nombre de archivo antes de que se lea o escriba una imagen

Gmagick::separateimagechannel
Gmagick::setimagebackgroundcolor
Gmagick
PHP Manual

Gmagick::setfilename

(PECL gmagick >= Unknown)

Gmagick::setfilename — Establece el nombre de archivo antes de que se lea o escriba una imagen

Descripción

public Gmagick Gmagick::setfilename ( string $filename )

Establece el nombre de archivo antes de que se lea o escriba una imagen.

Parámetros

filename

El nombre de archivo de la imagen.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::separateimagechannel
Gmagick::setimagebackgroundcolor
Gmagick


Establece el color de fondo de la imagen

Gmagick::setfilename
Gmagick::setimageblueprimary
Gmagick
PHP Manual

Gmagick::setimagebackgroundcolor

(PECL gmagick >= Unknown)

Gmagick::setimagebackgroundcolor — Establece el color de fondo de la imagen

Descripción

public Gmagick Gmagick::setimagebackgroundcolor ( GmagickPixel $color )

Establece el color de fondo de la imagen.

Parámetros

color

La varita de píxel de color de fondo.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::setfilename
Gmagick::setimageblueprimary
Gmagick


Establece el punto primario azul de la cromaticidad de la imagen

Gmagick::setimagebackgroundcolor
Gmagick::setimagebordercolor
Gmagick
PHP Manual

Gmagick::setimageblueprimary

(PECL gmagick >= Unknown)

Gmagick::setimageblueprimary — Establece el punto primario azul de la cromaticidad de la imagen

Descripción

public Gmagick Gmagick::setimageblueprimary ( float $x , float $y )

Establece el punto primario azul de la cromaticidad de la imagen.

Parámetros

x

El punto x primario azul.

y

El punto y primario azul.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::setimagebackgroundcolor
Gmagick::setimagebordercolor
Gmagick


Establece el color de borde de la imagen

Gmagick::setimageblueprimary
Gmagick::setimagechanneldepth
Gmagick
PHP Manual

Gmagick::setimagebordercolor

(PECL gmagick >= Unknown)

Gmagick::setimagebordercolor — Establece el color de borde de la imagen

Descripción

public Gmagick Gmagick::setimagebordercolor ( GmagickPixel $color )

Establece el color de borde de la imagen.

Parámetros

color

La várita de píxel de borde.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::setimageblueprimary
Gmagick::setimagechanneldepth
Gmagick


Establece la profundidad de una canal de imagen en particular

Gmagick::setimagebordercolor
Gmagick::setimagecolorspace
Gmagick
PHP Manual

Gmagick::setimagechanneldepth

(PECL gmagick >= Unknown)

Gmagick::setimagechanneldepth — Establece la profundidad de una canal de imagen en particular

Descripción

public Gmagick Gmagick::setimagechanneldepth ( int $channel , int $depth )

Establece la profundidad de una canal de imagen en particular.

Parámetros

channel

Identifica qué canal extraer: RedChannel, GreenChannel, BlueChannel, OpacityChannel, CyanChannel, MagentaChannel, YellowChannel, BlackChannel.

depth

La profundidad de la imagen en bits.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::setimagebordercolor
Gmagick::setimagecolorspace
Gmagick


Establece el espacio de color de una imagen

Gmagick::setimagechanneldepth
Gmagick::setimagecompose
Gmagick
PHP Manual

Gmagick::setimagecolorspace

(PECL gmagick >= Unknown)

Gmagick::setimagecolorspace — Establece el espacio de color de una imagen

Descripción

public Gmagick Gmagick::setimagecolorspace ( int $colorspace )

Establece el espacio de color de una imagen.

Parámetros

colorspace

El espacio de color de la imagen: UndefinedColorspace, RGBColorspace, GRAYColorspace, TransparentColorspace, OHTAColorspace, XYZColorspace, YCbCrColorspace, YCCColorspace, YIQColorspace, YPbPrColorspace, YPbPrColorspace, YUVColorspace, CMYKColorspace, sRGBColorspace, HSLColorspace, o HWBColorspace.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::setimagechanneldepth
Gmagick::setimagecompose
Gmagick


Establece el operador de composción de una imagen

Gmagick::setimagecolorspace
Gmagick::setimagedelay
Gmagick
PHP Manual

Gmagick::setimagecompose

(PECL gmagick >= Unknown)

Gmagick::setimagecompose — Establece el operador de composción de una imagen

Descripción

public Gmagick Gmagick::setimagecompose ( int $composite )

Establece el operador de composción de una imagen.

Parámetros

composite

El operador de composición de la imagen.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::setimagecolorspace
Gmagick::setimagedelay
Gmagick


Establece el retardo de una imagen

Gmagick::setimagecompose
Gmagick::setimagedepth
Gmagick
PHP Manual

Gmagick::setimagedelay

(PECL gmagick >= Unknown)

Gmagick::setimagedelay — Establece el retardo de una imagen

Descripción

public Gmagick Gmagick::setimagedelay ( int $delay )

Establece el retardo de una imagen

Parámetros

delay

El retardo de la imagen en 1/100avo de segundo.

Valores devueltos

El objeto Gmagick si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::setimagecompose
Gmagick::setimagedepth
Gmagick


Establece la profundidad de una imagen

Gmagick::setimagedelay
Gmagick::setimagedispose
Gmagick
PHP Manual

Gmagick::setimagedepth

(PECL gmagick >= Unknown)

Gmagick::setimagedepth — Establece la profundidad de una imagen

Descripción

public Gmagick Gmagick::setimagedepth ( int $depth )

Establece la profundidad de una imagen

Parámetros

depth

La profundidad de la imgaen en bits: 8, 16, o 32.

Valores devueltos

El objeto Gmagick si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::setimagedelay
Gmagick::setimagedispose
Gmagick


Establece el método de disposición de una imagen

Gmagick::setimagedepth
Gmagick::setimagefilename
Gmagick
PHP Manual

Gmagick::setimagedispose

(PECL gmagick >= Unknown)

Gmagick::setimagedispose — Establece el método de disposición de una imagen

Descripción

public Gmagick Gmagick::setimagedispose ( int $disposeType )

Establece el método de disposición de una imagen.

Parámetros

disposeType

El tipo de disposición de la imagen.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::setimagedepth
Gmagick::setimagefilename
Gmagick


Establece el nombre de archivo de una imagen en particular en una secuencia

Gmagick::setimagedispose
Gmagick::setimageformat
Gmagick
PHP Manual

Gmagick::setimagefilename

(PECL gmagick >= Unknown)

Gmagick::setimagefilename — Establece el nombre de archivo de una imagen en particular en una secuencia

Descripción

public Gmagick Gmagick::setimagefilename ( string $filename )

Establece el nombre de archivo de una imagen en particular en una secuencia.

Parámetros

filename

El nombre de archivo de la imagen.

Valores devueltos

El objeto Gmagick si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::setimagedispose
Gmagick::setimageformat
Gmagick


Establece el formato de una imagen en particular

Gmagick::setimagefilename
Gmagick::setimagegamma
Gmagick
PHP Manual

Gmagick::setimageformat

(PECL gmagick >= Unknown)

Gmagick::setimageformat — Establece el formato de una imagen en particular

Descripción

public Gmagick Gmagick::setimageformat ( string $imageFormat )

Establece el formato de una imagen en particular en una secuencia.

Parámetros

imageFormat

El formato de la imagen.

Valores devueltos

El objeto Gmagick si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::setimagefilename
Gmagick::setimagegamma
Gmagick


Establece el valor gamma de la imagen

Gmagick::setimageformat
Gmagick::setimagegreenprimary
Gmagick
PHP Manual

Gmagick::setimagegamma

(PECL gmagick >= Unknown)

Gmagick::setimagegamma — Establece el valor gamma de la imagen

Descripción

public Gmagick Gmagick::setimagegamma ( float $gamma )

Establece el valor gamma de la imagen.

Parámetros

gamma

El valor gamma de la imagen.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::setimageformat
Gmagick::setimagegreenprimary
Gmagick


Establece el punto primario verde de la cromaticidad de la imagen

Gmagick::setimagegamma
Gmagick::setimageindex
Gmagick
PHP Manual

Gmagick::setimagegreenprimary

(PECL gmagick >= Unknown)

Gmagick::setimagegreenprimary — Establece el punto primario verde de la cromaticidad de la imagen

Descripción

public Gmagick Gmagick::setimagegreenprimary ( float $x , float $y )

Establece el punto primario verde de la cromaticidad de la imagen.

Parámetros

x

El punto x primario verde de la cromaticidad.

y

El punto y primario verde de la cromaticidad.

Valores devueltos

El objeto Gmagick si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::setimagegamma
Gmagick::setimageindex
Gmagick


Establece la posición del iterador en la lista de imágenes especificada con el parámetro index

Gmagick::setimagegreenprimary
Gmagick::setimageinterlacescheme
Gmagick
PHP Manual

Gmagick::setimageindex

(PECL gmagick >= Unknown)

Gmagick::setimageindex — Establece la posición del iterador en la lista de imágenes especificada con el parámetro index

Descripción

public Gmagick Gmagick::setimageindex ( int $index )

Establece la posición del iterador en la lista de imágenes especificada con el parámetro index.

Parámetros

index

El número de escena.

Valores devueltos

El objeto Gmagick si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::setimagegreenprimary
Gmagick::setimageinterlacescheme
Gmagick


Establece la combinación de entrelazado de la imagen

Gmagick::setimageindex
Gmagick::setimageiterations
Gmagick
PHP Manual

Gmagick::setimageinterlacescheme

(PECL gmagick >= Unknown)

Gmagick::setimageinterlacescheme — Establece la combinación de entrelazado de la imagen

Descripción

public Gmagick Gmagick::setimageinterlacescheme ( int $interlace )

Establece la combinación de entrelazado de la imagen.

Parámetros

interlace

La combinación de entrelazado de la imagen: NoInterlace, LineInterlace, PlaneInterlace, PartitionInterlace.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::setimageindex
Gmagick::setimageiterations
Gmagick


Establece las iteraciones de la imagen

Gmagick::setimageinterlacescheme
Gmagick::setimageprofile
Gmagick
PHP Manual

Gmagick::setimageiterations

(PECL gmagick >= Unknown)

Gmagick::setimageiterations — Establece las iteraciones de la imagen

Descripción

public Gmagick Gmagick::setimageiterations ( int $iterations )

Establece las iteraciones de la imagen.

Parámetros

iterations

El retraso de la imagen en 1/100avo de segundo.

Valores devueltos

El objeto Gmagick si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::setimageinterlacescheme
Gmagick::setimageprofile
Gmagick


Añade un perfil nominado al objeto Gmagick

Gmagick::setimageiterations
Gmagick::setimageredprimary
Gmagick
PHP Manual

Gmagick::setimageprofile

(PECL gmagick >= Unknown)

Gmagick::setimageprofile — Añade un perfil nominado al objeto Gmagick

Descripción

public Gmagick Gmagick::setimageprofile ( string $name , string $profile )

Añade un perfil nominado al objeto Gmagick. Si un perfil con el mismo nobre ya existe, se reemplaza. Este método difiere del método Gmagick::ProfileImage() en que no aplica ningún perfil de color CMS.

Parámetros

name

El nombre del perfil a añadir o eliminar: ICC, IPTC, o perfil genérico.

profile

El perfil.

Valores devueltos

El objeto Gmagick si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::setimageiterations
Gmagick::setimageredprimary
Gmagick


Establece el punto primario rojo de la cromaticidad de la imagen

Gmagick::setimageprofile
Gmagick::setimagerenderingintent
Gmagick
PHP Manual

Gmagick::setimageredprimary

(PECL gmagick >= Unknown)

Gmagick::setimageredprimary — Establece el punto primario rojo de la cromaticidad de la imagen

Descripción

public Gmagick Gmagick::setimageredprimary ( float $x , float $y )

Establece el punto primario rojo de la cromaticidad de la imagen.

Parámetros

x

El punto x primario rojo.

y

El punto y primario rojo.

Valores devueltos

El objeto Gmagick si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::setimageprofile
Gmagick::setimagerenderingintent
Gmagick


Establece el propósito de renderización de la imagen

Gmagick::setimageredprimary
Gmagick::setimageresolution
Gmagick
PHP Manual

Gmagick::setimagerenderingintent

(PECL gmagick >= Unknown)

Gmagick::setimagerenderingintent — Establece el propósito de renderización de la imagen

Descripción

public Gmagick Gmagick::setimagerenderingintent ( int $rendering_intent )

Establece el propósito de renderización de la imagen.

Parámetros

rendering_intent

El propósito de renderización: UndefinedIntent, SaturationIntent, PerceptualIntent, AbsoluteIntent, o RelativeIntent.

Valores devueltos

El objeto Gmagick si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::setimageredprimary
Gmagick::setimageresolution
Gmagick


Establece la resolución de la imagen

Gmagick::setimagerenderingintent
Gmagick::setimagescene
Gmagick
PHP Manual

Gmagick::setimageresolution

(PECL gmagick >= Unknown)

Gmagick::setimageresolution — Establece la resolución de la imagen

Descripción

public Gmagick Gmagick::setimageresolution ( float $xResolution , float $yResolution )

Establece la resolución de la imagen.

Parámetros

xResolution

La resolución x de la imagen.

yResolution

La resolución y de la imagen.

Valores devueltos

El objeto Gmagick si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::setimagerenderingintent
Gmagick::setimagescene
Gmagick


Establece la escena de la imagen

Gmagick::setimageresolution
Gmagick::setimagetype
Gmagick
PHP Manual

Gmagick::setimagescene

(PECL gmagick >= Unknown)

Gmagick::setimagescene — Establece la escena de la imagen

Descripción

public Gmagick Gmagick::setimagescene ( int $scene )

Establece la escena de la imagen.

Parámetros

scene

El número de escena de la imagen.

Valores devueltos

El objeto Gmagick si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::setimageresolution
Gmagick::setimagetype
Gmagick


Establece el tipo de imagen

Gmagick::setimagescene
Gmagick::setimageunits
Gmagick
PHP Manual

Gmagick::setimagetype

(PECL gmagick >= Unknown)

Gmagick::setimagetype — Establece el tipo de imagen

Descripción

public Gmagick Gmagick::setimagetype ( int $imgType )

Establece el tipo de imagen.

Parámetros

imgType

El tipo de imagen: UndefinedType, BilevelType, GrayscaleType, GrayscaleMatteType, PaletteType, PaletteMatteType, TrueColorType, TrueColorMatteType, ColorSeparationType, ColorSeparationMatteType, o OptimizeType.

Valores devueltos

El objeto Gmagick si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::setimagescene
Gmagick::setimageunits
Gmagick


Establece las unidades de resolución de la imagen

Gmagick::setimagetype
Gmagick::setimagewhitepoint
Gmagick
PHP Manual

Gmagick::setimageunits

(PECL gmagick >= Unknown)

Gmagick::setimageunits — Establece las unidades de resolución de la imagen

Descripción

public Gmagick Gmagick::setimageunits ( int $resolution )

Establece las unidades de resolución de la imagen.

Parámetros

resolution

Las unidades de resolución de la imagen: Undefinedresolution, PixelsPerInchResolution, o PixelsPerCentimeterResolution.

Valores devueltos

El objeto Gmagick si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::setimagetype
Gmagick::setimagewhitepoint
Gmagick


Establece el punto blanco de cromaticidad de la imagen

Gmagick::setimageunits
Gmagick::setsamplingfactors
Gmagick
PHP Manual

Gmagick::setimagewhitepoint

(PECL gmagick >= Unknown)

Gmagick::setimagewhitepoint — Establece el punto blanco de cromaticidad de la imagen

Descripción

public Gmagick Gmagick::setimagewhitepoint ( float $x , float $y )

Establece el punto blanco de cromaticidad de la imagen.

Parámetros

x

El punto x blanco.

y

El punto y blanco.

Valores devueltos

El objeto Gmagick si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::setimageunits
Gmagick::setsamplingfactors
Gmagick


Establece los factores de muestreo de la imagen

Gmagick::setimagewhitepoint
Gmagick::setsize
Gmagick
PHP Manual

Gmagick::setsamplingfactors

(PECL gmagick >= Unknown)

Gmagick::setsamplingfactors — Establece los factores de muestreo de la imagen

Descripción

public Gmagick Gmagick::setsamplingfactors ( array $factors )

Establece los factores de muestreo de la imagen.

Parámetros

factors

Una matriz de valores de tipo double que representa el factor de muestreo de cada componente de color (en el orden RGB).

Valores devueltos

El objeto Gmagick si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::setimagewhitepoint
Gmagick::setsize
Gmagick


Establece el tamaño del objeto Gmagick

Gmagick::setsamplingfactors
Gmagick::shearimage
Gmagick
PHP Manual

Gmagick::setsize

(PECL gmagick >= Unknown)

Gmagick::setsize — Establece el tamaño del objeto Gmagick

Descripción

public Gmagick Gmagick::setsize ( int $columns , int $rows )

Establece el tamaño del Gmagick. Se debe establecer antes de leer un formato de imagen en bruto como RGB, GRAY, o CMYK.

Parámetros

columns

En ancho en píxeles.

rows

En alto en píxeles.

Valores devueltos

El objeto Gmagick si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::setsamplingfactors
Gmagick::shearimage
Gmagick


Crea un paralelogramo

Gmagick::setsize
Gmagick::solarizeimage
Gmagick
PHP Manual

Gmagick::shearimage

(PECL gmagick >= Unknown)

Gmagick::shearimage — Crea un paralelogramo

Descripción

public Gmagick Gmagick::shearimage ( mixed $color , float $xShear , float $yShear )

Desliza un extremo de una imagen a lo largo del eje X o Y, creando un paralelogramo. Un recorte en la dirección X desliza un extremo a lo largo del eje X, mientras que un recorte en la dirección Y desliza un extremo a lo largo del eje Y. La cantidad del recorte se controla por un ángulo de recorte. Para recortes en la dirección X, x_shear se mide relativo al eje Y, y de forma similar, para recortes en la dirección Y, y_shear se mide relativo al eje X. Los triángulos vacíos sobrantes del recorte de la imagen se rellenan con el color de fondo.

Parámetros

color

La varita de píxel de color de fondo.

xShear

El número de grados a recortar la imagen.

yShear

El número de grados a recortar la imagen.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::setsize
Gmagick::solarizeimage
Gmagick


Aplica un efecto de solarización a la imagen

Gmagick::shearimage
Gmagick::spreadimage
Gmagick
PHP Manual

Gmagick::solarizeimage

(PECL gmagick >= Unknown)

Gmagick::solarizeimage — Aplica un efecto de solarización a la imagen

Descripción

public Gmagick Gmagick::solarizeimage ( int $threshold )

Aplica un efecto especial a la imagen, similar al efecto conseguido en un cuarto oscuro fotográfico exponiendo selectivamente áreas del papel sensible fotográfico a la luz. Los rangos de umbral van desde 0 al de QuantumRange y es una medida de la extensión de la solarización.

Parámetros

threshold

Define la extensión de la solarización.

Valores devueltos

El objeto Gmagick si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::shearimage
Gmagick::spreadimage
Gmagick


Despalza aleatoriamente cada píxel en un bloque

Gmagick::solarizeimage
Gmagick::stripimage
Gmagick
PHP Manual

Gmagick::spreadimage

(PECL gmagick >= Unknown)

Gmagick::spreadimage — Despalza aleatoriamente cada píxel en un bloque

Descripción

public Gmagick Gmagick::spreadimage ( float $radius )

Método de efecto especial que desplaza aleatoriamente cada píxel en un bloque definido por el parámetro radius (radio).

Parámetros

radius

Elige un píxel aleatorio en una zona inmediata de esta extensión.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::solarizeimage
Gmagick::stripimage
Gmagick


Elimina todos los perfiles y comentarios de una imagen

Gmagick::spreadimage
Gmagick::swirlimage
Gmagick
PHP Manual

Gmagick::stripimage

(PECL gmagick >= Unknown)

Gmagick::stripimage — Elimina todos los perfiles y comentarios de una imagen

Descripción

public Gmagick Gmagick::stripimage ( void )

Elimina todos los perfiles y comentarios de una imagen.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::spreadimage
Gmagick::swirlimage
Gmagick


Arremolina los píxeles desde el centro de la imagen

Gmagick::stripimage
Gmagick::thumbnailimage
Gmagick
PHP Manual

Gmagick::swirlimage

(PECL gmagick >= Unknown)

Gmagick::swirlimage — Arremolina los píxeles desde el centro de la imagen

Descripción

public Gmagick Gmagick::swirlimage ( float $degrees )

Arremolina los píxeles desde el centro de la imagen, donde los grados indican el alcance del arco a través del cuál cada píxel es movido. Se puede obtener un efecto más dramático moviendo los grados desde 1 a 360.

Parámetros

degrees

Define la tirantez del efecto de arremolinamiento.

Valores devueltos

El objeto Gmagick si se tuvo éxito

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::stripimage
Gmagick::thumbnailimage
Gmagick


Cambia el tamaño de una imagen

Gmagick::swirlimage
Gmagick::trimimage
Gmagick
PHP Manual

Gmagick::thumbnailimage

(PECL gmagick >= Unknown)

Gmagick::thumbnailimage — Cambia el tamaño de una imagen

Descripción

public Gmagick Gmagick::thumbnailimage ( int $width , int $height [, bool $fit = false ] )

Cambia el tamaño de una imagen a las dimensiones dadas y elimina cualquier perfil asociado. El objetivo es producir conjuntos de imágenes de miniaturas pequeñas de bajo coste para mostrar en la web. Si TRUE se da como tercer parámetro, los parámetros columns (columnas) y rows (filas) se usan como máximos para cada cara. Ambas caras serán escaladas a una proporción menor hasta que la comparación sea menor que el parámetro dado para la cara.

Parámetros

width

El ancho de la imagen

height

El alto de la imagen

Valores devueltos

El objeto Gmagick si se tuvo éxito.

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::swirlimage
Gmagick::trimimage
Gmagick


Elimina los extremos de la imagen

Gmagick::thumbnailimage
Gmagick::write
Gmagick
PHP Manual

Gmagick::trimimage

(PECL gmagick >= Unknown)

Gmagick::trimimage — Elimina los extremos de la imagen

Descripción

public Gmagick Gmagick::trimimage ( float $fuzz )

Elimina los extremos que son el color de fondo de la imagen.

Parámetros

fuzz

Por defecto, el objetivo debe coincidir exactamente con un color de píxel en particular. Sin embargo, en la mayoría de los casos dos colores pueden diferir por una cantidad pequeña. El miembro enfoque de la imagen define cuánta tolerancia es aceptable para considerar que dos colores son el mismo. Este parámetro represenata la variación del rango de cuantía.

Valores devueltos

El objeto Gmagick

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::thumbnailimage
Gmagick::write
Gmagick


Escribe una imagen al nombre de archivo especificado

Gmagick::trimimage
Gmagick::writeimage
Gmagick
PHP Manual

Gmagick::write

(PECL gmagick >= Unknown)

Gmagick::write — Escribe una imagen al nombre de archivo especificado

Descripción

public void Gmagick::write ( string $filename )

Escribe una imagen al nombre de archivo especificado. Si el parámetro filename es NULL, la imagen se escribe en el nombre de archivo establecido por Gmagick::ReadImage() o Gmagick::SetImageFilename().

Parámetros

filename

El nombre de archivo de la imagen.

Valores devueltos

El objeto Gmagick

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::trimimage
Gmagick::writeimage
Gmagick


Escribe una imagen al nombre de archivo especificado

Gmagick::write
GmagickDraw
Gmagick
PHP Manual

Gmagick::writeimage

(PECL gmagick >= Unknown)

Gmagick::writeimage — Escribe una imagen al nombre de archivo especificado

Descripción

public Gmagick Gmagick::writeimage ( string $filename [, bool $all_frames = false ] )

Escribe una imagen al nombre de archivo especificado. Si el parámetro filename es NULL, la imagen se escribe en el nombre de archivo establecido por Gmagick::ReadImage() o Gmagick::SetImageFilename().

Parámetros

filename

El nombre de archivo de la imagen.

Valores devueltos

El objeto Gmagick

Errores/Excepciones

Arroja un GmagickException en caso de error.

Gmagick::write
GmagickDraw
Gmagick


La clase GmagickDraw

(PECL gmagick >= Unknown)

Introducción

Sinopsis de la Clase

GmagickDraw {
/* Métodos */
public GmagickDraw annotate ( float $x , float $y , string $text )
public GmagickDraw arc ( float $sx , float $sy , float $ex , float $ey , float $sd , float $ed )
public GmagickDraw bezier ( array $coordinate_array )
public GmagickDraw ellipse ( float $ox , float $oy , float $rx , float $ry , float $start , float $end )
public void getfillcolor ( void )
public float getfillopacity ( void )
public string getfont ( void )
public float getfontsize ( void )
public int getfontstyle ( void )
public int getfontweight ( void )
public void getstrokecolor ( void )
public float getstrokeopacity ( void )
public float getstrokewidth ( void )
public int gettextdecoration ( void )
public string gettextencoding ( void )
public GmagickDraw line ( float $sx , float $sy , float $ex , float $ey )
public GmagickDraw point ( float $x , float $y )
public GmagickDraw polygon ( array $coordinates )
public GmagickDraw polyline ( array $coordinate_array )
public GmagickDraw rectangle ( float $x1 , float $y1 , float $x2 , float $y2 )
public GmagickDraw rotate ( float $degrees )
public GmagickDraw roundrectangle ( float $x1 , float $y1 , float $x2 , float $y2 , float $rx , float $ry )
public GmagickDraw scale ( float $x , float $y )
public GmagickDraw setfillcolor ( string $color )
public GmagickDraw setfillopacity ( float $fill_opacity )
public GmagickDraw setfont ( string $font )
public GmagickDraw setfontsize ( float $pointsize )
public GmagickDraw setfontstyle ( int $style )
public GmagickDraw setfontweight ( int $weight )
public GmagickDraw setstrokecolor ( GmagickPixel $color )
public GmagickDraw setstrokeopacity ( float $stroke_opacity )
public GmagickDraw setstrokewidth ( float $width )
public GmagickDraw settextdecoration ( int $decoration )
public GmagickDraw settextencoding ( string $encoding )
}

Tabla de contenidos

  • GmagickDraw::annotate — Dibuja texto en la imagen
  • GmagickDraw::arc — Dibuja un arco
  • GmagickDraw::bezier — Dibuja una curva Bézier
  • GmagickDraw::ellipse — Dibuja una elipse en la imagen
  • GmagickDraw::getfillcolor — Devuelve el color de relleno
  • GmagickDraw::getfillopacity — Devuelve la opacidad usada cuando se dibuja
  • GmagickDraw::getfont — Devuelve la fuente
  • GmagickDraw::getfontsize — Devuelve el tamaño de punto de la fuente
  • GmagickDraw::getfontstyle — Devuelve el estilo de fuente
  • GmagickDraw::getfontweight — Devuelve el peso de la fuente
  • GmagickDraw::getstrokecolor — Devuelve el color usado para contornear perfiles de objetos
  • GmagickDraw::getstrokeopacity — Devuelve la opacidad de los perfiles del objeto contorneado
  • GmagickDraw::getstrokewidth — Devuelve el ancho del contorno usado para dibular perfiles del objeto
  • GmagickDraw::gettextdecoration — Devuelve la decoración del texto
  • GmagickDraw::gettextencoding — Devuelve el conjunto de codificación usado para anotaciones de texto
  • GmagickDraw::line — Dibuja una línea en la imagen
  • GmagickDraw::point — Dibuja un punto
  • GmagickDraw::polygon — Dibuja un polígono
  • GmagickDraw::polyline — Dibuja una polilínea
  • GmagickDraw::rectangle — Dibuja un rectángulo
  • GmagickDraw::rotate — Aplica la rotación especificada al espacio de coordenadas actual
  • GmagickDraw::roundrectangle — Dibuja un rectángulo redondeado
  • GmagickDraw::scale — Ajusta el factor de escala
  • GmagickDraw::setfillcolor — Establece el color de relleno a usar cuando se dibujan objetos rellenos
  • GmagickDraw::setfillopacity — Establece la opacidad del relleno
  • GmagickDraw::setfont — Establece la fuente especificada completamente a usar cuando se anota texto
  • GmagickDraw::setfontsize — Establece el tamaño de punto de la fuente a usar cuando se anota texto
  • GmagickDraw::setfontstyle — Establece el estilo de fuente a usar cuando se anota texto
  • GmagickDraw::setfontweight — Establece el peso de la fuente
  • GmagickDraw::setstrokecolor — Establece el color usado para contornear los perfiles del objeto.
  • GmagickDraw::setstrokeopacity — Especifica la opacidad del los perfiles del objeto contorneado
  • GmagickDraw::setstrokewidth — Establece el ancho del contorno usado para dibujar los perfiles del objeto.
  • GmagickDraw::settextdecoration — Especifica una decoración
  • GmagickDraw::settextencoding — Especifica el conjunto de codificación del texto
Gmagick::writeimage
GmagickDraw::annotate
Gmagick


Dibuja texto en la imagen

GmagickDraw
GmagickDraw::arc
GmagickDraw
PHP Manual

GmagickDraw::annotate

(PECL gmagick >= Unknown)

GmagickDraw::annotate — Dibuja texto en la imagen

Descripción

public GmagickDraw GmagickDraw::annotate ( float $x , float $y , string $text )

Dibuja texto en la imagen.

Parámetros

x

coordenada x a la izquierda del texto

y

coordenada y a la línea base del texto

text

texto a dibujar

Valores devueltos

El objeto GmagickDraw si se tuvo éxito.

GmagickDraw
GmagickDraw::arc
GmagickDraw


Dibuja un arco

GmagickDraw::annotate
GmagickDraw::bezier
GmagickDraw
PHP Manual

GmagickDraw::arc

(PECL gmagick >= Unknown)

GmagickDraw::arc — Dibuja un arco

Descripción

public GmagickDraw GmagickDraw::arc ( float $sx , float $sy , float $ex , float $ey , float $sd , float $ed )

Dibuja un arco que cae dentro de un rectángulo circundante en la imagen.

Parámetros

sx

coordenada x del inicio del rectángulo circundante

sy

coordenada y del inicio del rectángulo circundante

ex

coordenada x del final del rectángulo circundante

ey

coordenada y del final del rectángulo circundante

sd

grados de inicio de rotación

ed

grados finales de rotación

Valores devueltos

El objeto GmagickDraw si se tuvo éxito.

GmagickDraw::annotate
GmagickDraw::bezier
GmagickDraw


Dibuja una curva Bézier

GmagickDraw::arc
GmagickDraw::ellipse
GmagickDraw
PHP Manual

GmagickDraw::bezier

(PECL gmagick >= Unknown)

GmagickDraw::bezier — Dibuja una curva Bézier

Descripción

public GmagickDraw GmagickDraw::bezier ( array $coordinate_array )

Dibuja una curva Bézier a través de un conjunto de puntos en la imagen.

Parámetros

coordinate_array

Matriz de coordenadas

Valores devueltos

El objeto GmagickDraw si se tuvo éxito

GmagickDraw::arc
GmagickDraw::ellipse
GmagickDraw


Dibuja una elipse en la imagen

GmagickDraw::bezier
GmagickDraw::getfillcolor
GmagickDraw
PHP Manual

GmagickDraw::ellipse

(PECL gmagick >= Unknown)

GmagickDraw::ellipse — Dibuja una elipse en la imagen

Descripción

public GmagickDraw GmagickDraw::ellipse ( float $ox , float $oy , float $rx , float $ry , float $start , float $end )

Dibuja una elipse en la imagen.

Parámetros

ox

coordenada x del origen

oy

coordenada y del origen

rx

radio en x

ry

radio en y

start

inicio de rotación en grados

end

final de rotación en grados

Valores devueltos

El objeto GmagickDraw si se tuvo éxito

GmagickDraw::bezier
GmagickDraw::getfillcolor
GmagickDraw


Devuelve el color de relleno

GmagickDraw::ellipse
GmagickDraw::getfillopacity
GmagickDraw
PHP Manual

GmagickDraw::getfillcolor

(PECL gmagick >= Unknown)

GmagickDraw::getfillcolor — Devuelve el color de relleno

Descripción

public void GmagickDraw::getfillcolor ( void )

Devuelve el color de relleno usado cuando se dibujan objetos rellenos.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El color de relleno de GmagickPixel usado para dibujar objetos rellenos.

GmagickDraw::ellipse
GmagickDraw::getfillopacity
GmagickDraw


Devuelve la opacidad usada cuando se dibuja

GmagickDraw::getfillcolor
GmagickDraw::getfont
GmagickDraw
PHP Manual

GmagickDraw::getfillopacity

(PECL gmagick >= Unknown)

GmagickDraw::getfillopacity — Devuelve la opacidad usada cuando se dibuja

Descripción

public float GmagickDraw::getfillopacity ( void )

Devuelve la opacidad usada cuando se dibuja

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la opacidad usada cuando se dibuja utilizando el color de relleno o la textura de relleno. Completamente opaco es 1.0.

GmagickDraw::getfillcolor
GmagickDraw::getfont
GmagickDraw


Devuelve la fuente

GmagickDraw::getfillopacity
GmagickDraw::getfontsize
GmagickDraw
PHP Manual

GmagickDraw::getfont

(PECL gmagick >= Unknown)

GmagickDraw::getfont — Devuelve la fuente

Descripción

public string GmagickDraw::getfont ( void )

Devuelve una cadena que especifica la fuente usada cuando se anota texto.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una cadena si se tuvo éxito y false si no está establecida ninguna fuente.

GmagickDraw::getfillopacity
GmagickDraw::getfontsize
GmagickDraw


Devuelve el tamaño de punto de la fuente

GmagickDraw::getfont
GmagickDraw::getfontstyle
GmagickDraw
PHP Manual

GmagickDraw::getfontsize

(PECL gmagick >= Unknown)

GmagickDraw::getfontsize — Devuelve el tamaño de punto de la fuente

Descripción

public float GmagickDraw::getfontsize ( void )

Devuelve el tamaño de punto de la fuente usado cuando se anota texto.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el tamaño de la fuente asociada con el objeto GmagickDraw actual.

GmagickDraw::getfont
GmagickDraw::getfontstyle
GmagickDraw


Devuelve el estilo de fuente

GmagickDraw::getfontsize
GmagickDraw::getfontweight
GmagickDraw
PHP Manual

GmagickDraw::getfontstyle

(PECL gmagick >= Unknown)

GmagickDraw::getfontstyle — Devuelve el estilo de fuente

Descripción

public int GmagickDraw::getfontstyle ( void )

Devuelve el estilo de fuente usado cuando se anota texto.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la constante de estilo de fuente (STYLE_) asociada con el objeto GmagickDraw o 0 si no está establecido ningún estilo.

GmagickDraw::getfontsize
GmagickDraw::getfontweight
GmagickDraw


Devuelve el peso de la fuente

GmagickDraw::getfontstyle
GmagickDraw::getstrokecolor
GmagickDraw
PHP Manual

GmagickDraw::getfontweight

(PECL gmagick >= Unknown)

GmagickDraw::getfontweight — Devuelve el peso de la fuente

Descripción

public int GmagickDraw::getfontweight ( void )

Devuelve el peso de la fuente usada cuando se anota texto.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un valor de tipo int si se tuvo éxito y 0 si no está establecido el peso.

GmagickDraw::getfontstyle
GmagickDraw::getstrokecolor
GmagickDraw


Devuelve el color usado para contornear perfiles de objetos

GmagickDraw::getfontweight
GmagickDraw::getstrokeopacity
GmagickDraw
PHP Manual

GmagickDraw::getstrokecolor

(PECL gmagick >= Unknown)

GmagickDraw::getstrokecolor — Devuelve el color usado para contornear perfiles de objetos

Descripción

public void GmagickDraw::getstrokecolor ( void )

Devuelve el color usado para contornear perfiles de objetos.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un objeto GmagickPixel que describe el color

GmagickDraw::getfontweight
GmagickDraw::getstrokeopacity
GmagickDraw


Devuelve la opacidad de los perfiles del objeto contorneado

GmagickDraw::getstrokecolor
GmagickDraw::getstrokewidth
GmagickDraw
PHP Manual

GmagickDraw::getstrokeopacity

(PECL gmagick >= Unknown)

GmagickDraw::getstrokeopacity — Devuelve la opacidad de los perfiles del objeto contorneado

Descripción

public float GmagickDraw::getstrokeopacity ( void )

Devuelve la opacidad de los perfiles del objeto contorneado.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un valor de tipo double que describe la opacidad.

GmagickDraw::getstrokecolor
GmagickDraw::getstrokewidth
GmagickDraw


Devuelve el ancho del contorno usado para dibular perfiles del objeto

GmagickDraw::getstrokeopacity
GmagickDraw::gettextdecoration
GmagickDraw
PHP Manual

GmagickDraw::getstrokewidth

(PECL gmagick >= Unknown)

GmagickDraw::getstrokewidth — Devuelve el ancho del contorno usado para dibular perfiles del objeto

Descripción

public float GmagickDraw::getstrokewidth ( void )

Devuelve el ancho del contorno usado para dibular perfiles del objeto.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un valor de tipo double que describe el ancho del contorno.

GmagickDraw::getstrokeopacity
GmagickDraw::gettextdecoration
GmagickDraw


Devuelve la decoración del texto

GmagickDraw::getstrokewidth
GmagickDraw::gettextencoding
GmagickDraw
PHP Manual

GmagickDraw::gettextdecoration

(PECL gmagick >= Unknown)

GmagickDraw::gettextdecoration — Devuelve la decoración del texto

Descripción

public int GmagickDraw::gettextdecoration ( void )

Devuelve la decoración aplicada cuando se anota texto.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una de las constantes DECORATION_ y 0 si no está establecida la decoración.

GmagickDraw::getstrokewidth
GmagickDraw::gettextencoding
GmagickDraw


Devuelve el conjunto de codificación usado para anotaciones de texto

GmagickDraw::gettextdecoration
GmagickDraw::line
GmagickDraw
PHP Manual

GmagickDraw::gettextencoding

(PECL gmagick >= Unknown)

GmagickDraw::gettextencoding — Devuelve el conjunto de codificación usado para anotaciones de texto

Descripción

public string GmagickDraw::gettextencoding ( void )

Devuelve una cadena que especifica el conjunto de codificación usado para anotaciones de texto.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una cadena que especifica el conjunto de codificación o false si no está establecida ningúna codificación.

GmagickDraw::gettextdecoration
GmagickDraw::line
GmagickDraw


Dibuja una línea en la imagen

GmagickDraw::gettextencoding
GmagickDraw::point
GmagickDraw
PHP Manual

GmagickDraw::line

(PECL gmagick >= Unknown)

GmagickDraw::line — Dibuja una línea en la imagen

Descripción

public GmagickDraw GmagickDraw::line ( float $sx , float $sy , float $ex , float $ey )

Dibuja una línea en la imagen usando el color del contorno, la opacidad del contorno, y el ancho del contorno acutales.

Parámetros

sx

coordenada x de inicio

sy

coordenada y de inicio

ex

coordenada x final

ey

coordenada y final

Valores devueltos

El objeto GmagickDraw si se tuvo éxito

GmagickDraw::gettextencoding
GmagickDraw::point
GmagickDraw


Dibuja un punto

GmagickDraw::line
GmagickDraw::polygon
GmagickDraw
PHP Manual

GmagickDraw::point

(PECL gmagick >= Unknown)

GmagickDraw::point — Dibuja un punto

Descripción

public GmagickDraw GmagickDraw::point ( float $x , float $y )

Dibuja un punto usando el color de contorno y el grosor de contorno actuales en las coordenadas especificadas.

Parámetros

x

coordenada x del objetivo

y

coordenada y del objetivo

Valores devueltos

El objeto GmagickDraw si se tuvo éxito

GmagickDraw::line
GmagickDraw::polygon
GmagickDraw


Dibuja un polígono

GmagickDraw::point
GmagickDraw::polyline
GmagickDraw
PHP Manual

GmagickDraw::polygon

(PECL gmagick >= Unknown)

GmagickDraw::polygon — Dibuja un polígono

Descripción

public GmagickDraw GmagickDraw::polygon ( array $coordinates )

Dibuja un polígono usando el contorno, el ancho del contorno, y el color o textura de relleno actuales, usando la matriz de coordenadas especificadas.

Parámetros

coordinates

matriz de coordenadas

Valores devueltos

El objeto GmagickDraw si se tuvo éxito

GmagickDraw::point
GmagickDraw::polyline
GmagickDraw


Dibuja una polilínea

GmagickDraw::polygon
GmagickDraw::rectangle
GmagickDraw
PHP Manual

GmagickDraw::polyline

(PECL gmagick >= Unknown)

GmagickDraw::polyline — Dibuja una polilínea

Descripción

public GmagickDraw GmagickDraw::polyline ( array $coordinate_array )

Dibuja una polilínea usando el contorno, el ancho del contorno, y el color o textura de relleno actuales, usando la matriz de coordenadas especificadas.

Parámetros

coordinate_array

La matriz de coordenadas.

Valores devueltos

El objeto GmagickDraw si se tuvo éxito

GmagickDraw::polygon
GmagickDraw::rectangle
GmagickDraw


Dibuja un rectángulo

GmagickDraw::polyline
GmagickDraw::rotate
GmagickDraw
PHP Manual

GmagickDraw::rectangle

(PECL gmagick >= Unknown)

GmagickDraw::rectangle — Dibuja un rectángulo

Descripción

public GmagickDraw GmagickDraw::rectangle ( float $x1 , float $y1 , float $x2 , float $y2 )

Dibuja un rectángulo dadas dos coordenadas y usando el contorno, el ancho del contorno, y la configuración de relleno actuales.

Parámetros

x1

primera coordenada x

y1

primera coordenada y

x2

segunda coordenada x

y2

primera coordenada y

Valores devueltos

El objeto GmagickDraw si se tuvo éxito

GmagickDraw::polyline
GmagickDraw::rotate
GmagickDraw


Aplica la rotación especificada al espacio de coordenadas actual

GmagickDraw::rectangle
GmagickDraw::roundrectangle
GmagickDraw
PHP Manual

GmagickDraw::rotate

(PECL gmagick >= Unknown)

GmagickDraw::rotate — Aplica la rotación especificada al espacio de coordenadas actual

Descripción

public GmagickDraw GmagickDraw::rotate ( float $degrees )

Aplica la rotación especificada al espacio de coordenadas actual.

Parámetros

degrees

grados de rotación

Valores devueltos

El objeto GmagickDraw si se tuvo éxito

GmagickDraw::rectangle
GmagickDraw::roundrectangle
GmagickDraw


Dibuja un rectángulo redondeado

GmagickDraw::rotate
GmagickDraw::scale
GmagickDraw
PHP Manual

GmagickDraw::roundrectangle

(PECL gmagick >= Unknown)

GmagickDraw::roundrectangle — Dibuja un rectángulo redondeado

Descripción

public GmagickDraw GmagickDraw::roundrectangle ( float $x1 , float $y1 , float $x2 , float $y2 , float $rx , float $ry )

Dibuja aun rectángulo redondeado dadas dos coordenadas, los radios de las esquinas x e y, y usando el contorno, el ancho del contorno, y la configuración de relleno actuales.

Parámetros

x1

primera coordenada x

y1

primera coordenada y

x2

segunda coordenada x

y2

segunda coordenada y

rx

radio de la esquina en dirección horizontal

ry

radio de la esquina en dirección vertical

Valores devueltos

El objeto GmagickDraw si se tuvo éxito

GmagickDraw::rotate
GmagickDraw::scale
GmagickDraw


Ajusta el factor de escala

GmagickDraw::roundrectangle
GmagickDraw::setfillcolor
GmagickDraw
PHP Manual

GmagickDraw::scale

(PECL gmagick >= Unknown)

GmagickDraw::scale — Ajusta el factor de escala

Descripción

public GmagickDraw GmagickDraw::scale ( float $x , float $y )

Ajusta el factor de escala a aplicar en las direcciones horizontal y vertical al espacio de coordenadas actual.

Parámetros

x

Factor de escala horizontal

y

Factor de escala vertical

Valores devueltos

El objeto GmagickDraw si se tuvo éxito

GmagickDraw::roundrectangle
GmagickDraw::setfillcolor
GmagickDraw


Establece el color de relleno a usar cuando se dibujan objetos rellenos

GmagickDraw::scale
GmagickDraw::setfillopacity
GmagickDraw
PHP Manual

GmagickDraw::setfillcolor

(PECL gmagick >= Unknown)

GmagickDraw::setfillcolor — Establece el color de relleno a usar cuando se dibujan objetos rellenos

Descripción

public GmagickDraw GmagickDraw::setfillcolor ( string $color )

Establece el color de relleno a usar cuando se dibujan objetos rellenos.

Parámetros

color

Objeto GmagickPixel que indica el color a usar para el relleno.

Valores devueltos

El objeto GmagickDraw si se tuvo éxito

GmagickDraw::scale
GmagickDraw::setfillopacity
GmagickDraw


Establece la opacidad del relleno

GmagickDraw::setfillcolor
GmagickDraw::setfont
GmagickDraw
PHP Manual

GmagickDraw::setfillopacity

(PECL gmagick >= Unknown)

GmagickDraw::setfillopacity — Establece la opacidad del relleno

Descripción

public GmagickDraw GmagickDraw::setfillopacity ( float $fill_opacity )

Establece la opacidad a usar cuando de dibuja untilizando el color de relleno o la textura de relleno. Establecerlo a 1.0 hará al relleno completamente opaco.

Parámetros

fill_opacity

La opacidad del relleno

Valores devueltos

El objeto GmagickDraw si se tuvo éxito

GmagickDraw::setfillcolor
GmagickDraw::setfont
GmagickDraw


Establece la fuente especificada completamente a usar cuando se anota texto

GmagickDraw::setfillopacity
GmagickDraw::setfontsize
GmagickDraw
PHP Manual

GmagickDraw::setfont

(PECL gmagick >= Unknown)

GmagickDraw::setfont — Establece la fuente especificada completamente a usar cuando se anota texto

Descripción

public GmagickDraw GmagickDraw::setfont ( string $font )

Establece la fuente especificada completamente a usar cuando se anota texto.

Parámetros

font

El nombre de la fuente

Valores devueltos

El objeto GmagickDraw si se tuvo éxito

GmagickDraw::setfillopacity
GmagickDraw::setfontsize
GmagickDraw


Establece el tamaño de punto de la fuente a usar cuando se anota texto

GmagickDraw::setfont
GmagickDraw::setfontstyle
GmagickDraw
PHP Manual

GmagickDraw::setfontsize

(PECL gmagick >= Unknown)

GmagickDraw::setfontsize — Establece el tamaño de punto de la fuente a usar cuando se anota texto

Descripción

public GmagickDraw GmagickDraw::setfontsize ( float $pointsize )

Establece el tamaño de punto de la fuente a usar cuando se anota texto.

Parámetros

pointsize

El tamaño de punto del texto

Valores devueltos

El objeto GmagickDraw si se tuvo éxito

GmagickDraw::setfont
GmagickDraw::setfontstyle
GmagickDraw


Establece el estilo de fuente a usar cuando se anota texto

GmagickDraw::setfontsize
GmagickDraw::setfontweight
GmagickDraw
PHP Manual

GmagickDraw::setfontstyle

(PECL gmagick >= Unknown)

GmagickDraw::setfontstyle — Establece el estilo de fuente a usar cuando se anota texto

Descripción

public GmagickDraw GmagickDraw::setfontstyle ( int $style )

Establece el estilo de fuente a usar cuando se anota texto. La enumeración AnyStyle actúa como una opción comodín para "no tener cuidado".

Parámetros

style

El estilo de la fuente (NormalStyle, ItalicStyle, ObliqueStyle, AnyStyle)

Valores devueltos

El objeto GmagickDraw si se tuvo éxito

GmagickDraw::setfontsize
GmagickDraw::setfontweight
GmagickDraw


Establece el peso de la fuente

GmagickDraw::setfontstyle
GmagickDraw::setstrokecolor
GmagickDraw
PHP Manual

GmagickDraw::setfontweight

(PECL gmagick >= Unknown)

GmagickDraw::setfontweight — Establece el peso de la fuente

Descripción

public GmagickDraw GmagickDraw::setfontweight ( int $weight )

Establece el peso de la fuente a usar cuando se anota texto.

Parámetros

weight

El peso de la fuente (rango válido 100-900)

Valores devueltos

El objeto GmagickDraw si se tuvo éxito

GmagickDraw::setfontstyle
GmagickDraw::setstrokecolor
GmagickDraw


Establece el color usado para contornear los perfiles del objeto.

GmagickDraw::setfontweight
GmagickDraw::setstrokeopacity
GmagickDraw
PHP Manual

GmagickDraw::setstrokecolor

(PECL gmagick >= Unknown)

GmagickDraw::setstrokecolor — Establece el color usado para contornear los perfiles del objeto.

Descripción

public GmagickDraw GmagickDraw::setstrokecolor ( GmagickPixel $color )

Establece el color usado para contornear los perfiles del objeto.

Parámetros

color

Objeto GmagickPixel que representa el color del contorno.

Valores devueltos

El objeto GmagickDraw si se tuvo éxito

GmagickDraw::setfontweight
GmagickDraw::setstrokeopacity
GmagickDraw


Especifica la opacidad del los perfiles del objeto contorneado

GmagickDraw::setstrokecolor
GmagickDraw::setstrokewidth
GmagickDraw
PHP Manual

GmagickDraw::setstrokeopacity

(PECL gmagick >= Unknown)

GmagickDraw::setstrokeopacity — Especifica la opacidad del los perfiles del objeto contorneado

Descripción

public GmagickDraw GmagickDraw::setstrokeopacity ( float $stroke_opacity )

Especifica la opacidad del los perfiles del objeto contorneado.

Parámetros

stroke_opacity

La opacidad del contorno. El valor 1.0 es opaco.

Valores devueltos

El objeto GmagickDraw si se tuvo éxito

GmagickDraw::setstrokecolor
GmagickDraw::setstrokewidth
GmagickDraw


Establece el ancho del contorno usado para dibujar los perfiles del objeto.

GmagickDraw::setstrokeopacity
GmagickDraw::settextdecoration
GmagickDraw
PHP Manual

GmagickDraw::setstrokewidth

(PECL gmagick >= Unknown)

GmagickDraw::setstrokewidth — Establece el ancho del contorno usado para dibujar los perfiles del objeto.

Descripción

public GmagickDraw GmagickDraw::setstrokewidth ( float $width )

Establece el ancho del contorno usado para dibujar los perfiles del objeto

Parámetros

width

El ancho del contorno

Valores devueltos

El objeto GmagickDraw si se tuvo éxito

GmagickDraw::setstrokeopacity
GmagickDraw::settextdecoration
GmagickDraw


Especifica una decoración

GmagickDraw::setstrokewidth
GmagickDraw::settextencoding
GmagickDraw
PHP Manual

GmagickDraw::settextdecoration

(PECL gmagick >= Unknown)

GmagickDraw::settextdecoration — Especifica una decoración

Descripción

public GmagickDraw GmagickDraw::settextdecoration ( int $decoration )

Especifica una decoración que va a ser aplicada cuando se anota texto.

Parámetros

int

Decoración del texto. Una de estas: NoDecoration, UnderlineDecoration, OverlineDecoration, o LineThroughDecoration

Valores devueltos

El objeto GmagickDraw si se tuvo éxito

GmagickDraw::setstrokewidth
GmagickDraw::settextencoding
GmagickDraw


Especifica el conjunto de codificación del texto

GmagickDraw::settextdecoration
GmagickPixel
GmagickDraw
PHP Manual

GmagickDraw::settextencoding

(PECL gmagick >= Unknown)

GmagickDraw::settextencoding — Especifica el conjunto de codificación del texto

Descripción

public GmagickDraw GmagickDraw::settextencoding ( string $encoding )

Especifica el conjunto de codificación usado para anotaciones el texto. La única codificación de caracteres que se puede especificar por ahora es "UTF-8" para representar Unicode como una secuencia de bytes. Especifique una cadena vacía para establecer la codificación de texto a la predeterminada por el sistema. Para tener éxito con la anotación de texto usando Unicode puede requerir fuentes diseñadas para soportar Unicode.

Parámetros

encoding

Cadena de caracteres que especifica la codificación de texto

Valores devueltos

El objeto GmagickDraw si se tuvo éxito

GmagickDraw::settextdecoration
GmagickPixel
GmagickDraw


La clase GmagickPixel

(PECL gmagick >= Unknown)

Introducción

Sinopsis de la Clase

GmagickPixel {
/* Métodos */
public __construct ([ string $color ] )
public mixed getcolor ([ bool $as_array [, bool $normalize_array ]] )
public int getcolorcount ( void )
public float getcolorvalue ( int $color )
public GmagickPixel setcolor ( string $color )
public GmagickPixel setcolorvalue ( int $color , float $value )
}

Tabla de contenidos

  • GmagickPixel::__construct — El constructor GmagickPixel
  • GmagickPixel::getcolor — Devuelve el color
  • GmagickPixel::getcolorcount — Devuelve la cuenta de color asociada a este color
  • GmagickPixel::getcolorvalue — Obtiene el valor normalizado del canal de color proporcionado
  • GmagickPixel::setcolor — Establece el color
  • GmagickPixel::setcolorvalue — Establece el valor normalizado de uno de los canales
GmagickDraw::settextencoding
GmagickPixel::__construct
Gmagick


El constructor GmagickPixel

GmagickPixel
GmagickPixel::getcolor
GmagickPixel
PHP Manual

GmagickPixel::__construct

(PECL gmagick >= Unknown)

GmagickPixel::__construct — El constructor GmagickPixel

Descripción

public GmagickPixel::__construct ([ string $color ] )

Construye un objeto GmagickPixel. Si se especifica un color, el objeto se construye y se inicializa con el color antes de ser devuelto.

Parámetros

color

La cadena de color opcional que se va a usar como el valor inicial de este objeto.

Valores devueltos

El objeto GmagickPixel si se tuvo éxito.

GmagickPixel
GmagickPixel::getcolor
GmagickPixel


Devuelve el color

GmagickPixel::__construct
GmagickPixel::getcolorcount
GmagickPixel
PHP Manual

GmagickPixel::getcolor

(PECL gmagick >= Unknown)

GmagickPixel::getcolor — Devuelve el color

Descripción

public mixed GmagickPixel::getcolor ([ bool $as_array [, bool $normalize_array ]] )

Devuelve el color descrito por el objeto GmagickPixel, como un matriz. Si el color tiene establecido un canal de opacidad, éste es proporcionado como un cuarto valor en la lista.

Parámetros

as_array

True para indicar que devuleve una matriz en vez de una cadena

normalize_array

Normaliza los valores de los colores

Valores devueltos

Una matriz de valores de canales, normalizados si se da TRUE como parámetro. Lanza una excepción GmagickPixelException si se produjo un error.

GmagickPixel::__construct
GmagickPixel::getcolorcount
GmagickPixel


Devuelve la cuenta de color asociada a este color

GmagickPixel::getcolor
GmagickPixel::getcolorvalue
GmagickPixel
PHP Manual

GmagickPixel::getcolorcount

(PECL gmagick >= Unknown)

GmagickPixel::getcolorcount — Devuelve la cuenta de color asociada a este color

Descripción

public int GmagickPixel::getcolorcount ( void )

Devuelve la cuenta de color asociada a este color

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la cuenta de color como un valor de tipo integer en caso de éxito, lanza una excepción de tipo GmagickPixelException en caso de error.

GmagickPixel::getcolor
GmagickPixel::getcolorvalue
GmagickPixel


Obtiene el valor normalizado del canal de color proporcionado

GmagickPixel::getcolorcount
GmagickPixel::setcolor
GmagickPixel
PHP Manual

GmagickPixel::getcolorvalue

(PECL gmagick >= Unknown)

GmagickPixel::getcolorvalue — Obtiene el valor normalizado del canal de color proporcionado

Descripción

public float GmagickPixel::getcolorvalue ( int $color )

Recupera el canal de color especificado, como un número de coma flotante entre 0 y 1.

Parámetros

color

El canal a comprobar, especificado como una de las constantes de canal de Gmagick.

Valores devueltos

El valor del canal, como un número de coma flotante normalizado, lanzando una excepción de tipo GmagickPixelException si se produjo un error.

GmagickPixel::getcolorcount
GmagickPixel::setcolor
GmagickPixel


Establece el color

GmagickPixel::getcolorvalue
GmagickPixel::setcolorvalue
GmagickPixel
PHP Manual

GmagickPixel::setcolor

(PECL gmagick >= Unknown)

GmagickPixel::setcolor — Establece el color

Descripción

public GmagickPixel GmagickPixel::setcolor ( string $color )

Establece el color descrito por el objeto GmagickPixel, con una cadena (p.ej. "blue", "#0000ff", "rgb(0,0,255)", "cmyk(100,100,100,10)", etc.).

Parámetros

color

La definición de color a usar para inicializar el objeto GmagickPixel.

Valores devueltos

El objeto GmagickPixel si se tuvo éxito.

GmagickPixel::getcolorvalue
GmagickPixel::setcolorvalue
GmagickPixel


Establece el valor normalizado de uno de los canales

GmagickPixel::setcolor
ImageMagick
GmagickPixel
PHP Manual

GmagickPixel::setcolorvalue

(PECL gmagick >= Unknown)

GmagickPixel::setcolorvalue — Establece el valor normalizado de uno de los canales

Descripción

public GmagickPixel GmagickPixel::setcolorvalue ( int $color , float $value )

Establece el valor del canal especificado de este objeto al valor proporcionado, el cuál debería estar entre 0 y 1. Esta función se puede usar para proporcionar un canal de opacidad al objeto GmagickPixel.

Parámetros

color

Uno de las constantes de color de canal de Gmagick.

value

El valor para establecer este canal tiene un rango desde 0 a 1.

Valores devueltos

El objeto GmagickPixel si se tuvo éxtio.

GmagickPixel::setcolor
ImageMagick
GmagickPixel


Procesamiento de Imágenes (ImageMagick)

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Uso básico
  • Imagick — La clase Imagick
    • Imagick::adaptiveBlurImage — Añade un filtro de borrosidad adaptativo a la imagen
    • Imagick::adaptiveResizeImage — Redimensiona una imagen adaptativamente con información dependiente de la triangulación
    • Imagick::adaptiveSharpenImage — Afila la imagen adaptativamente
    • Imagick::adaptiveThresholdImage — Selecciona un umbral para cada píxel basado en un rango de intensidad
    • Imagick::addImage — Añade una nueva imagen a la lista de imágenes del objeto Imagick
    • Imagick::addNoiseImage — Añade ruido aleatorio a la imagen
    • Imagick::affineTransformImage — Transforma una imagen
    • Imagick::animateImages — Anima una imagen o imágenes
    • Imagick::annotateImage — Anota una imagen con texto
    • Imagick::appendImages — Añade un conjunto de imágenes
    • Imagick::averageImages — Calcula la media de un conjunto de imágenes
    • Imagick::blackThresholdImage — Fuerza a todos los píxeles bajo un umbral a ser negros
    • Imagick::blurImage — Añade un filtro de borrosidad a la imagen
    • Imagick::borderImage — Rodea la imagen con un borde
    • Imagick::charcoalImage — Simula un dibujo a carboncillo
    • Imagick::chopImage — Borra una región de una imagen y la recorta
    • Imagick::clear — Borra todos los recursos asociados con un objeto Imagick
    • Imagick::clipImage — Recorta a lo largo del primer trazado desde un perfil 8BIM
    • Imagick::clipPathImage — Recorta a lo largo de trazados nominados desde un perfil 8BIM
    • Imagick::clone — Hace una copia exacta de un objeto Imagick
    • Imagick::clutImage — Reemplaza los colores de una imagen
    • Imagick::coalesceImages — Compone un conjunto de imágenes
    • Imagick::colorFloodfillImage — Cambia el valor del color de cualquier píxel que coincida con el objetivo
    • Imagick::colorizeImage — Mezcla el color de relleno con la imagen
    • Imagick::combineImages — Combina una o más imágenes en una sóla imagen
    • Imagick::commentImage — Añade un comentario a la imagen
    • Imagick::compareImageChannels — Devuelve la diferencia entre una o más imágenes
    • Imagick::compareImageLayers — Devuelve la región circundante máxima entre imágenes
    • Imagick::compareImages — Compara una imagen con una imagen reconstruida
    • Imagick::compositeImage — Compone una imagen en otra
    • Imagick::__construct — El constructor Imagick
    • Imagick::contrastImage — Cambia el contraste de una imagen
    • Imagick::contrastStretchImage — Mejora el contraste de una imagen en color
    • Imagick::convolveImage — Aplica una semilla de convolución a medida a la imagen
    • Imagick::cropImage — Extrae una región de la imagen
    • Imagick::cropThumbnailImage — Crea una miniatura recortada
    • Imagick::current — Devuelve una referencia del objeto Imagick actual
    • Imagick::cycleColormapImage — Desplaza el mapa de colores de una imagen
    • Imagick::decipherImage — Descifra una imagen
    • Imagick::deconstructImages — Devuelve ciertas diferencias de píxeles entre imágenes
    • Imagick::deleteImageArtifact — Borra un artefacto de imagen
    • Imagick::deskewImage — Elimina la torción de la imagen
    • Imagick::despeckleImage — Reduce el ruido granular de una imagen
    • Imagick::destroy — Destruye un objeto Imagick
    • Imagick::displayImage — Muestra una imagen
    • Imagick::displayImages — Muestra una imagen o una secuencia de imágenes
    • Imagick::distortImage — Deforma una imagen utilizando varios métodos de distorsión
    • Imagick::drawImage — Renderiza el objeto ImagickDraw a la imagen actual
    • Imagick::edgeImage — Mejora los bordes de la imagen
    • Imagick::embossImage — Devuelve una imagen en escala de grises con un efecto tridimensional
    • Imagick::encipherImage — Cifra una imagen
    • Imagick::enhanceImage — Mejora la calidad de una imagen con ruido
    • Imagick::equalizeImage — Ecualiza el histograma de la imagen
    • Imagick::evaluateImage — Aplica una expresión a una imagen
    • Imagick::exportImagePixels — Exporta píxeles de imagen en bruto
    • Imagick::extentImage — Establecer el tamaño de la imagen
    • Imagick::flattenImages — Fusiona una secuencia de imágenes
    • Imagick::flipImage — Crea una imagen espejo vertical
    • Imagick::floodFillPaintImage — Cambia el valor del color de cualquier píxel que coincida con el objetivo
    • Imagick::flopImage — Crea una imagen espejo horizontal
    • Imagick::frameImage — Añade un borde tridimensional simulado
    • Imagick::functionImage — Aplica una función a la imagen
    • Imagick::fxImage — Evalúa una expresión por cada píxel de la imagen
    • Imagick::gammaImage — Corrección gamma de una imagen
    • Imagick::gaussianBlurImage — Hace borrosa una imagen
    • Imagick::getColorspace — Obtiene el espacio de color
    • Imagick::getCompression — Obtiene el tipo de compresión del objeto
    • Imagick::getCompressionQuality — Obtiene la calidad de compresión del objeto
    • Imagick::getCopyright — Devuelve el copyright de la API ImageMagick como una cadena
    • Imagick::getFilename — El nombre de archivo asociado a una secuencia de imágenes
    • Imagick::getFont — Obtiene la fuente
    • Imagick::getFormat — Devuelve el formato de un objeto Imagick
    • Imagick::getGravity — Obtiene la gravedad
    • Imagick::getHomeURL — Devuelve la URL de inicio de ImageMagick
    • Imagick::getImage — Devuelve un nuevo objeto Imagick
    • Imagick::getImageAlphaChannel — Obtiene el canal alfa de una imagen
    • Imagick::getImageArtifact — Obtener el artefacto de imagen
    • Imagick::getImageBackgroundColor — Devuelve el color de fondo de la imagen
    • Imagick::getImageBlob — Devuelve la secuencia de imágenes como un valor de tipo blob
    • Imagick::getImageBluePrimary — Devuelve el punto primario azul de la cromaticidad
    • Imagick::getImageBorderColor — Devuelve el color del borde de la imagen
    • Imagick::getImageChannelDepth — Obtiene la profundidad de un canal de imagen en particular
    • Imagick::getImageChannelDistortion — Compara los canales de imagen de una imagen con una imagen reconstruida
    • Imagick::getImageChannelDistortions — Obtiene las distorsiones del canal
    • Imagick::getImageChannelExtrema — Obtiene los extremos de uno o más canales de imagen
    • Imagick::getImageChannelKurtosis — Obtiene la curtosis y la asimetría estadística de un canal específico
    • Imagick::getImageChannelMean — Obtiene la media y la desviación estándar
    • Imagick::getImageChannelRange — Obtiene el rango del canal
    • Imagick::getImageChannelStatistics — Devuelve las estadísticas de cada canal de la imagen
    • Imagick::getImageClipMask — Obtiene la máscara de recorte de la imagen
    • Imagick::getImageColormapColor — Devuelve el color del índice del mapa de colores especficado
    • Imagick::getImageColors — Obtiene el número de colores únicos de la imagen
    • Imagick::getImageColorspace — Obtiene el espacio de colores de la imagen
    • Imagick::getImageCompose — Devuelve el operador de composición asociado a la imagen
    • Imagick::getImageCompression — Obtiene el tipo de compresión de la imagen actual
    • Imagick::getImageCompressionQuality — Obtiene la calidad de compresión de la imagen actual
    • Imagick::getImageDelay — Obtiene el retraso de la imagen
    • Imagick::getImageDepth — Obtiene la profundidad de la imagen
    • Imagick::getImageDispose — Obtiene el método de disposición de la imagen
    • Imagick::getImageDistortion — Compara una imagen con una imagen reconstruida
    • Imagick::getImageExtrema — Obtiene los extremos de la imagen
    • Imagick::getImageFilename — Devuelve el nombre de archivo de una imagen en particular de una secuencia
    • Imagick::getImageFormat — Devuelve el formato de una imagen en particular de una secuencia
    • Imagick::getImageGamma — Obtiene el valor gamma de la imagen
    • Imagick::getImageGeometry — Obtiene el ancho y el alto como un array asociativo
    • Imagick::getImageGravity — Obtiene la gravedad de la imagen
    • Imagick::getImageGreenPrimary — Devuelve el punto primario verde de la cromaticidad
    • Imagick::getImageHeight — Devuelve el alto de la imagen
    • Imagick::getImageHistogram — Obtiene el histograma de la imagen
    • Imagick::getImageIndex — Obtiene el índice de la imagen activa actual
    • Imagick::getImageInterlaceScheme — Obtiene la combinación de entrelazado de la imagen
    • Imagick::getImageInterpolateMethod — Devuelve el método de interpolación
    • Imagick::getImageIterations — Obtiene las iteraciones de la imagen
    • Imagick::getImageLength — Devuelve la longitud de la imagen en bytes
    • Imagick::getImageMagickLicense — Devuelve un string que contiene la licencia de ImageMagick
    • Imagick::getImageMatte — Devuelve si la imagen tiene un canal mate
    • Imagick::getImageMatteColor — Devuelve el color mate de la imagen
    • Imagick::getImageOrientation — Obtiene la orientación de la imagen
    • Imagick::getImagePage — Devuelve la geometría de la página
    • Imagick::getImagePixelColor — Devuelve el color del píxel especificado
    • Imagick::getImageProfile — Devuelve el perfil nominado de la imagen
    • Imagick::getImageProfiles — Devuelve los perfiles de la imagen
    • Imagick::getImageProperties — Devuelve las propiedades de la imagen
    • Imagick::getImageProperty — Devuelve la propiedad nominada de la imagen
    • Imagick::getImageRedPrimary — Devuelve el punto primario rojo de la cromaticidad
    • Imagick::getImageRegion — Extrae una región de la imagen
    • Imagick::getImageRenderingIntent — Obtiene el propósito de renderización de la imagen
    • Imagick::getImageResolution — Obtiene la resolución X e Y de la imagen
    • Imagick::getImagesBlob — Devuelve todas las secuencias de imágenes como un blob
    • Imagick::getImageScene — Obtiene la escena de la imagen
    • Imagick::getImageSignature — Genera un resumen de un mensaje SHA-256
    • Imagick::getImageSize — Devuelve la longitud de la imagen en bytes
    • Imagick::getImageTicksPerSecond — Obtiene los pulsos por segundo de la imagen
    • Imagick::getImageTotalInkDensity — Obtiene la densidad de tinta total de la imagen
    • Imagick::getImageType — Obtiene el tipo de imagen potencial
    • Imagick::getImageUnits — Obtiene las unidades de resolución de la imagen
    • Imagick::getImageVirtualPixelMethod — Devuelve el método de píxel virtual
    • Imagick::getImageWhitePoint — Devuelve el punto blanco de la cromaticidad
    • Imagick::getImageWidth — Devuelve el ancho de la imagen
    • Imagick::getInterlaceScheme — Obtiene la combinación de entrelazado de un objeto
    • Imagick::getIteratorIndex — Obtiene el índice de la imagen activa actual
    • Imagick::getNumberImages — Devuelve el número de imágenes del objeto
    • Imagick::getOption — Devuelve un valor asociado con la clave especificada
    • Imagick::getPackageName — Devuelve el nombre del paquete de ImageMagick
    • Imagick::getPage — Devuelve la geometría de la página
    • Imagick::getPixelIterator — Devuelve un objeto MagickPixelIterator
    • Imagick::getPixelRegionIterator — Obtinene un objeto ImagickPixelIterator de una sección de imagen
    • Imagick::getPointSize — Obtiene el tamaño de punto
    • Imagick::getQuantumDepth — Obtiene la profundidad de la cuantía
    • Imagick::getQuantumRange — Devuelve el rango de cuantía de Imagick
    • Imagick::getReleaseDate — Devuelve la fecha de distribución de ImageMagick
    • Imagick::getResource — Devuelve el uso de memoria del recurso especificado
    • Imagick::getResourceLimit — Devuelve el límite del recurso especificado
    • Imagick::getSamplingFactors — Obtiene el factor de muestreo horizontal y vertical
    • Imagick::getSize — Devuelve el tamaño asociado con el objeto Imagick
    • Imagick::getSizeOffset — Devuelve el índice de tamaño
    • Imagick::getVersion — Devuelve la versión de la API ImageMagick
    • Imagick::haldClutImage — Reemplaza los colores de la imagen
    • Imagick::hasNextImage — Comprueba si el objeto tiene más imágenes
    • Imagick::hasPreviousImage — Verifica si el objeto tiene una imagen previa
    • Imagick::identifyImage — Identifica una imagen y obtiene sus atributos
    • Imagick::implodeImage — Crea una nueva imagen como una copia
    • Imagick::importImagePixels — Imoprta los píxeles de una imagen
    • Imagick::labelImage — Añade una etiqueta a una imagen
    • Imagick::levelImage — Ajusta los niveles de la imagen
    • Imagick::linearStretchImage — Estrecha con saturación la intensidad de la imagen
    • Imagick::liquidRescaleImage — Anima una imagen o imágenes
    • Imagick::magnifyImage — Escala una imagen x2 proporcionalmente
    • Imagick::mapImage — Reemplaza los colores de una imagen con el color más cercano de una imagen de referencia
    • Imagick::matteFloodfillImage — Cambia el valor de transparencia de un color
    • Imagick::medianFilterImage — Aplica un filtro digital
    • Imagick::mergeImageLayers — Fusiona las capas de una imagen
    • Imagick::minifyImage — Escala una imagen proporcionalmente a la mitad de su tamaño
    • Imagick::modulateImage — Controla el brillo, la saturación y el tono
    • Imagick::montageImage — Crea una imagen compuesta
    • Imagick::morphImages — Metamorfosea un conjunto de imágenes
    • Imagick::mosaicImages — Forma un mosaico de imágenes
    • Imagick::motionBlurImage — Simula borrosidad en movimiento
    • Imagick::negateImage — Invierte los colores en la imagen de referencia
    • Imagick::newImage — Crea una nueva imagen
    • Imagick::newPseudoImage — Crea una nueva imagen
    • Imagick::nextImage — Se mueve a la siguiente imagen
    • Imagick::normalizeImage — Mejora el contraste de una imagen a color
    • Imagick::oilPaintImage — Simula una pintura al óleo
    • Imagick::opaquePaintImage — Cambia el color de cualquier píxel que coincida con el objetivo
    • Imagick::optimizeImageLayers — Elimina porciones repetidas de imágenes para optimizarlas
    • Imagick::orderedPosterizeImage — Realiza un entramado ordenado
    • Imagick::paintFloodfillImage — Cambia el valor del color de cualquier píxel que coincida con el objetivo
    • Imagick::paintOpaqueImage — Cambia cualquier píxel que coincida con el color
    • Imagick::paintTransparentImage — Cambia cualquier píxel que coincida con el color definido para el relleno
    • Imagick::pingImage — Trae los atributos básicos de una imagen
    • Imagick::pingImageBlob — Traer los atributos rápidamente
    • Imagick::pingImageFile — Obtener los atrbutos básicos de la imagen de una manera liviana
    • Imagick::polaroidImage — Simula una fotografía Polaroid
    • Imagick::posterizeImage — Reduce la imagen a un número limitado de niveles de color
    • Imagick::previewImages — Precisa rápidamente los parámetros apropiados para el procesamiento de la imagen
    • Imagick::previousImage — Se mueve a la imagen previa del objeto
    • Imagick::profileImage — Añade o elimina un perfil de una imagen
    • Imagick::quantizeImage — Analiza los colores dentro de una imagen de referencia
    • Imagick::quantizeImages — Analiza los colores dentro de una secuencia de imágenes
    • Imagick::queryFontMetrics — Devuelve una matriz que representa las métricas de la fuente
    • Imagick::queryFonts — Devuelve las fuentes configuradas
    • Imagick::queryFormats — Devuelve los formatos soportados por Imagick
    • Imagick::radialBlurImage — Hace borrosa de forma radial una imagen
    • Imagick::raiseImage — Crea un efecto de botón en 3D simulado
    • Imagick::randomThresholdImage — Crea una imagen de alto contraste y dos colores
    • Imagick::readImage — Lee una imagen desde un nombre de fichero
    • Imagick::readImageBlob — Lee una imagen desde un string binario
    • Imagick::readImageFile — Lee una imagen desde un gestor de fichero abierto
    • Imagick::recolorImage — Re-colorea una imagen
    • Imagick::reduceNoiseImage — Suaviza los contornos de una imagen
    • Imagick::remapImage — Re-mapea los colores de una imagen
    • Imagick::removeImage — Quita una imagen de la lista de imágenes
    • Imagick::removeImageProfile — Elimina el perfil nominado de la imagen y lo devuelve
    • Imagick::render — Renderiza todos los comandos de dibujo precedentes
    • Imagick::resampleImage — Re-muestrea la imagen a la resolución deseada
    • Imagick::resetImagePage — Reinicia una página de imagen
    • Imagick::resizeImage — Escala una imagen
    • Imagick::rollImage — Compensa una imagen
    • Imagick::rotateImage — Rota una imagen
    • Imagick::roundCorners — Redondea las esquinas de una imagen
    • Imagick::sampleImage — Escala una imagen con un muestreo de píxeles
    • Imagick::scaleImage — Escala el tamaño de una imagen
    • Imagick::segmentImage — Segmenta una imagen
    • Imagick::separateImageChannel — Separa un canal de la imagen
    • Imagick::sepiaToneImage — Pone una imagen en tono sepia
    • Imagick::setBackgroundColor — Establece el color de fondo por omisión del objeto
    • Imagick::setColorspace — Establecer el espacio de color
    • Imagick::setCompression — Establece el tipo de compresión predeterminado del objeto
    • Imagick::setCompressionQuality — Establece la calidad de compresión predeterminda del objeto
    • Imagick::setFilename — Establece el nombre de archivo antes de que se lea o escriba una imagen
    • Imagick::setFirstIterator — Establece el iterador Imagick para la primera imagen
    • Imagick::setFont — Establece la fuente
    • Imagick::setFormat — Establece el formato del objeto Imagick
    • Imagick::setGravity — Establece la gravedad
    • Imagick::setImage — Reemplaza una imagen en el objeto
    • Imagick::setImageAlphaChannel — Establece el canal alfa de la imagen
    • Imagick::setImageArtifact — Establecer un artefacto de imagen
    • Imagick::setImageBackgroundColor — Establece el color de fondo de la imagen
    • Imagick::setImageBias — Establece el sesgo de la imagen para cualquier método que convolucione una imagen
    • Imagick::setImageBluePrimary — Establece el punto primario azul de la cromaticidad de la imagen
    • Imagick::setImageBorderColor — Establece el color de borde de la imagen
    • Imagick::setImageChannelDepth — Establece la profundidad de una canal de imagen en particular
    • Imagick::setImageClipMask — Establece la máscara de recorte de una imagen
    • Imagick::setImageColormapColor — Establece el color de un índice de mapa de color especificado
    • Imagick::setImageColorspace — Establece el espacio de color de una imagen
    • Imagick::setImageCompose — Establece el operador de composción de una imagen
    • Imagick::setImageCompression — Establece la compresión de una imagen
    • Imagick::setImageCompressionQuality — Establece la calidad de compresión de una imagen
    • Imagick::setImageDelay — Establece el retardo de una imagen
    • Imagick::setImageDepth — Establece la profundidad de una imagen
    • Imagick::setImageDispose — Establece el método de disposición de una imagen
    • Imagick::setImageExtent — Establece el tamaño de una imagen
    • Imagick::setImageFilename — Establece el nombre de archivo de una imagen en particular
    • Imagick::setImageFormat — Establece el formato de una imagen en particular
    • Imagick::setImageGamma — Establece el valor gamma de la imagen
    • Imagick::setImageGravity — Establece la gravedad de la imagen
    • Imagick::setImageGreenPrimary — Establece el punto primario verde de la cromaticidad de la imagen
    • Imagick::setImageIndex — Establece la posición del iterador
    • Imagick::setImageInterlaceScheme — Establece la compresión de la imagen
    • Imagick::setImageInterpolateMethod — Establece el método de interpolación de píxeles
    • Imagick::setImageIterations — Establece las iteraciones de una imagen
    • Imagick::setImageMatte — Establece el canal mate de la imagen
    • Imagick::setImageMatteColor — Establece el color mate de la imagen
    • Imagick::setImageOpacity — Establece el nivel de opacidad de la imagen
    • Imagick::setImageOrientation — Establece la orientación de la imagen
    • Imagick::setImagePage — Establece la geometría de la página de la imagen
    • Imagick::setImageProfile — Añade un perfil nominado al objeto Imagick
    • Imagick::setImageProperty — Establece una propiedad de la imagen
    • Imagick::setImageRedPrimary — Establece el punto primario rojo de la cromaticidad de la imagen
    • Imagick::setImageRenderingIntent — Establece el propósito de renderización de la imagen
    • Imagick::setImageResolution — Establece la resolución de la imagen
    • Imagick::setImageScene — Establece la escena de la imagen
    • Imagick::setImageTicksPerSecond — Establece los ticks por segundo de la imagen
    • Imagick::setImageType — Establece el tipo de imagen
    • Imagick::setImageUnits — Establece las unidades de resolución de la imagen
    • Imagick::setImageVirtualPixelMethod — Establece el método de píxel virtual de la imagen
    • Imagick::setImageWhitePoint — Establece el punto blanco de cromaticidad de la imagen
    • Imagick::setInterlaceScheme — Establece la compresión de la imagen
    • Imagick::setIteratorIndex — Establece la posición del iterador
    • Imagick::setLastIterator — Establece el iterador de Imagick a la última imagen
    • Imagick::setOption — Establece una opción
    • Imagick::setPage — Establece la geometría de página del objeto Imagick
    • Imagick::setPointSize — Establece el tamaño del punto
    • Imagick::setResolution — Establece la resolución de la imagen
    • Imagick::setResourceLimit — Establece el límite de un recurso en particular en megabytes
    • Imagick::setSamplingFactors — Establece los factores de muestreo de la imagen
    • Imagick::setSize — Establece el tamaño del objeto Imagick
    • Imagick::setSizeOffset — Establece el tamaño y el índice del objeto Imagick
    • Imagick::setType — Establece el atributo tipo de imagen
    • Imagick::shadeImage — Crea un efecto en 3D
    • Imagick::shadowImage — Simula una sombra de imagen
    • Imagick::sharpenImage — Afila una imagen
    • Imagick::shaveImage — Recorta píxeles de los extremos de la imagen
    • Imagick::shearImage — Crea un paralelogramo
    • Imagick::sigmoidalContrastImage — Ajusta el contraste de una imagen
    • Imagick::sketchImage — Simula el bosquejo de un lapiz
    • Imagick::solarizeImage — Aplica un efecto de solarización a la imagen
    • Imagick::sparseColorImage — Interpola colores
    • Imagick::spliceImage — Une un color sólido en la imagen
    • Imagick::spreadImage — Despalza aleatoriamente cada píxel en un bloque
    • Imagick::steganoImage — Oculta una marca de agua digital dentro de la imagen
    • Imagick::stereoImage — Compone dos imágenes
    • Imagick::stripImage — Elimina todos los perfiles y comentarios de una imagen
    • Imagick::swirlImage — Arremolina los píxeles desde el centro de la imagen
    • Imagick::textureImage — Reviste repetidamente la textura de la imagen
    • Imagick::thresholdImage — Cambia el valor de píexeles individuales basdos en un umbral
    • Imagick::thumbnailImage — Cambia el tamaño de una imagen
    • Imagick::tintImage — Aplica un vector de color a cada píxel en la imagen
    • Imagick::transformImage — Método conveniente para establecer el tamaño del recorte y la geometría de la imagen
    • Imagick::transparentPaintImage — Pinta píxeles transparentes
    • Imagick::transposeImage — Crea una imagen espejo vertical
    • Imagick::transverseImage — Crea una imagen espejo horizontal
    • Imagick::trimImage — Elimina los extremos de la imagen
    • Imagick::uniqueImageColors — Desecha todos los colores de los píxeles excepto uno
    • Imagick::unsharpMaskImage — Afila una imagen
    • Imagick::valid — Comprueba si el elemento actual es válido
    • Imagick::vignetteImage — Añade un filtro de viñeta a la imagen
    • Imagick::waveImage — Aplica un filtro de onda a la imagen
    • Imagick::whiteThresholdImage — Fuerza a todos los píxeles por encima del umbral a ser blancos
    • Imagick::writeImage — Escribe una imagen al nombre de fichero especificado
    • Imagick::writeImageFile — Escribe una imagen a un gestor de archivo
    • Imagick::writeImages — Escribe una imagen o secuencia de imágenes
    • Imagick::writeImagesFile — Escribe fotogramas al gestor de archivo
  • ImagickDraw — La clase ImagickDraw
    • ImagickDraw::affine — Ajusta la matriz de transformación afín actual
    • ImagickDraw::annotation — Dibuja texto en la imagen
    • ImagickDraw::arc — Dibuja un arco
    • ImagickDraw::bezier — Dibuja una curva de Bézier
    • ImagickDraw::circle — Dibuja un círculo
    • ImagickDraw::clear — Borra el objeto ImagickDraw
    • ImagickDraw::clone — Hace una copia exacta del objeto ImagickDraw especificado
    • ImagickDraw::color — Dibuja color en una imagen
    • ImagickDraw::comment — Añade un comentario
    • ImagickDraw::composite — Compone una imagen dentro de la imagen actual
    • ImagickDraw::__construct — El constructor ImagickDraw
    • ImagickDraw::destroy — Libera todos los recursos asociados
    • ImagickDraw::ellipse — Dibuja una elipse en la imagen
    • ImagickDraw::getClipPath — Obtiene el ID del trazado de recorte actual
    • ImagickDraw::getClipRule — Devuelve la regla de relleno de un polígono actual
    • ImagickDraw::getClipUnits — Devuelve la interpretación de unidades del trazado de recorte
    • ImagickDraw::getFillColor — Devuelve el color de relleno
    • ImagickDraw::getFillOpacity — Devuelve la opacidad usada cuando se dibuja
    • ImagickDraw::getFillRule — Devuelve la regla de relleno
    • ImagickDraw::getFont — Devuelve la fuente
    • ImagickDraw::getFontFamily — Devuelve la familia de la fuente
    • ImagickDraw::getFontSize — Devuelve el tamaño de punto de la fuente
    • ImagickDraw::getFontStyle — Devuelve el estilo de fuente
    • ImagickDraw::getFontWeight — Devuelve el peso de la fuente
    • ImagickDraw::getGravity — Devuelve la gravedad de emplazamiento del texto
    • ImagickDraw::getStrokeAntialias — Devuelve la configuración de antialias de contorno actual
    • ImagickDraw::getStrokeColor — Devuelve el color usado por los perfiles de objetos contorneados
    • ImagickDraw::getStrokeDashArray — Devuelve un array que representa el patrón de rayas y huecos usado por trazados contorneados
    • ImagickDraw::getStrokeDashOffset — Devuelve el índice dentro del patrón de discontinuidad para iniciar la discontinuidad
    • ImagickDraw::getStrokeLineCap — Devuelve la forma que se va a usar al final de los subtrazados abiertos cuando están contorneados
    • ImagickDraw::getStrokeLineJoin — Devuelve la forma que se va a usar en la esquinas de los trazados cuando están contorneados
    • ImagickDraw::getStrokeMiterLimit — Devuelve el límite del inglete del contorno
    • ImagickDraw::getStrokeOpacity — Devuelve la opacidad del perfil de objetos contorneados
    • ImagickDraw::getStrokeWidth — Devuelve al ancho del contorno usado para dibujar contornos de objetos
    • ImagickDraw::getTextAlignment — Devuelve la alineación del texto
    • ImagickDraw::getTextAntialias — Devuelve la configuración de antialias del texto actual
    • ImagickDraw::getTextDecoration — Devuelve la decoración del texto
    • ImagickDraw::getTextEncoding — Devuelve la codificación usada para anotaciones de texto
    • ImagickDraw::getTextUnderColor — Devuelve el color debajo del texto
    • ImagickDraw::getVectorGraphics — Devuelve una cadena que contiene gráficos vectoriales
    • ImagickDraw::line — Dibuja una línea
    • ImagickDraw::matte — Pinta sobre el canal de opacidad de la imagen
    • ImagickDraw::pathClose — Añade un elemento de trazado al trazado actual
    • ImagickDraw::pathCurveToAbsolute — Dibuja una curva cúbica de Bézier
    • ImagickDraw::pathCurveToQuadraticBezierAbsolute — Dibuja una curva Bézier cuadrática
    • ImagickDraw::pathCurveToQuadraticBezierRelative — Dibuja una curva Bézier cuadrática
    • ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute — Dibuja una curva Bézier cuadrática
    • ImagickDraw::pathCurveToQuadraticBezierSmoothRelative — Dibuja una curva Bézier cuadrática
    • ImagickDraw::pathCurveToRelative — Dibuja una curva cúbica de Bézier
    • ImagickDraw::pathCurveToSmoothAbsolute — Dibuja una curva cúbica de Bézier
    • ImagickDraw::pathCurveToSmoothRelative — Dibuja una curva cúbica de Bézier
    • ImagickDraw::pathEllipticArcAbsolute — Dibuja un arco elíptico
    • ImagickDraw::pathEllipticArcRelative — Dibuja un arco elíptico
    • ImagickDraw::pathFinish — Finaliza el trazado actual
    • ImagickDraw::pathLineToAbsolute — Dibuja un trazado de línea
    • ImagickDraw::pathLineToHorizontalAbsolute — Dibuja un trazado de línea horizontal
    • ImagickDraw::pathLineToHorizontalRelative — Dibuja una línea horizontal
    • ImagickDraw::pathLineToRelative — Dibuja un trazado de línea
    • ImagickDraw::pathLineToVerticalAbsolute — Dibuja un línea vertical
    • ImagickDraw::pathLineToVerticalRelative — Dibuja un trazado de línea vertical
    • ImagickDraw::pathMoveToAbsolute — Inicia un nuevo sub-trazado
    • ImagickDraw::pathMoveToRelative — Inicia un nuevo sub-trazado
    • ImagickDraw::pathStart — Declara el inicio de una lista de dibujo de trazados
    • ImagickDraw::point — Dibuja un punto
    • ImagickDraw::polygon — Dibuja un polígono
    • ImagickDraw::polyline — Dibuja una poli-línea
    • ImagickDraw::pop — Destruye el objeto ImagickDraw actual de la pila, y lo devuelve al objeto ImagickDraw previamente metido
    • ImagickDraw::popClipPath — Finaliza una definición de un trazado de recorte
    • ImagickDraw::popDefs — Finaliza una lista de definiciones
    • ImagickDraw::popPattern — Finaliza una definición de patrón
    • ImagickDraw::push — Clona el objeto ImagickDraw actual y lo mete en la pila
    • ImagickDraw::pushClipPath — Inicia la definición de un trazado de recorte
    • ImagickDraw::pushDefs — Indica que los siguientes comandos crean elementos con nombre para un procesamiento previo
    • ImagickDraw::pushPattern — Indica que los comandos subsiguientes hasta un comando ImagickDraw::opPattern() comprenden la definición de un patrón nominado
    • ImagickDraw::rectangle — Dibuja un rectángulo
    • ImagickDraw::render — Renderiza todos los comandos de dibujo precedentes en la imagen
    • ImagickDraw::rotate — Aplica la rotación especificada al espacio de coordenadas actual
    • ImagickDraw::roundRectangle — Dibuja un rectángulo redondeado
    • ImagickDraw::scale — Ajusta el factor de escala
    • ImagickDraw::setClipPath — Asocia un trazado de recorte nominado con la imagen
    • ImagickDraw::setClipRule — Establece la regla de relleno de polígonos a usar por el trazado de recorte
    • ImagickDraw::setClipUnits — Establece la interpretación de las unidades de un trazado de recorte
    • ImagickDraw::setFillAlpha — Establece la opacidad a usar cuando se dibuja utilizando el color de relleno o la textura de relleno
    • ImagickDraw::setFillColor — Establece el color de relleno que se va a usar para dibujar objetos rellenos
    • ImagickDraw::setFillOpacity — Establece la opacidad para usarla cuando se dibuja utilizando el color de relleno o la textura de relleno
    • ImagickDraw::setFillPatternURL — Establece la URL a usar como un patrón de relleno para objetos rellenos
    • ImagickDraw::setFillRule — Establece la regla de relleno a usar mientras se dibujan polígonos
    • ImagickDraw::setFont — Establece la fuente especificada completamente para usarla cuando se escribe texto
    • ImagickDraw::setFontFamily — Establece la familia de fuentes para usarla cuando se escribe texto
    • ImagickDraw::setFontSize — Establece el tamaño de punto de la fuente para usarlo cuando se escribe texto
    • ImagickDraw::setFontStretch — Establece el estiramiento de la fuente para usarla cuando se escribe texto
    • ImagickDraw::setFontStyle — Establece el estilo de fuente para usarlo cuando se escribe texto
    • ImagickDraw::setFontWeight — Establece el peso de fuente
    • ImagickDraw::setGravity — Establece la gravedad de ubicación del texto
    • ImagickDraw::setStrokeAlpha — Especifica la opacidad de los perfiles de los objetos contorneados
    • ImagickDraw::setStrokeAntialias — Controla si los perfiles contorneados tiene antialias
    • ImagickDraw::setStrokeColor — Establece el color usado por los perfiles de objetos contorneados
    • ImagickDraw::setStrokeDashArray — Especifica el patrón de rayas y huecos usado por los trazados de contorno
    • ImagickDraw::setStrokeDashOffset — Especifica el índice dentro del patrón de discontinuidad para iniciar la discontinuidad
    • ImagickDraw::setStrokeLineCap — Especifica la forma que se va a usar al final de los subtrazados abiertos cuando están contorneados
    • ImagickDraw::setStrokeLineJoin — Especifica la forma que se va a usar en la esquinas de los trazados cuando están contorneados
    • ImagickDraw::setStrokeMiterLimit — Especifica el límite del inglete
    • ImagickDraw::setStrokeOpacity — Especifica la opacidad de los perfiles de los objetos contorneados
    • ImagickDraw::setStrokePatternURL — Establece el patrón usado para los perfiles de objetos contorneados
    • ImagickDraw::setStrokeWidth — Establece el ancho del contorno a usar para dibujar perfiles de objetos
    • ImagickDraw::setTextAlignment — Especifica una alineación de texto
    • ImagickDraw::setTextAntialias — Controla si el texto tiene antialias
    • ImagickDraw::setTextDecoration — Especifica una decoración
    • ImagickDraw::setTextEncoding — Especifica el conjunto de codificación del texto
    • ImagickDraw::setTextUnderColor — Especifica el color de un rectángulo de fondo
    • ImagickDraw::setVectorGraphics — Establece los gráficos vectoriales
    • ImagickDraw::setViewbox — Establece el tamaño de todos los lienzos
    • ImagickDraw::skewX — Tuerce el sistema de coordenadas actual en la dirección horizontal
    • ImagickDraw::skewY — Tuerce el sistema de coordenadas actual en la dirección vertical
    • ImagickDraw::translate — Aplica una traslación del sistema de coordenadas actual
  • ImagickPixel — La clase ImagickPixel
    • ImagickPixel::clear — Borra los recursos asociados con este objeto
    • ImagickPixel::__construct — El constructor ImagickPixel
    • ImagickPixel::destroy — Desasigna los recursos asociados con este objeto
    • ImagickPixel::getColor — Devuelve el color
    • ImagickPixel::getColorAsString — Devuelve el color como string
    • ImagickPixel::getColorCount — Devuelve la cuenta de color asociada con este color
    • ImagickPixel::getColorValue — Obtiene el valor normalizado del canal de color proporcionado
    • ImagickPixel::getHSL — Devuelve el color HSL normalizado del objeto ImagickPixel
    • ImagickPixel::isPixelSimilar — Check the distance between this color and another
    • ImagickPixel::isSimilar — Comprobar la distancia entre este color y otro
    • ImagickPixel::setColor — Establece el color
    • ImagickPixel::setColorValue — Establece el valor normalizado de uno de los canales
    • ImagickPixel::setHSL — Establece el color HSL normalizado
  • ImagickPixelIterator — La clase ImagickPixelIterator
    • ImagickPixelIterator::clear — Borra los recursos asociados con un objeto PixelIterator
    • ImagickPixelIterator::__construct — El constructor ImagickPixelIterator
    • ImagickPixelIterator::destroy — Desasigna los recursos asociacdos con un objeto PixelIterator
    • ImagickPixelIterator::getCurrentIteratorRow — Devuelve la fila actual de objetos ImagickPixel
    • ImagickPixelIterator::getIteratorRow — Devuelve la fila actual del iterador de píxel
    • ImagickPixelIterator::getNextIteratorRow — Devuelve la fila siguiente del iterador de píxel
    • ImagickPixelIterator::getPreviousIteratorRow — Devuelve la fila previa
    • ImagickPixelIterator::newPixelIterator — Devuelve un nuevo iterador de píxel
    • ImagickPixelIterator::newPixelRegionIterator — Devuelve un nuevo iterador de píxel
    • ImagickPixelIterator::resetIterator — Reinicia el iterador de píxel
    • ImagickPixelIterator::setIteratorFirstRow — Establece el iterador de píxel a la primera fila de píxeles
    • ImagickPixelIterator::setIteratorLastRow — Establece el iterador de píxel a la última fila de píxeles
    • ImagickPixelIterator::setIteratorRow — Establecer la fila del iterador de píxel
    • ImagickPixelIterator::syncIterator — Sincornizar el iterador de píxel
GmagickPixel::setcolorvalue
Introducción
Procesamiento y generación de imágenes


Introducción

Imagick es una extensión nativa de php para crear y modificar imágenes usando la API ImageMagick.

ImageMagick® es la suite de software para crear, editar y componer imágenes de mapa de bits. Puede leer, convertir y escribir imágenes en una variedad de formatos (más de 100) incluyendo DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG y TIFF.

Copyright 1999-2007 ImageMagick Studio LLC, una organización sin ánimo de lucro dedicada a hacer soluciones de software para imágenes disponible libremente.

ImageMagick
Instalación/Configuración
ImageMagick


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
ImageMagick


Requerimientos

Requisitos de instalación en Windows

La información de la versión no difiere de la de arriba. Hay binarios diponibles en http://www.imagemagick.org/ por lo que puede cargar esta extensión en Windows si necesidad de un compilador.

Requisitos de instalación en otras plataformas

Se requiere PHP >= 5.1.3 y ImageMagick >= 6.2.4. La cantidad de formatos soportados por Imagick depende completamente de la cantidad de formatos soportados por su instalación de ImageMagick. Por ejemplo, Imagemagick requiere ghostscript para llevar a cabo operaciones de PDF.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/imagick.

Nota: El nombre oficial de esta extensión es imagick.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de Imagick
Nombre | Por defecto | Cambiable | Historial de cambios
imagick.locale_fix | FALSE | PHP_INI_ALL | Disponible desde Imagick 2.1.0
imagick.progress_monitor | FALSE | PHP_INI_SYSTEM | Disponible desde Imagick 2.2.2
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

imagick.locale_fix boolean

Corrige un error de dibujo con configuraciones locales que usan ',' float separators.

imagick.progress_monitor boolean

Usado para habilitar el monitor de progreso de imagen.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Constantes COLOR_*

Constantes de tipo de color. Estas constantes son principalmente usadas por ImagickPixel.

COLOR_BLACK (integer)
Color negro
COLOR_BLUE (integer)
Color azul
COLOR_CYAN (integer)
Color cian
COLOR_GREEN (integer)
Color verde
COLOR_RED (integer)
Color rojo
COLOR_YELLOW (integer)
Color amarillo
COLOR_MAGENTA (integer)
Color magenta
COLOR_OPACITY (integer)
Opacidad del color
COLOR_ALPHA (integer)
Canal alfa del color
COLOR_FUZZ (integer)
Enfoque del color
Constantes DISPOSE

Constantes de Tipo de Disposición

DISPOSE_UNRECOGNIZED (integer)
Tipo de disposición no reconocido
DISPOSE_UNDEFINED (integer)
Tipo de disposición indefinido
DISPOSE_NONE (integer)
Tipo de disposición no definido
DISPOSE_BACKGROUND (integer)
Disposición de fondo
DISPOSE_PREVIOUS (integer)
Disposición previa
Constantes de Operadores de Composición
COMPOSITE_DEFAULT (integer)
Operador de composición por defecto
COMPOSITE_UNDEFINED (integer)
Operador de composición indefinido
COMPOSITE_NO (integer)
Operador de disposición no definido
COMPOSITE_ADD (integer)
El resultado de imagen + imagen
COMPOSITE_ATOP (integer)
El resultado tiene la misma forma que la imagen, con la imagen compuesta oscurenciendo la imagen, donde la imagen forma solapamiento
COMPOSITE_BLEND (integer)
Mezcla la imagen
COMPOSITE_BUMPMAP (integer)
Lo mismo que COMPOSITE_MULTIPLY, excepto que el origen primero se covierte a escala de grises.
COMPOSITE_CLEAR (integer)
Hace a la imagen objetivo transparente
COMPOSITE_COLORBURN (integer)
Oscurece la imagen destino para reflejar la imagen de origen
COMPOSITE_COLORDODGE (integer)
Hace más brillante la imagen destino para reflejar la imagen de origen
COMPOSITE_COLORIZE (integer)
Colorea la imagen objetivo utilizando la imagen compuesta
COMPOSITE_COPYBLACK (integer)
Copia el negro del origen al objetivo
COMPOSITE_COPYBLUE (integer)
Copia el azul del origen al objetivo
COMPOSITE_COPY (integer)
Copia la imagen de origen a la imagen objetivo
COMPOSITE_COPYCYAN (integer)
Copia el cian del origen al objetivo
COMPOSITE_COPYGREEN (integer)
Copia el verde del origen al objetivo
COMPOSITE_COPYMAGENTA (integer)
Copia el magenta del origen al objetivo
COMPOSITE_COPYOPACITY (integer)
Copia la opacidad del origen al objetivo
COMPOSITE_COPYRED (integer)
Copia el rojo del origen al objetivo
COMPOSITE_COPYYELLOW (integer)
Copia el amarillo del origen al objetivo
COMPOSITE_DARKEN (integer)
Oscurece la imagen objetivo
COMPOSITE_DSTATOP (integer)
La parte de la capa destino dentro del origen se compone sobre el origen y reemplaza el destino
COMPOSITE_DST (integer)
El objetivo se deja sin tocar
COMPOSITE_DSTIN (integer)
La parte dentro del origen reemplaza el objetivo
COMPOSITE_DSTOUT (integer)
La parte fuera del origen reemplaza el objetivo
COMPOSITE_DSTOVER (integer)
El objetivo reemplaza el origen
COMPOSITE_DIFFERENCE (integer)
Sustrae el más oscuro de los dos colores constituyentes del más luminiso
COMPOSITE_DISPLACE (integer)
Cambia los píxeles de la imagen objetivo como se definió en el origen
COMPOSITE_DISSOLVE (integer)
Disuelve el origen en el objetivo
COMPOSITE_EXCLUSION (integer)
Produce un efecto similar al de imagick::COMPOSITE_DIFFERENCE, pero aparece con un contraste menor
COMPOSITE_HARDLIGHT (integer)
Multiplica u oculta los colores, dependiendo del valor del color de origen
COMPOSITE_HUE (integer)
Modifica el tono del objetivo como se definió en el origen
COMPOSITE_IN (integer)
Compone el origen dentro del objetivo
COMPOSITE_LIGHTEN (integer)
Aclara el objetivo como se definió en el origen
COMPOSITE_LUMINIZE (integer)
Hace más luminoso el objetivo como se definió en el origen
COMPOSITE_MINUS (integer)
Sustrae el origen del objetivo
COMPOSITE_MODULATE (integer)
Modula el brillo, la saturación y el tono del objetivo como se definió en el origen
COMPOSITE_MULTIPLY (integer)
Multiplica el objetivo en el origen
COMPOSITE_OUT (integer)
Comopone las partes exteriores del origen en el objetivo
COMPOSITE_OVER (integer)
Compone el origen sobre el objetivo
COMPOSITE_OVERLAY (integer)
Sobrepone el origen en el objetivo
COMPOSITE_PLUS (integer)
Añade el origen al objetivo
COMPOSITE_REPLACE (integer)
Reemplaza el objetivo con el origen
COMPOSITE_SATURATE (integer)
Satura el objetivo como se definió en el origen
COMPOSITE_SCREEN (integer)
El origen y destino son complementados, después multiplicados, y después reemplazan el destino
COMPOSITE_SOFTLIGHT (integer)
Oscurece o ilumina los colores, dependiendo del origen
COMPOSITE_SRCATOP (integer)
La parte de la capa de origen dentro del destino es compuesta en el destino
COMPOSITE_SRC (integer)
El origen se copia al destino
COMPOSITE_SRCIN (integer)
La parte de la capa del origen dentro del destino reemplaza el destino
COMPOSITE_SRCOUT (integer)
La parte de la capa del origen fuera del destino reemplaza el destino
COMPOSITE_SRCOVER (integer)
El origen reemplaza el destino
COMPOSITE_SUBTRACT (integer)
Sustrae los colores en la imagen de origen de la imagen destino
COMPOSITE_THRESHOLD (integer)
El origen es compuesto en el objetivo como se definió en el umbral del origen
COMPOSITE_XOR (integer)
La parte del origen que yace fuera del destino se combina con la parte del destino que yace fuera del origen
Constantes MONTAGEMODE (Modo de Montaje)

MONTAGEMODE_FRAME (integer)
MONTAGEMODE_UNFRAME (integer)
MONTAGEMODE_CONCATENATE (integer)
Constantes STYLE (Estilo)

STYLE_NORMAL (integer)
STYLE_ITALIC (integer)
STYLE_OBLIQUE (integer)
STYLE_ANY (integer)
Constantes FILTER (Filtro)

FILTER_UNDEFINED (integer)
FILTER_POINT (integer)
FILTER_BOX (integer)
FILTER_TRIANGLE (integer)
FILTER_HERMITE (integer)
FILTER_HANNING (integer)
FILTER_HAMMING (integer)
FILTER_BLACKMAN (integer)
FILTER_GAUSSIAN (integer)
FILTER_QUADRATIC (integer)
FILTER_CUBIC (integer)
FILTER_CATROM (integer)
FILTER_MITCHELL (integer)
FILTER_LANCZOS (integer)
FILTER_BESSEL (integer)
FILTER_SINC (integer)
Constantes IMGTYPE (Tipo de Imagen)

IMGTYPE_UNDEFINED (integer)
IMGTYPE_BILEVEL (integer)
IMGTYPE_GRAYSCALE (integer)
IMGTYPE_GRAYSCALEMATTE (integer)
IMGTYPE_PALETTE (integer)
IMGTYPE_PALETTEMATTE (integer)
IMGTYPE_TRUECOLOR (integer)
IMGTYPE_TRUECOLORMATTE (integer)
IMGTYPE_COLORSEPARATION (integer)
IMGTYPE_COLORSEPARATIONMATTE (integer)
IMGTYPE_OPTIMIZE (integer)
Constantes RESOLUTION (Resolución)

RESOLUTION_UNDEFINED (integer)
RESOLUTION_PIXELSPERINCH (integer)
RESOLUTION_PIXELSPERCENTIMETER (integer)
Constantes COMPRESSION (Compresión)

COMPRESSION_UNDEFINED (integer)
COMPRESSION_NO (integer)
COMPRESSION_BZIP (integer)
COMPRESSION_FAX (integer)
COMPRESSION_GROUP4 (integer)
COMPRESSION_JPEG (integer)
COMPRESSION_JPEG2000 (integer)
COMPRESSION_LOSSLESSJPEG (integer)
COMPRESSION_LZW (integer)
COMPRESSION_RLE (integer)
COMPRESSION_ZIP (integer)
COMPRESSION_DXT1 (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.0 o superior.
COMPRESSION_DXT3 (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.0 o superior.
COMPRESSION_DXT5 (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.0 o superior.
Constantes PAINT (Pintura)

PAINT_POINT (integer)
PAINT_REPLACE (integer)
PAINT_FLOODFILL (integer)
PAINT_FILLTOBORDER (integer)
PAINT_RESET (integer)
Constantes GRAVITY (Gravedad)

GRAVITY_NORTHWEST (integer)
GRAVITY_NORTH (integer)
GRAVITY_NORTHEAST (integer)
GRAVITY_WEST (integer)
GRAVITY_CENTER (integer)
GRAVITY_EAST (integer)
GRAVITY_SOUTHWEST (integer)
GRAVITY_SOUTH (integer)
GRAVITY_SOUTHEAST (integer)
Constantes STRETCH (Estiramiento)

STRETCH_NORMAL (integer)
STRETCH_ULTRACONDENSED (integer)
STRETCH_CONDENSED (integer)
STRETCH_SEMICONDENSED (integer)
STRETCH_SEMIEXPANDED (integer)
STRETCH_EXPANDED (integer)
STRETCH_EXTRAEXPANDED (integer)
STRETCH_ULTRAEXPANDED (integer)
STRETCH_ANY (integer)
Constantes ALIGN (Alineamiento)

ALIGN_UNDEFINED (integer)
ALIGN_LEFT (integer)
ALIGN_CENTER (integer)
ALIGN_RIGHT (integer)
Constantes DECORATION (Decoración)

DECORATION_NO (integer)
DECORATION_UNDERLINE (integer)
DECORATION_OVERLINE (integer)
DECORATION_LINETROUGH (integer)
Constantes NOISE (Ruido)

NOISE_UNIFORM (integer)
NOISE_GAUSSIAN (integer)
NOISE_MULTIPLICATIVEGAUSSIAN (integer)
NOISE_IMPULSE (integer)
NOISE_LAPLACIAN (integer)
NOISE_POISSON (integer)
NOISE_RANDOM (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.6 o superior.
Constantes CHANNEL (Canal)

CHANNEL_UNDEFINED (integer)
CHANNEL_RED (integer)
CHANNEL_GRAY (integer)
CHANNEL_CYAN (integer)
CHANNEL_GREEN (integer)
CHANNEL_MAGENTA (integer)
CHANNEL_BLUE (integer)
CHANNEL_YELLOW (integer)
CHANNEL_ALPHA (integer)
CHANNEL_OPACITY (integer)
CHANNEL_MATTE (integer)
CHANNEL_BLACK (integer)
CHANNEL_INDEX (integer)
CHANNEL_ALL (integer)
CHANNEL_DEFAULT (integer)
Constantes METRIC (Métrica)

METRIC_UNDEFINED (integer)
METRIC_MEANABSOLUTEERROR (integer)
METRIC_MEANSQUAREERROR (integer)
METRIC_PEAKABSOLUTEERROR (integer)
METRIC_PEAKSIGNALTONOISERATIO (integer)
METRIC_ROOTMEANSQUAREDERROR (integer)
Constantes PIXEL

PIXEL_CHAR (integer)
PIXEL_DOUBLE (integer)
PIXEL_FLOAT (integer)
PIXEL_INTEGER (integer)
PIXEL_LONG (integer)
PIXEL_QUANTUM (integer)
PIXEL_SHORT (integer)
Constantes EVALUATE

EVALUATE_UNDEFINED (integer)
EVALUATE_ADD (integer)
EVALUATE_AND (integer)
EVALUATE_DIVIDE (integer)
EVALUATE_LEFTSHIFT (integer)
EVALUATE_MAX (integer)
EVALUATE_MIN (integer)
EVALUATE_MULTIPLY (integer)
EVALUATE_OR (integer)
EVALUATE_RIGHTSHIFT (integer)
EVALUATE_SET (integer)
EVALUATE_SUBTRACT (integer)
EVALUATE_XOR (integer)
EVALUATE_POW (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.4 o superior.
EVALUATE_LOG (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.4 o superior.
EVALUATE_THRESHOLD (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.4 o superior.
EVALUATE_THRESHOLDBLACK (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.4 o superior.
EVALUATE_THRESHOLDWHITE (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.4 o superior.
EVALUATE_GAUSSIANNOISE (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.4 o superior.
EVALUATE_IMPULSENOISE (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.4 o superior.
EVALUATE_LAPLACIANNOISE (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.4 o superior.
EVALUATE_MULTIPLICATIVENOISE (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.4 o superior.
EVALUATE_POISSONNOISE (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.4 o superior.
EVALUATE_UNIFORMNOISE (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.4 o superior.
EVALUATE_COSINE (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.4 o superior.
EVALUATE_SINE (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.4 o superior.
EVALUATE_ADDMODULUS (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.4 o superior.
Constantes COLORSPACE (Espacio de Color)

COLORSPACE_UNDEFINED (integer)
COLORSPACE_RGB (integer)
COLORSPACE_GRAY (integer)
COLORSPACE_TRANSPARENT (integer)
COLORSPACE_OHTA (integer)
COLORSPACE_LAB (integer)
COLORSPACE_XYZ (integer)
COLORSPACE_YCBCR (integer)
COLORSPACE_YCC (integer)
COLORSPACE_YIQ (integer)
COLORSPACE_YPBPR (integer)
COLORSPACE_YUV (integer)
COLORSPACE_CMYK (integer)
COLORSPACE_SRGB (integer)
COLORSPACE_HSB (integer)
COLORSPACE_HSL (integer)
COLORSPACE_HWB (integer)
COLORSPACE_REC601LUMA (integer)
COLORSPACE_REC709LUMA (integer)
COLORSPACE_LOG (integer)
COLORSPACE_CMY (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.2 o superior.
Constantes VIRTUALPIXELMETHOD (Métodos de Píxel Virtual)

VIRTUALPIXELMETHOD_UNDEFINED (integer)
VIRTUALPIXELMETHOD_BACKGROUND (integer)
VIRTUALPIXELMETHOD_CONSTANT (integer)
VIRTUALPIXELMETHOD_EDGE (integer)
VIRTUALPIXELMETHOD_MIRROR (integer)
VIRTUALPIXELMETHOD_TILE (integer)
VIRTUALPIXELMETHOD_TRANSPARENT (integer)
VIRTUALPIXELMETHOD_MASK (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.2 o superior.
VIRTUALPIXELMETHOD_BLACK (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.2 o superior.
VIRTUALPIXELMETHOD_GRAY (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.2 o superior.
VIRTUALPIXELMETHOD_WHITE (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.2 o superior.
VIRTUALPIXELMETHOD_HORIZONTALTILE (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.3 o superior.
VIRTUALPIXELMETHOD_VERTICALTILE (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.3 o superior.
Constantes PREVIEW (Previsualización)

PREVIEW_UNDEFINED (integer)
PREVIEW_ROTATE (integer)
PREVIEW_SHEAR (integer)
PREVIEW_ROLL (integer)
PREVIEW_HUE (integer)
PREVIEW_SATURATION (integer)
PREVIEW_BRIGHTNESS (integer)
PREVIEW_GAMMA (integer)
PREVIEW_SPIFF (integer)
PREVIEW_DULL (integer)
PREVIEW_GRAYSCALE (integer)
PREVIEW_QUANTIZE (integer)
PREVIEW_DESPECKLE (integer)
PREVIEW_REDUCENOISE (integer)
PREVIEW_ADDNOISE (integer)
PREVIEW_SHARPEN (integer)
PREVIEW_BLUR (integer)
PREVIEW_THRESHOLD (integer)
PREVIEW_EDGEDETECT (integer)
PREVIEW_SPREAD (integer)
PREVIEW_SOLARIZE (integer)
PREVIEW_SHADE (integer)
PREVIEW_RAISE (integer)
PREVIEW_SEGMENT (integer)
PREVIEW_SWIRL (integer)
PREVIEW_IMPLODE (integer)
PREVIEW_WAVE (integer)
PREVIEW_OILPAINT (integer)
PREVIEW_CHARCOALDRAWING (integer)
PREVIEW_JPEG (integer)
Constantes RENDERINGINTENT (Propósitos de Renderización)

RENDERINGINTENT_UNDEFINED (integer)
RENDERINGINTENT_SATURATION (integer)
RENDERINGINTENT_PERCEPTUAL (integer)
RENDERINGINTENT_ABSOLUTE (integer)
RENDERINGINTENT_RELATIVE (integer)
Constantes INTERLACE

INTERLACE_UNDEFINED (integer)
INTERLACE_NO (integer)
INTERLACE_LINE (integer)
INTERLACE_PLANE (integer)
INTERLACE_PARTITION (integer)
INTERLACE_GIF (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.4 o superior.
INTERLACE_JPEG (integer)
INTERLACE_PNG (integer)
Constantes FILLRULE (Regla de Relleno)

FILLRULE_UNDEFINED (integer)
FILLRULE_EVENODD (integer)
FILLRULE_NONZERO (integer)
Constantes PATHUNITS (Unidades de Trazado)

PATHUNITS_UNDEFINED (integer)
PATHUNITS_USERSPACE (integer)
PATHUNITS_USERSPACEONUSE (integer)
PATHUNITS_OBJECTBOUNDINGBOX (integer)
Constantes LINECAP (Cierre de Línea)

LINECAP_UNDEFINED (integer)
LINECAP_BUTT (integer)
LINECAP_ROUND (integer)
LINECAP_SQUARE (integer)
Constantes LINEJOIN (Unión de Línea)

LINEJOIN_UNDEFINED (integer)
LINEJOIN_MITER (integer)
LINEJOIN_ROUND (integer)
LINEJOIN_BEVEL (integer)
Constantes RESOURCETYPE (Tipo de Recurso)

RESOURCETYPE_UNDEFINED (integer)
RESOURCETYPE_AREA (integer)
Establecer el máximo ancho * alto de una imagen que puede residir en la memoria caché de pixel.
RESOURCETYPE_DISK (integer)
Establecer el espacio máximo de disco permitido en bytes que use la caché de pixel.
RESOURCETYPE_FILE (integer)
Establecer el número máximo de ficheros de caché de pixel abiertos.
RESOURCETYPE_MAP (integer)
Establecer la cantidad máxima de mapa de memoria a asignar en bytes para la caché de pixel.
RESOURCETYPE_MEMORY (integer)
Establecer la cantidad máxima de memoria en bytes a asignar para la caché de pixel desde el montículo.
imagick::RESOURCETYPE_THREAD (integer)
Establecer el máximo de hilos paralelos Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.7.8 o superior.
Constantes LAYERMETHOD

LAYERMETHOD_UNDEFINED (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.2.9 o superior.
LAYERMETHOD_COALESCE (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.2.9 o superior.
LAYERMETHOD_COMPAREANY (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.2.9 o superior.
LAYERMETHOD_COMPARECLEAR (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.2.9 o superior.
LAYERMETHOD_COMPAREOVERLAY (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.2.9 o superior.
LAYERMETHOD_DISPOSE (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.2.9 o superior.
LAYERMETHOD_OPTIMIZE (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.2.9 o superior.
LAYERMETHOD_OPTIMIZEPLUS (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.2.9 o superior.
LAYERMETHOD_OPTIMIZEIMAGE (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.0 o superior.
LAYERMETHOD_OPTIMIZETRANS (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.0 o superior.
LAYERMETHOD_REMOVEDUPS (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.0 o superior.
LAYERMETHOD_REMOVEZERO (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.0 o superior.
LAYERMETHOD_COMPOSITE (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.0 o superior.
LAYERMETHOD_MERGE (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.7 o superior.
LAYERMETHOD_FLATTEN (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.7 o superior.
LAYERMETHOD_MOSAIC (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.7 o superior.
Constantes ORIENTATION (Orientación)

ORIENTATION_UNDEFINED (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.0 o superior.
ORIENTATION_TOPLEFT (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.0 o superior.
ORIENTATION_TOPRIGHT (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.0 o superior.
ORIENTATION_BOTTOMRIGHT (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.0 o superior.
ORIENTATION_BOTTOMLEFT (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.0 o superior.
ORIENTATION_LEFTTOP (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.0 o superior.
ORIENTATION_RIGHTTOP (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.0 o superior.
ORIENTATION_RIGHTBOTTOM (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.0 o superior.
ORIENTATION_LEFTBOTTOM (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.0 o superior.
Constantes DISTORTION

DISTORTION_UNDEFINED (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.6 o superior.
DISTORTION_AFFINE (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.6 o superior.
DISTORTION_AFFINEPROJECTION (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.6 o superior.
DISTORTION_ARC (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.6 o superior.
DISTORTION_BILINEAR (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.6 o superior.
DISTORTION_PERSPECTIVE (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.6 o superior.
DISTORTION_PERSPECTIVEPROJECTION (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.6 o superior.
DISTORTION_SCALEROTATETRANSLATE (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.6 o superior.
DISTORTION_POLYNOMIAL (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.6 o superior.
DISTORTION_POLAR (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.6 o superior.
DISTORTION_DEPOLAR (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.6 o superior.
DISTORTION_BARREL (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.6 o superior.
DISTORTION_BARRELINVERSE (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.6 o superior.
DISTORTION_SHEPARDS (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.6 o superior.
DISTORTION_SENTINEL (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.6 o superior.
Constantes ALPHACHANNEL

ALPHACHANNEL_ACTIVATE (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.8 o superior.
ALPHACHANNEL_DEACTIVATE (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.8 o superior.
ALPHACHANNEL_RESET (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.8 o superior.
ALPHACHANNEL_SET (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.8 o superior.
ALPHACHANNEL_UNDEFINED (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.6 o superior.
ALPHACHANNEL_COPY (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.6 o superior.
ALPHACHANNEL_EXTRACT (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.6 o superior.
ALPHACHANNEL_OPAQUE (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.6 o superior.
ALPHACHANNEL_SHAPE (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.6 o superior.
ALPHACHANNEL_TRANSPARENT (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.6 o superior.
Constantes SPARSECOLORMETHOD

SPARSECOLORMETHOD_UNDEFINED (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.6 o superior.
SPARSECOLORMETHOD_BARYCENTRIC (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.6 o superior.
SPARSECOLORMETHOD_BILINEAR (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.6 o superior.
SPARSECOLORMETHOD_POLYNOMIAL (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.6 o superior.
SPARSECOLORMETHOD_SPEPARDS (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.6 o superior.
SPARSECOLORMETHOD_VORONOI (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.6 o superior.
Constantes FUNCTION

FUNCTION_UNDEFINED (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.9 o superior.
FUNCTION_POLYNOMIAL (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.9 o superior.
FUNCTION_SINUSOID (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.9 o superior.
Constantes INTERPOLATE

INTERPOLATE_UNDEFINED (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.2 o superior.
INTERPOLATE_AVERAGE (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.2 o superior.
INTERPOLATE_BICUBIC (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.2 o superior.
INTERPOLATE_BILINEAR (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.2 o superior.
INTERPOLATE_FILTER (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.2 o superior.
INTERPOLATE_INTEGER (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.2 o superior.
INTERPOLATE_MESH (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.2 o superior.
INTERPOLATE_NEARESTNEIGHBOR (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.2 o superior.
INTERPOLATE_SPLINE (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.3.4 o superior.
Constantes DITHERMETHOD

DITHERMETHOD_UNDEFINED (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.6 o superior.
DITHERMETHOD_NO (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.6 o superior.
DITHERMETHOD_RIEMERSMA (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.6 o superior.
DITHERMETHOD_FLOYDSTEINBERG (integer)
Esta constante está disponible si Imagick ha sido compilado con ImageMagick en su versión 6.4.6 o superior.
Tipos de recursos
Ejemplos
ImageMagick


Ejemplos

Tabla de contenidos

  • Uso básico
Constantes predefinidas
Uso básico
ImageMagick


Uso básico

Imagick hace que la manipulación de imágenes en PHP sea extremadamente sencilla a través de una interfaz OO. Aquí está un ejemplo breve de cómo hacer una miniatura:

Ejemplo #1 Crear una miniatura con Imagick

<?php

header('Content-type: image/jpeg');

$imagen = new Imagick('imagen.jpg');

// Si se proporciona 0 como parámetro de ancho o alto,
// se mantiene la proporción de aspecto
$imagen->thumbnailImage(100, 0);

echo $imagen;

?>

Al usar SPL y otras características OO soportadas en Imagick, puede ser sencillo redimensionar todos los archivos de un directorio (útil para la redimensión por lotes de muchas imágenes de cámara digital para que sean visibles desde una web). Aquí usamos redimensión, ya que queremos mantener cierta meta-información:

Ejemplo #2 Hacer una miniatura de todos los archivos JPG de un directorio

<?php

$imágenes = new Imagick(glob('imagenes/*.JPG'));

foreach($imágenes as $imagen) {

    // Proporcionar 0 fuerza a thumbnailImage a mantener la proporción de aspecto
    $imagen->thumbnailImage(1024,0);

}

$imágenes->writeImages();

?>

Este es un ejemplo de crear un reflejo de una imagen. El reflejo se crea volteando la imagen y poniendo una capa de gradiente sobre ella. Ambas, la imagen original y el reflejo, están sobrepuestas en un lienzo.

Ejemplo #3 Crear un reflejo de una imagen

<?php
/* Leer la imagen */
$im = new Imagick("test.png");

/* Miniaturizar la imagen */
$im->thumbnailImage(200, null);

/* Crear un borde para la imagen */
$im->borderImage(new ImagickPixel("white"), 5, 5);

/* Clonar la imagen y voltearla */
$reflejo = $im->clone();
$reflejo->flipImage();

/* Crear un gradiente. Será sobrepuesto en el reflejo */
$gradiente = new Imagick();

/* El gradiente necesita ser más grande que la imagen y los bordes */
$gradiente->newPseudoImage($reflejo->getImageWidth() + 10, $reflejo->getImageHeight() + 10, "gradient:transparent-black");

/* Componer el gradiente con el reflejo */
$reflejo->compositeImage($gradiente, imagick::COMPOSITE_OVER, 0, 0);

/* Añadir algo de opacidad. Requiere ImageMagick 6.2.9 o superior */
$reflejo->setImageOpacity( 0.3 );

/* Crear un lienzo vacío */
$lienzo = new Imagick();

/* El lienzo necesita ser más grande para mantener ambas imágenes */
$ancho = $im->getImageWidth() + 40;
$alto = ($im->getImageHeight() * 2) + 30;
$lienzo->newImage($ancho, $alto, new ImagickPixel("black"));
$lienzo->setImageFormat("png");

/* Componer la imagen original y el reflejo sobre el lienzo */
$lienzo->compositeImage($im, imagick::COMPOSITE_OVER, 20, 10);
$lienzo->compositeImage($reflejo, imagick::COMPOSITE_OVER, 20, $im->getImageHeight() + 10);

/* Imprimir la imagen */
header("Content-Type: image/png");
echo $lienzo;
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : Crear un reflejo de una imagen

Este ejemplo ilustra cómo usar patrones de relleno durante el dibujo.

Ejemplo #4 Rellenar un texto con un gradiente

<?php

/* Crear un nuevo objeto imagick */
$im = new Imagick();

/* Crear una nueva imagen. Será usada como patrón de relleno */
$im->newPseudoImage(50, 50, "gradient:red-black");

/* Crear un objeto imagickdraw */
$dibujo = new ImagickDraw();

/* Iniciar un nuevo patrón llamado "gradient" */
$dibujo->pushPattern('gradient', 0, 0, 50, 50);

/* Componer el gradiente con el patrón */
$dibujo->composite(Imagick::COMPOSITE_OVER, 0, 0, 50, 50, $im);

/* Cerrar el patrón */
$dibujo->popPattern();

/* Usar el patrón llamado "gradient" como el relleno */
$dibujo->setFillPatternURL('#gradient');

/* Establecer el tamaño de fuente a 52 */
$dibujo->setFontSize(52);

/* Anotar algo de texto */
$dibujo->annotation(20, 50, "Hello World!");

/* Crear un nuevo lienzo y una imagen blanca */
$lienzo = new Imagick();
$lienzo->newImage(350, 70, "white");

/* Dibujar el objeto ImagickDraw sobre el lienzo */
$lienzo->drawImage($dibujo);

/* Borde negro de 1px alrededor de la imagen */
$lienzo->borderImage('black', 1, 1);

/* Establecer el formato a PNG */
$lienzo->setImageFormat('png');

/* Imprimir la imagen */
header("Content-Type: image/png");
echo $lienzo;
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : Rellenar texto con gradiente

Trabajar con imágenes GIF animadas

Ejemplo #5 Leer una imágen GIF y redimensionar todos los fotogramas

<?php

/* Crear un nuevo objeto imagick y leer el GIF */
$im = new Imagick("ejemplo.gif");

/* Redimensionar todos los fotogramas */
foreach ($im as $fotograma) {
 /* Fotogramas de 50x50 */
 $fotograma->thumbnailImage(50, 50);

 /* Establecer el lienzo virtual para corregir el tamaño */
 $fotograma->setImagePage(50, 50, 0, 0);
}

/* Observe: writeImages en vez de writeImage */
$im->writeImages("example_small.gif", true);
?>

Trabajar con primitivas de elipse y tipos de letra personalizados

Ejemplo #6 Crear un logo de PHP

<?php
/* Establecer el ancho y alto en proporción al logo genuino de PHP */
$ancho = 400;
$alto = 210;

/* Crear un objeto Imagick con lienzo transparente */
$img = new Imagick();
$img->newImage($ancho, $alto, new ImagickPixel('transparent'));

/* Nueva instancia de ImagickDraw para dibujar la elipse */
$dibujo = new ImagickDraw();
/* Establecer el color de relleno púrpura para la elipse */
$dibujo->setFillColor('#777bb4');
/* Establecer las dimensiones de la elipse */
$dibujo->ellipse($ancho / 2, $alto / 2, $ancho / 2, $alto / 2, 0, 360);
/* Dibujar la elipse en el lienzo */
$img->drawImage($dibujo);

/* Restablecer el color de relleno de púrpura a negro para el texto (nota: estamos reutilizando el objeto ImagickDraw) */
$dibujo->setFillColor('black');
/* Establecer el borde del contorno al color blanco */
$dibujo->setStrokeColor('white');
/* Establecer el grosor del borde del contorno */
$dibujo->setStrokeWidth(2);
/* Establecer el interletraje del tipo de letra (un valor negativo significa que las letras están más juntas entre ellas) */
$dibujo->setTextKerning(-8);
/* Establecer el tamaño del tipo de letra usado para el logo de PHP */
$dibujo->setFont('Handel Gothic.ttf');
$dibujo->setFontSize(150);
/* Centrar el texto horizontal y verticalmente */
$dibujo->setGravity(Imagick::GRAVITY_CENTER);

/* Añadir en el centro "php" con el índice Y de -10 al lienzo (dentro de la elipse) */
$img->annotateImage($dibujo, 0, -10, 0, 'php');
$img->setImageFormat('png');

/* Establecer la cabecera apropiada para PNG y generar la imagen */
header('Content-Type: image/png');
echo $img;
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo: Crear el logo de PHP con Imagick

Ejemplos
Imagick
Ejemplos


La clase Imagick

(PECL imagick 2.0.0)

Sinopsis de la Clase

Imagick implements Iterator {
bool adaptiveBlurImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool adaptiveResizeImage ( int $columns , int $rows [, bool $bestfit = false ] )
bool adaptiveSharpenImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool adaptiveThresholdImage ( int $width , int $height , int $offset )
bool addImage ( Imagick $source )
bool addNoiseImage ( int $noise_type [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool affineTransformImage ( ImagickDraw $matrix )
bool animateImages ( string $x_server )
bool annotateImage ( ImagickDraw $draw_settings , float $x , float $y , float $angle , string $text )
Imagick appendImages ( bool $stack = false )
Imagick averageImages ( void )
bool blackThresholdImage ( mixed $threshold )
bool blurImage ( float $radius , float $sigma [, int $channel ] )
bool borderImage ( mixed $bordercolor , int $width , int $height )
bool charcoalImage ( float $radius , float $sigma )
bool chopImage ( int $width , int $height , int $x , int $y )
bool clear ( void )
bool clipImage ( void )
bool clipPathImage ( string $pathname , bool $inside )
Imagick clone ( void )
bool clutImage ( Imagick $lookup_table [, float $channel = Imagick::CHANNEL_DEFAULT ] )
Imagick coalesceImages ( void )
bool colorFloodfillImage ( mixed $fill , float $fuzz , mixed $bordercolor , int $x , int $y )
bool colorizeImage ( mixed $colorize , mixed $opacity )
Imagick combineImages ( int $channelType )
bool commentImage ( string $comment )
array compareImageChannels ( Imagick $image , int $channelType , int $metricType )
Imagick compareImageLayers ( int $method )
array compareImages ( Imagick $compare , int $metric )
bool compositeImage ( Imagick $composite_object , int $composite , int $x , int $y [, int $channel = Imagick::CHANNEL_ALL ] )
__construct ( mixed $files )
bool contrastImage ( bool $sharpen )
bool contrastStretchImage ( float $black_point , float $white_point [, int $channel = Imagick::CHANNEL_ALL ] )
bool convolveImage ( array $kernel [, int $channel = Imagick::CHANNEL_ALL ] )
bool cropImage ( int $width , int $height , int $x , int $y )
bool cropThumbnailImage ( int $width , int $height )
Imagick current ( void )
bool cycleColormapImage ( int $displace )
bool decipherImage ( string $passphrase )
Imagick deconstructImages ( void )
bool deleteImageArtifact ( string $artifact )
public bool deskewImage ( float $threshold )
bool despeckleImage ( void )
bool destroy ( void )
bool displayImage ( string $servername )
bool displayImages ( string $servername )
bool distortImage ( int $method , array $arguments , bool $bestfit )
bool drawImage ( ImagickDraw $draw )
bool edgeImage ( float $radius )
bool embossImage ( float $radius , float $sigma )
bool encipherImage ( string $passphrase )
bool enhanceImage ( void )
bool equalizeImage ( void )
bool evaluateImage ( int $op , float $constant [, int $channel = Imagick::CHANNEL_ALL ] )
public array exportImagePixels ( int $x , int $y , int $width , int $height , string $map , int $STORAGE )
bool extentImage ( int $width , int $height , int $x , int $y )
Imagick flattenImages ( void )
bool flipImage ( void )
bool floodFillPaintImage ( mixed $fill , float $fuzz , mixed $target , int $x , int $y , bool $invert [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool flopImage ( void )
bool frameImage ( mixed $matte_color , int $width , int $height , int $inner_bevel , int $outer_bevel )
public bool functionImage ( int $function , array $arguments [, int $channel = Imagick::CHANNEL_DEFAULT ] )
Imagick fxImage ( string $expression [, int $channel = Imagick::CHANNEL_ALL ] )
bool gammaImage ( float $gamma [, int $channel = Imagick::CHANNEL_ALL ] )
bool gaussianBlurImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_ALL ] )
int getColorspace ( void )
int getCompression ( void )
int getCompressionQuality ( void )
string getCopyright ( void )
string getFilename ( void )
string getFont ( void )
string getFormat ( void )
int getGravity ( void )
string getHomeURL ( void )
Imagick getImage ( void )
int getImageAlphaChannel ( void )
string getImageArtifact ( string $artifact )
ImagickPixel getImageBackgroundColor ( void )
string getImageBlob ( void )
array getImageBluePrimary ( void )
ImagickPixel getImageBorderColor ( void )
int getImageChannelDepth ( int $channel )
float getImageChannelDistortion ( Imagick $reference , int $channel , int $metric )
float getImageChannelDistortions ( Imagick $reference , int $metric [, int $channel = Imagick::CHANNEL_DEFAULT ] )
array getImageChannelExtrema ( int $channel )
public array getImageChannelKurtosis ([ int $channel = Imagick::CHANNEL_DEFAULT ] )
array getImageChannelMean ( int $channel )
array getImageChannelRange ( int $channel )
array getImageChannelStatistics ( void )
Imagick getImageClipMask ( void )
ImagickPixel getImageColormapColor ( int $index )
int getImageColors ( void )
int getImageColorspace ( void )
int getImageCompose ( void )
int getImageCompression ( void )
int getCompressionQuality ( void )
int getImageDelay ( void )
int getImageDepth ( void )
int getImageDispose ( void )
float getImageDistortion ( MagickWand $reference , int $metric )
array getImageExtrema ( void )
string getImageFilename ( void )
string getImageFormat ( void )
float getImageGamma ( void )
array getImageGeometry ( void )
int getImageGravity ( void )
array getImageGreenPrimary ( void )
int getImageHeight ( void )
array getImageHistogram ( void )
int getImageIndex ( void )
int getImageInterlaceScheme ( void )
int getImageInterpolateMethod ( void )
int getImageIterations ( void )
int getImageLength ( void )
string getImageMagickLicense ( void )
bool getImageMatte ( void )
ImagickPixel getImageMatteColor ( void )
int getImageOrientation ( void )
array getImagePage ( void )
ImagickPixel getImagePixelColor ( int $x , int $y )
string getImageProfile ( string $name )
array getImageProfiles ([ string $pattern = "*" [, bool $only_names = true ]] )
array getImageProperties ([ string $pattern = "*" [, bool $only_names = true ]] )
string getImageProperty ( string $name )
array getImageRedPrimary ( void )
Imagick getImageRegion ( int $width , int $height , int $x , int $y )
int getImageRenderingIntent ( void )
array getImageResolution ( void )
string getImagesBlob ( void )
int getImageScene ( void )
string getImageSignature ( void )
int getImageSize ( void )
int getImageTicksPerSecond ( void )
float getImageTotalInkDensity ( void )
int getImageType ( void )
int getImageUnits ( void )
int getImageVirtualPixelMethod ( void )
array getImageWhitePoint ( void )
int getImageWidth ( void )
int getInterlaceScheme ( void )
int getIteratorIndex ( void )
int getNumberImages ( void )
string getOption ( string $key )
string getPackageName ( void )
array getPage ( void )
ImagickPixelIterator getPixelIterator ( void )
ImagickPixelIterator getPixelRegionIterator ( int $x , int $y , int $columns , int $rows )
float getPointSize ( void )
array getQuantumDepth ( void )
array getQuantumRange ( void )
string getReleaseDate ( void )
int getResource ( int $type )
int getResourceLimit ( int $type )
array getSamplingFactors ( void )
array getSize ( void )
int getSizeOffset ( void )
array getVersion ( void )
public bool haldClutImage ( Imagick $clut [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool hasNextImage ( void )
bool hasPreviousImage ( void )
array identifyImage ([ bool $appendRawOutput = false ] )
bool implodeImage ( float $radius )
public bool importImagePixels ( int $x , int $y , int $width , int $height , string $map , int $storage , array $pixels )
bool labelImage ( string $label )
bool levelImage ( float $blackPoint , float $gamma , float $whitePoint [, int $channel = Imagick::CHANNEL_ALL ] )
bool linearStretchImage ( float $blackPoint , float $whitePoint )
bool liquidRescaleImage ( int $width , int $height , float $delta_x , float $rigidity )
bool magnifyImage ( void )
bool mapImage ( Imagick $map , bool $dither )
bool matteFloodfillImage ( float $alpha , float $fuzz , mixed $bordercolor , int $x , int $y )
bool medianFilterImage ( float $radius )
bool mergeImageLayers ( int $layer_method )
bool minifyImage ( void )
bool modulateImage ( float $brightness , float $saturation , float $hue )
Imagick montageImage ( ImagickDraw $draw , string $tile_geometry , string $thumbnail_geometry , int $mode , string $frame )
Imagick morphImages ( int $number_frames )
Imagick mosaicImages ( void )
bool motionBlurImage ( float $radius , float $sigma , float $angle [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool negateImage ( bool $gray [, int $channel = Imagick::CHANNEL_ALL ] )
bool newImage ( int $cols , int $rows , mixed $background [, string $format ] )
bool newPseudoImage ( int $columns , int $rows , string $pseudoString )
bool nextImage ( void )
bool normalizeImage ([ int $channel = Imagick::CHANNEL_ALL ] )
bool oilPaintImage ( float $radius )
bool opaquePaintImage ( mixed $target , mixed $fill , float $fuzz , bool $invert [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool optimizeImageLayers ( void )
bool orderedPosterizeImage ( string $threshold_map [, int $channel = Imagick::CHANNEL_ALL ] )
bool paintFloodfillImage ( mixed $fill , float $fuzz , mixed $bordercolor , int $x , int $y [, int $channel = Imagick::CHANNEL_ALL ] )
bool paintOpaqueImage ( mixed $target , mixed $fill , float $fuzz [, int $channel = Imagick::CHANNEL_ALL ] )
bool paintTransparentImage ( mixed $target , float $alpha , float $fuzz )
bool pingImage ( string $filename )
bool pingImageBlob ( string $image )
bool pingImageFile ( resource $filehandle [, string $fileName ] )
bool polaroidImage ( ImagickDraw $properties , float $angle )
bool posterizeImage ( int $levels , bool $dither )
bool previewImages ( int $preview )
bool previousImage ( void )
bool profileImage ( string $name , string $profile )
bool quantizeImage ( int $numberColors , int $colorspace , int $treedepth , bool $dither , bool $measureError )
bool quantizeImages ( int $numberColors , int $colorspace , int $treedepth , bool $dither , bool $measureError )
array queryFontMetrics ( ImagickDraw $properties , string $text [, bool $multiline ] )
array queryFonts ([ string $pattern = "*" ] )
array queryFormats ([ string $pattern = "*" ] )
bool radialBlurImage ( float $angle [, int $channel = Imagick::CHANNEL_ALL ] )
bool raiseImage ( int $width , int $height , int $x , int $y , bool $raise )
bool randomThresholdImage ( float $low , float $high [, int $channel = Imagick::CHANNEL_ALL ] )
bool readImage ( string $filename )
bool readImageBlob ( string $image [, string $filename ] )
bool readImageFile ( resource $filehandle [, string $fileName = null ] )
bool recolorImage ( array $matrix )
bool reduceNoiseImage ( float $radius )
public bool remapImage ( Imagick $replacement , int $DITHER )
bool removeImage ( void )
string removeImageProfile ( string $name )
bool render ( void )
bool resampleImage ( float $x_resolution , float $y_resolution , int $filter , float $blur )
bool resetImagePage ( string $page )
bool resizeImage ( int $columns , int $rows , int $filter , float $blur [, bool $bestfit = false ] )
bool rollImage ( int $x , int $y )
bool rotateImage ( mixed $background , float $degrees )
bool roundCorners ( float $x_rounding , float $y_rounding [, float $stroke_width = 10 [, float $displace = 5 [, float $size_correction = -6 ]]] )
bool sampleImage ( int $columns , int $rows )
bool scaleImage ( int $cols , int $rows [, bool $bestfit = false ] )
public bool segmentImage ( int $COLORSPACE , float $cluster_threshold , float $smooth_threshold [, bool $verbose = false ] )
bool separateImageChannel ( int $channel )
bool sepiaToneImage ( float $threshold )
bool setBackgroundColor ( mixed $background )
bool setColorspace ( int $COLORSPACE )
bool setCompression ( int $compression )
bool setCompressionQuality ( int $quality )
bool setFilename ( string $filename )
bool setFirstIterator ( void )
bool setFont ( string $font )
bool setFormat ( string $format )
bool setGravity ( int $gravity )
bool setImage ( Imagick $replace )
bool setImageAlphaChannel ( int $mode )
bool setImageArtifact ( string $artifact , string $value )
bool setImageBackgroundColor ( mixed $background )
bool setImageBias ( float $bias )
bool setImageBluePrimary ( float $x , float $y )
bool setImageBorderColor ( mixed $border )
bool setImageChannelDepth ( int $channel , int $depth )
bool setImageClipMask ( Imagick $clip_mask )
bool setImageColormapColor ( int $index , ImagickPixel $color )
bool setImageColorspace ( int $colorspace )
bool setImageCompose ( int $compose )
bool setImageCompression ( int $compression )
bool setImageCompressionQuality ( int $quality )
bool setImageDelay ( int $delay )
bool setImageDepth ( int $depth )
bool setImageDispose ( int $dispose )
bool setImageExtent ( int $columns , int $rows )
bool setImageFilename ( string $filename )
bool setImageFormat ( string $format )
bool setImageGamma ( float $gamma )
bool setImageGravity ( int $gravity )
bool setImageGreenPrimary ( float $x , float $y )
bool setImageIndex ( int $index )
bool setImageInterlaceScheme ( int $interlace_scheme )
bool setImageInterpolateMethod ( int $method )
bool setImageIterations ( int $iterations )
bool setImageMatte ( bool $matte )
bool setImageMatteColor ( mixed $matte )
bool setImageOpacity ( float $opacity )
bool setImageOrientation ( int $orientation )
bool setImagePage ( int $width , int $height , int $x , int $y )
bool setImageProfile ( string $name , string $profile )
bool setImageProperty ( string $name , string $value )
bool setImageRedPrimary ( float $x , float $y )
bool setImageRenderingIntent ( int $rendering_intent )
bool setImageResolution ( float $x_resolution , float $y_resolution )
bool setImageScene ( int $scene )
bool setImageTicksPerSecond ( int $ticks_per_second )
bool setImageType ( int $image_type )
bool setImageUnits ( int $units )
bool setImageVirtualPixelMethod ( int $method )
bool setImageWhitePoint ( float $x , float $y )
bool setInterlaceScheme ( int $interlace_scheme )
bool setIteratorIndex ( int $index )
bool setLastIterator ( void )
bool setOption ( string $key , string $value )
bool setPage ( int $width , int $height , int $x , int $y )
bool setPointSize ( float $point_size )
bool setResolution ( float $x_resolution , float $y_resolution )
bool setResourceLimit ( int $type , int $limit )
bool setSamplingFactors ( array $factors )
bool setSize ( int $columns , int $rows )
bool setSizeOffset ( int $columns , int $rows , int $offset )
bool setType ( int $image_type )
bool shadeImage ( bool $gray , float $azimuth , float $elevation )
bool shadowImage ( float $opacity , float $sigma , int $x , int $y )
bool sharpenImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_ALL ] )
bool shaveImage ( int $columns , int $rows )
bool shearImage ( mixed $background , float $x_shear , float $y_shear )
bool sigmoidalContrastImage ( bool $sharpen , float $alpha , float $beta [, int $channel = Imagick::CHANNEL_ALL ] )
bool sketchImage ( float $radius , float $sigma , float $angle )
bool solarizeImage ( int $threshold )
public bool sparseColorImage ( int $SPARSE_METHOD , array $arguments [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool spliceImage ( int $width , int $height , int $x , int $y )
bool spreadImage ( float $radius )
Imagick steganoImage ( Imagick $watermark_wand , int $offset )
bool stereoImage ( Imagick $offset_wand )
bool stripImage ( void )
bool swirlImage ( float $degrees )
bool textureImage ( Imagick $texture_wand )
bool thresholdImage ( float $threshold [, int $channel = Imagick::CHANNEL_ALL ] )
bool thumbnailImage ( int $columns , int $rows [, bool $bestfit = false [, bool $fill = false ]] )
bool tintImage ( mixed $tint , mixed $opacity )
Imagick transformImage ( string $crop , string $geometry )
bool transparentPaintImage ( mixed $target , float $alpha , float $fuzz , bool $invert )
bool transposeImage ( void )
bool transverseImage ( void )
bool trimImage ( float $fuzz )
bool uniqueImageColors ( void )
bool unsharpMaskImage ( float $radius , float $sigma , float $amount , float $threshold [, int $channel = Imagick::CHANNEL_ALL ] )
bool valid ( void )
bool vignetteImage ( float $blackPoint , float $whitePoint , int $x , int $y )
bool waveImage ( float $amplitude , float $length )
bool whiteThresholdImage ( mixed $threshold )
bool writeImage ([ string $filename = NULL ] )
bool writeImageFile ( resource $filehandle )
bool writeImages ( string $filename , bool $adjoin )
bool writeImagesFile ( resource $filehandle )
}

Métodos de imagen y métodos globales

La clase Imagick tiene la capacidad de mantener y operar con múltiples imágenes simultáneamente. Esto se consigue mediante una pila interna. Siempre hay un puntero interno que apunta a la imagen actual. Algunas funciones operan con todas las imágenes de la clase Imagick, pero la mayoría operan sólo con la imagen actual de la pila interna. Como convención, los nombres de los métodos pueden contener la palabra Image para denotar que afectan sólo a la imagen actual de la pila.

Métodos de la Clase

Ya que hay muchos métodos, aquí está una lista útil de métodos, algo reducida para su propósito general:

Métodos de la clase por propósito
Efectos de imagen | Métodos get | Métodos set | Lectura/escritura de imágenes | Otros
Imagick::adaptiveBlurImage() | Imagick::getCompression() | Imagick::setBackgroundColor() | Imagick::__construct() | Imagick::clear()
Imagick::adaptiveResizeImage() | Imagick::getFilename() | Imagick::setCompressionQuality() | Imagick::addImage() | Imagick::clone()
Imagick::adaptiveSharpenImage() | Imagick::getFormat() | Imagick::setCompression() | Imagick::appendImages() | Imagick::current()
Imagick::adaptiveThresholdImage() | Imagick::getImageBackgroundColor() | Imagick::setFilename() | Imagick::getFilename() | Imagick::destroy()
Imagick::addNoiseImage() | Imagick::getImageBlob() | Imagick::getImagesBlob() | Imagick::setFormat() | Imagick::getFormat()
Imagick::affinetransformimage() | Imagick::getImageBluePrimary() | Imagick::setImageBackgroundColor() | Imagick::getImageFilename() | Imagick::getHomeURL()
Imagick::annotateImage() | Imagick::getImageBorderColor() | Imagick::setFirstIterator() | Imagick::getImageFormat() | Imagick::commentImage()
Imagick::averageImages() | Imagick::getImageChannelDepth() | Imagick::setImageBias() | Imagick::getImage() | Imagick::getNumberImages()
Imagick::blackThresholdImage() | Imagick::getImageChannelDistortion() | Imagick::setImageBluePrimary() | Imagick::setImageFilename() | Imagick::getReleaseDate()
Imagick::blurImage() | Imagick::getImageChannelExtrema() | Imagick::setImageBorderColor() | Imagick::setImageFormat() | Imagick::getVersion()
Imagick::borderImage() | Imagick::getImageChannelMean() | Imagick::setImageChannelDepth() | Imagick::readImageFile() | Imagick::hasNextImage()
Imagick::charcoalImage() | Imagick::getImageChannelStatistics() | Imagick::setImageColormapColor() | Imagick::readImage() | Imagick::hasPreviousImage()
Imagick::chopImage() | Imagick::getImageColormapColor() | Imagick::setImageColorSpace() | Imagick::writeImages() | Imagick::labelImage()
Imagick::clipImage() | Imagick::getImageColorspace() | Imagick::setImageCompose() | Imagick::writeImage() | Imagick::newImage()
Imagick::clipPathImage() | Imagick::getImageColors() | Imagick::setImageCompression() |  | Imagick::newPseudoImage()
Imagick::coalesceImages() | Imagick::getImageCompose() | Imagick::setImageDelay() |  | Imagick::nextImage()
Imagick::colorFloodFillImage() | Imagick::getImageDelay() | Imagick::setImageDepth() |  | Imagick::pingImageBlob()
Imagick::colorizeImage() | Imagick::getImageDepth() | Imagick::setImageDispose() |  | Imagick::pingImageFile()
Imagick::combineImages() | Imagick::getImageDispose() | Imagick::setImageDispose() |  | Imagick::pingImage()
Imagick::compareImageChannels() | Imagick::getImageDistortion() | Imagick::setImageExtent() |  | Imagick::previousImage()
Imagick::compareImageLayers() | Imagick::getImageExtrema() | Imagick::setImageFilename() |  | Imagick::profileImage()
Imagick::compositeImage() | Imagick::getImageFilename() | Imagick::setImageFormat() |  | Imagick::queryFormats()
Imagick::contrastImage() | Imagick::getImageFormat() | Imagick::setImageGamma() |  | Imagick::removeImageProfile()
Imagick::contrastStretchImage() | Imagick::getImageGamma() | Imagick::setImageGreenPrimary() |  | Imagick::removeImage()
Imagick::convolveImage() | Imagick::getImageGeometry() | Imagick::setImageIndex() |  | Imagick::setFirstIterator()
Imagick::cropImage() | Imagick::getImageGreenPrimary() | Imagick::setImageInterpolateMethod() |  | Imagick::setImageIndex()
Imagick::cycleColormapImage() | Imagick::getImageHeight() | Imagick::setImageIterations() |  | Imagick::valid()
Imagick::deconstructImages() | Imagick::getImageHistogram() | Imagick::setImageMatteColor() |  | Imagick::getCopyright()
Imagick::drawImage() | Imagick::getImageIndex() | Imagick::setImageMatte() |  |
Imagick::edgeImage() | Imagick::getImageInterlaceScheme() | Imagick::setImagePage() |  |
Imagick::embossImage() | Imagick::getImageInterpolateMethod() | Imagick::setImageProfile() |  |
Imagick::enhanceImage() | Imagick::getImageIterations() | Imagick::setImageProperty() |  |
Imagick::equalizeImage() | Imagick::getImageMatteColor() | Imagick::setImageRedPrimary() |  |
Imagick::evaluateImage() | Imagick::getImageMatte() | Imagick::setImageRenderingIntent() |  |
Imagick::flattenImages() | Imagick::getImagePage() | Imagick::setImageResolution() |  |
Imagick::flipImage() | Imagick::getImagePixelColor() | Imagick::setImageScene() |  |
Imagick::flopImage() | Imagick::getImageProfile() | Imagick::setImageTicksPerSecond() |  |
 | Imagick::getImageProperty() | Imagick::setImageType() |  |
Imagick::fxImage() | Imagick::getImageRedPrimary() | Imagick::setImageUnits() |  |
Imagick::gammaImage() | Imagick::getImageRegion() | Imagick::setImageVirtualPixelMethod() |  |
Imagick::gaussianBlurImage() | Imagick::getImageRenderingIntent() | Imagick::setImageWhitepoint() |  |
Imagick::implodeImage() | Imagick::getImageResolution() | Imagick::setInterlaceScheme() |  |
Imagick::levelImage() | Imagick::getImageScene() | Imagick::setOption() |  |
Imagick::linearStretchImage() | Imagick::getImageSignature() | Imagick::setPage() |  |
Imagick::magnifyImage() | Imagick::getImageTicksPerSecond() | Imagick::setResolution() |  |
Imagick::matteFloodFillImage() | Imagick::getImageTotalInkDensity() | Imagick::setResourceLimit() |  |
Imagick::medianFilterImage() | Imagick::getImageType() | Imagick::setSamplingFactors() |  |
Imagick::minifyImage() | Imagick::getImageUnits() | Imagick::setSizeOffset() |  |
Imagick::modulateImage() | Imagick::getImageVirtualPixelMethod() | Imagick::setSize() |  |
Imagick::montageImage() | Imagick::getImageWhitepoint() | Imagick::setType() |  |
Imagick::morphImages() | Imagick::getImageWidth() |  |  |
Imagick::mosaicImages() | Imagick::getImage() |  |  |
Imagick::motionBlurImage() | Imagick::getInterlaceScheme() |  |  |
Imagick::negateImage() | Imagick::getNumberImages() |  |  |
Imagick::normalizeImage() | Imagick::getOption() |  |  |
Imagick::oilPaintImage() | Imagick::getPackageName() |  |  |
Imagick::optimizeImageLayers() | Imagick::getPage() |  |  |
Imagick::paintOpaqueImage() | Imagick::getPixelIterator() |  |  |
Imagick::paintTransparentImage() | Imagick::getPixelRegionIterator() |  |  |
Imagick::posterizeImage() | Imagick::getQuantumDepth() |  |  |
Imagick::radialBlurImage() | Imagick::getQuantumRange() |  |  |
Imagick::raiseImage() | Imagick::getResourceLimit() |  |  |
Imagick::randomThresholdImage() | Imagick::getResource() |  |  |
Imagick::reduceNoiseImage() | Imagick::getSamplingFactors() |  |  |
Imagick::render() | Imagick::getSizeOffset() |  |  |
Imagick::resampleImage() | Imagick::getSize() |  |  |
Imagick::resizeImage() | Imagick::identifyImage() |  |  |
Imagick::rollImage() | Imagick::getImageSize() |  |  |
Imagick::rotateImage() |  |  |  |
Imagick::sampleImage() |  |  |  |
Imagick::scaleImage() |  |  |  |
Imagick::separateImageChannel() |  |  |  |
Imagick::sepiaToneImage() |  |  |  |
Imagick::shadeImage() |  |  |  |
Imagick::shadowImage() |  |  |  |
Imagick::sharpenImage() |  |  |  |
Imagick::shaveImage() |  |  |  |
Imagick::shearImage() |  |  |  |
Imagick::sigmoidalContrastImage() |  |  |  |
Imagick::sketchImage() |  |  |  |
Imagick::solarizeImage() |  |  |  |
Imagick::spliceImage() |  |  |  |
Imagick::spreadImage() |  |  |  |
Imagick::steganoImage() |  |  |  |
Imagick::stereoImage() |  |  |  |
Imagick::stripImage() |  |  |  |
Imagick::swirlImage() |  |  |  |
Imagick::textureImage() |  |  |  |
Imagick::thresholdImage() |  |  |  |
Imagick::thumbnailImage() |  |  |  |
Imagick::tintImage() |  |  |  |
Imagick::transverseImage() |  |  |  |
Imagick::trimImage() |  |  |  |
Imagick::uniqueImageColors() |  |  |  |
Imagick::unsharpMaskImage() |  |  |  |
Imagick::vignetteImage() |  |  |  |
Imagick::waveImage() |  |  |  |
Imagick::whiteThresholdImage() |  |  |  |

Tabla de contenidos

  • Imagick::adaptiveBlurImage — Añade un filtro de borrosidad adaptativo a la imagen
  • Imagick::adaptiveResizeImage — Redimensiona una imagen adaptativamente con información dependiente de la triangulación
  • Imagick::adaptiveSharpenImage — Afila la imagen adaptativamente
  • Imagick::adaptiveThresholdImage — Selecciona un umbral para cada píxel basado en un rango de intensidad
  • Imagick::addImage — Añade una nueva imagen a la lista de imágenes del objeto Imagick
  • Imagick::addNoiseImage — Añade ruido aleatorio a la imagen
  • Imagick::affineTransformImage — Transforma una imagen
  • Imagick::animateImages — Anima una imagen o imágenes
  • Imagick::annotateImage — Anota una imagen con texto
  • Imagick::appendImages — Añade un conjunto de imágenes
  • Imagick::averageImages — Calcula la media de un conjunto de imágenes
  • Imagick::blackThresholdImage — Fuerza a todos los píxeles bajo un umbral a ser negros
  • Imagick::blurImage — Añade un filtro de borrosidad a la imagen
  • Imagick::borderImage — Rodea la imagen con un borde
  • Imagick::charcoalImage — Simula un dibujo a carboncillo
  • Imagick::chopImage — Borra una región de una imagen y la recorta
  • Imagick::clear — Borra todos los recursos asociados con un objeto Imagick
  • Imagick::clipImage — Recorta a lo largo del primer trazado desde un perfil 8BIM
  • Imagick::clipPathImage — Recorta a lo largo de trazados nominados desde un perfil 8BIM
  • Imagick::clone — Hace una copia exacta de un objeto Imagick
  • Imagick::clutImage — Reemplaza los colores de una imagen
  • Imagick::coalesceImages — Compone un conjunto de imágenes
  • Imagick::colorFloodfillImage — Cambia el valor del color de cualquier píxel que coincida con el objetivo
  • Imagick::colorizeImage — Mezcla el color de relleno con la imagen
  • Imagick::combineImages — Combina una o más imágenes en una sóla imagen
  • Imagick::commentImage — Añade un comentario a la imagen
  • Imagick::compareImageChannels — Devuelve la diferencia entre una o más imágenes
  • Imagick::compareImageLayers — Devuelve la región circundante máxima entre imágenes
  • Imagick::compareImages — Compara una imagen con una imagen reconstruida
  • Imagick::compositeImage — Compone una imagen en otra
  • Imagick::__construct — El constructor Imagick
  • Imagick::contrastImage — Cambia el contraste de una imagen
  • Imagick::contrastStretchImage — Mejora el contraste de una imagen en color
  • Imagick::convolveImage — Aplica una semilla de convolución a medida a la imagen
  • Imagick::cropImage — Extrae una región de la imagen
  • Imagick::cropThumbnailImage — Crea una miniatura recortada
  • Imagick::current — Devuelve una referencia del objeto Imagick actual
  • Imagick::cycleColormapImage — Desplaza el mapa de colores de una imagen
  • Imagick::decipherImage — Descifra una imagen
  • Imagick::deconstructImages — Devuelve ciertas diferencias de píxeles entre imágenes
  • Imagick::deleteImageArtifact — Borra un artefacto de imagen
  • Imagick::deskewImage — Elimina la torción de la imagen
  • Imagick::despeckleImage — Reduce el ruido granular de una imagen
  • Imagick::destroy — Destruye un objeto Imagick
  • Imagick::displayImage — Muestra una imagen
  • Imagick::displayImages — Muestra una imagen o una secuencia de imágenes
  • Imagick::distortImage — Deforma una imagen utilizando varios métodos de distorsión
  • Imagick::drawImage — Renderiza el objeto ImagickDraw a la imagen actual
  • Imagick::edgeImage — Mejora los bordes de la imagen
  • Imagick::embossImage — Devuelve una imagen en escala de grises con un efecto tridimensional
  • Imagick::encipherImage — Cifra una imagen
  • Imagick::enhanceImage — Mejora la calidad de una imagen con ruido
  • Imagick::equalizeImage — Ecualiza el histograma de la imagen
  • Imagick::evaluateImage — Aplica una expresión a una imagen
  • Imagick::exportImagePixels — Exporta píxeles de imagen en bruto
  • Imagick::extentImage — Establecer el tamaño de la imagen
  • Imagick::flattenImages — Fusiona una secuencia de imágenes
  • Imagick::flipImage — Crea una imagen espejo vertical
  • Imagick::floodFillPaintImage — Cambia el valor del color de cualquier píxel que coincida con el objetivo
  • Imagick::flopImage — Crea una imagen espejo horizontal
  • Imagick::frameImage — Añade un borde tridimensional simulado
  • Imagick::functionImage — Aplica una función a la imagen
  • Imagick::fxImage — Evalúa una expresión por cada píxel de la imagen
  • Imagick::gammaImage — Corrección gamma de una imagen
  • Imagick::gaussianBlurImage — Hace borrosa una imagen
  • Imagick::getColorspace — Obtiene el espacio de color
  • Imagick::getCompression — Obtiene el tipo de compresión del objeto
  • Imagick::getCompressionQuality — Obtiene la calidad de compresión del objeto
  • Imagick::getCopyright — Devuelve el copyright de la API ImageMagick como una cadena
  • Imagick::getFilename — El nombre de archivo asociado a una secuencia de imágenes
  • Imagick::getFont — Obtiene la fuente
  • Imagick::getFormat — Devuelve el formato de un objeto Imagick
  • Imagick::getGravity — Obtiene la gravedad
  • Imagick::getHomeURL — Devuelve la URL de inicio de ImageMagick
  • Imagick::getImage — Devuelve un nuevo objeto Imagick
  • Imagick::getImageAlphaChannel — Obtiene el canal alfa de una imagen
  • Imagick::getImageArtifact — Obtener el artefacto de imagen
  • Imagick::getImageBackgroundColor — Devuelve el color de fondo de la imagen
  • Imagick::getImageBlob — Devuelve la secuencia de imágenes como un valor de tipo blob
  • Imagick::getImageBluePrimary — Devuelve el punto primario azul de la cromaticidad
  • Imagick::getImageBorderColor — Devuelve el color del borde de la imagen
  • Imagick::getImageChannelDepth — Obtiene la profundidad de un canal de imagen en particular
  • Imagick::getImageChannelDistortion — Compara los canales de imagen de una imagen con una imagen reconstruida
  • Imagick::getImageChannelDistortions — Obtiene las distorsiones del canal
  • Imagick::getImageChannelExtrema — Obtiene los extremos de uno o más canales de imagen
  • Imagick::getImageChannelKurtosis — Obtiene la curtosis y la asimetría estadística de un canal específico
  • Imagick::getImageChannelMean — Obtiene la media y la desviación estándar
  • Imagick::getImageChannelRange — Obtiene el rango del canal
  • Imagick::getImageChannelStatistics — Devuelve las estadísticas de cada canal de la imagen
  • Imagick::getImageClipMask — Obtiene la máscara de recorte de la imagen
  • Imagick::getImageColormapColor — Devuelve el color del índice del mapa de colores especficado
  • Imagick::getImageColors — Obtiene el número de colores únicos de la imagen
  • Imagick::getImageColorspace — Obtiene el espacio de colores de la imagen
  • Imagick::getImageCompose — Devuelve el operador de composición asociado a la imagen
  • Imagick::getImageCompression — Obtiene el tipo de compresión de la imagen actual
  • Imagick::getImageCompressionQuality — Obtiene la calidad de compresión de la imagen actual
  • Imagick::getImageDelay — Obtiene el retraso de la imagen
  • Imagick::getImageDepth — Obtiene la profundidad de la imagen
  • Imagick::getImageDispose — Obtiene el método de disposición de la imagen
  • Imagick::getImageDistortion — Compara una imagen con una imagen reconstruida
  • Imagick::getImageExtrema — Obtiene los extremos de la imagen
  • Imagick::getImageFilename — Devuelve el nombre de archivo de una imagen en particular de una secuencia
  • Imagick::getImageFormat — Devuelve el formato de una imagen en particular de una secuencia
  • Imagick::getImageGamma — Obtiene el valor gamma de la imagen
  • Imagick::getImageGeometry — Obtiene el ancho y el alto como un array asociativo
  • Imagick::getImageGravity — Obtiene la gravedad de la imagen
  • Imagick::getImageGreenPrimary — Devuelve el punto primario verde de la cromaticidad
  • Imagick::getImageHeight — Devuelve el alto de la imagen
  • Imagick::getImageHistogram — Obtiene el histograma de la imagen
  • Imagick::getImageIndex — Obtiene el índice de la imagen activa actual
  • Imagick::getImageInterlaceScheme — Obtiene la combinación de entrelazado de la imagen
  • Imagick::getImageInterpolateMethod — Devuelve el método de interpolación
  • Imagick::getImageIterations — Obtiene las iteraciones de la imagen
  • Imagick::getImageLength — Devuelve la longitud de la imagen en bytes
  • Imagick::getImageMagickLicense — Devuelve un string que contiene la licencia de ImageMagick
  • Imagick::getImageMatte — Devuelve si la imagen tiene un canal mate
  • Imagick::getImageMatteColor — Devuelve el color mate de la imagen
  • Imagick::getImageOrientation — Obtiene la orientación de la imagen
  • Imagick::getImagePage — Devuelve la geometría de la página
  • Imagick::getImagePixelColor — Devuelve el color del píxel especificado
  • Imagick::getImageProfile — Devuelve el perfil nominado de la imagen
  • Imagick::getImageProfiles — Devuelve los perfiles de la imagen
  • Imagick::getImageProperties — Devuelve las propiedades de la imagen
  • Imagick::getImageProperty — Devuelve la propiedad nominada de la imagen
  • Imagick::getImageRedPrimary — Devuelve el punto primario rojo de la cromaticidad
  • Imagick::getImageRegion — Extrae una región de la imagen
  • Imagick::getImageRenderingIntent — Obtiene el propósito de renderización de la imagen
  • Imagick::getImageResolution — Obtiene la resolución X e Y de la imagen
  • Imagick::getImagesBlob — Devuelve todas las secuencias de imágenes como un blob
  • Imagick::getImageScene — Obtiene la escena de la imagen
  • Imagick::getImageSignature — Genera un resumen de un mensaje SHA-256
  • Imagick::getImageSize — Devuelve la longitud de la imagen en bytes
  • Imagick::getImageTicksPerSecond — Obtiene los pulsos por segundo de la imagen
  • Imagick::getImageTotalInkDensity — Obtiene la densidad de tinta total de la imagen
  • Imagick::getImageType — Obtiene el tipo de imagen potencial
  • Imagick::getImageUnits — Obtiene las unidades de resolución de la imagen
  • Imagick::getImageVirtualPixelMethod — Devuelve el método de píxel virtual
  • Imagick::getImageWhitePoint — Devuelve el punto blanco de la cromaticidad
  • Imagick::getImageWidth — Devuelve el ancho de la imagen
  • Imagick::getInterlaceScheme — Obtiene la combinación de entrelazado de un objeto
  • Imagick::getIteratorIndex — Obtiene el índice de la imagen activa actual
  • Imagick::getNumberImages — Devuelve el número de imágenes del objeto
  • Imagick::getOption — Devuelve un valor asociado con la clave especificada
  • Imagick::getPackageName — Devuelve el nombre del paquete de ImageMagick
  • Imagick::getPage — Devuelve la geometría de la página
  • Imagick::getPixelIterator — Devuelve un objeto MagickPixelIterator
  • Imagick::getPixelRegionIterator — Obtinene un objeto ImagickPixelIterator de una sección de imagen
  • Imagick::getPointSize — Obtiene el tamaño de punto
  • Imagick::getQuantumDepth — Obtiene la profundidad de la cuantía
  • Imagick::getQuantumRange — Devuelve el rango de cuantía de Imagick
  • Imagick::getReleaseDate — Devuelve la fecha de distribución de ImageMagick
  • Imagick::getResource — Devuelve el uso de memoria del recurso especificado
  • Imagick::getResourceLimit — Devuelve el límite del recurso especificado
  • Imagick::getSamplingFactors — Obtiene el factor de muestreo horizontal y vertical
  • Imagick::getSize — Devuelve el tamaño asociado con el objeto Imagick
  • Imagick::getSizeOffset — Devuelve el índice de tamaño
  • Imagick::getVersion — Devuelve la versión de la API ImageMagick
  • Imagick::haldClutImage — Reemplaza los colores de la imagen
  • Imagick::hasNextImage — Comprueba si el objeto tiene más imágenes
  • Imagick::hasPreviousImage — Verifica si el objeto tiene una imagen previa
  • Imagick::identifyImage — Identifica una imagen y obtiene sus atributos
  • Imagick::implodeImage — Crea una nueva imagen como una copia
  • Imagick::importImagePixels — Imoprta los píxeles de una imagen
  • Imagick::labelImage — Añade una etiqueta a una imagen
  • Imagick::levelImage — Ajusta los niveles de la imagen
  • Imagick::linearStretchImage — Estrecha con saturación la intensidad de la imagen
  • Imagick::liquidRescaleImage — Anima una imagen o imágenes
  • Imagick::magnifyImage — Escala una imagen x2 proporcionalmente
  • Imagick::mapImage — Reemplaza los colores de una imagen con el color más cercano de una imagen de referencia
  • Imagick::matteFloodfillImage — Cambia el valor de transparencia de un color
  • Imagick::medianFilterImage — Aplica un filtro digital
  • Imagick::mergeImageLayers — Fusiona las capas de una imagen
  • Imagick::minifyImage — Escala una imagen proporcionalmente a la mitad de su tamaño
  • Imagick::modulateImage — Controla el brillo, la saturación y el tono
  • Imagick::montageImage — Crea una imagen compuesta
  • Imagick::morphImages — Metamorfosea un conjunto de imágenes
  • Imagick::mosaicImages — Forma un mosaico de imágenes
  • Imagick::motionBlurImage — Simula borrosidad en movimiento
  • Imagick::negateImage — Invierte los colores en la imagen de referencia
  • Imagick::newImage — Crea una nueva imagen
  • Imagick::newPseudoImage — Crea una nueva imagen
  • Imagick::nextImage — Se mueve a la siguiente imagen
  • Imagick::normalizeImage — Mejora el contraste de una imagen a color
  • Imagick::oilPaintImage — Simula una pintura al óleo
  • Imagick::opaquePaintImage — Cambia el color de cualquier píxel que coincida con el objetivo
  • Imagick::optimizeImageLayers — Elimina porciones repetidas de imágenes para optimizarlas
  • Imagick::orderedPosterizeImage — Realiza un entramado ordenado
  • Imagick::paintFloodfillImage — Cambia el valor del color de cualquier píxel que coincida con el objetivo
  • Imagick::paintOpaqueImage — Cambia cualquier píxel que coincida con el color
  • Imagick::paintTransparentImage — Cambia cualquier píxel que coincida con el color definido para el relleno
  • Imagick::pingImage — Trae los atributos básicos de una imagen
  • Imagick::pingImageBlob — Traer los atributos rápidamente
  • Imagick::pingImageFile — Obtener los atrbutos básicos de la imagen de una manera liviana
  • Imagick::polaroidImage — Simula una fotografía Polaroid
  • Imagick::posterizeImage — Reduce la imagen a un número limitado de niveles de color
  • Imagick::previewImages — Precisa rápidamente los parámetros apropiados para el procesamiento de la imagen
  • Imagick::previousImage — Se mueve a la imagen previa del objeto
  • Imagick::profileImage — Añade o elimina un perfil de una imagen
  • Imagick::quantizeImage — Analiza los colores dentro de una imagen de referencia
  • Imagick::quantizeImages — Analiza los colores dentro de una secuencia de imágenes
  • Imagick::queryFontMetrics — Devuelve una matriz que representa las métricas de la fuente
  • Imagick::queryFonts — Devuelve las fuentes configuradas
  • Imagick::queryFormats — Devuelve los formatos soportados por Imagick
  • Imagick::radialBlurImage — Hace borrosa de forma radial una imagen
  • Imagick::raiseImage — Crea un efecto de botón en 3D simulado
  • Imagick::randomThresholdImage — Crea una imagen de alto contraste y dos colores
  • Imagick::readImage — Lee una imagen desde un nombre de fichero
  • Imagick::readImageBlob — Lee una imagen desde un string binario
  • Imagick::readImageFile — Lee una imagen desde un gestor de fichero abierto
  • Imagick::recolorImage — Re-colorea una imagen
  • Imagick::reduceNoiseImage — Suaviza los contornos de una imagen
  • Imagick::remapImage — Re-mapea los colores de una imagen
  • Imagick::removeImage — Quita una imagen de la lista de imágenes
  • Imagick::removeImageProfile — Elimina el perfil nominado de la imagen y lo devuelve
  • Imagick::render — Renderiza todos los comandos de dibujo precedentes
  • Imagick::resampleImage — Re-muestrea la imagen a la resolución deseada
  • Imagick::resetImagePage — Reinicia una página de imagen
  • Imagick::resizeImage — Escala una imagen
  • Imagick::rollImage — Compensa una imagen
  • Imagick::rotateImage — Rota una imagen
  • Imagick::roundCorners — Redondea las esquinas de una imagen
  • Imagick::sampleImage — Escala una imagen con un muestreo de píxeles
  • Imagick::scaleImage — Escala el tamaño de una imagen
  • Imagick::segmentImage — Segmenta una imagen
  • Imagick::separateImageChannel — Separa un canal de la imagen
  • Imagick::sepiaToneImage — Pone una imagen en tono sepia
  • Imagick::setBackgroundColor — Establece el color de fondo por omisión del objeto
  • Imagick::setColorspace — Establecer el espacio de color
  • Imagick::setCompression — Establece el tipo de compresión predeterminado del objeto
  • Imagick::setCompressionQuality — Establece la calidad de compresión predeterminda del objeto
  • Imagick::setFilename — Establece el nombre de archivo antes de que se lea o escriba una imagen
  • Imagick::setFirstIterator — Establece el iterador Imagick para la primera imagen
  • Imagick::setFont — Establece la fuente
  • Imagick::setFormat — Establece el formato del objeto Imagick
  • Imagick::setGravity — Establece la gravedad
  • Imagick::setImage — Reemplaza una imagen en el objeto
  • Imagick::setImageAlphaChannel — Establece el canal alfa de la imagen
  • Imagick::setImageArtifact — Establecer un artefacto de imagen
  • Imagick::setImageBackgroundColor — Establece el color de fondo de la imagen
  • Imagick::setImageBias — Establece el sesgo de la imagen para cualquier método que convolucione una imagen
  • Imagick::setImageBluePrimary — Establece el punto primario azul de la cromaticidad de la imagen
  • Imagick::setImageBorderColor — Establece el color de borde de la imagen
  • Imagick::setImageChannelDepth — Establece la profundidad de una canal de imagen en particular
  • Imagick::setImageClipMask — Establece la máscara de recorte de una imagen
  • Imagick::setImageColormapColor — Establece el color de un índice de mapa de color especificado
  • Imagick::setImageColorspace — Establece el espacio de color de una imagen
  • Imagick::setImageCompose — Establece el operador de composción de una imagen
  • Imagick::setImageCompression — Establece la compresión de una imagen
  • Imagick::setImageCompressionQuality — Establece la calidad de compresión de una imagen
  • Imagick::setImageDelay — Establece el retardo de una imagen
  • Imagick::setImageDepth — Establece la profundidad de una imagen
  • Imagick::setImageDispose — Establece el método de disposición de una imagen
  • Imagick::setImageExtent — Establece el tamaño de una imagen
  • Imagick::setImageFilename — Establece el nombre de archivo de una imagen en particular
  • Imagick::setImageFormat — Establece el formato de una imagen en particular
  • Imagick::setImageGamma — Establece el valor gamma de la imagen
  • Imagick::setImageGravity — Establece la gravedad de la imagen
  • Imagick::setImageGreenPrimary — Establece el punto primario verde de la cromaticidad de la imagen
  • Imagick::setImageIndex — Establece la posición del iterador
  • Imagick::setImageInterlaceScheme — Establece la compresión de la imagen
  • Imagick::setImageInterpolateMethod — Establece el método de interpolación de píxeles
  • Imagick::setImageIterations — Establece las iteraciones de una imagen
  • Imagick::setImageMatte — Establece el canal mate de la imagen
  • Imagick::setImageMatteColor — Establece el color mate de la imagen
  • Imagick::setImageOpacity — Establece el nivel de opacidad de la imagen
  • Imagick::setImageOrientation — Establece la orientación de la imagen
  • Imagick::setImagePage — Establece la geometría de la página de la imagen
  • Imagick::setImageProfile — Añade un perfil nominado al objeto Imagick
  • Imagick::setImageProperty — Establece una propiedad de la imagen
  • Imagick::setImageRedPrimary — Establece el punto primario rojo de la cromaticidad de la imagen
  • Imagick::setImageRenderingIntent — Establece el propósito de renderización de la imagen
  • Imagick::setImageResolution — Establece la resolución de la imagen
  • Imagick::setImageScene — Establece la escena de la imagen
  • Imagick::setImageTicksPerSecond — Establece los ticks por segundo de la imagen
  • Imagick::setImageType — Establece el tipo de imagen
  • Imagick::setImageUnits — Establece las unidades de resolución de la imagen
  • Imagick::setImageVirtualPixelMethod — Establece el método de píxel virtual de la imagen
  • Imagick::setImageWhitePoint — Establece el punto blanco de cromaticidad de la imagen
  • Imagick::setInterlaceScheme — Establece la compresión de la imagen
  • Imagick::setIteratorIndex — Establece la posición del iterador
  • Imagick::setLastIterator — Establece el iterador de Imagick a la última imagen
  • Imagick::setOption — Establece una opción
  • Imagick::setPage — Establece la geometría de página del objeto Imagick
  • Imagick::setPointSize — Establece el tamaño del punto
  • Imagick::setResolution — Establece la resolución de la imagen
  • Imagick::setResourceLimit — Establece el límite de un recurso en particular en megabytes
  • Imagick::setSamplingFactors — Establece los factores de muestreo de la imagen
  • Imagick::setSize — Establece el tamaño del objeto Imagick
  • Imagick::setSizeOffset — Establece el tamaño y el índice del objeto Imagick
  • Imagick::setType — Establece el atributo tipo de imagen
  • Imagick::shadeImage — Crea un efecto en 3D
  • Imagick::shadowImage — Simula una sombra de imagen
  • Imagick::sharpenImage — Afila una imagen
  • Imagick::shaveImage — Recorta píxeles de los extremos de la imagen
  • Imagick::shearImage — Crea un paralelogramo
  • Imagick::sigmoidalContrastImage — Ajusta el contraste de una imagen
  • Imagick::sketchImage — Simula el bosquejo de un lapiz
  • Imagick::solarizeImage — Aplica un efecto de solarización a la imagen
  • Imagick::sparseColorImage — Interpola colores
  • Imagick::spliceImage — Une un color sólido en la imagen
  • Imagick::spreadImage — Despalza aleatoriamente cada píxel en un bloque
  • Imagick::steganoImage — Oculta una marca de agua digital dentro de la imagen
  • Imagick::stereoImage — Compone dos imágenes
  • Imagick::stripImage — Elimina todos los perfiles y comentarios de una imagen
  • Imagick::swirlImage — Arremolina los píxeles desde el centro de la imagen
  • Imagick::textureImage — Reviste repetidamente la textura de la imagen
  • Imagick::thresholdImage — Cambia el valor de píexeles individuales basdos en un umbral
  • Imagick::thumbnailImage — Cambia el tamaño de una imagen
  • Imagick::tintImage — Aplica un vector de color a cada píxel en la imagen
  • Imagick::transformImage — Método conveniente para establecer el tamaño del recorte y la geometría de la imagen
  • Imagick::transparentPaintImage — Pinta píxeles transparentes
  • Imagick::transposeImage — Crea una imagen espejo vertical
  • Imagick::transverseImage — Crea una imagen espejo horizontal
  • Imagick::trimImage — Elimina los extremos de la imagen
  • Imagick::uniqueImageColors — Desecha todos los colores de los píxeles excepto uno
  • Imagick::unsharpMaskImage — Afila una imagen
  • Imagick::valid — Comprueba si el elemento actual es válido
  • Imagick::vignetteImage — Añade un filtro de viñeta a la imagen
  • Imagick::waveImage — Aplica un filtro de onda a la imagen
  • Imagick::whiteThresholdImage — Fuerza a todos los píxeles por encima del umbral a ser blancos
  • Imagick::writeImage — Escribe una imagen al nombre de fichero especificado
  • Imagick::writeImageFile — Escribe una imagen a un gestor de archivo
  • Imagick::writeImages — Escribe una imagen o secuencia de imágenes
  • Imagick::writeImagesFile — Escribe fotogramas al gestor de archivo
Uso básico
Imagick::adaptiveBlurImage
ImageMagick


Añade un filtro de borrosidad adaptativo a la imagen

Imagick
Imagick::adaptiveResizeImage
Imagick
PHP Manual

Imagick::adaptiveBlurImage

(PECL imagick 2.0.0)

Imagick::adaptiveBlurImage — Añade un filtro de borrosidad adaptativo a la imagen

Descripción

bool Imagick::adaptiveBlurImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Añade un filtro de borrosidad adaptativo a la imagen. La intensidad de una borrosidad adaptativa depende de si se disminuye dramáticamente en el borde de la imagen, mientras que una borrodidad estándar es uniforme en toda la imagen. Este método está disponible si Imagick ha sido compilado con la versión 6.2.9 (o superior) de ImageMagick.

Parámetros

radius

El radio gaussiano, en píxeles, sin contar el píxel central. Proporcione un valor de 0 y el radio será elegido auto-mágicaente.

sigma

La desviación estándar gaussiana, en píxeles.

channel

Proporciona cualquier contante de canal que sea válida para su modo de canal. Para aplicarlo a más de un canal, combine constantes de canal using bitwise operadores bit a bit. El valor por defecto para Imagick::CHANNEL_DEFAULT. Referirse a esta lista de constantes de canal

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Ejemplos

Ejemplo #1 Usar Imagick::adaptiveBlurImage():

Aplicar borrosidad adaptativa a una imagen, después mostrarla en el navegador.

<?php

header('Content-type: image/jpeg');

$imagen = new Imagick('test.jpg');

$imagen->adaptiveBlurImage(5,3);
echo $imagen;

?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : Usar Imagick::adaptiveBlurImage()

Ver también

  • Imagick::blurImage() - Añade un filtro de borrosidad a la imagen
  • Imagick::motionBlurImage() - Simula borrosidad en movimiento
  • Imagick::radialBlurImage() - Hace borrosa de forma radial una imagen

Imagick
Imagick::adaptiveResizeImage
Imagick


Redimensiona una imagen adaptativamente con información dependiente de la triangulación

Imagick::adaptiveBlurImage
Imagick::adaptiveSharpenImage
Imagick
PHP Manual

Imagick::adaptiveResizeImage

(PECL imagick 2.0.0)

Imagick::adaptiveResizeImage — Redimensiona una imagen adaptativamente con información dependiente de la triangulación

Descripción

bool Imagick::adaptiveResizeImage ( int $columns , int $rows [, bool $bestfit = false ] )

Redimensiona una imagen adaptativamente con información dependiente de la triangulación. Evita la borrosidad a través de cambios de color bruscos. Muy útil cuando se usa para encoger ligeramente imágenes a un "tamaño web" ligeramente más pequeño; puede que no tenga una buena apariencia cuando una imagen a tamaño completo se redimensiona adaptativamente a una miniatura. Este método está disponible si Imagick ha sido compilado con la versión 6.2.9 (o superior) de ImageMagick.

Nota: La conducta del parámetro bestfit cambió en Imagick 3.0.0. Antes de esta versión dar la dimensión de 400x400 a una imagen de 200x150 debería no tener efecto. En Imagick 3.0.0 y superiores la imagen sería llevada al tamaño de 400x300 ya que este es el "mejor ajuste" para las dimensiones dadas. Si el parámetro bestfit es utilizado, se debe indicar tanto el ancho como el alto.

Parámetros

columns

El número de columnas en la imagen escalada.

rows

El número de filas en la imagen escalada.

bestfit

Si ajustar la imagen dentro de una caja limitada.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Historial de cambios

Versión | Descripción
2.1.0 | Añadido el parámetro opcional de ajuste.
2.1.0 | Este método ahora soporta escalas proporcionales. Pase cero como parámetro para escalar proporcionalmente.

Ejemplos

Ejemplo #1 Usar Imagick::adaptiveResizeImage()

Redimensiona una imagen al tamaño estándar para la web. Este método trabaja mejor cuando se redimensiona a un tamaño sólo ligeramente menor que el tamaño de la imagen previa.

<?php
header('Content-type: image/jpeg');

$imagen = new Imagick('image.jpg');
$image->adaptiveResizeImage(1024,768);

echo $imagen;
?>

Ver también

  • Imagick::chopImage() - Borra una región de una imagen y la recorta
  • Imagick::cropImage() - Extrae una región de la imagen
  • Imagick::magnifyImage() - Escala una imagen x2 proporcionalmente
  • Imagick::minifyImage() - Escala una imagen proporcionalmente a la mitad de su tamaño
  • Imagick::resizeImage() - Escala una imagen
  • Imagick::scaleImage() - Escala el tamaño de una imagen
  • Imagick::shaveImage() - Recorta píxeles de los extremos de la imagen
  • Imagick::thumbnailImage() - Cambia el tamaño de una imagen
  • Imagick::trimImage() - Elimina los extremos de la imagen

Imagick::adaptiveBlurImage
Imagick::adaptiveSharpenImage
Imagick


Afila la imagen adaptativamente

Imagick::adaptiveResizeImage
Imagick::adaptiveThresholdImage
Imagick
PHP Manual

Imagick::adaptiveSharpenImage

(PECL imagick 2.0.0)

Imagick::adaptiveSharpenImage — Afila la imagen adaptativamente

Descripción

bool Imagick::adaptiveSharpenImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Afila la imagen adaptativamente afilando con más intensidad cerca de los bordes de la imagen y con menos intensidad lejos de los bordes. Este método está disponible si Imagick ha sido compilado con la versión 6.2.9 (o superior) de ImageMagick.

Parámetros

radius

El radio gaussiano, en píxeles, sin contar el píxel central. Use 0 para autoseleccionar.

sigma

La desviación estándar gaussiana, en píxeles.

channel

Proporciona cualquier contante de canal que sea válida para su modo de canal. Para aplicarlo a más de un canal, combine constantes de canal using bitwise operadores bit a bit. El valor por defecto para Imagick::CHANNEL_DEFAULT. Referirse a esta lista de constantes de canal

Valores devueltos

Devuelve TRUE en caso de éxito.

Ejemplos

Ejemplo #1 Un ejemplo de Imagick::adaptiveSharpenImage()

Afilar la imagen adaptativamente con radio 2 y sigma 1.

<?php
try {
    $imagen = new Imagick('image.png');
    $imagen->adaptiveSharpenImage(2,1);
} catch(ImagickException $e) {
    echo 'Error: ' , $e->getMessage();
    die();
}
header('Content-type: image/png');
echo $imagen;
?>

Ver también

  • Imagick::sharpenImage() - Afila una imagen

Imagick::adaptiveResizeImage
Imagick::adaptiveThresholdImage
Imagick


Selecciona un umbral para cada píxel basado en un rango de intensidad

Imagick::adaptiveSharpenImage
Imagick::addImage
Imagick
PHP Manual

Imagick::adaptiveThresholdImage

(PECL imagick 2.0.0)

Imagick::adaptiveThresholdImage — Selecciona un umbral para cada píxel basado en un rango de intensidad

Descripción

bool Imagick::adaptiveThresholdImage ( int $width , int $height , int $offset )

Selecciona un umbral individual para cada píxel basado en un rango de valores de intensidad en su zona local. Esto permite establecer el umbral de una imagen cuyo histograma de intensidad global no contiene picos distintivos.

Parámetros

width

Ancho de la zona local.

height

Alto de la zona local.

offset

El índice medio

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::adaptiveSharpenImage
Imagick::addImage
Imagick


Añade una nueva imagen a la lista de imágenes del objeto Imagick

Imagick::adaptiveThresholdImage
Imagick::addNoiseImage
Imagick
PHP Manual

Imagick::addImage

(PECL imagick 2.0.0)

Imagick::addImage — Añade una nueva imagen a la lista de imágenes del objeto Imagick

Descripción

bool Imagick::addImage ( Imagick $source )

Añade una nueva imagen al objeto Imagick desde la posición actual del objeto de origen. Después de la operación la posición del iterador se mueve al final de la lista.

Parámetros

source

El objeto Imagick de origen

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::adaptiveThresholdImage
Imagick::addNoiseImage
Imagick


Añade ruido aleatorio a la imagen

Imagick::addImage
Imagick::affineTransformImage
Imagick
PHP Manual

Imagick::addNoiseImage

(PECL imagick 2.0.0)

Imagick::addNoiseImage — Añade ruido aleatorio a la imagen

Descripción

bool Imagick::addNoiseImage ( int $noise_type [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Añade ruido aleatorio a la imagen.

Parámetros

noise_type

El tipo de ruido. Consulte esta lista de constantes de ruido.

channel

Proporciona cualquier contante de canal que sea válida para su modo de canal. Para aplicarlo a más de un canal, combine constantes de canal using bitwise operadores bit a bit. El valor por defecto para Imagick::CHANNEL_DEFAULT. Referirse a esta lista de constantes de canal

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::addImage
Imagick::affineTransformImage
Imagick


Transforma una imagen

Imagick::addNoiseImage
Imagick::animateImages
Imagick
PHP Manual

Imagick::affineTransformImage

(PECL imagick 2.0.0)

Imagick::affineTransformImage — Transforma una imagen

Descripción

bool Imagick::affineTransformImage ( ImagickDraw $matrix )

Transforma una imagen como está establecido en la matriz afín.

Parámetros

matrix

La matriz afín

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::addNoiseImage
Imagick::animateImages
Imagick


Anima una imagen o imágenes

Imagick::affineTransformImage
Imagick::annotateImage
Imagick
PHP Manual

Imagick::animateImages

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::animateImages — Anima una imagen o imágenes

Descripción

bool Imagick::animateImages ( string $x_server )

Este método anima la imagen en un servidor X local o remoto. Este método no está disponible en Windows. Este método está disponible si Imagick ha sido compilado con la versión 6.3.6 (o superior) de ImageMagick.

Parámetros

x_server

La dirección del servidor X

Valores devueltos

Devuelve TRUE en caso de éxito.

Ver también

  • Imagick::displayImage() - Muestra una imagen

Imagick::affineTransformImage
Imagick::annotateImage
Imagick


Anota una imagen con texto

Imagick::animateImages
Imagick::appendImages
Imagick
PHP Manual

Imagick::annotateImage

(PECL imagick 2.0.0)

Imagick::annotateImage — Anota una imagen con texto

Descripción

bool Imagick::annotateImage ( ImagickDraw $draw_settings , float $x , float $y , float $angle , string $text )

Anota una imagen con texto.

Parámetros

draw_settings

El objeto ImagickDraw que contiene la configuración para el dibujo de texto

x

El índice horizontal en píxeles a la izquierda del texto

y

El índice vertical en píxeles de la línea base del texto

angle

El ángulo en el que se escribe el texto

text

La cadena a dibujar

Valores devueltos

Devuelve TRUE en caso de éxito.

Ejemplos

Ejemplo #1 Usar Imagick::annotateImage():

Anotar texto en una imagen vacía

<?php
/* Crear algunos objetos */
$imagen = new Imagick();
$dibujo = new ImagickDraw();
$píxel = new ImagickPixel( 'gray' );

/* Nueva imagen */
$imagen->newImage(800, 75, $píxel);

/* Texto negro */
$dibujo->setColor('black');

/* Propiedades de la fuente */
$dibujo->setFont('Bookman-DemiItalic');
$dibujo->setFontSize( 30 );

/* Crear texto */
$imagen->annotateImage($dibujo, 10, 45, 0, 'The quick brown fox jumps over the lazy dog');

/* Dar a la imagen un formato */
$imagen->setImageFormat('png');

/* Imprimir la imagen con cabeceras */
header('Content-type: image/png');
echo $imagen;

?>

Ver también

  • ImagickDraw::annotation() - Dibuja texto en la imagen
  • ImagickDraw::setFont() - Establece la fuente especificada completamente para usarla cuando se escribe texto

Imagick::animateImages
Imagick::appendImages
Imagick


Añade un conjunto de imágenes

Imagick::annotateImage
Imagick::averageImages
Imagick
PHP Manual

Imagick::appendImages

(PECL imagick 2.0.0)

Imagick::appendImages — Añade un conjunto de imágenes

Descripción

Imagick Imagick::appendImages ( bool $stack = false )

Añade un conjunto de imágenes en una imagen más grande.

Parámetros

stack

Para apilar las imágenes verticalmente. Por defecto (o si FALSE se especifica) las imágenes se apilan de izquierda a derecha. Si stack es TRUE, las imágenes se apilan de arriba hacia abajo.

Valores devueltos

Devuelve una instancia Imagick si se tuvo éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de Imagick::appendImages()

<?php

/* Crear un nuevo objeto Imagick */
$im = new Imagick();

/* Crear imágenes de color rojo, verde y azul */
$im->newImage(100, 50, "red");
$im->newImage(100, 50, "green");
$im->newImage(100, 50, "blue");

/* Añadir las imágenes en una sola */
$im->resetIterator();
$combined = $im->appendImages(true);

/* Imprimir la imagen */
$combined->setImageFormat("png");
header("Content-Type: image/png");
echo $combined;
?>

El resultado del ejemplo sería algo similar a:

Salida de ejemplo : Imagick::appendImages()

Imagick::annotateImage
Imagick::averageImages
Imagick


Calcula la media de un conjunto de imágenes

Imagick::appendImages
Imagick::blackThresholdImage
Imagick
PHP Manual

Imagick::averageImages

(PECL imagick 2.0.0)

Imagick::averageImages — Calcula la media de un conjunto de imágenes

Descripción

Imagick Imagick::averageImages ( void )

Calcula la media de un conjunto de imágenes.

Valores devueltos

Devuelve un nuevo objeto Imagick si se tuvo éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::appendImages
Imagick::blackThresholdImage
Imagick


Fuerza a todos los píxeles bajo un umbral a ser negros

Imagick::averageImages
Imagick::blurImage
Imagick
PHP Manual

Imagick::blackThresholdImage

(PECL imagick 2.0.0)

Imagick::blackThresholdImage — Fuerza a todos los píxeles bajo un umbral a ser negros

Descripción

bool Imagick::blackThresholdImage ( mixed $threshold )

Es como Imagick::thresholdImage() pero fuerza a todos los píxeles bajo un umbral a ser negros mientras deja todos los píxeles por encima del umbral sin cambios.

Parámetros

threshold

El umbral por debajo del cual todo se vuelve de color negro

Valores devueltos

Devuelve TRUE en caso de éxito.

Historial de cambios

Versión | Descripción
2.1.0 | Ahora se permite que una cadena represente el color como un parámetro. Versiones anteriores sólo permitían un objeto ImagickPixel.

Imagick::averageImages
Imagick::blurImage
Imagick


Añade un filtro de borrosidad a la imagen

Imagick::blackThresholdImage
Imagick::borderImage
Imagick
PHP Manual

Imagick::blurImage

(PECL imagick 2.0.0)

Imagick::blurImage — Añade un filtro de borrosidad a la imagen

Descripción

bool Imagick::blurImage ( float $radius , float $sigma [, int $channel ] )

Añade un filtro de borrosidad a la imagen. El tercer parámetro opcional es para hacer borroso un canal específico.

Parámetros

radius

Radio de la borrosidad

sigma

Desviación estándar

channel

La constante Channeltype. Cuando no es proporciona, todos los canales se hacen borrosos.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Ejemplos

Ejemplo #1 Usar Imagick::blurImage():

Hacer borrosa una imagen, después mostrarla en el navegador.

<?php

header('Content-type: image/jpeg');

$imagen = new Imagick('prueba.jpg');

$imagen->blurImage(5,3);
echo $imagen;

?>

Ver también

  • Imagick::adaptiveBlurImage() - Añade un filtro de borrosidad adaptativo a la imagen
  • Imagick::motionBlurImage() - Simula borrosidad en movimiento
  • Imagick::radialBlurImage() - Hace borrosa de forma radial una imagen

Imagick::blackThresholdImage
Imagick::borderImage
Imagick


Rodea la imagen con un borde

Imagick::blurImage
Imagick::charcoalImage
Imagick
PHP Manual

Imagick::borderImage

(PECL imagick 2.0.0)

Imagick::borderImage — Rodea la imagen con un borde

Descripción

bool Imagick::borderImage ( mixed $bordercolor , int $width , int $height )

Rodea la imagen con un borde del color definido por el objeto ImagickPixel de color de borde.

Parámetros

bordercolor

Objeto ImagickPixel o una cadena que contiene el color del borde

width

Ancho del borde

height

Alto del borde

Valores devueltos

Devuelve TRUE en caso de éxito.

Historial de cambios

Versión | Descripción
2.1.0 | Ahora se permite que una cadena represente el color como el primer parámetro. Versiones anteriores sólo permitían un objeto ImagickPixel.

Imagick::blurImage
Imagick::charcoalImage
Imagick


Simula un dibujo a carboncillo

Imagick::borderImage
Imagick::chopImage
Imagick
PHP Manual

Imagick::charcoalImage

(PECL imagick 2.0.0)

Imagick::charcoalImage — Simula un dibujo a carboncillo

Descripción

bool Imagick::charcoalImage ( float $radius , float $sigma )

Simula un dibujo a carboncillo.

Parámetros

radius

El radio gaussiano, en píxeles, sin contar el píxel central

sigma

La desviación estándar gaussiana, en píxeles

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::borderImage
Imagick::chopImage
Imagick


Borra una región de una imagen y la recorta

Imagick::charcoalImage
Imagick::clear
Imagick
PHP Manual

Imagick::chopImage

(PECL imagick 2.0.0)

Imagick::chopImage — Borra una región de una imagen y la recorta

Descripción

bool Imagick::chopImage ( int $width , int $height , int $x , int $y )

Borra una región de una imagen y colapsa la imagen para ocupar la porción borrada.

Parámetros

width

Ancho del área cortada

height

Alto del área cortada

x

El punto de referencia X del área cortada

y

El punto de referencia Y del área cortada

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Ejemplos

Ejemplo #1 Usar Imagick::chopImage():

Ejemplo de uso de Imagick::chopImage

<?php
/* Crear algunos objetos */
$imagen = new Imagick();
$píxel = new ImagickPixel( 'gray' );

/* Nueva imagen */
$imagen->newImage(400, 200, $píxel);

/* Cortar imagen */
$imagen->chopImage(200, 200, 0, 0);

/* Dar un formato a la imagen */
$imagen->setImageFormat('png');

/* Imprimir la imagen con cabeceras */
header('Content-type: image/png');
echo $imagen;

?>

Ver también

  • Imagick::cropImage() - Extrae una región de la imagen

Imagick::charcoalImage
Imagick::clear
Imagick


Borra todos los recursos asociados con un objeto Imagick

Imagick::chopImage
Imagick::clipImage
Imagick
PHP Manual

Imagick::clear

(PECL imagick 2.0.0)

Imagick::clear — Borra todos los recursos asociados con un objeto Imagick

Descripción

bool Imagick::clear ( void )

Borra todos los recursos asociados con un objeto Imagick.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::chopImage
Imagick::clipImage
Imagick


Recorta a lo largo del primer trazado desde un perfil 8BIM

Imagick::clear
Imagick::clipPathImage
Imagick
PHP Manual

Imagick::clipImage

(PECL imagick 2.0.0)

Imagick::clipImage — Recorta a lo largo del primer trazado desde un perfil 8BIM

Descripción

bool Imagick::clipImage ( void )

Recorta a lo largo del primer trazado desde un perfil 8BIM, si está presente.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::clear
Imagick::clipPathImage
Imagick


Recorta a lo largo de trazados nominados desde un perfil 8BIM

Imagick::clipImage
Imagick::clone
Imagick
PHP Manual

Imagick::clipPathImage

(PECL imagick 2.0.0)

Imagick::clipPathImage — Recorta a lo largo de trazados nominados desde un perfil 8BIM

Descripción

bool Imagick::clipPathImage ( string $pathname , bool $inside )

Recorta a lo largo de trazados nominados desde un perfil 8BIM, si está presente. Las operaiones posteriores toman efecto dentro del trazado. Puede ser un número si está precedido de #, para trabajar con un trazado numerado, p.ej., "#1" para usar el primer trazado.

Parámetros

pathname

El nombre del trazado

inside

Si es TRUE las operaciones posteriores toman efecto dentro del patrón de recorte. De otro modo, las operaciones toman efecto fuera del patrón de recorte.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::clipImage
Imagick::clone
Imagick


Hace una copia exacta de un objeto Imagick

Imagick::clipPathImage
Imagick::clutImage
Imagick
PHP Manual

Imagick::clone

(PECL imagick 2.0.0)

Imagick::clone — Hace una copia exacta de un objeto Imagick

Descripción

Imagick Imagick::clone ( void )

Hace una copia exacta de un objeto Imagick.

Advertencia

Esta función ha sido declarada OBSOLETA a partir de imagick 3.1.0 en favor del uso de la palabra clave clone.

Ejemplos

Ejemplo #1 Clonación de un objeto Imagick en diferentes versiones de imagick

<?php
// Clonar un objeto Imagick en imagick 2.x y 3.0:
$newImage = $image->clone();

// Clonar un objeto Imagick desde 3.1.0 en adelante:
$newImage = clone $image;
?>

Valores devueltos

Se devuelve una copia de del objeto Imagick.

Historial de cambios

Versión | Descripción
3.1.0 | El método está obsoleto en favor de la palabra clave clone.

Imagick::clipPathImage
Imagick::clutImage
Imagick


Reemplaza los colores de una imagen

Imagick::clone
Imagick::coalesceImages
Imagick
PHP Manual

Imagick::clutImage

(PECL imagick 2.0.0)

Imagick::clutImage — Reemplaza los colores de una imagen

Descripción

bool Imagick::clutImage ( Imagick $lookup_table [, float $channel = Imagick::CHANNEL_DEFAULT ] )

Reemplaza los colores en una imagen con una paleta de colores. El segundo parámetro opcional reemplaza los colores de un canal específico. Este método está disponible si Imagick ha sido compilado con la versión 6.3.6 (o superior) de ImageMagick.

Parámetros

lookup_table

Objeto Imagick que contiene la paleta de colores

channel

La constante Channeltype. Cuando no se proporciona, los canales predeterminados se reemplazan.

Valores devueltos

Devuelve TRUE en caso de éxito.

Ejemplos

Ejemplo #1 Usar Imagick::clutImage():

Reemplzar los colores de una imagen desde una paleta de colores.

<?php
$imagen = new Imagick('test.jpg');
$clut = new Imagick();
$clut->newImage(1, 1, new ImagickPixel('black'));
$imagen->clutImage($clut);
$imagen->writeImage('test_out.jpg');
?>

Ver también

  • Imagick::adaptiveBlurImage() - Añade un filtro de borrosidad adaptativo a la imagen
  • Imagick::motionBlurImage() - Simula borrosidad en movimiento
  • Imagick::radialBlurImage() - Hace borrosa de forma radial una imagen

Imagick::clone
Imagick::coalesceImages
Imagick


Compone un conjunto de imágenes

Imagick::clutImage
Imagick::colorFloodfillImage
Imagick
PHP Manual

Imagick::coalesceImages

(PECL imagick 2.0.0)

Imagick::coalesceImages — Compone un conjunto de imágenes

Descripción

Imagick Imagick::coalesceImages ( void )

Compone un conjunto de imágenes mientras se respeten indices de página y métodos de disposición. Las secuencias de animación GIF, MIFF, y MNG normalmente comienzan con un fondo de imagen y cada imagen subsiguiente varía en tamaño e índice. Devuelve un nuevo objeto Imagick donde cada imagen de la secuencia es del mismo tamaño que la primera y compuesta con la siguiente imagen de la secuencia.

Valores devueltos

Devuelve un nuevo objeto Imagick en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::clutImage
Imagick::colorFloodfillImage
Imagick


Cambia el valor del color de cualquier píxel que coincida con el objetivo

Imagick::coalesceImages
Imagick::colorizeImage
Imagick
PHP Manual

Imagick::colorFloodfillImage

(PECL imagick 2.0.0)

Imagick::colorFloodfillImage — Cambia el valor del color de cualquier píxel que coincida con el objetivo

Descripción

bool Imagick::colorFloodfillImage ( mixed $fill , float $fuzz , mixed $bordercolor , int $x , int $y )

Cambia el valor del color de cualquier píxel que coincida con el objetivo y esté en el área inmediata.

Parámetros

fill

Objeto ImagickPixel que contiene el color de relleno

fuzz

La cantidad de enfoque. Por ejemplo, establecer el enfoque a 10 y el color a rojo con una intensidad de 100 y 102 respectivamente ahora se interpreta como el mismo color para los propósitos del relleno.

bordercolor

Objeto ImagickPixel que contiene el color de borde

x

Posición X del inicio del relleno

y

Posición Y del inicio del relleno

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Historial de cambios

Versión | Descripción
2.1.0 | Ahora se permite que una cadena represente el color como el primer y tercer parámetros. Versiones anteriores sólo permitían un objeto ImagickPixel.

Imagick::coalesceImages
Imagick::colorizeImage
Imagick


Mezcla el color de relleno con la imagen

Imagick::colorFloodfillImage
Imagick::combineImages
Imagick
PHP Manual

Imagick::colorizeImage

(PECL imagick 2.0.0)

Imagick::colorizeImage — Mezcla el color de relleno con la imagen

Descripción

bool Imagick::colorizeImage ( mixed $colorize , mixed $opacity )

Mezcla el color de relleno de cada píxel con la imagen.

Parámetros

colorize

Objeto ImagickPixel o una cadena que contiene el color

opacity

Objeto ImagickPixel o un valor float que contiene el valor de la opacidad. 1.0 es completamente opaco y 0.0 es completamente transparente.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Historial de cambios

Versión | Descripción
2.1.0 | Ahora se permite que una cadena represente el color como el primer parámetro y que un valor float represente el valor de la opacidad como el segundo parámetro. Versiones anteriores sólo permitían objetos ImagickPixel.

Imagick::colorFloodfillImage
Imagick::combineImages
Imagick


Combina una o más imágenes en una sóla imagen

Imagick::colorizeImage
Imagick::commentImage
Imagick
PHP Manual

Imagick::combineImages

(PECL imagick 2.0.0)

Imagick::combineImages — Combina una o más imágenes en una sóla imagen

Descripción

Imagick Imagick::combineImages ( int $channelType )

Combina una o más imágenes en una sóla imagen. El valor de la escala de grises de los píxeles de cada imagen en la secuencia se asigna para especificar los canales de la imagen combinada. El orden típico sería imagen 1 => Red, 2 => Green, 3 => Blue, etc.

Parámetros

channelType

Proporcione cualquier constante de canal que sea válida para su modo de canal. Para aplicar más de un canal, combine las constantes channeltype usando operadores a nivel de bits. Consulte esta lista de constantes de canal.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::colorizeImage
Imagick::commentImage
Imagick


Añade un comentario a la imagen

Imagick::combineImages
Imagick::compareImageChannels
Imagick
PHP Manual

Imagick::commentImage

(PECL imagick 2.0.0)

Imagick::commentImage — Añade un comentario a la imagen

Descripción

bool Imagick::commentImage ( string $comment )

Añade un comentario a la imagen.

Parámetros

comment

El comentario a añadir

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Ejemplos

Ejemplo #1 Usar Imagick::commentImage():

Comentar una imagen y recuperar el comentario:

<?php

/* Crear un nuevo objeto Imagick */
$im = new imagick();

/* Crear una imagen vacía */
$im->newImage(100, 100, new ImagickPixel("red"));

/* Añadir el comentario a la imagen */
$im->commentImage("¡Hola Mundo!");

/* Mostrar el comentario */
echo $im->getImageProperty("comment");

?>

Imagick::combineImages
Imagick::compareImageChannels
Imagick


Devuelve la diferencia entre una o más imágenes

Imagick::commentImage
Imagick::compareImageLayers
Imagick
PHP Manual

Imagick::compareImageChannels

(PECL imagick 2.0.0)

Imagick::compareImageChannels — Devuelve la diferencia entre una o más imágenes

Descripción

array Imagick::compareImageChannels ( Imagick $image , int $channelType , int $metricType )

Compara una o más imágenes y devuelve la imagen de diferencia.

Parámetros

image

Un objeto Imagick que contiene la imagen a comparar.

channelType

Proporcione cualquier constante de canal que sea válida para el modo de canal. Para aplicar más de un canal, combine las constantes channeltype usando operadores a nivel de bits. Consulte esta lista de constantes de canal.

metricType

Una de las constantes de tipos de métrica.

Valores devueltos

Array que consiste en new_wand y distortion.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::commentImage
Imagick::compareImageLayers
Imagick


Devuelve la región circundante máxima entre imágenes

Imagick::compareImageChannels
Imagick::compareImages
Imagick
PHP Manual

Imagick::compareImageLayers

(PECL imagick 2.0.0)

Imagick::compareImageLayers — Devuelve la región circundante máxima entre imágenes

Descripción

Imagick Imagick::compareImageLayers ( int $method )

Compara cada imagen con la siguiente en una secuencia y devuelve la región circundante máxima de cualesquiera deferencias de píxeles que se descubra. Este método está disponible si Imagick ha sido compilado con la versión 6.2.9 (o superior) de ImageMagick.

Parámetros

method

Una de las constantes de método de capas.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Ejemplos

Ejemplo #1 Usar Imagick::compareImageLayers()

Comparar las capas de la imagen

<?php
/* crear un nuevo objeto imagick */
$im = new Imagick("test.gif");

/* optimizar las capas de la imagen */
$resultado = $im->compareImageLayers(imagick::LAYERMETHOD_COALESCE);

/* trabajar sobre el $resultado */
?>

Ver también

  • Imagick::optimizeImageLayers() - Elimina porciones repetidas de imágenes para optimizarlas
  • Imagick::writeImages() - Escribe una imagen o secuencia de imágenes
  • Imagick::writeImage() - Escribe una imagen al nombre de fichero especificado

Imagick::compareImageChannels
Imagick::compareImages
Imagick


Compara una imagen con una imagen reconstruida

Imagick::compareImageLayers
Imagick::compositeImage
Imagick
PHP Manual

Imagick::compareImages

(PECL imagick 2.0.0)

Imagick::compareImages — Compara una imagen con una imagen reconstruida

Descripción

array Imagick::compareImages ( Imagick $compare , int $metric )

Devuelve una matriz que contiene una imagen reconstruida y las diferencias entre las imágenes.

Parámetros

compare

Un imagen a comparar.

metric

Proporcione una constante de tipo de métrica válida. Consulte esta lista de constantes métricas.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Ejemplos

Ejemplo #1 Usar Imagick::compareImages():

Comparar imágenes y mostrar la imagen reconstruida

<?php

$imagen1 = new imagick("imagen1.png");
$imagen1 = new imagick("imagen1.png");

$resultado = $imagen1->compareImages($imagen1, Imagick::METRIC_MEANSQUAREERROR);
$resultado[0]->setImageFormat("png");

header("Content-Type: image/png");
echo $resultado[0];

?>

Imagick::compareImageLayers
Imagick::compositeImage
Imagick


Compone una imagen en otra

Imagick::compareImages
Imagick::__construct
Imagick
PHP Manual

Imagick::compositeImage

(PECL imagick 2.0.0)

Imagick::compositeImage — Compone una imagen en otra

Descripción

bool Imagick::compositeImage ( Imagick $composite_object , int $composite , int $x , int $y [, int $channel = Imagick::CHANNEL_ALL ] )

Compone una imagen en otra en el índice especificado.

Parámetros

composite_object

Objeto Imagick que guarda la imagen compuesta

compose

Operador de composición. Véase Constantes de Operadores de Composición

x

El índice de la columna de la imagen compuesta

y

El índice de la fila de la imagen compuesta

channel

Proporcione cualquier constante de canal que sea válida para su modo de canal. Para aplicar más de un canal, combine las constantes channeltype usando operadores a nivel de bits. Consulte esta lista de constantes de canal.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::compareImages
Imagick::__construct
Imagick


El constructor Imagick

Imagick::compositeImage
Imagick::contrastImage
Imagick
PHP Manual

Imagick::__construct

(PECL imagick 2.0.0)

Imagick::__construct — El constructor Imagick

Descripción

Imagick::__construct ( mixed $files )

Crea una instancia de Imagick para una imagen o conjunto de imágenes especificos.

Parámetros

files

La ruta de una imagen a cargar o un array de rutas. Las rutas pueden incluir comodines para nombres de ficheros, o pueden ser URLs.

Valores devueltos

Devuelve un nuevo objeto Imagick si se tuvo éxtio.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::compositeImage
Imagick::contrastImage
Imagick


Cambia el contraste de una imagen

Imagick::__construct
Imagick::contrastStretchImage
Imagick
PHP Manual

Imagick::contrastImage

(PECL imagick 2.0.0)

Imagick::contrastImage — Cambia el contraste de una imagen

Descripción

bool Imagick::contrastImage ( bool $sharpen )

Mejora la diferencias de intensidad entre elementos claros y oscuros de la imagen. Establezca la agudización a un valor que no sea 0 para aumentar el contraste de la imagen, de otro modo el contraste se reduce.

Parámetros

sharpen

El valor de la agudización

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::__construct
Imagick::contrastStretchImage
Imagick


Mejora el contraste de una imagen en color

Imagick::contrastImage
Imagick::convolveImage
Imagick
PHP Manual

Imagick::contrastStretchImage

(PECL imagick 2.0.0)

Imagick::contrastStretchImage — Mejora el contraste de una imagen en color

Descripción

bool Imagick::contrastStretchImage ( float $black_point , float $white_point [, int $channel = Imagick::CHANNEL_ALL ] )

Mejora el contraste de una imagen en color ajustando los colores de los píxeles de color para abarcar el rango completo de los colores disponibles. Este método está disponible si Imagick ha sido compilado con la versión 6.2.9 (o superior) de ImageMagick.

Parámetros

black_point

El punto blanco.

white_point

El punto negro.

channel

Proporcione cualquier constante de canal que sea válida para su modo de canal. Para aplicar más de un canal, combine las constantes channeltype usando operadores a nivel de bits. Imagick::CHANNEL_ALL. Consulte esta lista de constantes de canal.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::contrastImage
Imagick::convolveImage
Imagick


Aplica una semilla de convolución a medida a la imagen

Imagick::contrastStretchImage
Imagick::cropImage
Imagick
PHP Manual

Imagick::convolveImage

(PECL imagick 2.0.0)

Imagick::convolveImage — Aplica una semilla de convolución a medida a la imagen

Descripción

bool Imagick::convolveImage ( array $kernel [, int $channel = Imagick::CHANNEL_ALL ] )

Aplica una semilla de convolución a medida a la imagen.

Parámetros

kernel

La semilla de convolución

channel

Proporcione cualquier constante de canal que sea válida para su modo de canal. Para aplicar más de un canal, combine las constantes channeltype usando operadores a nivel de bits. Consulte esta lista de constantes de canal.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::contrastStretchImage
Imagick::cropImage
Imagick


Extrae una región de la imagen

Imagick::convolveImage
Imagick::cropThumbnailImage
Imagick
PHP Manual

Imagick::cropImage

(PECL imagick 2.0.0)

Imagick::cropImage — Extrae una región de la imagen

Descripción

bool Imagick::cropImage ( int $width , int $height , int $x , int $y )

Extrae una región de la imagen.

Parámetros

width

El ancho del recorte

height

El alto del recorte

x

La coordenada X de la esquina superior izquierda de la región recortada

y

La coordenada Y de la esquina superior izquierda de la región recortada

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::convolveImage
Imagick::cropThumbnailImage
Imagick


Crea una miniatura recortada

Imagick::cropImage
Imagick::current
Imagick
PHP Manual

Imagick::cropThumbnailImage

(PECL imagick 2.0.0)

Imagick::cropThumbnailImage — Crea una miniatura recortada

Descripción

bool Imagick::cropThumbnailImage ( int $width , int $height )

Crea una miniatura de tamaño fijo ampliando o reduciendo de escala la imagen y recortando un área específica desde el centro.

Parámetros

width

El ancho de la miniatura

height

El alto de la miniatura

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::cropImage
Imagick::current
Imagick


Devuelve una referencia del objeto Imagick actual

Imagick::cropThumbnailImage
Imagick::cycleColormapImage
Imagick
PHP Manual

Imagick::current

(PECL imagick 2.0.0)

Imagick::current — Devuelve una referencia del objeto Imagick actual

Descripción

Imagick Imagick::current ( void )

Devuelve una referencia del objeto Imagick actual con el puntero de imagen en la secuencia correcta.

Valores devueltos

Se devuelve a sí mismo si tuvo éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::cropThumbnailImage
Imagick::cycleColormapImage
Imagick


Desplaza el mapa de colores de una imagen

Imagick::current
Imagick::decipherImage
Imagick
PHP Manual

Imagick::cycleColormapImage

(PECL imagick 2.0.0)

Imagick::cycleColormapImage — Desplaza el mapa de colores de una imagen

Descripción

bool Imagick::cycleColormapImage ( int $displace )

Desplaza el mapa de colores de una imagen por el número de posiciones dados. Si se realiza un ciclo del mapa de colores varias veces se puede obtener un efecto psicodélico.

Parámetros

displace

La cantidad de desplazamiento del mapa de colores.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::current
Imagick::decipherImage
Imagick


Descifra una imagen

Imagick::cycleColormapImage
Imagick::deconstructImages
Imagick
PHP Manual

Imagick::decipherImage

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::decipherImage — Descifra una imagen

Descripción

bool Imagick::decipherImage ( string $passphrase )

Descifra una imagen que ha sido cifrada anteriormente. La iamgen debe ser cifrada usando Imagick::encipherImage(). Este método está disponible si Imagick ha sido compilado con la versión 6.3.9 (o superior) de ImageMagick.

Parámetros

passphrase

La frase de contraseña

Valores devueltos

Devuelve TRUE en caso de éxito.

Ver también

  • Imagick::encipherImage() - Cifra una imagen

Imagick::cycleColormapImage
Imagick::deconstructImages
Imagick


Devuelve ciertas diferencias de píxeles entre imágenes

Imagick::decipherImage
Imagick::deleteImageArtifact
Imagick
PHP Manual

Imagick::deconstructImages

(PECL imagick 2.0.0)

Imagick::deconstructImages — Devuelve ciertas diferencias de píxeles entre imágenes

Descripción

Imagick Imagick::deconstructImages ( void )

Compara cada imagen con la siguiente en una secuencia y devuelve la región circundante máxima de cualquier diferencia de píxeles que se descubra.

Valores devueltos

Devuelve un nuevo objeto Imagick si se tuvo éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::decipherImage
Imagick::deleteImageArtifact
Imagick


Borra un artefacto de imagen

Imagick::deconstructImages
Imagick::deskewImage
Imagick
PHP Manual

Imagick::deleteImageArtifact

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::deleteImageArtifact — Borra un artefacto de imagen

Descripción

bool Imagick::deleteImageArtifact ( string $artifact )

Borra un artefacto asociado con la imagen. La diferencia entre las propiedades de imagen y los artefactos de imagen es que las propiedades son públicas y los artefactos son privados. Este método está disponible si Imagick ha sido compilado con la versión 6.5.7 (o superior) de ImageMagick.

Parámetros

artifact

El nombre del artefacto a borrar.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Ver también

  • Imagick::setImageArtifact() - Establecer un artefacto de imagen
  • Imagick::getImageArtifact() - Obtener el artefacto de imagen

Imagick::deconstructImages
Imagick::deskewImage
Imagick


Elimina la torción de la imagen

Imagick::deleteImageArtifact
Imagick::despeckleImage
Imagick
PHP Manual

Imagick::deskewImage

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::deskewImage — Elimina la torción de la imagen

Descripción

public bool Imagick::deskewImage ( float $threshold )

Eeste método se puede usar para eliminar la torción de, por ejemplo, imágenes escaneadas donde el papel no estaba debidamente colocado en la superfice del escáner. Este método está disponible si Imagick ha sido compilado con la versión 6.4.5 (o superior) de ImageMagick.

Parámetros

threshold

Umbral de detorción

Valores devueltos

Imagick::deleteImageArtifact
Imagick::despeckleImage
Imagick


Reduce el ruido granular de una imagen

Imagick::deskewImage
Imagick::destroy
Imagick
PHP Manual

Imagick::despeckleImage

(PECL imagick 2.0.0)

Imagick::despeckleImage — Reduce el ruido granular de una imagen

Descripción

bool Imagick::despeckleImage ( void )

Reduce el ruido granular de una imagen mientras preserva los bordes de la imagen original.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::deskewImage
Imagick::destroy
Imagick


Destruye un objeto Imagick

Imagick::despeckleImage
Imagick::displayImage
Imagick
PHP Manual

Imagick::destroy

(PECL imagick 2.0.0)

Imagick::destroy — Destruye un objeto Imagick

Descripción

bool Imagick::destroy ( void )

Destruye el objeto Imagick y libera todos los recursos asociados a él. Este método está obsoleto en favor de Imagick::clear.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::despeckleImage
Imagick::displayImage
Imagick


Muestra una imagen

Imagick::destroy
Imagick::displayImages
Imagick
PHP Manual

Imagick::displayImage

(PECL imagick 2.0.0)

Imagick::displayImage — Muestra una imagen

Descripción

bool Imagick::displayImage ( string $servername )

Este método muestra una imagen en un servidor X.

Parámetros

servername

El nombre del servidor X

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::destroy
Imagick::displayImages
Imagick


Muestra una imagen o una secuencia de imágenes

Imagick::displayImage
Imagick::distortImage
Imagick
PHP Manual

Imagick::displayImages

(PECL imagick 2.0.0)

Imagick::displayImages — Muestra una imagen o una secuencia de imágenes

Descripción

bool Imagick::displayImages ( string $servername )

Muestra una imagen o una secuencia de imágenes en un servidor X.

Parámetros

servername

El nombre del servidor X

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::displayImage
Imagick::distortImage
Imagick


Deforma una imagen utilizando varios métodos de distorsión

Imagick::displayImages
Imagick::drawImage
Imagick
PHP Manual

Imagick::distortImage

(PECL imagick 2.0.1)

Imagick::distortImage — Deforma una imagen utilizando varios métodos de distorsión

Descripción

bool Imagick::distortImage ( int $method , array $arguments , bool $bestfit )

Deforma una imagen utilizando varios métodos de distorsión, mapeando la paleta de colores de la imagen de origen a una nueva imagen destino normalmente del mismo tamaño que la imagen de origen, a menos que 'bestfit' esté establecido a TRUE.

Si 'bestfit' está habilitado, y la distorsión lo permite, la imagen destino se ajusta para asegurarse de que la 'imagen' de origen entera se ajustará dentro de la imagen destino final, la cuál será redimensionada e compensada acordemente. También, en la mayoría de los casos el índice virtual de la imagen de origen será tomado en cuenta en el mapeado.

Este método está disponible si Imagick ha sido compilado con la versión 6.3.6 (o superior) de ImageMagick.

Parámetros

method

El método de distorsión de la imagen. Véase constantes de distorsión

arguments

Los argumentos para este método de distorsión

bestfit

Intenta redimensionar la imagen destino para ajustarse a la imagen de origen deformada

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Ejemplos

Ejemplo #1 Usar Imagick::distortImage():

Deformar una imagen y mostrarla en el navegador.

<?php
/* Crear un nuevo objeto */
$im = new Imagick();

/* Crear un nuevo patrón de tablero de ajedrez */
$im->newPseudoImage(100, 100, "pattern:checkerboard");

/* Esteblecer el formato de la imagen a png */
$im->setImageFormat('png');

/* Rellenar las nuevas áreas visibles con transparente */
$im->setImageVirtualPixelMethod(Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);

/* Activar el mate */
$im->setImageMatte(true);

/* Puntos de control para la distorsión */
$puntosControl = array( 10, 10,
                        10, 5,

                        10, $im->getImageHeight() - 20,
                        10, $im->getImageHeight() - 5,

                        $im->getImageWidth() - 10, 10,
                        $im->getImageWidth() - 10, 20,

                        $im->getImageWidth() - 10, $im->getImageHeight() - 10,
                        $im->getImageWidth() - 10, $im->getImageHeight() - 30);

/* Realizar la distorsión */
$im->distortImage(Imagick::DISTORTION_PERSPECTIVE, $puntosControl, true);

/* Imprimir la imagen */
header("Content-Type: image/png");
echo $im;
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : Using Imagick::distortImage()

Ver también

  • Imagick::blurImage() - Añade un filtro de borrosidad a la imagen
  • Imagick::motionBlurImage() - Simula borrosidad en movimiento
  • Imagick::radialBlurImage() - Hace borrosa de forma radial una imagen

Imagick::displayImages
Imagick::drawImage
Imagick


Renderiza el objeto ImagickDraw a la imagen actual

Imagick::distortImage
Imagick::edgeImage
Imagick
PHP Manual

Imagick::drawImage

(PECL imagick 2.0.0)

Imagick::drawImage — Renderiza el objeto ImagickDraw a la imagen actual

Descripción

bool Imagick::drawImage ( ImagickDraw $draw )

Renderiza el objeto ImagickDraw a la imagen actual.

Parámetros

draw

Las operaciones de dibujo para renderizar a la imagen.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::distortImage
Imagick::edgeImage
Imagick


Mejora los bordes de la imagen

Imagick::drawImage
Imagick::embossImage
Imagick
PHP Manual

Imagick::edgeImage

(PECL imagick 2.0.0)

Imagick::edgeImage — Mejora los bordes de la imagen

Descripción

bool Imagick::edgeImage ( float $radius )

Mejora los bordes de la imagen con un filtro de convolución del radio dado. Use un radio de 0 y éste será autoseleccionado.

Parámetros

radius

El radio de la operación.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::drawImage
Imagick::embossImage
Imagick


Devuelve una imagen en escala de grises con un efecto tridimensional

Imagick::edgeImage
Imagick::encipherImage
Imagick
PHP Manual

Imagick::embossImage

(PECL imagick 2.0.0)

Imagick::embossImage — Devuelve una imagen en escala de grises con un efecto tridimensional

Descripción

bool Imagick::embossImage ( float $radius , float $sigma )

Devuelve una imagen en escala de grises con un efecto tridimensional. Se convoluciona la imagen con un operador gaussiano del radio y desviación estándar (sigma) dados. Para obtener resultados razonables, el radio debería ser mayor que sigma. Use un radio de 0 y se elegirá un radio apropiado automáticamente.

Parámetros

radius

El radio de el efecto

sigma

El valor sigma del efecto

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::edgeImage
Imagick::encipherImage
Imagick


Cifra una imagen

Imagick::embossImage
Imagick::enhanceImage
Imagick
PHP Manual

Imagick::encipherImage

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::encipherImage — Cifra una imagen

Descripción

bool Imagick::encipherImage ( string $passphrase )

Covierte los píxeles planos en píxeles cifrados. La imagen no es legible hasta que haya sido descifrada usando Imagick::decipherImage() Este método está disponible si Imagick ha sido compilado con la versión 6.3.9 (o superior) de ImageMagick.

Parámetros

passphrase

La frase de contraseña

Valores devueltos

Devuelve TRUE en caso de éxito.

Ver también

  • Imagick::decipherImage() - Descifra una imagen

Imagick::embossImage
Imagick::enhanceImage
Imagick


Mejora la calidad de una imagen con ruido

Imagick::encipherImage
Imagick::equalizeImage
Imagick
PHP Manual

Imagick::enhanceImage

(PECL imagick 2.0.0)

Imagick::enhanceImage — Mejora la calidad de una imagen con ruido

Descripción

bool Imagick::enhanceImage ( void )

Aplica un filtro digital que mejora la calidad de una imagen con ruido.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::encipherImage
Imagick::equalizeImage
Imagick


Ecualiza el histograma de la imagen

Imagick::enhanceImage
Imagick::evaluateImage
Imagick
PHP Manual

Imagick::equalizeImage

(PECL imagick 2.0.0)

Imagick::equalizeImage — Ecualiza el histograma de la imagen

Descripción

bool Imagick::equalizeImage ( void )

Ecualiza el histograma de la imagen.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::enhanceImage
Imagick::evaluateImage
Imagick


Aplica una expresión a una imagen

Imagick::equalizeImage
Imagick::exportImagePixels
Imagick
PHP Manual

Imagick::evaluateImage

(PECL imagick 2.0.0)

Imagick::evaluateImage — Aplica una expresión a una imagen

Descripción

bool Imagick::evaluateImage ( int $op , float $constant [, int $channel = Imagick::CHANNEL_ALL ] )

Aplica una expresión aritmética, relacional, o lógica a una imagen. Use estos operadores para aclarar u oscurecer una imagen, para aumentar o disminuir el contraste de una imagen, o para producir el "negativo" de una imagen.

Parámetros

op

La evaluación del operador

constant

El valor del operador

channel

Proporcione cualquier constante de canal que sea válida para su modo de canal. Para aplicar más de un canal, combine las constantes channeltype usando operadores a nivel de bits. Consulte esta lista de constantes de canal.

Ejemplos

Ejemplo #1 Usando Imagick::evaluateImage()

Usando evaluateImage para reducir la opacidad de una imagen.

<?php
// Crea un nuevo objecto con la imagen
$im = new Imagick('example-alpha.png');

// Reduce el alfa en un 50%
$im->evaluateImage(Imagick::EVALUATE_DIVIDE, 2, Imagick::CHANNEL_ALPHA);

// Muestra la imagen
header("Content-Type: image/png");
echo $im;
?>

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::equalizeImage
Imagick::exportImagePixels
Imagick


Exporta píxeles de imagen en bruto

Imagick::evaluateImage
Imagick::extentImage
Imagick
PHP Manual

Imagick::exportImagePixels

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::exportImagePixels — Exporta píxeles de imagen en bruto

Descripción

public array Imagick::exportImagePixels ( int $x , int $y , int $width , int $height , string $map , int $STORAGE )

Exporta píxeles de imagen en bruto a una matriz. El mapa define el orden de los píxeles exportados. El tamaño de la matriz devuelta es ancho * alto * strlen(mapa). Este método está disponible si Imagick ha sido compilado con la versión 6.4.7 (o superior) de ImageMagick.

Parámetros

x

Coordenada X del área exportada

y

Coordenada Y del área exportada

width

Ancho del área exportada

height

Alto del área exportada

map

Orden de los píxeles exportados. Por ejemplo "RGB". Los caracteres válidos para el mapa son R, G, B, A, O, C, Y, M, K, I y P.

STORAGE

Consulte esta lista de constantes de tipo de píxeles

Ejemplos

Ejemplo #1 Usar Imagick::exportImagePixels()

Exportar los píxeles de una imagen a una matriz

<?php

/* Crear un nuevo objeto */
$im = new Imagick();

/* Crear una nueva imagen */
$im->newPseudoImage(0, 0, "magick:rose");

/* Exportar los píxeles de la imagen */
$píxeles = $im->exportImagePixels(10, 10, 2, 2, "RGB", Imagick::PIXEL_CHAR);

/* Imprimir */
var_dump($píxeles);
?>

El resultado del ejemplo sería:

array(12) {
  [0]=>
  int(72)
  [1]=>
  int(64)
  [2]=>
  int(57)
  [3]=>
  int(69)
  [4]=>
  int(59)
  [5]=>
  int(43)
  [6]=>
  int(124)
  [7]=>
  int(120)
  [8]=>
  int(-96)
  [9]=>
  int(91)
  [10]=>
  int(84)
  [11]=>
  int(111)
}

Valores devueltos

Devuelve una matriz que contiene los valores de los píxeles.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::evaluateImage
Imagick::extentImage
Imagick


Establecer el tamaño de la imagen

Imagick::exportImagePixels
Imagick::flattenImages
Imagick
PHP Manual

Imagick::extentImage

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::extentImage — Establecer el tamaño de la imagen

Descripción

bool Imagick::extentImage ( int $width , int $height , int $x , int $y )

Método cómodo para establecer el tamaño de una imagen. El método establece el tamaño de la imagen y permite ajustar las coordenadas x,y donde comienza el nuevo área. Este método está disponible si Imagick ha sido compilado con la versión 6.3.1 (o superior) de ImageMagick.

Parámetros

width

El nuevo ancho

height

El nuevo alto

x

Posición X para el nuevo tamaño

y

Posición Y para el nuevo tamaño

Valores devueltos

Devuelve TRUE en caso de éxito.

Ver también

  • Imagick::resizeImage() - Escala una imagen
  • Imagick::thumbnailImage() - Cambia el tamaño de una imagen
  • Imagick::cropImage() - Extrae una región de la imagen

Imagick::exportImagePixels
Imagick::flattenImages
Imagick


Fusiona una secuencia de imágenes

Imagick::extentImage
Imagick::flipImage
Imagick
PHP Manual

Imagick::flattenImages

(PECL imagick 2.0.0)

Imagick::flattenImages — Fusiona una secuencia de imágenes

Descripción

Imagick Imagick::flattenImages ( void )

Fusiona una secuencia de imágenes. Esto es útil para combinar capas de Photoshop en una sóla imagen.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::extentImage
Imagick::flipImage
Imagick


Crea una imagen espejo vertical

Imagick::flattenImages
Imagick::floodFillPaintImage
Imagick
PHP Manual

Imagick::flipImage

(PECL imagick 2.0.0)

Imagick::flipImage — Crea una imagen espejo vertical

Descripción

bool Imagick::flipImage ( void )

Crea una imagen espejo vertical reflejando los píxeles alrededor del eje x central.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::flattenImages
Imagick::floodFillPaintImage
Imagick


Cambia el valor del color de cualquier píxel que coincida con el objetivo

Imagick::flipImage
Imagick::flopImage
Imagick
PHP Manual

Imagick::floodFillPaintImage

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::floodFillPaintImage — Cambia el valor del color de cualquier píxel que coincida con el objetivo

Descripción

bool Imagick::floodFillPaintImage ( mixed $fill , float $fuzz , mixed $target , int $x , int $y , bool $invert [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Cambia el valor del color de cualquier píxel que coincida con el objetivo y esté en el área inmediata. Este método es un sustituto del método obsoleto Imagick::paintFloodFillImage(). Este método está disponible si Imagick ha sido compilado con la versión 6.3.8 (o superior) de ImageMagick.

Parámetros

fill

Objeto ImagickPixel o una cadena que contiene el color de relleno

fuzz

La cantidad de difusión. Por ejemplo, setee fuzz a 10 y el color rojo a intensidades de 100 y 102 respectivamente son ahora interpretados como el mismo color.

target

Objeto ImagickPixel o una cadena que contiene el color objetivo a dibujar

x

Posición X del inicio del relleno

y

Posición Y del inicio del relleno

invert

Si es TRUE se pinta cualquier píxel que no coincida con el color objetivo.

channel

Proporciona cualquier contante de canal que sea válida para su modo de canal. Para aplicarlo a más de un canal, combine constantes de canal using bitwise operadores bit a bit. El valor por defecto para Imagick::CHANNEL_DEFAULT. Referirse a esta lista de constantes de canal

Valores devueltos

Devuelve TRUE en caso de éxito.

Ejemplos

Ejemplo #1 Ejemplo de Imagick::floodfillPaintImage()

<?php

/* Crear un nuevo objeto imagick */
$im = new Imagick();

/* Crear imágenes de color rojo, verde y azul */
$im->newImage(100, 50, "red");
$im->newImage(100, 50, "green");
$im->newImage(100, 50, "blue");

/* Añadir las imágenes para que sean una */
$im->resetIterator();
$combinado = $im->appendImages(true);

/* Guardar la imagen intermedia para la comparación */
$combinado->writeImage("floodfillpaint_intermedia.png");

/* El píxel objetivo a pintar */
$x = 1;
$y = 1;

/* Obtener el color con el que vamos a pintar */
$objetivo = $combinado->getImagePixelColor($x, $y);

/* Pinta el píxel en la posición 1,1 negro y todos los píxeles
   cercanos que coincidan con el color objetivo */
$combinado->floodfillPaintImage("black", 1, $objetivo, $x, $y, false);

/* Guardar el resultado */
$combinado->writeImage("floodfillpaint_resultado.png");
?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : Imagick::floodfillPaintImage()
Salida del ejemplo : Imagick::floodfillPaintImage()

Imagick::flipImage
Imagick::flopImage
Imagick


Crea una imagen espejo horizontal

Imagick::floodFillPaintImage
Imagick::frameImage
Imagick
PHP Manual

Imagick::flopImage

(PECL imagick 2.0.0)

Imagick::flopImage — Crea una imagen espejo horizontal

Descripción

bool Imagick::flopImage ( void )

Crea una imagen espejo horizontal reflejando los píxeles alrededor del eje y central.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::floodFillPaintImage
Imagick::frameImage
Imagick


Añade un borde tridimensional simulado

Imagick::flopImage
Imagick::functionImage
Imagick
PHP Manual

Imagick::frameImage

(PECL imagick 2.0.0)

Imagick::frameImage — Añade un borde tridimensional simulado

Descripción

bool Imagick::frameImage ( mixed $matte_color , int $width , int $height , int $inner_bevel , int $outer_bevel )

Añade un borde tridimensional simulado alrededor de la imagen. El ancho y alto especifican el ancho del borde de las caras verticales y horizontales del marco. Los biseles interior y exterior indican el ancho de las sombras interiores y exteriores del marco.

Parámetros

matte_color

Objeto ImagickPixel o una cadena que representa el color mate

width

El ancho del borde

height

El alto del borde

inner_bevel

El ancho del bisel interior

outer_bevel

El ancho del bisel exterior

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Historial de cambios

Versión | Descripción
2.1.0 | Ahora se permite que una cadena represente el color como el primer parámetro. Versiones anteriores sólo permitían un objeto ImagickPixel.

Imagick::flopImage
Imagick::functionImage
Imagick


Aplica una función a la imagen

Imagick::frameImage
Imagick::fxImage
Imagick
PHP Manual

Imagick::functionImage

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::functionImage — Aplica una función a la imagen

Descripción

public bool Imagick::functionImage ( int $function , array $arguments [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Aplica una expresión aritmética, relacional, o lógica a una imagen. Use estos operadores para crear versiones más claras u oscuras de una imagen, para aumentar o disminuir el contraste de un imagen, o para invertir los colores de la imagen. Este método está disponible si Imagick ha sido compilado con la versión 6.4.9 (o superior) de ImageMagick.

Parámetros

function

Consulte esta lista de constantes de función

arguments

Matriz de argumentos a pasar a esta función.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::frameImage
Imagick::fxImage
Imagick


Evalúa una expresión por cada píxel de la imagen

Imagick::functionImage
Imagick::gammaImage
Imagick
PHP Manual

Imagick::fxImage

(PECL imagick 2.0.0)

Imagick::fxImage — Evalúa una expresión por cada píxel de la imagen

Descripción

Imagick Imagick::fxImage ( string $expression [, int $channel = Imagick::CHANNEL_ALL ] )

Evalúa una expresión por cada píxel de la imagen. Consulte » El Operador de Imagen de Efectos Especiales Fx para más información.

Parámetros

expression

La expresión.

channel

Proporcione cualquier constante de canal que sea válida para su modo de canal. Para aplicar más de un canal, combine las constantes channeltype usando operadores a nivel de bits. Consulte esta lista de constantes de canal.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::functionImage
Imagick::gammaImage
Imagick


Corrección gamma de una imagen

Imagick::fxImage
Imagick::gaussianBlurImage
Imagick
PHP Manual

Imagick::gammaImage

(PECL imagick 2.0.0)

Imagick::gammaImage — Corrección gamma de una imagen

Descripción

bool Imagick::gammaImage ( float $gamma [, int $channel = Imagick::CHANNEL_ALL ] )

Corrección gamma de una imagen. La misma imagen vista en diferentes dispositivos tendrá diferencias perceptuales en la manera en que la intensidad de la imagen esté representada en la pantalla. Especifique niveles gamma indivuduales para los canales rojo, verde y azul, o ajústelos todos con el parámetro gamma. El rango de valores es típicamente desde 0.8 a 2.3.

Parámetros

gamma

La cantidad de corrección gamma.

channel

Proporcione cualquier constante de canal que sea válida para su modo de canal. Para aplicar más de un canal, combine las constantes channeltype usando operadores a nivel de bits. Consulte esta lista de constantes de canal.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::fxImage
Imagick::gaussianBlurImage
Imagick


Hace borrosa una imagen

Imagick::gammaImage
Imagick::getColorspace
Imagick
PHP Manual

Imagick::gaussianBlurImage

(PECL imagick 2.0.0)

Imagick::gaussianBlurImage — Hace borrosa una imagen

Descripción

bool Imagick::gaussianBlurImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_ALL ] )

Hace borrosa una imagen. Se convoluciona la imagen con un operador gaussiano del radio y la desviación estándar (sigma) dados. Para obtener resultados razonables, el radio debería ser mayor que sigma. Use un radio de 0 y se seleccionará un radio adecuado automáticamente.

Parámetros

radius

El radio gaussiano, en píxeles, sin contar el píxel central.

sigma

La desviación estándar gaussiana, en píxeles.

channel

Proporcione cualquier constante de canal que sea válida para su modo de canal. Para aplicar más de un canal, combine las constantes channeltype usando operadores a nivel de bits. Consulte esta lista de constantes de canal.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::gammaImage
Imagick::getColorspace
Imagick


Obtiene el espacio de color

Imagick::gaussianBlurImage
Imagick::getCompression
Imagick
PHP Manual

Imagick::getColorspace

(PECL imagick 0.9.10-0.9.9)

Imagick::getColorspace — Obtiene el espacio de color

Descripción

int Imagick::getColorspace ( void )

Obtiene el valor del espacio de color global. Este método está disponible si Imagick ha sido compilado con la versión 6.5.7 (o superior) de ImageMagick.

Valores devueltos

Devuelve un entero que se puede comparar con constantes COLORSPACE.

Imagick::gaussianBlurImage
Imagick::getCompression
Imagick


Obtiene el tipo de compresión del objeto

Imagick::getColorspace
Imagick::getCompressionQuality
Imagick
PHP Manual

Imagick::getCompression

(PECL imagick 2.0.0)

Imagick::getCompression — Obtiene el tipo de compresión del objeto

Descripción

int Imagick::getCompression ( void )

Obtiene el tipo de compresión del objeto.

Valores devueltos

Devuelve la constante de compresión

Imagick::getColorspace
Imagick::getCompressionQuality
Imagick


Obtiene la calidad de compresión del objeto

Imagick::getCompression
Imagick::getCopyright
Imagick
PHP Manual

Imagick::getCompressionQuality

(PECL imagick 2.0.0)

Imagick::getCompressionQuality — Obtiene la calidad de compresión del objeto

Descripción

int Imagick::getCompressionQuality ( void )

Obtiene la calidad de compresión del objeto.

Valores devueltos

Devuelve un valor de tipo integer que describe la calidad de compresión

Imagick::getCompression
Imagick::getCopyright
Imagick


Devuelve el copyright de la API ImageMagick como una cadena

Imagick::getCompressionQuality
Imagick::getFilename
Imagick
PHP Manual

Imagick::getCopyright

(PECL imagick 2.0.0)

Imagick::getCopyright — Devuelve el copyright de la API ImageMagick como una cadena

Descripción

string Imagick::getCopyright ( void )

Devuelve el copyright de la API ImageMagick como una cadena.

Valores devueltos

Devuelve una cadena que contiene el anuncio del copyright de la API Imagemagick y de la API de C Magickwand.

Imagick::getCompressionQuality
Imagick::getFilename
Imagick


El nombre de archivo asociado a una secuencia de imágenes

Imagick::getCopyright
Imagick::getFont
Imagick
PHP Manual

Imagick::getFilename

(PECL imagick 2.0.0)

Imagick::getFilename — El nombre de archivo asociado a una secuencia de imágenes

Descripción

string Imagick::getFilename ( void )

El nombre de archivo asociado a una secuencia de imágenes.

Valores devueltos

Devuelve una cadena en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getCopyright
Imagick::getFont
Imagick


Obtiene la fuente

Imagick::getFilename
Imagick::getFormat
Imagick
PHP Manual

Imagick::getFont

(PECL imagick 2.1.0)

Imagick::getFont — Obtiene la fuente

Descripción

string Imagick::getFont ( void )

Devuelve la propiedad fuente de los objetos. Este método está disponible si Imagick ha sido compilado con la versión 6.3.7 (o superior) de ImageMagick.

Valores devueltos

Devuelve la cadena que contiene el nombre de la fuente o FALSE si no está establecida la fuente.

Ver también

  • Imagick::setFont() - Establece la fuente
  • ImagickDraw::setFont() - Establece la fuente especificada completamente para usarla cuando se escribe texto
  • ImagickDraw::getFont() - Devuelve la fuente

Imagick::getFilename
Imagick::getFormat
Imagick


Devuelve el formato de un objeto Imagick

Imagick::getFont
Imagick::getGravity
Imagick
PHP Manual

Imagick::getFormat

(PECL imagick 2.0.0)

Imagick::getFormat — Devuelve el formato de un objeto Imagick

Descripción

string Imagick::getFormat ( void )

Devuelve el formato de un objeto Imagick.

Valores devueltos

Devuelve el formato de la imagen.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getFont
Imagick::getGravity
Imagick


Obtiene la gravedad

Imagick::getFormat
Imagick::getHomeURL
Imagick
PHP Manual

Imagick::getGravity

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::getGravity — Obtiene la gravedad

Descripción

int Imagick::getGravity ( void )

Obtiene la propiedad gravedad global para el objeto Imagick. Este método está disponible si Imagick ha sido compilado con la versión 6.4.0 (o superior) de ImageMagick.

Valores devueltos

Devuelve la propiedad gravedad. Consulte esta lista de constantes de gravedad.

Imagick::getFormat
Imagick::getHomeURL
Imagick


Devuelve la URL de inicio de ImageMagick

Imagick::getGravity
Imagick::getImage
Imagick
PHP Manual

Imagick::getHomeURL

(PECL imagick 2.0.0)

Imagick::getHomeURL — Devuelve la URL de inicio de ImageMagick

Descripción

string Imagick::getHomeURL ( void )

Devuelve la URL de inicio de ImageMagick.

Valores devueltos

Devuelve un enlace a la página de inicio de imagemagick.

Imagick::getGravity
Imagick::getImage
Imagick


Devuelve un nuevo objeto Imagick

Imagick::getHomeURL
Imagick::getImageAlphaChannel
Imagick
PHP Manual

Imagick::getImage

(PECL imagick 2.0.0)

Imagick::getImage — Devuelve un nuevo objeto Imagick

Descripción

Imagick Imagick::getImage ( void )

Devuelve un nuevo objeto Imagick con la secuencia de imágenes actual.

Valores devueltos

Devuelve un nuevo objeto Imagick con la secuencia de imágenes actual.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getHomeURL
Imagick::getImageAlphaChannel
Imagick


Obtiene el canal alfa de una imagen

Imagick::getImage
Imagick::getImageArtifact
Imagick
PHP Manual

Imagick::getImageAlphaChannel

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::getImageAlphaChannel — Obtiene el canal alfa de una imagen

Descripción

int Imagick::getImageAlphaChannel ( void )

Obtiene el valor del canal alfa de la imagen. El valor devuelto es una de las constantes de canal alfa. Este método está disponible si Imagick ha sido compilado con la versión 6.4.0 (o superior) de ImageMagick.

Valores devueltos

Devuelve una constante que define el valor del canal alfa actual. Consulte esta lista de constantes de canal alfa.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImage
Imagick::getImageArtifact
Imagick


Obtener el artefacto de imagen

Imagick::getImageAlphaChannel
Imagick::getImageBackgroundColor
Imagick
PHP Manual

Imagick::getImageArtifact

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::getImageArtifact — Obtener el artefacto de imagen

Descripción

string Imagick::getImageArtifact ( string $artifact )

Obtiene un artefacto asociado con la imagen. La diferencia entre las propiedades de imagen y los artefactos de imagen es que las propiedades son públicas y los artefactos son privados. Este método está disponible si Imagick ha sido compilado con la versión 6.5.7 (o superior) de ImageMagick.

Parámetros

artifact

El nombre del artefacto

Valores devueltos

Devuelve el valor del artefacto si se tuvo éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Ver también

  • Imagick::setImageArtifact() - Establecer un artefacto de imagen
  • Imagick::deleteImageArtifact() - Borra un artefacto de imagen

Imagick::getImageAlphaChannel
Imagick::getImageBackgroundColor
Imagick


Devuelve el color de fondo de la imagen

Imagick::getImageArtifact
Imagick::getImageBlob
Imagick
PHP Manual

Imagick::getImageBackgroundColor

(PECL imagick 2.0.0)

Imagick::getImageBackgroundColor — Devuelve el color de fondo de la imagen

Descripción

ImagickPixel Imagick::getImageBackgroundColor ( void )

Devuelve el color de fondo de la imagen.

Valores devueltos

Devuelve un objeto ImagickPixel establecido al color de fondo de la imagen.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageArtifact
Imagick::getImageBlob
Imagick


Devuelve la secuencia de imágenes como un valor de tipo blob

Imagick::getImageBackgroundColor
Imagick::getImageBluePrimary
Imagick
PHP Manual

Imagick::getImageBlob

(PECL imagick 2.0.0)

Imagick::getImageBlob — Devuelve la secuencia de imágenes como un valor de tipo blob

Descripción

string Imagick::getImageBlob ( void )

Implementa, directo a la memoria, formatos de imagen. Devuelve la secuencia de imágenes como una cadena. El formato de la imagen determina el formato del blob devuelto (GIF, JPEG, PNG, etc.). Para devolver un formato de imagen diferente use Imagick::setImageFormat().

Valores devueltos

Devuelve una cadena que contiene la imagen.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageBackgroundColor
Imagick::getImageBluePrimary
Imagick


Devuelve el punto primario azul de la cromaticidad

Imagick::getImageBlob
Imagick::getImageBorderColor
Imagick
PHP Manual

Imagick::getImageBluePrimary

(PECL imagick 2.0.0)

Imagick::getImageBluePrimary — Devuelve el punto primario azul de la cromaticidad

Descripción

array Imagick::getImageBluePrimary ( void )

Devuelve el punto primario azul de la cromaticidad de una imagen.

Parámetros

x

El punto x primario azul de la cromaticidad.

y

El punto y primario azul de la cromaticidad.

Valores devueltos

Matriz consistente en las coordenadas "x" e "y" del punto.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageBlob
Imagick::getImageBorderColor
Imagick


Devuelve el color del borde de la imagen

Imagick::getImageBluePrimary
Imagick::getImageChannelDepth
Imagick
PHP Manual

Imagick::getImageBorderColor

(PECL imagick 2.0.0)

Imagick::getImageBorderColor — Devuelve el color del borde de la imagen

Descripción

ImagickPixel Imagick::getImageBorderColor ( void )

Devuelve el color del borde de la imagen.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageBluePrimary
Imagick::getImageChannelDepth
Imagick


Obtiene la profundidad de un canal de imagen en particular

Imagick::getImageBorderColor
Imagick::getImageChannelDistortion
Imagick
PHP Manual

Imagick::getImageChannelDepth

(PECL imagick 2.0.0)

Imagick::getImageChannelDepth — Obtiene la profundidad de un canal de imagen en particular

Descripción

int Imagick::getImageChannelDepth ( int $channel )

Obtiene la profundidad de un canal de imagen en particular.

Parámetros

channel

Proporciona cualquier contante de canal que sea válida para su modo de canal. Para aplicarlo a más de un canal, combine constantes de canal using bitwise operadores bit a bit. El valor por defecto para Imagick::CHANNEL_DEFAULT. Referirse a esta lista de constantes de canal

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::getImageBorderColor
Imagick::getImageChannelDistortion
Imagick


Compara los canales de imagen de una imagen con una imagen reconstruida

Imagick::getImageChannelDepth
Imagick::getImageChannelDistortions
Imagick
PHP Manual

Imagick::getImageChannelDistortion

(PECL imagick 2.0.0)

Imagick::getImageChannelDistortion — Compara los canales de imagen de una imagen con una imagen reconstruida

Descripción

float Imagick::getImageChannelDistortion ( Imagick $reference , int $channel , int $metric )

Compara uno o más canales de imagen de una imagen con una imagen reconstruida y devuelve la métrica de distorsión especificada.

Parámetros

reference

Objeto Imagick que se va a comparar.

channel

Proporcione cualquier constante de canal que sea válida para su modo de canal. Para aplicar más de un canal, combine las constantes channeltype usando operadores a nivel de bits. Consulte esta lista de constantes de canal.

metric

Una de las constantes de tipo de métrica.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageChannelDepth
Imagick::getImageChannelDistortions
Imagick


Obtiene las distorsiones del canal

Imagick::getImageChannelDistortion
Imagick::getImageChannelExtrema
Imagick
PHP Manual

Imagick::getImageChannelDistortions

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::getImageChannelDistortions — Obtiene las distorsiones del canal

Descripción

float Imagick::getImageChannelDistortions ( Imagick $reference , int $metric [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Compara uno o más canales de imagen de una imagen con una imagen reconstruida y devuelve las métricas de la distorsión especificada Este método está disponible si Imagick ha sido compilado con la versión 6.4.4 (o superior) de ImageMagick.

Parámetros

reference

Objeto Imagick que contiene la imagen de referencia

metric

Consulte esta lista de constantes de tipo de métrica.

channel

Proporciona cualquier contante de canal que sea válida para su modo de canal. Para aplicarlo a más de un canal, combine constantes de canal using bitwise operadores bit a bit. El valor por defecto para Imagick::CHANNEL_DEFAULT. Referirse a esta lista de constantes de canal

Valores devueltos

Devuelve un valor de tipo double que describe la distorsión del canal.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageChannelDistortion
Imagick::getImageChannelExtrema
Imagick


Obtiene los extremos de uno o más canales de imagen

Imagick::getImageChannelDistortions
Imagick::getImageChannelKurtosis
Imagick
PHP Manual

Imagick::getImageChannelExtrema

(PECL imagick 2.0.0)

Imagick::getImageChannelExtrema — Obtiene los extremos de uno o más canales de imagen

Descripción

array Imagick::getImageChannelExtrema ( int $channel )

Obtiene los extremos (mínimo y máximo) de uno o más canales de imagen. El valor devuelto es una matriz asociativa con las claves "minima" (mínimo) y "maxima" (máximo).

Parámetros

channel

Proporcione cualquier constante de canal que sea válida para su modo de canal. Para aplicar más de un canal, combine las constantes channeltype usando operadores a nivel de bits. Consulte esta lista de constantes de canal.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageChannelDistortions
Imagick::getImageChannelKurtosis
Imagick


Obtiene la curtosis y la asimetría estadística de un canal específico

Imagick::getImageChannelExtrema
Imagick::getImageChannelMean
Imagick
PHP Manual

Imagick::getImageChannelKurtosis

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::getImageChannelKurtosis — Obtiene la curtosis y la asimetría estadística de un canal específico

Descripción

public array Imagick::getImageChannelKurtosis ([ int $channel = Imagick::CHANNEL_DEFAULT ] )

Obtiene la curtosis y la asimetría estadística de un canal específico. Este método está disponible si Imagick ha sido compilado con la versión 6.4.9 (o superior) de ImageMagick.

Parámetros

channel

Proporciona cualquier contante de canal que sea válida para su modo de canal. Para aplicarlo a más de un canal, combine constantes de canal using bitwise operadores bit a bit. El valor por defecto para Imagick::CHANNEL_DEFAULT. Referirse a esta lista de constantes de canal

Valores devueltos

Devuelve una matriz con los miembros kurtosis (curtosis) y skewness (asimetría estadística).

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageChannelExtrema
Imagick::getImageChannelMean
Imagick


Obtiene la media y la desviación estándar

Imagick::getImageChannelKurtosis
Imagick::getImageChannelRange
Imagick
PHP Manual

Imagick::getImageChannelMean

(PECL imagick 2.0.0)

Imagick::getImageChannelMean — Obtiene la media y la desviación estándar

Descripción

array Imagick::getImageChannelMean ( int $channel )

Obtiene la media y la desviación estándar de uno o más canales de imagen. El valor devuelto es una matriz asociativa con las claves "mean" (media) y "standardDeviation" (desviación estándar).

Parámetros

channel

Proporcione cualquier constante de canal que sea válida para su modo de canal. Para aplicar más de un canal, combine las constantes channeltype usando operadores a nivel de bits. Consulte esta lista de constantes de canal.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageChannelKurtosis
Imagick::getImageChannelRange
Imagick


Obtiene el rango del canal

Imagick::getImageChannelMean
Imagick::getImageChannelStatistics
Imagick
PHP Manual

Imagick::getImageChannelRange

(PECL imagick 2.2.1)

Imagick::getImageChannelRange — Obtiene el rango del canal

Descripción

array Imagick::getImageChannelRange ( int $channel )

Obtiene el rango de uno o más canales de imagen. Este método está disponible si Imagick ha sido compilado con la versión 6.4.0 (o superior) de ImageMagick.

Parámetros

channel

Proporciona cualquier contante de canal que sea válida para su modo de canal. Para aplicarlo a más de un canal, combine constantes de canal using bitwise operadores bit a bit. El valor por defecto para Imagick::CHANNEL_DEFAULT. Referirse a esta lista de constantes de canal

Valores devueltos

Devuelve una matriz que contiene los valores mínimo y máximo de el/los canal/es.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageChannelMean
Imagick::getImageChannelStatistics
Imagick


Devuelve las estadísticas de cada canal de la imagen

Imagick::getImageChannelRange
Imagick::getImageClipMask
Imagick
PHP Manual

Imagick::getImageChannelStatistics

(PECL imagick 2.0.0)

Imagick::getImageChannelStatistics — Devuelve las estadísticas de cada canal de la imagen

Descripción

array Imagick::getImageChannelStatistics ( void )

Devuelve las estadísticas de cada canal de la imagen. Las estadísticas incluyen la profundidad del canal, su mínimo y máximo, la media, y la desviación estándar. Se puede acceder a la media del canal rojo, por ejemplo, así:

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::getImageChannelRange
Imagick::getImageClipMask
Imagick


Obtiene la máscara de recorte de la imagen

Imagick::getImageChannelStatistics
Imagick::getImageColormapColor
Imagick
PHP Manual

Imagick::getImageClipMask

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::getImageClipMask — Obtiene la máscara de recorte de la imagen

Descripción

Imagick Imagick::getImageClipMask ( void )

Devuelve la máscara de recorte de la imagen. La máscara de recorte es un objeto Imagick que contiene la máscara de recorte. Este método está disponible si Imagick ha sido compilado con la versión 6.3.6 (o superior) de ImageMagick.

Valores devueltos

Devuelve un objeto Imagick que contiene la máscara de recorte.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageChannelStatistics
Imagick::getImageColormapColor
Imagick


Devuelve el color del índice del mapa de colores especficado

Imagick::getImageClipMask
Imagick::getImageColors
Imagick
PHP Manual

Imagick::getImageColormapColor

(PECL imagick 2.0.0)

Imagick::getImageColormapColor — Devuelve el color del índice del mapa de colores especficado

Descripción

ImagickPixel Imagick::getImageColormapColor ( int $index )

Devuelve el color del índice del mapa de colores especficado.

Parámetros

index

El índice en el mapa de colores de la imagen.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageClipMask
Imagick::getImageColors
Imagick


Obtiene el número de colores únicos de la imagen

Imagick::getImageColormapColor
Imagick::getImageColorspace
Imagick
PHP Manual

Imagick::getImageColors

(PECL imagick 2.0.0)

Imagick::getImageColors — Obtiene el número de colores únicos de la imagen

Descripción

int Imagick::getImageColors ( void )

Obtiene el número de colores únicos de la imagen.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::getImageColormapColor
Imagick::getImageColorspace
Imagick


Obtiene el espacio de colores de la imagen

Imagick::getImageColors
Imagick::getImageCompose
Imagick
PHP Manual

Imagick::getImageColorspace

(PECL imagick 2.0.0)

Imagick::getImageColorspace — Obtiene el espacio de colores de la imagen

Descripción

int Imagick::getImageColorspace ( void )

Obtiene el espacio de colores de la imagen.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::getImageColors
Imagick::getImageCompose
Imagick


Devuelve el operador de composición asociado a la imagen

Imagick::getImageColorspace
Imagick::getImageCompression
Imagick
PHP Manual

Imagick::getImageCompose

(PECL imagick 2.0.0)

Imagick::getImageCompose — Devuelve el operador de composición asociado a la imagen

Descripción

int Imagick::getImageCompose ( void )

Devuelve el operador de composición asociado a la imagen.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::getImageColorspace
Imagick::getImageCompression
Imagick


Obtiene el tipo de compresión de la imagen actual

Imagick::getImageCompose
Imagick::getImageCompressionQuality
Imagick
PHP Manual

Imagick::getImageCompression

(PECL imagick 2.2.2)

Imagick::getImageCompression — Obtiene el tipo de compresión de la imagen actual

Descripción

int Imagick::getImageCompression ( void )

Obtiene el tipo de compresión de la imagen actual.

Valores devueltos

Devuelve la constante de compresión

Imagick::getImageCompose
Imagick::getImageCompressionQuality
Imagick


Obtiene la calidad de compresión de la imagen actual

Imagick::getImageCompression
Imagick::getImageDelay
Imagick
PHP Manual

Imagick::getImageCompressionQuality

(PECL imagick 2.2.2)

Imagick::getImageCompressionQuality — Obtiene la calidad de compresión de la imagen actual

Descripción

int Imagick::getCompressionQuality ( void )

Obtiene la calidad de compresión de la imagen actual

Valores devueltos

Devuelve un valor de tipo integer que describe la calidad de compresión de las imágenes

Imagick::getImageCompression
Imagick::getImageDelay
Imagick


Obtiene el retraso de la imagen

Imagick::getImageCompressionQuality
Imagick::getImageDepth
Imagick
PHP Manual

Imagick::getImageDelay

(PECL imagick 2.0.0)

Imagick::getImageDelay — Obtiene el retraso de la imagen

Descripción

int Imagick::getImageDelay ( void )

Obtiene el retraso de la imagen.

Valores devueltos

Devuelve el retraso de la imagen.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageCompressionQuality
Imagick::getImageDepth
Imagick


Obtiene la profundidad de la imagen

Imagick::getImageDelay
Imagick::getImageDispose
Imagick
PHP Manual

Imagick::getImageDepth

(PECL imagick 0.9.1-0.9.9)

Imagick::getImageDepth — Obtiene la profundidad de la imagen

Descripción

int Imagick::getImageDepth ( void )

Obtiene la profundidad de la imagen.

Valores devueltos

La profundidad de la imagen.

Imagick::getImageDelay
Imagick::getImageDispose
Imagick


Obtiene el método de disposición de la imagen

Imagick::getImageDepth
Imagick::getImageDistortion
Imagick
PHP Manual

Imagick::getImageDispose

(PECL imagick 2.0.0)

Imagick::getImageDispose — Obtiene el método de disposición de la imagen

Descripción

int Imagick::getImageDispose ( void )

Obtiene el método de disposición de la imagen.

Valores devueltos

Devuelve el método de disposición si se tuvo éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageDepth
Imagick::getImageDistortion
Imagick


Compara una imagen con una imagen reconstruida

Imagick::getImageDispose
Imagick::getImageExtrema
Imagick
PHP Manual

Imagick::getImageDistortion

(PECL imagick 2.0.0)

Imagick::getImageDistortion — Compara una imagen con una imagen reconstruida

Descripción

float Imagick::getImageDistortion ( MagickWand $reference , int $metric )

Compara una imagen con una imagen reconstruida y devuelve la métrica de distorisión especificada.

Parámetros

reference

Objeto Imagick que se va a comparar.

metric

Una de las constantes de tipo de métrica.

Valores devueltos

Devuelve la métrica de distorsión usada en la imagen (o la mejor deducción de la misma).

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageDispose
Imagick::getImageExtrema
Imagick


Obtiene los extremos de la imagen

Imagick::getImageDistortion
Imagick::getImageFilename
Imagick
PHP Manual

Imagick::getImageExtrema

(PECL imagick 2.0.0)

Imagick::getImageExtrema — Obtiene los extremos de la imagen

Descripción

array Imagick::getImageExtrema ( void )

Obtiene los extremos (mínimo y máximo) de la imagen. Devuelve una matriz asociativa con las claves "min" y "max".

Valores devueltos

Devuelve una matriz asociativa con las claves "min" y "max".

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageDistortion
Imagick::getImageFilename
Imagick


Devuelve el nombre de archivo de una imagen en particular de una secuencia

Imagick::getImageExtrema
Imagick::getImageFormat
Imagick
PHP Manual

Imagick::getImageFilename

(PECL imagick 2.0.0)

Imagick::getImageFilename — Devuelve el nombre de archivo de una imagen en particular de una secuencia

Descripción

string Imagick::getImageFilename ( void )

Devuelve el nombre de archivo de una imagen en particular de una secuencia.

Valores devueltos

Devuelve una cadena con el nombre de archivo de la imagen.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageExtrema
Imagick::getImageFormat
Imagick


Devuelve el formato de una imagen en particular de una secuencia

Imagick::getImageFilename
Imagick::getImageGamma
Imagick
PHP Manual

Imagick::getImageFormat

(PECL imagick 2.0.0)

Imagick::getImageFormat — Devuelve el formato de una imagen en particular de una secuencia

Descripción

string Imagick::getImageFormat ( void )

Devuelve el formato de una imagen en particular de una secuencia.

Valores devueltos

Devuelve una cadena que contiene el formato de imagen si se tuvo éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageFilename
Imagick::getImageGamma
Imagick


Obtiene el valor gamma de la imagen

Imagick::getImageFormat
Imagick::getImageGeometry
Imagick
PHP Manual

Imagick::getImageGamma

(PECL imagick 2.0.0)

Imagick::getImageGamma — Obtiene el valor gamma de la imagen

Descripción

float Imagick::getImageGamma ( void )

Obtiene el valor gamma de la imagen.

Valores devueltos

Devuelve el valor gamma de la imagen si se tuvo éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageFormat
Imagick::getImageGeometry
Imagick


Obtiene el ancho y el alto como un array asociativo

Imagick::getImageGamma
Imagick::getImageGravity
Imagick
PHP Manual

Imagick::getImageGeometry

(PECL imagick 2.0.0)

Imagick::getImageGeometry — Obtiene el ancho y el alto como un array asociativo

Descripción

array Imagick::getImageGeometry ( void )

Obtiene el ancho y el alto como un array asociativo.

Valores devueltos

Devuelve un array con el ancho/alto de la imagen.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageGamma
Imagick::getImageGravity
Imagick


Obtiene la gravedad de la imagen

Imagick::getImageGeometry
Imagick::getImageGreenPrimary
Imagick
PHP Manual

Imagick::getImageGravity

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::getImageGravity — Obtiene la gravedad de la imagen

Descripción

int Imagick::getImageGravity ( void )

Obtiene el valor de gravedad actual de la imagen. A diferencia de Imagick::getGravity(), este método devuelve la gravedad definida para la secuencia de imágenes actual. Este método está disponible si Imagick ha sido compilado con la versión 6.4.4 (o superior) de ImageMagick.

Valores devueltos

Devuelve la propiedad gravedad de las imágenes. Consulte esta lista de constantes de gravedad.

Imagick::getImageGeometry
Imagick::getImageGreenPrimary
Imagick


Devuelve el punto primario verde de la cromaticidad

Imagick::getImageGravity
Imagick::getImageHeight
Imagick
PHP Manual

Imagick::getImageGreenPrimary

(PECL imagick 2.0.0)

Imagick::getImageGreenPrimary — Devuelve el punto primario verde de la cromaticidad

Descripción

array Imagick::getImageGreenPrimary ( void )

Devuelve el punto primario verde de la cromaticidad. Devuelve un array con las claves "x" e "y".

Valores devueltos

Devuelve un array con las claves "x" e "y" si se tuvo éxito, lanza una ImagickException en caso de error.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageGravity
Imagick::getImageHeight
Imagick


Devuelve el alto de la imagen

Imagick::getImageGreenPrimary
Imagick::getImageHistogram
Imagick
PHP Manual

Imagick::getImageHeight

(PECL imagick 2.0.0)

Imagick::getImageHeight — Devuelve el alto de la imagen

Descripción

int Imagick::getImageHeight ( void )

Devuelve el alto de la imagen.

Valores devueltos

Devuelve el alto de la imagen en píxeles.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageGreenPrimary
Imagick::getImageHistogram
Imagick


Obtiene el histograma de la imagen

Imagick::getImageHeight
Imagick::getImageIndex
Imagick
PHP Manual

Imagick::getImageHistogram

(PECL imagick 2.0.0)

Imagick::getImageHistogram — Obtiene el histograma de la imagen

Descripción

array Imagick::getImageHistogram ( void )

Devuelve el histograma de la imagen como un array de objetos ImagickPixel.

Valores devueltos

Devuelve el histograma de la imagen como un array de objetos ImagickPixel.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageHeight
Imagick::getImageIndex
Imagick


Obtiene el índice de la imagen activa actual

Imagick::getImageHistogram
Imagick::getImageInterlaceScheme
Imagick
PHP Manual

Imagick::getImageIndex

(PECL imagick 2.0.0)

Imagick::getImageIndex — Obtiene el índice de la imagen activa actual

Descripción

int Imagick::getImageIndex ( void )

Devuelve el índice de la imagen activa actual dentro del objeto Imagick. Este método ha quedado obsoleto. Véase Imagick::getIteratorIndex().

Valores devueltos

Devuelve un valor de tipo integer que contiene el índice de la imagen en la pila.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageHistogram
Imagick::getImageInterlaceScheme
Imagick


Obtiene la combinación de entrelazado de la imagen

Imagick::getImageIndex
Imagick::getImageInterpolateMethod
Imagick
PHP Manual

Imagick::getImageInterlaceScheme

(PECL imagick 2.0.0)

Imagick::getImageInterlaceScheme — Obtiene la combinación de entrelazado de la imagen

Descripción

int Imagick::getImageInterlaceScheme ( void )

Obtiene la combinación de entrelazado de la imagen.

Valores devueltos

Devuelve la combinación de entrelazado como un integer en caso de éxito. Lanza ImagickException en caso de error.

Imagick::getImageIndex
Imagick::getImageInterpolateMethod
Imagick


Devuelve el método de interpolación

Imagick::getImageInterlaceScheme
Imagick::getImageIterations
Imagick
PHP Manual

Imagick::getImageInterpolateMethod

(PECL imagick 2.0.0)

Imagick::getImageInterpolateMethod — Devuelve el método de interpolación

Descripción

int Imagick::getImageInterpolateMethod ( void )

Devuelve el método de interpolación de la imagen especificada. El método es una de las constantes Imagick::INTERPOLATE_*.

Valores devueltos

Devuelve el método de interpolación si se tuvo éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageInterlaceScheme
Imagick::getImageIterations
Imagick


Obtiene las iteraciones de la imagen

Imagick::getImageInterpolateMethod
Imagick::getImageLength
Imagick
PHP Manual

Imagick::getImageIterations

(PECL imagick 2.0.0)

Imagick::getImageIterations — Obtiene las iteraciones de la imagen

Descripción

int Imagick::getImageIterations ( void )

Obtiene las iteraciones de la imagen.

Valores devueltos

Devuelve las iteraciones de la imagen como un valor integer.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageInterpolateMethod
Imagick::getImageLength
Imagick


Devuelve la longitud de la imagen en bytes

Imagick::getImageIterations
Imagick::getImageMagickLicense
Imagick
PHP Manual

Imagick::getImageLength

(PECL imagick 2.0.0)

Imagick::getImageLength — Devuelve la longitud de la imagen en bytes

Descripción

int Imagick::getImageLength ( void )

Devuelve la longitud de la imagen en bytes

Valores devueltos

Devuelve un valor de tipo int que contiene el tamaño de la imagen actual.

Ejemplos

Ejemplo #1 Usar Imagick::getImageLength():

Obtener la longitud en bytes

<?php
$imagen = new Imagick('prueba.jpg');
echo $imagen->getImageLength() . ' bytes';
?>

Imagick::getImageIterations
Imagick::getImageMagickLicense
Imagick


Devuelve un string que contiene la licencia de ImageMagick

Imagick::getImageLength
Imagick::getImageMatte
Imagick
PHP Manual

Imagick::getImageMagickLicense

(PECL imagick 2.0.0)

Imagick::getImageMagickLicense — Devuelve un string que contiene la licencia de ImageMagick

Descripción

string Imagick::getImageMagickLicense ( void )

Devuelve un string que contiene la licencia de ImageMagick

Valores devueltos

Devuelve un string que contiene la licencia de ImageMagick.

Imagick::getImageLength
Imagick::getImageMatte
Imagick


Devuelve si la imagen tiene un canal mate

Imagick::getImageMagickLicense
Imagick::getImageMatteColor
Imagick
PHP Manual

Imagick::getImageMatte

(PECL imagick 2.0.0)

Imagick::getImageMatte — Devuelve si la imagen tiene un canal mate

Descripción

bool Imagick::getImageMatte ( void )

Devuelve TRUE si la imagen tiene un canal mate, en caso contrario false. Este método está disponible si Imagick ha sido compilado con la versión 6.2.9 (o superior) de ImageMagick.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Imagick::getImageMagickLicense
Imagick::getImageMatteColor
Imagick


Devuelve el color mate de la imagen

Imagick::getImageMatte
Imagick::getImageOrientation
Imagick
PHP Manual

Imagick::getImageMatteColor

(PECL imagick 2.0.0)

Imagick::getImageMatteColor — Devuelve el color mate de la imagen

Descripción

ImagickPixel Imagick::getImageMatteColor ( void )

Devuelve el color mate de la imagen.

Valores devueltos

Devuelve un objeto ImagickPixel si se tuvo éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageMatte
Imagick::getImageOrientation
Imagick


Obtiene la orientación de la imagen

Imagick::getImageMatteColor
Imagick::getImagePage
Imagick
PHP Manual

Imagick::getImageOrientation

(PECL imagick 2.0.0)

Imagick::getImageOrientation — Obtiene la orientación de la imagen

Descripción

int Imagick::getImageOrientation ( void )

Obtiene la orientación de la imagen. El valor de retorno es una de las constantes de orientación.

Valores devueltos

Devuelve un integer si se tuvo éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageMatteColor
Imagick::getImagePage
Imagick


Devuelve la geometría de la página

Imagick::getImageOrientation
Imagick::getImagePixelColor
Imagick
PHP Manual

Imagick::getImagePage

(PECL imagick 2.0.0)

Imagick::getImagePage — Devuelve la geometría de la página

Descripción

array Imagick::getImagePage ( void )

Devuelve la geometría de la página asociada con la imagen en un array con las claves "width", "height", "x", e "y".

Valores devueltos

Devuelve la geometría de la página asociada con la imagen en un array con las claves "width", "height", "x", e "y".

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageOrientation
Imagick::getImagePixelColor
Imagick


Devuelve el color del píxel especificado

Imagick::getImagePage
Imagick::getImageProfile
Imagick
PHP Manual

Imagick::getImagePixelColor

(PECL imagick 2.0.0)

Imagick::getImagePixelColor — Devuelve el color del píxel especificado

Descripción

ImagickPixel Imagick::getImagePixelColor ( int $x , int $y )

Devuelve el color del píxel especificado.

Parámetros

x

La coordenada x del píxel

y

La coordenada y del píxel

Valores devueltos

Devuelve una instancia de ImagickPixel para el color en las coordenadas dadas.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImagePage
Imagick::getImageProfile
Imagick


Devuelve el perfil nominado de la imagen

Imagick::getImagePixelColor
Imagick::getImageProfiles
Imagick
PHP Manual

Imagick::getImageProfile

(PECL imagick 2.0.0)

Imagick::getImageProfile — Devuelve el perfil nominado de la imagen

Descripción

string Imagick::getImageProfile ( string $name )

Devuelve el perfil nominado de la imagen.

Parámetros

name

El nombre del perfil que se va a devolver.

Valores devueltos

Devuelve un string que contiene el perfil de la imagen.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImagePixelColor
Imagick::getImageProfiles
Imagick


Devuelve los perfiles de la imagen

Imagick::getImageProfile
Imagick::getImageProperties
Imagick
PHP Manual

Imagick::getImageProfiles

(PECL imagick 2.0.0)

Imagick::getImageProfiles — Devuelve los perfiles de la imagen

Descripción

array Imagick::getImageProfiles ([ string $pattern = "*" [, bool $only_names = true ]] )

Devuelve todos los perfiles asociados que coinciden con el patrón. Si se pasa TRUE como segundo parámetro, sólo se devuelven los nombres de los perfiles. Este método está disponible si Imagick ha sido compilado con la versión 6.3.6 (o superior) de ImageMagick.

Parámetros

pattern

El patrón para los nombres de los perfiles.

only_names

Si se devuelve sólo los nombres de los perfiles. Si es FALSE también se devuelven los valores

Valores devueltos

Devuelve un array que contiene los perfiles de la imagen o los nombres de los perfiles.

Imagick::getImageProfile
Imagick::getImageProperties
Imagick


Devuelve las propiedades de la imagen

Imagick::getImageProfiles
Imagick::getImageProperty
Imagick
PHP Manual

Imagick::getImageProperties

(PECL imagick 2.0.0)

Imagick::getImageProperties — Devuelve las propiedades de la imagen

Descripción

array Imagick::getImageProperties ([ string $pattern = "*" [, bool $only_names = true ]] )

Devuelve todas las propiedades asociadas que coniciden con el patrón. Si se pasa TRUE como segundo parámetro, sólo se devuelven los nombres de las propiedades. Este método está disponible si Imagick ha sido compilado con la versión 6.3.6 (o superior) de ImageMagick.

Parámetros

pattern

El patrón para los nombres de las propiedades.

only_names

Si se devuelve sólo los nombres de las propiedades. Si es FALSE también se devuelven los valores

Valores devueltos

Devuelve un array que contiene las propiedades de la imagen o los nombres de las propiedades.

Ejemplos

Ejemplo #1 Usar Imagick::getImageProperties():

Un ejemplo de extraer la imformación EXIF.

<?php

/* Crear el objeto */
$im = new imagick("/path/to/ejemplo.jpg");

/* Obtener la información EXIF */
$matrizExif = $im->getImageProperties("exif:*");

/* Realizar un bucle a través de las propiedades EXIF */
foreach ($matrizExif as $nombre => $propiedad)
{
    echo "{$nombre} => {$propiedad}<br />\n";
}

?>

Imagick::getImageProfiles
Imagick::getImageProperty
Imagick


Devuelve la propiedad nominada de la imagen

Imagick::getImageProperties
Imagick::getImageRedPrimary
Imagick
PHP Manual

Imagick::getImageProperty

(PECL imagick 2.0.0)

Imagick::getImageProperty — Devuelve la propiedad nominada de la imagen

Descripción

string Imagick::getImageProperty ( string $name )

Devuelve la propiedad nominada de la imagen. Este método está disponible si Imagick ha sido compilado con la versión 6.3.2 (o superior) de ImageMagick.

Parámetros

name

nombre de la propiedad (por ejemplo Exif:DateTime)

Ejemplos

Ejemplo #1 Usando Imagick::getImageProperty():

Establecer y obtener la propiedad de la imagen

<?php
$imagen = new Imagick();
$imagen->newImage(300, 200, "black");

$imagen->setImageProperty('Exif:Make', 'Imagick');
echo $imagen->getImageProperty('Exif:Make');
?>

Ver también

  • Imagick::setImageProperty() - Establece una propiedad de la imagen

Valores devueltos

Devuelve un string que contiene la propiedad de la imagen, false si no existe una propiedad con el nombre dado.

Imagick::getImageProperties
Imagick::getImageRedPrimary
Imagick


Devuelve el punto primario rojo de la cromaticidad

Imagick::getImageProperty
Imagick::getImageRegion
Imagick
PHP Manual

Imagick::getImageRedPrimary

(PECL imagick 2.0.0)

Imagick::getImageRedPrimary — Devuelve el punto primario rojo de la cromaticidad

Descripción

array Imagick::getImageRedPrimary ( void )

Devuelve el punto primario rojo de la cromaticidad como un array con las claves "x" e "y".

Valores devueltos

Devuelve el punto primario rojo de la cromaticidad como un array con las claves "x" e "y". Lanza ImagickException en caso de error.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageProperty
Imagick::getImageRegion
Imagick


Extrae una región de la imagen

Imagick::getImageRedPrimary
Imagick::getImageRenderingIntent
Imagick
PHP Manual

Imagick::getImageRegion

(PECL imagick 2.0.0)

Imagick::getImageRegion — Extrae una región de la imagen

Descripción

Imagick Imagick::getImageRegion ( int $width , int $height , int $x , int $y )

Extrae una región de la imagen y la devuelve como un nuevo objeto Imagick.

Parámetros

width

El ancho de la región extraída.

height

El alto de la región extraída.

x

Coordenada X de la esquina superior izquierda de la región extraída.

y

Coordenada Y de la esquina superior izquierda de la región extraída.

Valores devueltos

Extrae una región de la imagen y la devuleve como una nueva varita mágica.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageRedPrimary
Imagick::getImageRenderingIntent
Imagick


Obtiene el propósito de renderización de la imagen

Imagick::getImageRegion
Imagick::getImageResolution
Imagick
PHP Manual

Imagick::getImageRenderingIntent

(PECL imagick 2.0.0)

Imagick::getImageRenderingIntent — Obtiene el propósito de renderización de la imagen

Descripción

int Imagick::getImageRenderingIntent ( void )

Obtiene el propósito de renderización de la imagen.

Valores devueltos

Devuelve el propósito de renderización de la imagen.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageRegion
Imagick::getImageResolution
Imagick


Obtiene la resolución X e Y de la imagen

Imagick::getImageRenderingIntent
Imagick::getImagesBlob
Imagick
PHP Manual

Imagick::getImageResolution

(PECL imagick 2.0.0)

Imagick::getImageResolution — Obtiene la resolución X e Y de la imagen

Descripción

array Imagick::getImageResolution ( void )

Obtiene la resolución X e Y de la imagen.

Valores devueltos

Devuelve la resolución como un array.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageRenderingIntent
Imagick::getImagesBlob
Imagick


Devuelve todas las secuencias de imágenes como un blob

Imagick::getImageResolution
Imagick::getImageScene
Imagick
PHP Manual

Imagick::getImagesBlob

(PECL imagick 2.0.0)

Imagick::getImagesBlob — Devuelve todas las secuencias de imágenes como un blob

Descripción

string Imagick::getImagesBlob ( void )

Implementa directo a la memoria formatos de imagen. Desvuelve todas las secuencias de imágenes como un string. El formato de la imagen determina el formato del blob devuelto (GIF, JPEG, PNG, etc.). Para devolver un formato de imagen diferente use Imagick::setImageFormat().

Valores devueltos

Devuelve un string que contiene las imágenes. En caso de error, lanza una ImagickException.

Imagick::getImageResolution
Imagick::getImageScene
Imagick


Obtiene la escena de la imagen

Imagick::getImagesBlob
Imagick::getImageSignature
Imagick
PHP Manual

Imagick::getImageScene

(PECL imagick 2.0.0)

Imagick::getImageScene — Obtiene la escena de la imagen

Descripción

int Imagick::getImageScene ( void )

Obtiene la escena de la imagen.

Valores devueltos

Devuelve la escena de la imagen.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImagesBlob
Imagick::getImageSignature
Imagick


Genera un resumen de un mensaje SHA-256

Imagick::getImageScene
Imagick::getImageSize
Imagick
PHP Manual

Imagick::getImageSignature

(PECL imagick 2.0.0)

Imagick::getImageSignature — Genera un resumen de un mensaje SHA-256

Descripción

string Imagick::getImageSignature ( void )

Genera un resumen de un mensaje SHA-256 para el flujo de píxeles de la imagen.

Valores devueltos

Devuelve un string que contiene el hash SHA-256 de el fichero.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageScene
Imagick::getImageSize
Imagick


Devuelve la longitud de la imagen en bytes

Imagick::getImageSignature
Imagick::getImageTicksPerSecond
Imagick
PHP Manual

Imagick::getImageSize

(PECL imagick 2.0.0)

Imagick::getImageSize — Devuelve la longitud de la imagen en bytes

Descripción

int Imagick::getImageSize ( void )

Devuelve la longitud de la imagen en bytes. Obsoleto en favor de Imagick::getImageLength()

Valores devueltos

Devuelve un valor de tipo integer que contiene el tamaño actual de la imagen.

Imagick::getImageSignature
Imagick::getImageTicksPerSecond
Imagick


Obtiene los pulsos por segundo de la imagen

Imagick::getImageSize
Imagick::getImageTotalInkDensity
Imagick
PHP Manual

Imagick::getImageTicksPerSecond

(PECL imagick 2.0.0)

Imagick::getImageTicksPerSecond — Obtiene los pulsos por segundo de la imagen

Descripción

int Imagick::getImageTicksPerSecond ( void )

Obtiene tlos pulsos por segundo de la imagen.

Valores devueltos

Devuelve los pulsos por segundo de la imagen.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageSize
Imagick::getImageTotalInkDensity
Imagick


Obtiene la densidad de tinta total de la imagen

Imagick::getImageTicksPerSecond
Imagick::getImageType
Imagick
PHP Manual

Imagick::getImageTotalInkDensity

(PECL imagick 2.0.0)

Imagick::getImageTotalInkDensity — Obtiene la densidad de tinta total de la imagen

Descripción

float Imagick::getImageTotalInkDensity ( void )

Obtiene la densidad de tinta total de la imagen.

Valores devueltos

Devuelve la densidad de tinta total de la imagen. Lanza ImagickException en caso de error.

Imagick::getImageTicksPerSecond
Imagick::getImageType
Imagick


Obtiene el tipo de imagen potencial

Imagick::getImageTotalInkDensity
Imagick::getImageUnits
Imagick
PHP Manual

Imagick::getImageType

(PECL imagick 0.9.10-0.9.9)

Imagick::getImageType — Obtiene el tipo de imagen potencial

Descripción

int Imagick::getImageType ( void )

Obtiene el tipo de imagen potencial.

Valores devueltos

Devuelve el tipo de imagen potencial.

  • imagick::IMGTYPE_UNDEFINED
  • imagick::IMGTYPE_BILEVEL
  • imagick::IMGTYPE_GRAYSCALE
  • imagick::IMGTYPE_GRAYSCALEMATTE
  • imagick::IMGTYPE_PALETTE
  • imagick::IMGTYPE_PALETTEMATTE
  • imagick::IMGTYPE_TRUECOLOR
  • imagick::IMGTYPE_TRUECOLORMATTE
  • imagick::IMGTYPE_COLORSEPARATION
  • imagick::IMGTYPE_COLORSEPARATIONMATTE
  • imagick::IMGTYPE_OPTIMIZE

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageTotalInkDensity
Imagick::getImageUnits
Imagick


Obtiene las unidades de resolución de la imagen

Imagick::getImageType
Imagick::getImageVirtualPixelMethod
Imagick
PHP Manual

Imagick::getImageUnits

(PECL imagick 2.0.0)

Imagick::getImageUnits — Obtiene las unidades de resolución de la imagen

Descripción

int Imagick::getImageUnits ( void )

Obtiene las unidades de resolución de la imagen.

Valores devueltos

Devuelve las unidades de resolución de la imagen.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageType
Imagick::getImageVirtualPixelMethod
Imagick


Devuelve el método de píxel virtual

Imagick::getImageUnits
Imagick::getImageWhitePoint
Imagick
PHP Manual

Imagick::getImageVirtualPixelMethod

(PECL imagick 2.0.0)

Imagick::getImageVirtualPixelMethod — Devuelve el método de píxel virtual

Descripción

int Imagick::getImageVirtualPixelMethod ( void )

Devuelve el método de píxel virtual de la imagen especificada.

Valores devueltos

Devuelve el método de píxel virtual si se tuvo éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageUnits
Imagick::getImageWhitePoint
Imagick


Devuelve el punto blanco de la cromaticidad

Imagick::getImageVirtualPixelMethod
Imagick::getImageWidth
Imagick
PHP Manual

Imagick::getImageWhitePoint

(PECL imagick 2.0.0)

Imagick::getImageWhitePoint — Devuelve el punto blanco de la cromaticidad

Descripción

array Imagick::getImageWhitePoint ( void )

Devuelve el punto blanco de la cromaticidad como un array asociativa con las claves "x" e "y".

Valores devueltos

Devuelve el punto blanco de la cromaticidad como un array asociativa con las claves "x" e "y".

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageVirtualPixelMethod
Imagick::getImageWidth
Imagick


Devuelve el ancho de la imagen

Imagick::getImageWhitePoint
Imagick::getInterlaceScheme
Imagick
PHP Manual

Imagick::getImageWidth

(PECL imagick 2.0.0)

Imagick::getImageWidth — Devuelve el ancho de la imagen

Descripción

int Imagick::getImageWidth ( void )

Devuelve el ancho de la imagen.

Valores devueltos

Devuelve el ancho de la imagen.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageWhitePoint
Imagick::getInterlaceScheme
Imagick


Obtiene la combinación de entrelazado de un objeto

Imagick::getImageWidth
Imagick::getIteratorIndex
Imagick
PHP Manual

Imagick::getInterlaceScheme

(PECL imagick 2.0.0)

Imagick::getInterlaceScheme — Obtiene la combinación de entrelazado de un objeto

Descripción

int Imagick::getInterlaceScheme ( void )

Obtiene la combinación del entrelazado de un objeto.

Valores devueltos

Obtiene la varita mágica combinación de entrelazado.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getImageWidth
Imagick::getIteratorIndex
Imagick


Obtiene el índice de la imagen activa actual

Imagick::getInterlaceScheme
Imagick::getNumberImages
Imagick
PHP Manual

Imagick::getIteratorIndex

(PECL imagick 2.0.0)

Imagick::getIteratorIndex — Obtiene el índice de la imagen activa actual

Descripción

int Imagick::getIteratorIndex ( void )

Devuelve el índice de la imagen activa actual dentro del objeto Imagick. Este método está disponible si Imagick ha sido compilado con la versión 6.2.9 (o superior) de ImageMagick.

Valores devueltos

Devuelve un integer que contiene el índice de la imagen en la pila.

Errores/Excepciones

Lanza ImagickException en caso de error.

Ejemplos

Ejemplo #1 Usar Imagick::getIteratorIndex():

Crear imágenes, establecer y obtener el índice del iterador

<?php
$im = new Imagick();
$im->newImage(100, 100, new ImagickPixel("red"));
$im->newImage(100, 100, new ImagickPixel("green"));
$im->newImage(100, 100, new ImagickPixel("blue"));

$im->setIteratorIndex(1);
echo $im->getIteratorIndex();
?>

Ver también

  • Imagick::setIteratorIndex() - Establece la posición del iterador
  • Imagick::getImageIndex() - Obtiene el índice de la imagen activa actual
  • Imagick::setImageIndex() - Establece la posición del iterador

Imagick::getInterlaceScheme
Imagick::getNumberImages
Imagick


Devuelve el número de imágenes del objeto

Imagick::getIteratorIndex
Imagick::getOption
Imagick
PHP Manual

Imagick::getNumberImages

(PECL imagick 2.0.0)

Imagick::getNumberImages — Devuelve el número de imágenes del objeto

Descripción

int Imagick::getNumberImages ( void )

Devuelve el número de imágenes asociadas con el objeto Imagick.

Valores devueltos

Devuelve el número de imágenes asociadas con el objeto Imagick.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getIteratorIndex
Imagick::getOption
Imagick


Devuelve un valor asociado con la clave especificada

Imagick::getNumberImages
Imagick::getPackageName
Imagick
PHP Manual

Imagick::getOption

(PECL imagick 2.0.0)

Imagick::getOption — Devuelve un valor asociado con la clave especificada

Descripción

string Imagick::getOption ( string $key )

Devuelve un valor asociado dentro del objeto para una clave especificada.

Parámetros

key

El nombre de la opción

Valores devueltos

Devuelve un valor asociado con una varita mágica y la clave especificada.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getNumberImages
Imagick::getPackageName
Imagick


Devuelve el nombre del paquete de ImageMagick

Imagick::getOption
Imagick::getPage
Imagick
PHP Manual

Imagick::getPackageName

(PECL imagick 2.0.0)

Imagick::getPackageName — Devuelve el nombre del paquete de ImageMagick

Descripción

string Imagick::getPackageName ( void )

Devuelve el nombre del paquete de ImageMagick.

Valores devueltos

Devuelve el nombre del paquete de ImageMagick como un string.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getOption
Imagick::getPage
Imagick


Devuelve la geometría de la página

Imagick::getPackageName
Imagick::getPixelIterator
Imagick
PHP Manual

Imagick::getPage

(PECL imagick 2.0.0)

Imagick::getPage — Devuelve la geometría de la página

Descripción

array Imagick::getPage ( void )

Devuelve la geometría de la página asociada con el objeto Imagick en un array asociativo con las claves "width" (ancho), "height" (alto), "x", e "y".

Valores devueltos

Devuelve la geometría de la página asociada con el objeto Imagick en un array asociativo con las claves "width" (ancho), "height" (alto), "x", e "y". lanzando una ImagickException en caso de error.

Imagick::getPackageName
Imagick::getPixelIterator
Imagick


Devuelve un objeto MagickPixelIterator

Imagick::getPage
Imagick::getPixelRegionIterator
Imagick
PHP Manual

Imagick::getPixelIterator

(PECL imagick 2.0.0)

Imagick::getPixelIterator — Devuelve un objeto MagickPixelIterator

Descripción

ImagickPixelIterator Imagick::getPixelIterator ( void )

Devuelve un objeto MagickPixelIterator.

Valores devueltos

Devuelve un objeto ImagickPixelIterator si se tuvo éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getPage
Imagick::getPixelRegionIterator
Imagick


Obtinene un objeto ImagickPixelIterator de una sección de imagen

Imagick::getPixelIterator
Imagick::getPointSize
Imagick
PHP Manual

Imagick::getPixelRegionIterator

(PECL imagick 2.0.0)

Imagick::getPixelRegionIterator — Obtinene un objeto ImagickPixelIterator de una sección de imagen

Descripción

ImagickPixelIterator Imagick::getPixelRegionIterator ( int $x , int $y , int $columns , int $rows )

Obtinene un objeto ImagickPixelIterator de una sección de imagen.

Parámetros

x

La coordenada x de la región.

y

La coordenada y de la región.

columns

El ancho de la región.

rows

El alto de la región.

Valores devueltos

Devuelve un objeto ImagickPixelIterator de una sección de imagen.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getPixelIterator
Imagick::getPointSize
Imagick


Obtiene el tamaño de punto

Imagick::getPixelRegionIterator
Imagick::getQuantumDepth
Imagick
PHP Manual

Imagick::getPointSize

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::getPointSize — Obtiene el tamaño de punto

Descripción

float Imagick::getPointSize ( void )

Devuelve la propiedad tamaño de punto de los objetos. Este método está disponible si Imagick ha sido compilado con la versión 6.3.7 (o superior) de ImageMagick.

Valores devueltos

Devuelve un float que contiene el tamaño de punto.

Ver también

  • Imagick::setPointSize() - Establece el tamaño del punto

Imagick::getPixelRegionIterator
Imagick::getQuantumDepth
Imagick


Obtiene la profundidad de la cuantía

Imagick::getPointSize
Imagick::getQuantumRange
Imagick
PHP Manual

Imagick::getQuantumDepth

(PECL imagick 2.0.0)

Imagick::getQuantumDepth — Obtiene la profundidad de la cuantía

Descripción

array Imagick::getQuantumDepth ( void )

Devuelve la profundidad de la cuantía de Imagick como un string.

Valores devueltos

Devuelve la profundidad de la cuantía de Imagick como un string.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getPointSize
Imagick::getQuantumRange
Imagick


Devuelve el rango de cuantía de Imagick

Imagick::getQuantumDepth
Imagick::getReleaseDate
Imagick
PHP Manual

Imagick::getQuantumRange

(PECL imagick 2.0.0)

Imagick::getQuantumRange — Devuelve el rango de cuantía de Imagick

Descripción

array Imagick::getQuantumRange ( void )

Devuelve el rango de cuantía de Imagick como un string.

Valores devueltos

Devuelve el rango de cuantía de Imagick como un string.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getQuantumDepth
Imagick::getReleaseDate
Imagick


Devuelve la fecha de distribución de ImageMagick

Imagick::getQuantumRange
Imagick::getResource
Imagick
PHP Manual

Imagick::getReleaseDate

(PECL imagick 2.0.0)

Imagick::getReleaseDate — Devuelve la fecha de distribución de ImageMagick

Descripción

string Imagick::getReleaseDate ( void )

Devuelve la fecha de distribución de ImageMagick como un string.

Valores devueltos

Devuelve la fecha de distribución de ImageMagick como un string.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getQuantumRange
Imagick::getResource
Imagick


Devuelve el uso de memoria del recurso especificado

Imagick::getReleaseDate
Imagick::getResourceLimit
Imagick
PHP Manual

Imagick::getResource

(PECL imagick 2.0.0)

Imagick::getResource — Devuelve el uso de memoria del recurso especificado

Descripción

int Imagick::getResource ( int $type )

Devuelve el uso de memoria del recurso especificado en megabytes.

Parámetros

type

Consulte esta lista de constantes de tipos de recursos.

Valores devueltos

Devuelve el uso de memoria del recurso especificado en megabytes.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getReleaseDate
Imagick::getResourceLimit
Imagick


Devuelve el límite del recurso especificado

Imagick::getResource
Imagick::getSamplingFactors
Imagick
PHP Manual

Imagick::getResourceLimit

(PECL imagick 2.0.0)

Imagick::getResourceLimit — Devuelve el límite del recurso especificado

Descripción

int Imagick::getResourceLimit ( int $type )

Devuelve el límite del recurso especificado.

Parámetros

type

Consulte la lista de constantes de tipos de recursos.

Valores devueltos

Devuelve el límite del recurso especificado en megabytes.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getResource
Imagick::getSamplingFactors
Imagick


Obtiene el factor de muestreo horizontal y vertical

Imagick::getResourceLimit
Imagick::getSize
Imagick
PHP Manual

Imagick::getSamplingFactors

(PECL imagick 2.0.0)

Imagick::getSamplingFactors — Obtiene el factor de muestreo horizontal y vertical

Descripción

array Imagick::getSamplingFactors ( void )

Obtiene el factor de muestreo horizontal y vertical

Valores devueltos

Devuelve un array asociativo con el factor de muestreo horizontal y vertical de la imagen.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getResourceLimit
Imagick::getSize
Imagick


Devuelve el tamaño asociado con el objeto Imagick

Imagick::getSamplingFactors
Imagick::getSizeOffset
Imagick
PHP Manual

Imagick::getSize

(PECL imagick 2.0.0)

Imagick::getSize — Devuelve el tamaño asociado con el objeto Imagick

Descripción

array Imagick::getSize ( void )

Devuelve el tamaño asociado con el objeto Imagick como una matriz con las claves "columns" (columnas) y "rows" (filas).

Valores devueltos

Devuelve el tamaño asociado con el objeto Imagick como una matriz con las claves "columns" (columnas) y "rows" (filas).

Imagick::getSamplingFactors
Imagick::getSizeOffset
Imagick


Devuelve el índice de tamaño

Imagick::getSize
Imagick::getVersion
Imagick
PHP Manual

Imagick::getSizeOffset

(PECL imagick 2.0.0)

Imagick::getSizeOffset — Devuelve el índice de tamaño

Descripción

int Imagick::getSizeOffset ( void )

Devuelve el índice de tamaño asociado con el objeto Imagick. Este método está disponible si Imagick ha sido compilado con la versión 6.2.9 (o superior) de ImageMagick.

Valores devueltos

Devuelve el índice de tamaño asociado con el objeto Imagick.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getSize
Imagick::getVersion
Imagick


Devuelve la versión de la API ImageMagick

Imagick::getSizeOffset
Imagick::haldClutImage
Imagick
PHP Manual

Imagick::getVersion

(PECL imagick 2.0.0)

Imagick::getVersion — Devuelve la versión de la API ImageMagick

Descripción

array Imagick::getVersion ( void )

Devuelve la versión de la API ImageMagick como un string y como un número.

Valores devueltos

Devuelve la versión de la API ImageMagick como un string y como un número.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getSizeOffset
Imagick::haldClutImage
Imagick


Reemplaza los colores de la imagen

Imagick::getVersion
Imagick::hasNextImage
Imagick
PHP Manual

Imagick::haldClutImage

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::haldClutImage — Reemplaza los colores de la imagen

Descripción

public bool Imagick::haldClutImage ( Imagick $clut [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Reemplaza los colores de la imagen usando una paleta Hald. Las imágenes Hald se pueden crear usando un codificador de color HALD.

Parámetros

clut

Objeto Imagick que contiene la paleta Hald.

channel

Proporciona cualquier contante de canal que sea válida para su modo de canal. Para aplicarlo a más de un canal, combine constantes de canal using bitwise operadores bit a bit. El valor por defecto para Imagick::CHANNEL_DEFAULT. Referirse a esta lista de constantes de canal

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::getVersion
Imagick::hasNextImage
Imagick


Comprueba si el objeto tiene más imágenes

Imagick::haldClutImage
Imagick::hasPreviousImage
Imagick
PHP Manual

Imagick::hasNextImage

(PECL imagick 2.0.0)

Imagick::hasNextImage — Comprueba si el objeto tiene más imágenes

Descripción

bool Imagick::hasNextImage ( void )

Devuelve TRUE si el objeto tiene más imágenes cuando se atraviesa la lista en dirección hacia delante.

Valores devueltos

Devuelve TRUE si el objeto tiene más imágenes cuando se atraviesa la lista en dirección hacia delante, devuelve FALSE si no hay ninguna.

Imagick::haldClutImage
Imagick::hasPreviousImage
Imagick


Verifica si el objeto tiene una imagen previa

Imagick::hasNextImage
Imagick::identifyImage
Imagick
PHP Manual

Imagick::hasPreviousImage

(PECL imagick 2.0.0)

Imagick::hasPreviousImage — Verifica si el objeto tiene una imagen previa

Descripción

bool Imagick::hasPreviousImage ( void )

Devuelve TRUE si el objeto tiene más imágenes cuando se atraviesa la lista en la dirección opuesta

Valores devueltos

Devuelve TRUE si el objeto tiene más imágenes cuando se atraviesa la lista en la dirección opuesta, devuelve FALSE si no hay ninguna.

Imagick::hasNextImage
Imagick::identifyImage
Imagick


Identifica una imagen y obtiene sus atributos

Imagick::hasPreviousImage
Imagick::implodeImage
Imagick
PHP Manual

Imagick::identifyImage

(PECL imagick 2.0.0)

Imagick::identifyImage — Identifica una imagen y obtiene sus atributos

Descripción

array Imagick::identifyImage ([ bool $appendRawOutput = false ] )

Identifica una imagen y devuelve los atributos. Los atributos incluyen el ancho, alto, tamaño de la imagen, entre otros.

Parámetros

appendRawOutput

Valores devueltos

Identifica una imagen y devuelve los atributos. Los atributos incluyen el ancho, alto, tamaño de la imagen, entre otros.

Ejemplo #1 Ejemplo de formato resultante

Array
(
    [imageName] => /some/path/image.jpg
    [format] => JPEG (Joint Photographic Experts Group JFIF format)
    [geometry] => Array
        (
            [width] => 90
            [height] => 90
        )

    [type] => TrueColor
    [colorSpace] => RGB
    [resolution] => Array
        (
            [x] => 300
            [y] => 300
        )

    [units] => PixelsPerInch
    [fileSize] => 1.88672kb
    [compression] => JPEG
    [signature] => 9a6dc8f604f97d0d691c0286176ddf992e188f0bebba98494b2146ee2d7118da
)

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::hasPreviousImage
Imagick::implodeImage
Imagick


Crea una nueva imagen como una copia

Imagick::identifyImage
Imagick::importImagePixels
Imagick
PHP Manual

Imagick::implodeImage

(PECL imagick 2.0.0)

Imagick::implodeImage — Crea una nueva imagen como una copia

Descripción

bool Imagick::implodeImage ( float $radius )

Crea una nueva imagen que es una copia de una existente con los píxeles de la imagen "implosionados" por el porcentaje especificado.

Parámetros

radius

El radio de la implosión

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::identifyImage
Imagick::importImagePixels
Imagick


Imoprta los píxeles de una imagen

Imagick::implodeImage
Imagick::labelImage
Imagick
PHP Manual

Imagick::importImagePixels

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::importImagePixels — Imoprta los píxeles de una imagen

Descripción

public bool Imagick::importImagePixels ( int $x , int $y , int $width , int $height , string $map , int $storage , array $pixels )

Imoprta los píxeles desde una matriz a un imagen. El mapa map normalmete es 'RGB'. Este método impone las siguientes limitaciones para los parámetros: la cantidad de píxeles en la matriz debe coincidir con width x height x longitud del mapa. Este método está disponible si Imagick ha sido compilado con la versión 6.4.5 (o superior) de ImageMagick.

Parámetros

x

La posición x de la imagen

y

La posición y de la imagen

width

El ancho de la imagen

height

El alto de la imagen

map

Mapa de píxeles ordenados, como una cadena. Esto puede ser por ejemplo RGB. El valor puede ser cualquier combinación u orden de R = rojo, G = verde, B = azul, A = alfa (0 es transparente), O = opacidad (0 es opaco), C = cian, Y = amarillo, M = magenta, K = negro, I = intensidad (para escala de grises), P = relleno.

storage

El método de almacenamiento de los píxeles. Consulte esta lista de constantes de píxel.

pixels

La matriz de píxeles

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de Imagick::importImagePixels()

<?php

/* Generar una matriz de píxeles. 2000 píxeles por raya de color */
$cuenta = 2000 * 3;

$píxeles =
   array_merge(array_pad(array(), $cuenta, 0),
               array_pad(array(), $cuenta, 255),
               array_pad(array(), $cuenta, 0),
               array_pad(array(), $cuenta, 255),
               array_pad(array(), $cuenta, 0));

/* Ancho y alto. El área es la cantidad de píxeles dividido
   por tres. Tres viene de 'RGB', tres valores por píxel */
$ancho = $alto = pow((count($píxeles) / 3), 0.5);

/* Crear una imagen vacía */
$im = new Imagick();
$im->newImage($ancho, $alto, 'gray');

/* Importar los píxeles a la imagen.
   ancho * alto * strlen("RGB") debe coincidir con count($píxeles) */
$im->importImagePixels(0, 0, $ancho, $alto, "RGB", Imagick::PIXEL_CHAR, $píxeles);

/* Imprimir como una imagen jpeg */
$im->setImageFormat('jpg');
header("Content-Type: image/jpg");
echo $im;

?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : Imagick::importImagePixels()

Imagick::implodeImage
Imagick::labelImage
Imagick


Añade una etiqueta a una imagen

Imagick::importImagePixels
Imagick::levelImage
Imagick
PHP Manual

Imagick::labelImage

(PECL imagick 2.0.0)

Imagick::labelImage — Añade una etiqueta a una imagen

Descripción

bool Imagick::labelImage ( string $label )

Añade una etiqueta a una imagen.

Parámetros

label

La etiqueta a añadir

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::importImagePixels
Imagick::levelImage
Imagick


Ajusta los niveles de la imagen

Imagick::labelImage
Imagick::linearStretchImage
Imagick
PHP Manual

Imagick::levelImage

(PECL imagick 2.0.0)

Imagick::levelImage — Ajusta los niveles de la imagen

Descripción

bool Imagick::levelImage ( float $blackPoint , float $gamma , float $whitePoint [, int $channel = Imagick::CHANNEL_ALL ] )

Ajusta los niveles de una imagen escalando la caída de los colores entre los puntos blanco y negro especificados al rango completo de cuantía disponible. Los parámetros proporcionados representan los puntos negro, mitad, y blanco. El punto negro especifica el color más oscuro de la imagen. Los colores más oscuros que el punto negro se establecen a cero. El punto medio especifica una corrección gamma a aplicar a la imagen. Mientras que el punto blanco especifica el color más claro de la imagen. Los colores más claros que el punto blanco se establecen al valor de cuantía máximo.

Parámetros

blackPoint

El punto negro de la imagen

gamma

El valor gamma

whitePoint

El punto blanco de la imagen

channel

Proporcione cualquier constante de canal que sea válida para su modo de canal. Para aplicar más de un canal, combine las constantes channeltype usando operadores a nivel de bits. Consulte esta lista de constantes de canal.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::labelImage
Imagick::linearStretchImage
Imagick


Estrecha con saturación la intensidad de la imagen

Imagick::levelImage
Imagick::liquidRescaleImage
Imagick
PHP Manual

Imagick::linearStretchImage

(PECL imagick 2.0.0)

Imagick::linearStretchImage — Estrecha con saturación la intensidad de la imagen

Descripción

bool Imagick::linearStretchImage ( float $blackPoint , float $whitePoint )

Estrecha con saturación la intensidad de la imagen.

Parámetros

blackPoint

El punto negro de la imagen

whitePoint

El punto blanco de la imagen

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::levelImage
Imagick::liquidRescaleImage
Imagick


Anima una imagen o imágenes

Imagick::linearStretchImage
Imagick::magnifyImage
Imagick
PHP Manual

Imagick::liquidRescaleImage

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::liquidRescaleImage — Anima una imagen o imágenes

Descripción

bool Imagick::liquidRescaleImage ( int $width , int $height , float $delta_x , float $rigidity )

Este método escala las imágenes usando un método de re-escalada líquido. Este método es una implementación de una técnica llamada "seam carving" (talla de costura). Para que este método funcione como es debido, ImageMagick se debe compilar con el soporte para la biblioteca liblqr. Este método está disponible si Imagick ha sido compilado con la versión 6.3.9 (o superior) de ImageMagick.

Parámetros

width

El ancho del tamaño objetivo

height

El alto del tamaño objetivo

delta_x

Cuánto puede atravesar la costura el eje x. Pasar 0 causa que las costuras sean rectas.

rigidity

Introduce un sesgo para costuras no rectas. Este parámetro normalmente es 0.

Valores devueltos

Devuelve TRUE en caso de éxito.

Ver también

  • Imagick::resizeImage() - Escala una imagen

Imagick::linearStretchImage
Imagick::magnifyImage
Imagick


Escala una imagen x2 proporcionalmente

Imagick::liquidRescaleImage
Imagick::mapImage
Imagick
PHP Manual

Imagick::magnifyImage

(PECL imagick 2.0.0)

Imagick::magnifyImage — Escala una imagen x2 proporcionalmente

Descripción

bool Imagick::magnifyImage ( void )

Es un método conveniente que escala una imagen proporcionalmente al doble de su tamaño original.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::liquidRescaleImage
Imagick::mapImage
Imagick


Reemplaza los colores de una imagen con el color más cercano de una imagen de referencia

Imagick::magnifyImage
Imagick::matteFloodfillImage
Imagick
PHP Manual

Imagick::mapImage

(PECL imagick 2.0.0)

Imagick::mapImage — Reemplaza los colores de una imagen con el color más cercano de una imagen de referencia

Descripción

bool Imagick::mapImage ( Imagick $map , bool $dither )

Parámetros

map

dither

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::magnifyImage
Imagick::matteFloodfillImage
Imagick


Cambia el valor de transparencia de un color

Imagick::mapImage
Imagick::medianFilterImage
Imagick
PHP Manual

Imagick::matteFloodfillImage

(PECL imagick 2.0.0)

Imagick::matteFloodfillImage — Cambia el valor de transparencia de un color

Descripción

bool Imagick::matteFloodfillImage ( float $alpha , float $fuzz , mixed $bordercolor , int $x , int $y )

Cambia el valor de transparencia de un píxel que coincide con el objetivo y esté en la zona inmediata. Si el método FillToBorderMethod se especifica, el valor de transparencia se cambia por cualquier píxel inmediato que no coincida con el miembro color del borde de la imagen.

Parámetros

alpha

El nivel de transparencia: 1.0 es completamente opaco y 0.0 es completamente transparente.

fuzz

El miembro enfoque de la imagen define cuánta tolerancia se acepta para considerar que dos colores son el mismo.

bordercolor

Un objeto ImagickPixel o una cadena que representa el color del borde.

x

La coordenada x de inicio de la operación.

y

La coordenada y de inicio de la operación.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Historial de cambios

Versión | Descripción
2.1.0 | Ahora se permite que una cadena represente el color como tercer parámetro. Versiones anteriores sólo permitían un objeto ImagickPixel.

Imagick::mapImage
Imagick::medianFilterImage
Imagick


Aplica un filtro digital

Imagick::matteFloodfillImage
Imagick::mergeImageLayers
Imagick
PHP Manual

Imagick::medianFilterImage

(PECL imagick 2.0.0)

Imagick::medianFilterImage — Aplica un filtro digital

Descripción

bool Imagick::medianFilterImage ( float $radius )

Aplica un filtro digital que mejora la calidad de una imagen con ruido. Cada píxel es reemplazado por la media en un conjunto de píxeles inmediatos como está definido por el radio.

Parámetros

radius

El radio de la zona inmediata de los píxeles.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::matteFloodfillImage
Imagick::mergeImageLayers
Imagick


Fusiona las capas de una imagen

Imagick::medianFilterImage
Imagick::minifyImage
Imagick
PHP Manual

Imagick::mergeImageLayers

(PECL imagick 2.1.0)

Imagick::mergeImageLayers — Fusiona las capas de una imagen

Descripción

bool Imagick::mergeImageLayers ( int $layer_method )

Fusiona las capas de una imagen. Este método es útil cuando se trabaja con formatos de imagen que usan múltiples capas, como PSD. La fusión se controla usando el parámetro layer_method el cuál define cómo se fusionan las capas. Este método está disponible si Imagick ha sido compilado con la versión 6.3.7 (o superior) de ImageMagick.

Parámetros

layer_method

Una de las constantes Imagick::LAYERMETHOD_*

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Ver también

  • Imagick::flattenImages() - Fusiona una secuencia de imágenes

Imagick::medianFilterImage
Imagick::minifyImage
Imagick


Escala una imagen proporcionalmente a la mitad de su tamaño

Imagick::mergeImageLayers
Imagick::modulateImage
Imagick
PHP Manual

Imagick::minifyImage

(PECL imagick 2.0.0)

Imagick::minifyImage — Escala una imagen proporcionalmente a la mitad de su tamaño

Descripción

bool Imagick::minifyImage ( void )

Es un método conveniente que escala una imagen proporcionalmente a la mitad de su tamaño original.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::mergeImageLayers
Imagick::modulateImage
Imagick


Controla el brillo, la saturación y el tono

Imagick::minifyImage
Imagick::montageImage
Imagick
PHP Manual

Imagick::modulateImage

(PECL imagick 2.0.0)

Imagick::modulateImage — Controla el brillo, la saturación y el tono

Descripción

bool Imagick::modulateImage ( float $brightness , float $saturation , float $hue )

Permite controlar el brillo, la saturación y el tono de una imagen. El tono es el porcentaje de la rotación absoluta desde la posición actual. Por ejemplo, 50 resulta en una rotación en el sentido contrario a las agujas del reloj de 90 grados, 150 resulta en una rotación en el sentido de las agujas del reloj de 90 grados, con 0 y 200 resultando en una rotación de 180 grados.

Parámetros

brightness

saturation

hue

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::minifyImage
Imagick::montageImage
Imagick


Crea una imagen compuesta

Imagick::modulateImage
Imagick::morphImages
Imagick
PHP Manual

Imagick::montageImage

(PECL imagick 2.0.0)

Imagick::montageImage — Crea una imagen compuesta

Descripción

Imagick Imagick::montageImage ( ImagickDraw $draw , string $tile_geometry , string $thumbnail_geometry , int $mode , string $frame )

Crea una imagen compuesta combinando varias imágenes por separado. Las imágenes forman un mosaico de la imagen compuesta con el nombre de la imagen apareciendo opcionalmente debajo de cada tesela individual.

Parámetros

draw

El nombre de la fuente, tamaño y color se obtienen de este objeto.

tile_geometry

El número de teselas por fila y página (p.ej. 6x4+0+0).

thumbnail_geometry

Tamaño preferido de la imagen y del borde de cada miniatura (p.ej. 120x120+4+3>).

mode

Modo de enmarcación de la miniatura, véase constantes de Modo de Montaje.

frame

Rodea la imagen con un borde ornamental (p.ej. 15x15+3+3). El color del marco es el color mate de la miniatura.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::modulateImage
Imagick::morphImages
Imagick


Metamorfosea un conjunto de imágenes

Imagick::montageImage
Imagick::mosaicImages
Imagick
PHP Manual

Imagick::morphImages

(PECL imagick 2.0.0)

Imagick::morphImages — Metamorfosea un conjunto de imágenes

Descripción

Imagick Imagick::morphImages ( int $number_frames )

Metamorfosea un conjunto de imágenes. Los píxeles de la imagen y el tamaño son interpolados linealmente para dar la apariencia de una metamorfosis desde una imagen a la siguiente.

Parámetros

number_frames

El número de imágenes intermedias a generar.

Valores devueltos

Este método devuelve un nuevo objeto Imagick si se tuvo éxito. Lanza ImagickException en caso de error.

Imagick::montageImage
Imagick::mosaicImages
Imagick


Forma un mosaico de imágenes

Imagick::morphImages
Imagick::motionBlurImage
Imagick
PHP Manual

Imagick::mosaicImages

(PECL imagick 2.0.0)

Imagick::mosaicImages — Forma un mosaico de imágenes

Descripción

Imagick Imagick::mosaicImages ( void )

Incrusta una secuencia de imágenes para formar una sóla imagen coherente. Devuelve una varita mágica con cada imagen de la secuencia compuesta en la ubicación definida por el índice de página de la imagen.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::morphImages
Imagick::motionBlurImage
Imagick


Simula borrosidad en movimiento

Imagick::mosaicImages
Imagick::negateImage
Imagick
PHP Manual

Imagick::motionBlurImage

(PECL imagick 2.0.0)

Imagick::motionBlurImage — Simula borrosidad en movimiento

Descripción

bool Imagick::motionBlurImage ( float $radius , float $sigma , float $angle [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Simula borrosidad en movimiento. Se convoluciona la imagen con un operador gaussiano del radio y la desviación estándar (sigma) dados. Para obtener resultados razonables, el radio debe ser mayor que sigma. Use un radio de 0 y MotionBlurImage() seleccionará un radio apropiado automáticamente. El ángulo da el ángulo del movimiento borroso.

Parámetros

radius

El radio gaussiano, en píxeles, sin contar el píxel central.

sigma

La desviación estándar gaussiana, en píxeles.

angle

Aplica el efecto a lo largo de este ángulo.

channel

Proporcione cualquier constante de canal que sea válida para su modo de canal. Para aplicar más de un canal, combine las constantes channeltype usando operadores a nivel de bits. Consulte esta lista de constantes de canal. El argumento channel afecta sólo si Imagick es compilado con la versión 6.4.4 o superior de ImageMagick.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::mosaicImages
Imagick::negateImage
Imagick


Invierte los colores en la imagen de referencia

Imagick::motionBlurImage
Imagick::newImage
Imagick
PHP Manual

Imagick::negateImage

(PECL imagick 2.0.0)

Imagick::negateImage — Invierte los colores en la imagen de referencia

Descripción

bool Imagick::negateImage ( bool $gray [, int $channel = Imagick::CHANNEL_ALL ] )

Invierte los colores en la imagen de referencia. La opción de escala de grises significa que sólo los valores de la escala de grises dentro de la imagen se inverten.

Parámetros

gray

Si sólo se invierten los píxeles de la escala de grises dentro de la imagen.

channel

Proporcione cualquier constante de canal que sea válida para su modo de canal. Para aplicar más de un canal, combine las constantes channeltype usando operadores a nivel de bits. Consulte esta lista de constantes de canal.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::motionBlurImage
Imagick::newImage
Imagick


Crea una nueva imagen

Imagick::negateImage
Imagick::newPseudoImage
Imagick
PHP Manual

Imagick::newImage

(PECL imagick 2.0.0)

Imagick::newImage — Crea una nueva imagen

Descripción

bool Imagick::newImage ( int $cols , int $rows , mixed $background [, string $format ] )

Crea una nueva imagen y asocia el valor de ImagickPixel al color de fondo

Parámetros

cols

Columnas en la nueva imagen

rows

Filas en la nueva imagen

background

El color de fondo usado para esta imagen

format

El formato de la imagen. Este parámetro se añadió en la versión 2.0.1 de Imagick.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Historial de cambios

Versión | Descripción
2.1.0 | Ahora se permite que una cadena represente el color como tercer parámetro Versiones anteriores sólo permitían un objeto ImagickPixel.

Ejemplos

Ejemplo #1 Usar Imagick::newImage():

Crear una nueva imagen y mostrarla.

<?php

$imagen = new Imagick();
$imagen->newImage(100, 100, new ImagickPixel('red'));
$imagen->setImageFormat('png');

header('Content-type: image/png');
echo $imagen;

?>

Imagick::negateImage
Imagick::newPseudoImage
Imagick


Crea una nueva imagen

Imagick::newImage
Imagick::nextImage
Imagick
PHP Manual

Imagick::newPseudoImage

(PECL imagick 2.0.0)

Imagick::newPseudoImage — Crea una nueva imagen

Descripción

bool Imagick::newPseudoImage ( int $columns , int $rows , string $pseudoString )

Crea una nueva imagen usando pseudo-formatos de ImageMagick.

Parámetros

columns

columnas en la nueva imagen

rows

filas en la nueva imagen

pseudoString

string que contiene la definición de la pseudo-imagen.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::newImage
Imagick::nextImage
Imagick


Se mueve a la siguiente imagen

Imagick::newPseudoImage
Imagick::normalizeImage
Imagick
PHP Manual

Imagick::nextImage

(PECL imagick 2.0.0)

Imagick::nextImage — Se mueve a la siguiente imagen

Descripción

bool Imagick::nextImage ( void )

Asocia la siguiente imagen de la lista de ímágenes con un objeto Imagick.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::newPseudoImage
Imagick::normalizeImage
Imagick


Mejora el contraste de una imagen a color

Imagick::nextImage
Imagick::oilPaintImage
Imagick
PHP Manual

Imagick::normalizeImage

(PECL imagick 2.0.0)

Imagick::normalizeImage — Mejora el contraste de una imagen a color

Descripción

bool Imagick::normalizeImage ([ int $channel = Imagick::CHANNEL_ALL ] )

Mejora el contraste de una imagen a color ajustando los colores de los píxeles para abarcar el rango completo de colores disponibles.

Parámetros

channel

Proporcione cualquier constante de canal que sea válida para su modo de canal. Para aplicar más de un canal, combine las constantes channeltype usando operadores a nivel de bits. Consulte esta lista de constantes de canal.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::nextImage
Imagick::oilPaintImage
Imagick


Simula una pintura al óleo

Imagick::normalizeImage
Imagick::opaquePaintImage
Imagick
PHP Manual

Imagick::oilPaintImage

(PECL imagick 2.0.0)

Imagick::oilPaintImage — Simula una pintura al óleo

Descripción

bool Imagick::oilPaintImage ( float $radius )

Aplica un filtro de efecto especial que simula una pintura al óleo. Cada píxel es reemplazado por el color más frecuente que suceda en una región circular definida por el radio.

Parámetros

radius

El radio de la zona circular inmediata.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::normalizeImage
Imagick::opaquePaintImage
Imagick


Cambia el color de cualquier píxel que coincida con el objetivo

Imagick::oilPaintImage
Imagick::optimizeImageLayers
Imagick
PHP Manual

Imagick::opaquePaintImage

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::opaquePaintImage — Cambia el color de cualquier píxel que coincida con el objetivo

Descripción

bool Imagick::opaquePaintImage ( mixed $target , mixed $fill , float $fuzz , bool $invert [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Cambia cualquier píxel que coincida con el color definido para el relleno. Este método está disponible si Imagick ha sido compilado con la versión 6.3.8 (o superior) de ImageMagick.

Parámetros

target

Objeto ImagickPixel o una cadena que contiene el color a cambiar

fill

El color sustituto

fuzz

La cantidad de difusión. Por ejemplo, setee fuzz a 10 y el color rojo a intensidades de 100 y 102 respectivamente son ahora interpretados como el mismo color.

invert

Si es TRUE pinta cualquier píxel que no coincida con el color objetivo.

channel

Proporciona cualquier contante de canal que sea válida para su modo de canal. Para aplicarlo a más de un canal, combine constantes de canal using bitwise operadores bit a bit. El valor por defecto para Imagick::CHANNEL_DEFAULT. Referirse a esta lista de constantes de canal

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::oilPaintImage
Imagick::optimizeImageLayers
Imagick


Elimina porciones repetidas de imágenes para optimizarlas

Imagick::opaquePaintImage
Imagick::orderedPosterizeImage
Imagick
PHP Manual

Imagick::optimizeImageLayers

(PECL imagick 2.0.0)

Imagick::optimizeImageLayers — Elimina porciones repetidas de imágenes para optimizarlas

Descripción

bool Imagick::optimizeImageLayers ( void )

Compara cada imagen con las formas de disposición del formato GIF de la imagen previa en la secuencia. Desde aquí se intenta seleccionar la imagen recortada más pequeña para reemplazar cada fotograma, mientras se preservan los resultados de la animación. Este método está disponible si Imagick ha sido compilado con la versión 6.2.9 (o superior) de ImageMagick.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Ejemplos

Ejemplo #1 Usar Imagick::optimizeImageLayers()

Leer, optimizar y escribir una imagen GIF

<?php
/* crear un nuevo objeto Imagick */
$im = new Imagick("prueba.gif");

/* optimizar las capas de la imagen */
$im->optimizeImageLayers();

/* escribir la imagen */
$im->writeImages("prueba_optimizada.gif", true);
?>

Ver también

  • Imagick::compareImageLayers() - Devuelve la región circundante máxima entre imágenes
  • Imagick::writeImages() - Escribe una imagen o secuencia de imágenes
  • Imagick::writeImage() - Escribe una imagen al nombre de fichero especificado

Imagick::opaquePaintImage
Imagick::orderedPosterizeImage
Imagick


Realiza un entramado ordenado

Imagick::optimizeImageLayers
Imagick::paintFloodfillImage
Imagick
PHP Manual

Imagick::orderedPosterizeImage

(PECL imagick 2.2.2)

Imagick::orderedPosterizeImage — Realiza un entramado ordenado

Descripción

bool Imagick::orderedPosterizeImage ( string $threshold_map [, int $channel = Imagick::CHANNEL_ALL ] )

Realiza un entramado ordenado basado en varios mapas de umbral de entramado predefinidos, pero sobre múltiples niveles de intensidad, lo que puede ser diferente para distintos canales, según los argumentos de entrada. Este método está disponible si Imagick ha sido compilado con la versión 6.3.1 (o superior) de ImageMagick.

Parámetros

threshold_map

Un string que contiene el nombre del mapa de umbral de entramado que se va a usar

channel

Proporcione cualquier constante de canal que sea válida para su modo de canal. Para aplicar más de un canal, combine las constantes channeltype usando operadores a nivel de bits. Consulte esta lista de constantes de canal.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::optimizeImageLayers
Imagick::paintFloodfillImage
Imagick


Cambia el valor del color de cualquier píxel que coincida con el objetivo

Imagick::orderedPosterizeImage
Imagick::paintOpaqueImage
Imagick
PHP Manual

Imagick::paintFloodfillImage

(PECL imagick 2.1.0)

Imagick::paintFloodfillImage — Cambia el valor del color de cualquier píxel que coincida con el objetivo

Descripción

bool Imagick::paintFloodfillImage ( mixed $fill , float $fuzz , mixed $bordercolor , int $x , int $y [, int $channel = Imagick::CHANNEL_ALL ] )

Cambia el valor del color de cualquier píxel que coincida con el objetivo y esté en la zona inmediata. A partir de ImageMagick 6.3.8 este método está obsoleto y se debería usar Imagick::floodfillPaintImage() en su lugar.

Parámetros

fill

Objeto ImagickPixel o un string que contiene el color de relleno

fuzz

La cantidad de enfoque. Por ejemplo, establecer el enfoque a 10 y el color a rojo con una intensidad de 100 y 102 respectivamente ahora se interpreta como el mismo color para los propósitos del relleno.

bordercolor

Objeto ImagickPixel que contiene el color de borde

x

Posición X del inicio del relleno

y

Posición Y del inicio del relleno

channel

Proporciona cualquier contante de canal que sea válida para su modo de canal. Para aplicarlo a más de un canal, combine constantes de canal using bitwise operadores bit a bit. El valor por defecto para Imagick::CHANNEL_DEFAULT. Referirse a esta lista de constantes de canal

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::orderedPosterizeImage
Imagick::paintOpaqueImage
Imagick


Cambia cualquier píxel que coincida con el color

Imagick::paintFloodfillImage
Imagick::paintTransparentImage
Imagick
PHP Manual

Imagick::paintOpaqueImage

(PECL imagick 2.0.0)

Imagick::paintOpaqueImage — Cambia cualquier píxel que coincida con el color

Descripción

bool Imagick::paintOpaqueImage ( mixed $target , mixed $fill , float $fuzz [, int $channel = Imagick::CHANNEL_ALL ] )

Cambia cualquier píxel que coincida con el color definido por el relleno.

Parámetros

target

Cambia este color objetivo por el color de relleno de la imagen. Un objeto ImagickPixel o una cadena que representa el color objetivo.

fill

Un objeto ImagickPixel o un string que representa el color de relleno.

fuzz

El miembro enfoque de la imagen define cúanta tolerancia es aceptable para considerar que dos colores son el mismo.

channel

Proporcione cualquier constante de canal que sea válida para su modo de canal. Para aplicar más de un canal, combine las constantes channeltype usando operadores a nivel de bits. Consulte esta lista de constantes de canal.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Historial de cambios

Versión | Descripción
2.1.0 | Ahora se permite que una cadena represente el color como primer y segundo parámetros. Versiones anteriores sólo permitían un objeto ImagickPixel.

Imagick::paintFloodfillImage
Imagick::paintTransparentImage
Imagick


Cambia cualquier píxel que coincida con el color definido para el relleno

Imagick::paintOpaqueImage
Imagick::pingImage
Imagick
PHP Manual

Imagick::paintTransparentImage

(PECL imagick 2.0.0)

Imagick::paintTransparentImage — Cambia cualquier píxel que coincida con el color definido para el relleno

Descripción

bool Imagick::paintTransparentImage ( mixed $target , float $alpha , float $fuzz )

Cambia cualquier píxel que coincida con el color definido para el relleno.

Parámetros

target

Cambia este color objetivo por el valor de opacidad especificado dentro de la imagen.

alpha

El nivel de transparencia: 1.0 es completamente opaco y 0.0 es completamente transparente.

fuzz

El miembro enfoque de la imagen define cuánta tolerancia es aceptable para considerar que dos colores son el mismo.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Historial de cambios

Versión | Descripción
2.1.0 | Ahora se permite que una cadena represente el color como primer parámetro. Versiones anteriores sólo permitían un objeto ImagickPixel.

Imagick::paintOpaqueImage
Imagick::pingImage
Imagick


Trae los atributos básicos de una imagen

Imagick::paintTransparentImage
Imagick::pingImageBlob
Imagick
PHP Manual

Imagick::pingImage

(PECL imagick 2.0.0)

Imagick::pingImage — Trae los atributos básicos de una imagen

Descripción

bool Imagick::pingImage ( string $filename )

Este método se puede usar para preguntar por el ancho, alto, tamaño y formato de la imagen sin leer toda la imagen de la memoria.

Parámetros

filename

El nombre de fichero de donde se va a leer la información.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::paintTransparentImage
Imagick::pingImageBlob
Imagick


Traer los atributos rápidamente

Imagick::pingImage
Imagick::pingImageFile
Imagick
PHP Manual

Imagick::pingImageBlob

(PECL imagick 2.0.0)

Imagick::pingImageBlob — Traer los atributos rápidamente

Descripción

bool Imagick::pingImageBlob ( string $image )

Este método se puede usar para preguntar por el ancho, alto, tamaño y formato de la imagen sin leer toda la imagen de la memoria. Este método está disponible si Imagick ha sido compilado con la versión 6.2.9 (o superior) de ImageMagick.

Parámetros

image

Un string que contiene la imagen.

Valores devueltos

Devuelve TRUE en caso de éxito.

Ejemplos

Ejemplo #1 Usar Imagick::pingImageBlob()

Hacer ping a una imagen desde un string

<?php
/* leer el contenido de la imagen */
$imagen = file_get_contents("prueba.jpg");

/* crear un nuevo objeto imagick */
$im = new Imagick();

/* pasar el string al objeto imagick */
$im->pingImageBlob($imagen);

/* imprimir el ancho y alto de la image */
echo $im->getImageWidth() . 'x' . $im->getImageHeight();
?>

Ver también

  • Imagick::pingImage() - Trae los atributos básicos de una imagen
  • Imagick::pingImageFile() - Obtener los atrbutos básicos de la imagen de una manera liviana
  • Imagick::readImage() - Lee una imagen desde un nombre de fichero
  • Imagick::readImageBlob() - Lee una imagen desde un string binario
  • Imagick::readImageFile() - Lee una imagen desde un gestor de fichero abierto

Imagick::pingImage
Imagick::pingImageFile
Imagick


Obtener los atrbutos básicos de la imagen de una manera liviana

Imagick::pingImageBlob
Imagick::polaroidImage
Imagick
PHP Manual

Imagick::pingImageFile

(PECL imagick 2.0.0)

Imagick::pingImageFile — Obtener los atrbutos básicos de la imagen de una manera liviana

Descripción

bool Imagick::pingImageFile ( resource $filehandle [, string $fileName ] )

Este método se puede usar para preguntar por el ancho, alto, tamaño y formato de la imagen sin leer toda la imagen de la memoria. Este método está disponible si Imagick ha sido compilado con la versión 6.2.9 (o superior) de ImageMagick.

Parámetros

filehandle

Un gestor de archivo abierto a la imagen.

fileName

Nombre de archivo opcional para esta imagen.

Valores devueltos

Devuelve TRUE en caso de éxito.

Ejemplos

Ejemplo #1 Usar Imagick::pingImageFile()

Abrir una ubicación remota

<?php
/* usar fopen para abrir una ubicación remota */
$fp = fopen("http://example.com/test.jpg");

/* crear un nuevo objeto imagick */
$im = new Imagick();

/* pasar el gestor a imagick */
$im->pingImageFile($fp);
?>

Ver también

  • Imagick::pingImage() - Trae los atributos básicos de una imagen
  • Imagick::pingImageBlob() - Traer los atributos rápidamente
  • Imagick::readImage() - Lee una imagen desde un nombre de fichero
  • Imagick::readImageBlob() - Lee una imagen desde un string binario
  • Imagick::readImageFile() - Lee una imagen desde un gestor de fichero abierto

Imagick::pingImageBlob
Imagick::polaroidImage
Imagick


Simula una fotografía Polaroid

Imagick::pingImageFile
Imagick::posterizeImage
Imagick
PHP Manual

Imagick::polaroidImage

(PECL imagick 2.0.0)

Imagick::polaroidImage — Simula una fotografía Polaroid

Descripción

bool Imagick::polaroidImage ( ImagickDraw $properties , float $angle )

Simula una fotografía Polaroid. Este método está disponible si Imagick ha sido compilado con la versión 6.3.2 (o superior) de ImageMagick.

Parámetros

properties

Las propiedades de polaroid

angle

El ángulo de polaroid

Valores devueltos

Devuelve TRUE en caso de éxito.

Ejemplos

Ejemplo #1 Un ejemplo de Imagick::polaroidImage()

Un ejemplo usando Imagick::polaroidImage()

<?php
/* Crear el objeto */
$imagen = new Imagick('fuente.png');

/* Establecer la opacidad */
$imagen->polaroidImage(new ImagickDraw(), 25);

/* Imprimir la imagen */
header('Content-type: image/png');
echo $imagen;

?>

Imagick::pingImageFile
Imagick::posterizeImage
Imagick


Reduce la imagen a un número limitado de niveles de color

Imagick::polaroidImage
Imagick::previewImages
Imagick
PHP Manual

Imagick::posterizeImage

(PECL imagick 2.0.0)

Imagick::posterizeImage — Reduce la imagen a un número limitado de niveles de color

Descripción

bool Imagick::posterizeImage ( int $levels , bool $dither )

Reduce la imagen a un número limitado de niveles de color.

Parámetros

levels

dither

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::polaroidImage
Imagick::previewImages
Imagick


Precisa rápidamente los parámetros apropiados para el procesamiento de la imagen

Imagick::posterizeImage
Imagick::previousImage
Imagick
PHP Manual

Imagick::previewImages

(PECL imagick 2.0.0)

Imagick::previewImages — Precisa rápidamente los parámetros apropiados para el procesamiento de la imagen

Descripción

bool Imagick::previewImages ( int $preview )

Crea un mosaico de 9 miniaturas de la imagen especificada con la operación de proceso de imágenes aplicada en varias intensidades. Esto es de útil para precisar rápidamente un parámetro apropiado para una operación de proceso de imágenes.

Parámetros

preview

Tipo de previsualización. Véase constantes de tipos de previsualización

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::posterizeImage
Imagick::previousImage
Imagick


Se mueve a la imagen previa del objeto

Imagick::previewImages
Imagick::profileImage
Imagick
PHP Manual

Imagick::previousImage

(PECL imagick 2.0.0)

Imagick::previousImage — Se mueve a la imagen previa del objeto

Descripción

bool Imagick::previousImage ( void )

Asocia la imagen previa en una lista de imágenes con el objeto Imagick.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::previewImages
Imagick::profileImage
Imagick


Añade o elimina un perfil de una imagen

Imagick::previousImage
Imagick::quantizeImage
Imagick
PHP Manual

Imagick::profileImage

(PECL imagick 2.0.0)

Imagick::profileImage — Añade o elimina un perfil de una imagen

Descripción

bool Imagick::profileImage ( string $name , string $profile )

Añade o elimina un perfil ICC, IPTC, o genérico de una imagen. Si el perfil es NULL, se elimina de la imagen, si no, se añade. Use como nombre '*' y un perfil NULL para eliminar todos los perfiles de la imagen.

Parámetros

name

profile

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::previousImage
Imagick::quantizeImage
Imagick


Analiza los colores dentro de una imagen de referencia

Imagick::profileImage
Imagick::quantizeImages
Imagick
PHP Manual

Imagick::quantizeImage

(PECL imagick 2.0.0)

Imagick::quantizeImage — Analiza los colores dentro de una imagen de referencia

Descripción

bool Imagick::quantizeImage ( int $numberColors , int $colorspace , int $treedepth , bool $dither , bool $measureError )

Parámetros

numberColors

colorspace

treedepth

dither

measureError

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::profileImage
Imagick::quantizeImages
Imagick


Analiza los colores dentro de una secuencia de imágenes

Imagick::quantizeImage
Imagick::queryFontMetrics
Imagick
PHP Manual

Imagick::quantizeImages

(PECL imagick 2.0.0)

Imagick::quantizeImages — Analiza los colores dentro de una secuencia de imágenes

Descripción

bool Imagick::quantizeImages ( int $numberColors , int $colorspace , int $treedepth , bool $dither , bool $measureError )

Parámetros

numberColors

colorspace

treedepth

dither

measureError

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::quantizeImage
Imagick::queryFontMetrics
Imagick


Devuelve una matriz que representa las métricas de la fuente

Imagick::quantizeImages
Imagick::queryFonts
Imagick
PHP Manual

Imagick::queryFontMetrics

(PECL imagick 2.0.0)

Imagick::queryFontMetrics — Devuelve una matriz que representa las métricas de la fuente

Descripción

array Imagick::queryFontMetrics ( ImagickDraw $properties , string $text [, bool $multiline ] )

Devuelve un array multidimensional que representa las métricas de la fuente.

Parámetros

properties

Objeto ImagickDraw que contiene las propiedades de la fuente

text

El texto

multiline

Parámetro multilínea. Si se deja vacío se autodetecta

Valores devueltos

Devuelve un array multidimensional que representa las métricas de la fuente.

Errores/Excepciones

Lanza ImagickException en caso de error.

Ejemplos

Ejemplo #1 Usar Imagick::queryFontMetrics():

Preguntar por las métricas del texto y verter los resultados en la pantalla.

<?php
/* Crear un nuevo objeto Imagick */
$im = new Imagick();

/* Crear un objeto ImagickDraw */
$draw = new ImagickDraw();

/* Establecer la fuente */
$draw->setFont('/path/to/font.ttf');

/* Verter las métricas de la fuente, autodetectado multilínea */
var_dump($im->queryFontMetrics($draw, "¡Hola Mundo!"));
?>

Imagick::quantizeImages
Imagick::queryFonts
Imagick


Devuelve las fuentes configuradas

Imagick::queryFontMetrics
Imagick::queryFormats
Imagick
PHP Manual

Imagick::queryFonts

(PECL imagick 2.0.0)

Imagick::queryFonts — Devuelve las fuentes configuradas

Descripción

array Imagick::queryFonts ([ string $pattern = "*" ] )

Devuelve las fuentes configuradas.

Parámetros

pattern

El patrón de consulta

Valores devueltos

Devuelve un array que contiene las fuentes configuradas.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::queryFontMetrics
Imagick::queryFormats
Imagick


Devuelve los formatos soportados por Imagick

Imagick::queryFonts
Imagick::radialBlurImage
Imagick
PHP Manual

Imagick::queryFormats

(PECL imagick 2.0.0)

Imagick::queryFormats — Devuelve los formatos soportados por Imagick

Descripción

array Imagick::queryFormats ([ string $pattern = "*" ] )

Devuelve los formatos soportados por Imagick.

Parámetros

pattern

Valores devueltos

Devuelve un array que contiene los formatos soportados por Imagick.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::queryFonts
Imagick::radialBlurImage
Imagick


Hace borrosa de forma radial una imagen

Imagick::queryFormats
Imagick::raiseImage
Imagick
PHP Manual

Imagick::radialBlurImage

(PECL imagick 2.0.0)

Imagick::radialBlurImage — Hace borrosa de forma radial una imagen

Descripción

bool Imagick::radialBlurImage ( float $angle [, int $channel = Imagick::CHANNEL_ALL ] )

Hace borrosa de forma radial una imagen.

Parámetros

angle

channel

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::queryFormats
Imagick::raiseImage
Imagick


Crea un efecto de botón en 3D simulado

Imagick::radialBlurImage
Imagick::randomThresholdImage
Imagick
PHP Manual

Imagick::raiseImage

(PECL imagick 2.0.0)

Imagick::raiseImage — Crea un efecto de botón en 3D simulado

Descripción

bool Imagick::raiseImage ( int $width , int $height , int $x , int $y , bool $raise )

Crea un efecto de botón tridimensional simulado aclarando y oscureciendo los bordes de la imagen. Los miembros ancho y alto de la información de elevación definen el ancho del borde vertical y horizontal del efecto.

Parámetros

width

height

x

y

raise

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::radialBlurImage
Imagick::randomThresholdImage
Imagick


Crea una imagen de alto contraste y dos colores

Imagick::raiseImage
Imagick::readImage
Imagick
PHP Manual

Imagick::randomThresholdImage

(PECL imagick 2.0.0)

Imagick::randomThresholdImage — Crea una imagen de alto contraste y dos colores

Descripción

bool Imagick::randomThresholdImage ( float $low , float $high [, int $channel = Imagick::CHANNEL_ALL ] )

Cambia el valor de píxeles individuales basados en la instensidad de cada píxel comparado con el umbral. El resultado es una imagen de alto contraste y dos colores. Este método está disponible si Imagick ha sido compilado con la versión 6.2.9 (o superior) de ImageMagick.

Parámetros

low

El punto bajo

high

El punto alto

channel

Proporcione cualquier constante de canal que sea válida para su modo de canal. Para aplicar más de un canal, combine las constantes channeltype usando operadores a nivel de bits. Consulte esta lista de constantes de canal.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::raiseImage
Imagick::readImage
Imagick


Lee una imagen desde un nombre de fichero

Imagick::randomThresholdImage
Imagick::readImageBlob
Imagick
PHP Manual

Imagick::readImage

(PECL imagick 0.9.0-0.9.9)

Imagick::readImage — Lee una imagen desde un nombre de fichero

Descripción

bool Imagick::readImage ( string $filename )

Lee una imagen desde un nombre de fichero

Parámetros

filename

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::randomThresholdImage
Imagick::readImageBlob
Imagick


Lee una imagen desde un string binario

Imagick::readImage
Imagick::readImageFile
Imagick
PHP Manual

Imagick::readImageBlob

(PECL imagick 2.0.0)

Imagick::readImageBlob — Lee una imagen desde un string binario

Descripción

bool Imagick::readImageBlob ( string $image [, string $filename ] )

Lee una imagen desde un string binario

Parámetros

image

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::readImage
Imagick::readImageFile
Imagick


Lee una imagen desde un gestor de fichero abierto

Imagick::readImageBlob
Imagick::recolorImage
Imagick
PHP Manual

Imagick::readImageFile

(PECL imagick 2.0.0)

Imagick::readImageFile — Lee una imagen desde un gestor de fichero abierto

Descripción

bool Imagick::readImageFile ( resource $filehandle [, string $fileName = null ] )

Lee una imagen desde un gestor de fichero abierto

Parámetros

filehandle

fileName

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::readImageBlob
Imagick::recolorImage
Imagick


Re-colorea una imagen

Imagick::readImageFile
Imagick::reduceNoiseImage
Imagick
PHP Manual

Imagick::recolorImage

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::recolorImage — Re-colorea una imagen

Descripción

bool Imagick::recolorImage ( array $matrix )

Traslada, escala, recorta, o rota colores de imagen. Este método soporta matrices de tamaño variable pero normalmente se usa una matriz de 5x5 para RGBA y de 6x6 para CMYK. La última fila debería contener los valores normalizados. Este método está disponible si Imagick ha sido compilado con la versión 6.3.6 (o superior) de ImageMagick.

Parámetros

matrix

La matriz que contiene los valores de los colores

Valores devueltos

Devuelve TRUE en caso de éxito.

Ver también

  • Imagick::displayImage() - Muestra una imagen

Imagick::readImageFile
Imagick::reduceNoiseImage
Imagick


Suaviza los contornos de una imagen

Imagick::recolorImage
Imagick::remapImage
Imagick
PHP Manual

Imagick::reduceNoiseImage

(PECL imagick 2.0.0)

Imagick::reduceNoiseImage — Suaviza los contornos de una imagen

Descripción

bool Imagick::reduceNoiseImage ( float $radius )

Suaviza los contornos de una imagen mientras que se preserva todavía la información del borde. El algoritmo funciona reemplazando cada píxel con su más cercano inmediato en valor. La zona inmediata está definida por el radio. Use un radio de 0 y Imagick::reduceNoiseImage() seleccionará una radio apropiado automáticamente.

Parámetros

radius

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::recolorImage
Imagick::remapImage
Imagick


Re-mapea los colores de una imagen

Imagick::reduceNoiseImage
Imagick::removeImage
Imagick
PHP Manual

Imagick::remapImage

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::remapImage — Re-mapea los colores de una imagen

Descripción

public bool Imagick::remapImage ( Imagick $replacement , int $DITHER )

Reemplaza los colores de una imagen con los definidos por el parámetro replacement. Los colores son reemplazados con el color más cercano posible. Este método está disponible si Imagick ha sido compilado con la versión 6.4.5 (o superior) de ImageMagick.

Parámetros

replacement

Un objeto Imagick que contiene los colores sustitutos

DITHER

Consulte esta lista de constantes de métodos de entramado

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::reduceNoiseImage
Imagick::removeImage
Imagick


Quita una imagen de la lista de imágenes

Imagick::remapImage
Imagick::removeImageProfile
Imagick
PHP Manual

Imagick::removeImage

(PECL imagick 2.0.0)

Imagick::removeImage — Quita una imagen de la lista de imágenes

Descripción

bool Imagick::removeImage ( void )

Quita una imagen de la lista de imágenes.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::remapImage
Imagick::removeImageProfile
Imagick


Elimina el perfil nominado de la imagen y lo devuelve

Imagick::removeImage
Imagick::render
Imagick
PHP Manual

Imagick::removeImageProfile

(PECL imagick 2.0.0)

Imagick::removeImageProfile — Elimina el perfil nominado de la imagen y lo devuelve

Descripción

string Imagick::removeImageProfile ( string $name )

Elimina el perfil con nombre de la imagen y lo devuelve.

Parámetros

name

Valores devueltos

Devuelve un string que contiene el perfil de la imagen.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::removeImage
Imagick::render
Imagick


Renderiza todos los comandos de dibujo precedentes

Imagick::removeImageProfile
Imagick::resampleImage
Imagick
PHP Manual

Imagick::render

(PECL imagick 2.0.0)

Imagick::render — Renderiza todos los comandos de dibujo precedentes

Descripción

bool Imagick::render ( void )

Renderiza todos los comandos de dibujo precedentes.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::removeImageProfile
Imagick::resampleImage
Imagick


Re-muestrea la imagen a la resolución deseada

Imagick::render
Imagick::resetImagePage
Imagick
PHP Manual

Imagick::resampleImage

(PECL imagick 2.0.0)

Imagick::resampleImage — Re-muestrea la imagen a la resolución deseada

Descripción

bool Imagick::resampleImage ( float $x_resolution , float $y_resolution , int $filter , float $blur )

Re-muestrea la imagen a la resolución deseada.

Parámetros

x_resolution

y_resolution

filter

blur

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::render
Imagick::resetImagePage
Imagick


Reinicia una página de imagen

Imagick::resampleImage
Imagick::resizeImage
Imagick
PHP Manual

Imagick::resetImagePage

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::resetImagePage — Reinicia una página de imagen

Descripción

bool Imagick::resetImagePage ( string $page )

La definición de página como un string. La string está en formato WxH+x+y (Ancho+Alto+x+y). Este método está disponible si Imagick ha sido compilado con la versión 6.3.6 (o superior) de ImageMagick.

Parámetros

page

La definición de página. Por ejemplo 7168x5147+0+0

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::resampleImage
Imagick::resizeImage
Imagick


Escala una imagen

Imagick::resetImagePage
Imagick::rollImage
Imagick
PHP Manual

Imagick::resizeImage

(PECL imagick 2.0.0)

Imagick::resizeImage — Escala una imagen

Descripción

bool Imagick::resizeImage ( int $columns , int $rows , int $filter , float $blur [, bool $bestfit = false ] )

Escala una imagen a las dimensiones deseadas con un filtro.

Nota: La conducta del parámetro bestfit cambió en Imagick 3.0.0. Antes de esta versión dar la dimensión de 400x400 a una imagen de 200x150 debería no tener efecto. En Imagick 3.0.0 y superiores la imagen sería llevada al tamaño de 400x300 ya que este es el "mejor ajuste" para las dimensiones dadas. Si el parámetro bestfit es utilizado, se debe indicar tanto el ancho como el alto.

Parámetros

columns

Ancho de la imagen

rows

Alto de la imagen

filter

Consulte la lista de constantes de filtro.

blur

El factor de borrosidad donde > 1 es borroso, < 1 es nítido.

bestfit

Parámetro de ajuste opcional.

Valores devueltos

Devuelve TRUE en caso de éxito.

Historial de cambios

Versión | Descripción
2.1.0 | Añadido el parámetro opcional de ajuste. Este método ahora soporta escalas proporcionales. Pase cero como parámetro para escalar proporcionalmente.

Imagick::resetImagePage
Imagick::rollImage
Imagick


Compensa una imagen

Imagick::resizeImage
Imagick::rotateImage
Imagick
PHP Manual

Imagick::rollImage

(PECL imagick 2.0.0)

Imagick::rollImage — Compensa una imagen

Descripción

bool Imagick::rollImage ( int $x , int $y )

Compensa una imagen como está definido por x e y.

Parámetros

x

El índice X.

y

El índice Y.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::resizeImage
Imagick::rotateImage
Imagick


Rota una imagen

Imagick::rollImage
Imagick::roundCorners
Imagick
PHP Manual

Imagick::rotateImage

(PECL imagick 2.0.0)

Imagick::rotateImage — Rota una imagen

Descripción

bool Imagick::rotateImage ( mixed $background , float $degrees )

Rota una imagen el número de grados especificado. Los triángulos vacíos sobrantes por la rotación de la imagen se rellenan con el color de fondo.

Parámetros

background

El color de fondo

degrees

El número de grados de rotación de la imagen

Valores devueltos

Devuelve TRUE en caso de éxito.

Historial de cambios

Versión | Descripción
2.1.0 | Ahora se permite que una cadena represente el color como primer parámetro. Versiones anteriores sólo permitían un objeto ImagickPixel.

Imagick::rollImage
Imagick::roundCorners
Imagick


Redondea las esquinas de una imagen

Imagick::rotateImage
Imagick::sampleImage
Imagick
PHP Manual

Imagick::roundCorners

(PECL imagick 2.0.0)

Imagick::roundCorners — Redondea las esquinas de una imagen

Descripción

bool Imagick::roundCorners ( float $x_rounding , float $y_rounding [, float $stroke_width = 10 [, float $displace = 5 [, float $size_correction = -6 ]]] )

Redondea las esquinas de una imagen. Los dos primeros parámetros controlan la cantidad de redondeo y los tres últimos parámetros se pueden usar para afinar el proceso de redondeo. Este método está disponible si Imagick ha sido compilado con la versión 6.2.9 (o superior) de ImageMagick.

Parámetros

x_rounding

redondeo x

y_rounding

redondeo y

stroke_width

ancho del contorno

displace

desplazamiento de la imagen

size_correction

corrección del tamaño

Ejemplos

Ejemplo #1 Usar Imagick::roundCorners():

Redondear las esquinas de una imagen

<?php

$imagen = new Imagick();
$imagen->newPseudoImage(100, 100, "magick:rose");
$imagen->setImageFormat("png");

$imagen->roundCorners(5,3);
$imagen->writeImage("redondeada.png");
?>

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::rotateImage
Imagick::sampleImage
Imagick


Escala una imagen con un muestreo de píxeles

Imagick::roundCorners
Imagick::scaleImage
Imagick
PHP Manual

Imagick::sampleImage

(PECL imagick 2.0.0)

Imagick::sampleImage — Escala una imagen con un muestreo de píxeles

Descripción

bool Imagick::sampleImage ( int $columns , int $rows )

Escala una imagen a las dimensiones deseadas con un muestreo de píxeles. A diferencia de otros métodos de escala, este método no introduce colores adicionales en la imagen escalada.

Parámetros

columns

rows

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::roundCorners
Imagick::scaleImage
Imagick


Escala el tamaño de una imagen

Imagick::sampleImage
Imagick::segmentImage
Imagick
PHP Manual

Imagick::scaleImage

(PECL imagick 2.0.0)

Imagick::scaleImage — Escala el tamaño de una imagen

Descripción

bool Imagick::scaleImage ( int $cols , int $rows [, bool $bestfit = false ] )

Escala el tamaño de una imagen a las dimensiones dadas. El otro parámetro será calculado si se pasa 0 como parámetro.

Nota: La conducta del parámetro bestfit cambió en Imagick 3.0.0. Antes de esta versión dar la dimensión de 400x400 a una imagen de 200x150 debería no tener efecto. En Imagick 3.0.0 y superiores la imagen sería llevada al tamaño de 400x300 ya que este es el "mejor ajuste" para las dimensiones dadas. Si el parámetro bestfit es utilizado, se debe indicar tanto el ancho como el alto.

Parámetros

cols

rows

bestfit

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Historial de cambios

Versión | Descripción
2.1.0 | Añadido el parámetro opcional de ajuste. Este método ahora soporta escalas proporcionales. Pase cero como parámetro para escalar proporcionalmente.

Imagick::sampleImage
Imagick::segmentImage
Imagick


Segmenta una imagen

Imagick::scaleImage
Imagick::separateImageChannel
Imagick
PHP Manual

Imagick::segmentImage

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::segmentImage — Segmenta una imagen

Descripción

public bool Imagick::segmentImage ( int $COLORSPACE , float $cluster_threshold , float $smooth_threshold [, bool $verbose = false ] )

Aanaliza la imagen e identifica unidades que son similares. Este método está disponible si Imagick ha sido compilado con la versión 6.4.5 (o superior) de ImageMagick.

Parámetros

COLORSPACE

Una de las constantes COLORSPACE.

cluster_threshold

Un porcentaje que describe el número mínimo de píxeles contenidos en la exedra antes de que se considere válido.

smooth_threshold

Elimina el ruido del histograma.

verbose

Si se imprime información detallada acerca de las clases reconocidas.

Valores devueltos

Imagick::scaleImage
Imagick::separateImageChannel
Imagick


Separa un canal de la imagen

Imagick::segmentImage
Imagick::sepiaToneImage
Imagick
PHP Manual

Imagick::separateImageChannel

(PECL imagick 2.0.0)

Imagick::separateImageChannel — Separa un canal de la imagen

Descripción

bool Imagick::separateImageChannel ( int $channel )

Separa un canal de la imagen y devuelve una imagen en escala de grises. Un canal es un componente de color en particular de cada píxel de la imagen.

Parámetros

channel

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::segmentImage
Imagick::sepiaToneImage
Imagick


Pone una imagen en tono sepia

Imagick::separateImageChannel
Imagick::setBackgroundColor
Imagick
PHP Manual

Imagick::sepiaToneImage

(PECL imagick 2.0.0)

Imagick::sepiaToneImage — Pone una imagen en tono sepia

Descripción

bool Imagick::sepiaToneImage ( float $threshold )

Aplica un efecto especial a la imagen, similar al efecto logrado en un cuarto oscuro fotográfico aplicando un tono sepia. El umbral tiene un rango desde 0 hasta el de QuantumRange y es una medida de la extensión del tono sepia. Un umbral de 80 es un buen punto de partida para un tono razonable.

Parámetros

threshold

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::separateImageChannel
Imagick::setBackgroundColor
Imagick


Establece el color de fondo por omisión del objeto

Imagick::sepiaToneImage
Imagick::setColorspace
Imagick
PHP Manual

Imagick::setBackgroundColor

(PECL imagick 2.0.0)

Imagick::setBackgroundColor — Establece el color de fondo por omisión del objeto

Descripción

bool Imagick::setBackgroundColor ( mixed $background )

Establece el color de fondo por omisión del objeto.

Parámetros

background

Valores devueltos

Devuelve TRUE en caso de éxito.

Historial de cambios

Versión | Descripción
2.1.0 | Ahora se permite que un string represente el color como un parámetro. Las versiones anteriores sólo permiten un objeto ImagickPixel.

Imagick::sepiaToneImage
Imagick::setColorspace
Imagick


Establecer el espacio de color

Imagick::setBackgroundColor
Imagick::setCompression
Imagick
PHP Manual

Imagick::setColorspace

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::setColorspace — Establecer el espacio de color

Descripción

bool Imagick::setColorspace ( int $COLORSPACE )

Establece el valor del espacio de color global para el objeto. Este método está disponible si Imagick ha sido compilado con la versión 6.5.7 (o superior) de ImageMagick.

Parámetros

COLORSPACE

Una de las constantes COLORSPACE

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::setBackgroundColor
Imagick::setCompression
Imagick


Establece el tipo de compresión predeterminado del objeto

Imagick::setColorspace
Imagick::setCompressionQuality
Imagick
PHP Manual

Imagick::setCompression

(PECL imagick 2.0.0)

Imagick::setCompression — Establece el tipo de compresión predeterminado del objeto

Descripción

bool Imagick::setCompression ( int $compression )

Establece el tipo de compresión predeterminado del objeto

Parámetros

compression

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::setColorspace
Imagick::setCompressionQuality
Imagick


Establece la calidad de compresión predeterminda del objeto

Imagick::setCompression
Imagick::setFilename
Imagick
PHP Manual

Imagick::setCompressionQuality

(PECL imagick 0.9.10-0.9.9)

Imagick::setCompressionQuality — Establece la calidad de compresión predeterminda del objeto

Descripción

bool Imagick::setCompressionQuality ( int $quality )

Establece la calidad de compresión predeterminda del objeto.

Parámetros

quality

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::setCompression
Imagick::setFilename
Imagick


Establece el nombre de archivo antes de que se lea o escriba una imagen

Imagick::setCompressionQuality
Imagick::setFirstIterator
Imagick
PHP Manual

Imagick::setFilename

(PECL imagick 2.0.0)

Imagick::setFilename — Establece el nombre de archivo antes de que se lea o escriba una imagen

Descripción

bool Imagick::setFilename ( string $filename )

Establece el nombre de fichero antes de que se lea o escriba un fichero de imagen.

Parámetros

filename

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::setCompressionQuality
Imagick::setFirstIterator
Imagick


Establece el iterador Imagick para la primera imagen

Imagick::setFilename
Imagick::setFont
Imagick
PHP Manual

Imagick::setFirstIterator

(PECL imagick 2.0.0)

Imagick::setFirstIterator — Establece el iterador Imagick para la primera imagen

Descripción

bool Imagick::setFirstIterator ( void )

Establece el iterador Imagick para la primera imagen.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::setFilename
Imagick::setFont
Imagick


Establece la fuente

Imagick::setFirstIterator
Imagick::setFormat
Imagick
PHP Manual

Imagick::setFont

(PECL imagick 2.1.0)

Imagick::setFont — Establece la fuente

Descripción

bool Imagick::setFont ( string $font )

Establece la propiedad fuente del objeto. Este método se puede usar para, por ejemplo, establecer la fuente para una leyenda: pseudo-formato. La fuente necesita estar configurada en la configuración ImageMagick o ser un archivo cuyo nombre de font debe existir. Este método no debería confundirse con ImagickDraw::setFont() el cuál establece la fuente para un objeto ImagickDraw específico. Este método está disponible si Imagick ha sido compilado con la versión 6.3.7 (o superior) de ImageMagick.

Parámetros

font

El nombre de la fuente o un nombre de fichero

Valores devueltos

Devuelve TRUE en caso de éxito.

Ver también

  • Imagick::getFont() - Obtiene la fuente
  • ImagickDraw::setFont() - Establece la fuente especificada completamente para usarla cuando se escribe texto
  • ImagickDraw::getFont() - Devuelve la fuente

Ejemplos

Ejemplo #1 Un ejemplo de Imagick::setFont()

Ejemplo usando Imagick::setFont

<?php
/* Crear un nuevo objeto imagick */
$im = new Imagick();

/* Establecer la fuente para el objeto */
$im->setFont("example.ttf");

/* Crear una leyenda nueva */
$im->newPseudoImage(100, 100, "caption:Hola");

/* Hacer algo con la imagen */
?>

Imagick::setFirstIterator
Imagick::setFormat
Imagick


Establece el formato del objeto Imagick

Imagick::setFont
Imagick::setGravity
Imagick
PHP Manual

Imagick::setFormat

(PECL imagick 2.0.0)

Imagick::setFormat — Establece el formato del objeto Imagick

Descripción

bool Imagick::setFormat ( string $format )

Establece el formato del objeto Imagick.

Parámetros

format

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::setFont
Imagick::setGravity
Imagick


Establece la gravedad

Imagick::setFormat
Imagick::setImage
Imagick
PHP Manual

Imagick::setGravity

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::setGravity — Establece la gravedad

Descripción

bool Imagick::setGravity ( int $gravity )

Establece la propiedad gravedad global para el objeto Imagick. Este método está disponible si Imagick ha sido compilado con la versión 6.4.0 (o superior) de ImageMagick.

Parámetros

gravity

La propiedad gravedad. Consulte esta lista de constantes de gravedad.

Valores devueltos

No devuelve ningún valor.

Imagick::setFormat
Imagick::setImage
Imagick


Reemplaza una imagen en el objeto

Imagick::setGravity
Imagick::setImageAlphaChannel
Imagick
PHP Manual

Imagick::setImage

(PECL imagick 2.0.0)

Imagick::setImage — Reemplaza una imagen en el objeto

Descripción

bool Imagick::setImage ( Imagick $replace )

Reemplaza la secuencia de imágenes actual por la imagen del objeto sustituto.

Parámetros

replace

El objeto Imagick sustituto.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de Imagick::setImage()

Un ejemplo usando Imagick::setImage()

<?php
/* Crear los objetos */
$imagen = new Imagick('origen.jpg');
$sustituto = new Imagick('sustituto.jpg');

/* origen.jpg es reemplazado por sustituto.jpg */
$imagen->setImage($sustituto);

/* imprimir la imagen */
header('Content-type: image/jpeg');
echo $imagen;

?>

Imagick::setGravity
Imagick::setImageAlphaChannel
Imagick


Establece el canal alfa de la imagen

Imagick::setImage
Imagick::setImageArtifact
Imagick
PHP Manual

Imagick::setImageAlphaChannel

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::setImageAlphaChannel — Establece el canal alfa de la imagen

Descripción

bool Imagick::setImageAlphaChannel ( int $mode )

Activa o desactiva el canal alfa de la imagen. El parámetro mode es una de las constantes Imagick::ALPHACHANNEL_*. Este método está disponible si Imagick ha sido compilado con la versión 6.3.8 (o superior) de ImageMagick.

Parámetros

mode

Una de las constantes Imagick::ALPHACHANNEL_*

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Ver también

  • Imagick::setImageMatte() - Establece el canal mate de la imagen
  • Constantes del canal alfa de Imagick

Imagick::setImage
Imagick::setImageArtifact
Imagick


Establecer un artefacto de imagen

Imagick::setImageAlphaChannel
Imagick::setImageBackgroundColor
Imagick
PHP Manual

Imagick::setImageArtifact

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::setImageArtifact — Establecer un artefacto de imagen

Descripción

bool Imagick::setImageArtifact ( string $artifact , string $value )

Asocia un artefacto con una imagen. La diferencia entre las propiedades de imagen y los artefactos de imagen es que las propiedades son públicas y los artefactos son privados. Este método está disponible si Imagick ha sido compilado con la versión 6.5.7 (o superior) de ImageMagick.

Parámetros

artifact

El nombre del artefacto

value

El valor del artefacto

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Ver también

  • Imagick::getImageArtifact() - Obtener el artefacto de imagen
  • Imagick::deleteImageArtifact() - Borra un artefacto de imagen

Imagick::setImageAlphaChannel
Imagick::setImageBackgroundColor
Imagick


Establece el color de fondo de la imagen

Imagick::setImageArtifact
Imagick::setImageBias
Imagick
PHP Manual

Imagick::setImageBackgroundColor

(PECL imagick 2.0.0)

Imagick::setImageBackgroundColor — Establece el color de fondo de la imagen

Descripción

bool Imagick::setImageBackgroundColor ( mixed $background )

Establece el color de fondo de la imagen.

Parámetros

background

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Historial de cambios

Versión | Descripción
2.1.0 | Ahora se permite que un string represente el color como un parámetro. Versiones anteriores sólo permitían un objeto ImagickPixel.

Imagick::setImageArtifact
Imagick::setImageBias
Imagick


Establece el sesgo de la imagen para cualquier método que convolucione una imagen

Imagick::setImageBackgroundColor
Imagick::setImageBluePrimary
Imagick
PHP Manual

Imagick::setImageBias

(PECL imagick 2.0.0)

Imagick::setImageBias — Establece el sesgo de la imagen para cualquier método que convolucione una imagen

Descripción

bool Imagick::setImageBias ( float $bias )

Establece el sesgo de la imagen para cualquier método que convolucione una imagen (p.ej. Imagick::ConvolveImage()).

Parámetros

bias

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::setImageBackgroundColor
Imagick::setImageBluePrimary
Imagick


Establece el punto primario azul de la cromaticidad de la imagen

Imagick::setImageBias
Imagick::setImageBorderColor
Imagick
PHP Manual

Imagick::setImageBluePrimary

(PECL imagick 2.0.0)

Imagick::setImageBluePrimary — Establece el punto primario azul de la cromaticidad de la imagen

Descripción

bool Imagick::setImageBluePrimary ( float $x , float $y )

Establece el punto primario azul de la cromaticidad de la imagen.

Parámetros

x

y

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::setImageBias
Imagick::setImageBorderColor
Imagick


Establece el color de borde de la imagen

Imagick::setImageBluePrimary
Imagick::setImageChannelDepth
Imagick
PHP Manual

Imagick::setImageBorderColor

(PECL imagick 2.0.0)

Imagick::setImageBorderColor — Establece el color de borde de la imagen

Descripción

bool Imagick::setImageBorderColor ( mixed $border )

Establece el color de borde de la imagen.

Parámetros

border

El color de borde

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Historial de cambios

Versión | Descripción
2.1.0 | Ahora se permite que un string represente el color como parámetro. Versiones anteriores sólo permitían un objeto ImagickPixel.

Imagick::setImageBluePrimary
Imagick::setImageChannelDepth
Imagick


Establece la profundidad de una canal de imagen en particular

Imagick::setImageBorderColor
Imagick::setImageClipMask
Imagick
PHP Manual

Imagick::setImageChannelDepth

(PECL imagick 2.0.0)

Imagick::setImageChannelDepth — Establece la profundidad de una canal de imagen en particular

Descripción

bool Imagick::setImageChannelDepth ( int $channel , int $depth )

Establece la profundidad de una canal de imagen en particular.

Parámetros

channel

depth

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::setImageBorderColor
Imagick::setImageClipMask
Imagick


Establece la máscara de recorte de una imagen

Imagick::setImageChannelDepth
Imagick::setImageColormapColor
Imagick
PHP Manual

Imagick::setImageClipMask

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::setImageClipMask — Establece la máscara de recorte de una imagen

Descripción

bool Imagick::setImageClipMask ( Imagick $clip_mask )

Establece la máscara de recorte de una imagen desde otro objeto Imagick. Este método está disponible si Imagick ha sido compilado con la versión 6.3.6 (o superior) de ImageMagick.

Parámetros

clip_mask

El objeto Imagick que contiene la máscara de recorte

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::setImageChannelDepth
Imagick::setImageColormapColor
Imagick


Establece el color de un índice de mapa de color especificado

Imagick::setImageClipMask
Imagick::setImageColorspace
Imagick
PHP Manual

Imagick::setImageColormapColor

(PECL imagick 2.0.0)

Imagick::setImageColormapColor — Establece el color de un índice de mapa de color especificado

Descripción

bool Imagick::setImageColormapColor ( int $index , ImagickPixel $color )

Establece el color de un índice de mapa de color especificado.

Parámetros

index

color

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::setImageClipMask
Imagick::setImageColorspace
Imagick


Establece el espacio de color de una imagen

Imagick::setImageColormapColor
Imagick::setImageCompose
Imagick
PHP Manual

Imagick::setImageColorspace

(PECL imagick 2.0.0)

Imagick::setImageColorspace — Establece el espacio de color de una imagen

Descripción

bool Imagick::setImageColorspace ( int $colorspace )

Establece el espacio de color de una imagen.

Parámetros

colorspace

Una de las constantes COLORSPACE

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::setImageColormapColor
Imagick::setImageCompose
Imagick


Establece el operador de composción de una imagen

Imagick::setImageColorspace
Imagick::setImageCompression
Imagick
PHP Manual

Imagick::setImageCompose

(PECL imagick 2.0.0)

Imagick::setImageCompose — Establece el operador de composción de una imagen

Descripción

bool Imagick::setImageCompose ( int $compose )

Establece el operador de composción de una imagen, útil para especificar cómo componer la miniatura de la imagen cuando se usa el método Imagick::montageImage().

Parámetros

compose

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::setImageColorspace
Imagick::setImageCompression
Imagick


Establece la compresión de una imagen

Imagick::setImageCompose
Imagick::setImageCompressionQuality
Imagick
PHP Manual

Imagick::setImageCompression

(PECL imagick 2.0.0)

Imagick::setImageCompression — Establece la compresión de una imagen

Descripción

bool Imagick::setImageCompression ( int $compression )

Parámetros

compression

Una de las constantes COMPRESSION

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::setImageCompose
Imagick::setImageCompressionQuality
Imagick


Establece la calidad de compresión de una imagen

Imagick::setImageCompression
Imagick::setImageDelay
Imagick
PHP Manual

Imagick::setImageCompressionQuality

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::setImageCompressionQuality — Establece la calidad de compresión de una imagen

Descripción

bool Imagick::setImageCompressionQuality ( int $quality )

Establece la calidad de compresión de una imagen.

Parámetros

quality

La calidad de compresión de la imagen como un integer

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::setImageCompression
Imagick::setImageDelay
Imagick


Establece el retardo de una imagen

Imagick::setImageCompressionQuality
Imagick::setImageDepth
Imagick
PHP Manual

Imagick::setImageDelay

(PECL imagick 2.0.0)

Imagick::setImageDelay — Establece el retardo de una imagen

Descripción

bool Imagick::setImageDelay ( int $delay )

Establece el retardo de una imagen. Para una imagen animada, esto es la cantidad de tiempo que debería mostrarse este marco de la imagen, antes de mostrar el siguiente marco.

El retardo se puede establecer individualmente para cada marco de una imagen.

Parámetros

delay

La cantidad de tiempo expresado en 'ticks' que debería mostrarse la imagen. Para GIFs animados son 100 ticks por segundo, por lo que un valor de 20 sería 20/100 de un segundo, es decir 1/5 de un segundo.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Ejemplos

Ejemplo #1 Modificar un GIF animado con Imagick::setImageDelay()

<?php

// Modificar un GIF animado, y así sus marcos se reproduzcan a una velocidad variable,
// variando entre que se muestre para 50ms hasta 0ms, que causará que el marco
// sea saltado en la mayoría de los navegadores.
$imagick = new Imagick(realpath("Test.gif"));
$imagick = $imagick->coalesceImages();

$numMarcos = 0;

foreach ($imagick as $marco) {
    $imagick->setImageDelay((($numMarcos % 11) * 5));
    $numMarcos++;
}

$imagick = $imagick->deconstructImages();

$imagick->writeImages("/ruta/donde/guardar/output.gif", true);

?>

Imagick::setImageCompressionQuality
Imagick::setImageDepth
Imagick


Establece la profundidad de una imagen

Imagick::setImageDelay
Imagick::setImageDispose
Imagick
PHP Manual

Imagick::setImageDepth

(PECL imagick 2.0.0)

Imagick::setImageDepth — Establece la profundidad de una imagen

Descripción

bool Imagick::setImageDepth ( int $depth )

Establece la profundidad de una imagen.

Parámetros

depth

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::setImageDelay
Imagick::setImageDispose
Imagick


Establece el método de disposición de una imagen

Imagick::setImageDepth
Imagick::setImageExtent
Imagick
PHP Manual

Imagick::setImageDispose

(PECL imagick 2.0.0)

Imagick::setImageDispose — Establece el método de disposición de una imagen

Descripción

bool Imagick::setImageDispose ( int $dispose )

Establece el método de disposición de una imagen.

Parámetros

dispose

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::setImageDepth
Imagick::setImageExtent
Imagick


Establece el tamaño de una imagen

Imagick::setImageDispose
Imagick::setImageFilename
Imagick
PHP Manual

Imagick::setImageExtent

(PECL imagick 2.0.0)

Imagick::setImageExtent — Establece el tamaño de una imagen

Descripción

bool Imagick::setImageExtent ( int $columns , int $rows )

Establece el tamaño de una imagen (p.ej. columnas y filas).

Parámetros

columns

rows

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::setImageDispose
Imagick::setImageFilename
Imagick


Establece el nombre de archivo de una imagen en particular

Imagick::setImageExtent
Imagick::setImageFormat
Imagick
PHP Manual

Imagick::setImageFilename

(PECL imagick 2.0.0)

Imagick::setImageFilename — Establece el nombre de archivo de una imagen en particular

Descripción

bool Imagick::setImageFilename ( string $filename )

Establece el nombre de fichero de una imagen en particular en una secuencia.

Parámetros

filename

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::setImageExtent
Imagick::setImageFormat
Imagick


Establece el formato de una imagen en particular

Imagick::setImageFilename
Imagick::setImageGamma
Imagick
PHP Manual

Imagick::setImageFormat

(PECL imagick 2.0.0)

Imagick::setImageFormat — Establece el formato de una imagen en particular

Descripción

bool Imagick::setImageFormat ( string $format )

Establece el formato de una imagen en particular en una secuencia.

Parámetros

format

La representación string de un formato de imagen. Los formatos soportados dependen de la instalación de ImageMagick.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::setImageFilename
Imagick::setImageGamma
Imagick


Establece el valor gamma de la imagen

Imagick::setImageFormat
Imagick::setImageGravity
Imagick
PHP Manual

Imagick::setImageGamma

(PECL imagick 2.0.0)

Imagick::setImageGamma — Establece el valor gamma de la imagen

Descripción

bool Imagick::setImageGamma ( float $gamma )

Establece el valor gamma de la imagen.

Parámetros

gamma

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::setImageFormat
Imagick::setImageGravity
Imagick


Establece la gravedad de la imagen

Imagick::setImageGamma
Imagick::setImageGreenPrimary
Imagick
PHP Manual

Imagick::setImageGravity

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::setImageGravity — Establece la gravedad de la imagen

Descripción

bool Imagick::setImageGravity ( int $gravity )

Establece la propiedad gravedad de la imagen actual. Este método se puede usar para establecer la propiedad gravedad de una sóla secuencia de imágenes. Este método está disponible si Imagick ha sido compilado con la versión 6.4.4 (o superior) de ImageMagick.

Parámetros

gravity

La propiedad gravedad. Consulte esta lista de constantes de gravedad.

Valores devueltos

No devuelve ningún valor.

Imagick::setImageGamma
Imagick::setImageGreenPrimary
Imagick


Establece el punto primario verde de la cromaticidad de la imagen

Imagick::setImageGravity
Imagick::setImageIndex
Imagick
PHP Manual

Imagick::setImageGreenPrimary

(PECL imagick 2.0.0)

Imagick::setImageGreenPrimary — Establece el punto primario verde de la cromaticidad de la imagen

Descripción

bool Imagick::setImageGreenPrimary ( float $x , float $y )

Establece el punto primario verde de la cromaticidad de la imagen.

Parámetros

x

y

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::setImageGravity
Imagick::setImageIndex
Imagick


Establece la posición del iterador

Imagick::setImageGreenPrimary
Imagick::setImageInterlaceScheme
Imagick
PHP Manual

Imagick::setImageIndex

(PECL imagick 2.0.0)

Imagick::setImageIndex — Establece la posición del iterador

Descripción

bool Imagick::setImageIndex ( int $index )

Establece la posición del iterador en la lista de imágenes especificada con el parámetro index.

Este método ha quedado obsoleto. Véase Imagick::setIteratorIndex().

Parámetros

index

La posición donde se va a establecer el iterador

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::setImageGreenPrimary
Imagick::setImageInterlaceScheme
Imagick


Establece la compresión de la imagen

Imagick::setImageIndex
Imagick::setImageInterpolateMethod
Imagick
PHP Manual

Imagick::setImageInterlaceScheme

(PECL imagick 2.0.0)

Imagick::setImageInterlaceScheme — Establece la compresión de la imagen

Descripción

bool Imagick::setImageInterlaceScheme ( int $interlace_scheme )

Establece la compresión de la imagen.

Parámetros

interlace_scheme

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::setImageIndex
Imagick::setImageInterpolateMethod
Imagick


Establece el método de interpolación de píxeles

Imagick::setImageInterlaceScheme
Imagick::setImageIterations
Imagick
PHP Manual

Imagick::setImageInterpolateMethod

(PECL imagick 2.0.0)

Imagick::setImageInterpolateMethod — Establece el método de interpolación de píxeles

Descripción

bool Imagick::setImageInterpolateMethod ( int $method )

Establece el método de interpolación de píxeles.

Parámetros

method

El método es una de las contantes Imagick::INTERPOLATE_*

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::setImageInterlaceScheme
Imagick::setImageIterations
Imagick


Establece las iteraciones de una imagen

Imagick::setImageInterpolateMethod
Imagick::setImageMatte
Imagick
PHP Manual

Imagick::setImageIterations

(PECL imagick 2.0.0)

Imagick::setImageIterations — Establece las iteraciones de una imagen

Descripción

bool Imagick::setImageIterations ( int $iterations )

Establece el número de veces que una imagen animada se repite.

Parámetros

iterations

El número de veces que la imagen debería mostrarse en bucle. Establecer a '0' para un bucle infinito.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Ejemplos

Ejemplo #1 Uso básido ce Imagick::setImageIterations()

<?php

$imagick = new Imagick(realpath("Test.gif"));

$imagick = $imagick->coalesceImages();
$imagick->setImageIterations(1);
$imagick = $imagick->deconstructImages();

$imagick->writeImages('/ruta/donde/guardar/UnaVez.gif', true);

?>

Imagick::setImageInterpolateMethod
Imagick::setImageMatte
Imagick


Establece el canal mate de la imagen

Imagick::setImageIterations
Imagick::setImageMatteColor
Imagick
PHP Manual

Imagick::setImageMatte

(PECL imagick 2.0.0)

Imagick::setImageMatte — Establece el canal mate de la imagen

Descripción

bool Imagick::setImageMatte ( bool $matte )

Establece el canal mate de la imagen. Este método está disponible si Imagick ha sido compilado con la versión 6.2.9 (o superior) de ImageMagick.

Parámetros

matte

Si es true activa el canal mate y si es false lo deshabilita.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::setImageIterations
Imagick::setImageMatteColor
Imagick


Establece el color mate de la imagen

Imagick::setImageMatte
Imagick::setImageOpacity
Imagick
PHP Manual

Imagick::setImageMatteColor

(PECL imagick 2.0.0)

Imagick::setImageMatteColor — Establece el color mate de la imagen

Descripción

bool Imagick::setImageMatteColor ( mixed $matte )

Establece el color mate de la imagen.

Parámetros

matte

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Historial de cambios

Versión | Descripción
2.1.0 | Ahora se permite que un string represente el color como parámetro. Versiones anteriores sólo permitían un objeto ImagickPixel.

Imagick::setImageMatte
Imagick::setImageOpacity
Imagick


Establece el nivel de opacidad de la imagen

Imagick::setImageMatteColor
Imagick::setImageOrientation
Imagick
PHP Manual

Imagick::setImageOpacity

(PECL imagick 2.0.0)

Imagick::setImageOpacity — Establece el nivel de opacidad de la imagen

Descripción

bool Imagick::setImageOpacity ( float $opacity )

Establece el nivel de opacidad de la imagen. Este método está disponible si Imagick ha sido compilado con la versión 6.3.1 (o superior) de ImageMagick. Este método opera en todos los canales, lo que significa que, por ejemplo, un valor de la opacidad de 0.5 establecerá todas las áreas transparentes a parcialmente opacas. Para añadir transparencia a áreas que no lo son ya, use Imagick::evaluateImage()

Parámetros

opacity

El nivel de transpariencia: 1.0 es completamente opaco y 0.0 es completamente transparente.

Valores devueltos

Devuelve TRUE en caso de éxito.

Ejemplos

Ejemplo #1 Un ejemplo de Imagick::setImageOpacity()

Un ejemplo usando Imagick::setImageOpacity()

<?php
/* Crear el objeto */
$imagen = new Imagick('origen.png');

/* Establecer la opacidad */
$imagen->setImageOpacity(0.7);

/* Mostrar la imagen */
header('Content-type: image/png');
echo $imagen;

?>

Imagick::setImageMatteColor
Imagick::setImageOrientation
Imagick


Establece la orientación de la imagen

Imagick::setImageOpacity
Imagick::setImagePage
Imagick
PHP Manual

Imagick::setImageOrientation

(PECL imagick 2.0.0)

Imagick::setImageOrientation — Establece la orientación de la imagen

Descripción

bool Imagick::setImageOrientation ( int $orientation )

Establece la orientación de la imagen.

Parámetros

orientation

Una de las constantes de orientación

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::setImageOpacity
Imagick::setImagePage
Imagick


Establece la geometría de la página de la imagen

Imagick::setImageOrientation
Imagick::setImageProfile
Imagick
PHP Manual

Imagick::setImagePage

(PECL imagick 2.0.0)

Imagick::setImagePage — Establece la geometría de la página de la imagen

Descripción

bool Imagick::setImagePage ( int $width , int $height , int $x , int $y )

Establece la geometría de la página de la imagen.

Parámetros

width

height

x

y

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::setImageOrientation
Imagick::setImageProfile
Imagick


Añade un perfil nominado al objeto Imagick

Imagick::setImagePage
Imagick::setImageProperty
Imagick
PHP Manual

Imagick::setImageProfile

(PECL imagick 2.0.0)

Imagick::setImageProfile — Añade un perfil nominado al objeto Imagick

Descripción

bool Imagick::setImageProfile ( string $name , string $profile )

Añade un perfil nominado al objeto Imagick. Si un perfil con el mismo nobre ya existe, se reemplaza. Este método difiere del método Imagick::ProfileImage() en que no aplica ningún perfil de color CMS.

Parámetros

name

profile

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::setImagePage
Imagick::setImageProperty
Imagick


Establece una propiedad de la imagen

Imagick::setImageProfile
Imagick::setImageRedPrimary
Imagick
PHP Manual

Imagick::setImageProperty

(PECL imagick 2.0.0)

Imagick::setImageProperty — Establece una propiedad de la imagen

Descripción

bool Imagick::setImageProperty ( string $name , string $value )

Establece un propiedad nominada de la imagen. Este método está disponible si Imagick ha sido compilado con la versión 6.3.2 (o superior) de ImageMagick.

Parámetros

name

value

Ejemplos

Ejemplo #1 Usar Imagick::setImageProperty():

Establecer y obtener las propiedades de una imagen

<?php
$imagen = new Imagick();
$imagen->newImage(300, 200, "black");

$imagen->setImageProperty('Exif:Make', 'Imagick');
echo $imagen->getImageProperty('Exif:Make');
?>

Ver también

  • Imagick::getImageProperty() - Devuelve la propiedad nominada de la imagen

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::setImageProfile
Imagick::setImageRedPrimary
Imagick


Establece el punto primario rojo de la cromaticidad de la imagen

Imagick::setImageProperty
Imagick::setImageRenderingIntent
Imagick
PHP Manual

Imagick::setImageRedPrimary

(PECL imagick 2.0.0)

Imagick::setImageRedPrimary — Establece el punto primario rojo de la cromaticidad de la imagen

Descripción

bool Imagick::setImageRedPrimary ( float $x , float $y )

Establece el punto primario rojo de la cromaticidad de la imagen.

Parámetros

x

y

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::setImageProperty
Imagick::setImageRenderingIntent
Imagick


Establece el propósito de renderización de la imagen

Imagick::setImageRedPrimary
Imagick::setImageResolution
Imagick
PHP Manual

Imagick::setImageRenderingIntent

(PECL imagick 2.0.0)

Imagick::setImageRenderingIntent — Establece el propósito de renderización de la imagen

Descripción

bool Imagick::setImageRenderingIntent ( int $rendering_intent )

Establece el propósito de renderización de la imagen.

Parámetros

rendering_intent

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::setImageRedPrimary
Imagick::setImageResolution
Imagick


Establece la resolución de la imagen

Imagick::setImageRenderingIntent
Imagick::setImageScene
Imagick
PHP Manual

Imagick::setImageResolution

(PECL imagick 2.0.0)

Imagick::setImageResolution — Establece la resolución de la imagen

Descripción

bool Imagick::setImageResolution ( float $x_resolution , float $y_resolution )

Establece la resolución de la imagen.

Parámetros

x_resolution

y_resolution

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::setImageRenderingIntent
Imagick::setImageScene
Imagick


Establece la escena de la imagen

Imagick::setImageResolution
Imagick::setImageTicksPerSecond
Imagick
PHP Manual

Imagick::setImageScene

(PECL imagick 2.0.0)

Imagick::setImageScene — Establece la escena de la imagen

Descripción

bool Imagick::setImageScene ( int $scene )

Establece la escena de la imagen.

Parámetros

scene

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::setImageResolution
Imagick::setImageTicksPerSecond
Imagick


Establece los ticks por segundo de la imagen

Imagick::setImageScene
Imagick::setImageType
Imagick
PHP Manual

Imagick::setImageTicksPerSecond

(PECL imagick 2.0.0)

Imagick::setImageTicksPerSecond — Establece los ticks por segundo de la imagen

Descripción

bool Imagick::setImageTicksPerSecond ( int $ticks_per_second )

Ajusta la cantidad de tiempo que se muestra un marco de una imagen animada.

Nota:

Para GIFs animados, esta función no cambia el número de 'ticks de imagen' por segundo, el cual está siempre definido como 100. En su lugar, ajusta la cantidad de tiempo que se muestra un marco para simular el cambio de 'ticks por segundo'.

Por ejemplo, para un GIF animado donde cada marco se muestra para 20 ticks (1/5 de un segundo), al llamar a este método en cada marco de esa imagen con un argumento de 50, los marcos se ajustan para que se muestren por 40 ticks (2/5 de un segundo) y así, la animación se reproducirá a la mitad de la velocidad original.

Parámetros

ticks_per_second

La duración por la que imagen debería mostrarse expresada en ticks por segundo.

Valores devueltos

Devuelve TRUE en caso de éxito.

Ejemplos

Ejemplo #1 Modificar un GIF animado con Imagick::setImageTicksPerSecond()

<?php

// Modificar un GIF animado para que la primera mitad del GIF se reproduzca a
// la mitad de su velocidad, y la segunda mitad se reproduzca al doble de su
// velocidad actual

$imagick = new Imagick(realpath("Test.gif"));
$imagick = $imagick->coalesceImages();

$totalFrames = $imagick->getNumberImages();

$frameCount = 0;

foreach ($imagick as $frame) {
    $imagick->setImageTicksPerSecond(50);

    if ($frameCount < ($totalFrames / 2)) {
        // Modificar el marco para que se muestre al doble de lo actual
        $imagick->setImageTicksPerSecond(50);
    } else {
        // Modificar el marco para que se muestre a la mitad de lo actual
        $imagick->setImageTicksPerSecond(200);
    }

    $frameCount++;
}

$imagick = $imagick->deconstructImages();

$imagick->writeImages("/ruta/donde/guardar/salida.gif", true);

?>

Imagick::setImageScene
Imagick::setImageType
Imagick


Establece el tipo de imagen

Imagick::setImageTicksPerSecond
Imagick::setImageUnits
Imagick
PHP Manual

Imagick::setImageType

(PECL imagick 2.0.0)

Imagick::setImageType — Establece el tipo de imagen

Descripción

bool Imagick::setImageType ( int $image_type )

Establece el tipo de imagen.

Parámetros

image_type

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::setImageTicksPerSecond
Imagick::setImageUnits
Imagick


Establece las unidades de resolución de la imagen

Imagick::setImageType
Imagick::setImageVirtualPixelMethod
Imagick
PHP Manual

Imagick::setImageUnits

(PECL imagick 2.0.0)

Imagick::setImageUnits — Establece las unidades de resolución de la imagen

Descripción

bool Imagick::setImageUnits ( int $units )

Establece las unidades de resolución de la imagen.

Parámetros

units

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::setImageType
Imagick::setImageVirtualPixelMethod
Imagick


Establece el método de píxel virtual de la imagen

Imagick::setImageUnits
Imagick::setImageWhitePoint
Imagick
PHP Manual

Imagick::setImageVirtualPixelMethod

(PECL imagick 2.0.0)

Imagick::setImageVirtualPixelMethod — Establece el método de píxel virtual de la imagen

Descripción

bool Imagick::setImageVirtualPixelMethod ( int $method )

Establece el método de píxel virtual de la imagen.

Parámetros

method

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::setImageUnits
Imagick::setImageWhitePoint
Imagick


Establece el punto blanco de cromaticidad de la imagen

Imagick::setImageVirtualPixelMethod
Imagick::setInterlaceScheme
Imagick
PHP Manual

Imagick::setImageWhitePoint

(PECL imagick 2.0.0)

Imagick::setImageWhitePoint — Establece el punto blanco de cromaticidad de la imagen

Descripción

bool Imagick::setImageWhitePoint ( float $x , float $y )

Establece el punto blanco de cromaticidad de la imagen.

Parámetros

x

y

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::setImageVirtualPixelMethod
Imagick::setInterlaceScheme
Imagick


Establece la compresión de la imagen

Imagick::setImageWhitePoint
Imagick::setIteratorIndex
Imagick
PHP Manual

Imagick::setInterlaceScheme

(PECL imagick 2.0.0)

Imagick::setInterlaceScheme — Establece la compresión de la imagen

Descripción

bool Imagick::setInterlaceScheme ( int $interlace_scheme )

Establece la compresión de la imagen.

Parámetros

interlace_scheme

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::setImageWhitePoint
Imagick::setIteratorIndex
Imagick


Establece la posición del iterador

Imagick::setInterlaceScheme
Imagick::setLastIterator
Imagick
PHP Manual

Imagick::setIteratorIndex

(PECL imagick 2.0.0)

Imagick::setIteratorIndex — Establece la posición del iterador

Descripción

bool Imagick::setIteratorIndex ( int $index )

Establece el iterador a la posición en la lista de imágenes definida por el parámtro index. Este método está disponible si Imagick ha sido compilado con la versión 6.2.9 (o superior) de ImageMagick.

Parámetros

index

La posición donde se va a establecer el iterador

Valores devueltos

Devuelve TRUE en caso de éxito.

Ejemplos

Ejemplo #1 Usar Imagick::setIteratorIndex():

Crear imágenes, establecer y obtener el índice del iterador

<?php
$im = new Imagick();
$im->newImage(100, 100, new ImagickPixel("red"));
$im->newImage(100, 100, new ImagickPixel("green"));
$im->newImage(100, 100, new ImagickPixel("blue"));

$im->setIteratorIndex(1);
echo $im->getIteratorIndex();
?>

Ver también

  • Imagick::getIteratorIndex() - Obtiene el índice de la imagen activa actual
  • Imagick::getImageIndex() - Obtiene el índice de la imagen activa actual
  • Imagick::setImageIndex() - Establece la posición del iterador

Imagick::setInterlaceScheme
Imagick::setLastIterator
Imagick


Establece el iterador de Imagick a la última imagen

Imagick::setIteratorIndex
Imagick::setOption
Imagick
PHP Manual

Imagick::setLastIterator

(PECL imagick 2.0.1)

Imagick::setLastIterator — Establece el iterador de Imagick a la última imagen

Descripción

bool Imagick::setLastIterator ( void )

Establece el iterador de Imagick a la última imagen.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::setIteratorIndex
Imagick::setOption
Imagick


Establece una opción

Imagick::setLastIterator
Imagick::setPage
Imagick
PHP Manual

Imagick::setOption

(PECL imagick 2.0.0)

Imagick::setOption — Establece una opción

Descripción

bool Imagick::setOption ( string $key , string $value )

Asocia una o más opciones con la varita.

Parámetros

key

value

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::setLastIterator
Imagick::setPage
Imagick


Establece la geometría de página del objeto Imagick

Imagick::setOption
Imagick::setPointSize
Imagick
PHP Manual

Imagick::setPage

(PECL imagick 2.0.0)

Imagick::setPage — Establece la geometría de página del objeto Imagick

Descripción

bool Imagick::setPage ( int $width , int $height , int $x , int $y )

Establece la geometría de página del objeto Imagick.

Parámetros

width

height

x

y

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::setOption
Imagick::setPointSize
Imagick


Establece el tamaño del punto

Imagick::setPage
Imagick::setResolution
Imagick
PHP Manual

Imagick::setPointSize

(PECL imagick 2.1.0)

Imagick::setPointSize — Establece el tamaño del punto

Descripción

bool Imagick::setPointSize ( float $point_size )

Establece la propiedad tamaño del punto de objeto. Este método se puede usar para, por ejemplo, establecer el tamaño de la fuente para las leyendas: pseudo-formato. Este método está disponible si Imagick ha sido compilado con la versión 6.3.7 (o superior) de ImageMagick.

Parámetros

point_size

El tamaño del punto

Valores devueltos

Devuelve TRUE en caso de éxito.

Ver también

  • Imagick::getPointSize() - Obtiene el tamaño de punto

Ejemplos

Ejemplo #1 Un ejemplo de Imagick::setPointSize()

Ejemplo usando Imagick::setPointSize

<?php
/* Crear el nuevo objeto imagick */
$im = new Imagick();

/* Establecer la fuente para el objeto */
$im->setFont("ejemplo.ttf");

/* Establecer el tamaño del punto */
$im->setPointSize(12);

/* Crear una leyenda nueva */
$im->newPseudoImage(100, 100, "caption:Hola");

/* Hacer algo con la imagen */
?>

Imagick::setPage
Imagick::setResolution
Imagick


Establece la resolución de la imagen

Imagick::setPointSize
Imagick::setResourceLimit
Imagick
PHP Manual

Imagick::setResolution

(PECL imagick 2.0.0)

Imagick::setResolution — Establece la resolución de la imagen

Descripción

bool Imagick::setResolution ( float $x_resolution , float $y_resolution )

Establece la resolución de la imagen.

Parámetros

x_resolution

La resolución horizontal.

y_resolution

La resolución vertical.

Valores devueltos

Devuelve TRUE en caso de éxito.

Notas

Imagick::setResolution() se debe invocar antes de cargar o crear una imagen.

Ver también

  • Imagick::setImageResolution() - Establece la resolución de la imagen
  • Imagick::getImageResolution() - Obtiene la resolución X e Y de la imagen
Imagick::setPointSize
Imagick::setResourceLimit
Imagick


Establece el límite de un recurso en particular en megabytes

Imagick::setResolution
Imagick::setSamplingFactors
Imagick
PHP Manual

Imagick::setResourceLimit

(PECL imagick 2.0.0)

Imagick::setResourceLimit — Establece el límite de un recurso en particular en megabytes

Descripción

bool Imagick::setResourceLimit ( int $type , int $limit )

Este método se usa para modificar los límites de los recursos de la biblioteca ImageMagick subyacente.

Parámetros

type

Consulte la lista de constantes de tipos de recurso.

limit

El límite del recurso. La unidad depende del tipo de recurso a limitar.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::setResolution
Imagick::setSamplingFactors
Imagick


Establece los factores de muestreo de la imagen

Imagick::setResourceLimit
Imagick::setSize
Imagick
PHP Manual

Imagick::setSamplingFactors

(PECL imagick 2.0.0)

Imagick::setSamplingFactors — Establece los factores de muestreo de la imagen

Descripción

bool Imagick::setSamplingFactors ( array $factors )

Establece los factores de muestreo de la imagen.

Parámetros

factors

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::setResourceLimit
Imagick::setSize
Imagick


Establece el tamaño del objeto Imagick

Imagick::setSamplingFactors
Imagick::setSizeOffset
Imagick
PHP Manual

Imagick::setSize

(PECL imagick 2.0.0)

Imagick::setSize — Establece el tamaño del objeto Imagick

Descripción

bool Imagick::setSize ( int $columns , int $rows )

Establece el tamaño del Imagick. Se debe establecer antes de leer un formato de imagen en bruto como RGB, GRAY, o CMYK.

Parámetros

columns

rows

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::setSamplingFactors
Imagick::setSizeOffset
Imagick


Establece el tamaño y el índice del objeto Imagick

Imagick::setSize
Imagick::setType
Imagick
PHP Manual

Imagick::setSizeOffset

(PECL imagick 2.0.0)

Imagick::setSizeOffset — Establece el tamaño y el índice del objeto Imagick

Descripción

bool Imagick::setSizeOffset ( int $columns , int $rows , int $offset )

Establece el tamaño y el índice del objeto Imagick. Se debe establecer antes de leer un formato de imagen en bruto como RGB, GRAY, o CMYK. Este método está disponible si Imagick ha sido compilado con la versión 6.2.9 (o superior) de ImageMagick.

Parámetros

columns

El ancho en píxeles.

rows

El alto en píxeles.

offset

El índice de la imagen.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::setSize
Imagick::setType
Imagick


Establece el atributo tipo de imagen

Imagick::setSizeOffset
Imagick::shadeImage
Imagick
PHP Manual

Imagick::setType

(PECL imagick 2.0.0)

Imagick::setType — Establece el atributo tipo de imagen

Descripción

bool Imagick::setType ( int $image_type )

Establece el atributo tipo de imagen.

Parámetros

image_type

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::setSizeOffset
Imagick::shadeImage
Imagick


Crea un efecto en 3D

Imagick::setType
Imagick::shadowImage
Imagick
PHP Manual

Imagick::shadeImage

(PECL imagick 2.0.0)

Imagick::shadeImage — Crea un efecto en 3D

Descripción

bool Imagick::shadeImage ( bool $gray , float $azimuth , float $elevation )

Hace brillar una luz distante sobre una imagen para crear un efecto tridimensional. Se controla la posición de la luz con los parámetros azimuth (acimut) y elevation (elevación); el acimut se mide en grados desde el eje X y la elevación se mide en píxeles por encima del eje Z. Este método está disponible si Imagick ha sido compilado con la versión 6.2.9 (o superior) de ImageMagick.

Parámetros

gray

Un valor distinto de cero sombrea la intensidad de cada píxel.

azimuth

Define la dirección de la fuente de luz.

elevation

Define la dirección de la fuente de luz.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza una excepción de tipo ImagickException en caso de error.

Imagick::setType
Imagick::shadowImage
Imagick


Simula una sombra de imagen

Imagick::shadeImage
Imagick::sharpenImage
Imagick
PHP Manual

Imagick::shadowImage

(PECL imagick 2.0.0)

Imagick::shadowImage — Simula una sombra de imagen

Descripción

bool Imagick::shadowImage ( float $opacity , float $sigma , int $x , int $y )

Simula una sombra de imagen.

Parámetros

opacity

sigma

x

y

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::shadeImage
Imagick::sharpenImage
Imagick


Afila una imagen

Imagick::shadowImage
Imagick::shaveImage
Imagick
PHP Manual

Imagick::sharpenImage

(PECL imagick 2.0.0)

Imagick::sharpenImage — Afila una imagen

Descripción

bool Imagick::sharpenImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_ALL ] )

Afila una imagen. Se convoluciona la imagen con un operador gaussiano del radio y la desviación estándar (sigma) dados. Para obtener resultados razonables, el radio debería ser mayor que sigma. Use un radio de 0 y Imagick::sketchImage()() seleccionará un radio apropiado automáticamente.

Parámetros

radius

sigma

channel

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::shadowImage
Imagick::shaveImage
Imagick


Recorta píxeles de los extremos de la imagen

Imagick::sharpenImage
Imagick::shearImage
Imagick
PHP Manual

Imagick::shaveImage

(PECL imagick 2.0.0)

Imagick::shaveImage — Recorta píxeles de los extremos de la imagen

Descripción

bool Imagick::shaveImage ( int $columns , int $rows )

Recorta píxeles de los extremos de la imagen. Asigna la memoria necesaria para la estructura de la nueva imagen y devuelve un puntero a la nueva imagen.

Parámetros

columns

rows

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::sharpenImage
Imagick::shearImage
Imagick


Crea un paralelogramo

Imagick::shaveImage
Imagick::sigmoidalContrastImage
Imagick
PHP Manual

Imagick::shearImage

(PECL imagick 2.0.0)

Imagick::shearImage — Crea un paralelogramo

Descripción

bool Imagick::shearImage ( mixed $background , float $x_shear , float $y_shear )

Desliza un extremo de una imagen a lo largo del eje X o Y, creando un paralelogramo. Un recorte en la dirección X desliza un extremo a lo largo del eje X, mientras que un recorte en la dirección Y desliza un extremo a lo largo del eje Y. La cantidad del recorte se controla por un ángulo de recorte. Para recortes en la dirección X, x_shear se mide relativo al eje Y, y de forma similar, para recortes en la dirección Y, y_shear se mide relativo al eje X. Los triángulos vacíos sobrantes del recorte de la imagen se rellenan con el color de fondo.

Parámetros

background

El color de fondo

x_shear

El número de grados a recortar sobre el eje x

y_shear

El número de grados a recortar sobre el eje y

Valores devueltos

Devuelve TRUE en caso de éxito.

Historial de cambios

Versión | Descripción
2.1.0 | Ahora se permite que un string represente el color como primer parámetro. Versiones previas sólo permitían un objeto ImagickPixel.

Imagick::shaveImage
Imagick::sigmoidalContrastImage
Imagick


Ajusta el contraste de una imagen

Imagick::shearImage
Imagick::sketchImage
Imagick
PHP Manual

Imagick::sigmoidalContrastImage

(PECL imagick 2.0.0)

Imagick::sigmoidalContrastImage — Ajusta el contraste de una imagen

Descripción

bool Imagick::sigmoidalContrastImage ( bool $sharpen , float $alpha , float $beta [, int $channel = Imagick::CHANNEL_ALL ] )

Ajusta el contraste de una imagen con un algoritmo de contraste sigmoidal no linear. Aumenta el contraste de la imagen usando una función de transferencia saturando los reflejos o las sombras. El contraste indica cuánto se incrementa el contraste (0 es nada; 3 es normal; 20 es enérgico); el punto medio indica dónde caen los medios-tonos en la imagen resultante (0 es blanco; 50 es medio-gris; 100 es negro). Establezca el parámtero sharpen a TRUE para incrementar el contraste de la imagen, si no, el contraste se reduce.

Parámetros

sharpen

alpha

beta

channel

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::shearImage
Imagick::sketchImage
Imagick


Simula el bosquejo de un lapiz

Imagick::sigmoidalContrastImage
Imagick::solarizeImage
Imagick
PHP Manual

Imagick::sketchImage

(PECL imagick 2.0.0)

Imagick::sketchImage — Simula el bosquejo de un lapiz

Descripción

bool Imagick::sketchImage ( float $radius , float $sigma , float $angle )

Simula el bosquejo de un lapiz. Se convoluciona la imagen con un operador gaussiano del radio y la desviación estándar (sigma) dados. Para obtener resultados razonables, el radio debería ser mayor que sigma. Use un radio de 0 y Imagick::sketchImage() seleccionará un radio apropiado automáticamente. El ángulo da el ángulo del movimiento borroso. Este método está disponible si Imagick ha sido compilado con la versión 6.2.9 (o superior) de ImageMagick.

Parámetros

radius

El radio gaussiano, en píxeles, sin contar el píxel central.

sigma

La desviación estándar gaussiana, en píxeles.

angle

Aplica el efecto a lo largo de este ángulo.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::sigmoidalContrastImage
Imagick::solarizeImage
Imagick


Aplica un efecto de solarización a la imagen

Imagick::sketchImage
Imagick::sparseColorImage
Imagick
PHP Manual

Imagick::solarizeImage

(PECL imagick 2.0.0)

Imagick::solarizeImage — Aplica un efecto de solarización a la imagen

Descripción

bool Imagick::solarizeImage ( int $threshold )

Aplica un efecto especial a la imagen, similar al efecto conseguido en un cuarto oscuro fotográfico exponiendo selectivamente áreas del papel sensible fotográfico a la luz. Los rangos de umbral van desde 0 al de QuantumRange y es una medida de la extensión de la solarización.

Parámetros

threshold

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::sketchImage
Imagick::sparseColorImage
Imagick


Interpola colores

Imagick::solarizeImage
Imagick::spliceImage
Imagick
PHP Manual

Imagick::sparseColorImage

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::sparseColorImage — Interpola colores

Descripción

public bool Imagick::sparseColorImage ( int $SPARSE_METHOD , array $arguments [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Dada la matriz de argumentos que contiene valores númericos, este método interpola los colores encontrados en esas coordenadas a través de la imagen completa usando sparse_method. Este método está disponible si Imagick ha sido compilado con la versión 6.4.5 (o superior) de ImageMagick.

Parámetros

SPARSE_METHOD

Consulte esta lista de constantes de métodos de escasez

arguments

Una matriz que contiene las coodenadas. El formato de la matriz es array(1,1, 2,45)

CHANNEL

Proporciona cualquier contante de canal que sea válida para su modo de canal. Para aplicarlo a más de un canal, combine constantes de canal using bitwise operadores bit a bit. El valor por defecto para Imagick::CHANNEL_DEFAULT. Referirse a esta lista de constantes de canal

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::solarizeImage
Imagick::spliceImage
Imagick


Une un color sólido en la imagen

Imagick::sparseColorImage
Imagick::spreadImage
Imagick
PHP Manual

Imagick::spliceImage

(PECL imagick 2.0.0)

Imagick::spliceImage — Une un color sólido en la imagen

Descripción

bool Imagick::spliceImage ( int $width , int $height , int $x , int $y )

Une un color sólido en la imagen.

Parámetros

width

height

x

y

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::sparseColorImage
Imagick::spreadImage
Imagick


Despalza aleatoriamente cada píxel en un bloque

Imagick::spliceImage
Imagick::steganoImage
Imagick
PHP Manual

Imagick::spreadImage

(PECL imagick 2.0.0)

Imagick::spreadImage — Despalza aleatoriamente cada píxel en un bloque

Descripción

bool Imagick::spreadImage ( float $radius )

Método de efecto especial que desplaza aleatoriamente cada píxel en un bloque definido por el parámetro radius (radio).

Parámetros

radius

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::spliceImage
Imagick::steganoImage
Imagick


Oculta una marca de agua digital dentro de la imagen

Imagick::spreadImage
Imagick::stereoImage
Imagick
PHP Manual

Imagick::steganoImage

(PECL imagick 2.0.0)

Imagick::steganoImage — Oculta una marca de agua digital dentro de la imagen

Descripción

Imagick Imagick::steganoImage ( Imagick $watermark_wand , int $offset )

Oculta una marca de agua digital dentro de la imagen. Recupere la marca de agua oculta después para demostrar la autenticidad de la imagen. El parámetro offset define la posición inicial dentro de la imagen para ocultar la marca de agua.

Parámetros

watermark_wand

offset

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::spreadImage
Imagick::stereoImage
Imagick


Compone dos imágenes

Imagick::steganoImage
Imagick::stripImage
Imagick
PHP Manual

Imagick::stereoImage

(PECL imagick 2.0.0)

Imagick::stereoImage — Compone dos imágenes

Descripción

bool Imagick::stereoImage ( Imagick $offset_wand )

Compone dos imágenes y produce una sóla imagen que es la composición de una imagen izquierda y derecha de una pareja estéreo.

Parámetros

offset_wand

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::steganoImage
Imagick::stripImage
Imagick


Elimina todos los perfiles y comentarios de una imagen

Imagick::stereoImage
Imagick::swirlImage
Imagick
PHP Manual

Imagick::stripImage

(PECL imagick 2.0.0)

Imagick::stripImage — Elimina todos los perfiles y comentarios de una imagen

Descripción

bool Imagick::stripImage ( void )

Elimina todos los perfiles y comentarios de una imagen.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::stereoImage
Imagick::swirlImage
Imagick


Arremolina los píxeles desde el centro de la imagen

Imagick::stripImage
Imagick::textureImage
Imagick
PHP Manual

Imagick::swirlImage

(PECL imagick 2.0.0)

Imagick::swirlImage — Arremolina los píxeles desde el centro de la imagen

Descripción

bool Imagick::swirlImage ( float $degrees )

Arremolina los píxeles desde el centro de la imagen, donde los grados indican el alcance del arco a través del cuál cada píxel es movido. Se puede obtener un efecto más dramático moviendo los grados desde 1 a 360.

Parámetros

degrees

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::stripImage
Imagick::textureImage
Imagick


Reviste repetidamente la textura de la imagen

Imagick::swirlImage
Imagick::thresholdImage
Imagick
PHP Manual

Imagick::textureImage

(PECL imagick 2.0.0)

Imagick::textureImage — Reviste repetidamente la textura de la imagen

Descripción

bool Imagick::textureImage ( Imagick $texture_wand )

Reviste repetidamente la textura de la imagen a través y hacia abajo del lienzo de la imagen.

Parámetros

texture_wand

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::swirlImage
Imagick::thresholdImage
Imagick


Cambia el valor de píexeles individuales basdos en un umbral

Imagick::textureImage
Imagick::thumbnailImage
Imagick
PHP Manual

Imagick::thresholdImage

(PECL imagick 2.0.0)

Imagick::thresholdImage — Cambia el valor de píexeles individuales basdos en un umbral

Descripción

bool Imagick::thresholdImage ( float $threshold [, int $channel = Imagick::CHANNEL_ALL ] )

Cambia el valor de píxeles individuales basados en la inatensidad de cada píxel comparado con el umbral. El resultado es una imagen de alto contraste de dos colores.

Parámetros

threshold

channel

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::textureImage
Imagick::thumbnailImage
Imagick


Cambia el tamaño de una imagen

Imagick::thresholdImage
Imagick::tintImage
Imagick
PHP Manual

Imagick::thumbnailImage

(PECL imagick 2.0.0)

Imagick::thumbnailImage — Cambia el tamaño de una imagen

Descripción

bool Imagick::thumbnailImage ( int $columns , int $rows [, bool $bestfit = false [, bool $fill = false ]] )

Cambia el tamaño de una imagen a las dimensiones dadas y elimina cualquier perfil asociado. El objetivo es producir conjuntos de imágenes de miniaturas pequeñas de bajo coste para mostrar en la web. Si TRUE se da como tercer parámetro, los parámetros columns (columnas) y rows (filas) se usan como máximos para cada cara. Ambas caras serán escaladas a una proporción menor hasta que la comparación sea menor que el parámetro dado para la cara.

Nota: La conducta del parámetro bestfit cambió en Imagick 3.0.0. Antes de esta versión dar la dimensión de 400x400 a una imagen de 200x150 debería no tener efecto. En Imagick 3.0.0 y superiores la imagen sería llevada al tamaño de 400x300 ya que este es el "mejor ajuste" para las dimensiones dadas. Si el parámetro bestfit es utilizado, se debe indicar tanto el ancho como el alto.

Parámetros

columns

Ancho de la imagen

rows

Alto de la imagen

bestfit

Si se fuerzan valores máximos

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::thresholdImage
Imagick::tintImage
Imagick


Aplica un vector de color a cada píxel en la imagen

Imagick::thumbnailImage
Imagick::transformImage
Imagick
PHP Manual

Imagick::tintImage

(PECL imagick 2.0.0)

Imagick::tintImage — Aplica un vector de color a cada píxel en la imagen

Descripción

bool Imagick::tintImage ( mixed $tint , mixed $opacity )

Aplica un vector de color a cada píxel en la imagen. La longitud del vector es 0 para blanco y negro y su máximo para los medios-tonos. La función de precisión del vector es f(x)=(1-(4.0*((x-0.5)*(x-0.5)))).

Parámetros

tint

opacity

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Historial de cambios

Versión | Descripción
2.1.0 | Ahora se permite que una string represente el color como primer parámetro y que un valor de tipo float represente la opacidad como segundo parámetro. Versiones previas sólo permitían un objeto ImagickPixel.

Imagick::thumbnailImage
Imagick::transformImage
Imagick


Método conveniente para establecer el tamaño del recorte y la geometría de la imagen

Imagick::tintImage
Imagick::transparentPaintImage
Imagick
PHP Manual

Imagick::transformImage

(PECL imagick 2.0.0)

Imagick::transformImage — Método conveniente para establecer el tamaño del recorte y la geometría de la imagen

Descripción

Imagick Imagick::transformImage ( string $crop , string $geometry )

Método conveniente para establecer el tamaño del recorte y la geometría de la imagen desde cadenas. Este método está disponible si Imagick ha sido compilado con la versión 6.2.9 (o superior) de ImageMagick.

Parámetros

crop

Un string de geometría de recorte. Esta geometría define una sub-región de la imagen a recortar.

geometry

Un string de geometría de imagen. Esta geometría define el tamaño final de la imagen.

Valores devueltos

Devuelve TRUE en caso de éxito.

Ejemplos

Ejemplo #1 Usar Imagick::transformImage():

El ejemplo crea una imagen negra de 100x100 black.

<?php
$imagen = new Imagick();
$imagen->newImage(300, 200, "black");
$imagen_nueva = $imagen->transformImage("100x100", "100x100");
$imagen_nueva->writeImage('test_out.jpg');
?>

Ver también

  • Imagick::cropImage() - Extrae una región de la imagen
  • Imagick::resizeImage() - Escala una imagen
  • Imagick::thumbnailImage() - Cambia el tamaño de una imagen

Imagick::tintImage
Imagick::transparentPaintImage
Imagick


Pinta píxeles transparentes

Imagick::transformImage
Imagick::transposeImage
Imagick
PHP Manual

Imagick::transparentPaintImage

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::transparentPaintImage — Pinta píxeles transparentes

Descripción

bool Imagick::transparentPaintImage ( mixed $target , float $alpha , float $fuzz , bool $invert )

Pinta píxeles transparente que coincidan con el color objetivo. Este método está disponible si Imagick ha sido compilado con la versión 6.3.8 (o superior) de ImageMagick.

Parámetros

target

El color objetivo a pintar

alpha

El nivel de transparencia: 1.0 es totalmente opaco y 0.0, totalmente transparente.

fuzz

La cantidad de difusión. Por ejemplo, setee fuzz a 10 y el color rojo a intensidades de 100 y 102 respectivamente son ahora interpretados como el mismo color.

invert

Si es TRUE pinta cualquier píxel que no coincida con el color objetivo.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::transformImage
Imagick::transposeImage
Imagick


Crea una imagen espejo vertical

Imagick::transparentPaintImage
Imagick::transverseImage
Imagick
PHP Manual

Imagick::transposeImage

(PECL imagick 2.0.0)

Imagick::transposeImage — Crea una imagen espejo vertical

Descripción

bool Imagick::transposeImage ( void )

Crea una imagen espejo vertical reflejando los píxeles alrededor del eje x central mientras los rota 90 grados. Este método está disponible si Imagick ha sido compilado con la versión 6.2.9 (o superior) de ImageMagick.

Valores devueltos

Devuelve TRUE en caso de éxito.

Ver también

  • Imagick::transverseImage() - Crea una imagen espejo horizontal

Imagick::transparentPaintImage
Imagick::transverseImage
Imagick


Crea una imagen espejo horizontal

Imagick::transposeImage
Imagick::trimImage
Imagick
PHP Manual

Imagick::transverseImage

(PECL imagick 2.0.0)

Imagick::transverseImage — Crea una imagen espejo horizontal

Descripción

bool Imagick::transverseImage ( void )

Crea una imagen espejo horizontal reflejando los píxeles sobre el eje y central mientras que los rota 270 grados. Este método está disponible si Imagick ha sido compilado con la versión 6.2.9 (o superior) de ImageMagick.

Valores devueltos

Devuelve TRUE en caso de éxito.

Ver también

  • Imagick::transposeImage() - Crea una imagen espejo vertical

Imagick::transposeImage
Imagick::trimImage
Imagick


Elimina los extremos de la imagen

Imagick::transverseImage
Imagick::uniqueImageColors
Imagick
PHP Manual

Imagick::trimImage

(PECL imagick 2.0.0)

Imagick::trimImage — Elimina los extremos de la imagen

Descripción

bool Imagick::trimImage ( float $fuzz )

Elimina los extremos que son el color de fondo de la imagen. Este método está disponible si Imagick ha sido compilado con la versión 6.2.9 (o superior) de ImageMagick.

Parámetros

fuzz

Por defecto, el objetivo debe coincidir exactamente con un color de píxel en particular. Sin embargo, en la mayoría de los casos dos colores pueden diferir por una cantidad pequeña. El miembro enfoque de la imagen define cuánta tolerancia es aceptable para considerar que dos colores son el mismo. Este parámetro represenata la variación del rango de cuantía.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Ejemplos

Ejemplo #1 Usar Imagick::trimImage():

Recortar una imagen, después mostrarla en el navegador.

<?php
/* Crear el objeto y leer la imagen */
$im = new Imagick("imagen.jpg");

/* Recortar la imagen. */
$im->trimImage(0);

/* Imprimir la imagen */
header("Content-Type: image/" . $im->getImageFormat());
echo $im;
?>

Ver también

  • Imagick::getQuantumDepth() - Obtiene la profundidad de la cuantía
  • Imagick::getQuantumRange() - Devuelve el rango de cuantía de Imagick

Imagick::transverseImage
Imagick::uniqueImageColors
Imagick


Desecha todos los colores de los píxeles excepto uno

Imagick::trimImage
Imagick::unsharpMaskImage
Imagick
PHP Manual

Imagick::uniqueImageColors

(PECL imagick 2.0.0)

Imagick::uniqueImageColors — Desecha todos los colores de los píxeles excepto uno

Descripción

bool Imagick::uniqueImageColors ( void )

Desecha todos los colores de los píxeles excepto uno. Este método está disponible si Imagick ha sido compilado con la versión 6.2.9 (o superior) de ImageMagick.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::trimImage
Imagick::unsharpMaskImage
Imagick


Afila una imagen

Imagick::uniqueImageColors
Imagick::valid
Imagick
PHP Manual

Imagick::unsharpMaskImage

(PECL imagick 2.0.0)

Imagick::unsharpMaskImage — Afila una imagen

Descripción

bool Imagick::unsharpMaskImage ( float $radius , float $sigma , float $amount , float $threshold [, int $channel = Imagick::CHANNEL_ALL ] )

Afila una imagen. Se convoluciona la imagen con un operador gaussiano del radio y la desviación estándar (sigma) dados. Para obtener resultados razonables, el radio debería ser mayor que sigma. Use un radio de 0 y Imagick::sketchImage() seleccionará un radio apropiado automáticamente.

Parámetros

radius

sigma

amount

threshold

channel

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Imagick::uniqueImageColors
Imagick::valid
Imagick


Comprueba si el elemento actual es válido

Imagick::unsharpMaskImage
Imagick::vignetteImage
Imagick
PHP Manual

Imagick::valid

(PECL imagick 2.0.0)

Imagick::valid — Comprueba si el elemento actual es válido

Descripción

bool Imagick::valid ( void )

Comprueba si el elemento actual es válido.

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::unsharpMaskImage
Imagick::vignetteImage
Imagick


Añade un filtro de viñeta a la imagen

Imagick::valid
Imagick::waveImage
Imagick
PHP Manual

Imagick::vignetteImage

(PECL imagick 2.0.0)

Imagick::vignetteImage — Añade un filtro de viñeta a la imagen

Descripción

bool Imagick::vignetteImage ( float $blackPoint , float $whitePoint , int $x , int $y )

Suaviza los extremos de la imagen al estilo viñeta. Este método está disponible si Imagick ha sido compilado con la versión 6.2.9 (o superior) de ImageMagick.

Parámetros

blackPoint

El punto negro.

whitePoint

El punto blanco.

x

Índice X de la elipse

y

Índice Y de la elipse

Valores devueltos

Devuelve TRUE en caso de éxito.

Ver también

  • Imagick::waveImage() - Aplica un filtro de onda a la imagen
  • Imagick::swirlImage() - Arremolina los píxeles desde el centro de la imagen

Imagick::valid
Imagick::waveImage
Imagick


Aplica un filtro de onda a la imagen

Imagick::vignetteImage
Imagick::whiteThresholdImage
Imagick
PHP Manual

Imagick::waveImage

(PECL imagick 2.0.0)

Imagick::waveImage — Aplica un filtro de onda a la imagen

Descripción

bool Imagick::waveImage ( float $amplitude , float $length )

Aplica un filtro de onda a la imagen. Este método está disponible si Imagick ha sido compilado con la versión 6.2.9 (o superior) de ImageMagick.

Parámetros

amplitude

La amplitud de la onda.

length

La longitud de la onda.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Ver también

  • Imagick::solarizeImage() - Aplica un efecto de solarización a la imagen
  • Imagick::oilpaintImage() - Simula una pintura al óleo
  • Imagick::embossImage() - Devuelve una imagen en escala de grises con un efecto tridimensional
  • Imagick::addNoiseImage() - Añade ruido aleatorio a la imagen
  • Imagick::swirlImage() - Arremolina los píxeles desde el centro de la imagen

Imagick::vignetteImage
Imagick::whiteThresholdImage
Imagick


Fuerza a todos los píxeles por encima del umbral a ser blancos

Imagick::waveImage
Imagick::writeImage
Imagick
PHP Manual

Imagick::whiteThresholdImage

(PECL imagick 2.0.0)

Imagick::whiteThresholdImage — Fuerza a todos los píxeles por encima del umbral a ser blancos

Descripción

bool Imagick::whiteThresholdImage ( mixed $threshold )

Es como Imagick::ThresholdImage() excepto que fuerza a todos los píxeles por encima del umbral a ser blancos dejando todos los píxeles por debajo del umbral sin cambios.

Parámetros

threshold

Valores devueltos

Devuelve TRUE en caso de éxito.

Historial de cambios

Versión | Descripción
2.1.0 | Ahora se permite que una cadena represente el color como parámetro. Versiones previas sólo permitían un objeto ImagickPixel.

Imagick::waveImage
Imagick::writeImage
Imagick


Escribe una imagen al nombre de fichero especificado

Imagick::whiteThresholdImage
Imagick::writeImageFile
Imagick
PHP Manual

Imagick::writeImage

(PECL imagick 0.9.0-0.9.9)

Imagick::writeImage — Escribe una imagen al nombre de fichero especificado

Descripción

bool Imagick::writeImage ([ string $filename = NULL ] )

Escribe una imagen al nombre de fichero especificado. Si el parámetro 'filename' es NULL, la imagen se escribe en el nombre de fichero establecido por Imagick::readImage() o Imagick::setImageFilename().

Parámetros

filename

Nombre del fichero donde escribir la imagen. La extensión del nombre de fichero define el tipo del fichero. El formato puede ser forzado independientemente del formato que use la extensión del fichero: usando un prefijo, por ejemplo "jpg:test.png".

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::whiteThresholdImage
Imagick::writeImageFile
Imagick


Escribe una imagen a un gestor de archivo

Imagick::writeImage
Imagick::writeImages
Imagick
PHP Manual

Imagick::writeImageFile

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::writeImageFile — Escribe una imagen a un gestor de archivo

Descripción

bool Imagick::writeImageFile ( resource $filehandle )

Escribe una secuencia de imágenes a un gestor de archivo abierto. El gestro debe ser abierto con, por ejemplo, fopen. Este método está disponible si Imagick ha sido compilado con la versión 6.3.6 (o superior) de ImageMagick.

Parámetros

filehandle

El gestor de archivo donde se va a escribir la imagen

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::writeImage
Imagick::writeImages
Imagick


Escribe una imagen o secuencia de imágenes

Imagick::writeImageFile
Imagick::writeImagesFile
Imagick
PHP Manual

Imagick::writeImages

(PECL imagick 0.9.0-0.9.9)

Imagick::writeImages — Escribe una imagen o secuencia de imágenes

Descripción

bool Imagick::writeImages ( string $filename , bool $adjoin )

Escribe una imagen o secuencia de imágenes.

Parámetros

filename

adjoin

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::writeImageFile
Imagick::writeImagesFile
Imagick


Escribe fotogramas al gestor de archivo

Imagick::writeImages
ImagickDraw
Imagick
PHP Manual

Imagick::writeImagesFile

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::writeImagesFile — Escribe fotogramas al gestor de archivo

Descripción

bool Imagick::writeImagesFile ( resource $filehandle )

Escribe todos los fotogramas en un gestor de archivo abierto. Este método se puede usar para escribir gifs u otras imágenes multi-fotograma en un gestor de archivo abierto. Este método está disponible si Imagick ha sido compilado con la versión 6.3.6 (o superior) de ImageMagick.

Parámetros

filehandle

El gestor de archivo donde se van a escribir las imágenes

Valores devueltos

Devuelve TRUE en caso de éxito.

Imagick::writeImages
ImagickDraw
Imagick


La clase ImagickDraw

(PECL imagick 2.0.0)

Sinopsis de la Clase

ImagickDraw {
bool affine ( array $affine )
bool annotation ( float $x , float $y , string $text )
bool arc ( float $sx , float $sy , float $ex , float $ey , float $sd , float $ed )
bool bezier ( array $coordinates )
bool circle ( float $ox , float $oy , float $px , float $py )
bool clear ( void )
ImagickDraw clone ( void )
bool color ( float $x , float $y , int $paintMethod )
bool comment ( string $comment )
bool composite ( int $compose , float $x , float $y , float $width , float $height , Imagick $compositeWand )
__construct ( void )
bool destroy ( void )
bool ellipse ( float $ox , float $oy , float $rx , float $ry , float $start , float $end )
string getClipPath ( void )
int getClipRule ( void )
int getClipUnits ( void )
ImagickPixel getFillColor ( void )
float getFillOpacity ( void )
int getFillRule ( void )
string getFont ( void )
string getFontFamily ( void )
float getFontSize ( void )
int getFontStyle ( void )
int getFontWeight ( void )
int getGravity ( void )
bool getStrokeAntialias ( void )
ImagickPixel getStrokeColor ( void )
array getStrokeDashArray ( void )
float getStrokeDashOffset ( void )
int getStrokeLineCap ( void )
int getStrokeLineJoin ( void )
int getStrokeMiterLimit ( void )
float getStrokeOpacity ( void )
float getStrokeWidth ( void )
int getTextAlignment ( void )
bool getTextAntialias ( void )
int getTextDecoration ( void )
string getTextEncoding ( void )
ImagickPixel getTextUnderColor ( void )
string getVectorGraphics ( void )
bool line ( float $sx , float $sy , float $ex , float $ey )
bool matte ( float $x , float $y , int $paintMethod )
bool pathClose ( void )
bool pathCurveToAbsolute ( float $x1 , float $y1 , float $x2 , float $y2 , float $x , float $y )
bool pathCurveToQuadraticBezierAbsolute ( float $x1 , float $y1 , float $x , float $y )
bool pathCurveToQuadraticBezierRelative ( float $x1 , float $y1 , float $x , float $y )
bool pathCurveToQuadraticBezierSmoothAbsolute ( float $x , float $y )
bool pathCurveToQuadraticBezierSmoothRelative ( float $x , float $y )
bool pathCurveToRelative ( float $x1 , float $y1 , float $x2 , float $y2 , float $x , float $y )
bool pathCurveToSmoothAbsolute ( float $x2 , float $y2 , float $x , float $y )
bool pathCurveToSmoothRelative ( float $x2 , float $y2 , float $x , float $y )
bool pathEllipticArcAbsolute ( float $rx , float $ry , float $x_axis_rotation , bool $large_arc_flag , bool $sweep_flag , float $x , float $y )
bool pathEllipticArcRelative ( float $rx , float $ry , float $x_axis_rotation , bool $large_arc_flag , bool $sweep_flag , float $x , float $y )
bool pathFinish ( void )
bool pathLineToAbsolute ( float $x , float $y )
bool pathLineToHorizontalAbsolute ( float $x )
bool pathLineToHorizontalRelative ( float $x )
bool pathLineToRelative ( float $x , float $y )
bool pathLineToVerticalAbsolute ( float $y )
bool pathLineToVerticalRelative ( float $y )
bool pathMoveToAbsolute ( float $x , float $y )
bool pathMoveToRelative ( float $x , float $y )
bool pathStart ( void )
bool point ( float $x , float $y )
bool polygon ( array $coordinates )
bool polyline ( array $coordinates )
bool pop ( void )
bool popClipPath ( void )
bool popDefs ( void )
bool popPattern ( void )
bool push ( void )
bool pushClipPath ( string $clip_mask_id )
bool pushDefs ( void )
bool pushPattern ( string $pattern_id , float $x , float $y , float $width , float $height )
bool rectangle ( float $x1 , float $y1 , float $x2 , float $y2 )
bool render ( void )
bool rotate ( float $degrees )
bool roundRectangle ( float $x1 , float $y1 , float $x2 , float $y2 , float $rx , float $ry )
bool scale ( float $x , float $y )
bool setClipPath ( string $clip_mask )
bool setClipRule ( int $fill_rule )
bool setClipUnits ( int $clip_units )
bool setFillAlpha ( float $opacity )
bool setFillColor ( ImagickPixel $fill_pixel )
bool setFillOpacity ( float $fillOpacity )
bool setFillPatternURL ( string $fill_url )
bool setFillRule ( int $fill_rule )
bool setFont ( string $font_name )
bool setFontFamily ( string $font_family )
bool setFontSize ( float $pointsize )
bool setFontStretch ( int $fontStretch )
bool setFontStyle ( int $style )
bool setFontWeight ( int $font_weight )
bool setGravity ( int $gravity )
bool setStrokeAlpha ( float $opacity )
bool setStrokeAntialias ( bool $stroke_antialias )
bool setStrokeColor ( ImagickPixel $stroke_pixel )
bool setStrokeDashArray ( array $dashArray )
bool setStrokeDashOffset ( float $dash_offset )
bool setStrokeLineCap ( int $linecap )
bool setStrokeLineJoin ( int $linejoin )
bool setStrokeMiterLimit ( int $miterlimit )
bool setStrokeOpacity ( float $stroke_opacity )
bool setStrokePatternURL ( string $stroke_url )
bool setStrokeWidth ( float $stroke_width )
bool setTextAlignment ( int $alignment )
bool setTextAntialias ( bool $antiAlias )
bool setTextDecoration ( int $decoration )
bool setTextEncoding ( string $encoding )
bool setTextUnderColor ( ImagickPixel $under_color )
bool setVectorGraphics ( string $xml )
bool setViewbox ( int $x1 , int $y1 , int $x2 , int $y2 )
bool skewX ( float $degrees )
bool skewY ( float $degrees )
bool translate ( float $x , float $y )
}

Tabla de contenidos

  • ImagickDraw::affine — Ajusta la matriz de transformación afín actual
  • ImagickDraw::annotation — Dibuja texto en la imagen
  • ImagickDraw::arc — Dibuja un arco
  • ImagickDraw::bezier — Dibuja una curva de Bézier
  • ImagickDraw::circle — Dibuja un círculo
  • ImagickDraw::clear — Borra el objeto ImagickDraw
  • ImagickDraw::clone — Hace una copia exacta del objeto ImagickDraw especificado
  • ImagickDraw::color — Dibuja color en una imagen
  • ImagickDraw::comment — Añade un comentario
  • ImagickDraw::composite — Compone una imagen dentro de la imagen actual
  • ImagickDraw::__construct — El constructor ImagickDraw
  • ImagickDraw::destroy — Libera todos los recursos asociados
  • ImagickDraw::ellipse — Dibuja una elipse en la imagen
  • ImagickDraw::getClipPath — Obtiene el ID del trazado de recorte actual
  • ImagickDraw::getClipRule — Devuelve la regla de relleno de un polígono actual
  • ImagickDraw::getClipUnits — Devuelve la interpretación de unidades del trazado de recorte
  • ImagickDraw::getFillColor — Devuelve el color de relleno
  • ImagickDraw::getFillOpacity — Devuelve la opacidad usada cuando se dibuja
  • ImagickDraw::getFillRule — Devuelve la regla de relleno
  • ImagickDraw::getFont — Devuelve la fuente
  • ImagickDraw::getFontFamily — Devuelve la familia de la fuente
  • ImagickDraw::getFontSize — Devuelve el tamaño de punto de la fuente
  • ImagickDraw::getFontStyle — Devuelve el estilo de fuente
  • ImagickDraw::getFontWeight — Devuelve el peso de la fuente
  • ImagickDraw::getGravity — Devuelve la gravedad de emplazamiento del texto
  • ImagickDraw::getStrokeAntialias — Devuelve la configuración de antialias de contorno actual
  • ImagickDraw::getStrokeColor — Devuelve el color usado por los perfiles de objetos contorneados
  • ImagickDraw::getStrokeDashArray — Devuelve un array que representa el patrón de rayas y huecos usado por trazados contorneados
  • ImagickDraw::getStrokeDashOffset — Devuelve el índice dentro del patrón de discontinuidad para iniciar la discontinuidad
  • ImagickDraw::getStrokeLineCap — Devuelve la forma que se va a usar al final de los subtrazados abiertos cuando están contorneados
  • ImagickDraw::getStrokeLineJoin — Devuelve la forma que se va a usar en la esquinas de los trazados cuando están contorneados
  • ImagickDraw::getStrokeMiterLimit — Devuelve el límite del inglete del contorno
  • ImagickDraw::getStrokeOpacity — Devuelve la opacidad del perfil de objetos contorneados
  • ImagickDraw::getStrokeWidth — Devuelve al ancho del contorno usado para dibujar contornos de objetos
  • ImagickDraw::getTextAlignment — Devuelve la alineación del texto
  • ImagickDraw::getTextAntialias — Devuelve la configuración de antialias del texto actual
  • ImagickDraw::getTextDecoration — Devuelve la decoración del texto
  • ImagickDraw::getTextEncoding — Devuelve la codificación usada para anotaciones de texto
  • ImagickDraw::getTextUnderColor — Devuelve el color debajo del texto
  • ImagickDraw::getVectorGraphics — Devuelve una cadena que contiene gráficos vectoriales
  • ImagickDraw::line — Dibuja una línea
  • ImagickDraw::matte — Pinta sobre el canal de opacidad de la imagen
  • ImagickDraw::pathClose — Añade un elemento de trazado al trazado actual
  • ImagickDraw::pathCurveToAbsolute — Dibuja una curva cúbica de Bézier
  • ImagickDraw::pathCurveToQuadraticBezierAbsolute — Dibuja una curva Bézier cuadrática
  • ImagickDraw::pathCurveToQuadraticBezierRelative — Dibuja una curva Bézier cuadrática
  • ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute — Dibuja una curva Bézier cuadrática
  • ImagickDraw::pathCurveToQuadraticBezierSmoothRelative — Dibuja una curva Bézier cuadrática
  • ImagickDraw::pathCurveToRelative — Dibuja una curva cúbica de Bézier
  • ImagickDraw::pathCurveToSmoothAbsolute — Dibuja una curva cúbica de Bézier
  • ImagickDraw::pathCurveToSmoothRelative — Dibuja una curva cúbica de Bézier
  • ImagickDraw::pathEllipticArcAbsolute — Dibuja un arco elíptico
  • ImagickDraw::pathEllipticArcRelative — Dibuja un arco elíptico
  • ImagickDraw::pathFinish — Finaliza el trazado actual
  • ImagickDraw::pathLineToAbsolute — Dibuja un trazado de línea
  • ImagickDraw::pathLineToHorizontalAbsolute — Dibuja un trazado de línea horizontal
  • ImagickDraw::pathLineToHorizontalRelative — Dibuja una línea horizontal
  • ImagickDraw::pathLineToRelative — Dibuja un trazado de línea
  • ImagickDraw::pathLineToVerticalAbsolute — Dibuja un línea vertical
  • ImagickDraw::pathLineToVerticalRelative — Dibuja un trazado de línea vertical
  • ImagickDraw::pathMoveToAbsolute — Inicia un nuevo sub-trazado
  • ImagickDraw::pathMoveToRelative — Inicia un nuevo sub-trazado
  • ImagickDraw::pathStart — Declara el inicio de una lista de dibujo de trazados
  • ImagickDraw::point — Dibuja un punto
  • ImagickDraw::polygon — Dibuja un polígono
  • ImagickDraw::polyline — Dibuja una poli-línea
  • ImagickDraw::pop — Destruye el objeto ImagickDraw actual de la pila, y lo devuelve al objeto ImagickDraw previamente metido
  • ImagickDraw::popClipPath — Finaliza una definición de un trazado de recorte
  • ImagickDraw::popDefs — Finaliza una lista de definiciones
  • ImagickDraw::popPattern — Finaliza una definición de patrón
  • ImagickDraw::push — Clona el objeto ImagickDraw actual y lo mete en la pila
  • ImagickDraw::pushClipPath — Inicia la definición de un trazado de recorte
  • ImagickDraw::pushDefs — Indica que los siguientes comandos crean elementos con nombre para un procesamiento previo
  • ImagickDraw::pushPattern — Indica que los comandos subsiguientes hasta un comando ImagickDraw::opPattern() comprenden la definición de un patrón nominado
  • ImagickDraw::rectangle — Dibuja un rectángulo
  • ImagickDraw::render — Renderiza todos los comandos de dibujo precedentes en la imagen
  • ImagickDraw::rotate — Aplica la rotación especificada al espacio de coordenadas actual
  • ImagickDraw::roundRectangle — Dibuja un rectángulo redondeado
  • ImagickDraw::scale — Ajusta el factor de escala
  • ImagickDraw::setClipPath — Asocia un trazado de recorte nominado con la imagen
  • ImagickDraw::setClipRule — Establece la regla de relleno de polígonos a usar por el trazado de recorte
  • ImagickDraw::setClipUnits — Establece la interpretación de las unidades de un trazado de recorte
  • ImagickDraw::setFillAlpha — Establece la opacidad a usar cuando se dibuja utilizando el color de relleno o la textura de relleno
  • ImagickDraw::setFillColor — Establece el color de relleno que se va a usar para dibujar objetos rellenos
  • ImagickDraw::setFillOpacity — Establece la opacidad para usarla cuando se dibuja utilizando el color de relleno o la textura de relleno
  • ImagickDraw::setFillPatternURL — Establece la URL a usar como un patrón de relleno para objetos rellenos
  • ImagickDraw::setFillRule — Establece la regla de relleno a usar mientras se dibujan polígonos
  • ImagickDraw::setFont — Establece la fuente especificada completamente para usarla cuando se escribe texto
  • ImagickDraw::setFontFamily — Establece la familia de fuentes para usarla cuando se escribe texto
  • ImagickDraw::setFontSize — Establece el tamaño de punto de la fuente para usarlo cuando se escribe texto
  • ImagickDraw::setFontStretch — Establece el estiramiento de la fuente para usarla cuando se escribe texto
  • ImagickDraw::setFontStyle — Establece el estilo de fuente para usarlo cuando se escribe texto
  • ImagickDraw::setFontWeight — Establece el peso de fuente
  • ImagickDraw::setGravity — Establece la gravedad de ubicación del texto
  • ImagickDraw::setStrokeAlpha — Especifica la opacidad de los perfiles de los objetos contorneados
  • ImagickDraw::setStrokeAntialias — Controla si los perfiles contorneados tiene antialias
  • ImagickDraw::setStrokeColor — Establece el color usado por los perfiles de objetos contorneados
  • ImagickDraw::setStrokeDashArray — Especifica el patrón de rayas y huecos usado por los trazados de contorno
  • ImagickDraw::setStrokeDashOffset — Especifica el índice dentro del patrón de discontinuidad para iniciar la discontinuidad
  • ImagickDraw::setStrokeLineCap — Especifica la forma que se va a usar al final de los subtrazados abiertos cuando están contorneados
  • ImagickDraw::setStrokeLineJoin — Especifica la forma que se va a usar en la esquinas de los trazados cuando están contorneados
  • ImagickDraw::setStrokeMiterLimit — Especifica el límite del inglete
  • ImagickDraw::setStrokeOpacity — Especifica la opacidad de los perfiles de los objetos contorneados
  • ImagickDraw::setStrokePatternURL — Establece el patrón usado para los perfiles de objetos contorneados
  • ImagickDraw::setStrokeWidth — Establece el ancho del contorno a usar para dibujar perfiles de objetos
  • ImagickDraw::setTextAlignment — Especifica una alineación de texto
  • ImagickDraw::setTextAntialias — Controla si el texto tiene antialias
  • ImagickDraw::setTextDecoration — Especifica una decoración
  • ImagickDraw::setTextEncoding — Especifica el conjunto de codificación del texto
  • ImagickDraw::setTextUnderColor — Especifica el color de un rectángulo de fondo
  • ImagickDraw::setVectorGraphics — Establece los gráficos vectoriales
  • ImagickDraw::setViewbox — Establece el tamaño de todos los lienzos
  • ImagickDraw::skewX — Tuerce el sistema de coordenadas actual en la dirección horizontal
  • ImagickDraw::skewY — Tuerce el sistema de coordenadas actual en la dirección vertical
  • ImagickDraw::translate — Aplica una traslación del sistema de coordenadas actual
Imagick::writeImagesFile
ImagickDraw::affine
ImageMagick


Ajusta la matriz de transformación afín actual

ImagickDraw
ImagickDraw::annotation
ImagickDraw
PHP Manual

ImagickDraw::affine

(PECL imagick 2.0.0)

ImagickDraw::affine — Ajusta la matriz de transformación afín actual

Descripción

bool ImagickDraw::affine ( array $affine )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ajusta la matriz de transformación afín actual con la matriz de transformación afín especificada.

Parámetros

affine

Los parámetros de la matriz afín

Valores devueltos

No devuelve ningún valor.

ImagickDraw
ImagickDraw::annotation
ImagickDraw


Dibuja texto en la imagen

ImagickDraw::affine
ImagickDraw::arc
ImagickDraw
PHP Manual

ImagickDraw::annotation

(PECL imagick 2.0.0)

ImagickDraw::annotation — Dibuja texto en la imagen

Descripción

bool ImagickDraw::annotation ( float $x , float $y , string $text )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Dibuja texto en la imagen.

Parámetros

x

Coordenada x donde se dibuja el texto

y

Coordenada y donde se dibuja el texto

text

El texto que se va a dibujar en la imagen

Valores devueltos

No devuelve ningún valor.

ImagickDraw::affine
ImagickDraw::arc
ImagickDraw


Dibuja un arco

ImagickDraw::annotation
ImagickDraw::bezier
ImagickDraw
PHP Manual

ImagickDraw::arc

(PECL imagick 2.0.0)

ImagickDraw::arc — Dibuja un arco

Descripción

bool ImagickDraw::arc ( float $sx , float $sy , float $ex , float $ey , float $sd , float $ed )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Dibuja un arco que cae dentro de un rectángulo limitado en la imagen.

Parámetros

sx

Coordenada x del comienzo del rectángulo limitado

sy

Coordenada y del comienzo del rectángulo limitado

ex

Coordenada x del final del rectángulo limitado

ey

Coordenada y del final del rectángulo limitado

sd

comienzo de los grados de rotación

ed

final de los grados de rotación

Valores devueltos

No devuelve ningún valor.

ImagickDraw::annotation
ImagickDraw::bezier
ImagickDraw


Dibuja una curva de Bézier

ImagickDraw::arc
ImagickDraw::circle
ImagickDraw
PHP Manual

ImagickDraw::bezier

(PECL imagick 2.0.0)

ImagickDraw::bezier — Dibuja una curva de Bézier

Descripción

bool ImagickDraw::bezier ( array $coordinates )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Dibuja una curva de Bézier a través de un conjunto de puntos en la imagen.

Parámetros

coordinates

Array multidimensional como array( array( 'x' => 1, 'y' => 2 ), array( 'x' => 3, 'y' => 4 ) )

Valores devueltos

No devuelve ningún valor.

ImagickDraw::arc
ImagickDraw::circle
ImagickDraw


Dibuja un círculo

ImagickDraw::bezier
ImagickDraw::clear
ImagickDraw
PHP Manual

ImagickDraw::circle

(PECL imagick 2.0.0)

ImagickDraw::circle — Dibuja un círculo

Descripción

bool ImagickDraw::circle ( float $ox , float $oy , float $px , float $py )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Dibuja un círculo en la imagen.

Parámetros

ox

coordenada x del origen

oy

coordenada y del origen

px

coordenada x del perímetro

py

coordenada y del perímetro

Valores devueltos

No devuelve ningún valor.

ImagickDraw::bezier
ImagickDraw::clear
ImagickDraw


Borra el objeto ImagickDraw

ImagickDraw::circle
ImagickDraw::clone
ImagickDraw
PHP Manual

ImagickDraw::clear

(PECL imagick 2.0.0)

ImagickDraw::clear — Borra el objeto ImagickDraw

Descripción

bool ImagickDraw::clear ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Borra el objeto ImagickDraw de cualquier comando acumulado, y reinicia la configuración que contiene a sus valores predeterminados.

Valores devueltos

Devuelve un objeto ImagickDraw.

ImagickDraw::circle
ImagickDraw::clone
ImagickDraw


Hace una copia exacta del objeto ImagickDraw especificado

ImagickDraw::clear
ImagickDraw::color
ImagickDraw
PHP Manual

ImagickDraw::clone

(PECL imagick 2.0.0)

ImagickDraw::clone — Hace una copia exacta del objeto ImagickDraw especificado

Descripción

ImagickDraw ImagickDraw::clone ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Hace una copia exacta del objeto ImagickDraw especificado.

Valores devueltos

Lo que devuelve la función, primero si se tuvo éxito, después si falló. Véase también la entidad &return.success;

ImagickDraw::clear
ImagickDraw::color
ImagickDraw


Dibuja color en una imagen

ImagickDraw::clone
ImagickDraw::comment
ImagickDraw
PHP Manual

ImagickDraw::color

(PECL imagick 2.0.0)

ImagickDraw::color — Dibuja color en una imagen

Descripción

bool ImagickDraw::color ( float $x , float $y , int $paintMethod )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Dibuja color en una imagen usando el color de relleno actual, comenzando por la posición especificada y usando el método de pintura especificado.

Parámetros

x

coordenada x de la pintura

y

coordenada y de la pintura

paintMethod

una de las constantes PAINT_

Valores devueltos

No devuelve ningún valor.

ImagickDraw::clone
ImagickDraw::comment
ImagickDraw


Añade un comentario

ImagickDraw::color
ImagickDraw::composite
ImagickDraw
PHP Manual

ImagickDraw::comment

(PECL imagick 2.0.0)

ImagickDraw::comment — Añade un comentario

Descripción

bool ImagickDraw::comment ( string $comment )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Añade un comentario a un vector de flujo de salida.

Parámetros

comment

El string de comentario que se va a añadir al vector de flujo de salida

Valores devueltos

No devuelve ningún valor.

ImagickDraw::color
ImagickDraw::composite
ImagickDraw


Compone una imagen dentro de la imagen actual

ImagickDraw::comment
ImagickDraw::__construct
ImagickDraw
PHP Manual

ImagickDraw::composite

(PECL imagick 2.0.0)

ImagickDraw::composite — Compone una imagen dentro de la imagen actual

Descripción

bool ImagickDraw::composite ( int $compose , float $x , float $y , float $width , float $height , Imagick $compositeWand )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Compone una imagen dentro de la imagen actual, usando el operador de composición especificado, la posición especificada, y el tamaño especificado.

Parámetros

compose

el operador de composición. Una de las constantes COMPOSITE_

x

coordenada x de la esquina superior izquierda

y

coordenada y de la esquina superior izquierda

width

ancho de la imagen compuesta

height

alto de la imagen compuesta

compositeWand

el objeto Imagick de donde se va a tomar la imagen compuesta

Valores devueltos

Devuelve TRUE en caso de éxito.

ImagickDraw::comment
ImagickDraw::__construct
ImagickDraw


El constructor ImagickDraw

ImagickDraw::composite
ImagickDraw::destroy
ImagickDraw
PHP Manual

ImagickDraw::__construct

(PECL imagick 2.0.0)

ImagickDraw::__construct — El constructor ImagickDraw

Descripción

ImagickDraw::__construct ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

El constructor de ImagickDraw

Valores devueltos

No devuelve ningún valor.

ImagickDraw::composite
ImagickDraw::destroy
ImagickDraw


Libera todos los recursos asociados

ImagickDraw::__construct
ImagickDraw::ellipse
ImagickDraw
PHP Manual

ImagickDraw::destroy

(PECL imagick 2.0.0)

ImagickDraw::destroy — Libera todos los recursos asociados

Descripción

bool ImagickDraw::destroy ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Libera todos los recursos asociados con el objeto ImagickDraw.

Valores devueltos

No devuelve ningún valor.

ImagickDraw::__construct
ImagickDraw::ellipse
ImagickDraw


Dibuja una elipse en la imagen

ImagickDraw::destroy
ImagickDraw::getClipPath
ImagickDraw
PHP Manual

ImagickDraw::ellipse

(PECL imagick 2.0.0)

ImagickDraw::ellipse — Dibuja una elipse en la imagen

Descripción

bool ImagickDraw::ellipse ( float $ox , float $oy , float $rx , float $ry , float $start , float $end )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Dibuja una elipse en la imagen.

Parámetros

ox

oy

rx

ry

start

end

Valores devueltos

No devuelve ningún valor.

ImagickDraw::destroy
ImagickDraw::getClipPath
ImagickDraw


Obtiene el ID del trazado de recorte actual

ImagickDraw::ellipse
ImagickDraw::getClipRule
ImagickDraw
PHP Manual

ImagickDraw::getClipPath

(PECL imagick 2.0.0)

ImagickDraw::getClipPath — Obtiene el ID del trazado de recorte actual

Descripción

string ImagickDraw::getClipPath ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Obtiene el ID del trazado de recorte actual.

Valores devueltos

Devuelve un string que contiene el ID del trazado de recorte o false si no existe ningún trazado de recorte.

ImagickDraw::ellipse
ImagickDraw::getClipRule
ImagickDraw


Devuelve la regla de relleno de un polígono actual

ImagickDraw::getClipPath
ImagickDraw::getClipUnits
ImagickDraw
PHP Manual

ImagickDraw::getClipRule

(PECL imagick 2.0.0)

ImagickDraw::getClipRule — Devuelve la regla de relleno de un polígono actual

Descripción

int ImagickDraw::getClipRule ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve la regla de relleno de un polígono actual usada por el trazado de recorte.

Valores devueltos

Devuelve una de las constantes FILLRULE_.

ImagickDraw::getClipPath
ImagickDraw::getClipUnits
ImagickDraw


Devuelve la interpretación de unidades del trazado de recorte

ImagickDraw::getClipRule
ImagickDraw::getFillColor
ImagickDraw
PHP Manual

ImagickDraw::getClipUnits

(PECL imagick 2.0.0)

ImagickDraw::getClipUnits — Devuelve la interpretación de unidades del trazado de recorte

Descripción

int ImagickDraw::getClipUnits ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve la interpretación de unidades del trazado de recorte.

Valores devueltos

Devuelve un integer si se tuvo éxito.

ImagickDraw::getClipRule
ImagickDraw::getFillColor
ImagickDraw


Devuelve el color de relleno

ImagickDraw::getClipUnits
ImagickDraw::getFillOpacity
ImagickDraw
PHP Manual

ImagickDraw::getFillColor

(PECL imagick 2.0.0)

ImagickDraw::getFillColor — Devuelve el color de relleno

Descripción

ImagickPixel ImagickDraw::getFillColor ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve el color de relleno usado cuando se dibujan objetos rellenos.

Valores devueltos

Devuelve un objeto ImagickPixel.

ImagickDraw::getClipUnits
ImagickDraw::getFillOpacity
ImagickDraw


Devuelve la opacidad usada cuando se dibuja

ImagickDraw::getFillColor
ImagickDraw::getFillRule
ImagickDraw
PHP Manual

ImagickDraw::getFillOpacity

(PECL imagick 2.0.0)

ImagickDraw::getFillOpacity — Devuelve la opacidad usada cuando se dibuja

Descripción

float ImagickDraw::getFillOpacity ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve la opacidad usada cuando se dibuja utilizando el color de relleno o la textura de relleno. Completamente opaco es 1.0.

Valores devueltos

La opacidad.

ImagickDraw::getFillColor
ImagickDraw::getFillRule
ImagickDraw


Devuelve la regla de relleno

ImagickDraw::getFillOpacity
ImagickDraw::getFont
ImagickDraw
PHP Manual

ImagickDraw::getFillRule

(PECL imagick 2.0.0)

ImagickDraw::getFillRule — Devuelve la regla de relleno

Descripción

int ImagickDraw::getFillRule ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve la regla de relleno usada mientras se dibujan polígonos.

Valores devueltos

Devuelve una constante FILLRULE_

ImagickDraw::getFillOpacity
ImagickDraw::getFont
ImagickDraw


Devuelve la fuente

ImagickDraw::getFillRule
ImagickDraw::getFontFamily
ImagickDraw
PHP Manual

ImagickDraw::getFont

(PECL imagick 2.0.0)

ImagickDraw::getFont — Devuelve la fuente

Descripción

string ImagickDraw::getFont ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve un string especificando la fuente usada cuando se escribe texto.

Valores devueltos

Devuelve un string si se tuvo éxito o false si no está establecida la fuente.

ImagickDraw::getFillRule
ImagickDraw::getFontFamily
ImagickDraw


Devuelve la familia de la fuente

ImagickDraw::getFont
ImagickDraw::getFontSize
ImagickDraw
PHP Manual

ImagickDraw::getFontFamily

(PECL imagick 2.0.0)

ImagickDraw::getFontFamily — Devuelve la familia de la fuente

Descripción

string ImagickDraw::getFontFamily ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve la familia de la fuente usada cuando se escribe texto.

Valores devueltos

Devuelve la familia de la fuente seleccionada actualmente o false si no está establecida la familia de la fuente.

ImagickDraw::getFont
ImagickDraw::getFontSize
ImagickDraw


Devuelve el tamaño de punto de la fuente

ImagickDraw::getFontFamily
ImagickDraw::getFontStyle
ImagickDraw
PHP Manual

ImagickDraw::getFontSize

(PECL imagick 2.0.0)

ImagickDraw::getFontSize — Devuelve el tamaño de punto de la fuente

Descripción

float ImagickDraw::getFontSize ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve el tamaño de punto de la fuente usado cuando se escribe texto.

Valores devueltos

Devuelve el tamaño de punto de la fuente asociada al objeto ImagickDraw actual.

ImagickDraw::getFontFamily
ImagickDraw::getFontStyle
ImagickDraw


Devuelve el estilo de fuente

ImagickDraw::getFontSize
ImagickDraw::getFontWeight
ImagickDraw
PHP Manual

ImagickDraw::getFontStyle

(PECL imagick 2.0.0)

ImagickDraw::getFontStyle — Devuelve el estilo de fuente

Descripción

int ImagickDraw::getFontStyle ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve el estilo de fuente usado cuando se escribe texto.

Valores devueltos

Devuelve la constante de estilo de fuente (STYLE_) asociada al objeto ImagickDraw o 0 si no está establecido ningún estilo.

ImagickDraw::getFontSize
ImagickDraw::getFontWeight
ImagickDraw


Devuelve el peso de la fuente

ImagickDraw::getFontStyle
ImagickDraw::getGravity
ImagickDraw
PHP Manual

ImagickDraw::getFontWeight

(PECL imagick 2.0.0)

ImagickDraw::getFontWeight — Devuelve el peso de la fuente

Descripción

int ImagickDraw::getFontWeight ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve el peso de la fuente usada cuando se escribe texto.

Valores devueltos

Devuelve un integer si se tuvo éxito o 0 si no está estabecido ningún peso.

ImagickDraw::getFontStyle
ImagickDraw::getGravity
ImagickDraw


Devuelve la gravedad de emplazamiento del texto

ImagickDraw::getFontWeight
ImagickDraw::getStrokeAntialias
ImagickDraw
PHP Manual

ImagickDraw::getGravity

(PECL imagick 2.0.0)

ImagickDraw::getGravity — Devuelve la gravedad de emplazamiento del texto

Descripción

int ImagickDraw::getGravity ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve la gravedad de emplazamiento del texto usada cuando se escribe texto.

Valores devueltos

Devuelve una constante GRAVITY_ si se tuvo éxito y 0 si no está establecida la gravedad.

ImagickDraw::getFontWeight
ImagickDraw::getStrokeAntialias
ImagickDraw


Devuelve la configuración de antialias de contorno actual

ImagickDraw::getGravity
ImagickDraw::getStrokeColor
ImagickDraw
PHP Manual

ImagickDraw::getStrokeAntialias

(PECL imagick 2.0.0)

ImagickDraw::getStrokeAntialias — Devuelve la configuración de antialias de contorno actual

Descripción

bool ImagickDraw::getStrokeAntialias ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve la configuración antialias de contorno actual. Los perfiles contorneados tienen antialias por defecto. Cuando se deshabilita el antialias, los píxeles contorneados son puestos en el umbral para determinar si se debería usar el color de contorno o el color del lienzo subyacente.

Valores devueltos

Devuelve TRUE si el antialias está on y false si está off.

ImagickDraw::getGravity
ImagickDraw::getStrokeColor
ImagickDraw


Devuelve el color usado por los perfiles de objetos contorneados

ImagickDraw::getStrokeAntialias
ImagickDraw::getStrokeDashArray
ImagickDraw
PHP Manual

ImagickDraw::getStrokeColor

(PECL imagick 2.0.0)

ImagickDraw::getStrokeColor — Devuelve el color usado por los perfiles de objetos contorneados

Descripción

ImagickPixel ImagickDraw::getStrokeColor ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve el color usado por los perfiles de objetos contorneados.

Parámetros

stroke_color

Valores devueltos

Devuelve un objeto ImagickPixel que describe el color.

ImagickDraw::getStrokeAntialias
ImagickDraw::getStrokeDashArray
ImagickDraw


Devuelve un array que representa el patrón de rayas y huecos usado por trazados contorneados

ImagickDraw::getStrokeColor
ImagickDraw::getStrokeDashOffset
ImagickDraw
PHP Manual

ImagickDraw::getStrokeDashArray

(PECL imagick 2.0.0)

ImagickDraw::getStrokeDashArray — Devuelve un array que representa el patrón de rayas y huecos usado por trazados contorneados

Descripción

array ImagickDraw::getStrokeDashArray ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve un array que representa el patrón de rayas y huecos usado por trazados contorneados.

Valores devueltos

Devuelve un array si se tuvo éxito y un array vacío si no está establecido.

ImagickDraw::getStrokeColor
ImagickDraw::getStrokeDashOffset
ImagickDraw


Devuelve el índice dentro del patrón de discontinuidad para iniciar la discontinuidad

ImagickDraw::getStrokeDashArray
ImagickDraw::getStrokeLineCap
ImagickDraw
PHP Manual

ImagickDraw::getStrokeDashOffset

(PECL imagick 2.0.0)

ImagickDraw::getStrokeDashOffset — Devuelve el índice dentro del patrón de discontinuidad para iniciar la discontinuidad

Descripción

float ImagickDraw::getStrokeDashOffset ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve el índice dentro del patrón de discontinuidad para iniciar la discontinuidad.

Valores devueltos

Devuelve un float que representa el índice y 0 si no está establecido.

ImagickDraw::getStrokeDashArray
ImagickDraw::getStrokeLineCap
ImagickDraw


Devuelve la forma que se va a usar al final de los subtrazados abiertos cuando están contorneados

ImagickDraw::getStrokeDashOffset
ImagickDraw::getStrokeLineJoin
ImagickDraw
PHP Manual

ImagickDraw::getStrokeLineCap

(PECL imagick 2.0.0)

ImagickDraw::getStrokeLineCap — Devuelve la forma que se va a usar al final de los subtrazados abiertos cuando están contorneados

Descripción

int ImagickDraw::getStrokeLineCap ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve la forma que se va a usar al final de los subtrazados abiertos cuando están contorneados.

Valores devueltos

Devuelve una de las constantes LINECAP_ o 0 si el cierre de línea de contorno no está establecido.

ImagickDraw::getStrokeDashOffset
ImagickDraw::getStrokeLineJoin
ImagickDraw


Devuelve la forma que se va a usar en la esquinas de los trazados cuando están contorneados

ImagickDraw::getStrokeLineCap
ImagickDraw::getStrokeMiterLimit
ImagickDraw
PHP Manual

ImagickDraw::getStrokeLineJoin

(PECL imagick 2.0.0)

ImagickDraw::getStrokeLineJoin — Devuelve la forma que se va a usar en la esquinas de los trazados cuando están contorneados

Descripción

int ImagickDraw::getStrokeLineJoin ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve la forma que se va a usar en las esquinas de los trazados (u otras formas vectoriales) cuando están contorneados.

Valores devueltos

Devuelve una de las constantes LINEJOIN_ o 0 si la junta de líneas de contorno no está establecida.

ImagickDraw::getStrokeLineCap
ImagickDraw::getStrokeMiterLimit
ImagickDraw


Devuelve el límite del inglete del contorno

ImagickDraw::getStrokeLineJoin
ImagickDraw::getStrokeOpacity
ImagickDraw
PHP Manual

ImagickDraw::getStrokeMiterLimit

(PECL imagick 2.0.0)

ImagickDraw::getStrokeMiterLimit — Devuelve el límite del inglete del contorno

Descripción

int ImagickDraw::getStrokeMiterLimit ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve el límite del inglete del contorno. Cuando dos segmentos de línea se encuentran en un águlo agudo y la unión del inglete ha sido especificada para 'lineJoin', es posible que el inglete se extienda más allá del grosor de la línea que contornea el trazado. 'miterLimit' impone un límite en la proporción de la longitud del inglete a 'lineWidth'.

Valores devueltos

Devuelve un integer que describe el límite del inglete y 0 si no está establecido el límite del inglete.

ImagickDraw::getStrokeLineJoin
ImagickDraw::getStrokeOpacity
ImagickDraw


Devuelve la opacidad del perfil de objetos contorneados

ImagickDraw::getStrokeMiterLimit
ImagickDraw::getStrokeWidth
ImagickDraw
PHP Manual

ImagickDraw::getStrokeOpacity

(PECL imagick 2.0.0)

ImagickDraw::getStrokeOpacity — Devuelve la opacidad del perfil de objetos contorneados

Descripción

float ImagickDraw::getStrokeOpacity ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve la opacidad del perfil de objetos contorneados.

Valores devueltos

Devuelve float que describe la opacidad.

ImagickDraw::getStrokeMiterLimit
ImagickDraw::getStrokeWidth
ImagickDraw


Devuelve al ancho del contorno usado para dibujar contornos de objetos

ImagickDraw::getStrokeOpacity
ImagickDraw::getTextAlignment
ImagickDraw
PHP Manual

ImagickDraw::getStrokeWidth

(PECL imagick 2.0.0)

ImagickDraw::getStrokeWidth — Devuelve al ancho del contorno usado para dibujar contornos de objetos

Descripción

float ImagickDraw::getStrokeWidth ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve al ancho del contorno usado para dibujar contornos de objetos.

Valores devueltos

Devuelve un float que describe el ancho del contorno.

ImagickDraw::getStrokeOpacity
ImagickDraw::getTextAlignment
ImagickDraw


Devuelve la alineación del texto

ImagickDraw::getStrokeWidth
ImagickDraw::getTextAntialias
ImagickDraw
PHP Manual

ImagickDraw::getTextAlignment

(PECL imagick 2.0.0)

ImagickDraw::getTextAlignment — Devuelve la alineación del texto

Descripción

int ImagickDraw::getTextAlignment ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve la alineación aplicada cuando se escribe texto.

Valores devueltos

Devuelve una de las constantes ALIGN_ y 0 si no está establecida la alineación.

ImagickDraw::getStrokeWidth
ImagickDraw::getTextAntialias
ImagickDraw


Devuelve la configuración de antialias del texto actual

ImagickDraw::getTextAlignment
ImagickDraw::getTextDecoration
ImagickDraw
PHP Manual

ImagickDraw::getTextAntialias

(PECL imagick 2.0.0)

ImagickDraw::getTextAntialias — Devuelve la configuración de antialias del texto actual

Descripción

bool ImagickDraw::getTextAntialias ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve la configuración de antialias del texto actual, que determina si el texto tiene antialias o no. El texto tiene antialias por defecto.

Valores devueltos

Devuelve TRUE si el texto tiene antialias y false si no.

ImagickDraw::getTextAlignment
ImagickDraw::getTextDecoration
ImagickDraw


Devuelve la decoración del texto

ImagickDraw::getTextAntialias
ImagickDraw::getTextEncoding
ImagickDraw
PHP Manual

ImagickDraw::getTextDecoration

(PECL imagick 2.0.0)

ImagickDraw::getTextDecoration — Devuelve la decoración del texto

Descripción

int ImagickDraw::getTextDecoration ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve la decoración aplicada cuando se escribe texto.

Valores devueltos

Devuelve una de las constantes DECORATION_ y 0 si no está establecida la decoración.

ImagickDraw::getTextAntialias
ImagickDraw::getTextEncoding
ImagickDraw


Devuelve la codificación usada para anotaciones de texto

ImagickDraw::getTextDecoration
ImagickDraw::getTextUnderColor
ImagickDraw
PHP Manual

ImagickDraw::getTextEncoding

(PECL imagick 2.0.0)

ImagickDraw::getTextEncoding — Devuelve la codificación usada para anotaciones de texto

Descripción

string ImagickDraw::getTextEncoding ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve un string que especifica la codificación usada para anotaciones de texto.

Valores devueltos

Devuelve un string que especifica la codificación o false si la codificación de texto no está establecida.

ImagickDraw::getTextDecoration
ImagickDraw::getTextUnderColor
ImagickDraw


Devuelve el color debajo del texto

ImagickDraw::getTextEncoding
ImagickDraw::getVectorGraphics
ImagickDraw
PHP Manual

ImagickDraw::getTextUnderColor

(PECL imagick 2.0.0)

ImagickDraw::getTextUnderColor — Devuelve el color debajo del texto

Descripción

ImagickPixel ImagickDraw::getTextUnderColor ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve el color de un rectángulo de fondo para colocar bajo anotaciones de texto.

Valores devueltos

Devuelve un objeto ImagickPixel que describe el color.

ImagickDraw::getTextEncoding
ImagickDraw::getVectorGraphics
ImagickDraw


Devuelve una cadena que contiene gráficos vectoriales

ImagickDraw::getTextUnderColor
ImagickDraw::line
ImagickDraw
PHP Manual

ImagickDraw::getVectorGraphics

(PECL imagick 2.0.0)

ImagickDraw::getVectorGraphics — Devuelve una cadena que contiene gráficos vectoriales

Descripción

string ImagickDraw::getVectorGraphics ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve un string que especifica los gráficos vectoriales generados por cualquier llamada a gráficos hecha desde que el objeto ImagickDraw fue instanciado.

Valores devueltos

Devuelve un string que contiene los gráficos vectoriales.

ImagickDraw::getTextUnderColor
ImagickDraw::line
ImagickDraw


Dibuja una línea

ImagickDraw::getVectorGraphics
ImagickDraw::matte
ImagickDraw
PHP Manual

ImagickDraw::line

(PECL imagick 2.0.0)

ImagickDraw::line — Dibuja una línea

Descripción

bool ImagickDraw::line ( float $sx , float $sy , float $ex , float $ey )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Dibuja una línea en la imagen usando el color de contorno actual, la opacidad de contorno, y el ancho de contorno.

Parámetros

sx

coordenada x de inicio

sy

coordenada y de inicio

ex

coordenada x final

ey

coordenada y final

Valores devueltos

No devuelve ningún valor.

ImagickDraw::getVectorGraphics
ImagickDraw::matte
ImagickDraw


Pinta sobre el canal de opacidad de la imagen

ImagickDraw::line
ImagickDraw::pathClose
ImagickDraw
PHP Manual

ImagickDraw::matte

(PECL imagick 2.0.0)

ImagickDraw::matte — Pinta sobre el canal de opacidad de la imagen

Descripción

bool ImagickDraw::matte ( float $x , float $y , int $paintMethod )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Pinta sobre el canal de opacidad de la imagen para establecer los píxeles afectados a transparentes, para influir en la opacidad de los píxeles.

Parámetros

x

coordenada x del mate

y

coordenada y del mate

paintMethod

constante PAINT_

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ImagickDraw::line
ImagickDraw::pathClose
ImagickDraw


Añade un elemento de trazado al trazado actual

ImagickDraw::matte
ImagickDraw::pathCurveToAbsolute
ImagickDraw
PHP Manual

ImagickDraw::pathClose

(PECL imagick 2.0.0)

ImagickDraw::pathClose — Añade un elemento de trazado al trazado actual

Descripción

bool ImagickDraw::pathClose ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Añade un elemento de trazado al trazado actual el cuál cierra el subtrazado actual dibujando una línea recta desde el punto actual hasta el punto de inicio del subtrazado actual más reciente (normalmente el punto más actual del movimiento).

Valores devueltos

No devuelve ningún valor.

ImagickDraw::matte
ImagickDraw::pathCurveToAbsolute
ImagickDraw


Dibuja una curva cúbica de Bézier

ImagickDraw::pathClose
ImagickDraw::pathCurveToQuadraticBezierAbsolute
ImagickDraw
PHP Manual

ImagickDraw::pathCurveToAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToAbsolute — Dibuja una curva cúbica de Bézier

Descripción

bool ImagickDraw::pathCurveToAbsolute ( float $x1 , float $y1 , float $x2 , float $y2 , float $x , float $y )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Dibuja una curva cúbica de Bézier desde el punto actual a (x,y) usando (x1,y1) como punto de control en el inicio de la curva y (x2,y2) como punto de control en el final de la curva, usando coordenadas absolutas. Al final del comando, el nuevo punto actual se convierte en el par de coordenadas (x,y) usado en el Bezígono.

Parámetros

x1

coordenada x del primer punto de control

y1

coordenada y del primer punto de control

x2

coordenada x del segundo punto de control

y2

coordenada y del segundo punto de control

x

coordenada x del final de la curva

y

coordenada y del final de la curva

Valores devueltos

No devuelve ningún valor.

ImagickDraw::pathClose
ImagickDraw::pathCurveToQuadraticBezierAbsolute
ImagickDraw


Dibuja una curva Bézier cuadrática

ImagickDraw::pathCurveToAbsolute
ImagickDraw::pathCurveToQuadraticBezierRelative
ImagickDraw
PHP Manual

ImagickDraw::pathCurveToQuadraticBezierAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToQuadraticBezierAbsolute — Dibuja una curva Bézier cuadrática

Descripción

bool ImagickDraw::pathCurveToQuadraticBezierAbsolute ( float $x1 , float $y1 , float $x , float $y )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Dibuja una curva Bézier cuadrática desde el punto actual a (x,y) usando (x1,y1) como el punto de control utilizando coordenadas absolutas. Al final del comando, el nuevo punto actual se convierte en el par de coordenadas (x,y) usado en el Bezígono.

Parámetros

x1

coordenada x del punto de control

y1

coordenada y del punto de control

x

coordenada x del punto final

y

coordenada y del punto final

Valores devueltos

No devuelve ningún valor.

ImagickDraw::pathCurveToAbsolute
ImagickDraw::pathCurveToQuadraticBezierRelative
ImagickDraw


Dibuja una curva Bézier cuadrática

ImagickDraw::pathCurveToQuadraticBezierAbsolute
ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute
ImagickDraw
PHP Manual

ImagickDraw::pathCurveToQuadraticBezierRelative

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToQuadraticBezierRelative — Dibuja una curva Bézier cuadrática

Descripción

bool ImagickDraw::pathCurveToQuadraticBezierRelative ( float $x1 , float $y1 , float $x , float $y )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Dibuja una curva Bézier cuadrática desde el punto actual a (x,y) usando (x1,y1) como el punto de control utilizando coordenadas relativas. Al final del comando, el nuevo punto actual se convierte en el par de coordenadas (x,y) usado en el Bezígono.

Parámetros

x1

coordenada x de inicio

y1

coordenada y de inicio

x

coordenada x final

y

coordenada y final

Valores devueltos

No devuelve ningún valor.

ImagickDraw::pathCurveToQuadraticBezierAbsolute
ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute
ImagickDraw


Dibuja una curva Bézier cuadrática

ImagickDraw::pathCurveToQuadraticBezierRelative
ImagickDraw::pathCurveToQuadraticBezierSmoothRelative
ImagickDraw
PHP Manual

ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute — Dibuja una curva Bézier cuadrática

Descripción

bool ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute ( float $x , float $y )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Dibuja una curva Bézier cuadrática (usando coordenadas absolutas) desde el punto actual a (x, y). Se asume que el punto de control es la refelxión del punto de control del comando previo relativo al punto actual. (Si no hay comando previo o el comando previo no es DrawPathCurveToQuadraticBezierAbsolute, DrawPathCurveToQuadraticBezierRelative, DrawPathCurveToQuadraticBezierSmoothAbsolut o DrawPathCurveToQuadraticBezierSmoothRelative, se asume que el punto de control coincide con el punto actual). Al final del comando, el nuevo punto actual se convierte en el par de coordenadas final (x, y) usado en el Bezígono.

Parámetros

x

coordenada x final

y

coordenada y final

Valores devueltos

No devuelve ningún valor.

ImagickDraw::pathCurveToQuadraticBezierRelative
ImagickDraw::pathCurveToQuadraticBezierSmoothRelative
ImagickDraw


Dibuja una curva Bézier cuadrática

ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute
ImagickDraw::pathCurveToRelative
ImagickDraw
PHP Manual

ImagickDraw::pathCurveToQuadraticBezierSmoothRelative

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToQuadraticBezierSmoothRelative — Dibuja una curva Bézier cuadrática

Descripción

bool ImagickDraw::pathCurveToQuadraticBezierSmoothRelative ( float $x , float $y )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Dibuja una curva Bézier cuadrática (usando coordenadas relativas) desde el punto actual a (x, y). Se asume que el punto de control es la refelxión del punto de control del comando previo relativo al punto actual. (Si no hay comando previo o el comando previo no es DrawPathCurveToQuadraticBezierAbsolute, DrawPathCurveToQuadraticBezierRelative, DrawPathCurveToQuadraticBezierSmoothAbsolut o DrawPathCurveToQuadraticBezierSmoothRelative, se asume que el punto de control coincide con el punto actual). Al final del comando, el nuevo punto actual se convierte en el par de coordenadas final (x, y) usado en el Bezígono.

Parámetros

x

coordenada x final

y

coordenada y final

Valores devueltos

No devuelve ningún valor.

ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute
ImagickDraw::pathCurveToRelative
ImagickDraw


Dibuja una curva cúbica de Bézier

ImagickDraw::pathCurveToQuadraticBezierSmoothRelative
ImagickDraw::pathCurveToSmoothAbsolute
ImagickDraw
PHP Manual

ImagickDraw::pathCurveToRelative

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToRelative — Dibuja una curva cúbica de Bézier

Descripción

bool ImagickDraw::pathCurveToRelative ( float $x1 , float $y1 , float $x2 , float $y2 , float $x , float $y )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Dibuja una curva cúbica de Bézier desde el punto actual a (x,y) usando (x1,y1) como punto de control en el inicio de la curva y (x2,y2) como punto de control en el final de la curva, usando coordenadas relativas. Al final del comando, el nuevo punto actual se convierte en el par de coordenadas (x,y) usado en el Bezígono.

Parámetros

x1

coordenada x del punto de control inicial

y1

coordenada y del punto de control inicial

x2

coordenada x del punto de control final

y2

coordenada y del punto de control final

x

coordenada x final

y

coordenada y final

Valores devueltos

No devuelve ningún valor.

ImagickDraw::pathCurveToQuadraticBezierSmoothRelative
ImagickDraw::pathCurveToSmoothAbsolute
ImagickDraw


Dibuja una curva cúbica de Bézier

ImagickDraw::pathCurveToRelative
ImagickDraw::pathCurveToSmoothRelative
ImagickDraw
PHP Manual

ImagickDraw::pathCurveToSmoothAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToSmoothAbsolute — Dibuja una curva cúbica de Bézier

Descripción

bool ImagickDraw::pathCurveToSmoothAbsolute ( float $x2 , float $y2 , float $x , float $y )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Dibuja una curva cúbica de Bézier desde el punto actual a (x,y) usando coordenadas absolutas. Se asume que el primer punto de control es la reflexión del segundo punto de control del comando anterior relativo a punto actual. (Si no hay comando previo o el comando previo no es DrawPathCurveToAbsolute, DrawPathCurveToRelative, DrawPathCurveToSmoothAbsolute o DrawPathCurveToSmoothRelative, se asume que el primer punto de control coincide con el punto actual.) (x2,y2) es el segundo punto de control (es decir, el punto de control al final de la curva). Al final del comando, el nuevo punto actual se convierte en el par de coordenadas final (x, y) usado en el Bezígono.

Parámetros

x2

coordenada x del segundo punto de control

y2

coordenada y del segundo punto de control

x

coordenada x del punto final

y

coordenada y del punto final

Valores devueltos

No devuelve ningún valor.

ImagickDraw::pathCurveToRelative
ImagickDraw::pathCurveToSmoothRelative
ImagickDraw


Dibuja una curva cúbica de Bézier

ImagickDraw::pathCurveToSmoothAbsolute
ImagickDraw::pathEllipticArcAbsolute
ImagickDraw
PHP Manual

ImagickDraw::pathCurveToSmoothRelative

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToSmoothRelative — Dibuja una curva cúbica de Bézier

Descripción

bool ImagickDraw::pathCurveToSmoothRelative ( float $x2 , float $y2 , float $x , float $y )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Dibuja una curva cúbica de Bézier desde el punto actual a (x,y) usando coordenadas relativas. Se asume que el primer punto de control es la reflexión del segundo punto de control del comando anterior relativo a punto actual. (Si no hay comando previo o el comando previo no es DrawPathCurveToAbsolute, DrawPathCurveToRelative, DrawPathCurveToSmoothAbsolute o DrawPathCurveToSmoothRelative, se asume que el primer punto de control coincide con el punto actual.) (x2,y2) es el segundo punto de control (es decir, el punto de control al final de la curva). Al final del comando, el nuevo punto actual se convierte en el par de coordenadas final (x, y) usado en el Bezígono.

Parámetros

x2

coordenada x del segundo punto de control

y2

coordenada y del segundo punto de control

x

coordenada x del punto final

y

coordenada y del punto final

Valores devueltos

No devuelve ningún valor.

ImagickDraw::pathCurveToSmoothAbsolute
ImagickDraw::pathEllipticArcAbsolute
ImagickDraw


Dibuja un arco elíptico

ImagickDraw::pathCurveToSmoothRelative
ImagickDraw::pathEllipticArcRelative
ImagickDraw
PHP Manual

ImagickDraw::pathEllipticArcAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathEllipticArcAbsolute — Dibuja un arco elíptico

Descripción

bool ImagickDraw::pathEllipticArcAbsolute ( float $rx , float $ry , float $x_axis_rotation , bool $large_arc_flag , bool $sweep_flag , float $x , float $y )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Dibuja un arco elíptico desde el punto actual a (x, y) usando coordenadas absolutas. El tamaño y la orientación de la elipse están definidos por dos radios (rx, ry) y xAxisRotation, que indica cómo rota la elipse completa en relación al sistema de coordenadas actual. El centro (cx, cy) de la elipse se calcula automáticamente para satisfacer las limitaciones impuestas por otros parámetros. largeArcFlag y sweepFlag contribuyen al cálculo automático y ayudan a determinar cómo se dibuja el arco. Si largeArcFlag es TRUE entonces se dibuja el arco más largo disponible. Si sweepFlag es true, entonces se dibuja el arco que coincida con una rotación en sentido de las agujas del reloj.

Parámetros

rx

radio x

ry

radio y

x_axis_rotation

eje de rotación x

large_arc_flag

bandera de arco largo

sweep_flag

bandera de barrido

x

coordenada x

y

coordenada y

Valores devueltos

No devuelve ningún valor.

ImagickDraw::pathCurveToSmoothRelative
ImagickDraw::pathEllipticArcRelative
ImagickDraw


Dibuja un arco elíptico

ImagickDraw::pathEllipticArcAbsolute
ImagickDraw::pathFinish
ImagickDraw
PHP Manual

ImagickDraw::pathEllipticArcRelative

(PECL imagick 2.0.0)

ImagickDraw::pathEllipticArcRelative — Dibuja un arco elíptico

Descripción

bool ImagickDraw::pathEllipticArcRelative ( float $rx , float $ry , float $x_axis_rotation , bool $large_arc_flag , bool $sweep_flag , float $x , float $y )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Dibuja un arco elíptico desde el punto actual a (x, y) usando coordenadas relativas. El tamaño y la orientación de la elipse están definidos por dos radios (rx, ry) y xAxisRotation, que indica cómo rota la elipse completa en relación al sistema de coordenadas actual. El centro (cx, cy) de la elipse se calcula automáticamente para satisfacer las limitaciones impuestas por otros parámetros. largeArcFlag y sweepFlag contribuyen al cálculo automático y ayudan a determinar cómo se dibuja el arco. Si largeArcFlag es TRUE entonces se dibuja el arco más largo disponible. Si sweepFlag es true, entonces se dibuja el arco que coincida con una rotación en sentido de las agujas del reloj.

Parámetros

rx

radio x

ry

radio y

x_axis_rotation

eje de rotación x

large_arc_flag

bandera de arco largo

sweep_flag

bandera de barrido

x

coordenada x

y

coordenada y

Valores devueltos

No devuelve ningún valor.

ImagickDraw::pathEllipticArcAbsolute
ImagickDraw::pathFinish
ImagickDraw


Finaliza el trazado actual

ImagickDraw::pathEllipticArcRelative
ImagickDraw::pathLineToAbsolute
ImagickDraw
PHP Manual

ImagickDraw::pathFinish

(PECL imagick 2.0.0)

ImagickDraw::pathFinish — Finaliza el trazado actual

Descripción

bool ImagickDraw::pathFinish ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Finaliza el trazado actual.

Valores devueltos

No devuelve ningún valor.

ImagickDraw::pathEllipticArcRelative
ImagickDraw::pathLineToAbsolute
ImagickDraw


Dibuja un trazado de línea

ImagickDraw::pathFinish
ImagickDraw::pathLineToHorizontalAbsolute
ImagickDraw
PHP Manual

ImagickDraw::pathLineToAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathLineToAbsolute — Dibuja un trazado de línea

Descripción

bool ImagickDraw::pathLineToAbsolute ( float $x , float $y )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Dibuja un trazado de línea desde el punto actual a las coordenadas dadas usando coordenadas absolutas. Las coordenadas entonces se convierten en el nuevo punto actual.

Parámetros

x

coordenada x de inicio

y

coordenada y de inicio

Valores devueltos

No devuelve ningún valor.

ImagickDraw::pathFinish
ImagickDraw::pathLineToHorizontalAbsolute
ImagickDraw


Dibuja un trazado de línea horizontal

ImagickDraw::pathLineToAbsolute
ImagickDraw::pathLineToHorizontalRelative
ImagickDraw
PHP Manual

ImagickDraw::pathLineToHorizontalAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathLineToHorizontalAbsolute — Dibuja un trazado de línea horizontal

Descripción

bool ImagickDraw::pathLineToHorizontalAbsolute ( float $x )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Dibuja un trazado de línea horizontal desde el punto actual al punto objetivo usando coordenadas absolutas. El punto objetivo entonces se convierte en el nuevo punto actual.

Parámetros

x

coordenada x

Valores devueltos

No devuelve ningún valor.

ImagickDraw::pathLineToAbsolute
ImagickDraw::pathLineToHorizontalRelative
ImagickDraw


Dibuja una línea horizontal

ImagickDraw::pathLineToHorizontalAbsolute
ImagickDraw::pathLineToRelative
ImagickDraw
PHP Manual

ImagickDraw::pathLineToHorizontalRelative

(PECL imagick 2.0.0)

ImagickDraw::pathLineToHorizontalRelative — Dibuja una línea horizontal

Descripción

bool ImagickDraw::pathLineToHorizontalRelative ( float $x )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Dibuja un trazado de línea horizontal desde el punto actual al punto objetivo usando coordenadas relativas. El punto objetivo entonces se convierte en el nuevo punto actual.

Parámetros

x

coordenada x

Valores devueltos

No devuelve ningún valor.

ImagickDraw::pathLineToHorizontalAbsolute
ImagickDraw::pathLineToRelative
ImagickDraw


Dibuja un trazado de línea

ImagickDraw::pathLineToHorizontalRelative
ImagickDraw::pathLineToVerticalAbsolute
ImagickDraw
PHP Manual

ImagickDraw::pathLineToRelative

(PECL imagick 2.0.0)

ImagickDraw::pathLineToRelative — Dibuja un trazado de línea

Descripción

bool ImagickDraw::pathLineToRelative ( float $x , float $y )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Dibuja un trazado de línea desde el punto actual a las coordenadas dadas usando coordenadas relativas. Las coordenadas entonces se convierten en el nuevo punto actual.

Parámetros

x

coordenada x de inicio

y

coordenada y de inicio

Valores devueltos

No devuelve ningún valor.

ImagickDraw::pathLineToHorizontalRelative
ImagickDraw::pathLineToVerticalAbsolute
ImagickDraw


Dibuja un línea vertical

ImagickDraw::pathLineToRelative
ImagickDraw::pathLineToVerticalRelative
ImagickDraw
PHP Manual

ImagickDraw::pathLineToVerticalAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathLineToVerticalAbsolute — Dibuja un línea vertical

Descripción

bool ImagickDraw::pathLineToVerticalAbsolute ( float $y )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Dibuja un trazado de línea vertical desde el punto actual al punto objetivo usando coordenadas absolutas. El punto objetivo entonces se convierte en el nuevo punto actual.

Parámetros

y

coordenada y

Valores devueltos

No devuelve ningún valor.

ImagickDraw::pathLineToRelative
ImagickDraw::pathLineToVerticalRelative
ImagickDraw


Dibuja un trazado de línea vertical

ImagickDraw::pathLineToVerticalAbsolute
ImagickDraw::pathMoveToAbsolute
ImagickDraw
PHP Manual

ImagickDraw::pathLineToVerticalRelative

(PECL imagick 2.0.0)

ImagickDraw::pathLineToVerticalRelative — Dibuja un trazado de línea vertical

Descripción

bool ImagickDraw::pathLineToVerticalRelative ( float $y )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Dibuja un trazado de línea vertical desde el punto actual al punto objetivo usando coordenadas relativas. El punto objetivo entonces se convierte en el nuevo punto actual.

Parámetros

y

coordenada y

Valores devueltos

No devuelve ningún valor.

ImagickDraw::pathLineToVerticalAbsolute
ImagickDraw::pathMoveToAbsolute
ImagickDraw


Inicia un nuevo sub-trazado

ImagickDraw::pathLineToVerticalRelative
ImagickDraw::pathMoveToRelative
ImagickDraw
PHP Manual

ImagickDraw::pathMoveToAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathMoveToAbsolute — Inicia un nuevo sub-trazado

Descripción

bool ImagickDraw::pathMoveToAbsolute ( float $x , float $y )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Inicia un nuevo sub-trazado en las coordenadas dadas usando coordenadas absolutas. El punto actual entonces se convierte en las coordenadas especificadas.

Parámetros

x

coordenada x del punto de inicio

y

coordenada y del punto de inicio

Valores devueltos

No devuelve ningún valor.

ImagickDraw::pathLineToVerticalRelative
ImagickDraw::pathMoveToRelative
ImagickDraw


Inicia un nuevo sub-trazado

ImagickDraw::pathMoveToAbsolute
ImagickDraw::pathStart
ImagickDraw
PHP Manual

ImagickDraw::pathMoveToRelative

(PECL imagick 2.0.0)

ImagickDraw::pathMoveToRelative — Inicia un nuevo sub-trazado

Descripción

bool ImagickDraw::pathMoveToRelative ( float $x , float $y )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Inicia un nuevo sub-trazado en las coordenadas dadas usando coordenadas relativas. El punto actual entonces se convierte en las coordenadas especificadas.

Parámetros

x

coordenada x del objetivo

y

coordenada y del objetivo

Valores devueltos

No devuelve ningún valor.

ImagickDraw::pathMoveToAbsolute
ImagickDraw::pathStart
ImagickDraw


Declara el inicio de una lista de dibujo de trazados

ImagickDraw::pathMoveToRelative
ImagickDraw::point
ImagickDraw
PHP Manual

ImagickDraw::pathStart

(PECL imagick 2.0.0)

ImagickDraw::pathStart — Declara el inicio de una lista de dibujo de trazados

Descripción

bool ImagickDraw::pathStart ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Declara el inicio de una lista de dibujo de trazados que finaliza con un comando DrawPathFinish() coincidente. Todos los demás comandos DrawPath deben estar encerrados entre comandos DrawPathFinish(). Ésto es debido a que los comandos de dibujo de trazados son comandos subordinados y no funcionan por sí mismos.

Valores devueltos

No devuelve ningún valor.

ImagickDraw::pathMoveToRelative
ImagickDraw::point
ImagickDraw


Dibuja un punto

ImagickDraw::pathStart
ImagickDraw::polygon
ImagickDraw
PHP Manual

ImagickDraw::point

(PECL imagick 2.0.0)

ImagickDraw::point — Dibuja un punto

Descripción

bool ImagickDraw::point ( float $x , float $y )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Dibuja un punto usando el color del contorno y el grosor del contorno en las coordenadas especificadas.

Parámetros

x

coordenada x del punto

y

coordenada y del punto

Valores devueltos

No devuelve ningún valor.

ImagickDraw::pathStart
ImagickDraw::polygon
ImagickDraw


Dibuja un polígono

ImagickDraw::point
ImagickDraw::polyline
ImagickDraw
PHP Manual

ImagickDraw::polygon

(PECL imagick 2.0.0)

ImagickDraw::polygon — Dibuja un polígono

Descripción

bool ImagickDraw::polygon ( array $coordinates )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Dibuja un polígono usando el contorno, el ancho del contorno, y el color de relleno o de la textura actuales, usando el array de coordenadas especificado.

Parámetros

coordinates

array multidimensional como array( array( 'x' => 3, 'y' => 4 ), array( 'x' => 2, 'y' => 6 ) );

Valores devueltos

Devuelve TRUE en caso de éxito.

ImagickDraw::point
ImagickDraw::polyline
ImagickDraw


Dibuja una poli-línea

ImagickDraw::polygon
ImagickDraw::pop
ImagickDraw
PHP Manual

ImagickDraw::polyline

(PECL imagick 2.0.0)

ImagickDraw::polyline — Dibuja una poli-línea

Descripción

bool ImagickDraw::polyline ( array $coordinates )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Dibuja una poli-línea usando el contorno, el ancho del contorno, y el color de relleno o de la textura actuales, usando el array de coordenadas especificado.

Parámetros

coordinates

array de coordenadas x e y: array( array( 'x' => 4, 'y' => 6 ), array( 'x' => 8, 'y' => 10 ) )

Valores devueltos

Devuelve TRUE en caso de éxito.

ImagickDraw::polygon
ImagickDraw::pop
ImagickDraw


Destruye el objeto ImagickDraw actual de la pila, y lo devuelve al objeto ImagickDraw previamente metido

ImagickDraw::polyline
ImagickDraw::popClipPath
ImagickDraw
PHP Manual

ImagickDraw::pop

(PECL imagick 2.0.0)

ImagickDraw::pop — Destruye el objeto ImagickDraw actual de la pila, y lo devuelve al objeto ImagickDraw previamente metido

Descripción

bool ImagickDraw::pop ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Destruye el objeto ImagickDraw actual de la pila, y lo devuelve al objeto ImagickDraw previamente metido. Pueden existir mútiples objetos ImagickDraw. Es un error intentar sacar más objetos ImagickDraw de los que se han metido, y es una forma apropiada sacar todos los objetos ImagickDraw que han sido metidos.

Valores devueltos

Devuelve TRUE si se tuvo éxito y false si falló.

ImagickDraw::polyline
ImagickDraw::popClipPath
ImagickDraw


Finaliza una definición de un trazado de recorte

ImagickDraw::pop
ImagickDraw::popDefs
ImagickDraw
PHP Manual

ImagickDraw::popClipPath

(PECL imagick 2.0.0)

ImagickDraw::popClipPath — Finaliza una definición de un trazado de recorte

Descripción

bool ImagickDraw::popClipPath ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Finaliza una definición de un trazado de recorte.

Valores devueltos

No devuelve ningún valor.

ImagickDraw::pop
ImagickDraw::popDefs
ImagickDraw


Finaliza una lista de definiciones

ImagickDraw::popClipPath
ImagickDraw::popPattern
ImagickDraw
PHP Manual

ImagickDraw::popDefs

(PECL imagick 2.0.0)

ImagickDraw::popDefs — Finaliza una lista de definiciones

Descripción

bool ImagickDraw::popDefs ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Finaliza una lista de definiciones.

Valores devueltos

No devuelve ningún valor.

ImagickDraw::popClipPath
ImagickDraw::popPattern
ImagickDraw


Finaliza una definición de patrón

ImagickDraw::popDefs
ImagickDraw::push
ImagickDraw
PHP Manual

ImagickDraw::popPattern

(PECL imagick 2.0.0)

ImagickDraw::popPattern — Finaliza una definición de patrón

Descripción

bool ImagickDraw::popPattern ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Finaliza una definición de patrón.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ImagickDraw::popDefs
ImagickDraw::push
ImagickDraw


Clona el objeto ImagickDraw actual y lo mete en la pila

ImagickDraw::popPattern
ImagickDraw::pushClipPath
ImagickDraw
PHP Manual

ImagickDraw::push

(PECL imagick 2.0.0)

ImagickDraw::push — Clona el objeto ImagickDraw actual y lo mete en la pila

Descripción

bool ImagickDraw::push ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Clona el objeto ImagickDraw actual para crear un nuevo objeto ImagickDraw, que es añadido a la pila de ImagickDraw. Los objetos de dibujo ImagickDraw originales pueden ser devueltos invocando a pop(). Los objetos ImagickDraw son almacenados en una pila ImagickDraw. Por cada Pop debe haber habido un Push equivalente.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ImagickDraw::popPattern
ImagickDraw::pushClipPath
ImagickDraw


Inicia la definición de un trazado de recorte

ImagickDraw::push
ImagickDraw::pushDefs
ImagickDraw
PHP Manual

ImagickDraw::pushClipPath

(PECL imagick 2.0.0)

ImagickDraw::pushClipPath — Inicia la definición de un trazado de recorte

Descripción

bool ImagickDraw::pushClipPath ( string $clip_mask_id )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Inicia la definición de un trazado de recorte el cuál está compuesto por cualquier número de comandos de dibujo y finalizado por un comando ImagickDraw::popClipPath().

Parámetros

clip_mask_id

Id de la máscara de recorte

Valores devueltos

No devuelve ningún valor.

ImagickDraw::push
ImagickDraw::pushDefs
ImagickDraw


Indica que los siguientes comandos crean elementos con nombre para un procesamiento previo

ImagickDraw::pushClipPath
ImagickDraw::pushPattern
ImagickDraw
PHP Manual

ImagickDraw::pushDefs

(PECL imagick 2.0.0)

ImagickDraw::pushDefs — Indica que los siguientes comandos crean elementos con nombre para un procesamiento previo

Descripción

bool ImagickDraw::pushDefs ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Indica que los comandos hasta un comando ImagickDraw::popDefs() finalizador crean elementos nominados (p.ej. trazados de recorte, texturas, etc.) los cuales pueden ser procesados previamente de forma segura para la eficiencia.

Valores devueltos

No devuelve ningún valor.

ImagickDraw::pushClipPath
ImagickDraw::pushPattern
ImagickDraw


Indica que los comandos subsiguientes hasta un comando ImagickDraw::opPattern() comprenden la definición de un patrón nominado

ImagickDraw::pushDefs
ImagickDraw::rectangle
ImagickDraw
PHP Manual

ImagickDraw::pushPattern

(PECL imagick 2.0.0)

ImagickDraw::pushPattern — Indica que los comandos subsiguientes hasta un comando ImagickDraw::opPattern() comprenden la definición de un patrón nominado

Descripción

bool ImagickDraw::pushPattern ( string $pattern_id , float $x , float $y , float $width , float $height )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Indica que los comandos subsiguientes hasta un comando DrawPopPattern() comprenden la definición de un patrón nominado. Al espacio del patrón se le asigna las coordenadas de la esquina superior izquierda, un ancho y alto, y se convierte en su propio espacio de dibujo. Cualquier cosa que se pueda dibujar se puede usar en una definición de patrón. Los patrones nominados se pueden usar como definiciones de contorno o pincel.

Parámetros

pattern_id

el id del patrón

x

coordenada x de la esquina superior izquierda

y

coordenada y de la esquina superior izquierda

width

ancho del patrón

height

alto del patrón

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ImagickDraw::pushDefs
ImagickDraw::rectangle
ImagickDraw


Dibuja un rectángulo

ImagickDraw::pushPattern
ImagickDraw::render
ImagickDraw
PHP Manual

ImagickDraw::rectangle

(PECL imagick 2.0.0)

ImagickDraw::rectangle — Dibuja un rectángulo

Descripción

bool ImagickDraw::rectangle ( float $x1 , float $y1 , float $x2 , float $y2 )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Dibuja un rectángulo dando dos coordenadas y usando el contorno, el ancho del contorno, y la configuración de rellenos actuales.

Parámetros

x1

coordenada x de la esquina superior izquierda

y1

coordenada y de la esquina superior izquierda

x2

coordenada x de la esquina inferior derecha

y2

coordenada y de la esquina inferior derecha

Valores devueltos

No devuelve ningún valor.

ImagickDraw::pushPattern
ImagickDraw::render
ImagickDraw


Renderiza todos los comandos de dibujo precedentes en la imagen

ImagickDraw::rectangle
ImagickDraw::rotate
ImagickDraw
PHP Manual

ImagickDraw::render

(PECL imagick 2.0.0)

ImagickDraw::render — Renderiza todos los comandos de dibujo precedentes en la imagen

Descripción

bool ImagickDraw::render ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Renderiza todos los comandos de dibujo precedentes en la imagen

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ImagickDraw::rectangle
ImagickDraw::rotate
ImagickDraw


Aplica la rotación especificada al espacio de coordenadas actual

ImagickDraw::render
ImagickDraw::roundRectangle
ImagickDraw
PHP Manual

ImagickDraw::rotate

(PECL imagick 2.0.0)

ImagickDraw::rotate — Aplica la rotación especificada al espacio de coordenadas actual

Descripción

bool ImagickDraw::rotate ( float $degrees )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Aplica la rotación especificada al espacio de coordenadas actual.

Parámetros

degrees

grados a rotar

Valores devueltos

No devuelve ningún valor.

ImagickDraw::render
ImagickDraw::roundRectangle
ImagickDraw


Dibuja un rectángulo redondeado

ImagickDraw::rotate
ImagickDraw::scale
ImagickDraw
PHP Manual

ImagickDraw::roundRectangle

(PECL imagick 2.0.0)

ImagickDraw::roundRectangle — Dibuja un rectángulo redondeado

Descripción

bool ImagickDraw::roundRectangle ( float $x1 , float $y1 , float $x2 , float $y2 , float $rx , float $ry )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Dibuja un rectángulo redondeado dando dos coordenadas, los radios x e y de las esquinas y usando el contorno, el ancho del contorno, y la configuración de relleno actuales.

Parámetros

x1

coordenada x de la esquina superior izquierda

y1

coordenada y de la esquina superior izquierda

x2

coordenada x de la esquina inferior derecha

y2

coordenada y de la esquina inferior derecha

rx

redondeo x

ry

redondeo y

Valores devueltos

No devuelve ningún valor.

ImagickDraw::rotate
ImagickDraw::scale
ImagickDraw


Ajusta el factor de escala

ImagickDraw::roundRectangle
ImagickDraw::setClipPath
ImagickDraw
PHP Manual

ImagickDraw::scale

(PECL imagick 2.0.0)

ImagickDraw::scale — Ajusta el factor de escala

Descripción

bool ImagickDraw::scale ( float $x , float $y )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ajusta el factor de escala a aplicar en las direcciones horizontal y vertical al espacio de coordenadas actual.

Parámetros

x

factor horizontal

y

factor vertical

Valores devueltos

No devuelve ningún valor.

ImagickDraw::roundRectangle
ImagickDraw::setClipPath
ImagickDraw


Asocia un trazado de recorte nominado con la imagen

ImagickDraw::scale
ImagickDraw::setClipRule
ImagickDraw
PHP Manual

ImagickDraw::setClipPath

(PECL imagick 2.0.0)

ImagickDraw::setClipPath — Asocia un trazado de recorte nominado con la imagen

Descripción

bool ImagickDraw::setClipPath ( string $clip_mask )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Asocia un trazado de recorte nominado con la imagen. Sólo las áreas dibujadas por el trazado de recorte serán modificadas mientras permanezca el efecto.

Parámetros

clip_mask

el nombre del trazado de recorte

Valores devueltos

No devuelve ningún valor.

ImagickDraw::scale
ImagickDraw::setClipRule
ImagickDraw


Establece la regla de relleno de polígonos a usar por el trazado de recorte

ImagickDraw::setClipPath
ImagickDraw::setClipUnits
ImagickDraw
PHP Manual

ImagickDraw::setClipRule

(PECL imagick 2.0.0)

ImagickDraw::setClipRule — Establece la regla de relleno de polígonos a usar por el trazado de recorte

Descripción

bool ImagickDraw::setClipRule ( int $fill_rule )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Establece la regla de relleno de polígonos a usar por el trazado de recorte.

Parámetros

fill_rule

constante FILLRULE_

Valores devueltos

No devuelve ningún valor.

ImagickDraw::setClipPath
ImagickDraw::setClipUnits
ImagickDraw


Establece la interpretación de las unidades de un trazado de recorte

ImagickDraw::setClipRule
ImagickDraw::setFillAlpha
ImagickDraw
PHP Manual

ImagickDraw::setClipUnits

(PECL imagick 2.0.0)

ImagickDraw::setClipUnits — Establece la interpretación de las unidades de un trazado de recorte

Descripción

bool ImagickDraw::setClipUnits ( int $clip_units )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Establece la interpretación de las unidades de un trazado de recorte.

Parámetros

clip_units

el número de unidades de recorte

Valores devueltos

No devuelve ningún valor.

ImagickDraw::setClipRule
ImagickDraw::setFillAlpha
ImagickDraw


Establece la opacidad a usar cuando se dibuja utilizando el color de relleno o la textura de relleno

ImagickDraw::setClipUnits
ImagickDraw::setFillColor
ImagickDraw
PHP Manual

ImagickDraw::setFillAlpha

(PECL imagick 2.0.0)

ImagickDraw::setFillAlpha — Establece la opacidad a usar cuando se dibuja utilizando el color de relleno o la textura de relleno

Descripción

bool ImagickDraw::setFillAlpha ( float $opacity )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Establece la opacidad a usar cuando se dibuja utilizando el color de relleno o la textura de relleno. Completamente opaco es 1.0.

Parámetros

opacity

canal alfa de relleno

Valores devueltos

No devuelve ningún valor.

ImagickDraw::setClipUnits
ImagickDraw::setFillColor
ImagickDraw


Establece el color de relleno que se va a usar para dibujar objetos rellenos

ImagickDraw::setFillAlpha
ImagickDraw::setFillOpacity
ImagickDraw
PHP Manual

ImagickDraw::setFillColor

(PECL imagick 2.0.0)

ImagickDraw::setFillColor — Establece el color de relleno que se va a usar para dibujar objetos rellenos

Descripción

bool ImagickDraw::setFillColor ( ImagickPixel $fill_pixel )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Establece el color de relleno que se va a usar para dibujar objetos rellenos.

Parámetros

fill_pixel

objeto ImagickPixel a usar para establecer el color

Valores devueltos

No devuelve ningún valor.

ImagickDraw::setFillAlpha
ImagickDraw::setFillOpacity
ImagickDraw


Establece la opacidad para usarla cuando se dibuja utilizando el color de relleno o la textura de relleno

ImagickDraw::setFillColor
ImagickDraw::setFillPatternURL
ImagickDraw
PHP Manual

ImagickDraw::setFillOpacity

(PECL imagick 2.0.0)

ImagickDraw::setFillOpacity — Establece la opacidad para usarla cuando se dibuja utilizando el color de relleno o la textura de relleno

Descripción

bool ImagickDraw::setFillOpacity ( float $fillOpacity )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Establece la opacidad para usarla cuando se dibuja utilizando el color de relleno o de la textura Completamente opaco es 1.0.

Parámetros

fillOpacity

la opacidad de relleno

Valores devueltos

No devuelve ningún valor.

ImagickDraw::setFillColor
ImagickDraw::setFillPatternURL
ImagickDraw


Establece la URL a usar como un patrón de relleno para objetos rellenos

ImagickDraw::setFillOpacity
ImagickDraw::setFillRule
ImagickDraw
PHP Manual

ImagickDraw::setFillPatternURL

(PECL imagick 2.0.0)

ImagickDraw::setFillPatternURL — Establece la URL a usar como un patrón de relleno para objetos rellenos

Descripción

bool ImagickDraw::setFillPatternURL ( string $fill_url )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Establece la URL a usar como un patrón de relleno para objetos rellenos. Sólo se soportan URL locales ("#identificador") por el momento. Estas URL locales normalmente son creadas para definir un patrón de relleno nominado con DrawPushPattern/DrawPopPattern.

Parámetros

fill_url

La URL a usar para obtener el patrón de relleno.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ImagickDraw::setFillOpacity
ImagickDraw::setFillRule
ImagickDraw


Establece la regla de relleno a usar mientras se dibujan polígonos

ImagickDraw::setFillPatternURL
ImagickDraw::setFont
ImagickDraw
PHP Manual

ImagickDraw::setFillRule

(PECL imagick 2.0.0)

ImagickDraw::setFillRule — Establece la regla de relleno a usar mientras se dibujan polígonos

Descripción

bool ImagickDraw::setFillRule ( int $fill_rule )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Establece la regla de relleno a usar mientras se dibujan polígonos.

Parámetros

fill_rule

constante FILLRULE_

Valores devueltos

No devuelve ningún valor.

ImagickDraw::setFillPatternURL
ImagickDraw::setFont
ImagickDraw


Establece la fuente especificada completamente para usarla cuando se escribe texto

ImagickDraw::setFillRule
ImagickDraw::setFontFamily
ImagickDraw
PHP Manual

ImagickDraw::setFont

(PECL imagick 2.0.0)

ImagickDraw::setFont — Establece la fuente especificada completamente para usarla cuando se escribe texto

Descripción

bool ImagickDraw::setFont ( string $font_name )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Establece la fuente especificada completamente para usarla cuando se escribe texto.

Parámetros

font_name

Valores devueltos

Devuelve TRUE en caso de éxito.

ImagickDraw::setFillRule
ImagickDraw::setFontFamily
ImagickDraw


Establece la familia de fuentes para usarla cuando se escribe texto

ImagickDraw::setFont
ImagickDraw::setFontSize
ImagickDraw
PHP Manual

ImagickDraw::setFontFamily

(PECL imagick 2.0.0)

ImagickDraw::setFontFamily — Establece la familia de fuentes para usarla cuando se escribe texto

Descripción

bool ImagickDraw::setFontFamily ( string $font_family )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Establece la familia de fuentes para usarla cuando se escribe texto.

Parámetros

font_family

la familia de fuentes

Valores devueltos

Devuelve TRUE en caso de éxito.

ImagickDraw::setFont
ImagickDraw::setFontSize
ImagickDraw


Establece el tamaño de punto de la fuente para usarlo cuando se escribe texto

ImagickDraw::setFontFamily
ImagickDraw::setFontStretch
ImagickDraw
PHP Manual

ImagickDraw::setFontSize

(PECL imagick 2.0.0)

ImagickDraw::setFontSize — Establece el tamaño de punto de la fuente para usarlo cuando se escribe texto

Descripción

bool ImagickDraw::setFontSize ( float $pointsize )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Establece el tamaño de punto de la fuente para usarlo cuando se escribe texto.

Parámetros

pointsize

el tamaño del punto

Valores devueltos

No devuelve ningún valor.

ImagickDraw::setFontFamily
ImagickDraw::setFontStretch
ImagickDraw


Establece el estiramiento de la fuente para usarla cuando se escribe texto

ImagickDraw::setFontSize
ImagickDraw::setFontStyle
ImagickDraw
PHP Manual

ImagickDraw::setFontStretch

(PECL imagick 2.0.0)

ImagickDraw::setFontStretch — Establece el estiramiento de la fuente para usarla cuando se escribe texto

Descripción

bool ImagickDraw::setFontStretch ( int $fontStretch )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Establece el estiramiento de la fuente para usarla cuando se escribe texto. La enumeración AnyStyle actúa como una opción comodín para "no tener cuidado".

Parámetros

fontStretch

constante STRETCH_

Valores devueltos

No devuelve ningún valor.

ImagickDraw::setFontSize
ImagickDraw::setFontStyle
ImagickDraw


Establece el estilo de fuente para usarlo cuando se escribe texto

ImagickDraw::setFontStretch
ImagickDraw::setFontWeight
ImagickDraw
PHP Manual

ImagickDraw::setFontStyle

(PECL imagick 2.0.0)

ImagickDraw::setFontStyle — Establece el estilo de fuente para usarlo cuando se escribe texto

Descripción

bool ImagickDraw::setFontStyle ( int $style )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Establece el estilo de fuente para usarlo cuando se escribe texto. La enumeración AnyStyle actúa como una opción comodín para "no tener cuidado".

Parámetros

style

constante STYLETYPE_

Valores devueltos

No devuelve ningún valor.

ImagickDraw::setFontStretch
ImagickDraw::setFontWeight
ImagickDraw


Establece el peso de fuente

ImagickDraw::setFontStyle
ImagickDraw::setGravity
ImagickDraw
PHP Manual

ImagickDraw::setFontWeight

(PECL imagick 2.0.0)

ImagickDraw::setFontWeight — Establece el peso de fuente

Descripción

bool ImagickDraw::setFontWeight ( int $font_weight )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Establece el peso de fuente para usarlo cuando se escribe texto.

Parámetros

font_weight

Valores devueltos

ImagickDraw::setFontStyle
ImagickDraw::setGravity
ImagickDraw


Establece la gravedad de ubicación del texto

ImagickDraw::setFontWeight
ImagickDraw::setStrokeAlpha
ImagickDraw
PHP Manual

ImagickDraw::setGravity

(PECL imagick 2.0.0)

ImagickDraw::setGravity — Establece la gravedad de ubicación del texto

Descripción

bool ImagickDraw::setGravity ( int $gravity )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Establece la gravedad de ubicación del texto para usarla cuando se escribe texto.

Parámetros

gravity

constante GRAVITY_

Valores devueltos

No devuelve ningún valor.

ImagickDraw::setFontWeight
ImagickDraw::setStrokeAlpha
ImagickDraw


Especifica la opacidad de los perfiles de los objetos contorneados

ImagickDraw::setGravity
ImagickDraw::setStrokeAntialias
ImagickDraw
PHP Manual

ImagickDraw::setStrokeAlpha

(PECL imagick 2.0.0)

ImagickDraw::setStrokeAlpha — Especifica la opacidad de los perfiles de los objetos contorneados

Descripción

bool ImagickDraw::setStrokeAlpha ( float $opacity )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Especifica la opacidad de los perfiles de los objetos contorneados.

Parámetros

opacity

opacidad

Valores devueltos

No devuelve ningún valor.

ImagickDraw::setGravity
ImagickDraw::setStrokeAntialias
ImagickDraw


Controla si los perfiles contorneados tiene antialias

ImagickDraw::setStrokeAlpha
ImagickDraw::setStrokeColor
ImagickDraw
PHP Manual

ImagickDraw::setStrokeAntialias

(PECL imagick 2.0.0)

ImagickDraw::setStrokeAntialias — Controla si los perfiles contorneados tiene antialias

Descripción

bool ImagickDraw::setStrokeAntialias ( bool $stroke_antialias )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Controla si los perfiles contorneados tiene antialias. Los perfiles contorneados tiene antialias por defecto. Cuando se deshabilita el antialias, los píxeles contorneados son puestos en el umbral para determinar si se debería usar el color de contorno o el color del lienzo subyacente.

Parámetros

stroke_antialias

la configuración de antialias

Valores devueltos

No devuelve ningún valor.

ImagickDraw::setStrokeAlpha
ImagickDraw::setStrokeColor
ImagickDraw


Establece el color usado por los perfiles de objetos contorneados

ImagickDraw::setStrokeAntialias
ImagickDraw::setStrokeDashArray
ImagickDraw
PHP Manual

ImagickDraw::setStrokeColor

(PECL imagick 2.0.0)

ImagickDraw::setStrokeColor — Establece el color usado por los perfiles de objetos contorneados

Descripción

bool ImagickDraw::setStrokeColor ( ImagickPixel $stroke_pixel )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Establece el color usado por los perfiles de objetos contorneados.

Parámetros

stroke_pixel

el color de contorno

Valores devueltos

No devuelve ningún valor.

ImagickDraw::setStrokeAntialias
ImagickDraw::setStrokeDashArray
ImagickDraw


Especifica el patrón de rayas y huecos usado por los trazados de contorno

ImagickDraw::setStrokeColor
ImagickDraw::setStrokeDashOffset
ImagickDraw
PHP Manual

ImagickDraw::setStrokeDashArray

(PECL imagick 2.0.0)

ImagickDraw::setStrokeDashArray — Especifica el patrón de rayas y huecos usado por los trazados de contorno

Descripción

bool ImagickDraw::setStrokeDashArray ( array $dashArray )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Especifica el patrón de rayas y huecos usado por los trazados de contorno. strokeDashArray representa una matriz de números que especifican la longitud de las rayas y huecos alternados en píxeles. Si se proporciona un número de valores impar, la lista de valores se repite para producir un número de valores par. Para quitar una matriz de discontinuidad existente, pase un argumento con cero número de elementos y una matriz de discontinuidad null. Una matriz strokeDashArray_ típica puede contener los números 5 3 2.

Parámetros

dashArray

matriz de elementos de tipo float

Valores devueltos

Devuelve TRUE en caso de éxito.

ImagickDraw::setStrokeColor
ImagickDraw::setStrokeDashOffset
ImagickDraw


Especifica el índice dentro del patrón de discontinuidad para iniciar la discontinuidad

ImagickDraw::setStrokeDashArray
ImagickDraw::setStrokeLineCap
ImagickDraw
PHP Manual

ImagickDraw::setStrokeDashOffset

(PECL imagick 2.0.0)

ImagickDraw::setStrokeDashOffset — Especifica el índice dentro del patrón de discontinuidad para iniciar la discontinuidad

Descripción

bool ImagickDraw::setStrokeDashOffset ( float $dash_offset )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Especifica el índice dentro del patrón de discontinuidad para iniciar la discontinuidad.

Parámetros

dash_offset

índice de discontinuidad

Valores devueltos

No devuelve ningún valor.

ImagickDraw::setStrokeDashArray
ImagickDraw::setStrokeLineCap
ImagickDraw


Especifica la forma que se va a usar al final de los subtrazados abiertos cuando están contorneados

ImagickDraw::setStrokeDashOffset
ImagickDraw::setStrokeLineJoin
ImagickDraw
PHP Manual

ImagickDraw::setStrokeLineCap

(PECL imagick 2.0.0)

ImagickDraw::setStrokeLineCap — Especifica la forma que se va a usar al final de los subtrazados abiertos cuando están contorneados

Descripción

bool ImagickDraw::setStrokeLineCap ( int $linecap )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Especifica la forma que se va a usar al final de los subtrazados abiertos cuando están contorneados.

Parámetros

linecap

constante LINECAP_

Valores devueltos

No devuelve ningún valor.

ImagickDraw::setStrokeDashOffset
ImagickDraw::setStrokeLineJoin
ImagickDraw


Especifica la forma que se va a usar en la esquinas de los trazados cuando están contorneados

ImagickDraw::setStrokeLineCap
ImagickDraw::setStrokeMiterLimit
ImagickDraw
PHP Manual

ImagickDraw::setStrokeLineJoin

(PECL imagick 2.0.0)

ImagickDraw::setStrokeLineJoin — Especifica la forma que se va a usar en la esquinas de los trazados cuando están contorneados

Descripción

bool ImagickDraw::setStrokeLineJoin ( int $linejoin )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Especifica la forma que se va a usar en las esquinas de los trazados (u otras formas vectoriales) cuando están contorneados.

Parámetros

linejoin

constante LINEJOIN_

Valores devueltos

No devuelve ningún valor.

ImagickDraw::setStrokeLineCap
ImagickDraw::setStrokeMiterLimit
ImagickDraw


Especifica el límite del inglete

ImagickDraw::setStrokeLineJoin
ImagickDraw::setStrokeOpacity
ImagickDraw
PHP Manual

ImagickDraw::setStrokeMiterLimit

(PECL imagick 2.0.0)

ImagickDraw::setStrokeMiterLimit — Especifica el límite del inglete

Descripción

bool ImagickDraw::setStrokeMiterLimit ( int $miterlimit )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Especifica el límite del inglete. Cuando dos segmentos de línea se encuentran en un águlo agudo y la unión del inglete ha sido especificada para 'lineJoin', es posible que el inglete se extienda más allá del grosor de la línea que contornea el trazado. 'miterLimit' impone un límite en la proporción de la longitud del inglete a 'lineWidth'.

Parámetros

miterlimit

el límite del inglete

Valores devueltos

No devuelve ningún valor.

ImagickDraw::setStrokeLineJoin
ImagickDraw::setStrokeOpacity
ImagickDraw


Especifica la opacidad de los perfiles de los objetos contorneados

ImagickDraw::setStrokeMiterLimit
ImagickDraw::setStrokePatternURL
ImagickDraw
PHP Manual

ImagickDraw::setStrokeOpacity

(PECL imagick 2.0.0)

ImagickDraw::setStrokeOpacity — Especifica la opacidad de los perfiles de los objetos contorneados

Descripción

bool ImagickDraw::setStrokeOpacity ( float $stroke_opacity )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Especifica la opacidad de los perfiles de los objetos contorneados.

Parámetros

stroke_opacity

opacidad del contorno. 1.0 es completamente opaco

Valores devueltos

No devuelve ningún valor.

ImagickDraw::setStrokeMiterLimit
ImagickDraw::setStrokePatternURL
ImagickDraw


Establece el patrón usado para los perfiles de objetos contorneados

ImagickDraw::setStrokeOpacity
ImagickDraw::setStrokeWidth
ImagickDraw
PHP Manual

ImagickDraw::setStrokePatternURL

(PECL imagick 2.0.0)

ImagickDraw::setStrokePatternURL — Establece el patrón usado para los perfiles de objetos contorneados

Descripción

bool ImagickDraw::setStrokePatternURL ( string $stroke_url )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Establece el patrón usado para los perfiles de objetos contorneados.

Parámetros

stroke_url

URL contorneada

Valores devueltos

imagick.imagickdraw.return.success;

ImagickDraw::setStrokeOpacity
ImagickDraw::setStrokeWidth
ImagickDraw


Establece el ancho del contorno a usar para dibujar perfiles de objetos

ImagickDraw::setStrokePatternURL
ImagickDraw::setTextAlignment
ImagickDraw
PHP Manual

ImagickDraw::setStrokeWidth

(PECL imagick 2.0.0)

ImagickDraw::setStrokeWidth — Establece el ancho del contorno a usar para dibujar perfiles de objetos

Descripción

bool ImagickDraw::setStrokeWidth ( float $stroke_width )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Establece el ancho del contorno a usar para dibujar perfiles de objetos.

Parámetros

stroke_width

ancho del contorno

Valores devueltos

No devuelve ningún valor.

ImagickDraw::setStrokePatternURL
ImagickDraw::setTextAlignment
ImagickDraw


Especifica una alineación de texto

ImagickDraw::setStrokeWidth
ImagickDraw::setTextAntialias
ImagickDraw
PHP Manual

ImagickDraw::setTextAlignment

(PECL imagick 2.0.0)

ImagickDraw::setTextAlignment — Especifica una alineación de texto

Descripción

bool ImagickDraw::setTextAlignment ( int $alignment )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Especifica una alineación de texto para aplicarla cuando se escribe texto.

Parámetros

alignment

constante ALIGN_

Valores devueltos

No devuelve ningún valor.

ImagickDraw::setStrokeWidth
ImagickDraw::setTextAntialias
ImagickDraw


Controla si el texto tiene antialias

ImagickDraw::setTextAlignment
ImagickDraw::setTextDecoration
ImagickDraw
PHP Manual

ImagickDraw::setTextAntialias

(PECL imagick 2.0.0)

ImagickDraw::setTextAntialias — Controla si el texto tiene antialias

Descripción

bool ImagickDraw::setTextAntialias ( bool $antiAlias )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Controla si el texto tiene antialias. El texto tiene antialias por defecto.

Parámetros

antiAlias

Valores devueltos

No devuelve ningún valor.

ImagickDraw::setTextAlignment
ImagickDraw::setTextDecoration
ImagickDraw


Especifica una decoración

ImagickDraw::setTextAntialias
ImagickDraw::setTextEncoding
ImagickDraw
PHP Manual

ImagickDraw::setTextDecoration

(PECL imagick 2.0.0)

ImagickDraw::setTextDecoration — Especifica una decoración

Descripción

bool ImagickDraw::setTextDecoration ( int $decoration )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Especifica una decoración a aplicar cuando se escribe texto.

Parámetros

decoration

constante DECORATION_

Valores devueltos

No devuelve ningún valor.

ImagickDraw::setTextAntialias
ImagickDraw::setTextEncoding
ImagickDraw


Especifica el conjunto de codificación del texto

ImagickDraw::setTextDecoration
ImagickDraw::setTextUnderColor
ImagickDraw
PHP Manual

ImagickDraw::setTextEncoding

(PECL imagick 2.0.0)

ImagickDraw::setTextEncoding — Especifica el conjunto de codificación del texto

Descripción

bool ImagickDraw::setTextEncoding ( string $encoding )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Especifica el conjunto de codificación del texto para usar en las anotaciones de texto. La única codificación de caracteres que se puede especificar por el momento es "UTF-8" para la representación Unicode como una secuencia de bytes. Especifique una cadena vacía para establecer la codificación de texto al predeterminado del sistema. Para tener éxito en la anotación de texto usando Unicode puede requerir fuentes designadas a soportar Unicode.

Parámetros

encoding

el nombre de la codificación

Valores devueltos

No devuelve ningún valor.

ImagickDraw::setTextDecoration
ImagickDraw::setTextUnderColor
ImagickDraw


Especifica el color de un rectángulo de fondo

ImagickDraw::setTextEncoding
ImagickDraw::setVectorGraphics
ImagickDraw
PHP Manual

ImagickDraw::setTextUnderColor

(PECL imagick 2.0.0)

ImagickDraw::setTextUnderColor — Especifica el color de un rectángulo de fondo

Descripción

bool ImagickDraw::setTextUnderColor ( ImagickPixel $under_color )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Especifica el color de un rectángulo de fondo para colocarlo bajo anotaciones de texto.

Parámetros

under_color

el color de debajo

Valores devueltos

No devuelve ningún valor.

ImagickDraw::setTextEncoding
ImagickDraw::setVectorGraphics
ImagickDraw


Establece los gráficos vectoriales

ImagickDraw::setTextUnderColor
ImagickDraw::setViewbox
ImagickDraw
PHP Manual

ImagickDraw::setVectorGraphics

(PECL imagick 2.0.0)

ImagickDraw::setVectorGraphics — Establece los gráficos vectoriales

Descripción

bool ImagickDraw::setVectorGraphics ( string $xml )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Establece los gráficos vectoriales asociados al objeto ImagickDraw especificado. Use este método con ImagickDraw::getVectorGraphics() como un método de persistencia del estado de los gráficos vectoriales.

Parámetros

xml

archivo xml que contiene los gráficos vectoriales

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ImagickDraw::setTextUnderColor
ImagickDraw::setViewbox
ImagickDraw


Establece el tamaño de todos los lienzos

ImagickDraw::setVectorGraphics
ImagickDraw::skewX
ImagickDraw
PHP Manual

ImagickDraw::setViewbox

(PECL imagick 2.0.0)

ImagickDraw::setViewbox — Establece el tamaño de todos los lienzos

Descripción

bool ImagickDraw::setViewbox ( int $x1 , int $y1 , int $x2 , int $y2 )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Establece el tamaño de todos los lienzos para ser grabados con la información del vector de pintura. Normalmente esto se especifica usando el mismo tamaño que la imagen del lienzo. Cuando la información del vector se guarda a formatos SVG o MVG, se usa la caja de vistas para especificar el tamaño de la imagen del lienzo donde un visionador renderizará la información del vector.

Parámetros

x1

coordenada x izquierda

y1

coordenada y izquierda

x2

coordenada x derecha

y2

coordenada y derecha

Valores devueltos

No devuelve ningún valor.

ImagickDraw::setVectorGraphics
ImagickDraw::skewX
ImagickDraw


Tuerce el sistema de coordenadas actual en la dirección horizontal

ImagickDraw::setViewbox
ImagickDraw::skewY
ImagickDraw
PHP Manual

ImagickDraw::skewX

(PECL imagick 2.0.0)

ImagickDraw::skewX — Tuerce el sistema de coordenadas actual en la dirección horizontal

Descripción

bool ImagickDraw::skewX ( float $degrees )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Tuerce el sistema de coordenadas actual en la dirección horizontal.

Parámetros

degrees

grados de torción

Valores devueltos

No devuelve ningún valor.

ImagickDraw::setViewbox
ImagickDraw::skewY
ImagickDraw


Tuerce el sistema de coordenadas actual en la dirección vertical

ImagickDraw::skewX
ImagickDraw::translate
ImagickDraw
PHP Manual

ImagickDraw::skewY

(PECL imagick 2.0.0)

ImagickDraw::skewY — Tuerce el sistema de coordenadas actual en la dirección vertical

Descripción

bool ImagickDraw::skewY ( float $degrees )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Tuerce el sistema de coordenadas actual en la dirección vertical.

Parámetros

degrees

grados de torción

Valores devueltos

No devuelve ningún valor.

ImagickDraw::skewX
ImagickDraw::translate
ImagickDraw


Aplica una traslación del sistema de coordenadas actual

ImagickDraw::skewY
ImagickPixel
ImagickDraw
PHP Manual

ImagickDraw::translate

(PECL imagick 2.0.0)

ImagickDraw::translate — Aplica una traslación del sistema de coordenadas actual

Descripción

bool ImagickDraw::translate ( float $x , float $y )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Aplica una traslación del sistema de coordenadas actual el cuál mueve el origen del sistema de coordenadas a las coordenadas especifiacadas.

Parámetros

x

traslación horizontal

y

traslación vertical

Valores devueltos

No devuelve ningún valor.

ImagickDraw::skewY
ImagickPixel
ImagickDraw


La clase ImagickPixel

(PECL imagick 2.0.0)

Sinopsis de la Clase

ImagickPixel {
bool clear ( void )
__construct ([ string $color ] )
bool destroy ( void )
array getColor ([ bool $normalized = false ] )
string getColorAsString ( void )
int getColorCount ( void )
float getColorValue ( int $color )
array getHSL ( void )
bool isPixelSimilar ( ImagickPixel $color , float $fuzz )
bool isSimilar ( ImagickPixel $color , float $fuzz )
bool setColor ( string $color )
bool setColorValue ( int $color , float $value )
bool setHSL ( float $hue , float $saturation , float $luminosity )
}

Tabla de contenidos

  • ImagickPixel::clear — Borra los recursos asociados con este objeto
  • ImagickPixel::__construct — El constructor ImagickPixel
  • ImagickPixel::destroy — Desasigna los recursos asociados con este objeto
  • ImagickPixel::getColor — Devuelve el color
  • ImagickPixel::getColorAsString — Devuelve el color como string
  • ImagickPixel::getColorCount — Devuelve la cuenta de color asociada con este color
  • ImagickPixel::getColorValue — Obtiene el valor normalizado del canal de color proporcionado
  • ImagickPixel::getHSL — Devuelve el color HSL normalizado del objeto ImagickPixel
  • ImagickPixel::isPixelSimilar — Check the distance between this color and another
  • ImagickPixel::isSimilar — Comprobar la distancia entre este color y otro
  • ImagickPixel::setColor — Establece el color
  • ImagickPixel::setColorValue — Establece el valor normalizado de uno de los canales
  • ImagickPixel::setHSL — Establece el color HSL normalizado
ImagickDraw::translate
ImagickPixel::clear
ImageMagick


Borra los recursos asociados con este objeto

ImagickPixel
ImagickPixel::__construct
ImagickPixel
PHP Manual

ImagickPixel::clear

(PECL imagick 2.0.0)

ImagickPixel::clear — Borra los recursos asociados con este objeto

Descripción

bool ImagickPixel::clear ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Borra el objeto ImagickPixel, dejándolo en un estado nuevo. Esto también desestablece cualquier color asociado con el objeto.

Valores devueltos

Devuelve TRUE en caso de éxito.

ImagickPixel
ImagickPixel::__construct
ImagickPixel


El constructor ImagickPixel

ImagickPixel::clear
ImagickPixel::destroy
ImagickPixel
PHP Manual

ImagickPixel::__construct

(PECL imagick 2.0.0)

ImagickPixel::__construct — El constructor ImagickPixel

Descripción

ImagickPixel::__construct ([ string $color ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Construye un objeto ImagickPixel. Si se especifica un color, el objeto se construye y después se inicializa con ese color antes de ser devuelto.

Parámetros

color

La cadena de color opcional a usar como el valor inicial de este objeto.

Valores devueltos

Devuelve un objeto ImagickPixel si se tuvo éxito, lanzando una excepción ImagickPixelException si falló.

ImagickPixel::clear
ImagickPixel::destroy
ImagickPixel


Desasigna los recursos asociados con este objeto

ImagickPixel::__construct
ImagickPixel::getColor
ImagickPixel
PHP Manual

ImagickPixel::destroy

(PECL imagick 2.0.0)

ImagickPixel::destroy — Desasigna los recursos asociados con este objeto

Descripción

bool ImagickPixel::destroy ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Desasigna cualquier recurso usado por el objeto ImagickPixel, y desestablece cualquier color asociado. El objeto no debería ser usado después de que se haya llamado a la función destructora.

Valores devueltos

Devuelve TRUE en caso de éxito.

ImagickPixel::__construct
ImagickPixel::getColor
ImagickPixel


Devuelve el color

ImagickPixel::destroy
ImagickPixel::getColorAsString
ImagickPixel
PHP Manual

ImagickPixel::getColor

(PECL imagick 2.0.0)

ImagickPixel::getColor — Devuelve el color

Descripción

array ImagickPixel::getColor ([ bool $normalized = false ] )

Devuelve el color descrito por el objeto ImagickPixel, como un array. Si el color tiene establecido un canal de opacidad, es proporcionado como un cuarto valor de la lista.

Parámetros

normalized

Normalizar los valores del color

Valores devueltos

Un array de valores de canal, normalizados si se da TRUE como parámetro. Lanza una ImagickPixelException si se produjo un error.

Ejemplos

Ejemplo #1 Uso básico de Imagick::getColor()

<?php

//Crear un ImagickPixel con el color predefinido 'brown'
$color = new ImagickPixel('brown');

//Establecer el color para que tenga un alfa de 25%
$color->setColorValue(Imagick::COLOR_ALPHA, 64 / 256.0);

$colorInfo = $color->getColor();

echo "Valores estándar".PHP_EOL;
print_r($colorInfo);

$colorInfo = $color->getColor(true);

echo "Valores normalizados:".PHP_EOL;
print_r($colorInfo);

?>

El resultado del ejemplo sería:

Valores estándar
Array
(
    [r] => 165
    [g] => 42
    [b] => 42
    [a] => 0
)
Valores normalizados:
Array
(
    [r] => 0.64705882352941
    [g] => 0.16470588235294
    [b] => 0.16470588235294
    [a] => 0.25000381475547
)

ImagickPixel::destroy
ImagickPixel::getColorAsString
ImagickPixel


Devuelve el color como string

ImagickPixel::getColor
ImagickPixel::getColorCount
ImagickPixel
PHP Manual

ImagickPixel::getColorAsString

(PECL imagick 2.1.0)

ImagickPixel::getColorAsString — Devuelve el color como string

Descripción

string ImagickPixel::getColorAsString ( void )

Devuelve el color del objeto ImagickPixel como string.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el color del objeto ImagickPixel como string.

Ejemplos

Ejemplo #1 Uso básico de Imagick::getColorAsString()

<?php

//Crear un ImagickPixel con el color predefinido 'brown'
$color = new ImagickPixel('brown');

$color->setColorValue(Imagick::COLOR_ALPHA, 64 / 256.0);

$colorInfo = $color->getColorAsString();

print_r($colorInfo);
?>

El resultado del ejemplo sería:

rgb(165,42,42)

Notas

Nota: Alfa no es devuelto

Esta función no devuelve el valor del canal alfa del color en el string.

ImagickPixel::getColor
ImagickPixel::getColorCount
ImagickPixel


Devuelve la cuenta de color asociada con este color

ImagickPixel::getColorAsString
ImagickPixel::getColorValue
ImagickPixel
PHP Manual

ImagickPixel::getColorCount

(PECL imagick 2.0.0)

ImagickPixel::getColorCount — Devuelve la cuenta de color asociada con este color

Descripción

int ImagickPixel::getColorCount ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve la cuenta de color asociada con este color.

Valores devueltos

Devuelve la cuenta de color como un entero si se tuvo éxito, lanzando una excepción ImagickPixelException si falló.

ImagickPixel::getColorAsString
ImagickPixel::getColorValue
ImagickPixel


Obtiene el valor normalizado del canal de color proporcionado

ImagickPixel::getColorCount
ImagickPixel::getHSL
ImagickPixel
PHP Manual

ImagickPixel::getColorValue

(PECL imagick 2.0.0)

ImagickPixel::getColorValue — Obtiene el valor normalizado del canal de color proporcionado

Descripción

float ImagickPixel::getColorValue ( int $color )

Recupera el valor del canal de color especificado, como un número de punto flotante entre 0 y 1.

Parámetros

color

El color del que obtener el valor, especificado como una de las constantes de color de Imagick. Puede ser uno de los colores RGB, colores CMYK, alfa y opacidad, p.ej. (Imagick::COLOR_BLUE, Imagick::COLOR_MAGENTA).

Valores devueltos

El valor del canal, como un número de punto flotante normalizado, lanzando una ImagickPixelException si se produce un error.

Ejemplos

Ejemplo #1 Uso básico de Imagick::getColorValue()

<?php

$color = new ImagickPixel('rgba(90%, 20%, 20%, 0.75)');

echo "El valor Alfa es ".$color->getColorValue(Imagick::COLOR_ALPHA).PHP_EOL;
echo "".PHP_EOL;
echo "El valor Rojo es ".$color->getColorValue(Imagick::COLOR_RED).PHP_EOL;
echo "El valor Verde es ".$color->getColorValue(Imagick::COLOR_GREEN).PHP_EOL;
echo "El valor Azul es ".$color->getColorValue(Imagick::COLOR_BLUE).PHP_EOL;
echo "".PHP_EOL;
echo "El valor Cian es ".$color->getColorValue(Imagick::COLOR_CYAN).PHP_EOL;
echo "El valor Magenta es ".$color->getColorValue(Imagick::COLOR_MAGENTA).PHP_EOL;
echo "El valor Amarillo es ".$color->getColorValue(Imagick::COLOR_YELLOW).PHP_EOL;
echo "El valor Negro es ".$color->getColorValue(Imagick::COLOR_BLACK).PHP_EOL;

?>

El resultado del ejemplo sería:

El valor Alfa es 0.74999618524453

El valor Rojo es 0.90000762951095
El valor Verde es 0.2
El valor Azul es 0.2

El valor Cian es 0.90000762951095
El valor Magenta es 0.2
El valor Amarillo es 0.2
El valor Negro es 0

ImagickPixel::getColorCount
ImagickPixel::getHSL
ImagickPixel


Devuelve el color HSL normalizado del objeto ImagickPixel

ImagickPixel::getColorValue
ImagickPixel::isPixelSimilar
ImagickPixel
PHP Manual

ImagickPixel::getHSL

(PECL imagick 2.0.0)

ImagickPixel::getHSL — Devuelve el color HSL normalizado del objeto ImagickPixel

Descripción

array ImagickPixel::getHSL ( void )

Devuelve el color HSL normalizado descrito por el objeto ImagickPixel, con cada uno de los tres valores como números de punto flotante entre 0.0 y 1.0.

Valores devueltos

Devuelve el valor de HSL en un array con las claves "hue", "saturation", y "luminosity". Lanza una ImagickPixelException en caso de error.

Ejemplos

Ejemplo #1 Uso básico de Imagick::getHSL()

<?php

$color = new ImagickPixel('rgb(90%, 10%, 10%)');

$colorInfo = $color->getHSL();

print_r($colorInfo);

?>

El resultado del ejemplo sería:

Array
(
    [hue] => 0
    [saturation] => 0.80001220740379
    [luminosity] => 0.50000762951095
)

Notas

Nota:

Disponible con la versión 6.2.9 o superior de la biblioteca ImageMagick.

ImagickPixel::getColorValue
ImagickPixel::isPixelSimilar
ImagickPixel


Check the distance between this color and another

ImagickPixel::getHSL
ImagickPixel::isSimilar
ImagickPixel
PHP Manual

ImagickPixel::isPixelSimilar

(No hay información de versión disponible, podría estar únicamente en SVN)

ImagickPixel::isPixelSimilar — Check the distance between this color and another

Descripción

bool ImagickPixel::isPixelSimilar ( ImagickPixel $color , float $fuzz )

Checks the distance between the color described by this ImagickPixel object and that of the provided object, by plotting their RGB values on the color cube. If the distance between the two points is less than the fuzz value given, the colors are similar. This method replaces ImagickPixel::isSimilar() and correctly normalises the fuzz value to ImageMagick QuantumRange.

Parámetros

color

The ImagickPixel object to compare this object against.

fuzz

The maximum distance within which to consider these colors as similar. The theoretical maximum for this value is the square root of three (1.732).

Valores devueltos

Devuelve TRUE en caso de éxito.

ImagickPixel::getHSL
ImagickPixel::isSimilar
ImagickPixel


Comprobar la distancia entre este color y otro

ImagickPixel::isPixelSimilar
ImagickPixel::setColor
ImagickPixel
PHP Manual

ImagickPixel::isSimilar

(PECL imagick 2.0.0)

ImagickPixel::isSimilar — Comprobar la distancia entre este color y otro

Descripción

bool ImagickPixel::isSimilar ( ImagickPixel $color , float $fuzz )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Comprueba la distancia entre el color descrito por este objeto ImagickPixel y el color del objeto proporcionado, determinando sus valores RGB del cubo de colores. Si la distancia entre los dos puntos es menor que el valor de enfoque (fuzz) dado, los colores son similares. Obsoleto en favor de ImagickPixel::isPixelSimilar().

Parámetros

color

El objeto ImagickPixel a comparar con este objeto.

fuzz

La distancia máxima dentro de la cual se considera a estos colores como similares. El máximo teórico para este valor es la raíz cuadrada de tres (1.732).

Valores devueltos

Devuelve TRUE en caso de éxito.

ImagickPixel::isPixelSimilar
ImagickPixel::setColor
ImagickPixel


Establece el color

ImagickPixel::isSimilar
ImagickPixel::setColorValue
ImagickPixel
PHP Manual

ImagickPixel::setColor

(PECL imagick 2.0.0)

ImagickPixel::setColor — Establece el color

Descripción

bool ImagickPixel::setColor ( string $color )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Establece el color descrito por el objeto ImagickPixel, con una cadena (p.ej. "blue", "#0000ff", "rgb(0,0,255)", "cmyk(100,100,100,10)", etc.).

Parámetros

color

La definición de color a usar para inicializar el objeto ImagickPixel.

Valores devueltos

Devuelve TRUE si el color especificado fue establecido, FALSE si no.

ImagickPixel::isSimilar
ImagickPixel::setColorValue
ImagickPixel


Establece el valor normalizado de uno de los canales

ImagickPixel::setColor
ImagickPixel::setHSL
ImagickPixel
PHP Manual

ImagickPixel::setColorValue

(PECL imagick 2.0.0)

ImagickPixel::setColorValue — Establece el valor normalizado de uno de los canales

Descripción

bool ImagickPixel::setColorValue ( int $color , float $value )

Establece el valor del canal especificado de este objeto al valor proporcionado, que debería estar entre 0 y 1. Esta función se puede usar para proporcionar un canal de opacidad a un objeto ImagickPixel.

Parámetros

color

Una de las constantes de color de Imagick, p.ej. \Imagick::COLOR_GREEN o \Imagick::COLOR_ALPHA.

value

El valor a establecer para este canal, desde 0 a 1.

Valores devueltos

Devuelve TRUE en caso de éxito.

Ejemplos

Ejemplo #1 Uso básico de Imagick::setColorValue()

<?php

$color  = new \ImagickPixel('firebrick');

$color->setColorValue(Imagick::COLOR_ALPHA, 0.5);

print_r($color->getcolor(true));
?>

El resultado del ejemplo sería:

Array
(
    [r] => 0.69803921568627
    [g] => 0.13333333333333
    [b] => 0.13333333333333
    [a] => 0.50000762951095
)

ImagickPixel::setColor
ImagickPixel::setHSL
ImagickPixel


Establece el color HSL normalizado

ImagickPixel::setColorValue
ImagickPixelIterator
ImagickPixel
PHP Manual

ImagickPixel::setHSL

(PECL imagick 2.0.0)

ImagickPixel::setHSL — Establece el color HSL normalizado

Descripción

bool ImagickPixel::setHSL ( float $hue , float $saturation , float $luminosity )

Establece el color descrito por el objeto ImagickPixel usando valores normalizados para el tono, saturación y luminosidad.

Parámetros

hue

El valor normalizado del tono, descrito como un arco fraccionario (entre 0 y 1) del círculo tonal, donde el valor cero es rojo.

saturation

El valor normalizado de la saturación, con 1 como saturación completa.

luminosity

El valor normalizado de la luminosidad, en una escala desde negro con 0 a blanco con 1, con el valor completo de HS en 0.5 de luminosidad.

Valores devueltos

Devuelve TRUE en caso de éxito.

Ejemplos

Ejemplo #1 Usar ImagickPixel::setHSL() para modificar un color

<?php

//Crear un color rojo casi puro
$color = new ImagickPixel('rgb(90%, 10%, 10%)');

//Obtener sus valores HSL
$colorInfo = $color->getHSL();

//Rotar el tono 180 grados
$newHue = $colorInfo['hue'] + 0.5;
if ($newHue > 1) {
    $newHue = $newHue - 1;
}

//Establecer el objeto ImagickPixel para el nuevo color
$colorInfo = $color->setHSL($newHue, $colorInfo['saturation'], $colorInfo['luminosity']);

//Comprobar que el nuevo color es azul/verde
$colorInfo = $color->getcolor();
print_r($colorInfo);

?>

El resultado del ejemplo sería:

Array
(
    [r] => 26
    [g] => 230
    [b] => 230
    [a] => 255
)

Notas

Nota:

Disponible con la versión 6.2.9 o superior de la biblioteca ImageMagick.

ImagickPixel::setColorValue
ImagickPixelIterator
ImagickPixel


La clase ImagickPixelIterator

(PECL imagick 2.0.0)

Sinopsis de la Clase

ImagickPixelIterator {
bool clear ( void )
__construct ( Imagick $wand )
bool destroy ( void )
array getCurrentIteratorRow ( void )
int getIteratorRow ( void )
array getNextIteratorRow ( void )
array getPreviousIteratorRow ( void )
bool newPixelIterator ( Imagick $wand )
bool newPixelRegionIterator ( Imagick $wand , int $x , int $y , int $columns , int $rows )
bool resetIterator ( void )
bool setIteratorFirstRow ( void )
bool setIteratorLastRow ( void )
bool setIteratorRow ( int $row )
bool syncIterator ( void )
}

Tabla de contenidos

  • ImagickPixelIterator::clear — Borra los recursos asociados con un objeto PixelIterator
  • ImagickPixelIterator::__construct — El constructor ImagickPixelIterator
  • ImagickPixelIterator::destroy — Desasigna los recursos asociacdos con un objeto PixelIterator
  • ImagickPixelIterator::getCurrentIteratorRow — Devuelve la fila actual de objetos ImagickPixel
  • ImagickPixelIterator::getIteratorRow — Devuelve la fila actual del iterador de píxel
  • ImagickPixelIterator::getNextIteratorRow — Devuelve la fila siguiente del iterador de píxel
  • ImagickPixelIterator::getPreviousIteratorRow — Devuelve la fila previa
  • ImagickPixelIterator::newPixelIterator — Devuelve un nuevo iterador de píxel
  • ImagickPixelIterator::newPixelRegionIterator — Devuelve un nuevo iterador de píxel
  • ImagickPixelIterator::resetIterator — Reinicia el iterador de píxel
  • ImagickPixelIterator::setIteratorFirstRow — Establece el iterador de píxel a la primera fila de píxeles
  • ImagickPixelIterator::setIteratorLastRow — Establece el iterador de píxel a la última fila de píxeles
  • ImagickPixelIterator::setIteratorRow — Establecer la fila del iterador de píxel
  • ImagickPixelIterator::syncIterator — Sincornizar el iterador de píxel
ImagickPixel::setHSL
ImagickPixelIterator::clear
ImageMagick


Borra los recursos asociados con un objeto PixelIterator

ImagickPixelIterator
ImagickPixelIterator::__construct
ImagickPixelIterator
PHP Manual

ImagickPixelIterator::clear

(PECL imagick 2.0.0)

ImagickPixelIterator::clear — Borra los recursos asociados con un objeto PixelIterator

Descripción

bool ImagickPixelIterator::clear ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Borra los recursos asociados con un objeto PixelIterator.

Valores devueltos

Devuelve TRUE en caso de éxito.

ImagickPixelIterator
ImagickPixelIterator::__construct
ImagickPixelIterator


El constructor ImagickPixelIterator

ImagickPixelIterator::clear
ImagickPixelIterator::destroy
ImagickPixelIterator
PHP Manual

ImagickPixelIterator::__construct

(PECL imagick 2.0.0)

ImagickPixelIterator::__construct — El constructor ImagickPixelIterator

Descripción

ImagickPixelIterator::__construct ( Imagick $wand )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

El constructor de ImagickPixelIterator

Valores devueltos

Devuelve TRUE en caso de éxito.

ImagickPixelIterator::clear
ImagickPixelIterator::destroy
ImagickPixelIterator


Desasigna los recursos asociacdos con un objeto PixelIterator

ImagickPixelIterator::__construct
ImagickPixelIterator::getCurrentIteratorRow
ImagickPixelIterator
PHP Manual

ImagickPixelIterator::destroy

(PECL imagick 2.0.0)

ImagickPixelIterator::destroy — Desasigna los recursos asociacdos con un objeto PixelIterator

Descripción

bool ImagickPixelIterator::destroy ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Desasigna los recursos asociacdos con un objeto PixelIterator.

Valores devueltos

Devuelve TRUE en caso de éxito.

ImagickPixelIterator::__construct
ImagickPixelIterator::getCurrentIteratorRow
ImagickPixelIterator


Devuelve la fila actual de objetos ImagickPixel

ImagickPixelIterator::destroy
ImagickPixelIterator::getIteratorRow
ImagickPixelIterator
PHP Manual

ImagickPixelIterator::getCurrentIteratorRow

(PECL imagick 2.0.0)

ImagickPixelIterator::getCurrentIteratorRow — Devuelve la fila actual de objetos ImagickPixel

Descripción

array ImagickPixelIterator::getCurrentIteratorRow ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve la fila actual como una matriz de objetos ImagickPixel desde el iterador de píxel.

Valores devueltos

Devuelve una fila como una matriz de objetos ImagickPixel que pueden ser iterados también.

ImagickPixelIterator::destroy
ImagickPixelIterator::getIteratorRow
ImagickPixelIterator


Devuelve la fila actual del iterador de píxel

ImagickPixelIterator::getCurrentIteratorRow
ImagickPixelIterator::getNextIteratorRow
ImagickPixelIterator
PHP Manual

ImagickPixelIterator::getIteratorRow

(PECL imagick 2.0.0)

ImagickPixelIterator::getIteratorRow — Devuelve la fila actual del iterador de píxel

Descripción

int ImagickPixelIterator::getIteratorRow ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve la fila actual del iterador de píxel.

Valores devueltos

Devuelve el índice de tipo integer de la fila, lanzando una excepción ImagickPixelIteratorException si se produjo un error.

ImagickPixelIterator::getCurrentIteratorRow
ImagickPixelIterator::getNextIteratorRow
ImagickPixelIterator


Devuelve la fila siguiente del iterador de píxel

ImagickPixelIterator::getIteratorRow
ImagickPixelIterator::getPreviousIteratorRow
ImagickPixelIterator
PHP Manual

ImagickPixelIterator::getNextIteratorRow

(PECL imagick 2.0.0)

ImagickPixelIterator::getNextIteratorRow — Devuelve la fila siguiente del iterador de píxel

Descripción

array ImagickPixelIterator::getNextIteratorRow ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve la fila siguientes como una matriz de varitas mágicas de píxeles desde el iterador de píxel.

Valores devueltos

Devuelve la fila siguiente como una matriz de objetos ImagickPixel, lanzando una excepción ImagickPixelIteratorException si se produjo un error.

ImagickPixelIterator::getIteratorRow
ImagickPixelIterator::getPreviousIteratorRow
ImagickPixelIterator


Devuelve la fila previa

ImagickPixelIterator::getNextIteratorRow
ImagickPixelIterator::newPixelIterator
ImagickPixelIterator
PHP Manual

ImagickPixelIterator::getPreviousIteratorRow

(PECL imagick 2.0.0)

ImagickPixelIterator::getPreviousIteratorRow — Devuelve la fila previa

Descripción

array ImagickPixelIterator::getPreviousIteratorRow ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve la fila previa como una matriz de varitas mágicas de píxeles desde el iterador de píxel.

Valores devueltos

Devuelve la fila previa como una matriz de objetos ImagickPixelWand desde ImagickPixelIterator, lanzando una excepción ImagickPixelIteratorException si se produjo un error.

ImagickPixelIterator::getNextIteratorRow
ImagickPixelIterator::newPixelIterator
ImagickPixelIterator


Devuelve un nuevo iterador de píxel

ImagickPixelIterator::getPreviousIteratorRow
ImagickPixelIterator::newPixelRegionIterator
ImagickPixelIterator
PHP Manual

ImagickPixelIterator::newPixelIterator

(PECL imagick 2.0.0)

ImagickPixelIterator::newPixelIterator — Devuelve un nuevo iterador de píxel

Descripción

bool ImagickPixelIterator::newPixelIterator ( Imagick $wand )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve un nuevo iterador de píxel.

Valores devueltos

Devuelve TRUE en caso de éxito. Lanzando una excepción ImagickPixelIteratorException.

ImagickPixelIterator::getPreviousIteratorRow
ImagickPixelIterator::newPixelRegionIterator
ImagickPixelIterator


Devuelve un nuevo iterador de píxel

ImagickPixelIterator::newPixelIterator
ImagickPixelIterator::resetIterator
ImagickPixelIterator
PHP Manual

ImagickPixelIterator::newPixelRegionIterator

(PECL imagick 2.0.0)

ImagickPixelIterator::newPixelRegionIterator — Devuelve un nuevo iterador de píxel

Descripción

bool ImagickPixelIterator::newPixelRegionIterator ( Imagick $wand , int $x , int $y , int $columns , int $rows )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve un nuevo iterador de píxel.

Parámetros

wand

x

y

columns

rows

Valores devueltos

Devuelve un nuevo objeto ImagickPixelIterator si se tuvo éxtio; si falló, lanza una excepción ImagickPixelIteratorException.

ImagickPixelIterator::newPixelIterator
ImagickPixelIterator::resetIterator
ImagickPixelIterator


Reinicia el iterador de píxel

ImagickPixelIterator::newPixelRegionIterator
ImagickPixelIterator::setIteratorFirstRow
ImagickPixelIterator
PHP Manual

ImagickPixelIterator::resetIterator

(PECL imagick 2.0.0)

ImagickPixelIterator::resetIterator — Reinicia el iterador de píxel

Descripción

bool ImagickPixelIterator::resetIterator ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Reinicia el iterador de píxel. Usar junto con ImagickPixelIterator::getNextIteratorRow() para iterar todos los píxeles en un contenedor de píxeles.

Valores devueltos

Devuelve TRUE en caso de éxito.

ImagickPixelIterator::newPixelRegionIterator
ImagickPixelIterator::setIteratorFirstRow
ImagickPixelIterator


Establece el iterador de píxel a la primera fila de píxeles

ImagickPixelIterator::resetIterator
ImagickPixelIterator::setIteratorLastRow
ImagickPixelIterator
PHP Manual

ImagickPixelIterator::setIteratorFirstRow

(PECL imagick 2.0.0)

ImagickPixelIterator::setIteratorFirstRow — Establece el iterador de píxel a la primera fila de píxeles

Descripción

bool ImagickPixelIterator::setIteratorFirstRow ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Establece el iterador de píxel a la primera fila de píxeles.

Valores devueltos

Devuelve TRUE en caso de éxito.

ImagickPixelIterator::resetIterator
ImagickPixelIterator::setIteratorLastRow
ImagickPixelIterator


Establece el iterador de píxel a la última fila de píxeles

ImagickPixelIterator::setIteratorFirstRow
ImagickPixelIterator::setIteratorRow
ImagickPixelIterator
PHP Manual

ImagickPixelIterator::setIteratorLastRow

(PECL imagick 2.0.0)

ImagickPixelIterator::setIteratorLastRow — Establece el iterador de píxel a la última fila de píxeles

Descripción

bool ImagickPixelIterator::setIteratorLastRow ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Establece el iterador de píxel a la última fila de píxeles.

Valores devueltos

Devuelve TRUE en caso de éxito.

ImagickPixelIterator::setIteratorFirstRow
ImagickPixelIterator::setIteratorRow
ImagickPixelIterator


Establecer la fila del iterador de píxel

ImagickPixelIterator::setIteratorLastRow
ImagickPixelIterator::syncIterator
ImagickPixelIterator
PHP Manual

ImagickPixelIterator::setIteratorRow

(PECL imagick 2.0.0)

ImagickPixelIterator::setIteratorRow — Establecer la fila del iterador de píxel

Descripción

bool ImagickPixelIterator::setIteratorRow ( int $row )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Establece la fila del iterador de píxel.

Parámetros

row

Valores devueltos

Devuelve TRUE en caso de éxito.

ImagickPixelIterator::setIteratorLastRow
ImagickPixelIterator::syncIterator
ImagickPixelIterator


Sincornizar el iterador de píxel

ImagickPixelIterator::setIteratorRow
Extensiones relacionadas con Email
ImagickPixelIterator
PHP Manual

ImagickPixelIterator::syncIterator

(PECL imagick 2.0.0)

ImagickPixelIterator::syncIterator — Sincornizar el iterador de píxel

Descripción

bool ImagickPixelIterator::syncIterator ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Sincroniza el iterador de píxel.

Valores devueltos

Devuelve TRUE en caso de éxito.

ImagickPixelIterator::setIteratorRow
Extensiones relacionadas con Email
ImagickPixelIterator


Extensiones relacionadas con Email

  • Cyrus — Administración de IMAP Cyrus
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de Cyrus
  • IMAP — IMAP, POP3 y NNTP
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de IMAP
  • Mail
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de mail
  • Mailparse
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones Mailparse
  • vpopmail
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de vpopmail
ImagickPixelIterator::syncIterator
Cyrus
Referencia de funciones


Administración de IMAP Cyrus

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de Cyrus
    • cyrus_authenticate — Autenticarse contra un servidor IMAP Cyrus
    • cyrus_bind — Enlaza llamadas de retorno a una conexión IMAP Cyrus
    • cyrus_close — Cierra la conexión con el servidor IMAP Cyrus
    • cyrus_connect — Conecta a un servidor IMAP Cyrus
    • cyrus_query — Envía una petición a un servidor IMAP Cyrus
    • cyrus_unbind — Desenlaza
Extensiones relacionadas con Email
Introducción
Extensiones relacionadas con Email


Introducción

Nota: Esta extensión no está disponible en plataformas Windows.

Nota:

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.0.0.

Cyrus
Instalación/Configuración
Cyrus


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Cyrus


Instalación

Para activar soporte para IMAP Cyrus y para usar estas funciones se debe compilar PHP con la opción --with-cyrus .

Advertencia

La extensión IMAP no puede ser usada junto con las extensiones recode, YAZ o Cyrus . Esto es debido a que las dos utilizan el mismo símbolo interno. Observación: Yaz 2.0 y versiones superiores no tienen este problema.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

Esta extensión define un identificador de conexión IMAP Cyrus devuelto por cyrus_connect().

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

CYRUS_CONN_NONSYNCLITERAL (integer)
CYRUS_CONN_INITIALRESPONSE (integer)
CYRUS_CALLBACK_NUMBERED (integer)
CYRUS_CALLBACK_NOLITERAL (integer)
Tipos de recursos
Funciones de Cyrus
Cyrus


Funciones de Cyrus

Tabla de contenidos

  • cyrus_authenticate — Autenticarse contra un servidor IMAP Cyrus
  • cyrus_bind — Enlaza llamadas de retorno a una conexión IMAP Cyrus
  • cyrus_close — Cierra la conexión con el servidor IMAP Cyrus
  • cyrus_connect — Conecta a un servidor IMAP Cyrus
  • cyrus_query — Envía una petición a un servidor IMAP Cyrus
  • cyrus_unbind — Desenlaza
Constantes predefinidas
cyrus_authenticate
Cyrus


Autenticarse contra un servidor IMAP Cyrus

Funciones de Cyrus
cyrus_bind
Funciones de Cyrus
PHP Manual

cyrus_authenticate

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_authenticate — Autenticarse contra un servidor IMAP Cyrus

Descripción

void cyrus_authenticate ( resource $connection [, string $mechlist [, string $service [, string $user [, int $minssf [, int $maxssf [, string $authname [, string $password ]]]]]]] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

No devuelve ningún valor.

Funciones de Cyrus
cyrus_bind
Funciones de Cyrus


Enlaza llamadas de retorno a una conexión IMAP Cyrus

cyrus_authenticate
cyrus_close
Funciones de Cyrus
PHP Manual

cyrus_bind

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_bind — Enlaza llamadas de retorno a una conexión IMAP Cyrus

Descripción

bool cyrus_bind ( resource $connection , array $callbacks )

Enlaza llamadas de retorno a una conexión Cyrus IMAP.

Parámetros

connection

El controlador de la conexión.

callbacks

Un array de llamadas de retorno.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

cyrus_authenticate
cyrus_close
Funciones de Cyrus


Cierra la conexión con el servidor IMAP Cyrus

cyrus_bind
cyrus_connect
Funciones de Cyrus
PHP Manual

cyrus_close

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_close — Cierra la conexión con el servidor IMAP Cyrus

Descripción

bool cyrus_close ( resource $connection )

Cerrar la conexión con el servidor IMAP Cyrus.

Parámetros

connection

El controlador de la conexión.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

cyrus_bind
cyrus_connect
Funciones de Cyrus


Conecta a un servidor IMAP Cyrus

cyrus_close
cyrus_query
Funciones de Cyrus
PHP Manual

cyrus_connect

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_connect — Conecta a un servidor IMAP Cyrus

Descripción

resource cyrus_connect ([ string $host [, string $port [, int $flags ]]] )

Conectar a un servidor IMAP Cyrus.

Parámetros

host

El nombre del servidor IMAP Cyrus.

port

El número del puerto.

flags

Valores devueltos

Devuelve un controlador de la conexión en caso de éxito o FALSE en caso de error.

cyrus_close
cyrus_query
Funciones de Cyrus


Envía una petición a un servidor IMAP Cyrus

cyrus_connect
cyrus_unbind
Funciones de Cyrus
PHP Manual

cyrus_query

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_query — Envía una petición a un servidor IMAP Cyrus

Descripción

array cyrus_query ( resource $connection , string $query )

Envía una petición a un servidor IMAP Cyrus.

Parámetros

connection

El controlador de la conexión.

query

La petición.

Valores devueltos

Devuelve un array asociativo con las siguientes claves: text, msgno, y keyword.

cyrus_connect
cyrus_unbind
Funciones de Cyrus


Desenlaza

cyrus_query
IMAP
Funciones de Cyrus
PHP Manual

cyrus_unbind

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_unbind — Desenlaza

Descripción

bool cyrus_unbind ( resource $connection , string $trigger_name )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

connection

El controlador de la conexión.

trigger_name

El nombre del ejecutador.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

cyrus_query
IMAP
Funciones de Cyrus


IMAP, POP3 y NNTP

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de IMAP
    • imap_8bit — Convertir una cadena 8bit a una cadena quoted-printable
    • imap_alerts — Devuelve todos los mensajes de alerte de IMAP que han sucedido
    • imap_append — Añadir un mensaje de cadena a un buzón especificado
    • imap_base64 — Decodificar un texto cifrado con BASE64
    • imap_binary — Convertir una cadena 8bit a una cadena base64
    • imap_body — Leer el cuerpo del mensaje
    • imap_bodystruct — Leer la estructura de una sección del cuerpo especificado de un mensaje especificado
    • imap_check — Comprobar el buzón actual
    • imap_clearflag_full — Limpia las banderas de mensajes
    • imap_close — Cerrar una secuencia IMAP
    • imap_create — Alias de imap_createmailbox
    • imap_createmailbox — Crear un nuevo buzón de correo
    • imap_delete — Marcar un mensaje para su borrado del buzón actual
    • imap_deletemailbox — Elimina un buzón
    • imap_errors — Devuelve todos los errores de IMAP que han ocurrido
    • imap_expunge — Borra todos los mensajes marcados para eliminación
    • imap_fetch_overview — Leer una visión general de la información de las cabeceras del mensaje dado
    • imap_fetchbody — Traer una sección en particular del cuerpo del mensaje
    • imap_fetchheader — Devolver la cabecera de un mensaje
    • imap_fetchmime — Obtener las cabeceras MIME para una sección en particular del mensaje
    • imap_fetchstructure — Leer la estructura de un mensaje en particular
    • imap_fetchtext — Alias de imap_body
    • imap_gc — Limpia la caché de IMAP
    • imap_get_quota — Obtener la cuota de ajustes por usuario, y las estadísticas de uso por buzón
    • imap_get_quotaroot — Obtener la cuota de ajustes por usuario
    • imap_getacl — Obtiene el ACL para un buzón dado
    • imap_getmailboxes — Leer la lista de buzones, devolviendo información detallada de cada uno
    • imap_getsubscribed — Listar todos los buzones suscritos
    • imap_header — Alias de imap_headerinfo
    • imap_headerinfo — Leer la cabecera del mensaje
    • imap_headers — Devuelve las cabeceras de todos los mensajes de un buzón
    • imap_last_error — Obtiene el último error de IMAP que ocurrió durante esta petición de página
    • imap_list — Leer la lista de buzones
    • imap_listmailbox — Alias de imap_list
    • imap_listscan — Devuelve la lista de buzones que coinciden con el texto dado
    • imap_listsubscribed — Alias de imap_lsub
    • imap_lsub — Listar todos los buzones suscritos
    • imap_mail_compose — Crear un mensaje MIME basado en las secciones sobre y cuerpo
    • imap_mail_copy — Copiar los mensajes especificados a un buzón
    • imap_mail_move — Mover los mensajes especificados a un buzón
    • imap_mail — Enviar un mensaje de correo electrónico
    • imap_mailboxmsginfo — Obtener información sobre el buzón actual
    • imap_mime_header_decode — Decodificar los elementos de la cabecera MIME
    • imap_msgno — Obtiene el número de secuencia de mensaje para el UID dado
    • imap_num_msg — Obtiene el número de mensajes del buzón actual
    • imap_num_recent — Obtiene el número de mensajes recientes en el buzón actual
    • imap_open — Abrir un flujo IMAP a un buzón
    • imap_ping — Comprobar si el flujo de IMAP está aún activo
    • imap_qprint — Convertir una cadena imprimible entrecomillada a una cadena de 8 bits
    • imap_rename — Alias de imap_renamemailbox
    • imap_renamemailbox — Renombrar un buzón antiguo a un buzón nuevo
    • imap_reopen — Reabrir un flujo IMAP hacia un nuevo buzón
    • imap_rfc822_parse_adrlist — Analiza una cadena de dirección
    • imap_rfc822_parse_headers — Analizar cabeceras de correo desde una cadena
    • imap_rfc822_write_address — Devuelve una dirección de correo correctamente formateada dados el buzón, host e información personal
    • imap_savebody — Guardar una sección del cuerpo específica en un fichero
    • imap_scan — Alias de imap_listscan
    • imap_scanmailbox — Alias de imap_listscan
    • imap_search — Esta función devuelve un array de mensajes que coinciden con el criterio de búsqueda dado
    • imap_set_quota — Establece una cuota para un buzón dado
    • imap_setacl — Establece el ACL para el buzón dado
    • imap_setflag_full — Establece banderas en mensajes
    • imap_sort — Obtiene y ordena mensajes
    • imap_status — Devuelve la información de estado de un buzón
    • imap_subscribe — Suscribirse a un buzón
    • imap_thread — Devuelve un árbol de mensajes hilados
    • imap_timeout — Establece o obtiene el tiempo de espera de imap
    • imap_uid — Esta función devuelve el UID del número de secuencia del mensaje dado
    • imap_undelete — Desmarcar el mensaje que está marcado para borrar
    • imap_unsubscribe — Cancelar la inscripción de un buzón
    • imap_utf7_decode — Decodifica una cadena codificada con UTF-7 modificado
    • imap_utf7_encode — Convierte una cadena ISO-8859-1 a un texto UTF-7 modifiicado
    • imap_utf8 — Convierte texto codificado MIME en UTF-8
cyrus_unbind
Introducción
Extensiones relacionadas con Email


Introducción

Estas funciones permiten operar con el protocolo IMAP, así como con los protocolos NNTP y POP3, y los métodos de acceso al buzón local.

Sin embargo, se advierte que algunas funciones de IMAP no funcionarán correctamente con el protocolo POP.

IMAP
Instalación/Configuración
IMAP


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
IMAP


Requerimientos

Este extensión requiere la instalación de la biblioteca c-client. Descargue la última versión desde » ftp://ftp.cac.washington.edu/imap/ y compílela.

Es importante que no copie los ficheros fuente de IMAP dierctamente en el directorio de inclusión del sistema ya que puede haber conflictos. En su lugar, cree un nuevo directorio dentro del directorio de inclusión del sistema, tal como /usr/local/imap-2000b/ (la ubicación y el nombre depende de su configuración y versión de IMAP), y dentro de este nuevo dierctorio cree unos directorios adicionales llamados lib/ e include/. Desde el directorio de c-client del árbol fuente de IMAP, copie todos los ficheros *.h en include/ y todos los ficheros *.c en lib/. Además, cuando compile IMAP, se crea un fichero llamado c-client.a. Póngalo también en el directorio lib/, pero renómbrelo como libc-client.a.

Nota:

Para construir la biblioteca c-client con soporte para SSL o/y Kerberos lea los documentos proporcionados con el paquete.

Nota: En Mandrake Linux, la biblioteca IMAP (libc-client.a) es compilada sin soporte para Kerberos. Se instala una versión diferete con SSL (client-PHP4.a). La biblioteca debe ser compilada para añadir soporte para Kerberos.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Para que estas funciones funcionen, tiene que compilar PHP con --with-imap[=DIR] , donde DIR es el prefijo de instalación de c-client. De nuestro ejemplo anterior, se usaría --with-imap=/usr/local/imap-2000b . Esta ubicación depende de dónde creó este directorio según la descripción de arriba. Los usuarios de Windows pueden incluir la DLL php_imap.dll en php.ini.

IMAP no está soportado en sistemas anteriores a Windows 2000. Esto es porque usa funciones de encriptación para habilitar conexiones SSL a los servidores de correo.

Nota: Dependiendo de cómo se configuró c-client, también podría necesitar añadir --with-imap-ssl=/path/to/openssl/ y/o --with-kerberos=/path/to/kerberos a la línea de configure de PHP.

Advertencia

La extensión IMAP no puede ser usada junto con las extensiones recode, YAZ o Cyrus . Esto es debido a que las dos utilizan el mismo símbolo interno. Observación: Yaz 2.0 y versiones superiores no tienen este problema.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

NIL (integer)
OP_DEBUG (integer)
OP_READONLY (integer)
Abrir el buzón sólo lectura
OP_ANONYMOUS (integer)
No usar o actualizar un .newsrc para noticias (sólo NNTP)
OP_SHORTCACHE (integer)
OP_SILENT (integer)
OP_PROTOTYPE (integer)
OP_HALFOPEN (integer)
Para nombres IMAP y NNTP, abre una conexion, pero no abre un buzón.
OP_EXPUNGE (integer)
OP_SECURE (integer)
CL_EXPUNGE (integer)
Expurga el buzón silenciosamente antes de cerralo al llamar a imap_close()
FT_UID (integer)
El parámetro es un UID
FT_PEEK (integer)
No establece la bandera \Seen flag si no está establecida ya
FT_NOT (integer)
FT_INTERNAL (integer)
La cadena devuelta está en formato interno, no se canonizará a CRLF.
FT_PREFETCHTEXT (integer)
ST_UID (integer)
El argumento secuenciado contiene UIDs en vez números secuenciados
ST_SILENT (integer)
ST_SET (integer)
CP_UID (integer)
Los números secuenciados contienen UIDS
CP_MOVE (integer)
Borra los mensajes del buzón actual después de copiarlos con imap_mail_copy()
SE_UID (integer)
Devuelve UIDs en vez de números secuenciados.
SE_FREE (integer)
SE_NOPREFETCH (integer)
No preobtiene mensajes buscados
SO_FREE (integer)
SO_NOSERVER (integer)
SA_MESSAGES (integer)
SA_RECENT (integer)
SA_UNSEEN (integer)
SA_UIDNEXT (integer)
SA_UIDVALIDITY (integer)
SA_ALL (integer)
LATT_NOINFERIORS (integer)
Este buzón no tiene "hijos" (no hay buzones debajo de éste).
LATT_NOSELECT (integer)
Esto es sólo un contenedor, no un buzón - no puede abrirlo.
LATT_MARKED (integer)
El buzón es marcado. Usada únicamente por UW-IMAPD.
LATT_UNMARKED (integer)
El buzón no es marcado. Usada únicamente por UW-IMAPD.
SORTDATE (integer)
Criterio de ordenación para imap_sort(): fecha del mensaje
SORTARRIVAL (integer)
Criterio de ordenación para imap_sort(): fecha de llegada
SORTFROM (integer)
Criterio de ordenación para imap_sort(): buzón en la primera dirección De
SORTSUBJECT (integer)
Criterio de ordenación para imap_sort(): sujeto del mensaje
SORTTO (integer)
Criterio de ordenación para imap_sort(): buzón en la primera dirección Para
SORTCC (integer)
Criterio de ordenación para imap_sort(): buzón en la primera dirección CC
SORTSIZE (integer)
Criterio de ordenación para imap_sort(): tamaño del mensaje en octetos
TYPETEXT (integer)
TYPEMULTIPART (integer)
TYPEMESSAGE (integer)
TYPEAPPLICATION (integer)
TYPEAUDIO (integer)
TYPEIMAGE (integer)
TYPEVIDEO (integer)
TYPEOTHER (integer)
ENC7BIT (integer)
ENC8BIT (integer)
ENCBINARY (integer)
ENCBASE64 (integer)
ENCQUOTEDPRINTABLE (integer)
ENCOTHER (integer)
IMAP_OPENTIMEOUT (integer)
IMAP_READTIMEOUT (integer)
IMAP_WRITETIMEOUT (integer)
IMAP_CLOSETIMEOUT (integer)
LATT_REFERRAL (integer)
LATT_HASCHILDREN (integer)
LATT_HASNOCHILDREN (integer)
TYPEMODEL (integer)
IMAP_GC_ELT (integer)
Recolector de basura, limpia los elementos en la caché de mensajes.
IMAP_GC_ENV (integer)
Recolector de basura, limpia los sobres y los cuerpos.
IMAP_GC_TEXTS (integer)
Recolector de basura, limpia el texto.
Tipos de recursos
Funciones de IMAP
IMAP


Funciones de IMAP

Ver también

Este documento no entra en detalle de todos los tópicos competentes a las funciones proporcionadas. Se proporciona más información en la documentación de la biblioteca fuente c-client (docs/internal.txt). y en los siguientes documentos RFC:

  • » RFC2821: Simple Mail Transfer Protocol (SMTP).
  • » RFC2822: Standard for ARPA internet text messages.
  • » RFC2060: Internet Message Access Protocol (IMAP) Version 4rev1.
  • » RFC1939: Post Office Protocol Version 3 (POP3).
  • » RFC977: Network News Transfer Protocol (NNTP).
  • » RFC2076: Common Internet Message Headers.
  • » RFC2045 , » RFC2046 , » RFC2047 , » RFC2048 & » RFC2049: Multipurpose Internet Mail Extensions (MIME).
También está disponible una visión general detallada en los libros » Programming Internet Email por David Wood y » Managing IMAP por Dianna Mullet & Kevin Mullet.

Tabla de contenidos

  • imap_8bit — Convertir una cadena 8bit a una cadena quoted-printable
  • imap_alerts — Devuelve todos los mensajes de alerte de IMAP que han sucedido
  • imap_append — Añadir un mensaje de cadena a un buzón especificado
  • imap_base64 — Decodificar un texto cifrado con BASE64
  • imap_binary — Convertir una cadena 8bit a una cadena base64
  • imap_body — Leer el cuerpo del mensaje
  • imap_bodystruct — Leer la estructura de una sección del cuerpo especificado de un mensaje especificado
  • imap_check — Comprobar el buzón actual
  • imap_clearflag_full — Limpia las banderas de mensajes
  • imap_close — Cerrar una secuencia IMAP
  • imap_create — Alias de imap_createmailbox
  • imap_createmailbox — Crear un nuevo buzón de correo
  • imap_delete — Marcar un mensaje para su borrado del buzón actual
  • imap_deletemailbox — Elimina un buzón
  • imap_errors — Devuelve todos los errores de IMAP que han ocurrido
  • imap_expunge — Borra todos los mensajes marcados para eliminación
  • imap_fetch_overview — Leer una visión general de la información de las cabeceras del mensaje dado
  • imap_fetchbody — Traer una sección en particular del cuerpo del mensaje
  • imap_fetchheader — Devolver la cabecera de un mensaje
  • imap_fetchmime — Obtener las cabeceras MIME para una sección en particular del mensaje
  • imap_fetchstructure — Leer la estructura de un mensaje en particular
  • imap_fetchtext — Alias de imap_body
  • imap_gc — Limpia la caché de IMAP
  • imap_get_quota — Obtener la cuota de ajustes por usuario, y las estadísticas de uso por buzón
  • imap_get_quotaroot — Obtener la cuota de ajustes por usuario
  • imap_getacl — Obtiene el ACL para un buzón dado
  • imap_getmailboxes — Leer la lista de buzones, devolviendo información detallada de cada uno
  • imap_getsubscribed — Listar todos los buzones suscritos
  • imap_header — Alias de imap_headerinfo
  • imap_headerinfo — Leer la cabecera del mensaje
  • imap_headers — Devuelve las cabeceras de todos los mensajes de un buzón
  • imap_last_error — Obtiene el último error de IMAP que ocurrió durante esta petición de página
  • imap_list — Leer la lista de buzones
  • imap_listmailbox — Alias de imap_list
  • imap_listscan — Devuelve la lista de buzones que coinciden con el texto dado
  • imap_listsubscribed — Alias de imap_lsub
  • imap_lsub — Listar todos los buzones suscritos
  • imap_mail_compose — Crear un mensaje MIME basado en las secciones sobre y cuerpo
  • imap_mail_copy — Copiar los mensajes especificados a un buzón
  • imap_mail_move — Mover los mensajes especificados a un buzón
  • imap_mail — Enviar un mensaje de correo electrónico
  • imap_mailboxmsginfo — Obtener información sobre el buzón actual
  • imap_mime_header_decode — Decodificar los elementos de la cabecera MIME
  • imap_msgno — Obtiene el número de secuencia de mensaje para el UID dado
  • imap_num_msg — Obtiene el número de mensajes del buzón actual
  • imap_num_recent — Obtiene el número de mensajes recientes en el buzón actual
  • imap_open — Abrir un flujo IMAP a un buzón
  • imap_ping — Comprobar si el flujo de IMAP está aún activo
  • imap_qprint — Convertir una cadena imprimible entrecomillada a una cadena de 8 bits
  • imap_rename — Alias de imap_renamemailbox
  • imap_renamemailbox — Renombrar un buzón antiguo a un buzón nuevo
  • imap_reopen — Reabrir un flujo IMAP hacia un nuevo buzón
  • imap_rfc822_parse_adrlist — Analiza una cadena de dirección
  • imap_rfc822_parse_headers — Analizar cabeceras de correo desde una cadena
  • imap_rfc822_write_address — Devuelve una dirección de correo correctamente formateada dados el buzón, host e información personal
  • imap_savebody — Guardar una sección del cuerpo específica en un fichero
  • imap_scan — Alias de imap_listscan
  • imap_scanmailbox — Alias de imap_listscan
  • imap_search — Esta función devuelve un array de mensajes que coinciden con el criterio de búsqueda dado
  • imap_set_quota — Establece una cuota para un buzón dado
  • imap_setacl — Establece el ACL para el buzón dado
  • imap_setflag_full — Establece banderas en mensajes
  • imap_sort — Obtiene y ordena mensajes
  • imap_status — Devuelve la información de estado de un buzón
  • imap_subscribe — Suscribirse a un buzón
  • imap_thread — Devuelve un árbol de mensajes hilados
  • imap_timeout — Establece o obtiene el tiempo de espera de imap
  • imap_uid — Esta función devuelve el UID del número de secuencia del mensaje dado
  • imap_undelete — Desmarcar el mensaje que está marcado para borrar
  • imap_unsubscribe — Cancelar la inscripción de un buzón
  • imap_utf7_decode — Decodifica una cadena codificada con UTF-7 modificado
  • imap_utf7_encode — Convierte una cadena ISO-8859-1 a un texto UTF-7 modifiicado
  • imap_utf8 — Convierte texto codificado MIME en UTF-8
Constantes predefinidas
imap_8bit
IMAP


Convertir una cadena 8bit a una cadena quoted-printable

Funciones de IMAP
imap_alerts
Funciones de IMAP
PHP Manual

imap_8bit

(PHP 4, PHP 5)

imap_8bit — Convertir una cadena 8bit a una cadena quoted-printable

Descripción

string imap_8bit ( string $string )

Convertir una cadena 8bit a una cadena quoted-printable (de acuerdo a su definición en » RFC2045, sección 6.7).

Parámetros

string

La cadena 8bit a convertir

Valores devueltos

Devuelve una cadena codificada con el método quoted-printable.

Ver también

  • imap_qprint() - Convertir una cadena imprimible entrecomillada a una cadena de 8 bits

Funciones de IMAP
imap_alerts
Funciones de IMAP


Devuelve todos los mensajes de alerte de IMAP que han sucedido

imap_8bit
imap_append
Funciones de IMAP
PHP Manual

imap_alerts

(PHP 4, PHP 5)

imap_alerts — Devuelve todos los mensajes de alerte de IMAP que han sucedido

Descripción

array imap_alerts ( void )

Devuelve todos los mensajes de alerta de IMAP generados desde la última llamada a imap_alerts(), o el inicio de la página.

Al llamar a imap_alerts(), la pila de alertas se limpia posteriormente. La especificación IMAP requiere que estos mensajes sean pasados al usuario.

Valores devueltos

Devuelve un array de todos los mensajes de alerta de IMAP generados o FALSE si no hay mensajes de alerta disponibles.

Ver también

  • imap_errors() - Devuelve todos los errores de IMAP que han ocurrido

imap_8bit
imap_append
Funciones de IMAP


Añadir un mensaje de cadena a un buzón especificado

imap_alerts
imap_base64
Funciones de IMAP
PHP Manual

imap_append

(PHP 4, PHP 5)

imap_append — Añadir un mensaje de cadena a un buzón especificado

Descripción

bool imap_append ( resource $imap_stream , string $mailbox , string $message [, string $options = NULL [, string $internal_date = NULL ]] )

Añade un mensaje de cadena dado por message al buzón especificado por mailbox.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

mailbox

El nombre del buzón, veáse imap_open() para más información

message

El mensaje a añadir, como cadena

Cuando se toma el servidor Cyrus IMAP, se debe usar "\r\n" como terminador de final de línea en lugar de "\n", o la operación fallará

options

Si se proporciona, options también serán escritas al mailbox

internal_date

Si este parámetro se establece, establecerá INTERNALDATE en el mensaje añadido. El parámetro debería ser una cadena de fecha conforme a las especificaciones rfc2060 para un valor date_time.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.3.2 | Se añadió el soporte de INTERNALDATE para imap_append.

Ejemplos

Ejemplo #1 Ejemplo de imap_append()

<?php
$stream = imap_open("{imap.example.org}INBOX.Drafts", "username", "password");

$check = imap_check($stream);
echo "Msg Count before append: ". $check->Nmsgs . "\n";

imap_append($stream, "{imap.example.org}INBOX.Drafts"
                   , "From: me@example.com\r\n"
                   . "To: you@example.com\r\n"
                   . "Subject: test\r\n"
                   . "\r\n"
                   . "this is a test message, please ignore\r\n"
                   );

$check = imap_check($stream);
echo "Msg Count after append : ". $check->Nmsgs . "\n";

imap_close($stream);
?>

imap_alerts
imap_base64
Funciones de IMAP


Decodificar un texto cifrado con BASE64

imap_append
imap_binary
Funciones de IMAP
PHP Manual

imap_base64

(PHP 4, PHP 5)

imap_base64 — Decodificar un texto cifrado con BASE64

Descripción

string imap_base64 ( string $text )

Decodifica el text cifrado en BASE-64 dado.

Parámetros

text

El texto cifrado

Valores devueltos

Devuelve el mensaje decodificado como una cadena.

Ver también

  • imap_binary() - Convertir una cadena 8bit a una cadena base64
  • base64_encode() - Codifica datos con MIME base64
  • base64_decode() - Decodifica datos codificados con MIME base64
  • » RFC2045, Sección 6.8

imap_append
imap_binary
Funciones de IMAP


Convertir una cadena 8bit a una cadena base64

imap_base64
imap_body
Funciones de IMAP
PHP Manual

imap_binary

(PHP 4, PHP 5)

imap_binary — Convertir una cadena 8bit a una cadena base64

Descripción

string imap_binary ( string $string )

Convertir una cadena 8bit a una cadena base64 de acuerdo al documento » RFC2045, Sección 6.8.

Parámetros

string

La cadena 8bit

Valores devueltos

Devuelve una cadena codificada mediante base64.

Ver también

  • imap_base64() - Decodificar un texto cifrado con BASE64

imap_base64
imap_body
Funciones de IMAP


Leer el cuerpo del mensaje

imap_binary
imap_bodystruct
Funciones de IMAP
PHP Manual

imap_body

(PHP 4, PHP 5)

imap_body — Leer el cuerpo del mensaje

Descripción

string imap_body ( resource $imap_stream , int $msg_number [, int $options = 0 ] )

imap_body() devuelve el cuerpo del mensaje, numerado por msg_number en el buzón actual.

imap_body() sólo devolverá una copia palabra por palabra del cuerpo del mensaje. Para extraer partes simples de un mensaje multiparte codificado mediante MIME tiene que usar imap_fetchstructure() para analizar su estructura y imap_fetchbody() para extraer una copia de un componente simple del cuerpo.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

msg_number

El número de mensaje

options

El parámetro opcional options es una máscara de bits con uno o más de lo siguiente:

  • FT_UID - msg_number es un UID
  • FT_PEEK - No establece la bandera \Seen si no lo está ya
  • FT_INTERNAL - La cadena devuelta está en formato interno, no se canonizará a CRLF.

Valores devueltos

Devuelve el cuerpo del mensaje especificado, como cadena.

imap_binary
imap_bodystruct
Funciones de IMAP


Leer la estructura de una sección del cuerpo especificado de un mensaje especificado

imap_body
imap_check
Funciones de IMAP
PHP Manual

imap_bodystruct

(PHP 4, PHP 5)

imap_bodystruct — Leer la estructura de una sección del cuerpo especificado de un mensaje especificado

Descripción

object imap_bodystruct ( resource $imap_stream , int $msg_number , string $section )

Leer la estructura de una sección del cuerpo especificado de un mensaje especificado.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

msg_number

El número de mensaje

section

La sección del cuerpo a leer

Valores devueltos

Devuelve la información en un objeto; para una descripción detallada de la estructura del objeto y sus propiedades veáse imap_fetchstructure().

Ver también

  • imap_fetchstructure() - Leer la estructura de un mensaje en particular

imap_body
imap_check
Funciones de IMAP


Comprobar el buzón actual

imap_bodystruct
imap_clearflag_full
Funciones de IMAP
PHP Manual

imap_check

(PHP 4, PHP 5)

imap_check — Comprobar el buzón actual

Descripción

object imap_check ( resource $imap_stream )

Comprueba la información sobre el buzón actual.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

Valores devueltos

Devuelve la información en un objeto con las siguientes propiedades:

  • Date - momento actual del sistema formateado según » RFC2822
  • Driver - protocolo usado para acceder a este buzón: POP3, IMAP, NNTP
  • Mailbox - el nombre del buzón
  • Nmsgs - número de mensajes en el buzón
  • Recent - número de mensajes recientes en el buzón

Devuelve FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imap_check()

<?php

$imap_obj = imap_check($imap_stream);
var_dump($imap_obj);

?>

El resultado del ejemplo sería algo similar a:

object(stdClass)(5) {
  ["Date"]=>
  string(37) "Wed, 10 Dec 2003 17:56:54 +0100 (CET)"
  ["Driver"]=>
  string(4) "imap"
  ["Mailbox"]=>
  string(54)
  "{www.example.com:143/imap/user="foo@example.com"}INBOX"
  ["Nmsgs"]=>
  int(1)
  ["Recent"]=>
  int(0)
}

imap_bodystruct
imap_clearflag_full
Funciones de IMAP


Limpia las banderas de mensajes

imap_check
imap_close
Funciones de IMAP
PHP Manual

imap_clearflag_full

(PHP 4, PHP 5)

imap_clearflag_full — Limpia las banderas de mensajes

Descripción

bool imap_clearflag_full ( resource $imap_stream , string $sequence , string $flag [, int $options = 0 ] )

Esta función borra la bandera especificada por flag a las banderas establecidas para los mensajes en la secuencia especificada por sequence.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

sequence

Una secuencia de números de mensaje. Puede enumerar los mensajes deseados con la sintaxis X,Y, o recuperar todos los mensajes dentro de un intervalo con la sintaxis X:Y.

flag

Las banderas que se pueden eliminar son "\\Seen", "\\Answered", "\\Flagged", "\\Deleted", y "\\Draft" (como está definido en » RFC2060)

options

options es una máscara de bits y puede contener la única opción:

  • ST_UID - El argumento secuenciado contiene UIDs en lugar de números secuenciados.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • imap_setflag_full() - Establece banderas en mensajes

imap_check
imap_close
Funciones de IMAP


Cerrar una secuencia IMAP

imap_clearflag_full
imap_create
Funciones de IMAP
PHP Manual

imap_close

(PHP 4, PHP 5)

imap_close — Cerrar una secuencia IMAP

Descripción

bool imap_close ( resource $imap_stream [, int $flag = 0 ] )

Cierra la secuencia imap.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

flag

Si se define como CL_EXPUNGE, la función limpiará el buzón silenciosamente antes de cerrarlo, eliminando todos los mensajes marcados para este fin. Es posible obtener el mismo resultado usando imap_expunge()

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • imap_open() - Abrir un flujo IMAP a un buzón

imap_clearflag_full
imap_create
Funciones de IMAP


Alias de imap_createmailbox

imap_close
imap_createmailbox
Funciones de IMAP
PHP Manual

imap_create

(PHP 4, PHP 5)

imap_create — Alias de imap_createmailbox()

Descripción

Esta función es un alias de: imap_createmailbox().

imap_close
imap_createmailbox
Funciones de IMAP


Crear un nuevo buzón de correo

imap_create
imap_delete
Funciones de IMAP
PHP Manual

imap_createmailbox

(PHP 4, PHP 5)

imap_createmailbox — Crear un nuevo buzón de correo

Descripción

bool imap_createmailbox ( resource $imap_stream , string $mailbox )

Crea un nuevo buzón de correo especificado por buzon.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

buzon

El nombre del buzón, vea imap_open() para más información. Los nombres que contengan caracteres internacionales deben ser codificados mediante imap_utf7_encode()

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imap_createmailbox()

<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
     or die("can't connect: " . imap_last_error());

$name1 = "phpnewbox";
$name2 = imap_utf7_encode("phpnewböx"); // phpnewb&w7Y-x

$newname = $name1;

echo "Newname will be '$name1'<br />\n";

// ahora crearemos un nuevo buzón "phptestbox" en su carpeta de entrada,
// chequearemos su status después de su creación y finalmente lo removeremos
// para recuperar el estado inicial del buzón de entrada

if (@imap_createmailbox($mbox, imap_utf7_encode("{imap.example.org}INBOX.$newname"))) {
    $status = @imap_status($mbox, "{imap.example.org}INBOX.$newname", SA_ALL);
    if ($status) {
        echo "your new mailbox '$name1' has the following status:<br />\n";
        echo "Messages:   " . $status->messages    . "<br />\n";
        echo "Recent:     " . $status->recent      . "<br />\n";
        echo "Unseen:     " . $status->unseen      . "<br />\n";
        echo "UIDnext:    " . $status->uidnext     . "<br />\n";
        echo "UIDvalidity:" . $status->uidvalidity . "<br />\n";

        if (imap_renamemailbox($mbox, "{imap.example.org}INBOX.$newname", "{imap.example.org}INBOX.$name2")) {
            echo "renamed new mailbox from '$name1' to '$name2'<br />\n";
            $newname = $name2;
        } else {
            echo "imap_renamemailbox on new mailbox failed: " . imap_last_error() . "<br />\n";
        }
    } else {
        echo "imap_status on new mailbox failed: " . imap_last_error() . "<br />\n";
    }

    if (@imap_deletemailbox($mbox, "{imap.example.org}INBOX.$newname")) {
        echo "new mailbox removed to restore initial state<br />\n";
    } else {
        echo "imap_deletemailbox on new mailbox failed: " . implode("<br />\n", imap_errors()) . "<br />\n";
    }

} else {
    echo "could not create new mailbox: " . implode("<br />\n", imap_errors()) . "<br />\n";
}

imap_close($mbox);
?>

Ver también

  • imap_renamemailbox() - Renombrar un buzón antiguo a un buzón nuevo
  • imap_deletemailbox() - Elimina un buzón

imap_create
imap_delete
Funciones de IMAP


Marcar un mensaje para su borrado del buzón actual

imap_createmailbox
imap_deletemailbox
Funciones de IMAP
PHP Manual

imap_delete

(PHP 4, PHP 5)

imap_delete — Marcar un mensaje para su borrado del buzón actual

Descripción

bool imap_delete ( resource $imap_stream , int $msg_number [, int $options = 0 ] )

Marca los mensajes listados en msg_number para su eliminación. Los mensajes marcados para eliminar permanecerán en el buzón hasta que se llame imap_expunge() o imap_close() con el parámetro opcional CL_EXPUNGE.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

msg_number

El número de mensaje

options

Es posible usar el valor FT_UID que indica que la función debe tratar el argumento msg_number como un UID.

Valores devueltos

Devuelve TRUE.

Ejemplos

Ejemplo #1 Ejemplo de imap_delete()

<?php

$buzon = imap_open("{imap.example.org}INBOX", "usuario", "contraseña")
    or die("No es posible conectarse: " . imap_last_error());

$chequeo = imap_mailboxmsginfo($buzon);
echo "Mensajes antes de borrar: " . $chequeo->Nmsgs . "<br />\n";

imap_delete($buzon, 1);

$chequeo = imap_mailboxmsginfo($buzon);
echo "Mensajes después de borrar: " . $chequeo->Nmsgs . "<br />\n";

imap_expunge($buzon);

$chequeo = imap_mailboxmsginfo($buzon);
echo "Mensajes después de purgar: " . $chequeo->Nmsgs . "<br />\n";

imap_close($buzon);
?>

Notas

Nota:

los buzones IMAP quizá no guardan el estado de sus mensajes entre conexiones, así que imap_expunge() debe llamarse durante la misma conexión para garantizar que los mensajes marcados para eliminación sean realmente borrados.

Ver también

  • imap_undelete() - Desmarcar el mensaje que está marcado para borrar
  • imap_expunge() - Borra todos los mensajes marcados para eliminación
  • imap_close() - Cerrar una secuencia IMAP

imap_createmailbox
imap_deletemailbox
Funciones de IMAP


Elimina un buzón

imap_delete
imap_errors
Funciones de IMAP
PHP Manual

imap_deletemailbox

(PHP 4, PHP 5)

imap_deletemailbox — Elimina un buzón

Descripción

bool imap_deletemailbox ( resource $imap_stream , string $mailbox )

Elimina el buzón espeicificado por mailbox.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

mailbox

El nombre del buzón, véase imap_open() para más informacion

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • imap_createmailbox() - Crear un nuevo buzón de correo
  • imap_renamemailbox() - Renombrar un buzón antiguo a un buzón nuevo
  • imap_open() - Abrir un flujo IMAP a un buzón para el formato de mbox

imap_delete
imap_errors
Funciones de IMAP


Devuelve todos los errores de IMAP que han ocurrido

imap_deletemailbox
imap_expunge
Funciones de IMAP
PHP Manual

imap_errors

(PHP 4, PHP 5)

imap_errors — Devuelve todos los errores de IMAP que han ocurrido

Descripción

array imap_errors ( void )

Obtiene todos los errores de IMAP (si los hay) que han ocurrido durante esta petición de página o desde que se reinició la pila de errores.

Al llamar a imap_errors(), la pila de errores se limpia posteriormente.

Valores devueltos

Esta función devuelve un array con todos los mensajes de error de IMAP generados desde la última llamada a imap_errors(), o desde el principio de la página. Devuelve FALSE si no hay disponible ningún mensaje de error.

Ver también

  • imap_last_error() - Obtiene el último error de IMAP que ocurrió durante esta petición de página
  • imap_alerts() - Devuelve todos los mensajes de alerte de IMAP que han sucedido

imap_deletemailbox
imap_expunge
Funciones de IMAP


Borra todos los mensajes marcados para eliminación

imap_errors
imap_fetch_overview
Funciones de IMAP
PHP Manual

imap_expunge

(PHP 4, PHP 5)

imap_expunge — Borra todos los mensajes marcados para eliminación

Descripción

bool imap_expunge ( resource $imap_stream )

Borra todos los mensajes marcados para eliminación por imap_delete(), imap_mail_move(), o imap_setflag_full().

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

Valores devueltos

Devuelve TRUE.

imap_errors
imap_fetch_overview
Funciones de IMAP


Leer una visión general de la información de las cabeceras del mensaje dado

imap_expunge
imap_fetchbody
Funciones de IMAP
PHP Manual

imap_fetch_overview

(PHP 4, PHP 5)

imap_fetch_overview — Leer una visión general de la información de las cabeceras del mensaje dado

Descripción

array imap_fetch_overview ( resource $imap_stream , string $sequence [, int $options = 0 ] )

Esta función obtiene las cabeceras del correo de la secuencia dada por sequence y devuelve una visión general de sus contenidos.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

sequence

Una descripción de la secuencia de mensajes. Puede enumerar los mensajes deseados con la sintaxis X,Y, o recuperar todos los mensajes dentro de un intervalo con la sintaxis X:Y

options

sequence contendrá una secuencia de índices de mensajes; o UIDs, si este parámetro está establecido a FT_UID.

Valores devueltos

Devuelve un array de objetos que describen una cabecera de mensaje cada uno. El objeto sólo definirá una propiedad si ésta existe. Las propiedades posibles son:

  • subject - el sujeto del mensaje
  • from - quién lo envió
  • to - destinatario
  • date - cuándo fue enviado
  • message_id - ID del mensaje
  • references - es una referencia a este id de mensaje
  • in_reply_to - es una respueste a este id de mensaje
  • size - tamaño en bytes
  • uid - UID del mensaje que está en el buzón
  • msgno - número de secuencia de mensaje en el buzón
  • recent - este mensaje está marcado como reciente
  • flagged - este mensaje está marcado
  • answered - este mensaje está marcado como respondido
  • deleted - este mensaje está marcado para su eliminación
  • seen - este mensaje está marcado como ya leído
  • draft - este mensaje está marcado como borrador

Ejemplos

Ejemplo #1 Ejemplo de imap_fetch_overview()

<?php
$mbox = imap_open("{imap.example.org:143}INBOX", "username", "password")
     or die("no se puede conectar: " . imap_last_error());

$MC = imap_check($mbox);

// Obtener una visión general de todos los mensajes de INBOX
$result = imap_fetch_overview($mbox,"1:{$MC->Nmsgs}",0);
foreach ($result as $overview) {
    echo "#{$overview->msgno} ({$overview->date}) - From: {$overview->from}
    {$overview->subject}\n";
}
imap_close($mbox);
?>

Ver también

  • imap_fetchheader() - Devolver la cabecera de un mensaje

imap_expunge
imap_fetchbody
Funciones de IMAP


Traer una sección en particular del cuerpo del mensaje

imap_fetch_overview
imap_fetchheader
Funciones de IMAP
PHP Manual

imap_fetchbody

(PHP 4, PHP 5)

imap_fetchbody — Traer una sección en particular del cuerpo del mensaje

Descripción

string imap_fetchbody ( resource $imap_stream , int $msg_number , string $section [, int $options = 0 ] )

Traer una sección en particular del cuerpo de los mensajes especificados. Las partes del cuerpo no son decodificadas por esta función.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

msg_number

El número de mensaje

section

El número de la parte. Es una cadena de enteros delimitada por puntos cuyo índice dentro de la parte del cuerpo se lista como en la especificación IMAP4

options

Una máscara de bits con uno o más de lo siguiente:

  • FT_UID - El msg_number es un UID
  • FT_PEEK - No establece la bandera \Seen si no está ya establecida
  • FT_INTERNAL - La cadena devuelta está en formato interno, no canonizará a CRLF.

Valores devueltos

Devuelve una sección en particular del cuerpo de los mensajes especificados como una cadena de texto.

Ver también

  • imap_savebody() - Guardar una sección del cuerpo específica en un fichero
  • imap_fetchstructure() - Leer la estructura de un mensaje en particular

imap_fetch_overview
imap_fetchheader
Funciones de IMAP


Devolver la cabecera de un mensaje

imap_fetchbody
imap_fetchmime
Funciones de IMAP
PHP Manual

imap_fetchheader

(PHP 4, PHP 5)

imap_fetchheader — Devolver la cabecera de un mensaje

Descripción

string imap_fetchheader ( resource $imap_stream , int $msg_number [, int $options = 0 ] )

Esta función lleva a cabo la obtención de la cabecera completa, sin filtrar, con formato » RFC2822 del mensaje especificado.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

msg_number

El número de mensaje

options

Las opciones dadas por options son:

  • FT_UID - El argumento msgno es un UID
  • FT_INTERNAL - La cadena devuelta está en formato "interno" sin ningún intento de canonizar a nuevas líneas CRLF
  • FT_PREFETCHTEXT - RFC822.TEXT debería ser preobtenido al mismo tiempo. Esto evita un RTT extra en una conexión IMAP si se desea un mensaje de texto completo (p.ej. en una operación "guardar en fichero local")

Valores devueltos

Devuelve la cabecera del mensaje especificado como una cadena de texto.

Ver también

  • imap_fetch_overview() - Leer una visión general de la información de las cabeceras del mensaje dado

imap_fetchbody
imap_fetchmime
Funciones de IMAP


Obtener las cabeceras MIME para una sección en particular del mensaje

imap_fetchheader
imap_fetchstructure
Funciones de IMAP
PHP Manual

imap_fetchmime

(PHP 5 >= 5.3.6)

imap_fetchmime — Obtener las cabeceras MIME para una sección en particular del mensaje

Descripción

string imap_fetchmime ( resource $imap_stream , int $msg_number , string $section [, int $options = 0 ] )

Obtener las cabeceras MIME de una sección en particular del cuerpo de los mensajes especificados.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

msg_number

El número de mensaje

section

El número de parte. Es una cadnea de enteros delimitados por un punto que indexa dentro de una lista de partes del cuerpo como en la especificación IMAP4

options

Una máscara de bits con uno o más de lo siguiente:

  • FT_UID - msg_number es un UID
  • FT_PEEK - No establecer la bandera \Seen si no está ya establecida
  • FT_INTERNAL - La cadena devuelta está en formato interno, no se canonizará a CRLF.

Valores devueltos

Devuelve las cabeceras MIME de una sección en particular del cuerpo de los mensajes especificados como una cadena de texto.

Ver también

  • imap_fetchbody() - Traer una sección en particular del cuerpo del mensaje
  • imap_fetchstructure() - Leer la estructura de un mensaje en particular
  • imap_fetchheader() - Devolver la cabecera de un mensaje

imap_fetchheader
imap_fetchstructure
Funciones de IMAP


Leer la estructura de un mensaje en particular

imap_fetchmime
imap_fetchtext
Funciones de IMAP
PHP Manual

imap_fetchstructure

(PHP 4, PHP 5)

imap_fetchstructure — Leer la estructura de un mensaje en particular

Descripción

object imap_fetchstructure ( resource $imap_stream , int $msg_number [, int $options = 0 ] )

Obtiene toda la información de la estructura de un mensaje dado.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

msg_number

El número de mensaje.

options

Este parámetro opcional sólo puede tener una única opción, FT_UID, que indica a la función que trate el argumento msg_number como un UID.

Valores devueltos

Devuelve un objeto que incluye la envoltura, información interna, tamaño, banderas y cuerpo de la estructura además de un objeto similar para cada adjunto mime. La estructura de los objetos devueltos es como sigue:

Objetos devueltos para imap_fetchstructure()
type | Tipo de cuerpo principal
encoding | Codificación de la transferencia del cuerpo
ifsubtype | TRUE si hay una cadena subtipo
subtype | Subtipo MIME
ifdescription | TRUE si hay una cadena de descripción
description | Contenido de la cadena de descripción
ifid | TRUE si hay una cadena de identificación
id | Cadena de identificación
lines | Número de líneas
bytes | Número de bytes
ifdisposition | TRUE si hay una cadena de disposición
disposition | Cadena de disposición
ifdparameters | TRUE si el array dparameters existe
dparameters | Un array de objetos donde cada objeto tiene una propiedad "attribute" y "value" correspondientes a los parámetros de la cabecera MIME Content-disposition.
ifparameters | TRUE si el array de parámetros existe
parameters | Una array de objetos donde cada objeto tiene una propiedad "attribute" y "value".
parts | Un array de objetos idéntico en estructura al objeto de más alto nivel, cada uno correspondiendo una parte del cuerpo MIME.

Tipo de cuerpo principal (puede variar con la biblioteca usada)
0 | texto
1 | multiparte
2 | mensaje
3 | aplicación
4 | audio
5 | imagen
6 | video
7 | otro

Codificaciones de transferencia (puede variar con la biblioteca usada)
0 | 7BIT
1 | 8BIT
2 | BINARY
3 | BASE64
4 | QUOTED-PRINTABLE
5 | OTRO

Ver también

  • imap_fetchbody() - Traer una sección en particular del cuerpo del mensaje
  • imap_bodystruct() - Leer la estructura de una sección del cuerpo especificado de un mensaje especificado

imap_fetchmime
imap_fetchtext
Funciones de IMAP


Alias de imap_body

imap_fetchstructure
imap_gc
Funciones de IMAP
PHP Manual

imap_fetchtext

(PHP 4, PHP 5)

imap_fetchtext — Alias de imap_body()

Descripción

Esta función es un alias de: imap_body().

imap_fetchstructure
imap_gc
Funciones de IMAP


Limpia la caché de IMAP

imap_fetchtext
imap_get_quota
Funciones de IMAP
PHP Manual

imap_gc

(PHP 5 >= 5.3.0)

imap_gc — Limpia la caché de IMAP

Descripción

bool imap_gc ( resource $imap_stream , int $caches )

Limpia la caché de entradas de un tipo específico.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

caches

Especifica la caché a limpiar. Puede ser una o una combinación de las siguientes constantes: IMAP_GC_ELT (elementos de caché de mensajes), IMAP_GC_ENV (sobres y cuerpos), IMAP_GC_TEXTS (textos).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imap_gc()

<?php

$mbox = imap_open("{imap.example.org:143}", "username", "password");

imap_gc($mbox, IMAP_GC_ELT);

?>

imap_fetchtext
imap_get_quota
Funciones de IMAP


Obtener la cuota de ajustes por usuario, y las estadísticas de uso por buzón

imap_gc
imap_get_quotaroot
Funciones de IMAP
PHP Manual

imap_get_quota

(PHP 4 >= 4.0.5, PHP 5)

imap_get_quota — Obtener la cuota de ajustes por usuario, y las estadísticas de uso por buzón

Descripción

array imap_get_quota ( resource $imap_stream , string $quota_root )

Obtener la cuota de ajustes por usuario, y las estadísticas de uso por buzón.

Para una versión de usuario no administrador de esta función, por favor véase la función imap_get_quotaroot() de PHP.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

quota_root

quota_root normalmente debería estar en la forma ususario.nombre donde nombre es el buzón del que se quiere obtener información.

Valores devueltos

Devuelve un array con valores integer de límite y uso par el buzón dado. El valor del límite representa la cantidad total de espacio permitido a este buzón. El valor de uso representa el nivle de capacidad actual de los buzones. Devolverá FALSE en caso de error.

Desde PHP 4.3, la función refleja de manera más apropiada la funcionalidad como está dictada en » RFC2087. El array de valores devuelto ha cambiado para soportar un número ilimitado de recursos devueltos (es decir, mensajes, o subcarpetas) con cada recurso nombrado recibiendo una clave de array individual. Cada valor de la clave contiene otro array con los valores uso y límite dentro de él.

Por razones de retrocompatibilidad, los métodos de acceso originales aún están disponibles, aunque se sugiere actualizar.

Ejemplos

Ejemplo #1 Ejemplo de imap_get_quota()

<?php
$mbox = imap_open("{imap.example.org}", "mailadmin", "password", OP_HALFOPEN)
      or die("no se puede conectar: " . imap_last_error());

$quota_value = imap_get_quota($mbox, "user.kalowsky");
if (is_array($quota_value)) {
    echo "Usage level is: " . $quota_value['usage'];
    echo "Limit level is: " . $quota_value['limit'];
}

imap_close($mbox);
?>

Ejemplo #2 Ejemplo de imap_get_quota() 4.3 o superiro

<?php
$mbox = imap_open("{imap.example.org}", "mailadmin", "password", OP_HALFOPEN)
      or die("no se puede conectar: " . imap_last_error());

$quota_values = imap_get_quota($mbox, "user.kalowsky");
if (is_array($quota_values)) {
   $storage = $quota_values['STORAGE'];
   echo "STORAGE usage level is: " .  $storage['usage'];
   echo "STORAGE limit level is: " .  $storage['limit'];

   $message = $quota_values['MESSAGE'];
   echo "MESSAGE usage level is: " .  $message['usage'];
   echo "MESSAGE limit is: " .  $message['limit'];

   /* ...  */
}

imap_close($mbox);
?>

Notas

Esta función está actualmente disponible para usuarios de la biblioteca c-client2000 o superior.

El imap_stream dado debe ser abierto como el administrador de correo, si no la función fallará.

Ver también

  • imap_open() - Abrir un flujo IMAP a un buzón
  • imap_set_quota() - Establece una cuota para un buzón dado
  • imap_get_quotaroot() - Obtener la cuota de ajustes por usuario

imap_gc
imap_get_quotaroot
Funciones de IMAP


Obtener la cuota de ajustes por usuario

imap_get_quota
imap_getacl
Funciones de IMAP
PHP Manual

imap_get_quotaroot

(PHP 4 >= 4.3.0, PHP 5)

imap_get_quotaroot — Obtener la cuota de ajustes por usuario

Descripción

array imap_get_quotaroot ( resource $imap_stream , string $quota_root )

Obtnener la cuota de ajustes por usuario. EL valor límite representa la cantidad total de espacio permitido para este uso de buzón total de usuario. El valor del uso representa la capacidad de buzón total del usuario actual.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

quota_root

quota_root normalmente debería estar en la forma de su buzón (es decir, INBOX).

Valores devueltos

Devuelve un array de valores concernientes al buzón del usuario especificado. Todos los valores contienen una clave basada en el nombre del recurso, y dentro un array correspondiente al los valores uso y límite.

Esta función devolverá FALSE en el caso de fallo de llamada, y un array de información acerca de la conexión sobre una respuesta no analizable desde el servidor.

Ejemplos

Ejemplo #1 Ejemplo de imap_get_quotaroot()

<?php
$mbox = imap_open("{imap.example.org}", "kalowsky", "password", OP_HALFOPEN)
      or die("no se puede conectar: " . imap_last_error());

$cuota = imap_get_quotaroot($mbox, "INBOX");
if (is_array($cuota)) {
   $almacén = $quota_values['STORAGE'];
   echo "STORAGE usage level is: " .  $almacén['usage'];
   echo "STORAGE limit level is: " .  $almacén['limit'];

   $mensaje = $quota_values['MESSAGE'];
   echo "MESSAGE usage level is: " .  $mensaje['usage'];
   echo "MESSAGE limit level is: " .  $mensaje['limit'];

   /* ...  */

}

imap_close($mbox);
?>

Notas

Esta función actualmente sólo está disponible para usuarios de la biblioteca c-client2000 o superior.

imap_stream debería ser abierto como el usuario cuyo buzón se desea comprobar.

Ver también

  • imap_open() - Abrir un flujo IMAP a un buzón
  • imap_set_quota() - Establece una cuota para un buzón dado
  • imap_get_quota() - Obtener la cuota de ajustes por usuario, y las estadísticas de uso por buzón

imap_get_quota
imap_getacl
Funciones de IMAP


Obtiene el ACL para un buzón dado

imap_get_quotaroot
imap_getmailboxes
Funciones de IMAP
PHP Manual

imap_getacl

(PHP 5)

imap_getacl — Obtiene el ACL para un buzón dado

Descripción

array imap_getacl ( resource $imap_stream , string $mailbox )

GObtiene el ACL para un buzón dado.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

mailbox

El nombre del buzón, veáse imap_open() para más información

Valores devueltos

Devuelve un array asociativo de pares "folder" => "acl" pairs.

Ejemplos

Ejemplo #1 Ejemplo de imap_getacl()

<?php

print_r(imap_getacl($conn_id, 'user.joecool'));

?>

El resultado del ejemplo sería algo similar a:

Array
(
    [asubfolder] => lrswipcda
    [anothersubfolder] => lrswipcda
)

Notas

Esta función sólo está disponible para usuarios de la biblioteca c-client2000 o superior.

Ver también

  • imap_setacl() - Establece el ACL para el buzón dado

imap_get_quotaroot
imap_getmailboxes
Funciones de IMAP


Leer la lista de buzones, devolviendo información detallada de cada uno

imap_getacl
imap_getsubscribed
Funciones de IMAP
PHP Manual

imap_getmailboxes

(PHP 4, PHP 5)

imap_getmailboxes — Leer la lista de buzones, devolviendo información detallada de cada uno

Descripción

array imap_getmailboxes ( resource $imap_stream , string $ref , string $pattern )

Obtiene información sobre los buzones.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

ref

ref normalmente debería ser la especificación del servidor como está descrita en imap_open()

pattern

Especifica donde en la jerarquía del buzón para empezar a buscar.

Hay dos caracteres especiales que se pueden pasar como parte del pattern: '*' y '%'. '*' significa devolver todos los buzones. Si se pasa el pattern como '*', se obtendrá una lista de toda la jerarquía del buzón. '%' significa devolver sólo el nivel actual. '%' como el parámetro pattern devolverá solamente el nivel superior de los buzones; '~/mail/%' en UW_IMAPD devolverá cada buzón en el directorio ~/mail, pero no en los subdirectorios de ese directorio.

Valores devueltos

Devuelve un array de objetos que contienen la información de los buzones. Cada objeto tiene los atributos name (nombre), especificando el nombre completo del buzón; delimiter (delimitador), que es el delimitador de jerarquía de la parte de la jerarquía en la que está este buzón, y attributes (atributos). Attributes es una máscara de bits que puede comprobar con:

  • LATT_NOINFERIORS - Este buzón contiene, y no puede contener ningún "hijo" (no hay buzones por debajo de este). Una llamada a imap_createmailbox() no funcionará con este buzón.

  • LATT_NOSELECT - Es solo un contenedor, no un buzón - no se puede abrir.

  • LATT_MARKED - Este buzón está marcado. Esto significa que puede contener mensajes nuevos desde la última vez que se comprobó. No proporcionado por todos los servidores IMAP.

  • LATT_UNMARKED - Este buzó no está marcado, no contiene nuevos mensajes. Si se proporciona MARKED o UNMARKED, se puede asumir que el servidor IMAP soporta esta característica para este buzón.

Ejemplos

Ejemplo #1 Ejemplo de imap_getmailboxes()

<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
      or die("no se puede conectar: " . imap_last_error());

$lista = imap_getmailboxes($mbox, "{imap.example.org}", "*");
if (is_array($lista)) {
    foreach ($lista as $clave => $valor) {
        echo "($clave) ";
        echo imap_utf7_decode($valor->name) . ",";
        echo "'" . $valor->delimiter . "',";
        echo $valor->attributes . "<br />\n";
    }
} else {
    echo "imap_getmailboxes falló: " . imap_last_error() . "\n";
}

imap_close($mbox);
?>

Ver también

  • imap_getsubscribed() - Listar todos los buzones suscritos

imap_getacl
imap_getsubscribed
Funciones de IMAP


Listar todos los buzones suscritos

imap_getmailboxes
imap_header
Funciones de IMAP
PHP Manual

imap_getsubscribed

(PHP 4, PHP 5)

imap_getsubscribed — Listar todos los buzones suscritos

Descripción

array imap_getsubscribed ( resource $imap_stream , string $ref , string $pattern )

Obtiene información sobre los buzones suscritos.

Idéntica a imap_getmailboxes(), excepto que sólo devuelve los buzones al que está suscrito el usuario.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

ref

ref normalmente debería ser la especificación del servidor como está descrita en imap_open()

pattern

Especifica donde en la jerarquía del buzón para empezar a buscar.

Hay dos caracteres especiales que se pueden pasar como parte del pattern: '*' y '%'. '*' significa devolver todos los buzones. Si se pasa el pattern como '*', se obtendrá una lista de toda la jerarquía del buzón. '%' significa devolver sólo el nivel actual. '%' como el parámetro pattern devolverá solamente el nivel superior de los buzones; '~/mail/%' en UW_IMAPD devolverá cada buzón en el directorio ~/mail, pero no en los subdirectorios de ese directorio.

Valores devueltos

Devuelve un array de objetos de contienen información de los buzones. Cada objeto tiene los atributos name (nombre), especificando el nombre completo del buzón; delimiter (delimitador), que es el delimitador de jerarquía para la parte de jerarquía en la que está este buzón, y attributes (atributos). Attributes es una máscara de bits que puede ser comprobada con:

  • LATT_NOINFERIORS - Este buzón no tiene "hijos" (no hay buzones por debajo de este).
  • LATT_NOSELECT - Esto es solo un contenedor, no un buzón - no puede abrirlo.
  • LATT_MARKED - Este buzón está marcado. Solo usado por UW-IMAPD.
  • LATT_UNMARKED - Este buzón no está marcado. Solo usado por UW-IMAPD.

imap_getmailboxes
imap_header
Funciones de IMAP


Alias de imap_headerinfo

imap_getsubscribed
imap_headerinfo
Funciones de IMAP
PHP Manual

imap_header

(PHP 4, PHP 5)

imap_header — Alias de imap_headerinfo()

Descripción

Esta función es un alias de: imap_headerinfo().

imap_getsubscribed
imap_headerinfo
Funciones de IMAP


Leer la cabecera del mensaje

imap_header
imap_headers
Funciones de IMAP
PHP Manual

imap_headerinfo

(PHP 4, PHP 5)

imap_headerinfo — Leer la cabecera del mensaje

Descripción

object imap_headerinfo ( resource $imap_stream , int $msg_number [, int $fromlength = 0 [, int $subjectlength = 0 [, string $defaulthost = NULL ]]] )

Obtiene información sobre el número de mensaje dado leyendo sus cabeceras.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

msg_number

El número de mensaje

fromlength

Número de caracteres para la propiedad fetchfrom. Debe ser mayor que cero o igual a cero.

subjectlength

Número de caracteres para la propiedad fetchsubject. Debe ser mayor que cero o igual a cero.

defaulthost

Valores devueltos

Devuelve la información en un objeto con las siguientes propiedades:

  • toaddress - to completo: línea, hasta 1024 caracteres
  • to - un array de objetos desde To: línea, con las siguientes propiedades: personal, adl, mailbox, y host
  • fromaddress - from completo: línea, hasta 1024 caracteres
  • de - un array de objetos desde From: línea, con las siguientes propiedades: personal, adl, mailbox, y host
  • ccaddress - cc completo: línea, hasta 1024 caracteres
  • cc - un array de objetos desde Cc: línea, con las siguientes propiedades: personal, adl, mailbox, y host
  • bccaddress - bcc completo: línea, hasta 1024 caracteres
  • bcc - un array de objetos desde Bcc: línea, con las siguientes propiedades: personal, adl, mailbox, y host
  • reply_toaddress - Reply-To completo: línea, hasta 1024 caracteres
  • reply_to - un array de objetos desde Reply-To: línea, con las siguientes propiedades: personal, adl, mailbox, y host
  • senderaddress - sender completo: línea, hasta 1024 caracteres
  • sender - un array de objetos desde Sender: línea, con las siguientes propiedades: personal, adl, mailbox, y host
  • return_pathaddress - Return-Path completo: línea, hasta 1024 caracteres
  • return_path - un array de objetos desde Return-Path: línea, con las siguienets propiedades: personal, adl, mailbox, y host
  • remail -
  • date - La fecha del mensaje como se encuentra en sus cabeceras
  • Date - Lo mismo que date
  • subject - El sujeto del mensaje
  • Subject - Lo mismo que subject
  • in_reply_to -
  • message_id -
  • newsgroups -
  • followup_to -
  • references -
  • Recent - R si es reciente y visto, N si es reciente y no visto, ' ' si no es reciente.
  • Unseen - U si no está visto Y no es reciente, ' ' si está visto O no visto y es reciente
  • Flagged - F si está marcado, ' ' si no está marcado
  • Answered - A si está respondido, ' ' si no está respondido
  • Deleted - D si está borrado, ' ' si no está borrado
  • Draft - X si es un borrador, ' ' si no es un borrador
  • Msgno - El número de mensaje
  • MailDate -
  • Size - El tamaño del mensaje
  • udate - fecha del mensaje de correo en época Unix
  • fetchfrom - línea from formateada a encajar fromlength caracteres
  • fetchsubject - línea subject formateada a encajar subjectlength caracteres

Ver también

  • imap_fetch_overview() - Leer una visión general de la información de las cabeceras del mensaje dado

imap_header
imap_headers
Funciones de IMAP


Devuelve las cabeceras de todos los mensajes de un buzón

imap_headerinfo
imap_last_error
Funciones de IMAP
PHP Manual

imap_headers

(PHP 4, PHP 5)

imap_headers — Devuelve las cabeceras de todos los mensajes de un buzón

Descripción

array imap_headers ( resource $imap_stream )

Devuelve las cabeceras de todos los mensajes de un buzón.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

Valores devueltos

Devuelve un array de cadenas formateadas con la información de cabecera. Un elemento por mensaje de correo.

imap_headerinfo
imap_last_error
Funciones de IMAP


Obtiene el último error de IMAP que ocurrió durante esta petición de página

imap_headers
imap_list
Funciones de IMAP
PHP Manual

imap_last_error

(PHP 4, PHP 5)

imap_last_error — Obtiene el último error de IMAP que ocurrió durante esta petición de página

Descripción

string imap_last_error ( void )

Obtiene el texto completo del últime mensaje de error de IMAP que ocurrión de la página actual. La pila de errores se queda intacta; llamar a imap_last_error() posteriormente, sin que intervengan errores, devolverá el mismo error.

Valores devueltos

Devuelve el texto completo de último mensaje de error de IMAP que ocurrio en la página actual. Devuelve FALSE si no hay disponibles mensajes de error.

Ver también

  • imap_errors() - Devuelve todos los errores de IMAP que han ocurrido

imap_headers
imap_list
Funciones de IMAP


Leer la lista de buzones

imap_last_error
imap_listmailbox
Funciones de IMAP
PHP Manual

imap_list

(PHP 4, PHP 5)

imap_list — Leer la lista de buzones

Descripción

array imap_list ( resource $imap_stream , string $ref , string $pattern )

Leer la lista de buzones.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

ref

ref normalmente debería ser la especificación del servidor como está descrita en imap_open().

pattern

Especifica donde en la jerarquía del buzón para empezar a buscar.

Hay dos caracteres especiales que se pueden pasar como parte del pattern: '*' y '%'. '*' significa devolver todos los buzones. Si se pasa el pattern como '*', se obtendrá una lista de toda la jerarquía del buzón. '%' significa devolver sólo el nivel actual. '%' como el parámetro pattern devolverá solamente el nivel superior de los buzones; '~/mail/%' en UW_IMAPD devolverá cada buzón en el directorio ~/mail, pero no en los subdirectorios de ese directorio.

Valores devueltos

Devuelve un array que contiene los nombres de los buzones.

Ejemplos

Ejemplo #1 Ejemplo de imap_list()

<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
      or die("no se puede conectar: " . imap_last_error());

$list = imap_list($mbox, "{imap.example.org}", "*");
if (is_array($list)) {
    foreach ($list as $val) {
        echo imap_utf7_decode($val) . "\n";
    }
} else {
    echo "imap_list failed: " . imap_last_error() . "\n";
}

imap_close($mbox);
?>

Ver también

  • imap_getmailboxes() - Leer la lista de buzones, devolviendo información detallada de cada uno
  • imap_lsub() - Listar todos los buzones suscritos

imap_last_error
imap_listmailbox
Funciones de IMAP


Alias de imap_list

imap_list
imap_listscan
Funciones de IMAP
PHP Manual

imap_listmailbox

(PHP 4, PHP 5)

imap_listmailbox — Alias de imap_list()

Descripción

Esta función es un alias de: imap_list().

imap_list
imap_listscan
Funciones de IMAP


Devuelve la lista de buzones que coinciden con el texto dado

imap_listmailbox
imap_listsubscribed
Funciones de IMAP
PHP Manual

imap_listscan

(PHP 4, PHP 5)

imap_listscan — Devuelve la lista de buzones que coinciden con el texto dado

Descripción

array imap_listscan ( resource $imap_stream , string $ref , string $pattern , string $content )

Devuelve un array que contiene los nombres de los buzones que tienen el contenido dado por content en el texto del buzón.

Esta función es similar a imap_listmailbox(), excepto que verificará además la presencia de la cadena content dentro de la información del buzón.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

ref

ref normalmente debería ser la especificación del servidor como está descrita en imap_open()

pattern

Especifica donde en la jerarquía del buzón para empezar a buscar.

Hay dos caracteres especiales que se pueden pasar como parte del pattern: '*' y '%'. '*' significa devolver todos los buzones. Si se pasa el pattern como '*', se obtendrá una lista de toda la jerarquía del buzón. '%' significa devolver sólo el nivel actual. '%' como el parámetro pattern devolverá solamente el nivel superior de los buzones; '~/mail/%' en UW_IMAPD devolverá cada buzón en el directorio ~/mail, pero no en los subdirectorios de ese directorio.

content

La cadena buscada

Valores devueltos

Devuelve un array que contiene los nombres de los buzones que tienen el contenido dado por content en el texto del buzón.

Ver también

  • imap_listmailbox() - Alias de imap_list
  • imap_search() - Esta función devuelve un array de mensajes que coinciden con el criterio de búsqueda dado

imap_listmailbox
imap_listsubscribed
Funciones de IMAP


Alias de imap_lsub

imap_listscan
imap_lsub
Funciones de IMAP
PHP Manual

imap_listsubscribed

(PHP 4, PHP 5)

imap_listsubscribed — Alias de imap_lsub()

Descripción

Esta función es un alias de: imap_lsub().

imap_listscan
imap_lsub
Funciones de IMAP


Listar todos los buzones suscritos

imap_listsubscribed
imap_mail_compose
Funciones de IMAP
PHP Manual

imap_lsub

(PHP 4, PHP 5)

imap_lsub — Listar todos los buzones suscritos

Descripción

array imap_lsub ( resource $imap_stream , string $ref , string $pattern )

Obtiene un array de todos lo buzones que tiene suscritos.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

ref

ref normalmente debería ser la especificación del servidor como está descrita en imap_open()

pattern

Especifica donde en la jerarquía del buzón para empezar a buscar.

Hay dos caracteres especiales que se pueden pasar como parte del pattern: '*' y '%'. '*' significa devolver todos los buzones. Si se pasa el pattern como '*', se obtendrá una lista de toda la jerarquía del buzón. '%' significa devolver sólo el nivel actual. '%' como el parámetro pattern devolverá solamente el nivel superior de los buzones; '~/mail/%' en UW_IMAPD devolverá cada buzón en el directorio ~/mail, pero no en los subdirectorios de ese directorio.

Valores devueltos

Devuelve un array de todos los buzones suscritos.

Ver también

  • imap_list() - Leer la lista de buzones
  • imap_getmailboxes() - Leer la lista de buzones, devolviendo información detallada de cada uno

imap_listsubscribed
imap_mail_compose
Funciones de IMAP


Crear un mensaje MIME basado en las secciones sobre y cuerpo

imap_lsub
imap_mail_copy
Funciones de IMAP
PHP Manual

imap_mail_compose

(PHP 4, PHP 5)

imap_mail_compose — Crear un mensaje MIME basado en las secciones sobre y cuerpo

Descripción

string imap_mail_compose ( array $envelope , array $body )

Crear un mensaje MIME basado en las secciones de sobre dado por envelope y cuerpo dado por body.

Parámetros

envelope

Un array asociativo de campos de cabecers. Las claves válidas son: "remail", "return_path", "date", "from", "reply_to", "in_reply_to", "subject", "to", "cc", "bcc", "message_id" y "custom_headers" (que contiene un array asociativo de otras cabeceras).

body

Un array indexado de cuerpos

Un cuero en un array asociativo que puede consistir en las siguientes claves: "type", "encoding", "charset", "type.parameters", "subtype", "id", "description", "disposition.type", "disposition", "contents.data", "lines", "bytes" y "md5".

Valores devueltos

Devuelve el mensaje MIME.

Ejemplos

Ejemplo #1 Ejemplo de imap_mail_compose()

<?php

$sobre["from"]= "joe@example.com";
$sobre["to"]  = "foo@example.com";
$sobre["cc"]  = "bar@example.com";

$parte1["type"] = TYPEMULTIPART;
$parte1["subtype"] = "mixed";

$nombre_fichero = "/tmp/imap.c.gz";
$fp = fopen($nombre_fichero, "r");
$contenido = fread($fp, filesize($nombre_fichero));
fclose($fp);

$parte2["type"] = TYPEAPPLICATION;
$parte2["encoding"] = ENCBINARY;
$parte2["subtype"] = "octet-stream";
$parte2["description"] = basename($nombre_fichero);
$parte2["contents.data"] = $contenido;

$parte3["type"] = TYPETEXT;
$parte3["subtype"] = "plain";
$parte3["description"] = "description3";
$parte3["contents.data"] = "contents.data3\n\n\n\t";

$cuerpo[1] = $parte1;
$cuerpo[2] = $parte2;
$cuerpo[3] = $parte3;

echo nl2br(imap_mail_compose($sobre, $cuerpo));

?>

imap_lsub
imap_mail_copy
Funciones de IMAP


Copiar los mensajes especificados a un buzón

imap_mail_compose
imap_mail_move
Funciones de IMAP
PHP Manual

imap_mail_copy

(PHP 4, PHP 5)

imap_mail_copy — Copiar los mensajes especificados a un buzón

Descripción

bool imap_mail_copy ( resource $imap_stream , string $msglist , string $mailbox [, int $options = 0 ] )

Copia los mensajes de correo especificados por msglist al buzón especificado.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

msglist

msglist es un rango, no números de mensajes (como está descrito en » RFC2060).

mailbox

El nombre del buzón, véase imap_open() para más información

options

options es una máscara de bits de un o más de

  • CP_UID - los números de secuencia conetienen UIDS
  • CP_MOVE - Borrar los mensajes del buzón actual después de copiar

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • imap_mail_move() - Mover los mensajes especificados a un buzón

imap_mail_compose
imap_mail_move
Funciones de IMAP


Mover los mensajes especificados a un buzón

imap_mail_copy
imap_mail
Funciones de IMAP
PHP Manual

imap_mail_move

(PHP 4, PHP 5)

imap_mail_move — Mover los mensajes especificados a un buzón

Descripción

bool imap_mail_move ( resource $imap_stream , string $msglist , string $mailbox [, int $options = 0 ] )

Mueve los mensajes de correo especificados por msglist al buzón especificado por mailbox.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

msglist

msglist es un rango, y no números de mensajes (como está descrito en » RFC2060).

mailbox

El nombre del buzón, véase imap_open() para más información

options

options es una máscara de bits y puede contener la única opción:

  • CP_UID - los números de secuencia que contienen UIDS

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota:

imap_mail_move() marcará el correo original con una bandera de eliminación, para eliminarlo con éxito se debe hacer una llamada a imap_expunge().

Ver también

  • imap_mail_copy() - Copiar los mensajes especificados a un buzón

imap_mail_copy
imap_mail
Funciones de IMAP


Enviar un mensaje de correo electrónico

imap_mail_move
imap_mailboxmsginfo
Funciones de IMAP
PHP Manual

imap_mail

(PHP 4, PHP 5)

imap_mail — Enviar un mensaje de correo electrónico

Descripción

bool imap_mail ( string $to , string $subject , string $message [, string $additional_headers = NULL [, string $cc = NULL [, string $bcc = NULL [, string $rpath = NULL ]]]] )

Esta función permite enviar emails con el manejo correcto de los destinatarios Cc y Bcc.

Los parámetros to, cc y bcc son todos cadenas y son analizadas como la lista de dierccioes » RFC822.

Parámetros

to

El destinatario

subject

El asunto del correo

message

El cuerpo del correo, véase imap_mail_compose()

additional_headers

Como cadena con cabeceras adicionales para ser establecidas en el correo

cc

bcc

Los destinatarios especificados en bcc recibirán el correo, pero son excluidos de las cabeceras.

rpath

Use este parámetro para especificar la ruta de vuelta si la entrega del corro falla. Esto es útil al usar PHP como un cliente de correo para múltiples usuarios.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • mail() - Enviar correo
  • imap_mail_compose() - Crear un mensaje MIME basado en las secciones sobre y cuerpo

imap_mail_move
imap_mailboxmsginfo
Funciones de IMAP


Obtener información sobre el buzón actual

imap_mail
imap_mime_header_decode
Funciones de IMAP
PHP Manual

imap_mailboxmsginfo

(PHP 4, PHP 5)

imap_mailboxmsginfo — Obtener información sobre el buzón actual

Descripción

object imap_mailboxmsginfo ( resource $imap_stream )

Comprueba el estado del buzón actual del servidor. Es similar a imap_status(), excepto que resumirá el tamaño de todos los mensajes del buzón, lo que tomará algún tiempo adicional para ejecutarse.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

Valores devueltos

Devuelve la información en un objeto con las siguientes propiedades:

Propiedades del buzón
Date | fecha del último cambio (fecha/hora actuales)
Driver | controlador
Mailbox | nombre del buzón
Nmsgs | número de mensajes
Recent | número de mensajes recientes
Unread | número de mensajes no leídos
Deleted | número de mensajes eliminados
Size | tamaño del buzón

Devuelve FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imap_mailboxmsginfo()

<?php

$buzón = imap_open("{imap.example.org}INBOX", "username", "password")
      or die("no se puede conectar: " . imap_last_error());

$comprobar = imap_mailboxmsginfo($buzón);

if ($comprobar) {
    echo "Fecha: "       . $comprobar->Date    . "<br />\n" ;
    echo "Controlador: " . $comprobar->Driver  . "<br />\n" ;
    echo "Buzón: "       . $comprobar->Mailbox . "<br />\n" ;
    echo "Mensajes: "    . $comprobar->Nmsgs   . "<br />\n" ;
    echo "Recientes: "   . $comprobar->Recent  . "<br />\n" ;
    echo "No leídos: "   . $comprobar->Unread  . "<br />\n" ;
    echo "Eliminados: "  . $comprobar->Deleted . "<br />\n" ;
    echo "Tamaño: "      . $comprobar->Size    . "<br />\n" ;
} else {
    echo "imap_check() falló: " . imap_last_error() . "<br />\n";
}

imap_close($mbox);

?>

imap_mail
imap_mime_header_decode
Funciones de IMAP


Decodificar los elementos de la cabecera MIME

imap_mailboxmsginfo
imap_msgno
Funciones de IMAP
PHP Manual

imap_mime_header_decode

(PHP 4, PHP 5)

imap_mime_header_decode — Decodificar los elementos de la cabecera MIME

Descripción

array imap_mime_header_decode ( string $text )

Decodifica las extensiones de la cabecera del mensaje MIME que no son texto ASCII (véase » RFC2047).

Parámetros

text

El texto MIME

Valores devueltos

Los elementos decodificados son devueltos como un array de objetos, donde cada objeto tiene dos propiedades, charset y text.

Si el elemento no ha sido codificado, y en otras palabras está en US-ASCII plano, la propiedad charset de ese elemento está establecida a default.

Ejemplos

Ejemplo #1 Ejemplo de imap_mime_header_decode()

<?php
$texto = "=?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= <keld@example.com>";

$elementos = imap_mime_header_decode($texto);
for ($i=0; $i<count($elementos); $i++) {
    echo "Conjunto de caracteres: {$elementos[$i]->charset}\n";
    echo "Texto: {$elementos[$i]->text}\n\n";
}
?>

El resultado del ejemplo sería:

Charset: ISO-8859-1
Texto: Keld Jørn Simonsen

Charset: default
Texto:  <keld@example.com>

En el ejemplo de arriba tendríamos dos elemetos, donce el primer elemento ha sido codificado previamente con ISO-8859-1, y el segundo elemento sería US-ASCII plano.

Ver también

  • imap_utf8() - Convierte texto codificado MIME en UTF-8

imap_mailboxmsginfo
imap_msgno
Funciones de IMAP


Obtiene el número de secuencia de mensaje para el UID dado

imap_mime_header_decode
imap_num_msg
Funciones de IMAP
PHP Manual

imap_msgno

(PHP 4, PHP 5)

imap_msgno — Obtiene el número de secuencia de mensaje para el UID dado

Descripción

int imap_msgno ( resource $imap_stream , int $uid )

Devuelve el número de secuencia de mensaje para el uid dado.

Esta función es la inversa de imap_uid().

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

uid

El UID del mensaje

Valores devueltos

Devuelve el número de secuencia de mensaje para el uid dado.

Ver también

  • imap_uid() - Esta función devuelve el UID del número de secuencia del mensaje dado

imap_mime_header_decode
imap_num_msg
Funciones de IMAP


Obtiene el número de mensajes del buzón actual

imap_msgno
imap_num_recent
Funciones de IMAP
PHP Manual

imap_num_msg

(PHP 4, PHP 5)

imap_num_msg — Obtiene el número de mensajes del buzón actual

Descripción

int imap_num_msg ( resource $imap_stream )

Obtiene el número de mensajes del buzón actual.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

Valores devueltos

Devuelve el número de mensajes del buzón actual, como un integer.

Ver también

  • imap_num_recent() - Obtiene el número de mensajes recientes en el buzón actual
  • imap_status() - Devuelve la información de estado de un buzón

imap_msgno
imap_num_recent
Funciones de IMAP


Obtiene el número de mensajes recientes en el buzón actual

imap_num_msg
imap_open
Funciones de IMAP
PHP Manual

imap_num_recent

(PHP 4, PHP 5)

imap_num_recent — Obtiene el número de mensajes recientes en el buzón actual

Descripción

int imap_num_recent ( resource $imap_stream )

Obtiene el número de mensajes recientes en el buzón actual.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

Valores devueltos

Devuelve el número de mensajes recientes en el buzón actual, como un integer.

Ver también

  • imap_num_msg() - Obtiene el número de mensajes del buzón actual
  • imap_status() - Devuelve la información de estado de un buzón

imap_num_msg
imap_open
Funciones de IMAP


Abrir un flujo IMAP a un buzón

imap_num_recent
imap_ping
Funciones de IMAP
PHP Manual

imap_open

(PHP 4, PHP 5)

imap_open — Abrir un flujo IMAP a un buzón

Descripción

resource imap_open ( string $mailbox , string $username , string $password [, int $options = 0 [, int $n_retries = 0 [, array $params = NULL ]]] )

Abre un flujo IMAP a un buzón dado por mailbox.

Esta función también se puede usar para abrir flujos a servidores POP3 y NNTP, pero sólo algunas funciones y características están disponibles en servidores IMAP.

Parámetros

mailbox

Un nombre de buzón consiste en una ruta de servidor y una de buzón para este servidor. El nombre especial INBOX permanece para los buzones personales de ususarios actuales. Los nombres de buzón que contienen caracteres internacionales además de aquellos imprimibles del espacio ASCII tienen que ser codificados con imap_utf7_encode().

La ruta del servidor, que está encerrada entre '{' y '}', consiste en los nombres de los servidores o direcciones ip, y el puerto opcional (prefijado por ':'), y una especificación de protocolo opcional (prefijada por '/').

La parte del servidor el obligatoria en todos los parámetros del buzón.

Todos los nombres que empiezan con { son nombres remotos, y están en la forma "{" nombre_sistema_remoto [":" puerto] [banderas] "}" [nombre_buzón] donde:

  • nombre_sistema_remoto - -Nombre de dominio de internet o dirección IP del servidor entre corchetes.
  • port - número de puerto TCP opcional, por omisión es el puerto por defecto para ese servicio
  • flags - banderas opcionales, véase la siguiente tabla.
  • mailbox_name - nombre del buzón remoto, por defecto es INBOX

Banderas opcionales para los nombres
Bandera | Descricpción
/service=servicio | servicio de acceso al buzón, por defecto es "imap"
/user=usuario | nombre de usuario remoto para identificar en el servidor
/authuser=usuario | usuario de autentificación remoto; si se especifica es el nombre de usuario cuya contraseña es usada (p.ej. administrador)
/anonymous | acceso remoto como usuario anónimo
/debug | grabar la telemetría de protocolo en el registro de depuración de la aplicación
/secure | no transmitir una contraseña en texto plano en la red
/imap, /imap2, /imap2bis, /imap4, /imap4rev1 | equivalente a /service=imap
/pop3 | equivalente a /service=pop3
/nntp | equivalente a /service=nntp
/norsh | no usar rsh o ssh para establecer una sesión de IMAP preautenticada
/ssl | usar Secure Socket Layer (Capa de Conexión Segura) para encriptar la sesión
/validate-cert | validar certificados desde el servidor TLS/SSL (este es el comportamiento predeterminado)
/novalidate-cert | no validar certificador desde el servidor TLS/SSL, necesario si el servidor usa certificados autofirmados
/tls | forzar el uso de start-TLS para encriptar la sesión, y rechazar la conexión a servidores que no la soportan
/notls | no realizar start-TLS para encriptar la sesión, incluso con los servidores que la soportan
/readonly | petición de apertura de un buzón de sólo lectura (sólo IMAP; ignorado en NNTP, y un error con SMTP y POP3)

username

El nombre de usuario

password

La contraseña asociada con username

options

options es una máscara de bits con uno o más de lo siguiente:

  • OP_READONLY - Abrir un buzón de sólo lectura
  • OP_ANONYMOUS - No usar o actualizar un .newsrc para noticias (sólo NNTP)
  • OP_HALFOPEN - Para nombres IMAP y NNTP, abrir una conexión pero no abrir el buzón.
  • CL_EXPUNGE - Expurgar el buzón automáticamente al cierre del mismo (véase también imap_delete() y imap_expunge())
  • OP_DEBUG - Depurar negociaciones de protocolo
  • OP_SHORTCACHE - Almacenamiento en caché corto (sólo elt)
  • OP_SILENT - No dejar pasar eventos (uso interno)
  • OP_PROTOTYPE - Devolver el prototipo de controlador
  • OP_SECURE - No realizar autenticación no segura

n_retries

Número máximo de intentos de conexión

params

Parámetros de conexión, las siguientes claves (cadena) pueden usarse para establecer uno o más parámetros de conexión:

  • DISABLE_AUTHENTICATOR - Deshabilitar las propieades de autenticación

Valores devueltos

Devuelve un flujo IMAP en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.3.2 | Se añadió params
5.2.0 | Se añadió n_retries

Ejemplos

Ejemplo #1 Diferentes usos de imap_open()

<?php
// Para conectarse a un servidor IMAP que se ejecuta en el puerto 142 de la máquina local,
// haga lo siguiente:
$mbox = imap_open("{localhost:143}INBOX", "user_id", "password");

// Para conectarse a un servidor POP3 en el puerto 110 del servidor local, use:
$mbox = imap_open ("{localhost:110/pop3}INBOX", "user_id", "password");

// Para conectarse a un servidor SSL, IMAP o POP3, añada /ssl después de la especificación
// del protocolo:
$mbox = imap_open ("{localhost:993/imap/ssl}INBOX", "user_id", "password");

// Para conectarse a un servidor SSL, IMAP o POP3, con un certificado autofirmado,
// añada /ssl/novalidate-cert después de la especificación del protocolo:
$mbox = imap_open ("{localhost:995/pop3/ssl/novalidate-cert}", "user_id", "password");

// Para conectarse a un servidor NNTP en el puerto 119 en el servidor local, use:
$nntp = imap_open ("{localhost:119/nntp}comp.test", "", "");
// Para conectarse a un servidor remoto reemplace "localhost" con el nombre o la
// dirección IP del servidor al que se quiere conectar.
?>

Ejemplo #2 Ejemplo de imap_open()

<?php
$mbox = imap_open("{imap.example.org:143}", "username", "password");

echo "<h1>Buzones</h1>\n";
$carpetas = imap_listmailbox($mbox, "{imap.example.org:143}", "*");

if ($carpetas == false) {
    echo "Llamada fallida<br />\n";
} else {
    foreach ($carpetas as $val) {
        echo $val . "<br />\n";
    }
}

echo "<h1>Cabeceras en INBOX</h1>\n";
$cabeceras = imap_headers($mbox);

if ($cabeceras == false) {
    echo "Llamada fallida<br />\n";
} else {
    foreach ($cabeceras as $val) {
        echo $val . "<br />\n";
    }
}

imap_close($mbox);
?>

Ver también

  • imap_close() - Cerrar una secuencia IMAP

imap_num_recent
imap_ping
Funciones de IMAP


Comprobar si el flujo de IMAP está aún activo

imap_open
imap_qprint
Funciones de IMAP
PHP Manual

imap_ping

(PHP 4, PHP 5)

imap_ping — Comprobar si el flujo de IMAP está aún activo

Descripción

bool imap_ping ( resource $imap_stream )

imap_ping() realiza un ping al flujo para ver si aún está activo. Puede descubrir nuevos correos; este es el método preferido para una "comporbación de nuevos correos" periódica así como para "mantenerlo vivo" para servidores que tienen un tiempo límite de inactividad.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

Valores devueltos

Devuelve TRUE si el flujo está aún activo, FALSE si no.

Ejemplos

Ejemplo #1 Ejemplo de imap_ping()

<?php

$imap = imap_open("{imap.example.org}", "mailadmin", "password");

// después de dormir algo
if (!imap_ping($imap)) {
    // dhacer alguna cosa para reconectar
}

?>

imap_open
imap_qprint
Funciones de IMAP


Convertir una cadena imprimible entrecomillada a una cadena de 8 bits

imap_ping
imap_rename
Funciones de IMAP
PHP Manual

imap_qprint

(PHP 4, PHP 5)

imap_qprint — Convertir una cadena imprimible entrecomillada a una cadena de 8 bits

Descripción

string imap_qprint ( string $string )

Convertir una cadena imprimible entrecomillada a una cadena de 8 bits según » RFC2045, sección 6.7.

Parámetros

string

Una cadena imprimible entrecomillada

Valores devueltos

Devuelve una cadena de 8 bits.

Ver también

  • imap_8bit() - Convertir una cadena 8bit a una cadena quoted-printable

imap_ping
imap_rename
Funciones de IMAP


Alias de imap_renamemailbox

imap_qprint
imap_renamemailbox
Funciones de IMAP
PHP Manual

imap_rename

(PHP 4, PHP 5)

imap_rename — Alias de imap_renamemailbox()

Descripción

Esta función es un alias de: imap_renamemailbox().

imap_qprint
imap_renamemailbox
Funciones de IMAP


Renombrar un buzón antiguo a un buzón nuevo

imap_rename
imap_reopen
Funciones de IMAP
PHP Manual

imap_renamemailbox

(PHP 4, PHP 5)

imap_renamemailbox — Renombrar un buzón antiguo a un buzón nuevo

Descripción

bool imap_renamemailbox ( resource $imap_stream , string $old_mbox , string $new_mbox )

Esta función renombra un buzón antiguo a un buzón nuevo (véase imap_open() para el formato de los nombres de mbox).

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

old_mbox

El nombre antiguo del buzón, véase imap_open() para más información

new_mbox

El nuevo nombre del buzón, véase imap_open() para más información

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • imap_createmailbox() - Crear un nuevo buzón de correo
  • imap_deletemailbox() - Elimina un buzón

imap_rename
imap_reopen
Funciones de IMAP


Reabrir un flujo IMAP hacia un nuevo buzón

imap_renamemailbox
imap_rfc822_parse_adrlist
Funciones de IMAP
PHP Manual

imap_reopen

(PHP 4, PHP 5)

imap_reopen — Reabrir un flujo IMAP hacia un nuevo buzón

Descripción

bool imap_reopen ( resource $imap_stream , string $mailbox [, int $options = 0 [, int $n_retries = 0 ]] )

Reabre el flujo espeicificado a un nuevo buzón dado por mailbox sobre un servidor IMAP o NNTP.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

mailbox

El nombre del buzón, véase imap_open() para más información

options

options es una máscara de bits con uno o más de lo siguiente:

  • OP_READONLY - Abrir el buzón en sólo lectura
  • OP_ANONYMOUS - No usar o actualizar un .newsrc para noticias (sólo NNTP)
  • OP_HALFOPEN - Para nombres IMAP y NNTP, abrir una conexión pero no abrir un buzón.
  • OP_EXPUNGE - Expurgar y reciclar el flujo de manera silenciosa
  • CL_EXPUNGE - Expurgar el buzón automáticamente al cierre del mismo (véase también imap_delete() y imap_expunge())

n_retries

Número máximo de intentos de conexion

Valores devueltos

Devuelve TRUE si el flujo es reabierto, FALSE si no.

Historial de cambios

Versión | Descripción
5.2.0 | Se añadió n_retries

Ejemplos

Ejemplo #1 Ejemplo de imap_reopen()

<?php
$mbox = imap_open("{imap.example.org:143}INBOX", "username", "password") or die(implode(", ", imap_errors()));
// ...
imap_reopen($mbox, "{imap.example.org:143}INBOX.Sent") or die(implode(", ", imap_errors()));
// ..
?>

imap_renamemailbox
imap_rfc822_parse_adrlist
Funciones de IMAP


Analiza una cadena de dirección

imap_reopen
imap_rfc822_parse_headers
Funciones de IMAP
PHP Manual

imap_rfc822_parse_adrlist

(PHP 4, PHP 5)

imap_rfc822_parse_adrlist — Analiza una cadena de dirección

Descripción

array imap_rfc822_parse_adrlist ( string $address , string $default_host )

Analiza la cadena de dirección como está definido en » RFC2822 y para cada dirección.

Parámetros

address

Una cadena que contiene direcciones

default_host

El nombre del host predeterminado

Valores devueltos

Devuelve un array de objetos. Las propiedades de los objetos son:

  • mailbox - el nombre del buzón (nombre de usuario)
  • host - el nombre del host
  • personal - el nombre personal
  • adl - ruta fuente del dominio

Ejemplos

Ejemplo #1 Ejemplo de imap_rfc822_parse_adrlist()

<?php

$cadena_dirección = "Joe Doe <doe@example.com>, postmaster@example.com, root";
$array_dirección  = imap_rfc822_parse_adrlist($cadena_dirección, "example.com");
if (!is_array($array_dirección) || count($array_dirección) < 1) {
    die("algo está mal\n");
}

foreach ($array_dirección as $id => $val) {
    echo "# $id\n";
    echo "  mailbox : " . $val->mailbox . "\n";
    echo "  host    : " . $val->host . "\n";
    echo "  personal: " . $val->personal . "\n";
    echo "  adl     : " . $val->adl . "\n";
}
?>

El resultado del ejemplo sería:

# 0
  mailbox : doe
  host    : example.com
  personal: Joe Doe
  adl     :
# 1
  mailbox : postmaster
  host    : example.com
  personal:
  adl     :
# 2
  mailbox : root
  host    : example.com
  personal:
  adl     :

Ver también

  • imap_rfc822_parse_headers() - Analizar cabeceras de correo desde una cadena

imap_reopen
imap_rfc822_parse_headers
Funciones de IMAP


Analizar cabeceras de correo desde una cadena

imap_rfc822_parse_adrlist
imap_rfc822_write_address
Funciones de IMAP
PHP Manual

imap_rfc822_parse_headers

(PHP 4, PHP 5)

imap_rfc822_parse_headers — Analizar cabeceras de correo desde una cadena

Descripción

object imap_rfc822_parse_headers ( string $headers [, string $defaulthost = "UNKNOWN" ] )

Obtiene un objeto de varios elementos de cabecera, similar a imap_header().

Parámetros

headers

La información de las cabeceras analizadas

defaulthost

El nombre del host predeterminado

Valores devueltos

Devuelve un objeto similar al devuelto por imap_header(), excepto por las banderas y otras propiedades que vienen del servidor IMAP.

Ver también

  • imap_rfc822_parse_adrlist() - Analiza una cadena de dirección

imap_rfc822_parse_adrlist
imap_rfc822_write_address
Funciones de IMAP


Devuelve una dirección de correo correctamente formateada dados el buzón, host e información personal

imap_rfc822_parse_headers
imap_savebody
Funciones de IMAP
PHP Manual

imap_rfc822_write_address

(PHP 4, PHP 5)

imap_rfc822_write_address — Devuelve una dirección de correo correctamente formateada dados el buzón, host e información personal

Descripción

string imap_rfc822_write_address ( string $mailbox , string $host , string $personal )

Devuelve una dirección de correo correctamente formateada como está definido en » RFC2822 dada la información necesaria.

Parámetros

mailbox

El nombre del buzón, véase imap_open() para más información

host

La parte del host del correo

personal

El nombre del propietario de la cuenta

Valores devueltos

Devuelve una cadena de dirección de correo correctamente formateada como está definido en » RFC2822.

Ejemplos

Ejemplo #1 Ejemplo de imap_rfc822_write_address()

<?php
echo imap_rfc822_write_address("hartmut", "example.com", "Hartmut Holzgraefe");
?>

El resultado del ejemplo sería:

Hartmut Holzgraefe <hartmut@example.com>

imap_rfc822_parse_headers
imap_savebody
Funciones de IMAP


Guardar una sección del cuerpo específica en un fichero

imap_rfc822_write_address
imap_scan
Funciones de IMAP
PHP Manual

imap_savebody

(PHP 5 >= 5.1.3)

imap_savebody — Guardar una sección del cuerpo específica en un fichero

Descripción

bool imap_savebody ( resource $imap_stream , mixed $file , int $msg_number [, string $part_number = "" [, int $options = 0 ]] )

Guarda una parte del cuerpo completo de un mensaje especificado.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

file

La ruta al fichero guardado como una cadena, o un descriptor de fichero válido devuelto por fopen().

msg_number

El número de mensaje

part_number

El número de parte. Es una cadena de enteros delimitada por puntos que indexa a una lista de partes de cuerpos como por la especificación IMAP4

options

Una máscara de bits de uno o más de lo siguiente:

  • FT_UID - msg_number es un UID
  • FT_PEEK - No establecer la bandera \Seen si no lo está ya
  • FT_INTERNAL - La cadena devuelta está en formato intermo, no canonizará a CRLF.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • imap_fetchbody() - Traer una sección en particular del cuerpo del mensaje

imap_rfc822_write_address
imap_scan
Funciones de IMAP


Alias de imap_listscan

imap_savebody
imap_scanmailbox
Funciones de IMAP
PHP Manual

imap_scan

(PHP 4, PHP 5)

imap_scan — Alias de imap_listscan()

Descripción

Esta función es un alias de: imap_listscan().

imap_savebody
imap_scanmailbox
Funciones de IMAP


Alias de imap_listscan

imap_scan
imap_search
Funciones de IMAP
PHP Manual

imap_scanmailbox

(PHP 4, PHP 5)

imap_scanmailbox — Alias de imap_listscan()

Descripción

Esta función es un alias de: imap_listscan().

imap_scan
imap_search
Funciones de IMAP


Esta función devuelve un array de mensajes que coinciden con el criterio de búsqueda dado

imap_scanmailbox
imap_set_quota
Funciones de IMAP
PHP Manual

imap_search

(PHP 4, PHP 5)

imap_search — Esta función devuelve un array de mensajes que coinciden con el criterio de búsqueda dado

Descripción

array imap_search ( resource $imap_stream , string $criteria [, int $options = SE_FREE [, string $charset = NIL ]] )

Esta función realiza una búsqueda en el buzón actualmente abierto en el flujo IMAP dado.

Por ejemplo, para hacer coincidir todos los mensajes no respondidos por Mami, debería usar: "UNANSWERED FROM mami". La búsqueda parece ser insensible a mayúsculas-minúsculas. La lista de criterios viene dada por una lectura del código fuente de c-client UW y puede estar incompleta o no ser exacta (véase » RFC2060, sección 6.4.4).

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

criteria

Una cadena, delimitada por espacios, en la que están permitidas las siguientes palabras clave. Cualquier argumento multi-palabra (p.ej. FROM "joey smith") debe encerrarse entre comillas. Los resultados serán contra todos los parámetros del campo criteria.

  • ALL - devuelve todos los mensajes que coinciden con el resto del criterio
  • ANSWERED - coincide con los mensajes con la bandera \\ANSWERED establecida
  • BCC "cadena" - coincide con los mensajes con "cadena" en el campo Bcc:
  • BEFORE "fecha" - coincide con los mensajes con Date: antes de "fecha"
  • BODY "cadena" - coincide con los mensajes con "cadena" en el cuerpo del mensaje
  • CC "cadena" - coincide con los mensajes con "cadena" en el campo Cc:
  • DELETED - coincide con los mensajes borrados
  • FLAGGED - coincide con los mensajes con la bandera \\FLAGGED establecida (algunas veces referidos como Importante o Urgente)
  • FROM "cadena" - coincide con los mensajes con "cadena" en el campo From:
  • KEYWORD "cadena" - coincide con los mensajes con "cadena" como palabra clave
  • NEW - coincide con los mensajes nuevos
  • OLD - coincide con los mensajes antiguos
  • ON "fecha" - coincide con los mensajes con Date: coincidiendo con "fecha"
  • RECENT - coincide con los mensajes con la bandera \\RECENT establecida
  • SEEN - coincide con los mensajes que han sido leídos (la bandera \\SEEN está estabecido)
  • SINCE "fecha" - coincide con los mensajes con Date: después de "fecha"
  • SUBJECT "cadena" - coincide con los mensajes con "cadena" en Subject:
  • TEXT "cadena" - coincide con los mensajes con el texto "cadena"
  • TO "cadena" - coincide con los mensajes con "cadena" en To:
  • UNANSWERED - coincide con los mensajes que no han sido respondidos
  • UNDELETED - coincide con los mensajes que no están eliminados
  • UNFLAGGED - coincide con los mensajes que no tienen bandera
  • UNKEYWORD "cadena" - coincide con los mensajes que no tienen la palabra clave "cadena"
  • UNSEEN - coincide con los mensajes que aún no han sido leídos

options

Los valores válidos para options son SE_UID, que causa que el array devuelto contenga UIDs en vez de números de secuencia de mensajes.

charset

Valores devueltos

Devuelve un array de números de mensajes o UIDs.

Devuelve FALSE si no comprende el criterio de búsqueda dado por criteria o no se han encontrado mensajes.

Historial de cambios

Versión | Descripción
4.3.3 | Se añadió el parámetro charset

Ejemplos

Ejemplo #1 imap_search() example

<?php
$conn   = imap_open('{imap.example.com:993/imap/ssl}INBOX', 'foo@example.com', 'pass123', OP_READONLY);

$some   = imap_search($conn, 'SUBJECT "COMO ser Guapo" SINCE "8 August 2008"', SE_UID);
$msgnos = imap_search($conn, 'ALL');
$uids   = imap_search($conn, 'ALL', SE_UID);

print_r($some);
print_r($msgnos);
print_r($uids);
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => 4
    [1] => 6
    [2] => 11
)
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
)
Array
(
    [0] => 1
    [1] => 4
    [2] => 6
    [3] => 8
    [4] => 11
    [5] => 12
)

Ver también

  • imap_listscan() - Devuelve la lista de buzones que coinciden con el texto dado

imap_scanmailbox
imap_set_quota
Funciones de IMAP


Establece una cuota para un buzón dado

imap_search
imap_setacl
Funciones de IMAP
PHP Manual

imap_set_quota

(PHP 4 >= 4.0.5, PHP 5)

imap_set_quota — Establece una cuota para un buzón dado

Descripción

bool imap_set_quota ( resource $imap_stream , string $quota_root , int $quota_limit )

Establece una cuota de límite superior sobre una base por buzón.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

quota_root

El buzón que tiene una cuota a establecer. Debería seguir el formato estándar de IMAP para un buzón: user.name.

quota_limit

El tamaño máximo (en KB) para quota_root

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imap_set_quota()

<?php
$mbox = imap_open("{imap.example.org:143}", "mailadmin", "password");

if (!imap_set_quota($mbox, "user.kalowsky", 3000)) {
    echo "Error al establecer la cuota\n";
    return;
}

imap_close($mbox);
?>

Notas

Esta función actualmente sólo esta disponible para usuarios de la biblioteca c-client2000 o superior.

El parámetro imap_stream dado debe ser abierto como el administrador del buzón, de otro modo está función fallará.

Ver también

  • imap_open() - Abrir un flujo IMAP a un buzón
  • imap_get_quota() - Obtener la cuota de ajustes por usuario, y las estadísticas de uso por buzón

imap_search
imap_setacl
Funciones de IMAP


Establece el ACL para el buzón dado

imap_set_quota
imap_setflag_full
Funciones de IMAP
PHP Manual

imap_setacl

(PHP 4 >= 4.0.7, PHP 5)

imap_setacl — Establece el ACL para el buzón dado

Descripción

bool imap_setacl ( resource $imap_stream , string $mailbox , string $id , string $rights )

Establece el ACL para un buzón dado.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

mailbox

El nombre del buzón, véase imap_open() para más información

id

El ususario al que dar los derechos.

rights

Los derechos a dar al usuario. Al pasar una cadena vacía borrará acl.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Esta función actualmente sólo está disponiblre para usuarior de la biblioteca c-client2000 o superior.

Ver también

  • imap_getacl() - Obtiene el ACL para un buzón dado

imap_set_quota
imap_setflag_full
Funciones de IMAP


Establece banderas en mensajes

imap_setacl
imap_sort
Funciones de IMAP
PHP Manual

imap_setflag_full

(PHP 4, PHP 5)

imap_setflag_full — Establece banderas en mensajes

Descripción

bool imap_setflag_full ( resource $imap_stream , string $sequence , string $flag [, int $options = NIL ] )

Realiza un almacenaje para añadir la bandera especificada por flag al conjunto de banderas para los mensajes en la secuencia especificada por sequence.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

sequence

Una secuencia de números de mensaje. Puede enumerar los mensajes deseados con la sintaxis X,Y, o recuperar todos los mensajes dentro de un intervalo con la sintaxis X:Y

flag

Las banderas que se pueden establecer son \Seen, \Answered, \Flagged, \Deleted, y \Draft como estaá definido en » RFC2060.

options

Una máscara de bits que puede contener la única opción:

  • ST_UID - El argumento sequence contiene UIDs en lugar de números de secuencia

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imap_setflag_full()

<?php
$mbox = imap_open("{imap.example.org:143}", "username", "password")
     or die("no se puede conectar: " . imap_last_error());

$estado = imap_setflag_full($mbox, "2,5", "\\Seen \\Flagged");

echo gettype($estado) . "\n";
echo $estado . "\n";

imap_close($mbox);
?>

Ver también

  • imap_clearflag_full() - Limpia las banderas de mensajes

imap_setacl
imap_sort
Funciones de IMAP


Obtiene y ordena mensajes

imap_setflag_full
imap_status
Funciones de IMAP
PHP Manual

imap_sort

(PHP 4, PHP 5)

imap_sort — Obtiene y ordena mensajes

Descripción

array imap_sort ( resource $imap_stream , int $criteria , int $reverse [, int $options = 0 [, string $search_criteria = NULL [, string $charset = NIL ]]] )

Obtiene y ordena números de mensajes según los parámetros dados.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

criteria

El criterio puede ser un (y sólo uno) de los siguientes:

  • SORTDATE - Date (fecha) del mensaje
  • SORTARRIVAL - fecha de llegada
  • SORTFROM - buzón en la primera dirección From (De)
  • SORTSUBJECT - asunto del mensaje
  • SORTTO - buzón en la primera dirección To (Para)
  • SORTCC - buzón en la primera dirección cc
  • SORTSIZE - tamaño del mensaje en octetos

reverse

Establezca esto a 1 para ordenación inversa

options

options es una máscara de bits de uno o más de lo siguiente:

  • SE_UID - Devolver UIDs en vez de números de secuencia
  • SE_NOPREFETCH - No preobtener mensajes buscados

search_criteria

charset

Valores devueltos

Devuelve un array de números de mensajes ordenados según los parámetros dados.

Historial de cambios

Versión | Descripción
4.3.3 | Se añadió el parámetro charset

imap_setflag_full
imap_status
Funciones de IMAP


Devuelve la información de estado de un buzón

imap_sort
imap_subscribe
Funciones de IMAP
PHP Manual

imap_status

(PHP 4, PHP 5)

imap_status — Devuelve la información de estado de un buzón

Descripción

object imap_status ( resource $imap_stream , string $mailbox , int $options )

Obtiene la información de estado sobre el buzón dado por mailbox.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

mailbox

El nombre del buzón, véase imap_open() para más información

options

Las banderas válidas son:

  • SA_MESSAGES - establece $estado->messages al número de mensajes del buzón
  • SA_RECENT - establece $estado->recent al número de mensajes recientes del buzón
  • SA_UNSEEN - establece $estado->unseen al número de mensajes no vistos (nuevos) del buzón
  • SA_UIDNEXT - establece $estado->uidnext al siguiente uid a usar del buzón
  • SA_UIDVALIDITY - establece $estado->uidvalidity a la constante que cambia cuando los uids para el buzón ya no pueden ser válidos
  • SA_ALL - establece todo lo anterior

Valores devueltos

Esta función devuelve un objeto que contiene la infomación de estado. El objeto tiene las siguientes propiedades: messages, recent, unseen, uidnext, y uidvalidity.

flags también está establecido, contiene una máscara de bits que puede ser comprobada con cualquiera de las contastes de arriba.

Ejemplos

Ejemplo #1 Ejemplo de imap_status()

<?php
$mbox = imap_open("{imap.example.com}", "username", "password", OP_HALFOPEN)
      or die("no se pudo conectar: " . imap_last_error());

$estado = imap_status($mbox, "{imap.example.org}INBOX", SA_ALL);
if ($estado) {
  echo "Mensajes:    " . $estado->messages    . "<br />\n";
  echo "Recientes:   " . $estado->recent      . "<br />\n";
  echo "No vistos:   " . $estado->unseen      . "<br />\n";
  echo "SiguienteUID:" . $estado->uidnext     . "<br />\n";
  echo "ValidezUID:  " . $estado->uidvalidity . "<br />\n";
} else {
  echo "imap_status failed: " . imap_last_error() . "\n";
}

imap_close($mbox);
?>

imap_sort
imap_subscribe
Funciones de IMAP


Suscribirse a un buzón

imap_status
imap_thread
Funciones de IMAP
PHP Manual

imap_subscribe

(PHP 4, PHP 5)

imap_subscribe — Suscribirse a un buzón

Descripción

bool imap_subscribe ( resource $imap_stream , string $mailbox )

Suscribirse a un buzón nuevo.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

mailbox

El nombre del buzón, véase imap_open() para más información

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • imap_unsubscribe() - Cancelar la inscripción de un buzón

imap_status
imap_thread
Funciones de IMAP


Devuelve un árbol de mensajes hilados

imap_subscribe
imap_timeout
Funciones de IMAP
PHP Manual

imap_thread

(PHP 4 >= 4.0.7, PHP 5)

imap_thread — Devuelve un árbol de mensajes hilados

Descripción

array imap_thread ( resource $imap_stream [, int $options = SE_FREE ] )

Obtiene un árbol de mensajes hilados.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

options

Valores devueltos

imap_thread() devuelve un array asociativo que contiene un árbol de mensajes hilados mediante REFERENCES, o FALSE en caso de error.

Cada mensaje del buzón actual será representado por tres entradas en el array resultante:

  • $thread["XX.num"] - número de mensaje actual

  • $thread["XX.next"]

  • $thread["XX.branch"]

Ejemplos

Ejemplo #1 Ejemplo de imap_thread()

<?php

// Imprimimos los hilos de un grupo de noticias, en HTML

$nntp = imap_open('{news.example.com:119/nntp}some.newsgroup', '', '');
$threads = imap_thread($nntp);

foreach ($threads as $key => $val) {
  $tree = explode('.', $key);
  if ($tree[1] == 'num') {
    $header = imap_headerinfo($nntp, $val);
    echo "<ul>\n\t<li>" . $header->fromaddress . "\n";
  } elseif ($tree[1] == 'branch') {
    echo "\t</li>\n</ul>\n";
  }
}

imap_close($nntp);

?>

imap_subscribe
imap_timeout
Funciones de IMAP


Establece o obtiene el tiempo de espera de imap

imap_thread
imap_uid
Funciones de IMAP
PHP Manual

imap_timeout

(PHP 4 >= 4.3.3, PHP 5)

imap_timeout — Establece o obtiene el tiempo de espera de imap

Descripción

mixed imap_timeout ( int $timeout_type [, int $timeout = -1 ] )

Establece o obtiene el tiempo de espera de imap.

Parámetros

timeout_type

Uno de los siguientes tipos: IMAP_OPENTIMEOUT, IMAP_READTIMEOUT, IMAP_WRITETIMEOUT, o IMAP_CLOSETIMEOUT.

timeout

El tiempo de espera, en segundos.

Valores devueltos

Si se establece el parámetro timeout, esta función devuelve TRUE en caso de éxito y FALSE en caso de error.

Si no se proporciona timeout o se evalúa a -1, se devuelve el valor del tiempo de espera de timeout_type como un valor de tipo entero.

Ejemplos

Ejemplo #1 Ejemplo de imap_timeout()

<?php

echo "El tiempo de espera de lectura actual es " . imap_timeout(IMAP_READTIMEOUT) . "\n";

?>

imap_thread
imap_uid
Funciones de IMAP


Esta función devuelve el UID del número de secuencia del mensaje dado

imap_timeout
imap_undelete
Funciones de IMAP
PHP Manual

imap_uid

(PHP 4, PHP 5)

imap_uid — Esta función devuelve el UID del número de secuencia del mensaje dado

Descripción

int imap_uid ( resource $imap_stream , int $msg_number )

Esta función devuelve el UID del número de secuencia del mensaje dado. Un UID es un identificador único que no cambiará durante el tiempo mientras que un número de secuencia de un mensaje puede cambiar si el contenido del buzón cambia.

Esta función es la inversa de imap_msgno().

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

msg_number

El número de mensaje.

Valores devueltos

EL UID del mensaje dado.

Notas

Nota:

Esta función no está soportada por buzones POP3.

Ver también

  • imap_msgno() - Obtiene el número de secuencia de mensaje para el UID dado

imap_timeout
imap_undelete
Funciones de IMAP


Desmarcar el mensaje que está marcado para borrar

imap_uid
imap_unsubscribe
Funciones de IMAP
PHP Manual

imap_undelete

(PHP 4, PHP 5)

imap_undelete — Desmarcar el mensaje que está marcado para borrar

Descripción

bool imap_undelete ( resource $imap_stream , int $msg_number [, int $flags = 0 ] )

Elimina la bandera de borrado de un mensaje especificado, que está establecida mediante imap_delete() o imap_mail_move().

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

msg_number

EL número de mensaje

flags

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • imap_delete() - Marcar un mensaje para su borrado del buzón actual
  • imap_mail_move() - Mover los mensajes especificados a un buzón

imap_uid
imap_unsubscribe
Funciones de IMAP


Cancelar la inscripción de un buzón

imap_undelete
imap_utf7_decode
Funciones de IMAP
PHP Manual

imap_unsubscribe

(PHP 4, PHP 5)

imap_unsubscribe — Cancelar la inscripción de un buzón

Descripción

bool imap_unsubscribe ( resource $imap_stream , string $mailbox )

Cancela la inscripción del buzón especificado por mailbox.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

mailbox

El nombre del buzón, véase imap_open() para más información

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • imap_subscribe() - Suscribirse a un buzón

imap_undelete
imap_utf7_decode
Funciones de IMAP


Decodifica una cadena codificada con UTF-7 modificado

imap_unsubscribe
imap_utf7_encode
Funciones de IMAP
PHP Manual

imap_utf7_decode

(PHP 4, PHP 5)

imap_utf7_decode — Decodifica una cadena codificada con UTF-7 modificado

Descripción

string imap_utf7_decode ( string $text )

Decodifica el parámetro text UTF-7 modificado en una cadena ISO-8859-1.

Esta función es necesaria para decodificar nombres de buzones que contienen ciertos caracteres que no están en el rango de caracteres imprimibles de ASCII.

Parámetros

text

Una cadena codificada UTF-7 modificado, como está definido en » RFC 2060, sección 5.1.3 (el UTF-7 original fue definido en » RFC1642).

Valores devueltos

Devuelve una cadena que está codificada en ISO-8859-1 y consisite en la misma secuencia de caracteres de text, o FALSE si text contiene una secuencia UTF-7 modificado no válida o text contiene un carácter que no es parte del conjunto de caracteres ISO-8859-1.

Ver también

  • imap_utf7_encode() - Convierte una cadena ISO-8859-1 a un texto UTF-7 modifiicado

imap_unsubscribe
imap_utf7_encode
Funciones de IMAP


Convierte una cadena ISO-8859-1 a un texto UTF-7 modifiicado

imap_utf7_decode
imap_utf8
Funciones de IMAP
PHP Manual

imap_utf7_encode

(PHP 4, PHP 5)

imap_utf7_encode — Convierte una cadena ISO-8859-1 a un texto UTF-7 modifiicado

Descripción

string imap_utf7_encode ( string $data )

Convierte data a texto UTF-7 modificado.

Esto es necesario para codificar nombres de buzones que contienen ciertos caracteres que no están en el conjunto de caracters imprimibles de ASCII.

Parámetros

data

Una cadena ISO-8859-1.

Valores devueltos

Devuelve data codificado con la codificación UTF-7 modificada como está definido en » RFC 2060, sección 5.1.3 (el UTF-7 original fue definido en » RFC1642).

Ver también

  • imap_utf7_decode() - Decodifica una cadena codificada con UTF-7 modificado

imap_utf7_decode
imap_utf8
Funciones de IMAP


Convierte texto codificado MIME en UTF-8

imap_utf7_encode
Mail
Funciones de IMAP
PHP Manual

imap_utf8

(PHP 4, PHP 5)

imap_utf8 — Convierte texto codificado MIME en UTF-8

Descripción

string imap_utf8 ( string $mime_encoded_text )

Convierte el parámetro dado por mime_encoded_text en UTF-8.

Parámetros

mime_encoded_text

Una cadena codificada MIME. El método de codificación MIME y la especificación UTF-8 están descritas en » RFC2047 y » RFC2044 respectivamente.

Valores devueltos

Devuelve una cadena codificada en UTF-8.

Ver también

  • imap_mime_header_decode() - Decodificar los elementos de la cabecera MIME

imap_utf7_encode
Mail
Funciones de IMAP


Mail

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de mail
    • ezmlm_hash — Calcula el valor hash que necesita EZMLM
    • mail — Enviar correo
imap_utf8
Introducción
Extensiones relacionadas con Email


Introducción

La función mail() permite enviar correos.

Mail
Instalación/Configuración
Mail


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Mail


Requerimientos

Para que las funciones de Mail estén disponibles, PHP debe tener acceso al binario de sendmail en el sistema durante el momento de compilación. Si se usa otro sistema de correo como qmail o postfix, es necesario que el wrapper apropiado venga con él. PHP buscará primero sendmail en PATH y entonces en: /usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib. Es altamente recomendable que sendmail se encuentre en PATH. Además, el usuario con el que está compilado PHP debe tener permiso para acceder al binario de sendmail.

Instalación/Configuración
Instalación
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de Mail
Nombre | Por defecto | Cambiable | Historial de cambios
mail.add_x_header | "0" | PHP_INI_PERDIR | Disponible a partir de PHP 5.3.0.
mail.log | NULL | PHP_INI_PERDIR | Disponible a partir de PHP 5.3.0. (PHP_INI_SYSTEM|PHP_INI_PERDIR)
SMTP | "localhost" | PHP_INI_ALL |
smtp_port | "25" | PHP_INI_ALL | Disponible a partir de PHP 4.3.0.
sendmail_from | NULL | PHP_INI_ALL |
sendmail_path | "/usr/sbin/sendmail -t -i" | PHP_INI_SYSTEM |
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

mail.add_x_header bool

Añade X-PHP-Originating-Script que incluirá el UID del script seguido por el nombre del fichero.

mail.log string

La ruta al archivo log que registrará todos los llamados a la función mail(). Las entradas de registro incluyen la ruta completa al script, número de línea, dirección To y cabeceras.

SMTP string

Únicamente bajo Windows: nombre del servidor o dirección IP del servidor SMTP que debe usar PHP para enviar los correos con la función mail().

smtp_port int

Únicamente bajo Windows: número del puerto al que conectar en el servidor especificado en las opciones SMTP cuando se envíe un correo con mail(); por defecto 25. Disponible desde PHP 4.3.0.

sendmail_from string

Cual dirección de correo "From:" debe ser usada como remitente del correo enviado por PHP bajo Windows. Esta directiva también establece el valor de la cabecera "Return-Path:".

sendmail_path string

Ruta donde puede encontrarse el programa sendmail, generalmente /usr/sbin/sendmail o /usr/lib/sendmail. configure intenta localizarlo para establecerlo por defecto, pero si falla, se usa esta variable.

Los sistemas que no usen sendmail deberían establecer esta directiva al wrapper o sistema alternativo que ofrezca el sistema de correo, si tiene. Por ejemplo, usuarios de » Qmail pueden fijar como valor /var/qmail/bin/sendmail o /var/qmail/bin/qmail-inject.

qmail-inject no requiere ninguna opción para procesar correo correctamente.

Esta directiva funciona también bajo Windows. Si se le da un valor, smtp, smtp_port y sendmail_from son ignorados y se ejecuta el comando especificado.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Funciones de mail
Mail


Funciones de mail

Tabla de contenidos

  • ezmlm_hash — Calcula el valor hash que necesita EZMLM
  • mail — Enviar correo
Constantes predefinidas
ezmlm_hash
Mail


Calcula el valor hash que necesita EZMLM

Funciones de mail
mail
Funciones de mail
PHP Manual

ezmlm_hash

(PHP 4 >= 4.0.2, PHP 5)

ezmlm_hash — Calcula el valor hash que necesita EZMLM

Descripción

int ezmlm_hash ( string $addr )

ezmlm_hash() calcula el valor hash necesario cuando se guardan listas de correo EZMLM en una base de datos MySQL.

Parámetros

addr

La dirección de correo de la que se quiere crear el hash.

Valores devueltos

El valor hash de addr.

Ejemplos

Ejemplo #1 Calcular el hash de un usuario suscriptor.

<?php

$usuario = "joecool@example.com";
$hash = ezmlm_hash($usuario);
$query = sprintf("INSERT INTO sample VALUES (%s, '%s')", $hash, $usuario);
$db->query($query); // usando interface PHPLIB db

?>

Funciones de mail
mail
Funciones de mail


Enviar correo

ezmlm_hash
Mailparse
Funciones de mail
PHP Manual

mail

(PHP 4, PHP 5)

mail — Enviar correo

Descripción

bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )

Envía un email.

Parámetros

to

Receptor o receptores del correo.

Es formato de este string debe cumplir con la » RFC 2822. Algunos ejemplos son:

  • usuario@example.com
  • usuario@example.com, otrousuario@example.com
  • Usuario <usuario@example.com>
  • Usuario <usuario@example.com>, Otro usuario <otrousuario@example.com>

subject

Título del email a enviar.

Precaución

El título debe satisfacer la » RFC 2047.

message

Mensaje a enviar.

Cada línea debería ser separada por un CRLF (\r\n). Las líneas no deberían ocupar más de 70 caracteres.

Precaución

(Sólo en Windows) Cuando PHP se comunica directamente con un servidor SMTP, si se encuentra un punto al principio de la línea, este punto se elimina. Para evitar esto, es necesario reemplazar estos casos con un doble punto.

<?php
$texto = str_replace("\n.", "\n..", $texto);
?>

additional_headers (opcional)

String a insertar al final de la cabecera del email.

Se usa típicamente para añadir cabeceras extra (From, Cc y Bcc). Las cabeceras múltiples adicionales deberían separarse con un CRLF(\r\n).

Nota:

Cuando se envía un correo, este debe contener una cabecera From. Puede establecerse con el parámetro additional_headers, o puede definirse un valor predeterminaro en php.ini.

Si no se realiza esta acción se obtendrá un mensaje de error similar a Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing. La cabecera From también establece Return-Path bajo Windows.

Nota:

Si no se reciben los mensajes enviados, intente el uso de sólo LF (\n). Algunos agentes de transferencia de correo de Unix (como » qmail) reemplzan LF por CRLF automáticamente (lo que conlleva doblar CR si se usa CRLF). Esto debería ser el último recurso, pues no cumple con la » RFC 2822.

additional_parameters (opcional)

El parámetro additional_parameters puede usarse para indicar opciones adicionales como opciones de línea de comandos al programa configurado para ser usado cuando se envía correo, definido por la opción de configuración sendmail_path. Por ejemplo, puede usarse para establecer la dirección de correo de remitente usado por sendmail con la opción -f.

El usuario usado por el servidor web debe ser añadido como usuario de confianza en la configuración de sendmail para evitar que se añada la cabecera 'X-Warning' al mensaje cuando se añade la dirección de remitente (-f) usando este método. Para los usuarios de sendmail, este fichero es /etc/mail/trusted-users.

Valores devueltos

Retorna TRUE si el correo ha sido aceptado con éxito para su envío, o, de lo contrario FALSE.

Es importante tener en cuenta que si el correo es aceptado para reparto, NO quiere decir que el correo haya alcanzado el destino indicado.

Historial de cambios

Versión | Descripción
4.3.0 (sólo Windows) | Se aceptan todas las cabeceras personalizadas (como From, Cc, Bcc y Date) y no distinguen entre mayúsculas y minúsculas. (Como las cabeceras personaliazadas no son interpretadas por el MTA en primer lugar pero son analizadas por PHP, PHP < 4.3 sólo soportaba el elemento de cabecera Cc y distinguía entre mayúsculas y minúsculas).
4.2.3 | El parámetro additional_parameters es deshabilitado en safe_mode y la función mail() mostrará un mensaje de aviso, retornando FALSE cuando se usa.
4.0.5 | Se añade el parámetro additional_parameters.

Ejemplos

Ejemplo #1 Enviar correo

Usando mail() para enviar un correo simple:

<?php
// El mensaje
$mensaje = "Línea 1\r\nLínea 2\r\nLínea 3";

// Si cualquier línea es más larga de 70 caracteres, se debería usar wordwrap()
$mensaje = wordwrap($mensaje, 70, "\r\n");

// Send
mail('caffeinated@example.com', 'Mi título', $mensaje);
?>

Ejemplo #2 Enviar un correo con cabeceras extra.

Adición de cabeceras básicas, diciendo al MUA las direcciones From y Reply-To:

<?php
$para      = 'nobody@example.com';
$titulo = 'El título';
$mensaje = 'Hola';
$cabeceras = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($para, $titulo, $mensaje, $cabeceras);
?>

Ejemplo #3 Enviar un correo con parámetros de línea de comando adicionales.

El parámetro additional_parameters puede ser usado para indicar parámetros adicicionales al programa configurado para usar en el envío de correo configurado en sendmail_path.

<?php
mail('nadie@example.com', 'El título', 'El mensaje', null,
'-fwebmaster@example.com');
?>

Ejemplo #4 Envío de un correo HTML

Es posible también enviar correos HTML con mail().

<?php
// Varios destinatarios
$para  = 'aidan@example.com' . ', '; // atención a la coma
$para .= 'wez@example.com';

// subject
$titulo = 'Recordatorio de cumpleaños para Agosto';

// message
$mensaje = '
<html>
<head>
  <title>Recordatorio de cumpleaños para Agosto</title>
</head>
<body>
  <p>¡Estos son los cumpleaños para Agosto!</p>
  <table>
    <tr>
      <th>Quien</th><th>Día</th><th>Mes</th><th>Año</th>
    </tr>
    <tr>
      <td>Joe</td><td>3</td><td>Agosto</td><td>1970</td>
    </tr>
    <tr>
      <td>Sally</td><td>17</td><td>Agosto</td><td>1973</td>
    </tr>
  </table>
</body>
</html>
';

// Para enviar un correo HTML mail, la cabecera Content-type debe fijarse
$cabeceras  = 'MIME-Version: 1.0' . "\r\n";
$cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Cabeceras adicionales
$cabeceras .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
$cabeceras .= 'From: Recordatorio <cumples@example.com>' . "\r\n";
$cabeceras .= 'Cc: birthdayarchive@example.com' . "\r\n";
$cabeceras .= 'Bcc: birthdaycheck@example.com' . "\r\n";

// Mail it
mail($para, $titulo, $mensaje, $cabeceras);
?>

Nota:

Si la intención es enviar HTML u otro tipo de correos complejos, es recomendable usar el paquete PEAR » PEAR::Mail_Mime.

Notas

Nota:

La implementación Windows de mail() difiere en muchas formas de la implementación Unix. Primero, no usa un ejecutable local para componer mensajes ya que sólo opera en sockets directos, lo que significa que se necesita un MTA escuchando en un un socket de red (que puede estar tanto en localhost como en una máquina remota).

Segundo, las cabeceras personalizadas como From:, Cc:, Bcc: y Date: no son interpretadas por el MTA en primer lugar, pero son analizadas por PHP.

Por esto, el parámetro to no debería ser una dirección de correo de la forma "Algo <alguien@example.com>". Es posible que el comando mail no analice esto correctamente cuando dialoga con el MTA.

Nota:

Es importante indicar que la función mail() no es conveniente para grandes volúmenes de correo en bucle. Esta función abre y cierra un socket SMTP para cada correo, algo que no es muy eficiente.

Para enviar una gran cantidad de correo, ver los paquetes » PEAR::Mail y » PEAR::Mail_Queue.

Nota:

Las siguientes RFCs pueden ser de utilidad: » RFC 1896, » RFC 2045, » RFC 2046, » RFC 2047, » RFC 2048, » RFC 2049, y » RFC 2822.

Ver también

  • imap_mail() - Enviar un mensaje de correo electrónico
  • » PEAR::Mail
  • » PEAR::Mail_Mime

ezmlm_hash
Mailparse
Funciones de mail


Mailparse

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones Mailparse
    • mailparse_determine_best_xfer_encoding — Obtiene la mejor forma de codificar
    • mailparse_msg_create — Crea un recurso de correo mime
    • mailparse_msg_extract_part_file — Extrae/decodifica una sección de mensaje
    • mailparse_msg_extract_part — Extrae/decodifica una sección de mensaje
    • mailparse_msg_extract_whole_part_file — Extrae una sección del mensaje incluyendo cabeceras sin descodificar la transferencia codificada
    • mailparse_msg_free — Libera un recurso MIME
    • mailparse_msg_get_part_data — Devuelve una matriz asociativa de información sobre el mensaje
    • mailparse_msg_get_part — Devuelve un gestor sobre una sección dada en un mensaje mime
    • mailparse_msg_get_structure — Devuelve una matriz de nombres de sección mime en el mensaje dado
    • mailparse_msg_parse_file — Procesa un archivo
    • mailparse_msg_parse — Procesar datos incrementalmente sobre un búfer
    • mailparse_rfc822_parse_addresses — Procesa direcciones compatibles con RFC 822
    • mailparse_stream_encode — Secuencia datos desde un apuntador de archivo, codifica y escribe a fp_destino
    • mailparse_uudecode_all — Procesa los datos desde un apuntador a archivo y extrae cada archivo embebido con codificación uu
mail
Introducción
Extensiones relacionadas con Email


Introducción

Mailparse es una extensión para analizar y trabajar con los mensajes de correo electrónico. Esto puede tratarse con los mensajes compatibles » RFC 822 y » RFC 2045 (MIME).

Mailparse está basado en flujo, lo que significa que no guarda en memoria las copias de los archivos que procesa - lo que es muy eficiente para recursos cuando se trata de mensajes de gran tamaño.

Nota:

Mailparse requiere la extensión mbstring, y mbstring debe cargarse antes mailparse.

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 4.2.0.

Mailparse
Instalación/Configuración
Mailparse


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Mailparse


Instalación

Esta extensión » PECL no se distribuye con PHP. Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/mailparse.

Para poder utilizar estas funciones se debe compilar PHP con soporte mailparse mediante la opción de configuración --enable-mailparse .

Los usuarios de windows deben habilitar php_mailparse.dll en el interior del php.ini con el fin de usar estas funciones. Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración Mailparse
Nombre | Por defecto | Cambiable | Historial de cambios
mailparse.def_charset | "us-ascii" | PHP_INI_ALL | Disponible desde PHP 4.1.0. Retirado en PHP 4.2.0.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

MAILPARSE_EXTRACT_OUTPUT (integer)
MAILPARSE_EXTRACT_STREAM (integer)
MAILPARSE_EXTRACT_RETURN (integer)
Tipos de recursos
Funciones Mailparse
Mailparse


Funciones Mailparse

Tabla de contenidos

  • mailparse_determine_best_xfer_encoding — Obtiene la mejor forma de codificar
  • mailparse_msg_create — Crea un recurso de correo mime
  • mailparse_msg_extract_part_file — Extrae/decodifica una sección de mensaje
  • mailparse_msg_extract_part — Extrae/decodifica una sección de mensaje
  • mailparse_msg_extract_whole_part_file — Extrae una sección del mensaje incluyendo cabeceras sin descodificar la transferencia codificada
  • mailparse_msg_free — Libera un recurso MIME
  • mailparse_msg_get_part_data — Devuelve una matriz asociativa de información sobre el mensaje
  • mailparse_msg_get_part — Devuelve un gestor sobre una sección dada en un mensaje mime
  • mailparse_msg_get_structure — Devuelve una matriz de nombres de sección mime en el mensaje dado
  • mailparse_msg_parse_file — Procesa un archivo
  • mailparse_msg_parse — Procesar datos incrementalmente sobre un búfer
  • mailparse_rfc822_parse_addresses — Procesa direcciones compatibles con RFC 822
  • mailparse_stream_encode — Secuencia datos desde un apuntador de archivo, codifica y escribe a fp_destino
  • mailparse_uudecode_all — Procesa los datos desde un apuntador a archivo y extrae cada archivo embebido con codificación uu
Constantes predefinidas
mailparse_determine_best_xfer_encoding
Mailparse


Obtiene la mejor forma de codificar

Funciones Mailparse
mailparse_msg_create
Funciones Mailparse
PHP Manual

mailparse_determine_best_xfer_encoding

(PECL mailparse >= 0.9.0)

mailparse_determine_best_xfer_encoding — Obtiene la mejor forma de codificar

Descripción

string mailparse_determine_best_xfer_encoding ( resource $fp )

Encuentra la mejor forma de codificar el contenido leído del apuntador de archivo dado.

Parámetros

fp

Un apuntador de archivo válido, que reciba operaciones de búsqueda.

Valores devueltos

Devuelve una de las codificaciones de caracteres soportadas por el módulo mbstring.

Ejemplos

Ejemplo #1 Ejemplo de mailparse_determine_best_xfer_encoding()

<?php

$aa = fopen('alguncorreo.eml', 'r');
echo 'Mejor codificación: ' . mailparse_determine_best_xfer_encoding($aa);

?>

El resultado del ejemplo sería algo similar a:

Mejor codificación: 7bit

Funciones Mailparse
mailparse_msg_create
Funciones Mailparse


Crea un recurso de correo mime

mailparse_determine_best_xfer_encoding
mailparse_msg_extract_part_file
Funciones Mailparse
PHP Manual

mailparse_msg_create

(PECL mailparse >= 0.9.0)

mailparse_msg_create — Crea un recurso de correo mime

Descripción

resource mailparse_msg_create ( void )

Crea un recurso tipo correo MIME.

Valores devueltos

Devuelve un recurso que puede ser usado para interpretar un mensaje.

Ver también

  • mailparse_msg_free() - Libera un recurso MIME
  • mailparse_msg_parse_file() - Procesa un archivo

mailparse_determine_best_xfer_encoding
mailparse_msg_extract_part_file
Funciones Mailparse


Extrae/decodifica una sección de mensaje

mailparse_msg_create
mailparse_msg_extract_part
Funciones Mailparse
PHP Manual

mailparse_msg_extract_part_file

(PECL mailparse >= 0.9.0)

mailparse_msg_extract_part_file — Extrae/decodifica una sección de mensaje

Descripción

string mailparse_msg_extract_part_file ( resource $mimemail , mixed $filename [, callable $callbackfunc ] )

Extrae/decodifica una sección de mensaje del archivo indicado.

Los contenidos de la sección serán decodificados de acuerdo a su codificación de transferencia - se soportan base64, imprimible-con-comillas y texto uuencode.

Parámetros

mimemail

Un recurso MIME válido, creado con mailparse_msg_create().

filename

Puede ser un nombre de archivo o un recurso de secuencia válido.

callbackfunc

Si se define, este parámetro debe ser una llamada de retorno válida, a la cual le será pasada la sección extraída, o NULL para asegurarse de que esta función devuelva la sección extraída.

Si no se especifica, los contenidos serán enviados a "stdout".

Valores devueltos

Si callbackfunc es diferente de NULL devuelve TRUE en caso de éxito.

Si callbackfunc es NULL, devuelve la sección extraída como una cadena.

Devuelve FALSE en caso de fallo.

Ver también

  • mailparse_msg_extract_part() - Extrae/decodifica una sección de mensaje
  • mailparse_msg_extract_whole_part_file() - Extrae una sección del mensaje incluyendo cabeceras sin descodificar la transferencia codificada

mailparse_msg_create
mailparse_msg_extract_part
Funciones Mailparse


Extrae/decodifica una sección de mensaje

mailparse_msg_extract_part_file
mailparse_msg_extract_whole_part_file
Funciones Mailparse
PHP Manual

mailparse_msg_extract_part

(PECL mailparse >= 0.9.0)

mailparse_msg_extract_part — Extrae/decodifica una sección de mensaje

Descripción

void mailparse_msg_extract_part ( resource $mimemail , string $msgbody [, callable $callbackfunc ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

mimemail

Un recurso MIME válido.

msgbody

callbackfunc

Valores devueltos

No devuelve ningún valor.

Ver también

  • mailparse_msg_extract_part_file() - Extrae/decodifica una sección de mensaje
  • mailparse_msg_extract_whole_part_file() - Extrae una sección del mensaje incluyendo cabeceras sin descodificar la transferencia codificada

mailparse_msg_extract_part_file
mailparse_msg_extract_whole_part_file
Funciones Mailparse


Extrae una sección del mensaje incluyendo cabeceras sin descodificar la transferencia codificada

mailparse_msg_extract_part
mailparse_msg_free
Funciones Mailparse
PHP Manual

mailparse_msg_extract_whole_part_file

(PECL mailparse >= 0.9.0)

mailparse_msg_extract_whole_part_file — Extrae una sección del mensaje incluyendo cabeceras sin descodificar la transferencia codificada

Descripción

string mailparse_msg_extract_whole_part_file ( resource $mimemail , string $filename [, callable $callbackfunc ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

mimemail

Un recurso MIME válido.

filename

callbackfunc

Valores devueltos

Ver también

  • mailparse_msg_extract_part() - Extrae/decodifica una sección de mensaje
  • mailparse_msg_extract_part_file() - Extrae/decodifica una sección de mensaje

mailparse_msg_extract_part
mailparse_msg_free
Funciones Mailparse


Libera un recurso MIME

mailparse_msg_extract_whole_part_file
mailparse_msg_get_part_data
Funciones Mailparse
PHP Manual

mailparse_msg_free

(PECL mailparse >= 0.9.0)

mailparse_msg_free — Libera un recurso MIME

Descripción

bool mailparse_msg_free ( resource $mimemail )

Libera un recurso MIME.

Parámetros

mimemail

Un recurso MIME válido reservado por mailparse_msg_create() o mailparse_msg_parse_file().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • mailparse_msg_create() - Crea un recurso de correo mime
  • mailparse_msg_parse_file() - Procesa un archivo

mailparse_msg_extract_whole_part_file
mailparse_msg_get_part_data
Funciones Mailparse


Devuelve una matriz asociativa de información sobre el mensaje

mailparse_msg_free
mailparse_msg_get_part
Funciones Mailparse
PHP Manual

mailparse_msg_get_part_data

(PECL mailparse >= 0.9.0)

mailparse_msg_get_part_data — Devuelve una matriz asociativa de información sobre el mensaje

Descripción

array mailparse_msg_get_part_data ( resource $mimemail )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

mimemail

Un recurso MIME válido.

mailparse_msg_free
mailparse_msg_get_part
Funciones Mailparse


Devuelve un gestor sobre una sección dada en un mensaje mime

mailparse_msg_get_part_data
mailparse_msg_get_structure
Funciones Mailparse
PHP Manual

mailparse_msg_get_part

(PECL mailparse >= 0.9.0)

mailparse_msg_get_part — Devuelve un gestor sobre una sección dada en un mensaje mime

Descripción

resource mailparse_msg_get_part ( resource $mimemail , string $mimesection )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

mimemail

Un recurso MIME válido.

mimesection

mailparse_msg_get_part_data
mailparse_msg_get_structure
Funciones Mailparse


Devuelve una matriz de nombres de sección mime en el mensaje dado

mailparse_msg_get_part
mailparse_msg_parse_file
Funciones Mailparse
PHP Manual

mailparse_msg_get_structure

(PECL mailparse >= 0.9.0)

mailparse_msg_get_structure — Devuelve una matriz de nombres de sección mime en el mensaje dado

Descripción

array mailparse_msg_get_structure ( resource $mimemail )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

mimemail

Un recurso MIME válido.

mailparse_msg_get_part
mailparse_msg_parse_file
Funciones Mailparse


Procesa un archivo

mailparse_msg_get_structure
mailparse_msg_parse
Funciones Mailparse
PHP Manual

mailparse_msg_parse_file

(PECL mailparse >= 0.9.0)

mailparse_msg_parse_file — Procesa un archivo

Descripción

resource mailparse_msg_parse_file ( string $filename )

Procesa un archivo. Este es el modo óptimo de interpretar un archivo que tenga en disco.

Parámetros

filename

Ruta al archivo que contiene el mensaje. El archivo es abierto y secuenciado a través del analizador sintáctico.

Valores devueltos

Devuelve un recurso MIME que representa la estructura, o FALSE en caso de error.

Ver también

  • mailparse_msg_free() - Libera un recurso MIME
  • mailparse_msg_create() - Crea un recurso de correo mime

mailparse_msg_get_structure
mailparse_msg_parse
Funciones Mailparse


Procesar datos incrementalmente sobre un búfer

mailparse_msg_parse_file
mailparse_rfc822_parse_addresses
Funciones Mailparse
PHP Manual

mailparse_msg_parse

(PECL mailparse >= 0.9.0)

mailparse_msg_parse — Procesar datos incrementalmente sobre un búfer

Descripción

bool mailparse_msg_parse ( resource $mimemail , string $data )

Procesa datos incrementalmente al interior del recurso de correo mime entregado.

Esta función le permite secuenciar porciones de un archivo en pedazos, en lugar de leer y procesarlo en su totalidad.

Parámetros

mimemail

Un recurso MIME válido.

data

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

mailparse_msg_parse_file
mailparse_rfc822_parse_addresses
Funciones Mailparse


Procesa direcciones compatibles con RFC 822

mailparse_msg_parse
mailparse_stream_encode
Funciones Mailparse
PHP Manual

mailparse_rfc822_parse_addresses

(PECL mailparse >= 0.9.0)

mailparse_rfc822_parse_addresses — Procesa direcciones compatibles con RFC 822

Descripción

array mailparse_rfc822_parse_addresses ( string $addresses )

Procesa una lista de recipientes compatible con » RFC 822, tal como la que es encontrada en una cabecera To:.

Parámetros

addresses

Una cadena que contiene direcciones, como: Wez Furlong <wez@example.com>, pepe@example.com

Nota:

Esta cadena no debe contener el nombre de la cabecera.

Valores devueltos

Devuelve una matriz de matrices asociativas con las siguientes claves para cada recipiente:

display | El nombre del recipiente, para propósitos de muestra. Si esta parte no es definida para un recipiente, esta clave contendrá el mismo valor que address.
address | La dirección de correo electrónico
is_group | TRUE si el recipiente es un grupo de noticias, FALSE de lo contrario.

Ejemplos

Ejemplo #1 Ejemplo de mailparse_rfc822_parse_addresses()

<?php

$to = 'Wez Furlong <wez@example.com>, pepe@example.com';
var_dump(mailparse_rfc822_parse_addresses($to));

?>

El resultado del ejemplo sería:

array(2) {
  [0]=>
  array(3) {
    ["display"]=>
    string(11) "Wez Furlong"
    ["address"]=>
    string(15) "wez@example.com"
    ["is_group"]=>
    bool(false)
  }
  [1]=>
  array(3) {
    ["display"]=>
    string(16) "pepe@example.com"
    ["address"]=>
    string(16) "pepe@example.com"
    ["is_group"]=>
    bool(false)
  }
}

mailparse_msg_parse
mailparse_stream_encode
Funciones Mailparse


Secuencia datos desde un apuntador de archivo, codifica y escribe a fp_destino

mailparse_rfc822_parse_addresses
mailparse_uudecode_all
Funciones Mailparse
PHP Manual

mailparse_stream_encode

(PECL mailparse >= 0.9.0)

mailparse_stream_encode — Secuencia datos desde un apuntador de archivo, codifica y escribe a fp_destino

Descripción

bool mailparse_stream_encode ( resource $sourcefp , resource $destfp , string $encoding )

Secuencia datos del apuntador de archivo fuente, aplica la codificacion y escribe al apuntador de archivo de destino.

Parámetros

sourcefp

Un gestor de archivo válido. El archivo es secuenciado a través del procesador.

destfp

El gestor de archivo de destino, en el cual los datos codificados serán escritos.

encoding

Una de las codificaciones de caracteres soportadas por el módulo mbstring.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de mailparse_stream_encode()

<?php

// Contenido de email.eml: hola, este es un trozo de texto=hola.
$aa = fopen('email.eml', 'r');

$dest = tmpfile();

mailparse_stream_encode($aa, $dest, "quoted-printable");

rewind($dest);

// Mostrar el contenido del nuevo archivo
fpassthru($dest);

?>

El resultado del ejemplo sería:

hola, este es un trozo de texto=3Dhola.

mailparse_rfc822_parse_addresses
mailparse_uudecode_all
Funciones Mailparse


Procesa los datos desde un apuntador a archivo y extrae cada archivo embebido con codificación uu

mailparse_stream_encode
vpopmail
Funciones Mailparse
PHP Manual

mailparse_uudecode_all

(PECL mailparse >= 0.9.0)

mailparse_uudecode_all — Procesa los datos desde un apuntador a archivo y extrae cada archivo embebido con codificación uu

Descripción

array mailparse_uudecode_all ( resource $fp )

Lee los datos del apuntador de archivo dado y extrae cada archivo codificado mediante uuencode embebido en un archivo temporal.

Parámetros

fp

Un apuntador de archivo válido.

Valores devueltos

Devuelve una matriz de matrices asociativas, listando la información de cada archivo.

filename | Ruta al nombre de archivo temporal creado
origfilename | El nombre de archivo original, solo para partes codificadas mediante uuencode
La primera entrada es el cuerpo del mensaje. Las siguientes son los archivos uuencode decodificados.

Ejemplos

Ejemplo #1 Ejemplo de mailparse_uudecode_all()

<?php

$texto = <<<EOD
To: fred@example.com

hello, this is some text hello.
blah blah blah.

begin 644 test.txt
/=&AI<R!I<R!A('1E<W0*
`
end

EOD;

$aa = tmpfile();
fwrite($aa, $texto);

$datos = mailparse_uudecode_all($aa);

echo "BODY\n";
readfile($datos[0]["filename"]);
echo "UUE ({$datos[1]['origfilename']})\n";
readfile($datos[1]["filename"]);

// Limpiar
unlink($datos[0]["filename"]);
unlink($datos[1]["filename"]);

?>

El resultado del ejemplo sería:

BODY
To: fred@example.com

hello, this is some text hello.
blah blah blah.

UUE (test.txt)
this is a test

mailparse_stream_encode
vpopmail
Funciones Mailparse


vpopmail

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de vpopmail
    • vpopmail_add_alias_domain_ex — Agrega un alias a un dominio virtual existente
    • vpopmail_add_alias_domain — Agrega un alias a un dominio virtual
    • vpopmail_add_domain_ex — Agega un nuevo dominio virtual
    • vpopmail_add_domain — Agrega un nuevo dominio virtual
    • vpopmail_add_user — Agrega un nuevo usuario al dominio virtual indicado
    • vpopmail_alias_add — Inserta un alias virtual
    • vpopmail_alias_del_domain — Borra todos los alias virtuales de un dominio
    • vpopmail_alias_del — Borra todos los alias virtuales de un usuario
    • vpopmail_alias_get_all — Obtiene todas las líneas de un alias de un dominio dado
    • vpopmail_alias_get — Obtiene todas las líneas de un alias de un dominio dado
    • vpopmail_auth_user — Intenta validar un usuario/dominio/contraseña
    • vpopmail_del_domain_ex — Borra un dominio virtual
    • vpopmail_del_domain — Borra un dominio virtual
    • vpopmail_del_user — Borra un usuario de un dominio virtual
    • vpopmail_error — Obtiene en texto el último mensaje de error de vpopmail
    • vpopmail_passwd — Cambia la contraseña de un usuario virtual
    • vpopmail_set_user_quota — Establece la cuota a un usuario virtual
mailparse_uudecode_all
Introducción
Extensiones relacionadas con Email


Introducción

Advertencia

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombres de sus funciones y todo lo documentado sobre esta extensión, puede cambiar en una futura edición de PHP sin previo aviso. El uso de esta extensión queda bajo su propia responsabilidad.

Esta extensión ha sido movida de PHP desde la versión 4.3.0 y ahora vpopmail reside en » PECL.

vpopmail
Instalación/Configuración
vpopmail


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
vpopmail


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/vpopmail.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Funciones de vpopmail
vpopmail


Funciones de vpopmail

Tabla de contenidos

  • vpopmail_add_alias_domain_ex — Agrega un alias a un dominio virtual existente
  • vpopmail_add_alias_domain — Agrega un alias a un dominio virtual
  • vpopmail_add_domain_ex — Agega un nuevo dominio virtual
  • vpopmail_add_domain — Agrega un nuevo dominio virtual
  • vpopmail_add_user — Agrega un nuevo usuario al dominio virtual indicado
  • vpopmail_alias_add — Inserta un alias virtual
  • vpopmail_alias_del_domain — Borra todos los alias virtuales de un dominio
  • vpopmail_alias_del — Borra todos los alias virtuales de un usuario
  • vpopmail_alias_get_all — Obtiene todas las líneas de un alias de un dominio dado
  • vpopmail_alias_get — Obtiene todas las líneas de un alias de un dominio dado
  • vpopmail_auth_user — Intenta validar un usuario/dominio/contraseña
  • vpopmail_del_domain_ex — Borra un dominio virtual
  • vpopmail_del_domain — Borra un dominio virtual
  • vpopmail_del_user — Borra un usuario de un dominio virtual
  • vpopmail_error — Obtiene en texto el último mensaje de error de vpopmail
  • vpopmail_passwd — Cambia la contraseña de un usuario virtual
  • vpopmail_set_user_quota — Establece la cuota a un usuario virtual
Constantes predefinidas
vpopmail_add_alias_domain_ex
vpopmail


Agrega un alias a un dominio virtual existente

Funciones de vpopmail
vpopmail_add_alias_domain
Funciones de vpopmail
PHP Manual

vpopmail_add_alias_domain_ex

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_add_alias_domain_ex — Agrega un alias a un dominio virtual existente

Descripción

bool vpopmail_add_alias_domain_ex ( string $olddomain , string $newdomain )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Funciones de vpopmail
vpopmail_add_alias_domain
Funciones de vpopmail


Agrega un alias a un dominio virtual

vpopmail_add_alias_domain_ex
vpopmail_add_domain_ex
Funciones de vpopmail
PHP Manual

vpopmail_add_alias_domain

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_add_alias_domain — Agrega un alias a un dominio virtual

Descripción

bool vpopmail_add_alias_domain ( string $domain , string $aliasdomain )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

vpopmail_add_alias_domain_ex
vpopmail_add_domain_ex
Funciones de vpopmail


Agega un nuevo dominio virtual

vpopmail_add_alias_domain
vpopmail_add_domain
Funciones de vpopmail
PHP Manual

vpopmail_add_domain_ex

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_add_domain_ex — Agega un nuevo dominio virtual

Descripción

bool vpopmail_add_domain_ex ( string $domain , string $passwd [, string $quota [, string $bounce [, bool $apop ]]] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

vpopmail_add_alias_domain
vpopmail_add_domain
Funciones de vpopmail


Agrega un nuevo dominio virtual

vpopmail_add_domain_ex
vpopmail_add_user
Funciones de vpopmail
PHP Manual

vpopmail_add_domain

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_add_domain — Agrega un nuevo dominio virtual

Descripción

bool vpopmail_add_domain ( string $domain , string $dir , int $uid , int $gid )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

vpopmail_add_domain_ex
vpopmail_add_user
Funciones de vpopmail


Agrega un nuevo usuario al dominio virtual indicado

vpopmail_add_domain
vpopmail_alias_add
Funciones de vpopmail
PHP Manual

vpopmail_add_user

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_add_user — Agrega un nuevo usuario al dominio virtual indicado

Descripción

bool vpopmail_add_user ( string $user , string $domain , string $password [, string $gecos [, bool $apop ]] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

vpopmail_add_domain
vpopmail_alias_add
Funciones de vpopmail


Inserta un alias virtual

vpopmail_add_user
vpopmail_alias_del_domain
Funciones de vpopmail
PHP Manual

vpopmail_alias_add

(PHP 4 >= 4.0.7, PECL vpopmail >= 0.2)

vpopmail_alias_add — Inserta un alias virtual

Descripción

bool vpopmail_alias_add ( string $user , string $domain , string $alias )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

vpopmail_add_user
vpopmail_alias_del_domain
Funciones de vpopmail


Borra todos los alias virtuales de un dominio

vpopmail_alias_add
vpopmail_alias_del
Funciones de vpopmail
PHP Manual

vpopmail_alias_del_domain

(PHP 4 >= 4.0.7, PECL vpopmail >= 0.2)

vpopmail_alias_del_domain — Borra todos los alias virtuales de un dominio

Descripción

bool vpopmail_alias_del_domain ( string $domain )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

vpopmail_alias_add
vpopmail_alias_del
Funciones de vpopmail


Borra todos los alias virtuales de un usuario

vpopmail_alias_del_domain
vpopmail_alias_get_all
Funciones de vpopmail
PHP Manual

vpopmail_alias_del

(PHP 4 >= 4.0.7, PECL vpopmail >= 0.2)

vpopmail_alias_del — Borra todos los alias virtuales de un usuario

Descripción

bool vpopmail_alias_del ( string $user , string $domain )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

vpopmail_alias_del_domain
vpopmail_alias_get_all
Funciones de vpopmail


Obtiene todas las líneas de un alias de un dominio dado

vpopmail_alias_del
vpopmail_alias_get
Funciones de vpopmail
PHP Manual

vpopmail_alias_get_all

(PHP 4 >= 4.0.7, PECL vpopmail >= 0.2)

vpopmail_alias_get_all — Obtiene todas las líneas de un alias de un dominio dado

Descripción

array vpopmail_alias_get_all ( string $domain )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

vpopmail_alias_del
vpopmail_alias_get
Funciones de vpopmail


Obtiene todas las líneas de un alias de un dominio dado

vpopmail_alias_get_all
vpopmail_auth_user
Funciones de vpopmail
PHP Manual

vpopmail_alias_get

(PHP 4 >= 4.0.7, PECL vpopmail >= 0.2)

vpopmail_alias_get — Obtiene todas las líneas de un alias de un dominio dado

Descripción

array vpopmail_alias_get ( string $alias , string $domain )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

vpopmail_alias_get_all
vpopmail_auth_user
Funciones de vpopmail


Intenta validar un usuario/dominio/contraseña

vpopmail_alias_get
vpopmail_del_domain_ex
Funciones de vpopmail
PHP Manual

vpopmail_auth_user

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_auth_user — Intenta validar un usuario/dominio/contraseña

Descripción

bool vpopmail_auth_user ( string $user , string $domain , string $password [, string $apop ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

vpopmail_alias_get
vpopmail_del_domain_ex
Funciones de vpopmail


Borra un dominio virtual

vpopmail_auth_user
vpopmail_del_domain
Funciones de vpopmail
PHP Manual

vpopmail_del_domain_ex

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_del_domain_ex — Borra un dominio virtual

Descripción

bool vpopmail_del_domain_ex ( string $domain )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

vpopmail_auth_user
vpopmail_del_domain
Funciones de vpopmail


Borra un dominio virtual

vpopmail_del_domain_ex
vpopmail_del_user
Funciones de vpopmail
PHP Manual

vpopmail_del_domain

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_del_domain — Borra un dominio virtual

Descripción

bool vpopmail_del_domain ( string $domain )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

vpopmail_del_domain_ex
vpopmail_del_user
Funciones de vpopmail


Borra un usuario de un dominio virtual

vpopmail_del_domain
vpopmail_error
Funciones de vpopmail
PHP Manual

vpopmail_del_user

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_del_user — Borra un usuario de un dominio virtual

Descripción

bool vpopmail_del_user ( string $user , string $domain )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

vpopmail_del_domain
vpopmail_error
Funciones de vpopmail


Obtiene en texto el último mensaje de error de vpopmail

vpopmail_del_user
vpopmail_passwd
Funciones de vpopmail
PHP Manual

vpopmail_error

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_error — Obtiene en texto el último mensaje de error de vpopmail

Descripción

string vpopmail_error ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

vpopmail_del_user
vpopmail_passwd
Funciones de vpopmail


Cambia la contraseña de un usuario virtual

vpopmail_error
vpopmail_set_user_quota
Funciones de vpopmail
PHP Manual

vpopmail_passwd

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_passwd — Cambia la contraseña de un usuario virtual

Descripción

bool vpopmail_passwd ( string $user , string $domain , string $password [, bool $apop ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

vpopmail_error
vpopmail_set_user_quota
Funciones de vpopmail


Establece la cuota a un usuario virtual

vpopmail_passwd
Extensiones matemáticas
Funciones de vpopmail
PHP Manual

vpopmail_set_user_quota

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_set_user_quota — Establece la cuota a un usuario virtual

Descripción

bool vpopmail_set_user_quota ( string $user , string $domain , string $quota )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

vpopmail_passwd
Extensiones matemáticas
Funciones de vpopmail


Extensiones matemáticas

  • BC Math — Matemáticas de precisión arbitraria BCMath
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de BC Math
  • GMP — Precisión Múltiple de GNU
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de GMP
  • Lapack
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Lapack — La clase Lapack
    • LapackException — La clase LapackException
  • Math — Funciones matemáticas
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones Matemáticas
  • Estadísticas
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de Estadísticas
  • Trader — Análisis técnico para comerciantes
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de Trader
vpopmail_set_user_quota
BC Math
Referencia de funciones


Matemáticas de precisión arbitraria BCMath

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de BC Math
    • bcadd — Añade dos números de precisión arbitrária
    • bccomp — Compara dos números de precisión arbitraria
    • bcdiv — Divide dos números de precisión arbitraria
    • bcmod — Obtiene el módulo de un número de precisión arbitraria
    • bcmul — Multiplica dos números de precisión arbitraria
    • bcpow — Elevar un número de precisión arbitraria a otro
    • bcpowmod — Eleva un número de precisión arbitraria a otro, reducido por un módulo especificado
    • bcscale — Establece los parametros de scale por defecto para todas las funciones matemáticas de bc
    • bcsqrt — Obtiene la raiz cuadrada de un número de precisión arbitraria
    • bcsub — Resta un número de precisión arbitraria de otro
Extensiones matemáticas
Introducción
Extensiones matemáticas


Introducción

Para operaciones matemáticas de precisión arbitraria PHP ofrece la Calculadora Binaria, la cual adminte números de cualquier tamaño y precisión, representados como strings.

BC Math
Instalación/Configuración
BC Math


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
BC Math


Requerimientos

A partir de PHP 4.0.4, libbcmath está incorporada en PHP. Por lo que no necesitas librerías externas para esta extensión

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta función solamente está disponible si PHP está configurado con --enable-bcmath .

La versión de PHP para Windows tiene soporte nativo para esta extensión. No se requiere cargar extensiones adicionales para utilizar estas funciones.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

BCmath Opciones de Configuración
Nombre | Por defecto | Cambiable | Historial de cambios
bcmath.scale | "0" | PHP_INI_ALL |
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

bcmath.scale integer

Número de dígitos decimales para todas las funciones bcmath. Ver también bcscale().

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Funciones de BC Math
BC Math


Funciones de BC Math

Tabla de contenidos

  • bcadd — Añade dos números de precisión arbitrária
  • bccomp — Compara dos números de precisión arbitraria
  • bcdiv — Divide dos números de precisión arbitraria
  • bcmod — Obtiene el módulo de un número de precisión arbitraria
  • bcmul — Multiplica dos números de precisión arbitraria
  • bcpow — Elevar un número de precisión arbitraria a otro
  • bcpowmod — Eleva un número de precisión arbitraria a otro, reducido por un módulo especificado
  • bcscale — Establece los parametros de scale por defecto para todas las funciones matemáticas de bc
  • bcsqrt — Obtiene la raiz cuadrada de un número de precisión arbitraria
  • bcsub — Resta un número de precisión arbitraria de otro
Constantes predefinidas
bcadd
BC Math


Añade dos números de precisión arbitrária

Funciones de BC Math
bccomp
Funciones de BC Math
PHP Manual

bcadd

(PHP 4, PHP 5)

bcadd — Añade dos números de precisión arbitrária

Descripción

string bcadd ( string $left_operand , string $right_operand [, int $scale ] )

Suma operando_izquierda y operando_derecha.

Parámetros

left_operand

El left_operand, como una cadena

right_operand

El right_operand, como una cadena

scale

Este parámetro opcional es usado para establecer el número de dígitos después del punto decimal en el resultado. También se puede configurar la escala global por defecto para todas las funciones usando bcscale().

Valores devueltos

La suma de dos operandos, como una cadena.

Ejemplos

Ejemplo #1 Ejemplo bcadd()

<?php

$a = '1.234';
$b = '5';

echo bcadd($a, $b);     // 6
echo bcadd($a, $b, 4);  // 6.2340

?>

Ver también

  • bcsub() - Resta un número de precisión arbitraria de otro

Funciones de BC Math
bccomp
Funciones de BC Math


Compara dos números de precisión arbitraria

bcadd
bcdiv
Funciones de BC Math
PHP Manual

bccomp

(PHP 4, PHP 5)

bccomp — Compara dos números de precisión arbitraria

Descripción

int bccomp ( string $left_operand , string $right_operand [, int $scale ] )

Compara el left_operand al right_operand y devuelve como resultado un entero.

Parámetros

left_operand

El left operand, como una cadena.

right_operand

El right operand, como una cadena.

scale

El parametro optativo scale es usado para indicar el número de dígitos decimales que se utilizarán en la comparación.

Valores devueltos

Devuelve 0 si los dos operandos son iguales, 1 si el left_operand es mayor que el right_operand, de lo contrario -1.

Ejemplos

Ejemplo #1 Ejemplo bccomp()

<?php

echo bccomp('1', '2') . "\n";   // -1
echo bccomp('1.00001', '1', 3); // 0
echo bccomp('1.00001', '1', 5); // 1

?>
bcadd
bcdiv
Funciones de BC Math


Divide dos números de precisión arbitraria

bccomp
bcmod
Funciones de BC Math
PHP Manual

bcdiv

(PHP 4, PHP 5)

bcdiv — Divide dos números de precisión arbitraria

Descripción

string bcdiv ( string $left_operand , string $right_operand [, int $scale ] )

Divide el left_operand por el right_operand.

Parámetros

left_operand

El left operand, como una cadena.

right_operand

El right operand, como una cadena.

scale

Este parámetro opcional es usado para establecer el número de dígitos después del punto decimal en el resultado. También se puede configurar la escala global por defecto para todas las funciones usando bcscale().

Valores devueltos

Devuelve el resultado de la división como una cadena, or NULL si el right_operand es 0.

Ejemplos

Ejemplo #1 Ejemplo bcdiv()

<?php

echo bcdiv('105', '6.55957', 3);  // 16.007

?>

Ver también

  • bcmul() - Multiplica dos números de precisión arbitraria

bccomp
bcmod
Funciones de BC Math


Obtiene el módulo de un número de precisión arbitraria

bcdiv
bcmul
Funciones de BC Math
PHP Manual

bcmod

(PHP 4, PHP 5)

bcmod — Obtiene el módulo de un número de precisión arbitraria

Descripción

string bcmod ( string $left_operand , string $modulus )

Obtiene el módulo del left_operand usando modulus.

Parámetros

left_operand

El left operand, como una cadena.

modulus

El modulus, como una cadena.

Valores devueltos

Devuelve el módulo como una cadena, o NULL si modulus es 0.

Ejemplos

Ejemplo #1 Ejemplo bcmod()

<?php
echo bcmod('4', '2'); // 0
echo bcmod('2', '4'); // 2
?>

Ver también

  • bcdiv() - Divide dos números de precisión arbitraria

bcdiv
bcmul
Funciones de BC Math


Multiplica dos números de precisión arbitraria

bcmod
bcpow
Funciones de BC Math
PHP Manual

bcmul

(PHP 4, PHP 5)

bcmul — Multiplica dos números de precisión arbitraria

Descripción

string bcmul ( string $left_operand , string $right_operand [, int $scale ] )

Multiplica el left_operand por el right_operand.

Parámetros

left_operand

El left operand, como una cadena.

right_operand

El right operand, como una cadena.

scale

Este parámetro opcional es usado para establecer el número de dígitos después del punto decimal en el resultado. También se puede configurar la escala global por defecto para todas las funciones usando bcscale().

Valores devueltos

Devuelve el resultado como una cadena.

Ejemplos

Ejemplo #1 Ejemplo bcmul()

<?php
echo bcmul('1.34747474747', '35', 3); // 47.161
echo bcmul('2', '4'); // 8
?>

Ver también

  • bcdiv() - Divide dos números de precisión arbitraria

bcmod
bcpow
Funciones de BC Math


Elevar un número de precisión arbitraria a otro

bcmul
bcpowmod
Funciones de BC Math
PHP Manual

bcpow

(PHP 4, PHP 5)

bcpow — Elevar un número de precisión arbitraria a otro

Descripción

string bcpow ( string $left_operand , string $right_operand [, int $scale ] )

Elevar left_operand a la potencia right_operand.

Parámetros

left_operand

El left operand, como una cadena.

right_operand

El right operand, como una cadena.

scale

Este parámetro opcional es usado para establecer el número de dígitos después del punto decimal en el resultado. También se puede configurar la escala global por defecto para todas las funciones usando bcscale().

Valores devueltos

Devuelve el resultado como una cadena.

Ejemplos

Ejemplo #1 Ejemplo bcpow()

<?php

echo bcpow('4.2', '3', 2); // 74.08

?>

Notas

Nota:

bcpow() podría devolver un resultado con menos dígitos tras el punto decimal que los indicados en el parámetro scale. Esto sucede únicamente cuando el resultado no necesita toda la precisión disponible por scale. Por ejemplo:

Ejemplo #2 Ejemplo de escalado de bcpow()

<?php
echo bcpow('5', '2', 2);     // imprime "25", no "25.00"
?>

Ver también

  • bcpowmod() - Eleva un número de precisión arbitraria a otro, reducido por un módulo especificado
  • bcsqrt() - Obtiene la raiz cuadrada de un número de precisión arbitraria

bcmul
bcpowmod
Funciones de BC Math


Eleva un número de precisión arbitraria a otro, reducido por un módulo especificado

bcpow
bcscale
Funciones de BC Math
PHP Manual

bcpowmod

(PHP 5)

bcpowmod — Eleva un número de precisión arbitraria a otro, reducido por un módulo especificado

Descripción

string bcpowmod ( string $left_operand , string $right_operand , string $modulus [, int $scale ] )

Usa el método de exponenciación rápida para aumentar el left_operand a la potencia right_operand con respecto al módulo modulus.

Parámetros

left_operand

El left operand, como una cadena.

right_operand

El right operand, como una cadena.

modulus

El modulus, como una cadena.

scale

Este parámetro opcional es usado para establecer el número de dígitos después del punto decimal en el resultado. También se puede configurar la escala global por defecto para todas las funciones usando bcscale().

Valores devueltos

Devuelve el resultado como una cadena, o NULL si modulus es 0.

Notas

Nota:

Debido a que este método utiliza la operación módulo, podrían obtenerse resultados inesperados en números enteros no positivos.

Ejemplos

Los siguientes dos comandos son funcionalmente idénticos. La version bcpowmod() sin embargo, se ejecuta en menos tiempo y admite mas parametros.

<?php
$a = bcpowmod($x, $y, $mod);

$b = bcmod(bcpow($x, $y), $mod);

// $a and $b are equal to each other.

?>

Ver también

  • bcpow() - Elevar un número de precisión arbitraria a otro
  • bcmod() - Obtiene el módulo de un número de precisión arbitraria

bcpow
bcscale
Funciones de BC Math


Establece los parametros de scale por defecto para todas las funciones matemáticas de bc

bcpowmod
bcsqrt
Funciones de BC Math
PHP Manual

bcscale

(PHP 4, PHP 5)

bcscale — Establece los parametros de scale por defecto para todas las funciones matemáticas de bc

Descripción

bool bcscale ( int $scale )

Establece los parametros de scale para todas las subsiguientes llamadas a funciones matemáticas bc, donde no se especifica el parametro de scale.

Parámetros

scale

El factor scale.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo bcscale()

<?php

// default scale : 3
bcscale(3);
echo bcdiv('105', '6.55957'); // 16.007

// this is the same without bcscale()
echo bcdiv('105', '6.55957', 3); // 16.007

?>

bcpowmod
bcsqrt
Funciones de BC Math


Obtiene la raiz cuadrada de un número de precisión arbitraria

bcscale
bcsub
Funciones de BC Math
PHP Manual

bcsqrt

(PHP 4, PHP 5)

bcsqrt — Obtiene la raiz cuadrada de un número de precisión arbitraria

Descripción

string bcsqrt ( string $operand [, int $scale ] )

Devuelve la raiz cudrada de operand.

Parámetros

operand

El operand, como una cadena.

scale

Este parámetro opcional es usado para establecer el número de dígitos después del punto decimal en el resultado. También se puede configurar la escala global por defecto para todas las funciones usando bcscale().

Valores devueltos

Devuelve la raiz cuadrada como una cadena, o NULL si operand es negativo.

Ejemplos

Ejemplo #1 Ejemplo bcsqrt()

<?php

echo bcsqrt('2', 3); // 1.414

?>

Ver también

  • bcpow() - Elevar un número de precisión arbitraria a otro

bcscale
bcsub
Funciones de BC Math


Resta un número de precisión arbitraria de otro

bcsqrt
GMP
Funciones de BC Math
PHP Manual

bcsub

(PHP 4, PHP 5)

bcsub — Resta un número de precisión arbitraria de otro

Descripción

string bcsub ( string $left_operand , string $right_operand [, int $scale ] )

Resta el right_operand del left_operand.

Parámetros

left_operand

El left operand, como una cadena.

right_operand

El right operand, como una cadena.

scale

Este parámetro opcional es usado para establecer el número de dígitos después del punto decimal en el resultado. También se puede configurar la escala global por defecto para todas las funciones usando bcscale().

Valores devueltos

El resultado de la resta, como una cadena.

Ejemplos

Ejemplo #1 Ejemplo bcsub()

<?php

$a = '1.234';
$b = '5';

echo bcsub($a, $b);     // -3
echo bcsub($a, $b, 4);  // -3.7660

?>

Ver también

  • bcadd() - Añade dos números de precisión arbitrária

bcsqrt
GMP
Funciones de BC Math


Precisión Múltiple de GNU

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • Funciones de GMP
    • gmp_abs — Valor absoluto
    • gmp_add — Agrega números
    • gmp_and — Nivel de bit AND
    • gmp_clrbit — Limpia un bit
    • gmp_cmp — Compara los números
    • gmp_com — Calcula uno de los complementos
    • gmp_div_q — Divide los números
    • gmp_div_qr — Divide los números y obtiene el cociente y resto
    • gmp_div_r — El resto de la división de los números
    • gmp_div — Alias de gmp_div_q
    • gmp_divexact — División exacta de números
    • gmp_fact — Factorial
    • gmp_gcd — Calcula el máximo común divisor
    • gmp_gcdext — Calcula el máximo común divisor y multiplicadores
    • gmp_hamdist — Distancia Hamming
    • gmp_init — Crea un número GMP
    • gmp_intval — Convertir un número GMP a entero
    • gmp_invert — Inverso del modulo
    • gmp_jacobi — Símbolo Jacobi
    • gmp_legendre — Símbolo Legendre
    • gmp_mod — Modulo de operación
    • gmp_mul — Multiplicación de números
    • gmp_neg — Número negativo
    • gmp_nextprime — Encuentra el siguiente número primo
    • gmp_or — Nivel de bit OR
    • gmp_perfect_square — Comprueba el cuadrado perfecto
    • gmp_popcount — Cuenta la población
    • gmp_pow — Aumenta el número a la potencia
    • gmp_powm — Eleva un número a la potencia con modulo
    • gmp_prob_prime — Revisa si el número es "probablemente primo"
    • gmp_random — Numero al azar
    • gmp_scan0 — Escanear para 0
    • gmp_scan1 — Escanear para 1
    • gmp_setbit — Establece el bit
    • gmp_sign — El símbolo del número
    • gmp_sqrt — Calcula la raíz cuadrada
    • gmp_sqrtrem — Raíz cuadrada con resto
    • gmp_strval — Convierte un número GMP a cadena
    • gmp_sub — Resta los números
    • gmp_testbit — Prueba si un bit es establecido
    • gmp_xor — Nivel de bit XOR
bcsub
Introducción
Extensiones matemáticas


Introducción

Estas funciones le permiten trabajar con enteros de longitud arbitraria usando la biblioteca GNU MP de GMP.

Estas funciones han sido agregadas en PHP 4.0.4.

Nota:

La mayoría de las funciones GMP aceptan argumentos numéricos, definidos como resource más abajo. Sin embargo, la mayoría de estas funciones también aceptarán argumentos numéricos y de cadena. Además, si existe una función más rápida que pueda operar con argumentos de tipo entero, sería usada en lugar de la función más lenta cuando los argumentos suministrados son enteros. Esto se realiza de forma transparente, por lo que, en resumidas cuentas, se pueden usar enteros en cada función que demande un número GMP. Véase también la función gmp_init().

Advertencia

Si se desea explícitamente especificar un entero grande, se debe especificarlo como una cadena. Si no se hace esto, PHP interpretará primero el literal entero, posiblemente resultando en una perdida de precisión, incluso antes que GMP entre en juego.

Nota: Esta extensión está disponible en plataformas Windows desde PHP 5.1.0.

GMP
Instalación/Configuración
GMP


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
GMP


Requerimientos

Sr puede descargar la librería GMP de » http://gmplib.org/#DOWNLOAD. Éste site también tiene el manual GMP disponible.

Si se necesita la versión GMP 2 o mejor para usar estas funciones. Algunas funciones pueden requerir la versión mas reciente de la librería GMP.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

En orden a de tener estas funciones disponibles, se tiene que compilar el PHP con apoyo de GMP por el uso de la opción --with-gmp .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

La mayoría de las funciones GMP operan sobre o devuelven recursos numéricos GMP.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

GMP_ROUND_ZERO (integer)
GMP_ROUND_PLUSINF (integer)
GMP_ROUND_MINUSINF (integer)
GMP_VERSION (string)
La versión de la librería GMP
Tipos de recursos
Ejemplos
GMP


Ejemplos

Ejemplo #1 Función factorial usando GMP

<?php
function fact($x)
{
    $return = 1;
    for ($i=2; $i <= $x; $i++) {
        $return = gmp_mul($return, $i);
    }
    return $return;
}

echo gmp_strval(fact(1000)) . "\n";
?>

Esto va a calcular el factorial de 1000 (Un bonito gran número) muy rápido.

Constantes predefinidas
Funciones de GMP
GMP


Funciones de GMP

Ver también

Más funciones matemáticas pueden ser encontradas en la Extensiones matemáticas sección

Tabla de contenidos

  • gmp_abs — Valor absoluto
  • gmp_add — Agrega números
  • gmp_and — Nivel de bit AND
  • gmp_clrbit — Limpia un bit
  • gmp_cmp — Compara los números
  • gmp_com — Calcula uno de los complementos
  • gmp_div_q — Divide los números
  • gmp_div_qr — Divide los números y obtiene el cociente y resto
  • gmp_div_r — El resto de la división de los números
  • gmp_div — Alias de gmp_div_q
  • gmp_divexact — División exacta de números
  • gmp_fact — Factorial
  • gmp_gcd — Calcula el máximo común divisor
  • gmp_gcdext — Calcula el máximo común divisor y multiplicadores
  • gmp_hamdist — Distancia Hamming
  • gmp_init — Crea un número GMP
  • gmp_intval — Convertir un número GMP a entero
  • gmp_invert — Inverso del modulo
  • gmp_jacobi — Símbolo Jacobi
  • gmp_legendre — Símbolo Legendre
  • gmp_mod — Modulo de operación
  • gmp_mul — Multiplicación de números
  • gmp_neg — Número negativo
  • gmp_nextprime — Encuentra el siguiente número primo
  • gmp_or — Nivel de bit OR
  • gmp_perfect_square — Comprueba el cuadrado perfecto
  • gmp_popcount — Cuenta la población
  • gmp_pow — Aumenta el número a la potencia
  • gmp_powm — Eleva un número a la potencia con modulo
  • gmp_prob_prime — Revisa si el número es "probablemente primo"
  • gmp_random — Numero al azar
  • gmp_scan0 — Escanear para 0
  • gmp_scan1 — Escanear para 1
  • gmp_setbit — Establece el bit
  • gmp_sign — El símbolo del número
  • gmp_sqrt — Calcula la raíz cuadrada
  • gmp_sqrtrem — Raíz cuadrada con resto
  • gmp_strval — Convierte un número GMP a cadena
  • gmp_sub — Resta los números
  • gmp_testbit — Prueba si un bit es establecido
  • gmp_xor — Nivel de bit XOR
Ejemplos
gmp_abs
GMP


Valor absoluto

Funciones de GMP
gmp_add
Funciones de GMP
PHP Manual

gmp_abs

(PHP 4 >= 4.0.4, PHP 5)

gmp_abs — Valor absoluto

Descripción

resource gmp_abs ( resource $a )

Obtiene el valor absoluto de un número.

Parámetros

a

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

Valores devueltos

Devuelve el valor absoluto a, como un número GMP.

Ejemplos

Ejemplo #1 Ejemplo de gmp_abs()

<?php
$abs1 = gmp_abs("274982683358");
$abs2 = gmp_abs("-274982683358");

echo gmp_strval($abs1) . "\n";
echo gmp_strval($abs2) . "\n";
?>

El resultado del ejemplo sería:

274982683358
274982683358

Funciones de GMP
gmp_add
Funciones de GMP


Agrega números

gmp_abs
gmp_and
Funciones de GMP
PHP Manual

gmp_add

(PHP 4 >= 4.0.4, PHP 5)

gmp_add — Agrega números

Descripción

resource gmp_add ( resource $a , resource $b )

Agrega dos números.

Parámetros

a

Un número que va a ser agregado.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

b

Un número que va a ser agregado.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

Valores devueltos

Un número GMP representa la suma de los argumentos.

Ejemplos

Ejemplo #1 Ejemplo de gmp_add()

<?php
$sum = gmp_add("123456789012345", "76543210987655");
echo gmp_strval($sum) . "\n";
?>

El resultado del ejemplo sería:

200000000000000

gmp_abs
gmp_and
Funciones de GMP


Nivel de bit AND

gmp_add
gmp_clrbit
Funciones de GMP
PHP Manual

gmp_and

(PHP 4 >= 4.0.4, PHP 5)

gmp_and — Nivel de bit AND

Descripción

resource gmp_and ( resource $a , resource $b )

Calcula el nivel de bit AND de dos números GMP.

Parámetros

a

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

b

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

Valores devueltos

Un número represetando la comparación del nivel de bit AND.

Ejemplos

Ejemplo #1 Ejemplo de gmp_and()

<?php
$and1 = gmp_and("0xfffffffff4", "0x4");
$and2 = gmp_and("0xfffffffff4", "0x8");
echo gmp_strval($and1) . "\n";
echo gmp_strval($and2) . "\n";
?>

El resultado del ejemplo sería:

4
0
gmp_add
gmp_clrbit
Funciones de GMP


Limpia un bit

gmp_and
gmp_cmp
Funciones de GMP
PHP Manual

gmp_clrbit

(PHP 4 >= 4.0.4, PHP 5)

gmp_clrbit — Limpia un bit

Descripción

void gmp_clrbit ( resource $a , int $index )

Limpia el bit (lo establece a 0) index en a. El índice empieza 0.

Parámetros

a

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

index

El índice del bit a limpiar. El índice 0 representa el bit menos significantivo.

Valores devueltos

Un número de recurso GMP.

Ejemplos

Ejemplo #1 Ejemplo de gmp_clrbit()

<?php
$a = gmp_init("0xff");
gmp_clrbit($a, 0); // index starts at 0, least significant bit
echo gmp_strval($a) . "\n";
?>

El resultado del ejemplo sería:

254

Notas

Nota:

A diferencia de otras funciones GMP, La gmp_clrbit() tiene que ser llamada con un recurso GMP que ya exista (usando gmp_init() por ejemplo). No se va a crear automáticamente.

Ver también

  • gmp_setbit() - Establece el bit
  • gmp_testbit() - Prueba si un bit es establecido

gmp_and
gmp_cmp
Funciones de GMP


Compara los números

gmp_clrbit
gmp_com
Funciones de GMP
PHP Manual

gmp_cmp

(PHP 4 >= 4.0.4, PHP 5)

gmp_cmp — Compara los números

Descripción

int gmp_cmp ( resource $a , resource $b )

Compara dos números.

Parámetros

a

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

b

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

Valores devueltos

Devuleve un valor positivo si a > b, el cero si a = b y el valor negativo de a si a < b.

Ejemplos

Ejemplo #1 gmp_cmp() example

<?php
$cmp1 = gmp_cmp("1234", "1000"); // greater than
$cmp2 = gmp_cmp("1000", "1234"); // less than
$cmp3 = gmp_cmp("1234", "1234"); // equal to

echo "$cmp1 $cmp2 $cmp3\n";
?>

El resultado del ejemplo sería:

1 -1 0
gmp_clrbit
gmp_com
Funciones de GMP


Calcula uno de los complementos

gmp_cmp
gmp_div_q
Funciones de GMP
PHP Manual

gmp_com

(PHP 4 >= 4.0.4, PHP 5)

gmp_com — Calcula uno de los complementos

Descripción

resource gmp_com ( resource $a )

Devuelve uno de los complementos de a.

Parámetros

a

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

Valores devueltos

Devuelve uno de los complementos de a, como un número GMP.

Ejemplos

Ejemplo #1 Ejemplo de gmp_com()

<?php
$com = gmp_com("1234");
echo gmp_strval($com) . "\n";
?>

El resultado del ejemplo sería:

-1235
gmp_cmp
gmp_div_q
Funciones de GMP


Divide los números

gmp_com
gmp_div_qr
Funciones de GMP
PHP Manual

gmp_div_q

(PHP 4 >= 4.0.4, PHP 5)

gmp_div_q — Divide los números

Descripción

resource gmp_div_q ( resource $a , resource $b [, int $round = GMP_ROUND_ZERO ] )

Divide a con b y devuelve el entero resultante.

Parámetros

a

El número que sera dividido.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

b

El número que a esta siendo dividido.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

round

El redondeo resultante es definido por el round, el cual puede tener uno de los siguientes valores:

  • GMP_ROUND_ZERO: El resultante es truncado hacia o.
  • GMP_ROUND_PLUSINF:El resultado es redondeado hacia +infinity.
  • GMP_ROUND_MINUSINF: El resultado es redondeado hacia -infinity.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

Valores devueltos

Un número de recurso GMP.

Ejemplos

Ejemplo #1 Ejemplo de gmp_div_q()

<?php
$div1 = gmp_div_q("100", "5");
echo gmp_strval($div1) . "\n";

$div2 = gmp_div_q("1", "3");
echo gmp_strval($div2) . "\n";

$div3 = gmp_div_q("1", "3", GMP_ROUND_PLUSINF);
echo gmp_strval($div3) . "\n";

$div4 = gmp_div_q("-1", "4", GMP_ROUND_PLUSINF);
echo gmp_strval($div4) . "\n";

$div5 = gmp_div_q("-1", "4", GMP_ROUND_MINUSINF);
echo gmp_strval($div5) . "\n";
?>

El resultado del ejemplo sería:

20
0
1
0
-1

Notas

Nota:

This function can also be called as gmp_div().

Ver también

  • gmp_div_r() - El resto de la división de los números
  • gmp_div_qr() - Divide los números y obtiene el cociente y resto

gmp_com
gmp_div_qr
Funciones de GMP


Divide los números y obtiene el cociente y resto

gmp_div_q
gmp_div_r
Funciones de GMP
PHP Manual

gmp_div_qr

(PHP 4 >= 4.0.4, PHP 5)

gmp_div_qr — Divide los números y obtiene el cociente y resto

Descripción

array gmp_div_qr ( resource $n , resource $d [, int $round = GMP_ROUND_ZERO ] )

La función divide a n por d.

Parámetros

n

El número que es dividido.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

d

El número que es dividio por n.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

round

Ver la función gmp_div_q() para la descripción del argumento round.

Valores devueltos

Devuelve un array, con el primer elemento siendo [n/d] (el entero resultante de la división) y el segundo siendo (n - [n/d] * d) (el resto de la división).

Ejemplos

Ejemplo #1 División de números GMP

<?php
$a = gmp_init("0x41682179fbf5");
$res = gmp_div_qr($a, "0xDEFE75");
printf("El resultado es: q - %s, r - %s",
       gmp_strval($res[0]), gmp_strval($res[1]));
?>

Ver también

  • gmp_div_q() - Divide los números
  • gmp_div_r() - El resto de la división de los números

gmp_div_q
gmp_div_r
Funciones de GMP


El resto de la división de los números

gmp_div_qr
gmp_div
Funciones de GMP
PHP Manual

gmp_div_r

(PHP 4 >= 4.0.4, PHP 5)

gmp_div_r — El resto de la división de los números

Descripción

resource gmp_div_r ( resource $n , resource $d [, int $round = GMP_ROUND_ZERO ] )

Calcula el resto de la división entera de n por d. El tiene el signo del argumento n, si no es cero.

Parámetros

n

El número que es dividido.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

d

El número que es dividio por n.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

round

Ver la función gmp_div_q() para la descripción del argumento round.

Valores devueltos

The remainder, as a GMP number.

Ejemplos

Ejemplo #1 gmp_div_r() example

<?php
$div = gmp_div_r("105", "20");
echo gmp_strval($div) . "\n";
?>

El resultado del ejemplo sería:

5

Ver también

  • gmp_div_q() - Divide los números
  • gmp_div_qr() - Divide los números y obtiene el cociente y resto

gmp_div_qr
gmp_div
Funciones de GMP


Alias de gmp_div_q

gmp_div_r
gmp_divexact
Funciones de GMP
PHP Manual

gmp_div

(PHP 4 >= 4.0.4, PHP 5)

gmp_div — Alias de gmp_div_q()

Descripción

Esta función es un alias de: gmp_div_q().

gmp_div_r
gmp_divexact
Funciones de GMP


División exacta de números

gmp_div
gmp_fact
Funciones de GMP
PHP Manual

gmp_divexact

(PHP 4 >= 4.0.4, PHP 5)

gmp_divexact — División exacta de números

Descripción

resource gmp_divexact ( resource $n , resource $d )

Divide n por d, usando el rápido algoritmo de "división exacta". Ésta función produce el resultado correcto solo cuando es conocida por adelantado d divide a n.

Parámetros

n

El número que es dividido.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

d

El número que es dividio por a.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

Valores devueltos

Un número de recurso GMP.

Ejemplos

Ejemplo #1 Ejemplo de gmp_divexact()

<?php
$div1 = gmp_divexact("10", "2");
echo gmp_strval($div1) . "\n";

$div2 = gmp_divexact("10", "3"); // resultado falso
echo gmp_strval($div2) . "\n";
?>

El resultado del ejemplo sería:

5
2863311534

gmp_div
gmp_fact
Funciones de GMP


Factorial

gmp_divexact
gmp_gcd
Funciones de GMP
PHP Manual

gmp_fact

(PHP 4 >= 4.0.4, PHP 5)

gmp_fact — Factorial

Descripción

resource gmp_fact ( mixed $a )

Calcula el factorial (a!) de a.

Parámetros

a

El número factorial.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

Valores devueltos

Un número de recurso GMP.

Ejemplos

Ejemplo #1 Ejemplo de gmp_fact()

<?php
$fact1 = gmp_fact(5); // 5 * 4 * 3 * 2 * 1
echo gmp_strval($fact1) . "\n";

$fact2 = gmp_fact(50); // 50 * 49 * 48, ... etc
echo gmp_strval($fact2) . "\n";
?>

El resultado del ejemplo sería:

120
30414093201713378043612608166064768844377641568960512000000000000

gmp_divexact
gmp_gcd
Funciones de GMP


Calcula el máximo común divisor

gmp_fact
gmp_gcdext
Funciones de GMP
PHP Manual

gmp_gcd

(PHP 4 >= 4.0.4, PHP 5)

gmp_gcd — Calcula el máximo común divisor

Descripción

resource gmp_gcd ( resource $a , resource $b )

Calcula el máximo común divisor de a y b. El resultado es siempre positivo aun si cualquiera de, o ambos, operadores fueran negativos.

Parámetros

a

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

b

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

Valores devueltos

Un número positivo GMP que divide dentro a ambos a y b.

Ejemplos

Ejemplo #1 Ejemplo de gmp_gcd()

<?php
$gcd = gmp_gcd("12", "21");
echo gmp_strval($gcd) . "\n";
?>

El resultado del ejemplo sería:

3

gmp_fact
gmp_gcdext
Funciones de GMP


Calcula el máximo común divisor y multiplicadores

gmp_gcd
gmp_hamdist
Funciones de GMP
PHP Manual

gmp_gcdext

(PHP 4 >= 4.0.4, PHP 5)

gmp_gcdext — Calcula el máximo común divisor y multiplicadores

Descripción

array gmp_gcdext ( resource $a , resource $b )

Calcula g, s, y t, tal que a*s + b*t = g = gcd(a,b), donde gcd es el.máximo común divisor. Devuelve un arreglo con los elementos respectivos g, s y t.

Ésta función puede ser usada para resolver ecuaciones de diofántica lineal equations en dos variables. Estas son ecuaciones que permiten solo soluciones enteras y tienen la forma: a*x + b*y = c. Para más información, vaya a » "Diophantine Equation" en la página MathWorld

Parámetros

a

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

b

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

Valores devueltos

Un array de números GMP.

Ejemplos

Ejemplo #1 Resolver ecuaciones de diofántica lineal

<?php
// Resolver la ecuación a*s + b*t = g
// donde a = 12, b = 21, g = gcd(12, 21) = 3
$a = gmp_init(12);
$b = gmp_init(21);
$g = gmp_gcd($a, $b);
$r = gmp_gcdext($a, $b);

$check_gcd = (gmp_strval($g) == gmp_strval($r['g']));
$eq_res = gmp_add(gmp_mul($a, $r['s']), gmp_mul($b, $r['t']));
$check_res = (gmp_strval($g) == gmp_strval($eq_res));

if ($check_gcd && $check_res) {
    $fmt = "Solution: %d*%d + %d*%d = %d\n";
    printf($fmt, gmp_strval($a), gmp_strval($r['s']), gmp_strval($b),
    gmp_strval($r['t']), gmp_strval($r['g']));
} else {
    echo "Error mientras se resolvia la ecuación\n";
}

// output: Solución: 12*2 + 21*-1 = 3
?>

gmp_gcd
gmp_hamdist
Funciones de GMP


Distancia Hamming

gmp_gcdext
gmp_init
Funciones de GMP
PHP Manual

gmp_hamdist

(PHP 4 >= 4.0.4, PHP 5)

gmp_hamdist — Distancia Hamming

Descripción

int gmp_hamdist ( resource $a , resource $b )

Devuelve la distancia hamming entre a y b. Ambos operadores deberían ser no negativos.

Parámetros

a

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

Debería ser positivo.

b

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

Debería ser positivo.

Valores devueltos

Un número de recurso GMP.

Ejemplos

Ejemplo #1 Ejemplo de gmp_hamdist()

<?php
$ham1 = gmp_init("1001010011", 2);
$ham2 = gmp_init("1011111100", 2);
echo gmp_hamdist($ham1, $ham2) . "\n";

/* la distancia hamming es equivalente a: */
echo gmp_popcount(gmp_xor($ham1, $ham2)) . "\n";
?>

El resultado del ejemplo sería:

6
6

Ver también

  • gmp_popcount() - Cuenta la población
  • gmp_xor() - Nivel de bit XOR

gmp_gcdext
gmp_init
Funciones de GMP


Crea un número GMP

gmp_hamdist
gmp_intval
Funciones de GMP
PHP Manual

gmp_init

(PHP 4 >= 4.0.4, PHP 5)

gmp_init — Crea un número GMP

Descripción

resource gmp_init ( mixed $number [, int $base = 0 ] )

Crea un número GMP de un entero o cadena.

Parámetros

number

Un entero o cadena. La representación de la cadena puede ser decimal, hexadecimal or octal.

base

La base.

La base puede variar de 2 a 36. Si la base es 0 (valor por defecto), la actual base es determinada de los caracteres lideres: si los primeros dos caracteres son 0x o 0X, el hexadecimal es asumido, sin embargo si el primer carácter es "0", el octal es asumido, sin embargo el decimal es asumido.

Valores devueltos

Un número de recurso GMP.

Historial de cambios

Versión | Descripción
5.3.2 | La base fue extendidad de 2 a 36, a 2 a 62 y -2 a -36.
4.1.0 | El parámetro opcional de la base fue agregado.

Notas

Nota:

Para usar la base extendidad introducida en PHP 5.3.2, entonces PHP tiene que ser compilado en contra de GMP 4.2.0 o superior.

Ejemplos

Ejemplo #1 Creación de un número GMP

<?php
$a = gmp_init(123456);
$b = gmp_init("0xFFFFDEBACDFEDF7200");
?>

Notas

Nota:

No es necesario llamar ésta función si se desea usar un entero o cadena en lugar de un número GMP en una función GMP, como gmp_add(). Los argumentos de la función son automáticamente convertidos a números GMP, si tal conversión es posible y necesaria, usando las mismas reglas como gmp_init().

gmp_hamdist
gmp_intval
Funciones de GMP


Convertir un número GMP a entero

gmp_init
gmp_invert
Funciones de GMP
PHP Manual

gmp_intval

(PHP 4 >= 4.0.4, PHP 5)

gmp_intval — Convertir un número GMP a entero

Descripción

int gmp_intval ( resource $gmpnumber )

Ésta función permite convertir un número GMP a entero.

Parámetros

gmpnumber

Un número GMP.

Valores devueltos

Un valor integer de gmpnumber.

Ejemplos

Ejemplo #1 Ejemplo de gmp_intval()

<?php
// muestra el valor correcto
echo gmp_intval("2147483647") . "\n";

//muestra el valor correcto
echo gmp_intval("2147483648") . "\n";

// muestra el valor correcto
echo gmp_strval("2147483648") . "\n";
?>

El resultado del ejemplo sería:

2147483647
2147483647
2147483648

Notas

Advertencia

Ésta función retorna un resultado satisfactorio solo si el numero actualmente encaja con el PHP entero (ej., símbolo de tipo largo). Si se desea imprimir solo imprimir el húmero GMP, Se usa gmp_strval().

gmp_init
gmp_invert
Funciones de GMP


Inverso del modulo

gmp_intval
gmp_jacobi
Funciones de GMP
PHP Manual

gmp_invert

(PHP 4 >= 4.0.4, PHP 5)

gmp_invert — Inverso del modulo

Descripción

resource gmp_invert ( resource $a , resource $b )

Computa el inverso del modulo de a b.

Parámetros

a

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

b

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

Valores devueltos

Un número GMO en éxito o FALSE Si el inverso.

Ejemplos

Ejemplo #1 Ejemplo de gmp_invert()

<?php
echo gmp_invert("5", "10"); // sin inverso no inverse, ninguna salida, el resultado es falso
$invert = gmp_invert("5", "11");
echo gmp_strval($invert) . "\n";
?>

El resultado del ejemplo sería:

9

gmp_intval
gmp_jacobi
Funciones de GMP


Símbolo Jacobi

gmp_invert
gmp_legendre
Funciones de GMP
PHP Manual

gmp_jacobi

(PHP 4 >= 4.0.4, PHP 5)

gmp_jacobi — Símbolo Jacobi

Descripción

int gmp_jacobi ( resource $a , resource $p )

Computa el » símbolo Jacobi de a y p. p debería ser impar y tiene que ser positivo.

Parámetros

a

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

p

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

Debería ser impar y tiene que ser positivo.

Valores devueltos

Un número de recurso GMP.

Ejemplos

Ejemplo #1 Ejemplo de gmp_jacobi()

<?php
echo gmp_jacobi("1", "3") . "\n";
echo gmp_jacobi("2", "3") . "\n";
?>

El resultado del ejemplo sería:

1
0

gmp_invert
gmp_legendre
Funciones de GMP


Símbolo Legendre

gmp_jacobi
gmp_mod
Funciones de GMP
PHP Manual

gmp_legendre

(PHP 4 >= 4.0.4, PHP 5)

gmp_legendre — Símbolo Legendre

Descripción

int gmp_legendre ( resource $a , resource $p )

Computa el » Símbolo Legendre de a y p. p debería ser impar y tiene que ser positivo.

Parámetros

a

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

p

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

debería ser impar y tiene que ser positivo.

Valores devueltos

Un número de recurso GMP.

Ejemplos

Ejemplo #1 Ejemplo de gmp_legendre()

<?php
echo gmp_legendre("1", "3") . "\n";
echo gmp_legendre("2", "3") . "\n";
?>

El resultado del ejemplo sería:

1
0

gmp_jacobi
gmp_mod
Funciones de GMP


Modulo de operación

gmp_legendre
gmp_mul
Funciones de GMP
PHP Manual

gmp_mod

(PHP 4 >= 4.0.4, PHP 5)

gmp_mod — Modulo de operación

Descripción

resource gmp_mod ( resource $n , resource $d )

Calcula el modulo de n d. El resultado es siempre no negativo, el símbolo de d es ignorado.

Parámetros

n

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

d

El modulo que es evaluado.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

Valores devueltos

Un número de recurso GMP.

Ejemplos

Ejemplo #1 Ejemplo de gmp_mod()

<?php
$mod = gmp_mod("8", "3");
echo gmp_strval($mod) . "\n";
?>

El resultado del ejemplo sería:

2

gmp_legendre
gmp_mul
Funciones de GMP


Multiplicación de números

gmp_mod
gmp_neg
Funciones de GMP
PHP Manual

gmp_mul

(PHP 4 >= 4.0.4, PHP 5)

gmp_mul — Multiplicación de números

Descripción

resource gmp_mul ( resource $a , resource $b )

Multiplicación de a por b y devuelve el resultado.

Parámetros

a

Un número que va a ser multiplicado por b.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

b

Un número que va a ser multiplicado por a.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

Valores devueltos

Un número de recurso GMP.

Ejemplos

Ejemplo #1 Ejemplo de gmp_mul()

<?php
$mul = gmp_mul("12345678", "2000");
echo gmp_strval($mul) . "\n";
?>

El resultado del ejemplo sería:

24691356000

gmp_mod
gmp_neg
Funciones de GMP


Número negativo

gmp_mul
gmp_nextprime
Funciones de GMP
PHP Manual

gmp_neg

(PHP 4 >= 4.0.4, PHP 5)

gmp_neg — Número negativo

Descripción

resource gmp_neg ( resource $a )

Devuelve el valor nehativo de un número.

Parámetros

a

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

Valores devueltos

Devuelve -a, como un número GMP.

Ejemplos

Ejemplo #1 Ejemplo de gmp_neg()

<?php
$neg1 = gmp_neg("1");
echo gmp_strval($neg1) . "\n";
$neg2 = gmp_neg("-1");
echo gmp_strval($neg2) . "\n";
?>

El resultado del ejemplo sería:

-1
1

gmp_mul
gmp_nextprime
Funciones de GMP


Encuentra el siguiente número primo

gmp_neg
gmp_or
Funciones de GMP
PHP Manual

gmp_nextprime

(PHP 5 >= 5.2.0)

gmp_nextprime — Encuentra el siguiente número primo

Descripción

resource gmp_nextprime ( int $a )

Encuentra el siguiente número primo

Parámetros

a

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

Valores devueltos

Devuelve el siguiente número primo o mayor a, como un número GMP.

Ejemplos

Ejemplo #1 Ejemplo de gmp_nextprime()

<?php
$prime1 = gmp_nextprime(10); // el siguiente número primo o superior que 10
$prime2 = gmp_nextprime(-1000); // el siguiente número primo o superior que -1000

echo gmp_strval($prime1) . "\n";
echo gmp_strval($prime2) . "\n";
?>

El resultado del ejemplo sería:

11
-997

Notas

Nota:

Ésta función usa un algoritmo probabilístico para identificar el número primo y posibilita la obtención de un número compuesto que sea extremadamente pequeño.

gmp_neg
gmp_or
Funciones de GMP


Nivel de bit OR

gmp_nextprime
gmp_perfect_square
Funciones de GMP
PHP Manual

gmp_or

(PHP 4 >= 4.0.4, PHP 5)

gmp_or — Nivel de bit OR

Descripción

resource gmp_or ( resource $a , resource $b )

Calcula el nivel de bit OR de dos números GMP.

Parámetros

a

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

b

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

Valores devueltos

Un número de recurso GMP.

Ejemplos

Ejemplo #1 Ejemplo de gmp_or()

<?php
$or1 = gmp_or("0xfffffff2", "4");
echo gmp_strval($or1, 16) . "\n";
$or2 = gmp_or("0xfffffff2", "2");
echo gmp_strval($or2, 16) . "\n";
?>

El resultado del ejemplo sería:

fffffff6
fffffff2

gmp_nextprime
gmp_perfect_square
Funciones de GMP


Comprueba el cuadrado perfecto

gmp_or
gmp_popcount
Funciones de GMP
PHP Manual

gmp_perfect_square

(PHP 4 >= 4.0.4, PHP 5)

gmp_perfect_square — Comprueba el cuadrado perfecto

Descripción

bool gmp_perfect_square ( resource $a )

Revisa si un número es cuadrado perfecto.

Parámetros

a

El número a ser revisado como un cuadrado perfecto.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

Valores devueltos

Devielve TRUE si a es un cuadrado perfecto, sino FALSE.

Ejemplos

Ejemplo #1 Ejemplo de gmp_perfect_square()

<?php
// 3 * 3, cuadrado perfecto
var_dump(gmp_perfect_square("9"));

// no es un cuadrado perfecto
var_dump(gmp_perfect_square("7"));

// 1234567890 * 1234567890, cuadrado perfecto
var_dump(gmp_perfect_square("1524157875019052100"));
?>

El resultado del ejemplo sería:

bool(true)
bool(false)
bool(true)

Ver también

  • gmp_sqrt() - Calcula la raíz cuadrada
  • gmp_sqrtrem() - Raíz cuadrada con resto

gmp_or
gmp_popcount
Funciones de GMP


Cuenta la población

gmp_perfect_square
gmp_pow
Funciones de GMP
PHP Manual

gmp_popcount

(PHP 4 >= 4.0.4, PHP 5)

gmp_popcount — Cuenta la población

Descripción

int gmp_popcount ( resource $a )

Obtiene el conteo de la población.

Parámetros

a

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

Valores devueltos

El conteo de la población de a, como un integer.

Ejemplos

Ejemplo #1 Ejemplo de gmp_popcount()

<?php
$pop1 = gmp_init("10000101", 2); // 3 1's
echo gmp_popcount($pop1) . "\n";
$pop2 = gmp_init("11111110", 2); // 7 1's
echo gmp_popcount($pop2) . "\n";
?>

El resultado del ejemplo sería:

3
7

gmp_perfect_square
gmp_pow
Funciones de GMP


Aumenta el número a la potencia

gmp_popcount
gmp_powm
Funciones de GMP
PHP Manual

gmp_pow

(PHP 4 >= 4.0.4, PHP 5)

gmp_pow — Aumenta el número a la potencia

Descripción

resource gmp_pow ( resource $base , int $exp )

Aumenta la base a la potencia exp.

Parámetros

base

La base del número.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

exp

La potencia positiva a elevar la base.

Valores devueltos

El nuevo (elevado) número, como un número GMP. El caso de 0^0 produce 1.

Ejemplos

Ejemplo #1 Ejemplo de gmp_pow()

<?php
$pow1 = gmp_pow("2", 31);
echo gmp_strval($pow1) . "\n";
$pow2 = gmp_pow("0", 0);
echo gmp_strval($pow2) . "\n";
$pow3 = gmp_pow("2", -1); // exponente negativo, genera peligro
echo gmp_strval($pow3) . "\n";
?>

El resultado del ejemplo sería:

2147483648
1

gmp_popcount
gmp_powm
Funciones de GMP


Eleva un número a la potencia con modulo

gmp_pow
gmp_prob_prime
Funciones de GMP
PHP Manual

gmp_powm

(PHP 4 >= 4.0.4, PHP 5)

gmp_powm — Eleva un número a la potencia con modulo

Descripción

resource gmp_powm ( resource $base , resource $exp , resource $mod )

Calcula la (base elevada a la potencia exp) con modulo mod. Si exp es negativo, el resultado es indefinido.

Parámetros

base

La base del número.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

exp

La potencia positiva a elevar la base.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

mod

El modulo.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

Valores devueltos

El nuevo (elevado) número, como un número GMP.

Ejemplos

Ejemplo #1 gmp_powm() example

<?php
$pow1 = gmp_powm("2", "31", "2147483649");
echo gmp_strval($pow1) . "\n";
?>

El resultado del ejemplo sería:

2147483648

gmp_pow
gmp_prob_prime
Funciones de GMP


Revisa si el número es "probablemente primo"

gmp_powm
gmp_random
Funciones de GMP
PHP Manual

gmp_prob_prime

(PHP 4 >= 4.0.4, PHP 5)

gmp_prob_prime — Revisa si el número es "probablemente primo"

Descripción

int gmp_prob_prime ( resource $a [, int $reps = 10 ] )

La función usa la prueba probabilística de Miller-Rabin para revisar si un número es primo.

Parámetros

a

El número a ser revisado como primo.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

reps

Valores rasonables de reps varían de 5 a 10 (por defecto siendo 10); un valor superior disminuye la probabilidad para un número no primo a pasar como un "probable" primo.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

Valores devueltos

Si ésta función devolvier 0, a es definitivamente no primo. Si devuelve 1, entonces a es "probablemente" primo. si devolviera 2, entonces a es seguramente primo.

Ejemplos

Ejemplo #1 Ejemplo de gmp_prob_prime()

<?php
// definitivamente no primo
echo gmp_prob_prime("6") . "\n";

// probablemente primo
echo gmp_prob_prime("1111111111111111111") . "\n";

// definitivamente primo
echo gmp_prob_prime("11") . "\n";
?>

El resultado del ejemplo sería:

0
1
2

gmp_powm
gmp_random
Funciones de GMP


Numero al azar

gmp_prob_prime
gmp_scan0
Funciones de GMP
PHP Manual

gmp_random

(PHP 4 >= 4.0.4, PHP 5)

gmp_random — Numero al azar

Descripción

resource gmp_random ([ int $limiter = 20 ] )

Genera un número al azar. El número se va a ubicar entre cero y el número de bits por miembro multiplicado por el limiter. Si el limiter es negativo, Los números generados son negativos.

Un miembro es un mecanismo interno GMP. El número de bits en un miembro es no estático, y puede variar de sistema a sistema. Generalmente, el número de bits en un miembro es 16 o 32, pero esto no es garantizado.

Parámetros

limiter

El limitador.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

Valores devueltos

Un número al azar GMP.

Ejemplos

Ejemplo #1 Ejemplo de gmp_random()

<?php
$rand1 = gmp_random(1); // número al azar de 0 a 1 * bits por miembro
$rand2 = gmp_random(2); // número al azar de 0 a 2 * bits por miembro

echo gmp_strval($rand1) . "\n";
echo gmp_strval($rand2) . "\n";
?>

El resultado del ejemplo sería:

1915834968
8642564075890328087

gmp_prob_prime
gmp_scan0
Funciones de GMP


Escanear para 0

gmp_random
gmp_scan1
Funciones de GMP
PHP Manual

gmp_scan0

(PHP 4 >= 4.0.4, PHP 5)

gmp_scan0 — Escanear para 0

Descripción

int gmp_scan0 ( resource $a , int $start )

Escanea a, empezando con el bit de start, hacia los bits mas significantes, hasta que el primero bit establecido es encontrado.

Parámetros

a

El número a escanear.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

start

El inicio del bit.

Valores devueltos

Devuelve el índice del bit encontrado, como un integer. El índice inicia desde 0.

Ejemplos

Ejemplo #1 Ejemplo de gmp_scan0()

<?php
// "0" el bit se encuentra en la posición 3. El índice inica en 0
$s1 = gmp_init("10111", 2);
echo gmp_scan0($s1, 0) . "\n";

// "0" el bit se encuentra en la posición 7. El índice inica en 5
$s2 = gmp_init("101110000", 2);
echo gmp_scan0($s2, 5) . "\n";
?>

El resultado del ejemplo sería:

3
7

gmp_random
gmp_scan1
Funciones de GMP


Escanear para 1

gmp_scan0
gmp_setbit
Funciones de GMP
PHP Manual

gmp_scan1

(PHP 4 >= 4.0.4, PHP 5)

gmp_scan1 — Escanear para 1

Descripción

int gmp_scan1 ( resource $a , int $start )

Escanea a, empezando con el bit de start, hacia los bits mas significantes, hasta que el primero bit establecido es encontrado.

Parámetros

a

El número a escanear.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

start

El inicio del bit.

Valores devueltos

Devuelve el índice del bit encontrado, como un integer. Si el bit establecido no es encontrado, -1 se devuelto.

Ejemplos

Ejemplo #1 Ejemplo de gmp_scan1()

<?php
// "1" el bit se encuentra en la posición 3. El índice inica en 0
$s1 = gmp_init("01000", 2);
echo gmp_scan1($s1, 0) . "\n";

// "1" el bit se encuentra en la posición 9. El índice inica en 5
$s2 = gmp_init("01000001111", 2);
echo gmp_scan1($s2, 5) . "\n";
?>

El resultado del ejemplo sería:

3
9

gmp_scan0
gmp_setbit
Funciones de GMP


Establece el bit

gmp_scan1
gmp_sign
Funciones de GMP
PHP Manual

gmp_setbit

(PHP 4 >= 4.0.4, PHP 5)

gmp_setbit — Establece el bit

Descripción

void gmp_setbit ( resource &$a , int $index [, bool $bit_on = true ] )

Establece el index del bit en a.

Parámetros

a

El valor a modificar.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

index

El índice del bit a establecer. El índice 0 representa el bit menos significativo.

bit_on

Verdadero para establecer el bit (establecer a 1/on); falso para limpiar el bit (establecer a 0/off).

Valores devueltos

Un número de recurso GMP.

Ejemplos

Ejemplo #1 Ejemplo de gmp_setbit() - índice 0

<?php
$a = gmp_init("2"); //
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
gmp_setbit($a, 0); // 0b10 ahora es 0b11
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
?>

El resultado del ejemplo sería:

2 -> 0b10
3 -> 0b11

Ejemplo #2 Ejemplo de gmp_setbit() - índice 1

<?php
$a = gmp_init("0xfd");
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
gmp_setbit($a, 1); // el índice empieza en 0
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
?>

El resultado del ejemplo sería:

253 -> 0b11111101
255 -> 0b11111111

Ejemplo #3 Ejemplo de gmp_setbit() - limpiar un bit

<?php
$a = gmp_init("0xff");
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
gmp_setbit($a, 0, false); // limpiar el bit en el índice 0
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
?>

El resultado del ejemplo sería:

255 -> 0b11111111
254 -> 0b11111110

Notas

Nota:

A diferencia de otras funciones GMP, gmp_setbit() debe ser llamado con un recurso GMP que ya exista (usando gmp_init() por ejemplo). No puede ser automáticamente creado.

Ver también

  • gmp_clrbit() - Limpia un bit
  • gmp_testbit() - Prueba si un bit es establecido

gmp_scan1
gmp_sign
Funciones de GMP


El símbolo del número

gmp_setbit
gmp_sqrt
Funciones de GMP
PHP Manual

gmp_sign

(PHP 4 >= 4.0.4, PHP 5)

gmp_sign — El símbolo del número

Descripción

int gmp_sign ( resource $a )

Revisa el símbolo del número.

Parámetros

a

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

Valores devueltos

Devuelve 1 si a es positivo, -1 si a es negativo, y 0 si a es cero.

Ejemplos

Ejemplo #1 Ejemplo de gmp_sign()

<?php
// positivo
echo gmp_sign("500") . "\n";

// negativo
echo gmp_sign("-500") . "\n";

// cero
echo gmp_sign("0") . "\n";
?>

El resultado del ejemplo sería:

1
-1
0

Ver también

  • gmp_abs() - Valor absoluto
  • abs() - Valor absoluto

gmp_setbit
gmp_sqrt
Funciones de GMP


Calcula la raíz cuadrada

gmp_sign
gmp_sqrtrem
Funciones de GMP
PHP Manual

gmp_sqrt

(PHP 4 >= 4.0.4, PHP 5)

gmp_sqrt — Calcula la raíz cuadrada

Descripción

resource gmp_sqrt ( resource $a )

Calcula la raíz cuadrada de a.

Parámetros

a

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

Valores devueltos

La porción entera de la raíz cuadrada, como un número GMP.

Ejemplos

Ejemplo #1 Ejemplo de gmp_sqrt()

<?php
$sqrt1 = gmp_sqrt("9");
$sqrt2 = gmp_sqrt("7");
$sqrt3 = gmp_sqrt("1524157875019052100");

echo gmp_strval($sqrt1) . "\n";
echo gmp_strval($sqrt2) . "\n";
echo gmp_strval($sqrt3) . "\n";
?>

El resultado del ejemplo sería:

3
2
1234567890

gmp_sign
gmp_sqrtrem
Funciones de GMP


Raíz cuadrada con resto

gmp_sqrt
gmp_strval
Funciones de GMP
PHP Manual

gmp_sqrtrem

(PHP 4 >= 4.0.4, PHP 5)

gmp_sqrtrem — Raíz cuadrada con resto

Descripción

array gmp_sqrtrem ( resource $a )

Calcula la raíz cuadrada de un número, con resto.

Parámetros

a

El número a ser la raíz cuadrada.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

Valores devueltos

Devuelve un arreglo donde el primer elemento es el entero de la raíz cuadrada de a y el segundo es el resto (ej., La diferencia entre a y el primer elemento de la raíz cuadrada).

Ejemplos

Ejemplo #1 Ejemplo de gmp_sqrtrem()

<?php
list($sqrt1, $sqrt1rem) = gmp_sqrtrem("9");
list($sqrt2, $sqrt2rem) = gmp_sqrtrem("7");
list($sqrt3, $sqrt3rem) = gmp_sqrtrem("1048576");

echo gmp_strval($sqrt1) . ", " . gmp_strval($sqrt1rem) . "\n";
echo gmp_strval($sqrt2) . ", " . gmp_strval($sqrt2rem) . "\n";
echo gmp_strval($sqrt3) . ", " . gmp_strval($sqrt3rem) . "\n";
?>

El resultado del ejemplo sería:

3, 0
2, 3
1024, 0

gmp_sqrt
gmp_strval
Funciones de GMP


Convierte un número GMP a cadena

gmp_sqrtrem
gmp_sub
Funciones de GMP
PHP Manual

gmp_strval

(PHP 4 >= 4.0.4, PHP 5)

gmp_strval — Convierte un número GMP a cadena

Descripción

string gmp_strval ( resource $gmpnumber [, int $base = 10 ] )

Convierte un número GMP a la representación de cadena en base base. La base por defecto es 10.

Parámetros

gmpnumber

El número GMP a convertir en cadena.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

base

La base del número retornado. La base por defecto es 10. Los valores permitidos para la base son de 2 a 62 y -2 a -36.

Valores devueltos

El número, como una string.

Historial de cambios

Versión | Descripción
5.3.2 | La base fue extendida de 2 a 36, a 2 a 62 y -2 a -36.

Notas

Nota:

To use the extended base introduced in PHP 5.3.2, then PHP must be compiled against GMP 4.2.0 or greater.

Ejemplos

Ejemplo #1 Converting a GMP number to a string

<?php
$a = gmp_init("0x41682179fbf5");
printf("Decimal: %s, base 36: %s", gmp_strval($a), gmp_strval($a,36));
?>

gmp_sqrtrem
gmp_sub
Funciones de GMP


Resta los números

gmp_strval
gmp_testbit
Funciones de GMP
PHP Manual

gmp_sub

(PHP 4 >= 4.0.4, PHP 5)

gmp_sub — Resta los números

Descripción

resource gmp_sub ( resource $a , resource $b )

Resta b con a y devuelve el resultado.

Parámetros

a

El número a ser restado.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

b

El número restado con a.

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

Valores devueltos

Un número de recurso GMP.

Ejemplos

Ejemplo #1 Ejemplo de gmp_sub()

<?php
$sub = gmp_sub("281474976710656", "4294967296"); // 2^48 - 2^32
echo gmp_strval($sub) . "\n";
?>

El resultado del ejemplo sería:

281470681743360

gmp_strval
gmp_testbit
Funciones de GMP


Prueba si un bit es establecido

gmp_sub
gmp_xor
Funciones de GMP
PHP Manual

gmp_testbit

(PHP 5 >= 5.3.0)

gmp_testbit — Prueba si un bit es establecido

Descripción

bool gmp_testbit ( resource $a , int $index )

Prueba si un bit es establecido.

Parámetros

a

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

index

El bit a probar

Valores devueltos

Devuelve TRUE si el bit se establece en el recurso $a, de otro modo devuelve FALSE.

Errores/Excepciones

Se emite un error de nivel E_WARNING cuando index es menor que cero, y se devuelve FALSE.

Ejemplos

Ejemplo #1 Ejemplo de gmp_testbit()

<?php
$n = gmp_init("1000000");
var_dump(gmp_testbit($n, 1));
gmp_setbit($n, 1);
var_dump(gmp_testbit($n, 1));
?>

El resultado del ejemplo sería:

bool(false)
bool(true)

Ver también

  • gmp_setbit() - Establece el bit
  • gmp_clrbit() - Limpia un bit

gmp_sub
gmp_xor
Funciones de GMP


Nivel de bit XOR

gmp_testbit
Lapack
Funciones de GMP
PHP Manual

gmp_xor

(PHP 4 >= 4.0.4, PHP 5)

gmp_xor — Nivel de bit XOR

Descripción

resource gmp_xor ( resource $a , resource $b )

Calcula el nivel de bit exclusivo OR (XOR) de dos números GMP.

Parámetros

a

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

b

Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.

Valores devueltos

Un número de recurso GMP.

Ejemplos

Ejemplo #1 Ejemplo de gmp_xor()

<?php
$xor1 = gmp_init("1101101110011101", 2);
$xor2 = gmp_init("0110011001011001", 2);

$xor3 = gmp_xor($xor1, $xor2);

echo gmp_strval($xor3, 2) . "\n";
?>

El resultado del ejemplo sería:

1011110111000100

gmp_testbit
Lapack
Funciones de GMP


Lapack

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Lapack — La clase Lapack
    • Lapack::eigenValues — Esta función devuelve los valores propios de una matriz cuadrada dada
    • Lapack::identity — Devuelve una matriz identidad
    • Lapack::leastSquaresByFactorisation — Calcula la solución de mínimos cuadrados lineal de una matriz usando la factorización QR
    • Lapack::leastSquaresBySVD — Resuelve un problema de mínimos cuadrados lineal, usando la descomposición en valores singulares
    • Lapack::pseudoInverse — Calcula la inversa de una matriz
    • Lapack::singularValues — Calcula los valores singulares de una matriz
    • Lapack::solveLinearEquation — Resuelve un sistema de ecuaciones lineales
  • LapackException — La clase LapackException
gmp_xor
Introducción
Extensiones matemáticas


Introducción

LAPACK está escrito en Fortran 90 y proporciona rutinas para resolver sistemas de ecuacioines lineales simultáneas, soluciones de mínimos cuadrados de ecuaciones de sistemas lineales, problemas de valores propios, y problemas de valores singulares. Esta extensión envuelve las ligaduras en C de LAPACKE C para acceder a varios procesos expuestos por la biblioteca. La mayoría de las funciones trabajan con arrays de arrays, representando matrices rectangulares en orden de fila mayor, así, una matriz de dos por dos [1 2; 3 4] sería array(array(1, 2), array(3, 4)).

Lapack
Instalación/Configuración
Lapack


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Lapack


Requerimientos

Lapack requiere la bibliotecas LAPACK y LAPACKE.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

La mayoría de las distribuciones de paquetes LAPACK no incluyen lapacke, por lo que el método mas sencillo es construirla desde el código fuente:

  svn co https://icl.cs.utk.edu/svn/lapack-dev/lapack/trunk lapack
  cd lapack
  mkdir build
  cd build
  cmake -D BUILD_SHARED_LIBS=ON -D LAPACKE=ON ../
  make
  sudo make install
Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Lapack
Lapack


La clase Lapack

(PECL lapack >= 0.1.0)

Introducción

LAPACK está escrito en Fortran 90 y proporciona rutinas para resolver sistemas de ecuacioines lineales simultáneas, soluciones de mínimos cuadrados de ecuaciones de sistemas lineales, problemas de valores propios, y problemas de valores singulares. Esta extensión envuelve las ligaduras en C de LAPACKE C para acceder a varios procesos expuestos por la biblioteca. La mayoría de las funciones trabajan con arrays de arrays, representando matrices rectangulares en orden de fila mayor, así, una matriz de dos por dos [1 2; 3 4] sería array(array(1, 2), array(3, 4)).

Todas las funciones se llaman estáticamente, por ejemplo $eig = Lapack::eigenvalues($a);

Sinopsis de la Clase

Lapack {
/* Métodos */
public static array eigenValues ( array $a [, array $left [, array $right ]] )
public static array identity ( int $n )
public static array leastSquaresByFactorisation ( array $a , array $b )
public static array leastSquaresBySVD ( array $a , array $b )
public static array pseudoInverse ( array $a )
public static array singularValues ( array $a )
public static array solveLinearEquation ( array $a , array $b )
}

Tabla de contenidos

  • Lapack::eigenValues — Esta función devuelve los valores propios de una matriz cuadrada dada
  • Lapack::identity — Devuelve una matriz identidad
  • Lapack::leastSquaresByFactorisation — Calcula la solución de mínimos cuadrados lineal de una matriz usando la factorización QR
  • Lapack::leastSquaresBySVD — Resuelve un problema de mínimos cuadrados lineal, usando la descomposición en valores singulares
  • Lapack::pseudoInverse — Calcula la inversa de una matriz
  • Lapack::singularValues — Calcula los valores singulares de una matriz
  • Lapack::solveLinearEquation — Resuelve un sistema de ecuaciones lineales
Constantes predefinidas
Lapack::eigenValues
Lapack


Esta función devuelve los valores propios de una matriz cuadrada dada

Lapack
Lapack::identity
Lapack
PHP Manual

Lapack::eigenValues

(PECL lapack >= 0.1.0)

Lapack::eigenValues — Esta función devuelve los valores propios de una matriz cuadrada dada

Descripción

public static array Lapack::eigenValues ( array $a [, array $left [, array $right ]] )

Calcula los valores propios de una matriz cuadrada, y opcionalmente calcula los vectores propios derechos e izquierdos.

Parámetros

a

La matriz a la que calcular los valores propios.

left

Parámetro opcional. Si se pasa un array, será rellenado con los vectores propios izquierdos.

right

Parámetro opcional. Si se pasa un array, será rellenado con los vectores propios derechos.

Valores devueltos

Devuelve un array de arrays que representa los valores propios del array.

Ejemplos

Ejemplo #1 Usar Lapack::eigenValues():

<?php

 $a = array(
     array(-1.01,   0.86,  -4.60,  3.31,  -4.81  ),
     array( 3.98,   0.53,  -7.04,  5.29,   3.55  ),
     array( 3.30,   8.26,  -3.89,  8.20,  -1.51  ),
     array( 4.43,   4.96,  -7.66, -7.33,   6.18  ),
     array( 7.31,  -6.43,  -6.16,  2.47,   5.58  ),
 );

 $resultado = Lapack::eigenValues($a);

 ?>

Lapack
Lapack::identity
Lapack


Devuelve una matriz identidad

Lapack::eigenValues
Lapack::leastSquaresByFactorisation
Lapack
PHP Manual

Lapack::identity

(PECL lapack >= 0.1.0)

Lapack::identity — Devuelve una matriz identidad

Descripción

public static array Lapack::identity ( int $n )

Devuelve un matriz identidad de tamaño n.

Parámetros

n

El alto y ancho de la matriz identidad.

Valores devueltos

Devolverá un array de n arrays, cada uno conteniendo n entradas. Las diagonales de la matriz serán unos, las demás posiciones serán cero.

Lapack::eigenValues
Lapack::leastSquaresByFactorisation
Lapack


Calcula la solución de mínimos cuadrados lineal de una matriz usando la factorización QR

Lapack::identity
Lapack::leastSquaresBySVD
Lapack
PHP Manual

Lapack::leastSquaresByFactorisation

(PECL lapack >= 0.1.0)

Lapack::leastSquaresByFactorisation — Calcula la solución de mínimos cuadrados lineal de una matriz usando la factorización QR

Descripción

public static array Lapack::leastSquaresByFactorisation ( array $a , array $b )

Resuelve un problema de mínimos cuadrados lineal, encontrando min x en || B - Ax || Devuelve un array que representa x. Se han de proprocionar arrays de arrays, y devolverá un array of arrays en la dimensión número de columnas de B x número de columnas de A. Utiliza la factorizaión QR o LQ sobre la matriz A.

Parámetros

a

Matriz A

b

Matriz B

Valores devueltos

Un array con la matriz solución.

Ejemplos

Ejemplo #1 Usar Lapack::leastSquaresByFactorisation():

<?php

 $a = array(
     array( 1.44,  -7.84,  -4.39,   4.53),
     array(-9.96,  -0.28,  -3.24,   3.83),
     array(-7.55,   3.24,   6.27,  -6.64),
     array( 8.34,   8.09,   5.28,   2.06),
     array( 7.08,   2.52,   0.74,  -2.47),
     array(-5.45,  -5.70,  -1.19,   4.70),
 );

 $b = array(
     array( 8.58,   9.35),
     array( 8.26,  -4.43),
     array( 8.48,  -0.70),
     array(-5.28,  -0.26),
     array( 5.72,  -7.36),
     array( 8.93,  -2.52),
 );

 $resultado = Lapack::leastSquaresByFactorisation($a, $b);
 ?>

Lapack::identity
Lapack::leastSquaresBySVD
Lapack


Resuelve un problema de mínimos cuadrados lineal, usando la descomposición en valores singulares

Lapack::leastSquaresByFactorisation
Lapack::pseudoInverse
Lapack
PHP Manual

Lapack::leastSquaresBySVD

(PECL lapack >= 0.1.0)

Lapack::leastSquaresBySVD — Resuelve un problema de mínimos cuadrados lineal, usando la descomposición en valores singulares

Descripción

public static array Lapack::leastSquaresBySVD ( array $a , array $b )

Resuelve el problema de mínimos cuadrados lineal, encontrado min x in || B - Ax || Devuelve un array que representa x. Se han de proprocionar arrays de arrays, y devolverá un array of arrays en la dimensión número de columnas de B x número de columnas de A. Utiliza la descomposición de valores singurales con un algoritmo de "divide y vencerás".

Parámetros

a

Matriz A

b

Matriz B

Valores devueltos

Devuelve la solución como un array de arrays.

Ejemplos

Ejemplo #1 Usar Lapack::leastSquaresBySVD():

<?php

  $a = array(
      array( 1.44,  -7.84,  -4.39,   4.53),
      array(-9.96,  -0.28,  -3.24,   3.83),
      array(-7.55,   3.24,   6.27,  -6.64),
      array( 8.34,   8.09,   5.28,   2.06),
      array( 7.08,   2.52,   0.74,  -2.47),
      array(-5.45,  -5.70,  -1.19,   4.70),
  );

  $b = array(
      array( 8.58,   9.35),
      array( 8.26,  -4.43),
      array( 8.48,  -0.70),
      array(-5.28,  -0.26),
      array( 5.72,  -7.36),
      array( 8.93,  -2.52),
  );

  $resultado = Lapack::leastSquaresBySVD($a, $b);

  ?>

Lapack::leastSquaresByFactorisation
Lapack::pseudoInverse
Lapack


Calcula la inversa de una matriz

Lapack::leastSquaresBySVD
Lapack::singularValues
Lapack
PHP Manual

Lapack::pseudoInverse

(PECL lapack >= 0.1.0)

Lapack::pseudoInverse — Calcula la inversa de una matriz

Descripción

public static array Lapack::pseudoInverse ( array $a )

Encuentra la seudoinversa de la matriz A.

Parámetros

a

La matriz a invertir

Valores devueltos

La matriz invertida (array de arrays).

Ejemplos

Ejemplo #1 Usar Lapack::pseudoInverse():

<?php

   $a = array(
       array( 8, 1, 6 ),
       array( 3, 5, 7 ),
       array( 4, 9, 2 ),
   );

   $resultado = Lapack::pseudoInverse($a);

   ?>

Lapack::leastSquaresBySVD
Lapack::singularValues
Lapack


Calcula los valores singulares de una matriz

Lapack::pseudoInverse
Lapack::solveLinearEquation
Lapack
PHP Manual

Lapack::singularValues

(PECL lapack >= 0.1.0)

Lapack::singularValues — Calcula los valores singulares de una matriz

Descripción

public static array Lapack::singularValues ( array $a )

Calcula los valores singulares de la matriz A.

Parámetros

a

La matriz a la que calcular los valores singulares.

Valores devueltos

Los valores singulares

Ejemplos

Ejemplo #1 Usar Lapack::singularValues():

<?php

    $a = array(
        array( 7.52,  -1.10,  -7.95,  1.08  ),
        array(-0.76,   0.62,   9.34, -7.10  ),
        array( 5.13,   6.62,  -5.66,  0.87  ),
        array(-4.75,   8.52,   5.75,  5.30  ),
        array( 1.33,   4.91,  -5.49, -3.52  ),
        array(-2.40,  -6.77,   2.34,  3.95  ),
    );

    $resultado = Lapack::singularValues($a);

    ?>

Lapack::pseudoInverse
Lapack::solveLinearEquation
Lapack


Resuelve un sistema de ecuaciones lineales

Lapack::singularValues
LapackException
Lapack
PHP Manual

Lapack::solveLinearEquation

(PECL lapack >= 0.1.0)

Lapack::solveLinearEquation — Resuelve un sistema de ecuaciones lineales

Descripción

public static array Lapack::solveLinearEquation ( array $a , array $b )

Esta función calcula la solución del sistema de ecuaciones lineales con una matriz cuadrada A y múltipes lados derechos B. Resuelve A * X = B para múltiples B.

Parámetros

a

Matriz cuadrada de ecuacioines lineales

b

Lado derecho que resolver.

Valores devueltos

La matriz X

Ejemplos

Ejemplo #1 Usar Lapack::singularValues():

<?php

    $a = array(
        array( 6.80,  -6.05,  -0.45,   8.32,  -9.67   ),
        array(-2.11,  -3.30,   2.58,   2.71,  -5.14   ),
        array( 5.66,   5.36,  -2.70,   4.35,  -7.26   ),
        array( 5.97,  -4.44,   0.27,  -7.17,   6.08   ),
        array( 8.23,   1.08,   9.04,   2.14,  -6.87   ),
    );

    $b = array(
       array(  4.02,  -1.56,   9.81   ),
       array(  6.19,   4.00,  -4.09   ),
       array( -8.22,  -8.67,  -4.57   ),
       array( -7.57,   1.75,  -8.61   ),
       array( -3.03,   2.86,   8.99   ),
    );

    $resultado = Lapack::solveLinearEquation($a, $b);

    ?>

Lapack::singularValues
LapackException
Lapack


La clase LapackException

(PECL lapack >= 0.1.0)

Introducción

Excepción lanzada al capturar un error en las funciones de LAPACK

Sinopsis de la Clase

lapackexception extends Exception {
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
Lapack::solveLinearEquation
Math
Lapack


Funciones matemáticas

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones Matemáticas
    • abs — Valor absoluto
    • acos — Arco coseno
    • acosh — Arco coseno hiperbólico
    • asin — Arco seno
    • asinh — Arco seno hiperbólico
    • atan2 — Arco tangente de dos variables
    • atan — Arco tangente
    • atanh — Arco tangente hiperbólica
    • base_convert — Convertir un número entre bases arbitrarias
    • bindec — Binario a decimal
    • ceil — Redondear fracciones hacia arriba
    • cos — Coseno
    • cosh — Coseno hiperbólico
    • decbin — Decimal a binario
    • dechex — Decimal a hexadecimal
    • decoct — Decimal a octal
    • deg2rad — Convierte el número en grados a su equivalente en radianes
    • exp — Calcula la exponencial de e
    • expm1 — Devuelve exp(numero)-1, calculado de tal forma que no pierde precisión incluso cuando el valor del numero se aproxima a cero.
    • floor — Redondear fracciones hacia abajo
    • fmod — Devuelve el residuo de punto flotante (módulo) de la división de los argumentos
    • getrandmax — Mostrar el mayor valor aleatorio posible
    • hexdec — Hexadecimal a decimal
    • hypot — Calcula la longitud de la hipotenusa de un triángulo de ángulo recto
    • is_finite — Encuentra si un valor es un número finito legal
    • is_infinite — Encuentra si un valor es infinito
    • is_nan — Encuentra si un valor no es un número
    • lcg_value — Generador lineal congruente combinado
    • log10 — Logaritmo en base 10
    • log1p — Devuelve log(1 + numero), calculado de tal forma que no pierde precisión incluso cuando el valor del numero se aproxima a cero.
    • log — Logaritmo natural
    • max — Encontrar el valor más alto
    • min — Encontrar el valor más bajo
    • mt_getrandmax — Mostrar el mayor valor aleatorio posible
    • mt_rand — Genera un mejor número entero aleatorio
    • mt_srand — Genera el mejor número aleatorio a partir de una semilla
    • octdec — Octal a decimal
    • pi — Obtener valor de pi
    • pow — Expresión exponencial
    • rad2deg — Convierte el número en radianes a su equivalente en grados
    • rand — Genera un número entero aleatorio
    • round — Redondea un float
    • sin — Seno
    • sinh — Seno hiperbólico
    • sqrt — Raíz cuadrada
    • srand — Genera un número aleatorio a partir de una semilla
    • tan — Tangente
    • tanh — Tangente hiperbólica
LapackException
Introducción
Extensiones matemáticas


Introducción

Estas funciones matemáticas sólo manipularán valores que estén dentro del rango de los tipos integer y float de su ordenador (que se corresponden actualmente con los tipos de C long y double respectivamente). En el caso de emplear números mayores, consulte las funciones matemáticas de precisión arbitraria.

Consulte también la página del manual sobre operadores aritméticos.

Math
Instalación/Configuración
Math


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Math


Constantes predefinidas

Estas constantes están disponibles siempre ya que forman parte del núcleo de PHP.

Constantes matemáticas
Constante | Valor | Descripción | Disponibilidad
M_PI | 3.14159265358979323846 | Pi |
M_E | 2.7182818284590452354 | e |
M_LOG2E | 1.4426950408889634074 | log_2 e |
M_LOG10E | 0.43429448190325182765 | log_10 e |
M_LN2 | 0.69314718055994530942 | log_e 2 |
M_LN10 | 2.30258509299404568402 | log_e 10 |
M_PI_2 | 1.57079632679489661923 | pi/2 |
M_PI_4 | 0.78539816339744830962 | pi/4 |
M_1_PI | 0.31830988618379067154 | 1/pi |
M_2_PI | 0.63661977236758134308 | 2/pi |
M_SQRTPI | 1.77245385090551602729 | sqrt(pi) | PHP 5.2.0
M_2_SQRTPI | 1.12837916709551257390 | 2/sqrt(pi) |
M_SQRT2 | 1.41421356237309504880 | sqrt(2) |
M_SQRT3 | 1.73205080756887729352 | sqrt(3) | PHP 5.2.0
M_SQRT1_2 | 0.70710678118654752440 | 1/sqrt(2) |
M_LNPI | 1.14472988584940017414 | log_e(pi) | PHP 5.2.0
M_EULER | 0.57721566490153286061 | Constante de Euler | PHP 5.2.0
PHP_ROUND_HALF_UP | 1 | Redondeo al siguiente medio superior | PHP 5.3.0
PHP_ROUND_HALF_DOWN | 2 | Redondeo al medio inferior | PHP 5.3.0
PHP_ROUND_HALF_EVEN | 3 | Redondeo de las mitades de números pares | PHP 5.3.0
PHP_ROUND_HALF_ODD | 4 | Redondeo de las mitades de números impares | PHP 5.3.0
NAN | NAN (como float) | No es un numero (NAN=Not A Number) |
INF | INF (como float) | Infinito |

Todas las constantes sin una versión de PHP indicada están disponibles desde la versión PHP 4.0.0.

Tipos de recursos
Funciones Matemáticas
Math


Funciones Matemáticas

Tabla de contenidos

  • abs — Valor absoluto
  • acos — Arco coseno
  • acosh — Arco coseno hiperbólico
  • asin — Arco seno
  • asinh — Arco seno hiperbólico
  • atan2 — Arco tangente de dos variables
  • atan — Arco tangente
  • atanh — Arco tangente hiperbólica
  • base_convert — Convertir un número entre bases arbitrarias
  • bindec — Binario a decimal
  • ceil — Redondear fracciones hacia arriba
  • cos — Coseno
  • cosh — Coseno hiperbólico
  • decbin — Decimal a binario
  • dechex — Decimal a hexadecimal
  • decoct — Decimal a octal
  • deg2rad — Convierte el número en grados a su equivalente en radianes
  • exp — Calcula la exponencial de e
  • expm1 — Devuelve exp(numero)-1, calculado de tal forma que no pierde precisión incluso cuando el valor del numero se aproxima a cero.
  • floor — Redondear fracciones hacia abajo
  • fmod — Devuelve el residuo de punto flotante (módulo) de la división de los argumentos
  • getrandmax — Mostrar el mayor valor aleatorio posible
  • hexdec — Hexadecimal a decimal
  • hypot — Calcula la longitud de la hipotenusa de un triángulo de ángulo recto
  • is_finite — Encuentra si un valor es un número finito legal
  • is_infinite — Encuentra si un valor es infinito
  • is_nan — Encuentra si un valor no es un número
  • lcg_value — Generador lineal congruente combinado
  • log10 — Logaritmo en base 10
  • log1p — Devuelve log(1 + numero), calculado de tal forma que no pierde precisión incluso cuando el valor del numero se aproxima a cero.
  • log — Logaritmo natural
  • max — Encontrar el valor más alto
  • min — Encontrar el valor más bajo
  • mt_getrandmax — Mostrar el mayor valor aleatorio posible
  • mt_rand — Genera un mejor número entero aleatorio
  • mt_srand — Genera el mejor número aleatorio a partir de una semilla
  • octdec — Octal a decimal
  • pi — Obtener valor de pi
  • pow — Expresión exponencial
  • rad2deg — Convierte el número en radianes a su equivalente en grados
  • rand — Genera un número entero aleatorio
  • round — Redondea un float
  • sin — Seno
  • sinh — Seno hiperbólico
  • sqrt — Raíz cuadrada
  • srand — Genera un número aleatorio a partir de una semilla
  • tan — Tangente
  • tanh — Tangente hiperbólica
Constantes predefinidas
abs
Math


Valor absoluto

Funciones Matemáticas
acos
Funciones Matemáticas
PHP Manual

abs

(PHP 4, PHP 5)

abs — Valor absoluto

Descripción

number abs ( mixed $number )

Devuelve el valor absoluto de number.

Parámetros

number

Valor decimal a convertir

Valores devueltos

El valor absoluto de number. Si el argumento number es del tipo float, el valor devuelto es también del tipo float, siendo para los otros casos del tipo integer (debido a que float es normalmente de mayor rango de valores que integer).

Ejemplos

Ejemplo #1 Ejemplo de abs()

<?php
$abs = abs(-4.2); // $abs = 4.2; (double/float)
$abs2 = abs(5);   // $abs2 = 5; (integer)
$abs3 = abs(-5);  // $abs3 = 5; (integer)
?>

Ver también

  • gmp_abs() - Valor absoluto
  • gmp_sign() - El símbolo del número

Funciones Matemáticas
acos
Funciones Matemáticas


Arco coseno

abs
acosh
Funciones Matemáticas
PHP Manual

acos

(PHP 4, PHP 5)

acos — Arco coseno

Descripción

float acos ( float $arg )

Devuelve el arco coseno de arg en radianes. acos() es la función complementaria de cos(), lo que quiere decir que a==cos(acos(a)) para cada valor de a en el rango de acos()'.

Parámetros

arg

El argumento a procesar

Valores devueltos

The arc cosine of arg in radians.

Ver también

  • cos() - Coseno
  • acosh() - Arco coseno hiperbólico
  • asin() - Arco seno
  • atan() - Arco tangente

abs
acosh
Funciones Matemáticas


Arco coseno hiperbólico

acos
asin
Funciones Matemáticas
PHP Manual

acosh

(PHP 4 >= 4.1.0, PHP 5)

acosh — Arco coseno hiperbólico

Descripción

float acosh ( float $arg )

Devuelve el arco coseno hiperbólico de arg, es decir, el valor cuyo coseno hiperbólico es arg.

Parámetros

arg

El argumento a procesar

Valores devueltos

El arco coseno hiperbólico de arg

Historial de cambios

Versión | Descripción
5.3.0 | La función esta disponible en todas las plataformas

Ver también

  • cosh() - Coseno hiperbólico
  • acos() - Arco coseno
  • asinh() - Arco seno hiperbólico
  • atanh() - Arco tangente hiperbólica

acos
asin
Funciones Matemáticas


Arco seno

acosh
asinh
Funciones Matemáticas
PHP Manual

asin

(PHP 4, PHP 5)

asin — Arco seno

Descripción

float asin ( float $arg )

Devuelve el arco seno de arg en radianes. asin() es la función complementaria de sin(), lo que quiere decir que a==sin(asin(a)) para cada valor de a en el rango de asin().

Parámetros

arg

El argumento a procesar

Valores devueltos

El arco seno de arg en radianes

Ver también

  • sin() - Seno
  • asinh() - Arco seno hiperbólico
  • acos() - Arco coseno
  • atan() - Arco tangente

acosh
asinh
Funciones Matemáticas


Arco seno hiperbólico

asin
atan2
Funciones Matemáticas
PHP Manual

asinh

(PHP 4 >= 4.1.0, PHP 5)

asinh — Arco seno hiperbólico

Descripción

float asinh ( float $arg )

Devuelve el arco seno hiperbólico de arg, es decir, el valor cuyo seno hiperbólico es arg.

Parámetros

arg

El argumento a procesar

Valores devueltos

El arco seno hiperbólico de arg

Historial de cambios

Versión | Descripción
5.3.0 | La función esta disponible en todas las plataformas

Ver también

  • sinh() - Seno hiperbólico
  • asin() - Arco seno
  • acosh() - Arco coseno hiperbólico
  • atanh() - Arco tangente hiperbólica

asin
atan2
Funciones Matemáticas


Arco tangente de dos variables

asinh
atan
Funciones Matemáticas
PHP Manual

atan2

(PHP 4, PHP 5)

atan2 — Arco tangente de dos variables

Descripción

float atan2 ( float $y , float $x )

Esta función calcula el arco tangente de las dos variables x y y. Es similar a calcular el arco tangente de y / x, excepto que los signos de ambos argumentos son usados para determinar el cuadrante del resultado.

La función devuelve el resultado en radianes, que se encuentra entre -PI y PI (inclusive).

Parámetros

y

Parámetro dividendo

x

Parámetro divisor

Valores devueltos

El arco tangente de y/x en radianes.

Ver también

  • atan() - Arco tangente

asinh
atan
Funciones Matemáticas


Arco tangente

atan2
atanh
Funciones Matemáticas
PHP Manual

atan

(PHP 4, PHP 5)

atan — Arco tangente

Descripción

float atan ( float $arg )

Devuelve el arco tangente de arg en radianes. atan() es la función complementaria de tan(), lo que quiere decir que a==tan(atan(a)) para cada valor de a en el rango de atan().

Parámetros

arg

El argumento a procesar

Valores devueltos

El arco tangente de arg en radianes.

Ver también

  • tan() - Tangente
  • atanh() - Arco tangente hiperbólica
  • asin() - Arco seno
  • acos() - Arco coseno

atan2
atanh
Funciones Matemáticas


Arco tangente hiperbólica

atan
base_convert
Funciones Matemáticas
PHP Manual

atanh

(PHP 4 >= 4.1.0, PHP 5)

atanh — Arco tangente hiperbólica

Descripción

float atanh ( float $arg )

Devuelve el arco tangente hiperbólico de arg, es decir, el valor cuya tangente hiperbólica es arg.

Parámetros

arg

El argumento a procesar

Valores devueltos

El arco tangente hiperbólico de arg

Historial de cambios

Versión | Descripción
5.3.0 | La función esta disponible en todas las plataformas

Ver también

  • tanh() - Tangente hiperbólica
  • atan() - Arco tangente
  • asinh() - Arco seno hiperbólico
  • acosh() - Arco coseno hiperbólico

atan
base_convert
Funciones Matemáticas


Convertir un número entre bases arbitrarias

atanh
bindec
Funciones Matemáticas
PHP Manual

base_convert

(PHP 4, PHP 5)

base_convert — Convertir un número entre bases arbitrarias

Descripción

string base_convert ( string $number , int $frombase , int $tobase )

Devuelve una cadena que contiene el numero dado representado en base a_base. La base en la cual es dado el valor numero es especificado en desde_base. Tanto desde_base como a_base tienen que ser valores entre 2 y 36, inclusive. Los dígitos en números con una base mayor que 10 serán representados con las letras a-z, en donde a significa 10, b significa 11 y z significa 35.

Advertencia

base_convert() puede perder precisión en números grandes debido a las propiedades relacionadas al tipo interno "doble" o "flotante" usado. Por favor consulte la sección sobre Números de punto flotante en el manual para más información específica sobre las limitaciones.

Parámetros

number

El número a convertir

frombase

La base en que se encuentra number

tobase

La base a la cual convertir number

Valores devueltos

number convertido a base tobase

Ejemplos

Ejemplo #1 Ejemplo de base_convert()

<?php
$hexadecimal = 'A37334';
echo base_convert($hexadecimal, 16, 2);
?>

El resultado del ejemplo sería:

101000110111001100110100

Ver también

  • intval() - Obtiene el valor entero de una variable

atanh
bindec
Funciones Matemáticas


Binario a decimal

base_convert
ceil
Funciones Matemáticas
PHP Manual

bindec

(PHP 4, PHP 5)

bindec — Binario a decimal

Descripción

number bindec ( string $binary_string )

Devuelve el equivalente decimal del número binario representado por el argumento binary_string.

bindec() convierte un número binario a un integer o, si es necesario por razones de tamaño, a un float.

bindec() interpreta todos los valores de binary_string como enteros sin signo. Esto es debido a que bindec() considera al bit más significativo como otro orden de magnitud en lugar de como el bit de signo.

Parámetros

binary_string

El string binario a convertir

Advertencia

Este parámetro debe ser un string. Cualquier otro tipo de dato empleado puede producir resultados inesperados.

Valores devueltos

El valor decimal de binary_string

Historial de cambios

Versión | Descripción
4.1.0 | Esta función puede ahora convertir números que son demasiado grandes para encajar en el tipo integer de la plataforma, siendo devueltos los valores más grandes, en este caso, como float.

Ejemplos

Ejemplo #1 Ejemplo de bindec()

<?php
echo bindec('110011') . "\n";
echo bindec('000110011') . "\n";

echo bindec('111');
?>

El resultado del ejemplo sería:

51
51
7

Ejemplo #2 bindec() interpreta las entradas como enteros sin signo

<?php
/*
 * La lección de este ejemplo es el resultado
 * más que el código de PHP en sí.
 */

$magnitude_lower = pow(2, (PHP_INT_SIZE * 8) - 2);
p($magnitude_lower - 1);
p($magnitude_lower, '¿Ve el incremento?  Obsérvelo la próxima vez...');

p(PHP_INT_MAX, 'PHP_INT_MAX');
p(~PHP_INT_MAX, 'interpretado como uno más que PHP_INT_MAX');

if (PHP_INT_SIZE == 4) {
    $nota = 'interpretado como el mayor entero sin signo';
} else {
    $nota = 'interpretado como el mayor entero sin signo
              (18446744073709551615) aunque sesgado por la precisión del float';
}
p(-1, $nota);

function p($entrada, $nota = '') {
    echo "entrada:      $entrada\n";

    $formato = '%0' . (PHP_INT_SIZE * 8) . 'b';
    $bin = sprintf($formato, $entrada);
    echo "binario:      $bin\n";

    ini_set('precision', 20);  // Para la legibilidad en bloques de 64 bits.
    $dec = bindec($bin);
    echo 'bindec():     ' . $dec . "\n";

    if ($nota) {
        echo "NOTA:         $nota\n";
    }

    echo "\n";
}
?>

El resultado del ejemplo en equipos de 32 bits sería:

entrada:      1073741823
binario:      00111111111111111111111111111111
bindec():     1073741823

entrada:      1073741824
binario:      01000000000000000000000000000000
bindec():     1073741824
NOTA:         ¿Ve el incremento?  Obsérvelo la próxima vez...

entrada:      2147483647
binario:      01111111111111111111111111111111
bindec():     2147483647
NOTA:         PHP_INT_MAX

entrada:      -2147483648
binario:      10000000000000000000000000000000
bindec():     2147483648
NOTA:         interpretado como uno más que PHP_INT_MAX

entrada:      -1
binario:      11111111111111111111111111111111
bindec():     4294967295
NOTA:         interpretado como el mayor entero sin signo

El resultado del ejemplo en equipos de 64 bits sería:

entrada:      4611686018427387903
binario:      0011111111111111111111111111111111111111111111111111111111111111
bindec():     4611686018427387903

entrada:      4611686018427387904
binario:      0100000000000000000000000000000000000000000000000000000000000000
bindec():     4611686018427387904
NOTA:         ¿Ve el incremento?  Obsérvelo la próxima vez...

entrada:      9223372036854775807
binario:      0111111111111111111111111111111111111111111111111111111111111111
bindec():     9223372036854775807
NOTA:         PHP_INT_MAX

entrada:      -9223372036854775808
binario:      1000000000000000000000000000000000000000000000000000000000000000
bindec():     9223372036854775808
NOTA:         interpretado como uno más que PHP_INT_MAX

entrada:      -1
binario:      1111111111111111111111111111111111111111111111111111111111111111
bindec():     18446744073709551616
NOTA:         interpretado como el mayor entero sin signo
              (18446744073709551615) aunque sesgado por la precisión del float

Ver también

  • decbin() - Decimal a binario
  • octdec() - Octal a decimal
  • hexdec() - Hexadecimal a decimal
  • base_convert() - Convertir un número entre bases arbitrarias

base_convert
ceil
Funciones Matemáticas


Redondear fracciones hacia arriba

bindec
cos
Funciones Matemáticas
PHP Manual

ceil

(PHP 4, PHP 5)

ceil — Redondear fracciones hacia arriba

Descripción

float ceil ( float $value )

Devuelve el siguiente valor entero mayor redondeando hacia arriba value si fuera necesario.

Parámetros

value

El valor a redondear

Valores devueltos

value redondeado al siguiente entero más alto. El valor de retorno de ceil() sigue siendo de tipo float ya que el rango de valores de float es usualmente mayor que el del tipo integer.

Ejemplos

Ejemplo #1 Ejemplo de ceil()

<?php
echo ceil(4.3);    // 5
echo ceil(9.999);  // 10
echo ceil(-3.14);  // -3
?>

Ver también

  • floor() - Redondear fracciones hacia abajo
  • round() - Redondea un float

bindec
cos
Funciones Matemáticas


Coseno

ceil
cosh
Funciones Matemáticas
PHP Manual

cos

(PHP 4, PHP 5)

cos — Coseno

Descripción

float cos ( float $arg )

cos() devuelve el coseno del parámetro arg. El parámetro arg está en radianes.

Parámetros

arg

Un ángulo en radianes

Valores devueltos

El coseno de arg

Ejemplos

Ejemplo #1 Ejemplo de cos()

<?php

echo cos(M_PI); // -1

?>

Ver también

  • acos() - Arco coseno
  • sin() - Seno
  • tan() - Tangente
  • deg2rad() - Convierte el número en grados a su equivalente en radianes

ceil
cosh
Funciones Matemáticas


Coseno hiperbólico

cos
decbin
Funciones Matemáticas
PHP Manual

cosh

(PHP 4 >= 4.1.0, PHP 5)

cosh — Coseno hiperbólico

Descripción

float cosh ( float $arg )

Devuelve el coseno hiperbólico de arg, definido como (exp(arg) + exp(-arg))/2.

Parámetros

arg

El argumento a procesar

Valores devueltos

El coseno hiperbólico de arg

Ver también

  • cos() - Coseno
  • acosh() - Arco coseno hiperbólico
  • sinh() - Seno hiperbólico
  • cosh()

cos
decbin
Funciones Matemáticas


Decimal a binario

cosh
dechex
Funciones Matemáticas
PHP Manual

decbin

(PHP 4, PHP 5)

decbin — Decimal a binario

Descripción

string decbin ( int $number )

Devuelve una cadena que contiene una representación binaria del argumento number.

Parámetros

number

Valor decimal a convertir

Rango de entradas en máquinas de 32-bit
number positivo | number negativo | valor de retorno
0 | 0
1 | 1
2 | 10
... progresión normal ...
2147483646 | 1111111111111111111111111111110
2147483647 (mayor entero con signo) | 1111111111111111111111111111111 (31 1's)
2147483648 | -2147483648 | 10000000000000000000000000000000
... progresión normal ...
4294967294 | -2 | 11111111111111111111111111111110
4294967295 (mayor entero sin signo) | -1 | 11111111111111111111111111111111 (32 1's)
Rango de entradas en máquinas de 64-bit
number positivo | number negativo | valor de retorno
0 | 0
1 | 1
2 | 10
... progresión normal ...
9223372036854775806 | 111111111111111111111111111111111111111111111111111111111111110
9223372036854775807 (mayor entero con signo) | 111111111111111111111111111111111111111111111111111111111111111 (63 1's)
-9223372036854775808 | 1000000000000000000000000000000000000000000000000000000000000000
... progresión normal ...
-2 | 1111111111111111111111111111111111111111111111111111111111111110
-1 | 1111111111111111111111111111111111111111111111111111111111111111 (64 1's)

Valores devueltos

Cadena de la representación binaria de number

Ejemplos

Ejemplo #1 Ejemplo de decbin()

<?php
echo decbin(12) . "\n";
echo decbin(26);
?>

El resultado del ejemplo sería:

1100
11010

Ver también

  • bindec() - Binario a decimal
  • decoct() - Decimal a octal
  • dechex() - Decimal a hexadecimal
  • base_convert() - Convertir un número entre bases arbitrarias
  • printf() - Imprimir una cadena con formato, usando %b, %032b o %064b como formato
  • sprintf(), usando %b, %032b o %064b como formato

cosh
dechex
Funciones Matemáticas


Decimal a hexadecimal

decbin
decoct
Funciones Matemáticas
PHP Manual

dechex

(PHP 4, PHP 5)

dechex — Decimal a hexadecimal

Descripción

string dechex ( int $number )

Devuelve una cadena que contiene una representación hexadecimal del argumento number dado.

El mayor número que puede convertirse es PHP_INT_MAX * 2 + 1 (o -1): en plataformas de 32 bits, este será 4294967295 en decimal, cuyos resultados utilizando dechex() devolverán ffffffff.

Parámetros

number

Valor decimal a convertir.

Aunque los tipos integer PHP tienen signo, la dechex() los trata como enteros sin signo, de igual forma los enteros negativos serán tratados como si no tuvieran signo.

Valores devueltos

Representación tipo cadena hexadecimal de number.

Ejemplos

Ejemplo #1 Ejemplo dechex()

<?php
echo dechex(10) . "\n";
echo dechex(47);
?>

El resultado del ejemplo sería:

a
2f

Ejemplo #2 Ejemplo de dechex() con números enteros grandes

<?php
// La salida siguiente asume una plataforma de 32-bit.
// Tenga en cuenta que la salida es la misma para todos los valores.
echo dechex(-1)."\n";
echo dechex(PHP_INT_MAX * 2 + 1)."\n";
echo dechex(pow(2, 32) - 1)."\n";
?>

El resultado del ejemplo sería:

ffffffff
ffffffff
ffffffff

Ver también

  • hexdec() - Hexadecimal a decimal
  • decbin() - Decimal a binario
  • decoct() - Decimal a octal
  • base_convert() - Convertir un número entre bases arbitrarias

decbin
decoct
Funciones Matemáticas


Decimal a octal

dechex
deg2rad
Funciones Matemáticas
PHP Manual

decoct

(PHP 4, PHP 5)

decoct — Decimal a octal

Descripción

string decoct ( int $number )

Devuelve una cadena que contiene una representación octal del argumento numero dado. El mayor número que puede convertirse es 4294967295 en decimal, que resulta en "37777777777".

Parámetros

number

Valor decimal a convertir

Valores devueltos

Representación tipo cadena octal de numero

Ejemplos

Ejemplo #1 Ejemplo de decoct()

<?php
echo decoct(15) . "\n";
echo decoct(264);
?>

El resultado del ejemplo sería:

17
410

Ver también

  • octdec() - Octal a decimal
  • decbin() - Decimal a binario
  • dechex() - Decimal a hexadecimal
  • base_convert() - Convertir un número entre bases arbitrarias

dechex
deg2rad
Funciones Matemáticas


Convierte el número en grados a su equivalente en radianes

decoct
exp
Funciones Matemáticas
PHP Manual

deg2rad

(PHP 4, PHP 5)

deg2rad — Convierte el número en grados a su equivalente en radianes

Descripción

float deg2rad ( float $number )

Esta función convierte a numero desde grados a su equivalente en radianes.

Parámetros

number

Valor angular en grados

Valores devueltos

El equivalente en radianes de number

Ejemplos

Ejemplo #1 Ejemplo de deg2rad()

<?php

echo deg2rad(45); // 0.785398163397
var_dump(deg2rad(45) === M_PI_4); // bool(true)

?>

Ver también

  • rad2deg() - Convierte el número en radianes a su equivalente en grados

decoct
exp
Funciones Matemáticas


Calcula la exponencial de e

deg2rad
expm1
Funciones Matemáticas
PHP Manual

exp

(PHP 4, PHP 5)

exp — Calcula la exponencial de e

Descripción

float exp ( float $arg )

Devuelve e elevado a la potencia de arg.

Nota:

'e' es la base del sistema natural de logaritmos, y su valor aproximado es 2.718282.

Parámetros

arg

El argumento a procesar

Valores devueltos

'e' elevado a la potencia de arg

Ejemplos

Ejemplo #1 Ejemplo de exp()

<?php
echo exp(12) . "\n";
echo exp(5.7);
?>

El resultado del ejemplo sería:

1.6275E+005
298.87

Ver también

  • log() - Logaritmo natural
  • pow() - Expresión exponencial

deg2rad
expm1
Funciones Matemáticas


Devuelve exp(numero)-1, calculado de tal forma que no pierde precisión incluso cuando el valor del numero se aproxima a cero.

exp
floor
Funciones Matemáticas
PHP Manual

expm1

(PHP 4 >= 4.1.0, PHP 5)

expm1 — Devuelve exp(numero)-1, calculado de tal forma que no pierde precisión incluso cuando el valor del numero se aproxima a cero.

Descripción

float expm1 ( float $arg )

expm1() devuelve el equivalente a 'exp(arg) - 1' calculado de tal forma que no pierde precisión incluso cuando el valor de arg se aproxima a cero, un caso donde 'exp (arg) - 1' puede ser inexacto debido a la resta de dos numeros que son casi iguales.

Parámetros

arg

El argumento a procesar

Valores devueltos

'e' elevado a la potencia de arg menos uno

Historial de cambios

Versión | Descripción
5.3.0 | Esta función está ahora disponible en todas las plataformas.

Ver también

  • log1p() - Devuelve log(1 + numero), calculado de tal forma que no pierde precisión incluso cuando el valor del numero se aproxima a cero.
  • exp() - Calcula la exponencial de e

exp
floor
Funciones Matemáticas


Redondear fracciones hacia abajo

expm1
fmod
Funciones Matemáticas
PHP Manual

floor

(PHP 4, PHP 5)

floor — Redondear fracciones hacia abajo

Descripción

float floor ( float $value )

Devuelve el máximo de los enteros menores o iguales, redondeando valor si es necesario.

Parámetros

value

El valor a redondear

Valores devueltos

value redondeado al anterior entero más bajo. El valor de retorno de floor() sigue siendo de tipo float ya que el rango de valores de float es usualmente mayor que el del tipo integer.

Ejemplos

Ejemplo #1 Ejemplo de floor()

<?php
echo floor(4.3);   // 4
echo floor(9.999); // 9
echo floor(-3.14); // -4
?>

Ver también

  • ceil() - Redondear fracciones hacia arriba
  • round() - Redondea un float

expm1
fmod
Funciones Matemáticas


Devuelve el residuo de punto flotante (módulo) de la división de los argumentos

floor
getrandmax
Funciones Matemáticas
PHP Manual

fmod

(PHP 4 >= 4.2.0, PHP 5)

fmod — Devuelve el residuo de punto flotante (módulo) de la división de los argumentos

Descripción

float fmod ( float $x , float $y )

Devuelve el residuo de punto flotante de dividir el dividendo (x) por el divisor (y). El residuo (r) es definido como: x = i * y + r, para algún entero i. Si y es diferente de cero, r tiene el mismo signo que x y una magnitud menor que la magnitud de y.

Parámetros

x

El dividendo

y

El divisor

Valores devueltos

El residuo en punto flotante de x/y

Ejemplos

Ejemplo #1 Uso de fmod()

<?php
$x = 5.7;
$y = 1.3;
$r = fmod($x, $y);
// $r es igual a 0.5, ya que 4 * 1.3 + 0.5 = 5.7
?>

floor
getrandmax
Funciones Matemáticas


Mostrar el mayor valor aleatorio posible

fmod
hexdec
Funciones Matemáticas
PHP Manual

getrandmax

(PHP 4, PHP 5)

getrandmax — Mostrar el mayor valor aleatorio posible

Descripción

int getrandmax ( void )

Devuelve el valor máximo que puede ser devuelto por una llamada a rand().

Valores devueltos

El valor aleatorio más grande posible devuelto por rand()

Ver también

  • rand() - Genera un número entero aleatorio
  • srand() - Genera un número aleatorio a partir de una semilla
  • mt_getrandmax() - Mostrar el mayor valor aleatorio posible

fmod
hexdec
Funciones Matemáticas


Hexadecimal a decimal

getrandmax
hypot
Funciones Matemáticas
PHP Manual

hexdec

(PHP 4, PHP 5)

hexdec — Hexadecimal a decimal

Descripción

number hexdec ( string $hex_string )

Devuelve el equivalente decimal del número hexadecimal representado por el argumento cadena_hex. hexdec() convierte un string hexadecimal a un número decimal.

hexdec() ignora cualquier caracter no hexadecimal que encuentre.

Parámetros

hex_string

El string hexadecimal a convertir

Valores devueltos

La representación decimal de hex_string

Historial de cambios

Versión | Descripción
4.1.0 | La función puede convertir valores que son demasiado grandes para el tipo integer de la plataforma, en ese caso devolverá el valor como de tipo float.

Ejemplos

Ejemplo #1 Ejemplo de hexdec()

<?php
var_dump(hexdec("See"));
var_dump(hexdec("ee"));
// ambos imprimen "int(238)"

var_dump(hexdec("that")); // imprime "int(10)"
var_dump(hexdec("a0")); // imprime "int(160)"
?>

Ver también

  • dechex() - Decimal a hexadecimal
  • bindec() - Binario a decimal
  • octdec() - Octal a decimal
  • base_convert() - Convertir un número entre bases arbitrarias

getrandmax
hypot
Funciones Matemáticas


Calcula la longitud de la hipotenusa de un triángulo de ángulo recto

hexdec
is_finite
Funciones Matemáticas
PHP Manual

hypot

(PHP 4 >= 4.1.0, PHP 5)

hypot — Calcula la longitud de la hipotenusa de un triángulo de ángulo recto

Descripción

float hypot ( float $x , float $y )

hypot() devuelve la longitud de la hipotenusa de un triángulo de ángulo recto con lados de longitud x y y, o la distancio del punto (x, y) a partir del origen. Esto es equivalente a sqrt(x*x + y*y).

Parámetros

x

Longitud del primer lado

y

Longitud del segundo lado

Valores devueltos

La longitud calculada de la hipotenusa

hexdec
is_finite
Funciones Matemáticas


Encuentra si un valor es un número finito legal

hypot
is_infinite
Funciones Matemáticas
PHP Manual

is_finite

(PHP 4 >= 4.2.0, PHP 5)

is_finite — Encuentra si un valor es un número finito legal

Descripción

bool is_finite ( float $val )

Verifica si val es un número finito legal en esta plataforma.

Parámetros

val

El valor a chequear

Valores devueltos

TRUE si val es un número finito legal en el rango permitido para un valor flotante PHP en esta plataforma, FALSE de lo contrario.

Ver también

  • is_infinite() - Encuentra si un valor es infinito
  • is_nan() - Encuentra si un valor no es un número

hypot
is_infinite
Funciones Matemáticas


Encuentra si un valor es infinito

is_finite
is_nan
Funciones Matemáticas
PHP Manual

is_infinite

(PHP 4 >= 4.2.0, PHP 5)

is_infinite — Encuentra si un valor es infinito

Descripción

bool is_infinite ( float $val )

Devuelve TRUE si val es infinito (positivo o negativo), como el resultado de log(0) o cualquier valor demasiado grande para caber en un flotante en esta plataforma.

Parámetros

val

El valor a chequear

Valores devueltos

TRUE si val es infinito, FALSE de lo contrario.

Ver también

  • is_finite() - Encuentra si un valor es un número finito legal
  • is_nan() - Encuentra si un valor no es un número

is_finite
is_nan
Funciones Matemáticas


Encuentra si un valor no es un número

is_infinite
lcg_value
Funciones Matemáticas
PHP Manual

is_nan

(PHP 4 >= 4.2.0, PHP 5)

is_nan — Encuentra si un valor no es un número

Descripción

bool is_nan ( float $val )

Verifica si val no es un numero, como por ejemplo el resultado de acos(1.01).

Parámetros

val

El valor a revisar

Valores devueltos

Devuelve TRUE si val no es un número, en caso contrario devuelve FALSE.

Ejemplos

Ejemplo #1 Ejemplo de is_nan()

<?php
// Invalid calculation, will return a
// NaN value
$nan = acos(8);

var_dump($nan, is_nan($nan));
?>

El resultado del ejemplo sería:

float(NAN)
bool(true)

Ver también

  • is_finite() - Encuentra si un valor es un número finito legal
  • is_infinite() - Encuentra si un valor es infinito

is_infinite
lcg_value
Funciones Matemáticas


Generador lineal congruente combinado

is_nan
log10
Funciones Matemáticas
PHP Manual

lcg_value

(PHP 4, PHP 5)

lcg_value — Generador lineal congruente combinado

Descripción

float lcg_value ( void )

lcg_value() devuelve un número pseudo-aleatorio en el rango (0, 1). La función combina dos generadores congruentes con periodos de 2^31 - 85 y 2^31 - 249. El periodo de esta función es igual al producto de ambos primos.

Valores devueltos

Un valor flotante pseudo-aleatorio en el rango de (0, 1)

Ver también

  • rand() - Genera un número entero aleatorio
  • mt_rand() - Genera un mejor número entero aleatorio

is_nan
log10
Funciones Matemáticas


Logaritmo en base 10

lcg_value
log1p
Funciones Matemáticas
PHP Manual

log10

(PHP 4, PHP 5)

log10 — Logaritmo en base 10

Descripción

float log10 ( float $arg )

Devuelve el logaritmo en base 10 de arg.

Parámetros

arg

El argumento a procesar

Valores devueltos

El logaritmo en base 10 de arg

Ver también

  • log() - Logaritmo natural

lcg_value
log1p
Funciones Matemáticas


Devuelve log(1 + numero), calculado de tal forma que no pierde precisión incluso cuando el valor del numero se aproxima a cero.

log10
log
Funciones Matemáticas
PHP Manual

log1p

(PHP 4 >= 4.1.0, PHP 5)

log1p — Devuelve log(1 + numero), calculado de tal forma que no pierde precisión incluso cuando el valor del numero se aproxima a cero.

Descripción

float log1p ( float $number )

log1p() devuelve el equivalente a log(1 + number) calculado de tal forma que no pierde precisión incluso cuando el valor de number se aproxima a cero. log() puede devolver sólo log(1) en este caso debido a la falta de precisión.

Parámetros

number

El argumento a procesar

Valores devueltos

log(1 + number)

Historial de cambios

Versión | Descripción
5.3.0 | Esta función está disponible en todas las plataformas.

Ver también

  • expm1() - Devuelve exp(numero)-1, calculado de tal forma que no pierde precisión incluso cuando el valor del numero se aproxima a cero.
  • log() - Logaritmo natural
  • log10() - Logaritmo en base 10

log10
log
Funciones Matemáticas


Logaritmo natural

log1p
max
Funciones Matemáticas
PHP Manual

log

(PHP 4, PHP 5)

log — Logaritmo natural

Descripción

float log ( float $arg [, float $base = M_E ] )

Si se especifica el parámetro opcional base, log() devuelve logbase arg, y en caso contrario log() devuelve el logaritmo natural de arg.

Parámetros

arg

El valor al que se desea calcular el logaritmo

base

La base opcinal del logaritmo a usar (por omisión es 'e' y por lo tanto el logaritmo natural).

Valores devueltos

El logaritmo de arg en la base dada por base, si se indica, o en su lugar el logaritmo natural.

Historial de cambios

Versión | Descripción
4.3.0 | Está disponible el parámetro opcional base. En versiones anteriores se puede calcular el logaritmo en base b de un número n, pero empleando la identidad matemática: logb(n) = log(n)/log(b), donde log es el logaritmo neperiano (o natural).

Ver también

  • log10() - Logaritmo en base 10
  • exp() - Calcula la exponencial de e
  • pow() - Expresión exponencial

log1p
max
Funciones Matemáticas


Encontrar el valor más alto

log
min
Funciones Matemáticas
PHP Manual

max

(PHP 4, PHP 5)

max — Encontrar el valor más alto

Descripción

mixed max ( array $values )
mixed max ( mixed $value1 , mixed $value2 [, mixed $... ] )

Si el primer y único parámetro es una matriz, max() devuelve el valor más alto en esa matriz. Si al menos dos parámetros son entregados, max() devuelve el mayor de estos valores.

Nota:

PHP evaluará un valor string no-numérico como 0 si se compara con un integer, pero aun devuelve la cadena si ésta es vista como el valor numérico más alto. Si varios argumentos evalúan a 0, max() devolverá el valor de cadena alfanumérica más alto si se da alguna cadena, o de lo contrario se devuelve un 0 numérico.

Parámetros

values

Un array que contiene los valores.

value1

Cualquier valor comparable.

value2

Cualquier valor comparable.

...

Cualquier valor comparable.

Valores devueltos

max() devuelve el mayor valor numérico de los parámetros. Si varios valores pueden considerarse del mismo tamaño, se devolverá el listado en primer lugar.

Cuando max() debe evaluar varios arrays, devuelve el array de mayor tamaño. Si todos los arrays tienen el mismo tamaño, max() empleará la ordenación lexicográfica para encontrar el valor a devolver.

Cuando se debe comparar un string, se le considerará como un integer en la comparación.

Ejemplos

Ejemplo #1 Ejemplos de uso de max()

<?php
echo max(1, 3, 5, 6, 7);  // 7
echo max(array(2, 4, 5)); // 5

// Cuando 'hola' es convertido en integer se convierte en 0. Ambos parámetros son
// del mismo tamaño por lo que el orden en el que son colocados determina el resultado
echo max(0, 'hola');     // 0
echo max('hola', 0);     // hola

echo max('42', 3); // '42'

// En este caso 0 > -1, asi que 'hola' es el valor devuelto.
echo max(-1, 'hola');    // hola

// Con varias matrices de diferentes tamaño, max devuelve el de mayor tamaño
$val = max(array(2, 2, 2), array(1, 1, 1, 1)); // array(1, 1, 1, 1)

// Con varias matrices, max las compara de izquierda a derecha
// empleando el orden lexicográfico, así que en nuestro ejemplo: 2 == 2, pero 4 < 5
$val = max(array(2, 4, 8), array(2, 5, 7)); // array(2, 5, 7)

// Si se pasan una matriz y una no-matriz, la matriz
// es devuelta siempre ya que se considera el valor mayor
$val = max('cadena', array(2, 5, 7), 42);   // array(2, 5, 7)
?>

Ver también

  • min() - Encontrar el valor más bajo
  • count() - Cuenta todos los elementos de un array o en un objeto

log
min
Funciones Matemáticas


Encontrar el valor más bajo

max
mt_getrandmax
Funciones Matemáticas
PHP Manual

min

(PHP 4, PHP 5)

min — Encontrar el valor más bajo

Descripción

mixed min ( array $values )
mixed min ( mixed $value1 , mixed $value2 [, mixed $... ] )

Si el primer y único parámetro es un array, min() devuelve el valor más bajo de ese array. Si se proporcionan al menos dos parámetros, min() devuelve el menor de estos valores.

Nota:

PHP evaluará un valor string no numérico como 0 si se compara con un integer, pero aún devuelve la cadena si ésta es vista como el valor numérico más bajo. Si varios argumentos se evalúan a 0, min() devolverá el valor de cadena alfanumérica más bajo si se da alguna cadena, o de lo contrario se devuelve un 0 numérico.

Parámetros

valores

Un array que contiene los valores.

value1

Cualquier valor comparable.

value2

Cualquier valor comparable.

...

Cualquier valor comparable.

Valores devueltos

min() devuelve el valor numéricamente más bajo de los parámetros.

Ejemplos

Ejemplo #1 Ejemplos de uso de min()

<?php
echo min(2, 3, 1, 6, 7);  // 1
echo min(array(2, 4, 5)); // 2

echo min(0, 'hola');     // 0
echo min('hola', 0);     // hola
echo min('hola', -1);    // -1

// Con varios arrays, min las compara de izquierda a derecha
// así que en nuestro ejemplo: 2 == 2, pero 4 < 5
$val = min(array(2, 4, 8), array(2, 5, 1)); // array(2, 4, 8)

// Si se pasan un array y algo que no sea un array, el array nunca
// es devuelto ya que se considera el valor mayor
$val = min('cadena', array(2, 5, 7), 42);   // cadena
?>

Ver también

  • max() - Encontrar el valor más alto
  • count() - Cuenta todos los elementos de un array o en un objeto

max
mt_getrandmax
Funciones Matemáticas


Mostrar el mayor valor aleatorio posible

min
mt_rand
Funciones Matemáticas
PHP Manual

mt_getrandmax

(PHP 4, PHP 5)

mt_getrandmax — Mostrar el mayor valor aleatorio posible

Descripción

int mt_getrandmax ( void )

Devuelve el valor máximo que puede ser devuelto por una llamada a mt_rand().

Valores devueltos

Devuelve el valor aleatorio máximo devuelto por mt_rand()

Ejemplos

Ejemplo #1 Calcular un número de coma flotante aleatorio

<?php
function randomFloat($min = 0, $max = 1) {
    return $min + mt_rand() / mt_getrandmax() * ($max - $min);
}

var_dump(randomFloat());
var_dump(randomFloat(2, 20));
?>

El resultado del ejemplo sería algo similar a:

float(0.91601131712832)
float(16.511210331931)

Ver también

  • mt_rand() - Genera un mejor número entero aleatorio
  • mt_srand() - Genera el mejor número aleatorio a partir de una semilla
  • getrandmax() - Mostrar el mayor valor aleatorio posible

min
mt_rand
Funciones Matemáticas


Genera un mejor número entero aleatorio

mt_getrandmax
mt_srand
Funciones Matemáticas
PHP Manual

mt_rand

(PHP 4, PHP 5)

mt_rand — Genera un mejor número entero aleatorio

Descripción

int mt_rand ( void )
int mt_rand ( int $min , int $max )

Muchos generadores de números aleatorios de antiguas libcs tienen características dudosas o desconocidas y son lentas. De manera predeterminada, PHP usa la libc generadora de números aleatorios con la función rand(). La función mt_rand() es un sustituto de dicha función. Utiliza un generador de números aleatorios con características conocidas usando » Mersenne Twister, que produce números aleatorios cuatro veces más rápido que el promedio proporcionado por la libc rand().

Se si emplea sin los argumentos opcionales min y max, mt_rand() devuelve un valor pseudoaleatorio entre 0 y mt_getrandmax(). Para obtener un número aleatorio entre 5 y 15 (incluidos), por ejemplo, use mt_rand(5, 15).

Parámetros

min

Opcionalmente, el menor valor a devolver (por defecto: 0)

max

Opcionalmente, el mayor valor a devolver (por defecto: mt_getrandmax())

Valores devueltos

Un valor entero aleatorio entre min (o 0) y max (o mt_getrandmax(), incluidos), o FALSE si max es menor que min.

Historial de cambios

Versión | Descripción
5.3.4 | Emite un error de nivel E_WARNING y devuelve FALSE si max < min.
4.2.0 | El generador de números aleatorio es sembrado automáticamente.

Ejemplos

Ejemplo #1 Ejemplo de mt_rand()

<?php
echo mt_rand() . "\n";
echo mt_rand() . "\n";

echo mt_rand(5, 15);
?>

El resultado del ejemplo sería algo similar a:

1604716014
1478613278
6

Notas

Precaución

Esta función no genera valores criptográficos fiables por lo que no debería usarse para propósitos criptográficos. Si fuera necesario un valor criptográfico seguro, considérese usar openssl_random_pseudo_bytes() en su lugar.

Precaución

La distribución de mt_rand() devuelve valores que se inclinan hacia los números pares en versiones 64 bits de PHP, cuando max está más alla de 2^32.

Ver también

  • mt_srand() - Genera el mejor número aleatorio a partir de una semilla
  • mt_getrandmax() - Mostrar el mayor valor aleatorio posible
  • openssl_random_pseudo_bytes() - Genera una cadena de bytes pseudo-aleatoria
  • rand() - Genera un número entero aleatorio

mt_getrandmax
mt_srand
Funciones Matemáticas


Genera el mejor número aleatorio a partir de una semilla

mt_rand
octdec
Funciones Matemáticas
PHP Manual

mt_srand

(PHP 4, PHP 5)

mt_srand — Genera el mejor número aleatorio a partir de una semilla

Descripción

void mt_srand ([ int $seed ] )

Incorpora la semilla seed al generador de números aleatorios, o con un valor aleatorio si no se proporciona seed.

Nota: Desde PHP 4.2.0, no es necesario usar una semilla para usar el generador de números aleatorios con srand() o mt_srand() ya que ahora se hace automáticamente.

Parámetros

seed

Valor de la semilla opcional

Valores devueltos

No devuelve ningún valor.

Historial de cambios

Versión | Descripción
4.2.0 | seed es opcional, y por omisión adquiere un valor aleatorio.
5.2.1 | La implementación de Mersenne Twister en PHP ahora usa un nuevo algoritmo para la semilla de Richard Wagner. La misma semilla ahora ya no produce la misma secuencia de valores como sucedía en anteriores versiones. No se espera que se vuelva a cambiar de nuevo este comportamiento, aunque, no obstante, se considera inseguro confiar en él.

Ejemplos

Ejemplo #1 Ejemplo de mt_srand()

<?php
// semilla de microsegundos
function make_seed()
{
  list($usec, $sec) = explode(' ', microtime());
  return (float) $sec + ((float) $usec * 100000);
}
mt_srand(make_seed());
$randval = mt_rand();
?>

Ver también

  • mt_rand() - Genera un mejor número entero aleatorio
  • mt_getrandmax() - Mostrar el mayor valor aleatorio posible
  • srand() - Genera un número aleatorio a partir de una semilla

mt_rand
octdec
Funciones Matemáticas


Octal a decimal

mt_srand
pi
Funciones Matemáticas
PHP Manual

octdec

(PHP 4, PHP 5)

octdec — Octal a decimal

Descripción

number octdec ( string $octal_string )

Devuelve el valor decimal equivalente al número octal representado por el argumento cadena_octal.

Parámetros

octal_string

El string octal a convertir

Valores devueltos

La representación decimal de octal_string

Historial de cambios

Versión | Descripción
4.1.0 | La función puede ahora convertir números que son demasiado grandes para caber en el tipo integer de la plataforma, los valores más grandes son devueltos, en este caso, como valores de tipo float.

Ejemplos

Ejemplo #1 Ejemplo de octdec()

<?php
echo octdec('77') . "\n";
echo octdec(decoct(45));
?>

El resultado del ejemplo sería:

63
45

Ver también

  • decoct() - Decimal a octal
  • bindec() - Binario a decimal
  • hexdec() - Hexadecimal a decimal
  • base_convert() - Convertir un número entre bases arbitrarias

mt_srand
pi
Funciones Matemáticas


Obtener valor de pi

octdec
pow
Funciones Matemáticas
PHP Manual

pi

(PHP 4, PHP 5)

pi — Obtener valor de pi

Descripción

float pi ( void )

Devuelve una aproximación de pi. El valor float devuelto tiene una precisión basada en la directiva precision en php.ini, cuyo valor predeterminado es 14. Asimismo, es posible usar la constantio M_PI, la cual produce el mismo resultado que pi().

Valores devueltos

El valor de pi como flotante.

Ejemplos

Ejemplo #1 Ejemplo de pi()

<?php
echo pi(); // 3.1415926535898
echo M_PI; // 3.1415926535898
?>

octdec
pow
Funciones Matemáticas


Expresión exponencial

pi
rad2deg
Funciones Matemáticas
PHP Manual

pow

(PHP 4, PHP 5)

pow — Expresión exponencial

Descripción

number pow ( number $base , number $exp )

Devuelve el valor base elevado a la potencia exp.

Parámetros

base

La base a ser usada

exp

El exponente

Valores devueltos

base elevada a la potencia de exp. Si ambos argumentos son números enteros no negativos y el resultado puede ser representado como un entero, el resultado será devuelto con tipo integer, de lo contrario se devuelve como un float.

Historial de cambios

Versión | Descripción
4.2.0 | No se emite advertencia, incluso si el valor no puede ser calculado.
4.0.6 | Ahora la función devolverá resultados integer, si es posible. Antes siempre devolvía un resultado float. Para versiones anteriores, puede que se reciba un resultado falso para números complejos.

Ejemplos

Ejemplo #1 Algunos ejemplos de pow()

<?php

var_dump(pow(2, 8)); // int(256)
echo pow(-1, 20); // 1
echo pow(0, 0); // 1

echo pow(-1, 5.5); // PHP >4.0.6  NAN
echo pow(-1, 5.5); // PHP <=4.0.6 1.#IND
?>

Notas

Nota:

Esta función convertirá toda entrada en un número, incluso valores no escalares, lo cual podría conducir a resultados extraños.

Ver también

  • exp() - Calcula la exponencial de e
  • sqrt() - Raíz cuadrada
  • bcpow() - Elevar un número de precisión arbitraria a otro
  • gmp_pow() - Aumenta el número a la potencia

pi
rad2deg
Funciones Matemáticas


Convierte el número en radianes a su equivalente en grados

pow
rand
Funciones Matemáticas
PHP Manual

rad2deg

(PHP 4, PHP 5)

rad2deg — Convierte el número en radianes a su equivalente en grados

Descripción

float rad2deg ( float $number )

Esta función convierte a numero desde radianes a grados.

Parámetros

number

Un valor en radianes

Valores devueltos

El equivalente de number en grados

Ejemplos

Ejemplo #1 Ejemplo de rad2deg()

<?php

echo rad2deg(M_PI_4); // 45

?>

Ver también

  • deg2rad() - Convierte el número en grados a su equivalente en radianes

pow
rand
Funciones Matemáticas


Genera un número entero aleatorio

rad2deg
round
Funciones Matemáticas
PHP Manual

rand

(PHP 4, PHP 5)

rand — Genera un número entero aleatorio

Descripción

int rand ( void )
int rand ( int $min , int $max )

Si se invoca sin los argumentos opconales min y max, rand() devuelve un entero pseudoaleatorio entre 0 y getrandmax(). Para obtener un número aleatorio entre 5 y 15 (incluidos), por ejemplo, use rand(5, 15).

Nota: En algunas plataformas (como en Windows), getrandmax() sólo alcanza hasta 32767. En caso de necesitar un valor mayor de 32767, se deberá especificar min y max para crear un valor mayor que este, o considere emplear mt_rand() en su lugar.

Parámetros

min

El menor valor a devolver (por defecto: 0)

max

El mayor valor a devolver (por defecto: getrandmax())

Valores devueltos

Un valor pseudoaleatorio entre min (o 0) y max (o getrandmax(), incluidos).

Historial de cambios

Versión | Descripción
4.2.0 | El generador de números aleatorio es sembrado automáticamente.

Ejemplos

Ejemplo #1 Ejemplo de rand()

<?php
echo rand() . "\n";
echo rand() . "\n";

echo rand(5, 15);
?>

El resultado del ejemplo sería algo similar a:

7771
22264
11

Notas

Precaución

Esta función no genera valores criptográficos fiables por lo que no debería usarse para propósitos criptográficos. Si fuera necesario un valor criptográfico seguro, considérese usar openssl_random_pseudo_bytes() en su lugar.

Ver también

  • srand() - Genera un número aleatorio a partir de una semilla
  • getrandmax() - Mostrar el mayor valor aleatorio posible
  • mt_rand() - Genera un mejor número entero aleatorio
  • openssl_random_pseudo_bytes() - Genera una cadena de bytes pseudo-aleatoria

rad2deg
round
Funciones Matemáticas


Redondea un float

rand
sin
Funciones Matemáticas
PHP Manual

round

(PHP 4, PHP 5)

round — Redondea un float

Descripción

float round ( float $val [, int $precision = 0 [, int $mode = PHP_ROUND_HALF_UP ]] )

Devuelve el valor redondeado de val con la precision especificada (número de dígitos después del punto decimal). precision puede también ser negativo o cero (valor predeterminado).

Nota: PHP no maneja correctamente cadenas como "12,300.2" por defecto. Consulte conversión desde cadenas.

Parámetros

val

El valor a redondear

precision

Opcionalmente, el número de dígitos decimales a redondear.

mode

Use una de las siguientes constantes para especificar el modo de redondeo.

Constante | Descripción
PHP_ROUND_HALF_UP | Redondea val hacia arriba a precision lugares decimales alejándose de cero, cuando está a medio camino. Hace que 1.5 sea 2, y -1.5 sea -2.
PHP_ROUND_HALF_DOWN | Redondea val hacia abajo a precision lugares decimales hacia cero, cuando está a medio camino. Hace que 1.5 sea 1, y -1.5 sea -1.
PHP_ROUND_HALF_EVEN | Redondea val a precision lugares decimales hacia el siguiente valor par.
PHP_ROUND_HALF_ODD | Redondea val a precision lugares decimales hacia el siguiente valor impar.

Valores devueltos

El valor redondeado

Ejemplos

Ejemplo #1 Ejemplos de round()

<?php
echo round(3.4);         // 3
echo round(3.5);         // 4
echo round(3.6);         // 4
echo round(3.6, 0);      // 4
echo round(1.95583, 2);  // 1.96
echo round(1241757, -3); // 1242000
echo round(5.045, 2);    // 5.05
echo round(5.055, 2);    // 5.06
?>

Ejemplo #2 Ejemplos de mode

<?php
echo round(9.5, 0, PHP_ROUND_HALF_UP);   // 10
echo round(9.5, 0, PHP_ROUND_HALF_DOWN); // 9
echo round(9.5, 0, PHP_ROUND_HALF_EVEN); // 10
echo round(9.5, 0, PHP_ROUND_HALF_ODD);  // 9

echo round(8.5, 0, PHP_ROUND_HALF_UP);   // 9
echo round(8.5, 0, PHP_ROUND_HALF_DOWN); // 8
echo round(8.5, 0, PHP_ROUND_HALF_EVEN); // 8
echo round(8.5, 0, PHP_ROUND_HALF_ODD);  // 9
?>

Ejemplo #3 Ejemplos de mode con precisión

<?php
/* Usar PHP_ROUND_HALF_UP com precisión de 1 dígito decimal */
echo round( 1.55, 1, PHP_ROUND_HALF_UP);   //  1.6
echo round( 1.54, 1, PHP_ROUND_HALF_UP);   //  1.5
echo round(-1.55, 1, PHP_ROUND_HALF_UP);   // -1.6
echo round(-1.54, 1, PHP_ROUND_HALF_UP);   // -1.5

/* Usar PHP_ROUND_HALF_DOWN com precisión de 1 dígito decimal */
echo round( 1.55, 1, PHP_ROUND_HALF_DOWN); //  1.5
echo round( 1.54, 1, PHP_ROUND_HALF_DOWN); //  1.5
echo round(-1.55, 1, PHP_ROUND_HALF_DOWN); // -1.5
echo round(-1.54, 1, PHP_ROUND_HALF_DOWN); // -1.5

/* Usar PHP_ROUND_HALF_EVEN com precisión de 1 dígito decimal */
echo round( 1.55, 1, PHP_ROUND_HALF_EVEN); //  1.6
echo round( 1.54, 1, PHP_ROUND_HALF_EVEN); //  1.5
echo round(-1.55, 1, PHP_ROUND_HALF_EVEN); // -1.6
echo round(-1.54, 1, PHP_ROUND_HALF_EVEN); // -1.5

/* Usar PHP_ROUND_HALF_ODD com precisión de 1 dígito decimal */
echo round( 1.55, 1, PHP_ROUND_HALF_ODD);  //  1.5
echo round( 1.54, 1, PHP_ROUND_HALF_ODD);  //  1.5
echo round(-1.55, 1, PHP_ROUND_HALF_ODD);  // -1.5
echo round(-1.54, 1, PHP_ROUND_HALF_ODD);  // -1.5
?>

Historial de cambios

Versión | Descripción
5.3.0 | Se introdujo el parámetro mode.
5.2.7 | El funcionamiento interno en round() se modificó para adecuarse al estándar C99.

Ver también

  • ceil() - Redondear fracciones hacia arriba
  • floor() - Redondear fracciones hacia abajo
  • number_format() - Formatear un número con los miles agrupados

rand
sin
Funciones Matemáticas


Seno

round
sinh
Funciones Matemáticas
PHP Manual

sin

(PHP 4, PHP 5)

sin — Seno

Descripción

float sin ( float $arg )

sin() devuelve el seno del parámetro arg. El parámetro arg se encuentra en radianes.

Parámetros

arg

Un valor en radianes

Valores devueltos

El seno de arg

Ejemplos

Ejemplo #1 Ejemplo de sin()

<?php

// La precisión depende de su directiva de precisión
echo sin(deg2rad(60));  //  0.866025403 ...
echo sin(60);           // -0.304810621 ...

?>

Ver también

  • asin() - Arco seno
  • sinh() - Seno hiperbólico
  • cos() - Coseno
  • tan() - Tangente
  • deg2rad() - Convierte el número en grados a su equivalente en radianes

round
sinh
Funciones Matemáticas


Seno hiperbólico

sin
sqrt
Funciones Matemáticas
PHP Manual

sinh

(PHP 4 >= 4.1.0, PHP 5)

sinh — Seno hiperbólico

Descripción

float sinh ( float $arg )

Devuelve el seno hiperbólico de arg, definido como (exp(arg) - exp(-arg))/2.

Parámetros

arg

El argumento a procesar

Valores devueltos

El seno hiperbólico de arg

Ver también

  • sin() - Seno
  • asinh() - Arco seno hiperbólico
  • cosh() - Coseno hiperbólico
  • tanh() - Tangente hiperbólica

sin
sqrt
Funciones Matemáticas


Raíz cuadrada

sinh
srand
Funciones Matemáticas
PHP Manual

sqrt

(PHP 4, PHP 5)

sqrt — Raíz cuadrada

Descripción

float sqrt ( float $arg )

Devuelve la raíz cuadrada de arg.

Parámetros

arg

El argumento a procesar

Valores devueltos

La raíz cuadrada de arg o el valor especial NAN para números negativos.

Ejemplos

Ejemplo #1 Ejemplo de sqrt()

<?php
// La precisión depende de la directiva de precisión elegida
echo sqrt(9); // 3
echo sqrt(10); // 3.16227766 ...
?>

Ver también

  • pow() - Expresión exponencial

sinh
srand
Funciones Matemáticas


Genera un número aleatorio a partir de una semilla

sqrt
tan
Funciones Matemáticas
PHP Manual

srand

(PHP 4, PHP 5)

srand — Genera un número aleatorio a partir de una semilla

Descripción

void srand ([ int $seed ] )

Incorpora la semilla seed al generador de números aleatorios, o con un valor aleatorio si no se proporciona seed.

Nota: Desde PHP 4.2.0, no es necesario usar una semilla para usar el generador de números aleatorios con srand() o mt_srand() ya que ahora se hace automáticamente.

Parámetros

seed

Valor de la semilla opcional

Valores devueltos

No devuelve ningún valor.

Historial de cambios

Versión | Descripción
4.2.0 | seed es opcional y por omisión adquiere un valor aleatorio.

Ejemplos

Ejemplo #1 Ejemplo de srand()

<?php
// semilla de microsegundos
function make_seed()
{
  list($usec, $sec) = explode(' ', microtime());
  return (float) $sec + ((float) $usec * 100000);
}
srand(make_seed());
$randval = rand();
?>

Ver también

  • rand() - Genera un número entero aleatorio
  • getrandmax() - Mostrar el mayor valor aleatorio posible
  • mt_srand() - Genera el mejor número aleatorio a partir de una semilla

sqrt
tan
Funciones Matemáticas


Tangente

srand
tanh
Funciones Matemáticas
PHP Manual

tan

(PHP 4, PHP 5)

tan — Tangente

Descripción

float tan ( float $arg )

tan() devuelve la tangente del parámetro arg. El parámetro arg se encuentra en radianes.

Parámetros

arg

El argumento a procesar en radianes

Valores devueltos

La tangente de arg

Ejemplos

Ejemplo #1 Ejemplo de tan()

<?php

echo tan(M_PI_4); // 1

?>

Ver también

  • atan() - Arco tangente
  • atan2() - Arco tangente de dos variables
  • sin() - Seno
  • cos() - Coseno
  • tanh() - Tangente hiperbólica
  • deg2rad() - Convierte el número en grados a su equivalente en radianes

srand
tanh
Funciones Matemáticas


Tangente hiperbólica

tan
Estadísticas
Funciones Matemáticas
PHP Manual

tanh

(PHP 4 >= 4.1.0, PHP 5)

tanh — Tangente hiperbólica

Descripción

float tanh ( float $arg )

Devuelve la tangente hiperbólica de arg, definida como sinh(arg)/cosh(arg).

Parámetros

arg

El argumento a procesar

Valores devueltos

La tangente hiperbólica de arg

Ver también

  • tan() - Tangente
  • atanh() - Arco tangente hiperbólica
  • sinh() - Seno hiperbólico
  • cosh() - Coseno hiperbólico

tan
Estadísticas
Funciones Matemáticas


Estadísticas

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de Estadísticas
    • stats_absolute_deviation — Devuelve la desviación media de una matriz de valores
    • stats_cdf_beta — Calcula un parámetro de la distribución beta según los valores dados a los otros
    • stats_cdf_binomial — Calcula un parámetro de la distribución binomial según los valores dados a los otros
    • stats_cdf_cauchy — No documentada
    • stats_cdf_chisquare — Calcula un parámetro de la distribución ji-cuadrado según los valores dados a los otros
    • stats_cdf_exponential — No documentada
    • stats_cdf_f — Calcula un parámetro de la distribución F según los valores dados a los otros
    • stats_cdf_gamma — Calcula un parámetro de la distribución gamma según los valores dados a los otros
    • stats_cdf_laplace — No documentada
    • stats_cdf_logistic — No documentada
    • stats_cdf_negative_binomial — Calcula un parámetro de la distribución binomial negativa según los valores dados a los otros
    • stats_cdf_noncentral_chisquare — Calcula un parámetro de la distribución ji-cuadrado no central según los valores dados a los otros
    • stats_cdf_noncentral_f — Calcula un parámetro de la distribución F no central según los valores dados a los otros
    • stats_cdf_poisson — Calcula un parámetro de la distribución de Poisson según los valores dados a los otros
    • stats_cdf_t — Calcula un parámetro de la distribución T según los valores dados a los otros
    • stats_cdf_uniform — No documentada
    • stats_cdf_weibull — No documentada
    • stats_covariance — Computa la covarianza de dos conjuntos de datos
    • stats_den_uniform — No documentada
    • stats_dens_beta — No documentada
    • stats_dens_cauchy — No documentada
    • stats_dens_chisquare — No documentada
    • stats_dens_exponential — No documentada
    • stats_dens_f — Descripción
    • stats_dens_gamma — No documentada
    • stats_dens_laplace — No documentada
    • stats_dens_logistic — No documentada
    • stats_dens_negative_binomial — No documentada
    • stats_dens_normal — No documentada
    • stats_dens_pmf_binomial — No documentada
    • stats_dens_pmf_hypergeometric — Descripción
    • stats_dens_pmf_poisson — No documentada
    • stats_dens_t — No documentada
    • stats_dens_weibull — No documentada
    • stats_harmonic_mean — Devuelve la media armónica de una matriz de valores
    • stats_kurtosis — Computa la curtosis de la información de la matriz
    • stats_rand_gen_beta — Genera una desviación aleatoria beta
    • stats_rand_gen_chisquare — Genera una desviación aleatorio desde una distribución ji-cuadrado con "df" grados de libertad de variable aleatoria
    • stats_rand_gen_exponential — Genera una desviación aleatoria sencilla desde una distribución exponencial con media "av"
    • stats_rand_gen_f — Genera una desviación aleatoria
    • stats_rand_gen_funiform — Genera números de coma flotante uniformes entretes low (exclusive) y high (exclusive)
    • stats_rand_gen_gamma — Genera desviaciones aleatorias desde una distribución gamma
    • stats_rand_gen_ibinomial_negative — Generates una desviación aleatoria sencilla desde una distribución binomial negativa. Argumentos : n - el número de pruebas de la distribución binomial negativa desde la cuál se va a generar una desviación aleatoria (n > 0), p - la probabilidad de un suceso (0 < p < 1))
    • stats_rand_gen_ibinomial — Genera una desviación sencilla desde una distribución binomial cuyo número de pruebas es "n" (n >= 0) y cuya probabilidad de un suceso en cada prueba es "pp" ([0;1]). Método : algoritmo BTPE
    • stats_rand_gen_int — Genera enteros aleatorios entre 1 y 2147483562
    • stats_rand_gen_ipoisson — Genera una desviación aleatoria sencilla desde una distribución Poisson con media "mu" (mu >= 0.0)
    • stats_rand_gen_iuniform — Genera enteros uniformemente distribuidos entre LOW (inclusive) y HIGH (inclusive)
    • stats_rand_gen_noncenral_chisquare — Genera una desviación aleatoria desde una distribución ji-cuadrado no central con "df" grados de libertad y el parámetro no central "xnonc". d debe ser >= 1.0, xnonc debe sert >= 0.0
    • stats_rand_gen_noncentral_f — Genera una desviación aleatoria desde una distribución F no central (ratio de varianza) con "dfn" grados de libertad en el numerador y "dfd" grados de libertad en el denominador, y parámetro no central "xnonc". Método : genera directamente el ratio de la desviación ji-cuadrado de numerador no central hasta la variación ji-cuadrado de denominador central
    • stats_rand_gen_noncentral_t — Genera una desviación aleatoria sencilla desde una distribución T no central
    • stats_rand_gen_normal — Genera una desviación aleatoria sencilla desde una distribución normal con media av, y desviación estándar sd (sd >= 0). Método : Renombra SNORM desde TOMS ya que está ligeramente modificado por BWB para usar RANF en lugar de SUNIF
    • stats_rand_gen_t — Genera una desviación aleatoria sencilla desde una distribución T
    • stats_rand_get_seeds — No documentada
    • stats_rand_phrase_to_seeds — Generar dos semillas para el generador de números aleatorios RGN
    • stats_rand_ranf — Devuelve un número de coma flotante desde una distribución uniforme sobre 0 - 1 (los extremos de este intervalo no son devueltos) usando el generador actual
    • stats_rand_setall — No documentada
    • stats_skew — Computa la oblicuidad de los datos de una matriz
    • stats_standard_deviation — Devuelve la desviación estándar
    • stats_stat_binomial_coef — No documentada
    • stats_stat_correlation — No documentada
    • stats_stat_gennch — No documentada
    • stats_stat_independent_t — No documentada
    • stats_stat_innerproduct — Descripción
    • stats_stat_noncentral_t — Calcula un parámetro de la distribución T no central según los valores dados a los otros
    • stats_stat_paired_t — No documentada
    • stats_stat_percentile — No documentada
    • stats_stat_powersum — No documentada
    • stats_variance — Devuelve la varianza de población
tanh
Introducción
Extensiones matemáticas


Introducción

Esta es la extensión de estadísticas. Contiene varias docenas de funciones útiles para cálculo estadístico. Es una envoltura sobre 2 bibliotecas ceintíficas, a saber DCDFLIB (Biblioteca de rutinas en C para Funciones de Distribución Acumulada, Inversos, y Otros parámetros) por B. Brown & J. Lavato y RANDLIB por Barry Brown, James Lavato & Kathy Russell. Incluye funciones CD y PD.

Estadísticas
Instalación/Configuración
Estadísticas


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Estadísticas


Requerimientos

No se necesitan bibliotecas externas. La extensión viene incluida con las bibliotecas usadas.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/stats.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Funciones de Estadísticas
Estadísticas


Funciones de Estadísticas

Tabla de contenidos

  • stats_absolute_deviation — Devuelve la desviación media de una matriz de valores
  • stats_cdf_beta — Calcula un parámetro de la distribución beta según los valores dados a los otros
  • stats_cdf_binomial — Calcula un parámetro de la distribución binomial según los valores dados a los otros
  • stats_cdf_cauchy — No documentada
  • stats_cdf_chisquare — Calcula un parámetro de la distribución ji-cuadrado según los valores dados a los otros
  • stats_cdf_exponential — No documentada
  • stats_cdf_f — Calcula un parámetro de la distribución F según los valores dados a los otros
  • stats_cdf_gamma — Calcula un parámetro de la distribución gamma según los valores dados a los otros
  • stats_cdf_laplace — No documentada
  • stats_cdf_logistic — No documentada
  • stats_cdf_negative_binomial — Calcula un parámetro de la distribución binomial negativa según los valores dados a los otros
  • stats_cdf_noncentral_chisquare — Calcula un parámetro de la distribución ji-cuadrado no central según los valores dados a los otros
  • stats_cdf_noncentral_f — Calcula un parámetro de la distribución F no central según los valores dados a los otros
  • stats_cdf_poisson — Calcula un parámetro de la distribución de Poisson según los valores dados a los otros
  • stats_cdf_t — Calcula un parámetro de la distribución T según los valores dados a los otros
  • stats_cdf_uniform — No documentada
  • stats_cdf_weibull — No documentada
  • stats_covariance — Computa la covarianza de dos conjuntos de datos
  • stats_den_uniform — No documentada
  • stats_dens_beta — No documentada
  • stats_dens_cauchy — No documentada
  • stats_dens_chisquare — No documentada
  • stats_dens_exponential — No documentada
  • stats_dens_f — Descripción
  • stats_dens_gamma — No documentada
  • stats_dens_laplace — No documentada
  • stats_dens_logistic — No documentada
  • stats_dens_negative_binomial — No documentada
  • stats_dens_normal — No documentada
  • stats_dens_pmf_binomial — No documentada
  • stats_dens_pmf_hypergeometric — Descripción
  • stats_dens_pmf_poisson — No documentada
  • stats_dens_t — No documentada
  • stats_dens_weibull — No documentada
  • stats_harmonic_mean — Devuelve la media armónica de una matriz de valores
  • stats_kurtosis — Computa la curtosis de la información de la matriz
  • stats_rand_gen_beta — Genera una desviación aleatoria beta
  • stats_rand_gen_chisquare — Genera una desviación aleatorio desde una distribución ji-cuadrado con "df" grados de libertad de variable aleatoria
  • stats_rand_gen_exponential — Genera una desviación aleatoria sencilla desde una distribución exponencial con media "av"
  • stats_rand_gen_f — Genera una desviación aleatoria
  • stats_rand_gen_funiform — Genera números de coma flotante uniformes entretes low (exclusive) y high (exclusive)
  • stats_rand_gen_gamma — Genera desviaciones aleatorias desde una distribución gamma
  • stats_rand_gen_ibinomial_negative — Generates una desviación aleatoria sencilla desde una distribución binomial negativa. Argumentos : n - el número de pruebas de la distribución binomial negativa desde la cuál se va a generar una desviación aleatoria (n > 0), p - la probabilidad de un suceso (0 < p < 1))
  • stats_rand_gen_ibinomial — Genera una desviación sencilla desde una distribución binomial cuyo número de pruebas es "n" (n >= 0) y cuya probabilidad de un suceso en cada prueba es "pp" ([0;1]). Método : algoritmo BTPE
  • stats_rand_gen_int — Genera enteros aleatorios entre 1 y 2147483562
  • stats_rand_gen_ipoisson — Genera una desviación aleatoria sencilla desde una distribución Poisson con media "mu" (mu >= 0.0)
  • stats_rand_gen_iuniform — Genera enteros uniformemente distribuidos entre LOW (inclusive) y HIGH (inclusive)
  • stats_rand_gen_noncenral_chisquare — Genera una desviación aleatoria desde una distribución ji-cuadrado no central con "df" grados de libertad y el parámetro no central "xnonc". d debe ser >= 1.0, xnonc debe sert >= 0.0
  • stats_rand_gen_noncentral_f — Genera una desviación aleatoria desde una distribución F no central (ratio de varianza) con "dfn" grados de libertad en el numerador y "dfd" grados de libertad en el denominador, y parámetro no central "xnonc". Método : genera directamente el ratio de la desviación ji-cuadrado de numerador no central hasta la variación ji-cuadrado de denominador central
  • stats_rand_gen_noncentral_t — Genera una desviación aleatoria sencilla desde una distribución T no central
  • stats_rand_gen_normal — Genera una desviación aleatoria sencilla desde una distribución normal con media av, y desviación estándar sd (sd >= 0). Método : Renombra SNORM desde TOMS ya que está ligeramente modificado por BWB para usar RANF en lugar de SUNIF
  • stats_rand_gen_t — Genera una desviación aleatoria sencilla desde una distribución T
  • stats_rand_get_seeds — No documentada
  • stats_rand_phrase_to_seeds — Generar dos semillas para el generador de números aleatorios RGN
  • stats_rand_ranf — Devuelve un número de coma flotante desde una distribución uniforme sobre 0 - 1 (los extremos de este intervalo no son devueltos) usando el generador actual
  • stats_rand_setall — No documentada
  • stats_skew — Computa la oblicuidad de los datos de una matriz
  • stats_standard_deviation — Devuelve la desviación estándar
  • stats_stat_binomial_coef — No documentada
  • stats_stat_correlation — No documentada
  • stats_stat_gennch — No documentada
  • stats_stat_independent_t — No documentada
  • stats_stat_innerproduct — Descripción
  • stats_stat_noncentral_t — Calcula un parámetro de la distribución T no central según los valores dados a los otros
  • stats_stat_paired_t — No documentada
  • stats_stat_percentile — No documentada
  • stats_stat_powersum — No documentada
  • stats_variance — Devuelve la varianza de población
Constantes predefinidas
stats_absolute_deviation
Estadísticas


Devuelve la desviación media de una matriz de valores

Funciones de Estadísticas
stats_cdf_beta
Funciones de Estadísticas
PHP Manual

stats_absolute_deviation

(PECL stats >= 1.0.0)

stats_absolute_deviation — Devuelve la desviación media de una matriz de valores

Descripción

float stats_absolute_deviation ( array $a )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

a

Valores devueltos

Funciones de Estadísticas
stats_cdf_beta
Funciones de Estadísticas


Calcula un parámetro de la distribución beta según los valores dados a los otros

stats_absolute_deviation
stats_cdf_binomial
Funciones de Estadísticas
PHP Manual

stats_cdf_beta

(PECL stats >= 1.0.0)

stats_cdf_beta — Calcula un parámetro de la distribución beta según los valores dados a los otros

Descripción

float stats_cdf_beta ( float $par1 , float $par2 , float $par3 , int $which )

Método La función de distribución acumulativa (P) se calcula directamente mediante código asociado con la referencia siguiente. DiDinato, A. R. and Morris, A. H. Algorithm 708: Significant Digit Computation of the Incomplete Beta Function Ratios. ACM Trans. Math. Softw. 18 (1993), 360-373. El cálculo de los demás parámetros implica una búsqueda de un valor que produzca del valor deseado de P. La búsqueda depende de la monotonía de P con el otro parámetro. Nota La densidad de beta es proporcional a t^(A-1) * (1-t)^(B-1) Argumentos P -- La integral desde 0 a X de la distribución ji-cuadrado. Rango de entrada: [0, 1]. Q -- 1-P. Rango de entrada: [0, 1]. P + Q = 1.0. X -- Límite superior de integración de la densidad beta. Rango de entrada: [0,1]. Rango de búsqueda: [0,1] Y -- 1-X. Rango de entrada: [0,1]. Rango de búsqueda: [0,1] X + Y = 1.0. A -- El primer parámetro de la densidad beta. Rango de entrada: (0, +infinito). Rango de búsqueda: [1D-100,1D100] B -- El segundo parámetro de la densidad beta. Rango de entrada: (0, +infinito). Rango de búsqueda: [1D-100,1D100] STATUS -- 0 si el cálculo se completo correctamente -I si el parámetro de entrada número I está fuera de rango 1 si la respuesta parece ser menor que el límite de búsqueda más bajo 2 si la respuesta parece ser mayor que el límite de búsqueda más alto 3 si P + Q .ne. 1 4 si X + Y .ne. 1 BOUND -- Indefinido si STATUS es 0 Límite excedido por el parámetro número I si STATUS es negativo. Límite de búsqueda inferior si STATUS es 1. Límite de búsqueda superior si STATUS es 2.

Parámetros

par1

par2

par3

which

Un entero que indica cuál de los valores de los cuatro siguientes argumentos se va a calcular desde los otros. Ralgo válido: 1..4 which = 1 : Calcula P y Q desde X,Y,A y B which = 2 : Calcula X y Y desde P,Q,A y B which = 3 : Calcula A desde P,Q,X,Y y B which = 4 : Calcula B desde P,Q,X,Y y A

Valores devueltos

STATUS -- 0 si el cálculo se completo correctamente -I si el parámetro de entrada número I está fuera de rango 1 si la respuesta parece ser menor que el límite de búsqueda más bajo 2 si la respuesta parece ser mayor que el límite de búsqueda más alto 3 si P + Q .ne. 1 4 si X + Y .ne. 1

stats_absolute_deviation
stats_cdf_binomial
Funciones de Estadísticas


Calcula un parámetro de la distribución binomial según los valores dados a los otros

stats_cdf_beta
stats_cdf_cauchy
Funciones de Estadísticas
PHP Manual

stats_cdf_binomial

(PECL stats >= 1.0.0)

stats_cdf_binomial — Calcula un parámetro de la distribución binomial según los valores dados a los otros

Descripción

float stats_cdf_binomial ( float $par1 , float $par2 , float $par3 , int $which )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

par1

par2

par3

which

Valores devueltos

stats_cdf_beta
stats_cdf_cauchy
Funciones de Estadísticas


No documentada

stats_cdf_binomial
stats_cdf_chisquare
Funciones de Estadísticas
PHP Manual

stats_cdf_cauchy

(PECL stats >= 1.0.0)

stats_cdf_cauchy — No documentada

Descripción

float stats_cdf_cauchy ( float $par1 , float $par2 , float $par3 , int $which )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

par1

par2

par3

which

Valores devueltos

stats_cdf_binomial
stats_cdf_chisquare
Funciones de Estadísticas


Calcula un parámetro de la distribución ji-cuadrado según los valores dados a los otros

stats_cdf_cauchy
stats_cdf_exponential
Funciones de Estadísticas
PHP Manual

stats_cdf_chisquare

(PECL stats >= 1.0.0)

stats_cdf_chisquare — Calcula un parámetro de la distribución ji-cuadrado según los valores dados a los otros

Descripción

float stats_cdf_chisquare ( float $par1 , float $par2 , int $which )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

par1

par2

which

Valores devueltos

stats_cdf_cauchy
stats_cdf_exponential
Funciones de Estadísticas


No documentada

stats_cdf_chisquare
stats_cdf_f
Funciones de Estadísticas
PHP Manual

stats_cdf_exponential

(PECL stats >= 1.0.0)

stats_cdf_exponential — No documentada

Descripción

float stats_cdf_exponential ( float $par1 , float $par2 , int $which )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

par1

par2

which

Valores devueltos

stats_cdf_chisquare
stats_cdf_f
Funciones de Estadísticas


Calcula un parámetro de la distribución F según los valores dados a los otros

stats_cdf_exponential
stats_cdf_gamma
Funciones de Estadísticas
PHP Manual

stats_cdf_f

(PECL stats >= 1.0.0)

stats_cdf_f — Calcula un parámetro de la distribución F según los valores dados a los otros

Descripción

float stats_cdf_f ( float $par1 , float $par2 , float $par3 , int $which )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

par1

par2

par3

which

Valores devueltos

stats_cdf_exponential
stats_cdf_gamma
Funciones de Estadísticas


Calcula un parámetro de la distribución gamma según los valores dados a los otros

stats_cdf_f
stats_cdf_laplace
Funciones de Estadísticas
PHP Manual

stats_cdf_gamma

(PECL stats >= 1.0.0)

stats_cdf_gamma — Calcula un parámetro de la distribución gamma según los valores dados a los otros

Descripción

float stats_cdf_gamma ( float $par1 , float $par2 , float $par3 , int $which )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

par1

par2

par3

which

Valores devueltos

stats_cdf_f
stats_cdf_laplace
Funciones de Estadísticas


No documentada

stats_cdf_gamma
stats_cdf_logistic
Funciones de Estadísticas
PHP Manual

stats_cdf_laplace

(PECL stats >= 1.0.0)

stats_cdf_laplace — No documentada

Descripción

float stats_cdf_laplace ( float $par1 , float $par2 , float $par3 , int $which )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

par1

par2

par3

which

Valores devueltos

stats_cdf_gamma
stats_cdf_logistic
Funciones de Estadísticas


No documentada

stats_cdf_laplace
stats_cdf_negative_binomial
Funciones de Estadísticas
PHP Manual

stats_cdf_logistic

(PECL stats >= 1.0.0)

stats_cdf_logistic — No documentada

Descripción

float stats_cdf_logistic ( float $par1 , float $par2 , float $par3 , int $which )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

par1

par2

par3

which

Valores devueltos

stats_cdf_laplace
stats_cdf_negative_binomial
Funciones de Estadísticas


Calcula un parámetro de la distribución binomial negativa según los valores dados a los otros

stats_cdf_logistic
stats_cdf_noncentral_chisquare
Funciones de Estadísticas
PHP Manual

stats_cdf_negative_binomial

(PECL stats >= 1.0.0)

stats_cdf_negative_binomial — Calcula un parámetro de la distribución binomial negativa según los valores dados a los otros

Descripción

float stats_cdf_negative_binomial ( float $par1 , float $par2 , float $par3 , int $which )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

par1

par2

par3

which

Valores devueltos

stats_cdf_logistic
stats_cdf_noncentral_chisquare
Funciones de Estadísticas


Calcula un parámetro de la distribución ji-cuadrado no central según los valores dados a los otros

stats_cdf_negative_binomial
stats_cdf_noncentral_f
Funciones de Estadísticas
PHP Manual

stats_cdf_noncentral_chisquare

(PECL stats >= 1.0.0)

stats_cdf_noncentral_chisquare — Calcula un parámetro de la distribución ji-cuadrado no central según los valores dados a los otros

Descripción

float stats_cdf_noncentral_chisquare ( float $par1 , float $par2 , float $par3 , int $which )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

par1

par2

par3

which

Valores devueltos

stats_cdf_negative_binomial
stats_cdf_noncentral_f
Funciones de Estadísticas


Calcula un parámetro de la distribución F no central según los valores dados a los otros

stats_cdf_noncentral_chisquare
stats_cdf_poisson
Funciones de Estadísticas
PHP Manual

stats_cdf_noncentral_f

(PECL stats >= 1.0.0)

stats_cdf_noncentral_f — Calcula un parámetro de la distribución F no central según los valores dados a los otros

Descripción

float stats_cdf_noncentral_f ( float $par1 , float $par2 , float $par3 , float $par4 , int $which )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

par1

par2

par3

par4

which

Valores devueltos

stats_cdf_noncentral_chisquare
stats_cdf_poisson
Funciones de Estadísticas


Calcula un parámetro de la distribución de Poisson según los valores dados a los otros

stats_cdf_noncentral_f
stats_cdf_t
Funciones de Estadísticas
PHP Manual

stats_cdf_poisson

(PECL stats >= 1.0.0)

stats_cdf_poisson — Calcula un parámetro de la distribución de Poisson según los valores dados a los otros

Descripción

float stats_cdf_poisson ( float $par1 , float $par2 , int $which )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

par1

par2

which

Valores devueltos

stats_cdf_noncentral_f
stats_cdf_t
Funciones de Estadísticas


Calcula un parámetro de la distribución T según los valores dados a los otros

stats_cdf_poisson
stats_cdf_uniform
Funciones de Estadísticas
PHP Manual

stats_cdf_t

(PECL stats >= 1.0.0)

stats_cdf_t — Calcula un parámetro de la distribución T según los valores dados a los otros

Descripción

float stats_cdf_t ( float $par1 , float $par2 , int $which )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

par1

par2

which

Valores devueltos

stats_cdf_poisson
stats_cdf_uniform
Funciones de Estadísticas


No documentada

stats_cdf_t
stats_cdf_weibull
Funciones de Estadísticas
PHP Manual

stats_cdf_uniform

(PECL stats >= 1.0.0)

stats_cdf_uniform — No documentada

Descripción

float stats_cdf_uniform ( float $par1 , float $par2 , float $par3 , int $which )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

par1

par2

par3

which

Valores devueltos

stats_cdf_t
stats_cdf_weibull
Funciones de Estadísticas


No documentada

stats_cdf_uniform
stats_covariance
Funciones de Estadísticas
PHP Manual

stats_cdf_weibull

(PECL stats >= 1.0.0)

stats_cdf_weibull — No documentada

Descripción

float stats_cdf_weibull ( float $par1 , float $par2 , float $par3 , int $which )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

par1

par2

par3

which

Valores devueltos

stats_cdf_uniform
stats_covariance
Funciones de Estadísticas


Computa la covarianza de dos conjuntos de datos

stats_cdf_weibull
stats_den_uniform
Funciones de Estadísticas
PHP Manual

stats_covariance

(PECL stats >= 1.0.0)

stats_covariance — Computa la covarianza de dos conjuntos de datos

Descripción

float stats_covariance ( array $a , array $b )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

a

b

Valores devueltos

stats_cdf_weibull
stats_den_uniform
Funciones de Estadísticas


No documentada

stats_covariance
stats_dens_beta
Funciones de Estadísticas
PHP Manual

stats_den_uniform

(PECL stats >= 1.0.0)

stats_den_uniform — No documentada

Descripción

float stats_den_uniform ( float $x , float $a , float $b )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

x

a

b

Valores devueltos

stats_covariance
stats_dens_beta
Funciones de Estadísticas


No documentada

stats_den_uniform
stats_dens_cauchy
Funciones de Estadísticas
PHP Manual

stats_dens_beta

(PECL stats >= 1.0.0)

stats_dens_beta — No documentada

Descripción

float stats_dens_beta ( float $x , float $a , float $b )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

x

a

b

Valores devueltos

stats_den_uniform
stats_dens_cauchy
Funciones de Estadísticas


No documentada

stats_dens_beta
stats_dens_chisquare
Funciones de Estadísticas
PHP Manual

stats_dens_cauchy

(PECL stats >= 1.0.0)

stats_dens_cauchy — No documentada

Descripción

float stats_dens_cauchy ( float $x , float $ave , float $stdev )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

x

ave

stdev

Valores devueltos

stats_dens_beta
stats_dens_chisquare
Funciones de Estadísticas


No documentada

stats_dens_cauchy
stats_dens_exponential
Funciones de Estadísticas
PHP Manual

stats_dens_chisquare

(PECL stats >= 1.0.0)

stats_dens_chisquare — No documentada

Descripción

float stats_dens_chisquare ( float $x , float $dfr )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

x

dfr

Valores devueltos

stats_dens_cauchy
stats_dens_exponential
Funciones de Estadísticas


No documentada

stats_dens_chisquare
stats_dens_f
Funciones de Estadísticas
PHP Manual

stats_dens_exponential

(PECL stats >= 1.0.0)

stats_dens_exponential — No documentada

Descripción

float stats_dens_exponential ( float $x , float $scale )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

x

scale

Valores devueltos

stats_dens_chisquare
stats_dens_f
Funciones de Estadísticas


stats_dens_exponential
stats_dens_gamma
Funciones de Estadísticas
PHP Manual

stats_dens_f

(PECL stats >= 1.0.0)

stats_dens_f —

Descripción

float stats_dens_f ( float $x , float $dfr1 , float $dfr2 )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

x

dfr1

dfr2

Valores devueltos

stats_dens_exponential
stats_dens_gamma
Funciones de Estadísticas


No documentada

stats_dens_f
stats_dens_laplace
Funciones de Estadísticas
PHP Manual

stats_dens_gamma

(PECL stats >= 1.0.0)

stats_dens_gamma — No documentada

Descripción

float stats_dens_gamma ( float $x , float $shape , float $scale )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

x

shape

scale

Valores devueltos

stats_dens_f
stats_dens_laplace
Funciones de Estadísticas


No documentada

stats_dens_gamma
stats_dens_logistic
Funciones de Estadísticas
PHP Manual

stats_dens_laplace

(PECL stats >= 1.0.0)

stats_dens_laplace — No documentada

Descripción

float stats_dens_laplace ( float $x , float $ave , float $stdev )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

x

ave

stdev

Valores devueltos

stats_dens_gamma
stats_dens_logistic
Funciones de Estadísticas


No documentada

stats_dens_laplace
stats_dens_negative_binomial
Funciones de Estadísticas
PHP Manual

stats_dens_logistic

(PECL stats >= 1.0.0)

stats_dens_logistic — No documentada

Descripción

float stats_dens_logistic ( float $x , float $ave , float $stdev )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

x

ave

stdev

Valores devueltos

stats_dens_laplace
stats_dens_negative_binomial
Funciones de Estadísticas


No documentada

stats_dens_logistic
stats_dens_normal
Funciones de Estadísticas
PHP Manual

stats_dens_negative_binomial

(PECL stats >= 1.0.0)

stats_dens_negative_binomial — No documentada

Descripción

float stats_dens_negative_binomial ( float $x , float $n , float $pi )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

x

n

pi

Valores devueltos

stats_dens_logistic
stats_dens_normal
Funciones de Estadísticas


No documentada

stats_dens_negative_binomial
stats_dens_pmf_binomial
Funciones de Estadísticas
PHP Manual

stats_dens_normal

(PECL stats >= 1.0.0)

stats_dens_normal — No documentada

Descripción

float stats_dens_normal ( float $x , float $ave , float $stdev )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

x

ave

stdev

Valores devueltos

stats_dens_negative_binomial
stats_dens_pmf_binomial
Funciones de Estadísticas


No documentada

stats_dens_normal
stats_dens_pmf_hypergeometric
Funciones de Estadísticas
PHP Manual

stats_dens_pmf_binomial

(PECL stats >= 1.0.0)

stats_dens_pmf_binomial — No documentada

Descripción

float stats_dens_pmf_binomial ( float $x , float $n , float $pi )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

x

n

pi

Valores devueltos

stats_dens_normal
stats_dens_pmf_hypergeometric
Funciones de Estadísticas


stats_dens_pmf_binomial
stats_dens_pmf_poisson
Funciones de Estadísticas
PHP Manual

stats_dens_pmf_hypergeometric

(PECL stats >= 1.0.0)

stats_dens_pmf_hypergeometric —

Descripción

float stats_dens_pmf_hypergeometric ( float $n1 , float $n2 , float $N1 , float $N2 )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

n1

n2

N1

N2

Valores devueltos

stats_dens_pmf_binomial
stats_dens_pmf_poisson
Funciones de Estadísticas


No documentada

stats_dens_pmf_hypergeometric
stats_dens_t
Funciones de Estadísticas
PHP Manual

stats_dens_pmf_poisson

(PECL stats >= 1.0.0)

stats_dens_pmf_poisson — No documentada

Descripción

float stats_dens_pmf_poisson ( float $x , float $lb )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

x

lb

Valores devueltos

stats_dens_pmf_hypergeometric
stats_dens_t
Funciones de Estadísticas


No documentada

stats_dens_pmf_poisson
stats_dens_weibull
Funciones de Estadísticas
PHP Manual

stats_dens_t

(PECL stats >= 1.0.0)

stats_dens_t — No documentada

Descripción

float stats_dens_t ( float $x , float $dfr )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

x

dfr

Valores devueltos

stats_dens_pmf_poisson
stats_dens_weibull
Funciones de Estadísticas


No documentada

stats_dens_t
stats_harmonic_mean
Funciones de Estadísticas
PHP Manual

stats_dens_weibull

(PECL stats >= 1.0.0)

stats_dens_weibull — No documentada

Descripción

float stats_dens_weibull ( float $x , float $a , float $b )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

x

a

b

Valores devueltos

stats_dens_t
stats_harmonic_mean
Funciones de Estadísticas


Devuelve la media armónica de una matriz de valores

stats_dens_weibull
stats_kurtosis
Funciones de Estadísticas
PHP Manual

stats_harmonic_mean

(PECL stats >= 1.0.0)

stats_harmonic_mean — Devuelve la media armónica de una matriz de valores

Descripción

number stats_harmonic_mean ( array $a )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

a

Valores devueltos

stats_dens_weibull
stats_kurtosis
Funciones de Estadísticas


Computa la curtosis de la información de la matriz

stats_harmonic_mean
stats_rand_gen_beta
Funciones de Estadísticas
PHP Manual

stats_kurtosis

(PECL stats >= 1.0.0)

stats_kurtosis — Computa la curtosis de la información de la matriz

Descripción

float stats_kurtosis ( array $a )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

a

Valores devueltos

stats_harmonic_mean
stats_rand_gen_beta
Funciones de Estadísticas


Genera una desviación aleatoria beta

stats_kurtosis
stats_rand_gen_chisquare
Funciones de Estadísticas
PHP Manual

stats_rand_gen_beta

(PECL stats >= 1.0.0)

stats_rand_gen_beta — Genera una desviación aleatoria beta

Descripción

float stats_rand_gen_beta ( float $a , float $b )

Devuelve una desviación aleatoria desde una distribución beta con los parámetros A y B. La densidad de beta es x^(a-1) * (1-x)^(b-1) / B(a,b) para 0 < x <. Método R. C. H. Cheng.

Parámetros

a

b

Valores devueltos

stats_kurtosis
stats_rand_gen_chisquare
Funciones de Estadísticas


Genera una desviación aleatorio desde una distribución ji-cuadrado con "df" grados de libertad de variable aleatoria

stats_rand_gen_beta
stats_rand_gen_exponential
Funciones de Estadísticas
PHP Manual

stats_rand_gen_chisquare

(PECL stats >= 1.0.0)

stats_rand_gen_chisquare — Genera una desviación aleatorio desde una distribución ji-cuadrado con "df" grados de libertad de variable aleatoria

Descripción

float stats_rand_gen_chisquare ( float $df )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

df

Valores devueltos

stats_rand_gen_beta
stats_rand_gen_exponential
Funciones de Estadísticas


Genera una desviación aleatoria sencilla desde una distribución exponencial con media "av"

stats_rand_gen_chisquare
stats_rand_gen_f
Funciones de Estadísticas
PHP Manual

stats_rand_gen_exponential

(PECL stats >= 1.0.0)

stats_rand_gen_exponential — Genera una desviación aleatoria sencilla desde una distribución exponencial con media "av"

Descripción

float stats_rand_gen_exponential ( float $av )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

av

Valores devueltos

stats_rand_gen_chisquare
stats_rand_gen_f
Funciones de Estadísticas


Genera una desviación aleatoria

stats_rand_gen_exponential
stats_rand_gen_funiform
Funciones de Estadísticas
PHP Manual

stats_rand_gen_f

(PECL stats >= 1.0.0)

stats_rand_gen_f — Genera una desviación aleatoria

Descripción

float stats_rand_gen_f ( float $dfn , float $dfd )

Genera una desviación aleatoria desde la distribución F (ratio de varianza) con "dfn" grados de libertad en el numerador y "dfd" grados de libertad en el denominador. Método : genera directamente el ratio de las variaciones ji-cuadrado.

Parámetros

dfn

dfd

Valores devueltos

stats_rand_gen_exponential
stats_rand_gen_funiform
Funciones de Estadísticas


Genera números de coma flotante uniformes entretes low (exclusive) y high (exclusive)

stats_rand_gen_f
stats_rand_gen_gamma
Funciones de Estadísticas
PHP Manual

stats_rand_gen_funiform

(PECL stats >= 1.0.0)

stats_rand_gen_funiform — Genera números de coma flotante uniformes entretes low (exclusive) y high (exclusive)

Descripción

float stats_rand_gen_funiform ( float $low , float $high )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

low

high

Valores devueltos

stats_rand_gen_f
stats_rand_gen_gamma
Funciones de Estadísticas


Genera desviaciones aleatorias desde una distribución gamma

stats_rand_gen_funiform
stats_rand_gen_ibinomial_negative
Funciones de Estadísticas
PHP Manual

stats_rand_gen_gamma

(PECL stats >= 1.0.0)

stats_rand_gen_gamma — Genera desviaciones aleatorias desde una distribución gamma

Descripción

float stats_rand_gen_gamma ( float $a , float $r )

Genera desviaciones aleatorias desde una distribución gamma cuya densidad es (A**R)/Gamma(R) * X**(R-1) * Exp(-A*X).

Parámetros

a

parámetro de ubicación de la distribución Gamma (a > 0).

r

parámetro de forma de la distribución Gamma (r > 0).

Valores devueltos

stats_rand_gen_funiform
stats_rand_gen_ibinomial_negative
Funciones de Estadísticas


Generates una desviación aleatoria sencilla desde una distribución binomial negativa. Argumentos : n - el número de pruebas de la distribución binomial negativa desde la cuál se va a generar una desviación aleatoria (n > 0), p - la probabilidad de un suceso (0 < p < 1))

stats_rand_gen_gamma
stats_rand_gen_ibinomial
Funciones de Estadísticas
PHP Manual

stats_rand_gen_ibinomial_negative

(PECL stats >= 1.0.0)

stats_rand_gen_ibinomial_negative — Generates una desviación aleatoria sencilla desde una distribución binomial negativa. Argumentos : n - el número de pruebas de la distribución binomial negativa desde la cuál se va a generar una desviación aleatoria (n > 0), p - la probabilidad de un suceso (0 < p < 1))

Descripción

int stats_rand_gen_ibinomial_negative ( int $n , float $p )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

n

p

Valores devueltos

stats_rand_gen_gamma
stats_rand_gen_ibinomial
Funciones de Estadísticas


Genera una desviación sencilla desde una distribución binomial cuyo número de pruebas es "n" (n >= 0) y cuya probabilidad de un suceso en cada prueba es "pp" ([0;1]). Método : algoritmo BTPE

stats_rand_gen_ibinomial_negative
stats_rand_gen_int
Funciones de Estadísticas
PHP Manual

stats_rand_gen_ibinomial

(PECL stats >= 1.0.0)

stats_rand_gen_ibinomial — Genera una desviación sencilla desde una distribución binomial cuyo número de pruebas es "n" (n >= 0) y cuya probabilidad de un suceso en cada prueba es "pp" ([0;1]). Método : algoritmo BTPE

Descripción

int stats_rand_gen_ibinomial ( int $n , float $pp )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

n

pp

Valores devueltos

stats_rand_gen_ibinomial_negative
stats_rand_gen_int
Funciones de Estadísticas


Genera enteros aleatorios entre 1 y 2147483562

stats_rand_gen_ibinomial
stats_rand_gen_ipoisson
Funciones de Estadísticas
PHP Manual

stats_rand_gen_int

(PECL stats >= 1.0.0)

stats_rand_gen_int — Genera enteros aleatorios entre 1 y 2147483562

Descripción

int stats_rand_gen_int ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Valores devueltos

stats_rand_gen_ibinomial
stats_rand_gen_ipoisson
Funciones de Estadísticas


Genera una desviación aleatoria sencilla desde una distribución Poisson con media "mu" (mu >= 0.0)

stats_rand_gen_int
stats_rand_gen_iuniform
Funciones de Estadísticas
PHP Manual

stats_rand_gen_ipoisson

(PECL stats >= 1.0.0)

stats_rand_gen_ipoisson — Genera una desviación aleatoria sencilla desde una distribución Poisson con media "mu" (mu >= 0.0)

Descripción

int stats_rand_gen_ipoisson ( float $mu )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

mu

Valores devueltos

stats_rand_gen_int
stats_rand_gen_iuniform
Funciones de Estadísticas


Genera enteros uniformemente distribuidos entre LOW (inclusive) y HIGH (inclusive)

stats_rand_gen_ipoisson
stats_rand_gen_noncenral_chisquare
Funciones de Estadísticas
PHP Manual

stats_rand_gen_iuniform

(PECL stats >= 1.0.0)

stats_rand_gen_iuniform — Genera enteros uniformemente distribuidos entre LOW (inclusive) y HIGH (inclusive)

Descripción

int stats_rand_gen_iuniform ( int $low , int $high )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

low

high

Valores devueltos

stats_rand_gen_ipoisson
stats_rand_gen_noncenral_chisquare
Funciones de Estadísticas


Genera una desviación aleatoria desde una distribución ji-cuadrado no central con "df" grados de libertad y el parámetro no central "xnonc". d debe ser >= 1.0, xnonc debe sert >= 0.0

stats_rand_gen_iuniform
stats_rand_gen_noncentral_f
Funciones de Estadísticas
PHP Manual

stats_rand_gen_noncenral_chisquare

(PECL stats >= 1.0.0)

stats_rand_gen_noncenral_chisquare — Genera una desviación aleatoria desde una distribución ji-cuadrado no central con "df" grados de libertad y el parámetro no central "xnonc". d debe ser >= 1.0, xnonc debe sert >= 0.0

Descripción

float stats_rand_gen_noncenral_chisquare ( float $df , float $xnonc )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

df

xnonc

Valores devueltos

stats_rand_gen_iuniform
stats_rand_gen_noncentral_f
Funciones de Estadísticas


Genera una desviación aleatoria desde una distribución F no central (ratio de varianza) con "dfn" grados de libertad en el numerador y "dfd" grados de libertad en el denominador, y parámetro no central "xnonc". Método : genera directamente el ratio de la desviación ji-cuadrado de numerador no centra

stats_rand_gen_noncenral_chisquare
stats_rand_gen_noncentral_t
Funciones de Estadísticas
PHP Manual

stats_rand_gen_noncentral_f

(PECL stats >= 1.0.0)

stats_rand_gen_noncentral_f — Genera una desviación aleatoria desde una distribución F no central (ratio de varianza) con "dfn" grados de libertad en el numerador y "dfd" grados de libertad en el denominador, y parámetro no central "xnonc". Método : genera directamente el ratio de la desviación ji-cuadrado de numerador no central hasta la variación ji-cuadrado de denominador central

Descripción

float stats_rand_gen_noncentral_f ( float $dfn , float $dfd , float $xnonc )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

dfn

dfd

xnonc

Valores devueltos

stats_rand_gen_noncenral_chisquare
stats_rand_gen_noncentral_t
Funciones de Estadísticas


Genera una desviación aleatoria sencilla desde una distribución T no central

stats_rand_gen_noncentral_f
stats_rand_gen_normal
Funciones de Estadísticas
PHP Manual

stats_rand_gen_noncentral_t

(PECL stats >= 1.0.0)

stats_rand_gen_noncentral_t — Genera una desviación aleatoria sencilla desde una distribución T no central

Descripción

float stats_rand_gen_noncentral_t ( float $df , float $xnonc )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

df

xnonc

Valores devueltos

stats_rand_gen_noncentral_f
stats_rand_gen_normal
Funciones de Estadísticas


Genera una desviación aleatoria sencilla desde una distribución normal con media av, y desviación estándar sd (sd >= 0). Método : Renombra SNORM desde TOMS ya que está ligeramente modificado por BWB para usar RANF en lugar de SUNIF

stats_rand_gen_noncentral_t
stats_rand_gen_t
Funciones de Estadísticas
PHP Manual

stats_rand_gen_normal

(PECL stats >= 1.0.0)

stats_rand_gen_normal — Genera una desviación aleatoria sencilla desde una distribución normal con media av, y desviación estándar sd (sd >= 0). Método : Renombra SNORM desde TOMS ya que está ligeramente modificado por BWB para usar RANF en lugar de SUNIF

Descripción

float stats_rand_gen_normal ( float $av , float $sd )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

av

sd

Valores devueltos

stats_rand_gen_noncentral_t
stats_rand_gen_t
Funciones de Estadísticas


Genera una desviación aleatoria sencilla desde una distribución T

stats_rand_gen_normal
stats_rand_get_seeds
Funciones de Estadísticas
PHP Manual

stats_rand_gen_t

(PECL stats >= 1.0.0)

stats_rand_gen_t — Genera una desviación aleatoria sencilla desde una distribución T

Descripción

float stats_rand_gen_t ( float $df )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

df

Valores devueltos

stats_rand_gen_normal
stats_rand_get_seeds
Funciones de Estadísticas


No documentada

stats_rand_gen_t
stats_rand_phrase_to_seeds
Funciones de Estadísticas
PHP Manual

stats_rand_get_seeds

(PECL stats >= 1.0.0)

stats_rand_get_seeds — No documentada

Descripción

array stats_rand_get_seeds ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Valores devueltos

stats_rand_gen_t
stats_rand_phrase_to_seeds
Funciones de Estadísticas


Generar dos semillas para el generador de números aleatorios RGN

stats_rand_get_seeds
stats_rand_ranf
Funciones de Estadísticas
PHP Manual

stats_rand_phrase_to_seeds

(PECL stats >= 1.0.0)

stats_rand_phrase_to_seeds — Generar dos semillas para el generador de números aleatorios RGN

Descripción

array stats_rand_phrase_to_seeds ( string $phrase )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

phrase

Valores devueltos

stats_rand_get_seeds
stats_rand_ranf
Funciones de Estadísticas


Devuelve un número de coma flotante desde una distribución uniforme sobre 0 - 1 (los extremos de este intervalo no son devueltos) usando el generador actual

stats_rand_phrase_to_seeds
stats_rand_setall
Funciones de Estadísticas
PHP Manual

stats_rand_ranf

(PECL stats >= 1.0.0)

stats_rand_ranf — Devuelve un número de coma flotante desde una distribución uniforme sobre 0 - 1 (los extremos de este intervalo no son devueltos) usando el generador actual

Descripción

float stats_rand_ranf ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Valores devueltos

stats_rand_phrase_to_seeds
stats_rand_setall
Funciones de Estadísticas


No documentada

stats_rand_ranf
stats_skew
Funciones de Estadísticas
PHP Manual

stats_rand_setall

(PECL stats >= 1.0.0)

stats_rand_setall — No documentada

Descripción

void stats_rand_setall ( int $iseed1 , int $iseed2 )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

iseed1

iseed2

Valores devueltos

stats_rand_ranf
stats_skew
Funciones de Estadísticas


Computa la oblicuidad de los datos de una matriz

stats_rand_setall
stats_standard_deviation
Funciones de Estadísticas
PHP Manual

stats_skew

(PECL stats >= 1.0.0)

stats_skew — Computa la oblicuidad de los datos de una matriz

Descripción

float stats_skew ( array $a )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

a

Valores devueltos

stats_rand_setall
stats_standard_deviation
Funciones de Estadísticas


Devuelve la desviación estándar

stats_skew
stats_stat_binomial_coef
Funciones de Estadísticas
PHP Manual

stats_standard_deviation

(PECL stats >= 1.0.0)

stats_standard_deviation — Devuelve la desviación estándar

Descripción

float stats_standard_deviation ( array $a [, bool $sample = false ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

a

sample

Valores devueltos

stats_skew
stats_stat_binomial_coef
Funciones de Estadísticas


No documentada

stats_standard_deviation
stats_stat_correlation
Funciones de Estadísticas
PHP Manual

stats_stat_binomial_coef

(PECL stats >= 1.0.0)

stats_stat_binomial_coef — No documentada

Descripción

float stats_stat_binomial_coef ( int $x , int $n )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

x

n

Valores devueltos

stats_standard_deviation
stats_stat_correlation
Funciones de Estadísticas


No documentada

stats_stat_binomial_coef
stats_stat_gennch
Funciones de Estadísticas
PHP Manual

stats_stat_correlation

(PECL stats >= 1.0.0)

stats_stat_correlation — No documentada

Descripción

float stats_stat_correlation ( array $arr1 , array $arr2 )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

arr1

arr2

Valores devueltos

stats_stat_binomial_coef
stats_stat_gennch
Funciones de Estadísticas


No documentada

stats_stat_correlation
stats_stat_independent_t
Funciones de Estadísticas
PHP Manual

stats_stat_gennch

(PECL stats >= 1.0.0)

stats_stat_gennch — No documentada

Descripción

float stats_stat_gennch ( int $n )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

n

Valores devueltos

stats_stat_correlation
stats_stat_independent_t
Funciones de Estadísticas


No documentada

stats_stat_gennch
stats_stat_innerproduct
Funciones de Estadísticas
PHP Manual

stats_stat_independent_t

(PECL stats >= 1.0.0)

stats_stat_independent_t — No documentada

Descripción

float stats_stat_independent_t ( array $arr1 , array $arr2 )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

arr1

arr2

Valores devueltos

stats_stat_gennch
stats_stat_innerproduct
Funciones de Estadísticas


stats_stat_independent_t
stats_stat_noncentral_t
Funciones de Estadísticas
PHP Manual

stats_stat_innerproduct

(PECL stats >= 1.0.0)

stats_stat_innerproduct —

Descripción

float stats_stat_innerproduct ( array $arr1 , array $arr2 )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

arr1

arr2

Valores devueltos

stats_stat_independent_t
stats_stat_noncentral_t
Funciones de Estadísticas


Calcula un parámetro de la distribución T no central según los valores dados a los otros

stats_stat_innerproduct
stats_stat_paired_t
Funciones de Estadísticas
PHP Manual

stats_stat_noncentral_t

(PECL stats >= 1.0.0)

stats_stat_noncentral_t — Calcula un parámetro de la distribución T no central según los valores dados a los otros

Descripción

float stats_stat_noncentral_t ( float $par1 , float $par2 , float $par3 , int $which )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

par1

par2

par3

which

Valores devueltos

stats_stat_innerproduct
stats_stat_paired_t
Funciones de Estadísticas


No documentada

stats_stat_noncentral_t
stats_stat_percentile
Funciones de Estadísticas
PHP Manual

stats_stat_paired_t

(PECL stats >= 1.0.0)

stats_stat_paired_t — No documentada

Descripción

float stats_stat_paired_t ( array $arr1 , array $arr2 )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

arr1

arr2

Valores devueltos

stats_stat_noncentral_t
stats_stat_percentile
Funciones de Estadísticas


No documentada

stats_stat_paired_t
stats_stat_powersum
Funciones de Estadísticas
PHP Manual

stats_stat_percentile

(PECL stats >= 1.0.0)

stats_stat_percentile — No documentada

Descripción

float stats_stat_percentile ( float $df , float $xnonc )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

df

xnonc

Valores devueltos

stats_stat_paired_t
stats_stat_powersum
Funciones de Estadísticas


No documentada

stats_stat_percentile
stats_variance
Funciones de Estadísticas
PHP Manual

stats_stat_powersum

(PECL stats >= 1.0.0)

stats_stat_powersum — No documentada

Descripción

float stats_stat_powersum ( array $arr , float $power )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

arr

power

Valores devueltos

stats_stat_percentile
stats_variance
Funciones de Estadísticas


Devuelve la varianza de población

stats_stat_powersum
Trader
Funciones de Estadísticas
PHP Manual

stats_variance

(PECL stats >= 1.0.0)

stats_variance — Devuelve la varianza de población

Descripción

float stats_variance ( array $a [, bool $sample = false ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

a

sample

Valores devueltos

stats_stat_powersum
Trader
Funciones de Estadísticas


Análisis técnico para comerciantes

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
  • Constantes predefinidas
  • Funciones de Trader
    • trader_acos — Arcocoseno trigonométrico de vectores
    • trader_ad — Línea A/D Chaikin
    • trader_add — Suma aritmética de vectores
    • trader_adosc — Oscilador A/D Chaikin
    • trader_adx — Índice de movimiento direccional medio
    • trader_adxr — Tasación del índice de movimiento direccional medio
    • trader_apo — Oscilador de precio absoluto
    • trader_aroon — Aroon
    • trader_aroonosc — Oscilador Aroon
    • trader_asin — Arcoseno trigonométrico de vectores
    • trader_atan — Arcotangente trigonométrica de vectores
    • trader_atr — Rango verdadero medio
    • trader_avgprice — Precio medio
    • trader_bbands — Bandas de Bollinger
    • trader_beta — Beta
    • trader_bop — Equilibrio de poder
    • trader_cci — Índice de Canal de Comodidad
    • trader_cdl2crows — Dos Cuervos
    • trader_cdl3blackcrows — Tres Cuervos Negros
    • trader_cdl3inside — Tres Velas Interiores Alcistas/Bajistas
    • trader_cdl3linestrike — Triple Golpe
    • trader_cdl3outside — Tres Velas Exteriores Alcistas/Bajistas
    • trader_cdl3starsinsouth — Tres Estrellas en el Sur
    • trader_cdl3whitesoldiers — Tres Soldados Blancos Avanzando
    • trader_cdlabandonedbaby — Bebé Abandonado
    • trader_cdladvanceblock — Avance en Bloque
    • trader_cdlbelthold — Belt-hold
    • trader_cdlbreakaway — Escape
    • trader_cdlclosingmarubozu — Vela Cerrada Marubozu
    • trader_cdlconcealbabyswall — Pequeña Golondrina Escondida
    • trader_cdlcounterattack — Contraataque
    • trader_cdldarkcloudcover — Cubierta de Nube Oscura
    • trader_cdldoji — Doji
    • trader_cdldojistar — Estrella Doji
    • trader_cdldragonflydoji — Doji Libélula
    • trader_cdlengulfing — Patrón envolvente
    • trader_cdleveningdojistar — Estrella Vespertina Doji
    • trader_cdleveningstar — Estrella de Atardecer
    • trader_cdlgapsidesidewhite — Velas blancas paralelas de hueco alcista/bajista
    • trader_cdlgravestonedoji — Doji Lápida
    • trader_cdlhammer — Martillo
    • trader_cdlhangingman — Hombre Colgado
    • trader_cdlharami — Patrón Harami
    • trader_cdlharamicross — Patrón Cruz Harami
    • trader_cdlhighwave — Vela de Onda Alta
    • trader_cdlhikkake — Patrón Hikkake
    • trader_cdlhikkakemod — Patrón Hikkake Modificado
    • trader_cdlhomingpigeon — Paloma Mensajera
    • trader_cdlidentical3crows — Tres Cuervos Idénticos
    • trader_cdlinneck — Patrón Formación en el cuello
    • trader_cdlinvertedhammer — Martilllo Invertido
    • trader_cdlkicking — Patada
    • trader_cdlkickingbylength — Patada - alza/baja determinada por el marubozu más largo
    • trader_cdlladderbottom — Suelo de escalera
    • trader_cdllongleggeddoji — Doji Zancudo
    • trader_cdllongline — Vela de Línea Larga
    • trader_cdlmarubozu — Marubozu
    • trader_cdlmatchinglow — Mínimos coincidentes
    • trader_cdlmathold — Mat Hold
    • trader_cdlmorningdojistar — Lucero del Alba Doji
    • trader_cdlmorningstar — Lucero del Alba
    • trader_cdlonneck — Patrón Sobre el cuello
    • trader_cdlpiercing — Patrón penetrante
    • trader_cdlrickshawman — Calesero
    • trader_cdlrisefall3methods — Triple Formación Alcista/Bajista
    • trader_cdlseparatinglines — Lineas Separadas
    • trader_cdlshootingstar — Estrella Fugaz
    • trader_cdlshortline — Vela de Línea Corta
    • trader_cdlspinningtop — Peonza
    • trader_cdlstalledpattern — Patrón Añejo
    • trader_cdlsticksandwich — Bocadillo
    • trader_cdltakuri — Takuri (Libélula Doji con sombra muy larga)
    • trader_cdltasukigap — Hueco Tasuki
    • trader_cdlthrusting — Patrón de empuje
    • trader_cdltristar — Patrón de tres estrellas
    • trader_cdlunique3river — Tres ríos únicos
    • trader_cdlupsidegap2crows — Dos Cuervos tras un Huevo al Alza
    • trader_cdlxsidegap3methods — Métodos de Tres Huevos al Alza/Baja
    • trader_ceil — Redondeo hacia arriba de vectores
    • trader_cmo — Oscilador de momento de Chande
    • trader_correl — Coeficiente de correlación de Pearson (r)
    • trader_cos — Coseno trigonométrico de vectores
    • trader_cosh — Coseno hiperbólico de un vector
    • trader_dema — Media móvil exponencial doble
    • trader_div — División aritmética de vectores
    • trader_dx — Índice de movimiento direccional
    • trader_ema — Media móvil exponencial
    • trader_errno — Obtener el código de error
    • trader_exp — Exponencial aritmética de vectores
    • trader_floor — Redondeo hacia abajo de vectores
    • trader_get_compat — Obtiene el modo de compatibilidad
    • trader_get_unstable_period — Obtiene el periodo inestable
    • trader_ht_dcperiod — Transformación de Hilbert - Período de ciclo dominante
    • trader_ht_dcphase — Transformación de Hilbert - Fase de ciclo dominante
    • trader_ht_phasor — Transformación de Hilbert - Componentes de un fasor
    • trader_ht_sine — Transformación de Hilbert - Sinusoide
    • trader_ht_trendline — Transformación de Hilbert - Línea de tendencia instantánea
    • trader_ht_trendmode — Transformación de Hilbert - Tendencia vs Modo de ciclo
    • trader_kama — Media móvil adaptativa de Kaufman
    • trader_linearreg_angle — Ángulo de regresión lineal
    • trader_linearreg_intercept — Intercepción de regresión lineal
    • trader_linearreg_slope — Pendiente de regresión lineal
    • trader_linearreg — Regresión lineal
    • trader_ln — Logaritmo natural de vectores
    • trader_log10 — Logaritmo en base 10 de vectores
    • trader_ma — Media móvil
    • trader_macd — Convergencia/divergencia de la media móvil
    • trader_macdext — MACD con tipo MA controlable
    • trader_macdfix — Convergencia/divergencia fija 12/26 de la media móvil
    • trader_mama — Media móvil adaptativa MESA
    • trader_mavp — Media móvil con periodo variable
    • trader_max — Valor mayor sobre un periodo especificado
    • trader_maxindex — Índice del valor mayor sobre un periodo especificado
    • trader_medprice — Precio medio
    • trader_mfi — Índice de flujo de dinero
    • trader_midpoint — Punto medio sobre un periodo
    • trader_midprice — Precio de punto medio sobre un periodo
    • trader_min — Valor más bajo sobre un periodo especificado
    • trader_minindex — Índice del valor más bajo sobre un periodo especificado
    • trader_minmax — Valores más altos y bajos sobre un periodo especificado
    • trader_minmaxindex — Índices de los valores más bajos y altos sobre un periodo especificado
    • trader_minus_di — Indicador direccional menos
    • trader_minus_dm — Movimiento direccional menos
    • trader_mom — Momentum
    • trader_mult — Multiplicación aritmética de vectores
    • trader_natr — Rango verdadero de la media normalizada
    • trader_obv — Volumen sobre balance
    • trader_plus_di — Indicador direccional más
    • trader_plus_dm — Movimiento direccional más
    • trader_ppo — Oscilador de precio porcentual
    • trader_roc — Ritmo de cambio : ((precio/precioAnterior)-1)*100
    • trader_rocp — Porcentaje del ritmo de cabio: (precio-precioAnterior)/precioAnterior
    • trader_rocr100 — Ratio del ritmo de cambio en escala 100: (precio/precioAnterior)*100
    • trader_rocr — Ratio del ritmo de cambio: (precio/precioAnterior)
    • trader_rsi — Índice de fuerza relativa
    • trader_sar — Sistema parabólico
    • trader_sarext — Sistema parabólico - Extendido
    • trader_set_compat — Establece el modo de compatibilidad
    • trader_set_unstable_period — Establece el perido inestable
    • trader_sin — Seno trigonométrico de vectores
    • trader_sinh — Seno hiperbólico de vectores
    • trader_sma — Media móvil simple
    • trader_sqrt — Raíz cuadrada de vectores
    • trader_stddev — Desviación estándar
    • trader_stoch — Estocástico
    • trader_stochf — Estocástico rápido
    • trader_stochrsi — Índice de fuerza relativa estocástica
    • trader_sub — Sustracción artimética de vectores
    • trader_sum — Sumatorio
    • trader_t3 — Media móvil exponencial triple (T3)
    • trader_tan — Tangente trigonométrica de vectores
    • trader_tanh — Tangente hiperbólica trigonométrica de vectores
    • trader_tema — Media móvil exponencial triple
    • trader_trange — Rango verdadero
    • trader_trima — Media móvil triangular
    • trader_trix — Ritmo de cambio de 1 día (RDC) de una MME suave triple
    • trader_tsf — Previsión de series de tiempo
    • trader_typprice — Precio típico
    • trader_ultosc — Oscilador final
    • trader_var — Varianza
    • trader_wclprice — Precio de cierre ponderado
    • trader_willr — %R de Williams
    • trader_wma — Media móvil ponderada
stats_variance
Introducción
Extensiones matemáticas


Introducción

La extensión trader es una biblioteca de código abierto gratuita basada en TA-Lib. Está dedicada a los desarrolladores de software de actividad comercial que requieren realizar análisis técnicos de datos de mercado financiero. Al lado de muchos indicadores como ADX, MACD, RSI, Estocástico, TRIX, están presentes el reconocimiento de patrones de velas y varias funciones de vectores aritméticas y algebraicas.

Los cálculos se pueden realizar en dos modos: TA-Lib y Metastock. Cambiándolo usando trader_set_compat() afectará la manera en que funcionan algunas funciones de trader.

Algunas funciones de trader proporcionan diferentes resultados dependiendo del "punto de inicio" de los datos involucrados. Esto se refiere a menudo como que una función posee memoria. Un ejemplo de tales funciones es la Media móvil exponencial. Es posible controlar el perido inestable (la cantidad de datos a quitar) usando la función trader_set_unstable_period().

Se puede encontrar documentación ampliada sobre indicadores, fórmulas e implementaciones en otros lenguajes de programación en » tadoc.org.

Trader
Instalación/Configuración
Trader


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
Introducción
Requerimientos
Trader


Requerimientos

La extensión Trader está basada en » TA-Lib. TA-Lib está integrada completamente en la extensión, por lo que no es necesaria ninguna biblioteca externa.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/trader.

Hay diponible una DLL para esta extensión de PECL en » http://windows.php.net/downloads/pecl/releases/trader/.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Trader Opciones de configuración
Nombre | Por defecto | Cambiable | Historial de cambios
trader.real_precision | 3 | PHP_INI_ALL | Desde trader 0.2.1
trader.real_round_mode | HALF_DOWN | PHP_INI_ALL | Desde trader 0.3.0

He aquí una breve explicación de las directivas de configuración.

trader.real_precision integer

Todos los valores de los arrays devueltos serán redondeados a esta precisión. Sin enbargo, los cálculos dentro de TA-Lib se realizarán con valores no redondeados.

trader.real_round_mode string

Controla la política de redondeo de números reales de trader. Los valores válidos son HALF_UP, HALF_DOWN, HALF_EVEN y HALF_ODD. El comportamiento es idéntico al de la función round() usada con el argumento de modo.

Instalación
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

TRADER_MA_TYPE_SMA (integer)
TRADER_MA_TYPE_EMA (integer)
TRADER_MA_TYPE_WMA (integer)
TRADER_MA_TYPE_DEMA (integer)
TRADER_MA_TYPE_TEMA (integer)
TRADER_MA_TYPE_TRIMA (integer)
TRADER_MA_TYPE_KAMA (integer)
TRADER_MA_TYPE_MAMA (integer)
TRADER_MA_TYPE_T3 (integer)
TRADER_REAL_MIN (double)
TRADER_REAL_MAX (double)
TRADER_FUNC_UNST_ADX (integer)
TRADER_FUNC_UNST_ADXR (integer)
TRADER_FUNC_UNST_ATR (integer)
TRADER_FUNC_UNST_CMO (integer)
TRADER_FUNC_UNST_DX (integer)
TRADER_FUNC_UNST_EMA (integer)
TRADER_FUNC_UNST_HT_DCPERIOD (integer)
TRADER_FUNC_UNST_HT_DCPHASE (integer)
TRADER_FUNC_UNST_HT_PHASOR (integer)
TRADER_FUNC_UNST_HT_SINE (integer)
TRADER_FUNC_UNST_HT_TRENDLINE (integer)
TRADER_FUNC_UNST_HT_TRENDMODE (integer)
TRADER_FUNC_UNST_KAMA (integer)
TRADER_FUNC_UNST_MAMA (integer)
TRADER_FUNC_UNST_MFI (integer)
TRADER_FUNC_UNST_MINUS_DI (integer)
TRADER_FUNC_UNST_MINUS_DM (integer)
TRADER_FUNC_UNST_NATR (integer)
TRADER_FUNC_UNST_PLUS_DI (integer)
TRADER_FUNC_UNST_PLUS_DM (integer)
TRADER_FUNC_UNST_RSI (integer)
TRADER_FUNC_UNST_STOCHRSI (integer)
TRADER_FUNC_UNST_T3 (integer)
TRADER_FUNC_UNST_ALL (integer)
TRADER_FUNC_UNST_NONE (integer)
TRADER_COMPATIBILITY_DEFAULT (integer)
TRADER_COMPATIBILITY_METASTOCK (integer)
TRADER_ERR_SUCCESS (integer)
TRADER_ERR_LIB_NOT_INITIALIZE (integer)
TRADER_ERR_BAD_PARAM (integer)
TRADER_ERR_ALLOC_ERR (integer)
TRADER_ERR_GROUP_NOT_FOUND (integer)
TRADER_ERR_FUNC_NOT_FOUND (integer)
TRADER_ERR_INVALID_HANDLE (integer)
TRADER_ERR_INVALID_PARAM_HOLDER (integer)
TRADER_ERR_INVALID_PARAM_HOLDER_TYPE (integer)
TRADER_ERR_INVALID_PARAM_FUNCTION (integer)
TRADER_ERR_INPUT_NOT_ALL_INITIALIZE (integer)
TRADER_ERR_OUTPUT_NOT_ALL_INITIALIZE (integer)
TRADER_ERR_OUT_OF_RANGE_START_INDEX (integer)
TRADER_ERR_OUT_OF_RANGE_END_INDEX (integer)
TRADER_ERR_INVALID_LIST_TYPE (integer)
TRADER_ERR_BAD_OBJECT (integer)
TRADER_ERR_NOT_SUPPORTED (integer)
TRADER_ERR_INTERNAL_ERROR (integer)
TRADER_ERR_UNKNOWN_ERROR (integer)

Configuración en tiempo de ejecución
Funciones de Trader
Trader


Funciones de Trader

Tabla de contenidos

  • trader_acos — Arcocoseno trigonométrico de vectores
  • trader_ad — Línea A/D Chaikin
  • trader_add — Suma aritmética de vectores
  • trader_adosc — Oscilador A/D Chaikin
  • trader_adx — Índice de movimiento direccional medio
  • trader_adxr — Tasación del índice de movimiento direccional medio
  • trader_apo — Oscilador de precio absoluto
  • trader_aroon — Aroon
  • trader_aroonosc — Oscilador Aroon
  • trader_asin — Arcoseno trigonométrico de vectores
  • trader_atan — Arcotangente trigonométrica de vectores
  • trader_atr — Rango verdadero medio
  • trader_avgprice — Precio medio
  • trader_bbands — Bandas de Bollinger
  • trader_beta — Beta
  • trader_bop — Equilibrio de poder
  • trader_cci — Índice de Canal de Comodidad
  • trader_cdl2crows — Dos Cuervos
  • trader_cdl3blackcrows — Tres Cuervos Negros
  • trader_cdl3inside — Tres Velas Interiores Alcistas/Bajistas
  • trader_cdl3linestrike — Triple Golpe
  • trader_cdl3outside — Tres Velas Exteriores Alcistas/Bajistas
  • trader_cdl3starsinsouth — Tres Estrellas en el Sur
  • trader_cdl3whitesoldiers — Tres Soldados Blancos Avanzando
  • trader_cdlabandonedbaby — Bebé Abandonado
  • trader_cdladvanceblock — Avance en Bloque
  • trader_cdlbelthold — Belt-hold
  • trader_cdlbreakaway — Escape
  • trader_cdlclosingmarubozu — Vela Cerrada Marubozu
  • trader_cdlconcealbabyswall — Pequeña Golondrina Escondida
  • trader_cdlcounterattack — Contraataque
  • trader_cdldarkcloudcover — Cubierta de Nube Oscura
  • trader_cdldoji — Doji
  • trader_cdldojistar — Estrella Doji
  • trader_cdldragonflydoji — Doji Libélula
  • trader_cdlengulfing — Patrón envolvente
  • trader_cdleveningdojistar — Estrella Vespertina Doji
  • trader_cdleveningstar — Estrella de Atardecer
  • trader_cdlgapsidesidewhite — Velas blancas paralelas de hueco alcista/bajista
  • trader_cdlgravestonedoji — Doji Lápida
  • trader_cdlhammer — Martillo
  • trader_cdlhangingman — Hombre Colgado
  • trader_cdlharami — Patrón Harami
  • trader_cdlharamicross — Patrón Cruz Harami
  • trader_cdlhighwave — Vela de Onda Alta
  • trader_cdlhikkake — Patrón Hikkake
  • trader_cdlhikkakemod — Patrón Hikkake Modificado
  • trader_cdlhomingpigeon — Paloma Mensajera
  • trader_cdlidentical3crows — Tres Cuervos Idénticos
  • trader_cdlinneck — Patrón Formación en el cuello
  • trader_cdlinvertedhammer — Martilllo Invertido
  • trader_cdlkicking — Patada
  • trader_cdlkickingbylength — Patada - alza/baja determinada por el marubozu más largo
  • trader_cdlladderbottom — Suelo de escalera
  • trader_cdllongleggeddoji — Doji Zancudo
  • trader_cdllongline — Vela de Línea Larga
  • trader_cdlmarubozu — Marubozu
  • trader_cdlmatchinglow — Mínimos coincidentes
  • trader_cdlmathold — Mat Hold
  • trader_cdlmorningdojistar — Lucero del Alba Doji
  • trader_cdlmorningstar — Lucero del Alba
  • trader_cdlonneck — Patrón Sobre el cuello
  • trader_cdlpiercing — Patrón penetrante
  • trader_cdlrickshawman — Calesero
  • trader_cdlrisefall3methods — Triple Formación Alcista/Bajista
  • trader_cdlseparatinglines — Lineas Separadas
  • trader_cdlshootingstar — Estrella Fugaz
  • trader_cdlshortline — Vela de Línea Corta
  • trader_cdlspinningtop — Peonza
  • trader_cdlstalledpattern — Patrón Añejo
  • trader_cdlsticksandwich — Bocadillo
  • trader_cdltakuri — Takuri (Libélula Doji con sombra muy larga)
  • trader_cdltasukigap — Hueco Tasuki
  • trader_cdlthrusting — Patrón de empuje
  • trader_cdltristar — Patrón de tres estrellas
  • trader_cdlunique3river — Tres ríos únicos
  • trader_cdlupsidegap2crows — Dos Cuervos tras un Huevo al Alza
  • trader_cdlxsidegap3methods — Métodos de Tres Huevos al Alza/Baja
  • trader_ceil — Redondeo hacia arriba de vectores
  • trader_cmo — Oscilador de momento de Chande
  • trader_correl — Coeficiente de correlación de Pearson (r)
  • trader_cos — Coseno trigonométrico de vectores
  • trader_cosh — Coseno hiperbólico de un vector
  • trader_dema — Media móvil exponencial doble
  • trader_div — División aritmética de vectores
  • trader_dx — Índice de movimiento direccional
  • trader_ema — Media móvil exponencial
  • trader_errno — Obtener el código de error
  • trader_exp — Exponencial aritmética de vectores
  • trader_floor — Redondeo hacia abajo de vectores
  • trader_get_compat — Obtiene el modo de compatibilidad
  • trader_get_unstable_period — Obtiene el periodo inestable
  • trader_ht_dcperiod — Transformación de Hilbert - Período de ciclo dominante
  • trader_ht_dcphase — Transformación de Hilbert - Fase de ciclo dominante
  • trader_ht_phasor — Transformación de Hilbert - Componentes de un fasor
  • trader_ht_sine — Transformación de Hilbert - Sinusoide
  • trader_ht_trendline — Transformación de Hilbert - Línea de tendencia instantánea
  • trader_ht_trendmode — Transformación de Hilbert - Tendencia vs Modo de ciclo
  • trader_kama — Media móvil adaptativa de Kaufman
  • trader_linearreg_angle — Ángulo de regresión lineal
  • trader_linearreg_intercept — Intercepción de regresión lineal
  • trader_linearreg_slope — Pendiente de regresión lineal
  • trader_linearreg — Regresión lineal
  • trader_ln — Logaritmo natural de vectores
  • trader_log10 — Logaritmo en base 10 de vectores
  • trader_ma — Media móvil
  • trader_macd — Convergencia/divergencia de la media móvil
  • trader_macdext — MACD con tipo MA controlable
  • trader_macdfix — Convergencia/divergencia fija 12/26 de la media móvil
  • trader_mama — Media móvil adaptativa MESA
  • trader_mavp — Media móvil con periodo variable
  • trader_max — Valor mayor sobre un periodo especificado
  • trader_maxindex — Índice del valor mayor sobre un periodo especificado
  • trader_medprice — Precio medio
  • trader_mfi — Índice de flujo de dinero
  • trader_midpoint — Punto medio sobre un periodo
  • trader_midprice — Precio de punto medio sobre un periodo
  • trader_min — Valor más bajo sobre un periodo especificado
  • trader_minindex — Índice del valor más bajo sobre un periodo especificado
  • trader_minmax — Valores más altos y bajos sobre un periodo especificado
  • trader_minmaxindex — Índices de los valores más bajos y altos sobre un periodo especificado
  • trader_minus_di — Indicador direccional menos
  • trader_minus_dm — Movimiento direccional menos
  • trader_mom — Momentum
  • trader_mult — Multiplicación aritmética de vectores
  • trader_natr — Rango verdadero de la media normalizada
  • trader_obv — Volumen sobre balance
  • trader_plus_di — Indicador direccional más
  • trader_plus_dm — Movimiento direccional más
  • trader_ppo — Oscilador de precio porcentual
  • trader_roc — Ritmo de cambio : ((precio/precioAnterior)-1)*100
  • trader_rocp — Porcentaje del ritmo de cabio: (precio-precioAnterior)/precioAnterior
  • trader_rocr100 — Ratio del ritmo de cambio en escala 100: (precio/precioAnterior)*100
  • trader_rocr — Ratio del ritmo de cambio: (precio/precioAnterior)
  • trader_rsi — Índice de fuerza relativa
  • trader_sar — Sistema parabólico
  • trader_sarext — Sistema parabólico - Extendido
  • trader_set_compat — Establece el modo de compatibilidad
  • trader_set_unstable_period — Establece el perido inestable
  • trader_sin — Seno trigonométrico de vectores
  • trader_sinh — Seno hiperbólico de vectores
  • trader_sma — Media móvil simple
  • trader_sqrt — Raíz cuadrada de vectores
  • trader_stddev — Desviación estándar
  • trader_stoch — Estocástico
  • trader_stochf — Estocástico rápido
  • trader_stochrsi — Índice de fuerza relativa estocástica
  • trader_sub — Sustracción artimética de vectores
  • trader_sum — Sumatorio
  • trader_t3 — Media móvil exponencial triple (T3)
  • trader_tan — Tangente trigonométrica de vectores
  • trader_tanh — Tangente hiperbólica trigonométrica de vectores
  • trader_tema — Media móvil exponencial triple
  • trader_trange — Rango verdadero
  • trader_trima — Media móvil triangular
  • trader_trix — Ritmo de cambio de 1 día (RDC) de una MME suave triple
  • trader_tsf — Previsión de series de tiempo
  • trader_typprice — Precio típico
  • trader_ultosc — Oscilador final
  • trader_var — Varianza
  • trader_wclprice — Precio de cierre ponderado
  • trader_willr — %R de Williams
  • trader_wma — Media móvil ponderada
Constantes predefinidas
trader_acos
Trader


Arcocoseno trigonométrico de vectores

Funciones de Trader
trader_ad
Funciones de Trader
PHP Manual

trader_acos

(PECL trader >= 0.2.0)

trader_acos — Arcocoseno trigonométrico de vectores

Descripción

array trader_acos ( array $real )

Calcula el arcocoseno para cada valor de real y devuelve el array resultante.

Parámetros

real

Array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

Funciones de Trader
trader_ad
Funciones de Trader


Línea A/D Chaikin

trader_acos
trader_add
Funciones de Trader
PHP Manual

trader_ad

(PECL trader >= 0.2.0)

trader_ad — Línea A/D Chaikin

Descripción

array trader_ad ( array $high , array $low , array $close , array $volume )

Parámetros

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

volume

Volumen comerciado, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_acos
trader_add
Funciones de Trader


Suma aritmética de vectores

trader_ad
trader_adosc
Funciones de Trader
PHP Manual

trader_add

(PECL trader >= 0.2.0)

trader_add — Suma aritmética de vectores

Descripción

array trader_add ( array $real0 , array $real1 )

Calcula la suma de vectores de real0 a real1 y devuelve el vector resultante.

Parámetros

real0

Array de valores reales.

real1

Array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_ad
trader_adosc
Funciones de Trader


Oscilador A/D Chaikin

trader_add
trader_adx
Funciones de Trader
PHP Manual

trader_adosc

(PECL trader >= 0.2.0)

trader_adosc — Oscilador A/D Chaikin

Descripción

array trader_adosc ( array $high , array $low , array $close , array $volume [, integer $fastPeriod [, integer $slowPeriod ]] )

Parámetros

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

volume

Volumen comerciado, array de valores reales.

fastPeriod

Número del periodo para el MA rápido. Rango válido desde 2 hasta 100000.

slowPeriod

Número del periodo para el MA lento. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_add
trader_adx
Funciones de Trader


Índice de movimiento direccional medio

trader_adosc
trader_adxr
Funciones de Trader
PHP Manual

trader_adx

(PECL trader >= 0.2.0)

trader_adx — Índice de movimiento direccional medio

Descripción

array trader_adx ( array $high , array $low , array $close [, integer $timePeriod ] )

Parámetros

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_adosc
trader_adxr
Funciones de Trader


Tasación del índice de movimiento direccional medio

trader_adx
trader_apo
Funciones de Trader
PHP Manual

trader_adxr

(PECL trader >= 0.2.0)

trader_adxr — Tasación del índice de movimiento direccional medio

Descripción

array trader_adxr ( array $high , array $low , array $close [, integer $timePeriod ] )

Parámetros

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_adx
trader_apo
Funciones de Trader


Oscilador de precio absoluto

trader_adxr
trader_aroon
Funciones de Trader
PHP Manual

trader_apo

(PECL trader >= 0.2.0)

trader_apo — Oscilador de precio absoluto

Descripción

array trader_apo ( array $real [, integer $fastPeriod [, integer $slowPeriod [, integer $mAType ]]] )

Parámetros

real

Array de valores reales.

fastPeriod

Número del periodo para el MA rápido. Rango válido desde 2 hasta 100000.

slowPeriod

Número del periodo para el MA lento. Rango válido desde 2 hasta 100000.

mAType

Tipo de media móvil. Se debería usar la serie de constantes TRADER_MA_TYPE_*.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_adxr
trader_aroon
Funciones de Trader


Aroon

trader_apo
trader_aroonosc
Funciones de Trader
PHP Manual

trader_aroon

(PECL trader >= 0.2.0)

trader_aroon — Aroon

Descripción

array trader_aroon ( array $high , array $low [, integer $timePeriod ] )

Parámetros

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_apo
trader_aroonosc
Funciones de Trader


Oscilador Aroon

trader_aroon
trader_asin
Funciones de Trader
PHP Manual

trader_aroonosc

(PECL trader >= 0.2.0)

trader_aroonosc — Oscilador Aroon

Descripción

array trader_aroonosc ( array $high , array $low [, integer $timePeriod ] )

Parámetros

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_aroon
trader_asin
Funciones de Trader


Arcoseno trigonométrico de vectores

trader_aroonosc
trader_atan
Funciones de Trader
PHP Manual

trader_asin

(PECL trader >= 0.2.0)

trader_asin — Arcoseno trigonométrico de vectores

Descripción

array trader_asin ( array $real )

Calcula el seno para cada valor de real y devuelve el array resultante.

Parámetros

real

Array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_aroonosc
trader_atan
Funciones de Trader


Arcotangente trigonométrica de vectores

trader_asin
trader_atr
Funciones de Trader
PHP Manual

trader_atan

(PECL trader >= 0.2.0)

trader_atan — Arcotangente trigonométrica de vectores

Descripción

array trader_atan ( array $real )

Calcula la arcotangente para cada valor de real y devuelve el array resultante.

Parámetros

real

Array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_asin
trader_atr
Funciones de Trader


Rango verdadero medio

trader_atan
trader_avgprice
Funciones de Trader
PHP Manual

trader_atr

(PECL trader >= 0.2.0)

trader_atr — Rango verdadero medio

Descripción

array trader_atr ( array $high , array $low , array $close [, integer $timePeriod ] )

Parámetros

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_atan
trader_avgprice
Funciones de Trader


Precio medio

trader_atr
trader_bbands
Funciones de Trader
PHP Manual

trader_avgprice

(PECL trader >= 0.2.0)

trader_avgprice — Precio medio

Descripción

array trader_avgprice ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_atr
trader_bbands
Funciones de Trader


Bandas de Bollinger

trader_avgprice
trader_beta
Funciones de Trader
PHP Manual

trader_bbands

(PECL trader >= 0.2.0)

trader_bbands — Bandas de Bollinger

Descripción

array trader_bbands ( array $real [, integer $timePeriod [, float $nbDevUp [, float $nbDevDn [, integer $mAType ]]]] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

nbDevUp

Desviación multiplicadora para la banda superior. Rango válido desde TRADER_REAL_MIN hasta TRADER_REAL_MAX.

nbDevDn

Desviación multiplicadora para la banda inferior. Rango válido desde TRADER_REAL_MIN hasta TRADER_REAL_MAX.

mAType

Tipo de media móvil. Se debería usar la serie de constantes TRADER_MA_TYPE_*.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_avgprice
trader_beta
Funciones de Trader


Beta

trader_bbands
trader_bop
Funciones de Trader
PHP Manual

trader_beta

(PECL trader >= 0.2.0)

trader_beta — Beta

Descripción

array trader_beta ( array $real0 , array $real1 [, integer $timePeriod ] )

Parámetros

real0

Array de valores reales.

real1

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_bbands
trader_bop
Funciones de Trader


Equilibrio de poder

trader_beta
trader_cci
Funciones de Trader
PHP Manual

trader_bop

(PECL trader >= 0.2.0)

trader_bop — Equilibrio de poder

Descripción

array trader_bop ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_beta
trader_cci
Funciones de Trader


Índice de Canal de Comodidad

trader_bop
trader_cdl2crows
Funciones de Trader
PHP Manual

trader_cci

(PECL trader >= 0.2.0)

trader_cci — Índice de Canal de Comodidad

Descripción

array trader_cci ( array $high , array $low , array $close [, integer $timePeriod ] )

Parámetros

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_bop
trader_cdl2crows
Funciones de Trader


Dos Cuervos

trader_cci
trader_cdl3blackcrows
Funciones de Trader
PHP Manual

trader_cdl2crows

(PECL trader >= 0.2.0)

trader_cdl2crows — Dos Cuervos

Descripción

array trader_cdl2crows ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cci
trader_cdl3blackcrows
Funciones de Trader


Tres Cuervos Negros

trader_cdl2crows
trader_cdl3inside
Funciones de Trader
PHP Manual

trader_cdl3blackcrows

(PECL trader >= 0.2.0)

trader_cdl3blackcrows — Tres Cuervos Negros

Descripción

array trader_cdl3blackcrows ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdl2crows
trader_cdl3inside
Funciones de Trader


Tres Velas Interiores Alcistas/Bajistas

trader_cdl3blackcrows
trader_cdl3linestrike
Funciones de Trader
PHP Manual

trader_cdl3inside

(PECL trader >= 0.2.0)

trader_cdl3inside — Tres Velas Interiores Alcistas/Bajistas

Descripción

array trader_cdl3inside ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdl3blackcrows
trader_cdl3linestrike
Funciones de Trader


Triple Golpe

trader_cdl3inside
trader_cdl3outside
Funciones de Trader
PHP Manual

trader_cdl3linestrike

(PECL trader >= 0.2.0)

trader_cdl3linestrike — Triple Golpe

Descripción

array trader_cdl3linestrike ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdl3inside
trader_cdl3outside
Funciones de Trader


Tres Velas Exteriores Alcistas/Bajistas

trader_cdl3linestrike
trader_cdl3starsinsouth
Funciones de Trader
PHP Manual

trader_cdl3outside

(PECL trader >= 0.2.0)

trader_cdl3outside — Tres Velas Exteriores Alcistas/Bajistas

Descripción

array trader_cdl3outside ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdl3linestrike
trader_cdl3starsinsouth
Funciones de Trader


Tres Estrellas en el Sur

trader_cdl3outside
trader_cdl3whitesoldiers
Funciones de Trader
PHP Manual

trader_cdl3starsinsouth

(PECL trader >= 0.2.0)

trader_cdl3starsinsouth — Tres Estrellas en el Sur

Descripción

array trader_cdl3starsinsouth ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdl3outside
trader_cdl3whitesoldiers
Funciones de Trader


Tres Soldados Blancos Avanzando

trader_cdl3starsinsouth
trader_cdlabandonedbaby
Funciones de Trader
PHP Manual

trader_cdl3whitesoldiers

(PECL trader >= 0.2.0)

trader_cdl3whitesoldiers — Tres Soldados Blancos Avanzando

Descripción

array trader_cdl3whitesoldiers ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdl3starsinsouth
trader_cdlabandonedbaby
Funciones de Trader


Bebé Abandonado

trader_cdl3whitesoldiers
trader_cdladvanceblock
Funciones de Trader
PHP Manual

trader_cdlabandonedbaby

(PECL trader >= 0.2.0)

trader_cdlabandonedbaby — Bebé Abandonado

Descripción

array trader_cdlabandonedbaby ( array $open , array $high , array $low , array $close [, float $penetration ] )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

penetration

Porcentaje de penetración de una vela dentro de otra.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdl3whitesoldiers
trader_cdladvanceblock
Funciones de Trader


Avance en Bloque

trader_cdlabandonedbaby
trader_cdlbelthold
Funciones de Trader
PHP Manual

trader_cdladvanceblock

(PECL trader >= 0.2.0)

trader_cdladvanceblock — Avance en Bloque

Descripción

array trader_cdladvanceblock ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlabandonedbaby
trader_cdlbelthold
Funciones de Trader


Belt-hold

trader_cdladvanceblock
trader_cdlbreakaway
Funciones de Trader
PHP Manual

trader_cdlbelthold

(PECL trader >= 0.2.0)

trader_cdlbelthold — Belt-hold

Descripción

array trader_cdlbelthold ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdladvanceblock
trader_cdlbreakaway
Funciones de Trader


Escape

trader_cdlbelthold
trader_cdlclosingmarubozu
Funciones de Trader
PHP Manual

trader_cdlbreakaway

(PECL trader >= 0.2.0)

trader_cdlbreakaway — Escape

Descripción

array trader_cdlbreakaway ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlbelthold
trader_cdlclosingmarubozu
Funciones de Trader


Vela Cerrada Marubozu

trader_cdlbreakaway
trader_cdlconcealbabyswall
Funciones de Trader
PHP Manual

trader_cdlclosingmarubozu

(PECL trader >= 0.2.0)

trader_cdlclosingmarubozu — Vela Cerrada Marubozu

Descripción

array trader_cdlclosingmarubozu ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlbreakaway
trader_cdlconcealbabyswall
Funciones de Trader


Pequeña Golondrina Escondida

trader_cdlclosingmarubozu
trader_cdlcounterattack
Funciones de Trader
PHP Manual

trader_cdlconcealbabyswall

(PECL trader >= 0.2.0)

trader_cdlconcealbabyswall — Pequeña Golondrina Escondida

Descripción

array trader_cdlconcealbabyswall ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlclosingmarubozu
trader_cdlcounterattack
Funciones de Trader


Contraataque

trader_cdlconcealbabyswall
trader_cdldarkcloudcover
Funciones de Trader
PHP Manual

trader_cdlcounterattack

(PECL trader >= 0.2.0)

trader_cdlcounterattack — Contraataque

Descripción

array trader_cdlcounterattack ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlconcealbabyswall
trader_cdldarkcloudcover
Funciones de Trader


Cubierta de Nube Oscura

trader_cdlcounterattack
trader_cdldoji
Funciones de Trader
PHP Manual

trader_cdldarkcloudcover

(PECL trader >= 0.2.0)

trader_cdldarkcloudcover — Cubierta de Nube Oscura

Descripción

array trader_cdldarkcloudcover ( array $open , array $high , array $low , array $close [, float $penetration ] )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

penetration

Porcentaje de penetración de una vela dentro de otra.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlcounterattack
trader_cdldoji
Funciones de Trader


Doji

trader_cdldarkcloudcover
trader_cdldojistar
Funciones de Trader
PHP Manual

trader_cdldoji

(PECL trader >= 0.2.0)

trader_cdldoji — Doji

Descripción

array trader_cdldoji ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdldarkcloudcover
trader_cdldojistar
Funciones de Trader


Estrella Doji

trader_cdldoji
trader_cdldragonflydoji
Funciones de Trader
PHP Manual

trader_cdldojistar

(PECL trader >= 0.2.0)

trader_cdldojistar — Estrella Doji

Descripción

array trader_cdldojistar ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdldoji
trader_cdldragonflydoji
Funciones de Trader


Doji Libélula

trader_cdldojistar
trader_cdlengulfing
Funciones de Trader
PHP Manual

trader_cdldragonflydoji

(PECL trader >= 0.2.0)

trader_cdldragonflydoji — Doji Libélula

Descripción

array trader_cdldragonflydoji ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdldojistar
trader_cdlengulfing
Funciones de Trader


Patrón envolvente

trader_cdldragonflydoji
trader_cdleveningdojistar
Funciones de Trader
PHP Manual

trader_cdlengulfing

(PECL trader >= 0.2.0)

trader_cdlengulfing — Patrón envolvente

Descripción

array trader_cdlengulfing ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdldragonflydoji
trader_cdleveningdojistar
Funciones de Trader


Estrella Vespertina Doji

trader_cdlengulfing
trader_cdleveningstar
Funciones de Trader
PHP Manual

trader_cdleveningdojistar

(PECL trader >= 0.2.0)

trader_cdleveningdojistar — Estrella Vespertina Doji

Descripción

array trader_cdleveningdojistar ( array $open , array $high , array $low , array $close [, float $penetration ] )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

penetration

Porcentaje de penetración de una vela dentro de otra.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlengulfing
trader_cdleveningstar
Funciones de Trader


Estrella de Atardecer

trader_cdleveningdojistar
trader_cdlgapsidesidewhite
Funciones de Trader
PHP Manual

trader_cdleveningstar

(PECL trader >= 0.2.0)

trader_cdleveningstar — Estrella de Atardecer

Descripción

array trader_cdleveningstar ( array $open , array $high , array $low , array $close [, float $penetration ] )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

penetration

Porcentaje de penetración de una vela dentro de otra.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdleveningdojistar
trader_cdlgapsidesidewhite
Funciones de Trader


Velas blancas paralelas de hueco alcista/bajista

trader_cdleveningstar
trader_cdlgravestonedoji
Funciones de Trader
PHP Manual

trader_cdlgapsidesidewhite

(PECL trader >= 0.2.0)

trader_cdlgapsidesidewhite — Velas blancas paralelas de hueco alcista/bajista

Descripción

array trader_cdlgapsidesidewhite ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdleveningstar
trader_cdlgravestonedoji
Funciones de Trader


Doji Lápida

trader_cdlgapsidesidewhite
trader_cdlhammer
Funciones de Trader
PHP Manual

trader_cdlgravestonedoji

(PECL trader >= 0.2.0)

trader_cdlgravestonedoji — Doji Lápida

Descripción

array trader_cdlgravestonedoji ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlgapsidesidewhite
trader_cdlhammer
Funciones de Trader


Martillo

trader_cdlgravestonedoji
trader_cdlhangingman
Funciones de Trader
PHP Manual

trader_cdlhammer

(PECL trader >= 0.2.0)

trader_cdlhammer — Martillo

Descripción

array trader_cdlhammer ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlgravestonedoji
trader_cdlhangingman
Funciones de Trader


Hombre Colgado

trader_cdlhammer
trader_cdlharami
Funciones de Trader
PHP Manual

trader_cdlhangingman

(PECL trader >= 0.2.0)

trader_cdlhangingman — Hombre Colgado

Descripción

array trader_cdlhangingman ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlhammer
trader_cdlharami
Funciones de Trader


Patrón Harami

trader_cdlhangingman
trader_cdlharamicross
Funciones de Trader
PHP Manual

trader_cdlharami

(PECL trader >= 0.2.0)

trader_cdlharami — Patrón Harami

Descripción

array trader_cdlharami ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlhangingman
trader_cdlharamicross
Funciones de Trader


Patrón Cruz Harami

trader_cdlharami
trader_cdlhighwave
Funciones de Trader
PHP Manual

trader_cdlharamicross

(PECL trader >= 0.2.0)

trader_cdlharamicross — Patrón Cruz Harami

Descripción

array trader_cdlharamicross ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlharami
trader_cdlhighwave
Funciones de Trader


Vela de Onda Alta

trader_cdlharamicross
trader_cdlhikkake
Funciones de Trader
PHP Manual

trader_cdlhighwave

(PECL trader >= 0.2.0)

trader_cdlhighwave — Vela de Onda Alta

Descripción

array trader_cdlhighwave ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlharamicross
trader_cdlhikkake
Funciones de Trader


Patrón Hikkake

trader_cdlhighwave
trader_cdlhikkakemod
Funciones de Trader
PHP Manual

trader_cdlhikkake

(PECL trader >= 0.2.0)

trader_cdlhikkake — Patrón Hikkake

Descripción

array trader_cdlhikkake ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlhighwave
trader_cdlhikkakemod
Funciones de Trader


Patrón Hikkake Modificado

trader_cdlhikkake
trader_cdlhomingpigeon
Funciones de Trader
PHP Manual

trader_cdlhikkakemod

(PECL trader >= 0.2.0)

trader_cdlhikkakemod — Patrón Hikkake Modificado

Descripción

array trader_cdlhikkakemod ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlhikkake
trader_cdlhomingpigeon
Funciones de Trader


Paloma Mensajera

trader_cdlhikkakemod
trader_cdlidentical3crows
Funciones de Trader
PHP Manual

trader_cdlhomingpigeon

(PECL trader >= 0.2.0)

trader_cdlhomingpigeon — Paloma Mensajera

Descripción

array trader_cdlhomingpigeon ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlhikkakemod
trader_cdlidentical3crows
Funciones de Trader


Tres Cuervos Idénticos

trader_cdlhomingpigeon
trader_cdlinneck
Funciones de Trader
PHP Manual

trader_cdlidentical3crows

(PECL trader >= 0.2.0)

trader_cdlidentical3crows — Tres Cuervos Idénticos

Descripción

array trader_cdlidentical3crows ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlhomingpigeon
trader_cdlinneck
Funciones de Trader


Patrón Formación en el cuello

trader_cdlidentical3crows
trader_cdlinvertedhammer
Funciones de Trader
PHP Manual

trader_cdlinneck

(PECL trader >= 0.2.0)

trader_cdlinneck — Patrón Formación en el cuello

Descripción

array trader_cdlinneck ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlidentical3crows
trader_cdlinvertedhammer
Funciones de Trader


Martilllo Invertido

trader_cdlinneck
trader_cdlkicking
Funciones de Trader
PHP Manual

trader_cdlinvertedhammer

(PECL trader >= 0.2.0)

trader_cdlinvertedhammer — Martilllo Invertido

Descripción

array trader_cdlinvertedhammer ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlinneck
trader_cdlkicking
Funciones de Trader


Patada

trader_cdlinvertedhammer
trader_cdlkickingbylength
Funciones de Trader
PHP Manual

trader_cdlkicking

(PECL trader >= 0.2.0)

trader_cdlkicking — Patada

Descripción

array trader_cdlkicking ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlinvertedhammer
trader_cdlkickingbylength
Funciones de Trader


Patada - alza/baja determinada por el marubozu más largo

trader_cdlkicking
trader_cdlladderbottom
Funciones de Trader
PHP Manual

trader_cdlkickingbylength

(PECL trader >= 0.2.0)

trader_cdlkickingbylength — Patada - alza/baja determinada por el marubozu más largo

Descripción

array trader_cdlkickingbylength ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlkicking
trader_cdlladderbottom
Funciones de Trader


Suelo de escalera

trader_cdlkickingbylength
trader_cdllongleggeddoji
Funciones de Trader
PHP Manual

trader_cdlladderbottom

(PECL trader >= 0.2.0)

trader_cdlladderbottom — Suelo de escalera

Descripción

array trader_cdlladderbottom ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlkickingbylength
trader_cdllongleggeddoji
Funciones de Trader


Doji Zancudo

trader_cdlladderbottom
trader_cdllongline
Funciones de Trader
PHP Manual

trader_cdllongleggeddoji

(PECL trader >= 0.2.0)

trader_cdllongleggeddoji — Doji Zancudo

Descripción

array trader_cdllongleggeddoji ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlladderbottom
trader_cdllongline
Funciones de Trader


Vela de Línea Larga

trader_cdllongleggeddoji
trader_cdlmarubozu
Funciones de Trader
PHP Manual

trader_cdllongline

(PECL trader >= 0.2.0)

trader_cdllongline — Vela de Línea Larga

Descripción

array trader_cdllongline ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdllongleggeddoji
trader_cdlmarubozu
Funciones de Trader


Marubozu

trader_cdllongline
trader_cdlmatchinglow
Funciones de Trader
PHP Manual

trader_cdlmarubozu

(PECL trader >= 0.2.0)

trader_cdlmarubozu — Marubozu

Descripción

array trader_cdlmarubozu ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdllongline
trader_cdlmatchinglow
Funciones de Trader


Mínimos coincidentes

trader_cdlmarubozu
trader_cdlmathold
Funciones de Trader
PHP Manual

trader_cdlmatchinglow

(PECL trader >= 0.2.0)

trader_cdlmatchinglow — Mínimos coincidentes

Descripción

array trader_cdlmatchinglow ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlmarubozu
trader_cdlmathold
Funciones de Trader


Mat Hold

trader_cdlmatchinglow
trader_cdlmorningdojistar
Funciones de Trader
PHP Manual

trader_cdlmathold

(PECL trader >= 0.2.0)

trader_cdlmathold — Mat Hold

Descripción

array trader_cdlmathold ( array $open , array $high , array $low , array $close [, float $penetration ] )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

penetration

Porcentaje de penetración de una vela dentro de otra.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlmatchinglow
trader_cdlmorningdojistar
Funciones de Trader


Lucero del Alba Doji

trader_cdlmathold
trader_cdlmorningstar
Funciones de Trader
PHP Manual

trader_cdlmorningdojistar

(PECL trader >= 0.2.0)

trader_cdlmorningdojistar — Lucero del Alba Doji

Descripción

array trader_cdlmorningdojistar ( array $open , array $high , array $low , array $close [, float $penetration ] )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

penetration

Porcentaje de penetración de una vela dentro de otra.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlmathold
trader_cdlmorningstar
Funciones de Trader


Lucero del Alba

trader_cdlmorningdojistar
trader_cdlonneck
Funciones de Trader
PHP Manual

trader_cdlmorningstar

(PECL trader >= 0.2.0)

trader_cdlmorningstar — Lucero del Alba

Descripción

array trader_cdlmorningstar ( array $open , array $high , array $low , array $close [, float $penetration ] )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

penetration

Porcentaje de penetración de una vela dentro de otra.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlmorningdojistar
trader_cdlonneck
Funciones de Trader


Patrón Sobre el cuello

trader_cdlmorningstar
trader_cdlpiercing
Funciones de Trader
PHP Manual

trader_cdlonneck

(PECL trader >= 0.2.0)

trader_cdlonneck — Patrón Sobre el cuello

Descripción

array trader_cdlonneck ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlmorningstar
trader_cdlpiercing
Funciones de Trader


Patrón penetrante

trader_cdlonneck
trader_cdlrickshawman
Funciones de Trader
PHP Manual

trader_cdlpiercing

(PECL trader >= 0.2.0)

trader_cdlpiercing — Patrón penetrante

Descripción

array trader_cdlpiercing ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlonneck
trader_cdlrickshawman
Funciones de Trader


Calesero

trader_cdlpiercing
trader_cdlrisefall3methods
Funciones de Trader
PHP Manual

trader_cdlrickshawman

(PECL trader >= 0.2.0)

trader_cdlrickshawman — Calesero

Descripción

array trader_cdlrickshawman ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlpiercing
trader_cdlrisefall3methods
Funciones de Trader


Triple Formación Alcista/Bajista

trader_cdlrickshawman
trader_cdlseparatinglines
Funciones de Trader
PHP Manual

trader_cdlrisefall3methods

(PECL trader >= 0.2.0)

trader_cdlrisefall3methods — Triple Formación Alcista/Bajista

Descripción

array trader_cdlrisefall3methods ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlrickshawman
trader_cdlseparatinglines
Funciones de Trader


Lineas Separadas

trader_cdlrisefall3methods
trader_cdlshootingstar
Funciones de Trader
PHP Manual

trader_cdlseparatinglines

(PECL trader >= 0.2.0)

trader_cdlseparatinglines — Lineas Separadas

Descripción

array trader_cdlseparatinglines ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlrisefall3methods
trader_cdlshootingstar
Funciones de Trader


Estrella Fugaz

trader_cdlseparatinglines
trader_cdlshortline
Funciones de Trader
PHP Manual

trader_cdlshootingstar

(PECL trader >= 0.2.0)

trader_cdlshootingstar — Estrella Fugaz

Descripción

array trader_cdlshootingstar ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlseparatinglines
trader_cdlshortline
Funciones de Trader


Vela de Línea Corta

trader_cdlshootingstar
trader_cdlspinningtop
Funciones de Trader
PHP Manual

trader_cdlshortline

(PECL trader >= 0.2.0)

trader_cdlshortline — Vela de Línea Corta

Descripción

array trader_cdlshortline ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlshootingstar
trader_cdlspinningtop
Funciones de Trader


Peonza

trader_cdlshortline
trader_cdlstalledpattern
Funciones de Trader
PHP Manual

trader_cdlspinningtop

(PECL trader >= 0.2.0)

trader_cdlspinningtop — Peonza

Descripción

array trader_cdlspinningtop ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlshortline
trader_cdlstalledpattern
Funciones de Trader


Patrón Añejo

trader_cdlspinningtop
trader_cdlsticksandwich
Funciones de Trader
PHP Manual

trader_cdlstalledpattern

(PECL trader >= 0.2.0)

trader_cdlstalledpattern — Patrón Añejo

Descripción

array trader_cdlstalledpattern ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlspinningtop
trader_cdlsticksandwich
Funciones de Trader


Bocadillo

trader_cdlstalledpattern
trader_cdltakuri
Funciones de Trader
PHP Manual

trader_cdlsticksandwich

(PECL trader >= 0.2.0)

trader_cdlsticksandwich — Bocadillo

Descripción

array trader_cdlsticksandwich ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlstalledpattern
trader_cdltakuri
Funciones de Trader


Takuri (Libélula Doji con sombra muy larga)

trader_cdlsticksandwich
trader_cdltasukigap
Funciones de Trader
PHP Manual

trader_cdltakuri

(PECL trader >= 0.2.0)

trader_cdltakuri — Takuri (Libélula Doji con sombra muy larga)

Descripción

array trader_cdltakuri ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlsticksandwich
trader_cdltasukigap
Funciones de Trader


Hueco Tasuki

trader_cdltakuri
trader_cdlthrusting
Funciones de Trader
PHP Manual

trader_cdltasukigap

(PECL trader >= 0.2.0)

trader_cdltasukigap — Hueco Tasuki

Descripción

array trader_cdltasukigap ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdltakuri
trader_cdlthrusting
Funciones de Trader


Patrón de empuje

trader_cdltasukigap
trader_cdltristar
Funciones de Trader
PHP Manual

trader_cdlthrusting

(PECL trader >= 0.2.0)

trader_cdlthrusting — Patrón de empuje

Descripción

array trader_cdlthrusting ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdltasukigap
trader_cdltristar
Funciones de Trader


Patrón de tres estrellas

trader_cdlthrusting
trader_cdlunique3river
Funciones de Trader
PHP Manual

trader_cdltristar

(PECL trader >= 0.2.0)

trader_cdltristar — Patrón de tres estrellas

Descripción

array trader_cdltristar ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlthrusting
trader_cdlunique3river
Funciones de Trader


Tres ríos únicos

trader_cdltristar
trader_cdlupsidegap2crows
Funciones de Trader
PHP Manual

trader_cdlunique3river

(PECL trader >= 0.2.0)

trader_cdlunique3river — Tres ríos únicos

Descripción

array trader_cdlunique3river ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdltristar
trader_cdlupsidegap2crows
Funciones de Trader


Dos Cuervos tras un Huevo al Alza

trader_cdlunique3river
trader_cdlxsidegap3methods
Funciones de Trader
PHP Manual

trader_cdlupsidegap2crows

(PECL trader >= 0.2.0)

trader_cdlupsidegap2crows — Dos Cuervos tras un Huevo al Alza

Descripción

array trader_cdlupsidegap2crows ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlunique3river
trader_cdlxsidegap3methods
Funciones de Trader


Métodos de Tres Huevos al Alza/Baja

trader_cdlupsidegap2crows
trader_ceil
Funciones de Trader
PHP Manual

trader_cdlxsidegap3methods

(PECL trader >= 0.2.0)

trader_cdlxsidegap3methods — Métodos de Tres Huevos al Alza/Baja

Descripción

array trader_cdlxsidegap3methods ( array $open , array $high , array $low , array $close )

Parámetros

open

Precio de apertura, array de valores reales.

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlupsidegap2crows
trader_ceil
Funciones de Trader


Redondeo hacia arriba de vectores

trader_cdlxsidegap3methods
trader_cmo
Funciones de Trader
PHP Manual

trader_ceil

(PECL trader >= 0.2.0)

trader_ceil — Redondeo hacia arriba de vectores

Descripción

array trader_ceil ( array $real )

Calcula el siguiente entero mayor para cada valor de real y devuelve el array resultante.

Parámetros

real

Array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cdlxsidegap3methods
trader_cmo
Funciones de Trader


Oscilador de momento de Chande

trader_ceil
trader_correl
Funciones de Trader
PHP Manual

trader_cmo

(PECL trader >= 0.2.0)

trader_cmo — Oscilador de momento de Chande

Descripción

array trader_cmo ( array $real [, integer $timePeriod ] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_ceil
trader_correl
Funciones de Trader


Coeficiente de correlación de Pearson (r)

trader_cmo
trader_cos
Funciones de Trader
PHP Manual

trader_correl

(PECL trader >= 0.2.0)

trader_correl — Coeficiente de correlación de Pearson (r)

Descripción

array trader_correl ( array $real0 , array $real1 [, integer $timePeriod ] )

Parámetros

real0

Array de valores reales.

real1

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cmo
trader_cos
Funciones de Trader


Coseno trigonométrico de vectores

trader_correl
trader_cosh
Funciones de Trader
PHP Manual

trader_cos

(PECL trader >= 0.2.0)

trader_cos — Coseno trigonométrico de vectores

Descripción

array trader_cos ( array $real )

Calcula el coseno para cada valor de real y devuelve el array resultante.

Parámetros

real

Array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_correl
trader_cosh
Funciones de Trader


Coseno hiperbólico de un vector

trader_cos
trader_dema
Funciones de Trader
PHP Manual

trader_cosh

(PECL trader >= 0.2.0)

trader_cosh — Coseno hiperbólico de un vector

Descripción

array trader_cosh ( array $real )

Calcula el coseno hiperbólico para cada valor de real y devuelve el array resultante.

Parámetros

real

Array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cos
trader_dema
Funciones de Trader


Media móvil exponencial doble

trader_cosh
trader_div
Funciones de Trader
PHP Manual

trader_dema

(PECL trader >= 0.2.0)

trader_dema — Media móvil exponencial doble

Descripción

array trader_dema ( array $real [, integer $timePeriod ] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_cosh
trader_div
Funciones de Trader


División aritmética de vectores

trader_dema
trader_dx
Funciones de Trader
PHP Manual

trader_div

(PECL trader >= 0.2.0)

trader_div — División aritmética de vectores

Descripción

array trader_div ( array $real0 , array $real1 )

Divide cada valor de real0 por el valor correspondiente de real1 y devuelve el array resultante.

Parámetros

real0

Array de valores reales.

real1

Array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de fallo.

trader_dema
trader_dx
Funciones de Trader


Índice de movimiento direccional

trader_div
trader_ema
Funciones de Trader
PHP Manual

trader_dx

(PECL trader >= 0.2.0)

trader_dx — Índice de movimiento direccional

Descripción

array trader_dx ( array $high , array $low , array $close [, integer $timePeriod ] )

Parámetros

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_div
trader_ema
Funciones de Trader


Media móvil exponencial

trader_dx
trader_errno
Funciones de Trader
PHP Manual

trader_ema

(PECL trader >= 0.2.0)

trader_ema — Media móvil exponencial

Descripción

array trader_ema ( array $real [, integer $timePeriod ] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_dx
trader_errno
Funciones de Trader


Obtener el código de error

trader_ema
trader_exp
Funciones de Trader
PHP Manual

trader_errno

(PECL trader >= 0.3.0)

trader_errno — Obtener el código de error

Descripción

integer trader_errno ( void )

Obtener el código de error de la última operación.

Valores devueltos

Devuelve el código de error identificado por una de las constantes TRADER_ERR_*.

trader_ema
trader_exp
Funciones de Trader


Exponencial aritmética de vectores

trader_errno
trader_floor
Funciones de Trader
PHP Manual

trader_exp

(PECL trader >= 0.2.0)

trader_exp — Exponencial aritmética de vectores

Descripción

array trader_exp ( array $real )

Calcula e elevado a la potencia de cada valor de real. Devuelve un array con los datos calculados.

Parámetros

real

Array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_errno
trader_floor
Funciones de Trader


Redondeo hacia abajo de vectores

trader_exp
trader_get_compat
Funciones de Trader
PHP Manual

trader_floor

(PECL trader >= 0.2.0)

trader_floor — Redondeo hacia abajo de vectores

Descripción

array trader_floor ( array $real )

Calcula el siguiente entero menor para cada valor de real y devuelve el array resultante.

Parámetros

real

Array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_exp
trader_get_compat
Funciones de Trader


Obtiene el modo de compatibilidad

trader_floor
trader_get_unstable_period
Funciones de Trader
PHP Manual

trader_get_compat

(PECL trader >= 0.2.2)

trader_get_compat — Obtiene el modo de compatibilidad

Descripción

integer trader_get_compat ( void )

Obtiene el modo de compatibilidad que afecta a la forma de realizar los cálculos de todas las funciones de la extensión.

Valores devueltos

Devuelve el id del modo de compatibilidad que puede ser identificado por la serie de constantes de TRADER_COMPATIBILITY_*.

trader_floor
trader_get_unstable_period
Funciones de Trader


Obtiene el periodo inestable

trader_get_compat
trader_ht_dcperiod
Funciones de Trader
PHP Manual

trader_get_unstable_period

(PECL trader >= 0.2.2)

trader_get_unstable_period — Obtiene el periodo inestable

Descripción

integer trader_get_unstable_period ( integer $functionId )

Obtiene el factor de periodo inestable para una función en particular.

Parámetros

functionId

El ID de la función por la que leer el factor. Se debería usar la serie de constantes TRADER_FUNC_UNST_*.

Valores devueltos

Devuelve el factor del periodo inestable para la función correspondiente.

trader_get_compat
trader_ht_dcperiod
Funciones de Trader


Transformación de Hilbert - Período de ciclo dominante

trader_get_unstable_period
trader_ht_dcphase
Funciones de Trader
PHP Manual

trader_ht_dcperiod

(PECL trader >= 0.2.0)

trader_ht_dcperiod — Transformación de Hilbert - Período de ciclo dominante

Descripción

array trader_ht_dcperiod ( array $real )

Parámetros

real

Array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_get_unstable_period
trader_ht_dcphase
Funciones de Trader


Transformación de Hilbert - Fase de ciclo dominante

trader_ht_dcperiod
trader_ht_phasor
Funciones de Trader
PHP Manual

trader_ht_dcphase

(PECL trader >= 0.2.0)

trader_ht_dcphase — Transformación de Hilbert - Fase de ciclo dominante

Descripción

array trader_ht_dcphase ( array $real )

Parámetros

real

Array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_ht_dcperiod
trader_ht_phasor
Funciones de Trader


Transformación de Hilbert - Componentes de un fasor

trader_ht_dcphase
trader_ht_sine
Funciones de Trader
PHP Manual

trader_ht_phasor

(PECL trader >= 0.2.0)

trader_ht_phasor — Transformación de Hilbert - Componentes de un fasor

Descripción

array trader_ht_phasor ( array $real )

Parámetros

real

Array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_ht_dcphase
trader_ht_sine
Funciones de Trader


Transformación de Hilbert - Sinusoide

trader_ht_phasor
trader_ht_trendline
Funciones de Trader
PHP Manual

trader_ht_sine

(PECL trader >= 0.2.0)

trader_ht_sine — Transformación de Hilbert - Sinusoide

Descripción

array trader_ht_sine ( array $real )

Parámetros

real

Array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_ht_phasor
trader_ht_trendline
Funciones de Trader


Transformación de Hilbert - Línea de tendencia instantánea

trader_ht_sine
trader_ht_trendmode
Funciones de Trader
PHP Manual

trader_ht_trendline

(PECL trader >= 0.2.0)

trader_ht_trendline — Transformación de Hilbert - Línea de tendencia instantánea

Descripción

array trader_ht_trendline ( array $real )

Parámetros

real

Array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_ht_sine
trader_ht_trendmode
Funciones de Trader


Transformación de Hilbert - Tendencia vs Modo de ciclo

trader_ht_trendline
trader_kama
Funciones de Trader
PHP Manual

trader_ht_trendmode

(PECL trader >= 0.2.0)

trader_ht_trendmode — Transformación de Hilbert - Tendencia vs Modo de ciclo

Descripción

array trader_ht_trendmode ( array $real )

Parámetros

real

Array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_ht_trendline
trader_kama
Funciones de Trader


Media móvil adaptativa de Kaufman

trader_ht_trendmode
trader_linearreg_angle
Funciones de Trader
PHP Manual

trader_kama

(PECL trader >= 0.2.0)

trader_kama — Media móvil adaptativa de Kaufman

Descripción

array trader_kama ( array $real [, integer $timePeriod ] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_ht_trendmode
trader_linearreg_angle
Funciones de Trader


Ángulo de regresión lineal

trader_kama
trader_linearreg_intercept
Funciones de Trader
PHP Manual

trader_linearreg_angle

(PECL trader >= 0.2.0)

trader_linearreg_angle — Ángulo de regresión lineal

Descripción

array trader_linearreg_angle ( array $real [, integer $timePeriod ] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_kama
trader_linearreg_intercept
Funciones de Trader


Intercepción de regresión lineal

trader_linearreg_angle
trader_linearreg_slope
Funciones de Trader
PHP Manual

trader_linearreg_intercept

(PECL trader >= 0.2.0)

trader_linearreg_intercept — Intercepción de regresión lineal

Descripción

array trader_linearreg_intercept ( array $real [, integer $timePeriod ] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_linearreg_angle
trader_linearreg_slope
Funciones de Trader


Pendiente de regresión lineal

trader_linearreg_intercept
trader_linearreg
Funciones de Trader
PHP Manual

trader_linearreg_slope

(PECL trader >= 0.2.0)

trader_linearreg_slope — Pendiente de regresión lineal

Descripción

array trader_linearreg_slope ( array $real [, integer $timePeriod ] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_linearreg_intercept
trader_linearreg
Funciones de Trader


Regresión lineal

trader_linearreg_slope
trader_ln
Funciones de Trader
PHP Manual

trader_linearreg

(PECL trader >= 0.2.0)

trader_linearreg — Regresión lineal

Descripción

array trader_linearreg ( array $real [, integer $timePeriod ] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_linearreg_slope
trader_ln
Funciones de Trader


Logaritmo natural de vectores

trader_linearreg
trader_log10
Funciones de Trader
PHP Manual

trader_ln

(PECL trader >= 0.2.0)

trader_ln — Logaritmo natural de vectores

Descripción

array trader_ln ( array $real )

Calcula el logaritmo natural para cada valor de real y devuelve el array resultante.

Parámetros

real

Array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_linearreg
trader_log10
Funciones de Trader


Logaritmo en base 10 de vectores

trader_ln
trader_ma
Funciones de Trader
PHP Manual

trader_log10

(PECL trader >= 0.2.0)

trader_log10 — Logaritmo en base 10 de vectores

Descripción

array trader_log10 ( array $real )

Calcula el logaritmo en base 10 para cada valor de real y devuelve el array resultante.

Parámetros

real

Array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_ln
trader_ma
Funciones de Trader


Media móvil

trader_log10
trader_macd
Funciones de Trader
PHP Manual

trader_ma

(PECL trader >= 0.2.0)

trader_ma — Media móvil

Descripción

array trader_ma ( array $real [, integer $timePeriod [, integer $mAType ]] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

mAType

Tipo de media móvil. Se debería usar la serie de constantes TRADER_MA_TYPE_*.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_log10
trader_macd
Funciones de Trader


Convergencia/divergencia de la media móvil

trader_ma
trader_macdext
Funciones de Trader
PHP Manual

trader_macd

(PECL trader >= 0.2.0)

trader_macd — Convergencia/divergencia de la media móvil

Descripción

array trader_macd ( array $real [, integer $fastPeriod [, integer $slowPeriod [, integer $signalPeriod ]]] )

Parámetros

real

Array de valores reales.

fastPeriod

Número del periodo para el MA rápido. Rango válido desde 2 hasta 100000.

slowPeriod

Número del periodo para el MA lento. Rango válido desde 2 hasta 100000.

signalPeriod

Suavizado para la línea de señal (nb de periodo). Rango válido desde 1 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_ma
trader_macdext
Funciones de Trader


MACD con tipo MA controlable

trader_macd
trader_macdfix
Funciones de Trader
PHP Manual

trader_macdext

(PECL trader >= 0.2.0)

trader_macdext — MACD con tipo MA controlable

Descripción

array trader_macdext ( array $real [, integer $fastPeriod [, integer $fastMAType [, integer $slowPeriod [, integer $slowMAType [, integer $signalPeriod [, integer $signalMAType ]]]]]] )

Parámetros

real

Array de valores reales.

fastPeriod

Número del periodo para el MA rápido. Rango válido desde 2 hasta 100000.

fastMAType

Tipo de media móvil para MA rápido. Se debería usar la serie de constantes TRADER_MA_TYPE_*.

slowPeriod

Número del periodo para el MA lento. Rango válido desde 2 hasta 100000.

slowMAType

Tipo de media móvil para MA lento. Se debería usar la serie de constantes TRADER_MA_TYPE_*.

signalPeriod

Suavizado para la línea de señal (nb de periodo). Rango válido desde 1 hasta 100000.

signalMAType

Tipo de media móvil para la línea de señal. Se debería usar la serie de constantes TRADER_MA_TYPE_*.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_macd
trader_macdfix
Funciones de Trader


Convergencia/divergencia fija 12/26 de la media móvil

trader_macdext
trader_mama
Funciones de Trader
PHP Manual

trader_macdfix

(PECL trader >= 0.2.0)

trader_macdfix — Convergencia/divergencia fija 12/26 de la media móvil

Descripción

array trader_macdfix ( array $real [, integer $signalPeriod ] )

Parámetros

real

Array de valores reales.

signalPeriod

Suavizado para la línea de señal (nb de periodo). Rango válido desde 1 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_macdext
trader_mama
Funciones de Trader


Media móvil adaptativa MESA

trader_macdfix
trader_mavp
Funciones de Trader
PHP Manual

trader_mama

(PECL trader >= 0.2.0)

trader_mama — Media móvil adaptativa MESA

Descripción

array trader_mama ( array $real [, float $fastLimit [, float $slowLimit ]] )

Parámetros

real

Array de valores reales.

fastLimit

Límite superior usado en el algoritmo adaptativo. Rango válido desde 0.01 hasta 0.99.

slowLimit

Límite inferior usado en el algoritmo adaptativo. Rango válido desde 0.01 hasta 0.99.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_macdfix
trader_mavp
Funciones de Trader


Media móvil con periodo variable

trader_mama
trader_max
Funciones de Trader
PHP Manual

trader_mavp

(PECL trader >= 0.2.0)

trader_mavp — Media móvil con periodo variable

Descripción

array trader_mavp ( array $real , array $periods [, integer $minPeriod [, integer $maxPeriod [, integer $mAType ]]] )

Parámetros

real

Array de valores reales.

periods

Array de valores reales.

minPeriod

Un valor menor que el mínimo se cambiará al periodo mínimo. Rango válido desde 2 hasta 100000

maxPeriod

Un valor mayor que el mínimo se cambiará al periodo máximo. Rango válido desde 2 hasta 100000

mAType

Tipo de media móvil. Se debería usar la serie de constantes TRADER_MA_TYPE_*.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_mama
trader_max
Funciones de Trader


Valor mayor sobre un periodo especificado

trader_mavp
trader_maxindex
Funciones de Trader
PHP Manual

trader_max

(PECL trader >= 0.2.0)

trader_max — Valor mayor sobre un periodo especificado

Descripción

array trader_max ( array $real [, integer $timePeriod ] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_mavp
trader_maxindex
Funciones de Trader


Índice del valor mayor sobre un periodo especificado

trader_max
trader_medprice
Funciones de Trader
PHP Manual

trader_maxindex

(PECL trader >= 0.2.0)

trader_maxindex — Índice del valor mayor sobre un periodo especificado

Descripción

array trader_maxindex ( array $real [, integer $timePeriod ] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_max
trader_medprice
Funciones de Trader


Precio medio

trader_maxindex
trader_mfi
Funciones de Trader
PHP Manual

trader_medprice

(PECL trader >= 0.2.0)

trader_medprice — Precio medio

Descripción

array trader_medprice ( array $high , array $low )

Parámetros

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_maxindex
trader_mfi
Funciones de Trader


Índice de flujo de dinero

trader_medprice
trader_midpoint
Funciones de Trader
PHP Manual

trader_mfi

(PECL trader >= 0.2.0)

trader_mfi — Índice de flujo de dinero

Descripción

array trader_mfi ( array $high , array $low , array $close , array $volume [, integer $timePeriod ] )

Parámetros

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

volume

Volumen comerciado, array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_medprice
trader_midpoint
Funciones de Trader


Punto medio sobre un periodo

trader_mfi
trader_midprice
Funciones de Trader
PHP Manual

trader_midpoint

(PECL trader >= 0.2.0)

trader_midpoint — Punto medio sobre un periodo

Descripción

array trader_midpoint ( array $real [, integer $timePeriod ] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_mfi
trader_midprice
Funciones de Trader


Precio de punto medio sobre un periodo

trader_midpoint
trader_min
Funciones de Trader
PHP Manual

trader_midprice

(PECL trader >= 0.2.0)

trader_midprice — Precio de punto medio sobre un periodo

Descripción

array trader_midprice ( array $high , array $low [, integer $timePeriod ] )

Parámetros

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_midpoint
trader_min
Funciones de Trader


Valor más bajo sobre un periodo especificado

trader_midprice
trader_minindex
Funciones de Trader
PHP Manual

trader_min

(PECL trader >= 0.2.0)

trader_min — Valor más bajo sobre un periodo especificado

Descripción

array trader_min ( array $real [, integer $timePeriod ] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_midprice
trader_minindex
Funciones de Trader


Índice del valor más bajo sobre un periodo especificado

trader_min
trader_minmax
Funciones de Trader
PHP Manual

trader_minindex

(PECL trader >= 0.2.0)

trader_minindex — Índice del valor más bajo sobre un periodo especificado

Descripción

array trader_minindex ( array $real [, integer $timePeriod ] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_min
trader_minmax
Funciones de Trader


Valores más altos y bajos sobre un periodo especificado

trader_minindex
trader_minmaxindex
Funciones de Trader
PHP Manual

trader_minmax

(PECL trader >= 0.2.0)

trader_minmax — Valores más altos y bajos sobre un periodo especificado

Descripción

array trader_minmax ( array $real [, integer $timePeriod ] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_minindex
trader_minmaxindex
Funciones de Trader


Índices de los valores más bajos y altos sobre un periodo especificado

trader_minmax
trader_minus_di
Funciones de Trader
PHP Manual

trader_minmaxindex

(PECL trader >= 0.2.0)

trader_minmaxindex — Índices de los valores más bajos y altos sobre un periodo especificado

Descripción

array trader_minmaxindex ( array $real [, integer $timePeriod ] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_minmax
trader_minus_di
Funciones de Trader


Indicador direccional menos

trader_minmaxindex
trader_minus_dm
Funciones de Trader
PHP Manual

trader_minus_di

(PECL trader >= 0.2.0)

trader_minus_di — Indicador direccional menos

Descripción

array trader_minus_di ( array $high , array $low , array $close [, integer $timePeriod ] )

Parámetros

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_minmaxindex
trader_minus_dm
Funciones de Trader


Movimiento direccional menos

trader_minus_di
trader_mom
Funciones de Trader
PHP Manual

trader_minus_dm

(PECL trader >= 0.2.0)

trader_minus_dm — Movimiento direccional menos

Descripción

array trader_minus_dm ( array $high , array $low [, integer $timePeriod ] )

Parámetros

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_minus_di
trader_mom
Funciones de Trader


Momentum

trader_minus_dm
trader_mult
Funciones de Trader
PHP Manual

trader_mom

(PECL trader >= 0.2.0)

trader_mom — Momentum

Descripción

array trader_mom ( array $real [, integer $timePeriod ] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_minus_dm
trader_mult
Funciones de Trader


Multiplicación aritmética de vectores

trader_mom
trader_natr
Funciones de Trader
PHP Manual

trader_mult

(PECL trader >= 0.2.0)

trader_mult — Multiplicación aritmética de vectores

Descripción

array trader_mult ( array $real0 , array $real1 )

Calcula el producto escalar de real0 con real1 y devuelve el vector resultante.

Parámetros

real0

Array de valores reales.

real1

Array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_mom
trader_natr
Funciones de Trader


Rango verdadero de la media normalizada

trader_mult
trader_obv
Funciones de Trader
PHP Manual

trader_natr

(PECL trader >= 0.2.0)

trader_natr — Rango verdadero de la media normalizada

Descripción

array trader_natr ( array $high , array $low , array $close [, integer $timePeriod ] )

Parámetros

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_mult
trader_obv
Funciones de Trader


Volumen sobre balance

trader_natr
trader_plus_di
Funciones de Trader
PHP Manual

trader_obv

(PECL trader >= 0.2.0)

trader_obv — Volumen sobre balance

Descripción

array trader_obv ( array $real , array $volume )

Parámetros

real

Array de valores reales.

volume

Volumen comerciado, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_natr
trader_plus_di
Funciones de Trader


Indicador direccional más

trader_obv
trader_plus_dm
Funciones de Trader
PHP Manual

trader_plus_di

(PECL trader >= 0.2.0)

trader_plus_di — Indicador direccional más

Descripción

array trader_plus_di ( array $high , array $low , array $close [, integer $timePeriod ] )

Parámetros

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_obv
trader_plus_dm
Funciones de Trader


Movimiento direccional más

trader_plus_di
trader_ppo
Funciones de Trader
PHP Manual

trader_plus_dm

(PECL trader >= 0.2.0)

trader_plus_dm — Movimiento direccional más

Descripción

array trader_plus_dm ( array $high , array $low [, integer $timePeriod ] )

Parámetros

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_plus_di
trader_ppo
Funciones de Trader


Oscilador de precio porcentual

trader_plus_dm
trader_roc
Funciones de Trader
PHP Manual

trader_ppo

(PECL trader >= 0.2.0)

trader_ppo — Oscilador de precio porcentual

Descripción

array trader_ppo ( array $real [, integer $fastPeriod [, integer $slowPeriod [, integer $mAType ]]] )

Parámetros

real

Array de valores reales.

fastPeriod

Número del periodo para el MA rápido. Rango válido desde 2 hasta 100000.

slowPeriod

Número del periodo para el MA lento. Rango válido desde 2 hasta 100000.

mAType

Tipo de media móvil. Se debería usar la serie de constantes TRADER_MA_TYPE_*.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_plus_dm
trader_roc
Funciones de Trader


Ritmo de cambio : ((precio/precioAnterior)-1)*100

trader_ppo
trader_rocp
Funciones de Trader
PHP Manual

trader_roc

(PECL trader >= 0.2.0)

trader_roc — Ritmo de cambio : ((precio/precioAnterior)-1)*100

Descripción

array trader_roc ( array $real [, integer $timePeriod ] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_ppo
trader_rocp
Funciones de Trader


Porcentaje del ritmo de cabio: (precio-precioAnterior)/precioAnterior

trader_roc
trader_rocr100
Funciones de Trader
PHP Manual

trader_rocp

(PECL trader >= 0.2.0)

trader_rocp — Porcentaje del ritmo de cabio: (precio-precioAnterior)/precioAnterior

Descripción

array trader_rocp ( array $real [, integer $timePeriod ] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_roc
trader_rocr100
Funciones de Trader


Ratio del ritmo de cambio en escala 100: (precio/precioAnterior)*100

trader_rocp
trader_rocr
Funciones de Trader
PHP Manual

trader_rocr100

(PECL trader >= 0.2.0)

trader_rocr100 — Ratio del ritmo de cambio en escala 100: (precio/precioAnterior)*100

Descripción

array trader_rocr100 ( array $real [, integer $timePeriod ] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_rocp
trader_rocr
Funciones de Trader


Ratio del ritmo de cambio: (precio/precioAnterior)

trader_rocr100
trader_rsi
Funciones de Trader
PHP Manual

trader_rocr

(PECL trader >= 0.2.0)

trader_rocr — Ratio del ritmo de cambio: (precio/precioAnterior)

Descripción

array trader_rocr ( array $real [, integer $timePeriod ] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_rocr100
trader_rsi
Funciones de Trader


Índice de fuerza relativa

trader_rocr
trader_sar
Funciones de Trader
PHP Manual

trader_rsi

(PECL trader >= 0.2.0)

trader_rsi — Índice de fuerza relativa

Descripción

array trader_rsi ( array $real [, integer $timePeriod ] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_rocr
trader_sar
Funciones de Trader


Sistema parabólico

trader_rsi
trader_sarext
Funciones de Trader
PHP Manual

trader_sar

(PECL trader >= 0.2.0)

trader_sar — Sistema parabólico

Descripción

array trader_sar ( array $high , array $low [, float $acceleration [, float $maximum ]] )

Parámetros

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

acceleration

Factor de aceleración usado hasta el valor máximo. Rango válido de 0 hasta TRADER_REAL_MAX.

maximum

Valor máximo del factor de aceleración. Rango válido de 0 hasta TRADER_REAL_MAX.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_rsi
trader_sarext
Funciones de Trader


Sistema parabólico - Extendido

trader_sar
trader_set_compat
Funciones de Trader
PHP Manual

trader_sarext

(PECL trader >= 0.2.0)

trader_sarext — Sistema parabólico - Extendido

Descripción

array trader_sarext ( array $high , array $low [, float $startValue [, float $offsetOnReverse [, float $accelerationInitLong [, float $accelerationLong [, float $accelerationMaxLong [, float $accelerationInitShort [, float $accelerationShort [, float $accelerationMaxShort ]]]]]]]] )

Parámetros

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

startValue

Valor inicial y dirección. 0 para Auto, >0 para Long, <0 para Short. Rango válido de TRADER_REAL_MIN hasta TRADER_REAL_MAX.

offsetOnReverse

Índice de porcentaje añadido/eliminado a la parada inicial sobre el reverso short/long reversal. Rango válido de 0 hasta TRADER_REAL_MAX.

accelerationInitLong

Valor inicial del factor de aceleración para la dirección Long. Rango válido de 0 hasta TRADER_REAL_MAX.

accelerationLong

Factor de acelereción para la dirección Long. Rango válido de 0 hasta TRADER_REAL_MAX.

accelerationMaxLong

Valor máximo del factor de aceleración para la dirección Long. Rango válido de 0 hasta TRADER_REAL_MAX.

accelerationInitShort

Valor inicial del factor de aceleración para la dirección Short. Rango válido de 0 hasta TRADER_REAL_MAX.

accelerationShort

Factor de aceleración para la dirección Short. Rango válido de 0 hasta TRADER_REAL_MAX.

accelerationMaxShort

Valor máximo del factor de aceleración para la dirección Short. Rango válido de 0 hasta TRADER_REAL_MAX.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_sar
trader_set_compat
Funciones de Trader


Establece el modo de compatibilidad

trader_sarext
trader_set_unstable_period
Funciones de Trader
PHP Manual

trader_set_compat

(PECL trader >= 0.2.2)

trader_set_compat — Establece el modo de compatibilidad

Descripción

void trader_set_compat ( integer $compatId )

Establece el modo de compatibilidad que afectará a la forma de realizar los cálculos de todas las funciones de la extensión.

Parámetros

compatId

El Id de compatibilidad. Debería usarse la serie de constantes TRADER_COMPATIBILITY_*.

Valores devueltos

No devuelve ningún valor.

trader_sarext
trader_set_unstable_period
Funciones de Trader


Establece el perido inestable

trader_set_compat
trader_sin
Funciones de Trader
PHP Manual

trader_set_unstable_period

(PECL trader >= 0.2.2)

trader_set_unstable_period — Establece el perido inestable

Descripción

void trader_set_unstable_period ( integer $functionId , integer $timePeriod )

Factor de periodos inestables de influencia para funciones, las cuales son sensibles a él. Se puede encontrar más información sobre periodos inestables en la página de la documentación de la API » TA-Lib.

Parámetros

functionId

El Id de la función para la cual debería establecerse el factor. Se pueden usar la serie de constantes TRADER_FUNC_UNST_* para afectar a la función correspondiente.

timePeriod

El valor de periodo inestable.

Valores devueltos

No devuelve ningún valor.

trader_set_compat
trader_sin
Funciones de Trader


Seno trigonométrico de vectores

trader_set_unstable_period
trader_sinh
Funciones de Trader
PHP Manual

trader_sin

(PECL trader >= 0.2.0)

trader_sin — Seno trigonométrico de vectores

Descripción

array trader_sin ( array $real )

Calcula el seno para cada valor de real y devuelve el array resultante.

Parámetros

real

Array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_set_unstable_period
trader_sinh
Funciones de Trader


Seno hiperbólico de vectores

trader_sin
trader_sma
Funciones de Trader
PHP Manual

trader_sinh

(PECL trader >= 0.2.0)

trader_sinh — Seno hiperbólico de vectores

Descripción

array trader_sinh ( array $real )

Calcula el seno hiperbólico para cada valor de real y devuelve el array resultante.

Parámetros

real

Array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_sin
trader_sma
Funciones de Trader


Media móvil simple

trader_sinh
trader_sqrt
Funciones de Trader
PHP Manual

trader_sma

(PECL trader >= 0.2.0)

trader_sma — Media móvil simple

Descripción

array trader_sma ( array $real [, integer $timePeriod ] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_sinh
trader_sqrt
Funciones de Trader


Raíz cuadrada de vectores

trader_sma
trader_stddev
Funciones de Trader
PHP Manual

trader_sqrt

(PECL trader >= 0.2.0)

trader_sqrt — Raíz cuadrada de vectores

Descripción

array trader_sqrt ( array $real )

Calcula la raíz cuadrada de cada valor de real y devuelve el array resultante.

Parámetros

real

Array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_sma
trader_stddev
Funciones de Trader


Desviación estándar

trader_sqrt
trader_stoch
Funciones de Trader
PHP Manual

trader_stddev

(PECL trader >= 0.2.0)

trader_stddev — Desviación estándar

Descripción

array trader_stddev ( array $real [, integer $timePeriod [, float $nbDev ]] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

nbDev

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_sqrt
trader_stoch
Funciones de Trader


Estocástico

trader_stddev
trader_stochf
Funciones de Trader
PHP Manual

trader_stoch

(PECL trader >= 0.2.0)

trader_stoch — Estocástico

Descripción

array trader_stoch ( array $high , array $low , array $close [, integer $fastK_Period [, integer $slowK_Period [, integer $slowK_MAType [, integer $slowD_Period [, integer $slowD_MAType ]]]]] )

Parámetros

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

fastK_Period

Periodo de tiempo para la construcción de la línea K-Rápida. Rango válido desde 1 hasta 100000.

slowK_Period

Suavizado para la realización de la línea K-Lenta. Rango válido desde 1 hasta 100000, normalmente establecido a 3.

slowK_MAType

Tipo de media móvil para K-lento. Se debería usar la serie de constantes TRADER_MA_TYPE_*.

slowD_Period

Suavizado para la realización de la línea D-Lenta. Rango válido desde 1 hasta 100000.

slowD_MAType

Tipo de media móvil para D-lento. Se debería usar la serie de constantes TRADER_MA_TYPE_*.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_stddev
trader_stochf
Funciones de Trader


Estocástico rápido

trader_stoch
trader_stochrsi
Funciones de Trader
PHP Manual

trader_stochf

(PECL trader >= 0.2.0)

trader_stochf — Estocástico rápido

Descripción

array trader_stochf ( array $high , array $low , array $close [, integer $fastK_Period [, integer $fastD_Period [, integer $fastD_MAType ]]] )

Parámetros

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

fastK_Period

Periodo de tiempo para la construcción de la línea K-Rápida. Rango válido desde 1 hasta 100000.

fastD_Period

Suavizado para la realización de la línea D-Rápida. Rango válido desde 1 hasta 100000, normalmente establecido a 3.

fastD_MAType

Tipo de media móvil para D-rápido. Se debería usar la serie de constantes TRADER_MA_TYPE_*.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_stoch
trader_stochrsi
Funciones de Trader


Índice de fuerza relativa estocástica

trader_stochf
trader_sub
Funciones de Trader
PHP Manual

trader_stochrsi

(PECL trader >= 0.2.0)

trader_stochrsi — Índice de fuerza relativa estocástica

Descripción

array trader_stochrsi ( array $real [, integer $timePeriod [, integer $fastK_Period [, integer $fastD_Period [, integer $fastD_MAType ]]]] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

fastK_Period

Periodo de tiempo para la construcción de la línea K-Rápida. Rango válido desde 1 hasta 100000.

fastD_Period

Suavizado para la realización de la línea D-Rápida. Rango válido desde 1 hasta 100000, normalmente establecido a 3.

fastD_MAType

Tipo de media móvil para D-rápido. Se debería usar la serie de constantes TRADER_MA_TYPE_*.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_stochf
trader_sub
Funciones de Trader


Sustracción artimética de vectores

trader_stochrsi
trader_sum
Funciones de Trader
PHP Manual

trader_sub

(PECL trader >= 0.2.0)

trader_sub — Sustracción artimética de vectores

Descripción

array trader_sub ( array $real0 , array $real1 )

Calcula la suma de vectores de real1 desde real0 y devuelve el vector resultante.

Parámetros

real0

Array de valores reales.

real1

Array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_stochrsi
trader_sum
Funciones de Trader


Sumatorio

trader_sub
trader_t3
Funciones de Trader
PHP Manual

trader_sum

(PECL trader >= 0.2.0)

trader_sum — Sumatorio

Descripción

array trader_sum ( array $real [, integer $timePeriod ] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_sub
trader_t3
Funciones de Trader


Media móvil exponencial triple (T3)

trader_sum
trader_tan
Funciones de Trader
PHP Manual

trader_t3

(PECL trader >= 0.2.0)

trader_t3 — Media móvil exponencial triple (T3)

Descripción

array trader_t3 ( array $real [, integer $timePeriod [, float $vFactor ]] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

vFactor

Factor de volumen. Rango válido desde 1 hasta 0.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_sum
trader_tan
Funciones de Trader


Tangente trigonométrica de vectores

trader_t3
trader_tanh
Funciones de Trader
PHP Manual

trader_tan

(PECL trader >= 0.2.0)

trader_tan — Tangente trigonométrica de vectores

Descripción

array trader_tan ( array $real )

Calcula la tangente para cada valor de real y devuelve el array resultante.

Parámetros

real

Array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_t3
trader_tanh
Funciones de Trader


Tangente hiperbólica trigonométrica de vectores

trader_tan
trader_tema
Funciones de Trader
PHP Manual

trader_tanh

(PECL trader >= 0.2.0)

trader_tanh — Tangente hiperbólica trigonométrica de vectores

Descripción

array trader_tanh ( array $real )

Calcula la tangente hiperbólica para cada valor de real y devuelve el array resultante.

Parámetros

real

Array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_tan
trader_tema
Funciones de Trader


Media móvil exponencial triple

trader_tanh
trader_trange
Funciones de Trader
PHP Manual

trader_tema

(PECL trader >= 0.2.0)

trader_tema — Media móvil exponencial triple

Descripción

array trader_tema ( array $real [, integer $timePeriod ] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_tanh
trader_trange
Funciones de Trader


Rango verdadero

trader_tema
trader_trima
Funciones de Trader
PHP Manual

trader_trange

(PECL trader >= 0.2.0)

trader_trange — Rango verdadero

Descripción

array trader_trange ( array $high , array $low , array $close )

Parámetros

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_tema
trader_trima
Funciones de Trader


Media móvil triangular

trader_trange
trader_trix
Funciones de Trader
PHP Manual

trader_trima

(PECL trader >= 0.2.0)

trader_trima — Media móvil triangular

Descripción

array trader_trima ( array $real [, integer $timePeriod ] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_trange
trader_trix
Funciones de Trader


Ritmo de cambio de 1 día (RDC) de una MME suave triple

trader_trima
trader_tsf
Funciones de Trader
PHP Manual

trader_trix

(PECL trader >= 0.2.0)

trader_trix — Ritmo de cambio de 1 día (RDC) de una MME suave triple

Descripción

array trader_trix ( array $real [, integer $timePeriod ] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_trima
trader_tsf
Funciones de Trader


Previsión de series de tiempo

trader_trix
trader_typprice
Funciones de Trader
PHP Manual

trader_tsf

(PECL trader >= 0.2.0)

trader_tsf — Previsión de series de tiempo

Descripción

array trader_tsf ( array $real [, integer $timePeriod ] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_trix
trader_typprice
Funciones de Trader


Precio típico

trader_tsf
trader_ultosc
Funciones de Trader
PHP Manual

trader_typprice

(PECL trader >= 0.2.0)

trader_typprice — Precio típico

Descripción

array trader_typprice ( array $high , array $low , array $close )

Parámetros

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_tsf
trader_ultosc
Funciones de Trader


Oscilador final

trader_typprice
trader_var
Funciones de Trader
PHP Manual

trader_ultosc

(PECL trader >= 0.2.0)

trader_ultosc — Oscilador final

Descripción

array trader_ultosc ( array $high , array $low , array $close [, integer $timePeriod1 [, integer $timePeriod2 [, integer $timePeriod3 ]]] )

Parámetros

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

timePeriod1

Número de barras para el primer periodo. Rango válido de 1 hasta 100000.

timePeriod2

Número de barras para el segundo periodo. Rango válido de 1 hasta 100000.

timePeriod3

Número de barras para el tercer periodo. Rango válido de 1 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_typprice
trader_var
Funciones de Trader


Varianza

trader_ultosc
trader_wclprice
Funciones de Trader
PHP Manual

trader_var

(PECL trader >= 0.2.0)

trader_var — Varianza

Descripción

array trader_var ( array $real [, integer $timePeriod [, float $nbDev ]] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

nbDev

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_ultosc
trader_wclprice
Funciones de Trader


Precio de cierre ponderado

trader_var
trader_willr
Funciones de Trader
PHP Manual

trader_wclprice

(PECL trader >= 0.2.0)

trader_wclprice — Precio de cierre ponderado

Descripción

array trader_wclprice ( array $high , array $low , array $close )

Parámetros

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_var
trader_willr
Funciones de Trader


%R de Williams

trader_wclprice
trader_wma
Funciones de Trader
PHP Manual

trader_willr

(PECL trader >= 0.2.0)

trader_willr — %R de Williams

Descripción

array trader_willr ( array $high , array $low , array $close [, integer $timePeriod ] )

Parámetros

high

Precio alto, array de valores reales.

low

Precio bajo, array de valores reales.

close

Precio de cierre, array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_wclprice
trader_wma
Funciones de Trader


Media móvil ponderada

trader_willr
Salida MIME que no es texto
Funciones de Trader
PHP Manual

trader_wma

(PECL trader >= 0.2.0)

trader_wma — Media móvil ponderada

Descripción

array trader_wma ( array $real [, integer $timePeriod ] )

Parámetros

real

Array de valores reales.

timePeriod

Número del periodo. Rango válido desde 2 hasta 100000.

Valores devueltos

Devuelve un array con los datos calculados o false en caso de error.

trader_willr
Salida MIME que no es texto
Funciones de Trader


Salida MIME que no es texto

  • FDF — Formato de Datos de Formularios
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de FDF
  • GnuPG — GNU Privacy Guard
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de GnuPG
  • haru — PDF de Haru
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Fuentes y Codificaciones Incorporadas
    • HaruException — La clase HaruException
    • HaruDoc — La clase HaruDoc
    • HaruPage — La clase HaruPage
    • HaruFont — La clase HaruFont
    • HaruImage — La clase HaruImage
    • HaruEncoder — La clase HaruEncoder
    • HaruOutline — La clase HaruOutline
    • HaruAnnotation — La clase HaruAnnotation
    • HaruDestination — La clase HaruDestination
  • Ming — Ming (flash)
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de Ming
    • SWFAction — La clase SWFAction
    • SWFBitmap — La clase SWFBitmap
    • SWFButton — La clase SWFButton
    • SWFDisplayItem — La clase SWFDisplayItem
    • SWFFill — La clase SWFFill
    • SWFFont — La clase SWFFont
    • SWFFontChar — La clase SWFFontChar
    • SWFGradient — La clase SWFGradient
    • SWFMorph — La clase SWFMorph
    • SWFMovie — La clase SWFMovie
    • SWFPrebuiltClip — La clase SWFPrebuiltClip
    • SWFShape — La clase SWFShape
    • SWFSound — La clase SWFSound
    • SWFSoundInstance — La clase SWFSoundInstance
    • SWFSprite — La clase SWFSprite
    • SWFText — La clase SWFText
    • SWFTextField — La clase SWFTextField
    • SWFVideoStream — La clase SWFVideoStream
  • PDF
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones PDF
  • PS — Creación de documentos PostScript
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de PS
  • Lector RPM — Lector de encabezados RPM
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones del lector RPM
  • SWF — Shockwave Flash
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de SWF
trader_wma
FDF
Referencia de funciones


Formato de Datos de Formularios

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • Funciones de FDF
    • fdf_add_doc_javascript — Añadir código javascript al documento FDF
    • fdf_add_template — Añadir una plantilla al documento FDF
    • fdf_close — Cierra un documento FDF
    • fdf_create — Crear un nuevo documento FDF
    • fdf_enum_values — Invocar una función definida por el usuario por cada dato del documento
    • fdf_errno — Devuelve el código de error de la última operación sobre fdf
    • fdf_error — Consultar la descripción de un código de error FDF
    • fdf_get_ap — Consultar la publicación de un campo
    • fdf_get_attachment — Extraer un fichero subido por FDF
    • fdf_get_encoding — Consultar el valor de la clave /Encoding
    • fdf_get_file — Obtener el valor de la clave /F
    • fdf_get_flags — Consultar banderas de un campo
    • fdf_get_opt — Consultar un valor del array de opciones de un campo
    • fdf_get_status — Obtener el valor de la clave /STATUS
    • fdf_get_value — Obtener el valor de un campo
    • fdf_get_version — Consulta el número de versión de la API o de un fichero FDF
    • fdf_header — Establecer cabeceras de salida específicas de FDF
    • fdf_next_field_name — Obtener el siguiente nombre de campo
    • fdf_open_string — Consulta un documento FDF a partir de un string
    • fdf_open — Abrir un documento FDF
    • fdf_remove_item — Asignar contenedor para el formulario
    • fdf_save_string — Devuelve el documento FDF en forma de string
    • fdf_save — Guardar un documento FDF
    • fdf_set_ap — Establecer la apariencia de un campo
    • fdf_set_encoding — Asignar codificación de caracteres de FDF
    • fdf_set_file — Establecer el documento PDF en donde desplegar datos FDF
    • fdf_set_flags — Establecer banderas de un campo
    • fdf_set_javascript_action — Añadir una acción javascript a un campo
    • fdf_set_on_import_javascript — Añadir código javascript para ejecutar cuando Acrobat abra el FDF
    • fdf_set_opt — Establecer una opción sobre un campo
    • fdf_set_status — Establecer el valor de la clave /STATUS
    • fdf_set_submit_form_action — Asignar acción a un campo de formulario al enviarse
    • fdf_set_target_frame — Definir contenedor en el que mostrar el formulario
    • fdf_set_value — Establecer el valor de un campo
    • fdf_set_version — Asignar número de versión a un fichero FDF
Salida MIME que no es texto
Introducción
Salida MIME que no es texto


Introducción

El Formato de Datos de Formularios (FDF) es un formato para manejar formularios de documentos PDF. Debería leer la documentación en » http://www.adobe.com/devnet/acrobat/fdftoolkit.html para obtener más información acerca de qué es y cómo funciona FDF en general.

La idea general de FDF es similar a la de los formularios HTML. Básicamente se diferencian en el formato en el que se transmiten los datos al servidor cuando se pulsa el botón "Enviar" (en realidad ésto es el Formato de Datos de Formularios), y en el formato del propio formulario (que es Portable Document Format, PDF). Una de las funcionalidades que ofrecen las funciones de FDF es el procesamiento de datos FDF. Pero hay más. Se podría usar un formulario PDF existente y rellenar sus campos de entrada con datos sin necesidad de modificar el propio formulario. En ese caso, se podría crear un documento PDF ( fdf_create()), establecer el valor de cada campo ( fdf_set_value()) y vincularlo con el formulario PDF ( fdf_set_file()). Finalmente se ha de enviar al navegador con el MimeType application/vnd.fdf. El complemento de Acrobat Reader del navegador reconocerá el MimeType, leerá el formulario PDF asociado y rellenará los datos desde el documento FDF.

Al abrir un documento PDF con un editor de textos se puede identificar un objeto catálogo con el nombre FDF. Este objeto puede contener varias entradas, como Fields, F, Status, etc. Lo más frecuente es que sean de tipo Fields, las cuales apuntan a una lista de campos de entrada, y F, que contienen el nombre de fichero del documento PDF al que pertenecen estos datos. En la documentación de FDF se hace referencia a estas entradas con los nombres de /F-Key y /Status-Key. La modificación de estas entradas se realiza mediante funciones como fdf_set_file() y fdf_set_status(). Los campos se modifican con fdf_set_value(), fdf_set_opt(), etc.

FDF
Instalación/Configuración
FDF


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
FDF


Requerimientos

Es necesario tener el SDK de FDF, disponible en » http://www.adobe.com/devnet/acrobat/fdftoolkit.html. Desde PHP 4.3.0 es necesario tener al menos la versión 5.0 del SDK. La biblioteca de herramientas de FDF sólo está disponible en formato binario, y las plataformas a las que Adobe da soporte son Win32, Linux, Solaris y AIX.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión se considera no mantenida y muerta. Sin embargo, el código fuente para esta extensión sigue estando disponible dentro de PECL SVN aquí: » http://svn.php.net/viewvc/pecl/fdf.

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.3.0

Nota: Si tuviera algún problema al configurar PHP con soporte para fdftk, compruebe si el fichero de cabeceras fdftk.h y la biblioteca libfdftk.so están en el lugar adecuado. El comando configure permite tanto la estructura de directorios de la distribución del SDK de FDF, como el habitual sistema DIR/include / DIR/lib, de manera que puede apuntar directamente al directorio descomprimido, o poniendo el nombre del fichero de cabeceras y de la biblioteca de acuerdo a su sistema, por ejemplo /usr/local/include y /usr/local/lib y configurarlo con --with-fdftk=/usr/local .

Nota: Nota para usuarios de Win32

Para que esta extensión funcione, hay unos ficheros DLL que deben estar disponibles en el sistema de Windows PATH. Para más información en como hacer esto, vea la FAQ titulada "Como añadir mi directorio PHP en el PATH de Windows". Aunque copiar los ficheros DLL desde el directorio PHP al directorio del sistema de Windows también funciona (porque el directorio del sistema por defecto es el PATH del sistema), esto no se recomienda. Esta extensión requiere que los siguientes ficheros esten en el PATH: fdftk.dll

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

La mayoría de funciones fdf requieren un recurso fdf como primer parámetro. Un recurso fdf es un manejador para utilizar un fichero fdf ya abierto. Se puede obtener un recurso fdf usando fdf_create(), fdf_open() y fdf_open_string().

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

FDFValue (integer)
FDFStatus (integer)
FDFFile (integer)
FDFID (integer)
FDFFf (integer)
FDFSetFf (integer)
FDFClearFf (integer)
FDFFlags (integer)
FDFSetF (integer)
FDFClrF (integer)
FDFAP (integer)
FDFAS (integer)
FDFAction (integer)
FDFAA (integer)
FDFAPRef (integer)
FDFIF (integer)
FDFEnter (integer)
FDFExit (integer)
FDFDown (integer)
FDFUp (integer)
FDFFormat (integer)
FDFValidate (integer)
FDFKeystroke (integer)
FDFCalculate (integer)
FDFNormalAP (integer)
FDFRolloverAP (integer)
FDFDownAP (integer)
Tipos de recursos
Ejemplos
FDF


Ejemplos

Los siguientes ejemplos ilustran cómo se evalúan los datos del formulario.

Ejemplo #1 Evaluar un documento FDF

<?php
// Abrir fdf a partir de la cadena de entrada que proporciona la propia extensión
// El formulario pdf contiene varios campos de texto con los nombres
// volume, date, comment, publisher, preparer, y dos campos checkbox,
// show_publisher y show_preparer.
$fdf = fdf_open_string($HTTP_FDF_DATA);
$volume = fdf_get_value($fdf, "volume");
echo "El campo volume tiene el valor '<b>$volume</b>'<br />";

$date = fdf_get_value($fdf, "date");
echo "El campo date tiene el valor '<b>$date</b>'<br />";

$comment = fdf_get_value($fdf, "comment");
echo "El campo comment tiene el valor '<b>$comment</b>'<br />";

if (fdf_get_value($fdf, "show_publisher") == "On") {
  $publisher = fdf_get_value($fdf, "publisher");
  echo "El campo publisher tiene el valor '<b>$publisher</b>'<br />";
} else
  echo "No se debe mostrar el campo oublisher.<br />";

if (fdf_get_value($fdf, "show_preparer") == "On") {
  $preparer = fdf_get_value($fdf, "preparer");
  echo "El campo preparer tiene el valor '<b>$preparer</b>'<br />";
} else
  echo "No se debe mostrar el campo preparer.<br />";
fdf_close($fdf);
?>

Constantes predefinidas
Funciones de FDF
FDF


Funciones de FDF

Tabla de contenidos

  • fdf_add_doc_javascript — Añadir código javascript al documento FDF
  • fdf_add_template — Añadir una plantilla al documento FDF
  • fdf_close — Cierra un documento FDF
  • fdf_create — Crear un nuevo documento FDF
  • fdf_enum_values — Invocar una función definida por el usuario por cada dato del documento
  • fdf_errno — Devuelve el código de error de la última operación sobre fdf
  • fdf_error — Consultar la descripción de un código de error FDF
  • fdf_get_ap — Consultar la publicación de un campo
  • fdf_get_attachment — Extraer un fichero subido por FDF
  • fdf_get_encoding — Consultar el valor de la clave /Encoding
  • fdf_get_file — Obtener el valor de la clave /F
  • fdf_get_flags — Consultar banderas de un campo
  • fdf_get_opt — Consultar un valor del array de opciones de un campo
  • fdf_get_status — Obtener el valor de la clave /STATUS
  • fdf_get_value — Obtener el valor de un campo
  • fdf_get_version — Consulta el número de versión de la API o de un fichero FDF
  • fdf_header — Establecer cabeceras de salida específicas de FDF
  • fdf_next_field_name — Obtener el siguiente nombre de campo
  • fdf_open_string — Consulta un documento FDF a partir de un string
  • fdf_open — Abrir un documento FDF
  • fdf_remove_item — Asignar contenedor para el formulario
  • fdf_save_string — Devuelve el documento FDF en forma de string
  • fdf_save — Guardar un documento FDF
  • fdf_set_ap — Establecer la apariencia de un campo
  • fdf_set_encoding — Asignar codificación de caracteres de FDF
  • fdf_set_file — Establecer el documento PDF en donde desplegar datos FDF
  • fdf_set_flags — Establecer banderas de un campo
  • fdf_set_javascript_action — Añadir una acción javascript a un campo
  • fdf_set_on_import_javascript — Añadir código javascript para ejecutar cuando Acrobat abra el FDF
  • fdf_set_opt — Establecer una opción sobre un campo
  • fdf_set_status — Establecer el valor de la clave /STATUS
  • fdf_set_submit_form_action — Asignar acción a un campo de formulario al enviarse
  • fdf_set_target_frame — Definir contenedor en el que mostrar el formulario
  • fdf_set_value — Establecer el valor de un campo
  • fdf_set_version — Asignar número de versión a un fichero FDF
Ejemplos
fdf_add_doc_javascript
FDF


Añadir código javascript al documento FDF

Funciones de FDF
fdf_add_template
Funciones de FDF
PHP Manual

fdf_add_doc_javascript

(PHP 4 >= 4.3.0, PHP 5)

fdf_add_doc_javascript — Añadir código javascript al documento FDF

Descripción

bool fdf_add_doc_javascript ( resource $fdf_document , string $script_name , string $script_code )

Añade un script al FDF, que una vez que se importe, Acrobat añade a los scripts del documento.

Parámetros

fdf_document

Manejador de documento FDF, devuelto por fdf_create(), fdf_open() o por fdf_open_string().

script_name

Nombre del script.

script_code

Código del script. Se recomienda encarecidamente usar \r para los cambios de línea del código del script.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Añadiendo código JavaScript a un FDF

<?php
$fdf = fdf_create();
fdf_add_doc_javascript($fdf, "PlusOne", "function PlusOne(x)\r{\r  return x+1;\r}\r");
fdf_save($fdf);
?>

Creará un FDF como éste:

%FDF-1.2
%âãÏÓ
1 0 obj
<<
/FDF << /JavaScript << /Doc [ (PlusOne)(function PlusOne\(x\)\r{\r  return x+1;\r}\r)] >> >>
>>
endobj
trailer
<<
/Root 1 0 R

>>
%%EOF

Funciones de FDF
fdf_add_template
Funciones de FDF


Añadir una plantilla al documento FDF

fdf_add_doc_javascript
fdf_close
Funciones de FDF
PHP Manual

fdf_add_template

(PHP 4, PHP 5)

fdf_add_template — Añadir una plantilla al documento FDF

Descripción

bool fdf_add_template ( resource $fdf_document , int $newpage , string $filename , string $template , int $rename )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

fdf_add_doc_javascript
fdf_close
Funciones de FDF


Cierra un documento FDF

fdf_add_template
fdf_create
Funciones de FDF
PHP Manual

fdf_close

(PHP 4, PHP 5)

fdf_close — Cierra un documento FDF

Descripción

void fdf_close ( resource $fdf_document )

Cierra el documento FDF.

Parámetros

fdf_document

El gestor de documento FDF, devuelto por fdf_create(), fdf_open() o fdf_open_string().

Valores devueltos

No devuelve ningún valor.

Ver también

  • fdf_open() - Abrir un documento FDF

fdf_add_template
fdf_create
Funciones de FDF


Crear un nuevo documento FDF

fdf_close
fdf_enum_values
Funciones de FDF
PHP Manual

fdf_create

(PHP 4, PHP 5)

fdf_create — Crear un nuevo documento FDF

Descripción

resource fdf_create ( void )

Crea un nuevo documento FDF.

Esta función es requerida si se desea poblar campos de entrada en un documento PDF con datos.

Valores devueltos

Devuelve un gestor de documento FDF, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Poblar un documento PDF

<?php
$salida_fdf = fdf_create();
fdf_set_value($salida_fdf, "volume", $volumen, 0);

fdf_set_file($salida_fdf, "http:/prueba_fdf/etiqueta_resultado.pdf");
fdf_save($salida_fdf, "salida_prueba.fdf");
fdf_close($salida_fdf);
Header("Content-type: application/vnd.fdf");
$aa = fopen("salida_prueba.fdf", "r");
fpassthru($aa);
unlink("salida_prueba.fdf");
?>

Ver también

  • fdf_close() - Cierra un documento FDF
  • fdf_save() - Guardar un documento FDF
  • fdf_open() - Abrir un documento FDF

fdf_close
fdf_enum_values
Funciones de FDF


Invocar una función definida por el usuario por cada dato del documento

fdf_create
fdf_errno
Funciones de FDF
PHP Manual

fdf_enum_values

(PHP 4 >= 4.3.0, PHP 5)

fdf_enum_values — Invocar una función definida por el usuario por cada dato del documento

Descripción

bool fdf_enum_values ( resource $fdf_document , callable $function [, mixed $userdata ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

fdf_create
fdf_errno
Funciones de FDF


Devuelve el código de error de la última operación sobre fdf

fdf_enum_values
fdf_error
Funciones de FDF
PHP Manual

fdf_errno

(PHP 4 >= 4.3.0, PHP 5)

fdf_errno — Devuelve el código de error de la última operación sobre fdf

Descripción

int fdf_errno ( void )

Devuelve el código de error de la última llamada a una función FDF.

Puede obtenerse una descripción textual del error usando fdf_error().

Valores devueltos

Devuelve el código de error en forma de entero, o cero si no hubo errores.

Ver también

  • fdf_error() - Consultar la descripción de un código de error FDF

fdf_enum_values
fdf_error
Funciones de FDF


Consultar la descripción de un código de error FDF

fdf_errno
fdf_get_ap
Funciones de FDF
PHP Manual

fdf_error

(PHP 4 >= 4.3.0, PHP 5)

fdf_error — Consultar la descripción de un código de error FDF

Descripción

string fdf_error ([ int $error_code = -1 ] )

Devuelve una descripción textual del código de error FDF de error_code.

Parámetros

error_code

Código de error obtenido con fdf_errno(). Si se omite, se utilizará el código de error interno que estableció la última operación.

Valores devueltos

Devuelve el mensaje de error en forma de string, o el texto no error si no hubo ningún error.

Ver también

  • fdf_errno() - Devuelve el código de error de la última operación sobre fdf

fdf_errno
fdf_get_ap
Funciones de FDF


Consultar la publicación de un campo

fdf_error
fdf_get_attachment
Funciones de FDF
PHP Manual

fdf_get_ap

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_ap — Consultar la publicación de un campo

Descripción

bool fdf_get_ap ( resource $fdf_document , string $field , int $face , string $filename )

Consulta la publicación de un field (es decir, el valor de la clave /AP) y lo almacena en un fichero.

Parámetros

fdf_document

Manejador de documentos FDF, devuelto por fdf_create(), fdf_open() o por fdf_open_string().

field

face

Los valores posibles son FDFNormalAP, FDFRolloverAP o FDFDownAP.

filename

Nombre del fichero en el que se guardará la publicación.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

fdf_error
fdf_get_attachment
Funciones de FDF


Extraer un fichero subido por FDF

fdf_get_ap
fdf_get_encoding
Funciones de FDF
PHP Manual

fdf_get_attachment

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_attachment — Extraer un fichero subido por FDF

Descripción

array fdf_get_attachment ( resource $fdf_document , string $fieldname , string $savepath )

Extrae un fichero subido por medio del campo "selección de fichero" fieldname, y lo almacena en savepath.

Parámetros

fdf_document

Manejador de documentos FDF, devuelto por fdf_create(), fdf_open() o por fdf_open_string().

fieldname

savepath

Puede ser o bien el nombre de un fichero, o bien el de un directorio existente en el que creará usando el nombre original del fichero. Si hubiera algún otro fichero con ese nombre, se scobrescribiría.

Nota:

Aparentemente el único método para consultar el nombre original del fichero consiste en almacenar el archivo usando un directorio como savepath para después consultar el nombre (basename) con el que se guardó.

Valores devueltos

El array devuelto contiene los siguientes campos:

  • path - ruta donde se ha almacenado
  • size - tamaño del fichero en bytes
  • type - Si se proporcionó en el FDF, mimetype

Ejemplos

Ejemplo #1 Guardando un fichero subido por FDF

<?php
  $fdf = fdf_open_string($HTTP_FDF_DATA);
  $data = fdf_get_attachment($fdf, "filename", "/tmpdir");
  echo "El fichero subido se ha guardado en $data[path]";
?>

fdf_get_ap
fdf_get_encoding
Funciones de FDF


Consultar el valor de la clave /Encoding

fdf_get_attachment
fdf_get_file
Funciones de FDF
PHP Manual

fdf_get_encoding

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_encoding — Consultar el valor de la clave /Encoding

Descripción

string fdf_get_encoding ( resource $fdf_document )

Consulta el valor de la clave /Encoding.

Parámetros

fdf_document

Manejador de documentos FDF, devuelto por fdf_create(), fdf_open() o por fdf_open_string().

Valores devueltos

Devuelve la codificación en forma de string. Si se utiliza el esquema por defecto default PDFDocEncoding/Unicode, se devuelve una cadena vacía.

Ver también

  • fdf_set_encoding() - Asignar codificación de caracteres de FDF

fdf_get_attachment
fdf_get_file
Funciones de FDF


Obtener el valor de la clave /F

fdf_get_encoding
fdf_get_flags
Funciones de FDF
PHP Manual

fdf_get_file

(PHP 4, PHP 5)

fdf_get_file — Obtener el valor de la clave /F

Descripción

string fdf_get_file ( resource $fdf_document )

Obtiene el valor de la clave /F.

Parámetros

fdf_document

El gestor de documento FDF, devuelto por fdf_create(), fdf_open() o fdf_open_string().

Valores devueltos

Devuelve el valor de la clave, como una cadena.

Ver también

  • fdf_set_file() - Establecer el documento PDF en donde desplegar datos FDF

fdf_get_encoding
fdf_get_flags
Funciones de FDF


Consultar banderas de un campo

fdf_get_file
fdf_get_opt
Funciones de FDF
PHP Manual

fdf_get_flags

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_flags — Consultar banderas de un campo

Descripción

int fdf_get_flags ( resource $fdf_document , string $fieldname , int $whichflags )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

fdf_get_file
fdf_get_opt
Funciones de FDF


Consultar un valor del array de opciones de un campo

fdf_get_flags
fdf_get_status
Funciones de FDF
PHP Manual

fdf_get_opt

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_opt — Consultar un valor del array de opciones de un campo

Descripción

mixed fdf_get_opt ( resource $fdf_document , string $fieldname [, int $element = -1 ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

fdf_get_flags
fdf_get_status
Funciones de FDF


Obtener el valor de la clave /STATUS

fdf_get_opt
fdf_get_value
Funciones de FDF
PHP Manual

fdf_get_status

(PHP 4, PHP 5)

fdf_get_status — Obtener el valor de la clave /STATUS

Descripción

string fdf_get_status ( resource $fdf_document )

Obtiene el valor de la clave /STATUS.

Parámetros

fdf_document

El gestor de documento FDF, devuelto por fdf_create(), fdf_open() o fdf_open_string().

Valores devueltos

Devuelve el valor de la clave, como una cadena.

Ver también

  • fdf_set_status() - Establecer el valor de la clave /STATUS

fdf_get_opt
fdf_get_value
Funciones de FDF


Obtener el valor de un campo

fdf_get_status
fdf_get_version
Funciones de FDF
PHP Manual

fdf_get_value

(PHP 4, PHP 5)

fdf_get_value — Obtener el valor de un campo

Descripción

mixed fdf_get_value ( resource $fdf_document , string $fieldname [, int $which = -1 ] )

Obtiene el valor del campo solicitado.

Parámetros

fdf_document

El gestor de documento FDF, devuelto por fdf_create(), fdf_open() o fdf_open_string().

fieldname

Nombre del campo FDF, como una cadena.

which

Los elementos de un campo tipo matriz pueden ser recuperados pasando este parámetro opcional, comenzando desde cero. Para campos que no son matrices, este parámetro será ignorado.

Valores devueltos

Devuelve el valor del campo.

Historial de cambios

Versión | Descripción
4.3.0 | El soporte para matrices y el parámetro cuales fue agregado.

Ver también

  • fdf_set_value() - Establecer el valor de un campo

fdf_get_status
fdf_get_version
Funciones de FDF


Consulta el número de versión de la API o de un fichero FDF

fdf_get_value
fdf_header
Funciones de FDF
PHP Manual

fdf_get_version

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_version — Consulta el número de versión de la API o de un fichero FDF

Descripción

string fdf_get_version ([ resource $fdf_document ] )

Devuelve la versión FDF del documento dado, o bien el número de versión de la API si no se utilizó ningún parámetro.

Parámetros

fdf_document

Manejador de documentos FDF, devuelto por fdf_create(), fdf_open() o por fdf_open_string().

Valores devueltos

Devuelve la versión en forma de string. En el sistema FDF actual 5.0 el número de versión de la API es 5.0 y el número de versión de los documentos es o bien 1.2, 1.3 o 1.4.

Ver también

  • fdf_set_version() - Asignar número de versión a un fichero FDF

fdf_get_value
fdf_header
Funciones de FDF


Establecer cabeceras de salida específicas de FDF

fdf_get_version
fdf_next_field_name
Funciones de FDF
PHP Manual

fdf_header

(PHP 4 >= 4.3.0, PHP 5)

fdf_header — Establecer cabeceras de salida específicas de FDF

Descripción

void fdf_header ( void )

Es una función apropiada para establecer cabeceras HTTP para salidas de FDF. Establece el Content-type: a application/vnd.fdf.

Valores devueltos

No devuelve ningún valor.

fdf_get_version
fdf_next_field_name
Funciones de FDF


Obtener el siguiente nombre de campo

fdf_header
fdf_open_string
Funciones de FDF
PHP Manual

fdf_next_field_name

(PHP 4, PHP 5)

fdf_next_field_name — Obtener el siguiente nombre de campo

Descripción

string fdf_next_field_name ( resource $fdf_document [, string $fieldname ] )

Obtiene el nombre del campo siguiente al campo dado. Este nombre puede ser usado con varias funciones.

Parámetros

fdf_document

El gestor de documento FDF, devuelto por fdf_create(), fdf_open() o fdf_open_string().

fieldname

Nombre del campo FDF, como una cadena. Si no se define, se asumirá el primer campo.

Valores devueltos

Devuelve el nombre de campo como una cadena.

Ejemplos

Ejemplo #1 Detección de todos los nombres de campo en un FDF

<?php
$fdf = fdf_open($HTTP_FDF_DATA);
for ($campo = fdf_next_field_name($fdf);
    $campo != "";
    $campo = fdf_next_field_name($fdf, $campo)) {
    echo "campo: $campo\n";
}
?>

Ver también

  • fdf_get_value() - Obtener el valor de un campo

fdf_header
fdf_open_string
Funciones de FDF


Consulta un documento FDF a partir de un string

fdf_next_field_name
fdf_open
Funciones de FDF
PHP Manual

fdf_open_string

(PHP 4 >= 4.3.0, PHP 5)

fdf_open_string — Consulta un documento FDF a partir de un string

Descripción

resource fdf_open_string ( string $fdf_data )

Consulta los datos de un formulario a partir de un string.

Puede usar fdf_open_string() junto con $HTTP_FDF_DATA para procesar un formulario de entrada FDF que procede de un equipo cliente remoto.

Parámetros

fdf_data

Datos tal y como los devolvió un formulario PDF, o como fueron creados al usar fdf_create() y fdf_save_string().

Valores devueltos

Devuelve un manejador de documentos FDF, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Accediendo a los datos de un formulario

<?php
$fdf = fdf_open_string($HTTP_FDF_DATA);
/* ... */
fdf_close($fdf);
?>

Ver también

  • fdf_open() - Abrir un documento FDF
  • fdf_close() - Cierra un documento FDF
  • fdf_create() - Crear un nuevo documento FDF
  • fdf_save_string() - Devuelve el documento FDF en forma de string

fdf_next_field_name
fdf_open
Funciones de FDF


Abrir un documento FDF

fdf_open_string
fdf_remove_item
Funciones de FDF
PHP Manual

fdf_open

(PHP 4, PHP 5)

fdf_open — Abrir un documento FDF

Descripción

resource fdf_open ( string $filename )

Abre un archivo con datos de formulario.

También es posible usar fdf_open_string() para procesar los resultados de una petición POST de formulario PDF.

Parámetros

filename

Ruta al archivo FDF. Este archivo debe contener los datos devueltos de un formulario PDF creado usando fdf_create() y fdf_save().

Valores devueltos

Devuelve un gestor de documento FDF, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Acceso a datos de formulario

<?php
// Guardar los datos FDF en un archivo temporal
$aa_fdf = fopen("prueba.fdf", "w");
fwrite($aa_fdf, $HTTP_FDF_DATA, strlen($HTTP_FDF_DATA));
fclose($aa_fdf);

// Abrir el archivo temporal y evaluar los datos
$fdf = fdf_open("prueba.fdf");
/* ... */
fdf_close($fdf);
?>

Ver también

  • fdf_open_string() - Consulta un documento FDF a partir de un string
  • fdf_close() - Cierra un documento FDF
  • fdf_create() - Crear un nuevo documento FDF
  • fdf_save() - Guardar un documento FDF

fdf_open_string
fdf_remove_item
Funciones de FDF


Asignar contenedor para el formulario

fdf_open
fdf_save_string
Funciones de FDF
PHP Manual

fdf_remove_item

(PHP 4 >= 4.3.0, PHP 5)

fdf_remove_item — Asignar contenedor para el formulario

Descripción

bool fdf_remove_item ( resource $fdf_document , string $fieldname , int $item )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

fdf_open
fdf_save_string
Funciones de FDF


Devuelve el documento FDF en forma de string

fdf_remove_item
fdf_save
Funciones de FDF
PHP Manual

fdf_save_string

(PHP 4 >= 4.3.0, PHP 5)

fdf_save_string — Devuelve el documento FDF en forma de string

Descripción

string fdf_save_string ( resource $fdf_document )

Devuelve el documento FDF en forma de string.

Parámetros

fdf_document

Manejador de documentos FDF, devuelto por fdf_create(), fdf_open() o por fdf_open_string().

Valores devueltos

Devuelve el documento en forma de string, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Salvando un FDF como string

<?php
$fdf = fdf_create();
fdf_set_value($fdf, "foo", "bar");
$str = fdf_save_string($fdf);
fdf_close($fdf);
echo $str;
?>

El resultado del ejemplo sería:

%FDF-1.2
%âãÏÓ
1 0 obj
<<
/FDF << /Fields 2 0 R >>
>>
endobj
2 0 obj
[
<< /T (foo)/V (bar)>>
]
endobj
trailer
<<
/Root 1 0 R

>>
%%EOF

Ver también

  • fdf_open_string() - Consulta un documento FDF a partir de un string
  • fdf_close() - Cierra un documento FDF
  • fdf_create() - Crear un nuevo documento FDF
  • fdf_save() - Guardar un documento FDF

fdf_remove_item
fdf_save
Funciones de FDF


Guardar un documento FDF

fdf_save_string
fdf_set_ap
Funciones de FDF
PHP Manual

fdf_save

(PHP 4, PHP 5)

fdf_save — Guardar un documento FDF

Descripción

bool fdf_save ( resource $fdf_document [, string $filename ] )

Guarda un documento FDF.

Parámetros

fdf_document

El gestor de documento FDF, devuelto por fdf_create(), fdf_open() o fdf_open_string().

filename

Si se define, el FDF resultante será escrito en este parámetro. De lo contrario, esta función escribirá el FDF en la secuencia de salida PHP predeterminada.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • fdf_close() - Cierra un documento FDF
  • fdf_create() - Crear un nuevo documento FDF
  • fdf_save_string() - Devuelve el documento FDF en forma de string

fdf_save_string
fdf_set_ap
Funciones de FDF


Establecer la apariencia de un campo

fdf_save
fdf_set_encoding
Funciones de FDF
PHP Manual

fdf_set_ap

(PHP 4, PHP 5)

fdf_set_ap — Establecer la apariencia de un campo

Descripción

bool fdf_set_ap ( resource $fdf_document , string $field_name , int $face , string $filename , int $page_number )

Establece la apariencia de un campo (es decir, el valor de la clave /AP).

Parámetros

fdf_document

El gestor de documento FDF, devuelto por fdf_create(), fdf_open() o fdf_open_string().

field_name

face

Los valores posibles son FDFNormalAP, FDFRolloverAP y FDFDownAP.

filename

page_number

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

fdf_save
fdf_set_encoding
Funciones de FDF


Asignar codificación de caracteres de FDF

fdf_set_ap
fdf_set_file
Funciones de FDF
PHP Manual

fdf_set_encoding

(PHP 4 >= 4.0.7, PHP 5)

fdf_set_encoding — Asignar codificación de caracteres de FDF

Descripción

bool fdf_set_encoding ( resource $fdf_document , string $encoding )

Establece la codificación de caracteres del documento FDF.

Parámetros

fdf_document

Manejador de documentos FDF, devuelto por fdf_create(), fdf_open() o por fdf_open_string().

encoding

Nombre de codicación. Los siguientes tipos están soportados: "Shift-JIS", "UHC", "GBK" y "BigFive".

Si se usa una cadena vacía, se restablecerá el esquema de codificación por omisión PDFDocEncoding/Unicode.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

fdf_set_ap
fdf_set_file
Funciones de FDF


Establecer el documento PDF en donde desplegar datos FDF

fdf_set_encoding
fdf_set_flags
Funciones de FDF
PHP Manual

fdf_set_file

(PHP 4, PHP 5)

fdf_set_file — Establecer el documento PDF en donde desplegar datos FDF

Descripción

bool fdf_set_file ( resource $fdf_document , string $url [, string $target_frame ] )

Selecciona un documento PDF diferente para desplegar los resultados de formulario desde el formulario en donde se originaron.

Parámetros

fdf_document

El gestor de documento FDF, devuelto por fdf_create(), fdf_open() o fdf_open_string().

url

Debe ser una URL absoluta.

target_frame

Use este parámetro para especificar el marco en el cual desplegar el documento. También es posible definir el valor predeterminado para este parámetro usando fdf_set_target_frame().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Paso de datos FDF a un segundo formulario

<?php
  /* establecer tipo de contenido para Adobe FDF */
  fdf_header();

  /* iniciar nuevo fdf */
  $fdf = fdf_create();

  /* definir campo "foo" al valor "bar" */
  fdf_set_value($fdf, "foo", "bar");

  /* decir al cliente que despliegue datos FDF usando "formulario_fdf.pdf" */
  fdf_set_file($fdf, "http://www.example.com/formulario_fdf.pdf");

  /* producir salida fdf */
  fdf_save($fdf);

  /* limpiar */
  fdf_close($fdf);
?>

Ver también

  • fdf_get_file() - Obtener el valor de la clave /F
  • fdf_set_target_frame() - Definir contenedor en el que mostrar el formulario

fdf_set_encoding
fdf_set_flags
Funciones de FDF


Establecer banderas de un campo

fdf_set_file
fdf_set_javascript_action
Funciones de FDF
PHP Manual

fdf_set_flags

(PHP 4 >= 4.0.2, PHP 5)

fdf_set_flags — Establecer banderas de un campo

Descripción

bool fdf_set_flags ( resource $fdf_document , string $fieldname , int $whichFlags , int $newFlags )

Establece determinadas banderas al campo proporcionado.

Parámetros

fdf_document

Manejador de documentos FDF, devuelto por fdf_create(), fdf_open() o por fdf_open_string().

fieldname

Nombre del campo FDF, en forma de string.

whichFlags

newFlags

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • fdf_set_opt() - Establecer una opción sobre un campo

fdf_set_file
fdf_set_javascript_action
Funciones de FDF


Añadir una acción javascript a un campo

fdf_set_flags
fdf_set_on_import_javascript
Funciones de FDF
PHP Manual

fdf_set_javascript_action

(PHP 4 >= 4.0.2, PHP 5)

fdf_set_javascript_action — Añadir una acción javascript a un campo

Descripción

bool fdf_set_javascript_action ( resource $fdf_document , string $fieldname , int $trigger , string $script )

Añade una acción javascript al campo solicitado.

Parámetros

fdf_document

Manejador de documentos FDF, devuelto por fdf_create(), fdf_open() o por fdf_open_string().

fieldname

Nombre del campo FDF, en forma de string.

trigger

script

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • fdf_set_submit_form_action() - Asignar acción a un campo de formulario al enviarse

fdf_set_flags
fdf_set_on_import_javascript
Funciones de FDF


Añadir código javascript para ejecutar cuando Acrobat abra el FDF

fdf_set_javascript_action
fdf_set_opt
Funciones de FDF
PHP Manual

fdf_set_on_import_javascript

(PHP 4 >= 4.3.0, PHP 5)

fdf_set_on_import_javascript — Añadir código javascript para ejecutar cuando Acrobat abra el FDF

Descripción

bool fdf_set_on_import_javascript ( resource $fdf_document , string $script , bool $before_data_import )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

  • fdf_add_doc_javascript() - Añadir código javascript al documento FDF
  • fdf_set_javascript_action() - Añadir una acción javascript a un campo

fdf_set_javascript_action
fdf_set_opt
Funciones de FDF


Establecer una opción sobre un campo

fdf_set_on_import_javascript
fdf_set_status
Funciones de FDF
PHP Manual

fdf_set_opt

(PHP 4 >= 4.0.2, PHP 5)

fdf_set_opt — Establecer una opción sobre un campo

Descripción

bool fdf_set_opt ( resource $fdf_document , string $fieldname , int $element , string $str1 , string $str2 )

Establece opciones sobre el campo solicitado.

Parámetros

fdf_document

Manejador de documentos FDF, devuelto por fdf_create(), fdf_open() o por fdf_open_string().

fieldname

Nombre del campo FDF, en forma de string.

element

str1

str2

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • fdf_set_flags() - Establecer banderas de un campo

fdf_set_on_import_javascript
fdf_set_status
Funciones de FDF


Establecer el valor de la clave /STATUS

fdf_set_opt
fdf_set_submit_form_action
Funciones de FDF
PHP Manual

fdf_set_status

(PHP 4, PHP 5)

fdf_set_status — Establecer el valor de la clave /STATUS

Descripción

bool fdf_set_status ( resource $fdf_document , string $status )

Establece el valor de la clave /STATUS. Cuando un cliente recibe un FDF con el campo status definido, el valor será presentado en una caja de alerta.

Parámetros

fdf_document

El gestor de documento FDF, devuelto por fdf_create(), fdf_open() o fdf_open_string().

status

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • fdf_get_status() - Obtener el valor de la clave /STATUS

fdf_set_opt
fdf_set_submit_form_action
Funciones de FDF


Asignar acción a un campo de formulario al enviarse

fdf_set_status
fdf_set_target_frame
Funciones de FDF
PHP Manual

fdf_set_submit_form_action

(PHP 4 >= 4.0.2, PHP 5)

fdf_set_submit_form_action — Asignar acción a un campo de formulario al enviarse

Descripción

bool fdf_set_submit_form_action ( resource $fdf_document , string $fieldname , int $trigger , string $script , int $flags )

Añade una acción al campo de formulario solicitado que se ejecutará al enviarse.

Parámetros

fdf_document

Manejador de documentos FDF, devuelto por fdf_create(), fdf_open() o por fdf_open_string().

fieldname

Nombre del campo FDF, en forma de string.

trigger

script

flags

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • fdf_set_javascript_action() - Añadir una acción javascript a un campo

fdf_set_status
fdf_set_target_frame
Funciones de FDF


Definir contenedor en el que mostrar el formulario

fdf_set_submit_form_action
fdf_set_value
Funciones de FDF
PHP Manual

fdf_set_target_frame

(PHP 4 >= 4.3.0, PHP 5)

fdf_set_target_frame — Definir contenedor en el que mostrar el formulario

Descripción

bool fdf_set_target_frame ( resource $fdf_document , string $frame_name )

Define el contenedor en el que mostrar el PDF resultante definido en fdf_save_file().

Parámetros

fdf_document

Manejador de documentos FDF, devuelto por fdf_create(), fdf_open() o por fdf_open_string().

frame_name

Nombre del contenedor, en forma de string.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • fdf_save_file()

fdf_set_submit_form_action
fdf_set_value
Funciones de FDF


Establecer el valor de un campo

fdf_set_target_frame
fdf_set_version
Funciones de FDF
PHP Manual

fdf_set_value

(PHP 4, PHP 5)

fdf_set_value — Establecer el valor de un campo

Descripción

bool fdf_set_value ( resource $fdf_document , string $fieldname , mixed $value [, int $isName ] )

Establece el valor para el campo dado.

Parámetros

fdf_document

El gestor de documento FDF, devuelto por fdf_create(), fdf_open() o fdf_open_string().

fieldname

Nombre del campo FDF, como una cadena.

value

Este parámetro será almacenado como una cadena a menos que sea una matriz. En este caso todos los elementos de la matriz serán almacenados como una matriz de valores.

isName

Nota:

En versiones antiguas del conjunto de herramientas FDF, el último parámetro determinada si el valor del campo era convertido a un nombre PDF (= 1) o usado como cadena PDF (= 0).

Este valor ya no es usado en la versión actual, 5.0, del conjunto de herramientas. Por razones de compatibilidad, aun es soportado como un parámetro opcional desde PHP 4.3, pero ignorado internamente.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
4.3.0 | El soporte para matrices en el parámetro value fue agregado.

Ver también

  • fdf_get_value() - Obtener el valor de un campo
  • fdf_remove_item() - Asignar contenedor para el formulario

fdf_set_target_frame
fdf_set_version
Funciones de FDF


Asignar número de versión a un fichero FDF

fdf_set_value
GnuPG
Funciones de FDF
PHP Manual

fdf_set_version

(PHP 4 >= 4.3.0, PHP 5)

fdf_set_version — Asignar número de versión a un fichero FDF

Descripción

bool fdf_set_version ( resource $fdf_document , string $version )

Asigna la version FDF al documento solicitado.

Algunas de las funcionalidades de las que suporta esta extensión sólo están disponibles para las últimas versiones de FDF.

Parámetros

fdf_document

Manejador de documentos de FDF, devuelto por fdf_create(), fdf_open() o por fdf_open_string().

version

Nombre de versión. En el sistema FDF actual 5.0, puede ser o bien 1.2, 1.3 o 1.4.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • fdf_get_version() - Consulta el número de versión de la API o de un fichero FDF

fdf_set_value
GnuPG
Funciones de FDF


GNU Privacy Guard

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Firma de texto (clearsign)
  • Funciones de GnuPG
    • gnupg_adddecryptkey — Añade una llave para desencriptar
    • gnupg_addencryptkey — Añade una llave para encriptar
    • gnupg_addsignkey — Añade una llave para firmar
    • gnupg_cleardecryptkeys — Elimina todas las llaves establecidas anteriormente para desencriptar
    • gnupg_clearencryptkeys — Elimina todas las llaves establecidas anteriormente paraencriptar
    • gnupg_clearsignkeys — Elimina todas las llaves establecidas anteriormente para firmar
    • gnupg_decrypt — Desencripta un texto dado
    • gnupg_decryptverify — Desencripta y verifica un texto dado
    • gnupg_encrypt — Encripta el texto dado
    • gnupg_encryptsign — Encripta y firma un texto dado
    • gnupg_export — Exporta una llave
    • gnupg_geterror — Retorna el texto de error si una función falla
    • gnupg_getprotocol — Retorna el protocolo activo actualmente para todas las operaciones
    • gnupg_import — Importa una llave
    • gnupg_init — Inicializa una conexión
    • gnupg_keyinfo — Retorna un array con información sobre todas las llaves que coinciden con un patrón dado
    • gnupg_setarmor — Activa o desactiva la salida blindada
    • gnupg_seterrormode — Fija el modo para error_reporting
    • gnupg_setsignmode — Fija el modo para firmar
    • gnupg_sign — Firma un texto dado
    • gnupg_verify — Verifica un texto firmado
fdf_set_version
Introducción
Salida MIME que no es texto


Introducción

Este módulo permite interactuar con » gnupg.

GnuPG
Instalación/Configuración
GnuPG


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
GnuPG


Requerimientos

La extensión gnupg requiere PHP 4.3. Para usar esta extensión con orientación de objetos (OO), se requiere PHP5.

Esta extensión requiere la » librería gpgme

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/gnupg.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

GNUPG_SIG_MODE_NORMAL (integer)
GNUPG_SIG_MODE_DETACH (integer)
GNUPG_SIG_MODE_CLEAR (integer)
GNUPG_VALIDITY_UNKNOWN (integer)
GNUPG_VALIDITY_UNDEFINED (integer)
GNUPG_VALIDITY_NEVER (integer)
GNUPG_VALIDITY_MARGINAL (integer)
GNUPG_VALIDITY_FULL (integer)
GNUPG_VALIDITY_ULTIMATE (integer)
GNUPG_PROTOCOL_OpenPGP (integer)
GNUPG_PROTOCOL_CMS (integer)
GNUPG_SIGSUM_VALID (integer)
GNUPG_SIGSUM_GREEN (integer)
GNUPG_SIGSUM_RED (integer)
GNUPG_SIGSUM_KEY_REVOKED (integer)
GNUPG_SIGSUM_KEY_EXPIRED (integer)
GNUPG_SIGSUM_KEY_MISSING (integer)
GNUPG_SIGSUM_SIG_EXPIRED (integer)
GNUPG_SIGSUM_CRL_MISSING (integer)
GNUPG_SIGSUM_CRL_TOO_OLD (integer)
GNUPG_SIGSUM_BAD_POLICY (integer)
GNUPG_SIGSUM_SYS_ERROR (integer)
GNUPG_ERROR_WARNING (integer)
GNUPG_ERROR_EXCEPTION (integer)
GNUPG_ERROR_SILENT (integer)
Tipos de recursos
Ejemplos
GnuPG


Ejemplos

Tabla de contenidos

  • Firma de texto (clearsign)
Constantes predefinidas
Firma de texto (clearsign)
GnuPG


Firma de texto (clearsign)

Ejemplo que firma un texto dado.

Ejemplo #1 Ejemplo de firma (clearsign) gnupg mediante funciones

<?php
// Inicializamos gnupg
$res = gnupg_init();
// Esto realmente no es necesario, clearsign es el valor por defecto
gnupg_setsignmode($res,GNUPG_SIG_MODE_CLEAR);
// Añade clave con la contraseña 'test' para firmar
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
// Firma
$signed = gnupg_sign($res,"just a test");
echo $signed;
?>

Ejemplo #2 Ejemplo de firma gnupg (clearsign) mediante orientación a objetos

<?php
// Instanciamos la clase
$gnupg = new gnupg();
// Esto realmente no es necesario, clearsign es el valor por defecto
$gnupg->setsignmode(gnupg::SIG_MODE_CLEAR);
// Añade clave con la contraseña 'test' para firmar
$gnupg->addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
// Firma
$signed = $gnupg->sign("just a test");
echo $signed;
?>

Ejemplo #3 keylistiterator

Esta extensión trae también un Iterator para un juego de claves

<?php
// Crea un nuevo Iterator para listar todas las claves públicas que coinciden
// con 'example'
$iterator = new gnupg_keylistiterator("example");
foreach($iterator as $fingerprint => $userid){
    echo $fingerprint." -> ".$userid."\n";
}
?>
Ejemplos
Funciones de GnuPG
Ejemplos


Funciones de GnuPG

Notas

Esta extensión hace uso del llavero de claves del usuario actual. Este llavero generalmente se encuentra en ~./.gnupg/. Para especificar una localización diferente, almacenar el path en la variable de entorno GNUPGHOME. Ver putenv para más información sobre cómo realizarlo.

Algunas funciones requieren especificar alguna clave. Se puede espeficicar mediante cualquiera cosa que se refiera a una clave única (userid, key-id, fingerprint, ...). Esta documentación usa el fingerprint para todos los ejemplos.

Tabla de contenidos

  • gnupg_adddecryptkey — Añade una llave para desencriptar
  • gnupg_addencryptkey — Añade una llave para encriptar
  • gnupg_addsignkey — Añade una llave para firmar
  • gnupg_cleardecryptkeys — Elimina todas las llaves establecidas anteriormente para desencriptar
  • gnupg_clearencryptkeys — Elimina todas las llaves establecidas anteriormente paraencriptar
  • gnupg_clearsignkeys — Elimina todas las llaves establecidas anteriormente para firmar
  • gnupg_decrypt — Desencripta un texto dado
  • gnupg_decryptverify — Desencripta y verifica un texto dado
  • gnupg_encrypt — Encripta el texto dado
  • gnupg_encryptsign — Encripta y firma un texto dado
  • gnupg_export — Exporta una llave
  • gnupg_geterror — Retorna el texto de error si una función falla
  • gnupg_getprotocol — Retorna el protocolo activo actualmente para todas las operaciones
  • gnupg_import — Importa una llave
  • gnupg_init — Inicializa una conexión
  • gnupg_keyinfo — Retorna un array con información sobre todas las llaves que coinciden con un patrón dado
  • gnupg_setarmor — Activa o desactiva la salida blindada
  • gnupg_seterrormode — Fija el modo para error_reporting
  • gnupg_setsignmode — Fija el modo para firmar
  • gnupg_sign — Firma un texto dado
  • gnupg_verify — Verifica un texto firmado
Firma de texto (clearsign)
gnupg_adddecryptkey
GnuPG


Añade una llave para desencriptar

Funciones de GnuPG
gnupg_addencryptkey
Funciones de GnuPG
PHP Manual

gnupg_adddecryptkey

(PECL gnupg >= 0.5)

gnupg_adddecryptkey — Añade una llave para desencriptar

Descripción

bool gnupg_adddecryptkey ( resource $identifier , string $fingerprint , string $passphrase )

Parámetros

identifier

El identificador gnupg, desde una llamada a gnupg_init() o gnupg.

fingerprint

La clave fingerprint.

passphrase

La contraseña de paso.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de gnupg_adddecryptkey() mediante funciones

<?php
$res = gnupg_init();
gnupg_adddecryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
?>

Ejemplo #2 Ejemplo de gnupg_adddecryptkey() mediante OO

<?php
$gpg = new gnupg();
$gpg -> adddecryptkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
?>

Funciones de GnuPG
gnupg_addencryptkey
Funciones de GnuPG


Añade una llave para encriptar

gnupg_adddecryptkey
gnupg_addsignkey
Funciones de GnuPG
PHP Manual

gnupg_addencryptkey

(PECL gnupg >= 0.5)

gnupg_addencryptkey — Añade una llave para encriptar

Descripción

bool gnupg_addencryptkey ( resource $identifier , string $fingerprint )

Parámetros

identifier

El identificador gnupg, desde una llamada a gnupg_init() o gnupg.

fingerprint

La clave fingerprint.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de gnupg_addencryptkey() mediante funciones

<?php
$res = gnupg_init();
gnupg_addencryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC");
?>

Ejemplo #2 Ejemplo de gnupg_addencryptkey() mediante OO

<?php
$gpg = new gnupg();
$gpg -> addencryptkey("8660281B6051D071D94B5B230549F9DC851566DC");
?>

gnupg_adddecryptkey
gnupg_addsignkey
Funciones de GnuPG


Añade una llave para firmar

gnupg_addencryptkey
gnupg_cleardecryptkeys
Funciones de GnuPG
PHP Manual

gnupg_addsignkey

(PECL gnupg >= 0.5)

gnupg_addsignkey — Añade una llave para firmar

Descripción

bool gnupg_addsignkey ( resource $identifier , string $fingerprint [, string $passphrase ] )

Parámetros

identifier

El identificador gnupg, desde una llamada a gnupg_init() o gnupg.

fingerprint

La clave fingerprint.

passphrase

La contraseña.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de gnupg_addsignkey() mediante funciones

<?php
$res = gnupg_init();
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
?>

Ejemplo #2 Ejemplo de gnupg_addsignkey() mediante OO

<?php
$gpg = new gnupg();
$gpg -> addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
?>

gnupg_addencryptkey
gnupg_cleardecryptkeys
Funciones de GnuPG


Elimina todas las llaves establecidas anteriormente para desencriptar

gnupg_addsignkey
gnupg_clearencryptkeys
Funciones de GnuPG
PHP Manual

gnupg_cleardecryptkeys

(PECL gnupg >= 0.5)

gnupg_cleardecryptkeys — Elimina todas las llaves establecidas anteriormente para desencriptar

Descripción

bool gnupg_cleardecryptkeys ( resource $identifier )

Parámetros

identifier

El identificador gnupg, desde una llamada a gnupg_init() o gnupg.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de gnupg_cleardecryptkeys() mediante funciones

<?php
$res = gnupg_init();
gnupg_cleardecryptkeys($res);
?>

Ejemplo #2 Ejemplo de gnupg_cleardecryptkeys() mediante OO

<?php
$gpg = new gnupg();
$gpg -> cleardecryptkeys();
?>

gnupg_addsignkey
gnupg_clearencryptkeys
Funciones de GnuPG


Elimina todas las llaves establecidas anteriormente paraencriptar

gnupg_cleardecryptkeys
gnupg_clearsignkeys
Funciones de GnuPG
PHP Manual

gnupg_clearencryptkeys

(PECL gnupg >= 0.5)

gnupg_clearencryptkeys — Elimina todas las llaves establecidas anteriormente paraencriptar

Descripción

bool gnupg_clearencryptkeys ( resource $identifier )

Parámetros

identifier

El identificador gnupg, desde una llamada a gnupg_init() o gnupg.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de gnupg_clearencryptkeys() mediante funciones

<?php
$res = gnupg_init();
gnupg_clearencryptkeys($res);
?>

Ejemplo #2 Ejemplo de gnupg_clearencryptkeys() mediante OO

<?php
$gpg = new gnupg();
$gpg -> clearencryptkeys();
?>

gnupg_cleardecryptkeys
gnupg_clearsignkeys
Funciones de GnuPG


Elimina todas las llaves establecidas anteriormente para firmar

gnupg_clearencryptkeys
gnupg_decrypt
Funciones de GnuPG
PHP Manual

gnupg_clearsignkeys

(PECL gnupg >= 0.5)

gnupg_clearsignkeys — Elimina todas las llaves establecidas anteriormente para firmar

Descripción

bool gnupg_clearsignkeys ( resource $identifier )

Parámetros

identifier

El identificador gnupg, desde una llamada a gnupg_init() o gnupg.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de gnupg_clearsignkeys() mediante funciones

<?php
$res = gnupg_init();
gnupg_clearsignkeys($res);
?>

Ejemplo #2 Ejemplo de gnupg_clearsignkeys() mediante OO

<?php
$gpg = new gnupg();
$gpg -> clearsignkeys();
?>

gnupg_clearencryptkeys
gnupg_decrypt
Funciones de GnuPG


Desencripta un texto dado

gnupg_clearsignkeys
gnupg_decryptverify
Funciones de GnuPG
PHP Manual

gnupg_decrypt

(PECL gnupg >= 0.1)

gnupg_decrypt — Desencripta un texto dado

Descripción

string gnupg_decrypt ( resource $identifier , string $text )

Desencripta un texto dado con las claves, establecidas anteriormente con gnupg_adddecryptkey.

Parámetros

identifier

El identificador gnupg, desde una llamada a gnupg_init() o gnupg.

text

El texto a ser desencriptado.

Valores devueltos

En caso de éxito, esta función retorna el texto desencriptado. En caso de fallo, la función retorna FALSE.

Ejemplos

Ejemplo #1 Ejemplo de gnupg_decrypt() mediante funciones

<?php
$res = gnupg_init();
gnupg_adddecryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$plain = gnupg_decrypt($res,$encrypted_text);
echo $plain;
?>

Ejemplo #2 Ejemplo de gnupg_encrypt() mediante OO

<?php
$gpg = new gnupg();
$gpg -> adddecryptkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$plain = $gpg -> decrypt($encrypted_text);
echo $plain;
?>

gnupg_clearsignkeys
gnupg_decryptverify
Funciones de GnuPG


Desencripta y verifica un texto dado

gnupg_decrypt
gnupg_encrypt
Funciones de GnuPG
PHP Manual

gnupg_decryptverify

(PECL gnupg >= 0.2)

gnupg_decryptverify — Desencripta y verifica un texto dado

Descripción

array gnupg_decryptverify ( resource $identifier , string $text , string &$plaintext )

Desencripta y verifica un texto dado y retorna información sobre la firma.

Parámetros

identifier

El identificador gnupg, desde una llamada a gnupg_init() o gnupg.

text

El texto a ser desencriptado.

plaintext

El parámetro plaintext se rellena con el texto desencriptado.

Valores devueltos

En caso de éxito, esta función retorna información sobra la firma y rellena el parámetro plaintext con el texto desencriptado. En caso de fallo, esta función retorna FALSE.

Ejemplos

Ejemplo #1 Ejemplo de gnupg_decryptverify() mediante funciones

<?php
$plaintext = "";
$res = gnupg_init();
gnupg_adddecryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$info = gnupg_decryptverify($res,$text,$plaintext);
print_r($info);
?>

Ejemplo #2 Ejemplo de gnupg_decryptverify() mediante OO

<?php
$plaintext = "";
$gpg = new gnupg();
$gpg -> adddecryptkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$info = $gpg -> decryptverify($text,$plaintext);
print_r($info);
?>

gnupg_decrypt
gnupg_encrypt
Funciones de GnuPG


Encripta el texto dado

gnupg_decryptverify
gnupg_encryptsign
Funciones de GnuPG
PHP Manual

gnupg_encrypt

(PECL gnupg >= 0.1)

gnupg_encrypt — Encripta el texto dado

Descripción

string gnupg_encrypt ( resource $identifier , string $plaintext )

Encripta el parámetro plaintext con las llaves que se han indicado anteriormente mediante gnupg_addencryptkey y retrona el texto encriptado.

Parámetros

identifier

El identificador gnupg, desde una llamada a gnupg_init() o gnupg.

plaintext

El texto a ser encriptado.

Valores devueltos

En caso de éxito, la función retorna el texto encriptado. En caso de fallo, la función retorna FALSE.

Ejemplos

Ejemplo #1 Ejemplo de gnupg_encrypt() mediante funciones

<?php
$res = gnupg_init();
gnupg_addencryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC");
$enc = gnupg_encrypt($res, "just a test");
echo $enc;
?>

Ejemplo #2 Ejemplo de gnupg_encrypt() mediante OO

<?php
$gpg = new gnupg();
$gpg -> addencryptkey("8660281B6051D071D94B5B230549F9DC851566DC");
$enc = $gpg -> encrypt("just a test");
echo $enc;
?>

gnupg_decryptverify
gnupg_encryptsign
Funciones de GnuPG


Encripta y firma un texto dado

gnupg_encrypt
gnupg_export
Funciones de GnuPG
PHP Manual

gnupg_encryptsign

(PECL gnupg >= 0.2)

gnupg_encryptsign — Encripta y firma un texto dado

Descripción

string gnupg_encryptsign ( resource $identifier , string $plaintext )

Encripta y firma el parámetro plaintext con las llaves que se an indicado anteriormente mediante gnupg_addsignkey y gnupg_addencryptkey y retorna el texto encriptado y firmado.

Parámetros

identifier

El identificador gnupg, desde una llamada a gnupg_init() o gnupg.

plaintext

El texto a ser encriptado.

Valores devueltos

En caso de éxito, esta función retorna el texto encriptado y firmado. En caso de fallo, esta función retorna FALSE.

Ejemplos

Ejemplo #1 Ejemplo de gnupg_encryptsign() mediante funciones

<?php
$res = gnupg_init();
gnupg_addencryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC");
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$enc = gnupg_encryptsign($res, "just a test");
echo $enc;
?>

Ejemplo #2 Ejemplo de gnupg_encryptsign() mediante OO

<?php
$gpg = new gnupg();
$gpg -> addencryptkey("8660281B6051D071D94B5B230549F9DC851566DC");
$gpg -> addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$enc = $gpg -> encryptsign("just a test");
echo $enc;
?>

gnupg_encrypt
gnupg_export
Funciones de GnuPG


Exporta una llave

gnupg_encryptsign
gnupg_geterror
Funciones de GnuPG
PHP Manual

gnupg_export

(PECL gnupg >= 0.1)

gnupg_export — Exporta una llave

Descripción

string gnupg_export ( resource $identifier , string $fingerprint )

Exporta la llave fingerprint.

Parámetros

identifier

El identificador gnupg, desde una llamada a gnupg_init() o gnupg.

fingerprint

La clave fingerprint.

Valores devueltos

En caso de éxito, esta función retorna los datos de la llave. En caso de error, retorna FALSE.

Ejemplos

Ejemplo #1 Ejemplo de gnupg_export() mediante funciones

<?php
$res = gnupg_init();
$export = gnupg_export($res,"8660281B6051D071D94B5B230549F9DC851566DC");
echo $export;
?>

Ejemplo #2 Ejemplo de gnupg_export() mediante OO

<?php
$gpg = new gnupg();
$export = $gpg -> export("8660281B6051D071D94B5B230549F9DC851566DC");
?>

gnupg_encryptsign
gnupg_geterror
Funciones de GnuPG


Retorna el texto de error si una función falla

gnupg_export
gnupg_getprotocol
Funciones de GnuPG
PHP Manual

gnupg_geterror

(PECL gnupg >= 0.1)

gnupg_geterror — Retorna el texto de error si una función falla

Descripción

string gnupg_geterror ( resource $identifier )

Parámetros

identifier

El identificador gnupg, desde una llamada a gnupg_init() o gnupg.

Valores devueltos

Retorna el texto de error si hay un fallo en las funciones, o FALSE en cualquier otro caso.

Ejemplos

Ejemplo #1 Ejemplo de gnupg_geterror() mediante funciones

<?php
$res = gnupg_init();
echo gnupg_geterror($res);
?>

Ejemplo #2 Ejemplo de gnupg_geterror() mediante OO

<?php
$gpg = new gnupg();
echo $gpg -> geterror();
?>

gnupg_export
gnupg_getprotocol
Funciones de GnuPG


Retorna el protocolo activo actualmente para todas las operaciones

gnupg_geterror
gnupg_import
Funciones de GnuPG
PHP Manual

gnupg_getprotocol

(PECL gnupg >= 0.1)

gnupg_getprotocol — Retorna el protocolo activo actualmente para todas las operaciones

Descripción

int gnupg_getprotocol ( resource $identifier )

Parámetros

identifier

El identificador gnupg, desde una llamada a gnupg_init() o gnupg.

Valores devueltos

Retorna el protocolo activo actualmente que puede ser uno de los siguientes: GNUPG_PROTOCOL_OpenPGP o GNUPG_PROTOCOL_CMS.

Ejemplos

Ejemplo #1 Ejemplo de gnupg_getprotocol() mediante funciones

<?php
$res = gnupg_init();
echo gnupg_getprotocol($res);
?>

Ejemplo #2 Ejemplo de gnupg_getprotocol() mediante

<?php
$gpg = new gnupg();
echo $gpg -> getprotocol();
?>

gnupg_geterror
gnupg_import
Funciones de GnuPG


Importa una llave

gnupg_getprotocol
gnupg_init
Funciones de GnuPG
PHP Manual

gnupg_import

(PECL gnupg >= 0.3)

gnupg_import — Importa una llave

Descripción

array gnupg_import ( resource $identifier , string $keydata )

Importa la llave keydata y retorna un array con la información sobre el proceso de importación.

Parámetros

identifier

El identificador gnupg, desde una llamada a gnupg_init() o gnupg.

keydata

Los datos de la llave que se va a importar.

Valores devueltos

En caso de éxito, esta función retorna un array con la información sobre el proceso de importación. En caso de fallo, esta función retorna FALSE.

Ejemplos

Ejemplo #1 Ejemplo de gnupg_import() mediante funciones

<?php
$res = gnupg_init();
$info = gnupg_import($res,$keydata);
print_r($info);
?>

Ejemplo #2 Ejemplo de gnupg_import() mediante OO

<?php
$gpg = new gnupg();
$info = $gpg -> import($keydata);
print_r($info);
?>

gnupg_getprotocol
gnupg_init
Funciones de GnuPG


Inicializa una conexión

gnupg_import
gnupg_keyinfo
Funciones de GnuPG
PHP Manual

gnupg_init

(PECL gnupg >= 0.4)

gnupg_init — Inicializa una conexión

Descripción

resource gnupg_init ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Una conexión de tipo GnuPG resource usada por otras funciones GnuPG.

Ejemplos

Ejemplo #1 Ejemplo de gnupg_init() mediante funciones

<?php
$res = gnupg_init();
?>

Ejemplo #2 Ejemplo del inicializador gnupg mediante OO

<?php
$gpg = new gnupg();
?>

gnupg_import
gnupg_keyinfo
Funciones de GnuPG


Retorna un array con información sobre todas las llaves que coinciden con un patrón dado

gnupg_init
gnupg_setarmor
Funciones de GnuPG
PHP Manual

gnupg_keyinfo

(PECL gnupg >= 0.1)

gnupg_keyinfo — Retorna un array con información sobre todas las llaves que coinciden con un patrón dado

Descripción

array gnupg_keyinfo ( resource $identifier , string $pattern )

Parámetros

identifier

El identificador gnupg, desde una llamada a gnupg_init() o gnupg.

pattern

El patrón a comprobar contra la llave.

Valores devueltos

Retorna un array con información sobre todas las llaves que coinciden con un patrón dado o FALSE si ocurre un error.

Ejemplos

Ejemplo #1 Ejemplo de gnupg_keyinfo() mediante funciones

<?php
$res = gnupg_init();
$info = gnupg_keyinfo($res, 'test');
print_r($info);
?>

Ejemplo #2 Ejemplo de gnupg_keyinfo() mediante OO

<?php
$gpg = new gnupg();
$info = $gpg -> keyinfo("test");
print_r($info);
?>

gnupg_init
gnupg_setarmor
Funciones de GnuPG


Activa o desactiva la salida blindada

gnupg_keyinfo
gnupg_seterrormode
Funciones de GnuPG
PHP Manual

gnupg_setarmor

(PECL gnupg >= 0.1)

gnupg_setarmor — Activa o desactiva la salida blindada

Descripción

bool gnupg_setarmor ( resource $identifier , int $armor )

Activa o desactiva la salida blindada.

Parámetros

identifier

El identificador gnupg, desde una llamada a gnupg_init() o gnupg.

armor

Cualquiera valor entero que no sea cero a esta función activa la salida blindada (por defecto). Si se pasa 0, se desactiva la salida blindada.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de gnupg_setarmor() mediante funciones

<?php
$res = gnupg_init();
gnupg_setarmor($res,1); // Activa la salida blindada
gnupg_setarmor($res,0); // Desactiva la salida blindada
?>

Ejemplo #2 Ejemplo de gnupg_setarmor() mediante OO

<?php
$gpg = new gnupg();
$gpg -> setarmor(1); // Activa la salida blindada
$gpg -> setarmor(0); // Desactiva la salida blindada
?>

gnupg_keyinfo
gnupg_seterrormode
Funciones de GnuPG


Fija el modo para error_reporting

gnupg_setarmor
gnupg_setsignmode
Funciones de GnuPG
PHP Manual

gnupg_seterrormode

(PECL gnupg >= 0.6)

gnupg_seterrormode — Fija el modo para error_reporting

Descripción

void gnupg_seterrormode ( resource $identifier , int $errormode )

Fija el modo para error_reporting.

Parámetros

identifier

El identificador gnupg, desde una llamada a gnupg_init() o gnupg.

errormode

El modo de error.

errormode toma el valor de una constante indicando qué tipo de error_reporting debe ser usado. Los posibles valores son: GNUPG_ERROR_WARNING, GNUPG_ERROR_EXCEPTION y GNUPG_ERROR_SILENT. Por defecto se usa GNUPG_ERROR_SILENT.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Pejemplo de gnupg_seterrormode() mediante funciones

<?php
$res = gnupg_init();
gnupg_seterrormode($res,GNUPG_ERROR_WARNING); // lanza un PHP-Warning en caso de error
?>

Ejemplo #2 Ejemplo de gnupg_seterrormode() mediante OO

<?php
$gpg = new gnupg();
$gpg -> seterrormode(gnupg::ERROR_EXCEPTION); // lanza una excepción en caso de error
?>

gnupg_setarmor
gnupg_setsignmode
Funciones de GnuPG


Fija el modo para firmar

gnupg_seterrormode
gnupg_sign
Funciones de GnuPG
PHP Manual

gnupg_setsignmode

(PECL gnupg >= 0.1)

gnupg_setsignmode — Fija el modo para firmar

Descripción

bool gnupg_setsignmode ( resource $identifier , int $signmode )

Fija el modo para firmar.

Parámetros

identifier

El identificador gnupg, desde una llamada a gnupg_init() o gnupg.

sigmode

El modo para firmar.

signmode toma el valor de una constante indicando qué tipo de firma debería producirse. Los posibles valores son: GNUPG_SIG_MODE_NORMAL, GNUPG_SIG_MODE_DETACH y GNUPG_SIG_MODE_CLEAR. Por defecto se usa GNUPG_SIG_MODE_CLEAR.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de gnupg_setsignmode() mediante funciones

<?php
$res = gnupg_init();
gnupg_setsignmode($res,GNUPG_SIG_MODE_DETACH); // produce una firma separada
?>

Ejemplo #2 Ejemplo de gnupg_setsignmode() mediante OO

<?php
$gpg = new gnupg();
$gpg -> setsignmode(gnupg::SIG_MODE_DETACH); // produce una firma separada
?>

gnupg_seterrormode
gnupg_sign
Funciones de GnuPG


Firma un texto dado

gnupg_setsignmode
gnupg_verify
Funciones de GnuPG
PHP Manual

gnupg_sign

(PECL gnupg >= 0.1)

gnupg_sign — Firma un texto dado

Descripción

string gnupg_sign ( resource $identifier , string $plaintext )

Firma plaintext con las llaves que se han indicado anteriormente con gnupg_addsignkey y retorna el texto firmado o la firma, dependiendo de lo que se haya indicado en gnupg_setsignmode.

Parámetros

identifier

El identificador gnupg, desde una llamada a gnupg_init() o gnupg.

plaintext

El texto a ser firmado.

Valores devueltos

En caso de éxito, esta función retorna el texto firmado o la firma. En caso de fallo, esta función retorna FALSE

Ejemplos

Ejemplo #1 Ejemplo de gnupg_sign() mediante funciones

<?php
$res = gnupg_init();
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$signed = gnupg_sign($res, "just a test");
echo $signed;
?>

Ejemplo #2 Ejemplo de gnupg_sign() mediante OO

<?php
$gpg = new gnupg();
$gpg -> setsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$signed = $gpg -> sign("just a test");
echo $signed;
?>

gnupg_setsignmode
gnupg_verify
Funciones de GnuPG


Verifica un texto firmado

gnupg_sign
haru
Funciones de GnuPG
PHP Manual

gnupg_verify

(PECL gnupg >= 0.1)

gnupg_verify — Verifica un texto firmado

Descripción

array gnupg_verify ( resource $identifier , string $signed_text , string $signature [, string &$plaintext ] )

Verifica el texto dado en signed_text y retorna información sobre la firma.

Parámetros

identifier

El identificador gnupg, desde una llamada a gnupg_init() o gnupg.

signed_text

El texto firmado.

signature

La firma. Para verificar un texto firmado, indicar el valor FALSE.

plaintext

El texto plano. Si se indica este parámetro opcional, se rellena con el texto.

Valores devueltos

En caso de éxito, esta función retorna información sobre la firma. En caso de fallo, esta función retorna FALSE.

Ejemplos

Ejemplo #1 Ejemplo de gnupg_verify() mediante funciones

<?php
$plaintext = "";
$res = gnupg_init();
// firmado
$info = gnupg_verify($res,$signed_text,false,$plaintext);
print_r($info);
// firma separada
$info = gnupg_verify($res,$signed_text,$signature);
print_r($info);
?>

Ejemplo #2 Ejemplo de gnupg_verify() mediante OO

<?php
$plaintext = "";
$gpg = new gnupg();
// firmado
$info = $gpg -> verify($signed_text,false,$plaintext);
print_r($info);
// firma separada
$info = $gpg -> verify($signed_text,$signature);
print_r($info);
?>

gnupg_sign
haru
Funciones de GnuPG


PDF de Haru

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Ejemplo basico de PECL/haru
  • Fuentes y Codificaciones Incorporadas
    • Fuentes Incorporadas
    • Codificaciones Incorporadas
  • HaruException — La clase HaruException
  • HaruDoc — La clase HaruDoc
    • HaruDoc::addPage — Agrega una nueva página al documento
    • HaruDoc::addPageLabel — Establece el estilo de numeración para el rango especificado de páginas
    • HaruDoc::__construct — Construye una nueva instancia de HaruDoc
    • HaruDoc::createOutline — Crea una nueva instancia de HaruOutline
    • HaruDoc::getCurrentEncoder — Obteniene la HaruEncoder actualmente usada en el documento
    • HaruDoc::getCurrentPage — Devuelve la página corriente del documento
    • HaruDoc::getEncoder — Obtiene una instancia de HaruEncoder para el codificador especificado
    • HaruDoc::getFont — Obtiene una instancia de HaruFont
    • HaruDoc::getInfoAttr — Colocar al corriente los valores de los atributos en documentos especificados
    • HaruDoc::getPageLayout — Colocar al corriente la disposición de la página
    • HaruDoc::getPageMode — Coloca al corriente el modo de la página
    • HaruDoc::getStreamSize — Obtiene el tamaño de la secuencia temporal
    • HaruDoc::insertPage — Inserta una nueva página solo antes de la página especificada
    • HaruDoc::loadJPEG — Carga una imagen JPEG
    • HaruDoc::loadPNG — Carga y devuelve una imagen PNGHaruImage instance
    • HaruDoc::loadRaw — Carga una imagen RAW
    • HaruDoc::loadTTC — Carga la fuente con el indice especificado del archivo TTC
    • HaruDoc::loadTTF — Carga fichero de fuente TTF
    • HaruDoc::loadType1 — Carga fuente Type1
    • HaruDoc::output — Escribe los datos del documento a la salida del buffer
    • HaruDoc::readFromStream — Lee los datos de la corriente temporal
    • HaruDoc::resetError — Reinicia el estado de error de el documento manejado
    • HaruDoc::resetStream — Rebobina la secuencia temporal
    • HaruDoc::save — Guarda el documento en el fichero especificado
    • HaruDoc::saveToStream — Guarda el documento en una secuencia temporal
    • HaruDoc::setCompressionMode — Establece el modo de compresión para el documento
    • HaruDoc::setCurrentEncoder — Establece el codificador actual para el documento
    • HaruDoc::setEncryptionMode — Establece el modo de cifrado para el documento
    • HaruDoc::setInfoAttr — Define el atributo info del documento
    • HaruDoc::setInfoDateAttr — Establecer los atributos datetime info del documento
    • HaruDoc::setOpenAction — Definir en qué página se muestra cuando se abre el documento
    • HaruDoc::setPageLayout — Indica cómo deben mostrarse las páginas
    • HaruDoc::setPageMode — Indica cómo se debe mostrar el documento
    • HaruDoc::setPagesConfiguration — Establece el número de páginas que contiene cada conjunto de páginas
    • HaruDoc::setPassword — Establecer propietario y contraseñas de usuarios para el documento
    • HaruDoc::setPermission — Establece los permisos para el documento
    • HaruDoc::useCNSEncodings — Habilita las codificaciones Chinas simplificadas
    • HaruDoc::useCNSFonts — Habilita la incorporación de fuentes Chinas simplificadas
    • HaruDoc::useCNTEncodings — Habilita las codificaciones Chinas tradicionales
    • HaruDoc::useCNTFonts — Habilita la incorporación de fuentes Chinas tradicionales
    • HaruDoc::useJPEncodings — Habilita las codificaciones Japonesas
    • HaruDoc::useJPFonts — Habilita la incorporación de fuentes Japonesas
    • HaruDoc::useKREncodings — Habilita las codificaciones Coreanas
    • HaruDoc::useKRFonts — Habilita la incorporación de fuentes Coreanas
  • HaruPage — La clase HaruPage
    • HaruPage::arc — Anexa un arco a la ruta corriente
    • HaruPage::beginText — Empieza un objeto de texto y establece la posición corriente del texto a (0,0)
    • HaruPage::circle — Anexa un círculo a la ruta corriente
    • HaruPage::closePath — Anexa una línea recta del punto corriente al inicio del punto de la ruta
    • HaruPage::concat — Concatena la matriz corriente de transformación de la página y la matriz especificada
    • HaruPage::createDestination — Crea una nueva instancia de HaruDestination
    • HaruPage::createLinkAnnotation — Crea una nueva instancia de HaruAnnotation
    • HaruPage::createTextAnnotation — Crea una nueva instancia de HaruAnnotation
    • HaruPage::createURLAnnotation — Crea una nueva instancia de HaruAnnotation
    • HaruPage::curveTo2 — Anexar una curva Bezier a la ruta actual
    • HaruPage::curveTo3 — Anexar una curva Bezier a la ruta actual
    • HaruPage::curveTo — Anexa una curva Bezier para la ruta corriente
    • HaruPage::drawImage — Mostrar una imagen en la página
    • HaruPage::ellipse — Anexar una elipse a la ruta actual
    • HaruPage::endPath — Fin actual de la ruta del objeto sin operaciones de llenado y pintado
    • HaruPage::endText — Fin actual en el texto del objeto
    • HaruPage::eofill — Relleno actual de la ruta usadando la regla even-odd
    • HaruPage::eoFillStroke — Rellenar la ruta actual usando la regla even-odd, luego se pinta la ruta
    • HaruPage::fill — Llena la ruta actual usando la regla del número de vueltas diferentes a cero
    • HaruPage::fillStroke — Rellenar la ruta actual utilizando la regla de zigzagueo de número distinto de cero, luego colorea la ruta
    • HaruPage::getCharSpace — Obtiene el valor actual del carácter espaciado
    • HaruPage::getCMYKFill — Obtiene el color de relleno actual
    • HaruPage::getCMYKStroke — Obtiene el color actual del trazo
    • HaruPage::getCurrentFont — Obtiene la actual fuente usada
    • HaruPage::getCurrentFontSize — Obtiene el tamaño de la fuente actual
    • HaruPage::getCurrentPos — Obtiene la posición actual para la ruta de impresión
    • HaruPage::getCurrentTextPos — Obtiene la posición actual para la impresión del texto
    • HaruPage::getDash — Obtiene el actual patrón guía
    • HaruPage::getFillingColorSpace — Obtiene el espacio actual del color de relleno
    • HaruPage::getFlatness — Obtiene la categoría de la página
    • HaruPage::getGMode — Obtiene el modo de grafico actual
    • HaruPage::getGrayFill — Obtiene el color de relleno actual
    • HaruPage::getGrayStroke — Obtiene el color actual del trazo
    • HaruPage::getHeight — Obtiene la altura de la página
    • HaruPage::getHorizontalScaling — Obtiene el valor actual de la escala horizontal
    • HaruPage::getLineCap — Obtiene el estilo actual del extremo de línea
    • HaruPage::getLineJoin — Obtiene el estilo de la línea de unión
    • HaruPage::getLineWidth — Obtiene el ancho actual de la línea
    • HaruPage::getMiterLimit — Obtiene el valor del límite del inglete
    • HaruPage::getRGBFill — Obtiene el color actual de relleno
    • HaruPage::getRGBStroke — Obtiene el color actual del trazo
    • HaruPage::getStrokingColorSpace — Obtiene el color actual del espacio del trazado
    • HaruPage::getTextLeading — Obtiene el valor actual de la línea espaciada
    • HaruPage::getTextMatrix — Obtiene la transformación actual de la matriz de la página
    • HaruPage::getTextRenderingMode — Obtiene el texto actual de modo de interpretación
    • HaruPage::getTextRise — Obtiene el valor actual del texto saliente
    • HaruPage::getTextWidth — Obtiene el ancho del tamaño de la fuente usada en el texto actual, el caracter y la letra espaciada
    • HaruPage::getTransMatrix — Obtiene la transformación actual de la matriz de la página
    • HaruPage::getWidth — Obtiene el ancho de la página
    • HaruPage::getWordSpace — Obtiene el valor actual del espaciado de la palabra
    • HaruPage::lineTo — Dibuja una línea del punto actual al especificado
    • HaruPage::measureText — Calcula el número de caracteres los cuales pueden ser incluidos dentro del ancho especificado
    • HaruPage::moveTextPos — Mueve la posición del texto al desplazamiento especificado
    • HaruPage::moveTo — Establece el punto de inicio para la nueva ruta de dibujo
    • HaruPage::moveToNextLine — Mueve la posición del texto al inicio de la siguiente línea
    • HaruPage::rectangle — Anexa un rectángulo a la ruta actual
    • HaruPage::setCharSpace — Establece el espaciado de carácter de la página
    • HaruPage::setCMYKFill — Establece el color de relleno para la página
    • HaruPage::setCMYKStroke — Establece el color de trazo de la página
    • HaruPage::setDash — Establece el patrón de guía para la página
    • HaruPage::setFlatness — Establecer la planicie para la página
    • HaruPage::setFontAndSize — Establece la fuente y el tamaño de la misma para la página
    • HaruPage::setGrayFill — Establece el color de relleno para la página
    • HaruPage::setGrayStroke — Establece el color de trazo para la página
    • HaruPage::setHeight — Establece el alto de la página
    • HaruPage::setHorizontalScaling — Establece la escala horizontal para la página
    • HaruPage::setLineCap — Establece la forma a ser usada en el final de las líneas
    • HaruPage::setLineJoin — Establece el estilo de la línea de unión para la página
    • HaruPage::setLineWidth — Establece el ancho de la línea para la página
    • HaruPage::setMiterLimit — Establece el valor actual del inglete limite de la página
    • HaruPage::setRGBFill — Establece el color de relleno para la página
    • HaruPage::setRGBStroke — Establece el color de trazo para la página
    • HaruPage::setRotate — Establece la rotación del ángulo de la página
    • HaruPage::setSize — Define el tamaño y la dirección de la página
    • HaruPage::setSlideShow — Establece el de estilo de transición de la página
    • HaruPage::setTextLeading — Establece el texto guía (línea de espacio) para la página
    • HaruPage::setTextMatrix — Establece la matriz de la transformación actual del texto de la página
    • HaruPage::setTextRenderingMode — Establece el modo de interpretación del texto para la página
    • HaruPage::setTextRise — Establece el valor actual del aumento del texto
    • HaruPage::setWidth — Establece el ancho de la página
    • HaruPage::setWordSpace — Establece el espacio de la palabra para la página
    • HaruPage::showText — Imprime el texto en la posición actual de la página
    • HaruPage::showTextNextLine — Mueve la posición actual a el inicio de la línea siguiente y imprime el texto
    • HaruPage::stroke — Imprime una ruta actual
    • HaruPage::textOut — Imprime el texto en la posición especificada
    • HaruPage::textRect — Imprime el texto dentro de la región especificada
  • HaruFont — La clase HaruFont
    • HaruFont::getAscent — Obtiene el ascenso vertical de la fuente
    • HaruFont::getCapHeight — Obtiene la distancia de la línea de base de las letras en mayúsculas
    • HaruFont::getDescent — Obtiene el descenso vertical de la fuente
    • HaruFont::getEncodingName — Obtiene el nombre del codificador
    • HaruFont::getFontName — Obtiene el nombre de la fuente
    • HaruFont::getTextWidth — Obtiene el ancho total del texto, número de caracteres, numero de palabras y número de espacios
    • HaruFont::getUnicodeWidth — Obtiene el ancho de los caracteres en la fuente
    • HaruFont::getXHeight — Obtiene la distancia de la línea de base de las letras en minúsculas
    • HaruFont::measureText — Calcula el número de caracteres los cuales puede ser incluidos dentro de un ancho especificado
  • HaruImage — La clase HaruImage
    • HaruImage::getBitsPerComponent — Obtiene el número de bits usados para describir cada componente de color de la imagen
    • HaruImage::getColorSpace — Obtiene el nombre del espacio del color
    • HaruImage::getHeight — Obtiene la altura de la imagen
    • HaruImage::getSize — Obtiene el tamaño de la imagen
    • HaruImage::getWidth — Obtiene el ancho de la imagen
    • HaruImage::setColorMask — Establece el color de mascara de la imagen
    • HaruImage::setMaskImage — Establece la mascara de la imagen
  • HaruEncoder — La clase HaruEncoder
    • HaruEncoder::getByteType — Obtiene el tipo de byte en el texto
    • HaruEncoder::getType — Obtiene el tipo del decodificador
    • HaruEncoder::getUnicode — Convierte el carácter especificado a Unicode
    • HaruEncoder::getWritingMode — Obtiene el modo de escritura del codificador
  • HaruOutline — La clase HaruOutline
    • HaruOutline::setDestination — Define el destino para el esquema
    • HaruOutline::setOpened — Define el estado inicial del esquema
  • HaruAnnotation — La clase HaruAnnotation
    • HaruAnnotation::setBorderStyle — Define el estilo de borde de la anotación
    • HaruAnnotation::setHighlightMode — Define el modo destacado de la anotación
    • HaruAnnotation::setIcon — Define el estilo del icono de la anotación
    • HaruAnnotation::setOpened — Define el estado inicial de la anotación
  • HaruDestination — La clase HaruDestination
    • HaruDestination::setFit — Define la apariencia de la página para ajustarse a la ventana
    • HaruDestination::setFitB — Define la apariencia de la página para ajustarse a la delimitación de la caja ubicada dentro de la página en la ventana
    • HaruDestination::setFitBH — Define la apariencia de la página para ajustarse al ancho de la delimitación de la caja
    • HaruDestination::setFitBV — Define la apariencia de la página para ajustarse al alto de la delimitación de la caja
    • HaruDestination::setFitH — Define la apariencia de la página para ajustarse al ancho de la ventana
    • HaruDestination::setFitR — Define la apariencia de la página para ajustarse al rectángulo especificado
    • HaruDestination::setFitV — Define la apariencia de la página para ajustarse al alto de la ventana
    • HaruDestination::setXYZ — Define la apariencia de la página
gnupg_verify
Introducción
Salida MIME que no es texto


Introducción

La extensión PECL/haru proporciona enlaces para la librería libHaru. LibHaru es gratis, a través de la plataforma, y es una librería de Código Abierto para generar archivos PDF.

La librería Haru (libHaru) puede ser encontrada aquí: » http://libharu.org.

Advertencia

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombres de sus funciones y todo lo documentado sobre esta extensión, puede cambiar en una futura edición de PHP sin previo aviso. El uso de esta extensión queda bajo su propia responsabilidad.

haru
Instalación/Configuración
haru


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
haru


Requerimientos

Se necesita instalar libharu primero para que pueda ser posible usar PECL/haru. PECL/haru está probada con libharu 2.0.8, versiones más viejas tal vez o no trabajen con ello. PECL/hary también necesita PHP 5.1.3 o superior.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/haru.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Ejemplos
haru


Ejemplos

Tabla de contenidos

  • Ejemplo basico de PECL/haru
Constantes predefinidas
Ejemplo basico de PECL/haru
haru


Ejemplo basico de PECL/haru

Ejemplo #1 Supuesto "Hola Mundo"

<?php

$doc = new HaruDoc;

$doc->setPageMode(HaruDoc::PAGE_MODE_USE_THUMBS); /* muestra los thumbnails */

$page = $doc->addPage(); /* agrega la página al documento */
$page->setSize(HaruPage::SIZE_A4, HaruPage::LANDSCAPE); /* coloca la pagina a usar formato A4 */

$courier = $doc->getFont("Courier-Bold"); /* Se usara el bulto de fuente algunas lineas abajo */

$page->setRGBStroke(0, 0, 0); /* coloca color */
$page->setRGBFill(0.7, 0.8, 0.9);
$page->rectangle(150, 150, 550, 250); /* dibuja un rectangulo */

$page->fillStroke(); /* llena y traza */

$page->setDash(array(3, 3), 0); /* coloca la guía de estilos para las lineas de está pagina */
$page->setFontAndSize($courier, 60); /* establece fuente y tamaño */

$page->setRGBStroke(0.5, 0.5, 0.1); /* set line color */
$page->setRGBFill(1, 1, 1); /* establece la carga del color */

$page->setTextRenderingMode(HaruPage::FILL_THEN_STROKE); /* llena y traza el texto */

/* imprime el texto */
$page->beginText();
$page->textOut(210, 270, "Hola Mundo!");
$page->endText();

$doc->save("/tmp/test.pdf"); /* salva el documento dentro de un archivo */

?>

Al Abrirse el documento resultante en el visor PDF preferido, debería de verse un rectángulo azul claro y en blanco “Hola Mundo!” sobre este.

Ejemplos
Fuentes y Codificaciones Incorporadas
Ejemplos


Fuentes y Codificaciones Incorporadas

Tabla de contenidos

  • Fuentes Incorporadas
  • Codificaciones Incorporadas
Ejemplo basico de PECL/haru
Fuentes Incorporadas
haru


Fuentes Incorporadas

Estas fuentes Base14 están incorporadas dentro del PDF y todos los visores pueden mostrarlas. El uso de estas fuentes puede disminuir el tamaño del archivo resultante y hacer el proceso mas rápido, evitando la carga extrena de fuentes. Sin embargo las fuentes solo soportan el grupo de caracteres latin1 y se debe cargar fuentes extrenas si se necesita otro grupo de caracteres.

Las fuentes Base14:

  • Courier

  • Courier-Bold

  • Courier-Oblique

  • Courier-BoldOblique

  • Helvetica

  • Helvetica-Bold

  • Helvetica-Oblique

  • Helvetica-BoldOblique

  • Times-Roman

  • Times-Bold

  • Times-Italic

  • Times-BoldItalic

  • Symbol

  • ZapfDingbats

Fuentes y Codificaciones Incorporadas
Codificaciones Incorporadas
Fuentes y Codificaciones Incorporadas


Codificaciones Incorporadas

Codificaciones de los conjuntos de caracteres de un solo byte
Nombre | Descripción
StandardEncoding | La codificación predeterminada de PDF.
MacRomanEncoding | La codificación estándar de Mac OS.
WinAnsiEncoding | La codificación estándar de Windows.
FontSpecific | La codificación de la fuente incorporada.
ISO8859-2 | Latin2 (Este de Europa)
ISO8859-3 | Latin3 (Sur de Europa)
ISO8859-4 | Latin4 (Norte de Europa)
ISO8859-5 | Cirílico
ISO8859-6 | Arábigo
ISO8859-7 | Griego
ISO8859-8 | Hebreo
ISO8859-9 | Latin5 (Turco)
ISO8859-10 | Latin6 (Nórdico)
ISO8859-11 | Tailandés
ISO8859-13 | Latin7 (Región báltica)
ISO8859-14 | Latin8 (Celta)
ISO8859-15 | Latin9
ISO8859-16 | Latin10
CP1250 | Página de Código 1250 de MS Windows.
CP1251 | Página de Códigos 1251 de MS Windows.
CP1252 | Página de Códigos 1252 de MS Windows.
CP1253 | Página de Códigos 1253 de MS Windows.
CP1254 | Página de Códigos 1254 de MS Windows.
CP1255 | Página de Códigos 1255 de MS Windows.
CP1256 | Página de Códigos 1256 de MS Windows.
CP1257 | Página de Códigos 1257 de MS Windows.
CP1258 | Página de Códigos 1258 de MS Windows.
KOI8-R | Conjunto de caracteres cirílico.
Codificaciones de los conjuntos de caracteres multibyte
Nombre | Descripción
GB-EUC-H | Codificación EUC-CN.
GB-EUC-V | Versión de escritura vertical de GB-EUC-H.
GBK-EUC-H | Página de Códigos 936 de Microsoft (lfCharSet 0x86) codificación GBK.
GBK-EUC-V | Versión de escritura verctical de GBK-EUC-H.
ETen-B5-H | Página de Códigos 950 de Microsoft (lfCharSet 0x88) conjuntod de caracteres Big5 con extensiones ETen.
ETen-B5-V | Versión de escritura vertical de ETen-B5-H.
90ms-RKSJ-H | Página de Códigos 932 de Microsoft, carácter JIS X 0208.
90ms-RKSJ-V | Versión de escritura vertical de 90ms-RKSJ-V.
90msp-RKSJ-H | Página de Códigos 932 de Microsoft, caráctr JIS X 0208 (proporcional).
EUC-H | Conjunto de caracteres JIS X 0208, codificación EUC-JP.
EUC-V | Versión de escritura vertical de EUC-H.
KSC-EUC-H | Conjunto de caracteres KS X 1001:1992, codificación EUC-KR.
KSC-EUC-V | Versión de escritura vertical de KSC-EUC-V.
KSCms-UHC-H | Página de Códigos 949 de Microsoft (lfCharSet 0x81), conjunto de caracteres KS X 1001:1992 más hangul adicional 8822, codificación Código Hangul Unificado (UHC)(proporcional).
KSCms-UHC-HW-H | Página de Códigos 949 de Microsoft (lfCharSet 0x81), conjunto de caracteres KS X 1001:1992 más hangul adicional 8822, codificación Código Hangul Unificado (UHC)(ancho fijo).
KSCms-UHC-HW-V | Versión de escritura vertical de KSCms-UHC-HW-H.
Fuentes Incorporadas
HaruException
Fuentes y Codificaciones Incorporadas


La clase HaruException

(PECL haru >= 0.0.1)

Introducción

La clase de excepción de Haru.

Sinopsis de la Clase

HaruException extends Exception {
/* Inherits */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
Codificaciones Incorporadas
HaruDoc
haru


La clase HaruDoc

(PECL haru >= 0.0.1)

Introducción

La clase de documento PDF de Haru.

Sinopsis de la Clase

HaruDoc {
/* Métodos */
object addPage ( void )
bool addPageLabel ( int $first_page , int $style , int $first_num [, string $prefix = "" ] )
__construct ( void )
object createOutline ( string $title [, object $parent_outline [, object $encoder ]] )
object getCurrentEncoder ( void )
object getCurrentPage ( void )
object getEncoder ( string $encoding )
object getFont ( string $fontname [, string $encoding ] )
string getInfoAttr ( int $type )
int getPageLayout ( void )
int getPageMode ( void )
int getStreamSize ( void )
object insertPage ( object $page )
object loadJPEG ( string $filename )
object loadPNG ( string $filename [, bool $deferred = false ] )
object loadRaw ( string $filename , int $width , int $height , int $color_space )
string loadTTC ( string $fontfile , int $index [, bool $embed = false ] )
string loadTTF ( string $fontfile [, bool $embed = false ] )
string loadType1 ( string $afmfile [, string $pfmfile ] )
bool output ( void )
string readFromStream ( int $bytes )
bool resetError ( void )
bool resetStream ( void )
bool save ( string $file )
bool saveToStream ( void )
bool setCompressionMode ( int $mode )
bool setCurrentEncoder ( string $encoding )
bool setEncryptionMode ( int $mode [, int $key_len = 5 ] )
bool setInfoAttr ( int $type , string $info )
bool setInfoDateAttr ( int $type , int $year , int $month , int $day , int $hour , int $min , int $sec , string $ind , int $off_hour , int $off_min )
bool setOpenAction ( object $destination )
bool setPageLayout ( int $layout )
bool setPageMode ( int $mode )
bool setPagesConfiguration ( int $page_per_pages )
bool setPassword ( string $owner_password , string $user_password )
bool setPermission ( int $permission )
bool useCNSEncodings ( void )
bool useCNSFonts ( void )
bool useCNTEncodings ( void )
bool useCNTFonts ( void )
bool useJPEncodings ( void )
bool useJPFonts ( void )
bool useKREncodings ( void )
bool useKRFonts ( void )
}

Constantes predefinidas

Type | Name | Description
int | HaruDoc::CS_DEVICE_GRAY |
int | HaruDoc::CS_DEVICE_RGB |
int | HaruDoc::CS_DEVICE_CMYK |
int | HaruDoc::CS_CAL_GRAY |
int | HaruDoc::CS_CAL_RGB |
int | HaruDoc::CS_LAB |
int | HaruDoc::CS_ICC_BASED |
int | HaruDoc::CS_SEPARATION |
int | HaruDoc::CS_DEVICE_N |
int | HaruDoc::CS_INDEXED |
int | HaruDoc::CS_PATTERN |
int | HaruDoc::ENABLE_READ |
int | HaruDoc::ENABLE_PRINT |
int | HaruDoc::ENABLE_EDIT_ALL |
int | HaruDoc::ENABLE_COPY |
int | HaruDoc::ENABLE_EDIT |
int | HaruDoc::ENCRYPT_R2 |
int | HaruDoc::ENCRYPT_R3 |
int | HaruDoc::INFO_AUTHOR |
int | HaruDoc::INFO_CREATOR |
int | HaruDoc::INFO_TITLE |
int | HaruDoc::INFO_SUBJECT |
int | HaruDoc::INFO_KEYWORDS |
int | HaruDoc::INFO_CREATION_DATE |
int | HaruDoc::INFO_MOD_DATE |
int | HaruDoc::COMP_NONE |
int | HaruDoc::COMP_TEXT |
int | HaruDoc::COMP_IMAGE |
int | HaruDoc::COMP_METADATA |
int | HaruDoc::COMP_ALL |
int | HaruDoc::PAGE_LAYOUT_SINGLE |
int | HaruDoc::PAGE_LAYOUT_ONE_COLUMN |
int | HaruDoc::PAGE_LAYOUT_TWO_COLUMN_LEFT |
int | HaruDoc::PAGE_LAYOUT_TWO_COLUMN_RIGHT |
int | HaruDoc::PAGE_MODE_USE_NONE |
int | HaruDoc::PAGE_MODE_USE_OUTLINE |
int | HaruDoc::PAGE_MODE_USE_THUMBS |
int | HaruDoc::PAGE_MODE_FULL_SCREEN |

Tabla de contenidos

  • HaruDoc::addPage — Agrega una nueva página al documento
  • HaruDoc::addPageLabel — Establece el estilo de numeración para el rango especificado de páginas
  • HaruDoc::__construct — Construye una nueva instancia de HaruDoc
  • HaruDoc::createOutline — Crea una nueva instancia de HaruOutline
  • HaruDoc::getCurrentEncoder — Obteniene la HaruEncoder actualmente usada en el documento
  • HaruDoc::getCurrentPage — Devuelve la página corriente del documento
  • HaruDoc::getEncoder — Obtiene una instancia de HaruEncoder para el codificador especificado
  • HaruDoc::getFont — Obtiene una instancia de HaruFont
  • HaruDoc::getInfoAttr — Colocar al corriente los valores de los atributos en documentos especificados
  • HaruDoc::getPageLayout — Colocar al corriente la disposición de la página
  • HaruDoc::getPageMode — Coloca al corriente el modo de la página
  • HaruDoc::getStreamSize — Obtiene el tamaño de la secuencia temporal
  • HaruDoc::insertPage — Inserta una nueva página solo antes de la página especificada
  • HaruDoc::loadJPEG — Carga una imagen JPEG
  • HaruDoc::loadPNG — Carga y devuelve una imagen PNGHaruImage instance
  • HaruDoc::loadRaw — Carga una imagen RAW
  • HaruDoc::loadTTC — Carga la fuente con el indice especificado del archivo TTC
  • HaruDoc::loadTTF — Carga fichero de fuente TTF
  • HaruDoc::loadType1 — Carga fuente Type1
  • HaruDoc::output — Escribe los datos del documento a la salida del buffer
  • HaruDoc::readFromStream — Lee los datos de la corriente temporal
  • HaruDoc::resetError — Reinicia el estado de error de el documento manejado
  • HaruDoc::resetStream — Rebobina la secuencia temporal
  • HaruDoc::save — Guarda el documento en el fichero especificado
  • HaruDoc::saveToStream — Guarda el documento en una secuencia temporal
  • HaruDoc::setCompressionMode — Establece el modo de compresión para el documento
  • HaruDoc::setCurrentEncoder — Establece el codificador actual para el documento
  • HaruDoc::setEncryptionMode — Establece el modo de cifrado para el documento
  • HaruDoc::setInfoAttr — Define el atributo info del documento
  • HaruDoc::setInfoDateAttr — Establecer los atributos datetime info del documento
  • HaruDoc::setOpenAction — Definir en qué página se muestra cuando se abre el documento
  • HaruDoc::setPageLayout — Indica cómo deben mostrarse las páginas
  • HaruDoc::setPageMode — Indica cómo se debe mostrar el documento
  • HaruDoc::setPagesConfiguration — Establece el número de páginas que contiene cada conjunto de páginas
  • HaruDoc::setPassword — Establecer propietario y contraseñas de usuarios para el documento
  • HaruDoc::setPermission — Establece los permisos para el documento
  • HaruDoc::useCNSEncodings — Habilita las codificaciones Chinas simplificadas
  • HaruDoc::useCNSFonts — Habilita la incorporación de fuentes Chinas simplificadas
  • HaruDoc::useCNTEncodings — Habilita las codificaciones Chinas tradicionales
  • HaruDoc::useCNTFonts — Habilita la incorporación de fuentes Chinas tradicionales
  • HaruDoc::useJPEncodings — Habilita las codificaciones Japonesas
  • HaruDoc::useJPFonts — Habilita la incorporación de fuentes Japonesas
  • HaruDoc::useKREncodings — Habilita las codificaciones Coreanas
  • HaruDoc::useKRFonts — Habilita la incorporación de fuentes Coreanas
HaruException
HaruDoc::addPage
haru


Agrega una nueva página al documento

HaruDoc
HaruDoc::addPageLabel
HaruDoc
PHP Manual

HaruDoc::addPage

(PECL haru >= 0.0.1)

HaruDoc::addPage — Agrega una nueva página al documento

Descripción

object HaruDoc::addPage ( void )

Agrega una nueva página al documento.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una nueva instancia de HaruPage.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::insertPage() - Inserta una nueva página solo antes de la página especificada

HaruDoc
HaruDoc::addPageLabel
HaruDoc


Establece el estilo de numeración para el rango especificado de páginas

HaruDoc::addPage
HaruDoc::__construct
HaruDoc
PHP Manual

HaruDoc::addPageLabel

(PECL haru >= 0.0.1)

HaruDoc::addPageLabel — Establece el estilo de numeración para el rango especificado de páginas

Descripción

bool HaruDoc::addPageLabel ( int $first_page , int $style , int $first_num [, string $prefix = "" ] )

Establece el estilo numérico para el rango especificado de páginas.

Parámetros

first_page

La primera página incluida dentro del rango de la etiqueta.

style

El estilo de numeración. Los siguientes valores son permitidos:

  • HaruPage::NUM_STYLE_DECIMAL - etiqueta de página es mostrada usando numeración decimal.
  • HaruPage::NUM_STYLE_UPPER_ROMAN - etiqueta de página es mostrada usando numeración Romana en mayúsculas.
  • HaruPage::NUM_STYLE_LOWER_ROMAN - etiqueta de página es mostrada usando numeración Romana en minúsculas.
  • HaruPage::NUM_STYLE_UPPER_LETTER - etiqueta de página es mostrada usando letras en mayúsculas (de la A a la Z).
  • HaruPage::NUM_STYLE_LOWER_LETTERS - etiqueta de página es mostrada usando letras en minúsculas (de la A a la Z).

first_num

El número de la primera página en éste rango.

prefix

El prefijo para la etiqueta de página.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruDoc::addPage
HaruDoc::__construct
HaruDoc


Construye una nueva instancia de HaruDoc

HaruDoc::addPageLabel
HaruDoc::createOutline
HaruDoc
PHP Manual

HaruDoc::__construct

(PECL haru >= 0.0.1)

HaruDoc::__construct — Construye una nueva instancia de HaruDoc

Descripción

HaruDoc::__construct ( void )

Construye una nueva instancia de HaruDoc.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruDoc::addPageLabel
HaruDoc::createOutline
HaruDoc


Crea una nueva instancia de HaruOutline

HaruDoc::__construct
HaruDoc::getCurrentEncoder
HaruDoc
PHP Manual

HaruDoc::createOutline

(PECL haru >= 0.0.1)

HaruDoc::createOutline — Crea una nueva instancia de HaruOutline

Descripción

object HaruDoc::createOutline ( string $title [, object $parent_outline [, object $encoder ]] )

Crea una nueva instancia de HaruOutline.

Parámetros

title

El título del nuevo perfil del objeto.

parent_outline

Una valida instancia de HaruOutline o NULL.

encoder

Una valida instancia de HaruEncoder o NULL.

Valores devueltos

Devuelve una nueva instancia de HaruOutline.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruDoc::__construct
HaruDoc::getCurrentEncoder
HaruDoc


Obteniene la HaruEncoder actualmente usada en el documento

HaruDoc::createOutline
HaruDoc::getCurrentPage
HaruDoc
PHP Manual

HaruDoc::getCurrentEncoder

(PECL haru >= 0.0.1)

HaruDoc::getCurrentEncoder — Obteniene la HaruEncoder actualmente usada en el documento

Descripción

object HaruDoc::getCurrentEncoder ( void )

Obteniene la HaruEncoder actualmente usada en el documento.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la HaruEncoder actualmente usada en el documento o FALSE si el codificador no está establecido.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::setCurrentEncoder() - Establece el codificador actual para el documento

HaruDoc::createOutline
HaruDoc::getCurrentPage
HaruDoc


Devuelve la página corriente del documento

HaruDoc::getCurrentEncoder
HaruDoc::getEncoder
HaruDoc
PHP Manual

HaruDoc::getCurrentPage

(PECL haru >= 0.0.1)

HaruDoc::getCurrentPage — Devuelve la página corriente del documento

Descripción

object HaruDoc::getCurrentPage ( void )

Obtiene la página corriente del documento.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una instancia de HaruPage en éxito o FALSE si no hay página corriente en el momento.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruDoc::getCurrentEncoder
HaruDoc::getEncoder
HaruDoc


Obtiene una instancia de HaruEncoder para el codificador especificado

HaruDoc::getCurrentPage
HaruDoc::getFont
HaruDoc
PHP Manual

HaruDoc::getEncoder

(PECL haru >= 0.0.1)

HaruDoc::getEncoder — Obtiene una instancia de HaruEncoder para el codificador especificado

Descripción

object HaruDoc::getEncoder ( string $encoding )

Obtiene una instancia de HaruEncoder para el codificador especificado.

Parámetros

encoding

El nombre del codificador. Ver Builtin Encodings para la lista de los valores permitidos.

Valores devueltos

Devuelve una instancia de HaruEncoder para el codificador especificado.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::setCurrentEncoder() - Establece el codificador actual para el documento
  • HaruDoc::getCurrentEncoder() - Obteniene la HaruEncoder actualmente usada en el documento

HaruDoc::getCurrentPage
HaruDoc::getFont
HaruDoc


Obtiene una instancia de HaruFont

HaruDoc::getEncoder
HaruDoc::getInfoAttr
HaruDoc
PHP Manual

HaruDoc::getFont

(PECL haru >= 0.0.1)

HaruDoc::getFont — Obtiene una instancia de HaruFont

Descripción

object HaruDoc::getFont ( string $fontname [, string $encoding ] )

Obtiene una instancia de HaruFont.

Parámetros

fontname

El nombre de la fuente. Ver Builtin Fonts para la lista de fuentes builtin. También se puede usar un nombre de fuente cargado vía HaruDoc::loadTTF(), HaruDoc::loadTTC() y HaruDoc::loadType1().

encoding

El codificador a usar. Ver Builtin Encodings para la lista de codificadores aceptados.

Valores devueltos

Devuelve una instancia de HaruFont con el fontname especificado y el encoding.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::setFontAndSize() - Establece la fuente y el tamaño de la misma para la página
  • HaruPage::setCurrentFont()

HaruDoc::getEncoder
HaruDoc::getInfoAttr
HaruDoc


Colocar al corriente los valores de los atributos en documentos especificados

HaruDoc::getFont
HaruDoc::getPageLayout
HaruDoc
PHP Manual

HaruDoc::getInfoAttr

(PECL haru >= 0.0.1)

HaruDoc::getInfoAttr — Colocar al corriente los valores de los atributos en documentos especificados

Descripción

string HaruDoc::getInfoAttr ( int $type )

Colocar al corriente los valores de los atributos en documentos especificados.

Parámetros

type

El tipo del atributo. Los siguientes valores están disponibles:

  • HaruDoc::INFO_AUTHOR
  • HaruDoc::INFO_CREATOR
  • HaruDoc::INFO_TITLE
  • HaruDoc::INFO_SUBJECT
  • HaruDoc::INFO_KEYWORDS
  • HaruDoc::INFO_CREATION_DATE
  • HaruDoc::INFO_MOD_DATE

Valores devueltos

Devuelve el valor string del atributo del documento especificado.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::setInfoAttr() - Define el atributo info del documento
  • HaruDoc::setInfoDateAttr() - Establecer los atributos datetime info del documento

HaruDoc::getFont
HaruDoc::getPageLayout
HaruDoc


Colocar al corriente la disposición de la página

HaruDoc::getInfoAttr
HaruDoc::getPageMode
HaruDoc
PHP Manual

HaruDoc::getPageLayout

(PECL haru >= 0.0.1)

HaruDoc::getPageLayout — Colocar al corriente la disposición de la página

Descripción

int HaruDoc::getPageLayout ( void )

Colocar al corriente la disposición de la página. Ver HaruDoc::setPageLayout() para la lista de los posibles valores.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la disposición de la pagina actualmente establecida en el documento o FALSE si la disposición de la página no fu establecida. Ver HaruDoc::setPageLayout() para los posibles valores.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::setPageLayout() - Indica cómo deben mostrarse las páginas

HaruDoc::getInfoAttr
HaruDoc::getPageMode
HaruDoc


Coloca al corriente el modo de la página

HaruDoc::getPageLayout
HaruDoc::getStreamSize
HaruDoc
PHP Manual

HaruDoc::getPageMode

(PECL haru >= 0.0.1)

HaruDoc::getPageMode — Coloca al corriente el modo de la página

Descripción

int HaruDoc::getPageMode ( void )

Coloca al corriente el modo de la página. Ver HaruDoc::setPageMode() para la lista de los posibles valores.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el modo de la página actualmente colocado en el documento. Ver HaruDoc::setPageMode() para la lista de los posibles valores.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::setPageMode() - Indica cómo se debe mostrar el documento

HaruDoc::getPageLayout
HaruDoc::getStreamSize
HaruDoc


Obtiene el tamaño de la secuencia temporal

HaruDoc::getPageMode
HaruDoc::insertPage
HaruDoc
PHP Manual

HaruDoc::getStreamSize

(PECL haru >= 0.0.1)

HaruDoc::getStreamSize — Obtiene el tamaño de la secuencia temporal

Descripción

int HaruDoc::getStreamSize ( void )

Obtiene el tamaño de la secuencia temporal.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el tamaño de los datos en la secuencia temporal del documento. El tamaño es cero si el documento no fue salvado en la secuencia temporal.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::saveToStream() - Guarda el documento en una secuencia temporal
  • HaruDoc::resetStream() - Rebobina la secuencia temporal
  • HaruDoc::readFromStream() - Lee los datos de la corriente temporal

HaruDoc::getPageMode
HaruDoc::insertPage
HaruDoc


Inserta una nueva página solo antes de la página especificada

HaruDoc::getStreamSize
HaruDoc::loadJPEG
HaruDoc
PHP Manual

HaruDoc::insertPage

(PECL haru >= 0.0.1)

HaruDoc::insertPage — Inserta una nueva página solo antes de la página especificada

Descripción

object HaruDoc::insertPage ( object $page )

Crea una nueva página y la inserta antes de la página especificada.

Parámetros

page

Una válida instacia de HaruPage.

Valores devueltos

Devuelve una nueva instancia de HaruPage.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::addPage() - Agrega una nueva página al documento

HaruDoc::getStreamSize
HaruDoc::loadJPEG
HaruDoc


Carga una imagen JPEG

HaruDoc::insertPage
HaruDoc::loadPNG
HaruDoc
PHP Manual

HaruDoc::loadJPEG

(PECL haru >= 0.0.1)

HaruDoc::loadJPEG — Carga una imagen JPEG

Descripción

object HaruDoc::loadJPEG ( string $filename )

Carga una imagen JPEG especificada.

Parámetros

filename

Un archivo válido de una imagen JPEG.

Valores devueltos

Devuelve una nueva instacia de HaruImage.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::loadPNG() - Carga y devuelve una imagen PNGHaruImage instance
  • HaruDoc::loadRAW() - Carga una imagen RAW

HaruDoc::insertPage
HaruDoc::loadPNG
HaruDoc


Carga y devuelve una imagen PNGHaruImage instance

HaruDoc::loadJPEG
HaruDoc::loadRaw
HaruDoc
PHP Manual

HaruDoc::loadPNG

(PECL haru >= 0.0.1)

HaruDoc::loadPNG — Carga y devuelve una imagen PNGHaruImage instance

Descripción

object HaruDoc::loadPNG ( string $filename [, bool $deferred = false ] )

Carga una imagen PNG.

La Libharu puede ser construida sin ayuda de libpng, en ste caso cada llamada a ésta función resultará en excepción.

Parámetros

filename

El nombre del archivo de la imagen PNG.

deferred

No carga los datos inmediatamente. Se debe establecer el parámetro deferred a TRUE para los datos de carga diferida, en éste caso solo el tamaño y el color son cargados inmediatamente.

Valores devueltos

Devuelve una instacia de HaruImage.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::loadJPEG() - Carga una imagen JPEG
  • HaruDoc::loadRAW() - Carga una imagen RAW

HaruDoc::loadJPEG
HaruDoc::loadRaw
HaruDoc


Carga una imagen RAW

HaruDoc::loadPNG
HaruDoc::loadTTC
HaruDoc
PHP Manual

HaruDoc::loadRaw

(PECL haru >= 0.0.1)

HaruDoc::loadRaw — Carga una imagen RAW

Descripción

object HaruDoc::loadRaw ( string $filename , int $width , int $height , int $color_space )

Carga una imagen RAW.

Parámetros

filename

El nombre de una archivo de imagen RAW.

width

The width of the image.

height

El ancho de la imagen.

color_space

El espacio de color de la imagen. Puede ser uno de los siguientes valores:

  • HaruDoc::CS_DEVICE_GRAY
  • HaruDoc::CS_DEVICE_RGB
  • HaruDoc::CS_DEVICE_CMYK

Valores devueltos

Devuelve una instancia de HaruImage.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::loadJPEG() - Carga una imagen JPEG
  • HaruDoc::loadPNG() - Carga y devuelve una imagen PNGHaruImage instance

HaruDoc::loadPNG
HaruDoc::loadTTC
HaruDoc


Carga la fuente con el indice especificado del archivo TTC

HaruDoc::loadRaw
HaruDoc::loadTTF
HaruDoc
PHP Manual

HaruDoc::loadTTC

(PECL haru >= 0.0.1)

HaruDoc::loadTTC — Carga la fuente con el indice especificado del archivo TTC

Descripción

string HaruDoc::loadTTC ( string $fontfile , int $index [, bool $embed = false ] )

Carga la fuente TruType con el indice especificado de un archivo de colección TrueType.

Parámetros

fontfile

El archivo de colección TrueType.

index

El indice de la fuente en el archivo de colección.

embed

Cuando se establece a TRUE, los datos del glifo de la fuente son encrustados dentro del archivo PDF, sin embargo solo la matriz de los datos es incluida.

Valores devueltos

Deveuleve el nombre de la fuente cargada en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::loadTTF() - Carga fichero de fuente TTF
  • HaruDoc::loadType1() - Carga fuente Type1

HaruDoc::loadRaw
HaruDoc::loadTTF
HaruDoc


Carga fichero de fuente TTF

HaruDoc::loadTTC
HaruDoc::loadType1
HaruDoc
PHP Manual

HaruDoc::loadTTF

(PECL haru >= 0.0.1)

HaruDoc::loadTTF — Carga fichero de fuente TTF

Descripción

string HaruDoc::loadTTF ( string $fontfile [, bool $embed = false ] )

Carga el fichero TTF dado y (opcionalmente) incrusta sus datos dentro del documento.

Parámetros

fontfile

El fichero TTF para cargar.

embed

Cuando se establece a TRUE, los datos glifos de la fuente son encrustado dentro del fichero PDF, de lo contrario sólo la matriz de datos están incluidos.

Valores devueltos

Devuelve el nombre de la fuente cargada en caso de éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::loadTTC() - Carga la fuente con el indice especificado del archivo TTC
  • HaruDoc::loadType1() - Carga fuente Type1

HaruDoc::loadTTC
HaruDoc::loadType1
HaruDoc


Carga fuente Type1

HaruDoc::loadTTF
HaruDoc::output
HaruDoc
PHP Manual

HaruDoc::loadType1

(PECL haru >= 0.0.1)

HaruDoc::loadType1 — Carga fuente Type1

Descripción

string HaruDoc::loadType1 ( string $afmfile [, string $pfmfile ] )

Carga fuente Type1 de el fichero dado y la registra en el documento PDF.

Parámetros

afmfile

Ruta a un fichero AFM.

pfmfile

La ruta a un fichero PFA/PFB, opcional. Si no es establecida solo los datos del glifo de la fuente son embebidos dentro del documento PDF.

Valores devueltos

Devuelve el nombre de la fuente cargada en caso de éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::loadTTC() - Carga la fuente con el indice especificado del archivo TTC
  • HaruDoc::loadTTF() - Carga fichero de fuente TTF

HaruDoc::loadTTF
HaruDoc::output
HaruDoc


Escribe los datos del documento a la salida del buffer

HaruDoc::loadType1
HaruDoc::readFromStream
HaruDoc
PHP Manual

HaruDoc::output

(PECL haru >= 0.0.1)

HaruDoc::output — Escribe los datos del documento a la salida del buffer

Descripción

bool HaruDoc::output ( void )

Escribe los datos del documento dentro de una salida estándar.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::save() - Guarda el documento en el fichero especificado

HaruDoc::loadType1
HaruDoc::readFromStream
HaruDoc


Lee los datos de la corriente temporal

HaruDoc::output
HaruDoc::resetError
HaruDoc
PHP Manual

HaruDoc::readFromStream

(PECL haru >= 0.0.1)

HaruDoc::readFromStream — Lee los datos de la corriente temporal

Descripción

string HaruDoc::readFromStream ( int $bytes )

Lee los datos de el flujo temporal.

Parámetros

bytes

El parámetro bytes se especifica como muchos otros bytes a leer, aunque el flujo contenga menos bytes que los requeridos.

Valores devueltos

Devuelve los datos de el flujo temporal.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::saveToStream() - Guarda el documento en una secuencia temporal
  • HaruDoc::resetStream() - Rebobina la secuencia temporal
  • HaruDoc::getStreamSize() - Obtiene el tamaño de la secuencia temporal

HaruDoc::output
HaruDoc::resetError
HaruDoc


Reinicia el estado de error de el documento manejado

HaruDoc::readFromStream
HaruDoc::resetStream
HaruDoc
PHP Manual

HaruDoc::resetError

(PECL haru >= 0.0.1)

HaruDoc::resetError — Reinicia el estado de error de el documento manejado

Descripción

bool HaruDoc::resetError ( void )

Una vez que un código de error se establece, la mayoría de las operaciones, incluyendo funciones de procesamiento I/O no se pueden realizar. En el caso de que se desee continuar después del error causado ha sido solventado, se tendrá que invocar ésta función en orden para reiniciar el estado de error de el documento.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Siempre tiene éxito y devuelve TRUE.

HaruDoc::readFromStream
HaruDoc::resetStream
HaruDoc


Rebobina la secuencia temporal

HaruDoc::resetError
HaruDoc::save
HaruDoc
PHP Manual

HaruDoc::resetStream

(PECL haru >= 0.0.1)

HaruDoc::resetStream — Rebobina la secuencia temporal

Descripción

bool HaruDoc::resetStream ( void )

Rebobina la secuencia temporal del documento.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si sucede con éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::saveToStream() - Guarda el documento en una secuencia temporal
  • HaruDoc::getStreamSize() - Obtiene el tamaño de la secuencia temporal
  • HaruDoc::readFromStream() - Lee los datos de la corriente temporal

HaruDoc::resetError
HaruDoc::save
HaruDoc


Guarda el documento en el fichero especificado

HaruDoc::resetStream
HaruDoc::saveToStream
HaruDoc
PHP Manual

HaruDoc::save

(PECL haru >= 0.0.1)

HaruDoc::save — Guarda el documento en el fichero especificado

Descripción

bool HaruDoc::save ( string $file )

Guarda el documento en el fichero especificado.

Parámetros

file

El fichero para guardar el documento.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::output() - Escribe los datos del documento a la salida del buffer

HaruDoc::resetStream
HaruDoc::saveToStream
HaruDoc


Guarda el documento en una secuencia temporal

HaruDoc::save
HaruDoc::setCompressionMode
HaruDoc
PHP Manual

HaruDoc::saveToStream

(PECL haru >= 0.0.1)

HaruDoc::saveToStream — Guarda el documento en una secuencia temporal

Descripción

bool HaruDoc::saveToStream ( void )

Guarda los datos del documento en una secuencia temporal.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::resetStream() - Rebobina la secuencia temporal
  • HaruDoc::getStreamSize() - Obtiene el tamaño de la secuencia temporal
  • HaruDoc::readFromStream() - Lee los datos de la corriente temporal

HaruDoc::save
HaruDoc::setCompressionMode
HaruDoc


Establece el modo de compresión para el documento

HaruDoc::saveToStream
HaruDoc::setCurrentEncoder
HaruDoc
PHP Manual

HaruDoc::setCompressionMode

(PECL haru >= 0.0.1)

HaruDoc::setCompressionMode — Establece el modo de compresión para el documento

Descripción

bool HaruDoc::setCompressionMode ( int $mode )

Define el modo de compresión para el documento. En caso de que libharu haya sido compilada sin el soporte Zlib esta función siempre retornará HaruException.

Parámetros

mode

El modo de compresión a utilizar. El valor es una combinación de los siguientes indicadores:

  • HaruDoc::COMP_NONE - todo el contenido no es comprimido
  • HaruDoc::COMP_TEXT - comprimir los datos de texto.
  • HaruDoc::COMP_IMAGE - comprimir los datos de imagen.
  • HaruDoc::COMP_METADATA - comprimir otros datos(fuentes, cmaps).
  • HaruDoc::COMP_ALL - comprimir todos los datos.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruDoc::saveToStream
HaruDoc::setCurrentEncoder
HaruDoc


Establece el codificador actual para el documento

HaruDoc::setCompressionMode
HaruDoc::setEncryptionMode
HaruDoc
PHP Manual

HaruDoc::setCurrentEncoder

(PECL haru >= 0.0.1)

HaruDoc::setCurrentEncoder — Establece el codificador actual para el documento

Descripción

bool HaruDoc::setCurrentEncoder ( string $encoding )

Define el codificador utilizado actualmente en el documento.

Parámetros

encoding

El nombre de la codificación a utilizar, ver Codificadores integrados para la lista de valores permitidos.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruDoc::setCompressionMode
HaruDoc::setEncryptionMode
HaruDoc


Establece el modo de cifrado para el documento

HaruDoc::setCurrentEncoder
HaruDoc::setInfoAttr
HaruDoc
PHP Manual

HaruDoc::setEncryptionMode

(PECL haru >= 0.0.1)

HaruDoc::setEncryptionMode — Establece el modo de cifrado para el documento

Descripción

bool HaruDoc::setEncryptionMode ( int $mode [, int $key_len = 5 ] )

Establece el modo de cifrado para el documento. El modo de cifrado no puede ser establecido antes de establecer la contraseña.

Parámetros

mode

El modo de encripción a utilizar. Puede ser uno de los siguientes:

  • HaruDoc::ENCRYPT_R2 - utilizar el algoritmo "revision2".
  • HaruDoc::ENCRYPT_R3 - utilizar el algoritmo "revision3". El uso de esta constante es incompatible con PDF 1.4.

key_len

La longitud de la clave de cifrado en bytes. Este parámetro es opcional y solo será utilizado cuando el modo sea HaruDoc::ENCRYPT_R3. El valor por defecto es 5 (40bit).

Valores devueltos

Devuelve TRUE on success.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::setPassword() - Establecer propietario y contraseñas de usuarios para el documento
  • HaruDoc::setPermission() - Establece los permisos para el documento

HaruDoc::setCurrentEncoder
HaruDoc::setInfoAttr
HaruDoc


Define el atributo info del documento

HaruDoc::setEncryptionMode
HaruDoc::setInfoDateAttr
HaruDoc
PHP Manual

HaruDoc::setInfoAttr

(PECL haru >= 0.0.1)

HaruDoc::setInfoAttr — Define el atributo info del documento

Descripción

bool HaruDoc::setInfoAttr ( int $type , string $info )

Define el atributo info. Utiliza la codificación actual del documento.

Parámetros

type

El tipo de atributo. Puede ser uno de los siguientes:

  • HaruDoc::INFO_AUTHOR
  • HaruDoc::INFO_CREATOR
  • HaruDoc::INFO_TITLE
  • HaruDoc::INFO_SUBJECT
  • HaruDoc::INFO_KEYWORDS

info

El valor del atributo.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::setInfoDateAttr() - Establecer los atributos datetime info del documento

HaruDoc::setEncryptionMode
HaruDoc::setInfoDateAttr
HaruDoc


Establecer los atributos datetime info del documento

HaruDoc::setInfoAttr
HaruDoc::setOpenAction
HaruDoc
PHP Manual

HaruDoc::setInfoDateAttr

(PECL haru >= 0.0.1)

HaruDoc::setInfoDateAttr — Establecer los atributos datetime info del documento

Descripción

bool HaruDoc::setInfoDateAttr ( int $type , int $year , int $month , int $day , int $hour , int $min , int $sec , string $ind , int $off_hour , int $off_min )

Establece atributos datetime info del documento.

Parámetros

type

El tipo de atributo. Puede ser uno de los siguientes:

  • HaruDoc::INFO_CREATION_DATE
  • HaruDoc::INFO_MOD_DATE

year

month

Entre 1 y 12.

day

Entre 1 y 31, 30, 29 o 28 (diferente para cada mes).

hour

Entre 0 y 23.

min

Entre 0 y 59.

sec

Entre 0 y 59.

ind

La zona horaria respecto a UTC, puede ser "", " ", "+", "-" y "Z".

off_hour

Si ind no es " " o "", los valores entre 0 y 23 son válidos. De lo contrario, este parámetro se ignora.

off_min

Si ind no es " " o "", los valores entre 0 y 59 son válidos. De lo contrario, este parámetro se ignora.

Valores devueltos

Devuelve TRUE si tiene éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::setInfoAttr() - Define el atributo info del documento

HaruDoc::setInfoAttr
HaruDoc::setOpenAction
HaruDoc


Definir en qué página se muestra cuando se abre el documento

HaruDoc::setInfoDateAttr
HaruDoc::setPageLayout
HaruDoc
PHP Manual

HaruDoc::setOpenAction

(PECL haru >= 0.0.1)

HaruDoc::setOpenAction — Definir en qué página se muestra cuando se abre el documento

Descripción

bool HaruDoc::setOpenAction ( object $destination )

Define en qué página se debe mostrar cuando se abre el documento.

Parámetros

destination

Una válido HaruDestination instancia.

Valores devueltos

Devuelve TRUE en el éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruDoc::setInfoDateAttr
HaruDoc::setPageLayout
HaruDoc


Indica cómo deben mostrarse las páginas

HaruDoc::setOpenAction
HaruDoc::setPageMode
HaruDoc
PHP Manual

HaruDoc::setPageLayout

(PECL haru >= 0.0.1)

HaruDoc::setPageLayout — Indica cómo deben mostrarse las páginas

Descripción

bool HaruDoc::setPageLayout ( int $layout )

Indica cómo se deben mostrar las páginas.

Parámetros

layout

Lista de valores aceptados:

  • HaruDoc::PAGE_LAYOUT_SINGLE - sólo se muestra una página.
  • HaruDoc::PAGE_LAYOUT_ONE_COLUMN - muestra las páginas en una columna.
  • HaruDoc::PAGE_LAYOUT_TWO_COLUMN_LEFT - muestra las páginas en dos columnas, la primera en la columna izquierda.
  • HaruDoc::PAGE_LAYOUT_TWO_COLUMN_RIGHT - muestra las páginas en dos columnas, la primera en la columna derecha.

Valores devueltos

En caso de éxito devuelve TRUE.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::getPageLayout() - Colocar al corriente la disposición de la página

HaruDoc::setOpenAction
HaruDoc::setPageMode
HaruDoc


Indica cómo se debe mostrar el documento

HaruDoc::setPageLayout
HaruDoc::setPagesConfiguration
HaruDoc
PHP Manual

HaruDoc::setPageMode

(PECL haru >= 0.0.1)

HaruDoc::setPageMode — Indica cómo se debe mostrar el documento

Descripción

bool HaruDoc::setPageMode ( int $mode )

Indica como se debe mostrar el documento.

Parámetros

mode

Lista de valores aceptados:

  • HaruDoc::PAGE_MODE_USE_NONE - muestra el documento sin marco ni miniaturas.
  • HaruDoc::PAGE_MODE_USE_OUTLINE - muestra el documento con marco.
  • HaruDoc::PAGE_MODE_USE_THUMBS - muestra el documento con panel de miniaturas.
  • HaruDoc::PAGE_MODE_FULL_SCREEN - muestra el documento en modo pantalla completa.

Valores devueltos

En caso de éxito, devuelve TRUE.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::getPageMode() - Coloca al corriente el modo de la página

HaruDoc::setPageLayout
HaruDoc::setPagesConfiguration
HaruDoc


Establece el número de páginas que contiene cada conjunto de páginas

HaruDoc::setPageMode
HaruDoc::setPassword
HaruDoc
PHP Manual

HaruDoc::setPagesConfiguration

(PECL haru >= 0.0.1)

HaruDoc::setPagesConfiguration — Establece el número de páginas que contiene cada conjunto de páginas

Descripción

bool HaruDoc::setPagesConfiguration ( int $page_per_pages )

De manera predeterminada, cada documento tiene un objeto de páginas raíz para todas las páginas. Todos los objetos de páginas se crean a partir de este objeto. Un objeto de páginas sólo puede albergar 8191, por lo que el número máximo de páginas por documento es 1891. Pero esto se puede modificar mediante el parámetro page_per_pages, de manera que el objeto de páginas raíz contenga 8191 objetos de páginas más, que a su vez puedan albergar cada uno de ellos hasta 8191 páginas. De esta forma, el número máximo de páginas en un documento sería 8191*page_per_pages.

Parámetros

page_per_pages

Número de páginas que puede albergar un objeto de páginas.

Valores devueltos

En caso de éxito devuelve TRUE.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruDoc::setPageMode
HaruDoc::setPassword
HaruDoc


Establecer propietario y contraseñas de usuarios para el documento

HaruDoc::setPagesConfiguration
HaruDoc::setPermission
HaruDoc
PHP Manual

HaruDoc::setPassword

(PECL haru >= 0.0.1)

HaruDoc::setPassword — Establecer propietario y contraseñas de usuarios para el documento

Descripción

bool HaruDoc::setPassword ( string $owner_password , string $user_password )

Define propietario y contraseñas de usuario para el documento. Asignar contraseñas hace que se encripte el contenido del documento.

Parámetros

owner_password

La contraseña de el propietario, que puede cambiar los permisos del documento. La contraseña vacía no es aceptada. El propietario de la contraseña no puede ser el mismo que el de la contraseña de usuario.

user_password

La contraseña de el usuario. Puede ser vacía.

Valores devueltos

devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::setEncryptionMode() - Establece el modo de cifrado para el documento
  • HaruDoc::setPermission() - Establece los permisos para el documento

HaruDoc::setPagesConfiguration
HaruDoc::setPermission
HaruDoc


Establece los permisos para el documento

HaruDoc::setPassword
HaruDoc::useCNSEncodings
HaruDoc
PHP Manual

HaruDoc::setPermission

(PECL haru >= 0.0.1)

HaruDoc::setPermission — Establece los permisos para el documento

Descripción

bool HaruDoc::setPermission ( int $permission )

Define los permisos para el documento.

Parámetros

permission

Los valores son la combinación de estas banderas:

  • HaruDoc::ENABLE_READ - el usuario puede leer el documento.
  • HaruDoc::ENABLE_PRINT - el usuario puede imprimir el documento.
  • HaruDoc::ENABLE_EDIT_ALL - el usuario puede editar el contenido del documento más que anotaciones y campos de formulario.
  • HaruDoc::ENABLE_COPY - el usuario puede copiar el texto y los gráficos del documento.
  • HaruDoc::ENABLE_EDIT - el usuario puede agregar o modificar las anotaciones y los campos de formulario del documento.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::setPassword() - Establecer propietario y contraseñas de usuarios para el documento
  • HaruDoc::setEncryptionMode() - Establece el modo de cifrado para el documento

HaruDoc::setPassword
HaruDoc::useCNSEncodings
HaruDoc


Habilita las codificaciones Chinas simplificadas

HaruDoc::setPermission
HaruDoc::useCNSFonts
HaruDoc
PHP Manual

HaruDoc::useCNSEncodings

(PECL haru >= 0.0.1)

HaruDoc::useCNSEncodings — Habilita las codificaciones Chinas simplificadas

Descripción

bool HaruDoc::useCNSEncodings ( void )

Habilita las codificaciones Chinas simplificadas.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::useCNSFonts() - Habilita la incorporación de fuentes Chinas simplificadas

HaruDoc::setPermission
HaruDoc::useCNSFonts
HaruDoc


Habilita la incorporación de fuentes Chinas simplificadas

HaruDoc::useCNSEncodings
HaruDoc::useCNTEncodings
HaruDoc
PHP Manual

HaruDoc::useCNSFonts

(PECL haru >= 0.0.1)

HaruDoc::useCNSFonts — Habilita la incorporación de fuentes Chinas simplificadas

Descripción

bool HaruDoc::useCNSFonts ( void )

Habilita la incorporación de fuentes Chinas simplificadas.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::useCNSEncodings() - Habilita las codificaciones Chinas simplificadas

HaruDoc::useCNSEncodings
HaruDoc::useCNTEncodings
HaruDoc


Habilita las codificaciones Chinas tradicionales

HaruDoc::useCNSFonts
HaruDoc::useCNTFonts
HaruDoc
PHP Manual

HaruDoc::useCNTEncodings

(PECL haru >= 0.0.1)

HaruDoc::useCNTEncodings — Habilita las codificaciones Chinas tradicionales

Descripción

bool HaruDoc::useCNTEncodings ( void )

Habilita las codificaciones Chinas tradicionales.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::useCNTFonts() - Habilita la incorporación de fuentes Chinas tradicionales

HaruDoc::useCNSFonts
HaruDoc::useCNTFonts
HaruDoc


Habilita la incorporación de fuentes Chinas tradicionales

HaruDoc::useCNTEncodings
HaruDoc::useJPEncodings
HaruDoc
PHP Manual

HaruDoc::useCNTFonts

(PECL haru >= 0.0.1)

HaruDoc::useCNTFonts — Habilita la incorporación de fuentes Chinas tradicionales

Descripción

bool HaruDoc::useCNTFonts ( void )

Habilita la incorporación de fuentes Chinas tradicionales.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::useCNTEncodings() - Habilita las codificaciones Chinas tradicionales

HaruDoc::useCNTEncodings
HaruDoc::useJPEncodings
HaruDoc


Habilita las codificaciones Japonesas

HaruDoc::useCNTFonts
HaruDoc::useJPFonts
HaruDoc
PHP Manual

HaruDoc::useJPEncodings

(PECL haru >= 0.0.1)

HaruDoc::useJPEncodings — Habilita las codificaciones Japonesas

Descripción

bool HaruDoc::useJPEncodings ( void )

Habilita las codificaciones Japonesas.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::useJPFonts() - Habilita la incorporación de fuentes Japonesas

HaruDoc::useCNTFonts
HaruDoc::useJPFonts
HaruDoc


Habilita la incorporación de fuentes Japonesas

HaruDoc::useJPEncodings
HaruDoc::useKREncodings
HaruDoc
PHP Manual

HaruDoc::useJPFonts

(PECL haru >= 0.0.1)

HaruDoc::useJPFonts — Habilita la incorporación de fuentes Japonesas

Descripción

bool HaruDoc::useJPFonts ( void )

Habilita la incorporación de fuentes Japonesas.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::useJPEncodings() - Habilita las codificaciones Japonesas

HaruDoc::useJPEncodings
HaruDoc::useKREncodings
HaruDoc


Habilita las codificaciones Coreanas

HaruDoc::useJPFonts
HaruDoc::useKRFonts
HaruDoc
PHP Manual

HaruDoc::useKREncodings

(PECL haru >= 0.0.1)

HaruDoc::useKREncodings — Habilita las codificaciones Coreanas

Descripción

bool HaruDoc::useKREncodings ( void )

Habilita las codificaciones Coreanas.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::useKRFonts() - Habilita la incorporación de fuentes Coreanas

HaruDoc::useJPFonts
HaruDoc::useKRFonts
HaruDoc


Habilita la incorporación de fuentes Coreanas

HaruDoc::useKREncodings
HaruPage
HaruDoc
PHP Manual

HaruDoc::useKRFonts

(PECL haru >= 0.0.1)

HaruDoc::useKRFonts — Habilita la incorporación de fuentes Coreanas

Descripción

bool HaruDoc::useKRFonts ( void )

Habilita la incorporación de fuentes Coreanas.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::useKREncodings() - Habilita las codificaciones Coreanas

HaruDoc::useKREncodings
HaruPage
HaruDoc


La clase HaruPage

(PECL haru >= 0.0.1)

Introducción

La clase de página en PDF de Haru.

Sinopsis de la Clase

HaruPage {
/* Métodos */
bool arc ( float $x , float $y , float $ray , float $ang1 , float $ang2 )
bool beginText ( void )
bool circle ( float $x , float $y , float $ray )
bool closePath ( void )
bool concat ( float $a , float $b , float $c , float $d , float $x , float $y )
object createDestination ( void )
object createLinkAnnotation ( array $rectangle , object $destination )
object createTextAnnotation ( array $rectangle , string $text [, object $encoder ] )
object createURLAnnotation ( array $rectangle , string $url )
bool curveTo2 ( float $x2 , float $y2 , float $x3 , float $y3 )
bool curveTo3 ( float $x1 , float $y1 , float $x3 , float $y3 )
bool curveTo ( float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )
bool drawImage ( object $image , float $x , float $y , float $width , float $height )
bool ellipse ( float $x , float $y , float $xray , float $yray )
bool endPath ( void )
bool endText ( void )
bool eofill ( void )
bool eoFillStroke ([ bool $close_path = false ] )
bool fill ( void )
bool fillStroke ([ bool $close_path = false ] )
float getCharSpace ( void )
array getCMYKFill ( void )
array getCMYKStroke ( void )
object getCurrentFont ( void )
float getCurrentFontSize ( void )
array getCurrentPos ( void )
array getCurrentTextPos ( void )
array getDash ( void )
int getFillingColorSpace ( void )
float getFlatness ( void )
int getGMode ( void )
float getGrayFill ( void )
float getGrayStroke ( void )
float getHeight ( void )
float getHorizontalScaling ( void )
int getLineCap ( void )
int getLineJoin ( void )
float getLineWidth ( void )
float getMiterLimit ( void )
array getRGBFill ( void )
array getRGBStroke ( void )
int getStrokingColorSpace ( void )
float getTextLeading ( void )
array getTextMatrix ( void )
int getTextRenderingMode ( void )
float getTextRise ( void )
float getTextWidth ( string $text )
array getTransMatrix ( void )
float getWidth ( void )
float getWordSpace ( void )
bool lineTo ( float $x , float $y )
int measureText ( string $text , float $width [, bool $wordwrap = false ] )
bool moveTextPos ( float $x , float $y [, bool $set_leading = false ] )
bool moveTo ( float $x , float $y )
bool moveToNextLine ( void )
bool rectangle ( float $x , float $y , float $width , float $height )
bool setCharSpace ( float $char_space )
bool setCMYKFill ( float $c , float $m , float $y , float $k )
bool setCMYKStroke ( float $c , float $m , float $y , float $k )
bool setDash ( array $pattern , int $phase )
bool setFlatness ( float $flatness )
bool setFontAndSize ( object $font , float $size )
bool setGrayFill ( float $value )
bool setGrayStroke ( float $value )
bool setHeight ( float $height )
bool setHorizontalScaling ( float $scaling )
bool setLineCap ( int $cap )
bool setLineJoin ( int $join )
bool setLineWidth ( float $width )
bool setMiterLimit ( float $limit )
bool setRGBFill ( float $r , float $g , float $b )
bool setRGBStroke ( float $r , float $g , float $b )
bool setRotate ( int $angle )
bool setSize ( int $size , int $direction )
bool setSlideShow ( int $type , float $disp_time , float $trans_time )
bool setTextLeading ( float $text_leading )
bool setTextMatrix ( float $a , float $b , float $c , float $d , float $x , float $y )
bool setTextRenderingMode ( int $mode )
bool setTextRise ( float $rise )
bool setWidth ( float $width )
bool setWordSpace ( float $word_space )
bool showText ( string $text )
bool showTextNextLine ( string $text [, float $word_space = 0 [, float $char_space = 0 ]] )
bool stroke ([ bool $close_path = false ] )
bool textOut ( float $x , float $y , string $text )
bool textRect ( float $left , float $top , float $right , float $bottom , string $text [, int $align = HaruPage::TALIGN_LEFT ] )
}

Constantes predefinidas

Type | Name | Description
int | HaruPage::GMODE_PAGE_DESCRIPTION |
int | HaruPage::GMODE_TEXT_OBJECT |
int | HaruPage::GMODE_PATH_OBJECT |
int | HaruPage::GMODE_CLIPPING_PATH |
int | HaruPage::GMODE_SHADING |
int | HaruPage::GMODE_INLINE_IMAGE |
int | HaruPage::GMODE_EXTERNAL_OBJECT |
int | HaruPage::BUTT_END |
int | HaruPage::ROUND_END |
int | HaruPage::PROJECTING_SCUARE_END |
int | HaruPage::MITER_JOIN |
int | HaruPage::ROUND_JOIN |
int | HaruPage::BEVEL_JOIN |
int | HaruPage::FILL |
int | HaruPage::STROKE |
int | HaruPage::FILL_THEN_STROKE |
int | HaruPage::INVISIBLE |
int | HaruPage::FILL_CLIPPING |
int | HaruPage::STROKE_CLIPPING |
int | HaruPage::FILL_STROKE_CLIPPING |
int | HaruPage::CLIPPING |
int | HaruPage::TALIGN_LEFT |
int | HaruPage::TALIGN_RIGHT |
int | HaruPage::TALIGN_CENTER |
int | HaruPage::TALIGN_JUSTIFY |
int | HaruPage::SIZE_LETTER |
int | HaruPage::SIZE_LEGAL |
int | HaruPage::SIZE_A3 |
int | HaruPage::SIZE_A4 |
int | HaruPage::SIZE_A5 |
int | HaruPage::SIZE_B4 |
int | HaruPage::SIZE_B5 |
int | HaruPage::SIZE_EXECUTIVE |
int | HaruPage::SIZE_US4x6 |
int | HaruPage::SIZE_US4x8 |
int | HaruPage::SIZE_US5x7 |
int | HaruPage::SIZE_COMM10 |
int | HaruPage::PORTRAIT |
int | HaruPage::LANDSCAPE |
int | HaruPage::TS_WIPE_LIGHT |
int | HaruPage::TS_WIPE_UP |
int | HaruPage::TS_WIPE_LEFT |
int | HaruPage::TS_WIPE_DOWN |
int | HaruPage::TS_BARN_DOORS_HORIZONTAL_OUT |
int | HaruPage::TS_BARN_DOORS_HORIZONTAL_IN |
int | HaruPage::TS_BARN_DOORS_VERTICAL_OUT |
int | HaruPage::TS_BARN_DOORS_VERTICAL_IN |
int | HaruPage::TS_BOX_OUT |
int | HaruPage::TS_BOX_IN |
int | HaruPage::TS_BLINDS_HORIZONTAL |
int | HaruPage::TS_BLINDS_VERTICAL |
int | HaruPage::TS_DISSOLVE |
int | HaruPage::TS_GLITTER_RIGHT |
int | HaruPage::TS_GLITTER_DOWN |
int | HaruPage::TS_GLITTER_TOP_LEFT_TO_BOTTOM_RIGHT |
int | HaruPage::TS_REPLACE |
int | HaruPage::NUM_STYLE_DECIMAL |
int | HaruPage::NUM_STYLE_UPPER_ROMAN |
int | HaruPage::NUM_STYLE_LOWER_ROMAN |
int | HaruPage::NUM_STYLE_UPPER_LETTERS |
int | HaruPage::NUM_STYLE_LOWER_LETTERS |

Tabla de contenidos

  • HaruPage::arc — Anexa un arco a la ruta corriente
  • HaruPage::beginText — Empieza un objeto de texto y establece la posición corriente del texto a (0,0)
  • HaruPage::circle — Anexa un círculo a la ruta corriente
  • HaruPage::closePath — Anexa una línea recta del punto corriente al inicio del punto de la ruta
  • HaruPage::concat — Concatena la matriz corriente de transformación de la página y la matriz especificada
  • HaruPage::createDestination — Crea una nueva instancia de HaruDestination
  • HaruPage::createLinkAnnotation — Crea una nueva instancia de HaruAnnotation
  • HaruPage::createTextAnnotation — Crea una nueva instancia de HaruAnnotation
  • HaruPage::createURLAnnotation — Crea una nueva instancia de HaruAnnotation
  • HaruPage::curveTo2 — Anexar una curva Bezier a la ruta actual
  • HaruPage::curveTo3 — Anexar una curva Bezier a la ruta actual
  • HaruPage::curveTo — Anexa una curva Bezier para la ruta corriente
  • HaruPage::drawImage — Mostrar una imagen en la página
  • HaruPage::ellipse — Anexar una elipse a la ruta actual
  • HaruPage::endPath — Fin actual de la ruta del objeto sin operaciones de llenado y pintado
  • HaruPage::endText — Fin actual en el texto del objeto
  • HaruPage::eofill — Relleno actual de la ruta usadando la regla even-odd
  • HaruPage::eoFillStroke — Rellenar la ruta actual usando la regla even-odd, luego se pinta la ruta
  • HaruPage::fill — Llena la ruta actual usando la regla del número de vueltas diferentes a cero
  • HaruPage::fillStroke — Rellenar la ruta actual utilizando la regla de zigzagueo de número distinto de cero, luego colorea la ruta
  • HaruPage::getCharSpace — Obtiene el valor actual del carácter espaciado
  • HaruPage::getCMYKFill — Obtiene el color de relleno actual
  • HaruPage::getCMYKStroke — Obtiene el color actual del trazo
  • HaruPage::getCurrentFont — Obtiene la actual fuente usada
  • HaruPage::getCurrentFontSize — Obtiene el tamaño de la fuente actual
  • HaruPage::getCurrentPos — Obtiene la posición actual para la ruta de impresión
  • HaruPage::getCurrentTextPos — Obtiene la posición actual para la impresión del texto
  • HaruPage::getDash — Obtiene el actual patrón guía
  • HaruPage::getFillingColorSpace — Obtiene el espacio actual del color de relleno
  • HaruPage::getFlatness — Obtiene la categoría de la página
  • HaruPage::getGMode — Obtiene el modo de grafico actual
  • HaruPage::getGrayFill — Obtiene el color de relleno actual
  • HaruPage::getGrayStroke — Obtiene el color actual del trazo
  • HaruPage::getHeight — Obtiene la altura de la página
  • HaruPage::getHorizontalScaling — Obtiene el valor actual de la escala horizontal
  • HaruPage::getLineCap — Obtiene el estilo actual del extremo de línea
  • HaruPage::getLineJoin — Obtiene el estilo de la línea de unión
  • HaruPage::getLineWidth — Obtiene el ancho actual de la línea
  • HaruPage::getMiterLimit — Obtiene el valor del límite del inglete
  • HaruPage::getRGBFill — Obtiene el color actual de relleno
  • HaruPage::getRGBStroke — Obtiene el color actual del trazo
  • HaruPage::getStrokingColorSpace — Obtiene el color actual del espacio del trazado
  • HaruPage::getTextLeading — Obtiene el valor actual de la línea espaciada
  • HaruPage::getTextMatrix — Obtiene la transformación actual de la matriz de la página
  • HaruPage::getTextRenderingMode — Obtiene el texto actual de modo de interpretación
  • HaruPage::getTextRise — Obtiene el valor actual del texto saliente
  • HaruPage::getTextWidth — Obtiene el ancho del tamaño de la fuente usada en el texto actual, el caracter y la letra espaciada
  • HaruPage::getTransMatrix — Obtiene la transformación actual de la matriz de la página
  • HaruPage::getWidth — Obtiene el ancho de la página
  • HaruPage::getWordSpace — Obtiene el valor actual del espaciado de la palabra
  • HaruPage::lineTo — Dibuja una línea del punto actual al especificado
  • HaruPage::measureText — Calcula el número de caracteres los cuales pueden ser incluidos dentro del ancho especificado
  • HaruPage::moveTextPos — Mueve la posición del texto al desplazamiento especificado
  • HaruPage::moveTo — Establece el punto de inicio para la nueva ruta de dibujo
  • HaruPage::moveToNextLine — Mueve la posición del texto al inicio de la siguiente línea
  • HaruPage::rectangle — Anexa un rectángulo a la ruta actual
  • HaruPage::setCharSpace — Establece el espaciado de carácter de la página
  • HaruPage::setCMYKFill — Establece el color de relleno para la página
  • HaruPage::setCMYKStroke — Establece el color de trazo de la página
  • HaruPage::setDash — Establece el patrón de guía para la página
  • HaruPage::setFlatness — Establecer la planicie para la página
  • HaruPage::setFontAndSize — Establece la fuente y el tamaño de la misma para la página
  • HaruPage::setGrayFill — Establece el color de relleno para la página
  • HaruPage::setGrayStroke — Establece el color de trazo para la página
  • HaruPage::setHeight — Establece el alto de la página
  • HaruPage::setHorizontalScaling — Establece la escala horizontal para la página
  • HaruPage::setLineCap — Establece la forma a ser usada en el final de las líneas
  • HaruPage::setLineJoin — Establece el estilo de la línea de unión para la página
  • HaruPage::setLineWidth — Establece el ancho de la línea para la página
  • HaruPage::setMiterLimit — Establece el valor actual del inglete limite de la página
  • HaruPage::setRGBFill — Establece el color de relleno para la página
  • HaruPage::setRGBStroke — Establece el color de trazo para la página
  • HaruPage::setRotate — Establece la rotación del ángulo de la página
  • HaruPage::setSize — Define el tamaño y la dirección de la página
  • HaruPage::setSlideShow — Establece el de estilo de transición de la página
  • HaruPage::setTextLeading — Establece el texto guía (línea de espacio) para la página
  • HaruPage::setTextMatrix — Establece la matriz de la transformación actual del texto de la página
  • HaruPage::setTextRenderingMode — Establece el modo de interpretación del texto para la página
  • HaruPage::setTextRise — Establece el valor actual del aumento del texto
  • HaruPage::setWidth — Establece el ancho de la página
  • HaruPage::setWordSpace — Establece el espacio de la palabra para la página
  • HaruPage::showText — Imprime el texto en la posición actual de la página
  • HaruPage::showTextNextLine — Mueve la posición actual a el inicio de la línea siguiente y imprime el texto
  • HaruPage::stroke — Imprime una ruta actual
  • HaruPage::textOut — Imprime el texto en la posición especificada
  • HaruPage::textRect — Imprime el texto dentro de la región especificada
HaruDoc::useKRFonts
HaruPage::arc
haru


Anexa un arco a la ruta corriente

HaruPage
HaruPage::beginText
HaruPage
PHP Manual

HaruPage::arc

(PECL haru >= 0.0.1)

HaruPage::arc — Anexa un arco a la ruta corriente

Descripción

bool HaruPage::arc ( float $x , float $y , float $ray , float $ang1 , float $ang2 )

Anexa un arco a la ruta corriente

Parámetros

x

Coordinación horizontal del centro.

y

Coordinación vertical del centro.

ray

El rayo del arco.

ang1

El ángulo del inicio.

ang2

El ángulo del final. Debe ser más grande que ang1.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage
HaruPage::beginText
HaruPage


Empieza un objeto de texto y establece la posición corriente del texto a (0,0)

HaruPage::arc
HaruPage::circle
HaruPage
PHP Manual

HaruPage::beginText

(PECL haru >= 0.0.1)

HaruPage::beginText — Empieza un objeto de texto y establece la posición corriente del texto a (0,0)

Descripción

bool HaruPage::beginText ( void )

Empieza un objeto de texto y establece la posición corriente del texto a (0,0).

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::arc
HaruPage::circle
HaruPage


Anexa un círculo a la ruta corriente

HaruPage::beginText
HaruPage::closePath
HaruPage
PHP Manual

HaruPage::circle

(PECL haru >= 0.0.1)

HaruPage::circle — Anexa un círculo a la ruta corriente

Descripción

bool HaruPage::circle ( float $x , float $y , float $ray )

Anexa un círculo a la ruta corriente.

Parámetros

x

Coordinación horizontal del punto centro.

y

Coordinación vertical del punto centro.

ray

El rayo del círculo.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::beginText
HaruPage::closePath
HaruPage


Anexa una línea recta del punto corriente al inicio del punto de la ruta

HaruPage::circle
HaruPage::concat
HaruPage
PHP Manual

HaruPage::closePath

(PECL haru >= 0.0.1)

HaruPage::closePath — Anexa una línea recta del punto corriente al inicio del punto de la ruta

Descripción

bool HaruPage::closePath ( void )

Anexa una línea recta del punto corriente al inicio del punto de la ruta.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::circle
HaruPage::concat
HaruPage


Concatena la matriz corriente de transformación de la página y la matriz especificada

HaruPage::closePath
HaruPage::createDestination
HaruPage
PHP Manual

HaruPage::concat

(PECL haru >= 0.0.1)

HaruPage::concat — Concatena la matriz corriente de transformación de la página y la matriz especificada

Descripción

bool HaruPage::concat ( float $a , float $b , float $c , float $d , float $x , float $y )

Concatena la matriz corriente de transformación de la página y la matriz especificada.

Parámetros

a

b

c

d

x

y

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::closePath
HaruPage::createDestination
HaruPage


Crea una nueva instancia de HaruDestination

HaruPage::concat
HaruPage::createLinkAnnotation
HaruPage
PHP Manual

HaruPage::createDestination

(PECL haru >= 0.0.1)

HaruPage::createDestination — Crea una nueva instancia de HaruDestination

Descripción

object HaruPage::createDestination ( void )

Crea una nueva instancia de HaruDestination.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

devuelve una nueva instancia de HaruDestination.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::concat
HaruPage::createLinkAnnotation
HaruPage


Crea una nueva instancia de HaruAnnotation

HaruPage::createDestination
HaruPage::createTextAnnotation
HaruPage
PHP Manual

HaruPage::createLinkAnnotation

(PECL haru >= 0.0.1)

HaruPage::createLinkAnnotation — Crea una nueva instancia de HaruAnnotation

Descripción

object HaruPage::createLinkAnnotation ( array $rectangle , object $destination )

Crea una nueva instancia de HaruAnnotation.

Parámetros

rectangle

Un arreglo con 4 coordenadas del área clickeable.

destination

Valida una instancia de HaruDestination.

Valores devueltos

Devuelve una nueva instancia de HaruAnnotation.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::createDestination
HaruPage::createTextAnnotation
HaruPage


Crea una nueva instancia de HaruAnnotation

HaruPage::createLinkAnnotation
HaruPage::createURLAnnotation
HaruPage
PHP Manual

HaruPage::createTextAnnotation

(PECL haru >= 0.0.1)

HaruPage::createTextAnnotation — Crea una nueva instancia de HaruAnnotation

Descripción

object HaruPage::createTextAnnotation ( array $rectangle , string $text [, object $encoder ] )

Crea una nueva instancia de HaruAnnotation.

Parámetros

rectangle

Un arreglo con 4 coordenadas del área de anotación.

text

El texto a ser mostrado.

encoder

Instancia opcional de HaruEncoder.

Valores devueltos

Devuelve una nueva instancia de HaruAnnotation.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::createLinkAnnotation
HaruPage::createURLAnnotation
HaruPage


Crea una nueva instancia de HaruAnnotation

HaruPage::createTextAnnotation
HaruPage::curveTo2
HaruPage
PHP Manual

HaruPage::createURLAnnotation

(PECL haru >= 0.0.1)

HaruPage::createURLAnnotation — Crea una nueva instancia de HaruAnnotation

Descripción

object HaruPage::createURLAnnotation ( array $rectangle , string $url )

Crea una nueva instancia de HaruAnnotation.

Parámetros

rectangle

Un arreglo con 4 coordenadas del área clickeable.

url

La URL para abrir.

Valores devueltos

Devuelve una nueva instancia de HaruAnnotation.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::createTextAnnotation
HaruPage::curveTo2
HaruPage


Anexar una curva Bezier a la ruta actual

HaruPage::createURLAnnotation
HaruPage::curveTo3
HaruPage
PHP Manual

HaruPage::curveTo2

(PECL haru >= 0.0.1)

HaruPage::curveTo2 — Anexar una curva Bezier a la ruta actual

Descripción

bool HaruPage::curveTo2 ( float $x2 , float $y2 , float $x3 , float $y3 )

Anexar una curva Bezier a la ruta actual El punto actual y el punto (x2, y2)son usados como putos de control para la curva Bezier y el punto actuales movido a el punto (x3, y3).

Parámetros

x2

Un punto de control de la curva Bezier.

y2

Un punto de control de la curva Bezier.

x3

El punto actual se mueve aquí.

x3

El punto actual se mueve aquí.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::createURLAnnotation
HaruPage::curveTo3
HaruPage


Anexar una curva Bezier a la ruta actual

HaruPage::curveTo2
HaruPage::curveTo
HaruPage
PHP Manual

HaruPage::curveTo3

(PECL haru >= 0.0.1)

HaruPage::curveTo3 — Anexar una curva Bezier a la ruta actual

Descripción

bool HaruPage::curveTo3 ( float $x1 , float $y1 , float $x3 , float $y3 )

Anexar una curva Bezier a la ruta actual. El punto (x1, y1) y el punto (x3, y3) son movidos como puntos de control para una curva Bezier y el punto actual es movido a el punto (x3, y3).

Parámetros

x1

Un punto de control de la curva Bezier.

y1

Un punto de control de la curva Bezier.

x3

El punto actual se mueve aquí.

x3

El punto actual se mueve aquí.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::curveTo2
HaruPage::curveTo
HaruPage


Anexa una curva Bezier para la ruta corriente

HaruPage::curveTo3
HaruPage::drawImage
HaruPage
PHP Manual

HaruPage::curveTo

(PECL haru >= 0.0.1)

HaruPage::curveTo — Anexa una curva Bezier para la ruta corriente

Descripción

bool HaruPage::curveTo ( float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )

Anexa una curva Bezier para la ruta corriente. El punto (x1, y1) y el punto (x2, y2) son usados para el control de los puntos para una curva Bezier y el punto corriente es movido al punto (x3, y3).

Parámetros

x1

Un punto de control de la curva Bezier.

y1

Un punto de control de la curva Bezier.

x2

Un punto de control de la curva Bezier.

y2

Un punto de control de la curva Bezier.

x3

El punto corriente se mueve aquí.

x3

El punto corriente se mueve aquí.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::curveTo3
HaruPage::drawImage
HaruPage


Mostrar una imagen en la página

HaruPage::curveTo
HaruPage::ellipse
HaruPage
PHP Manual

HaruPage::drawImage

(PECL haru >= 0.0.1)

HaruPage::drawImage — Mostrar una imagen en la página

Descripción

bool HaruPage::drawImage ( object $image , float $x , float $y , float $width , float $height )

Mostrar una imagen en la página.

Parámetros

image

Valida instacia de HaruImage.

x

El borde izquierdo del área donde la imagen es mostrada.

y

El borde mas bajo de el área donde la imagen es mostrada.

width

El ancho del área de la imagen.

height

El alto del área de la imagen.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::curveTo
HaruPage::ellipse
HaruPage


Anexar una elipse a la ruta actual

HaruPage::drawImage
HaruPage::endPath
HaruPage
PHP Manual

HaruPage::ellipse

(PECL haru >= 0.0.1)

HaruPage::ellipse — Anexar una elipse a la ruta actual

Descripción

bool HaruPage::ellipse ( float $x , float $y , float $xray , float $yray )

Anexar una elipse a la ruta actual.

Parámetros

x

Coordenada horizontal del centro.

y

Coordenada verical del centro.

xray

La raya de la elipse en la dirección x.

yray

La raya de la elipse en la dirección y.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::drawImage
HaruPage::endPath
HaruPage


Fin actual de la ruta del objeto sin operaciones de llenado y pintado

HaruPage::ellipse
HaruPage::endText
HaruPage
PHP Manual

HaruPage::endPath

(PECL haru >= 0.0.1)

HaruPage::endPath — Fin actual de la ruta del objeto sin operaciones de llenado y pintado

Descripción

bool HaruPage::endPath ( void )

Finalizar la ruta actual del objeto sin realizar operaciones de llenado y pintado.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::ellipse
HaruPage::endText
HaruPage


Fin actual en el texto del objeto

HaruPage::endPath
HaruPage::eofill
HaruPage
PHP Manual

HaruPage::endText

(PECL haru >= 0.0.1)

HaruPage::endText — Fin actual en el texto del objeto

Descripción

bool HaruPage::endText ( void )

Finalizar el texto actual del objeto.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::endPath
HaruPage::eofill
HaruPage


Relleno actual de la ruta usadando la regla even-odd

HaruPage::endText
HaruPage::eoFillStroke
HaruPage
PHP Manual

HaruPage::eofill

(PECL haru >= 0.0.1)

HaruPage::eofill — Relleno actual de la ruta usadando la regla even-odd

Descripción

bool HaruPage::eofill ( void )

Rellenar la ruta actual usadando la regla even-odd.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::endText
HaruPage::eoFillStroke
HaruPage


Rellenar la ruta actual usando la regla even-odd, luego se pinta la ruta

HaruPage::eofill
HaruPage::fill
HaruPage
PHP Manual

HaruPage::eoFillStroke

(PECL haru >= 0.0.1)

HaruPage::eoFillStroke — Rellenar la ruta actual usando la regla even-odd, luego se pinta la ruta

Descripción

bool HaruPage::eoFillStroke ([ bool $close_path = false ] )

Rellenar la ruta actual usando la regla even-odd, luego se pinta la ruta.

Parámetros

close_path

Parámetros opcionales. Cuando se fije a TRUE, la función de cierres de la ruta actual. Por defecto es FALSE.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::eofill
HaruPage::fill
HaruPage


Llena la ruta actual usando la regla del número de vueltas diferentes a cero

HaruPage::eoFillStroke
HaruPage::fillStroke
HaruPage
PHP Manual

HaruPage::fill

(PECL haru >= 0.0.1)

HaruPage::fill — Llena la ruta actual usando la regla del número de vueltas diferentes a cero

Descripción

bool HaruPage::fill ( void )

Llena la ruta actual usando la regla del número de vueltas diferentes a cero.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::eoFillStroke
HaruPage::fillStroke
HaruPage


Rellenar la ruta actual utilizando la regla de zigzagueo de número distinto de cero, luego colorea la ruta

HaruPage::fill
HaruPage::getCharSpace
HaruPage
PHP Manual

HaruPage::fillStroke

(PECL haru >= 0.0.1)

HaruPage::fillStroke — Rellenar la ruta actual utilizando la regla de zigzagueo de número distinto de cero, luego colorea la ruta

Descripción

bool HaruPage::fillStroke ([ bool $close_path = false ] )

Rellena la ruta actual utilizando la regla de zigzagueo de número distinto de cero, luego colorea la ruta.

Parámetros

close_path

Parámetro opcional. Cuando se pone en TRUE, la función cierra la ruta actual. De forma predeterminada está en FALSE.

Valores devueltos

Devuelve TRUE al tener éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::fill
HaruPage::getCharSpace
HaruPage


Obtiene el valor actual del carácter espaciado

HaruPage::fillStroke
HaruPage::getCMYKFill
HaruPage
PHP Manual

HaruPage::getCharSpace

(PECL haru >= 0.0.1)

HaruPage::getCharSpace — Obtiene el valor actual del carácter espaciado

Descripción

float HaruPage::getCharSpace ( void )

Obtiene el valor actual del carácter espaciado.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el valor actual del carácter espaciado.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::fillStroke
HaruPage::getCMYKFill
HaruPage


Obtiene el color de relleno actual

HaruPage::getCharSpace
HaruPage::getCMYKStroke
HaruPage
PHP Manual

HaruPage::getCMYKFill

(PECL haru >= 0.0.1)

HaruPage::getCMYKFill — Obtiene el color de relleno actual

Descripción

array HaruPage::getCMYKFill ( void )

Devuelve el color de relleno actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el color de relleno actual como un arreglo con 4 elementos ("c", "m", "y" and "k").

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::getCharSpace
HaruPage::getCMYKStroke
HaruPage


Obtiene el color actual del trazo

HaruPage::getCMYKFill
HaruPage::getCurrentFont
HaruPage
PHP Manual

HaruPage::getCMYKStroke

(PECL haru >= 0.0.1)

HaruPage::getCMYKStroke — Obtiene el color actual del trazo

Descripción

array HaruPage::getCMYKStroke ( void )

Obtiene el color actual del trazo.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el color del trazo actual como un arreglo con 4 elementos ("c", "m", "y" and "k").

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::getCMYKFill
HaruPage::getCurrentFont
HaruPage


Obtiene la actual fuente usada

HaruPage::getCMYKStroke
HaruPage::getCurrentFontSize
HaruPage
PHP Manual

HaruPage::getCurrentFont

(PECL haru >= 0.0.1)

HaruPage::getCurrentFont — Obtiene la actual fuente usada

Descripción

object HaruPage::getCurrentFont ( void )

Obtiene la actual fuente usada.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la fuente actual usada como una instacia de HaruFont.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::getCMYKStroke
HaruPage::getCurrentFontSize
HaruPage


Obtiene el tamaño de la fuente actual

HaruPage::getCurrentFont
HaruPage::getCurrentPos
HaruPage
PHP Manual

HaruPage::getCurrentFontSize

(PECL haru >= 0.0.1)

HaruPage::getCurrentFontSize — Obtiene el tamaño de la fuente actual

Descripción

float HaruPage::getCurrentFontSize ( void )

Obtiene el tamaño de la fuente actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el tamaño de la fuente usada.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::getCurrentFont
HaruPage::getCurrentPos
HaruPage


Obtiene la posición actual para la ruta de impresión

HaruPage::getCurrentFontSize
HaruPage::getCurrentTextPos
HaruPage
PHP Manual

HaruPage::getCurrentPos

(PECL haru >= 0.0.1)

HaruPage::getCurrentPos — Obtiene la posición actual para la ruta de impresión

Descripción

array HaruPage::getCurrentPos ( void )

Obtiene la posición actual para la ruta de impresión.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la posición actual para la ruta de pintado como un arreglo con dos elementos - "x" y "y".

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::getCurrentFontSize
HaruPage::getCurrentTextPos
HaruPage


Obtiene la posición actual para la impresión del texto

HaruPage::getCurrentPos
HaruPage::getDash
HaruPage
PHP Manual

HaruPage::getCurrentTextPos

(PECL haru >= 0.0.1)

HaruPage::getCurrentTextPos — Obtiene la posición actual para la impresión del texto

Descripción

array HaruPage::getCurrentTextPos ( void )

Obtiene la posición actual para la impresión del texto.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la posición actual para la impresion del texto como un arreglo de 2 elementos - "x" y "y".

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::getCurrentPos
HaruPage::getDash
HaruPage


Obtiene el actual patrón guía

HaruPage::getCurrentTextPos
HaruPage::getFillingColorSpace
HaruPage
PHP Manual

HaruPage::getDash

(PECL haru >= 0.0.1)

HaruPage::getDash — Obtiene el actual patrón guía

Descripción

array HaruPage::getDash ( void )

Obtiene el actual patrón guía. Ver HaruPage::setDash() para más información de patrón guía.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el actual patrón guía como un arreglo de dos elementos - "patrón" y "fase" o FALSE si el patrón guía no fuera establecido.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::setDash() - Establece el patrón de guía para la página

HaruPage::getCurrentTextPos
HaruPage::getFillingColorSpace
HaruPage


Obtiene el espacio actual del color de relleno

HaruPage::getDash
HaruPage::getFlatness
HaruPage
PHP Manual

HaruPage::getFillingColorSpace

(PECL haru >= 0.0.1)

HaruPage::getFillingColorSpace — Obtiene el espacio actual del color de relleno

Descripción

int HaruPage::getFillingColorSpace ( void )

Obtiene el espacio actual del color de relleno.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el espacio actual del color de relleno. El valor resultante es uno de los siguientes:

  • HaruDoc::CS_DEVICE_GRAY
  • HaruDoc::CS_DEVICE_RGB
  • HaruDoc::CS_DEVICE_CMYK
  • HaruDoc::CS_CAL_GRAY
  • HaruDoc::CS_CAL_RGB
  • HaruDoc::CS_LAB
  • HaruDoc::CS_ICC_BASED
  • HaruDoc::CS_SEPARATION
  • HaruDoc::CS_DEVICE_N
  • HaruDoc::CS_INDEXED
  • HaruDoc::CS_PATTERN

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::getDash
HaruPage::getFlatness
HaruPage


Obtiene la categoría de la página

HaruPage::getFillingColorSpace
HaruPage::getGMode
HaruPage
PHP Manual

HaruPage::getFlatness

(PECL haru >= 0.0.1)

HaruPage::getFlatness — Obtiene la categoría de la página

Descripción

float HaruPage::getFlatness ( void )

Obtiene la categoría de la página.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la categoría de la página.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::setFlatness() - Establecer la planicie para la página

HaruPage::getFillingColorSpace
HaruPage::getGMode
HaruPage


Obtiene el modo de grafico actual

HaruPage::getFlatness
HaruPage::getGrayFill
HaruPage
PHP Manual

HaruPage::getGMode

(PECL haru >= 0.0.1)

HaruPage::getGMode — Obtiene el modo de grafico actual

Descripción

int HaruPage::getGMode ( void )

Obtiene el modo de grafico actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el modo de grafico actual. El valor resultante es uno de los siguientes:

  • HaruPage::GMODE_PAGE_DESCRIPTION
  • HaruPage::GMODE_TEXT_OBJECT
  • HaruPage::GMODE_PATH_OBJECT
  • HaruPage::GMODE_CLIPPING_PATH
  • HaruPage::GMODE_SHADING
  • HaruPage::GMODE_INLINE_IMAGE
  • HaruPage::GMODE_EXTERNAL_OBJECT

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::getFlatness
HaruPage::getGrayFill
HaruPage


Obtiene el color de relleno actual

HaruPage::getGMode
HaruPage::getGrayStroke
HaruPage
PHP Manual

HaruPage::getGrayFill

(PECL haru >= 0.0.1)

HaruPage::getGrayFill — Obtiene el color de relleno actual

Descripción

float HaruPage::getGrayFill ( void )

Obtiene el color de relleno actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el color de relleno actual.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::setGrayFill() - Establece el color de relleno para la página

HaruPage::getGMode
HaruPage::getGrayStroke
HaruPage


Obtiene el color actual del trazo

HaruPage::getGrayFill
HaruPage::getHeight
HaruPage
PHP Manual

HaruPage::getGrayStroke

(PECL haru >= 0.0.1)

HaruPage::getGrayStroke — Obtiene el color actual del trazo

Descripción

float HaruPage::getGrayStroke ( void )

Obtiene el color actual del trazo.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el color actual del trazo.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::setGrayStroke() - Establece el color de trazo para la página

HaruPage::getGrayFill
HaruPage::getHeight
HaruPage


Obtiene la altura de la página

HaruPage::getGrayStroke
HaruPage::getHorizontalScaling
HaruPage
PHP Manual

HaruPage::getHeight

(PECL haru >= 0.0.1)

HaruPage::getHeight — Obtiene la altura de la página

Descripción

float HaruPage::getHeight ( void )

Obtiene la altura de la página.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la altura de la página.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::setHeight() - Establece el alto de la página

HaruPage::getGrayStroke
HaruPage::getHorizontalScaling
HaruPage


Obtiene el valor actual de la escala horizontal

HaruPage::getHeight
HaruPage::getLineCap
HaruPage
PHP Manual

HaruPage::getHorizontalScaling

(PECL haru >= 0.0.1)

HaruPage::getHorizontalScaling — Obtiene el valor actual de la escala horizontal

Descripción

float HaruPage::getHorizontalScaling ( void )

Obtiene el valor actual de la escala horizontal.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el valor actual de de la escala horizontal.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::setHorizontalScaling() - Establece la escala horizontal para la página

HaruPage::getHeight
HaruPage::getLineCap
HaruPage


Obtiene el estilo actual del extremo de línea

HaruPage::getHorizontalScaling
HaruPage::getLineJoin
HaruPage
PHP Manual

HaruPage::getLineCap

(PECL haru >= 0.0.1)

HaruPage::getLineCap — Obtiene el estilo actual del extremo de línea

Descripción

int HaruPage::getLineCap ( void )

Obtiene el estilo actual del extremo de línea.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el estilo actual del extremo de línea. El valor resultate es uno de los siguientes:

  • HaruPage::BUTT_END - the line is squared off at the endpoint of the path.
  • HaruPage::ROUND_END - the end of the line becomes a semicircle with center in the end point of the path.
  • HaruPage::PROJECTING_SCUARE_END - the line continues to the point that exceeds half of the stroke width the end point.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::setLineCap() - Establece la forma a ser usada en el final de las líneas

HaruPage::getHorizontalScaling
HaruPage::getLineJoin
HaruPage


Obtiene el estilo de la línea de unión

HaruPage::getLineCap
HaruPage::getLineWidth
HaruPage
PHP Manual

HaruPage::getLineJoin

(PECL haru >= 0.0.1)

HaruPage::getLineJoin — Obtiene el estilo de la línea de unión

Descripción

int HaruPage::getLineJoin ( void )

Obtiene el estilo de la línea de unión.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el estilo de la línea de unión. El valor resultate es uno de los siguientes:

  • HaruPage::MITER_JOIN
  • HaruPage::ROUND_JOIN
  • HaruPage::BEVEL_JOIN

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::setLineJoin() - Establece el estilo de la línea de unión para la página

HaruPage::getLineCap
HaruPage::getLineWidth
HaruPage


Obtiene el ancho actual de la línea

HaruPage::getLineJoin
HaruPage::getMiterLimit
HaruPage
PHP Manual

HaruPage::getLineWidth

(PECL haru >= 0.0.1)

HaruPage::getLineWidth — Obtiene el ancho actual de la línea

Descripción

float HaruPage::getLineWidth ( void )

Obtiene el ancho actual de la línea.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el ancho actual de la línea.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::setLineWidth() - Establece el ancho de la línea para la página

HaruPage::getLineJoin
HaruPage::getMiterLimit
HaruPage


Obtiene el valor del límite del inglete

HaruPage::getLineWidth
HaruPage::getRGBFill
HaruPage
PHP Manual

HaruPage::getMiterLimit

(PECL haru >= 0.0.1)

HaruPage::getMiterLimit — Obtiene el valor del límite del inglete

Descripción

float HaruPage::getMiterLimit ( void )

Obtiene el valor del límite del inglete.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el valor del límite del inglete.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::setMiterLimit() - Establece el valor actual del inglete limite de la página

HaruPage::getLineWidth
HaruPage::getRGBFill
HaruPage


Obtiene el color actual de relleno

HaruPage::getMiterLimit
HaruPage::getRGBStroke
HaruPage
PHP Manual

HaruPage::getRGBFill

(PECL haru >= 0.0.1)

HaruPage::getRGBFill — Obtiene el color actual de relleno

Descripción

array HaruPage::getRGBFill ( void )

Obtiene el color actual de relleno.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el color actual de relleno como un arreglo con 3 elementos: "r", "g" y "b".

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::setRGBFill() - Establece el color de relleno para la página

HaruPage::getMiterLimit
HaruPage::getRGBStroke
HaruPage


Obtiene el color actual del trazo

HaruPage::getRGBFill
HaruPage::getStrokingColorSpace
HaruPage
PHP Manual

HaruPage::getRGBStroke

(PECL haru >= 0.0.1)

HaruPage::getRGBStroke — Obtiene el color actual del trazo

Descripción

array HaruPage::getRGBStroke ( void )

Obtiene el color actual del trazo.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el color actual del trazo.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::setRGBStroke() - Establece el color de trazo para la página

HaruPage::getRGBFill
HaruPage::getStrokingColorSpace
HaruPage


Obtiene el color actual del espacio del trazado

HaruPage::getRGBStroke
HaruPage::getTextLeading
HaruPage
PHP Manual

HaruPage::getStrokingColorSpace

(PECL haru >= 0.0.1)

HaruPage::getStrokingColorSpace — Obtiene el color actual del espacio del trazado

Descripción

int HaruPage::getStrokingColorSpace ( void )

Obtiene el color actual del espacio del trazado.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el color actual del espacio del trazado. La lista del valor de retorno es la misma para HaruPage::getFillingColorSpace()

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::getFillingColorSpace() - Obtiene el espacio actual del color de relleno

HaruPage::getRGBStroke
HaruPage::getTextLeading
HaruPage


Obtiene el valor actual de la línea espaciada

HaruPage::getStrokingColorSpace
HaruPage::getTextMatrix
HaruPage
PHP Manual

HaruPage::getTextLeading

(PECL haru >= 0.0.1)

HaruPage::getTextLeading — Obtiene el valor actual de la línea espaciada

Descripción

float HaruPage::getTextLeading ( void )

Obtiene el valor actual de la línea espaciada.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el valor actual de la línea espaciada.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::setTextLeading() - Establece el texto guía (línea de espacio) para la página

HaruPage::getStrokingColorSpace
HaruPage::getTextMatrix
HaruPage


Obtiene la transformación actual de la matriz de la página

HaruPage::getTextLeading
HaruPage::getTextRenderingMode
HaruPage
PHP Manual

HaruPage::getTextMatrix

(PECL haru >= 0.0.1)

HaruPage::getTextMatrix — Obtiene la transformación actual de la matriz de la página

Descripción

array HaruPage::getTextMatrix ( void )

Obtiene la transformación actual de la matriz de la página.

Valores devueltos

Devuelve la transformación actual de la matriz de la página como un arreglo de 6 elementos: "a", "b", "c", "d", "x" and "y".

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::setTextMatrix() - Establece la matriz de la transformación actual del texto de la página

HaruPage::getTextLeading
HaruPage::getTextRenderingMode
HaruPage


Obtiene el texto actual de modo de interpretación

HaruPage::getTextMatrix
HaruPage::getTextRise
HaruPage
PHP Manual

HaruPage::getTextRenderingMode

(PECL haru >= 0.0.1)

HaruPage::getTextRenderingMode — Obtiene el texto actual de modo de interpretación

Descripción

int HaruPage::getTextRenderingMode ( void )

Obtiene el texto actual de modo de interpretación.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el texto actual de modo de interpretación. El valor resultante es uno de los siguientes:

  • HaruPage::FILL
  • HaruPage::STROKE
  • HaruPage::FILL_THEN_STROKE
  • HaruPage::INVISIBLE
  • HaruPage::FILL_CLIPPING
  • HaruPage::STROKE_CLIPPING
  • HaruPage::FILL_STROKE_CLIPPING
  • HaruPage::CLIPPING

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::setTextRenderingMode() - Establece el modo de interpretación del texto para la página

HaruPage::getTextMatrix
HaruPage::getTextRise
HaruPage


Obtiene el valor actual del texto saliente

HaruPage::getTextRenderingMode
HaruPage::getTextWidth
HaruPage
PHP Manual

HaruPage::getTextRise

(PECL haru >= 0.0.1)

HaruPage::getTextRise — Obtiene el valor actual del texto saliente

Descripción

float HaruPage::getTextRise ( void )

Obtiene el valor actual del texto saliente.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el valor actual del texto saliente.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::setTextRise() - Establece el valor actual del aumento del texto

HaruPage::getTextRenderingMode
HaruPage::getTextWidth
HaruPage


Obtiene el ancho del tamaño de la fuente usada en el texto actual, el caracter y la letra espaciada

HaruPage::getTextRise
HaruPage::getTransMatrix
HaruPage
PHP Manual

HaruPage::getTextWidth

(PECL haru >= 0.0.1)

HaruPage::getTextWidth — Obtiene el ancho del tamaño de la fuente usada en el texto actual, el caracter y la letra espaciada

Descripción

float HaruPage::getTextWidth ( string $text )

Obtiene el ancho del tamaño de la fuente usada en el texto actual, el caracter y la letra espaciada.

Parámetros

text

El texto a medir.

Valores devueltos

Devuelve el ancho del tamaño de la fuente usada en el texto actual, el caracter y la letra espaciada.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::measureText() - Calcula el número de caracteres los cuales pueden ser incluidos dentro del ancho especificado

HaruPage::getTextRise
HaruPage::getTransMatrix
HaruPage


Obtiene la transformación actual de la matriz de la página

HaruPage::getTextWidth
HaruPage::getWidth
HaruPage
PHP Manual

HaruPage::getTransMatrix

(PECL haru >= 0.0.1)

HaruPage::getTransMatrix — Obtiene la transformación actual de la matriz de la página

Descripción

array HaruPage::getTransMatrix ( void )

Obtiene la transformación actual de la matriz de la página.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la transformación actual de la matriz de la página como un arreglo de 6 elementos: "a", "b", "c", "d", "x" and "y".

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::concat() - Concatena la matriz corriente de transformación de la página y la matriz especificada

HaruPage::getTextWidth
HaruPage::getWidth
HaruPage


Obtiene el ancho de la página

HaruPage::getTransMatrix
HaruPage::getWordSpace
HaruPage
PHP Manual

HaruPage::getWidth

(PECL haru >= 0.0.1)

HaruPage::getWidth — Obtiene el ancho de la página

Descripción

float HaruPage::getWidth ( void )

Obtiene el ancho de la página.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el ancho de la página.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::setWidth() - Establece el ancho de la página

HaruPage::getTransMatrix
HaruPage::getWordSpace
HaruPage


Obtiene el valor actual del espaciado de la palabra

HaruPage::getWidth
HaruPage::lineTo
HaruPage
PHP Manual

HaruPage::getWordSpace

(PECL haru >= 0.0.1)

HaruPage::getWordSpace — Obtiene el valor actual del espaciado de la palabra

Descripción

float HaruPage::getWordSpace ( void )

Obtiene el valor actual del espaciado de la palabra.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el valor actual del espaciado de la palabra.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::setWordSpace() - Establece el espacio de la palabra para la página

HaruPage::getWidth
HaruPage::lineTo
HaruPage


Dibuja una línea del punto actual al especificado

HaruPage::getWordSpace
HaruPage::measureText
HaruPage
PHP Manual

HaruPage::lineTo

(PECL haru >= 0.0.1)

HaruPage::lineTo — Dibuja una línea del punto actual al especificado

Descripción

bool HaruPage::lineTo ( float $x , float $y )

Dibuja una línea del punto actual al especificado.

Parámetros

x

y

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::curveTo() - Anexa una curva Bezier para la ruta corriente
  • HaruPage::curveTo2() - Anexar una curva Bezier a la ruta actual
  • HaruPage::curveTo3() - Anexar una curva Bezier a la ruta actual

HaruPage::getWordSpace
HaruPage::measureText
HaruPage


Calcula el número de caracteres los cuales pueden ser incluidos dentro del ancho especificado

HaruPage::lineTo
HaruPage::moveTextPos
HaruPage
PHP Manual

HaruPage::measureText

(PECL haru >= 0.0.1)

HaruPage::measureText — Calcula el número de caracteres los cuales pueden ser incluidos dentro del ancho especificado

Descripción

int HaruPage::measureText ( string $text , float $width [, bool $wordwrap = false ] )

Calcula el número de caracteres los cuales pueden ser incluidos dentro del ancho especificado.

Parámetros

text

El texto a medir.

width

El ancho del área a colocar el texto.

wordwrap

Cuando éste parámetro se establece a TRUE la función "emula" la palabra envolver y no incluye la parte de la palabra actual si se ha llegado al final del área.

Valores devueltos

Devuelve el número de caracteres Returnslos cuales puede ser incluidos dentro del ancho especificado.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruFont::measureText() - Calcula el número de caracteres los cuales puede ser incluidos dentro de un ancho especificado

HaruPage::lineTo
HaruPage::moveTextPos
HaruPage


Mueve la posición del texto al desplazamiento especificado

HaruPage::measureText
HaruPage::moveTo
HaruPage
PHP Manual

HaruPage::moveTextPos

(PECL haru >= 0.0.1)

HaruPage::moveTextPos — Mueve la posición del texto al desplazamiento especificado

Descripción

bool HaruPage::moveTextPos ( float $x , float $y [, bool $set_leading = false ] )

Mueve la posición del texto al desplazamiento especificado. Si la posición inicial de la actual línea es (x1, y1), el inicio de la siguiente línea es (x1 + x, y1 + y).

Parámetros

x

La posición de desplazamiento del texto especificado.

y

La posición de desplazamiento del texto especificado.

set_leading

If set to TRUE, the function sets the text leading to -y.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::moveToNextLine() - Mueve la posición del texto al inicio de la siguiente línea

HaruPage::measureText
HaruPage::moveTo
HaruPage


Establece el punto de inicio para la nueva ruta de dibujo

HaruPage::moveTextPos
HaruPage::moveToNextLine
HaruPage
PHP Manual

HaruPage::moveTo

(PECL haru >= 0.0.1)

HaruPage::moveTo — Establece el punto de inicio para la nueva ruta de dibujo

Descripción

bool HaruPage::moveTo ( float $x , float $y )

Define el punto de inicio para la nueva ruta de dibujo.

Parámetros

x

Una nueva coordenada del punto inicial.

y

Una nueva coordenada del punto inicial.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::moveTextPos
HaruPage::moveToNextLine
HaruPage


Mueve la posición del texto al inicio de la siguiente línea

HaruPage::moveTo
HaruPage::rectangle
HaruPage
PHP Manual

HaruPage::moveToNextLine

(PECL haru >= 0.0.1)

HaruPage::moveToNextLine — Mueve la posición del texto al inicio de la siguiente línea

Descripción

bool HaruPage::moveToNextLine ( void )

Mueve la posición del texto al inicio de la siguiente línea.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::moveTextPos() - Mueve la posición del texto al desplazamiento especificado

HaruPage::moveTo
HaruPage::rectangle
HaruPage


Anexa un rectángulo a la ruta actual

HaruPage::moveToNextLine
HaruPage::setCharSpace
HaruPage
PHP Manual

HaruPage::rectangle

(PECL haru >= 0.0.1)

HaruPage::rectangle — Anexa un rectángulo a la ruta actual

Descripción

bool HaruPage::rectangle ( float $x , float $y , float $width , float $height )

Anexa un rectángulo a la ruta actual.

Parámetros

x

El borde izquierdo del rectángulo.

y

El borde más bajo del rectángulo.

width

El ancho del rectángulo.

height

El alto del rectángulo.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::moveToNextLine
HaruPage::setCharSpace
HaruPage


Establece el espaciado de carácter de la página

HaruPage::rectangle
HaruPage::setCMYKFill
HaruPage
PHP Manual

HaruPage::setCharSpace

(PECL haru >= 0.0.1)

HaruPage::setCharSpace — Establece el espaciado de carácter de la página

Descripción

bool HaruPage::setCharSpace ( float $char_space )

Define el espaciado de carácter de la página.

Parámetros

char_space

El nuevo espaciado de carácter de la página.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::getCharSpace() - Obtiene el valor actual del carácter espaciado

HaruPage::rectangle
HaruPage::setCMYKFill
HaruPage


Establece el color de relleno para la página

HaruPage::setCharSpace
HaruPage::setCMYKStroke
HaruPage
PHP Manual

HaruPage::setCMYKFill

(PECL haru >= 0.0.1)

HaruPage::setCMYKFill — Establece el color de relleno para la página

Descripción

bool HaruPage::setCMYKFill ( float $c , float $m , float $y , float $k )

Define el color de relleno para la página.

Parámetros

c

m

y

k

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::getCMYKFill() - Obtiene el color de relleno actual

HaruPage::setCharSpace
HaruPage::setCMYKStroke
HaruPage


Establece el color de trazo de la página

HaruPage::setCMYKFill
HaruPage::setDash
HaruPage
PHP Manual

HaruPage::setCMYKStroke

(PECL haru >= 0.0.1)

HaruPage::setCMYKStroke — Establece el color de trazo de la página

Descripción

bool HaruPage::setCMYKStroke ( float $c , float $m , float $y , float $k )

Define el color de trazo de la página.

Parámetros

c

m

y

k

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::getCMYKStroke() - Obtiene el color actual del trazo

HaruPage::setCMYKFill
HaruPage::setDash
HaruPage


Establece el patrón de guía para la página

HaruPage::setCMYKStroke
HaruPage::setFlatness
HaruPage
PHP Manual

HaruPage::setDash

(PECL haru >= 0.0.1)

HaruPage::setDash — Establece el patrón de guía para la página

Descripción

bool HaruPage::setDash ( array $pattern , int $phase )

Define el patrón de guía para la página.

Parámetros

pattern

Un arreglo (8 elementos máximo) el cual contiene un patrón guía y los espacios usados para las líneas de la página.

phase

La fase en la cual el patrón empieza.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::getDash() - Obtiene el actual patrón guía

HaruPage::setCMYKStroke
HaruPage::setFlatness
HaruPage


Establecer la planicie para la página

HaruPage::setDash
HaruPage::setFontAndSize
HaruPage
PHP Manual

HaruPage::setFlatness

(PECL haru >= 0.0.1)

HaruPage::setFlatness — Establecer la planicie para la página

Descripción

bool HaruPage::setFlatness ( float $flatness )

Define la planicie para la página.

Parámetros

flatness

La planicie definida para la página.

Valores devueltos

Devuelve TRUE al tener éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::getFlatness() - Obtiene la categoría de la página

HaruPage::setDash
HaruPage::setFontAndSize
HaruPage


Establece la fuente y el tamaño de la misma para la página

HaruPage::setFlatness
HaruPage::setGrayFill
HaruPage
PHP Manual

HaruPage::setFontAndSize

(PECL haru >= 0.0.1)

HaruPage::setFontAndSize — Establece la fuente y el tamaño de la misma para la página

Descripción

bool HaruPage::setFontAndSize ( object $font , float $size )

Define la fuente y el tamaño de la misma para la página.

Parámetros

font

Una instancia valida de HaruFont.

size

El tamaño de la fuente.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruDoc::getFont() - Obtiene una instancia de HaruFont

HaruPage::setFlatness
HaruPage::setGrayFill
HaruPage


Establece el color de relleno para la página

HaruPage::setFontAndSize
HaruPage::setGrayStroke
HaruPage
PHP Manual

HaruPage::setGrayFill

(PECL haru >= 0.0.1)

HaruPage::setGrayFill — Establece el color de relleno para la página

Descripción

bool HaruPage::setGrayFill ( float $value )

Define el color de relleno para la página.

Parámetros

value

El valor de gris entre 0 y 1.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::getGrayFill() - Obtiene el color de relleno actual

HaruPage::setFontAndSize
HaruPage::setGrayStroke
HaruPage


Establece el color de trazo para la página

HaruPage::setGrayFill
HaruPage::setHeight
HaruPage
PHP Manual

HaruPage::setGrayStroke

(PECL haru >= 0.0.1)

HaruPage::setGrayStroke — Establece el color de trazo para la página

Descripción

bool HaruPage::setGrayStroke ( float $value )

Define el color de trazo para la página.

Parámetros

value

El valor de gris entre 0 y 1.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::getGrayStroke() - Obtiene el color actual del trazo

HaruPage::setGrayFill
HaruPage::setHeight
HaruPage


Establece el alto de la página

HaruPage::setGrayStroke
HaruPage::setHorizontalScaling
HaruPage
PHP Manual

HaruPage::setHeight

(PECL haru >= 0.0.1)

HaruPage::setHeight — Establece el alto de la página

Descripción

bool HaruPage::setHeight ( float $height )

Define el alto de la página.

Parámetros

height

El alto definido para la página.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::getHeight() - Obtiene la altura de la página

HaruPage::setGrayStroke
HaruPage::setHorizontalScaling
HaruPage


Establece la escala horizontal para la página

HaruPage::setHeight
HaruPage::setLineCap
HaruPage
PHP Manual

HaruPage::setHorizontalScaling

(PECL haru >= 0.0.1)

HaruPage::setHorizontalScaling — Establece la escala horizontal para la página

Descripción

bool HaruPage::setHorizontalScaling ( float $scaling )

Define la escala horizontal para la página.

Parámetros

scaling

La escala horizontal para el texto mostrado en la página. El valor inicial es 100.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::getHorizontalScaling() - Obtiene el valor actual de la escala horizontal

HaruPage::setHeight
HaruPage::setLineCap
HaruPage


Establece la forma a ser usada en el final de las líneas

HaruPage::setHorizontalScaling
HaruPage::setLineJoin
HaruPage
PHP Manual

HaruPage::setLineCap

(PECL haru >= 0.0.1)

HaruPage::setLineCap — Establece la forma a ser usada en el final de las líneas

Descripción

bool HaruPage::setLineCap ( int $cap )

Define la forma a ser usada en el final de las líneas.

Parámetros

cap

Debe ser uno de los siguientes valores:

  • HaruPage::BUTT_END - la línea es enfrentada con el punto final de la ruta.
  • HaruPage::ROUND_END - El final de la línea se convierte en un semi-circulo con el punto final de la ruta centrado.
  • HaruPage::PROJECTING_SCUARE_END - la línea continua al punto que excede a medias el ancho del trazo del punto final.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::getLineCap() - Obtiene el estilo actual del extremo de línea

HaruPage::setHorizontalScaling
HaruPage::setLineJoin
HaruPage


Establece el estilo de la línea de unión para la página

HaruPage::setLineCap
HaruPage::setLineWidth
HaruPage
PHP Manual

HaruPage::setLineJoin

(PECL haru >= 0.0.1)

HaruPage::setLineJoin — Establece el estilo de la línea de unión para la página

Descripción

bool HaruPage::setLineJoin ( int $join )

Define el estilo de la línea de unión para la página.

Parámetros

join

Debe ser uno de los siguientes valores:

  • HaruPage::MITER_JOIN
  • HaruPage::ROUND_JOIN
  • HaruPage::BEVEL_JOIN

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::getLineJoin() - Obtiene el estilo de la línea de unión

HaruPage::setLineCap
HaruPage::setLineWidth
HaruPage


Establece el ancho de la línea para la página

HaruPage::setLineJoin
HaruPage::setMiterLimit
HaruPage
PHP Manual

HaruPage::setLineWidth

(PECL haru >= 0.0.1)

HaruPage::setLineWidth — Establece el ancho de la línea para la página

Descripción

bool HaruPage::setLineWidth ( float $width )

Define el ancho de la línea para la página.

Parámetros

width

El ancho de la línea definida para la página.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::getLineWidth() - Obtiene el ancho actual de la línea

HaruPage::setLineJoin
HaruPage::setMiterLimit
HaruPage


Establece el valor actual del inglete limite de la página

HaruPage::setLineWidth
HaruPage::setRGBFill
HaruPage
PHP Manual

HaruPage::setMiterLimit

(PECL haru >= 0.0.1)

HaruPage::setMiterLimit — Establece el valor actual del inglete limite de la página

Descripción

bool HaruPage::setMiterLimit ( float $limit )

Establece el valor actual del inglete limite de la página.

Parámetros

limit

Define el valor actual del inglete limite de la página.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::getMiterLimit() - Obtiene el valor del límite del inglete

HaruPage::setLineWidth
HaruPage::setRGBFill
HaruPage


Establece el color de relleno para la página

HaruPage::setMiterLimit
HaruPage::setRGBStroke
HaruPage
PHP Manual

HaruPage::setRGBFill

(PECL haru >= 0.0.1)

HaruPage::setRGBFill — Establece el color de relleno para la página

Descripción

bool HaruPage::setRGBFill ( float $r , float $g , float $b )

Define el color de relleno para la página. Todos los valores deben de estar entre 0 y 1.

Parámetros

r

g

b

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::getRGBFill() - Obtiene el color actual de relleno

HaruPage::setMiterLimit
HaruPage::setRGBStroke
HaruPage


Establece el color de trazo para la página

HaruPage::setRGBFill
HaruPage::setRotate
HaruPage
PHP Manual

HaruPage::setRGBStroke

(PECL haru >= 0.0.1)

HaruPage::setRGBStroke — Establece el color de trazo para la página

Descripción

bool HaruPage::setRGBStroke ( float $r , float $g , float $b )

Define el color de trazo para la página. Todos los valores pueden estar entre 0 y 1.

Parámetros

r

g

b

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::getRGBStroke() - Obtiene el color actual del trazo

HaruPage::setRGBFill
HaruPage::setRotate
HaruPage


Establece la rotación del ángulo de la página

HaruPage::setRGBStroke
HaruPage::setSize
HaruPage
PHP Manual

HaruPage::setRotate

(PECL haru >= 0.0.1)

HaruPage::setRotate — Establece la rotación del ángulo de la página

Descripción

bool HaruPage::setRotate ( int $angle )

Define la rotación del ángulo de la página.

Parámetros

angle

Debe ser un múltiplo de 90 grados.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::setRGBStroke
HaruPage::setSize
HaruPage


Define el tamaño y la dirección de la página

HaruPage::setRotate
HaruPage::setSlideShow
HaruPage
PHP Manual

HaruPage::setSize

(PECL haru >= 0.0.1)

HaruPage::setSize — Define el tamaño y la dirección de la página

Descripción

bool HaruPage::setSize ( int $size , int $direction )

Cambia el tamaño y la dirección de la página para un formato predefinido.

Parámetros

size

Debe ser uno de los siguientes valores:

  • HaruPage::SIZE_LETTER
  • HaruPage::SIZE_LEGAL
  • HaruPage::SIZE_A3
  • HaruPage::SIZE_A4
  • HaruPage::SIZE_A5
  • HaruPage::SIZE_B4
  • HaruPage::SIZE_B5
  • HaruPage::SIZE_EXECUTIVE
  • HaruPage::SIZE_US4x6
  • HaruPage::SIZE_US4x8
  • HaruPage::SIZE_US5x7
  • HaruPage::SIZE_COMM10

direction

Debe ser uno de los siguientes valores:

  • HaruPage::PORTRAIT
  • HaruPage::LANDSCAPE

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::setWidth() - Establece el ancho de la página
  • HaruPage::setHeight() - Establece el alto de la página

HaruPage::setRotate
HaruPage::setSlideShow
HaruPage


Establece el de estilo de transición de la página

HaruPage::setSize
HaruPage::setTextLeading
HaruPage
PHP Manual

HaruPage::setSlideShow

(PECL haru >= 0.0.1)

HaruPage::setSlideShow — Establece el de estilo de transición de la página

Descripción

bool HaruPage::setSlideShow ( int $type , float $disp_time , float $trans_time )

Define el de estilo de transición de la página.

Parámetros

type

debe ser uno de los siguientes valores:

  • HaruPage::TS_WIPE_RIGHT
  • HaruPage::TS_WIPE_LEFT
  • HaruPage::TS_WIPE_UP
  • HaruPage::TS_WIPE_DOWN
  • HaruPage::TS_BARN_DOORS_HORIZONTAL_OUT
  • HaruPage::TS_BARN_DOORS_HORIZONTAL_IN
  • HaruPage::TS_BARN_DOORS_VERTICAL_OUT
  • HaruPage::TS_BARN_DOORS_VERTICAL_IN
  • HaruPage::TS_BOX_OUT
  • HaruPage::TS_BOX_IN
  • HaruPage::TS_BLINDS_HORIZONTAL
  • HaruPage::TS_BLINDS_VERTICAL
  • HaruPage::TS_DISSOLVE
  • HaruPage::TS_GLITTER_RIGHT
  • HaruPage::TS_GLITTER_DOWN
  • HaruPage::TS_GLITTER_TOP_LEFT_TO_BOTTOM_RIGHT
  • HaruPage::TS_REPLACE

disp_time

Muestra la duración de la página en segundos.

trans_time

La duración del efecto de transición en segundos.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::setSize
HaruPage::setTextLeading
HaruPage


Establece el texto guía (línea de espacio) para la página

HaruPage::setSlideShow
HaruPage::setTextMatrix
HaruPage
PHP Manual

HaruPage::setTextLeading

(PECL haru >= 0.0.1)

HaruPage::setTextLeading — Establece el texto guía (línea de espacio) para la página

Descripción

bool HaruPage::setTextLeading ( float $text_leading )

Establece el texto guía (línea de espacio) para la página.

Parámetros

text_leading

Define la línea de espacio para la página.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::getTextLeading() - Obtiene el valor actual de la línea espaciada

HaruPage::setSlideShow
HaruPage::setTextMatrix
HaruPage


Establece la matriz de la transformación actual del texto de la página

HaruPage::setTextLeading
HaruPage::setTextRenderingMode
HaruPage
PHP Manual

HaruPage::setTextMatrix

(PECL haru >= 0.0.1)

HaruPage::setTextMatrix — Establece la matriz de la transformación actual del texto de la página

Descripción

bool HaruPage::setTextMatrix ( float $a , float $b , float $c , float $d , float $x , float $y )

Define la matriz de la transformación actual del texto de la página.

Parámetros

a

Multiplicador de anchura.

b

Sesgadura vertical en radianes.

c

Sesgadura horizontal en radianes.

d

Multiplicador de altura.

x

Posición horizontal para el texto.

y

Posición vertical para el texto.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::getTextMatrix() - Obtiene la transformación actual de la matriz de la página

HaruPage::setTextLeading
HaruPage::setTextRenderingMode
HaruPage


Establece el modo de interpretación del texto para la página

HaruPage::setTextMatrix
HaruPage::setTextRise
HaruPage
PHP Manual

HaruPage::setTextRenderingMode

(PECL haru >= 0.0.1)

HaruPage::setTextRenderingMode — Establece el modo de interpretación del texto para la página

Descripción

bool HaruPage::setTextRenderingMode ( int $mode )

Define el modo de interpretación del texto para la página.

Parámetros

mode

Debe ser uno de los siguientes valores:

  • HaruPage::FILL
  • HaruPage::STROKE
  • HaruPage::FILL_THEN_STROKE
  • HaruPage::INVISIBLE
  • HaruPage::FILL_CLIPPING
  • HaruPage::STROKE_CLIPPING
  • HaruPage::FILL_STROKE_CLIPPING
  • HaruPage::CLIPPING

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::getTextRenderingMode() - Obtiene el texto actual de modo de interpretación

HaruPage::setTextMatrix
HaruPage::setTextRise
HaruPage


Establece el valor actual del aumento del texto

HaruPage::setTextRenderingMode
HaruPage::setWidth
HaruPage
PHP Manual

HaruPage::setTextRise

(PECL haru >= 0.0.1)

HaruPage::setTextRise — Establece el valor actual del aumento del texto

Descripción

bool HaruPage::setTextRise ( float $rise )

Establece el valor actual del aumento del texto.

Parámetros

rise

Define el valor actual del aumento del texto.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::getTextRise() - Obtiene el valor actual del texto saliente

HaruPage::setTextRenderingMode
HaruPage::setWidth
HaruPage


Establece el ancho de la página

HaruPage::setTextRise
HaruPage::setWordSpace
HaruPage
PHP Manual

HaruPage::setWidth

(PECL haru >= 0.0.1)

HaruPage::setWidth — Establece el ancho de la página

Descripción

bool HaruPage::setWidth ( float $width )

Establece el ancho de la página.

Parámetros

width

Define el ancho de la página.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::getWidth() - Obtiene el ancho de la página

HaruPage::setTextRise
HaruPage::setWordSpace
HaruPage


Establece el espacio de la palabra para la página

HaruPage::setWidth
HaruPage::showText
HaruPage
PHP Manual

HaruPage::setWordSpace

(PECL haru >= 0.0.1)

HaruPage::setWordSpace — Establece el espacio de la palabra para la página

Descripción

bool HaruPage::setWordSpace ( float $word_space )

Establece el espacio de la palabra para la página.

Parámetros

word_space

Define el espacio de la palabra para la página.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::getWordSpace() - Obtiene el valor actual del espaciado de la palabra

HaruPage::setWidth
HaruPage::showText
HaruPage


Imprime el texto en la posición actual de la página

HaruPage::setWordSpace
HaruPage::showTextNextLine
HaruPage
PHP Manual

HaruPage::showText

(PECL haru >= 0.0.1)

HaruPage::showText — Imprime el texto en la posición actual de la página

Descripción

bool HaruPage::showText ( string $text )

Imprime el texto en la posición actual de la página.

Parámetros

text

The text to show.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::showTextNextLine() - Mueve la posición actual a el inicio de la línea siguiente y imprime el texto
  • HaruPage::textOut() - Imprime el texto en la posición especificada

HaruPage::setWordSpace
HaruPage::showTextNextLine
HaruPage


Mueve la posición actual a el inicio de la línea siguiente y imprime el texto

HaruPage::showText
HaruPage::stroke
HaruPage
PHP Manual

HaruPage::showTextNextLine

(PECL haru >= 0.0.1)

HaruPage::showTextNextLine — Mueve la posición actual a el inicio de la línea siguiente y imprime el texto

Descripción

bool HaruPage::showTextNextLine ( string $text [, float $word_space = 0 [, float $char_space = 0 ]] )

Mueve la posición actual a el inicio de la línea siguiente y imprime el texto.

Parámetros

text

El texto a mostrar.

word_space

El espacio de la palabra.

char_space

El espacio del carácter.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::showText() - Imprime el texto en la posición actual de la página
  • HaruPage::textOut() - Imprime el texto en la posición especificada

HaruPage::showText
HaruPage::stroke
HaruPage


Imprime una ruta actual

HaruPage::showTextNextLine
HaruPage::textOut
HaruPage
PHP Manual

HaruPage::stroke

(PECL haru >= 0.0.1)

HaruPage::stroke — Imprime una ruta actual

Descripción

bool HaruPage::stroke ([ bool $close_path = false ] )

Imprime una ruta actual.

Parámetros

close_path

Cierra la ruta actual si se establece a TRUE.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruPage::showTextNextLine
HaruPage::textOut
HaruPage


Imprime el texto en la posición especificada

HaruPage::stroke
HaruPage::textRect
HaruPage
PHP Manual

HaruPage::textOut

(PECL haru >= 0.0.1)

HaruPage::textOut — Imprime el texto en la posición especificada

Descripción

bool HaruPage::textOut ( float $x , float $y , string $text )

Imprime el texto en la posición especificada.

Parámetros

x

y

text

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::showTextNextLine() - Mueve la posición actual a el inicio de la línea siguiente y imprime el texto
  • HaruPage::showText() - Imprime el texto en la posición actual de la página

HaruPage::stroke
HaruPage::textRect
HaruPage


Imprime el texto dentro de la región especificada

HaruPage::textOut
HaruFont
HaruPage
PHP Manual

HaruPage::textRect

(PECL haru >= 0.0.1)

HaruPage::textRect — Imprime el texto dentro de la región especificada

Descripción

bool HaruPage::textRect ( float $left , float $top , float $right , float $bottom , string $text [, int $align = HaruPage::TALIGN_LEFT ] )

Imprime el texto dentro de la región especificada.

Parámetros

left

Borde izquierdo del área del texto.

top

Borde superior del área del texto.

right

Borde derecho del área del texto.

bottom

Borde inferior del área del texto.

text

El texto a imprimir.

align

Alineación del texto. Debe ser uno de los siguientes valores:

  • HaruPage::TALIGN_LEFT
  • HaruPage::TALIGN_RIGHT
  • HaruPage::TALIGN_CENTER
  • HaruPage::TALIGN_JUSTIFY

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

Ver también

  • HaruPage::showTextNextLine() - Mueve la posición actual a el inicio de la línea siguiente y imprime el texto
  • HaruPage::showText() - Imprime el texto en la posición actual de la página
  • HaruPage::textOut() - Imprime el texto en la posición especificada

HaruPage::textOut
HaruFont
HaruPage


La clase HaruFont

(PECL haru >= 0.0.1)

Introducción

La clase de fuente PDF de Haru.

Sinopsis de la Clase

HaruFont {
/* Métodos */
int getAscent ( void )
int getCapHeight ( void )
int getDescent ( void )
string getEncodingName ( void )
string getFontName ( void )
array getTextWidth ( string $text )
int getUnicodeWidth ( int $character )
int getXHeight ( void )
int measureText ( string $text , float $width , float $font_size , float $char_space , float $word_space [, bool $word_wrap = false ] )
}

Tabla de contenidos

  • HaruFont::getAscent — Obtiene el ascenso vertical de la fuente
  • HaruFont::getCapHeight — Obtiene la distancia de la línea de base de las letras en mayúsculas
  • HaruFont::getDescent — Obtiene el descenso vertical de la fuente
  • HaruFont::getEncodingName — Obtiene el nombre del codificador
  • HaruFont::getFontName — Obtiene el nombre de la fuente
  • HaruFont::getTextWidth — Obtiene el ancho total del texto, número de caracteres, numero de palabras y número de espacios
  • HaruFont::getUnicodeWidth — Obtiene el ancho de los caracteres en la fuente
  • HaruFont::getXHeight — Obtiene la distancia de la línea de base de las letras en minúsculas
  • HaruFont::measureText — Calcula el número de caracteres los cuales puede ser incluidos dentro de un ancho especificado
HaruPage::textRect
HaruFont::getAscent
haru


Obtiene el ascenso vertical de la fuente

HaruFont
HaruFont::getCapHeight
HaruFont
PHP Manual

HaruFont::getAscent

(PECL haru >= 0.0.1)

HaruFont::getAscent — Obtiene el ascenso vertical de la fuente

Descripción

int HaruFont::getAscent ( void )

Obtiene el ascenso vertical de la fuente.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el ascenso vertical de la fuente.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruFont
HaruFont::getCapHeight
HaruFont


Obtiene la distancia de la línea de base de las letras en mayúsculas

HaruFont::getAscent
HaruFont::getDescent
HaruFont
PHP Manual

HaruFont::getCapHeight

(PECL haru >= 0.0.1)

HaruFont::getCapHeight — Obtiene la distancia de la línea de base de las letras en mayúsculas

Descripción

int HaruFont::getCapHeight ( void )

Obtiene la distancia de la línea de base de las letras en mayúsculas.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la distancia de la línea de base de las palabras en mayúsculas.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruFont::getAscent
HaruFont::getDescent
HaruFont


Obtiene el descenso vertical de la fuente

HaruFont::getCapHeight
HaruFont::getEncodingName
HaruFont
PHP Manual

HaruFont::getDescent

(PECL haru >= 0.0.1)

HaruFont::getDescent — Obtiene el descenso vertical de la fuente

Descripción

int HaruFont::getDescent ( void )

Obtiene el descenso vertical de la fuente.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el descenso vertical de la fuente.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruFont::getCapHeight
HaruFont::getEncodingName
HaruFont


Obtiene el nombre del codificador

HaruFont::getDescent
HaruFont::getFontName
HaruFont
PHP Manual

HaruFont::getEncodingName

(PECL haru >= 0.0.1)

HaruFont::getEncodingName — Obtiene el nombre del codificador

Descripción

string HaruFont::getEncodingName ( void )

Obtiene el nombre del codificador.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el nombre del codificador.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruFont::getDescent
HaruFont::getFontName
HaruFont


Obtiene el nombre de la fuente

HaruFont::getEncodingName
HaruFont::getTextWidth
HaruFont
PHP Manual

HaruFont::getFontName

(PECL haru >= 0.0.1)

HaruFont::getFontName — Obtiene el nombre de la fuente

Descripción

string HaruFont::getFontName ( void )

Obtiene el nombre de la fuente

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el nombre de la fuente.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruFont::getEncodingName
HaruFont::getTextWidth
HaruFont


Obtiene el ancho total del texto, número de caracteres, numero de palabras y número de espacios

HaruFont::getFontName
HaruFont::getUnicodeWidth
HaruFont
PHP Manual

HaruFont::getTextWidth

(PECL haru >= 0.0.1)

HaruFont::getTextWidth — Obtiene el ancho total del texto, número de caracteres, numero de palabras y número de espacios

Descripción

array HaruFont::getTextWidth ( string $text )

Obtiene el ancho total del texto, número de caracteres, numero de palabras y número de espacios.

Parámetros

text

El texto a medir.

Valores devueltos

Devuelve el ancho total del texto, número de caracteres, numero de palabras y número de espacios en el texto dado.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruFont::getFontName
HaruFont::getUnicodeWidth
HaruFont


Obtiene el ancho de los caracteres en la fuente

HaruFont::getTextWidth
HaruFont::getXHeight
HaruFont
PHP Manual

HaruFont::getUnicodeWidth

(PECL haru >= 0.0.1)

HaruFont::getUnicodeWidth — Obtiene el ancho de los caracteres en la fuente

Descripción

int HaruFont::getUnicodeWidth ( int $character )

Obtiene el ancho de los caracteres en la fuente.

Parámetros

character

El código de los caracteres.

Valores devueltos

Devuelve el ancho de los caracteres en la fuente.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruFont::getTextWidth
HaruFont::getXHeight
HaruFont


Obtiene la distancia de la línea de base de las letras en minúsculas

HaruFont::getUnicodeWidth
HaruFont::measureText
HaruFont
PHP Manual

HaruFont::getXHeight

(PECL haru >= 0.0.1)

HaruFont::getXHeight — Obtiene la distancia de la línea de base de las letras en minúsculas

Descripción

int HaruFont::getXHeight ( void )

Obtiene la distancia de la línea de base de las letras en minúsculas.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la distancia de la línea de base de las letras en minúsculas.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruFont::getUnicodeWidth
HaruFont::measureText
HaruFont


Calcula el número de caracteres los cuales puede ser incluidos dentro de un ancho especificado

HaruFont::getXHeight
HaruImage
HaruFont
PHP Manual

HaruFont::measureText

(PECL haru >= 0.0.1)

HaruFont::measureText — Calcula el número de caracteres los cuales puede ser incluidos dentro de un ancho especificado

Descripción

int HaruFont::measureText ( string $text , float $width , float $font_size , float $char_space , float $word_space [, bool $word_wrap = false ] )

Calcula el número de caracteres los cuales puede ser incluidos dentro de un ancho especificado.

Parámetros

text

El texto a adecuarse al ancho.

width

El ancho del área a colocar el texto.

font_size

El tamaño de la fuente.

char_space

El espacio del carácter.

word_space

El espacio de las palabras.

word_wrap

Cuando éste parámetro se establece en TRUE la función “emula” la envoltura de la palabra y no incluye la parte de la palabra actual si se alcanza el final del área.

Valores devueltos

Calcula el número de caracteres los cuales puede ser incluidos dentro de un ancho especificado.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruFont::getXHeight
HaruImage
HaruFont


La clase HaruImage

(PECL haru >= 0.0.1)

Introducción

La clase para imagenes en PDF de Haru.

Sinopsis de la Clase

HaruImage {
/* Métodos */
int getBitsPerComponent ( void )
string getColorSpace ( void )
int getHeight ( void )
array getSize ( void )
int getWidth ( void )
bool setColorMask ( int $rmin , int $rmax , int $gmin , int $gmax , int $bmin , int $bmax )
bool setMaskImage ( object $mask_image )
}

Tabla de contenidos

  • HaruImage::getBitsPerComponent — Obtiene el número de bits usados para describir cada componente de color de la imagen
  • HaruImage::getColorSpace — Obtiene el nombre del espacio del color
  • HaruImage::getHeight — Obtiene la altura de la imagen
  • HaruImage::getSize — Obtiene el tamaño de la imagen
  • HaruImage::getWidth — Obtiene el ancho de la imagen
  • HaruImage::setColorMask — Establece el color de mascara de la imagen
  • HaruImage::setMaskImage — Establece la mascara de la imagen
HaruFont::measureText
HaruImage::getBitsPerComponent
haru


Obtiene el número de bits usados para describir cada componente de color de la imagen

HaruImage
HaruImage::getColorSpace
HaruImage
PHP Manual

HaruImage::getBitsPerComponent

(PECL haru >= 0.0.1)

HaruImage::getBitsPerComponent — Obtiene el número de bits usados para describir cada componente de color de la imagen

Descripción

int HaruImage::getBitsPerComponent ( void )

Obtiene el número de bits usados para describir cada componente de color de la imagen.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el número de bits usados para describir cada componente de color de la imagen.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruImage
HaruImage::getColorSpace
HaruImage


Obtiene el nombre del espacio del color

HaruImage::getBitsPerComponent
HaruImage::getHeight
HaruImage
PHP Manual

HaruImage::getColorSpace

(PECL haru >= 0.0.1)

HaruImage::getColorSpace — Obtiene el nombre del espacio del color

Descripción

string HaruImage::getColorSpace ( void )

Obtiene el nombre del espacio del color.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el nombre del espacio del color de la imagen. El nombre es uno de los siguientes valores:

  • "DeviceGray"
  • "DeviceRGB"
  • "DeviceCMYK"
  • "Indexed"

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruImage::getBitsPerComponent
HaruImage::getHeight
HaruImage


Obtiene la altura de la imagen

HaruImage::getColorSpace
HaruImage::getSize
HaruImage
PHP Manual

HaruImage::getHeight

(PECL haru >= 0.0.1)

HaruImage::getHeight — Obtiene la altura de la imagen

Descripción

int HaruImage::getHeight ( void )

Obtiene la altura de la imagen.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la altura de la imagen.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruImage::getColorSpace
HaruImage::getSize
HaruImage


Obtiene el tamaño de la imagen

HaruImage::getHeight
HaruImage::getWidth
HaruImage
PHP Manual

HaruImage::getSize

(PECL haru >= 0.0.1)

HaruImage::getSize — Obtiene el tamaño de la imagen

Descripción

array HaruImage::getSize ( void )

Obtiene el tamaño de la imagen.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un arreglo con dos elementos: ancho y alto, los cuales contienen la dimensión apropiada de la imagen.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruImage::getHeight
HaruImage::getWidth
HaruImage


Obtiene el ancho de la imagen

HaruImage::getSize
HaruImage::setColorMask
HaruImage
PHP Manual

HaruImage::getWidth

(PECL haru >= 0.0.1)

HaruImage::getWidth — Obtiene el ancho de la imagen

Descripción

int HaruImage::getWidth ( void )

Obtiene el ancho de la imagen.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el ancho de la imagen.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruImage::getSize
HaruImage::setColorMask
HaruImage


Establece el color de mascara de la imagen

HaruImage::getWidth
HaruImage::setMaskImage
HaruImage
PHP Manual

HaruImage::setColorMask

(PECL haru >= 0.0.1)

HaruImage::setColorMask — Establece el color de mascara de la imagen

Descripción

bool HaruImage::setColorMask ( int $rmin , int $rmax , int $gmin , int $gmax , int $bmin , int $bmax )

Define el color trasnparente de la imagen usando los rangos de valores RGB. El colo dentro del rango is mostrado como un color transparente. El espacio de color de la imagen debe ser RGB.

Parámetros

rmin

El mas bajo limite de rojo. Debe estar entre 0 y 255.

rmax

El mas alto limite de rojo. Debe estar entre 0 y 255.

gmin

El mas bajo limite de verde. Debe estar entre 0 y 255.

gmax

El mas alto limite de verde. Debe estar entre 0 y 255.

bmin

El mas bajo limite de azul. Debe estar entre 0 y 255.

bmax

El mas alto limite de azul. Debe estar entre 0 y 255.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruImage::getWidth
HaruImage::setMaskImage
HaruImage


Establece la mascara de la imagen

HaruImage::setColorMask
HaruEncoder
HaruImage
PHP Manual

HaruImage::setMaskImage

(PECL haru >= 0.0.1)

HaruImage::setMaskImage — Establece la mascara de la imagen

Descripción

bool HaruImage::setMaskImage ( object $mask_image )

Establece la imagen usada como mascara de la imagen. Debe de ser de 1 bit en la escala de grises del color de la imagen.

Parámetros

mask_image

Una instancia valida de HaruImage.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruImage::setColorMask
HaruEncoder
HaruImage


La clase HaruEncoder

(PECL haru >= 0.0.1)

Introducción

La clase codificadora de Haru.

Sinopsis de la Clase

HaruEncoder {
/* Métodos */
int getByteType ( string $text , int $index )
int getType ( void )
int getUnicode ( int $character )
int getWritingMode ( void )
}

Constantes predefinidas

Type | Name | Description
int | HaruEncoder::TYPE_SINGLE_BYTE |
int | HaruEncoder::TYPE_DOUBLE_BYTE |
int | HaruEncoder::TYPE_UNINITIALIZED |
int | HaruEncoder::UNKNOWN |
int | HaruEncoder::WMODE_HORIZONTAL |
int | HaruEncoder::WMODE_VERTICAL |
int | HaruEncoder::BYTE_TYPE_SINGLE |
int | HaruEncoder::BYTE_TYPE_LEAD |
int | HaruEncoder::BYTE_TYPE_TRAIL |
int | HaruEncoder::BYTE_TYPE_UNKNOWN |

Tabla de contenidos

  • HaruEncoder::getByteType — Obtiene el tipo de byte en el texto
  • HaruEncoder::getType — Obtiene el tipo del decodificador
  • HaruEncoder::getUnicode — Convierte el carácter especificado a Unicode
  • HaruEncoder::getWritingMode — Obtiene el modo de escritura del codificador
HaruImage::setMaskImage
HaruEncoder::getByteType
haru


Obtiene el tipo de byte en el texto

HaruEncoder
HaruEncoder::getType
HaruEncoder
PHP Manual

HaruEncoder::getByteType

(PECL haru >= 0.0.1)

HaruEncoder::getByteType — Obtiene el tipo de byte en el texto

Descripción

int HaruEncoder::getByteType ( string $text , int $index )

Obtiene el tipo de byte en el texto.

Parámetros

text

El texto.

index

La posición en el texto.

Valores devueltos

Obtiene el tipo de byte en el texto en la posición especificada. El resultado es uno de los siguientes valores:

  • HaruEncoder::BYTE_TYPE_SINGLE - sencillo carácter de byte.
  • HaruEncoder::BYTE_TYPE_LEAD - byte principal de un carácter de doble byte.
  • HaruEncoder::BYTE_TYPE_TRAIL - byte final de un carácter de doble byte.
  • HaruEncoder::BYTE_TYPE_UNKNOWN - codificador invalido o no puede detectar el tipo de byte.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruEncoder
HaruEncoder::getType
HaruEncoder


Obtiene el tipo del decodificador

HaruEncoder::getByteType
HaruEncoder::getUnicode
HaruEncoder
PHP Manual

HaruEncoder::getType

(PECL haru >= 0.0.1)

HaruEncoder::getType — Obtiene el tipo del decodificador

Descripción

int HaruEncoder::getType ( void )

Obtiene el tipo del decodificador.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el tipo del decodificador. El resultado es uno de los siguientes valores:

  • HaruEncoder::TYPE_SINGLE_BYTE - the encoder is for single byte characters.
  • HaruEncoder::TYPE_DOUBLE_BYTE - el codificador es para sencillos caracteres de byte.
  • HaruEncoder::TYPE_UNINITIALIZED - el codificador no está iniciado.
  • HaruEncoder::UNKNOWN - el codificador es invalido.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruEncoder::getByteType
HaruEncoder::getUnicode
HaruEncoder


Convierte el carácter especificado a Unicode

HaruEncoder::getType
HaruEncoder::getWritingMode
HaruEncoder
PHP Manual

HaruEncoder::getUnicode

(PECL haru >= 0.0.1)

HaruEncoder::getUnicode — Convierte el carácter especificado a Unicode

Descripción

int HaruEncoder::getUnicode ( int $character )

Convierte el carácter especificado a Unicode.

Parámetros

character

El código del carácter a convertir.

Valores devueltos

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruEncoder::getType
HaruEncoder::getWritingMode
HaruEncoder


Obtiene el modo de escritura del codificador

HaruEncoder::getUnicode
HaruOutline
HaruEncoder
PHP Manual

HaruEncoder::getWritingMode

(PECL haru >= 0.0.1)

HaruEncoder::getWritingMode — Obtiene el modo de escritura del codificador

Descripción

int HaruEncoder::getWritingMode ( void )

Obtiene el modo de escritura del codificador.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el modo de escritura del codificador. El valor del resultado es uno de los siguientes:

  • HaruEncoder::WMODE_HORIZONTAL - modo de escritura horizontal.
  • HaruEncoder::WMODE_VERTICAL - modo de escritura vertical.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruEncoder::getUnicode
HaruOutline
HaruEncoder


La clase HaruOutline

(PECL haru >= 0.0.1)

Introducción

La clase de esquema en PDF de Haru.

Sinopsis de la Clase

HaruOutline {
/* Métodos */
bool setDestination ( object $destination )
bool setOpened ( bool $opened )
}

Tabla de contenidos

  • HaruOutline::setDestination — Define el destino para el esquema
  • HaruOutline::setOpened — Define el estado inicial del esquema
HaruEncoder::getWritingMode
HaruOutline::setDestination
haru


Define el destino para el esquema

HaruOutline
HaruOutline::setOpened
HaruOutline
PHP Manual

HaruOutline::setDestination

(PECL haru >= 0.0.1)

HaruOutline::setDestination — Define el destino para el esquema

Descripción

bool HaruOutline::setDestination ( object $destination )

Define un objeto de destino el cual se convierte en un blanco para saltar cuando el esquema es clickeado.

Parámetros

destination

Una instancia valida de HaruDestination.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruOutline
HaruOutline::setOpened
HaruOutline


Define el estado inicial del esquema

HaruOutline::setDestination
HaruAnnotation
HaruOutline
PHP Manual

HaruOutline::setOpened

(PECL haru >= 0.0.1)

HaruOutline::setOpened — Define el estado inicial del esquema

Descripción

bool HaruOutline::setOpened ( bool $opened )

Define si éste nodo es abierto o no cuando el esquema esta mostrándose por primera vez.

Parámetros

opened

TRUE significa que está abierto, FALSE - significa que está cerrado.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruOutline::setDestination
HaruAnnotation
HaruOutline


La clase HaruAnnotation

(PECL haru >= 0.0.1)

Introducción

La Clase de Escritura en un PDF con Haru.

Sinopsis de la Clase

HaruAnnotation {
/* Métodos */
bool setBorderStyle ( float $width , int $dash_on , int $dash_off )
bool setHighlightMode ( int $mode )
bool setIcon ( int $icon )
bool setOpened ( bool $opened )
}

Constantes predefinidas

Type | Name | Description
int | HaruAnnotation::NO_HIGHLIGHT |
int | HaruAnnotation::INVERT_BOX |
int | HaruAnnotation::INVERT_BORDER |
int | HaruAnnotation::DOWN_APPEARANCE |
int | HaruAnnotation::ICON_COMMENT |
int | HaruAnnotation::ICON_KEY |
int | HaruAnnotation::ICON_NOTE |
int | HaruAnnotation::ICON_HELP |
int | HaruAnnotation::ICON_NEW_PARAGRAPH |
int | HaruAnnotation::ICON_PARAGRAPH |
int | HaruAnnotation::ICON_INSERT |

Tabla de contenidos

  • HaruAnnotation::setBorderStyle — Define el estilo de borde de la anotación
  • HaruAnnotation::setHighlightMode — Define el modo destacado de la anotación
  • HaruAnnotation::setIcon — Define el estilo del icono de la anotación
  • HaruAnnotation::setOpened — Define el estado inicial de la anotación
HaruOutline::setOpened
HaruAnnotation::setBorderStyle
haru


Define el estilo de borde de la anotación

HaruAnnotation
HaruAnnotation::setHighlightMode
HaruAnnotation
PHP Manual

HaruAnnotation::setBorderStyle

(PECL haru >= 0.0.1)

HaruAnnotation::setBorderStyle — Define el estilo de borde de la anotación

Descripción

bool HaruAnnotation::setBorderStyle ( float $width , int $dash_on , int $dash_off )

Define el estilo de borde de la anotación. Ésta función puede ser usada con enlaces de anotación solamente.

Parámetros

width

El ancho de la linea del borde.

dash_on

El guión de estilo.

dash_off

El guión de estilo.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruAnnotation
HaruAnnotation::setHighlightMode
HaruAnnotation


Define el modo destacado de la anotación

HaruAnnotation::setBorderStyle
HaruAnnotation::setIcon
HaruAnnotation
PHP Manual

HaruAnnotation::setHighlightMode

(PECL haru >= 0.0.1)

HaruAnnotation::setHighlightMode — Define el modo destacado de la anotación

Descripción

bool HaruAnnotation::setHighlightMode ( int $mode )

Define el modo destacado de la anotación cuando es clickeada. Ésta función puede ser usada con enlaces de anotación solamente.

Parámetros

mode

El modo destacado de la anotación. Solamente puede tomar estos valores:

  • HaruAnnotation::NO_HIGHLIGHT - sin destacado.
  • HaruAnnotation::INVERT_BOX - invierte los contenidos de la anotación.
  • HaruAnnotation::INVERT_BORDER - invierte el borde de la anotación.
  • HaruAnnotation::DOWN_APPEARANCE - amella la anotación.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruAnnotation::setBorderStyle
HaruAnnotation::setIcon
HaruAnnotation


Define el estilo del icono de la anotación

HaruAnnotation::setHighlightMode
HaruAnnotation::setOpened
HaruAnnotation
PHP Manual

HaruAnnotation::setIcon

(PECL haru >= 0.0.1)

HaruAnnotation::setIcon — Define el estilo del icono de la anotación

Descripción

bool HaruAnnotation::setIcon ( int $icon )

Define el estilo del icono de la anotación. Ésta función puede ser usada con textos de anotación solamente.

Parámetros

icon

El estilo del icono. Solo puede tomar estos valores:

  • HaruAnnotation::ICON_COMMENT
  • HaruAnnotation::ICON_KEY
  • HaruAnnotation::ICON_NOTE
  • HaruAnnotation::ICON_HELP
  • HaruAnnotation::ICON_NEW_PARAGRAPH
  • HaruAnnotation::ICON_PARAGRAPH
  • HaruAnnotation::ICON_INSERT

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruAnnotation::setHighlightMode
HaruAnnotation::setOpened
HaruAnnotation


Define el estado inicial de la anotación

HaruAnnotation::setIcon
HaruDestination
HaruAnnotation
PHP Manual

HaruAnnotation::setOpened

(PECL haru >= 0.0.1)

HaruAnnotation::setOpened — Define el estado inicial de la anotación

Descripción

bool HaruAnnotation::setOpened ( bool $opened )

Define si la anotación se muestra inicialmente abierta. Ésta función puede ser usada con textos de anotación solamente.

Parámetros

opened

TRUE significa que la anotación se muestra inicialmente abierta, FALSE - significa que esta cerrada.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruAnnotation::setIcon
HaruDestination
HaruAnnotation


La clase HaruDestination

(PECL haru >= 0.0.1)

Introducción

La clase de destino PDF de Haru.

Sinopsis de la Clase

HaruDestination {
/* Métodos */
bool setFit ( void )
bool setFitB ( void )
bool setFitBH ( float $top )
bool setFitBV ( float $left )
bool setFitH ( float $top )
bool setFitR ( float $left , float $bottom , float $right , float $top )
bool setFitV ( float $left )
bool setXYZ ( float $left , float $top , float $zoom )
}

Tabla de contenidos

  • HaruDestination::setFit — Define la apariencia de la página para ajustarse a la ventana
  • HaruDestination::setFitB — Define la apariencia de la página para ajustarse a la delimitación de la caja ubicada dentro de la página en la ventana
  • HaruDestination::setFitBH — Define la apariencia de la página para ajustarse al ancho de la delimitación de la caja
  • HaruDestination::setFitBV — Define la apariencia de la página para ajustarse al alto de la delimitación de la caja
  • HaruDestination::setFitH — Define la apariencia de la página para ajustarse al ancho de la ventana
  • HaruDestination::setFitR — Define la apariencia de la página para ajustarse al rectángulo especificado
  • HaruDestination::setFitV — Define la apariencia de la página para ajustarse al alto de la ventana
  • HaruDestination::setXYZ — Define la apariencia de la página
HaruAnnotation::setOpened
HaruDestination::setFit
haru


Define la apariencia de la página para ajustarse a la ventana

HaruDestination
HaruDestination::setFitB
HaruDestination
PHP Manual

HaruDestination::setFit

(PECL haru >= 0.0.1)

HaruDestination::setFit — Define la apariencia de la página para ajustarse a la ventana

Descripción

bool HaruDestination::setFit ( void )

Define la apariencia de la página para ajustarse a la ventana.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruDestination
HaruDestination::setFitB
HaruDestination


Define la apariencia de la página para ajustarse a la delimitación de la caja ubicada dentro de la página en la ventana

HaruDestination::setFit
HaruDestination::setFitBH
HaruDestination
PHP Manual

HaruDestination::setFitB

(PECL haru >= 0.0.1)

HaruDestination::setFitB — Define la apariencia de la página para ajustarse a la delimitación de la caja ubicada dentro de la página en la ventana

Descripción

bool HaruDestination::setFitB ( void )

Define la apariencia de la página para ajustarse a la delimitación de la caja ubicada dentro de la página en la ventana.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruDestination::setFit
HaruDestination::setFitBH
HaruDestination


Define la apariencia de la página para ajustarse al ancho de la delimitación de la caja

HaruDestination::setFitB
HaruDestination::setFitBV
HaruDestination
PHP Manual

HaruDestination::setFitBH

(PECL haru >= 0.0.1)

HaruDestination::setFitBH — Define la apariencia de la página para ajustarse al ancho de la delimitación de la caja

Descripción

bool HaruDestination::setFitBH ( float $top )

Define la apariencia de la página para ajustarse al ancho de la delimitación de la caja y establece la posición superior de la página para el valor de top.

Parámetros

top

Las coordenadas superiores de la página.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruDestination::setFitB
HaruDestination::setFitBV
HaruDestination


Define la apariencia de la página para ajustarse al alto de la delimitación de la caja

HaruDestination::setFitBH
HaruDestination::setFitH
HaruDestination
PHP Manual

HaruDestination::setFitBV

(PECL haru >= 0.0.1)

HaruDestination::setFitBV — Define la apariencia de la página para ajustarse al alto de la delimitación de la caja

Descripción

bool HaruDestination::setFitBV ( float $left )

Define la apariencia de la página para ajustarse al ancho de la delimitación de la caja y establece la posición izquierda de la página para el valor de left.

Parámetros

left

Las coordenadas izquierdas de la página.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruDestination::setFitBH
HaruDestination::setFitH
HaruDestination


Define la apariencia de la página para ajustarse al ancho de la ventana

HaruDestination::setFitBV
HaruDestination::setFitR
HaruDestination
PHP Manual

HaruDestination::setFitH

(PECL haru >= 0.0.1)

HaruDestination::setFitH — Define la apariencia de la página para ajustarse al ancho de la ventana

Descripción

bool HaruDestination::setFitH ( float $top )

Define la apariencia de la página para ajustarse al ancho de la ventana y establece la posición superior de la página para el valor de top.

Parámetros

top

La posición superior de la página.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruDestination::setFitBV
HaruDestination::setFitR
HaruDestination


Define la apariencia de la página para ajustarse al rectángulo especificado

HaruDestination::setFitH
HaruDestination::setFitV
HaruDestination
PHP Manual

HaruDestination::setFitR

(PECL haru >= 0.0.1)

HaruDestination::setFitR — Define la apariencia de la página para ajustarse al rectángulo especificado

Descripción

bool HaruDestination::setFitR ( float $left , float $bottom , float $right , float $top )

Define la apariencia de la página para ajustarse al rectángulo especificado por los parámetros.

Parámetros

left

Las coordenadas izquierdas de la página.

bottom

The bottom coordinates of the page.

right

Las coordenadas derechas de la página.

top

Las coordenadas superiores de la página.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruDestination::setFitH
HaruDestination::setFitV
HaruDestination


Define la apariencia de la página para ajustarse al alto de la ventana

HaruDestination::setFitR
HaruDestination::setXYZ
HaruDestination
PHP Manual

HaruDestination::setFitV

(PECL haru >= 0.0.1)

HaruDestination::setFitV — Define la apariencia de la página para ajustarse al alto de la ventana

Descripción

bool HaruDestination::setFitV ( float $left )

Define la apariencia de la página para ajustarse al alto de la ventana.

Parámetros

left

La posición izquierda de la página.

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruDestination::setFitR
HaruDestination::setXYZ
HaruDestination


Define la apariencia de la página

HaruDestination::setFitV
Ming
HaruDestination
PHP Manual

HaruDestination::setXYZ

(PECL haru >= 0.0.1)

HaruDestination::setXYZ — Define la apariencia de la página

Descripción

bool HaruDestination::setXYZ ( float $left , float $top , float $zoom )

Define la apariencia de la página usando tres parámetros: left, top and zoom.

Parámetros

left

La posición izquierda de la página.

top

La posición superior de la página.

zoom

El factor de aumento. El valor debe estar entre 0.08 (8%) y 32 (3200%).

Valores devueltos

Devuelve TRUE en éxito.

Errores/Excepciones

Lanza una HaruException cuando se produce un error.

HaruDestination::setFitV
Ming
HaruDestination


Ming (flash)

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Ejemplos de SWFAction
    • Ejemplos básicos de SWFSPrite
  • Funciones de Ming
    • ming_keypress — Devuelve la bandera de acción para keyPress(char)
    • ming_setcubicthreshold — Establecer un umbral cúbico
    • ming_setscale — Establecer el factor de escala global.
    • ming_setswfcompression — EStablece la comprensión de salida de SWF
    • ming_useconstants — Usar la agrupación de constantes
    • ming_useswfversion — Establece la versión de SWF
  • SWFAction — La clase SWFAction
    • SWFAction::__construct — Crea un nuevo SWFAction
  • SWFBitmap — La clase SWFBitmap
    • SWFBitmap::__construct — Carga un objeto de mapa de bits
    • SWFBitmap::getHeight — Devuelve el alto del mapa de bits
    • SWFBitmap::getWidth — Devuelve el ancho del mapa de bits
  • SWFButton — La clase SWFButton
    • SWFButton::addAction — Añade una acción
    • SWFButton::addASound — Asocia un sonido con una transición de botón
    • SWFButton::addShape — Añade una forma a un botón
    • SWFButton::__construct — Crea un nuevo botón
    • SWFButton::setAction — Establece la acción
    • SWFButton::setDown — Alias de addShape(shape, SWFBUTTON_DOWN)
    • SWFButton::setHit — Alias de addShape(shape, SWFBUTTON_HIT)
    • SWFButton::setMenu — Habilitar la pista como comportamiento de botón de menú
    • SWFButton::setOver — Alias de addShape(shape, SWFBUTTON_OVER)
    • SWFButton::setUp — Aliad de addShape(shape, SWFBUTTON_UP)
  • SWFDisplayItem — La clase SWFDisplayItem
    • SWFDisplayItem::addAction — Añade esta instancia de SWFAction a la instancia SWFSprite dada
    • SWFDisplayItem::addColor — Añade el color dado a esta transformación de color del elemento
    • SWFDisplayItem::endMask — Otra manera de definir una capa MASK
    • SWFDisplayItem::getRot — Descripción
    • SWFDisplayItem::getX — Descripción
    • SWFDisplayItem::getXScale — Descripción
    • SWFDisplayItem::getXSkew — Descripción
    • SWFDisplayItem::getY — Descripción
    • SWFDisplayItem::getYScale — Descripción
    • SWFDisplayItem::getYSkew — Descripción
    • SWFDisplayItem::move — Mueve el objeto en coordenadas relativas
    • SWFDisplayItem::moveTo — Mueve el objeto en coordenadas globales
    • SWFDisplayItem::multColor — Multiplica la transformación de color del objeto
    • SWFDisplayItem::remove — Elimina el objeto de la película
    • SWFDisplayItem::rotate — Rota en coordenadas relativas
    • SWFDisplayItem::rotateTo — Rota el objeto en coordenadas globales
    • SWFDisplayItem::scale — Escala el objeto en coordenadas relativas
    • SWFDisplayItem::scaleTo — Escala el objeto en coordenadas globales
    • SWFDisplayItem::setDepth — Establece el orden z
    • SWFDisplayItem::setMaskLevel — Define una capa MASK a nivel
    • SWFDisplayItem::setMatrix — Establece la matriz de transformación del elemento
    • SWFDisplayItem::setName — Establece el nombre del objeto
    • SWFDisplayItem::setRatio — Establece el ratio del objeto
    • SWFDisplayItem::skewX — Establece la oblicuidad X
    • SWFDisplayItem::skewXTo — Establece la oblicuidad X
    • SWFDisplayItem::skewY — Establece la oblicuidad Y
    • SWFDisplayItem::skewYTo — Establece la oblicuidad Y
  • SWFFill — La clase SWFFill
    • SWFFill::moveTo — Mueve el origen del relleno
    • SWFFill::rotateTo — Establece la rotación del relleno
    • SWFFill::scaleTo — Establece la escala del relleno
    • SWFFill::skewXTo — Establece la oblicuidad x
    • SWFFill::skewYTo — Establece la oblicuidad y
  • SWFFont — La clase SWFFont
    • SWFFont::__construct — Carga una definición de fuente
    • SWFFont::getAscent — Devuelve el ascenso de la fuente, o 0 si no está disponible
    • SWFFont::getDescent — Devuelve la ascendencia de la fuente, o 0 si no está disponible
    • SWFFont::getLeading — Devuelve la descendencia de la fuente, o 0 si no está disponible
    • SWFFont::getShape — Devuelve la forma de glifo de un carácter como una cadena de texto
    • SWFFont::getUTF8Width — Calcula el ancho de la cadena dada en esta fuente a altura completa
    • SWFFont::getWidth — Devuelve el ancho de la cadena
  • SWFFontChar — La clase SWFFontChar
    • SWFFontChar::addChars — Añade caracteres a una fuente para la fuente de exportación
    • SWFFontChar::addUTF8Chars — Añade caracteres a una fuente para la fuente de exportación
  • SWFGradient — La clase SWFGradient
    • SWFGradient->addEntry — Añade una entrada a la lista de gradientes
    • SWFGradient::__construct — Crea un objeto de gradiente
  • SWFMorph — La clase SWFMorph
    • SWFMorph::__construct — Crea un nuevo objeto SWFMorph
    • SWFMorph::getShape1 — Obtiene un gestor para la forma inicial
    • SWFMorph::getShape2 — Obtiene un gestor para la forma final
  • SWFMovie — La clase SWFMovie
    • SWFMovie::add — Añade cualquier tipo de información a un película
    • SWFMovie::addExport — Descripción
    • SWFMovie::addFont — Descripción
    • SWFMovie::__construct — Crea un nuevo objeto película, representando una película SWF versión 4
    • SWFMovie::importChar — Descripción
    • SWFMovie::importFont — Descripción
    • SWFMovie::labelFrame — Etiqueta un fotograma
    • SWFMovie::nextFrame — Va al siguiente fotograma de la animación
    • SWFMovie::output — Vuelca su película preparada con cariño
    • SWFMovie::remove — Elimina la instancia del objeto de la lista de muestras
    • SWFMovie::save — Guarda la película SWF en un archivo
    • SWFMovie::saveToFile — Descripción
    • SWFMovie::setbackground — Establece el color de fondo
    • SWFMovie::setDimension — Establece el ancho y alto de la película
    • SWFMovie::setFrames — Establece el número total de fotogramas de la animación
    • SWFMovie::setRate — Establece la velocidad de animación de los fotogramas
    • SWFMovie::startSound — Descripción
    • SWFMovie::stopSound — Descripción
    • SWFMovie::streamMP3 — Transfiere un archivo MP3
    • SWFMovie::writeExports — Descripción
  • SWFPrebuiltClip — La clase SWFPrebuiltClip
    • SWFPrebuiltClip::__construct — Devuelve un objeto SWFPrebuiltClip
  • SWFShape — La clase SWFShape
    • SWFShape::addFill — Añade un relleno sólido a la forma
    • SWFShape::__construct — Crea un nuevo objeto forma
    • SWFShape::drawArc — Dibuja un arco de radio r con centro en la ubicación actual, desde el ángulo startAngle hasta el ángulo endAngle medido en el sentido de las agujas del reloj desde las 12 en punto
    • SWFShape::drawCircle — Dibuja un círculo de radio r con centro en la ubicación actual, en sentido contrario al de las agujas del reloj
    • SWFShape::drawCubic — Dibuja una curva bezier cúbica usando la posición actual y los tres puntos dados como puntos de control
    • SWFShape::drawCubicTo — Dibuja una curva cúbica bezier usando la posición actual y los tres puntos dados como puntos de control
    • SWFShape::drawCurve — Dibuja una curva (relativo)
    • SWFShape::drawCurveTo — Dibuja una curva
    • SWFShape::drawGlyph — Dibuja el primer carácter de la cadena dada en la forma usando la definición de glifo de la fuente dada
    • SWFShape::drawLine — Dibuja una línea (relativo)
    • SWFShape::drawLineTo — Dibuja una línea
    • SWFShape::movePen — Mueve la pluma de la forma (relativo)
    • SWFShape::movePenTo — Mueve la pluma de la forma
    • SWFShape->setLeftFill — Establece el color de rasterización izquierdo
    • SWFShape::setLine — Establece el estilo de línea de la forma
    • SWFShape::setRightFill — Establece el color de rasterización derecho
  • SWFSound — La clase SWFSound
    • SWFSound::__construct — Devuelve un nuevo objeto SWFSound desde un archivo dado
  • SWFSoundInstance — La clase SWFSoundInstance
    • SWFSoundInstance::loopCount — Descripción
    • SWFSoundInstance::loopInPoint — Descripción
    • SWFSoundInstance::loopOutPoint — Descripción
    • SWFSoundInstance::noMultiple — Descripción
  • SWFSprite — La clase SWFSprite
    • SWFSprite::add — Añade un objeto a un sprite
    • SWFSprite::__construct — Crea un clip de película (un sprite)
    • SWFSprite::labelFrame — Etiqueta un fotograma
    • SWFSprite::nextFrame — Va al siguiente fotograma de la animación
    • SWFSprite::remove — Elimina un objeto de un sprite
    • SWFSprite::setFrames — Establece el número total de fotogramas de la animación
    • SWFSprite::startSound — Descripción
    • SWFSprite::stopSound — Descripción
  • SWFText — La clase SWFText
    • SWFText::addString — Dibuja una string
    • SWFText::addUTF8String — Escribe el texto dado en este objeto SWFText en la posición actual de la pluma, usando la fuente, alto, espaciado y color actuales
    • SWFText::__construct — Crea un nuevo objeto SWFText
    • SWFText::getAscent — Devuelve el ascenso de la fuente actual en su tamaño actual, o 0 si no está disponible
    • SWFText::getDescent — Devuelve el descenso de la fuente actual en su tamaño actual, o 0 si no está disponible
    • SWFText::getLeading — Devuelve el interlineado de la funete actual en su tamaño actual, o 0 si no está disponible
    • SWFText::getUTF8Width — Calcula el ancho de la cadena dada de la fuente y tamaño actuales de este objeto texto
    • SWFText::getWidth — Computa el ancho de una cadena
    • SWFText::moveTo — Mueve la pluma
    • SWFText::setColor — Establece el color de texto actual
    • SWFText::setFont — Establece la fuente actual
    • SWFText::setHeight — Establece el alto de fuente actual
    • SWFText::setSpacing — Establece el espaciado de fuente
  • SWFTextField — La clase SWFTextField
    • SWFTextField::addChars — Añade caracteres a una fuente que estará disponible dentro de un campo de texto
    • SWFTextField::addString — Concatena la cadena dada al campo de texto
    • SWFTextField::align — Establece la alineación del campo de texto
    • SWFTextField::__construct — Crea un objeto campo de texto
    • SWFTextField::setBounds — Establece el ancho y el alto del campo de texto
    • SWFTextField::setColor — Establece el color del campo de texto
    • SWFTextField::setFont — Establece la fuente del campo de texto
    • SWFTextField::setHeight — Establece el alto de la fuente de este campo de texto
    • SWFTextField::setIndentation — Establece la indentación de la primera línea
    • SWFTextField::setLeftMargin — Establece el ancho del margen izquierdo del campo de texto
    • SWFTextField::setLineSpacing — Establece el espaciado entre líneas de un campo de texto
    • SWFTextField::setMargins — Establece el ancho de los márgenes del campo de texto
    • SWFTextField::setName — Establece el nombre de la variable
    • SWFTextField::setPadding — Establece el relleno de este campo de texto
    • SWFTextField::setRightMargin — Establece el ancho del margen derecho del campo de texto
  • SWFVideoStream — La clase SWFVideoStream
    • SWFVideoStream::__construct — Devuelve un objeto SWFVideoStream
    • SWFVideoStream::getNumFrames — Devuelve el número de fotogramas del video
    • SWFVideoStream::setDimension — Establece las dimensiones del video
HaruDestination::setXYZ
Introducción
Salida MIME que no es texto


Introducción

Antes de nada: Ming no es un acrónimo. Ming es una biblioteca de código abierto (LGPL) que permite crear películas con formato SWF ("Flash"). Ming soporta casi todas las características de Flash 4, incluyendo: formas, gradientes, mapas de bits (png y jpeg), morphs ("formas intermedias"), texto, botones, acciones, sprites ("clips de película"), transferencia mp3, y transformaciones de color; lo único que falta son los eventos de sonido.

Observe que todos los valores que especifican longitud, distancia, tamaño, etc. están en "twips", que son veinte unidades por píxel. Sin embargo, esta medida es muy arbitraria, ya que el reproductor redimensiona la película al tamaño del píxel que se especifique en la etiqueta embed/object, o al fotograma completo si no está embebido.

Ming ofrece más ventajas que las existentes en el módulo PHP/libswf. Se puede usar Ming en cualquier lugar donde se pueda compilar código, mientras que libswf es de código cerrado y sólo está disponible para unas pocas plataformas; Windows no es una de ellas. Ming proporciona algo de aislamiento en los detalles mundanos del formato de fichero SWF, envolviendo los elementos de la película en objetos de PHP. Ming está siendo aún mantenido; si hay una caracteristica que quiera ver, háganosla saber en » http://www.libming.org/.

Ming fue añadida en PHP 4.0.5.

Advertencia

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombres de sus funciones y todo lo documentado sobre esta extensión, puede cambiar en una futura edición de PHP sin previo aviso. El uso de esta extensión queda bajo su propia responsabilidad.

Nota:

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.3.0.

Ming
Instalación/Configuración
Ming


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Ming


Requerimientos

Para usar Ming con PHP, lo primero que necesita es construir e instalar la biblioteca Ming. El código fuente y las instrucciones de instalación están disponibles en la página principal de Ming: » http://www.libming.org/ junto con ejemplos, un pequeño tutorial, y las últimas novedades.

Descargue el archivo ming. Desempaquete el archivo. Vaya al directorio de Ming. make. make install.

Estó construirá libming.so e lo instalará en /usr/lib/, y copiará ming.h a /usr/include/. Edite la línea PREFIX= de Makefile para cambiar el directorio de instalación.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/ming.

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.3.0

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

MING_NEW (integer)
MING_ZLIB (integer)
SWFBUTTON_HIT (integer)
SWFBUTTON_DOWN (integer)
SWFBUTTON_OVER (integer)
SWFBUTTON_UP (integer)
SWFBUTTON_MOUSEUPOUTSIDE (integer)
SWFBUTTON_DRAGOVER (integer)
SWFBUTTON_DRAGOUT (integer)
SWFBUTTON_MOUSEUP (integer)
SWFBUTTON_MOUSEDOWN (integer)
SWFBUTTON_MOUSEOUT (integer)
SWFBUTTON_MOUSEOVER (integer)
SWFFILL_RADIAL_GRADIENT (integer)
SWFFILL_LINEAR_GRADIENT (integer)
SWFFILL_TILED_BITMAP (integer)
SWFFILL_CLIPPED_BITMAP (integer)
SWFTEXTFIELD_HASLENGTH (integer)
SWFTEXTFIELD_NOEDIT (integer)
SWFTEXTFIELD_PASSWORD (integer)
SWFTEXTFIELD_MULTILINE (integer)
SWFTEXTFIELD_WORDWRAP (integer)
SWFTEXTFIELD_DRAWBOX (integer)
SWFTEXTFIELD_NOSELECT (integer)
SWFTEXTFIELD_HTML (integer)
SWFTEXTFIELD_ALIGN_LEFT (integer)
SWFTEXTFIELD_ALIGN_RIGHT (integer)
SWFTEXTFIELD_ALIGN_CENTER (integer)
SWFTEXTFIELD_ALIGN_JUSTIFY (integer)
SWFACTION_ONLOAD (integer)
SWFACTION_ENTERFRAME (integer)
SWFACTION_UNLOAD (integer)
SWFACTION_MOUSEMOVE (integer)
SWFACTION_MOUSEDOWN (integer)
SWFACTION_MOUSEUP (integer)
SWFACTION_KEYDOWN (integer)
SWFACTION_KEYUP (integer)
SWFACTION_DATA (integer)
Tipos de recursos
Ejemplos
Ming


Ejemplos

Tabla de contenidos

  • Ejemplos de SWFAction
  • Ejemplos básicos de SWFSPrite
Constantes predefinidas
Ejemplos de SWFAction
Ming


Ejemplos de SWFAction

Este sencillo ejemplo moverá un cuadrado rojo alrededor de la ventana.

Ejemplo #1 Ejemplo de swfaction()

<?php
  $s = new SWFShape();
  $f = $s->addFill(0xff, 0, 0);
  $s->setRightFill($f);

  $s->movePenTo(-500, -500);
  $s->drawLineTo(500, -500);
  $s->drawLineTo(500, 500);
  $s->drawLineTo(-500, 500);
  $s->drawLineTo(-500, -500);

  $p = new SWFSprite();
  $i = $p->add($s);
  $i->setDepth(1);
  $p->nextFrame();

  for ($n=0; $n<5; ++$n) {
    $i->rotate(-15);
    $p->nextFrame();
  }

  $m = new SWFMovie();
  $m->setBackground(0xff, 0xff, 0xff);
  $m->setDimension(6000, 4000);

  $i = $m->add($p);
  $i->setDepth(1);
  $i->moveTo(-500,2000);
  $i->setName("box");

  $m->add(new SWFAction("/box.x += 3;"));
  $m->nextFrame();
  $m->add(new SWFAction("gotoFrame(0); play();"));
  $m->nextFrame();

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

Este sencillo ejemplo localizará el ratoón en la pantalla.

Ejemplo #2 Ejemplo de swfaction()

<?php

  $m = new SWFMovie();
  $m->setRate(36.0);
  $m->setDimension(1200, 800);
  $m->setBackground(0, 0, 0);

  /* sprite de rastreo del ratón - vacío, pero sigue al ratón, por lo que podemos
     obtener sus coordenadas x e y */

  $i = $m->add(new SWFSprite());
  $i->setName('mouse');

  $m->add(new SWFAction("
    startDrag('/mouse', 1); /* '1' significa sprite bloquea al ratón */
  "));

  /* también se puede desactivar el antialias, ya que éstos son sólo cuadrados. */

  $m->add(new SWFAction("
    this.quality = 0;
  "));

  /* morphing box */
  $r = new SWFMorph();
  $s = $r->getShape1();

  /* Observe que esto es reverso de formas normales. Ni idea de por qué. */
  $s->setLeftFill($s->addFill(0xff, 0xff, 0xff));
  $s->movePenTo(-40, -40);
  $s->drawLine(80, 0);
  $s->drawLine(0, 80);
  $s->drawLine(-80, 0);
  $s->drawLine(0, -80);

  $s = $r->getShape2();

  $s->setLeftFill($s->addFill(0x00, 0x00, 0x00));
  $s->movePenTo(-1, -1);
  $s->drawLine(2, 0);
  $s->drawLine(0, 2);
  $s->drawLine(-2, 0);
  $s->drawLine(0, -2);

  /* contenedor de sprite para la morphing box -
     esto es sólo una línea de tiempo con el box morphing */

  $box = new SWFSprite();
  $box->add(new SWFAction("
    stop();
  "));
  $i = $box->add($r);

  for ($n=0; $n<=20; ++$n) {
    $i->setRatio($n/20);
    $box->nextFrame();
  }

  /* este sprite contenedor nos permite usar el mismo código de acción muchas veces */

  $cell = new SWFSprite();
  $i = $cell->add($box);
  $i->setName('box');

  $cell->add(new SWFAction("

    setTarget('box');

    /* ...x significa la coordenada x del padre, es decir (..).x */
    dx = (/mouse.x + random(6)-3 - ...x)/5;
    dy = (/mouse.y + random(6)-3 - ...y)/5;
    gotoFrame(int(dx*dx + dy*dy));

  "));

  $cell->nextFrame();
  $cell->add(new SWFAction("

    gotoFrame(0);
    play();

  "));

  $cell->nextFrame();

  /* finalmente, añadir un grupo de celdas a la película */

  for ($x=0; $x<12; ++$x) {
    for ($y=0; $y<8; ++$y) {
      $i = $m->add($cell);
      $i->moveTo(100*$x+50, 100*$y+50);
    }
  }

  $m->nextFrame();

  $m->add(new SWFAction("

    gotoFrame(1);
    play();

  "));

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

Como arriba, pero con bonitas bolas de colores...

Ejemplo #3 Ejemplo de swfaction()

<?php

  $m = new SWFMovie();
  $m->setDimension(11000, 8000);
  $m->setBackground(0x00, 0x00, 0x00);

  $m->add(new SWFAction("

this.quality = 0;
/frames.visible = 0;
startDrag('/mouse', 1);

  "));

  // sprite de rastreo del ratón
  $t = new SWFSprite();
  $i = $m->add($t);
  $i->setName('mouse');

  $g = new SWFGradient();
  $g->addEntry(0, 0xff, 0xff, 0xff, 0xff);
  $g->addEntry(0.1, 0xff, 0xff, 0xff, 0xff);
  $g->addEntry(0.5, 0xff, 0xff, 0xff, 0x5f);
  $g->addEntry(1.0, 0xff, 0xff, 0xff, 0);

  // forma de gradiente
  $s = new SWFShape();
  $f = $s->addFill($g, SWFFILL_RADIAL_GRADIENT);
  $f->scaleTo(0.03);
  $s->setRightFill($f);
  $s->movePenTo(-600, -600);
  $s->drawLine(1200, 0);
  $s->drawLine(0, 1200);
  $s->drawLine(-1200, 0);
  $s->drawLine(0, -1200);

  // necesitamos hacer de esto un sprite por lo que podemos usar multColor en él
  $p = new SWFSprite();
  $p->add($s);
  $p->nextFrame();

  // poner la forma aquí, cada fotograma en un color diferente
  $q = new SWFSprite();
  $q->add(new SWFAction("gotoFrame(random(7)+1); stop();"));
  $i = $q->add($p);

  $i->multColor(1.0, 1.0, 1.0);
  $q->nextFrame();
  $i->multColor(1.0, 0.5, 0.5);
  $q->nextFrame();
  $i->multColor(1.0, 0.75, 0.5);
  $q->nextFrame();
  $i->multColor(1.0, 1.0, 0.5);
  $q->nextFrame();
  $i->multColor(0.5, 1.0, 0.5);
  $q->nextFrame();
  $i->multColor(0.5, 0.5, 1.0);
  $q->nextFrame();
  $i->multColor(1.0, 0.5, 1.0);
  $q->nextFrame();

  // finalmente, este contiene el código de acción
  $p = new SWFSprite();
  $i = $p->add($q);
  $i->setName('frames');
  $p->add(new SWFAction("

dx = (/:mousex-/:lastx)/3 + random(10)-5;
dy = (/:mousey-/:lasty)/3;
x = /:mousex;
y = /:mousey;
alpha = 100;

  "));
  $p->nextFrame();

  $p->add(new SWFAction("

this.x = x;
this.y = y;
this.alpha = alpha;
x += dx;
y += dy;
dy += 3;
alpha -= 8;

  "));
  $p->nextFrame();

  $p->add(new SWFAction("prevFrame(); play();"));
  $p->nextFrame();

  $i = $m->add($p);
  $i->setName('frames');
  $m->nextFrame();

  $m->add(new SWFAction("

lastx = mousex;
lasty = mousey;
mousex = /mouse.x;
mousey = /mouse.y;

++num;

if (num == 11)
  num = 1;

removeClip('char' & num);
duplicateClip(/frames, 'char' & num, num);

  "));

  $m->nextFrame();
  $m->add(new SWFAction("prevFrame(); play();"));

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

Ejemplos
Ejemplos básicos de SWFSPrite
Ejemplos


Ejemplos básicos de SWFSPrite

Este sencillo ejemplo hará girar con gracia un gran cuadrado rojo.

Ejemplo #1 Ejemplo de swfsprite()

<?php
$s = new SWFShape();
$s->setRightFill($s->addFill(0xff, 0, 0));
$s->movePenTo(-500, -500);
$s->drawLineTo(500, -500);
$s->drawLineTo(500, 500);
$s->drawLineTo(-500, 500);
$s->drawLineTo(-500, -500);

$p = new SWFSprite();
$i = $p->add($s);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();

$m = new SWFMovie();
$i = $m->add($p);
$i->moveTo(1500, 1000);
$i->setName("blah");

$m->setBackground(0xff, 0xff, 0xff);
$m->setDimension(3000, 2000);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Ejemplos de SWFAction
Funciones de Ming
Ejemplos


Funciones de Ming

Tabla de contenidos

  • ming_keypress — Devuelve la bandera de acción para keyPress(char)
  • ming_setcubicthreshold — Establecer un umbral cúbico
  • ming_setscale — Establecer el factor de escala global.
  • ming_setswfcompression — EStablece la comprensión de salida de SWF
  • ming_useconstants — Usar la agrupación de constantes
  • ming_useswfversion — Establece la versión de SWF
Ejemplos básicos de SWFSPrite
ming_keypress
Ming


Devuelve la bandera de acción para keyPress(char)

Funciones de Ming
ming_setcubicthreshold
Funciones de Ming
PHP Manual

ming_keypress

(PHP 5 <= 5.3.0, PECL ming SVN)

ming_keypress — Devuelve la bandera de acción para keyPress(char)

Descripción

int ming_keypress ( string $char )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Funciones de Ming
ming_setcubicthreshold
Funciones de Ming


Establecer un umbral cúbico

ming_keypress
ming_setscale
Funciones de Ming
PHP Manual

ming_setcubicthreshold

(PHP 4 >= 4.0.5, PHP 5, PECL ming SVN)

ming_setcubicthreshold — Establecer un umbral cúbico

Descripción

void ming_setcubicthreshold ( int $threshold )

Establece el error de umbral para dibujar curvas cúbicas bezier.

Parámetros

threshold

El umbral. Menor es más exactitud, por lo tanto un tamaño de archivo más grande.

Valores devueltos

No devuelve ningún valor.

ming_keypress
ming_setscale
Funciones de Ming


Establecer el factor de escala global.

ming_setcubicthreshold
ming_setswfcompression
Funciones de Ming
PHP Manual

ming_setscale

(PHP 4 >= 4.0.5, PHP 5, PECL ming SVN)

ming_setscale — Establecer el factor de escala global.

Descripción

void ming_setscale ( float $scale )

Establece la escala de la salida SWF. Dentro del archivo SWF, las coordenadas son medidas en TWIPS, en vez de en PIXELS. Hay 20 TWIPS en 1 píxel.

Parámetros

scale

La escala a establecer.

Valores devueltos

No devuelve ningún valor.

ming_setcubicthreshold
ming_setswfcompression
Funciones de Ming


EStablece la comprensión de salida de SWF

ming_setscale
ming_useconstants
Funciones de Ming
PHP Manual

ming_setswfcompression

(PHP 5.2.1-5.3.0, PECL ming SVN)

ming_setswfcompression — EStablece la comprensión de salida de SWF

Descripción

void ming_setswfcompression ( int $level )

Establece el nivel de comprensión de salida de SWF.

Parámetros

level

El nuevo nivel de comprensión. Debería ser un valor entre 1 y 9 inclusive.

Valores devueltos

No devuelve ningún valor.

ming_setscale
ming_useconstants
Funciones de Ming


Usar la agrupación de constantes

ming_setswfcompression
ming_useswfversion
Funciones de Ming
PHP Manual

ming_useconstants

(PHP 5 <= 5.3.0, PECL ming SVN)

ming_useconstants — Usar la agrupación de constantes

Descripción

void ming_useconstants ( int $use )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

No devuelve ningún valor.

ming_setswfcompression
ming_useswfversion
Funciones de Ming


Establece la versión de SWF

ming_useconstants
SWFAction
Funciones de Ming
PHP Manual

ming_useswfversion

(PHP 4 >= 4.2.0, PHP 5 <= 5.3.0, PECL ming SVN)

ming_useswfversion — Establece la versión de SWF

Descripción

void ming_useswfversion ( int $version )

Establece la versión de SWF a usar en la película. Afecta al comportamiento de Action Script.

Parámetros

version

Versión de SWF a usar.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de ming_useswfversion()

<?php

$movie = new SWFMovie();
ming_useswfversion(4); // Flash 4

?>

ming_useconstants
SWFAction
Funciones de Ming


La clase SWFAction

(PHP 5 <= 5.3.0, PECL ming SVN)

Introducción

SWFAction.

Sinopsis de la Clase

SWFAction {
/* Métodos */
__construct ( string $script )
}

Descripción

La sintaxis de script está basada en el lenguaje C, pero con mucho extraído- la máquina de código de bytes de SWF es demasiado ingenua para hacer muchas cosas que nos gustaría. Por ejemplo, no podemos implementar llamadas a funciones sin una enorme cantidad de hackery ya que el código de bytes de salot tiene un valor de índice fuertemente codificado. No se puede introducir sus direcciones de llamada a la pila y devolver- cada función tendría que saber exactamente dónode devolver.

Entonces, ¿qué falta? El compilador reconoce los siguientes tokens:

  • break
  • for
  • continue
  • if
  • else
  • do
  • while

No existe información de tipo; todos los valores de la máquina de acciones de SWF están almacenados como cadenas. Las siguientes funciones se pueden usar en expresiones:

time()
Devuelve el número de milisegundos (?) transcurridos desde el incio de la película.
random(seed)
Devuelve un número seudo-aleatorio en el rango de semilla 0.
length(expr)
Devuelve la longitud de la expresión dada.
int(number)
Devuelve el número dado redondeado hacia abajo al entero más cercano.
concat(expr, expr)
Devuelve la concatenación de las expresiones dadas.
ord(expr)
Devuelve el código ASCII del carácter dado
chr(num)
Devuelve el caráctar del código ASCII dado
substr(string, location, length)
Devuelve la subcadena de longitud length en la ubicación location del la cadena string dada.

Además, se pueden usar los siguientes comandos:

duplicateClip(clip, name, depth)
Duplica el clip de película nominado (también conocido como sprite). El nuevo clip de película tiene el nombre de name y profundidad de depth.
removeClip(expr)
Elimina el clip de película nominado.
trace(expr)
Escribe la expresión dad la registro de rastreo. the given expression to the trace log. Dudoso ya que el plugin del navegador no hace nada con esto.
startDrag(target, lock, [left, top, right, bottom])
Empieza a dibujar el clip de película target. El argumento lock indica si bloquear el ratón (?)- use 0 (FALSE) o 1 (TRUE). Los parámetros opcionales definen un área circundante para el dibujo.
stopDrag()
Deja de arrastrar mi corazón. Y este clip de película, también.
callFrame(expr)
Llama al fotograma nominado como una función.
getURL(url, target, [method])
Carga la URL dada en el objetivo nominado. El argumento target se corresponde con los objetivos del documento HTML (como "_top" or "_blank"). El argumento opcional method puede ser POST o GET si se quieren enviar variables al servidor.
loadMovie(url, target)
Carga la URL dada en el objetivo nominado. El argumento target puede ser un nombre de fotograma (creo), o uno de los valores mágicos "_level0" (reemplaza la película actual) o "_level1" (carga la nueva película encima de la película actual).
nextFrame()
Va al siguiente fotograma.
prevFrame()
Va al último (o, mejor dicho, al previo) fotograma.
play()
Inicia la reproducción de la película.
stop()
Detiene la reproducción de la película.
toggleQuality()
Conmuta entre alta y baja calidad.
stopSounds()
Detiene la reproducción de todos los sonidos.
gotoFrame(num)
Va al fotograma número num. Los números de fotograma empiezan en 0.
gotoFrame(name)
Va al fotograma llamado name. Que lo hace muy bien, ya que yo no he añadido etiquetas de fotogramas todavía.
setTarget(expr)
Establece el contexto para la acción. O como se diga- No tengo ni idea de los que hace.
Y hay una cosa rara extra. La expresión frameLoaded(num) se puede usar en sentencias if y bucles while para verificar se el número de fotograma dado ya ha sido cargado. Bien, se supone que sí, de todos modos, nunca lo he probado y dudo seriamente que realmente funcione. En su lugar puede usar /:framesLoaded instead.

Los clips de película (ahora todos juntos- también llamados sprites) tienen propiedades. Se pueden leer todos, establecer algunos de ellos, y aquí están:

  • x
  • y
  • xScale
  • yScale
  • currentFrame - (solo lectura)
  • totalFrames - (solo lectura)
  • alpha - nivel de transparencia
  • visible - 1=on, 0=off (?)
  • width - (solo lectura)
  • height - (solo lectura)
  • rotation
  • target - (solo lectura) (???)
  • framesLoaded - (solo lectura)
  • name
  • dropTarget - (solo lectura) (???)
  • url - (solo lectura) (???)
  • highQuality - 1=high, 0=low (?)
  • focusRect - (???)
  • soundBufTime - (???)
Así, establecer la posición de un sprite es tan sencillo como /box.x = 100;. Aunque ¿por qué la barra al inicio de box? Así es como flash sigue la pista de los sprites en la película, como un sistema de archivos Unix- aquí muestra que box está en el nivel superior. Si el sprite llamado box tiene otro sprite llamado biff dentro de él, se debería establecer su position x con /box/biff.x = 100;. Al menos eso creo; corríjame si me equivoco.

Tabla de contenidos

  • SWFAction::__construct — Crea un nuevo SWFAction
ming_useswfversion
SWFAction::__construct
Ming


Crea un nuevo SWFAction

SWFAction
SWFBitmap
SWFAction
PHP Manual

SWFAction::__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFAction::__construct — Crea un nuevo SWFAction

Descripción

SWFAction::__construct ( string $script )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Crea un nuevo objeto SWFAction y compila el script dado en él.

Parámetros

script

Un trozo de código de ActionScript asociado con el SWFAction. Véase SWFAction para más detalles.

SWFAction
SWFBitmap
SWFAction


La clase SWFBitmap

(PHP 5 <= 5.3.0, PECL ming SVN)

Introducción

SWFBitmap.

Sinopsis de la Clase

SWFBitmap {
/* Métodos */
__construct ( mixed $file [, mixed $alphafile ] )
float getHeight ( void )
float getWidth ( void )
}

Tabla de contenidos

  • SWFBitmap::__construct — Carga un objeto de mapa de bits
  • SWFBitmap::getHeight — Devuelve el alto del mapa de bits
  • SWFBitmap::getWidth — Devuelve el ancho del mapa de bits
SWFAction::__construct
SWFBitmap::__construct
Ming


Carga un objeto de mapa de bits

SWFBitmap
SWFBitmap::getHeight
SWFBitmap
PHP Manual

SWFBitmap::__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFBitmap::__construct — Carga un objeto de mapa de bits

Descripción

SWFBitmap::__construct ( mixed $file [, mixed $alphafile ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Crea un nuevo objeto SWFBitmap desde el archivo dado por file.

Parámetros

Para amabos parámetros, se puede proporcionar un puntero a archivo devuelto por fopen() o la información de imagen, como cadena binaria.

file

Nota:

Sólo podemos tratar con jpegs de línea base (fotograma 0), ¡sin línea base optimizada ni jpegs de escaneo progresivo!

No se pueden importar imágenes png directamente, aunque se tiene que usar la utilidad png2dbl para hacer un archivo dbl ("define bits lossless") desde el png. La razón de esto es que no quiero una dependencia de la biblioteca png en ming- autoconf debería resolver esto, pero todavía no está configurado.

alphafile

Un archivo MSK a usar como máscara alfa para una imagen JPEG.

Ejemplos

Ejemplo #1 Importar un archivo DBL

<?php
$s = new SWFShape();
$f = $s->addFill(new SWFBitmap(file_get_contents("image.dbl")));
$s->setRightFill($f);

$s->drawLine(32, 0);
$s->drawLine(0, 32);
$s->drawLine(-32, 0);
$s->drawLine(0, -32);

$m = new SWFMovie();
$m->setDimension(32, 32);
$m->add($s);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Ejemplo #2 Usar una máscara alfa

<?php

$s = new SWFShape();

// archivo .msk generado con la utilidad "gif2mask"
$f = $s->addFill(new SWFBitmap(file_get_contents("alphafill.jpg"), file_get_contents("alphafill.msk")));
$s->setRightFill($f);

$s->drawLine(640, 0);
$s->drawLine(0, 480);
$s->drawLine(-640, 0);
$s->drawLine(0, -480);

$c = new SWFShape();
$c->setRightFill($c->addFill(0x99, 0x99, 0x99));
$c->drawLine(40, 0);
$c->drawLine(0, 40);
$c->drawLine(-40, 0);
$c->drawLine(0, -40);

$m = new SWFMovie();
$m->setDimension(640, 480);
$m->setBackground(0xcc, 0xcc, 0xcc);

// dibujar un fondo de tablero de ajedrez
for ($y=0; $y<480; $y+=40) {
  for ($x=0; $x<640; $x+=80) {
    $i = $m->add($c);
    $i->moveTo($x, $y);
  }

  $y+=40;

  for ($x=40; $x<640; $x+=80) {
    $i = $m->add($c);
    $i->moveTo($x, $y);
  }
}

$m->add($s);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFBitmap
SWFBitmap::getHeight
SWFBitmap


Devuelve el alto del mapa de bits

SWFBitmap::__construct
SWFBitmap::getWidth
SWFBitmap
PHP Manual

SWFBitmap::getHeight

(PHP 4 >= 4.0.5)

SWFBitmap::getHeight — Devuelve el alto del mapa de bits

Descripción

float SWFBitmap::getHeight ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Devuelve el alto del mapa de bits.

Valores devueltos

Devuelve el alto del mapa de bits en píxeles.

Ver también

  • SWFBitmap::getWidth() - Devuelve el ancho del mapa de bits

SWFBitmap::__construct
SWFBitmap::getWidth
SWFBitmap


Devuelve el ancho del mapa de bits

SWFBitmap::getHeight
SWFButton
SWFBitmap
PHP Manual

SWFBitmap::getWidth

(PHP 4 >= 4.0.5)

SWFBitmap::getWidth — Devuelve el ancho del mapa de bits

Descripción

float SWFBitmap::getWidth ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Devuelve el ancho del mapa de bits.

Valores devueltos

Devuelve el ancho del mapa de bits en píxeles.

Ver también

  • SWFBitmap::getHeight() - Devuelve el alto del mapa de bits

SWFBitmap::getHeight
SWFButton
SWFBitmap


La clase SWFButton

(PHP 5 <= 5.3.0, PECL ming SVN)

Introducción

SWFButton.

Sinopsis de la Clase

SWFButton {
/* Métodos */
void addAction ( SWFAction $action , int $flags )
SWFSoundInstance addASound ( SWFSound $sound , int $flags )
void addShape ( SWFShape $shape , int $flags )
__construct ( void )
void setAction ( SWFAction $action )
void setDown ( SWFShape $shape )
void setHit ( SWFShape $shape )
void setMenu ( int $flag )
void setOver ( SWFShape $shape )
void setUp ( SWFShape $shape )
}

Tabla de contenidos

  • SWFButton::addAction — Añade una acción
  • SWFButton::addASound — Asocia un sonido con una transición de botón
  • SWFButton::addShape — Añade una forma a un botón
  • SWFButton::__construct — Crea un nuevo botón
  • SWFButton::setAction — Establece la acción
  • SWFButton::setDown — Alias de addShape(shape, SWFBUTTON_DOWN)
  • SWFButton::setHit — Alias de addShape(shape, SWFBUTTON_HIT)
  • SWFButton::setMenu — Habilitar la pista como comportamiento de botón de menú
  • SWFButton::setOver — Alias de addShape(shape, SWFBUTTON_OVER)
  • SWFButton::setUp — Aliad de addShape(shape, SWFBUTTON_UP)
SWFBitmap::getWidth
SWFButton::addAction
Ming


Añade una acción

SWFButton
SWFButton::addASound
SWFButton
PHP Manual

SWFButton::addAction

(PHP 4 >= 4.0.5)

SWFButton::addAction — Añade una acción

Descripción

void SWFButton::addAction ( SWFAction $action , int $flags )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Añade la acción dada por action al botón para las condiciones dadas.

Parámetros

action

Un objeto SWFAction, devuelto por SWFAction::__construct()>.

flags

Son válidas las siguientes banderas (flags): SWFBUTTON_MOUSEOVER, SWFBUTTON_MOUSEOUT, SWFBUTTON_MOUSEUP, SWFBUTTON_MOUSEUPOUTSIDE, SWFBUTTON_MOUSEDOWN, SWFBUTTON_DRAGOUT y SWFBUTTON_DRAGOVER.

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFButton::addShape() - Añade una forma a un botón
  • SWFAction

SWFButton
SWFButton::addASound
SWFButton


Asocia un sonido con una transición de botón

SWFButton::addAction
SWFButton::addShape
SWFButton
PHP Manual

SWFButton::addASound

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFButton::addASound — Asocia un sonido con una transición de botón

Descripción

SWFSoundInstance SWFButton::addASound ( SWFSound $sound , int $flags )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

SWFButton::addAction
SWFButton::addShape
SWFButton


Añade una forma a un botón

SWFButton::addASound
SWFButton::__construct
SWFButton
PHP Manual

SWFButton::addShape

(PHP 4 >= 4.0.5)

SWFButton::addShape — Añade una forma a un botón

Descripción

void SWFButton::addShape ( SWFShape $shape , int $flags )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Añade la forma dada por shape a un botón.

Parámetros

shape

Una instancia de SWFShape

flags

Son válidas las siguientes flags: SWFBUTTON_UP, SWFBUTTON_OVER, SWFBUTTON_DOWN y SWFBUTTON_HIT.

SWFBUTTON_HIT nunca es mostrado, define la región de pulsación del botón. Esto es, todo lugar donde esté dibujado la forma es considerado una parte "tocable" del botón.

Valores devueltos

No devuelve ningún valor.

SWFButton::addASound
SWFButton::__construct
SWFButton


Crea un nuevo botón

SWFButton::addShape
SWFButton::setAction
SWFButton
PHP Manual

SWFButton::__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFButton::__construct — Crea un nuevo botón

Descripción

SWFButton::__construct ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Crea un nuevo botón.

Ejemplos

Este sencillo ejemplo mostrará las interacciones usuales con botones: rollover, rollon, mouseup, mousedown, noaction.

Ejemplo #1 Interacciones usuales con botones

<?php

$f = new SWFFont("_serif");

$p = new SWFSprite();

function label($string)
{
  global $f;

  $t = new SWFTextField();
  $t->setFont($f);
  $t->addString($string);
  $t->setHeight(200);
  $t->setBounds(3200, 200);
  return $t;
}

function addLabel($string)
{
  global $p;

  $i = $p->add(label($string));
  $p->nextFrame();
  $p->remove($i);
}

$p->add(new SWFAction("stop();"));
addLabel("NO ACTION");
addLabel("SWFBUTTON_MOUSEUP");
addLabel("SWFBUTTON_MOUSEDOWN");
addLabel("SWFBUTTON_MOUSEOVER");
addLabel("SWFBUTTON_MOUSEOUT");
addLabel("SWFBUTTON_MOUSEUPOUTSIDE");
addLabel("SWFBUTTON_DRAGOVER");
addLabel("SWFBUTTON_DRAGOUT");

function rect($r, $g, $b)
{
  $s = new SWFShape();
  $s->setRightFill($s->addFill($r, $g, $b));
  $s->drawLine(600, 0);
  $s->drawLine(0, 600);
  $s->drawLine(-600, 0);
  $s->drawLine(0, -600);

  return $s;
}

$b = new SWFButton();
$b->addShape(rect(0xff, 0, 0), SWFBUTTON_UP | SWFBUTTON_HIT);
$b->addShape(rect(0, 0xff, 0), SWFBUTTON_OVER);
$b->addShape(rect(0, 0, 0xff), SWFBUTTON_DOWN);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(1);"),
          SWFBUTTON_MOUSEUP);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(2);"),
      SWFBUTTON_MOUSEDOWN);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(3);"),
      SWFBUTTON_MOUSEOVER);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(4);"),
      SWFBUTTON_MOUSEOUT);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(5);"),
      SWFBUTTON_MOUSEUPOUTSIDE);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(6);"),
      SWFBUTTON_DRAGOVER);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(7);"),
      SWFBUTTON_DRAGOUT);

$m = new SWFMovie();
$m->setDimension(4000, 3000);

$i = $m->add($p);
$i->setName("label");
$i->moveTo(400, 1900);

$i = $m->add($b);
$i->moveTo(400, 900);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Este sencillo ejemplo habilitará para arrastrar y soltar un gran botón rojo sobre las ventanas. Sin arrastrar y soltar, solo moviendo alrededor.

Ejemplo #2 Ejemplo de arrastre

<?php

$s = new SWFShape();
$s->setRightFill($s->addFill(0xff, 0, 0));
$s->drawLine(1000,0);
$s->drawLine(0,1000);
$s->drawLine(-1000,0);
$s->drawLine(0,-1000);

$b = new SWFButton();
$b->addShape($s, SWFBUTTON_HIT | SWFBUTTON_UP | SWFBUTTON_DOWN | SWFBUTTON_OVER);

$b->addAction(new SWFAction("startDrag('/test', 0);"), // '0' means don't lock to mouse
      SWFBUTTON_MOUSEDOWN);

$b->addAction(new SWFAction("stopDrag();"),
      SWFBUTTON_MOUSEUP | SWFBUTTON_MOUSEUPOUTSIDE);

$p = new SWFSprite();
$p->add($b);
$p->nextFrame();

$m = new SWFMovie();
$i = $m->add($p);
$i->setName('test');
$i->moveTo(1000,1000);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFButton::addShape
SWFButton::setAction
SWFButton


Establece la acción

SWFButton::__construct
SWFButton::setDown
SWFButton
PHP Manual

SWFButton::setAction

(PHP 4 >= 4.0.5)

SWFButton::setAction — Establece la acción

Descripción

void SWFButton::setAction ( SWFAction $action )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Establece la acción a realizar cuando se haga clic en el botón.

Esto es un atajo para SWFButton::addAction() llamado con la bandera SWFBUTTON_MOUSEUP.

Parámetros

action

Un objeto SWFAction, devuelto por SWFAction::__construct().

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFButton::addAction() - Añade una acción
  • SWFAction

SWFButton::__construct
SWFButton::setDown
SWFButton


Alias de addShape(shape, SWFBUTTON_DOWN)

SWFButton::setAction
SWFButton::setHit
SWFButton
PHP Manual

SWFButton::setDown

(PHP 4 >= 4.0.5)

SWFButton::setDown — Alias de addShape(shape, SWFBUTTON_DOWN)

Descripción

void SWFButton::setDown ( SWFShape $shape )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfbutton::setdown() alias de addShape(shape, SWFBUTTON_DOWN).

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFButton::addShape() - Añade una forma a un botón
  • SWFAction

SWFButton::setAction
SWFButton::setHit
SWFButton


Alias de addShape(shape, SWFBUTTON_HIT)

SWFButton::setDown
SWFButton::setMenu
SWFButton
PHP Manual

SWFButton::setHit

(PHP 4 >= 4.0.5)

SWFButton::setHit — Alias de addShape(shape, SWFBUTTON_HIT)

Descripción

void SWFButton::setHit ( SWFShape $shape )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfbutton::sethit() alias de addShape(shape, SWFBUTTON_HIT).

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFButton::addShape() - Añade una forma a un botón
  • SWFAction

SWFButton::setDown
SWFButton::setMenu
SWFButton


Habilitar la pista como comportamiento de botón de menú

SWFButton::setHit
SWFButton::setOver
SWFButton
PHP Manual

SWFButton::setMenu

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFButton::setMenu — Habilitar la pista como comportamiento de botón de menú

Descripción

void SWFButton::setMenu ( int $flag )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

flag

Este parámetro se puede usar para un comportamiento ligeramente diferente de los botones. Se puede establecer a 0 (desactivado) o 1 (activado).

Valores devueltos

No devuelve ningún valor.

SWFButton::setHit
SWFButton::setOver
SWFButton


Alias de addShape(shape, SWFBUTTON_OVER)

SWFButton::setMenu
SWFButton::setUp
SWFButton
PHP Manual

SWFButton::setOver

(PHP 4 >= 4.0.5)

SWFButton::setOver — Alias de addShape(shape, SWFBUTTON_OVER)

Descripción

void SWFButton::setOver ( SWFShape $shape )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfbutton::setover() alias de addShape(shape, SWFBUTTON_OVER).

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFButton::addShape() - Añade una forma a un botón
  • SWFAction

SWFButton::setMenu
SWFButton::setUp
SWFButton


Aliad de addShape(shape, SWFBUTTON_UP)

SWFButton::setOver
SWFDisplayItem
SWFButton
PHP Manual

SWFButton::setUp

(PHP 4 >= 4.0.5)

SWFButton::setUp — Aliad de addShape(shape, SWFBUTTON_UP)

Descripción

void SWFButton::setUp ( SWFShape $shape )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfbutton::setup() alias de addShape(shape, SWFBUTTON_UP).

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFButton::addShape() - Añade una forma a un botón
  • SWFAction

SWFButton::setOver
SWFDisplayItem
SWFButton


La clase SWFDisplayItem

(PHP 5 <= 5.3.0, PECL ming SVN)

Introducción

SWFDisplayItem.

Sinopsis de la Clase

SWFDisplayItem {
/* Métodos */
void addAction ( SWFAction $action , int $flags )
void addColor ( int $red , int $green , int $blue [, int $a ] )
void endMask ( void )
float getRot ( void )
float getX ( void )
float getXScale ( void )
float getXSkew ( void )
float getY ( void )
float getYScale ( void )
float getYSkew ( void )
void move ( float $dx , float $dy )
void moveTo ( float $x , float $y )
void multColor ( float $red , float $green , float $blue [, float $a ] )
void remove ( void )
void rotate ( float $angle )
void rotateTo ( float $angle )
void scale ( float $dx , float $dy )
void scaleTo ( float $x [, float $y ] )
void setDepth ( int $depth )
void setMaskLevel ( int $level )
void setMatrix ( float $a , float $b , float $c , float $d , float $x , float $y )
void setName ( string $name )
void setRatio ( float $ratio )
void skewX ( float $ddegrees )
void skewXTo ( float $degrees )
void skewY ( float $ddegrees )
void skewYTo ( float $degrees )
}

Tabla de contenidos

  • SWFDisplayItem::addAction — Añade esta instancia de SWFAction a la instancia SWFSprite dada
  • SWFDisplayItem::addColor — Añade el color dado a esta transformación de color del elemento
  • SWFDisplayItem::endMask — Otra manera de definir una capa MASK
  • SWFDisplayItem::getRot — Descripción
  • SWFDisplayItem::getX — Descripción
  • SWFDisplayItem::getXScale — Descripción
  • SWFDisplayItem::getXSkew — Descripción
  • SWFDisplayItem::getY — Descripción
  • SWFDisplayItem::getYScale — Descripción
  • SWFDisplayItem::getYSkew — Descripción
  • SWFDisplayItem::move — Mueve el objeto en coordenadas relativas
  • SWFDisplayItem::moveTo — Mueve el objeto en coordenadas globales
  • SWFDisplayItem::multColor — Multiplica la transformación de color del objeto
  • SWFDisplayItem::remove — Elimina el objeto de la película
  • SWFDisplayItem::rotate — Rota en coordenadas relativas
  • SWFDisplayItem::rotateTo — Rota el objeto en coordenadas globales
  • SWFDisplayItem::scale — Escala el objeto en coordenadas relativas
  • SWFDisplayItem::scaleTo — Escala el objeto en coordenadas globales
  • SWFDisplayItem::setDepth — Establece el orden z
  • SWFDisplayItem::setMaskLevel — Define una capa MASK a nivel
  • SWFDisplayItem::setMatrix — Establece la matriz de transformación del elemento
  • SWFDisplayItem::setName — Establece el nombre del objeto
  • SWFDisplayItem::setRatio — Establece el ratio del objeto
  • SWFDisplayItem::skewX — Establece la oblicuidad X
  • SWFDisplayItem::skewXTo — Establece la oblicuidad X
  • SWFDisplayItem::skewY — Establece la oblicuidad Y
  • SWFDisplayItem::skewYTo — Establece la oblicuidad Y
SWFButton::setUp
SWFDisplayItem::addAction
Ming


Añade esta instancia de SWFAction a la instancia SWFSprite dada

SWFDisplayItem
SWFDisplayItem::addColor
SWFDisplayItem
PHP Manual

SWFDisplayItem::addAction

(PHP 4 >= 4.2.0)

SWFDisplayItem::addAction — Añade esta instancia de SWFAction a la instancia SWFSprite dada

Descripción

void SWFDisplayItem::addAction ( SWFAction $action , int $flags )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

action

Una instancia de SWFAction, devuelta por SWFAction::__construct().

flags

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFAction

SWFDisplayItem
SWFDisplayItem::addColor
SWFDisplayItem


Añade el color dado a esta transformación de color del elemento

SWFDisplayItem::addAction
SWFDisplayItem::endMask
SWFDisplayItem
PHP Manual

SWFDisplayItem::addColor

(PHP 4 >= 4.0.5)

SWFDisplayItem::addColor — Añade el color dado a esta transformación de color del elemento

Descripción

void SWFDisplayItem::addColor ( int $red , int $green , int $blue [, int $a ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfdisplayitem::addcolor() añade el color a esta transformación de color del elemento. El color se da en su forma RGB.

El objeto puede ser un  swfshape(), un
 swfbutton(), un  swftext() o un
 swfsprite(). Debe haber sido añadido usando
 swfmovie::add().

Valores devueltos

No devuelve ningún valor.

Valores devueltos

No devuelve ningún valor.

SWFDisplayItem::addAction
SWFDisplayItem::endMask
SWFDisplayItem


Otra manera de definir una capa MASK

SWFDisplayItem::addColor
SWFDisplayItem::getRot
SWFDisplayItem
PHP Manual

SWFDisplayItem::endMask

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::endMask — Otra manera de definir una capa MASK

Descripción

void SWFDisplayItem::endMask ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

No devuelve ningún valor.

SWFDisplayItem::addColor
SWFDisplayItem::getRot
SWFDisplayItem


SWFDisplayItem::endMask
SWFDisplayItem::getX
SWFDisplayItem
PHP Manual

SWFDisplayItem::getRot

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::getRot —

Descripción

float SWFDisplayItem::getRot ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

SWFDisplayItem::endMask
SWFDisplayItem::getX
SWFDisplayItem


SWFDisplayItem::getRot
SWFDisplayItem::getXScale
SWFDisplayItem
PHP Manual

SWFDisplayItem::getX

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::getX —

Descripción

float SWFDisplayItem::getX ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

  • SWFDisplayItem::getY() - Descripción

SWFDisplayItem::getRot
SWFDisplayItem::getXScale
SWFDisplayItem


SWFDisplayItem::getX
SWFDisplayItem::getXSkew
SWFDisplayItem
PHP Manual

SWFDisplayItem::getXScale

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::getXScale —

Descripción

float SWFDisplayItem::getXScale ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

  • SWFDisplayItem::getYScale() - Descripción

SWFDisplayItem::getX
SWFDisplayItem::getXSkew
SWFDisplayItem


SWFDisplayItem::getXScale
SWFDisplayItem::getY
SWFDisplayItem
PHP Manual

SWFDisplayItem::getXSkew

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::getXSkew —

Descripción

float SWFDisplayItem::getXSkew ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

  • SWFDisplayItem::getYSkew() - Descripción

SWFDisplayItem::getXScale
SWFDisplayItem::getY
SWFDisplayItem


SWFDisplayItem::getXSkew
SWFDisplayItem::getYScale
SWFDisplayItem
PHP Manual

SWFDisplayItem::getY

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::getY —

Descripción

float SWFDisplayItem::getY ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

  • SWFDisplayItem::getX() - Descripción

SWFDisplayItem::getXSkew
SWFDisplayItem::getYScale
SWFDisplayItem


SWFDisplayItem::getY
SWFDisplayItem::getYSkew
SWFDisplayItem
PHP Manual

SWFDisplayItem::getYScale

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::getYScale —

Descripción

float SWFDisplayItem::getYScale ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

  • SWFDisplayItem::getXScale() - Descripción

SWFDisplayItem::getY
SWFDisplayItem::getYSkew
SWFDisplayItem


SWFDisplayItem::getYScale
SWFDisplayItem::move
SWFDisplayItem
PHP Manual

SWFDisplayItem::getYSkew

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::getYSkew —

Descripción

float SWFDisplayItem::getYSkew ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

  • SWFDisplayItem::getXSkew() - Descripción

SWFDisplayItem::getYScale
SWFDisplayItem::move
SWFDisplayItem


Mueve el objeto en coordenadas relativas

SWFDisplayItem::getYSkew
SWFDisplayItem::moveTo
SWFDisplayItem
PHP Manual

SWFDisplayItem::move

(PHP 4 >= 4.0.5)

SWFDisplayItem::move — Mueve el objeto en coordenadas relativas

Descripción

void SWFDisplayItem::move ( float $dx , float $dy )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfdisplayitem::move() mueve el objeto actual por (dx,dy) desde su posición actual.

El objeto puede ser un  swfshape(), un
 swfbutton(), un  swftext() o un
 swfsprite(). Debe haber sido añadido usando
 swfmovie::add().

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFDisplayItem::moveTo() - Mueve el objeto en coordenadas globales

SWFDisplayItem::getYSkew
SWFDisplayItem::moveTo
SWFDisplayItem


Mueve el objeto en coordenadas globales

SWFDisplayItem::move
SWFDisplayItem::multColor
SWFDisplayItem
PHP Manual

SWFDisplayItem::moveTo

(PHP 4 >= 4.0.5)

SWFDisplayItem::moveTo — Mueve el objeto en coordenadas globales

Descripción

void SWFDisplayItem::moveTo ( float $x , float $y )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfdisplayitem::moveto() mueve el objeto actual a (x,y) en coordenadas globales.

El objeto puede ser un  swfshape(), un
 swfbutton(), un  swftext() o un
 swfsprite(). Debe haber sido añadido usando
 swfmovie::add().

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFDisplayItem::move() - Mueve el objeto en coordenadas relativas

SWFDisplayItem::move
SWFDisplayItem::multColor
SWFDisplayItem


Multiplica la transformación de color del objeto

SWFDisplayItem::moveTo
SWFDisplayItem::remove
SWFDisplayItem
PHP Manual

SWFDisplayItem::multColor

(PHP 4 >= 4.0.5)

SWFDisplayItem::multColor — Multiplica la transformación de color del objeto

Descripción

void SWFDisplayItem::multColor ( float $red , float $green , float $blue [, float $a ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfdisplayitem::multcolor() multiplica la transformación de color del objeto por los valores dados.

El objeto puede ser un  swfshape(), un
 swfbutton(), un  swftext() o un
 swfsprite(). Debe haber sido añadido usando
 swfmovie::add().

Parámetros

Estos parámetros son de tipo float entre 0.0 y 1.0:

red

Valor del componente rojo

green

Valor del componente verde

blue

Valor del componente azul

a

Valor del componente alfa

Valores devueltos

No devuelve ningún valor.

Ejemplos

Este sencillo ejemplo modificará la atmósfera del dibujo en Halloween (usar un dibujo apaisado o brillante).

Ejemplo #1 Ejemplo de swfdisplayitem::multcolor()

<?php

$b = new SWFBitmap(file_get_contents("backyard.jpg"));
// nota: use su propio dibujo :-)
$s = new SWFShape();
$s->setRightFill($s->addFill($b));
$s->drawLine($b->getWidth(), 0);
$s->drawLine(0, $b->getHeight());
$s->drawLine(-$b->getWidth(), 0);
$s->drawLine(0, -$b->getHeight());

$m = new SWFMovie();
$m->setDimension($b->getWidth(), $b->getHeight());

$i = $m->add($s);

for ($n=0; $n<=20; ++$n) {
  $i->multColor(1.0-$n/10, 1.0, 1.0);
  $i->addColor(0xff*$n/20, 0, 0);
  $m->nextFrame();
}

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFDisplayItem::moveTo
SWFDisplayItem::remove
SWFDisplayItem


Elimina el objeto de la película

SWFDisplayItem::multColor
SWFDisplayItem::rotate
SWFDisplayItem
PHP Manual

SWFDisplayItem::remove

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::remove — Elimina el objeto de la película

Descripción

void SWFDisplayItem::remove ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfdisplayitem::remove() elimina este objeto de la lista de visualización de la película.

El objeto puede ser un  swfshape(), un
 swfbutton(), un  swftext() o un
 swfsprite(). Debe haber sido añadido usando
 swfmovie::add().

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFMovie::add() - Añade cualquier tipo de información a un película

SWFDisplayItem::multColor
SWFDisplayItem::rotate
SWFDisplayItem


Rota en coordenadas relativas

SWFDisplayItem::remove
SWFDisplayItem::rotateTo
SWFDisplayItem
PHP Manual

SWFDisplayItem::rotate

(PHP 4 >= 4.0.5)

SWFDisplayItem::rotate — Rota en coordenadas relativas

Descripción

void SWFDisplayItem::rotate ( float $angle )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfdisplayitem::rotate() rota el objeto actual en angle grados desde su rotación actual.

El objeto puede ser un  swfshape(), un
 swfbutton(), un  swftext() o un
 swfsprite(). Debe haber sido añadido usando
 swfmovie::>add().

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFDisplayItem::rotateTo() - Rota el objeto en coordenadas globales

SWFDisplayItem::remove
SWFDisplayItem::rotateTo
SWFDisplayItem


Rota el objeto en coordenadas globales

SWFDisplayItem::rotate
SWFDisplayItem::scale
SWFDisplayItem
PHP Manual

SWFDisplayItem::rotateTo

(PHP 4 >= 4.0.5)

SWFDisplayItem::rotateTo — Rota el objeto en coordenadas globales

Descripción

void SWFDisplayItem::rotateTo ( float $angle )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfdisplayitem::rotateto() establece la rotación deel objeto actual a angle grados en coordenadas globales.

El objeto puede ser un  swfshape(), un
 swfbutton(), un  swftext() o un
 swfsprite(). Debe haber sido añadido usando
 swfmovie::add().

Valores devueltos

No devuelve ningún valor.

Ejemplos

Este ejemplo traa tres cadenas rotantes desde el fondo hacia el primer plano. Muy bonito.

Ejemplo #1 Ejemplo de swfdisplayitem::rotateto()

<?php
$thetext =  "ming!";

$f = new SWFFont("Bauhaus 93.fdb");

$m = new SWFMovie();
$m->setRate(24.0);
$m->setDimension(2400, 1600);
$m->setBackground(0xff, 0xff, 0xff);

// ¡las funciones con un enorme número de argumentos
// arbitrarios siempre es una buena idea!  ¡De verdad!

function text($r, $g, $b, $a, $rot, $x, $y, $scale, $string)
{
  global $f, $m;

  $t = new SWFText();
  $t->setFont($f);
  $t->setColor($r, $g, $b, $a);
  $t->setHeight(960);
  $t->moveTo(-($f->getWidth($string))/2, $f->getAscent()/2);
  $t->addString($string);

  // we can add properties just like a normal PHP var,
  // as long as the names aren't already used.
  // e.g., we can't set $i->scale, because that's a function

  $i = $m->add($t);
  $i->x = $x;
  $i->y = $y;
  $i->rot = $rot;
  $i->s = $scale;
  $i->rotateTo($rot);
  $i->scale($scale, $scale);

  // pero los cambios son locales a la función, por lo que tenemos que
  // devolver el objeto cambiado. un poco raro..

  return $i;
}

function step($i)
{
  $oldrot = $i->rot;
  $i->rot = 19*$i->rot/20;
  $i->x = (19*$i->x + 1200)/20;
  $i->y = (19*$i->y + 800)/20;
  $i->s = (19*$i->s + 1.0)/20;

  $i->rotateTo($i->rot);
  $i->scaleTo($i->s, $i->s);
  $i->moveTo($i->x, $i->y);

  return $i;
}

// ¿ves? seguro que se gana en legibilidad:

$i1 = text(0xff, 0x33, 0x33, 0xff, 900, 1200, 800, 0.03, $thetext);
$i2 = text(0x00, 0x33, 0xff, 0x7f, -560, 1200, 800, 0.04, $thetext);
$i3 = text(0xff, 0xff, 0xff, 0x9f, 180, 1200, 800, 0.001, $thetext);

for ($i=1; $i<=100; ++$i) {
  $i1 = step($i1);
  $i2 = step($i2);
  $i3 = step($i3);

  $m->nextFrame();
}

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Ver también

  • SWFDisplayItem::rotate() - Rota en coordenadas relativas

SWFDisplayItem::rotate
SWFDisplayItem::scale
SWFDisplayItem


Escala el objeto en coordenadas relativas

SWFDisplayItem::rotateTo
SWFDisplayItem::scaleTo
SWFDisplayItem
PHP Manual

SWFDisplayItem::scale

(PHP 4 >= 4.0.5)

SWFDisplayItem::scale — Escala el objeto en coordenadas relativas

Descripción

void SWFDisplayItem::scale ( float $dx , float $dy )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfdisplayitem::scale() escala el objeto actual por (dx,dy) desde su tamaño actual.

El objeto puede ser un  swfshape(), un
 swfbutton(), un  swftext() o un
 swfsprite(). Debe haber sido añadido usando
 swfmovie::add().

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFDisplayItem::scaleTo() - Escala el objeto en coordenadas globales

SWFDisplayItem::rotateTo
SWFDisplayItem::scaleTo
SWFDisplayItem


Escala el objeto en coordenadas globales

SWFDisplayItem::scale
SWFDisplayItem::setDepth
SWFDisplayItem
PHP Manual

SWFDisplayItem::scaleTo

(PHP 4 >= 4.0.5)

SWFDisplayItem::scaleTo — Escala el objeto en coordenadas globales

Descripción

void SWFDisplayItem::scaleTo ( float $x [, float $y ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfdisplayitem::scaleto() escala el objeto actual a (x,y) en coordenadas globales.

El objeto puede ser un  swfshape(), un
 swfbutton(), un  swftext() o un
 swfsprite(). Debe haber sido añadido usando
 swfmovie::add().

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFDisplayItem::scale() - Escala el objeto en coordenadas relativas

SWFDisplayItem::scale
SWFDisplayItem::setDepth
SWFDisplayItem


Establece el orden z

SWFDisplayItem::scaleTo
SWFDisplayItem::setMaskLevel
SWFDisplayItem
PHP Manual

SWFDisplayItem::setDepth

(PHP 4 >= 4.0.5)

SWFDisplayItem::setDepth — Establece el orden z

Descripción

void SWFDisplayItem::setDepth ( int $depth )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfdisplayitem::setdepth() establece el orden z del objeto a depth. Depth está predeterminado al orden en cuyas instancias están creadas (añadiendo una forma/texto a la película)- la nuevas están encima de las antiguas. Si dos objetos tienen la misma profundidad (depth), sólo se podrá mover el último definido.

El objeto puede ser un  swfshape(), un
 swfbutton(), un  swftext() o un
 swfsprite(). Debe haber sido añadido usando
 swfmovie::add().

Valores devueltos

No devuelve ningún valor.

SWFDisplayItem::scaleTo
SWFDisplayItem::setMaskLevel
SWFDisplayItem


Define una capa MASK a nivel

SWFDisplayItem::setDepth
SWFDisplayItem::setMatrix
SWFDisplayItem
PHP Manual

SWFDisplayItem::setMaskLevel

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::setMaskLevel — Define una capa MASK a nivel

Descripción

void SWFDisplayItem::setMaskLevel ( int $level )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

No devuelve ningún valor.

SWFDisplayItem::setDepth
SWFDisplayItem::setMatrix
SWFDisplayItem


Establece la matriz de transformación del elemento

SWFDisplayItem::setMaskLevel
SWFDisplayItem::setName
SWFDisplayItem
PHP Manual

SWFDisplayItem::setMatrix

(PHP 4 >= 4.0.5)

SWFDisplayItem::setMatrix — Establece la matriz de transformación del elemento

Descripción

void SWFDisplayItem::setMatrix ( float $a , float $b , float $c , float $d , float $x , float $y )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

No devuelve ningún valor.

SWFDisplayItem::setMaskLevel
SWFDisplayItem::setName
SWFDisplayItem


Establece el nombre del objeto

SWFDisplayItem::setMatrix
SWFDisplayItem::setRatio
SWFDisplayItem
PHP Manual

SWFDisplayItem::setName

(PHP 4 >= 4.0.5)

SWFDisplayItem::setName — Establece el nombre del objeto

Descripción

void SWFDisplayItem::setName ( string $name )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfdisplayitem::setname() establece el nombre del objeto a name, para la focalización con action script. Sólo es útil en sprites.

El objeto puede ser un  swfshape(), un
 swfbutton(), un  swftext() o un
 swfsprite(). Debe haber sido añadido usando
 swfmovie::add().

Valores devueltos

No devuelve ningún valor.

SWFDisplayItem::setMatrix
SWFDisplayItem::setRatio
SWFDisplayItem


Establece el ratio del objeto

SWFDisplayItem::setName
SWFDisplayItem::skewX
SWFDisplayItem
PHP Manual

SWFDisplayItem::setRatio

(PHP 4 >= 4.0.5)

SWFDisplayItem::setRatio — Establece el ratio del objeto

Descripción

void SWFDisplayItem::setRatio ( float $ratio )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfdisplayitem::setratio() establece el ratio del objeto a ratio. Obviamente sólo es útil para morphs.

El objeto puede ser un  swfshape(), un
 swfbutton(), un  swftext() o un
 swfsprite(). Debe haber sido añadido usando
 swfmovie::add().

Valores devueltos

No devuelve ningún valor.

Ejemplos

Este sencillo ejemplo formará tres bonitos círculos concéntricos.

Ejemplo #1 Ejemplo de swfdisplayitem::setname()

<?php

$p = new SWFMorph();

$g = new SWFGradient();
$g->addEntry(0.0, 0, 0, 0);
$g->addEntry(0.16, 0xff, 0xff, 0xff);
$g->addEntry(0.32, 0, 0, 0);
$g->addEntry(0.48, 0xff, 0xff, 0xff);
$g->addEntry(0.64, 0, 0, 0);
$g->addEntry(0.80, 0xff, 0xff, 0xff);
$g->addEntry(1.00, 0, 0, 0);

$s = $p->getShape1();
$f = $s->addFill($g, SWFFILL_RADIAL_GRADIENT);
$f->scaleTo(0.05);
$s->setLeftFill($f);
$s->movePenTo(-160, -120);
$s->drawLine(320, 0);
$s->drawLine(0, 240);
$s->drawLine(-320, 0);
$s->drawLine(0, -240);

$g = new SWFGradient();
$g->addEntry(0.0, 0, 0, 0);
$g->addEntry(0.16, 0xff, 0, 0);
$g->addEntry(0.32, 0, 0, 0);
$g->addEntry(0.48, 0, 0xff, 0);
$g->addEntry(0.64, 0, 0, 0);
$g->addEntry(0.80, 0, 0, 0xff);
$g->addEntry(1.00, 0, 0, 0);

$s = $p->getShape2();
$f = $s->addFill($g, SWFFILL_RADIAL_GRADIENT);
$f->scaleTo(0.05);
$f->skewXTo(1.0);
$s->setLeftFill($f);
$s->movePenTo(-160, -120);
$s->drawLine(320, 0);
$s->drawLine(0, 240);
$s->drawLine(-320, 0);
$s->drawLine(0, -240);

$m = new SWFMovie();
$m->setDimension(320, 240);
$i = $m->add($p);
$i->moveTo(160, 120);

for ($n=0; $n<=1.001; $n+=0.01) {
    $i->setRatio($n);
    $m->nextFrame();
}

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFDisplayItem::setName
SWFDisplayItem::skewX
SWFDisplayItem


Establece la oblicuidad X

SWFDisplayItem::setRatio
SWFDisplayItem::skewXTo
SWFDisplayItem
PHP Manual

SWFDisplayItem::skewX

(PHP 4 >= 4.0.5)

SWFDisplayItem::skewX — Establece la oblicuidad X

Descripción

void SWFDisplayItem::skewX ( float $ddegrees )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfdisplayitem::skewx() añade ddegrees a la oblicuidad x actual.

El objeto puede ser un  swfshape(), un
 swfbutton(), un  swftext() o un
 swfsprite(). Debe haber sido añadido usando
 swfmovie::add().

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFDisplayItem::skewXTo() - Establece la oblicuidad X
  • SWFDisplayItem::skewY() - Establece la oblicuidad Y
  • SWFDisplayItem::skewYTo() - Establece la oblicuidad Y

SWFDisplayItem::setRatio
SWFDisplayItem::skewXTo
SWFDisplayItem


Establece la oblicuidad X

SWFDisplayItem::skewX
SWFDisplayItem::skewY
SWFDisplayItem
PHP Manual

SWFDisplayItem::skewXTo

(PHP 4 >= 4.0.5)

SWFDisplayItem::skewXTo — Establece la oblicuidad X

Descripción

void SWFDisplayItem::skewXTo ( float $degrees )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfdisplayitem::skewxto() establece la oblicuidad x a degrees. Para degrees, 1.0 significa una inclicación de 45 grados hacia delante. Más es más hacia delante, menos es más hacia atrás.

El objeto puede ser un  swfshape(), un
 swfbutton(), un  swftext() o un
 swfsprite(). Debe haber sido añadido usando
 swfmovie::add().

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFDisplayItem::skewX() - Establece la oblicuidad X
  • SWFDisplayItem::skewY() - Establece la oblicuidad Y
  • SWFDisplayItem::skewYTo() - Establece la oblicuidad Y

SWFDisplayItem::skewX
SWFDisplayItem::skewY
SWFDisplayItem


Establece la oblicuidad Y

SWFDisplayItem::skewXTo
SWFDisplayItem::skewYTo
SWFDisplayItem
PHP Manual

SWFDisplayItem::skewY

(PHP 4 >= 4.0.5)

SWFDisplayItem::skewY — Establece la oblicuidad Y

Descripción

void SWFDisplayItem::skewY ( float $ddegrees )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfdisplayitem::skewy() añade ddegrees a la oblicuidad y actual.

El objeto puede ser un  swfshape(), un
 swfbutton(), un  swftext() o un
 swfsprite(). Debe haber sido añadido usando
 swfmovie::add().

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFDisplayItem::skewYTo() - Establece la oblicuidad Y
  • SWFDisplayItem::skewX() - Establece la oblicuidad X
  • SWFDisplayItem::skewXTo() - Establece la oblicuidad X

SWFDisplayItem::skewXTo
SWFDisplayItem::skewYTo
SWFDisplayItem


Establece la oblicuidad Y

SWFDisplayItem::skewY
SWFFill
SWFDisplayItem
PHP Manual

SWFDisplayItem::skewYTo

(PHP 4 >= 4.0.5)

SWFDisplayItem::skewYTo — Establece la oblicuidad Y

Descripción

void SWFDisplayItem::skewYTo ( float $degrees )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfdisplayitem::skewyto() establece la oblicuidad y a degrees. Para degrees, 1.0 significa una inclinación de 45 grados hacia delante. Más es más hacia delante, menos es más hacia atrás.

El objeto puede ser un  swfshape(), un
 swfbutton(), un  swftext() o un
 swfsprite(). Debe haber sido añadido usando
 swfmovie::add().

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFDisplayItem::skewY() - Establece la oblicuidad Y
  • SWFDisplayItem::skewX() - Establece la oblicuidad X
  • SWFDisplayItem::skewXTo() - Establece la oblicuidad X

SWFDisplayItem::skewY
SWFFill
SWFDisplayItem


La clase SWFFill

(PHP 5 <= 5.3.0, PECL ming SVN)

Introducción

El objeto SWFFill permite transformar (escalar, torcer, rotar) mapas de bits y rellenos de gradientes.

Los objetos swffill se crean mediante el método SWFShape::addFill().

Sinopsis de la Clase

SWFFill {
/* Métodos */
void moveTo ( float $x , float $y )
void rotateTo ( float $angle )
void scaleTo ( float $x [, float $y ] )
void skewXTo ( float $x )
void skewYTo ( float $y )
}

Tabla de contenidos

  • SWFFill::moveTo — Mueve el origen del relleno
  • SWFFill::rotateTo — Establece la rotación del relleno
  • SWFFill::scaleTo — Establece la escala del relleno
  • SWFFill::skewXTo — Establece la oblicuidad x
  • SWFFill::skewYTo — Establece la oblicuidad y
SWFDisplayItem::skewYTo
SWFFill::moveTo
Ming


Mueve el origen del relleno

SWFFill
SWFFill::rotateTo
SWFFill
PHP Manual

SWFFill::moveTo

(PHP 4 >= 4.0.5)

SWFFill::moveTo — Mueve el origen del relleno

Descripción

void SWFFill::moveTo ( float $x , float $y )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Mueve el origen del relleno a las coordenadas globales dadas.

Parámetros

x

Coordenada X

y

Coordenada Y

Valores devueltos

No devuelve ningún valor.

SWFFill
SWFFill::rotateTo
SWFFill


Establece la rotación del relleno

SWFFill::moveTo
SWFFill::scaleTo
SWFFill
PHP Manual

SWFFill::rotateTo

(PHP 4 >= 4.0.5)

SWFFill::rotateTo — Establece la rotación del relleno

Descripción

void SWFFill::rotateTo ( float $angle )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Establece la rotación del relleno al ángulo dado por angle.

Parámetros

angle

El ángulo de rotación, en grados.

Valores devueltos

No devuelve ningún valor.

SWFFill::moveTo
SWFFill::scaleTo
SWFFill


Establece la escala del relleno

SWFFill::rotateTo
SWFFill::skewXTo
SWFFill
PHP Manual

SWFFill::scaleTo

(PHP 4 >= 4.0.5)

SWFFill::scaleTo — Establece la escala del relleno

Descripción

void SWFFill::scaleTo ( float $x [, float $y ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Establece la escala del relleno a las coordenadas dadas.

Parámetros

x

Coordenada X

y

Coordenada Y

Valores devueltos

No devuelve ningún valor.

SWFFill::rotateTo
SWFFill::skewXTo
SWFFill


Establece la oblicuidad x

SWFFill::scaleTo
SWFFill::skewYTo
SWFFill
PHP Manual

SWFFill::skewXTo

(PHP 4 >= 4.0.5)

SWFFill::skewXTo — Establece la oblicuidad x

Descripción

void SWFFill::skewXTo ( float $x )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Establece la oblicuidad x x.

Parámetros

x

Cuando x es 1.0, es una inclinación de 45 grados hacia delante. Más es más hacia delante, menos es más hacia atrás.

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFFill::skewYTo() - Establece la oblicuidad y

SWFFill::scaleTo
SWFFill::skewYTo
SWFFill


Establece la oblicuidad y

SWFFill::skewXTo
SWFFont
SWFFill
PHP Manual

SWFFill::skewYTo

(PHP 4 >= 4.0.5)

SWFFill::skewYTo — Establece la oblicuidad y

Descripción

void SWFFill::skewYTo ( float $y )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Establece la oblicuidad y a y.

Parámetros

y

Cuando y es 1.0, es una inclinación de 45 grados hacia delante. Más es más hacia delante, menos es más hacia atrás.

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFFill::skewXTo() - Establece la oblicuidad x

SWFFill::skewXTo
SWFFont
SWFFill


La clase SWFFont

(PHP 5 <= 5.3.0, PECL ming SVN)

Introducción

El objeto SWFFont representa una referencia a la definición de la fuente, para nosotros con SWFText::setFont() y SWFTextField::setFont().

Sinopsis de la Clase

SWFFont {
/* Métodos */
__construct ( string $filename )
float getAscent ( void )
float getDescent ( void )
float getLeading ( void )
string getShape ( int $code )
float getUTF8Width ( string $string )
float getWidth ( string $string )
}

Tabla de contenidos

  • SWFFont::__construct — Carga una definición de fuente
  • SWFFont::getAscent — Devuelve el ascenso de la fuente, o 0 si no está disponible
  • SWFFont::getDescent — Devuelve la ascendencia de la fuente, o 0 si no está disponible
  • SWFFont::getLeading — Devuelve la descendencia de la fuente, o 0 si no está disponible
  • SWFFont::getShape — Devuelve la forma de glifo de un carácter como una cadena de texto
  • SWFFont::getUTF8Width — Calcula el ancho de la cadena dada en esta fuente a altura completa
  • SWFFont::getWidth — Devuelve el ancho de la cadena
SWFFill::skewYTo
SWFFont::__construct
Ming


Carga una definición de fuente

SWFFont
SWFFont::getAscent
SWFFont
PHP Manual

SWFFont::__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFFont::__construct — Carga una definición de fuente

Descripción

SWFFont::__construct ( string $filename )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Si filename es el nombre de un archivo FDB (es decir, termina en ".fdb"), carga la definición de fuente encontrada en dicho archivo. De otro modo, crea una referencia de fuente definida por el navegador.

FDB ("font definition block", bloque de de finición de fuente) es una envoltura muy simple para el bloque SWF DefineFont2 que contiene una descripción completa de una fuente. Se pueden crear archivos FDB desdes archivos de plantilla de SWT Generator con la utilidad makefdb incluida- busque en el directorio util del directorio principal de la distribución de ming.

Las fuentes definidas por el navegador no contienen ninguna información sobre la fuente excepto su nombre. Se asume que la definición de fuente será proporcionada por el reproductor de películas. Las fuentes fonts _serif, _sans, y _typewriter deberían estar siempre disponiblres. Por ejemplo:

<?php
$f = newSWFFont("_sans");
?>
dará la fuente sans-serif estándar, probablemente la misma que se obtuvo con <font name="sans-serif"> en HTML.

SWFFont
SWFFont::getAscent
SWFFont


Devuelve el ascenso de la fuente, o 0 si no está disponible

SWFFont::__construct
SWFFont::getDescent
SWFFont
PHP Manual

SWFFont::getAscent

(PHP 4 >= 4.0.5)

SWFFont::getAscent — Devuelve el ascenso de la fuente, o 0 si no está disponible

Descripción

float SWFFont::getAscent ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

  • SWFFont::getDescent() - Devuelve la ascendencia de la fuente, o 0 si no está disponible

SWFFont::__construct
SWFFont::getDescent
SWFFont


Devuelve la ascendencia de la fuente, o 0 si no está disponible

SWFFont::getAscent
SWFFont::getLeading
SWFFont
PHP Manual

SWFFont::getDescent

(PHP 4 >= 4.0.5)

SWFFont::getDescent — Devuelve la ascendencia de la fuente, o 0 si no está disponible

Descripción

float SWFFont::getDescent ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

  • SWFFont::getAscent() - Devuelve el ascenso de la fuente, o 0 si no está disponible

SWFFont::getAscent
SWFFont::getLeading
SWFFont


Devuelve la descendencia de la fuente, o 0 si no está disponible

SWFFont::getDescent
SWFFont::getShape
SWFFont
PHP Manual

SWFFont::getLeading

(PHP 4 >= 4.0.5)

SWFFont::getLeading — Devuelve la descendencia de la fuente, o 0 si no está disponible

Descripción

float SWFFont::getLeading ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

SWFFont::getDescent
SWFFont::getShape
SWFFont


Devuelve la forma de glifo de un carácter como una cadena de texto

SWFFont::getLeading
SWFFont::getUTF8Width
SWFFont
PHP Manual

SWFFont::getShape

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFFont::getShape — Devuelve la forma de glifo de un carácter como una cadena de texto

Descripción

string SWFFont::getShape ( int $code )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

SWFFont::getLeading
SWFFont::getUTF8Width
SWFFont


Calcula el ancho de la cadena dada en esta fuente a altura completa

SWFFont::getShape
SWFFont::getWidth
SWFFont
PHP Manual

SWFFont::getUTF8Width

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFFont::getUTF8Width — Calcula el ancho de la cadena dada en esta fuente a altura completa

Descripción

float SWFFont::getUTF8Width ( string $string )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

  • SWFFont::getWidth() - Devuelve el ancho de la cadena

SWFFont::getShape
SWFFont::getWidth
SWFFont


Devuelve el ancho de la cadena

SWFFont::getUTF8Width
SWFFontChar
SWFFont
PHP Manual

SWFFont::getWidth

(PHP 4 >= 4.0.5)

SWFFont::getWidth — Devuelve el ancho de la cadena

Descripción

float SWFFont::getWidth ( string $string )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swffont::getwidth() devuelve el ancho de la cadena string, usando la escala predeterminada de la fuente. Probablemente quiera usar la versión swftext() de este método, el cual usa la escala del objeto de texto.

Ver también

  • SWFFont::getUTF8Width() - Calcula el ancho de la cadena dada en esta fuente a altura completa

SWFFont::getUTF8Width
SWFFontChar
SWFFont


La clase SWFFontChar

(PHP 5 <= 5.3.0, PECL ming SVN)

Introducción

SWFFontChar.

Sinopsis de la Clase

SWFFontChar {
/* Métodos */
void addChars ( string $char )
void addUTF8Chars ( string $char )
}

Tabla de contenidos

  • SWFFontChar::addChars — Añade caracteres a una fuente para la fuente de exportación
  • SWFFontChar::addUTF8Chars — Añade caracteres a una fuente para la fuente de exportación
SWFFont::getWidth
SWFFontChar::addChars
Ming


Añade caracteres a una fuente para la fuente de exportación

SWFFontChar
SWFFontChar::addUTF8Chars
SWFFontChar
PHP Manual

SWFFontChar::addChars

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFFontChar::addChars — Añade caracteres a una fuente para la fuente de exportación

Descripción

void SWFFontChar::addChars ( string $char )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFFontChar::addUTF8Chars() - Añade caracteres a una fuente para la fuente de exportación

SWFFontChar
SWFFontChar::addUTF8Chars
SWFFontChar


Añade caracteres a una fuente para la fuente de exportación

SWFFontChar::addChars
SWFGradient
SWFFontChar
PHP Manual

SWFFontChar::addUTF8Chars

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFFontChar::addUTF8Chars — Añade caracteres a una fuente para la fuente de exportación

Descripción

void SWFFontChar::addUTF8Chars ( string $char )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFFontChar::addChars() - Añade caracteres a una fuente para la fuente de exportación

SWFFontChar::addChars
SWFGradient
SWFFontChar


La clase SWFGradient

(PHP 5 <= 5.3.0, PECL ming SVN)

Introducción

SWFGradient.

Sinopsis de la Clase

SWFGradient {
/* Métodos */
void addEntry ( float $ratio , int $red , int $green , int $blue [, int $alpha = 255 ] )
__construct ( void )
}

Tabla de contenidos

  • SWFGradient->addEntry — Añade una entrada a la lista de gradientes
  • SWFGradient::__construct — Crea un objeto de gradiente
SWFFontChar::addUTF8Chars
SWFGradient->addEntry
Ming


Añade una entrada a la lista de gradientes

SWFGradient
SWFGradient::__construct
SWFGradient
PHP Manual

SWFGradient->addEntry

(PHP 4 >= 4.3.0)

SWFGradient->addEntry — Añade una entrada a la lista de gradientes

Descripción

void SWFGradient::addEntry ( float $ratio , int $red , int $green , int $blue [, int $alpha = 255 ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfgradient::addentry() añade una entrada a la lista de gradientes. ratio es un número entre 0 y 1 indicando dónde aparece este color en el gradiente. Añadirás entradas en orden de ratio creciente.

red, green, blue es un color (modo RGB).

Valores devueltos

No devuelve ningún valor.

SWFGradient
SWFGradient::__construct
SWFGradient


Crea un objeto de gradiente

SWFGradient->addEntry
SWFMorph
SWFGradient
PHP Manual

SWFGradient::__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFGradient::__construct — Crea un objeto de gradiente

Descripción

SWFGradient::__construct ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfgradient() crea un nuevo objeto SWFGradient.

Después de añadir las entradas al gradiente, se puede usar el gradiente en un relleno de forma con el método swfshape::>addfill().

SWFGradient tiene los siguientes métodos: swfgradient::addentry().

Este ejemplo dibujará un gradiente grande de negro a blanco como fondo, y un disco rojizo en su centro.

Ejemplo #1 Ejemplo de swfgradient()

<?php

  $m = new SWFMovie();
  $m->setDimension(320, 240);

  $s = new SWFShape();

  // primer gradiente- de negro a blanco
  $g = new SWFGradient();
  $g->addEntry(0.0, 0, 0, 0);
  $g->addEntry(1.0, 0xff, 0xff, 0xff);

  $f = $s->addFill($g, SWFFILL_LINEAR_GRADIENT);
  $f->scaleTo(0.01);
  $f->moveTo(160, 120);
  $s->setRightFill($f);
  $s->drawLine(320, 0);
  $s->drawLine(0, 240);
  $s->drawLine(-320, 0);
  $s->drawLine(0, -240);

  $m->add($s);

  $s = new SWFShape();

  // segundo gradiente- gradiente radial de rojo a transparente
  $g = new SWFGradient();
  $g->addEntry(0.0, 0xff, 0, 0, 0xff);
  $g->addEntry(1.0, 0xff, 0, 0, 0);

  $f = $s->addFill($g, SWFFILL_RADIAL_GRADIENT);
  $f->scaleTo(0.005);
  $f->moveTo(160, 120);
  $s->setRightFill($f);
  $s->drawLine(320, 0);
  $s->drawLine(0, 240);
  $s->drawLine(-320, 0);
  $s->drawLine(0, -240);

  $m->add($s);

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

SWFGradient->addEntry
SWFMorph
SWFGradient


La clase SWFMorph

(PHP 5 <= 5.3.0, PECL ming SVN)

Introducción

Los métodos aquí son un poco raros. Tendrían más sentido si fueran newSWFMorph(shape1, shape2);, pero como las cosas son así, shape2 necesita saber que es la segunda parte de un morph. (Esto, ya que comienza a escribir su salida tan pronto como se le den los comandos de dibujo- si mantiente su propia descripción de sus formas y escribió al finalizar esto y algunas otras cosas serían mucho más fáciles.)

Sinopsis de la Clase

SWFMorph {
/* Métodos */
__construct ( void )
SWFShape getShape1 ( void )
SWFShape getShape2 ( void )
}

Tabla de contenidos

  • SWFMorph::__construct — Crea un nuevo objeto SWFMorph
  • SWFMorph::getShape1 — Obtiene un gestor para la forma inicial
  • SWFMorph::getShape2 — Obtiene un gestor para la forma final
SWFGradient::__construct
SWFMorph::__construct
Ming


Crea un nuevo objeto SWFMorph

SWFMorph
SWFMorph::getShape1
SWFMorph
PHP Manual

SWFMorph::__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMorph::__construct — Crea un nuevo objeto SWFMorph

Descripción

SWFMorph::__construct ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Crea un nuevo objeto SWFMorph.

También llamado "forma intermedia". Esta cosa le permite hacer esas cosas retorcidas pegajosas que hacen que su ordenador se asfie. Oh, ¡disfrute!

Ejemplos

Este sencillo ejemplo formará un gran cuadrado rojo dentro de un cuadrado con borde azul más pequeño.

Ejemplo #1 Ejemplo de swfmorph()

<?php
  $p = new SWFMorph();

  $s = $p->getShape1();
  $s->setLine(0, 0, 0, 0);

  /* Observe que esto es al revés de las formas normales (izquierda en lugar de derecha).
     No tengo ni idea de por qué, pero parece funcionar.. */

  $s->setLeftFill($s->addFill(0xff, 0, 0));
  $s->movePenTo(-1000,-1000);
  $s->drawLine(2000,0);
  $s->drawLine(0,2000);
  $s->drawLine(-2000,0);
  $s->drawLine(0,-2000);

  $s = $p->getShape2();
  $s->setLine(60,0,0,0);
  $s->setLeftFill($s->addFill(0, 0, 0xff));
  $s->movePenTo(0,-1000);
  $s->drawLine(1000,1000);
  $s->drawLine(-1000,1000);
  $s->drawLine(-1000,-1000);
  $s->drawLine(1000,-1000);

  $m = new SWFMovie();
  $m->setDimension(3000,2000);
  $m->setBackground(0xff, 0xff, 0xff);

  $i = $m->add($p);
  $i->moveTo(1500,1000);

  for ($r=0.0; $r<=1.0; $r+=0.1) {
    $i->setRatio($r);
    $m->nextFrame();
  }

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

SWFMorph
SWFMorph::getShape1
SWFMorph


Obtiene un gestor para la forma inicial

SWFMorph::__construct
SWFMorph::getShape2
SWFMorph
PHP Manual

SWFMorph::getShape1

(PHP 4 >= 4.0.5)

SWFMorph::getShape1 — Obtiene un gestor para la forma inicial

Descripción

SWFShape SWFMorph::getShape1 ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Obtiene la forma inicial del morph.

Valores devueltos

Devuelve un objeto SWFShape.

Ver también

  • SWFMorph::getShape2() - Obtiene un gestor para la forma final

SWFMorph::__construct
SWFMorph::getShape2
SWFMorph


Obtiene un gestor para la forma final

SWFMorph::getShape1
SWFMovie
SWFMorph
PHP Manual

SWFMorph::getShape2

(PHP 4 >= 4.0.5)

SWFMorph::getShape2 — Obtiene un gestor para la forma final

Descripción

SWFShape SWFMorph::getShape2 ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Obtiene la forma final del morph.

Valores devueltos

Devuelve un objeto SWFShape.

Ver también

  • SWFMorph::getShape1() - Obtiene un gestor para la forma inicial

SWFMorph::getShape1
SWFMovie
SWFMorph


La clase SWFMovie

(PHP 5 <= 5.3.0, PECL ming SVN)

Introducción

SWFMovie es un objeto película que representa una película SWF.

Sinopsis de la Clase

SWFMovie {
/* Métodos */
mixed add ( object $instance )
void addExport ( SWFCharacter $char , string $name )
mixed addFont ( SWFFont $font )
__construct ([ int $version ] )
SWFSprite importChar ( string $libswf , string $name )
SWFFontChar importFont ( string $libswf , string $name )
void labelFrame ( string $label )
void nextFrame ( void )
int output ([ int $compression ] )
void remove ( object $instance )
int save ( string $filename [, int $compression = -1 ] )
int saveToFile ( resource $x [, int $compression = -1 ] )
void setbackground ( int $red , int $green , int $blue )
void setDimension ( float $width , float $height )
void setFrames ( int $number )
void setRate ( float $rate )
SWFSoundInstance startSound ( SWFSound $sound )
void stopSound ( SWFSound $sound )
int streamMP3 ( mixed $mp3file [, float $skip = 0 ] )
void writeExports ( void )
}

Tabla de contenidos

  • SWFMovie::add — Añade cualquier tipo de información a un película
  • SWFMovie::addExport — Descripción
  • SWFMovie::addFont — Descripción
  • SWFMovie::__construct — Crea un nuevo objeto película, representando una película SWF versión 4
  • SWFMovie::importChar — Descripción
  • SWFMovie::importFont — Descripción
  • SWFMovie::labelFrame — Etiqueta un fotograma
  • SWFMovie::nextFrame — Va al siguiente fotograma de la animación
  • SWFMovie::output — Vuelca su película preparada con cariño
  • SWFMovie::remove — Elimina la instancia del objeto de la lista de muestras
  • SWFMovie::save — Guarda la película SWF en un archivo
  • SWFMovie::saveToFile — Descripción
  • SWFMovie::setbackground — Establece el color de fondo
  • SWFMovie::setDimension — Establece el ancho y alto de la película
  • SWFMovie::setFrames — Establece el número total de fotogramas de la animación
  • SWFMovie::setRate — Establece la velocidad de animación de los fotogramas
  • SWFMovie::startSound — Descripción
  • SWFMovie::stopSound — Descripción
  • SWFMovie::streamMP3 — Transfiere un archivo MP3
  • SWFMovie::writeExports — Descripción
SWFMorph::getShape2
SWFMovie::add
Ming


Añade cualquier tipo de información a un película

SWFMovie
SWFMovie::addExport
SWFMovie
PHP Manual

SWFMovie::add

(PHP 4 >= 4.3.3)

SWFMovie::add — Añade cualquier tipo de información a un película

Descripción

mixed SWFMovie::add ( object $instance )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Añade una instancia de un objeto SWF dada por instance a la película actual.

Parámetros

instance

Cualquier tipo de instancia de objeto, como SWFShape, SWFText, SWFFont.

Valores devueltos

Para tipos mostrables (forma, texto, botón, sprite), devuelve una instancia de SWFDisplayItem, un gestor a un objeto en una lista de muestras. Por lo tanto, se puede añadir a una película la misma forma múltiples veces y obtener gestores por serpado para cada instancia.

Ver también

  • SWFMovie::remove() - Elimina la instancia del objeto de la lista de muestras

SWFMovie
SWFMovie::addExport
SWFMovie


SWFMovie::add
SWFMovie::addFont
SWFMovie
PHP Manual

SWFMovie::addExport

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie::addExport —

Descripción

void SWFMovie::addExport ( SWFCharacter $char , string $name )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

No devuelve ningún valor.

SWFMovie::add
SWFMovie::addFont
SWFMovie


SWFMovie::addExport
SWFMovie::__construct
SWFMovie
PHP Manual

SWFMovie::addFont

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie::addFont —

Descripción

mixed SWFMovie::addFont ( SWFFont $font )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

No devuelve ningún valor.

SWFMovie::addExport
SWFMovie::__construct
SWFMovie


Crea un nuevo objeto película, representando una película SWF versión 4

SWFMovie::addFont
SWFMovie::importChar
SWFMovie
PHP Manual

SWFMovie::__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie::__construct — Crea un nuevo objeto película, representando una película SWF versión 4

Descripción

SWFMovie::__construct ([ int $version ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Crea un nuevo objeto película, representando una película SWF.

Parámetros

version

La versión SWF deseada. Por defecto es 4.

SWFMovie::addFont
SWFMovie::importChar
SWFMovie


SWFMovie::__construct
SWFMovie::importFont
SWFMovie
PHP Manual

SWFMovie::importChar

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie::importChar —

Descripción

SWFSprite SWFMovie::importChar ( string $libswf , string $name )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

  • SWFMovie::importFont() - Descripción

SWFMovie::__construct
SWFMovie::importFont
SWFMovie


SWFMovie::importChar
SWFMovie::labelFrame
SWFMovie
PHP Manual

SWFMovie::importFont

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie::importFont —

Descripción

SWFFontChar SWFMovie::importFont ( string $libswf , string $name )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

  • SWFMovie::importChar() - Descripción

SWFMovie::importChar
SWFMovie::labelFrame
SWFMovie


Etiqueta un fotograma

SWFMovie::importFont
SWFMovie::nextFrame
SWFMovie
PHP Manual

SWFMovie::labelFrame

(PHP 4 >= 4.3.3)

SWFMovie::labelFrame — Etiqueta un fotograma

Descripción

void SWFMovie::labelFrame ( string $label )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

No devuelve ningún valor.

SWFMovie::importFont
SWFMovie::nextFrame
SWFMovie


Va al siguiente fotograma de la animación

SWFMovie::labelFrame
SWFMovie::output
SWFMovie
PHP Manual

SWFMovie::nextFrame

(PHP 4 >= 4.3.3)

SWFMovie::nextFrame — Va al siguiente fotograma de la animación

Descripción

void SWFMovie::nextFrame ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Va al siguiente fotograma de la animación.

Valores devueltos

No devuelve ningún valor.

SWFMovie::labelFrame
SWFMovie::output
SWFMovie


Vuelca su película preparada con cariño

SWFMovie::nextFrame
SWFMovie::remove
SWFMovie
PHP Manual

SWFMovie::output

(PHP 4 >= 4.3.3)

SWFMovie::output — Vuelca su película preparada con cariño

Descripción

int SWFMovie::output ([ int $compression ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Vuelca el SWFMovie.

No olvide enviar el archivo de cabecera HTTP Content-Type antes de usar esta función para mostrar la película en un navegador.

Parámetros

compression

El nivel de compresión puede ser un valor entre 0 y 9, definiendo la compresión SWF similar a la compresión gzip.

Este parámetro sólo está disponible a partir de Flash MX (6).

Valores devueltos

Devuelve el número de bytes escritos o FALSE en caso de error.

Ejemplos

Ejemplo #1 Mostrar su $película en un navegador

<?php
header('Content-type: application/x-shockwave-flash');
$película->output();
?>

Ver también

  • SWFMovie::save() - Guarda la película SWF en un archivo
  • SWFMovie::saveToFile() - Descripción

SWFMovie::nextFrame
SWFMovie::remove
SWFMovie


Elimina la instancia del objeto de la lista de muestras

SWFMovie::output
SWFMovie::save
SWFMovie
PHP Manual

SWFMovie::remove

(PHP 5.2.1-5.3.0, PECL ming SVN)

SWFMovie::remove — Elimina la instancia del objeto de la lista de muestras

Descripción

void SWFMovie::remove ( object $instance )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Elimina la instancia del objeto dada por instance de la lista de muestras.

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFMovie::add() - Añade cualquier tipo de información a un película

SWFMovie::output
SWFMovie::save
SWFMovie


Guarda la película SWF en un archivo

SWFMovie::remove
SWFMovie::saveToFile
SWFMovie
PHP Manual

SWFMovie::save

(PHP 4 >= 4.3.3)

SWFMovie::save — Guarda la película SWF en un archivo

Descripción

int SWFMovie::save ( string $filename [, int $compression = -1 ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Guarda la película SWF al archivio especificado por filename.

Parámetros

filename

La ruta al documento SWF guardado.

compression

El nivel de compresión puede ser un valor entre 0 y 9, definiendo la compresión SWF similar a la compresión gzip.

Este parámetro sólo está disponible a partir de Flash MX (6).

Valores devueltos

Devuelve el número de bytes escritos o FALSE en caso de error.

Ver también

  • SWFMovie::output() - Vuelca su película preparada con cariño
  • SWFMovie::saveToFile() - Descripción

SWFMovie::remove
SWFMovie::saveToFile
SWFMovie


SWFMovie::save
SWFMovie::setbackground
SWFMovie
PHP Manual

SWFMovie::saveToFile

(PHP 4 >= 4.3.3)

SWFMovie::saveToFile —

Descripción

int SWFMovie::saveToFile ( resource $x [, int $compression = -1 ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

X

compression

El nivel de compresión puede ser un valor entre 0 y 9, definiendo la compresión SWF similar a la compresión gzip.

Este parámetro sólo está disponible a partir de Flash MX (6).

Valores devueltos

Devuelve el número de bytes escritos o FALSE en caso de error.

Ver también

  • SWFMovie::output() - Vuelca su película preparada con cariño
  • SWFMovie::save() - Guarda la película SWF en un archivo

SWFMovie::save
SWFMovie::setbackground
SWFMovie


Establece el color de fondo

SWFMovie::saveToFile
SWFMovie::setDimension
SWFMovie
PHP Manual

SWFMovie::setbackground

(PHP 4 >= 4.3.3)

SWFMovie::setbackground — Establece el color de fondo

Descripción

void SWFMovie::setbackground ( int $red , int $green , int $blue )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Establece el color de fondo.

¿Por que no hay una versión rgba? Piense sobre ello, se podría querer que el fondo HTML se viera. Hay una manera de hacerlo, pero sólo funciona en IE4. Busque en el sitio » http://www.macromedia.com/ para detalles.

Parámetros

Estos parámetros son enteros entre 0 y 255 o hexadecimale entre 0x00 y 0xFF:

red

Valor del componente rojo

green

Valor del componente verde

blue

Valor del componente azul

Valores devueltos

No devuelve ningún valor.

SWFMovie::saveToFile
SWFMovie::setDimension
SWFMovie


Establece el ancho y alto de la película

SWFMovie::setbackground
SWFMovie::setFrames
SWFMovie
PHP Manual

SWFMovie::setDimension

(PHP 4 >= 4.3.3)

SWFMovie::setDimension — Establece el ancho y alto de la película

Descripción

void SWFMovie::setDimension ( float $width , float $height )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Establece las dimensiones de la película al ancho y alto especificados por width y height respectivamente.

Parámetros

width

El ancho de la película.

height

El alto de la película.

Valores devueltos

No devuelve ningún valor.

SWFMovie::setbackground
SWFMovie::setFrames
SWFMovie


Establece el número total de fotogramas de la animación

SWFMovie::setDimension
SWFMovie::setRate
SWFMovie
PHP Manual

SWFMovie::setFrames

(PHP 4 >= 4.3.3)

SWFMovie::setFrames — Establece el número total de fotogramas de la animación

Descripción

void SWFMovie::setFrames ( int $number )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Establece el número total de fotogramas de la animación por el número dado por number.

Parámetros

number

El número de fotogramas.

Valores devueltos

No devuelve ningún valor.

SWFMovie::setDimension
SWFMovie::setRate
SWFMovie


Establece la velocidad de animación de los fotogramas

SWFMovie::setFrames
SWFMovie::startSound
SWFMovie
PHP Manual

SWFMovie::setRate

(PHP 4 >= 4.3.3)

SWFMovie::setRate — Establece la velocidad de animación de los fotogramas

Descripción

void SWFMovie::setRate ( float $rate )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Establece la velocidad de animación a la velocidad especificada por rate.

La animación disminuirá la velocidad si el reproductor no puede presentar los fotogramas lo suficientemente rápido- a menos que haya una transmisión de sonido, en cuyo caso el muestreo de fotogramas se sacrifica para evitar que el sonido salte.

Parámetros

rate

La velocidad de animación, en fotogramas por segundo.

Valores devueltos

No devuelve ningún valor.

SWFMovie::setFrames
SWFMovie::startSound
SWFMovie


SWFMovie::setRate
SWFMovie::stopSound
SWFMovie
PHP Manual

SWFMovie::startSound

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie::startSound —

Descripción

SWFSoundInstance SWFMovie::startSound ( SWFSound $sound )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

  • SWFMovie::stopSound() - Descripción

SWFMovie::setRate
SWFMovie::stopSound
SWFMovie


SWFMovie::startSound
SWFMovie::streamMP3
SWFMovie
PHP Manual

SWFMovie::stopSound

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie::stopSound —

Descripción

void SWFMovie::stopSound ( SWFSound $sound )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFMovie::startSound() - Descripción

SWFMovie::startSound
SWFMovie::streamMP3
SWFMovie


Transfiere un archivo MP3

SWFMovie::stopSound
SWFMovie::writeExports
SWFMovie
PHP Manual

SWFMovie::streamMP3

(PHP 4 >= 4.3.3)

SWFMovie::streamMP3 — Transfiere un archivo MP3

Descripción

int SWFMovie::streamMP3 ( mixed $mp3file [, float $skip = 0 ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Transfiere el archivo MP3 dado por mp3file.

Este método no es muy robusto en el manejo de singularidades (puede saltar sobre una etiqueta ID3 inicial, pero eso es lo que hay).

Observe que la película no es lo suficientemente inteligente para poner los fotogramas suficientes para que contenga el flujo mp3 completo- se tendrán que añadir (longitud de la canción * fotogramas por segundo) fotogramas para obtener el flujo completo.

Parámetros

mp3file

Puede ser un puntero a un archivo devuelto pora fopen() o la información MP3, como cadena binaria.

skip

Número de segundos a saltarse.

Valores devueltos

Devuelve el número de fotogramas.

Historial de cambios

Versión | Descripción
5.2.0 | Se añadió skip

Ejemplos

Ejemplo #1 Ejemplo de transmisión

<?php
$m = new SWFMovie();
$m->setRate(12.0);
$m->streamMp3(file_get_contents("distortobass.mp3"));
// use su propio MP3

// El archivo dura 11.85 segundos a 12.0 fps = 142 fotogramas
$m->setFrames(142);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFMovie::stopSound
SWFMovie::writeExports
SWFMovie


SWFMovie::streamMP3
SWFPrebuiltClip
SWFMovie
PHP Manual

SWFMovie::writeExports

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie::writeExports —

Descripción

void SWFMovie::writeExports ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

No devuelve ningún valor.

SWFMovie::streamMP3
SWFPrebuiltClip
SWFMovie


La clase SWFPrebuiltClip

(PHP 5.0.5-5.3.0, PECL ming SVN)

Introducción

SWFPrebuiltClip.

Sinopsis de la Clase

SWFPrebuiltClip {
/* Métodos */
__construct ( mixed $file )
}

Tabla de contenidos

  • SWFPrebuiltClip::__construct — Devuelve un objeto SWFPrebuiltClip
SWFMovie::writeExports
SWFPrebuiltClip::__construct
Ming


Devuelve un objeto SWFPrebuiltClip

SWFPrebuiltClip
SWFShape
SWFPrebuiltClip
PHP Manual

SWFPrebuiltClip::__construct

(PHP 5.0.5-5.3.0, PECL ming SVN)

SWFPrebuiltClip::__construct — Devuelve un objeto SWFPrebuiltClip

Descripción

SWFPrebuiltClip::__construct ( mixed $file )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

SWFPrebuiltClip
SWFShape
SWFPrebuiltClip


La clase SWFShape

(PHP 5 <= 5.3.0, PECL ming SVN)

Introducción

SWFShape.

Sinopsis de la Clase

SWFShape {
/* Métodos */
SWFFill addFill ( int $red , int $green , int $blue [, int $alpha = 255 ] )
__construct ( void )
void drawArc ( float $r , float $startAngle , float $endAngle )
void drawCircle ( float $r )
int drawCubic ( float $bx , float $by , float $cx , float $cy , float $dx , float $dy )
int drawCubicTo ( float $bx , float $by , float $cx , float $cy , float $dx , float $dy )
int drawCurve ( float $controldx , float $controldy , float $anchordx , float $anchordy [, float $targetdx ], float $targetdy )
int drawCurveTo ( float $controlx , float $controly , float $anchorx , float $anchory [, float $targetx ], float $targety )
void drawGlyph ( SWFFont $font , string $character [, int $size ] )
void drawLine ( float $dx , float $dy )
void drawLineTo ( float $x , float $y )
void movePen ( float $dx , float $dy )
void movePenTo ( float $x , float $y )
void setLeftFill ( SWFGradient $fill )
void setLine ( SWFShape $shape )
void setRightFill ( SWFGradient $fill )
}

Tabla de contenidos

  • SWFShape::addFill — Añade un relleno sólido a la forma
  • SWFShape::__construct — Crea un nuevo objeto forma
  • SWFShape::drawArc — Dibuja un arco de radio r con centro en la ubicación actual, desde el ángulo startAngle hasta el ángulo endAngle medido en el sentido de las agujas del reloj desde las 12 en punto
  • SWFShape::drawCircle — Dibuja un círculo de radio r con centro en la ubicación actual, en sentido contrario al de las agujas del reloj
  • SWFShape::drawCubic — Dibuja una curva bezier cúbica usando la posición actual y los tres puntos dados como puntos de control
  • SWFShape::drawCubicTo — Dibuja una curva cúbica bezier usando la posición actual y los tres puntos dados como puntos de control
  • SWFShape::drawCurve — Dibuja una curva (relativo)
  • SWFShape::drawCurveTo — Dibuja una curva
  • SWFShape::drawGlyph — Dibuja el primer carácter de la cadena dada en la forma usando la definición de glifo de la fuente dada
  • SWFShape::drawLine — Dibuja una línea (relativo)
  • SWFShape::drawLineTo — Dibuja una línea
  • SWFShape::movePen — Mueve la pluma de la forma (relativo)
  • SWFShape::movePenTo — Mueve la pluma de la forma
  • SWFShape->setLeftFill — Establece el color de rasterización izquierdo
  • SWFShape::setLine — Establece el estilo de línea de la forma
  • SWFShape::setRightFill — Establece el color de rasterización derecho
SWFPrebuiltClip::__construct
SWFShape::addFill
Ming


Añade un relleno sólido a la forma

SWFShape
SWFShape::__construct
SWFShape
PHP Manual

SWFShape::addFill

(PHP 4 >= 4.0.5)

SWFShape::addFill — Añade un relleno sólido a la forma

Descripción

SWFFill SWFShape::addFill ( int $red , int $green , int $blue [, int $alpha = 255 ] )
SWFFill addFill ( SWFBitmap $bitmap [, int $flags ] )
SWFFill addFill ( SWFGradient $gradient [, int $flags ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

SWFShape::addFill() añade un relleno sólido a la lista de formas de los estilos de relleno. SWFShape::addFill() acepta tres tipos diferentes de argumentos.

red, green, blue es un color (modo RGB).

El argumento bitmap es un objeto SWFBitmap(). El argumento flags puede ser uno de los valores siguientes: SWFFILL_CLIPPED_BITMAP, SWFFILL_TILED_BITMAP, SWFFILL_LINEAR_GRADIENT o SWFFILL_RADIAL_GRADIENT. Por omisión es SWFFILL_TILED_BITMAP para SWFBitmap y SWFFILL_LINEAR_GRADIENT para SWFGradient.

El argumento gradient es un objeto SWFGradient(). El argumento flags puede ser uno de los valores siguientes: SWFFILL_RADIAL_GRADIENT o SWFFILL_LINEAR_GRADIENT. Por omisión es SWFFILL_LINEAR_GRADIENT. Estoy seguro de esto. De verdad.

 SWFShape::addFill() devuelve un objeto  SWFFill()
para usarlo con las funciones  SWFShape::setLeftFill()
y  SWFShape->setRightFill()
descritas después.

Ejemplos

Este sencillo ejemplo dibujará un fotograma en un mapa de bits. Ah, hay otro error en el reproductor de flash- parece que no valora la segunda transformación del mapa de bits de la forma en un morph. Por si acaso, el mapa de bits debería extenderse con la forma en este ejemplo...

Ejemplo #1 Ejemplo de SWFShape::addFill()

<?php

$p = new SWFMorph();

$b = new SWFBitmap(file_get_contents("alphafill.jpg"));
// use su propio mapa de bits
$width = $b->getWidth();
$height = $b->getHeight();

$s = $p->getShape1();
$f = $s->addFill($b, SWFFILL_TILED_BITMAP);
$f->moveTo(-$width/2, -$height/4);
$f->scaleTo(1.0, 0.5);
$s->setLeftFill($f);
$s->movePenTo(-$width/2, -$height/4);
$s->drawLine($width, 0);
$s->drawLine(0, $height/2);
$s->drawLine(-$width, 0);
$s->drawLine(0, -$height/2);

$s = $p->getShape2();
$f = $s->addFill($b, SWFFILL_TILED_BITMAP);

// ¡estos dos no tienen efecto!
$f->moveTo(-$width/4, -$height/2);
$f->scaleTo(0.5, 1.0);

$s->setLeftFill($f);
$s->movePenTo(-$width/4, -$height/2);
$s->drawLine($width/2, 0);
$s->drawLine(0, $height);
$s->drawLine(-$width/2, 0);
$s->drawLine(0, -$height);

$m = new SWFMovie();
$m->setDimension($width, $height);
$i = $m->add($p);
$i->moveTo($width/2, $height/2);

for ($n=0; $n<1.001; $n+=0.03) {
    $i->setRatio($n);
    $m->nextFrame();
}

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Ver también

  • SWFShape::setLeftFill() - Establece el color de rasterización izquierdo
  • SWFShape::setRightFill() - Establece el color de rasterización derecho

SWFShape
SWFShape::__construct
SWFShape


Crea un nuevo objeto forma

SWFShape::addFill
SWFShape::drawArc
SWFShape
PHP Manual

SWFShape::__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFShape::__construct — Crea un nuevo objeto forma

Descripción

SWFShape::__construct ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Crea un nuevo objeto SWFShape.

Ejemplos

Este sencillo ejemplo dibujará un gran cuadrante elíptico rojo.

Ejemplo #1 Ejemplo de swfshape()

<?php
$s = new SWFShape();
$s->setLine(40, 0x7f, 0, 0);
$s->setRightFill($s->addFill(0xff, 0, 0));
$s->movePenTo(200, 200);
$s->drawLineTo(6200, 200);
$s->drawLineTo(6200, 4600);
$s->drawCurveTo(200, 4600, 200, 200);

$m = new SWFMovie();
$m->setDimension(6400, 4800);
$m->setRate(12.0);
$m->add($s);
$m->nextFrame();

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFShape::addFill
SWFShape::drawArc
SWFShape


Dibuja un arco de radio r con centro en la ubicación actual, desde el ángulo startAngle hasta el ángulo endAngle medido en el sentido de las agujas del reloj desde las 12 en punto

SWFShape::__construct
SWFShape::drawCircle
SWFShape
PHP Manual

SWFShape::drawArc

(PHP 4 >= 4.0.5)

SWFShape::drawArc — Dibuja un arco de radio r con centro en la ubicación actual, desde el ángulo startAngle hasta el ángulo endAngle medido en el sentido de las agujas del reloj desde las 12 en punto

Descripción

void SWFShape::drawArc ( float $r , float $startAngle , float $endAngle )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFShape::drawCircle() - Dibuja un círculo de radio r con centro en la ubicación actual, en sentido contrario al de las agujas del reloj

SWFShape::__construct
SWFShape::drawCircle
SWFShape


Dibuja un círculo de radio r con centro en la ubicación actual, en sentido contrario al de las agujas del reloj

SWFShape::drawArc
SWFShape::drawCubic
SWFShape
PHP Manual

SWFShape::drawCircle

(PHP 4 >= 4.0.5)

SWFShape::drawCircle — Dibuja un círculo de radio r con centro en la ubicación actual, en sentido contrario al de las agujas del reloj

Descripción

void SWFShape::drawCircle ( float $r )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

No devuelve ningún valor.

SWFShape::drawArc
SWFShape::drawCubic
SWFShape


Dibuja una curva bezier cúbica usando la posición actual y los tres puntos dados como puntos de control

SWFShape::drawCircle
SWFShape::drawCubicTo
SWFShape
PHP Manual

SWFShape::drawCubic

(PHP 4 >= 4.0.5)

SWFShape::drawCubic — Dibuja una curva bezier cúbica usando la posición actual y los tres puntos dados como puntos de control

Descripción

int SWFShape::drawCubic ( float $bx , float $by , float $cx , float $cy , float $dx , float $dy )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

  • SWFShape::drawCubicTo() - Dibuja una curva cúbica bezier usando la posición actual y los tres puntos dados como puntos de control

SWFShape::drawCircle
SWFShape::drawCubicTo
SWFShape


Dibuja una curva cúbica bezier usando la posición actual y los tres puntos dados como puntos de control

SWFShape::drawCubic
SWFShape::drawCurve
SWFShape
PHP Manual

SWFShape::drawCubicTo

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFShape::drawCubicTo — Dibuja una curva cúbica bezier usando la posición actual y los tres puntos dados como puntos de control

Descripción

int SWFShape::drawCubicTo ( float $bx , float $by , float $cx , float $cy , float $dx , float $dy )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

  • SWFShape::drawCubic() - Dibuja una curva bezier cúbica usando la posición actual y los tres puntos dados como puntos de control

SWFShape::drawCubic
SWFShape::drawCurve
SWFShape


Dibuja una curva (relativo)

SWFShape::drawCubicTo
SWFShape::drawCurveTo
SWFShape
PHP Manual

SWFShape::drawCurve

(PHP 4 >= 4.0.5)

SWFShape::drawCurve — Dibuja una curva (relativo)

Descripción

int SWFShape::drawCurve ( float $controldx , float $controldy , float $anchordx , float $anchordy [, float $targetdx ], float $targetdy )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfshape::drawcurve() dibuja una curva cuadrática (usando el estilo de línea actual establecido por swfshape::setline()) desde la posición actual de la pluma hasta la posición relativa (anchorx,anchory) usando el punto de control relativo (controlx,controly). Esto es, la cabeza hacia el punto de control, después gira al punto de anclaje.

Con 6 parámetro dibuja una curva bezier cúbica al punto (x+targetdx, x+targetdy) con los puntos de control (x+controldx, y+controldy) y (x+anchordx, y+anchordy).

Ver también

  • SWFShape::drawCurve()

SWFShape::drawCubicTo
SWFShape::drawCurveTo
SWFShape


Dibuja una curva

SWFShape::drawCurve
SWFShape::drawGlyph
SWFShape
PHP Manual

SWFShape::drawCurveTo

(PHP 4 >= 4.0.5)

SWFShape::drawCurveTo — Dibuja una curva

Descripción

int SWFShape::drawCurveTo ( float $controlx , float $controly , float $anchorx , float $anchory [, float $targetx ], float $targety )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfshape::drawcurveto() dibuja una curva cuadrática (usando el estilo de línea actual establecido por swfshape::setline()) desde la posición actual de la pluma hasta (anchorx,anchory) usando (controlx,controly) como punto de control. Esto es, la cabeza hacia el punto de control, después gira al punto de anclaje.

Con 6 parámetros dibuja una curva bezier cúbica al punto (targetx, targety) con los puntos de control (controlx, controly) y (anchorx, anchory).

Ver también

  • SWFShape::drawCurveTo()

SWFShape::drawCurve
SWFShape::drawGlyph
SWFShape


Dibuja el primer carácter de la cadena dada en la forma usando la definición de glifo de la fuente dada

SWFShape::drawCurveTo
SWFShape::drawLine
SWFShape
PHP Manual

SWFShape::drawGlyph

(PHP 4 >= 4.0.5)

SWFShape::drawGlyph — Dibuja el primer carácter de la cadena dada en la forma usando la definición de glifo de la fuente dada

Descripción

void SWFShape::drawGlyph ( SWFFont $font , string $character [, int $size ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

No devuelve ningún valor.

SWFShape::drawCurveTo
SWFShape::drawLine
SWFShape


Dibuja una línea (relativo)

SWFShape::drawGlyph
SWFShape::drawLineTo
SWFShape
PHP Manual

SWFShape::drawLine

(PHP 4 >= 4.0.5)

SWFShape::drawLine — Dibuja una línea (relativo)

Descripción

void SWFShape::drawLine ( float $dx , float $dy )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfshape::drawline() dibuja una línea (usando el estilo de línea actual establecido por swfshape::setline()) desde la posición actual de la pluma hasta el desplazamiento (dx,dy).

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFShape::drawLineTo() - Dibuja una línea

SWFShape::drawGlyph
SWFShape::drawLineTo
SWFShape


Dibuja una línea

SWFShape::drawLine
SWFShape::movePen
SWFShape
PHP Manual

SWFShape::drawLineTo

(PHP 4 >= 4.0.5)

SWFShape::drawLineTo — Dibuja una línea

Descripción

void SWFShape::drawLineTo ( float $x , float $y )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfshape::setrightfill() dibuja una línea (usando el estilo de línea actual, establecido por swfshape::setline()) desde la posición actual de la pluma al punto (x,y) en el espacio de coordenadas de la forma.

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFShape::drawLine() - Dibuja una línea (relativo)

SWFShape::drawLine
SWFShape::movePen
SWFShape


Mueve la pluma de la forma (relativo)

SWFShape::drawLineTo
SWFShape::movePenTo
SWFShape
PHP Manual

SWFShape::movePen

(PHP 4 >= 4.0.5)

SWFShape::movePen — Mueve la pluma de la forma (relativo)

Descripción

void SWFShape::movePen ( float $dx , float $dy )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfshape::setrightfill() mueve la pluma de las forma desde las coordenadas (x actual, y actual) a (x actual + dx, y actual + dy) en el espacio de coordenadas de la forma.

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFShape::movePenTo() - Mueve la pluma de la forma

SWFShape::drawLineTo
SWFShape::movePenTo
SWFShape


Mueve la pluma de la forma

SWFShape::movePen
SWFShape->setLeftFill
SWFShape
PHP Manual

SWFShape::movePenTo

(PHP 4 >= 4.0.5)

SWFShape::movePenTo — Mueve la pluma de la forma

Descripción

void SWFShape::movePenTo ( float $x , float $y )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfshape::setrightfill() mueve la pluma de la forma a (x,y) en el espacio de coordenadas de la forma.

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFShape::movePen() - Mueve la pluma de la forma (relativo)

SWFShape::movePen
SWFShape->setLeftFill
SWFShape


Establece el color de rasterización izquierdo

SWFShape::movePenTo
SWFShape::setLine
SWFShape
PHP Manual

SWFShape->setLeftFill

(PHP 4 >= 4.0.5)

SWFShape->setLeftFill — Establece el color de rasterización izquierdo

Descripción

void SWFShape::setLeftFill ( SWFGradient $fill )
void setLeftFill ( int $red , int $green , int $blue [, int $a ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Lo que este sinsentido quiere decir es que cada extermo de un segmento limita a lo sumo con dos rellenos. Cuando se rasteriza el objeto es muy útil saber que estos rellenos están adelantados en tiempo, por lo que el formato swf requiere que sean especificados.

swfshape::setleftfill() establece el relleno de la parte izquierda del extremo, es decir, en el interior si se está definiendo la línea exterior de la forma en sentido contrario al de las agujas del reloj. El objeto de relleno es un objeto SWFFill devuelto desde una de las funciones addFill anteriores.

Aunque parece que esto está invertido cuando se define una forma en un morph. Si su navegador se cuelga, intente establecer el relleno en el otro lado.

Atajo para $swfshape->setleftfill($s->addfill($r, $g, $b [, $a]));.

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFShape::setRightFill() - Establece el color de rasterización derecho

SWFShape::movePenTo
SWFShape::setLine
SWFShape


Establece el estilo de línea de la forma

SWFShape->setLeftFill
SWFShape::setRightFill
SWFShape
PHP Manual

SWFShape::setLine

(PHP 4 >= 4.0.5)

SWFShape::setLine — Establece el estilo de línea de la forma

Descripción

void SWFShape::setLine ( SWFShape $shape )
void setLine ( int $width , int $red , int $green , int $blue [, int $a ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfshape::setline() establece el estilo de línea de la forma. width es el ancho de línea. Si width es 0, es estilo de línea se elimina (entonces se ignoran todos los demás argumentos). Si width > 0, el color de la línea se establece a red, green, blue. El último parámetro, a, es opcional.

De deben declarar todos los estilos de línea antes de usarlos (véase el ejemplo).

Valores devueltos

No devuelve ningún valor.

Ejemplos

Este sencillo ejemplo dibujará un gran "!#%*@" en divertidos colores y estilo elegante.

Ejemplo #1 Ejemplo de swfshape::setline()

<?php
$s = new SWFShape();
$f1 = $s->addFill(0xff, 0, 0);
$f2 = $s->addFill(0xff, 0x7f, 0);
$f3 = $s->addFill(0xff, 0xff, 0);
$f4 = $s->addFill(0, 0xff, 0);
$f5 = $s->addFill(0, 0, 0xff);

// error: se deben declarar todos los estilo de línea antes de usarlos
$s->setLine(40, 0x7f, 0, 0);
$s->setLine(40, 0x7f, 0x3f, 0);
$s->setLine(40, 0x7f, 0x7f, 0);
$s->setLine(40, 0, 0x7f, 0);
$s->setLine(40, 0, 0, 0x7f);

$f = new SWFFont('Techno.fdb');

$s->setRightFill($f1);
$s->setLine(40, 0x7f, 0, 0);
$s->drawGlyph($f, '!');
$s->movePen($f->getWidth('!'), 0);

$s->setRightFill($f2);
$s->setLine(40, 0x7f, 0x3f, 0);
$s->drawGlyph($f, '#');
$s->movePen($f->getWidth('#'), 0);

$s->setRightFill($f3);
$s->setLine(40, 0x7f, 0x7f, 0);
$s->drawGlyph($f, '%');
$s->movePen($f->getWidth('%'), 0);

$s->setRightFill($f4);
$s->setLine(40, 0, 0x7f, 0);
$s->drawGlyph($f, '*');
$s->movePen($f->getWidth('*'), 0);

$s->setRightFill($f5);
$s->setLine(40, 0, 0, 0x7f);
$s->drawGlyph($f, '@');

$m = new SWFMovie();
$m->setDimension(3000,2000);
$m->setRate(12.0);
$i = $m->add($s);
$i->moveTo(1500-$f->getWidth("!#%*@")/2, 1000+$f->getAscent()/2);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Valores devueltos

No devuelve ningún valor.

SWFShape->setLeftFill
SWFShape::setRightFill
SWFShape


Establece el color de rasterización derecho

SWFShape::setLine
SWFSound
SWFShape
PHP Manual

SWFShape::setRightFill

(PHP 4 >= 4.0.5)

SWFShape::setRightFill — Establece el color de rasterización derecho

Descripción

void SWFShape::setRightFill ( SWFGradient $fill )
void setRightFill ( int $red , int $green , int $blue [, int $a ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Atajo para $swfshape->setrightfill($s->addfill($r, $g, $b [, $a]));.

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFShape::setLeftFill() - Establece el color de rasterización izquierdo

SWFShape::setLine
SWFSound
SWFShape


La clase SWFSound

(PHP 5 <= 5.3.0, PECL ming SVN)

Introducción

SWFSound.

Sinopsis de la Clase

SWFSound {
/* Métodos */
__construct ( string $filename [, int $flags = 0 ] )
}

Tabla de contenidos

  • SWFSound::__construct — Devuelve un nuevo objeto SWFSound desde un archivo dado
SWFShape::setRightFill
SWFSound::__construct
Ming


Devuelve un nuevo objeto SWFSound desde un archivo dado

SWFSound
SWFSoundInstance
SWFSound
PHP Manual

SWFSound::__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSound::__construct — Devuelve un nuevo objeto SWFSound desde un archivo dado

Descripción

SWFSound::__construct ( string $filename [, int $flags = 0 ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

SWFSound
SWFSoundInstance
SWFSound


La clase SWFSoundInstance

(PHP 5 <= 5.3.0, PECL ming SVN)

Introducción

Los objetos SWFSoundInstance son devueltos por los métodos SWFSprite::startSound() y SWFMovie::startSound().

Sinopsis de la Clase

SWFSoundInstance {
/* Métodos */
void loopCount ( int $point )
void loopInPoint ( int $point )
void loopOutPoint ( int $point )
void noMultiple ( void )
}

Tabla de contenidos

  • SWFSoundInstance::loopCount — Descripción
  • SWFSoundInstance::loopInPoint — Descripción
  • SWFSoundInstance::loopOutPoint — Descripción
  • SWFSoundInstance::noMultiple — Descripción
SWFSound::__construct
SWFSoundInstance::loopCount
Ming


SWFSoundInstance
SWFSoundInstance::loopInPoint
SWFSoundInstance
PHP Manual

SWFSoundInstance::loopCount

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSoundInstance::loopCount —

Descripción

void SWFSoundInstance::loopCount ( int $point )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

point

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFSoundInstance::loopOutPoint() - Descripción

SWFSoundInstance
SWFSoundInstance::loopInPoint
SWFSoundInstance


SWFSoundInstance::loopCount
SWFSoundInstance::loopOutPoint
SWFSoundInstance
PHP Manual

SWFSoundInstance::loopInPoint

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSoundInstance::loopInPoint —

Descripción

void SWFSoundInstance::loopInPoint ( int $point )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

point

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFSoundInstance::loopOutPoint() - Descripción

SWFSoundInstance::loopCount
SWFSoundInstance::loopOutPoint
SWFSoundInstance


SWFSoundInstance::loopInPoint
SWFSoundInstance::noMultiple
SWFSoundInstance
PHP Manual

SWFSoundInstance::loopOutPoint

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSoundInstance::loopOutPoint —

Descripción

void SWFSoundInstance::loopOutPoint ( int $point )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

point

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFSoundInstance::loopInPoint() - Descripción

SWFSoundInstance::loopInPoint
SWFSoundInstance::noMultiple
SWFSoundInstance


SWFSoundInstance::loopOutPoint
SWFSprite
SWFSoundInstance
PHP Manual

SWFSoundInstance::noMultiple

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSoundInstance::noMultiple —

Descripción

void SWFSoundInstance::noMultiple ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

No devuelve ningún valor.

SWFSoundInstance::loopOutPoint
SWFSprite
SWFSoundInstance


La clase SWFSprite

(PHP 5 <= 5.3.0, PECL ming SVN)

Introducción

Un objeto SWFSprite, también conocido como "clip de película", permite crear objetos que son animados en sus propias líneas de tiempos. Por lo tanto, el sprite tiene la mayoría de los métodos que posee una película.

Sinopsis de la Clase

SWFSprite {
/* Métodos */
void add ( object $object )
__construct ( void )
void labelFrame ( string $label )
void nextFrame ( void )
void remove ( object $object )
void setFrames ( int $number )
SWFSoundInstance startSound ( SWFSound $sount )
void stopSound ( SWFSound $sount )
}

Tabla de contenidos

  • SWFSprite::add — Añade un objeto a un sprite
  • SWFSprite::__construct — Crea un clip de película (un sprite)
  • SWFSprite::labelFrame — Etiqueta un fotograma
  • SWFSprite::nextFrame — Va al siguiente fotograma de la animación
  • SWFSprite::remove — Elimina un objeto de un sprite
  • SWFSprite::setFrames — Establece el número total de fotogramas de la animación
  • SWFSprite::startSound — Descripción
  • SWFSprite::stopSound — Descripción
SWFSoundInstance::noMultiple
SWFSprite::add
Ming


Añade un objeto a un sprite

SWFSprite
SWFSprite::__construct
SWFSprite
PHP Manual

SWFSprite::add

(PHP 4 >= 4.0.5)

SWFSprite::add — Añade un objeto a un sprite

Descripción

void SWFSprite::add ( object $object )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfsprite::add() añade un objeto  swfshape(),
swfbutton(),  swftext(),
swfaction() o  swfsprite().

Para tipos mostrables ( swfshape(),
 swfbutton(),  swftext(),
 swfaction() o  swfsprite()),
devuelve un gestor a un objeto de la lista de muestras.

Valores devueltos

No devuelve ningún valor.

SWFSprite
SWFSprite::__construct
SWFSprite


Crea un clip de película (un sprite)

SWFSprite::add
SWFSprite::labelFrame
SWFSprite
PHP Manual

SWFSprite::__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSprite::__construct — Crea un clip de película (un sprite)

Descripción

SWFSprite::__construct ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Crea un nuevo objeto SWFSprite.

SWFSprite::add
SWFSprite::labelFrame
SWFSprite


Etiqueta un fotograma

SWFSprite::__construct
SWFSprite::nextFrame
SWFSprite
PHP Manual

SWFSprite::labelFrame

(PHP 4 >= 4.3.3)

SWFSprite::labelFrame — Etiqueta un fotograma

Descripción

void SWFSprite::labelFrame ( string $label )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

No devuelve ningún valor.

SWFSprite::__construct
SWFSprite::nextFrame
SWFSprite


Va al siguiente fotograma de la animación

SWFSprite::labelFrame
SWFSprite::remove
SWFSprite
PHP Manual

SWFSprite::nextFrame

(PHP 4 >= 4.0.5)

SWFSprite::nextFrame — Va al siguiente fotograma de la animación

Descripción

void SWFSprite::nextFrame ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfsprite::setframes() va al siguiente fotograma de la animación.

Valores devueltos

No devuelve ningún valor.

SWFSprite::labelFrame
SWFSprite::remove
SWFSprite


Elimina un objeto de un sprite

SWFSprite::nextFrame
SWFSprite::setFrames
SWFSprite
PHP Manual

SWFSprite::remove

(PHP 4 >= 4.0.5)

SWFSprite::remove — Elimina un objeto de un sprite

Descripción

void SWFSprite::remove ( object $object )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

 swfsprite::remove() elimina un objeto  swfshape(),
 swfbutton(),  swftext(),
 swfaction() o  swfsprite()
de un sprite.

Valores devueltos

No devuelve ningún valor.

SWFSprite::nextFrame
SWFSprite::setFrames
SWFSprite


Establece el número total de fotogramas de la animación

SWFSprite::remove
SWFSprite::startSound
SWFSprite
PHP Manual

SWFSprite::setFrames

(PHP 4 >= 4.0.5)

SWFSprite::setFrames — Establece el número total de fotogramas de la animación

Descripción

void SWFSprite::setFrames ( int $number )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swfsprite::setframes() establece el número total de fotogramas de la animación a numberofframes.

Valores devueltos

No devuelve ningún valor.

SWFSprite::remove
SWFSprite::startSound
SWFSprite


SWFSprite::setFrames
SWFSprite::stopSound
SWFSprite
PHP Manual

SWFSprite::startSound

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSprite::startSound —

Descripción

SWFSoundInstance SWFSprite::startSound ( SWFSound $sount )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

  • SWFSprite::stopSound() - Descripción

SWFSprite::setFrames
SWFSprite::stopSound
SWFSprite


SWFSprite::startSound
SWFText
SWFSprite
PHP Manual

SWFSprite::stopSound

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSprite::stopSound —

Descripción

void SWFSprite::stopSound ( SWFSound $sount )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFSprite::startSound() - Descripción

SWFSprite::startSound
SWFText
SWFSprite


La clase SWFText

(PHP 5 <= 5.3.0, PECL ming SVN)

Introducción

SWFText.

Sinopsis de la Clase

SWFText {
/* Métodos */
void addString ( string $string )
void addUTF8String ( string $text )
__construct ( void )
float getAscent ( void )
float getDescent ( void )
float getLeading ( void )
float getUTF8Width ( string $string )
float getWidth ( string $string )
void moveTo ( float $x , float $y )
void setColor ( int $red , int $green , int $blue [, int $a = 255 ] )
void setFont ( SWFFont $font )
void setHeight ( float $height )
void setSpacing ( float $spacing )
}

Tabla de contenidos

  • SWFText::addString — Dibuja una string
  • SWFText::addUTF8String — Escribe el texto dado en este objeto SWFText en la posición actual de la pluma, usando la fuente, alto, espaciado y color actuales
  • SWFText::__construct — Crea un nuevo objeto SWFText
  • SWFText::getAscent — Devuelve el ascenso de la fuente actual en su tamaño actual, o 0 si no está disponible
  • SWFText::getDescent — Devuelve el descenso de la fuente actual en su tamaño actual, o 0 si no está disponible
  • SWFText::getLeading — Devuelve el interlineado de la funete actual en su tamaño actual, o 0 si no está disponible
  • SWFText::getUTF8Width — Calcula el ancho de la cadena dada de la fuente y tamaño actuales de este objeto texto
  • SWFText::getWidth — Computa el ancho de una cadena
  • SWFText::moveTo — Mueve la pluma
  • SWFText::setColor — Establece el color de texto actual
  • SWFText::setFont — Establece la fuente actual
  • SWFText::setHeight — Establece el alto de fuente actual
  • SWFText::setSpacing — Establece el espaciado de fuente
SWFSprite::stopSound
SWFText::addString
Ming


Dibuja una string

SWFText
SWFText::addUTF8String
SWFText
PHP Manual

SWFText::addString

(PHP 4 >= 4.0.5)

SWFText::addString — Dibuja una string

Descripción

void SWFText::addString ( string $string )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swftext::addstring() dibuja la cadena string en la ubicación actual de la pluma (cursor). La pluma está en la línea base del texto; es decir, el texto ascendente está en la dirección -y.

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFText::addUTF8String() - Escribe el texto dado en este objeto SWFText en la posición actual de la pluma, usando la fuente, alto, espaciado y color actuales

SWFText
SWFText::addUTF8String
SWFText


Escribe el texto dado en este objeto SWFText en la posición actual de la pluma, usando la fuente, alto, espaciado y color actuales

SWFText::addString
SWFText::__construct
SWFText
PHP Manual

SWFText::addUTF8String

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFText::addUTF8String — Escribe el texto dado en este objeto SWFText en la posición actual de la pluma, usando la fuente, alto, espaciado y color actuales

Descripción

void SWFText::addUTF8String ( string $text )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFText::addString() - Dibuja una string

SWFText::addString
SWFText::__construct
SWFText


Crea un nuevo objeto SWFText

SWFText::addUTF8String
SWFText::getAscent
SWFText
PHP Manual

SWFText::__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFText::__construct — Crea un nuevo objeto SWFText

Descripción

SWFText::__construct ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Crea un nuevo objeto SWFText, listo para su manipulación.

Ejemplos

Este sencillo ejemplo dibujará un gran texto "¡¡PHP genera Flash con Ming!!" amarillo sobre fondo blanco.

Ejemplo #1 swftext() example

<?php
$f = new SWFFont("Techno.fdb");
$t = new SWFText();
$t->setFont($f);
$t->moveTo(200, 2400);
$t->setColor(0xff, 0xff, 0);
$t->setHeight(1200);
$t->addString("¡¡PHP genera Flash con Ming!!");

$m = new SWFMovie();
$m->setDimension(5400, 3600);

$m->add($t);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFText::addUTF8String
SWFText::getAscent
SWFText


Devuelve el ascenso de la fuente actual en su tamaño actual, o 0 si no está disponible

SWFText::__construct
SWFText::getDescent
SWFText
PHP Manual

SWFText::getAscent

(PHP 4 >= 4.0.5)

SWFText::getAscent — Devuelve el ascenso de la fuente actual en su tamaño actual, o 0 si no está disponible

Descripción

float SWFText::getAscent ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

  • SWFText::getDescent() - Devuelve el descenso de la fuente actual en su tamaño actual, o 0 si no está disponible

SWFText::__construct
SWFText::getDescent
SWFText


Devuelve el descenso de la fuente actual en su tamaño actual, o 0 si no está disponible

SWFText::getAscent
SWFText::getLeading
SWFText
PHP Manual

SWFText::getDescent

(PHP 4 >= 4.0.5)

SWFText::getDescent — Devuelve el descenso de la fuente actual en su tamaño actual, o 0 si no está disponible

Descripción

float SWFText::getDescent ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

  • SWFText::getAscent() - Devuelve el ascenso de la fuente actual en su tamaño actual, o 0 si no está disponible

SWFText::getAscent
SWFText::getLeading
SWFText


Devuelve el interlineado de la funete actual en su tamaño actual, o 0 si no está disponible

SWFText::getDescent
SWFText::getUTF8Width
SWFText
PHP Manual

SWFText::getLeading

(PHP 4 >= 4.0.5)

SWFText::getLeading — Devuelve el interlineado de la funete actual en su tamaño actual, o 0 si no está disponible

Descripción

float SWFText::getLeading ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

SWFText::getDescent
SWFText::getUTF8Width
SWFText


Calcula el ancho de la cadena dada de la fuente y tamaño actuales de este objeto texto

SWFText::getLeading
SWFText::getWidth
SWFText
PHP Manual

SWFText::getUTF8Width

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFText::getUTF8Width — Calcula el ancho de la cadena dada de la fuente y tamaño actuales de este objeto texto

Descripción

float SWFText::getUTF8Width ( string $string )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

  • SWFText::getWidth() - Computa el ancho de una cadena

SWFText::getLeading
SWFText::getWidth
SWFText


Computa el ancho de una cadena

SWFText::getUTF8Width
SWFText::moveTo
SWFText
PHP Manual

SWFText::getWidth

(PHP 4 >= 4.0.5)

SWFText::getWidth — Computa el ancho de una cadena

Descripción

float SWFText::getWidth ( string $string )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Devuelve el ancho renderizado de la cadena string en la configuración de fuente, escala y espaciado actuales del objeto de texto.

Ver también

  • SWFText::getUTF8Width() - Calcula el ancho de la cadena dada de la fuente y tamaño actuales de este objeto texto

SWFText::getUTF8Width
SWFText::moveTo
SWFText


Mueve la pluma

SWFText::getWidth
SWFText::setColor
SWFText
PHP Manual

SWFText::moveTo

(PHP 4 >= 4.0.5)

SWFText::moveTo — Mueve la pluma

Descripción

void SWFText::moveTo ( float $x , float $y )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swftext::moveto() mueve la pluma (o cursor, si así tiene más sentido) a (x,y) en el espacio de coordenadas del objeto. Si los dos son cero, el valor en esa dimensión se queda igual. Molesto, debería ser arreglado.

Valores devueltos

No devuelve ningún valor.

SWFText::getWidth
SWFText::setColor
SWFText


Establece el color de texto actual

SWFText::moveTo
SWFText::setFont
SWFText
PHP Manual

SWFText::setColor

(PHP 4 >= 4.0.5)

SWFText::setColor — Establece el color de texto actual

Descripción

void SWFText::setColor ( int $red , int $green , int $blue [, int $a = 255 ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Cambia el color de texto actual.

Parámetros

Estos parámetros son enteros entre 0 y 255 o hexadecimales entre 0x00 y 0xFF:

red

Valor del componente rojo

green

Valor del componente verde

blue

Valor del componente azul

a

Valor del componente alfa

Valores devueltos

No devuelve ningún valor.

SWFText::moveTo
SWFText::setFont
SWFText


Establece la fuente actual

SWFText::setColor
SWFText::setHeight
SWFText
PHP Manual

SWFText::setFont

(PHP 4 >= 4.0.5)

SWFText::setFont — Establece la fuente actual

Descripción

void SWFText::setFont ( SWFFont $font )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swftext::setfont() establece la fuentes actual a font.

Valores devueltos

No devuelve ningún valor.

SWFText::setColor
SWFText::setHeight
SWFText


Establece el alto de fuente actual

SWFText::setFont
SWFText::setSpacing
SWFText
PHP Manual

SWFText::setHeight

(PHP 4 >= 4.0.5)

SWFText::setHeight — Establece el alto de fuente actual

Descripción

void SWFText::setHeight ( float $height )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swftext::setheight() establece el alto de fuente actual a height. Por omisión es 240.

Valores devueltos

No devuelve ningún valor.

SWFText::setFont
SWFText::setSpacing
SWFText


Establece el espaciado de fuente

SWFText::setHeight
SWFTextField
SWFText
PHP Manual

SWFText::setSpacing

(PHP 4 >= 4.0.5)

SWFText::setSpacing — Establece el espaciado de fuente

Descripción

void SWFText::setSpacing ( float $spacing )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swftext::setspacing() establece el espaciado de fuente a spacing. Por omisión es 1.0. 0 es todas las letras escritas en el mismo punto. Esto realmente no funciona así ya que infla el avance sobre la letra, no añade la misma cantidad de espaciado entre las letras. Debería intentar explicarlo mejor. O se arregla la condenada cosa para hacer un espaciado constante. Era una forma de explicar cómo funciona el avance de letra.

Valores devueltos

No devuelve ningún valor.

SWFText::setHeight
SWFTextField
SWFText


La clase SWFTextField

(PHP 5 <= 5.3.0, PECL ming SVN)

Introducción

SWFTextField.

Sinopsis de la Clase

SWFTextField {
/* Métodos */
void addChars ( string $chars )
void addString ( string $string )
void align ( int $alignement )
__construct ([ int $flags ] )
void setBounds ( float $width , float $height )
void setColor ( int $red , int $green , int $blue [, int $a = 255 ] )
void setFont ( SWFFont $font )
void setHeight ( float $height )
void setIndentation ( float $width )
void setLeftMargin ( float $width )
void setLineSpacing ( float $height )
void setMargins ( float $left , float $right )
void setName ( string $name )
void setPadding ( float $padding )
void setRightMargin ( float $width )
}

Tabla de contenidos

  • SWFTextField::addChars — Añade caracteres a una fuente que estará disponible dentro de un campo de texto
  • SWFTextField::addString — Concatena la cadena dada al campo de texto
  • SWFTextField::align — Establece la alineación del campo de texto
  • SWFTextField::__construct — Crea un objeto campo de texto
  • SWFTextField::setBounds — Establece el ancho y el alto del campo de texto
  • SWFTextField::setColor — Establece el color del campo de texto
  • SWFTextField::setFont — Establece la fuente del campo de texto
  • SWFTextField::setHeight — Establece el alto de la fuente de este campo de texto
  • SWFTextField::setIndentation — Establece la indentación de la primera línea
  • SWFTextField::setLeftMargin — Establece el ancho del margen izquierdo del campo de texto
  • SWFTextField::setLineSpacing — Establece el espaciado entre líneas de un campo de texto
  • SWFTextField::setMargins — Establece el ancho de los márgenes del campo de texto
  • SWFTextField::setName — Establece el nombre de la variable
  • SWFTextField::setPadding — Establece el relleno de este campo de texto
  • SWFTextField::setRightMargin — Establece el ancho del margen derecho del campo de texto
SWFText::setSpacing
SWFTextField::addChars
Ming


Añade caracteres a una fuente que estará disponible dentro de un campo de texto

SWFTextField
SWFTextField::addString
SWFTextField
PHP Manual

SWFTextField::addChars

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFTextField::addChars — Añade caracteres a una fuente que estará disponible dentro de un campo de texto

Descripción

void SWFTextField::addChars ( string $chars )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • SWFTextField::addString() - Concatena la cadena dada al campo de texto

SWFTextField
SWFTextField::addString
SWFTextField


Concatena la cadena dada al campo de texto

SWFTextField::addChars
SWFTextField::align
SWFTextField
PHP Manual

SWFTextField::addString

(PHP 4 >= 4.0.5)

SWFTextField::addString — Concatena la cadena dada al campo de texto

Descripción

void SWFTextField::addString ( string $string )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swftextfield::setname() concatena la cadena string al campo de texto.

Valores devueltos

No devuelve ningún valor.

SWFTextField::addChars
SWFTextField::align
SWFTextField


Establece la alineación del campo de texto

SWFTextField::addString
SWFTextField::__construct
SWFTextField
PHP Manual

SWFTextField::align

(PHP 4 >= 4.0.5)

SWFTextField::align — Establece la alineación del campo de texto

Descripción

void SWFTextField::align ( int $alignement )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swftextfield::align() establece la alineación del campo de texto a alignement. Los valores válidos para alignement son: SWFTEXTFIELD_ALIGN_LEFT, SWFTEXTFIELD_ALIGN_RIGHT, SWFTEXTFIELD_ALIGN_CENTER y SWFTEXTFIELD_ALIGN_JUSTIFY.

Valores devueltos

No devuelve ningún valor.

SWFTextField::addString
SWFTextField::__construct
SWFTextField


Crea un objeto campo de texto

SWFTextField::align
SWFTextField::setBounds
SWFTextField
PHP Manual

SWFTextField::__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFTextField::__construct — Crea un objeto campo de texto

Descripción

SWFTextField::__construct ([ int $flags ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swftextfield() crea un nuevo objeto campo de texto. Los campos de texto son menos flexibles que los objetos swftext()- no se pueden rotar, escalar no proporcionalmente, o inclinar, pero se pueden usar como entradas de formulario y pueden usar fuentes definidas por el navegador.

Las banderas opcionales cambian el comportamiento del campo de texto. Tiene los siguientes valores posibles:

  • SWFTEXTFIELD_DRAWBOX dibuja la línea exterior del campo de texto
  • SWFTEXTFIELD_HASLENGTH
  • SWFTEXTFIELD_HTML permite el marcado de texto usando etiquetas HTML
  • SWFTEXTFIELD_MULTILINE permite múltiples líneas
  • SWFTEXTFIELD_NOEDIT indica que el camo no debería ser editable por el usuario
  • SWFTEXTFIELD_NOSELECT hace el campo no seleccionable
  • SWFTEXTFIELD_PASSWORD oculta la entrada de información
  • SWFTEXTFIELD_WORDWRAP permite al texto envolver
Las banderas se combinan con el operador a nivel de bits OR. Por ejemplo,
<?php
$t = newSWFTextField(SWFTEXTFIELD_PASSWORD | SWFTEXTFIELD_NOEDIT);
?>
crea un campo de contraseña no editable completamente inútil.

SWFTextField tiene los siguientes métodos:  swftextfield::setfont(),
 swftextfield::setbounds(),  swftextfield::align(),
 swftextfield::setheight(),  swftextfield::setleftmargin(),
 swftextfield::setrightmargin(),  swftextfield::setmargins(),
 swftextfield::setindentation(),  swftextfield::setlinespacing(),
 swftextfield::setcolor(),  swftextfield::setname() y
 swftextfield::addstring().

SWFTextField::align
SWFTextField::setBounds
SWFTextField


Establece el ancho y el alto del campo de texto

SWFTextField::__construct
SWFTextField::setColor
SWFTextField
PHP Manual

SWFTextField::setBounds

(PHP 4 >= 4.0.5)

SWFTextField::setBounds — Establece el ancho y el alto del campo de texto

Descripción

void SWFTextField::setBounds ( float $width , float $height )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swftextfield::setbounds() establece el ancho del campo de texto a width y el alto a height. Si no establece los límites usted mismo, Ming hace una estimación pobre de dónde están los límites.

Valores devueltos

No devuelve ningún valor.

SWFTextField::__construct
SWFTextField::setColor
SWFTextField


Establece el color del campo de texto

SWFTextField::setBounds
SWFTextField::setFont
SWFTextField
PHP Manual

SWFTextField::setColor

(PHP 4 >= 4.0.5)

SWFTextField::setColor — Establece el color del campo de texto

Descripción

void SWFTextField::setColor ( int $red , int $green , int $blue [, int $a = 255 ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swftextfield::setcolor() establece el color del campo de texto. Por defecto es negro completamente opaco. El color es representado usando el sistema RGB.

Parámetros

Estos parámetros son enteros entre 0 y 255 o hexadecimales entre 0x00 y 0xFF:

red

Valor del componente rojo

green

Valor del componente verde

blue

Valor del componente azul

a

Valor del componente alfa

Valores devueltos

No devuelve ningún valor.

SWFTextField::setBounds
SWFTextField::setFont
SWFTextField


Establece la fuente del campo de texto

SWFTextField::setColor
SWFTextField::setHeight
SWFTextField
PHP Manual

SWFTextField::setFont

(PHP 4 >= 4.2.0)

SWFTextField::setFont — Establece la fuente del campo de texto

Descripción

void SWFTextField::setFont ( SWFFont $font )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swftextfield::setfont() establece la fuente del campo de texto a la fuente (¿definida por el navegador?) font.

Valores devueltos

No devuelve ningún valor.

SWFTextField::setColor
SWFTextField::setHeight
SWFTextField


Establece el alto de la fuente de este campo de texto

SWFTextField::setFont
SWFTextField::setIndentation
SWFTextField
PHP Manual

SWFTextField::setHeight

(PHP 4 >= 4.0.5)

SWFTextField::setHeight — Establece el alto de la fuente de este campo de texto

Descripción

void SWFTextField::setHeight ( float $height )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swftextfield::setheight() establece el alto de la fuente de este campo de texto al alto dado por height. Por defecto es 240.

Valores devueltos

No devuelve ningún valor.

SWFTextField::setFont
SWFTextField::setIndentation
SWFTextField


Establece la indentación de la primera línea

SWFTextField::setHeight
SWFTextField::setLeftMargin
SWFTextField
PHP Manual

SWFTextField::setIndentation

(PHP 4 >= 4.0.5)

SWFTextField::setIndentation — Establece la indentación de la primera línea

Descripción

void SWFTextField::setIndentation ( float $width )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swftextfield::setindentation() establece la indentación de la primera línea del campo de texto a width.

Valores devueltos

No devuelve ningún valor.

SWFTextField::setHeight
SWFTextField::setLeftMargin
SWFTextField


Establece el ancho del margen izquierdo del campo de texto

SWFTextField::setIndentation
SWFTextField::setLineSpacing
SWFTextField
PHP Manual

SWFTextField::setLeftMargin

(PHP 4 >= 4.0.5)

SWFTextField::setLeftMargin — Establece el ancho del margen izquierdo del campo de texto

Descripción

void SWFTextField::setLeftMargin ( float $width )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swftextfield::setleftmargin() establece el ancho del margen izquierdo del campo de texto a width. Por defecto es 0.

Valores devueltos

No devuelve ningún valor.

SWFTextField::setIndentation
SWFTextField::setLineSpacing
SWFTextField


Establece el espaciado entre líneas de un campo de texto

SWFTextField::setLeftMargin
SWFTextField::setMargins
SWFTextField
PHP Manual

SWFTextField::setLineSpacing

(PHP 4 >= 4.0.5)

SWFTextField::setLineSpacing — Establece el espaciado entre líneas de un campo de texto

Descripción

void SWFTextField::setLineSpacing ( float $height )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swftextfield::setlinespacing() establece el espaciado entre líneas de un campo de texto a la altura de height. Por omisión es 40.

Valores devueltos

No devuelve ningún valor.

SWFTextField::setLeftMargin
SWFTextField::setMargins
SWFTextField


Establece el ancho de los márgenes del campo de texto

SWFTextField::setLineSpacing
SWFTextField::setName
SWFTextField
PHP Manual

SWFTextField::setMargins

(PHP 4 >= 4.0.5)

SWFTextField::setMargins — Establece el ancho de los márgenes del campo de texto

Descripción

void SWFTextField::setMargins ( float $left , float $right )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swftextfield::setmargins() establece ambos márgenes de una sola vez, para el hombre de a pie.

Valores devueltos

No devuelve ningún valor.

SWFTextField::setLineSpacing
SWFTextField::setName
SWFTextField


Establece el nombre de la variable

SWFTextField::setMargins
SWFTextField::setPadding
SWFTextField
PHP Manual

SWFTextField::setName

(PHP 4 >= 4.0.5)

SWFTextField::setName — Establece el nombre de la variable

Descripción

void SWFTextField::setName ( string $name )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swftextfield::setname() establece el nombre de la variable de este campo de texto a name, para propósitos de envío y action scripting.

Valores devueltos

No devuelve ningún valor.

SWFTextField::setMargins
SWFTextField::setPadding
SWFTextField


Establece el relleno de este campo de texto

SWFTextField::setName
SWFTextField::setRightMargin
SWFTextField
PHP Manual

SWFTextField::setPadding

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFTextField::setPadding — Establece el relleno de este campo de texto

Descripción

void SWFTextField::setPadding ( float $padding )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

No devuelve ningún valor.

SWFTextField::setName
SWFTextField::setRightMargin
SWFTextField


Establece el ancho del margen derecho del campo de texto

SWFTextField::setPadding
SWFVideoStream
SWFTextField
PHP Manual

SWFTextField::setRightMargin

(PHP 4 >= 4.0.5)

SWFTextField::setRightMargin — Establece el ancho del margen derecho del campo de texto

Descripción

void SWFTextField::setRightMargin ( float $width )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

swftextfield::setrightmargin() establece el ancho del margen derecho del campo de texto a width. Por defecto es 0.

Valores devueltos

No devuelve ningún valor.

SWFTextField::setPadding
SWFVideoStream
SWFTextField


La clase SWFVideoStream

(PHP 5.0.5-5.3.0, PECL ming SVN)

Introducción

SWFVideoStream.

Sinopsis de la Clase

SWFVideoStream {
/* Métodos */
__construct ([ string $file ] )
int getNumFrames ( void )
void setDimension ( int $x , int $y )
}

Tabla de contenidos

  • SWFVideoStream::__construct — Devuelve un objeto SWFVideoStream
  • SWFVideoStream::getNumFrames — Devuelve el número de fotogramas del video
  • SWFVideoStream::setDimension — Establece las dimensiones del video
SWFTextField::setRightMargin
SWFVideoStream::__construct
Ming


Devuelve un objeto SWFVideoStream

SWFVideoStream
SWFVideoStream::getNumFrames
SWFVideoStream
PHP Manual

SWFVideoStream::__construct

(PHP 5.0.5-5.3.0, PECL ming SVN)

SWFVideoStream::__construct — Devuelve un objeto SWFVideoStream

Descripción

SWFVideoStream::__construct ([ string $file ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

SWFVideoStream
SWFVideoStream::getNumFrames
SWFVideoStream


Devuelve el número de fotogramas del video

SWFVideoStream::__construct
SWFVideoStream::setDimension
SWFVideoStream
PHP Manual

SWFVideoStream::getNumFrames

(PHP 5.0.5-5.3.0, PECL ming SVN)

SWFVideoStream::getNumFrames — Devuelve el número de fotogramas del video

Descripción

int SWFVideoStream::getNumFrames ( void )

Esta función devuelve el número de videofotogramas de un objeto SWFVideoStream.

Valores devueltos

Devuelve el número de fotogramas, como entero

SWFVideoStream::__construct
SWFVideoStream::setDimension
SWFVideoStream


Establece las dimensiones del video

SWFVideoStream::getNumFrames
PDF
SWFVideoStream
PHP Manual

SWFVideoStream::setDimension

(PHP 5.0.5-5.3.0, PECL ming SVN)

SWFVideoStream::setDimension — Establece las dimensiones del video

Descripción

void SWFVideoStream::setDimension ( int $x , int $y )

Establece el ancho y el alto para videos transmitidos.

Parámetros

x

Ancho en píxeles.

y

Alto en píxeles.

Valores devueltos

No devuelve ningún valor.

SWFVideoStream::getNumFrames
PDF
SWFVideoStream


PDF

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Basic Usage Examples
  • Funciones PDF
    • PDF_activate_item — Activar un elemendo de estructura u otro elemento de contenido
    • PDF_add_annotation — Añadir una anotación [obsoleta]
    • PDF_add_bookmark — Añadir un marcador a la página actual [obsoleta]
    • PDF_add_launchlink — Añadir una anotación de lanzamiento a la página actual [obsoleta]
    • PDF_add_locallink — Añadir una anotación de enlace a la página actual [obsoleta]
    • PDF_add_nameddest — Crear un destino con nombre
    • PDF_add_note — Establecer una anotación para la página actual [obsoleta]
    • PDF_add_outline — Añadir un marcador a la página actual [obsoleta]
    • PDF_add_pdflink — Añadir una anotación de enlace de página a la página actual [obsoleta]
    • PDF_add_table_cell — Añadir una celda a una tabla nueva o ya existente
    • PDF_add_textflow — Crear un Textflow o añadir texto al Textflow existente
    • PDF_add_thumbnail — Añadir una imagen en miniatura a la página actual
    • PDF_add_weblink — Añadir un enlace web a la página actual [obsoleta]
    • PDF_arc — Dibujar un segmento de arco circular en el sentido contrario a las agujas del reloj
    • PDF_arcn — Dibujar un segmento de arco circular en el sentido de las agujas del reloj
    • PDF_attach_file — Añadir un documento adjunto a la página actual [obsoleta]
    • PDF_begin_document — Crear un nuevo archivo PDF
    • PDF_begin_font — Iniciar una definición de una fuente Type 3
    • PDF_begin_glyph — Iniciar la definición de un glifo para una fuente Type 3
    • PDF_begin_item — Abrir un elemento de estructura u otro elemento de contenido
    • PDF_begin_layer — Iniciar una capa
    • PDF_begin_page_ext — Inicia una nueva página
    • PDF_begin_page — Iniciar una nueva página [obsoleta]
    • PDF_begin_pattern — Iniciar una definición de patrón
    • PDF_begin_template_ext — Iniciar una definición de plantilla
    • PDF_begin_template — Inicia la definición de plantilla [obsoleta]
    • PDF_circle — Dibujar un círculo
    • PDF_clip — Recortar el trazado actual
    • PDF_close_image — Cerrar un imagen
    • PDF_close_pdi_page — Cerrar un gestor de página
    • PDF_close_pdi — Cerrar el documento PDF de entrada [obsoleta]
    • PDF_close — Cerrar un recurso pdf [obsoleta]
    • PDF_closepath_fill_stroke — Cerrar, rellenar y contornear el trazado actual
    • PDF_closepath_stroke — Cerrar y contornear un trazado
    • PDF_closepath — Cerrar el trazado actual
    • PDF_concat — Concatenar una matriz a la CTM
    • PDF_continue_text — Imprimir texto en la siguiente línea
    • PDF_create_3dview — Crear una vista 3D
    • PDF_create_action — Crear una acción para objetos o eventos
    • PDF_create_annotation — Crear una anotación rectangular
    • PDF_create_bookmark — Crear un marcador
    • PDF_create_field — Crear un campo de formulario
    • PDF_create_fieldgroup — Crear un grupo de campos de formulario
    • PDF_create_gstate — Crear un objeto de estado
    • PDF_create_pvf — Crear un archivo virtual PDFlib
    • PDF_create_textflow — Crear un objeto textflow
    • PDF_curveto — Dibujar una curva de Bézier
    • PDF_define_layer — Crear una definición de capa
    • PDF_delete_pvf — Borrar un archivo PDFlib virtual
    • PDF_delete_table — Borrar un objeto tabla
    • PDF_delete_textflow — Borrar un objeto textflow
    • PDF_delete — Borrar un objeto PDFlib
    • PDF_encoding_set_char — Añadir un nombre de glifo y/o un valor Unicode
    • PDF_end_document — Cerrar un archivo PDF
    • PDF_end_font — Finalizar la definición de una fuente Type 3
    • PDF_end_glyph — Finalizar la definición de un glifo para una fuente Type 3
    • PDF_end_item — Cerrar un elemento de estructura u otro elemento de contenido
    • PDF_end_layer — Desactivar todas las capas activas
    • PDF_end_page_ext — Finalizar una página
    • PDF_end_page — Finalizar un página
    • PDF_end_pattern — Finalizar un patrón
    • PDF_end_template — Finalizar una plantilla
    • PDF_endpath — Finalizar el trazado actual
    • PDF_fill_imageblock — Rellenar un bloque de imagen con información variable
    • PDF_fill_pdfblock — Rellenar un bloque PDF con información variable
    • PDF_fill_stroke — Rellenar y contornear un trazado
    • PDF_fill_textblock — Rellenar un bloque de texto con infomación variable
    • PDF_fill — Rellenar el trazado actual
    • PDF_findfont — Preparar una fuente para un uso posterior [obsoleta]
    • PDF_fit_image — Colocar una imagen o plantilla
    • PDF_fit_pdi_page — Colocar una página PDF importada
    • PDF_fit_table — Colocar una tabla en una página
    • PDF_fit_textflow — Formatear un textflow en un área rectangular
    • PDF_fit_textline — Colocar una simple línea de texto
    • PDF_get_apiname — Obtener el nombre de una función API que falló
    • PDF_get_buffer — Obtener el buffer de salida de PDF
    • PDF_get_errmsg — Obtener el texto del error
    • PDF_get_errnum — Obtener el número de error
    • PDF_get_font — Obtener una fuente [obsoleta]
    • PDF_get_fontname — Obtener el nombre de una fuente [obsoleta]
    • PDF_get_fontsize — Manejo de fuentes [obsoleta]
    • PDF_get_image_height — Obtener el alto de una imagen [obsoleta]
    • PDF_get_image_width — Obtener el ancho de una imagen [obsoleta]
    • PDF_get_majorversion — Obtener el número de la versión mayor [obsoleta]
    • PDF_get_minorversion — Obtener el número de versión menor [obsoleta]
    • PDF_get_parameter — Obtener un parámetro de cadena
    • PDF_get_pdi_parameter — Obtener un parámetro de cadena de un PDI [obsoleta]
    • PDF_get_pdi_value — Obtener un parámetro númerico de un PDI [obsoleta]
    • PDF_get_value — Obtener un parámetro numérico
    • PDF_info_font — Preguntar información detallada acerca de una fuente cargada
    • PDF_info_matchbox — Preguntar sobre la información de un matchbox
    • PDF_info_table — Recuperar la información de una tabla
    • PDF_info_textflow — Preguntar por el estado de un textflow
    • PDF_info_textline — Llevar a cabo el formateo textline y preguntar por las métricas
    • PDF_initgraphics — Reiniciar el estado de un gráfico
    • PDF_lineto — Dibujar una línea
    • PDF_load_3ddata — Cargar un modelo 3D
    • PDF_load_font — Buscar y preparar una fuente
    • PDF_load_iccprofile — Buscar y preparar un perfil ICC
    • PDF_load_image — Abrir un archivo de imagen
    • PDF_makespotcolor — Crea un color de impresión
    • PDF_moveto — Establecer el punto actual
    • PDF_new — Crear un objeto PDFlib
    • PDF_open_ccitt — Abrir una imagen CCITT en bruto [obsoleta]
    • PDF_open_file — Crear un archivo PDF [obsoleta]
    • PDF_open_gif — Abrir una imagen GIF [obsoleta]
    • PDF_open_image_file — Leer una imagen desde un archivo [obsoleta]
    • PDF_open_image — Usar información de una imagen [obsoleta]
    • PDF_open_jpeg — Abrir una imagen JPEG [obsoleta]
    • PDF_open_memory_image — Abrir una imagen creada con las funciones de imagen de PHP [no soportada]
    • PDF_open_pdi_document — Preparar un documento pdi
    • PDF_open_pdi_page — Preparar una página
    • PDF_open_pdi — Abrir un archivo PDF [obsoleta]
    • PDF_open_tiff — Abrir una imagen TIFF [obsoleta]
    • PDF_pcos_get_number — Obtener el valor de una ruta pCOS con el tipo number o boolean
    • PDF_pcos_get_stream — Obtener el contenido de una ruta pCOS con el tipo stream, fstream, o string
    • PDF_pcos_get_string — Obtener el valor de una ruta pCOS con el tipo name, string, o boolean
    • PDF_place_image — Colocar una imagen en una página [obsoleta]
    • PDF_place_pdi_page — Colocar una página PDF [obsoleta]
    • PDF_process_pdi — Procesar un documento PDF importado
    • PDF_rect — Dibujar un rectángulo
    • PDF_restore — Restablecer el estado de gráficos
    • PDF_resume_page — Reanudar un página
    • PDF_rotate — Rotar el sistema de coordenadas
    • PDF_save — Guardar el estado de gráficos
    • PDF_scale — Escalar el sistema de coordenadas
    • PDF_set_border_color — Establecer el color del borde de las anotaciones [obsoleta]
    • PDF_set_border_dash — Establecer el estilo de borde discontinuo de las anotaciones [obsoleta]
    • PDF_set_border_style — Establecer el estilo de borde de las anotaciones [obsoleta]
    • PDF_set_char_spacing — Establecer el espacio entre caracteres [obsoleta]
    • PDF_set_duration — Establecer la duración entre páginas [obsoleta]
    • PDF_set_gstate — Activar un objeto de estado de gráficos
    • PDF_set_horiz_scaling — Establecer la escala de texto horizontal [obsoleta]
    • PDF_set_info_author — Rellenar el campo de información del autor de un documento [obsoleta]
    • PDF_set_info_creator — Rellenar el campo de información del creador de un documento [obsoleta]
    • PDF_set_info_keywords — Rellenar el campo de información de las palabras clave de un documento [obsoleta]
    • PDF_set_info_subject — Rellenar el campo de información del asunto de un documento [obsoleta]
    • PDF_set_info_title — Rellenar el campo de información del título de un documento [obsoleta]
    • PDF_set_info — Rellenar el campo de información de un documento
    • PDF_set_layer_dependency — Definir la relación entre capas
    • PDF_set_leading — Esteblecer la distancia entre líneas de texto [obsoleta]
    • PDF_set_parameter — Establecer un parámetro de cadena
    • PDF_set_text_matrix — Establecer la matriz del texto [obsoleta]
    • PDF_set_text_pos — Establecer la posición del texto
    • PDF_set_text_rendering — Determinar la renderización del texto [obsoleta]
    • PDF_set_text_rise — Establecer la elevación de texto [obsoleta]
    • PDF_set_value — Establecer un parámetro numérico
    • PDF_set_word_spacing — Establecer el espacio entre palabras [obsoleta]
    • PDF_setcolor — Establecer el color de relleno y contorno
    • PDF_setdash — Establecer el patrón de discontinuidad simple
    • PDF_setdashpattern — Establecer el patrón de discontinuidad
    • PDF_setflat — Establecer el parámetro flatness
    • PDF_setfont — Establecer un fuente
    • PDF_setgray_fill — Establecer el color de relleno a gris [obsoleta]
    • PDF_setgray_stroke — Establecer el color de contorno a gris [obsoleta]
    • PDF_setgray — Establecer el color a gris [obsoleta]
    • PDF_setlinecap — Establecer el parámetro linecap
    • PDF_setlinejoin — Establecer el parámetro linejoin
    • PDF_setlinewidth — Establecer el ancho de línea
    • PDF_setmatrix — Establecer la matriz de transformación actual
    • PDF_setmiterlimit — Establecer el límite del inglete
    • PDF_setpolydash — Establecer un patrón de discontinuidad complicado [obsoleta]
    • PDF_setrgbcolor_fill — Establecer los valores de color rgb del relleno [obsoleta]
    • PDF_setrgbcolor_stroke — Establecer los valores de color rgb del contorno [obsoleta]
    • PDF_setrgbcolor — Establecer los valores de color rgb del relleno y del contorno [obsoleta]
    • PDF_shading_pattern — Definir un patrón de sombreado
    • PDF_shading — Definir un mezcla
    • PDF_shfill — Rellenar un área con sombreado
    • PDF_show_boxed — Imprimir un texto en una caja [obsoleta]
    • PDF_show_xy — Imprimir un texto en una posición dada
    • PDF_show — Imrpimir un texto en la posición actual
    • PDF_skew — Torcer el sistema de coordenadas
    • PDF_stringwidth — Devolver el ancho de un texto
    • PDF_stroke — Contornear un trazado
    • PDF_suspend_page — Suspender una página
    • PDF_translate — Establecer el origen del sistema de coordenadas
    • PDF_utf16_to_utf8 — Convertir una cadena de UTF-16 a UTF-8
    • PDF_utf32_to_utf16 — Convertir una cadena de UTF-32 a UTF-16
    • PDF_utf8_to_utf16 — Convertir una cadena de UTF-8 a UTF-16
SWFVideoStream::setDimension
Introducción
Salida MIME que no es texto


Introducción

Las funciones PDF en PHP pueden crear archivos PDF usando la biblioteca PDFlib la cuál fue inicialmente creada por Thomas Merz y ahora es mantenida por » PDFlib GmbH.

La documentación de esta sección supone sólamente una vista general de las funciones disponibles en la biblioteca PDFlib y no se debería considerar como una referencia exhaustiva. Para una explicación completa y detallada de cada función, consulte el Manual de Referencia de PDFlib que se incluye en todos los paquetes de PDFlib distribuidos por PDFlib GmbH. Proporcian un muy buena visión general de lo que PDFlib es capaz de hacer y contiene la documentación más actualizada de todas las funciones.

Como punto de partida le animamos a que le eche un vistazo a los ejemplos de programación que contienen todas los paquetes de distribución de PDFlib. Estos ejemplos hacen demostraciones de texto básico, vectores y salida de gráficos así como de funciones de alto nivel, como la característica de importar PDF (PDI).

Todas las funciones de PDFlib y del módulo de PHP tienen idénticos nombres de funciones y parámetros. A menos que se configure de otra manera, todas las longitudes y coordenadas están medidas en puntos PostScript. Hay generalmente 72 puntos PostScript en una pulgada, pero esto depende de la resolución de salida. Por favor, vea el Manual de Referencia de PDFlib incluido en la distribución PDFlib para un explicación más rigurosa del sistema de coordenadas usado.

Con la versión 6, PDFlib ofrece una API orientada a objetos en PHP 5 además de la API orientada a funciones para PHP 4. La principal diferencia es la siguiente:

En PHP 4, lo primero es que un recurso PDF ha de ser recuperado con una llamada a una función como

$p = PDF_new().

Este recurso PDF se usa como el primer parámetro en todas las demás llamadas a funciones, como en

PDF_begin_document($p, "", "").

Sin embargo, en PHP 5 un objeto PDFlib se crea con

$p = new PDFlib().

Este objeto ofrece todas las funciones de la API PDFlib como métodos, p.ej. como con

$p->begin_document("", "").

Además, las excepciones han sido introducidas en PHP 5, las cuáles están soportadas también por PDFlib 6 y porsteriores.

Por favor, vea los ejemplos de más adelante para más información.

Nota:

Si está interesado en generadores de PDF gratuitos alternativos que no utilicen bibliotecas PDF externas, vea esta FAQ relacionada.

PDF
Instalación/Configuración
PDF


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
PDF


Requerimientos

PDFlib Lite está disponible como código abierto. Sin embargo, la licencia de PDFlib Lite permite el uso gratuito sólo bajo ciertas condiciones. PDFlib Lite soporta un subconjunto de fucionalidadse de PDFlib; por favor, vea la página web de PDFlib para más detalles. La versión completa de PDFlib está disponible para descargar en » http://www.pdflib.com/products/pdflib-family/, pero requiere que adquiera una licencia para uso comercial.

Cuestiones sobre versiones antiguas de PDFlib

Cualquier versión de PHP 4 después del 9 de marzo del 2000 no soporta versiones de PDFlib anteriores a 3.0.

PDFlib 4.0 o posterior es soportada por PHP 4.3.0 o posterior.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP. Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/pdflib.

Para hacer que estas funciones trabajen en PHP < 4.3.9, ha de compilar PHP con --with-pdflib[=DIR] . DIR es el directorio base de instalacion de PDFlib, por defecto es /usr/local.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

PDF_new() crea un nuevo objeto PDFlib requerido por la mayoría de las funciones PDF.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Ejemplos
PDF


Ejemplos

Tabla de contenidos

  • Basic Usage Examples
Constantes predefinidas
Basic Usage Examples
PDF


Basic Usage Examples

La mayoría de las funciones son bastante fáciles de usar. La parte más difícil es probablemente la de crear su primer documento PDF. El siguiente ejemplo debería ayudarle a empezar. Está desarrolado para PHP 4 y crea el archivo hola.pdf con una página. Define algunos contenidos de campos de información del documento, carga la fuente Helvetica-Bold e imprime el texto "¡Hola mundo! (dice PHP)".

Ejemplo #1 Ejemplo de Hola Mundo con la distribucion PDFlib para PHP 4

<?php
$p = PDF_new();

/*  abrir un nuevo archivo PDF; insertar un nombre de archivo para crear el PDF en disco */
if (PDF_begin_document($p, "", "") == 0) {
    die("Error: " . PDF_get_errmsg($p));
}

PDF_set_info($p, "Creator", "hola.php");
PDF_set_info($p, "Author", "Rainer Schaaf");
PDF_set_info($p, "Title", "¡Hola mundo (PHP)!");

PDF_begin_page_ext($p, 595, 842, "");

$font = PDF_load_font($p, "Helvetica-Bold", "winansi", "");

PDF_setfont($p, $font, 24.0);
PDF_set_text_pos($p, 50, 700);
PDF_show($p, "¡Hola mundo!");
PDF_continue_text($p, "(dice PHP)");
PDF_end_page_ext($p, "");

PDF_end_document($p, "");

$buf = PDF_get_buffer($p);
$len = strlen($buf);

header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=hola.pdf");
print $buf;

PDF_delete($p);
?>

El siguiente ejemplo viene con la distribución de PDFlib para PHP 5. Usa las nuevas características de manejo de excepciones y encapsulación de objetos disponibles en PHP 5. Crea el archivo hola.pdf con una página. Define algunos contenidos de campos de información del documento, carga la fuente Helvetica-Bold e imprime el texto "¡Hola mundo! (dice PHP)".

Ejemplo #2 Ejemplo de Hola Mundo con la distribucion PDFlib para PHP 5

<?php

try {
    $p = new PDFlib();

    /*  abrir un nuevo archivo PDF; insertar un nombre de archivo para crear el PDF en disco */
    if ($p->begin_document("", "") == 0) {
        die("Error: " . $p->get_errmsg());
    }

    $p->set_info("Creator", "hola.php");
    $p->set_info("Author", "Rainer Schaaf");
    $p->set_info("Title", "¡Hola mundo (PHP)!");

    $p->begin_page_ext(595, 842, "");

    $font = $p->load_font("Helvetica-Bold", "winansi", "");

    $p->setfont($font, 24.0);
    $p->set_text_pos(50, 700);
    $p->show("¡Hola mundo!");
    $p->continue_text("(dice PHP)");
    $p->end_page_ext("");

    $p->end_document("");

    $buf = $p->get_buffer();
    $len = strlen($buf);

    header("Content-type: application/pdf");
    header("Content-Length: $len");
    header("Content-Disposition: inline; filename=hola.pdf");
    print $buf;
}
catch (PDFlibException $e) {
    die("Ocurrió un Excepción PDFlib en el ejemplo hola:\n" .
    "[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
    $e->get_errmsg() . "\n");
}
catch (Exception $e) {
    die($e);
}
$p = 0;
?>

Ejemplos
Funciones PDF
Ejemplos


Funciones PDF

Obsevaciones sobre Funciones Obsoletas de PDFlib

Desde PHP 4.0.5, la extensión de PHP para PDFlib está oficialmente soportada por PDFlib GmbH. Esto significa que todas las funciones descritas en el Manual de Referencia de PDFlib están soportadas por PHP 4 con exáctamente el mismo significado y los mismos parámetros. Sin embargo, con la Versión 5.0.4 o posterior de PDFlib todos los parámetros deben ser especificados. Por razones de compatibilidad, esta adaptación para PDFlib todavía soporta la mayoría de las funciones obsoletas, pero deberían ser reemplazadas por sus versiones nuevas. PDFlib GmbH no tendrá soporte para cualquier problema surgido del uso de estas funciones obsoletas. La documentación de esta sección indica las funciones antiguas como "Obsoletas" y otorga la función sustituta para que se use en su lugar.

Tabla de contenidos

  • PDF_activate_item — Activar un elemendo de estructura u otro elemento de contenido
  • PDF_add_annotation — Añadir una anotación [obsoleta]
  • PDF_add_bookmark — Añadir un marcador a la página actual [obsoleta]
  • PDF_add_launchlink — Añadir una anotación de lanzamiento a la página actual [obsoleta]
  • PDF_add_locallink — Añadir una anotación de enlace a la página actual [obsoleta]
  • PDF_add_nameddest — Crear un destino con nombre
  • PDF_add_note — Establecer una anotación para la página actual [obsoleta]
  • PDF_add_outline — Añadir un marcador a la página actual [obsoleta]
  • PDF_add_pdflink — Añadir una anotación de enlace de página a la página actual [obsoleta]
  • PDF_add_table_cell — Añadir una celda a una tabla nueva o ya existente
  • PDF_add_textflow — Crear un Textflow o añadir texto al Textflow existente
  • PDF_add_thumbnail — Añadir una imagen en miniatura a la página actual
  • PDF_add_weblink — Añadir un enlace web a la página actual [obsoleta]
  • PDF_arc — Dibujar un segmento de arco circular en el sentido contrario a las agujas del reloj
  • PDF_arcn — Dibujar un segmento de arco circular en el sentido de las agujas del reloj
  • PDF_attach_file — Añadir un documento adjunto a la página actual [obsoleta]
  • PDF_begin_document — Crear un nuevo archivo PDF
  • PDF_begin_font — Iniciar una definición de una fuente Type 3
  • PDF_begin_glyph — Iniciar la definición de un glifo para una fuente Type 3
  • PDF_begin_item — Abrir un elemento de estructura u otro elemento de contenido
  • PDF_begin_layer — Iniciar una capa
  • PDF_begin_page_ext — Inicia una nueva página
  • PDF_begin_page — Iniciar una nueva página [obsoleta]
  • PDF_begin_pattern — Iniciar una definición de patrón
  • PDF_begin_template_ext — Iniciar una definición de plantilla
  • PDF_begin_template — Inicia la definición de plantilla [obsoleta]
  • PDF_circle — Dibujar un círculo
  • PDF_clip — Recortar el trazado actual
  • PDF_close_image — Cerrar un imagen
  • PDF_close_pdi_page — Cerrar un gestor de página
  • PDF_close_pdi — Cerrar el documento PDF de entrada [obsoleta]
  • PDF_close — Cerrar un recurso pdf [obsoleta]
  • PDF_closepath_fill_stroke — Cerrar, rellenar y contornear el trazado actual
  • PDF_closepath_stroke — Cerrar y contornear un trazado
  • PDF_closepath — Cerrar el trazado actual
  • PDF_concat — Concatenar una matriz a la CTM
  • PDF_continue_text — Imprimir texto en la siguiente línea
  • PDF_create_3dview — Crear una vista 3D
  • PDF_create_action — Crear una acción para objetos o eventos
  • PDF_create_annotation — Crear una anotación rectangular
  • PDF_create_bookmark — Crear un marcador
  • PDF_create_field — Crear un campo de formulario
  • PDF_create_fieldgroup — Crear un grupo de campos de formulario
  • PDF_create_gstate — Crear un objeto de estado
  • PDF_create_pvf — Crear un archivo virtual PDFlib
  • PDF_create_textflow — Crear un objeto textflow
  • PDF_curveto — Dibujar una curva de Bézier
  • PDF_define_layer — Crear una definición de capa
  • PDF_delete_pvf — Borrar un archivo PDFlib virtual
  • PDF_delete_table — Borrar un objeto tabla
  • PDF_delete_textflow — Borrar un objeto textflow
  • PDF_delete — Borrar un objeto PDFlib
  • PDF_encoding_set_char — Añadir un nombre de glifo y/o un valor Unicode
  • PDF_end_document — Cerrar un archivo PDF
  • PDF_end_font — Finalizar la definición de una fuente Type 3
  • PDF_end_glyph — Finalizar la definición de un glifo para una fuente Type 3
  • PDF_end_item — Cerrar un elemento de estructura u otro elemento de contenido
  • PDF_end_layer — Desactivar todas las capas activas
  • PDF_end_page_ext — Finalizar una página
  • PDF_end_page — Finalizar un página
  • PDF_end_pattern — Finalizar un patrón
  • PDF_end_template — Finalizar una plantilla
  • PDF_endpath — Finalizar el trazado actual
  • PDF_fill_imageblock — Rellenar un bloque de imagen con información variable
  • PDF_fill_pdfblock — Rellenar un bloque PDF con información variable
  • PDF_fill_stroke — Rellenar y contornear un trazado
  • PDF_fill_textblock — Rellenar un bloque de texto con infomación variable
  • PDF_fill — Rellenar el trazado actual
  • PDF_findfont — Preparar una fuente para un uso posterior [obsoleta]
  • PDF_fit_image — Colocar una imagen o plantilla
  • PDF_fit_pdi_page — Colocar una página PDF importada
  • PDF_fit_table — Colocar una tabla en una página
  • PDF_fit_textflow — Formatear un textflow en un área rectangular
  • PDF_fit_textline — Colocar una simple línea de texto
  • PDF_get_apiname — Obtener el nombre de una función API que falló
  • PDF_get_buffer — Obtener el buffer de salida de PDF
  • PDF_get_errmsg — Obtener el texto del error
  • PDF_get_errnum — Obtener el número de error
  • PDF_get_font — Obtener una fuente [obsoleta]
  • PDF_get_fontname — Obtener el nombre de una fuente [obsoleta]
  • PDF_get_fontsize — Manejo de fuentes [obsoleta]
  • PDF_get_image_height — Obtener el alto de una imagen [obsoleta]
  • PDF_get_image_width — Obtener el ancho de una imagen [obsoleta]
  • PDF_get_majorversion — Obtener el número de la versión mayor [obsoleta]
  • PDF_get_minorversion — Obtener el número de versión menor [obsoleta]
  • PDF_get_parameter — Obtener un parámetro de cadena
  • PDF_get_pdi_parameter — Obtener un parámetro de cadena de un PDI [obsoleta]
  • PDF_get_pdi_value — Obtener un parámetro númerico de un PDI [obsoleta]
  • PDF_get_value — Obtener un parámetro numérico
  • PDF_info_font — Preguntar información detallada acerca de una fuente cargada
  • PDF_info_matchbox — Preguntar sobre la información de un matchbox
  • PDF_info_table — Recuperar la información de una tabla
  • PDF_info_textflow — Preguntar por el estado de un textflow
  • PDF_info_textline — Llevar a cabo el formateo textline y preguntar por las métricas
  • PDF_initgraphics — Reiniciar el estado de un gráfico
  • PDF_lineto — Dibujar una línea
  • PDF_load_3ddata — Cargar un modelo 3D
  • PDF_load_font — Buscar y preparar una fuente
  • PDF_load_iccprofile — Buscar y preparar un perfil ICC
  • PDF_load_image — Abrir un archivo de imagen
  • PDF_makespotcolor — Crea un color de impresión
  • PDF_moveto — Establecer el punto actual
  • PDF_new — Crear un objeto PDFlib
  • PDF_open_ccitt — Abrir una imagen CCITT en bruto [obsoleta]
  • PDF_open_file — Crear un archivo PDF [obsoleta]
  • PDF_open_gif — Abrir una imagen GIF [obsoleta]
  • PDF_open_image_file — Leer una imagen desde un archivo [obsoleta]
  • PDF_open_image — Usar información de una imagen [obsoleta]
  • PDF_open_jpeg — Abrir una imagen JPEG [obsoleta]
  • PDF_open_memory_image — Abrir una imagen creada con las funciones de imagen de PHP [no soportada]
  • PDF_open_pdi_document — Preparar un documento pdi
  • PDF_open_pdi_page — Preparar una página
  • PDF_open_pdi — Abrir un archivo PDF [obsoleta]
  • PDF_open_tiff — Abrir una imagen TIFF [obsoleta]
  • PDF_pcos_get_number — Obtener el valor de una ruta pCOS con el tipo number o boolean
  • PDF_pcos_get_stream — Obtener el contenido de una ruta pCOS con el tipo stream, fstream, o string
  • PDF_pcos_get_string — Obtener el valor de una ruta pCOS con el tipo name, string, o boolean
  • PDF_place_image — Colocar una imagen en una página [obsoleta]
  • PDF_place_pdi_page — Colocar una página PDF [obsoleta]
  • PDF_process_pdi — Procesar un documento PDF importado
  • PDF_rect — Dibujar un rectángulo
  • PDF_restore — Restablecer el estado de gráficos
  • PDF_resume_page — Reanudar un página
  • PDF_rotate — Rotar el sistema de coordenadas
  • PDF_save — Guardar el estado de gráficos
  • PDF_scale — Escalar el sistema de coordenadas
  • PDF_set_border_color — Establecer el color del borde de las anotaciones [obsoleta]
  • PDF_set_border_dash — Establecer el estilo de borde discontinuo de las anotaciones [obsoleta]
  • PDF_set_border_style — Establecer el estilo de borde de las anotaciones [obsoleta]
  • PDF_set_char_spacing — Establecer el espacio entre caracteres [obsoleta]
  • PDF_set_duration — Establecer la duración entre páginas [obsoleta]
  • PDF_set_gstate — Activar un objeto de estado de gráficos
  • PDF_set_horiz_scaling — Establecer la escala de texto horizontal [obsoleta]
  • PDF_set_info_author — Rellenar el campo de información del autor de un documento [obsoleta]
  • PDF_set_info_creator — Rellenar el campo de información del creador de un documento [obsoleta]
  • PDF_set_info_keywords — Rellenar el campo de información de las palabras clave de un documento [obsoleta]
  • PDF_set_info_subject — Rellenar el campo de información del asunto de un documento [obsoleta]
  • PDF_set_info_title — Rellenar el campo de información del título de un documento [obsoleta]
  • PDF_set_info — Rellenar el campo de información de un documento
  • PDF_set_layer_dependency — Definir la relación entre capas
  • PDF_set_leading — Esteblecer la distancia entre líneas de texto [obsoleta]
  • PDF_set_parameter — Establecer un parámetro de cadena
  • PDF_set_text_matrix — Establecer la matriz del texto [obsoleta]
  • PDF_set_text_pos — Establecer la posición del texto
  • PDF_set_text_rendering — Determinar la renderización del texto [obsoleta]
  • PDF_set_text_rise — Establecer la elevación de texto [obsoleta]
  • PDF_set_value — Establecer un parámetro numérico
  • PDF_set_word_spacing — Establecer el espacio entre palabras [obsoleta]
  • PDF_setcolor — Establecer el color de relleno y contorno
  • PDF_setdash — Establecer el patrón de discontinuidad simple
  • PDF_setdashpattern — Establecer el patrón de discontinuidad
  • PDF_setflat — Establecer el parámetro flatness
  • PDF_setfont — Establecer un fuente
  • PDF_setgray_fill — Establecer el color de relleno a gris [obsoleta]
  • PDF_setgray_stroke — Establecer el color de contorno a gris [obsoleta]
  • PDF_setgray — Establecer el color a gris [obsoleta]
  • PDF_setlinecap — Establecer el parámetro linecap
  • PDF_setlinejoin — Establecer el parámetro linejoin
  • PDF_setlinewidth — Establecer el ancho de línea
  • PDF_setmatrix — Establecer la matriz de transformación actual
  • PDF_setmiterlimit — Establecer el límite del inglete
  • PDF_setpolydash — Establecer un patrón de discontinuidad complicado [obsoleta]
  • PDF_setrgbcolor_fill — Establecer los valores de color rgb del relleno [obsoleta]
  • PDF_setrgbcolor_stroke — Establecer los valores de color rgb del contorno [obsoleta]
  • PDF_setrgbcolor — Establecer los valores de color rgb del relleno y del contorno [obsoleta]
  • PDF_shading_pattern — Definir un patrón de sombreado
  • PDF_shading — Definir un mezcla
  • PDF_shfill — Rellenar un área con sombreado
  • PDF_show_boxed — Imprimir un texto en una caja [obsoleta]
  • PDF_show_xy — Imprimir un texto en una posición dada
  • PDF_show — Imrpimir un texto en la posición actual
  • PDF_skew — Torcer el sistema de coordenadas
  • PDF_stringwidth — Devolver el ancho de un texto
  • PDF_stroke — Contornear un trazado
  • PDF_suspend_page — Suspender una página
  • PDF_translate — Establecer el origen del sistema de coordenadas
  • PDF_utf16_to_utf8 — Convertir una cadena de UTF-16 a UTF-8
  • PDF_utf32_to_utf16 — Convertir una cadena de UTF-32 a UTF-16
  • PDF_utf8_to_utf16 — Convertir una cadena de UTF-8 a UTF-16
Basic Usage Examples
PDF_activate_item
PDF


Activar un elemendo de estructura u otro elemento de contenido

Funciones PDF
PDF_add_annotation
Funciones PDF
PHP Manual

PDF_activate_item

(PECL pdflib >= 2.0.0)

PDF_activate_item — Activar un elemendo de estructura u otro elemento de contenido

Descripción

bool PDF_activate_item ( resource $pdfdoc , int $id )

Activar un elemendo de estructura u otro elemento de contenido previamente creados. Devuelve TRUE en caso de éxito o FALSE en caso de error.

Funciones PDF
PDF_add_annotation
Funciones PDF


Añadir una anotación [obsoleta]

PDF_activate_item
PDF_add_bookmark
Funciones PDF
PHP Manual

PDF_add_annotation

(PHP 4, PECL pdflib >= 1.0.0)

PDF_add_annotation — Añadir una anotación [obsoleta]

Descripción

Esta función está obsoleta, use PDF_create_annotation() con type=Text en su lugar.

PDF_activate_item
PDF_add_bookmark
Funciones PDF


Añadir un marcador a la página actual [obsoleta]

PDF_add_annotation
PDF_add_launchlink
Funciones PDF
PHP Manual

PDF_add_bookmark

(PHP 4 >= 4.0.1, PECL pdflib >= 1.0.0)

PDF_add_bookmark — Añadir un marcador a la página actual [obsoleta]

Descripción

Esta función está obsoleta desde la versión 6 de PDFlib, use PDF_create_bookmark() en su lugar.

PDF_add_annotation
PDF_add_launchlink
Funciones PDF


Añadir una anotación de lanzamiento a la página actual [obsoleta]

PDF_add_bookmark
PDF_add_locallink
Funciones PDF
PHP Manual

PDF_add_launchlink

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_add_launchlink — Añadir una anotación de lanzamiento a la página actual [obsoleta]

Descripción

bool PDF_add_launchlink ( resource $pdfdoc , float $llx , float $lly , float $urx , float $ury , string $filename )

Añade un enlace a un recurso web.

Esta función está obsoleta desde la versión 6 de PDFlib,
use  PDF_create_action() con
type=Launch y
 PDF_create_annotation() con
type=Link en su lugar.

PDF_add_bookmark
PDF_add_locallink
Funciones PDF


Añadir una anotación de enlace a la página actual [obsoleta]

PDF_add_launchlink
PDF_add_nameddest
Funciones PDF
PHP Manual

PDF_add_locallink

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_add_locallink — Añadir una anotación de enlace a la página actual [obsoleta]

Descripción

bool PDF_add_locallink ( resource $pdfdoc , float $lowerleftx , float $lowerlefty , float $upperrightx , float $upperrighty , int $page , string $dest )

Añade una anotación al objetivo dentro del archivo PDF actual. Devuelve TRUE en caso de éxito o FALSE en caso de error.

Esta función está obsoleta desde la versión 6 de PDFlib, use
 PDF_create_action() con type=GoTo
y  PDF_create_annotation() con
type=Link en su lugar.

PDF_add_launchlink
PDF_add_nameddest
Funciones PDF


Crear un destino con nombre

PDF_add_locallink
PDF_add_note
Funciones PDF
PHP Manual

PDF_add_nameddest

(PECL pdflib >= 2.0.0)

PDF_add_nameddest — Crear un destino con nombre

Descripción

bool PDF_add_nameddest ( resource $pdfdoc , string $name , string $optlist )

Crea un destino con nombre sobre una página arbitraria en el documento actual. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_add_locallink
PDF_add_note
Funciones PDF


Establecer una anotación para la página actual [obsoleta]

PDF_add_nameddest
PDF_add_outline
Funciones PDF
PHP Manual

PDF_add_note

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_add_note — Establecer una anotación para la página actual [obsoleta]

Descripción

bool PDF_add_note ( resource $pdfdoc , float $llx , float $lly , float $urx , float $ury , string $contents , string $title , string $icon , int $open )

Establece una anotación para la página actual. Devuelve TRUE en caso de éxito o FALSE en caso de error.

Esta función está obsoleta desde la versión 6 de PDFlib, use PDF_create_annotation() con type=Text en su lugar.

PDF_add_nameddest
PDF_add_outline
Funciones PDF


Añadir un marcador a la página actual [obsoleta]

PDF_add_note
PDF_add_pdflink
Funciones PDF
PHP Manual

PDF_add_outline

(PHP 4, PECL pdflib >= 1.0.0)

PDF_add_outline — Añadir un marcador a la página actual [obsoleta]

Descripción

Esta función está obsoleta, use PDF_create_bookmark() en su lugar.

PDF_add_note
PDF_add_pdflink
Funciones PDF


Añadir una anotación de enlace de página a la página actual [obsoleta]

PDF_add_outline
PDF_add_table_cell
Funciones PDF
PHP Manual

PDF_add_pdflink

(PHP 4, PECL pdflib >= 1.0.0)

PDF_add_pdflink — Añadir una anotación de enlace de página a la página actual [obsoleta]

Descripción

bool PDF_add_pdflink ( resource $pdfdoc , float $bottom_left_x , float $bottom_left_y , float $up_right_x , float $up_right_y , string $filename , int $page , string $dest )

Añade una anotación de enlace de página a un PDF objetivo. Devuelve TRUE en caso de éxito o FALSE en caso de error.

Esta función está obsoleta desde la versión 6 de PDFlib, use
 PDF_create_action() con
type=GoToR y
 PDF_create_annotation() con
type=Link en su lugar.

PDF_add_outline
PDF_add_table_cell
Funciones PDF


Añadir una celda a una tabla nueva o ya existente

PDF_add_pdflink
PDF_add_textflow
Funciones PDF
PHP Manual

PDF_add_table_cell

(PECL pdflib >= 2.1.0)

PDF_add_table_cell — Añadir una celda a una tabla nueva o ya existente

Descripción

int PDF_add_table_cell ( resource $pdfdoc , int $table , int $column , int $row , string $text , string $optlist )

Añade una celda a una tabla nueva o ya existente.

PDF_add_pdflink
PDF_add_textflow
Funciones PDF


Crear un Textflow o añadir texto al Textflow existente

PDF_add_table_cell
PDF_add_thumbnail
Funciones PDF
PHP Manual

PDF_add_textflow

(PECL pdflib >= 2.1.0)

PDF_add_textflow — Crear un Textflow o añadir texto al Textflow existente

Descripción

int PDF_add_textflow ( resource $pdfdoc , int $textflow , string $text , string $optlist )

Crea un objeto Textflow, o añade texto y opciones explícitas al Textflow existente.

PDF_add_table_cell
PDF_add_thumbnail
Funciones PDF


Añadir una imagen en miniatura a la página actual

PDF_add_textflow
PDF_add_weblink
Funciones PDF
PHP Manual

PDF_add_thumbnail

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_add_thumbnail — Añadir una imagen en miniatura a la página actual

Descripción

bool PDF_add_thumbnail ( resource $pdfdoc , int $image )

Añade una imgen existente como miniatura a la página actual. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_add_textflow
PDF_add_weblink
Funciones PDF


Añadir un enlace web a la página actual [obsoleta]

PDF_add_thumbnail
PDF_arc
Funciones PDF
PHP Manual

PDF_add_weblink

(PHP 4, PECL pdflib >= 1.0.0)

PDF_add_weblink — Añadir un enlace web a la página actual [obsoleta]

Descripción

bool PDF_add_weblink ( resource $pdfdoc , float $lowerleftx , float $lowerlefty , float $upperrightx , float $upperrighty , string $url )

Añade una anotación de un enlace web a la url objetivo en la Web. Devuelve TRUE en caso de éxito o FALSE en caso de error.

Esta función está obsoleta desde la versión 6 de PDFlib, use
 PDF_create_action() con type=URI
y  PDF_create_annotation() con
type=Link en su lugar.

PDF_add_thumbnail
PDF_arc
Funciones PDF


Dibujar un segmento de arco circular en el sentido contrario a las agujas del reloj

PDF_add_weblink
PDF_arcn
Funciones PDF
PHP Manual

PDF_arc

(PHP 4, PECL pdflib >= 1.0.0)

PDF_arc — Dibujar un segmento de arco circular en el sentido contrario a las agujas del reloj

Descripción

bool PDF_arc ( resource $p , float $x , float $y , float $r , float $alpha , float $beta )

Añade un arco circular en el sentido contrario a las agujas del reloj.

PDF_add_weblink
PDF_arcn
Funciones PDF


Dibujar un segmento de arco circular en el sentido de las agujas del reloj

PDF_arc
PDF_attach_file
Funciones PDF
PHP Manual

PDF_arcn

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_arcn — Dibujar un segmento de arco circular en el sentido de las agujas del reloj

Descripción

bool PDF_arcn ( resource $p , float $x , float $y , float $r , float $alpha , float $beta )

Excepto por la dirección de dibujo, esta función se comporta exactamente como PDF_arc().

PDF_arc
PDF_attach_file
Funciones PDF


Añadir un documento adjunto a la página actual [obsoleta]

PDF_arcn
PDF_begin_document
Funciones PDF
PHP Manual

PDF_attach_file

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_attach_file — Añadir un documento adjunto a la página actual [obsoleta]

Descripción

bool PDF_attach_file ( resource $pdfdoc , float $llx , float $lly , float $urx , float $ury , string $filename , string $description , string $author , string $mimetype , string $icon )

Añade una anotación de documento adjunto. Devuelve TRUE en caso de éxito o FALSE en caso de error.

Esta función está obsoleta desde la versión 6 de PDFlib, use PDF_create_annotation() con type=FileAttachment en su lugar.

PDF_arcn
PDF_begin_document
Funciones PDF


Crear un nuevo archivo PDF

PDF_attach_file
PDF_begin_font
Funciones PDF
PHP Manual

PDF_begin_document

(PECL pdflib >= 2.0.0)

PDF_begin_document — Crear un nuevo archivo PDF

Descripción

int PDF_begin_document ( resource $pdfdoc , string $filename , string $optlist )

Crear un nuevo archivo PDF sujeto a varias opciones.

PDF_attach_file
PDF_begin_font
Funciones PDF


Iniciar una definición de una fuente Type 3

PDF_begin_document
PDF_begin_glyph
Funciones PDF
PHP Manual

PDF_begin_font

(PECL pdflib >= 2.0.0)

PDF_begin_font — Iniciar una definición de una fuente Type 3

Descripción

bool PDF_begin_font ( resource $pdfdoc , string $filename , float $a , float $b , float $c , float $d , float $e , float $f , string $optlist )

Inicia una definición de una fuente Type 3.

PDF_begin_document
PDF_begin_glyph
Funciones PDF


Iniciar la definición de un glifo para una fuente Type 3

PDF_begin_font
PDF_begin_item
Funciones PDF
PHP Manual

PDF_begin_glyph

(PECL pdflib >= 2.0.0)

PDF_begin_glyph — Iniciar la definición de un glifo para una fuente Type 3

Descripción

bool PDF_begin_glyph ( resource $pdfdoc , string $glyphname , float $wx , float $llx , float $lly , float $urx , float $ury )

Inicia la definición de un glifo para una fuente Type 3

PDF_begin_font
PDF_begin_item
Funciones PDF


Abrir un elemento de estructura u otro elemento de contenido

PDF_begin_glyph
PDF_begin_layer
Funciones PDF
PHP Manual

PDF_begin_item

(PECL pdflib >= 2.0.0)

PDF_begin_item — Abrir un elemento de estructura u otro elemento de contenido

Descripción

int PDF_begin_item ( resource $pdfdoc , string $tag , string $optlist )

Abre un elemento de estructura u otro elemento de contenido con los atributos proporcionados como opciones.

PDF_begin_glyph
PDF_begin_layer
Funciones PDF


Iniciar una capa

PDF_begin_item
PDF_begin_page_ext
Funciones PDF
PHP Manual

PDF_begin_layer

(PECL pdflib >= 2.0.0)

PDF_begin_layer — Iniciar una capa

Descripción

bool PDF_begin_layer ( resource $pdfdoc , int $layer )

Inicia una capa para la subsiguiente impresión en la página. Devuelve TRUE en caso de éxito o FALSE en caso de error.

Esta función requiere PDF 1.5.

PDF_begin_item
PDF_begin_page_ext
Funciones PDF


Inicia una nueva página

PDF_begin_layer
PDF_begin_page
Funciones PDF
PHP Manual

PDF_begin_page_ext

(PECL pdflib >= 2.0.0)

PDF_begin_page_ext — Inicia una nueva página

Descripción

bool PDF_begin_page_ext ( resource $pdfdoc , float $width , float $height , string $optlist )

Añade una nueva página al documento, y especifica varias opciones. Los parámetros width y height son las dimensiones de la nueva página en puntos. Devuelve TRUE en caso de éxito o FALSE en caso de error.

Tamaños de Página Comunes en Puntos
nombre | tamaño
A0 | 2380 x 3368
A1 | 1684 x 2380
A2 | 1190 x 1684
A3 | 842 x 1190
A4 | 595 x 842
A5 | 421 x 595
A6 | 297 x 421
B5 | 501 x 709
letter (8.5" x 11") | 612 x 792
legal (8.5" x 14") | 612 x 1008
ledger (17" x 11") | 1224 x 792
11" x 17" | 792 x 1224

PDF_begin_layer
PDF_begin_page
Funciones PDF


Iniciar una nueva página [obsoleta]

PDF_begin_page_ext
PDF_begin_pattern
Funciones PDF
PHP Manual

PDF_begin_page

(PHP 4, PECL pdflib >= 1.0.0)

PDF_begin_page — Iniciar una nueva página [obsoleta]

Descripción

bool PDF_begin_page ( resource $pdfdoc , float $width , float $height )

Añade una nueva página al documento. Devuelve TRUE en caso de éxito o FALSE en caso de error.

Esta función está obsoleta desde la versión 6 de PDFlib, use PDF_begin_page_ext() en su lugar.

PDF_begin_page_ext
PDF_begin_pattern
Funciones PDF


Iniciar una definición de patrón

PDF_begin_page
PDF_begin_template_ext
Funciones PDF
PHP Manual

PDF_begin_pattern

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_begin_pattern — Iniciar una definición de patrón

Descripción

int PDF_begin_pattern ( resource $pdfdoc , float $width , float $height , float $xstep , float $ystep , int $painttype )

Inicia una nueva definición de patrón.

PDF_begin_page
PDF_begin_template_ext
Funciones PDF


Iniciar una definición de plantilla

PDF_begin_pattern
PDF_begin_template
Funciones PDF
PHP Manual

PDF_begin_template_ext

(PECL pdflib >= 2.1.0)

PDF_begin_template_ext — Iniciar una definición de plantilla

Descripción

int PDF_begin_template_ext ( resource $pdfdoc , float $width , float $height , string $optlist )

Inicia una nueva definición de plantilla.

PDF_begin_pattern
PDF_begin_template
Funciones PDF


Inicia la definición de plantilla [obsoleta]

PDF_begin_template_ext
PDF_circle
Funciones PDF
PHP Manual

PDF_begin_template

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_begin_template — Inicia la definición de plantilla [obsoleta]

Descripción

int PDF_begin_template ( resource $pdfdoc , float $width , float $height )

Inicia una nueva definición de plantilla.

Esta función está obsoleta desde la versión 7 de PDFlib, use PDF_begin_template_ext() en su lugar.

PDF_begin_template_ext
PDF_circle
Funciones PDF


Dibujar un círculo

PDF_begin_template
PDF_clip
Funciones PDF
PHP Manual

PDF_circle

(PHP 4, PECL pdflib >= 1.0.0)

PDF_circle — Dibujar un círculo

Descripción

bool PDF_circle ( resource $pdfdoc , float $x , float $y , float $r )

Añade un círculo. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_begin_template
PDF_clip
Funciones PDF


Recortar el trazado actual

PDF_circle
PDF_close_image
Funciones PDF
PHP Manual

PDF_clip

(PHP 4, PECL pdflib >= 1.0.0)

PDF_clip — Recortar el trazado actual

Descripción

bool PDF_clip ( resource $p )

Usa el trazado actual como un trazado de recorte, y pone fin al trazado. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_circle
PDF_close_image
Funciones PDF


Cerrar un imagen

PDF_clip
PDF_close_pdi_page
Funciones PDF
PHP Manual

PDF_close_image

(PHP 4, PECL pdflib >= 1.0.0)

PDF_close_image — Cerrar un imagen

Descripción

bool PDF_close_image ( resource $p , int $image )

Cierra la imagen image recuperada con la función PDF_open_image().

PDF_clip
PDF_close_pdi_page
Funciones PDF


Cerrar un gestor de página

PDF_close_image
PDF_close_pdi
Funciones PDF
PHP Manual

PDF_close_pdi_page

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_close_pdi_page — Cerrar un gestor de página

Descripción

bool PDF_close_pdi_page ( resource $p , int $page )

Cierra un gestor de página y libera todos los recursos de página relacionados. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_close_image
PDF_close_pdi
Funciones PDF


Cerrar el documento PDF de entrada [obsoleta]

PDF_close_pdi_page
PDF_close
Funciones PDF
PHP Manual

PDF_close_pdi

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_close_pdi — Cerrar el documento PDF de entrada [obsoleta]

Descripción

bool PDF_close_pdi ( resource $p , int $doc )

Cierra todos los gestores de página abiertos y cierra el documento PDF de entrada. Devuelve TRUE en caso de éxito o FALSE en caso de error.

Esta función está obsoleta desde la versión 7 de PDFlib, use PDF_close_pdi_document() en su lugar.

PDF_close_pdi_page
PDF_close
Funciones PDF


Cerrar un recurso pdf [obsoleta]

PDF_close_pdi
PDF_closepath_fill_stroke
Funciones PDF
PHP Manual

PDF_close

(PHP 4, PECL pdflib >= 1.0.0)

PDF_close — Cerrar un recurso pdf [obsoleta]

Descripción

bool PDF_close ( resource $p )

Cierra el archivo PDF generado y libera todos los recursos del documento relacionados. Devuelve TRUE en caso de éxito o FALSE en caso de error.

Esta función está obsoleta desde la versión 6 de PDFlib, use PDF_end_document() en su lugar.

PDF_close_pdi
PDF_closepath_fill_stroke
Funciones PDF


Cerrar, rellenar y contornear el trazado actual

PDF_close
PDF_closepath_stroke
Funciones PDF
PHP Manual

PDF_closepath_fill_stroke

(PHP 4, PECL pdflib >= 1.0.0)

PDF_closepath_fill_stroke — Cerrar, rellenar y contornear el trazado actual

Descripción

bool PDF_closepath_fill_stroke ( resource $p )

Cierra el trazado, lo rellena y lo contornea. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_close
PDF_closepath_stroke
Funciones PDF


Cerrar y contornear un trazado

PDF_closepath_fill_stroke
PDF_closepath
Funciones PDF
PHP Manual

PDF_closepath_stroke

(PHP 4, PECL pdflib >= 1.0.0)

PDF_closepath_stroke — Cerrar y contornear un trazado

Descripción

bool PDF_closepath_stroke ( resource $p )

Cierra el trazado y lo contornea. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_closepath_fill_stroke
PDF_closepath
Funciones PDF


Cerrar el trazado actual

PDF_closepath_stroke
PDF_concat
Funciones PDF
PHP Manual

PDF_closepath

(PHP 4, PECL pdflib >= 1.0.0)

PDF_closepath — Cerrar el trazado actual

Descripción

bool PDF_closepath ( resource $p )

Cierra el trazado actual. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_closepath_stroke
PDF_concat
Funciones PDF


Concatenar una matriz a la CTM

PDF_closepath
PDF_continue_text
Funciones PDF
PHP Manual

PDF_concat

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_concat — Concatenar una matriz a la CTM

Descripción

bool PDF_concat ( resource $p , float $a , float $b , float $c , float $d , float $e , float $f )

Concatena una matriz a la matriz de transformación actual (CTM en inglés). Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_closepath
PDF_continue_text
Funciones PDF


Imprimir texto en la siguiente línea

PDF_concat
PDF_create_3dview
Funciones PDF
PHP Manual

PDF_continue_text

(PHP 4, PECL pdflib >= 1.0.0)

PDF_continue_text — Imprimir texto en la siguiente línea

Descripción

bool PDF_continue_text ( resource $p , string $text )

Imprime el texto text en la siguiente línea. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_concat
PDF_create_3dview
Funciones PDF


Crear una vista 3D

PDF_continue_text
PDF_create_action
Funciones PDF
PHP Manual

PDF_create_3dview

(PECL pdflib >= 2.1.0)

PDF_create_3dview — Crear una vista 3D

Descripción

int PDF_create_3dview ( resource $pdfdoc , string $username , string $optlist )

Crea una vista 3D.

Esta función requiere PDF 1.6.

PDF_continue_text
PDF_create_action
Funciones PDF


Crear una acción para objetos o eventos

PDF_create_3dview
PDF_create_annotation
Funciones PDF
PHP Manual

PDF_create_action

(PECL pdflib >= 2.0.0)

PDF_create_action — Crear una acción para objetos o eventos

Descripción

int PDF_create_action ( resource $pdfdoc , string $type , string $optlist )

Crea una acción que puede ser aplicada a varios objetos y eventos.

PDF_create_3dview
PDF_create_annotation
Funciones PDF


Crear una anotación rectangular

PDF_create_action
PDF_create_bookmark
Funciones PDF
PHP Manual

PDF_create_annotation

(PECL pdflib >= 2.0.0)

PDF_create_annotation — Crear una anotación rectangular

Descripción

bool PDF_create_annotation ( resource $pdfdoc , float $llx , float $lly , float $urx , float $ury , string $type , string $optlist )

Crea una anotación rectangular en la página actual.

PDF_create_action
PDF_create_bookmark
Funciones PDF


Crear un marcador

PDF_create_annotation
PDF_create_field
Funciones PDF
PHP Manual

PDF_create_bookmark

(PECL pdflib >= 2.0.0)

PDF_create_bookmark — Crear un marcador

Descripción

int PDF_create_bookmark ( resource $pdfdoc , string $text , string $optlist )

Crea un marcador sujeto a varias opciones.

PDF_create_annotation
PDF_create_field
Funciones PDF


Crear un campo de formulario

PDF_create_bookmark
PDF_create_fieldgroup
Funciones PDF
PHP Manual

PDF_create_field

(PECL pdflib >= 2.0.0)

PDF_create_field — Crear un campo de formulario

Descripción

bool PDF_create_field ( resource $pdfdoc , float $llx , float $lly , float $urx , float $ury , string $name , string $type , string $optlist )

Crea un campo de formulario en la página actual sujeto a varias opciones.

PDF_create_bookmark
PDF_create_fieldgroup
Funciones PDF


Crear un grupo de campos de formulario

PDF_create_field
PDF_create_gstate
Funciones PDF
PHP Manual

PDF_create_fieldgroup

(PECL pdflib >= 2.0.0)

PDF_create_fieldgroup — Crear un grupo de campos de formulario

Descripción

bool PDF_create_fieldgroup ( resource $pdfdoc , string $name , string $optlist )

Crea un grupo de campos de formulario sujeto a varias opciones.

PDF_create_field
PDF_create_gstate
Funciones PDF


Crear un objeto de estado

PDF_create_fieldgroup
PDF_create_pvf
Funciones PDF
PHP Manual

PDF_create_gstate

(PECL pdflib >= 2.0.0)

PDF_create_gstate — Crear un objeto de estado

Descripción

int PDF_create_gstate ( resource $pdfdoc , string $optlist )

Crea un objeto de estado de gráficos sujeto a varias opciones.

PDF_create_fieldgroup
PDF_create_pvf
Funciones PDF


Crear un archivo virtual PDFlib

PDF_create_gstate
PDF_create_textflow
Funciones PDF
PHP Manual

PDF_create_pvf

(PECL pdflib >= 2.0.0)

PDF_create_pvf — Crear un archivo virtual PDFlib

Descripción

bool PDF_create_pvf ( resource $pdfdoc , string $filename , string $data , string $optlist )

Crea un archivo virtual con nombre de sólo lectura desde la información proporcionada en la memoria.

PDF_create_gstate
PDF_create_textflow
Funciones PDF


Crear un objeto textflow

PDF_create_pvf
PDF_curveto
Funciones PDF
PHP Manual

PDF_create_textflow

(PECL pdflib >= 2.0.0)

PDF_create_textflow — Crear un objeto textflow

Descripción

int PDF_create_textflow ( resource $pdfdoc , string $text , string $optlist )

Pre-procesa texto para después formatear y crear un objeto textflow.

PDF_create_pvf
PDF_curveto
Funciones PDF


Dibujar una curva de Bézier

PDF_create_textflow
PDF_define_layer
Funciones PDF
PHP Manual

PDF_curveto

(PHP 4, PECL pdflib >= 1.0.0)

PDF_curveto — Dibujar una curva de Bézier

Descripción

bool PDF_curveto ( resource $p , float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )

Dibuja una curva de Bézier desde el punto actual, usando 3 puntos de control más. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_create_textflow
PDF_define_layer
Funciones PDF


Crear una definición de capa

PDF_curveto
PDF_delete_pvf
Funciones PDF
PHP Manual

PDF_define_layer

(PECL pdflib >= 2.0.0)

PDF_define_layer — Crear una definición de capa

Descripción

int PDF_define_layer ( resource $pdfdoc , string $name , string $optlist )

Crea una nueva definición de capa.

Esta función requiere PDF 1.5.

PDF_curveto
PDF_delete_pvf
Funciones PDF


Borrar un archivo PDFlib virtual

PDF_define_layer
PDF_delete_table
Funciones PDF
PHP Manual

PDF_delete_pvf

(PECL pdflib >= 2.0.0)

PDF_delete_pvf — Borrar un archivo PDFlib virtual

Descripción

int PDF_delete_pvf ( resource $pdfdoc , string $filename )

Borra un archivo virtual con nombre y libera su información de estructura (pero no el contenido).

PDF_define_layer
PDF_delete_table
Funciones PDF


Borrar un objeto tabla

PDF_delete_pvf
PDF_delete_textflow
Funciones PDF
PHP Manual

PDF_delete_table

(PECL pdflib >= 2.1.0)

PDF_delete_table — Borrar un objeto tabla

Descripción

bool PDF_delete_table ( resource $pdfdoc , int $table , string $optlist )

Borra una tabla y todas las estructuras de información asociadas.

PDF_delete_pvf
PDF_delete_textflow
Funciones PDF


Borrar un objeto textflow

PDF_delete_table
PDF_delete
Funciones PDF
PHP Manual

PDF_delete_textflow

(PECL pdflib >= 2.0.0)

PDF_delete_textflow — Borrar un objeto textflow

Descripción

bool PDF_delete_textflow ( resource $pdfdoc , int $textflow )

Borra un textflow y las estructuras de información asociadas.

PDF_delete_table
PDF_delete
Funciones PDF


Borrar un objeto PDFlib

PDF_delete_textflow
PDF_encoding_set_char
Funciones PDF
PHP Manual

PDF_delete

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_delete — Borrar un objeto PDFlib

Descripción

bool PDF_delete ( resource $pdfdoc )

Borra un objeto PDFlib, y libera todos los recursos internos. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_delete_textflow
PDF_encoding_set_char
Funciones PDF


Añadir un nombre de glifo y/o un valor Unicode

PDF_delete
PDF_end_document
Funciones PDF
PHP Manual

PDF_encoding_set_char

(PECL pdflib >= 2.0.0)

PDF_encoding_set_char — Añadir un nombre de glifo y/o un valor Unicode

Descripción

bool PDF_encoding_set_char ( resource $pdfdoc , string $encoding , int $slot , string $glyphname , int $uv )

Añade un nombre de glifo y/o un valor Unicode a una codificación hecha a medida.

PDF_delete
PDF_end_document
Funciones PDF


Cerrar un archivo PDF

PDF_encoding_set_char
PDF_end_font
Funciones PDF
PHP Manual

PDF_end_document

(PECL pdflib >= 2.0.0)

PDF_end_document — Cerrar un archivo PDF

Descripción

bool PDF_end_document ( resource $pdfdoc , string $optlist )

Cierra el archivo PDF generado y aplica varias opciones.

PDF_encoding_set_char
PDF_end_font
Funciones PDF


Finalizar la definición de una fuente Type 3

PDF_end_document
PDF_end_glyph
Funciones PDF
PHP Manual

PDF_end_font

(PECL pdflib >= 2.0.0)

PDF_end_font — Finalizar la definición de una fuente Type 3

Descripción

bool PDF_end_font ( resource $pdfdoc )

Finaliza la definición de una fuente Type 3.

PDF_end_document
PDF_end_glyph
Funciones PDF


Finalizar la definición de un glifo para una fuente Type 3

PDF_end_font
PDF_end_item
Funciones PDF
PHP Manual

PDF_end_glyph

(PECL pdflib >= 2.0.0)

PDF_end_glyph — Finalizar la definición de un glifo para una fuente Type 3

Descripción

bool PDF_end_glyph ( resource $pdfdoc )

Finaliza la definición de un glifo para una fuente Type 3.

PDF_end_font
PDF_end_item
Funciones PDF


Cerrar un elemento de estructura u otro elemento de contenido

PDF_end_glyph
PDF_end_layer
Funciones PDF
PHP Manual

PDF_end_item

(PECL pdflib >= 2.0.0)

PDF_end_item — Cerrar un elemento de estructura u otro elemento de contenido

Descripción

bool PDF_end_item ( resource $pdfdoc , int $id )

Cierra un elemento de estructura u otro elemento de contenido.

PDF_end_glyph
PDF_end_layer
Funciones PDF


Desactivar todas las capas activas

PDF_end_item
PDF_end_page_ext
Funciones PDF
PHP Manual

PDF_end_layer

(PECL pdflib >= 2.0.0)

PDF_end_layer — Desactivar todas las capas activas

Descripción

bool PDF_end_layer ( resource $pdfdoc )

Desactiva todas las capas activas. Devuelve TRUE en caso de éxito o FALSE en caso de error.

Esta función requiere PDF 1.5.

PDF_end_item
PDF_end_page_ext
Funciones PDF


Finalizar una página

PDF_end_layer
PDF_end_page
Funciones PDF
PHP Manual

PDF_end_page_ext

(PECL pdflib >= 2.0.0)

PDF_end_page_ext — Finalizar una página

Descripción

bool PDF_end_page_ext ( resource $pdfdoc , string $optlist )

Finaliza una página, y aplica varias opciones. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_end_layer
PDF_end_page
Funciones PDF


Finalizar un página

PDF_end_page_ext
PDF_end_pattern
Funciones PDF
PHP Manual

PDF_end_page

(PHP 4, PECL pdflib >= 1.0.0)

PDF_end_page — Finalizar un página

Descripción

bool PDF_end_page ( resource $p )

Finaliza la página. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_end_page_ext
PDF_end_pattern
Funciones PDF


Finalizar un patrón

PDF_end_page
PDF_end_template
Funciones PDF
PHP Manual

PDF_end_pattern

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_end_pattern — Finalizar un patrón

Descripción

bool PDF_end_pattern ( resource $p )

Finaliza la definición de un patrón. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_end_page
PDF_end_template
Funciones PDF


Finalizar una plantilla

PDF_end_pattern
PDF_endpath
Funciones PDF
PHP Manual

PDF_end_template

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_end_template — Finalizar una plantilla

Descripción

bool PDF_end_template ( resource $p )

Finaliza una definición de plantilla. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_end_pattern
PDF_endpath
Funciones PDF


Finalizar el trazado actual

PDF_end_template
PDF_fill_imageblock
Funciones PDF
PHP Manual

PDF_endpath

(PHP 4, PECL pdflib >= 1.0.0)

PDF_endpath — Finalizar el trazado actual

Descripción

bool PDF_endpath ( resource $p )

Finaliza el trazado actual sin rellenarlo o contornearlo.

PDF_end_template
PDF_fill_imageblock
Funciones PDF


Rellenar un bloque de imagen con información variable

PDF_endpath
PDF_fill_pdfblock
Funciones PDF
PHP Manual

PDF_fill_imageblock

(PECL pdflib >= 2.0.0)

PDF_fill_imageblock — Rellenar un bloque de imagen con información variable

Descripción

int PDF_fill_imageblock ( resource $pdfdoc , int $page , string $blockname , int $image , string $optlist )

Rellena un bloque de imagen con información variable según sus propiedades.

Esta función sólo está disponible en PDFlib Personalization Server (PPS).

PDF_endpath
PDF_fill_pdfblock
Funciones PDF


Rellenar un bloque PDF con información variable

PDF_fill_imageblock
PDF_fill_stroke
Funciones PDF
PHP Manual

PDF_fill_pdfblock

(PECL pdflib >= 2.0.0)

PDF_fill_pdfblock — Rellenar un bloque PDF con información variable

Descripción

int PDF_fill_pdfblock ( resource $pdfdoc , int $page , string $blockname , int $contents , string $optlist )

Rellena un bloque PDF con información variable según sus propiedades.

Esta función sólo está disponible en PDFlib Personalization Server (PPS).

PDF_fill_imageblock
PDF_fill_stroke
Funciones PDF


Rellenar y contornear un trazado

PDF_fill_pdfblock
PDF_fill_textblock
Funciones PDF
PHP Manual

PDF_fill_stroke

(PHP 4, PECL pdflib >= 1.0.0)

PDF_fill_stroke — Rellenar y contornear un trazado

Descripción

bool PDF_fill_stroke ( resource $p )

Rellena y contornea el trazado actual con el color de relleno y de contorno actuales. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_fill_pdfblock
PDF_fill_textblock
Funciones PDF


Rellenar un bloque de texto con infomación variable

PDF_fill_stroke
PDF_fill
Funciones PDF
PHP Manual

PDF_fill_textblock

(PECL pdflib >= 2.0.0)

PDF_fill_textblock — Rellenar un bloque de texto con infomación variable

Descripción

int PDF_fill_textblock ( resource $pdfdoc , int $page , string $blockname , string $text , string $optlist )

Rellena un bloque de texto con infomación variable según sus propiedades.

Esta función sólo está disponible en PDFlib Personalization Server (PPS).

PDF_fill_stroke
PDF_fill
Funciones PDF


Rellenar el trazado actual

PDF_fill_textblock
PDF_findfont
Funciones PDF
PHP Manual

PDF_fill

(PHP 4, PECL pdflib >= 1.0.0)

PDF_fill — Rellenar el trazado actual

Descripción

bool PDF_fill ( resource $p )

Rellena el interior del trazado actual con el color de relleno actual. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_fill_textblock
PDF_findfont
Funciones PDF


Preparar una fuente para un uso posterior [obsoleta]

PDF_fill
PDF_fit_image
Funciones PDF
PHP Manual

PDF_findfont

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_findfont — Preparar una fuente para un uso posterior [obsoleta]

Descripción

int PDF_findfont ( resource $p , string $fontname , string $encoding , int $embed )

Busca una fuente y la prepara para un uso posterior con PDF_setfont(). La métrica será cargada y si el párametro embed no es cero, el archivo de fuente será comprobado, pero no usado todavía. encoding es builtin, macroman, winansi, host, un nombre de codificación definido por el usuario o el nombre de un CMap. El parámetro embed es opcional antes de PHP 4.3.5 o con PDFlib anterior a 5.

Esta función está obsoleta desde la versión 5 de PDFlib, use PDF_load_font() en su lugar.

PDF_fill
PDF_fit_image
Funciones PDF


Colocar una imagen o plantilla

PDF_findfont
PDF_fit_pdi_page
Funciones PDF
PHP Manual

PDF_fit_image

(PECL pdflib >= 2.0.0)

PDF_fit_image — Colocar una imagen o plantilla

Descripción

bool PDF_fit_image ( resource $pdfdoc , int $image , float $x , float $y , string $optlist )

Coloca una imagen o plantilla en la página, sujetas a varias opciones. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_findfont
PDF_fit_pdi_page
Funciones PDF


Colocar una página PDF importada

PDF_fit_image
PDF_fit_table
Funciones PDF
PHP Manual

PDF_fit_pdi_page

(PECL pdflib >= 2.0.0)

PDF_fit_pdi_page — Colocar una página PDF importada

Descripción

bool PDF_fit_pdi_page ( resource $pdfdoc , int $page , float $x , float $y , string $optlist )

Coloca una página PDF importada en la página, sujeta a varias opciones. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_fit_image
PDF_fit_table
Funciones PDF


Colocar una tabla en una página

PDF_fit_pdi_page
PDF_fit_textflow
Funciones PDF
PHP Manual

PDF_fit_table

(PECL pdflib >= 2.1.0)

PDF_fit_table — Colocar una tabla en una página

Descripción

string PDF_fit_table ( resource $pdfdoc , int $table , float $llx , float $lly , float $urx , float $ury , string $optlist )

Coloca una tabla en la página total o parcialmente.

PDF_fit_pdi_page
PDF_fit_textflow
Funciones PDF


Formatear un textflow en un área rectangular

PDF_fit_table
PDF_fit_textline
Funciones PDF
PHP Manual

PDF_fit_textflow

(PECL pdflib >= 2.0.0)

PDF_fit_textflow — Formatear un textflow en un área rectangular

Descripción

string PDF_fit_textflow ( resource $pdfdoc , int $textflow , float $llx , float $lly , float $urx , float $ury , string $optlist )

Formatea la sigiente parte de un textflow en un área rectangular.

PDF_fit_table
PDF_fit_textline
Funciones PDF


Colocar una simple línea de texto

PDF_fit_textflow
PDF_get_apiname
Funciones PDF
PHP Manual

PDF_fit_textline

(PECL pdflib >= 2.0.0)

PDF_fit_textline — Colocar una simple línea de texto

Descripción

bool PDF_fit_textline ( resource $pdfdoc , string $text , float $x , float $y , string $optlist )

Coloca una simple línea de texto en la página, sujeta a varias opciones. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_fit_textflow
PDF_get_apiname
Funciones PDF


Obtener el nombre de una función API que falló

PDF_fit_textline
PDF_get_buffer
Funciones PDF
PHP Manual

PDF_get_apiname

(PECL pdflib >= 2.0.0)

PDF_get_apiname — Obtener el nombre de una función API que falló

Descripción

string PDF_get_apiname ( resource $pdfdoc )

Obtiene el nombre de la función API que lanzó la última excepción o falló.

PDF_fit_textline
PDF_get_buffer
Funciones PDF


Obtener el buffer de salida de PDF

PDF_get_apiname
PDF_get_errmsg
Funciones PDF
PHP Manual

PDF_get_buffer

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_get_buffer — Obtener el buffer de salida de PDF

Descripción

string PDF_get_buffer ( resource $p )

Trae el buffer que contiene la información PDF generada.

PDF_get_apiname
PDF_get_errmsg
Funciones PDF


Obtener el texto del error

PDF_get_buffer
PDF_get_errnum
Funciones PDF
PHP Manual

PDF_get_errmsg

(PECL pdflib >= 2.0.0)

PDF_get_errmsg — Obtener el texto del error

Descripción

string PDF_get_errmsg ( resource $pdfdoc )

Obtiene el texto de la última excepción lanzada o la razón del fallo de la llamada a la función.

PDF_get_buffer
PDF_get_errnum
Funciones PDF


Obtener el número de error

PDF_get_errmsg
PDF_get_font
Funciones PDF
PHP Manual

PDF_get_errnum

(PECL pdflib >= 2.0.0)

PDF_get_errnum — Obtener el número de error

Descripción

int PDF_get_errnum ( resource $pdfdoc )

Obtiene el número de la última excepción lanzada o la razón del fallo de la llamada a la función.

PDF_get_errmsg
PDF_get_font
Funciones PDF


Obtener una fuente [obsoleta]

PDF_get_errnum
PDF_get_fontname
Funciones PDF
PHP Manual

PDF_get_font

(PHP 4, PECL pdflib >= 1.0.0)

PDF_get_font — Obtener una fuente [obsoleta]

Descripción

Esta función está obsoleta desde la versión 3 de PDFlib, use PDF_get_value() con el parámetro font en su lugar.

PDF_get_errnum
PDF_get_fontname
Funciones PDF


Obtener el nombre de una fuente [obsoleta]

PDF_get_font
PDF_get_fontsize
Funciones PDF
PHP Manual

PDF_get_fontname

(PHP 4, PECL pdflib >= 1.0.0)

PDF_get_fontname — Obtener el nombre de una fuente [obsoleta]

Descripción

Esta función está obsoleta desde la versión 3 de PDFlib, use PDF_get_parameter() con el parámetro fontname en su lugar.

PDF_get_font
PDF_get_fontsize
Funciones PDF


Manejo de fuentes [obsoleta]

PDF_get_fontname
PDF_get_image_height
Funciones PDF
PHP Manual

PDF_get_fontsize

(PHP 4, PECL pdflib >= 1.0.0)

PDF_get_fontsize — Manejo de fuentes [obsoleta]

Descripción

Esta función está obsoleta desde la versión 3 de PDFlib, use PDF_get_value() con el parámetro fontsizeinstead.

PDF_get_fontname
PDF_get_image_height
Funciones PDF


Obtener el alto de una imagen [obsoleta]

PDF_get_fontsize
PDF_get_image_width
Funciones PDF
PHP Manual

PDF_get_image_height

(PHP 4, PECL pdflib >= 1.0.0)

PDF_get_image_height — Obtener el alto de una imagen [obsoleta]

Descripción

Esta función está obsoleta desde la versión 3 de PDFlib, use PDF_get_value() con el parámetro imageheight en su lugar.

PDF_get_fontsize
PDF_get_image_width
Funciones PDF


Obtener el ancho de una imagen [obsoleta]

PDF_get_image_height
PDF_get_majorversion
Funciones PDF
PHP Manual

PDF_get_image_width

(PHP 4, PECL pdflib >= 1.0.0)

PDF_get_image_width — Obtener el ancho de una imagen [obsoleta]

Descripción

Esta función está obsoleta desde la versión 3 de PDFlib, use PDF_get_value() con el parámetro imagewidth en su lugar.

PDF_get_image_height
PDF_get_majorversion
Funciones PDF


Obtener el número de la versión mayor [obsoleta]

PDF_get_image_width
PDF_get_minorversion
Funciones PDF
PHP Manual

PDF_get_majorversion

(PHP 4 >= 4.2.0, PECL pdflib >= 1.0.0)

PDF_get_majorversion — Obtener el número de la versión mayor [obsoleta]

Descripción

int PDF_get_majorversion ( void )

Esta función está obsoleta desde la versión 5 de PDFlib, use PDF_get_value() con el parámetro major en su lugar.

PDF_get_image_width
PDF_get_minorversion
Funciones PDF


Obtener el número de versión menor [obsoleta]

PDF_get_majorversion
PDF_get_parameter
Funciones PDF
PHP Manual

PDF_get_minorversion

(PHP 4 >= 4.2.0, PECL pdflib >= 1.0.0)

PDF_get_minorversion — Obtener el número de versión menor [obsoleta]

Descripción

int PDF_get_minorversion ( void )

Devuelve el número de versión menor de la versión de PDFlib.

Esta función está obsoleta desde la versión 5 de PDFlib, use PDF_get_value() con el parámetro minor en su lugar.

PDF_get_majorversion
PDF_get_parameter
Funciones PDF


Obtener un parámetro de cadena

PDF_get_minorversion
PDF_get_pdi_parameter
Funciones PDF
PHP Manual

PDF_get_parameter

(PHP 4 >= 4.0.1, PECL pdflib >= 1.0.0)

PDF_get_parameter — Obtener un parámetro de cadena

Descripción

string PDF_get_parameter ( resource $p , string $key , float $modifier )

Obtiene el contenido de algún parámetro PDFlib de tipo string.

PDF_get_minorversion
PDF_get_pdi_parameter
Funciones PDF


Obtener un parámetro de cadena de un PDI [obsoleta]

PDF_get_parameter
PDF_get_pdi_value
Funciones PDF
PHP Manual

PDF_get_pdi_parameter

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_get_pdi_parameter — Obtener un parámetro de cadena de un PDI [obsoleta]

Descripción

string PDF_get_pdi_parameter ( resource $p , string $key , int $doc , int $page , int $reserved )

Obtiene el contenido de un parámetro de cadena de un documento PDI de tipo string.

Esta función está obsoleta desde la versión 7 de PDFlib, use PDF_pcos_get_string() en su lugar.

PDF_get_parameter
PDF_get_pdi_value
Funciones PDF


Obtener un parámetro númerico de un PDI [obsoleta]

PDF_get_pdi_parameter
PDF_get_value
Funciones PDF
PHP Manual

PDF_get_pdi_value

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_get_pdi_value — Obtener un parámetro númerico de un PDI [obsoleta]

Descripción

float PDF_get_pdi_value ( resource $p , string $key , int $doc , int $page , int $reserved )

Obtiene el contenido de un parámetro de un documento PDI de tipo numérico.

Esta función está obsoleta desde la versión 7 de PDFlib, use PDF_pcos_get_number() en su lugar.

PDF_get_pdi_parameter
PDF_get_value
Funciones PDF


Obtener un parámetro numérico

PDF_get_pdi_value
PDF_info_font
Funciones PDF
PHP Manual

PDF_get_value

(PHP 4 >= 4.0.1, PECL pdflib >= 1.0.0)

PDF_get_value — Obtener un parámetro numérico

Descripción

float PDF_get_value ( resource $p , string $key , float $modifier )

Obtiene el valor de algún parámetro PDFlib de tipo numérico.

PDF_get_pdi_value
PDF_info_font
Funciones PDF


Preguntar información detallada acerca de una fuente cargada

PDF_get_value
PDF_info_matchbox
Funciones PDF
PHP Manual

PDF_info_font

(PECL pdflib >= 2.1.0)

PDF_info_font — Preguntar información detallada acerca de una fuente cargada

Descripción

float PDF_info_font ( resource $pdfdoc , int $font , string $keyword , string $optlist )

Pregunta información detallada acerca de una fuente cargada.

PDF_get_value
PDF_info_matchbox
Funciones PDF


Preguntar sobre la información de un matchbox

PDF_info_font
PDF_info_table
Funciones PDF
PHP Manual

PDF_info_matchbox

(PECL pdflib >= 2.1.0)

PDF_info_matchbox — Preguntar sobre la información de un matchbox

Descripción

float PDF_info_matchbox ( resource $pdfdoc , string $boxname , int $num , string $keyword )

Pregunta sobre la información de un matchbox en la página actual.

PDF_info_font
PDF_info_table
Funciones PDF


Recuperar la información de una tabla

PDF_info_matchbox
PDF_info_textflow
Funciones PDF
PHP Manual

PDF_info_table

(PECL pdflib >= 2.1.0)

PDF_info_table — Recuperar la información de una tabla

Descripción

float PDF_info_table ( resource $pdfdoc , int $table , string $keyword )

Recupera la información de una tabla relacionada con la instancia de la tabla colocada más recientemente.

PDF_info_matchbox
PDF_info_textflow
Funciones PDF


Preguntar por el estado de un textflow

PDF_info_table
PDF_info_textline
Funciones PDF
PHP Manual

PDF_info_textflow

(PECL pdflib >= 2.0.0)

PDF_info_textflow — Preguntar por el estado de un textflow

Descripción

float PDF_info_textflow ( resource $pdfdoc , int $textflow , string $keyword )

Pregunta por el estado actual de un textflow.

PDF_info_table
PDF_info_textline
Funciones PDF


Llevar a cabo el formateo textline y preguntar por las métricas

PDF_info_textflow
PDF_initgraphics
Funciones PDF
PHP Manual

PDF_info_textline

(PECL pdflib >= 2.1.0)

PDF_info_textline — Llevar a cabo el formateo textline y preguntar por las métricas

Descripción

float PDF_info_textline ( resource $pdfdoc , string $text , string $keyword , string $optlist )

Lleva a cabo el formateo textline y pregunta por las métricas resultantes.

PDF_info_textflow
PDF_initgraphics
Funciones PDF


Reiniciar el estado de un gráfico

PDF_info_textline
PDF_lineto
Funciones PDF
PHP Manual

PDF_initgraphics

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_initgraphics — Reiniciar el estado de un gráfico

Descripción

bool PDF_initgraphics ( resource $p )

Reinicia todos los parámetros de color y estado del gráfico a sus predeterminados. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_info_textline
PDF_lineto
Funciones PDF


Dibujar una línea

PDF_initgraphics
PDF_load_3ddata
Funciones PDF
PHP Manual

PDF_lineto

(PHP 4, PECL pdflib >= 1.0.0)

PDF_lineto — Dibujar una línea

Descripción

bool PDF_lineto ( resource $p , float $x , float $y )

Dibuja una línea desde el punto actual a otro punto.

PDF_initgraphics
PDF_load_3ddata
Funciones PDF


Cargar un modelo 3D

PDF_lineto
PDF_load_font
Funciones PDF
PHP Manual

PDF_load_3ddata

(PECL pdflib >= 2.1.0)

PDF_load_3ddata — Cargar un modelo 3D

Descripción

int PDF_load_3ddata ( resource $pdfdoc , string $filename , string $optlist )

Carga un modelo 3D desde un archivo basado en disco o desde un archivo virtual.

Esta función requiere PDF 1.6.

PDF_lineto
PDF_load_font
Funciones PDF


Buscar y preparar una fuente

PDF_load_3ddata
PDF_load_iccprofile
Funciones PDF
PHP Manual

PDF_load_font

(PECL pdflib >= 2.0.0)

PDF_load_font — Buscar y preparar una fuente

Descripción

int PDF_load_font ( resource $pdfdoc , string $fontname , string $encoding , string $optlist )

Busca una fuente y la prepara para un uso posterior.

PDF_load_3ddata
PDF_load_iccprofile
Funciones PDF


Buscar y preparar un perfil ICC

PDF_load_font
PDF_load_image
Funciones PDF
PHP Manual

PDF_load_iccprofile

(PECL pdflib >= 2.0.0)

PDF_load_iccprofile — Buscar y preparar un perfil ICC

Descripción

int PDF_load_iccprofile ( resource $pdfdoc , string $profilename , string $optlist )

Busca un perfil ICC y lo prepara para un uso posterior.

PDF_load_font
PDF_load_image
Funciones PDF


Abrir un archivo de imagen

PDF_load_iccprofile
PDF_makespotcolor
Funciones PDF
PHP Manual

PDF_load_image

(PECL pdflib >= 2.0.0)

PDF_load_image — Abrir un archivo de imagen

Descripción

int PDF_load_image ( resource $pdfdoc , string $imagetype , string $filename , string $optlist )

Abre un archivo de imagen basada en disco o virtual sujeto a varias opciones.

PDF_load_iccprofile
PDF_makespotcolor
Funciones PDF


Crea un color de impresión

PDF_load_image
PDF_moveto
Funciones PDF
PHP Manual

PDF_makespotcolor

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_makespotcolor — Crea un color de impresión

Descripción

int PDF_makespotcolor ( resource $p , string $spotname )

Busca un nombre de color de impresión incorporado, o crea un color de impresión con nombre desde el color de relleno actual. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_load_image
PDF_moveto
Funciones PDF


Establecer el punto actual

PDF_makespotcolor
PDF_new
Funciones PDF
PHP Manual

PDF_moveto

(PHP 4, PECL pdflib >= 1.0.0)

PDF_moveto — Establecer el punto actual

Descripción

bool PDF_moveto ( resource $p , float $x , float $y )

Establece el punto actual para la impresión de gráficos. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_makespotcolor
PDF_new
Funciones PDF


Crear un objeto PDFlib

PDF_moveto
PDF_open_ccitt
Funciones PDF
PHP Manual

PDF_new

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_new — Crear un objeto PDFlib

Descripción

resource PDF_new ( void )

Crea un nuevo objeto PDFlib con la configuración predeterminada.

PDF_moveto
PDF_open_ccitt
Funciones PDF


Abrir una imagen CCITT en bruto [obsoleta]

PDF_new
PDF_open_file
Funciones PDF
PHP Manual

PDF_open_ccitt

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_open_ccitt — Abrir una imagen CCITT en bruto [obsoleta]

Descripción

int PDF_open_ccitt ( resource $pdfdoc , string $filename , int $width , int $height , int $BitReverse , int $k , int $Blackls1 )

Abre una imagen CCITT en bruto.

Esta función está obsoleta desde la versión 5 de PDFlib, use PDF_load_image() en su lugar.

PDF_new
PDF_open_file
Funciones PDF


Crear un archivo PDF [obsoleta]

PDF_open_ccitt
PDF_open_gif
Funciones PDF
PHP Manual

PDF_open_file

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_open_file — Crear un archivo PDF [obsoleta]

Descripción

bool PDF_open_file ( resource $p , string $filename )

Crea un nuevo archivo PDF usando el nombre de archivo proporcionado. Devuelve TRUE en caso de éxito o FALSE en caso de error.

Esta función está obsoleta desde la versión 6 de PDFlib, use PDF_begin_document() en su lugar.

PDF_open_ccitt
PDF_open_gif
Funciones PDF


Abrir una imagen GIF [obsoleta]

PDF_open_file
PDF_open_image_file
Funciones PDF
PHP Manual

PDF_open_gif

(PHP 4, PECL pdflib >= 1.0.0)

PDF_open_gif — Abrir una imagen GIF [obsoleta]

Descripción

Esta función está obsoleta desde la versión 3 de PDFlib, use PDF_load_image() en su lugar.

PDF_open_file
PDF_open_image_file
Funciones PDF


Leer una imagen desde un archivo [obsoleta]

PDF_open_gif
PDF_open_image
Funciones PDF
PHP Manual

PDF_open_image_file

(PHP 4, PECL pdflib >= 1.0.0)

PDF_open_image_file — Leer una imagen desde un archivo [obsoleta]

Descripción

int PDF_open_image_file ( resource $p , string $imagetype , string $filename , string $stringparam , int $intparam )

Abre un archivo de imagen.

Esta función está obsoleta desde la versión 5 de PDFlib, use PDF_load_image() con las opciones colorize, ignoremask, invert, mask, masked, y page en su lugar.

PDF_open_gif
PDF_open_image
Funciones PDF


Usar información de una imagen [obsoleta]

PDF_open_image_file
PDF_open_jpeg
Funciones PDF
PHP Manual

PDF_open_image

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_open_image — Usar información de una imagen [obsoleta]

Descripción

int PDF_open_image ( resource $p , string $imagetype , string $source , string $data , int $length , int $width , int $height , int $components , int $bpc , string $params )

Usa información de una imagen desde una variedad de fuentes de información.

Esta función está obsoleta desde la versión 5 de PDFlib, use archivos virtuales y PDF_load_image() en su lugar.

PDF_open_image_file
PDF_open_jpeg
Funciones PDF


Abrir una imagen JPEG [obsoleta]

PDF_open_image
PDF_open_memory_image
Funciones PDF
PHP Manual

PDF_open_jpeg

(PHP 4, PECL pdflib >= 1.0.0)

PDF_open_jpeg — Abrir una imagen JPEG [obsoleta]

Descripción

Esta función está obsoleta desde la versión 3 de PDFlib, use PDF_load_image() en su lugar.

PDF_open_image
PDF_open_memory_image
Funciones PDF


Abrir una imagen creada con las funciones de imagen de PHP [no soportada]

PDF_open_jpeg
PDF_open_pdi_document
Funciones PDF
PHP Manual

PDF_open_memory_image

(PHP 4, PECL pdflib >= 1.0.0)

PDF_open_memory_image — Abrir una imagen creada con las funciones de imagen de PHP [no soportada]

Descripción

int PDF_open_memory_image ( resource $p , resource $image )

Esta función no está soportada por PDFlib GmbH.

PDF_open_jpeg
PDF_open_pdi_document
Funciones PDF


Preparar un documento pdi

PDF_open_memory_image
PDF_open_pdi_page
Funciones PDF
PHP Manual

PDF_open_pdi_document

(PECL pdflib >= 2.1.0)

PDF_open_pdi_document — Preparar un documento pdi

Descripción

int PDF_open_pdi_document ( resource $p , string $filename , string $optlist )

Abre un documento PDF virtual o basado en disco y lo prepara para su uso posterior.

PDF_open_memory_image
PDF_open_pdi_page
Funciones PDF


Preparar una página

PDF_open_pdi_document
PDF_open_pdi
Funciones PDF
PHP Manual

PDF_open_pdi_page

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_open_pdi_page — Preparar una página

Descripción

int PDF_open_pdi_page ( resource $p , int $doc , int $pagenumber , string $optlist )

Prepara una página para un uso posterior con PDF_fit_pdi_page().

PDF_open_pdi_document
PDF_open_pdi
Funciones PDF


Abrir un archivo PDF [obsoleta]

PDF_open_pdi_page
PDF_open_tiff
Funciones PDF
PHP Manual

PDF_open_pdi

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_open_pdi — Abrir un archivo PDF [obsoleta]

Descripción

int PDF_open_pdi ( resource $pdfdoc , string $filename , string $optlist , int $len )

Abre un documento PDF basado en disco o virtual y lo prepara para un uso posterior.

Esta función está obsoleta desde la versión 7 de PDFlib, use PDF_open_pdi_document() en su lugar.

PDF_open_pdi_page
PDF_open_tiff
Funciones PDF


Abrir una imagen TIFF [obsoleta]

PDF_open_pdi
PDF_pcos_get_number
Funciones PDF
PHP Manual

PDF_open_tiff

(PHP 4, PECL pdflib >= 1.0.0)

PDF_open_tiff — Abrir una imagen TIFF [obsoleta]

Descripción

Esta función está obsoleta desde la versión 3 de PDFlib, use PDF_load_image() en su lugar.

PDF_open_pdi
PDF_pcos_get_number
Funciones PDF


Obtener el valor de una ruta pCOS con el tipo number o boolean

PDF_open_tiff
PDF_pcos_get_stream
Funciones PDF
PHP Manual

PDF_pcos_get_number

(PECL pdflib >= 2.1.0)

PDF_pcos_get_number — Obtener el valor de una ruta pCOS con el tipo number o boolean

Descripción

float PDF_pcos_get_number ( resource $p , int $doc , string $path )

Obtiene el valor de una ruta pCOS con el tipo number o boolean.

PDF_open_tiff
PDF_pcos_get_stream
Funciones PDF


Obtener el contenido de una ruta pCOS con el tipo stream, fstream, o string

PDF_pcos_get_number
PDF_pcos_get_string
Funciones PDF
PHP Manual

PDF_pcos_get_stream

(PECL pdflib >= 2.1.0)

PDF_pcos_get_stream — Obtener el contenido de una ruta pCOS con el tipo stream, fstream, o string

Descripción

string PDF_pcos_get_stream ( resource $p , int $doc , string $optlist , string $path )

Obtiene el contenido de una ruta pCOS con el tipo stream, fstream, o string.

PDF_pcos_get_number
PDF_pcos_get_string
Funciones PDF


Obtener el valor de una ruta pCOS con el tipo name, string, o boolean

PDF_pcos_get_stream
PDF_place_image
Funciones PDF
PHP Manual

PDF_pcos_get_string

(PECL pdflib >= 2.1.0)

PDF_pcos_get_string — Obtener el valor de una ruta pCOS con el tipo name, string, o boolean

Descripción

string PDF_pcos_get_string ( resource $p , int $doc , string $path )

Obtiene el valor de una ruta pCOS con el tipo name, string, o boolean.

PDF_pcos_get_stream
PDF_place_image
Funciones PDF


Colocar una imagen en una página [obsoleta]

PDF_pcos_get_string
PDF_place_pdi_page
Funciones PDF
PHP Manual

PDF_place_image

(PHP 4, PECL pdflib >= 1.0.0)

PDF_place_image — Colocar una imagen en una página [obsoleta]

Descripción

bool PDF_place_image ( resource $pdfdoc , int $image , float $x , float $y , float $scale )

Coloca una imagen y la escala. Devuelve TRUE en caso de éxito o FALSE en caso de error.

Esta función está obsoleta desde la versión 5 de PDFlib, use PDF_fit_image() en su lugar.

PDF_pcos_get_string
PDF_place_pdi_page
Funciones PDF


Colocar una página PDF [obsoleta]

PDF_place_image
PDF_process_pdi
Funciones PDF
PHP Manual

PDF_place_pdi_page

(PHP 4 >= 4.0.6, PECL pdflib >= 1.0.0)

PDF_place_pdi_page — Colocar una página PDF [obsoleta]

Descripción

bool PDF_place_pdi_page ( resource $pdfdoc , int $page , float $x , float $y , float $sx , float $sy )

Coloca una página PDF y la escala. Devuelve TRUE en caso de éxito o FALSE en caso de error.

Esta función está obsoleta desde la versión 5 de PDFlib, use PDF_fit_pdi_page() en su lugar.

PDF_place_image
PDF_process_pdi
Funciones PDF


Procesar un documento PDF importado

PDF_place_pdi_page
PDF_rect
Funciones PDF
PHP Manual

PDF_process_pdi

(PECL pdflib >= 2.0.0)

PDF_process_pdi — Procesar un documento PDF importado

Descripción

int PDF_process_pdi ( resource $pdfdoc , int $doc , int $page , string $optlist )

Procesa ciertos elementos de un documento PDF importado.

PDF_place_pdi_page
PDF_rect
Funciones PDF


Dibujar un rectángulo

PDF_process_pdi
PDF_restore
Funciones PDF
PHP Manual

PDF_rect

(PHP 4, PECL pdflib >= 1.0.0)

PDF_rect — Dibujar un rectángulo

Descripción

bool PDF_rect ( resource $p , float $x , float $y , float $width , float $height )

Dibuja un rectángulo. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_process_pdi
PDF_restore
Funciones PDF


Restablecer el estado de gráficos

PDF_rect
PDF_resume_page
Funciones PDF
PHP Manual

PDF_restore

(PHP 4, PECL pdflib >= 1.0.0)

PDF_restore — Restablecer el estado de gráficos

Descripción

bool PDF_restore ( resource $p )

Restablece el estado de gráficos guardado más recientemente. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_rect
PDF_resume_page
Funciones PDF


Reanudar un página

PDF_restore
PDF_rotate
Funciones PDF
PHP Manual

PDF_resume_page

(PECL pdflib >= 2.0.0)

PDF_resume_page — Reanudar un página

Descripción

bool PDF_resume_page ( resource $pdfdoc , string $optlist )

Reanuda una página para añadir más contenido en ella.

PDF_restore
PDF_rotate
Funciones PDF


Rotar el sistema de coordenadas

PDF_resume_page
PDF_save
Funciones PDF
PHP Manual

PDF_rotate

(PHP 4, PECL pdflib >= 1.0.0)

PDF_rotate — Rotar el sistema de coordenadas

Descripción

bool PDF_rotate ( resource $p , float $phi )

Rota el sistema de coordenadas. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_resume_page
PDF_save
Funciones PDF


Guardar el estado de gráficos

PDF_rotate
PDF_scale
Funciones PDF
PHP Manual

PDF_save

(PHP 4, PECL pdflib >= 1.0.0)

PDF_save — Guardar el estado de gráficos

Descripción

bool PDF_save ( resource $p )

Guarda el estado actual de los gráficos. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_rotate
PDF_scale
Funciones PDF


Escalar el sistema de coordenadas

PDF_save
PDF_set_border_color
Funciones PDF
PHP Manual

PDF_scale

(PHP 4, PECL pdflib >= 1.0.0)

PDF_scale — Escalar el sistema de coordenadas

Descripción

bool PDF_scale ( resource $p , float $sx , float $sy )

Escala el sistema de coordenadas. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_save
PDF_set_border_color
Funciones PDF


Establecer el color del borde de las anotaciones [obsoleta]

PDF_scale
PDF_set_border_dash
Funciones PDF
PHP Manual

PDF_set_border_color

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_border_color — Establecer el color del borde de las anotaciones [obsoleta]

Descripción

bool PDF_set_border_color ( resource $p , float $red , float $green , float $blue )

Establece el color del borde de todos los tipos de anotaciones. Devuelve TRUE en caso de éxito o FALSE en caso de error.

Esta función está obsoleta desde la versión 6 de PDFlib, use la opción annotcolor en PDF_create_annotation() en su lugar.

PDF_scale
PDF_set_border_dash
Funciones PDF


Establecer el estilo de borde discontinuo de las anotaciones [obsoleta]

PDF_set_border_color
PDF_set_border_style
Funciones PDF
PHP Manual

PDF_set_border_dash

(PHP 4 >= 4.0.1, PECL pdflib >= 1.0.0)

PDF_set_border_dash — Establecer el estilo de borde discontinuo de las anotaciones [obsoleta]

Descripción

bool PDF_set_border_dash ( resource $pdfdoc , float $black , float $white )

Establece el estilo de borde discontinuo para todos los tipos de anotaciones. Devuelve TRUE en caso de éxito o FALSE en caso de error.

Esta función está obsoleta desde la versión 6 de PDFlib, use la opción dasharray en PDF_create_annotation() en su lugar.

PDF_set_border_color
PDF_set_border_style
Funciones PDF


Establecer el estilo de borde de las anotaciones [obsoleta]

PDF_set_border_dash
PDF_set_char_spacing
Funciones PDF
PHP Manual

PDF_set_border_style

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_border_style — Establecer el estilo de borde de las anotaciones [obsoleta]

Descripción

bool PDF_set_border_style ( resource $pdfdoc , string $style , float $width )

Establece el estilo de borde de todos los tipos de anotaciones. Devuelve TRUE en caso de éxito o FALSE en caso de error.

Esta función está obsoleta desde la versión 6 de PDFlib, use las opciones borderstyle y linewidth en PDF_create_annotation() en su lugar.

PDF_set_border_dash
PDF_set_char_spacing
Funciones PDF


Establecer el espacio entre caracteres [obsoleta]

PDF_set_border_style
PDF_set_duration
Funciones PDF
PHP Manual

PDF_set_char_spacing

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_char_spacing — Establecer el espacio entre caracteres [obsoleta]

Descripción

Esta función está obsoleta desde la versión 3 de PDFlib, use PDF_set_value() con el parámetro charspacing en su lugar.

PDF_set_border_style
PDF_set_duration
Funciones PDF


Establecer la duración entre páginas [obsoleta]

PDF_set_char_spacing
PDF_set_gstate
Funciones PDF
PHP Manual

PDF_set_duration

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_duration — Establecer la duración entre páginas [obsoleta]

Descripción

Esta función está obsoleta desde la versión 3 de PDFlib, use la opción duration en PDF_begin_page_ext() o en PDF_end_page_ext() en su lugar.

PDF_set_char_spacing
PDF_set_gstate
Funciones PDF


Activar un objeto de estado de gráficos

PDF_set_duration
PDF_set_horiz_scaling
Funciones PDF
PHP Manual

PDF_set_gstate

(PECL pdflib >= 2.0.0)

PDF_set_gstate — Activar un objeto de estado de gráficos

Descripción

bool PDF_set_gstate ( resource $pdfdoc , int $gstate )

Activa un objeto de estado de gráficos.

PDF_set_duration
PDF_set_horiz_scaling
Funciones PDF


Establecer la escala de texto horizontal [obsoleta]

PDF_set_gstate
PDF_set_info_author
Funciones PDF
PHP Manual

PDF_set_horiz_scaling

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_horiz_scaling — Establecer la escala de texto horizontal [obsoleta]

Descripción

Esta función está obsoleta desde la versión 3 de PDFlib, use PDF_set_value() con el parámetro horizscaling en su lugar.

PDF_set_gstate
PDF_set_info_author
Funciones PDF


Rellenar el campo de información del autor de un documento [obsoleta]

PDF_set_horiz_scaling
PDF_set_info_creator
Funciones PDF
PHP Manual

PDF_set_info_author

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_info_author — Rellenar el campo de información del autor de un documento [obsoleta]

Descripción

Esta función está obsoleta desde la versión 3 de PDFlib, use PDF_set_info() en su lugar.

PDF_set_horiz_scaling
PDF_set_info_creator
Funciones PDF


Rellenar el campo de información del creador de un documento [obsoleta]

PDF_set_info_author
PDF_set_info_keywords
Funciones PDF
PHP Manual

PDF_set_info_creator

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_info_creator — Rellenar el campo de información del creador de un documento [obsoleta]

Descripción

Esta función está obsoleta desde la versión 3 de PDFlib, use PDF_set_info() en su lugar.

PDF_set_info_author
PDF_set_info_keywords
Funciones PDF


Rellenar el campo de información de las palabras clave de un documento [obsoleta]

PDF_set_info_creator
PDF_set_info_subject
Funciones PDF
PHP Manual

PDF_set_info_keywords

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_info_keywords — Rellenar el campo de información de las palabras clave de un documento [obsoleta]

Descripción

Esta función está obsoleta desde la versión 3 de PDFlib, use PDF_set_info() en su lugar.

PDF_set_info_creator
PDF_set_info_subject
Funciones PDF


Rellenar el campo de información del asunto de un documento [obsoleta]

PDF_set_info_keywords
PDF_set_info_title
Funciones PDF
PHP Manual

PDF_set_info_subject

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_info_subject — Rellenar el campo de información del asunto de un documento [obsoleta]

Descripción

Esta función está obsoleta desde la versión 3 de PDFlib, use PDF_set_info() en su lugar.

PDF_set_info_keywords
PDF_set_info_title
Funciones PDF


Rellenar el campo de información del título de un documento [obsoleta]

PDF_set_info_subject
PDF_set_info
Funciones PDF
PHP Manual

PDF_set_info_title

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_info_title — Rellenar el campo de información del título de un documento [obsoleta]

Descripción

Esta función está obsoleta desde la versión 3 de PDFlib, use PDF_set_info() en su lugar.

PDF_set_info_subject
PDF_set_info
Funciones PDF


Rellenar el campo de información de un documento

PDF_set_info_title
PDF_set_layer_dependency
Funciones PDF
PHP Manual

PDF_set_info

(PHP 4 >= 4.0.1, PECL pdflib >= 1.0.0)

PDF_set_info — Rellenar el campo de información de un documento

Descripción

bool PDF_set_info ( resource $p , string $key , string $value )

Rellena el campo de información de un documento key con value. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_set_info_title
PDF_set_layer_dependency
Funciones PDF


Definir la relación entre capas

PDF_set_info
PDF_set_leading
Funciones PDF
PHP Manual

PDF_set_layer_dependency

(PECL pdflib >= 2.0.0)

PDF_set_layer_dependency — Definir la relación entre capas

Descripción

bool PDF_set_layer_dependency ( resource $pdfdoc , string $type , string $optlist )

Define la relación grupal y jerárquica entre capas. Devuelve TRUE en caso de éxito o FALSE en caso de error.

Esta función requiere PDF 1.5.

PDF_set_info
PDF_set_leading
Funciones PDF


Esteblecer la distancia entre líneas de texto [obsoleta]

PDF_set_layer_dependency
PDF_set_parameter
Funciones PDF
PHP Manual

PDF_set_leading

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_leading — Esteblecer la distancia entre líneas de texto [obsoleta]

Descripción

Esta función está obsoleta desde la versión 3 de PDFlib, use PDF_set_value() con el parámetro leading en su lugar.

PDF_set_layer_dependency
PDF_set_parameter
Funciones PDF


Establecer un parámetro de cadena

PDF_set_leading
PDF_set_text_matrix
Funciones PDF
PHP Manual

PDF_set_parameter

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_parameter — Establecer un parámetro de cadena

Descripción

bool PDF_set_parameter ( resource $p , string $key , string $value )

Establece algún parámetro PDFlib con el tipo string. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_set_leading
PDF_set_text_matrix
Funciones PDF


Establecer la matriz del texto [obsoleta]

PDF_set_parameter
PDF_set_text_pos
Funciones PDF
PHP Manual

PDF_set_text_matrix

(PHP 4 <= 4.0.4)

PDF_set_text_matrix — Establecer la matriz del texto [obsoleta]

Descripción

Esta función está obsoleta desde la versión 3 de PDFlib, use PDF_scale(), PDF_translate(), PDF_rotate(), o PDF_skew() en su lugar.

PDF_set_parameter
PDF_set_text_pos
Funciones PDF


Establecer la posición del texto

PDF_set_text_matrix
PDF_set_text_rendering
Funciones PDF
PHP Manual

PDF_set_text_pos

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_text_pos — Establecer la posición del texto

Descripción

bool PDF_set_text_pos ( resource $p , float $x , float $y )

Establece la posición para la impresión del texto en la página. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_set_text_matrix
PDF_set_text_rendering
Funciones PDF


Determinar la renderización del texto [obsoleta]

PDF_set_text_pos
PDF_set_text_rise
Funciones PDF
PHP Manual

PDF_set_text_rendering

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_text_rendering — Determinar la renderización del texto [obsoleta]

Descripción

Esta función está obsoleta desde la versión 3 de PDFlib, use PDF_set_value() con el parámetro textrendering en su lugar.

PDF_set_text_pos
PDF_set_text_rise
Funciones PDF


Establecer la elevación de texto [obsoleta]

PDF_set_text_rendering
PDF_set_value
Funciones PDF
PHP Manual

PDF_set_text_rise

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_text_rise — Establecer la elevación de texto [obsoleta]

Descripción

Esta función está obsoleta desde la versión 3 de PDFlib, use PDF_set_value() con el parámetro textrise en su lugar.

PDF_set_text_rendering
PDF_set_value
Funciones PDF


Establecer un parámetro numérico

PDF_set_text_rise
PDF_set_word_spacing
Funciones PDF
PHP Manual

PDF_set_value

(PHP 4 >= 4.0.1, PECL pdflib >= 1.0.0)

PDF_set_value — Establecer un parámetro numérico

Descripción

bool PDF_set_value ( resource $p , string $key , float $value )

Establece el valor de algún parámetro PDFlib con el tipo numérico. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_set_text_rise
PDF_set_word_spacing
Funciones PDF


Establecer el espacio entre palabras [obsoleta]

PDF_set_value
PDF_setcolor
Funciones PDF
PHP Manual

PDF_set_word_spacing

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_word_spacing — Establecer el espacio entre palabras [obsoleta]

Descripción

Esta función está obsoleta desde la versión 3 de PDFlib, use PDF_set_value() con el parámetro wordspacing en su lugar.

PDF_set_value
PDF_setcolor
Funciones PDF


Establecer el color de relleno y contorno

PDF_set_word_spacing
PDF_setdash
Funciones PDF
PHP Manual

PDF_setcolor

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_setcolor — Establecer el color de relleno y contorno

Descripción

bool PDF_setcolor ( resource $p , string $fstype , string $colorspace , float $c1 , float $c2 , float $c3 , float $c4 )

Establece el color y el color de espacio actual. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_set_word_spacing
PDF_setdash
Funciones PDF


Establecer el patrón de discontinuidad simple

PDF_setcolor
PDF_setdashpattern
Funciones PDF
PHP Manual

PDF_setdash

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setdash — Establecer el patrón de discontinuidad simple

Descripción

bool PDF_setdash ( resource $pdfdoc , float $b , float $w )

Establece el patrón de discontinuidad actual a unidades de b negro y w blanco. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_setcolor
PDF_setdashpattern
Funciones PDF


Establecer el patrón de discontinuidad

PDF_setdash
PDF_setflat
Funciones PDF
PHP Manual

PDF_setdashpattern

(PECL pdflib >= 2.0.0)

PDF_setdashpattern — Establecer el patrón de discontinuidad

Descripción

bool PDF_setdashpattern ( resource $pdfdoc , string $optlist )

Establece un patrón de discontinuidad definido por una lista de opciones. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_setdash
PDF_setflat
Funciones PDF


Establecer el parámetro flatness

PDF_setdashpattern
PDF_setfont
Funciones PDF
PHP Manual

PDF_setflat

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setflat — Establecer el parámetro flatness

Descripción

bool PDF_setflat ( resource $pdfdoc , float $flatness )

Establece el parámetro flatness. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_setdashpattern
PDF_setfont
Funciones PDF


Establecer un fuente

PDF_setflat
PDF_setgray_fill
Funciones PDF
PHP Manual

PDF_setfont

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_setfont — Establecer un fuente

Descripción

bool PDF_setfont ( resource $pdfdoc , int $font , float $fontsize )

Establece la fuente actual con el tamaño size especificado, usando un gestor de fuete font devuelto por PDF_load_font(). Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_setflat
PDF_setgray_fill
Funciones PDF


Establecer el color de relleno a gris [obsoleta]

PDF_setfont
PDF_setgray_stroke
Funciones PDF
PHP Manual

PDF_setgray_fill

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setgray_fill — Establecer el color de relleno a gris [obsoleta]

Descripción

bool PDF_setgray_fill ( resource $p , float $g )

Establece el color de relleno actual a un valor de gris entre 0 y 1 inclusive. Devuelve TRUE en caso de éxito o FALSE en caso de error.

Esta función está obsoleta desde la versión 4 de PDFlib, use PDF_setcolor() en su lugar.

PDF_setfont
PDF_setgray_stroke
Funciones PDF


Establecer el color de contorno a gris [obsoleta]

PDF_setgray_fill
PDF_setgray
Funciones PDF
PHP Manual

PDF_setgray_stroke

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setgray_stroke — Establecer el color de contorno a gris [obsoleta]

Descripción

bool PDF_setgray_stroke ( resource $p , float $g )

Establece el color de contorno actual a un valor de gris entre 0 y 1 inclusive. Devuelve TRUE en caso de éxito o FALSE en caso de error.

Esta función está obsoleta desde la versión 4 de PDFlib, use PDF_setcolor() en su lugar.

PDF_setgray_fill
PDF_setgray
Funciones PDF


Establecer el color a gris [obsoleta]

PDF_setgray_stroke
PDF_setlinecap
Funciones PDF
PHP Manual

PDF_setgray

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setgray — Establecer el color a gris [obsoleta]

Descripción

bool PDF_setgray ( resource $p , float $g )

Establece el color de relleno y contorno actual a un valor de gris entre 0 y 1 inclusive. Devuelve TRUE en caso de éxito o FALSE en caso de error.

Esta función está obsoleta desde la versión 4 de PDFlib, use PDF_setcolor() en su lugar.

PDF_setgray_stroke
PDF_setlinecap
Funciones PDF


Establecer el parámetro linecap

PDF_setgray
PDF_setlinejoin
Funciones PDF
PHP Manual

PDF_setlinecap

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setlinecap — Establecer el parámetro linecap

Descripción

bool PDF_setlinecap ( resource $p , int $linecap )

Establece el parámetro linecap para controlar la forma del final de un trazado con respecto al contorno.

PDF_setgray
PDF_setlinejoin
Funciones PDF


Establecer el parámetro linejoin

PDF_setlinecap
PDF_setlinewidth
Funciones PDF
PHP Manual

PDF_setlinejoin

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setlinejoin — Establecer el parámetro linejoin

Descripción

bool PDF_setlinejoin ( resource $p , int $value )

Establece el parámetro linejoin para especificar la forma de las esquinas del trazado que está contorneado. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_setlinecap
PDF_setlinewidth
Funciones PDF


Establecer el ancho de línea

PDF_setlinejoin
PDF_setmatrix
Funciones PDF
PHP Manual

PDF_setlinewidth

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setlinewidth — Establecer el ancho de línea

Descripción

bool PDF_setlinewidth ( resource $p , float $width )

Establece el ancho actual de línea. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_setlinejoin
PDF_setmatrix
Funciones PDF


Establecer la matriz de transformación actual

PDF_setlinewidth
PDF_setmiterlimit
Funciones PDF
PHP Manual

PDF_setmatrix

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_setmatrix — Establecer la matriz de transformación actual

Descripción

bool PDF_setmatrix ( resource $p , float $a , float $b , float $c , float $d , float $e , float $f )

Establece explícitamente la matriz de transformación actual. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_setlinewidth
PDF_setmiterlimit
Funciones PDF


Establecer el límite del inglete

PDF_setmatrix
PDF_setpolydash
Funciones PDF
PHP Manual

PDF_setmiterlimit

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setmiterlimit — Establecer el límite del inglete

Descripción

bool PDF_setmiterlimit ( resource $pdfdoc , float $miter )

Establece el límite de inglete.Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_setmatrix
PDF_setpolydash
Funciones PDF


Establecer un patrón de discontinuidad complicado [obsoleta]

PDF_setmiterlimit
PDF_setrgbcolor_fill
Funciones PDF
PHP Manual

PDF_setpolydash

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_setpolydash — Establecer un patrón de discontinuidad complicado [obsoleta]

Descripción

Esta función está obsoleta desde la versión 5 de PDFlib, use PDF_setdashpattern() en su lugar.

PDF_setmiterlimit
PDF_setrgbcolor_fill
Funciones PDF


Establecer los valores de color rgb del relleno [obsoleta]

PDF_setpolydash
PDF_setrgbcolor_stroke
Funciones PDF
PHP Manual

PDF_setrgbcolor_fill

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setrgbcolor_fill — Establecer los valores de color rgb del relleno [obsoleta]

Descripción

bool PDF_setrgbcolor_fill ( resource $p , float $red , float $green , float $blue )

Establece el color de relleno actual a los valores RGB proporcionados. Devuelve TRUE en caso de éxito o FALSE en caso de error.

Esta función está obsoleta desde la versión 4 de PDFlib, use PDF_setcolor() en su lugar.

PDF_setpolydash
PDF_setrgbcolor_stroke
Funciones PDF


Establecer los valores de color rgb del contorno [obsoleta]

PDF_setrgbcolor_fill
PDF_setrgbcolor
Funciones PDF
PHP Manual

PDF_setrgbcolor_stroke

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setrgbcolor_stroke — Establecer los valores de color rgb del contorno [obsoleta]

Descripción

bool PDF_setrgbcolor_stroke ( resource $p , float $red , float $green , float $blue )

Establece el color actual del contorno a los valores RGB proporcionados. Devuelve TRUE en caso de éxito o FALSE en caso de error.

Esta función está obsoleta desde la versión 4 de PDFlib, use PDF_setcolor() en su lugar.

PDF_setrgbcolor_fill
PDF_setrgbcolor
Funciones PDF


Establecer los valores de color rgb del relleno y del contorno [obsoleta]

PDF_setrgbcolor_stroke
PDF_shading_pattern
Funciones PDF
PHP Manual

PDF_setrgbcolor

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setrgbcolor — Establecer los valores de color rgb del relleno y del contorno [obsoleta]

Descripción

bool PDF_setrgbcolor ( resource $p , float $red , float $green , float $blue )

Establece el color actual del relleno y del contorno a los valores RGB proporcionados. Devuelve TRUE en caso de éxito o FALSE en caso de error.

Esta función está obsoleta desde la versión 4 de PDFlib, use PDF_setcolor() en su lugar.

PDF_setrgbcolor_stroke
PDF_shading_pattern
Funciones PDF


Definir un patrón de sombreado

PDF_setrgbcolor
PDF_shading
Funciones PDF
PHP Manual

PDF_shading_pattern

(PECL pdflib >= 2.0.0)

PDF_shading_pattern — Definir un patrón de sombreado

Descripción

int PDF_shading_pattern ( resource $pdfdoc , int $shading , string $optlist )

Define un patrón de sombreado usando un objeto de sombreado.

Esta función requiere PDF 1.4 o superior.

PDF_setrgbcolor
PDF_shading
Funciones PDF


Definir un mezcla

PDF_shading_pattern
PDF_shfill
Funciones PDF
PHP Manual

PDF_shading

(PECL pdflib >= 2.0.0)

PDF_shading — Definir un mezcla

Descripción

int PDF_shading ( resource $pdfdoc , string $shtype , float $x0 , float $y0 , float $x1 , float $y1 , float $c1 , float $c2 , float $c3 , float $c4 , string $optlist )

Define una mezcla desde el color de relleno actual a otro color.

Esta función requiere PDF 1.4 o superior.

PDF_shading_pattern
PDF_shfill
Funciones PDF


Rellenar un área con sombreado

PDF_shading
PDF_show_boxed
Funciones PDF
PHP Manual

PDF_shfill

(PECL pdflib >= 2.0.0)

PDF_shfill — Rellenar un área con sombreado

Descripción

bool PDF_shfill ( resource $pdfdoc , int $shading )

Rellena un área con un sombreado, basado en un objeto de sombreado.

Esta función requiere PDF 1.4 o superior.

PDF_shading
PDF_show_boxed
Funciones PDF


Imprimir un texto en una caja [obsoleta]

PDF_shfill
PDF_show_xy
Funciones PDF
PHP Manual

PDF_show_boxed

(PHP 4, PECL pdflib >= 1.0.0)

PDF_show_boxed — Imprimir un texto en una caja [obsoleta]

Descripción

int PDF_show_boxed ( resource $p , string $text , float $left , float $top , float $width , float $height , string $mode , string $feature )

Esta función está obsoleta desde la versión 6 de PDFlib, use PDF_fit_textline() para líneas únicas, o las funciones PDF_*_textflow() para el formateo multilínea en su lugar.

PDF_shfill
PDF_show_xy
Funciones PDF


Imprimir un texto en una posición dada

PDF_show_boxed
PDF_show
Funciones PDF
PHP Manual

PDF_show_xy

(PHP 4, PECL pdflib >= 1.0.0)

PDF_show_xy — Imprimir un texto en una posición dada

Descripción

bool PDF_show_xy ( resource $p , string $text , float $x , float $y )

Imprime el texto text con la fuente actual. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_show_boxed
PDF_show
Funciones PDF


Imrpimir un texto en la posición actual

PDF_show_xy
PDF_skew
Funciones PDF
PHP Manual

PDF_show

(PHP 4, PECL pdflib >= 1.0.0)

PDF_show — Imrpimir un texto en la posición actual

Descripción

bool PDF_show ( resource $pdfdoc , string $text )

Imprime el texto text con la fuente y el tamaño actuales en la posción actual. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_show_xy
PDF_skew
Funciones PDF


Torcer el sistema de coordenadas

PDF_show
PDF_stringwidth
Funciones PDF
PHP Manual

PDF_skew

(PHP 4, PECL pdflib >= 1.0.0)

PDF_skew — Torcer el sistema de coordenadas

Descripción

bool PDF_skew ( resource $p , float $alpha , float $beta )

Tuerce el sistema de coordenadas en la dirección x e y por alpha y beta grados. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_show
PDF_stringwidth
Funciones PDF


Devolver el ancho de un texto

PDF_skew
PDF_stroke
Funciones PDF
PHP Manual

PDF_stringwidth

(PHP 4, PECL pdflib >= 1.0.0)

PDF_stringwidth — Devolver el ancho de un texto

Descripción

float PDF_stringwidth ( resource $p , string $text , int $font , float $fontsize )

Devuelve el ancho del texto text en una fuente arbitraria.

PDF_skew
PDF_stroke
Funciones PDF


Contornear un trazado

PDF_stringwidth
PDF_suspend_page
Funciones PDF
PHP Manual

PDF_stroke

(PHP 4, PECL pdflib >= 1.0.0)

PDF_stroke — Contornear un trazado

Descripción

bool PDF_stroke ( resource $p )

Contornea el trazado con el color y el ancho de línea actuales, y lo borra. Devuelve TRUE en caso de éxito o FALSE en caso de error.

PDF_stringwidth
PDF_suspend_page
Funciones PDF


Suspender una página

PDF_stroke
PDF_translate
Funciones PDF
PHP Manual

PDF_suspend_page

(PECL pdflib >= 2.0.0)

PDF_suspend_page — Suspender una página

Descripción

bool PDF_suspend_page ( resource $pdfdoc , string $optlist )

Suspende la página actual por lo que después se puede reanudar con PDF_resume_page().

PDF_stroke
PDF_translate
Funciones PDF


Establecer el origen del sistema de coordenadas

PDF_suspend_page
PDF_utf16_to_utf8
Funciones PDF
PHP Manual

PDF_translate

(PHP 4, PECL pdflib >= 1.0.0)

PDF_translate — Establecer el origen del sistema de coordenadas

Descripción

bool PDF_translate ( resource $p , float $tx , float $ty )

Traslada el origen del sistema de coordenadas.

PDF_suspend_page
PDF_utf16_to_utf8
Funciones PDF


Convertir una cadena de UTF-16 a UTF-8

PDF_translate
PDF_utf32_to_utf16
Funciones PDF
PHP Manual

PDF_utf16_to_utf8

(PECL pdflib >= 2.0.3)

PDF_utf16_to_utf8 — Convertir una cadena de UTF-16 a UTF-8

Descripción

string PDF_utf16_to_utf8 ( resource $pdfdoc , string $utf16string )

Convierte una cadena del formato UTF-16 al formato UTF-8.

PDF_translate
PDF_utf32_to_utf16
Funciones PDF


Convertir una cadena de UTF-32 a UTF-16

PDF_utf16_to_utf8
PDF_utf8_to_utf16
Funciones PDF
PHP Manual

PDF_utf32_to_utf16

(PECL pdflib >= Unknown future)

PDF_utf32_to_utf16 — Convertir una cadena de UTF-32 a UTF-16

Descripción

string PDF_utf32_to_utf16 ( resource $pdfdoc , string $utf32string , string $ordering )

Convierte una cadena del formato UTF-32 al formato UTF-16.

PDF_utf16_to_utf8
PDF_utf8_to_utf16
Funciones PDF


Convertir una cadena de UTF-8 a UTF-16

PDF_utf32_to_utf16
PS
Funciones PDF
PHP Manual

PDF_utf8_to_utf16

(PECL pdflib >= 2.0.3)

PDF_utf8_to_utf16 — Convertir una cadena de UTF-8 a UTF-16

Descripción

string PDF_utf8_to_utf16 ( resource $pdfdoc , string $utf8string , string $ordering )

Convierte una cadena del formato UTF-8 al formato UTF-16.

PDF_utf32_to_utf16
PS
Funciones PDF


Creación de documentos PostScript

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de PS
    • ps_add_bookmark — Añadir un marcapáginas a la página actual
    • ps_add_launchlink — Añadir un vínculo que lance un fichero
    • ps_add_locallink — Añadir un vínculo hacia una página del mismo documento
    • ps_add_note — Añadir una nota a la página actual
    • ps_add_pdflink — Añadir un vínculo hacia una página de un segundo documento PDF
    • ps_add_weblink — Añadir un vínculo hacia una ubicación web
    • ps_arc — Dibujar un arco en el sentido contrario a las agujas del reloj
    • ps_arcn — Dibujar un arco en el sentido de las agujas del reloj
    • ps_begin_page — Empezar una nueva página
    • ps_begin_pattern — Iniciar un nuevo patrón
    • ps_begin_template — Iniciar una nueva plantilla
    • ps_circle — Dibujar un círculo
    • ps_clip — Realizar un recorte utilizando el trazado actual
    • ps_close_image — Cerrar una imagen y liberar memoria
    • ps_close — Cerrar un documento PostScript
    • ps_closepath_stroke — Cerrar y contornear un trazado
    • ps_closepath — Cerrar un trazado
    • ps_continue_text — Continuar el texto en la siguiente línea
    • ps_curveto — Dibujar una curva
    • ps_delete — Borrar todos los recursos de un documento PostScript
    • ps_end_page — Finalizar una página
    • ps_end_pattern — Finalizar un patrón
    • ps_end_template — Finalizar una plantilla
    • ps_fill_stroke — Rellenar y contornear el trazado actual
    • ps_fill — Rellenar el trazado actual
    • ps_findfont — Cargar una fuente
    • ps_get_buffer — Obtener el buffer completo que contiene la información generada de PS
    • ps_get_parameter — Obtener ciertos parámetros
    • ps_get_value — Obtener ciertos valores
    • ps_hyphenate — Particionar silábicamente una palabra
    • ps_include_file — Leer un fichero externo con código PostScript sin tratar
    • ps_lineto — Dibujar una línea
    • ps_makespotcolor — Crear un color directo
    • ps_moveto — Establecer el punto actual
    • ps_new — Crear un nuevo objeto de documento PostScript
    • ps_open_file — Abrir un fichero para su impresión
    • ps_open_image_file — Abre una imagen desde un fichero
    • ps_open_image — Leer una imagen para su colocación posterior
    • ps_open_memory_image — Tomar una imagen de GD y devolverla como una imagen para colcarla en un documento PS
    • ps_place_image — Colocar una imágen en la página
    • ps_rect — Dibujar un rectángulo
    • ps_restore — Restaurar un contexto previamente guardado
    • ps_rotate — Establecer el factor de rotación
    • ps_save — Guardar el contexto actual
    • ps_scale — Estalecer el factor de escala
    • ps_set_border_color — Establecer el color del borde de las anotaciones
    • ps_set_border_dash — Establece la longitud de las rayas del borde de las anotaciones
    • ps_set_border_style — Establecer el estilo del borde de las anotaciones
    • ps_set_info — Establecer los campos de información del documento
    • ps_set_parameter — Establecer ciertos parámetros
    • ps_set_text_pos — Establecer la posición de la salida de texto
    • ps_set_value — Establecer ciertos valores
    • ps_setcolor — Establecer el color actual
    • ps_setdash — Establecer la apariencia de una línea discontinua
    • ps_setflat — Establecer la planicidad
    • ps_setfont — Establecer la fuente a usar para la siguiente impresión
    • ps_setgray — Establecer el valor de gris
    • ps_setlinecap — Establecer la apariencia de los extremos de línea
    • ps_setlinejoin — Establecer cómo están unidas las líneas conectadas
    • ps_setlinewidth — Establecer el ancho de una línea
    • ps_setmiterlimit — Establecer el límite del inglete
    • ps_setoverprintmode — Establecer el modo de sobreimpresión
    • ps_setpolydash — Establecer la apariencia de una línea discontinua
    • ps_shading_pattern — Crear un patrón basado en un sombreado
    • ps_shading — Crear un sombreado para su uso posterior
    • ps_shfill — Rellenar un área con un sombreado
    • ps_show_boxed — Imprimir texto en una caja
    • ps_show_xy2 — Imprimir texto en una posición
    • ps_show_xy — Imprimir texto en una posición dada
    • ps_show2 — Imprimir texto en la posición actual
    • ps_show — Imprimir texto
    • ps_string_geometry — Establecer la geometría de una cadena de caracteres
    • ps_stringwidth — Obtener el ancho de una cadena
    • ps_stroke — Dibujar el trazado actual
    • ps_symbol_name — Obtener el nombre de un glifo
    • ps_symbol_width — Obtener el ancho de un glifo
    • ps_symbol — Imprimir un glifo
    • ps_translate — Establecer una traslación
PDF_utf8_to_utf16
Introducción
Salida MIME que no es texto


Introducción

Este módulo permite la creación de documentos PostScript. Tiene muchas similitudes con la extensión pdf. Realmente, la API es casi idéntica y en la mayoría de los casos se puede remplazar el prefijo de cada función pdf_ por ps_. Esto también es válido para funciones que no tienen significado en un documento PostScript (como añadir hipervínculos), aunque tendrá efecto si el documento se convierte a PDF.

Los documentos creados por esta extensión a veces son incluso superiores que los documentos creados con la extensión pdf, ya que las funciones de interpretación de texto de pslib pueden manejar el interletraje, la partición silábica y las ligaduras, lo que resulta en una mejor impresión de texto encajado.

PS
Instalación/Configuración
PS


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
PS


Requerimientos

Se necesita al menos PHP 4.3.0 y pslib >= 0.1.12. La biblioteca de ps (pslib) está disponible en » http://pslib.sourceforge.net/.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/ps.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

Esta extensión define un documento PostScript devuelto por la función ps_new().

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Las siguientes dos tablas muestran las constantes definidas por la extensión ps.

Constantes para extremos de líneas
Nombre | Significado
ps_LINECAP_BUTT |
ps_LINECAP_ROUND |
ps_LINECAP_SQUARED |
Constantes para unión de líneas
Nombre | Significado
ps_LINEJOIN_MITER |
ps_LINEJOIN_ROUND |
ps_LINEJOIN_BEVEL |

Tipos de recursos
Funciones de PS
PS


Funciones de PS

Información de contacto

Si tiene comentarios, correcciones de errores, mejoras para esta extensión o para pslib, por favor envíeme un correo » steinm@php.net. Cualquier ayuda es bienvenida.

Tabla de contenidos

  • ps_add_bookmark — Añadir un marcapáginas a la página actual
  • ps_add_launchlink — Añadir un vínculo que lance un fichero
  • ps_add_locallink — Añadir un vínculo hacia una página del mismo documento
  • ps_add_note — Añadir una nota a la página actual
  • ps_add_pdflink — Añadir un vínculo hacia una página de un segundo documento PDF
  • ps_add_weblink — Añadir un vínculo hacia una ubicación web
  • ps_arc — Dibujar un arco en el sentido contrario a las agujas del reloj
  • ps_arcn — Dibujar un arco en el sentido de las agujas del reloj
  • ps_begin_page — Empezar una nueva página
  • ps_begin_pattern — Iniciar un nuevo patrón
  • ps_begin_template — Iniciar una nueva plantilla
  • ps_circle — Dibujar un círculo
  • ps_clip — Realizar un recorte utilizando el trazado actual
  • ps_close_image — Cerrar una imagen y liberar memoria
  • ps_close — Cerrar un documento PostScript
  • ps_closepath_stroke — Cerrar y contornear un trazado
  • ps_closepath — Cerrar un trazado
  • ps_continue_text — Continuar el texto en la siguiente línea
  • ps_curveto — Dibujar una curva
  • ps_delete — Borrar todos los recursos de un documento PostScript
  • ps_end_page — Finalizar una página
  • ps_end_pattern — Finalizar un patrón
  • ps_end_template — Finalizar una plantilla
  • ps_fill_stroke — Rellenar y contornear el trazado actual
  • ps_fill — Rellenar el trazado actual
  • ps_findfont — Cargar una fuente
  • ps_get_buffer — Obtener el buffer completo que contiene la información generada de PS
  • ps_get_parameter — Obtener ciertos parámetros
  • ps_get_value — Obtener ciertos valores
  • ps_hyphenate — Particionar silábicamente una palabra
  • ps_include_file — Leer un fichero externo con código PostScript sin tratar
  • ps_lineto — Dibujar una línea
  • ps_makespotcolor — Crear un color directo
  • ps_moveto — Establecer el punto actual
  • ps_new — Crear un nuevo objeto de documento PostScript
  • ps_open_file — Abrir un fichero para su impresión
  • ps_open_image_file — Abre una imagen desde un fichero
  • ps_open_image — Leer una imagen para su colocación posterior
  • ps_open_memory_image — Tomar una imagen de GD y devolverla como una imagen para colcarla en un documento PS
  • ps_place_image — Colocar una imágen en la página
  • ps_rect — Dibujar un rectángulo
  • ps_restore — Restaurar un contexto previamente guardado
  • ps_rotate — Establecer el factor de rotación
  • ps_save — Guardar el contexto actual
  • ps_scale — Estalecer el factor de escala
  • ps_set_border_color — Establecer el color del borde de las anotaciones
  • ps_set_border_dash — Establece la longitud de las rayas del borde de las anotaciones
  • ps_set_border_style — Establecer el estilo del borde de las anotaciones
  • ps_set_info — Establecer los campos de información del documento
  • ps_set_parameter — Establecer ciertos parámetros
  • ps_set_text_pos — Establecer la posición de la salida de texto
  • ps_set_value — Establecer ciertos valores
  • ps_setcolor — Establecer el color actual
  • ps_setdash — Establecer la apariencia de una línea discontinua
  • ps_setflat — Establecer la planicidad
  • ps_setfont — Establecer la fuente a usar para la siguiente impresión
  • ps_setgray — Establecer el valor de gris
  • ps_setlinecap — Establecer la apariencia de los extremos de línea
  • ps_setlinejoin — Establecer cómo están unidas las líneas conectadas
  • ps_setlinewidth — Establecer el ancho de una línea
  • ps_setmiterlimit — Establecer el límite del inglete
  • ps_setoverprintmode — Establecer el modo de sobreimpresión
  • ps_setpolydash — Establecer la apariencia de una línea discontinua
  • ps_shading_pattern — Crear un patrón basado en un sombreado
  • ps_shading — Crear un sombreado para su uso posterior
  • ps_shfill — Rellenar un área con un sombreado
  • ps_show_boxed — Imprimir texto en una caja
  • ps_show_xy2 — Imprimir texto en una posición
  • ps_show_xy — Imprimir texto en una posición dada
  • ps_show2 — Imprimir texto en la posición actual
  • ps_show — Imprimir texto
  • ps_string_geometry — Establecer la geometría de una cadena de caracteres
  • ps_stringwidth — Obtener el ancho de una cadena
  • ps_stroke — Dibujar el trazado actual
  • ps_symbol_name — Obtener el nombre de un glifo
  • ps_symbol_width — Obtener el ancho de un glifo
  • ps_symbol — Imprimir un glifo
  • ps_translate — Establecer una traslación
Constantes predefinidas
ps_add_bookmark
PS


Añadir un marcapáginas a la página actual

Funciones de PS
ps_add_launchlink
Funciones de PS
PHP Manual

ps_add_bookmark

(PECL ps >= 1.1.0)

ps_add_bookmark — Añadir un marcapáginas a la página actual

Descripción

int ps_add_bookmark ( resource $psdoc , string $text [, int $parent = 0 [, int $open = 0 ]] )

Añade un marcapáginas a la página actual. Los marcapáginas normalmente aparecen en los visualizadores de PDF a la izquierda de la página como un árbol jerárquico. Al hacer clic en un marcapáginas saltará a la página en cuestión.

La nota no será visible si el documento se imprime o visualiza, pero se mostrará si es convertido a PDF ya sea con Acrobat Distiller™ o Ghostview.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

text

El texto usado para mostrar el marcapáginas.

parent

Un marcapáginas previamente creado por esta función que se usa como padre del nuevo marcapáginas.

open

Si open es distinto de cero, el visualizador de PDF mostrará el marcapáginas abierto.

Valores devueltos

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

Ver también

  • ps_add_launchlink() - Añadir un vínculo que lance un fichero
  • ps_add_pdflink() - Añadir un vínculo hacia una página de un segundo documento PDF
  • ps_add_weblink() - Añadir un vínculo hacia una ubicación web

Funciones de PS
ps_add_launchlink
Funciones de PS


Añadir un vínculo que lance un fichero

ps_add_bookmark
ps_add_locallink
Funciones de PS
PHP Manual

ps_add_launchlink

(PECL ps >= 1.1.0)

ps_add_launchlink — Añadir un vínculo que lance un fichero

Descripción

bool ps_add_launchlink ( resource $psdoc , float $llx , float $lly , float $urx , float $ury , string $filename )

Coloca un hipervínculo, en la posición dada, que apunta a un fichero de un programa, el cual se iniciará al hacer clic sobre él. La posición origen del hipervículo es un rectángulo que tiene su esquina inferior izquierda en (llx, lly) y su esquina superior derecha en (urx, ury). El rectángulo tiene por defecto un borde fino azul.

La nota no será visible si el documento se imprime o visualiza, pero se mostrará si es convertido a PDF ya sea con Acrobat Distiller™ o Ghostview.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

llx

La coordenada x de la esquina inferior izquierda.

lly

La coordenada y de la esquina inferior izquierda.

urx

La coordenada x de la esquina superior derecha.

ury

La coordenada y de la esquina superior derecha.

filename

La ruta del programa a iniciar cuando se haga clic sobre el vínculo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_add_locallink() - Añadir un vínculo hacia una página del mismo documento
  • ps_add_pdflink() - Añadir un vínculo hacia una página de un segundo documento PDF
  • ps_add_weblink() - Añadir un vínculo hacia una ubicación web

ps_add_bookmark
ps_add_locallink
Funciones de PS


Añadir un vínculo hacia una página del mismo documento

ps_add_launchlink
ps_add_note
Funciones de PS
PHP Manual

ps_add_locallink

(PECL ps >= 1.1.0)

ps_add_locallink — Añadir un vínculo hacia una página del mismo documento

Descripción

bool ps_add_locallink ( resource $psdoc , float $llx , float $lly , float $urx , float $ury , int $page , string $dest )

Coloca un hipervínculo, en la posición dada, que apunta a una página del mismo documento. Al hacer clic sobre el vínculo se irá a la página en cuestión. La primera página de un documento tiene el número 1.

La posición origen del hipervículo es un rectángulo que tiene su esquina inferior izquierda en (llx, lly) y su esquina superior derecha en (urx, ury). El rectángulo tiene por defecto un borde fino azul.

La nota no será visible si el documento se imprime o visualiza, pero se mostrará si es convertido a PDF ya sea con Acrobat Distiller™ o Ghostview.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

llx

La coordenada x de la esquina inferior izquierda.

lly

La coordenada y de la esquina inferior izquierda.

urx

La coordenada x de la esquina superior derecha.

ury

La coordenada y de la esquina superior derecha.

page

El número de la página mostrada al hacer clic en el vínculo.

dest

El parámetro dest determina cómo visualizar el documento. Puede ser fitpage, fitwidth, fitheight, o fitbbox.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_add_launchlink() - Añadir un vínculo que lance un fichero
  • ps_add_pdflink() - Añadir un vínculo hacia una página de un segundo documento PDF
  • ps_add_weblink() - Añadir un vínculo hacia una ubicación web

ps_add_launchlink
ps_add_note
Funciones de PS


Añadir una nota a la página actual

ps_add_locallink
ps_add_pdflink
Funciones de PS
PHP Manual

ps_add_note

(PECL ps >= 1.1.0)

ps_add_note — Añadir una nota a la página actual

Descripción

bool ps_add_note ( resource $psdoc , float $llx , float $lly , float $urx , float $ury , string $contents , string $title , string $icon , int $open )

Añade una nota en una cierta posición del página. Las notas son como pequeñas hojas rectangulares con texto dentro que pueden ser colocadas en cualquer lugar de una página. Se muestran tanto plegadas como desplegadas. Si están desplegadas se utiliza el icono especificado como marcador de posición.

La nota no será visible si el documento se imprime o visualiza, pero se mostrará si es convertido a PDF ya sea con Acrobat Distiller™ o Ghostview.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

llx

La coordenada x de la esquina inferior izquierda.

lly

La coordenada y de la esquina inferior izquierda.

urx

La coordenada x de la esquina superior derecha.

ury

La coordenada y de la esquina superior derecha.

contents

El texto de la nota.

title

El título de la nota a mostrar en la cabecera de la nota.

icon

El icono mostrado si la nota está plegada. Este parámetro puede ser establecido a comment, insert, note, paragraph, newparagraph, key, o help.

open

Si open es distinto de cero, la nota se mostrará desplegada después de abrir el documento con un visualizador de pdf.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_add_pdflink() - Añadir un vínculo hacia una página de un segundo documento PDF
  • ps_add_launchlink() - Añadir un vínculo que lance un fichero
  • ps_add_locallink() - Añadir un vínculo hacia una página del mismo documento
  • ps_add_weblink() - Añadir un vínculo hacia una ubicación web

ps_add_locallink
ps_add_pdflink
Funciones de PS


Añadir un vínculo hacia una página de un segundo documento PDF

ps_add_note
ps_add_weblink
Funciones de PS
PHP Manual

ps_add_pdflink

(PECL ps >= 1.1.0)

ps_add_pdflink — Añadir un vínculo hacia una página de un segundo documento PDF

Descripción

bool ps_add_pdflink ( resource $psdoc , float $llx , float $lly , float $urx , float $ury , string $filename , int $page , string $dest )

Coloca un hipervínculo, en la posición dada, que apunta a un segundo documento pdf. Al hacer clic sobre el vínculo se irá a la página dada del segundo documento. La primera página de un documento tiene el número 1.

La posición origen del hipervículo es un rectángulo que tiene su esquina inferior izquierda en (llx, lly) y su esquina superior derecha en (urx, ury). El rectángulo tiene por defecto un borde fino azul.

La nota no será visible si el documento se imprime o visualiza, pero se mostrará si es convertido a PDF ya sea con Acrobat Distiller™ o Ghostview.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

llx

La coordenada x de la esquina inferior izquierda.

lly

La coordenada y de la esquina inferior izquierda.

urx

La coordenada x de la esquina superior derecha.

ury

La coordenada y de la esquina superior derecha.

filename

El nombre del documento pdf a abrir cuando se haga clic en este vínculo.

page

El número de página del documento pdf destino

dest

El parámetro dest determina cómo visualizar el documento. Puede ser fitpage, fitwidth, fitheight, o fitbbox.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_add_launchlink() - Añadir un vínculo que lance un fichero
  • ps_add_locallink() - Añadir un vínculo hacia una página del mismo documento
  • ps_add_weblink() - Añadir un vínculo hacia una ubicación web

ps_add_note
ps_add_weblink
Funciones de PS


Añadir un vínculo hacia una ubicación web

ps_add_pdflink
ps_arc
Funciones de PS
PHP Manual

ps_add_weblink

(PECL ps >= 1.1.0)

ps_add_weblink — Añadir un vínculo hacia una ubicación web

Descripción

bool ps_add_weblink ( resource $psdoc , float $llx , float $lly , float $urx , float $ury , string $url )

Coloca un hipervínculo, en la posición dada, que apunta a una página web. La posición origen del hipervículo es un rectángulo que tiene su esquina inferior izquierda en (llx, lly) y su esquina superior derecha en (urx, ury). El rectángulo tiene por defecto un borde fino azul.

La nota no será visible si el documento se imprime o visualiza, pero se mostrará si es convertido a PDF ya sea con Acrobat Distiller™ o Ghostview.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

llx

La coordenada x de la esquina inferior izquierda.

lly

La coordenada y de la esquina inferior izquierda.

urx

La coordenada x de la esquina superior derecha.

ury

La coordenada y de la esquina superior derecha.

url

El URL del hipervínculo a abrir cuando se haga clic en este vínculo, p.ej. http://www.php.net.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_add_launchlink() - Añadir un vínculo que lance un fichero
  • ps_add_locallink() - Añadir un vínculo hacia una página del mismo documento
  • ps_add_pdflink() - Añadir un vínculo hacia una página de un segundo documento PDF

ps_add_pdflink
ps_arc
Funciones de PS


Dibujar un arco en el sentido contrario a las agujas del reloj

ps_add_weblink
ps_arcn
Funciones de PS
PHP Manual

ps_arc

(PECL ps >= 1.1.0)

ps_arc — Dibujar un arco en el sentido contrario a las agujas del reloj

Descripción

bool ps_arc ( resource $psdoc , float $x , float $y , float $radius , float $alpha , float $beta )

Dibuja una porción de un círculo con su punto medio en (x, y). El arco comienza en un ángulo dado por alpha y termina en un ángulo dado por beta. Se dibuja en el sentido contrario al de las agujas del reloj (use la función ps_arcn() para dibujarlo en el sentido de las agujas del reloj). El trazado añadido al trazado actual comienza en el arco con el ángulo alpha y termina en el arco con el ángulo beta.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

x

La coordenada x del punto medio del círculo.

y

La coordenada y del punto medio del círculo.

radius

El radio del círculo

alpha

El ángulo de inicio dado en grados.

beta

El ángulo final dado en grados.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_arcn() - Dibujar un arco en el sentido de las agujas del reloj

ps_add_weblink
ps_arcn
Funciones de PS


Dibujar un arco en el sentido de las agujas del reloj

ps_arc
ps_begin_page
Funciones de PS
PHP Manual

ps_arcn

(PECL ps >= 1.1.0)

ps_arcn — Dibujar un arco en el sentido de las agujas del reloj

Descripción

bool ps_arcn ( resource $psdoc , float $x , float $y , float $radius , float $alpha , float $beta )

Dibuja una porción de un círculo con su punto medio en (x, y). El arco comienza en un ángulo dado por alpha y termina en un ángulo dado por beta. Se dibuja en el sentido de las agujas del reloj (use la función ps_arc() para dibujarlo en sentido contrario al de las agujas del reloj). El trazado añadido al trazado actual comienza en el arco con el ángulo beta y termina en el arco con el ángulo alpha.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

x

La coordenada x del punto medio del círculo.

y

La coordenada y del punto medio del círculo.

radius

El radio del círculo

alpha

El ángulo de inicio dado en grados.

beta

El ángulo final dado en grados.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_arc() - Dibujar un arco en el sentido contrario a las agujas del reloj

ps_arc
ps_begin_page
Funciones de PS


Empezar una nueva página

ps_arcn
ps_begin_pattern
Funciones de PS
PHP Manual

ps_begin_page

(PECL ps >= 1.1.0)

ps_begin_page — Empezar una nueva página

Descripción

bool ps_begin_page ( resource $psdoc , float $width , float $height )

Empiza una nueva página. Aunque los parámetros width y height implican un tamaño de página diferente para cada página, esto no es posible en PostScript. La primera llamada a la función ps_begin_page() establecerá el tamaño de página para el documento entero. Las llamadas consecutivas no tendrán efecto, excepto para crear una nueva página. La situación es diferente si se intenta convertir el documento PostScript a PDF. Esta función coloca marcas pdf dentro del documento, con lo que se puede establecer el tamaño de cada página individualmente. El documento PDF resultante tendrá diferentes tamaños de página.

Aunque PostScript no conoce diferentes tamaños de página, pslib coloca una caja circundante para cada página dentro del documento. Este tamaño es evaluado por algunos visualizadores de PostScript y tendrá precedencia sobre el campo BoundingBox de la cabecera (Header) del documento. Esto puede llevar a resultados inesperados cuando se establece BoundingBox con su esquina inferior izquierda diferente de (0, 0), ya que la caja circundante de la página siempre tendrá una esquina inferior izquierda (0, 0) y sobrescribirá la configuración global.

Cada página está encapsulada en la forma guardar/restaurar. Esto significa que la mayoría de los ajustes hechos en una página no se conservarán para la siguiente página.

Si hasta la primera llamada a la función ps_begin_page() no existen llamadas a la función ps_findfont(), la cabecera del documento PostScript se imprimirá y la caja circundante será establecida al tamaño de la primera página. La esquina inferior izquierda de la caja circundante se establecerá a (0, 0). Si si llamó antes a la función ps_findfont(), la cabecera ya ha sido impresa, y el documento no tendrá una caja circundante válida. Para prevenir esto, se debería llamar a la función ps_set_info() para establecer el campo de información BoundingBox y posiblemente Orientation antes de cualquier llamada a las funciones ps_findfont() o ps_begin_page().

Nota:

Hasta la versión 0.2.6 de pslib, esta función siempre sobrescribía los campos BoundingBox y Orientation si antes habían sido establecidos con la función ps_set_info() y no se había llamado antes a la función ps_findfont().

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

width

El ancho de la página en píxeles, p.ej. 596 para el formato A4

height

El alto de la página en píxeles, p.ej. 842 para el formato A4

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_end_page() - Finalizar una página
  • ps_findfont() - Cargar una fuente
  • ps_set_info() - Establecer los campos de información del documento

ps_arcn
ps_begin_pattern
Funciones de PS


Iniciar un nuevo patrón

ps_begin_page
ps_begin_template
Funciones de PS
PHP Manual

ps_begin_pattern

(PECL ps >= 1.2.0)

ps_begin_pattern — Iniciar un nuevo patrón

Descripción

int ps_begin_pattern ( resource $psdoc , float $width , float $height , float $xstep , float $ystep , int $painttype )

Inicia un nuevo patrón. Un patrón es como una página que contiene, por ejemplo, un dibujo que puede ser utilizado par rellenar áreas. Se usa como un color llamando a la función ps_setcolor() y estableciendo el espacio de color a pattern.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

width

El ancho del patrón en píxeles.

height

El alto del patrón en píxeles.

x-step

La distancia en píxeles de la ubicación del patrón en dirección horizontal.

y-step

La distancia en píxeles de la ubicación del patrón en dirección vertical.

painttype

Debe ser 1 ó 2.

Valores devueltos

El identificador del patrón o FALSE en caso de error.

Ejemplos

Ejemplo #1 Crear y usar un patrón

<?php
$ps = ps_new();

if (!ps_open_file($ps, "patrón.ps")) {
  print "No se puede abrir el fichero PostScript\n";
  exit;
}

ps_set_parameter($ps, "warning", "true");
ps_set_info($ps, "Creator", "patrón.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Ejemplo de patrón");

$patrón_ps = ps_begin_pattern($ps, 10.0, 10.0, 10.0, 10.0, 1);
ps_setlinewidth($ps, 0.2);
ps_setcolor($ps, "stroke", "rgb", 0.0, 0.0, 1.0, 0.0);
ps_moveto($ps, 0, 0);
ps_lineto($ps, 7, 7);
ps_stroke($ps);
ps_moveto($ps, 0, 7);
ps_lineto($ps, 7, 0);
ps_stroke($ps);
ps_end_pattern($ps);

ps_begin_page($ps, 596, 842);
ps_setcolor($ps, "both", "pattern", $patrón_ps, 0.0, 0.0, 0.0);
ps_rect($ps, 50, 400, 200, 200);
ps_fill($ps);
ps_end_page($ps);

ps_close($ps);
ps_delete($ps);
?>

Ver también

  • ps_end_pattern() - Finalizar un patrón
  • ps_setcolor() - Establecer el color actual
  • ps_shading_pattern() - Crear un patrón basado en un sombreado

ps_begin_page
ps_begin_template
Funciones de PS


Iniciar una nueva plantilla

ps_begin_pattern
ps_circle
Funciones de PS
PHP Manual

ps_begin_template

(PECL ps >= 1.2.0)

ps_begin_template — Iniciar una nueva plantilla

Descripción

int ps_begin_template ( resource $psdoc , float $width , float $height )

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

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

width

El ancho de la plantilla en píxeles.

height

El alto de la plantilla en píxeles.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Crear y utilizar una plantilla

<?php
$ps = ps_new();

if (!ps_open_file($ps, "plantilla.ps")) {
  print "No se puede abrir el fichero PostScript\n";
  exit;
}

ps_set_parameter($ps, "warning", "true");
ps_set_info($ps, "Creator", "plantilla.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Ejemplo de plantilla");

$plantilla_ps = ps_begin_template($ps, 30.0, 30.0);
ps_moveto($ps, 0, 0);
ps_lineto($ps, 30, 30);
ps_moveto($ps, 0, 30);
ps_lineto($ps, 30, 0);
ps_stroke($ps);
ps_end_template($ps);

ps_begin_page($ps, 596, 842);
ps_place_image($ps, $plantilla_ps, 20.0, 20.0, 1.0);
ps_place_image($ps, $plantilla_ps, 50.0, 30.0, 0.5);
ps_place_image($ps, $plantilla_ps, 70.0, 70.0, 0.6);
ps_place_image($ps, $plantilla_ps, 30.0, 50.0, 1.3);
ps_end_page($ps);

ps_close($ps);
ps_delete($ps);
?>

Ver también

  • ps_end_template() - Finalizar una plantilla

ps_begin_pattern
ps_circle
Funciones de PS


Dibujar un círculo

ps_begin_template
ps_clip
Funciones de PS
PHP Manual

ps_circle

(PECL ps >= 1.1.0)

ps_circle — Dibujar un círculo

Descripción

bool ps_circle ( resource $psdoc , float $x , float $y , float $radius )

Dibuja un círculo con su punto medio en (x, y). El círculo comienza y termina en la posición (x+radius, y). Si esta función es llamada fuera de un trazado se iniciará un nuevo trazado. Si es llamada dentro de un trazado añadirá el círculo como un subtrazado. Si la última operación de dibujo no finaliza en el punto (x+radius, y) habrá un hueco en el trazado.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

x

La coordenada x del punto medio del círculo.

y

La coordenada y del punto medio del círculo.

radius

El radio del círculo

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_arc() - Dibujar un arco en el sentido contrario a las agujas del reloj
  • ps_arcn() - Dibujar un arco en el sentido de las agujas del reloj

ps_begin_template
ps_clip
Funciones de PS


Realizar un recorte utilizando el trazado actual

ps_circle
ps_close_image
Funciones de PS
PHP Manual

ps_clip

(PECL ps >= 1.1.0)

ps_clip — Realizar un recorte utilizando el trazado actual

Descripción

bool ps_clip ( resource $psdoc )

Toma el trazado actual y lo usa para definir el borde de un área de recorte. Todo lo dibujado fuera de ese área no será visible.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_closepath() - Cerrar un trazado

ps_circle
ps_close_image
Funciones de PS


Cerrar una imagen y liberar memoria

ps_clip
ps_close
Funciones de PS
PHP Manual

ps_close_image

(PECL ps >= 1.1.0)

ps_close_image — Cerrar una imagen y liberar memoria

Descripción

void ps_close_image ( resource $psdoc , int $imageid )

Cierra una imagen y libera sus recursos. Una vez que una imagen ha sido cerrada ya no puede usarse más.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

imageid

El identificador de recursos de la imagen, como el devuelto por las funciones ps_open_image() o ps_open_image_file().

Valores devueltos

Devuelve NULL en caso de éxito, o FALSE en caso de error.

Ver también

  • ps_open_image() - Leer una imagen para su colocación posterior
  • ps_open_image_file() - Abre una imagen desde un fichero

ps_clip
ps_close
Funciones de PS


Cerrar un documento PostScript

ps_close_image
ps_closepath_stroke
Funciones de PS
PHP Manual

ps_close

(PECL ps >= 1.1.0)

ps_close — Cerrar un documento PostScript

Descripción

bool ps_close ( resource $psdoc )

Cierra el documento PostScript.

Esta función escribe el tráiler del documento PostScript. También escribe el árbol de marcapáginas. ps_close() no libera ningún recurso, lo que se realiza mediante la función ps_delete().

Esta función también es llamda por la función ps_delete() si no ha sido llamada antes.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_open_file() - Abrir un fichero para su impresión
  • ps_delete() - Borrar todos los recursos de un documento PostScript

ps_close_image
ps_closepath_stroke
Funciones de PS


Cerrar y contornear un trazado

ps_close
ps_closepath
Funciones de PS
PHP Manual

ps_closepath_stroke

(PECL ps >= 1.1.0)

ps_closepath_stroke — Cerrar y contornear un trazado

Descripción

bool ps_closepath_stroke ( resource $psdoc )

Conecta el último punto con el primer punto de un trazado y dibuja la línea cerrada resultante.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_closepath() - Cerrar un trazado

ps_close
ps_closepath
Funciones de PS


Cerrar un trazado

ps_closepath_stroke
ps_continue_text
Funciones de PS
PHP Manual

ps_closepath

(PECL ps >= 1.1.0)

ps_closepath — Cerrar un trazado

Descripción

bool ps_closepath ( resource $psdoc )

Conecta el último punto con el primer punto de un trazado. El trazado resultante puede usarse para contornear, rellenar, recortar, etc...

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_clip() - Realizar un recorte utilizando el trazado actual
  • ps_closepath_stroke() - Cerrar y contornear un trazado

ps_closepath_stroke
ps_continue_text
Funciones de PS


Continuar el texto en la siguiente línea

ps_closepath
ps_curveto
Funciones de PS
PHP Manual

ps_continue_text

(PECL ps >= 1.1.0)

ps_continue_text — Continuar el texto en la siguiente línea

Descripción

bool ps_continue_text ( resource $psdoc , string $text )

Imprime un texto una línea por debajo de la última línea. La interlínea se toma del valor "leading", el cual debe establecerse con la función ps_set_value(). La posición actual del texto se determina por los valores "textx" y "texty", los cuales pueden solicitarse con la función ps_get_value().

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

text

El texto a imprimir.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_show() - Imprimir texto
  • ps_show_xy() - Imprimir texto en una posición dada
  • ps_show_boxed() - Imprimir texto en una caja

ps_closepath
ps_curveto
Funciones de PS


Dibujar una curva

ps_continue_text
ps_delete
Funciones de PS
PHP Manual

ps_curveto

(PECL ps >= 1.1.0)

ps_curveto — Dibujar una curva

Descripción

bool ps_curveto ( resource $psdoc , float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )

Añade una sección de una curva cúbica de Bézier al trazado actual descrita por los tres puntos de control dados.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

x1

La coordenada x del primer punto de control.

y1

La coordenada y del primer punto de control.

x2

La coordenada x del segundo punto de control.

y2

La coordenada y del segundo punto de control.

x3

La coordenada x del tercer punto de control.

y3

La coordenada y del tercer punto de control.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_lineto() - Dibujar una línea

ps_continue_text
ps_delete
Funciones de PS


Borrar todos los recursos de un documento PostScript

ps_curveto
ps_end_page
Funciones de PS
PHP Manual

ps_delete

(PECL ps >= 1.1.0)

ps_delete — Borrar todos los recursos de un documento PostScript

Descripción

bool ps_delete ( resource $psdoc )

Principalmente libera la memoria usada por el documento. También cierra un fichero, si no fue cerrado antes con la función ps_close(). En cualquier caso, antes se debería cerrar el fichero con la función ps_close(), ya que ps_close() no sólo cierra el fichero, sino que también imprime un tráiler que contiene comentarios de PostScript, como el número de páginas del documento, y añade la jerarquía de marcapáginas.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_close() - Cerrar un documento PostScript

ps_curveto
ps_end_page
Funciones de PS


Finalizar una página

ps_delete
ps_end_pattern
Funciones de PS
PHP Manual

ps_end_page

(PECL ps >= 1.1.0)

ps_end_page — Finalizar una página

Descripción

bool ps_end_page ( resource $psdoc )

Finaliza un página que ha sido empezada con la función ps_begin_page(). Al finalizar una página se abandonará el contexto de dibujo actual, lo que, por ejemplo, requiere recargar la fuentes si fueron cargadas dentro de la página, y establecer muchos otros parámetros como el ancho de línea, color...

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_begin_page() - Empezar una nueva página

ps_delete
ps_end_pattern
Funciones de PS


Finalizar un patrón

ps_end_page
ps_end_template
Funciones de PS
PHP Manual

ps_end_pattern

(PECL ps >= 1.2.0)

ps_end_pattern — Finalizar un patrón

Descripción

bool ps_end_pattern ( resource $psdoc )

Finaliza un patrón que fue creado con la función ps_begin_pattern(). Una vez que el patrón ha sido finalizado se puede usar como un color para rellenar áreas.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_begin_pattern() - Iniciar un nuevo patrón

ps_end_page
ps_end_template
Funciones de PS


Finalizar una plantilla

ps_end_pattern
ps_fill_stroke
Funciones de PS
PHP Manual

ps_end_template

(PECL ps >= 1.2.0)

ps_end_template — Finalizar una plantilla

Descripción

bool ps_end_template ( resource $psdoc )

Finaliza una plantilla que fue creada con la función ps_begin_template(). Una vez que la plantilla ha sido finalizada se puede usar como una imagen.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_begin_template() - Iniciar una nueva plantilla

ps_end_pattern
ps_fill_stroke
Funciones de PS


Rellenar y contornear el trazado actual

ps_end_template
ps_fill
Funciones de PS
PHP Manual

ps_fill_stroke

(PECL ps >= 1.1.0)

ps_fill_stroke — Rellenar y contornear el trazado actual

Descripción

bool ps_fill_stroke ( resource $psdoc )

Rellena y dibuja el trazado construido previamente con llamadas a funciones de dibujo, como ps_lineto().

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_fill() - Rellenar el trazado actual
  • ps_stroke() - Dibujar el trazado actual

ps_end_template
ps_fill
Funciones de PS


Rellenar el trazado actual

ps_fill_stroke
ps_findfont
Funciones de PS
PHP Manual

ps_fill

(PECL ps >= 1.1.0)

ps_fill — Rellenar el trazado actual

Descripción

bool ps_fill ( resource $psdoc )

Rellena el trazaco construido previamente con llamdas a las funciones de dibujo, como ps_lineto().

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_fill_stroke() - Rellenar y contornear el trazado actual
  • ps_stroke() - Dibujar el trazado actual

ps_fill_stroke
ps_findfont
Funciones de PS


Cargar una fuente

ps_fill
ps_get_buffer
Funciones de PS
PHP Manual

ps_findfont

(PECL ps >= 1.1.0)

ps_findfont — Cargar una fuente

Descripción

int ps_findfont ( resource $psdoc , string $fontname , string $encoding [, bool $embed = false ] )

Carga una fuente para su uso posterior. Antes de que un texto se imprima con una fuente cargada, ésta debe establecerse con a la función ps_setfont(). Esta función necesita el fichero de métrica de fuentes de Adobe para poder calcular el espacio utilizado por los caracteres. Una fuente que sea cargada dentro de una página solamente estára disponible en esta página. Las fuentes que van a ser usadas en el documento completo tienen que ser cargadas antes de llamar por primera vez a la función ps_begin_page(). Llamar a la función ps_findfont() entre páginas hará que esa fuente esté disponible para todas las páginas siguientes.

El nombre del fichero afm debe ser nombre_de_fuente.afm. Si la fuente estará embebida, el fichero nombre_de_fuente.pfb que contiene el esquema de la fuente también debe estar presente.

Llamar a la función ps_findfont() antes de la primera página requiere imprimir la cabecera postscript que incluya el campo BoundingBox para el documento entero. Normalmente BoundingBox se establece con la primera llamada a la fucnión ps_begin_page(), que ahora va después de la función ps_findfont(). Por lo tanto, BoundingBox no se ha establecido y se emitirá una advertencia al llamar a la función ps_findfont(). Para prevenir esta situación, se debería llamar a la función ps_set_parameter() para establecer BoundingBox antes de llamar a la función ps_findfont().

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

fontname

El nombre de la fuente.

encoding

ps_findfont() intentará cargar el fichero pasado al parámetro encoding. Los archivos codificados tienen la misma sintaxis que los utilizados por dvips(1). Contienen un vector de codificación de fuente (que actualmente no se usa pero debe estar presente) y una lista de ligaduras extra para prolongar la lista de ligaduras derivada del fichero afm.

encoding puede ser NULL o la cadena vacía si se usará la codificación predeterminada (TeXBase1).

Si la codificación se establece a builtin no habrá recodificación y se usará la codificación específica de la fuente. Esto es muy útil con fuentes de símbolos.

embed

Si se establece a un valor >0 la fuente será embebida en el documento. Esto requiere que el esquema de la fuente (fichero .pfb) esté presente.

Valores devueltos

Devuelve el identificador de la fuente, o cero en caso de error. El identificador es un número positivo.

Ver también

  • ps_begin_page() - Empezar una nueva página
  • ps_setfont() - Establecer la fuente a usar para la siguiente impresión

ps_fill
ps_get_buffer
Funciones de PS


Obtener el buffer completo que contiene la información generada de PS

ps_findfont
ps_get_parameter
Funciones de PS
PHP Manual

ps_get_buffer

(PECL ps >= 1.1.0)

ps_get_buffer — Obtener el buffer completo que contiene la información generada de PS

Descripción

string ps_get_buffer ( resource $psdoc )

Esta función aún no está implementada. Siempre devolverá una cadena vacía. La idea para una implementación posterior es escribir el contenido del fichero postscript en un buffer interno si se solicita la creación en memoria, y recuperar el contenifo del buffer con esta función. Actualmente, los documentos creados en memoria son enviados al visualizador sin la participación de un buffer.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

Ver también

  • ps_open_file() - Abrir un fichero para su impresión

ps_findfont
ps_get_parameter
Funciones de PS


Obtener ciertos parámetros

ps_get_buffer
ps_get_value
Funciones de PS
PHP Manual

ps_get_parameter

(PECL ps >= 1.1.0)

ps_get_parameter — Obtener ciertos parámetros

Descripción

string ps_get_parameter ( resource $psdoc , string $name [, float $modifier ] )

Obtiene varios parámetros que se establecieron directamente con la función ps_set_parameter() o indirectamente por alguna de las otras funciones. Los parámetros son por definición valores de tipo string. Esta función no se puede usar para recuperar recursos que también fueron establecidos con la función ps_set_parameter().

El parámetro name puede tener los siguientes valores:

fontname

El nombre de la fuente activa o la fuente cuyo identificador es pasado al parámetro modifier.

fontencoding

La codificación de la fuente activa.

dottedversion

La versión de la biblioteca pslib subyacente con el formato <mayor>.<menor>.<submenor>

scope

El ámbito de dibujo actual. Puede ser un objeto, un documento, null, una página, un patrón, un trazado, una plantilla, un prólogo, una fuente, un glifo.

ligaturedisolvechar

El carácter que disuelve una ligadura. Si se está utilizando una fuente que contiene la ligadura 'ff' y '|' es el carácter para disolver la ligadura, 'f|f' resultará en dos 'f' en lugar de la ligadura 'ff'.

imageencoding

La codificación utilizada para codificar imágenes. Puede ser hex o 85. La codificación hex usa dos bytes en el fichero postscript por cada byte de la imagen. 85 representa la codificación Ascii85.

linenumbermode

Establecer a paragraph si las líneas están numeradas dentro de un párrafo, o box si están numeradas dentro de una caja circundante.

linebreak

Se usa solamente si el texto se imprime con la función ps_show_boxed(). Si se establece a TRUE un retorno de carro añadirá un salto de línea.

parbreak

Se usa solamente si el texto se imprime con la función ps_show_boxed(). Si se establece a TRUE un retorno de carro iniciará un nuevo párrafo.

hyphenation

Se usa solamente si el texto se imprime con la función ps_show_boxed(). Si se establece a TRUE el párrafo será dividido mediante guiones si está establecido y existe un diccionario de partición silábica.

hyphendict

Nombre de fichero del diccionario usado como patrón de partición silábica.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

name

El nombre del parámetro.

modifier

Un identificador necesario si se solicita un parámetro de un recurso, p.ej. el tamaño de una imagen. En tal caso se pasa el ID del recurso.

Valores devueltos

Devuelve el valor del parámetro o FALSE en caso de error.

Ver también

  • ps_set_parameter() - Establecer ciertos parámetros

ps_get_buffer
ps_get_value
Funciones de PS


Obtener ciertos valores

ps_get_parameter
ps_hyphenate
Funciones de PS
PHP Manual

ps_get_value

(PECL ps >= 1.1.0)

ps_get_value — Obtener ciertos valores

Descripción

float ps_get_value ( resource $psdoc , string $name [, float $modifier ] )

Obtiene varios valores que se establecieron con la función ps_set_value(). Los valores son por definición valores de tipo float.

El parámetro name puede tener los siguientes valores:

fontsize

El tamaño de la fuente activa o la fuente cuyo identificador es pasado al parámetro modifier.

font

La fuente activa misma.

imagewidth

El ancho de la imagen cuyo ID es pasado al parámetro modifier.

imageheight

El alto de la imagen cuyo ID es pasado al parámetro modifier.

capheight

El alto de una M mayúscula de la fuente activa o la fuente cuyo identificador es pasado al parámetro modifier.

ascender

El ascendente de la fuente activa o la fuente cuyo identificador es pasado al parámetro modifier.

descender

El descendente de la fuente activa o la fuente cuyo identificador es pasado al parámetro modifier.

italicangle

El ángulo de la letra itálica de la fuente activa o la fuente cuyo identificador es pasado al parámetro modifier.

underlineposition

La posición del subrayado de la fuente activa o la fuente cuyo identificador es pasado al parámetro modifier.

underlinethickness

El grosor del subrayado de la fuente activa o la fuente cuyo identificador es pasado al parámetro modifier.

textx

La coordenada x para la impresión del texto.

texty

La coordenada y para la impresión del texto.

textrendering

El modo actual de renderización de texto.

textrise

El espacio por el que el texto es alzado por encima de la línea base.

leading

La distancia entre líneas de texto en puntos.

wordspacing

El espacio entre palabras como un múltiplo del ancho de un carácter espacio.

charspacing

El espacio entre caracteres. Si "charspacing" es != 0.0, las liagaduras siempre serán disueltas.

hyphenminchars

El número mínimo de caracteres divididos mediante guión al final de una palabra.

parindent

El sangrado de las primeras n líneas de un párrafo.

numindentlines

El número de línea a sangrar de un párrafo si "parindent" != 0.0.

parskip

La distancia entre párrafos.

linenumberspace

El espacio total delante de cada línea para el número de línea.

linenumbersep

El espacio entre la línea y el número de línea.

major

El número de la versión mayor de pslib.

minor

El número de la versión menor pslib.

subminor, revision

El número de la versión submenor de pslib.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

name

El nombre del valor.

modifier

El parámetro modifier especifica el recurso por el que recuperar el valor. Puede ser el ID de una fuente o imagen.

Valores devueltos

Devuelve el valor del parámetros o FALSE.

Ver también

  • ps_set_value() - Establecer ciertos valores

ps_get_parameter
ps_hyphenate
Funciones de PS


Particionar silábicamente una palabra

ps_get_value
ps_include_file
Funciones de PS
PHP Manual

ps_hyphenate

(PECL ps >= 1.1.1)

ps_hyphenate — Particionar silábicamente una palabra

Descripción

array ps_hyphenate ( resource $psdoc , string $text )

Particiona silábicamente la palabra proporcionada. ps_hyphenate() evalúa el valor "hyphenminchars" (establecido mediante la función ps_set_value()) y el parámetro "hyphendict" (establecido mediante la función ps_set_parameter()). "hyphendict" debe establecerse antes de llamar a esta función.

Esta función requiere que la categoría de configuración regional LC_CTYPE sea establecida correctamente. Esto se realiza cuando la extensión se inicializa utilizando las variables de entorno. Lea el manual de 'locale' de sistemas Unix para más información.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

text

text no debería contener ningún carácter que no sea una letra. Las posiciones posibles para las divisiones son devueltas en un array de números enteros. Cada número es la posición del carácter de text después del cual puede tomar lugar una partición silábica.

Valores devueltos

Un array de enteros indicando la posición de posibles divisiones del texto o FALSE en caso de error.

Ejemplos

Ejemplo #1 Particionar silábicamente un texto

<?php
$palabra = "Koordinatensystem";
$doumento_ps = ps_new();
ps_set_parameter($doumento_ps, "hyphendict", "hyph_de.dic");
$guiones = ps_hyphenate($doumento_ps, $palabra);
for($i=0; $i<strlen($palabra); $i++) {
  echo $palabra[$i];
  if(in_array($i, $guiones))
    echo "-";
}
ps_delete($doumento_ps);
?>

El resultado del ejemplo sería:

Ko-ordi-na-ten-sys-tem

Ver también

  • ps_show_boxed() - Imprimir texto en una caja
  • locale(1)

ps_get_value
ps_include_file
Funciones de PS


Leer un fichero externo con código PostScript sin tratar

ps_hyphenate
ps_lineto
Funciones de PS
PHP Manual

ps_include_file

(PECL ps >= 1.3.4)

ps_include_file — Leer un fichero externo con código PostScript sin tratar

Descripción

bool ps_include_file ( resource $psdoc , string $file )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

file

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ps_hyphenate
ps_lineto
Funciones de PS


Dibujar una línea

ps_include_file
ps_makespotcolor
Funciones de PS
PHP Manual

ps_lineto

(PECL ps >= 1.1.0)

ps_lineto — Dibujar una línea

Descripción

bool ps_lineto ( resource $psdoc , float $x , float $y )

Añade una línea recta al trazado actual desde el punto actual hasta las coordenadas dadas. Use la función ps_moveto() para establecer el punto de inicio de la línea.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

x

La coordenada x del punto final de la línea.

y

La coordenada y del punto final de la línea.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Dibujar un rectángulo

<?php
$ps = ps_new();
if (!ps_open_file($ps, "rectángulo.ps")) {
  print "No se puede abrir el fichero PostScript\n";
  exit;
}

ps_set_info($ps, "Creator", "rectángulo.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Ejemplo de lineto");

ps_begin_page($ps, 596, 842);
ps_moveto($ps, 100, 100);
ps_lineto($ps, 100, 200);
ps_lineto($ps, 200, 200);
ps_lineto($ps, 200, 100);
ps_lineto($ps, 100, 100);
ps_stroke($ps);
ps_end_page($ps);

ps_delete($ps);
?>

Ver también

  • ps_moveto() - Establecer el punto actual

ps_include_file
ps_makespotcolor
Funciones de PS


Crear un color directo

ps_lineto
ps_moveto
Funciones de PS
PHP Manual

ps_makespotcolor

(PECL ps >= 1.1.0)

ps_makespotcolor — Crear un color directo

Descripción

int ps_makespotcolor ( resource $psdoc , string $name [, int $reserved = 0 ] )

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

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

name

El nombre del color directo, p.ej. Pantone 5565.

Valores devueltos

El ID del nuevo color directo o 0 en caso de error.

Ejemplos

Ejemplo #1 Crear y utilizar un color directo

<?php
$ps = ps_new();
if (!ps_open_file($ps, "color_directo.ps")) {
  print "No se puede abrir el fichero PostScript\n";
  exit;
}

ps_set_info($ps, "Creator", "color_directo.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Ejemplo de color directo");

ps_begin_page($ps, 596, 842);
ps_setcolor($ps, "fill", "cmyk", 0.37, 0.0, 0.34, 0.34);
$color_directo = ps_makespotcolor($ps, "PANTONE 5565 C", 0);
ps_setcolor($ps, "fill", "spot", $color_directo, 0.5, 0.0, 0.0);
ps_moveto($ps, 100, 100);
ps_lineto($ps, 100, 200);
ps_lineto($ps, 200, 200);
ps_lineto($ps, 200, 100);
ps_lineto($ps, 100, 100);
ps_fill($ps);
ps_end_page($ps);

ps_delete($ps);
?>

Este ejemplo crea el color directo "PANTONE 5565 C" que es un verde oscuro (oliva) y rellena un rectángulo con el 50% de intensidad.

Ver también

  • ps_setcolor() - Establecer el color actual

ps_lineto
ps_moveto
Funciones de PS


Establecer el punto actual

ps_makespotcolor
ps_new
Funciones de PS
PHP Manual

ps_moveto

(PECL ps >= 1.1.0)

ps_moveto — Establecer el punto actual

Descripción

bool ps_moveto ( resource $psdoc , float $x , float $y )

Establece el punto actual a unas coordenadas nuevas. Si esta es la primera llamada a la función ps_moveto() después de haber finalizado un trazado previo, se iniciará un nuevo trazado. Si esta función es llamada en mitad de un trazado establecerá el punto actual e iniciará un subtrazado.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

x

La coordenada x del punto al que moverse.

y

La coordenada y del punto al que moverse.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_lineto() - Dibujar una línea

ps_makespotcolor
ps_new
Funciones de PS


Crear un nuevo objeto de documento PostScript

ps_moveto
ps_open_file
Funciones de PS
PHP Manual

ps_new

(PECL ps >= 1.1.0)

ps_new — Crear un nuevo objeto de documento PostScript

Descripción

resource ps_new ( void )

Crea una nueva instancia de documento. No crea el fichero en disco o en memoria, simplemente establece todo. ps_new() normalmente es seguido de una llamada a la función ps_open_file() para crear realmente el documento postscript.

Valores devueltos

Un recurso de un documento PostScript, o FALSE en caso de error. El valor devuelto es pasado a todas las demás funciones como primer argumento.

Ver también

  • ps_delete() - Borrar todos los recursos de un documento PostScript

ps_moveto
ps_open_file
Funciones de PS


Abrir un fichero para su impresión

ps_new
ps_open_image_file
Funciones de PS
PHP Manual

ps_open_file

(PECL ps >= 1.1.0)

ps_open_file — Abrir un fichero para su impresión

Descripción

bool ps_open_file ( resource $psdoc [, string $filename ] )

Crea un fichero en disco y escribe el documento PostScript en él. El fichero será cerrado cuando se llame a la función ps_close().

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

filename

El nombre del fichero postscript. Si no se proporciona filename el documento será creado en memoria y todas las salidas irán directas al visualizador.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_close() - Cerrar un documento PostScript

ps_new
ps_open_image_file
Funciones de PS


Abre una imagen desde un fichero

ps_open_file
ps_open_image
Funciones de PS
PHP Manual

ps_open_image_file

(PECL ps >= 1.1.0)

ps_open_image_file — Abre una imagen desde un fichero

Descripción

int ps_open_image_file ( resource $psdoc , string $type , string $filename [, string $stringparam [, int $intparam = 0 ]] )

Carga una imagen para su uso posterior.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

type

El tipo de la imagen. Los posibles valores son png, jpeg, o eps.

filename

El nombre del fichero que contiene la información de la imagen.

stringparam

No se utiliza.

intparam

No se utiliza.

Valores devueltos

Devuelve el identificador de la imagen, o cero en caso de error. El identificador es un número positivo mayor que 0.

Ver también

  • ps_open_image() - Leer una imagen para su colocación posterior
  • ps_place_image() - Colocar una imágen en la página
  • ps_close_image() - Cerrar una imagen y liberar memoria

ps_open_file
ps_open_image
Funciones de PS


Leer una imagen para su colocación posterior

ps_open_image_file
ps_open_memory_image
Funciones de PS
PHP Manual

ps_open_image

(PECL ps >= 1.1.0)

ps_open_image — Leer una imagen para su colocación posterior

Descripción

int ps_open_image ( resource $psdoc , string $type , string $source , string $data , int $lenght , int $width , int $height , int $components , int $bpc , string $params )

Lee una imagen que ya está disponible en memoria. El parámetro source actualmente no se evalua y se asume que es memory. La información de la imagen es una secuencia de píxeles que comienza en la esquina superior izquierda y termina en la exquina inferior derecha. Cada píxel consiste en componentes de color dados por components, y cada componente tiene bpc bits.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

type

El tipo de la imagen. Los posibles valores son png, jpeg, o eps.

source

No se utiliza.

data

La información de la imagen.

length

La longitud de la información de la imagen.

width

El ancho de la imagen.

height

El alto de la imagen.

components

El número de componentes de cada píxel. Puede ser 1 (imágenes en escala de grises), 3 (imágenes rgb), o 4 (imágenes cmyk, rgba).

bpc

Número de bits por componente (normalmente 8).

params

Valores devueltos

Devuelve el identificador de la imagen, o cero en caso de error. El identificador es un número positivo mayor que 0.

Ver también

  • ps_open_image_file() - Abre una imagen desde un fichero
  • ps_place_image() - Colocar una imágen en la página
  • ps_close_image() - Cerrar una imagen y liberar memoria

ps_open_image_file
ps_open_memory_image
Funciones de PS


Tomar una imagen de GD y devolverla como una imagen para colcarla en un documento PS

ps_open_image
ps_place_image
Funciones de PS
PHP Manual

ps_open_memory_image

(PECL ps >= 1.1.0)

ps_open_memory_image — Tomar una imagen de GD y devolverla como una imagen para colcarla en un documento PS

Descripción

int ps_open_memory_image ( resource $psdoc , int $gd )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

gd

ps_open_image
ps_place_image
Funciones de PS


Colocar una imágen en la página

ps_open_memory_image
ps_rect
Funciones de PS
PHP Manual

ps_place_image

(PECL ps >= 1.1.0)

ps_place_image — Colocar una imágen en la página

Descripción

bool ps_place_image ( resource $psdoc , int $imageid , float $x , float $y , float $scale )

Coloca una imagen cargada anteriormente en la página. La imagen puede ser redimensionada. Si la imagen también debe rotarse, se ha de rotar antes el sistema de coordenadas con la función ps_rotate().

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

imageid

El identificador de recursos de la imagen, como el devuelto por las funciones ps_open_image() o ps_open_image_file().

x

La coordenada x de la esquina inferior izquierda de la imagen.

y

La coordenada y de la esquina inferior izquierda de la imagen.

scale

El factor de escala de la imagen. Una escala de 1.0 resultará en una resolución de 72 dpi, ya que cada píxel es equivalente a 1 punto.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_open_image() - Leer una imagen para su colocación posterior
  • ps_open_image_file() - Abre una imagen desde un fichero

ps_open_memory_image
ps_rect
Funciones de PS


Dibujar un rectángulo

ps_place_image
ps_restore
Funciones de PS
PHP Manual

ps_rect

(PECL ps >= 1.1.0)

ps_rect — Dibujar un rectángulo

Descripción

bool ps_rect ( resource $psdoc , float $x , float $y , float $width , float $height )

Dibuja un rectángulo con su esquina inferior izquierda en (x, y). El rectángulo comienza y finaliza en su esquina inferior izquierda. Si se llama a esta función fuera de un trazado iniciará un nuevo trazado. Se es llamada dentro de un trazado añadirá el rectángulo como un subtrazado. Si la última operación de dibujo no finaliza en la esquina inferior izquierda, existirá un hueco en el trazado.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

x

La coordenada x de la esquina inferior izquierda del rectángulo.

y

La coordenada y de la esquina inferior izquierda del rectángulo.

width

El ancho de la imagen.

height

El alto de la imagen.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_arc() - Dibujar un arco en el sentido contrario a las agujas del reloj
  • ps_cirle()
  • ps_lineto() - Dibujar una línea

ps_place_image
ps_restore
Funciones de PS


Restaurar un contexto previamente guardado

ps_rect
ps_rotate
Funciones de PS
PHP Manual

ps_restore

(PECL ps >= 1.1.0)

ps_restore — Restaurar un contexto previamente guardado

Descripción

bool ps_restore ( resource $psdoc )

Restaura un conexto de gráficos previamente guardado. Cualquier llamada a la función ps_save() debe estar acompañada por una llamada a ps_restore(). Todas las transformaciones de coordenadas, ajustes de estilos de línea, ajustes de color, etc., son restauradas al estado anterior de la llamada a la función ps_save().

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_save() - Guardar el contexto actual

ps_rect
ps_rotate
Funciones de PS


Establecer el factor de rotación

ps_restore
ps_save
Funciones de PS
PHP Manual

ps_rotate

(PECL ps >= 1.1.0)

ps_rotate — Establecer el factor de rotación

Descripción

bool ps_rotate ( resource $psdoc , float $rot )

Establece la rotación del sistema de coordenadas.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

rot

El ángulo de rotación en grados.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Rotación del sistema de coordenadas

<?php
function rectángulo($ps) {
    ps_moveto($ps, 0, 0);
    ps_lineto($ps, 0, 50);
    ps_lineto($ps, 50, 50);
    ps_lineto($ps, 50, 0);
    ps_lineto($ps, 0, 0);
    ps_stroke($ps);
}

$ps = ps_new();
if (!ps_open_file($ps, "rotación.ps")) {
  print "No se pudo abrir el fichero PostScript\n";
  exit;
}

ps_set_info($ps, "Creator", "rotación.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Ejemplo de rotación");
ps_set_info($ps, "BoundingBox", "0 0 596 842");

$psfont = ps_findfont($ps, "Helvetica", "", 0);

ps_begin_page($ps, 596, 842);
ps_set_text_pos($ps, 100, 100);
ps_save($ps);
ps_translate($ps, 100, 100);
ps_rotate($ps, 45);
rectángulo($ps);
ps_restore($ps);
ps_setfont($ps, $psfont, 8.0);
ps_show($ps, "Texto sin rotación");
ps_end_page($ps);

ps_delete($ps);
?>

El ejemplo anterior ilustra una forma muy común de rotar un gráfico (en este caso un rectángulo) simplemente rotando el sistema de coordenadas. Ya que se asume que el origen del sistema de coordenadas del gráfico es (0,0), el sistema de coordenadas de la página también es trasladado para colocar los gráficos no en el extremo de la pagina. Se debe poner atención en el orden de ps_translate() y ps_rotate(). En el caso anterior el rectángulo es rotado alrededor del punto (100, 100) en el sistema de coordenadas sin trasladar. Si se cambian las dos sentencias se obtendrá un resultado completamente diferente.

Para poder imprimir el texto siguiente en la posición original, todas las modificaciones del sistema de coordenadas son encapsuladas en las funciones ps_save() y ps_restore().

Ver también

  • ps_scale() - Estalecer el factor de escala
  • ps_translate() - Establecer una traslación

ps_restore
ps_save
Funciones de PS


Guardar el contexto actual

ps_rotate
ps_scale
Funciones de PS
PHP Manual

ps_save

(PECL ps >= 1.1.0)

ps_save — Guardar el contexto actual

Descripción

bool ps_save ( resource $psdoc )

Guarda el contexto de gráficos actual, conteniendo ajustes de color, de traslación y de rotación, y algunos más. Un contexto guardado puede ser restaurado con ps_restore().

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_restore() - Restaurar un contexto previamente guardado

ps_rotate
ps_scale
Funciones de PS


Estalecer el factor de escala

ps_save
ps_set_border_color
Funciones de PS
PHP Manual

ps_scale

(PECL ps >= 1.1.0)

ps_scale — Estalecer el factor de escala

Descripción

bool ps_scale ( resource $psdoc , float $x , float $y )

Establece el factor de escala horizontal y vertical del sistema de coordenadas.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

x

El factor de escala en dirección horizontal.

y

El factor de escala en dirección vertical.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_rotate() - Establecer el factor de rotación
  • ps_translate() - Establecer una traslación

ps_save
ps_set_border_color
Funciones de PS


Establecer el color del borde de las anotaciones

ps_scale
ps_set_border_dash
Funciones de PS
PHP Manual

ps_set_border_color

(PECL ps >= 1.1.0)

ps_set_border_color — Establecer el color del borde de las anotaciones

Descripción

bool ps_set_border_color ( resource $psdoc , float $red , float $green , float $blue )

Los vínculos añadidos con una de las funciones ps_add_weblink(), ps_add_pdflink(), etc., se mostrarán con un rectángulo circundante cuando el documento postscript es convertido a pdf y visualizado en un visualizador de pdf. Este rectángulo no es visible en el documento postscript. Esta función establece el color de la línea del borde del rectángulo.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

red

El componente rojo del color del borde.

green

El componente verde del color del borde.

blue

El componente azul del color del borde.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_set_border_dash() - Establece la longitud de las rayas del borde de las anotaciones
  • ps_set_border_style() - Establecer el estilo del borde de las anotaciones

ps_scale
ps_set_border_dash
Funciones de PS


Establece la longitud de las rayas del borde de las anotaciones

ps_set_border_color
ps_set_border_style
Funciones de PS
PHP Manual

ps_set_border_dash

(PECL ps >= 1.1.0)

ps_set_border_dash — Establece la longitud de las rayas del borde de las anotaciones

Descripción

bool ps_set_border_dash ( resource $psdoc , float $black , float $white )

Los vínculos añadidos con una de las funciones ps_add_weblink(), ps_add_pdflink(), etc. se mostrarán con un rectángulo circundante cuando el documento postscript es convertido a pdf y visualizado en un visualizador de pdf. Este rectángulo no es visible en el documento postscript. Esta función establece la longitud de las porciones negras y blancas de una línea de borde discontinua.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

black

La longitud de la raya.

white

La longitud del hueco entre rayas.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_set_border_color() - Establecer el color del borde de las anotaciones
  • ps_set_border_style() - Establecer el estilo del borde de las anotaciones

ps_set_border_color
ps_set_border_style
Funciones de PS


Establecer el estilo del borde de las anotaciones

ps_set_border_dash
ps_set_info
Funciones de PS
PHP Manual

ps_set_border_style

(PECL ps >= 1.1.0)

ps_set_border_style — Establecer el estilo del borde de las anotaciones

Descripción

bool ps_set_border_style ( resource $psdoc , string $style , float $width )

Los vínculos añadidos con una de las funciones ps_add_weblink(), ps_add_pdflink(), etc. se mostrarán con un rectángulo circundante cuando el documento postscript es convertido a pdf y visualizado en un visualizador de pdf. Este rectángulo no es visible en el documento postscript. Esta función establece la apariencia y el ancho de la línea del borde.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

style

style puede ser solid o dashed.

width

El ancho del borde.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_set_border_color() - Establecer el color del borde de las anotaciones
  • ps_set_border_dash() - Establece la longitud de las rayas del borde de las anotaciones

ps_set_border_dash
ps_set_info
Funciones de PS


Establecer los campos de información del documento

ps_set_border_style
ps_set_parameter
Funciones de PS
PHP Manual

ps_set_info

(PECL ps >= 1.1.0)

ps_set_info — Establecer los campos de información del documento

Descripción

bool ps_set_info ( resource $p , string $key , string $val )

Establece ciertos campos de información del documento. Estos campos se mostrarán como un comentario en la cabecera del fichero PostScript. Si el documento es convertido a pdf, estos campos también se usarán para la información del documento.

El campo BoundingBox normalmente se establece al valor dado a la primera página. Esto sólo funciona si no se ha llamado antes a la función ps_findfont(). En tal caso BoundingBox estará sin establecer a menos que se establezca explícitamente con esta función.

Esta función ya no tendrá efecto cuando la cabecera del fichero postscript ha sido escrita. Debe ser llamada antes de la primera página o de la primera llamada a la función ps_findfont().

Parámetros

psdoc

Un identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

key

El nombre del campo de información a establecer. Los valores que se pueden establecer son Keywords (palabras clave), Subject (asunto), Title (título), Creator (creador), Author (autor), BoundingBox (caja circundante), y Orientation (orientación). Tenga en cuenta que algunos de ellos tienen un significado para los visualizadoes de PostScript.

value

El valor del campo de información. El campo Orientation puede ser establecido a Portrait (horizontal) o Landscape (vertical). El campo BoundingBox es una cadena de caracteres que consiste en cuatro números. Los dos primeros son las coordenadas de la esquina inferior izquierda de la página. Los dos últimos son las coordenadas de la esquina superior derecha.

Nota:

Hasta la versión 0.2.6 de pslib, los campos BoundingBox y Orientation eran sobrescritos por la función ps_begin_page(), a menos que se llamara antes a la función ps_findfont().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_findfont() - Cargar una fuente
  • ps_begin_page() - Empezar una nueva página

ps_set_border_style
ps_set_parameter
Funciones de PS


Establecer ciertos parámetros

ps_set_info
ps_set_text_pos
Funciones de PS
PHP Manual

ps_set_parameter

(PECL ps >= 1.1.0)

ps_set_parameter — Establecer ciertos parámetros

Descripción

bool ps_set_parameter ( resource $psdoc , string $name , string $value )

Establece varios parámetros que son utilizados por muchas funciones. Los parámetros son por definción valores de tipo string.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

name

Para una lista de los posibles nombres véase la función ps_get_parameter().

value

El valor del parámetro.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_get_parameters()
  • ps_set_value() - Establecer ciertos valores

ps_set_info
ps_set_text_pos
Funciones de PS


Establecer la posición de la salida de texto

ps_set_parameter
ps_set_value
Funciones de PS
PHP Manual

ps_set_text_pos

(PECL ps >= 1.1.0)

ps_set_text_pos — Establecer la posición de la salida de texto

Descripción

bool ps_set_text_pos ( resource $psdoc , float $x , float $y )

Establece la posición de la siguiente salida de texto. Alternativamente se puede establecer los valores x e y por serparado llamando a la función ps_set_value() y eligiendo textx y texty respectivamente como el nombre del valor.

Si se ha de imprimir el texto en una cierta posición es más conveniente utilizar la función ps_show_xy() en lugar de establecer la posición del texto y llamar a la función ps_show().

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

x

La coordenada x de la nueva posición del texto.

y

La coordenada y de la nueva posición del texto.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Colocar texto en una posición dada

<?php
$ps = ps_new();
if (!ps_open_file($ps, "texto.ps")) {
  print "No se pudo abrir el fichero PostScript\n";
  exit;
}

ps_set_info($ps, "Creator", "rectángulo.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Ejemplo de colocación de texto");

ps_begin_page($ps, 596, 842);
$psfont = ps_findfont($ps, "Helvetica", "", 0);
ps_setfont($ps, $psfont, 8.0);
ps_show_xy($ps, "Algún texto en (100, 100)", 100, 100);

ps_set_value($ps, "textx", 100);
ps_set_value($ps, "texty", 120);
ps_show($ps, "Algún texto en (100, 120)");
ps_end_page($ps);

ps_delete($ps);
?>

Ver también

  • ps_set_value() - Establecer ciertos valores
  • ps_show() - Imprimir texto

ps_set_parameter
ps_set_value
Funciones de PS


Establecer ciertos valores

ps_set_text_pos
ps_setcolor
Funciones de PS
PHP Manual

ps_set_value

(PECL ps >= 1.1.0)

ps_set_value — Establecer ciertos valores

Descripción

bool ps_set_value ( resource $psdoc , string $name , float $value )

Establece varios valores que son utilizados por muchas funciones. Los parámetros son por definición valores de tipo float.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

name

El nombre dado por name puede ser uno de los siguientes:

textrendering

La manera en que se muestra el texto.

textx

La coordenada x para la impresión del texto.

texty

La coordenada y para la impresión del texto.

wordspacing

La distancia entre palabras relativa al ancho de un espacio.

leading

La distancia entre líneas en píxeles.

value

El valor del parámetro.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_get_value() - Obtener ciertos valores
  • ps_set_parameter() - Establecer ciertos parámetros

ps_set_text_pos
ps_setcolor
Funciones de PS


Establecer el color actual

ps_set_value
ps_setdash
Funciones de PS
PHP Manual

ps_setcolor

(PECL ps >= 1.1.0)

ps_setcolor — Establecer el color actual

Descripción

bool ps_setcolor ( resource $psdoc , string $type , string $colorspace , float $c1 , float $c2 , float $c3 , float $c4 )

Establece el color para dibujar, rellanar, o ambos.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

type

El parámetro type puede ser both (ambos), fill (relleno), o fillstroke (contornear).

colorspace

El espacio de color debería ser gray, rgb, cmyk, spot, pattern. Dependiendo del espacio de color se usará solamente el primero parámetro, los tres primeros o todos los parámetros.

c1

Dependiendo del espacio de color es el componente rojo (rgb), el componente cian (cmyk), el valor de gris (gray), el identificador del color directo (spot) o el identificador del patrón (pattern).

c2

Dependiendo del espacio de color es el componente verde (rgb) o el componente magenta (cmyk).

c3

Dependiendo del espacio de color es el componente azul (rgb) o el componente amarillo (cmyk).

c4

Este parámetro sólo debe establecerse en el espacio de color cmyk, y especifica el componente negro.

Errores

El segundo parámetro actualmente no siempre es evaluado. El color es a veces establecido para relleno o dibujo como si se le pasara fillstroke.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ps_set_value
ps_setdash
Funciones de PS


Establecer la apariencia de una línea discontinua

ps_setcolor
ps_setflat
Funciones de PS
PHP Manual

ps_setdash

(PECL ps >= 1.1.0)

ps_setdash — Establecer la apariencia de una línea discontinua

Descripción

bool ps_setdash ( resource $psdoc , float $on , float $off )

Establece la longitud de las porciones negras y blancas de una línea discontinua.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

on

La longitud de la raya.

off

La longitud del hueco entre rayas.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_setpolydash() - Establecer la apariencia de una línea discontinua

ps_setcolor
ps_setflat
Funciones de PS


Establecer la planicidad

ps_setdash
ps_setfont
Funciones de PS
PHP Manual

ps_setflat

(PECL ps >= 1.1.0)

ps_setflat — Establecer la planicidad

Descripción

bool ps_setflat ( resource $psdoc , float $value )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

value

El valor dado a value debe estar entre 0.2 y 1.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ps_setdash
ps_setfont
Funciones de PS


Establecer la fuente a usar para la siguiente impresión

ps_setflat
ps_setgray
Funciones de PS
PHP Manual

ps_setfont

(PECL ps >= 1.1.0)

ps_setfont — Establecer la fuente a usar para la siguiente impresión

Descripción

bool ps_setfont ( resource $psdoc , int $fontid , float $size )

Establece una fuente, la cual ha de ser cargada antes con la función ps_findfont(). Imprimir texto sin establecer una fuente resultará en un error.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

fontid

El identificador de la fuente, como el devuelto por la función ps_findfont().

size

El tamaño de la fuente.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_findfont() - Cargar una fuente
  • ps_set_text_pos() - Establecer la posición de la salida de texto para un ejemplo.

ps_setflat
ps_setgray
Funciones de PS


Establecer el valor de gris

ps_setfont
ps_setlinecap
Funciones de PS
PHP Manual

ps_setgray

(PECL ps >= 1.1.0)

ps_setgray — Establecer el valor de gris

Descripción

bool ps_setgray ( resource $psdoc , float $gray )

Establece el valor de gris para todas las operaciones de dibujo siguientes.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

gray

El valor debe estar entre 0 (blanco) and 1 (negro).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_setcolor() - Establecer el color actual

ps_setfont
ps_setlinecap
Funciones de PS


Establecer la apariencia de los extremos de línea

ps_setgray
ps_setlinejoin
Funciones de PS
PHP Manual

ps_setlinecap

(PECL ps >= 1.1.0)

ps_setlinecap — Establecer la apariencia de los extremos de línea

Descripción

bool ps_setlinecap ( resource $psdoc , int $type )

Establece la apariencia de los extremos de línea.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

type

El tipo de extremo de línea. Los valores posibles son PS_LINECAP_BUTT, PS_LINECAP_ROUND, o PS_LINECAP_SQUARED.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_setlinejoin() - Establecer cómo están unidas las líneas conectadas
  • ps_setlinewidth() - Establecer el ancho de una línea
  • ps_setmiterlimit() - Establecer el límite del inglete

ps_setgray
ps_setlinejoin
Funciones de PS


Establecer cómo están unidas las líneas conectadas

ps_setlinecap
ps_setlinewidth
Funciones de PS
PHP Manual

ps_setlinejoin

(PECL ps >= 1.1.0)

ps_setlinejoin — Establecer cómo están unidas las líneas conectadas

Descripción

bool ps_setlinejoin ( resource $psdoc , int $type )

Establece cómo se unen las líneas

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

type

La forma de unir las líneas. Los valores posibles son PS_LINEJOIN_MITER, PS_LINEJOIN_ROUND, o PS_LINEJOIN_BEVEL.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_setlinecap() - Establecer la apariencia de los extremos de línea
  • ps_setlinewidth() - Establecer el ancho de una línea
  • ps_setmiterlimit() - Establecer el límite del inglete

ps_setlinecap
ps_setlinewidth
Funciones de PS


Establecer el ancho de una línea

ps_setlinejoin
ps_setmiterlimit
Funciones de PS
PHP Manual

ps_setlinewidth

(PECL ps >= 1.1.0)

ps_setlinewidth — Establecer el ancho de una línea

Descripción

bool ps_setlinewidth ( resource $psdoc , float $width )

Esteblece el ancho de línea para todas las operaciones de dibujo siguientes.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

width

El ancho de las líneas en puntos.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_setlinecap() - Establecer la apariencia de los extremos de línea
  • ps_setlinejoin() - Establecer cómo están unidas las líneas conectadas
  • ps_setmiterlimit() - Establecer el límite del inglete

ps_setlinejoin
ps_setmiterlimit
Funciones de PS


Establecer el límite del inglete

ps_setlinewidth
ps_setoverprintmode
Funciones de PS
PHP Manual

ps_setmiterlimit

(PECL ps >= 1.1.0)

ps_setmiterlimit — Establecer el límite del inglete

Descripción

bool ps_setmiterlimit ( resource $psdoc , float $value )

Si dos líneas se unen en un ángulo pequeño y la unión de líneas está establecida a PS_LINEJOIN_MITER, el pico resultante será muy largo. El límite de inglete es la proporción máxima entre la longitud del inglete (la longitud del pico) y del ancho de línea.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

value

La proporción máxima entre la longitud del inglete y del ancho de línea. Los valores grandes (> 10) resultarán en picos muy largos cuando dos líneas se encuentren en un ángulo pequeño. Mantenga el predeterminado a menos que sepa lo que está haciendo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_setlinecap() - Establecer la apariencia de los extremos de línea
  • ps_setlinejoin() - Establecer cómo están unidas las líneas conectadas
  • ps_setlinewidth() - Establecer el ancho de una línea

ps_setlinewidth
ps_setoverprintmode
Funciones de PS


Establecer el modo de sobreimpresión

ps_setmiterlimit
ps_setpolydash
Funciones de PS
PHP Manual

ps_setoverprintmode

(PECL ps >= 1.3.0)

ps_setoverprintmode — Establecer el modo de sobreimpresión

Descripción

bool ps_setoverprintmode ( resource $psdoc , int $mode )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

mode

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ps_setmiterlimit
ps_setpolydash
Funciones de PS


Establecer la apariencia de una línea discontinua

ps_setoverprintmode
ps_shading_pattern
Funciones de PS
PHP Manual

ps_setpolydash

(PECL ps >= 1.1.0)

ps_setpolydash — Establecer la apariencia de una línea discontinua

Descripción

bool ps_setpolydash ( resource $psdoc , float $arr )

Establece la longitud de las porciones negras y blancas de una línea discontinua. La función ps_setpolydash() se usa para establecer patrones discontinuos más complejos.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

arr

arr es una lista de elementos de longitud alternados para las porcioines negras y blancas.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Dibujar una línea discontinua

<?php
$ps = ps_new();
if (!ps_open_file($ps, "poliraya.ps")) {
   print "No se puede abrir el fichero PostScript\n";
     exit;
}

ps_set_info($ps, "Creator", "poliraya.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Ejemplo de poliraya");

ps_begin_page($ps, 596, 842);
ps_setpolydash($ps, array(10, 5, 2, 5));
ps_moveto($ps, 100, 100);
ps_lineto($ps, 200, 200);
ps_stroke($ps);
ps_end_page($ps);

ps_delete($ps);
?>

Este ejemplo dibuja una línea con rayas de 10 y 2 puntos de longitud, y huecos de 5 puntos entre ellas.

Ver también

  • ps_setdash() - Establecer la apariencia de una línea discontinua

ps_setoverprintmode
ps_shading_pattern
Funciones de PS


Crear un patrón basado en un sombreado

ps_setpolydash
ps_shading
Funciones de PS
PHP Manual

ps_shading_pattern

(PECL ps >= 1.3.0)

ps_shading_pattern — Crear un patrón basado en un sombreado

Descripción

int ps_shading_pattern ( resource $psdoc , int $shadingid , string $optlist )

Crea un patrón basado en un sombreado, el cual ha de ser creado antes con la función ps_shading(). Los patrones de sombreado se pueden usar como patrones normales.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

shadingid

El identificador de un sombreado previamente creado con la función ps_shading().

optlist

Este argumento actualmente no se usa.

Valores devueltos

El identificador del patrón o FALSE en caso de error.

Ver también

  • ps_shading() - Crear un sombreado para su uso posterior
  • ps_shfill() - Rellenar un área con un sombreado

ps_setpolydash
ps_shading
Funciones de PS


Crear un sombreado para su uso posterior

ps_shading_pattern
ps_shfill
Funciones de PS
PHP Manual

ps_shading

(PECL ps >= 1.3.0)

ps_shading — Crear un sombreado para su uso posterior

Descripción

int ps_shading ( resource $psdoc , string $type , float $x0 , float $y0 , float $x1 , float $y1 , float $c1 , float $c2 , float $c3 , float $c4 , string $optlist )

Crea un sombreado que puede ser utilizado por las funciones ps_shfill() o ps_shading_pattern().

El color del sombreado puede estar en cualquier espacio de color excepto para pattern.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

type

El tipo de sombreado puede ser radial o axial. Cada sombreado comienza con el color de relleno actual y termina con los valores de color pasados a los parámetros c1 a c4 (véase la función ps_setcolor() para sus significados).

x0, x1, y0, y1

Las coordenadas x0, y0, x1, y1 son el punto de inicio y el punto final del sombreado. Si el tipo de sombreado es radial los dos puntos son los puntos medios de un círculo inicial y final.

c1, c2, c3, c4

Véase la función ps_setcolor() para sus significados.

optlist

Si el sombreado es de tipo radial el parámetro optlist debe contener también los parámetros r0 y r1 con el radio del círculo inicial y final.

Valores devueltos

Devuelve el identificador del patrón o FALSE en caso de error.

Ver también

  • ps_shading_pattern() - Crear un patrón basado en un sombreado
  • ps_shfill() - Rellenar un área con un sombreado

ps_shading_pattern
ps_shfill
Funciones de PS


Rellenar un área con un sombreado

ps_shading
ps_show_boxed
Funciones de PS
PHP Manual

ps_shfill

(PECL ps >= 1.3.0)

ps_shfill — Rellenar un área con un sombreado

Descripción

bool ps_shfill ( resource $psdoc , int $shadingid )

Rellena un área con un sombreado, que ha de ser creado antes con la función ps_shading(). Esta es una manera alternativa de crear un patrón desde un sombreado con la función ps_shading_pattern() y usar el patrón como color de relleno.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

shadingid

El identificador de un sombreado previamente creado con la función ps_shading().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_shading() - Crear un sombreado para su uso posterior
  • ps_shading_pattern() - Crear un patrón basado en un sombreado

ps_shading
ps_show_boxed
Funciones de PS


Imprimir texto en una caja

ps_shfill
ps_show_xy2
Funciones de PS
PHP Manual

ps_show_boxed

(PECL ps >= 1.1.0)

ps_show_boxed — Imprimir texto en una caja

Descripción

int ps_show_boxed ( resource $psdoc , string $text , float $left , float $bottom , float $width , float $height , string $hmode [, string $feature ] )

Imprime un texto en la caja dada. La esquina inferior izquierda de la caja está en (left, bottom). Los saltos de línea se insertarán según sean necesarios. Los espacios múltiples se tratan como uno sólo. Las tabulaciones son tratadas como espacios.

El texto será particionado silábicamente si el parámetro hyphenation es establecido a TRUE y el parámetro hyphendict contiene un nombre de fichero válido para un fichero de patrones de partición silábica. La interlínea se toma del valor leading. Los párrafos pueden ser separados por una línea vacía como en TeX. Si el valor parindent es establecido a un valor > 0.0, las primeras n líneas serán sangradas. El número de líneas n se establece mediante el parámetro numindentlines. Para prevenir el sangrado de los primeros m párrafos se ha de establecer el valor parindentskip a un número positivo.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

text

El texto a imprimir en la caja dada.

left

La coordenada x de la esquina inferior izquierda de la caja.

bottom

La coordenada y de la esquina inferior izquierda de la caja.

width

El ancho de la caja.

height

El alto de la caja.

hmode

El parámetro hmode puede ser "justify" (justificado), "fulljustify" (justificado completamete), "right" (a la derecha), "left" (a la izquierda), o "center" (centrado). La diferencia entre "justify" y "fulljustify" afecta a la última línea de la caja. En el modo "fulljustify" la última línea será justificada a izquierda y derecha a menos que sea también la última línea del párrafo. En el modo "justify" siempre será justificada a la izquierda.

feature

Parámetros utilizados

La salida de la función ps_show_boxed() se puede configurar con varios parámetros y valores que deben ser establecidos con las funciones ps_set_parameter() o ps_set_value(). Junto a los parámetros y valores que afectan a la impresión del texto, son evaluados los siguientes parámetros y valores:

leading (valor)

La distancia entre la línea base de dos líneas consecutivas.

linebreak (parámetro)

Establecer a "true" si se necesita un retorno de carro al inicio de una nueva línea en lugar de tratarlo como un espacio. Por defecto es "false".

parbreak (parámetro)

Establecer a "true" si se necesita un retorno de carro en una sola línea para iniciar un nuevo párrafo en lugar de tratarlo como un espacio. Por defecto es "true".

hyphenation (parámetro)

Establecer a "true" para activar la partición silábica. Se requiere establecer un diccionario con el parámetro "hyphendict". Por defecto es "false".

hyphendict (parámetro)

El nombre de fichero del diccionario usado para los patrones de partición silábica (véase más abajo).

hyphenminchar (valor)

El número de caracteres que debe haber al menos antes o después del guión. Esto implica que sólo las palabras de al menos dos veces este valor serán particionadas silábicamente. El valor predeterminado es tres. Establecer un valor de cero resultará en el valor predeterminado.

parindent (valor)

Establece la cantidad de espacio en píxeles para la sangría de las m primeras líneas de un párrafo. m puede establecerse con el valor "numindentlines".

parskip (valor)

Establece el valor de espacio extra entre párrafos. Por defecto es 0, lo que resultará en una distancia de líneas normal.

numindentlines (valor)

El número de líneas desde el inicio del párrafo que serán sangradas. Por defecto es 1.

parindentskip (valor)

El número de párrafos de la caja cuyas primeras líneas no serán sangradas. Por defecto es 0. Esto es útil para párrafos situados justo antes de una sección de cabecera o para texto continuado en una segunda caja. En ambdos casos se debería establecer a 1.

linenumbermode (parámetro)

Establece la manera en que las líneas son numeradas. Los posibles valores son "box" para la numeración de líneas en la caja completa o "paragraph" para la numeración de líneas dentro de cada párrafo.

linenumberspace (valor)

El espacio para la columna a la izquierda de la línea numerada que contiene el número de línea. El número de línea será justificado a la derecha dentro de esta columna. Por defecto es 20.

linenumbersep (valor)

El espacio entre la columna con los números de línea y la línea misma. Por defecto es 5.

Partición silábica

El texto se particiona silábicamente si el parámetro hyphenation es "true" y está establecido un diccionario de partición silábica válido. pslib no trae su propio diccionario de partición silábica, pero utiliza uno de openoffice, scribus o koffice. Se pueden encontrar estos diccionarios para diferentes lenguajes en uno de los siguientes directios si el software está instalado:

  • /usr/share/apps/koffice/hyphdicts/
  • /usr/lib/scribus/dicts/
  • /usr/lib/openoffice/share/dict/ooo/
Actualmente, scribus parece tener los diccionarios de partición silábica más completos.

Valores devueltos

El número de caracteres que no podrán ser escritos.

Ver también

  • ps_continue_text() - Continuar el texto en la siguiente línea

ps_shfill
ps_show_xy2
Funciones de PS


Imprimir texto en una posición

ps_show_boxed
ps_show_xy
Funciones de PS
PHP Manual

ps_show_xy2

(PECL ps >= 1.1.0)

ps_show_xy2 — Imprimir texto en una posición

Descripción

bool ps_show_xy2 ( resource $psdoc , string $text , int $len , float $xcoor , float $ycoor )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ps_show_boxed
ps_show_xy
Funciones de PS


Imprimir texto en una posición dada

ps_show_xy2
ps_show2
Funciones de PS
PHP Manual

ps_show_xy

(PECL ps >= 1.1.0)

ps_show_xy — Imprimir texto en una posición dada

Descripción

bool ps_show_xy ( resource $psdoc , string $text , float $x , float $y )

Imprime texto en la posición de texto dada.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

text

El texto a imprimir.

x

La coordenada x de la esquina inferior izquierda de la caja circundante del texto.

y

La coordenada y de la esquina inferior izquierda de la caja circundante del texto.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_continue_text() - Continuar el texto en la siguiente línea
  • ps_show() - Imprimir texto

ps_show_xy2
ps_show2
Funciones de PS


Imprimir texto en la posición actual

ps_show_xy
ps_show
Funciones de PS
PHP Manual

ps_show2

(PECL ps >= 1.1.0)

ps_show2 — Imprimir texto en la posición actual

Descripción

bool ps_show2 ( resource $psdoc , string $text , int $len )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

text

len

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ps_show_xy
ps_show
Funciones de PS


Imprimir texto

ps_show2
ps_string_geometry
Funciones de PS
PHP Manual

ps_show

(PECL ps >= 1.1.0)

ps_show — Imprimir texto

Descripción

bool ps_show ( resource $psdoc , string $text )

Imprime un texto en la posición de texto actual. La posición de texto puede ser establecida almacenado las coordenadas x e y en los valores textx y texty con la función ps_set_value(). La función emitirá un error si no se estableció antes una fuente con la función ps_setfont().

ps_show() evalúa los siguientes parámetros y valores establecidos por las funciones ps_set_parameter() y ps_set_value():

charspacing (valor)

Distancia entre dos glifos consecutivos. Si este valor es distinto de cero todas las ligaduras serán resueltas. Están permitidos valores menores que cero.

kerning (parámetro)

Establecer este parámetro a "false" desactivará el interletraje. El interletraje está activado por defecto.

ligatures (parámetro)

Establecer esta parámetro a "false" desactivará el uso de ligaduras. Las ligaduras están activadas por defecto.

underline (parámetro)

Establecer esta parámetro a "true" activará el subrayado. El subrayado está desctivado por defecto.

overline (parámetro)

Establecer esta parámetro a "true" activará el suprarayado. El suprarayado está desctivado por defecto.

strikeout (parámetro)

Establecer esta parámetro a "true" activará el tachado. El tachado está desctivado por defecto.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

text

El texto a imprimir.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_continue_text() - Continuar el texto en la siguiente línea
  • ps_show_xy() - Imprimir texto en una posición dada
  • ps_setfont() - Establecer la fuente a usar para la siguiente impresión

ps_show2
ps_string_geometry
Funciones de PS


Establecer la geometría de una cadena de caracteres

ps_show
ps_stringwidth
Funciones de PS
PHP Manual

ps_string_geometry

(PECL ps >= 1.2.0)

ps_string_geometry — Establecer la geometría de una cadena de caracteres

Descripción

array ps_string_geometry ( resource $psdoc , string $text [, int $fontid = 0 [, float $size = 0.0 ]] )

Esta función es similar a la función ps_stringwidth(), excepto que devuelve un array de dimensiones que contiene el ancho, el ascendente y el descendente del texto.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

text

El texto por el cual se calcula la geometría.

fontid

El identificador de la fuente a usar. Si no se especifica una fuente se usará la fuente actual.

size

El tamaño de la fuente. Si no se especifica un tamaño se usará el tamaño actual.

Valores devueltos

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

Ver también

  • ps_continue_text() - Continuar el texto en la siguiente línea
  • ps_stringwidth() - Obtener el ancho de una cadena

ps_show
ps_stringwidth
Funciones de PS


Obtener el ancho de una cadena

ps_string_geometry
ps_stroke
Funciones de PS
PHP Manual

ps_stringwidth

(PECL ps >= 1.1.0)

ps_stringwidth — Obtener el ancho de una cadena

Descripción

float ps_stringwidth ( resource $psdoc , string $text [, int $fontid = 0 [, float $size = 0.0 ]] )

Calcula el ancho de una cadena en puntos si fue impresa con la fuente y tamaño de fuente dados. Esta función necesita un fichero de métrica de fuente de Adobe para calcular el ancho preciso. Si la partición silábica está activada se tomará en cuenta.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

text

El texto por el que calcular el ancho.

fontid

El identificador de la fuente a usar. Si no se especifica ninguna fuente se usará la fuente actual.

size

El tamaño de la fuente. Si no se especifica ningún tamaño se usará el tamaño actual.

Valores devueltos

El ancho de una cadena en puntos.

Ver también

  • ps_string_geometry() - Establecer la geometría de una cadena de caracteres

ps_string_geometry
ps_stroke
Funciones de PS


Dibujar el trazado actual

ps_stringwidth
ps_symbol_name
Funciones de PS
PHP Manual

ps_stroke

(PECL ps >= 1.1.0)

ps_stroke — Dibujar el trazado actual

Descripción

bool ps_stroke ( resource $psdoc )

Dibuja el trazado construido previamente con las llamadas a las funciones de dibujo como ps_lineto().

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_closepath_stroke() - Cerrar y contornear un trazado
  • ps_fill() - Rellenar el trazado actual
  • ps_fill_stroke() - Rellenar y contornear el trazado actual

ps_stringwidth
ps_symbol_name
Funciones de PS


Obtener el nombre de un glifo

ps_stroke
ps_symbol_width
Funciones de PS
PHP Manual

ps_symbol_name

(PECL ps >= 1.2.0)

ps_symbol_name — Obtener el nombre de un glifo

Descripción

string ps_symbol_name ( resource $psdoc , int $ord [, int $fontid = 0 ] )

Esta función necesita un fichero de métrica de fuentes de Adobe para conocer los glifos que están disponibles.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

ord

El parámetro ord es la posición del glifo en el vector de codificación de fuente.

fontid

El identificador de la fuente a usar. Si no se especifica ninguna fuente se usará la fuente actual.

Valores devueltos

El nombre de un glifo de la fuente dada.

Ver también

  • ps_symbol() - Imprimir un glifo
  • ps_symbol_width() - Obtener el ancho de un glifo

ps_stroke
ps_symbol_width
Funciones de PS


Obtener el ancho de un glifo

ps_symbol_name
ps_symbol
Funciones de PS
PHP Manual

ps_symbol_width

(PECL ps >= 1.2.0)

ps_symbol_width — Obtener el ancho de un glifo

Descripción

float ps_symbol_width ( resource $psdoc , int $ord [, int $fontid = 0 [, float $size = 0.0 ]] )

Calcula el ancho de un glifo en puntos si fue impreso con la fuente y el tamaño de fuente dados. Esta función necesita un fichero de métrica de fuentes de Adobe para calcular el ancho preciso.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

ord

La posición del glifo en el vector de codificación de fuente.

fontid

El identificador de la fuente a usar. Si no se especifica ninguna fuente se usará la fuente actual.

size

El tamaño de la fuente. Si no se especifica ningún tamaño se usará el tamaño actual.

Valores devueltos

El ancho de un glifo en puntos.

Ver también

  • ps_symbol() - Imprimir un glifo
  • ps_symbol_name() - Obtener el nombre de un glifo

ps_symbol_name
ps_symbol
Funciones de PS


Imprimir un glifo

ps_symbol_width
ps_translate
Funciones de PS
PHP Manual

ps_symbol

(PECL ps >= 1.2.0)

ps_symbol — Imprimir un glifo

Descripción

bool ps_symbol ( resource $psdoc , int $ord )

Imprime el glifo de la posición ord del vector de codificación de fuentes de la fuente actual. La codificación de fuente para una fuente se puede establecer cargando la fuente con la función ps_findfont().

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

ord

La posición del glifo en el vector de codificación de fuentes.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ps_symbol_name() - Obtener el nombre de un glifo
  • ps_symbol_width() - Obtener el ancho de un glifo

ps_symbol_width
ps_translate
Funciones de PS


Establecer una traslación

ps_symbol
Lector RPM
Funciones de PS
PHP Manual

ps_translate

(PECL ps >= 1.1.0)

ps_translate — Establecer una traslación

Descripción

bool ps_translate ( resource $psdoc , float $x , float $y )

Establece un nuevo punto inicial del sistema de coordenadas.

Parámetros

psdoc

El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().

x

La coordenada x del origen del sistema de coordenadas trasladado.

y

La coordenada y del origen del sistema de coordenadas trasladado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Traslación del sistema de coordenadas

<?php
function rectángulo($ps) {
    ps_moveto($ps, 0, 0);
    ps_lineto($ps, 0, 50);
    ps_lineto($ps, 50, 50);
    ps_lineto($ps, 50, 0);
    ps_lineto($ps, 0, 0);
    ps_stroke($ps);
}

$ps = ps_new();
if (!ps_open_file($ps, "traslación.ps")) {
  print "No se puede abrir el fichero PostScript\n";
  exit;
}

ps_set_info($ps, "Creator", "traslación.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Ejemplo de traslación");
ps_set_info($ps, "BoundingBox", "0 0 596 842");

$psfont = ps_findfont($ps, "Helvetica", "", 0);

ps_begin_page($ps, 596, 842);
ps_set_text_pos($ps, 100, 100);
ps_translate($ps, 500, 750);
rectángulo($ps);
ps_translate($ps, -500, -750);
ps_setfont($ps, $psfont, 8.0);
ps_show($ps, "Texto en posición inicial");
ps_end_page($ps);

ps_begin_page($ps, 596, 842);
ps_set_text_pos($ps, 100, 100);
ps_save($ps);
ps_translate($ps, 500, 750);
rectángulo($ps);
ps_restore($ps);
ps_setfont($ps, $psfont, 8.0);
ps_show($ps, "Texto en posición inicial");
ps_end_page($ps);

ps_delete($ps);
?>

El ejemplo anterior demuestra dos maneras posibles de colocar un gráfico (en este caso un rectángulo) en cualquier posición de la página, mientras que el gráfico mismo utiliza su propio sistema de coordenadas. El truco está en cambiar el origen del sistema de coodenadas acutal antes de dibujar el rectángulo. La traslación tiene que ser deshecha después de dibujar el gráfico.

En la segunda página se aplica un enfoque algo diferente y más elegante. En vez de deshacer la traslación con una segunda llamada a la función ps_translate() el contexto de gráficos se guarda antes de modificar el sistema de coordenadas y se restaura después de dibujar el rectángulo.

Ver también

  • ps_scale() - Estalecer el factor de escala
  • ps_rotate() - Establecer el factor de rotación

ps_symbol
Lector RPM
Funciones de PS


Lector de encabezados RPM

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Uso básico
  • Funciones del lector RPM
    • rpm_close — Cierra un fichero RPM
    • rpm_get_tag — Obtiene la etiqueta del encabezado de un fichero RPM
    • rpm_is_valid — Comprueba si un fichero RPM es válido
    • rpm_open — Abre un fichero RPM
    • rpm_version — Devuelve una cadena de texto con la versión actual de la extensión de rpmreader
ps_translate
Introducción
Salida MIME que no es texto


Introducción

Este módulo permite leer la información almacenada en los encabezados de ficheros del tipo » RedHat Package Manager (» RPM).

Lector RPM
Instalación/Configuración
Lector RPM


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Lector RPM


Requerimientos

La extensión RPMReader require PHP 5.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/rpmreader.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

Existe un tipo de recurso usado por el módulo RPMReader. Este recurso es el puntero a un fichero el cual identifica el fichero RPM que se quiere utilizar.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

La siguiente lista de constantes son usadas para obtener información al usar la función rpm_get_tag(). Estas constantes son representadas por el número de etiqueta a ser obtenida de la sección de encabezado del fichero RPM. A continuación se muestran las descripciones y a que número de constantes corresponden.

RPMREADER_MINIMUM (integer)
El valor mínimo de cualquier valor de cualquier número de etiqueta RPM.
RPMREADER_NAME (integer)
El nombre del paquete RPM.
RPMREADER_VERSION (integer)
La versión del paquete RPM.
RPMREADER_RELEASE (integer)
La release del paquete RPM.
RPMREADER_EPOCH (integer)
RPMREADER_SERIAL (integer)
RPMREADER_SUMMARY (integer)
El texto sumario del paquete RPM.
RPMREADER_DESCRIPTION (integer)
El texto de la descripción completa del paquete RPM.
RPMREADER_BUILDTIME (integer)
La fecha y hora de cuando se compiló el paquete RPM.
RPMREADER_BUILDHOST (integer)
El nombre del host en donde se compiló el paquete RPM.
RPMREADER_INSTALLTIME (integer)
RPMREADER_SIZE (integer)
El tamaño del paquete RPM.
RPMREADER_DISTRIBUTION (integer)
RPMREADER_VENDOR (integer)
RPMREADER_GIF (integer)
RPMREADER_XPM (integer)
RPMREADER_LICENSE (integer)
RPMREADER_COPYRIGHT (integer)
RPMREADER_PACKAGER (integer)
RPMREADER_GROUP (integer)
RPMREADER_SOURCE (integer)
RPMREADER_PATCH (integer)
RPMREADER_URL (integer)
RPMREADER_OS (integer)
RPMREADER_ARCH (integer)
RPMREADER_PREIN (integer)
RPMREADER_POSTIN (integer)
RPMREADER_PREUN (integer)
RPMREADER_POSTUN (integer)
RPMREADER_OLDFILENAMES (integer)
La lista de ficheros de un paquete RPM (formato absoleto). La forma correcta de hacerlo es usando la combinación de estas 3 etiquetas (RPMREADER_BASENAMES, RPMREADER_DIRINDEXES, RPMREADER_DIRNAMES) en la que RPM ahora se llama "CompressedFileNames". Esta etiqueta todavía se sigue usando en ficheros RPM antiguos que no usaron el método "CompressedFileNames" y se mantiene para compatibilidad con versiones anteriores.
RPMREADER_FILESIZES (integer)
RPMREADER_FILESTATES (integer)
RPMREADER_FILEMODES (integer)
RPMREADER_FILERDEVS (integer)
RPMREADER_FILEMTIMES (integer)
RPMREADER_FILEMD5S (integer)
RPMREADER_FILELINKTOS (integer)
RPMREADER_FILEFLAGS (integer)
RPMREADER_FILEUSERNAME (integer)
RPMREADER_FILEGROUPNAME (integer)
RPMREADER_ICON (integer)
RPMREADER_SOURCERPM (integer)
RPMREADER_FILEVERIFYFLAGS (integer)
RPMREADER_ARCHIVESIZE (integer)
RPMREADER_PROVIDENAME (integer)
RPMREADER_PROVIDES (integer)
RPMREADER_REQUIREFLAGS (integer)
RPMREADER_REQUIRENAME (integer)
RPMREADER_REQUIREVERSION (integer)
RPMREADER_CONFLICTFLAGS (integer)
RPMREADER_CONFLICTNAME (integer)
RPMREADER_CONFLICTVERSION (integer)
RPMREADER_EXCLUDEARCH (integer)
RPMREADER_EXCLUDEOS (integer)
RPMREADER_EXCLUSIVEARCH (integer)
RPMREADER_EXCLUSIVEOS (integer)
RPMREADER_RPMVERSION (integer)
RPMREADER_TRIGGERSCRIPTS (integer)
RPMREADER_TRIGGERNAME (integer)
RPMREADER_TRIGGERVERSION (integer)
RPMREADER_TRIGGERFLAGS (integer)
RPMREADER_TRIGGERINDEX (integer)
RPMREADER_VERIFYSCRIPT (integer)
RPMREADER_CHANGELOGTIME (integer)
The list of dates from changelog entries.
RPMREADER_CHANGELOGNAME (integer)
Lista de la entrada de nombres en el changelog.
RPMREADER_CHANGELOGTEXT (integer)
Lista del texto de las entradas en el changelog.
RPMREADER_PREINPROG (integer)
RPMREADER_POSTINPROG (integer)
RPMREADER_PREUNPROG (integer)
RPMREADER_POSTUNPROG (integer)
RPMREADER_BUILDARCHS (integer)
RPMREADER_OBSOLETENAME (integer)
RPMREADER_OBSOLETES (integer)
RPMREADER_VERIFYSCRIPTPROG (integer)
RPMREADER_TRIGGERSCRIPTPROG (integer)
RPMREADER_COOKIE (integer)
RPMREADER_FILEDEVICES (integer)
RPMREADER_FILEINODES (integer)
RPMREADER_FILELANGS (integer)
RPMREADER_PREFIXES (integer)
RPMREADER_INSTPREFIXES (integer)
RPMREADER_PROVIDEFLAGS (integer)
RPMREADER_PROVIDEVERSION (integer)
RPMREADER_OBSOLETEFLAGS (integer)
RPMREADER_OBSOLETEVERSION (integer)
RPMREADER_DIRINDEXES (integer)
Lista de los índices que relacionan los directorios a los ficheros en el paquete RPM. Esta etiqueta se usa juntamente con RPMREADER_BASENAMES and RPMREADER_DIRNAMES para reconstruir los nombres de los ficheros guardados en el paquete RPM con el nuevo método "CompressedFileNames".
RPMREADER_BASENAMES (integer)
Lista de los nombres de los ficheros en el paquete RPM sin la información de la ruta del fichero. Esta etiqueta se usa juntamente con RPMREADER_DIRINDEXES y RPMREADER_DIRNAMES para reconstruir los nombres de los ficheros guardados en el paquete RPM con el nuevo método "CompressedFileNames".
RPMREADER_DIRNAMES (integer)
Lista de nombres de los directorios usados por los ficheros en el paquete RPM. Esta etiqueta se usa juntamente con RPMREADER_BASENAMES y RPMREADER_DIRINDEXES para reconstruir los nombres de los ficheros guardados en el paquete RPM con el nuemo método "CompressedFileNames".
RPMREADER_OPTFLAGS (integer)
RPMREADER_DISTURL (integer)
RPMREADER_PAYLOADFORMAT (integer)
RPMREADER_PAYLOADCOMPRESSOR (integer)
RPMREADER_PAYLOADFLAGS (integer)
RPMREADER_INSTALLCOLOR (integer)
RPMREADER_INSTALLTID (integer)
RPMREADER_REMOVETID (integer)
RPMREADER_RHNPLATFORM (integer)
RPMREADER_PLATFORM (integer)
RPMREADER_PATCHESNAME (integer)
RPMREADER_PATCHESFLAGS (integer)
RPMREADER_PATCHESVERSION (integer)
RPMREADER_CACHECTIME (integer)
RPMREADER_CACHEPKGPATH (integer)
RPMREADER_CACHEPKGSIZE (integer)
RPMREADER_CACHEPKGMTIME (integer)
RPMREADER_FILECOLORS (integer)
RPMREADER_FILECLASS (integer)
RPMREADER_CLASSDICT (integer)
RPMREADER_FILEDEPENDSX (integer)
RPMREADER_FILEDEPENDSN (integer)
RPMREADER_DEPENDSDICT (integer)
RPMREADER_SOURCEPKGID (integer)
RPMREADER_FILECONTEXTS (integer)
RPMREADER_FSCONTEXTS (integer)
RPMREADER_RECONTEXTS (integer)
RPMREADER_POLICIES (integer)
RPMREADER_MAXIMUM (integer)
El valor máximo del cualquier número de etiqueta RPM.

Tipos de recursos
Ejemplos
Lector RPM


Ejemplos

Tabla de contenidos

  • Uso básico
Constantes predefinidas
Uso básico
Lector RPM


Uso básico

Este ejemplo abrirá un fichero RPM y leerá el nombre, la versión y el release del fichero RPM, mostrará los resultados y cerrará el fichero RPM.

Ejemplo #1 Ejemplo de uso básico de RPMReader

<?php

$filename = "/path/to/file.rpm";

// abrir el fichero
$rpmr = rpm_open($filename);

// Obtener la etiqueta "Name"
$name = rpm_get_tag($rpmr, RPMREADER_NAME);

// Obtener la etiqueta "Version"
$ver = rpm_get_tag($rpmr, RPMREADER_VERSION);

// Obtener la etiqueta "Release"
$rel = rpm_get_tag($rpmr, RPMREADER_RELEASE);

echo "$name-$ver-$rel<br>\n";

// close file
rpm_close($rpmr);

?>
Ejemplos
Funciones del lector RPM
Ejemplos


Funciones del lector RPM

Tabla de contenidos

  • rpm_close — Cierra un fichero RPM
  • rpm_get_tag — Obtiene la etiqueta del encabezado de un fichero RPM
  • rpm_is_valid — Comprueba si un fichero RPM es válido
  • rpm_open — Abre un fichero RPM
  • rpm_version — Devuelve una cadena de texto con la versión actual de la extensión de rpmreader
Uso básico
rpm_close
Lector RPM


Cierra un fichero RPM

Funciones del lector RPM
rpm_get_tag
Funciones del lector RPM
PHP Manual

rpm_close

(PECL rpmreader >= 0.1.0)

rpm_close — Cierra un fichero RPM

Descripción

bool rpm_close ( resource $rpmr )

rpm_close() cerrará el puntero al fichero RPM.

Parámetros

rpmr

Puntero a un fichero correctamente abierto por rpm_open().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de rpm_close()

<?php

$file = "/path/to/file.rpm";
$rpmr = rpm_open($file);

rpm_close($rpmr);

?>

Ver también

  • rpm_open() - Abre un fichero RPM

Funciones del lector RPM
rpm_get_tag
Funciones del lector RPM


Obtiene la etiqueta del encabezado de un fichero RPM

rpm_close
rpm_is_valid
Funciones del lector RPM
PHP Manual

rpm_get_tag

(PECL rpmreader >= 0.1.0)

rpm_get_tag — Obtiene la etiqueta del encabezado de un fichero RPM

Descripción

mixed rpm_get_tag ( resource $rpmr , int $tagnum )

rpm_get_tag() obtendrá el valor la etiqueta del encabezado del fichero RPM determinado y la devolverá.

Parámetros

rpmr

Puntero a un fichero abierto por rpm_open().

tagnum

El número de la etiquta a obtener del encabezado RPM. Este valor puede ser especificado usando la lista de constantes definidas por este módulo.

Valores devueltos

El valor devuelto puede ser de varios tipos dependiendo del tagnum proporcionado a la función.

Ejemplos

Ejemplo #1 Ejemplo de rpm_get_tag()

<?php

$file = "/path/to/file.rpm";
$rpmr = rpm_open($file);

$name = rpm_get_tag($rpmr, RPMREADER_NAME);
echo "$name<br>\n";

rpm_close($rpmr);

?>

Ver también

  • rpm_open() - Abre un fichero RPM
  • rpm_close() - Cierra un fichero RPM

rpm_close
rpm_is_valid
Funciones del lector RPM


Comprueba si un fichero RPM es válido

rpm_get_tag
rpm_open
Funciones del lector RPM
PHP Manual

rpm_is_valid

(PECL rpmreader >= 0.1.0)

rpm_is_valid — Comprueba si un fichero RPM es válido

Descripción

bool rpm_is_valid ( string $filename )

rpm_is_valid() comprobará si el fichero RPM es un fichero válido RPM. Esta función no es la misma que rpm_open() ya que solo comprueba si el fichero es válido pero no devuelve el puntero al fichero para poder luego ser usado por otras funciones.

Parámetros

filename

El nombre del fichero del fichero RPM que se desea comprobar si es válido.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de rpm_is_valid()

<?php

$file = "/path/to/file.rpm";

if (rpm_is_valid($file)) {
    echo "File is recognized as an RPM file.<br>\n";
}
else {
    echo "File is not recognized as an RPM file.<br>\n";
}

?>

rpm_get_tag
rpm_open
Funciones del lector RPM


Abre un fichero RPM

rpm_is_valid
rpm_version
Funciones del lector RPM
PHP Manual

rpm_open

(PECL rpmreader >= 0.1.0)

rpm_open — Abre un fichero RPM

Descripción

resource rpm_open ( string $filename )

rpm_open() abrirá un fichero RPM y comprobará si es un fichero RPM válido.

Parámetros

filename

El nombre del fichero RPM que se desea abrir.

Valores devueltos

Si el fichero se puede abrir, la función rpm_open() devolverá un puntero al fichero que se acaba de abrir. En caso de error, la función devolverá FALSE.

Ejemplos

Ejemplo #1 Ejemplo de rpm_open()

<?php

$file = "/path/to/file.rpm";
$rpmr = rpm_open($file);

rpm_close($rpmr);

?>

Ver también

  • rpm_close() - Cierra un fichero RPM

rpm_is_valid
rpm_version
Funciones del lector RPM


Devuelve una cadena de texto con la versión actual de la extensión de rpmreader

rpm_open
SWF
Funciones del lector RPM
PHP Manual

rpm_version

(PECL rpmreader >= 0.3.0)

rpm_version — Devuelve una cadena de texto con la versión actual de la extensión de rpmreader

Descripción

string rpm_version ( void )

rpm_version() devolverá la versión actual de la extensión de rpmreader.

Valores devueltos

rpm_version() devolverá una cadena de texto con la versión actual de rpmreader cargada en PHP.

Ejemplos

Ejemplo #1 Ejemplo de rpm_version()

<?php

$rpmr_ver = rpm_version();

echo "$rpmr_ver<br />\n";

?>

rpm_open
SWF
Funciones del lector RPM


Shockwave Flash

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Uso básico
  • Funciones de SWF
    • swf_actiongeturl — Obtiene una dirección URL de una película de Shockwave Flash
    • swf_actiongotoframe — Va a un fotograma y a continuación se detiene
    • swf_actiongotolabel — Mostrará un cuadro con la etiqueta especificada
    • swf_actionnextframe — Avanza al siguiente fotograma
    • swf_actionplay — Inicia la reproducción de la película flash en el fotograma actual
    • swf_actionprevframe — Va hacia atrás un fotograma
    • swf_actionsettarget — Establecer el contenido para las acciones
    • swf_actionstop — Detener la película flash en el fotograma actual
    • swf_actiontogglequality — Alternar entre alta y baja calidad
    • swf_actionwaitforframe — Saltar las acciones en caso de que un fotograma no haya sido cargado
    • swf_addbuttonrecord — Controlar la ubicación, el aspecto y el área activa del botón actual
    • swf_addcolor — Establecer la global añadir color al valor rgba especificado
    • swf_closefile — Cerrar el archivo actual Shockwave de Flash
    • swf_definebitmap — Definir un mapa de bits
    • swf_definefont — Definir una fuente
    • swf_defineline — Definir una línea
    • swf_definepoly — Definir un polígono
    • swf_definerect — Definir un rectángulo
    • swf_definetext — Definir una cadena de texto
    • swf_endbutton — Finalizar la definición del botón actual
    • swf_enddoaction — Finalizar la acción actual
    • swf_endshape — Completa la definición de la figura actual
    • swf_endsymbol — Finalizar la definición de un símbolo
    • swf_fontsize — Cambiar el tamaño de fuente
    • swf_fontslant — Ajustar la inclinación de fuente
    • swf_fonttracking — Establecer el tracking de la fuente actual
    • swf_getbitmapinfo — Obtener información sobre un bitmap
    • swf_getfontinfo — Obtener información de fuentes
    • swf_getframe — Obtener el número del fotograma actual
    • swf_labelframe — Poner una etiqueta al fotograma actual
    • swf_lookat — Definir una transformación de la vista de imagen
    • swf_modifyobject — Modificar un objeto
    • swf_mulcolor — Establecer la global multiplicar color al valor rgba especificado
    • swf_nextid — Devolver la siguiente id del siguiente objeto libre
    • swf_oncondition — Describir una transición que sirve para desencadenar una lista de acciones
    • swf_openfile — Abrir un nuevo archivo de Shockwave Flash
    • swf_ortho2 — Definir un mapeo de dos dimensiones ortográfica de coordenadas de usuario en la ventana gráfica actual
    • swf_ortho — Definir un mapeo ortográfico de coordenadas de usuario en la ventana gráfica actual
    • swf_perspective — Definir una transformación de proyección perspectiva
    • swf_placeobject — Colocar un objeto en la pantalla
    • swf_polarview — Definir la posición del espectador con coordenadas polares
    • swf_popmatrix — Restaurar el estado anterior de una matriz de transformación
    • swf_posround — Activar o desactivar el redondeo del traslado cuando los objetos se colocan o se mueven
    • swf_pushmatrix — Salvar la actual transformación de la matriz en la pila
    • swf_removeobject — Eliminar un objeto
    • swf_rotate — Girar la actual transformación
    • swf_scale — Escalar la actual transformación
    • swf_setfont — Cambiar la fuente actual
    • swf_setframe — Cambiar a un fotograma especificado
    • swf_shapearc — Dibujar un arco circular
    • swf_shapecurveto3 — Dibujar una curva bézier cúbica
    • swf_shapecurveto — Dibujar una curva cuadrática de bézier entre dos puntos
    • swf_shapefillbitmapclip — Establecer el modo de relleno a bitmap clipeado
    • swf_shapefillbitmaptile — Establecer el modo de relleno actual a bitmap tileado
    • swf_shapefilloff — Desactivar el relleno
    • swf_shapefillsolid — Establecer el estilo de relleno actual al color especificado
    • swf_shapelinesolid — Establecer el estilo de línea actual
    • swf_shapelineto — Trazar una línea
    • swf_shapemoveto — Mover la posición actual
    • swf_showframe — Mostrar el fotograma actual
    • swf_startbutton — Iniciar la definición de un botón
    • swf_startdoaction — Iniciar una descripción de una lista de acciones para el fotograma actual
    • swf_startshape — Iniciar una figura compleja
    • swf_startsymbol — Definir un símbolo
    • swf_textwidth — Obtener el ancho de una cadena
    • swf_translate — Trasladar la transformación actual
    • swf_viewport — Seleccionar un área para futuros dibujos
rpm_version
Introducción
Salida MIME que no es texto


Introducción

PHP ofrece la posibilidad de crear archivos Shockwave Flash a través del módulo libswf escrito por Paul Haeberli.

Nota:

El módulo libswf no tiene soporte para Windows. El desarrollo de esta biblioteca ha sido detenido, y la fuente no está disponible para portarlo a otros sistemas.

Para tener el último soporte SWF realizado hasta la fecha, revise las funciones MING.

Nota:

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.0.0.

SWF
Instalación/Configuración
SWF


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
SWF


Requerimientos

Se necesita la biblioteca libswf para compilar PHP con soporte para esta extensión. Puede descargar la biblioteca libswf desde » ftp://ftp.sgi.com/sgi/graphics/grafica/flash/.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión se considera no mantenida y muerta. Sin embargo, el código fuente para esta extensión sigue estando disponible dentro de PECL SVN aquí: » http://svn.php.net/viewvc/pecl/swf.

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.0.0

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

MOD_COLOR (integer)
MOD_MATRIX (integer)
TYPE_PUSHBUTTON (integer)
TYPE_MENUBUTTON (integer)
BSHitTest (float)
BSDown (float)
BSOver (float)
BSUp (float)
OverDowntoIdle (integer)
IdletoOverDown (integer)
OutDowntoIdle (integer)
OutDowntoOverDown (integer)
OverDowntoOutDown (integer)
OverUptoOverDown (integer)
OverUptoIdle (integer)
IdletoOverUp (integer)
ButtonEnter (integer)
ButtonExit (integer)
MenuEnter (integer)
MenuExit (integer)
Tipos de recursos
Ejemplos
SWF


Ejemplos

Tabla de contenidos

  • Uso básico
Constantes predefinidas
Uso básico
SWF


Uso básico

Una vez que haya instalado con éxito PHP con soporte para Flash Shockwave, podrá crear archivos Shockwave desde PHP. Usted se sorprenderá de lo que puede hacer, pruebe el siguiente código:

Ejemplo #1 Ejemplo SWF

<?php
swf_openfile("test.swf", 256, 256, 30, 1, 1, 1);
swf_ortho2(-100, 100, -100, 100);
swf_defineline(1, -70, 0, 70, 0, .2);
swf_definerect(4, 60, -10, 70, 0, 0);
swf_definerect(5, -60, 0, -70, 10, 0);
swf_addcolor(0, 0, 0, 0);

swf_definefont(10, "Mod");
swf_fontsize(5);
swf_fontslant(10);
swf_definetext(11, "Esto es Flash con PHP!", 1);

swf_pushmatrix();
swf_translate(-50, 80, 0);
swf_placeobject(11, 60);
swf_popmatrix();

for ($i = 0; $i < 30; $i++) {
    $p = $i/(30-1);
    swf_pushmatrix();
    swf_scale(1-($p*.9), 1, 1);
    swf_rotate(60*$p, 'z');
    swf_translate(20+20*$p, $p/1.5, 0);
    swf_rotate(270*$p,  'z');
    swf_addcolor($p, 0, $p/1.2, -$p);
    swf_placeobject(1, 50);
    swf_placeobject(4, 50);
    swf_placeobject(5, 50);
    swf_popmatrix();
    swf_showframe();
}

for ($i = 0; $i < 30; $i++) {
    swf_removeobject(50);
    if (($i%4) == 0) {
        swf_showframe();
    }
}

swf_startdoaction();
swf_actionstop();
swf_enddoaction();

swf_closefile();
?>

Ejemplos
Funciones de SWF
Ejemplos


Funciones de SWF

Tabla de contenidos

  • swf_actiongeturl — Obtiene una dirección URL de una película de Shockwave Flash
  • swf_actiongotoframe — Va a un fotograma y a continuación se detiene
  • swf_actiongotolabel — Mostrará un cuadro con la etiqueta especificada
  • swf_actionnextframe — Avanza al siguiente fotograma
  • swf_actionplay — Inicia la reproducción de la película flash en el fotograma actual
  • swf_actionprevframe — Va hacia atrás un fotograma
  • swf_actionsettarget — Establecer el contenido para las acciones
  • swf_actionstop — Detener la película flash en el fotograma actual
  • swf_actiontogglequality — Alternar entre alta y baja calidad
  • swf_actionwaitforframe — Saltar las acciones en caso de que un fotograma no haya sido cargado
  • swf_addbuttonrecord — Controlar la ubicación, el aspecto y el área activa del botón actual
  • swf_addcolor — Establecer la global añadir color al valor rgba especificado
  • swf_closefile — Cerrar el archivo actual Shockwave de Flash
  • swf_definebitmap — Definir un mapa de bits
  • swf_definefont — Definir una fuente
  • swf_defineline — Definir una línea
  • swf_definepoly — Definir un polígono
  • swf_definerect — Definir un rectángulo
  • swf_definetext — Definir una cadena de texto
  • swf_endbutton — Finalizar la definición del botón actual
  • swf_enddoaction — Finalizar la acción actual
  • swf_endshape — Completa la definición de la figura actual
  • swf_endsymbol — Finalizar la definición de un símbolo
  • swf_fontsize — Cambiar el tamaño de fuente
  • swf_fontslant — Ajustar la inclinación de fuente
  • swf_fonttracking — Establecer el tracking de la fuente actual
  • swf_getbitmapinfo — Obtener información sobre un bitmap
  • swf_getfontinfo — Obtener información de fuentes
  • swf_getframe — Obtener el número del fotograma actual
  • swf_labelframe — Poner una etiqueta al fotograma actual
  • swf_lookat — Definir una transformación de la vista de imagen
  • swf_modifyobject — Modificar un objeto
  • swf_mulcolor — Establecer la global multiplicar color al valor rgba especificado
  • swf_nextid — Devolver la siguiente id del siguiente objeto libre
  • swf_oncondition — Describir una transición que sirve para desencadenar una lista de acciones
  • swf_openfile — Abrir un nuevo archivo de Shockwave Flash
  • swf_ortho2 — Definir un mapeo de dos dimensiones ortográfica de coordenadas de usuario en la ventana gráfica actual
  • swf_ortho — Definir un mapeo ortográfico de coordenadas de usuario en la ventana gráfica actual
  • swf_perspective — Definir una transformación de proyección perspectiva
  • swf_placeobject — Colocar un objeto en la pantalla
  • swf_polarview — Definir la posición del espectador con coordenadas polares
  • swf_popmatrix — Restaurar el estado anterior de una matriz de transformación
  • swf_posround — Activar o desactivar el redondeo del traslado cuando los objetos se colocan o se mueven
  • swf_pushmatrix — Salvar la actual transformación de la matriz en la pila
  • swf_removeobject — Eliminar un objeto
  • swf_rotate — Girar la actual transformación
  • swf_scale — Escalar la actual transformación
  • swf_setfont — Cambiar la fuente actual
  • swf_setframe — Cambiar a un fotograma especificado
  • swf_shapearc — Dibujar un arco circular
  • swf_shapecurveto3 — Dibujar una curva bézier cúbica
  • swf_shapecurveto — Dibujar una curva cuadrática de bézier entre dos puntos
  • swf_shapefillbitmapclip — Establecer el modo de relleno a bitmap clipeado
  • swf_shapefillbitmaptile — Establecer el modo de relleno actual a bitmap tileado
  • swf_shapefilloff — Desactivar el relleno
  • swf_shapefillsolid — Establecer el estilo de relleno actual al color especificado
  • swf_shapelinesolid — Establecer el estilo de línea actual
  • swf_shapelineto — Trazar una línea
  • swf_shapemoveto — Mover la posición actual
  • swf_showframe — Mostrar el fotograma actual
  • swf_startbutton — Iniciar la definición de un botón
  • swf_startdoaction — Iniciar una descripción de una lista de acciones para el fotograma actual
  • swf_startshape — Iniciar una figura compleja
  • swf_startsymbol — Definir un símbolo
  • swf_textwidth — Obtener el ancho de una cadena
  • swf_translate — Trasladar la transformación actual
  • swf_viewport — Seleccionar un área para futuros dibujos
Uso básico
swf_actiongeturl
SWF


Obtiene una dirección URL de una película de Shockwave Flash

Funciones de SWF
swf_actiongotoframe
Funciones de SWF
PHP Manual

swf_actiongeturl

(PHP 4)

swf_actiongeturl — Obtiene una dirección URL de una película de Shockwave Flash

Descripción

void swf_actiongeturl ( string $url , string $target )

Obtiene la dirección URL especificada por el parámetro url con el target especificado.

Parámetros

url

La dirección URL, como una cadena.

target

target, como una cadena.

Valores devueltos

No devuelve ningún valor.

Funciones de SWF
swf_actiongotoframe
Funciones de SWF


Va a un fotograma y a continuación se detiene

swf_actiongeturl
swf_actiongotolabel
Funciones de SWF
PHP Manual

swf_actiongotoframe

(PHP 4)

swf_actiongotoframe — Va a un fotograma y a continuación se detiene

Descripción

void swf_actiongotoframe ( int $framenumber )

La función swf_actiongotoframe() irá al fotograma especificado por framenumber, lo reproducirá, y a continuación se detendrá.

Parámetros

framenumber

El número de fotograma.

Valores devueltos

No devuelve ningún valor.

swf_actiongeturl
swf_actiongotolabel
Funciones de SWF


Mostrará un cuadro con la etiqueta especificada

swf_actiongotoframe
swf_actionnextframe
Funciones de SWF
PHP Manual

swf_actiongotolabel

(PHP 4)

swf_actiongotolabel — Mostrará un cuadro con la etiqueta especificada

Descripción

void swf_actiongotolabel ( string $label )

La función swf_actiongotolabel() mostrará un cuadro con la etiqueta especificada por el parámetro label y luego se detendrá.

Parámetros

label

La etiqueta del cuadro

Valores devueltos

No devuelve ningún valor.

swf_actiongotoframe
swf_actionnextframe
Funciones de SWF


Avanza al siguiente fotograma

swf_actiongotolabel
swf_actionplay
Funciones de SWF
PHP Manual

swf_actionnextframe

(PHP 4)

swf_actionnextframe — Avanza al siguiente fotograma

Descripción

void swf_actionnextframe ( void )

Avanza un fotograma hacia delante.

Valores devueltos

No devuelve ningún valor.

Ver también

  • swf_actionprevframe() - Va hacia atrás un fotograma

swf_actiongotolabel
swf_actionplay
Funciones de SWF


Inicia la reproducción de la película flash en el fotograma actual

swf_actionnextframe
swf_actionprevframe
Funciones de SWF
PHP Manual

swf_actionplay

(PHP 4)

swf_actionplay — Inicia la reproducción de la película flash en el fotograma actual

Descripción

void swf_actionplay ( void )

Inicia la reproducción de la película flash en el fotograma actual.

Valores devueltos

No devuelve ningún valor.

Ver también

  • swf_actionstop() - Detener la película flash en el fotograma actual

swf_actionnextframe
swf_actionprevframe
Funciones de SWF


Va hacia atrás un fotograma

swf_actionplay
swf_actionsettarget
Funciones de SWF
PHP Manual

swf_actionprevframe

(PHP 4)

swf_actionprevframe — Va hacia atrás un fotograma

Descripción

void swf_actionprevframe ( void )

Va hacia atrás un fotograma

Valores devueltos

No devuelve ningún valor.

Ver también

  • swf_actionnextframe() - Avanza al siguiente fotograma

swf_actionplay
swf_actionsettarget
Funciones de SWF


Establecer el contenido para las acciones

swf_actionprevframe
swf_actionstop
Funciones de SWF
PHP Manual

swf_actionsettarget

(PHP 4)

swf_actionsettarget — Establecer el contenido para las acciones

Descripción

void swf_actionsettarget ( string $target )

Establece el contenido para todas las acciones. Puede usar esto para controlar otras películas flash que se estén reproduciendo.

Parámetros

target

El target, como una cadena.

Valores devueltos

No devuelve ningún valor.

swf_actionprevframe
swf_actionstop
Funciones de SWF


Detener la película flash en el fotograma actual

swf_actionsettarget
swf_actiontogglequality
Funciones de SWF
PHP Manual

swf_actionstop

(PHP 4)

swf_actionstop — Detener la película flash en el fotograma actual

Descripción

void swf_actionstop ( void )

Detiene la película flash en el fotograma actual.

Valores devueltos

No devuelve ningún valor.

Ver también

  • swf_actionplay() - Inicia la reproducción de la película flash en el fotograma actual

swf_actionsettarget
swf_actiontogglequality
Funciones de SWF


Alternar entre alta y baja calidad

swf_actionstop
swf_actionwaitforframe
Funciones de SWF
PHP Manual

swf_actiontogglequality

(PHP 4)

swf_actiontogglequality — Alternar entre alta y baja calidad

Descripción

void swf_actiontogglequality ( void )

Cambia la película flash entre alta y baja calidad.

Valores devueltos

No devuelve ningún valor.

swf_actionstop
swf_actionwaitforframe
Funciones de SWF


Saltar las acciones en caso de que un fotograma no haya sido cargado

swf_actiontogglequality
swf_addbuttonrecord
Funciones de SWF
PHP Manual

swf_actionwaitforframe

(PHP 4)

swf_actionwaitforframe — Saltar las acciones en caso de que un fotograma no haya sido cargado

Descripción

void swf_actionwaitforframe ( int $framenumber , int $skipcount )

La función swf_actionwaitforframe() will comprueba si el fotograma, especificado por el parámetro framenumber ha sido cargado, si no se saltará el número de acciones especificadas por el parámetro skipcount. Esto puede ser útil para animaciones tipo "Cargando ...".

Parámetros

framenumber

El número del fotograma.

skipcount

El número de acciones para saltar.

Valores devueltos

No devuelve ningún valor.

swf_actiontogglequality
swf_addbuttonrecord
Funciones de SWF


Controlar la ubicación, el aspecto y el área activa del botón actual

swf_actionwaitforframe
swf_addcolor
Funciones de SWF
PHP Manual

swf_addbuttonrecord

(PHP 4)

swf_addbuttonrecord — Controlar la ubicación, el aspecto y el área activa del botón actual

Descripción

void swf_addbuttonrecord ( int $states , int $shapeid , int $depth )

Le permite definir los aspectos específicados del botón que se encuentre en usando

Parámetros

states

Define los estados que puede tener el botón, estos pueden ser cualquiera o todas las siguientes constantes: BSHitTest, BSDown, BSOver or BSUp.

shapeid

El segundo parámetro, shapeid es el aspecto del botón, éste es generalmente la id del objeto de la forma del botón.

depth

Este parámetro es la ubicación del botón en el fotograma actual.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de swf_addbuttonrecord()

<?php
swf_startButton($objid, TYPE_MENUBUTTON);
swf_addButtonRecord(BSDown|BSOver, $buttonImageId, 340);
swf_onCondition(MenuEnter);
swf_actionGetUrl("http://www.example.com", "_level1");
swf_onCondition(MenuExit);
swf_actionGetUrl("", "_level1");
swf_endButton();
?>

swf_actionwaitforframe
swf_addcolor
Funciones de SWF


Establecer la global añadir color al valor rgba especificado

swf_addbuttonrecord
swf_closefile
Funciones de SWF
PHP Manual

swf_addcolor

(PHP 4)

swf_addcolor — Establecer la global añadir color al valor rgba especificado

Descripción

void swf_addcolor ( float $r , float $g , float $b , float $a )

Establece la global añadir color al valor rgba especificado. Este color es entonces
utilizado implícitamente por las funciones  swf_placeobject(),
 swf_modifyobject() y
 swf_addbuttonrecord().

El color del objeto se agrega con los valores dados cuando el objeto se escribe en la pantalla.

Parámetros

r

Valor rojo

g

Valor verde

b

Valor azul

a

Valor alpha

Estos parámetros pueden ser positivos o negativos.

Valores devueltos

No devuelve ningún valor.

swf_addbuttonrecord
swf_closefile
Funciones de SWF


Cerrar el archivo actual Shockwave de Flash

swf_addcolor
swf_definebitmap
Funciones de SWF
PHP Manual

swf_closefile

(PHP 4)

swf_closefile — Cerrar el archivo actual Shockwave de Flash

Descripción

void swf_closefile ([ int $return_file ] )

Cierra un archivo que fue abierto por la función swf_openfile().

Parámetros

return_file

Si se establece a continuación el contenido del archivo SWF se devuelve desde la función.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Creación de un simple archivo de flash basada en la entrada del usuario y cuya salida se guarda en una base de datos

<?php

// La variable $text es enviada por el
// usuario

// Las variables Globales para acceder a la
// base de datos (usado en la función swf_savedata())
$DBHOST = "localhost";
$DBUSER = "sterling";
$DBPASS = "secret";

swf_openfile("php://stdout", 256, 256, 30, 1, 1, 1);

    swf_definefont(10, "Ligon-Bold");
        swf_fontsize(12);
        swf_fontslant(10);

    swf_definetext(11, $text, 1);

    swf_pushmatrix();
        swf_translate(-50, 80, 0);
        swf_placeobject(11, 60);
    swf_popmatrix();

    swf_showframe();

    swf_startdoaction();
        swf_actionstop();
    swf_enddoaction();

$data = swf_closefile(1);

$data ?
  swf_savedata($data) :
  die("Error no se pudo guardar el archivo SWF");

// void swf_savedata(string data)
// Guardar el archivo generado en una base de datos
// para su posterior recuperación
function swf_savedata($data)
{
    global $DBHOST,
           $DBUSER,
           $DBPASS;

    $dbh = @mysql_connect($DBHOST, $DBUSER, $DBPASS);

    if (!$dbh) {
        die (sprintf("Error [%d]: %s",
                      mysql_errno(), mysql_error()));
    }

    $stmt = "INSERT INTO swf_files (file) VALUES ('$data')";

    $sth = @mysql_query($stmt, $dbh);

    if (!$sth) {
        die (sprintf("Error [%d]: %s",
                      mysql_errno(), mysql_error()));
    }

    @mysql_free_result($sth);
    @mysql_close($dbh);
}
?>

Ver también

  • swf_openfile() - Abrir un nuevo archivo de Shockwave Flash

swf_addcolor
swf_definebitmap
Funciones de SWF


Definir un mapa de bits

swf_closefile
swf_definefont
Funciones de SWF
PHP Manual

swf_definebitmap

(PHP 4)

swf_definebitmap — Definir un mapa de bits

Descripción

void swf_definebitmap ( int $objid , string $image_name )

La función swf_definebitmap() define un mapa de bits dada una imagen.

Parámetros

objid

Un SWF Object ID.

image_name

Una imágen GIF, JPEG, RGB o FI. La imágen se convertirá en un Flash JPEG o en formato de Flash mapa de color.

Valores devueltos

No devuelve ningún valor.

swf_closefile
swf_definefont
Funciones de SWF


Definir una fuente

swf_definebitmap
swf_defineline
Funciones de SWF
PHP Manual

swf_definefont

(PHP 4)

swf_definefont — Definir una fuente

Descripción

void swf_definefont ( int $fontid , string $fontname )

La función swf_definefont() define un parámetro de fuente y le da el id especificado. A continuación, establece el tipo de fuente dada por fontname a la fuente actual.

Parámetros

fontid

El identificador que debe darse a la fuente.

fontname

La fuente a establecer como fuente actual.

Valores devueltos

No devuelve ningún valor.

Ver también

  • swf_definetext() - Definir una cadena de texto

swf_definebitmap
swf_defineline
Funciones de SWF


Definir una línea

swf_definefont
swf_definepoly
Funciones de SWF
PHP Manual

swf_defineline

(PHP 4)

swf_defineline — Definir una línea

Descripción

void swf_defineline ( int $objid , float $x1 , float $y1 , float $x2 , float $y2 , float $width )

Define una línea.

Parámetros

objid

El objeto de identificación.

x1

coordenada x del punto de inicio.

y1

coordenada y del punto de inicio.

x2

coordenada x del punto final.

y2

coordenada y del punto final.

width

El ancho de línea.

Valores devueltos

No devuelve ningún valor.

swf_definefont
swf_definepoly
Funciones de SWF


Definir un polígono

swf_defineline
swf_definerect
Funciones de SWF
PHP Manual

swf_definepoly

(PHP 4)

swf_definepoly — Definir un polígono

Descripción

void swf_definepoly ( int $objid , array $coords , int $npoints , float $width )

Define un polígono dadas una serie de coordenadas x, y.

Parámetros

objid

La id. del objeto

coords

Un array de coordenadas x, y.

npoints

El número de puntos totales que contiene la matriz dadas para coordenadas

width

El ancho del borde del polígono, si se establece a 0.0 el polígono está relleno.

Valores devueltos

No devuelve ningún valor.

swf_defineline
swf_definerect
Funciones de SWF


Definir un rectángulo

swf_definepoly
swf_definetext
Funciones de SWF
PHP Manual

swf_definerect

(PHP 4)

swf_definerect — Definir un rectángulo

Descripción

void swf_definerect ( int $objid , float $x1 , float $y1 , float $x2 , float $y2 , float $width )

Define un rectángulo con un lado superior izquierdo de coordenadas y un lado inferior derecho de coordenadas.

Parámetros

objid

La id. del objeto.

x1

coordenada x del punto superior izquierdo.

y1

coordenada y del punto superior izquierdo.

x2

coordenada x del punto inferior derecho.

y2

coordenada y del punto inferior derecho.

width

Anchura del borde del rectángulo, si el ancho es 0.0 entonces el rectángulo es rellenado.

Valores devueltos

No devuelve ningún valor.

swf_definepoly
swf_definetext
Funciones de SWF


Definir una cadena de texto

swf_definerect
swf_endbutton
Funciones de SWF
PHP Manual

swf_definetext

(PHP 4)

swf_definetext — Definir una cadena de texto

Descripción

void swf_definetext ( int $objid , string $str , int $docenter )

Define una cadena de texto usando la fuente y el tamaño de la fuente actual.

Parámetros

objid

El objeto de identificación.

str

El texto, como una cadena.

docenter

El parámetro docenter es donde la palabra es centrada, si docenter es 1, entonces la palabra se centra en x.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de texto horizontal

<?php

$Xposition = 50;
$Yposition = 50;
$Zposition = 0;
$Obj_depth = 1;

$char = 'ESTE ES EL TEXTO';

swf_pushmatrix();

swf_definefont (swf_nextid(), "Mod");
swf_fontsize(10);

$secondid = swf_nextid();
swf_definetext($secondid, $char, 1);
swf_translate($Xposition, $Yposition, Zposition);
swf_placeobject($secondid, $Obj_depth);
swf_popmatrix();

?>

Ver también

  • swf_definefont() - Definir una fuente

swf_definerect
swf_endbutton
Funciones de SWF


Finalizar la definición del botón actual

swf_definetext
swf_enddoaction
Funciones de SWF
PHP Manual

swf_endbutton

(PHP 4)

swf_endbutton — Finalizar la definición del botón actual

Descripción

void swf_endbutton ( void )

La función swf_endbutton() finaliza la definición del botón actual.

Valores devueltos

No devuelve ningún valor.

Ver también

  • swf_startbutton() - Iniciar la definición de un botón

swf_definetext
swf_enddoaction
Funciones de SWF


Finalizar la acción actual

swf_endbutton
swf_endshape
Funciones de SWF
PHP Manual

swf_enddoaction

(PHP 4)

swf_enddoaction — Finalizar la acción actual

Descripción

void swf_enddoaction ( void )

Finaliza la acción en curso iniciada por la función swf_startdoaction().

Valores devueltos

No devuelve ningún valor.

Ver también

  • swf_startdoaction() - Iniciar una descripción de una lista de acciones para el fotograma actual

swf_endbutton
swf_endshape
Funciones de SWF


Completa la definición de la figura actual

swf_enddoaction
swf_endsymbol
Funciones de SWF
PHP Manual

swf_endshape

(PHP 4)

swf_endshape — Completa la definición de la figura actual

Descripción

void swf_endshape ( void )

La función swf_endshape() completa la definición de la figura actual.

Valores devueltos

No devuelve ningún valor.

Ver también

  • swf_startshape() - Iniciar una figura compleja

swf_enddoaction
swf_endsymbol
Funciones de SWF


Finalizar la definición de un símbolo

swf_endshape
swf_fontsize
Funciones de SWF
PHP Manual

swf_endsymbol

(PHP 4)

swf_endsymbol — Finalizar la definición de un símbolo

Descripción

void swf_endsymbol ( void )

Finaliza la definición de un símbolo que fue iniciado por la función swf_startsymbol().

Valores devueltos

No devuelve ningún valor.

Ver también

  • swf_startsymbol() - Definir un símbolo

swf_endshape
swf_fontsize
Funciones de SWF


Cambiar el tamaño de fuente

swf_endsymbol
swf_fontslant
Funciones de SWF
PHP Manual

swf_fontsize

(PHP 4)

swf_fontsize — Cambiar el tamaño de fuente

Descripción

void swf_fontsize ( float $size )

Cambia el tamaño de la fuente al valor dado por el parámetro size.

Parámetros

size

El tamaño de fuente, como un entero.

Valores devueltos

No devuelve ningún valor.

swf_endsymbol
swf_fontslant
Funciones de SWF


Ajustar la inclinación de fuente

swf_fontsize
swf_fonttracking
Funciones de SWF
PHP Manual

swf_fontslant

(PHP 4)

swf_fontslant — Ajustar la inclinación de fuente

Descripción

void swf_fontslant ( float $slant )

Ajusta la inclinación fuente actual en el ángulo indicado por el parámetro slant.

Parámetros

slant

Los valores positivos crean una inclinación hacia adelante, valores negativos crean un sesgo negativo.

Valores devueltos

No devuelve ningún valor.

swf_fontsize
swf_fonttracking
Funciones de SWF


Establecer el tracking de la fuente actual

swf_fontslant
swf_getbitmapinfo
Funciones de SWF
PHP Manual

swf_fonttracking

(PHP 4)

swf_fonttracking — Establecer el tracking de la fuente actual

Descripción

void swf_fonttracking ( float $tracking )

Establece el tracking de la fuente en el valor especificado por el parámetro tracking. Esta función se utiliza para aumentar el espacio entre las letras y el texto, los valores positivos aumentan el espacio y los valores negativos disminuyen el espacio entre las letras.

Parámetros

tracking

El tracking de la fuente.

Valores devueltos

No devuelve ningún valor.

swf_fontslant
swf_getbitmapinfo
Funciones de SWF


Obtener información sobre un bitmap

swf_fonttracking
swf_getfontinfo
Funciones de SWF
PHP Manual

swf_getbitmapinfo

(PHP 4)

swf_getbitmapinfo — Obtener información sobre un bitmap

Descripción

array swf_getbitmapinfo ( int $bitmapid )

Devuelve información sobre un bitmap.

Parámetros

bitmapid

La id. del bitmap

Valores devueltos

Devuelve una matriz con los siguientes elementos:

  • "size" - El tamaño en bytes del bitmap.
  • "width" - La anchura en píxeles del bitmap.
  • "height" - La altura en píxeles del bitmap.

swf_fonttracking
swf_getfontinfo
Funciones de SWF


Obtener información de fuentes

swf_getbitmapinfo
swf_getframe
Funciones de SWF
PHP Manual

swf_getfontinfo

(PHP 4)

swf_getfontinfo — Obtener información de fuentes

Descripción

array swf_getfontinfo ( void )

Obtiene información acerca de la fuente dando la altura en pixeles de una A mayúscula y una x minúscula.

Valores devueltos

Devuelve una matriz asociativa con los siguientes parámetros:

  • Aheight - La altura en píxeles de una A mayúscula.
  • xheight - La altura en píxeles de una x minúscula.

swf_getbitmapinfo
swf_getframe
Funciones de SWF


Obtener el número del fotograma actual

swf_getfontinfo
swf_labelframe
Funciones de SWF
PHP Manual

swf_getframe

(PHP 4)

swf_getframe — Obtener el número del fotograma actual

Descripción

int swf_getframe ( void )

La función swf_getframe() obtiene el número del fotograma actual.

Valores devueltos

Devuelve el número del fotograma actual, como un entero.

Ver también

  • swf_setframe() - Cambiar a un fotograma especificado

swf_getfontinfo
swf_labelframe
Funciones de SWF


Poner una etiqueta al fotograma actual

swf_getframe
swf_lookat
Funciones de SWF
PHP Manual

swf_labelframe

(PHP 4)

swf_labelframe — Poner una etiqueta al fotograma actual

Descripción

void swf_labelframe ( string $name )

Establecer una etiqueta al fotograma actual con el parámetro name.

Parámetros

name

La etiqueta de fotograma.

Valores devueltos

No devuelve ningún valor.

swf_getframe
swf_lookat
Funciones de SWF


Definir una transformación de la vista de imagen

swf_labelframe
swf_modifyobject
Funciones de SWF
PHP Manual

swf_lookat

(PHP 4)

swf_lookat — Definir una transformación de la vista de imagen

Descripción

void swf_lookat ( float $view_x , float $view_y , float $view_z , float $reference_x , float $reference_y , float $reference_z , float $twist )

Define una transformación de la imagen, dando la posición de visión y las coordenadas de un punto de referencia en la escena.

Parámetros

view_x

coordenada x de la posición de visión

view_y

coordenada y de la posición de visión

view_z

coordenada z de la posición de visión

reference_x

coordenada x del punto de referencia

reference_y

coordenada y del punto de referencia

reference_z

coordenada z del punto de referencia

twist

Controla la rotación a través del eje de visión z.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Una simple rotación 3D alrededor de un texto

<?php

header('Content-type: application/x-shockwave-flash');

swf_openfile("php://stdout", 320, 200, 25, 1, 1, 1);

swf_ortho(-100, 100, -100, 100, -100, 100); // crear coordenadas 3D

swf_definefont(0, "Pix3");
swf_addcolor(0, 0, 0, 1);
swf_fontsize(10);
swf_fonttracking(0.2);

for ($i = 0; $i < 628; $i += 8) {
    $j = $i / 100;
    swf_pushmatrix();
    swf_translate(0, 0, 0);
    swf_perspective(100, 1, 0, 10);
    swf_lookat(sin($j) * 60, 50, cos($j) * 60, 0, 0, 0, 0);

    swf_definetext (1, 'HotKey@', 0);
    swf_translate(-50,0,0);

    swf_placeobject(1,10);

    swf_definetext(2, 'example.com', 0);
    swf_translate(55, 0, 0);
    swf_placeobject(2, 11);

    swf_showframe();
    swf_removeobject(10);
    swf_removeobject(11);
    swf_popmatrix();
}

swf_closefile();
?>

swf_labelframe
swf_modifyobject
Funciones de SWF


Modificar un objeto

swf_lookat
swf_mulcolor
Funciones de SWF
PHP Manual

swf_modifyobject

(PHP 4)

swf_modifyobject — Modificar un objeto

Descripción

void swf_modifyobject ( int $depth , int $how )

Actualiza la posición y/o color del objeto especificado en el parámetro depth.

Parámetros

depth

La profundidad, como un entero.

how

Determina lo que se actualiza. El párametro how puede ser la constante MOD_MATRIX o MOD_COLOR o puede ser una combinación de ambos.

MOD_COLOR utiliza el actual mulcolor (especificado por la función swf_mulcolor()) y addcolor (especificado por la función swf_addcolor()) para el color del objeto. MOD_MATRIX utiliza la matriz actual para la posición del objeto.

Valores devueltos

No devuelve ningún valor.

swf_lookat
swf_mulcolor
Funciones de SWF


Establecer la global multiplicar color al valor rgba especificado

swf_modifyobject
swf_nextid
Funciones de SWF
PHP Manual

swf_mulcolor

(PHP 4)

swf_mulcolor — Establecer la global multiplicar color al valor rgba especificado

Descripción

void swf_mulcolor ( float $r , float $g , float $b , float $a )

Establece la global multiplicar color a los valores dados. Este color es entonces
utilizado implícitamente por las funciones  swf_placeobject(),
 swf_modifyobject() y
 swf_addbuttonrecord().

El color del objeto se multiplicará por los valores de color determinados cuando el objeto se escriba en la pantalla.

Parámetros

r

Valor rojo

g

Valor verde

b

Valor azul

a

Valor alpha

Estos parámetros pueden ser positivos o negativos.

Valores devueltos

No devuelve ningún valor.

swf_modifyobject
swf_nextid
Funciones de SWF


Devolver la siguiente id del siguiente objeto libre

swf_mulcolor
swf_oncondition
Funciones de SWF
PHP Manual

swf_nextid

(PHP 4)

swf_nextid — Devolver la siguiente id del siguiente objeto libre

Descripción

int swf_nextid ( void )

La función swf_nextid() devuelve la próxima id disponible de un objeto.

Valores devueltos

Devuelve la id, como un entero.

swf_mulcolor
swf_oncondition
Funciones de SWF


Describir una transición que sirve para desencadenar una lista de acciones

swf_nextid
swf_openfile
Funciones de SWF
PHP Manual

swf_oncondition

(PHP 4)

swf_oncondition — Describir una transición que sirve para desencadenar una lista de acciones

Descripción

void swf_oncondition ( int $transition )

La función swf_oncondition() describe una transición que dará lugar a una lista de acciones.

Parámetros

transition

Existen varios tipos de transiciones posibles, las siguientes son para botones definidos como TYPE_MENUBUTTON:

  • IdletoOverUp
  • OverUptoIdle
  • OverUptoOverDown
  • OverDowntoOverUp
  • IdletoOverDown
  • OutDowntoIdle
  • MenuEnter (IdletoOverUp|IdletoOverDown)
  • MenuExit (OverUptoIdle|OverDowntoIdle)
Para TYPE_PUSHBUTTON existen las siguientes opciones:
  • IdletoOverUp
  • OverUptoIdle
  • OverUptoOverDown
  • OverDowntoOverUp
  • OverDowntoOutDown
  • OutDowntoOverDown
  • OutDowntoIdle
  • ButtonEnter (IdletoOverUp|OutDowntoOverDown)
  • ButtonExit (OverUptoIdle|OverDowntoOutDown)

Valores devueltos

No devuelve ningún valor.

swf_nextid
swf_openfile
Funciones de SWF


Abrir un nuevo archivo de Shockwave Flash

swf_oncondition
swf_ortho2
Funciones de SWF
PHP Manual

swf_openfile

(PHP 4)

swf_openfile — Abrir un nuevo archivo de Shockwave Flash

Descripción

void swf_openfile ( string $filename , float $width , float $height , float $framerate , float $r , float $g , float $b )

Abre un nuevo archivo. Esta debe ser la primera función a la que llame, de lo contrario la secuencia de comandos no funcionará.

Parámetros

filename

La ruta del archivo SWF. Si desea enviar su salida a la pantalla, establezca este a php://stdout.

width

El ancho de la película

height

La altura de la película

framerate

Velocidad de fotogramas.

r

Valor rojo para el fondo.

g

Valor verde para el fondo.

b

Valor azul para el fondo.

Valores devueltos

No devuelve ningún valor.

Historial de cambios

Versión | Descripción
4.0.1 | Soporte para php://stdout fué añadido.

Ver también

  • swf_closefile() - Cerrar el archivo actual Shockwave de Flash

swf_oncondition
swf_ortho2
Funciones de SWF


Definir un mapeo de dos dimensiones ortográfica de coordenadas de usuario en la ventana gráfica actual

swf_openfile
swf_ortho
Funciones de SWF
PHP Manual

swf_ortho2

(PHP 4)

swf_ortho2 — Definir un mapeo de dos dimensiones ortográfica de coordenadas de usuario en la ventana gráfica actual

Descripción

void swf_ortho2 ( float $xmin , float $xmax , float $ymin , float $ymax )

Define un mapeo de dos dimensiones ortográfica de coordenadas de usuario en la ventana gráfica actual, el valor predeterminado es una cartografía de la zona de la película Flash.

Si se desea una transformación de perspectiva, se puede utilizar swf_perspective().

Parámetros

xmin

xmax

ymin

ymax

Valores devueltos

No devuelve ningún valor.

Ver también

  • swf_ortho() - Definir un mapeo ortográfico de coordenadas de usuario en la ventana gráfica actual

swf_openfile
swf_ortho
Funciones de SWF


Definir un mapeo ortográfico de coordenadas de usuario en la ventana gráfica actual

swf_ortho2
swf_perspective
Funciones de SWF
PHP Manual

swf_ortho

(PHP 4 >= 4.0.1)

swf_ortho — Definir un mapeo ortográfico de coordenadas de usuario en la ventana gráfica actual

Descripción

void swf_ortho ( float $xmin , float $xmax , float $ymin , float $ymax , float $zmin , float $zmax )

Define un mapeo 3D ortográfico de coordenadas de usuario en la ventana gráfica actual.

Parámetros

xmin

xmax

ymin

ymax

zmin

zmax

Valores devueltos

No devuelve ningún valor.

Ver también

  • swf_ortho2() - Definir un mapeo de dos dimensiones ortográfica de coordenadas de usuario en la ventana gráfica actual

swf_ortho2
swf_perspective
Funciones de SWF


Definir una transformación de proyección perspectiva

swf_ortho
swf_placeobject
Funciones de SWF
PHP Manual

swf_perspective

(PHP 4)

swf_perspective — Definir una transformación de proyección perspectiva

Descripción

void swf_perspective ( float $fovy , float $aspect , float $near , float $far )

Define una transformación de proyección perspectiva.

Nota:

Varios artefactos pueden aparecer distorsionados al realizar una proyección en perspectiva, esto es debido a que Flash players sólo tiene una matriz de dos dimensiones. Algunas no son bonitas.

Parámetros

fovy

Un ángulo de campo de visión en la dirección y.

aspect

El aspect ratio del viewport que se está elaborando.

near

El plano de recorte cercano.

far

El plano de recorte lejano.

Valores devueltos

No devuelve ningún valor.

swf_ortho
swf_placeobject
Funciones de SWF


Colocar un objeto en la pantalla

swf_perspective
swf_polarview
Funciones de SWF
PHP Manual

swf_placeobject

(PHP 4)

swf_placeobject — Colocar un objeto en la pantalla

Descripción

void swf_placeobject ( int $objid , int $depth )

Coloca el objeto en el fotograma actual en un determinada depth.

Se utiliza el mulcolor actual (especificado por swf_mulcolor()) y el addcolor actual (especificado por swf_addcolor()) para el color del objeto y utiliza la matriz actual para la posición del objeto.

Parámetros

objid

El objeto de identificación.

depth

Debe estar comprendida entre 1 y 65535.

Valores devueltos

No devuelve ningún valor.

swf_perspective
swf_polarview
Funciones de SWF


Definir la posición del espectador con coordenadas polares

swf_placeobject
swf_popmatrix
Funciones de SWF
PHP Manual

swf_polarview

(PHP 4)

swf_polarview — Definir la posición del espectador con coordenadas polares

Descripción

void swf_polarview ( float $dist , float $azimuth , float $incidence , float $twist )

La función swf_polarview() define la posición del espectador en coordenadas polares.

Parámetros

dist

La distancia entre el punto de vista al origen espacial mundial.

azimuth

Define el ángulo azimutal en el plano de coordenadas x,y, medido en distancia desde el eje y.

incidence

Define el ángulo de incidencia en el plano y,z, medido en distancia desde el eje z. El ángulo de incidencia se define como el ángulo del visor en relación con el eje z.

twist

Especifica la cantidad que el punto de vista se va a girar sobre la línea de visión usando la regla de la mano derecha.

Valores devueltos

No devuelve ningún valor.

swf_placeobject
swf_popmatrix
Funciones de SWF


Restaurar el estado anterior de una matriz de transformación

swf_polarview
swf_posround
Funciones de SWF
PHP Manual

swf_popmatrix

(PHP 4)

swf_popmatrix — Restaurar el estado anterior de una matriz de transformación

Descripción

void swf_popmatrix ( void )

Restaura el estado anterior de una matriz de transformación.

Valores devueltos

No devuelve ningún valor.

Ver también

  • swf_pushmatrix() - Salvar la actual transformación de la matriz en la pila

swf_polarview
swf_posround
Funciones de SWF


Activar o desactivar el redondeo del traslado cuando los objetos se colocan o se mueven

swf_popmatrix
swf_pushmatrix
Funciones de SWF
PHP Manual

swf_posround

(PHP 4)

swf_posround — Activar o desactivar el redondeo del traslado cuando los objetos se colocan o se mueven

Descripción

void swf_posround ( int $round )

Activa o desactiva el redondeo del traslado cuando los objetos son posicionados o movidos, hay momentos en que el texto se vuelve más legible porque el redondeo se ha habilitado.

Parámetros

round

Ya sea para permitir el redondeo o no, si se define con el valor de 1, entonces el redondeo está habilitado, si el redondeo se establece a 0 entonces está desactivado.

Valores devueltos

No devuelve ningún valor.

swf_popmatrix
swf_pushmatrix
Funciones de SWF


Salvar la actual transformación de la matriz en la pila

swf_posround
swf_removeobject
Funciones de SWF
PHP Manual

swf_pushmatrix

(PHP 4)

swf_pushmatrix — Salvar la actual transformación de la matriz en la pila

Descripción

void swf_pushmatrix ( void )

Salva la actual transformación de la matriz en la pila.

Valores devueltos

No devuelve ningún valor.

Ver también

  • swf_popmatrix() - Restaurar el estado anterior de una matriz de transformación

swf_posround
swf_removeobject
Funciones de SWF


Eliminar un objeto

swf_pushmatrix
swf_rotate
Funciones de SWF
PHP Manual

swf_removeobject

(PHP 4)

swf_removeobject — Eliminar un objeto

Descripción

void swf_removeobject ( int $depth )

Elimina el último objeto dibujado en la profundidad especificada por depth.

Parámetros

depth

La profundidad, como un entero.

Valores devueltos

No devuelve ningún valor.

swf_pushmatrix
swf_rotate
Funciones de SWF


Girar la actual transformación

swf_removeobject
swf_scale
Funciones de SWF
PHP Manual

swf_rotate

(PHP 4)

swf_rotate — Girar la actual transformación

Descripción

void swf_rotate ( float $angle , string $axis )

Gira la transformación actual por un determinado angle alrededor de lo dado por axis.

Parámetros

angle

El ángulo de rotación.

axis

El eje. Los valores válidos son el eje x (el eje x), y (el eje y) o z (el eje z).

Valores devueltos

No devuelve ningún valor.

swf_removeobject
swf_scale
Funciones de SWF


Escalar la actual transformación

swf_rotate
swf_setfont
Funciones de SWF
PHP Manual

swf_scale

(PHP 4)

swf_scale — Escalar la actual transformación

Descripción

void swf_scale ( float $x , float $y , float $z )

La función swf_scale() escala la curva de coordenadas con el valor especificado.

Parámetros

x

factor de escala x.

y

factor de escala y.

z

factor de escala z.

Valores devueltos

No devuelve ningún valor.

swf_rotate
swf_setfont
Funciones de SWF


Cambiar la fuente actual

swf_scale
swf_setframe
Funciones de SWF
PHP Manual

swf_setfont

(PHP 4)

swf_setfont — Cambiar la fuente actual

Descripción

void swf_setfont ( int $fontid )

La función swf_setfont() establece la fuente actual al valor dado por el parámetro fontid.

Parámetros

fontid

El identificador de la fuente.

Valores devueltos

No devuelve ningún valor.

swf_scale
swf_setframe
Funciones de SWF


Cambiar a un fotograma especificado

swf_setfont
swf_shapearc
Funciones de SWF
PHP Manual

swf_setframe

(PHP 4)

swf_setframe — Cambiar a un fotograma especificado

Descripción

void swf_setframe ( int $framenumber )

Cambia al fotograma especificado.

Parámetros

framenumber

El número de fotograma a establecer.

Valores devueltos

No devuelve ningún valor.

Ver también

  • swf_getframe() - Obtener el número del fotograma actual

swf_setfont
swf_shapearc
Funciones de SWF


Dibujar un arco circular

swf_setframe
swf_shapecurveto3
Funciones de SWF
PHP Manual

swf_shapearc

(PHP 4)

swf_shapearc — Dibujar un arco circular

Descripción

void swf_shapearc ( float $x , float $y , float $r , float $ang1 , float $ang2 )

Dibuja un arco circular.

Parámetros

x

coordenada x del centro.

y

coordenada y del centro.

r

El radio del arco.

ang1

El ángulo de inicio.

ang2

El ángulo final.

Valores devueltos

No devuelve ningún valor.

swf_setframe
swf_shapecurveto3
Funciones de SWF


Dibujar una curva bézier cúbica

swf_shapearc
swf_shapecurveto
Funciones de SWF
PHP Manual

swf_shapecurveto3

(PHP 4)

swf_shapecurveto3 — Dibujar una curva bézier cúbica

Descripción

void swf_shapecurveto3 ( float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )

Dibuja una curva bézier cúbica con las coordenadas dadas.

La posición actual se establece posteriormente a las coordenadas x3,y3.

Parámetros

x1

coordenada-x del punto o nodo de anclaje de la primera curva.

y1

coordenada-y del punto o nodo de anclaje de la primera curva.

x2

coordenada-x del punto o nodo de anclaje de la segunda curva.

y2

coordenada-y del punto o nodo de anclaje de la segunda curva.

x3

coordenada-x del punto o nodo de anclaje final.

y3

coordenada-y del punto o nodo de anclaje final.

Valores devueltos

No devuelve ningún valor.

Ver también

  • swf_shapecurveto() - Dibujar una curva cuadrática de bézier entre dos puntos

swf_shapearc
swf_shapecurveto
Funciones de SWF


Dibujar una curva cuadrática de bézier entre dos puntos

swf_shapecurveto3
swf_shapefillbitmapclip
Funciones de SWF
PHP Manual

swf_shapecurveto

(PHP 4)

swf_shapecurveto — Dibujar una curva cuadrática de bézier entre dos puntos

Descripción

void swf_shapecurveto ( float $x1 , float $y1 , float $x2 , float $y2 )

Dibuja una curva cuadrática de bézier desde la ubicación actual, por medio de los dos puntos dados.

La posición actual se establece en el punto definido por los párametros x2 e y2.

Parámetros

x1

Coordenada x del primer punto.

y1

Coordenada y del primer punto.

x2

Coordenada x del segundo punto.

y2

Coordenada y del segundo punto.

Valores devueltos

No devuelve ningún valor.

Ver también

  • swf_shapecurveto3() - Dibujar una curva bézier cúbica

swf_shapecurveto3
swf_shapefillbitmapclip
Funciones de SWF


Establecer el modo de relleno a bitmap clipeado

swf_shapecurveto
swf_shapefillbitmaptile
Funciones de SWF
PHP Manual

swf_shapefillbitmapclip

(PHP 4)

swf_shapefillbitmapclip — Establecer el modo de relleno a bitmap clipeado

Descripción

void swf_shapefillbitmapclip ( int $bitmapid )

Establece el relleno a bitmap clipeado, espacios vacíos serán ocupados por el bitmap.

Parámetros

bitmapid

La id. del bitmap.

Valores devueltos

No devuelve ningún valor.

Ver también

  • swf_shapefillbitmaptile() - Establecer el modo de relleno actual a bitmap tileado

swf_shapecurveto
swf_shapefillbitmaptile
Funciones de SWF


Establecer el modo de relleno actual a bitmap tileado

swf_shapefillbitmapclip
swf_shapefilloff
Funciones de SWF
PHP Manual

swf_shapefillbitmaptile

(PHP 4)

swf_shapefillbitmaptile — Establecer el modo de relleno actual a bitmap tileado

Descripción

void swf_shapefillbitmaptile ( int $bitmapid )

Establece el relleno a bitmap tileado, espacios vacíos serán ocupados por el bitmap.

Parámetros

bitmapid

La id. del bitmap.

Valores devueltos

No devuelve ningún valor.

Ver también

  • swf_shapefillbitmapclip() - Establecer el modo de relleno a bitmap clipeado

swf_shapefillbitmapclip
swf_shapefilloff
Funciones de SWF


Desactivar el relleno

swf_shapefillbitmaptile
swf_shapefillsolid
Funciones de SWF
PHP Manual

swf_shapefilloff

(PHP 4)

swf_shapefilloff — Desactivar el relleno

Descripción

void swf_shapefilloff ( void )

Desactiva el relleno de la forma actual.

Valores devueltos

No devuelve ningún valor.

swf_shapefillbitmaptile
swf_shapefillsolid
Funciones de SWF


Establecer el estilo de relleno actual al color especificado

swf_shapefilloff
swf_shapelinesolid
Funciones de SWF
PHP Manual

swf_shapefillsolid

(PHP 4)

swf_shapefillsolid — Establecer el estilo de relleno actual al color especificado

Descripción

void swf_shapefillsolid ( float $r , float $g , float $b , float $a )

Establece el estilo de relleno actual a sólido, ya continuación, establece el color de relleno con el color dado.

Parámetros

r

Valor rojo

g

Valor verde

b

Valor azul

a

Valor alpha

Valores devueltos

No devuelve ningún valor.

swf_shapefilloff
swf_shapelinesolid
Funciones de SWF


Establecer el estilo de línea actual

swf_shapefillsolid
swf_shapelineto
Funciones de SWF
PHP Manual

swf_shapelinesolid

(PHP 4)

swf_shapelinesolid — Establecer el estilo de línea actual

Descripción

void swf_shapelinesolid ( float $r , float $g , float $b , float $a , float $width )

Establece el estilo de línea actual con el color y el ancho determinado.

Parámetros

r

Valor rojo

g

Valor verde

b

Valor azul

a

Valor alpha

width

El ancho de línea. Si se establece a 0.0 entonces no se dibujan las líneas.

Valores devueltos

No devuelve ningún valor.

swf_shapefillsolid
swf_shapelineto
Funciones de SWF


Trazar una línea

swf_shapelinesolid
swf_shapemoveto
Funciones de SWF
PHP Manual

swf_shapelineto

(PHP 4)

swf_shapelineto — Trazar una línea

Descripción

void swf_shapelineto ( float $x , float $y )

Dibuja una línea con los parámetros de las coordenadas x e y. La posición actual es entonces establecida en ese punto.

Parámetros

x

coordenada x de destino.

y

coordenada y de destino.

Valores devueltos

No devuelve ningún valor.

swf_shapelinesolid
swf_shapemoveto
Funciones de SWF


Mover la posición actual

swf_shapelineto
swf_showframe
Funciones de SWF
PHP Manual

swf_shapemoveto

(PHP 4)

swf_shapemoveto — Mover la posición actual

Descripción

void swf_shapemoveto ( float $x , float $y )

Mueve la posición actual hasta el punto dado.

Parámetros

x

coordenada x de destino.

y

coordenada y de destino.

Valores devueltos

No devuelve ningún valor.

swf_shapelineto
swf_showframe
Funciones de SWF


Mostrar el fotograma actual

swf_shapemoveto
swf_startbutton
Funciones de SWF
PHP Manual

swf_showframe

(PHP 4)

swf_showframe — Mostrar el fotograma actual

Descripción

void swf_showframe ( void )

Imprime como salida el fotograma actual.

Valores devueltos

No devuelve ningún valor.

swf_shapemoveto
swf_startbutton
Funciones de SWF


Iniciar la definición de un botón

swf_showframe
swf_startdoaction
Funciones de SWF
PHP Manual

swf_startbutton

(PHP 4)

swf_startbutton — Iniciar la definición de un botón

Descripción

void swf_startbutton ( int $objid , int $type )

Comienza la definición de un botón.

Parámetros

objid

La id. del objeto

type

Puede ser TYPE_MENUBUTTON o TYPE_PUSHBUTTON. La constante TYPE_MENUBUTTON permite al foco viajar desde el botón cuando presione el botón del ratón, TYPE_PUSHBUTTON no permite al foco viajar cuando el botón del ratón es pulsado.

Valores devueltos

No devuelve ningún valor.

Ver también

  • swf_endbutton() - Finalizar la definición del botón actual

swf_showframe
swf_startdoaction
Funciones de SWF


Iniciar una descripción de una lista de acciones para el fotograma actual

swf_startbutton
swf_startshape
Funciones de SWF
PHP Manual

swf_startdoaction

(PHP 4)

swf_startdoaction — Iniciar una descripción de una lista de acciones para el fotograma actual

Descripción

void swf_startdoaction ( void )

Comienza la descripción de una lista de acciones para el marco actual. Esta debe llamarse antes de las acciones definidas para el fotograma actual.

Valores devueltos

No devuelve ningún valor.

Ver también

  • swf_enddoaction() - Finalizar la acción actual

swf_startbutton
swf_startshape
Funciones de SWF


Iniciar una figura compleja

swf_startdoaction
swf_startsymbol
Funciones de SWF
PHP Manual

swf_startshape

(PHP 4)

swf_startshape — Iniciar una figura compleja

Descripción

void swf_startshape ( int $objid )

Inicia una figura compleja.

Parámetros

objid

La id. del objeto

Valores devueltos

No devuelve ningún valor.

Ver también

  • swf_endshape() - Completa la definición de la figura actual

swf_startdoaction
swf_startsymbol
Funciones de SWF


Definir un símbolo

swf_startshape
swf_textwidth
Funciones de SWF
PHP Manual

swf_startsymbol

(PHP 4)

swf_startsymbol — Definir un símbolo

Descripción

void swf_startsymbol ( int $objid )

Define una id de objeto como símbolo. Los símbolos son pequeñas películas flash que pueden reproducirse al mismo tiempo.

Parámetros

objid

El ID del objeto que desea definir como un símbolo.

Valores devueltos

No devuelve ningún valor.

Ver también

  • swf_endsymbol() - Finalizar la definición de un símbolo

swf_startshape
swf_textwidth
Funciones de SWF


Obtener el ancho de una cadena

swf_startsymbol
swf_translate
Funciones de SWF
PHP Manual

swf_textwidth

(PHP 4)

swf_textwidth — Obtener el ancho de una cadena

Descripción

float swf_textwidth ( string $str )

Da el ancho de la cadena en píxeles, usando la fuente y el tamaño actual de la fuente.

Parámetros

str

La cadena.

Valores devueltos

Devuelve el ancho de línea, como un número flotante.

swf_startsymbol
swf_translate
Funciones de SWF


Trasladar la transformación actual

swf_textwidth
swf_viewport
Funciones de SWF
PHP Manual

swf_translate

(PHP 4)

swf_translate — Trasladar la transformación actual

Descripción

void swf_translate ( float $x , float $y , float $z )

Traslada la transformación actual por los valores dados.

Parámetros

x

valor x.

y

valor y.

z

valor z.

Valores devueltos

No devuelve ningún valor.

swf_textwidth
swf_viewport
Funciones de SWF


Seleccionar un área para futuros dibujos

swf_translate
Extensiones de control de procesos
Funciones de SWF
PHP Manual

swf_viewport

(PHP 4)

swf_viewport — Seleccionar un área para futuros dibujos

Descripción

void swf_viewport ( float $xmin , float $xmax , float $ymin , float $ymax )

Selecciona un área para futuros dibujos desde xmin a xmax y desde ymin a ymax, si esta función no es llamada el área por defecto es el tamaño de la pantalla.

Parámetros

xmin

xmax

ymin

ymax

Valores devueltos

No devuelve ningún valor.

swf_translate
Extensiones de control de procesos
Funciones de SWF


Extensiones de control de procesos

  • Eio
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones Eio
  • Ev
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Watchers
    • Watcher callbacks
    • Periodic watcher operation modes
    • Ev — The Ev class
    • EvCheck — The EvCheck class
    • EvChild — The EvChild class
    • EvEmbed — The EvEmbed class
    • EvFork — The EvFork class
    • EvIdle — The EvIdle class
    • EvIo — The EvIo class
    • EvLoop — The EvLoop class
    • EvPeriodic — The EvPeriodic class
    • EvPrepare — The EvPrepare class
    • EvSignal — The EvSignal class
    • EvStat — The EvStat class
    • EvTimer — The EvTimer class
    • EvWatcher — The EvWatcher class
  • Expect
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de Expect
  • Libevent
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Libevent Funciones
  • PCNTL — Process Control
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones PCNTL
  • POSIX
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones POSIX
  • Ejecución de programas — Ejecución de programas del sistema
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de ejecución de programas
  • pthreads
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Thread — The Thread class
    • Worker — The Worker class
    • Stackable — The Stackable class
    • Modifiers — Method Modifiers
    • Mutex — The Mutex class
    • Cond — The Cond class
  • Semaphore — Semáforo, Memoria Compartida e IPC
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de Semáforo
  • Memoria compartida
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de memoria compartida
swf_viewport
Eio
Referencia de funciones


Eio

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • Funciones Eio
    • eio_busy — Incrementar artificialmente la carga. Podría ser útil en pruebas, evaluaciones comparativas
    • eio_cancel — Cancelar una petición
    • eio_chmod — Cambiar los permisos de fichero/directorio
    • eio_chown — Cambiar los permisos de un fichero/directorio
    • eio_close — Cerrar un fichero
    • eio_custom — Ejecutar una petición personalizada como cualquier otra llamada eio_*
    • eio_dup2 — Duplicar un descriptor de fichero
    • eio_event_loop — Monitorizar libeio hasta que todas las peticiones sean procesadas
    • eio_fallocate — Permitir al llamador manipular directamente el espacio de disco asignado a un fichero
    • eio_fchmod — Cambiar los permisos de un fichero
    • eio_fchown — Cambiar el propietario del fichero
    • eio_fdatasync — Sincronizar el estado de ficheros que están en memoria con un dispositivo de almacenamiento
    • eio_fstat — Obtener el estado de un fichero
    • eio_fstatvfs — Obtener las estadísticas del sistema de ficheros
    • eio_fsync — Sincronizar el estado de un fichero en memoria con un dispositivo de almacenamiento
    • eio_ftruncate — Truncar un fichero
    • eio_futime — Cambiar los momentos de último y acceso y modificación de un fichero
    • eio_get_event_stream — Obtiene un flujo que representa una variable usada en comnunicaciones internas con libeio
    • eio_get_last_error — Devuelve un string que describe el último error asociado con un recurso de petición
    • eio_grp_add — Añadir una petición al grupo de peticiones
    • eio_grp_cancel — Cancelar un grupo de peticiones
    • eio_grp_limit — Establecer el límite de un grupo
    • eio_grp — Crear un grupo de peticiones
    • eio_init — (Re-)inicializa Eio
    • eio_link — Crear un enlace duro par un fichero
    • eio_lstat — Obtener el estado de un fichero
    • eio_mkdir — Crear un directorio
    • eio_mknod — Crear un fichero especial u ordinario
    • eio_nop — No hace nada, sólo recorre el ciclo de peticiones entero
    • eio_npending — Devolver el número de peticiones, excepto las no manejadas
    • eio_nready — Devolver el número de peticiones aún no tratadas
    • eio_nreqs — Devuelve el número de peticiones a ser procesadas
    • eio_nthreads — Devuelve el número de hilos actualmente en uso
    • eio_open — Abrir un fichero
    • eio_poll — Puede ser llamada siempre que existan peticiones pendientes que necesitan ser finalizadas
    • eio_read — Leer de un descriptor de fichero en un índice dado
    • eio_readahead — Perform file readahead into page cache
    • eio_readdir — Leer un directorio al completo
    • eio_readlink — Leer el valor de un enlace simbólico
    • eio_realpath — Obtener el nombre de ruta absoluto canonizado
    • eio_rename — Cambiar el nombre o la ubicación de un fichero
    • eio_rmdir — Eliminar un directorio
    • eio_seek — Reposiciona el índice del fichero abierto asociado con el argumento fd al argumento offset según la directiva whence
    • eio_sendfile — Transferir información entre descriptores de ficheros
    • eio_set_max_idle — Establecer el número máximo de hilos parados
    • eio_set_max_parallel — Esteblecer el máximo de hilos paralelos
    • eio_set_max_poll_reqs — Establecer el máximo número de peticiones procesadas en una monitorización
    • eio_set_max_poll_time — Establecer el tiempo máximo de monitorización
    • eio_set_min_parallel — Esteblecer el número de hilos paralelos mínimo
    • eio_stat — Obtener el estado de un fichero
    • eio_statvfs — Obtener las estadísticas del sistema de ficheros
    • eio_symlink — Crear un enlace simbólico
    • eio_sync_file_range — Sincornizar un segmento de fichero con el disco
    • eio_sync — Consignar el caché de buffer cache al disco
    • eio_syncfs — Realizar una llamada al sistema de syncfs de Linux si está disponible
    • eio_truncate — Truncar un fichero
    • eio_unlink — Borrar un nombre y posiblemente el fichero al que se refiere
    • eio_utime — Cambiar los momentos de último y acceso y modificación de un fichero
    • eio_write — Escribir en un fichero
Extensiones de control de procesos
Introducción
Extensiones de control de procesos


Introducción

Esta extensión proporciona E/S POSIX asíncrima a través de la biblioteca de C » libeio escrita por Marc Lehmann.

Nota: Esta extensión no está disponible en plataformas Windows.

Advertencia

Es importante ser consciente de que cada petición es ejecutada en un hilo, y el orden de ejecución continua de peticiones en cola es basicamente impredecible. Por ejemplo, el siguiente trozo de código es incorrecto.

Ejemplo #1 Incorrect requests

<?php
// Petición para crear un enlace simbólico de $nombre_archivo a $enlace
eio_symlink($nombre_archivo, $enlace);

// Petición para mover $nombre_archivo a $nuevo_nombre_archivo
eio_rename($nombre_archivo, $nuevo_nombre_archivo);

// Procesar las peticiones
eio_event_loop();
?>
En el ejemplo de arriba la petición eio_rename() puede finalizar antes que eio_symlink(). Para corregirlo se podría llamar a eio_rename() en la llamada de retorno de eio_symlink():

Ejemplo #2 Llamar a una petición desde una llamada de retorno de petición

<?php
function mi_enlace_simbólico_hecho($nombre_archivo, $resultado) {
 // Petición para mover $nombre_archivo a $nuevo_nombre_archivo
 eio_rename($nombre_archivo, "/ruta/a/nuevo-nombre");

 // Procesar las peticiones
 eio_event_loop();
}

// Petición para crear un enlace simbólico de $nombre_archivo a $enlace
eio_symlink($nombre_archivo, $enlace, EIO_PRI_DEFAULT, "mi_enlace_simbólico_hecho", $nombre_archivo);

 // Procesar las peticiones
eio_event_loop();
?>
Alternativamente, podría querer crear un grupo de peticiones:

Ejemplo #3 Llamar a una petición desde una llamada de retorno de petición

<?php
/* Se llama cuando el grupo de peticiones está hecho */
function mi_grupo_hecho($data, $resultado) {
 // ...
}

function mi_enlace_simbólico_hecho($nombre_archivo, $resultado) {
 // Crear una petición eio_rename y añadirla al grupo
 $petición = eio_rename($nombre_archivo, "/ruta/a/nuevo-nombre");
 eio_grp_add($grupo, $petición);
 // Podría querer añadir más peticiones...
}

// Crear un grupo de peticiones
$grupo = eio_grp("mi_grupo_hecho", "mis_datos_de_grupo");

// Crear una petición eio_symlink y añadirla al grupo
// Pasar $nombre_archivo a la llamada de retorno
$petición = eio_symlink($nombre_archivo, $enlace,
  EIO_PRI_DEFAULT, "mi_enlace_simbólico_hecho", $nombre_archivo);
eio_grp_add($grupo, $petición);

 // Procesar las peticiones
eio_event_loop();
?>
El grupo es un tipo especial de peticion que podría acumular un conjunto de peticiones eio regulares. Se podría usar para crear una petición compleja para abrir, leer y cerrar un fichero.

Desde la versión 0.3.0 alfa, una variable usada internamete en las comunicaciones con libeio, podía ser recuperada con eio_get_event_stream(). La variable se podría usar para vincularse a un bucle de eventos soportado por alguna otra extensión. Se podría organizar un sencillo bucle de eventos donde eio y libevent trabajaran juntos:

Ejemplo #4 Usar eio con libevent

<?php
function mi_eio_poll($df, $eventos, $argumentos) {
    /* Algunas regulaciones de libevent podrían ir aquí .. */
    if (eio_nreqs()) {
        eio_poll();
    }
    /* .. y aquí */
}

function mi_res_cb($d, $r) {
    var_dump($r); var_dump($d);
}

$base = event_base_new();
$evento = event_new();

// Este flujo se usa para vincularse con libevent
$df = eio_get_event_stream();

eio_nop(EIO_PRI_DEFAULT, "mi_res_cb", "nop data");
eio_mkdir("/tmp/abc-eio-temp", 0750, EIO_PRI_DEFAULT, "mi_res_cb", "mkdir data");
/* algunas llamadas eio_* aquí ... */

// establecer las banderas del evento
event_set($evento, $df, EV_READ /*| EV_PERSIST*/, "mi_eio_poll", array($evento, $base));

// Establecer la base del evento
event_base_set($evento, $base);

// habilitar el evento
event_add($evento);

// iniciar el bucle de eventos
event_base_loop($base);

/* Lo mismo estará disponible mediante interfaz libevent con buffer */
?>

Eio
Instalación/Configuración
Eio


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Eio


Requerimientos

Esta extensión tiene la biblioteca » libeio embebida. Por lo que NO se necesita instalar libeio por separado.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/eio.

Para información sobre la instalación manual, lea el fichero INSTALL incluido en el paquete.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

Existen dos tipos de recursos en esta extensión: petición y grupo de peticiones.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Constantes de prioridad de petición:

EIO_PRI_MIN (integer)
Prioridad de petición mínima
EIO_PRI_DEFAULT (integer)
Prioridad de petición predeterminada
EIO_PRI_MAX (integer)
Prioridad de petición máxima

El argumento whence de eio_seek():

EIO_SEEK_SET (integer)
El índice es establecido para espcificar el número de bytes (offset).
EIO_SEEK_CUR (integer)
El índice es establecido a su ubicación actual más offset bytes.
EIO_SEEK_END (integer)
El índice es establecido a el tamaño del fichero más offset bytes.

Banderas usadas con eio_readdir():

EIO_READDIR_DENTS (integer)
Bandera eio_readdir(). Si se especifica, el argumento resultante de la llamada de retorno se convierte en un array con las siguientes claves: 'names' - array de nombres de directorios 'dents' - array de structura eio_dirent-como los arrays pero teniendo las siguientes claves: 'name' - el nombre del directorio; 'type' - una de las constantes EIO_DT_*; 'inode' - el número de inodo, si está disponible, de otro modo sin especificar;
EIO_READDIR_DIRS_FIRST (integer)
Cuando se especifica esta bandera, los nombres serán devueltos en un orden donde probablemente los directorios vallan primero, en un orden de estadísticas óptimo.
EIO_READDIR_STAT_ORDER (integer)
Cuando se especifica esta bandera, los nombres serán devueltos en un orden apropiado para realizar estadísticas (stat) con cada uno. Cuando se planea usar la función stat() para realizar estadísticas de todos los archivos del directorio dado, el orden devuelto probablemente sea más rápido.
EIO_READDIR_FOUND_UNKNOWN (integer)
EIO_DT_UNKNOWN (integer)
Tipo de nodo desconocido(muy común). Se necistan más estadísticas ( stat()).
EIO_DT_FIFO (integer)
Tipo de nodo FIFO
EIO_DT_CHR (integer)
Tipo de nodo
EIO_DT_MPC (integer)
Tipo de nodo de dispositivo de caracteres multiplexado (v7+coherent)
EIO_DT_DIR (integer)
Tipo de nodo de directorio
EIO_DT_NAM (integer)
Tipo de nodo de fichero Xenix nominado especial
EIO_DT_BLK (integer)
Tipo de nodo
EIO_DT_MPB (integer)
Dispositivo de bloqueo multiplexado (v7+coherent)
EIO_DT_REG (integer)
Tipo de nodo
EIO_DT_NWK (integer)
EIO_DT_CMP (integer)
Tipo de noto especial de red HP-UX
EIO_DT_LNK (integer)
Tipo de nodo de vínculo
EIO_DT_SOCK (integer)
Tipo de nodo socket
EIO_DT_DOOR (integer)
Tipo de nodo de puerta de Solaris
EIO_DT_WHT (integer)
Tipo de nodo
EIO_DT_MAX (integer)
Valor de tipo de nodo más alto

Modo de acceso para el argumento flags de eio_open():

EIO_O_RDONLY (integer)
EIO_O_WRONLY (integer)
EIO_O_RDWR (integer)
EIO_O_NONBLOCK (integer)
EIO_O_APPEND (integer)
EIO_O_CREAT (integer)
EIO_O_TRUNC (integer)
EIO_O_EXCL (integer)
EIO_O_FSYNC (integer)

Banderas del argumento mode de eio_open():

EIO_S_IRUSR (integer)
EIO_S_IWUSR (integer)
EIO_S_IXUSR (integer)
EIO_S_IRGRP (integer)
EIO_S_IWGRP (integer)
EIO_S_IXGRP (integer)
EIO_S_IROTH (integer)
EIO_S_IWOTH (integer)
EIO_S_IXOTH (integer)
EIO_S_IFREG (integer)
EIO_S_IFCHR (integer)
EIO_S_IFBLK (integer)
EIO_S_IFIFO (integer)
EIO_S_IFSOCK (integer)

Banderas de eio_sync_file_range():

EIO_SYNC_FILE_RANGE_WAIT_BEFORE (integer)
EIO_SYNC_FILE_RANGE_WRITE (integer)
EIO_SYNC_FILE_RANGE_WAIT_AFTER (integer)

Banderas de eio_fallocate():

EIO_FALLOC_FL_KEEP_SIZE (integer)

Nota:

Las constantes EIO_S_I* tienen el mismo significado que sus homónimos S_I* de POSIX.

Nota:

EIO_SYNC_FILE_*tienen el mismo significado que sus homónimos SYNC_FILE_**.

Nota:

EIO_O_*tienen el mismo significado que sus homónimos O_*de POSIX.

Tipos de recursos
Ejemplos
Eio


Ejemplos

Ejemplo #1 Cancelar una petición

<?php
 /* Es llamada cuando finaliza eio_nop() */
 function mi_llamada_retorno_nop($datos, $resultado) {
  echo "mi_nop ", $datos, "\n";
 }

// Esta llamada a eio_nop() será cancelada
$petición = eio_nop(EIO_PRI_DEFAULT, "mi_llamada_retorno_nop", "1");
var_dump($petición);
eio_cancel($petición);

// Esta vez eio_nop() será procesada
eio_nop(EIO_PRI_DEFAULT, "mi_llamada_retorno_nop", "2");

// Process requests
eio_event_loop();
?>

El resultado del ejemplo sería algo similar a:

resource(4) of type (EIO Request Descriptor)
mi_nop 2

Ejemplo #2 Llamar a eio_chmod()

<?php
$nombre_fichero_temp = dirname(__FILE__) ."eio-fichero-temp.tmp";
touch($nombre_fichero_temp);

/* Es llamada cuando finaliza eio_chmod() */
function mi_llamada_retorno_chmod($datos, $resultado) {
    global $nombre_fichero_temp;

    if ($resultado == 0 && !is_readable($nombre_fichero_temp) && is_writable($nombre_fichero_temp)) {
        echo "eio_chmod_ok";
    }

    @unlink($nombre_fichero_temp);
}

eio_chmod($nombre_fichero_temp, 0200, EIO_PRI_DEFAULT, "mi_llamada_retorno_chmod");
eio_event_loop();
?>

El resultado del ejemplo sería algo similar a:

eio_chmod_ok

Ejemplo #3 Realizar una petición personalizada

<?php
/* Llamada de retorno para la llamada de retorno personalizada */
function mi_llamada_retorno_personalizada($datos, $resultado) {
    var_dump($datos);
    var_dump(count($resultado));
    var_dump($resultado['data_modified']);
    var_dump($resultado['result']);
}

/* La petición personalizada */
function mi_personalizada($datos) {
    var_dump($datos);

    $resultado = array(
        'result'        => 1001,
        'data_modified' => "mis datos personalizados",
    );

    return $resultado;
}

$datos = "mis_datos_personalizados";
$petición = eio_custom("mi_personalizada", EIO_PRI_DEFAULT, "mi_llamada_retorno_personalizada", $datos);
var_dump($petición);
eio_event_loop();
?>

El resultado del ejemplo sería algo similar a:

resource(4) of type (EIO Request Descriptor)
string(24) "mis_datos_personalizados"
string(24) "mis_datos_personalizados"
int(2)
string(24) "mis datos personalizados"
int(1001)

Ejemplo #4 Agrupar peticiones

<?php
/*
 * Crear un grupo de peticiones para abrir, leer y cerrar un fichero
 */

$nombre_fichero_temp = dirname(__FILE__) ."/eio-file.tmp";
$fp = fopen($nombre_fichero_temp, "w");
fwrite($fp, "algunos datos");
fclose($fp);

/* Es llamada cuando el grupo de peticiones está hecho */
function mi_grupo_hecho($datos, $resultado) {
 global $nombre_fichero_temp;
 var_dump($resultado == 0);
 @unlink($nombre_fichero_temp);
}

/* Es llamada cuando eio_open() termina */
function mi_grupo_llamada_retorno_fichero_abierto($datos, $resultado) {
 global $mi_df_fichero, $grupo;

 $mi_df_fichero = $resultado;

 var_dump($resultado > 0);

 // Crear una petición eio_read() y añadirla al grupo
 $petición = eio_read($mi_df_fichero, 4, 0, EIO_PRI_DEFAULT, "mi_grupo_llamada_retorno_fichero_leído");
 eio_grp_add($grupo, $petición);
}

/* Is called when eio_read() done */
function mi_grupo_llamada_retorno_fichero_leído($datos, $resultado) {
 global $mi_df_fichero, $grupo;

 var_dump($resultado);

 // Crear una petición eio_close() y añadirla al grupo
 $petición = eio_close($mi_df_fichero);
 eio_grp_add($grupo, $petición);
}

$grupo = eio_grp("mi_grupo_hecho", "mis_datos_grupo");

// Crear una petición eio_open() y añadirla al grupo
$petición = eio_open($nombre_fichero_temp, EIO_O_RDWR | EIO_O_APPEND , NULL,
  EIO_PRI_DEFAULT, "mi_grupo_llamada_retorno_fichero_abierto", NULL);
eio_grp_add($grupo, $petición);
var_dump($grupo);

eio_event_loop();
?>

El resultado del ejemplo sería algo similar a:

resource(6) of type (EIO Group Descriptor)
bool(true)
string(7) "algunos"
bool(true)

Ejemplo #5 Usar eio con libevent

<?php
function mi_eio_poll($df, $eventos, $argumentos) {
    /* Algunas regulaciones de libevent podrían ir aquí .. */
    if (eio_nreqs()) {
        eio_poll();
    }
    /* .. y aquí */
}

function mi_llamada_retorno_nop($d, $r) {
    var_dump($r); var_dump($d);
}

$base = event_base_new();
$evento = event_new();

$df = eio_get_event_stream();
var_dump($df);

eio_nop(EIO_PRI_DEFAULT, "mi_llamada_retorno_nop", "nop data");
eio_mkdir("/tmp/abc-eio-temp", 0750, EIO_PRI_DEFAULT, "mi_llamada_retorno_nop", "nop data");
/* algunas llamadas eio_* aquí ... */

// establecer las banderas del evento
event_set($evento, $df, EV_READ /*| EV_PERSIST*/, "my_eio_poll", array($evento, $base));

// Establecer la base del evento
event_base_set($evento, $base);

// habilitar el evento
event_add($evento);

// iniciar el bucle de eventos
event_base_loop($base);

/* Lo mismo estará disponible mediante interfaz libevent con buffer */
?>

El resultado del ejemplo sería algo similar a:

int(3)
int(0)
string(8) "nop data"
int(0)
string(10) "mkdir data"

Constantes predefinidas
Funciones Eio
Eio


Funciones Eio

Tabla de contenidos

  • eio_busy — Incrementar artificialmente la carga. Podría ser útil en pruebas, evaluaciones comparativas
  • eio_cancel — Cancelar una petición
  • eio_chmod — Cambiar los permisos de fichero/directorio
  • eio_chown — Cambiar los permisos de un fichero/directorio
  • eio_close — Cerrar un fichero
  • eio_custom — Ejecutar una petición personalizada como cualquier otra llamada eio_*
  • eio_dup2 — Duplicar un descriptor de fichero
  • eio_event_loop — Monitorizar libeio hasta que todas las peticiones sean procesadas
  • eio_fallocate — Permitir al llamador manipular directamente el espacio de disco asignado a un fichero
  • eio_fchmod — Cambiar los permisos de un fichero
  • eio_fchown — Cambiar el propietario del fichero
  • eio_fdatasync — Sincronizar el estado de ficheros que están en memoria con un dispositivo de almacenamiento
  • eio_fstat — Obtener el estado de un fichero
  • eio_fstatvfs — Obtener las estadísticas del sistema de ficheros
  • eio_fsync — Sincronizar el estado de un fichero en memoria con un dispositivo de almacenamiento
  • eio_ftruncate — Truncar un fichero
  • eio_futime — Cambiar los momentos de último y acceso y modificación de un fichero
  • eio_get_event_stream — Obtiene un flujo que representa una variable usada en comnunicaciones internas con libeio
  • eio_get_last_error — Devuelve un string que describe el último error asociado con un recurso de petición
  • eio_grp_add — Añadir una petición al grupo de peticiones
  • eio_grp_cancel — Cancelar un grupo de peticiones
  • eio_grp_limit — Establecer el límite de un grupo
  • eio_grp — Crear un grupo de peticiones
  • eio_init — (Re-)inicializa Eio
  • eio_link — Crear un enlace duro par un fichero
  • eio_lstat — Obtener el estado de un fichero
  • eio_mkdir — Crear un directorio
  • eio_mknod — Crear un fichero especial u ordinario
  • eio_nop — No hace nada, sólo recorre el ciclo de peticiones entero
  • eio_npending — Devolver el número de peticiones, excepto las no manejadas
  • eio_nready — Devolver el número de peticiones aún no tratadas
  • eio_nreqs — Devuelve el número de peticiones a ser procesadas
  • eio_nthreads — Devuelve el número de hilos actualmente en uso
  • eio_open — Abrir un fichero
  • eio_poll — Puede ser llamada siempre que existan peticiones pendientes que necesitan ser finalizadas
  • eio_read — Leer de un descriptor de fichero en un índice dado
  • eio_readahead — Perform file readahead into page cache
  • eio_readdir — Leer un directorio al completo
  • eio_readlink — Leer el valor de un enlace simbólico
  • eio_realpath — Obtener el nombre de ruta absoluto canonizado
  • eio_rename — Cambiar el nombre o la ubicación de un fichero
  • eio_rmdir — Eliminar un directorio
  • eio_seek — Reposiciona el índice del fichero abierto asociado con el argumento fd al argumento offset según la directiva whence
  • eio_sendfile — Transferir información entre descriptores de ficheros
  • eio_set_max_idle — Establecer el número máximo de hilos parados
  • eio_set_max_parallel — Esteblecer el máximo de hilos paralelos
  • eio_set_max_poll_reqs — Establecer el máximo número de peticiones procesadas en una monitorización
  • eio_set_max_poll_time — Establecer el tiempo máximo de monitorización
  • eio_set_min_parallel — Esteblecer el número de hilos paralelos mínimo
  • eio_stat — Obtener el estado de un fichero
  • eio_statvfs — Obtener las estadísticas del sistema de ficheros
  • eio_symlink — Crear un enlace simbólico
  • eio_sync_file_range — Sincornizar un segmento de fichero con el disco
  • eio_sync — Consignar el caché de buffer cache al disco
  • eio_syncfs — Realizar una llamada al sistema de syncfs de Linux si está disponible
  • eio_truncate — Truncar un fichero
  • eio_unlink — Borrar un nombre y posiblemente el fichero al que se refiere
  • eio_utime — Cambiar los momentos de último y acceso y modificación de un fichero
  • eio_write — Escribir en un fichero
Ejemplos
eio_busy
Eio


Incrementar artificialmente la carga. Podría ser útil en pruebas, evaluaciones comparativas

Funciones Eio
eio_cancel
Funciones Eio
PHP Manual

eio_busy

(PECL eio >= 0.0.1dev)

eio_busy — Incrementar artificialmente la carga. Podría ser útil en pruebas, evaluaciones comparativas

Descripción

resource eio_busy ( int $delay [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_busy() incrementa artificialmente la carga tomanto delay segundos para ejecutarse. Puede usarse para depuración, o evaluaciones comparativas.

Parámetros

delay

Retraso en segundos

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

Esta llamada de retorno se llama cuando está hecho todo el grupo de peticiones.

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_busy() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

Ver también

  • eio_nop
Funciones Eio
eio_cancel
Funciones Eio


Cancelar una petición

eio_busy
eio_chmod
Funciones Eio
PHP Manual

eio_cancel

(PECL eio >= 0.0.1dev)

eio_cancel — Cancelar una petición

Descripción

void eio_cancel ( resource $req )

eio_cancel() cancela una petición especificada por req

Parámetros

req

E rescurso de petición

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de eio_cancel()

<?php
 /* Es llamada cuando eio_nop() finaliza */
 function mi_llamada_retorno_nop($datos, $resultado) {
  echo "mi_nop ", $datos, "\n";
 }

// Esta llamada a eio_nop() será cancelada
$petición = eio_nop(EIO_PRI_DEFAULT, "mi_llamada_retorno_nop", "1");
var_dump($petición);
eio_cancel($petición);

// Esta vez eio_nop() será procesada
eio_nop(EIO_PRI_DEFAULT, "mi_llamada_retorno_nop", "2");

// Procesar las peticiones
eio_event_loop();
?>

El resultado del ejemplo sería algo similar a:

resource(4) of type (EIO Request Descriptor)
mi_nop 2

Ver también

  • eio_grp_cancel
eio_busy
eio_chmod
Funciones Eio


Cambiar los permisos de fichero/directorio

eio_cancel
eio_chown
Funciones Eio
PHP Manual

eio_chmod

(PECL eio >= 0.0.1dev)

eio_chmod — Cambiar los permisos de fichero/directorio

Descripción

resource eio_chmod ( string $path , int $mode [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_chmod() cambia los permisos de un fichero o directorio. Los nuevos permisos son especificados mediandte mode.

Parámetros

path

La ruta al fichero o directorio objetivo

Advertencia

Evita rutas relativas

mode

Los nuevos permisos. P.ej. 0644.

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_chmod() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

Ver también

  • eio_chown
eio_cancel
eio_chown
Funciones Eio


Cambiar los permisos de un fichero/directorio

eio_chmod
eio_close
Funciones Eio
PHP Manual

eio_chown

(PECL eio >= 0.0.1dev)

eio_chown — Cambiar los permisos de un fichero/directorio

Descripción

resource eio_chown ( string $path , int $uid [, int $gid = -1 [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]]] )

Cambia los permisos de un fichero o directorio.

Parámetros

path

La ruta al fichero o directorio.

Advertencia

Evita rutas relativas

uid

El ID de usuario. Se ignora si es aigual a -1.

gid

El ID de grupo. Se ignora si es aigual a -1.

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_chown() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

Ver también

  • eio_chmod
eio_chmod
eio_close
Funciones Eio


Cerrar un fichero

eio_chown
eio_custom
Funciones Eio
PHP Manual

eio_close

(PECL eio >= 0.0.1dev)

eio_close — Cerrar un fichero

Descripción

resource eio_close ( mixed $fd [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_close() cierra el fichero especificado por fd.

Parámetros

fd

Un flujo, un recurso Socket, o un descriptor numérico de fichero.

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_close() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

Ver también

  • eio_open
eio_chown
eio_custom
Funciones Eio


Ejecutar una petición personalizada como cualquier otra llamada eio_*

eio_close
eio_dup2
Funciones Eio
PHP Manual

eio_custom

(PECL eio >= 0.0.1dev)

eio_custom — Ejecutar una petición personalizada como cualquier otra llamada eio_*

Descripción

resource eio_custom ( callable $execute , int $pri , callable $callback [, mixed $data = NULL ] )

eio_custom() ejecuta una función personalizada especificada por execute procesándola igual que cualquier otra llamada eio_*.

Parámetros

execute

Especifica la función de petición que debería coincidir con el siguiente prototipo:

      mixed execute(mixed data);
callback es una llamada de retorno de finalización de evento que debería coincidir con el siguiente prototipo:
      void callback(mixed data, mixed result);
data son los datos pasados a execute mediante el argumento data sin modificaciones result valor devuelto por execute

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_custom() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de eio_custom()

<?php
/* Llamada de retorno para la llamada de retorno personalizada */
function mi_llamada_retorno_personalizada($datos, $resultado) {
    var_dump($datos);
    var_dump(count($resultado));
    var_dump($resultado['datos_modificados']);
    var_dump($resultado['resultado']);
}

/* La petición personalizada */
function mi_personalizada($datos) {
    var_dump($datos);

    $resultado = array(
        'resultado'         => 1001,
        'datos_modificados' => "mis datos personalizados",
    );

    return $resultado;
}

$datos = "mis_datos_personalizados";
$petición = eio_custom("mi_personalizada", EIO_PRI_DEFAULT, "mi_llamada_retorno_personalizada", $datos);
var_dump($petición);
eio_event_loop();
?>

El resultado del ejemplo sería algo similar a:

resource(4) of type (EIO Request Descriptor)
string(24) "mis_datos_personalizados"
string(24) "mis_datos_personalizados"
int(2)
string(24) "mis datos personalizados"
int(1001)
eio_close
eio_dup2
Funciones Eio


Duplicar un descriptor de fichero

eio_custom
eio_event_loop
Funciones Eio
PHP Manual

eio_dup2

(PECL eio >= 0.0.1dev)

eio_dup2 — Duplicar un descriptor de fichero

Descripción

resource eio_dup2 ( mixed $fd , mixed $fd2 [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_dup2() duplica un descriptor de fichero.

Parámetros

fd

Un flujo, un recurso Socket, o un descriptor de fichero numérico origen

fd2

Un flujo, un recurso Socket, o un descriptor de fichero numérico objetivo

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_dup2() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

eio_custom
eio_event_loop
Funciones Eio


Monitorizar libeio hasta que todas las peticiones sean procesadas

eio_dup2
eio_fallocate
Funciones Eio
PHP Manual

eio_event_loop

(PECL eio >= 0.0.1dev)

eio_event_loop — Monitorizar libeio hasta que todas las peticiones sean procesadas

Descripción

bool eio_event_loop ( void )

eio_event_loop() monitoriza libeio hasta que todas las peticiones sean procesadas.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

eio_event_loop() devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de eio_event_loop()

<?php
$nombre_fichero_temp = "fichero-temp-eio.tmp";
touch($nombre_fichero_temp);

/* Es llamada cuando eio_chmod() finaliza */
function mi_llamada_retorno_chmod($datos, $resultado) {
    global $nombre_fichero_temp;

    if ($resultado == 0 && !is_readable($nombre_fichero_temp) && is_writable($nombre_fichero_temp)) {
        echo "eio_chmod_ok";
    }

    @unlink($nombre_fichero_temp);
}

eio_chmod($nombre_fichero_temp, 0200, EIO_PRI_DEFAULT, "mi_llamada_retorno_chmod");
eio_event_loop();
?>

El resultado del ejemplo sería algo similar a:

eio_chmod_ok

Ver también

  • eio_poll
eio_dup2
eio_fallocate
Funciones Eio


Permitir al llamador manipular directamente el espacio de disco asignado a un fichero

eio_event_loop
eio_fchmod
Funciones Eio
PHP Manual

eio_fallocate

(PECL eio >= 0.0.1dev)

eio_fallocate — Permitir al llamador manipular directamente el espacio de disco asignado a un fichero

Descripción

resource eio_fallocate ( mixed $fd , int $mode , int $offset , int $length [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_fallocate() permite al llamador manipular directamente el espacio de disco asignado al fichero especificado por el descriptor de fichero fd para el rango de bytes empezando por offset y continuando length bytes.

Nota: El fichero debería abrirse para lectura

Se debería usar OR entre EIO_O_CREAT y EIO_O_WRONLY o EIO_O_RDWR

Parámetros

fd

Un flujo, un recurso Socket, o un descriptor numérico de fichero, p.ej., devuelto por eio_open().

mode

Actualmente sólo está soportada una bandera para el modo: EIO_FALLOC_FL_KEEP_SIZE (lo mismo que la constante POSIX FALLOC_FL_KEEP_SIZE).

offset

Especifica el inicio del rango de bytes.

length

Especifica la longitud del rango de bytes.

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_fallocate() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

eio_event_loop
eio_fchmod
Funciones Eio


Cambiar los permisos de un fichero

eio_fallocate
eio_fchown
Funciones Eio
PHP Manual

eio_fchmod

(PECL eio >= 0.0.1dev)

eio_fchmod — Cambiar los permisos de un fichero

Descripción

resource eio_fchmod ( mixed $fd , int $mode [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_fchmod() cambia los permisos del fichero especificado por el descriptor de fichero fd.

Parámetros

fd

Un flujo, un recurso Socket, o un descriptor numérico de fichero, p.ej., devuelto por eio_open().

mode

Los nuevos permisos. P.ej. 0644.

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_fchmod() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

Ver también

  • eio_fchown
eio_fallocate
eio_fchown
Funciones Eio


Cambiar el propietario del fichero

eio_fchmod
eio_fdatasync
Funciones Eio
PHP Manual

eio_fchown

(PECL eio >= 0.0.1dev)

eio_fchown — Cambiar el propietario del fichero

Descripción

resource eio_fchown ( mixed $fd , int $uid [, int $gid = -1 [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]]] )

eio_fchown() cambia el propietario del fichero especificado por el descriptor de fichero fd.

Parámetros

fd

Un flujo, un recurso Socket, o un descriptor numérico de fichero.

uid

El ID de ususario. Se ignora si es igual a -1.

gid

El ID de grupo. Se ignora si es igual a -1.

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Ver también

  • eio_fchmod
eio_fchmod
eio_fdatasync
Funciones Eio


Sincronizar el estado de ficheros que están en memoria con un dispositivo de almacenamiento

eio_fchown
eio_fstat
Funciones Eio
PHP Manual

eio_fdatasync

(PECL eio >= 0.0.1dev)

eio_fdatasync — Sincronizar el estado de ficheros que están en memoria con un dispositivo de almacenamiento

Descripción

resource eio_fdatasync ( mixed $fd [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_fdatasync() sincroniza el estado de ficheros que están en memoria con un dispositivo de almacenamiento.

Parámetros

fd

Un flujo, un recurso Socket, o un descriptor numérico de fichero, p.ej., devuelto por eio_open().

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_fdatasync() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

eio_fchown
eio_fstat
Funciones Eio


Obtener el estado de un fichero

eio_fdatasync
eio_fstatvfs
Funciones Eio
PHP Manual

eio_fstat

(PECL eio >= 0.0.1dev)

eio_fstat — Obtener el estado de un fichero

Descripción

resource eio_fstat ( mixed $fd , int $pri , callable $callback [, mixed $data ] )

eio_fstat() devuelve la información del estado de un fichero en el argumento result de callback

Parámetros

fd

Un flujo, un recurso Socket, o un descriptor numérico de fichero.

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_busy() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de eio_lstat()

<?php
// Create temporary file
$nombre_fichero_temp = dirname(__FILE__) ."/fichero-eio.tmp";
touch($nombre_fichero_temp);

/* Se llama cuando eio_fstat() termina */
function my_res_cb($datos, $resultado) {
 // Debería imprimir un array con la información de las estadísticas
 var_dump($resultado);

 if ($datos['fd']) {
  // Cerrar el fichero temporal
  eio_close($datos['fd']);
  eio_event_loop();
 }
 // Eliminar el fichero temporal
 @unlink($datos['file']);
}

/* Se llama cuando eio_open() termina */
function my_open_cb($datos, $resultado) {
 // Preparar los datos para la llamada de retorno
 $d = array(
  'fd'  => $resultado,
  'file'=> $datos
 );
 // Solicitar la información de las estadísticas
 eio_fstat($resultado, EIO_PRI_DEFAULT, "my_res_cb", $d);
 // Procesar la/s petición/es
 eio_event_loop();
}

// Abrir el fichero temporal
eio_open($nombre_fichero_temp, EIO_O_RDONLY, NULL, EIO_PRI_DEFAULT,
  "my_open_cb", $nombre_fichero_temp);
eio_event_loop();
?>

El resultado del ejemplo sería algo similar a:

array(12) {
 ["st_dev"]=>
  int(2050)
  ["st_ino"]=>
  int(2489159)
  ["st_mode"]=>
  int(33188)
  ["st_nlink"]=>
  int(1)
  ["st_uid"]=>
  int(1000)
  ["st_gid"]=>
  int(100)
  ["st_rdev"]=>
  int(0)
  ["st_blksize"]=>
  int(4096)
  ["st_blocks"]=>
  int(0)
  ["st_atime"]=>
  int(1318239506)
  ["st_mtime"]=>
  int(1318239506)
  ["st_ctime"]=>
  int(1318239506)
}

Ver también

  • eio_lstat
  • eio_stat
eio_fdatasync
eio_fstatvfs
Funciones Eio


Obtener las estadísticas del sistema de ficheros

eio_fstat
eio_fsync
Funciones Eio
PHP Manual

eio_fstatvfs

(PECL eio >= 0.0.1dev)

eio_fstatvfs — Obtener las estadísticas del sistema de ficheros

Descripción

resource eio_fstatvfs ( mixed $fd , int $pri , callable $callback [, mixed $data ] )

eio_fstatvfs() devuelve las estadísticas del sistema de ficheros en el parámetro result de callback.

Parámetros

fd

Un descriptor de fichero de un fichero del sistema de ficheros abierto.

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_fstatvfs() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

Ver también

  • eio_statvfs
eio_fstat
eio_fsync
Funciones Eio


Sincronizar el estado de un fichero en memoria con un dispositivo de almacenamiento

eio_fstatvfs
eio_ftruncate
Funciones Eio
PHP Manual

eio_fsync

(PECL eio >= 0.0.1dev)

eio_fsync — Sincronizar el estado de un fichero en memoria con un dispositivo de almacenamiento

Descripción

resource eio_fsync ( mixed $fd [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

Sincroniza el estado de un fichero en memoria con un dispositivo de almacenamiento

Parámetros

fd

Un flujo, un recurso Socket, o un descriptor numérico de fichero.

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_fsync() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

Ver también

  • eio_sync
eio_fstatvfs
eio_ftruncate
Funciones Eio


Truncar un fichero

eio_fsync
eio_futime
Funciones Eio
PHP Manual

eio_ftruncate

(PECL eio >= 0.0.1dev)

eio_ftruncate — Truncar un fichero

Descripción

resource eio_ftruncate ( mixed $fd [, int $offset = 0 [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]]] )

eio_ftruncate() hace que un fichero regular referenciado por el descriptor de fichero fd sea truncado a exactamente length bytes.

Parámetros

fd

Un flujo, un recurso Socket, o un descriptor numérico de fichero.

offset

Índice desde el principio del fichero.

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_ftruncate() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

Ver también

  • eio_truncate
eio_fsync
eio_futime
Funciones Eio


Cambiar los momentos de último y acceso y modificación de un fichero

eio_ftruncate
eio_get_event_stream
Funciones Eio
PHP Manual

eio_futime

(PECL eio >= 0.0.1dev)

eio_futime — Cambiar los momentos de último y acceso y modificación de un fichero

Descripción

resource eio_futime ( mixed $fd , float $atime , float $mtime [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_futime() cambia los momentos de último acceso y modificación de un fichero.

Parámetros

fd

Un flujo, un recurso Socket, o un descriptor numérico de fichero, p.ej., devuelto por eio_open().

atime

Momento de acceso

mtime

Momento de modificación

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_futime() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

Ver también

  • eio_utime
eio_ftruncate
eio_get_event_stream
Funciones Eio


Obtiene un flujo que representa una variable usada en comnunicaciones internas con libeio

eio_futime
eio_get_last_error
Funciones Eio
PHP Manual

eio_get_event_stream

(PECL eio >= 0.3.1b)

eio_get_event_stream — Obtiene un flujo que representa una variable usada en comnunicaciones internas con libeio

Descripción

mixed eio_get_event_stream ( void )

eio_get_event_stream() adquiere un flujo que representa una variable usada en comunicaciones internas con libeio. Se podría usar para vinculaciones con algún bucle de eventos proporcionado por otra extensión PECL, por ejemplo libevent.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

eio_get_event_stream() devuelve un flujo en caso de éxito; de otro modo devuelve NULL

Ejemplos

Ejemplo #1 Usar eio con libevent

<?php
function mi_eio_poll($df, $eventos, $argumento) {
    /* Algunas regulaciones de libevent podrían ir aquí .. */
    if (eio_nreqs()) {
        eio_poll();
    }
    /* .. y aquí */
}

function my_res_cb($d, $r) {
    var_dump($r); var_dump($d);
}

$base = event_base_new();
$evento = event_new();

$df = eio_get_event_stream();
var_dump($df);

eio_nop(EIO_PRI_DEFAULT, "my_res_cb", "nop data");
eio_mkdir("/tmp/abc-eio-temp", 0750, EIO_PRI_DEFAULT, "my_res_cb", "mkdir data");
/* algunas llamadas eio_* aquí ... */

// establecer la banderas del evento
event_set($evento, $df, EV_READ /*| EV_PERSIST*/, "mi_eio_poll", array($evento, $base));

// establecer la base del evento
event_base_set($evento, $base);

// habilitar el evento
event_add($evento);

// iniciar el bucle de eventos
event_base_loop($base);

/* Lo mismo estará disponible mediante interfaz libevent con buffer */
?>

El resultado del ejemplo sería algo similar a:

int(3)
int(0)
string(8) "nop data"
int(0)
string(10) "mkdir data"
eio_futime
eio_get_last_error
Funciones Eio


Devuelve un string que describe el último error asociado con un recurso de petición

eio_get_event_stream
eio_grp_add
Funciones Eio
PHP Manual

eio_get_last_error

(PECL eio >= 1.0.0)

eio_get_last_error — Devuelve un string que describe el último error asociado con un recurso de petición

Descripción

string eio_get_last_error ( resource $req )

eio_get_last_error() devuelve un string que describe el último error asociado con req.

Parámetros

req

El recurso de petición

Valores devueltos

eio_get_last_error() devuelve un string que describe el último error asociado con el recurso de petición dado por req.

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

eio_get_event_stream
eio_grp_add
Funciones Eio


Añadir una petición al grupo de peticiones

eio_get_last_error
eio_grp_cancel
Funciones Eio
PHP Manual

eio_grp_add

(PECL eio >= 0.0.1dev)

eio_grp_add — Añadir una petición al grupo de peticiones

Descripción

void eio_grp_add ( resource $grp , resource $req )

eio_grp_add() añade una petición al grupo de peticiones.

Parámetros

grp

El recurso de grupo de peticiones devuelto por eio_grp()

req

El recurso de petición

Valores devueltos

eio_grp_add() no devuelve ningún valor.

Ejemplos

Ejemplo #1 Agrupar peticiones

<?php
/*
 * Crear un grupo de peticiones para abrir, leer y cerrar un fichero
 */

// Crear un fichero temporal y escribir algunos bytes en él
$nombre_fichero_temp = dirname(__FILE__) ."/fichero-eio.tmp";
$fp = fopen($nombre_fichero_temp, "w");
fwrite($fp, "algunos datos");
fclose($fp);

/* Es llamada cuando el grupo de peticiones está hecho */
function mi_grupo_hecho($datos, $resultado) {
 var_dump($resultado == 0);
 @unlink($datos);
}

/* Es llamada cuando eio_open() termina */
function mi_llamada_retorno_fichero_abierto($datos, $resultado) {
 global $grupo;

 // $resultado debería contener el descriptor del fichero
 var_dump($resultado > 0);

 // Crear una petición eio_read() y añadirla al grupo
 // Pasar el descriptor del fichero a la llamada de retorno
 $petición = eio_read($resultado, 4, 0,
   EIO_PRI_DEFAULT, "mi_llamada_retorno_grupo_fichero_leído", $resultado);
 eio_grp_add($grupo, $petición);
}

/* Es llamada cuando eio_read() termina */
function mi_llamada_retorno_grupo_fichero_leído($datos, $resultado) {
 global $grupo;

 // Leer bytes
 var_dump($resultado);

 // Crear una petición eio_close() y añadirla al grupo
 // $datos debería contener el descriptor del fichero
 $petición = eio_close($datos);
 eio_grp_add($grupo, $petición);
}

// Crear un grupo de peticiones
$grupo = eio_grp("mi_grupo_hecho", $nombre_fichero_temp);
var_dump($grupo);

// Crear una petición eio_open() y añadirla al grupo
$petición = eio_open($nombre_fichero_temp, EIO_O_RDWR | EIO_O_APPEND , NULL,
  EIO_PRI_DEFAULT, "mi_llamada_retorno_fichero_abierto", NULL);
eio_grp_add($grupo, $petición);

// Procesar las peticiones
eio_event_loop();
?>

El resultado del ejemplo sería algo similar a:

resource(6) of type (EIO Group Descriptor)
bool(true)
string(7) "algunos"
bool(true)

Ver también

  • eio_grp
  • eio_grp_cancel
  • eio_grp_limit
eio_get_last_error
eio_grp_cancel
Funciones Eio


Cancelar un grupo de peticiones

eio_grp_add
eio_grp_limit
Funciones Eio
PHP Manual

eio_grp_cancel

(PECL eio >= 0.0.1dev)

eio_grp_cancel — Cancelar un grupo de peticiones

Descripción

void eio_grp_cancel ( resource $grp )

eio_grp_cancel() cancela un grupo de peticiones especificadas por el recurso de grupo de peticiones grp.

Parámetros

grp

El recurso de grupo de peticiones devuelto por eio_grp().

Valores devueltos

No devuelve ningún valor.

Ver también

  • eio_grp
  • eio_grp_add
eio_grp_add
eio_grp_limit
Funciones Eio


Establecer el límite de un grupo

eio_grp_cancel
eio_grp
Funciones Eio
PHP Manual

eio_grp_limit

(PECL eio >= 0.0.1dev)

eio_grp_limit — Establecer el límite de un grupo

Descripción

void eio_grp_limit ( resource $grp , int $limit )

Número límite de peticiones en un grupo de peticiones.

Parámetros

grp

El recurso de grupo de peticiones.

limit

El número de peticiones del grupo.

Valores devueltos

No devuelve ningún valor.

Ver también

  • eio_grp_add
eio_grp_cancel
eio_grp
Funciones Eio


Crear un grupo de peticiones

eio_grp_limit
eio_init
Funciones Eio
PHP Manual

eio_grp

(PECL eio >= 0.0.1dev)

eio_grp — Crear un grupo de peticiones

Descripción

resource eio_grp ( callable $callback [, string $data = NULL ] )

eio_grp() crea un grupo de peticiones.

Parámetros

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_grp() devuelve un recurso de grupo de peticiones en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de eio_grp()

<?php
$nombre_fichero_temp = dirname(__FILE__) ."/fichero-eio.tmp";
$fp = fopen($nombre_fichero_temp, "w");
fwrite($fp, "algunos datos");
fclose($fp);
$mi_df_fichero = NULL;

/* Es llamada cuando el grupo de peticiones está hecho */
function mi_grupo_hecho($datos, $resultado) {
 // Eliminar el fichero, si aún existe
 @unlink($datos);
}

/* Es llamada al abrir el fichero temporal */
function mi_llamada_retorno_grupo_fichero_abierto($datos, $resultado) {
 global $mi_df_fichero, $grupo;

 $mi_df_fichero = $resultado;

 $petición = eio_read($mi_df_fichero, 4, 0,
   EIO_PRI_DEFAULT, "mi_llamada_retorno_grupo_fichero_leído");
 eio_grp_add($grupo, $petición);
}

/* Es llamada cuando el fichero es leído */
function mi_llamada_retorno_grupo_fichero_leído($datos, $resultado) {
 global $mi_df_fichero, $grupo;

 var_dump($resultado);

 // Crear una petición para cerrar el fichero
 $petición = eio_close($mi_df_fichero);

 // Añadir la petición al grupo
 eio_grp_add($grupo, $petición);
}

// Crear un grupo de peticiones
$grupo = eio_grp("mi_grupo_hecho", $nombre_fichero_temp);

// Crear una petición
$petición = eio_open($nombre_fichero_temp, EIO_O_RDWR | EIO_O_APPEND , NULL,
  EIO_PRI_DEFAULT, "mi_llamada_retorno_grupo_fichero_abierto", NULL);

// Añadir la petición al grupo
eio_grp_add($grupo, $petición);

// Procesar las peticiones
eio_event_loop();
?>

El resultado del ejemplo sería algo similar a:

string(7) "algunos"

Ver también

  • eio_grp_cancel
  • eio_grp_add
eio_grp_limit
eio_init
Funciones Eio


(Re-)inicializa Eio

eio_grp
eio_link
Funciones Eio
PHP Manual

eio_init

(PECL eio = 1.0.0)

eio_init — (Re-)inicializa Eio

Descripción

void eio_init ( void )

eio_init() (re-)inicializa Eio. Asigna memoria para estructuras internas de libeio y Eio. Se puede llamar a eio_init() antes de usar las funciones de Eio. De otro modo, será invocada internamente la primera vez que se invoque a una función de Eio en un proceso.

Advertencia

Esta característica obsoleta será eliminada con certeza en el futuro. Desde Eio 1.1.0 eio_init() está obsoleta. En Eio 1.0.0, debido a las » restricciones de libeio, se debe llamar a eio_init() en procesos hijos, si se enendra uno por cualquier medio. Se debe evitar usar Eio en procesos padres, si se usa en hijos.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

eio_grp
eio_link
Funciones Eio


Crear un enlace duro par un fichero

eio_init
eio_lstat
Funciones Eio
PHP Manual

eio_link

(PECL eio >= 0.0.1dev)

eio_link — Crear un enlace duro par un fichero

Descripción

resource eio_link ( string $path , string $new_path [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_link() crea el enlace duro dado por new_path para un fichero especificado por path.

Parámetros

path

La ruta del fichero origen.

new_path

La ruta del fichero destino.

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de eio_link()

<?php
$nombre_fichero = dirname(__FILE__)."/symlink.dat";
touch($nombre_fichero);
$enlace = dirname(__FILE__)."/symlink.link";
$enlace_duro = dirname(__FILE__)."/hardlink.link";

function mi_llamada_retorno_hardlink($datos, $resultado) {
    global $enlace, $nombre_fichero;
    var_dump(file_exists($datos) && !is_link($datos));
    @unlink($datos);

    eio_symlink($nombre_fichero, $enlace, EIO_PRI_DEFAULT, "mi_llamada_retorno_symlink", $enlace);
}

function mi_llamada_retorno_symlink($datos, $resultado) {
    global $enlace, $nombre_fichero;
    var_dump(file_exists($data) && is_link($datos));

    if (!eio_readlink($datos, EIO_PRI_DEFAULT, "mi_llamada_retorno_readlink", NULL)) {
        @unlink($enlace);
        @unlink($nombre_fichero);
    }
}

function mi_llamada_retorno_readlink($datos, $resultado) {
    global $nombre_fichero, $enlace;
    var_dump($resultado);

    @unlink($enlace);
    @unlink($nombre_fichero);
}

eio_link($nombre_fichero, $enlace_duro, EIO_PRI_DEFAULT, "mi_llamada_retorno_hardlink", $enlace_duro);
eio_event_loop();
?>

El resultado del ejemplo sería algo similar a:

bool(true)
bool(true)
string(%d) "%ssymlink.dat"

Ver también

  • eio_symlink
eio_init
eio_lstat
Funciones Eio


Obtener el estado de un fichero

eio_link
eio_mkdir
Funciones Eio
PHP Manual

eio_lstat

(PECL eio >= 0.0.1dev)

eio_lstat — Obtener el estado de un fichero

Descripción

resource eio_lstat ( string $path , int $pri , callable $callback [, mixed $data = NULL ] )

eio_lstat() devuelve la información del estado de un fichero en el argumento result de callback

Parámetros

path

La ruta de archivo

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_lstat() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de eio_lstat()

<?php
$nombre_fichero_temp = dirname(__FILE__). "/fichero-eio.tmp";
touch($nombre_fichero_temp);

function my_res_cb($datos, $resultado) {
    var_dump($datos);
    var_dump($resultado);
}

function my_open_cb($datos, $resultado) {
    eio_close($resultado);
    eio_event_loop();

    @unlink($datos);
}

eio_lstat($nombre_fichero_temp, EIO_PRI_DEFAULT, "my_res_cb", "eio_lstat");
eio_open($nombre_fichero_temp, EIO_O_RDONLY, NULL,
 EIO_PRI_DEFAULT, "my_open_cb", $nombre_fichero_temp);
eio_event_loop();
?>

El resultado del ejemplo sería algo similar a:

string(9) "eio_lstat"
array(12) {
 ["st_dev"]=>
  int(2050)
  ["st_ino"]=>
  int(2099197)
  ["st_mode"]=>
  int(33188)
  ["st_nlink"]=>
  int(1)
  ["st_uid"]=>
  int(1000)
  ["st_gid"]=>
  int(100)
  ["st_rdev"]=>
  int(0)
  ["st_blksize"]=>
  int(4096)
  ["st_blocks"]=>
  int(0)
  ["st_atime"]=>
  int(1318235777)
  ["st_mtime"]=>
  int(1318235777)
  ["st_ctime"]=>
  int(1318235777)
}

Ver también

  • eio_stat
  • eio_fstat
eio_link
eio_mkdir
Funciones Eio


Crear un directorio

eio_lstat
eio_mknod
Funciones Eio
PHP Manual

eio_mkdir

(PECL eio >= 0.0.1dev)

eio_mkdir — Crear un directorio

Descripción

resource eio_mkdir ( string $path , int $mode [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_mkdir() crea un directorio con el acceso especificado por mode.

Parámetros

path

La ruta del nuevo directorio.

mode

Modo de acceso, p.ej. 0755

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_mkdir() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de eio_mkdir()

<?php
$nombre_directorio_temp = "dir-tmp-eio";

/* Es llamada cuando eio_mkdir() finaliza */
function mi_llamada_retorno_mkdir($datos, $resultado) {
 if ($resultado == 0 && is_dir($nombre_directorio_temp)
   && !is_readable($nombre_directorio_temp)
   && is_writable($nombre_directorio_temp)) {
  echo "eio_mkdir_ok";
 }

 // Eliminar el directorio
    if (file_exists($datos))
        rmdir($nombre_directorio_temp);
}

// Crear un directorio con modo de acceso 0300
eio_mkdir($nombre_directorio_temp, 0300, EIO_PRI_DEFAULT, "mi_llamada_retorno_mkdir", $nombre_directorio_temp);
eio_event_loop();
?>

El resultado del ejemplo sería algo similar a:

eio_mkdir_ok

Ver también

  • eio_rmdir
eio_lstat
eio_mknod
Funciones Eio


Crear un fichero especial u ordinario

eio_mkdir
eio_nop
Funciones Eio
PHP Manual

eio_mknod

(PECL eio >= 0.0.1dev)

eio_mknod — Crear un fichero especial u ordinario

Descripción

resource eio_mknod ( string $path , int $mode , int $dev [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_mknod() crea un fichero ordinario o especial (a menudo).

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

path

Ruta del nuevo nodo (fichero).

mode

Especifica tanto los permisos a usar como el tipo de nodo a ser creado. Debería ser una combinación (usando el operador OR) de uno de los tipos de fichero listados abajo y los permisos para el nuevo nodo (p.ej. 0640). Los tipos de ficheros posibles son: EIO_S_IFREG (fichero regular), EIO_S_IFCHR (fichero de carácter), EIO_S_IFBLK (fichero especial de bloqueo), EIO_S_IFIFO (FIFO - tubería nominada) y EIO_S_IFSOCK (socket de dominio UNIX). Para especificar permisos se podrían usar constantes EIO_S_I*.

dev

Si el tipo de fichero es EIO_S_IFCHR o EIO_S_IFBLK, dev especifica el número mayor y menor del recién creado fichero especial de dispositivo. De otro modo dev es ignorado. Véase la página del manual mknod(2) para más detalles.

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_mknod() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de eio_mknod()

<?php
// Nombre FIFO
$nombre_fichero_temp = "/tmp/eio-temp-fifo";

/* Se llama cuando eio_mknod() finaliza */
function mi_llamada_retorno_mknod($datos, $resultado) {
    $s = stat($datos);
    var_dump($s);

    if ($resultado == 0) {
        echo "eio_mknod_ok";
    }

    @unlink($datos);
}

eio_mknod($nombre_fichero_temp, EIO_S_IFIFO, 0,
    EIO_PRI_DEFAULT, "mi_llamada_retorno_mknod", $nombre_fichero_temp);
eio_event_loop();
?>

El resultado del ejemplo sería algo similar a:

array(26) {
  [0]=>
  int(17)
  [1]=>
  int(2337608)
  [2]=>
  int(4096)
  [3]=>
  int(1)
  [4]=>
  int(1000)
  [5]=>
  int(100)
  [6]=>
  int(0)
  [7]=>
  int(0)
  [8]=>
  int(1318241261)
  [9]=>
  int(1318241261)
  [10]=>
  int(1318241261)
  [11]=>
  int(4096)
  [12]=>
  int(0)
  ["dev"]=>
  int(17)
  ["ino"]=>
  int(2337608)
  ["mode"]=>
  int(4096)
  ["nlink"]=>
  int(1)
  ["uid"]=>
  int(1000)
  ["gid"]=>
  int(100)
  ["rdev"]=>
  int(0)
  ["size"]=>
  int(0)
  ["atime"]=>
  int(1318241261)
  ["mtime"]=>
  int(1318241261)
  ["ctime"]=>
  int(1318241261)
  ["blksize"]=>
  int(4096)
  ["blocks"]=>
  int(0)
}
eio_mknod_ok

Ver también

  • eio_open
eio_mkdir
eio_nop
Funciones Eio


No hace nada, sólo recorre el ciclo de peticiones entero

eio_mknod
eio_npending
Funciones Eio
PHP Manual

eio_nop

(PECL eio >= 0.0.1dev)

eio_nop — No hace nada, sólo recorre el ciclo de peticiones entero

Descripción

resource eio_nop ([ int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_nop() no hace nada, sólo recorre el ciclo de peticiones entero. Podría ser util al depurar.

Parámetros

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_nop() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

Ver también

  • eio_busy
eio_mknod
eio_npending
Funciones Eio


Devolver el número de peticiones, excepto las no manejadas

eio_nop
eio_nready
Funciones Eio
PHP Manual

eio_npending

(PECL eio >= 0.0.1dev)

eio_npending — Devolver el número de peticiones, excepto las no manejadas

Descripción

int eio_npending ( void )

eio_npending() devuelve el número de peticiones, excepto las no manejadas.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

eio_npending() devuelve el número de peticiones, excepto las no manejadas.

Ver también

  • eio_nreqs
  • eio_nready
  • eio_nthreads
eio_nop
eio_nready
Funciones Eio


Devolver el número de peticiones aún no tratadas

eio_npending
eio_nreqs
Funciones Eio
PHP Manual

eio_nready

(PECL eio >= 0.0.1dev)

eio_nready — Devolver el número de peticiones aún no tratadas

Descripción

int eio_nready ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

eio_nready() devuelve el número de peticiones aún no tratadas

Ver también

  • eio_nreqs
  • eio_nready
  • eio_nthreads
eio_npending
eio_nreqs
Funciones Eio


Devuelve el número de peticiones a ser procesadas

eio_nready
eio_nthreads
Funciones Eio
PHP Manual

eio_nreqs

(PECL eio >= 0.0.1dev)

eio_nreqs — Devuelve el número de peticiones a ser procesadas

Descripción

int eio_nreqs ( void )

eio_nreqs() se podría llamar en un bucle personalizado al llamar a eio_poll().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

eio_nreqs() devuelve el número de peticiones a ser procesadas.

Ejemplos

Ejemplo #1 Ejepmlo de eio_nreqs()

<?php
function res_cb($datos, $resultado) {
    var_dump($datos);
    var_dump($resultado);
}

eio_nop(EIO_PRI_DEFAULT, "res_cb", "1");
eio_nop(EIO_PRI_DEFAULT, "res_cb", "2");
eio_nop(EIO_PRI_DEFAULT, "res_cb", "3");

while (eio_nreqs()) {
    eio_poll();
}
?>

El resultado del ejemplo sería algo similar a:

string(1) "1"
int(0)
string(1) "3"
int(0)
string(1) "2"
int(0)

Ver también

  • eio_poll
  • eio_nready
eio_nready
eio_nthreads
Funciones Eio


Devuelve el número de hilos actualmente en uso

eio_nreqs
eio_open
Funciones Eio
PHP Manual

eio_nthreads

(PECL eio >= 0.0.1dev)

eio_nthreads — Devuelve el número de hilos actualmente en uso

Descripción

int eio_nthreads ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

eio_nthreads() devuelve el número de hilos actualmente en uso.

Ver también

  • eio_npending
  • eio_nready
  • eio_nreqs
eio_nreqs
eio_open
Funciones Eio


Abrir un fichero

eio_nthreads
eio_poll
Funciones Eio
PHP Manual

eio_open

(PECL eio >= 0.0.1dev)

eio_open — Abrir un fichero

Descripción

resource eio_open ( string $path , int $flags , int $mode , int $pri , callable $callback [, mixed $data = NULL ] )

eio_open() abre el archivo especificado por path en el modo de acceso mode con

Parámetros

path

Ruta del archivo a abrir.

Advertencia

En algunas SAPIs (p.ej. PHP-FPM) podría fallar si no se especifica la ruta completa.

flags

Una de las constantes EIO_O_*, o sus combinaciones. Las constantes EIO_O_* tienen el mismo significado que sus correspondientes homónimas O_* definidas en el fichero de cabecera C fnctl.h. Por defecto es EIO_O_RDWR.

mode

Una de las constantes EIO_S_I*, o sus combinaciones (mediante el operador a nivel de bits OR). Las constantes tienen el mismo significado que sus homónimas S_I* definidas en el archivo de cabecera C » sys/stat.h. Necesario si se crea un fichero. En otro caso es ignorado.

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_open() devuelve un descriptor de fichero en el argumento result de callback en caso de éxito; de otro modo, result es igual a -1.

Ejemplos

Ejemplo #1 Ejemplo de eio_open()

<?php
$nombre_fichero_temp = "eio-fichero-temp.tmp";

/* Se llama cuando eio_close() finaliza */
function my_close_cb($datos, $resultado) {
 // Cero indica éxito
    var_dump($resultado == 0);
 @unlink($datos);
}

/* Se llama cuando eio_open() finaliza */
function mi_llamada_retorno_fichero_abierto($datos, $resultado) {
 // $resultado debería contener el descriptor de fichero
    var_dump($resultado > 0);

    if ($resultado > 0) {
  // Cerrar el fichero
        eio_close($resultado, EIO_PRI_DEFAULT, "my_close_cb", $datos);
        eio_event_loop();
    }
}

// Crear un nuevo fichero para lectura y escritura
// Denegar al grupo y a otros realizar cualquier cosa con ese fichero
eio_open($nombre_fichero_temp, EIO_O_CREAT | EIO_O_RDWR, EIO_S_IRUSR | EIO_S_IWUSR,
  EIO_PRI_DEFAULT, "mi_llamada_retorno_fichero_abierto", $nombre_fichero_temp);
eio_event_loop();
?>

El resultado del ejemplo sería algo similar a:

bool(true)
bool(true)

Ver también

  • eio_mknod
eio_nthreads
eio_poll
Funciones Eio


Puede ser llamada siempre que existan peticiones pendientes que necesitan ser finalizadas

eio_open
eio_read
Funciones Eio
PHP Manual

eio_poll

(PECL eio >= 0.0.1dev)

eio_poll — Puede ser llamada siempre que existan peticiones pendientes que necesitan ser finalizadas

Descripción

int eio_poll ( void )

eio_poll() se puede usar para implementar un bucle de eventos especial. Para esto, podria usarse eio_nreqs() para comprobar si existen peticiones no procesadas.

Nota:

Aplicable solamente al implementar bucles de eventos del espacio de usuario.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Si cualquier invocación a una petición devuelve un valor distinto de cero, devuelve ese valor. De otro modo devuelve 0.

Ejemplos

Ejemplo #1 Ejemplo de eio_poll()

<?php
function res_cb($datos, $resultado) {
    var_dump($datos);
    var_dump($resultado);
}

eio_nop(EIO_PRI_DEFAULT, "res_cb", "1");
eio_nop(EIO_PRI_DEFAULT, "res_cb", "2");
eio_nop(EIO_PRI_DEFAULT, "res_cb", "3");

while (eio_nreqs()) {
    // Algún IPC específico más o menos
    eio_poll();
}
?>

El resultado del ejemplo sería algo similar a:

string(1) "1"
int(0)
string(1) "3"
int(0)
string(1) "2"
int(0)

Ver también

  • eio_nreqs
eio_open
eio_read
Funciones Eio


Leer de un descriptor de fichero en un índice dado

eio_poll
eio_readahead
Funciones Eio
PHP Manual

eio_read

(PECL eio >= 0.0.1dev)

eio_read — Leer de un descriptor de fichero en un índice dado

Descripción

resource eio_read ( mixed $fd , int $length , int $offset , int $pri , callable $callback [, mixed $data = NULL ] )

eio_read() lee hasta length bytes desde el descriptor de fichero fd empezando en offset. Los bytes leídos son almacenados en el argumento result de callback.

Parámetros

fd

Un flujo, un recurso Socket, o un descriptor numérico de fichero.

length

El número máximo de bytes a leer.

offset

El índice dentro del fichero.

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_read() almacena los bytes leídos en el argumento result de la función callback.

Ejemplos

Ejemplo #1 Ejemplo de eio_read()

<?php
// Abrir un fichero temporal y escribir algunos bytes en él
$nombre_fichero_temp = "eio-temp-file.tmp";
$fp = fopen($nombre_fichero_temp, "w");
fwrite($fp, "1234567890");
fclose($fp);

/* Es llamada cuando eio_read() termina */
function mi_llamada_retorno_read($datos, $resultado) {
    global $nombre_fichero_temp;

 // Imprimir los bytes leídos
    var_dump($resultado);

 // Cerrar el fichero
    eio_close($datos);
    eio_event_loop();

 // Eliminar el fichero temporal
    @unlink($nombre_fichero_temp);
}

/* Es llamada cuanco eio_open() termina */
function mi_llamada_retorno_fichero abierto($datos, $resultado) {
 // $resultado debería contener el descriptor del fichero
    if ($resultado > 0) {
  // Leer 5 bytes empezando desde el tercero
        eio_read($resultado, 5, 2, EIO_PRI_DEFAULT, "mi_llamada_retorno_read", $resultado);
        eio_event_loop();
    } else {
  // eio_open() falló
        unlink($datos);
    }
}

// Abrir el fichero para leer y escribir
eio_open($nombre_fichero_temp, EIO_O_RDWR, NULL,
    EIO_PRI_DEFAULT, "mi_llamada_retorno_fichero abierto", $nombre_fichero_temp);
eio_event_loop();
?>

El resultado del ejemplo sería algo similar a:

string(5) "34567"

Ver también

  • eio_open
  • eio_write
  • eio_close
  • eio_event_loop
eio_poll
eio_readahead
Funciones Eio


Perform file readahead into page cache

eio_read
eio_readdir
Funciones Eio
PHP Manual

eio_readahead

(PECL eio >= 0.0.1dev)

eio_readahead — Perform file readahead into page cache

Descripción

resource eio_readahead ( mixed $fd , int $offset , int $length [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_readahead() rellena la caché de página con información de un fichero, por lo que lecturas posteriores de ese fichero no bloquearán la E/S del disco. Véase la página del manual READAHEAD(2) para más detalles.

Parámetros

fd

Un flujo, un recurso Socket, o un descriptor numérico de fichero.

offset

El punto de inicio desde el cual se va a leer la información.

length

El número de bytes a leer.

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_readahead() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

eio_read
eio_readdir
Funciones Eio


Leer un directorio al completo

eio_readahead
eio_readlink
Funciones Eio
PHP Manual

eio_readdir

(PECL eio >= 0.0.1dev)

eio_readdir — Leer un directorio al completo

Descripción

resource eio_readdir ( string $path , int $flags , int $pri , callable $callback [, string $data = NULL ] )

Leer un directorio al completo (mediante las llamadas al sistema de opendir, readdir y closedir) y devuelve o los nombres o un array en el argumento result de la función callback, dependiendo del argumento flags.

Parámetros

path

La ruta del directorio.

flags

Una combinación de constantes EIO_READDIR_*.

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_readdir() devuelve un recurso de petición en caso de éxito, o FALSE en caso de error. Establece el argumento result de la función callback function según el parámetro flags:

EIO_READDIR_DENTS (integer)
Bandera eio_readdir(). Si se especifica, el argumento resultante de la llamada de retorno se convierte en un array con las siguientes claves: 'names' - array de nombres de directorios 'dents' - array de structura eio_dirent-como los arrays pero teniendo las siguientes claves: 'name' - el nombre del directorio; 'type' - una de las constantes EIO_DT_*; 'inode' - el número de inodo, si está disponible, de otro modo sin especificar;
EIO_READDIR_DIRS_FIRST (integer)
Cuando se especifica esta bandera, los nombres serán devueltos en un orden donde probablemente los directorios vallan primero, en un orden de estadísticas óptimo.
EIO_READDIR_STAT_ORDER (integer)
Cuando se especifica esta bandera, los nombres serán devueltos en un orden apropiado para realizar estadísticas (stat) con cada uno. Cuando se planea usar la función stat() para realizar estadísticas de todos los archivos del directorio dado, el orden devuelto probablemente sea más rápido.
EIO_READDIR_FOUND_UNKNOWN (integer)

Tipos de nodos:

EIO_DT_UNKNOWN (integer)
Tipo de nodo desconocido(muy común). Se necistan más estadísticas ( stat()).
EIO_DT_FIFO (integer)
Tipo de nodo FIFO
EIO_DT_CHR (integer)
Tipo de nodo
EIO_DT_MPC (integer)
Tipo de nodo de dispositivo de caracteres multiplexado (v7+coherent)
EIO_DT_DIR (integer)
Tipo de nodo de directorio
EIO_DT_NAM (integer)
Tipo de nodo de fichero Xenix nominado especial
EIO_DT_BLK (integer)
Tipo de nodo
EIO_DT_MPB (integer)
Dispositivo de bloqueo multiplexado (v7+coherent)
EIO_DT_REG (integer)
Tipo de nodo
EIO_DT_NWK (integer)
EIO_DT_CMP (integer)
Tipo de noto especial de red HP-UX
EIO_DT_LNK (integer)
Tipo de nodo de vínculo
EIO_DT_SOCK (integer)
Tipo de nodo socket
EIO_DT_DOOR (integer)
Tipo de nodo de puerta de Solaris
EIO_DT_WHT (integer)
Tipo de nodo
EIO_DT_MAX (integer)
Valor de tipo de nodo más alto

Ejemplos

Ejemplo #1 eio_readdir() example

<?php
/* Es llamada cuando eio_readdir() finaliza */
function mi_llamada_retorno_readdir($datos, $resultado) {
    echo __FUNCTION__, " llamada\n";
    echo "datos: "; var_dump($datos);
    echo "resultado: "; var_dump($resultado);
    echo "\n";
}

eio_readdir("/var/spool/news", EIO_READDIR_STAT_ORDER | EIO_READDIR_DIRS_FIRST,
  EIO_PRI_DEFAULT, "mi_llamada_retorno_readdir");
eio_event_loop();
?>

El resultado del ejemplo sería algo similar a:

mi_llamada_retorno_readdir llamada
datos: NULL
resultado: array(2) {
 ["names"]=>
  array(7) {
   [0]=>
    string(7) "archive"
    [1]=>
    string(8) "articles"
    [2]=>
    string(8) "incoming"
    [3]=>
    string(7) "innfeed"
    [4]=>
    string(8) "outgoing"
    [5]=>
    string(8) "overview"
    [6]=>
    string(3) "tmp"
  }
 ["dents"]=>
  array(7) {
   [0]=>
    array(3)
    {
     ["name"]=>
      string(7)
      "archive"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393265)
    }
   [1]=>
    array(3)
    {
     ["name"]=>
      string(8)
      "articles"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393266)
    }
   [2]=>
    array(3)
    {
     ["name"]=>
      string(8)
      "incoming"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393267)
    }
   [3]=>
    array(3)
    {
     ["name"]=>
      string(7)
      "innfeed"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393269)
    }
   [4]=>
    array(3)
    {
     ["name"]=>
      string(8)
      "outgoing"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393270)
    }
   [5]=>
    array(3)
    {
     ["name"]=>
      string(8)
      "overview"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393271)
    }
   [6]=>
    array(3)
    {
     ["name"]=>
      string(3)
      "tmp"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393272)
    }
  }
}
eio_readahead
eio_readlink
Funciones Eio


Leer el valor de un enlace simbólico

eio_readdir
eio_realpath
Funciones Eio
PHP Manual

eio_readlink

(PECL eio >= 0.0.1dev)

eio_readlink — Leer el valor de un enlace simbólico

Descripción

resource eio_readlink ( string $path , int $pri , callable $callback [, string $data = NULL ] )

Parámetros

path

La ruta del enlace simbólico fuente

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_readlink() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de eio_readlink()

<?php
$nombre_fichero = dirname(__FILE__)."/symlink.dat";
touch($nombre_fichero);
$enlace = dirname(__FILE__)."/symlink.link";
$enlace_duro = dirname(__FILE__)."/hardlink.link";

function mi_llamada_retorno_hardlink($datos, $resultado) {
    global $enlace, $nombre_fichero;
    var_dump(file_exists($datos) && !is_link($datos));
    @unlink($datos);

    eio_symlink($nombre_fichero, $enlace, EIO_PRI_DEFAULT, "mi_llamada_retorno_symlink", $enlace);
}

function mi_llamada_retorno_symlink($datos, $resultado) {
    global $enlace, $nombre_fichero;
    var_dump(file_exists($datos) && is_link($datos));

    if (!eio_readlink($datos, EIO_PRI_DEFAULT, "mi_llamada_retorno_readlink", NULL)) {
        @unlink($enlace);
        @unlink($nombre_fichero);
    }
}

function mi_llamada_retorno_readlink($datos, $resultado) {
    global $nombre_fichero, $enlace;
    var_dump($resultado);

    @unlink($enlace);
    @unlink($nombre_fichero);
}

eio_link($nombre_fichero, $enlace_duro, EIO_PRI_DEFAULT, "mi_llamada_retorno_hardlink", $enlace_duro);
eio_event_loop();
?>

El resultado del ejemplo sería algo similar a:

bool(true)
bool(true)
string(16) "/tmp/symlink.dat"

Ver también

  • eio_symlink
eio_readdir
eio_realpath
Funciones Eio


Obtener el nombre de ruta absoluto canonizado

eio_readlink
eio_rename
Funciones Eio
PHP Manual

eio_realpath

(PECL eio >= 0.0.1dev)

eio_realpath — Obtener el nombre de ruta absoluto canonizado

Descripción

resource eio_realpath ( string $path , int $pri , callable $callback [, string $data = NULL ] )

eio_realpath() devuelve el nombre de ruta absoluto canonizado en el argumento result de la función callback.

Parámetros

path

EL nombre abreviado

pri

callback

data

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de eio_realpath()

<?php
var_dump(getcwd());

function mi_llamada_retorno_realpath($datos, $resultado) {
    var_dump($resultado);
}

eio_realpath("../", EIO_PRI_DEFAULT, "mi_llamada_retorno_realpath");
eio_event_loop();
?>

El resultado del ejemplo sería algo similar a:

string(12) "/home/ruslan"
string(5) "/home"
eio_readlink
eio_rename
Funciones Eio


Cambiar el nombre o la ubicación de un fichero

eio_realpath
eio_rmdir
Funciones Eio
PHP Manual

eio_rename

(PECL eio >= 0.0.1dev)

eio_rename — Cambiar el nombre o la ubicación de un fichero

Descripción

resource eio_rename ( string $path , string $new_path [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_rename() renombra o mueve un fichero a una nueva ubicación.

Parámetros

path

La ruta de origen

new_path

La ruta destino

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_rename() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de eio_rename()

<?php
$nombre_fichero = dirname(__FILE__)."/fichero-eio-temp.dat";
touch($nombre_fichero);
$nuevo_nombre_fichero = dirname(__FILE__)."/nuevo-fichero-eio-temp.dat";

function mi_llamada_retorno_rename($datos, $resultado) {
    global $nombre_fichero, $nuevo_nombre_fichero;

    if ($resultado == 0 && !file_exists($nombre_fichero) && file_exists($nuevo_nombre_fichero)) {
        @unlink($nuevo_nombre_fichero);
        echo "eio_rename_ok";
    } else {
        @unlink($nombre_fichero);
    }
}

eio_rename($nombre_fichero, $nuevo_nombre_fichero, EIO_PRI_DEFAULT, "mi_llamada_retorno_rename", $nombre_fichero);
eio_event_loop();
?>

El resultado del ejemplo sería algo similar a:

eio_rename_ok
eio_realpath
eio_rmdir
Funciones Eio


Eliminar un directorio

eio_rename
eio_seek
Funciones Eio
PHP Manual

eio_rmdir

(PECL eio >= 0.0.1dev)

eio_rmdir — Eliminar un directorio

Descripción

resource eio_rmdir ( string $path [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_rmdir() elimina un directorio.

Parámetros

path

La ruta del directorio

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_rmdir() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de eio_rmdir()

<?php
$nombre_directorio_temp = "dir-tmp-eio";
mkdir($nombre_directorio_temp);

function mi_llamada_retorno_rmdir($datos, $resultado) {
    if ($resultado == 0 && !file_exists($datos)) {
        echo "eio_rmdir_ok";
    } else if (file_exists($datos)) {
        rmdir($datos);
    }
}

eio_rmdir($nombre_directorio_temp, EIO_PRI_DEFAULT, "mi_llamada_retorno_rmdir", $nombre_directorio_temp);
eio_event_loop();
?>

El resultado del ejemplo sería algo similar a:

eio_rmdir_ok

Ver también

  • eio_mkdir
eio_rename
eio_seek
Funciones Eio


Reposiciona el índice del fichero abierto asociado con el argumento fd al argumento offset según la directiva whence

eio_rmdir
eio_sendfile
Funciones Eio
PHP Manual

eio_seek

(PECL eio >= 0.5.0b)

eio_seek — Reposiciona el índice del fichero abierto asociado con el argumento fd al argumento offset según la directiva whence

Descripción

resource eio_seek ( mixed $fd , int $offset , int $whence [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_seek() reposiciona el índice del fichero abierto asociado con el flujo, el recurso Socket, o el descriptor de fichero especificado por fd al argumento offset según la directiva whence como sigue:

  • EIO_SEEK_SET - Establece la posición igual a offset bytes.
  • EIO_SEEK_CUR - Establece la posición a la ubicación actual más offset.
  • EIO_SEEK_END - Establece la posición al final del fichero más offset.

Parámetros

fd

Un flujo, un recurso Socket, o un descriptor de fichero numérico

offset

El punto de inicio desde donde van a leerse los datos.

length

El número de bytes a leer.

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Una variable arbitraria pasada a callback.

Valores devueltos

eio_seek() devuelve el recurso solicitado en caso de éxito o FALSE en case de error.

eio_rmdir
eio_sendfile
Funciones Eio


Transferir información entre descriptores de ficheros

eio_seek
eio_set_max_idle
Funciones Eio
PHP Manual

eio_sendfile

(PECL eio >= 0.0.1dev)

eio_sendfile — Transferir información entre descriptores de ficheros

Descripción

resource eio_sendfile ( mixed $out_fd , mixed $in_fd , int $offset , int $length [, int $pri [, callable $callback [, string $data ]]] )

eio_sendfile() copia información entre un descriptor de fichero y otror. Véase la página del manual SENDFILE(2) para más detalles.

Parámetros

out_fd

Un flujo de salida, un recurso Socket, o un descriptor de fichero. Debería ser abierto para escritura.

in_fd

Un flujo de entrada, un recurso Socket, o un descriptor de fichero. Debería ser abierto para lectura.

offset

El índice dentro del fichero fuente.

length

El número de bytes a copiar.

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_sendfile() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

eio_seek
eio_set_max_idle
Funciones Eio


Establecer el número máximo de hilos parados

eio_sendfile
eio_set_max_parallel
Funciones Eio
PHP Manual

eio_set_max_idle

(PECL eio >= 0.0.1dev)

eio_set_max_idle — Establecer el número máximo de hilos parados

Descripción

void eio_set_max_idle ( int $nthreads )

Parámetros

nthreads

El número de hilo parados.

Valores devueltos

No devuelve ningún valor.

Ver también

  • eio_set_min_parallel
  • eio_set_max_parallel
eio_sendfile
eio_set_max_parallel
Funciones Eio


Esteblecer el máximo de hilos paralelos

eio_set_max_idle
eio_set_max_poll_reqs
Funciones Eio
PHP Manual

eio_set_max_parallel

(PECL eio >= 0.0.1dev)

eio_set_max_parallel — Esteblecer el máximo de hilos paralelos

Descripción

void eio_set_max_parallel ( int $nthreads )

Parámetros

nthreads

El número de hilos paralelos.

Valores devueltos

No devuelve ningún valor.

Ver también

  • eio_set_min_parallel
eio_set_max_idle
eio_set_max_poll_reqs
Funciones Eio


Establecer el máximo número de peticiones procesadas en una monitorización

eio_set_max_parallel
eio_set_max_poll_time
Funciones Eio
PHP Manual

eio_set_max_poll_reqs

(PECL eio >= 0.0.1dev)

eio_set_max_poll_reqs — Establecer el máximo número de peticiones procesadas en una monitorización

Descripción

void eio_set_max_poll_reqs ( int $nreqs )

Parámetros

nreqs

El número de peticiones

Valores devueltos

No devuelve ningún valor.

eio_set_max_parallel
eio_set_max_poll_time
Funciones Eio


Establecer el tiempo máximo de monitorización

eio_set_max_poll_reqs
eio_set_min_parallel
Funciones Eio
PHP Manual

eio_set_max_poll_time

(PECL eio >= 0.0.1dev)

eio_set_max_poll_time — Establecer el tiempo máximo de monitorización

Descripción

void eio_set_max_poll_time ( float $nseconds )

La monitorización se detiene si toma más de nseconds segundos.

Parámetros

nseconds

El número de segundos

Valores devueltos

No devuelve ningún valor.

eio_set_max_poll_reqs
eio_set_min_parallel
Funciones Eio


Esteblecer el número de hilos paralelos mínimo

eio_set_max_poll_time
eio_stat
Funciones Eio
PHP Manual

eio_set_min_parallel

(PECL eio >= 0.0.1dev)

eio_set_min_parallel — Esteblecer el número de hilos paralelos mínimo

Descripción

void eio_set_min_parallel ( string $nthreads )

Parámetros

nthreads

El número de hilos paralelos.

Valores devueltos

No devuelve ningún valor.

Ver también

  • eio_set_max_parallel
eio_set_max_poll_time
eio_stat
Funciones Eio


Obtener el estado de un fichero

eio_set_min_parallel
eio_statvfs
Funciones Eio
PHP Manual

eio_stat

(PECL eio >= 0.0.1dev)

eio_stat — Obtener el estado de un fichero

Descripción

resource eio_stat ( string $path , int $pri , callable $callback [, mixed $data = NULL ] )

eio_stat() devuelve la información del estado de un fichero en el argumento result de callback

Parámetros

path

La ruta de archivo

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_stat()devuelve un recurso de petición en caso de éxito o FALSE en caso de error. En caso de éxito asigna el argumento result de callback a un array.

Ejemplos

Ejemplo #1 Ejemplo de eio_stat()

<?php
$nombre_fichero_temp = "fichero-eio.tmp";
touch($nombre_fichero_temp);

function my_res_cb($datos, $resultado) {
    var_dump($datos);
    var_dump($resultado);
}

function my_open_cb($datos, $resultado) {
    eio_close($resultado);
    eio_event_loop();

    @unlink($datos);
}

eio_stat($nombre_fichero_temp, EIO_PRI_DEFAULT, "my_res_cb", "eio_stat");
eio_open($nombre_fichero_temp, EIO_O_RDONLY, NULL,
 EIO_PRI_DEFAULT, "my_open_cb", $nombre_fichero_temp);
eio_event_loop();
?>

El resultado del ejemplo sería algo similar a:

string(8) "eio_stat"
array(12) {
  ["st_dev"]=>
  int(2050)
  ["st_ino"]=>
  int(2489173)
  ["st_mode"]=>
  int(33188)
  ["st_nlink"]=>
  int(1)
  ["st_uid"]=>
  int(1000)
  ["st_gid"]=>
  int(100)
  ["st_rdev"]=>
  int(0)
  ["st_blksize"]=>
  int(4096)
  ["st_blocks"]=>
  int(0)
  ["st_atime"]=>
  int(1318250380)
  ["st_mtime"]=>
  int(1318250380)
  ["st_ctime"]=>
  int(1318250380)
}

Ver también

  • eio_lstat
  • eio_fstat
eio_set_min_parallel
eio_statvfs
Funciones Eio


Obtener las estadísticas del sistema de ficheros

eio_stat
eio_symlink
Funciones Eio
PHP Manual

eio_statvfs

(PECL eio >= 0.0.1dev)

eio_statvfs — Obtener las estadísticas del sistema de ficheros

Descripción

resource eio_statvfs ( string $path , int $pri , callable $callback [, mixed $data ] )

eio_statvfs() devuelve la información de las estadísticas del sistema de ficheros en el argumento result de callback

Parámetros

path

El nombre de ruta de cualquier fichero dentro del sistema de ficheros montado

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_statvfs() devuelve un recurso de petición en caso de éxito o FALSE en caso de error. En caso de éxito asigna el argumento result de callback a un array.

Ejemplos

Ejemplo #1 Ejemplo de eio_statvfs()

<?php
$nombre_fichero_temp = '/tmp/fichero-eio.tmp';
touch($nombre_fichero_temp);

function mi_llamada_retorno_statvfs($datos, $resultado) {
    var_dump($datos);
    var_dump($resultado);

 @unlink($datos);
}

eio_statvfs($nombre_fichero_temp, EIO_PRI_DEFAULT, "mi_llamada_retorno_statvfs", $nombre_fichero_temp);
eio_event_loop();
?>

El resultado del ejemplo sería algo similar a:

string(17) "/tmp/eio-file.tmp"
array(11) {
  ["f_bsize"]=>
  int(4096)
  ["f_frsize"]=>
  int(4096)
  ["f_blocks"]=>
  int(262144)
  ["f_bfree"]=>
  int(262111)
  ["f_bavail"]=>
  int(262111)
  ["f_files"]=>
  int(1540815)
  ["f_ffree"]=>
  int(1540743)
  ["f_favail"]=>
  int(1540743)
  ["f_fsid"]=>
  int(0)
  ["f_flag"]=>
  int(4102)
  ["f_namemax"]=>
  int(255)
}
eio_stat
eio_symlink
Funciones Eio


Crear un enlace simbólico

eio_statvfs
eio_sync_file_range
Funciones Eio
PHP Manual

eio_symlink

(PECL eio >= 0.0.1dev)

eio_symlink — Crear un enlace simbólico

Descripción

resource eio_symlink ( string $path , string $new_path [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_symlink() crea un enlace simbólico new_path hacia path.

Parámetros

path

La ruta fuente

new_path

La ruta destino

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_symlink() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 eio_symlink() example

<?php
$nombre_fichero = dirname(__FILE__)."/symlink.dat";
touch($nombre_fichero);
$enlace = dirname(__FILE__)."/symlink.link";

function mi_llamada_retorno_symlink($datos, $resultado) {
    global $enlace, $nombre_fichero;
    var_dump(file_exists($datos) && is_link($datos));

    if (!eio_readlink($datos, EIO_PRI_DEFAULT, "mi_llamada_retorno_readlink", NULL)) {
        @unlink($enlace);
        @unlink($nombre_fichero);
    }
}

function mi_llamada_retorno_readlink($datos, $resultado) {
    global $nombre_fichero, $enlace;
    var_dump($resultado);

    @unlink($enlace);
    @unlink($nombre_fichero);
}

eio_symlink($nombre_fichero, $enlace, EIO_PRI_DEFAULT, "mi_llamada_retorno_symlink", $enlace);
eio_event_loop();
?>

El resultado del ejemplo sería algo similar a:

bool(true)
string(16) "/tmp/symlink.dat"

Ver también

  • eio_link
eio_statvfs
eio_sync_file_range
Funciones Eio


Sincornizar un segmento de fichero con el disco

eio_symlink
eio_sync
Funciones Eio
PHP Manual

eio_sync_file_range

(PECL eio >= 0.0.1dev)

eio_sync_file_range — Sincornizar un segmento de fichero con el disco

Descripción

resource eio_sync_file_range ( mixed $fd , int $offset , int $nbytes , int $flags [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_sync_file_range() permite un control preciso al sincronizar el fichero abierto mencionado por el descriptor de fichero fd con el disco.

Parámetros

fd

El descriptor de fichero

offset

El byte de inicio del rango del archivo a ser sincronizado

nbytes

Especifica la longitud del rango a ser sincronizado, en bytes. Si nbytes es cero, son sicronizados todos los bytes desde offset hasta el final del fichero.

flags

Una máscara de bits. Puede incluir cualquiera de los siguientes valores: EIO_SYNC_FILE_RANGE_WAIT_BEFORE, EIO_SYNC_FILE_RANGE_WRITE, EIO_SYNC_FILE_RANGE_WAIT_AFTER. Estas banderas tienen el mismo significado que sus homónimas SYNC_FILE_RANGE_* (véase la página del manual SYNC_FILE_RANGE(2)).

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_sync_file_range() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

eio_symlink
eio_sync
Funciones Eio


Consignar el caché de buffer cache al disco

eio_sync_file_range
eio_syncfs
Funciones Eio
PHP Manual

eio_sync

(PECL eio >= 0.0.1dev)

eio_sync — Consignar el caché de buffer cache al disco

Descripción

resource eio_sync ([ int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

eio_sync() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

eio_sync_file_range
eio_syncfs
Funciones Eio


Realizar una llamada al sistema de syncfs de Linux si está disponible

eio_sync
eio_truncate
Funciones Eio
PHP Manual

eio_syncfs

(PECL eio >= 0.0.1dev)

eio_syncfs — Realizar una llamada al sistema de syncfs de Linux si está disponible

Descripción

resource eio_syncfs ( mixed $fd [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

Parámetros

fd

Descriptor de fichero

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_syncfs() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

eio_sync
eio_truncate
Funciones Eio


Truncar un fichero

eio_syncfs
eio_unlink
Funciones Eio
PHP Manual

eio_truncate

(PECL eio >= 0.0.1dev)

eio_truncate — Truncar un fichero

Descripción

resource eio_truncate ( string $path [, int $offset = 0 [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]]] )

eio_truncate() hace que el fichero nominado por path sea truncado al tamaño de exactamente length bytes

Parámetros

path

Ruta del fichero.

offset

Índice desde el principio del fichero.

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_busy() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

Ver también

  • eio_ftruncate
eio_syncfs
eio_unlink
Funciones Eio


Borrar un nombre y posiblemente el fichero al que se refiere

eio_truncate
eio_utime
Funciones Eio
PHP Manual

eio_unlink

(PECL eio >= 0.0.1dev)

eio_unlink — Borrar un nombre y posiblemente el fichero al que se refiere

Descripción

resource eio_unlink ( string $path [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_unlink() borra un nombre del sistema de ficheros.

Parámetros

path

Ruta del fichero.

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_unlink() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

eio_truncate
eio_utime
Funciones Eio


Cambiar los momentos de último y acceso y modificación de un fichero

eio_unlink
eio_write
Funciones Eio
PHP Manual

eio_utime

(PECL eio >= 0.0.1dev)

eio_utime — Cambiar los momentos de último y acceso y modificación de un fichero

Descripción

resource eio_utime ( string $path , float $atime , float $mtime [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

Parámetros

path

Ruta del fichero.

atime

Momento de acceso

mtime

Momento de modificación

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_utime() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

Ver también

  • eio_futime
eio_unlink
eio_write
Funciones Eio


Escribir en un fichero

eio_utime
Ev
Funciones Eio
PHP Manual

eio_write

(PECL eio >= 0.0.1dev)

eio_write — Escribir en un fichero

Descripción

resource eio_write ( mixed $fd , string $str [, int $length = 0 [, int $offset = 0 [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]]]] )

eio_write() escribe hasta length bytes desde str en el índice offset desde el principo del fichero.

Parámetros

fd

Un flujo, un recurso Socket, o un descriptor numérico de fichero, p.ej., devuelto por eio_open().

str

La cadena fuente

length

Número máximo de bytes a escribir.

offset

ïndice desde el principio del fichero.

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

void callback(mixed $data, int $result[, resource $req]);
data

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

eio_write() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.

Ver también

  • eio_open
eio_utime
Ev
Funciones Eio


Ev

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • Watchers
  • Watcher callbacks
  • Periodic watcher operation modes
  • Ev — The Ev class
    • Ev::backend — Devuelve un entero que describe el back-end utilizado por libev
    • Ev::depth — Devuelve la profundidad de la recursividad
    • Ev::embeddableBackends — Returns the set of backends that are embeddable in other event loops.
    • Ev::feedSignal — Feed a signal event info Ev
    • Ev::feedSignalEvent — Feed signal event into the default loop
    • Ev::iteration — Return the number of times the default event loop has polled for new events.
    • Ev::now — Returns the time when the last iteration of the default event loop has started.
    • Ev::nowUpdate — Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress.
    • Ev::recommendedBackends — Returns a bit mask of recommended backends for current platform.
    • Ev::resume — Resume previously suspended default event loop
    • Ev::run — Begin checking for events and calling callbacks for the default loop
    • Ev::sleep — Block the process for the given number of seconds.
    • Ev::stop — Stops the default event loop
    • Ev::supportedBackends — Returns the set of backends supported by current libev configuration.
    • Ev::suspend — Suspend the default event loop
    • Ev::time — Returns the current time in fractional seconds since the epoch.
    • Ev::verify — Performs internal consistency checks(for debugging)
  • EvCheck — The EvCheck class
    • EvCheck::__construct — Constructs the EvCheck watcher object
    • EvCheck::createStopped — Create instance of a stopped EvCheck watcher
  • EvChild — The EvChild class
    • EvChild::__construct — Constructs the EvChild watcher object
    • EvChild::createStopped — Create instance of a stopped EvCheck watcher
    • EvChild::set — Configures the watcher
  • EvEmbed — The EvEmbed class
    • EvEmbed::__construct — Constructs the EvEmbed object
    • EvEmbed::createStopped — Create stopped EvEmbed watcher object
    • EvEmbed::set — Configures the watcher
    • EvEmbed::sweep — Make a single, non-blocking sweep over the embedded loop.
  • EvFork — The EvFork class
    • EvFork::__construct — Constructs the EvFork watcher object
    • EvFork::createStopped — Creates a stopped instance of EvFork watcher class
  • EvIdle — The EvIdle class
    • EvIdle::__construct — Constructs the EvIdle watcher object
    • EvIdle::createStopped — Creates instance of a stopped EvIdle watcher object
  • EvIo — The EvIo class
    • EvIo::__construct — Constructs EvIo watcher object
    • EvIo::createStopped — Create stopped EvIo watcher object
    • EvIo::set — Configures the watcher
  • EvLoop — The EvLoop class
    • EvLoop::backend — Returns an integer describing the backend used by libev.
    • EvLoop::check — Creates EvCheck object associated with the current event loop instance
    • EvLoop::child — Creates EvChild object associated with the current event loop
    • EvLoop::__construct — Constructs the event loop object
    • EvLoop::defaultLoop — Returns or creates the default event loop.
    • EvLoop::embed — Creates an instance of EvEmbed watcher associated with the current EvLoop object.
    • EvLoop::fork — Creates EvFork watcher object associated with the current event loop instance
    • EvLoop::idle — Creates EvIdle watcher object associated with the current event loop instance
    • EvLoop::invokePending — Invoke all pending watchers while resetting their pending state
    • EvLoop::io — Create EvIo watcher object associated with the current event loop instance
    • EvLoop::loopFork — Must be called after a fork
    • EvLoop::now — Returns the current "event loop time"
    • EvLoop::nowUpdate — Establishes the current time by querying the kernel, updating the time returned by EvLoop::now in the progress.
    • EvLoop::periodic — Creates EvPeriodic watcher object associated with the current event loop instance
    • EvLoop::prepare — Creates EvPrepare watcher object associated with the current event loop instance
    • EvLoop::resume — Resume previously suspended default event loop
    • EvLoop::run — Begin checking for events and calling callbacks for the loop
    • EvLoop::signal — Creates EvSignal watcher object associated with the current event loop instance
    • EvLoop::stat — Creates EvStat watcher object associated with the current event loop instance
    • EvLoop::stop — Stops the event loop
    • EvLoop::suspend — Suspend the loop
    • EvLoop::timer — Creates EvTimer watcher object associated with the current event loop instance
    • EvLoop::verify — Performs internal consistency checks(for debugging)
  • EvPeriodic — The EvPeriodic class
    • EvPeriodic::again — Simply stops and restarts the periodic watcher again.
    • EvPeriodic::at — Returns the absolute time that this watcher is supposed to trigger next
    • EvPeriodic::__construct — Constructs EvPeriodic watcher object
    • EvPeriodic::createStopped — Create a stopped EvPeriodic watcher
    • EvPeriodic::set — Configures the watcher
  • EvPrepare — The EvPrepare class
    • EvPrepare::__construct — Constructs EvPrepare watcher object
    • EvPrepare::createStopped — Creates a stopped instance of EvPrepare watcher
  • EvSignal — The EvSignal class
    • EvSignal::__construct — Constructs EvPeriodic watcher object
    • EvSignal::createStopped — Create stopped EvSignal watcher object
    • EvSignal::set — Configures the watcher
  • EvStat — The EvStat class
    • EvStat::attr — Returns the values most recently detected by Ev
    • EvStat::__construct — Constructs EvStat watcher object
    • EvStat::createStopped — Create a stopped EvStat watcher object
    • EvStat::prev — Returns the previous set of values returned by EvStat::attr
    • EvStat::set — Configures the watcher
    • EvStat::stat — Initiates the stat call
  • EvTimer — The EvTimer class
    • EvTimer::again — Restarts the timer watcher
    • EvTimer::__construct — Constructs an EvTimer watcher object
    • EvTimer::createStopped — Creates EvTimer stopped watcher object
    • EvTimer::set — Configures the watcher
  • EvWatcher — The EvWatcher class
    • EvWatcher::clear — Clear watcher pending status
    • EvWatcher::__construct — Abstract constructor of a watcher object
    • EvWatcher::feed — Feeds the given revents set into the event loop
    • EvWatcher::getLoop — Returns the loop responsible for the watcher
    • EvWatcher::invoke — Invokes the watcher callback with the given received events bit mask
    • EvWatcher::keepalive — Configures whether to keep the loop from returning
    • EvWatcher::setCallback — Sets new callback for the watcher
    • EvWatcher::start — Starts the watcher
    • EvWatcher::stop — Stops the watcher
eio_write
Introducción
Extensiones de control de procesos


Introducción

Esta extensión proporciona una interfaz a la biblioteca » libev ; un bucle de eventos completísimo de alto rendimiento escrito en C.

Nota: Esta extensión no está disponible en plataformas Windows.

Libev es un bucle de eventos: se toma interés en ciertos eventos (como que un descriptor de fichero sea legible o que expire un tiempo de espera), y se administrarán estas fuentes de eventos y se proveerá al programa con eventos.

Para hacer esto, se debe tomar más o menos control completo sobre el proceso (o hilo) ejecutando el gestor de bucles de evetos, y luego comunicar los eventos mediante un mecanismo de llamada de retorno.

Se toma interés en ciertos eventos registrando los así llamados testigos de eventos, y luego entergarlos a libev iniciando el testigo.

Para más detalles consulte la » documentación de libev

Ev
Instalación/Configuración
Ev


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Ev


Requerimientos

La biblioteca libev está embebida en esta extensión. No es necesario instalarla por separado.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/ev .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

La mayoría de las constantes se trasladaron a la clase singleton Ev.

Tipos de recursos
Ejemplos
Ev


Ejemplos

Ejemplo #1 Simple timers

<?php
// Create and start timer firing after 2 seconds
$w1 = new EvTimer(2, 0, function () {
    echo "2 seconds elapsed\n";
});

// Create and launch timer firing after 2 seconds repeating each second
// until we manually stop it
$w2 = new EvTimer(2, 1, function ($w) {
    echo "is called every second, is launched after 2 seconds\n";
    echo "iteration = ", Ev::iteration(), PHP_EOL;

    // Stop the watcher after 5 iterations
    Ev::iteration() == 5 and $w->stop();
    // Stop the watcher if further calls cause more than 10 iterations
    Ev::iteration() >= 10 and $w->stop();
});

// Create stopped timer. It will be inactive until we start it ourselves
$w_stopped = EvTimer::createStopped(10, 5, function($w) {
    echo "Callback of a timer created as stopped\n";

    // Stop the watcher after 2 iterations
    Ev::iteration() >= 2 and $w->stop();
});

// Loop until Ev::stop() is called or all of watchers stop
Ev::run();

// Start and look if it works
$w_stopped->start();
echo "Run single iteration\n";
Ev::run(Ev::RUN_ONCE);

echo "Restart the second watcher and try to handle the same events, but don't block\n";
$w2->again();
Ev::run(Ev::RUN_NOWAIT);

$w = new EvTimer(10, 0, function() {});
echo "Running a blocking loop\n";
Ev::run();
echo "END\n";
?>

El resultado del ejemplo sería algo similar a:

2 seconds elapsed
is called every second, is launched after 2 seconds
iteration = 1
is called every second, is launched after 2 seconds
iteration = 2
is called every second, is launched after 2 seconds
iteration = 3
is called every second, is launched after 2 seconds
iteration = 4
is called every second, is launched after 2 seconds
iteration = 5
Run single iteration
Callback of a timer created as stopped
Restart the second watcher and try to handle the same events, but don't block
Running a blocking loop
is called every second, is launched after 2 seconds
iteration = 8
is called every second, is launched after 2 seconds
iteration = 9
is called every second, is launched after 2 seconds
iteration = 10
END

Ejemplo #2 Periodic timer. Tick each 10.5 seconds

<?php
$w = new EvPeriodic(0., 10.5, NULL, function ($w, $revents) {
    echo time(), PHP_EOL;
});

Ev::run();
?>

Ejemplo #3 Periodic timer. Use reschedule callback

<?php
// Tick each 10.5 seconds

function reschedule_cb ($watcher, $now) {
    return $now + (10.5. - fmod($now, 10.5));
}

$w = new EvPeriodic(0., 0., "reschedule_cb", function ($w, $revents) {
    echo time(), PHP_EOL;
});

Ev::run();
?>

Ejemplo #4 Periodic timer. Tick every 10.5 seconds starting at now

<?php
// Tick every 10.5 seconds starting at now
$w = new EvPeriodic(fmod(Ev::now(), 10.5), 10.5, NULL, function ($w, $revents) {
    echo time(), PHP_EOL;
});

Ev::run();
?>

Ejemplo #5 Wait until STDIN is readable

<?php
// Wait until STDIN is readable
$w = new EvIo(STDIN, Ev::READ, function ($watcher, $revents) {
    echo "STDIN is readable\n";
});

Ev::run(Ev::RUN_ONCE);
?>

Ejemplo #6 Use some async I/O to access a socket

<?php
/* Use some async I/O to access a socket */

// `sockets' extension still logs warnings
// for EINPROGRESS, EAGAIN/EWOULDBLOCK etc.
error_reporting(E_ERROR);

$e_nonblocking = array (/*EAGAIN or EWOULDBLOCK*/11, /*EINPROGRESS*/115);

// Get the port for the WWW service
$service_port = getservbyname('www', 'tcp');

// Get the IP address for the target host
$address = gethostbyname('google.co.uk');

// Create a TCP/IP socket
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === FALSE) {
    echo "socket_create() failed: reason: "
        .socket_strerror(socket_last_error()) . "\n";
}

// Set O_NONBLOCK flag
socket_set_nonblock($socket);

// Abort on timeout
$timeout_watcher = new EvTimer(10.0, 0., function () use ($socket) {
    socket_close($socket);
    Ev::stop(Ev::BREAK_ALL);
});

// Make HEAD request when the socket is writable
$write_watcher = new EvIo($socket, Ev::WRITE, function ($w)
    use ($socket, $timeout_watcher, $e_nonblocking)
{
    // Stop timeout watcher
    $timeout_watcher->stop();
    // Stop write watcher
    $w->stop();

    $in = "HEAD / HTTP/1.1\r\n";
    $in .= "Host: google.co.uk\r\n";
    $in .= "Connection: Close\r\n\r\n";

    if (!socket_write($socket, $in, strlen($in))) {
        trigger_error("Failed writing $in to socket", E_USER_ERROR);
    }

    $read_watcher = new EvIo($socket, Ev::READ, function ($w, $re)
        use ($socket, $e_nonblocking)
    {
        // Socket is readable. recv() 20 bytes using non-blocking mode
        $ret = socket_recv($socket, $out, 20, MSG_DONTWAIT);

        if ($ret) {
            echo $out;
        } elseif ($ret === 0) {
            // All read
            $w->stop();
            socket_close($socket);
            return;
        }

        // Caught EINPROGRESS, EAGAIN, or EWOULDBLOCK
        if (in_array(socket_last_error(), $e_nonblocking)) {
            return;
        }

        $w->stop();
        socket_close($socket);
    });

    Ev::run();
});

$result = socket_connect($socket, $address, $service_port);

Ev::run();
?>

El resultado del ejemplo sería algo similar a:

HTTP/1.1 301 Moved Permanently
Location: http://www.google.co.uk/
Content-Type: text/html; charset=UTF-8
Date: Sun, 23 Dec 2012 16:08:27 GMT
Expires: Tue, 22 Jan 2013 16:08:27 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 221
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Connection: close

Ejemplo #7 Embedding one loop into another

<?php
/*
* Try to get an embeddable event loop and embed it into the default event loop.
* If it is impossible, use the default
* loop. The default loop is stored in $loop_hi, while the embeddable loop is
* stored in $loop_lo(which is $loop_hi in the case no embeddable loop can be
* used).
*
* Sample translated to PHP
* http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
*/
$loop_hi = EvLoop::defaultLoop();
$loop_lo = NULL;
$embed   = NULL;

/*
* See if there is a chance of getting one that works
* (flags' value of 0 means autodetection)
*/
$loop_lo = Ev::embeddableBackends() & Ev::recommendedBackends()
    ? new EvLoop(Ev::embeddableBackends() & Ev::recommendedBackends())
    : 0;

if ($loop_lo) {
    $embed = new EvEmbed($loop_lo, function () {});
} else {
    $loop_lo = $loop_hi;
}
?>

Ejemplo #8 Embedding loop created with kqueue backend into the default loop

<?php
/*
* Check if kqueue is available but not recommended and create a kqueue backend
* for use with sockets (which usually work with any kqueue implementation).
* Store the kqueue/socket-only event loop in loop_socket. (One might optionally
* use EVFLAG_NOENV, too)
*
* Example borrowed from
* http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
*/
$loop        = EvLoop::defaultLoop();
$socket_loop = NULL;
$embed       = NULL;

if (Ev::supportedBackends() & ~Ev::recommendedBackends() & Ev::BACKEND_KQUEUE) {
    if (($socket_loop = new EvLoop(Ev::BACKEND_KQUEUE))) {
        $embed = new EvEmbed($loop);
    }
}

if (!$socket_loop) {
    $socket_loop = $loop;
}

// Now use $socket_loop for all sockets, and $loop for anything else
?>

Ejemplo #9 Handle SIGTERM signal

<?php
$w = new EvSignal(SIGTERM, function ($watcher) {
    echo "SIGTERM received\n";
    $watcher->stop();
});

Ev::run();
?>

Ejemplo #10 Monitor changes of /var/log/messages

<?php
// Use 10 second update interval.
$w = new EvStat("/var/log/messages", 8, function ($w) {
    echo "/var/log/messages changed\n";

    $attr = $w->attr();

    if ($attr['nlink']) {
        printf("Current size: %ld\n", $attr['size']);
        printf("Current atime: %ld\n", $attr['atime']);
        printf("Current mtime: %ld\n", $attr['mtime']);
    } else {
        fprintf(STDERR, "`messages` file is not there!");
        $w->stop();
    }
});

Ev::run();
?>

Ejemplo #11 Monotor changes of /var/log/messages. Avoid missing updates by means of one second delay

<?php
$timer = EvTimer::createStopped(0., 1.02, function ($w) {
    $w->stop();

    $stat = $w->data;

    // 1 second after the most recent change of the file
    printf("Current size: %ld\n", $stat->attr()['size']);
});

$stat = new EvStat("/var/log/messages", 0., function () use ($timer) {
    // Reset timer watcher
    $timer->again();
});

$timer->data = $stat;

Ev::run();
?>

Ejemplo #12 Process status changes

<?php
$pid = pcntl_fork();

if ($pid == -1) {
    fprintf(STDERR, "pcntl_fork failed\n");
} elseif ($pid) {
    $w = new EvChild($pid, FALSE, function ($w, $revents) {
        $w->stop();

        printf("Process %d exited with status %d\n", $w->rpid, $w->rstatus);
    });

    Ev::run();

    // Protect against Zombies
    pcntl_wait($status);
} else {
    //Forked child
    exit(2);
}
?>
Constantes predefinidas
Watchers
Ev


Watchers

A watcher is an object that gets created to record interest in some event. For instance, the following code waits for STDIN to become readable:

<?php
// Wait until STDIN is readable
$w = new EvIo(STDIN, Ev::READ, function ($watcher, $revents) {
 echo "STDIN is readable\n";
});
Ev::run(Ev::RUN_ONCE);
?>

All the watcher constructors automatically start the watchers. createStopped methods create stopped watchers(e.g. EvIo::createStopped() )

Note that a watcher will automatically be stopped when the watcher object is destroyed. Therefore, the watcher objects returned by the constructors or factory methods should be kept.

Note also that all methods changing some watcher property( set , priority etc.) automatically stop and start it again if it is active, which means pending events get lost.

See also: Watcher callbacks .

Ejemplos
Watcher callbacks
Ev


Watcher callbacks

All watchers can be active(waiting for events) or inactive(paused). Only active watchers will have their callbacks invoked. All callbacks will be called with at least two arguments: watcher - the watcher, and revents a bitmask of received events.

Watcher callbacks are passed to the watcher contructors(the classes derived from EvWatcher - EvCheck::__construct() , EvChild::__construct() etc.). A watcher callback should match the following prototype:

void callback ([ object $watcher = NULL [, int $revents = NULL ]] )

watcher

The watcher instance(of a class extending EvWatcher ).

revents

Watcher received events .

Each watcher type has its associated bit in revents , so one can use the same callback for multiple watchers. The event mask is named after the type, i.e. EvChild (or EvLoop::child() ) sets EV::CHILD , EvPrepare (or EvLoop::prepare() ) sets Ev::PREPARE , EvPeriodic (or EvLoop::periodic() ) sets Ev::PERIODIC and so on, with the exception of I/O events (which can set both Ev::READ and Ev::WRITE bits).

Watchers
Periodic watcher operation modes
Ev


Periodic watcher operation modes

EvPeriodic watcher works in different modes depending on the offset , interval and reschedule_cb parameters.

  1. Absolute timer . In this mode interval = 0 , reschedule_cb = NULL. This time simply fires at the wallclock time offset and doesn't repeat. It will not adjust when a time jump occurs, that is, if it is to be run at January 1st 2014 then it will run when the system time reaches or surpasses this time.

  2. Repeating interval timer . In this mode interval > 0 , reschedule_cb = NULL; the watcher will always be scheduled to timeout at the next offset + N * interval time(for some integer N ) and then repeat, regardless of any time jumps.

    This can be used to create timers that do not drift with respect to system time:

    <?php
    $hourly     = EvPeriodic(0, 3600, NULL, function () {
      echo     "once per hour\n";
    };
    ?>
    That doesn't mean there will always be 3600 seconds in between triggers, but only that the the callback will be called when the system time shows a full hour( UTC ).

    EvPeriodic will try to run the callback in this mode at the next possible time where time = offset ( mod interval ), regardless of any time jumps.

  3. Manual reschedule mode . In this mode reschedule_cb is a callable .

    interval and offset are both being ignored. Instead, each time the periodic watcher gets scheduled, the reschedule callback ( reschedule_cb ) will be called with the watcher as first, and the current time as second argument.

    This callback must not stop or destroy this or any other periodic watchers, ever, and must not call any event loop functions or methods. To stop it return 1e30 and stop it afterwards. An EvPrepare watcher may be used for this task.

    It must return the next time to trigger, based on the passed time value (that is, the lowest time value larger than or equal to to the second argument). It will usually be called just before the callback will be triggered, but might be called at other times, too.

    Ejemplo #1 Using reschedule callback

    <?php
    // Tick each 10.5 seconds

    function reschedule_cb ($watcher, $now) {
       return     $now + (10.5. - fmod($now, 10.5));
    }

    $w = new EvPeriodic(0., 0., "reschedule_cb", function ($w, $revents) {
       echo     time(), PHP_EOL;
    });

    Ev::run();
    ?>
Watcher callbacks
Ev
Ev


The Ev class

(PECL ev >= 0.2.0)

Introducción

Ev is a singleton providing access to the default loop and to some common operations.

Sinopsis de la Clase

final Ev {
/* Constants */
const integer FLAG_AUTO = 0 ;
const integer FLAG_NOENV = 16777216 ;
const integer FLAG_FORKCHECK = 33554432 ;
const integer FLAG_NOINOTIFY = 1048576 ;
const integer FLAG_SIGNALFD = 2097152 ;
const integer FLAG_NOSIGMASK = 4194304 ;
const integer RUN_NOWAIT = 1 ;
const integer RUN_ONCE = 2 ;
const integer BREAK_CANCEL = 0 ;
const integer BREAK_ONE = 1 ;
const integer BREAK_ALL = 2 ;
const integer MINPRI = -2 ;
const integer MAXPRI = 2 ;
const integer READ = 1 ;
const integer WRITE = 2 ;
const integer TIMER = 256 ;
const integer PERIODIC = 512 ;
const integer SIGNAL = 1024 ;
const integer CHILD = 2048 ;
const integer STAT = 4096 ;
const integer IDLE = 8192 ;
const integer PREPARE = 16384 ;
const integer CHECK = 32768 ;
const integer EMBED = 65536 ;
const integer CUSTOM = 16777216 ;
const integer ERROR = 2147483648 ;
const integer BACKEND_SELECT = 1 ;
const integer BACKEND_POLL = 2 ;
const integer BACKEND_EPOLL = 4 ;
const integer BACKEND_KQUEUE = 8 ;
const integer BACKEND_DEVPOLL = 16 ;
const integer BACKEND_PORT = 32 ;
const integer BACKEND_ALL = 63 ;
const integer BACKEND_MASK = 65535 ;
/* Métodos */
final public static int backend ( void )
final public static int depth ( void )
final public static void embeddableBackends ( void )
final public static void feedSignal ( int $signum )
final public static void feedSignalEvent ( int $signum )
final public static int iteration ( void )
final public static double now ( void )
final public static void nowUpdate ( void )
final public static void recommendedBackends ( void )
final public static void resume ( void )
final public static void run ([ int $flags ] )
final public static void sleep ( double $seconds )
final public static void stop ([ int $how ] )
final public static void supportedBackends ( void )
final public static void suspend ( void )
final public static double time ( void )
final public static void verify ( void )
}

Constantes predefinidas

Flags passed to create a loop:

Ev::FLAG_AUTO

The default flags value

Ev::FLAG_NOENV

If this flag used(or the program runs setuid or setgid), libev won't look at the environment variable LIBEV_FLAGS . Otherwise(by default), LIBEV_FLAGS will override the flags completely if it is found. Useful for performance tests and searching for bugs.

Ev::FLAG_FORKCHECK

Makes libev check for a fork in each iteration, instead of calling EvLoop::fork() manually. This works by calling getpid() on every iteration of the loop, and thus this might slow down the event loop with lots of loop iterations, but usually is not noticeable. This flag setting cannot be overridden or specified in the LIBEV_FLAGS environment variable.

Ev::FLAG_NOINOTIFY

When this flag is specified, libev won't attempt to use the inotify API for its » ev_stat watchers. The flag can be useful to conserve inotify file descriptors, as otherwise each loop using ev_stat watchers consumes one inotify handle.

Ev::FLAG_SIGNALFD

When this flag is specified, libev will attempt to use the signalfd API for its » ev_signal (and » ev_child ) watchers. This API delivers signals synchronously, which makes it both faster and might make it possible to get the queued signal data. It can also simplify signal handling with threads, as long as signals are properly blocked in threads. Signalfd will not be used by default.

Ev::FLAG_NOSIGMASK

When this flag is specified, libev will avoid to modify the signal mask. Specifically, this means having to make sure signals are unblocked before receiving them.

This behaviour is useful for custom signal handling, or handling signals only in specific threads.

Flags passed to Ev::run() , or EvLoop::run()

Ev::RUN_NOWAIT

Means that event loop will look for new events, will handle those events and any already outstanding ones, but will not wait and block the process in case there are no events and will return after one iteration of the loop. This is sometimes useful to poll and handle new events while doing lengthy calculations, to keep the program responsive.

Ev::RUN_ONCE

Means that event loop will look for new events (waiting if necessary) and will handle those and any already outstanding ones. It will block the process until at least one new event arrives (which could be an event internal to libev itself, so there is no guarantee that a user-registered callback will be called), and will return after one iteration of the loop.

Flags passed to Ev::stop() , or EvLoop::stop()

Ev::BREAK_CANCEL

Cancel the break operation.

Ev::BREAK_ONE

Makes the innermost Ev::run() (or EvLoop::run() ) call return.

Ev::BREAK_ALL

Makes all nested Ev::run() (or EvLoop::run() ) calls return.

Watcher priorities:

Ev::MINPRI

Minimum allowed watcher priority.

Ev::MAXPRI

Maximum allowed watcher priority.

Bit masks of (received) events:

Ev::READ

The file descriptor in the EvIo watcher has become readable.

Ev::WRITE

The file descriptor in the EvIo watcher has become writable.

Ev::TIMER

EvTimer watcher has been timed out.

Ev::PERIODIC

EvPeriodic watcher has been timed out.

Ev::SIGNAL

A signal specified in EvSignal::__construct() has been received.

Ev::CHILD

The pid specified in EvChild::__construct() has received a status change.

Ev::STAT

The path specified in EvStat watcher changed its attributes.

Ev::IDLE

EvIdle watcher works when there is nothing to do with other watchers.

Ev::PREPARE

All EvPrepare watchers are invoked just before Ev::run() starts. Thus, EvPrepare watchers are the last watchers invoked before the event loop sleeps or polls for new events.

Ev::CHECK

All EvCheck watchers are queued just after Ev::run() has gathered the new events, but before it queues any callbacks for any received events. Thus, EvCheck watchers will be invoked before any other watchers of the same or lower priority within an event loop iteration.

Ev::EMBED

The embedded event loop specified in the EvEmbed watcher needs attention.

Ev::CUSTOM

Not ever sent(or otherwise used) by libev itself, but can be freely used by libev users to signal watchers (e.g. via EvWatcher::feed() ).

Ev::ERROR

An unspecified error has occurred, the watcher has been stopped. This might happen because the watcher could not be properly started because libev ran out of memory, a file descriptor was found to be closed or any other problem. Libev considers these application bugs. See also » ANATOMY OF A WATCHER

Backend flags:

Ev::BACKEND_SELECT

select(2) backend

Ev::BACKEND_POLL

poll(2) backend

Ev::BACKEND_EPOLL

Linux-specific epoll(7) backend for both pre- and post-2.6.9 kernels

Ev::BACKEND_KQUEUE

kqueue backend used on most BSD systems. EvEmbed watcher could be used to embed one loop(with kqueue backend) into another. For instance, one can try to create an event loop with kqueue backend and use it for sockets only.

Ev::BACKEND_DEVPOLL

Solaris 8 backend. This is not implemented yet.

Ev::BACKEND_PORT

Solaris 10 event port mechanism with a good scaling.

Ev::BACKEND_ALL

Try all backends(even currupted ones). It's not recommended to use it explicitly. Bitwise operators should be applied here(e.g. Ev::BACKEND_ALL & ~ Ev::BACKEND_KQUEUE ) Use Ev::recommendedBackends() , or don't specify any backends at all.

Ev::BACKEND_MASK

Not a backend, but a mask to select all backend bits from flags value to mask out any backends(e.g. when modifying the LIBEV_FLAGS environment variable).

Nota:

For the default loop during module initialization phase Ev registers » ev_loop_fork call by means of pthread_atfork (if available).

Nota:

There are methods providing access to the default event loop in Ev class(e.g. Ev::iteration() , Ev::depth() etc.) For custom loops (created with EvLoop::__construct() ) these values may be accessed via corresponding properties and methods of the EvLoop class.

The instance of the default event loop itself can be fetched by means of EvLoop::defaultLoop() method.

Tabla de contenidos

  • Ev::backend — Devuelve un entero que describe el back-end utilizado por libev
  • Ev::depth — Devuelve la profundidad de la recursividad
  • Ev::embeddableBackends — Returns the set of backends that are embeddable in other event loops.
  • Ev::feedSignal — Feed a signal event info Ev
  • Ev::feedSignalEvent — Feed signal event into the default loop
  • Ev::iteration — Return the number of times the default event loop has polled for new events.
  • Ev::now — Returns the time when the last iteration of the default event loop has started.
  • Ev::nowUpdate — Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress.
  • Ev::recommendedBackends — Returns a bit mask of recommended backends for current platform.
  • Ev::resume — Resume previously suspended default event loop
  • Ev::run — Begin checking for events and calling callbacks for the default loop
  • Ev::sleep — Block the process for the given number of seconds.
  • Ev::stop — Stops the default event loop
  • Ev::supportedBackends — Returns the set of backends supported by current libev configuration.
  • Ev::suspend — Suspend the default event loop
  • Ev::time — Returns the current time in fractional seconds since the epoch.
  • Ev::verify — Performs internal consistency checks(for debugging)
Periodic watcher operation modes
Ev::backend
Ev


Devuelve un entero que describe el back-end utilizado por libev

Ev
Ev::depth
Ev
PHP Manual

Ev::backend

(PECL ev >= 0.2.0)

Ev::backend — Devuelve un entero que describe el back-end utilizado por libev

Descripción

final public static int Ev::backend ( void )

Devuelve un entero que describe el back-end utilizado por libev . Véase Backend flags

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un entero (máscara de bits) que describe el back-end utilizado por libev .

Ver también

  • EvEmbed
  • Ev::embeddableBackends() - Returns the set of backends that are embeddable in other event loops.
  • Ev::recommendedBackends() - Returns a bit mask of recommended backends for current platform.
  • Ev::supportedBackends() - Returns the set of backends supported by current libev configuration.
  • Backend flags
Ev
Ev::depth
Ev


Devuelve la profundidad de la recursividad

Ev::backend
Ev::embeddableBackends
Ev
PHP Manual

Ev::depth

(PECL ev >= 0.2.0)

Ev::depth — Devuelve la profundidad de la recursividad

Descripción

final public static int Ev::depth ( void )

El número de veces Ev::run() se ha introducido menos el número de veces Ev::run() fue terminada normalmente, en otras palabras, el nivel de recursividad. fuera de Ev::run() , este número es 0 . En una llamada de retorno, este número es 1 , a menos que Ev::run() fue invocado recursivamente (o desde otro subproceso), en cuyo caso es mayor.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

ev_depth() Devuelve la profundidad de la recursividad del bucle por defecto.

Ver también

  • Ev::iteration() - Return the number of times the default event loop has polled for new events.
Ev::backend
Ev::embeddableBackends
Ev


Returns the set of backends that are embeddable in other event loops.

Ev::depth
Ev::feedSignal
Ev
PHP Manual

Ev::embeddableBackends

(PECL ev >= 0.2.0)

Ev::embeddableBackends — Returns the set of backends that are embeddable in other event loops.

Descripción

final public static void Ev::embeddableBackends ( void )

Returns the set of backends that are embeddable in other event loops.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns a bit mask which can containing backend flags combined using bitwise OR operator.

Ejemplos

Ejemplo #1 Embedding loop created with kqueue backend into the default loop

<?php
/*
* Check if kqueue is available but not recommended and create a kqueue backend
* for use with sockets (which usually work with any kqueue implementation).
* Store the kqueue/socket-only event loop in loop_socket. (One might optionally
* use EVFLAG_NOENV, too)
*
* Example borrowed from
* http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
*/
$loop        = EvLoop::defaultLoop();
$socket_loop = NULL;
$embed       = NULL;

if (Ev::supportedBackends() & ~Ev::recommendedBackends() & Ev::BACKEND_KQUEUE) {
 if (($socket_loop = new EvLoop(Ev::BACKEND_KQUEUE))) {
  $embed = new EvEmbed($loop);
 }
}

if (!$socket_loop) {
 $socket_loop = $loop;
}

// Now use $socket_loop for all sockets, and $loop for anything else
?>

Ver también

  • EvEmbed
  • Ev::recommendedBackends() - Returns a bit mask of recommended backends for current platform.
  • Ev::supportedBackends() - Returns the set of backends supported by current libev configuration.
  • Backend flags
  • Examples
Ev::depth
Ev::feedSignal
Ev


Feed a signal event info Ev

Ev::embeddableBackends
Ev::feedSignalEvent
Ev
PHP Manual

Ev::feedSignal

(PECL ev >= 0.2.0)

Ev::feedSignal — Feed a signal event info Ev

Descripción

final public static void Ev::feedSignal ( int $signum )

Simulates a signal receive. It is safe to call this function at any time, from any context, including signal handlers or random threads. Its main use is to customise signal handling in the process.

Unlike Ev::feedSignalEvent() , this works regardless of which loop has registered the signal.

Parámetros

signum

Signal number. See signal(7) man page for detals. You can use constants exported by pcntl extension.

Valores devueltos

No devuelve ningún valor.

Ver también

  • Ev::feedSignalEvent() - Feed signal event into the default loop
Ev::embeddableBackends
Ev::feedSignalEvent
Ev


Feed signal event into the default loop

Ev::feedSignal
Ev::iteration
Ev
PHP Manual

Ev::feedSignalEvent

(No hay información de versión disponible, podría estar únicamente en SVN)

Ev::feedSignalEvent — Feed signal event into the default loop

Descripción

final public static void Ev::feedSignalEvent ( int $signum )

Feed signal event into the default loop. Ev will react to this call as if the signal specified by signal had occurred.

Parámetros

signum

Signal number. See signal(7) man page for detals. See also constants exported by pcntl extension.

Valores devueltos

No devuelve ningún valor.

Ver también

  • Ev::feedSignal() - Feed a signal event info Ev
Ev::feedSignal
Ev::iteration
Ev


Return the number of times the default event loop has polled for new events.

Ev::feedSignalEvent
Ev::now
Ev
PHP Manual

Ev::iteration

(PECL ev >= 0.2.0)

Ev::iteration — Return the number of times the default event loop has polled for new events.

Descripción

final public static int Ev::iteration ( void )

Return the number of times the event loop has polled for new events. Sometimes useful as a generation counter.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns number of polls of the default event loop.

Ver también

  • Ev::depth() - Devuelve la profundidad de la recursividad
Ev::feedSignalEvent
Ev::now
Ev


Returns the time when the last iteration of the default event loop has started.

Ev::iteration
Ev::nowUpdate
Ev
PHP Manual

Ev::now

(PECL ev >= 0.2.0)

Ev::now — Returns the time when the last iteration of the default event loop has started.

Descripción

final public static double Ev::now ( void )

Returns the time when the last iteration of the default event loop has started. This is the time that timers( EvTimer and EvPeriodic ) are based on, and referring to it is usually faster then calling Ev::time() .

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns number of seconds(fractional) representing the time when the last iteration of the default event loop has started.

Ver también

  • Ev::nowUpdate() - Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress.
Ev::iteration
Ev::nowUpdate
Ev


Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress.

Ev::now
Ev::recommendedBackends
Ev
PHP Manual

Ev::nowUpdate

(PECL ev >= 0.2.0)

Ev::nowUpdate — Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress.

Descripción

final public static void Ev::nowUpdate ( void )

Establishes the current time by querying the kernel, updating the time returned by Ev::now() in the progress. This is a costly operation and is usually done automatically within Ev::run() .

This method is rarely useful, but when some event callback runs for a very long time without entering the event loop, updating libev 's consideration of the current time is a good idea.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • Ev::now() - Returns the time when the last iteration of the default event loop has started.
Ev::now
Ev::recommendedBackends
Ev


Returns a bit mask of recommended backends for current platform.

Ev::nowUpdate
Ev::resume
Ev
PHP Manual

Ev::recommendedBackends

(PECL ev >= 0.2.0)

Ev::recommendedBackends — Returns a bit mask of recommended backends for current platform.

Descripción

final public static void Ev::recommendedBackends ( void )

Returns the set of all backends compiled into this binary of libev and also recommended for this platform, meaning it will work for most file descriptor types. This set is often smaller than the one returned by ev_supported_backends() , as for example kqueue is broken on most BSD systems and will not be auto-detected unless it is requested explicitly. This is the set of backends that libev will probe no backends specified explicitly.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns a bit mask which can containing backend flags combined using bitwise OR operator.

Ejemplos

Ejemplo #1 Embedding one loop into another

<?php
/*
* Try to get an embeddable event loop and embed it into the default event loop.
* If it is impossible, use the default
* loop. The default loop is stored in $loop_hi, while the embeddable loop is
* stored in $loop_lo(which is $loop_hi in the case no embeddable loop can be
* used).
*
* Sample translated to PHP
* http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
*/
$loop_hi = EvLoop::defaultLoop();
$loop_lo = NULL;
$embed   = NULL;

/*
* See if there is a chance of getting one that works
* (flags' value of 0 means autodetection)
*/
$loop_lo = Ev::embeddableBackends() & Ev::recommendedBackends()
 ? new EvLoop(Ev::embeddableBackends() & Ev::recommendedBackends())
 : 0;

if ($loop_lo) {
 $embed = new EvEmbed($loop_lo, function () {});
} else {
 $loop_lo = $loop_hi;
}
?>

Ver también

  • EvEmbed
  • Ev::embeddableBackends() - Returns the set of backends that are embeddable in other event loops.
  • Ev::supportedBackends() - Returns the set of backends supported by current libev configuration.
  • Backend flags
  • Examples
Ev::nowUpdate
Ev::resume
Ev


Resume previously suspended default event loop

Ev::recommendedBackends
Ev::run
Ev
PHP Manual

Ev::resume

(PECL ev >= 0.2.0)

Ev::resume — Resume previously suspended default event loop

Descripción

final public static void Ev::resume ( void )

Ev::suspend() and Ev::resume() methods suspend and resume a loop correspondingly.

All timer watchers will be delayed by the time spend between suspend and resume , and all periodic watchers will be rescheduled(that is, they will lose any events that would have occurred while suspended).

After calling Ev::suspend() it is not allowed to call any function on the given loop other than Ev::resume() . Also it is not allowed to call Ev::resume() without a previous call to Ev::suspend() .

Calling suspend / resume has the side effect of updating the event loop time(see Ev::nowUpdate() ).

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • Ev::suspend() - Suspend the default event loop
Ev::recommendedBackends
Ev::run
Ev


Begin checking for events and calling callbacks for the default loop

Ev::resume
Ev::sleep
Ev
PHP Manual

Ev::run

(PECL ev >= 0.2.0)

Ev::run — Begin checking for events and calling callbacks for the default loop

Descripción

final public static void Ev::run ([ int $flags ] )

Begin checking for events and calling callbacks for the default loop . Returns when a callback calls Ev::stop() method, or the flags are nonzero(in which case the return value is true) or when there are no active watchers which reference the loop( EvWatcher::keepalive() is TRUE), in which case the return value will be FALSE. The return value can generally be interpreted as if TRUE, there is more work left to do .

Parámetros

flags

Optional parameter flags can be one of the following:

List for possible values of flags
flags | Description
0 | The default behavior described above
Ev::RUN_ONCE | Block at most one(wait, but don't loop)
Ev::RUN_NOWAIT | Don't block at all(fetch/handle events, but don't wait)

See the run flag constants .

Valores devueltos

No devuelve ningún valor.

Ver también

  • Ev::stop() - Stops the default event loop
  • EvLoop::run() - Begin checking for events and calling callbacks for the loop
Ev::resume
Ev::sleep
Ev


Block the process for the given number of seconds.

Ev::run
Ev::stop
Ev
PHP Manual

Ev::sleep

(PECL ev >= 0.2.0)

Ev::sleep — Block the process for the given number of seconds.

Descripción

final public static void Ev::sleep ( double $seconds )

Block the process for the given number of seconds.

Parámetros

seconds

Fractional number of seconds

Valores devueltos

No devuelve ningún valor.

Ev::run
Ev::stop
Ev


Stops the default event loop

Ev::sleep
Ev::supportedBackends
Ev
PHP Manual

Ev::stop

(PECL ev >= 0.2.0)

Ev::stop — Stops the default event loop

Descripción

final public static void Ev::stop ([ int $how ] )

Stops the default event loop

Parámetros

how

One of Ev::BREAK_* constants .

Valores devueltos

No devuelve ningún valor.

Ver también

  • Ev::run() - Begin checking for events and calling callbacks for the default loop
Ev::sleep
Ev::supportedBackends
Ev


Returns the set of backends supported by current libev configuration.

Ev::stop
Ev::suspend
Ev
PHP Manual

Ev::supportedBackends

(PECL ev >= 0.2.0)

Ev::supportedBackends — Returns the set of backends supported by current libev configuration.

Descripción

final public static void Ev::supportedBackends ( void )

Returns the set of backends supported by current libev configuration.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns a bit mask which can containing backend flags combined using bitwise OR operator.

Ejemplos

Ejemplo #1 Embedding loop created with kqueue backend into the default loop

<?php
/*
* Check if kqueue is available but not recommended and create a kqueue backend
* for use with sockets (which usually work with any kqueue implementation).
* Store the kqueue/socket-only event loop in loop_socket. (One might optionally
* use EVFLAG_NOENV, too)
*
* Example borrowed from
* http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
*/
$loop        = EvLoop::defaultLoop();
$socket_loop = NULL;
$embed       = NULL;

if (Ev::supportedBackends() & ~Ev::recommendedBackends() & Ev::BACKEND_KQUEUE) {
 if (($socket_loop = new EvLoop(Ev::BACKEND_KQUEUE))) {
  $embed = new EvEmbed($loop);
 }
}

if (!$socket_loop) {
 $socket_loop = $loop;
}

// Now use $socket_loop for all sockets, and $loop for anything else
?>

Ver también

  • EvEmbed
  • Ev::recommendedBackends() - Returns a bit mask of recommended backends for current platform.
  • Ev::embeddableBackends() - Returns the set of backends that are embeddable in other event loops.
  • Backend flags
  • Examples
Ev::stop
Ev::suspend
Ev


Suspend the default event loop

Ev::supportedBackends
Ev::time
Ev
PHP Manual

Ev::suspend

(PECL ev >= 0.2.0)

Ev::suspend — Suspend the default event loop

Descripción

final public static void Ev::suspend ( void )

Ev::suspend() and Ev::resume() methods suspend and resume the default loop correspondingly.

All timer watchers will be delayed by the time spend between suspend and resume , and all periodic watchers will be rescheduled(that is, they will lose any events that would have occurred while suspended).

After calling Ev::suspend() it is not allowed to call any function on the given loop other than Ev::resume() . Also it is not allowed to call Ev::resume() without a previous call to Ev::suspend() .

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • Ev::resume() - Resume previously suspended default event loop
Ev::supportedBackends
Ev::time
Ev


Returns the current time in fractional seconds since the epoch.

Ev::suspend
Ev::verify
Ev
PHP Manual

Ev::time

(PECL ev >= 0.2.0)

Ev::time — Returns the current time in fractional seconds since the epoch.

Descripción

final public static double Ev::time ( void )

Returns the current time in fractional seconds since the epoch. Consider using Ev::now()

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns the current time in fractional seconds since the epoch.

Ver también

  • Ev::now() - Returns the time when the last iteration of the default event loop has started.
Ev::suspend
Ev::verify
Ev


Performs internal consistency checks(for debugging)

Ev::time
EvCheck
Ev
PHP Manual

Ev::verify

(PECL ev >= 0.2.0)

Ev::verify — Performs internal consistency checks(for debugging)

Descripción

final public static void Ev::verify ( void )

Performs internal consistency checks(for debugging libev ) and abort the program if any data structures were found to be corrupted.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ev::time
EvCheck
Ev


The EvCheck class

(PECL ev >= 0.2.0)

Introducción

EvPrepare and EvCheck watchers are usually used in pairs. EvPrepare watchers get invoked before the process blocks, EvCheck afterwards.

It is not allowed to call EvLoop::run() or similar methods or functions that enter the current event loop from either EvPrepare or EvCheck watchers. Other loops than the current one are fine, however. The rationale behind this is that one don't need to check for recursion in those watchers, i.e. the sequence will always be: EvPrepare -> blocking -> EvCheck , so having a watcher of each kind they will always be called in pairs bracketing the blocking call.

The main purpose is to integrate other event mechanisms into libev and their use is somewhat advanced. They could be used, for example, to track variable changes, implement custom watchers, integrate net-snmp or a coroutine library and lots more. They are also occasionally useful to cache some data and want to flush it before blocking.

It is recommended to give EvCheck watchers highest( Ev::MAXPRI ) priority, to ensure that they are being run before any other watchers after the poll (this doesn’t matter for EvPrepare watchers).

Also, EvCheck watchers should not activate/feed events. While libev fully supports this, they might get executed before other EvCheck watchers did their job.

Sinopsis de la Clase

EvCheck extends EvWatcher {
/* Propiedades heredadas */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Métodos */
public __construct ( callable $callback [, mixed $data [, int $priority ]] )
final public static object createStopped ( string $callback [, string $data [, string $priority ]] )
/* Métodos heredados */
public int EvWatcher::clear ( void )
abstract public EvWatcher::__construct ( void )
public void EvWatcher::feed ( int $revents )
public EvLoop EvWatcher::getLoop ( void )
public void EvWatcher::invoke ( int $revents )
public bool EvWatcher::keepalive ([ bool $value ] )
public void EvWatcher::setCallback ( callable $callback )
public void EvWatcher::start ( void )
public void EvWatcher::stop ( void )
}

Tabla de contenidos

  • EvCheck::__construct — Constructs the EvCheck watcher object
  • EvCheck::createStopped — Create instance of a stopped EvCheck watcher
Ev::verify
EvCheck::__construct
Ev


Constructs the EvCheck watcher object

EvCheck
EvCheck::createStopped
EvCheck
PHP Manual

EvCheck::__construct

(PECL ev >= 0.2.0)

EvCheck::__construct — Constructs the EvCheck watcher object

Descripción

public EvCheck::__construct ( callable $callback [, mixed $data [, int $priority ]] )

Constructs the EvCheck watcher object.

Parámetros

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valores devueltos

Returns EvCheck object on success.

Ver también

  • EvPrepare
  • EvLoop::check() - Creates EvCheck object associated with the current event loop instance
EvCheck
EvCheck::createStopped
EvCheck


Create instance of a stopped EvCheck watcher

EvCheck::__construct
EvChild
EvCheck
PHP Manual

EvCheck::createStopped

(PECL ev >= 0.2.0)

EvCheck::createStopped — Create instance of a stopped EvCheck watcher

Descripción

final public static object EvCheck::createStopped ( string $callback [, string $data [, string $priority ]] )

Create instance of a stopped EvCheck watcher

Parámetros

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valores devueltos

Returns EvCheck object on success.

Ver también

  • EvPrepare
EvCheck::__construct
EvChild
EvCheck


The EvChild class

(PECL ev >= 0.2.0)

Introducción

EvChild watchers trigger when the process receives a SIGCHLD in response to some child status changes (most typically when a child dies or exits). It is permissible to install an EvChild watcher after the child has been forked(which implies it might have already exited), as long as the event loop isn't entered(or is continued from a watcher), i.e. forking and then immediately registering a watcher for the child is fine, but forking and registering a watcher a few event loop iterations later or in the next callback invocation is not.

It is allowed to register EvChild watchers in the default loop only.

Sinopsis de la Clase

EvChild extends EvWatcher {
/* Propiedades */
public $pid ;
public $rpid ;
public $rstatus ;
/* Propiedades heredadas */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Métodos */
public __construct ( int $pid , bool $trace , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
final public static object createStopped ( int $pid , bool $trace , callable $callback [, mixed $data [, int $priority ]] )
public void set ( int $pid , bool $trace )
/* Métodos heredados */
public int EvWatcher::clear ( void )
abstract public EvWatcher::__construct ( void )
public void EvWatcher::feed ( int $revents )
public EvLoop EvWatcher::getLoop ( void )
public void EvWatcher::invoke ( int $revents )
public bool EvWatcher::keepalive ([ bool $value ] )
public void EvWatcher::setCallback ( callable $callback )
public void EvWatcher::start ( void )
public void EvWatcher::stop ( void )
}

Propiedades

pid

Readonly . The process ID this watcher watches out for, or 0 , meaning any process ID.

rpid

Readonly .The process ID that detected a status change.

rstatus

Readonly . The process exit status caused by rpid .

Tabla de contenidos

  • EvChild::__construct — Constructs the EvChild watcher object
  • EvChild::createStopped — Create instance of a stopped EvCheck watcher
  • EvChild::set — Configures the watcher
EvCheck::createStopped
EvChild::__construct
Ev


Constructs the EvChild watcher object

EvChild
EvChild::createStopped
EvChild
PHP Manual

EvChild::__construct

(PECL ev >= 0.2.0)

EvChild::__construct — Constructs the EvChild watcher object

Descripción

public EvChild::__construct ( int $pid , bool $trace , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Constructs the EvChild watcher object.

Call the callback when a status change for process ID pid (or any PID if pid is 0 ) has been received(a status change happens when the process terminates or is killed, or, when trace is TRUE, additionally when it is stopped or continued). In other words, when the process receives a SIGCHLD , Ev will fetch the outstanding exit/wait status for all changed/zombie children and call the callback.

It is valid to install a child watcher after an EvChild has exited but before the event loop has started its next iteration. For example, first one calls fork , then the new child process might exit, and only then an EvChild watcher is installed in the parent for the new PID .

You can access both exit/tracing status and pid by using the rstatus and rpid properties of the watcher object.

The number of PID watchers per PID is unlimited. All of them will be called.

The EvChild::createStopped() method doesn't start(activate) the newly created watcher.

Parámetros

pid

Wait for status changes of process PID(or any process if PID is specified as 0 ).

trace

If FALSE, only activate the watcher when the process terminates. Otherwise(TRUE) additionally activate the watcher when the process is stopped or continued.

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valores devueltos

Returns EvChild object on success.

Ver también

  • EvLoop::child() - Creates EvChild object associated with the current event loop
EvChild
EvChild::createStopped
EvChild


Create instance of a stopped EvCheck watcher

EvChild::__construct
EvChild::set
EvChild
PHP Manual

EvChild::createStopped

(PECL ev >= 0.2.0)

EvChild::createStopped — Create instance of a stopped EvCheck watcher

Descripción

final public static object EvChild::createStopped ( int $pid , bool $trace , callable $callback [, mixed $data [, int $priority ]] )

The same as EvChild::__construct() , but doesn't start the watcher automatically.

Parámetros

pid

The same as for EvChild::__construct()

trace

The same as for EvChild::__construct()

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valores devueltos

Ver también

  • EvChild::__construct() - Constructs the EvChild watcher object
  • EvLoop::child() - Creates EvChild object associated with the current event loop
EvChild::__construct
EvChild::set
EvChild


Configures the watcher

EvChild::createStopped
EvEmbed
EvChild
PHP Manual

EvChild::set

(PECL ev >= 0.2.0)

EvChild::set — Configures the watcher

Descripción

public void EvChild::set ( int $pid , bool $trace )

Parámetros

pid

The same as for EvChild::__construct()

trace

The same as for EvChild::__construct()

Valores devueltos

No devuelve ningún valor.

Ver también

  • EvChild::__construct() - Constructs the EvChild watcher object
EvChild::createStopped
EvEmbed
EvChild


The EvEmbed class

(PECL ev >= 0.2.0)

Introducción

Used to embed one event loop into another.

Sinopsis de la Clase

EvEmbed extends EvWatcher {
/* Propiedades */
public $embed ;
/* Métodos */
public __construct ( object $other [, callable $callback [, mixed $data [, int $priority ]]] )
final public static void createStopped ( object $other [, callable $callback [, mixed $data [, int $priority ]]] )
public void set ( object $other )
public void sweep ( void )
/* Métodos heredados */
public int EvWatcher::clear ( void )
abstract public EvWatcher::__construct ( void )
public void EvWatcher::feed ( int $revents )
public EvLoop EvWatcher::getLoop ( void )
public void EvWatcher::invoke ( int $revents )
public bool EvWatcher::keepalive ([ bool $value ] )
public void EvWatcher::setCallback ( callable $callback )
public void EvWatcher::start ( void )
public void EvWatcher::stop ( void )
}

Propiedades

is_active

data

is_pending

priority

embed

Tabla de contenidos

  • EvEmbed::__construct — Constructs the EvEmbed object
  • EvEmbed::createStopped — Create stopped EvEmbed watcher object
  • EvEmbed::set — Configures the watcher
  • EvEmbed::sweep — Make a single, non-blocking sweep over the embedded loop.
EvChild::set
EvEmbed::__construct
Ev


Constructs the EvEmbed object

EvEmbed
EvEmbed::createStopped
EvEmbed
PHP Manual

EvEmbed::__construct

(PECL ev >= 0.2.0)

EvEmbed::__construct — Constructs the EvEmbed object

Descripción

public EvEmbed::__construct ( object $other [, callable $callback [, mixed $data [, int $priority ]]] )

This is a rather advanced watcher type that lets to embed one event loop into another(currently only IO events are supported in the embedded loop, other types of watchers might be handled in a delayed or incorrect fashion and must not be used).

See » the libev documentation for details.

This watcher is most useful on BSD systems without working kqueue to still be able to handle a large number of sockets. See example below.

Parámetros

other

Instance of EvLoop . The loop to embed, this loop must be embeddable(see Ev::embeddableBackends() ).

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valores devueltos

Returns EvEmbed object on success.

Ejemplos

Ejemplo #1 Embedding loop created with kqueue backend into the default loop

<?php
/*
 * Check if kqueue is available but not recommended and create a kqueue backend
 * for use with sockets (which usually work with any kqueue implementation).
 * Store the kqueue/socket-only event loop in loop_socket. (One might optionally
 * use EVFLAG_NOENV, too)
 *
 * Example borrowed from
 * http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
 */
$loop        = EvLoop::defaultLoop();
$socket_loop = NULL;
$embed       = NULL;

if (Ev::supportedBackends() & ~Ev::recommendedBackends() & Ev::BACKEND_KQUEUE) {
    if (($socket_loop = new EvLoop(Ev::BACKEND_KQUEUE))) {
        $embed = new EvEmbed($loop);
    }
}

if (!$socket_loop) {
    $socket_loop = $loop;
}

// Now use $socket_loop for all sockets, and $loop for anything else
?>

Ver también

  • Ev::embeddableBackends() - Returns the set of backends that are embeddable in other event loops.
EvEmbed
EvEmbed::createStopped
EvEmbed


Create stopped EvEmbed watcher object

EvEmbed::__construct
EvEmbed::set
EvEmbed
PHP Manual

EvEmbed::createStopped

(PECL ev >= 0.2.0)

EvEmbed::createStopped — Create stopped EvEmbed watcher object

Descripción

final public static void EvEmbed::createStopped ( object $other [, callable $callback [, mixed $data [, int $priority ]]] )

The same as EvEmbed::__construct() , but doesn't start the watcher automatically.

Parámetros

other

The same as for EvEmbed::__construct()

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valores devueltos

Returns stopped EvEmbed object on success.

Ver también

  • EvEmbed::__construct() - Constructs the EvEmbed object
  • Ev::embeddableBackends() - Returns the set of backends that are embeddable in other event loops.
EvEmbed::__construct
EvEmbed::set
EvEmbed


Configures the watcher

EvEmbed::createStopped
EvEmbed::sweep
EvEmbed
PHP Manual

EvEmbed::set

(PECL ev >= 0.2.0)

EvEmbed::set — Configures the watcher

Descripción

public void EvEmbed::set ( object $other )

Configures the watcher to use other event loop object.

Parámetros

other

The same as for EvEmbed::__construct()

Valores devueltos

No devuelve ningún valor.

EvEmbed::createStopped
EvEmbed::sweep
EvEmbed


Make a single, non-blocking sweep over the embedded loop.

EvEmbed::set
EvFork
EvEmbed
PHP Manual

EvEmbed::sweep

(PECL ev >= 0.2.0)

EvEmbed::sweep — Make a single, non-blocking sweep over the embedded loop.

Descripción

public void EvEmbed::sweep ( void )

Make a single, non-blocking sweep over the embedded loop. Works similarly to the following, but in the most appropriate way for embedded loops:

<?php
$other->start(Ev::RUN_NOWAIT);
?>

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • EvWatcher::start() - Starts the watcher
EvEmbed::set
EvFork
EvEmbed


The EvFork class

(PECL ev >= 0.2.0)

Introducción

Fork watchers are called when a fork() was detected (usually because whoever signalled libev about it by calling EvLoop::fork() ). The invocation is done before the event loop blocks next and before EvCheck watchers are being called, and only in the child after the fork. Note, that if whoever calling EvLoop::fork() calls it in the wrong process, the fork handlers will be invoked, too.

Sinopsis de la Clase

EvFork extends EvWatcher {
/* Propiedades heredadas */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Métodos */
public __construct ( callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
final public static object createStopped ( string $callback [, string $data [, string $priority ]] )
/* Métodos heredados */
public int EvWatcher::clear ( void )
abstract public EvWatcher::__construct ( void )
public void EvWatcher::feed ( int $revents )
public EvLoop EvWatcher::getLoop ( void )
public void EvWatcher::invoke ( int $revents )
public bool EvWatcher::keepalive ([ bool $value ] )
public void EvWatcher::setCallback ( callable $callback )
public void EvWatcher::start ( void )
public void EvWatcher::stop ( void )
}

Tabla de contenidos

  • EvFork::__construct — Constructs the EvFork watcher object
  • EvFork::createStopped — Creates a stopped instance of EvFork watcher class
EvEmbed::sweep
EvFork::__construct
Ev


Constructs the EvFork watcher object

EvFork
EvFork::createStopped
EvFork
PHP Manual

EvFork::__construct

(PECL ev >= 0.2.0)

EvFork::__construct — Constructs the EvFork watcher object

Descripción

public EvFork::__construct ( callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Constructs the EvFork watcher object and starts the watcher automatically.

Parámetros

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valores devueltos

Returns EvFork object on success.

Ver también

  • EvLoop::fork() - Creates EvFork watcher object associated with the current event loop instance
  • EvCheck
EvFork
EvFork::createStopped
EvFork


Creates a stopped instance of EvFork watcher class

EvFork::__construct
EvIdle
EvFork
PHP Manual

EvFork::createStopped

(PECL ev >= 0.2.0)

EvFork::createStopped — Creates a stopped instance of EvFork watcher class

Descripción

final public static object EvFork::createStopped ( string $callback [, string $data [, string $priority ]] )

The same as EvFork::__construct() , but doesn't start the watcher automatically.

Parámetros

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valores devueltos

Returns EvFork(stopped) object on success.

Ver también

  • EvFork::__construct() - Constructs the EvFork watcher object
EvFork::__construct
EvIdle
EvFork


The EvIdle class

(PECL ev >= 0.2.0)

Introducción

EvIdle watchers trigger events when no other events of the same or higher priority are pending ( EvPrepare , EvCheck and other EvIdle watchers do not count as receiving events ).

Thus, as long as the process is busy handling sockets or timeouts(or even signals) of the same or higher priority it will not be triggered. But when the process is in idle(or only lower-priority watchers are pending), the EvIdle watchers are being called once per event loop iteration - until stopped, that is, or the process receives more events and becomes busy again with higher priority stuff.

Apart from keeping the process non-blocking(which is a useful on its own sometimes), EvIdle watchers are a good place to do "pseudo-background processing" , or delay processing stuff to after the event loop has handled all outstanding events.

The most noticeable effect is that as long as any idle watchers are active, the process will not block when waiting for new events.

Sinopsis de la Clase

EvIdle extends EvWatcher {
/* Propiedades heredadas */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Métodos */
public __construct ( callable $callback [, mixed $data [, int $priority ]] )
final public static object createStopped ( string $callback [, mixed $data [, int $priority ]] )
/* Métodos heredados */
public int EvWatcher::clear ( void )
abstract public EvWatcher::__construct ( void )
public void EvWatcher::feed ( int $revents )
public EvLoop EvWatcher::getLoop ( void )
public void EvWatcher::invoke ( int $revents )
public bool EvWatcher::keepalive ([ bool $value ] )
public void EvWatcher::setCallback ( callable $callback )
public void EvWatcher::start ( void )
public void EvWatcher::stop ( void )
}

Tabla de contenidos

  • EvIdle::__construct — Constructs the EvIdle watcher object
  • EvIdle::createStopped — Creates instance of a stopped EvIdle watcher object
EvFork::createStopped
EvIdle::__construct
Ev


Constructs the EvIdle watcher object

EvIdle
EvIdle::createStopped
EvIdle
PHP Manual

EvIdle::__construct

(PECL ev >= 0.2.0)

EvIdle::__construct — Constructs the EvIdle watcher object

Descripción

public EvIdle::__construct ( callable $callback [, mixed $data [, int $priority ]] )

Constructs the EvIdle watcher object and starts the watcher automatically.

Parámetros

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valores devueltos

Returns EvIdle object on success.

Ver también

  • EvIdle::createStopped() - Creates instance of a stopped EvIdle watcher object
  • EvLoop::idle() - Creates EvIdle watcher object associated with the current event loop instance
EvIdle
EvIdle::createStopped
EvIdle


Creates instance of a stopped EvIdle watcher object

EvIdle::__construct
EvIo
EvIdle
PHP Manual

EvIdle::createStopped

(PECL ev >= 0.2.0)

EvIdle::createStopped — Creates instance of a stopped EvIdle watcher object

Descripción

final public static object EvIdle::createStopped ( string $callback [, mixed $data [, int $priority ]] )

The same as EvIdle::__construct() , but doesn't start the watcher automatically.

Parámetros

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valores devueltos

Returns EvIdle object on success.

Ver también

  • EvIdle::__construct() - Constructs the EvIdle watcher object
  • EvLoop::idle() - Creates EvIdle watcher object associated with the current event loop instance
EvIdle::__construct
EvIo
EvIdle


The EvIo class

(PECL ev >= 0.2.0)

Introducción

EvIo watchers check whether a file descriptor(or socket, or a stream castable to numeric file descriptor) is readable or writable in each iteration of the event loop, or, more precisely, when reading would not block the process and writing would at least be able to write some data. This behaviour is called level-triggering because events are kept receiving as long as the condition persists. To stop receiving events just stop the watcher.

The number of read and/or write event watchers per fd is unlimited. Setting all file descriptors to non-blocking mode is also usually a good idea(but not required).

Another thing to watch out for is that it is quite easy to receive false readiness notifications, i.e. the callback might be called with Ev::READ but a subsequent read() will actually block because there is no data. It is very easy to get into this situation. Thus it is best to always use non-blocking I/O: An extra read() returning EAGAIN (or similar) is far preferable to a program hanging until some data arrives.

If for some reason it is impossible to run the fd in non-blocking mode, then separately re-test whether a file descriptor is really ready. Some people additionally use SIGALRM and an interval timer, just to be sure thry won't block infinitely.

Always consider using non-blocking mode.

Sinopsis de la Clase

EvIo extends EvWatcher {
/* Propiedades */
public $fd ;
public $events ;
/* Propiedades heredadas */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Métodos */
public __construct ( mixed $fd , int $events , callable $callback [, mixed $data [, int $priority ]] )
final public static EvIo createStopped ( mixed $fd , int $events , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
public void set ( mixed $fd , int $events )
/* Métodos heredados */
public int EvWatcher::clear ( void )
abstract public EvWatcher::__construct ( void )
public void EvWatcher::feed ( int $revents )
public EvLoop EvWatcher::getLoop ( void )
public void EvWatcher::invoke ( int $revents )
public bool EvWatcher::keepalive ([ bool $value ] )
public void EvWatcher::setCallback ( callable $callback )
public void EvWatcher::start ( void )
public void EvWatcher::stop ( void )
}

Propiedades

fd

events

Tabla de contenidos

  • EvIo::__construct — Constructs EvIo watcher object
  • EvIo::createStopped — Create stopped EvIo watcher object
  • EvIo::set — Configures the watcher
EvIdle::createStopped
EvIo::__construct
Ev


Constructs EvIo watcher object

EvIo
EvIo::createStopped
EvIo
PHP Manual

EvIo::__construct

(PECL ev >= 0.2.0)

EvIo::__construct — Constructs EvIo watcher object

Descripción

public EvIo::__construct ( mixed $fd , int $events , callable $callback [, mixed $data [, int $priority ]] )

Constructs EvIo watcher object and starts the watcher automatically.

Parámetros

fd

Can be a stream opened with fopen() or similar functions, numeric file descriptor, or socket.

events

Ev::READ and/or Ev::WRITE . See the bit masks .

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valores devueltos

Returns EvIo object on success.

Ver también

  • EvIo::createStopped() - Create stopped EvIo watcher object
  • EvLoop::io() - Create EvIo watcher object associated with the current event loop instance
EvIo
EvIo::createStopped
EvIo


Create stopped EvIo watcher object

EvIo::__construct
EvIo::set
EvIo
PHP Manual

EvIo::createStopped

(PECL ev >= 0.2.0)

EvIo::createStopped — Create stopped EvIo watcher object

Descripción

final public static EvIo EvIo::createStopped ( mixed $fd , int $events , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

The same as EvIo::__construct() , but doesn't start the watcher automatically.

Parámetros

fd

The same as for EvIo::__construct()

events

The same as for EvIo::__construct()

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valores devueltos

Returns EvIo object on success.

Ver también

  • EvIo::__construct() - Constructs EvIo watcher object
  • EvLoop::io() - Create EvIo watcher object associated with the current event loop instance
EvIo::__construct
EvIo::set
EvIo


Configures the watcher

EvIo::createStopped
EvLoop
EvIo
PHP Manual

EvIo::set

(PECL ev >= 0.2.0)

EvIo::set — Configures the watcher

Descripción

public void EvIo::set ( mixed $fd , int $events )

Configures the EvIo watcher

Parámetros

fd

The same as for EvIo::__construct()

events

The same as for EvIo::__construct()

Valores devueltos

No devuelve ningún valor.

EvIo::createStopped
EvLoop
EvIo


The EvLoop class

(PECL ev >= 0.2.0)

Introducción

Represents an event loop that is always distinct from the default loop . Unlike the default loop , it cannot handle EvChild watchers.

Having threads we have to create a loop per thread, and use the the default loop in the parent thread.

The default event loop is initialized automatically by Ev . It is accessable via methods of the Ev class, or via EvLoop::defaultLoop() method.

Sinopsis de la Clase

final EvLoop {
/* Propiedades */
public $data ;
public $backend ;
public $is_default_loop ;
public $iteration ;
public $pending ;
public $io_interval ;
public $timeout_interval ;
public $depth ;
/* Métodos */
public int backend ( void )
final public EvCheck check ( string $callback [, string $data [, string $priority ]] )
final public EvChild child ( string $pid , string $trace , string $callback [, string $data [, string $priority ]] )
public __construct ([ int $flags [, mixed $data = NULL [, double $io_interval = 0.0 [, double $timeout_interval = 0.0 ]]]] )
public static EvLoop defaultLoop ([ int $flags = Ev::FLAG_AUTO [, mixed $data = NULL [, double $io_interval = 0. [, double $timeout_interval = 0. ]]]] )
final public EvEmbed embed ( string $other [, string $callback [, string $data [, string $priority ]]] )
final public EvFork fork ( callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
final public EvIdle idle ( callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
public void invokePending ( void )
final public EvIo io ( mixed $fd , int $events , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
public void loopFork ( void )
public double now ( void )
public void nowUpdate ( void )
final public EvPeriodic periodic ( double $offset , double $interval , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
final public EvPrepare prepare ( callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
public void resume ( void )
public void run ([ int $flags = 0 ] )
final public EvSignal signal ( int $signum , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
final public EvStat stat ( string $path , double $interval , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
public void stop ([ int $how ] )
public void suspend ( void )
final public EvTimer timer ( double $after , double $repeat , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
public void verify ( void )
}

Propiedades

data

Custom data attached to loop

backend

Readonly . The backend flags indicating the event backend in use.

is_default_loop

Readonly . TRUE if it is the default event loop.

iteration

The current iteration count of the loop. See Ev::iteration()

pending

The number of pending watchers. 0 indicates that there are no watchers pending.

io_interval

Higher io_interval allows libev to spend more time collecting EvIo events, so more events can be handled per iteration, at the cost of increasing latency. Timeouts (both EvPeriodic and EvTimer ) will not be affected. Setting this to a non-zero value will introduce an additional sleep() call into most loop iterations. The sleep time ensures that libev will not poll for EvIo events events more often than once per this interval, on average. Many programs can usually benefit by setting the io_interval to a value near 0.1 , which is often enough for interactive servers(not for games). It usually doesn't make much sense to set it to a lower value than 0.01 , as this approaches the timing granularity of most systems.

See also » FUNCTIONS CONTROLLING EVENT LOOPS .

timeout_interval

Higher timeout_interval allows libev to spend more time collecting timeouts, at the expense of increased latency/jitter/inexactness(the watcher callback will be called later). EvIo watchers will not be affected. Setting this to a non-null value will not introduce any overhead in libev . See also » FUNCTIONS CONTROLLING EVENT LOOPS .

depth

The recursion depth. See Ev::depth() .

Tabla de contenidos

  • EvLoop::backend — Returns an integer describing the backend used by libev.
  • EvLoop::check — Creates EvCheck object associated with the current event loop instance
  • EvLoop::child — Creates EvChild object associated with the current event loop
  • EvLoop::__construct — Constructs the event loop object
  • EvLoop::defaultLoop — Returns or creates the default event loop.
  • EvLoop::embed — Creates an instance of EvEmbed watcher associated with the current EvLoop object.
  • EvLoop::fork — Creates EvFork watcher object associated with the current event loop instance
  • EvLoop::idle — Creates EvIdle watcher object associated with the current event loop instance
  • EvLoop::invokePending — Invoke all pending watchers while resetting their pending state
  • EvLoop::io — Create EvIo watcher object associated with the current event loop instance
  • EvLoop::loopFork — Must be called after a fork
  • EvLoop::now — Returns the current "event loop time"
  • EvLoop::nowUpdate — Establishes the current time by querying the kernel, updating the time returned by EvLoop::now in the progress.
  • EvLoop::periodic — Creates EvPeriodic watcher object associated with the current event loop instance
  • EvLoop::prepare — Creates EvPrepare watcher object associated with the current event loop instance
  • EvLoop::resume — Resume previously suspended default event loop
  • EvLoop::run — Begin checking for events and calling callbacks for the loop
  • EvLoop::signal — Creates EvSignal watcher object associated with the current event loop instance
  • EvLoop::stat — Creates EvStat watcher object associated with the current event loop instance
  • EvLoop::stop — Stops the event loop
  • EvLoop::suspend — Suspend the loop
  • EvLoop::timer — Creates EvTimer watcher object associated with the current event loop instance
  • EvLoop::verify — Performs internal consistency checks(for debugging)
EvIo::set
EvLoop::backend
Ev


Returns an integer describing the backend used by libev.

EvLoop
EvLoop::check
EvLoop
PHP Manual

EvLoop::backend

(PECL ev >= 0.2.0)

EvLoop::backend — Returns an integer describing the backend used by libev.

Descripción

public int EvLoop::backend ( void )

The same as Ev::backend() , but for the loop instance.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns an integer describing the backend used by libev. See Ev::backend() .

Ver también

  • Ev::backend() - Devuelve un entero que describe el back-end utilizado por libev
EvLoop
EvLoop::check
EvLoop


Creates EvCheck object associated with the current event loop instance

EvLoop::backend
EvLoop::child
EvLoop
PHP Manual

EvLoop::check

(PECL ev >= 0.2.0)

EvLoop::check — Creates EvCheck object associated with the current event loop instance

Descripción

final public EvCheck EvLoop::check ( string $callback [, string $data [, string $priority ]] )

Creates EvCheck object associated with the current event loop instance.

Parámetros

All parameters have the same meaning as for EvCheck::__construct()

Valores devueltos

Returns EvCheck object on success.

Ver también

  • EvCheck::__construct() - Constructs the EvCheck watcher object
EvLoop::backend
EvLoop::child
EvLoop


Creates EvChild object associated with the current event loop

EvLoop::check
EvLoop::__construct
EvLoop
PHP Manual

EvLoop::child

(PECL ev >= 0.2.0)

EvLoop::child — Creates EvChild object associated with the current event loop

Descripción

final public EvChild EvLoop::child ( string $pid , string $trace , string $callback [, string $data [, string $priority ]] )

Creates EvChild object associated with the current event loop.

Parámetros

All parameters have the same meaning as for EvChild::__construct()

Valores devueltos

Returns EvChild object on success.

Ver también

  • EvChild::__construct() - Constructs the EvChild watcher object
EvLoop::check
EvLoop::__construct
EvLoop


Constructs the event loop object

EvLoop::child
EvLoop::defaultLoop
EvLoop
PHP Manual

EvLoop::__construct

(PECL ev >= 0.2.0)

EvLoop::__construct — Constructs the event loop object

Descripción

public EvLoop::__construct ([ int $flags [, mixed $data = NULL [, double $io_interval = 0.0 [, double $timeout_interval = 0.0 ]]]] )

Constructs the event loop object.

Parámetros

flags

One of the event loop flags

data

Custom data associated with the loop.

io_interval

See io_interval

timeout_interval

See timeout_interval

Valores devueltos

Returns new EvLoop object.

Ver también

  • EvLoop::defaultLoop() - Returns or creates the default event loop.
EvLoop::child
EvLoop::defaultLoop
EvLoop


Returns or creates the default event loop.

EvLoop::__construct
EvLoop::embed
EvLoop
PHP Manual

EvLoop::defaultLoop

(PECL ev >= 0.2.0)

EvLoop::defaultLoop — Returns or creates the default event loop.

Descripción

public static EvLoop EvLoop::defaultLoop ([ int $flags = Ev::FLAG_AUTO [, mixed $data = NULL [, double $io_interval = 0. [, double $timeout_interval = 0. ]]]] )

If the default event loop is not created, EvLoop::defaultLoop() creates it with the specified parameters. Otherwise, it just returns the object representing previously created instance ignoring all the parameters.

Parámetros

flags

One of the event loop flags

data

Custom data to associate with the loop.

io_collect_interval

See io_interval

timeout_collect_interval

See timeout_interval

Valores devueltos

Returns EvLoop object on success.

Ver también

  • EvLoop::__construct() - Constructs the event loop object
EvLoop::__construct
EvLoop::embed
EvLoop


Creates an instance of EvEmbed watcher associated with the current EvLoop object.

EvLoop::defaultLoop
EvLoop::fork
EvLoop
PHP Manual

EvLoop::embed

(PECL ev >= 0.2.0)

EvLoop::embed — Creates an instance of EvEmbed watcher associated with the current EvLoop object.

Descripción

final public EvEmbed EvLoop::embed ( string $other [, string $callback [, string $data [, string $priority ]]] )

Creates an instance of EvEmbed watcher associated with the current EvLoop object.

Parámetros

All parameters have the same meaning as for EvEmbed::__construct() .

Valores devueltos

Returns EvEmbed object on success.

Ver también

  • EvEmbed::__construct() - Constructs the EvEmbed object
EvLoop::defaultLoop
EvLoop::fork
EvLoop


Creates EvFork watcher object associated with the current event loop instance

EvLoop::embed
EvLoop::idle
EvLoop
PHP Manual

EvLoop::fork

(PECL ev >= 0.2.0)

EvLoop::fork — Creates EvFork watcher object associated with the current event loop instance

Descripción

final public EvFork EvLoop::fork ( callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Creates EvFork watcher object associated with the current event loop instance

Parámetros

All parameters have the same meaning as for EvFork::__construct()

Valores devueltos

Returns EvFork object on success.

Ver también

  • EvFork::__construct() - Constructs the EvFork watcher object
EvLoop::embed
EvLoop::idle
EvLoop


Creates EvIdle watcher object associated with the current event loop instance

EvLoop::fork
EvLoop::invokePending
EvLoop
PHP Manual

EvLoop::idle

(PECL ev >= 0.2.0)

EvLoop::idle — Creates EvIdle watcher object associated with the current event loop instance

Descripción

final public EvIdle EvLoop::idle ( callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Creates EvIdle watcher object associated with the current event loop instance

Parámetros

All the parameters have the same meaning as for EvIdle::__construct()

Valores devueltos

Returns EvIdle object on success.

Ver también

  • EvIdle::__construct() - Constructs the EvIdle watcher object
EvLoop::fork
EvLoop::invokePending
EvLoop


Invoke all pending watchers while resetting their pending state

EvLoop::idle
EvLoop::io
EvLoop
PHP Manual

EvLoop::invokePending

(PECL ev >= 0.2.0)

EvLoop::invokePending — Invoke all pending watchers while resetting their pending state

Descripción

public void EvLoop::invokePending ( void )

Invoke all pending watchers while resetting their pending state.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

EvLoop::idle
EvLoop::io
EvLoop


Create EvIo watcher object associated with the current event loop instance

EvLoop::invokePending
EvLoop::loopFork
EvLoop
PHP Manual

EvLoop::io

(PECL ev >= 0.2.0)

EvLoop::io — Create EvIo watcher object associated with the current event loop instance

Descripción

final public EvIo EvLoop::io ( mixed $fd , int $events , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Create EvIo watcher object associated with the current event loop instance.

Parámetros

All parameters have the same meaning as for EvIo::__construct()

Valores devueltos

Returns EvIo object on success.

Ver también

  • EvIo::__construct() - Constructs EvIo watcher object
EvLoop::invokePending
EvLoop::loopFork
EvLoop


Must be called after a fork

EvLoop::io
EvLoop::now
EvLoop
PHP Manual

EvLoop::loopFork

(PECL ev >= 0.2.0)

EvLoop::loopFork — Must be called after a fork

Descripción

public void EvLoop::loopFork ( void )

Must be called after a fork in the child, before entering or continuing the event loop. An alternative is to use Ev::FLAG_FORKCHECK which calls this function automatically, at some performance loss (refer to the » libev documentation ).

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

EvLoop::io
EvLoop::now
EvLoop


Returns the current "event loop time"

EvLoop::loopFork
EvLoop::nowUpdate
EvLoop
PHP Manual

EvLoop::now

(PECL ev >= 0.2.0)

EvLoop::now — Returns the current "event loop time"

Descripción

public double EvLoop::now ( void )

Returns the current "event loop time", which is the time the event loop received events and started processing them. This timestamp does not change as long as callbacks are being processed, and this is also the base time used for relative timers. You can treat it as the timestamp of the event occurring(or more correctly, libev finding out about it).

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns time of the event loop in (fractional) seconds.

Ver también

  • Ev::now() - Returns the time when the last iteration of the default event loop has started.
EvLoop::loopFork
EvLoop::nowUpdate
EvLoop


Establishes the current time by querying the kernel, updating the time returned by EvLoop::now in the progress.

EvLoop::now
EvLoop::periodic
EvLoop
PHP Manual

EvLoop::nowUpdate

(PECL ev >= 0.2.0)

EvLoop::nowUpdate — Establishes the current time by querying the kernel, updating the time returned by EvLoop::now in the progress.

Descripción

public void EvLoop::nowUpdate ( void )

Establishes the current time by querying the kernel, updating the time returned by EvLoop::now() in the progress. This is a costly operation and is usually done automatically within EvLoop::run() .

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • EvLoop::now() - Returns the current "event loop time"
  • Ev::nowUpdate() - Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress.
EvLoop::now
EvLoop::periodic
EvLoop


Creates EvPeriodic watcher object associated with the current event loop instance

EvLoop::nowUpdate
EvLoop::prepare
EvLoop
PHP Manual

EvLoop::periodic

(PECL ev >= 0.2.0)

EvLoop::periodic — Creates EvPeriodic watcher object associated with the current event loop instance

Descripción

final public EvPeriodic EvLoop::periodic ( double $offset , double $interval , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Creates EvPeriodic watcher object associated with the current event loop instance

Parámetros

All parameters have the same maening as for EvPeriodic::__construct()

Valores devueltos

Returns EvPeriodic object on success.

Ver también

  • EvPeriodic::__construct() - Constructs EvPeriodic watcher object
EvLoop::nowUpdate
EvLoop::prepare
EvLoop


Creates EvPrepare watcher object associated with the current event loop instance

EvLoop::periodic
EvLoop::resume
EvLoop
PHP Manual

EvLoop::prepare

(PECL ev >= 0.2.0)

EvLoop::prepare — Creates EvPrepare watcher object associated with the current event loop instance

Descripción

final public EvPrepare EvLoop::prepare ( callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Creates EvPrepare watcher object associated with the current event loop instance

Parámetros

All parameters have the same maening as for EvPrepare()

Valores devueltos

Returns EvPrepare object on success

Ver también

  • EvPrepare::__construct() - Constructs EvPrepare watcher object
EvLoop::periodic
EvLoop::resume
EvLoop


Resume previously suspended default event loop

EvLoop::prepare
EvLoop::run
EvLoop
PHP Manual

EvLoop::resume

(PECL ev >= 0.2.0)

EvLoop::resume — Resume previously suspended default event loop

Descripción

public void EvLoop::resume ( void )

EvLoop::suspend() and EvLoop::resume() methods suspend and resume a loop correspondingly.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • EvLoop::suspend() - Suspend the loop
  • Ev::resume() - Resume previously suspended default event loop
EvLoop::prepare
EvLoop::run
EvLoop


Begin checking for events and calling callbacks for the loop

EvLoop::resume
EvLoop::signal
EvLoop
PHP Manual

EvLoop::run

(PECL ev >= 0.2.0)

EvLoop::run — Begin checking for events and calling callbacks for the loop

Descripción

public void EvLoop::run ([ int $flags = 0 ] )

Begin checking for events and calling callbacks for the current event loop. Returns when a callback calls Ev::stop() method, or the flags are nonzero(in which case the return value is true) or when there are no active watchers which reference the loop( EvWatcher::keepalive() is TRUE), in which case the return value will be FALSE. The return value can generally be interpreted as if TRUE, there is more work left to do .

Parámetros

flags

Optional parameter flags can be one of the following:

List for possible values of flags
flags | Description
0 | The default behavior described above
Ev::RUN_ONCE | Block at most one(wait, but don't loop)
Ev::RUN_NOWAIT | Don't block at all(fetch/handle events, but don't wait)

See the run flag constants .

Valores devueltos

No devuelve ningún valor.

Ver también

  • EvLoop::stop() - Stops the event loop
  • Ev::run() - Begin checking for events and calling callbacks for the default loop
EvLoop::resume
EvLoop::signal
EvLoop


Creates EvSignal watcher object associated with the current event loop instance

EvLoop::run
EvLoop::stat
EvLoop
PHP Manual

EvLoop::signal

(PECL ev >= 0.2.0)

EvLoop::signal — Creates EvSignal watcher object associated with the current event loop instance

Descripción

final public EvSignal EvLoop::signal ( int $signum , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Creates EvSignal watcher object associated with the current event loop instance

Parámetros

All parameters have the same meaning as for EvSignal::__construct()

Valores devueltos

Returns EvSignal object on success

Ver también

  • EvSignal::__construct() - Constructs EvPeriodic watcher object
EvLoop::run
EvLoop::stat
EvLoop


Creates EvStat watcher object associated with the current event loop instance

EvLoop::signal
EvLoop::stop
EvLoop
PHP Manual

EvLoop::stat

(PECL ev >= 0.2.0)

EvLoop::stat — Creates EvStat watcher object associated with the current event loop instance

Descripción

final public EvStat EvLoop::stat ( string $path , double $interval , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Creates EvStat watcher object associated with the current event loop instance

Parámetros

All parameters have the same meaning as for EvSignal::__construct()

Valores devueltos

Returns EvStat object on success

Ver también

  • EvSignal::__construct() - Constructs EvPeriodic watcher object
EvLoop::signal
EvLoop::stop
EvLoop


Stops the event loop

EvLoop::stat
EvLoop::suspend
EvLoop
PHP Manual

EvLoop::stop

(PECL ev >= 0.2.0)

EvLoop::stop — Stops the event loop

Descripción

public void EvLoop::stop ([ int $how ] )

Stops the event loop

Parámetros

how

One of Ev::BREAK_* constants .

Valores devueltos

No devuelve ningún valor.

Ver también

  • EvLoop::run() - Begin checking for events and calling callbacks for the loop
  • Ev::stop() - Stops the default event loop
EvLoop::stat
EvLoop::suspend
EvLoop


Suspend the loop

EvLoop::stop
EvLoop::timer
EvLoop
PHP Manual

EvLoop::suspend

(PECL ev >= 0.2.0)

EvLoop::suspend — Suspend the loop

Descripción

public void EvLoop::suspend ( void )

EvLoop::suspend() and EvLoop::resume() methods suspend and resume a loop correspondingly.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • EvLoop::resume() - Resume previously suspended default event loop
  • Ev::suspend() - Suspend the default event loop
EvLoop::stop
EvLoop::timer
EvLoop


Creates EvTimer watcher object associated with the current event loop instance

EvLoop::suspend
EvLoop::verify
EvLoop
PHP Manual

EvLoop::timer

(PECL ev >= 0.2.0)

EvLoop::timer — Creates EvTimer watcher object associated with the current event loop instance

Descripción

final public EvTimer EvLoop::timer ( double $after , double $repeat , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Creates EvTimer watcher object associated with the current event loop instance

Parámetros

All parameters have the same meaning as for EvTimer::__construct()

Valores devueltos

Returns EvTimer object on success

Ver también

  • EvTimer::__construct() - Constructs an EvTimer watcher object
EvLoop::suspend
EvLoop::verify
EvLoop


Performs internal consistency checks(for debugging)

EvLoop::timer
EvPeriodic
EvLoop
PHP Manual

EvLoop::verify

(PECL ev >= 0.2.0)

EvLoop::verify — Performs internal consistency checks(for debugging)

Descripción

public void EvLoop::verify ( void )

Performs internal consistency checks(for debugging libev ) and abort the program if any data structures were found to be corrupted.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • Ev::verify() - Performs internal consistency checks(for debugging)
EvLoop::timer
EvPeriodic
EvLoop


The EvPeriodic class

(PECL ev >= 0.2.0)

Introducción

Periodic watchers are also timers of a kind, but they are very versatile.

Unlike EvTimer , EvPeriodic watchers are not based on real time(or relative time, the physical time that passes) but on wall clock time(absolute time, calendar or clock). The difference is that wall clock time can run faster or slower than real time, and time jumps are not uncommon(e.g. when adjusting it).

EvPeriodic watcher can be configured to trigger after some specific point in time. For example, if an EvPeriodic watcher is configured to trigger "in 10 seconds" (e.g. EvLoop::now() + 10.0 , i.e. an absolute time, not a delay), and the system clock is reset to January of the previous year , then it will take a year or more to trigger the event (unlike an EvTimer , which would still trigger roughly 10 seconds after starting it as it uses a relative timeout).

As with timers, the callback is guaranteed to be invoked only when the point in time where it is supposed to trigger has passed. If multiple timers become ready during the same loop iteration then the ones with earlier time-out values are invoked before ones with later time-out values (but this is no longer true when a callback calls EvLoop::run() recursively).

Sinopsis de la Clase

EvPeriodic extends EvWatcher {
/* Propiedades */
public $offset ;
public $interval ;
/* Propiedades heredadas */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Métodos */
public void again ( void )
public double at ( void )
public __construct ( double $offset , string $interval , callable $reschedule_cb , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
final public static EvPeriodic createStopped ( double $offset , double $interval , callable $reschedule_cb , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
public void set ( double $offset , double $interval )
/* Métodos heredados */
public int EvWatcher::clear ( void )
abstract public EvWatcher::__construct ( void )
public void EvWatcher::feed ( int $revents )
public EvLoop EvWatcher::getLoop ( void )
public void EvWatcher::invoke ( int $revents )
public bool EvWatcher::keepalive ([ bool $value ] )
public void EvWatcher::setCallback ( callable $callback )
public void EvWatcher::start ( void )
public void EvWatcher::stop ( void )
}

Propiedades

offset

When repeating, this contains the offset value, otherwise this is the absolute point in time(the offset value passed to EvPeriodic::set() , although libev might modify this value for better numerical stability).

interval

The current interval value. Can be modified any time, but changes only take effect when the periodic timer fires or EvPeriodic::again() is being called.

Tabla de contenidos

  • EvPeriodic::again — Simply stops and restarts the periodic watcher again.
  • EvPeriodic::at — Returns the absolute time that this watcher is supposed to trigger next
  • EvPeriodic::__construct — Constructs EvPeriodic watcher object
  • EvPeriodic::createStopped — Create a stopped EvPeriodic watcher
  • EvPeriodic::set — Configures the watcher
EvLoop::verify
EvPeriodic::again
Ev


Simply stops and restarts the periodic watcher again.

EvPeriodic
EvPeriodic::at
EvPeriodic
PHP Manual

EvPeriodic::again

(PECL ev >= 0.2.0)

EvPeriodic::again — Simply stops and restarts the periodic watcher again.

Descripción

public void EvPeriodic::again ( void )

Simply stops and restarts the periodic watcher again. This is only useful when attributes are changed.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • EvTimer::again() - Restarts the timer watcher
EvPeriodic
EvPeriodic::at
EvPeriodic


Returns the absolute time that this watcher is supposed to trigger next

EvPeriodic::again
EvPeriodic::__construct
EvPeriodic
PHP Manual

EvPeriodic::at

(PECL ev >= 0.2.0)

EvPeriodic::at — Returns the absolute time that this watcher is supposed to trigger next

Descripción

public double EvPeriodic::at ( void )

When the watcher is active, returns the absolute time that this watcher is supposed to trigger next. This is not the same as the offset argument to EvPeriodic::set() or EvPeriodic::__construct() , but indeed works even in interval mode.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns the absolute time this watcher is supposed to trigger next in seconds.

EvPeriodic::again
EvPeriodic::__construct
EvPeriodic


Constructs EvPeriodic watcher object

EvPeriodic::at
EvPeriodic::createStopped
EvPeriodic
PHP Manual

EvPeriodic::__construct

(PECL ev >= 0.2.0)

EvPeriodic::__construct — Constructs EvPeriodic watcher object

Descripción

public EvPeriodic::__construct ( double $offset , string $interval , callable $reschedule_cb , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Constructs EvPeriodic watcher object and starts it automatically. EvPeriodic::createStopped() method creates stopped periodic watcher.

Parámetros

offset

See Periodic watcher operation modes

interval

See Periodic watcher operation modes

reschedule_cb

Reschedule callback. You can pass NULL. See Periodic watcher operation modes

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valores devueltos

Returns EvPeriodic object on success.

Ejemplos

Ejemplo #1 Periodic timer. Use reschedule callback

<?php
// Tick each 10.5 seconds

function reschedule_cb ($watcher, $now) {
 return $now + (10.5. - fmod($now, 10.5));
}

$w = new EvPeriodic(0., 0., "reschedule_cb", function ($w, $revents) {
 echo time(), PHP_EOL;
});
Ev::run();
?>

Ejemplo #2 Periodic timer. Tick every 10.5 seconds starting at now

<?php
// Tick every 10.5 seconds starting at now
$w = new EvPeriodic(fmod(Ev::now(), 10.5), 10.5, NULL, function ($w, $revents) {
 echo time(), PHP_EOL;
});
Ev::run();
?>

Ejemplo #3 Hourly watcher

<?php
$hourly = EvPeriodic(0, 3600, NULL, function () {
 echo "once per hour\n";
};
?>

Ver también

  • Periodic watcher operation modes
  • EvTimer
  • EvPeriodic::createStopped() - Create a stopped EvPeriodic watcher
EvPeriodic::at
EvPeriodic::createStopped
EvPeriodic


Create a stopped EvPeriodic watcher

EvPeriodic::__construct
EvPeriodic::set
EvPeriodic
PHP Manual

EvPeriodic::createStopped

(PECL ev >= 0.2.0)

EvPeriodic::createStopped — Create a stopped EvPeriodic watcher

Descripción

final public static EvPeriodic EvPeriodic::createStopped ( double $offset , double $interval , callable $reschedule_cb , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Create EvPeriodic object. Unlike EvPeriodic::__construct() this method doesn't start the watcher automatically.

Parámetros

offset

See Periodic watcher operation modes

interval

See Periodic watcher operation modes

reschedule_cb

Reschedule callback. You can pass NULL. See Periodic watcher operation modes

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valores devueltos

Returns EvPeriodic watcher object on success.

Ver también

  • EvPeriodic::__construct() - Constructs EvPeriodic watcher object
  • EvTimer::createStopped() - Creates EvTimer stopped watcher object
EvPeriodic::__construct
EvPeriodic::set
EvPeriodic


Configures the watcher

EvPeriodic::createStopped
EvPrepare
EvPeriodic
PHP Manual

EvPeriodic::set

(PECL ev >= 0.2.0)

EvPeriodic::set — Configures the watcher

Descripción

public void EvPeriodic::set ( double $offset , double $interval )

(Re-)Configures EvPeriodic watcher

Parámetros

offset

The same meaning as for EvPeriodic::__construct() . See Periodic watcher operation modes

interval

The same meaning as for EvPeriodic::__construct() . See Periodic watcher operation modes

Valores devueltos

No devuelve ningún valor.

EvPeriodic::createStopped
EvPrepare
EvPeriodic


The EvPrepare class

(PECL ev >= 0.2.0)

Introducción

EvPrepare and EvCheck watchers are usually used in pairs. EvPrepare watchers get invoked before the process blocks, EvCheck afterwards.

It is not allowed to call EvLoop::run() or similar methods or functions that enter the current event loop from either EvPrepare or EvCheck watchers. Other loops than the current one are fine, however. The rationale behind this is that one don't need to check for recursion in those watchers, i.e. the sequence will always be: EvPrepare -> blocking -> EvCheck , so having a watcher of each kind they will always be called in pairs bracketing the blocking call.

The main purpose is to integrate other event mechanisms into libev and their use is somewhat advanced. They could be used, for example, to track variable changes, implement custom watchers, integrate net-snmp or a coroutine library and lots more. They are also occasionally useful to cache some data and want to flush it before blocking.

It is recommended to give EvCheck watchers highest( Ev::MAXPRI ) priority, to ensure that they are being run before any other watchers after the poll (this doesn’t matter for EvPrepare watchers).

Also, EvCheck watchers should not activate/feed events. While libev fully supports this, they might get executed before other EvCheck watchers did their job.

Sinopsis de la Clase

EvPrepare extends EvWatcher {
/* Propiedades heredadas */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Métodos */
public __construct ( string $callback [, string $data [, string $priority ]] )
final public static EvPrepare createStopped ( callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
/* Métodos heredados */
public int EvWatcher::clear ( void )
abstract public EvWatcher::__construct ( void )
public void EvWatcher::feed ( int $revents )
public EvLoop EvWatcher::getLoop ( void )
public void EvWatcher::invoke ( int $revents )
public bool EvWatcher::keepalive ([ bool $value ] )
public void EvWatcher::setCallback ( callable $callback )
public void EvWatcher::start ( void )
public void EvWatcher::stop ( void )
}

Tabla de contenidos

  • EvPrepare::__construct — Constructs EvPrepare watcher object
  • EvPrepare::createStopped — Creates a stopped instance of EvPrepare watcher
EvPeriodic::set
EvPrepare::__construct
Ev


Constructs EvPrepare watcher object

EvPrepare
EvPrepare::createStopped
EvPrepare
PHP Manual

EvPrepare::__construct

(PECL ev >= 0.2.0)

EvPrepare::__construct — Constructs EvPrepare watcher object

Descripción

public EvPrepare::__construct ( string $callback [, string $data [, string $priority ]] )

Constructs EvPrepare watcher object. And starts the watcher automatically. If need a stopped watcher consider using EvPrepare::createStopped()

Parámetros

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valores devueltos

Returns EvPrepare object on success.

Ver también

  • EvCheck
EvPrepare
EvPrepare::createStopped
EvPrepare


Creates a stopped instance of EvPrepare watcher

EvPrepare::__construct
EvSignal
EvPrepare
PHP Manual

EvPrepare::createStopped

(PECL ev >= 0.2.0)

EvPrepare::createStopped — Creates a stopped instance of EvPrepare watcher

Descripción

final public static EvPrepare EvPrepare::createStopped ( callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Creates a stopped instance of EvPrepare watcher. Unlike EvPrepare::__construct() , this method doesn' start the watcher automatically.

Parámetros

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valores devueltos

Return EvPrepare object on success.

Ver también

  • EvPrepare::__construct() - Constructs EvPrepare watcher object
  • EvWatcher::start() - Starts the watcher
EvPrepare::__construct
EvSignal
EvPrepare


The EvSignal class

(PECL ev >= 0.2.0)

Introducción

EvSignal watchers will trigger an event when the process receives a specific signal one or more times. Even though signals are very asynchronous, libev will try its best to deliver signals synchronously, i.e. as part of the normal event processing, like any other event.

There is no limit for the number of watchers for the same signal, but only within the same loop, i.e. one can watch for SIGINT in the default loop and for SIGIO in another loop, but it is not allowed to watch for SIGINT in both the default loop and another loop at the same time. At the moment, SIGCHLD is permanently tied to the default loop.

If possible and supported, libev will install its handlers with SA_RESTART (or equivalent) behaviour enabled, so system calls should not be unduly interrupted. In case of a problem with system calls getting interrupted by signals, all the signals can be blocked in an EvCheck watcher and unblocked in a EvPrepare watcher.

Sinopsis de la Clase

EvSignal extends EvWatcher {
/* Propiedades */
public $signum ;
/* Propiedades heredadas */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Métodos */
public __construct ( int $signum , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
final public static EvSignal createStopped ( int $signum , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
public void set ( int $signum )
/* Métodos heredados */
public int EvWatcher::clear ( void )
abstract public EvWatcher::__construct ( void )
public void EvWatcher::feed ( int $revents )
public EvLoop EvWatcher::getLoop ( void )
public void EvWatcher::invoke ( int $revents )
public bool EvWatcher::keepalive ([ bool $value ] )
public void EvWatcher::setCallback ( callable $callback )
public void EvWatcher::start ( void )
public void EvWatcher::stop ( void )
}

Propiedades

signum

Signal number. See the constants exported by pcntl extension. See also signal(7) man page.

Tabla de contenidos

  • EvSignal::__construct — Constructs EvPeriodic watcher object
  • EvSignal::createStopped — Create stopped EvSignal watcher object
  • EvSignal::set — Configures the watcher
EvPrepare::createStopped
EvSignal::__construct
Ev


Constructs EvPeriodic watcher object

EvSignal
EvSignal::createStopped
EvSignal
PHP Manual

EvSignal::__construct

(PECL ev >= 0.2.0)

EvSignal::__construct — Constructs EvPeriodic watcher object

Descripción

public EvSignal::__construct ( int $signum , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Constructs EvPeriodic watcher object and starts it automatically. For a stopped periodic watcher consider using EvSignal::createStopped() method.

Parámetros

signum

Signal number. See constants exported by pcntl extension. See also signal(7) man page.

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valores devueltos

Returns EvSignal object on success.

Ejemplos

Ejemplo #1 Handle SIGTERM signal

<?php
$w = new EvSignal(SIGTERM, function ($watcher) {
    echo "SIGTERM received\n";
    $watcher->stop();
});

Ev::run();
?>

Ver también

  • EvSignal::createStopped() - Create stopped EvSignal watcher object
EvSignal
EvSignal::createStopped
EvSignal


Create stopped EvSignal watcher object

EvSignal::__construct
EvSignal::set
EvSignal
PHP Manual

EvSignal::createStopped

(PECL ev >= 0.2.0)

EvSignal::createStopped — Create stopped EvSignal watcher object

Descripción

final public static EvSignal EvSignal::createStopped ( int $signum , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Create stopped EvSignal watcher object. Unlike EvSignal::__construct() , this method does't start the watcher automatically.

Parámetros

signum

Signal number. See constants exported by pcntl extension. See also signal(7) man page.

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valores devueltos

Returns EvSignal object on success.

Ver también

  • EvWatcher::start() - Starts the watcher
  • EvSignal::__construct() - Constructs EvPeriodic watcher object
EvSignal::__construct
EvSignal::set
EvSignal


Configures the watcher

EvSignal::createStopped
EvStat
EvSignal
PHP Manual

EvSignal::set

(PECL ev >= 0.2.0)

EvSignal::set — Configures the watcher

Descripción

public void EvSignal::set ( int $signum )

Configures the watcher.

Parámetros

signum

Signal number. The same as for EvSignal::__construct()

Valores devueltos

No devuelve ningún valor.

EvSignal::createStopped
EvStat
EvSignal


The EvStat class

(PECL ev >= 0.2.0)

Introducción

EvStat monitors a file system path for attribute changes. It calls stat() on that path in regular intervals(or when the OS signals it changed) and sees if it changed compared to the last time, invoking the callback if it did.

The path does not need to exist: changing from "path exists" to "path does not exist" is a status change like any other. The condition "path does not exist" is signified by the 'nlink' item being 0(returned by EvStat::attr() method).

The path must not end in a slash or contain special components such as '.' or .. . The path should be absolute: if it is relative and the working directory changes, then the behaviour is undefined.

Since there is no portable change notification interface available, the portable implementation simply calls stat() regularly on the path to see if it changed somehow. For this case a recommended polling interval can be specified. If one specifies a polling interval of 0.0 (highly recommended) then a suitable, unspecified default value will be used(which could be expected to be around 5 seconds, although this might change dynamically). libev will also impose a minimum interval which is currently around 0.1 , but that’s usually overkill.

This watcher type is not meant for massive numbers of EvStat watchers, as even with OS-supported change notifications, this can be resource-intensive.

Sinopsis de la Clase

EvStat extends EvWatcher {
/* Propiedades */
public $path ;
public $interval ;
/* Propiedades heredadas */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Métodos */
public array attr ( void )
public __construct ( string $path , double $interval , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
final public static void createStopped ( string $path , double $interval , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
public void prev ( void )
public void set ( string $path , double $interval )
public bool stat ( void )
/* Métodos heredados */
public int EvWatcher::clear ( void )
abstract public EvWatcher::__construct ( void )
public void EvWatcher::feed ( int $revents )
public EvLoop EvWatcher::getLoop ( void )
public void EvWatcher::invoke ( int $revents )
public bool EvWatcher::keepalive ([ bool $value ] )
public void EvWatcher::setCallback ( callable $callback )
public void EvWatcher::start ( void )
public void EvWatcher::stop ( void )
}

Propiedades

interval

Readonly . Hint on how quickly a change is expected to be detected and should normally be specified as 0.0 to let libev choose a suitable value.

path

Readonly . The path to wait for status changes on.

Tabla de contenidos

  • EvStat::attr — Returns the values most recently detected by Ev
  • EvStat::__construct — Constructs EvStat watcher object
  • EvStat::createStopped — Create a stopped EvStat watcher object
  • EvStat::prev — Returns the previous set of values returned by EvStat::attr
  • EvStat::set — Configures the watcher
  • EvStat::stat — Initiates the stat call
EvSignal::set
EvStat::attr
Ev


Returns the values most recently detected by Ev

EvStat
EvStat::__construct
EvStat
PHP Manual

EvStat::attr

(PECL ev >= 0.2.0)

EvStat::attr — Returns the values most recently detected by Ev

Descripción

public array EvStat::attr ( void )

Returns array of the values most recently detected by Ev

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns array with the values most recently detect by Ev(without actual stat 'ing):

List for item keys of the array returned by EvStat::attr()
Key | Description
'dev' | ID of device containing file
'ino' | inode number
'mode' | protection
'nlink' | number of hard links
'uid' | user ID of owner
'size' | total size, in bytes
'gid' | group ID of owner
'rdev' | device ID (if special file)
'blksize' | blocksize for file system I/O
'blocks' | number of 512B blocks allocated
'atime' | time of last access
'ctime' | time of last status change
'mtime' | time of last modification

See stat(2) man page for details.

Ejemplos

Ejemplo #1 Monitor changes of /var/log/messages

<?php
// Use 10 second update interval.
$w = new EvStat("/var/log/messages", 8, function ($w) {
    echo "/var/log/messages changed\n";

    $attr = $w->attr();

    if ($attr['nlink']) {
        printf("Current size: %ld\n", $attr['size']);
        printf("Current atime: %ld\n", $attr['atime']);
        printf("Current mtime: %ld\n", $attr['mtime']);
    } else {
        fprintf(STDERR, "`messages` file is not there!");
        $w->stop();
    }
});

Ev::run();
?>

Ver también

  • EvStat::prev() - Returns the previous set of values returned by EvStat::attr
  • EvStat::stat() - Initiates the stat call
EvStat
EvStat::__construct
EvStat


Constructs EvStat watcher object

EvStat::attr
EvStat::createStopped
EvStat
PHP Manual

EvStat::__construct

(PECL ev >= 0.2.0)

EvStat::__construct — Constructs EvStat watcher object

Descripción

public EvStat::__construct ( string $path , double $interval , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Constructs EvStat watcher object and starts the watcher automatically.

Parámetros

path

The path to wait for status changes on.

interval

Hint on how quickly a change is expected to be detected and should normally be specified as 0.0 to let libev choose a suitable value.

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valores devueltos

Returns EvStat watcher object on succes.

Ejemplos

Ejemplo #1 Monitor changes of /var/log/messages

<?php
// Use 10 second update interval.
$w = new EvStat("/var/log/messages", 8, function ($w) {
 echo "/var/log/messages changed\n";

 $attr = $w->attr();

 if ($attr['nlink']) {
  printf("Current size: %ld\n", $attr['size']);
  printf("Current atime: %ld\n", $attr['atime']);
  printf("Current mtime: %ld\n", $attr['mtime']);
 } else {
  fprintf(STDERR, "`messages` file is not there!");
  $w->stop();
 }
});

Ev::run();
?>
EvStat::attr
EvStat::createStopped
EvStat


Create a stopped EvStat watcher object

EvStat::__construct
EvStat::prev
EvStat
PHP Manual

EvStat::createStopped

(PECL ev >= 0.2.0)

EvStat::createStopped — Create a stopped EvStat watcher object

Descripción

final public static void EvStat::createStopped ( string $path , double $interval , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Creates EvStat watcher object, but doesn't start it automatically(unlike EvStat::__construct() ).

Parámetros

path

The path to wait for status changes on.

interval

Hint on how quickly a change is expected to be detected and should normally be specified as 0.0 to let libev choose a suitable value.

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valores devueltos

Returns a stopped EvStat watcher object on success.

Ver también

  • EvStat::__construct() - Constructs EvStat watcher object
  • EvWatcher::start() - Starts the watcher
EvStat::__construct
EvStat::prev
EvStat


Returns the previous set of values returned by EvStat::attr

EvStat::createStopped
EvStat::set
EvStat
PHP Manual

EvStat::prev

(PECL ev >= 0.2.0)

EvStat::prev — Returns the previous set of values returned by EvStat::attr

Descripción

public void EvStat::prev ( void )

Just like EvStat::attr() , but returns the previous set of values.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns an array with the same structure as the array returned by EvStat::attr() . The array contains previously detected values.

Ver también

  • EvStat::attr() - Returns the values most recently detected by Ev
  • EvStat::stat() - Initiates the stat call
EvStat::createStopped
EvStat::set
EvStat


Configures the watcher

EvStat::prev
EvStat::stat
EvStat
PHP Manual

EvStat::set

(PECL ev >= 0.2.0)

EvStat::set — Configures the watcher

Descripción

public void EvStat::set ( string $path , double $interval )

Configures the watcher.

Parámetros

path

The path to wait for status changes on.

interval

Hint on how quickly a change is expected to be detected and should normally be specified as 0.0 to let libev choose a suitable value.

Valores devueltos

No devuelve ningún valor.

EvStat::prev
EvStat::stat
EvStat


Initiates the stat call

EvStat::set
EvTimer
EvStat
PHP Manual

EvStat::stat

(PECL ev >= 0.2.0)

EvStat::stat — Initiates the stat call

Descripción

public bool EvStat::stat ( void )

Initiates the stat call(updates internal cache). It stats(using lstat ) the path specified in the watcher and sets to the values found.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns TRUE if path exists. Otherwise FALSE.

Ver también

  • EvStat::attr() - Returns the values most recently detected by Ev
  • EvStat::prev() - Returns the previous set of values returned by EvStat::attr
EvStat::set
EvTimer
EvStat


The EvTimer class

(PECL ev >= 0.2.0)

Introducción

EvTimer watchers are simple relative timers that generate an event after a given time, and optionally repeating in regular intervals after that.

The timers are based on real time, that is, if one registers an event that times out after an hour and resets the system clock to January last year , it will still time out after(roughly) one hour. "Roughly" because detecting time jumps is hard, and some inaccuracies are unavoidable.

The callback is guaranteed to be invoked only after its timeout has passed (not at, so on systems with very low-resolution clocks this might introduce a small delay). If multiple timers become ready during the same loop iteration then the ones with earlier time-out values are invoked before ones of the same priority with later time-out values (but this is no longer true when a callback calls EvLoop::run() recursively).

The timer itself will do a best-effort at avoiding drift, that is, if a timer is configured to trigger every 10 seconds, then it will normally trigger at exactly 10 second intervals. If, however, the script cannot keep up with the timer because it takes longer than those 10 seconds to do) the timer will not fire more than once per event loop iteration.

Sinopsis de la Clase

EvTimer extends EvWatcher {
/* Propiedades */
public $repeat ;
public $remaining ;
/* Propiedades heredadas */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Métodos */
public void again ( void )
public __construct ( double $after , double $repeat , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
final public static EvTimer createStopped ( double $after , double $repeat , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
public void set ( double $after , double $repeat )
/* Métodos heredados */
public int EvWatcher::clear ( void )
abstract public EvWatcher::__construct ( void )
public void EvWatcher::feed ( int $revents )
public EvLoop EvWatcher::getLoop ( void )
public void EvWatcher::invoke ( int $revents )
public bool EvWatcher::keepalive ([ bool $value ] )
public void EvWatcher::setCallback ( callable $callback )
public void EvWatcher::start ( void )
public void EvWatcher::stop ( void )
}

Propiedades

repeat

If repeat is 0.0 , then it will automatically be stopped once the timeout is reached. If it is positive, then the timer will automatically be configured to trigger again every repeat seconds later, until stopped manually.

remaining

Returns the remaining time until a timer fires. If the timer is active, then this time is relative to the current event loop time, otherwise it's the timeout value currently configured.

That is, after instanciating an EvTimer with an after value of 5.0 and repeat value of 7.0 , remaining returns 5.0 . When the timer is started and one second passes, remaining will return 4.0 . When the timer expires and is restarted, it will return roughly 7.0 (likely slightly less as callback invocation takes some time too), and so on.

Tabla de contenidos

  • EvTimer::again — Restarts the timer watcher
  • EvTimer::__construct — Constructs an EvTimer watcher object
  • EvTimer::createStopped — Creates EvTimer stopped watcher object
  • EvTimer::set — Configures the watcher
EvStat::stat
EvTimer::again
Ev


Restarts the timer watcher

EvTimer
EvTimer::__construct
EvTimer
PHP Manual

EvTimer::again

(PECL ev >= 0.2.0)

EvTimer::again — Restarts the timer watcher

Descripción

public void EvTimer::again ( void )

This will act as if the timer timed out and restart it again if it is repeating. The exact semantics are:

  1. if the timer is pending, its pending status is cleared.

  2. if the timer is started but non-repeating, stop it (as if it timed out).

  3. if the timer is repeating, either start it if necessary (with the repeat value), or reset the running timer to the repeat value.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • EvWatcher::stop() - Stops the watcher
EvTimer
EvTimer::__construct
EvTimer


Constructs an EvTimer watcher object

EvTimer::again
EvTimer::createStopped
EvTimer
PHP Manual

EvTimer::__construct

(PECL ev >= 0.2.0)

EvTimer::__construct — Constructs an EvTimer watcher object

Descripción

public EvTimer::__construct ( double $after , double $repeat , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Constructs an EvTimer watcher object.

Parámetros

after

Configures the timer to trigger after after seconds.

repeat

If repeat is 0.0 , then it will automatically be stopped once the timeout is reached. If it is positive, then the timer will automatically be configured to trigger again every repeat seconds later, until stopped manually.

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valores devueltos

Returns EvTimer object on success.

Ejemplos

Ejemplo #1 Simple timers

<?php
// Create and start timer firing after 2 seconds
$w1 = new EvTimer(2, 0, function () {
    echo "2 seconds elapsed\n";
});

// Create and launch timer firing after 2 seconds repeating each second
// until we manually stop it
$w2 = new EvTimer(2, 1, function ($w) {
    echo "is called every second, is launched after 2 seconds\n";
    echo "iteration = ", Ev::iteration(), PHP_EOL;

    // Stop the watcher after 5 iterations
    Ev::iteration() == 5 and $w->stop();
    // Stop the watcher if further calls cause more than 10 iterations
    Ev::iteration() >= 10 and $w->stop();
});

// Create stopped timer. It will be inactive until we start it ourselves
$w_stopped = EvTimer::createStopped(10, 5, function($w) {
    echo "Callback of a timer created as stopped\n";

    // Stop the watcher after 2 iterations
    Ev::iteration() >= 2 and $w->stop();
});

// Loop until Ev::stop() is called or all of watchers stop
Ev::run();

// Start and look if it works
$w_stopped->start();
echo "Run single iteration\n";
Ev::run(Ev::RUN_ONCE);

echo "Restart the second watcher and try to handle the same events, but don't block\n";
$w2->again();
Ev::run(Ev::RUN_NOWAIT);

$w = new EvTimer(10, 0, function() {});
echo "Running a blocking loop\n";
Ev::run();
echo "END\n";
?>

El resultado del ejemplo sería algo similar a:

2 seconds elapsed
is called every second, is launched after 2 seconds
iteration = 1
is called every second, is launched after 2 seconds
iteration = 2
is called every second, is launched after 2 seconds
iteration = 3
is called every second, is launched after 2 seconds
iteration = 4
is called every second, is launched after 2 seconds
iteration = 5
Run single iteration
Callback of a timer created as stopped
Restart the second watcher and try to handle the same events, but don't block
Running a blocking loop
is called every second, is launched after 2 seconds
iteration = 8
is called every second, is launched after 2 seconds
iteration = 9
is called every second, is launched after 2 seconds
iteration = 10
END

Ver también

  • EvTimer::createStopped() - Creates EvTimer stopped watcher object
  • EvPeriodic
  • » ev_timer - relative and optionally repeating timeouts
  • » Be smart about timeouts
EvTimer::again
EvTimer::createStopped
EvTimer


Creates EvTimer stopped watcher object

EvTimer::__construct
EvTimer::set
EvTimer
PHP Manual

EvTimer::createStopped

(PECL ev >= 0.2.0)

EvTimer::createStopped — Creates EvTimer stopped watcher object

Descripción

final public static EvTimer EvTimer::createStopped ( double $after , double $repeat , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Creates EvTimer stopped watcher object. Unlike EvTimer::__construct() , this method doesn't start the watcher automatically.

Parámetros

after

Configures the timer to trigger after after seconds.

repeat

If repeat is 0.0 , then it will automatically be stopped once the timeout is reached. If it is positive, then the timer will automatically be configured to trigger again every repeat seconds later, until stopped manually.

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valores devueltos

Returns EvTimer watcher object on success.

Ejemplos

Ejemplo #1 Monotor changes of /var/log/messages. Avoid missing updates by means of one second delay

<?php
$timer = EvTimer::createStopped(0., 1.02, function ($w) {
    $w->stop();

    $stat = $w->data;

    // 1 second after the most recent change of the file
    printf("Current size: %ld\n", $stat->attr()['size']);
});

$stat = new EvStat("/var/log/messages", 0., function () use ($timer) {
    // Reset timer watcher
    $timer->again();
});

$timer->data = $stat;

Ev::run();
?>

Ver también

  • EvTimer::__construct() - Constructs an EvTimer watcher object
  • EvPeriodic
EvTimer::__construct
EvTimer::set
EvTimer


Configures the watcher

EvTimer::createStopped
EvWatcher
EvTimer
PHP Manual

EvTimer::set

(PECL ev >= 0.2.0)

EvTimer::set — Configures the watcher

Descripción

public void EvTimer::set ( double $after , double $repeat )

Configures the watcher

Parámetros

after

Configures the timer to trigger after after seconds.

repeat

If repeat is 0.0 , then it will automatically be stopped once the timeout is reached. If it is positive, then the timer will automatically be configured to trigger again every repeat seconds later, until stopped manually.

Valores devueltos

No devuelve ningún valor.

EvTimer::createStopped
EvWatcher
EvTimer


The EvWatcher class

(PECL ev >= 0.2.0)

Introducción

EvWatcher is a base class for all watchers( EvCheck , EvChild etc.). Since EvWatcher 's constructor is abstract , one can't(and don't need to) create EvWatcher objects directly.

Sinopsis de la Clase

abstract EvWatcher {
/* Propiedades */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Métodos */
public int clear ( void )
abstract public __construct ( void )
public void feed ( int $revents )
public EvLoop getLoop ( void )
public void invoke ( int $revents )
public bool keepalive ([ bool $value ] )
public void setCallback ( callable $callback )
public void start ( void )
public void stop ( void )
}

Propiedades

is_active

Readonly . TRUE if the watcher is active. FALSE otherwise.

data

User custom data associated with the watcher

is_pending

Readonly .TRUE if the watcher is pending, i.e. it has outstanding events, but its callback has not yet been invoked. FALSE otherwise. As long, as a watcher is pending(but not active), one must not change its priority.

priority

Integer between Ev::MINPRI and Ev::MAXPRI . Pending watchers with higher priority will be invoked before watchers with lower priority, but priority will not keep watchers from being executed(except for EvIdle watchers). EvIdle watchers provide functionality to suppress invocation when higher priority events are pending.

Tabla de contenidos

  • EvWatcher::clear — Clear watcher pending status
  • EvWatcher::__construct — Abstract constructor of a watcher object
  • EvWatcher::feed — Feeds the given revents set into the event loop
  • EvWatcher::getLoop — Returns the loop responsible for the watcher
  • EvWatcher::invoke — Invokes the watcher callback with the given received events bit mask
  • EvWatcher::keepalive — Configures whether to keep the loop from returning
  • EvWatcher::setCallback — Sets new callback for the watcher
  • EvWatcher::start — Starts the watcher
  • EvWatcher::stop — Stops the watcher
EvTimer::set
EvWatcher::clear
Ev


Clear watcher pending status

EvWatcher
EvWatcher::__construct
EvWatcher
PHP Manual

EvWatcher::clear

(PECL ev >= 0.2.0)

EvWatcher::clear — Clear watcher pending status

Descripción

public int EvWatcher::clear ( void )

If the watcher is pending, this method clears its pending status and returns its revents bitset(as if its callback was invoked). If the watcher isn't pending it does nothing and returns 0 .

Sometimes it can be useful to "poll" a watcher instead of waiting for its callback to be invoked, which can be accomplished with this function.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

In case if the watcher is pending, returns revents bitset as if the watcher callback had been invoked. Otherwise returns 0 .

EvWatcher
EvWatcher::__construct
EvWatcher


Abstract constructor of a watcher object

EvWatcher::clear
EvWatcher::feed
EvWatcher
PHP Manual

EvWatcher::__construct

(PECL ev >= 0.2.0)

EvWatcher::__construct — Abstract constructor of a watcher object

Descripción

abstract public EvWatcher::__construct ( void )

EvWatcher::__construct() is an abstract constructor of a watcher object implemented in the derived classes.

EvWatcher::clear
EvWatcher::feed
EvWatcher


Feeds the given revents set into the event loop

EvWatcher::__construct
EvWatcher::getLoop
EvWatcher
PHP Manual

EvWatcher::feed

(PECL ev >= 0.2.0)

EvWatcher::feed — Feeds the given revents set into the event loop

Descripción

public void EvWatcher::feed ( int $revents )

Feeds the given revents set into the event loop, as if the specified event had happened for the watcher.

Parámetros

revents

Bit mask of watcher received events .

Valores devueltos

No devuelve ningún valor.

EvWatcher::__construct
EvWatcher::getLoop
EvWatcher


Returns the loop responsible for the watcher

EvWatcher::feed
EvWatcher::invoke
EvWatcher
PHP Manual

EvWatcher::getLoop

(PECL ev >= 0.2.0)

EvWatcher::getLoop — Returns the loop responsible for the watcher

Descripción

public EvLoop EvWatcher::getLoop ( void )

Returns the loop responsible for the watcher

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns EvLoop event loop object responsible for the watcher.

EvWatcher::feed
EvWatcher::invoke
EvWatcher


Invokes the watcher callback with the given received events bit mask

EvWatcher::getLoop
EvWatcher::keepalive
EvWatcher
PHP Manual

EvWatcher::invoke

(PECL ev >= 0.2.0)

EvWatcher::invoke — Invokes the watcher callback with the given received events bit mask

Descripción

public void EvWatcher::invoke ( int $revents )

Invokes the watcher callback with the given received events bit mask.

Parámetros

revents

Bit mask of watcher received events .

Valores devueltos

No devuelve ningún valor.

EvWatcher::getLoop
EvWatcher::keepalive
EvWatcher


Configures whether to keep the loop from returning

EvWatcher::invoke
EvWatcher::setCallback
EvWatcher
PHP Manual

EvWatcher::keepalive

(PECL ev >= 0.2.0)

EvWatcher::keepalive — Configures whether to keep the loop from returning

Descripción

public bool EvWatcher::keepalive ([ bool $value ] )

Configures whether to keep the loop from returning. With keepalive value set to FALSE the watcher won't keep Ev::run() / EvLoop::run() from returning even though the watcher is active.

Watchers have keepalive value TRUE by default.

Clearing keepalive status is useful when returning from Ev::run() / EvLoop::run() just because of the watcher is undesirable. It could be a long running UDP socket watcher or so.

Parámetros

value

With keepalive value set to FALSE the watcher won't keep Ev::run() / EvLoop::run() from returning even though the watcher is active.

Valores devueltos

Returns the previous state.

Ejemplos

Ejemplo #1 Register an I/O watcher for some UDP socket but do not keep the event loop from running just because of that watcher.

<?php
$udp_socket = ...
$udp_watcher = new EvIo($udp_socket, Ev::READ, function () { /* ... */ });
$udp_watcher->keepalive(FALSE);
?>
EvWatcher::invoke
EvWatcher::setCallback
EvWatcher


Sets new callback for the watcher

EvWatcher::keepalive
EvWatcher::start
EvWatcher
PHP Manual

EvWatcher::setCallback

(PECL ev >= 0.2.0)

EvWatcher::setCallback — Sets new callback for the watcher

Descripción

public void EvWatcher::setCallback ( callable $callback )

Sets new callback for the watcher

Parámetros

callback

See Watcher callbacks .

Valores devueltos

No devuelve ningún valor.

EvWatcher::keepalive
EvWatcher::start
EvWatcher


Starts the watcher

EvWatcher::setCallback
EvWatcher::stop
EvWatcher
PHP Manual

EvWatcher::start

(PECL ev >= 0.2.0)

EvWatcher::start — Starts the watcher

Descripción

public void EvWatcher::start ( void )

Marks the watcher as active. Note that only active watchers will receive events.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • EvWatcher::stop() - Stops the watcher
EvWatcher::setCallback
EvWatcher::stop
EvWatcher


Stops the watcher

EvWatcher::start
Expect
EvWatcher
PHP Manual

EvWatcher::stop

(PECL ev >= 0.2.0)

EvWatcher::stop — Stops the watcher

Descripción

public void EvWatcher::stop ( void )

Marks the watcher as inactive. Note that only active watchers will receive events.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • EvWatcher::start() - Starts the watcher
EvWatcher::start
Expect
EvWatcher


Expect

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Ejemplos de uso de Expect
  • Funciones de Expect
    • expect_expectl — Espera a que la salida de un proceso coincida con un patrón, se supere un determinado periodo de tiempo, o se alcance un EOF
    • expect_popen — Ejecuta comandos por la shell Bourne, y abre el flujo PTY al proceso
EvWatcher::stop
Introducción
Extensiones de control de procesos


Introducción

Esta extensión permite interactuar con procesos mediante PTY. Se recomienda tener en cuenta la envoltura expect:// junto con las funciones del sistema de ficheros, lo cual ofrece una interfaz más sencilla e intuitiva.

Expect
Instalación/Configuración
Expect


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Expect


Requerimientos

Este módulo utiliza las funciones de la biblioteca » expect. Se necesita la versión de libexpect >= 5.43.0.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP. Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/expect.

En PHP 4 el código fuente de estas extensiones PECL puede ser encontrado en el directorio ext/ dentro del código fuente de PHP o a través del anterior enlace a PECL. Para poder utilizar estas funciones, debe compilarse PHP con soporte para expect usando la opción de configuración --with-expect[=DIR] .

Para poder usar estas funciones en sistemas windows, debe habilitarse php_expect.dll. En PHP 4 esta DLL reside en el directorio extensions/ dentro de la descarga de los binarios de PHP para Windows. Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

La extensión Expect se configura mediante opciones del fichero de configuración php.ini.

Opciones de configuración de Expect
Nombre | Por defecto | Cambiable | Registro de cambios
expect.timeout | "10" | PHP_INI_ALL |
expect.loguser | "1" | PHP_INI_ALL |
expect.logfile | "" | PHP_INI_ALL |
expect.match_max | "" | PHP_INI_ALL |
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

expect.timeout integer

Tiempo de espera de datos, al usar la función expect_expectl().

"-1" deshabilita el tiempo de espera.

Nota:

"0" provoca que expect_expectl() devuelva el control inmediatamente.

expect.loguser boolean

Indica si Expect debe enviar alguna salida del proceso creado a la salida estándar. Dado que normalmente los programas interactivos imprimen en pantalla los datos de entrada, esto sería suficiente para poder mostrar los dos lados de la conversación.

expect.logfile string

Nombre del fichero en el que se escribirá la salida del proceso creado. Si no existiera, se crearía.

Nota:

Si se establece un valor, se escribe la salida independientemente del valor de expect.loguser.

expect.match_max integer

Cambia el tamaño por omisión (2000 bytes) del buffer utilizado para que coincida con los asteriscos en el patrón.

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

expect_popen() devuelve el flujo del PTY usado por expect_expectl().

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

EXP_GLOB (integer)
Indica que el patrón es del tipo glob (tipo Unix).
EXP_EXACT (integer)
Indica que el patrón es una cadena exacta.
EXP_REGEXP (integer)
Indica que el patrón es un texto de tipo expresión regular.
EXP_EOF (integer)
Valor, devuelto por expect_expectl(), cada vez que se alcanza EOF (fin del fichero).
EXP_TIMEOUT (integer)
Valor, devuelto por expect_expectl() pasados unos determinados segundos, con el valor especificado en expect.timeout
EXP_FULLBUFFER (integer)
Valor, devuelto por expect_expectl() si no coincidiera ningún patrón.
Tipos de recursos
Ejemplos
Expect


Ejemplos

Tabla de contenidos

  • Ejemplos de uso de Expect
Constantes predefinidas
Ejemplos de uso de Expect
Expect


Ejemplos de uso de Expect

Ejemplo #1 Ejemplo de uso de Expect

Este ejemplo conecta a un host remoto mediante SSH, y muestra el tiempo que lleva en funcionamiento dicho host con uptime.

<?php
ini_set("expect.loguser", "Off");

$stream = fopen("expect://ssh root@remotehost uptime", "r");

$cases = array (
    array (0 => "password:", 1 => PASSWORD)
);

switch (expect_expectl ($stream, $cases)) {
    case PASSWORD:
        fwrite ($stream, "password\n");
        break;

    default:
        die ("Error al tratar de conectar con el host remoto\n");
}

while ($line = fgets($stream)) {
      print $line;
}
fclose ($stream);
?>

El siguiente ejemplo conecta con un host remoto, determina si el SO instalado es de 32 o de 64 bits, y finalmente actualiza el paquete que corresponda.

Ejemplo #2 Otro ejemplo de uso de Expect

<?php
ini_set("expect.timeout", -1);
ini_set("expect.loguser", "Off");

$stream = expect_popen("ssh root@remotehost");

while (true) {
    switch (expect_expectl ($stream, array (
            array ("password:", PASSWORD), // SSH pide contraseña
            array ("yes/no)?", YESNO), // SSH pide si almacenar o no el host
            array ("~$ ", SHELL, EXP_EXACT), // ¡Hemos conectado!
    ))) {
        case PASSWORD:
            fwrite ($stream, "secret\n");
            break;

        case YESNO:
            fwrite ($stream, "yes\n");
            break;

        case SHELL:
            fwrite ($stream, "uname -a\n");
            while (true) {
                    switch (expect_expectl ($stream, array (
                            array ("~$ ", SHELL, EXP_EXACT), // ¡Hemos conectado!
                            array ("^Linux.*$", UNAME, EXP_REGEXP), // salida de uname -a
                    ), $match)) {
                        case UNAME:
                            $uname .= $match[0];
                            break;

                        case SHELL:
                            // Run update:
                            if (strstr ($uname, "x86_64")) {
                                    fwrite ($stream, "rpm -Uhv http://mirrorsite/somepath/some_64bit.rpm\n");
                            } else {
                                    fwrite ($stream, "rpm -Uhv http://mirrorsite/somepath/some_32bit.rpm\n");
                            }
                            fwrite ($stream, "exit\n");
                            break 2;

                        case EXP_TIMEOUT:
                        case EXP_EOF:
                            break 2;

                        default:
                            die ("Ha ocurrido un error\n");
                    }
            }
            break 2;

        case EXP_TIMEOUT:
        case EXP_EOF:
            break 2;

        default:
            die ("Ha ocurrido un error\n");
    }
}

fclose ($stream);
?>
Ejemplos
Funciones de Expect
Ejemplos


Funciones de Expect

Tabla de contenidos

  • expect_expectl — Espera a que la salida de un proceso coincida con un patrón, se supere un determinado periodo de tiempo, o se alcance un EOF
  • expect_popen — Ejecuta comandos por la shell Bourne, y abre el flujo PTY al proceso
Ejemplos de uso de Expect
expect_expectl
Expect


Espera a que la salida de un proceso coincida con un patrón, se supere un determinado periodo de tiempo, o se alcance un EOF

Funciones de Expect
expect_popen
Funciones de Expect
PHP Manual

expect_expectl

(PECL expect >= 0.1.0)

expect_expectl — Espera a que la salida de un proceso coincida con un patrón, se supere un determinado periodo de tiempo, o se alcance un EOF

Descripción

int expect_expectl ( resource $expect , array $cases [, array &$match ] )

Espera a que la salida de un proceso coincida con un patrón, se supere un determinado periodo de tiempo, o se alcance un EOF.

Si se proporciona el parámetro match, se le asignará el resultado de la búsqueda. La cadena que coincide se encuentra en match[0]. Las subcadenas que coincidan (de acuerdo a los paréntesis) con el patrón original se encuentran en match[1], match[2], y así hasta match[9] (límite establecido por libexpect).

Parámetros

expect

Flujo de Expect, abierto anteriormente con expect_popen().

cases

Matriz con casos de expect. Cada caso será un array indexado, tal como se describe en la siguiente tabla:

Array de Caso de Expect
Clave de índice | Tipo de valor | Descripción | Es Obligatorio | Valor por omisión
0 | string | patrón, que buscará coincidencias en la salida del flujo | sí
1 | mixto | valor, que devolverá esta función, si coincidiera el patrón | sí
2 | integer | tipo de patrón, de entre: EXP_GLOB, EXP_EXACT o EXP_REGEXP | no | EXP_GLOB

Valores devueltos

Devuelve valores asociados con el patrón que coincida.

En caso de error esta función devuelve: EXP_EOF, EXP_TIMEOUT o EXP_FULLBUFFER

Historial de cambios

Versión | Descripción
0.2.1 | Antes de la versión 0.2.1, en el parámetro match se devolvía el string que coincidiera, no un array de substrings coincidentes.

Ejemplos

Ejemplo #1 Ejemplo de expect_expectl()

<?php
// Copias de los archivos de host remoto:
ini_set("expect.timeout", 30);

$stream = fopen("expect://scp user@remotehost:/var/log/messages /home/user/messages.txt", "r");

$cases = array(
    // array(patrón, valor que se devolverá si el patrón es encontrado)
    array("password:", "asked for password"),
    array("yes/no)?",  "asked for yes/no")
);

while (true) {
    switch (expect_expectl($stream, $cases)) {
        case "asked for password":
            fwrite($stream, "my password\n");
            break;
        case "asked for yes/no":
            fwrite($stream, "yes\n");
            break;
        case EXP_TIMEOUT:
        case EXP_EOF:
            break 2; // break tanto la sentencia switch y el bucle while
        default:
            die "Error has occurred!";
    }
}

fclose($stream);
?>

Ver también

  • expect_popen() - Ejecuta comandos por la shell Bourne, y abre el flujo PTY al proceso

Funciones de Expect
expect_popen
Funciones de Expect


Ejecuta comandos por la shell Bourne, y abre el flujo PTY al proceso

expect_expectl
Libevent
Funciones de Expect
PHP Manual

expect_popen

(PECL expect >= 0.1.0)

expect_popen — Ejecuta comandos por la shell Bourne, y abre el flujo PTY al proceso

Descripción

resource expect_popen ( string $command )

Ejecuta comandos por la shell Bourne, y abre el flujo PTY al proceso.

Parámetros

command

Comando a ejecutar.

Valores devueltos

Devuelve un flujo PTY abierto al stdio, stdout, y stderr del prceso.

En caso de error, devuelve FALSE.

Ejemplos

Ejemplo #1 Ejemplo de expect_popen()

<?php
// Entrar en el repositorio CVS de PHP.net
$stream = expect_popen ("cvs -d :pserver:anonymous@cvs.php.net:/repository login");
sleep (3);
fwrite ($stream, "phpfi\n");
fclose ($stream);
?>

Ver también

  • popen() - Abre un proceso de un puntero a un archivo

expect_expectl
Libevent
Funciones de Expect


Libevent

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • Libevent Funciones
    • event_add — Añade un evento al conjunto de eventos monitorizados
    • event_base_free — Destruye una base de eventos
    • event_base_loop — Gestiona eventos
    • event_base_loopbreak — Aborta un bucle de eventos
    • event_base_loopexit — Sale del bucle después de un tiempo
    • event_base_new — Crea e inicializa una nueva base de eventos
    • event_base_priority_init — Configura el número de niveles de prioridad de los eventos
    • event_base_set — Asocia una base de eventos con un evento
    • event_buffer_base_set — Asocia el evento en un buffer con una base de eventos
    • event_buffer_disable — Desactiva un evento que se encuentra en el buffer
    • event_buffer_enable — Activar un evento almacenado en el buffer
    • event_buffer_fd_set — Cambia el descriptor de fichero de un evento almacenado en el buffer
    • event_buffer_free — Destruye el evento almacenado en el buffer
    • event_buffer_new — Crea un evento en el buffer
    • event_buffer_priority_set — Asigna una prioridad a un evento en el buffer
    • event_buffer_read — Lee datos de un evento buferizado
    • event_buffer_set_callback — Configura o reconfigura llamadas para un evento buferizado
    • event_buffer_timeout_set — Configura los timeouts de lectura y escritura para un evento buferizado
    • event_buffer_watermark_set — Configura las marcas para eventos de lectura y escritura
    • event_buffer_write — Escribe datos en un evento buferizado
    • event_del — Elimina un evento del conjunto de eventos monitorizados
    • event_free — Libera el recurso de evento
    • event_new — Crea un nuevo evento
    • event_set — Prepara un evento
expect_popen
Introducción
Extensiones de control de procesos


Introducción

Libevent es una librería que proporciona un mecanismo para ejecutar una función de llamada de retorno cuando ocurre un evento específico en un descriptor de fichero o después de un tiempo de espera alcanzado.

Más información sobre libevent se puede encontrar en » http://www.monkey.org/~provos/libevent/.

Libevent
Instalación/Configuración
Libevent


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Libevent


Requerimientos

Esta extensión requiere la librería » libevent. La versión mínima requerida es 1.4.0.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/libevent.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

Hay muchos tipos de recursos utilizados en la extensión. Estos recursos son: evento, evento base y evento almacenado en buffer.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

EV_TIMEOUT (entero)
EV_READ (entero)
EV_WRITE (entero)
EV_SIGNAL (entero)
EV_PERSIST (entero)
EVLOOP_NONBLOCK (entero)
EVLOOP_ONCE (entero)
Tipos de recursos
Ejemplos
Libevent


Ejemplos

Ejemplo #1 Votación con STDIN utilizando la API básica

<?php

function print_line($fd, $events, $arg)
{
    static $max_requests = 0;

    $max_requests++;

    if ($max_requests == 10) {
        // Salir del bucle después que escriba 10 veces
        event_base_loopexit($arg[1]);
    }

    // Imprimir o mostrar la línea actual
    echo  fgets($fd);
}

// crear la base y el evento
$base = event_base_new();
$event = event_new();

$fd = STDIN;

// Colocar las banderas del evento
event_set($event, $fd, EV_READ | EV_PERSIST, "print_line", array($event, $base));
// Colocar la base del evento
event_base_set($event, $base);

// Habilitar el evento
event_add($event);
// Iniciar el bucle del evento
event_base_loop($base);

?>

Ejemplo #2 Votación con STDIN utilizando la API de almacenamiento intermedio del evento

<?php

function print_line($buf, $arg)
{
    static $max_requests;

    $max_requests++;

    if ($max_requests == 10) {
        event_base_loopexit($arg);
    }

    // Imprimir o mostrar la línea actual
    echo event_buffer_read($buf, 4096);
}

function error_func($buf, $what, $arg)
{
    // Manejador de errores
}

$base = event_base_new();
$eb = event_buffer_new(STDIN, "print_line", NULL, "error_func", $base);

event_buffer_base_set($eb, $base);
event_buffer_enable($eb, EV_READ);

event_base_loop($base);

?>

Constantes predefinidas
Libevent Funciones
Libevent


Libevent Funciones

Tabla de contenidos

  • event_add — Añade un evento al conjunto de eventos monitorizados
  • event_base_free — Destruye una base de eventos
  • event_base_loop — Gestiona eventos
  • event_base_loopbreak — Aborta un bucle de eventos
  • event_base_loopexit — Sale del bucle después de un tiempo
  • event_base_new — Crea e inicializa una nueva base de eventos
  • event_base_priority_init — Configura el número de niveles de prioridad de los eventos
  • event_base_set — Asocia una base de eventos con un evento
  • event_buffer_base_set — Asocia el evento en un buffer con una base de eventos
  • event_buffer_disable — Desactiva un evento que se encuentra en el buffer
  • event_buffer_enable — Activar un evento almacenado en el buffer
  • event_buffer_fd_set — Cambia el descriptor de fichero de un evento almacenado en el buffer
  • event_buffer_free — Destruye el evento almacenado en el buffer
  • event_buffer_new — Crea un evento en el buffer
  • event_buffer_priority_set — Asigna una prioridad a un evento en el buffer
  • event_buffer_read — Lee datos de un evento buferizado
  • event_buffer_set_callback — Configura o reconfigura llamadas para un evento buferizado
  • event_buffer_timeout_set — Configura los timeouts de lectura y escritura para un evento buferizado
  • event_buffer_watermark_set — Configura las marcas para eventos de lectura y escritura
  • event_buffer_write — Escribe datos en un evento buferizado
  • event_del — Elimina un evento del conjunto de eventos monitorizados
  • event_free — Libera el recurso de evento
  • event_new — Crea un nuevo evento
  • event_set — Prepara un evento
Ejemplos
event_add
Libevent


Añade un evento al conjunto de eventos monitorizados

Libevent Funciones
event_base_free
Libevent Funciones
PHP Manual

event_add

(PECL libevent >= 0.0.1)

event_add — Añade un evento al conjunto de eventos monitorizados

Descripción

bool event_add ( resource $event [, int $timeout = -1 ] )

event_add() planifica la ejecución de event cuando el evento especificado en event_set() ocurra en como mínimo el tiempo especificado por el parámetro timeout . Si no se ha especificado el parámetro timeout , no se tendrá en cuenta ningún timeout. El evento event debe ser inicializado antes por las funciones event_set() y event_base_set() . Si el evento event ya tenía un timeout configurado, se reemplazará por el nuevo.

Parámetros

event

Evento válido.

timeout

Timeout opcional (en microsegundos).

Valores devueltos

event_add() devuelve TRUE en caso de éxito o FALSE en caso de error.

Libevent Funciones
event_base_free
Libevent Funciones


Destruye una base de eventos

event_add
event_base_loop
Libevent Funciones
PHP Manual

event_base_free

(PECL libevent >= 0.0.1)

event_base_free — Destruye una base de eventos

Descripción

void event_base_free ( resource $event_base )

Destruye la base de eventos event_base y libera todos los recursos asociados. Notar que no es posible destruir una base de eventos que tenga eventos agregados.

Parámetros

event_base

Base de eventos válida.

event_add
event_base_loop
Libevent Funciones


Gestiona eventos

event_base_free
event_base_loopbreak
Libevent Funciones
PHP Manual

event_base_loop

(PECL libevent >= 0.0.1)

event_base_loop — Gestiona eventos

Descripción

int event_base_loop ( resource $event_base [, int $flags = 0 ] )

Inicia el bucle de eventos para la base de eventos especificada.

Parámetros

event_base

Base de eventos válida.

flags

Parámetro opcional, que puede tomar como valor cualquier combinación de EVLOOP_ONCE y EVLOOP_NONBLOCK.

Valores devueltos

event_base_loop() devuelve 0 en caso de éxito, -1 en caso derror y 1 si no se ha registrado ningún evento.

event_base_free
event_base_loopbreak
Libevent Funciones


Aborta un bucle de eventos

event_base_loop
event_base_loopexit
Libevent Funciones
PHP Manual

event_base_loopbreak

(PECL libevent >= 0.0.1)

event_base_loopbreak — Aborta un bucle de eventos

Descripción

bool event_base_loopbreak ( resource $event_base )

Aborta inmediatamente el bucle de eventos activo. El comportamiento es similar a la sentencia break .

Parámetros

event_base

Base de eventos válida.

Valores devueltos

event_base_loopbreak() devuelve TRUE en caso de éxito o FALSE en caso de error.

event_base_loop
event_base_loopexit
Libevent Funciones


Sale del bucle después de un tiempo

event_base_loopbreak
event_base_new
Libevent Funciones
PHP Manual

event_base_loopexit

(PECL libevent >= 0.0.1)

event_base_loopexit — Sale del bucle después de un tiempo

Descripción

bool event_base_loopexit ( resource $event_base [, int $timeout = -1 ] )

La siguiente iteración del bucle después de cumplido el tiempo se completará normalmente, entonces saldrá del bucle sin bloquear, en espera de otros eventos.

Parámetros

event_base

Base de eventos.

timeout

Parámetro opcional de timeout (en microsegundos).

Valores devueltos

event_base_loopexit() devuelve TRUE en caso de éxito o FALSE en caso de error.

event_base_loopbreak
event_base_new
Libevent Funciones


Crea e inicializa una nueva base de eventos

event_base_loopexit
event_base_priority_init
Libevent Funciones
PHP Manual

event_base_new

(PECL libevent >= 0.0.1)

event_base_new — Crea e inicializa una nueva base de eventos

Descripción

resource event_base_new ( void )

Devuelve una nueva base de eventos, que luego podrá ser usada en event_base_set(), event_base_loop() y otras funciones.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

event_base_new() devuelve una base de eventos válida en caso de éxito o FALSE en caso de error.

event_base_loopexit
event_base_priority_init
Libevent Funciones


Configura el número de niveles de prioridad de los eventos

event_base_new
event_base_set
Libevent Funciones
PHP Manual

event_base_priority_init

(PECL libevent >= 0.0.2)

event_base_priority_init — Configura el número de niveles de prioridad de los eventos

Descripción

bool event_base_priority_init ( resource $event_base , int $npriorities )

Configura el número de niveles de prioridad de los eventos.

Por defecto todos los eventos se programan con la misma prioridad (npriorities/2). Utilizando event_base_priority_init() se puede cambiar el número de niveles de prioridad de los eventos y configurar la prioridad deseada para cada evento.

Parámetros

event_base

Base de eventos.

npriorities

El número de niveles de prioridad de los eventos.

Valores devueltos

event_base_priority_init() devuelve TRUE en caso de éxito o FALSE en caso de error.

event_base_new
event_base_set
Libevent Funciones


Asocia una base de eventos con un evento

event_base_priority_init
event_buffer_base_set
Libevent Funciones
PHP Manual

event_base_set

(PECL libevent >= 0.0.1)

event_base_set — Asocia una base de eventos con un evento

Descripción

bool event_base_set ( resource $event , resource $event_base )

Asocia la base event_base con el evento event.

Parámetros

event

Recurso válido de evento.

event_base

Recurso válido de base de eventos.

Valores devueltos

event_base_set() devuelve TRUE en caso de éxito o FALSE en caso de error.

event_base_priority_init
event_buffer_base_set
Libevent Funciones


Asocia el evento en un buffer con una base de eventos

event_base_set
event_buffer_disable
Libevent Funciones
PHP Manual

event_buffer_base_set

(PECL libevent >= 0.0.1)

event_buffer_base_set — Asocia el evento en un buffer con una base de eventos

Descripción

bool event_buffer_base_set ( resource $bevent , resource $event_base )

Asigna el evento bevent a la base event_base.

Parámetros

bevent

Recurso de evento válido enviado al buffer.

event_base

Recurso de base de eventos válido.

Valores devueltos

event_buffer_base_set() devuelve TRUE en caso de éxito o FALSE en caso de error.

event_base_set
event_buffer_disable
Libevent Funciones


Desactiva un evento que se encuentra en el buffer

event_buffer_base_set
event_buffer_enable
Libevent Funciones
PHP Manual

event_buffer_disable

(PECL libevent >= 0.0.1)

event_buffer_disable — Desactiva un evento que se encuentra en el buffer

Descripción

bool event_buffer_disable ( resource $bevent , int $events )

Desactiva un evento específico que se encuentra en el buffer.

Parámetros

bevent

Recurso válido de evento enviado al buffer.

events

Cualquier combinación de EV_READ y EV_WRITE.

Valores devueltos

event_buffer_disable() devuelve TRUE en caso de éxito o FALSE en caso de error.

event_buffer_base_set
event_buffer_enable
Libevent Funciones


Activar un evento almacenado en el buffer

event_buffer_disable
event_buffer_fd_set
Libevent Funciones
PHP Manual

event_buffer_enable

(PECL libevent >= 0.0.1)

event_buffer_enable — Activar un evento almacenado en el buffer

Descripción

bool event_buffer_enable ( resource $bevent , int $events )

Activar un evento específico almacenado en el buffer.

Parámetros

bevent

Recurso válido de evento almacenado en el buffer.

events

Cualquier combinación de EV_READ y EV_WRITE.

Valores devueltos

event_buffer_enable() devuelve TRUE en caso de éxito o FALSE en caso de error.

event_buffer_disable
event_buffer_fd_set
Libevent Funciones


Cambia el descriptor de fichero de un evento almacenado en el buffer

event_buffer_enable
event_buffer_free
Libevent Funciones
PHP Manual

event_buffer_fd_set

(PECL libevent >= 0.0.1)

event_buffer_fd_set — Cambia el descriptor de fichero de un evento almacenado en el buffer

Descripción

void event_buffer_fd_set ( resource $bevent , resource $fd )

Cambia el descriptor de fichero en el que opera el evento enviado al buffer.

Parámetros

bevent

Recurso válido de evento enviado al buffer.

fd

Flujo PHP válido, que debe ser compatible con un descriptor de fichero.

event_buffer_enable
event_buffer_free
Libevent Funciones


Destruye el evento almacenado en el buffer

event_buffer_fd_set
event_buffer_new
Libevent Funciones
PHP Manual

event_buffer_free

(PECL libevent >= 0.0.1)

event_buffer_free — Destruye el evento almacenado en el buffer

Descripción

void event_buffer_free ( resource $bevent )

Destruye un evento específico almacenado en el buffer y libera todos los recursos asociados.

Parámetros

bevent

Recurso válido de evento almacenado en el buffer.

event_buffer_fd_set
event_buffer_new
Libevent Funciones


Crea un evento en el buffer

event_buffer_free
event_buffer_priority_set
Libevent Funciones
PHP Manual

event_buffer_new

(PECL libevent >= 0.0.1)

event_buffer_new — Crea un evento en el buffer

Descripción

resource event_buffer_new ( resource $stream , mixed $readcb , mixed $writecb , mixed $errorcb [, mixed $arg ] )

Libevent proporciona una capa de abstracción por encima del API de eventos. La utilización de eventos en el buffer hace que no sea necesario gestionar la I/O manualmente, sinó que proporciona buffers de entrada y salida que se llenan y vacían de forma automática.

Parámetros

stream

Recurso de flujo PHP. Debe poder ser tipificado como un descriptor de fichero.

readcb

Llamada en background para invocar donde hay datos que leer, o NULL si no se desea llamada en background.

writecb

Llamada en background para invocar donde está listo para escribir el descripor, o NULL si no se desea llamada en background.

errorcb

Llamada en background para invocar donde hay un error en el descriptor, no puede ser NULL.

arg

Un parámetro que se pasará para cada una de las llamadas en background (opcional).

Valores devueltos

event_buffer_new() devuelve nuevos recursos de evento en el buffer en caso de éxito o FALSE en caso de error.

event_buffer_free
event_buffer_priority_set
Libevent Funciones


Asigna una prioridad a un evento en el buffer

event_buffer_new
event_buffer_read
Libevent Funciones
PHP Manual

event_buffer_priority_set

(PECL libevent >= 0.0.1)

event_buffer_priority_set — Asigna una prioridad a un evento en el buffer

Descripción

bool event_buffer_priority_set ( resource $bevent , int $priority )

Asigna una prioridad al evento bevent.

Parámetros

bevent

Recurso válido de evento buferizado.

priority

Nivel de prioridad. No puede ser menor de cero ni exceder el nivel máximo de prioridad del evento base (ver la función event_base_priority_init()).

Valores devueltos

event_buffer_priority_set() devuelve TRUE en caso de éxito, o FALSE en caso de error.

event_buffer_new
event_buffer_read
Libevent Funciones


Lee datos de un evento buferizado

event_buffer_priority_set
event_buffer_set_callback
Libevent Funciones
PHP Manual

event_buffer_read

(PECL libevent >= 0.0.1)

event_buffer_read — Lee datos de un evento buferizado

Descripción

string event_buffer_read ( resource $bevent , int $data_size )

Lee datos del buffer de entrada del evento buferizado.

Parámetros

bevent

Recurso válido de evento buferizado.

data_size

Tamaño de datos, en bytes.

event_buffer_priority_set
event_buffer_set_callback
Libevent Funciones


Configura o reconfigura llamadas para un evento buferizado

event_buffer_read
event_buffer_timeout_set
Libevent Funciones
PHP Manual

event_buffer_set_callback

(PECL libevent >= 0.0.4)

event_buffer_set_callback — Configura o reconfigura llamadas para un evento buferizado

Descripción

bool event_buffer_set_callback ( resource $event , mixed $readcb , mixed $writecb , mixed $errorcb [, mixed $arg ] )

Configura o cambia llamadas existentes para el evento buferizado event.

Parámetros

event

Recurso válido de evento buferizado.

readcb

Llamada para invocar donde hay datos que leer, o NULL si no se desea llamada.

writecb

Llamada para invocar donde está listo para escribir el descriptor, o NULL si no se desea llamada.

errorcb

Llamada para incovar donde hay un error en el descriptor, no puede ser NULL.

arg

Un parámetro que será pasado para cada una de las llamadas (opcional).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

event_buffer_read
event_buffer_timeout_set
Libevent Funciones


Configura los timeouts de lectura y escritura para un evento buferizado

event_buffer_set_callback
event_buffer_watermark_set
Libevent Funciones
PHP Manual

event_buffer_timeout_set

(PECL libevent >= 0.0.1)

event_buffer_timeout_set — Configura los timeouts de lectura y escritura para un evento buferizado

Descripción

void event_buffer_timeout_set ( resource $bevent , int $read_timeout , int $write_timeout )

Configura los timeouts de lectura y escritura para un determinado evento buferizado.

Parámetros

bevent

Recurso válido de evento buferizado.

read_timeout

Timeout de lectura (en segundos).

write_timeout

Timeout de escritura (en segundos).

event_buffer_set_callback
event_buffer_watermark_set
Libevent Funciones


Configura las marcas para eventos de lectura y escritura

event_buffer_timeout_set
event_buffer_write
Libevent Funciones
PHP Manual

event_buffer_watermark_set

(PECL libevent >= 0.0.1)

event_buffer_watermark_set — Configura las marcas para eventos de lectura y escritura

Descripción

void event_buffer_watermark_set ( resource $bevent , int $events , int $lowmark , int $highmark )

Configura las marcas para eventos de lectura y escritura. Libevent no invoca la llamada de lectura a menos que haya como mínimo lowmark bytes en el buffer de entrada; si el buffer de lectura está por debajo de highmark, se parará la lectura. En la salida, la llamada de escritura se invoca siempre que los datos buferizados caigan por debajo de lowmark.

Parámetros

bevent

Recurso válido de evento buferizado.

events

Cualquier combinación de EV_READ y EV_WRITE.

lowmark

Marca de mínimo.

highmark

Marca de máximo.

event_buffer_timeout_set
event_buffer_write
Libevent Funciones


Escribe datos en un evento buferizado

event_buffer_watermark_set
event_del
Libevent Funciones
PHP Manual

event_buffer_write

(PECL libevent >= 0.0.1)

event_buffer_write — Escribe datos en un evento buferizado

Descripción

bool event_buffer_write ( resource $bevent , string $data [, int $data_size = -1 ] )

Escribe datos en un determinado evento buferizado. Los datos se añaden en el buffer de salida y se escriben en el descriptor que está disponible para escribir.

Parámetros

bevent

Recurso válido de evento buferizado.

data

Los datos que se van a escribir.

data_size

Parámetro opcional de tamaño. event_buffer_write() escribe todos los datos data por defecto.

Valores devueltos

event_buffer_write() devuelve TRUE en caso de éxito, o FALSE en caso de error.

event_buffer_watermark_set
event_del
Libevent Funciones


Elimina un evento del conjunto de eventos monitorizados

event_buffer_write
event_free
Libevent Funciones
PHP Manual

event_del

(PECL libevent >= 0.0.1)

event_del — Elimina un evento del conjunto de eventos monitorizados

Descripción

bool event_del ( resource $event )

Cancela el evento event.

Parámetros

event

Recurso válido de evento.

Valores devueltos

event_del() devuelve TRUE en caso de éxito o FALSE en caso de error.

event_buffer_write
event_free
Libevent Funciones


Libera el recurso de evento

event_del
event_new
Libevent Funciones
PHP Manual

event_free

(PECL libevent >= 0.0.1)

event_free — Libera el recurso de evento

Descripción

void event_free ( resource $event )

Libera un recurso de evento creado previamente.

Parámetros

event

Recurso válido de evento.

event_del
event_new
Libevent Funciones


Crea un nuevo evento

event_free
event_set
Libevent Funciones
PHP Manual

event_new

(PECL libevent >= 0.0.1)

event_new — Crea un nuevo evento

Descripción

resource event_new ( void )

Crea y devuelve un nuevo recurso de evento.

Valores devueltos

event_new() devuelve un nuevo recurso de evento en caso de éxito o FALSE en caso de error.

event_free
event_set
Libevent Funciones


Prepara un evento

event_new
PCNTL
Libevent Funciones
PHP Manual

event_set

(PECL libevent >= 0.0.1)

event_set — Prepara un evento

Descripción

bool event_set ( resource $event , mixed $fd , int $events , mixed $callback [, mixed $arg ] )

Prepara el evento que se va a utilizar en la función event_add(). El evento es preparado para llamar a la función especificada por el parámetro callback en los eventos especificados en el parámetro events, que son un conjunto de los siguientes indicadores: EV_TIMEOUT, EV_SIGNAL, EV_READ, EV_WRITE y EV_PERSIST.

Si el bit EV_SIGNAL se especifica en el parámetro events, el parámetro fd se interpreta como un número de señal.

Después de inicializar el evento, utilizar la función event_base_set() para asociar el evento a su base de eventos.

En el caso de que se de un evento, se pasan los siguientes tres argumentos a la función callback :

fd

Número de señal o recurso que indica el flujo.

events

Un indicador que informa el evento. Está formado por los siguientes indicadores: EV_TIMEOUT, EV_SIGNAL, EV_READ, EV_WRITE y EV_PERSIST.

arg

Parámetro opcional, pasado previamente a event_set() como arg.

Parámetros

event

Recurso válido de evento.

fd

Recurso válido de flujo PHP . El flujo debe ser tipificable como descriptor de fichero, por lo que no se podrá utilizar ningún flujo filtrado la mayoría de las veces.

events

Un conjunto de indicadores para el evento deseado, pueden ser EV_READ y/o EV_WRITE. El indicador adicional EV_PERSIST hace que el evento sea persistente hasta que se llame la función event_del(), de otro modo la llamada se invoca una sola vez.

callback

Función de llamada que se ejecutará cuando se produzca el evento.

arg

Parámetro opcional de llamada.

Valores devueltos

event_set() devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
0.0.4 | Se añadió la ayuda de EV_SIGNAL.
event_new
PCNTL
Libevent Funciones


Process Control

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Basic usage
  • Funciones PCNTL
    • pcntl_alarm — Set an alarm clock for delivery of a signal
    • pcntl_errno — Alias de pcntl_strerror
    • pcntl_exec — Executes specified program in current process space
    • pcntl_fork — Forks the currently running process
    • pcntl_get_last_error — Retrieve the error number set by the last pcntl function which failed
    • pcntl_getpriority — Get the priority of any process
    • pcntl_setpriority — Change the priority of any process
    • pcntl_signal_dispatch — Calls signal handlers for pending signals
    • pcntl_signal — Installs a signal handler
    • pcntl_sigprocmask — Sets and retrieves blocked signals
    • pcntl_sigtimedwait — Waits for signals, with a timeout
    • pcntl_sigwaitinfo — Waits for signals
    • pcntl_strerror — Retrieve the system error message associated with the given errno
    • pcntl_wait — Waits on or returns the status of a forked child
    • pcntl_waitpid — Waits on or returns the status of a forked child
    • pcntl_wexitstatus — Returns the return code of a terminated child
    • pcntl_wifexited — Checks if status code represents a normal exit
    • pcntl_wifsignaled — Checks whether the status code represents a termination due to a signal
    • pcntl_wifstopped — Checks whether the child process is currently stopped
    • pcntl_wstopsig — Returns the signal which caused the child to stop
    • pcntl_wtermsig — Returns the signal which caused the child to terminate
event_set
Introducción
Extensiones de control de procesos


Introducción

Process Control support in PHP implements the Unix style of process creation, program execution, signal handling and process termination. Process Control should not be enabled within a web server environment and unexpected results may happen if any Process Control functions are used within a web server environment.

This documentation is intended to explain the general usage of each of the Process Control functions. For detailed information about Unix process control you are encouraged to consult your systems documentation including fork(2), waitpid(2) and signal(2) or a comprehensive reference such as Advanced Programming in the UNIX Environment by W. Richard Stevens (Addison-Wesley).

PCNTL now uses ticks as the signal handle callback mechanism, which is much faster than the previous mechanism. This change follows the same semantics as using "user ticks". You use the declare() statement to specify the locations in your program where callbacks are allowed to occur. This allows you to minimize the overhead of handling asynchronous events. In the past, compiling PHP with pcntl enabled would always incur this overhead, whether or not your script actually used pcntl.

There is one adjustment that all pcntl scripts prior to PHP 4.3.0 must make for them to work which is to either to use declare() on a section where you wish to allow callbacks or to just enable it across the entire script using the new global syntax of declare().

Nota: Esta extensión no está disponible en plataformas Windows.

PCNTL
Instalación/Configuración
PCNTL


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
PCNTL


Instalación

Soporte de Control de procesos en PHP no está habilitado de forma predeterminada. Tiene que compilar la versión CGI o CLI de PHP con la opción de configuración --enable-pcntl al compilar PHP para habilitar el soporte de Control de procesos.

Nota:

Actualmente, este módulo no funciona en las plataformas no Unix (Windows).

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

The following list of signals are supported by the Process Control functions. Please see your systems signal(7) man page for details of the default behavior of these signals.

WNOHANG (integer)
WUNTRACED (integer)
SIG_IGN (integer)
SIG_DFL (integer)
SIG_ERR (integer)
SIGHUP (integer)
SIGINT (integer)
SIGQUIT (integer)
SIGILL (integer)
SIGTRAP (integer)
SIGABRT (integer)
SIGIOT (integer)
SIGBUS (integer)
SIGFPE (integer)
SIGKILL (integer)
SIGUSR1 (integer)
SIGSEGV (integer)
SIGUSR2 (integer)
SIGPIPE (integer)
SIGALRM (integer)
SIGTERM (integer)
SIGSTKFLT (integer)
SIGCLD (integer)
SIGCHLD (integer)
SIGCONT (integer)
SIGSTOP (integer)
SIGTSTP (integer)
SIGTTIN (integer)
SIGTTOU (integer)
SIGURG (integer)
SIGXCPU (integer)
SIGXFSZ (integer)
SIGVTALRM (integer)
SIGPROF (integer)
SIGWINCH (integer)
SIGPOLL (integer)
SIGIO (integer)
SIGPWR (integer)
SIGSYS (integer)
SIGBABY (integer)
SIG_BLOCK (integer)
Available since PHP 5.3.0.
SIG_UNBLOCK (integer)
Available since PHP 5.3.0.
SIG_SETMASK (integer)
Available since PHP 5.3.0.
SI_USER (integer)
Available since PHP 5.3.0.
SI_NOINFO (integer)
Available since PHP 5.3.0.
SI_KERNEL (integer)
Available since PHP 5.3.0.
SI_QUEUE (integer)
Available since PHP 5.3.0.
SI_TIMER (integer)
Available since PHP 5.3.0.
SI_MSGGQ (integer)
Available since PHP 5.3.0.
SI_ASYNCIO (integer)
Available since PHP 5.3.0.
SI_SIGIO (integer)
Available since PHP 5.3.0.
SI_TKILL (integer)
Available since PHP 5.3.0.
CLD_EXITED (integer)
Available since PHP 5.3.0.
CLD_KILLED (integer)
Available since PHP 5.3.0.
CLD_DUMPED (integer)
Available since PHP 5.3.0.
CLD_TRAPPED (integer)
Available since PHP 5.3.0.
CLD_STOPPED (integer)
Available since PHP 5.3.0.
CLD_CONTINUED (integer)
Available since PHP 5.3.0.
TRAP_BRKPT (integer)
Available since PHP 5.3.0.
TRAP_TRACE (integer)
Available since PHP 5.3.0.
POLL_IN (integer)
Available since PHP 5.3.0.
POLL_OUT (integer)
Available since PHP 5.3.0.
POLL_MSG (integer)
Available since PHP 5.3.0.
POLL_ERR (integer)
Available since PHP 5.3.0.
POLL_PRI (integer)
Available since PHP 5.3.0.
POLL_HUP (integer)
Available since PHP 5.3.0.
ILL_ILLOPC (integer)
Available since PHP 5.3.0.
ILL_ILLOPN (integer)
Available since PHP 5.3.0.
ILL_ILLADR (integer)
Available since PHP 5.3.0.
ILL_ILLTRP (integer)
Available since PHP 5.3.0.
ILL_PRVOPC (integer)
Available since PHP 5.3.0.
ILL_PRVREG (integer)
Available since PHP 5.3.0.
ILL_COPROC (integer)
Available since PHP 5.3.0.
ILL_BADSTK (integer)
Available since PHP 5.3.0.
FPE_INTDIV (integer)
Available since PHP 5.3.0.
FPE_INTOVF (integer)
Available since PHP 5.3.0.
FPE_FLTDIV (integer)
Available since PHP 5.3.0.
FPE_FLTOVF (integer)
Available since PHP 5.3.0.
FPE_FLTUND (integer)
Available since PHP 5.3.0.
FPE_FLTRES (integer)
Available since PHP 5.3.0.
FPE_FLTINV (integer)
Available since PHP 5.3.0.
FPE_FLTSUB (integer)
Available since PHP 5.3.0.
SEGV_MAPERR (integer)
Available since PHP 5.3.0.
SEGV_ACCERR (integer)
Available since PHP 5.3.0.
BUS_ADRALN (integer)
Available since PHP 5.3.0.
BUS_ADRERR (integer)
Available since PHP 5.3.0.
BUS_OBJERR (integer)
Available since PHP 5.3.0.
Tipos de recursos
Ejemplos
PCNTL


Ejemplos

Tabla de contenidos

  • Basic usage
Constantes predefinidas
Basic usage
PCNTL


Basic usage

This example forks off a daemon process with a signal handler.

Ejemplo #1 Process Control Example

<?php
declare(ticks=1);

$pid = pcntl_fork();
if ($pid == -1) {
     die("could not fork");
} else if ($pid) {
     exit(); // we are the parent
} else {
     // we are the child
}

// detatch from the controlling terminal
if (posix_setsid() == -1) {
    die("could not detach from terminal");
}

// setup signal handlers
pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGHUP, "sig_handler");

// loop forever performing tasks
while (1) {

    // do something interesting here

}

function sig_handler($signo)
{

     switch ($signo) {
         case SIGTERM:
             // handle shutdown tasks
             exit;
             break;
         case SIGHUP:
             // handle restart tasks
             break;
         default:
             // handle all other signals
     }

}

?>
Ejemplos
Funciones PCNTL
Ejemplos


Funciones PCNTL

Ver también

Echar una ojeada a la sección sobre las funciones POSIX puede ser útil.

Tabla de contenidos

  • pcntl_alarm — Set an alarm clock for delivery of a signal
  • pcntl_errno — Alias de pcntl_strerror
  • pcntl_exec — Executes specified program in current process space
  • pcntl_fork — Forks the currently running process
  • pcntl_get_last_error — Retrieve the error number set by the last pcntl function which failed
  • pcntl_getpriority — Get the priority of any process
  • pcntl_setpriority — Change the priority of any process
  • pcntl_signal_dispatch — Calls signal handlers for pending signals
  • pcntl_signal — Installs a signal handler
  • pcntl_sigprocmask — Sets and retrieves blocked signals
  • pcntl_sigtimedwait — Waits for signals, with a timeout
  • pcntl_sigwaitinfo — Waits for signals
  • pcntl_strerror — Retrieve the system error message associated with the given errno
  • pcntl_wait — Waits on or returns the status of a forked child
  • pcntl_waitpid — Waits on or returns the status of a forked child
  • pcntl_wexitstatus — Returns the return code of a terminated child
  • pcntl_wifexited — Checks if status code represents a normal exit
  • pcntl_wifsignaled — Checks whether the status code represents a termination due to a signal
  • pcntl_wifstopped — Checks whether the child process is currently stopped
  • pcntl_wstopsig — Returns the signal which caused the child to stop
  • pcntl_wtermsig — Returns the signal which caused the child to terminate
Basic usage
pcntl_alarm
PCNTL


Set an alarm clock for delivery of a signal

Funciones PCNTL
pcntl_errno
Funciones PCNTL
PHP Manual

pcntl_alarm

(PHP 4 >= 4.3.0, PHP 5)

pcntl_alarm — Set an alarm clock for delivery of a signal

Descripción

int pcntl_alarm ( int $seconds )

Creates a timer that will send a SIGALRM signal to the process after the given number of seconds. Any call to pcntl_alarm() will cancel any previously set alarm.

Parámetros

seconds

The number of seconds to wait. If seconds is zero, no new alarm is created.

Valores devueltos

Returns the time in seconds that any previously scheduled alarm had remaining before it was to be delivered, or 0 if there was no previously scheduled alarm.

Funciones PCNTL
pcntl_errno
Funciones PCNTL


Alias de pcntl_strerror

pcntl_alarm
pcntl_exec
Funciones PCNTL
PHP Manual

pcntl_errno

(PHP 5 >= 5.3.4)

pcntl_errno — Alias de pcntl_strerror()

Descripción

Esta función es un alias de: pcntl_strerror()

pcntl_alarm
pcntl_exec
Funciones PCNTL


Executes specified program in current process space

pcntl_errno
pcntl_fork
Funciones PCNTL
PHP Manual

pcntl_exec

(PHP 4 >= 4.2.0, PHP 5)

pcntl_exec — Executes specified program in current process space

Descripción

void pcntl_exec ( string $path [, array $args [, array $envs ]] )

Executes the program with the given arguments.

Parámetros

path

path must be the path to a binary executable or a script with a valid path pointing to an executable in the shebang ( #!/usr/local/bin/perl for example) as the first line. See your system's man execve(2) page for additional information.

args

args is an array of argument strings passed to the program.

envs

envs is an array of strings which are passed as environment to the program. The array is in the format of name => value, the key being the name of the environmental variable and the value being the value of that variable.

Valores devueltos

Returns FALSE on error and does not return on success.

pcntl_errno
pcntl_fork
Funciones PCNTL


Forks the currently running process

pcntl_exec
pcntl_get_last_error
Funciones PCNTL
PHP Manual

pcntl_fork

(PHP 4 >= 4.1.0, PHP 5)

pcntl_fork — Forks the currently running process

Descripción

int pcntl_fork ( void )

The pcntl_fork() function creates a child process that differs from the parent process only in its PID and PPID. Please see your system's fork(2) man page for specific details as to how fork works on your system.

Valores devueltos

On success, the PID of the child process is returned in the parent's thread of execution, and a 0 is returned in the child's thread of execution. On failure, a -1 will be returned in the parent's context, no child process will be created, and a PHP error is raised.

Ejemplos

Ejemplo #1 pcntl_fork() example

<?php

$pid = pcntl_fork();
if ($pid == -1) {
     die('could not fork');
} else if ($pid) {
     // we are the parent
     pcntl_wait($status); //Protect against Zombie children
} else {
     // we are the child
}

?>

Ver también

  • pcntl_waitpid() - Waits on or returns the status of a forked child
  • pcntl_signal() - Installs a signal handler
  • setproctitle() - Establecer el título de proceso

pcntl_exec
pcntl_get_last_error
Funciones PCNTL


Retrieve the error number set by the last pcntl function which failed

pcntl_fork
pcntl_getpriority
Funciones PCNTL
PHP Manual

pcntl_get_last_error

(PHP 5 >= 5.3.4)

pcntl_get_last_error — Retrieve the error number set by the last pcntl function which failed

Descripción

int pcntl_get_last_error ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns error code.

Ver también

  • pcntl_strerror() - Retrieve the system error message associated with the given errno
pcntl_fork
pcntl_getpriority
Funciones PCNTL


Get the priority of any process

pcntl_get_last_error
pcntl_setpriority
Funciones PCNTL
PHP Manual

pcntl_getpriority

(PHP 5)

pcntl_getpriority — Get the priority of any process

Descripción

int pcntl_getpriority ([ int $pid = getmypid() [, int $process_identifier = PRIO_PROCESS ]] )

pcntl_getpriority() gets the priority of pid. Because priority levels can differ between system types and kernel versions, please see your system's getpriority(2) man page for specific details.

Parámetros

pid

If not specified, the pid of the current process is used.

process_identifier

One of PRIO_PGRP, PRIO_USER or PRIO_PROCESS.

Valores devueltos

pcntl_getpriority() returns the priority of the process or FALSE on error. A lower numerical value causes more favorable scheduling.

Advertencia

Esta función puede devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se evalúa como FALSE. 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.

Ver también

  • pcntl_setpriority() - Change the priority of any process

pcntl_get_last_error
pcntl_setpriority
Funciones PCNTL


Change the priority of any process

pcntl_getpriority
pcntl_signal_dispatch
Funciones PCNTL
PHP Manual

pcntl_setpriority

(PHP 5)

pcntl_setpriority — Change the priority of any process

Descripción

bool pcntl_setpriority ( int $priority [, int $pid = getmypid() [, int $process_identifier = PRIO_PROCESS ]] )

pcntl_setpriority() sets the priority of pid.

Parámetros

priority

priority is generally a value in the range -20 to 20. The default priority is 0 while a lower numerical value causes more favorable scheduling. Because priority levels can differ between system types and kernel versions, please see your system's setpriority(2) man page for specific details.

pid

If not specified, the pid of the current process is used.

process_identifier

One of PRIO_PGRP, PRIO_USER or PRIO_PROCESS.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • pcntl_getpriority() - Get the priority of any process

pcntl_getpriority
pcntl_signal_dispatch
Funciones PCNTL


Calls signal handlers for pending signals

pcntl_setpriority
pcntl_signal
Funciones PCNTL
PHP Manual

pcntl_signal_dispatch

(PHP 5 >= 5.3.0)

pcntl_signal_dispatch — Calls signal handlers for pending signals

Descripción

bool pcntl_signal_dispatch ( void )

The pcntl_signal_dispatch() function calls the signal handlers installed by pcntl_signal() for each pending signal.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 pcntl_signal_dispatch() example

<?php
echo "Installing signal handler...\n";
pcntl_signal(SIGHUP,  function($signo) {
     echo "signal handler called\n";
});

echo "Generating signal SIGHUP to self...\n";
posix_kill(posix_getpid(), SIGHUP);

echo "Dispatching...\n";
pcntl_signal_dispatch();

echo "Done\n";

?>

El resultado del ejemplo sería algo similar a:

Installing signal handler...
Generating signal SIGHUP to self...
Dispatching...
signal handler called
Done

Ver también

  • pcntl_signal() - Installs a signal handler
  • pcntl_sigprocmask() - Sets and retrieves blocked signals
  • pcntl_sigwaitinfo() - Waits for signals
  • pcntl_sigtimedwait() - Waits for signals, with a timeout

pcntl_setpriority
pcntl_signal
Funciones PCNTL


Installs a signal handler

pcntl_signal_dispatch
pcntl_sigprocmask
Funciones PCNTL
PHP Manual

pcntl_signal

(PHP 4 >= 4.1.0, PHP 5)

pcntl_signal — Installs a signal handler

Descripción

bool pcntl_signal ( int $signo , callable|int $handler [, bool $restart_syscalls = true ] )

The pcntl_signal() function installs a new signal handler or replaces the current signal handler for the signal indicated by signo.

Parámetros

signo

The signal number.

handler

The signal handler. This may be either a callable, which will be invoked to handle the signal, or either of the two global constants SIG_IGN or SIG_DFL, which will ignore the signal or restore the default signal handler respectively.

If a callable is given, it must implement the following signature:

void handler ( int $signo )
signo
The signal being handled.

Nota:

Note that when you set a handler to an object method, that object's reference count is increased which makes it persist until you either change the handler to something else, or your script ends.

restart_syscalls

Specifies whether system call restarting should be used when this signal arrives.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
4.3.0 | The restart_syscalls parameter was added.
4.3.0 | The ability to use an object method as a callback became available.
4.3.0 | As of PHP 4.3.0 PCNTL uses ticks as the signal handle callback mechanism, which is much faster than the previous mechanism. This change follows the same semantics as using "user ticks". You must use the declare() statement to specify the locations in your program where callbacks are allowed to occur for the signal handler to function properly (as used in the example below).

Ejemplos

Ejemplo #1 pcntl_signal() example

<?php
// tick use required as of PHP 4.3.0
declare(ticks = 1);

// signal handler function
function sig_handler($signo)
{

     switch ($signo) {
         case SIGTERM:
             // handle shutdown tasks
             exit;
             break;
         case SIGHUP:
             // handle restart tasks
             break;
         case SIGUSR1:
             echo "Caught SIGUSR1...\n";
             break;
         default:
             // handle all other signals
     }

}

echo "Installing signal handler...\n";

// setup signal handlers
pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGHUP,  "sig_handler");
pcntl_signal(SIGUSR1, "sig_handler");

// or use an object, available as of PHP 4.3.0
// pcntl_signal(SIGUSR1, array($obj, "do_something"));

echo"Generating signal SIGTERM to self...\n";

// send SIGUSR1 to current process id
posix_kill(posix_getpid(), SIGUSR1);

echo "Done\n";

?>

Notas

pcntl_signal() doesn't stack the signal handlers, but replaces them.

Ver también

  • pcntl_fork() - Forks the currently running process
  • pcntl_waitpid() - Waits on or returns the status of a forked child

pcntl_signal_dispatch
pcntl_sigprocmask
Funciones PCNTL


Sets and retrieves blocked signals

pcntl_signal
pcntl_sigtimedwait
Funciones PCNTL
PHP Manual

pcntl_sigprocmask

(PHP 5 >= 5.3.0)

pcntl_sigprocmask — Sets and retrieves blocked signals

Descripción

bool pcntl_sigprocmask ( int $how , array $set [, array &$oldset ] )

The pcntl_sigprocmask() function adds, removes or sets blocked signals, depending on the how parameter.

Parámetros

how

Sets the behavior of pcntl_sigprocmask(). Possible values:

  • SIG_BLOCK: Add the signals to the currently blocked signals.
  • SIG_UNBLOCK: Remove the signals from the currently blocked signals.
  • SIG_SETMASK: Replace the currently blocked signals by the given list of signals.

set

List of signals.

oldset

The oldset parameter is set to an array containing the list of the previously blocked signals.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 pcntl_sigprocmask() example

<?php
pcntl_sigprocmask(SIG_BLOCK, array(SIGHUP));
$oldset = array();
pcntl_sigprocmask(SIG_UNBLOCK, array(SIGHUP), $oldset);
?>

Ver también

  • pcntl_sigwaitinfo() - Waits for signals
  • pcntl_sigtimedwait() - Waits for signals, with a timeout

pcntl_signal
pcntl_sigtimedwait
Funciones PCNTL


Waits for signals, with a timeout

pcntl_sigprocmask
pcntl_sigwaitinfo
Funciones PCNTL
PHP Manual

pcntl_sigtimedwait

(PHP 5 >= 5.3.0)

pcntl_sigtimedwait — Waits for signals, with a timeout

Descripción

int pcntl_sigtimedwait ( array $set [, array &$siginfo [, int $seconds = 0 [, int $nanoseconds = 0 ]]] )

The pcntl_sigtimedwait() function operates in exactly the same way as pcntl_sigwaitinfo() except that it takes two additional parameters, seconds and nanoseconds, which enable an upper bound to be placed on the time for which the script is suspended.

Parámetros

set

Array of signals to wait for.

siginfo

The siginfo is set to an array containing informations about the signal. See pcntl_sigwaitinfo().

seconds

Timeout in seconds.

nanoseconds

Timeout in nanoseconds.

Valores devueltos

On success, pcntl_sigtimedwait() returns a signal number.

Ver también

  • pcntl_sigprocmask() - Sets and retrieves blocked signals
  • pcntl_sigwaitinfo() - Waits for signals

pcntl_sigprocmask
pcntl_sigwaitinfo
Funciones PCNTL


Waits for signals

pcntl_sigtimedwait
pcntl_strerror
Funciones PCNTL
PHP Manual

pcntl_sigwaitinfo

(PHP 5 >= 5.3.0)

pcntl_sigwaitinfo — Waits for signals

Descripción

int pcntl_sigwaitinfo ( array $set [, array &$siginfo ] )

The pcntl_sigwaitinfo() function suspends execution of the calling script until one of the signals given in set are delivered. If one of the signal is already pending (e.g. blocked by pcntl_sigprocmask()), pcntl_sigwaitinfo() will return immediately.

Parámetros

set

Array of signals to wait for.

siginfo

The siginfo parameter is set to an array containing informations about the signal.

The following elements are set for all signals:

  • signo: Signal number
  • errno: An error number
  • code: Signal code

The following elements may be set for the SIGCHLD signal:

  • status: Exit value or signal
  • utime: User time consumed
  • stime: System time consumed
  • pid: Sending process ID
  • uid: Real user ID of sending process

The following elements may be set for the SIGILL, SIGFPE, SIGSEGV and SIGBUS signals:

  • addr: Memory location which caused fault

The following element may be set for the SIGPOLL signal:

  • band: Band event
  • fd: File descriptor number

Valores devueltos

On success, pcntl_sigwaitinfo() returns a signal number.

Ejemplos

Ejemplo #1 pcntl_sigwaitinfo() example

<?php
echo "Blocking SIGHUP signal\n";
pcntl_sigprocmask(SIG_BLOCK, array(SIGHUP));

echo "Sending SIGHUP to self\n";
posix_kill(posix_getpid(), SIGHUP);

echo "Waiting for signals\n";
$info = array();
pcntl_sigwaitinfo(array(SIGHUP), $info);
?>

Ver también

  • pcntl_sigprocmask() - Sets and retrieves blocked signals
  • pcntl_sigtimedwait() - Waits for signals, with a timeout

pcntl_sigtimedwait
pcntl_strerror
Funciones PCNTL


Retrieve the system error message associated with the given errno

pcntl_sigwaitinfo
pcntl_wait
Funciones PCNTL
PHP Manual

pcntl_strerror

(PHP 5 >= 5.3.4)

pcntl_strerror — Retrieve the system error message associated with the given errno

Descripción

string pcntl_strerror ( int $errno )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

errno

Valores devueltos

Returns error description on success o FALSE en caso de error.

Ver también

  • pcntl_get_last_error() - Retrieve the error number set by the last pcntl function which failed
pcntl_sigwaitinfo
pcntl_wait
Funciones PCNTL


Waits on or returns the status of a forked child

pcntl_strerror
pcntl_waitpid
Funciones PCNTL
PHP Manual

pcntl_wait

(PHP 5)

pcntl_wait — Waits on or returns the status of a forked child

Descripción

int pcntl_wait ( int &$status [, int $options = 0 ] )

The wait function suspends execution of the current process until a child has exited, or until a signal is delivered whose action is to terminate the current process or to call a signal handling function. If a child has already exited by the time of the call (a so-called "zombie" process), the function returns immediately. Any system resources used by the child are freed. Please see your system's wait(2) man page for specific details as to how wait works on your system.

Nota:

This function is equivalent to calling pcntl_waitpid() with a -1 pid and no options.

Parámetros

status

 pcntl_wait() will store status information
in the status parameter which can be
evaluated using the following functions:
 pcntl_wifexited(),
 pcntl_wifstopped(),
 pcntl_wifsignaled(),
 pcntl_wexitstatus(),
 pcntl_wtermsig() and
 pcntl_wstopsig().

options

If wait3 is available on your system (mostly BSD-style systems), you can provide the optional options parameter. If this parameter is not provided, wait will be used for the system call. If wait3 is not available, providing a value for options will have no effect. The value of options is the value of zero or more of the following two constants OR'ed together:

Possible values for options
WNOHANG | Return immediately if no child has exited.
WUNTRACED | Return for children which are stopped, and whose status has not been reported.

Valores devueltos

pcntl_wait() returns the process ID of the child which exited, -1 on error or zero if WNOHANG was provided as an option (on wait3-available systems) and no child was available.

Ver también

  • pcntl_fork() - Forks the currently running process
  • pcntl_signal() - Installs a signal handler
  • pcntl_wifexited() - Checks if status code represents a normal exit
  • pcntl_wifstopped() - Checks whether the child process is currently stopped
  • pcntl_wifsignaled() - Checks whether the status code represents a termination due to a signal
  • pcntl_wexitstatus() - Returns the return code of a terminated child
  • pcntl_wtermsig() - Returns the signal which caused the child to terminate
  • pcntl_wstopsig() - Returns the signal which caused the child to stop
  • pcntl_waitpid() - Waits on or returns the status of a forked child

pcntl_strerror
pcntl_waitpid
Funciones PCNTL


Waits on or returns the status of a forked child

pcntl_wait
pcntl_wexitstatus
Funciones PCNTL
PHP Manual

pcntl_waitpid

(PHP 4 >= 4.1.0, PHP 5)

pcntl_waitpid — Waits on or returns the status of a forked child

Descripción

int pcntl_waitpid ( int $pid , int &$status [, int $options = 0 ] )

Suspends execution of the current process until a child as specified by the pid argument has exited, or until a signal is delivered whose action is to terminate the current process or to call a signal handling function.

If a child as requested by pid has already exited by the time of the call (a so-called "zombie" process), the function returns immediately. Any system resources used by the child are freed. Please see your system's waitpid(2) man page for specific details as to how waitpid works on your system.

Parámetros

pid

The value of pid can be one of the following:

possible values for pid
< -1 | wait for any child process whose process group ID is equal to the absolute value of pid.
-1 | wait for any child process; this is the same behaviour that the wait function exhibits.
0 | wait for any child process whose process group ID is equal to that of the calling process.
> 0 | wait for the child whose process ID is equal to the value of pid.

Nota:

Specifying -1 as the pid is equivalent to the functionality pcntl_wait() provides (minus options).

status

 pcntl_waitpid() will store status information
in the status parameter which can be
evaluated using the following functions:
 pcntl_wifexited(),
 pcntl_wifstopped(),
 pcntl_wifsignaled(),
 pcntl_wexitstatus(),
 pcntl_wtermsig() and
 pcntl_wstopsig().

options

The value of options is the value of zero or more of the following two global constants OR'ed together:

possible values for options
WNOHANG | return immediately if no child has exited.
WUNTRACED | return for children which are stopped, and whose status has not been reported.

Valores devueltos

pcntl_waitpid() returns the process ID of the child which exited, -1 on error or zero if WNOHANG was used and no child was available

Ver también

  • pcntl_fork() - Forks the currently running process
  • pcntl_signal() - Installs a signal handler
  • pcntl_wifexited() - Checks if status code represents a normal exit
  • pcntl_wifstopped() - Checks whether the child process is currently stopped
  • pcntl_wifsignaled() - Checks whether the status code represents a termination due to a signal
  • pcntl_wexitstatus() - Returns the return code of a terminated child
  • pcntl_wtermsig() - Returns the signal which caused the child to terminate
  • pcntl_wstopsig() - Returns the signal which caused the child to stop

pcntl_wait
pcntl_wexitstatus
Funciones PCNTL


Returns the return code of a terminated child

pcntl_waitpid
pcntl_wifexited
Funciones PCNTL
PHP Manual

pcntl_wexitstatus

(PHP 4 >= 4.1.0, PHP 5)

pcntl_wexitstatus — Returns the return code of a terminated child

Descripción

int pcntl_wexitstatus ( int $status )

Returns the return code of a terminated child. This function is only useful if pcntl_wifexited() returned TRUE.

Parámetros

status

El parámetro status es el parámetro de estado proporcionado a una correcta llamada a pcntl_waitpid().

Valores devueltos

Returns the return code, as an integer.

Ver también

  • pcntl_waitpid() - Waits on or returns the status of a forked child
  • pcntl_wifexited() - Checks if status code represents a normal exit

pcntl_waitpid
pcntl_wifexited
Funciones PCNTL


Checks if status code represents a normal exit

pcntl_wexitstatus
pcntl_wifsignaled
Funciones PCNTL
PHP Manual

pcntl_wifexited

(PHP 4 >= 4.1.0, PHP 5)

pcntl_wifexited — Checks if status code represents a normal exit

Descripción

bool pcntl_wifexited ( int $status )

Checks whether the child status code represents a normal exit.

Parámetros

status

El parámetro status es el parámetro de estado proporcionado a una correcta llamada a pcntl_waitpid().

Valores devueltos

Returns TRUE if the child status code represents a normal exit, FALSE otherwise.

Ver también

  • pcntl_waitpid() - Waits on or returns the status of a forked child
  • pcntl_wexitstatus() - Returns the return code of a terminated child

pcntl_wexitstatus
pcntl_wifsignaled
Funciones PCNTL


Checks whether the status code represents a termination due to a signal

pcntl_wifexited
pcntl_wifstopped
Funciones PCNTL
PHP Manual

pcntl_wifsignaled

(PHP 4 >= 4.1.0, PHP 5)

pcntl_wifsignaled — Checks whether the status code represents a termination due to a signal

Descripción

bool pcntl_wifsignaled ( int $status )

Checks whether the child process exited because of a signal which was not caught.

Parámetros

status

El parámetro status es el parámetro de estado proporcionado a una correcta llamada a pcntl_waitpid().

Valores devueltos

Returns TRUE if the child process exited because of a signal which was not caught, FALSE otherwise.

Ver también

  • pcntl_waitpid() - Waits on or returns the status of a forked child
  • pcntl_signal() - Installs a signal handler

pcntl_wifexited
pcntl_wifstopped
Funciones PCNTL


Checks whether the child process is currently stopped

pcntl_wifsignaled
pcntl_wstopsig
Funciones PCNTL
PHP Manual

pcntl_wifstopped

(PHP 4 >= 4.1.0, PHP 5)

pcntl_wifstopped — Checks whether the child process is currently stopped

Descripción

bool pcntl_wifstopped ( int $status )

Checks whether the child process which caused the return is currently stopped; this is only possible if the call to pcntl_waitpid() was done using the option WUNTRACED.

Parámetros

status

El parámetro status es el parámetro de estado proporcionado a una correcta llamada a pcntl_waitpid().

Valores devueltos

Returns TRUE if the child process which caused the return is currently stopped, FALSE otherwise.

Ver también

  • pcntl_waitpid() - Waits on or returns the status of a forked child

pcntl_wifsignaled
pcntl_wstopsig
Funciones PCNTL


Returns the signal which caused the child to stop

pcntl_wifstopped
pcntl_wtermsig
Funciones PCNTL
PHP Manual

pcntl_wstopsig

(PHP 4 >= 4.1.0, PHP 5)

pcntl_wstopsig — Returns the signal which caused the child to stop

Descripción

int pcntl_wstopsig ( int $status )

Returns the number of the signal which caused the child to stop. This function is only useful if pcntl_wifstopped() returned TRUE.

Parámetros

status

El parámetro status es el parámetro de estado proporcionado a una correcta llamada a pcntl_waitpid().

Valores devueltos

Returns the signal number.

Ver también

  • pcntl_waitpid() - Waits on or returns the status of a forked child
  • pcntl_wifstopped() - Checks whether the child process is currently stopped

pcntl_wifstopped
pcntl_wtermsig
Funciones PCNTL


Returns the signal which caused the child to terminate

pcntl_wstopsig
POSIX
Funciones PCNTL
PHP Manual

pcntl_wtermsig

(PHP 4 >= 4.1.0, PHP 5)

pcntl_wtermsig — Returns the signal which caused the child to terminate

Descripción

int pcntl_wtermsig ( int $status )

Returns the number of the signal that caused the child process to terminate. This function is only useful if pcntl_wifsignaled() returned TRUE.

Parámetros

status

El parámetro status es el parámetro de estado proporcionado a una correcta llamada a pcntl_waitpid().

Valores devueltos

Returns the signal number, as an integer.

Ver también

  • pcntl_waitpid() - Waits on or returns the status of a forked child
  • pcntl_signal() - Installs a signal handler
  • pcntl_wifsignaled() - Checks whether the status code represents a termination due to a signal

pcntl_wstopsig
POSIX
Funciones PCNTL


POSIX

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones POSIX
    • posix_access — Determinar la accesibilidad de un archivo
    • posix_ctermid — Obtener el nombre de la ruta del terminal controlador
    • posix_errno — Alias de posix_get_last_error
    • posix_get_last_error — Recuperar el número de error establecido por la última función posix que ha fallado
    • posix_getcwd — Nombre de la ruta del directorio actual
    • posix_getegid — Devuelve el ID efectivo de grupo del proceso actual
    • posix_geteuid — Devolver el ID efectivo de usuario del proceso actual
    • posix_getgid — Devuelve el ID real de grupo del proceso actual
    • posix_getgrgid — Devolver información sobre un grupo mediante un id de grupo
    • posix_getgrnam — Devolver información sobre un grupo mediante su nombre
    • posix_getgroups — Devolver el conjunto de grupos del proceso actual
    • posix_getlogin — Devuelve el nombre del inicio de sesión
    • posix_getpgid — Obtener el id del grupo de procesos para un control de trabajo
    • posix_getpgrp — Devolver el identificador de grupo de proceso actual
    • posix_getpid — Devolver el identificador del proceso actual
    • posix_getppid — Devolver el identificador del proceso padre
    • posix_getpwnam — Devolver información sobre un usuario mediante su nombre de usuario
    • posix_getpwuid — Devolver información sobre un usuario mediante el id de usuario
    • posix_getrlimit — Devolver información sobre los límites de recursos del sistema
    • posix_getsid — Obtener el sid actual del proceos
    • posix_getuid — Devolver el ID real de usuario del proceso actual
    • posix_initgroups — Calcular la lista de acceso al grupo
    • posix_isatty — Determinar si un descriptor de archivo es una terminal interactiva
    • posix_kill — Enviar una señal a un proceso
    • posix_mkfifo — Crear un archivo especial fifo (un pipe con nombre)
    • posix_mknod — Crear un fichero especial u ordinario (POSIX.1)
    • posix_setegid — Establecer el GID efectivo del proceso actual
    • posix_seteuid — Establecer el UID efectivo del proceso actual
    • posix_setgid — Establecer el GID de proceso actual
    • posix_setpgid — Establecer el id de grupo de procesos para el control de trabajo
    • posix_setsid — Hacer del proceso actual un líder de sesión
    • posix_setuid — Establecer el UID del proceso actual
    • posix_strerror — Recuperar el mensaje de error del sistema asociado con el errno dado
    • posix_times — Obtener los tiempos de procesos
    • posix_ttyname — Determinar el nombre del dispositivo terminal
    • posix_uname — Obtener el nombre del sistema
pcntl_wtermsig
Introducción
Extensiones de control de procesos


Introducción

Este módulo contiene una interfaz a aquellas funciones definidas en el documénto de estándares IEEE 1003.1 (POSIX.1) que no son accesibles mediante otros medios.

Advertencia

Se pueden obtener datos sensibles con las funciones de POSIX, p.ej. posix_getpwnam() y similares. Las funciones de POSIX no llevan a cabo ningún tipo de comprobación de acceso cuando está habilitado el modo seguro. Por lo tanto, se aconseja totalmente deshabilitar la extensión POSIX (use --disable-posix en la línea de configuración) si está operando en tal entorno.

Nota: Esta extensión no está disponible en plataformas Windows.

POSIX
Instalación/Configuración
POSIX


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
POSIX


Instalación

Las funciones POSIX son habilitadas por defecto. Puede deshabilitar las funciones tipo POSIX con --disable-posix .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

POSIX_F_OK (integer)
Verificar si el archivo existe.
POSIX_R_OK (integer)
Verificar si el archivo existe y tiene permisos de lectura.
POSIX_W_OK (integer)
Verificar si el archivo existe y tiene permisos de escritura.
POSIX_X_OK (integer)
Verificar si el archivo existe y tiene permisos de ejecución.
POSIX_S_IFBLK (integer)
Archivo especial de bloque
POSIX_S_IFCHR (integer)
Archivo especial de caracter
POSIX_S_IFIFO (integer)
Archivo especial FIFO (pipe con nombre)
POSIX_S_IFREG (integer)
Archivo normal
POSIX_S_IFSOCK (integer)
Socket

Nota:

Estas constantes están disponibles desde PHP 5.1.0. Por favor note también que puede que algunas de ellas no estén disponibles en su sistema.

Tipos de recursos
Funciones POSIX
POSIX


Funciones POSIX

Ver también

La sección sobre Funciones de Control de Procesos puede serle de interés.

Tabla de contenidos

  • posix_access — Determinar la accesibilidad de un archivo
  • posix_ctermid — Obtener el nombre de la ruta del terminal controlador
  • posix_errno — Alias de posix_get_last_error
  • posix_get_last_error — Recuperar el número de error establecido por la última función posix que ha fallado
  • posix_getcwd — Nombre de la ruta del directorio actual
  • posix_getegid — Devuelve el ID efectivo de grupo del proceso actual
  • posix_geteuid — Devolver el ID efectivo de usuario del proceso actual
  • posix_getgid — Devuelve el ID real de grupo del proceso actual
  • posix_getgrgid — Devolver información sobre un grupo mediante un id de grupo
  • posix_getgrnam — Devolver información sobre un grupo mediante su nombre
  • posix_getgroups — Devolver el conjunto de grupos del proceso actual
  • posix_getlogin — Devuelve el nombre del inicio de sesión
  • posix_getpgid — Obtener el id del grupo de procesos para un control de trabajo
  • posix_getpgrp — Devolver el identificador de grupo de proceso actual
  • posix_getpid — Devolver el identificador del proceso actual
  • posix_getppid — Devolver el identificador del proceso padre
  • posix_getpwnam — Devolver información sobre un usuario mediante su nombre de usuario
  • posix_getpwuid — Devolver información sobre un usuario mediante el id de usuario
  • posix_getrlimit — Devolver información sobre los límites de recursos del sistema
  • posix_getsid — Obtener el sid actual del proceos
  • posix_getuid — Devolver el ID real de usuario del proceso actual
  • posix_initgroups — Calcular la lista de acceso al grupo
  • posix_isatty — Determinar si un descriptor de archivo es una terminal interactiva
  • posix_kill — Enviar una señal a un proceso
  • posix_mkfifo — Crear un archivo especial fifo (un pipe con nombre)
  • posix_mknod — Crear un fichero especial u ordinario (POSIX.1)
  • posix_setegid — Establecer el GID efectivo del proceso actual
  • posix_seteuid — Establecer el UID efectivo del proceso actual
  • posix_setgid — Establecer el GID de proceso actual
  • posix_setpgid — Establecer el id de grupo de procesos para el control de trabajo
  • posix_setsid — Hacer del proceso actual un líder de sesión
  • posix_setuid — Establecer el UID del proceso actual
  • posix_strerror — Recuperar el mensaje de error del sistema asociado con el errno dado
  • posix_times — Obtener los tiempos de procesos
  • posix_ttyname — Determinar el nombre del dispositivo terminal
  • posix_uname — Obtener el nombre del sistema
Constantes predefinidas
posix_access
POSIX


Determinar la accesibilidad de un archivo

Funciones POSIX
posix_ctermid
Funciones POSIX
PHP Manual

posix_access

(PHP 5 >= 5.1.0)

posix_access — Determinar la accesibilidad de un archivo

Descripción

bool posix_access ( string $file [, int $mode = POSIX_F_OK ] )

posix_access() verifica el permiso del usuario sobre un archivo.

Parámetros

file

El nombre del archivo a ser probado.

mode

Una máscara consistente de uno o más de los valores POSIX_F_OK, POSIX_R_OK, POSIX_W_OK y POSIX_X_OK.

POSIX_R_OK, POSIX_W_OK y POSIX_X_OK solicitan que se verifique si el archivo existe y tiene permisos de lectura, escritura y ejecución, respectivamente. POSIX_F_OK simplemente verifica la existencia del archivo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de posix_access()

Este ejemplo verificará si el $archivo puede leerse y escribirse, de lo contrario imprimirá un mensaje de error.

<?php

$archivo = 'algun_archivo';

if (posix_access($archivo, POSIX_R_OK | POSIX_W_OK)) {
    echo '¡El archivo puede leerse y escribirse!';

} else {
    $error = posix_get_last_error();

    echo "Error $error: " . posix_strerror($error);
}

?>

Notas

Nota: Cuando safe mode está habilitado, PHP comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado.

Ver también

  • posix_get_last_error() - Recuperar el número de error establecido por la última función posix que ha fallado
  • posix_strerror() - Recuperar el mensaje de error del sistema asociado con el errno dado

Funciones POSIX
posix_ctermid
Funciones POSIX


Obtener el nombre de la ruta del terminal controlador

posix_access
posix_errno
Funciones POSIX
PHP Manual

posix_ctermid

(PHP 4, PHP 5)

posix_ctermid — Obtener el nombre de la ruta del terminal controlador

Descripción

string posix_ctermid ( void )

Genera un string que es el nombre de la ruta del terminal controlador actual para el proceso. En caso de error se establecerá a errno, que puede ser comprobado usando posix_get_last_error()

Valores devueltos

En caso de terminación exitosa, devuelve un string del nombre de ruta del terminal controlador actual. De otro modo devuelve FALSE y se establece errno, que puede ser comprobado con posix_get_last_error().

Ejemplos

Ejemplo #1 Ejemplo de posix_ctermid()

Este ejemplo mostrará la ruta del TTY actual.

<?php
echo "Esto ejecutándome desde ".posix_ctermid();
?>

Ver también

  • posix_ttyname() - Determinar el nombre del dispositivo terminal
  • posix_get_last_error() - Recuperar el número de error establecido por la última función posix que ha fallado

posix_access
posix_errno
Funciones POSIX


Alias de posix_get_last_error

posix_ctermid
posix_get_last_error
Funciones POSIX
PHP Manual

posix_errno

(PHP 4 >= 4.2.0, PHP 5)

posix_errno — Alias de posix_get_last_error()

Descripción

Esta función es un alias de: posix_get_last_error().

posix_ctermid
posix_get_last_error
Funciones POSIX


Recuperar el número de error establecido por la última función posix que ha fallado

posix_errno
posix_getcwd
Funciones POSIX
PHP Manual

posix_get_last_error

(PHP 4 >= 4.2.0, PHP 5)

posix_get_last_error — Recuperar el número de error establecido por la última función posix que ha fallado

Descripción

int posix_get_last_error ( void )

Recupera el número de error establecido por la última función posix que falló. El mensaje de error del sistema asociado con el valor errno puede ser consultado con posix_strerror().

Valores devueltos

Devuelve el valor errno (número de error) definido por la última función posix que haya fallado. Si no existe un error, se devuelve 0.

Ejemplos

Ejemplo #1 Ejemplo de posix_get_last_error()

Este ejemplo intenta matar un id de proceso inexistente, lo cual establecerá el error más reciente. Entonces el valor errno será impreso.

<?php
posix_kill(999459,SIGKILL);
echo 'Su error devuelto fue '.posix_get_last_error(); //Su error devuelto fue ___
?>

Ver también

  • posix_strerror() - Recuperar el mensaje de error del sistema asociado con el errno dado

posix_errno
posix_getcwd
Funciones POSIX


Nombre de la ruta del directorio actual

posix_get_last_error
posix_getegid
Funciones POSIX
PHP Manual

posix_getcwd

(PHP 4, PHP 5)

posix_getcwd — Nombre de la ruta del directorio actual

Descripción

string posix_getcwd ( void )

Obtiene el nombre de ruta absoluta del directorio de trabajo actual del script. En caso de error se establece errno, que puede ser verificado usando posix_get_last_error()

Valores devueltos

Devuelve un string del nombre de la ruta absoluta en caso de éxito. En caso de error devuelve FALSE y se establece errno, que puede ser verificado con posix_get_last_error().

Ejemplos

Ejemplo #1 Ejemplo de posix_getcwd()

Este ejemplo devolverá la ruta absoluta del directorio actual de trabajo del script.

<?php
echo 'Mi directorio actual de trabajo es '.posix_getcwd();
?>

Notas

Nota:

Esta función puede fallar si

  • El permiso de Lectura o Búsqueda fue denegado
  • El nombre de la ruta ya no existe

posix_get_last_error
posix_getegid
Funciones POSIX


Devuelve el ID efectivo de grupo del proceso actual

posix_getcwd
posix_geteuid
Funciones POSIX
PHP Manual

posix_getegid

(PHP 4, PHP 5)

posix_getegid — Devuelve el ID efectivo de grupo del proceso actual

Descripción

int posix_getegid ( void )

Devuelve el ID efectivo de grupo efectivo numérico del proceso actual.

Valores devueltos

Devuelve un integer del ID del grupo efectivo.

Ejemplos

Ejemplo #1 Ejemplo de posix_getegid()

Este ejemplo imprimirá el id efectivo del grupo, una vez que es cambiado con posix_setegid().

<?php
echo 'Mi id del grupo real es '.posix_getgid(); //20
posix_setegid(40);
echo 'Mi id del grupo real es  '.posix_getgid(); //20
echo 'Mi id del grupo efectivo es  '.posix_getegid(); //40
?>

Notas

posix_getegid() es diferente de posix_getgid() ya que el ID efectivo del grupo se puede cambiar mediante una llamada al proceso usando posix_setegid().

Ver también

  • posix_getgrgid() - Devolver información sobre un grupo mediante un id de grupo
  • posix_getgid() - Devuelve el ID real de grupo del proceso actual
  • posix_setgid() - Establecer el GID de proceso actual

posix_getcwd
posix_geteuid
Funciones POSIX


Devolver el ID efectivo de usuario del proceso actual

posix_getegid
posix_getgid
Funciones POSIX
PHP Manual

posix_geteuid

(PHP 4, PHP 5)

posix_geteuid — Devolver el ID efectivo de usuario del proceso actual

Descripción

int posix_geteuid ( void )

Devuelve el ID efectivo numérico de usuario del proceso actual. Véase también posix_getpwuid() para información sobre cómo convertirlo en un nombre de usuario utilizable.

Valores devueltos

Devuelve el id de usuario, como un valor de tipo integer

Ejemplos

Ejemplo #1 Ejemplo de posix_geteuid()

Este ejemplo mostrará el id del usuario actual y establecerá el id efectivo de usuario en un id aparte usando posix_seteuid(), luego mostrará la diferencia entre el id real y el id efectivo.

<?php
echo posix_getuid()."\n"; //10001
echo posix_geteuid()."\n"; //10001
posix_seteuid(10000);
echo posix_getuid()."\n"; //10001
echo posix_geteuid()."\n"; //10000
?>

Ver también

  • posix_getpwuid() - Devolver información sobre un usuario mediante el id de usuario
  • posix_getuid() - Devolver el ID real de usuario del proceso actual
  • posix_setuid() - Establecer el UID del proceso actual
  • POSIX man page GETEUID(2)

posix_getegid
posix_getgid
Funciones POSIX


Devuelve el ID real de grupo del proceso actual

posix_geteuid
posix_getgrgid
Funciones POSIX
PHP Manual

posix_getgid

(PHP 4, PHP 5)

posix_getgid — Devuelve el ID real de grupo del proceso actual

Descripción

int posix_getgid ( void )

Devuelve el ID real numérico de grupo del proceso actual.

Valores devueltos

Devuelve el id real de grupo, como un valor de tipo integer.

Ejemplos

Ejemplo #1 Ejemplo de posix_getgid()

Este ejemplo imprimirá el id real de grupo, incluso una vez que el id efectivo de grupo ha sido cambiado.

<?php
echo 'Mi id real de grupo es '.posix_getgid(); //20
posix_setegid(40);
echo 'Mi id real de grupo es '.posix_getgid(); //20
echo 'Mi id efectivo de grupo es '.posix_getegid(); //40
?>

Ver también

  • posix_getgrgid() - Devolver información sobre un grupo mediante un id de grupo
  • posix_getegid() - Devuelve el ID efectivo de grupo del proceso actual
  • posix_setgid() - Establecer el GID de proceso actual
  • POSIX man page GETGID(2)

posix_geteuid
posix_getgrgid
Funciones POSIX


Devolver información sobre un grupo mediante un id de grupo

posix_getgid
posix_getgrnam
Funciones POSIX
PHP Manual

posix_getgrgid

(PHP 4, PHP 5)

posix_getgrgid — Devolver información sobre un grupo mediante un id de grupo

Descripción

array posix_getgrgid ( int $gid )

Obtiene información sobre un grupo porporcionando su id.

Parámetros

gid

El id del grupo.

Valores devueltos

Los elementos del array devueltos son:

El array de información de grupo
Elemento | Descripción
name | El elemento name contiene el nombre del grupo. Es una abreviatura, normalmente menos de 16 caracteres "soportan" el groupo, no el nombre real completo.
passwd | El elemento passwd contiene la contraseña del grupo en un formato encriptado. A menudo, por ejemplo bajo un sistema que emplea contraseñas "shadow", se devuelve un asterisco en su lugar.
gid | El ID del grupo, debería ser el mismo que el del parámetro gid usado al llamar a la función, y por lo tanto redundante.
members | Consiste en un array de strings de todos los miembros del grupo.

Historial de cambios

Versión | Descripción
4.2.0 | Antes de esta versión, members era simplemente un entero que representaba el número de miembros del grupo, y los nombres de los miembros eran devueltos con índices numéricos.

Ejemplos

Ejemplo #1 Ejemplo de uso de posix_getgrgid()

<?php

$groupid   = posix_getegid();
$groupinfo = posix_getgrgid($groupid);

print_r($groupinfo);
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [name]    => toons
    [passwd]  => x
    [members] => Array
        (
            [0] => tom
            [1] => jerry
        )
    [gid]     => 42
)

Ver también

  • posix_getegid() - Devuelve el ID efectivo de grupo del proceso actual
  • posix_getgrnam() - Devolver información sobre un grupo mediante su nombre
  • filegroup() - Obtiene el grupo de un archivo
  • stat() - Da información acerca de un fichero
  • safe_mode_gid
  • POSIX man page GETGRNAM(3)

posix_getgid
posix_getgrnam
Funciones POSIX


Devolver información sobre un grupo mediante su nombre

posix_getgrgid
posix_getgroups
Funciones POSIX
PHP Manual

posix_getgrnam

(PHP 4, PHP 5)

posix_getgrnam — Devolver información sobre un grupo mediante su nombre

Descripción

array posix_getgrnam ( string $name )

Obtiene información sobre un grupo, proporcioinado su nombre.

Parámetros

name

EL nombre del grupo

Valores devueltos

Los elementos del array devuelto son:

El array de información del grupo
Elemento | Descripción
name | El elemento name contiene el nombre del grupo. Es una abreviatura, normalmente menos de 16 caracteres "soportan" el groupo, no el nombre real completo. Debería ser el mismo que el del parámetro name usado al llamar a la función, y por lo tanto redundante.
passwd | El elemento passwd contiene la contraseña del grupo en un formato encriptado. A menudo, por ejemplo bajo un sistema que emplea contraseñas "shadow", se devuelve un asterisco en su lugar.
gid | El ID del grupo en forma numérica.
members | Consiste en un array de strings de todos los miembros del grupo.

Historial de cambios

Versión | Descripción
4.2.0 | Antes de esta versión, members era simplemente un entero que representaba el número de miembros del grupo, y los nombres de los miembros eran devueltos con índices numéricos.

Ejemplos

Ejemplo #1 Ejemplo de uso de posix_getgrnam()

<?php

$groupinfo = posix_getgrnam("toons");

print_r($groupinfo);
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [name]    => toons
    [passwd]  => x
    [members] => Array
        (
            [0] => tom
            [1] => jerry
        )
    [gid]     => 42
)

Ver también

  • posix_getegid() - Devuelve el ID efectivo de grupo del proceso actual
  • posix_getgrgid() - Devolver información sobre un grupo mediante un id de grupo
  • filegroup() - Obtiene el grupo de un archivo
  • stat() - Da información acerca de un fichero
  • safe_mode_gid
  • POSIX man page GETGRNAM(3)

posix_getgrgid
posix_getgroups
Funciones POSIX


Devolver el conjunto de grupos del proceso actual

posix_getgrnam
posix_getlogin
Funciones POSIX
PHP Manual

posix_getgroups

(PHP 4, PHP 5)

posix_getgroups — Devolver el conjunto de grupos del proceso actual

Descripción

array posix_getgroups ( void )

Obtiene el conjunto de grupos del proceso actual.

Valores devueltos

Devuelve un array de enteros que contiene los ids numéricos del conjunto de grupos del proceso actual.

Ejemplos

Ejemplo #1 Ejemplo de uso de posix_getgroups()

<?php

$groups = posix_getgroups();

print_r($groups);
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => 4
    [1] => 20
    [2] => 24
    [3] => 25
    [4] => 29
    [5] => 30
    [6] => 33
    [7] => 44
    [8] => 46
    [9] => 104
    [10] => 109
    [11] => 110
    [12] => 1000
)

Ver también

  • posix_getgrgid() - Devolver información sobre un grupo mediante un id de grupo

posix_getgrnam
posix_getlogin
Funciones POSIX


Devuelve el nombre del inicio de sesión

posix_getgroups
posix_getpgid
Funciones POSIX
PHP Manual

posix_getlogin

(PHP 4, PHP 5)

posix_getlogin — Devuelve el nombre del inicio de sesión

Descripción

string posix_getlogin ( void )

Delvuelve el nombre del inicio de sesión del usuario propietarios del proceso actual.

Valores devueltos

Devuelve el nombre de inicio de sesión del usuario, como valor de tipo string.

Ejemplos

Ejemplo #1 Ejemplo de uso de posix_getlogin()

<?php
echo posix_getlogin(); //apache
?>

Ver también

  • posix_getpwnam() - Devolver información sobre un usuario mediante su nombre de usuario
  • POSIX man page GETLOGIN(3)

posix_getgroups
posix_getpgid
Funciones POSIX


Obtener el id del grupo de procesos para un control de trabajo

posix_getlogin
posix_getpgrp
Funciones POSIX
PHP Manual

posix_getpgid

(PHP 4, PHP 5)

posix_getpgid — Obtener el id del grupo de procesos para un control de trabajo

Descripción

int posix_getpgid ( int $pid )

Devuelve el identificador del grupo de procesos del proceso pid o FALSE en caso de error.

Parámetros

pid

El ide del proceso.

Valores devueltos

Devuelve el identificador, como valor de tipo integer.

Ejemplos

Ejemplo #1 Ejemplo de uso de posix_getpgid()

<?php
$pid = posix_getppid();
echo posix_getpgid($pid); //35
?>

Notas

Nota:

Esta no es una función POSIX, pero es usual en sistemas BSD y System V. Si el sistema no soporta esta función, no será incluidaen tiempo de compilación. Se puede comprobar con function_exists().

Ver también

  • posix_getppid() - Devolver el identificador del proceso padre
  • Página del manual SETPGID(2)

posix_getlogin
posix_getpgrp
Funciones POSIX


Devolver el identificador de grupo de proceso actual

posix_getpgid
posix_getpid
Funciones POSIX
PHP Manual

posix_getpgrp

(PHP 4, PHP 5)

posix_getpgrp — Devolver el identificador de grupo de proceso actual

Descripción

int posix_getpgrp ( void )

Devuelve el identificador de grupo de proceso del proceso actual.

Valores devueltos

Devuelve el identificador, como valor de tipo integer.

Ver también

  • POSIX.1 y la página del manual getpgrp(2) en los sistemas POSIX para más información sobre grupos de procesos.

posix_getpgid
posix_getpid
Funciones POSIX


Devolver el identificador del proceso actual

posix_getpgrp
posix_getppid
Funciones POSIX
PHP Manual

posix_getpid

(PHP 4, PHP 5)

posix_getpid — Devolver el identificador del proceso actual

Descripción

int posix_getpid ( void )

Devolver el identificador de proceso del proceso actual.

Valores devueltos

Devuelve el identificador, como valor de tipo integer.

Ejemplos

Ejemplo #1 Ejemplo de uso de posix_getpid()

<?php
echo posix_getpid(); //8805
?>

Ver también

  • posix_kill() - Enviar una señal a un proceso
  • POSIX man page GETPID(2)

posix_getpgrp
posix_getppid
Funciones POSIX


Devolver el identificador del proceso padre

posix_getpid
posix_getpwnam
Funciones POSIX
PHP Manual

posix_getppid

(PHP 4, PHP 5)

posix_getppid — Devolver el identificador del proceso padre

Descripción

int posix_getppid ( void )

Devuelve el identificador de proceso del proceso padre del proceso actual.

Valores devueltos

Devuelve el identificador, como valor de tipo integer.

Ejemplos

Ejemplo #1 Ejemplo de uso de posix_getppid()

<?php
echo posix_getppid(); //8259
?>

posix_getpid
posix_getpwnam
Funciones POSIX


Devolver información sobre un usuario mediante su nombre de usuario

posix_getppid
posix_getpwuid
Funciones POSIX
PHP Manual

posix_getpwnam

(PHP 4, PHP 5)

posix_getpwnam — Devolver información sobre un usuario mediante su nombre de usuario

Descripción

array posix_getpwnam ( string $username )

Devuelve un array de información sobre el usuario dado.

Parámetros

username

Un nombre de usuario alfanumérico.

Valores devueltos

En caso de éxito se devuelve un array con los siguientes elementos, si no se devuelve FALSE:

El array de información de usuario
Elemento | Descripción
name | El elemento name contiene el nombre del grupo. Es una abreviatura, normalmente menos de 16 caracteres "soportan" el groupo, no el nombre real completo. Debería se el mismo que el parámetro username usado al llamar a la función, y por lo tanto redundante.
passwd | El elemento passwd contiene la contraseña del grupo en un formato encriptado. A menudo, por ejemplo bajo un sistema que emplea contraseñas "shadow", se devuelve un asterisco en su lugar.
uid | El ID del usuario en forma numérica.
gid | El ID de grupo del usuario. Use la función posix_getgrgid() para resolver el nombre de grupo y una lista de sus miembros.
gecos | GECOS es un término obosleto que se refiere al campo de información "finger" de un sistema de procesamiento por lotes Honeywell. El campo, sin embargo, todavía existe, y su contenido ha sido formalizado por POSIX. El campo contiene una lista separada por comas que contiene el nombre completo del usuario, teléfono de oficina, número de oficina, y el número de teléfono de casa. En la mayoría de los sistemas solo está disponible el nombre de usuario completo.
dir | Este elemento contiene la ruta absoluta al directorio "home" del usuario.
shell | El elemento shell contiene la ruta absoluta al ejecutable del executable del shell predeterminado de usuario.

Ejemplos

Ejemplo #1 Ejemplo de uso de posix_getpwnam()

<?php

$userinfo = posix_getpwnam("tom");

print_r($userinfo);
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [name]    => tom
    [passwd]  => x
    [uid]     => 10000
    [gid]     => 42
    [gecos]   => "tom,,,"
    [dir]     => "/home/tom"
    [shell]   => "/bin/bash"
)

Ver también

  • posix_getpwuid() - Devolver información sobre un usuario mediante el id de usuario
  • POSIX man page GETPWNAM(3)

posix_getppid
posix_getpwuid
Funciones POSIX


Devolver información sobre un usuario mediante el id de usuario

posix_getpwnam
posix_getrlimit
Funciones POSIX
PHP Manual

posix_getpwuid

(PHP 4, PHP 5)

posix_getpwuid — Devolver información sobre un usuario mediante el id de usuario

Descripción

array posix_getpwuid ( int $uid )

Devuelve un array de información sobre el usuario referenciado mediante el ID de usuario dado.

Parámetros

uid

El identificador de usuario.

Valores devueltos

Devuelve un array asociativo con los siguientes elementos:

El array de información de usuario
Elemento | Descripción
name | El elemento name contiene el nombre del grupo. Es una abreviatura, normalmente menos de 16 caracteres "soportan" el groupo, no el nombre real completo.
passwd | El elemento passwd contiene la contraseña del grupo en un formato encriptado. A menudo, por ejemplo bajo un sistema que emplea contraseñas "shadow", se devuelve un asterisco en su lugar.
uid | El ID del grupo, debería ser el mismo que el del parámetro gid usado al llamar a la función, y por lo tanto redundante.
gid | El ID de grupo del usuario. Use la función posix_getgrgid() para resolver el nombre de grupo y una lista de sus miembros.
gecos | GECOS es un término obosleto que se refiere al campo de información "finger" de un sistema de procesamiento por lotes Honeywell. El campo, sin embargo, todavía existe, y su contenido ha sido formalizado por POSIX. El campo contiene una lista separada por comas que contiene el nombre completo del usuario, teléfono de oficina, número de oficina, y el número de teléfono de casa. En la mayoría de los sistemas solo está disponible el nombre de usuario completo.
dir | Este elemento contiene la ruta absoluta al directorio "home" del usuario.
shell | El elemento shell contiene la ruta absoluta al ejecutable del executable del shell predeterminado de usuario.

Ejemplos

Ejemplo #1 Ejemplo de uso de posix_getpwuid()

<?php

$userinfo = posix_getpwuid(10000);

print_r($userinfo);
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [name]    => tom
    [passwd]  => x
    [uid]     => 10000
    [gid]     => 42
    [gecos]   => "tom,,,"
    [dir]     => "/home/tom"
    [shell]   => "/bin/bash"
)

Ver también

  • posix_getpwnam() - Devolver información sobre un usuario mediante su nombre de usuario
  • POSIX man page GETPWNAM(3)

posix_getpwnam
posix_getrlimit
Funciones POSIX


Devolver información sobre los límites de recursos del sistema

posix_getpwuid
posix_getsid
Funciones POSIX
PHP Manual

posix_getrlimit

(PHP 4, PHP 5)

posix_getrlimit — Devolver información sobre los límites de recursos del sistema

Descripción

array posix_getrlimit ( void )

posix_getrlimit() devuelve un array de información sobre los límites "soft" y "hard" del recurso actual.

Cada recurso tiene asociado un límite "soft" y "hard". El límite soft es el valor que el kernel impone al recurso correspondiente. El límete hard actúa como tope para el límite soft. Un proceso sin privilegios solo puede establecer su límite soft a un valor desde 0 al límite hard, e irreparablemente menor que su límite hard.

Valores devueltos

Devuelve un array asociativo de elementos para cada límite que es definido. Cada límite tiene un límite soft y hard.

Lista de los límites posibles devueltos
Nombre del límite | Descripción del límite
core | El tamaño máximo del archivo core. Cuando es 0, no se crean archivos core. Cuando los archivos core son mayores que su tamaño se truncarán a este tamaño.
totalmem | The maximum size of the memory of the process, in bytes.
virtualmem | El tamaño máximo de memoria virtual para el proceso, en bytes.
data | El tamaño máximo de the data segment for the process, in bytes.
stack | El tamaño máximo de la pila del proceso, en bytes.
rss | El número máximo de páginas virtuales residentes en RAM
maxproc | El número máximo de procesos que pueden ser creados para el ID real de usuario del proceso llamante.
memlock | El número máximo de bytes de memoria que puede ser bloqueados en RAM.
cpu | La cantidad de tiempo que se permite al proceso usar la CPU.
filesize | El tamaño máximo del segmento de datos del proceso, en bytes.
openfiles | Uno más que el número máximo de descriptores de ficheros abiertos.

Ejemplos

Ejemplo #1 Ejemplo de uso de posix_getrlimit()

<?php

$límites = posix_getrlimit();

print_r($límites);
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [soft core] => 0
    [hard core] => unlimited
    [soft data] => unlimited
    [hard data] => unlimited
    [soft stack] => 8388608
    [hard stack] => unlimited
    [soft totalmem] => unlimited
    [hard totalmem] => unlimited
    [soft rss] => unlimited
    [hard rss] => unlimited
    [soft maxproc] => unlimited
    [hard maxproc] => unlimited
    [soft memlock] => unlimited
    [hard memlock] => unlimited
    [soft cpu] => unlimited
    [hard cpu] => unlimited
    [soft filesize] => unlimited
    [hard filesize] => unlimited
    [soft openfiles] => 1024
    [hard openfiles] => 1024
)

Notas

Nota:

Esta no es una función POSIX, pero es común en sistemas BSD y System V. Si es sistema no soporta esta función, no será incluida en tiempo de compilación. Se puede comprobar con function_exists().

Ver también

  • Página del manual GETRLIMIT(2)

posix_getpwuid
posix_getsid
Funciones POSIX


Obtener el sid actual del proceos

posix_getrlimit
posix_getuid
Funciones POSIX
PHP Manual

posix_getsid

(PHP 4, PHP 5)

posix_getsid — Obtener el sid actual del proceos

Descripción

int posix_getsid ( int $pid )

Devuelve el identificador de sesión del proceso pid. El identificador de sesión de un proceso es el id de grupo del proceso del líder de la sesión.

Parámetros

pid

Eñ identificador de proceso. Si se establece a 0, se asume el proceso actual. Si se especifica un pid no válido, se devuelve FALSE y se establece un error que puede ser verificado con posix_get_last_error().

Valores devueltos

Devuelve el identificador, como valor de tipo integer.

Ejemplos

Ejemplo #1 Ejemplo de uso de posix_getsid()

<?php
$pid = posix_getpid();
echo posix_getsid($pid); //8805
?>

Ver también

  • posix_getpgid() - Obtener el id del grupo de procesos para un control de trabajo
  • posix_setsid() - Hacer del proceso actual un líder de sesión
  • POSIX man page GETSID(2)

posix_getrlimit
posix_getuid
Funciones POSIX


Devolver el ID real de usuario del proceso actual

posix_getsid
posix_initgroups
Funciones POSIX
PHP Manual

posix_getuid

(PHP 4, PHP 5)

posix_getuid — Devolver el ID real de usuario del proceso actual

Descripción

int posix_getuid ( void )

Devuelve el ID real numérico de usuario del proceso actual.

Valores devueltos

Devuelve el id de usuario, como valor de tipo integer

Ejemplos

Ejemplo #1 Ejemplo de uso de posix_getuid()

<?php
echo posix_getuid(); //10000
?>

Ver también

  • posix_getpwuid() - Devolver información sobre un usuario mediante el id de usuario
  • POSIX man page GETUID(2)

posix_getsid
posix_initgroups
Funciones POSIX


Calcular la lista de acceso al grupo

posix_getuid
posix_isatty
Funciones POSIX
PHP Manual

posix_initgroups

(PHP 5 >= 5.2.0)

posix_initgroups — Calcular la lista de acceso al grupo

Descripción

bool posix_initgroups ( string $name , int $base_group_id )

Calcula la lista de acceso al grupo para el usuario especificado en el parámetro name.

Parámetros

name

El usuario para el que se va a calcular la lista.

base_group_id

Normalmente el número de grupo del fichero de contraseñas.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • La página del manua Unix para initgroups(3).

posix_getuid
posix_isatty
Funciones POSIX


Determinar si un descriptor de archivo es una terminal interactiva

posix_initgroups
posix_kill
Funciones POSIX
PHP Manual

posix_isatty

(PHP 4, PHP 5)

posix_isatty — Determinar si un descriptor de archivo es una terminal interactiva

Descripción

bool posix_isatty ( int $fd )

Determina si el descriptor de archivo fd hace referencia a un dispositivo tipo terminal válido.

Parámetros

fd

El descriptor de archivo.

Valores devueltos

Devuelve TRUE si fd es un descriptor abierto conectado a una terminal, y FALSE de lo contrario.

Ver también

  • posix_ttyname() - Determinar el nombre del dispositivo terminal

posix_initgroups
posix_kill
Funciones POSIX


Enviar una señal a un proceso

posix_isatty
posix_mkfifo
Funciones POSIX
PHP Manual

posix_kill

(PHP 4, PHP 5)

posix_kill — Enviar una señal a un proceso

Descripción

bool posix_kill ( int $pid , int $sig )

Envía la señal sig al proceso con el identificador de proceso pid.

Parámetros

pid

El identificador de proceso.

sig

Una de las constantes de señales PCNTL.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • La página del manual kill(2) del sistema POSIX, la cual contiene información información sobre identificadores de procesos negativos, el pid especial 0, el pid especial -1, y la señal número 0.

posix_isatty
posix_mkfifo
Funciones POSIX


Crear un archivo especial fifo (un pipe con nombre)

posix_kill
posix_mknod
Funciones POSIX
PHP Manual

posix_mkfifo

(PHP 4, PHP 5)

posix_mkfifo — Crear un archivo especial fifo (un pipe con nombre)

Descripción

bool posix_mkfifo ( string $pathname , int $mode )

posix_mkfifo() crea un archivo FIFO especial que existe en el sistema de archivos y actúa como un punto de comunicación bi-direccional para los procesos.

Parámetros

pathname

Ruta al archivo FIFO.

mode

El segundo parámetro modo tiene que ser definido en notación octal (p.ej. 0644). El permiso del FIFO recién creado depende también del valor umask() actual. Los permisos del archivo creado son (modo & ~umask).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota: Cuando safe mode está habilitado, PHP comprueba si los archivos o directorios que va a utilizar tienen el mismo UID (propietario) que el script que está siendo ejecutado.

posix_kill
posix_mknod
Funciones POSIX


Crear un fichero especial u ordinario (POSIX.1)

posix_mkfifo
posix_setegid
Funciones POSIX
PHP Manual

posix_mknod

(PHP 5 >= 5.1.0)

posix_mknod — Crear un fichero especial u ordinario (POSIX.1)

Descripción

bool posix_mknod ( string $pathname , int $mode [, int $major = 0 [, int $minor = 0 ]] )

Crea un fichero especial u ordinario.

Parámetros

pathname

El fichero a crear

mode

Este parámetro se construye mediante un operador a nivel de bits OR entre el tipo de fichero (una de las siguientes constantes: POSIX_S_IFREG, POSIX_S_IFCHR, POSIX_S_IFBLK, POSIX_S_IFIFO o POSIX_S_IFSOCK) y los permisos.

major

El identificador de kernel mayor del dispositivo (necesario pasarlo al usar S_IFCHR o S_IFBLK).

minor

El identificador de kernel menor del dispositivo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de posix_mknod()

<?php

$fichero = '/tmp/fich_tmp';  // nombre del fichero
$tipo = POSIX_S_IFBLK;   // tipo de fichero
$permisos = 0777;     // octal
$mayor = 1;
$menor = 8;              // /dev/random

if (!posix_mknod($fichero, $tipo | $permisos, $mayor, $menor)) {
    die('Error ' . posix_get_last_error() . ': ' . posix_strerror(posix_get_last_error()));
}

?>

Ver también

  • posix_mkfifo() - Crear un archivo especial fifo (un pipe con nombre)

posix_mkfifo
posix_setegid
Funciones POSIX


Establecer el GID efectivo del proceso actual

posix_mknod
posix_seteuid
Funciones POSIX
PHP Manual

posix_setegid

(PHP 4 >= 4.0.2, PHP 5)

posix_setegid — Establecer el GID efectivo del proceso actual

Descripción

bool posix_setegid ( int $gid )

Establece el ID de grupo efectivo del proceso actual. Esta es una función privilegiada y se necesitan los permisos apropiados (usualmente root) en el sistema para contar con la capacidad de ejecutar esta función.

Parámetros

gid

El id de grupo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de posix_setegid()

Este ejemplo imprimirá el id de grupo efectivo, una vez cambiado.

<?php
echo 'Mi id de grupo real es '.posix_getgid(); //20
posix_setegid(40);
echo 'Mi id de grupo real es '.posix_getgid(); //20
echo 'Mi id de grupo efectivo es '.posix_getegid(); //40
?>

Ver también

  • posix_getgrgid() - Devolver información sobre un grupo mediante un id de grupo
  • posix_getgid() - Devuelve el ID real de grupo del proceso actual
  • posix_setgid() - Establecer el GID de proceso actual

posix_mknod
posix_seteuid
Funciones POSIX


Establecer el UID efectivo del proceso actual

posix_setegid
posix_setgid
Funciones POSIX
PHP Manual

posix_seteuid

(PHP 4 >= 4.0.2, PHP 5)

posix_seteuid — Establecer el UID efectivo del proceso actual

Descripción

bool posix_seteuid ( int $uid )

Establece el ID de usuario real del proceso actual. Esta es una función privilegiada y se necesitan los permisos apropiados (usualmente root) en el sistema para tener la capacidad de ejecutar esta función.

Parámetros

uid

El id de usuario.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • posix_setgid() - Establecer el GID de proceso actual

posix_setegid
posix_setgid
Funciones POSIX


Establecer el GID de proceso actual

posix_seteuid
posix_setpgid
Funciones POSIX
PHP Manual

posix_setgid

(PHP 4, PHP 5)

posix_setgid — Establecer el GID de proceso actual

Descripción

bool posix_setgid ( int $gid )

Establece el ID real de grupo al proceso actual. Esta en una función privilegiada y necesita los privilegios apropiados (normalmente "root") en el sistema para ser capaza de realizar esta función. El orden apropiado de las llamadas a las funciones es posix_setgid() primero, posix_setuid() la última.

Nota:

Si el llamador es un superusuario también se establecerá el id efectivo de grupo.

Parámetros

gid

El id de grupo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de posix_setgid()

Este ejemplo imprimirá el id efectivo de grupo, una vez cambiado.

<?php
echo 'Mi id real de grupo es '.posix_getgid(); //20
posix_setgid(40);
echo 'Mi id real de grupo es '.posix_getgid(); //40
echo 'Mi id efectivo de grupo es '.posix_getegid(); //40
?>

Ver también

  • posix_getgrgid() - Devolver información sobre un grupo mediante un id de grupo
  • posix_getgid() - Devuelve el ID real de grupo del proceso actual

posix_seteuid
posix_setpgid
Funciones POSIX


Establecer el id de grupo de procesos para el control de trabajo

posix_setgid
posix_setsid
Funciones POSIX
PHP Manual

posix_setpgid

(PHP 4, PHP 5)

posix_setpgid — Establecer el id de grupo de procesos para el control de trabajo

Descripción

bool posix_setpgid ( int $pid , int $pgid )

Permite al proceso pid unirse al grupo de procesos pgid.

Parámetros

pid

El id del proceso.

pgid

El id de grupo de procesos.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • Véase POSIX.1 y la página del manual setsid(2) del sistema POSIX para más información sobre grupos de proceoss y control de trabajo.

posix_setgid
posix_setsid
Funciones POSIX


Hacer del proceso actual un líder de sesión

posix_setpgid
posix_setuid
Funciones POSIX
PHP Manual

posix_setsid

(PHP 4, PHP 5)

posix_setsid — Hacer del proceso actual un líder de sesión

Descripción

int posix_setsid ( void )

Hace del proceso actual un líder de sesión.

Valores devueltos

Devuelve un id de sesión, o -1 si ocurrió algún error.

Ver también

  • Las páginas del manual POSIX.1 y setsid(2) del sistema POSIX para más información sobre los grupos de procesos y el control de trabajo.

posix_setpgid
posix_setuid
Funciones POSIX


Establecer el UID del proceso actual

posix_setsid
posix_strerror
Funciones POSIX
PHP Manual

posix_setuid

(PHP 4, PHP 5)

posix_setuid — Establecer el UID del proceso actual

Descripción

bool posix_setuid ( int $uid )

Establece el ID real de usuario del proceso actual. Esta es una función privilegiada que necesita los privilegios apropiados (normalmente root) del sistema para que sea capaz de realizar esta función.

Parámetros

uid

El id de usuario.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de posix_setuid()

Este ejemplo mostrará el id de usuario actual y después lo establecerá a un valor diferente.

<?php
echo posix_getuid()."\n"; //10001
echo posix_geteuid()."\n"; //10001
posix_setuid(10000);
echo posix_getuid()."\n"; //10000
echo posix_geteuid()."\n"; //10000
?>

Ver también

  • posix_setgid() - Establecer el GID de proceso actual
  • posix_seteuid() - Establecer el UID efectivo del proceso actual
  • posix_getuid() - Devolver el ID real de usuario del proceso actual
  • posix_geteuid() - Devolver el ID efectivo de usuario del proceso actual

posix_setsid
posix_strerror
Funciones POSIX


Recuperar el mensaje de error del sistema asociado con el errno dado

posix_setuid
posix_times
Funciones POSIX
PHP Manual

posix_strerror

(PHP 4 >= 4.2.0, PHP 5)

posix_strerror — Recuperar el mensaje de error del sistema asociado con el errno dado

Descripción

string posix_strerror ( int $errno )

Devuelve el mensaje de error del sistema POSIX asociado con el errno. Es posible obtener el parámetro errno llamando la función posix_get_last_error().

Parámetros

errno

Un número de error POSIX, devuelto por posix_get_last_error(). Si se define como 0, entonces se devuelve la cadena "Success".

Valores devueltos

Devuelve el mensaje de error, como una cadena.

Ejemplos

Ejemplo #1 Ejemplo de posix_strerror()

Este ejemplo intentará matar un proceso que no existe, luego imprimirá el mensaje de error correspondiente.

<?php
posix_kill(50,SIGKILL);
echo posix_strerror(posix_get_last_error())."\n";
?>

El resultado del ejemplo sería algo similar a:

No such process

Ver también

  • posix_get_last_error() - Recuperar el número de error establecido por la última función posix que ha fallado

posix_setuid
posix_times
Funciones POSIX


Obtener los tiempos de procesos

posix_strerror
posix_ttyname
Funciones POSIX
PHP Manual

posix_times

(PHP 4, PHP 5)

posix_times — Obtener los tiempos de procesos

Descripción

array posix_times ( void )

Obtiene informaciónsobre el uso actual de CPU.

Valores devueltos

Devuelve un hash de cadenas con iformación sobre el uso de CPU del proceso actual. Los índices del hash son:

  • ticks - el número de pulsos de reloj que han trasncurrido desde el reinicio.
  • utime - tiempo de usuario usado por el proceso actual.
  • stime - tiempo de sistema usado por el proceso actual.
  • cutime - tiempop de usuario usado por el proceso actual y sus hijos.
  • cstime - tiempo de sistema usado por el proceso actual y sus hijos.

Notas

Advertencia

Esta función no es fiable de usar, puede devolver valores negativos para tiempos altos.

Ejemplos

Ejemplo #1 Ejemplo de uso de posix_times()

<?php

$tiempos = posix_times();

print_r($tiempos );
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [ticks] => 25814410
    [utime] => 1
    [stime] => 1
    [cutime] => 0
    [cstime] => 0
)

posix_strerror
posix_ttyname
Funciones POSIX


Determinar el nombre del dispositivo terminal

posix_times
posix_uname
Funciones POSIX
PHP Manual

posix_ttyname

(PHP 4, PHP 5)

posix_ttyname — Determinar el nombre del dispositivo terminal

Descripción

string posix_ttyname ( int $fd )

Devuelve un string de la ruta absulota del dispositivo terminal actual que está abierto en el descriptor de ficheros fd.

Parámetros

fd

El descriptor de ficheros.

Valores devueltos

En caso de éxito devuelve un string de la ruta absoluta del fd. En caso de fallo devuelve FALSE

posix_times
posix_uname
Funciones POSIX


Obtener el nombre del sistema

posix_ttyname
Ejecución de programas
Funciones POSIX
PHP Manual

posix_uname

(PHP 4, PHP 5)

posix_uname — Obtener el nombre del sistema

Descripción

array posix_uname ( void )

Obtiene información sobre elsistema.

Posix requiere que estas suposiciones no deben hacerse sobre el formato de los valores, p.ej. la suposición que la versión puede contener tres dígitos o cualquier otra cosa devuelta por esta función.

Valores devueltos

Returns un hash de cadena con información sobre el sistema. Los índices del hash son

  • sysname - nombre del sistema operativo (p.ej. Linux)
  • nodename - nombre del sistema (p.ej. valiant)
  • release - versión de publicación del sistema operativo (p.ej. 2.2.10)
  • version - versión del sistema operativo (p.ej. #4 Tue Jul 20 17:01:36 MEST 1999)
  • machine - arquitectura del sistema (p.ej. i586)
  • domainname - nombre del dominio DNS (p.ej. example.com)

domainname es una extensión GNU y no es parte de POSIX.1, por lo que este campo solamente está disponible en sistemas GNU o cuando se usa GNU libc.

Ejemplos

Ejemplo #1 Ejemplo de uso de posix_uname()

<?php
$uname=posix_uname();
print_r($uname);
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [sysname] => Linux
    [nodename] => funbox
    [release] => 2.6.20-15-server
    [version] => #2 SMP Sun Apr 15 07:41:34 UTC 2007
    [machine] => i686
)

posix_ttyname
Ejecución de programas
Funciones POSIX


Ejecución de programas del sistema

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de ejecución de programas
    • escapeshellarg — Escapar una cadena a ser usada como argumento del intérprete de comandos
    • escapeshellcmd — Escapar meta-caracteres del intérprete de comandos
    • exec — Ejecutar un programa externo
    • passthru — Ejecuta un programa externo y muestra la salida en bruto
    • proc_close — Cierra un proceso abierto mediante proc_open y devuelve el códido de salida de tal proceso
    • proc_get_status — Obtiene información sobre un proceso abierto por proc_open
    • proc_nice — Modificar la prioridad del proceso actual
    • proc_open — Ejecuta un comando y abre un puntero de fichero para entrada/salida
    • proc_terminate — Mata un proceso abierto mediante proc_open
    • shell_exec — Ejecutar un comando mediante el intérprete de comandos y devolver la salida completa como una cadena
    • system — Ejecutar un programa externo y mostrar su salida
posix_uname
Introducción
Extensiones de control de procesos


Introducción

Estas funciones proveen medios para ejecutar comandos en el sistema en sí, y medios para hacer seguros estos comandos.

Nota:

Todas las funciones de ejecución llaman a los comandos a través de cmd.exe bajo Windows. Por lo tanto, el usuario que llame a estas funciones necesita los privilegios apropiados para ejecutar este comando. La única excepción es proc_open() con la opción bypass_shell.

Ejecución de programas
Instalación/Configuración
Ejecución de programas


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Ejecución de programas


Tipos de recursos

Esta extensión define un recurso de proceso devuelto por proc_open().

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Funciones de ejecución de programas
Ejecución de programas


Funciones de ejecución de programas

Notas

Advertencia

Los archivos abiertos con seguridad (especialmente sesiones abiertas) deben ser cerrados antes de ejecutar un programa en segundo plano.

Ver también

Estas funciones están también estrechamente relacionadas con el operador de comillas invertidas. Además, estando en safe mode se debería considerar la directiva safe_mode_exec_dir.

Tabla de contenidos

  • escapeshellarg — Escapar una cadena a ser usada como argumento del intérprete de comandos
  • escapeshellcmd — Escapar meta-caracteres del intérprete de comandos
  • exec — Ejecutar un programa externo
  • passthru — Ejecuta un programa externo y muestra la salida en bruto
  • proc_close — Cierra un proceso abierto mediante proc_open y devuelve el códido de salida de tal proceso
  • proc_get_status — Obtiene información sobre un proceso abierto por proc_open
  • proc_nice — Modificar la prioridad del proceso actual
  • proc_open — Ejecuta un comando y abre un puntero de fichero para entrada/salida
  • proc_terminate — Mata un proceso abierto mediante proc_open
  • shell_exec — Ejecutar un comando mediante el intérprete de comandos y devolver la salida completa como una cadena
  • system — Ejecutar un programa externo y mostrar su salida
Constantes predefinidas
escapeshellarg
Ejecución de programas


Escapar una cadena a ser usada como argumento del intérprete de comandos

Funciones de ejecución de programas
escapeshellcmd
Funciones de ejecución de programas
PHP Manual

escapeshellarg

(PHP 4 >= 4.0.3, PHP 5)

escapeshellarg — Escapar una cadena a ser usada como argumento del intérprete de comandos

Descripción

string escapeshellarg ( string $arg )

escapeshellarg() agrega comillas sencillas alrededor de una cadena y rodea de comillas/escapa cualquier comilla sencilla existente, permitiéndole pasar la cadena directamente a una función del intérprete de comandos, y logrando que sea tratada como un solo argumento seguro. Esta función debe ser usada para escapar argumentos individuales a funciones del intérprete de comandos que provienen de la entrada del usuario. Las funciones del intérprete de comandos incluyen exec(), system() y el operador de comilla invertida.

Parámetros

arg

El argumento que será escapado.

Valores devueltos

La cadena escapada.

Ejemplos

Ejemplo #1 Ejemplo de escapeshellarg()

<?php
system('ls '.escapeshellarg($dir));
?>

Ver también

  • escapeshellcmd() - Escapar meta-caracteres del intérprete de comandos
  • exec() - Ejecutar un programa externo
  • popen() - Abre un proceso de un puntero a un archivo
  • system() - Ejecutar un programa externo y mostrar su salida
  • operador de comilla invertida

Funciones de ejecución de programas
escapeshellcmd
Funciones de ejecución de programas


Escapar meta-caracteres del intérprete de comandos

escapeshellarg
exec
Funciones de ejecución de programas
PHP Manual

escapeshellcmd

(PHP 4, PHP 5)

escapeshellcmd — Escapar meta-caracteres del intérprete de comandos

Descripción

string escapeshellcmd ( string $command )

escapeshellcmd() escapa cualquier caracter en una cadena que pudiera ser usada para engañar a un comando shell para que ejecute comandos arbitrarios. Esta función debería usarse para asegurarse de que cualquier información procedente de la entrada del usuario sea escapada antes de que dicha información sea pasada a las funciones exec() o system(), o al operador de comilla invertida.

Los siguientes caracteres son precedidos por una barra invertida: #&;`|*?~<>^()[]{}$\, \x0A y \xFF. ' y " son escapados únicamente si no están emparejados. En Windows, todos estos caracteres más % son reemplazados en su lugar por un espacio.

Parámetros

command

El comando a ser escapado.

Valores devueltos

La cadena escapada.

Ejemplos

Ejemplo #1 Ejemplo de escapeshellcmd()

<?php
// Permitimos intencionadamente un número arbitrario de argumentos aquí.
$comando = './configure '.$_POST['configure_options'];

$comando_escapado = escapeshellcmd($comando);

system($comando_escapado);
?>

Advertencia

escapeshellcmd() debería usarse en la cadena de comandos completa, y aún permitir al atacante pasar un número de argumentos arbitrario. Para escapar un único argumento se debería usar en su lugar la función escapeshellarg().

Ver también

  • escapeshellarg() - Escapar una cadena a ser usada como argumento del intérprete de comandos
  • exec() - Ejecutar un programa externo
  • popen() - Abre un proceso de un puntero a un archivo
  • system() - Ejecutar un programa externo y mostrar su salida
  • operador de comilla invertida

escapeshellarg
exec
Funciones de ejecución de programas


Ejecutar un programa externo

escapeshellcmd
passthru
Funciones de ejecución de programas
PHP Manual

exec

(PHP 4, PHP 5)

exec — Ejecutar un programa externo

Descripción

string exec ( string $command [, array &$output [, int &$return_var ]] )

exec() ejecuta el comando dado.

Parámetros

command

El comando que será ejecutado.

output

Si el argumento output está presente, entonces el array especificado será llenado con cada línea de la salida del comando. El espacio en blanco extra, como \n, no es incluido en este array. Note que si el array ya contiene algunos elementos, exec() anexará sus resultados al final del array. Si no desea que la función anexe los elementos, use unset() sobre el array antes de pasarla a exec().

return_var

Si el argumento return_var está presente junto con el argumento output, entonces el status de retorno del comando ejecutado será escrito en esta variable.

Valores devueltos

La última línea de los resultados del comando. Si necesita ejecutar un comando y tener todos los datos desde el comando pasados directamente de vuelta sin interferencia alguna, use la función passthru().

Para obtener la salida del comando ejecutado, asegúrese de definir y usar el parámetro output.

Ejemplos

Ejemplo #1 Un ejemplo de exec()

<?php
// imprime el nombre de usuario que tiene control del proceso php/httpd activo
// (en un sistema con el ejecutable "whoami" disponible en la ruta)
echo exec('whoami');
?>

Notas

Advertencia

Si se va a permitir que datos provenientes del usuario sean enviados a esta función, habría que utilizar escapeshellarg() o escapeshellcmd() para asegurarse que el usuario no intenta engañar al sistema para que ejecute comandos arbitrarios.

Nota:

Si ejecutamos un programa con esta función y queremos dejarlo ejecutándose en segundo plano, hay que asegurarse que la salida del mismo es redireccionada a un fichero u otro flujo de salida o PHP se quedará esperando hasta que la ejecución del programa termine.

Nota: Cuando safe mode está habilitado, sólo se pueden ejecutar los archivos que se encuentren dentro de safe_mode_exec_dir. Por razones prácticas, actualmente no se le permite tener componentes .. en la ruta al ejecutable.

Advertencia

Con safe mode habilitado, la cadena de comandos se escapa con escapeshellcmd(). Por esto, echo y | echo x quedaría echo y \| echo x.

Ver también

  • system() - Ejecutar un programa externo y mostrar su salida
  • passthru() - Ejecuta un programa externo y muestra la salida en bruto
  • escapeshellcmd() - Escapar meta-caracteres del intérprete de comandos
  • pcntl_exec() - Executes specified program in current process space
  • operador de comilla invertida

escapeshellcmd
passthru
Funciones de ejecución de programas


Ejecuta un programa externo y muestra la salida en bruto

exec
proc_close
Funciones de ejecución de programas
PHP Manual

passthru

(PHP 4, PHP 5)

passthru — Ejecuta un programa externo y muestra la salida en bruto

Descripción

void passthru ( string $command [, int &$return_var ] )

La función passthru() es parecida a la función exec() que ejecuta un command. Esta función deberia ser usada en lugar de exec() o system() cuando la salida desde la línea de comandos de Unix sean datos binarios, los cuales sea necesario pasar directamente al navegador. Un uso común para esto, sería para ejecutar algo como las utilidades pbmplus que pueden mostrar directamente una imagen en streaming. Estableciendo el Content-type como image/gif y llamando al programa pbmplus para mostrar un gif, se podrian crear scripts PHP que mostrasen imágenes directamente.

Parámetros

command

El comando que será ejecutado.

return_var

Si está presente el argumento return_var, el valor de retorno de la línea de comandos de Unix será colocado aquí.

Valores devueltos

No devuelve ningún valor.

Notas

Advertencia

Si se va a permitir que datos provenientes del usuario sean enviados a esta función, habría que utilizar escapeshellarg() o escapeshellcmd() para asegurarse que el usuario no intenta engañar al sistema para que ejecute comandos arbitrarios.

Nota:

Si ejecutamos un programa con esta función y queremos dejarlo ejecutándose en segundo plano, hay que asegurarse que la salida del mismo es redireccionada a un fichero u otro flujo de salida o PHP se quedará esperando hasta que la ejecución del programa termine.

Nota: Cuando safe mode está habilitado, sólo se pueden ejecutar los archivos que se encuentren dentro de safe_mode_exec_dir. Por razones prácticas, actualmente no se le permite tener componentes .. en la ruta al ejecutable.

Advertencia

Con safe mode habilitado, la cadena de comandos se escapa con escapeshellcmd(). Por esto, echo y | echo x quedaría echo y \| echo x.

Ver también

  • exec() - Ejecutar un programa externo
  • system() - Ejecutar un programa externo y mostrar su salida
  • popen() - Abre un proceso de un puntero a un archivo
  • escapeshellcmd() - Escapar meta-caracteres del intérprete de comandos
  • backtick operator

exec
proc_close
Funciones de ejecución de programas


Cierra un proceso abierto mediante proc_open y devuelve el códido de salida de tal proceso

passthru
proc_get_status
Funciones de ejecución de programas
PHP Manual

proc_close

(PHP 4 >= 4.3.0, PHP 5)

proc_close — Cierra un proceso abierto mediante proc_open() y devuelve el códido de salida de tal proceso

Descripción

int proc_close ( resource $process )

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

Parámetros

process

El recurso de proc_open() que será cerrado.

Valores devueltos

Devuelve el estado de terminación del proceso que se ejecutó. En caso de error se devolverá -1.

passthru
proc_get_status
Funciones de ejecución de programas


Obtiene información sobre un proceso abierto por proc_open

proc_close
proc_nice
Funciones de ejecución de programas
PHP Manual

proc_get_status

(PHP 5)

proc_get_status — Obtiene información sobre un proceso abierto por proc_open()

Descripción

array proc_get_status ( resource $process )

proc_get_status() recupera información sobre un proceso abierto mediante el uso de proc_open().

Parámetros

process

El resource proc_open() que será evaluado.

Valores devueltos

Un valor array con la información recolectada en caso de éxito, y FALSE si ocurre un error. La matriz devuelta contiene los siguientes elementos:

element | type | description
command | string | La cadena del comando que fue pasada a proc_open().
pid | int | process id
running | bool | TRUE si el proceso aun está siendo ejecutado, FALSE si ha terminado.
signaled | bool | TRUE si el proceso hijo ha sido terminado por una señal no atrapada. En windows, este valor siempre es FALSE.
stopped | bool | TRUE si el proceso hijo fue detenido por una señal. En windows, este valor siempre es FALSE.
exitcode | int | El código de salida devuelto por el proceso (el cual tiene sentido únicamente si running es FALSE). Solo la primera llamada a esta función devuelve el valor real, la siguiente llamada devuelve -1.
termsig | int | El número de la señal que causó que el proceso hijo finalizara su ejecución (sólo tiene sentido si signaled es TRUE).
stopsig | int | El número de la señal que causó que el proceso hijo detuviera su ejecución (sólo tiene sentido si stopped es TRUE).

Ver también

  • proc_open() - Ejecuta un comando y abre un puntero de fichero para entrada/salida

proc_close
proc_nice
Funciones de ejecución de programas


Modificar la prioridad del proceso actual

proc_get_status
proc_open
Funciones de ejecución de programas
PHP Manual

proc_nice

(PHP 5)

proc_nice — Modificar la prioridad del proceso actual

Descripción

bool proc_nice ( int $increment )

proc_nice() modifica la prioridad del proceso actual por la cantidad especificada en increment. Un increment positivo reducirá la prioridad del proceso actual, mientras que un increment negativo la incrementará.

proc_nice() no está relacionada con proc_open() y sus funciones asociadas en ninguna forma.

Parámetros

increment

El valor de incremento del cambio de prioridad.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Si ocurre un error, como que el usuario carezca de permisos para modificar la prioridad, un error de nivel E_WARNING es generado también.

Notas

Nota: Disponibilidad

proc_nice() existirá únicamente si su sistema tiene soporte para 'nice'. 'nice' está definido de acuerdo a los estándares: SVr4, SVID EXT, AT&T, X/OPEN, BSD 4.3. Esto quiere decir que proc_nice() no está disponible en Windows.

proc_get_status
proc_open
Funciones de ejecución de programas


Ejecuta un comando y abre un puntero de fichero para entrada/salida

proc_nice
proc_terminate
Funciones de ejecución de programas
PHP Manual

proc_open

(PHP 4 >= 4.3.0, PHP 5)

proc_open — Ejecuta un comando y abre un puntero de fichero para entrada/salida

Descripción

resource proc_open ( string $cmd , array $descriptorspec , array &$pipes [, string $cwd [, array $env [, array $other_options ]]] )

proc_open() es similar a popen() pero provee un grado de control mucho más grande sobre la ejecución del programa.

Parámetros

cmd

El comando a ejecutar

descriptorspec

Un array indexado donde la clave representa el número descriptor y el valor representa como PHP pasará que descriptor para que proceso hijo. 0 es stdin, 1 es stdout, 2 es stderr.

Cada elemento puede ser:

  • Un array que describe la tubería que se va a pasar al proceso. El primer elemento es el tipo de descriptor, y el segundo elemento es una opción para el tipo dado. Los tipos válidos son: pipe (en este caso el segundo elemento sería r para pasar a leer el final de la tubería para el proceso, o w para pasar a escribir al final) y file (en este caso el segundo elemento sería el nombre de fichero).
  • Un recurso de flujo representando un descriptor de un fichero real (p.e. un fichero abierto, un socket, STDIN).

Los números descriptores de fichero no estan limitados a 0, 1 y 2. Se puede especificar cualquier número descriptor válido de fichero, y este ser pasado al proceso hijo. Esto permite a su script para inteoperar con otros scripts que corren como "co-procesos". En particular esto es útil pasando passphrases para programas como PGP, GPG y OpenSSL de una manera más segura. Esto es útil también para la lectura de la información del estado provista por estos programas en descriptores de fichero auxiliares.

pipes

En un array indexado es establecerán los punteros de fichero que se corresponden con el fin de cualquier tuberia PHP que se haya creado.

cwd

El directorio inicial de trabajo para el comando. Este debe ser una ruta absoluta, o si se prefiere puede ser NULL si se desea usar el valor por defecto (entonces será el directorio de trabajo del proceso PHP en curso)

env

Un array con las variables de entorno para el comando que será ejecutado, o NULL para usar el mismo entorno como el del proceso PHP en curso.

other_options

Permite especificar opciones adicionales. Actualmente las opciones soportadas incluidas son:

  • suppress_errors (solo windows): suprime errores generados por esta función cuando es establece en TRUE
  • bypass_shell (solo windows): Desvia en la consola de cmd.exe cuando se establece en TRUE

Valores devueltos

Devuelve un recurso representando el proceso, cuando se haya terminado con él, deberá ser liberado usando proc_close(). En caso de error devuelve FALSE.

Historial de cambios

Versión | Descripción
5.2.1 | Añadida la opción bypass_shell al parámetro other_options.
5.0.0 | Añadidos los parámetros cwd, env y other_options.

Ejemplos

Ejemplo #1 Ejemplo de proc_open()

<?php
$descriptorspec = array(
   0 => array("pipe", "r"),  // stdin es una tubería usada por el hijo para lectura
   1 => array("pipe", "w"),  // stdout es una tubería usada por el hijo para escritura
   2 => array("file", "/tmp/error-output.txt", "a") // stderr es un fichero para escritura
);

$cwd = '/tmp';
$env = array('some_option' => 'aeiou');

$process = proc_open('php', $descriptorspec, $pipes, $cwd, $env);

if (is_resource($process)) {
    // $pipes ahora será algo como:
    // 0 => gestor de escritura conectado al stdin hijo
    // 1 => gestor de lectura conectado al stdout hijo
    // Cualquier error de salida será anexado a /tmp/error-output.txt

    fwrite($pipes[0], '<?php print_r($_ENV); ?>');
    fclose($pipes[0]);

    echo "--".stream_get_contents($pipes[1])."--";
    fclose($pipes[1]);

    //Es importante que se cierren todas las tubería antes de llamar a proc_close para evitar así un punto muerto
    $return_value = proc_close($process);

    echo "command returned $return_value\n";
}
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [some_option] => aeiou
    [PWD] => /tmp
    [SHLVL] => 1
    [_] => /usr/local/bin/php
)
command returned 0

Notas

Nota:

Compatibilidad con Windows: Los descriptores por encima de 2 se ponen a disposición del proceso hijo como gestores heredables, pero desde la arquitectura de Windows no se asocia el número descriptor de fichero con los gestores de bajo nivel. El proceso hijo (todavia) no tiene un medio de acceso a estos gestores. Stdin, stdout and stderr funcionan como se esperaba.

Nota:

Si solamente se necesita una tubería de proceso unidireccional, es mejor usar popen() en su lugar, ya que es mucho más fácil de utilizar.

Ver también

  • popen() - Abre un proceso de un puntero a un archivo
  • exec() - Ejecutar un programa externo
  • system() - Ejecutar un programa externo y mostrar su salida
  • passthru() - Ejecuta un programa externo y muestra la salida en bruto
  • stream_select() - Ejecuta el equivalente de la llamada al sistema select() sobre las matrices de flujos dadas con un tiempo de espera especificado por tv_sec y tv_usec
  • The backtick operator

proc_nice
proc_terminate
Funciones de ejecución de programas


Mata un proceso abierto mediante proc_open

proc_open
shell_exec
Funciones de ejecución de programas
PHP Manual

proc_terminate

(PHP 5)

proc_terminate — Mata un proceso abierto mediante proc_open

Descripción

bool proc_terminate ( resource $process [, int $signal = 15 ] )

Señala un process (creado usando proc_open()) que debe terminar. proc_terminate() regresa inmediatamente y espera a la terminación del proceso.

proc_terminate() Permite terminar el proceso y continuar con otras tareas. Puede consultar el estado del proceso (para ver si se ha detenido) usando la función proc_get_status().

Parámetros

process

El recurso de proc_open() que será cerrado.

signal

Este parámetro opcional solo es útil en sistemas operativos POSIX; puede especificar una señal para enviar al proceso utilizando la llamada al sistema kill(2). Por defecto es SIGTERM.

Valores devueltos

Devuelve el estado de terminación del proceso que se ejecutó.

Historial de cambios

Versión | Descripción
5.2.2 | Versiones previas usadas para destruir el recurso de un proceso dado.

Ver también

  • proc_open() - Ejecuta un comando y abre un puntero de fichero para entrada/salida
  • proc_close() - Cierra un proceso abierto mediante proc_open y devuelve el códido de salida de tal proceso
  • proc_get_status() - Obtiene información sobre un proceso abierto por proc_open

proc_open
shell_exec
Funciones de ejecución de programas


Ejecutar un comando mediante el intérprete de comandos y devolver la salida completa como una cadena

proc_terminate
system
Funciones de ejecución de programas
PHP Manual

shell_exec

(PHP 4, PHP 5)

shell_exec — Ejecutar un comando mediante el intérprete de comandos y devolver la salida completa como una cadena

Descripción

string shell_exec ( string $cmd )

Esta función es idéntica al operador de comillas invertidas.

Parámetros

cmd

El comando que será ejecutado.

Valores devueltos

La salida del comando ejecutado o NULL si ocurre un error o el comando no produce ninguna salida.

Nota:

Esta función puede devolver NULL cuando ocurre un error o cuando el programa no produce ninguna salida. No es posible detectar los fallos de ejecución usando esta función. exec() debería usarse cuando sea necesario el acceso al código de salida del programa.

Ejemplos

Ejemplo #1 Un ejemplo de shell_exec()

<?php
$salida = shell_exec('ls -lart');
echo "<pre>$salida</pre>";
?>

Notas

Nota:

Esta función no está disponible cuando PHP está corriendo en safe mode.

Ver también

  • exec() - Ejecutar un programa externo
  • escapeshellcmd() - Escapar meta-caracteres del intérprete de comandos

proc_terminate
system
Funciones de ejecución de programas


Ejecutar un programa externo y mostrar su salida

shell_exec
pthreads
Funciones de ejecución de programas
PHP Manual

system

(PHP 4, PHP 5)

system — Ejecutar un programa externo y mostrar su salida

Descripción

string system ( string $command [, int &$return_var ] )

system() es similar a la versión C de la función de mismo nombre, dado que ejecuta el command dado y muestra el resultado.

La llamada a system() también intenta volcar automáticamente el búfer de salida del servidor web después de cada línea de salida, si PHP está corriendo como un módulo de servidor.

Si necesita ejecutar un comando y recibir de vuelta todo los datos del mismo sin interferencias, use la función passthru().

Parámetros

comando

El comando que será ejecutado.

return_var

Si el argumento return_var se encuentra presente, entonces el status devuelto por el comando ejecutado será almacenado en esta variable.

Valores devueltos

Devuelve la última línea de la salida del comando en caso de tener éxito, y FALSE si ocurre un error.

Ejemplos

Ejemplo #1 Ejemplo de system()

<?php
echo '<pre>';

// Muestra el resultado completo del comando "ls", y devuelve la
// ultima linea de la salida en $ultima_linea. Almacena el valor de
// retorno del comando en $retval.
$ultima_linea = system('ls', $retval);

// Imprimir informacion adicional
echo '
</pre>
<hr />Ultima linea de la salida: ' . $ultima_linea . '
<hr />Valor de retorno: ' . $retval;
?>

Notas

Advertencia

Si se va a permitir que datos provenientes del usuario sean enviados a esta función, habría que utilizar escapeshellarg() o escapeshellcmd() para asegurarse que el usuario no intenta engañar al sistema para que ejecute comandos arbitrarios.

Nota:

Si ejecutamos un programa con esta función y queremos dejarlo ejecutándose en segundo plano, hay que asegurarse que la salida del mismo es redireccionada a un fichero u otro flujo de salida o PHP se quedará esperando hasta que la ejecución del programa termine.

Nota: Cuando safe mode está habilitado, sólo se pueden ejecutar los archivos que se encuentren dentro de safe_mode_exec_dir. Por razones prácticas, actualmente no se le permite tener componentes .. en la ruta al ejecutable.

Advertencia

Con safe mode habilitado, la cadena de comandos se escapa con escapeshellcmd(). Por esto, echo y | echo x quedaría echo y \| echo x.

Ver también

  • exec() - Ejecutar un programa externo
  • passthru() - Ejecuta un programa externo y muestra la salida en bruto
  • popen() - Abre un proceso de un puntero a un archivo
  • escapeshellcmd() - Escapar meta-caracteres del intérprete de comandos
  • pcntl_exec() - Executes specified program in current process space
  • el operador de comillas invertidas

shell_exec
pthreads
Funciones de ejecución de programas


pthreads

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Thread — The Thread class
    • Thread::chunk — Manipulation
    • Thread::getCreatorId — Identification
    • Thread::getThreadId — Identification
    • Thread::isJoined — State Detection
    • Thread::isRunning — State Detection
    • Thread::isStarted — State Detection
    • Thread::isTerminated — State Detection
    • Thread::isWaiting — State Detection
    • Thread::join — Synchronization
    • Thread::lock — Synchronization
    • Thread::merge — Manipulation
    • Thread::notify — Synchronization
    • Thread::pop — Manipulation
    • Thread::run — Execution
    • Thread::shift — Manipulation
    • Thread::start — Execution
    • Thread::synchronized — Synchronization
    • Thread::unlock — Synchronization
    • Thread::wait — Synchronization
  • Worker — The Worker class
    • Worker::chunk — Manipulation
    • Worker::getCreatorId — Identification
    • Worker::getStacked — Stack Analysis
    • Worker::getThreadId — Identification
    • Worker::isShutdown — State Detection
    • Worker::isWorking — State Detection
    • Worker::merge — Manipulation
    • Worker::pop — Manipulation
    • Worker::run — Execution
    • Worker::shift — Manipulation
    • Worker::shutdown — Synchronization
    • Worker::stack — Stacking
    • Worker::start — Execution
    • Worker::unstack — Stacking
  • Stackable — The Stackable class
    • Stackable::chunk — Manipulation
    • Stackable::isRunning — State Detection
    • Stackable::isTerminated — State Detection
    • Stackable::isWaiting — State Detection
    • Stackable::lock — Synchronization
    • Stackable::merge — Manipulation
    • Stackable::notify — Synchronization
    • Stackable::pop — Manipulation
    • Stackable::run — Execution
    • Stackable::shift — Manipulation
    • Stackable::synchronized — Synchronization
    • Stackable::unlock — Synchronization
    • Stackable::wait — Synchronization
  • Modifiers — Method Modifiers
  • Mutex — The Mutex class
    • Mutex::create — Create a Mutex
    • Mutex::destroy — Destroy Mutex
    • Mutex::lock — Acquire Mutex
    • Mutex::trylock — Attempt to Acquire Mutex
    • Mutex::unlock — Release Mutex
  • Cond — The Cond class
    • Cond::broadcast — Broadcast a Condition
    • Cond::create — Create a Condition
    • Cond::destroy — Destroy a Condition
    • Cond::signal — Signal a Condition
    • Cond::wait — Wait for Condition
system
Introducción
Extensiones de control de procesos


Introducción

pthreads is an Object Orientated API that allows user-land multi-threading in PHP. It includes all the tools you need to create multi-threaded applications targeted at the Web or the Console. PHP applications can create, read, write, execute and synchronize with Threads, Workers and Stackables.

A Thread Object: The user can implement a thread by extending the Thread declaration provided by pthreads. Any members can be written and read by any context with a reference to the Thread, any context can also execute any public and protected methods. The run method of the implementation is executed in a separate thread when the start method of the implementation is called from the context ( that's Thread or Process ) that created it. Only the context that creates a thread can start and join with it.

A Worker Object: A Worker Thread has a persistent state, and will be available from the call to start until the object goes out of scope, or is explicitly shutdown. Any context with a reference can pass objects of type Stackable to the Worker which will be executed by the Worker in a separate Thread. The run method of a Worker is executed before any objects on the stack, such that it can initialize resources that the Stackables to come may need.

A Stackable Object: A Stackable Object can read/write and execute the Worker during execution, simply provide the stackable a reference to the appropriate object before runtime. Additionally, any context with a reference to the Stackable can read, write and execute its methods before during and after execution.

Synchronization: All of the objects that pthreads creates have built in synchronization in the ( familiar to java programmers ) form of ::wait and ::notify. Calling ::wait on an object will cause the context to wait for another context to call ::notify on the same object. This allows for powerful synchronization between Threaded Objects in PHP.

Wait, Threaded Objects ? A Stackable, Thread or Worker can be thought of, and should be used as a Threaded stdClass: A Thread, Worker and Stackable all behave in the same way in any context with a reference. Any objects that are intended for use in the multi-threaded parts of your application should extend the Stackable, Thread or Worker declaration. Which means they must implement run but may not ever be executed; it will often be the case that Objects being used in a multi-threaded environment are intended for execution. Doing so means any context ( that's Thread/Worker/Stackable/Process ) with a reference can read, write and execute the members of the Threaded Object before, during, and after execution.

Method Modifiers: The protected methods of Threaded Objects are protected by pthreads, such that only one context may call that method at a time. The private methods of Threaded Objects can only be called from within the Threaded Object during execution.

Data Storage: As a rule of thumb, any data type that can be serialized can be used as a member of a Threaded object, it can be read and written from any context with a reference to the Threaded Object. Not every type of data is stored serially, basic types are stored in their true form. Complex types, Arrays, and Objects that are not Threaded are stored serially; they can be read and written to the Threaded Object from any context with a reference. With the exception of Threaded Objects any reference used to set a member of a Threaded Object is separated from the reference in the Threaded Object; the same data can be read directly from the Threaded Object at any time by any context with a reference to the Threaded Object.

Static Members: When a new context is created ( Thread or Worker ), only the simple members of static classes are copied, no resources or objects are copied into the threading context from static class members. This allows them to function as a kind of thread local storage. For example, upon starting the context, a class whose static members include connection information for a database server, and the connection itself, will only have the simple connection information copied, not the connection. Allowing the new context to initiate a connection in the same way as the context that created it, storing the connection in the same place without affecting the original context.

Precaución

When print_r, var_dump and other object debug functions are executed, they do not include recursion protection.

Nota:

Resources: The extensions and functionality that define resources in PHP are completely unprepared for this kind of environment; pthreads makes provisions for Resources to be shared among contexts, however, for most types of resource it should be considered unsafe. Extreme caution and care should be used when sharing resources among contexts.

Precaución

In the environment which pthreads executes, some restrictions and limitations are necessary in order to provide a stable environment.

pthreads
Instalación/Configuración
pthreads


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
pthreads


Requerimientos

pthreads requires a build of PHP with ZTS enabled ( --enable-maintainer-zts or --enable-zts on Windows )

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/pthreads

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

The following constants are for selective inheritance:

PTHREADS_INHERIT_ALL (integer)
The default inheritance mask used when starting Threads and Workers
PTHREADS_INHERIT_INI (integer)
Determines wether the ini entries are inherited by the new context
PTHREADS_INHERIT_CONSTANTS (integer)
Determines wether the constants are inherited by the new context
PTHREADS_INHERIT_CLASSES (integer)
Determines wether the class table is inherited by the new context
PTHREADS_INHERIT_FUNCTIONS (integer)
Determines wether the function table is inherited by the new context
PTHREADS_INHERIT_INCLUDES (integer)
Determines wether the included_files table is inherit by the new context
PTHREADS_INHERIT_NONE (integer)
Nothing will be inherited by the new context
Tipos de recursos
Thread
pthreads


The Thread class

(PECL pthreads >= 0.34)

Introducción

An implementation of a Thread should extend this declaration, implementing the run method. When the start method of that object is called, the run method code will be executed in separate Thread.

Sinopsis de la Clase

Thread {
/* Métodos */
final public boolean chunk ( long $size , boolean $preserve )
final public long getCreatorId ( void )
final public long getThreadId ( void )
final public boolean isJoined ( void )
final public boolean isRunning ( void )
final public boolean isStarted ( void )
final public boolean isTerminated ( void )
final public boolean isWaiting ( void )
final public boolean join ( void )
final public boolean lock ( void )
final public boolean merge ( mixed $from [, mixed $overwrite ] )
final public boolean notify ( void )
final public boolean pop ( void )
abstract public void run ( void )
final public boolean shift ( void )
final public boolean start ([ long $options ] )
final public mixed synchronized ( Closure $block [, mixed $... ] )
final public boolean unlock ( void )
final public boolean wait ([ long $timeout ] )
}

Tabla de contenidos

  • Thread::chunk — Manipulation
  • Thread::getCreatorId — Identification
  • Thread::getThreadId — Identification
  • Thread::isJoined — State Detection
  • Thread::isRunning — State Detection
  • Thread::isStarted — State Detection
  • Thread::isTerminated — State Detection
  • Thread::isWaiting — State Detection
  • Thread::join — Synchronization
  • Thread::lock — Synchronization
  • Thread::merge — Manipulation
  • Thread::notify — Synchronization
  • Thread::pop — Manipulation
  • Thread::run — Execution
  • Thread::shift — Manipulation
  • Thread::start — Execution
  • Thread::synchronized — Synchronization
  • Thread::unlock — Synchronization
  • Thread::wait — Synchronization
Constantes predefinidas
Thread::chunk
pthreads


Manipulation

Thread
Thread::getCreatorId
Thread
PHP Manual

Thread::chunk

(PECL pthreads >= 0.45)

Thread::chunk — Manipulation

Descripción

final public boolean Thread::chunk ( long $size , boolean $preserve )

Fetches a chunk of the objects properties table of the given size, optionally preserving keys

Parámetros

size

The number of items to fetch

preserve

Preserve the keys of members, by default false

Valores devueltos

An array of items from the objects member table

Thread
Thread::getCreatorId
Thread


Identification

Thread::chunk
Thread::getThreadId
Thread
PHP Manual

Thread::getCreatorId

(PECL pthreads >= 0.36)

Thread::getCreatorId — Identification

Descripción

final public long Thread::getCreatorId ( void )

Will return the identity of the Thread that created the referenced Thread

Parámetros

Esta función no tiene parámetros.

Valores devueltos

A numeric identity

Ejemplos

Ejemplo #1 Return the identity of the Thread or Process that created the referenced Thread

<?php
class My extends Thread {
    public function run() {
        printf("%s created by Thread #%lu\n", __CLASS__, $this->getCreatorId());
    }
}
$my = new My();
$my->start();
?>

El resultado del ejemplo sería:

My created by Thread #123456778899

Thread::chunk
Thread::getThreadId
Thread


Identification

Thread::getCreatorId
Thread::isJoined
Thread
PHP Manual

Thread::getThreadId

(PECL pthreads >= 0.34)

Thread::getThreadId — Identification

Descripción

final public long Thread::getThreadId ( void )

Will return the identity of the referenced Thread

Parámetros

Esta función no tiene parámetros.

Valores devueltos

A numeric identity

Ejemplos

Ejemplo #1 Return the identity of the referenced Thread

<?php
class My extends Thread {
    public function run() {
        printf("%s is Thread #%lu\n", __CLASS__, $this->getThreadId());
    }
}
$my = new My();
$my->start();
?>

El resultado del ejemplo sería:

My is Thread #123456778899

Thread::getCreatorId
Thread::isJoined
Thread


State Detection

Thread::getThreadId
Thread::isRunning
Thread
PHP Manual

Thread::isJoined

(PECL pthreads >= 0.34)

Thread::isJoined — State Detection

Descripción

final public boolean Thread::isJoined ( void )

Tell if the referenced Thread has been joined by another context

Parámetros

Esta función no tiene parámetros.

Valores devueltos

A boolean indication of state

Ejemplos

Ejemplo #1 Detect the state of the referenced Thread

<?php
class My extends Thread {
    public function run() {
        $this->synchronized(function($thread){
            $thread->wait();
        }, $this);
    }
}
$my = new My();
$my->start();
var_dump($my->isJoined());
$my->synchronized(function($thread){
    $thread->notify();
}, $my);
?>

El resultado del ejemplo sería:

bool(false)

Thread::getThreadId
Thread::isRunning
Thread


State Detection

Thread::isJoined
Thread::isStarted
Thread
PHP Manual

Thread::isRunning

(PECL pthreads >= 0.34)

Thread::isRunning — State Detection

Descripción

final public boolean Thread::isRunning ( void )

Tell if the referenced Thread is executing

Parámetros

Esta función no tiene parámetros.

Valores devueltos

A boolean indication of state

Nota:

A Thread is considered running while executing the run method

Ejemplos

Ejemplo #1 Detect the state of the referenced Thread

<?php
class My extends Thread {
    public function run() {
        $this->synchronized(function($thread){
            $thread->wait();
        }, $this);
    }
}
$my = new My();
$my->start();
var_dump($my->isRunning());
$my->synchronized(function($thread){
    $thread->notify();
}, $my);
?>

El resultado del ejemplo sería:

bool(true)

Thread::isJoined
Thread::isStarted
Thread


State Detection

Thread::isRunning
Thread::isTerminated
Thread
PHP Manual

Thread::isStarted

(PECL pthreads >= 0.34)

Thread::isStarted — State Detection

Descripción

final public boolean Thread::isStarted ( void )

Tell if the referenced Thread has been started

Parámetros

Esta función no tiene parámetros.

Valores devueltos

A boolean indication of state

Ejemplos

Ejemplo #1 Detect the state of the referenced Thread

<?php
class My extends Thread {
    public function run() {
        /* ... */
    }
}
$my = new My();
$my->start();
var_dump($my->isStarted());
?>

El resultado del ejemplo sería:

bool(true)

Thread::isRunning
Thread::isTerminated
Thread


State Detection

Thread::isStarted
Thread::isWaiting
Thread
PHP Manual

Thread::isTerminated

(PECL pthreads >= 0.43)

Thread::isTerminated — State Detection

Descripción

final public boolean Thread::isTerminated ( void )

Tell if the referenced Thread exited, suffered fatal errors, or threw uncaught exceptions during execution

Parámetros

Esta función no tiene parámetros.

Valores devueltos

A boolean indication of state

Ejemplos

Ejemplo #1 Detect the state of the referenced Thread

<?php
class My extends Thread {
    public function run() {
        i_do_not_exist();
    }
}
$my = new My();
$my->start();
$my->join();
var_dump($my->isTerminated());
?>

El resultado del ejemplo sería:

bool(true)

Thread::isStarted
Thread::isWaiting
Thread


State Detection

Thread::isTerminated
Thread::join
Thread
PHP Manual

Thread::isWaiting

(PECL pthreads >= 0.34)

Thread::isWaiting — State Detection

Descripción

final public boolean Thread::isWaiting ( void )

Tell if the referenced Thread is waiting for notification

Parámetros

Esta función no tiene parámetros.

Valores devueltos

A boolean indication of state

Ejemplos

Ejemplo #1 Detect the state of the referenced Thread

<?php
class My extends Thread {
    public function run() {
        $this->synchronized(function($thread){
            $thread->wait();
        }, $this);
    }
}
$my = new My();
$my->start();
$my->synchronized(function($thread){
    var_dump($thread->isWaiting());
    $thread->notify();
}, $my);
?>

El resultado del ejemplo sería:

bool(true)

Thread::isTerminated
Thread::join
Thread


Synchronization

Thread::isWaiting
Thread::lock
Thread
PHP Manual

Thread::join

(PECL pthreads >= 0.34)

Thread::join — Synchronization

Descripción

final public boolean Thread::join ( void )

Causes the calling context to wait for the referenced Thread to finish executing

Parámetros

Esta función no tiene parámetros.

Valores devueltos

A boolean indication of success

Ejemplos

Ejemplo #1 Join with the referenced Thread

<?php
class My extends Thread {
    public function run() {
        /* ... */
    }
}
$my = new My();
$my->start();
/* ... */
var_dump($my->join());
/* ... */
?>

El resultado del ejemplo sería:

bool(true)

Thread::isWaiting
Thread::lock
Thread


Synchronization

Thread::join
Thread::merge
Thread
PHP Manual

Thread::lock

(PECL pthreads >= 0.40)

Thread::lock — Synchronization

Descripción

final public boolean Thread::lock ( void )

Lock the referenced objects storage for the calling context

Parámetros

Esta función no tiene parámetros.

Valores devueltos

A boolean indication of success

Ejemplos

Ejemplo #1 Locking Thread Storage

<?php
class My extends Thread {
    public function run() {
        var_dump($this->lock());
        /** nobody can read or write **/
        var_dump($this->unlock());
        /** reading / writing resumed for all other contexts */
    }
}
$my = new My();
$my->start();
?>

El resultado del ejemplo sería:

bool(true)
bool(true)

Thread::join
Thread::merge
Thread


Manipulation

Thread::lock
Thread::notify
Thread
PHP Manual

Thread::merge

(PECL pthreads >= 0.45)

Thread::merge — Manipulation

Descripción

final public boolean Thread::merge ( mixed $from [, mixed $overwrite ] )

Merges data into the current object

Parámetros

from

The data to merge

overwrite

Overwrite existing keys flag, by default true

Valores devueltos

A boolean indication of success

Thread::lock
Thread::notify
Thread


Synchronization

Thread::merge
Thread::pop
Thread
PHP Manual

Thread::notify

(PECL pthreads >= 0.34)

Thread::notify — Synchronization

Descripción

final public boolean Thread::notify ( void )

Send notification to the referenced Thread

Parámetros

Esta función no tiene parámetros.

Valores devueltos

A boolean indication of success

Ejemplos

Ejemplo #1 Notifications and Waiting

<?php
class My extends Thread {
    public function run() {
        /** cause this thread to wait **/
        $this->synchronized(function($thread){
            $thread->wait();
        }, $this);
    }
}
$my = new My();
$my->start();
/** send notification to the waiting thread **/
$my->synchronized(function($thread){
    $thread->notify();
}, $my);
var_dump($my->join());
?>

El resultado del ejemplo sería:

bool(true)

Thread::merge
Thread::pop
Thread


Manipulation

Thread::notify
Thread::run
Thread
PHP Manual

Thread::pop

(PECL pthreads >= 0.45)

Thread::pop — Manipulation

Descripción

final public boolean Thread::pop ( void )

Pops an item from the objects properties table

Valores devueltos

The last item from the objects properties table

Thread::notify
Thread::run
Thread


Execution

Thread::pop
Thread::shift
Thread
PHP Manual

Thread::run

(PECL pthreads >= 0.34)

Thread::run — Execution

Descripción

abstract public void Thread::run ( void )

The run method of a Thread is executed in a Thread when a call to Thread::start is made

Parámetros

Esta función no tiene parámetros.

Valores devueltos

The methods return value, if used, will be ignored

Thread::pop
Thread::shift
Thread


Manipulation

Thread::run
Thread::start
Thread
PHP Manual

Thread::shift

(PECL pthreads >= 0.45)

Thread::shift — Manipulation

Descripción

final public boolean Thread::shift ( void )

Shifts an item from the objects properties table

Valores devueltos

The first item from the objects properties table

Thread::run
Thread::start
Thread


Execution

Thread::shift
Thread::synchronized
Thread
PHP Manual

Thread::start

(PECL pthreads >= 0.34)

Thread::start — Execution

Descripción

final public boolean Thread::start ([ long $options ] )

Will start a new Thread to execute the implemented run method

Parámetros

options

An optional mask of inheritance constants, by default PTHREADS_INHERIT_ALL

Valores devueltos

A boolean indication of success

Ejemplos

Ejemplo #1 Starting Threads

<?php
class My extends Thread {
    public function run() {
        /** ... **/
    }
}
$my = new My();
var_dump($my->start());
?>

El resultado del ejemplo sería:

bool(true)

Thread::shift
Thread::synchronized
Thread


Synchronization

Thread::start
Thread::unlock
Thread
PHP Manual

Thread::synchronized

(PECL pthreads >= 0.40)

Thread::synchronized — Synchronization

Descripción

final public mixed Thread::synchronized ( Closure $block [, mixed $... ] )

Executes the block while retaining the synchronization lock for the current context.

Parámetros

block

The block of code to execute

...

Variable length list of arguments to use as function arguments to the block

Valores devueltos

The return value from the block

Ejemplos

Ejemplo #1 Synchronizing

<?php
class My extends Thread {
    public function run() {
        $this->synchronized(function($thread){
            $thread->wait();
        }, $this);
    }
}
$my = new My();
$my->start();
$my->synchronized(function($thread){
    $thread->notify();
}, $my);
var_dump($my->join());
?>

El resultado del ejemplo sería:

bool(true)

Thread::start
Thread::unlock
Thread


Synchronization

Thread::synchronized
Thread::wait
Thread
PHP Manual

Thread::unlock

(PECL pthreads >= 0.40)

Thread::unlock — Synchronization

Descripción

final public boolean Thread::unlock ( void )

Unlock the referenced objects storage for the calling context

Parámetros

Esta función no tiene parámetros.

Valores devueltos

A boolean indication of success

Ejemplos

Ejemplo #1 Locking Thread Storage

<?php
class My extends Thread {
    public function run() {
        var_dump($this->lock());
        /** nobody can read or write **/
        var_dump($this->unlock());
        /** reading / writing resumed for all other contexts */
    }
}
$my = new My();
$my->start();
?>

El resultado del ejemplo sería:

bool(true)
bool(true)

Thread::synchronized
Thread::wait
Thread


Synchronization

Thread::unlock
Worker
Thread
PHP Manual

Thread::wait

(PECL pthreads >= 0.34)

Thread::wait — Synchronization

Descripción

final public boolean Thread::wait ([ long $timeout ] )

Will cause the calling Thread to wait for notification from the referenced Thread

Parámetros

timeout

An optional timeout in millionths of a second

Valores devueltos

A boolean indication of success

Ejemplos

Ejemplo #1 Notifications and Waiting

<?php
class My extends Thread {
    public function run() {
        /** cause this thread to wait **/
        $this->synchronized(function($thread){
            $thread->wait();
        }, $this);
    }
}
$my = new My();
$my->start();
/** send notification to the waiting thread **/
$my->synchronized(function($thread){
    $thread->notify();
}, $my);
var_dump($my->join());
?>

El resultado del ejemplo sería:

bool(true)

Thread::unlock
Worker
Thread


The Worker class

(PECL pthreads >= 0.36)

Introducción

Worker Threads have a persistent context, as such should be used over Threads in most cases.

Sinopsis de la Clase

Worker {
/* Métodos */
final public boolean chunk ( long $size , boolean $preserve )
final public long getCreatorId ( void )
final public int getStacked ( void )
final public long getThreadId ( void )
final public boolean isShutdown ( void )
final public boolean isWorking ( void )
final public boolean merge ( mixed $from [, mixed $overwrite ] )
final public boolean pop ( void )
abstract public void run ( void )
final public boolean shift ( void )
final public boolean shutdown ( void )
final public int stack ( Stackable $work )
final public boolean start ([ long $options ] )
final public int unstack ([ Stackable $work ] )
}

Tabla de contenidos

  • Worker::chunk — Manipulation
  • Worker::getCreatorId — Identification
  • Worker::getStacked — Stack Analysis
  • Worker::getThreadId — Identification
  • Worker::isShutdown — State Detection
  • Worker::isWorking — State Detection
  • Worker::merge — Manipulation
  • Worker::pop — Manipulation
  • Worker::run — Execution
  • Worker::shift — Manipulation
  • Worker::shutdown — Synchronization
  • Worker::stack — Stacking
  • Worker::start — Execution
  • Worker::unstack — Stacking
Thread::wait
Worker::chunk
pthreads


Manipulation

Worker
Worker::getCreatorId
Worker
PHP Manual

Worker::chunk

(PECL pthreads >= 0.45)

Worker::chunk — Manipulation

Descripción

final public boolean Worker::chunk ( long $size , boolean $preserve )

Fetches a chunk of the objects properties table of the given size, optionally preserving keys

Parámetros

size

The number of items to fetch

preserve

Preserve the keys of members, by default false

Valores devueltos

An array of items from the objects member table

Worker
Worker::getCreatorId
Worker


Identification

Worker::chunk
Worker::getStacked
Worker
PHP Manual

Worker::getCreatorId

(PECL pthreads >= 0.36)

Worker::getCreatorId — Identification

Descripción

final public long Worker::getCreatorId ( void )

Will return the identity of the Thread that created the referenced Thread

Parámetros

Esta función no tiene parámetros.

Valores devueltos

A numeric identity

Ejemplos

Ejemplo #1 Return the identity of the Thread or Process that created the referenced Worker

<?php
class My extends Thread {
    public function run() {
        printf("%s created by Thread #%lu\n", __CLASS__, $this->getCreatorId());
    }
}
$my = new My();
$my->start();
?>

El resultado del ejemplo sería:

My created by Thread #123456778899

Worker::chunk
Worker::getStacked
Worker


Stack Analysis

Worker::getCreatorId
Worker::getThreadId
Worker
PHP Manual

Worker::getStacked

(PECL pthreads >= 0.36)

Worker::getStacked — Stack Analysis

Descripción

final public int Worker::getStacked ( void )

Returns the number of Stackables waiting to be executed by the referenced Worker

Parámetros

Esta función no tiene parámetros.

Valores devueltos

An integral value

Ejemplos

Ejemplo #1 Returns the number of objects currently waiting to be executed by the referenced Worker

<?php
class Work extends Stackable {
    /** ... **/

    public function run(){
        /** ... **/
    }
}

class My extends Worker {
    public function run(){
        /** ... **/
    }
}
$my = new My();
/** ... **/
$my->stack(new Work());
/** ... **/
printf("My worker has %d jobs remaining\n", $my->getStacked());
/** ... **/
?>

El resultado del ejemplo sería:

My worker has 5 jobs remaining

Worker::getCreatorId
Worker::getThreadId
Worker


Identification

Worker::getStacked
Worker::isShutdown
Worker
PHP Manual

Worker::getThreadId

(PECL pthreads >= 0.36)

Worker::getThreadId — Identification

Descripción

final public long Worker::getThreadId ( void )

Will return the identity of the referenced Worker

Parámetros

Esta función no tiene parámetros.

Valores devueltos

A numeric identity

Ejemplos

Ejemplo #1 Return the identity of the referenced Worker

<?php
class My extends Worker {
    public function run() {
        printf("%s is Worker #%lu\n", __CLASS__, $this->getThreadId());
    }
}
$my = new My();
$my->start();
?>

El resultado del ejemplo sería:

My is Worker #123456778899

Worker::getStacked
Worker::isShutdown
Worker


State Detection

Worker::getThreadId
Worker::isWorking
Worker
PHP Manual

Worker::isShutdown

(PECL pthreads >= 0.37)

Worker::isShutdown — State Detection

Descripción

final public boolean Worker::isShutdown ( void )

Tell if the referenced Worker has been shutdown

Parámetros

Esta función no tiene parámetros.

Valores devueltos

A boolean indication of state

Ejemplos

Ejemplo #1 Detect the state of a Worker

<?php
class My extends Worker {
    public function run() {
        /* ... */
    }
}
$my = new My();
$my->start();
var_dump($my->isShutdown());
$my->shutdown();
var_dump($my->isShutdown());
?>

El resultado del ejemplo sería:

bool(false)
bool(true)

Worker::getThreadId
Worker::isWorking
Worker


State Detection

Worker::isShutdown
Worker::merge
Worker
PHP Manual

Worker::isWorking

(PECL pthreads >= 0.37)

Worker::isWorking — State Detection

Descripción

final public boolean Worker::isWorking ( void )

Tell if a Worker is executing Stackables

Parámetros

Esta función no tiene parámetros.

Valores devueltos

A boolean indication of state

Ejemplos

Ejemplo #1 Detect the state of a Worker

<?php
class My extends Worker {
    public function run() {
        /* ... */
    }
}
$my = new My();
$my->start();
/* ... */
if ($my->isWorking()) {
    /* ... the Worker is busy executing another object */
}
?>

Worker::isShutdown
Worker::merge
Worker


Manipulation

Worker::isWorking
Worker::pop
Worker
PHP Manual

Worker::merge

(PECL pthreads >= 0.45)

Worker::merge — Manipulation

Descripción

final public boolean Worker::merge ( mixed $from [, mixed $overwrite ] )

Merges data into the current object

Parámetros

from

The data to merge

overwrite

Overwrite existing keys flag, by default true

Valores devueltos

A boolean indication of success

Worker::isWorking
Worker::pop
Worker


Manipulation

Worker::merge
Worker::run
Worker
PHP Manual

Worker::pop

(PECL pthreads >= 0.45)

Worker::pop — Manipulation

Descripción

final public boolean Worker::pop ( void )

Pops an item from the objects properties table

Valores devueltos

The last item from the objects properties table

Worker::merge
Worker::run
Worker


Execution

Worker::pop
Worker::shift
Worker
PHP Manual

Worker::run

(PECL pthreads >= 0.36)

Worker::run — Execution

Descripción

abstract public void Worker::run ( void )

The run method should prepare the Workers members ( and resources ) - Stackables have access to the Worker and it's methods/members/resources during execution

Parámetros

Esta función no tiene parámetros.

Valores devueltos

The methods return value, if used, will be ignored

Worker::pop
Worker::shift
Worker


Manipulation

Worker::run
Worker::shutdown
Worker
PHP Manual

Worker::shift

(PECL pthreads >= 0.45)

Worker::shift — Manipulation

Descripción

final public boolean Worker::shift ( void )

Shifts an item from the objects properties table

Valores devueltos

The first item from the objects properties table

Worker::run
Worker::shutdown
Worker


Synchronization

Worker::shift
Worker::stack
Worker
PHP Manual

Worker::shutdown

(PECL pthreads >= 0.37)

Worker::shutdown — Synchronization

Descripción

final public boolean Worker::shutdown ( void )

Shuts down the Worker after executing all the Stackables previously stacked

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Ejemplos

Ejemplo #1 Shutdown the referenced Worker

<?php
class My extends Worker {
    public function run() {
        /* ... */
    }
}
$my = new My();
$my->start();
/* ... */
var_dump($my->shutdown());
/* ... */
?>

El resultado del ejemplo sería:

bool(true)

Worker::shift
Worker::stack
Worker


Stacking

Worker::shutdown
Worker::start
Worker
PHP Manual

Worker::stack

(PECL pthreads >= 0.36)

Worker::stack — Stacking

Descripción

final public int Worker::stack ( Stackable $work )

Appends the referenced Stackable to the stack of the referenced Worker

Parámetros

work

An object of type Stackable to be executed by the referenced Worker

Valores devueltos

The new length of the stack

Ejemplos

Ejemplo #1 Passing Stackables to Workers for execution in the Worker Thread

<?php
class Work extends Stackable {
    /** ... **/

    public function run(){
        /** ... **/
    }
}

class My extends Worker {
    public function run(){
        /** ... **/
    }
}
$my = new My();
/** ... **/
var_dump($my->stack(new Work()));
/** ... **/
?>

El resultado del ejemplo sería:

int(1)

Worker::shutdown
Worker::start
Worker


Execution

Worker::stack
Worker::unstack
Worker
PHP Manual

Worker::start

(PECL pthreads >= 0.36)

Worker::start — Execution

Descripción

final public boolean Worker::start ([ long $options ] )

Will start a new Thread, executing Worker::run and then waiting for Stackables

Parámetros

options

An optional mask of inheritance constants, by default PTHREADS_INHERIT_ALL

Valores devueltos

A boolean indication of success

Ejemplos

Ejemplo #1 Starting Workers

<?php
class My extends Worker {
    public function run() {
        /** ... **/
    }
}
$my = new My();
var_dump($my->start());
?>

El resultado del ejemplo sería:

bool(true)

Worker::stack
Worker::unstack
Worker


Stacking

Worker::start
Stackable
Worker
PHP Manual

Worker::unstack

(PECL pthreads >= 0.36)

Worker::unstack — Stacking

Descripción

final public int Worker::unstack ([ Stackable $work ] )

Removes the referenced Stackable ( or all Stackables if parameters are void ) from stack of the referenced Worker

Parámetros

work

An object of type Stackable

Valores devueltos

The new length of the stack

Ejemplos

Ejemplo #1 Removing Stackables from Workers

<?php
class Work extends Stackable {
    public function run() {

    }
}

class My extends Worker {
    public function run() {
        /** ... **/
    }
}
$my = new My();
$work = new Work();
var_dump($my->stack($work));
var_dump($my->unstack($work));
?>

El resultado del ejemplo sería:

int(1)
int(0)

Worker::start
Stackable
Worker


The Stackable class

(PECL pthreads >= 0.36)

Introducción

Stackables are tasks that are executed by Worker threads. You can synchronize with, read, and write Stackable objects before, after and during their execution.

Sinopsis de la Clase

Stackable {
/* Métodos */
final public boolean chunk ( long $size , boolean $preserve )
final public boolean isRunning ( void )
final public boolean isTerminated ( void )
final public boolean isWaiting ( void )
final public boolean lock ( void )
final public boolean merge ( mixed $from [, mixed $overwrite ] )
final public boolean notify ( void )
final public boolean pop ( void )
abstract public void run ( void )
final public boolean shift ( void )
final public mixed synchronized ( Closure $block [, mixed $... ] )
final public boolean unlock ( void )
final public boolean wait ([ string $timeout ] )
}

Tabla de contenidos

  • Stackable::chunk — Manipulation
  • Stackable::isRunning — State Detection
  • Stackable::isTerminated — State Detection
  • Stackable::isWaiting — State Detection
  • Stackable::lock — Synchronization
  • Stackable::merge — Manipulation
  • Stackable::notify — Synchronization
  • Stackable::pop — Manipulation
  • Stackable::run — Execution
  • Stackable::shift — Manipulation
  • Stackable::synchronized — Synchronization
  • Stackable::unlock — Synchronization
  • Stackable::wait — Synchronization
Worker::unstack
Stackable::chunk
pthreads


Manipulation

Stackable
Stackable::isRunning
Stackable
PHP Manual

Stackable::chunk

(PECL pthreads >= 0.45)

Stackable::chunk — Manipulation

Descripción

final public boolean Stackable::chunk ( long $size , boolean $preserve )

Fetches a chunk of the objects properties table of the given size, optionally preserving keys

Parámetros

size

The number of items to fetch

preserve

Preserve the keys of members, by default false

Valores devueltos

An array of items from the objects member table

Stackable
Stackable::isRunning
Stackable


State Detection

Stackable::chunk
Stackable::isTerminated
Stackable
PHP Manual

Stackable::isRunning

(PECL pthreads >= 0.36)

Stackable::isRunning — State Detection

Descripción

final public boolean Stackable::isRunning ( void )

A Stackable is running when a Worker Thread is executing it

Parámetros

Esta función no tiene parámetros.

Valores devueltos

A boolean indication of state

Ejemplos

Ejemplo #1 Detect the state of the referenced Stackable

<?php
class Work extends Stackable {
    public function run() {
        $this->synchronized(function($object){
            $object->wait();
        }, $this);
    }
}

class My extends Worker {
    public function run() {
        /** ... **/
    }
}

$my = new My();
$work = new Work();
$my->stack($work);
$my->start();
$work->synchronized(function($object){
        $object->notify();
}, $work);
?>

El resultado del ejemplo sería:

bool(true)

Stackable::chunk
Stackable::isTerminated
Stackable


State Detection

Stackable::isRunning
Stackable::isWaiting
Stackable
PHP Manual

Stackable::isTerminated

(PECL pthreads >= 0.43)

Stackable::isTerminated — State Detection

Descripción

final public boolean Stackable::isTerminated ( void )

Tell if the referenced Stackable exited, suffered fatal errors, or threw uncaught exceptions during execution

Parámetros

Esta función no tiene parámetros.

Valores devueltos

A boolean indication of state

Ejemplos

Ejemplo #1 Detect the state of the referenced Stackable

<?php
class Work extends Stackable {
    public function run() {
        i_do_not_exist();
    }
}

class My extends Worker {
    public function run() {
        /** ... **/
    }
}

$my = new My();
$work = new Work();
$my->stack($work);
$my->start();
$my->shutdown();

var_dump($work->isTerminated());
?>

El resultado del ejemplo sería:

bool(true)

Stackable::isRunning
Stackable::isWaiting
Stackable


State Detection

Stackable::isTerminated
Stackable::lock
Stackable
PHP Manual

Stackable::isWaiting

(PECL pthreads >= 0.36)

Stackable::isWaiting — State Detection

Descripción

final public boolean Stackable::isWaiting ( void )

Tell if the referenced Stackable is waiting for notification

Parámetros

Esta función no tiene parámetros.

Valores devueltos

A boolean indication of state

Ejemplos

Ejemplo #1 Detect the state of the referenced Stackable

<?php
class Work extends Stackable {
    public function run() {
        $this->synchronized(function($object){
            $object->wait();
        }, $this);
    }
}

class My extends Worker {
    public function run() {
        /** ... **/
    }
}

$my = new My();
$work = new Work();
$my->stack($work);
$my->start();
usleep(10000);

$work->synchronized(function($object){
    var_dump($object->isWaiting());
    $object->notify();
}, $work);
?>

El resultado del ejemplo sería:

bool(true)

Stackable::isTerminated
Stackable::lock
Stackable


Synchronization

Stackable::isWaiting
Stackable::merge
Stackable
PHP Manual

Stackable::lock

(PECL pthreads >= 0.40)

Stackable::lock — Synchronization

Descripción

final public boolean Stackable::lock ( void )

Lock the referenced objects storage for the calling context

Parámetros

Esta función no tiene parámetros.

Valores devueltos

A boolean indication of success

Stackable::isWaiting
Stackable::merge
Stackable


Manipulation

Stackable::lock
Stackable::notify
Stackable
PHP Manual

Stackable::merge

(PECL pthreads >= 0.45)

Stackable::merge — Manipulation

Descripción

final public boolean Stackable::merge ( mixed $from [, mixed $overwrite ] )

Merges data into the current object

Parámetros

from

The data to merge

overwrite

Overwrite existing keys flag, by default true

Valores devueltos

A boolean indication of success

Stackable::lock
Stackable::notify
Stackable


Synchronization

Stackable::merge
Stackable::pop
Stackable
PHP Manual

Stackable::notify

(PECL pthreads >= 0.36)

Stackable::notify — Synchronization

Descripción

final public boolean Stackable::notify ( void )

Sends notification to a Stackable that is waiting

Parámetros

Esta función no tiene parámetros.

Valores devueltos

A boolean indication of state

Stackable::merge
Stackable::pop
Stackable


Manipulation

Stackable::notify
Stackable::run
Stackable
PHP Manual

Stackable::pop

(PECL pthreads >= 0.45)

Stackable::pop — Manipulation

Descripción

final public boolean Stackable::pop ( void )

Pops an item from the objects properties table

Valores devueltos

The last item from the objects properties table

Stackable::notify
Stackable::run
Stackable


Execution

Stackable::pop
Stackable::shift
Stackable
PHP Manual

Stackable::run

(PECL pthreads >= 0.36)

Stackable::run — Execution

Descripción

abstract public void Stackable::run ( void )

The run method of a Stackable is executed by the Worker Thread

Parámetros

Esta función no tiene parámetros.

Valores devueltos

The methods return value, if used, will be ignored

Stackable::pop
Stackable::shift
Stackable


Manipulation

Stackable::run
Stackable::synchronized
Stackable
PHP Manual

Stackable::shift

(PECL pthreads >= 0.45)

Stackable::shift — Manipulation

Descripción

final public boolean Stackable::shift ( void )

Shifts an item from the objects properties table

Valores devueltos

The first item from the objects properties table

Stackable::run
Stackable::synchronized
Stackable


Synchronization

Stackable::shift
Stackable::unlock
Stackable
PHP Manual

Stackable::synchronized

(PECL pthreads >= 0.40)

Stackable::synchronized — Synchronization

Descripción

final public mixed Stackable::synchronized ( Closure $block [, mixed $... ] )

Executes the block while retaining the synchronization lock for the current context.

Parámetros

block

The block of code to execute

...

Variable length list of arguments to use as function arguments to the block

Valores devueltos

The return value from the block

Ejemplos

Ejemplo #1 Synchronizing

<?php
class My extends Stackable {
    public function run() {
        $this->synchronized(function($object){
            var_dump($object->isWaiting());
            $object->notify();
        }, $this);
    }
}
/** create worker **/
$my = new My();
/** stack my **/
/** execute something here **/
$my->synchronized(function($object){
    $object->wait();
}, $my);
?>

El resultado del ejemplo sería:

bool(/** true or false **/)

Stackable::shift
Stackable::unlock
Stackable


Synchronization

Stackable::synchronized
Stackable::wait
Stackable
PHP Manual

Stackable::unlock

(PECL pthreads >= 0.40)

Stackable::unlock — Synchronization

Descripción

final public boolean Stackable::unlock ( void )

Unlock the referenced objects storage for the calling context

Parámetros

Esta función no tiene parámetros.

Valores devueltos

A boolean indication of success

Ejemplos

Ejemplo #1 Locking Object Storage

<?php
class Work extends Stackable {
    public function run() {
        var_dump($this->lock());
        /** nobody can read or write **/
        var_dump($this->unlock());
        /** reading / writing resumed for all contexts */
    }
}
class My extends Worker {
    public function run(){
        /** ... **/
    }
}
$my = new My();
$work = array(new Work());
$my->stack($work[0]);
$my->start();
?>

El resultado del ejemplo sería:

bool(true)
bool(true)

Stackable::synchronized
Stackable::wait
Stackable


Synchronization

Stackable::unlock
Modifiers
Stackable
PHP Manual

Stackable::wait

(PECL pthreads >= 0.36)

Stackable::wait — Synchronization

Descripción

final public boolean Stackable::wait ([ string $timeout ] )

Waits for notification from the Stackable

Parámetros

timeout

An optional timeout in millionths of a second.

Valores devueltos

A boolean indication of success

Ejemplos

Ejemplo #1 Notifications and Waiting

<?php
class Work extends Stackable {
    public function run() {
        $this->synchronized(function($object){
        printf("%s Synchronized\n", __CLASS__);
        $object->notify();
        }, $this);
    }
}
class My extends Worker {
    public function run() {
        /** ... **/
    }
}

$my = new My();
$my->start();
$work = array(new Work());
$my->stack($work[0]);
/** send notification to the waiting thread **/
$work[0]->synchronized(function($object){
    printf("Process Synchronized\n");
    $object->wait();
}, $work[0]);
?>

El resultado del ejemplo sería:

Process Synchronized
Work Synchronized

Stackable::unlock
Modifiers
Stackable


Method Modifiers

pthreads overrides the functionality of the protected and private method modifiers in order to provide functionality more suited to multi-threaded objects. pthreads applies this functionality to all Thread, Worker and Stackable objects from creation.

Ejemplo #1 protected method example: protected methods can only be executed by one Thread at a time.

<?php
class ExampleThread extends Thread {
    public function run() {
        /* thread code */
        if ($this->synchronized()) {

        }
    }

    protected function exclusive() {
        /* synchronized method */
    }
}

$thread = new ExampleThread();
if ($thread->start()) {
    $thread->exclusive();
}
?>

Ejemplo #2 private method example: private methods may only be executed by the Thread, Worker, or Stackable during execution

<?php
class ExampleThread extends Thread {
    public function run() {
        /* thread code */
        if ($this->insideonly()) {

        }
    }

    private function insideonly() {
        /* private method */
    }
}

$thread = new ExampleThread();
if ($thread->start()) {
    $thread->insideonly();
}
?>
Stackable::wait
Mutex
pthreads


The Mutex class

(PECL pthreads >= 0.34)

Introducción

The static methods contained in the Mutex class provide direct access to Posix Mutex functionality.

Sinopsis de la Clase

Mutex {
/* Métodos */
final public static long create ([ boolean $lock ] )
final public static boolean destroy ( long $mutex )
final public static boolean lock ( long $mutex )
final public static boolean trylock ( long $mutex )
final public static boolean unlock ( long $mutex [, boolean $destroy ] )
}

Tabla de contenidos

  • Mutex::create — Create a Mutex
  • Mutex::destroy — Destroy Mutex
  • Mutex::lock — Acquire Mutex
  • Mutex::trylock — Attempt to Acquire Mutex
  • Mutex::unlock — Release Mutex
Modifiers
Mutex::create
pthreads


Create a Mutex

Mutex
Mutex::destroy
Mutex
PHP Manual

Mutex::create

(PECL pthreads >= 0.34)

Mutex::create — Create a Mutex

Descripción

final public static long Mutex::create ([ boolean $lock ] )

Create, and optionally lock a new Mutex for the caller

Parámetros

lock

Setting lock to true will lock the Mutex for the caller before returning the handle

Valores devueltos

A newly created and optionally locked Mutex handle

Ejemplos

Ejemplo #1 Mutex Creation and Destruction

<?php
/** You cannot use the "new" keyword, a Mutex is not a PHP object **/
$mutex = Mutex::create();
/** You have the physical address of the Mutex **/
var_dump($mutex);
/** Always destroy mutex you have created **/
Mutex::destroy($mutex);
?>

El resultado del ejemplo sería:

int(40096976)

Mutex
Mutex::destroy
Mutex


Destroy Mutex

Mutex::create
Mutex::lock
Mutex
PHP Manual

Mutex::destroy

(PECL pthreads >= 0.34)

Mutex::destroy — Destroy Mutex

Descripción

final public static boolean Mutex::destroy ( long $mutex )

Destroying Mutex handles must be carried out explicitly by the programmer when they are finished with the Mutex handle.

Parámetros

mutex

A handle returned by a previous call to Mutex::create(). The handle should not be locked by any Thread when Mutex::destroy() is called.

Valores devueltos

A boolean indication of success

Valores devueltos

A newly created and optionally locked Mutex handle

Ejemplos

Ejemplo #1 Mutex Creation and Destruction

<?php
/** You cannot use the "new" keyword, a Mutex is not a PHP object **/
$mutex = Mutex::create();
/** You have the physical address of the Mutex **/
var_dump($mutex);
/** Always destroy mutex you have created **/
Mutex::destroy($mutex);
?>

El resultado del ejemplo sería:

int(40096976)

Mutex::create
Mutex::lock
Mutex


Acquire Mutex

Mutex::destroy
Mutex::trylock
Mutex
PHP Manual

Mutex::lock

(PECL pthreads >= 0.34)

Mutex::lock — Acquire Mutex

Descripción

final public static boolean Mutex::lock ( long $mutex )

Attempt to lock the Mutex for the caller.

An attempt to lock a Mutex owned (locked) by another Thread will result in blocking.

Parámetros

mutex

A handle returned by a previous call to Mutex::create().

Valores devueltos

A boolean indication of success.

Valores devueltos

A newly created and optionally locked Mutex handle

Ejemplos

Ejemplo #1 Mutex Locking and Unlocking

<?php
/** You cannot use the "new" keyword, a Mutex is not a PHP object **/
$mutex = Mutex::create();
/** You can now lock the mutex in any context **/
var_dump(Mutex::lock($mutex));
/** It is invalid to attempt to destroy a locked Mutex **/
var_dump(Mutex::unlock($mutex));
/** Always destroy mutex you have created **/
Mutex::destroy($mutex);
?>

El resultado del ejemplo sería:

bool(true)
bool(true)

Mutex::destroy
Mutex::trylock
Mutex


Attempt to Acquire Mutex

Mutex::lock
Mutex::unlock
Mutex
PHP Manual

Mutex::trylock

(PECL pthreads >= 0.34)

Mutex::trylock — Attempt to Acquire Mutex

Descripción

final public static boolean Mutex::trylock ( long $mutex )

Attempt to lock the Mutex for the caller without blocking if the Mutex is owned (locked) by another Thread.

Parámetros

mutex

A handle returned by a previous call to Mutex::create().

Valores devueltos

A boolean indication of success.

Ejemplos

Ejemplo #1 Mutex Locking and Unlocking

<?php
/** You cannot use the "new" keyword, a Mutex is not a PHP object **/
$mutex = Mutex::create();
/** You can now try to lock the mutex in any context **/
var_dump(Mutex::trylock($mutex));
/** It is invalid to attempt to destroy a locked Mutex **/
var_dump(Mutex::unlock($mutex));
/** Always destroy mutex you have created **/
Mutex::destroy($mutex);
?>

El resultado del ejemplo sería:

bool(true)
bool(true)

Mutex::lock
Mutex::unlock
Mutex


Release Mutex

Mutex::trylock
Cond
Mutex
PHP Manual

Mutex::unlock

(PECL pthreads >= 0.34)

Mutex::unlock — Release Mutex

Descripción

final public static boolean Mutex::unlock ( long $mutex [, boolean $destroy ] )

Attempts to unlock the Mutex for the caller, optionally destroying the Mutex handle. The calling thread should own the Mutex at the time of the call.

Parámetros

mutex

A handle returned by a previous call to Mutex::create().

destroy

When true pthreads will destroy the Mutex after a successful unlock.

Valores devueltos

A boolean indication of success.

Ejemplos

Ejemplo #1 Mutex Locking and Unlocking

<?php
/** You cannot use the "new" keyword, a Mutex is not a PHP object **/
$mutex = Mutex::create();
/** You can now lock the mutex in any context **/
var_dump(Mutex::lock($mutex));
/** It is invalid to attempt to destroy a locked Mutex **/
var_dump(Mutex::unlock($mutex));
/** Always destroy mutex you have created **/
Mutex::destroy($mutex);
?>

El resultado del ejemplo sería:

bool(true)
bool(true)

Mutex::trylock
Cond
Mutex


The Cond class

(PECL pthreads >= 0.34)

Introducción

The static methods contained in the Cond class provide direct access to Posix Condition Variables.

Sinopsis de la Clase

Cond {
/* Métodos */
final public static boolean broadcast ( long $condition )
final public static long create ( void )
final public static boolean destroy ( long $condition )
final public static boolean signal ( long $condition )
final public static boolean wait ( long $condition , long $mutex [, long $timeout ] )
}

Tabla de contenidos

  • Cond::broadcast — Broadcast a Condition
  • Cond::create — Create a Condition
  • Cond::destroy — Destroy a Condition
  • Cond::signal — Signal a Condition
  • Cond::wait — Wait for Condition
Mutex::unlock
Cond::broadcast
pthreads


Broadcast a Condition

Cond
Cond::create
Cond
PHP Manual

Cond::broadcast

(PECL pthreads >= 0.34)

Cond::broadcast — Broadcast a Condition

Descripción

final public static boolean Cond::broadcast ( long $condition )

Broadcast to all Threads blocking on a call to Cond::wait().

Parámetros

condition

A handle to a Condition Variable returned by a previous call to Cond::create()

Valores devueltos

A boolean indication of success.

Ejemplos

Ejemplo #1 Condition Broadcasting

<?php
/** You cannot use the "new" keyword, a Cond is not a PHP object **/
$cond = Cond::create();
/** The caller must lock the associated Mutex before a call to broadcast **/
var_dump(Cond::broadcast($cond));
/** Always destroy Cond you have created **/
Cond::destroy($cond);
?>

El resultado del ejemplo sería:

bool(true)

Cond
Cond::create
Cond


Create a Condition

Cond::broadcast
Cond::destroy
Cond
PHP Manual

Cond::create

(PECL pthreads >= 0.34)

Cond::create — Create a Condition

Descripción

final public static long Cond::create ( void )

Creates a new Condition Variable for the caller.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

A handle to a Condition Variable

Ejemplos

Ejemplo #1 Condition Creation and Destruction

<?php
/** You cannot use the "new" keyword, a Cond is not a PHP object **/
$cond = Cond::create();
/** You can now use the Cond in any context **/
var_dump($cond);
/** Always destroy Cond you have created **/
Cond::destroy($cond);
?>

El resultado del ejemplo sería:

int(4540682)

Cond::broadcast
Cond::destroy
Cond


Destroy a Condition

Cond::create
Cond::signal
Cond
PHP Manual

Cond::destroy

(PECL pthreads >= 0.34)

Cond::destroy — Destroy a Condition

Descripción

final public static boolean Cond::destroy ( long $condition )

Destroying Condition Variable handles must be carried out explicitly by the programmer when they are finished with the Condition Variable. No Threads should be blocking on a call to Cond::wait() when the call to Cond::destroy() takes place.

Parámetros

condition

A handle to a Condition Variable returned by a previous call to Cond::create()

Valores devueltos

A boolean indication of success.

Ejemplos

Ejemplo #1 Condition Creation and Destruction

<?php
/** You cannot use the "new" keyword, a Cond is not a PHP object **/
$cond = Cond::create();
/** You can now use the Cond in any context **/
var_dump($cond);
/** Always destroy Cond you have created **/
Cond::destroy($cond);
?>

El resultado del ejemplo sería:

int(4540682)

Cond::create
Cond::signal
Cond


Signal a Condition

Cond::destroy
Cond::wait
Cond
PHP Manual

Cond::signal

(PECL pthreads >= 0.34)

Cond::signal — Signal a Condition

Descripción

final public static boolean Cond::signal ( long $condition )

Parámetros

condition

A handle returned by a previous call to Cond::create()

Valores devueltos

A boolean indication of success.

Ejemplos

Ejemplo #1 Condition Signalling

<?php
/** You cannot use the "new" keyword, a Cond is not a PHP object **/
$cond = Cond::create();
/** The caller must lock the associated Mutex before a call to broadcast **/
var_dump(Cond::signal($cond));
/** Always destroy Cond you have created **/
Cond::destroy($cond);
?>

El resultado del ejemplo sería:

bool(true)

Cond::destroy
Cond::wait
Cond


Wait for Condition

Cond::signal
Semaphore
Cond
PHP Manual

Cond::wait

(PECL pthreads >= 0.34)

Cond::wait — Wait for Condition

Descripción

final public static boolean Cond::wait ( long $condition , long $mutex [, long $timeout ] )

Wait for a signal on a Condition Variable, optionally specifying a timeout to limit waiting time.

Parámetros

condition

A handle returned by a previous call to Cond::create().

mutex

A handle returned by a previous call to Mutex::create() and owned (locked) by the caller.

timeout

An optional timeout, in microseconds ( millionths of a second ).

Valores devueltos

A boolean indication of success.

Ejemplos

Ejemplo #1 Waiting for Conditions

<?php
/** PLEASE NOTE THIS EXAMPLE WILL CAUSE THE PROCESS TO HANG **/
$mutex = Mutex::create(true);
/** You cannot use the "new" keyword, a Cond is not a PHP object **/
$cond = Cond::create();
/** The caller must lock the associated Mutex before a call to broadcast **/
var_dump(Cond::wait($mutex, $cond));
/** Always destroy Cond you have created **/
Cond::destroy($cond);
Mutex::unlock($mutex);
Mutex::destroy($mutex);
?>

El resultado del ejemplo sería:

int(49685473)

Cond::signal
Semaphore
Cond


Semáforo, Memoria Compartida e IPC

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de Semáforo
    • ftok — Convertir un nombre de ruta y un identificador de proyecto a una clave IPC de System V
    • msg_get_queue — Crear o adjuntar a una cola de mensajes
    • msg_queue_exists — Verificar si una cola de mensajes existe
    • msg_receive — Recibir un mensaje de la cola de mensajes
    • msg_remove_queue — Destruir una cola de mensajes
    • msg_send — Eviar un mensaje a una cola de mensajes
    • msg_set_queue — Establecer información en la estructura de datos de la cola de mensajes
    • msg_stat_queue — Devuelve información desde la estructura de datos de la cola de mensajes
    • sem_acquire — Adquirir un semáforo
    • sem_get — Obtener el id de un semáforo
    • sem_release — Liberar un semáforo
    • sem_remove — Eliminar un semáforo
    • shm_attach — Crea o abre un segmento de memoria compartida
    • shm_detach — Desconectarse del segmento de memoria compartida
    • shm_get_var — Devuelve una variable desde la memoria compartida
    • shm_has_var — Verificar si existe una entrada específica
    • shm_put_var — Inserta o actualiza una variable en la memoria compartida
    • shm_remove_var — Eliminar una variable de la memoria compartida
    • shm_remove — Elimina la memoria compartida de sistemas Unix
Cond::wait
Introducción
Extensiones de control de procesos


Introducción

Este módulo proporciona envolturas para la familia de funciones de IPC de System V. Incluye semáforos, memoria compartida y comunicación entre procesos (IPC).

Los semáforos se pueden usar para proveer acceso exclusivo a recursos en la máquina actual, o limitar el número de procesos que puede usar un recurso simultáneamente.

Este módulo también proporciona funciones de memoria compartida usando la memoria compartida de System V. La memoria compartida se puede usar para proveer acceso a variables globales. Diferentes demonios httpd e incluso otros programas (tales como Perl, C, ...) son capaces de acceder a estos datos para proporcionar un intercambio de datos global. Recuerde que la memoria compartida NO es segura en accesos simultáneos. Use los semáforos para la sincronización.

Límites de la memoria compartida impuestos por Unix OS
SHMMAX | tamaño máximo de memoria compartida, normalmente 131072 bytes
SHMMIN | tamaño mínimo de memoria compartida, normalmente 1 byte
SHMMNI | cantidad máxima de segmentos de memoria compartida en un sistema, normalmente 100
SHMSEG | cantidad máxima de segmentos de memoria compartida por proceso, normalmente 6

Las funciones de comunicación se pueden usar para enviar y recibir mensajes hacia/desde otros procesos. Proporcionan medios efectivos y sencillos para intercambiar datos entre los procesos, sin la necesidad de configurar una alternativa usando sockets de dominio Unix.

Nota: Esta extensión no está disponible en plataformas Windows.

Semaphore
Instalación/Configuración
Semaphore


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Semaphore


Instalación

Por defecto, el soporte para estas funciones no está disponible. Para habilitar el soporte del semáforo de System V compile PHP con la opción --enable-sysvsem . Para habilitar el soporte de la memoria compartida de System V compile PHP con la opción --enable-sysvshm . Para habilitar el soporte de mensajes de System V compile PHP con la opción --enable-sysvmsg .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de Configuración del Semáforo
Nombre | Por defecto | Cambiable | Historial de cambios
sysvshm.init_mem | 10000 | PHP_INI_SYSTEM |
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

sysvshm.init_mem int

Un tamaño predeterminado del segmento de memoria compartida.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Constantes de mensage de System V
Constante | Tipo | Registro de Cambios
MSG_IPC_NOWAIT | integer |
MSG_EAGAIN | integer | A partir de 5.2.0
MSG_ENOMSG | integer | A partir de 5.2.0
MSG_NOERROR | integer |
MSG_EXCEPT | integer |

Tipos de recursos
Funciones de Semáforo
Semaphore


Funciones de Semáforo

Tabla de contenidos

  • ftok — Convertir un nombre de ruta y un identificador de proyecto a una clave IPC de System V
  • msg_get_queue — Crear o adjuntar a una cola de mensajes
  • msg_queue_exists — Verificar si una cola de mensajes existe
  • msg_receive — Recibir un mensaje de la cola de mensajes
  • msg_remove_queue — Destruir una cola de mensajes
  • msg_send — Eviar un mensaje a una cola de mensajes
  • msg_set_queue — Establecer información en la estructura de datos de la cola de mensajes
  • msg_stat_queue — Devuelve información desde la estructura de datos de la cola de mensajes
  • sem_acquire — Adquirir un semáforo
  • sem_get — Obtener el id de un semáforo
  • sem_release — Liberar un semáforo
  • sem_remove — Eliminar un semáforo
  • shm_attach — Crea o abre un segmento de memoria compartida
  • shm_detach — Desconectarse del segmento de memoria compartida
  • shm_get_var — Devuelve una variable desde la memoria compartida
  • shm_has_var — Verificar si existe una entrada específica
  • shm_put_var — Inserta o actualiza una variable en la memoria compartida
  • shm_remove_var — Eliminar una variable de la memoria compartida
  • shm_remove — Elimina la memoria compartida de sistemas Unix
Constantes predefinidas
ftok
Semaphore


Convertir un nombre de ruta y un identificador de proyecto a una clave IPC de System V

Funciones de Semáforo
msg_get_queue
Funciones de Semáforo
PHP Manual

ftok

(PHP 4 >= 4.2.0, PHP 5)

ftok — Convertir un nombre de ruta y un identificador de proyecto a una clave IPC de System V

Descripción

int ftok ( string $pathname , string $proj )

La función conviete el nombre de ruta dado por pathname de un archivo existente accesible y un identificador de proyecto a un valor de tipo integer para usarlo, por ejemplo, con shmop_open() y otras claves IPC de System V.

Parámetros

pathname

Ruta a un archivo accedible.

proj

Identificador de proyecto. Debe ser una cadena de un carácter.

Valores devueltos

Si se tuvo éxito, el valor devuelto será el valor de la clave creada, de otro modo se devolverá -1.

Ver también

  • shmop_open() - Crea o abre un segmento de memoria compartida
  • sem_get() - Obtener el id de un semáforo

Funciones de Semáforo
msg_get_queue
Funciones de Semáforo


Crear o adjuntar a una cola de mensajes

ftok
msg_queue_exists
Funciones de Semáforo
PHP Manual

msg_get_queue

(PHP 4 >= 4.3.0, PHP 5)

msg_get_queue — Crear o adjuntar a una cola de mensajes

Descripción

resource msg_get_queue ( int $key [, int $perms = 0666 ] )

msg_get_queue() devuelve un id que se puede usar para acceder a la cola de mensajes de System V con la clave dada por key. La primera llamada crea la cola de mensajes con los permisos opcionales dados por perms. Una segunda llamada a msg_get_queue() por la misma clave key devolverá un identificador de cola de mensajes diferente, pero ambos identificadores acceden a la misma cola de mensajes subyacente.

Parámetros

key

ID numérico de la cola de mensajes

perms

Permisos de la cola. Por defecto es 0666. Si la cola de mensajes ya existe, perms será ignorado.

Valores devueltos

Devuelve un gestor de recurso que se puede usar para acceder a la cola de mensajes de System V.

Ver también

  • msg_remove_queue() - Destruir una cola de mensajes
  • msg_receive() - Recibir un mensaje de la cola de mensajes
  • msg_send() - Eviar un mensaje a una cola de mensajes
  • msg_stat_queue() - Devuelve información desde la estructura de datos de la cola de mensajes
  • msg_set_queue() - Establecer información en la estructura de datos de la cola de mensajes

ftok
msg_queue_exists
Funciones de Semáforo


Verificar si una cola de mensajes existe

msg_get_queue
msg_receive
Funciones de Semáforo
PHP Manual

msg_queue_exists

(PHP 5 >= 5.3.0)

msg_queue_exists — Verificar si una cola de mensajes existe

Descripción

bool msg_queue_exists ( int $key )

Verifica si la clave dada por el parámetro key de la cola de mensajes existe.

Parámetros

key

La clave de la cola.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • msg_remove_queue() - Destruir una cola de mensajes
  • msg_receive() - Recibir un mensaje de la cola de mensajes
  • msg_stat_queue() - Devuelve información desde la estructura de datos de la cola de mensajes

msg_get_queue
msg_receive
Funciones de Semáforo


Recibir un mensaje de la cola de mensajes

msg_queue_exists
msg_remove_queue
Funciones de Semáforo
PHP Manual

msg_receive

(PHP 4 >= 4.3.0, PHP 5)

msg_receive — Recibir un mensaje de la cola de mensajes

Descripción

bool msg_receive ( resource $queue , int $desiredmsgtype , int &$msgtype , int $maxsize , mixed &$message [, bool $unserialize = true [, int $flags = 0 [, int &$errorcode ]]] )

msg_receive() recibirá el primer mensaje de la cola especificada por queue del tipo especificado por desiredmsgtype.

Parámetros

queue

desiredmsgtype

Si desiredmsgtype es 0, se devolverá el mensaje al frente de la cola. Si desiredmsgtype es mayor que 0, se devolverá el primer mensaje de ese tipo. Si desiredmsgtype es menor que 0, se leerá el primer mensaje de la cola con el tipo más bajo menor o igual que el valor absoluto de desiredmsgtype. Si ningún mensaje concuerda con el criterio, el script esperará hasta que un mensaje apropiado llegue a la cola. Se puede prevenir que se bloquee el script especificando MSG_IPC_NOWAIT en el parámetro flags.

msgtype

El tipo de mensaje que fue recibido se almacenará en este parámetro.

maxsize

El tamaño máximo del mensaje aceptado se especifica mediante maxsize; si el mensaje de la cola es mayor que este tamaño la función fallará (a menos que se establezca flags como está descrito abajo).

message

El mensaje recibido será almacenado en message, a menos que hubiera errores al recibir dicho mensaje.

unserialize

Si está establecido a TRUE, el mensaje es tratado como si fuera serializado usando el mismo mecanismo que el del módulo de sesión. El mensaje será deserializado y después devuelto al script. Esto permite recibir de forma sencilla matrices y objetos complejos desde otros scripts de PHP, o si se está usando el serializador WDDX, desde cualquier fuente compatible con WDDX.

Si unserialize es FALSE, el mensaje será devuelto como cadena segura a nivel binario.

flags

El parámetro opcional flags permite pasar banderas a la llamada a bajo nivel de msgrcv. Por defecto es 0, pero se puede especificar uno o más de los siguientes valores (añadiéndolos o usando OR).

Flag values for msg_receive
MSG_IPC_NOWAIT | Si no hay mensajes del tipo deseado dado por desiredmsgtype, devuelve inmediatamente y no espera. La función fallará y devolverá un valor de tipo integer correspondiente a MSG_ENOMSG.
MSG_EXCEPT | Usar esta bandera en combinación con un desiredmsgtype mayor que 0 causará que la función reciba el primer mensaje que no sea igual a desiredmsgtype.
MSG_NOERROR | Si el mensaje es mayor que maxsize, establecer esta bandera truncará el mensaje a maxsize y no enviará un error.

errorcode

Si la función falla, el parámetro opcional errorcode será establecido al valor de la variable errno del sistema.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Si se finalizó con éxito, la estructura de datos de la cola de mensajes se actualiza como sigue: msg_lrpid se establece al ID del proceso de llamada, msg_qnum se disminuye en 1 y msg_rtime se establece al momento actual.

Ver también

  • msg_remove_queue() - Destruir una cola de mensajes
  • msg_send() - Eviar un mensaje a una cola de mensajes
  • msg_stat_queue() - Devuelve información desde la estructura de datos de la cola de mensajes
  • msg_set_queue() - Establecer información en la estructura de datos de la cola de mensajes

msg_queue_exists
msg_remove_queue
Funciones de Semáforo


Destruir una cola de mensajes

msg_receive
msg_send
Funciones de Semáforo
PHP Manual

msg_remove_queue

(PHP 4 >= 4.3.0, PHP 5)

msg_remove_queue — Destruir una cola de mensajes

Descripción

bool msg_remove_queue ( resource $queue )

msg_remove_queue() destruye la cola de mensajes especificada por queue. Sólo use esta función cuando todos los procesos hayan terminado de trabajar con la cola de mensajes y necesite liberar los recursos del sistema ocupados por ella.

Parámetros

queue

Gestor de recurso de la cola de mensajes

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • msg_get_queue() - Crear o adjuntar a una cola de mensajes
  • msg_receive() - Recibir un mensaje de la cola de mensajes
  • msg_stat_queue() - Devuelve información desde la estructura de datos de la cola de mensajes
  • msg_set_queue() - Establecer información en la estructura de datos de la cola de mensajes

msg_receive
msg_send
Funciones de Semáforo


Eviar un mensaje a una cola de mensajes

msg_remove_queue
msg_set_queue
Funciones de Semáforo
PHP Manual

msg_send

(PHP 4 >= 4.3.0, PHP 5)

msg_send — Eviar un mensaje a una cola de mensajes

Descripción

bool msg_send ( resource $queue , int $msgtype , mixed $message [, bool $serialize = true [, bool $blocking = true [, int &$errorcode ]]] )

msg_send() envía un message del tipo msgtype (DEBE ser mayor que 0) a la cola de mensajes especificada por queue.

Parámetros

queue

msgtype

message

serialize

El parámetro opcional serialize controla el modo de enviar el mensaje dado por message. serialize es por defecto TRUE lo que significa que message es serializado usando el mismo mecanismo que el módulo de sesión antes de ser enviado a la cola. Esto permite matrices y objetos complejos para ser enviados a otros scripts de PHP, o si se está usando el serializador WDDX, para cualquier cliente compatible con WDDX.

blocking

Si el mensaje es demasiado largo para caber en la cola el script esperará hasta que otro proceso lea los mensajes de la cola y libere sufieciente espacio para el mensaje que se va a enviar. Esto se llama bloqueo; se puede prevenir el bloqueo estableciendo el parámetro blocking a FALSE, en cuyo caso msg_send() devolverá inmediatamente FALSE si el mensaje es demasiado grande para la cola, y establecerá el parámetro opcional errorcode a MSG_EAGAIN, indicando que se debería intentar enviar el mensaje de nuevo un poco más tarde.

errorcode

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Al finalizar con éxito, la estructura de datos de la cola de mensajes se actualiza como sigue: msg_lspid se establece al ID del proceso de llamada, msg_qnum se incrementa en 1 y msg_stime se establece al momento actual.

Ver también

  • msg_remove_queue() - Destruir una cola de mensajes
  • msg_receive() - Recibir un mensaje de la cola de mensajes
  • msg_stat_queue() - Devuelve información desde la estructura de datos de la cola de mensajes
  • msg_set_queue() - Establecer información en la estructura de datos de la cola de mensajes

msg_remove_queue
msg_set_queue
Funciones de Semáforo


Establecer información en la estructura de datos de la cola de mensajes

msg_send
msg_stat_queue
Funciones de Semáforo
PHP Manual

msg_set_queue

(PHP 4 >= 4.3.0, PHP 5)

msg_set_queue — Establecer información en la estructura de datos de la cola de mensajes

Descripción

bool msg_set_queue ( resource $queue , array $data )

msg_set_queue() permite que se cambien los valores de los campos msg_perm.uid, msg_perm.gid, msg_perm.mode y msg_qbytes fields de la estructura de datos de la cola de mensajes subyacente.

Cambiar la estructura de datos requerirá que PHP sea ejecutado mediante el mismo usuario que creó la cola, los propietarios de la cola (como está determinado por los campos msg_perm.xxx existentes), o sea ejecutado con privilegios root. Se requieren los privilegios root para aumentar los valores de msg_qbytes por encima del límite definido por el sistema.

Parámetros

queue

Gestor de recurso de cola de mensajes

data

Se especifican los valores que se requieren estableciendo el valor de las claves que se neceditan en la matriz data.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • msg_remove_queue() - Destruir una cola de mensajes
  • msg_receive() - Recibir un mensaje de la cola de mensajes
  • msg_stat_queue() - Devuelve información desde la estructura de datos de la cola de mensajes
  • msg_get_queue() - Crear o adjuntar a una cola de mensajes

msg_send
msg_stat_queue
Funciones de Semáforo


Devuelve información desde la estructura de datos de la cola de mensajes

msg_set_queue
sem_acquire
Funciones de Semáforo
PHP Manual

msg_stat_queue

(PHP 4 >= 4.3.0, PHP 5)

msg_stat_queue — Devuelve información desde la estructura de datos de la cola de mensajes

Descripción

array msg_stat_queue ( resource $queue )

msg_stat_queue() devuelve los metadatos de la cola de mensajes para la cola de mensajes especificada por el parámetro queue. Esto es útil para, por ejemplo, determinar qué proceso envía el mensaje que fue recibido.

Parámetros

queue

Gestor de recurso de la cola de mensajes

Valores devueltos

El valor devuelto es una matriz cuyas claves y valores tienen el siguiente significado:

Estructura de la matriz para msg_stat_queue
msg_perm.uid | El uid del propietario de la cola.
msg_perm.gid | El gid del propietario de la cola.
msg_perm.mode | El modo de acceso a archivo de la cola.
msg_stime | El momento en que se envió el último mensaje a la cola.
msg_rtime | El momento en que se recibió el último mensaje desde la cola.
msg_ctime | El momento en que la cola cambió por última vez.
msg_qnum | El número de mensajes en espera para ser leídos desde la cola.
msg_qbytes | El número máximo de bytes permitidos en una cola de mensajes. En Linux, este valor puede ser leído y modificado mediante /proc/sys/kernel/msgmnb.
msg_lspid | El pid del proceso que envió el último mensaje a la cola.
msg_lrpid | El pid del proceso que recibió el último mensaje desde la cola.

Ver también

  • msg_remove_queue() - Destruir una cola de mensajes
  • msg_receive() - Recibir un mensaje de la cola de mensajes
  • msg_get_queue() - Crear o adjuntar a una cola de mensajes
  • msg_set_queue() - Establecer información en la estructura de datos de la cola de mensajes

msg_set_queue
sem_acquire
Funciones de Semáforo


Adquirir un semáforo

msg_stat_queue
sem_get
Funciones de Semáforo
PHP Manual

sem_acquire

(PHP 4, PHP 5)

sem_acquire — Adquirir un semáforo

Descripción

bool sem_acquire ( resource $sem_identifier )

sem_acquire() se bloquea (si es necesario) hasta que el semáforo pueda ser adquirido. Un proceso que intente adquirir un semáforo que ya ha sido adquirido se bloqueará para siempre si al adquirir el semáforo causa que su número máximo de semáforo sea excedido.

Después de procesar una petición, cualquier semáforo adquirido por el proceso pero no liberado explícitamente será liberado automáticamente y se generará un mensaje de tipo warning.

Parámetros

sem_identifier

sem_identifier es un recurso de semáforo obtenido desde sem_get().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • sem_get() - Obtener el id de un semáforo
  • sem_release() - Liberar un semáforo

msg_stat_queue
sem_get
Funciones de Semáforo


Obtener el id de un semáforo

sem_acquire
sem_release
Funciones de Semáforo
PHP Manual

sem_get

(PHP 4, PHP 5)

sem_get — Obtener el id de un semáforo

Descripción

resource sem_get ( int $key [, int $max_acquire = 1 [, int $perm = 0666 [, int $auto_release = 1 ]]] )

sem_get() devuelve un id que se puede usar para acceder al semáforo de System V con la clave dada por key.

Una segunda llamada a sem_get() para la misma clave devolverá un identificador de semáforo diferente, pero ambos identificadores accederán al mismo semáforo subyacente.

Parámetros

key

max_acquire

El número de procesos que puede adquirir el semáforo simultáneamente está establecido por max_acquire.

perm

Los permisos del semáforo. En realidad este valor se establece sólo si el proceso que lo encuentra es el único proceso actualmente adjunto al semáforo.

auto_release

Especifica si el semáforo debería ser liberado automáticamente al cierre de la petición.

Valores devueltos

Devuelve un identificador de semáforo positivo en caso de éxito, o FALSE en caso de error.

Historial de cambios

Versión | Descripción
4.3.0 | Se añadió el parámetro auto_release.

Notas

Advertencia

Al usar sem_get() para acceder a un semáforo creado fuera de PHP, se ha de observar que el semáforo debe haber sido creado como un conjunto de 3 semáforos (por ejemplo, especificando 3 en el parámetro nsems, al llamar a la función semget() de C), de lo contrario, PHP no podrá acceder al semáforo.

Ver también

  • sem_acquire() - Adquirir un semáforo
  • sem_release() - Liberar un semáforo
  • ftok() - Convertir un nombre de ruta y un identificador de proyecto a una clave IPC de System V

sem_acquire
sem_release
Funciones de Semáforo


Liberar un semáforo

sem_get
sem_remove
Funciones de Semáforo
PHP Manual

sem_release

(PHP 4, PHP 5)

sem_release — Liberar un semáforo

Descripción

bool sem_release ( resource $sem_identifier )

sem_release() libera el semáforo si actualmente está adquirido por el proceso llamador, de otro modo se generará una advertencia.

Después de liberar el semáforo se puede llamar a sem_acquire() para readquirirlo.

Parámetros

sem_identifier

Un gestor de recurso de semáforo devuelto por sem_get().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • sem_get() - Obtener el id de un semáforo
  • sem_acquire() - Adquirir un semáforo

sem_get
sem_remove
Funciones de Semáforo


Eliminar un semáforo

sem_release
shm_attach
Funciones de Semáforo
PHP Manual

sem_remove

(PHP 4 >= 4.1.0, PHP 5)

sem_remove — Eliminar un semáforo

Descripción

bool sem_remove ( resource $sem_identifier )

sem_remove() elimina el semáforo dado.

Después de eliminar el semáforo, éste ya no está accesible.

Parámetros

sem_identifier

Un identificador de recurso de semáforo devuelto por sem_get().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • sem_get() - Obtener el id de un semáforo
  • sem_release() - Liberar un semáforo
  • sem_acquire() - Adquirir un semáforo

sem_release
shm_attach
Funciones de Semáforo


Crea o abre un segmento de memoria compartida

sem_remove
shm_detach
Funciones de Semáforo
PHP Manual

shm_attach

(PHP 4, PHP 5)

shm_attach — Crea o abre un segmento de memoria compartida

Descripción

resource shm_attach ( int $key [, int $memsize [, int $perm = 0666 ]] )

shm_attach() devuelve un id que se puede usar para acceder a la memoria compartida de System V con la clave dada por key, la primera llamada crea el segmento de memoria compartida con memsize y los permisos opcionales a nivel de bits perm.

Una segunda llamada a shm_attach() para la misma clave dada por key devolverá un identificador de memoria diferente, pero ambos identificadores acceden a la misma memoria compartida subyacente. memsize y perm serán ignorados.

Parámetros

key

Un ID numérico de segmento de memoria compartida

memsize

El tamaño de la memoria. Si no se proporciona, por defecto es el valor de sysvshm.init_mem del php.ini, de otro modo es 10000 bytes.

perm

Los bits de permiso opcionales. Por defecto es 0666.

Valores devueltos

Devuelve un identificador de segmento de memoria compartida.

Historial de cambios

Versión | Descripción
5.3.0 | Esta función ahora devuelve un recurso en vez de un integer.

Notas

Nota:

Esta función solía devolver un valor integer antes de PHP 5.3.0. Para obtener el mismo valor de un modo portable, el valor devuelto puede ser convertido a un integer:

<?php
// Crear un fichero temporal y devolver su ruta
$tmp = tempnam('/tmp', 'PHP');

// Obtener la clave de token del fichero
$key = ftok($tmp, 'a');

// Adjuntar el recurso SHM, observe la conversión después
$id = shm_attach($key);

if ($id === false) {
    die('No se pudo crear el segmento de memoria compartida');
}

// Convertir a integer, ya que antes de PHP 5.3.0 se devuelve
// el id del recurso, el cual puede ser expuesto cuando se convierte un recurso
// en un integer
$id = (integer) $id;
?>

Ver también

  • shm_detach() - Desconectarse del segmento de memoria compartida
  • ftok() - Convertir un nombre de ruta y un identificador de proyecto a una clave IPC de System V

sem_remove
shm_detach
Funciones de Semáforo


Desconectarse del segmento de memoria compartida

shm_attach
shm_get_var
Funciones de Semáforo
PHP Manual

shm_detach

(PHP 4, PHP 5)

shm_detach — Desconectarse del segmento de memoria compartida

Descripción

bool shm_detach ( resource $shm_identifier )

shm_detach() desconecta de la memoria compartida dada por el parámetro shm_identifier creado por shm_attach(). Recuerde que la memoria compartida aún existe en el sistema Unix y que la información todavía está presente.

Parámetros

shm_identifier

Un gestor de recurso de memoria compartida devuelto por shm_attach()

Valores devueltos

shm_detach() siempre devuelve TRUE.

Ver también

  • shm_attach() - Crea o abre un segmento de memoria compartida
  • shm_remove() - Elimina la memoria compartida de sistemas Unix
  • shm_remove_var() - Eliminar una variable de la memoria compartida

shm_attach
shm_get_var
Funciones de Semáforo


Devuelve una variable desde la memoria compartida

shm_detach
shm_has_var
Funciones de Semáforo
PHP Manual

shm_get_var

(PHP 4, PHP 5)

shm_get_var — Devuelve una variable desde la memoria compartida

Descripción

mixed shm_get_var ( resource $shm_identifier , int $variable_key )

shm_get_var() devuelve la variable con la clave dada por variable_key, del segmento de memoria compartida dado. La variable todavía está presente en la memoria compartida.

Parámetros

shm_identifier

Segmento de memoria compartida, obtenido desde shm_attach().

variable_key

La clave de la variable.

Valores devueltos

Devuelve la variable con la clave dada.

Ver también

  • shm_has_var() - Verificar si existe una entrada específica
  • shm_put_var() - Inserta o actualiza una variable en la memoria compartida

shm_detach
shm_has_var
Funciones de Semáforo


Verificar si existe una entrada específica

shm_get_var
shm_put_var
Funciones de Semáforo
PHP Manual

shm_has_var

(PHP 5 >= 5.3.0)

shm_has_var — Verificar si existe una entrada específica

Descripción

bool shm_has_var ( resource $shm_identifier , int $variable_key )

Verifica si una clave específica existe dentro de un segmento de memoria compartida.

Parámetros

shm_identifier

Segmento de memoria compartida, obtenido desde shm_attach().

variable_key

La clave de la variable.

Valores devueltos

Devuelve TRUE si la entrada existe, si no FALSE

Ver también

  • shm_get_var() - Devuelve una variable desde la memoria compartida
  • shm_put_var() - Inserta o actualiza una variable en la memoria compartida

shm_get_var
shm_put_var
Funciones de Semáforo


Inserta o actualiza una variable en la memoria compartida

shm_has_var
shm_remove_var
Funciones de Semáforo
PHP Manual

shm_put_var

(PHP 4, PHP 5)

shm_put_var — Inserta o actualiza una variable en la memoria compartida

Descripción

bool shm_put_var ( resource $shm_identifier , int $variable_key , mixed $variable )

shm_put_var() inserta o actualiza variable con la clave cada por variable_key.

Se emitirán advertencias (nivel E_WARNING) si shm_identifier no es un índice de memoria compartida SysV válido o si no hay suficiente memoria compartida restante para completar la petición.

Parámetros

shm_identifier

Un gestor de recurso de memoria compartida devuelto por shm_attach()

variable_key

La clave de la variable.

variable

La variable. Todos los tipos de variables que soporta serialize() se pueden usar: generalmente esto significa todos los tipos excepto los recursos y algunos objetos internos que no pueden ser serialzados.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • shm_get_var() - Devuelve una variable desde la memoria compartida
  • shm_has_var() - Verificar si existe una entrada específica

shm_has_var
shm_remove_var
Funciones de Semáforo


Eliminar una variable de la memoria compartida

shm_put_var
shm_remove
Funciones de Semáforo
PHP Manual

shm_remove_var

(PHP 4, PHP 5)

shm_remove_var — Eliminar una variable de la memoria compartida

Descripción

bool shm_remove_var ( resource $shm_identifier , int $variable_key )

Elimina una variable con la clave dada por variable_key y libera la memoria ocupada.

Parámetros

shm_identifier

El identificador de memoria compartida devuelto por shm_attach()

variable_key

La clave de la variable.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • shm_remove() - Elimina la memoria compartida de sistemas Unix

shm_put_var
shm_remove
Funciones de Semáforo


Elimina la memoria compartida de sistemas Unix

shm_remove_var
Memoria compartida
Funciones de Semáforo
PHP Manual

shm_remove

(PHP 4, PHP 5)

shm_remove — Elimina la memoria compartida de sistemas Unix

Descripción

bool shm_remove ( resource $shm_identifier )

shm_remove() elimina el identificador de memoria compartida shm_identifier. Toda la información será destruida.

Parámetros

shm_identifier

El identificador de memoria compartida devuelto por shm_attach()

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • shm_remove_var() - Eliminar una variable de la memoria compartida

shm_remove_var
Memoria compartida
Funciones de Semáforo


Memoria compartida

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Uso básico
  • Funciones de memoria compartida
    • shmop_close — Cerrar un segmento de memoria compartida
    • shmop_delete — Borrar segmento de memoria compartida
    • shmop_open — Crea o abre un segmento de memoria compartida
    • shmop_read — Leer datos desde un segmento de memoria compartida
    • shmop_size — Obtiene el tamaño de un segmento de memoria compartida
    • shmop_write — Escribir datos en un segmento de memoria compartida
shm_remove
Introducción
Extensiones de control de procesos


Introducción

Shmop es un conjunto de funciones que permiten a PHP leer, escribir, crear y borrar de forma sencilla segmentos de memoria compartida de tipo UNIX.

Nota: Las versiones de Windows anteriores a Windows 2000 no son compatibles con la memoria compartida.

Nota: En PHP 4.0.3, estas funciones estaban precedidas por shm y actualmente lo están por shmop.

Memoria compartida
Instalación/Configuración
Memoria compartida


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Memoria compartida


Instalación

Para utilizar shmop tendrá que compilar PHP con el parámetro --enable-shmop en su línea de configuración.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Ejemplos
Memoria compartida


Ejemplos

Tabla de contenidos

  • Uso básico
Constantes predefinidas
Uso básico
Memoria compartida


Uso básico

Ejemplo #1 Resumen de las operaciones con Memoria Compartida

<?php

// Crear un segmento de memoria compartida de 100 bytes con un identificador igual a 0xff3
$shm_id = shmop_open(0xff3, "c", 0644, 100);
if (!$shm_id) {
    echo "Couldn't create shared memory segment\n";
}

// Obtener tamaño del segmento de memoria compartida
$shm_size = shmop_size($shm_id);
echo "SHM Block Size: " . $shm_size . " has been created.\n";

// Escribir una cadena de prueba en la memoria compartida
$shm_bytes_written = shmop_write($shm_id, "my shared memory block", 0);
if ($shm_bytes_written != strlen("my shared memory block")) {
    echo "Couldn't write the entire length of data\n";
}

// Ahora vamos a leer la cadena de texto
$my_string = shmop_read($shm_id, 0, $shm_size);
if (!$my_string) {
    echo "Couldn't read from shared memory block\n";
}
echo "The data inside shared memory was: " . $my_string . "\n";

//Ahora vamos a eliminar y cerrar el segmento de memoria compartida
if (!shmop_delete($shm_id)) {
    echo "Couldn't mark shared memory block for deletion.";
}
shmop_close($shm_id);

?>

Ejemplos
Funciones de memoria compartida
Ejemplos


Funciones de memoria compartida

Tabla de contenidos

  • shmop_close — Cerrar un segmento de memoria compartida
  • shmop_delete — Borrar segmento de memoria compartida
  • shmop_open — Crea o abre un segmento de memoria compartida
  • shmop_read — Leer datos desde un segmento de memoria compartida
  • shmop_size — Obtiene el tamaño de un segmento de memoria compartida
  • shmop_write — Escribir datos en un segmento de memoria compartida
Uso básico
shmop_close
Memoria compartida


Cerrar un segmento de memoria compartida

Funciones de memoria compartida
shmop_delete
Funciones de memoria compartida
PHP Manual

shmop_close

(PHP 4 >= 4.0.4, PHP 5)

shmop_close — Cerrar un segmento de memoria compartida

Descripción

void shmop_close ( int $shmid )

shmop_close() se utiliza para cerrar un segmento de memoria compartida.

Parámetros

shmid

El identificador del segmento de memoria compartida creado por shmop_open()

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Cerrando segmento de memoria compartida

<?php
shmop_close($shm_id);
?>

Este ejemplo cierra un segmento de memoria compartida identificado por $shm_id.

Ver también

  • shmop_open() - Crea o abre un segmento de memoria compartida

Funciones de memoria compartida
shmop_delete
Funciones de memoria compartida


Borrar segmento de memoria compartida

shmop_close
shmop_open
Funciones de memoria compartida
PHP Manual

shmop_delete

(PHP 4 >= 4.0.4, PHP 5)

shmop_delete — Borrar segmento de memoria compartida

Descripción

bool shmop_delete ( int $shmid )

shmop_delete() es utilizado para borrar un segmento de memoria compartida.

Parámetros

shmid

El identificador de memoria compartida creado por shmop_open()

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Borrando segmento de memoria compartida

<?php
shmop_delete($shm_id);
?>

Este ejemplo borra un segmento de memoria compartida identificado por $shm_id.

shmop_close
shmop_open
Funciones de memoria compartida


Crea o abre un segmento de memoria compartida

shmop_delete
shmop_read
Funciones de memoria compartida
PHP Manual

shmop_open

(PHP 4 >= 4.0.4, PHP 5)

shmop_open — Crea o abre un segmento de memoria compartida

Descripción

int shmop_open ( int $key , string $flags , int $mode , int $size )

shmop_open() puede crear o abrir un segmento de memoria compartida.

Parámetros

key

Identificador que el sistema utilizará para ese segmento de memoria compartida. Puede ser indicado tanto en formato decimal como hexadecimal.

flags

Los indicadores que puede usar son:

  • "a" para acceder (establece SHM_RDONLY para shmat) utilice este indicador cuando necesite abrir un segmento de memoria compartida de sólo lectura
  • "c" para crear (establece IPC_CREATE) utilice este indicador cuando necesite crear un nuevo segmento de memoria compartida o para intentar abrir en modo de lectura y escritura un segmento que ya existe
  • "w" para acceder en modo de lectura y escritura utilice este indicador cuando necesite leer un segmento de memoria compartida y además poder escribir en él, se trata de la opción más habitual en la mayoría de los casos.
  • "n" crea un nuevo segmento de memoria compartida (establece IPC_CREATE|IPC_EXCL) utilice este indicador cuando necesite crear un nuevo segmento de memoria compartida, pero si existe otro segmento de memoria compartida con la misma clave, fallará. Esta opción es útil para propósitos de seguridad que evitan por ejemplo los exploit conocidos como "condiciones de carrera" (en inglés "race conditions").

mode

Permisos que se van a asignar al segmento de memoria compartida, estos son similares a los que se asignan a los archivos. Los permisos deben pasarse en formato octal, como por ejemplo 0644

size

El tamaño en bytes del segmento de memoria compartida que quiere crear

Nota:

Nota: El tercer y cuarto parámetro deberán ser igual a 0 (cero) si está abriendo un segmento de memoria compartida existente.

Valores devueltos

En caso de éxito shmop_open() devolverá un identificador que puede utilizar para acceder al segmento de memoria compartida que ha creado. FALSE es devuelto en caso de fallo.

Ejemplos

Ejemplo #1 Crear un nuevo segmento de memoria compartida

<?php
$shm_key = ftok(__FILE__, 't');
$shm_id = shmop_open($shm_key, "c", 0644, 100);
?>

En este ejemplo se abre un segmento de memoria compartida con un identificador de sistema devuelto por ftok().

Ver también

  • shmop_close() - Cerrar un segmento de memoria compartida
  • shmop_delete() - Borrar segmento de memoria compartida

shmop_delete
shmop_read
Funciones de memoria compartida


Leer datos desde un segmento de memoria compartida

shmop_open
shmop_size
Funciones de memoria compartida
PHP Manual

shmop_read

(PHP 4 >= 4.0.4, PHP 5)

shmop_read — Leer datos desde un segmento de memoria compartida

Descripción

string shmop_read ( int $shmid , int $start , int $count )

shmop_read() leerá una cadena desde un segmento de memoria compartida.

Parámetros

shmid

El identificador del segmento de memoria compartida creado por shmop_open()

start

Offset desde el que comenzar a leer

count

El número de bytes a leer

Valores devueltos

Devuelve los datos o FALSE en caso de error.

Ejemplos

Ejemplo #1 Lectura de un segmento de memoria compartida

<?php
$shm_data = shmop_read($shm_id, 0, 50);
?>

Este ejemplo, leerá los 50 primeros bytes del segmento de memoria compartida y almacenará los datos en la variable $shm_data.

Ver también

  • shmop_write() - Escribir datos en un segmento de memoria compartida

shmop_open
shmop_size
Funciones de memoria compartida


Obtiene el tamaño de un segmento de memoria compartida

shmop_read
shmop_write
Funciones de memoria compartida
PHP Manual

shmop_size

(PHP 4 >= 4.0.4, PHP 5)

shmop_size — Obtiene el tamaño de un segmento de memoria compartida

Descripción

int shmop_size ( int $shmid )

shmop_size() es utilizado ara obtener el tamaño en bytes, de un segmento de memoria compartida.

Parámetros

shmid

El identificador del segmento de memoria compartida creado por shmop_open()

Valores devueltos

Devuelve un entero, el cual representa el número de bytes que ocupa el segmento de memoria compartida.

Ejemplos

Ejemplo #1 Obtención del tamaño de un segmento de memoria compartida

<?php
$shm_size = shmop_size($shm_id);
?>

Este ejemplo, almacenará el tamaño del segmento de memoria compartida identificado por $shm_id en $shm_size.

shmop_read
shmop_write
Funciones de memoria compartida


Escribir datos en un segmento de memoria compartida

shmop_size
Otras extensiones básicas
Funciones de memoria compartida
PHP Manual

shmop_write

(PHP 4 >= 4.0.4, PHP 5)

shmop_write — Escribir datos en un segmento de memoria compartida

Descripción

int shmop_write ( int $shmid , string $data , int $offset )

shmop_write() escribirá una cadena en un segmento de memoria compartida.

Parámetros

shmid

El identificador del segmento de la memoria compartida creado por shmop_open()

data

Una cadena a escribir en el segmento de la memoria compartida

offset

Especifica dónde empezará a escribir los datos en el interior del segmento de la memoria compartida.

Valores devueltos

El tamaño de la data escrita, o FALSE en caso de fallo.

Ejemplos

Ejemplo #1 Escribiendo en un segmento de memoria compartida

<?php
$shm_bytes_written = shmop_write($shm_id, $my_string, 0);
?>

Este ejemplo escribirá los datos contenidos en $my_string en el segmento de memoria compartida, $shm_bytes_written contendrá el número de bytes escritos.

Ver también

  • shmop_read() - Leer datos desde un segmento de memoria compartida

shmop_size
Otras extensiones básicas
Funciones de memoria compartida


Otras extensiones básicas

  • GeoIP — Localización Geo IP
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de GeoIP
  • FANN — FANN (Fast Artificial Neural Network)
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Fann Funciones
    • FANNConnection — The FANNConnection class
  • JSON — JavaScript Object Notation
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • JsonSerializable — La interfaz JsonSerializable
    • Funciones de JSON
  • Judy — Arreglos Judy
    • Introducción
    • Instalación/Configuración
    • Judy — La clase Judy
    • Judy Funciones
  • Lua
    • Introducción
    • Instalación/Configuración
    • Lua — La clase Lua
    • LuaClosure — La clase LuaClosure
  • Misc. — Funciones varias
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones Varias
    • Registro de cambios
  • Parsekit
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Parsekit Funciones
  • SPL — SPL - Biblioteca estándar de PHP
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Estructuras de datos
    • Iteradores
    • Interfaces
    • Excepciones
    • Funciones SPL
    • Manejo de ficheros
    • Misceláneos clases e interfaces
  • Tipos de datos SPL — Manejo de tipos de datos SPL
    • Introducción
    • Instalación/Configuración
    • SplType — La clase SplType
    • SplInt — La clase SplInt
    • SplFloat — La clase SplFloat
    • SplEnum — La clase SplEnum
    • SplBool — La clase SplBool
    • SplString — La clase SplString
  • Flujos
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Filtros de Flujos
    • Contextos de Flujos
    • Errores de Flujos
    • Ejemplos
    • php_user_filter — La clase php_user_filter
    • streamWrapper — La clase streamWrapper
    • Funciones de Flujos
  • Tidy
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Tidy — La clase tidy
    • tidyNode — La clase tidyNode
    • Funciones de Tidy
  • Tokenizer
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones Tokenizer
  • URLs
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de URL
  • V8js — Motor de integración V8 Javascript
    • Introducción
    • Instalación/Configuración
    • Ejemplos
    • V8Js — The V8Js class
    • V8JsException — The V8JsException class
  • Yaml — Serialización de datos YAML
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Callbacks
    • Funciones de Yaml
  • Yaf — Yet Another Framework
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Configuración de la Aplicación
    • Yaf_Application — La clase Yaf_Application
    • Yaf_Bootstrap_Abstract — La clase Yaf_Bootstrap_Abstract
    • Yaf_Dispatcher — La clase Yaf_Dispatcher
    • Yaf_Config_Abstract — La clase Yaf_Config_Abstract
    • Yaf_Config_Ini — La clase Yaf_Config_Ini
    • Yaf_Config_Simple — LA clase Yaf_Config_Simple
    • Yaf_Controller_Abstract — La clase Yaf_Controller_Abstract
    • Yaf_Action_Abstract — La clase Yaf_Action_Abstract
    • Yaf_View_Interface — La clase Yaf_View_Interface
    • Yaf_View_Simple — La clase Yaf_View_Simple
    • Yaf_Loader — La clase Yaf_Loader
    • Yaf_Plugin_Abstract — La clase Yaf_Plugin_Abstract
    • Yaf_Registry — La clase Yaf_Registry
    • Yaf_Request_Abstract — La clase Yaf_Request_Abstract
    • Yaf_Request_Http — La clase Yaf_Request_Http
    • Yaf_Request_Simple — La clase Yaf_Request_Simple
    • Yaf_Response_Abstract — La clase Yaf_Response_Abstract
    • Yaf_Route_Interface — La clase Yaf_Route_Interface
    • Yaf_Route_Map — La clase Yaf_Route_Map
    • Yaf_Route_Regex — La clase Yaf_Route_Regex
    • Yaf_Route_Rewrite — La clase Yaf_Route_Rewrite
    • Yaf_Router — La clase Yaf_Router
    • Yaf_Route_Simple — La clase Yaf_Route_Simple
    • Yaf_Route_Static — La clase Yaf_Route_Static
    • Yaf_Route_Supervar — La clase Yaf_Route_Supervar
    • Yaf_Session — La clase Yaf_Session
    • Yaf_Exception — La clase Yaf_Exception
    • Yaf_Exception_TypeError — La clase Yaf_Exception_TypeError
    • Yaf_Exception_StartupError — La clase Yaf_Exception_StartupError
    • Yaf_Exception_DispatchFailed — La clase Yaf_Exception_DispatchFailed
    • Yaf_Exception_RouterFailed — La clase Yaf_Exception_RouterFailed
    • Yaf_Exception_LoadFailed — La clase Yaf_Exception_LoadFailed
    • Yaf_Exception_LoadFailed_Module — La clase Yaf_Exception_LoadFailed_Module
    • Yaf_Exception_LoadFailed_Controller — La clase Yaf_Exception_LoadFailed_Controller
    • Yaf_Exception_LoadFailed_Action — La clase Yaf_Exception_LoadFailed_Action
    • Yaf_Exception_LoadFailed_View — La clase Yaf_Exception_LoadFailed_View
  • Taint
    • Introducción
    • Instalación/Configuración
    • More Details
    • Taint Funciones
shmop_write
GeoIP
Referencia de funciones


Localización Geo IP

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de GeoIP
    • geoip_continent_code_by_name — Obtiene la abreviación de dos letras del continente
    • geoip_country_code_by_name — Obtiene la abreviación de dos letras del país
    • geoip_country_code3_by_name — Obtiene la abreviación de tres letras del país
    • geoip_country_name_by_name — Obtiene el nombre del país completo
    • geoip_database_info — Obtener información de la base de datos GeoIP
    • geoip_db_avail — Determina si la base de datos GeoIP está disponible
    • geoip_db_filename — Devuelve el nombre del fichero correspondiente a la base de datos de GeoIP
    • geoip_db_get_all_info — Devuelve información detallada sobre todos los tipos de bases de datos GeoIP
    • geoip_id_by_name — Obtiene el tipo de conexión a Internet
    • geoip_isp_by_name — Obtiene el nombre del proveedor de servicios de Internet (ISP)
    • geoip_org_by_name — Consultar nombre de la organización
    • geoip_record_by_name — Devuelve información detallada de la Ciudad encontrada en la base de datos de GeoIP
    • geoip_region_by_name — Consultar el código de país y de región
    • geoip_region_name_by_code — Devuelve, a partir de una combinación de código de país y de región, el nombre de región
    • geoip_time_zone_by_country_and_region — Devuelve, a partir de una combinación de país y región, la zona horaria
Otras extensiones básicas
Introducción
Otras extensiones básicas


Introducción

La extensión GeoIP permite buscar la localización de una dirección IP. Como la ciudad, estado, país, longitud, latitud y otro tipo de información como ISP y tipo de conexión puede ser obtenida con la ayuda de GeoIP.

GeoIP
Instalación/Configuración
GeoIP


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
GeoIP


Requerimientos

Esta extensión requiere la librería C GeoIP versión 1.4.0 o superior para poder ser instalada. Se puede obtener la última versión desde » http://www.maxmind.com/app/c y necesitará ser compilada.

Por defecto, sólo tendrá acceso a Free GeoIP Country o GeoLite City databases. Aunque este módulo puede funcionar con otros tipos de bases de datos, se debe adquirir una licencia comercial en » Maxmind.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/geoip.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

GEOIP_COUNTRY_EDITION (integer)
GEOIP_REGION_EDITION_REV0 (integer)
GEOIP_CITY_EDITION_REV0 (integer)
GEOIP_ORG_EDITION (integer)
GEOIP_ISP_EDITION (integer)
GEOIP_CITY_EDITION_REV1 (integer)
GEOIP_REGION_EDITION_REV1 (integer)
GEOIP_PROXY_EDITION (integer)
GEOIP_ASNUM_EDITION (integer)
GEOIP_NETSPEED_EDITION (integer)
GEOIP_DOMAIN_EDITION (integer)

The following constants are for net speed:

GEOIP_UNKNOWN_SPEED (integer)
GEOIP_DIALUP_SPEED (integer)
GEOIP_CABLEDSL_SPEED (integer)
GEOIP_CORPORATE_SPEED (integer)
Tipos de recursos
Funciones de GeoIP
GeoIP


Funciones de GeoIP

Tabla de contenidos

  • geoip_continent_code_by_name — Obtiene la abreviación de dos letras del continente
  • geoip_country_code_by_name — Obtiene la abreviación de dos letras del país
  • geoip_country_code3_by_name — Obtiene la abreviación de tres letras del país
  • geoip_country_name_by_name — Obtiene el nombre del país completo
  • geoip_database_info — Obtener información de la base de datos GeoIP
  • geoip_db_avail — Determina si la base de datos GeoIP está disponible
  • geoip_db_filename — Devuelve el nombre del fichero correspondiente a la base de datos de GeoIP
  • geoip_db_get_all_info — Devuelve información detallada sobre todos los tipos de bases de datos GeoIP
  • geoip_id_by_name — Obtiene el tipo de conexión a Internet
  • geoip_isp_by_name — Obtiene el nombre del proveedor de servicios de Internet (ISP)
  • geoip_org_by_name — Consultar nombre de la organización
  • geoip_record_by_name — Devuelve información detallada de la Ciudad encontrada en la base de datos de GeoIP
  • geoip_region_by_name — Consultar el código de país y de región
  • geoip_region_name_by_code — Devuelve, a partir de una combinación de código de país y de región, el nombre de región
  • geoip_time_zone_by_country_and_region — Devuelve, a partir de una combinación de país y región, la zona horaria
Constantes predefinidas
geoip_continent_code_by_name
GeoIP


Obtiene la abreviación de dos letras del continente

Funciones de GeoIP
geoip_country_code_by_name
Funciones de GeoIP
PHP Manual

geoip_continent_code_by_name

(PECL geoip >= 1.0.3)

geoip_continent_code_by_name — Obtiene la abreviación de dos letras del continente

Descripción

string geoip_continent_code_by_name ( string $hostname )

La función geoip_continent_code_by_name() devolverá la abreviación de dos letras del continente que corresponde al nombre de sitio web o una dirección IP.

Parámetros

hostname

El nombre del sitio web o dirección IP cuya localización quiere ser obtenida.

Valores devueltos

Devuelve una abreviación de dos letras del nombre del continente en caso de éxito, o FALSE si la dirección no puede encontrarse en la base de datos.

Códigos de continentes
Código | Nombre del continente
AF | África
AN | Antártica
AS | Asia
EU | Europa
NA | Norte américa
OC | Oceanía
SA | Sur america

Ejemplos

Ejemplo #1 Un ejemplo de geoip_continent_code_by_name()

Mostrará donde el sitio web example.com está localizado.

<?php
$continent = geoip_continent_code_by_name('www.example.com');
if ($continent) {
    echo 'Este sitio web está localizado en: ' . $continent;
}
?>

El resultado del ejemplo sería:

 Este sitio web está localizado en: NA

Ver también

  • geoip_country_code_by_name() - Obtiene la abreviación de dos letras del país

Funciones de GeoIP
geoip_country_code_by_name
Funciones de GeoIP


Obtiene la abreviación de dos letras del país

geoip_continent_code_by_name
geoip_country_code3_by_name
Funciones de GeoIP
PHP Manual

geoip_country_code_by_name

(PECL geoip >= 0.2.0)

geoip_country_code_by_name — Obtiene la abreviación de dos letras del país

Descripción

string geoip_country_code_by_name ( string $hostname )

La función geoip_country_code_by_name() devolverá la abreviación de dos letras correspondientes al sitio web o a la dirección IP.

Parámetros

hostname

El sitio web o la dirección IP cuya localización quiere obtenerse.

Valores devueltos

Devuelve la abreviación de dos letras del código ISO en caso de éxito, o FALSE si la dirección IP no puede ser encontrada en la base de datos.

Ejemplos

Ejemplo #1 Ejemplo de geoip_country_code_by_name()

Mostrará donde el sitio web está localizado.

<?php
$country = geoip_country_code_by_name('www.example.com');
if ($country) {
    echo 'Este sitio web está localizado en: ' . $country;
}
?>

El resultado del ejemplo sería:

Este sitio web está localizado en: US

Notas

Precaución

Por favor, véase » http://www.maxmind.com/en/iso3166 para una lista completa de los posibles valores devueltos, incluyendo códigos especiales.

Ver también

  • geoip_country_code3_by_name() - Obtiene la abreviación de tres letras del país
  • geoip_country_name_by_name() - Obtiene el nombre del país completo

geoip_continent_code_by_name
geoip_country_code3_by_name
Funciones de GeoIP


Obtiene la abreviación de tres letras del país

geoip_country_code_by_name
geoip_country_name_by_name
Funciones de GeoIP
PHP Manual

geoip_country_code3_by_name

(PECL geoip >= 0.2.0)

geoip_country_code3_by_name — Obtiene la abreviación de tres letras del país

Descripción

string geoip_country_code3_by_name ( string $hostname )

La función geoip_country_code3_by_name() devolverá la abreviación de tres letras del país correspondientes al sitio web o dirección IP.

Parámetros

hostname

El sitio web o dirección IP cuya localización quiere comprobarse.

Valores devueltos

Devuelve la abreviación de tres letras del país en caso de éxito, o FALSE si la dirección no puede encontrarse en la base de datos.

Ejemplos

Ejemplo #1 Ejemplo de geoip_country_code3_by_name()

Mostrará donde está localizado el sitio web example.com.

<?php
$pais = geoip_country_code3_by_name('www.example.com');
if ($country) {
    echo 'Este sitio web está localizado en: ' . $pais;
}
?>

El resultado del ejemplo sería:

Este sitio web está localizado en: USA

Ver también

  • geoip_country_code_by_name() - Obtiene la abreviación de dos letras del país
  • geoip_country_name_by_name() - Obtiene el nombre del país completo

geoip_country_code_by_name
geoip_country_name_by_name
Funciones de GeoIP


Obtiene el nombre del país completo

geoip_country_code3_by_name
geoip_database_info
Funciones de GeoIP
PHP Manual

geoip_country_name_by_name

(PECL geoip >= 0.2.0)

geoip_country_name_by_name — Obtiene el nombre del país completo

Descripción

string geoip_country_name_by_name ( string $hostname )

La función geoip_country_name_by_name() devolverá el nombre del país correspondiente a un equipo o dirección IP.

Parámetros

hostname

El equipo o dirección IP del cual queremos obtener la ubicación, debe estar activo.

Valores devueltos

Devuelve el nombre del país, o FALSE si la dirección no puede ser encontrada en la base de datos.

Ejemplos

Ejemplo #1 Ejemplo de geoip_country_name_by_name()

Esto mostrará la ubicación de ejemplo.com.

<?php
$country = geoip_country_name_by_name('www.example.com');
if ($country) {
    echo 'This host is located in: ' . $country;
}
?>

El resultado del ejemplo sería:

 This host is located in: United States

Ver también

  • geoip_country_code_by_name() - Obtiene la abreviación de dos letras del país
  • geoip_country_code3_by_name() - Obtiene la abreviación de tres letras del país

geoip_country_code3_by_name
geoip_database_info
Funciones de GeoIP


Obtener información de la base de datos GeoIP

geoip_country_name_by_name
geoip_db_avail
Funciones de GeoIP
PHP Manual

geoip_database_info

(PECL geoip >= 0.2.0)

geoip_database_info — Obtener información de la base de datos GeoIP

Descripción

string geoip_database_info ([ int $database = GEOIP_COUNTRY_EDITION ] )

geoip_database_info() devuelve la versión que corresponda en la base de datos de GeoIP, tal y como se define en el fichero binario.

Si se invoca sin ningún parámetro, devuelve la versión de la edición GeoIP Free Country Edition.

Parámetros

database

Tipo de base de datos en forma de entero. Puede usar algunas constantes de las que se definen para esta extensión (de la forma GEOIP_*_EDITION).

Valores devueltos

Devuelve la versión de la base de datos que corresponda, o NULL en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de geoip_database_info()

Mostrará información sobre la base de datos.

<?php
print geoip_database_info(GEOIP_COUNTRY_EDITION);
?>

El resultado del ejemplo sería:

GEO-106FREE 20060801 Build 1 Copyright (c) 2006 MaxMind LLC All Rights Reserved

geoip_country_name_by_name
geoip_db_avail
Funciones de GeoIP


Determina si la base de datos GeoIP está disponible

geoip_database_info
geoip_db_filename
Funciones de GeoIP
PHP Manual

geoip_db_avail

(PECL geoip >= 1.0.1)

geoip_db_avail — Determina si la base de datos GeoIP está disponible

Descripción

bool geoip_db_avail ( int $database )

La función geoip_db_avail() devuelve si la base de datos GeoIP está disponible y puede ser abierta.

No indica si el fichero es una base de datos o no, sólo si se puede ser leída.

Parámetros

database

El tipo de base de datos como entero. Se pueden usar varias constantes definidas con esta extensión (ej: GEOIP_*_EDITION).

Valores devueltos

Devuelve TRUE si la base de datos existe, FALSE si no puede ser encontrada, o NULL en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de geoip_db_avail()

Mostrará la versión de la base de datos actual.

<?php

if (geoip_db_avail(GEOIP_COUNTRY_EDITION))
    print geoip_database_info(GEOIP_COUNTRY_EDITION);
?>

El resultado del ejemplo sería:

GEO-106FREE 20080801 Build 1 Copyright (c) 2006 MaxMind LLC All Rights Reserved

geoip_database_info
geoip_db_filename
Funciones de GeoIP


Devuelve el nombre del fichero correspondiente a la base de datos de GeoIP

geoip_db_avail
geoip_db_get_all_info
Funciones de GeoIP
PHP Manual

geoip_db_filename

(PECL geoip >= 1.0.1)

geoip_db_filename — Devuelve el nombre del fichero correspondiente a la base de datos de GeoIP

Descripción

string geoip_db_filename ( int $database )

La función geoip_db_filename() devuelve el nombre del fichero que corresponde a la base de datos GeoIP.

No indica si el fichero existe o no en el disco, sólo en donde la librería está buscando el fichero de la base de datos.

Parámetros

database

El tipo de base de datos como entero. Se pueden usar varias constantes definidas con la extensión (ej: GEOIP_*_EDITION).

Valores devueltos

Devuelve el nombre del fichero correspondiente a la base de datos o NULL en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de geoip_db_filename()

Mostrará el nombre del fichero que corresponde a la base de datos.

<?php

print geoip_db_filename(GEOIP_COUNTRY_EDITION);

?>

El resultado del ejemplo sería:

/usr/share/GeoIP/GeoIP.dat

geoip_db_avail
geoip_db_get_all_info
Funciones de GeoIP


Devuelve información detallada sobre todos los tipos de bases de datos GeoIP

geoip_db_filename
geoip_id_by_name
Funciones de GeoIP
PHP Manual

geoip_db_get_all_info

(PECL geoip >= 1.0.1)

geoip_db_get_all_info — Devuelve información detallada sobre todos los tipos de bases de datos GeoIP

Descripción

array geoip_db_get_all_info ( void )

geoip_db_get_all_info() devuelve un array multi-dimensional con información detallada sobre todos los tipos de bases de datos GeoIP.

Esta función está disponible incluso aunque no haya ninguna base de datos instalada. Simplemente las marcará como no disponibles.

Esta es la lista de nombres de las claves del array asociativo:

  • "available" -- Boolean, indica si la base de datos está disponible (consulte geoip_db_avail())
  • "description" -- Descripción de la base de datos
  • "filename" -- Nombre del fichero en disco que contiene la base de datos (consulte geoip_db_filename())

Valores devueltos

Devuelve un array asociativo.

Ejemplos

Ejemplo #1 Ejemplo de geoip_db_get_all_info()

Mostrará el array que contiene la información.

<?php
$infos = geoip_db_get_all_info();
if (is_array($infos)) {
    var_dump($infos);
}
?>

El resultado del ejemplo sería:

array(11) {
  [1]=>
  array(3) {
    ["available"]=>
    bool(true)
    ["description"]=>
    string(21) "GeoIP Country Edition"
    ["filename"]=>
    string(32) "/usr/share/GeoIP/GeoIP.dat"
  }

[ ... ]

  [11]=>
  array(3) {
    ["available"]=>
    bool(false)
    ["description"]=>
    string(25) "GeoIP Domain Name Edition"
    ["filename"]=>
    string(38) "/usr/share/GeoIP/GeoIPDomain.dat"
  }
}

Ejemplo #2 Ejemplo de geoip_db_get_all_info()

Puede utilizar distintas constantes como claves para consultar sólo una determinada información.

<?php
$infos = geoip_db_get_all_info();
if ($infos[GEOIP_COUNTRY_EDITION]['available']) {
    echo $infos[GEOIP_COUNTRY_EDITION]['description'];
}
?>

El resultado del ejemplo sería:

GeoIP Country Edition

geoip_db_filename
geoip_id_by_name
Funciones de GeoIP


Obtiene el tipo de conexión a Internet

geoip_db_get_all_info
geoip_isp_by_name
Funciones de GeoIP
PHP Manual

geoip_id_by_name

(PECL geoip >= 0.2.0)

geoip_id_by_name — Obtiene el tipo de conexión a Internet

Descripción

int geoip_id_by_name ( string $hostname )

La función geoip_id_by_name() devolverá el tipo de conexión a Internet correspondiente a un sitio web o a una dirección IP.

El valor devuelto es numérico y puede ser comparado con las siguientes constantes:

  • GEOIP_UNKNOWN_SPEED
  • GEOIP_DIALUP_SPEED
  • GEOIP_CABLEDSL_SPEED
  • GEOIP_CORPORATE_SPEED

Parámetros

hostname

El sitio web o dirección IP cuyo tipo de conexión quiere comprobarse.

Valores devueltos

Devuelve el tipo de conexión.

Ejemplos

Ejemplo #1 Ejemplo de geoip_id_by_name()

Mostrará el tipo de conexión del sitio web example.com.

<?php
$netspeed = geoip_id_by_name('www.example.com');

echo 'El tipo de conexión es';

switch ($netspeed) {
    case GEOIP_DIALUP_SPEED:
        echo 'módem';
        break;
    case GEOIP_CABLEDSL_SPEED:
        echo 'cable o ADSL';
        break;
    case GEOIP_CORPORATE_SPEED:
        echo 'corporativo';
        break;
    case GEOIP_UNKNOWN_SPEED:
    default:
        echo 'desconocido';
}
?>

El resultado del ejemplo sería:

El tipo de conexión es corporativo

geoip_db_get_all_info
geoip_isp_by_name
Funciones de GeoIP


Obtiene el nombre del proveedor de servicios de Internet (ISP)

geoip_id_by_name
geoip_org_by_name
Funciones de GeoIP
PHP Manual

geoip_isp_by_name

(PECL geoip >= 1.0.2)

geoip_isp_by_name — Obtiene el nombre del proveedor de servicios de Internet (ISP)

Descripción

string geoip_isp_by_name ( string $hostname )

La función geoip_isp_by_name() devolverá el nombre del proveedor de servicios de Internet (ISP) que tenga asignado una dirección IP.

Esta función sólo se encuentra disponible para los usuarios que han comprado un GeoIP ISP Edición Comercial. Se devolverá una advertencia si no puede ser localizado en la base de datos.

Parámetros

hostname

El nombre de equipo o la dirección IP.

Valores devueltos

Devuelve el nombre del ISP si es correcto, o FALSE si la dirección IP no puede ser localizada en la base de datos.

Ejemplos

Ejemplo #1 Ejemplo de geoip_isp_by_name()

Esto mostrará el ISP de ejemplo.com.

<?php
$isp = geoip_isp_by_name('www.example.com');
if ($isp) {
    echo 'This host IP is from ISP: ' . $isp;
}
?>

El resultado del ejemplo sería:

This host IP is from ISP: ICANN c/o Internet Assigned Numbers Authority

geoip_id_by_name
geoip_org_by_name
Funciones de GeoIP


Consultar nombre de la organización

geoip_isp_by_name
geoip_record_by_name
Funciones de GeoIP
PHP Manual

geoip_org_by_name

(PECL geoip >= 0.2.0)

geoip_org_by_name — Consultar nombre de la organización

Descripción

string geoip_org_by_name ( string $hostname )

geoip_org_by_name() devuelve el nombre de la organización a la que una IP está asignada.

Esta función está actualmente disponible solo para usuarios que hayan adquirido una edición comercial de GeoIP. Se lanzará una alerta si no se pudiera localizar la base de datos apropiada

Parámetros

hostname

Nombre de host o dirección IP.

Valores devueltos

En caso de éxito devuelve el nombre de la organización, FALSE si la dirección no se pudiera encontrar en la base de datos.

Ejemplos

Ejemplo #1 Ejemplo de geoip_org_by_name()

Muestra a quién está asignada la IP del host example.com.

<?php
$org = geoip_org_by_name('www.example.com');
if ($org) {
    echo 'Este host IP está asignado a: ' . $org;
}
?>

El resultado del ejemplo sería:

Este host IP está asignado a: ICANN c/o Internet Assigned Numbers Authority

geoip_isp_by_name
geoip_record_by_name
Funciones de GeoIP


Devuelve información detallada de la Ciudad encontrada en la base de datos de GeoIP

geoip_org_by_name
geoip_region_by_name
Funciones de GeoIP
PHP Manual

geoip_record_by_name

(PECL geoip >= 0.2.0)

geoip_record_by_name — Devuelve información detallada de la Ciudad encontrada en la base de datos de GeoIP

Descripción

array geoip_record_by_name ( string $hostname )

La función geoip_record_by_name() devuelve información a partir de un nombre de host o de una dirección IP.

Esta función está disponible tanto para la edición GeoLite City como para la edición comercial GeoIP City. Si no se encontrara la base de datos apropiada, se emitirá una alerta.

Los nombres de las claves del array asociativo son:

  • "continent_code" -- Código de continente en dos letras (a partir de la versión 1.0.4 con libgeoip 1.4.3 o superior)
  • "country_code" -- Código de país de dos letras (consulte geoip_country_code_by_name())
  • "country_code3" -- Código de país de tres letras (consulte geoip_country_code3_by_name())
  • "country_name" -- Nombre del país (consulte geoip_country_name_by_name())
  • "region" -- Código de la región (p.ej: CA para California)
  • "city" -- Ciudad.
  • "postal_code" -- Código postal, FSA o Código Zip.
  • "latitude" -- Latitud en forma de tipo double con signo.
  • "longitude" -- Longitud en forma de tipo double con signo.
  • "dma_code" -- Código de Área de Mercado Designado (sólo en EEUU y en Canadá)
  • "area_code" -- Código de área PSTN (p. ej: 212)

Parámetros

hostname

Nombre de host o dirección IP que se va a consultar.

Valores devueltos

En caso de éxito devuelve un array asociativo, o FALSE si no se pudiera encontrar la dirección en la base de datos.

Historial de cambios

Versión | Descripción
1.0.4 | Añadido el código de continente, con la biblioteca GeoIP 1.4.3 o superior.
1.0.3 | Añadido código de país de 3 letras, y nombre de país.

Ejemplos

Ejemplo #1 Ejemplo de geoip_record_by_name()

Muestra el array que contiene el registro del host example.com.

<?php
$record = geoip_record_by_name('www.example.com');
if ($record) {
    print_r($record);
}
?>

El resultado del ejemplo sería:

Array
(
    [continent_code] => NA
    [country_code] => US
    [country_code3] => USA
    [country_name] => United States
    [region] => CA
    [city] => Marina Del Rey
    [postal_code] =>
    [latitude] => 33.9776992798
    [longitude] => -118.435096741
    [dma_code] => 803
    [area_code] => 310
)

geoip_org_by_name
geoip_region_by_name
Funciones de GeoIP


Consultar el código de país y de región

geoip_record_by_name
geoip_region_name_by_code
Funciones de GeoIP
PHP Manual

geoip_region_by_name

(PECL geoip >= 0.2.0)

geoip_region_by_name — Consultar el código de país y de región

Descripción

array geoip_region_by_name ( string $hostname )

geoip_region_by_name() devuelve el país y región al que pertenecen un nombre de host o una dirección IP.

Esta función está actualmente disponible sólo a usuarios que han adquirido una edición comercial GeoIP Region. Si no se pudiera localizar la base de datos necesaria, se emtirá una alerta.

Estas son las claves del array asociativo que devuelve la función:

  • "country_code" -- Código de dos letras de país (vea geoip_country_code_by_name())
  • "region" -- Código de región (p.ej: CA para California)

Parámetros

hostname

Nombre de host o dirección IP donde consultamos la región.

Valores devueltos

En caso de éxito devuelve un array asociativo, o FALSE si no se pudiera localizar la dirección en la base de datos.

Ejemplos

Ejemplo #1 Ejemplo de geoip_region_by_name()

Mostrará en pantalla el array que almacena el código de país y la región del host example.com.

<?php
$region = geoip_region_by_name('www.example.com');
if ($region) {
    print_r($region);
}
?>

El resultado del ejemplo sería:

Array
(
    [country_code] => US
    [region] => CA
)

geoip_record_by_name
geoip_region_name_by_code
Funciones de GeoIP


Devuelve, a partir de una combinación de código de país y de región, el nombre de región

geoip_region_by_name
geoip_time_zone_by_country_and_region
Funciones de GeoIP
PHP Manual

geoip_region_name_by_code

(PECL geoip >= 1.0.4)

geoip_region_name_by_code — Devuelve, a partir de una combinación de código de país y de región, el nombre de región

Descripción

string geoip_region_name_by_code ( string $country_code , string $region_code )

geoip_region_name_by_code() devuelve el nombre de región que corresponde a una combinación de códigos de país y de región.

En Estados Unidos el código de región de cada estado corresponde a una abreviatura de dos letras. En Canadá el código de región de cada provincia o territorio corresponde al código de dos letras empleado por los servicios postales de Canadá.

En el resto de países, GeoIP utiliza códigos FIPS 10-4 para identificar a las regiones. Consulte » http://www.maxmind.com/app/fips10_4 para conocer una lista detallada de los códigos FIPS 10-4.

Esta función está disponible en todas las versiones de GeoIP Library igual o superiores a la 1.4.1. La información se extrae directamente de la biblioteca GeoIP, y no de ninguna base de datos.

Parámetros

country_code

Código de dos letras del país (vea geoip_country_code_by_name())

region_code

Código de dos letras (o dígitos) de la región (vea geoip_region_by_name())

Valores devueltos

En caso de éxito devuelve el nombre de región, o FALSE si no se pudiera encontrar esa combinación de país-región.

Ejemplos

Ejemplo #1 Ejemplo de geoip_region_name_by_code() usando código de región para EEUU/Cánada

Mostrará en pantalla el nombre de región para el país CA (Cánada), región QC (Quebec).

<?php
$region = geoip_region_name_by_code('CA', 'QC');
if ($region) {
    echo 'Nombre de región de CA/QC: ' . $region;
}
?>

El resultado del ejemplo sería:

Nombre de región de CA/QC: Quebec

Ejemplo #2 Ejemplo de geoip_region_name_by_code() usando códigos FIPS

Mostrará en pantalla el nombre de región para el país JP (Japón), región 01.

<?php
$region = geoip_region_name_by_code('JP', '01');
if ($region) {
    echo 'Nombre de región de JP/01: ' . $region;
}
?>

El resultado del ejemplo sería:

Nombre de región de JP/01: Aichi

geoip_region_by_name
geoip_time_zone_by_country_and_region
Funciones de GeoIP


Devuelve, a partir de una combinación de país y región, la zona horaria

geoip_region_name_by_code
FANN
Funciones de GeoIP
PHP Manual

geoip_time_zone_by_country_and_region

(PECL geoip >= 1.0.4)

geoip_time_zone_by_country_and_region — Devuelve, a partir de una combinación de país y región, la zona horaria

Descripción

string geoip_time_zone_by_country_and_region ( string $country_code [, string $region_code ] )

geoip_time_zone_by_country_and_region() devuelve la zona horaria correspondiente a una combinación de códigos de país y de región.

En Estados Unidos el código de región de cada estado corresponde a una abreviatura de dos letras. En Canadá el código de región de cada provincia o territorio corresponde al código de dos letras empleado por los servicios postales de Canadá.

En el resto de países, GeoIP utiliza códigos FIPS 10-4 para identificar a las regiones. Consulte » http://www.maxmind.com/app/fips10_4 para conocer una lista detallada de los códigos FIPS 10-4.

Esta función está disponible en todas las versiones de GeoIP Library igual o superiores a la 1.4.1. La información se extrae directamente de la biblioteca GeoIP, y no de ninguna base de datos.

Parámetros

country_code

Código de dos letras del país (vea geoip_country_code_by_name())

region_code

Código de dos letras (o dígitos) de la región (vea geoip_region_by_name())

Valores devueltos

En caso de éxito devuelve la zona horaria, o FALSE si no se pudiera encontrar la combinación país y región.

Ejemplos

Ejemplo #1 Ejemplo de geoip_time_zone_by_country_and_region() usando códigos de región de EEUU/Canadá

Mostrará en pantalla la zona horaria de CA (Canadá), en la región QC (Quebec).

<?php
$timezone = geoip_time_zone_by_country_and_region('CA', 'QC');
if ($timezone) {
    echo 'Zona horaria de CA/QC: ' . $timezone;
}
?>

El resultado del ejemplo sería:

Zona horaria de CA/QC: America/Montreal

Ejemplo #2 Ejemplo de geoip_time_zone_by_country_and_region() usando códigos FIPS

Mostrará en pantalla la zona horaria de JP (Japón), en la región 01 (Aichi).

<?php
$timezone = geoip_time_zone_by_country_and_region('JP', '01');
if ($timezone) {
    echo 'Zona horaria de JP/01: ' . $timezone;
}
?>

El resultado del ejemplo sería:

Zona horaria de JP/01: Asia/Tokyo

geoip_region_name_by_code
FANN
Funciones de GeoIP


FANN (Fast Artificial Neural Network)

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • XOR training
  • Fann Funciones
    • fann_cascadetrain_on_data — Trains on an entire dataset, for a period of time using the Cascade2 training algorithm
    • fann_cascadetrain_on_file — Trains on an entire dataset read from file, for a period of time using the Cascade2 training algorithm.
    • fann_clear_scaling_params — Clears scaling parameters
    • fann_copy — Creates a copy of a fann structure
    • fann_create_from_file — Constructs a backpropagation neural network from a configuration file
    • fann_create_shortcut_array — Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
    • fann_create_shortcut — Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
    • fann_create_sparse_array — Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes
    • fann_create_sparse — Creates a standard backpropagation neural network, which is not fully connected
    • fann_create_standard_array — Creates a standard fully connected backpropagation neural network using an array of layer sizes
    • fann_create_standard — Creates a standard fully connected backpropagation neural network
    • fann_create_train_from_callback — Creates the training data struct from a user supplied function
    • fann_create_train — Creates an empty training data struct
    • fann_descale_input — Scale data in input vector after get it from ann based on previously calculated parameters
    • fann_descale_output — Scale data in output vector after get it from ann based on previously calculated parameters
    • fann_descale_train — Descale input and output data based on previously calculated parameters
    • fann_destroy_train — Destructs the training data
    • fann_destroy — Destroys the entire network and properly freeing all the associated memory
    • fann_duplicate_train_data — Returns an exact copy of a fann train data
    • fann_get_activation_function — Returns the activation function
    • fann_get_activation_steepness — Returns the activation steepness for supplied neuron and layer number
    • fann_get_bias_array — Get the number of bias in each layer in the network
    • fann_get_bit_fail_limit — Returns the bit fail limit used during training
    • fann_get_bit_fail — The number of fail bits
    • fann_get_cascade_activation_functions_count — Returns the number of cascade activation functions
    • fann_get_cascade_activation_functions — Returns the cascade activation functions
    • fann_get_cascade_activation_steepnesses_count — The number of activation steepnesses
    • fann_get_cascade_activation_steepnesses — Returns the cascade activation steepnesses
    • fann_get_cascade_candidate_change_fraction — Returns the cascade candidate change fraction
    • fann_get_cascade_candidate_limit — Return the candidate limit
    • fann_get_cascade_candidate_stagnation_epochs — Returns the number of cascade candidate stagnation epochs
    • fann_get_cascade_max_cand_epochs — Returns the maximum candidate epochs
    • fann_get_cascade_max_out_epochs — Returns the maximum out epochs
    • fann_get_cascade_min_cand_epochs — Returns the minimum candidate epochs
    • fann_get_cascade_min_out_epochs — Returns the minimum out epochs
    • fann_get_cascade_num_candidate_groups — Returns the number of candidate groups
    • fann_get_cascade_num_candidates — Returns the number of candidates used during training
    • fann_get_cascade_output_change_fraction — Returns the cascade output change fraction
    • fann_get_cascade_output_stagnation_epochs — Returns the number of cascade output stagnation epochs
    • fann_get_cascade_weight_multiplier — Returns the weight multiplier
    • fann_get_connection_array — Get connections in the network
    • fann_get_connection_rate — Get the connection rate used when the network was created
    • fann_get_errno — Returns the last error number
    • fann_get_errstr — Returns the last errstr
    • fann_get_layer_array — Get the number of neurons in each layer in the network
    • fann_get_learning_momentum — Returns the learning momentum
    • fann_get_learning_rate — Returns the learning rate
    • fann_get_MSE — Reads the mean square error from the network
    • fann_get_network_type — Get the type of neural network it was created as
    • fann_get_num_input — Get the number of input neurons
    • fann_get_num_layers — Get the number of layers in the neural network
    • fann_get_num_output — Get the number of output neurons
    • fann_get_quickprop_decay — Returns the decay which is a factor that weights should decrease in each iteration during quickprop training
    • fann_get_quickprop_mu — Returns the mu factor
    • fann_get_rprop_decrease_factor — Returns the increase factor used during RPROP training
    • fann_get_rprop_delta_max — Returns the maximum step-size
    • fann_get_rprop_delta_min — Returns the minimum step-size
    • fann_get_rprop_delta_zero — Returns the initial step-size
    • fann_get_rprop_increase_factor — Returns the increase factor used during RPROP training
    • fann_get_sarprop_step_error_shift — Returns the sarprop step error shift
    • fann_get_sarprop_step_error_threshold_factor — Returns the sarprop step error threshold factor
    • fann_get_sarprop_temperature — Returns the sarprop temperature
    • fann_get_sarprop_weight_decay_shift — Returns the sarprop weight decay shift
    • fann_get_total_connections — Get the total number of connections in the entire network
    • fann_get_total_neurons — Get the total number of neurons in the entire network
    • fann_get_train_error_function — Returns the error function used during training
    • fann_get_train_stop_function — Returns the the stop function used during training
    • fann_get_training_algorithm — Returns the training algorithm
    • fann_init_weights — Initialize the weights using Widrow + Nguyen’s algorithm
    • fann_length_train_data — Returns the number of training patterns in the train data
    • fann_merge_train_data — Merges the train data
    • fann_num_input_train_data — Returns the number of inputs in each of the training patterns in the train data
    • fann_num_output_train_data — Returns the number of outputs in each of the training patterns in the train data
    • fann_print_error — Prints the error string
    • fann_randomize_weights — Give each connection a random weight between min_weight and max_weight
    • fann_read_train_from_file — Reads a file that stores training data
    • fann_reset_errno — Resets the last error number
    • fann_reset_errstr — Resets the last error string
    • fann_reset_MSE — Resets the mean square error from the network
    • fann_run — Will run input through the neural network
    • fann_save_train — Save the training structure to a file
    • fann_save — Saves the entire network to a configuration file
    • fann_scale_input_train_data — Scales the inputs in the training data to the specified range
    • fann_scale_input — Scale data in input vector before feed it to ann based on previously calculated parameters
    • fann_scale_output_train_data — Scales the outputs in the training data to the specified range
    • fann_scale_output — Scale data in output vector before feed it to ann based on previously calculated parameters
    • fann_scale_train_data — Scales the inputs and outputs in the training data to the specified range
    • fann_scale_train — Scale input and output data based on previously calculated parameters
    • fann_set_activation_function_hidden — Sets the activation function for all of the hidden layers
    • fann_set_activation_function_layer — Sets the activation function for all the neurons in the supplied layer.
    • fann_set_activation_function_output — Sets the activation function for the output layer
    • fann_set_activation_function — Sets the activation function for supplied neuron and layer
    • fann_set_activation_steepness_hidden — Sets the steepness of the activation steepness for all neurons in the all hidden layers
    • fann_set_activation_steepness_layer — Sets the activation steepness for all of the neurons in the supplied layer number
    • fann_set_activation_steepness_output — Sets the steepness of the activation steepness in the output layer
    • fann_set_activation_steepness — Sets the activation steepness for supplied neuron and layer number
    • fann_set_bit_fail_limit — Set the bit fail limit used during training
    • fann_set_callback — Sets the callback function for use during training
    • fann_set_cascade_activation_functions — Sets the array of cascade candidate activation functions
    • fann_set_cascade_activation_steepnesses — Sets the array of cascade candidate activation steepnesses
    • fann_set_cascade_candidate_change_fraction — Sets the cascade candidate change fraction
    • fann_set_cascade_candidate_limit — Sets the candidate limit
    • fann_set_cascade_candidate_stagnation_epochs — Sets the number of cascade candidate stagnation epochs
    • fann_set_cascade_max_cand_epochs — Sets the max candidate epochs
    • fann_set_cascade_max_out_epochs — Sets the maximum out epochs
    • fann_set_cascade_min_cand_epochs — Sets the min candidate epochs
    • fann_set_cascade_min_out_epochs — Sets the minimum out epochs
    • fann_set_cascade_num_candidate_groups — Sets the number of candidate groups
    • fann_set_cascade_output_change_fraction — Sets the cascade output change fraction
    • fann_set_cascade_output_stagnation_epochs — Sets the number of cascade output stagnation epochs
    • fann_set_cascade_weight_multiplier — Sets the weight multiplier
    • fann_set_error_log — Sets where the errors are logged to
    • fann_set_input_scaling_params — Calculate input scaling parameters for future use based on training data
    • fann_set_learning_momentum — Sets the learning momentum
    • fann_set_learning_rate — Sets the learning rate
    • fann_set_output_scaling_params — Calculate output scaling parameters for future use based on training data
    • fann_set_quickprop_decay — Sets the quickprop decay factor
    • fann_set_quickprop_mu — Sets the quickprop mu factor
    • fann_set_rprop_decrease_factor — Sets the decrease factor used during RPROP training
    • fann_set_rprop_delta_max — Sets the maximum step-size
    • fann_set_rprop_delta_min — Sets the minimum step-size
    • fann_set_rprop_delta_zero — Sets the initial step-size
    • fann_set_rprop_increase_factor — Sets the increase factor used during RPROP training
    • fann_set_sarprop_step_error_shift — Sets the sarprop step error shift
    • fann_set_sarprop_step_error_threshold_factor — Sets the sarprop step error threshold factor
    • fann_set_sarprop_temperature — Sets the sarprop temperature
    • fann_set_sarprop_weight_decay_shift — Sets the sarprop weight decay shift
    • fann_set_scaling_params — Calculate input and output scaling parameters for future use based on training data
    • fann_set_train_error_function — Sets the error function used during training
    • fann_set_train_stop_function — Sets the stop function used during training
    • fann_set_training_algorithm — Sets the training algorithm
    • fann_set_weight_array — Set connections in the network
    • fann_set_weight — Set a connection in the network
    • fann_shuffle_train_data — Shuffles training data, randomizing the order
    • fann_subset_train_data — Returns an copy of a subset of the train data
    • fann_test_data — Test a set of training data and calculates the MSE for the training data
    • fann_test — Test with a set of inputs, and a set of desired outputs
    • fann_train_epoch — Train one epoch with a set of training data
    • fann_train_on_data — Trains on an entire dataset for a period of time
    • fann_train_on_file — Trains on an entire dataset, which is read from file, for a period of time
    • fann_train — Train one iteration with a set of inputs, and a set of desired outputs
  • FANNConnection — The FANNConnection class
    • FANNConnection::__construct — The connection constructor
    • FANNConnection::getFromNeuron — Returns the postions of starting neuron.
    • FANNConnection::getToNeuron — Returns the postions of terminating neuron
    • FANNConnection::getWeight — Returns the connection weight
    • FANNConnection::setWeight — Sets the connections weight
geoip_time_zone_by_country_and_region
Introducción
Otras extensiones básicas


Introducción

PHP binding for FANN Fast Artificial Neural Network) Library which implements multilayer artificial neural networks with support for both fully connected and sparsely connected networks. It includes a framework for easy handling of training data sets. It is easy to use, versatile, well documented, and fast.

FANN
Instalación/Configuración
FANN


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
FANN


Requerimientos

PHP >= 5.2.0 and libfann >= 2.1.0

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

The FANN PHP extension should work on all Linux systems.

  • FANN Library Installation
  • PECL Installation
  • Manual Installation

FANN Library Installation

Before you start installation make sure that libfann is installed on your system. It's part of the main repository in the most Linux distributions (search for `fann`). You need a development version.

If it is not installed, you need to install it first. Either download it from the » official site or get it from your distro repository. For example on Fedora:

$ sudo yum install fann-devel
or Ubuntu:

$ sudo apt-get install libfann-dev

PECL Installation

This extension is available on PECL. The installation is very simple. Just run:

$ sudo pecl install fann

Manual Installation

For developers and people interested in the latest changes, you can compile the driver from the latest source code on » Github. Go to Github and click the "Download ZIP" button. Then run:

$ unzip php-fann-master.zip
$ cd php-fann-master
$ phpize
$ ./configure
$ make all
$ sudo make install

Make the following changes to php.ini:

  • Make sure the extension_dir variable is pointing to the directory containing fann.so. The build will display where it is installing the PHP driver with output that looks something like:

Installing '/usr/lib/php/extensions/no-debug-non-zts-20060613/fann.so'
    Make sure that it is the same as the PHP extension directory by runnning:

$ php -i | grep extension_dir
  extension_dir => /usr/lib/php/extensions/no-debug-non-zts-20060613 =>
                   /usr/lib/php/extensions/no-debug-non-zts-20060613
    If it's not, change the extension_dir in php.ini or move fann.so.

  • To load the extension on PHP startup, add a line:

extension=fann.so

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Training algorithms
FANN_TRAIN_INCREMENTAL (integer)
Standard backpropagation algorithm, where the weights are updated after each training pattern. This means that the weights are updated many times during a single epoch. For this reason some problems, will train very fast with this algorithm, while other more advanced problems will not train very well.
FANN_TRAIN_BATCH (integer)
Standard backpropagation algorithm, where the weights are updated after calculating the mean square error for the whole training set. This means that the weights are only updated once during a epoch. For this reason some problems, will train slower with this algorithm. But since the mean square error is calculated more correctly than in incremental training, some problems will reach a better solutions with this algorithm.
FANN_TRAIN_RPROP (integer)
A more advanced batch training algorithm which achieves good results for many problems. The RPROP training algorithm is adaptive, and does therefore not use the learning_rate. Some other parameters can however be set to change the way the RPROP algorithm works, but it is only recommended for users with insight in how the RPROP training algorithm works. The RPROP training algorithm is described by [Riedmiller and Braun, 1993], but the actual learning algorithm used here is the iRPROP- training algorithm which is described by [Igel and Husken, 2000] which is an variety of the standard RPROP training algorithm.
FANN_TRAIN_QUICKPROP (integer)
A more advanced batch training algorithm which achieves good results for many problems. The quickprop training algorithm uses the learning_rate parameter along with other more advanced parameters, but it is only recommended to change these advanced parameters, for users with insight in how the quickprop training algorithm works. The quickprop training algorithm is described by [Fahlman, 1988].
FANN_TRAIN_SARPROP (integer)
Even more advance training algorithm. Only for version 2.2
Activation functions
FANN_LINEAR (integer)
Linear activation function.
FANN_THRESHOLD (integer)
Threshold activation function.
FANN_THRESHOLD_SYMMETRIC (integer)
Threshold activation function.
FANN_SIGMOID (integer)
Sigmoid activation function.
FANN_SIGMOID_STEPWISE (integer)
Stepwise linear approximation to sigmoid.
FANN_SIGMOID_SYMMETRIC (integer)
Symmetric sigmoid activation function, aka. tanh.
FANN_SIGMOID_SYMMETRIC_STEPWISE (integer)
Stepwise linear approximation to symmetric sigmoid
FANN_GAUSSIAN (integer)
Gaussian activation function.
FANN_GAUSSIAN_SYMMETRIC (integer)
Symmetric gaussian activation function.
FANN_GAUSSIAN_STEPWISE (integer)
Stepwise gaussian activation function.
FANN_ELLIOT (integer)
Fast (sigmoid like) activation function defined by David Elliott.
FANN_ELLIOT_SYMMETRIC (integer)
Fast (symmetric sigmoid like) activation function defined by David Elliott.
FANN_LINEAR_PIECE (integer)
Bounded linear activation function.
FANN_LINEAR_PIECE_SYMMETRIC (integer)
Bounded linear activation function.
FANN_SIN_SYMMETRIC (integer)
Periodical sinus activation function.
FANN_COS_SYMMETRIC (integer)
Periodical cosinus activation function.
FANN_SIN (integer)
Periodical sinus activation function.
FANN_COS (integer)
Periodical cosinus activation function.
Error function used during training
FANN_ERRORFUNC_LINEAR (integer)
Standard linear error function.
FANN_ERRORFUNC_TANH (integer)
Tanh error function, usually better but can require a lower learning rate. This error function agressively targets outputs that differ much from the desired, while not targetting outputs that only differ a little that much. This activation function is not recommended for cascade training and incremental training.
Stop criteria used during training
FANN_STOPFUNC_MSE (integer)
Stop criteria is Mean Square Error (MSE) value.
FANN_STOPFUNC_BIT (integer)
Stop criteria is number of bits that fail. The number of bits means the number of output neurons which differs more than the bit fail limit (see fann_get_bit_fail_limit, fann_set_bit_fail_limit). The bits are counted in all of the training data, so this number can be higher than the number of training data.
Definition of network types used by fann_get_network_type()
FANN_NETTYPE_LAYER (integer)
Each layer only has connections to the next layer.
FANN_NETTYPE_SHORTCUT (integer)
Each layer has connections to all following layers
Errors
FANN_E_NO_ERROR (integer)
No error.
FANN_E_CANT_OPEN_CONFIG_R (integer)
Unable to open configuration file for reading.
FANN_E_CANT_OPEN_CONFIG_W (integer)
Unable to open configuration file for writing.
FANN_E_WRONG_CONFIG_VERSION (integer)
Wrong version of configuration file.
FANN_E_CANT_READ_CONFIG (integer)
Error reading info from configuration file.
FANN_E_CANT_READ_NEURON (integer)
Error reading neuron info from configuration file.
FANN_E_CANT_READ_CONNECTIONS (integer)
Error reading connections from configuration file.
FANN_E_WRONG_NUM_CONNECTIONS (integer)
Number of connections not equal to the number expected.
FANN_E_CANT_OPEN_TD_W (integer)
Unable to open train data file for writing.
FANN_E_CANT_OPEN_TD_R (integer)
Unable to open train data file for reading.
FANN_E_CANT_READ_TD (integer)
Error reading training data from file.
FANN_E_CANT_ALLOCATE_MEM (integer)
Unable to allocate memory.
FANN_E_CANT_TRAIN_ACTIVATION (integer)
Unable to train with the selected activation function.
FANN_E_CANT_USE_ACTIVATION (integer)
Unable to use the selected activation function.
FANN_E_TRAIN_DATA_MISMATCH (integer)
Irreconcilable differences between two struct fann_train_data structures.
FANN_E_CANT_USE_TRAIN_ALG (integer)
Unable to use the selected training algorithm.
FANN_E_TRAIN_DATA_SUBSET (integer)
Trying to take subset which is not within the training set.
FANN_E_INDEX_OUT_OF_BOUND (integer)
Index is out of bound.
FANN_E_SCALE_NOT_PRESENT (integer)
Scaling parameters not present.
FANN_E_INPUT_NO_MATCH (integer)
The number of input neurons in the ann data do not match
FANN_E_OUTPUT_NO_MATCH (integer)
The number of output neurons in the ann and data do not match.

Tipos de recursos
Ejemplos
FANN


Ejemplos

Tabla de contenidos

  • XOR training
Constantes predefinidas
XOR training
FANN


XOR training

This example shows how to train data for XOR function

Ejemplo #1 Simple train

<?php
$num_input = 2;
$num_output = 1;
$num_layers = 3;
$num_neurons_hidden = 3;
$desired_error = 0.001;
$max_epochs = 500000;
$epochs_between_reports = 1000;

$ann = fann_create_standard($num_layers, $num_input, $num_neurons_hidden, $num_output);

if ($ann) {
    fann_set_activation_function_hidden($ann, FANN_SIGMOID_SYMMETRIC);
    fann_set_activation_function_output($ann, FANN_SIGMOID_SYMMETRIC);

    $filename = dirname(__FILE__) . "/xor.data";
    if (fann_train_on_file($ann, $filename, $max_epochs, $epochs_between_reports, $desired_error))
        fann_save($ann, dirname(__FILE__) . "/xor_float.net");

    fann_destroy($ann);
}
?>

This example shows how to read and run data for XOR function

Ejemplo #2 Simple test

<?php
$train_file = (dirname(__FILE__) . "/xor_float.net");
if (!is_file($train_file))
    die("The file xor_float.net has not been created! Please run simple_train.php to generate it");

$ann = fann_create_from_file($train_file);
if (!$ann)
    die("ANN could not be created");

$input = array(-1, 1);
$calc_out = fann_run($ann, $input);
printf("xor test (%f,%f) -> %f\n", $input[0], $input[1], $calc_out[0]);
fann_destroy($ann);
?>

Ejemplos
Fann Funciones
Ejemplos


Fann Funciones

Tabla de contenidos

  • fann_cascadetrain_on_data — Trains on an entire dataset, for a period of time using the Cascade2 training algorithm
  • fann_cascadetrain_on_file — Trains on an entire dataset read from file, for a period of time using the Cascade2 training algorithm.
  • fann_clear_scaling_params — Clears scaling parameters
  • fann_copy — Creates a copy of a fann structure
  • fann_create_from_file — Constructs a backpropagation neural network from a configuration file
  • fann_create_shortcut_array — Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
  • fann_create_shortcut — Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
  • fann_create_sparse_array — Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes
  • fann_create_sparse — Creates a standard backpropagation neural network, which is not fully connected
  • fann_create_standard_array — Creates a standard fully connected backpropagation neural network using an array of layer sizes
  • fann_create_standard — Creates a standard fully connected backpropagation neural network
  • fann_create_train_from_callback — Creates the training data struct from a user supplied function
  • fann_create_train — Creates an empty training data struct
  • fann_descale_input — Scale data in input vector after get it from ann based on previously calculated parameters
  • fann_descale_output — Scale data in output vector after get it from ann based on previously calculated parameters
  • fann_descale_train — Descale input and output data based on previously calculated parameters
  • fann_destroy_train — Destructs the training data
  • fann_destroy — Destroys the entire network and properly freeing all the associated memory
  • fann_duplicate_train_data — Returns an exact copy of a fann train data
  • fann_get_activation_function — Returns the activation function
  • fann_get_activation_steepness — Returns the activation steepness for supplied neuron and layer number
  • fann_get_bias_array — Get the number of bias in each layer in the network
  • fann_get_bit_fail_limit — Returns the bit fail limit used during training
  • fann_get_bit_fail — The number of fail bits
  • fann_get_cascade_activation_functions_count — Returns the number of cascade activation functions
  • fann_get_cascade_activation_functions — Returns the cascade activation functions
  • fann_get_cascade_activation_steepnesses_count — The number of activation steepnesses
  • fann_get_cascade_activation_steepnesses — Returns the cascade activation steepnesses
  • fann_get_cascade_candidate_change_fraction — Returns the cascade candidate change fraction
  • fann_get_cascade_candidate_limit — Return the candidate limit
  • fann_get_cascade_candidate_stagnation_epochs — Returns the number of cascade candidate stagnation epochs
  • fann_get_cascade_max_cand_epochs — Returns the maximum candidate epochs
  • fann_get_cascade_max_out_epochs — Returns the maximum out epochs
  • fann_get_cascade_min_cand_epochs — Returns the minimum candidate epochs
  • fann_get_cascade_min_out_epochs — Returns the minimum out epochs
  • fann_get_cascade_num_candidate_groups — Returns the number of candidate groups
  • fann_get_cascade_num_candidates — Returns the number of candidates used during training
  • fann_get_cascade_output_change_fraction — Returns the cascade output change fraction
  • fann_get_cascade_output_stagnation_epochs — Returns the number of cascade output stagnation epochs
  • fann_get_cascade_weight_multiplier — Returns the weight multiplier
  • fann_get_connection_array — Get connections in the network
  • fann_get_connection_rate — Get the connection rate used when the network was created
  • fann_get_errno — Returns the last error number
  • fann_get_errstr — Returns the last errstr
  • fann_get_layer_array — Get the number of neurons in each layer in the network
  • fann_get_learning_momentum — Returns the learning momentum
  • fann_get_learning_rate — Returns the learning rate
  • fann_get_MSE — Reads the mean square error from the network
  • fann_get_network_type — Get the type of neural network it was created as
  • fann_get_num_input — Get the number of input neurons
  • fann_get_num_layers — Get the number of layers in the neural network
  • fann_get_num_output — Get the number of output neurons
  • fann_get_quickprop_decay — Returns the decay which is a factor that weights should decrease in each iteration during quickprop training
  • fann_get_quickprop_mu — Returns the mu factor
  • fann_get_rprop_decrease_factor — Returns the increase factor used during RPROP training
  • fann_get_rprop_delta_max — Returns the maximum step-size
  • fann_get_rprop_delta_min — Returns the minimum step-size
  • fann_get_rprop_delta_zero — Returns the initial step-size
  • fann_get_rprop_increase_factor — Returns the increase factor used during RPROP training
  • fann_get_sarprop_step_error_shift — Returns the sarprop step error shift
  • fann_get_sarprop_step_error_threshold_factor — Returns the sarprop step error threshold factor
  • fann_get_sarprop_temperature — Returns the sarprop temperature
  • fann_get_sarprop_weight_decay_shift — Returns the sarprop weight decay shift
  • fann_get_total_connections — Get the total number of connections in the entire network
  • fann_get_total_neurons — Get the total number of neurons in the entire network
  • fann_get_train_error_function — Returns the error function used during training
  • fann_get_train_stop_function — Returns the the stop function used during training
  • fann_get_training_algorithm — Returns the training algorithm
  • fann_init_weights — Initialize the weights using Widrow + Nguyen’s algorithm
  • fann_length_train_data — Returns the number of training patterns in the train data
  • fann_merge_train_data — Merges the train data
  • fann_num_input_train_data — Returns the number of inputs in each of the training patterns in the train data
  • fann_num_output_train_data — Returns the number of outputs in each of the training patterns in the train data
  • fann_print_error — Prints the error string
  • fann_randomize_weights — Give each connection a random weight between min_weight and max_weight
  • fann_read_train_from_file — Reads a file that stores training data
  • fann_reset_errno — Resets the last error number
  • fann_reset_errstr — Resets the last error string
  • fann_reset_MSE — Resets the mean square error from the network
  • fann_run — Will run input through the neural network
  • fann_save_train — Save the training structure to a file
  • fann_save — Saves the entire network to a configuration file
  • fann_scale_input_train_data — Scales the inputs in the training data to the specified range
  • fann_scale_input — Scale data in input vector before feed it to ann based on previously calculated parameters
  • fann_scale_output_train_data — Scales the outputs in the training data to the specified range
  • fann_scale_output — Scale data in output vector before feed it to ann based on previously calculated parameters
  • fann_scale_train_data — Scales the inputs and outputs in the training data to the specified range
  • fann_scale_train — Scale input and output data based on previously calculated parameters
  • fann_set_activation_function_hidden — Sets the activation function for all of the hidden layers
  • fann_set_activation_function_layer — Sets the activation function for all the neurons in the supplied layer.
  • fann_set_activation_function_output — Sets the activation function for the output layer
  • fann_set_activation_function — Sets the activation function for supplied neuron and layer
  • fann_set_activation_steepness_hidden — Sets the steepness of the activation steepness for all neurons in the all hidden layers
  • fann_set_activation_steepness_layer — Sets the activation steepness for all of the neurons in the supplied layer number
  • fann_set_activation_steepness_output — Sets the steepness of the activation steepness in the output layer
  • fann_set_activation_steepness — Sets the activation steepness for supplied neuron and layer number
  • fann_set_bit_fail_limit — Set the bit fail limit used during training
  • fann_set_callback — Sets the callback function for use during training
  • fann_set_cascade_activation_functions — Sets the array of cascade candidate activation functions
  • fann_set_cascade_activation_steepnesses — Sets the array of cascade candidate activation steepnesses
  • fann_set_cascade_candidate_change_fraction — Sets the cascade candidate change fraction
  • fann_set_cascade_candidate_limit — Sets the candidate limit
  • fann_set_cascade_candidate_stagnation_epochs — Sets the number of cascade candidate stagnation epochs
  • fann_set_cascade_max_cand_epochs — Sets the max candidate epochs
  • fann_set_cascade_max_out_epochs — Sets the maximum out epochs
  • fann_set_cascade_min_cand_epochs — Sets the min candidate epochs
  • fann_set_cascade_min_out_epochs — Sets the minimum out epochs
  • fann_set_cascade_num_candidate_groups — Sets the number of candidate groups
  • fann_set_cascade_output_change_fraction — Sets the cascade output change fraction
  • fann_set_cascade_output_stagnation_epochs — Sets the number of cascade output stagnation epochs
  • fann_set_cascade_weight_multiplier — Sets the weight multiplier
  • fann_set_error_log — Sets where the errors are logged to
  • fann_set_input_scaling_params — Calculate input scaling parameters for future use based on training data
  • fann_set_learning_momentum — Sets the learning momentum
  • fann_set_learning_rate — Sets the learning rate
  • fann_set_output_scaling_params — Calculate output scaling parameters for future use based on training data
  • fann_set_quickprop_decay — Sets the quickprop decay factor
  • fann_set_quickprop_mu — Sets the quickprop mu factor
  • fann_set_rprop_decrease_factor — Sets the decrease factor used during RPROP training
  • fann_set_rprop_delta_max — Sets the maximum step-size
  • fann_set_rprop_delta_min — Sets the minimum step-size
  • fann_set_rprop_delta_zero — Sets the initial step-size
  • fann_set_rprop_increase_factor — Sets the increase factor used during RPROP training
  • fann_set_sarprop_step_error_shift — Sets the sarprop step error shift
  • fann_set_sarprop_step_error_threshold_factor — Sets the sarprop step error threshold factor
  • fann_set_sarprop_temperature — Sets the sarprop temperature
  • fann_set_sarprop_weight_decay_shift — Sets the sarprop weight decay shift
  • fann_set_scaling_params — Calculate input and output scaling parameters for future use based on training data
  • fann_set_train_error_function — Sets the error function used during training
  • fann_set_train_stop_function — Sets the stop function used during training
  • fann_set_training_algorithm — Sets the training algorithm
  • fann_set_weight_array — Set connections in the network
  • fann_set_weight — Set a connection in the network
  • fann_shuffle_train_data — Shuffles training data, randomizing the order
  • fann_subset_train_data — Returns an copy of a subset of the train data
  • fann_test_data — Test a set of training data and calculates the MSE for the training data
  • fann_test — Test with a set of inputs, and a set of desired outputs
  • fann_train_epoch — Train one epoch with a set of training data
  • fann_train_on_data — Trains on an entire dataset for a period of time
  • fann_train_on_file — Trains on an entire dataset, which is read from file, for a period of time
  • fann_train — Train one iteration with a set of inputs, and a set of desired outputs
XOR training
fann_cascadetrain_on_data
FANN


Trains on an entire dataset, for a period of time using the Cascade2 training algorithm

Fann Funciones
fann_cascadetrain_on_file
Fann Funciones
PHP Manual

fann_cascadetrain_on_data

(PECL fann >= 1.0.0)

fann_cascadetrain_on_data — Trains on an entire dataset, for a period of time using the Cascade2 training algorithm

Descripción

bool fann_cascadetrain_on_data ( resource $ann , resource $data , int $max_neurons , int $neurons_between_reports , float $desired_error )

The cascade output change fraction is a number between 0 and 1 determining how large a fraction the fann_get_MSE() value should change within fann_get_cascade_output_stagnation_epochs() during training of the output connections, in order for the training not to stagnate. If the training stagnates, the training of the output connections will be ended and new candidates will be prepared.

This training uses the parameters set using the fann_set_cascade_..., but it also uses another training algorithm as it’s internal training algorithm. This algorithm can be set to either FANN_TRAIN_RPROP or FANN_TRAIN_QUICKPROP by fann_set_training_algorithm(), and the parameters set for these training algorithms will also affect the cascade training.

Parámetros

ann

resource de red neuronal.

data

resource de datos de entrenamiento de red neuronal.

max_neurons

The maximum number of neurons to be added to neural network.

neurons_between_reports

The number of neurons between printing a status report. A value of zero means no reports should be printed.

desired_error

The desired fann_get_MSE() or fann_get_bit_fail(), depending on which stop function is chosen by fann_set_train_stop_function()

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_cascadetrain_on_file() - Trains on an entire dataset read from file, for a period of time using the Cascade2 training algorithm.

Fann Funciones
fann_cascadetrain_on_file
Fann Funciones


Trains on an entire dataset read from file, for a period of time using the Cascade2 training algorithm.

fann_cascadetrain_on_data
fann_clear_scaling_params
Fann Funciones
PHP Manual

fann_cascadetrain_on_file

(PECL fann >= 1.0.0)

fann_cascadetrain_on_file — Trains on an entire dataset read from file, for a period of time using the Cascade2 training algorithm.

Descripción

bool fann_cascadetrain_on_file ( resource $ann , string $filename , int $max_neurons , int $neurons_between_reports , float $desired_error )

Does the same as fann_cascadetrain_on_data(), but reads the training data directly from a file.

Parámetros

ann

resource de red neuronal.

filename

The maximum number of neurons to be added to neural network

max_neurons

The number of neurons between printing a status report to stdout. A value of zero means no reports should be printed.

neurons_between_reports

The number of neurons between printing a status report. A value of zero means no reports should be printed.

desired_error

The desired fann_get_MSE() or fann_get_bit_fail(), depending on which stop function is chosen by fann_set_train_stop_function().

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_cascadetrain_on_data() - Trains on an entire dataset, for a period of time using the Cascade2 training algorithm

fann_cascadetrain_on_data
fann_clear_scaling_params
Fann Funciones


Clears scaling parameters

fann_cascadetrain_on_file
fann_copy
Fann Funciones
PHP Manual

fann_clear_scaling_params

(PECL fann >= 1.0.0)

fann_clear_scaling_params — Clears scaling parameters

Descripción

bool fann_clear_scaling_params ( resource $ann )

Clears scaling parameters.

Parámetros

ann

resource de red neuronal.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

fann_cascadetrain_on_file
fann_copy
Fann Funciones


Creates a copy of a fann structure

fann_clear_scaling_params
fann_create_from_file
Fann Funciones
PHP Manual

fann_copy

(PECL fann >= 1.0.0)

fann_copy — Creates a copy of a fann structure

Descripción

resource fann_copy ( resource $ann )

Creates a copy of a fann structure.

Parámetros

ann

resource de red neuronal.

Valores devueltos

Returns a copy of neural network resource on success, or FALSE on error

Ver también

  • fann_test() - Test with a set of inputs, and a set of desired outputs

fann_clear_scaling_params
fann_create_from_file
Fann Funciones


Constructs a backpropagation neural network from a configuration file

fann_copy
fann_create_shortcut_array
Fann Funciones
PHP Manual

fann_create_from_file

(PECL fann >= 1.0.0)

fann_create_from_file — Constructs a backpropagation neural network from a configuration file

Descripción

resource fann_create_from_file ( string $configuration_file )

Constructs a backpropagation neural network from a configuration file, which have been saved by fann_save().

Parámetros

configuration_file

The configuration file path.

Valores devueltos

Devuelve un resource de red neuronal en caso de éxito, o FALSE en caso de error.

Ver también

  • fann_save() - Saves the entire network to a configuration file

fann_copy
fann_create_shortcut_array
Fann Funciones


Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections

fann_create_from_file
fann_create_shortcut
Fann Funciones
PHP Manual

fann_create_shortcut_array

(PECL fann >= 1.0.0)

fann_create_shortcut_array — Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections

Descripción

resource fann_create_shortcut_array ( int $num_layers , array $layers )

Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections using an array of layers sizes.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

num_layers

The total number of layers including the input and the output layer.

layers

An array of layers sizes.

Valores devueltos

Returns a neural network resource on success, or FALSE on error.

Ver también

  • fann_create_shortcut() - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
  • fann_create_sparse() - Creates a standard backpropagation neural network, which is not fully connected
  • fann_create_standard() - Creates a standard fully connected backpropagation neural network

fann_create_from_file
fann_create_shortcut
Fann Funciones


Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections

fann_create_shortcut_array
fann_create_sparse_array
Fann Funciones
PHP Manual

fann_create_shortcut

(PECL fann >= 1.0.0)

fann_create_shortcut — Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections

Descripción

reference fann_create_shortcut ( int $num_layers , int $num_neurons1 , int $num_neurons2 [, int $... ] )

Creates a standard backpropagation neural network, which is not fully connected and which also has shortcut connections.

Shortcut connections are connections that skip layers. A fully connected network with shortcut connections, is a network where all neurons are connected to all neurons in later layers. Including direct connections from the input layer to the output layer.

Parámetros

num_layers

The total number of layers including the input and the output layer.

num_neurons1

Number of neurons in the first layer.

num_neurons2

Number of neurons in the second layer.

...

Number of neurons in other layers.

Valores devueltos

Returns a neural network resource on success, or FALSE on error.

Ver también

  • fann_create_shortcut_array() - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
  • fann_create_sparse() - Creates a standard backpropagation neural network, which is not fully connected
  • fann_create_standard() - Creates a standard fully connected backpropagation neural network

fann_create_shortcut_array
fann_create_sparse_array
Fann Funciones


Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes

fann_create_shortcut
fann_create_sparse
Fann Funciones
PHP Manual

fann_create_sparse_array

(PECL fann >= 1.0.0)

fann_create_sparse_array — Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes

Descripción

ReturnType fann_create_sparse_array ( float $connection_rate , int $num_layers , array $layers )

Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes.

Parámetros

connection_rate

The connection rate controls how many connections there will be in the network. If the connection rate is set to 1, the network will be fully connected, but if it is set to 0.5 only half of the connections will be set. A connection rate of 1 will yield the same result as fann_create_standard().

num_layers

The total number of layers including the input and the output layer.

layers

An array of layer sizes.

Valores devueltos

Returns a neural network resource on success, or FALSE on error.

Ver también

  • fann_create_sparse() - Creates a standard backpropagation neural network, which is not fully connected
  • fann_create_standard() - Creates a standard fully connected backpropagation neural network
  • fann_create_shortcut() - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections

fann_create_shortcut
fann_create_sparse
Fann Funciones


Creates a standard backpropagation neural network, which is not fully connected

fann_create_sparse_array
fann_create_standard_array
Fann Funciones
PHP Manual

fann_create_sparse

(PECL fann >= 1.0.0)

fann_create_sparse — Creates a standard backpropagation neural network, which is not fully connected

Descripción

ReturnType fann_create_sparse ( float $connection_rate , int $num_layers , int $num_neurons1 , int $num_neurons2 [, int $... ] )

Creates a standard backpropagation neural network, which is not fully connected.

Parámetros

connection_rate

The connection rate controls how many connections there will be in the network. If the connection rate is set to 1, the network will be fully connected, but if it is set to 0.5 only half of the connections will be set. A connection rate of 1 will yield the same result as fann_create_standard().

num_layers

The total number of layers including the input and the output layer.

num_neurons1

Number of neurons in the first layer.

num_neurons2

Number of neurons in the second layer.

...

Number of neurons in other layers.

Valores devueltos

Returns a neural network resource on success, or FALSE on error.

Ver también

  • fann_create_sparse_array() - Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes
  • fann_create_standard() - Creates a standard fully connected backpropagation neural network
  • fann_create_shortcut() - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections

fann_create_sparse_array
fann_create_standard_array
Fann Funciones


Creates a standard fully connected backpropagation neural network using an array of layer sizes

fann_create_sparse
fann_create_standard
Fann Funciones
PHP Manual

fann_create_standard_array

(PECL fann >= 1.0.0)

fann_create_standard_array — Creates a standard fully connected backpropagation neural network using an array of layer sizes

Descripción

resource fann_create_standard_array ( int $num_layers , array $layers )

Creates a standard fully connected backpropagation neural network.

There will be a bias neuron in each layer (except the output layer), and this bias neuron will be connected to all neurons in the next layer. When running the network, the bias nodes always emits 1.

To destroy a neural network use the fann_destroy() function.

Parámetros

num_layers

The total number of layers including the input and the output layer.

layers

An array of layer sizes.

Valores devueltos

Returns a neural network resource on success, or FALSE on error.

Ver también

  • fann_create_standard() - Creates a standard fully connected backpropagation neural network
  • fann_create_sparse() - Creates a standard backpropagation neural network, which is not fully connected
  • fann_create_shortcut() - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections

fann_create_sparse
fann_create_standard
Fann Funciones


Creates a standard fully connected backpropagation neural network

fann_create_standard_array
fann_create_train_from_callback
Fann Funciones
PHP Manual

fann_create_standard

(PECL fann >= 1.0.0)

fann_create_standard — Creates a standard fully connected backpropagation neural network

Descripción

resource fann_create_standard ( int $num_layers , int $num_neurons1 , int $num_neurons2 [, int $... ] )

Creates a standard fully connected backpropagation neural network.

There will be a bias neuron in each layer (except the output layer), and this bias neuron will be connected to all neurons in the next layer. When running the network, the bias nodes always emits 1.

To destroy a neural network use the fann_destroy() function.

Parámetros

num_layers

The total number of layers including the input and the output layer.

num_neurons1

Number of neurons in the first layer.

num_neurons2

Number of neurons in the second layer.

...

Number of neurons in other layers.

Valores devueltos

Returns a neural network resource on success, or FALSE on error.

Ver también

  • fann_create_standard_array() - Creates a standard fully connected backpropagation neural network using an array of layer sizes
  • fann_create_sparse() - Creates a standard backpropagation neural network, which is not fully connected
  • fann_create_shortcut() - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections

fann_create_standard_array
fann_create_train_from_callback
Fann Funciones


Creates the training data struct from a user supplied function

fann_create_standard
fann_create_train
Fann Funciones
PHP Manual

fann_create_train_from_callback

(PECL fann >= 1.0.0)

fann_create_train_from_callback — Creates the training data struct from a user supplied function

Descripción

resource fann_create_train_from_callback ( int $num_data , int $num_input , int $num_output , collable $user_function )

Creates the training data struct from a user supplied function. As the training data are numerable (data 1, data 2...), the user must write a function that receives the number of the training data set (input, output) and returns the set.

Parámetros

num_data

The number of training data

num_input

The number of inputs per training data

num_output

The number of ouputs per training data

user_function

The user supplied function with following parameters:

  • num - The number of the training data set
  • num_input - The number of inputs per training data
  • num - The number of ouputs per training dataThe number of inputs per training data

The function should return an associative array with keys input and output and two array values of input and output.

Valores devueltos

Devueve un resource de datos de entrenamiento en caso de éxito, o FALSE en caso de error.

Ejemplos

Ejemplo #1 fann_create_train_from_callback() example

<?php
function create_train_callback($num_data, $num_input, $num_output) {
    return array(
        "input" => array_fill(0, $num_input, 1),
        "output" => array_fill(0, $num_output, 1),
    );
}

$num_data = 3;
$num_input = 2;
$num_output = 1;
$train_data = fann_create_train_from_callback($num_data, $num_input, $num_output, "create_train_callback");
if ($train_data) {
    // Do something with $train_data
}
?>

Ver también

  • fann_read_train_from_file() - Reads a file that stores training data
  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_destroy_train() - Destructs the training data
  • fann_save_train() - Save the training structure to a file

fann_create_standard
fann_create_train
Fann Funciones


Creates an empty training data struct

fann_create_train_from_callback
fann_descale_input
Fann Funciones
PHP Manual

fann_create_train

(PECL fann >= 1.0.0)

fann_create_train — Creates an empty training data struct

Descripción

resource fann_create_train ( int $num_data , int $num_input , int $num_output )

Creates an empty training data struct.

Parámetros

num_data

The number of training data

num_input

The number of inputs per training data

num_output

The number of ouputs per training data

Valores devueltos

Devueve un resource de datos de entrenamiento en caso de éxito, o FALSE en caso de error.

Ver también

  • fann_read_train_from_file() - Reads a file that stores training data
  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_destroy_train() - Destructs the training data
  • fann_save_train() - Save the training structure to a file

fann_create_train_from_callback
fann_descale_input
Fann Funciones


Scale data in input vector after get it from ann based on previously calculated parameters

fann_create_train
fann_descale_output
Fann Funciones
PHP Manual

fann_descale_input

(PECL fann >= 1.0.0)

fann_descale_input — Scale data in input vector after get it from ann based on previously calculated parameters

Descripción

bool fann_descale_input ( resource $ann , array $input_vector )

Scale data in input vector after get it from ann based on previously calculated parameters.

Parámetros

ann

resource de red neuronal.

input_vector

Input vector that will be descaled

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_scale_input() - Scale data in input vector before feed it to ann based on previously calculated parameters
  • fann_descale_output() - Scale data in output vector after get it from ann based on previously calculated parameters

fann_create_train
fann_descale_output
Fann Funciones


Scale data in output vector after get it from ann based on previously calculated parameters

fann_descale_input
fann_descale_train
Fann Funciones
PHP Manual

fann_descale_output

(PECL fann >= 1.0.0)

fann_descale_output — Scale data in output vector after get it from ann based on previously calculated parameters

Descripción

bool fann_descale_output ( resource $ann , array $output_vector )

Scale data in output vector after get it from ann based on previously calculated parameters.

Parámetros

ann

resource de red neuronal.

output_vector

Output vector that will be descaled

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_scale_output() - Scale data in output vector before feed it to ann based on previously calculated parameters
  • fann_descale_input() - Scale data in input vector after get it from ann based on previously calculated parameters

fann_descale_input
fann_descale_train
Fann Funciones


Descale input and output data based on previously calculated parameters

fann_descale_output
fann_destroy_train
Fann Funciones
PHP Manual

fann_descale_train

(PECL fann >= 1.0.0)

fann_descale_train — Descale input and output data based on previously calculated parameters

Descripción

bool fann_descale_train ( resource $ann , resource $train_data )

Descale input and output data based on previously calculated parameters.

Parámetros

ann

resource de red neuronal.

train_data

resource de datos de entrenamiento de red neuronal.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_scale_train() - Scale input and output data based on previously calculated parameters
  • fann_set_scaling_params() - Calculate input and output scaling parameters for future use based on training data

fann_descale_output
fann_destroy_train
Fann Funciones


Destructs the training data

fann_descale_train
fann_destroy
Fann Funciones
PHP Manual

fann_destroy_train

(PECL fann >= 1.0.0)

fann_destroy_train — Destructs the training data

Descripción

bool fann_destroy_train ( resource $train_data )

Destructs the training data

Parámetros

train_data

resource de datos de entrenamiento de red neuronal.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

fann_descale_train
fann_destroy
Fann Funciones


Destroys the entire network and properly freeing all the associated memory

fann_destroy_train
fann_duplicate_train_data
Fann Funciones
PHP Manual

fann_destroy

(PECL fann >= 1.0.0)

fann_destroy — Destroys the entire network and properly freeing all the associated memory

Descripción

bool fann_destroy ( resource $ann )

Destroys the entire network and properly freeing all the associated memory.

Parámetros

ann

resource de red neuronal.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

fann_destroy_train
fann_duplicate_train_data
Fann Funciones


Returns an exact copy of a fann train data

fann_destroy
fann_get_activation_function
Fann Funciones
PHP Manual

fann_duplicate_train_data

(PECL fann >= 1.0.0)

fann_duplicate_train_data — Returns an exact copy of a fann train data

Descripción

resource fann_duplicate_train_data ( resource $data )

Returns an exact copy of a fann train data resource.

Parámetros

data

resource de datos de entrenamiento de red neuronal.

Valores devueltos

Devueve un resource de datos de entrenamiento en caso de éxito, o FALSE en caso de error.

fann_destroy
fann_get_activation_function
Fann Funciones


Returns the activation function

fann_duplicate_train_data
fann_get_activation_steepness
Fann Funciones
PHP Manual

fann_get_activation_function

(PECL fann >= 1.0.0)

fann_get_activation_function — Returns the activation function

Descripción

int fann_get_activation_function ( resource $ann , int $layer , int $neuron )

Get the activation function for neuron number neuron in layer number layer, counting the input layer as layer 0.

It is not possible to get activation functions for the neurons in the input layer.

The return value is one of the activation functions constants.

Parámetros

ann

resource de red neuronal.

layer

Layer number.

neuron

Neuron number.

Valores devueltos

Learning functions constant or -1 if the neuron is not defined in the neural network, or FALSE on error.

Ver también

  • fann_set_activation_function_layer() - Sets the activation function for all the neurons in the supplied layer.
  • fann_set_activation_function_hidden() - Sets the activation function for all of the hidden layers
  • fann_set_activation_function_output() - Sets the activation function for the output layer
  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number
  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer

fann_duplicate_train_data
fann_get_activation_steepness
Fann Funciones


Returns the activation steepness for supplied neuron and layer number

fann_get_activation_function
fann_get_bias_array
Fann Funciones
PHP Manual

fann_get_activation_steepness

(PECL fann >= 1.0.0)

fann_get_activation_steepness — Returns the activation steepness for supplied neuron and layer number

Descripción

float fann_get_activation_steepness ( resource $ann , int $layer , int $neuron )

Get the activation steepness for neuron number neuron in layer number layer, counting the input layer as layer 0.

It is not possible to get activation steepness for the neurons in the input layer.

The steepness of an activation function says something about how fast the activation function goes from the minimum to the maximum. A high value for the activation function will also give a more agressive training.

When training neural networks where the output values should be at the extremes (usually 0 and 1, depending on the activation function), a steep activation function can be used (e.g. 1.0).

The default activation steepness is 0.5.

Parámetros

ann

resource de red neuronal.

layer

Layer number

neuron

Neuron number

Valores devueltos

The activation steepness for the neuron or -1 if the neuron is not defined in the neural network, or FALSE on error.

Ver también

  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer
  • fann_set_activation_steepness_layer() - Sets the activation steepness for all of the neurons in the supplied layer number
  • fann_set_activation_steepness_hidden() - Sets the steepness of the activation steepness for all neurons in the all hidden layers
  • fann_set_activation_steepness_output() - Sets the steepness of the activation steepness in the output layer
  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number

fann_get_activation_function
fann_get_bias_array
Fann Funciones


Get the number of bias in each layer in the network

fann_get_activation_steepness
fann_get_bit_fail_limit
Fann Funciones
PHP Manual

fann_get_bias_array

(PECL fann >= 1.0.0)

fann_get_bias_array — Get the number of bias in each layer in the network

Descripción

array fann_get_bias_array ( resource $ann )

Get the number of bias in each layer in the network.

Parámetros

ann

resource de red neuronal.

Valores devueltos

An array of numbers of bias in each layer

fann_get_activation_steepness
fann_get_bit_fail_limit
Fann Funciones


Returns the bit fail limit used during training

fann_get_bias_array
fann_get_bit_fail
Fann Funciones
PHP Manual

fann_get_bit_fail_limit

(PECL fann >= 1.0.0)

fann_get_bit_fail_limit — Returns the bit fail limit used during training

Descripción

float fann_get_bit_fail_limit ( resource $ann )

Returns the bit fail limit used during training.

The bit fail limit is used during training where the stop function is set to FANN_STOPFUNC_BIT.

The limit is the maximum accepted difference between the desired output and the actual output during training. Each output that diverges more than this limit is counted as an error bit. This difference is divided by two when dealing with symmetric activation functions, so that symmetric and not symmetric activation functions can use the same limit.

The default bit fail limit is 0.35.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The bit fail limit, or FALSE on error.

Ver también

  • fann_set_bit_fail_limit() - Set the bit fail limit used during training

fann_get_bias_array
fann_get_bit_fail
Fann Funciones


The number of fail bits

fann_get_bit_fail_limit
fann_get_cascade_activation_functions_count
Fann Funciones
PHP Manual

fann_get_bit_fail

(PECL fann >= 1.0.0)

fann_get_bit_fail — The number of fail bits

Descripción

int fann_get_bit_fail ( resource $ann )

The number of fail bits; means the number of output neurons which differ more than the bit fail limit (see fann_get_bit_fail_limit(), fann_set_bit_fail_limit()). The bits are counted in all of the training data, so this number can be higher than the number of training data.

This value is reset by fann_reset_MSE() and updated by all the same functions which also updates the MSE value (e.g. fann_test_data(), fann_train_epoch())

Parámetros

ann

resource de red neuronal.

Valores devueltos

The number of bits fail, or FALSE on error.

Ver también

  • fann_get_MSE() - Reads the mean square error from the network
  • fann_reset_MSE() - Resets the mean square error from the network
  • fann_test_data() - Test a set of training data and calculates the MSE for the training data
  • fann_train_epoch() - Train one epoch with a set of training data
  • fann_get_bit_fail_limit() - Returns the bit fail limit used during training
  • fann_set_bit_fail_limit() - Set the bit fail limit used during training

fann_get_bit_fail_limit
fann_get_cascade_activation_functions_count
Fann Funciones


Returns the number of cascade activation functions

fann_get_bit_fail
fann_get_cascade_activation_functions
Fann Funciones
PHP Manual

fann_get_cascade_activation_functions_count

(PECL fann >= 1.0.0)

fann_get_cascade_activation_functions_count — Returns the number of cascade activation functions

Descripción

int fann_get_cascade_activation_functions_count ( resource $ann )

The number of activation functions in the fann_get_cascade_activation_functions() array.

The default number of activation functions is 6.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The number of cascade activation functions, or FALSE on error.

Ver también

  • fann_get_cascade_activation_functions() - Returns the cascade activation functions
  • fann_set_cascade_activation_functions() - Sets the array of cascade candidate activation functions

fann_get_bit_fail
fann_get_cascade_activation_functions
Fann Funciones


Returns the cascade activation functions

fann_get_cascade_activation_functions_count
fann_get_cascade_activation_steepnesses_count
Fann Funciones
PHP Manual

fann_get_cascade_activation_functions

(PECL fann >= 1.0.0)

fann_get_cascade_activation_functions — Returns the cascade activation functions

Descripción

array fann_get_cascade_activation_functions ( resource $ann )

The cascade activation functions array is an array of the different activation functions used by the candidates

See fann_get_cascade_num_candidates() for a description of which candidate neurons will be generated by this array.

The default activation functions are FANN_SIGMOID, FANN_SIGMOID_SYMMETRIC, FANN_GAUSSIAN, FANN_GAUSSIAN_SYMMETRIC, FANN_ELLIOT, FANN_ELLIOT_SYMMETRIC.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The cascade activation functions, or FALSE on error.

Ver también

  • fann_get_cascade_activation_functions_count() - Returns the number of cascade activation functions
  • fann_set_cascade_activation_functions() - Sets the array of cascade candidate activation functions

fann_get_cascade_activation_functions_count
fann_get_cascade_activation_steepnesses_count
Fann Funciones


The number of activation steepnesses

fann_get_cascade_activation_functions
fann_get_cascade_activation_steepnesses
Fann Funciones
PHP Manual

fann_get_cascade_activation_steepnesses_count

(PECL fann >= 1.0.0)

fann_get_cascade_activation_steepnesses_count — The number of activation steepnesses

Descripción

int fann_get_cascade_activation_steepnesses_count ( resource $ann )

The number of activation steepnesses in the fann_get_cascade_activation_functions() array.

The default number of activation steepnesses is 4.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The number of activation steepnesses, or FALSE on error.

Ver también

  • fann_get_cascade_activation_steepnesses() - Returns the cascade activation steepnesses
  • fann_set_cascade_activation_functions() - Sets the array of cascade candidate activation functions

fann_get_cascade_activation_functions
fann_get_cascade_activation_steepnesses
Fann Funciones


Returns the cascade activation steepnesses

fann_get_cascade_activation_steepnesses_count
fann_get_cascade_candidate_change_fraction
Fann Funciones
PHP Manual

fann_get_cascade_activation_steepnesses

(PECL fann >= 1.0.0)

fann_get_cascade_activation_steepnesses — Returns the cascade activation steepnesses

Descripción

array fann_get_cascade_activation_steepnesses ( resource $ann )

The cascade activation steepnesses array is an array of the different activation functions used by the candidates.

See fann_get_cascade_num_candidates() for a description of which candidate neurons will be generated by this array.

The default activation steepnesses are {0.25, 0.50, 0.75, 1.00}.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The cascade activation steepnesses, or FALSE on error.

Ver también

  • fann_get_cascade_activation_steepnesses_count() - The number of activation steepnesses
  • fann_set_cascade_activation_steepnesses() - Sets the array of cascade candidate activation steepnesses

fann_get_cascade_activation_steepnesses_count
fann_get_cascade_candidate_change_fraction
Fann Funciones


Returns the cascade candidate change fraction

fann_get_cascade_activation_steepnesses
fann_get_cascade_candidate_limit
Fann Funciones
PHP Manual

fann_get_cascade_candidate_change_fraction

(PECL fann >= 1.0.0)

fann_get_cascade_candidate_change_fraction — Returns the cascade candidate change fraction

Descripción

float fann_get_cascade_candidate_change_fraction ( resource $ann )

The cascade candidate change fraction is a number between 0 and 1 determining how large a fraction the fann_get_MSE() value should change within fann_get_cascade_candidate_stagnation_epochs() during training of the candidate neurons, in order for the training not to stagnate. If the training stagnates, the training of the candidate neurons will be ended and the best candidate will be selected.

It means that if the MSE does not change by a fraction of fann_get_cascade_candidate_change_fraction() during a period of fann_get_cascade_candidate_stagnation_epochs(), the training of the candidate neurons is stopped because the training has stagnated.

If the cascade candidate change fraction is low, the candidate neurons will be trained more and if the fraction is high they will be trained less.

The default cascade candidate change fraction is 0.01, which is equalent to a 1% change in MSE.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The cascade candidate change fraction, or FALSE on error.

Ver también

  • fann_set_cascade_candidate_change_fraction() - Sets the cascade candidate change fraction
  • fann_get_MSE() - Reads the mean square error from the network
  • fann_get_cascade_candidate_stagnation_epochs() - Returns the number of cascade candidate stagnation epochs

fann_get_cascade_activation_steepnesses
fann_get_cascade_candidate_limit
Fann Funciones


Return the candidate limit

fann_get_cascade_candidate_change_fraction
fann_get_cascade_candidate_stagnation_epochs
Fann Funciones
PHP Manual

fann_get_cascade_candidate_limit

(PECL fann >= 1.0.0)

fann_get_cascade_candidate_limit — Return the candidate limit

Descripción

float fann_get_cascade_candidate_limit ( resource $ann )

The candidate limit is a limit for how much the candidate neuron may be trained. The limit is a limit on the proportion between the MSE and candidate score.

Set this to a lower value to avoid overfitting and to a higher if overfitting is not a problem.

The default candidate limit is 1000.0.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The candidate limit, or FALSE on error.

Ver también

  • fann_set_cascade_candidate_limit() - Sets the candidate limit

fann_get_cascade_candidate_change_fraction
fann_get_cascade_candidate_stagnation_epochs
Fann Funciones


Returns the number of cascade candidate stagnation epochs

fann_get_cascade_candidate_limit
fann_get_cascade_max_cand_epochs
Fann Funciones
PHP Manual

fann_get_cascade_candidate_stagnation_epochs

(PECL fann >= 1.0.0)

fann_get_cascade_candidate_stagnation_epochs — Returns the number of cascade candidate stagnation epochs

Descripción

float fann_get_cascade_candidate_stagnation_epochs ( resource $ann )

The number of cascade candidate stagnation epochs determines the number of epochs training is allowed to continue without changing the MSE by a fraction of fann_get_cascade_candidate_change_fraction().

See more info about this parameter in fann_get_cascade_candidate_change_fraction().

The default number of cascade candidate stagnation epochs is 12.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The number of cascade candidate stagnation epochs, or FALSE on error.

Ver también

  • fann_set_cascade_candidate_stagnation_epochs() - Sets the number of cascade candidate stagnation epochs
  • fann_get_cascade_candidate_change_fraction() - Returns the cascade candidate change fraction

fann_get_cascade_candidate_limit
fann_get_cascade_max_cand_epochs
Fann Funciones


Returns the maximum candidate epochs

fann_get_cascade_candidate_stagnation_epochs
fann_get_cascade_max_out_epochs
Fann Funciones
PHP Manual

fann_get_cascade_max_cand_epochs

(PECL fann >= 1.0.0)

fann_get_cascade_max_cand_epochs — Returns the maximum candidate epochs

Descripción

int fann_get_cascade_max_cand_epochs ( resource $ann )

The maximum candidate epochs determines the maximum number of epochs the input connections to the candidates may be trained before adding a new candidate neuron.

The default max candidate epochs is 150.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The maximum candidate epochs, or FALSE on error.

Ver también

  • fann_set_cascade_max_cand_epochs() - Sets the max candidate epochs

fann_get_cascade_candidate_stagnation_epochs
fann_get_cascade_max_out_epochs
Fann Funciones


Returns the maximum out epochs

fann_get_cascade_max_cand_epochs
fann_get_cascade_min_cand_epochs
Fann Funciones
PHP Manual

fann_get_cascade_max_out_epochs

(PECL fann >= 1.0.0)

fann_get_cascade_max_out_epochs — Returns the maximum out epochs

Descripción

int fann_get_cascade_max_out_epochs ( resource $ann )

The maximum out epochs determines the maximum number of epochs the output connections may be trained after adding a new candidate neuron.

The default max out epochs is 150.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The maximum out epochs, or FALSE on error.

Ver también

  • fann_set_cascade_max_out_epochs() - Sets the maximum out epochs

fann_get_cascade_max_cand_epochs
fann_get_cascade_min_cand_epochs
Fann Funciones


Returns the minimum candidate epochs

fann_get_cascade_max_out_epochs
fann_get_cascade_min_out_epochs
Fann Funciones
PHP Manual

fann_get_cascade_min_cand_epochs

(PECL fann >= 1.0.0)

fann_get_cascade_min_cand_epochs — Returns the minimum candidate epochs

Descripción

int fann_get_cascade_min_cand_epochs ( resource $ann )

The minimum candidate epochs determines the minimum number of epochs the input connections to the candidates may be trained before adding a new candidate neuron.

The default min candidate epochs is 50.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The minimum candidate epochs, or FALSE on error.

Ver también

  • fann_set_cascade_min_cand_epochs() - Sets the min candidate epochs

fann_get_cascade_max_out_epochs
fann_get_cascade_min_out_epochs
Fann Funciones


Returns the minimum out epochs

fann_get_cascade_min_cand_epochs
fann_get_cascade_num_candidate_groups
Fann Funciones
PHP Manual

fann_get_cascade_min_out_epochs

(PECL fann >= 1.0.0)

fann_get_cascade_min_out_epochs — Returns the minimum out epochs

Descripción

int fann_get_cascade_min_out_epochs ( resource $ann )

The minimum out epochs determines the minimum number of epochs the output connections must be trained after adding a new candidate neuron.

The default min out epochs is 50.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The minimum out epochs, or FALSE on error.

Ver también

  • fann_set_cascade_min_out_epochs() - Sets the minimum out epochs

fann_get_cascade_min_cand_epochs
fann_get_cascade_num_candidate_groups
Fann Funciones


Returns the number of candidate groups

fann_get_cascade_min_out_epochs
fann_get_cascade_num_candidates
Fann Funciones
PHP Manual

fann_get_cascade_num_candidate_groups

(PECL fann >= 1.0.0)

fann_get_cascade_num_candidate_groups — Returns the number of candidate groups

Descripción

int fann_get_cascade_num_candidate_groups ( resource $ann )

The number of candidate groups is the number of groups of identical candidates which will be used during training.

This number can be used to have more candidates without having to define new parameters for the candidates.

See fann_get_cascade_num_candidates() for a description of which candidate neurons will be generated by this parameter.

The default number of candidate groups is 2.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The number of candidate groups, or FALSE on error.

Ver también

  • fann_set_cascade_num_candidate_groups() - Sets the number of candidate groups

fann_get_cascade_min_out_epochs
fann_get_cascade_num_candidates
Fann Funciones


Returns the number of candidates used during training

fann_get_cascade_num_candidate_groups
fann_get_cascade_output_change_fraction
Fann Funciones
PHP Manual

fann_get_cascade_num_candidates

(PECL fann >= 1.0.0)

fann_get_cascade_num_candidates — Returns the number of candidates used during training

Descripción

int fann_get_cascade_num_candidates ( resource $ann )

The number of candidates used during training (calculated by multiplying
 fann_get_cascade_activation_functions_count(),
 fann_get_cascade_activation_steepnesses_count() and
 fann_get_cascade_num_candidate_groups()).

The actual candidates is defined by the fann_get_cascade_activation_functions() and fann_get_cascade_activation_steepnesses() arrays. These arrays define the activation functions and activation steepnesses used for the candidate neurons. If there are 2 activation functions in the activation function array and 3 steepnesses in the steepness array, then there will be 2x3=6 different candidates which will be trained. These 6 different candidates can be copied into several candidate groups, where the only difference between these groups is the initial weights. If the number of groups is set to 2, then the number of candidate neurons will be 2x3x2=12. The number of candidate groups is defined by fann_set_cascade_num_candidate_groups().

The default number of candidates is 6x4x2 = 48

Parámetros

ann

resource de red neuronal.

Valores devueltos

The number of candidates used during training, or FALSE on error.

Ver también

  • fann_get_cascade_activation_functions() - Returns the cascade activation functions
  • fann_get_cascade_activation_functions_count() - Returns the number of cascade activation functions
  • fann_get_cascade_activation_steepnesses() - Returns the cascade activation steepnesses
  • fann_get_cascade_activation_steepnesses_count() - The number of activation steepnesses
  • fann_get_cascade_num_candidate_groups() - Returns the number of candidate groups

fann_get_cascade_num_candidate_groups
fann_get_cascade_output_change_fraction
Fann Funciones


Returns the cascade output change fraction

fann_get_cascade_num_candidates
fann_get_cascade_output_stagnation_epochs
Fann Funciones
PHP Manual

fann_get_cascade_output_change_fraction

(PECL fann >= 1.0.0)

fann_get_cascade_output_change_fraction — Returns the cascade output change fraction

Descripción

float fann_get_cascade_output_change_fraction ( resource $ann )

The cascade output change fraction is a number between 0 and 1 determining how large a fraction of the fann_get_MSE() value should change within fann_get_cascade_output_stagnation_epochs() during training of the output connections, in order for the training not to stagnate. If the training stagnates, the training of the output connections will be ended and new candidates will be prepared.

It means that if the MSE does not change by a fraction of fann_get_cascade_output_change_fraction() during a period of fann_get_cascade_output_stagnation_epochs(), the training of the output connections is stopped because the training has stagnated.

If the cascade output change fraction is low, the output connections will be trained more and if the fraction is high, they will be trained less.

The default cascade output change fraction is 0.01, which is equalent to a 1% change in MSE.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The cascade output change fraction, or FALSE on error.

Ver también

  • fann_set_cascade_output_change_fraction() - Sets the cascade output change fraction
  • fann_get_MSE() - Reads the mean square error from the network
  • fann_get_cascade_output_stagnation_epochs() - Returns the number of cascade output stagnation epochs

fann_get_cascade_num_candidates
fann_get_cascade_output_stagnation_epochs
Fann Funciones


Returns the number of cascade output stagnation epochs

fann_get_cascade_output_change_fraction
fann_get_cascade_weight_multiplier
Fann Funciones
PHP Manual

fann_get_cascade_output_stagnation_epochs

(PECL fann >= 1.0.0)

fann_get_cascade_output_stagnation_epochs — Returns the number of cascade output stagnation epochs

Descripción

int fann_get_cascade_output_stagnation_epochs ( resource $ann )

The number of cascade output stagnation epochs determines the number of epochs training is allowed to continue without changing the MSE by a fraction of fann_get_cascade_output_change_fraction().

See more info about this parameter in fann_get_cascade_output_change_fraction().

The default number of cascade output stagnation epochs is 12.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The number of cascade output stagnation epochs, or FALSE on error.

Ver también

  • fann_set_cascade_output_stagnation_epochs() - Sets the number of cascade output stagnation epochs
  • fann_get_cascade_output_change_fraction() - Returns the cascade output change fraction

fann_get_cascade_output_change_fraction
fann_get_cascade_weight_multiplier
Fann Funciones


Returns the weight multiplier

fann_get_cascade_output_stagnation_epochs
fann_get_connection_array
Fann Funciones
PHP Manual

fann_get_cascade_weight_multiplier

(PECL fann >= 1.0.0)

fann_get_cascade_weight_multiplier — Returns the weight multiplier

Descripción

float fann_get_cascade_weight_multiplier ( resource $ann )

The weight multiplier is a parameter which is used to multiply the weights from the candidate neuron before adding the neuron to the neural network. This parameter is usually between 0 and 1, and is used to make the training a bit less aggressive.

The default weight multiplier is 0.4.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The weight multiplier, or FALSE on error.

Ver también

  • fann_set_cascade_weight_multiplier() - Sets the weight multiplier

fann_get_cascade_output_stagnation_epochs
fann_get_connection_array
Fann Funciones


Get connections in the network

fann_get_cascade_weight_multiplier
fann_get_connection_rate
Fann Funciones
PHP Manual

fann_get_connection_array

(PECL fann >= 1.0.0)

fann_get_connection_array — Get connections in the network

Descripción

array fann_get_connection_array ( resource $ann )

Get connections in the network.

Parámetros

ann

resource de red neuronal.

Valores devueltos

An array of connections in the network

fann_get_cascade_weight_multiplier
fann_get_connection_rate
Fann Funciones


Get the connection rate used when the network was created

fann_get_connection_array
fann_get_errno
Fann Funciones
PHP Manual

fann_get_connection_rate

(PECL fann >= 1.0.0)

fann_get_connection_rate — Get the connection rate used when the network was created

Descripción

float fann_get_connection_rate ( resource $ann )

Get the connection rate used when the network was created.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The connection rate used when the network was created, or FALSE on error.

fann_get_connection_array
fann_get_errno
Fann Funciones


Returns the last error number

fann_get_connection_rate
fann_get_errstr
Fann Funciones
PHP Manual

fann_get_errno

(PECL fann >= 1.0.0)

fann_get_errno — Returns the last error number

Descripción

int fann_get_errno ( resource $errdat )

Returns the last error number.

Parámetros

errdat

resource de red neuroanl o resource de datos de entrenamiento de red neuronal.

Valores devueltos

The error number, or FALSE on error.

Ver también

  • fann_reset_errno() - Resets the last error number
  • fann_get_errstr() - Returns the last errstr

fann_get_connection_rate
fann_get_errstr
Fann Funciones


Returns the last errstr

fann_get_errno
fann_get_layer_array
Fann Funciones
PHP Manual

fann_get_errstr

(PECL fann >= 1.0.0)

fann_get_errstr — Returns the last errstr

Descripción

string fann_get_errstr ( resource $errdat )

Returns the last errstr.

Parámetros

errdat

resource de red neuroanl o resource de datos de entrenamiento de red neuronal.

Valores devueltos

The last error string, or FALSE on error.

Ver también

  • fann_reset_errstr() - Resets the last error string
  • fann_get_errno() - Returns the last error number

fann_get_errno
fann_get_layer_array
Fann Funciones


Get the number of neurons in each layer in the network

fann_get_errstr
fann_get_learning_momentum
Fann Funciones
PHP Manual

fann_get_layer_array

(PECL fann >= 1.0.0)

fann_get_layer_array — Get the number of neurons in each layer in the network

Descripción

array fann_get_layer_array ( resource $ann )

Get the number of neurons in each layer in the neural network.

Bias is not included so the layers match the fann_create functions.

Parámetros

ann

resource de red neuronal.

Valores devueltos

An array of numbers of neurons in each leayer

fann_get_errstr
fann_get_learning_momentum
Fann Funciones


Returns the learning momentum

fann_get_layer_array
fann_get_learning_rate
Fann Funciones
PHP Manual

fann_get_learning_momentum

(PECL fann >= 1.0.0)

fann_get_learning_momentum — Returns the learning momentum

Descripción

float fann_get_learning_momentum ( resource $ann )

The learning momentum can be used to speed up FANN_TRAIN_INCREMENTAL training. A too high momentum will however not benefit training. Setting momentum to 0 will be the same as not using the momentum parameter. The recommended value of this parameter is between 0.0 and 1.0.

The default momentum is 0.

Parámetros

ann

resource de red neuronal.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

The learning momentum, or FALSE on error.

Ver también

  • fann_set_learning_momentum() - Sets the learning momentum
  • fann_set_training_algorithm() - Sets the training algorithm

fann_get_layer_array
fann_get_learning_rate
Fann Funciones


Returns the learning rate

fann_get_learning_momentum
fann_get_MSE
Fann Funciones
PHP Manual

fann_get_learning_rate

(PECL fann >= 1.0.0)

fann_get_learning_rate — Returns the learning rate

Descripción

float fann_get_learning_rate ( resource $ann )

The learning rate is used to determine how aggressive training should be for some of the training algorithms (FANN_TRAIN_INCREMENTAL, FANN_TRAIN_BATCH, FANN_TRAIN_QUICKPROP). Do however note that it is not used in FANN_TRAIN_RPROP.

The default learning rate is 0.7.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The learning rate, or FALSE on error.

Ver también

  • fann_set_learning_rate() - Sets the learning rate
  • fann_set_training_algorithm() - Sets the training algorithm

fann_get_learning_momentum
fann_get_MSE
Fann Funciones


Reads the mean square error from the network

fann_get_learning_rate
fann_get_network_type
Fann Funciones
PHP Manual

fann_get_MSE

(PECL fann >= 1.0.0)

fann_get_MSE — Reads the mean square error from the network

Descripción

float fann_get_MSE ( resource $ann )

Reads the mean square error from the network.

Reads the mean square error from the network. This value is calculated during training or testing and can therefore sometimes be a bit off if the weights have been changed since the last calculation of the value.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The mean square error, or FALSE on error.

Ver también

  • fann_test_data() - Test a set of training data and calculates the MSE for the training data

fann_get_learning_rate
fann_get_network_type
Fann Funciones


Get the type of neural network it was created as

fann_get_MSE
fann_get_num_input
Fann Funciones
PHP Manual

fann_get_network_type

(PECL fann >= 1.0.0)

fann_get_network_type — Get the type of neural network it was created as

Descripción

int fann_get_network_type ( resource $ann )

Get the type of neural network it was created as.

Parámetros

ann

resource de red neuronal.

Valores devueltos

Network type constant, or FALSE on error.

fann_get_MSE
fann_get_num_input
Fann Funciones


Get the number of input neurons

fann_get_network_type
fann_get_num_layers
Fann Funciones
PHP Manual

fann_get_num_input

(PECL fann >= 1.0.0)

fann_get_num_input — Get the number of input neurons

Descripción

int fann_get_num_input ( resource $ann )

Get the number of input neurons.

Parámetros

ann

resource de red neuronal.

Valores devueltos

Number of input neurons, or FALSE on error

fann_get_network_type
fann_get_num_layers
Fann Funciones


Get the number of layers in the neural network

fann_get_num_input
fann_get_num_output
Fann Funciones
PHP Manual

fann_get_num_layers

(PECL fann >= 1.0.0)

fann_get_num_layers — Get the number of layers in the neural network

Descripción

int fann_get_num_layers ( resource $ann )

Get the number of layers in the neural network.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The number of leayers in the neural network, or FALSE on error.

fann_get_num_input
fann_get_num_output
Fann Funciones


Get the number of output neurons

fann_get_num_layers
fann_get_quickprop_decay
Fann Funciones
PHP Manual

fann_get_num_output

(PECL fann >= 1.0.0)

fann_get_num_output — Get the number of output neurons

Descripción

int fann_get_num_output ( resource $ann )

Get the number of output neurons.

Parámetros

ann

resource de red neuronal.

Valores devueltos

Number of output neurons, or FALSE on error

fann_get_num_layers
fann_get_quickprop_decay
Fann Funciones


Returns the decay which is a factor that weights should decrease in each iteration during quickprop training

fann_get_num_output
fann_get_quickprop_mu
Fann Funciones
PHP Manual

fann_get_quickprop_decay

(PECL fann >= 1.0.0)

fann_get_quickprop_decay — Returns the decay which is a factor that weights should decrease in each iteration during quickprop training

Descripción

float fann_get_quickprop_decay ( resource $ann )

The decay is a small negative valued number which is a factor that the weights should decrease in each iteration during quickprop training. This is used to make sure that the weights do not become too high during training.

The default decay is -0.0001.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The decay, or FALSE on error.

Ver también

  • fann_set_quickprop_decay() - Sets the quickprop decay factor

fann_get_num_output
fann_get_quickprop_mu
Fann Funciones


Returns the mu factor

fann_get_quickprop_decay
fann_get_rprop_decrease_factor
Fann Funciones
PHP Manual

fann_get_quickprop_mu

(PECL fann >= 1.0.0)

fann_get_quickprop_mu — Returns the mu factor

Descripción

float fann_get_quickprop_mu ( resource $ann )

The mu factor is used to increase and decrease the step-size during quickprop training. The mu factor should always be above 1, since it would otherwise decrease the step-size when it was suppose to increase it.

The default mu factor is 1.75.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The mu factor, or FALSE on error.

Ver también

  • fann_set_quickprop_mu() - Sets the quickprop mu factor

fann_get_quickprop_decay
fann_get_rprop_decrease_factor
Fann Funciones


Returns the increase factor used during RPROP training

fann_get_quickprop_mu
fann_get_rprop_delta_max
Fann Funciones
PHP Manual

fann_get_rprop_decrease_factor

(PECL fann >= 1.0.0)

fann_get_rprop_decrease_factor — Returns the increase factor used during RPROP training

Descripción

float fann_get_rprop_decrease_factor ( resource $ann )

The decrease factor is a value smaller than 1, which is used to decrease the step-size during RPROP training.

The default decrease factor is 0.5.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The decrease factor, or FALSE on error.

Ver también

  • fann_set_rprop_decrease_factor() - Sets the decrease factor used during RPROP training

fann_get_quickprop_mu
fann_get_rprop_delta_max
Fann Funciones


Returns the maximum step-size

fann_get_rprop_decrease_factor
fann_get_rprop_delta_min
Fann Funciones
PHP Manual

fann_get_rprop_delta_max

(PECL fann >= 1.0.0)

fann_get_rprop_delta_max — Returns the maximum step-size

Descripción

float fann_get_rprop_delta_max ( resource $ann )

The maximum step-size is a positive number determining how large the maximum step-size may be.

The default delta max is 50.0.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The maximum step-size, or FALSE on error.

Ver también

  • fann_set_rprop_delta_max() - Sets the maximum step-size
  • fann_get_rprop_delta_min() - Returns the minimum step-size

fann_get_rprop_decrease_factor
fann_get_rprop_delta_min
Fann Funciones


Returns the minimum step-size

fann_get_rprop_delta_max
fann_get_rprop_delta_zero
Fann Funciones
PHP Manual

fann_get_rprop_delta_min

(PECL fann >= 1.0.0)

fann_get_rprop_delta_min — Returns the minimum step-size

Descripción

float fann_get_rprop_delta_min ( resource $ann )

The minimum step-size is a small positive number determining how small the minimum step-size may be.

The default value delta min is 0.0.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The minimum step-size, or FALSE on error.

Ver también

  • fann_set_rprop_delta_min() - Sets the minimum step-size

fann_get_rprop_delta_max
fann_get_rprop_delta_zero
Fann Funciones


Returns the initial step-size

fann_get_rprop_delta_min
fann_get_rprop_increase_factor
Fann Funciones
PHP Manual

fann_get_rprop_delta_zero

(PECL fann >= 1.0.0)

fann_get_rprop_delta_zero — Returns the initial step-size

Descripción

ReturnType fann_get_rprop_delta_zero ( resource $ann )

The initial step-size is a positive number determining the initial step size.

The default delta zero is 0.1.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The initial step-size, or FALSE on error.

Ver también

  • fann_set_rprop_delta_zero() - Sets the initial step-size
  • fann_get_rprop_delta_min() - Returns the minimum step-size
  • fann_get_rprop_delta_max() - Returns the maximum step-size

fann_get_rprop_delta_min
fann_get_rprop_increase_factor
Fann Funciones


Returns the increase factor used during RPROP training

fann_get_rprop_delta_zero
fann_get_sarprop_step_error_shift
Fann Funciones
PHP Manual

fann_get_rprop_increase_factor

(PECL fann >= 1.0.0)

fann_get_rprop_increase_factor — Returns the increase factor used during RPROP training

Descripción

float fann_get_rprop_increase_factor ( resource $ann )

The increase factor is a value larger than 1, which is used to increase the step-size during RPROP training.

The default increase factor is 1.2.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The increase factor, or FALSE on error.

Ver también

  • fann_set_rprop_increase_factor() - Sets the increase factor used during RPROP training

fann_get_rprop_delta_zero
fann_get_sarprop_step_error_shift
Fann Funciones


Returns the sarprop step error shift

fann_get_rprop_increase_factor
fann_get_sarprop_step_error_threshold_factor
Fann Funciones
PHP Manual

fann_get_sarprop_step_error_shift

(PECL fann >= 1.0.0)

fann_get_sarprop_step_error_shift — Returns the sarprop step error shift

Descripción

float fann_get_sarprop_step_error_shift ( resource $ann )

Returns the sarprop step error shift.

The default step error shift is 1.385.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The sarprop step error shift , or FALSE on error.

Ver también

  • fann_set_sarprop_step_error_shift() - Sets the sarprop step error shift

fann_get_rprop_increase_factor
fann_get_sarprop_step_error_threshold_factor
Fann Funciones


Returns the sarprop step error threshold factor

fann_get_sarprop_step_error_shift
fann_get_sarprop_temperature
Fann Funciones
PHP Manual

fann_get_sarprop_step_error_threshold_factor

(PECL fann >= 1.0.0)

fann_get_sarprop_step_error_threshold_factor — Returns the sarprop step error threshold factor

Descripción

float fann_get_sarprop_step_error_threshold_factor ( resource $ann )

The sarprop step error threshold factor.

The default factor is 0.1.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The sarprop step error threshold factor, or FALSE on error.

Ver también

  • fann_set_sarprop_step_error_threshold_factor() - Sets the sarprop step error threshold factor

fann_get_sarprop_step_error_shift
fann_get_sarprop_temperature
Fann Funciones


Returns the sarprop temperature

fann_get_sarprop_step_error_threshold_factor
fann_get_sarprop_weight_decay_shift
Fann Funciones
PHP Manual

fann_get_sarprop_temperature

(PECL fann >= 1.0.0)

fann_get_sarprop_temperature — Returns the sarprop temperature

Descripción

float fann_get_sarprop_temperature ( resource $ann )

Returns the sarprop temperature.

The default temperature is 0.015.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The sarprop temperature, or FALSE on error.

Ver también

  • fann_set_sarprop_temperature() - Sets the sarprop temperature

fann_get_sarprop_step_error_threshold_factor
fann_get_sarprop_weight_decay_shift
Fann Funciones


Returns the sarprop weight decay shift

fann_get_sarprop_temperature
fann_get_total_connections
Fann Funciones
PHP Manual

fann_get_sarprop_weight_decay_shift

(PECL fann >= 1.0.0)

fann_get_sarprop_weight_decay_shift — Returns the sarprop weight decay shift

Descripción

float fann_get_sarprop_weight_decay_shift ( resource $ann )

The sarprop weight decay shift.

The default delta max is -6.644.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The sarprop weight decay shift, or FALSE on error.

Ver también

  • fann_set_sarprop_weight_decay_shift() - Sets the sarprop weight decay shift

fann_get_sarprop_temperature
fann_get_total_connections
Fann Funciones


Get the total number of connections in the entire network

fann_get_sarprop_weight_decay_shift
fann_get_total_neurons
Fann Funciones
PHP Manual

fann_get_total_connections

(PECL fann >= 1.0.0)

fann_get_total_connections — Get the total number of connections in the entire network

Descripción

int fann_get_total_connections ( resource $ann )

Get the total number of connections in the entire network.

Parámetros

ann

resource de red neuronal.

Valores devueltos

Total number of connections in the entire network, or FALSE on error

fann_get_sarprop_weight_decay_shift
fann_get_total_neurons
Fann Funciones


Get the total number of neurons in the entire network

fann_get_total_connections
fann_get_train_error_function
Fann Funciones
PHP Manual

fann_get_total_neurons

(PECL fann >= 1.0.0)

fann_get_total_neurons — Get the total number of neurons in the entire network

Descripción

int fann_get_total_neurons ( resource $ann )

Get the total number of neurons in the entire network. This number does also include the bias neurons, so a 2-4-2 network has 2+4+2 +2(bias) = 10 neurons.

Parámetros

ann

resource de red neuronal.

Valores devueltos

Total number of neurons in the entire network, or FALSE on error.

fann_get_total_connections
fann_get_train_error_function
Fann Funciones


Returns the error function used during training

fann_get_total_neurons
fann_get_train_stop_function
Fann Funciones
PHP Manual

fann_get_train_error_function

(PECL fann >= 1.0.0)

fann_get_train_error_function — Returns the error function used during training

Descripción

int fann_get_train_error_function ( resource $ann )

Returns the error function used during training.

The error functions are described further in error functions constants.

The default error function is FANN_ERRORFUNC_TANH.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The error function constant, or FALSE on error.

Ver también

  • fann_set_train_error_function() - Sets the error function used during training

fann_get_total_neurons
fann_get_train_stop_function
Fann Funciones


Returns the the stop function used during training

fann_get_train_error_function
fann_get_training_algorithm
Fann Funciones
PHP Manual

fann_get_train_stop_function

(PECL fann >= 1.0.0)

fann_get_train_stop_function — Returns the the stop function used during training

Descripción

int fann_get_train_stop_function ( resource $ann )

Returns the the stop function used during training.

The stop functions are described further in stop functions constants.

The default stop function is FANN_STOPFUNC_MSE.

Parámetros

ann

resource de red neuronal.

Valores devueltos

The stop function constant, or FALSE on error.

Ver también

  • fann_set_train_stop_function() - Sets the stop function used during training

fann_get_train_error_function
fann_get_training_algorithm
Fann Funciones


Returns the training algorithm

fann_get_train_stop_function
fann_init_weights
Fann Funciones
PHP Manual

fann_get_training_algorithm

(PECL fann >= 1.0.0)

fann_get_training_algorithm — Returns the training algorithm

Descripción

int fann_get_training_algorithm ( resource $ann )

Returns the training algorithm. This training algorithm is used by fann_train_on_data() and associated functions.

Note that this algorithm is also used during fann_cascadetrain_on_data(), although only FANN_TRAIN_RPROP and FANN_TRAIN_QUICKPROP is allowed during cascade training.

Parámetros

ann

resource de red neuronal.

Valores devueltos

Training algorithm constant, or FALSE on error.

Ver también

  • fann_set_training_algorithm() - Sets the training algorithm

fann_get_train_stop_function
fann_init_weights
Fann Funciones


Initialize the weights using Widrow + Nguyen’s algorithm

fann_get_training_algorithm
fann_length_train_data
Fann Funciones
PHP Manual

fann_init_weights

(PECL fann >= 1.0.0)

fann_init_weights — Initialize the weights using Widrow + Nguyen’s algorithm

Descripción

bool fann_init_weights ( resource $ann , resource $train_data )

Initialize the weights using Widrow + Nguyen’s algorithm.

This function behaves similarly to fann_randomize_weights(). It will use the algorithm developed by Derrick Nguyen and Bernard Widrow to set the weights in such a way as to speed up training. This technique is not always successful, and in some cases can be less efficient than a purely random initialization.

The algorithm requires access to the range of the input data (for example largest and smallest input), and therefore accepts a second argument, data, which is the training data that will be used to train the network.

Parámetros

ann

resource de red neuronal.

train_data

resource de datos de entrenamiento de red neuronal.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_randomize_weights() - Give each connection a random weight between min_weight and max_weight
  • fann_read_train_from_file() - Reads a file that stores training data

fann_get_training_algorithm
fann_length_train_data
Fann Funciones


Returns the number of training patterns in the train data

fann_init_weights
fann_merge_train_data
Fann Funciones
PHP Manual

fann_length_train_data

(PECL fann >= 1.0.0)

fann_length_train_data — Returns the number of training patterns in the train data

Descripción

int fann_length_train_data ( resource $data )

Returns the number of training patterns in the train data resource.

Parámetros

data

resource de datos de entrenamiento de red neuronal.

Valores devueltos

Number of elements in the train data resource, or FALSE on error.

fann_init_weights
fann_merge_train_data
Fann Funciones


Merges the train data

fann_length_train_data
fann_num_input_train_data
Fann Funciones
PHP Manual

fann_merge_train_data

(PECL fann >= 1.0.0)

fann_merge_train_data — Merges the train data

Descripción

resource fann_merge_train_data ( resource $data1 , resource $data2 )

Merges the data from data1 and data2 into a new train data resource.

Parámetros

data1

resource de datos de entrenamiento de red neuronal.

data2

resource de datos de entrenamiento de red neuronal.

Valores devueltos

New merged train data resource, or FALSE on error.

fann_length_train_data
fann_num_input_train_data
Fann Funciones


Returns the number of inputs in each of the training patterns in the train data

fann_merge_train_data
fann_num_output_train_data
Fann Funciones
PHP Manual

fann_num_input_train_data

(PECL fann >= 1.0.0)

fann_num_input_train_data — Returns the number of inputs in each of the training patterns in the train data

Descripción

int fann_num_input_train_data ( resource $data )

Returns the number of inputs in each of the training patterns in the train data resource.

Parámetros

data

resource de datos de entrenamiento de red neuronal.

Valores devueltos

The number of inputs, or FALSE on error.

Ver también

  • fann_length_train_data() - Returns the number of training patterns in the train data
  • fann_num_output_train_data() - Returns the number of outputs in each of the training patterns in the train data

fann_merge_train_data
fann_num_output_train_data
Fann Funciones


Returns the number of outputs in each of the training patterns in the train data

fann_num_input_train_data
fann_print_error
Fann Funciones
PHP Manual

fann_num_output_train_data

(PECL fann >= 1.0.0)

fann_num_output_train_data — Returns the number of outputs in each of the training patterns in the train data

Descripción

int fann_num_output_train_data ( resource $data )

Returns the number of outputs in each of the training patterns in the train data resource.

Parámetros

data

resource de datos de entrenamiento de red neuronal.

Valores devueltos

The number of outputs, or FALSE on error.

Ver también

  • fann_length_train_data() - Returns the number of training patterns in the train data
  • fann_num_input_train_data() - Returns the number of inputs in each of the training patterns in the train data

fann_num_input_train_data
fann_print_error
Fann Funciones


Prints the error string

fann_num_output_train_data
fann_randomize_weights
Fann Funciones
PHP Manual

fann_print_error

(PECL fann >= 1.0.0)

fann_print_error — Prints the error string

Descripción

void fann_print_error ( string $errdat )

Prints the error string.

Parámetros

errdat

resource de red neuroanl o resource de datos de entrenamiento de red neuronal.

Valores devueltos

No se devuelve ningún valor.

Ver también

  • fann_get_errstr() - Returns the last errstr

fann_num_output_train_data
fann_randomize_weights
Fann Funciones


Give each connection a random weight between min_weight and max_weight

fann_print_error
fann_read_train_from_file
Fann Funciones
PHP Manual

fann_randomize_weights

(PECL fann >= 1.0.0)

fann_randomize_weights — Give each connection a random weight between min_weight and max_weight

Descripción

bool fann_randomize_weights ( resource $ann , float $min_weight , float $max_weight )

Give each connection a random weight between min_weight and max_weight

From the beginning the weights are random between -0.1 and 0.1.

Parámetros

ann

resource de red neuronal.

min_weight

Minimum weight value

max_weight

Maximum weight value

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_init_weights() - Initialize the weights using Widrow + Nguyen’s algorithm

fann_print_error
fann_read_train_from_file
Fann Funciones


Reads a file that stores training data

fann_randomize_weights
fann_reset_errno
Fann Funciones
PHP Manual

fann_read_train_from_file

(PECL fann >= 1.0.0)

fann_read_train_from_file — Reads a file that stores training data

Descripción

resource fann_read_train_from_file ( string $filename )

Reads a file that stores training data.

Parámetros

filename

The input file in the following format:

num_train_data num_input num_output
inputdata seperated by space
outputdata seperated by space

.
.
.

inputdata seperated by space
outputdata seperated by space

Valores devueltos

Devueve un resource de datos de entrenamiento en caso de éxito, o FALSE en caso de error.

Ejemplos

Ejemplo #1 fann_read_train_from_file() example

<?php
$train_data = fann_read_train_from_file("xor.data");
if ($train_data) {
    // Do something with $train_data for XOR function
}
?>

Contents of xor.data

4 2 1
-1 -1
-1
-1 1
1
1 -1
1
1 1
-1

Ver también

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_destroy_train() - Destructs the training data
  • fann_save_train() - Save the training structure to a file

fann_randomize_weights
fann_reset_errno
Fann Funciones


Resets the last error number

fann_read_train_from_file
fann_reset_errstr
Fann Funciones
PHP Manual

fann_reset_errno

(PECL fann >= 1.0.0)

fann_reset_errno — Resets the last error number

Descripción

void fann_reset_errno ( resource $errdat )

Resets the last error number.

Parámetros

errdat

resource de red neuroanl o resource de datos de entrenamiento de red neuronal.

Valores devueltos

No se devuelve ningún valor.

Ver también

  • fann_get_errno() - Returns the last error number
  • fann_reset_errstr() - Resets the last error string

fann_read_train_from_file
fann_reset_errstr
Fann Funciones


Resets the last error string

fann_reset_errno
fann_reset_MSE
Fann Funciones
PHP Manual

fann_reset_errstr

(PECL fann >= 1.0.0)

fann_reset_errstr — Resets the last error string

Descripción

void fann_reset_errstr ( resource $errdat )

Resets the last error string.

Parámetros

errdat

resource de red neuroanl o resource de datos de entrenamiento de red neuronal.

Valores devueltos

No se devuelve ningún valor.

Ver también

  • fann_get_errstr() - Returns the last errstr
  • fann_reset_errno() - Resets the last error number

fann_reset_errno
fann_reset_MSE
Fann Funciones


Resets the mean square error from the network

fann_reset_errstr
fann_run
Fann Funciones
PHP Manual

fann_reset_MSE

(PECL fann >= 1.0.0)

fann_reset_MSE — Resets the mean square error from the network

Descripción

bool fann_reset_MSE ( string $ann )

Resets the mean square error from the network.

This function also resets the number of bits that fail.

Parámetros

ann

resource de red neuronal.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_MSE() - Reads the mean square error from the network
  • fann_get_bit_fail() - The number of fail bits
  • fann_get_bit_fail_limit() - Returns the bit fail limit used during training

fann_reset_errstr
fann_run
Fann Funciones


Will run input through the neural network

fann_reset_MSE
fann_save_train
Fann Funciones
PHP Manual

fann_run

(PECL fann >= 1.0.0)

fann_run — Will run input through the neural network

Descripción

array fann_run ( resource $ann , array $input )

Will run input through the neural network, returning an array of outputs, the number of which being equal to the number of neurons in the output layer.

Parámetros

ann

resource de red neuronal.

input

Array of input values

Valores devueltos

Array of output values, or FALSE on error

fann_reset_MSE
fann_save_train
Fann Funciones


Save the training structure to a file

fann_run
fann_save
Fann Funciones
PHP Manual

fann_save_train

(PECL fann >= 1.0.0)

fann_save_train — Save the training structure to a file

Descripción

bool fann_save_train ( resource $data , string $file_name )

Save the training data to a file, with the format as specified in fann_read_train_from_file().

Parámetros

data

resource de datos de entrenamiento de red neuronal.

file_name

The file name of the file where training data is saved to.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_read_train_from_file() - Reads a file that stores training data

fann_run
fann_save
Fann Funciones


Saves the entire network to a configuration file

fann_save_train
fann_scale_input_train_data
Fann Funciones
PHP Manual

fann_save

(PECL fann >= 1.0.0)

fann_save — Saves the entire network to a configuration file

Descripción

bool fann_save ( resource $ann , string $configuration_file )

Saves the entire network to a configuration file.

The configuration file contains all information about the neural network and enables fann_create_from_file() to create an exact copy of the neural network and all of the parameters associated with the neural network.

These three parameters ( fann_set_callback(), fann_set_error_log(), fann_set_user_data()) are NOT saved to the file because they cannot safely be ported to a different location. Also temporary parameters generated during training like fann_get_MSE() is not saved.

Parámetros

ann

resource de red neuronal.

configuration_file

The configuration file path.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_create_from_file() - Constructs a backpropagation neural network from a configuration file

fann_save_train
fann_scale_input_train_data
Fann Funciones


Scales the inputs in the training data to the specified range

fann_save
fann_scale_input
Fann Funciones
PHP Manual

fann_scale_input_train_data

(PECL fann >= 1.0.0)

fann_scale_input_train_data — Scales the inputs in the training data to the specified range

Descripción

bool fann_scale_input_train_data ( resource $train_data , float $new_min , float $new_max )

Scales the inputs in the training data to the specified range.

Parámetros

train_data

resource de datos de entrenamiento de red neuronal.

new_min

New minimum after scaling inputs in training data.

new_max

New maximum after scaling inputs in training data.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_scale_output_train_data() - Scales the outputs in the training data to the specified range
  • fann_scale_train_data() - Scales the inputs and outputs in the training data to the specified range

fann_save
fann_scale_input
Fann Funciones


Scale data in input vector before feed it to ann based on previously calculated parameters

fann_scale_input_train_data
fann_scale_output_train_data
Fann Funciones
PHP Manual

fann_scale_input

(PECL fann >= 1.0.0)

fann_scale_input — Scale data in input vector before feed it to ann based on previously calculated parameters

Descripción

bool fann_scale_input ( resource $ann , array $input_vector )

Scale data in input vector before feed it to ann based on previously calculated parameters.

Parámetros

ann

resource de red neuronal.

input_vector

Input vector that will be scaled

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_descale_input() - Scale data in input vector after get it from ann based on previously calculated parameters
  • fann_scale_output() - Scale data in output vector before feed it to ann based on previously calculated parameters

fann_scale_input_train_data
fann_scale_output_train_data
Fann Funciones


Scales the outputs in the training data to the specified range

fann_scale_input
fann_scale_output
Fann Funciones
PHP Manual

fann_scale_output_train_data

(PECL fann >= 1.0.0)

fann_scale_output_train_data — Scales the outputs in the training data to the specified range

Descripción

bool fann_scale_output_train_data ( resource $train_data , float $new_min , float $new_max )

Scales the outputs in the training data to the specified range.

Parámetros

train_data

resource de datos de entrenamiento de red neuronal.

new_min

New minimum after scaling outputs in training data.

new_max

New maximum after scaling outputs in training data.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_scale_input_train_data() - Scales the inputs in the training data to the specified range
  • fann_scale_train_data() - Scales the inputs and outputs in the training data to the specified range

fann_scale_input
fann_scale_output
Fann Funciones


Scale data in output vector before feed it to ann based on previously calculated parameters

fann_scale_output_train_data
fann_scale_train_data
Fann Funciones
PHP Manual

fann_scale_output

(PECL fann >= 1.0.0)

fann_scale_output — Scale data in output vector before feed it to ann based on previously calculated parameters

Descripción

bool fann_scale_output ( resource $ann , array $output_vector )

Scale data in output vector before feed it to ann based on previously calculated parameters.

Parámetros

ann

resource de red neuronal.

output_vector

Output vector that will be scaled

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_descale_output() - Scale data in output vector after get it from ann based on previously calculated parameters
  • fann_scale_input() - Scale data in input vector before feed it to ann based on previously calculated parameters

fann_scale_output_train_data
fann_scale_train_data
Fann Funciones


Scales the inputs and outputs in the training data to the specified range

fann_scale_output
fann_scale_train
Fann Funciones
PHP Manual

fann_scale_train_data

(PECL fann >= 1.0.0)

fann_scale_train_data — Scales the inputs and outputs in the training data to the specified range

Descripción

bool fann_scale_train_data ( resource $train_data , float $new_min , float $new_max )

Scales the inputs and outputs in the training data to the specified range.

Parámetros

train_data

resource de datos de entrenamiento de red neuronal.

new_min

New minimum after scaling inputs and outputs in training data.

new_max

New maximum after scaling inputs and outputs in training data.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_scale_output_train_data() - Scales the outputs in the training data to the specified range
  • fann_scale_input_train_data() - Scales the inputs in the training data to the specified range

fann_scale_output
fann_scale_train
Fann Funciones


Scale input and output data based on previously calculated parameters

fann_scale_train_data
fann_set_activation_function_hidden
Fann Funciones
PHP Manual

fann_scale_train

(PECL fann >= 1.0.0)

fann_scale_train — Scale input and output data based on previously calculated parameters

Descripción

bool fann_scale_train ( resource $ann , resource $train_data )

Scale input and output data based on previously calculated parameters.

Parámetros

ann

resource de red neuronal.

train_data

resource de datos de entrenamiento de red neuronal.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_descale_train() - Descale input and output data based on previously calculated parameters
  • fann_set_scaling_params() - Calculate input and output scaling parameters for future use based on training data

fann_scale_train_data
fann_set_activation_function_hidden
Fann Funciones


Sets the activation function for all of the hidden layers

fann_scale_train
fann_set_activation_function_layer
Fann Funciones
PHP Manual

fann_set_activation_function_hidden

(PECL fann >= 1.0.0)

fann_set_activation_function_hidden — Sets the activation function for all of the hidden layers

Descripción

bool fann_set_activation_function_hidden ( resource $ann , int $activation_function )

Sets the activation function for all of the hidden layers.

Parámetros

ann

resource de red neuronal.

activation_function

The activation functions constant.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer
  • fann_set_activation_function_layer() - Sets the activation function for all the neurons in the supplied layer.
  • fann_set_activation_function_output() - Sets the activation function for the output layer
  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number

fann_scale_train
fann_set_activation_function_layer
Fann Funciones


Sets the activation function for all the neurons in the supplied layer.

fann_set_activation_function_hidden
fann_set_activation_function_output
Fann Funciones
PHP Manual

fann_set_activation_function_layer

(PECL fann >= 1.0.0)

fann_set_activation_function_layer — Sets the activation function for all the neurons in the supplied layer.

Descripción

bool fann_set_activation_function_layer ( resource $ann , int $activation_function , int $layer )

Set the activation function for all the neurons in the layer number layer, counting the input layer as layer 0.

It is not possible to set activation functions for the neurons in the input layer.

Parámetros

ann

resource de red neuronal.

activation_function

The activation functions constant.

layer

Layer number.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer
  • fann_set_activation_function_hidden() - Sets the activation function for all of the hidden layers
  • fann_set_activation_function_output() - Sets the activation function for the output layer
  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number

fann_set_activation_function_hidden
fann_set_activation_function_output
Fann Funciones


Sets the activation function for the output layer

fann_set_activation_function_layer
fann_set_activation_function
Fann Funciones
PHP Manual

fann_set_activation_function_output

(PECL fann >= 1.0.0)

fann_set_activation_function_output — Sets the activation function for the output layer

Descripción

bool fann_set_activation_function_output ( resource $ann , int $activation_function )

Sets the activation function for the output layer.

Parámetros

ann

resource de red neuronal.

activation_function

The activation functions constant.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer
  • fann_set_activation_function_layer() - Sets the activation function for all the neurons in the supplied layer.
  • fann_set_activation_function_hidden() - Sets the activation function for all of the hidden layers
  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number

fann_set_activation_function_layer
fann_set_activation_function
Fann Funciones


Sets the activation function for supplied neuron and layer

fann_set_activation_function_output
fann_set_activation_steepness_hidden
Fann Funciones
PHP Manual

fann_set_activation_function

(PECL fann >= 1.0.0)

fann_set_activation_function — Sets the activation function for supplied neuron and layer

Descripción

bool fann_set_activation_function ( resource $ann , int $activation_function , int $layer , int $neuron )

Set the activation function for neuron number neuron in layer number layer, counting the input layer as layer 0.

It is not possible to set activation functions for the neurons in the input layer.

When choosing an activation function it is important to note that the activation functions have different range. FANN_SIGMOID is e.g. in the 0 - 1 range while FANN_SIGMOID_SYMMETRIC is in the -1 - 1 range and FANN_LINEAR is unbound.

The supplied activation_function value must be one of the activation functions constants.

The return value is one of the activation functions constants.

Parámetros

ann

resource de red neuronal.

activation_function

The activation functions constant.

layer

Layer number.

neuron

Neuron number.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_set_activation_function_layer() - Sets the activation function for all the neurons in the supplied layer.
  • fann_set_activation_function_hidden() - Sets the activation function for all of the hidden layers
  • fann_set_activation_function_output() - Sets the activation function for the output layer
  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number
  • fann_get_activation_function() - Returns the activation function

fann_set_activation_function_output
fann_set_activation_steepness_hidden
Fann Funciones


Sets the steepness of the activation steepness for all neurons in the all hidden layers

fann_set_activation_function
fann_set_activation_steepness_layer
Fann Funciones
PHP Manual

fann_set_activation_steepness_hidden

(PECL fann >= 1.0.0)

fann_set_activation_steepness_hidden — Sets the steepness of the activation steepness for all neurons in the all hidden layers

Descripción

bool fann_set_activation_steepness_hidden ( resource $ann , float $activation_steepness )

Sets the steepness of the activation steepness for all neurons in the all hidden layers.

Parámetros

ann

resource de red neuronal.

activation_steepness

The activation steepness.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number
  • fann_set_activation_steepness_layer() - Sets the activation steepness for all of the neurons in the supplied layer number
  • fann_set_activation_steepness_output() - Sets the steepness of the activation steepness in the output layer
  • fann_get_activation_steepness() - Returns the activation steepness for supplied neuron and layer number
  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer

fann_set_activation_function
fann_set_activation_steepness_layer
Fann Funciones


Sets the activation steepness for all of the neurons in the supplied layer number

fann_set_activation_steepness_hidden
fann_set_activation_steepness_output
Fann Funciones
PHP Manual

fann_set_activation_steepness_layer

(PECL fann >= 1.0.0)

fann_set_activation_steepness_layer — Sets the activation steepness for all of the neurons in the supplied layer number

Descripción

bool fann_set_activation_steepness_layer ( resource $ann , float $activation_steepness , int $layer )

Set the activation steepness for all of the neurons in layer number layer, counting the input layer as layer 0.

It is not possible to set activation steepness for the neurons in the input layer.

Parámetros

ann

resource de red neuronal.

activation_steepness

The activation steepness.

layer

Layer number.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number
  • fann_set_activation_steepness_hidden() - Sets the steepness of the activation steepness for all neurons in the all hidden layers
  • fann_set_activation_steepness_output() - Sets the steepness of the activation steepness in the output layer
  • fann_get_activation_steepness() - Returns the activation steepness for supplied neuron and layer number
  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer

fann_set_activation_steepness_hidden
fann_set_activation_steepness_output
Fann Funciones


Sets the steepness of the activation steepness in the output layer

fann_set_activation_steepness_layer
fann_set_activation_steepness
Fann Funciones
PHP Manual

fann_set_activation_steepness_output

(PECL fann >= 1.0.0)

fann_set_activation_steepness_output — Sets the steepness of the activation steepness in the output layer

Descripción

bool fann_set_activation_steepness_output ( resource $ann , float $activation_steepness )

Sets the steepness of the activation steepness in the output layer.

Parámetros

ann

resource de red neuronal.

activation_steepness

The activation steepness.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number
  • fann_set_activation_steepness_layer() - Sets the activation steepness for all of the neurons in the supplied layer number
  • fann_set_activation_steepness_hidden() - Sets the steepness of the activation steepness for all neurons in the all hidden layers
  • fann_get_activation_steepness() - Returns the activation steepness for supplied neuron and layer number
  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer

fann_set_activation_steepness_layer
fann_set_activation_steepness
Fann Funciones


Sets the activation steepness for supplied neuron and layer number

fann_set_activation_steepness_output
fann_set_bit_fail_limit
Fann Funciones
PHP Manual

fann_set_activation_steepness

(PECL fann >= 1.0.0)

fann_set_activation_steepness — Sets the activation steepness for supplied neuron and layer number

Descripción

bool fann_set_activation_steepness ( resource $ann , float $activation_steepness , int $layer , int $neuron )

Set the activation steepness for neuron number neuron in layer number layer, counting the input layer as layer 0.

It is not possible to set activation steepness for the neurons in the input layer.

The steepness of an activation function says something about how fast the activation function goes from the minimum to the maximum. A high value for the activation function will also give a more agressive training.

When training neural networks where the output values should be at the extremes (usually 0 and 1, depending on the activation function), a steep activation function can be used (e.g. 1.0).

The default activation steepness is 0.5.

Parámetros

ann

resource de red neuronal.

activation_steepness

The activation steepness.

layer

Layer number.

neuron

Neuron number.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_set_activation_steepness_layer() - Sets the activation steepness for all of the neurons in the supplied layer number
  • fann_set_activation_steepness_hidden() - Sets the steepness of the activation steepness for all neurons in the all hidden layers
  • fann_set_activation_steepness_output() - Sets the steepness of the activation steepness in the output layer
  • fann_get_activation_steepness() - Returns the activation steepness for supplied neuron and layer number
  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer

fann_set_activation_steepness_output
fann_set_bit_fail_limit
Fann Funciones


Set the bit fail limit used during training

fann_set_activation_steepness
fann_set_callback
Fann Funciones
PHP Manual

fann_set_bit_fail_limit

(PECL fann >= 1.0.0)

fann_set_bit_fail_limit — Set the bit fail limit used during training

Descripción

bool fann_set_bit_fail_limit ( resource $ann , float $bit_fail_limit )

Set the bit fail limit used during training.

Parámetros

ann

resource de red neuronal.

bit_fail_limit

The bit fail limit.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_bit_fail_limit() - Returns the bit fail limit used during training

fann_set_activation_steepness
fann_set_callback
Fann Funciones


Sets the callback function for use during training

fann_set_bit_fail_limit
fann_set_cascade_activation_functions
Fann Funciones
PHP Manual

fann_set_callback

(PECL fann >= 1.0.0)

fann_set_callback — Sets the callback function for use during training

Descripción

bool fann_set_callback ( resource $ann , collable $callback )

Sets the callback function for use during training. It means that it is called from fann_train_on_data() or fann_train_on_file().

Parámetros

ann

resource de red neuronal.

callback

The supplied callback function takes following parameters:

  • ann - The neural network resource
  • train - The train data resource or NULL if called from fann_train_on_file()
  • max_epochs - The maximum number of epochs the training should continue
  • epochs_between_reports - The number of epochs between calling this function
  • desired_error - The desired fann_get_MSE() or fann_get_bit_fail(), depending on the stop function chosen by fann_set_train_stop_function()
  • epochs - The current epoch

The callback should return TRUE. If it returns FALSE, the training will terminate.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_train_on_file() - Trains on an entire dataset, which is read from file, for a period of time

fann_set_bit_fail_limit
fann_set_cascade_activation_functions
Fann Funciones


Sets the array of cascade candidate activation functions

fann_set_callback
fann_set_cascade_activation_steepnesses
Fann Funciones
PHP Manual

fann_set_cascade_activation_functions

(PECL fann >= 1.0.0)

fann_set_cascade_activation_functions — Sets the array of cascade candidate activation functions

Descripción

bool fann_set_cascade_activation_functions ( resource $ann , array $cascade_activation_functions )

Sets the array of cascade candidate activation functions.

See fann_get_cascade_num_candidates() for a description of which candidate neurons will be generated by this array.

Parámetros

ann

resource de red neuronal.

cascade_activation_functions

The array of cascade candidate activation functions.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_cascade_activation_functions_count() - Returns the number of cascade activation functions
  • fann_set_cascade_activation_functions()

fann_set_callback
fann_set_cascade_activation_steepnesses
Fann Funciones


Sets the array of cascade candidate activation steepnesses

fann_set_cascade_activation_functions
fann_set_cascade_candidate_change_fraction
Fann Funciones
PHP Manual

fann_set_cascade_activation_steepnesses

(PECL fann >= 1.0.0)

fann_set_cascade_activation_steepnesses — Sets the array of cascade candidate activation steepnesses

Descripción

bool fann_set_cascade_activation_steepnesses ( resource $ann , array $cascade_activation_steepnesses_count )

Sets the array of cascade candidate activation steepnesses.

See fann_get_cascade_num_candidates() for a description of which candidate neurons will be generated by this array.

Parámetros

ann

resource de red neuronal.

cascade_activation_steepnesses_count

The array of cascade candidate activation steepnesses.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_cascade_activation_steepnesses() - Returns the cascade activation steepnesses
  • fann_get_cascade_activation_steepnesses_count() - The number of activation steepnesses

fann_set_cascade_activation_functions
fann_set_cascade_candidate_change_fraction
Fann Funciones


Sets the cascade candidate change fraction

fann_set_cascade_activation_steepnesses
fann_set_cascade_candidate_limit
Fann Funciones
PHP Manual

fann_set_cascade_candidate_change_fraction

(PECL fann >= 1.0.0)

fann_set_cascade_candidate_change_fraction — Sets the cascade candidate change fraction

Descripción

bool fann_set_cascade_candidate_change_fraction ( resource $ann , float $cascade_candidate_change_fraction )

Sets the cascade candidate change fraction.

Parámetros

ann

resource de red neuronal.

cascade_candidate_change_fraction

The cascade candidate change fraction.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_cascade_candidate_change_fraction() - Returns the cascade candidate change fraction

fann_set_cascade_activation_steepnesses
fann_set_cascade_candidate_limit
Fann Funciones


Sets the candidate limit

fann_set_cascade_candidate_change_fraction
fann_set_cascade_candidate_stagnation_epochs
Fann Funciones
PHP Manual

fann_set_cascade_candidate_limit

(PECL fann >= 1.0.0)

fann_set_cascade_candidate_limit — Sets the candidate limit

Descripción

bool fann_set_cascade_candidate_limit ( resource $ann , float $cascade_candidate_limit )

Sets the candidate limit.

Parámetros

ann

resource de red neuronal.

cascade_candidate_limit

The candidate limit.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_cascade_candidate_limit() - Return the candidate limit

fann_set_cascade_candidate_change_fraction
fann_set_cascade_candidate_stagnation_epochs
Fann Funciones


Sets the number of cascade candidate stagnation epochs

fann_set_cascade_candidate_limit
fann_set_cascade_max_cand_epochs
Fann Funciones
PHP Manual

fann_set_cascade_candidate_stagnation_epochs

(PECL fann >= 1.0.0)

fann_set_cascade_candidate_stagnation_epochs — Sets the number of cascade candidate stagnation epochs

Descripción

bool fann_set_cascade_candidate_stagnation_epochs ( resource $ann , int $cascade_candidate_stagnation_epochs )

Sets the number of cascade candidate stagnation epochs.

Parámetros

ann

resource de red neuronal.

cascade_candidate_stagnation_epochs

The number of cascade candidate stagnation epochs.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_cascade_candidate_stagnation_epochs() - Returns the number of cascade candidate stagnation epochs

fann_set_cascade_candidate_limit
fann_set_cascade_max_cand_epochs
Fann Funciones


Sets the max candidate epochs

fann_set_cascade_candidate_stagnation_epochs
fann_set_cascade_max_out_epochs
Fann Funciones
PHP Manual

fann_set_cascade_max_cand_epochs

(PECL fann >= 1.0.0)

fann_set_cascade_max_cand_epochs — Sets the max candidate epochs

Descripción

bool fann_set_cascade_max_cand_epochs ( resource $ann , int $cascade_max_cand_epochs )

Sets the max candidate epochs.

Parámetros

ann

resource de red neuronal.

cascade_max_cand_epochs

The max candidate epochs.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_cascade_max_cand_epochs() - Returns the maximum candidate epochs

fann_set_cascade_candidate_stagnation_epochs
fann_set_cascade_max_out_epochs
Fann Funciones


Sets the maximum out epochs

fann_set_cascade_max_cand_epochs
fann_set_cascade_min_cand_epochs
Fann Funciones
PHP Manual

fann_set_cascade_max_out_epochs

(PECL fann >= 1.0.0)

fann_set_cascade_max_out_epochs — Sets the maximum out epochs

Descripción

bool fann_set_cascade_max_out_epochs ( resource $ann , int $cascade_max_out_epochs )

Sets the maximum out epochs.

Parámetros

ann

resource de red neuronal.

cascade_max_out_epochs

The maximum out epochs.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_cascade_max_out_epochs() - Returns the maximum out epochs

fann_set_cascade_max_cand_epochs
fann_set_cascade_min_cand_epochs
Fann Funciones


Sets the min candidate epochs

fann_set_cascade_max_out_epochs
fann_set_cascade_min_out_epochs
Fann Funciones
PHP Manual

fann_set_cascade_min_cand_epochs

(PECL fann >= 1.0.0)

fann_set_cascade_min_cand_epochs — Sets the min candidate epochs

Descripción

bool fann_set_cascade_min_cand_epochs ( resource $ann , int $cascade_min_cand_epochs )

Sets the min candidate epochs.

Parámetros

ann

resource de red neuronal.

cascade_min_cand_epochs

The minimum candidate epochs.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_cascade_min_cand_epochs() - Returns the minimum candidate epochs

fann_set_cascade_max_out_epochs
fann_set_cascade_min_out_epochs
Fann Funciones


Sets the minimum out epochs

fann_set_cascade_min_cand_epochs
fann_set_cascade_num_candidate_groups
Fann Funciones
PHP Manual

fann_set_cascade_min_out_epochs

(PECL fann >= 1.0.0)

fann_set_cascade_min_out_epochs — Sets the minimum out epochs

Descripción

bool fann_set_cascade_min_out_epochs ( resource $ann , int $cascade_min_out_epochs )

Sets the minimum out epochs.

Parámetros

ann

resource de red neuronal.

cascade_min_out_epochs

The minimum out epochs.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_cascade_min_out_epochs() - Returns the minimum out epochs

fann_set_cascade_min_cand_epochs
fann_set_cascade_num_candidate_groups
Fann Funciones


Sets the number of candidate groups

fann_set_cascade_min_out_epochs
fann_set_cascade_output_change_fraction
Fann Funciones
PHP Manual

fann_set_cascade_num_candidate_groups

(PECL fann >= 1.0.0)

fann_set_cascade_num_candidate_groups — Sets the number of candidate groups

Descripción

bool fann_set_cascade_num_candidate_groups ( resource $ann , int $cascade_num_candidate_groups )

Sets the number of candidate groups.

Parámetros

ann

resource de red neuronal.

cascade_num_candidate_groups

The number of candidate groups.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_cascade_num_candidate_groups() - Returns the number of candidate groups

fann_set_cascade_min_out_epochs
fann_set_cascade_output_change_fraction
Fann Funciones


Sets the cascade output change fraction

fann_set_cascade_num_candidate_groups
fann_set_cascade_output_stagnation_epochs
Fann Funciones
PHP Manual

fann_set_cascade_output_change_fraction

(PECL fann >= 1.0.0)

fann_set_cascade_output_change_fraction — Sets the cascade output change fraction

Descripción

bool fann_set_cascade_output_change_fraction ( resource $ann , float $cascade_output_change_fraction )

Sets the cascade output change fraction.

Parámetros

ann

resource de red neuronal.

cascade_output_change_fraction

The cascade output change fraction.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_cascade_output_change_fraction() - Returns the cascade output change fraction

fann_set_cascade_num_candidate_groups
fann_set_cascade_output_stagnation_epochs
Fann Funciones


Sets the number of cascade output stagnation epochs

fann_set_cascade_output_change_fraction
fann_set_cascade_weight_multiplier
Fann Funciones
PHP Manual

fann_set_cascade_output_stagnation_epochs

(PECL fann >= 1.0.0)

fann_set_cascade_output_stagnation_epochs — Sets the number of cascade output stagnation epochs

Descripción

bool fann_set_cascade_output_stagnation_epochs ( resource $ann , int $cascade_output_stagnation_epochs )

Sets the number of cascade output stagnation epochs.

Parámetros

ann

resource de red neuronal.

cascade_output_stagnation_epochs

The number of cascade output stagnation epochs.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_cascade_output_stagnation_epochs() - Returns the number of cascade output stagnation epochs

fann_set_cascade_output_change_fraction
fann_set_cascade_weight_multiplier
Fann Funciones


Sets the weight multiplier

fann_set_cascade_output_stagnation_epochs
fann_set_error_log
Fann Funciones
PHP Manual

fann_set_cascade_weight_multiplier

(PECL fann >= 1.0.0)

fann_set_cascade_weight_multiplier — Sets the weight multiplier

Descripción

bool fann_set_cascade_weight_multiplier ( resource $ann , float $cascade_weight_multiplier )

Sets the weight multiplier.

Parámetros

ann

resource de red neuronal.

cascade_weight_multiplier

The weight multiplier.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_cascade_weight_multiplier() - Returns the weight multiplier

fann_set_cascade_output_stagnation_epochs
fann_set_error_log
Fann Funciones


Sets where the errors are logged to

fann_set_cascade_weight_multiplier
fann_set_input_scaling_params
Fann Funciones
PHP Manual

fann_set_error_log

(PECL fann >= 1.0.0)

fann_set_error_log — Sets where the errors are logged to

Descripción

void fann_set_error_log ( resource $errdat , string $log_file )

Sets where the errors are logged to.

Parámetros

errdat

resource de red neuroanl o resource de datos de entrenamiento de red neuronal.

log_file

The log file path.

Valores devueltos

No se devuelve ningún valor.

fann_set_cascade_weight_multiplier
fann_set_input_scaling_params
Fann Funciones


Calculate input scaling parameters for future use based on training data

fann_set_error_log
fann_set_learning_momentum
Fann Funciones
PHP Manual

fann_set_input_scaling_params

(PECL fann >= 1.0.0)

fann_set_input_scaling_params — Calculate input scaling parameters for future use based on training data

Descripción

bool fann_set_input_scaling_params ( resource $ann , resource $train_data , float $new_input_min , float $new_input_max )

Calculate input scaling parameters for future use based on training data.

Parámetros

ann

resource de red neuronal.

train_data

resource de datos de entrenamiento de red neuronal.

new_input_min

The desired lower bound in input data after scaling (not strictly followed)

new_input_max

The desired upper bound in input data after scaling (not strictly followed)

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_set_output_scaling_params() - Calculate output scaling parameters for future use based on training data

fann_set_error_log
fann_set_learning_momentum
Fann Funciones


Sets the learning momentum

fann_set_input_scaling_params
fann_set_learning_rate
Fann Funciones
PHP Manual

fann_set_learning_momentum

(PECL fann >= 1.0.0)

fann_set_learning_momentum — Sets the learning momentum

Descripción

bool fann_set_learning_momentum ( resource $ann , float $learning_momentum )

Sets the learning momentum.

More info available in fann_get_learning_momentum().

Parámetros

ann

resource de red neuronal.

learning_momentum

The learning momentum.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_learning_momentum() - Returns the learning momentum
  • fann_set_training_algorithm() - Sets the training algorithm

fann_set_input_scaling_params
fann_set_learning_rate
Fann Funciones


Sets the learning rate

fann_set_learning_momentum
fann_set_output_scaling_params
Fann Funciones
PHP Manual

fann_set_learning_rate

(PECL fann >= 1.0.0)

fann_set_learning_rate — Sets the learning rate

Descripción

bool fann_set_learning_rate ( resource $ann , float $learning_rate )

Sets the learning rate.

More info available in fann_get_learning_rate().

Parámetros

ann

resource de red neuronal.

learning_rate

The learning rate.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_learning_rate() - Returns the learning rate
  • fann_set_training_algorithm() - Sets the training algorithm

fann_set_learning_momentum
fann_set_output_scaling_params
Fann Funciones


Calculate output scaling parameters for future use based on training data

fann_set_learning_rate
fann_set_quickprop_decay
Fann Funciones
PHP Manual

fann_set_output_scaling_params

(PECL fann >= 1.0.0)

fann_set_output_scaling_params — Calculate output scaling parameters for future use based on training data

Descripción

bool fann_set_output_scaling_params ( resource $ann , resource $train_data , float $new_output_min , float $new_output_max )

Calculate output scaling parameters for future use based on training data.

Parámetros

ann

resource de red neuronal.

train_data

resource de datos de entrenamiento de red neuronal.

new_output_min

The desired lower bound in output data after scaling (not strictly followed)

new_output_max

The desired upper bound in output data after scaling (not strictly followed)

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_set_input_scaling_params() - Calculate input scaling parameters for future use based on training data

fann_set_learning_rate
fann_set_quickprop_decay
Fann Funciones


Sets the quickprop decay factor

fann_set_output_scaling_params
fann_set_quickprop_mu
Fann Funciones
PHP Manual

fann_set_quickprop_decay

(PECL fann >= 1.0.0)

fann_set_quickprop_decay — Sets the quickprop decay factor

Descripción

bool fann_set_quickprop_decay ( resource $ann , float $quickprop_decay )

Sets the quickprop decay factor.

Parámetros

ann

resource de red neuronal.

quickprop_decay

The quickprop decay factor.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_quickprop_decay() - Returns the decay which is a factor that weights should decrease in each iteration during quickprop training

fann_set_output_scaling_params
fann_set_quickprop_mu
Fann Funciones


Sets the quickprop mu factor

fann_set_quickprop_decay
fann_set_rprop_decrease_factor
Fann Funciones
PHP Manual

fann_set_quickprop_mu

(PECL fann >= 1.0.0)

fann_set_quickprop_mu — Sets the quickprop mu factor

Descripción

bool fann_set_quickprop_mu ( resource $ann , float $quickprop_mu )

Sets the quickprop mu factor.

Parámetros

ann

resource de red neuronal.

quickprop_mu

The mu factor.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_quickprop_mu() - Returns the mu factor

fann_set_quickprop_decay
fann_set_rprop_decrease_factor
Fann Funciones


Sets the decrease factor used during RPROP training

fann_set_quickprop_mu
fann_set_rprop_delta_max
Fann Funciones
PHP Manual

fann_set_rprop_decrease_factor

(PECL fann >= 1.0.0)

fann_set_rprop_decrease_factor — Sets the decrease factor used during RPROP training

Descripción

bool fann_set_rprop_decrease_factor ( resource $ann , float $rprop_decrease_factor )

Sets the decrease factor used during RPROP training.

Parámetros

ann

resource de red neuronal.

rprop_decrease_factor

The decrease factor.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_rprop_decrease_factor() - Returns the increase factor used during RPROP training

fann_set_quickprop_mu
fann_set_rprop_delta_max
Fann Funciones


Sets the maximum step-size

fann_set_rprop_decrease_factor
fann_set_rprop_delta_min
Fann Funciones
PHP Manual

fann_set_rprop_delta_max

(PECL fann >= 1.0.0)

fann_set_rprop_delta_max — Sets the maximum step-size

Descripción

bool fann_set_rprop_delta_max ( resource $ann , float $rprop_delta_max )

The maximum step-size is a positive number determining how large the maximum step-size may be.

Parámetros

ann

resource de red neuronal.

rprop_delta_max

The maximum step-size.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_rprop_delta_max() - Returns the maximum step-size
  • fann_get_rprop_delta_min() - Returns the minimum step-size

fann_set_rprop_decrease_factor
fann_set_rprop_delta_min
Fann Funciones


Sets the minimum step-size

fann_set_rprop_delta_max
fann_set_rprop_delta_zero
Fann Funciones
PHP Manual

fann_set_rprop_delta_min

(PECL fann >= 1.0.0)

fann_set_rprop_delta_min — Sets the minimum step-size

Descripción

bool fann_set_rprop_delta_min ( resource $ann , float $rprop_delta_min )

The minimum step-size is a small positive number determining how small the minimum step-size may be.

Parámetros

ann

resource de red neuronal.

rprop_delta_min

The minimum step-size.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_rprop_delta_min() - Returns the minimum step-size

fann_set_rprop_delta_max
fann_set_rprop_delta_zero
Fann Funciones


Sets the initial step-size

fann_set_rprop_delta_min
fann_set_rprop_increase_factor
Fann Funciones
PHP Manual

fann_set_rprop_delta_zero

(PECL fann >= 1.0.0)

fann_set_rprop_delta_zero — Sets the initial step-size

Descripción

bool fann_set_rprop_delta_zero ( resource $ann , float $rprop_delta_zero )

The initial step-size is a positive number determining the initial step size.

Parámetros

ann

resource de red neuronal.

rprop_delta_zero

The initial step-size.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_rprop_delta_zero() - Returns the initial step-size
  • fann_get_rprop_delta_min() - Returns the minimum step-size
  • fann_get_rprop_delta_max() - Returns the maximum step-size

fann_set_rprop_delta_min
fann_set_rprop_increase_factor
Fann Funciones


Sets the increase factor used during RPROP training

fann_set_rprop_delta_zero
fann_set_sarprop_step_error_shift
Fann Funciones
PHP Manual

fann_set_rprop_increase_factor

(PECL fann >= 1.0.0)

fann_set_rprop_increase_factor — Sets the increase factor used during RPROP training

Descripción

bool fann_set_rprop_increase_factor ( resource $ann , float $rprop_increase_factor )

Sets the increase factor used during RPROP training.

Parámetros

ann

resource de red neuronal.

rprop_increase_factor

The increase factor.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_rprop_increase_factor() - Returns the increase factor used during RPROP training

fann_set_rprop_delta_zero
fann_set_sarprop_step_error_shift
Fann Funciones


Sets the sarprop step error shift

fann_set_rprop_increase_factor
fann_set_sarprop_step_error_threshold_factor
Fann Funciones
PHP Manual

fann_set_sarprop_step_error_shift

(PECL fann >= 1.0.0)

fann_set_sarprop_step_error_shift — Sets the sarprop step error shift

Descripción

bool fann_set_sarprop_step_error_shift ( resource $ann , float $sarprop_step_error_shift )

Sets the sarprop step error shift.

Parámetros

ann

resource de red neuronal.

sarprop_step_error_shift

The sarprop step error shift.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_sarprop_step_error_shift() - Returns the sarprop step error shift

fann_set_rprop_increase_factor
fann_set_sarprop_step_error_threshold_factor
Fann Funciones


Sets the sarprop step error threshold factor

fann_set_sarprop_step_error_shift
fann_set_sarprop_temperature
Fann Funciones
PHP Manual

fann_set_sarprop_step_error_threshold_factor

(PECL fann >= 1.0.0)

fann_set_sarprop_step_error_threshold_factor — Sets the sarprop step error threshold factor

Descripción

bool fann_set_sarprop_step_error_threshold_factor ( resource $ann , float $sarprop_step_error_threshold_factor )

Sets the sarprop step error threshold factor.

Parámetros

ann

resource de red neuronal.

sarprop_step_error_threshold_factor

The sarprop step error threshold factor.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_sarprop_step_error_threshold_factor() - Returns the sarprop step error threshold factor

fann_set_sarprop_step_error_shift
fann_set_sarprop_temperature
Fann Funciones


Sets the sarprop temperature

fann_set_sarprop_step_error_threshold_factor
fann_set_sarprop_weight_decay_shift
Fann Funciones
PHP Manual

fann_set_sarprop_temperature

(PECL fann >= 1.0.0)

fann_set_sarprop_temperature — Sets the sarprop temperature

Descripción

bool fann_set_sarprop_temperature ( resource $ann , float $sarprop_temperature )

Sets the sarprop temperature.

Parámetros

ann

resource de red neuronal.

sarprop_temperature

The sarprop temperature.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_sarprop_temperature() - Returns the sarprop temperature

fann_set_sarprop_step_error_threshold_factor
fann_set_sarprop_weight_decay_shift
Fann Funciones


Sets the sarprop weight decay shift

fann_set_sarprop_temperature
fann_set_scaling_params
Fann Funciones
PHP Manual

fann_set_sarprop_weight_decay_shift

(PECL fann >= 1.0.0)

fann_set_sarprop_weight_decay_shift — Sets the sarprop weight decay shift

Descripción

bool fann_set_sarprop_weight_decay_shift ( resource $ann , float $sarprop_weight_decay_shift )

Sets the sarprop weight decay shift.

Parámetros

ann

resource de red neuronal.

sarprop_weight_decay_shift

The sarprop weight decay shift.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_sarprop_weight_decay_shift() - Returns the sarprop weight decay shift

fann_set_sarprop_temperature
fann_set_scaling_params
Fann Funciones


Calculate input and output scaling parameters for future use based on training data

fann_set_sarprop_weight_decay_shift
fann_set_train_error_function
Fann Funciones
PHP Manual

fann_set_scaling_params

(PECL fann >= 1.0.0)

fann_set_scaling_params — Calculate input and output scaling parameters for future use based on training data

Descripción

bool fann_set_scaling_params ( resource $ann , resource $train_data , float $new_input_min , float $new_input_max , float $new_output_min , float $new_output_max )

Calculate input and output scaling parameters for future use based on training data.

Parámetros

ann

resource de red neuronal.

train_data

resource de datos de entrenamiento de red neuronal.

new_input_min

The desired lower bound in input data after scaling (not strictly followed)

new_input_max

The desired upper bound in input data after scaling (not strictly followed)

new_output_min

The desired lower bound in output data after scaling (not strictly followed)

new_output_max

The desired upper bound in output data after scaling (not strictly followed)

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_set_input_scaling_params() - Calculate input scaling parameters for future use based on training data
  • fann_set_output_scaling_params() - Calculate output scaling parameters for future use based on training data

fann_set_sarprop_weight_decay_shift
fann_set_train_error_function
Fann Funciones


Sets the error function used during training

fann_set_scaling_params
fann_set_train_stop_function
Fann Funciones
PHP Manual

fann_set_train_error_function

(PECL fann >= 1.0.0)

fann_set_train_error_function — Sets the error function used during training

Descripción

bool fann_set_train_error_function ( resource $ann , int $error_function )

Sets the error function used during training.

The error functions are described further in error functions constants.

Parámetros

ann

resource de red neuronal.

error_function

The error function constant

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_train_error_function() - Returns the error function used during training

fann_set_scaling_params
fann_set_train_stop_function
Fann Funciones


Sets the stop function used during training

fann_set_train_error_function
fann_set_training_algorithm
Fann Funciones
PHP Manual

fann_set_train_stop_function

(PECL fann >= 1.0.0)

fann_set_train_stop_function — Sets the stop function used during training

Descripción

bool fann_set_train_stop_function ( resource $ann , int $stop_function )

Sets the stop function used during training.

The stop functions are described further in stop functions constants.

Parámetros

ann

resource de red neuronal.

stop_function

The stop function constant.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_train_stop_function() - Returns the the stop function used during training

fann_set_train_error_function
fann_set_training_algorithm
Fann Funciones


Sets the training algorithm

fann_set_train_stop_function
fann_set_weight_array
Fann Funciones
PHP Manual

fann_set_training_algorithm

(PECL fann >= 1.0.0)

fann_set_training_algorithm — Sets the training algorithm

Descripción

bool fann_set_training_algorithm ( resource $ann , int $training_algorithm )

Sets the training algorithm.

More info available in fann_get_training_algorithm().

Parámetros

ann

resource de red neuronal.

training_algorithm

Training algorithm constant

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_get_training_algorithm() - Returns the training algorithm

fann_set_train_stop_function
fann_set_weight_array
Fann Funciones


Set connections in the network

fann_set_training_algorithm
fann_set_weight
Fann Funciones
PHP Manual

fann_set_weight_array

(PECL fann >= 1.0.0)

fann_set_weight_array — Set connections in the network

Descripción

bool fann_set_weight_array ( resource $ann , array $connections )

Set connections in the network.

Only the weights can be changed, connections and weights are ignored if they do not already exist in the network.

Parámetros

ann

resource de red neuronal.

connections

An array of FANNConnection objects

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

fann_set_training_algorithm
fann_set_weight
Fann Funciones


Set a connection in the network

fann_set_weight_array
fann_shuffle_train_data
Fann Funciones
PHP Manual

fann_set_weight

(PECL fann >= 1.0.0)

fann_set_weight — Set a connection in the network

Descripción

bool fann_set_weight ( resource $ann , int $from_neuron , int $to_neuron , float $weight )

Set a connections in the network.

Parámetros

ann

resource de red neuronal.

from_neuron

The neuron where the connection starts

to_neuron

The neuron where the connection ends

weight

Connection weight

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

fann_set_weight_array
fann_shuffle_train_data
Fann Funciones


Shuffles training data, randomizing the order

fann_set_weight
fann_subset_train_data
Fann Funciones
PHP Manual

fann_shuffle_train_data

(PECL fann >= 1.0.0)

fann_shuffle_train_data — Shuffles training data, randomizing the order

Descripción

bool fann_shuffle_train_data ( resource $train_data )

Shuffles training data, randomizing the order. This is recommended for incremental training, while it have no influence during batch training.

Parámetros

train_data

resource de datos de entrenamiento de red neuronal.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

fann_set_weight
fann_subset_train_data
Fann Funciones


Returns an copy of a subset of the train data

fann_shuffle_train_data
fann_test_data
Fann Funciones
PHP Manual

fann_subset_train_data

(PECL fann >= 1.0.0)

fann_subset_train_data — Returns an copy of a subset of the train data

Descripción

resource fann_subset_train_data ( resource $data , int $pos , int $length )

Returns an copy of a subset of the train data resource, starting at position pos and length elements forward.

The fann_subset_train_data(train_data, 0, fann_length_train_data(train_data)) do the same as fann_duplicate_train_data()

Parámetros

data

resource de datos de entrenamiento de red neuronal.

pos

Starting position.

length

The number of copied elements.

Valores devueltos

Devueve un resource de datos de entrenamiento en caso de éxito, o FALSE en caso de error.

Ver también

  • fann_duplicate_train_data() - Returns an exact copy of a fann train data

fann_shuffle_train_data
fann_test_data
Fann Funciones


Test a set of training data and calculates the MSE for the training data

fann_subset_train_data
fann_test
Fann Funciones
PHP Manual

fann_test_data

(PECL fann >= 1.0.0)

fann_test_data — Test a set of training data and calculates the MSE for the training data

Descripción

float fann_test_data ( resource $ann , resource $data )

Test a set of training data and calculates the MSE for the training data.

This function updates the MSE and the bit fail values.

Parámetros

ann

resource de red neuronal.

data

resource de datos de entrenamiento de red neuronal.

Valores devueltos

The updated MSE, or FALSE on error.

Ver también

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_train_epoch() - Train one epoch with a set of training data
  • fann_get_bit_fail() - The number of fail bits
  • fann_get_MSE() - Reads the mean square error from the network
  • fann_set_training_algorithm() - Sets the training algorithm

fann_subset_train_data
fann_test
Fann Funciones


Test with a set of inputs, and a set of desired outputs

fann_test_data
fann_train_epoch
Fann Funciones
PHP Manual

fann_test

(PECL fann >= 1.0.0)

fann_test — Test with a set of inputs, and a set of desired outputs

Descripción

bool fann_test ( resource $ann , array $input , array $desired_output )

Test with a set of inputs, and a set of desired outputs. This operation updates the mean square error, but does not change the network in any way.

Parámetros

ann

resource de red neuronal.

input

An array of inputs. This array must be exactly fann_get_num_input() long.

desired_output

An array of desired outputs. This array must be exactly fann_get_num_output() long.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_test_data() - Test a set of training data and calculates the MSE for the training data
  • fann_train() - Train one iteration with a set of inputs, and a set of desired outputs
  • fann_get_num_input() - Get the number of input neurons
  • fann_get_num_output() - Get the number of output neurons

fann_test_data
fann_train_epoch
Fann Funciones


Train one epoch with a set of training data

fann_test
fann_train_on_data
Fann Funciones
PHP Manual

fann_train_epoch

(PECL fann >= 1.0.0)

fann_train_epoch — Train one epoch with a set of training data

Descripción

float fann_train_epoch ( resource $ann , resource $data )

Train one epoch with the training data stored in data. One epoch is where all of the training data is considered exactly once.

This function returns the MSE error as it is calculated either before or during the actual training. This is not the actual MSE after the training epoch, but since calculating this will require to go through the entire training set once more. It is more than adequate to use this value during training.

The training algorithm used by this function is chosen by fann_set_training_algorithm() function.

Parámetros

ann

resource de red neuronal.

data

resource de datos de entrenamiento de red neuronal.

Valores devueltos

The MSE, or FALSE on error.

Ver también

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_test_data() - Test a set of training data and calculates the MSE for the training data
  • fann_get_MSE() - Reads the mean square error from the network
  • fann_set_training_algorithm() - Sets the training algorithm

fann_test
fann_train_on_data
Fann Funciones


Trains on an entire dataset for a period of time

fann_train_epoch
fann_train_on_file
Fann Funciones
PHP Manual

fann_train_on_data

(PECL fann >= 1.0.0)

fann_train_on_data — Trains on an entire dataset for a period of time

Descripción

bool fann_train_on_data ( resource $ann , resource $data , int $max_epochs , int $epochs_between_reports , float $desired_error )

Trains on an entire dataset for a period of time.

This training uses the training algorithm chosen by fann_set_training_algorithm() and the parameters set for these training algorithms.

Parámetros

ann

resource de red neuronal.

data

resource de datos de entrenamiento de red neuronal.

max_epochs

The maximum number of epochs the training should continue

epochs_between_reports

The number of epochs between calling a callback function. A value of zero means that user function is not called.

desired_error

The desired fann_get_MSE() or fann_get_bit_fail(), depending on the stop function chosen by fann_set_train_stop_function()

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_train_on_file() - Trains on an entire dataset, which is read from file, for a period of time
  • fann_train_epoch() - Train one epoch with a set of training data
  • fann_get_bit_fail() - The number of fail bits
  • fann_get_MSE() - Reads the mean square error from the network
  • fann_set_train_stop_function() - Sets the stop function used during training
  • fann_set_training_algorithm() - Sets the training algorithm
  • fann_set_callback() - Sets the callback function for use during training

fann_train_epoch
fann_train_on_file
Fann Funciones


Trains on an entire dataset, which is read from file, for a period of time

fann_train_on_data
fann_train
Fann Funciones
PHP Manual

fann_train_on_file

(PECL fann >= 1.0.0)

fann_train_on_file — Trains on an entire dataset, which is read from file, for a period of time

Descripción

bool fann_train_on_file ( resource $ann , string $filename , int $max_epochs , int $epochs_between_reports , float $desired_error )

Trains on an entire dataset, which is read from file, for a period of time.

This training uses the training algorithm chosen by fann_set_training_algorithm() and the parameters set for these training algorithms.

Parámetros

ann

resource de red neuronal.

filename

The file containing train data

max_epochs

The maximum number of epochs the training should continue

epochs_between_reports

The number of epochs between calling a user function. A value of zero means that user function is not called.

desired_error

The desired fann_get_MSE() or fann_get_bit_fail(), depending on the stop function chosen by fann_set_train_stop_function()

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_train_epoch() - Train one epoch with a set of training data
  • fann_get_bit_fail() - The number of fail bits
  • fann_get_MSE() - Reads the mean square error from the network
  • fann_set_train_stop_function() - Sets the stop function used during training
  • fann_set_training_algorithm() - Sets the training algorithm
  • fann_set_callback() - Sets the callback function for use during training

fann_train_on_data
fann_train
Fann Funciones


Train one iteration with a set of inputs, and a set of desired outputs

fann_train_on_file
FANNConnection
Fann Funciones
PHP Manual

fann_train

(PECL fann >= 1.0.0)

fann_train — Train one iteration with a set of inputs, and a set of desired outputs

Descripción

bool fann_train ( resource $ann , array $input , array $desired_output )

Train one iteration with a set of inputs, and a set of desired outputs. This training is always incremental training, since only one pattern is presented.

Parámetros

ann

resource de red neuronal.

input

An array of inputs. This array must be exactly fann_get_num_input() long.

desired_output

An array of desired outputs. This array must be exactly fann_get_num_output() long.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

Ver también

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_train_epoch() - Train one epoch with a set of training data
  • fann_get_num_input() - Get the number of input neurons
  • fann_get_num_output() - Get the number of output neurons

fann_train_on_file
FANNConnection
Fann Funciones


The FANNConnection class

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

FANNConnection is used for the neural network connection. The objects of this class are used in fann_get_connection_array() and fann_set_weight_array().

Sinopsis de la Clase

FANNConnection {
/* Propiedades */
public $from_neuron ;
public $to_neuron ;
public $weight ;
/* Métodos */
public __construct ( int $from_neuron , int $to_neuron , float $weight )
public int getFromNeuron ( void )
public int getToNeuron ( void )
public void getWeight ( void )
public bool setWeight ( float $weight )
}

Propiedades

from_neuron

The neuron where the connection starts.

to_neuron

The neuron where the connection ends.

weight

The weight of the connection.

Tabla de contenidos

  • FANNConnection::__construct — The connection constructor
  • FANNConnection::getFromNeuron — Returns the postions of starting neuron.
  • FANNConnection::getToNeuron — Returns the postions of terminating neuron
  • FANNConnection::getWeight — Returns the connection weight
  • FANNConnection::setWeight — Sets the connections weight
fann_train
FANNConnection::__construct
FANN


The connection constructor

FANNConnection
FANNConnection::getFromNeuron
FANNConnection
PHP Manual

FANNConnection::__construct

(PECL fann >= 1.0.0)

FANNConnection::__construct — The connection constructor

Descripción

public FANNConnection::__construct ( int $from_neuron , int $to_neuron , float $weight )

Create new connection and initialize its params. After creating the connection, only weight can be changed.

Parámetros

from_neuron

The postion number of starting neuron.

to_neuron

The postion number of terminating neuron.

weight

The connection weight value.

FANNConnection
FANNConnection::getFromNeuron
FANNConnection


Returns the postions of starting neuron.

FANNConnection::__construct
FANNConnection::getToNeuron
FANNConnection
PHP Manual

FANNConnection::getFromNeuron

(PECL fann >= 1.0.0)

FANNConnection::getFromNeuron — Returns the postions of starting neuron.

Descripción

public int FANNConnection::getFromNeuron ( void )

Returns the postions of starting neuron.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

The postions of starting neuron.

FANNConnection::__construct
FANNConnection::getToNeuron
FANNConnection


Returns the postions of terminating neuron

FANNConnection::getFromNeuron
FANNConnection::getWeight
FANNConnection
PHP Manual

FANNConnection::getToNeuron

(PECL fann >= 1.0.0)

FANNConnection::getToNeuron — Returns the postions of terminating neuron

Descripción

public int FANNConnection::getToNeuron ( void )

Returns the postions of terminating neuron.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

The postions of terminating neuron.

FANNConnection::getFromNeuron
FANNConnection::getWeight
FANNConnection


Returns the connection weight

FANNConnection::getToNeuron
FANNConnection::setWeight
FANNConnection
PHP Manual

FANNConnection::getWeight

(PECL fann >= 1.0.0)

FANNConnection::getWeight — Returns the connection weight

Descripción

public void FANNConnection::getWeight ( void )

Returns the connection weight.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

The connection weight.

FANNConnection::getToNeuron
FANNConnection::setWeight
FANNConnection


Sets the connections weight

FANNConnection::getWeight
JSON
FANNConnection
PHP Manual

FANNConnection::setWeight

(PECL fann >= 1.0.0)

FANNConnection::setWeight — Sets the connections weight

Descripción

public bool FANNConnection::setWeight ( float $weight )

Sets the connection weight.

This method is different than fann_set_weight(). It does not update the weight value in the network. The network value is updated only after calling fann_set_weight_array().

Parámetros

weight

The connection weight.

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE de lo contrario.

FANNConnection::getWeight
JSON
FANNConnection


JavaScript Object Notation

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • JsonSerializable — La interfaz JsonSerializable
    • JsonSerializable::jsonSerialize — Especifica los datos que deberían serializarse para JSON
  • Funciones de JSON
    • json_decode — Decodifica un string JSON
    • json_encode — Retorna la representación JSON representation del valor dado
    • json_last_error_msg — Devuelve el string con el error de la última llamada a json_encode() o a json_decode()
    • json_last_error — Devuelve el último error que ocurrió
FANNConnection::setWeight
Introducción
Otras extensiones básicas


Introducción

Esta extensión implementa el formato de intercabio de datos » JavaScript Object Notation (JSON) La decodificación se realiza mediante el análisis sintáctico basado en la implementación de JSON_checker por Douglas Crockford.

Nota:

PHP implementa un superconjunto de JSON - también codifica y descodifica tipos escalares y NULL. El estándar de JSON solamente admite estos valores cuando están anidados dentro de un array u objeto.

JSON
Instalación/Configuración
JSON


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
JSON


Requerimientos

No se requiere de ninguna instalación para utilizar estas funciones; forman parte del núcleo de PHP.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

A partir de PHP 5.2.0, la extensión JSON se compila e incluye en PHP por defecto.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/json

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Las siguientes constantes indican el tipo de error retornado por json_last_error().

JSON_ERROR_NONE (integer)
No ha ocurrido ningún error. Disponible desde PHP 5.3.0.
JSON_ERROR_DEPTH (integer)
Se ha excedido la profundidad máxima de la pila. Disponible desde PHP 5.3.0.
JSON_ERROR_STATE_MISMATCH (integer)
Por desbordamiento de buffer o cuando los modos no coinciden. Disponible desde PHP 5.3.0.
JSON_ERROR_CTRL_CHAR (integer)
Error del carácter de control, posiblemente se ha codificado de forma incorrecta. Disponible desde PHP 5.3.0.
JSON_ERROR_SYNTAX (integer)
Error de sintaxis. Disponible desde PHP 5.3.0.
JSON_ERROR_UTF8 (integer)
Caracteres UTF-8 mal formados, posiblemente codificados incorrectamente. Esta constante está disponible desde PHP 5.3.3.
JSON_ERROR_RECURSION (integer)

El objeto o array pasado a json_encode() incluye referencias recursivas y no se puede codificar. Si se proporcionó la opción JSON_PARTIAL_OUTPUT_ON_ERROR, se codificará NULL en el lugar de la referencia recursiva.

Esta constante está disponible a partir de PHP 5.5.0.

JSON_ERROR_INF_OR_NAN (integer)

El valor pasado a json_encode() incluye NAN o INF. Si se proporcionó la opción JSON_PARTIAL_OUTPUT_ON_ERROR, se codificará 0 en el lugar de estos números especiales.

Esta constante está disponible a partir de PHP 5.5.0.

JSON_ERROR_UNSUPPORTED_TYPE (integer)

Se proporcionó un valor de un tipo no admitido para json_encode(), tal como un resource. Si se proporcionó la opción JSON_PARTIAL_OUTPUT_ON_ERROR, se codificará NULL en el lugar del valor no admitido.

Esta constante está disponible a partir de PHP 5.5.0.

Las siguientes constantes se pueden combinar para obtener opciones para json_encode().

JSON_HEX_TAG (integer)
Todos los < y > se convierten a \u003C y \u003E. Disponible desde PHP 5.3.0.
JSON_HEX_AMP (integer)
Todos los & se convierten a \u0026. Disponible desde PHP 5.3.0.
JSON_HEX_APOS (integer)
Todas las ' se convierten a \u0027. Disponible desde PHP 5.3.0.
JSON_HEX_QUOT (integer)
Todas las " se convierten a \u0022. Disponible desde PHP 5.3.0.
JSON_FORCE_OBJECT (integer)
Devuelve un objeto en vez de un array cuando se usa un array no asociativo. Especialmente útil cuando el destinatario del resultado espera un objeto y el array está vacío. Disponible desde PHP 5.3.0.
JSON_NUMERIC_CHECK (integer)
Codifica textos numéricos como números. Disponible desde PHP 5.3.3.
JSON_BIGINT_AS_STRING (integer)
Codifica integer grandes como su valor del string original. Disponible desde PHP 5.4.0.
JSON_PRETTY_PRINT (integer)
Utiliza espacios en blanco para formatear los datos devueltos. Disponible desde PHP 5.4.0.
JSON_UNESCAPED_SLASHES (integer)
No escapar /. Disponible desde PHP 5.4.0.
JSON_UNESCAPED_UNICODE (integer)
Codificar caracteres Unicode multibyte literalmente (por defecto es escapado como \uXXXX). Disponible desde PHP 5.4.0.
Tipos de recursos
JsonSerializable
JSON


La interfaz JsonSerializable

(PHP 5 >= 5.4.0)

Introducción

Los objetos que implementen JsonSerializable puede personalizar su representación JSON cuando se codifica con json_encode().

Sinopsis de la Interfaz

JsonSerializable {
/* Métodos */
abstract public mixed jsonSerialize ( void )
}

Tabla de contenidos

  • JsonSerializable::jsonSerialize — Especifica los datos que deberían serializarse para JSON
Constantes predefinidas
JsonSerializable::jsonSerialize
JSON


Especifica los datos que deberían serializarse para JSON

JsonSerializable
Funciones de JSON
JsonSerializable
PHP Manual

JsonSerializable::jsonSerialize

(PHP 5 >= 5.4.0)

JsonSerializable::jsonSerialize — Especifica los datos que deberían serializarse para JSON

Descripción

abstract public mixed JsonSerializable::jsonSerialize ( void )

Serializa el objeto a un valor que puede ser serializado de forma nativa por json_encode().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve los datos que pueden ser serializados por json_encode(), los cuales son un valor de cualquier tipo distinto de resource.

Ejemplos

Ejemplo #1 Ejemplo de JsonSerializable::jsonSerialize() devolviendo un array

<?php
class ArrayValue implements JsonSerializable {
    public function __construct(array $array) {
        $this->array = $array;
    }

    public function jsonSerialize() {
        return $this->array;
    }
}

$array = [1, 2, 3];
echo json_encode(new ArrayValue($array), JSON_PRETTY_PRINT);
?>

El resultado del ejemplo sería:

[
    1,
    2,
    3
]

Ejemplo #2 Ejemplo de JsonSerializable::jsonSerialize() devolviendo un array asociativo

<?php
class ArrayValue implements JsonSerializable {
    public function __construct(array $array) {
        $this->array = $array;
    }

    public function jsonSerialize() {
        return $this->array;
    }
}

$array = ['foo' => 'bar', 'quux' => 'baz'];
echo json_encode(new ArrayValue($array), JSON_PRETTY_PRINT);
?>

El resultado del ejemplo sería:

{
    "foo": "bar",
    "quux": "baz"
}

Ejemplo #3 Ejemplo de JsonSerializable::jsonSerialize() devolviento un integer

<?php
class IntegerValue implements JsonSerializable {
    public function __construct($number) {
        $this->number = (integer) $number;
    }

    public function jsonSerialize() {
        return $this->number;
    }
}

echo json_encode(new IntegerValue(1), JSON_PRETTY_PRINT);
?>

El resultado del ejemplo sería:

1

Ejemplo #4 Ejemplo de JsonSerializable::jsonSerialize() devolviendo un string

<?php
class StringValue implements JsonSerializable {
    public function __construct($string) {
        $this->string = (string) $string;
    }

    public function jsonSerialize() {
        return $this->string;
    }
}

echo json_encode(new StringValue('¡Hola!'), JSON_PRETTY_PRINT);
?>

El resultado del ejemplo sería:

"¡Hola!"

JsonSerializable
Funciones de JSON
JsonSerializable


Funciones de JSON

Tabla de contenidos

  • json_decode — Decodifica un string JSON
  • json_encode — Retorna la representación JSON representation del valor dado
  • json_last_error_msg — Devuelve el string con el error de la última llamada a json_encode() o a json_decode()
  • json_last_error — Devuelve el último error que ocurrió
JsonSerializable::jsonSerialize
json_decode
JSON


Decodifica un string JSON

Funciones de JSON
json_encode
Funciones de JSON
PHP Manual

json_decode

(PHP 5 >= 5.2.0, PECL json >= 1.2.0)

json_decode — Decodifica un string JSON

Descripción

mixed json_decode ( string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] )

Convierte un string codificado en JSON en una variable PHP.

Parámetros

json

El string json a ser decodificado.

Esta función sólo funciona con strings codificados en UTF-8.

Nota:

PHP implementa un superconjunto de JSON - también codifica y descodifica tipos escalares y NULL. El estándar de JSON solamente admite estos valores cuando están anidados dentro de un array u objeto.

assoc

Cuando es TRUE, los objects retornados se convertirán en arrays asociativos.

depth

Máxima profudidad de recursión.

options

Opciones de decodificación Bitmask de JSON. Actualmente solo JSON_BIGINT_AS_STRING está soportado (por defecto castea enteros largos como flotantes)

Valores devueltos

Retorna el valor codificado de json en un tipo PHP apropiado. Los valores true, false y null (case-insensitive) se retornan como TRUE, FALSE y NULL respectivamente. NULL se retorna si no se puede decodificar json o si los datos superan el límite de profundidad de recursión indicado por depth.

Ejemplos

Ejemplo #1 Ejemplos de json_decode()

<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

var_dump(json_decode($json));
var_dump(json_decode($json, true));

?>

El resultado del ejemplo sería:

object(stdClass)#1 (5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}

array(5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}

Ejemplo #2 Accediendo a propiedades del objeto no válidas

Se puede acceder a elementos del objeto que contienen caracteres no permitidos bajo la convención de nombres de PHP (p.ej. el guión) encapsulando el nombre del elemento entre claves y comillas.

<?php

$json = '{"foo-bar": 12345}';

$obj = json_decode($json);
print $obj->{'foo-bar'}; // 12345

?>

Ejemplo #3 Errores comunes al usar json_decode()

<?php

// los siguientes strings son válidos en JavaScript pero no en JSON

// el nombre y el valor deben rodearse por dobles comillas
// las comillas simples no son válidas
$bad_json = "{ 'bar': 'baz' }";
json_decode($bad_json); // null

// el nombre debe roderarse por dobles comillas
$bad_json = '{ bar: "baz" }';
json_decode($bad_json); // null

// las comas finales no se permiten
$bad_json = '{ bar: "baz", }';
json_decode($bad_json); // null

?>

Ejemplo #4 Errores de depth

<?php
// Codificar los datos.
$json = json_encode(
    array(
        1 => array(
            'Inglés' => array(
                'One',
                'January'
            ),
            'Francés' => array(
            'Une',
            'Janvier'
            )
        )
    )
);

// Definimos los errores.
$constants = get_defined_constants(true);
$json_errors = array();
foreach ($constants["json"] as $name => $value) {
    if (!strncmp($name, "JSON_ERROR_", 11)) {
        $json_errors[$value] = $name;
    }
}

// Mostramos los errores para diferentes profundidades.
foreach (range(4, 3, -1) as $depth) {
    var_dump(json_decode($json, true, $depth));
    echo 'Último error: ', $json_errors[json_last_error()], PHP_EOL, PHP_EOL;
}
?>

El resultado del ejemplo sería:

array(1) {
  [1]=>
  array(2) {
    ["Inglés"]=>
    array(2) {
      [0]=>
      string(3) "One"
      [1]=>
      string(7) "January"
    }
    ["Francés"]=>
    array(2) {
      [0]=>
      string(3) "Une"
      [1]=>
      string(7) "Janvier"
    }
  }
}
Último error: JSON_ERROR_NONE

NULL
Último error: JSON_ERROR_NONE

Ejemplo #5 json_decode() de enteros largos

<?php
$json = '{"number": 12345678901234567890}';

var_dump(json_decode($json));
var_dump(json_decode($json, false, 512, JSON_BIGINT_AS_STRING));

?>

El resultado del ejemplo sería:

object(stdClass)#1 (1) {
  ["number"]=>
  float(1.2345678901235E+19)
}
object(stdClass)#1 (1) {
  ["number"]=>
  string(20) "12345678901234567890"
}

Notas

Nota:

La espeficación JSON no es JavaScript, pero sí un subconjunto de JavaScript.

Nota:

En el caso de error al decodificar, json_last_error() se puede usar para determinar la naturaleza exacta del error.

Historial de cambios

Versión | Descripción
5.4.0 | Se añadió el parámetro options.
5.3.0 | Añadido el parámetro opcional depth. La profundidad de recursión por defecto se incrementó de 128 a 512
5.2.3 | La profundidad de recursión por defecto se incrementó de 20 a 128
5.2.1 | Se añadió el soporte para la decodificación JSON de tipos básicos.

Ver también

  • json_encode() - Retorna la representación JSON representation del valor dado
  • json_last_error() - Devuelve el último error que ocurrió

Funciones de JSON
json_encode
Funciones de JSON


Retorna la representación JSON representation del valor dado

json_decode
json_last_error_msg
Funciones de JSON
PHP Manual

json_encode

(PHP 5 >= 5.2.0, PECL json >= 1.2.0)

json_encode — Retorna la representación JSON representation del valor dado

Descripción

string json_encode ( mixed $value [, int $options = 0 [, int $depth = 512 ]] )

Devuelve un string con la representación JSON de value.

Parámetros

value

El value a ser codificado. Puede ser de cualquier tipo menos un resource.

Todos los datos de tipo string deben estar codificados con UTF-8.

Nota:

PHP implementa un superconjunto de JSON - también codifica y descodifica tipos escalares y NULL. El estándar de JSON solamente admite estos valores cuando están anidados dentro de un array u objeto.

options

Máscara de bits que compuesta por JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT, JSON_UNESCAPED_UNICODE. El comportamiento de estas constantes se describe en la página de constantes de JSON.

depth

Establece la profundidad máxima. Debe ser mayor que cero.

Valores devueltos

Devuelve un string JSON codificado en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.5.0 | Se añadió el parámetro depth.
5.4.0 | Se añadió al parámetro options las constantes JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, y JSON_UNESCAPED_UNICODE.
5.3.3 | Se añadió al parámetro option la constante JSON_NUMERIC_CHECK.
5.3.0 | Se añadió el parámetro options.

Ejemplos

Ejemplo #1 Un ejemplo de json_encode()

<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);

echo json_encode($arr);
?>

El resultado del ejemplo sería:

{"a":1,"b":2,"c":3,"d":4,"e":5}

Ejemplo #2 Un ejemplo de json_encode() mostrando algunas de las opciones en acción

<?php
$a = array('<foo>',"'bar'",'"baz"','&blong&');

echo "Normal: ",  json_encode($a), "\n";
echo "Tags: ",    json_encode($a, JSON_HEX_TAG), "\n";
echo "Apos: ",    json_encode($a, JSON_HEX_APOS), "\n";
echo "Quot: ",    json_encode($a, JSON_HEX_QUOT), "\n";
echo "Amp: ",     json_encode($a, JSON_HEX_AMP), "\n";
echo "Unicode: ", json_encode($a, JSON_UNESCAPED_UNICODE), "\n";
echo "All: ",     json_encode($a, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE), "\n\n";

$b = array();

echo "Array vacío retornado como array: ", json_encode($b), "\n";
echo "Array vacío retornado como object: ", json_encode($b, JSON_FORCE_OBJECT), "\n\n";

$c = array(array(1,2,3));

echo "Array no asociativo retornado como array: ", json_encode($c), "\n";
echo "Array no asociativo retornado como objeto: ", json_encode($c, JSON_FORCE_OBJECT), "\n\n";

$d = array('foo' => 'bar', 'baz' => 'long');

echo "Array asociativo siempre es retornado como objeto: ", json_encode($d), "\n";
echo "Array asociativo siempre es retornado como objeto: ", json_encode($d, JSON_FORCE_OBJECT), "\n\n";

?>

El resultado del ejemplo sería:

Normal: ["<foo>","'bar'","\"baz\"","&blong&","\u00e9"]
Tags: ["\u003Cfoo\u003E","'bar'","\"baz\"","&blong&","\u00e9"]
Apos: ["<foo>","\u0027bar\u0027","\"baz\"","&blong&","\u00e9"]
Quot: ["<foo>","'bar'","\u0022baz\u0022","&blong&","\u00e9"]
Amp: ["<foo>","'bar'","\"baz\"","\u0026blong\u0026","\u00e9"]
Unicode: ["<foo>","'bar'","\"baz\"","&blong&","é"]
All: ["\u003Cfoo\u003E","\u0027bar\u0027","\u0022baz\u0022","\u0026blong\u0026","é"]

Array vacío retornado como array: []
Array vacío retornado como object: {}

Array no asociativo retornado como array: [[1,2,3]]
Array no asociativo retornado como objeto: {"0":{"0":1,"1":2,"2":3}}

Array asociativo siempre es retornado como objeto: {"foo":"bar","baz":"long"}
Array asociativo siempre es retornado como objeto: {"foo":"bar","baz":"long"}

Ejemplo #3 Ejemplo de array secuencial contra array no secuencial

<?php
echo "Array sencuencial".PHP_EOL;
$sequential = array("foo", "bar", "baz", "blong");
var_dump(
 $sequential,
 json_encode($sequential)
);

echo PHP_EOL."Array no secuencial".PHP_EOL;
$nonsequential = array(1=>"foo", 2=>"bar", 3=>"baz", 4=>"blong");
var_dump(
 $nonsequential,
 json_encode($nonsequential)
);

echo PHP_EOL."Array secuencial con una clave destruida".PHP_EOL;
unset($sequential[1]);
var_dump(
 $sequential,
 json_encode($sequential)
);
?>

El resultado del ejemplo sería:

Array sencuencial
array(4) {
  [0]=>
  string(3) "foo"
  [1]=>
  string(3) "bar"
  [2]=>
  string(3) "baz"
  [3]=>
  string(5) "blong"
}
string(27) "["foo","bar","baz","blong"]"

Array no secuencial"
array(4) {
  [1]=>
  string(3) "foo"
  [2]=>
  string(3) "bar"
  [3]=>
  string(3) "baz"
  [4]=>
  string(5) "blong"
}
string(43) "{"1":"foo","2":"bar","3":"baz","4":"blong"}"

Array secuencial con una clave destruida
array(3) {
  [0]=>
  string(3) "foo"
  [2]=>
  string(3) "baz"
  [3]=>
  string(5) "blong"
}
string(33) "{"0":"foo","2":"baz","3":"blong"}"

Notas

Nota:

En el evento de un fallo a codificar, json_last_error() puede ser usado para determinar la naturaleza exacta del error.

Nota:

Cuando se codifica un array, si las claves no están en una secuencia numérica continua comenzando por 0, todas las claves son codificadas como cadenas, y explícitamente especificadas para cada pareja clave-valor.

Nota:

Al igual que el codificador JSON de referencia, json_encode() generará JSON que es un valor simple (esto es, ni un objeto ni un array) si de proporciona un string, integer, float o boolean como entrada de value. Mientras que muchos decodificadores aceptarán estos valores como JSON válido, algunos no lo harán, ya que la especificación es ambigua en este aspecto.

Para resumir, compruebe siempre que el decodificador de JSON puede manejar la salida que se genere desde json_encode().

Ver también

  • JsonSerializable
  • json_decode() - Decodifica un string JSON
  • json_last_error() - Devuelve el último error que ocurrió
  • serialize() - Genera una representación apta para el almacenamiento de un valor

json_decode
json_last_error_msg
Funciones de JSON


Devuelve el string con el error de la última llamada a json_encode() o a json_decode()

json_encode
json_last_error
Funciones de JSON
PHP Manual

json_last_error_msg

(PHP 5 >= 5.5.0)

json_last_error_msg — Devuelve el string con el error de la última llamada a json_encode() o a json_decode()

Descripción

string json_last_error_msg ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el mensaje de error en caso de éxito, o NULL con parámetros erróneos.

Ver también

  • json_last_error() - Devuelve el último error que ocurrió

json_encode
json_last_error
Funciones de JSON


Devuelve el último error que ocurrió

json_last_error_msg
Judy
Funciones de JSON
PHP Manual

json_last_error

(PHP 5 >= 5.3.0)

json_last_error — Devuelve el último error que ocurrió

Descripción

int json_last_error ( void )

Devuelve el último error (si existe) que ocurrió durante la última codificación/decodificación JSON.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un integer, el valor puede ser una de las siguientes constantes:

Códigos de error de JSON
Constante | Significado | Disponibilidad
JSON_ERROR_NONE | No ocurrió ningún error |
JSON_ERROR_DEPTH | Se ha excedido la profundidad máxima de la pila |
JSON_ERROR_STATE_MISMATCH | JSON con formato incorrecto o inválido |
JSON_ERROR_CTRL_CHAR | Error del carácter de control, posiblemente se ha codificado de forma incorrecta |
JSON_ERROR_SYNTAX | Error de sintaxis |
JSON_ERROR_UTF8 | Caracteres UTF-8 mal formados, posiblemente codificados de forma incorrecta | PHP 5.3.3
JSON_ERROR_RECURSION | Una o más referencias recursivas en el valor a codificar | PHP 5.5.0
JSON_ERROR_INF_OR_NAN | Uno o más valores NAN o INF en el valor a codificar | PHP 5.5.0
JSON_ERROR_UNSUPPORTED_TYPE | Se proporcionó un valor de un tipo que no se puede codificar | PHP 5.5.0

Ejemplos

Ejemplo #1 Ejemplo de json_last_error()

<?php
// Un string json válido
$json[] = '{"Organización": "Equipo de documentación PHP"}';

// Un string json no válido que causa un error de sintaxis, en este caso, se ha
// usado ' en vez de " para entrecomillar
$json[] = "{'Organización': 'Equipo de documentación PHP'}";

foreach($json as $string) {
    echo 'Decodificando: ' . $string;
    json_decode($string);

    switch(json_last_error()) {
        case JSON_ERROR_NONE:
            echo ' - Sin errores';
        break;
        case JSON_ERROR_DEPTH:
            echo ' - Excedido tamaño máximo de la pila';
        break;
        case JSON_ERROR_STATE_MISMATCH:
            echo ' - Desbordamiento de buffer o los modos no coinciden';
        break;
        case JSON_ERROR_CTRL_CHAR:
            echo ' - Encontrado carácter de control no esperado';
        break;
        case JSON_ERROR_SYNTAX:
            echo ' - Error de sintaxis, JSON mal formado';
        break;
        case JSON_ERROR_UTF8:
            echo ' - Caracteres UTF-8 malformados, posiblemente están mal codificados';
        break;
        default:
            echo ' - Error desconocido';
        break;
    }

    echo PHP_EOL;
}
?>

El resultado del ejemplo sería:

Decoding: {"Organización": "Equipo de documentación PHP"} - Sin errores
Decoding: {'Organización': 'Equipo de documentación PHP'} - Error de sintaxis, JSON mal formado

Ejemplo #2 json_last_error() en json_encode()

<?php
// Secuencia inválida UTF8
$text = "\xB1\x31";

$json  = json_encode($text);
$error = json_last_error();

var_dump($json, $error === JSON_ERROR_UTF8);
?>

El resultado del ejemplo sería:

string(4) "null"
bool(true)

Ver también

  • json_last_error_msg() - Devuelve el string con el error de la última llamada a json_encode() o a json_decode()
  • json_decode() - Decodifica un string JSON
  • json_encode() - Retorna la representación JSON representation del valor dado

json_last_error_msg
Judy
Funciones de JSON


Arreglos Judy

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Judy — La clase Judy
    • Judy::byCount — Localiza el enésimo indice presente en el array Judy
    • Judy::__construct — Construye un nuevo objeto Judy
    • Judy::count — Cuenta el número de elementos en el array Judy
    • Judy::__destruct — Destruye un objeto Judy
    • Judy::first — Busca el primer índice del array Judy
    • Judy::firstEmpty — Búsqueda de la primera ausencia de índice en el array Judy
    • Judy::free — Libera todo el array Judy
    • Judy::getType — Devuelve el tipo del array actual Judy
    • Judy::last — Busca el último índice en el array Judy
    • Judy::lastEmpty — Search for the last absent index in the Judy array
    • Judy::memoryUsage — Devuelve la memoria usada por el array Judy
    • Judy::next — Busca por el índice siguiente en el array Judy
    • Judy::nextEmpty — Search for the next absent index in the Judy array
    • Judy::offsetExists — Comprueba si existe un índice
    • Judy::offsetGet — Offset a recuperar
    • Judy::offsetSet — Offset a establecer
    • Judy::offsetUnset — Offset a destruir
    • Judy::prev — Busca el índice anterior en el array Judy
    • Judy::prevEmpty — Search for the previous absent index in the Judy array
    • Judy::size — Devuelve el tamaño actual del array Judy
  • Judy Funciones
    • judy_type — Devuelve el tipo de un array de Judy
    • judy_version — Devolver o imprimir la versión actual Judy de PHP
json_last_error
Introducción
Otras extensiones básicas


Introducción

Judy PHP es una extensión PECL de la » librería C Judy implementando arreglos dinámicos dispersos.

Un arreglo Judy es una compleja pero muy rápida estructura de datos de arreglo asociativo para almacenar y buscar valores con claves en enteros y buscando valores usando claves con enteros o cadenas. A diferencia de los arreglos normales, un arreglo Judy puede ser esparcida; es decir, pueden contener grandes intervalos de índices sin asignar.

Un arreglo Judy consume memoria sólo cuando es poblada y todavía puede crecer para aprovechar toda la memoria disponible. Los beneficios de las claves Judy son: escalabilidad, rendimiento, eficiencia de la memoria, y facilidad de uso. los arreglos Judy están diseñados para crecer sin ajustes en el rango peta-elemento range, escalando cerca de O(log-base-256) -- 1 más RAM acceso a 256 X población.

Judy
Instalación/Configuración
Judy


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Judy


Requerimientos

Esta extensión requiere la » libreria Judy C.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/judy

La última PECL/judy Win32 DLL está disponible aquí: » php_judy.dll

Instalación en Sistemas Linux

Desde los fuentes

Descargar e instalar » libJudy, entonces:

     phpize
     ./configure --with-judy[=DIR]
     make
     make test
     make install

Ubuntu/Debian

libJudy puede ser instalado con apt-get :

     apt-get install libjudydebian1 libjudy-dev
Luego la instalación de la extensión de Judy PECL o de las fuentes.

Instalación en Sistemas Windows

Descargar » libJudy, luego extraer las fuentes y abrir el símbolo de comandos de Visual Studio y navegue hasta el directorio fuente. Luego ejecute :

build
Esto creará "Judy.lib", copie esto en la carpeta de librerias de php-sdk y nómbrela como "libJudy.lib" Luego copie el archivo incluido "judy.h" dentro de la carpeta includes del php-sdk.

A continuación, la extensión Judy PHP puede ser instalada desde PECL o desde los fuentes extrayendo el pecl/judy dentro de la carpeta de contrucción donde los scripts estarán disponibles para ser tomados, e.g.:

    C:\php\pecl\judy\
Si su código fuente de PHP está ubicado en:
    C:\php\src\
El resto de los pasos son bastante simples, como cualquier otra extensión:
    buildconf
    configure --with-judy=shared
    nmake

Instalación en Mac OS X

Descargar e instalar » libJudy. Luego instale la extensión Judy desde PECL o desde sus fuentes.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Configuración en tiempo de ejecución
Judy
Instalación/Configuración


La clase Judy

(PECL judy >= 0.1.1)

Introducción

La clase Judy implementa la interface ArrayAccess y la interface Iterator. Esta clase, una vez instanciada, canpuede ser accesada como un array PHP.

Un objeto Judy PHP (o Array Judy) puede ser uno de los siguientes tipos :

  • Judy::BITSET
  • Judy::INT_TO_INT
  • Judy::INT_TO_MIXED
  • Judy::STRING_TO_INT
  • Judy::STRING_TO_MIXED

Ejemplo #1 Ejemplo de arreglo Judy

<?php
    $judy = new Judy(Judy::INT_TO_MIXED);
    $judy[1] = "one";
    $judy[2] = array('a', 'b', 'c');
    $judy[3] = new Judy(Judy::BITSET);
?>

Sinopsis de la Clase

Judy implements ArrayAccess , Iterator {
/* Constantes */
const integer BITSET = 1 ;
const integer INT_TO_INT = 2 ;
const integer INT_TO_MIXED = 3 ;
const integer STRING_TO_INT = 4 ;
const integer STRING_TO_MIXED = 5 ;
/* Métodos */
public int byCount ( int $nth_index )
public __construct ( int $judy_type )
public int count ([ int $index_start = 0 [, int $index_end = -1 ]] )
public void __destruct ( void )
public mixed first ([ mixed $index ] )
public int firstEmpty ([ mixed $index = 0 ] )
public int free ( void )
public int getType ( void )
public void last ([ string $index ] )
public int lastEmpty ([ int $index = -1 ] )
public int memoryUsage ( void )
public mixed next ( mixed $index )
public int nextEmpty ( int $index )
public bool offsetExists ( mixed $offset )
public mixed offsetGet ( mixed $offset )
public bool offsetSet ( mixed $offset , mixed $value )
public bool offsetUnset ( mixed $offset )
public mixed prev ( mixed $index )
public int prevEmpty ( mixed $index )
public void size ( void )
}

Constantes predefinidas

Judy::BITSET

Define el arreglo Judy como un set de bits con Claves como Enteros y Valores como Booleanos

Judy::INT_TO_INT

Define el arreglo Judy con clave/valor como Enteros, y sólo Enteros.

Judy::INT_TO_MIXED

Define el arreglo Judy con claves como Enteros y Valores como de cualquier tipo.

Judy::STRING_TO_INT

Define un arreglo Judy con claves como Cadenas y Valores como Enteros, y sólo Enteros.

Judy::STRING_TO_MIXED

Define el arreglo Judy con claves como Cadenas y Valores como de cualquier tipo.

Tabla de contenidos

  • Judy::byCount — Localiza el enésimo indice presente en el array Judy
  • Judy::__construct — Construye un nuevo objeto Judy
  • Judy::count — Cuenta el número de elementos en el array Judy
  • Judy::__destruct — Destruye un objeto Judy
  • Judy::first — Busca el primer índice del array Judy
  • Judy::firstEmpty — Búsqueda de la primera ausencia de índice en el array Judy
  • Judy::free — Libera todo el array Judy
  • Judy::getType — Devuelve el tipo del array actual Judy
  • Judy::last — Busca el último índice en el array Judy
  • Judy::lastEmpty — Search for the last absent index in the Judy array
  • Judy::memoryUsage — Devuelve la memoria usada por el array Judy
  • Judy::next — Busca por el índice siguiente en el array Judy
  • Judy::nextEmpty — Search for the next absent index in the Judy array
  • Judy::offsetExists — Comprueba si existe un índice
  • Judy::offsetGet — Offset a recuperar
  • Judy::offsetSet — Offset a establecer
  • Judy::offsetUnset — Offset a destruir
  • Judy::prev — Busca el índice anterior en el array Judy
  • Judy::prevEmpty — Search for the previous absent index in the Judy array
  • Judy::size — Devuelve el tamaño actual del array Judy
Tipos de recursos
Judy::byCount
Judy


Localiza el enésimo indice presente en el array Judy

Judy
Judy::__construct
Judy
PHP Manual

Judy::byCount

(PECL judy >= 0.1.1)

Judy::byCount — Localiza el enésimo indice presente en el array Judy

Descripción

public int Judy::byCount ( int $nth_index )

Lozaliza el enésimo indice presente en el array Judy.

Parámetros

nth_index

El enésimo indice a ser vuelto. Si nth_index es igual a 1, devuelve el índice en la posición enésima dada.

Valores devueltos

Devuelve el índice en la posición enésima dada.

Judy
Judy::__construct
Judy


Construye un nuevo objeto Judy

Judy::byCount
Judy::count
Judy
PHP Manual

Judy::__construct

(PECL judy >= 0.1.1)

Judy::__construct — Construye un nuevo objeto Judy

Descripción

public Judy::__construct ( int $judy_type )

Construye un nuevo objeto Yudy. Un objeto de Judy se puede acceder como un array de PHP.

Parámetros

judy_type

El type Judy a ser usado.

Valores devueltos

Devuelve una nueva instancia Judy.

Judy::byCount
Judy::count
Judy


Cuenta el número de elementos en el array Judy

Judy::__construct
Judy::__destruct
Judy
PHP Manual

Judy::count

(PECL judy >= 0.1.1)

Judy::count — Cuenta el número de elementos en el array Judy

Descripción

public int Judy::count ([ int $index_start = 0 [, int $index_end = -1 ]] )

Cuenta el número de elementos en el array Judy.

Parámetros

index_start

Empieza a contar desde el índice especificado. Por defecto es el primer índice.

index_end

Dejar de contar al llegar a este índice. Por defecto es el último índice.

Valores devueltos

Devuelve el número de elementos.

Judy::__construct
Judy::__destruct
Judy


Destruye un objeto Judy

Judy::count
Judy::first
Judy
PHP Manual

Judy::__destruct

(PECL judy >= 0.1.1)

Judy::__destruct — Destruye un objeto Judy

Descripción

public void Judy::__destruct ( void )

Destruye un objeto Judy.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Judy::count
Judy::first
Judy


Busca el primer índice del array Judy

Judy::__destruct
Judy::firstEmpty
Judy
PHP Manual

Judy::first

(PECL judy >= 0.1.1)

Judy::first — Busca el primer índice del array Judy

Descripción

public mixed Judy::first ([ mixed $index ] )

Búsqueda (global) para el primer índice presente que es igual o mayor que el índice pasado.

Parámetros

index

El índice puede ser un integer o un string The index can be an integer or a string correspondiente al índice de dónde empieza la búsqueda.

Valores devueltos

Devuelve el índice correspondiente en el array.

Judy::__destruct
Judy::firstEmpty
Judy


Búsqueda de la primera ausencia de índice en el array Judy

Judy::first
Judy::free
Judy
PHP Manual

Judy::firstEmpty

(PECL judy >= 0.1.1)

Judy::firstEmpty — Búsqueda de la primera ausencia de índice en el array Judy

Descripción

public int Judy::firstEmpty ([ mixed $index = 0 ] )

Búsqueda (inclusive) para el primer índice ausente que es igual o mayor que el índice pasado.

Parámetros

index

El índice puede ser un integer o un string correspondiente al índice dónde empieza la búsqueda.

Valores devueltos

Devuelve el índice correspondiente en el array.

Judy::first
Judy::free
Judy


Libera todo el array Judy

Judy::firstEmpty
Judy::getType
Judy
PHP Manual

Judy::free

(PECL judy >= 0.1.1)

Judy::free — Libera todo el array Judy

Descripción

public int Judy::free ( void )

Libera todo el array Judy.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Judy::firstEmpty
Judy::getType
Judy


Devuelve el tipo del array actual Judy

Judy::free
Judy::last
Judy
PHP Manual

Judy::getType

(PECL judy >= 0.1.1)

Judy::getType — Devuelve el tipo del array actual Judy

Descripción

public int Judy::getType ( void )

Devuelve un integer que corresponde al tipo del objeto actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un integer que corresponde al tipo Judy.

Judy::free
Judy::last
Judy


Busca el último índice en el array Judy

Judy::getType
Judy::lastEmpty
Judy
PHP Manual

Judy::last

(PECL judy >= 0.1.1)

Judy::last — Busca el último índice en el array Judy

Descripción

public void Judy::last ([ string $index ] )

Búsqueda (global) para el último índice presente que es igual o menor que el índice pasado.

Parámetros

index

El índice puede ser un integer o un string que corresponde al índice donde empieza la búsqueda.

Valores devueltos

Devuelve el índice correspondiente en el array.

Judy::getType
Judy::lastEmpty
Judy


Search for the last absent index in the Judy array

Judy::last
Judy::memoryUsage
Judy
PHP Manual

Judy::lastEmpty

(PECL judy >= 0.1.1)

Judy::lastEmpty — Search for the last absent index in the Judy array

Descripción

public int Judy::lastEmpty ([ int $index = -1 ] )

Search (inclusive) for the last absent index that is equal to or less than the passed Index.

Parámetros

index

The index can be an integer or a string corresponding to the index where to start the search.

Valores devueltos

Return the corresponding index in the array.

Judy::last
Judy::memoryUsage
Judy


Devuelve la memoria usada por el array Judy

Judy::lastEmpty
Judy::next
Judy
PHP Manual

Judy::memoryUsage

(PECL judy >= 0.1.1)

Judy::memoryUsage — Devuelve la memoria usada por el array Judy

Descripción

public int Judy::memoryUsage ( void )

Devuelve la memoria usada por el array Judy.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Retorna la memoria usada en bytes.

Judy::lastEmpty
Judy::next
Judy


Busca por el índice siguiente en el array Judy

Judy::memoryUsage
Judy::nextEmpty
Judy
PHP Manual

Judy::next

(PECL judy >= 0.1.1)

Judy::next — Busca por el índice siguiente en el array Judy

Descripción

public mixed Judy::next ( mixed $index )

Búsqueda (global) para el índice siguiente presente que es mayor que el índice pasado.

Parámetros

index

El índice puede ser un integer o un string que corresponde al índice donde empieza la búsqueda.

Valores devueltos

Devuelve el índice que correspondiente al array.

Judy::memoryUsage
Judy::nextEmpty
Judy


Search for the next absent index in the Judy array

Judy::next
Judy::offsetExists
Judy
PHP Manual

Judy::nextEmpty

(PECL judy >= 0.1.1)

Judy::nextEmpty — Search for the next absent index in the Judy array

Descripción

public int Judy::nextEmpty ( int $index )

Search (exclusive) for the next absent index that is greater than the passed Index.

Parámetros

index

The index can be an integer or a string corresponding to the index where to start the search.

Valores devueltos

Return the corresponding index in the array.

Judy::next
Judy::offsetExists
Judy


Comprueba si existe un índice

Judy::nextEmpty
Judy::offsetGet
Judy
PHP Manual

Judy::offsetExists

(PECL judy >= 0.1.1)

Judy::offsetExists — Comprueba si existe un índice

Descripción

public bool Judy::offsetExists ( mixed $offset )

Comprueba si existe o no un índice.

Parámetros

offset

El índice a ser comprobado.

Valores devueltos

Devuelve TRUE si tiene éxito o FALSE si falla.

Judy::nextEmpty
Judy::offsetGet
Judy


Offset a recuperar

Judy::offsetExists
Judy::offsetSet
Judy
PHP Manual

Judy::offsetGet

(PECL judy >= 0.1.1)

Judy::offsetGet — Offset a recuperar

Descripción

public mixed Judy::offsetGet ( mixed $offset )

Devuelve el valor en el offset especificado.

Parámetros

offset

El offset a recuperar.

Valores devueltos

Puede devolver todos los tipos de valor.

Judy::offsetExists
Judy::offsetSet
Judy


Offset a establecer

Judy::offsetGet
Judy::offsetUnset
Judy
PHP Manual

Judy::offsetSet

(PECL judy >= 0.1.1)

Judy::offsetSet — Offset a establecer

Descripción

public bool Judy::offsetSet ( mixed $offset , mixed $value )

Asigna un valor a el offset especificado.

Parámetros

offset

El offset para asignar el valor.

value

El valor a establecer.

Valores devueltos

No devuelve ningún valor.

Judy::offsetGet
Judy::offsetUnset
Judy


Offset a destruir

Judy::offsetSet
Judy::prev
Judy
PHP Manual

Judy::offsetUnset

(PECL judy >= 0.1.1)

Judy::offsetUnset — Offset a destruir

Descripción

public bool Judy::offsetUnset ( mixed $offset )

Destruye un offset.

Parámetros

offset

El offset a destruir.

Valores devueltos

No se devuelve ningún valor.

Judy::offsetSet
Judy::prev
Judy


Busca el índice anterior en el array Judy

Judy::offsetUnset
Judy::prevEmpty
Judy
PHP Manual

Judy::prev

(PECL judy >= 0.1.1)

Judy::prev — Busca el índice anterior en el array Judy

Descripción

public mixed Judy::prev ( mixed $index )

Búsqueda (global) de el índice anterior presente que es menor que el índice pasado.

Parámetros

index

El índice puede ser un integer o un string que corresponde al indicé donde empieza la búsqueda.

Valores devueltos

Devielve el índice correspondiente en el array

Judy::offsetUnset
Judy::prevEmpty
Judy


Search for the previous absent index in the Judy array

Judy::prev
Judy::size
Judy
PHP Manual

Judy::prevEmpty

(PECL judy >= 0.1.1)

Judy::prevEmpty — Search for the previous absent index in the Judy array

Descripción

public int Judy::prevEmpty ( mixed $index )

Search (exclusive) for the previous index absent that is less than the passed Index.

Parámetros

index

The index can be an integer or a string corresponding to the index where to start the search.

Valores devueltos

Return the corresponding index in the array.

Judy::prev
Judy::size
Judy


Devuelve el tamaño actual del array Judy

Judy::prevEmpty
Judy Funciones
Judy
PHP Manual

Judy::size

(PECL judy >= 0.1.1)

Judy::size — Devuelve el tamaño actual del array Judy

Descripción

public void Judy::size ( void )

Este método es un alias de Judy::count.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un integer.

Judy::prevEmpty
Judy Funciones
Judy


Judy Funciones

Tabla de contenidos

  • judy_type — Devuelve el tipo de un array de Judy
  • judy_version — Devolver o imprimir la versión actual Judy de PHP
Judy::size
judy_type
Judy


Devuelve el tipo de un array de Judy

Judy Funciones
judy_version
Judy Funciones
PHP Manual

judy_type

(PECL judy >= 0.1.1)

judy_type — Devuelve el tipo de un array de Judy

Descripción

int judy_type ( Judy $array )

judy_type() devuelve un tipo de dato entero correspondiente al tipo de dato de Judy de su array específico.

Parámetros

array

El array de Judy a probar.

Valores devueltos

Devuelve un tipo de dato entero correspondiente a un tipo de dato de Judy.

Judy Funciones
judy_version
Judy Funciones


Devolver o imprimir la versión actual Judy de PHP

judy_type
Lua
Judy Funciones
PHP Manual

judy_version

(PECL judy >= 0.1.1)

judy_version — Devolver o imprimir la versión actual Judy de PHP

Descripción

string judy_version ( void )

Devolver una cadena con la versión Judy de PHP. Si el valor de retorno no se utiliza, la cadena será impresa.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devolver una cadena con la versión Judy de PHP.

judy_type
Lua
Judy Funciones


Lua

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Lua — La clase Lua
    • Lua::assign — Asigna una variable de PHP a Lua
    • Lua::call — Llama funciones de Lua
    • Lua::__construct — Constructor de Lua
    • Lua::eval — Evalúa una cadena de texto como código Lua
    • Lua::getVersion — Obtiene la versión
    • Lua::include — Analiza un fichero script Lua
    • Lua::registerCallback — Registra una función PHP en Lua
  • LuaClosure — La clase LuaClosure
    • LuaClosure::__invoke — invoke luaclosure
judy_version
Introducción
Otras extensiones básicas


Introducción

"Lua es un lenguaje de programación muy potente, rápido, ligero e integrable." Esta extensión incorpora el intérprete de Lua y ofrece una API Orientada a Objectos a las variables y funciones de Lua.

Lua
Instalación/Configuración
Lua


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Lua


Requerimientos

Para poder usar esta extensión, debe tener Lua instalado, se encuentra disponible en la » página oficial de Lua

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/lua.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Configuración en tiempo de ejecución
Lua
Instalación/Configuración


La clase Lua

(PECL lua >=0.9.0)

Introducción

Sinopsis de la Clase

Lua {
/* Constants */
const string LUA_VERSION = Lua 5.1.4 ;
/* Métodos */
public mixed assign ( string $name , string $value )
public mixed call ( callable $lua_func [, array $args [, int $use_self = 0 ]] )
public mixed __call ( callable $lua_func [, array $args [, int $use_self = 0 ]] )
public __construct ( string $lua_script_file = NULL )
public mixed eval ( string $statements )
public string getVersion ( void )
public mixed include ( string $file )
public mixed registerCallback ( string $name , callable $function )
}

Constantes predefinidas

Lua::LUA_VERSION

Tabla de contenidos

  • Lua::assign — Asigna una variable de PHP a Lua
  • Lua::call — Llama funciones de Lua
  • Lua::__construct — Constructor de Lua
  • Lua::eval — Evalúa una cadena de texto como código Lua
  • Lua::getVersion — Obtiene la versión
  • Lua::include — Analiza un fichero script Lua
  • Lua::registerCallback — Registra una función PHP en Lua
Tipos de recursos
Lua::assign
Lua


Asigna una variable de PHP a Lua

Lua
Lua::call
Lua
PHP Manual

Lua::assign

(PECL lua >=0.9.0)

Lua::assign — Asigna una variable de PHP a Lua

Descripción

public mixed Lua::assign ( string $name , string $value )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

value

Valores devueltos

Devuelve $this o NULL en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de Lua::assign()

<?php
$lua = new Lua();
$lua->assign("php_var", array(1=>1, 2, 3)); //índice de la tabla empieza en 1
$lua->eval(<<<CODE
    print(php_var);
CODE
);
?>

El resultado del ejemplo sería:

Array
 (
     [1] => 1
     [2] => 2
     [3] => 3
 )
Lua
Lua::call
Lua


Llama funciones de Lua

Lua::assign
Lua::__construct
Lua
PHP Manual

Lua::call

Lua::__call

(PECL lua >=0.9.0)

Lua::call -- Lua::__call — Llama funciones de Lua

Descripción

public mixed Lua::call ( callable $lua_func [, array $args [, int $use_self = 0 ]] )
public mixed Lua::__call ( callable $lua_func [, array $args [, int $use_self = 0 ]] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

lua_func

Nombre de la función en Lua

args

Argumentos pasados a la función de Lua

use_self

Cuando se debe usar self

Valores devueltos

Devuelve el resultado de la función llamada, NULL si los argumentos son inválidos o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de la función Lua::call()

<?php
$lua = new Lua();
$lua->eval(<<<CODE
  function dummy(foo, bar)
    print(foo, ",", bar)
  end
CODE
);
$lua->call("dummy", array("Lua", "geiliable\n"));
var_dump($lua->call(array("table", "concat"), array(array(1=>1, 2=>2, 3=>3), "-")));
?>

El resultado del ejemplo sería algo similar a:

Lua,geiliable
string(5) "1-2-3"

Ver también

  • Lua::__call
Lua::assign
Lua::__construct
Lua


Constructor de Lua

Lua::call
Lua::eval
Lua
PHP Manual

Lua::__construct

(PECL lua >=0.9.0)

Lua::__construct — Constructor de Lua

Descripción

public Lua::__construct ( string $lua_script_file = NULL )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

lua_script_file

Valores devueltos

Lua::call
Lua::eval
Lua


Evalúa una cadena de texto como código Lua

Lua::__construct
Lua::getVersion
Lua
PHP Manual

Lua::eval

(PECL lua >=0.9.0)

Lua::eval — Evalúa una cadena de texto como código Lua

Descripción

public mixed Lua::eval ( string $statements )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

statements

Valores devueltos

Devuelve el resultado del código evaluado, NULL si los parámetros son inválidos o FALSE en caseo de error.

Ejemplos

Ejemplo #1 Ejemplo de la función Lua::eval()

<?php
    $lua = new Lua();
    $lua->eval(<<<CODE
     print(2);
CODE
);
?>

El resultado del ejemplo sería:

2
Lua::__construct
Lua::getVersion
Lua


Obtiene la versión

Lua::eval
Lua::include
Lua
PHP Manual

Lua::getVersion

(PECL lua >=0.9.0)

Lua::getVersion — Obtiene la versión

Descripción

public string Lua::getVersion ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve Lua::LUA_VERSION.

Lua::eval
Lua::include
Lua


Analiza un fichero script Lua

Lua::getVersion
Lua::registerCallback
Lua
PHP Manual

Lua::include

(PECL lua >=0.9.0)

Lua::include — Analiza un fichero script Lua

Descripción

public mixed Lua::include ( string $file )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

file

Valores devueltos

Devuelve el resultado del código incluido, NULL en caso que los argumentos pasados sean erróneos o FALSE para cualquier otro tipo de error.

Lua::getVersion
Lua::registerCallback
Lua


Registra una función PHP en Lua

Lua::include
LuaClosure
Lua
PHP Manual

Lua::registerCallback

(No hay información de versión disponible, podría estar únicamente en SVN)

Lua::registerCallback — Registra una función PHP en Lua

Descripción

public mixed Lua::registerCallback ( string $name , callable $function )

Registra una función PHP en Lua con el nombre de función que se indique en "$name"

Parámetros

name

function

Una función de llamada de retorno válida PHP

Valores devueltos

Devuelve $this, NULL en caso que los argumentos sean erróneos o FALSE para cualquier otro tipo de error.

Ejemplos

Ejemplo #1 Ejemplo de Lua::registerCallback()

<?php
$lua = new Lua();
$lua->registerCallback("echo", "var_dump");
$lua->eval(<<<CODE
    echo({1, 2, 3});
CODE
);
?>

El resultado del ejemplo sería:

array(3) {
  [1]=>
  float(1)
  [2]=>
  float(2)
  [3]=>
  float(3)
}
Lua::include
LuaClosure
Lua


La clase LuaClosure

(PECL lua >=0.9.0)

Introducción

LuaClosure es una clase contenedor para LUA_TFUNCTION que puede ser devuelta al llamar a la función Lua.

Sinopsis de la Clase

LuaClosure {
/* Métodos */
public void __invoke ( mixed $arg [, mixed $... ] )
}

Tabla de contenidos

  • LuaClosure::__invoke — invoke luaclosure
Lua::registerCallback
LuaClosure::__invoke
Lua


invoke luaclosure

LuaClosure
Misc.
LuaClosure
PHP Manual

LuaClosure::__invoke

(PECL lua >=0.9.0)

LuaClosure::__invoke — invoke luaclosure

Descripción

public void LuaClosure::__invoke ( mixed $arg [, mixed $... ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

arg

...

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de LuaClosure::__invoke()

<?php
$lua = new Lua();
$closure = $lua->eval(<<<CODE
    return (function ()
        print("hello world")
    end)
CODE
);

$lua->call($closure);
/* after PHP 5.3 */
$closure();
?>

El resultado del ejemplo sería:

hello worldhello world
LuaClosure
Misc.
LuaClosure


Funciones varias

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones Varias
    • connection_aborted — Verifica si el cliente se desconectó
    • connection_status — Devuelve el campo de bits de status de conexión
    • connection_timeout — Verificar si el script ha alcanzado su tiempo de espera máximo
    • constant — Devuelve el valor de una constante
    • define — Define una constante con nombre
    • defined — Comprueba si existe una constante con nombre dada
    • die — Equivalente a exit
    • eval — Evaluar una cadena como código PHP
    • exit — Imprime un mensaje y termina el script actual
    • get_browser — Indica de lo que es capaz el navegador del usuario
    • __halt_compiler — Detiene la ejecución del compilador
    • highlight_file — Remarcado de la sintaxis de un fichero
    • highlight_string — Remarcado de sintaxis de una cadena
    • ignore_user_abort — Establecer si la desconexión de un cliente debería abortar la ejecución del script
    • pack — Empaqueta información a una cadena binaria
    • php_check_syntax — Verifica la sintaxis PHP del archivo especificado (y lo ejecuta)
    • php_strip_whitespace — Devuelve el código fuente sin los comentarios y espacios blancos
    • show_source — Alias de highlight_file
    • sleep — Retrasar la ejecución
    • sys_getloadavg — Obtiene la carga media del sistema
    • time_nanosleep — Retrasar por un número de segundos y nanosegundos
    • time_sleep_until — Hacer que el script duerma hasta el momento especificado
    • uniqid — Generar un ID único
    • unpack — Desempaqueta datos de una cadena binaria
    • usleep — Retrasar la ejecución en microsegundos
  • Registro de cambios
LuaClosure::__invoke
Introducción
Otras extensiones básicas


Introducción

Estas funciones han sido colocadas aquí debido a que ninguna de ellas parece encajar en las demás categorías.

Misc.
Instalación/Configuración
Misc.


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Misc.


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de Configuración Misc.
Nombre | Por defecto | Cambiable | Historial de cambios
ignore_user_abort | "0" | PHP_INI_ALL |
highlight.string | "#DD0000" | PHP_INI_ALL |
highlight.comment | "#FF8000" | PHP_INI_ALL |
highlight.keyword | "#007700" | PHP_INI_ALL |
highlight.bg | "#FFFFFF" | PHP_INI_ALL | Removed in PHP 5.4.0.
highlight.default | "#0000BB" | PHP_INI_ALL |
highlight.html | "#000000" | PHP_INI_ALL |
browscap | NULL | PHP_INI_SYSTEM |
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

ignore_user_abort boolean

FALSE por defecto. Si se cambia a TRUE los scripts no finalizarán después de que un cliente aborte su conexión.

Véase también ignore_user_abort().

highlight.bg string
highlight.comment string
highlight.default string
highlight.html string
highlight.keyword string
highlight.string string

Los colores para el modo Highlighting. Cualquier cosa que sea aceptable en <font color="??????"> funcionará.

browscap string

El nombre (p.ej.: browscap.ini) y la localización del archivo de aptitudes del navegador. Véase también get_browser().

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

CONNECTION_ABORTED (integer)
CONNECTION_NORMAL (integer)
CONNECTION_TIMEOUT (integer)
__COMPILER_HALT_OFFSET__ (integer)
Agregada en PHP 5.1.
Tipos de recursos
Funciones Varias
Misc.


Funciones Varias

Tabla de contenidos

  • connection_aborted — Verifica si el cliente se desconectó
  • connection_status — Devuelve el campo de bits de status de conexión
  • connection_timeout — Verificar si el script ha alcanzado su tiempo de espera máximo
  • constant — Devuelve el valor de una constante
  • define — Define una constante con nombre
  • defined — Comprueba si existe una constante con nombre dada
  • die — Equivalente a exit
  • eval — Evaluar una cadena como código PHP
  • exit — Imprime un mensaje y termina el script actual
  • get_browser — Indica de lo que es capaz el navegador del usuario
  • __halt_compiler — Detiene la ejecución del compilador
  • highlight_file — Remarcado de la sintaxis de un fichero
  • highlight_string — Remarcado de sintaxis de una cadena
  • ignore_user_abort — Establecer si la desconexión de un cliente debería abortar la ejecución del script
  • pack — Empaqueta información a una cadena binaria
  • php_check_syntax — Verifica la sintaxis PHP del archivo especificado (y lo ejecuta)
  • php_strip_whitespace — Devuelve el código fuente sin los comentarios y espacios blancos
  • show_source — Alias de highlight_file
  • sleep — Retrasar la ejecución
  • sys_getloadavg — Obtiene la carga media del sistema
  • time_nanosleep — Retrasar por un número de segundos y nanosegundos
  • time_sleep_until — Hacer que el script duerma hasta el momento especificado
  • uniqid — Generar un ID único
  • unpack — Desempaqueta datos de una cadena binaria
  • usleep — Retrasar la ejecución en microsegundos
Constantes predefinidas
connection_aborted
Misc.


Verifica si el cliente se desconectó

Funciones Varias
connection_status
Funciones Varias
PHP Manual

connection_aborted

(PHP 4, PHP 5)

connection_aborted — Verifica si el cliente se desconectó

Descripción

int connection_aborted ( void )

Verifica si el cliente se ha desconectado.

Valores devueltos

Devuelve 1 si el cliente se desconectó, 0 de lo contrario.

Ver también

  • connection_status() - Devuelve el campo de bits de status de conexión
  • ignore_user_abort() - Establecer si la desconexión de un cliente debería abortar la ejecución del script
  • Manejo de Conexiones para una descripción completa del manejo de conexiones en PHP.

Funciones Varias
connection_status
Funciones Varias


Devuelve el campo de bits de status de conexión

connection_aborted
connection_timeout
Funciones Varias
PHP Manual

connection_status

(PHP 4, PHP 5)

connection_status — Devuelve el campo de bits de status de conexión

Descripción

int connection_status ( void )

Obtiene el campo de bits de status de la conexión.

Valores devueltos

Devuelve el campo de bits de status de la conexión, el cual puede ser usado junto con las constantes CONNECTION_XXX para determinar el status de conexión.

Ver también

  • connection_aborted() - Verifica si el cliente se desconectó
  • ignore_user_abort() - Establecer si la desconexión de un cliente debería abortar la ejecución del script
  • Manejo de Conexiones para una descripción completa del manejo de conexiones en PHP.

connection_aborted
connection_timeout
Funciones Varias


Verificar si el script ha alcanzado su tiempo de espera máximo

connection_status
constant
Funciones Varias
PHP Manual

connection_timeout

(PHP 4 <= 4.0.4)

connection_timeout — Verificar si el script ha alcanzado su tiempo de espera máximo

Descripción

int connection_timeout ( void )

Determina si el script ha alcanzado su tiempo de espera máximo.

Valores devueltos

Devuelve 1 si el script ha alcanzado su tiempo de espera máximo, 0 de lo contrario.

Notas

Advertencia

Deprecated

Esta función se considera obsoleta, y no existe siquiera a partir de 4.0.5.

Ver también

  • connection_status() - Devuelve el campo de bits de status de conexión
  • Manejo de Conexiones para una descripción completa del manejo de conexiones en PHP.

connection_status
constant
Funciones Varias


Devuelve el valor de una constante

connection_timeout
define
Funciones Varias
PHP Manual

constant

(PHP 4 >= 4.0.4, PHP 5)

constant — Devuelve el valor de una constante

Descripción

mixed constant ( string $name )

Devuelve el valor de una constante indicada por name.

constant() es útil si se necesita recuperar el valor de una constante, pero no se conoce su nombre. Esto es, está almacenada en una variable o es devuelta por una función.

Esta función también funciona con las constantes de clases.

Parámetros

name

El nombre de la constante.

Valores devueltos

Devuelve el valor de la constante, o NULL si la constante no está definida.

Errores/Excepciones

Se generará un error de nivel E_WARNING si la constante no está definida.

Ejemplos

Ejemplo #1 Ejemplo de constant()

<?php

define("MAXSIZE", 100);

echo MAXSIZE;
echo constant("MAXSIZE"); // lo mismo que la línea anterior

interface bar {
    const test = 'foobar!';
}

class foo {
    const test = 'foobar!';
}

$const = 'test';

var_dump(constant('bar::'. $const)); // string(7) "foobar!"
var_dump(constant('foo::'. $const)); // string(7) "foobar!"

?>

Ver también

  • define() - Define una constante con nombre
  • defined() - Comprueba si existe una constante con nombre dada
  • La sección sobre Constantes

connection_timeout
define
Funciones Varias


Define una constante con nombre

constant
defined
Funciones Varias
PHP Manual

define

(PHP 4, PHP 5)

define — Define una constante con nombre

Descripción

bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )

Define una constante con nombre en tiempo de ejecución.

Parámetros

name

El nombre de la constante.

value

El valor de la constante; sólo se permiten valores escalares y null. Los valores escalares son valores de tipo integer, float, string o boolean. Es posible definir contantes resource, sin embargo, no se recomienda y puede causar un comportamiento impredecible.

case_insensitive

Si está establecido a TRUE, la constante será definida insensible a mayúsculas-minúsculas. El comportamiento predeterminado es sensible a mayúsculas-minúsculas; esto es, CONSTANTE y Constante representan valores diferentes.

Nota:

Las constantes insensibles a mayúsculas-minúsculas se almacenan en minúsculas.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Definir Constantes

<?php
define("CONSTANTE", "Hola mundo.");
echo CONSTANTE; // imprime "Hola mundo."
echo Constante; // imprime "Constante" y emite un aviso.

define("SALUDO", "Hola tú.", true);
echo SALUDO; // imprime "Hola tú."
echo Saludo; // imprime "Hola tú."

?>

Ver también

  • defined() - Comprueba si existe una constante con nombre dada
  • constant() - Devuelve el valor de una constante
  • La sección sobre Constantes

constant
defined
Funciones Varias


Comprueba si existe una constante con nombre dada

define
die
Funciones Varias
PHP Manual

defined

(PHP 4, PHP 5)

defined — Comprueba si existe una constante con nombre dada

Descripción

bool defined ( string $name )

Comprueba si existe la constante dada y está definida.

Nota:

Si quiere ver si existe una variable, use isset(), ya que defined() sólo se aplica a constantes. Si quiere ver si existe una función, use function_exists().

Parámetros

name

El nombre de la constante.

Valores devueltos

Devuelve TRUE si la constante con nombre dada por name ha sido definida, si no devuelve FALSE.

Ejemplos

Ejemplo #1 Comprobar constantes

<?php
/* Observe el uso de las comillas, esto es importante. Este ejemplo comprueba
 * si e´string 'PRUEBA' es un nombre de una constante con nombre PRUEBA */
if (defined('PRUEBA')) {
    echo PRUEBA;
}
?>

Ver también

  • define() - Define una constante con nombre
  • constant() - Devuelve el valor de una constante
  • get_defined_constants() - Devuelve un array asociativo con los nombres de todas las constantes y sus valores
  • function_exists() - Devuelve TRUE si la función dada ha sido definida
  • La sección sobre Constantes

define
die
Funciones Varias


Equivalente a exit

defined
eval
Funciones Varias
PHP Manual

die

(PHP 4, PHP 5)

die — Equivalente a exit

Descripción

Este constructor de lenguaje es equivalente a exit().

defined
eval
Funciones Varias


Evaluar una cadena como código PHP

die
exit
Funciones Varias
PHP Manual

eval

(PHP 4, PHP 5)

eval — Evaluar una cadena como código PHP

Descripción

mixed eval ( string $code )

Evalua el código dado por code como código PHP.

Precaución

El constructor de lenguaje eval() es muy peligroso porque permite la ejecución de código de PHP arbitrario. Su uso está totalmente desaconsejado. Si se ha verificado cuidadosamente que no existe otra opción que usar este constructor, se ha de poner especial atención en no pasar ninguna información proporcionada por el usuario a esta función sin haberla validado apropiadamente con anterioridad.

Parámetros

code

El código de PHP válido ser evaluado.

El código no debe encerrarse entre etiquetas de PHP de apertura y cierre, es decir, se debe pasar 'echo "¡Hola!";' en vez de '<? echo "¡Hola!"; >'. Aún es posible abandonar y reentrar en el modo PHP usando las etiquetas de PHP apropiadas, p.ej. 'echo "¡En el modo PHP!"; ?>¡En el modo HTML!<? echo "¡De vuelta en el modo PHP!";'.

Aparte de que el código pasado debe ser código de PHP válido. Esto incluye que todas las sentencias deben finalizar apropiadamente usando un punto y coma. 'echo "¡Hola!"', por ejemplo, causará un error de análisis, mientras que 'echo "¡Hola!";' funcionará.

Una sentencia return finalizará inmediantamente la evaluación del código.

El código se ejecutará en el ámbito del código que llama a eval(). Así, cualquier variable definida o cambiada en la llamada a eval() permanecerá visible después de que finalice.

Valores devueltos

eval() devuelve NULL a menos que se llame a return en el código evaluado, en cuyo caso el valor pasado a return es devuelto. Si hay un error de análisis en el código evaluado, eval() devolverá FALSE y la ejecución del código posterior continuará normalmente. No es posible capturar un error de análisis de eval() usando set_error_handler().

Ejemplos

Ejemplo #1 Ejemplo de eval() - fusión de texto sencillo

<?php
$cadena = 'taza';
$nombre = 'café';
$str = 'Esto es una $cadena con mi $nombre en ella.';
echo $str. "\n";
eval("\$str = \"$str\";");
echo $str. "\n";
?>

El resultado del ejemplo sería:

Esto es una $cadena con mi $nombre en ella.
Esto es una taza con mi café en ella.

Notas

Nota: Puesto que esto es una construcción del lenguaje y no una función, no puede ser llamada usando funciones variables.

Sugerencia

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 string.

Nota:

En caso de un error fatal en el código evaluado, se saldrá del script completamente.

Ver también

  • call_user_func() - Llamar a una llamada de retorno dada por el primer parámetro

die
exit
Funciones Varias


Imprime un mensaje y termina el script actual

eval
get_browser
Funciones Varias
PHP Manual

exit

(PHP 4, PHP 5)

exit — Imprime un mensaje y termina el script actual

Descripción

void exit ([ string $status ] )
void exit ( int $status )

Finaliza la ejecución del script. Funciones shutdown y Objectos destructores siempre serán ejecutados incluso si se llama a la función exit.

exit es una construcción de lenguaje y puede ser llamada sin paréntesis si no se le pasa status.

Parámetros

status

Si status es una cadena, esta función imprime el status justo antes de salir.

Si status es un valor integer, ese valor será usado también como el status de salida y no se mostrará. Los status de salida deben estar en el rango 0 a 254, el status de salida 255 es reservado por PHP y no debe ser usado. El status 0 es usado para finalizar el programa de forma satisfactoria.

Nota: PHP >= 4.2.0 NO imprime el status si es un valor integer.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de exit

<?php

$nombre_archivo = '/ruta/hacia/archivo-datos';
$archivo = fopen($nombre_archivo, 'r')
    or exit("no se pudo abrir el archivo ($nombre_archivo)");

?>

Ejemplo #2 Ejemplo de status de exit

<?php

//finalizar el programa normalmente
exit;
exit();
exit(0);

//finalizar con un código de error
exit(1);
exit(0376); //octal

?>

Ejemplo #3 Las funciones Shutdown y los destructores se ejecutan igualmente

<?php
class Foo
{
    public function __destruct()
    {
        echo 'Destruct: ' . __METHOD__ . '()' . PHP_EOL;
    }
}

function shutdown()
{
    echo 'Shutdown: ' . __FUNCTION__ . '()' . PHP_EOL;
}

$foo = new Foo();
register_shutdown_function('shutdown');

exit();
echo 'Esto no se mostrará.';
?>

El resultado del ejemplo sería:

 Shutdown: shutdown()
 Destruct: Foo::__destruct()

Notas

Nota: Puesto que esto es una construcción del lenguaje y no una función, no puede ser llamada usando funciones variables.

Nota:

Esta construcción de lenguaje es equivalente a die().

Ver también

  • register_shutdown_function() - Registrar una función para que sea ejecutada al cierre

eval
get_browser
Funciones Varias


Indica de lo que es capaz el navegador del usuario

exit
__halt_compiler
Funciones Varias
PHP Manual

get_browser

(PHP 4, PHP 5)

get_browser — Indica de lo que es capaz el navegador del usuario

Descripción

mixed get_browser ([ string $user_agent [, bool $return_array = false ]] )

Intenta determinar las capacidades del navegador de usuario, buscando la información del navegador en el archivo browscap.ini.

Parámetros

user_agent

El Agente de Usuario a ser analizado. Por defecto, se usa el valor de la cabecera HTTP del Agente de Usuario; sin embargo, se puede modificar esto (es decir, buscar otra información del navegador) pasando este parámetro.

Se puede saltar este parámetro con un valor NULL.

return_array

Si está establecido a TRUE, esta función devolverá un array en vez de un object.

Valores devueltos

La información es devuelta en un objeto o en un array que contendrán varios elementos de información que representan, por ejemplo, una cadena con los números de la versión mayor y menor del navegador y el ID; valores TRUE/FALSE para características tales como marcos, JavaScript, y cookies; etc.

El valor cookies simplemente significa que el navegador mismo es capaz de aceptar cookies y no significa si el usuario ha habilitado el navagador para que acepte cookies. La única forma de probar si las cookies son aceptadas es establecer una con setcookie(), recargar, y comprobar su valor.

Historial de cambios

Versión | Descripción
4.3.2 | Se añadió el parámetro opcional return_array.

Ejemplos

Ejemplo #1 Listar toda la información sobre el navegador del usuario

<?php
echo $_SERVER['HTTP_USER_AGENT'] . "\n\n";

$navegador = get_browser(null, true);
print_r($navegador);
?>

El resultado del ejemplo sería algo similar a:

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3

Array
(
    [browser_name_regex] => ^mozilla/5\.0 (windows; .; windows nt 5\.1; .*rv:.*) gecko/.* firefox/0\.9.*$
    [browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9*
    [parent] => Firefox 0.9
    [platform] => WinXP
    [browser] => Firefox
    [version] => 0.9
    [majorver] => 0
    [minorver] => 9
    [cssversion] => 2
    [frames] => 1
    [iframes] => 1
    [tables] => 1
    [cookies] => 1
    [backgroundsounds] =>
    [vbscript] =>
    [javascript] => 1
    [javaapplets] => 1
    [activexcontrols] =>
    [cdf] =>
    [aol] =>
    [beta] => 1
    [win16] =>
    [crawler] =>
    [stripper] =>
    [wap] =>
    [netclr] =>
)

Notas

Nota:

Para que esto funcione, la configuración de browscap en php.ini debe apuntar a la ubicación correcta del archivo browscap.ini en su sistema.

browscap.ini no está incluido con PHP, pero se pude encontrar un archivo actualizado aquí » php_browscap.ini.

Mientras que browscap.ini contiene información sobre muchos navegadores, recae en el usuario la actualización para mantener la bases de datos vigente. El formato del archivo se explica por sí solo.

exit
__halt_compiler
Funciones Varias


Detiene la ejecución del compilador

get_browser
highlight_file
Funciones Varias
PHP Manual

__halt_compiler

(PHP 5 >= 5.1.0)

__halt_compiler — Detiene la ejecución del compilador

Descripción

void __halt_compiler ( void )

Detiene la ejecución del compilador. Esto puede ser útil para embeber información en scripts de PHP, como en archivos de instalación.

La posición de byte del inicio de la información se puede determinar por la constante __COMPILER_HALT_OFFSET__, la cuál está definida sólo si hay un __halt_compiler() presente en el archivo.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Un Ejemplo de __halt_compiler()

<?php

// abrir este archivo
$fp = fopen(__FILE__, 'r');

// buscar el puntero de archivo a la información
fseek($fp, __COMPILER_HALT_OFFSET__);

// e imprimirlo
var_dump(stream_get_contents($fp));

// el final de la ejecución del script
__halt_compiler(); la información de instalación (p.ej. tar, gz, PHP, etc.)

Notas

Nota:

__halt_compiler() sólo se puede usar desde el ámbito más externo.

get_browser
highlight_file
Funciones Varias


Remarcado de la sintaxis de un fichero

__halt_compiler
highlight_string
Funciones Varias
PHP Manual

highlight_file

(PHP 4, PHP 5)

highlight_file — Remarcado de la sintaxis de un fichero

Descripción

mixed highlight_file ( string $filename [, bool $return = false ] )

Imprime o devuelve una versión con la sintaxis remarcada del código contenido en el fichero dado por filename usando los colores definidos en el remarcador de sintaxis interno de PHP.

Muchos servidores están configurados para remaracar automáticamente ficheros con la extensión phps. Por ejemplo, cuando se visione example.phps mostrará la fuente con la sintaxis remarcada del fichero. Para habilitar esto, añada esta línea a httpd.conf:

AddType application/x-httpd-php-source .phps

Parámetros

filename

Ruta al fichero PHP a ser remarcado.

return

Establecer este parámetro a TRUE para hacer que esta función devuelva el código remarcado.

Valores devueltos

Si return está establecido a TRUE, devuelve el código remarcado como string en vez de imprimirlo. De otro modo, devolverá TRUE en caso de éxito, y FALSE en caso de error.

Historial de cambios

Versión | Descripción
4.2.1 | Esta función ahora le afecta safe_mode y open_basedir.
4.2.0 | Se añadió el parámetro return.

Notas

Precaución

Se debería tener cuidado al usar la función highlight_file() para asegurarse de que no se revela inadvertidamente información sensible como contraseñas o cualquier otro tipo de información que podría crear un riesgo potencial de seguridad.

Nota:

Cuando el parámetro return se usa, esta función utiliza el almacenamiento en búfer de salida interno, por lo que no puede usarse dentro de una función de llamada de retorno ob_start().

Ver también

  • highlight_string() - Remarcado de sintaxis de una cadena
  • Directivas INI de resaltado

__halt_compiler
highlight_string
Funciones Varias


Remarcado de sintaxis de una cadena

highlight_file
ignore_user_abort
Funciones Varias
PHP Manual

highlight_string

(PHP 4, PHP 5)

highlight_string — Remarcado de sintaxis de una cadena

Descripción

mixed highlight_string ( string $str [, bool $return = false ] )

Imprime o devuelve una versión con la sintaxis remarcada del código de PHP dado usando los colores definidos en el remarcador de sintaxis interno de PHP.

Parámetros

str

El código PHP a ser remarcado. Esto podría incluir la etiqueta de apertura.

return

Establezca este parámetro a TRUE para hacer que esta función devuelva el código remarcado.

Valores devueltos

Si return está establecido a TRUE, devuelve el código remarcado como cadena en vez de imprimirlo. De otro modo, devolverá TRUE en caso de éxito, y FALSE en caso de fallo.

Historial de cambios

Versión | Descripción
4.2.0 | Se añadió el parámetro return.

Ejemplos

Ejemplo #1 Ejemplo de highlight_string()

<?php
highlight_string('<?php phpinfo(); ?>');
?>

El ejemplo de arriba imprimirá (en PHP 4):

<code><font color="#000000">
<font color="#0000BB">&lt;?php phpinfo</font><font color="#007700">(); </font><font color="#0000BB">?&gt;</font>
</font>
</code>

El ejemplo de arriba imprimirá (en PHP 5):

<code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php phpinfo</span><span style="color: #007700">(); </span><span style="color: #0000BB">?&gt;</span>
</span>
</code>

Notas

Nota:

Cuando el parámetro return se usa, esta función utiliza el almacenamiento en búfer de salida interno, por lo que no puede usarse dentro de una función de llamada de retorno ob_start().

Ver también

  • highlight_file() - Remarcado de la sintaxis de un fichero
  • Directivas INI de resaltado

highlight_file
ignore_user_abort
Funciones Varias


Establecer si la desconexión de un cliente debería abortar la ejecución del script

highlight_string
pack
Funciones Varias
PHP Manual

ignore_user_abort

(PHP 4, PHP 5)

ignore_user_abort — Establecer si la desconexión de un cliente debería abortar la ejecución del script

Descripción

int ignore_user_abort ([ string $value ] )

Establece si la desconexión de un cliente deberia ocasionar que el script sea abortado.

Cuando se ejecuta PHP como un script de línea de comandos, y el tty del script se marcha sin que el script haya finalizado, el script morirá la siguiente vez que se intente escribir algo, a menos que value esté establecido a TRUE

Parámetros

value

Si se establece, esta función establecerá la configuración ini de ignore_user_abort al valor dado por value. Si no, esta función sólo devolverá la configuración previa sin cambiarla.

Valores devueltos

Devuelve la configuración previa, como un valor de tipo integer.

Ejemplos

Ejemplo #1 Un ejemplo ignore_user_abort()

<?php
// Ignorar los abortos hechos por el usuario y permitir que el script
// se ejecute para siempre
ignore_user_abort(true);
set_time_limit(0);

echo 'Probando la gestión de conexión de PHP';

// Ejecutar un bucle que hará, con suerte,
// que hagamos clic fuera de la
// página o en el botón "Parar".
while(1)
{
    // ¿Falló la conexión?
    if(connection_status() != CONNECTION_NORMAL)
    {
        break;
    }

    // Dormir durante 10 segundos
    sleep(10);
}

// Si se alcanza esto, el 'break'
// fue provocado desde dentro del bucle while

// Por lo que aquí podemos realizar una anotazión, o cualquier tarea
// que necesitemos sin ser dependientes realmente del
// navegador.
?>

Notas

PHP no detectará que el usuario abortó la conexión hasta que se haga un intento de enviar información al cliente. Usar simplemente una sentencia echo no garantiza que la información sea enviada, veáse flush().

Ver también

  • connection_aborted() - Verifica si el cliente se desconectó
  • connection_status() - Devuelve el campo de bits de status de conexión
  • Manejo de Conexiones para una descripción completa del manejo de conexiones de PHP.

highlight_string
pack
Funciones Varias


Empaqueta información a una cadena binaria

ignore_user_abort
php_check_syntax
Funciones Varias
PHP Manual

pack

(PHP 4, PHP 5)

pack — Empaqueta información a una cadena binaria

Descripción

string pack ( string $format [, mixed $args [, mixed $... ]] )

Empaqueta los argumentos dados a una cadena binaria según el formato dado por format.

La idea de esta función fue tomada de Perl y todos los códigos de formato funcionan igual que en Perl. Sin embargo, hay algunos códigos de formato que no están, como el código de formato "u" de Perl.

Observe que la distinción entre valores con signo y sin signo sólo afecta a la función unpack(), la función pack() da los mismos resultados para códigos de formato con y sin signo.

Parámetros

format

La cadena format consiste en códigos de formato seguidos de un argumento opcional de repetición. El argumento de repetición puede ser un valor entero o * para repetir hasta el final de los datos de entrada. Para a, A, h, H las repeticiones especifican cuántos caracteres se toman de un argumento de datos, para @ es la posición absoluta donde colocar el dato siguiente, para todo lo demás las repeticiones especifican cuántos argumentos de datos se consumen y empaquetan en la cadena binaria resultante.

Los formatos implementados actualmente son:

Caracteres de formato de pack()
Código | Descripción
a | cadena rellena de NUL
A | cadena rellena de SPACE
h | cadena hexadecimal, nibble bajo primero
H | cadena hexadecimal, nibble alto primero
c | signed char
C | carácter sin signo
s | short con signo (siempre 16 bits, orden de byte de la máquina)
S | short sin signo (siempre 16 bits, orden de byte de la máquina)
n | short sin signo (siempre 16 bits, orden de byte big endian)
v | short sin signo (siempre 16 bits, orden de byte little endian)
i | integer con signo (tamaño y orden de byte dependientes de la máquina)
I | integer sin signo (tamaño y orden de byte dependientes de la máquina)
l | long con signo (siempre 32 bits, orden de byte de la máquina)
L | long sin signo (siempre 32 bits, orden de byte de la máquina)
N | long sin signo (siempre 32 bits, orden de byte big endian)
V | long sin signo (siempre 32 bits, orden de byte little endian)
f | float (tamaño y representación dependientes de la máquina)
d | double (tamaño y representación dependientes de la máquina)
x | byte NUL
X | copia de seguridad de un byte
Z | Cadena rellena de NUL (nuevo en PHP 5.5)
@ relleno de NUL hasta la posición absoluta

args

Valores devueltos

Devuelve una cadena binaria que contiene información.

Historial de cambios

Versión | Descripción
5.5.0 | Se añadió el código "Z" con funcionalidad equivalente a "a" por compatibilidad con Perl.

Ejemplos

Ejemplo #1 Ejemplo de pack()

<?php
$datosbinarios = pack("nvc*", 0x1234, 0x5678, 65, 66);
?>

La cadena binaria resultante será de 6 bytes de longitud y contendrá la secuencia de bytes 0x12, 0x34, 0x78, 0x56, 0x41, 0x42.

Notas

Precaución

Observe que PHP almacena internamente los valores de tipo integer como valores con signo de tamaño dependiente de la máquina (de tipo long de C). Los literales de tipo integer y las operaciones que producen números fuera de los límites del tipo integer serán almacenados como float. Cuando se empaquetan estos floats como integers, primero son convertidos al tipo integer. Esto puede o no puede resultar en el patrón de bytes deseado.

El caso más relevante es cuando se empaquetan números sin signo que serían representables con el tipo integer si fueran sin signo. En sistemas donde el tipo integer tiene un tamaño de 32 bits, la conversión normalmente resultará en el mismo patrón de bytes que si el tipo integer fuera sin signo (aunque esto depende de las conversiones de con signo a sin signo definidas en la implementación, conforme al estándar de C). En sistemas donde el tipo integer tiene un tamaño de 64 bits, el tipo float casi con toda seguridad no tendrá una mantisa suficientemente grande para mantener el valor sin pérdida de precisión. Si esos sistemas también tienen un tipo int de C de 64 bits nativo (al contrario que la mayoría de sistemas basados en UNIX), la única forma de usar el formato de empaquetación I en el rango superior es crear valores integer negativos con la misma representación de bytes que el valor sin signo deseado.

Ver también

  • unpack() - Desempaqueta datos de una cadena binaria

ignore_user_abort
php_check_syntax
Funciones Varias


Verifica la sintaxis PHP del archivo especificado (y lo ejecuta)

pack
php_strip_whitespace
Funciones Varias
PHP Manual

php_check_syntax

(PHP 5 <= 5.0.4)

php_check_syntax — Verifica la sintaxis PHP del archivo especificado (y lo ejecuta)

Descripción

bool php_check_syntax ( string $filename [, string &$error_message ] )

Realiza un chequeo de sintaxis (lint) sobre el nombre_archivo, probando por errores de script.

Esto es similar al uso de php -l desde la línea de comandos, excepto que php_check_syntax() ejecutará (pero no produce salida) el nombre_archivo ejecutado.

Por ejemplo, si una función es definida en nombre_archivo, esta función definida estará disponible desde el archivo que ejecutó php_check_syntax(), pero la salida desde nombre_archivo será suprimida.

Nota:

Por razones técnicas, esta función es considerada obsoleta y eliminada de PHP. En su lugar, use php -l algun_archivo.php dese la línea de comandos.

Parámetros

nombre_archivo

El nombre del archivo a verificar.

mensaje_error

Si el parámetro mensaje_error es usado, contendrá un mensaje de error generado por el chequeo de sintaxis. mensaje_error es pasado por referencia.

Valores devueltos

Devuelve TRUE si el chequeo lint pasa, y FALSE si el chequeo falla o nombre_archivo no puede ser abierto.

Historial de cambios

Versión | Descripción
5.0.5 | Esta función fue eliminada de PHP.
5.0.3 | Llamar a exit() después de php_check_syntax() resultaba en un fallo de segmentación.
5.0.1 | mensaje_error es pasado por referencia.

Ejemplos

php -l algun_archivo.php

El resultado del ejemplo sería algo similar a:

PHP Parse error: unexpected T_STRING in /tmp/algun_archivo.php on line 81

Ver también

  • include - include
  • is_readable() - Indica si un fichero existe y es legible

pack
php_strip_whitespace
Funciones Varias


Devuelve el código fuente sin los comentarios y espacios blancos

php_check_syntax
show_source
Funciones Varias
PHP Manual

php_strip_whitespace

(PHP 5)

php_strip_whitespace — Devuelve el código fuente sin los comentarios y espacios blancos

Descripción

string php_strip_whitespace ( string $filename )

Devuelve el código fuente PHP en nombre_archivo, habiendo removido los comentarios PHP y los espacios blancos. Esto puede ser útil para determinar la cantidad de código real en sus scripts, en comparación con la cantidad de comentarios. Esto es similar al uso de php -w desde la línea de comandos.

Parámetros

filename

Ruta al archivo PHP.

Valores devueltos

El código fuente limpiado será devuelto en caso de éxito, o una cadena vacía si ocurre un error.

Nota:

Esta función trabaja como se describe, a partir de PHP 5.0.1. Antes de esta versión, solo devolvía una cadena vacía. Para más información sobre este fallo y su comportamiento anterior, vea el reporte de fallos » #29606.

Ejemplos

Ejemplo #1 Ejemplo de php_strip_whitespace()

<?php
// Comentario PHP aquí

/*
 * Otro comentario PHP
 */

echo        php_strip_whitespace(__FILE__);
// Los saltos de línea son considerados espacios blancos, y son eliminados también:
hacer_nada();
?>

El resultado del ejemplo sería:

<?php
 echo php_strip_whitespace(__FILE__); hacer_nada(); ?>

Note que los comentarios PHP han sido eliminados, al igual que los espacios blancos y la nueva línea después de la primera sentencia echo.

php_check_syntax
show_source
Funciones Varias


Alias de highlight_file

php_strip_whitespace
sleep
Funciones Varias
PHP Manual

show_source

(PHP 4, PHP 5)

show_source — Alias de highlight_file()

Descripción

Esta función es un alias de: highlight_file().

php_strip_whitespace
sleep
Funciones Varias


Retrasar la ejecución

show_source
sys_getloadavg
Funciones Varias
PHP Manual

sleep

(PHP 4, PHP 5)

sleep — Retrasar la ejecución

Descripción

int sleep ( int $seconds )

Retrasa la ejecución del programa durante el número de segundos dados por seconds.

Parámetros

seconds

El tiempo de parada en segundos.

Valores devueltos

Devuelve cero en caso de éxito, o FALSE en caso de error.

Si la llamada se interrumpió por una señal, sleep() devuelve un valor distinto de cero. En Windows, este valor será siempre 192 (el valor de la constante WAIT_IO_COMPLETION dentro de la API de Windows). En otras plataformas, el valor devuelto será el número de segundos que quedan para dormir.

Errores/Excepciones

Si el número de segundos especificado por seconds es negativo, esta función generará un error de nivel E_WARNING.

Historial de cambios

Versión | Descripción
5.3.4 | Antes de PHP 5.3.4, en Windows, sleep() siempre devuelve NULL cuando el sueño ha sucedido, si tener en cuenta si el sueño fue interrumpido o no.

Ejemplos

Ejemplo #1 Ejemplo de sleep()

<?php

// hora actual
echo date('h:i:s') . "\n";

// dormir durante 10 segundos
sleep(10);

// ¡despierta!
echo date('h:i:s') . "\n";

?>

Este ejemplo imprimirá (después de 10 segundos)

05:31:23
05:31:33

Ver también

  • usleep() - Retrasar la ejecución en microsegundos
  • time_nanosleep() - Retrasar por un número de segundos y nanosegundos
  • time_sleep_until() - Hacer que el script duerma hasta el momento especificado
  • set_time_limit() - Limita el tiempo máximo de ejecución

show_source
sys_getloadavg
Funciones Varias


Obtiene la carga media del sistema

sleep
time_nanosleep
Funciones Varias
PHP Manual

sys_getloadavg

(PHP 5 >= 5.1.3)

sys_getloadavg — Obtiene la carga media del sistema

Descripción

array sys_getloadavg ( void )

Devuelve tres muestras que representan la carga media del sistema (el número de procesos en la cola de ejecución del sistema) sobre los últimos 1, 5 y 15 minutos, respectivamente.

Valores devueltos

Devuelve un array con tres muestras (últimos 1, 5 y 15 minutos).

Ejemplos

Ejemplo #1 Ejemplo de sys_getloadavg()

<?php
$carga = sys_getloadavg();
if ($carga[0] > 80) {
    header('HTTP/1.1 503 Ocupado, pruebe más tarde');
    die('Servidor ocupado. Por favor, inténtelo de nuevo más tarde.');
}
?>

Notas

Nota: Esta función no está implementada en plataformas Windows.

sleep
time_nanosleep
Funciones Varias


Retrasar por un número de segundos y nanosegundos

sys_getloadavg
time_sleep_until
Funciones Varias
PHP Manual

time_nanosleep

(PHP 5)

time_nanosleep — Retrasar por un número de segundos y nanosegundos

Descripción

mixed time_nanosleep ( int $seconds , int $nanoseconds )

Retrasa la ejecución del programa por el nùmero de segundos y nanosegundos dados respectivamente por seconds y nanoseconds.

Parámetros

seconds

Debe ser un entero no negativo.

nanoseconds

Debe ser un entero positivo menor que mil millones (1000000000)

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Si el retraso fue interrumpido por una señal se devolverá una matriz asociativa con los siguientes componentes:

  • seconds - número de segundos que quedan del retraso
  • nanoseconds - número de nanosegundos que quedan del retraso

Historial de cambios

Versión | Descripción
5.3.0 | Esta función ahora está disponible en plataformas Windows.

Ejemplos

Ejemplo #1 Ejemplo de time_nanosleep()

<?php
// ¡Cuidado! Esto no funcionará como se esperaba si se devuelve una matriz
if (time_nanosleep(0, 500000000)) {
    echo "Dormido durante medio segundo.\n";
}

// Esto es mejor:
if (time_nanosleep(0, 500000000) === true) {
    echo "Dormido durante medio segundo.\n";
}

// Y esto es el mejor:
$nano = time_nanosleep(2, 100000);

if ($nano === true) {
    echo "Dormido durante 2 segundos, 100 microsegundos.\n";
} elseif ($nano === false) {
    echo "Falló la dormida.\n";
} elseif (is_array($nano)) {
    $segundos = $nano['seconds'];
    $nanosegundos = $nano['nanoseconds'];
    echo "Interrumpido por una señal.\n";
    echo "Tiempo restante: $segundos segundos, $nanosegundos nanosegundos.";
}
?>

Ver también

  • sleep() - Retrasar la ejecución
  • usleep() - Retrasar la ejecución en microsegundos
  • time_sleep_until() - Hacer que el script duerma hasta el momento especificado
  • set_time_limit() - Limita el tiempo máximo de ejecución

sys_getloadavg
time_sleep_until
Funciones Varias


Hacer que el script duerma hasta el momento especificado

time_nanosleep
uniqid
Funciones Varias
PHP Manual

time_sleep_until

(PHP 5 >= 5.1.0)

time_sleep_until — Hacer que el script duerma hasta el momento especificado

Descripción

bool time_sleep_until ( float $timestamp )

Hace que el script duerma hasta la marca de tiempo especificada dada por timestamp.

Parámetros

timestamp

La marca de tiempo en la que el script debería despertar.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.3.0 | Esta función ahora está disponible en plataformas Windows.

Errores/Excepciones

Si la timestamp especificada está en el pasado, esta función generará un error de nivel E_WARNING.

Ejemplos

Ejemplo #1 Un ejemplo de time_sleep_until()

<?php

//devuelve false y genera una advertencia
var_dump(time_sleep_until(time()-1));

// puede funcionar solamente en ordenadores más rápidos, dormará durante 0.2 segundos
var_dump(time_sleep_until(microtime(true)+0.2));

?>

Notas

Nota: Todas las señales serán emitidas después de que despierte el script.

Ver también

  • sleep() - Retrasar la ejecución
  • usleep() - Retrasar la ejecución en microsegundos
  • time_nanosleep() - Retrasar por un número de segundos y nanosegundos
  • set_time_limit() - Limita el tiempo máximo de ejecución

time_nanosleep
uniqid
Funciones Varias


Generar un ID único

time_sleep_until
unpack
Funciones Varias
PHP Manual

uniqid

(PHP 4, PHP 5)

uniqid — Generar un ID único

Descripción

string uniqid ([ string $prefix = "" [, bool $more_entropy = false ]] )

Obtiene un identificador único prefijado basado en la hora actual en microsegundos.

Parámetros

prefix

Puede ser útil, por ejemplo, si se generan identificadores simultáneamente en varios hosts que podrían por casualidad generar el identificador en el mismo microsegundo.

Con un prefix vacío, la cadena devuelta tendrá una longitud de 13 caracteres. Si more_entropy es TRUE, tendrá 23 caracteres.

more_entropy

Si está establecido a TRUE, uniqid() añadirá entropía adicional (usando el generador congruente lineal combinado) al final del valor retornado, lo que incrementará la posibilidad de que el resultado sea único.

Valores devueltos

Devuelve el identificador único, como cadena.

Ejemplos

Ejemplo #1 Ejemplo de uniqid()

<?php
/* Un id único, como: 4b3403665fea6 */
printf("uniqid(): %s\r\n", uniqid());

/* También podemos prefijar el id único, esto es lo mismo que
 * hacer:
 *
 * $uniqid = $prefijo . uniqid();
 * $uniqid = uniqid($prefijo);
 */
printf("uniqid('php_'): %s\r\n", uniqid('php_'));

/* También podemos activar el parámetro more_entropy, que es
 * requerido en algunos sistemas, como Cygwin. Esto hace que uniqid()
 * produzca un valor como: 4b340550242239.64159797
 */
printf("uniqid('', true): %s\r\n", uniqid('', true));
?>

Historial de cambios

Versión | Descripción
5.0.0 | El parámetro prefix se hizo opcional.
4.3.1 | Se aumentó el límite de 114 caracteres de longitud para prefix.

Notas

Precaución

Esta función no genera tokens criptográficamente seguros, de hecho, el valor devuelto, sin pasar ningún parámetro adicional, es ligeramente diferente del de microtime(). Si necesita generar tokens criptográficamente seguros utilice openssl_random_pseudo_bytes().

Nota:

Bajo Cygwin, more_entropy debe ser establecido a TRUE para que esta función funcione.

time_sleep_until
unpack
Funciones Varias


Desempaqueta datos de una cadena binaria

uniqid
usleep
Funciones Varias
PHP Manual

unpack

(PHP 4, PHP 5)

unpack — Desempaqueta datos de una cadena binaria

Descripción

array unpack ( string $format , string $data )

Desempaqueta desde una cadena binaria a una matriz de acuerdo a format.

Los datos desempaquetados son almacenados en una matriz asociativa. Para lograr esto es necesario nombrar los diferentes códigos de formato y separarlos con una barra /. Si estuviera presente un parámetro repetidor, cada una de las claves de la matriz tendría un número de secuencia tras el valor establecido.

Parámetros

format

Vea pack() para una explicación de los códigos de formato.

data

Los datos empaquetados.

Valores devueltos

Devuelve una matriz asociativa que contiene los elementos desempaquetados de la cadena binaria.

Historial de cambios

Versión Descripción
5.5.0

Cambios realizados para poner esta función en línea con Perl:

El código "a" ahora guarda bytes NULL sobrantes de cola.

El código "A" ahora elimina todos los espacios en blanco ASCII sobrantes de cola (espacios, tabulaciones, nuevas líneas, retorno de carro, y bytes NULL).

Se añadió en código "Z" para cadenas rellenadas con NULL, y elimina los bytes NULL sobrantes de cola.

Ejemplos

Ejemplo #1 Ejemplo de unpack()

<?php
$datosbinarios = "\x04\x00\xa0\x00";
$matriz = unpack("cchars/nint", $datosbinarios);
?>

La matriz resultante contendrá las entradas "chars" con el valor 4 e "int" con el valor 160.

Ejemplo #2 Ejemplo de unpack() con un repetidor

<?php
$datosbinarios = "\x04\x00\xa0\x00";
$matriz = unpack("c2chars/nint", $datosbinarios);
?>

La matriz resultante contendrá las entradas "chars1", "chars2" e "int".

Notas

Precaución

Note que PHP almacena internamente los valores enteros como valores con signo. Si desempaqueta un entero largo sin signo y es del mismo tamaño que los valores almacenados internamente por PHP, el resultado será un número negativo incluso si se especifica un valor sin signo al desempaquetar.

Precaución

Tenga en cuenta que si un elemento no tiene nombre, se usará una cadena vacía. Si hubiera más de un elemento sin nombre, esto significaría que se sobrescribirían algunos datos, ya que sus claves coincidirían, como ocurre en:

Ejemplo #3 Ejemplo unpack() con claves sin nombre

<?php
$datosbinarios = "\x32\x42\x00\xa0";
$matriz = unpack("c2/n", $datosbinarios);
var_dump($matriz);
?>

La matriz resultante contendrá las entradas "1" con el valor 160 y "2" con 66. El primer valor del especificador c quedaría sobrescrito por el primer valor del especificador n.

Ver también

  • pack() - Empaqueta información a una cadena binaria

uniqid
usleep
Funciones Varias


Retrasar la ejecución en microsegundos

unpack
Registro de cambios
Funciones Varias
PHP Manual

usleep

(PHP 4, PHP 5)

usleep — Retrasar la ejecución en microsegundos

Descripción

void usleep ( int $micro_seconds )

Retrasa la ejecución del programa durante el número de microsegundos dados.

Parámetros

micro_seconds

Tiempo de parada en microsegundos. Un microsegundo el la millonésima parte de un segundo.

Valores devueltos

No devuelve ningún valor.

Historial de cambios

Versión | Descripción
5.0.0 | Esta función ahora funciona en sistemas Windows.

Ejemplos

Ejemplo #1 Ejemplo de usleep()

<?php

// Hora actual
echo date('h:i:s') . "\n";

// esperar 2 segundos
usleep(2000000);

// ¡otra vez!
echo date('h:i:s') . "\n";

?>

El resultado del ejemplo sería:

11:13:28
11:13:30

Ver también

  • sleep() - Retrasar la ejecución
  • time_nanosleep() - Retrasar por un número de segundos y nanosegundos
  • time_sleep_until() - Hacer que el script duerma hasta el momento especificado
  • set_time_limit() - Limita el tiempo máximo de ejecución

unpack
Registro de cambios
Funciones Varias


Registro de cambios

A las clases/funciones/métodos de esta extensión se han realizado los siguientes cambios.

Version | Function | Description
5.5.0 | pack | Se añadió el código "Z" con funcionalidad equivalente a "a" por compatibilidad con Perl.
 | unpack | Cambios realizados para poner esta función en línea con Perl: El código "a" ahora guarda bytes NULL sobrantes de cola. El código "A" ahora elimina todos los espacios en blanco ASCII sobrantes de cola (espacios, tabulaciones, nuevas líneas, retorno de carro, y bytes NULL). Se añadió en código "Z" para cadenas rellenadas con NULL, y elimina los bytes NULL sobrantes de cola.
5.3.4 | sleep | Antes de PHP 5.3.4, en Windows, sleep siempre devuelve NULL cuando el sueño ha sucedido, si tener en cuenta si el sueño fue interrumpido o no.
5.3.0 | time_nanosleep | Esta función ahora está disponible en plataformas Windows.
 | time_sleep_until | Esta función ahora está disponible en plataformas Windows.
5.0.5 | php_check_syntax | Esta función fue eliminada de PHP.
5.0.3 | php_check_syntax | Llamar a exit después de php_check_syntax resultaba en un fallo de segmentación.
5.0.1 | php_check_syntax | mensaje_error es pasado por referencia.
5.0.0 | uniqid | El parámetro prefix se hizo opcional.
 | usleep | Esta función ahora funciona en sistemas Windows.
4.3.2 | get_browser | Se añadió el parámetro opcional return_array.
4.3.1 | uniqid | Se aumentó el límite de 114 caracteres de longitud para prefix.
4.2.1 | highlight_file | Esta función ahora le afecta safe_mode y open_basedir.
4.2.0 | highlight_file | Se añadió el parámetro return.
 | highlight_string | Se añadió el parámetro return.
usleep
Parsekit
Misc.


Parsekit

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Parsekit Funciones
    • parsekit_compile_file — Compilar una cadena de código PHP y devolver el array op resultante
    • parsekit_compile_string — Compilar una cadena de código PHP y devolver el array op resultante
    • parsekit_func_arginfo — Devolver información respectoa a/ a los argumento/s de una función
Registro de cambios
Introducción
Otras extensiones básicas


Introducción

Estas funciones permiten el análisis de tiempo de ejecución de códigos de operación compilado de scripts PHP.

Parsekit
Instalación/Configuración
Parsekit


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Parsekit


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/parsekit.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

PARSEKIT_QUIET (int)
Devolver detalles completos, pero si entradas NULL innecesarias.
PARSEKIT_SIMPLE (int)
Devuelve notación opcode abreviada.
PARSEKIT_EXTENDED_VALUE (int)
Bandera opnode
PARSEKIT_RESULT_CONST (int)
Bandera opnode
PARSEKIT_RESULT_EA_TYPE (int)
Bandera opnode
PARSEKIT_RESULT_JMP_ADDR (int)
Bandera opnode
PARSEKIT_RESULT_OPARRAY (int)
Bandera opnode
PARSEKIT_RESULT_OPLINE (int)
Bandera opnode
PARSEKIT_RESULT_VAR (int)
Bandera opnode
PARSEKIT_USAGE_UNKNOWN (int)
Bandera opnode
PARSEKIT_ZEND_INTERNAL_CLASS (int)
Tipo de Clase
PARSEKIT_ZEND_USER_CLASS (int)
Tipo de Clase
PARSEKIT_ZEND_EVAL_CODE (int)
Tipo de Función
PARSEKIT_ZEND_INTERNAL_FUNCTION (int)
Tipo de Función
PARSEKIT_ZEND_OVERLOADED_FUNCTION (int)
Tipo de Función
PARSEKIT_ZEND_OVERLOADED_FUNCTION_TEMPORARY (int) PHP >= 5.0.0
Tipo de Función
PARSEKIT_ZEND_USER_FUNCTION (int)
Tipo de Función
PARSEKIT_IS_CONST (int)
Tipo de Nodo
PARSEKIT_IS_TMP_VAR (int)
Tipo de Nodo
PARSEKIT_IS_UNUSED (int)
Tipo de Nodo
PARSEKIT_IS_VAR (int)
Tipo de Nodo
PARSEKIT_ZEND_ADD (int)
Opcode
PARSEKIT_ZEND_ADD_ARRAY_ELEMENT (int)
Opcode
PARSEKIT_ZEND_ADD_CHAR (int)
Opcode
PARSEKIT_ZEND_ADD_INTERFACE (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ADD_STRING (int)
Opcode
PARSEKIT_ZEND_ADD_VAR (int)
Opcode
PARSEKIT_ZEND_ASSIGN (int)
Opcode
PARSEKIT_ZEND_ASSIGN_ADD (int)
Opcode
PARSEKIT_ZEND_ASSIGN_BW_AND (int)
Opcode
PARSEKIT_ZEND_ASSIGN_BW_OR (int)
Opcode
PARSEKIT_ZEND_ASSIGN_BW_XOR (int)
Opcode
PARSEKIT_ZEND_ASSIGN_CONCAT (int)
Opcode
PARSEKIT_ZEND_ASSIGN_DIM (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ASSIGN_DIV (int)
Opcode
PARSEKIT_ZEND_ASSIGN_MOD (int)
Opcode
PARSEKIT_ZEND_ASSIGN_MUL (int)
Opcode
PARSEKIT_ZEND_ASSIGN_OBJ (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ASSIGN_REF (int)
Opcode
PARSEKIT_ZEND_ASSIGN_SL (int)
Opcode
PARSEKIT_ZEND_ASSIGN_SR (int)
Opcode
PARSEKIT_ZEND_ASSIGN_SUB (int)
Opcode
PARSEKIT_ZEND_BEGIN_SILENCE (int)
Opcode
PARSEKIT_ZEND_BOOL (int)
Opcode
PARSEKIT_ZEND_BOOL_NOT (int)
Opcode
PARSEKIT_ZEND_BOOL_XOR (int)
Opcode
PARSEKIT_ZEND_BRK (int)
Opcode
PARSEKIT_ZEND_BW_AND (int)
Opcode
PARSEKIT_ZEND_BW_NOT (int)
Opcode
PARSEKIT_ZEND_BW_OR (int)
Opcode
PARSEKIT_ZEND_BW_XOR (int)
Opcode
PARSEKIT_ZEND_CASE (int)
Opcode
PARSEKIT_ZEND_CAST (int)
Opcode
PARSEKIT_ZEND_CATCH (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_CLONE (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_CONCAT (int)
Opcode
PARSEKIT_ZEND_CONT (int)
Opcode
PARSEKIT_ZEND_DECLARE_CLASS (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_DECLARE_FUNCTION (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_DECLARE_INHERITED_CLASS (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_DIV (int)
Opcode
PARSEKIT_ZEND_DO_FCALL (int)
Opcode
PARSEKIT_ZEND_DO_FCALL_BY_NAME (int)
Opcode
PARSEKIT_ZEND_ECHO (int)
Opcode
PARSEKIT_ZEND_END_SILENCE (int)
Opcode
PARSEKIT_ZEND_EXIT (int)
Opcode
PARSEKIT_ZEND_EXT_FCALL_BEGIN (int)
Opcode
PARSEKIT_ZEND_EXT_FCALL_END (int)
Opcode
PARSEKIT_ZEND_EXT_NOP (int)
Opcode
PARSEKIT_ZEND_EXT_STMT (int)
Opcode
PARSEKIT_ZEND_FETCH_CLASS (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_FETCH_CONSTANT (int)
Opcode
PARSEKIT_ZEND_FETCH_DIM_FUNC_ARG (int)
Opcode
PARSEKIT_ZEND_FETCH_DIM_IS (int)
Opcode
PARSEKIT_ZEND_FETCH_DIM_R (int)
Opcode
PARSEKIT_ZEND_FETCH_DIM_RW (int)
Opcode
PARSEKIT_ZEND_FETCH_DIM_TMP_VAR (int)
Opcode
PARSEKIT_ZEND_FETCH_DIM_UNSET (int)
Opcode
PARSEKIT_ZEND_FETCH_DIM_W (int)
Opcode
PARSEKIT_ZEND_FETCH_FUNC_ARG (int)
Opcode
PARSEKIT_ZEND_FETCH_IS (int)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_FUNC_ARG (int)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_IS (int)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_R (int)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_RW (int)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_UNSET (int)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_W (int)
Opcode
PARSEKIT_ZEND_FETCH_R (int)
Opcode
PARSEKIT_ZEND_FETCH_RW (int)
Opcode
PARSEKIT_ZEND_FETCH_UNSET (int)
Opcode
PARSEKIT_ZEND_FETCH_W (int)
Opcode
PARSEKIT_ZEND_FE_FETCH (int)
Opcode
PARSEKIT_ZEND_FE_RESET (int)
Opcode
PARSEKIT_ZEND_FREE (int)
Opcode
PARSEKIT_ZEND_HANDLE_EXCEPTION (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_IMPORT_CLASS (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_IMPORT_CONST (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_IMPORT_FUNCTION (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_INCLUDE_OR_EVAL (int)
Opcode
PARSEKIT_ZEND_INIT_ARRAY (int)
Opcode
PARSEKIT_ZEND_INIT_CTOR_CALL (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_INIT_FCALL_BY_NAME (int)
Opcode
PARSEKIT_ZEND_INIT_METHOD_CALL (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_INIT_STATIC_METHOD_CALL (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_INIT_STRING (int)
Opcode
PARSEKIT_ZEND_INSTANCEOF (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ISSET_ISEMPTY (int) PHP < 5.0.0
Opcode
PARSEKIT_ZEND_ISSET_ISEMPTY_DIM_OBJ (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ISSET_ISEMPTY_PROP_OBJ (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ISSET_ISEMPTY_VAR (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_IS_EQUAL (int)
Opcode
PARSEKIT_ZEND_IS_IDENTICAL (int)
Opcode
PARSEKIT_ZEND_IS_NOT_EQUAL (int)
Opcode
PARSEKIT_ZEND_IS_NOT_IDENTICAL (int)
Opcode
PARSEKIT_ZEND_IS_SMALLER (int)
Opcode
PARSEKIT_ZEND_IS_SMALLER_OR_EQUAL (int)
Opcode
PARSEKIT_ZEND_JMP (int)
Opcode
PARSEKIT_ZEND_JMPNZ (int)
Opcode
PARSEKIT_ZEND_JMPNZ_EX (int)
Opcode
PARSEKIT_ZEND_JMPZ (int)
Opcode
PARSEKIT_ZEND_JMPZNZ (int)
Opcode
PARSEKIT_ZEND_JMPZ_EX (int)
Opcode
PARSEKIT_ZEND_JMP_NO_CTOR (int)
Opcode
PARSEKIT_ZEND_MOD (int)
Opcode
PARSEKIT_ZEND_MUL (int)
Opcode
PARSEKIT_ZEND_NEW (int)
Opcode
PARSEKIT_ZEND_NOP (int)
Opcode
PARSEKIT_ZEND_OP_DATA (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_POST_DEC (int)
Opcode
PARSEKIT_ZEND_POST_DEC_OBJ (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_POST_INC (int)
Opcode
PARSEKIT_ZEND_POST_INC_OBJ (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_PRE_DEC (int)
Opcode
PARSEKIT_ZEND_PRE_DEC_OBJ (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_PRE_INC (int)
Opcode
PARSEKIT_ZEND_PRE_INC_OBJ (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_PRINT (int)
Opcode
PARSEKIT_ZEND_QM_ASSIGN (int)
Opcode
PARSEKIT_ZEND_RAISE_ABSTRACT_ERROR (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_RECV (int)
Opcode
PARSEKIT_ZEND_RECV_INIT (int)
Opcode
PARSEKIT_ZEND_RETURN (int)
Opcode
PARSEKIT_ZEND_SEND_REF (int)
Opcode
PARSEKIT_ZEND_SEND_VAL (int)
Opcode
PARSEKIT_ZEND_SEND_VAR (int)
Opcode
PARSEKIT_ZEND_SEND_VAR_NO_REF (int)
Opcode
PARSEKIT_ZEND_SL (int)
Opcode
PARSEKIT_ZEND_SR (int)
Opcode
PARSEKIT_ZEND_SUB (int)
Opcode
PARSEKIT_ZEND_SWITCH_FREE (int)
Opcode
PARSEKIT_ZEND_THROW (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_TICKS (int)
Opcode
PARSEKIT_ZEND_UNSET_DIM_OBJ (int)
Opcode
PARSEKIT_ZEND_UNSET_VAR (int)
Opcode
PARSEKIT_ZEND_VERIFY_ABSTRACT_CLASS (int) PHP >= 5.0.0
Opcode

Tipos de recursos
Parsekit Funciones
Parsekit


Parsekit Funciones

Tabla de contenidos

  • parsekit_compile_file — Compilar una cadena de código PHP y devolver el array op resultante
  • parsekit_compile_string — Compilar una cadena de código PHP y devolver el array op resultante
  • parsekit_func_arginfo — Devolver información respectoa a/ a los argumento/s de una función
Constantes predefinidas
parsekit_compile_file
Parsekit


Compilar una cadena de código PHP y devolver el array op resultante

Parsekit Funciones
parsekit_compile_string
Parsekit Funciones
PHP Manual

parsekit_compile_file

(PECL parsekit >= 0.2.0)

parsekit_compile_file — Compilar una cadena de código PHP y devolver el array op resultante

Descripción

array parsekit_compile_file ( string $filename [, array &$errors [, int $options = PARSEKIT_QUIET ]] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

filename

Una cadena que contiene el nombre del fichero a compilar. Similar al argumento pasado a include.

errors

Un hash 2D de errores (incluyendo errores fatales) encontrados durante la compilación. Devuelto por referencia.

options

O PARSEKIT_QUIET o PARSEKIT_SIMPLE. Para producir varios grados de verbosidad en la salida devuelta.

Valores devueltos

Devuelve una estructura de array multicapa compleja como está detallado abajo.

Ejemplos

Ejemplo #1 Ejemplo de parsekit_compile_file()

<?php
var_dump(parsekit_compile_file('hello_world.php', $errors, PARSEKIT_SIMPLE));
?>

El resultado del ejemplo sería:

array(5) {
  [0]=>
  string(37) "ZEND_ECHO UNUSED 'Hello World' UNUSED"
  [1]=>
  string(30) "ZEND_RETURN UNUSED NULL UNUSED"
  [2]=>
  string(42) "ZEND_HANDLE_EXCEPTION UNUSED UNUSED UNUSED"
  ["function_table"]=>
  NULL
  ["class_table"]=>
  NULL
}

Ver también

  • parsekit_compile_string() - Compilar una cadena de código PHP y devolver el array op resultante

Parsekit Funciones
parsekit_compile_string
Parsekit Funciones


Compilar una cadena de código PHP y devolver el array op resultante

parsekit_compile_file
parsekit_func_arginfo
Parsekit Funciones
PHP Manual

parsekit_compile_string

(PECL parsekit >= 0.2.0)

parsekit_compile_string — Compilar una cadena de código PHP y devolver el array op resultante

Descripción

array parsekit_compile_string ( string $phpcode [, array &$errors [, int $options = PARSEKIT_QUIET ]] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

phpcode

Una cadena que contiene código PHP. Similar al argumento pasado a eval().

errors

Un hash 2D de errores (incluyendo errores fatales) encontrados durante la compilación. Devuelto por referencia.

options

O PARSEKIT_QUIET o PARSEKIT_SIMPLE. Para producir varios grados de verbosidad en la salida devuelta.

Valores devueltos

Devuelve una estructura de array multicapa compleja como está detallado abajo.

Ejemplos

Ejemplo #1 Ejemplo de parsekit_compile_string()

<?php
  $ops = parsekit_compile_string('
echo "Foo\n";
', $errors, PARSEKIT_QUIET);

  var_dump($ops);
?>

El resultado del ejemplo sería:

array(20) {
  ["type"]=>
  int(4)
  ["type_name"]=>
  string(14) "ZEND_EVAL_CODE"
  ["fn_flags"]=>
  int(0)
  ["num_args"]=>
  int(0)
  ["required_num_args"]=>
  int(0)
  ["pass_rest_by_reference"]=>
  bool(false)
  ["uses_this"]=>
  bool(false)
  ["line_start"]=>
  int(0)
  ["line_end"]=>
  int(0)
  ["return_reference"]=>
  bool(false)
  ["refcount"]=>
  int(1)
  ["last"]=>
  int(3)
  ["size"]=>
  int(3)
  ["T"]=>
  int(0)
  ["last_brk_cont"]=>
  int(0)
  ["current_brk_cont"]=>
  int(-1)
  ["backpatch_count"]=>
  int(0)
  ["done_pass_two"]=>
  bool(true)
  ["filename"]=>
  string(17) "Parsekit Compiler"
  ["opcodes"]=>
  array(3) {
    [8594800]=>
    array(5) {
      ["opcode"]=>
      int(40)
      ["opcode_name"]=>
      string(9) "ZEND_ECHO"
      ["flags"]=>
      int(768)
      ["op1"]=>
      array(3) {
        ["type"]=>
        int(1)
        ["type_name"]=>
        string(8) "IS_CONST"
        ["constant"]=>
        &string(4) "Foo
"
      }
      ["lineno"]=>
      int(2)
    }
    ["859484C"]=>
    array(6) {
      ["opcode"]=>
      int(62)
      ["opcode_name"]=>
      string(11) "ZEND_RETURN"
      ["flags"]=>
      int(16777984)
      ["op1"]=>
      array(3) {
        ["type"]=>
        int(1)
        ["type_name"]=>
        string(8) "IS_CONST"
        ["constant"]=>
        &NULL
      }
      ["extended_value"]=>
      int(0)
      ["lineno"]=>
      int(3)
    }
    [8594898]=>
    array(4) {
      ["opcode"]=>
      int(149)
      ["opcode_name"]=>
      string(21) "ZEND_HANDLE_EXCEPTION"
      ["flags"]=>
      int(0)
      ["lineno"]=>
      int(3)
    }
  }
}

Ver también

  • parsekit_compile_file() - Compilar una cadena de código PHP y devolver el array op resultante

parsekit_compile_file
parsekit_func_arginfo
Parsekit Funciones


Devolver información respectoa a/ a los argumento/s de una función

parsekit_compile_string
SPL
Parsekit Funciones
PHP Manual

parsekit_func_arginfo

(PECL parsekit >= 0.3.0)

parsekit_func_arginfo — Devolver información respectoa a/ a los argumento/s de una función

Descripción

array parsekit_func_arginfo ( mixed $function )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

function

Una cadena que describe una función, o un array que describe una clase/método.

Valores devueltos

Devuelve un array que contiene la información del argumento.

Ejemplos

Ejemplo #1 Ejemplo de parsekit_func_arginfo()

<?php
function foo($bar, stdClass $baz, &$bomb, $bling = false) {
}

var_dump(parsekit_func_arginfo('foo'));
?>

El resultado del ejemplo sería:

array(4) {
  [0]=>
  array(3) {
    ["name"]=>
    string(3) "bar"
    ["allow_null"]=>
    bool(true)
    ["pass_by_reference"]=>
    bool(false)
  }
  [1]=>
  array(4) {
    ["name"]=>
    string(3) "baz"
    ["class_name"]=>
    string(8) "stdClass"
    ["allow_null"]=>
    bool(false)
    ["pass_by_reference"]=>
    bool(false)
  }
  [2]=>
  array(3) {
    ["name"]=>
    string(4) "bomb"
    ["allow_null"]=>
    bool(true)
    ["pass_by_reference"]=>
    bool(true)
  }
  [3]=>
  array(3) {
    ["name"]=>
    string(5) "bling"
    ["allow_null"]=>
    bool(true)
    ["pass_by_reference"]=>
    bool(false)
  }
}

parsekit_compile_string
SPL
Parsekit Funciones


SPL - Biblioteca estándar de PHP

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Estructuras de datos
    • SplDoublyLinkedList — La clase SplDoublyLinkedList
    • SplStack — La clase SplStack
    • SplQueue — La clase SplQueue
    • SplHeap — La clase SplHeap
    • SplMaxHeap — la clase SplMaxHeap
    • SplMinHeap — La clase SplMinHeap
    • SplPriorityQueue — la clase SplPriorityQueue
    • SplFixedArray — La clase SplFixedArray
    • SplObjectStorage — La clase SplObjectStorage
  • Iteradores
    • AppendIterator — La clase AppendIterator
    • ArrayIterator — La clase ArrayIterator
    • CachingIterator — La clase CachingIterator
    • CallbackFilterIterator — La clase CallbackFilterIterator
    • DirectoryIterator — La clase DirectoryIterator
    • EmptyIterator — La clase EmptyIterator
    • FilesystemIterator — La clase FilesystemIterator
    • FilterIterator — The FilterIterator class
    • GlobIterator — La clase GlobIterator
    • InfiniteIterator — La clase InfiniteIterator
    • IteratorIterator — La clase IteratorIterator
    • LimitIterator — La clase LimitIterator
    • MultipleIterator — La clase MultipleIterator
    • NoRewindIterator — La clase NoRewindIterator
    • ParentIterator — La clase ParentIterator
    • RecursiveArrayIterator — La clase RecursiveArrayIterator
    • RecursiveCachingIterator — La clase RecursiveCachingIterator
    • RecursiveCallbackFilterIterator — La clase RecursiveCallbackFilterIterator
    • RecursiveDirectoryIterator — La clase RecursiveDirectoryIterator
    • RecursiveFilterIterator — La clase RecursiveFilterIterator
    • RecursiveIteratorIterator — La clase RecursiveIteratorIterator
    • RecursiveRegexIterator — La clase RecursiveRegexIterator
    • RecursiveTreeIterator — La clase RecursiveTreeIterator
    • RegexIterator — La clase RegexIterator
  • Interfaces
    • Countable — El interfaz Countable
    • OuterIterator — El interfaz OuterIterator
    • RecursiveIterator — El interfaz RecursiveIterator
    • SeekableIterator — La interfaz SeekableIterator
  • Excepciones
    • BadFunctionCallException — La clase BadFunctionCallException
    • BadMethodCallException — La clase BadMethodCallException
    • DomainException — La clase DomainException
    • InvalidArgumentException — La clase InvalidArgumentException
    • LengthException — La clase LengthException
    • LogicException — La clase LogicException
    • OutOfBoundsException — La clase OutOfBoundsException
    • OutOfRangeException — La clase OutOfRangeException
    • OverflowException — La clase OverflowException
    • RangeException — La clase RangeException
    • RuntimeException — La clase RuntimeException
    • UnderflowException — la clase UnderflowException
    • UnexpectedValueException — La clase UnexpectedValueException
  • Funciones SPL
    • class_implements — Devuelve las interfaces que son implementadas en la clase dada
    • class_parents — Devuelve las clases padre de la clase dada.
    • class_uses — Devolver los "traits" usados por la clase dada
    • iterator_apply — Llama una función para cada elemento en un iterador
    • iterator_count — Contar los elementos en un iterador
    • iterator_to_array — Copia el iterador en un array
    • spl_autoload_call — Probar todos las funciones registradas __autoload() para cargar la clase solicitada
    • spl_autoload_extensions — Registrar y devolver las extensiones de ficheros predeterminadas para spl_autoload
    • spl_autoload_functions — Devolver todas las funciones __autoload() registradas
    • spl_autoload_register — Registrar las funciones dadas como implementación de __autoload()
    • spl_autoload_unregister — Desregistrar una función dada como implementadión de __autoload()
    • spl_autoload — Implementación predeterminada para __autoload()
    • spl_classes — Devuelve las clases SPL disponibles
    • spl_object_hash — Devuelve el hash id del objeto dado
  • Manejo de ficheros
    • SplFileInfo — La clase SplFileInfo
    • SplFileObject — La clase SplFileObject
    • SplTempFileObject — La clase SplTempFileObject
  • Misceláneos clases e interfaces
    • ArrayObject — La clase ArrayObject
    • SplObserver — La interfaz SplObserver
    • SplSubject — El interfaz SplSubject
parsekit_func_arginfo
Introducción
Otras extensiones básicas


Introducción

La Biblioteca Estándar de PHP (SPL por sus siglas en inglés) es una colección de interfaces y clases que están pensadas para solucionar problemas comunes.

Nota:

La documentación antigua de "doxygen" se puede encontrar » aquí.

SPL
Instalación/Configuración
SPL


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
SPL


Instalación

Esta extensión está disponible y compilada por defecto desde PHP 5.0.0.

Nota:

Desde PHP 5.3.0 esta extensión no puede ser desactivada y está por lo tanto siempre disponible.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Advertencia

SPL usa constantes de clase desde PHP 5.1. En versiones anteriores se usan constantes del tipo RIT_LEAVES_ONLY.

Tipos de recursos
Estructuras de datos
SPL


Estructuras de datos

Tabla de contenidos

  • SplDoublyLinkedList
  • SplStack
  • SplQueue
  • SplHeap
  • SplMaxHeap
  • SplMinHeap
  • SplPriorityQueue
  • SplFixedArray
  • SplObjectStorage

SPL provee un conjunto de estructuras de datos estándar. Ellas están agrupadas por su implementación base que usualmente define su campo de aplicación.

Listas Doblemente Enlazadas

Una Lista Doblemente Enlazada (LDE) es una lista de nodos enlazados en ambas direcciones con otros. Las operaciones de iteración, acceso a ambos finales, adición o remoción de nodos tienen un costo de O(1) cuando la estructura base es una LDE. Por lo tanto provee una Implementación decente para pilas y colas.

  • SplDoublyLinkedList
    • SplStack
    • SplQueue

Montículos

Los montículos son estructuras de arboles que siguen la propiedad de los montículos: cada nodo es mas grande o igual a sus hijos, cuando es comparado usando el método comparar implementado y que es global al montículo.

  • SplHeap
    • SplMaxHeap
    • SplMinHeap
  • SplPriorityQueue

Arreglos

Los arreglos son estructuras que almacenan datos de una forma continua, accesible usando índices. No deben confundirse con los Array de PHP: los Array de PHP son en realidad implementadas como tablas hash ordenadas.

  • SplFixedArray

Mapa

Un mapa es una estructura de datos que mantiene pareas de llaves y valores. Las matrices de PHP pueden ser vistas como mapas de integer/string a valores. SPL provee un mapa de objetos a datos. Este mapa puede ser usado además como un conjunto de objetos.

  • SplObjectStorage
Constantes predefinidas
SplDoublyLinkedList
SPL


La clase SplDoublyLinkedList

(PHP 5 >= 5.3.0)

Introducción

La clase SplDoublyLinkedList proporciona las principales funcionalidades para una lista doblemente enlazada.

Sinopsis de la Clase

SplDoublyLinkedList implements Iterator , ArrayAccess , Countable {
/* Métodos */
public __construct ( void )
public mixed bottom ( void )
public int count ( void )
public mixed current ( void )
public int getIteratorMode ( void )
public bool isEmpty ( void )
public mixed key ( void )
public void next ( void )
public bool offsetExists ( mixed $index )
public mixed offsetGet ( mixed $index )
public void offsetSet ( mixed $index , mixed $newval )
public void offsetUnset ( mixed $index )
public mixed pop ( void )
public void prev ( void )
public void push ( mixed $value )
public void rewind ( void )
public string serialize ( void )
public void setIteratorMode ( int $mode )
public mixed shift ( void )
public mixed top ( void )
public void unserialize ( string $serialized )
public void unshift ( mixed $value )
public bool valid ( void )
}

Tabla de contenidos

  • SplDoublyLinkedList::bottom — Ver el nodo de el comienzo de la lista doblemente enlazada
  • SplDoublyLinkedList::__construct — Construye una nueva lista doblemente enlazada
  • SplDoublyLinkedList::count — Cuenta el número de elementos en la lista doblemente enlazada
  • SplDoublyLinkedList::current — Devuelve la entrada del array actual
  • SplDoublyLinkedList::getIteratorMode — Devuelve el modo de la iteración
  • SplDoublyLinkedList::isEmpty — Comprueba si la lista doblemente enlazada está vacía
  • SplDoublyLinkedList::key — Devuelve el índice del nodo actual
  • SplDoublyLinkedList::next — Mover a la siguiente entrada
  • SplDoublyLinkedList::offsetExists — Devuelve si el índice solicitado existe
  • SplDoublyLinkedList::offsetGet — Devuelve el valor del índice específicado
  • SplDoublyLinkedList::offsetSet — Establece el valor en el índice específicado
  • SplDoublyLinkedList::offsetUnset — Destruir el valor de el índice específicado
  • SplDoublyLinkedList::pop — Extrae un nodo del final de la lista doblementa enlazada
  • SplDoublyLinkedList::prev — Mueve a la entrada anterior
  • SplDoublyLinkedList::push — Inserta un elemento al final de la lista doblemente enlazada
  • SplDoublyLinkedList::rewind — Rebobina el iterador hasta el inicio
  • SplDoublyLinkedList::serialize — Serializa el almacenamiento
  • SplDoublyLinkedList::setIteratorMode — Establece el modo de iteración
  • SplDoublyLinkedList::shift — Quita un nodo del inicio de la lista doblemente enlazada
  • SplDoublyLinkedList::top — Obtener el nodo de el final de la lista doblemente enlazada
  • SplDoublyLinkedList::unserialize — Deserializa el almacenamiento
  • SplDoublyLinkedList::unshift — Añade un elemento al inicio de la lista doblemente enlazada
  • SplDoublyLinkedList::valid — Comprueba si la lista doblemente enlazada contiene más nodos
Estructuras de datos
SplDoublyLinkedList::bottom
Estructuras de datos


Ver el nodo de el comienzo de la lista doblemente enlazada

SplDoublyLinkedList
SplDoublyLinkedList::__construct
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::bottom

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::bottom — Ver el nodo de el comienzo de la lista doblemente enlazada

Descripción

public mixed SplDoublyLinkedList::bottom ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El valor de el primer nodo.

Errores/Excepciones

Lanza una excepción RuntimeException cuando la estructura de datos está vacía.

SplDoublyLinkedList
SplDoublyLinkedList::__construct
SplDoublyLinkedList


Construye una nueva lista doblemente enlazada

SplDoublyLinkedList::bottom
SplDoublyLinkedList::count
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::__construct

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::__construct — Construye una nueva lista doblemente enlazada

Descripción

public SplDoublyLinkedList::__construct() ( void )

Esto construye una nueva lista doblemente enlazada vacía.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de SplDoublyLinkedList::__construct()

<?php
$dll = new SplDoublyLinkedList();

$dll->push(2);
$dll->push(3);
$dll->unshift(5);

var_dump($dll);
?>

El resultado del ejemplo sería:

object(SplDoublyLinkedList)#1 (2) {
  ["flags":"SplDoublyLinkedList":private]=>
  int(0)
  ["dllist":"SplDoublyLinkedList":private]=>
  array(3) {
    [0]=>
    int(5)
    [1]=>
    int(2)
    [2]=>
    int(3)
  }
}

SplDoublyLinkedList::bottom
SplDoublyLinkedList::count
SplDoublyLinkedList


Cuenta el número de elementos en la lista doblemente enlazada

SplDoublyLinkedList::__construct
SplDoublyLinkedList::current
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::count

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::count — Cuenta el número de elementos en la lista doblemente enlazada

Descripción

public int SplDoublyLinkedList::count ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el número de elementos en la lista doblemente enlazada.

SplDoublyLinkedList::__construct
SplDoublyLinkedList::current
SplDoublyLinkedList


Devuelve la entrada del array actual

SplDoublyLinkedList::count
SplDoublyLinkedList::getIteratorMode
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::current

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::current — Devuelve la entrada del array actual

Descripción

public mixed SplDoublyLinkedList::current ( void )

Obtiene el nodo actual de la lista doblemente enlazada.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El valor del nodo actual.

SplDoublyLinkedList::count
SplDoublyLinkedList::getIteratorMode
SplDoublyLinkedList


Devuelve el modo de la iteración

SplDoublyLinkedList::current
SplDoublyLinkedList::isEmpty
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::getIteratorMode

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::getIteratorMode — Devuelve el modo de la iteración

Descripción

public int SplDoublyLinkedList::getIteratorMode ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve los diferentes modos y flags que afectan la iteración.

SplDoublyLinkedList::current
SplDoublyLinkedList::isEmpty
SplDoublyLinkedList


Comprueba si la lista doblemente enlazada está vacía

SplDoublyLinkedList::getIteratorMode
SplDoublyLinkedList::key
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::isEmpty

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::isEmpty — Comprueba si la lista doblemente enlazada está vacía

Descripción

public bool SplDoublyLinkedList::isEmpty ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve si la lista doblemente enlazada está vacía.

SplDoublyLinkedList::getIteratorMode
SplDoublyLinkedList::key
SplDoublyLinkedList


Devuelve el índice del nodo actual

SplDoublyLinkedList::isEmpty
SplDoublyLinkedList::next
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::key

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::key — Devuelve el índice del nodo actual

Descripción

public mixed SplDoublyLinkedList::key ( void )

Esta función devuelve el índice del nodo actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El índice del nodo actual.

SplDoublyLinkedList::isEmpty
SplDoublyLinkedList::next
SplDoublyLinkedList


Mover a la siguiente entrada

SplDoublyLinkedList::key
SplDoublyLinkedList::offsetExists
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::next

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::next — Mover a la siguiente entrada

Descripción

public void SplDoublyLinkedList::next ( void )

Mueve el iterador al siguiente nodo.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

SplDoublyLinkedList::key
SplDoublyLinkedList::offsetExists
SplDoublyLinkedList


Devuelve si el índice solicitado existe

SplDoublyLinkedList::next
SplDoublyLinkedList::offsetGet
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::offsetExists

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::offsetExists — Devuelve si el índice solicitado existe

Descripción

public bool SplDoublyLinkedList::offsetExists ( mixed $index )

Parámetros

index

El índice a ser comprobado.

Valores devueltos

TRUE si el índice index solicitado existe, en caso contrario FALSE

SplDoublyLinkedList::next
SplDoublyLinkedList::offsetGet
SplDoublyLinkedList


Devuelve el valor del índice específicado

SplDoublyLinkedList::offsetExists
SplDoublyLinkedList::offsetSet
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::offsetGet

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::offsetGet — Devuelve el valor del índice específicado

Descripción

public mixed SplDoublyLinkedList::offsetGet ( mixed $index )

Parámetros

index

El índice con el valor.

Valores devueltos

El valor específicado en index.

Errores/Excepciones

Lanza una excepción OutOfRangeException cuando index está fuera de los límites o cuando index no puede ser convertido a un entero.

SplDoublyLinkedList::offsetExists
SplDoublyLinkedList::offsetSet
SplDoublyLinkedList


Establece el valor en el índice específicado

SplDoublyLinkedList::offsetGet
SplDoublyLinkedList::offsetUnset
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::offsetSet

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::offsetSet — Establece el valor en el índice específicado

Descripción

public void SplDoublyLinkedList::offsetSet ( mixed $index , mixed $newval )

Establece el valor para el index específicado para newval.

Parámetros

index

El índice a ser establecido.

newval

El nuevo valor para el index.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Lanza una excepción OutOfRangeException cuando index está fuera de los límites o cuando index no puede ser convertido a un entero.

SplDoublyLinkedList::offsetGet
SplDoublyLinkedList::offsetUnset
SplDoublyLinkedList


Destruir el valor de el índice específicado

SplDoublyLinkedList::offsetSet
SplDoublyLinkedList::pop
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::offsetUnset

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::offsetUnset — Destruir el valor de el índice específicado

Descripción

public void SplDoublyLinkedList::offsetUnset ( mixed $index )

Destruye el valor de el índice específicado.

Parámetros

index

El índice a ser destruído.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Lanza una excepción OutOfRangeException cuando index está fuera de los límites o cuando index no puede ser convertido a un entero.

SplDoublyLinkedList::offsetSet
SplDoublyLinkedList::pop
SplDoublyLinkedList


Extrae un nodo del final de la lista doblementa enlazada

SplDoublyLinkedList::offsetUnset
SplDoublyLinkedList::prev
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::pop

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::pop — Extrae un nodo del final de la lista doblementa enlazada

Descripción

public mixed SplDoublyLinkedList::pop ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El valor del nodo a extraer.

Errores/Excepciones

Lanza una excepción RuntimeException cuando la estructura de datos está vacía.

SplDoublyLinkedList::offsetUnset
SplDoublyLinkedList::prev
SplDoublyLinkedList


Mueve a la entrada anterior

SplDoublyLinkedList::pop
SplDoublyLinkedList::push
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::prev

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::prev — Mueve a la entrada anterior

Descripción

public void SplDoublyLinkedList::prev ( void )

Mueve el iterador a el nodo anterior.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

SplDoublyLinkedList::pop
SplDoublyLinkedList::push
SplDoublyLinkedList


Inserta un elemento al final de la lista doblemente enlazada

SplDoublyLinkedList::prev
SplDoublyLinkedList::rewind
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::push

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::push — Inserta un elemento al final de la lista doblemente enlazada

Descripción

public void SplDoublyLinkedList::push ( mixed $value )

Inserta un value al final de la lista doblemente enlazada.

Parámetros

value

El valor a insertar.

Valores devueltos

No devuelve ningún valor.

SplDoublyLinkedList::prev
SplDoublyLinkedList::rewind
SplDoublyLinkedList


Rebobina el iterador hasta el inicio

SplDoublyLinkedList::push
SplDoublyLinkedList::serialize
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::rewind

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::rewind — Rebobina el iterador hasta el inicio

Descripción

public void SplDoublyLinkedList::rewind ( void )

Esto rebobina el iterador hasta el inicio.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

SplDoublyLinkedList::push
SplDoublyLinkedList::serialize
SplDoublyLinkedList


Serializa el almacenamiento

SplDoublyLinkedList::rewind
SplDoublyLinkedList::setIteratorMode
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::serialize

(PHP 5 >= 5.4.0)

SplDoublyLinkedList::serialize — Serializa el almacenamiento

Descripción

public string SplDoublyLinkedList::serialize ( void )

Serializa el almacenamiento.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

The serialized string.

Ver también

  • SplDoublyLinkedList::unserialize() - Deserializa el almacenamiento

SplDoublyLinkedList::rewind
SplDoublyLinkedList::setIteratorMode
SplDoublyLinkedList


Establece el modo de iteración

SplDoublyLinkedList::serialize
SplDoublyLinkedList::shift
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::setIteratorMode

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::setIteratorMode — Establece el modo de iteración

Descripción

public void SplDoublyLinkedList::setIteratorMode ( int $mode )

Parámetros

mode

Hay dos conjuntos ortogonales de los modos que se pueden establecer:

  • La dirección de la iteración (ya sea uno o el otro):
    • SplDoublyLinkedList::IT_MODE_LIFO (Estilo de Pila)
    • SplDoublyLinkedList::IT_MODE_FIFO (Estilo de Cola)
  • El comportamiento de el iterador (ya sea uno o el otro):
    • SplDoublyLinkedList::IT_MODE_DELETE (Elementos son eliminados por el iterador)
    • SplDoublyLinkedList::IT_MODE_KEEP (Elementos son atravesados por el iterador)

El modo por omisión es: SplDoublyLinkedList::IT_MODE_FIFO | SplDoublyLinkedList::IT_MODE_KEEP

Valores devueltos

No devuelve ningún valor.

SplDoublyLinkedList::serialize
SplDoublyLinkedList::shift
SplDoublyLinkedList


Quita un nodo del inicio de la lista doblemente enlazada

SplDoublyLinkedList::setIteratorMode
SplDoublyLinkedList::top
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::shift

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::shift — Quita un nodo del inicio de la lista doblemente enlazada

Descripción

public mixed SplDoublyLinkedList::shift ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El valor de el nodo a quitar.

Errores/Excepciones

Lanza una excepción RuntimeException cuando la estructura de datos está vacía.

SplDoublyLinkedList::setIteratorMode
SplDoublyLinkedList::top
SplDoublyLinkedList


Obtener el nodo de el final de la lista doblemente enlazada

SplDoublyLinkedList::shift
SplDoublyLinkedList::unserialize
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::top

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::top — Obtener el nodo de el final de la lista doblemente enlazada

Descripción

public mixed SplDoublyLinkedList::top ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El valor de el último nodo.

Errores/Excepciones

Lanza una excepción RuntimeException cuando la estructura de datos está vacía.

SplDoublyLinkedList::shift
SplDoublyLinkedList::unserialize
SplDoublyLinkedList


Deserializa el almacenamiento

SplDoublyLinkedList::top
SplDoublyLinkedList::unshift
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::unserialize

(PHP 5 >= 5.4.0)

SplDoublyLinkedList::unserialize — Deserializa el almacenamiento

Descripción

public void SplDoublyLinkedList::unserialize ( string $serialized )

Deserializa el almacenamiento, desde SplDoublyLinkedList::serialize().

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

serialized

La cadena serializada.

Valores devueltos

No devuelve ningún valor.

Ver también

  • SplDoublyLinkedList::serialize() - Serializa el almacenamiento

SplDoublyLinkedList::top
SplDoublyLinkedList::unshift
SplDoublyLinkedList


Añade un elemento al inicio de la lista doblemente enlazada

SplDoublyLinkedList::unserialize
SplDoublyLinkedList::valid
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::unshift

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::unshift — Añade un elemento al inicio de la lista doblemente enlazada

Descripción

public void SplDoublyLinkedList::unshift ( mixed $value )

Añade un value al inicio de la lista doblemente enlazada.

Parámetros

value

El valor a añadir al inicio.

Valores devueltos

No devuelve ningún valor.

SplDoublyLinkedList::unserialize
SplDoublyLinkedList::valid
SplDoublyLinkedList


Comprueba si la lista doblemente enlazada contiene más nodos

SplDoublyLinkedList::unshift
SplStack
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::valid

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::valid — Comprueba si la lista doblemente enlazada contiene más nodos

Descripción

public bool SplDoublyLinkedList::valid ( void )

Comprueba si la lista doblemente enlazada contiene más nodos.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si la lista doblemente enlazada contiene más nodos, en caso contrario FALSE.

SplDoublyLinkedList::unshift
SplStack
SplDoublyLinkedList


La clase SplStack

(PHP 5 >= 5.3.0)

Introducción

La clase SplStack proporciona las principales funcionalidades de una pila implementada usando una lista doblemente enlazada.

Sinopsis de la Clase

SplStack extends SplDoublyLinkedList implements Iterator , ArrayAccess , Countable {
/* Métodos */
__construct ( void )
void setIteratorMode ( int $mode )
/* Métodos heredados */
public mixed SplDoublyLinkedList::bottom ( void )
public int SplDoublyLinkedList::count ( void )
public mixed SplDoublyLinkedList::current ( void )
public int SplDoublyLinkedList::getIteratorMode ( void )
public bool SplDoublyLinkedList::isEmpty ( void )
public mixed SplDoublyLinkedList::key ( void )
public void SplDoublyLinkedList::next ( void )
public bool SplDoublyLinkedList::offsetExists ( mixed $index )
public mixed SplDoublyLinkedList::offsetGet ( mixed $index )
public void SplDoublyLinkedList::offsetSet ( mixed $index , mixed $newval )
public void SplDoublyLinkedList::offsetUnset ( mixed $index )
public mixed SplDoublyLinkedList::pop ( void )
public void SplDoublyLinkedList::prev ( void )
public void SplDoublyLinkedList::push ( mixed $value )
public void SplDoublyLinkedList::rewind ( void )
public string SplDoublyLinkedList::serialize ( void )
public void SplDoublyLinkedList::setIteratorMode ( int $mode )
public mixed SplDoublyLinkedList::shift ( void )
public mixed SplDoublyLinkedList::top ( void )
public void SplDoublyLinkedList::unserialize ( string $serialized )
public void SplDoublyLinkedList::unshift ( mixed $value )
public bool SplDoublyLinkedList::valid ( void )
}

Tabla de contenidos

  • SplStack::__construct — Construye una nueva pila implementada mediante una lista doblemente enlazada
  • SplStack::setIteratorMode — Establece el modo de iteración
SplDoublyLinkedList::valid
SplStack::__construct
Estructuras de datos


Construye una nueva pila implementada mediante una lista doblemente enlazada

SplStack
SplStack::setIteratorMode
SplStack
PHP Manual

SplStack::__construct

(PHP 5 >= 5.3.0)

SplStack::__construct — Construye una nueva pila implementada mediante una lista doblemente enlazada

Descripción

SplStack::__construct() ( void )

Construye una nueva pila vacía.

Nota:

Este método automáticamente establece el modo del iterador a SplDoublyLinkedList::IT_MODE_LIFO.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de SplStack::__construct()

<?php
$q = new SplStack();

$q[] = 1;
$q[] = 2;
$q[] = 3;

foreach ($q as $elem)  {
 echo $elem."\n";
}
?>

El resultado del ejemplo sería:

3
2
1

SplStack
SplStack::setIteratorMode
SplStack


Establece el modo de iteración

SplStack::__construct
SplQueue
SplStack
PHP Manual

SplStack::setIteratorMode

(PHP 5 >= 5.3.0)

SplStack::setIteratorMode — Establece el modo de iteración

Descripción

void SplStack::setIteratorMode ( int $mode )

Parámetros

mode

Este es el único parámetro de iteración que se puede modificar.

  • El comportamiento del iterador (ya sea uno o el otro):
    • SplDoublyLinkedList::IT_MODE_DELETE (Elements are deleted by the iterator)
    • SplDoublyLinkedList::IT_MODE_KEEP (Elements are traversed by the iterator)

El modo por omisión es 0x2 : SplDoublyLinkedList::IT_MODE_LIFO | SplDoublyLinkedList::IT_MODE_KEEP

Advertencia

La dirección de iteración puede La dirección de la iteración ya no puede ser cambiado para SplStacks. Si se intenta hacer esto lanzará una RuntimeException.

Valores devueltos

No devuelve ningún valor.

SplStack::__construct
SplQueue
SplStack


La clase SplQueue

(PHP 5 >= 5.3.0)

Introducción

la clase SplQueue proporciona las principales funcionalidades de una cola implementada mediante una lista doblemente enlazada.

Sinopsis de la Clase

SplQueue extends SplDoublyLinkedList implements Iterator , ArrayAccess , Countable {
/* Métodos */
__construct ( void )
mixed dequeue ( void )
void enqueue ( mixed $value )
void setIteratorMode ( int $mode )
/* Métodos heredados */
public mixed SplDoublyLinkedList::bottom ( void )
public int SplDoublyLinkedList::count ( void )
public mixed SplDoublyLinkedList::current ( void )
public int SplDoublyLinkedList::getIteratorMode ( void )
public bool SplDoublyLinkedList::isEmpty ( void )
public mixed SplDoublyLinkedList::key ( void )
public void SplDoublyLinkedList::next ( void )
public bool SplDoublyLinkedList::offsetExists ( mixed $index )
public mixed SplDoublyLinkedList::offsetGet ( mixed $index )
public void SplDoublyLinkedList::offsetSet ( mixed $index , mixed $newval )
public void SplDoublyLinkedList::offsetUnset ( mixed $index )
public mixed SplDoublyLinkedList::pop ( void )
public void SplDoublyLinkedList::prev ( void )
public void SplDoublyLinkedList::push ( mixed $value )
public void SplDoublyLinkedList::rewind ( void )
public string SplDoublyLinkedList::serialize ( void )
public void SplDoublyLinkedList::setIteratorMode ( int $mode )
public mixed SplDoublyLinkedList::shift ( void )
public mixed SplDoublyLinkedList::top ( void )
public void SplDoublyLinkedList::unserialize ( string $serialized )
public void SplDoublyLinkedList::unshift ( mixed $value )
public bool SplDoublyLinkedList::valid ( void )
}

Tabla de contenidos

  • SplQueue::__construct — Construye una nueva cola implementada usando una lista doblemente enlazada
  • SplQueue::dequeue — Quita un nodo de la cola
  • SplQueue::enqueue — Añade un elemento a la cola
  • SplQueue::setIteratorMode — Establece el modo de iteración
SplStack::setIteratorMode
SplQueue::__construct
Estructuras de datos


Construye una nueva cola implementada usando una lista doblemente enlazada

SplQueue
SplQueue::dequeue
SplQueue
PHP Manual

SplQueue::__construct

(PHP 5 >= 5.3.0)

SplQueue::__construct — Construye una nueva cola implementada usando una lista doblemente enlazada

Descripción

SplQueue::__construct() ( void )

Construye una nueva cola vacía.

Nota:

Este método automáticamente establece el modo del iterador a SplDoublyLinkedList::IT_MODE_FIFO.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de SplQueue::__construct()

<?php
$q = new SplQueue();

$q[] = 1;
$q[] = 2;
$q[] = 3;

foreach ($q as $elem)  {
 echo $elem."\n";
}
?>

El resultado del ejemplo sería:

1
2
3

Ejemplo #2 Manejo eficiente de las tareas con SplQueue

<?php
$q = new SplQueue();
$q->setIteratorMode(SplQueue::IT_MODE_DELETE);

// ... algunas de las tareas enqueue en la cola ...

// proceso que
foreach ($q as $task) {
    // ... procesa $task ...

    // agregar nuevas tareas en la cola
    $q[] = $newTask;
    // ...
}
?>

SplQueue
SplQueue::dequeue
SplQueue


Quita un nodo de la cola

SplQueue::__construct
SplQueue::enqueue
SplQueue
PHP Manual

SplQueue::dequeue

(PHP 5 >= 5.3.0)

SplQueue::dequeue — Quita un nodo de la cola

Descripción

mixed SplQueue::dequeue ( void )

Quita un value en la parte superior de la cola.

Nota:

SplQueue::dequeue() es un alias de SplDoublyLinkedList::shift().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El valor de el nodo a quitar de la cola.

SplQueue::__construct
SplQueue::enqueue
SplQueue


Añade un elemento a la cola

SplQueue::dequeue
SplQueue::setIteratorMode
SplQueue
PHP Manual

SplQueue::enqueue

(PHP 5 >= 5.3.0)

SplQueue::enqueue — Añade un elemento a la cola

Descripción

void SplQueue::enqueue ( mixed $value )

Añadir un value al final de la cola.

Nota:

SplQueue::enqueue() es un alias de SplDoublyLinkedList::push().

Parámetros

value

El valor que se va a añadir.

Valores devueltos

No devuelve ningún valor.

SplQueue::dequeue
SplQueue::setIteratorMode
SplQueue


Establece el modo de iteración

SplQueue::enqueue
SplHeap
SplQueue
PHP Manual

SplQueue::setIteratorMode

(PHP 5 >= 5.3.0)

SplQueue::setIteratorMode — Establece el modo de iteración

Descripción

void SplQueue::setIteratorMode ( int $mode )

Parámetros

mode

Este es el único parámetro de iteración que se puede modificar.

  • El comportamiento de la iteración (ya sea uno o el otro):
    • SplDoublyLinkedList::IT_MODE_DELETE (Elementos son eliminados por el iterador)
    • SplDoublyLinkedList::IT_MODE_KEEP (Elementos son atravesados por el iterador)

El modo por omisión es: SplDoublyLinkedList::IT_MODE_FIFO | SplDoublyLinkedList::IT_MODE_KEEP

Advertencia

La dirección de iteración puede no ser cambiada para SplQueues, esto es siempre SplDoublyLinkedList::IT_MODE_FIFO.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Lanza una RuntimeException al intentar cambiar la dirección de la iteración usando SplDoublyLinkedList::IT_MODE_LIFO.

SplQueue::enqueue
SplHeap
SplQueue


La clase SplHeap

(PHP 5 >= 5.3.0)

Introducción

La clase SplHeap proporciona las básicas funcionalidades de un Heap.

Sinopsis de la Clase

abstract SplHeap implements Iterator , Countable {
/* Métodos */
public __construct ( void )
abstract protected int compare ( mixed $value1 , mixed $value2 )
public int count ( void )
public mixed current ( void )
public mixed extract ( void )
public void insert ( mixed $value )
public bool isEmpty ( void )
public mixed key ( void )
public void next ( void )
public void recoverFromCorruption ( void )
public void rewind ( void )
public mixed top ( void )
public bool valid ( void )
}

Tabla de contenidos

  • SplHeap::compare — Compara elementos con el fin de colocarlos correctamente en el montón en la parte de arriba
  • SplHeap::__construct — Construye un nuevo heap vacío
  • SplHeap::count — Cuenta el número de elementos en el montón
  • SplHeap::current — Devuelve el nodo actual señalado por el iterador
  • SplHeap::extract — Extrae un nodo de la parte superior del montón
  • SplHeap::insert — Inserta un elemento en el montón
  • SplHeap::isEmpty — Comprueba si el montón actual está vacío
  • SplHeap::key — Devuelve el índice de el nodo actual
  • SplHeap::next — Mover al siguiente nodo
  • SplHeap::recoverFromCorruption — Recuperarse de un estado dañado y permitir un mayor número de acciones en el montón
  • SplHeap::rewind — Rebobina el iterador al comienzo
  • SplHeap::top — Observar el nodo desde el comienzo del montón
  • SplHeap::valid — Comprueba si el montón contiene más nodos
SplQueue::setIteratorMode
SplHeap::compare
Estructuras de datos


Compara elementos con el fin de colocarlos correctamente en el montón en la parte de arriba

SplHeap
SplHeap::__construct
SplHeap
PHP Manual

SplHeap::compare

(PHP 5 >= 5.3.0)

SplHeap::compare — Compara elementos con el fin de colocarlos correctamente en el montón en la parte de arriba

Descripción

abstract protected int SplHeap::compare ( mixed $value1 , mixed $value2 )

Comparar value1 con value2.

Advertencia

Lanza una excepción en SplHeap::compare() que puede dañar el montón y colocarlo en un estado bloqueado. Se puede desbloquear llamando a SplHeap::recoverFromCorruption(). Sin embargo, algunos elementos podrían no ser colocados correctamente y por lo tanto pueden romper la propiedad del montón.

Parámetros

value1

El valor de el primer nodo a ser comparado.

value2

El valor de el segundo nodo a ser comparado.

Valores devueltos

El resultado de la comparación, integer positivo si value1 es mayor que value2, 0 si son iguales, en caso contrario integer negativo.

Nota:

No es recomendado tener múltiples elementos con el mismo valor en el montón. Estos terminarán con una posición arbitraria relativa.

SplHeap
SplHeap::__construct
SplHeap


Construye un nuevo heap vacío

SplHeap::compare
SplHeap::count
SplHeap
PHP Manual

SplHeap::__construct

(PHP 5 >= 5.3.0)

SplHeap::__construct — Construye un nuevo heap vacío

Descripción

public SplHeap::__construct() ( void )

Construye un nuevo heap vacío.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

SplHeap::compare
SplHeap::count
SplHeap


Cuenta el número de elementos en el montón

SplHeap::__construct
SplHeap::current
SplHeap
PHP Manual

SplHeap::count

(PHP 5 >= 5.3.0)

SplHeap::count — Cuenta el número de elementos en el montón

Descripción

public int SplHeap::count ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el número de elementos en el montón.

SplHeap::__construct
SplHeap::current
SplHeap


Devuelve el nodo actual señalado por el iterador

SplHeap::count
SplHeap::extract
SplHeap
PHP Manual

SplHeap::current

(PHP 5 >= 5.3.0)

SplHeap::current — Devuelve el nodo actual señalado por el iterador

Descripción

public mixed SplHeap::current ( void )

Obtiene el nodo actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El valor de el nodo actual.

SplHeap::count
SplHeap::extract
SplHeap


Extrae un nodo de la parte superior del montón

SplHeap::current
SplHeap::insert
SplHeap
PHP Manual

SplHeap::extract

(PHP 5 >= 5.3.0)

SplHeap::extract — Extrae un nodo de la parte superior del montón

Descripción

public mixed SplHeap::extract ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El valor del nodo a ser extraído.

Errores/Excepciones

Lanza una excepción RuntimeException cuando la estructura de datos está vacía.

SplHeap::current
SplHeap::insert
SplHeap


Inserta un elemento en el montón

SplHeap::extract
SplHeap::isEmpty
SplHeap
PHP Manual

SplHeap::insert

(PHP 5 >= 5.3.0)

SplHeap::insert — Inserta un elemento en el montón

Descripción

public void SplHeap::insert ( mixed $value )

Inserta un value en el montón.

Parámetros

value

El valor a ser insertado.

Valores devueltos

No devuelve ningún valor.

SplHeap::extract
SplHeap::isEmpty
SplHeap


Comprueba si el montón actual está vacío

SplHeap::insert
SplHeap::key
SplHeap
PHP Manual

SplHeap::isEmpty

(PHP 5 >= 5.3.0)

SplHeap::isEmpty — Comprueba si el montón actual está vacío

Descripción

public bool SplHeap::isEmpty ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve si el montón está vacío.

SplHeap::insert
SplHeap::key
SplHeap


Devuelve el índice de el nodo actual

SplHeap::isEmpty
SplHeap::next
SplHeap
PHP Manual

SplHeap::key

(PHP 5 >= 5.3.0)

SplHeap::key — Devuelve el índice de el nodo actual

Descripción

public mixed SplHeap::key ( void )

Esta función devuelve el índice de el nodo actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El índice de el nodo actual.

SplHeap::isEmpty
SplHeap::next
SplHeap


Mover al siguiente nodo

SplHeap::key
SplHeap::recoverFromCorruption
SplHeap
PHP Manual

SplHeap::next

(PHP 5 >= 5.3.0)

SplHeap::next — Mover al siguiente nodo

Descripción

public void SplHeap::next ( void )

Mover al siguiente nodo de el montón.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

SplHeap::key
SplHeap::recoverFromCorruption
SplHeap


Recuperarse de un estado dañado y permitir un mayor número de acciones en el montón

SplHeap::next
SplHeap::rewind
SplHeap
PHP Manual

SplHeap::recoverFromCorruption

(PHP 5 >= 5.3.0)

SplHeap::recoverFromCorruption — Recuperarse de un estado dañado y permitir un mayor número de acciones en el montón

Descripción

public void SplHeap::recoverFromCorruption ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

SplHeap::next
SplHeap::rewind
SplHeap


Rebobina el iterador al comienzo

SplHeap::recoverFromCorruption
SplHeap::top
SplHeap
PHP Manual

SplHeap::rewind

(PHP 5 >= 5.3.0)

SplHeap::rewind — Rebobina el iterador al comienzo

Descripción

public void SplHeap::rewind ( void )

Esto rebobina el iterador hasta el inicio. Esto es un no-op para los montones ya que el iterador es virtual y, de hecho, nunca se mueve desde la parte superior de la pila.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

SplHeap::recoverFromCorruption
SplHeap::top
SplHeap


Observar el nodo desde el comienzo del montón

SplHeap::rewind
SplHeap::valid
SplHeap
PHP Manual

SplHeap::top

(PHP 5 >= 5.3.0)

SplHeap::top — Observar el nodo desde el comienzo del montón

Descripción

public mixed SplHeap::top ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El valor de el nodo del comienzo.

Errores/Excepciones

Lanza una excepción RuntimeException cuando la estructura de datos está vacía.

SplHeap::rewind
SplHeap::valid
SplHeap


Comprueba si el montón contiene más nodos

SplHeap::top
SplMaxHeap
SplHeap
PHP Manual

SplHeap::valid

(PHP 5 >= 5.3.0)

SplHeap::valid — Comprueba si el montón contiene más nodos

Descripción

public bool SplHeap::valid ( void )

Comprueba si el montón contiene más nodos.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si el montón contiene más nodos, en caso contrario FALSE.

SplHeap::top
SplMaxHeap
SplHeap


la clase SplMaxHeap

(PHP 5 >= 5.3.0)

Introducción

La clase SplMaxHeap proporciona las principales funcionalidades de una pila, manteniendo el máximo en la parte superior.

Sinopsis de la Clase

SplMaxHeap extends SplHeap implements Iterator , Countable {
/* Métodos */
protected int compare ( mixed $value1 , mixed $value2 )
/* Métodos heredados */
abstract protected int SplHeap::compare ( mixed $value1 , mixed $value2 )
public int SplHeap::count ( void )
public mixed SplHeap::current ( void )
public mixed SplHeap::extract ( void )
public void SplHeap::insert ( mixed $value )
public bool SplHeap::isEmpty ( void )
public mixed SplHeap::key ( void )
public void SplHeap::next ( void )
public void SplHeap::recoverFromCorruption ( void )
public void SplHeap::rewind ( void )
public mixed SplHeap::top ( void )
public bool SplHeap::valid ( void )
}

Tabla de contenidos

  • SplMaxHeap::compare — Compara elementos con el fin de colocarlos correctamente en el montón en la parte de arriba
SplHeap::valid
SplMaxHeap::compare
Estructuras de datos


Compara elementos con el fin de colocarlos correctamente en el montón en la parte de arriba

SplMaxHeap
SplMinHeap
SplMaxHeap
PHP Manual

SplMaxHeap::compare

(PHP 5 >= 5.3.0)

SplMaxHeap::compare — Compara elementos con el fin de colocarlos correctamente en el montón en la parte de arriba

Descripción

protected int SplMaxHeap::compare ( mixed $value1 , mixed $value2 )

Comparar value1 con value2.

Parámetros

value1

El valor de el primer nodo a ser comparado.

value2

El valor de el segundo nodo a ser comparado.

Valores devueltos

El resultado de la comparación, un integer positivo si value1 es mayor que value2, 0 si son iguales, en caso contrario un integer negativo.

Nota:

No es recomendado tener múltiples elementos con el mismo valor en el montón. Estos terminarán con una posición arbitraria relativa.

SplMaxHeap
SplMinHeap
SplMaxHeap


La clase SplMinHeap

(PHP 5 >= 5.3.0)

Introducción

la clase SplMinHeap proporciona las principales funcionalidades de una pila. manteniendo el mínimo en la parte superior.

Sinopsis de la Clase

SplMinHeap extends SplHeap implements Iterator , Countable {
/* Métodos */
protected int compare ( mixed $value1 , mixed $value2 )
/* Métodos heredados */
abstract protected int SplHeap::compare ( mixed $value1 , mixed $value2 )
public int SplHeap::count ( void )
public mixed SplHeap::current ( void )
public mixed SplHeap::extract ( void )
public void SplHeap::insert ( mixed $value )
public bool SplHeap::isEmpty ( void )
public mixed SplHeap::key ( void )
public void SplHeap::next ( void )
public void SplHeap::recoverFromCorruption ( void )
public void SplHeap::rewind ( void )
public mixed SplHeap::top ( void )
public bool SplHeap::valid ( void )
}

Tabla de contenidos

  • SplMinHeap::compare — Comparar elementos con el fin de colocarlos correctamente en el montón em la parte de arriba
SplMaxHeap::compare
SplMinHeap::compare
Estructuras de datos


Comparar elementos con el fin de colocarlos correctamente en el montón em la parte de arriba

SplMinHeap
SplPriorityQueue
SplMinHeap
PHP Manual

SplMinHeap::compare

(PHP 5 >= 5.3.0)

SplMinHeap::compare — Comparar elementos con el fin de colocarlos correctamente en el montón em la parte de arriba

Descripción

protected int SplMinHeap::compare ( mixed $value1 , mixed $value2 )

Compara value1 con value2.

Parámetros

value1

El valor de el primer nodo a ser comparado.

value2

El valor de el segundo nodo a ser comparado.

Valores devueltos

El resultado de la comparación, un integer positivo si value1 es menor que value2, 0 si son iguales, en caso contrario integer negativo.

Nota:

No es recomendable tener múltiples elementos con el mismo valor en el montón. Having multiple elements with the same value in a Heap is not recommended. Estos terminarán en una por sición arbitraria relativa.

SplMinHeap
SplPriorityQueue
SplMinHeap


la clase SplPriorityQueue

(PHP 5 >= 5.3.0)

Introducción

la clase SplPriorityQueue proporciona las principales funcionalidades de una cola de prioridad, implementada usando un montículo máximo.

Sinopsis de la Clase

SplPriorityQueue implements Iterator , Countable {
/* Métodos */
public __construct ( void )
public int compare ( mixed $priority1 , mixed $priority2 )
public int count ( void )
public mixed current ( void )
public mixed extract ( void )
public void insert ( mixed $value , mixed $priority )
public bool isEmpty ( void )
public mixed key ( void )
public void next ( void )
public void recoverFromCorruption ( void )
public void rewind ( void )
public void setExtractFlags ( int $flags )
public mixed top ( void )
public bool valid ( void )
}

Tabla de contenidos

  • SplPriorityQueue::compare — Comparar las prioridades con el fin de colocar los elementos correctamente en el montón, mientras que tamizar arriba
  • SplPriorityQueue::__construct — Construye una nueva cola vacía
  • SplPriorityQueue::count — Cuenta el número de elementos en la cola
  • SplPriorityQueue::current — Volver nodo actual que apunta el iterador
  • SplPriorityQueue::extract — Extrae un nodo de la parte superior de la pila y filtra hacía arriba
  • SplPriorityQueue::insert — Inserta un elemento en la cola en la parte de arriba
  • SplPriorityQueue::isEmpty — Comprueba si la cola está vacía
  • SplPriorityQueue::key — Devuelve el índice del nodo actual
  • SplPriorityQueue::next — Pasar a la siguiente nodo
  • SplPriorityQueue::recoverFromCorruption — Recuperar desde la condición corrupta y permitir acciones más en la cola
  • SplPriorityQueue::rewind — Rebobinar iterador de vuelta al inicio (no-op)
  • SplPriorityQueue::setExtractFlags — Establece el modo de extracción
  • SplPriorityQueue::top — Mira en el nodo de la parte superior de la cola
  • SplPriorityQueue::valid — Comprobar si la cola contiene más nodos
SplMinHeap::compare
SplPriorityQueue::compare
Estructuras de datos


Comparar las prioridades con el fin de colocar los elementos correctamente en el montón, mientras que tamizar arriba

SplPriorityQueue
SplPriorityQueue::__construct
SplPriorityQueue
PHP Manual

SplPriorityQueue::compare

(PHP 5 >= 5.3.0)

SplPriorityQueue::compare — Comparar las prioridades con el fin de colocar los elementos correctamente en el montón, mientras que tamizar arriba

Descripción

public int SplPriorityQueue::compare ( mixed $priority1 , mixed $priority2 )

Compare priority1 con priority2.

Parámetros

priority1

La prioridad del primer nodo que se compara.

priority2

La prioridad del segundo nodo que se compara.

Valores devueltos

Resultados de la comparación, entero positivo si priority1es mayor que priority2 , O si son iguales, entero negativo lo contrario.

Nota:

Varios elementos con la misma prioridad que se quita de la cola sin ningún orden en particular.

SplPriorityQueue
SplPriorityQueue::__construct
SplPriorityQueue


Construye una nueva cola vacía

SplPriorityQueue::compare
SplPriorityQueue::count
SplPriorityQueue
PHP Manual

SplPriorityQueue::__construct

(PHP 5 >= 5.3.0)

SplPriorityQueue::__construct — Construye una nueva cola vacía

Descripción

public SplPriorityQueue::__construct() ( void )

Esto construye una nueva cola vacía.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

SplPriorityQueue::compare
SplPriorityQueue::count
SplPriorityQueue


Cuenta el número de elementos en la cola

SplPriorityQueue::__construct
SplPriorityQueue::current
SplPriorityQueue
PHP Manual

SplPriorityQueue::count

(PHP 5 >= 5.3.0)

SplPriorityQueue::count — Cuenta el número de elementos en la cola

Descripción

public int SplPriorityQueue::count ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el número de elementos en la cola.

SplPriorityQueue::__construct
SplPriorityQueue::current
SplPriorityQueue


Volver nodo actual que apunta el iterador

SplPriorityQueue::count
SplPriorityQueue::extract
SplPriorityQueue
PHP Manual

SplPriorityQueue::current

(PHP 5 >= 5.3.0)

SplPriorityQueue::current — Volver nodo actual que apunta el iterador

Descripción

public mixed SplPriorityQueue::current ( void )

Obtener el nodo de estructura de datos actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El valor de prioridad (o ambos) del nodo actual, dependiendo de la bandera extracto.

SplPriorityQueue::count
SplPriorityQueue::extract
SplPriorityQueue


Extrae un nodo de la parte superior de la pila y filtra hacía arriba

SplPriorityQueue::current
SplPriorityQueue::insert
SplPriorityQueue
PHP Manual

SplPriorityQueue::extract

(PHP 5 >= 5.3.0)

SplPriorityQueue::extract — Extrae un nodo de la parte superior de la pila y filtra hacía arriba

Descripción

public mixed SplPriorityQueue::extract ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El valor o prioridad (o ambos) de el nodo extraído, dependiendo de la flag extract.

SplPriorityQueue::current
SplPriorityQueue::insert
SplPriorityQueue


Inserta un elemento en la cola en la parte de arriba

SplPriorityQueue::extract
SplPriorityQueue::isEmpty
SplPriorityQueue
PHP Manual

SplPriorityQueue::insert

(PHP 5 >= 5.3.0)

SplPriorityQueue::insert — Inserta un elemento en la cola en la parte de arriba

Descripción

public void SplPriorityQueue::insert ( mixed $value , mixed $priority )

Inserta un value con la prioridad priority en la cola.

Parámetros

value

El valor a insertar.

priority

La prioridad asociada.

Valores devueltos

No devuelve ningún valor.

SplPriorityQueue::extract
SplPriorityQueue::isEmpty
SplPriorityQueue


Comprueba si la cola está vacía

SplPriorityQueue::insert
SplPriorityQueue::key
SplPriorityQueue
PHP Manual

SplPriorityQueue::isEmpty

(PHP 5 >= 5.3.0)

SplPriorityQueue::isEmpty — Comprueba si la cola está vacía

Descripción

public bool SplPriorityQueue::isEmpty ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Indica si la cola está vacía.

SplPriorityQueue::insert
SplPriorityQueue::key
SplPriorityQueue


Devuelve el índice del nodo actual

SplPriorityQueue::isEmpty
SplPriorityQueue::next
SplPriorityQueue
PHP Manual

SplPriorityQueue::key

(PHP 5 >= 5.3.0)

SplPriorityQueue::key — Devuelve el índice del nodo actual

Descripción

public mixed SplPriorityQueue::key ( void )

Este método devuelve el índice del nodo actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El índice el nodo actual.

SplPriorityQueue::isEmpty
SplPriorityQueue::next
SplPriorityQueue


Pasar a la siguiente nodo

SplPriorityQueue::key
SplPriorityQueue::recoverFromCorruption
SplPriorityQueue
PHP Manual

SplPriorityQueue::next

(PHP 5 >= 5.3.0)

SplPriorityQueue::next — Pasar a la siguiente nodo

Descripción

public void SplPriorityQueue::next ( void )

Extrae el nodo superior de la cola.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

SplPriorityQueue::key
SplPriorityQueue::recoverFromCorruption
SplPriorityQueue


Recuperar desde la condición corrupta y permitir acciones más en la cola

SplPriorityQueue::next
SplPriorityQueue::rewind
SplPriorityQueue
PHP Manual

SplPriorityQueue::recoverFromCorruption

(PHP 5 >= 5.3.0)

SplPriorityQueue::recoverFromCorruption — Recuperar desde la condición corrupta y permitir acciones más en la cola

Descripción

public void SplPriorityQueue::recoverFromCorruption ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

SplPriorityQueue::next
SplPriorityQueue::rewind
SplPriorityQueue


Rebobinar iterador de vuelta al inicio (no-op)

SplPriorityQueue::recoverFromCorruption
SplPriorityQueue::setExtractFlags
SplPriorityQueue
PHP Manual

SplPriorityQueue::rewind

(PHP 5 >= 5.3.0)

SplPriorityQueue::rewind — Rebobinar iterador de vuelta al inicio (no-op)

Descripción

public void SplPriorityQueue::rewind ( void )

Este rebobina el iterador al comienzo. Se trata de un no-op de montones como el iterador es virtual y de hecho nunca se mueve de arriba del montón.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

SplPriorityQueue::recoverFromCorruption
SplPriorityQueue::setExtractFlags
SplPriorityQueue


Establece el modo de extracción

SplPriorityQueue::rewind
SplPriorityQueue::top
SplPriorityQueue
PHP Manual

SplPriorityQueue::setExtractFlags

(PHP 5 >= 5.3.0)

SplPriorityQueue::setExtractFlags — Establece el modo de extracción

Descripción

public void SplPriorityQueue::setExtractFlags ( int $flags )

Parámetros

flags

Define lo que se extrae por SplPriorityQueue::current(), SplPriorityQueue::top() y SplPriorityQueue::extract().

  • SplPriorityQueue::EXTR_DATA (0x00000001): Extraer los datos
  • SplPriorityQueue::EXTR_PRIORITY (0x00000002): Extraer la prioridad
  • SplPriorityQueue::EXTR_BOTH (0x00000003): Extraer un array con ambos

El modo por omisión es SplPriorityQueue::EXTR_DATA.

Valores devueltos

No devuelve ningún valor.

SplPriorityQueue::rewind
SplPriorityQueue::top
SplPriorityQueue


Mira en el nodo de la parte superior de la cola

SplPriorityQueue::setExtractFlags
SplPriorityQueue::valid
SplPriorityQueue
PHP Manual

SplPriorityQueue::top

(PHP 5 >= 5.3.0)

SplPriorityQueue::top — Mira en el nodo de la parte superior de la cola

Descripción

public mixed SplPriorityQueue::top ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El valor o prioridad (o ambas) del nodo superior, dependiendo de las flags.

SplPriorityQueue::setExtractFlags
SplPriorityQueue::valid
SplPriorityQueue


Comprobar si la cola contiene más nodos

SplPriorityQueue::top
SplFixedArray
SplPriorityQueue
PHP Manual

SplPriorityQueue::valid

(PHP 5 >= 5.3.0)

SplPriorityQueue::valid — Comprobar si la cola contiene más nodos

Descripción

public bool SplPriorityQueue::valid ( void )

Comprueba si la cola contiene más nodos.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si la cola los contiene y mas nodos, FALSE de lo contrario.

SplPriorityQueue::top
SplFixedArray
SplPriorityQueue


La clase SplFixedArray

(PHP 5 >= 5.3.0)

Introducción

la clase SplFixedArray proporciona las principales funcionalidades de un array. las principales diferencias entre SplFixedArray y un array normal de PHP es que la clase SplFixedArray es de longitud fija y sólo permite integer dentro del rango de índices. La ventaja es que permite una implementación de array rápida.

Sinopsis de la Clase

SplFixedArray implements Iterator , ArrayAccess , Countable {
/* Métodos */
public __construct ([ int $size = 0 ] )
public int count ( void )
public mixed current ( void )
public static SplFixedArray fromArray ( array $array [, bool $save_indexes = true ] )
public int getSize ( void )
public int key ( void )
public void next ( void )
public bool offsetExists ( int $index )
public mixed offsetGet ( int $index )
public void offsetSet ( int $index , mixed $newval )
public void offsetUnset ( int $index )
public void rewind ( void )
public int setSize ( int $size )
public array toArray ( void )
public bool valid ( void )
public void __wakeup ( void )
}

Ejemplos

Ejemplo #1 Ejemplo de uso SplFixedArray

<?php
// Inicializar el array con una longitud fija
$array = new SplFixedArray(5);

$array[1] = 2;
$array[4] = "foo";

var_dump($array[0]); // NULL
var_dump($array[1]); // int(2)

var_dump($array["4"]); // string(3) "foo"

// Aumentar el tamaño del array a 10
$array->setSize(10);

$array[9] = "asdf";

// Reducir el tamaño de un array al tamaño de 2
$array->setSize(2);

// Las siguientes líneas lanzan una RuntimeException: Index invalid or out of range
try {
    var_dump($array["non-numeric"]);
} catch(RuntimeException $re) {
    echo "RuntimeException: ".$re->getMessage()."\n";
}

try {
    var_dump($array[-1]);
} catch(RuntimeException $re) {
    echo "RuntimeException: ".$re->getMessage()."\n";
}

try {
    var_dump($array[5]);
} catch(RuntimeException $re) {
    echo "RuntimeException: ".$re->getMessage()."\n";
}
?>

El resultado del ejemplo sería:

NULL
int(2)
string(3) "foo"
RuntimeException: Index invalid or out of range
RuntimeException: Index invalid or out of range
RuntimeException: Index invalid or out of range

Tabla de contenidos

  • SplFixedArray::__construct — Construye un nuevo array fijo
  • SplFixedArray::count — Devuelve el tamaño del array
  • SplFixedArray::current — Devuelve la entrada del array actual
  • SplFixedArray::fromArray — Importa un array PHP en una instancia SplFixedArray
  • SplFixedArray::getSize — Obtiene el tamaño de el array
  • SplFixedArray::key — Devuelve los índices del array actual
  • SplFixedArray::next — Mover a la siguiente entrada
  • SplFixedArray::offsetExists — Devuelve si el índice solicitado existe
  • SplFixedArray::offsetGet — Devuelve el valor en el índice específicado
  • SplFixedArray::offsetSet — Establece un nuevo valor para el índice específicado
  • SplFixedArray::offsetUnset — Destruye el valor en el índice específicado
  • SplFixedArray::rewind — Rebobina el iterador hasta el inicio
  • SplFixedArray::setSize — Cambiar el tamaño de un array
  • SplFixedArray::toArray — Devuelve un array PHP de un array fijo
  • SplFixedArray::valid — Comprueba si el array contiene más elementos
  • SplFixedArray::__wakeup — Reinicializar el array después de ser deserializado
SplPriorityQueue::valid
SplFixedArray::__construct
Estructuras de datos


Construye un nuevo array fijo

SplFixedArray
SplFixedArray::count
SplFixedArray
PHP Manual

SplFixedArray::__construct

(PHP 5 >= 5.3.0)

SplFixedArray::__construct — Construye un nuevo array fijo

Descripción

public SplFixedArray::__construct() ([ int $size = 0 ] )

Inicializa un array fijo con un número de valores NULL igual al tamaño dado por size.

Parámetros

size

El tamaño de el array fijo. Se exige que sea un número entre 0 y PHP_INT_MAX.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Lanza una excepción de tipo InvalidArgumentException cuando size es un número negativo number.

Emite un E_WARNING cuando size no se puede procesar como un número.

Ejemplos

Ejemplo #1 Ejemplo de SplFixedArray::__construct()

<?php
$array = new SplFixedArray(5);

$array[1] = 2;
$array[4] = "foo";

foreach($array as $v) {
  var_dump($v);
}
?>

El resultado del ejemplo sería:

NULL
int(2)
NULL
NULL
string(3) "foo"

SplFixedArray
SplFixedArray::count
SplFixedArray


Devuelve el tamaño del array

SplFixedArray::__construct
SplFixedArray::current
SplFixedArray
PHP Manual

SplFixedArray::count

(PHP 5 >= 5.3.0)

SplFixedArray::count — Devuelve el tamaño del array

Descripción

public int SplFixedArray::count ( void )

Devuelve el tamaño del array.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el tamaño del array.

Ejemplos

Ejemplo #1 Ejemplo de SplFixedArray::count()

<?php
$array = new SplFixedArray(5);
echo $array->count() . "\n";
echo count($array) . "\n";
?>

El resultado del ejemplo sería:

5
5

Notas

Nota:

Este método es funcionalmente equivalente al método SplFixedArray::getSize().

Nota:

El cómputo de elementos es siempre igual al tamaño del conjunto ya que todos los valores son inicialmente inicializados con NULL.

Ver también

  • SplFixedArray::getSize() - Obtiene el tamaño de el array
SplFixedArray::__construct
SplFixedArray::current
SplFixedArray


Devuelve la entrada del array actual

SplFixedArray::count
SplFixedArray::fromArray
SplFixedArray
PHP Manual

SplFixedArray::current

(PHP 5 >= 5.3.0)

SplFixedArray::current — Devuelve la entrada del array actual

Descripción

public mixed SplFixedArray::current ( void )

Obtiene la entrada del elemento array actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El valor del elemento actual.

Errores/Excepciones

Lanza una excepción de tipo RuntimeException cuando el puntero interno del array apunta a un índice no válido o está fuera de los límites.

SplFixedArray::count
SplFixedArray::fromArray
SplFixedArray


Importa un array PHP en una instancia SplFixedArray

SplFixedArray::current
SplFixedArray::getSize
SplFixedArray
PHP Manual

SplFixedArray::fromArray

(PHP 5 >= 5.3.0)

SplFixedArray::fromArray — Importa un array PHP en una instancia SplFixedArray

Descripción

public static SplFixedArray SplFixedArray::fromArray ( array $array [, bool $save_indexes = true ] )

Importa un array PHP en una nueva instancia SplFixedArray.

Parámetros

array

El array a importar.

save_indexes

Intenta guardar los índices numéricos usados en el array original.

Valores devueltos

Devuelve una instancia de SplFixedArray conteniendo el contenido de el array.

Ejemplos

Ejemplo #1 Ejemplo de SplFixedArray::fromArray()

<?php
$fa = SplFixedArray::fromArray(array(1 => 1, 0 => 2, 3 => 3));

var_dump($fa);

$fa = SplFixedArray::fromArray(array(1 => 1, 0 => 2, 3 => 3), false);

var_dump($fa);
?>

El resultado del ejemplo sería:

object(SplFixedArray)#1 (4) {
  [0]=>
  int(2)
  [1]=>
  int(1)
  [2]=>
  NULL
  [3]=>
  int(3)
}
object(SplFixedArray)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}

SplFixedArray::current
SplFixedArray::getSize
SplFixedArray


Obtiene el tamaño de el array

SplFixedArray::fromArray
SplFixedArray::key
SplFixedArray
PHP Manual

SplFixedArray::getSize

(PHP 5 >= 5.3.0)

SplFixedArray::getSize — Obtiene el tamaño de el array

Descripción

public int SplFixedArray::getSize ( void )

Obtiener el tamaño de el array.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el tamaño de el array, como un integer.

Ejemplos

Ejemplo #1 Ejemplo de SplFixedArray::getSize()

<?php
$array = new SplFixedArray(5);
echo $array->getSize()."\n";
$array->setSize(10);
echo $array->getSize()."\n";
?>

El resultado del ejemplo sería:

5
10

Notas

Nota:

Este método es funcionalmente equivalente al método SplFixedArray::count()

Ver también

  • SplFixedArray::count() - Devuelve el tamaño del array
SplFixedArray::fromArray
SplFixedArray::key
SplFixedArray


Devuelve los índices del array actual

SplFixedArray::getSize
SplFixedArray::next
SplFixedArray
PHP Manual

SplFixedArray::key

(PHP 5 >= 5.3.0)

SplFixedArray::key — Devuelve los índices del array actual

Descripción

public int SplFixedArray::key ( void )

Devuelve los índice del array actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Los índices del array actual.

SplFixedArray::getSize
SplFixedArray::next
SplFixedArray


Mover a la siguiente entrada

SplFixedArray::key
SplFixedArray::offsetExists
SplFixedArray
PHP Manual

SplFixedArray::next

(PHP 5 >= 5.3.0)

SplFixedArray::next — Mover a la siguiente entrada

Descripción

public void SplFixedArray::next ( void )

Mover el iterador a la siguiente entrada en el array.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

SplFixedArray::key
SplFixedArray::offsetExists
SplFixedArray


Devuelve si el índice solicitado existe

SplFixedArray::next
SplFixedArray::offsetGet
SplFixedArray
PHP Manual

SplFixedArray::offsetExists

(PHP 5 >= 5.3.0)

SplFixedArray::offsetExists — Devuelve si el índice solicitado existe

Descripción

public bool SplFixedArray::offsetExists ( int $index )

Comprueba si el índice index solicitado existe.

Parámetros

index

El índice a ser comprobado.

Valores devueltos

TRUE si el indice index existe, en caso contrario FALSE.

SplFixedArray::next
SplFixedArray::offsetGet
SplFixedArray


Devuelve el valor en el índice específicado

SplFixedArray::offsetExists
SplFixedArray::offsetSet
SplFixedArray
PHP Manual

SplFixedArray::offsetGet

(PHP 5 >= 5.3.0)

SplFixedArray::offsetGet — Devuelve el valor en el índice específicado

Descripción

public mixed SplFixedArray::offsetGet ( int $index )

Devuelve el valor en el índice index específicado.

Parámetros

index

El índice con el valor.

Valores devueltos

El valor específicado en index.

Errores/Excepciones

Lanza una excepción de tipo RuntimeException cuando index está fuera del tamaño definido del array o cuando index no se puede procesar como un entero.

SplFixedArray::offsetExists
SplFixedArray::offsetSet
SplFixedArray


Establece un nuevo valor para el índice específicado

SplFixedArray::offsetGet
SplFixedArray::offsetUnset
SplFixedArray
PHP Manual

SplFixedArray::offsetSet

(PHP 5 >= 5.3.0)

SplFixedArray::offsetSet — Establece un nuevo valor para el índice específicado

Descripción

public void SplFixedArray::offsetSet ( int $index , mixed $newval )

Establece el valor en el index específicado en newval.

Parámetros

index

El índice a ser establecido.

newval

El nuevo valor para index.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Lanza una excepción de tipo RuntimeException cuando index está fuera del tamaño definido del array o cuando index no se puede procesar como un entero.

SplFixedArray::offsetGet
SplFixedArray::offsetUnset
SplFixedArray


Destruye el valor en el índice específicado

SplFixedArray::offsetSet
SplFixedArray::rewind
SplFixedArray
PHP Manual

SplFixedArray::offsetUnset

(PHP 5 >= 5.3.0)

SplFixedArray::offsetUnset — Destruye el valor en el índice específicado

Descripción

public void SplFixedArray::offsetUnset ( int $index )

Destruye el valor en el índice específicado.

Parámetros

index

El índice a ser destruido.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Lanza una excepción de tipo RuntimeException cuando index está fuera del tamaño definido del array o cuando index no se puede procesar como un entero.

SplFixedArray::offsetSet
SplFixedArray::rewind
SplFixedArray


Rebobina el iterador hasta el inicio

SplFixedArray::offsetUnset
SplFixedArray::setSize
SplFixedArray
PHP Manual

SplFixedArray::rewind

(PHP 5 >= 5.3.0)

SplFixedArray::rewind — Rebobina el iterador hasta el inicio

Descripción

public void SplFixedArray::rewind ( void )

Rebobina el iterador hasta el inicio.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

SplFixedArray::offsetUnset
SplFixedArray::setSize
SplFixedArray


Cambiar el tamaño de un array

SplFixedArray::rewind
SplFixedArray::toArray
SplFixedArray
PHP Manual

SplFixedArray::setSize

(PHP 5 >= 5.3.0)

SplFixedArray::setSize — Cambiar el tamaño de un array

Descripción

public int SplFixedArray::setSize ( int $size )

Cambiar el tamaño de un array al nuevo tamaño dado por el parámetro size. Si size es menor que el tamaño actual del array, cualquier valor posterior al nuevo tamaño será descartado. Si size es mayoy que el tamaño actual del array, el array será rellenado con valores NULL.

Parámetros

size

El nuevo tamaño del array. Debería ser un valor entre 0 y PHP_INT_MAX.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Lanza una excepción de tipo InvalidArgumentException cuando size es menor que cero.

Emite un E_WARNING cuando size no se puede usar como un número.

Ejemplos

Ejemplo #1 Ejemplo de SplFixedArray::setSize()

<?php
   $array = new SplFixedArray(5);
   echo $array->getSize()."\n";
   $array->setSize(10);
   echo $array->getSize()."\n";
?>

El resultado del ejemplo sería:

5
10

SplFixedArray::rewind
SplFixedArray::toArray
SplFixedArray


Devuelve un array PHP de un array fijo

SplFixedArray::setSize
SplFixedArray::valid
SplFixedArray
PHP Manual

SplFixedArray::toArray

(PHP 5 >= 5.3.0)

SplFixedArray::toArray — Devuelve un array PHP de un array fijo

Descripción

public array SplFixedArray::toArray ( void )

Devuelve un array PHP de un array fijo.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un array PHP, similar al array fijo.

Ejemplos

Ejemplo #1 Ejemplo de SplFixedArray::toArray()

<?php
$fa = new SplFixedArray(3);
$fa[0] = 0;
$fa[2] = 2;
var_dump($fa->toArray());
?>

El resultado del ejemplo sería:

array(3) {
  [0]=>
  int(0)
  [1]=>
  NULL
  [2]=>
  int(2)
}

SplFixedArray::setSize
SplFixedArray::valid
SplFixedArray


Comprueba si el array contiene más elementos

SplFixedArray::toArray
SplFixedArray::__wakeup
SplFixedArray
PHP Manual

SplFixedArray::valid

(PHP 5 >= 5.3.0)

SplFixedArray::valid — Comprueba si el array contiene más elementos

Descripción

public bool SplFixedArray::valid ( void )

Comprueba si el array contiene más elementos.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si el array contiene más elementos, en caso contrario FALSE.

SplFixedArray::toArray
SplFixedArray::__wakeup
SplFixedArray


Reinicializar el array después de ser deserializado

SplFixedArray::valid
SplObjectStorage
SplFixedArray
PHP Manual

SplFixedArray::__wakeup

(PHP 5 >= 5.5.0)

SplFixedArray::__wakeup — Reinicializar el array después de ser deserializado

Descripción

public void SplFixedArray::__wakeup ( void )

Reinicializa el array después de ser deserializado.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

SplFixedArray::valid
SplObjectStorage
SplFixedArray


La clase SplObjectStorage

(PHP 5 >= 5.3.0)

Introducción

La clase SplObjectStorage proporciona un mapa a partir de objetos de datos o, ingorando datos, un conjunto de objetos. Este doble objetivo puede ser útil en muchos casos relacionados con la necesidad de identificar objetos de forma única.

Sinopsis de la Clase

SplObjectStorage implements Countable , Iterator , Serializable , ArrayAccess {
/* Métodos */
public void addAll ( SplObjectStorage $storage )
public void attach ( object $object [, mixed $data = NULL ] )
public bool contains ( object $object )
public int count ( void )
public object current ( void )
public void detach ( object $object )
public string getHash ( object $object )
public mixed getInfo ( void )
public int key ( void )
public void next ( void )
public bool offsetExists ( object $object )
public mixed offsetGet ( object $object )
public void offsetSet ( object $object [, mixed $data = NULL ] )
public void offsetUnset ( object $object )
public void removeAll ( SplObjectStorage $storage )
public void removeAllExcept ( SplObjectStorage $storage )
public void rewind ( void )
public string serialize ( void )
public void setInfo ( mixed $data )
public void unserialize ( string $serialized )
public bool valid ( void )
}

Ejemplos

Ejemplo #1 SplObjectStorage como un conjunto

<?php
// Como un conjunto de objetos
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;
$o3 = new StdClass;

$s->attach($o1);
$s->attach($o2);

var_dump($s->contains($o1));
var_dump($s->contains($o2));
var_dump($s->contains($o3));

$s->detach($o2);

var_dump($s->contains($o1));
var_dump($s->contains($o2));
var_dump($s->contains($o3));
?>

El resultado del ejemplo sería:

bool(true)
bool(true)
bool(false)
bool(true)
bool(false)
bool(false)

Ejemplo #2 SplObjectStorage como un mapa

<?php
// Como un mapa desde objetos a datos
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;
$o3 = new StdClass;

$s[$o1] = "data for object 1";
$s[$o2] = array(1,2,3);

if (isset($s[$o2])) {
    var_dump($s[$o2]);
}
?>

El resultado del ejemplo sería:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}

Tabla de contenidos

  • SplObjectStorage::addAll — Agrega todos los objetos de otro almacenamiento
  • SplObjectStorage::attach — Agrega un objeto en el almacenamiento
  • SplObjectStorage::contains — Comprueba si el almacenamiento contiene un objeto específico
  • SplObjectStorage::count — Devuelve el número de objetos en el almacenamiento
  • SplObjectStorage::current — Devuelve la entrada actual de almacenamiento
  • SplObjectStorage::detach — Quita un object de el almacenamiento
  • SplObjectStorage::getHash — Calcular un identificador único (hash) para los objetos contenidos
  • SplObjectStorage::getInfo — Devuelve los datos asociados con la entrada del iterador actual
  • SplObjectStorage::key — Devuelve el índice en el que se encuentra el iterador actualmente
  • SplObjectStorage::next — Mover a la siguiente entrada
  • SplObjectStorage::offsetExists — Comprueba si un objeto existe en el almacenamiento
  • SplObjectStorage::offsetGet — Devuelve los datos asociados con un object
  • SplObjectStorage::offsetSet — Asocia datos a un objeto en el almacenamiento
  • SplObjectStorage::offsetUnset — Quita un objeto de el almacenamiento
  • SplObjectStorage::removeAll — Remover objetos contenidos en otro almacenamiento de el almacenamiento actual
  • SplObjectStorage::removeAllExcept — Remover objetos excepto los contenidos en otro almacenamiento del almacenamiento actual
  • SplObjectStorage::rewind — Rebobina el iterador a el primer elemento de el almacenamiento
  • SplObjectStorage::serialize — Serializa el almacenamiento
  • SplObjectStorage::setInfo — Establece los datos asociados con el iterador de la entrada actual
  • SplObjectStorage::unserialize — Deserializa un almacenamiento desde su representación string
  • SplObjectStorage::valid — Comprobar si la entrada actual del iterador es válida
SplFixedArray::__wakeup
SplObjectStorage::addAll
Estructuras de datos


Agrega todos los objetos de otro almacenamiento

SplObjectStorage
SplObjectStorage::attach
SplObjectStorage
PHP Manual

SplObjectStorage::addAll

(PHP 5 >= 5.3.0)

SplObjectStorage::addAll — Agrega todos los objetos de otro almacenamiento

Descripción

public void SplObjectStorage::addAll ( SplObjectStorage $storage )

Agrega todos los pares de objetos de datos de un diferente almacenamiento en el almacenamiento actual.

Parámetros

storage

El almacenamiento que se quiere importar.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de SplObjectStorage::addAll()

<?php
$o = new StdClass;
$a = new SplObjectStorage();
$a[$o] = "hola";

$b = new SplObjectStorage();
$b->addAll($a);
echo $b[$o]."\n";
?>

El resultado del ejemplo sería algo similar a:

hola

Ver también

  • SplObjectStorage::removeAll() - Remover objetos contenidos en otro almacenamiento de el almacenamiento actual

SplObjectStorage
SplObjectStorage::attach
SplObjectStorage


Agrega un objeto en el almacenamiento

SplObjectStorage::addAll
SplObjectStorage::contains
SplObjectStorage
PHP Manual

SplObjectStorage::attach

(PHP 5 >= 5.1.0)

SplObjectStorage::attach — Agrega un objeto en el almacenamiento

Descripción

public void SplObjectStorage::attach ( object $object [, mixed $data = NULL ] )

Añade un object dentro del almacenamiento, y opcionalmente se asocian a algunos datos.

Parámetros

object

El object a ser añadido.

data

Los datos asociados con el object.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de SplObjectStorage::attach()

<?php
$o1 = new StdClass;
$o2 = new StdClass;
$s = new SplObjectStorage();
$s->attach($o1); // similar a $s[$o1] = NULL;
$s->attach($o2, "hola"); // similar a $s[$o2] = "hola";

var_dump($s[$o1]);
var_dump($s[$o2]);

?>

El resultado del ejemplo sería algo similar a:

NULL
string(4) "hola"

Historial de cambios

Versión | Descripción
5.3.0 | Añadido el parámetro data.

Ver también

  • SplObjectStorage::detach() - Quita un object de el almacenamiento
  • SplObjectStorage::offsetSet() - Asocia datos a un objeto en el almacenamiento

SplObjectStorage::addAll
SplObjectStorage::contains
SplObjectStorage


Comprueba si el almacenamiento contiene un objeto específico

SplObjectStorage::attach
SplObjectStorage::count
SplObjectStorage
PHP Manual

SplObjectStorage::contains

(PHP 5 >= 5.1.0)

SplObjectStorage::contains — Comprueba si el almacenamiento contiene un objeto específico

Descripción

public bool SplObjectStorage::contains ( object $object )

Comprueba si el almacenamiento contiene al object proporcionado.

Parámetros

object

El object a ser comprobado.

Valores devueltos

Devuelve TRUE si el object está en el almacenamiento, en caso contrario FALSE.

Ejemplos

Ejemplo #1 Ejemplo de SplObjectStorage::contains()

<?php
$o1 = new StdClass;
$o2 = new StdClass;

$s = new SplObjectStorage();

$s[$o1] = "hola";
var_dump($s->contains($o1));
var_dump($s->contains($o2));
?>

El resultado del ejemplo sería algo similar a:

bool(true)
bool(false)

Ver también

  • SplObjectStorage::offsetExists() - Comprueba si un objeto existe en el almacenamiento

SplObjectStorage::attach
SplObjectStorage::count
SplObjectStorage


Devuelve el número de objetos en el almacenamiento

SplObjectStorage::contains
SplObjectStorage::current
SplObjectStorage
PHP Manual

SplObjectStorage::count

(PHP 5 >= 5.1.0)

SplObjectStorage::count — Devuelve el número de objetos en el almacenamiento

Descripción

public int SplObjectStorage::count ( void )

Cuenta el número de objetos en el almacenamiento.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El número de objetos en el almacenamiento.

Ejemplos

Ejemplo #1 Ejemplo de SplObjectStorage::count()

<?php
$s = new SplObjectStorage();
$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1);
$s->attach($o2);
$s->attach($o1);
var_dump($s->count());
var_dump(count($s));
?>

El resultado del ejemplo sería algo similar a:

int(2)
int(2)

Ver también

  • SplObjectStorage::attach() - Agrega un objeto en el almacenamiento
  • SplObjectStorage::detach() - Quita un object de el almacenamiento

SplObjectStorage::contains
SplObjectStorage::current
SplObjectStorage


Devuelve la entrada actual de almacenamiento

SplObjectStorage::count
SplObjectStorage::detach
SplObjectStorage
PHP Manual

SplObjectStorage::current

(PHP 5 >= 5.1.0)

SplObjectStorage::current — Devuelve la entrada actual de almacenamiento

Descripción

public object SplObjectStorage::current ( void )

Devuelve la entrada actual de almacenamiento.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El object en la posición actual iterador.

Ejemplos

Ejemplo #1 Ejemplo de SplObjectStorage::current()

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $index  = $s->key();
    $object = $s->current(); // similar a current($s)
    $data   = $s->getInfo();

    var_dump($object);
    var_dump($data);
    $s->next();
}
?>

El resultado del ejemplo sería algo similar a:

object(stdClass)#2 (0) {
}
string(2) "d1"
object(stdClass)#3 (0) {
}
string(2) "d2"

Ver también

  • SplObjectStorage::rewind() - Rebobina el iterador a el primer elemento de el almacenamiento
  • SplObjectStorage::key() - Devuelve el índice en el que se encuentra el iterador actualmente
  • SplObjectStorage::next() - Mover a la siguiente entrada
  • SplObjectStorage::valid() - Comprobar si la entrada actual del iterador es válida
  • SplObjectStorage::getInfo() - Devuelve los datos asociados con la entrada del iterador actual

SplObjectStorage::count
SplObjectStorage::detach
SplObjectStorage


Quita un object de el almacenamiento

SplObjectStorage::current
SplObjectStorage::getHash
SplObjectStorage
PHP Manual

SplObjectStorage::detach

(PHP 5 >= 5.1.0)

SplObjectStorage::detach — Quita un object de el almacenamiento

Descripción

public void SplObjectStorage::detach ( object $object )

Quita un object de el almacenamiento.

Parámetros

object

El object a ser removido.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de SplObjectStorage::detach()

<?php
$o = new StdClass;
$s = new SplObjectStorage();
$s->attach($o);
var_dump(count($s));
$s->detach($o);
var_dump(count($s));
?>

El resultado del ejemplo sería algo similar a:

int(1)
int(0)

Ver también

  • SplObjectStorage::attach() - Agrega un objeto en el almacenamiento
  • SplObjectStorage::removeAll() - Remover objetos contenidos en otro almacenamiento de el almacenamiento actual

SplObjectStorage::current
SplObjectStorage::getHash
SplObjectStorage


Calcular un identificador único (hash) para los objetos contenidos

SplObjectStorage::detach
SplObjectStorage::getInfo
SplObjectStorage
PHP Manual

SplObjectStorage::getHash

(PHP 5 >= 5.4.0)

SplObjectStorage::getHash — Calcular un identificador único (hash) para los objetos contenidos

Descripción

public string SplObjectStorage::getHash ( object $object )

Este método calcula un identificador para los objetos añadidos a un objeto SplObjectStorage.

La implementación en la clase SplObjectStorage devuelve el mismo valor que la función spl_object_hash().

El objeto de almacenamiento nunca contendrá más de un objeto con el mismo identificador. Por lo tanto, se puede usar para implementar un conjunto (una colección de valores únicos) donde la cualidad de un objeto de ser único está determinada por el valor devuelto por esta función.

Parámetros

object

El objeto cuyo identificador va a ser calculado.

Valores devueltos

Un string con el identificador calculado.

Errores/Excepciones

Se lanza una excepción de tipo RuntimeException cuando el valor devuelto no es un string.

Ejemplos

Ejemplo #1 Ejemplo de SplObjectStorage::getHash()

<?php
class OneSpecimenPerClassStorage extends SplObjectStorage {
    public function getHash($o) {
        return get_class($o);
    }
}
class A {}

$s = new OneSpecimenPerClassStorage;
$o1 = new stdClass;
$o2 = new stdClass;
$o3 = new A;

$s[$o1] = 1;
//$o2 es considerado igual a $o1, por lo que el valor es reemplazado
$s[$o2] = 2;
$s[$o3] = 3;

//estos objetos son considerados iguales a los objetos anteriores
//por lo que se pueden usar para acceder a los valores almacenados en ellos
$p1 = new stdClass;
$p2 = new A;
echo $s[$p1], "\n";
echo $s[$p2], "\n";
?>

El resultado del ejemplo sería algo similar a:

2
3

Ver también

  • spl_object_hash() - Devuelve el hash id del objeto dado

SplObjectStorage::detach
SplObjectStorage::getInfo
SplObjectStorage


Devuelve los datos asociados con la entrada del iterador actual

SplObjectStorage::getHash
SplObjectStorage::key
SplObjectStorage
PHP Manual

SplObjectStorage::getInfo

(PHP 5 >= 5.3.0)

SplObjectStorage::getInfo — Devuelve los datos asociados con la entrada del iterador actual

Descripción

public mixed SplObjectStorage::getInfo ( void )

Devuelve los datos o información, asociada al objeto señalado por la posición actual de el iterador.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Los datos asociados con la posición actual de el iterador.

Ejemplos

Ejemplo #1 Ejemplo de SplObjectStorage::getInfo()

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $index  = $s->key();
    $object = $s->current(); // similar a current($s)
    $data   = $s->getInfo();

    var_dump($object);
    var_dump($data);
    $s->next();
}
?>

El resultado del ejemplo sería algo similar a:

object(stdClass)#2 (0) {
}
string(2) "d1"
object(stdClass)#3 (0) {
}
string(2) "d2"

Ver también

  • SplObjectStorage::current() - Devuelve la entrada actual de almacenamiento
  • SplObjectStorage::rewind() - Rebobina el iterador a el primer elemento de el almacenamiento
  • SplObjectStorage::key() - Devuelve el índice en el que se encuentra el iterador actualmente
  • SplObjectStorage::next() - Mover a la siguiente entrada
  • SplObjectStorage::valid() - Comprobar si la entrada actual del iterador es válida
  • SplObjectStorage::setInfo() - Establece los datos asociados con el iterador de la entrada actual

SplObjectStorage::getHash
SplObjectStorage::key
SplObjectStorage


Devuelve el índice en el que se encuentra el iterador actualmente

SplObjectStorage::getInfo
SplObjectStorage::next
SplObjectStorage
PHP Manual

SplObjectStorage::key

(PHP 5 >= 5.1.0)

SplObjectStorage::key — Devuelve el índice en el que se encuentra el iterador actualmente

Descripción

public int SplObjectStorage::key ( void )

Devuelve el índice en el que se encuentra el iterador actualmente.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El índice correspondiente a la posición de el iterador.

Ejemplos

Ejemplo #1 Ejemplo de SplObjectStorage::key()

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $index  = $s->key();
    $object = $s->current(); // similar a current($s)

    var_dump($index);
    var_dump($object);
    $s->next();
}
?>

El resultado del ejemplo sería algo similar a:

int(0)
object(stdClass)#2 (0) {
}
int(1)
object(stdClass)#3 (0) {
}

Ver también

  • SplObjectStorage::rewind() - Rebobina el iterador a el primer elemento de el almacenamiento
  • SplObjectStorage::current() - Devuelve la entrada actual de almacenamiento
  • SplObjectStorage::next() - Mover a la siguiente entrada
  • SplObjectStorage::valid() - Comprobar si la entrada actual del iterador es válida

SplObjectStorage::getInfo
SplObjectStorage::next
SplObjectStorage


Mover a la siguiente entrada

SplObjectStorage::key
SplObjectStorage::offsetExists
SplObjectStorage
PHP Manual

SplObjectStorage::next

(PHP 5 >= 5.1.0)

SplObjectStorage::next — Mover a la siguiente entrada

Descripción

public void SplObjectStorage::next ( void )

Mover el iterador al siguiente object en el almacenamiento.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de SplObjectStorage::next()

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $index  = $s->key();
    $object = $s->current(); // similar a current($s)

    var_dump($index);
    var_dump($object);
    $s->next();
}
?>

El resultado del ejemplo sería algo similar a:

int(0)
object(stdClass)#2 (0) {
}
int(1)
object(stdClass)#3 (0) {
}

Ver también

  • SPLObjectStorage::rewind() - Rebobina el iterador a el primer elemento de el almacenamiento

SplObjectStorage::key
SplObjectStorage::offsetExists
SplObjectStorage


Comprueba si un objeto existe en el almacenamiento

SplObjectStorage::next
SplObjectStorage::offsetGet
SplObjectStorage
PHP Manual

SplObjectStorage::offsetExists

(PHP 5 >= 5.3.0)

SplObjectStorage::offsetExists — Comprueba si un objeto existe en el almacenamiento

Descripción

public bool SplObjectStorage::offsetExists ( object $object )

Comprueba si un object existe en el almacenamiento.

Nota:

SplObjectStorage::offsetExists() es un alias de SplObjectStorage::contains().

Parámetros

object

El object a ser comprobado.

Valores devueltos

Devuelve TRUE si el object existe en el almacenamiento, y FALSE en caso contrario.

Ejemplos

Ejemplo #1 Ejemplo de SplObjectStorage::offsetExists()

<?php
$s = new SplObjectStorage;
$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1);

var_dump($s->offsetExists($o1)); // Similar a isset($s[$o1])
var_dump($s->offsetExists($o2)); // Similar a isset($s[$o2])
?>

El resultado del ejemplo sería algo similar a:

bool(true)
bool(false)

Ver también

  • SplObjectStorage::offsetSet() - Asocia datos a un objeto en el almacenamiento
  • SplObjectStorage::offsetGet() - Devuelve los datos asociados con un object
  • SplObjectStorage::offsetUnset() - Quita un objeto de el almacenamiento

SplObjectStorage::next
SplObjectStorage::offsetGet
SplObjectStorage


Devuelve los datos asociados con un object

SplObjectStorage::offsetExists
SplObjectStorage::offsetSet
SplObjectStorage
PHP Manual

SplObjectStorage::offsetGet

(PHP 5 >= 5.3.0)

SplObjectStorage::offsetGet — Devuelve los datos asociados con un object

Descripción

public mixed SplObjectStorage::offsetGet ( object $object )

Devuelve los daros asociados con un object en el almacenamiento.

Parámetros

object

El object a ser comprobado.

Valores devueltos

Los datos previamente asociados con el object en el almacenamiento.

Errores/Excepciones

Lanza una excepción de tipo UnexpectedValueException cuando no se pudo encontrar object.

Ejemplos

Ejemplo #1 Ejemplo de SplObjectStorage::offsetGet()

<?php
$s = new SplObjectStorage;

$o1 = new StdClass;
$o2 = new StdClass;

$s[$o1] = "hola";
$s->attach($o2);

var_dump($s->offsetGet($o1)); // Similar a $s[$o1]
var_dump($s->offsetGet($o2)); // Similar a $s[$o2]
?>

El resultado del ejemplo sería algo similar a:

string(4) "hola"
NULL

Ver también

  • SplObjectStorage::offsetSet() - Asocia datos a un objeto en el almacenamiento
  • SplObjectStorage::offsetExists() - Comprueba si un objeto existe en el almacenamiento
  • SplObjectStorage::offsetUnset() - Quita un objeto de el almacenamiento

SplObjectStorage::offsetExists
SplObjectStorage::offsetSet
SplObjectStorage


Asocia datos a un objeto en el almacenamiento

SplObjectStorage::offsetGet
SplObjectStorage::offsetUnset
SplObjectStorage
PHP Manual

SplObjectStorage::offsetSet

(PHP 5 >= 5.3.0)

SplObjectStorage::offsetSet — Asocia datos a un objeto en el almacenamiento

Descripción

public void SplObjectStorage::offsetSet ( object $object [, mixed $data = NULL ] )

Asocia datos a un object en el almacenamiento.

Nota:

SplObjectStorage::offsetSet() es un alias de SplObjectStorage::attach().

Parámetros

object

El object al que se le van a asociar datos.

data

Los datos asociados con el object.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de SplObjectStorage::offsetSet()

<?php
$s = new SplObjectStorage;

$o1 = new StdClass;

$s->offsetSet($o1, "hola"); // Similar a $s[$o1] = "hola";

var_dump($s[$o1]);
?>

El resultado del ejemplo sería algo similar a:

string(4) "hola"

Ver también

  • SplObjectStorage::attach() - Agrega un objeto en el almacenamiento
  • SplObjectStorage::offsetGet() - Devuelve los datos asociados con un object
  • SplObjectStorage::offsetExists() - Comprueba si un objeto existe en el almacenamiento
  • SplObjectStorage::offsetUnset() - Quita un objeto de el almacenamiento

SplObjectStorage::offsetGet
SplObjectStorage::offsetUnset
SplObjectStorage


Quita un objeto de el almacenamiento

SplObjectStorage::offsetSet
SplObjectStorage::removeAll
SplObjectStorage
PHP Manual

SplObjectStorage::offsetUnset

(PHP 5 >= 5.3.0)

SplObjectStorage::offsetUnset — Quita un objeto de el almacenamiento

Descripción

public void SplObjectStorage::offsetUnset ( object $object )

Quitar un object de el almacenamiento.

Nota:

SplObjectStorage::offsetUnset() es un alias de SplObjectStorage::detach().

Parámetros

object

El object a ser removido.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de SplObjectStorage::offsetUnset()

<?php
$o = new StdClass;
$s = new SplObjectStorage();
$s->attach($o);
var_dump(count($s));
$s->offsetUnset($o); // Similar a unset($s[$o])
var_dump(count($s));
?>

El resultado del ejemplo sería algo similar a:

int(1)
int(0)

Ver también

  • SplObjectStorage::offsetGet() - Devuelve los datos asociados con un object
  • SplObjectStorage::offsetSet() - Asocia datos a un objeto en el almacenamiento
  • SplObjectStorage::offsetExists() - Comprueba si un objeto existe en el almacenamiento

SplObjectStorage::offsetSet
SplObjectStorage::removeAll
SplObjectStorage


Remover objetos contenidos en otro almacenamiento de el almacenamiento actual

SplObjectStorage::offsetUnset
SplObjectStorage::removeAllExcept
SplObjectStorage
PHP Manual

SplObjectStorage::removeAll

(PHP 5 >= 5.3.0)

SplObjectStorage::removeAll — Remover objetos contenidos en otro almacenamiento de el almacenamiento actual

Descripción

public void SplObjectStorage::removeAll ( SplObjectStorage $storage )

Remover objetos contenidos en otro almacenamiento de el almacenamiento actual.

Parámetros

storage

El almacenamiento que contiene los elementos a remover.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de SplObjectStorage::removeAll()

<?php
$o1 = new StdClass;
$o2 = new StdClass;
$a = new SplObjectStorage();
$a[$o1] = "foo";

$b = new SplObjectStorage();
$b[$o1] = "bar";
$b[$o2] = "gee";

var_dump(count($b));
$b->removeAll($a);
var_dump(count($b));
?>

El resultado del ejemplo sería algo similar a:

int(2)
int(1)

Ver también

  • SplObjectStorage::addAll() - Agrega todos los objetos de otro almacenamiento

SplObjectStorage::offsetUnset
SplObjectStorage::removeAllExcept
SplObjectStorage


Remover objetos excepto los contenidos en otro almacenamiento del almacenamiento actual

SplObjectStorage::removeAll
SplObjectStorage::rewind
SplObjectStorage
PHP Manual

SplObjectStorage::removeAllExcept

(PHP 5 >= 5.3.6)

SplObjectStorage::removeAllExcept — Remover objetos excepto los contenidos en otro almacenamiento del almacenamiento actual

Descripción

public void SplObjectStorage::removeAllExcept ( SplObjectStorage $storage )

Remover todos los objetos excepto los contenidos en otro almacenamiento del almacenamiento actual.

Parámetros

storage

El almacenamiento que contiene los elementos a mantener en el almacenamiento actual.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de SplObjectStorage::removeAllExcept()

<?php
$a = (object) 'a';
$b = (object) 'b';
$c = (object) 'c';

$foo = new SplObjectStorage;
$foo->attach($a);
$foo->attach($b);

$bar = new SplObjectStorage;
$bar->attach($b);
$bar->attach($c);

$foo->removeAllExcept($bar);
var_dump($foo->contains($a));
var_dump($foo->contains($b));
?>

El resultado del ejemplo sería algo similar a:

bool(false)
bool(true)

SplObjectStorage::removeAll
SplObjectStorage::rewind
SplObjectStorage


Rebobina el iterador a el primer elemento de el almacenamiento

SplObjectStorage::removeAllExcept
SplObjectStorage::serialize
SplObjectStorage
PHP Manual

SplObjectStorage::rewind

(PHP 5 >= 5.1.0)

SplObjectStorage::rewind — Rebobina el iterador a el primer elemento de el almacenamiento

Descripción

public void SplObjectStorage::rewind ( void )

Rebobina el iterador a el primer elemento de el almacenamiento.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de SplObjectStorage::rewind()

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $index  = $s->key();
    $object = $s->current(); // similar a current($s)
    $data   = $s->getInfo();

    var_dump($object);
    var_dump($data);
    $s->next();
}
?>

El resultado del ejemplo sería algo similar a:

int(1)
int(0)

Ver también

  • SplObjectStorage::next() - Mover a la siguiente entrada

SplObjectStorage::removeAllExcept
SplObjectStorage::serialize
SplObjectStorage


Serializa el almacenamiento

SplObjectStorage::rewind
SplObjectStorage::setInfo
SplObjectStorage
PHP Manual

SplObjectStorage::serialize

(PHP 5 >= 5.2.2)

SplObjectStorage::serialize — Serializa el almacenamiento

Descripción

public string SplObjectStorage::serialize ( void )

Devuelve un string que representa el almacenamiento.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un string que representa el almacenamiento.

Ejemplos

Ejemplo #1 Ejemplo de SplObjectStorage::serialize()

<?php
$s = new SplObjectStorage;
$o = new StdClass;
$s[$o] = "datos";

echo $s->serialize()."\n";
?>

El resultado del ejemplo sería algo similar a:

x:i:1;O:8:"stdClass":0:{},s:4:"datos";;m:a:0:{}

Ver también

  • SplObjectStorage::unserialize() - Deserializa un almacenamiento desde su representación string

SplObjectStorage::rewind
SplObjectStorage::setInfo
SplObjectStorage


Establece los datos asociados con el iterador de la entrada actual

SplObjectStorage::serialize
SplObjectStorage::unserialize
SplObjectStorage
PHP Manual

SplObjectStorage::setInfo

(PHP 5 >= 5.3.0)

SplObjectStorage::setInfo — Establece los datos asociados con el iterador de la entrada actual

Descripción

public void SplObjectStorage::setInfo ( mixed $data )

Asocia datos o información, con el objeto actualmente señalado por el iterador.

Parámetros

data

Los datos a ser asociados con la entrada del iterador actual.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de SplObjectStorage::setInfo()

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $s->setInfo("new");
    $s->next();
}
var_dump($s[$o1]);
var_dump($s[$o2]);
?>

El resultado del ejemplo sería algo similar a:

string(3) "new"
string(3) "new"

Ver también

  • SplObjectStorage::current() - Devuelve la entrada actual de almacenamiento
  • SplObjectStorage::rewind() - Rebobina el iterador a el primer elemento de el almacenamiento
  • SplObjectStorage::key() - Devuelve el índice en el que se encuentra el iterador actualmente
  • SplObjectStorage::next() - Mover a la siguiente entrada
  • SplObjectStorage::valid() - Comprobar si la entrada actual del iterador es válida
  • SplObjectStorage::getInfo() - Devuelve los datos asociados con la entrada del iterador actual

SplObjectStorage::serialize
SplObjectStorage::unserialize
SplObjectStorage


Deserializa un almacenamiento desde su representación string

SplObjectStorage::setInfo
SplObjectStorage::valid
SplObjectStorage
PHP Manual

SplObjectStorage::unserialize

(PHP 5 >= 5.2.2)

SplObjectStorage::unserialize — Deserializa un almacenamiento desde su representación string

Descripción

public void SplObjectStorage::unserialize ( string $serialized )

Deserializa las entradas del almacenamiento y los añade al almacenamiento actual.

Parámetros

serialized

La representación serializada de el almacenamiento.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de SplObjectStorage::unserialize()

<?php
$s1 = new SplObjectStorage;
$s2 = new SplObjectStorage;
$o = new StdClass;
$s1[$o] = "datos";

$s2->unserialize($s1->serialize());

var_dump(count($s2));
?>

El resultado del ejemplo sería algo similar a:

int(1)

Ver también

  • SplObjectStorage::serialize() - Serializa el almacenamiento

SplObjectStorage::setInfo
SplObjectStorage::valid
SplObjectStorage


Comprobar si la entrada actual del iterador es válida

SplObjectStorage::unserialize
Iteradores
SplObjectStorage
PHP Manual

SplObjectStorage::valid

(PHP 5 >= 5.1.0)

SplObjectStorage::valid — Comprobar si la entrada actual del iterador es válida

Descripción

public bool SplObjectStorage::valid ( void )

Devuelve si la entrada actual del iterador es válida.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si la entrada actual del iterador es válida, en caso contrario FALSE.

Ejemplos

Ejemplo #1 Ejemplo de SplObjectStorage::valid()

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    echo $s->key()."\n";
    $s->next();
}
?>

El resultado del ejemplo sería algo similar a:

0
1

Ver también

  • SplObjectStorage::current() - Devuelve la entrada actual de almacenamiento
  • SplObjectStorage::getInfo() - Devuelve los datos asociados con la entrada del iterador actual

SplObjectStorage::unserialize
Iteradores
SplObjectStorage


Iteradores

Tabla de contenidos

  • AppendIterator
  • ArrayIterator
  • CachingIterator
  • CallbackFilterIterator
  • DirectoryIterator
  • EmptyIterator
  • FilesystemIterator
  • FilterIterator
  • GlobIterator
  • InfiniteIterator
  • IteratorIterator
  • LimitIterator
  • MultipleIterator
  • NoRewindIterator
  • ParentIterator
  • RecursiveArrayIterator
  • RecursiveCachingIterator
  • RecursiveCallbackFilterIterator
  • RecursiveDirectoryIterator
  • RecursiveFilterIterator
  • RecursiveIteratorIterator
  • RecursiveRegexIterator
  • RecursiveTreeIterator
  • RegexIterator

SPL proporciona un grupo de iteradores para recorrer objetos.

Árbol de las Clases de Iteradores de SPL

  • ArrayIterator
    • RecursiveArrayIterator
  • EmptyIterator
  • IteratorIterator
    • AppendIterator
    • CachingIterator
      • RecursiveCachingIterator
    • FilterIterator
      • CallbackFilterIterator
        • RecursiveCallbackFilterIterator
      • RecursiveFilterIterator
        • ParentIterator
      • RegexIterator
        • RecursiveRegexIterator
    • InfiniteIterator
    • LimitIterator
    • NoRewindIterator
  • MultipleIterator
  • RecursiveIteratorIterator
    • RecursiveTreeIterator
  • DirectoryIterator (extends SplFileInfo)
    • FilesystemIterator
      • GlobIterator
      • RecursiveDirectoryIterator
SplObjectStorage::valid
AppendIterator
SPL


La clase AppendIterator

(PHP 5 >= 5.1.0)

Introducción

Iterador que recorre varios iteradores uno tras otro.

Sinopsis de la Clase

AppendIterator extends IteratorIterator implements OuterIterator {
/* Métodos */
public __construct ( void )
public void append ( Iterator $iterator )
public mixed current ( void )
public void getArrayIterator ( void )
public Iterator getInnerIterator ( void )
public int getIteratorIndex ( void )
public scalar key ( void )
public void next ( void )
public void rewind ( void )
public bool valid ( void )
/* Métodos heredados */
public IteratorIterator::__construct ( Traversable $iterator )
public mixed IteratorIterator::current ( void )
public Traversable IteratorIterator::getInnerIterator ( void )
public scalar IteratorIterator::key ( void )
public void IteratorIterator::next ( void )
public void IteratorIterator::rewind ( void )
public bool IteratorIterator::valid ( void )
}

Tabla de contenidos

  • AppendIterator::append — Añade un iterador
  • AppendIterator::__construct — Construye un AppendIterator
  • AppendIterator::current — Obtiene el valor actual
  • AppendIterator::getArrayIterator — Obtiene el getArrayIterator
  • AppendIterator::getInnerIterator — Obtiene el iterador interno
  • AppendIterator::getIteratorIndex — Obtiene un índice de iteradores
  • AppendIterator::key — Obtiene la clave actual
  • AppendIterator::next — Desplazarse al siguiente elemento
  • AppendIterator::rewind — Rebobina el iterador
  • AppendIterator::valid — Comprueba la validación del elemento actual
Iteradores
AppendIterator::append
Iteradores


Añade un iterador

AppendIterator
AppendIterator::__construct
AppendIterator
PHP Manual

AppendIterator::append

(PHP 5 >= 5.1.0)

AppendIterator::append — Añade un iterador

Descripción

public void AppendIterator::append ( Iterator $iterator )

Añade un iterador.

Parámetros

iterator

El iterador a añadir.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de AppendIterator::append()

<?php
$array_a = new ArrayIterator(array('a', 'b', 'c'));
$array_b = new ArrayIterator(array('d', 'e', 'f'));

$iterator = new AppendIterator;
$iterator->append($array_a);
$iterator->append($array_b);

foreach ($iterator as $current) {
    echo $current;
}
?>

El resultado del ejemplo sería:

abcdef

Ver también

  • AppendIterator::__construct() - Construye un AppendIterator

AppendIterator
AppendIterator::__construct
AppendIterator


Construye un AppendIterator

AppendIterator::append
AppendIterator::current
AppendIterator
PHP Manual

AppendIterator::__construct

(PHP 5 >= 5.1.0)

AppendIterator::__construct — Construye un AppendIterator

Descripción

public AppendIterator::__construct() ( void )

Construye un AppendIterator.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Recorriendo AppendIterator con foreach

<?php
$pizzas   = new ArrayIterator(array('Margarita', 'Siciliana', 'Hawaii'));
$ingredientes = new ArrayIterator(array('Cheese', 'Anchovies', 'Olives', 'Pineapple', 'Ham'));

$appendIterator = new AppendIterator;
$appendIterator->append($pizzas);
$appendIterator->append($ingredientes);

foreach ($appendIterator as $key => $item) {
    echo $key . ' => ' . $item . PHP_EOL;
}
?>

El resultado del ejemplo sería:

0 => Margarita
1 => Siciliana
2 => Hawaii
0 => Cheese
1 => Anchovies
2 => Olives
3 => Pineapple
4 => Ham

Ejemplo #2 Recorriendo AppendIterator con la API de AppendIterator

<?php
$pizzas   = new ArrayIterator(array('Margarita', 'Siciliana', 'Hawaii'));
$ingredientes = new ArrayIterator(array('Cheese', 'Anchovies', 'Olives', 'Pineapple', 'Ham'));

$appendIterator = new AppendIterator;
$appendIterator->append($pizzas);
$appendIterator->append($ingredientes);

while ($appendIterator->valid()) {
    printf(
        '%s => %s => %s%s',
        $appendIterator->getIteratorIndex(),
        $appendIterator->key(),
        $appendIterator->current(),
        PHP_EOL
    );
    $appendIterator->next();
}
?>

El resultado del ejemplo sería:

0 => 0 => Margarita
0 => 1 => Siciliana
0 => 2 => Hawaii
1 => 0 => Cheese
1 => 1 => Anchovies
1 => 2 => Olives
1 => 3 => Pineapple
1 => 4 => Ham

Notas

Precaución

Al usar iterator_to_array() para copiar los valores de AppendIterator a un array, debe asignarse al parámetro opcional use_key el valor FALSE. Si use_key no es FALSE, las claves que se repitan en los iteradores internos se sobrescribirán en el array final. No existe ninguna forma para preservar las claves originales.

Ver también

  • AppendIterator::append() - Añade un iterador

AppendIterator::append
AppendIterator::current
AppendIterator


Obtiene el valor actual

AppendIterator::__construct
AppendIterator::getArrayIterator
AppendIterator
PHP Manual

AppendIterator::current

(PHP 5 >= 5.1.0)

AppendIterator::current — Obtiene el valor actual

Descripción

public mixed AppendIterator::current ( void )

Obtiene el valor actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Si el valor actual es válido o NULL en caso contrario.

Ver también

  • Iterator::current() - Devuelve el elemento actual
  • AppendIterator::key() - Obtiene la clave actual
  • AppendIterator::valid() - Comprueba la validación del elemento actual
  • AppendIterator::next() - Desplazarse al siguiente elemento
  • AppendIterator::rewind() - Rebobina el iterador

AppendIterator::__construct
AppendIterator::getArrayIterator
AppendIterator


Obtiene el getArrayIterator

AppendIterator::current
AppendIterator::getInnerIterator
AppendIterator
PHP Manual

AppendIterator::getArrayIterator

(PHP 5 >= 5.1.0)

AppendIterator::getArrayIterator — Obtiene el getArrayIterator

Descripción

public void AppendIterator::getArrayIterator ( void )

Este método obtiene el ArrayIterator que es usado para almacenar los iteradores añadidos con AppendIterator::append().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve ArrayIterator que contiene los iteradores añadidos.

Ver también

  • AppendIterator::getInnerIterator() - Obtiene el iterador interno

AppendIterator::current
AppendIterator::getInnerIterator
AppendIterator


Obtiene el iterador interno

AppendIterator::getArrayIterator
AppendIterator::getIteratorIndex
AppendIterator
PHP Manual

AppendIterator::getInnerIterator

(PHP 5 >= 5.1.0)

AppendIterator::getInnerIterator — Obtiene el iterador interno

Descripción

public Iterator AppendIterator::getInnerIterator ( void )

Este método devuelve el iterador interno actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El iterador interno actual, o NULL si no hay ninguno.

Ejemplos

Ejemplo #1 Ejemplo de AppendIterator::getInnerIterator()

<?php
$array_a = new ArrayIterator(array('a' => 'aardwolf', 'b' => 'bear', 'c' => 'capybara'));
$array_b = new RegexIterator($array_a, '/^[ac]/');

$iterator = new AppendIterator;
$iterator->append($array_a);
$iterator->append($array_b);

foreach ($iterator as $current) {
    $inner = $iterator->getInnerIterator();
    if ($inner instanceOf RegexIterator) {
        echo 'Filtered: ';
    } else {
        echo 'Original: ';
    }
    echo $current . PHP_EOL;
}
?>

El resultado del ejemplo sería:

Original: aardwolf
Original: bear
Original: capybara
Filtered: aardwolf
Filtered: capybara

Ver también

  • AppendIterator::getIteratorIndex() - Obtiene un índice de iteradores

AppendIterator::getArrayIterator
AppendIterator::getIteratorIndex
AppendIterator


Obtiene un índice de iteradores

AppendIterator::getInnerIterator
AppendIterator::key
AppendIterator
PHP Manual

AppendIterator::getIteratorIndex

(PHP 5 >= 5.1.0)

AppendIterator::getIteratorIndex — Obtiene un índice de iteradores

Descripción

public int AppendIterator::getIteratorIndex ( void )

Obtiene el índice del iterador actual actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un integer, que es el índice basado en cero del iterador interno actual.

Ejemplos

Ejemplo #1 Ejemplo básico de AppendIterator.getIteratorIndex()

<?php
$array_a = new ArrayIterator(array('a' => 'aardwolf', 'b' => 'bear', 'c' => 'capybara'));
$array_b = new ArrayIterator(array('apple', 'orange', 'lemon'));

$iterator = new AppendIterator;
$iterator->append($array_a);
$iterator->append($array_b);

foreach ($iterator as $key => $current) {
    echo $iterator->getIteratorIndex() . '  ' . $key . ' ' . $current . PHP_EOL;
}
?>

El resultado del ejemplo sería:

0  a aardwolf
0  b bear
0  c capybara
1  0 apple
1  1 orange
1  2 lemon

Ver también

  • AppendIterator::getInnerIterator() - Obtiene el iterador interno
  • AppendIterator::getArrayIterator() - Obtiene el getArrayIterator

AppendIterator::getInnerIterator
AppendIterator::key
AppendIterator


Obtiene la clave actual

AppendIterator::getIteratorIndex
AppendIterator::next
AppendIterator
PHP Manual

AppendIterator::key

(PHP 5 >= 5.1.0)

AppendIterator::key — Obtiene la clave actual

Descripción

public scalar AppendIterator::key ( void )

Obtener la clave actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La clave actual si es válida o NULL en caso contrario.

Ejemplos

Ejemplo #1 Ejemplo básico de AppendIterator::key()

<?php
$array_a = new ArrayIterator(array('a' => 'aardwolf', 'b' => 'bear', 'c' => 'capybara'));
$array_b = new ArrayIterator(array('apple', 'orange', 'lemon'));

$iterator = new AppendIterator;
$iterator->append($array_a);
$iterator->append($array_b);

// Manual iteration
$iterator->rewind();
while ($iterator->valid()) {
    echo $iterator->key() . ' ' . $iterator->current() . PHP_EOL;
    $iterator->next();
}

echo PHP_EOL;

// With foreach
foreach ($iterator as $key => $current) {
    echo $key . ' ' . $current . PHP_EOL;
}
?>

El resultado del ejemplo sería:

a aardwolf
b bear
c capybara
0 apple
1 orange
2 lemon

a aardwolf
b bear
c capybara
0 apple
1 orange
2 lemon

Ver también

  • Iterator::key() - Devuelve la clave del elemento actual
  • AppendIterator::current() - Obtiene el valor actual
  • AppendIterator::valid() - Comprueba la validación del elemento actual
  • AppendIterator::next() - Desplazarse al siguiente elemento
  • AppendIterator::rewind() - Rebobina el iterador

AppendIterator::getIteratorIndex
AppendIterator::next
AppendIterator


Desplazarse al siguiente elemento

AppendIterator::key
AppendIterator::rewind
AppendIterator
PHP Manual

AppendIterator::next

(PHP 5 >= 5.1.0)

AppendIterator::next — Desplazarse al siguiente elemento

Descripción

public void AppendIterator::next ( void )

Se desplaza al siguiente elemento. Esto significa a otro iterador por lo que rebobina ese iterador.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • Iterator::next() - Avanza al siguiente elemento
  • AppendIterator::current() - Obtiene el valor actual
  • AppendIterator::key() - Obtiene la clave actual
  • AppendIterator::valid() - Comprueba la validación del elemento actual
  • AppendIterator::rewind() - Rebobina el iterador

AppendIterator::key
AppendIterator::rewind
AppendIterator


Rebobina el iterador

AppendIterator::next
AppendIterator::valid
AppendIterator
PHP Manual

AppendIterator::rewind

(PHP 5 >= 5.1.0)

AppendIterator::rewind — Rebobina el iterador

Descripción

public void AppendIterator::rewind ( void )

Rebobina al primer elemento del primer iterador interno.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • Iterator::rewind() - Rebobine la Iterator al primer elemento
  • AppendIterator::current() - Obtiene el valor actual
  • AppendIterator::key() - Obtiene la clave actual
  • AppendIterator::next() - Desplazarse al siguiente elemento
  • AppendIterator::valid() - Comprueba la validación del elemento actual

AppendIterator::next
AppendIterator::valid
AppendIterator


Comprueba la validación del elemento actual

AppendIterator::rewind
ArrayIterator
AppendIterator
PHP Manual

AppendIterator::valid

(PHP 5 >= 5.1.0)

AppendIterator::valid — Comprueba la validación del elemento actual

Descripción

public bool AppendIterator::valid ( void )

Comprueba la validación del elemento actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si la iteración actual es válida, FALSE en caso contrario.

Ver también

  • AppendIterator::current() - Obtiene el valor actual
  • AppendIterator::key() - Obtiene la clave actual
  • AppendIterator::next() - Desplazarse al siguiente elemento
  • AppendIterator::rewind() - Rebobina el iterador

AppendIterator::rewind
ArrayIterator
AppendIterator


La clase ArrayIterator

(PHP 5)

Introducción

Este iterador permite eliminar y modificar valores y claves cuando se recorren arrays y objetos.

Cuando se quiere iterar sobre el mismo array varias veces, se necesita instanciar ArrayObject y dejarle que cree instancias ArrayIterator que hacen referencia a la misma usando foreach o llamando a su método getIterator() de forma manual.

Sinopsis de la Clase

ArrayIterator implements ArrayAccess , SeekableIterator , Countable , Serializable {
/* Métodos */
public void append ( mixed $value )
public void asort ( void )
public __construct ([ mixed $array = array() [, int $flags = 0 ]] )
public int count ( void )
public mixed current ( void )
public array getArrayCopy ( void )
public void getFlags ( void )
public mixed key ( void )
public void ksort ( void )
public void natcasesort ( void )
public void natsort ( void )
public void next ( void )
public void offsetExists ( string $index )
public mixed offsetGet ( string $index )
public void offsetSet ( string $index , string $newval )
public void offsetUnset ( string $index )
public void rewind ( void )
public void seek ( int $position )
public string serialize ( void )
public void setFlags ( string $flags )
public void uasort ( string $cmp_function )
public void uksort ( string $cmp_function )
public string unserialize ( string $serialized )
public bool valid ( void )
}

Tabla de contenidos

  • ArrayIterator::append — Añade un elemento
  • ArrayIterator::asort — Ordena array por sus valores
  • ArrayIterator::__construct — Construye un ArrayIterator
  • ArrayIterator::count — Cuenta elementos
  • ArrayIterator::current — Devuelve la entrada actual del array
  • ArrayIterator::getArrayCopy — Obtener copia de un array
  • ArrayIterator::getFlags — Obtener opciones
  • ArrayIterator::key — Devuelve la clave actual del array
  • ArrayIterator::ksort — Ordena un array por sus claves
  • ArrayIterator::natcasesort — Ordena un array de forma natural, sensible a mayúsculas
  • ArrayIterator::natsort — Ordena un array de forma natural
  • ArrayIterator::next — Desplaza a la siguiente entrada
  • ArrayIterator::offsetExists — Compruebar si el índice existe
  • ArrayIterator::offsetGet — Obtener el valor de un índice
  • ArrayIterator::offsetSet — Establece el valor para un índice
  • ArrayIterator::offsetUnset — Destruye el valor de un índice
  • ArrayIterator::rewind — Rebobinar array al inicio
  • ArrayIterator::seek — Buscar la posición
  • ArrayIterator::serialize — Serializar
  • ArrayIterator::setFlags — Definir opciones de comportamiento
  • ArrayIterator::uasort — Ordenado definido por el usuario
  • ArrayIterator::uksort — Ordenado definido por el usuario
  • ArrayIterator::unserialize — Deserializar
  • ArrayIterator::valid — Comprueba si un array contiene más entradas
AppendIterator::valid
ArrayIterator::append
Iteradores


Añade un elemento

ArrayIterator
ArrayIterator::asort
ArrayIterator
PHP Manual

ArrayIterator::append

(PHP 5 >= 5.0.0)

ArrayIterator::append — Añade un elemento

Descripción

public void ArrayIterator::append ( mixed $value )

Añade el valor cómo el último elemento.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

value

El valor a añadir.

Valores devueltos

No devuelve ningún valor.

Notas

Nota:

Este método no puede ser llamado cuando ArrayIterator hace referencia a un objeto.

Ver también

  • ArrayIterator::next() - Desplaza a la siguiente entrada

ArrayIterator
ArrayIterator::asort
ArrayIterator


Ordena array por sus valores

ArrayIterator::append
ArrayIterator::__construct
ArrayIterator
PHP Manual

ArrayIterator::asort

(PHP 5 >= 5.2.0)

ArrayIterator::asort — Ordena array por sus valores

Descripción

public void ArrayIterator::asort ( void )

Ordena un array por sus valores.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • ArrayIterator::ksort() - Ordena un array por sus claves
  • ArrayIterator::natcasesort() - Ordena un array de forma natural, sensible a mayúsculas
  • ArrayIterator::natsort() - Ordena un array de forma natural

ArrayIterator::append
ArrayIterator::__construct
ArrayIterator


Construye un ArrayIterator

ArrayIterator::asort
ArrayIterator::count
ArrayIterator
PHP Manual

ArrayIterator::__construct

(PHP 5 >= 5.0.0)

ArrayIterator::__construct — Construye un ArrayIterator

Descripción

public ArrayIterator::__construct ([ mixed $array = array() [, int $flags = 0 ]] )

Construye un objeto ArrayIterator.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

array

El array o objecto a ser iterado.

flags

Banderas para controlar el comportamiento del objeto ArrayIterator. Véase ArrayIterator::setFlags().

Valores devueltos

Un objeto ArrayIterator.

Errores/Excepciones

ArrayIterator::__construct() lanza una InvalidArgumentException si es dado cualquier otra cosa a parte de un array o un objeto.

Ver también

  • ArrayIterator::getArrayCopy() - Obtener copia de un array

ArrayIterator::asort
ArrayIterator::count
ArrayIterator


Cuenta elementos

ArrayIterator::__construct
ArrayIterator::current
ArrayIterator
PHP Manual

ArrayIterator::count

(PHP 5 >= 5.0.0)

ArrayIterator::count — Cuenta elementos

Descripción

public int ArrayIterator::count ( void )

Obtiene el número de elementos de un array, o el número de propiedades públicas en un objeto.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El número.

Ver también

  • ArrayIterator::getFlags() - Obtener opciones

ArrayIterator::__construct
ArrayIterator::current
ArrayIterator


Devuelve la entrada actual del array

ArrayIterator::count
ArrayIterator::getArrayCopy
ArrayIterator
PHP Manual

ArrayIterator::current

(PHP 5 >= 5.0.0)

ArrayIterator::current — Devuelve la entrada actual del array

Descripción

public mixed ArrayIterator::current ( void )

Obtiene la entrada actual del array.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La entrada actual del array.

Ejemplos

Ejemplo #1 Ejemplo de ArrayIterator::current()

<?php
$array = array('1' => 'uno',
               '2' => 'dos',
               '3' => 'tres');

$arrayobject = new ArrayObject($array);

for($iterator = $arrayobject->getIterator();
    $iterator->valid();
    $iterator->next()) {

    echo $iterator->key() . ' => ' . $iterator->current() . "\n";
}
?>

El resultado del ejemplo sería:

1 => uno
2 => dos
3 => tres

ArrayIterator::count
ArrayIterator::getArrayCopy
ArrayIterator


Obtener copia de un array

ArrayIterator::current
ArrayIterator::getFlags
ArrayIterator
PHP Manual

ArrayIterator::getArrayCopy

(PHP 5 >= 5.0.0)

ArrayIterator::getArrayCopy — Obtener copia de un array

Descripción

public array ArrayIterator::getArrayCopy ( void )

Obtiene una copia de un array.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Una copia de un array, o un array de las propiedades públicas si ArrayIterator hace referencia a un objeto.

Ver también

  • ArrayIterator::valid() - Comprueba si un array contiene más entradas

ArrayIterator::current
ArrayIterator::getFlags
ArrayIterator


Obtener opciones

ArrayIterator::getArrayCopy
ArrayIterator::key
ArrayIterator
PHP Manual

ArrayIterator::getFlags

(PHP 5 >= 5.1.0)

ArrayIterator::getFlags — Obtener opciones

Descripción

public void ArrayIterator::getFlags ( void )

Obtiene las opciones actuales.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

The current flags.

Ver también

  • ArrayIterator::valid() - Comprueba si un array contiene más entradas

ArrayIterator::getArrayCopy
ArrayIterator::key
ArrayIterator


Devuelve la clave actual del array

ArrayIterator::getFlags
ArrayIterator::ksort
ArrayIterator
PHP Manual

ArrayIterator::key

(PHP 5 >= 5.0.0)

ArrayIterator::key — Devuelve la clave actual del array

Descripción

public mixed ArrayIterator::key ( void )

Esta función devuelve la clave actual del array

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La clave actual del array.

Ejemplos

Ejemplo #1 Ejemplo de ArrayIterator::key()

<?php
$array = array('key' => 'value');

$arrayobject = new ArrayObject($array);
$iterator = $arrayobject->getIterator();

echo $iterator->key(); //key
?>

ArrayIterator::getFlags
ArrayIterator::ksort
ArrayIterator


Ordena un array por sus claves

ArrayIterator::key
ArrayIterator::natcasesort
ArrayIterator
PHP Manual

ArrayIterator::ksort

(PHP 5 >= 5.2.0)

ArrayIterator::ksort — Ordena un array por sus claves

Descripción

public void ArrayIterator::ksort ( void )

Ordena un array por sus claves.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • ArrayIterator::asort() - Ordena array por sus valores
  • ArrayIterator::natcasesort() - Ordena un array de forma natural, sensible a mayúsculas
  • ArrayIterator::natsort() - Ordena un array de forma natural

ArrayIterator::key
ArrayIterator::natcasesort
ArrayIterator


Ordena un array de forma natural, sensible a mayúsculas

ArrayIterator::ksort
ArrayIterator::natsort
ArrayIterator
PHP Manual

ArrayIterator::natcasesort

(PHP 5 >= 5.2.0)

ArrayIterator::natcasesort — Ordena un array de forma natural, sensible a mayúsculas

Descripción

public void ArrayIterator::natcasesort ( void )

Ordena las entradas por valores usando un algoritmo de "ordenado natural" sensible a mayúsculas.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • ArrayIterator::asort() - Ordena array por sus valores
  • ArrayIterator::ksort() - Ordena un array por sus claves
  • ArrayIterator::natsort() - Ordena un array de forma natural
  • natcasesort() - Ordenar un array usando un algoritmo de "orden natural" insensible a mayúsculas-minúsculas

ArrayIterator::ksort
ArrayIterator::natsort
ArrayIterator


Ordena un array de forma natural

ArrayIterator::natcasesort
ArrayIterator::next
ArrayIterator
PHP Manual

ArrayIterator::natsort

(PHP 5 >= 5.2.0)

ArrayIterator::natsort — Ordena un array de forma natural

Descripción

public void ArrayIterator::natsort ( void )

Ordena las entradas por valores usando un algoritmo de "ordenado natural".

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • ArrayIterator::asort() - Ordena array por sus valores
  • ArrayIterator::ksort() - Ordena un array por sus claves
  • ArrayIterator::natcasesort() - Ordena un array de forma natural, sensible a mayúsculas
  • natsort() - Ordena un array usando un algoritmo de "orden natural"

ArrayIterator::natcasesort
ArrayIterator::next
ArrayIterator


Desplaza a la siguiente entrada

ArrayIterator::natsort
ArrayIterator::offsetExists
ArrayIterator
PHP Manual

ArrayIterator::next

(PHP 5 >= 5.0.0)

ArrayIterator::next — Desplaza a la siguiente entrada

Descripción

public void ArrayIterator::next ( void )

El iterador a la siguiente entrada.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de ArrayIterator::next()

<?php
$arrayobject = new ArrayObject();

$arrayobject[] = 'cero';
$arrayobject[] = 'uno';

$iterator = $arrayobject->getIterator();

while($iterator->valid()) {
    echo $iterator->key() . ' => ' . $iterator->current() . "\n";

    $iterator->next();
}
?>

El resultado del ejemplo sería:

0 => cero
1 => uno

ArrayIterator::natsort
ArrayIterator::offsetExists
ArrayIterator


Compruebar si el índice existe

ArrayIterator::next
ArrayIterator::offsetGet
ArrayIterator
PHP Manual

ArrayIterator::offsetExists

(PHP 5 >= 5.0.0)

ArrayIterator::offsetExists — Compruebar si el índice existe

Descripción

public void ArrayIterator::offsetExists ( string $index )

Comprueba si el índice existe.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

index

El índice a ser comprobado.

Valores devueltos

TRUE si el índice existe, en caso contrario FALSE

Ver también

  • ArrayIterator::valid() - Comprueba si un array contiene más entradas

ArrayIterator::next
ArrayIterator::offsetGet
ArrayIterator


Obtener el valor de un índice

ArrayIterator::offsetExists
ArrayIterator::offsetSet
ArrayIterator
PHP Manual

ArrayIterator::offsetGet

(PHP 5 >= 5.0.0)

ArrayIterator::offsetGet — Obtener el valor de un índice

Descripción

public mixed ArrayIterator::offsetGet ( string $index )

Obtiene el valor del índice proporcionado.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

index

El índice para obtener el valor.

Valores devueltos

El valor del índice index.

Ver también

  • ArrayIterator::offsetSet() - Establece el valor para un índice
  • ArrayIterator::offsetUnset() - Destruye el valor de un índice

ArrayIterator::offsetExists
ArrayIterator::offsetSet
ArrayIterator


Establece el valor para un índice

ArrayIterator::offsetGet
ArrayIterator::offsetUnset
ArrayIterator
PHP Manual

ArrayIterator::offsetSet

(PHP 5 >= 5.0.0)

ArrayIterator::offsetSet — Establece el valor para un índice

Descripción

public void ArrayIterator::offsetSet ( string $index , string $newval )

Establecer el valor para el índice dado.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

index

El índice a ser establecido.

newval

El nuevo valor para almacenar en el índice.

Valores devueltos

No devuelve ningún valor.

Ver también

  • ArrayIterator::offsetGet() - Obtener el valor de un índice
  • ArrayIterator::offsetUnset() - Destruye el valor de un índice

ArrayIterator::offsetGet
ArrayIterator::offsetUnset
ArrayIterator


Destruye el valor de un índice

ArrayIterator::offsetSet
ArrayIterator::rewind
ArrayIterator
PHP Manual

ArrayIterator::offsetUnset

(PHP 5 >= 5.0.0)

ArrayIterator::offsetUnset — Destruye el valor de un índice

Descripción

public void ArrayIterator::offsetUnset ( string $index )

Destruir el valor de un índice dado.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

index

El índice a ser destruido.

Valores devueltos

No devuelve ningún valor.

Ver también

  • ArrayIterator::offsetGet() - Obtener el valor de un índice
  • ArrayIterator::offsetSet() - Establece el valor para un índice

ArrayIterator::offsetSet
ArrayIterator::rewind
ArrayIterator


Rebobinar array al inicio

ArrayIterator::offsetUnset
ArrayIterator::seek
ArrayIterator
PHP Manual

ArrayIterator::rewind

(PHP 5 >= 5.0.0)

ArrayIterator::rewind — Rebobinar array al inicio

Descripción

public void ArrayIterator::rewind ( void )

Rebobina el iterador al inicio del array.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de ArrayIterator::rewind()

<?php
$arrayobject = new ArrayObject();

$arrayobject[] = 'zero';
$arrayobject[] = 'one';
$arrayobject[] = 'two';

$iterator = $arrayobject->getIterator();

$iterator->next();
echo $iterator->key(); //1

$iterator->rewind(); //rebobinar al inicio
echo $iterator->key(); //0
?>

ArrayIterator::offsetUnset
ArrayIterator::seek
ArrayIterator


Buscar la posición

ArrayIterator::rewind
ArrayIterator::serialize
ArrayIterator
PHP Manual

ArrayIterator::seek

(PHP 5 >= 5.0.0)

ArrayIterator::seek — Buscar la posición

Descripción

public void ArrayIterator::seek ( int $position )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

position

La posición a buscar.

Valores devueltos

No devuelve ningún valor.

ArrayIterator::rewind
ArrayIterator::serialize
ArrayIterator


Serializar

ArrayIterator::seek
ArrayIterator::setFlags
ArrayIterator
PHP Manual

ArrayIterator::serialize

(PHP 5 >= 5.3.0)

ArrayIterator::serialize — Serializar

Descripción

public string ArrayIterator::serialize ( void )

Serializa.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El ArrayIterator serializado.

Ver también

  • ArrayIterator::unserialize() - Deserializar

ArrayIterator::seek
ArrayIterator::setFlags
ArrayIterator


Definir opciones de comportamiento

ArrayIterator::serialize
ArrayIterator::uasort
ArrayIterator
PHP Manual

ArrayIterator::setFlags

(PHP 5 >= 5.1.0)

ArrayIterator::setFlags — Definir opciones de comportamiento

Descripción

public void ArrayIterator::setFlags ( string $flags )

Define opciones de comportamiento.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

flags

Un bitmask como se indica:

  • 0 = Propiedades del objeto tienen su normal comportamiento cuando son obtenidas como lista (var_dump, foreach, etc.).
  • 1 = Índicies de array pueden ser accedidos como propiedades de lectura/escritura.

Valores devueltos

No devuelve ningún valor.

Ver también

  • ArrayIterator::getFlags() - Obtener opciones

ArrayIterator::serialize
ArrayIterator::uasort
ArrayIterator


Ordenado definido por el usuario

ArrayIterator::setFlags
ArrayIterator::uksort
ArrayIterator
PHP Manual

ArrayIterator::uasort

(PHP 5 >= 5.2.0)

ArrayIterator::uasort — Ordenado definido por el usuario

Descripción

public void ArrayIterator::uasort ( string $cmp_function )

Ordena las entradas por los valores usando una función definida por el usuario.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

cmp_function

La función de comparación usada para el ordenado.

Valores devueltos

No devuelve ningún valor.

Ver también

  • ArrayIterator::uksort() - Ordenado definido por el usuario
  • usort() - Ordena un array según sus valores usando una función de comparación definida por el usuario

ArrayIterator::setFlags
ArrayIterator::uksort
ArrayIterator


Ordenado definido por el usuario

ArrayIterator::uasort
ArrayIterator::unserialize
ArrayIterator
PHP Manual

ArrayIterator::uksort

(PHP 5 >= 5.2.0)

ArrayIterator::uksort — Ordenado definido por el usuario

Descripción

public void ArrayIterator::uksort ( string $cmp_function )

Ordena las entradas por clave usando una función definida por el usuario.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

cmp_function

La función de comparación usada para el ordenado.

Valores devueltos

No devuelve ningún valor.

Ver también

  • ArrayIterator::uasort() - Ordenado definido por el usuario
  • uksort() - Ordena un array según sus claves usando una función de comparación definida por el usuario

ArrayIterator::uasort
ArrayIterator::unserialize
ArrayIterator


Deserializar

ArrayIterator::uksort
ArrayIterator::valid
ArrayIterator
PHP Manual

ArrayIterator::unserialize

(PHP 5 >= 5.3.0)

ArrayIterator::unserialize — Deserializar

Descripción

public string ArrayIterator::unserialize ( string $serialized )

Deserializa.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

serialized

El objecto serializado ArrayIterator para deserializar.

Valores devueltos

The ArrayIterator.

Ver también

  • ArrayIterator::serialize() - Serializar

ArrayIterator::uksort
ArrayIterator::valid
ArrayIterator


Comprueba si un array contiene más entradas

ArrayIterator::unserialize
CachingIterator
ArrayIterator
PHP Manual

ArrayIterator::valid

(PHP 5 >= 5.0.0)

ArrayIterator::valid — Comprueba si un array contiene más entradas

Descripción

public bool ArrayIterator::valid ( void )

Comprueba si un array contiene más entradas.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de ArrayIterator::valid()

<?php
$array = array('1' => 'uno');

$arrayobject = new ArrayObject($array);
$iterator = $arrayobject->getIterator();

var_dump($iterator->valid()); //bool(true)

$iterator->next(); // avanza al siguiente ítem

//bool(false) porque sólo hay un elemento array
var_dump($iterator->valid());
?>

ArrayIterator::unserialize
CachingIterator
ArrayIterator


La clase CachingIterator

(PHP 5)

Introducción

Este objeto admite iteraciones almacenadas en caché sobre otros iteradores.

Sinopsis de la Clase

CachingIterator extends IteratorIterator implements OuterIterator , ArrayAccess , Countable {
/* Constantes */
const integer CALL_TOSTRING = 1 ;
const integer CATCH_GET_CHILD = 16 ;
const integer TOSTRING_USE_KEY = 2 ;
const integer TOSTRING_USE_CURRENT = 4 ;
const integer TOSTRING_USE_INNER = 8 ;
const integer FULL_CACHE = 256 ;
/* Métodos */
public __construct ( Iterator $iterator [, string $flags = self::CALL_TOSTRING ] )
public int count ( void )
public void current ( void )
public void getCache ( void )
public void getFlags ( void )
public Iterator getInnerIterator ( void )
public void hasNext ( void )
public scalar key ( void )
public void next ( void )
public void offsetExists ( string $index )
public void offsetGet ( string $index )
public void offsetSet ( string $index , string $newval )
public void offsetUnset ( string $index )
public void rewind ( void )
public void setFlags ( bitmask $flags )
public void __toString ( void )
public void valid ( void )
}

Constantes predefinidas

CachingIterator::CALL_TOSTRING

Convierte cada elemento a un string.

CachingIterator::CATCH_GET_CHILD

No lanzar una excepción en el acceso a los hijos.

CachingIterator::TOSTRING_USE_KEY

Usa key para la conversión a string.

CachingIterator::TOSTRING_USE_CURRENT

Usa current para la conversión a string.

CachingIterator::TOSTRING_USE_INNER

Usa inner para la conversión a string.

CachingIterator::FULL_CACHE

Almacena en caché todos los datos leídos.

Tabla de contenidos

  • CachingIterator::__construct — Construye un nuevo objeto CachingIterator para el iterador
  • CachingIterator::count — El número de elementos en el iterador
  • CachingIterator::current — Devuelve el elemento actual
  • CachingIterator::getCache — El propósito de getCache
  • CachingIterator::getFlags — Obtiene las opciones usadas
  • CachingIterator::getInnerIterator — Devuelve el iterador interno
  • CachingIterator::hasNext — Comprueba que el iterador interno tenga un elemento siguiente válido
  • CachingIterator::key — Devuelve la clave del elemento actual
  • CachingIterator::next — Desplaza el iterador adelante
  • CachingIterator::offsetExists — Comprobar existencia de un índice
  • CachingIterator::offsetGet — El propósito offsetGet
  • CachingIterator::offsetSet — El propósito offsetSet
  • CachingIterator::offsetUnset — El propósito offsetUnset
  • CachingIterator::rewind — Rebobina el iterador
  • CachingIterator::setFlags — El propósito setFlags
  • CachingIterator::__toString — Devolver la representación en formato cadena del elemento actual
  • CachingIterator::valid — Comprueba que el elemento actual sea válido
ArrayIterator::valid
CachingIterator::__construct
Iteradores


Construye un nuevo objeto CachingIterator para el iterador

CachingIterator
CachingIterator::count
CachingIterator
PHP Manual

CachingIterator::__construct

(PHP 5)

CachingIterator::__construct — Construye un nuevo objeto CachingIterator para el iterador

Descripción

public CachingIterator::__construct ( Iterator $iterator [, string $flags = self::CALL_TOSTRING ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

iterator

Iterador a usar en caché

flags

Máscara de bits de las opciones.

CachingIterator
CachingIterator::count
CachingIterator


El número de elementos en el iterador

CachingIterator::__construct
CachingIterator::current
CachingIterator
PHP Manual

CachingIterator::count

(PHP 5 >= 5.2.2)

CachingIterator::count — El número de elementos en el iterador

Descripción

public int CachingIterator::count ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve el número de elementos en el iterador.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La cuenta del número de elementos que han sido iterados.

CachingIterator::__construct
CachingIterator::current
CachingIterator


Devuelve el elemento actual

CachingIterator::count
CachingIterator::getCache
CachingIterator
PHP Manual

CachingIterator::current

(PHP 5)

CachingIterator::current — Devuelve el elemento actual

Descripción

public void CachingIterator::current ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve el elemento actual en el iterador.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Mixed

Ver también

  • Iterator::current() - Devuelve el elemento actual

CachingIterator::count
CachingIterator::getCache
CachingIterator


El propósito de getCache

CachingIterator::current
CachingIterator::getFlags
CachingIterator
PHP Manual

CachingIterator::getCache

(PHP 5 >= 5.2.0)

CachingIterator::getCache — El propósito de getCache

Descripción

public void CachingIterator::getCache ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

CachingIterator::current
CachingIterator::getFlags
CachingIterator


Obtiene las opciones usadas

CachingIterator::getCache
CachingIterator::getInnerIterator
CachingIterator
PHP Manual

CachingIterator::getFlags

(PHP 5 >= 5.2.0)

CachingIterator::getFlags — Obtiene las opciones usadas

Descripción

public void CachingIterator::getFlags ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Obtiene la máscara de bits usada para la instancia de ChachingIterator.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Descripción...

CachingIterator::getCache
CachingIterator::getInnerIterator
CachingIterator


Devuelve el iterador interno

CachingIterator::getFlags
CachingIterator::hasNext
CachingIterator
PHP Manual

CachingIterator::getInnerIterator

(PHP 5)

CachingIterator::getInnerIterator — Devuelve el iterador interno

Descripción

public Iterator CachingIterator::getInnerIterator ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve el iterador enviado al constructor.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un objecto implementado el iterfaz iterador.

CachingIterator::getFlags
CachingIterator::hasNext
CachingIterator


Comprueba que el iterador interno tenga un elemento siguiente válido

CachingIterator::getInnerIterator
CachingIterator::key
CachingIterator
PHP Manual

CachingIterator::hasNext

(PHP 5)

CachingIterator::hasNext — Comprueba que el iterador interno tenga un elemento siguiente válido

Descripción

public void CachingIterator::hasNext ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

CachingIterator::getInnerIterator
CachingIterator::key
CachingIterator


Devuelve la clave del elemento actual

CachingIterator::hasNext
CachingIterator::next
CachingIterator
PHP Manual

CachingIterator::key

(PHP 5)

CachingIterator::key — Devuelve la clave del elemento actual

Descripción

public scalar CachingIterator::key ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Este método devuelve la clave del elemento actual.

Parámetros

Esta función no tiene parámetros.

CachingIterator::hasNext
CachingIterator::next
CachingIterator


Desplaza el iterador adelante

CachingIterator::key
CachingIterator::offsetExists
CachingIterator
PHP Manual

CachingIterator::next

(PHP 5)

CachingIterator::next — Desplaza el iterador adelante

Descripción

public void CachingIterator::next ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Desplaza el iterador adelante.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

CachingIterator::key
CachingIterator::offsetExists
CachingIterator


Comprobar existencia de un índice

CachingIterator::next
CachingIterator::offsetGet
CachingIterator
PHP Manual

CachingIterator::offsetExists

(PHP 5 >= 5.2.0)

CachingIterator::offsetExists — Comprobar existencia de un índice

Descripción

public void CachingIterator::offsetExists ( string $index )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

index

El índice a ser comprobado.

Valores devueltos

Devuelve TRUE si la entrada a la que hace referencia el índice existe, en caso contrario FALSE.

CachingIterator::next
CachingIterator::offsetGet
CachingIterator


El propósito offsetGet

CachingIterator::offsetExists
CachingIterator::offsetSet
CachingIterator
PHP Manual

CachingIterator::offsetGet

(PHP 5 >= 5.2.0)

CachingIterator::offsetGet — El propósito offsetGet

Descripción

public void CachingIterator::offsetGet ( string $index )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

index

Descripción...

Valores devueltos

Descripción...

CachingIterator::offsetExists
CachingIterator::offsetSet
CachingIterator


El propósito offsetSet

CachingIterator::offsetGet
CachingIterator::offsetUnset
CachingIterator
PHP Manual

CachingIterator::offsetSet

(PHP 5 >= 5.2.0)

CachingIterator::offsetSet — El propósito offsetSet

Descripción

public void CachingIterator::offsetSet ( string $index , string $newval )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

index

El índice del elemento a ser establecido.

newval

El nuevo valor para el index.

Valores devueltos

No devuelve ningún valor.

CachingIterator::offsetGet
CachingIterator::offsetUnset
CachingIterator


El propósito offsetUnset

CachingIterator::offsetSet
CachingIterator::rewind
CachingIterator
PHP Manual

CachingIterator::offsetUnset

(PHP 5 >= 5.2.0)

CachingIterator::offsetUnset — El propósito offsetUnset

Descripción

public void CachingIterator::offsetUnset ( string $index )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

index

El índice de el elemento a ser destruido.

Valores devueltos

No devuelve ningún valor.

CachingIterator::offsetSet
CachingIterator::rewind
CachingIterator


Rebobina el iterador

CachingIterator::offsetUnset
CachingIterator::setFlags
CachingIterator
PHP Manual

CachingIterator::rewind

(PHP 5)

CachingIterator::rewind — Rebobina el iterador

Descripción

public void CachingIterator::rewind ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Rebobinar el iterador.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

CachingIterator::offsetUnset
CachingIterator::setFlags
CachingIterator


El propósito setFlags

CachingIterator::rewind
CachingIterator::__toString
CachingIterator
PHP Manual

CachingIterator::setFlags

(PHP 5 >= 5.2.0)

CachingIterator::setFlags — El propósito setFlags

Descripción

public void CachingIterator::setFlags ( bitmask $flags )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Establece las flags para el objeto CachingIterator.

Parámetros

flags

Máscara de flags a establecer.

Valores devueltos

No devuelve ningún valor.

CachingIterator::rewind
CachingIterator::__toString
CachingIterator


Devolver la representación en formato cadena del elemento actual

CachingIterator::setFlags
CachingIterator::valid
CachingIterator
PHP Manual

CachingIterator::__toString

(PHP 5)

CachingIterator::__toString — Devolver la representación en formato cadena del elemento actual

Descripción

public void CachingIterator::__toString ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Obtiene la representación en formato cadena del elemento actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La representación en formato cadena del elemento actual.

CachingIterator::setFlags
CachingIterator::valid
CachingIterator


Comprueba que el elemento actual sea válido

CachingIterator::__toString
CallbackFilterIterator
CachingIterator
PHP Manual

CachingIterator::valid

(PHP 5)

CachingIterator::valid — Comprueba que el elemento actual sea válido

Descripción

public void CachingIterator::valid ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Comprueba que el elemento actual sea válido.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

CachingIterator::__toString
CallbackFilterIterator
CachingIterator


La clase CallbackFilterIterator

(PHP 5 >= 5.4.0)

Introducción

Sinopsis de la Clase

CallbackFilterIterator extends FilterIterator implements OuterIterator {
/* Métodos */
public __construct ( Iterator $iterator , callable $callback )
public string accept ( void )
/* Métodos heredados */
public abstract bool FilterIterator::accept ( void )
public FilterIterator::__construct ( Iterator $iterator )
public mixed FilterIterator::current ( void )
public Iterator FilterIterator::getInnerIterator ( void )
public mixed FilterIterator::key ( void )
public void FilterIterator::next ( void )
public void FilterIterator::rewind ( void )
public bool FilterIterator::valid ( void )
}

Ejemplos

La llamada de retorno debería aceptar hasta tres argumentos: el elemento actual, la clave actual y el iterador, respectivamente.

Ejemplo #1 Argumentos disponibles de la llamada de retorno

<?php

/**
 * Llamada de retorno para CallbackFilterIterator
 *
 * @param $current   Valor del elemento actual
 * @param $key       Clave del elemento actual
 * @param $iterator  Iterador a filtrar
 * @return boolean   TRUE para aceptar el elemento actual, de lo contrario FALSE
 */
function my_callback($current, $key, $iterator) {
    // Aquí el código de filtrado
}

?>

Se posría usar algún callable,como un string que contenga nombre de función, un array para un método, o una función anónima.

Ejemplo #2 Ejemplos básicos de llamada de retorno

<?php

$dir = new FilesystemIterator(__DIR__);

// Filtrar ficheros de gran tamaño ( > 100MB)
function is_large_file($current) {
    return $current->isFile() && $current->getSize() > 104857600;
}
$large_files = new CallbackFilterIterator($dir, 'is_large_file');

// Filtrar directorios
$files = new CallbackFilterIterator($dir, function ($current, $key, $iterator) {
    return $current->isDir() && ! $iterator->isDot();
});

?>

Tabla de contenidos

  • CallbackFilterIterator::accept — Llama la llamada de retorno con el valor actual, la clave actual y el iterador interior como argumentos
  • CallbackFilterIterator::__construct — Crear un iterador filtrado desde otro iterador
CachingIterator::valid
CallbackFilterIterator::accept
Iteradores


Llama la llamada de retorno con el valor actual, la clave actual y el iterador interior como argumentos

CallbackFilterIterator
CallbackFilterIterator::__construct
CallbackFilterIterator
PHP Manual

CallbackFilterIterator::accept

(PHP 5 >= 5.4.0)

CallbackFilterIterator::accept — Llama la llamada de retorno con el valor actual, la clave actual y el iterador interior como argumentos

Descripción

public string CallbackFilterIterator::accept ( void )

Este método llama a la llamada de retorno con el valor actual, la clave actual y el iterador interno.

La llamada de retorno se espera que devuelva TRUE si el elemento actual es aceptado, o en caso contrario FALSE.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE para aceptar el elemento actual, o en caso contrario FALSE.

Ver también

  • Ejemplos de CallbackFilterIterator
  • CallbackFilterIterator::__construct() - Crear un iterador filtrado desde otro iterador

CallbackFilterIterator
CallbackFilterIterator::__construct
CallbackFilterIterator


Crear un iterador filtrado desde otro iterador

CallbackFilterIterator::accept
DirectoryIterator
CallbackFilterIterator
PHP Manual

CallbackFilterIterator::__construct

(PHP 5 >= 5.4.0)

CallbackFilterIterator::__construct — Crear un iterador filtrado desde otro iterador

Descripción

public CallbackFilterIterator::__construct() ( Iterator $iterator , callable $callback )

Crea un iterador filtrado usando callback (llamada de retorno) Creates a filtered iterator using the callback para determinar que elementos van a ser aceptados o rechazados.

Parámetros

iterator

El iterador a ser filtrado.

callback

La llamada de retorno, debe devolver TRUE para aceptar el elemento actual o en caso contrario FALSE. Véase los Ejemplos.

Puede ser cualquier valor válido de callback.

Valores devueltos

No devuelve ningún valor.

Ver también

  • Ejemplos de CallbackFilterIterator
  • CallbackFilterIterator::accept() - Llama la llamada de retorno con el valor actual, la clave actual y el iterador interior como argumentos

CallbackFilterIterator::accept
DirectoryIterator
CallbackFilterIterator


La clase DirectoryIterator

(PHP 5)

Introducción

La clase DirectoryIterator proporciona un sencilla interfaz para ver el contenido de los directorios del sistema de ficheros.

Sinopsis de la Clase

DirectoryIterator extends SplFileInfo implements SeekableIterator {
/* Métodos */
public __construct ( string $path )
public DirectoryIterator current ( void )
public int getATime ( void )
public string getBasename ([ string $suffix ] )
public int getCTime ( void )
public string getExtension ( void )
public string getFilename ( void )
public int getGroup ( void )
public int getInode ( void )
public int getMTime ( void )
public int getOwner ( void )
public string getPath ( void )
public string getPathname ( void )
public int getPerms ( void )
public int getSize ( void )
public string getType ( void )
public bool isDir ( void )
public bool isDot ( void )
public bool isExecutable ( void )
public bool isFile ( void )
public bool isLink ( void )
public bool isReadable ( void )
public bool isWritable ( void )
public string key ( void )
public void next ( void )
public void rewind ( void )
public void seek ( int $position )
public string __toString ( void )
public bool valid ( void )
}

Historial de cambios

Versión | Descripción
5.1.2 | DirectoryIterator amplía SplFileInfo.

Tabla de contenidos

  • DirectoryIterator::__construct — Construye un iterador nuevo directorio de una ruta
  • DirectoryIterator::current — Devuelve el elemento actual de DirectoryIterator
  • DirectoryIterator::getATime — Obtener el último acceso del elemento actual DirectoryIterator
  • DirectoryIterator::getBasename — Obtener el nombre base del elemento actual DirectoryIterator
  • DirectoryIterator::getCTime — Obtiene el cambio de tiempo del inodo para el elemento actual DirectoryIterator
  • DirectoryIterator::getExtension — Obtiene la extensión de un fichero
  • DirectoryIterator::getFilename — Devuelve el nombre del fichero del elemento actual DirectoryIterator
  • DirectoryIterator::getGroup — Obtiene el grupo para el elemento actual DirectoryIterator
  • DirectoryIterator::getInode — Obtiene el inodo para el elemento actual DirectoryIterator
  • DirectoryIterator::getMTime — Obtiene la última modificación para el elemento actual DirectoryIterator
  • DirectoryIterator::getOwner — Obtiene el dueño del elemento actual DirectoryIterator
  • DirectoryIterator::getPath — Obtiene la ruta del elemento iterador actual sin nombre de fichero
  • DirectoryIterator::getPathname — Devuelve la ruta y nombre de fichnero del elemento actual DirectoryIterator
  • DirectoryIterator::getPerms — Obtiene los permisos del elemento actual DirectoryIterator
  • DirectoryIterator::getSize — obtiene el tamaño de el elemento actual DirectoryIterator
  • DirectoryIterator::getType — Determina el tipo del elemento actual DirectoryIterator
  • DirectoryIterator::isDir — Determina si el elemento actual DirectoryIterator es un directorio
  • DirectoryIterator::isDot — Determina si el elemento actual DirectoryIterator es '.' o '..'
  • DirectoryIterator::isExecutable — Determina si el emento actual DirectoryIterator es ejecutable
  • DirectoryIterator::isFile — Determina si el elemento actual DirectoryIterator es un fichero
  • DirectoryIterator::isLink — Determina si el elemento actual DirectoryIterator es un enlace simbólico
  • DirectoryIterator::isReadable — Determina si el elemento actual DirectoryIterator puede ser leído
  • DirectoryIterator::isWritable — Determina si el elemento actual DirectoryIterator se puede escribir
  • DirectoryIterator::key — Devuelve la clave del elemento actual DirectoryIterator
  • DirectoryIterator::next — Avanza al siguiente elemento DirectoryIterator
  • DirectoryIterator::rewind — Robobina DirectoryIterator hasta volver al inicio
  • DirectoryIterator::seek — Mueve el apuntador interno del elemento DirectoryIterator
  • DirectoryIterator::__toString — Obtiene el nombre del fichero como un string
  • DirectoryIterator::valid — Comprueba si la actual posición de DirectoryIterator es un fichero válido
CallbackFilterIterator::__construct
DirectoryIterator::__construct
Iteradores


Construye un iterador nuevo directorio de una ruta

DirectoryIterator
DirectoryIterator::current
DirectoryIterator
PHP Manual

DirectoryIterator::__construct

(PHP 5)

DirectoryIterator::__construct — Construye un iterador nuevo directorio de una ruta

Descripción

public DirectoryIterator::__construct() ( string $path )

Construye un iterador nuevo directorio de una ruta.

Parámetros

path

La ruta del directorio a recorrer.

Errores/Excepciones

Lanza una UnexpectedValueException si path no se puede abrir.

Lanza una RuntimeException si path es una cadena vacía.

Historial de cambios

Versión | Descripción
5.3.0 | Lanza una UnexpectedValueException si path no se puede abrir.
5.1.3 | Lanza una RuntimeException si path es una cadena vacía.
5.1.0 | Lanza una RuntimeException en caso de error. Anteriormente lanzaba una Exception.

Ejemplos

Ejemplo #1 Un DirectoryIterator::__construct() ejemplo

Este ejemplo le mostrará los contenidos del directorio que contiene el script.

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
    if (!$fileinfo->isDot()) {
        var_dump($fileinfo->getFilename());
    }
}
?>

Ver también

  • SplFileInfo
  • Iterator

DirectoryIterator
DirectoryIterator::current
DirectoryIterator


Devuelve el elemento actual de DirectoryIterator

DirectoryIterator::__construct
DirectoryIterator::getATime
DirectoryIterator
PHP Manual

DirectoryIterator::current

(PHP 5)

DirectoryIterator::current — Devuelve el elemento actual de DirectoryIterator

Descripción

public DirectoryIterator DirectoryIterator::current ( void )

Obtiene el elemento actual de DirectoryIterator.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El elemento actual de DirectoryIterator.

Ejemplos

Ejemplo #1 Ejemplo de DirectoryIterator::current()

Este ejemplo mostrará el contenido del directorio que contiene el script.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
while($iterator->valid()) {
    $file = $iterator->current();
    echo $iterator->key() . " => " . $file->getFilename() . "\n";
    $iterator->next();
}
?>

El resultado del ejemplo sería algo similar a:

0 => .
1 => ..
2 => manzana.jpg
3 => banana.jpg
4 => index.php
5 => pera.jpg

Ver también

  • DirectoryIterator::key() - Devuelve la clave del elemento actual DirectoryIterator
  • DirectoryIterator::next() - Avanza al siguiente elemento DirectoryIterator
  • DirectoryIterator::rewind() - Robobina DirectoryIterator hasta volver al inicio
  • DirectoryIterator::valid() - Comprueba si la actual posición de DirectoryIterator es un fichero válido
  • Iterator::current() - Devuelve el elemento actual

DirectoryIterator::__construct
DirectoryIterator::getATime
DirectoryIterator


Obtener el último acceso del elemento actual DirectoryIterator

DirectoryIterator::current
DirectoryIterator::getBasename
DirectoryIterator
PHP Manual

DirectoryIterator::getATime

(PHP 5)

DirectoryIterator::getATime — Obtener el último acceso del elemento actual DirectoryIterator

Descripción

public int DirectoryIterator::getATime ( void )

Obtiene el último acceso del elemento actual DirectoryIterator.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la hora del último acceso al fichero, en formato Unix timestamp.

Ejemplos

Ejemplo #1 Ejemplo de DirectoryIterator::getATime()

Muestra una lista de los ficheros en el directorio del script y los últimos tiempos de acceso.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isFile()) {
        echo $fileinfo->getFilename() . " " . $fileinfo->getATime() . "\n";
    }
}
?>

El resultado del ejemplo sería algo similar a:

manzana.jpg 1240047118
banana.jpg 1240065176
index.php 1240047208
pera.jpg 12240047979

Ver también

  • DirectoryIterator::getCTime() - Obtiene el cambio de tiempo del inodo para el elemento actual DirectoryIterator
  • DirectoryIterator::getMTime() - Obtiene la última modificación para el elemento actual DirectoryIterator
  • fileatime() - Obtiene el momento del último acceso a un archivo

DirectoryIterator::current
DirectoryIterator::getBasename
DirectoryIterator


Obtener el nombre base del elemento actual DirectoryIterator

DirectoryIterator::getATime
DirectoryIterator::getCTime
DirectoryIterator
PHP Manual

DirectoryIterator::getBasename

(PHP 5 >= 5.2.2)

DirectoryIterator::getBasename — Obtener el nombre base del elemento actual DirectoryIterator

Descripción

public string DirectoryIterator::getBasename ([ string $suffix ] )

Obtiene el nombre base del elemento actual DirectoryIterator.

Parámetros

suffix

Si el nombre base termina en suffix, este será cortado.

Valores devueltos

El nombre base del elemento actual DirectoryIterator.

Ejemplos

Ejemplo #1 Ejemplo de DirectoryIterator::getBasename()

Este ejemplo mostrará una lista completa de los nombres base y los nombres base con sufijo .jpg eliminado de los ficheros del directorio que contiene el script.

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
    if ($fileinfo->isFile()) {
        echo $fileinfo->getBasename() . "\n";
        echo $fileinfo->getBasename('.jpg') . "\n";
    }
}
?>

El resultado del ejemplo sería algo similar a:

manzana.jpg
manzana
banana.jpg
banana
index.php
index.php
pera.jpg
pera

Ver también

  • DirectoryIterator::getFilename() - Devuelve el nombre del fichero del elemento actual DirectoryIterator
  • DirectoryIterator::getPath() - Obtiene la ruta del elemento iterador actual sin nombre de fichero
  • DirectoryIterator::getPathname() - Devuelve la ruta y nombre de fichnero del elemento actual DirectoryIterator
  • basename() - Devuelve el componente de nombre de rastreo de la ruta
  • pathinfo() - Devuelve información acerca de la ruta de un fichero

DirectoryIterator::getATime
DirectoryIterator::getCTime
DirectoryIterator


Obtiene el cambio de tiempo del inodo para el elemento actual DirectoryIterator

DirectoryIterator::getBasename
DirectoryIterator::getExtension
DirectoryIterator
PHP Manual

DirectoryIterator::getCTime

(PHP 5)

DirectoryIterator::getCTime — Obtiene el cambio de tiempo del inodo para el elemento actual DirectoryIterator

Descripción

public int DirectoryIterator::getCTime ( void )

Obtiene el cambio de tiempo del inodo para el elemento actual DirectoryIterator.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el último cambio de tiempo de el fichero, en formato Unix timestamp.

Ejemplos

Ejemplo #1 DirectoryIterator::getCTime() example

Este ejemplo mostrará el nombre del fichero y el último cambio de tiempo de los ficheros de el directorio que contiene el script.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isFile()) {
        echo $fileinfo->getFilename() . " cambiado en " . $fileinfo->getCTime() . "\n";
    }
}
?>

El resultado del ejemplo sería algo similar a:

manzana.jpg cambiado en 1240398312
banana.jpg cambiado en 1238605440
index.php cambiado en 1240398935
pera.jpg cambiado en 1237423740

Ver también

  • DirectoryIterator::getATime() - Obtener el último acceso del elemento actual DirectoryIterator
  • DirectoryIterator::getMTime() - Obtiene la última modificación para el elemento actual DirectoryIterator
  • filectime() - Obtiene el momento del último cambio del i-nodo de un archivo

DirectoryIterator::getBasename
DirectoryIterator::getExtension
DirectoryIterator


Obtiene la extensión de un fichero

DirectoryIterator::getCTime
DirectoryIterator::getFilename
DirectoryIterator
PHP Manual

DirectoryIterator::getExtension

(PHP 5 >= 5.3.6)

DirectoryIterator::getExtension — Obtiene la extensión de un fichero

Descripción

public string DirectoryIterator::getExtension ( void )

Recupera la extensión de un fichero.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un string que contiene la extensión del ficher, o un string vacío si el fichoer no tiene extensión.

Ejemplos

Ejemplo #1 Ejemplo de DirectoryIterator::getExtension()

<?php

$directory = new DirectoryIterator(__DIR__);
foreach ($directory as $fileinfo) {
    if ($fileinfo->isFile()) {
        echo $fileinfo->getExtension() . "\n";
    }
}

?>

El resultado del ejemplo sería algo similar a:

php
txt
jpg
gz

Notas

Nota:

Este método sólo está disponible a partir de PHP 5.3.6. Otra manera de obtener la extensión es usar la función pathinfo().

<?php
$extension = pathinfo($fileinfo->getFilename(), PATHINFO_EXTENSION);
?>

Ver también

  • DirectoryIterator::getFilename() - Devuelve el nombre del fichero del elemento actual DirectoryIterator
  • DirectoryIterator::getBasename() - Obtener el nombre base del elemento actual DirectoryIterator
  • pathinfo() - Devuelve información acerca de la ruta de un fichero
DirectoryIterator::getCTime
DirectoryIterator::getFilename
DirectoryIterator


Devuelve el nombre del fichero del elemento actual DirectoryIterator

DirectoryIterator::getExtension
DirectoryIterator::getGroup
DirectoryIterator
PHP Manual

DirectoryIterator::getFilename

(PHP 5)

DirectoryIterator::getFilename — Devuelve el nombre del fichero del elemento actual DirectoryIterator

Descripción

public string DirectoryIterator::getFilename ( void )

Obtiene el nombre del elemento actual DirectoryIterator.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el nombre del fichero del elemento actual DirectoryIterator.

Ejemplos

Ejemplo #1 Ejemplo de DirectoryIterator::getFilename()

Este ejemplo mostrará el contenido de el directorio que contiene al script.

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
    echo $fileinfo->getFilename() . "\n";
}
?>

El resultado del ejemplo sería algo similar a:

.
..
manzana.jpg
banana.jpg
index.php
pera.jpg

Ver también

  • DirectoryIterator::getBasename() - Obtener el nombre base del elemento actual DirectoryIterator
  • DirectoryIterator::getPath() - Obtiene la ruta del elemento iterador actual sin nombre de fichero
  • DirectoryIterator::getPathname() - Devuelve la ruta y nombre de fichnero del elemento actual DirectoryIterator
  • pathinfo() - Devuelve información acerca de la ruta de un fichero

DirectoryIterator::getExtension
DirectoryIterator::getGroup
DirectoryIterator


Obtiene el grupo para el elemento actual DirectoryIterator

DirectoryIterator::getFilename
DirectoryIterator::getInode
DirectoryIterator
PHP Manual

DirectoryIterator::getGroup

(PHP 5)

DirectoryIterator::getGroup — Obtiene el grupo para el elemento actual DirectoryIterator

Descripción

public int DirectoryIterator::getGroup ( void )

Obtiene el id del grupo de el fichero.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el id del grupo de el elemento actual DirectoryIterator en formato numérico.

Ejemplos

Ejemplo #1 Ejemplo de DirectoryIterator::getGroup()

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
$groupid  = $iterator->getGroup();
echo 'Directorio pertenece al grupo con id ' . $groupid . "\n";
print_r(posix_getgrgid($groupid));
?>

El resultado del ejemplo sería algo similar a:

Directorio pertenece al grupo con id 42
Array
(
    [name]    => toons
    [passwd]  => x
    [members] => Array
        (
            [0] => tom
            [1] => jerry
        )
    [gid]     => 42
)

Ver también

  • DirectoryIterator::getiNode() - Obtiene el inodo para el elemento actual DirectoryIterator
  • DirectoryIterator::getOwner() - Obtiene el dueño del elemento actual DirectoryIterator
  • DirectoryIterator::getPerms() - Obtiene los permisos del elemento actual DirectoryIterator
  • filegroup() - Obtiene el grupo de un archivo
  • posix_getgrgid() - Devolver información sobre un grupo mediante un id de grupo

DirectoryIterator::getFilename
DirectoryIterator::getInode
DirectoryIterator


Obtiene el inodo para el elemento actual DirectoryIterator

DirectoryIterator::getGroup
DirectoryIterator::getMTime
DirectoryIterator
PHP Manual

DirectoryIterator::getInode

(PHP 5)

DirectoryIterator::getInode — Obtiene el inodo para el elemento actual DirectoryIterator

Descripción

public int DirectoryIterator::getInode ( void )

Obtiene el número de inodo para el elemento actual DirectoryIterator.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el número de inodo para el fichero.

Ejemplos

Ejemplo #1 Ejemplo de DirectoryIterator::getInode()

Este ejemplo muestra el número de inodo para el directorio que contiene al script.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
echo $iterator->getInode();
?>

Ver también

  • DirectoryIterator::getGroup() - Obtiene el grupo para el elemento actual DirectoryIterator
  • DirectoryIterator::getOwner() - Obtiene el dueño del elemento actual DirectoryIterator
  • DirectoryIterator::getPerms() - Obtiene los permisos del elemento actual DirectoryIterator
  • fileinode() - Obtiene el i-nodo del archivo

DirectoryIterator::getGroup
DirectoryIterator::getMTime
DirectoryIterator


Obtiene la última modificación para el elemento actual DirectoryIterator

DirectoryIterator::getInode
DirectoryIterator::getOwner
DirectoryIterator
PHP Manual

DirectoryIterator::getMTime

(PHP 5)

DirectoryIterator::getMTime — Obtiene la última modificación para el elemento actual DirectoryIterator

Descripción

public int DirectoryIterator::getMTime ( void )

Obtiene la última modificación para el elemento actual DirectoryIterator, en formato Unix timestamp.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

la última modificación del fichero, en formato Unix timestamp.

Ejemplos

Ejemplo #1 Ejemplo de DirectoryIterator::getMTime()

Mostrará una lista de ficheros en el directorio donde se encuentra el script y su última fecha de modificación.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isFile()) {
        echo $fileinfo->getFilename() . " " . $fileinfo->getMTime() . "\n";
    }
}
?>

El resultado del ejemplo sería algo similar a:

manzana.jpg 1240047118
banana.jpg 1240065176
index.php 1240047208
pera.jpg 12240047979

Ver también

  • DirectoryIterator::getATime() - Obtener el último acceso del elemento actual DirectoryIterator
  • DirectoryIterator::getCTime() - Obtiene el cambio de tiempo del inodo para el elemento actual DirectoryIterator
  • filemtime() - Obtiene el momento de la última modificación de un archivo

DirectoryIterator::getInode
DirectoryIterator::getOwner
DirectoryIterator


Obtiene el dueño del elemento actual DirectoryIterator

DirectoryIterator::getMTime
DirectoryIterator::getPath
DirectoryIterator
PHP Manual

DirectoryIterator::getOwner

(PHP 5)

DirectoryIterator::getOwner — Obtiene el dueño del elemento actual DirectoryIterator

Descripción

public int DirectoryIterator::getOwner ( void )

Obtiene el dueño del elemento actual DirectoryIterator, en formato numérico.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El dueño de el fichero, en formato numérico.

Ejemplos

Ejemplo #1 Ejemplo de DirectoryIterator::getOwner()

Este ejemplo mostrará el duseño de el directorio que contiene al script.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
print_r(posix_getpwuid($iterator->getOwner()));
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [name] => tom
    [passwd] => x
    [uid] => 501
    [gid] => 42
    [gecos] => Tom Cat
    [dir] => /home/tom
    [shell] => /bin/bash
)

Ver también

  • DirectoryIterator::getGroup() - Obtiene el grupo para el elemento actual DirectoryIterator
  • DirectoryIterator::getiNode() - Obtiene el inodo para el elemento actual DirectoryIterator
  • DirectoryIterator::getPerms() - Obtiene los permisos del elemento actual DirectoryIterator
  • posix_getpwuid() - Devolver información sobre un usuario mediante el id de usuario

DirectoryIterator::getMTime
DirectoryIterator::getPath
DirectoryIterator


Obtiene la ruta del elemento iterador actual sin nombre de fichero

DirectoryIterator::getOwner
DirectoryIterator::getPathname
DirectoryIterator
PHP Manual

DirectoryIterator::getPath

(PHP 5)

DirectoryIterator::getPath — Obtiene la ruta del elemento iterador actual sin nombre de fichero

Descripción

public string DirectoryIterator::getPath ( void )

Obtiene la ruta del elemento actual DirectoryIterator.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la ruta de el fichero, omitiendo el nombre del fichero y los slash.

Ejemplos

Ejemplo #1 Ejemplo de DirectoryIterator::getPath()

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
echo $iterator->getPath();
?>

El resultado del ejemplo sería algo similar a:

/home/examples/public_html

Ver también

  • DirectoryIterator::getBasename() - Obtener el nombre base del elemento actual DirectoryIterator
  • DirectoryIterator::getFilename() - Devuelve el nombre del fichero del elemento actual DirectoryIterator
  • DirectoryIterator::getPathname() - Devuelve la ruta y nombre de fichnero del elemento actual DirectoryIterator
  • pathinfo() - Devuelve información acerca de la ruta de un fichero

DirectoryIterator::getOwner
DirectoryIterator::getPathname
DirectoryIterator


Devuelve la ruta y nombre de fichnero del elemento actual DirectoryIterator

DirectoryIterator::getPath
DirectoryIterator::getPerms
DirectoryIterator
PHP Manual

DirectoryIterator::getPathname

(PHP 5)

DirectoryIterator::getPathname — Devuelve la ruta y nombre de fichnero del elemento actual DirectoryIterator

Descripción

public string DirectoryIterator::getPathname ( void )

Obtiene la ruta y nombre de el fichero actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la ruta y el nombre del fichero actual. Directorios no tienen slash.

Ejemplos

Ejemplo #1 Ejemplo de DirectoryIterator::getPathname()

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    echo $fileinfo->getPathname() . "\n";
}
?>

El resultado del ejemplo sería algo similar a:

/home/examples/.
/home/examples/..
/home/examples/manzana.jpg
/home/examples/banana.jpg
/home/examples/getpathname.php
/home/examples/pera.jpg

Ver también

  • DirectoryIterator::getBasename() - Obtener el nombre base del elemento actual DirectoryIterator
  • DirectoryIterator::getFilename() - Devuelve el nombre del fichero del elemento actual DirectoryIterator
  • DirectoryIterator::getPath() - Obtiene la ruta del elemento iterador actual sin nombre de fichero
  • pathinfo() - Devuelve información acerca de la ruta de un fichero

DirectoryIterator::getPath
DirectoryIterator::getPerms
DirectoryIterator


Obtiene los permisos del elemento actual DirectoryIterator

DirectoryIterator::getPathname
DirectoryIterator::getSize
DirectoryIterator
PHP Manual

DirectoryIterator::getPerms

(PHP 5)

DirectoryIterator::getPerms — Obtiene los permisos del elemento actual DirectoryIterator

Descripción

public int DirectoryIterator::getPerms ( void )

Obtiene los permisos del elemento actual DirectoryIterator.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve los permisos de el fichero, Returns the permissions of the file, como un integer decimal.

Ejemplos

Ejemplo #1 Ejemplo de DirectoryIterator::getPerms()

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if (!$fileinfo->isDot()) {
        $octal_perms = substr(sprintf('%o', $fileinfo->getPerms()), -4);
        echo $fileinfo->getFilename() . " " . $octal_perms . "\n";
    }
}
?>

El resultado del ejemplo sería algo similar a:

manzana.jpg 0644
banana.jpg 0644
index.php 0744
pera.jpg 0644

Ver también

  • DirectoryIterator::isExecutable() - Determina si el emento actual DirectoryIterator es ejecutable
  • DirectoryIterator::isReadable() - Determina si el elemento actual DirectoryIterator puede ser leído
  • DirectoryIterator::isWritable() - Determina si el elemento actual DirectoryIterator se puede escribir

DirectoryIterator::getPathname
DirectoryIterator::getSize
DirectoryIterator


obtiene el tamaño de el elemento actual DirectoryIterator

DirectoryIterator::getPerms
DirectoryIterator::getType
DirectoryIterator
PHP Manual

DirectoryIterator::getSize

(PHP 5)

DirectoryIterator::getSize — obtiene el tamaño de el elemento actual DirectoryIterator

Descripción

public int DirectoryIterator::getSize ( void )

Obtiene el tamaño del fichero de el elemento actual DirectoryIterator.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el tamaño del fichero en bytes.

Ejemplos

Ejemplo #1 Ejemplo de DirectoryIterator::getSize()

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isFile()) {
        echo $fileinfo->getFilename() . " " . $fileinfo->getSize() . "\n";
    }
}
?>

El resultado del ejemplo sería algo similar a:

manzana.jpg 15385
banana.jpg 15190
ejemplo.php 170
pera.jpg 34406

Ver también

  • filesize() - Obtiene el tamaño de un fichero

DirectoryIterator::getPerms
DirectoryIterator::getType
DirectoryIterator


Determina el tipo del elemento actual DirectoryIterator

DirectoryIterator::getSize
DirectoryIterator::isDir
DirectoryIterator
PHP Manual

DirectoryIterator::getType

(PHP 5)

DirectoryIterator::getType — Determina el tipo del elemento actual DirectoryIterator

Descripción

public string DirectoryIterator::getType ( void )

Determina el tipo del fichero al que pertenece el elemento actual DirectoryIterator. Puede ser file, link, o dir.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un string que representa el tipo de el fichero. Puede ser file, link, or dir.

Ejemplos

Ejemplo #1 Ejemplo de DirectoryIterator::getType()

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    echo $fileinfo->getFilename() . " " . $fileinfo->getType() . "\n";
}
?>

El resultado del ejemplo sería algo similar a:

. dir
.. dir
manzana.jpg file
banana.jpg file
ejemplo.php file
pera.jpg file

Ver también

  • DirectoryIterator::isDir() - Determina si el elemento actual DirectoryIterator es un directorio
  • DirectoryIterator::isDot() - Determina si el elemento actual DirectoryIterator es '.' o '..'
  • DirectoryIterator::isFile() - Determina si el elemento actual DirectoryIterator es un fichero
  • DirectoryIterator::isLink() - Determina si el elemento actual DirectoryIterator es un enlace simbólico

DirectoryIterator::getSize
DirectoryIterator::isDir
DirectoryIterator


Determina si el elemento actual DirectoryIterator es un directorio

DirectoryIterator::getType
DirectoryIterator::isDot
DirectoryIterator
PHP Manual

DirectoryIterator::isDir

(PHP 5)

DirectoryIterator::isDir — Determina si el elemento actual DirectoryIterator es un directorio

Descripción

public bool DirectoryIterator::isDir ( void )

Determina si el elemento actual DirectoryIterator es un directorio.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si es un directorio, en caso contrario FALSE.

Ejemplos

Ejemplo #1 Ejemplo de DirectoryIterator::isDir()

Este ejemplo mostrará los directorios del directorio actual donde se encuentra el script.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isDir()) {
        echo $fileinfo->getFilename() . "\n";
    }
}
?>

El resultado del ejemplo sería algo similar a:

.
..
manzanas
bananas
peras

Ver también

  • DirectoryIterator::getType() - Determina el tipo del elemento actual DirectoryIterator
  • DirectoryIterator::isDot() - Determina si el elemento actual DirectoryIterator es '.' o '..'
  • DirectoryIterator::isFile() - Determina si el elemento actual DirectoryIterator es un fichero
  • DirectoryIterator::isLink() - Determina si el elemento actual DirectoryIterator es un enlace simbólico

DirectoryIterator::getType
DirectoryIterator::isDot
DirectoryIterator


Determina si el elemento actual DirectoryIterator es '.' o '..'

DirectoryIterator::isDir
DirectoryIterator::isExecutable
DirectoryIterator
PHP Manual

DirectoryIterator::isDot

(PHP 5)

DirectoryIterator::isDot — Determina si el elemento actual DirectoryIterator es '.' o '..'

Descripción

public bool DirectoryIterator::isDot ( void )

Determina si el elemento actual DirectoryIterator es un directorio y es . o ...

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si la entrada es . o .., en caso contrario FALSE

Ejemplos

Ejemplo #1 Ejemplo de DirectoryIterator::isDot()

Este ejemplo mostrará todos los ficheros, omitiendo las entradas . y .. e.j.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if (!$fileinfo->isDot()) {
        echo $fileinfo->getFilename() . "\n";
    }
}
?>

El resultado del ejemplo sería algo similar a:

manzana.jpg
banana.jpg
ejemplo.php
pera.jpg

Ver también

  • DirectoryIterator::getType() - Determina el tipo del elemento actual DirectoryIterator
  • DirectoryIterator::isDir() - Determina si el elemento actual DirectoryIterator es un directorio
  • DirectoryIterator::isFile() - Determina si el elemento actual DirectoryIterator es un fichero
  • DirectoryIterator::isLink() - Determina si el elemento actual DirectoryIterator es un enlace simbólico

DirectoryIterator::isDir
DirectoryIterator::isExecutable
DirectoryIterator


Determina si el emento actual DirectoryIterator es ejecutable

DirectoryIterator::isDot
DirectoryIterator::isFile
DirectoryIterator
PHP Manual

DirectoryIterator::isExecutable

(PHP 5)

DirectoryIterator::isExecutable — Determina si el emento actual DirectoryIterator es ejecutable

Descripción

public bool DirectoryIterator::isExecutable ( void )

Determina si el elemento actual DirectoryIterator es ejecutable.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si la entrada es ejecutable, en caso contrario FALSE

Ejemplos

Ejemplo #1 Ejemplo de DirectoryIterator::isExecutable()

Este ejemplo mostrará los ficheros en el directorio que contiene al script si son ejecutables.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isExecutable()) {
        echo $fileinfo->getFilename() . "\n";
    }
}
?>

El resultado del ejemplo sería algo similar a:

ejemplo.php
miscript.sh

Ver también

  • DirectoryIterator::isReadable() - Determina si el elemento actual DirectoryIterator puede ser leído
  • DirectoryIterator::isWritable() - Determina si el elemento actual DirectoryIterator se puede escribir
  • DirectoryIterator::getPerms() - Obtiene los permisos del elemento actual DirectoryIterator

DirectoryIterator::isDot
DirectoryIterator::isFile
DirectoryIterator


Determina si el elemento actual DirectoryIterator es un fichero

DirectoryIterator::isExecutable
DirectoryIterator::isLink
DirectoryIterator
PHP Manual

DirectoryIterator::isFile

(PHP 5)

DirectoryIterator::isFile — Determina si el elemento actual DirectoryIterator es un fichero

Descripción

public bool DirectoryIterator::isFile ( void )

Determina si el elemento actual DirectoryIterator es un fichero normal.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si el fichero existe y si es un fichero normal (que no sea un link o dir), en caso contrario FALSE

Ejemplos

Ejemplo #1 Ejemplo de DirectoryIterator::isFile()

Este ejemplo mostrará una lista de todos los ficheros normales en el directorio que contiene el script.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isFile()) {
        echo $fileinfo->getFilename() . "\n";
    }
}
?>

El resultado del ejemplo sería algo similar a:

manzana.jpg
banana.jpg
ejemplo.php
pera.jpg

Ver también

  • DirectoryIterator::getType() - Determina el tipo del elemento actual DirectoryIterator
  • DirectoryIterator::isDir() - Determina si el elemento actual DirectoryIterator es un directorio
  • DirectoryIterator::isDot() - Determina si el elemento actual DirectoryIterator es '.' o '..'
  • DirectoryIterator::isLink() - Determina si el elemento actual DirectoryIterator es un enlace simbólico

DirectoryIterator::isExecutable
DirectoryIterator::isLink
DirectoryIterator


Determina si el elemento actual DirectoryIterator es un enlace simbólico

DirectoryIterator::isFile
DirectoryIterator::isReadable
DirectoryIterator
PHP Manual

DirectoryIterator::isLink

(PHP 5)

DirectoryIterator::isLink — Determina si el elemento actual DirectoryIterator es un enlace simbólico

Descripción

public bool DirectoryIterator::isLink ( void )

Determina si el elemento actual DirectoryIterator es un enlace simbólico.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si el elemento es un enlace simbólico, en caso contrario FALSE

Ejemplos

Ejemplo #1 Ejemplo de DirectoryIterator::isLink()

Este ejemplo contiene una función recursiva para remover el árbol del directorio.

<?php
/**
 * Esta función eliminará todos los ficheros resursivamente en la ruta dada sin seguir
 * los enlaces simbólicos.
 *
 * @param string $path Ruta del directorio a remover
 */
function removeDir($path) {
    $dir = new DirectoryIterator($path);
    foreach ($dir as $fileinfo) {
        if ($fileinfo->isFile() || $fileinfo->isLink()) {
            unlink($fileinfo->getPathName());
        } elseif (!$fileinfo->isDot() && $fileinfo->isDir()) {
            removeDir($fileinfo->getPathName());
        }
    }
    rmdir($path);
}

removeDir('foo');
?>

Ver también

  • DirectoryIterator::getType() - Determina el tipo del elemento actual DirectoryIterator
  • DirectoryIterator::isDir() - Determina si el elemento actual DirectoryIterator es un directorio
  • DirectoryIterator::isDot() - Determina si el elemento actual DirectoryIterator es '.' o '..'
  • DirectoryIterator::isFile() - Determina si el elemento actual DirectoryIterator es un fichero

DirectoryIterator::isFile
DirectoryIterator::isReadable
DirectoryIterator


Determina si el elemento actual DirectoryIterator puede ser leído

DirectoryIterator::isLink
DirectoryIterator::isWritable
DirectoryIterator
PHP Manual

DirectoryIterator::isReadable

(PHP 5)

DirectoryIterator::isReadable — Determina si el elemento actual DirectoryIterator puede ser leído

Descripción

public bool DirectoryIterator::isReadable ( void )

Determina si el elemento actual DirectoryIterator se puede leer.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si el fichero se puede leer, en caso contrario FALSE

Ejemplos

Ejemplo #1 Ejemplo de DirectoryIterator::isReadable()

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isReadable()) {
        echo $fileinfo->getFilename() . "\n";
    }
}
?>

El resultado del ejemplo sería algo similar a:

manzana.jpg
banana.jpg
ejemplo.php
pera.jpg

Ver también

  • DirectoryIterator::isExecutable() - Determina si el emento actual DirectoryIterator es ejecutable
  • DirectoryIterator::isWritable() - Determina si el elemento actual DirectoryIterator se puede escribir
  • DirectoryIterator::getPerms() - Obtiene los permisos del elemento actual DirectoryIterator

DirectoryIterator::isLink
DirectoryIterator::isWritable
DirectoryIterator


Determina si el elemento actual DirectoryIterator se puede escribir

DirectoryIterator::isReadable
DirectoryIterator::key
DirectoryIterator
PHP Manual

DirectoryIterator::isWritable

(PHP 5)

DirectoryIterator::isWritable — Determina si el elemento actual DirectoryIterator se puede escribir

Descripción

public bool DirectoryIterator::isWritable ( void )

Determina si el elemento actual DirectoryIterator se puede escribir.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si se puede escribir en el fichero/directorio, en caso contrario FALSE

Ejemplos

Ejemplo #1 Ejemplo de DirectoryIterator::isWritable()

Este ejemplo lista todos los ficheros y directorios que pueden ser abiertos para escribir en el directorio que contiene el script.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isWritable()) {
        echo $fileinfo->getFilename() . "\n";
    }
}
?>

El resultado del ejemplo sería algo similar a:

manzanas.txt
bananas.html
peras

Ver también

  • DirectoryIterator::getPerms() - Obtiene los permisos del elemento actual DirectoryIterator
  • DirectoryIterator::isExecutable() - Determina si el emento actual DirectoryIterator es ejecutable
  • DirectoryIterator::isReadable() - Determina si el elemento actual DirectoryIterator puede ser leído

DirectoryIterator::isReadable
DirectoryIterator::key
DirectoryIterator


Devuelve la clave del elemento actual DirectoryIterator

DirectoryIterator::isWritable
DirectoryIterator::next
DirectoryIterator
PHP Manual

DirectoryIterator::key

(PHP 5)

DirectoryIterator::key — Devuelve la clave del elemento actual DirectoryIterator

Descripción

public string DirectoryIterator::key ( void )

Obtiene la clave para el elemento actual DirectoryIterator.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La clave para el elemento actual DirectoryIterator.

Ejemplos

Ejemplo #1 Ejemplo de DirectoryIterator::key()

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
    if (!$fileinfo->isDot()) {
        echo $fileinfo->key() . " => " . $fileinfo->getFilename() . "\n";
    }
}
?>

El resultado del ejemplo sería algo similar a:

0 => manzana.jpg
1 => banana.jpg
2 => index.php
3 => pera.jpg

Ver también

  • DirectoryIterator::current() - Devuelve el elemento actual de DirectoryIterator
  • DirectoryIterator::next() - Avanza al siguiente elemento DirectoryIterator
  • DirectoryIterator::rewind() - Robobina DirectoryIterator hasta volver al inicio
  • DirectoryIterator::valid() - Comprueba si la actual posición de DirectoryIterator es un fichero válido
  • Iterator::key() - Devuelve la clave del elemento actual

DirectoryIterator::isWritable
DirectoryIterator::next
DirectoryIterator


Avanza al siguiente elemento DirectoryIterator

DirectoryIterator::key
DirectoryIterator::rewind
DirectoryIterator
PHP Manual

DirectoryIterator::next

(PHP 5)

DirectoryIterator::next — Avanza al siguiente elemento DirectoryIterator

Descripción

public void DirectoryIterator::next ( void )

Avanzar al siguiente elemento DirectoryIterator.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de DirectoryIterator::next()

List the contents of a directory using a while loop.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
while($iterator->valid()) {
    echo $iterator->getFilename() . "\n";
    $iterator->next();
}
?>

El resultado del ejemplo sería algo similar a:

.
..
manzana.jpg
banana.jpg
index.php
pera.jpg

Ver también

  • DirectoryIterator::current() - Devuelve el elemento actual de DirectoryIterator
  • DirectoryIterator::key() - Devuelve la clave del elemento actual DirectoryIterator
  • DirectoryIterator::rewind() - Robobina DirectoryIterator hasta volver al inicio
  • DirectoryIterator::valid() - Comprueba si la actual posición de DirectoryIterator es un fichero válido
  • Iterator::next() - Avanza al siguiente elemento

DirectoryIterator::key
DirectoryIterator::rewind
DirectoryIterator


Robobina DirectoryIterator hasta volver al inicio

DirectoryIterator::next
DirectoryIterator::seek
DirectoryIterator
PHP Manual

DirectoryIterator::rewind

(PHP 5)

DirectoryIterator::rewind — Robobina DirectoryIterator hasta volver al inicio

Descripción

public void DirectoryIterator::rewind ( void )

Robobinar DirectoryIterator hasta volver al inicio.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de DirectoryIterator::rewind()

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));

$iterator->next();
echo $iterator->key(); //1

$iterator->rewind(); //Rebobinándose al inicio
echo $iterator->key(); //0
?>

Ver también

  • DirectoryIterator::current() - Devuelve el elemento actual de DirectoryIterator
  • DirectoryIterator::key() - Devuelve la clave del elemento actual DirectoryIterator
  • DirectoryIterator::next() - Avanza al siguiente elemento DirectoryIterator
  • DirectoryIterator::valid() - Comprueba si la actual posición de DirectoryIterator es un fichero válido
  • Iterator::rewind() - Rebobine la Iterator al primer elemento

DirectoryIterator::next
DirectoryIterator::seek
DirectoryIterator


Mueve el apuntador interno del elemento DirectoryIterator

DirectoryIterator::rewind
DirectoryIterator::__toString
DirectoryIterator
PHP Manual

DirectoryIterator::seek

(PHP 5 >= 5.3.0)

DirectoryIterator::seek — Mueve el apuntador interno del elemento DirectoryIterator

Descripción

public void DirectoryIterator::seek ( int $position )

Mueve el apuntador interno a la posición dada en el elemento DirectoryIterator.

Parámetros

position

La base cero de la posición numérica a mover el apuntador interno.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de DirectoryIterator::seek()

Mueve el apuntador interno al cuarto elemento en el directorio que contiene al script. Los primeros dos son generalmente . y ..

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
$iterator->seek(3);
if ($iterator->valid()) {
    echo $iterator->getFilename();
} else {
    echo 'No hay fichero en la posición 3';
}
?>

Ver también

  • DirectoryIterator::rewind() - Robobina DirectoryIterator hasta volver al inicio
  • DirectoryIterator::next() - Avanza al siguiente elemento DirectoryIterator
  • SeekableIterator::seek() - Mueve la posición del apuntador interno

DirectoryIterator::rewind
DirectoryIterator::__toString
DirectoryIterator


Obtiene el nombre del fichero como un string

DirectoryIterator::seek
DirectoryIterator::valid
DirectoryIterator
PHP Manual

DirectoryIterator::__toString

(PHP 5)

DirectoryIterator::__toString — Obtiene el nombre del fichero como un string

Descripción

public string DirectoryIterator::__toString ( void )

Obtener el nombre del fichero del el elemento actual DirectoryIterator.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el nombre del fichero del elemento actual DirectoryIterator.

Ejemplos

Ejemplo #1 Ejemplo de DirectoryIterator::__toString()

Este ejemplo mostrará una lista con el contenido del directorio que contiene el script.

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
    echo $fileinfo;
}
?>

El resultado del ejemplo sería algo similar a:

.
..
manzana.jpg
banana.jpg
index.php
pera.jpg

Ver también

  • DirectoryIterator::getFilename() - Devuelve el nombre del fichero del elemento actual DirectoryIterator
  • El método mágico __toString()

DirectoryIterator::seek
DirectoryIterator::valid
DirectoryIterator


Comprueba si la actual posición de DirectoryIterator es un fichero válido

DirectoryIterator::__toString
EmptyIterator
DirectoryIterator
PHP Manual

DirectoryIterator::valid

(PHP 5)

DirectoryIterator::valid — Comprueba si la actual posición de DirectoryIterator es un fichero válido

Descripción

public bool DirectoryIterator::valid ( void )

Comprobar si la posición actual de DirectoryIterator es un fichero válido.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si la posición es válida, en caso contrario FALSE

Ejemplos

Ejemplo #1 Ejemplo de DirectoryIterator::valid()

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));

// Bucle hasta el final del iterador
while($iterator->valid()) {
    $iterator->next();
}

$iterator->valid(); // FALSE
$iterator->rewind();
$iterator->valid(); // TRUE

?>

Ver también

  • DirectoryIterator::current() - Devuelve el elemento actual de DirectoryIterator
  • DirectoryIterator::key() - Devuelve la clave del elemento actual DirectoryIterator
  • DirectoryIterator::next() - Avanza al siguiente elemento DirectoryIterator
  • DirectoryIterator::rewind() - Robobina DirectoryIterator hasta volver al inicio
  • Iterator::valid() - Comprueba si la posición actual es válido

DirectoryIterator::__toString
EmptyIterator
DirectoryIterator


La clase EmptyIterator

(PHP 5 >= 5.1.0)

Introducción

La clase EmptyIterator para un iterador vacío.

Sinopsis de la Clase

EmptyIterator implements Iterator {
/* Métodos */
public void current ( void )
public void key ( void )
public void next ( void )
public void rewind ( void )
public void valid ( void )
}

Tabla de contenidos

  • EmptyIterator::current — El método current()
  • EmptyIterator::key — El método key()
  • EmptyIterator::next — El método next()
  • EmptyIterator::rewind — El método rewind()
  • EmptyIterator::valid — El método valid()
DirectoryIterator::valid
EmptyIterator::current
Iteradores


El método current()

EmptyIterator
EmptyIterator::key
EmptyIterator
PHP Manual

EmptyIterator::current

(PHP 5 >= 5.1.0)

EmptyIterator::current — El método current()

Descripción

public void EmptyIterator::current ( void )

Esta función no debe ser llamada. Lanza una excepción en su acceso.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Errores/Excepciones

Lanza una Exception si es llamada.

Valores devueltos

No devuelve ningún valor.

EmptyIterator
EmptyIterator::key
EmptyIterator


El método key()

EmptyIterator::current
EmptyIterator::next
EmptyIterator
PHP Manual

EmptyIterator::key

(PHP 5 >= 5.1.0)

EmptyIterator::key — El método key()

Descripción

public void EmptyIterator::key ( void )

Esta función no debe ser llamada. Lanza una excepción en su acceso.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Errores/Excepciones

Lanza una Exception si es llamada.

Valores devueltos

No devuelve ningún valor.

EmptyIterator::current
EmptyIterator::next
EmptyIterator


El método next()

EmptyIterator::key
EmptyIterator::rewind
EmptyIterator
PHP Manual

EmptyIterator::next

(PHP 5 >= 5.1.0)

EmptyIterator::next — El método next()

Descripción

public void EmptyIterator::next ( void )

No opera, nada a hacer.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

EmptyIterator::key
EmptyIterator::rewind
EmptyIterator


El método rewind()

EmptyIterator::next
EmptyIterator::valid
EmptyIterator
PHP Manual

EmptyIterator::rewind

(PHP 5 >= 5.1.0)

EmptyIterator::rewind — El método rewind()

Descripción

public void EmptyIterator::rewind ( void )

No opera, nada a hacer.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

EmptyIterator::next
EmptyIterator::valid
EmptyIterator


El método valid()

EmptyIterator::rewind
FilesystemIterator
EmptyIterator
PHP Manual

EmptyIterator::valid

(PHP 5 >= 5.1.0)

EmptyIterator::valid — El método valid()

Descripción

public void EmptyIterator::valid ( void )

El método valid() de EmptyIterator.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

FALSE

EmptyIterator::rewind
FilesystemIterator
EmptyIterator


La clase FilesystemIterator

(PHP 5 >= 5.3.0)

Introducción

El iterador Filesystem

Sinopsis de la Clase

FilesystemIterator extends DirectoryIterator implements SeekableIterator {
/* Constantes */
const integer CURRENT_AS_PATHNAME = 32 ;
const integer CURRENT_AS_FILEINFO = 0 ;
const integer CURRENT_AS_SELF = 16 ;
const integer CURRENT_MODE_MASK = 240 ;
const integer KEY_AS_PATHNAME = 0 ;
const integer KEY_AS_FILENAME = 256 ;
const integer FOLLOW_SYMLINKS = 512 ;
const integer KEY_MODE_MASK = 3840 ;
const integer NEW_CURRENT_AND_KEY = 256 ;
const integer SKIP_DOTS = 4096 ;
const integer UNIX_PATHS = 8192 ;
/* Métodos */
public __construct ( string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS ] )
public mixed current ( void )
public int getFlags ( void )
public string key ( void )
public void next ( void )
public void rewind ( void )
public void setFlags ([ int $flags ] )
/* Métodos heredados */
public DirectoryIterator DirectoryIterator::current ( void )
public int DirectoryIterator::getATime ( void )
public string DirectoryIterator::getBasename ([ string $suffix ] )
public int DirectoryIterator::getCTime ( void )
public string DirectoryIterator::getExtension ( void )
public string DirectoryIterator::getFilename ( void )
public int DirectoryIterator::getGroup ( void )
public int DirectoryIterator::getInode ( void )
public int DirectoryIterator::getMTime ( void )
public int DirectoryIterator::getOwner ( void )
public string DirectoryIterator::getPath ( void )
public string DirectoryIterator::getPathname ( void )
public int DirectoryIterator::getPerms ( void )
public int DirectoryIterator::getSize ( void )
public string DirectoryIterator::getType ( void )
public bool DirectoryIterator::isDir ( void )
public bool DirectoryIterator::isDot ( void )
public bool DirectoryIterator::isExecutable ( void )
public bool DirectoryIterator::isFile ( void )
public bool DirectoryIterator::isLink ( void )
public bool DirectoryIterator::isReadable ( void )
public bool DirectoryIterator::isWritable ( void )
public string DirectoryIterator::key ( void )
public void DirectoryIterator::next ( void )
public void DirectoryIterator::rewind ( void )
public void DirectoryIterator::seek ( int $position )
public string DirectoryIterator::__toString ( void )
public bool DirectoryIterator::valid ( void )
}

Constantes predefinidas

FilesystemIterator::CURRENT_AS_PATHNAME

Hace que FilesystemIterator::current() devuelva el nombre de la ruta.

FilesystemIterator::CURRENT_AS_FILEINFO

Hace que FilesystemIterator::current() devuelva una instancia de SplFileInfo .

FilesystemIterator::CURRENT_AS_SELF

Hace que FilesystemIterator::current() devuelva $this (el FilesystemIterator).

FilesystemIterator::CURRENT_MODE_MASK

Enmascara FilesystemIterator::current()

FilesystemIterator::KEY_AS_PATHNAME

Hace que FilesystemIterator::key() devuelva el nombre de la ruta.

FilesystemIterator::KEY_AS_FILENAME

Hace que FilesystemIterator::key() devuelva el nombre de fichero.

FilesystemIterator::FOLLOW_SYMLINKS

Hace que RecursiveDirectoryIterator::hasChildren() siga enlaces simbólicos.

FilesystemIterator::KEY_MODE_MASK

Enmascara FilesystemIterator::key()

FilesystemIterator::NEW_CURRENT_AND_KEY

Igual que FilesystemIterator::KEY_AS_FILENAME | FilesystemIterator::CURRENT_AS_FILEINFO.

FilesystemIterator::SKIP_DOTS

Ignora los ficheros punto (. y ..).

FilesystemIterator::UNIX_PATHS

Hace que las rutas usen la barra hacia adelante al estilo Unix independientemente del usado de forma predeterminada por el sistema.

Historial de cambios

Versión | Descripción
5.3.1 | Añadido FilesystemIterator::FOLLOW_SYMLINKS

Tabla de contenidos

  • FilesystemIterator::__construct — Construye un nuevo iterador filesystem
  • FilesystemIterator::current — El fichero actual
  • FilesystemIterator::getFlags — Obtiene el manejo de flags
  • FilesystemIterator::key — Recupera la clave del fichero actual
  • FilesystemIterator::next — Moverse al siguiente fichero
  • FilesystemIterator::rewind — Rebobina hasta volver al inicio
  • FilesystemIterator::setFlags — Establece las flags de manejo
EmptyIterator::valid
FilesystemIterator::__construct
Iteradores


Construye un nuevo iterador filesystem

FilesystemIterator
FilesystemIterator::current
FilesystemIterator
PHP Manual

FilesystemIterator::__construct

(PHP 5 >= 5.3.0)

FilesystemIterator::__construct — Construye un nuevo iterador filesystem

Descripción

public FilesystemIterator::__construct ( string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS ] )

Construir un nuevo iterador filesystem a partir del path.

Parámetros

path

la ruta de el elemento filesystem a iterar.

flags

Los flags pueden ser proporcionados para afectar el comportamiento de algunos métodos. Una lista de flags puede ser vista en constantes predefinidas FilesystemIterator. Estos pueden ser establecidos después con FilesystemIterator::setFlags()

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Lanza una UnexpectedValueException Si el path no puede ser encontrado.

Ejemplos

Ejemplo #1 Ejemplo de FilesystemIterator::__construct()

<?php
$it = new FilesystemIterator(dirname(__FILE__));
foreach ($it as $fileinfo) {
    echo $fileinfo->getFilename() . "\n";
}
?>

El resultado del ejemplo sería:

manzanas.jpg
banana.jpg
ejemplo.php

Ver también

  • FilesystemIterator::setFlags() - Establece las flags de manejo
  • DirectoryIterator::__construct() - Construye un iterador nuevo directorio de una ruta

FilesystemIterator
FilesystemIterator::current
FilesystemIterator


El fichero actual

FilesystemIterator::__construct
FilesystemIterator::getFlags
FilesystemIterator
PHP Manual

FilesystemIterator::current

(PHP 5 >= 5.3.0)

FilesystemIterator::current — El fichero actual

Descripción

public mixed FilesystemIterator::current ( void )

Obtiene información de fichero del elemento actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El nombre del fichero, información del fichero, o $this dependiendo de las flags establecidas. Véase las constantesFilesystemIterator.

Ejemplos

Ejemplo #1 Ejemplo de FilesystemIterator::current()

Este ejemplo mostrará el contenido del directorio que contiene al script.

<?php
$iterator = new FilesystemIterator(dirname(__FILE__), FilesystemIterator::CURRENT_AS_PATHNAME);
foreach ($iterator as $fileinfo) {
    echo $iterator->current() . "\n";
}
?>

El resultado del ejemplo sería algo similar a:

/www/examples/apple.jpg
/www/examples/banana.jpg
/www/examples/example.php

Ver también

  • FilesystemIterator constants
  • DirectoryIterator::current() - Devuelve el elemento actual de DirectoryIterator
  • DirectoryIterator::getFileName() - Devuelve el nombre del fichero del elemento actual DirectoryIterator

FilesystemIterator::__construct
FilesystemIterator::getFlags
FilesystemIterator


Obtiene el manejo de flags

FilesystemIterator::current
FilesystemIterator::key
FilesystemIterator
PHP Manual

FilesystemIterator::getFlags

(PHP 5 >= 5.3.0)

FilesystemIterator::getFlags — Obtiene el manejo de flags

Descripción

public int FilesystemIterator::getFlags ( void )

Obtener el manejo de flags, como está establecido en FilesystemIterator::__construct() o FilesystemIterator::setFlags().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un valor integer con las flags establecidas.

Ver también

  • FilesystemIterator::__construct() - Construye un nuevo iterador filesystem
  • FilesystemIterator::setFlags() - Establece las flags de manejo

FilesystemIterator::current
FilesystemIterator::key
FilesystemIterator


Recupera la clave del fichero actual

FilesystemIterator::getFlags
FilesystemIterator::next
FilesystemIterator
PHP Manual

FilesystemIterator::key

(PHP 5 >= 5.3.0)

FilesystemIterator::key — Recupera la clave del fichero actual

Descripción

public string FilesystemIterator::key ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el nombre de la ruta o el nombre del fichero dependiendo de las flags establecidas. Véase las constantes FilesystemIterator.

Ejemplos

Ejemplo #1 Ejemplo de FilesystemIterator::key()

Este ejemplo mostrará el contenido del directorio actual que contiene al script.

<?php
$iterator = new FilesystemIterator(dirname(__FILE__), FilesystemIterator::KEY_AS_FILENAME);
foreach ($iterator as $fileinfo) {
    echo $iterator->key() . "\n";
}
?>

El resultado del ejemplo sería algo similar a:

manzana.jpg
banana.jpg
ejemplo.php

Ver también

  • constantes FilesystemIterator
  • DirectoryIterator::key() - Devuelve la clave del elemento actual DirectoryIterator
  • DirectoryIterator::getFilename() - Devuelve el nombre del fichero del elemento actual DirectoryIterator
  • DirectoryIterator::getPathname() - Devuelve la ruta y nombre de fichnero del elemento actual DirectoryIterator

FilesystemIterator::getFlags
FilesystemIterator::next
FilesystemIterator


Moverse al siguiente fichero

FilesystemIterator::key
FilesystemIterator::rewind
FilesystemIterator
PHP Manual

FilesystemIterator::next

(PHP 5 >= 5.3.0)

FilesystemIterator::next — Moverse al siguiente fichero

Descripción

public void FilesystemIterator::next ( void )

Moverse al siguiente fichero.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de FilesystemIterator::next()

Lista el contenido de un directorio usando un bucle while.

<?php
$iterator = new FilesystemIterator(dirname(__FILE__));
while($iterator->valid()) {
    echo $iterator->getFilename() . "\n";
    $iterator->next();
}
?>

El resultado del ejemplo sería algo similar a:

manzana.jpg
banana.jpg
ejemplo.php

Ver también

  • DirectoryIterator::next() - Avanza al siguiente elemento DirectoryIterator

FilesystemIterator::key
FilesystemIterator::rewind
FilesystemIterator


Rebobina hasta volver al inicio

FilesystemIterator::next
FilesystemIterator::setFlags
FilesystemIterator
PHP Manual

FilesystemIterator::rewind

(PHP 5 >= 5.3.0)

FilesystemIterator::rewind — Rebobina hasta volver al inicio

Descripción

public void FilesystemIterator::rewind ( void )

Rebobinar el directorio hasta volver al inicio.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de FilesystemIterator::rewind()

<?php
$iterator = new FilesystemIterator(dirname(__FILE__), FilesystemIterator::KEY_AS_FILENAME);

echo $iterator->key() . "\n";

$iterator->next();
echo $iterator->key() . "\n";

$iterator->rewind();
echo $iterator->key() . "\n";
?>

El resultado del ejemplo sería algo similar a:

manzana.jpg
banana.jpg
manzana.jpg

Ver también

  • DirectoryIterator::rewind() - Robobina DirectoryIterator hasta volver al inicio

FilesystemIterator::next
FilesystemIterator::setFlags
FilesystemIterator


Establece las flags de manejo

FilesystemIterator::rewind
FilterIterator
FilesystemIterator
PHP Manual

FilesystemIterator::setFlags

(PHP 5 >= 5.3.0)

FilesystemIterator::setFlags — Establece las flags de manejo

Descripción

public void FilesystemIterator::setFlags ([ int $flags ] )

Establecer las flags de manejo.

Parámetros

flags

las flags de manejo a establecer. Véase las constantes FilesystemIterator.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de FilesystemIterator::key()

Este ejemplo demuestra las diferencias entre las flags FilesystemIterator::KEY_AS_PATHNAME y FilesystemIterator::KEY_AS_FILENAME.

<?php
$iterator = new FilesystemIterator(dirname(__FILE__), FilesystemIterator::KEY_AS_PATHNAME);
echo "Clave como nombre de rura:\n";
foreach ($iterator as $key => $fileinfo) {
    echo $key . "\n";
}

$iterator->setFlags(FilesystemIterator::KEY_AS_FILENAME);
echo "\nClave como nombre de fichero:\n";
foreach ($iterator as $key => $fileinfo) {
    echo $key . "\n";
}
?>

El resultado del ejemplo sería algo similar a:

Clave como nombre de rura:
/www/examples/apple.jpg
/www/examples/banana.jpg
/www/examples/example.php

Clave como nombre de fichero:
apple.jpg
banana.jpg
example.php

Ver también

  • FilesystemIterator::__construct() - Construye un nuevo iterador filesystem
  • FilesystemIterator::getFlags() - Obtiene el manejo de flags

FilesystemIterator::rewind
FilterIterator
FilesystemIterator


The FilterIterator class

(PHP 5 >= 5.1.0)

Introducción

Este iterador abstracto filtra valores no deseados. Esta clase debería ser ampliada para implementar filtros personalizados. FilterIterator::accept() debe ser implementado en la subclase.

Sinopsis de la Clase

abstract FilterIterator extends IteratorIterator implements OuterIterator {
/* Métodos */
public abstract bool accept ( void )
public __construct ( Iterator $iterator )
public mixed current ( void )
public Iterator getInnerIterator ( void )
public mixed key ( void )
public void next ( void )
public void rewind ( void )
public bool valid ( void )
}

Tabla de contenidos

  • FilterIterator::accept — Comprueba si el elemento actual del iterador es aceptable
  • FilterIterator::__construct — Construye un filterIterator
  • FilterIterator::current — Obtiene el valor del elemento actual
  • FilterIterator::getInnerIterator — Obtiene el iterador interno
  • FilterIterator::key — Obtiene la clave actual
  • FilterIterator::next — Mueve el iterador a la siguiente posición
  • FilterIterator::rewind — Rebobina el iterador
  • FilterIterator::valid — Comprueba si el elemento actual es válido
FilesystemIterator::setFlags
FilterIterator::accept
Iteradores


Comprueba si el elemento actual del iterador es aceptable

FilterIterator
FilterIterator::__construct
FilterIterator
PHP Manual

FilterIterator::accept

(PHP 5 >= 5.1.0)

FilterIterator::accept — Comprueba si el elemento actual del iterador es aceptable

Descripción

public abstract bool FilterIterator::accept ( void )

Devuelve si el elemento actual del iterador es aceptable a través de este filtro.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si el elemento actual es aceptable, en caso contrario FALSE.

Ejemplos

Ejemplo #1 Ejemplo de FilterIterator::accept()

<?php
// Este iterador filtra los valores con menos de 10 caracteres
class LengthFilterIterator extends FilterIterator {

    public function accept() {
        // Sólo acepta string con una longitud de 10 o mayor
        return strlen(parent::current()) > 10;
    }

}

$arrayIterator = new ArrayIterator(array('test1', 'más de 10 caracteres'));
$lengthFilter = new LengthFilterIterator($arrayIterator);

foreach ($lengthFilter as $value) {
    echo $value . "\n";
}
?>

El resultado del ejemplo sería:

más de 10 caracteres

FilterIterator
FilterIterator::__construct
FilterIterator


Construye un filterIterator

FilterIterator::accept
FilterIterator::current
FilterIterator
PHP Manual

FilterIterator::__construct

(PHP 5 >= 5.1.0)

FilterIterator::__construct — Construye un filterIterator

Descripción

public FilterIterator::__construct ( Iterator $iterator )

Construir un nuevo FilterIterator, que consiste en pasar un iterator y aplicar varios filtros a este.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

iterator

El iterador que va a ser filtrado.

Valores devueltos

The FilterIterator.

Ver también

  • LimitIterator::__construct() - Construye un LimitIterator

FilterIterator::accept
FilterIterator::current
FilterIterator


Obtiene el valor del elemento actual

FilterIterator::__construct
FilterIterator::getInnerIterator
FilterIterator
PHP Manual

FilterIterator::current

(PHP 5 >= 5.1.0)

FilterIterator::current — Obtiene el valor del elemento actual

Descripción

public mixed FilterIterator::current ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

obtiene el valor del elemento actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El valor del elemento actual.

Ver también

  • FilterIterator::key() - Obtiene la clave actual
  • FilterIterator::next() - Mueve el iterador a la siguiente posición

FilterIterator::__construct
FilterIterator::getInnerIterator
FilterIterator


Obtiene el iterador interno

FilterIterator::current
FilterIterator::key
FilterIterator
PHP Manual

FilterIterator::getInnerIterator

(PHP 5 >= 5.1.0)

FilterIterator::getInnerIterator — Obtiene el iterador interno

Descripción

public Iterator FilterIterator::getInnerIterator ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Obtiene el iterador interno.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El iterador interno.

FilterIterator::current
FilterIterator::key
FilterIterator


Obtiene la clave actual

FilterIterator::getInnerIterator
FilterIterator::next
FilterIterator
PHP Manual

FilterIterator::key

(PHP 5 >= 5.1.0)

FilterIterator::key — Obtiene la clave actual

Descripción

public mixed FilterIterator::key ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Obtiene la clave actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La clave actual.

Ver también

  • FilterIterator::next() - Mueve el iterador a la siguiente posición
  • FilterIterator::current() - Obtiene el valor del elemento actual

FilterIterator::getInnerIterator
FilterIterator::next
FilterIterator


Mueve el iterador a la siguiente posición

FilterIterator::key
FilterIterator::rewind
FilterIterator
PHP Manual

FilterIterator::next

(PHP 5 >= 5.1.0)

FilterIterator::next — Mueve el iterador a la siguiente posición

Descripción

public void FilterIterator::next ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Mover el iterador a la siguiente posición.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • FilterIterator::current() - Obtiene el valor del elemento actual
  • FilterIterator::next()

FilterIterator::key
FilterIterator::rewind
FilterIterator


Rebobina el iterador

FilterIterator::next
FilterIterator::valid
FilterIterator
PHP Manual

FilterIterator::rewind

(PHP 5 >= 5.1.0)

FilterIterator::rewind — Rebobina el iterador

Descripción

public void FilterIterator::rewind ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Rebobinar el iterador.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • FilterIterator::current() - Obtiene el valor del elemento actual
  • FilterIterator::key() - Obtiene la clave actual
  • FilterIterator::next() - Mueve el iterador a la siguiente posición

FilterIterator::next
FilterIterator::valid
FilterIterator


Comprueba si el elemento actual es válido

FilterIterator::rewind
GlobIterator
FilterIterator
PHP Manual

FilterIterator::valid

(PHP 5 >= 5.1.0)

FilterIterator::valid — Comprueba si el elemento actual es válido

Descripción

public bool FilterIterator::valid ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Comprobar si el elemento actual es válido.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si el elemento actual es válido, en caso contrario FALSE

FilterIterator::rewind
GlobIterator
FilterIterator


La clase GlobIterator

(PHP 5 >= 5.3.0)

Introducción

Recorre un sistema de ficheros de forma similar a glob().

Sinopsis de la Clase

GlobIterator extends FilesystemIterator implements SeekableIterator , Countable {
/* Métodos */
public __construct ( string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO ] )
public int count ( void )
/* Métodos heredados */
public FilesystemIterator::__construct ( string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS ] )
public mixed FilesystemIterator::current ( void )
public int FilesystemIterator::getFlags ( void )
public string FilesystemIterator::key ( void )
public void FilesystemIterator::next ( void )
public void FilesystemIterator::rewind ( void )
public void FilesystemIterator::setFlags ([ int $flags ] )
}

Tabla de contenidos

  • GlobIterator::__construct — Construye un nuevo directorio usando glob
  • GlobIterator::count — Obtiene el número de directorios y ficheros
FilterIterator::valid
GlobIterator::__construct
Iteradores


Construye un nuevo directorio usando glob

GlobIterator
GlobIterator::count
GlobIterator
PHP Manual

GlobIterator::__construct

(PHP 5 >= 5.3.0)

GlobIterator::__construct — Construye un nuevo directorio usando glob

Descripción

public GlobIterator::__construct ( string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO ] )

Construir un nuevo iterador de directorio de una expresión glob.

Parámetros

path

la ruta de el directorio.

flags

flags de opción, las flags pueden ser máscaras de las constantes FilesystemIterator.

Ejemplos

Ejemplo #1 Ejemplo de GlobIterator

<?php
$iterator = new GlobIterator('*.dll', FilesystemIterator::KEY_AS_FILENAME);

if(!$iterator->count()) {
    echo 'No coincidencias';
} else {
    $n = 0;

    printf("Número de coincidencias %d \r\n", $iterator->count());

    foreach($iterator as $item) {
        printf("[%d] %s\r\n", ++$n, $iterator->key());
    }
}
?>

El resultado del ejemplo sería algo similar a:

Número de coincidencias 2
[1] php5ts.dll
[2] php_gd2.dll

Ver también

  • DirectoryIterator::__construct() - Construye un iterador nuevo directorio de una ruta
  • GlobIterator::count() - Obtiene el número de directorios y ficheros
  • glob() - Busca coincidencias de nombres de ruta con un patrón

GlobIterator
GlobIterator::count
GlobIterator


Obtiene el número de directorios y ficheros

GlobIterator::__construct
InfiniteIterator
GlobIterator
PHP Manual

GlobIterator::count

(PHP 5 >= 5.3.0)

GlobIterator::count — Obtiene el número de directorios y ficheros

Descripción

public int GlobIterator::count ( void )

Obtener el número de directorios y ficheros encontrados por la expresión glob.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el número de directoeios y ficheros, como un integer.

Ejemplos

Ejemplo #1 Ejemplo de GlobIterator::count()

<?php
$iterator = new GlobIterator('*.xml');

printf("Elementos encontrado(s): %d \r\n", $iterator->count());
?>

El resultado del ejemplo sería algo similar a:

Elementos encontrado(s): 8

Ver también

  • GlobIterator::__construct() - Construye un nuevo directorio usando glob
  • count() - Cuenta todos los elementos de un array o en un objeto
  • glob() - Busca coincidencias de nombres de ruta con un patrón

GlobIterator::__construct
InfiniteIterator
GlobIterator


La clase InfiniteIterator

(PHP 5 >= 5.1.0)

Introducción

La clase InfiniteIterator permite recorrer un iterador de forma infinita sin tener que rebobinar manualmente el iterador al llegar a su final.

Sinopsis de la Clase

InfiniteIterator extends IteratorIterator implements OuterIterator {
/* Métodos */
public __construct ( Iterator $iterator )
public void next ( void )
/* Métodos heredados */
public IteratorIterator::__construct ( Traversable $iterator )
public mixed IteratorIterator::current ( void )
public Traversable IteratorIterator::getInnerIterator ( void )
public scalar IteratorIterator::key ( void )
public void IteratorIterator::next ( void )
public void IteratorIterator::rewind ( void )
public bool IteratorIterator::valid ( void )
}

Tabla de contenidos

  • InfiniteIterator::__construct — Construye un InfiniteIterator
  • InfiniteIterator::next — Mueve el iterador interno hacía adelante o se rebobina
GlobIterator::count
InfiniteIterator::__construct
Iteradores


Construye un InfiniteIterator

InfiniteIterator
InfiniteIterator::next
InfiniteIterator
PHP Manual

InfiniteIterator::__construct

(PHP 5 >= 5.1.0)

InfiniteIterator::__construct — Construye un InfiniteIterator

Descripción

public InfiniteIterator::__construct ( Iterator $iterator )

Construye un InfiniteIterator de un Iterator.

Parámetros

iterator

El iterador a iterar infinitamente.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Lanza una E_RECOVERABLE_ERROR si el parámetro iterator no es un Iterator.

Ejemplos

Ejemplo #1 Ejemplo de InfiniteIterator::__construct()

<?php
$arrayit  = new ArrayIterator(array('gato','perro'));
$infinite = new InfiniteIterator($arrayit);
$limit    = new LimitIterator($infinite, 0, 7);
foreach($limit as $value)
{
    echo "$value\n";
}
?>

El resultado del ejemplo sería:

gato
perro
gato
perro
gato
perro
gato

Ver también

  • InfiniteIterator::next() - Mueve el iterador interno hacía adelante o se rebobina

InfiniteIterator
InfiniteIterator::next
InfiniteIterator


Mueve el iterador interno hacía adelante o se rebobina

InfiniteIterator::__construct
IteratorIterator
InfiniteIterator
PHP Manual

InfiniteIterator::next

(PHP 5 >= 5.1.0)

InfiniteIterator::next — Mueve el iterador interno hacía adelante o se rebobina

Descripción

public void InfiniteIterator::next ( void )

Mueve el elemento del Iterator interno al siguiente elemento si hay alguno, en caso contrario rebobina el Iterator interno hasta el inicio.

Nota:

Incluso un InfiniteIterator se detiene si un Iterator está vacío.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • InfiniteIterator::__construct() - Construye un InfiniteIterator

InfiniteIterator::__construct
IteratorIterator
InfiniteIterator


La clase IteratorIterator

(PHP 5 >= 5.1.0)

Introducción

Esta envoltura de iteradores permite la conversión de todo aquello que es Traversable a un iterador. Es importante comprender que la mayoría de las clases que no implementan iteradores, lo más probable es que no permitan todas las características del iterador. Si es así, deberían proporcionarse técnicas para evitar un uso indebido, de lo contrario se pueden esperar excepciones o errores fatales.

Sinopsis de la Clase

IteratorIterator implements OuterIterator {
/* Métodos */
public __construct ( Traversable $iterator )
public mixed current ( void )
public Traversable getInnerIterator ( void )
public scalar key ( void )
public void next ( void )
public void rewind ( void )
public bool valid ( void )
}

Tabla de contenidos

  • IteratorIterator::__construct — Crear un iterador de cualquier cosa que se pueda recorrer
  • IteratorIterator::current — Obtener el valor actual
  • IteratorIterator::getInnerIterator — Obtener el iterador interno
  • IteratorIterator::key — Obtener la clave del elemento actual
  • IteratorIterator::next — Avanzar al siguiente elemento
  • IteratorIterator::rewind — Rebobinar al primer elemento
  • IteratorIterator::valid — Comprobar si el iterador es válido
InfiniteIterator::next
IteratorIterator::__construct
Iteradores


Crear un iterador de cualquier cosa que se pueda recorrer

IteratorIterator
IteratorIterator::current
IteratorIterator
PHP Manual

IteratorIterator::__construct

(PHP 5 >= 5.1.0)

IteratorIterator::__construct — Crear un iterador de cualquier cosa que se pueda recorrer

Descripción

public IteratorIterator::__construct ( Traversable $iterator )

Crea un iterador de cualquier cosa que se pueda recorrer.

Parámetros

iterator

El iterador recorrible.

Valores devueltos

No devuelve ningún valor.

Ver también

  • Traversable

IteratorIterator
IteratorIterator::current
IteratorIterator


Obtener el valor actual

IteratorIterator::__construct
IteratorIterator::getInnerIterator
IteratorIterator
PHP Manual

IteratorIterator::current

(PHP 5 >= 5.1.0)

IteratorIterator::current — Obtener el valor actual

Descripción

public mixed IteratorIterator::current ( void )

Obtiene el valor actual del elemento.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El valor del elemento actual.

Ver también

  • IteratorIterator::key() - Obtener la clave del elemento actual

IteratorIterator::__construct
IteratorIterator::getInnerIterator
IteratorIterator


Obtener el iterador interno

IteratorIterator::current
IteratorIterator::key
IteratorIterator
PHP Manual

IteratorIterator::getInnerIterator

(PHP 5 >= 5.1.0)

IteratorIterator::getInnerIterator — Obtener el iterador interno

Descripción

public Traversable IteratorIterator::getInnerIterator ( void )

Obtiene el iterador interno.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El iterador interno tal y como se pasó a IteratorIterator::__construct().

Ver también

  • Iterator
  • OuterIterator

IteratorIterator::current
IteratorIterator::key
IteratorIterator


Obtener la clave del elemento actual

IteratorIterator::getInnerIterator
IteratorIterator::next
IteratorIterator
PHP Manual

IteratorIterator::key

(PHP 5 >= 5.1.0)

IteratorIterator::key — Obtener la clave del elemento actual

Descripción

public scalar IteratorIterator::key ( void )

Obtiene la clave del elemento actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La clave del elemento actual.

Ver también

  • IteratorIterator::current() - Obtener el valor actual

IteratorIterator::getInnerIterator
IteratorIterator::next
IteratorIterator


Avanzar al siguiente elemento

IteratorIterator::key
IteratorIterator::rewind
IteratorIterator
PHP Manual

IteratorIterator::next

(PHP 5 >= 5.1.0)

IteratorIterator::next — Avanzar al siguiente elemento

Descripción

public void IteratorIterator::next ( void )

Avanza al siguiente elemento.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • IteratorIterator::rewind() - Rebobinar al primer elemento
  • IteratorIterator::valid() - Comprobar si el iterador es válido

IteratorIterator::key
IteratorIterator::rewind
IteratorIterator


Rebobinar al primer elemento

IteratorIterator::next
IteratorIterator::valid
IteratorIterator
PHP Manual

IteratorIterator::rewind

(PHP 5 >= 5.1.0)

IteratorIterator::rewind — Rebobinar al primer elemento

Descripción

public void IteratorIterator::rewind ( void )

Rebobinar al primer elemento.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • IteratorIterator::next() - Avanzar al siguiente elemento
  • IteratorIterator::valid() - Comprobar si el iterador es válido

IteratorIterator::next
IteratorIterator::valid
IteratorIterator


Comprobar si el iterador es válido

IteratorIterator::rewind
LimitIterator
IteratorIterator
PHP Manual

IteratorIterator::valid

(PHP 5 >= 5.1.0)

IteratorIterator::valid — Comprobar si el iterador es válido

Descripción

public bool IteratorIterator::valid ( void )

Comprueba si el iterador es válido.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si el iterador es válido, FALSE en caso contrario

Ver también

  • iterator_count() - Contar los elementos en un iterador
  • IteratorIterator::current() - Obtener el valor actual

IteratorIterator::rewind
LimitIterator
IteratorIterator


La clase LimitIterator

(PHP 5 >= 5.1.0)

Introducción

La clase LimitIterator permite recorrer un limitado subconjunto de elemento de un Iterator.

Sinopsis de la Clase

LimitIterator extends IteratorIterator implements OuterIterator {
/* Métodos */
public __construct ( Iterator $iterator [, int $offset = 0 [, int $count = -1 ]] )
public mixed current ( void )
public Iterator getInnerIterator ( void )
public int getPosition ( void )
public mixed key ( void )
public void next ( void )
public void rewind ( void )
public int seek ( int $position )
public bool valid ( void )
}

Ejemplos

Ejemplo #1 Ejemplo de uso de LimitIterator

<?php

// Crea un iterador a limitar
$frutas = new ArrayIterator(array(
    'manzana',
    'banana',
    'cereza',
    'ciruela',
    'baya'
));

// Recorre el bucle sólo para las tres primeras frutas
foreach (new LimitIterator($frutas, 0, 3) as $fruta) {
    var_dump($fruta);
}

echo "\n";

// Recorre el bucle desde la tercera fruta hasta el final
// Nota: empieza por 0, por manzana
foreach (new LimitIterator($frutas, 2) as $fruta) {
    var_dump($fruta);
}

?>

El resultado del ejemplo sería:

string(7) "manzana"
string(6) "banana"
string(6) "cereza"

string(6) "cereza"
string(7) "ciruela"
string(4) "baya"

Tabla de contenidos

  • LimitIterator::__construct — Construye un LimitIterator
  • LimitIterator::current — Obtiene el elemento actual
  • LimitIterator::getInnerIterator — Obtiene el iterador interno
  • LimitIterator::getPosition — Devuelve la posición actual
  • LimitIterator::key — Obtiene la clave actual
  • LimitIterator::next — Mueve el iterador a la siguiente posición
  • LimitIterator::rewind — Rebobina el iterador a un punto específicado
  • LimitIterator::seek — Mueve el apuntador interno a la posición dada
  • LimitIterator::valid — Comprobar si el elemento actual es válido
IteratorIterator::valid
LimitIterator::__construct
Iteradores


Construye un LimitIterator

LimitIterator
LimitIterator::current
LimitIterator
PHP Manual

LimitIterator::__construct

(PHP 5 >= 5.1.0)

LimitIterator::__construct — Construye un LimitIterator

Descripción

public LimitIterator::__construct ( Iterator $iterator [, int $offset = 0 [, int $count = -1 ]] )

Construye un nuevo LimitIterator de un iterator con un determinado inicio offset y un máximo count.

Parámetros

iterator

El Iterator a limitar.

offset

Índice opcional de el límite.

count

Cuenta opcional de el límite.

Valores devueltos

El nuevo LimitIterator.

Errores/Excepciones

Lanza una OutOfRangeException si el offset es menor que 0 o el count es menor que -1.

Ejemplos

Ejemplo #1 Ejemplo de LimitIterator::__construct()

<?php
$ait = new ArrayIterator(array('a', 'b', 'c', 'd', 'e'));
$lit = new LimitIterator($ait, 1, 3);
foreach ($lit as $value) {
    echo $value . "\n";
}
?>

El resultado del ejemplo sería:

b
c
d

Ver también

  • Ejemplos de LimitIterator

LimitIterator
LimitIterator::current
LimitIterator


Obtiene el elemento actual

LimitIterator::__construct
LimitIterator::getInnerIterator
LimitIterator
PHP Manual

LimitIterator::current

(PHP 5 >= 5.1.0)

LimitIterator::current — Obtiene el elemento actual

Descripción

public mixed LimitIterator::current ( void )

Obtener el elemento actual del Iterator interno.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el elemento actual o NULL si no hay ninguno.

Ver también

  • LimitIterator::key() - Obtiene la clave actual
  • LimitIterator::next() - Mueve el iterador a la siguiente posición
  • LimitIterator::rewind() - Rebobina el iterador a un punto específicado
  • LimitIterator::seek() - Mueve el apuntador interno a la posición dada
  • LimitIterator::valid() - Comprobar si el elemento actual es válido

LimitIterator::__construct
LimitIterator::getInnerIterator
LimitIterator


Obtiene el iterador interno

LimitIterator::current
LimitIterator::getPosition
LimitIterator
PHP Manual

LimitIterator::getInnerIterator

(PHP 5 >= 5.1.0)

LimitIterator::getInnerIterator — Obtiene el iterador interno

Descripción

public Iterator LimitIterator::getInnerIterator ( void )

Obtener el Iterator interno.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El iterador interno pasado a LimitIterator::__construct().

Ver también

  • LimitIterator::__construct() - Construye un LimitIterator
  • IteratorIterator::getInnerIterator() - Obtener el iterador interno

LimitIterator::current
LimitIterator::getPosition
LimitIterator


Devuelve la posición actual

LimitIterator::getInnerIterator
LimitIterator::key
LimitIterator
PHP Manual

LimitIterator::getPosition

(PHP 5 >= 5.1.0)

LimitIterator::getPosition — Devuelve la posición actual

Descripción

public int LimitIterator::getPosition ( void )

Obtiene la posición basada en cero de el Iterator interno.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La posición actual.

Ejemplos

Ejemplo #1 Ejemplo de LimitIterator::getPosition()

<?php
$fruits = array(
    'a' => 'manzana',
    'b' => 'banana',
    'c' => 'cereza',
    'd' => 'ciruela',
    'e' => 'baya'
);
$array_it = new ArrayIterator($fruits);
$limit_it = new LimitIterator($array_it, 2, 3);
foreach ($limit_it as $item) {
    echo $limit_it->getPosition() . ' ' . $item . "\n";
}
?>

El resultado del ejemplo sería:

2 cereza
3 ciruela
4 baya

Ver también

  • FilterIterator::key() - Obtiene la clave actual

LimitIterator::getInnerIterator
LimitIterator::key
LimitIterator


Obtiene la clave actual

LimitIterator::getPosition
LimitIterator::next
LimitIterator
PHP Manual

LimitIterator::key

(PHP 5 >= 5.1.0)

LimitIterator::key — Obtiene la clave actual

Descripción

public mixed LimitIterator::key ( void )

Obtiene la clave para el elemento actual en el Iterator interno.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la clave de el elemento actual.

Ver también

  • LimitIterator::getPosition() - Devuelve la posición actual
  • LimitIterator::current() - Obtiene el elemento actual
  • LimitIterator::next() - Mueve el iterador a la siguiente posición
  • LimitIterator::rewind() - Rebobina el iterador a un punto específicado
  • LimitIterator::seek() - Mueve el apuntador interno a la posición dada
  • LimitIterator::valid() - Comprobar si el elemento actual es válido

LimitIterator::getPosition
LimitIterator::next
LimitIterator


Mueve el iterador a la siguiente posición

LimitIterator::key
LimitIterator::rewind
LimitIterator
PHP Manual

LimitIterator::next

(PHP 5 >= 5.1.0)

LimitIterator::next — Mueve el iterador a la siguiente posición

Descripción

public void LimitIterator::next ( void )

Mover el iterador a la siguiente posición

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • LimitIterator::current() - Obtiene el elemento actual
  • LimitIterator::key() - Obtiene la clave actual
  • LimitIterator::rewind() - Rebobina el iterador a un punto específicado
  • LimitIterator::seek() - Mueve el apuntador interno a la posición dada
  • LimitIterator::valid() - Comprobar si el elemento actual es válido

LimitIterator::key
LimitIterator::rewind
LimitIterator


Rebobina el iterador a un punto específicado

LimitIterator::next
LimitIterator::seek
LimitIterator
PHP Manual

LimitIterator::rewind

(PHP 5 >= 5.1.0)

LimitIterator::rewind — Rebobina el iterador a un punto específicado

Descripción

public void LimitIterator::rewind ( void )

Rebobina el iterador a un índice de inicio específicado en LimitIterator::__construct().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • LimitIterator::current() - Obtiene el elemento actual
  • LimitIterator::key() - Obtiene la clave actual
  • LimitIterator::next() - Mueve el iterador a la siguiente posición
  • LimitIterator::seek() - Mueve el apuntador interno a la posición dada
  • LimitIterator::valid() - Comprobar si el elemento actual es válido

LimitIterator::next
LimitIterator::seek
LimitIterator


Mueve el apuntador interno a la posición dada

LimitIterator::rewind
LimitIterator::valid
LimitIterator
PHP Manual

LimitIterator::seek

(PHP 5 >= 5.1.0)

LimitIterator::seek — Mueve el apuntador interno a la posición dada

Descripción

public int LimitIterator::seek ( int $position )

Mueve el iterador a el índice específicado por position.

Parámetros

position

La posición para mover el apuntador interno.

Valores devueltos

Devuelve el índice de la posición después de mover el apuntador interno.

Errores/Excepciones

Lanza una OutOfBoundsException si la posición está fuera de los límites específicados en LimitIterator::__construct().

Ver también

  • LimitIterator::current() - Obtiene el elemento actual
  • LimitIterator::key() - Obtiene la clave actual
  • LimitIterator::rewind() - Rebobina el iterador a un punto específicado
  • LimitIterator::next() - Mueve el iterador a la siguiente posición
  • LimitIterator::valid() - Comprobar si el elemento actual es válido

LimitIterator::rewind
LimitIterator::valid
LimitIterator


Comprobar si el elemento actual es válido

LimitIterator::seek
MultipleIterator
LimitIterator
PHP Manual

LimitIterator::valid

(PHP 5 >= 5.1.0)

LimitIterator::valid — Comprobar si el elemento actual es válido

Descripción

public bool LimitIterator::valid ( void )

Comprobar si el elemento actual es válido.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • LimitIterator::current() - Obtiene el elemento actual
  • LimitIterator::key() - Obtiene la clave actual
  • LimitIterator::rewind() - Rebobina el iterador a un punto específicado
  • LimitIterator::next() - Mueve el iterador a la siguiente posición
  • LimitIterator::seek() - Mueve el apuntador interno a la posición dada

LimitIterator::seek
MultipleIterator
LimitIterator


La clase MultipleIterator

(PHP 5 >= 5.3.0)

Introducción

Un iterador que secuencialmente recorre todos los iteradores adjuntos.

Sinopsis de la Clase

MultipleIterator implements Iterator {
/* Constantes */
const integer MIT_NEED_ANY = 0 ;
const integer MIT_NEED_ALL = 1 ;
const integer MIT_KEYS_NUMERIC = 0 ;
const integer MIT_KEYS_ASSOC = 2 ;
/* Métodos */
public __construct ([ int $flags = MultipleIterator::MIT_NEED_ALL|MultipleIterator::MIT_KEYS_NUMERIC ] )
public void attachIterator ( Iterator $iterator [, string $infos ] )
public void containsIterator ( Iterator $iterator )
public void countIterators ( void )
public array current ( void )
public void detachIterator ( Iterator $iterator )
public void getFlags ( void )
public array key ( void )
public void next ( void )
public void rewind ( void )
public void setFlags ( int $flags )
public void valid ( void )
}

Constantes predefinidas

MultipleIterator::MIT_NEED_ANY

No requiere que todos los subiteradores sean válidos en la iteración.

MultipleIterator::MIT_NEED_ALL

Requiere que todos los subiteradores sean válidos en la iteración.

MultipleIterator::MIT_KEYS_NUMERIC

Las claves se crean desde la posición de los subiteradores.

MultipleIterator::MIT_KEYS_ASSOC

Las claves se crean desde la información asociada de los subiteradores.

Tabla de contenidos

  • MultipleIterator::attachIterator — Adjunta información al iterador
  • MultipleIterator::__construct — Construye un nuevo MultipleIterator
  • MultipleIterator::containsIterator — Comprueba si un iterador adjuntado
  • MultipleIterator::countIterators — Obtiene el número de instancias de iterador adjuntadas
  • MultipleIterator::current — Obtiene las instancias registradas del iterador
  • MultipleIterator::detachIterator — Desasocia un iterador
  • MultipleIterator::getFlags — Obtiene información de las flags
  • MultipleIterator::key — Obtiene las instancias registradas del iterador
  • MultipleIterator::next — Mueve todas las instancias de iterador adjuntadas hacía la siguiente
  • MultipleIterator::rewind — Rebobina todas las instancias de iterador adjuntadas
  • MultipleIterator::setFlags — Establece las flags
  • MultipleIterator::valid — Comprueba la validez de los sub iteradores
LimitIterator::valid
MultipleIterator::attachIterator
Iteradores


Adjunta información al iterador

MultipleIterator
MultipleIterator::__construct
MultipleIterator
PHP Manual

MultipleIterator::attachIterator

(PHP 5 >= 5.3.0)

MultipleIterator::attachIterator — Adjunta información al iterador

Descripción

public void MultipleIterator::attachIterator ( Iterator $iterator [, string $infos ] )

Adjunta información al iterador.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

iterator

El nuevo iterador para ser adjuntado.

infos

La información asociada al iterador, debe ser un integer, un string, o NULL.

Valores devueltos

Description...

Errores/Excepciones

Lanza una IllegalValueException si el parámetro iterator no es válido, o si infos ya está asociado a la información.

Ver también

  • MultipleIterator::__construct() - Construye un nuevo MultipleIterator

MultipleIterator
MultipleIterator::__construct
MultipleIterator


Construye un nuevo MultipleIterator

MultipleIterator::attachIterator
MultipleIterator::containsIterator
MultipleIterator
PHP Manual

MultipleIterator::__construct

(PHP 5 >= 5.3.0)

MultipleIterator::__construct — Construye un nuevo MultipleIterator

Descripción

public MultipleIterator::__construct() ([ int $flags = MultipleIterator::MIT_NEED_ALL|MultipleIterator::MIT_KEYS_NUMERIC ] )

Construye un nuevo MultipleIterator.

Parámetros

flags

Las flags a ser establecidas, de acuerdo a las constantes Flag.

  • MultipleIterator::MIT_NEED_ALL or MultipleIterator::MIT_NEED_ANY
  • MultipleIterator::MIT_KEYS_NUMERIC or MultipleIterator::MIT_KEYS_ASSOC

Por omisión MultipleIterator::MIT_NEED_ALL|MultipleIterator::MIT_KEYS_NUMERIC.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Iterar un MultipleIterator

<?php
$people = new ArrayIterator(array('John', 'Jane', 'Jack', 'Judy'));
$roles  = new ArrayIterator(array('Developer', 'Scrum Master', 'Project Owner'));

$team = new MultipleIterator($flags);
$team->attachIterator($people, 'person');
$team->attachIterator($roles, 'role');

foreach ($team as $member) {
    print_r($member);
}
?>

Salida con $flags = MIT_NEED_ALL|MIT_KEYS_NUMERIC

Array
(
    [0] => John
    [1] => Developer
)
Array
(
    [0] => Jane
    [1] => Scrum Master
)
Array
(
    [0] => Jack
    [1] => Project Owner
)

Salida con $flags = MIT_NEED_ANY|MIT_KEYS_NUMERIC

Array
(
    [0] => John
    [1] => Developer
)
Array
(
    [0] => Jane
    [1] => Scrum Master
)
Array
(
    [0] => Jack
    [1] => Project Owner
)
Array
(
    [0] => Judy
    [1] =>
)

Salida con $flags = MIT_NEED_ALL|MIT_KEYS_ASSOC

Array
(
    [person] => John
    [role] => Developer
)
Array
(
    [person] => Jane
    [role] => Scrum Master
)
Array
(
    [person] => Jack
    [role] => Project Owner
)

Salida con $flags = MIT_NEED_ANY|MIT_KEYS_ASSOC

Array
(
    [person] => John
    [role] => Developer
)
Array
(
    [person] => Jane
    [role] => Scrum Master
)
Array
(
    [person] => Jack
    [role] => Project Owner
)
Array
(
    [person] => Judy
    [role] =>
)

Ver también

  • Constantes Flag
  • MultipleIterator::valid() - Comprueba la validez de los sub iteradores

MultipleIterator::attachIterator
MultipleIterator::containsIterator
MultipleIterator


Comprueba si un iterador adjuntado

MultipleIterator::__construct
MultipleIterator::countIterators
MultipleIterator
PHP Manual

MultipleIterator::containsIterator

(PHP 5 >= 5.3.0)

MultipleIterator::containsIterator — Comprueba si un iterador adjuntado

Descripción

public void MultipleIterator::containsIterator ( Iterator $iterator )

Comprueba si un iterador adjuntado o no.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

iterator

El iterador a ser comprobado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • MultipleIterator::valid() - Comprueba la validez de los sub iteradores

MultipleIterator::__construct
MultipleIterator::countIterators
MultipleIterator


Obtiene el número de instancias de iterador adjuntadas

MultipleIterator::containsIterator
MultipleIterator::current
MultipleIterator
PHP Manual

MultipleIterator::countIterators

(PHP 5 >= 5.3.0)

MultipleIterator::countIterators — Obtiene el número de instancias de iterador adjuntadas

Descripción

public void MultipleIterator::countIterators ( void )

Obtiene el número de instancias de iterador adjuntadas.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El número de instancias de iterador adjuntadas (como un integer).

Ver también

  • MultipleIterator::containsIterator() - Comprueba si un iterador adjuntado

MultipleIterator::containsIterator
MultipleIterator::current
MultipleIterator


Obtiene las instancias registradas del iterador

MultipleIterator::countIterators
MultipleIterator::detachIterator
MultipleIterator
PHP Manual

MultipleIterator::current

(PHP 5 >= 5.3.0)

MultipleIterator::current — Obtiene las instancias registradas del iterador

Descripción

public array MultipleIterator::current ( void )

Obtiene las instancias registradas del iterador del resultado current().

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un array conteniendo los valores actuales de cada iterador adjuntado, o FALSE si no hay ningún iterador adjuntado.

Errores/Excepciones

Lanza una RuntimeException si el modo MIT_NEED_ALL está establecido y almenos uno de los iteradores adjuntados no es válido. O lanza una IllegalValueException si la clave es NULL y se establece MIT_KEYS_ASSOC.

Ver también

  • MultipleIterator::valid() - Comprueba la validez de los sub iteradores

MultipleIterator::countIterators
MultipleIterator::detachIterator
MultipleIterator


Desasocia un iterador

MultipleIterator::current
MultipleIterator::getFlags
MultipleIterator
PHP Manual

MultipleIterator::detachIterator

(PHP 5 >= 5.3.0)

MultipleIterator::detachIterator — Desasocia un iterador

Descripción

public void MultipleIterator::detachIterator ( Iterator $iterator )

Desasocia un iterador.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

iterator

El iterador a ser desasociado.

Valores devueltos

No devuelve ningún valor.

Ver también

  • MultipleIterator::attachIterator() - Adjunta información al iterador

MultipleIterator::current
MultipleIterator::getFlags
MultipleIterator


Obtiene información de las flags

MultipleIterator::detachIterator
MultipleIterator::key
MultipleIterator
PHP Manual

MultipleIterator::getFlags

(PHP 5 >= 5.3.0)

MultipleIterator::getFlags — Obtiene información de las flags

Descripción

public void MultipleIterator::getFlags ( void )

Obtiene información acerca de las flags.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Información acerca de las flags, como un integer.

Ver también

  • Constantes Flag
  • MultipleIterator::__construct() - Construye un nuevo MultipleIterator
  • MultipleIterator::setFlags() - Establece las flags

MultipleIterator::detachIterator
MultipleIterator::key
MultipleIterator


Obtiene las instancias registradas del iterador

MultipleIterator::getFlags
MultipleIterator::next
MultipleIterator
PHP Manual

MultipleIterator::key

(PHP 5 >= 5.3.0)

MultipleIterator::key — Obtiene las instancias registradas del iterador

Descripción

public array MultipleIterator::key ( void )

Obtiene las instancias registradas del iterador del resultado key().

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un array con todas las instancias registradas del iterador, o FALSE si ninguna instancia ha sido adjuntada.

Errores/Excepciones

Lanza una LogicException si se establece el modo MIT_NEED_ALL, y al menos un iterador adjuntado no es válido.

Invocar este método desde foreach provoca un mensaje de advertencia "Illegal type returned" (devuelto tipo no válido).

Ver también

  • MultipleIterator::current() - Obtiene las instancias registradas del iterador

MultipleIterator::getFlags
MultipleIterator::next
MultipleIterator


Mueve todas las instancias de iterador adjuntadas hacía la siguiente

MultipleIterator::key
MultipleIterator::rewind
MultipleIterator
PHP Manual

MultipleIterator::next

(PHP 5 >= 5.3.0)

MultipleIterator::next — Mueve todas las instancias de iterador adjuntadas hacía la siguiente

Descripción

public void MultipleIterator::next ( void )

Mueve todas las instancias de iterador adjuntadas hacía la siguiente.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • MultipleIterator::rewind() - Rebobina todas las instancias de iterador adjuntadas

MultipleIterator::key
MultipleIterator::rewind
MultipleIterator


Rebobina todas las instancias de iterador adjuntadas

MultipleIterator::next
MultipleIterator::setFlags
MultipleIterator
PHP Manual

MultipleIterator::rewind

(PHP 5 >= 5.3.0)

MultipleIterator::rewind — Rebobina todas las instancias de iterador adjuntadas

Descripción

public void MultipleIterator::rewind ( void )

Rebobina todas las instancias de iterador adjuntadas.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • MultipleIterator::next() - Mueve todas las instancias de iterador adjuntadas hacía la siguiente

MultipleIterator::next
MultipleIterator::setFlags
MultipleIterator


Establece las flags

MultipleIterator::rewind
MultipleIterator::valid
MultipleIterator
PHP Manual

MultipleIterator::setFlags

(PHP 5 >= 5.3.0)

MultipleIterator::setFlags — Establece las flags

Descripción

public void MultipleIterator::setFlags ( int $flags )

Establece las flags.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

flags

Las flags a ser establecidas, de acuerdo a las Constantes Flag

Valores devueltos

No devuelve ningún valor.

Ver también

  • Constantes Flag
  • MultipleIterator::__construct() - Construye un nuevo MultipleIterator
  • MultipleIterator::getFlags() - Obtiene información de las flags

MultipleIterator::rewind
MultipleIterator::valid
MultipleIterator


Comprueba la validez de los sub iteradores

MultipleIterator::setFlags
NoRewindIterator
MultipleIterator
PHP Manual

MultipleIterator::valid

(PHP 5 >= 5.3.0)

MultipleIterator::valid — Comprueba la validez de los sub iteradores

Descripción

public void MultipleIterator::valid ( void )

Comprueba la validez de los sub iteradores.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si uno o todos los iteradores son válidos dependiendo de las flags, en caso contrario FALSE

Ver también

  • MultipleIterator::__construct() - Construye un nuevo MultipleIterator

MultipleIterator::setFlags
NoRewindIterator
MultipleIterator


La clase NoRewindIterator

(PHP 5 >= 5.1.0)

Introducción

Este iterador no puede ser rebobinado.

Sinopsis de la Clase

NoRewindIterator extends IteratorIterator {
/* Métodos */
public __construct ( Iterator $iterator )
public mixed current ( void )
public iterator getInnerIterator ( void )
public mixed key ( void )
public void next ( void )
public void rewind ( void )
public bool valid ( void )
/* Métodos heredados */
public IteratorIterator::__construct ( Traversable $iterator )
public mixed IteratorIterator::current ( void )
public Traversable IteratorIterator::getInnerIterator ( void )
public scalar IteratorIterator::key ( void )
public void IteratorIterator::next ( void )
public void IteratorIterator::rewind ( void )
public bool IteratorIterator::valid ( void )
}

Tabla de contenidos

  • NoRewindIterator::__construct — Construye un NoRewindIterator
  • NoRewindIterator::current — Obtener el valor actual
  • NoRewindIterator::getInnerIterator — Obtiene el iterador interno
  • NoRewindIterator::key — Obtiene la clave actual
  • NoRewindIterator::next — Avanza al siguiente elemento
  • NoRewindIterator::rewind — Evita la operación de rebobinado en el iterador interno
  • NoRewindIterator::valid — Valida el iterador
MultipleIterator::valid
NoRewindIterator::__construct
Iteradores


Construye un NoRewindIterator

NoRewindIterator
NoRewindIterator::current
NoRewindIterator
PHP Manual

NoRewindIterator::__construct

(PHP 5 >= 5.1.0)

NoRewindIterator::__construct — Construye un NoRewindIterator

Descripción

public NoRewindIterator::__construct ( Iterator $iterator )

Construye un NoRewindIterator.

Parámetros

iterator

El iterador a ser usado.

Valores devueltos

Un NoRewindIterator() basado en el iterator pasado.

Ejemplos

Ejemplo #1 Ejemplo de NoRewindIterator::__construct()

El segundo bucle no imprime nada porque el iterador solo puede usarse una vez, no se puede rebobinar.

<?php
$fruit = array('manzana', 'banano', 'arándano');

$arr = new ArrayObject($fruit);
$it  = new NoRewindIterator($arr->getIterator());

echo "Fruit A:\n";
foreach( $it as $item ) {
    echo $item . "\n";
}

echo "Fruit B:\n";
foreach( $it as $item ) {
    echo $item . "\n";
}
?>

El resultado del ejemplo sería algo similar a:

Fruit A:
manzana
banano
arándano
Fruit B:

Ver también

  • NoRewindIterator::valid() - Valida el iterador

NoRewindIterator
NoRewindIterator::current
NoRewindIterator


Obtener el valor actual

NoRewindIterator::__construct
NoRewindIterator::getInnerIterator
NoRewindIterator
PHP Manual

NoRewindIterator::current

(PHP 5 >= 5.1.0)

NoRewindIterator::current — Obtener el valor actual

Descripción

public mixed NoRewindIterator::current ( void )

Obtiene el valor actual.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El valor actual.

Ver también

  • NoRewindIterator::key() - Obtiene la clave actual

NoRewindIterator::__construct
NoRewindIterator::getInnerIterator
NoRewindIterator


Obtiene el iterador interno

NoRewindIterator::current
NoRewindIterator::key
NoRewindIterator
PHP Manual

NoRewindIterator::getInnerIterator

(PHP 5 >= 5.1.0)

NoRewindIterator::getInnerIterator — Obtiene el iterador interno

Descripción

public iterator NoRewindIterator::getInnerIterator ( void )

Obtiene el iterador interno, que fué pasado a NoRewindIterator.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El iterador interno, como fué pasado a NoRewindIterator::__construct().

Ver también

  • NoRewindIterator::valid() - Valida el iterador

NoRewindIterator::current
NoRewindIterator::key
NoRewindIterator


Obtiene la clave actual

NoRewindIterator::getInnerIterator
NoRewindIterator::next
NoRewindIterator
PHP Manual

NoRewindIterator::key

(PHP 5 >= 5.1.0)

NoRewindIterator::key — Obtiene la clave actual

Descripción

public mixed NoRewindIterator::key ( void )

Obtener la clave actual.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La clave actual.

Ver también

  • NoRewindIterator::next() - Avanza al siguiente elemento

NoRewindIterator::getInnerIterator
NoRewindIterator::next
NoRewindIterator


Avanza al siguiente elemento

NoRewindIterator::key
NoRewindIterator::rewind
NoRewindIterator
PHP Manual

NoRewindIterator::next

(PHP 5 >= 5.1.0)

NoRewindIterator::next — Avanza al siguiente elemento

Descripción

public void NoRewindIterator::next ( void )

Avanzar al siguiente elemento.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • NoRewindIterator::rewind() - Evita la operación de rebobinado en el iterador interno

NoRewindIterator::key
NoRewindIterator::rewind
NoRewindIterator


Evita la operación de rebobinado en el iterador interno

NoRewindIterator::next
NoRewindIterator::valid
NoRewindIterator
PHP Manual

NoRewindIterator::rewind

(PHP 5 >= 5.1.0)

NoRewindIterator::rewind — Evita la operación de rebobinado en el iterador interno

Descripción

public void NoRewindIterator::rewind ( void )

Evita la operación de rebobinado en el iterador interno.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de NoRewindIterator::rewind()

Este ejemplo demuestra que, si se llama a rewind en un objeto NoRewindIterator no tiene ningún efecto.

<?php
$fruits = array("limon", "naranja", "manzana", "pera");

$noRewindIterator = new NoRewindIterator(new ArrayIterator($fruits));

echo $noRewindIterator->current() . "\n";
$noRewindIterator->next();
// ahora rebobine el iterador (nada debería suceder)
$noRewindIterator->rewind();
echo $noRewindIterator->current() . "\n";
?>

El resultado del ejemplo sería:

limon
naranja

NoRewindIterator::next
NoRewindIterator::valid
NoRewindIterator


Valida el iterador

NoRewindIterator::rewind
ParentIterator
NoRewindIterator
PHP Manual

NoRewindIterator::valid

(PHP 5 >= 5.1.0)

NoRewindIterator::valid — Valida el iterador

Descripción

public bool NoRewindIterator::valid ( void )

Comprueba si el iterador es válido.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • NoRewindIterator::getInnerIterator() - Obtiene el iterador interno

NoRewindIterator::rewind
ParentIterator
NoRewindIterator


La clase ParentIterator

(PHP 5 >= 5.1.0)

Introducción

Esta FilterIterator ampliada permite una iteración recursiva usando RecursiveIteratorIterator, que solamente muestra los elementos que tienen hijos.

Sinopsis de la Clase

ParentIterator extends RecursiveFilterIterator implements RecursiveIterator , OuterIterator {
/* Métodos */
public bool accept ( void )
public __construct ( RecursiveIterator $iterator )
public ParentIterator getChildren ( void )
public bool hasChildren ( void )
public void next ( void )
public void rewind ( void )
}

Tabla de contenidos

  • ParentIterator::accept — Determina aceptabilidad
  • ParentIterator::__construct — Construye un ParentIterator
  • ParentIterator::getChildren — Devuelve los iteradores hijo contenidos en un ParentIterator
  • ParentIterator::hasChildren — Comprueba si los iteradores internos del elemento actual tiene un hijos
  • ParentIterator::next — Mueve el iterador a la siguiente posición
  • ParentIterator::rewind — Rebobina el iterador
NoRewindIterator::valid
ParentIterator::accept
Iteradores


Determina aceptabilidad

ParentIterator
ParentIterator::__construct
ParentIterator
PHP Manual

ParentIterator::accept

(PHP 5 >= 5.1.0)

ParentIterator::accept — Determina aceptabilidad

Descripción

public bool ParentIterator::accept ( void )

Determina si el elemento actual tiene un hijo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si el elemento actual es aceptable, en caso contrario FALSE.

Ver también

  • ParentIterator::hasChildren() - Comprueba si los iteradores internos del elemento actual tiene un hijos
  • FilterIterator::accept() - Comprueba si el elemento actual del iterador es aceptable

ParentIterator
ParentIterator::__construct
ParentIterator


Construye un ParentIterator

ParentIterator::accept
ParentIterator::getChildren
ParentIterator
PHP Manual

ParentIterator::__construct

(PHP 5 >= 5.1.0)

ParentIterator::__construct — Construye un ParentIterator

Descripción

public ParentIterator::__construct ( RecursiveIterator $iterator )

Construye un ParentIterator en un iterador.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

iterator

El iterador a ser construido.

Valores devueltos

El ParentIterator.

ParentIterator::accept
ParentIterator::getChildren
ParentIterator


Devuelve los iteradores hijo contenidos en un ParentIterator

ParentIterator::__construct
ParentIterator::hasChildren
ParentIterator
PHP Manual

ParentIterator::getChildren

(PHP 5 >= 5.1.0)

ParentIterator::getChildren — Devuelve los iteradores hijo contenidos en un ParentIterator

Descripción

public ParentIterator ParentIterator::getChildren ( void )

Obtiene los iteradores hijo contenidos en un ParentIterator.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un object.

ParentIterator::__construct
ParentIterator::hasChildren
ParentIterator


Comprueba si los iteradores internos del elemento actual tiene un hijos

ParentIterator::getChildren
ParentIterator::next
ParentIterator
PHP Manual

ParentIterator::hasChildren

(PHP 5 >= 5.1.0)

ParentIterator::hasChildren — Comprueba si los iteradores internos del elemento actual tiene un hijos

Descripción

public bool ParentIterator::hasChildren ( void )

Comprueba si los iteradores internos del elemento actual tiene un hijos.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ParentIterator::getChildren
ParentIterator::next
ParentIterator


Mueve el iterador a la siguiente posición

ParentIterator::hasChildren
ParentIterator::rewind
ParentIterator
PHP Manual

ParentIterator::next

(PHP 5 >= 5.1.0)

ParentIterator::next — Mueve el iterador a la siguiente posición

Descripción

public void ParentIterator::next ( void )

Mueve el iterador a la siguiente posición.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

ParentIterator::hasChildren
ParentIterator::rewind
ParentIterator


Rebobina el iterador

ParentIterator::next
RecursiveArrayIterator
ParentIterator
PHP Manual

ParentIterator::rewind

(PHP 5 >= 5.1.0)

ParentIterator::rewind — Rebobina el iterador

Descripción

public void ParentIterator::rewind ( void )

Rebobinar el iterador.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

ParentIterator::next
RecursiveArrayIterator
ParentIterator


La clase RecursiveArrayIterator

(PHP 5 >= 5.1.0)

Introducción

Este iterador permite destruir y modificar valores y claves mientras se iteran arrays y objetos de la misma manera que con ArrayIterator. Adicionalmente es posible iterar la entrada del iterador actual.

Sinopsis de la Clase

RecursiveArrayIterator extends ArrayIterator implements RecursiveIterator {
/* Métodos */
public RecursiveArrayIterator getChildren ( void )
public bool hasChildren ( void )
/* Métodos heredados */
public void ArrayIterator::append ( mixed $value )
public void ArrayIterator::asort ( void )
public ArrayIterator::__construct ([ mixed $array = array() [, int $flags = 0 ]] )
public int ArrayIterator::count ( void )
public mixed ArrayIterator::current ( void )
public array ArrayIterator::getArrayCopy ( void )
public void ArrayIterator::getFlags ( void )
public mixed ArrayIterator::key ( void )
public void ArrayIterator::ksort ( void )
public void ArrayIterator::natcasesort ( void )
public void ArrayIterator::natsort ( void )
public void ArrayIterator::next ( void )
public void ArrayIterator::offsetExists ( string $index )
public mixed ArrayIterator::offsetGet ( string $index )
public void ArrayIterator::offsetSet ( string $index , string $newval )
public void ArrayIterator::offsetUnset ( string $index )
public void ArrayIterator::rewind ( void )
public void ArrayIterator::seek ( int $position )
public string ArrayIterator::serialize ( void )
public void ArrayIterator::setFlags ( string $flags )
public void ArrayIterator::uasort ( string $cmp_function )
public void ArrayIterator::uksort ( string $cmp_function )
public string ArrayIterator::unserialize ( string $serialized )
public bool ArrayIterator::valid ( void )
}

Tabla de contenidos

  • RecursiveArrayIterator::getChildren — Devuelve un iterador para la entrada actual si este es un array o un object
  • RecursiveArrayIterator::hasChildren — Devuelve si la entrada actual es un array o un objeto
ParentIterator::rewind
RecursiveArrayIterator::getChildren
Iteradores


Devuelve un iterador para la entrada actual si este es un array o un object

RecursiveArrayIterator
RecursiveArrayIterator::hasChildren
RecursiveArrayIterator
PHP Manual

RecursiveArrayIterator::getChildren

(PHP 5 >= 5.1.0)

RecursiveArrayIterator::getChildren — Devuelve un iterador para la entrada actual si este es un array o un object

Descripción

public RecursiveArrayIterator RecursiveArrayIterator::getChildren ( void )

Devuelve un iterador interno para la entrada actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un iterador para la entrada actual, si este es un array o un object.

Errores/Excepciones

Lanza una InvalidArgumentException si la entrada actual no contiene un array o un object.

Ejemplos

Ejemplo #1 Ejemplo de RecursiveArrayIterator::getChildren()

<?php
$fruits = array("a" => "limon", "b" => "naranja", array("a" => "manzana", "p" => "pera"));

$iterator = new RecursiveArrayIterator($fruits);

while ($iterator->valid()) {

    if ($iterator->hasChildren()) {
        // imprimir todos los hijos
        foreach ($iterator->getChildren() as $key => $value) {
            echo $key . ' : ' . $value . "\n";
        }
    } else {
        echo "No hijos.\n";
    }

    $iterator->next();
}
?>

El resultado del ejemplo sería:

No hijos.
No hijos.
a : manzana
p : pera

Ver también

  • RecursiveArrayIterator::hasChildren() - Devuelve si la entrada actual es un array o un objeto

RecursiveArrayIterator
RecursiveArrayIterator::hasChildren
RecursiveArrayIterator


Devuelve si la entrada actual es un array o un objeto

RecursiveArrayIterator::getChildren
RecursiveCachingIterator
RecursiveArrayIterator
PHP Manual

RecursiveArrayIterator::hasChildren

(PHP 5 >= 5.1.0)

RecursiveArrayIterator::hasChildren — Devuelve si la entrada actual es un array o un objeto

Descripción

public bool RecursiveArrayIterator::hasChildren ( void )

Devuelve si la entrada actual es un array o un object para que un iterador puede ser obtenido a través de RecursiveArrayIterator::getChildren().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si la entrada actual es un array o un object, en caso contrario FALSE.

Ejemplos

Ejemplo #1 Ejemplo de RecursiveArrayIterator::hasChildren()

<?php
$fruits = array("a" => "limon", "b" => "naranja", array("a" => "manzana", "p" => "pera"));

$iterator = new RecursiveArrayIterator($fruits);

while ($iterator->valid()) {

    // Comprueba si hay hijos
    if ($iterator->hasChildren()) {
        // imprime todos los hijos
        foreach ($iterator->getChildren() as $key => $value) {
            echo $key . ' : ' . $value . "\n";
        }
    } else {
        echo "No hijos.\n";
    }

    $iterator->next();
}
?>

El resultado del ejemplo sería:

No hijos.
No hijos.
a : manzana
p : pera

Ver también

  • RecursiveArrayIterator::getChildren() - Devuelve un iterador para la entrada actual si este es un array o un object

RecursiveArrayIterator::getChildren
RecursiveCachingIterator
RecursiveArrayIterator


La clase RecursiveCachingIterator

(PHP 5 >= 5.1.0)

Introducción

...

Sinopsis de la Clase

RecursiveCachingIterator extends CachingIterator implements Countable , ArrayAccess , OuterIterator , RecursiveIterator {
/* Métodos */
public __construct ( Iterator $iterator [, string $flags = self::CALL_TOSTRING ] )
public RecursiveCachingIterator getChildren ( void )
public bool hasChildren ( void )
/* Inherits */
public CachingIterator::__construct ( Iterator $iterator [, string $flags = self::CALL_TOSTRING ] )
public int CachingIterator::count ( void )
public void CachingIterator::current ( void )
public void CachingIterator::getCache ( void )
public void CachingIterator::getFlags ( void )
public Iterator CachingIterator::getInnerIterator ( void )
public void CachingIterator::hasNext ( void )
public scalar CachingIterator::key ( void )
public void CachingIterator::next ( void )
public void CachingIterator::offsetExists ( string $index )
public void CachingIterator::offsetGet ( string $index )
public void CachingIterator::offsetSet ( string $index , string $newval )
public void CachingIterator::offsetUnset ( string $index )
public void CachingIterator::rewind ( void )
public void CachingIterator::setFlags ( bitmask $flags )
public void CachingIterator::__toString ( void )
public void CachingIterator::valid ( void )
}

Tabla de contenidos

  • RecursiveCachingIterator::__construct — Construct
  • RecursiveCachingIterator::getChildren — Devuelve los iteradores internos hijos como un RecursiveCachingIterator
  • RecursiveCachingIterator::hasChildren — Comprueba si el elemento actual de un iterador interno tiene hijos
RecursiveArrayIterator::hasChildren
RecursiveCachingIterator::__construct
Iteradores


Construct

RecursiveCachingIterator
RecursiveCachingIterator::getChildren
RecursiveCachingIterator
PHP Manual

RecursiveCachingIterator::__construct

(PHP 5 >= 5.1.0)

RecursiveCachingIterator::__construct — Construct

Descripción

public RecursiveCachingIterator::__construct ( Iterator $iterator [, string $flags = self::CALL_TOSTRING ] )

Construye un nuevo RecursiveCachingIterator, que consiste en pasar un iterator.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

iterator

El iterador a ser usado.

flags

Las flags. Use CALL_TOSTRING para llamar a RecursiveCachingIterator::__toString() para cada elemento (por omisión), y/o CATCH_GET_CHILD para capturar excepciones cuando se intenta obtener un hijo.

Valores devueltos

La clase RecursiveCachingIterator.

Ver también

  • CachingIterator::__construct() - Construye un nuevo objeto CachingIterator para el iterador

RecursiveCachingIterator
RecursiveCachingIterator::getChildren
RecursiveCachingIterator


Devuelve los iteradores internos hijos como un RecursiveCachingIterator

RecursiveCachingIterator::__construct
RecursiveCachingIterator::hasChildren
RecursiveCachingIterator
PHP Manual

RecursiveCachingIterator::getChildren

(PHP 5 >= 5.1.0)

RecursiveCachingIterator::getChildren — Devuelve los iteradores internos hijos como un RecursiveCachingIterator

Descripción

public RecursiveCachingIterator RecursiveCachingIterator::getChildren ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Los iteradores internos hijos, como un RecursiveCachingIterator.

RecursiveCachingIterator::__construct
RecursiveCachingIterator::hasChildren
RecursiveCachingIterator


Comprueba si el elemento actual de un iterador interno tiene hijos

RecursiveCachingIterator::getChildren
RecursiveCallbackFilterIterator
RecursiveCachingIterator
PHP Manual

RecursiveCachingIterator::hasChildren

(PHP 5 >= 5.1.0)

RecursiveCachingIterator::hasChildren — Comprueba si el elemento actual de un iterador interno tiene hijos

Descripción

public bool RecursiveCachingIterator::hasChildren ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si el iterador interno tiene hijos, en caso contrario FALSE

RecursiveCachingIterator::getChildren
RecursiveCallbackFilterIterator
RecursiveCachingIterator


La clase RecursiveCallbackFilterIterator

(PHP 5 >= 5.4.0)

Introducción

Sinopsis de la Clase

RecursiveCallbackFilterIterator extends CallbackFilterIterator implements OuterIterator , RecursiveIterator {
/* Métodos */
public __construct ( RecursiveIterator $iterator , string $callback )
public RecursiveCallbackFilterIterator getChildren ( void )
public void hasChildren ( void )
/* Métodos heredados */
public string CallbackFilterIterator::accept ( void )
}

Ejemplos

La llamada de retorno debería aceptar hasta tres argumentos: el elemento actual, la clave actual y el iterador, respectivamente.

Ejemplo #1 Argumentos disponibles de la llamada de retorno

<?php

/**
 * Llamada de retorno para RecursiveCallbackFilterIterator
 *
 * @param $current   El valor del elemento actual
 * @param $key       La clave del elemento actual
 * @param $iterator  El iterador a filtrar
 * @return boolean   TRUE si acepta el elemento actual, de lo contrario FALSE
 */
function my_callback($current, $key, $iterator) {
    // Aquí, el código de filtrado
}

?>

Filtrar un iterador recursivo generalmente conlleva dos condiciones. La primera es que, con el fin de permitir la recursividad, la función de llamada de retorno debería devolver TRUE si el iterador actual tiene hijos. La segunda es la condición normal de filtro, como el tamaño de fichero o la comprobación de la extensión como en el ejemplo de abajo.

Ejemplo #2 Ejemplo básico de llamada de retorno recursiva

<?php

$dir = new FilesystemIterator(__DIR__);

// Filtrar ficheros de gran tamaño ( > 100MB)
$ficheros = new RecursiveCallbackFilterIterator($dir, function ($current, $key, $iterator) {
    // Permitir recursividad
    if ($iterator->hasChildren()) {
        return TRUE;
    }
    // Buscar ficheros de gran tamaño
    if ($current->isFile() && $current->getSize() > 104857600) {
        return TRUE;
    }
    return FALSE;
});

foreach (new RecursiveIteratorIterator($ficheros) as $fichero) {
    echo $fichero->getPathname() . PHP_EOL;
}

?>

Tabla de contenidos

  • RecursiveCallbackFilterIterator::__construct — Crear un RecursiveCallbackFilterIterator desde un RecursiveIterator
  • RecursiveCallbackFilterIterator::getChildren — D3evuelve los iteradores internos hijos contenidos en un RecursiveCallbackFilterIterator
  • RecursiveCallbackFilterIterator::hasChildren — Comprueba si los iteradores internos del elemento actual tiene hijos
RecursiveCachingIterator::hasChildren
RecursiveCallbackFilterIterator::__construct
Iteradores


Crear un RecursiveCallbackFilterIterator desde un RecursiveIterator

RecursiveCallbackFilterIterator
RecursiveCallbackFilterIterator::getChildren
RecursiveCallbackFilterIterator
PHP Manual

RecursiveCallbackFilterIterator::__construct

(PHP 5 >= 5.4.0)

RecursiveCallbackFilterIterator::__construct — Crear un RecursiveCallbackFilterIterator desde un RecursiveIterator

Descripción

public RecursiveCallbackFilterIterator::__construct() ( RecursiveIterator $iterator , string $callback )

Crea un iterador filtrado desde un RecursiveIterator usando el parámetro callback para determinar si los elementos son aceptados o rechazados.

Parámetros

iterator

El iterador recursivo a ser filtrado.

callback

la llamada de retorno, debe retornar TRUE para aceptar el elemento actual o en caso contrario FALSE. Véase los Ejemplos.

Puede ser cualquier valor válido de callable.

Valores devueltos

No devuelve ningún valor.

Ver también

  • Ejemplos de RecursiveCallbackFilterIterator
  • RecursiveCallbackFilterIterator::getChildren() - D3evuelve los iteradores internos hijos contenidos en un RecursiveCallbackFilterIterator
  • RecursiveCallbackFilteriterator::hasChildren() - Comprueba si los iteradores internos del elemento actual tiene hijos

RecursiveCallbackFilterIterator
RecursiveCallbackFilterIterator::getChildren
RecursiveCallbackFilterIterator


D3evuelve los iteradores internos hijos contenidos en un RecursiveCallbackFilterIterator

RecursiveCallbackFilterIterator::__construct
RecursiveCallbackFilterIterator::hasChildren
RecursiveCallbackFilterIterator
PHP Manual

RecursiveCallbackFilterIterator::getChildren

(PHP 5 >= 5.4.0)

RecursiveCallbackFilterIterator::getChildren — D3evuelve los iteradores internos hijos contenidos en un RecursiveCallbackFilterIterator

Descripción

public RecursiveCallbackFilterIterator RecursiveCallbackFilterIterator::getChildren ( void )

Recupera los hijos filtrados de el iterador interno.

RecursiveCallbackFilterIterator::hasChildren() debe ser usado para determinar si hay hijos para ser recuperados.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un RecursiveCallbackFilterIterator que contiene a los hijos.

Ver también

  • Ejemplos de RecursiveCallbackFilterIterator
  • RecursiveCallbackFilterIterator::__construct() - Crear un RecursiveCallbackFilterIterator desde un RecursiveIterator
  • RecursiveCallbackFilteriterator::hasChildren() - Comprueba si los iteradores internos del elemento actual tiene hijos

RecursiveCallbackFilterIterator::__construct
RecursiveCallbackFilterIterator::hasChildren
RecursiveCallbackFilterIterator


Comprueba si los iteradores internos del elemento actual tiene hijos

RecursiveCallbackFilterIterator::getChildren
RecursiveDirectoryIterator
RecursiveCallbackFilterIterator
PHP Manual

RecursiveCallbackFilterIterator::hasChildren

(PHP 5 >= 5.4.0)

RecursiveCallbackFilterIterator::hasChildren — Comprueba si los iteradores internos del elemento actual tiene hijos

Descripción

public void RecursiveCallbackFilterIterator::hasChildren ( void )

Devuelve TRUE si el elemento actual tiene hijos, en caso contrario FALSE.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Retorna TRUE si el elemento actual tiene hijos, en caso contrario FALSE.

Ejemplos

Ejemplo #1 Uso básico de RecursiveCallbackFilterIterator::hasChildren()

<?php

$dir = new RecursiveDirectoryIterator(__DIR__);

// Iteracicón recursiva de todos los ficheros XML
$files = new RecursiveCallbackFilterIterator($dir, function ($current, $key, $iterator) {
    // Permite la recursividad en los directorios
    if ($iterator->hasChildren()) {
        return TRUE;
    }
    // Comprueba si es un fichero XML
    if (!strcasecmp($current->getExtension(), 'xml')) {
        return TRUE;
    }
    return FALSE;
});

?>

Ver también

  • Ejemplos de RecursiveCallbackFilterIterator
  • RecursiveCallbackFilterIterator::__construct() - Crear un RecursiveCallbackFilterIterator desde un RecursiveIterator
  • RecursiveCallbackFilteriterator::getChildren() - D3evuelve los iteradores internos hijos contenidos en un RecursiveCallbackFilterIterator

RecursiveCallbackFilterIterator::getChildren
RecursiveDirectoryIterator
RecursiveCallbackFilterIterator


La clase RecursiveDirectoryIterator

(PHP 5)

Introducción

La clase RecursiveDirectoryIterator proporciona una interfaz para iterar recursivamente directorios del sistema de ficheros.

Sinopsis de la Clase

RecursiveDirectoryIterator extends FilesystemIterator implements SeekableIterator , RecursiveIterator {
/* Métodos */
public __construct ( string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO ] )
public mixed getChildren ( void )
public string getSubPath ( void )
public string getSubPathname ( void )
public bool hasChildren ([ bool $allow_links = false ] )
public string key ( void )
public void next ( void )
public void rewind ( void )
/* Métodos heredados */
public FilesystemIterator::__construct ( string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS ] )
public mixed FilesystemIterator::current ( void )
public int FilesystemIterator::getFlags ( void )
public string FilesystemIterator::key ( void )
public void FilesystemIterator::next ( void )
public void FilesystemIterator::rewind ( void )
public void FilesystemIterator::setFlags ([ int $flags ] )
}

Historial de cambios

Versión | Descripción
5.3.0 | La clase FilesystemIterator fue introducida como una clase padre. Anteriormente, el padre era la clase DirectoryIterator.
5.3.0 | Se implementó SeekableIterator.
5.2.11, 5.3.1 | Agregado RecursiveDirectoryIterator::FOLLOW_SYMLINKS

Tabla de contenidos

  • RecursiveDirectoryIterator::__construct — Construye un RecursiveDirectoryIterator
  • RecursiveDirectoryIterator::getChildren — Devuelve un iterador de la entrada actual si se trata de un directorio
  • RecursiveDirectoryIterator::getSubPath — Obtener la sub ruta
  • RecursiveDirectoryIterator::getSubPathname — Obtiene la sub ruta y nombre de fichero
  • RecursiveDirectoryIterator::hasChildren — Devuelve si la entrada actual es un directorio y no '.' o '..'
  • RecursiveDirectoryIterator::key — Devuelve la ruta y nombre de fichero del directorio
  • RecursiveDirectoryIterator::next — Mover a la siguiente entrada
  • RecursiveDirectoryIterator::rewind — Rebobina el directorio hasta el inicio
RecursiveCallbackFilterIterator::hasChildren
RecursiveDirectoryIterator::__construct
Iteradores


Construye un RecursiveDirectoryIterator

RecursiveDirectoryIterator
RecursiveDirectoryIterator::getChildren
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::__construct

(PHP 5 >= 5.1.2)

RecursiveDirectoryIterator::__construct — Construye un RecursiveDirectoryIterator

Descripción

public RecursiveDirectoryIterator::__construct ( string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO ] )

Construye un RecursiveDirectoryIterator() para el path proporcionado.

Parámetros

path

La ruta de el directorio a ser iterado.

flags

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().

Valores devueltos

Devuelve el RecursiveDirectoryIterator recién creado.

Errores/Excepciones

Lanza una UnexpectedValueException si el path no puede ser encontrado o este no es un directorio.

Ejemplos

Ejemplo #1 Ejemplo de RecursiveDirectoryIterator

<?php

$directorio = '/tmp';

$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directorio));

while($it->valid()) {

    if (!$it->isDot()) {
        echo 'SubPathName: ' . $it->getSubPathName() . "\n";
        echo 'SubPath:     ' . $it->getSubPath() . "\n";
        echo 'Key:         ' . $it->key() . "\n\n";
    }

    $it->next();
}

?>

El resultado del ejemplo sería algo similar a:

SubPathName: fruta/manzana.xml
SubPath:     fruta
Key:         /tmp/fruta/manzana.xml

SubPathName: stuff.xml
SubPath:
Key:         /tmp/stuff.xml

SubPathName: vegetales/zanahoria.xml
SubPath:     vegetales
Key:         /tmp/vegetales/zanahoria.xml

Ver también

  • FilesystemIterator::__construct() - Construye un nuevo iterador filesystem
  • RecursiveIteratorIterator::__construct() - Construir un objeto RecursiveIteratorIterator
  • Constantes predefinidas FilesystemIterator

RecursiveDirectoryIterator
RecursiveDirectoryIterator::getChildren
RecursiveDirectoryIterator


Devuelve un iterador de la entrada actual si se trata de un directorio

RecursiveDirectoryIterator::__construct
RecursiveDirectoryIterator::getSubPath
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::getChildren

(PHP 5 >= 5.1.0)

RecursiveDirectoryIterator::getChildren — Devuelve un iterador de la entrada actual si se trata de un directorio

Descripción

public mixed RecursiveDirectoryIterator::getChildren ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El nombre de fichero, información de fichero o $this dependiendo de las banderas establecidas. Véase las constantes FilesystemIterator.

RecursiveDirectoryIterator::__construct
RecursiveDirectoryIterator::getSubPath
RecursiveDirectoryIterator


Obtener la sub ruta

RecursiveDirectoryIterator::getChildren
RecursiveDirectoryIterator::getSubPathname
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::getSubPath

(PHP 5 >= 5.1.0)

RecursiveDirectoryIterator::getSubPath — Obtener la sub ruta

Descripción

public string RecursiveDirectoryIterator::getSubPath ( void )

Obtiene la sub ruta.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La sub ruta (sub directorio).

Ver también

  • RecursiveDirectoryIterator::getSubPathName() - Obtiene la sub ruta y nombre de fichero
  • RecursiveDirectoryIterator::key() - Devuelve la ruta y nombre de fichero del directorio

RecursiveDirectoryIterator::getChildren
RecursiveDirectoryIterator::getSubPathname
RecursiveDirectoryIterator


Obtiene la sub ruta y nombre de fichero

RecursiveDirectoryIterator::getSubPath
RecursiveDirectoryIterator::hasChildren
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::getSubPathname

(PHP 5 >= 5.1.0)

RecursiveDirectoryIterator::getSubPathname — Obtiene la sub ruta y nombre de fichero

Descripción

public string RecursiveDirectoryIterator::getSubPathname ( void )

Obtiene la sub ruta y nombre de fichero.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La sub ruta (sub directorio) y nombre del fichero.

Ver también

  • RecursiveDirectoryIterator::getSubPath() - Obtener la sub ruta
  • RecursiveDirectoryIterator::key() - Devuelve la ruta y nombre de fichero del directorio

RecursiveDirectoryIterator::getSubPath
RecursiveDirectoryIterator::hasChildren
RecursiveDirectoryIterator


Devuelve si la entrada actual es un directorio y no '.' o '..'

RecursiveDirectoryIterator::getSubPathname
RecursiveDirectoryIterator::key
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::hasChildren

(PHP 5)

RecursiveDirectoryIterator::hasChildren — Devuelve si la entrada actual es un directorio y no '.' o '..'

Descripción

public bool RecursiveDirectoryIterator::hasChildren ([ bool $allow_links = false ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

allow_links

Valores devueltos

Devuelve si la entrada actual es un directorio y no '.' o '..'

RecursiveDirectoryIterator::getSubPathname
RecursiveDirectoryIterator::key
RecursiveDirectoryIterator


Devuelve la ruta y nombre de fichero del directorio

RecursiveDirectoryIterator::hasChildren
RecursiveDirectoryIterator::next
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::key

(PHP 5)

RecursiveDirectoryIterator::key — Devuelve la ruta y nombre de fichero del directorio

Descripción

public string RecursiveDirectoryIterator::key ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la ruta y nombre de fichero del directorio.

RecursiveDirectoryIterator::hasChildren
RecursiveDirectoryIterator::next
RecursiveDirectoryIterator


Mover a la siguiente entrada

RecursiveDirectoryIterator::key
RecursiveDirectoryIterator::rewind
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::next

(PHP 5)

RecursiveDirectoryIterator::next — Mover a la siguiente entrada

Descripción

public void RecursiveDirectoryIterator::next ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

RecursiveDirectoryIterator::key
RecursiveDirectoryIterator::rewind
RecursiveDirectoryIterator


Rebobina el directorio hasta el inicio

RecursiveDirectoryIterator::next
RecursiveFilterIterator
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::rewind

(PHP 5)

RecursiveDirectoryIterator::rewind — Rebobina el directorio hasta el inicio

Descripción

public void RecursiveDirectoryIterator::rewind ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

RecursiveDirectoryIterator::next
RecursiveFilterIterator
RecursiveDirectoryIterator


La clase RecursiveFilterIterator

(PHP 5 >= 5.1.0)

Introducción

Este iterador abstracto filtra valores no deseados de RecursiveIterator. Esta clase debería ampliarse para implementar filtros personalizados. El método RecursiveFilterIterator::accept() debe ser implementado en la subclase.

Sinopsis de la Clase

abstract RecursiveFilterIterator extends FilterIterator implements OuterIterator , RecursiveIterator {
/* Métodos */
public __construct ( RecursiveIterator $iterator )
public void getChildren ( void )
public void hasChildren ( void )
/* Métodos heredados */
public abstract bool FilterIterator::accept ( void )
public FilterIterator::__construct ( Iterator $iterator )
public mixed FilterIterator::current ( void )
public Iterator FilterIterator::getInnerIterator ( void )
public mixed FilterIterator::key ( void )
public void FilterIterator::next ( void )
public void FilterIterator::rewind ( void )
public bool FilterIterator::valid ( void )
}

Tabla de contenidos

  • RecursiveFilterIterator::__construct — Crear un RecursiveFilterIterator a partir de un RecursiveIterator
  • RecursiveFilterIterator::getChildren — Devuelve los iteradores internos hijo contenidos en un RecursiveFilterIterator
  • RecursiveFilterIterator::hasChildren — Comprueba si el iterador interno del elemento actual tiene hijos
RecursiveDirectoryIterator::rewind
RecursiveFilterIterator::__construct
Iteradores


Crear un RecursiveFilterIterator a partir de un RecursiveIterator

RecursiveFilterIterator
RecursiveFilterIterator::getChildren
RecursiveFilterIterator
PHP Manual

RecursiveFilterIterator::__construct

(PHP 5 >= 5.1.0)

RecursiveFilterIterator::__construct — Crear un RecursiveFilterIterator a partir de un RecursiveIterator

Descripción

public RecursiveFilterIterator::__construct ( RecursiveIterator $iterator )

Crea un RecursiveFilterIterator a partir de un RecursiveIterator.

Parámetros

iterator

El RecursiveIterator a ser filtrado.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo básico de RecursiveFilterIterator()

<?php
class TestsOnlyFilter extends RecursiveFilterIterator {
    public function accept() {
        // Aceptar el elemento actual si podemos utilizar la recursión en este
        // o este valor empieza con "test"
        return $this->hasChildren() || (strpos($this->current(), "test") !== FALSE);
    }
}

$array    = array("test1", array("taste2", "test3", "test4"), "test5");
$iterator = new RecursiveArrayIterator($array);
$filter   = new TestsOnlyFilter($iterator);

foreach(new RecursiveIteratorIterator($filter) as $key => $value)
{
    echo $value . "\n";
}
?>

El resultado del ejemplo sería algo similar a:

test1
test3
test4
test5

Ejemplo #2 Ejemplo de RecursiveFilterIterator()

<?php
class ComenzarConElFiltro extends RecursiveFilterIterator {

    protected $word;

    public function __construct(RecursiveIterator $rit, $word) {
        $this->word = $word;
        parent::__construct($rit);
    }

    public function accept() {
        return $this->hasChildren() OR strpos($this->current(), $this->word) === 0;
    }

    public function getChildren() {
        return new self($this->getInnerIterator()->getChildren(), $this->word);
    }
}

$array    = array("test1", array("taste2", "test3", "test4"), "test5");
$iterator = new RecursiveArrayIterator($array);
$filter   = new ComenzarConElFiltro($iterator, "test");

foreach(new RecursiveIteratorIterator($filter) as $clave => $valor)
{
    echo $valor . "\n";
}
?>

El resultado del ejemplo sería algo similar a:

test1
test3
test4
test5

Ver también

  • RecursiveFilterIterator::getChildren() - Devuelve los iteradores internos hijo contenidos en un RecursiveFilterIterator
  • RecursiveFilterIterator::hasChildren() - Comprueba si el iterador interno del elemento actual tiene hijos
  • FilterIterator::accept() - Comprueba si el elemento actual del iterador es aceptable

RecursiveFilterIterator
RecursiveFilterIterator::getChildren
RecursiveFilterIterator


Devuelve los iteradores internos hijo contenidos en un RecursiveFilterIterator

RecursiveFilterIterator::__construct
RecursiveFilterIterator::hasChildren
RecursiveFilterIterator
PHP Manual

RecursiveFilterIterator::getChildren

(PHP 5 >= 5.1.0)

RecursiveFilterIterator::getChildren — Devuelve los iteradores internos hijo contenidos en un RecursiveFilterIterator

Descripción

public void RecursiveFilterIterator::getChildren ( void )

Devuelve los iteradores internos hijo contenidos en un RecursiveFilterIterator.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un RecursiveFilterIterator conteniendo los iteradores internos hijo.

Ver también

  • RecursiveFilterIterator::hasChildren() - Comprueba si el iterador interno del elemento actual tiene hijos
  • RecursiveIterator::getChildren() - Devuelve un iterador para la entrada actual

RecursiveFilterIterator::__construct
RecursiveFilterIterator::hasChildren
RecursiveFilterIterator


Comprueba si el iterador interno del elemento actual tiene hijos

RecursiveFilterIterator::getChildren
RecursiveIteratorIterator
RecursiveFilterIterator
PHP Manual

RecursiveFilterIterator::hasChildren

(PHP 5 >= 5.1.0)

RecursiveFilterIterator::hasChildren — Comprueba si el iterador interno del elemento actual tiene hijos

Descripción

public void RecursiveFilterIterator::hasChildren ( void )

Comprueba si el iterador interno del elemento actual tiene hijos.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si el iterador interno tiene hijos, en caso contrario FALSE

Ver también

  • RecursiveFilterIterator::getChildren() - Devuelve los iteradores internos hijo contenidos en un RecursiveFilterIterator
  • RecursiveIterator::hasChildren() - Retorna si un iterador puede ser creado para la entrada actual

RecursiveFilterIterator::getChildren
RecursiveIteratorIterator
RecursiveFilterIterator


La clase RecursiveIteratorIterator

(PHP 5)

Introducción

Se puede usar para recorrer iteradores recursivos.

Sinopsis de la Clase

RecursiveIteratorIterator implements OuterIterator {
/* Constantes */
const integer LEAVES_ONLY = 0 ;
const integer SELF_FIRST = 1 ;
const integer CHILD_FIRST = 2 ;
const integer CATCH_GET_CHILD = 16 ;
/* Métodos */
public void beginChildren ( void )
public void beginIteration ( void )
public RecursiveIterator callGetChildren ( void )
public bool callHasChildren ( void )
public __construct ( Traversable $iterator [, int $mode = RecursiveIteratorIterator::LEAVES_ONLY [, int $flags = 0 ]] )
public mixed current ( void )
public void endChildren ( void )
public void endIteration ( void )
public int getDepth ( void )
public iterator getInnerIterator ( void )
public mixed getMaxDepth ( void )
public RecursiveIterator getSubIterator ([ int $level ] )
public mixed key ( void )
public void next ( void )
public void nextElement ( void )
public void rewind ( void )
public void setMaxDepth ([ string $max_depth = -1 ] )
public bool valid ( void )
/* Métodos heredados */
public Iterator OuterIterator::getInnerIterator ( void )
}

Constantes predefinidas

RecursiveIteratorIterator::LEAVES_ONLY

RecursiveIteratorIterator::SELF_FIRST

RecursiveIteratorIterator::CHILD_FIRST

RecursiveIteratorIterator::CATCH_GET_CHILD

Tabla de contenidos

  • RecursiveIteratorIterator::beginChildren — Inicio del hijo
  • RecursiveIteratorIterator::beginIteration — Inicio de la iteración
  • RecursiveIteratorIterator::callGetChildren — Obtener hijo
  • RecursiveIteratorIterator::callHasChildren — Comprueba si tiene hijos
  • RecursiveIteratorIterator::__construct — Construir un objeto RecursiveIteratorIterator
  • RecursiveIteratorIterator::current — Acceder al valor del elemento actual
  • RecursiveIteratorIterator::endChildren — Final de los hijos
  • RecursiveIteratorIterator::endIteration — Final de la iteración
  • RecursiveIteratorIterator::getDepth — Obtener la profundidad actual de la iteración recursiva
  • RecursiveIteratorIterator::getInnerIterator — Obtener el iterador interno
  • RecursiveIteratorIterator::getMaxDepth — Obtener el máximo de profundidad
  • RecursiveIteratorIterator::getSubIterator — El subiterador activo actual
  • RecursiveIteratorIterator::key — Acceder a la clave actual
  • RecursiveIteratorIterator::next — Moverse al siguiente elemento
  • RecursiveIteratorIterator::nextElement — Siguiente elemento
  • RecursiveIteratorIterator::rewind — Rebobina el iterador al primer elemento al nivel superior del iterador interno
  • RecursiveIteratorIterator::setMaxDepth — Establecer el máximo de profundidad
  • RecursiveIteratorIterator::valid — Comprueba si la posición actual es válida
RecursiveFilterIterator::hasChildren
RecursiveIteratorIterator::beginChildren
Iteradores


Inicio del hijo

RecursiveIteratorIterator
RecursiveIteratorIterator::beginIteration
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::beginChildren

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::beginChildren — Inicio del hijo

Descripción

public void RecursiveIteratorIterator::beginChildren ( void )

Se llama después de llamar a RecursiveIteratorIterator::getChildren(), y está asociada con RecursiveIteratorIterator::rewind().

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

RecursiveIteratorIterator
RecursiveIteratorIterator::beginIteration
RecursiveIteratorIterator


Inicio de la iteración

RecursiveIteratorIterator::beginChildren
RecursiveIteratorIterator::callGetChildren
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::beginIteration

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::beginIteration — Inicio de la iteración

Descripción

public void RecursiveIteratorIterator::beginIteration ( void )

Se llama cuando la iteración comienza (después del primer RecursiveIteratorIterator::rewind().

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

RecursiveIteratorIterator::beginChildren
RecursiveIteratorIterator::callGetChildren
RecursiveIteratorIterator


Obtener hijo

RecursiveIteratorIterator::beginIteration
RecursiveIteratorIterator::callHasChildren
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::callGetChildren

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::callGetChildren — Obtener hijo

Descripción

public RecursiveIterator RecursiveIteratorIterator::callGetChildren ( void )

Obtiene el hijo de el elemento actual.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

A RecursiveIterator().

RecursiveIteratorIterator::beginIteration
RecursiveIteratorIterator::callHasChildren
RecursiveIteratorIterator


Comprueba si tiene hijos

RecursiveIteratorIterator::callGetChildren
RecursiveIteratorIterator::__construct
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::callHasChildren

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::callHasChildren — Comprueba si tiene hijos

Descripción

public bool RecursiveIteratorIterator::callHasChildren ( void )

Llamado para cada elemento para comprobar si tiene hijos o no.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si el elemento tiene hijos, en caso contrario FALSE

RecursiveIteratorIterator::callGetChildren
RecursiveIteratorIterator::__construct
RecursiveIteratorIterator


Construir un objeto RecursiveIteratorIterator

RecursiveIteratorIterator::callHasChildren
RecursiveIteratorIterator::current
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::__construct

(PHP 5 >= 5.1.3)

RecursiveIteratorIterator::__construct — Construir un objeto RecursiveIteratorIterator

Descripción

public RecursiveIteratorIterator::__construct ( Traversable $iterator [, int $mode = RecursiveIteratorIterator::LEAVES_ONLY [, int $flags = 0 ]] )

Crea un objeto RecursiveIteratorIterator desde un objeto RecursiveIterator.

Parámetros

iterator

El iterador desde el que va a ser construido. Puede ser un objeto RecursiveIterator o IteratorAggregate.

mode

Modo opcional. Los valores posibles son

  • RecursiveIteratorIterator::LEAVES_ONLY - El predeterminado. Lista sólo las hojas en la iteración.
  • RecursiveIteratorIterator::SELF_FIRST - Lista las hojas y los padres en la iteración con los padres primero.
  • RecursiveIteratorIterator::CHILD_FIRST - Lista las hojas y los padres en la iteración con las hojas primero.

flags

Bandera opcional. Los valore posibles son RecursiveIteratorIterator::CATCH_GET_CHILD que ignorará las excepciones lanzadas en llamadas a RecursiveIteratorIterator::getChildren().

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Iterar un RecursiveIteratorIterator

<?php
$array = array(
    array(
        array(
            array(
                'leaf-0-0-0-0',
                'leaf-0-0-0-1'
            ),
            'leaf-0-0-0'
        ),
        array(
            array(
                'leaf-0-1-0-0',
                'leaf-0-1-0-1'
            ),
            'leaf-0-1-0'
        ),
        'leaf-0-0'
    )
);

$iterator = new RecursiveIteratorIterator(
    new RecursiveArrayIterator($array),
    $mode
);
foreach ($iterator as $key => $leaf) {
    echo "$key => $leaf", PHP_EOL;
}
?>

Salida con $mode = RecursiveIteratorIterator::LEAVES_ONLY

0 => leaf-0-0-0-0
1 => leaf-0-0-0-1
0 => leaf-0-0-0
0 => leaf-0-1-0-0
1 => leaf-0-1-0-1
0 => leaf-0-1-0
0 => leaf-0-0

Salida con $mode = RecursiveIteratorIterator::SELF_FIRST

0 => Array
0 => Array
0 => Array
0 => leaf-0-0-0-0
1 => leaf-0-0-0-1
1 => leaf-0-0-0
1 => Array
0 => Array
0 => leaf-0-1-0-0
1 => leaf-0-1-0-1
1 => leaf-0-1-0
2 => leaf-0-0

Salida con $mode = RecursiveIteratorIterator::CHILD_FIRST

0 => leaf-0-0-0-0
1 => leaf-0-0-0-1
0 => Array
1 => leaf-0-0-0
0 => Array
0 => leaf-0-1-0-0
1 => leaf-0-1-0-1
0 => Array
1 => leaf-0-1-0
1 => Array
2 => leaf-0-0
0 => Array

RecursiveIteratorIterator::callHasChildren
RecursiveIteratorIterator::current
RecursiveIteratorIterator


Acceder al valor del elemento actual

RecursiveIteratorIterator::__construct
RecursiveIteratorIterator::endChildren
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::current

(PHP 5)

RecursiveIteratorIterator::current — Acceder al valor del elemento actual

Descripción

public mixed RecursiveIteratorIterator::current ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El valor del elemento actual.

RecursiveIteratorIterator::__construct
RecursiveIteratorIterator::endChildren
RecursiveIteratorIterator


Final de los hijos

RecursiveIteratorIterator::current
RecursiveIteratorIterator::endIteration
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::endChildren

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::endChildren — Final de los hijos

Descripción

public void RecursiveIteratorIterator::endChildren ( void )

Llamado cuando recursivamente se llega al final de un nivel.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

RecursiveIteratorIterator::current
RecursiveIteratorIterator::endIteration
RecursiveIteratorIterator


Final de la iteración

RecursiveIteratorIterator::endChildren
RecursiveIteratorIterator::getDepth
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::endIteration

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::endIteration — Final de la iteración

Descripción

public void RecursiveIteratorIterator::endIteration ( void )

Se llama cuando la iteración finaliza (cuando RecursiveIteratorIterator::valid() retorne FALSE.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

RecursiveIteratorIterator::endChildren
RecursiveIteratorIterator::getDepth
RecursiveIteratorIterator


Obtener la profundidad actual de la iteración recursiva

RecursiveIteratorIterator::endIteration
RecursiveIteratorIterator::getInnerIterator
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::getDepth

(PHP 5)

RecursiveIteratorIterator::getDepth — Obtener la profundidad actual de la iteración recursiva

Descripción

public int RecursiveIteratorIterator::getDepth ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La profundidad actual de la iteración recursiva.

RecursiveIteratorIterator::endIteration
RecursiveIteratorIterator::getInnerIterator
RecursiveIteratorIterator


Obtener el iterador interno

RecursiveIteratorIterator::getDepth
RecursiveIteratorIterator::getMaxDepth
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::getInnerIterator

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::getInnerIterator — Obtener el iterador interno

Descripción

public iterator RecursiveIteratorIterator::getInnerIterator ( void )

Obtiene el sub iterador interno actual.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El sub iterador actual.

RecursiveIteratorIterator::getDepth
RecursiveIteratorIterator::getMaxDepth
RecursiveIteratorIterator


Obtener el máximo de profundidad

RecursiveIteratorIterator::getInnerIterator
RecursiveIteratorIterator::getSubIterator
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::getMaxDepth

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::getMaxDepth — Obtener el máximo de profundidad

Descripción

public mixed RecursiveIteratorIterator::getMaxDepth ( void )

Obtiene el máximo de profundidad permitido.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El máximo de profundidad aceptado, o FALSE si cualquier profundidad está permitida.

Ver también

  • RecursiveIteratorIterator::setMaxDepth() - Establecer el máximo de profundidad

RecursiveIteratorIterator::getInnerIterator
RecursiveIteratorIterator::getSubIterator
RecursiveIteratorIterator


El subiterador activo actual

RecursiveIteratorIterator::getMaxDepth
RecursiveIteratorIterator::key
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::getSubIterator

(PHP 5)

RecursiveIteratorIterator::getSubIterator — El subiterador activo actual

Descripción

public RecursiveIterator RecursiveIteratorIterator::getSubIterator ([ int $level ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

level

Valores devueltos

El subiterador activo actual.

RecursiveIteratorIterator::getMaxDepth
RecursiveIteratorIterator::key
RecursiveIteratorIterator


Acceder a la clave actual

RecursiveIteratorIterator::getSubIterator
RecursiveIteratorIterator::next
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::key

(PHP 5)

RecursiveIteratorIterator::key — Acceder a la clave actual

Descripción

public mixed RecursiveIteratorIterator::key ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La clave actual.

RecursiveIteratorIterator::getSubIterator
RecursiveIteratorIterator::next
RecursiveIteratorIterator


Moverse al siguiente elemento

RecursiveIteratorIterator::key
RecursiveIteratorIterator::nextElement
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::next

(PHP 5)

RecursiveIteratorIterator::next — Moverse al siguiente elemento

Descripción

public void RecursiveIteratorIterator::next ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

RecursiveIteratorIterator::key
RecursiveIteratorIterator::nextElement
RecursiveIteratorIterator


Siguiente elemento

RecursiveIteratorIterator::next
RecursiveIteratorIterator::rewind
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::nextElement

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::nextElement — Siguiente elemento

Descripción

public void RecursiveIteratorIterator::nextElement ( void )

Se llama cuando el siguiente elemento está disponible.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

RecursiveIteratorIterator::next
RecursiveIteratorIterator::rewind
RecursiveIteratorIterator


Rebobina el iterador al primer elemento al nivel superior del iterador interno

RecursiveIteratorIterator::nextElement
RecursiveIteratorIterator::setMaxDepth
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::rewind

(PHP 5)

RecursiveIteratorIterator::rewind — Rebobina el iterador al primer elemento al nivel superior del iterador interno

Descripción

public void RecursiveIteratorIterator::rewind ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

RecursiveIteratorIterator::nextElement
RecursiveIteratorIterator::setMaxDepth
RecursiveIteratorIterator


Establecer el máximo de profundidad

RecursiveIteratorIterator::rewind
RecursiveIteratorIterator::valid
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::setMaxDepth

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::setMaxDepth — Establecer el máximo de profundidad

Descripción

public void RecursiveIteratorIterator::setMaxDepth ([ string $max_depth = -1 ] )

Establece el máximo de profundidad permitida.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

max_depth

El máximo de profundidad permitida. Se usa -1 para cualquier profundidad.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Lanza una Exception si max_depth es menor que -1.

RecursiveIteratorIterator::rewind
RecursiveIteratorIterator::valid
RecursiveIteratorIterator


Comprueba si la posición actual es válida

RecursiveIteratorIterator::setMaxDepth
RecursiveRegexIterator
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::valid

(PHP 5)

RecursiveIteratorIterator::valid — Comprueba si la posición actual es válida

Descripción

public bool RecursiveIteratorIterator::valid ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si la posición actual es válida, en caso contrario FALSE

RecursiveIteratorIterator::setMaxDepth
RecursiveRegexIterator
RecursiveIteratorIterator


La clase RecursiveRegexIterator

(PHP 5 >= 5.2.0)

Introducción

Este iterador recursivo puede filtrar otro iterador recursivo mediante una expresión regular.

Sinopsis de la Clase

RecursiveRegexIterator extends RegexIterator implements RecursiveIterator {
/* Métodos */
public __construct ( RecursiveIterator $iterator , string $regex [, int $mode = self::MATCH [, int $flags = 0 [, int $preg_flags = 0 ]]] )
public RecursiveRegexIterator getChildren ( void )
public bool hasChildren ( void )
/* Métodos heredados */
public RecursiveIterator RecursiveIterator::getChildren ( void )
public bool RecursiveIterator::hasChildren ( void )
public bool RegexIterator::accept ( void )
public int RegexIterator::getFlags ( void )
public int RegexIterator::getMode ( void )
public int RegexIterator::getPregFlags ( void )
public string RegexIterator::getRegex ( void )
public void RegexIterator::setFlags ( int $flags )
public void RegexIterator::setMode ( int $mode )
public void RegexIterator::setPregFlags ( int $preg_flags )
}

Tabla de contenidos

  • RecursiveRegexIterator::__construct — Crea un nuevo RecursiveRegexIterator
  • RecursiveRegexIterator::getChildren — Devuelve un iterador para la entrada actual
  • RecursiveRegexIterator::hasChildren — Retorna si un iterador puede ser obtenido de la entrada actual
RecursiveIteratorIterator::valid
RecursiveRegexIterator::__construct
Iteradores


Crea un nuevo RecursiveRegexIterator

RecursiveRegexIterator
RecursiveRegexIterator::getChildren
RecursiveRegexIterator
PHP Manual

RecursiveRegexIterator::__construct

(PHP 5 >= 5.2.0)

RecursiveRegexIterator::__construct — Crea un nuevo RecursiveRegexIterator

Descripción

public RecursiveRegexIterator::__construct() ( RecursiveIterator $iterator , string $regex [, int $mode = self::MATCH [, int $flags = 0 [, int $preg_flags = 0 ]]] )

Crea un nuevo iterador de expresión regular.

Parámetros

iterator

El iterador recursivo al que se le va a aplicar el filtro regex.

regex

La expresión regular a coincidir.

mode

Modo de operación, véase RegexIterator::setMode() para una lista de todos los modos.

flags

Flags especiales, véase RegexIterator::setFlags() para una lista de todas las flags disponibles.

preg_flags

Las flags de expresión regular. De estas flags depende el parámetro de modo de funcionamiento.

RegexIterator preg_flags
Modo de operación | flags disponibles
RecursiveRegexIterator::ALL_MATCHES | Véase preg_match_all().
RecursiveRegexIterator::GET_MATCH | Véase preg_match().
RecursiveRegexIterator::MATCH | Véase preg_match().
RecursiveRegexIterator::REPLACE | nada.
RecursiveRegexIterator::SPLIT | Véase preg_split().

Ejemplos

Ejemplo #1 Ejemplo de RecursiveRegexIterator::__construct()

Crear un nuevo RegexIterator que filtre todos los string que empiezan con 'test'

<?php
$rArrayIterator = new RecursiveArrayIterator(array('test1', array('tet3', 'test4', 'test5')));
$rRegexIterator = new RecursiveRegexIterator($rArrayIterator, '/^test/',
    RecursiveRegexIterator::ALL_MATCHES);

foreach ($rRegexIterator as $key1 => $value1) {

    if ($rRegexIterator->hasChildren()) {

        // print all children
        echo "Hijos: ";
        foreach ($rRegexIterator->getChildren() as $key => $value) {
            echo $value . " ";
        }
        echo "\n";
    } else {
        echo "No tiene hijos\n";
    }

}
?>

El resultado del ejemplo sería algo similar a:

No tiene hijos
Hijos: test4 test5

Ver también

  • preg_match() - Realiza una comparación con una expresión regular
  • preg_match_all() - Realiza una comparación global de una expresión regular
  • preg_replace() - Realiza una búsqueda y sustitución de una expresión regular
  • preg_split() - Divide un string mediante una expresión regular

RecursiveRegexIterator
RecursiveRegexIterator::getChildren
RecursiveRegexIterator


Devuelve un iterador para la entrada actual

RecursiveRegexIterator::__construct
RecursiveRegexIterator::hasChildren
RecursiveRegexIterator
PHP Manual

RecursiveRegexIterator::getChildren

(PHP 5 >= 5.2.0)

RecursiveRegexIterator::getChildren — Devuelve un iterador para la entrada actual

Descripción

public RecursiveRegexIterator RecursiveRegexIterator::getChildren ( void )

Devuelve un iterador para la entrada actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un iterador para la entrada actual, si este puede se puede iterar sobre el iterador interno.

Errores/Excepciones

Se lanza una InvalidArgumentException si la entrada actual no contiene un valor que pueda ser iterado sobre el iterador interno.

Ejemplos

Ejemplo #1 Ejemplo de RecursiveRegexIterator::getChildren()

<?php
$rArrayIterator = new RecursiveArrayIterator(array('test1', array('tet3', 'test4', 'test5')));
$rRegexIterator = new RecursiveRegexIterator($rArrayIterator, '/^test/',
    RecursiveRegexIterator::ALL_MATCHES);

foreach ($rRegexIterator as $key1 => $value1) {

    if ($rRegexIterator->hasChildren()) {

        // imprime todos los hijos
        echo "Hijos: ";
        foreach ($rRegexIterator->getChildren() as $key => $value) {
            echo $value . " ";
        }
        echo "\n";
    } else {
        echo "No tiene hijos\n";
    }

}
?>

El resultado del ejemplo sería:

No tiene hijos
Hijos: test4 test5

Ver también

  • RecursiveRegexIterator::hasChildren() - Retorna si un iterador puede ser obtenido de la entrada actual

RecursiveRegexIterator::__construct
RecursiveRegexIterator::hasChildren
RecursiveRegexIterator


Retorna si un iterador puede ser obtenido de la entrada actual

RecursiveRegexIterator::getChildren
RecursiveTreeIterator
RecursiveRegexIterator
PHP Manual

RecursiveRegexIterator::hasChildren

(PHP 5 >= 5.2.0)

RecursiveRegexIterator::hasChildren — Retorna si un iterador puede ser obtenido de la entrada actual

Descripción

public bool RecursiveRegexIterator::hasChildren ( void )

Retorna si un iterador puede ser obtenido de la entrada actual. Este iterador puede ser obtenido mediante RecursiveRegexIterator::getChildren().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si un iterador puede ser obtenido de la entrada actual, en caso contrario FALSE.

Ejemplos

Ejemplo #1 Ejemplo de RecursiveRegexIterator::hasChildren()

<?php
$rArrayIterator = new RecursiveArrayIterator(array('test1', array('tet3', 'test4', 'test5')));
$rRegexIterator = new RecursiveRegexIterator($rArrayIterator, '/^test/',
    RecursiveRegexIterator::ALL_MATCHES);

foreach ($rRegexIterator as $value) {
    var_dump($rRegexIterator->hasChildren());
}
?>

El resultado del ejemplo sería:

bool(false)
bool(true)

Ver también

  • RecursiveRegexIterator::getChildren() - Devuelve un iterador para la entrada actual

RecursiveRegexIterator::getChildren
RecursiveTreeIterator
RecursiveRegexIterator


La clase RecursiveTreeIterator

(PHP 5 >= 5.3.0)

Introducción

Permite recorrer un RecursiveIterator para generar un árbol gráfico ASCII.

Sinopsis de la Clase

RecursiveTreeIterator extends RecursiveIteratorIterator implements OuterIterator {
/* Constantes */
const integer BYPASS_CURRENT = 4 ;
const integer BYPASS_KEY = 8 ;
const integer PREFIX_LEFT = 0 ;
const integer PREFIX_MID_HAS_NEXT = 1 ;
const integer PREFIX_MID_LAST = 2 ;
const integer PREFIX_END_HAS_NEXT = 3 ;
const integer PREFIX_END_LAST = 4 ;
const integer PREFIX_RIGHT = 5 ;
/* Métodos */
public void beginChildren ( void )
public RecursiveIterator beginIteration ( void )
public RecursiveIterator callGetChildren ( void )
public bool callHasChildren ( void )
public __construct ( RecursiveIterator|IteratorAggregate $it [, int $flags = RecursiveTreeIterator::BYPASS_KEY [, int $cit_flags = CachingIterator::CATCH_GET_CHILD [, int $mode = RecursiveIteratorIterator::SELF_FIRST ]]] )
public string current ( void )
public void endChildren ( void )
public void endIteration ( void )
public string getEntry ( void )
public void getPostfix ( void )
public string getPrefix ( void )
public string key ( void )
public void next ( void )
public void nextElement ( void )
public void rewind ( void )
public void setPrefixPart ( int $part , string $value )
public bool valid ( void )
/* Métodos heredados */
public void RecursiveIteratorIterator::beginChildren ( void )
public void RecursiveIteratorIterator::beginIteration ( void )
public RecursiveIterator RecursiveIteratorIterator::callGetChildren ( void )
public bool RecursiveIteratorIterator::callHasChildren ( void )
public RecursiveIteratorIterator::__construct ( Traversable $iterator [, int $mode = RecursiveIteratorIterator::LEAVES_ONLY [, int $flags = 0 ]] )
public mixed RecursiveIteratorIterator::current ( void )
public void RecursiveIteratorIterator::endChildren ( void )
public void RecursiveIteratorIterator::endIteration ( void )
public int RecursiveIteratorIterator::getDepth ( void )
public iterator RecursiveIteratorIterator::getInnerIterator ( void )
public mixed RecursiveIteratorIterator::getMaxDepth ( void )
public RecursiveIterator RecursiveIteratorIterator::getSubIterator ([ int $level ] )
public mixed RecursiveIteratorIterator::key ( void )
public void RecursiveIteratorIterator::next ( void )
public void RecursiveIteratorIterator::nextElement ( void )
public void RecursiveIteratorIterator::rewind ( void )
public void RecursiveIteratorIterator::setMaxDepth ([ string $max_depth = -1 ] )
public bool RecursiveIteratorIterator::valid ( void )
}

Constantes predefinidas

RecursiveTreeIterator::BYPASS_CURRENT

RecursiveTreeIterator::BYPASS_KEY

RecursiveTreeIterator::PREFIX_LEFT

RecursiveTreeIterator::PREFIX_MID_HAS_NEXT

RecursiveTreeIterator::PREFIX_MID_LAST

RecursiveTreeIterator::PREFIX_END_HAS_NEXT

RecursiveTreeIterator::PREFIX_END_LAST

RecursiveTreeIterator::PREFIX_RIGHT

Tabla de contenidos

  • RecursiveTreeIterator::beginChildren — Inicio de los hijos
  • RecursiveTreeIterator::beginIteration — Inicio de la iteración
  • RecursiveTreeIterator::callGetChildren — Obtener los hijos
  • RecursiveTreeIterator::callHasChildren — Comprobar si tiene hijos
  • RecursiveTreeIterator::__construct — Construye un nuevo RecursiveTreeIterator
  • RecursiveTreeIterator::current — Obtener el elemento actual
  • RecursiveTreeIterator::endChildren — Final de los hijos
  • RecursiveTreeIterator::endIteration — Fin de la iteración
  • RecursiveTreeIterator::getEntry — obtener la entrada actual
  • RecursiveTreeIterator::getPostfix — Obtiener el postfijo
  • RecursiveTreeIterator::getPrefix — Obtener el prefijo
  • RecursiveTreeIterator::key — Obtiene la clave de el elemento actual
  • RecursiveTreeIterator::next — Mover al siguiente elemento
  • RecursiveTreeIterator::nextElement — Comprueba si hay un siguiente elemento
  • RecursiveTreeIterator::rewind — Rebobina el iterador
  • RecursiveTreeIterator::setPrefixPart — Establece la parte de el prefijo
  • RecursiveTreeIterator::valid — Comprueba la validez
RecursiveRegexIterator::hasChildren
RecursiveTreeIterator::beginChildren
Iteradores


Inicio de los hijos

RecursiveTreeIterator
RecursiveTreeIterator::beginIteration
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::beginChildren

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::beginChildren — Inicio de los hijos

Descripción

public void RecursiveTreeIterator::beginChildren ( void )

Se le llama cuando recursiva está en un nivel inferior.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

RecursiveTreeIterator
RecursiveTreeIterator::beginIteration
RecursiveTreeIterator


Inicio de la iteración

RecursiveTreeIterator::beginChildren
RecursiveTreeIterator::callGetChildren
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::beginIteration

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::beginIteration — Inicio de la iteración

Descripción

public RecursiveIterator RecursiveTreeIterator::beginIteration ( void )

Se llama cuando comienza la iteración (después de llamar a RecursiveTreeIterator::rewind()).

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un RecursiveIterator.

RecursiveTreeIterator::beginChildren
RecursiveTreeIterator::callGetChildren
RecursiveTreeIterator


Obtener los hijos

RecursiveTreeIterator::beginIteration
RecursiveTreeIterator::callHasChildren
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::callGetChildren

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::callGetChildren — Obtener los hijos

Descripción

public RecursiveIterator RecursiveTreeIterator::callGetChildren ( void )

Obtiene los hijos de el elemento actual.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un RecursiveIterator.

RecursiveTreeIterator::beginIteration
RecursiveTreeIterator::callHasChildren
RecursiveTreeIterator


Comprobar si tiene hijos

RecursiveTreeIterator::callGetChildren
RecursiveTreeIterator::__construct
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::callHasChildren

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::callHasChildren — Comprobar si tiene hijos

Descripción

public bool RecursiveTreeIterator::callHasChildren ( void )

Se llama para cada elemento para comprobar si tiene hijos o no.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si tiene hijos, en caso contrario FALSE.

RecursiveTreeIterator::callGetChildren
RecursiveTreeIterator::__construct
RecursiveTreeIterator


Construye un nuevo RecursiveTreeIterator

RecursiveTreeIterator::callHasChildren
RecursiveTreeIterator::current
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::__construct

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::__construct — Construye un nuevo RecursiveTreeIterator

Descripción

 public  RecursiveTreeIterator::__construct
  ( RecursiveIterator|IteratorAggregate $it
 [, int $flags = RecursiveTreeIterator::BYPASS_KEY
 [, int $cit_flags = CachingIterator::CATCH_GET_CHILD
 [, int $mode = RecursiveIteratorIterator::SELF_FIRST
]]] )

Construye un nuevo RecursiveTreeIterator desde un iterador recursivo suministrado.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

it

El RecursiveIterator o IteratorAggregate a iterar.

flags

Se pueden proporcionar flags que afectarán el comportamiento de algunos métodos. Una lista de flags puede verse en Constantes predefinidas RecursiveTreeIterator.

caching_it_flags

Flags que afectan el comportamiento interno de RecursiveCachingIterator.

mode

Flags que afectan el comportamiento interno de RecursiveIteratorIterator.

Valores devueltos

No devuelve ningún valor.

RecursiveTreeIterator::callHasChildren
RecursiveTreeIterator::current
RecursiveTreeIterator


Obtener el elemento actual

RecursiveTreeIterator::__construct
RecursiveTreeIterator::endChildren
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::current

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::current — Obtener el elemento actual

Descripción

public string RecursiveTreeIterator::current ( void )

Obtiene el elemento actual prefijo y postfijo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el elemento actual prefijo y postfijo.

RecursiveTreeIterator::__construct
RecursiveTreeIterator::endChildren
RecursiveTreeIterator


Final de los hijos

RecursiveTreeIterator::current
RecursiveTreeIterator::endIteration
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::endChildren

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::endChildren — Final de los hijos

Descripción

public void RecursiveTreeIterator::endChildren ( void )

Se llama cuando se llega recursivamente al final de un nivel.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

RecursiveTreeIterator::current
RecursiveTreeIterator::endIteration
RecursiveTreeIterator


Fin de la iteración

RecursiveTreeIterator::endChildren
RecursiveTreeIterator::getEntry
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::endIteration

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::endIteration — Fin de la iteración

Descripción

public void RecursiveTreeIterator::endIteration ( void )

Se llama cuando la iteración termina (o cuando RecursiveTreeIterator::valid() retorne FALSE)

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

RecursiveTreeIterator::endChildren
RecursiveTreeIterator::getEntry
RecursiveTreeIterator


obtener la entrada actual

RecursiveTreeIterator::endIteration
RecursiveTreeIterator::getPostfix
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::getEntry

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::getEntry — obtener la entrada actual

Descripción

public string RecursiveTreeIterator::getEntry ( void )

Obtiene la parte de el árbol de el elemento actual.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la parte de el árbol de el elemento actual.

RecursiveTreeIterator::endIteration
RecursiveTreeIterator::getPostfix
RecursiveTreeIterator


Obtiener el postfijo

RecursiveTreeIterator::getEntry
RecursiveTreeIterator::getPrefix
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::getPostfix

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::getPostfix — Obtiener el postfijo

Descripción

public void RecursiveTreeIterator::getPostfix ( void )

Obtiene el string a colocar después del elemento actual.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el string a colocar después del elemento actual.

RecursiveTreeIterator::getEntry
RecursiveTreeIterator::getPrefix
RecursiveTreeIterator


Obtener el prefijo

RecursiveTreeIterator::getPostfix
RecursiveTreeIterator::key
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::getPrefix

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::getPrefix — Obtener el prefijo

Descripción

public string RecursiveTreeIterator::getPrefix ( void )

Obtiene el string a colocar antes del elemento actual.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el string a colocar antes del elemento actual.

RecursiveTreeIterator::getPostfix
RecursiveTreeIterator::key
RecursiveTreeIterator


Obtiene la clave de el elemento actual

RecursiveTreeIterator::getPrefix
RecursiveTreeIterator::next
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::key

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::key — Obtiene la clave de el elemento actual

Descripción

public string RecursiveTreeIterator::key ( void )

Obtiene la clave con prefiro y postfijo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la clave actual con prefijo y postfijo.

RecursiveTreeIterator::getPrefix
RecursiveTreeIterator::next
RecursiveTreeIterator


Mover al siguiente elemento

RecursiveTreeIterator::key
RecursiveTreeIterator::nextElement
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::next

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::next — Mover al siguiente elemento

Descripción

public void RecursiveTreeIterator::next ( void )

Mover la posición al siguiente elemento.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

RecursiveTreeIterator::key
RecursiveTreeIterator::nextElement
RecursiveTreeIterator


Comprueba si hay un siguiente elemento

RecursiveTreeIterator::next
RecursiveTreeIterator::rewind
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::nextElement

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::nextElement — Comprueba si hay un siguiente elemento

Descripción

public void RecursiveTreeIterator::nextElement ( void )

Se llama cuando hay un siguiente elemento disponible.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

RecursiveTreeIterator::next
RecursiveTreeIterator::rewind
RecursiveTreeIterator


Rebobina el iterador

RecursiveTreeIterator::nextElement
RecursiveTreeIterator::setPrefixPart
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::rewind

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::rewind — Rebobina el iterador

Descripción

public void RecursiveTreeIterator::rewind ( void )

Rebobina el iterador hasta el primer elemento de el iterador interno superior.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

RecursiveTreeIterator::nextElement
RecursiveTreeIterator::setPrefixPart
RecursiveTreeIterator


Establece la parte de el prefijo

RecursiveTreeIterator::rewind
RecursiveTreeIterator::valid
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::setPrefixPart

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::setPrefixPart — Establece la parte de el prefijo

Descripción

public void RecursiveTreeIterator::setPrefixPart ( int $part , string $value )

Establece la parte del prefijo usada en el árbol gráfico.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

part

Una de las constantes RecursiveTreeIterator::PREFIX_*.

value

El valor a ser asignado a la parte del prefijo especificado en part.

Valores devueltos

No devuelve ningún valor.

RecursiveTreeIterator::rewind
RecursiveTreeIterator::valid
RecursiveTreeIterator


Comprueba la validez

RecursiveTreeIterator::setPrefixPart
RegexIterator
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::valid

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::valid — Comprueba la validez

Descripción

public bool RecursiveTreeIterator::valid ( void )

Comprueba si la posición actual es válida.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si la posición actual es válida, en caso contrario FALSE

RecursiveTreeIterator::setPrefixPart
RegexIterator
RecursiveTreeIterator


La clase RegexIterator

(PHP 5 >= 5.2.0)

Introducción

Este iterador puede ser usado para filtrar otro iterador basado en una expresión regular.

Sinopsis de la Clase

RegexIterator extends FilterIterator {
/* Constantes */
const integer MATCH = 0 ;
const integer GET_MATCH = 1 ;
const integer ALL_MATCHES = 2 ;
const integer SPLIT = 3 ;
const integer REPLACE = 4 ;
const integer USE_KEY = 1 ;
/* Métodos */
public __construct ( Iterator $iterator , string $regex [, int $mode = self::MATCH [, int $flags = 0 [, int $preg_flags = 0 ]]] )
public bool accept ( void )
public int getFlags ( void )
public int getMode ( void )
public int getPregFlags ( void )
public string getRegex ( void )
public void setFlags ( int $flags )
public void setMode ( int $mode )
public void setPregFlags ( int $preg_flags )
/* Métodos heredados */
public abstract bool FilterIterator::accept ( void )
public FilterIterator::__construct ( Iterator $iterator )
public mixed FilterIterator::current ( void )
public Iterator FilterIterator::getInnerIterator ( void )
public mixed FilterIterator::key ( void )
public void FilterIterator::next ( void )
public void FilterIterator::rewind ( void )
public bool FilterIterator::valid ( void )
}

Constantes predefinidas

Modos de operación RegexIterator

RegexIterator::ALL_MATCHES

Devuelve todas las coincidencias de la entrada actual. (véase preg_match_all()).

RegexIterator::GET_MATCH

Devuelve la primera coincidencia de la entrada actual. (véase preg_match()).

RegexIterator::MATCH

Sólo ejecuta la coincidencia (filtro) para la entrada actual (véase preg_match()).

RegexIterator::REPLACE

Reemplaza la entrada actual (véase preg_replace(); No está completamente implementado)

RegexIterator::SPLIT

Devuelve los valores divididos de la entrada actual (véase preg_split()).

Flags RegexIterator

RegexIterator::USE_KEY

Flag especial: Coincidir con la clave de entrada en lugar del valor de la entrada.

Tabla de contenidos

  • RegexIterator::accept — Obtener el estado de aceptación
  • RegexIterator::__construct — Crea un nuevo RegexIterator
  • RegexIterator::getFlags — Obtener flags
  • RegexIterator::getMode — Devuelve el modo de operación
  • RegexIterator::getPregFlags — Devuelve las flags de expresión regular
  • RegexIterator::getRegex — Devuelve la expresión regular actual
  • RegexIterator::setFlags — Establece las flags
  • RegexIterator::setMode — Establece el modo de operación
  • RegexIterator::setPregFlags — Establece las flags de expresión regular
RecursiveTreeIterator::valid
RegexIterator::accept
Iteradores


Obtener el estado de aceptación

RegexIterator
RegexIterator::__construct
RegexIterator
PHP Manual

RegexIterator::accept

(PHP 5 >= 5.2.0)

RegexIterator::accept — Obtener el estado de aceptación

Descripción

public bool RegexIterator::accept ( void )

Coincidir (string)  RegexIterator::current()
(o  RegexIterator::key() si la flag
RegexIterator::USE_KEY está establecida)
con la expresión regular.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si coincide, en caso contrario FALSE.

Ejemplos

Ejemplo #1 RegexIterator::accept() example

Este ejemplo muestra sólo los elementos aceptados que coinciden con la expresión regular.

<?php
$names = new ArrayIterator(array('Ann', 'Bob', 'Charlie', 'David'));
$filter = new RegexIterator($names, '/^[B-D]/');
foreach ($filter as $name) {
    echo $name . PHP_EOL;
}
?>

El resultado del ejemplo sería:

Bob
Charlie
David

Ver también

  • RegexIterator constants
  • RegexIterator::setFlags() - Establece las flags

RegexIterator
RegexIterator::__construct
RegexIterator


Crea un nuevo RegexIterator

RegexIterator::accept
RegexIterator::getFlags
RegexIterator
PHP Manual

RegexIterator::__construct

(PHP 5 >= 5.2.0)

RegexIterator::__construct — Crea un nuevo RegexIterator

Descripción

public RegexIterator::__construct() ( Iterator $iterator , string $regex [, int $mode = self::MATCH [, int $flags = 0 [, int $preg_flags = 0 ]]] )

Crea un nuevo RegexIterator que filtra un Iterator usando una expresión regular.

Parámetros

iterator

El iterador al que se le va a aplicar el filtro regex.

regex

la expresión regular a coincidir.

mode

Modo de operación, véase RegexIterator::setMode() para una lista de todos los modos.

flags

Flags especiales, véase RegexIterator::setFlags() para una lista de todas las flags disponibles.

preg_flags

Las flags de expresión regular. Estas flags dependen de el parámetro de modo de operación.

RegexIterator preg_flags
operation mode | available flags
RegexIterator::ALL_MATCHES | Véase preg_match_all().
RegexIterator::GET_MATCH | Véase preg_match().
RegexIterator::MATCH | Véase preg_match().
RegexIterator::REPLACE | Nada.
RegexIterator::SPLIT | Véase preg_split().

Ejemplos

Ejemplo #1 Ejemplo de RegexIterator::__construct()

Crea un nuevo RegexIterator que filtra todos los string que empiezan con 'test'.

<?php
$arrayIterator = new ArrayIterator(array('test 1', 'another test', 'test 123'));
$regexIterator = new RegexIterator($arrayIterator, '/^test/');

foreach ($regexIterator as $value) {
    echo $value . "\n";
}
?>

El resultado del ejemplo sería algo similar a:

test 1
test 123

Ver también

  • preg_match() - Realiza una comparación con una expresión regular
  • preg_match_all() - Realiza una comparación global de una expresión regular
  • preg_replace() - Realiza una búsqueda y sustitución de una expresión regular
  • preg_split() - Divide un string mediante una expresión regular

RegexIterator::accept
RegexIterator::getFlags
RegexIterator


Obtener flags

RegexIterator::__construct
RegexIterator::getMode
RegexIterator
PHP Manual

RegexIterator::getFlags

(PHP 5 >= 5.2.0)

RegexIterator::getFlags — Obtener flags

Descripción

public int RegexIterator::getFlags ( void )

Devuelve las flags, véase RegexIterator::setFlags() para una lista de todas las flags disponibles.

Valores devueltos

Devuelve las flags establecidas.

Ejemplos

Ejemplo #1 Ejemplo de RegexIterator::getFlags()

<?php

$test = array ('str1' => 'test 1', 'teststr2' => 'another test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/^test/');
$regexIterator->setFlags(RegexIterator::USE_KEY);

if ($regexIterator->getFlags() & RegexIterator::USE_KEY) {
    echo 'Filtrado basado en las claves del array.';
} else {
    echo 'Filtrado basado en los valores del array.';
}
?>

El resultado del ejemplo sería:

Filtrado basado en las claves del array.

Ver también

  • RegexIterator::setFlags() - Establece las flags

RegexIterator::__construct
RegexIterator::getMode
RegexIterator


Devuelve el modo de operación

RegexIterator::getFlags
RegexIterator::getPregFlags
RegexIterator
PHP Manual

RegexIterator::getMode

(PHP 5 >= 5.2.0)

RegexIterator::getMode — Devuelve el modo de operación

Descripción

public int RegexIterator::getMode ( void )

Devuelve el modo de operación, véase RegexIterator::setMode() para una lista de todos los modos de operación.

Valores devueltos

Devuelve los modos de operación.

Ejemplos

Ejemplo #1 Ejemplo de RegexIterator::getMode()

<?php

$test = array ('str1' => 'test 1', 'teststr2' => 'otro test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/^[a-z]+/', RegexIterator::GET_MATCH);

$mode = $regexIterator->getMode();
if ($mode & RegexIterator::GET_MATCH) {
    echo 'Obteniendo la coincidencia para cada elemento.';
} elseif ($mode & RegexIterator::ALL_MATCHES) {
    echo 'Obteniendo las coincidencias para cada elemento.';
} elseif ($mode & RegexIterator::MATCH) {
    echo 'Obteniendo cada elemento si este coincide.';
} elseif ($mode & RegexIterator::SPLIT) {
    echo 'Obteniendo las piezas de cada elemento.';
}
?>

El resultado del ejemplo sería:

Obteniendo la coincidencia para cada elemento.

Ver también

  • RegexIterator::setMode() - Establece el modo de operación

RegexIterator::getFlags
RegexIterator::getPregFlags
RegexIterator


Devuelve las flags de expresión regular

RegexIterator::getMode
RegexIterator::getRegex
RegexIterator
PHP Manual

RegexIterator::getPregFlags

(PHP 5 >= 5.2.0)

RegexIterator::getPregFlags — Devuelve las flags de expresión regular

Descripción

public int RegexIterator::getPregFlags ( void )

Devuelve las flags de expresión regular, véase RegexIterator::__construct() para una lista de todas las flags.

Valores devueltos

Devuelve un bitmask de las flags de expresión regular.

Ejemplos

Ejemplo #1 Ejemplo de RegexIterator::getPregFlags()

<?php

$test = array ('str1' => 'test 1', 'teststr2' => 'otro test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/\s/', RegexIterator::SPLIT);
$regexIterator->setPregFlags(PREG_SPLIT_NO_EMPTY | PREG_SPLIT_OFFSET_CAPTURE);

if ($regexIterator->getPregFlags() & PREG_SPLIT_NO_EMPTY) {
    echo 'Ignorando las piezas vacías';
} else {
    echo 'No ignora piezas vacías';
}

?>

El resultado del ejemplo sería:

Ignorando las piezas vacías

Ver también

  • RegexIterator::setPregFlags() - Establece las flags de expresión regular

RegexIterator::getMode
RegexIterator::getRegex
RegexIterator


Devuelve la expresión regular actual

RegexIterator::getPregFlags
RegexIterator::setFlags
RegexIterator
PHP Manual

RegexIterator::getRegex

(PHP 5 >= 5.4.0)

RegexIterator::getRegex — Devuelve la expresión regular actual

Descripción

public string RegexIterator::getRegex ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

RegexIterator::getPregFlags
RegexIterator::setFlags
RegexIterator


Establece las flags

RegexIterator::getRegex
RegexIterator::setMode
RegexIterator
PHP Manual

RegexIterator::setFlags

(PHP 5 >= 5.2.0)

RegexIterator::setFlags — Establece las flags

Descripción

public void RegexIterator::setFlags ( int $flags )

Establece las flags.

Parámetros

flags

Las flags a ser establecidas, The flags to set, un bitmask de constantes de la clase.

Las flags disponibles se enumeran a continuación. El verdadero significado de estas flags se describe en las Constantes predefinidas.

Flags RegexIterator
value | constant
1 | RegexIterator::USE_KEY

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de RegexIterator::setFlags()

Crear un nuevo RegexIterator que filtre todas las entradas que empiecen con la palabra clave 'test'.

<?php
$test = array ('str1' => 'test 1', 'teststr2' => 'otro test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/^test/');
$regexIterator->setFlags(RegexIterator::USE_KEY);

foreach ($regexIterator as $clave => $valor) {
    echo $clave . ' => ' . $valor . "\n";
}
?>

El resultado del ejemplo sería:

teststr2 => otro test

Ver también

  • RegexIterator::getFlags() - Obtener flags

RegexIterator::getRegex
RegexIterator::setMode
RegexIterator


Establece el modo de operación

RegexIterator::setFlags
RegexIterator::setPregFlags
RegexIterator
PHP Manual

RegexIterator::setMode

(PHP 5 >= 5.2.0)

RegexIterator::setMode — Establece el modo de operación

Descripción

public void RegexIterator::setMode ( int $mode )

Establecer el modo de operación.

Parámetros

mode

El modo de operación.

Los modos disponibles se enumeran a continuación. El verdadero significado de estos modos se describe en las constantes predefinidas.

Modos RegexIterator
value | constant
0 | RegexIterator::MATCH
1 | RegexIterator::GET_MATCH
2 | RegexIterator::ALL_MATCHES
3 | RegexIterator::SPLIT
4 | RegexIterator::REPLACE

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de RegexIterator::setMode()

<?php
$test = array ('str1' => 'test 1', 'test str2' => 'otro test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
// Filtra todo lo que empiece con 'test ' seguido por uno o más números.
$regexIterator = new RegexIterator($arrayIterator, '/^test (\d+)/');
// Modo de operación: Reemplaza el valor actual con las coincidencias
$regexIterator->setMode(RegexIterator::GET_MATCH);

foreach ($regexIterator as $clave => $valor) {
    // imprime el o los números que coincidan
    echo $key . ' => ' . $value[1] . PHP_EOL;
}
?>

El resultado del ejemplo sería algo similar a:

str1 => 1
str3 => 123

Ver también

  • RegexIterator::getMode() - Devuelve el modo de operación

RegexIterator::setFlags
RegexIterator::setPregFlags
RegexIterator


Establece las flags de expresión regular

RegexIterator::setMode
Interfaces
RegexIterator
PHP Manual

RegexIterator::setPregFlags

(PHP 5 >= 5.2.0)

RegexIterator::setPregFlags — Establece las flags de expresión regular

Descripción

public void RegexIterator::setPregFlags ( int $preg_flags )

Establece las flags de expresión regular.

Parámetros

preg_flags

Las flags de expresión regular. Véase RegexIterator::__construct() para una lista de todas las flags disponibles.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de RegexIterator::setPregFlags()

Crea un nuevo RegexIterator que filtra todas las entradas donde la clave del array empiece con 'test'.

<?php
$test = array ('test 1', 'otro test', 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/^test/', RegexIterator::GET_MATCH);

$regexIterator->setPregFlags(PREG_OFFSET_CAPTURE);

foreach ($regexIterator as $clave => $valor) {
    var_dump($valor);
}
?>

El resultado del ejemplo sería algo similar a:

array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(4) "test"
    [1]=>
    int(0)
  }
}
array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(4) "test"
    [1]=>
    int(0)
  }
}

Ver también

  • RegexIterator::getPregFlags() - Devuelve las flags de expresión regular

RegexIterator::setMode
Interfaces
RegexIterator


Interfaces

Tabla de contenidos

  • Countable
  • OuterIterator
  • RecursiveIterator
  • SeekableIterator

SPL proporciona un grupo de interfaces.

Ver también Interfaces y clases predefinidas

Lista de interfaces

  • Countable
  • OuterIterator
  • RecursiveIterator
  • SeekableIterator
  • SplObserver
  • SplSubject
RegexIterator::setPregFlags
Countable
SPL


El interfaz Countable

(PHP 5 >= 5.1.0)

Introducción

Las clases implementado Countable pueden ser usadas con la función count().

Sinopsis de la Interfaz

Countable {
/* Métodos */
abstract public int count ( void )
}

Tabla de contenidos

  • Countable::count — Cuenta los elementos de un objeto
Interfaces
Countable::count
Interfaces


Cuenta los elementos de un objeto

Countable
OuterIterator
Countable
PHP Manual

Countable::count

(PHP 5 >= 5.1.0)

Countable::count — Cuenta los elementos de un objeto

Descripción

abstract public int Countable::count ( void )

Este método se ejecuta cuando se utiliza la función count() sobre un objeto que implemente la clase Countable.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El recuento personalizado como un integer.

Nota:

El valor devuelto se convierte en integer.

Ejemplos

Ejemplo #1 Ejemplo de Countable::count()

<?php
class miContador implements Countable {
    private $cuenta = 0;
    public function count() {
        return ++$this->cuenta;
    }
}

$contador = new miContador;

for($i=0; $i<10; ++$i) {
    echo "He contado usando count() " . count($contador) . " veces\n";
}
?>

El resultado del ejemplo sería algo similar a:

He contado usando count() 1 veces
He contado usando count() 2 veces
He contado usando count() 3 veces
He contado usando count() 4 veces
He contado usando count() 5 veces
He contado usando count() 6 veces
He contado usando count() 7 veces
He contado usando count() 8 veces
He contado usando count() 9 veces
He contado usando count() 10 veces

Countable
OuterIterator
Countable


El interfaz OuterIterator

(PHP 5 >= 5.1.0)

Introducción

Las clases que implementan OuterIterator pueden ser usadas para iterar sobre iteradores.

Sinopsis de la Interfaz

OuterIterator extends Iterator {
/* Métodos */
public Iterator getInnerIterator ( void )
/* Métodos heredados */
abstract public mixed Iterator::current ( void )
abstract public scalar Iterator::key ( void )
abstract public void Iterator::next ( void )
abstract public void Iterator::rewind ( void )
abstract public boolean Iterator::valid ( void )
}

Tabla de contenidos

  • OuterIterator::getInnerIterator — Devuelve el iterador interno de la entrada actual
Countable::count
OuterIterator::getInnerIterator
Interfaces


Devuelve el iterador interno de la entrada actual

OuterIterator
RecursiveIterator
OuterIterator
PHP Manual

OuterIterator::getInnerIterator

(PHP 5 >= 5.1.0)

OuterIterator::getInnerIterator — Devuelve el iterador interno de la entrada actual

Descripción

public Iterator OuterIterator::getInnerIterator ( void )

Devuelve el iterador interno de la entrada actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El iterador interno de la entrada actual.

OuterIterator
RecursiveIterator
OuterIterator


El interfaz RecursiveIterator

(PHP 5 >= 5.1.0)

Introducción

Las clases que implementan RecursiveIterator pueden ser usadas para iterar sobre iteradores de forma recursiva.

Sinopsis de la Interfaz

RecursiveIterator extends Iterator {
/* Métodos */
public RecursiveIterator getChildren ( void )
public bool hasChildren ( void )
/* Métodos heredados */
abstract public mixed Iterator::current ( void )
abstract public scalar Iterator::key ( void )
abstract public void Iterator::next ( void )
abstract public void Iterator::rewind ( void )
abstract public boolean Iterator::valid ( void )
}

Tabla de contenidos

  • RecursiveIterator::getChildren — Devuelve un iterador para la entrada actual
  • RecursiveIterator::hasChildren — Retorna si un iterador puede ser creado para la entrada actual
OuterIterator::getInnerIterator
RecursiveIterator::getChildren
Interfaces


Devuelve un iterador para la entrada actual

RecursiveIterator
RecursiveIterator::hasChildren
RecursiveIterator
PHP Manual

RecursiveIterator::getChildren

(PHP 5 >= 5.1.0)

RecursiveIterator::getChildren — Devuelve un iterador para la entrada actual

Descripción

public RecursiveIterator RecursiveIterator::getChildren ( void )

Devuelve un iterador para la entrada del iterador actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un iterador de la entrada actual.

Ver también

  • RecursiveIterator::hasChildren() - Retorna si un iterador puede ser creado para la entrada actual

RecursiveIterator
RecursiveIterator::hasChildren
RecursiveIterator


Retorna si un iterador puede ser creado para la entrada actual

RecursiveIterator::getChildren
SeekableIterator
RecursiveIterator
PHP Manual

RecursiveIterator::hasChildren

(PHP 5 >= 5.1.0)

RecursiveIterator::hasChildren — Retorna si un iterador puede ser creado para la entrada actual

Descripción

public bool RecursiveIterator::hasChildren ( void )

Retorna si un iterador puede ser creado para la entrada actual. RecursiveIterator::getChildren().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si la entrada actual puede se puede iterar, en caso contrario FALSE.

Ver también

  • RecursiveIterator::getChildren() - Devuelve un iterador para la entrada actual

RecursiveIterator::getChildren
SeekableIterator
RecursiveIterator


La interfaz SeekableIterator

(PHP 5 >= 5.1.0)

Introducción

El iterador Seekable.

Sinopsis de la Interfaz

SeekableIterator extends Iterator {
/* Métodos */
abstract public void seek ( int $position )
/* Métodos heredados */
abstract public mixed Iterator::current ( void )
abstract public scalar Iterator::key ( void )
abstract public void Iterator::next ( void )
abstract public void Iterator::rewind ( void )
abstract public boolean Iterator::valid ( void )
}

Ejemplo #1 Uso básico

Este ejemplo muestra cómo crear un SeekableIterator personalizado, busca una posición y maneja una posición inválida.

<?php
class MySeekableIterator implements SeekableIterator {

    private $position = 0;

    private $array = array(
        "primer elemento",
        "segundo elemento",
        "tercer elemento",
        "cuarto elemento"
    );

    /* Métodos requeridos para la interfaz SeekableIterator */

    public function seek($position) {
      if (!isset($this->array[$position]) {
          throw new OutOfBoundsException("Posición seek inválida ($position)");
      }

      $this->position = $position;
    }

    /* Métodos requeridos para la interfaz Iterador */

    public function rewind() {
        $this->position = 0;
    }

    public function current() {
        return $this->array[$this->position];
    }

    public function key() {
        return $this->position;
    }

    public function next() {
        ++$this->position;
    }

    public function valid() {
        return isset($this->array[$this->position]);
    }
}

try {

    $it = new MySeekableIterator;
    echo $it->current(), "\n";

    $it->seek(2);
    echo $it->current(), "\n";

    $it->seek(1);
    echo $it->current(), "\n";

    $it->seek(10);

} catch (OutOfBoundsException $e) {
    echo $e->getMessage();
}
?>

El resultado del ejemplo sería algo similar a:

primer elemento
tercer elemento
segundo elemento
Posición seek inválida (10)

Tabla de contenidos

  • SeekableIterator::seek — Mueve la posición del apuntador interno
RecursiveIterator::hasChildren
SeekableIterator::seek
Interfaces


Mueve la posición del apuntador interno

SeekableIterator
Excepciones
SeekableIterator
PHP Manual

SeekableIterator::seek

(PHP 5 >= 5.1.0)

SeekableIterator::seek — Mueve la posición del apuntador interno

Descripción

abstract public void SeekableIterator::seek ( int $position )

Mueve la posición del apuntador interno en el iterador.

Parámetros

position

La posición para mover el apuntador interno.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Las implementaciones deben lanzar una OutOfBoundsException si la posición position no es válida.

Ejemplos

Ejemplo #1 Ejemplo de SeekableIterator::seek()

Mueve el apuntador de el elemento a la posición 3 en el iterador (ArrayIterator implements SeekableIterator).

<?php
$array = array("manzana", "banana", "cereza", "ciruela", "baya");
$iterator = new ArrayIterator($array);
$iterator->seek(3);
echo $iterator->current();
?>

El resultado del ejemplo sería algo similar a:

ciruela

Ver también

  • SeekableIterator
  • Iterator

SeekableIterator
Excepciones
SeekableIterator


Excepciones

Tabla de contenidos

  • BadFunctionCallException
  • BadMethodCallException
  • DomainException
  • InvalidArgumentException
  • LengthException
  • LogicException
  • OutOfBoundsException
  • OutOfRangeException
  • OverflowException
  • RangeException
  • RuntimeException
  • UnderflowException
  • UnexpectedValueException

SPL proporcina un conunto de Excepciones estándar.

Véase también Excepciones predefinidas

Árbol de Clases de Excepciones de SPL

  • LogicException (extends Exception)
    • BadFunctionCallException
      • BadMethodCallException
    • DomainException
    • InvalidArgumentException
    • LengthException
    • OutOfRangeException
  • RuntimeException (extends Exception)
    • OutOfBoundsException
    • OverflowException
    • RangeException
    • UnderflowException
    • UnexpectedValueException
SeekableIterator::seek
BadFunctionCallException
SPL


La clase BadFunctionCallException

(PHP 5 >= 5.1.0)

Introducción

Lanza una excepción si la llamada de retorno hace referencia a una función no definida o faltan algunos de los argumentos.

Sinopsis de la Clase

BadFunctionCallException extends LogicException {
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
Excepciones
BadMethodCallException
Excepciones


La clase BadMethodCallException

(PHP 5 >= 5.1.0)

Introducción

Lanza una excepción si la llamada de retorno hace referencia a una función no definida o faltan algunos de los argumentos.

Sinopsis de la Clase

BadMethodCallException extends BadFunctionCallException {
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
BadFunctionCallException
DomainException
Excepciones


La clase DomainException

(PHP 5 >= 5.1.0)

Introducción

Excepción lanzada si un valor no se adhiere a un dominio definido da datos válidos.

Sinopsis de la Clase

DomainException extends LogicException {
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
BadMethodCallException
InvalidArgumentException
Excepciones


La clase InvalidArgumentException

(PHP 5 >= 5.1.0)

Introducción

Lanza una excepción si el argumento no coincide con el valor esperado.

Sinopsis de la Clase

InvalidArgumentException extends LogicException {
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
DomainException
LengthException
Excepciones


La clase LengthException

(PHP 5 >= 5.1.0)

Introducción

Lanza una excepción si el valor longitud no es válido.

Sinopsis de la Clase

LengthException extends LogicException {
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
InvalidArgumentException
LogicException
Excepciones


La clase LogicException

(PHP 5 >= 5.1.0)

Introducción

Excepción que representa error en la lógica del programa. Este tipo de excepciones debería directamente conducir a una solución en su código.

Sinopsis de la Clase

LogicException extends Exception {
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
LengthException
OutOfBoundsException
Excepciones


La clase OutOfBoundsException

(PHP 5 >= 5.1.0)

Introducción

Lanza una excepción si el valor no es una clave válida. Representa los errores que no pueden ser detectados en tiempo de ejecucción.

Sinopsis de la Clase

OutOfBoundsException extends RuntimeException {
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
LogicException
OutOfRangeException
Excepciones


La clase OutOfRangeException

(PHP 5 >= 5.1.0)

Introducción

Lanza una excepción cuando se solicita un índice ilegal. Esto representa un error que debe ser detectado en tiempo de compilación.

Sinopsis de la Clase

OutOfRangeException extends LogicException {
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
OutOfBoundsException
OverflowException
Excepciones


La clase OverflowException

(PHP 5 >= 5.1.0)

Introducción

Lanza una excepción cuando se agrega un elemento en un contenedor lleno.

Sinopsis de la Clase

OverflowException extends RuntimeException {
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
OutOfRangeException
RangeException
Excepciones


La clase RangeException

(PHP 5 >= 5.1.0)

Introducción

Excepción que se produce para indicar los errores de rango durante la ejecución del programa. Normalmente, esto significa que hubo un error aritmético distinto a bajo/sobre flujo. Esta es la versión en tiempo de ejecución de DomainException.

Sinopsis de la Clase

RangeException extends RuntimeException {
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
OverflowException
RuntimeException
Excepciones


La clase RuntimeException

(PHP 5 >= 5.1.0)

Introducción

Lanza una excepción si hay un error que sólo se puede encontrar en tiempo de ejecución.

Sinopsis de la Clase

RuntimeException extends Exception {
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
RangeException
UnderflowException
Excepciones


la clase UnderflowException

(PHP 5 >= 5.1.0)

Introducción

Lanza una excepción cuando se lleva a cabo una operación no válida o un contenedor vacío, tal como eliminar un elemento.

Sinopsis de la Clase

UnderflowException extends RuntimeException {
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
RuntimeException
UnexpectedValueException
Excepciones


La clase UnexpectedValueException

(PHP 5 >= 5.1.0)

Introducción

Lanza una excepción si un valor no coincide con un grupo de valores. Generalmente, esto sucede cuando una función llama a otra función y espera que el valor de retorno sea de cierto tipo o un valor aritmético no incluido o un errores relacionados con el buffer.

Sinopsis de la Clase

UnexpectedValueException extends RuntimeException {
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
UnderflowException
Funciones SPL
Excepciones


Funciones SPL

Tabla de contenidos

  • class_implements — Devuelve las interfaces que son implementadas en la clase dada
  • class_parents — Devuelve las clases padre de la clase dada.
  • class_uses — Devolver los "traits" usados por la clase dada
  • iterator_apply — Llama una función para cada elemento en un iterador
  • iterator_count — Contar los elementos en un iterador
  • iterator_to_array — Copia el iterador en un array
  • spl_autoload_call — Probar todos las funciones registradas __autoload() para cargar la clase solicitada
  • spl_autoload_extensions — Registrar y devolver las extensiones de ficheros predeterminadas para spl_autoload
  • spl_autoload_functions — Devolver todas las funciones __autoload() registradas
  • spl_autoload_register — Registrar las funciones dadas como implementación de __autoload()
  • spl_autoload_unregister — Desregistrar una función dada como implementadión de __autoload()
  • spl_autoload — Implementación predeterminada para __autoload()
  • spl_classes — Devuelve las clases SPL disponibles
  • spl_object_hash — Devuelve el hash id del objeto dado
UnexpectedValueException
class_implements
SPL


Devuelve las interfaces que son implementadas en la clase dada

Funciones SPL
class_parents
Funciones SPL
PHP Manual

class_implements

(PHP 5 >= 5.1.0)

class_implements — Devuelve las interfaces que son implementadas en la clase dada

Descripción

array class_implements ( mixed $class [, bool $autoload = true ] )

Esta función devuelve un array con los nombres de las interfaces que implementa la class dada y sus padres.

Parámetros

class

Un objeto (instancia de clase) o un string (nombre de clase).

autoload

Establece si se va a permitir que la clase se cargue automáticamente a a través del método mágico __autoload().

Valores devueltos

Un array en caso de éxito, o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.1.0 | Añadida la opción para pasar el parámetro class como un string. Añadido el parámetro autoload.

Ejemplos

Ejemplo #1 Ejemplo de class_implements()

<?php

interface foo { }
class bar implements foo {}

print_r(class_implements(new bar));

// desde PHP 5.1.0 se puede especificar el parámetro como un string
print_r(class_implements('bar'));

function __autoload($class_name) {
   require_once $class_name . '.php';
}

// uso de __autoload para cargar la clase 'not_loaded'
print_r(class_implements('not_loaded', true));

?>

El resultado del ejemplo sería algo similar a:

Array
(
    [foo] => foo
)

Array
(
    [interface_of_not_loaded] => interface_of_not_loaded
)

Ver también

  • class_parents() - Devuelve las clases padre de la clase dada.
  • get_declared_interfaces() - Devuelve un array con todas las interfaces declaradas

Funciones SPL
class_parents
Funciones SPL


Devuelve las clases padre de la clase dada.

class_implements
class_uses
Funciones SPL
PHP Manual

class_parents

(PHP 5 >= 5.1.0)

class_parents — Devuelve las clases padre de la clase dada.

Descripción

array class_parents ( mixed $class [, bool $autoload = true ] )

Esta función devuelve un array con los nombres de las clases padre de la class dada.

Parámetros

class

Un objeto (instancia de clase) o un string (nombre de clase).

autoload

Establece si se va a permitir que la clase se cargue automáticamente a a través del método mágico __autoload().

Valores devueltos

Un array en caso de éxito, o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.1.0 | Añadida la opción para pasar el parámetro class como un string. Añadido el parámetro autoload.

Ejemplos

Ejemplo #1 Ejemplo de class_parents()

<?php

class foo { }
class bar extends foo {}

print_r(class_parents(new bar));

// desde PHP 5.1.0 se puede especificar el parámetro como un string
print_r(class_parents('bar'));

function __autoload($class_name) {
   require_once $class_name . '.php';
}

// uso de __autoload para cargar la clase 'not_loaded'
print_r(class_parents('not_loaded', true));
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [foo] => foo
)

Array
(
    [parent_of_not_loaded] => parent_of_not_loaded
)

Ver también

  • class_implements() - Devuelve las interfaces que son implementadas en la clase dada

class_implements
class_uses
Funciones SPL


Devolver los "traits" usados por la clase dada

class_parents
iterator_apply
Funciones SPL
PHP Manual

class_uses

(PHP 5 >= 5.4.0)

class_uses — Devolver los "traits" usados por la clase dada

Descripción

array class_uses ( mixed $class [, bool $autoload = true ] )

Esta función devuelve un array con los nombres de los "traits" que usa la class dada. Sin embargo, esto no incluye ningún "trait" usado por una clase padre.

Parámetros

class

Un objeto (instancia de clase) o una cadena (nombre de clase).

autoload

Si permitir a esta función cargar la clase automáticamente a través del método mágico __autoload().

Valores devueltos

Un array en caso de éxito, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de class_uses()

<?php

trait foo { }
class bar {
  use foo;
}

print_r(class_uses(new bar));

print_r(class_uses('bar'));

function __autoload($nombre_clase) {
   require_once $nombre_clase . '.php';
}

// use __autoload para cargar la clase 'no_cargada'
print_r(class_uses('no_cargada', true));
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [foo] => foo
)

Array
(
    [foo] => foo
)

Array
(
    [trait_of_not_loaded] => trait_of_not_loaded
)

Ver también

  • class_parents() - Devuelve las clases padre de la clase dada.
  • get_declared_traits() - Devuelve un array de todos los traits declarados

class_parents
iterator_apply
Funciones SPL


Llama una función para cada elemento en un iterador

class_uses
iterator_count
Funciones SPL
PHP Manual

iterator_apply

(PHP 5 >= 5.1.0)

iterator_apply — Llama una función para cada elemento en un iterador

Descripción

int iterator_apply ( Traversable $iterator , callable $function [, array $args ] )

Llamar una función para cada elemento en un iterador.

Parámetros

iterator

La clase a ser iterada.

function

La función de llamada de recorno a llamar para cada elemento.

Nota: Esta función debe retornar TRUE para con el fin de seguir con la iterando el iterator.

args

Argumentos que van a ser pasados a la función de llamada de retorno.

Valores devueltos

Devuelve el número de iteraciones.

Ejemplos

Ejemplo #1 Ejemplo de iterator_apply()

<?php
function print_caps(Iterator $iterator) {
    echo strtoupper($iterator->current()) . "\n";
    return TRUE;
}

$it = new ArrayIterator(array("Manzanas", "Bananas", "Cerezas"));
iterator_apply($it, "print_caps", array($it));
?>

El resultado del ejemplo sería:

MANZANAS
BANANAS
CEREZAS

Ver también

  • array_walk() - Aplicar una función de usuario a cada miembro de un array

class_uses
iterator_count
Funciones SPL


Contar los elementos en un iterador

iterator_apply
iterator_to_array
Funciones SPL
PHP Manual

iterator_count

(PHP 5 >= 5.1.0)

iterator_count — Contar los elementos en un iterador

Descripción

int iterator_count ( Traversable $iterator )

Contar los elementos en un iterador.

Parámetros

iterator

El iterador a ser contado.

Valores devueltos

El número de elementos en el iterator.

Ejemplos

Ejemplo #1 Ejemplo de iterator_count()

<?php
$iterator = new ArrayIterator(array('recipe'=>'panqueques', 'huevo', 'leche', 'harina'));
var_dump(iterator_count($iterator));
?>

El resultado del ejemplo sería:

int(4)

iterator_apply
iterator_to_array
Funciones SPL


Copia el iterador en un array

iterator_count
spl_autoload_call
Funciones SPL
PHP Manual

iterator_to_array

(PHP 5 >= 5.1.0)

iterator_to_array — Copia el iterador en un array

Descripción

array iterator_to_array ( Traversable $iterator [, bool $use_keys = true ] )

Copia los elementos de un iterador en un array.

Parámetros

iterator

El iterador a ser copiado.

use_keys

Si se desea usar las claves del elemento iterador como un índice.

En PHP 5.5 y posterior, si una clave es un array u object, se generará una advertencia. Las claves NULL serán convertidas a un string vacío, las claves double serán truncadas a su equivalente integer, las claves resource generarán una advertencia y serán convertidas a sus ID de recursos, y las claves boolean serán convertidas a enteros.

Valores devueltos

Un array que contiene los elementos del iterator.

Historial de cambios

Versión | Descripción
5.5.0 | iterator_to_array() adquiere soporte para tipos de claves diferentes a integer y string cuando el parámetro use_keys está habilitado.
5.2.1 | Añadido el parámetro use_keys.

Ejemplos

Ejemplo #1 Ejemplo de iterator_to_array()

<?php
$iterator = new ArrayIterator(array('recipe'=>'panqueques', 'huevo', 'leche', 'harina'));
var_dump(iterator_to_array($iterator, true));
var_dump(iterator_to_array($iterator, false));
?>

El resultado del ejemplo sería:

array(4) {
  ["recipe"]=>
  string(8) "panqueques"
  [0]=>
  string(3) "huevo"
  [1]=>
  string(4) "leche"
  [2]=>
  string(5) "harina"
}
array(4) {
  [0]=>
  string(8) "panqueques"
  [1]=>
  string(3) "huevo"
  [2]=>
  string(4) "leche"
  [3]=>
  string(5) "harina"
}

iterator_count
spl_autoload_call
Funciones SPL


Probar todos las funciones registradas __autoload() para cargar la clase solicitada

iterator_to_array
spl_autoload_extensions
Funciones SPL
PHP Manual

spl_autoload_call

(PHP 5 >= 5.1.2)

spl_autoload_call — Probar todos las funciones registradas __autoload() para cargar la clase solicitada

Descripción

void spl_autoload_call ( string $class_name )

Esta función puede ser usada manualmente para buscar una clase o interface usando las funciones registradas __autoload.

Parámetros

class_name

El nombre de la clase a ser buscada.

Valores devueltos

No devuelve ningún valor.

iterator_to_array
spl_autoload_extensions
Funciones SPL


Registrar y devolver las extensiones de ficheros predeterminadas para spl_autoload

spl_autoload_call
spl_autoload_functions
Funciones SPL
PHP Manual

spl_autoload_extensions

(PHP 5 >= 5.1.2)

spl_autoload_extensions — Registrar y devolver las extensiones de ficheros predeterminadas para spl_autoload

Descripción

string spl_autoload_extensions ([ string $file_extensions ] )

Esta función puede modificar y verificar las extensiones de ficheros que estará usando spl_autoload() en respaldo de la función interna __autoload().

Parámetros

file_extensions

Cuando se llama sin ningún argumento, simplemente devuelve la lista actual de extensiones separadas por comas. Para modificar la lista de extensiones de fichero, llame a las funciones con la nueva lista de extensiones de fichero a usar en una simple cadena con cada extensión serparada por una coma.

Valores devueltos

Una lista delimitada por comas de las extensiones predeterminadas de ficheros de para spl_autoload().

spl_autoload_call
spl_autoload_functions
Funciones SPL


Devolver todas las funciones __autoload() registradas

spl_autoload_extensions
spl_autoload_register
Funciones SPL
PHP Manual

spl_autoload_functions

(PHP 5 >= 5.1.2)

spl_autoload_functions — Devolver todas las funciones __autoload() registradas

Descripción

array spl_autoload_functions ( void )

Obtiene todas las funciones __autoload() registradas.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un array con todas las funciones __autoload registradas. Si la pila de autocarga no está activada, el valor devuelto es FALSE. Si no hay ninguna función registrada, el valor devuelto será un array vacío.

spl_autoload_extensions
spl_autoload_register
Funciones SPL


Registrar las funciones dadas como implementación de __autoload()

spl_autoload_functions
spl_autoload_unregister
Funciones SPL
PHP Manual

spl_autoload_register

(PHP 5 >= 5.1.2)

spl_autoload_register — Registrar las funciones dadas como implementación de __autoload()

Descripción

bool spl_autoload_register ([ callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]] )

Registra una función con la pila __autoload() proporcionada de spl. Si la pila aún no ha sido activa será activada.

Si el código contiene una función __autoload() existente, dicha función debe estar explícitamente registrada en la pila __autoload. Esto es porque spl_autoload_register()() de hecho reemplazará la caché del motor para la función __autoload() por spl_autoload()() o spl_autoload_call()().

Si deben haber múltiples funciones de autocarga, spl_autoload_register() lo permitie. De hecho crea una cola de funciones de autocarga y repasa cada una de ellas en el orden en que fueron definidas. Por el contrario, __autoload() sólo puede definirse una vez.

Parámetros

autoload_function

La función de autocarga a ser registrada. Si no se proporciona ningún parámetro, será registrada la implementación predeterminada de spl_autoload().

throw

Este parámetro especifica si spl_autoload_register() debería lanzar excepciones cuando el parámetro autoload_function no puede ser registrado.

prepend

Si es true, spl_autoload_register() añadirá al principio el autocargador en la pila de autocarga en vez de añadirlo al final.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.3.0 | Se introdujo soporte para espacios de nombre.
5.3.0 | Se añadio el parámetro prepend.

Ejemplos

Ejemplo #1 spl_autoload_register() como sustituto de una función __autoload()

<?php

// function __autoload($clase) {
//     include 'clases/' . $clase . '.clase.php';
// }

function mi_autocargador($clase) {
    include 'clases/' . $clase . '.clase.php';
}

spl_autoload_register('mi_autocargador');

// O, usando una función anónima a partir de PHP 5.3.0
spl_autoload_register(function ($clase) {
    include 'clases/' . $clase . '.clase.php';
});

?>

Ejemplo #2 Ejemplo de spl_autoload_register() donde la clase no es cargada

<?php

namespace Foobar;

class Foo {
    static public function test($nombre) {
        print '[['. $nombre .']]';
    }
}

spl_autoload_register(__NAMESPACE__ .'\Foo::test'); // A partir de PHP 5.3.0

new ClaseInexistente;

?>

El resultado del ejemplo sería algo similar a:

[[Foobar\InexistentClass]]
Fatal error: Class 'Foobar\ClaseInexistente' not found in ...

Ver también

  • __autoload() - Intenta cargar una clase sin definir

spl_autoload_functions
spl_autoload_unregister
Funciones SPL


Desregistrar una función dada como implementadión de __autoload()

spl_autoload_register
spl_autoload
Funciones SPL
PHP Manual

spl_autoload_unregister

(PHP 5 >= 5.1.2)

spl_autoload_unregister — Desregistrar una función dada como implementadión de __autoload()

Descripción

bool spl_autoload_unregister ( mixed $autoload_function )

Desregistra una función de la pila de __autoload proporcionada de spl. Si la pila está desactivada y vacía después de desregistrar la función dada, será desactivada.

Cuando esta función resulta en la desactivación de la pila de autocarga, cualquier función __autoload que existía previamente no será reactivada.

Parámetros

autoload_function

La función de autocarga a ser desregistrada.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

spl_autoload_register
spl_autoload
Funciones SPL


Implementación predeterminada para __autoload()

spl_autoload_unregister
spl_classes
Funciones SPL
PHP Manual

spl_autoload

(PHP 5 >= 5.1.2)

spl_autoload — Implementación predeterminada para __autoload()

Descripción

void spl_autoload ( string $class_name [, string $file_extensions = spl_autoload_extensions() ] )

Esta función pretende usarse como una implementación predeterminada para __autoload(). Si no se especifica nada más y spl_autoload_register() es llamada sin ningún parámetro, esta función será usada para cualquier llamada posterior a __autoload().

Parámetros

class_name

El nombre de la clase en minúsculas (y espacio de nombres) que va ser instanciado.

file_extensions

Por omisión comprueba todas las rutas de inclusión que contienen nombres de fichero acumulados por el nombre de la clase en minúsculas añadida por las extensiones de nombre de fichero .inc y .php.

Valores devueltos

No devuelve ningún valor.

spl_autoload_unregister
spl_classes
Funciones SPL


Devuelve las clases SPL disponibles

spl_autoload
spl_object_hash
Funciones SPL
PHP Manual

spl_classes

(PHP 5)

spl_classes — Devuelve las clases SPL disponibles

Descripción

array spl_classes ( void )

Esta función devuelve un array con las clases SPL actualmente disponibles.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un array que contiene las clases SPL actualmente disponibles.

Ejemplos

Ejemplo #1 Ejemplo de spl_classes()

<?php

print_r(spl_classes());

?>

El resultado del ejemplo sería algo similar a:

Array
(
    [ArrayObject] => ArrayObject
    [ArrayIterator] => ArrayIterator
    [CachingIterator] => CachingIterator
    [RecursiveCachingIterator] => RecursiveCachingIterator
    [DirectoryIterator] => DirectoryIterator
    [FilterIterator] => FilterIterator
    [LimitIterator] => LimitIterator
    [ParentIterator] => ParentIterator
    [RecursiveDirectoryIterator] => RecursiveDirectoryIterator
    [RecursiveIterator] => RecursiveIterator
    [RecursiveIteratorIterator] => RecursiveIteratorIterator
    [SeekableIterator] => SeekableIterator
    [SimpleXMLIterator] => SimpleXMLIterator
)

spl_autoload
spl_object_hash
Funciones SPL


Devuelve el hash id del objeto dado

spl_classes
Manejo de ficheros
Funciones SPL
PHP Manual

spl_object_hash

(PHP 5 >= 5.2.0)

spl_object_hash — Devuelve el hash id del objeto dado

Descripción

string spl_object_hash ( object $obj )

Esta función devuelve un identificador único del objeto. Este id puede ser usado como una clave hash para almacenar objetos o para identificar un objeto.

Parámetros

object

Cualquier objeto.

Valores devueltos

Un string que es único para cada objeto que existe actualmente y siempre es el mismo para cada objeto.

Ejemplos

Ejemplo #1 Ejemplo de spl_object_hash()

<?php
$id = spl_object_hash($object);
$storage[$id] = $object;
?>

Notas

Nota:

Cuando un objeto es destruido, este hash puede ser reutilizado para otros objetos.

spl_classes
Manejo de ficheros
Funciones SPL


Manejo de ficheros

Tabla de contenidos

  • SplFileInfo
  • SplFileObject
  • SplTempFileObject

SPL proporciona una serie de clases para trabajar con ficheros.

spl_object_hash
SplFileInfo
SPL


La clase SplFileInfo

(PHP 5 >= 5.1.2)

Introducción

La clase SplFileInfo ofrece un interfaz de alto nivel orientado a objetos para la información de un fichero individual.

Sinopsis de la Clase

SplFileInfo {
/* Métodos */
public __construct ( string $file_name )
public int getATime ( void )
public string getBasename ([ string $suffix ] )
public int getCTime ( void )
public string getExtension ( void )
public SplFileInfo getFileInfo ([ string $class_name ] )
public string getFilename ( void )
public int getGroup ( void )
public int getInode ( void )
public string getLinkTarget ( void )
public int getMTime ( void )
public int getOwner ( void )
public string getPath ( void )
public SplFileInfo getPathInfo ([ string $class_name ] )
public string getPathname ( void )
public int getPerms ( void )
public string getRealPath ( void )
public int getSize ( void )
public string getType ( void )
public bool isDir ( void )
public bool isExecutable ( void )
public bool isFile ( void )
public bool isLink ( void )
public bool isReadable ( void )
public bool isWritable ( void )
public SplFileObject openFile ([ string $open_mode = r [, bool $use_include_path = false [, resource $context = NULL ]]] )
public void setFileClass ([ string $class_name ] )
public void setInfoClass ([ string $class_name ] )
public void __toString ( void )
}

Tabla de contenidos

  • SplFileInfo::__construct — Construir un objeto nuevo SplFileInfo
  • SplFileInfo::getATime — Obtiene la hora del último acceso al fichero
  • SplFileInfo::getBasename — Obtiene el nombre base del fichero
  • SplFileInfo::getCTime — Obtiene el i-nodo de el cambio de tiempo
  • SplFileInfo::getExtension — Obtiene la extensión del fichero
  • SplFileInfo::getFileInfo — Obtiene un objeto SplFileInfo para el fichero
  • SplFileInfo::getFilename — Obtiene el nombre del fichero
  • SplFileInfo::getGroup — Obtiene el grupo de el fichero
  • SplFileInfo::getInode — Obtiene el i-nodo de el fichero
  • SplFileInfo::getLinkTarget — Obtiene el destino de un enlace del sistema de ficheros
  • SplFileInfo::getMTime — Obtiene la fecha de la última modificación
  • SplFileInfo::getOwner — Obtiene el dueño de el fichero
  • SplFileInfo::getPath — Obtiene la ruta sin el nombre de fichero
  • SplFileInfo::getPathInfo — Obtiene un objeto SplFileInfo para la ruta
  • SplFileInfo::getPathname — Obtiene la ruta de un fichero
  • SplFileInfo::getPerms — Obtiene los permisos del fichero
  • SplFileInfo::getRealPath — Obtiene la ruta absoluta al fichero
  • SplFileInfo::getSize — Obtiene el tamaño de el fichero
  • SplFileInfo::getType — Obtiene el tipo del fichero
  • SplFileInfo::isDir — Dice si el fichero es un directorio
  • SplFileInfo::isExecutable — Comprueba si el fichero es ejecutable
  • SplFileInfo::isFile — Dice is el objeto hace referencia a un fichero normal
  • SplFileInfo::isLink — Comprueba si el fichero es un link
  • SplFileInfo::isReadable — Comprueba si el fichero se puede leer
  • SplFileInfo::isWritable — Comprueba si se puede escribir en el fichero
  • SplFileInfo::openFile — Obtiene un objeto SplFileObject para el fichero
  • SplFileInfo::setFileClass — Establece el nombre ee clase usado con SplFileInfo::openFile
  • SplFileInfo::setInfoClass — Establece la clase usada con getFileInfo y getPathInfo
  • SplFileInfo::__toString — Devuelve la ruta de el fichero como un string
Manejo de ficheros
SplFileInfo::__construct
Manejo de ficheros


Construir un objeto nuevo SplFileInfo

SplFileInfo
SplFileInfo::getATime
SplFileInfo
PHP Manual

SplFileInfo::__construct

(PHP 5 >= 5.1.2)

SplFileInfo::__construct — Construir un objeto nuevo SplFileInfo

Descripción

public SplFileInfo::__construct ( string $file_name )

Crea un nuevo objeto para el SplFileInfo nombre_archivo especificado. El fichero no tiene por qué existir, o ser de lectura.

Parámetros

file_name

Ruta del fichero.

Ejemplos

Ejemplo #1 SplFileInfo::__construct() ejemplo

<?php
$info = new SplFileInfo('example.php');
if ($info->isFile()) {
    echo $info->getRealPath();
}
?>

SplFileInfo
SplFileInfo::getATime
SplFileInfo


Obtiene la hora del último acceso al fichero

SplFileInfo::__construct
SplFileInfo::getBasename
SplFileInfo
PHP Manual

SplFileInfo::getATime

(PHP 5 >= 5.1.2)

SplFileInfo::getATime — Obtiene la hora del último acceso al fichero

Descripción

public int SplFileInfo::getATime ( void )

Obtiene la hora del último acceso al fichero.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el tiempo del ultimo acceso al fichero.

Errores/Excepciones

Lanza RunTimeException en caso de error.

Ver también

  • fileatime() - Obtiene el momento del último acceso a un archivo

SplFileInfo::__construct
SplFileInfo::getBasename
SplFileInfo


Obtiene el nombre base del fichero

SplFileInfo::getATime
SplFileInfo::getCTime
SplFileInfo
PHP Manual

SplFileInfo::getBasename

(PHP 5 >= 5.2.2)

SplFileInfo::getBasename — Obtiene el nombre base del fichero

Descripción

public string SplFileInfo::getBasename ([ string $suffix ] )

Este método devuelve el nombre base del fichero, directorio o enlace sin informacion de la ruta de acceso.

Parámetros

suffix

Sufijo opcional para omitir el nombre de la base devuelta.

Valores devueltos

Devuelve el nombre de la base, sin información de la ruta de acceso.

Ejemplos

Ejemplo #1 SplFileInfo::getBasename()ejemplo

<?php
$info = new SplFileInfo('file.txt');
var_dump($info->getBasename());

$info = new SplFileInfo('/path/to/file.txt');
var_dump($info->getBasename());

$info = new SplFileInfo('/path/to/file.txt');
var_dump($info->getBasename('.txt'));
?>

El resultado del ejemplo sería algo similar a:

string(8) "file.txt"
string(8) "file.txt"
string(4) "file"

Ver también

  • SplFileInfo::getFilename() - Obtiene el nombre del fichero

SplFileInfo::getATime
SplFileInfo::getCTime
SplFileInfo


Obtiene el i-nodo de el cambio de tiempo

SplFileInfo::getBasename
SplFileInfo::getExtension
SplFileInfo
PHP Manual

SplFileInfo::getCTime

(PHP 5 >= 5.1.2)

SplFileInfo::getCTime — Obtiene el i-nodo de el cambio de tiempo

Descripción

public int SplFileInfo::getCTime ( void )

Devuelve el i-nodo de el cambio de tiempo para el fichero. El tiempo es retornado en formato Unix timestamp.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El último cambio del tiempo, en formato Unix timestamp.

Errores/Excepciones

Lanza una RunTimeException en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de SplFileInfo::getCTime()

<?php
$info = new SplFileInfo(__FILE__);
echo 'El último cambio ' . date('g:i a', $info->getCTime());
?>

El resultado del ejemplo sería algo similar a:

El último cambio 1:49 pm

Ver también

  • filectime() - Obtiene el momento del último cambio del i-nodo de un archivo

SplFileInfo::getBasename
SplFileInfo::getExtension
SplFileInfo


Obtiene la extensión del fichero

SplFileInfo::getCTime
SplFileInfo::getFileInfo
SplFileInfo
PHP Manual

SplFileInfo::getExtension

(PHP 5 >= 5.3.6)

SplFileInfo::getExtension — Obtiene la extensión del fichero

Descripción

public string SplFileInfo::getExtension ( void )

Devuelve la extensión del fichero.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un string que contiene la extensión del fichero, o un vacío string si el archivo no tiene extensión.

Ejemplos

Ejemplo #1 SplFileInfo::getExtension() ejemplo

<?php

$info = new SplFileInfo('foo.txt');
var_dump($info->getExtension());

$info = new SplFileInfo('photo.jpg');
var_dump($info->getExtension());

$info = new SplFileInfo('something.tar.gz');
var_dump($info->getExtension());

?>

El resultado del ejemplo sería:

string(3) "txt"
string(3) "jpg"
string(2) "gz"

Notas

Nota:

Este método sólo está disponible a partir de PHP 5.3.6. Otra forma de obtener la extensión es usar la función pathinfo().

<?php
$extension = pathinfo($info->getFilename(), PATHINFO_EXTENSION);
?>

Ver también

  • SplFileInfo::getFilename() - Obtiene el nombre del fichero
  • SplFileInfo::getBasename() - Obtiene el nombre base del fichero
  • pathinfo() - Devuelve información acerca de la ruta de un fichero
SplFileInfo::getCTime
SplFileInfo::getFileInfo
SplFileInfo


Obtiene un objeto SplFileInfo para el fichero

SplFileInfo::getExtension
SplFileInfo::getFilename
SplFileInfo
PHP Manual

SplFileInfo::getFileInfo

(PHP 5 >= 5.1.2)

SplFileInfo::getFileInfo — Obtiene un objeto SplFileInfo para el fichero

Descripción

public SplFileInfo SplFileInfo::getFileInfo ([ string $class_name ] )

Este método obtiene un objeto SplFileInfo para el fichero de referencia.

Parámetros

class_name

Nombre de una clase SplFileInfo derivada de su uso.

Valores devueltos

Un objeto SplFileInfo creado para el fichero.

Ver también

  • SplFileInfo::setInfoClass() - Establece la clase usada con getFileInfo y getPathInfo

SplFileInfo::getExtension
SplFileInfo::getFilename
SplFileInfo


Obtiene el nombre del fichero

SplFileInfo::getFileInfo
SplFileInfo::getGroup
SplFileInfo
PHP Manual

SplFileInfo::getFilename

(PHP 5 >= 5.1.2)

SplFileInfo::getFilename — Obtiene el nombre del fichero

Descripción

public string SplFileInfo::getFilename ( void )

Obtiene el nombre del fichero sin ningún tipo de información de la ruta de acceso.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El nombre del fichero.

Ejemplos

Ejemplo #1 SplFileInfo::getFilename() ejemplo

<?php
$info = new SplFileInfo('foo.txt');
var_dump($info->getFilename());

$info = new SplFileInfo('/path/to/foo.txt');
var_dump($info->getFilename());

$info = new SplFileInfo('http://www.php.net/');
var_dump($info->getFilename());

$info = new SplFileInfo('http://www.php.net/svn.php');
var_dump($info->getFilename());
?>

El resultado del ejemplo sería algo similar a:

string(7) "foo.txt"
string(7) "foo.txt"
string(0) ""
string(7) "svn.php"

Ver también

  • SplFileInfo::getBasename() - Obtiene el nombre base del fichero

SplFileInfo::getFileInfo
SplFileInfo::getGroup
SplFileInfo


Obtiene el grupo de el fichero

SplFileInfo::getFilename
SplFileInfo::getInode
SplFileInfo
PHP Manual

SplFileInfo::getGroup

(PHP 5 >= 5.1.2)

SplFileInfo::getGroup — Obtiene el grupo de el fichero

Descripción

public int SplFileInfo::getGroup ( void )

Obtiene el grupo del fichero. El ID del grupo es retornado en formato numérico.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El ID del grupo en formato numérico.

Errores/Excepciones

Lanza una RuntimeException en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de SplFileInfo::getGroup()

<?php
$info = new SplFileInfo(__FILE__);
print_r(posix_getgrgid($info->getGroup()));
?>

El resultado del ejemplo sería algo similar a:

Ver también

  • posix_getgrgid() - Devolver información sobre un grupo mediante un id de grupo

SplFileInfo::getFilename
SplFileInfo::getInode
SplFileInfo


Obtiene el i-nodo de el fichero

SplFileInfo::getGroup
SplFileInfo::getLinkTarget
SplFileInfo
PHP Manual

SplFileInfo::getInode

(PHP 5 >= 5.1.2)

SplFileInfo::getInode — Obtiene el i-nodo de el fichero

Descripción

public int SplFileInfo::getInode ( void )

Obtiene el número de i-nodo de el objeto filesystem.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el número de i-nodo de el objeto filesystem.

Errores/Excepciones

Lanza una RuntimeException en caso de error.

Ver también

  • fileinode() - Obtiene el i-nodo del archivo

SplFileInfo::getGroup
SplFileInfo::getLinkTarget
SplFileInfo


Obtiene el destino de un enlace del sistema de ficheros

SplFileInfo::getInode
SplFileInfo::getMTime
SplFileInfo
PHP Manual

SplFileInfo::getLinkTarget

(PHP 5 >= 5.2.2)

SplFileInfo::getLinkTarget — Obtiene el destino de un enlace del sistema de ficheros

Descripción

public string SplFileInfo::getLinkTarget ( void )

Obtiene el destino de un enlace del sistema de ficheros.

Nota:

El destino no puede ser una ruta real en el sistema de ficheros. Use SplFileInfo::getRealPath() para determinar la ruta verdadera en el sistema de fucheros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el destino de el enlace del sistema de ficheros.

Errores/Excepciones

Lanza una RuntimeException en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de SplFileInfo::getLinkTarget()

<?php
$info = new SplFileInfo('/Users/bbieber/workspace');
if ($info->isLink()) {
    var_dump($info->getLinkTarget());
    var_dump($info->getRealPath());
}
?>

El resultado del ejemplo sería algo similar a:

string(19) "Documents/workspace"
string(34) "/Users/bbieber/Documents/workspace"

Ver también

  • SplFileInfo::isLink() - Comprueba si el fichero es un link
  • SplFileInfo::getRealPath() - Obtiene la ruta absoluta al fichero

SplFileInfo::getInode
SplFileInfo::getMTime
SplFileInfo


Obtiene la fecha de la última modificación

SplFileInfo::getLinkTarget
SplFileInfo::getOwner
SplFileInfo
PHP Manual

SplFileInfo::getMTime

(PHP 5 >= 5.1.2)

SplFileInfo::getMTime — Obtiene la fecha de la última modificación

Descripción

public int SplFileInfo::getMTime ( void )

Devuelve el tiempo cuando el contenido de el fichero ha sido cambiado. El tiempo retornado en formato Unix timestamp.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la fecha de modificación de el fichero, en formato Unix timestamp.

Ver también

  • filemtime() - Obtiene el momento de la última modificación de un archivo

SplFileInfo::getLinkTarget
SplFileInfo::getOwner
SplFileInfo


Obtiene el dueño de el fichero

SplFileInfo::getMTime
SplFileInfo::getPath
SplFileInfo
PHP Manual

SplFileInfo::getOwner

(PHP 5 >= 5.1.2)

SplFileInfo::getOwner — Obtiene el dueño de el fichero

Descripción

public int SplFileInfo::getOwner ( void )

Obtiene el dueño de el fichero. El ID del dueño retornado en formato numérico.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El id del dueño en formato numérico.

Errores/Excepciones

Lanza una RuntimeException en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de SplFileInfo::getOwner()

<?php
$info = new SplFileInfo('file.txt');
print_r(posix_getpwuid($info->getOwner()));
?>

Ver también

  • posix_getpwuid() - Devolver información sobre un usuario mediante el id de usuario
  • SplFileInfo::getGroup() - Obtiene el grupo de el fichero

SplFileInfo::getMTime
SplFileInfo::getPath
SplFileInfo


Obtiene la ruta sin el nombre de fichero

SplFileInfo::getOwner
SplFileInfo::getPathInfo
SplFileInfo
PHP Manual

SplFileInfo::getPath

(PHP 5 >= 5.1.2)

SplFileInfo::getPath — Obtiene la ruta sin el nombre de fichero

Descripción

public string SplFileInfo::getPath ( void )

Devuelve la ruta de el fichero, omitiendo el nombre del fichero y cualquier barra.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la ruta a el fichero.

Ejemplos

Ejemplo #1 Ejemplo de SplFileInfo::getPath()

<?php
$info = new SplFileInfo('/usr/bin/php');
var_dump($info->getPath());

$info = new SplFileInfo('/usr/');
var_dump($info->getPath());?>

El resultado del ejemplo sería algo similar a:

string(8) "/usr/bin"
string(4) "/usr"

Ver también

  • SplFileInfo::getRealPath() - Obtiene la ruta absoluta al fichero
  • SplFileInfo::getFilename() - Obtiene el nombre del fichero
  • SplFileInfo::getPathInfo() - Obtiene un objeto SplFileInfo para la ruta

SplFileInfo::getOwner
SplFileInfo::getPathInfo
SplFileInfo


Obtiene un objeto SplFileInfo para la ruta

SplFileInfo::getPath
SplFileInfo::getPathname
SplFileInfo
PHP Manual

SplFileInfo::getPathInfo

(PHP 5 >= 5.1.2)

SplFileInfo::getPathInfo — Obtiene un objeto SplFileInfo para la ruta

Descripción

public SplFileInfo SplFileInfo::getPathInfo ([ string $class_name ] )

Obtiene un objeto SplFileInfo para el padre de el fichero actual.

Parámetros

class_name

Nombre de una clase SplFileInfo derivada a usar.

Valores devueltos

Devuelve un objeto SplFileInfo para la ruta padre de el fichero.

Ejemplos

Ejemplo #1 Ejemplo de SplFileInfo::getPathInfo()

<?php
$info = new SplFileInfo('/usr/bin/php');
$parent_info = $info->getPathInfo();
var_dump($parent_info->getRealPath());
?>

El resultado del ejemplo sería algo similar a:

string(8) "/usr/bin"

Ver también

  • SplFileInfo::setInfoClass() - Establece la clase usada con getFileInfo y getPathInfo

SplFileInfo::getPath
SplFileInfo::getPathname
SplFileInfo


Obtiene la ruta de un fichero

SplFileInfo::getPathInfo
SplFileInfo::getPerms
SplFileInfo
PHP Manual

SplFileInfo::getPathname

(PHP 5 >= 5.1.2)

SplFileInfo::getPathname — Obtiene la ruta de un fichero

Descripción

public string SplFileInfo::getPathname ( void )

Devuelve la ruta de el fichero.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

la ruta de el fichero.

Ejemplos

Ejemplo #1 Ejemplo de SplFileInfo::getPathname()

<?php
$info = new SplFileInfo('/usr/bin/php');
var_dump($info->getPathname());
?>

El resultado del ejemplo sería algo similar a:

string(12) "/usr/bin/php"

Ver también

  • SplFileInfo::getRealPath() - Obtiene la ruta absoluta al fichero

SplFileInfo::getPathInfo
SplFileInfo::getPerms
SplFileInfo


Obtiene los permisos del fichero

SplFileInfo::getPathname
SplFileInfo::getRealPath
SplFileInfo
PHP Manual

SplFileInfo::getPerms

(PHP 5 >= 5.1.2)

SplFileInfo::getPerms — Obtiene los permisos del fichero

Descripción

public int SplFileInfo::getPerms ( void )

Obtiene los permisos del fichero.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve los permisos de el fichero.

Ejemplos

Ejemplo #1 Ejemplo de SplFileInfo::getPerms()

<?php
$info = new SplFileInfo('/tmp');
echo substr(sprintf('%o', $info->getPerms()), -4);

$info = new SplFileInfo(__FILE__);
echo substr(sprintf('%o', $info->getPerms()), -4);
?>

El resultado del ejemplo sería algo similar a:

1777
0644

SplFileInfo::getPathname
SplFileInfo::getRealPath
SplFileInfo


Obtiene la ruta absoluta al fichero

SplFileInfo::getPerms
SplFileInfo::getSize
SplFileInfo
PHP Manual

SplFileInfo::getRealPath

(PHP 5 >= 5.2.2)

SplFileInfo::getRealPath — Obtiene la ruta absoluta al fichero

Descripción

public string SplFileInfo::getRealPath ( void )

Este método expande todos los enlaces simbólicos, resuelve las referencias relativas y retorna la ruta real de el fichero.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la ruta a el fichero.

Ejemplos

Ejemplo #1 Ejemplo de SplFileInfo::getRealPath()

<?php
$info = new SplFileInfo('/..//./../../'.__FILE__);
var_dump($info->getRealPath());

$info = new SplFileInfo('/tmp');
var_dump($info->getRealPath());
?>

El resultado del ejemplo sería algo similar a:

string(28) "/private/tmp/phptempfile.php"
string(12) "/private/tmp"

Ver también

  • SplFileInfo::isLink() - Comprueba si el fichero es un link

SplFileInfo::getPerms
SplFileInfo::getSize
SplFileInfo


Obtiene el tamaño de el fichero

SplFileInfo::getRealPath
SplFileInfo::getType
SplFileInfo
PHP Manual

SplFileInfo::getSize

(PHP 5 >= 5.1.2)

SplFileInfo::getSize — Obtiene el tamaño de el fichero

Descripción

public int SplFileInfo::getSize ( void )

Devuelve el tamaño de el fichero en bytes para el fichero referenciado.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El tamaño del fichero en bytes.

Errores/Excepciones

Lanza una RuntimeException si el fichero no existe o en caso de error.

Ver también

  • filesize() - Obtiene el tamaño de un fichero

SplFileInfo::getRealPath
SplFileInfo::getType
SplFileInfo


Obtiene el tipo del fichero

SplFileInfo::getSize
SplFileInfo::isDir
SplFileInfo
PHP Manual

SplFileInfo::getType

(PHP 5 >= 5.1.2)

SplFileInfo::getType — Obtiene el tipo del fichero

Descripción

public string SplFileInfo::getType ( void )

Devuelve el tipo de el fichero referenciado.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un string representando el tipo de la entrada. Puede ser file, link, o dir

Errores/Excepciones

Lanza una RuntimeException en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de SplFileInfo::getType()

<?php

$info = new SplFileInfo(__FILE__);
echo $info->getType().PHP_EOL;

$info = new SplFileInfo(dirname(__FILE__));
echo $info->getType();

?>

El resultado del ejemplo sería algo similar a:

file
dir

SplFileInfo::getSize
SplFileInfo::isDir
SplFileInfo


Dice si el fichero es un directorio

SplFileInfo::getType
SplFileInfo::isExecutable
SplFileInfo
PHP Manual

SplFileInfo::isDir

(PHP 5 >= 5.1.2)

SplFileInfo::isDir — Dice si el fichero es un directorio

Descripción

public bool SplFileInfo::isDir ( void )

Este método puede ser usado para determinar si el fichero es un directorio.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si es un directorio, FALSE en caso contrario.

Ejemplos

Ejemplo #1 Ejemplo de SplFileInfo::isDir()

<?php
$d = new SplFileInfo(dirname(__FILE__));
var_dump($d->isDir());

$d = new SplFileInfo(__FILE__);
var_dump($d->isDir());
?>

El resultado del ejemplo sería algo similar a:

bool(true)
bool(false)

SplFileInfo::getType
SplFileInfo::isExecutable
SplFileInfo


Comprueba si el fichero es ejecutable

SplFileInfo::isDir
SplFileInfo::isFile
SplFileInfo
PHP Manual

SplFileInfo::isExecutable

(PHP 5 >= 5.1.2)

SplFileInfo::isExecutable — Comprueba si el fichero es ejecutable

Descripción

public bool SplFileInfo::isExecutable ( void )

Comprueba si el fichero es ejecutable.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si es ejecutable, en caso contrario FALSE.

Ejemplos

Ejemplo #1 Ejemplo de SplFileInfo::isExecutable()

<?php
$info = new SplFileInfo('/usr/bin/php');
var_dump($info->isExecutable());

$info = new SplFileInfo('/usr/bin');
var_dump($info->isExecutable());

$info = new SplFileInfo('foo');
var_dump($info->isExecutable());
?>

El resultado del ejemplo sería algo similar a:

bool(true)
bool(true)
bool(false)

SplFileInfo::isDir
SplFileInfo::isFile
SplFileInfo


Dice is el objeto hace referencia a un fichero normal

SplFileInfo::isExecutable
SplFileInfo::isLink
SplFileInfo
PHP Manual

SplFileInfo::isFile

(PHP 5 >= 5.1.2)

SplFileInfo::isFile — Dice is el objeto hace referencia a un fichero normal

Descripción

public bool SplFileInfo::isFile ( void )

Comprueba si el fichero que el objecto SplFileInfo hace referencia existe es un fichero regular.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si el fichero existe y si es un fichero normal (no un enlace), FALSE en caso contrario.

Ejemplos

Ejemplo #1 Ejemplo de SplFileInfo::isFile()

<?php
$info = new SplFileInfo(__FILE__);
var_dump($info->isFile());

$info = new SplFileInfo(dirname(__FILE__));
var_dump($info->isFile());
?>

El resultado del ejemplo sería algo similar a:

bool(true)
bool(false)

SplFileInfo::isExecutable
SplFileInfo::isLink
SplFileInfo


Comprueba si el fichero es un link

SplFileInfo::isFile
SplFileInfo::isReadable
SplFileInfo
PHP Manual

SplFileInfo::isLink

(PHP 5 >= 5.1.2)

SplFileInfo::isLink — Comprueba si el fichero es un link

Descripción

public bool SplFileInfo::isLink ( void )

Use este método para comprobar si el fichero referenciado por el objeto SplFileInfo es un link.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si el fichero es un link, en caso contrario FALSE.

Ejemplos

Ejemplo #1 Ejemplo de SplFileInfo::isLink()

<?php
$info = new SplFileInfo('/path/to/symlink');
if ($info->isLink()) {
    echo 'The real path is '.$info->getRealPath();
}
?>

Ver también

  • SplFileInfo::getRealPath() - Obtiene la ruta absoluta al fichero

SplFileInfo::isFile
SplFileInfo::isReadable
SplFileInfo


Comprueba si el fichero se puede leer

SplFileInfo::isLink
SplFileInfo::isWritable
SplFileInfo
PHP Manual

SplFileInfo::isReadable

(PHP 5 >= 5.1.2)

SplFileInfo::isReadable — Comprueba si el fichero se puede leer

Descripción

public bool SplFileInfo::isReadable ( void )

Comprueba si el fichero se puede leer.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si se puede leer, en caso contrario FALSE.

Ejemplos

Ejemplo #1 Ejemplo de SplFileInfo::isReadable()

<?php
$info = new SplFileInfo(__FILE__);
var_dump($info->isReadable());

$info = new SplFileInfo('foo');
var_dump($info->isReadable());
?>

El resultado del ejemplo sería algo similar a:

bool(true)
bool(false)

SplFileInfo::isLink
SplFileInfo::isWritable
SplFileInfo


Comprueba si se puede escribir en el fichero

SplFileInfo::isReadable
SplFileInfo::openFile
SplFileInfo
PHP Manual

SplFileInfo::isWritable

(PHP 5 >= 5.1.2)

SplFileInfo::isWritable — Comprueba si se puede escribir en el fichero

Descripción

public bool SplFileInfo::isWritable ( void )

Comprueba si se puede escribir en el fichero actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si se puede escribir, en caso contrario FALSE;

SplFileInfo::isReadable
SplFileInfo::openFile
SplFileInfo


Obtiene un objeto SplFileObject para el fichero

SplFileInfo::isWritable
SplFileInfo::setFileClass
SplFileInfo
PHP Manual

SplFileInfo::openFile

(PHP 5 >= 5.1.2)

SplFileInfo::openFile — Obtiene un objeto SplFileObject para el fichero

Descripción

public SplFileObject SplFileInfo::openFile ([ string $open_mode = r [, bool $use_include_path = false [, resource $context = NULL ]]] )

Crea un object SplFileObject de el fichero. Esto es útil porque SplFileObject contiene otros métodos para manipular el fichero mientras que SplFileInfo sólo es útil para obtener información, por ejemplo si el fichero tiene permisos de escritura.

Parámetros

open_mode

El modo para abrir el fichero. Véase la documentación de fopen() para una descripción de los posibles modos. Por omisión es de sólo lectura.

use_include_path

Cuando está definido a TRUE, el fichero también es buscado dentro de include_path

context

Se refiere a context sección del manual para una descripción de contexts.

Valores devueltos

El fichero abierto como un objeto SplFileObject.

Errores/Excepciones

Lanza una RuntimeException si el fichero no se puede abrir (p.ej. permisos insuficientes).

Ejemplos

Ejemplo #1 Ejemplo de SplFileInfo::openFile()

<?php
$fileinfo = new SplFileInfo('/tmp/foo.txt');

if ($fileinfo->isWritable()) {

    $fileobj = $fileinfo->openFile('a');

    $fileobj->fwrite("Añadiendo este texto de prueba");
}
?>

Ver también

  • SplFileObject
  • stream_context_create() - Crear un contexto de flujo
  • fopen() - Abre un fichero o una URL

SplFileInfo::isWritable
SplFileInfo::setFileClass
SplFileInfo


Establece el nombre ee clase usado con SplFileInfo::openFile

SplFileInfo::openFile
SplFileInfo::setInfoClass
SplFileInfo
PHP Manual

SplFileInfo::setFileClass

(PHP 5 >= 5.1.2)

SplFileInfo::setFileClass — Establece el nombre ee clase usado con SplFileInfo::openFile()

Descripción

public void SplFileInfo::setFileClass ([ string $class_name ] )

Establece el nombre de clase que SplFileInfo usará para abrir ficheros cuando se llama a openFile(). El nombre de clase pasado a este método debe ser derivado de SplFileObject.

Parámetros

class_name

El nombre de clase a usar cuando openFile() es llamado.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de SplFileInfo::setFileClass()

<?php
// Crear una clase heredando a SplFileObject
class MiFoo extends SplFileObject {}

$info = new SplFileInfo(__FILE__);
// Establece la clase a usar
$info->setFileClass('MiFoo');
var_dump($info->openFile());
?>

El resultado del ejemplo sería algo similar a:

object(MiFoo)#2 (0) { }

Ver también

  • SplFileInfo::openFile() - Obtiene un objeto SplFileObject para el fichero

SplFileInfo::openFile
SplFileInfo::setInfoClass
SplFileInfo


Establece la clase usada con getFileInfo y getPathInfo

SplFileInfo::setFileClass
SplFileInfo::__toString
SplFileInfo
PHP Manual

SplFileInfo::setInfoClass

(PHP 5 >= 5.1.2)

SplFileInfo::setInfoClass — Establece la clase usada con getFileInfo y getPathInfo

Descripción

public void SplFileInfo::setInfoClass ([ string $class_name ] )

Use este mñetodo para establecer la clase personalizada que será usada cuando getFileInfo y getPathInfo son llamados. El nombre de clase llamado a este método debe ser derivado de SplFileInfo.

Parámetros

class_name

El nombre de clase a ser usado.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de SplFileInfo::setFileClass()

<?php
// Define una clase que hereda SplFileInfo
class MiFoo extends SplFileInfo {}

$info = new SplFileInfo('foo');
// Establece el nombre de clase a usar
$info->setInfoClass('MiFoo');
var_dump($info->getFileInfo());
?>

El resultado del ejemplo sería algo similar a:

object(MiFoo)#2 (0) { }

Ver también

  • SplFileInfo::getFileInfo() - Obtiene un objeto SplFileInfo para el fichero

SplFileInfo::setFileClass
SplFileInfo::__toString
SplFileInfo


Devuelve la ruta de el fichero como un string

SplFileInfo::setInfoClass
SplFileObject
SplFileInfo
PHP Manual

SplFileInfo::__toString

(PHP 5 >= 5.1.2)

SplFileInfo::__toString — Devuelve la ruta de el fichero como un string

Descripción

public void SplFileInfo::__toString ( void )

Este método retornará el nombre de fichero de el fichero referenciado.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la ruta a el fichero.

Ejemplos

Ejemplo #1 Ejemplo de SplFileInfo::__toString()

<?php
$info = new SplFileInfo('foo');
var_dump($info->__toString());
echo $info.PHP_EOL;

$info = new SplFileInfo('/usr/bin/php');
var_dump($info->__toString());
echo $info.PHP_EOL;
?>

El resultado del ejemplo sería algo similar a:

string(3) "foo"
foo
string(12) "/usr/bin/php"
/usr/bin/php

SplFileInfo::setInfoClass
SplFileObject
SplFileInfo


La clase SplFileObject

(PHP 5 >= 5.1.0)

Introducción

La clase SplFileObject ofrece una interfaz orientada a objetos para un fichero.

Sinopsis de la Clase

SplFileObject extends SplFileInfo implements RecursiveIterator , SeekableIterator {
/* Constantes */
const integer DROP_NEW_LINE = 1 ;
const integer READ_AHEAD = 2 ;
const integer SKIP_EMPTY = 4 ;
const integer READ_CSV = 8 ;
/* Métodos */
public __construct ( string $filename [, string $open_mode = "r" [, bool $use_include_path = false [, resource $context ]]] )
public string|array current ( void )
public bool eof ( void )
public bool fflush ( void )
public string fgetc ( void )
 public array fgetcsv
  ([ string $delimiter = ","
 [, string $enclosure = "\""
 [, string $escape = "\\"
]]] )
public string fgets ( void )
public string fgetss ([ string $allowable_tags ] )
public bool flock ( int $operation [, int &$wouldblock ] )
public int fpassthru ( void )
public int fputcsv ( array $fields [, string $delimiter = ',' [, string $enclosure = '"' ]] )
public mixed fscanf ( string $format [, mixed &$... ] )
public int fseek ( int $offset [, int $whence = SEEK_SET ] )
public array fstat ( void )
public int ftell ( void )
public bool ftruncate ( int $size )
public int fwrite ( string $str [, int $length ] )
public void getChildren ( void )
public array getCsvControl ( void )
public int getFlags ( void )
public int getMaxLineLen ( void )
public bool hasChildren ( void )
public int key ( void )
public void next ( void )
public void rewind ( void )
public void seek ( int $line_pos )
 public void setCsvControl
  ([ string $delimiter = ","
 [, string $enclosure = "\""
 [, string $escape = "\\"
]]] )
public void setFlags ( int $flags )
public void setMaxLineLen ( int $max_len )
public void __toString ( void )
public bool valid ( void )
/* Métodos heredados */
public SplFileInfo::__construct ( string $file_name )
public int SplFileInfo::getATime ( void )
public string SplFileInfo::getBasename ([ string $suffix ] )
public int SplFileInfo::getCTime ( void )
public string SplFileInfo::getExtension ( void )
public SplFileInfo SplFileInfo::getFileInfo ([ string $class_name ] )
public string SplFileInfo::getFilename ( void )
public int SplFileInfo::getGroup ( void )
public int SplFileInfo::getInode ( void )
public string SplFileInfo::getLinkTarget ( void )
public int SplFileInfo::getMTime ( void )
public int SplFileInfo::getOwner ( void )
public string SplFileInfo::getPath ( void )
public SplFileInfo SplFileInfo::getPathInfo ([ string $class_name ] )
public string SplFileInfo::getPathname ( void )
public int SplFileInfo::getPerms ( void )
public string SplFileInfo::getRealPath ( void )
public int SplFileInfo::getSize ( void )
public string SplFileInfo::getType ( void )
public bool SplFileInfo::isDir ( void )
public bool SplFileInfo::isExecutable ( void )
public bool SplFileInfo::isFile ( void )
public bool SplFileInfo::isLink ( void )
public bool SplFileInfo::isReadable ( void )
public bool SplFileInfo::isWritable ( void )
public SplFileObject SplFileInfo::openFile ([ string $open_mode = r [, bool $use_include_path = false [, resource $context = NULL ]]] )
public void SplFileInfo::setFileClass ([ string $class_name ] )
public void SplFileInfo::setInfoClass ([ string $class_name ] )
public void SplFileInfo::__toString ( void )
}

Constantes predefinidas

SplFileObject::DROP_NEW_LINE

Colocar nuevas líneas al final de una línea.

SplFileObject::READ_AHEAD

Leer sobre rewind/next.

SplFileObject::SKIP_EMPTY

Salta líneas vacías en el fichero. Esto requiere que la bandera READ_AHEAD esté activada para que funcione como se esperaba.

SplFileObject::READ_CSV

Leer líneas como filas CSV.

Historial de cambios

Versión | Descripción
5.3.9 | El valor de SplFileObject::SKIP_EMPTY cambió a 4. Anteriormente, el valor era 6.

Tabla de contenidos

  • SplFileObject::__construct — Construye un nuevo objeto de fichero
  • SplFileObject::current — Recupera la línea actual del fichero
  • SplFileObject::eof — Comprueba si es el final del fichero
  • SplFileObject::fflush — Vuelca el resultado en el fichero
  • SplFileObject::fgetc — Obtiene un caracter del fichero
  • SplFileObject::fgetcsv — Obtiene la línea de el fichero y analiza como campos CSV
  • SplFileObject::fgets — Obtener la línea de el fichero
  • SplFileObject::fgetss — Obtiene la línea de el fichero y elimina etiquetas HTML
  • SplFileObject::flock — Bloqueo de archivos portable
  • SplFileObject::fpassthru — Imprimir todos los datos restantes en un apuntador de fichero
  • SplFileObject::fputcsv — Escribe una array de campos línea CSV
  • SplFileObject::fscanf — Analiza la entrada de un fichero de acuerdo a un formato
  • SplFileObject::fseek — Mueve el apuntador interno a una posición
  • SplFileObject::fstat — Obtiene información de el fichero
  • SplFileObject::ftell — Devuelve la posición del fichero actual
  • SplFileObject::ftruncate — Trunca el archivo a una longitud dada
  • SplFileObject::fwrite — Escribe en el fichero
  • SplFileObject::getChildren — Ningún propósito
  • SplFileObject::getCsvControl — Obtiene el carácter delimitador y de encerrado del CSV
  • SplFileObject::getCurrentLine — Alias de SplFileObject::fgets
  • SplFileObject::getFlags — Obtener las flags de SplFileObject
  • SplFileObject::getMaxLineLen — Obtener la longitud máxima de línea
  • SplFileObject::hasChildren — SplFileObject no tiene hijos
  • SplFileObject::key — Obtiene el número de línea
  • SplFileObject::next — Leer la siguiente línea
  • SplFileObject::rewind — Rebobina el fichero hasta la primera línea
  • SplFileObject::seek — Mueve el apuntador interno a la línea específicada
  • SplFileObject::setCsvControl — Establece el delimitador y caracter de encierro del CSV
  • SplFileObject::setFlags — Establece flags para el SplFileObject
  • SplFileObject::setMaxLineLen — Establecer la longitud máxima de una línea
  • SplFileObject::__toString — Alias de SplFileObject::current
  • SplFileObject::valid — Comprueba si el final del finchero ha sido alcanzado
SplFileInfo::__toString
SplFileObject::__construct
Manejo de ficheros


Construye un nuevo objeto de fichero

SplFileObject
SplFileObject::current
SplFileObject
PHP Manual

SplFileObject::__construct

(PHP 5 >= 5.1.0)

SplFileObject::__construct — Construye un nuevo objeto de fichero

Descripción

public SplFileObject::__construct ( string $filename [, string $open_mode = "r" [, bool $use_include_path = false [, resource $context ]]] )

Construye un nuevo objeto de fichero.

Parámetros

filename

El fichero a leer.

Sugerencia

Se puede usar una dirección URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más información de como especificar el nombre de fichero. Consulte Protocolos y Envolturas soportados para ver enlaces con información sobre las diferentes habilidades que los wrappers tienen, notas de uso e información de cualquier variables predefinidas que pueden usarse.

open_mode

El modo en el que abrirá el fichero. Véase fopen() para una lista de modos permitidos.

use_include_path

Si se va a buscar en el include_path por el filename.

context

Un contexto válido creado con stream_context_create().

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Lanza una RuntimeException si el filename no puede ser abierto.

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::__construct()

Este ejemplo abre el fichero actual y itera sobre su contenido, línea por línea.

<?php
$archivo = new SplFileObject(__FILE__);
foreach ($archivo as $num_linea => $linea) {
    echo "La línea $num_linea es $linea";
}
?>

El resultado del ejemplo sería algo similar a:

La línea 0 es <?php
La línea 1 es $archivo = new SplFileObject(__FILE__);
La línea 2 es foreach ($archivo as $num_linea => $linea) {
La línea 3 es     echo "La línea $num_linea es $linea";
La línea 4 es }
La línea 5 es ?>

Ver también

  • SplFileInfo::openFile() - Obtiene un objeto SplFileObject para el fichero
  • fopen() - Abre un fichero o una URL

SplFileObject
SplFileObject::current
SplFileObject


Recupera la línea actual del fichero

SplFileObject::__construct
SplFileObject::eof
SplFileObject
PHP Manual

SplFileObject::current

(PHP 5 >= 5.1.0)

SplFileObject::current — Recupera la línea actual del fichero

Descripción

public string|array SplFileObject::current ( void )

Recupera la línea actual del fichero.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Recupera la línea actual del fichero. Si la flag SplFileObject::READ_CSV está establecida, este método devuelve un array conteniendo la línea actual analizada como datos CSV.

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::current()

<?php
$fichero = new SplFileObject(__FILE__);
foreach ($fichero as $k => $linea) {
   echo ($fichero->key() + 1) . ': ' . $fichero->current();
}
?>

El resultado del ejemplo sería algo similar a:

1: <?php
2: $fichero = new SplFileObject(__FILE__);
3: foreach ($fichero as $linea) {
4:     echo ($fichero->key() + 1) . ': ' . $fichero->current();
5: }
6: ?>

Ver también

  • SplFileObject::key() - Obtiene el número de línea
  • SplFileObject::seek() - Mueve el apuntador interno a la línea específicada
  • SplFileObject::next() - Leer la siguiente línea
  • SplFileObject::rewind() - Rebobina el fichero hasta la primera línea
  • SplFileObject::valid() - Comprueba si el final del finchero ha sido alcanzado

SplFileObject::__construct
SplFileObject::eof
SplFileObject


Comprueba si es el final del fichero

SplFileObject::current
SplFileObject::fflush
SplFileObject
PHP Manual

SplFileObject::eof

(PHP 5 >= 5.1.0)

SplFileObject::eof — Comprueba si es el final del fichero

Descripción

public bool SplFileObject::eof ( void )

Determina si el final de el fichero ha sido alcanzado.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si es el final de el fichero, en caso contrario FALSE.

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::eof()

<?php
$fichero = new SplFileObject("frutas.txt");
while ( ! $fichero->eof()) {
    echo $fichero->fgets();
}
?>

El resultado del ejemplo sería algo similar a:

manzana
banana
cereza
naranja
baya

Ver también

  • SplFileObject::valid() - Comprueba si el final del finchero ha sido alcanzado
  • feof() - Comprueba si el puntero a un archivo está al final del archivo

SplFileObject::current
SplFileObject::fflush
SplFileObject


Vuelca el resultado en el fichero

SplFileObject::eof
SplFileObject::fgetc
SplFileObject
PHP Manual

SplFileObject::fflush

(PHP 5 >= 5.1.0)

SplFileObject::fflush — Vuelca el resultado en el fichero

Descripción

public bool SplFileObject::fflush ( void )

Fuerza a escribir en todo el búfer de salida al fichero.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::fflush()

<?php
$file = new SplFileObject('variado.txt', 'r+');
$file->rewind();
$file->fwrite("Foo");
$file->fflush();
$file->ftruncate($file->ftell());
?>

Ver también

  • SplFileObject::fwrite() - Escribe en el fichero

SplFileObject::eof
SplFileObject::fgetc
SplFileObject


Obtiene un caracter del fichero

SplFileObject::fflush
SplFileObject::fgetcsv
SplFileObject
PHP Manual

SplFileObject::fgetc

(PHP 5 >= 5.1.0)

SplFileObject::fgetc — Obtiene un caracter del fichero

Descripción

public string SplFileObject::fgetc ( void )

Obtiene un caracter del fichero.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un string conteniendo un solo caracter leído de el fichero o FALSE si es el final del fichero.

Advertencia

Esta función puede devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se evalúa como FALSE. 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.

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::fgetc()

<?php
$fichero = new SplFileObject('texto.txt');
while (false !== ($char = $fichero->fgetc())) {
    echo "$char\n";
}
?>

Ver también

  • SplFileObject::fgets() - Obtener la línea de el fichero

SplFileObject::fflush
SplFileObject::fgetcsv
SplFileObject


Obtiene la línea de el fichero y analiza como campos CSV

SplFileObject::fgetc
SplFileObject::fgets
SplFileObject
PHP Manual

SplFileObject::fgetcsv

(PHP 5 >= 5.1.0)

SplFileObject::fgetcsv — Obtiene la línea de el fichero y analiza como campos CSV

Descripción

 public array SplFileObject::fgetcsv
  ([ string $delimiter = ","
 [, string $enclosure = "\""
 [, string $escape = "\\"
]]] )

Obtiene la línea de el fichero que es está en formato CSV y devuelve un array conteniendo los campos leídos.

Parámetros

delimiter

El delimitador de campo (sólo un caracter). Por omisión es una coma o el valor establecido por SplFileObject::setCsvControl().

enclosure

El caracter de delimitación (sólo un caracter). Por omisión son comillas dobles o el valor establecido por SplFileObject::setCsvControl().

escape

El caracter de escape (sólo un caracter). Por omisión es un backslash (\) o el valor establecido por SplFileObject::setCsvControl().

Valores devueltos

Devuelve un array indexado conteniendo los campos leídos, o FALSE en caso de error.

Nota:

Una línea en vlanco en un fichero CSV será devuelto como un array constituido como un campo NULL a menos que se establezca SplFileObject::SKIP_EMPTY | SplFileObject::DROP_NEW_LINE, en este caso se omiten las líneas vacías.

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::fgetcsv()

<?php
$fichero = new SplFileObject("datos.csv");
while (!$fichero->eof()) {
    var_dump($fichero->fgetcsv());
}
?>

Ejemplo #2 Ejemplo de SplFileObject::READ_CSV

<?php
$fichero = new SplFileObject("animales.csv");
$fichero->setFlags(SplFileObject::READ_CSV);
foreach ($fichero as $fila) {
    list($animal, $clase, $patas) = $fila;
    printf("Un %s es un %s con %d legs\n", $animal, $clase, $patas);
}
?>

Contenido de animales.csv

cocodrilo,reptil,4
delfín,mamífero,0
pato,ave,2
koala,mamífero,4
salmon,pez,0

El resultado del ejemplo sería algo similar a:

Un cocodrilo es un reptil con 4 patas
Un delfín es un mamífero con 0 patas
Un pato es un ave con 2 patas
un koala es un mamífero con 4 patas
Un salmon es un pez con 0 patas

Ver también

  • SplFileObject::setCsvControl() - Establece el delimitador y caracter de encierro del CSV
  • SplFileObject::setFlags() - Establece flags para el SplFileObject
  • SplFileObject::READ_CSV
  • SplFileObject::current() - Recupera la línea actual del fichero

SplFileObject::fgetc
SplFileObject::fgets
SplFileObject


Obtener la línea de el fichero

SplFileObject::fgetcsv
SplFileObject::fgetss
SplFileObject
PHP Manual

SplFileObject::fgets

(PHP 5 >= 5.1.0)

SplFileObject::fgets — Obtener la línea de el fichero

Descripción

public string SplFileObject::fgets ( void )

Obtener la línea de el fichero.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un string conteniendo la siguiente línea de el fichero, o FALSE en caso de error.

Errores/Excepciones

Lanza una RuntimeException si el fichero no puede ser leído.

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::fgets()

Este ejemplo simplemente imprime el contenido de texto.txt línea por línea.

<?php
$fichero = new SplFileObject("texto.txt");
while (!$fichero->eof()) {
    echo $fichero->fgets();
}
?>

Ver también

  • fgets() - Obtiene una línea desde el puntero a un fichero
  • SplFileObject::fgetss() - Obtiene la línea de el fichero y elimina etiquetas HTML
  • SplFileObject::fgetc() - Obtiene un caracter del fichero
  • SplFileObject::current() - Recupera la línea actual del fichero

SplFileObject::fgetcsv
SplFileObject::fgetss
SplFileObject


Obtiene la línea de el fichero y elimina etiquetas HTML

SplFileObject::fgets
SplFileObject::flock
SplFileObject
PHP Manual

SplFileObject::fgetss

(PHP 5 >= 5.1.0)

SplFileObject::fgetss — Obtiene la línea de el fichero y elimina etiquetas HTML

Descripción

public string SplFileObject::fgetss ([ string $allowable_tags ] )

Idéntico a SplFileObject::fgets(), excepto que SplFileObject::fgetss() intenta eliminar las etiquetas HTML y PHP de el texto que se lee.

Parámetros

allowable_tags

Parámetro opcional para especificar etiquetas que no deben ser eliminados.

Valores devueltos

Devuelve un string conteniendo la siguiente línea de el fichero con el código HTML y PHP eliminado, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::fgetss()

<?php
$str = <<<EOD
<html><body>
 <p>Bienvenid@! Hoy es el <?php echo(date('jS')); ?> de <?= date('F'); ?>.</p>
</body></html>
Texto fuera del bloque HTML.
EOD;
file_put_contents("ejemplo.php", $str);

$fichero = new SplFileObject("ejemplo.php");
while (!$fichero->eof()) {
    echo $fichero->fgetss();
}
?>

El resultado del ejemplo sería algo similar a:

Bienvenid@! Hoy es el  de .

Texto fuera del bloque HTML.

Ver también

  • fgetss() - Obtiene un línea desde un puntero a un archivo y elimina las etiquetas HTML
  • SplFileObject::fgets() - Obtener la línea de el fichero
  • SplFileObject::fgetc() - Obtiene un caracter del fichero
  • SplFileObject::current() - Recupera la línea actual del fichero

SplFileObject::fgets
SplFileObject::flock
SplFileObject


Bloqueo de archivos portable

SplFileObject::fgetss
SplFileObject::fpassthru
SplFileObject
PHP Manual

SplFileObject::flock

(PHP 5 >= 5.1.0)

SplFileObject::flock — Bloqueo de archivos portable

Descripción

public bool SplFileObject::flock ( int $operation [, int &$wouldblock ] )

Bloquea o desbloquea el fichero en el mismo de la misma manera portátil que flock().

Parámetros

operation

operation es uno de los siguientes:

  • LOCK_SH para adquirir un bloqueo compartido (léctura).
  • LOCK_EX para adquirir un bloqueo exclusivo (escritura).
  • LOCK_UN para liberar un bloqueo (compartido o exclusivo).
  • LOCK_NB para no bloquear mientras se bloquea (no se admite en Windows).

wouldblock

Establece TRUE si se bloquea.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::flock()

<?php
$file = new SplFileObject("/tmp/bloqueado.txt", "w");
if ($file->flock(LOCK_EX)) { // dar un bloqueo exclusivo
    $file->ftruncate(0);     // truncar archivo
    $file->fwrite("Escribir alguna cosa\n");
    $file->flock(LOCK_UN);   // liberar el bloqueo
} else {
    echo "No podría obtener un bloqueo!";
}
?>

Ver también

  • flock() - Bloqueo de archivos asesorado portable

SplFileObject::fgetss
SplFileObject::fpassthru
SplFileObject


Imprimir todos los datos restantes en un apuntador de fichero

SplFileObject::flock
SplFileObject::fputcsv
SplFileObject
PHP Manual

SplFileObject::fpassthru

(PHP 5 >= 5.1.0)

SplFileObject::fpassthru — Imprimir todos los datos restantes en un apuntador de fichero

Descripción

public int SplFileObject::fpassthru ( void )

Lee hasta el final en el puntero de el fichero dado de la posición actual y escribe el resultado a el búfer de salida.

Puede que se necesite llamar a SplFileObject::rewind() You may need to call SplFileObject::rewind() para reiniciar el puntero del fichero al inicio de el fichero si se tiene datos escritos en el fichero.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el número de caracteres leídos del handle y pasados a través de la salida.

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::fpassthru()

<?php

// Abrir el fichero en modo binario
$file = new SplFileObject("./img/ok.png", "rb");

// Enviar las cabeceras de permisos
header("Content-Type: image/png");
header("Content-Length: " . $file->getSize());

// Volcar la imagen y fin del script
$file->fpassthru();
exit;

?>

Ver también

  • fpassthru() - Escribe toda la información restante de un puntero a un archivo

SplFileObject::flock
SplFileObject::fputcsv
SplFileObject


Escribe una array de campos línea CSV

SplFileObject::fpassthru
SplFileObject::fscanf
SplFileObject
PHP Manual

SplFileObject::fputcsv

(PHP 5 >= 5.4.0)

SplFileObject::fputcsv — Escribe una array de campos línea CSV

Descripción

public int SplFileObject::fputcsv ( array $fields [, string $delimiter = ',' [, string $enclosure = '"' ]] )

Escribe el array fields en el fichero como una línea CVS.

Parámetros

fields

Un array de valores.

delimiter

El parámetro opcional delimiter establece el delimitador de campos (sólo un carácter).

enclosure

El parámetro opcional enclosure establece el carácter con el que encerrar el campo (sólo un carácter).

Valores devueltos

Devuelve la longitud de la cadena escrita o FALSE en caso de error.

Devuelve FALSE, y no escribe la línea CVS en el fichero, si el parámetro delimiter o enclosure no es un único carácter.

Errores/Excepciones

Se emite un error de nivel E_WARNING si el parámetro delimiter o enclosure no es un único carácter.

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::fputcsv()

<?php

$list = array (
    array('aaa', 'bbb', 'ccc', 'dddd'),
    array('123', '456', '789'),
    array('"aaa"', '"bbb"')
);

$file = new SplFileObject('file.csv', 'w');

foreach ($list as $fields) {
    $file->fputcsv($fields);
}

?>

El ejempolo de arriba escribirá lo siguiente en file.csv:

aaa,bbb,ccc,dddd
123,456,789
"""aaa""","""bbb"""

Ver también

  • fputcsv() - Da formato a una línea como CSV y la escribe en un puntero a un archivo
  • SplFileObject::fgetcsv() - Obtiene la línea de el fichero y analiza como campos CSV

SplFileObject::fpassthru
SplFileObject::fscanf
SplFileObject


Analiza la entrada de un fichero de acuerdo a un formato

SplFileObject::fputcsv
SplFileObject::fseek
SplFileObject
PHP Manual

SplFileObject::fscanf

(PHP 5 >= 5.1.0)

SplFileObject::fscanf — Analiza la entrada de un fichero de acuerdo a un formato

Descripción

public mixed SplFileObject::fscanf ( string $format [, mixed &$... ] )

Lee una línea de el fichero e interpreta este de acuerdo a el format, especificado, como es descrito en la documentación de sprintf().

Cualquier espacio en blanco en el format string coincide con cualquier espacio en blanco en la línea de el fichero. Esto significa que incluso un \t en el formato string puede coincidir con un sólo caracter de espacio en la secuencia de entrada.

Parámetros

format

El formato especificado descrito en la documentación de sprintf().

...

Los valores opcionales asignados.

Valores devueltos

Si sólo se pasa un parámetro a este método, los valores analizados serán devueltos como un array. De lo contrario, si se paran los parámetros opcionales, la función devolverá el número de valores asignados. Los parámetros opcionales deben ser pasados por referencia.

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::fscanf()

<?php
$file = new SplFileObject("usuarios.txt");
while ($usuarioinfo = $file->fscanf("%s %s %s")) {
    list ($nombre, $profesion, $codigopais) = $usuarioinfo;
    // Hacer algo con  $name $professi
}
?>

Contenido de usuarios.txt

javier   argonaut    pe
hiroshi  sculptor    jp
robert   slacker     us
luigi    florist     it

Ver también

  • fscanf() - Analiza la entrada desde un archivo de acuerdo a un formato

SplFileObject::fputcsv
SplFileObject::fseek
SplFileObject


Mueve el apuntador interno a una posición

SplFileObject::fscanf
SplFileObject::fstat
SplFileObject
PHP Manual

SplFileObject::fseek

(PHP 5 >= 5.1.0)

SplFileObject::fseek — Mueve el apuntador interno a una posición

Descripción

public int SplFileObject::fseek ( int $offset [, int $whence = SEEK_SET ] )

Mover el apuntador interno a una posición en el fichero medido en bytes desde el princpio de el fichero, obtenido añadiendo offset a la posición especificada por whence.

Parámetros

offset

El índice. Un valor negativo puede ser utilizado para mover hacía atrás por el fichero que será útil cuando SEEK_END es usado como un valor de whence.

whence

Los valores de whence son:

  • SEEK_SET - Establece la posición igual a offset bytes.
  • SEEK_CUR - Establece la posición a la ubicación actual más offset.
  • SEEK_END - Establece la posición al final de el fichero más offset.

Si no se especifica whence, se supone que es SEEK_SET.

Valores devueltos

Devuelve 0 si la búsqueda fué exitosa, -1 en caso contrario. Tenga en cuenta que buscando un EOF pasado no se considera como un error.

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::fseek()

<?php
$file = new SplFileInfo("algunfichero.txt");

// Leer la primera línea
$data = $file->fgets();

// Mover atrás a el principio de el fichero
// Igual que $file->rewind();
$file->fseek(0);
?>

Ver también

  • fseek() - Busca sobre un puntero a un fichero

SplFileObject::fscanf
SplFileObject::fstat
SplFileObject


Obtiene información de el fichero

SplFileObject::fseek
SplFileObject::ftell
SplFileObject
PHP Manual

SplFileObject::fstat

(PHP 5 >= 5.1.0)

SplFileObject::fstat — Obtiene información de el fichero

Descripción

public array SplFileObject::fstat ( void )

Obtiene estadísticas de el fichero. Se comporta de forma idéntica a fstat().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un array con las estadísticas de el fichero; el formato de el array es descrito en detalle en la página del manual de stat().

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::fstat()

<?php
$file = new SplFileObject("/etc/passwd");
$stat = $file->fstat();

// Imprimir sólo la parte asociada
print_r(array_slice($stat, 13));

?>

El resultado del ejemplo sería algo similar a:

Array
(
    [dev] => 771
    [ino] => 488704
    [mode] => 33188
    [nlink] => 1
    [uid] => 0
    [gid] => 0
    [rdev] => 0
    [size] => 1114
    [atime] => 1061067181
    [mtime] => 1056136526
    [ctime] => 1056136526
    [blksize] => 4096
    [blocks] => 8
)

Ver también

  • fstat() - Obtiene información acerca de un archivo usando un puntero al archivo abierto
  • stat() - Da información acerca de un fichero

SplFileObject::fseek
SplFileObject::ftell
SplFileObject


Devuelve la posición del fichero actual

SplFileObject::fstat
SplFileObject::ftruncate
SplFileObject
PHP Manual

SplFileObject::ftell

(PHP 5 >= 5.1.0)

SplFileObject::ftell — Devuelve la posición del fichero actual

Descripción

public int SplFileObject::ftell ( void )

Devuelve la posición de el puntero de fichero que representa el índice actual en el flujo del fichero.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la posición de el puntero de fichero como un integer, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::ftell()

<?php
$file = new SplFileObject("/etc/passwd");

// Lee la primera línea
$data = $file->fgets();

// ¿Dónde estamos?
echo $file->ftell();
?>

Ver también

  • ftell() - Devuelve la posición de lectura/escritura actual del puntero a un fichero

SplFileObject::fstat
SplFileObject::ftruncate
SplFileObject


Trunca el archivo a una longitud dada

SplFileObject::ftell
SplFileObject::fwrite
SplFileObject
PHP Manual

SplFileObject::ftruncate

(PHP 5 >= 5.1.0)

SplFileObject::ftruncate — Trunca el archivo a una longitud dada

Descripción

public bool SplFileObject::ftruncate ( int $size )

Trunca el archivo a size bytes.

Parámetros

size

El tamaño a truncar.

Nota:

Si size es más grande que el fichero este es extendido con bytes null.

Si size es más pequeño que el archivo, los datos extra se perderán.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::ftruncate()

<?php
// Crea un fichero conteniendo "Hola Mundo!"
$file = new SplFileObject("/tmp/ftruncate", "w+");
$file->fwrite("Hola Mundo!");

// Truncar a 4 bytes
$file->ftruncate(4);

// Rebobina y leer los datos
$file->rewind();
echo $file->fgets();
?>

El resultado del ejemplo sería algo similar a:

Hola

Ver también

  • ftruncate() - Trunca un archivo a una longitud dada

SplFileObject::ftell
SplFileObject::fwrite
SplFileObject


Escribe en el fichero

SplFileObject::ftruncate
SplFileObject::getChildren
SplFileObject
PHP Manual

SplFileObject::fwrite

(PHP 5 >= 5.1.0)

SplFileObject::fwrite — Escribe en el fichero

Descripción

public int SplFileObject::fwrite ( string $str [, int $length ] )

Escribe el contenido de un string a el fichero.

Parámetros

str

El string a ser escrito en el fichero.

length

Si se utiliza el argumento length, la escritura se detendrá después de que se han escrito length bytes o o se llega al final del string, lo que ocurra primero.

Valores devueltos

Devuelve el número de bytes escritos, o NULL en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::fwrite()

<?php
$file = new SplFileObject("fwrite.txt", "w");
$written = $file->fwrite("12345");
echo "Escritos $written bytes a el fichero";
?>

El resultado del ejemplo sería algo similar a:

Escritos 5 bytes a el fichero

Ver también

  • fwrite() - Escritura de un archivo en modo binario seguro

SplFileObject::ftruncate
SplFileObject::getChildren
SplFileObject


Ningún propósito

SplFileObject::fwrite
SplFileObject::getCsvControl
SplFileObject
PHP Manual

SplFileObject::getChildren

(PHP 5 >= 5.1.0)

SplFileObject::getChildren — Ningún propósito

Descripción

public void SplFileObject::getChildren ( void )

Una clase SplFileObject no tiene hijos así que este método devolverá NULL.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • RecursiveIterator::getChildren() - Devuelve un iterador para la entrada actual

SplFileObject::fwrite
SplFileObject::getCsvControl
SplFileObject


Obtiene el carácter delimitador y de encerrado del CSV

SplFileObject::getChildren
SplFileObject::getCurrentLine
SplFileObject
PHP Manual

SplFileObject::getCsvControl

(PHP 5 >= 5.2.0)

SplFileObject::getCsvControl — Obtiene el carácter delimitador y de encerrado del CSV

Descripción

public array SplFileObject::getCsvControl ( void )

Obtiene el carácter delimitador y de encerrado usado para analizar los campos CSV.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un array indezado que contiene los caracteres delimitadores y de encerrado.

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::getCsvControl()

<?php
$file = new SplFileObject("datos.txt");
print_r($file->getCsvControl());
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => ,
    [1] => "
)

Ver también

  • SplFileObject::setCsvControl() - Establece el delimitador y caracter de encierro del CSV
  • SplFileObject::fgetcsv() - Obtiene la línea de el fichero y analiza como campos CSV

SplFileObject::getChildren
SplFileObject::getCurrentLine
SplFileObject


Alias de SplFileObject::fgets

SplFileObject::getCsvControl
SplFileObject::getFlags
SplFileObject
PHP Manual

SplFileObject::getCurrentLine

(PHP 5 >= 5.1.2)

SplFileObject::getCurrentLine — Alias de SplFileObject::fgets()

Descripción

Este método es un alias de SplFileObject::fgets().

SplFileObject::getCsvControl
SplFileObject::getFlags
SplFileObject


Obtener las flags de SplFileObject

SplFileObject::getCurrentLine
SplFileObject::getMaxLineLen
SplFileObject
PHP Manual

SplFileObject::getFlags

(PHP 5 >= 5.1.0)

SplFileObject::getFlags — Obtener las flags de SplFileObject

Descripción

public int SplFileObject::getFlags ( void )

Obtiene las flags establecidas en una instancia de SplFileObject como un integer.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un integer que representa las flags.

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::getFlags()

<?php
$file = new SplFileObject(__FILE__, "r");

if ($file->getFlags() & SplFileObject::SKIP_EMPTY) {
    echo "Saltando líneas vacías\n";
} else {
    echo "Sin saltar líneas vacías\n";
}

$file->setFlags(SplFileObject::SKIP_EMPTY);

if ($file->getFlags() & SplFileObject::SKIP_EMPTY) {
    echo "Saltando líneas vacías\n";
} else {
    echo "Sin saltar líneas vacías\n";
}
?>

El resultado del ejemplo sería algo similar a:

Sin saltar líneas vacías
Saltando líneas vacías

Ver también

  • SplFileObject::setFlags() - Establece flags para el SplFileObject

SplFileObject::getCurrentLine
SplFileObject::getMaxLineLen
SplFileObject


Obtener la longitud máxima de línea

SplFileObject::getFlags
SplFileObject::hasChildren
SplFileObject
PHP Manual

SplFileObject::getMaxLineLen

(PHP 5 >= 5.1.0)

SplFileObject::getMaxLineLen — Obtener la longitud máxima de línea

Descripción

public int SplFileObject::getMaxLineLen ( void )

Obtiene la longitud máxima de línea establecida por SplFileObject::setMaxLineLen().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la longitud máxima de línea si ha sido establecido con SplFileObject::setMaxLineLen(), por omisión es 0.

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::getMaxLineLen()

<?php
$file = new SplFileObject("fichero.txt");
var_dump($file->getMaxLineLen());

$file->setMaxLineLen(20);
var_dump($file->getMaxLineLen());
?>

El resultado del ejemplo sería algo similar a:

int(0)
int(20)

Ver también

  • Classname::Method()

SplFileObject::getFlags
SplFileObject::hasChildren
SplFileObject


SplFileObject no tiene hijos

SplFileObject::getMaxLineLen
SplFileObject::key
SplFileObject
PHP Manual

SplFileObject::hasChildren

(PHP 5 >= 5.1.2)

SplFileObject::hasChildren — SplFileObject no tiene hijos

Descripción

public bool SplFileObject::hasChildren ( void )

Una clase SplFileObject no tiene hijos. Este método siempre devuelve FALSE.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve FALSE

Ver también

  • RecursiveIterator::hasChildren() - Retorna si un iterador puede ser creado para la entrada actual

SplFileObject::getMaxLineLen
SplFileObject::key
SplFileObject


Obtiene el número de línea

SplFileObject::hasChildren
SplFileObject::next
SplFileObject
PHP Manual

SplFileObject::key

(PHP 5 >= 5.1.0)

SplFileObject::key — Obtiene el número de línea

Descripción

public int SplFileObject::key ( void )

Obtener el número de línea.

Nota:

Este nñumero puede no ser reflejado en la línea actual en el fichero si el método SplFileObject::setMaxLineLen() es usado para leer posiciones fijas de el fichero.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el número de línea actual.

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::key()

<?php
$file = new SplFileObject("lipsum.txt");
foreach ($file as $line) {
    echo $file->key() . ". " . $line;
}
?>

El resultado del ejemplo sería algo similar a:

0. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
1. Duis nec sapien felis, ac sodales nisl.
2. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Ejemplo #2 SplFileObject::key() ejemplo con SplFileObject::setMaxLineLen()

<?php
$file = new SplFileObject("lipsum.txt");
$file->setMaxLineLen(20);
foreach ($file as $line) {
    echo $file->key() . ". " . $line . "\n";
}
?>

El resultado del ejemplo sería algo similar a:

0. Lorem ipsum dolor s
1. it amet, consectetu
2. r adipiscing elit.
3.

4. Duis nec sapien fel
5. is, ac sodales nisl
6. .

7. Lorem ipsum dolor s
8. it amet, consectetu
9. r adipiscing elit.

Ver también

  • SplFileObject::current() - Recupera la línea actual del fichero
  • SplFileObject::seek() - Mueve el apuntador interno a la línea específicada
  • SplFileObject::next() - Leer la siguiente línea
  • SplFileObject::rewind() - Rebobina el fichero hasta la primera línea
  • SplFileObject::valid() - Comprueba si el final del finchero ha sido alcanzado

SplFileObject::hasChildren
SplFileObject::next
SplFileObject


Leer la siguiente línea

SplFileObject::key
SplFileObject::rewind
SplFileObject
PHP Manual

SplFileObject::next

(PHP 5 >= 5.1.0)

SplFileObject::next — Leer la siguiente línea

Descripción

public void SplFileObject::next ( void )

Mover a la siguiente línea en el fichero.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::next()

<?php
// Leer el fichero línea por línea
$file = new SplFileObject("variado.txt");
while (!$file->eof()) {
    echo $file->current();
    $file->next();
}
?>

Ver también

  • SplFileObject::current() - Recupera la línea actual del fichero
  • SplFileObject::key() - Obtiene el número de línea
  • SplFileObject::seek() - Mueve el apuntador interno a la línea específicada
  • SplFileObject::rewind() - Rebobina el fichero hasta la primera línea
  • SplFileObject::valid() - Comprueba si el final del finchero ha sido alcanzado

SplFileObject::key
SplFileObject::rewind
SplFileObject


Rebobina el fichero hasta la primera línea

SplFileObject::next
SplFileObject::seek
SplFileObject
PHP Manual

SplFileObject::rewind

(PHP 5 >= 5.1.0)

SplFileObject::rewind — Rebobina el fichero hasta la primera línea

Descripción

public void SplFileObject::rewind ( void )

Rebobina el fichero hasta la primera línea.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Lanza una RuntimeException si no se puede rebobinar.

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::rewind()

<?php
$file = new SplFileObject("variado.txt");

// Recorrer todo el fichero
foreach ($file as $line) { }

// Rebobinar hasta la primera línea
$file->rewind();

// Imprime la primera línea
echo $file->current();
?>

Ver también

  • SplFileObject::current() - Recupera la línea actual del fichero
  • SplFileObject::key() - Obtiene el número de línea
  • SplFileObject::seek() - Mueve el apuntador interno a la línea específicada
  • SplFileObject::next() - Leer la siguiente línea
  • SplFileObject::valid() - Comprueba si el final del finchero ha sido alcanzado

SplFileObject::next
SplFileObject::seek
SplFileObject


Mueve el apuntador interno a la línea específicada

SplFileObject::rewind
SplFileObject::setCsvControl
SplFileObject
PHP Manual

SplFileObject::seek

(PHP 5 >= 5.1.0)

SplFileObject::seek — Mueve el apuntador interno a la línea específicada

Descripción

public void SplFileObject::seek ( int $line_pos )

Mueve el apuntador interno a la línea específicada en el fichero.

Parámetros

line_pos

El número base cero a mover el apuntador interno.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Lanza una LogicException si el parámetro line_pos es negativo.

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::seek()

Este ejemplo imprime la tercera línea de el script que se encuentra en la posición 2.

<?php
$file = new SplFileObject(__FILE__);
$file->seek(2);
echo $file->current();
?>

El resultado del ejemplo sería algo similar a:

$file->seek(2);

Ver también

  • SplFileObject::current() - Recupera la línea actual del fichero
  • SplFileObject::key() - Obtiene el número de línea
  • SplFileObject::next() - Leer la siguiente línea
  • SplFileObject::rewind() - Rebobina el fichero hasta la primera línea
  • SplFileObject::valid() - Comprueba si el final del finchero ha sido alcanzado

SplFileObject::rewind
SplFileObject::setCsvControl
SplFileObject


Establece el delimitador y caracter de encierro del CSV

SplFileObject::seek
SplFileObject::setFlags
SplFileObject
PHP Manual

SplFileObject::setCsvControl

(PHP 5 >= 5.2.0)

SplFileObject::setCsvControl — Establece el delimitador y caracter de encierro del CSV

Descripción

 public void SplFileObject::setCsvControl
  ([ string $delimiter = ","
 [, string $enclosure = "\""
 [, string $escape = "\\"
]]] )

Establece el delimitador y caracter de encierro para analizar los campos CSV.

Parámetros

delimiter

El campo delimitador (un sólo caracter).

enclosure

El campo de encerrado (un sólo caracter).

escape

El campo de caracter de escape (un sólo caracter).

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::setCsvControl()

<?php
$file = new SplFileObject("datos.csv");
$file->setFlags(SplFileObject::READ_CSV);
$file->setCsvControl('|');
foreach ($file as $row) {
    list ($frutas, $cantidad) = $row;
    // Hacer algo con valores
}
?>

Contents of data.csv

<?php
manzanas|20
bananas|14
cerezas|87
?>

Ver también

  • SplFileObject::getCsvControl() - Obtiene el carácter delimitador y de encerrado del CSV
  • SplFileObject::fgetcsv() - Obtiene la línea de el fichero y analiza como campos CSV

SplFileObject::seek
SplFileObject::setFlags
SplFileObject


Establece flags para el SplFileObject

SplFileObject::setCsvControl
SplFileObject::setMaxLineLen
SplFileObject
PHP Manual

SplFileObject::setFlags

(PHP 5 >= 5.1.0)

SplFileObject::setFlags — Establece flags para el SplFileObject

Descripción

public void SplFileObject::setFlags ( int $flags )

Establece las flags a ser usadas por el SplFileObject.

Parámetros

flags

Bitmask de las flags a establecer. Véase las Constantes SplFileObject para una lista de flags disponibles.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::setFlags()

<?php
$file = new SplFileObject("datos.csv");
$file->setFlags(SplFileObject::READ_CSV);
foreach ($file as $fields) {
    var_dump($fields);
}
?>

Ver también

  • SplFileObject::getFlags() - Obtener las flags de SplFileObject

SplFileObject::setCsvControl
SplFileObject::setMaxLineLen
SplFileObject


Establecer la longitud máxima de una línea

SplFileObject::setFlags
SplFileObject::__toString
SplFileObject
PHP Manual

SplFileObject::setMaxLineLen

(PHP 5 >= 5.1.0)

SplFileObject::setMaxLineLen — Establecer la longitud máxima de una línea

Descripción

public void SplFileObject::setMaxLineLen ( int $max_len )

Establece la longitud máxima de una línea a ser leída.

Parámetros

max_len

La longitud de una línea.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Lanza una excepción DomainException cuando max_len es menor que cero.

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::setMaxLineLen()

<?php
$file = new SplFileObject("lipsum.txt");
$file->setMaxLineLen(20);
foreach ($file as $line) {
    echo $line . "\n";
}
?>

Contenido de lipsum.txt

Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Duis nec sapien felis, ac sodales nisl.
Nulla vitae magna vitae purus aliquet consequat.

El resultado del ejemplo sería algo similar a:

Lorem ipsum dolor s
it amet, consectetu
r adipiscing elit.

Duis nec sapien fel
is, ac sodales nisl
.

Nulla vitae magna v
itae purus aliquet
consequat.

Ver también

  • Classname::Method()

SplFileObject::setFlags
SplFileObject::__toString
SplFileObject


Alias de SplFileObject::current

SplFileObject::setMaxLineLen
SplFileObject::valid
SplFileObject
PHP Manual

SplFileObject::__toString

(PHP 5 >= 5.1.0)

SplFileObject::__toString — Alias de SplFileObject::current()

Descripción

public void SplFileObject::__toString ( void )

Este método es un alias de SplFileObject::current().

SplFileObject::setMaxLineLen
SplFileObject::valid
SplFileObject


Comprueba si el final del finchero ha sido alcanzado

SplFileObject::__toString
SplTempFileObject
SplFileObject
PHP Manual

SplFileObject::valid

(PHP 5 >= 5.1.0)

SplFileObject::valid — Comprueba si el final del finchero ha sido alcanzado

Descripción

public bool SplFileObject::valid ( void )

Comprueba si el final del finchero ha sido alcanzado.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si el final no ha sido alcanzado, en caso contrario FALSE.

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::valid()

<?php
// Recorrer el fichero, línea por línea
$file = new SplFileObject("fichero.txt");
while ($file->valid()) {
    echo $file->fgets();
}
?>

Ver también

  • SplFileObject::current() - Recupera la línea actual del fichero
  • SplFileObject::key() - Obtiene el número de línea
  • SplFileObject::seek() - Mueve el apuntador interno a la línea específicada
  • SplFileObject::next() - Leer la siguiente línea
  • SplFileObject::rewind() - Rebobina el fichero hasta la primera línea

SplFileObject::__toString
SplTempFileObject
SplFileObject


La clase SplTempFileObject

(PHP 5 >= 5.1.2)

Introducción

La clase SplTempFileObject ofrece una interfaz orientada a objectos para ficheros temporales.

Sinopsis de la Clase

SplTempFileObject extends SplFileObject implements SeekableIterator , RecursiveIterator {
/* Métodos */
public __construct ([ int $max_memory ] )
/* Métodos heredados */
public SplFileObject::__construct ( string $filename [, string $open_mode = "r" [, bool $use_include_path = false [, resource $context ]]] )
public string|array SplFileObject::current ( void )
public bool SplFileObject::eof ( void )
public bool SplFileObject::fflush ( void )
public string SplFileObject::fgetc ( void )
 public array SplFileObject::fgetcsv
  ([ string $delimiter = ","
 [, string $enclosure = "\""
 [, string $escape = "\\"
]]] )
public string SplFileObject::fgets ( void )
public string SplFileObject::fgetss ([ string $allowable_tags ] )
public bool SplFileObject::flock ( int $operation [, int &$wouldblock ] )
public int SplFileObject::fpassthru ( void )
public int SplFileObject::fputcsv ( array $fields [, string $delimiter = ',' [, string $enclosure = '"' ]] )
public mixed SplFileObject::fscanf ( string $format [, mixed &$... ] )
public int SplFileObject::fseek ( int $offset [, int $whence = SEEK_SET ] )
public array SplFileObject::fstat ( void )
public int SplFileObject::ftell ( void )
public bool SplFileObject::ftruncate ( int $size )
public int SplFileObject::fwrite ( string $str [, int $length ] )
public void SplFileObject::getChildren ( void )
public array SplFileObject::getCsvControl ( void )
public int SplFileObject::getFlags ( void )
public int SplFileObject::getMaxLineLen ( void )
public bool SplFileObject::hasChildren ( void )
public int SplFileObject::key ( void )
public void SplFileObject::next ( void )
public void SplFileObject::rewind ( void )
public void SplFileObject::seek ( int $line_pos )
 public void SplFileObject::setCsvControl
  ([ string $delimiter = ","
 [, string $enclosure = "\""
 [, string $escape = "\\"
]]] )
public void SplFileObject::setFlags ( int $flags )
public void SplFileObject::setMaxLineLen ( int $max_len )
public void SplFileObject::__toString ( void )
public bool SplFileObject::valid ( void )
}

Tabla de contenidos

  • SplTempFileObject::__construct — Construir un nuevo objeto de fichero temporal
SplFileObject::valid
SplTempFileObject::__construct
Manejo de ficheros


Construir un nuevo objeto de fichero temporal

SplTempFileObject
Misceláneos clases e interfaces
SplTempFileObject
PHP Manual

SplTempFileObject::__construct

(PHP 5 >= 5.1.2)

SplTempFileObject::__construct — Construir un nuevo objeto de fichero temporal

Descripción

public SplTempFileObject::__construct ([ int $max_memory ] )

Construir un nuevo objeto de fichero temporal.

Parámetros

max_memory

La cantidad máxima de memoria (en bytes, por omisión es 2 MB) para el fichero temporal a usar. Su el fichero temporal supera este tamaño, Este será movido a un archivo en el directorio temporal del sistema.

Si max_memory es negativo, se usará memoria. Si max_memory es cero, no se usará memoria.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Lanza una RuntimeException si un error ocurre.

Ejemplos

Ejemplo #1 Ejemplo de SplTempFileObject()

Este ejemplo escribe un fichero temporal en la memoria mientras se puede escribir y leer en este.

<?php
$temp = new SplTempFileObject();
$temp->fwrite("Esta es la primera línea\n");
$temp->fwrite("Y esta es la segunda.\n");
echo "Escrito " . $temp->ftell() . " bytes al fichero temporal.\n\n";

// Rebobina y lee lo que fué escrito
$temp->rewind();
foreach ($temp as $line) {
    echo $line;
}
?>

El resultado del ejemplo sería algo similar a:

Escrito 47 bytes al fichero temporal.

Esta es la primera línea
Y esta es la segunda.

Ver también

  • SplFileObject
  • PHP input/output streams (para php://temp y php://memory)

SplTempFileObject
Misceláneos clases e interfaces
SplTempFileObject


Misceláneos clases e interfaces

Tabla de contenidos

  • ArrayObject
  • SplObserver
  • SplSubject

Clases e interfaces que no entran en ninguna de las categorías SPL.

SplTempFileObject::__construct
ArrayObject
SPL


La clase ArrayObject

(PHP 5)

Introducción

Esta clase permite a los objetos funcionar como arrays.

Sinopsis de la Clase

ArrayObject implements IteratorAggregate , ArrayAccess , Serializable , Countable {
/* Constantes */
const integer STD_PROP_LIST = 1 ;
const integer ARRAY_AS_PROPS = 2 ;
/* Métodos */
public __construct ([ mixed $input = [] [, int $flags = 0 [, string $iterator_class = "ArrayIterator" ]]] )
public void append ( mixed $value )
public void asort ( void )
public int count ( void )
public array exchangeArray ( mixed $input )
public array getArrayCopy ( void )
public int getFlags ( void )
public ArrayIterator getIterator ( void )
public string getIteratorClass ( void )
public void ksort ( void )
public void natcasesort ( void )
public void natsort ( void )
public bool offsetExists ( mixed $index )
public mixed offsetGet ( mixed $index )
public void offsetSet ( mixed $index , mixed $newval )
public void offsetUnset ( mixed $index )
public void serialize ( void )
public void setFlags ( int $flags )
public void setIteratorClass ( string $iterator_class )
public void uasort ( callable $cmp_function )
public void uksort ( callable $cmp_function )
public void unserialize ( string $serialized )
}

Constantes predefinidas

Banderas de ArrayObject

ArrayObject::STD_PROP_LIST

Las propiedades del objeto tienen un comportamiento normal cuando se acceden como listado (var_dump, foreach, etc.).

ArrayObject::ARRAY_AS_PROPS

Se puede acceder a las entradas como propiedades (lectura y escritura).

Historial de cambios

Versión | Descripción
5.3.0 | Se implementó Serializable.

Tabla de contenidos

  • ArrayObject::append — Añade un valor
  • ArrayObject::asort — Ordena las entradas por valor
  • ArrayObject::__construct — Construir un nuevo objeto Array
  • ArrayObject::count — Obtener el número de propiedades públicas en la clase ArrayObject
  • ArrayObject::exchangeArray — Intercambia el array por otro
  • ArrayObject::getArrayCopy — Crea una copia de la clase ArrayObject
  • ArrayObject::getFlags — Obtiene las flags de comportamiento
  • ArrayObject::getIterator — Crear un nuevo iterador desde una instancia ArrayObject
  • ArrayObject::getIteratorClass — Obtiene el nombre de clase iterador para ArrayObject
  • ArrayObject::ksort — Ordena las entradas por clave
  • ArrayObject::natcasesort — Ordena un array usando un algoritmo orden natural
  • ArrayObject::natsort — Ordena entradas usando un algoritmo de orden natural
  • ArrayObject::offsetExists — Devuelve si el índice solicitado existe
  • ArrayObject::offsetGet — Devuelve el valor del índice especificado
  • ArrayObject::offsetSet — Establece el valor en el índice especificado
  • ArrayObject::offsetUnset — Destruye el valor para el índice especificado
  • ArrayObject::serialize — Serializa un ArrayObject
  • ArrayObject::setFlags — Establece las flags de comportamiento
  • ArrayObject::setIteratorClass — Establece el nombre de clase iterador para ArrayObject
  • ArrayObject::uasort — Ordena las entradas con una función de comparación definida por el usuario y mantiene asociación de claves
  • ArrayObject::uksort — Ordena las entradas por clave usando una función de comparación definida por el usuario
  • ArrayObject::unserialize — Deserializar el objeto ArrayObject
Misceláneos clases e interfaces
ArrayObject::append
Misceláneos clases e interfaces


Añade un valor

ArrayObject
ArrayObject::asort
ArrayObject
PHP Manual

ArrayObject::append

(PHP 5 >= 5.0.0)

ArrayObject::append — Añade un valor

Descripción

public void ArrayObject::append ( mixed $value )

Añade un nuevo valor como el último elemento.

Nota:

Este método no puede ser llamado cuando la clase ArrayObject fue construida a partir de un objeto. Utilice ArrayObject::offsetSet() en su lugar.

Parámetros

value

El valor a ser añadido.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de ArrayObject::append()

<?php
$arrayobj = new ArrayObject(array('primero','segundo','tercero'));
$arrayobj->append('cuarto');
$arrayobj->append(array('quinto', 'sexto'));
var_dump($arrayobj);
?>

El resultado del ejemplo sería:

object(ArrayObject)#1 (5) {
  [0]=>
  string(5) "primero"
  [1]=>
  string(6) "segundo"
  [2]=>
  string(5) "tercero"
  [3]=>
  string(6) "cuarto"
  [4]=>
  array(2) {
    [0]=>
    string(4) "quinto"
    [1]=>
    string(3) "sexto"
  }
}

Ver también

  • ArrayObject::offsetSet() - Establece el valor en el índice especificado

ArrayObject
ArrayObject::asort
ArrayObject


Ordena las entradas por valor

ArrayObject::append
ArrayObject::__construct
ArrayObject
PHP Manual

ArrayObject::asort

(PHP 5 >= 5.2.0)

ArrayObject::asort — Ordena las entradas por valor

Descripción

public void ArrayObject::asort ( void )

Ordenar las entradas de modo que las claves mantengan su correlación con las entradas que están asociadas. Esto se utiliza principalmente para ordenar arrays asociativos cuando el orden de los elementos es importante.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 ArrayObject::asort() example

<?php
$fruits = array("d" => "limon", "a" => "naranja", "b" => "banana", "c" => "manzana");
$fruitArrayObject = new ArrayObject($fruits);
$fruitArrayObject->asort();

foreach ($fruitArrayObject as $key => $val) {
    echo "$key = $val\n";
}
?>

El resultado del ejemplo sería:

b = banana
d = limon
c = manzana
a = naranja

Las frutas han sido ordenadas en orden alfabético, y la clave asociada con cada entrada se ha mantenido.

Ver también

  • ArrayObject::ksort() - Ordena las entradas por clave
  • ArrayObject::natsort() - Ordena entradas usando un algoritmo de orden natural
  • ArrayObject::natcasesort() - Ordena un array usando un algoritmo orden natural
  • ArrayObject::uasort() - Ordena las entradas con una función de comparación definida por el usuario y mantiene asociación de claves
  • ArrayObject::uksort() - Ordena las entradas por clave usando una función de comparación definida por el usuario

ArrayObject::append
ArrayObject::__construct
ArrayObject


Construir un nuevo objeto Array

ArrayObject::asort
ArrayObject::count
ArrayObject
PHP Manual

ArrayObject::__construct

(PHP 5 >= 5.0.0)

ArrayObject::__construct — Construir un nuevo objeto Array

Descripción

public ArrayObject::__construct() ([ mixed $input = [] [, int $flags = 0 [, string $iterator_class = "ArrayIterator" ]]] )

Esto crea un nuevo objeto array.

Parámetros

input

Este parámetro de input (entrada) acepta un array o un objeto.

flags

Flags para controlar el comportamiento del objeto ArrayObject.

iterator_class

Especifica la clase que va a ser usada para la iteración del objeto ArrayObject. ArrayIterator es la clase usada por omisión.

Valores devueltos

Devuelve un objeto ArrayObject en caso de éxito.

Errores/Excepciones

Lanza una InvalidArgumentException cuando:

  • input no es un array u objeto
  • flags no es un integer
  • iterator_class no es un objeto que implementa Iterator

Ejemplos

Ejemplo #1 Ejemplo de ArrayObject::__construct()

<?php
$array = array('1' => 'uno',
               '2' => 'dos',
               '3' => 'tres');

$arrayobject = new ArrayObject($array);

var_dump($arrayobject);
?>

El resultado del ejemplo sería:

object(ArrayObject)#1 (3) {
  [1]=>
  string(3) "uno"
  [2]=>
  string(3) "dos"
  [3]=>
  string(5) "tres"
}

Ver también

  • ArrayObject::setflags() - Establece las flags de comportamiento

ArrayObject::asort
ArrayObject::count
ArrayObject


Obtener el número de propiedades públicas en la clase ArrayObject

ArrayObject::__construct
ArrayObject::exchangeArray
ArrayObject
PHP Manual

ArrayObject::count

(PHP 5 >= 5.0.0)

ArrayObject::count — Obtener el número de propiedades públicas en la clase ArrayObject

Descripción

public int ArrayObject::count ( void )

Obtiene el número de propiedades públicas en la clase ArrayObject.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El número de propiedades públicas en la clase ArrayObject.

Nota:

Cuando la clase ArrayObject se construye a partir de un array todas las propiedades son públicas.

Ejemplos

Ejemplo #1 Ejemplo de ArrayObject::count()

<?php
class Ejemplo {
    public $public = 'prop:public';
    private $prv   = 'prop:private';
    protected $prt = 'prop:protected';
}

$arrayobj = new ArrayObject(new Ejemplo());
var_dump($arrayobj->count());

$arrayobj = new ArrayObject(array('primero','segundo','tercero'));
var_dump($arrayobj->count());
?>

El resultado del ejemplo sería:

int(1)
int(3)

ArrayObject::__construct
ArrayObject::exchangeArray
ArrayObject


Intercambia el array por otro

ArrayObject::count
ArrayObject::getArrayCopy
ArrayObject
PHP Manual

ArrayObject::exchangeArray

(PHP 5 >= 5.1.0)

ArrayObject::exchangeArray — Intercambia el array por otro

Descripción

public array ArrayObject::exchangeArray ( mixed $input )

Intercambiar el array actual con otro array u objeto.

Parámetros

input

El nuevo array u objeto a ser intercambiado con el array actual.

Valores devueltos

Devuelve el array antiguo.

Ejemplos

Ejemplo #1 ArrayObject::exchangeArray() example

<?php
// Array de frutas
$fruits = array("limones" => 1, "naranjas" => 4, "bananas" => 5, "manzanas" => 10);
// Array de lugares en Europa
$locations = array('Amsterdam', 'Paris', 'London');

$fruitsArrayObject = new ArrayObject($fruits);

// Now exchange fruits for locations
$old = $fruitsArrayObject->exchangeArray($locations);
print_r($old);
print_r($fruitsArrayObject);

?>

El resultado del ejemplo sería:

Array
(
    [limones] => 1
    [naranjas] => 4
    [bananas] => 5
    [manzanas] => 10
)
ArrayObject Object
(
    [0] => Amsterdam
    [1] => Paris
    [2] => London
)

ArrayObject::count
ArrayObject::getArrayCopy
ArrayObject


Crea una copia de la clase ArrayObject

ArrayObject::exchangeArray
ArrayObject::getFlags
ArrayObject
PHP Manual

ArrayObject::getArrayCopy

(PHP 5 >= 5.0.0)

ArrayObject::getArrayCopy — Crea una copia de la clase ArrayObject

Descripción

public array ArrayObject::getArrayCopy ( void )

Exporta la clase ArrayObject a un array.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una copia del array. Cuando la clase ArrayObject Returns a copy of the array. When the ArrayObject hace referencia a un objeto, un array de las propiedades públicas del objeto que será devuelto.

Ejemplos

Ejemplo #1 ArrayObject::getArrayCopy() example

<?php
// Array de frutas
$fruits = array("limones" => 1, "naranjas" => 4, "bananas" => 5, "manzanas" => 10);

$fruitsArrayObject = new ArrayObject($fruits);
$fruitsArrayObject['peras'] = 4;

// crear una copia del array
$copy = $fruitsArrayObject->getArrayCopy();
print_r($copy);

?>

El resultado del ejemplo sería:

Array
(
    [limones] => 1
    [naranjas] => 4
    [bananas] => 5
    [manzanas] => 10
    [peras] => 4
)

ArrayObject::exchangeArray
ArrayObject::getFlags
ArrayObject


Obtiene las flags de comportamiento

ArrayObject::getArrayCopy
ArrayObject::getIterator
ArrayObject
PHP Manual

ArrayObject::getFlags

(PHP 5 >= 5.1.0)

ArrayObject::getFlags — Obtiene las flags de comportamiento

Descripción

public int ArrayObject::getFlags ( void )

Obtener las flags de comportamiento de la clase ArrayObject. Véase el método ArrayObject::setFlags para obtener una lista de las flags disponibles.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve las flags de comportamiento de la clase ArrayObject.

Ejemplos

Ejemplo #1 Ejemplo de ArrayObject::getFlags()

<?php
// Array de frutas
$fruits = array("limones" => 1, "naranjas" => 4, "bananas" => 5, "manzanas" => 10);

$fruitsArrayObject = new ArrayObject($fruits);

// Obtiene las flags actuales.
$flags = $fruitsArrayObject->getFlags();
var_dump($flags);

// Establece nuevas flags.
$fruitsArrayObject->setFlags(ArrayObject::ARRAY_AS_PROPS);

// Obtener las nuevas flags.
$flags = $fruitsArrayObject->getFlags();
var_dump($flags);
?>

El resultado del ejemplo sería:

int(0)
int(2)

Ver también

  • El método ArrayObject::setFlags

ArrayObject::getArrayCopy
ArrayObject::getIterator
ArrayObject


Crear un nuevo iterador desde una instancia ArrayObject

ArrayObject::getFlags
ArrayObject::getIteratorClass
ArrayObject
PHP Manual

ArrayObject::getIterator

(PHP 5 >= 5.0.0)

ArrayObject::getIterator — Crear un nuevo iterador desde una instancia ArrayObject

Descripción

public ArrayIterator ArrayObject::getIterator ( void )

Crear un nuevo iterador desde una instancia ArrayObject.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un iterador de una clase ArrayObject.

Ejemplos

Ejemplo #1 Ejemplo de ArrayObject::getIterator()

<?php
$array = array('1' => 'uno',
               '2' => 'dos',
               '3' => 'tres');

$arrayobject = new ArrayObject($array);

$iterator = $arrayobject->getIterator();

while($iterator->valid()) {
    echo $iterator->key() . ' => ' . $iterator->current() . "\n";

    $iterator->next();
}
?>

El resultado del ejemplo sería:

1 => uno
2 => dos
3 => tres

ArrayObject::getFlags
ArrayObject::getIteratorClass
ArrayObject


Obtiene el nombre de clase iterador para ArrayObject

ArrayObject::getIterator
ArrayObject::ksort
ArrayObject
PHP Manual

ArrayObject::getIteratorClass

(PHP 5 >= 5.1.0)

ArrayObject::getIteratorClass — Obtiene el nombre de clase iterador para ArrayObject

Descripción

public string ArrayObject::getIteratorClass ( void )

Obtener el nombre de clase iterador de array que es utilizado por ArrayObject::getIterator().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns the iterator class name that is used to iterate over this object.

Ejemplos

Ejemplo #1 ArrayObject::getIteratorClass() example

<?php
// ArrayIterator personalizado (hereda de ArrayIterator)
class MiArrayIterator extends ArrayIterator {
    //Implementación personalizada
}

// Array de frutas
$fruits = array("limones" => 1, "naranjas" => 4, "bananas" => 5, "manzanas" => 10);

$fruitsArrayObject = new ArrayObject($fruits);

// Obtener el nombre de la clase iterador actual
$className = $fruitsArrayObject->getIteratorClass();
var_dump($className);

// Establece el nuevo nombre de clase
$fruitsArrayObject->setIteratorClass('MiArrayIterator');

// Obtener el nuevo nombre de clase iterador
$className = $fruitsArrayObject->getIteratorClass();
var_dump($className);
?>

El resultado del ejemplo sería:

string(13) "ArrayIterator"
string(15) "MiArrayIterator"

Ver también

  • El método ArrayObject::setIteratorClass

ArrayObject::getIterator
ArrayObject::ksort
ArrayObject


Ordena las entradas por clave

ArrayObject::getIteratorClass
ArrayObject::natcasesort
ArrayObject
PHP Manual

ArrayObject::ksort

(PHP 5 >= 5.2.0)

ArrayObject::ksort — Ordena las entradas por clave

Descripción

public void ArrayObject::ksort ( void )

ordenar las entradas por clave, manteniendo la correlación de claves para la entrada. Esto es útil principalmente en arrays asociativos.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de ArrayObject::ksort()

<?php
$fruits = array("d" => "limon", "a" => "naranja", "b" => "banana", "c" => "manzana");
$fruitArrayObject = new ArrayObject($fruits);
$fruitArrayObject->ksort();

foreach ($fruitArrayObject as $key => $val) {
    echo "$key = $val\n";
}
 ?>

El resultado del ejemplo sería:

a = naranja
b = banana
c = manzana
d = limon

Ver también

  • ArrayObject::asort() - Ordena las entradas por valor
  • ArrayObject::natsort() - Ordena entradas usando un algoritmo de orden natural
  • ArrayObject::natcasesort() - Ordena un array usando un algoritmo orden natural
  • ArrayObject::uasort() - Ordena las entradas con una función de comparación definida por el usuario y mantiene asociación de claves
  • ArrayObject::uksort() - Ordena las entradas por clave usando una función de comparación definida por el usuario

ArrayObject::getIteratorClass
ArrayObject::natcasesort
ArrayObject


Ordena un array usando un algoritmo orden natural

ArrayObject::ksort
ArrayObject::natsort
ArrayObject
PHP Manual

ArrayObject::natcasesort

(PHP 5 >= 5.2.0)

ArrayObject::natcasesort — Ordena un array usando un algoritmo orden natural

Descripción

public void ArrayObject::natcasesort ( void )

Este método es la versión insensible de ArrayObject::natsort.

Este método implementa un algoritmo que ordena string alfanuméricos en la forma en que un humano debe mantener la asociación clave/valor.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de ArrayObject::natcasesort()

<?php
$array = array('IMG0.png', 'img12.png', 'img10.png', 'img2.png', 'img1.png', 'IMG3.png');

$arr1 = new ArrayObject($array);
$arr2 = clone $arr1;

$arr1->asort();
echo "Orden estándar\n";
print_r($arr1);

$arr2->natcasesort();
echo "\nOrden natural (mayúsculas/minúsculas)\n";
print_r($arr2);
?>

El resultado del ejemplo sería:

Orden estándar
ArrayObject Object
(
    [0] => IMG0.png
    [5] => IMG3.png
    [4] => img1.png
    [2] => img10.png
    [1] => img12.png
    [3] => img2.png
)

Orden natural (mayúsculas/minúsculas)
ArrayObject Object
(
    [0] => IMG0.png
    [4] => img1.png
    [3] => img2.png
    [5] => IMG3.png
    [2] => img10.png
    [1] => img12.png
)

Para obtener más información véase la página: » Comparación de cadenas en orden natural de Martin Pool's.

Ver también

  • ArrayObject::asort() - Ordena las entradas por valor
  • ArrayObject::ksort() - Ordena las entradas por clave
  • ArrayObject::natsort() - Ordena entradas usando un algoritmo de orden natural
  • ArrayObject::uasort() - Ordena las entradas con una función de comparación definida por el usuario y mantiene asociación de claves
  • ArrayObject::uksort() - Ordena las entradas por clave usando una función de comparación definida por el usuario

ArrayObject::ksort
ArrayObject::natsort
ArrayObject


Ordena entradas usando un algoritmo de orden natural

ArrayObject::natcasesort
ArrayObject::offsetExists
ArrayObject
PHP Manual

ArrayObject::natsort

(PHP 5 >= 5.2.0)

ArrayObject::natsort — Ordena entradas usando un algoritmo de orden natural

Descripción

public void ArrayObject::natsort ( void )

Este método implementa un algoritmo que ordena string alfanuméricas en la forma en que un humano seguiría manteniendo la asociación clave/valor. Esto se describe como un "orden natural". Un ejemplo de la diferencia entre este algoritmo y los algoritmos comunes de computadoras para ordenar string. (Usado en el método ArrayObject::asort) puede verse en el siguiente ejemplo.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de ArrayObject::natsort()

<?php
$array = array("img12.png", "img10.png", "img2.png", "img1.png");

$arr1 = new ArrayObject($array);
$arr2 = clone $arr1;

$arr1->asort();
echo "Ordenamiento estándar\n";
print_r($arr1);

$arr2->natsort();
echo "\nOrdenamiento de orden naturar\n";
print_r($arr2);
?>

El resultado del ejemplo sería:

Ordenamiento estándar
ArrayObject Object
(
    [3] => img1.png
    [1] => img10.png
    [0] => img12.png
    [2] => img2.png
)

Ordenamiento de orden naturar
ArrayObject Object
(
    [3] => img1.png
    [2] => img2.png
    [1] => img10.png
    [0] => img12.png
)

Para obtener más información véase la página: » Comparación de cadenas en orden natural de Martin Pool's.

Ver también

  • ArrayObject::asort() - Ordena las entradas por valor
  • ArrayObject::ksort() - Ordena las entradas por clave
  • ArrayObject::natcasesort() - Ordena un array usando un algoritmo orden natural
  • ArrayObject::uasort() - Ordena las entradas con una función de comparación definida por el usuario y mantiene asociación de claves
  • ArrayObject::uksort() - Ordena las entradas por clave usando una función de comparación definida por el usuario

ArrayObject::natcasesort
ArrayObject::offsetExists
ArrayObject


Devuelve si el índice solicitado existe

ArrayObject::natsort
ArrayObject::offsetGet
ArrayObject
PHP Manual

ArrayObject::offsetExists

(PHP 5 >= 5.0.0)

ArrayObject::offsetExists — Devuelve si el índice solicitado existe

Descripción

public bool ArrayObject::offsetExists ( mixed $index )

Parámetros

index

El índice a ser comprobado.

Valores devueltos

TRUE si el índice solicitado existe, en caso contrario FALSE

Ejemplos

Ejemplo #1 Ejemplo de ArrayObject::offsetExists()

<?php
$arrayobj = new ArrayObject(array('cero', 'uno', 'ejemplo'=>'e.j.'));
var_dump($arrayobj->offsetExists(1));
var_dump($arrayobj->offsetExists('ejemplo'));
var_dump($arrayobj->offsetExists('noencontrado'));
?>

El resultado del ejemplo sería:

bool(true)
bool(true)
bool(false)

ArrayObject::natsort
ArrayObject::offsetGet
ArrayObject


Devuelve el valor del índice especificado

ArrayObject::offsetExists
ArrayObject::offsetSet
ArrayObject
PHP Manual

ArrayObject::offsetGet

(PHP 5 >= 5.0.0)

ArrayObject::offsetGet — Devuelve el valor del índice especificado

Descripción

public mixed ArrayObject::offsetGet ( mixed $index )

Parámetros

index

El índice con el valor.

Valores devueltos

El valor del índice especificado o NULL.

Errores/Excepciones

Produce un mensajde de error E_NOTICE al especificar un índice inexistente.

Ejemplos

Ejemplo #1 Ejemplo de ArrayObject::offsetGet()

<?php
$arrayobj = new ArrayObject(array('cero', 7, 'ejemplo'=>'p.ej.'));
var_dump($arrayobj->offsetGet(1));
var_dump($arrayobj->offsetGet('ejemplo'));
var_dump($arrayobj->offsetExists('no_encontrado'));
?>

El resultado del ejemplo sería:

int(7)
string(5) "p.ej."
bool(false)

ArrayObject::offsetExists
ArrayObject::offsetSet
ArrayObject


Establece el valor en el índice especificado

ArrayObject::offsetGet
ArrayObject::offsetUnset
ArrayObject
PHP Manual

ArrayObject::offsetSet

(PHP 5 >= 5.0.0)

ArrayObject::offsetSet — Establece el valor en el índice especificado

Descripción

public void ArrayObject::offsetSet ( mixed $index , mixed $newval )

Establecer el valor en el índice especificado por newval.

Parámetros

index

El índice a ser establecido.

newval

El nuevo valor para el index.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de ArrayObject::offsetSet()

<?php
class Ejemplo {
    public $property = 'prop:public';
}
$arrayobj = new ArrayObject(new Ejemplo());
$arrayobj->offsetSet(4, 'cuatro');
$arrayobj->offsetSet('grupo', array('g1', 'g2'));
var_dump($arrayobj);

$arrayobj = new ArrayObject(array('cero','uno'));
$arrayobj->offsetSet(null, 'último');
var_dump($arrayobj);
?>

El resultado del ejemplo sería:

object(ArrayObject)#1 (3) {
  ["property"]=>
  string(11) "prop:public"
  [4]=>
  string(6) "cuatro"
  ["grupo"]=>
  array(2) {
    [0]=>
    string(2) "g1"
    [1]=>
    string(2) "g2"
  }
}
object(ArrayObject)#3 (3) {
  [0]=>
  string(4) "cero"
  [1]=>
  string(3) "uno"
  [2]=>
  string(6) "último"
}

Ver también

  • ArrayObject::append() - Añade un valor

ArrayObject::offsetGet
ArrayObject::offsetUnset
ArrayObject


Destruye el valor para el índice especificado

ArrayObject::offsetSet
ArrayObject::serialize
ArrayObject
PHP Manual

ArrayObject::offsetUnset

(PHP 5 >= 5.0.0)

ArrayObject::offsetUnset — Destruye el valor para el índice especificado

Descripción

public void ArrayObject::offsetUnset ( mixed $index )

Destruir el valor para el índice especificado.

Parámetros

index

El índice a ser destruido.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de ArrayObject::offsetUnset()

<?php
$arrayobj = new ArrayObject(array(0=>'cero',2=>'dos'));
$arrayobj->offsetUnset(2);
var_dump($arrayobj);
?>

El resultado del ejemplo sería:

object(ArrayObject)#1 (1) {
  [0]=>
  string(4) "cero"
}

ArrayObject::offsetSet
ArrayObject::serialize
ArrayObject


Serializa un ArrayObject

ArrayObject::offsetUnset
ArrayObject::setFlags
ArrayObject
PHP Manual

ArrayObject::serialize

(PHP 5 >= 5.3.0)

ArrayObject::serialize — Serializa un ArrayObject

Descripción

public void ArrayObject::serialize ( void )

Serializar un ArrayObject.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Representación serializada de ArrayObject.

Ejemplos

Ejemplo #1 Ejemplo de ArrayObject::serialize()

<?php
$o = new ArrayObject();

$s1 = serialize($o);
$s2 = $o->serialize();

var_dump($s1);
var_dump($s2);
?>

El resultado del ejemplo sería:

string(45) "C:11:"ArrayObject":21:{x:i:0;a:0:{};m:a:0:{}}"
string(21) "x:i:0;a:0:{};m:a:0:{}"

Ver también

  • ArrayObject::unserialize() - Deserializar el objeto ArrayObject
  • serialize() - Genera una representación apta para el almacenamiento de un valor
  • Serialización de objetos

ArrayObject::offsetUnset
ArrayObject::setFlags
ArrayObject


Establece las flags de comportamiento

ArrayObject::serialize
ArrayObject::setIteratorClass
ArrayObject
PHP Manual

ArrayObject::setFlags

(PHP 5 >= 5.1.0)

ArrayObject::setFlags — Establece las flags de comportamiento

Descripción

public void ArrayObject::setFlags ( int $flags )

Establecer las flags que cambian el comportamiento de la clase ArrayObject.

Parámetros

flags

El nuevo comportamiento de ArrayObject. Se necesita una máscara de bits, o constantes con nombre. El uso de constantes con nombre es bastante recomendable para asegurar la compatibilidad con versiones futuras.

Las flags de comportamiento disponibles se enumeran a continuación. El significado de estos parámetros están descritos en las constantes predefinidas.

Flags de comportamiento de ArrayObject
value | constant
1 | ArrayObject::STD_PROP_LIST
2 | ArrayObject::ARRAY_AS_PROPS

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de ArrayObject::setFlags()

<?php
// Array de frutas
$fruits = array("limones" => 1, "naranjas" => 4, "bananas" => 5, "manzanas" => 10);

$fruitsArrayObject = new ArrayObject($fruits);

// Intento de usar una clave de array como propiedad
var_dump($fruitsArrayObject->limones);
// Establecer que las claves del array puedan ser usadas como propiedades
$fruitsArrayObject->setFlags(ArrayObject::ARRAY_AS_PROPS);
// Vuelva a intentarlo
var_dump($fruitsArrayObject->limones);
?>

El resultado del ejemplo sería:

NULL
int(1)

ArrayObject::serialize
ArrayObject::setIteratorClass
ArrayObject


Establece el nombre de clase iterador para ArrayObject

ArrayObject::setFlags
ArrayObject::uasort
ArrayObject
PHP Manual

ArrayObject::setIteratorClass

(PHP 5 >= 5.1.0)

ArrayObject::setIteratorClass — Establece el nombre de clase iterador para ArrayObject

Descripción

public void ArrayObject::setIteratorClass ( string $iterator_class )

Establecer el nombre de clase iterador que es usado por ArrayObject::getIterator().

Parámetros

iterator_class

El nombre de clase de el array iterador a usar cuando se itera sobre este objeto.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de ArrayObject::setIteratorClass()

<?php
// ArrayIterator personalizado (hereda de ArrayIterator)
class MiArrayIterator extends ArrayIterator {
    // custom implementation
}

// Array de frutas
$fruits = array("limones" => 1, "naranjas" => 4, "bananas" => 5, "manzanas" => 10);

$fruitsArrayObject = new ArrayObject($fruits);

// Establece el nombre de clase del iterador nuevamente.
$fruitsArrayObject->setIteratorClass('MiArrayIterator');
print_r($fruitsArrayObject->getIterator());

?>

El resultado del ejemplo sería:

MyArrayIterator Object
(
    [limones] => 1
    [naranjas] => 4
    [bananas] => 5
    [manzanas] => 10
)

ArrayObject::setFlags
ArrayObject::uasort
ArrayObject


Ordena las entradas con una función de comparación definida por el usuario y mantiene asociación de claves

ArrayObject::setIteratorClass
ArrayObject::uksort
ArrayObject
PHP Manual

ArrayObject::uasort

(PHP 5 >= 5.2.0)

ArrayObject::uasort — Ordena las entradas con una función de comparación definida por el usuario y mantiene asociación de claves

Descripción

public void ArrayObject::uasort ( callable $cmp_function )

Esta función ordena las entradas de forma que las claves mantengan su correlación con la entrada que está asociada con, una función de comparación definida por el usuario.

Esto se utiliza principalmente para ordenar arrays asociativos donde el orden de los elementos es importante.

Parámetros

cmp_function

La función cmp_function acepta 2 parámetros que serán llenados por pares de entradas. La función de comparación debe devolver un integer menor que, igual a, o mayor que cero si el primer argumento es menor que, igual a, o mayor que el segundo.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de ArrayObject::uasort()

<?php
// Función de comparación
function cmp($a, $b) {
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
}

// Array a ser ordenado
$array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4);
$arrayObject = new ArrayObject($array);
print_r($arrayObject);

// Ordena e imprime el resultado del array
$arrayObject->uasort('cmp');
print_r($arrayObject);
?>

El resultado del ejemplo sería:

Array
(
    [a] => 4
    [b] => 8
    [c] => -1
    [d] => -9
    [e] => 2
    [f] => 5
    [g] => 3
    [h] => -4
)
Array
(
    [d] => -9
    [h] => -4
    [c] => -1
    [e] => 2
    [g] => 3
    [a] => 4
    [f] => 5
    [b] => 8
)

Ver también

  • ArrayObject::asort() - Ordena las entradas por valor
  • ArrayObject::ksort() - Ordena las entradas por clave
  • ArrayObject::natsort() - Ordena entradas usando un algoritmo de orden natural
  • ArrayObject::natcasesort() - Ordena un array usando un algoritmo orden natural
  • ArrayObject::uksort() - Ordena las entradas por clave usando una función de comparación definida por el usuario

ArrayObject::setIteratorClass
ArrayObject::uksort
ArrayObject


Ordena las entradas por clave usando una función de comparación definida por el usuario

ArrayObject::uasort
ArrayObject::unserialize
ArrayObject
PHP Manual

ArrayObject::uksort

(PHP 5 >= 5.2.0)

ArrayObject::uksort — Ordena las entradas por clave usando una función de comparación definida por el usuario

Descripción

public void ArrayObject::uksort ( callable $cmp_function )

Esta función ordena las claves de las entradas usando una función de compración suministrada por el usuario. La correlación de clave será mantenida.

Parámetros

cmp_function

La función de devolución de llamada de comparación.

La función cmp_function acepta 2 parámetros que serán llenados por pares de entradas. La función de comparación debe devolver un integer menor que, igual a, o mayor que cero si el primer argumento es menor que, igual a, o mayor que el segundo.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de ArrayObject::uksort()

<?php
function cmp($a, $b) {
    $a = preg_replace('@^(a|an|the) @', '', $a);
    $b = preg_replace('@^(a|an|the) @', '', $b);
    return strcasecmp($a, $b);
}

$array = array("John" => 1, "la Tierra" => 2, "una manzana" => 3, "una banana" => 4);
$arrayObject = new ArrayObject($array);
$arrayObject->uksort('cmp');

foreach ($arrayObject as $key => $value) {
    echo "$key: $value\n";
}
?>

El resultado del ejemplo sería:

una manzana: 3
una banana: 4
la Tierra: 2
John: 1

Ver también

  • ArrayObject::asort() - Ordena las entradas por valor
  • ArrayObject::ksort() - Ordena las entradas por clave
  • ArrayObject::natsort() - Ordena entradas usando un algoritmo de orden natural
  • ArrayObject::natcasesort() - Ordena un array usando un algoritmo orden natural
  • ArrayObject::uasort() - Ordena las entradas con una función de comparación definida por el usuario y mantiene asociación de claves

ArrayObject::uasort
ArrayObject::unserialize
ArrayObject


Deserializar el objeto ArrayObject

ArrayObject::uksort
SplObserver
ArrayObject
PHP Manual

ArrayObject::unserialize

(PHP 5 >= 5.3.0)

ArrayObject::unserialize — Deserializar el objeto ArrayObject

Descripción

public void ArrayObject::unserialize ( string $serialized )

Deserializa un objeto ArrayObject serializado.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

serialized

El objeto ArrayObject serializado.

Valores devueltos

El objeto ArrayObject deserializado.

Ver también

  • ArrayIterator::serialize() - Serializar
  • unserialize() - Crea un valor PHP a partir de una representación almacenada
  • Serialización de objetos

ArrayObject::uksort
SplObserver
ArrayObject


La interfaz SplObserver

(PHP 5 >= 5.1.0)

Introducción

La interfaz SplObserver se utiliza junto con SplSubject para implementar el patrón de diseño observador.

Sinopsis de la Interfaz

SplObserver {
/* Métodos */
abstract public void update ( SplSubject $subject )
}

Tabla de contenidos

  • SplObserver::update — Recibe actualizaciones de sujeto
ArrayObject::unserialize
SplObserver::update
Misceláneos clases e interfaces


Recibe actualizaciones de sujeto

SplObserver
SplSubject
SplObserver
PHP Manual

SplObserver::update

(PHP 5 >= 5.1.0)

SplObserver::update — Recibe actualizaciones de sujeto

Descripción

abstract public void SplObserver::update ( SplSubject $subject )

Este método es llamado cuando cualquier SplSubject se use para llamar llamadas adjuntas SplSubject::notify().

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

subject

El objeto SplSubject notificando al observador de una actualización.

Valores devueltos

No devuelve ningún valor.

SplObserver
SplSubject
SplObserver


El interfaz SplSubject

(PHP 5 >= 5.1.0)

Introducción

El interfaz SplSubject es usado en conjunto con SplObserver para implementar el patrón de diseño Observer.

Sinopsis de la Interfaz

SplSubject {
/* Métodos */
abstract public void attach ( SplObserver $observer )
abstract public void detach ( SplObserver $observer )
abstract public void notify ( void )
}

Tabla de contenidos

  • SplSubject::attach — Adjuntar un SplObserver
  • SplSubject::detach — Separa un observador
  • SplSubject::notify — Notificar un observador
SplObserver::update
SplSubject::attach
Misceláneos clases e interfaces


Adjuntar un SplObserver

SplSubject
SplSubject::detach
SplSubject
PHP Manual

SplSubject::attach

(PHP 5 >= 5.1.0)

SplSubject::attach — Adjuntar un SplObserver

Descripción

abstract public void SplSubject::attach ( SplObserver $observer )

Adjunta un SplObserver de esta forma puede ser notificado cuando hayan actualizaciones.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

observer

El SplObserver a adjuntar.

Valores devueltos

No devuelve ningún valor.

SplSubject
SplSubject::detach
SplSubject


Separa un observador

SplSubject::attach
SplSubject::notify
SplSubject
PHP Manual

SplSubject::detach

(PHP 5 >= 5.1.0)

SplSubject::detach — Separa un observador

Descripción

abstract public void SplSubject::detach ( SplObserver $observer )

Separa un observador del sujeto para dejar de notificarlo cuando hayan actualizaciones.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

observer

El SplObserver a separar.

Valores devueltos

No devuelve ningún valor.

SplSubject::attach
SplSubject::notify
SplSubject


Notificar un observador

SplSubject::detach
Tipos de datos SPL
SplSubject
PHP Manual

SplSubject::notify

(PHP 5 >= 5.1.0)

SplSubject::notify — Notificar un observador

Descripción

abstract public void SplSubject::notify ( void )

Notifica todos los observadores adjuntos.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

SplSubject::detach
Tipos de datos SPL
SplSubject


Manejo de tipos de datos SPL

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • SplType — La clase SplType
    • SplType::__construct — Crea un valor nuevo de algún tipo de dato
  • SplInt — La clase SplInt
  • SplFloat — La clase SplFloat
  • SplEnum — La clase SplEnum
    • SplEnum::getConstList — Devuelve todas las constantes (o valores posibles) como un array
  • SplBool — La clase SplBool
  • SplString — La clase SplString
SplSubject::notify
Introducción
Otras extensiones básicas


Introducción

Esta extensión tiene como objetivo ayudar a la gente hacer de PHP un lenguaje con tipos de datos más fuertes y puede ser una buena alternativa al tipo de dato escalar. Se proveen diferentes clases de manejo de tipos tales como integer, float, bool, enum y string

Advertencia

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombres de sus funciones y todo lo documentado sobre esta extensión, puede cambiar en una futura edición de PHP sin previo aviso. El uso de esta extensión queda bajo su propia responsabilidad.

Tipos de datos SPL
Instalación/Configuración
Tipos de datos SPL


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Tipos de datos SPL


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/SPL_Types.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Configuración en tiempo de ejecución
SplType
Instalación/Configuración


La clase SplType

(PECL spl_types >= 0.1.0)

Introducción

La clase padre para todos los tipos SPL.

Sinopsis de la Clase

abstract SplType {
/* Constantes */
const NULL __default = null ;
/* Métodos */
__construct ([ mixed $initial_value [, bool $strict ]] )
}

Constantes predefinidas

SplType::__default

Tabla de contenidos

  • SplType::__construct — Crea un valor nuevo de algún tipo de dato
Tipos de recursos
SplType::__construct
Tipos de datos SPL


Crea un valor nuevo de algún tipo de dato

SplType
SplInt
SplType
PHP Manual

SplType::__construct

(PECL spl_types >= 0.1.0)

SplType::__construct — Crea un valor nuevo de algún tipo de dato

Descripción

SplType::__construct ([ mixed $initial_value [, bool $strict ]] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

initial_value

Tipo de dato y valor predeterminado que depende de la extensión de la clase.

strict

Si se va a establecer la rigurosidad o lo estricto del objeto.

Errores/Excepciones

Lanza un UnexpectedValueException si se proporciona un tipo de dato incompatible.

SplType
SplInt
SplType


La clase SplInt

(PECL spl_types >= 0.1.0)

Introducción

La clase SplInt se utiliza para hacer cumplir el uso correcto del tipo de dato integer.

Sinopsis de la Clase

SplInt extends SplType {
/* Constantes */
const integer __default = 0 ;
/* Métodos heredados */
SplType::__construct ([ mixed $initial_value [, bool $strict ]] )
}

Constantes predefinidas

SplInt::__default

Ejemplos

Ejemplo #1 Ejemplo de uso de SplInt

<?php
$int = new SplInt(94);

try {
    $int = 'Intente hacer casteo a un valor string sólo por diversión';
} catch (UnexpectedValueException $uve) {
    echo $uve->getMessage() . PHP_EOL;
}

echo $int . PHP_EOL;
?>

El resultado del ejemplo sería:

El valor no es un integer
94

SplType::__construct
SplFloat
Tipos de datos SPL


La clase SplFloat

(PECL spl_types >= 0.1.0)

Introducción

La clase SplFloat se utiliza para hacer cumplir el uso correcto del tipo de dato float.

Sinopsis de la Clase

SplFloat extends SplType {
/* Constantes */
const float __default = 0 ;
/* Métodos heredados */
SplType::__construct ([ mixed $initial_value [, bool $strict ]] )
}

Constantes predefinidas

SplFloat::__default

Ejemplos

Ejemplo #1 Ejemplo de uso de SplFloat

<?php
$float = new SplFloat(3.154);
$newFloat = new SplFloat(3);

try {
    $float = 'Intente hacer casteo a un valor string sólo por diversión';
} catch (UnexpectedValueException $uve) {
    echo $uve->getMessage() . PHP_EOL;
}

echo $float . PHP_EOL;
echo $newFloat . PHP_EOL;
?>

El resultado del ejemplo sería:

El valor no es float
3.154
3

SplInt
SplEnum
Tipos de datos SPL


La clase SplEnum

(PECL spl_types >= 0.1.0)

Introducción

SplEnum proporciona la capacidad para emular y crear nativamente en PHP objetos de enumeración.

Sinopsis de la Clase

SplEnum extends SplType {
/* Constantes */
const NULL __default = null ;
/* Métodos */
public array getConstList ([ bool $include_default = false ] )
/* Métodos heredados */
SplType::__construct ([ mixed $initial_value [, bool $strict ]] )
}

Constantes predefinidas

SplEnum::__default

Ejemplos

Ejemplo #1 Ejemplo de uso de SplEnum

<?php
class Month extends SplEnum {
    const __default = self::Enero;

    const Enero = 1;
    const Febrero = 2;
    const Marzo = 3;
    const Abril = 4;
    const Mayo = 5;
    const Junio = 6;
    const Julio = 7;
    const Agosto = 8;
    const Septiembre = 9;
    const Octubre = 10;
    const Noviembre = 11;
    const Diciembre = 12;
}

echo new Month(Month::Junio) . PHP_EOL;

try {
    new Month(13);
} catch (UnexpectedValueException $uve) {
    echo $uve->getMessage() . PHP_EOL;
}
?>

El resultado del ejemplo sería:

6
El valor no es un const en la enumeración de la clase Month

Tabla de contenidos

  • SplEnum::getConstList — Devuelve todas las constantes (o valores posibles) como un array
SplFloat
SplEnum::getConstList
Tipos de datos SPL


Devuelve todas las constantes (o valores posibles) como un array

SplEnum
SplBool
SplEnum
PHP Manual

SplEnum::getConstList

(PECL spl_types >= 0.1.0)

SplEnum::getConstList — Devuelve todas las constantes (o valores posibles) como un array

Descripción

public array SplEnum::getConstList ([ bool $include_default = false ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

include_default

Ya sea para incluir una propiedad __default.

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de SplEnum::getConstList()

<?php
$bool = new SplBool;
var_dump($bool->getConstList(true));
?>

El resultado del ejemplo sería:

array(3) {
  ["__default"]=>
  bool(false)
  ["false"]=>
  bool(false)
  ["true"]=>
  bool(true)
}

SplEnum
SplBool
SplEnum


La clase SplBool

(PECL spl_types >= 0.1.0)

Introducción

La clase SplBool es usada para forzar el uso del tipo booleano.

Sinopsis de la Clase

SplBool extends SplEnum {
/* Constants */
const boolean __default = false ;
const boolean false = false ;
const boolean true = true ;
/* Métodos heredados */
public array SplEnum::getConstList ([ bool $include_default = false ] )
}

Constantes predefinidas

SplBool::__default

SplBool::false

SplBool::true

Ejemplos

Ejemplo #1 Ejemplo de uso de SplBool

<?php
$true = new SplBool(true);
if ($true) {
    echo "TRUE\n";
}

$false = new SplBool;
if ($false) {
    echo "FALSE\n";
}
?>

El resultado del ejemplo sería:

TRUE

SplEnum::getConstList
SplString
Tipos de datos SPL


La clase SplString

(PECL spl_types >= 0.1.0)

Introducción

La clase SplString es utilizada para hacer cumplir el uso correcto del tipo de dato string.

Sinopsis de la Clase

SplString extends SplType {
/* Constantes */
const integer __default = 0 ;
/* Métodos heredados */
SplType::__construct ([ mixed $initial_value [, bool $strict ]] )
}

Constantes predefinidas

SplString::__default

Ejemplos

Ejemplo #1 Ejemplo de uso de SplString

<?php
$string = new SplString("Probando");

try {
    $string = array();
} catch (UnexpectedValueException $uve) {
    echo $uve->getMessage() . PHP_EOL;
}

var_dump($string);
echo $string; // Muesta la salida "Probando"
?>

El resultado del ejemplo sería:

El valor no es un string
object(SplString)#1 (1) {
  ["__default"]=>
  string(7) "Probando"
}
Probando

SplBool
Flujos
Tipos de datos SPL


Flujos

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Clases de Flujos
  • Constantes predefinidas
  • Filtros de Flujos
  • Contextos de Flujos
  • Errores de Flujos
  • Ejemplos
    • Ejemplo de clase registrada como envoltura de flujo
  • php_user_filter — La clase php_user_filter
    • php_user_filter::filter — Llamado cuando se aplica un filtro
    • php_user_filter::onClose — Llamado cuando se cierra el filtro
    • php_user_filter::onCreate — Llamado cuando se crea el filtro
  • streamWrapper — La clase streamWrapper
    • streamWrapper::__construct — Construye una nueva envoltura de flujo
    • streamWrapper::__destruct — Destruye una envoltura de flujo existente
    • streamWrapper::dir_closedir — Cerrar un gestor de directorio
    • streamWrapper::dir_opendir — Abrir un gestor de directorio
    • streamWrapper::dir_readdir — Leer una entrada desde el gestor de directorio
    • streamWrapper::dir_rewinddir — Rebobina el gestor de directorio
    • streamWrapper::mkdir — Crear un directorio
    • streamWrapper::rename — Renombra un archivo o directorio
    • streamWrapper::rmdir — Elimina un directorio
    • streamWrapper::stream_cast — Recuperar el recurso subyacente
    • streamWrapper::stream_close — Cerrar un recurso
    • streamWrapper::stream_eof — Comprueba si un puntero a un archivo está en el final del archivo (EOF)
    • streamWrapper::stream_flush — Vuelca la salida
    • streamWrapper::stream_lock — Bloqueo de archivos asesorado
    • streamWrapper::stream_metadata — Cambiar las opciones del flujo
    • streamWrapper::stream_open — Abre un archivo o una URL
    • streamWrapper::stream_read — Leer un flujo
    • streamWrapper::stream_seek — Busca la ubicación específica en un flujo
    • streamWrapper::stream_set_option — Cambiar las opciones del flujo
    • streamWrapper::stream_stat — Recuperar información sobre un recurso de archivo
    • streamWrapper::stream_tell — Recuperar la posición actual de un flujo
    • streamWrapper::stream_truncate — Truncar un flujo
    • streamWrapper::stream_write — Escribir en un flujo
    • streamWrapper::unlink — Borrar un archivo
    • streamWrapper::url_stat — Recuperar información sobre un archivo
  • Funciones de Flujos
    • set_socket_blocking — Alias de stream_set_blocking
    • stream_bucket_append — Añade un recipiente a una cadena de recipientes
    • stream_bucket_make_writeable — Devuelve un objeto recipiente desde una cadena de recipientes para operarar con él
    • stream_bucket_new — Crear un nuevo recipiente para usarlo en el flujo actual
    • stream_bucket_prepend — Añade un recipiente al principio de una cadena de recipientes
    • stream_context_create — Crear un contexto de flujo
    • stream_context_get_default — Recuperar el contexto de flujo predeterminado
    • stream_context_get_options — Recuperar las opciones para un flujo/envoltura/contexto
    • stream_context_get_params — Recuperar los parámetros de un contexto
    • stream_context_set_default — Establecer el contexto de flujo predeterminado
    • stream_context_set_option — Establece una opción para un flujo/envoltura/contexto
    • stream_context_set_params — Establecer parámetros para un flujo/envoltura/contexto
    • stream_copy_to_stream — Copia información desde un flujo a otro
    • stream_encoding — Establecer el conjunto de caracteres para la codificación del flujo
    • stream_filter_append — Enlaza un filtro a un flujo
    • stream_filter_prepend — Enlaza un filtro a un flujo
    • stream_filter_register — Registrar un filtro de flujo definido por el usuario
    • stream_filter_remove — Elimina un filtro de un flujo
    • stream_get_contents — Transfiere el resto de un flujo a una cadena
    • stream_get_filters — Recuperar la lista de los filtros registrados
    • stream_get_line — Obtiene una línea del recurso de flujo hasta un delimitador dado
    • stream_get_meta_data — Recuperar meta-información o de cabecera de punteros a flujos/archivo
    • stream_get_transports — Recuperar la lista de transportes de socket registrados
    • stream_get_wrappers — Recupera la lista de los flujos registrados
    • stream_is_local — Comprueba si un flujo es un flujo local
    • stream_notification_callback — Una función de llamada de retorno para el parámetro de contexto de notificación
    • stream_register_wrapper — Alias de stream_wrapper_register
    • stream_resolve_include_path — Resuelve el nombre de archivo en la ruta incluida
    • stream_select — Ejecuta el equivalente de la llamada al sistema select() sobre las matrices de flujos dadas con un tiempo de espera especificado por tv_sec y tv_usec
    • stream_set_blocking — Establecer el modo bloqueo/no-bloqueo en un flujo
    • stream_set_chunk_size — Establecer el tamaño de trozo de flujo
    • stream_set_read_buffer — Establece el búfer de lectura de archivos en el flujo dado
    • stream_set_timeout — Establecer un perido de tiempo de espera en un flujo
    • stream_set_write_buffer — Establece el búfer para escritura de archivos en el flujo dado
    • stream_socket_accept — Acepta una conexión sobre un socket creado por stream_socket_server
    • stream_socket_client — Abrir una conexión de socket de dominio de Internet o Unix
    • stream_socket_enable_crypto — Activa/desactiva la encriptación en un socket ya conectado
    • stream_socket_get_name — Recuperar el nombre de los sockets locales o remotos
    • stream_socket_pair — Crea un pareja de flujos de socket conectados e indistinguibles
    • stream_socket_recvfrom — Recibir información de un socket, conectado o no
    • stream_socket_sendto — Envía un mensaje a un socket, ya esté conectado o no
    • stream_socket_server — Crear un socket de servidor de dominio de Internet o de Unix
    • stream_socket_shutdown — Cerrar una conexión full-duplex
    • stream_supports_lock — Indica si el flujo soporta bloqueo
    • stream_wrapper_register — Registra una envoltura de URL implementada como una clase de PHP
    • stream_wrapper_restore — Restablece una envoltura incluida que se dejó de registrar previamente
    • stream_wrapper_unregister — Deja de registrar una envoltura de URL
SplString
Introducción
Otras extensiones básicas


Introducción

Los flujos fueron introducidos en PHP 4.3.0 como una manera de generalizar operaciones con ficheros, redes, compresión de datos, y otras operaciones que comparten un conjunto común de funciones y usos. En su definición más simple, un flujo es un objeto de tipo resource que exhibe un comportamiento similar al de un flujo. Esto es, puede ser leído o escrito de una manera lineal, y puede usar la función fseek() para buscar posiciones arbitrarias dentro del flujo.

Una envoltura es un códido adicional que le indica al flujo cómo manejar protocolos/codificaciones específicos. Por ejemplo, la envoltura http sabe cómo traducir un URL a una petición HTTP/1.0 para un fichero en un servidor remoto. Existen muchas envolturas incluidas en PHP de manera predeterminada (véase Protocolos y Envolturas soportados), y también se pueden añadir envolturas personalizadas a un script de PHP usando stream_wrapper_register(), o directamente desde una extensión utilizando la Referencia de la API, en la sección Trabajar con flujos. Ya que se puede añadir cualquier clase de envoltura a PHP, no existe un límite establecido sobre lo que se puede hacer con ellas. Para acceder a la lista de las envolturas actualmente registradas, use stream_get_wrappers().

Un flujo está descrito como: esquema://objetivo

  • esquema(string) - El nombre de la envoltura que se va a usar. Algunos ejemplos incluyen: file, http, https, ftp, ftps, compress.zlib, compress.bz2, y php. Una lista con las envolturas incluidas en PHP puede verse en la sección Protocolos y Envolturas soportados. Si no se especifica una envoltura, se usará la función predeterminada (normalmente file://).
  • objetivo - Depende de la envoltura usada. Para flujos relacionados con el sistema de ficheros, nomrmalmente es una ruta y un nombre de fichero. Para flujos relacionados con redes, normalmente es un nombre de host, a menudo con una ruta añadida al final. Se puede encontrar una descripción de los objetivos para los flujos incluidos en PHP en la sección Protocolos y Envolturas soportados.

Nota:

Se puede encontrar información sobre el uso de los flujos dentro del código fuente de PHP, en la Referencia de la API de flujos para autores de extensiones de PHP.

Flujos
Instalación/Configuración
Flujos


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Clases de Flujos
Introducción
Requerimientos
Flujos


Instalación

Los flujos son parte integral de PHP desde la versión 4.3.0. No se necesita nada para habilitarlos.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración definidas en php.ini.

Instalación
Clases de Flujos
Instalación/Configuración


Clases de Flujos

Las envolturas diseñadas por el usuario se pueden registrar mediante stream_wrapper_register(), usando la definición de la clase mostrada en esa página del manual.

La clase php_user_filter está predefinida y es una clase base abstracta para usarla con filtros definidos por el usuario. Véase la página del manual de stream_filter_register() para detalles sobre la implementación de filtros definidos por el usuario.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Constante | Descripción
STREAM_FILTER_READ * | Usada con stream_filter_append() y stream_filter_prepend() para indicar que el filtro especificado debería aplicarse solamente al leer
STREAM_FILTER_WRITE * | Usada con stream_filter_append() y stream_filter_prepend() para indicar que el filtro especificado debería aplicarse solamente al escribir
STREAM_FILTER_ALL * | Esta constante es equivalente a STREAM_FILTER_READ | STREAM_FILTER_WRITE
PSFS_PASS_ON * | Codigo Devuelto indicando que el filtro de espacio de usuario devolvió recipientes en $out.
PSFS_FEED_ME * | Codigo Devuelto indicando que el filtro de espacio de usuario no devolvió recipientes en $out (es decir, No hay información disponible).
PSFS_ERR_FATAL * | Codigo Devuelto indicando que el filtro de espacio de usuario encontró un error irrecuperable (es decir, Recibida información no válida).
PSFS_FLAG_NORMAL | Lectura/escritura normal.
PSFS_FLAG_FLUSH_INC | Un volcado incremental.
PSFS_FLAG_FLUSH_CLOSE | Volcado final antes de cerrar.
STREAM_USE_PATH | Bandera que indica si el flujo usó la ruta incluida.
STREAM_REPORT_ERRORS | Bandera que indica si la envoltura es responsable de lanzar errores usando trigger_error() durante la apertura del flujo. Si no se establece esta bandera, no debería de lanzarse ningún error.
STREAM_CLIENT_ASYNC_CONNECT * | Apertura del socket del cliente de manera asíncrona. Esta opción debe utilizarse junto con la bandera STREAM_CLIENT_CONNECT. Usada con stream_socket_client().
STREAM_CLIENT_CONNECT * | Apertura de la conexión de socket del cliente. Los sockets del cliente deberían incluir siempre esta bandera. Usada con stream_socket_client().
STREAM_CLIENT_PERSISTENT * | El socket del cliente abierto con stream_socket_client() debería permanecer persistente entre cargas de páginas.
STREAM_SERVER_BIND * | Le indica a un flujo creado con stream_socket_server() que enlace al objetivo especificado. Los sockets del servidor deberían incluir siempre esta bandera.
STREAM_SERVER_LISTEN * | Le indica a un flujo creado con stream_socket_server() y enlazado usando la bandera STREAM_SERVER_BIND que inicie la escucha del socket. Los transportes orientados a conexión (como TCP) deben usar esta bandera, de otro modo el socket del servidor no se habilitará. Usar esta bandera para transportes no orientados a conexión (como UDP) es un error.
STREAM_NOTIFY_RESOLVE * | Ha sido resuelta una dirección remota necesaria para este flujo, o la resolución falló. Véase severity para una indicación de lo que sucedió.
STREAM_NOTIFY_CONNECT | Ha sido establecida una conexión con un recurso externo.
STREAM_NOTIFY_AUTH_REQUIRED | Se requiere autorización adicional para acceder al recurso especificado. Normalmente emitido con nivel de severity de STREAM_NOTIFY_SEVERITY_ERR.
STREAM_NOTIFY_MIME_TYPE_IS | El tipo mime del recurso ha sido indentificado, consulte message para una descripción del tipo encontrado.
STREAM_NOTIFY_FILE_SIZE_IS | El tamaño del recurso ha sido encontrado.
STREAM_NOTIFY_REDIRECTED | El recurso externo ha redireccionado el flujo a una ubicación alternativa. Consulte message.
STREAM_NOTIFY_PROGRESS | Indica el progreso actual de la transmisión del flujo en bytes_transferred y posiblemente también en bytes_max.
STREAM_NOTIFY_COMPLETED * | No hay más información disponible en el flujo.
STREAM_NOTIFY_FAILURE | Ocurrión un error genérico en el flujo, consulte message y message_code para más detalles.
STREAM_NOTIFY_AUTH_RESULT | La autorización ha sido completada (con o sin éxito).
STREAM_NOTIFY_SEVERITY_INFO | Notificación normal, ningún error relacionado.
STREAM_NOTIFY_SEVERITY_WARN | Condición de no haber ningún error crítico. El proceso puede continuar.
STREAM_NOTIFY_SEVERITY_ERR | Ocurrió un error crítico. El proceso no puede continuar.
STREAM_IPPROTO_ICMP + | Proporciona un socket ICMP.
STREAM_IPPROTO_IP + | Proporciona un socket IP.
STREAM_IPPROTO_RAW + | Proporciona un socket RAW.
STREAM_IPPROTO_TCP + | Proporciona un socket TCP.
STREAM_IPPROTO_UDP + | Proporciona un socket UDP.
STREAM_PF_INET + | Protocolo de Internet Versión 4 (IPv4).
STREAM_PF_INET6 + | Protocolo de Internet Versión 6 (IPv6).
STREAM_PF_UNIX + | Protocolos internos de sistemas Unix.
STREAM_SOCK_DGRAM + | Proporciona datagramas, que son mensajes no orientados a conexión (UDP, por ejemplo).
STREAM_SOCK_RAW + | Proporciona un socket sin tratar, el cuál porporciona acceso a los protocolos e interfaces de red internos. Normalmente este tipo de socket está disponible para el usuario root.
STREAM_SOCK_RDM + | Proporciona un socket RDM (Reliably-Delivered Messages, Mensajes Formalmente Emitidos).
STREAM_SOCK_SEQPACKET + | Proporciona un socket de flujo de paquetes secuenciados.
STREAM_SOCK_STREAM + | Proporciona flujos secuenciados de bytes bidireccionales con un mecanismo de transmisión de información fuera de banda (TCP, por ejemplo).
STREAM_SHUT_RD | Usado con stream_socket_shutdown() para deshabilitar más recepciones. Añadido en PHP 5.2.1.
STREAM_SHUT_WR | Usado con stream_socket_shutdown() para deshabilitar más transmisiones. Añadido en PHP 5.2.1.
STREAM_SHUT_RDWR | Usado con stream_socket_shutdown() para deshabilitar más recepciones y transmisiones. Añadido en PHP 5.2.1.
STREAM_CAST_FOR_SELECT | Conversión del tipo de flujo, para cuando stream_select() llama a stream_cast().
STREAM_CAST_AS_STREAM | Conversión del tipo de flujo, cuando stream_cast() es llamada de otro modo (vea la constante de arriba).
STREAM_META_TOUCH | Usado con stream_metadata(), para especificar la llamada a touch().
STREAM_META_OWNER | Usado con stream_metadata(), para especificar la llamda a chown().
STREAM_META_OWNER_NAME | Usado con stream_metadata(), para especificar la llamada a chown().
STREAM_META_GROUP | Usado con stream_metadata(), para especificar la llamada a chgrp().
STREAM_META_GROUP_NAME | Usado con stream_metadata(), para especificar la llamada a chgrp().
STREAM_META_ACCESS | Usado con stream_metadata(), para especificar la llamada a chmod().

Nota: Las constantes marcadas con * están disponibles desde PHP 5.0.0.

Nota: Las constantes marcadas con + están disponibles desde PHP 5.1.0 y son usadas junto con stream_socket_pair(). Por favor, observe que alguna de estas constantes podría no estar disponible en su sistema.

Nota: Las constantes STREAM_META_* están disponibles desde PHP 5.4.0 y están destinadas a ser usadas con stream_metadata().

Clases de Flujos
Filtros de Flujos
Flujos


Filtros de Flujos

Un filtro es una pieza final de código que puede realizar operaciones sobre información que está siendo leída o escrita en un flujo. Se puede apilar cualquier número de filtros en un flujo. Los filtros personalizados se pueden definir en un script de PHP usando stream_filter_register() o en una extensión usando la Referencia de la API en Trabajar con flujos. Para acceder a la lista de los filtros actualmente registrados, use stream_get_filters().

Constantes predefinidas
Contextos de Flujos
Flujos


Contextos de Flujos

Un contexto es un conjunto de parámetors y opciones específicas de envolturas que modifican o mejoran el comportamiento de un flujo. Los contextos se crean usando stream_context_create() y se pueden pasar a la mayoría de las funciones de creación de flujos relacionados con sistemas de archivos (esto es, fopen(), file(), file_get_contents(), etc...).

Se pueden especificar opciones cuando se llama a stream_context_create(), o después, usando stream_context_set_option(). Una lista de opciones específicas de envolturas se puede encontrar en el capítulo Opciones de contexto y parámetros.

Se pueden especificar parámetros para los contextos usando la función stream_context_set_params().

Filtros de Flujos
Errores de Flujos
Flujos


Errores de Flujos

Como con cualquier función relacionada con un archivo o con un socket, una operación sobre un flujo puede fallar por varias razones normales (esto es: Incapaz de conectarse al host remoto, archivo no encontrado, etc...). Una llamada relacionada con un flujo puede también fallar porque el flujo no está registrado en el sistema en ejecución. Véase la matriz devuelta por stream_get_wrappers() para una lista de los flujos soportados por su instalación de PHP. Como con la mayoría de la funciones internas de PHP, si ocurre un error se generará un mensaje E_WARNING describiendo la naturaleza del error.

Contextos de Flujos
Ejemplos
Flujos


Ejemplos

Tabla de contenidos

  • Ejemplo de clase registrada como envoltura de flujo

Ejemplo #1 Usar file_get_contents() para recuperar información desde múltiples fuentes

<?php
/* Leer un archivo local desde /home/bar */
$archivolocal = file_get_contents("/home/bar/foo.txt");

/* Igual que arriba, explícitamente nombrando el protocolo FILE */
$archivolocal = file_get_contents("file:///home/bar/foo.txt");

/* Leer un archivo remoto desde www.example.com usando HTTP */
$archivohttp  = file_get_contents("http://www.example.com/foo.txt");

/* Leer un archivo remoto desde www.example.com usando HTTPS */
$archivohttps = file_get_contents("https://www.example.com/foo.txt");

/* Leer un archivo remoto desde ftp.example.com usando FTP */
$archivoftp   = file_get_contents("ftp://user:pass@ftp.example.com/foo.txt");

/* Leer un archivo remoto desde ftp.example.com usando FTPS */
$archivoftps  = file_get_contents("ftps://user:pass@ftp.example.com/foo.txt");
?>

Ejemplo #2 Hacer una petición POST a un servidor https

<?php
/* Enviar una petición POST a https://secure.example.com/form_action.php
* Incluir los elementos de formulario llamados "foo" y "bar" con valores sin importancia
*/

$sock = fsockopen("ssl://secure.example.com", 443, $errno, $errstr, 30);
if (!$sock) die("$errstr ($errno)\n");

$data = "foo=" . urlencode("Valor para Foo") . "&bar=" . urlencode("Valor para Bar");

fwrite($sock, "POST /form_action.php HTTP/1.0\r\n");
fwrite($sock, "Host: secure.example.com\r\n");
fwrite($sock, "Content-type: application/x-www-form-urlencoded\r\n");
fwrite($sock, "Content-length: " . strlen($data) . "\r\n");
fwrite($sock, "Accept: */*\r\n");
fwrite($sock, "\r\n");
fwrite($sock, $data);

$headers = "";
while ($str = trim(fgets($sock, 4096)))
$headers .= "$str\n";

echo "\n";

$body = "";
while (!feof($sock))
$body .= fgets($sock, 4096);

fclose($sock);
?>

Ejemplo #3 Escribir información en un archivo compirmido

<?php
/* Crear un archivo comprimido que contiene una cadena arbitraria
* El archivo se puede volver a leer usando el flujo compress.zlib o
* descomprimiéndolo desde la línea de comandos usando 'gzip -d foo-bar.txt.gz'
*/
$fp = fopen("compress.zlib://foo-bar.txt.gz", "wb");
if (!$fp) die("No se puede crear el archivo.");

fwrite($fp, "Esto es una prueba.\n");

fclose($fp);
?>

Errores de Flujos
Ejemplo de clase registrada como envoltura de flujo
Flujos


Ejemplo de clase registrada como envoltura de flujo

El ejemplo de abajo implementa un gestor de protocolo var:// que permite el acceso a la lectura/escritura de una variable global nominada usando un flujo de sistema de archivos estándar tal como fread(). El protocolo var:// implementado abajo, dada la URL "var://foo", leerá/escribirá información hacia/desde $GLOBALS["foo"].

Ejemplo #1 Un Flujo para leer/escribir variables globales

<?php

class FlujoVariable {
    var $posición;
    var $nombre;

    function stream_open($ruta, $modo, $opciones, &$ruta_abierta)
    {
        $url = parse_url($ruta);
        $this->nombre = $url["host"];
        $this->posición = 0;

        return true;
    }

    function stream_read($cuenta)
    {
        $ret = substr($GLOBALS[$this->nombre], $this->posición, $cuenta);
        $this->posición += strlen($ret);
        return $ret;
    }

    function stream_write($data)
    {
        $izquierda = substr($GLOBALS[$this->nombre], 0, $this->posición);
        $derecha = substr($GLOBALS[$this->nombre], $this->posición + strlen($data));
        $GLOBALS[$this->nombre] = $izquierda . $data . $derecha;
        $this->posición += strlen($data);
        return strlen($data);
    }

    function stream_tell()
    {
        return $this->posición;
    }

    function stream_eof()
    {
        return $this->posición >= strlen($GLOBALS[$this->nombre]);
    }

    function stream_seek($índice, $dónde)
    {
        switch ($dónde) {
            case SEEK_SET:
                if ($índice < strlen($GLOBALS[$this->nombre]) && $índice >= 0) {
                     $this->posición = $índice;
                     return true;
                } else {
                     return false;
                }
                break;

            case SEEK_CUR:
                if ($índice >= 0) {
                     $this->posición += $índice;
                     return true;
                } else {
                     return false;
                }
                break;

            case SEEK_END:
                if (strlen($GLOBALS[$this->nombre]) + $índice >= 0) {
                     $this->posición = strlen($GLOBALS[$this->nombre]) + $índice;
                     return true;
                } else {
                     return false;
                }
                break;

            default:
                return false;
        }
    }

    function stream_metadata($ruta, $opción, $var)
    {
        if($opción== STREAM_META_TOUCH) {
            $url = parse_url($ruta);
            $varname = $url["host"];
            if(!isset($GLOBALS[$varname])) {
                $GLOBALS[$varname] = '';
            }
            return true;
        }
        return false;
    }
}

stream_wrapper_register("var", "FlujoVariable")
    or die("Error al registrar el protocolo");

$mivar = "";

$fp = fopen("var://mivar", "r+");

fwrite($fp, "línea1\n");
fwrite($fp, "línea2\n");
fwrite($fp, "línea3\n");

rewind($fp);
while (!feof($fp)) {
    echo fgets($fp);
}
fclose($fp);
var_dump($mivar);

?>

El resultado del ejemplo sería:

línea1
línea2
línea3
string(24) "línea1
línea2
línea3
"

Ejemplos
php_user_filter
Ejemplos


La clase php_user_filter

(PHP 5)

Introducción

Los hijos de esta clase son pasados a stream_filter_register().

Sinopsis de la Clase

php_user_filter {
/* Propiedades */
public $filtername ;
public $params ;
/* Métodos */
public int filter ( resource $in , resource $out , int &$consumed , bool $closing )
public void onClose ( void )
public bool onCreate ( void )
}

Propiedades

filtername

El nombre del filtro registrado por stream_filter_append().

params

Tabla de contenidos

  • php_user_filter::filter — Llamado cuando se aplica un filtro
  • php_user_filter::onClose — Llamado cuando se cierra el filtro
  • php_user_filter::onCreate — Llamado cuando se crea el filtro
Ejemplo de clase registrada como envoltura de flujo
php_user_filter::filter
Flujos


Llamado cuando se aplica un filtro

php_user_filter
php_user_filter::onClose
php_user_filter
PHP Manual

php_user_filter::filter

(PHP 5)

php_user_filter::filter — Llamado cuando se aplica un filtro

Descripción

public int php_user_filter::filter ( resource $in , resource $out , int &$consumed , bool $closing )

Este método es llamado siempre que los datos son leídos desde o escritos en el flujo adjunto (como con fread() o fwrite()).

Parámetros

in

in es un recurso que apunta a una cadena de recipientes que contiene uno o más objetos recipiente que contienen información que va a ser filtrada.

out

out es un recurso que apunta a una segunda cadena de recipientes dentro de la cual se deberían ubicar los recipientes modificados.

consumed

consumed, el cual siempre debe ser declarado por referencia, debería ser incrementado por la longitud de la información que el filtro lee y altera. En la mayoría de los casos esto significa que se incrementará consumed por $recipiente->datalen para cada $recipiente.

closing

Si el flujo está en el proceso de cierre (y por lo tanto éste es el último pase a través de la cadena de filtros), el parámetro closing será establecido a TRUE.

Valores devueltos

El método filter() debe devolver uno de estos tres valores cuando se complete.

Valor Devuelto | Significado
PSFS_PASS_ON | El filtró se procesó con éxito con información disponible en la cadena de recipientes out.
PSFS_FEED_ME | El filtró se procesó con éxito, sin embargo no había información disponible que devolver. Se requiere más información del flujo o del filtro previo.
PSFS_ERR_FATAL (predeterminado) | El filtro experimentó un error irrecuperable y no puede continuar.

php_user_filter
php_user_filter::onClose
php_user_filter


Llamado cuando se cierra el filtro

php_user_filter::filter
php_user_filter::onCreate
php_user_filter
PHP Manual

php_user_filter::onClose

(PHP 5)

php_user_filter::onClose — Llamado cuando se cierra el filtro

Descripción

public void php_user_filter::onClose ( void )

Este método es llamado bajo el cierre del filtro (normalmente también durante el cierre del flujo), y se ejecuta después de llamar al método flush. Si se asignó o inicializo cualquier recurso durante onCreate(), este sería el momento de destruirlo o deshacerse de él.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El valor de retorono es ignorado.

php_user_filter::filter
php_user_filter::onCreate
php_user_filter


Llamado cuando se crea el filtro

php_user_filter::onClose
streamWrapper
php_user_filter
PHP Manual

php_user_filter::onCreate

(PHP 5)

php_user_filter::onCreate — Llamado cuando se crea el filtro

Descripción

public bool php_user_filter::onCreate ( void )

Este método se llama durante la instanciación del objeto de la clase del filtro. Si el filtro asigna o inicializa cualquier otro recurso (como un buffer), éste es el lugar para hacerlo.

Cuando primero se instancia el filtro, y se llama a elfiltro->onCreate(), estarán disponibles varias propiedades como se muestra en la tabla de abajo.

Propiedad | Contenido
FilterClass->filtername | Una cadena que contiene el nombre del filtro con el que fue instanciado. Los filtros pueden ser registrados bajo múltiples nombres o bajo comodines. Use esta propiedad para determinar qué nombre fue usado.
FilterClass->params | El contenido del parámetro params pasado a stream_filter_append() o a stream_filter_prepend().
FilterClass->stream | El recurso de flujo que va a ser filtrado. Quizás disponible sólo durante las llamadas a filter() cuando el parámetro closing es FALSE.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La implementación de este método debería devolver FALSE en caso de error, o TRUE en caso de éxito.

php_user_filter::onClose
streamWrapper
php_user_filter


La clase streamWrapper

(PHP 4 >= 4.3.2, PHP 5)

Introducción

Permite implementar sus propios gestores de protocolo y flujos para usarlos con las demás funciones de sistemas de archivos (como fopen(), fread() etc.).

Nota:

Esta NO es una clase real, sólo es un prototipo de cómo debería ser una clase que define su propio protocolo.

Nota:

Implementar los métodos de distinta forma que la descrita aquí puede conducir a un comportamiento indefinido.

Una instancia de esta clase se inicializa tan pronto como una función de flujo intente acceder al protocolo al que está asociado.

Sinopsis de la Clase

streamWrapper {
/* Propiedades */
public resource $context ;
/* Métodos */
__construct ( void )
__destruct ( void )
public bool dir_closedir ( void )
public bool dir_opendir ( string $path , int $options )
public string dir_readdir ( void )
public bool dir_rewinddir ( void )
public bool mkdir ( string $path , int $mode , int $options )
public bool rename ( string $path_from , string $path_to )
public bool rmdir ( string $path , int $options )
public resource stream_cast ( int $cast_as )
public void stream_close ( void )
public bool stream_eof ( void )
public bool stream_flush ( void )
public bool stream_lock ( int $operation )
public bool stream_metadata ( string $path , int $option , mixed $value )
public bool stream_open ( string $path , string $mode , int $options , string &$opened_path )
public string stream_read ( int $count )
public bool stream_seek ( int $offset , int $whence = SEEK_SET )
public bool stream_set_option ( int $option , int $arg1 , int $arg2 )
public array stream_stat ( void )
public int stream_tell ( void )
public bool stream_truncate ( int $new_size )
public int stream_write ( string $data )
public bool unlink ( string $path )
public array url_stat ( string $path , int $flags )
}

Propiedades

recurso de context

El contexto actual, o NULL si no se pasó ningún contexto a la función que realizó la llamada.

Use la función stream_context_get_options() para analizar el contexto.

Nota:

Esta propiedad debe ser pública para que PHP pueda rellenarla con el recurso de contexto real.

Historial de cambios

Versión | Descripción
5.0.0 | Se añadió la propiedad context.

Ver también

  • Ejemplo de clase registrada como envoltura de flujo
  • stream_wrapper_register()
  • stream_wrapper_unregister()
  • stream_wrapper_restore()

Tabla de contenidos

  • streamWrapper::__construct — Construye una nueva envoltura de flujo
  • streamWrapper::__destruct — Destruye una envoltura de flujo existente
  • streamWrapper::dir_closedir — Cerrar un gestor de directorio
  • streamWrapper::dir_opendir — Abrir un gestor de directorio
  • streamWrapper::dir_readdir — Leer una entrada desde el gestor de directorio
  • streamWrapper::dir_rewinddir — Rebobina el gestor de directorio
  • streamWrapper::mkdir — Crear un directorio
  • streamWrapper::rename — Renombra un archivo o directorio
  • streamWrapper::rmdir — Elimina un directorio
  • streamWrapper::stream_cast — Recuperar el recurso subyacente
  • streamWrapper::stream_close — Cerrar un recurso
  • streamWrapper::stream_eof — Comprueba si un puntero a un archivo está en el final del archivo (EOF)
  • streamWrapper::stream_flush — Vuelca la salida
  • streamWrapper::stream_lock — Bloqueo de archivos asesorado
  • streamWrapper::stream_metadata — Cambiar las opciones del flujo
  • streamWrapper::stream_open — Abre un archivo o una URL
  • streamWrapper::stream_read — Leer un flujo
  • streamWrapper::stream_seek — Busca la ubicación específica en un flujo
  • streamWrapper::stream_set_option — Cambiar las opciones del flujo
  • streamWrapper::stream_stat — Recuperar información sobre un recurso de archivo
  • streamWrapper::stream_tell — Recuperar la posición actual de un flujo
  • streamWrapper::stream_truncate — Truncar un flujo
  • streamWrapper::stream_write — Escribir en un flujo
  • streamWrapper::unlink — Borrar un archivo
  • streamWrapper::url_stat — Recuperar información sobre un archivo
php_user_filter::onCreate
streamWrapper::__construct
Flujos


Construye una nueva envoltura de flujo

streamWrapper
streamWrapper::__destruct
streamWrapper
PHP Manual

streamWrapper::__construct

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::__construct — Construye una nueva envoltura de flujo

Descripción

streamWrapper::__construct ( void )

Llamado cuando se abre la envoltura de flujo, justo antes de streamWrapper::stream_open().

Parámetros

Esta función no tiene parámetros.

streamWrapper
streamWrapper::__destruct
streamWrapper


Destruye una envoltura de flujo existente

streamWrapper::__construct
streamWrapper::dir_closedir
streamWrapper
PHP Manual

streamWrapper::__destruct

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::__destruct — Destruye una envoltura de flujo existente

Descripción

streamWrapper::__destruct ( void )

Llamado al cerrar la envoltura de flujo, justo antes de streamWrapper::stream_flush().

Parámetros

Esta función no tiene parámetros.

streamWrapper::__construct
streamWrapper::dir_closedir
streamWrapper


Cerrar un gestor de directorio

streamWrapper::__destruct
streamWrapper::dir_opendir
streamWrapper
PHP Manual

streamWrapper::dir_closedir

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::dir_closedir — Cerrar un gestor de directorio

Descripción

public bool streamWrapper::dir_closedir ( void )

Este método es llamado en respuesta a closedir().

Cualquier recurso que fue bloqueado o asignado durante la apertura y utiliza el flujo de directorio, debería ser liberado.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • closedir() - Cierra un gestor de directorio
  • streamWrapper::dir_opendir() - Abrir un gestor de directorio

streamWrapper::__destruct
streamWrapper::dir_opendir
streamWrapper


Abrir un gestor de directorio

streamWrapper::dir_closedir
streamWrapper::dir_readdir
streamWrapper
PHP Manual

streamWrapper::dir_opendir

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::dir_opendir — Abrir un gestor de directorio

Descripción

public bool streamWrapper::dir_opendir ( string $path , int $options )

Este método es llamado en respuesta a opendir().

Parámetros

path

Especifica la URL que fue pasada a opendir().

Nota:

La URL se puede desmontar con parse_url().

options

Si forzar o no safe_mode (0x04).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • opendir() - Abre un gestor de directorio
  • streamWrapper::dir_closedir() - Cerrar un gestor de directorio
  • parse_url() - Analiza una URL y devolver sus componentes

streamWrapper::dir_closedir
streamWrapper::dir_readdir
streamWrapper


Leer una entrada desde el gestor de directorio

streamWrapper::dir_opendir
streamWrapper::dir_rewinddir
streamWrapper
PHP Manual

streamWrapper::dir_readdir

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::dir_readdir — Leer una entrada desde el gestor de directorio

Descripción

public string streamWrapper::dir_readdir ( void )

Este método es llamado en respuesta a readdir().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Debería devolver un valor de tipo string que representa el siguiente nombre de archivo, o FALSE si no hay un siguiente archivo.

Nota:

El valor devuelto será convertido a un valor de tipo string.

Errores/Excepciones

Emite un E_WARNING si la llamada a este método falla (por ej., por no estar implementado).

Ejemplos

Ejemplo #1 Listar los ficheros de archivos tar

<?php
class streamWrapper {
    protected $fp;

    public function dir_opendir($ruta, $opciones) {
        $url = parse_url($ruta);

        $ruta = $url["host"] . $url["path"];

        if (!is_readable($ruta)) {
            trigger_error("$ruta no es legible por mí", E_USER_NOTICE);
            return false;
        }
        if (!is_file($ruta)) {
            trigger_error("$ruta no es un fichero", E_USER_NOTICE);
            return false;
        }

        $this->fp = fopen($ruta, "rb");
        return true;
    }

    public function dir_readdir() {
        // Extraer la cabecera para esta entrada
        $cabecera = fread($this->fp, 512);
        $data = unpack("a100filename/a8mode/a8uid/a8gid/a12size/a12mtime/a8checksum/a1filetype/a100link/a100linkedfile", $cabecera);

        // Recortar el nombre de archivo y tamaño de archivo
        $nombre_archivo = trim($data["filename"]);

        // Â¿No hay nombre de archivo? Estamos en el final del archivo tar
        if (!$nombre_archivo) {
            return false;
        }

        $octal_bytes = trim($data["size"]);
        // El tamaño de archivo es definido en octetos
        $bytes  = octdec($octal_bytes);

        // tar redondea hacia arriba en múltiplos de 512 bytes (rellenando con ceros)
        $resto = $bytes % 512;
        if ($resto > 0) {
            $bytes += 512 - $resto;
        }

        // Buscar sobre el archivo
        fseek($this->fp, $bytes, SEEK_CUR);

        return $nombre_archivo;
    }

    public function dir_closedir() {
        return fclose($this->fp);
    }

    public function dir_rewinddir() {
        return fseek($this->fp, 0, SEEK_SET);
    }
}

stream_wrapper_register("tar", "streamWrapper");
$gestor = opendir("tar://ejemplo.tar");
while (false !== ($file = readdir($gestor))) {
    var_dump($file);
}

echo "Rewinding..\n";
rewind($gestor);
var_dump(readdir($gestor));

closedir($gestor);
?>

El resultado del ejemplo sería algo similar a:

string(13) "construct.xml"
string(16) "dir-closedir.xml"
string(15) "dir-opendir.xml"
string(15) "dir-readdir.xml"
string(17) "dir-rewinddir.xml"
string(9) "mkdir.xml"
string(10) "rename.xml"
string(9) "rmdir.xml"
string(15) "stream-cast.xml"
string(16) "stream-close.xml"
string(14) "stream-eof.xml"
string(16) "stream-flush.xml"
string(15) "stream-lock.xml"
string(15) "stream-open.xml"
string(15) "stream-read.xml"
string(15) "stream-seek.xml"
string(21) "stream-set-option.xml"
string(15) "stream-stat.xml"
string(15) "stream-tell.xml"
string(16) "stream-write.xml"
string(10) "unlink.xml"
string(12) "url-stat.xml"
Rewinding..
string(13) "construct.xml"

Ver también

  • readdir() - Lee una entrada desde un gestor de directorio

streamWrapper::dir_opendir
streamWrapper::dir_rewinddir
streamWrapper


Rebobina el gestor de directorio

streamWrapper::dir_readdir
streamWrapper::mkdir
streamWrapper
PHP Manual

streamWrapper::dir_rewinddir

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::dir_rewinddir — Rebobina el gestor de directorio

Descripción

public bool streamWrapper::dir_rewinddir ( void )

Este método es llamado en respuesta a rewinddir().

Debería reiniciar la salida generada por streamWrapper::dir_readdir(). Esto es: La siguiente llamada a streamWrapper::dir_readdir() debería devolver la primera entrada en la ubicación devueta por streamWrapper::dir_opendir().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • rewinddir() - Regresar el gestor de directorio
  • streamWrapper::dir_readdir() - Leer una entrada desde el gestor de directorio

streamWrapper::dir_readdir
streamWrapper::mkdir
streamWrapper


Crear un directorio

streamWrapper::dir_rewinddir
streamWrapper::rename
streamWrapper
PHP Manual

streamWrapper::mkdir

(PHP 5)

streamWrapper::mkdir — Crear un directorio

Descripción

public bool streamWrapper::mkdir ( string $path , int $mode , int $options )

Este método es llamado en respuesta a mkdir().

Nota:

Para que el mensaje de error apropiado sea devuelto, este método no debería ser definido si la envoltura no soporta la creación de directorios.

Parámetros

path

El directorio que debería ser creado.

mode

El valor pasdo a mkdir().

options

Una máscara a nivel de bits de valores, como STREAM_MKDIR_RECURSIVE.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Emite un E_WARNING si la llamada a este método falla (por ej., por no estar implementado).

Notas

Nota:

La propiedad streamWrapper::$context es actualizada si se pasa un contexto válido en la función invocante.

Ver también

  • mkdir() - Crea un directorio
  • streamwrapper::rmdir() - Elimina un directorio

streamWrapper::dir_rewinddir
streamWrapper::rename
streamWrapper


Renombra un archivo o directorio

streamWrapper::mkdir
streamWrapper::rmdir
streamWrapper
PHP Manual

streamWrapper::rename

(PHP 5)

streamWrapper::rename — Renombra un archivo o directorio

Descripción

public bool streamWrapper::rename ( string $path_from , string $path_to )

Este método es llamado en respuesta a rename().

Debería intentar renombrar path_from a path_to

Nota:

Para que el mensaje de error apropiado sea devuelto, este método no debería ser definido si la envoltura no soporta el renombramiento de archivos.

Parámetros

path_from

La URL al archivo actual.

path_to

La URL que debería ser renombrada por path_from.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Emite un E_WARNING si la llamada a este método falla (por ej., por no estar implementado).

Notas

Nota:

La propiedad streamWrapper::$context es actualizada si se pasa un contexto válido en la función invocante.

Ver también

  • rename() - Renombra un archivo o directorio

streamWrapper::mkdir
streamWrapper::rmdir
streamWrapper


Elimina un directorio

streamWrapper::rename
streamWrapper::stream_cast
streamWrapper
PHP Manual

streamWrapper::rmdir

(PHP 5)

streamWrapper::rmdir — Elimina un directorio

Descripción

public bool streamWrapper::rmdir ( string $path , int $options )

Este método es llamado en respuesta a rmdir().

Nota:

Para que el mensaje de error apropiado sea devuelto, este método no debería ser definido si la envoltura no soporta la eliminación de directorios.

Parámetros

path

La URL del directorio que debería ser eliminado.

options

Una máscara a nivel de bits de valores, como STREAM_MKDIR_RECURSIVE.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Emite un E_WARNING si la llamada a este método falla (por ej., por no estar implementado).

Notas

Nota:

La propiedad streamWrapper::$context es actualizada si se pasa un contexto válido en la función invocante.

Ver también

  • rmdir() - Elimina un directorio
  • streamwrapper::mkdir() - Crear un directorio
  • streamwrapper::unlink() - Borrar un archivo

streamWrapper::rename
streamWrapper::stream_cast
streamWrapper


Recuperar el recurso subyacente

streamWrapper::rmdir
streamWrapper::stream_close
streamWrapper
PHP Manual

streamWrapper::stream_cast

(PHP 5 >= 5.3.0)

streamWrapper::stream_cast — Recuperar el recurso subyacente

Descripción

public resource streamWrapper::stream_cast ( int $cast_as )

Este método es llamado en respuesta a stream_select().

Parámetros

cast_as

Puede ser STREAM_CAST_FOR_SELECT cuando stream_select() llama a stream_cast(), o STREAM_CAST_AS_STREAM cuando stream_cast() es llamado para otros usos.

Valores devueltos

Debería devolver el recurso de flujo subyacente usado por la envoltura, o FALSE.

Ver también

  • stream_select() - Ejecuta el equivalente de la llamada al sistema select() sobre las matrices de flujos dadas con un tiempo de espera especificado por tv_sec y tv_usec

streamWrapper::rmdir
streamWrapper::stream_close
streamWrapper


Cerrar un recurso

streamWrapper::stream_cast
streamWrapper::stream_eof
streamWrapper
PHP Manual

streamWrapper::stream_close

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::stream_close — Cerrar un recurso

Descripción

public void streamWrapper::stream_close ( void )

Este método es llamado en respuesta a fclose().

Todos los recursos que estaban bloqueados o asignados por la envoltura deberían ser liberados.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • fclose() - Cierra un puntero a un archivo abierto
  • streamWrapper::dir_closedir() - Cerrar un gestor de directorio

streamWrapper::stream_cast
streamWrapper::stream_eof
streamWrapper


Comprueba si un puntero a un archivo está en el final del archivo (EOF)

streamWrapper::stream_close
streamWrapper::stream_flush
streamWrapper
PHP Manual

streamWrapper::stream_eof

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::stream_eof — Comprueba si un puntero a un archivo está en el final del archivo (EOF)

Descripción

public bool streamWrapper::stream_eof ( void )

Este método es llamado en respuesta a feof().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Debería devolver TRUE si la posición de lectura/escritura está al final del flujo y no hay más información disponible para leer, o de otro modo FALSE.

Notas

Advertencia

Al leer un fichero entero (por ejemplo, con file_get_contents()), PHP llamará a streamWrapper::stream_read() seguido de streamWrapper::stream_eof() en un bucle, pero siempre y cuando streamWrapper::stream_read() devuelva un texto no vacío, el valor que devuelva streamWrapper::stream_eof() será ignorado.

Ver también

  • feof() - Comprueba si el puntero a un archivo está al final del archivo

streamWrapper::stream_close
streamWrapper::stream_flush
streamWrapper


Vuelca la salida

streamWrapper::stream_eof
streamWrapper::stream_lock
streamWrapper
PHP Manual

streamWrapper::stream_flush

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::stream_flush — Vuelca la salida

Descripción

public bool streamWrapper::stream_flush ( void )

Este método es llamado en respuesta a fflush().

Si se tiene información en la caché del flujo pero aún no se ha guardado en el almacenamiento subyacente, se debería hacer ahora.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Debería devolver TRUE si la información en la caché se almacenó con éxito (o si no había información que almacenar), o FALSE si la información podría no estar almacenada.

Notas

Nota:

Si no está implementado, se asume que el valor devuelto es FALSE.

Ver también

  • fflush() - Vuelca la salida a un archivo

streamWrapper::stream_eof
streamWrapper::stream_lock
streamWrapper


Bloqueo de archivos asesorado

streamWrapper::stream_flush
streamWrapper::stream_metadata
streamWrapper
PHP Manual

streamWrapper::stream_lock

(PHP 5)

streamWrapper::stream_lock — Bloqueo de archivos asesorado

Descripción

public bool streamWrapper::stream_lock ( int $operation )

Este método es llamado en respuesta a flock(), cuando se utiliza file_put_contents() (cuando el parámetro flags contiene LOCK_EX), stream_set_blocking() y cuando se cierra el flujo (LOCK_UN).

Parámetros

operation

operation es una de las operaciones siguientes:

  • LOCK_SH para adquirir un bloqueo compartido (lectura).
  • LOCK_EX para adquirir un bloqueo exclusivo (escritura).
  • LOCK_UN para liberar un bloqueo (compartido o exclusivo).
  • LOCK_NB, utilice esta operación si no quiere que flock() bloquee mientras opera. (no soportado en Windows)

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Emite un E_WARNING si la llamada a este método falla (es decir, no implementado).

Ver también

  • stream_set_blocking() - Establecer el modo bloqueo/no-bloqueo en un flujo
  • flock() - Bloqueo de archivos asesorado portable

streamWrapper::stream_flush
streamWrapper::stream_metadata
streamWrapper


Cambiar las opciones del flujo

streamWrapper::stream_lock
streamWrapper::stream_open
streamWrapper
PHP Manual

streamWrapper::stream_metadata

(PHP 5 >= 5.4.0)

streamWrapper::stream_metadata — Cambiar las opciones del flujo

Descripción

public bool streamWrapper::stream_metadata ( string $path , int $option , mixed $value )

Este método es llamado para establecer metainformación en el flujo. Se llama cuando una de las siguientes funciones es llamada sobre un URL de flujo:

  • touch()
  • chmod()
  • chown()
  • chgrp()
Observe que algunas de estas operaciones pueden no estar disponibles en su sistema.

Nota: La función está disponible desde PHP 5.4.0.

Parámetros

path

La ruta del fichoro o el URL a establecer la metainformación. Observe que en case de ser un URL, debe ser un NRL delimitado por ://. Otros formatos de URL no están soportados.

option

Una de las siguientes opciones:

  • STREAM_META_TOUCH (El método fue llamado en respuesta a touch())
  • STREAM_META_OWNER_NAME (El método fue llamado en respuesta a chown() con parámetro de tipo string)
  • STREAM_META_OWNER (El método fue llamado en respuesta a chown())
  • STREAM_META_GROUP_NAME (El método fue llamado en respuesta a chgrp())
  • STREAM_META_GROUP (El método fue llamado en respuesta a chgrp())
  • STREAM_META_ACCESS (El método fue llamado en respuesta a chmod())

value

Si el parámetro option es

  • STREAM_META_TOUCH: Array que consiste en dos argumentos de la función touch().
  • STREAM_META_OWNER_NAME o STREAM_META_GROUP_NAME: El nombre del usuario/grupo propietario como string.
  • STREAM_META_OWNER o STREAM_META_GROUP: El valor del argumento del usuario/grupo propietario como integer.
  • STREAM_META_ACCESS: El argumento de la función chmod() como integer.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Si option no está implementado debería devolver FALSE.

Ver también

  • touch() - Establece el momento de acceso y modificación de un archivo
  • chmod() - Cambia el modo de archivo
  • chown() - Cambia el propietario del archivo
  • chgrp() - Cambia el grupo del archivo

streamWrapper::stream_lock
streamWrapper::stream_open
streamWrapper


Abre un archivo o una URL

streamWrapper::stream_metadata
streamWrapper::stream_read
streamWrapper
PHP Manual

streamWrapper::stream_open

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::stream_open — Abre un archivo o una URL

Descripción

public bool streamWrapper::stream_open ( string $path , string $mode , int $options , string &$opened_path )

Este método es llamado inmediatemente después de que la envoltura sea inicializada (p.ej. usando fopen() y file_get_contents()).

Parámetros

path

Especifica la URL que fue pasada a la función original.

Nota:

La URL se puede desmontar con parse_url(). Observe que sólo las URL delimitadas por :// están soportadas. : y :/ aunque técnicamente son URL válidas, no lo están.

mode

El modo usado para abrir el archivo, como está detallado en fopen().

Nota:

Recuerde verificar si mode es válido para la ruta path solicitada.

options

Contiene banderas adicionales establecidas por la API de flujos. Puede contener uno o más de los siguientes valores usando OR entre ellos.

Bandera | Descripción
STREAM_USE_PATH | Si la ruta path es relativa, se busca el recurso usando include_path.
STREAM_REPORT_ERRORS | Si está establecida esta bandera, uno mismo es responsble de lanzar errores usando trigger_error() durante la apertura del flujo. Si esta bandera no está establecida, no se debería lanzar ningún error.

opened_path

Si la ruta path es abierta con éxito, y STREAM_USE_PATH está establecido en options, opened_path debería ser establecido a la ruta completa del archivo/recurso que fue abierto realmente.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Emite un E_WARNING si la llamada a este método falla (por ej., por no estar implementado).

Notas

Nota:

La propiedad streamWrapper::$context es actualizada si se pasa un contexto válido en la función invocante.

Ver también

  • fopen() - Abre un fichero o una URL
  • parse_url() - Analiza una URL y devolver sus componentes

streamWrapper::stream_metadata
streamWrapper::stream_read
streamWrapper


Leer un flujo

streamWrapper::stream_open
streamWrapper::stream_seek
streamWrapper
PHP Manual

streamWrapper::stream_read

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::stream_read — Leer un flujo

Descripción

public string streamWrapper::stream_read ( int $count )

Este método es llamado en respuesta a fread() y fgets().

Nota:

Recuerde actualizar la posición de lectura/escritura del flujo (por el número de bytes que fueron leídos con éxito).

Parámetros

count

Cuántos bytes de información desde la posición actual deberían ser devueltos.

Valores devueltos

Si hay menos bytes disponibles que en count devolver tantos como estén disponibles. Si no hay más información disponible, devolver FALSE o una cadena vacía.

Errores/Excepciones

Emite un E_WARNING si la llamada a este método falla (por ej., por no estar implementado).

Nota:

Si el valor devuelto es mayor que count se emitirá un error de nivel E_WARNING y la información en exceso se perderá.

Notas

Nota:

streamWrapper::stream_eof() es llamado directamente después de llamar a streamWrapper::stream_read() para verificar si EOF ha sido alcanzado. Si no está implementado, se asume EOF.

Advertencia

Al leer un fichero entero (por ejemplo, con file_get_contents()), PHP llamará a streamWrapper::stream_read() seguido de streamWrapper::stream_eof() en un bucle, pero siempre y cuando streamWrapper::stream_read() devuelva un texto no vacío, el valor que devuelva streamWrapper::stream_eof() será ignorado.

Ver también

  • fread() - Lectura de un fichero en modo binario seguro
  • fgets() - Obtiene una línea desde el puntero a un fichero

streamWrapper::stream_open
streamWrapper::stream_seek
streamWrapper


Busca la ubicación específica en un flujo

streamWrapper::stream_read
streamWrapper::stream_set_option
streamWrapper
PHP Manual

streamWrapper::stream_seek

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::stream_seek — Busca la ubicación específica en un flujo

Descripción

public bool streamWrapper::stream_seek ( int $offset , int $whence = SEEK_SET )

Este método es llamado en respuesta a fseek().

La posición de lectura/escritura del flujo debería ser actualizada según offset y whence.

Parámetros

offset

El flujo de desplazamiento a buscar.

whence

Valores posibles:

  • SEEK_SET - Establece la posición igual a offset bytes.
  • SEEK_CUR - Establece la posición de la ubicación actual más offset.
  • SEEK_END - Establece la posición al final del archivo más offset.

Valores devueltos

Devuelve TRUE si la posición se ha actualizado, si no FALSE.

Notas

Nota:

Si no está implementado, se asume que el valor devuelto es FALSE

Nota:

Si se tuvo éxito,
 streamWrapper::stream_tell() se llama directamente, después
de llamar a  streamWrapper::stream_seek(). Si
 streamWrapper::stream_tell() falla, el valor devuelto
a la función de llamada se establece en FALSE

Nota:

No todas las operaciones de búsqueda de el flujo conllevan a la llamada de esta función. Los flujos de PHP tienen buffer para la lectura activado por defecto (véase también stream_set_read_buffer()) y la búsqueda se puede realizar con sólo mover el puntero del buffer.

Ver también

  • fseek() - Busca sobre un puntero a un fichero

streamWrapper::stream_read
streamWrapper::stream_set_option
streamWrapper


Cambiar las opciones del flujo

streamWrapper::stream_seek
streamWrapper::stream_stat
streamWrapper
PHP Manual

streamWrapper::stream_set_option

(PHP 5 >= 5.3.0)

streamWrapper::stream_set_option — Cambiar las opciones del flujo

Descripción

public bool streamWrapper::stream_set_option ( int $option , int $arg1 , int $arg2 )

Este método es llamado para establecer las opciones del flujo.

Parámetros

option

Una de las siguientes opciones:

  • STREAM_OPTION_BLOCKING (El método fue llamado en respuesta a stream_set_blocking())
  • STREAM_OPTION_READ_TIMEOUT (El método fue llamado en respuesta a stream_set_timeout())
  • STREAM_OPTION_WRITE_BUFFER (El método fue llamado en respuesta a stream_set_write_buffer())

arg1

Si option es

  • STREAM_OPTION_BLOCKING: modo de bloqueo solicitado (1 significa bloqueo, 0 sin bloqueo).
  • STREAM_OPTION_READ_TIMEOUT: tiempo de espera en segundos.
  • STREAM_OPTION_WRITE_BUFFER: modo del buffer (STREAM_BUFFER_NONE o STREAM_BUFFER_FULL).

arg2

Si option es

  • STREAM_OPTION_BLOCKING: Esta opción no está establecida.
  • STREAM_OPTION_READ_TIMEOUT: tiempo de espera en microsegundos.
  • STREAM_OPTION_WRITE_BUFFER: el tamaño del buffer solicitado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Si option no está implementado, debería devolver FALSE..

Ver también

  • stream_set_blocking() - Establecer el modo bloqueo/no-bloqueo en un flujo
  • stream_set_timeout() - Establecer un perido de tiempo de espera en un flujo
  • stream_set_write_buffer() - Establece el búfer para escritura de archivos en el flujo dado

streamWrapper::stream_seek
streamWrapper::stream_stat
streamWrapper


Recuperar información sobre un recurso de archivo

streamWrapper::stream_set_option
streamWrapper::stream_tell
streamWrapper
PHP Manual

streamWrapper::stream_stat

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::stream_stat — Recuperar información sobre un recurso de archivo

Descripción

public array streamWrapper::stream_stat ( void )

Este método es llamado en respuesta a fstat().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Véase stat().

Errores/Excepciones

Emite un E_WARNING si la llamada a este método falla (por ej., por no estar implementado).

Ver también

  • stat() - Da información acerca de un fichero
  • streamwrapper::url_stat() - Recuperar información sobre un archivo

streamWrapper::stream_set_option
streamWrapper::stream_tell
streamWrapper


Recuperar la posición actual de un flujo

streamWrapper::stream_stat
streamWrapper::stream_truncate
streamWrapper
PHP Manual

streamWrapper::stream_tell

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::stream_tell — Recuperar la posición actual de un flujo

Descripción

public int streamWrapper::stream_tell ( void )

Este método es llamado en respuesta a fseek() para determinar la posición actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Debería devolver la posición actual del flujo.

Ver también

  • ftell() - Devuelve la posición de lectura/escritura actual del puntero a un fichero

streamWrapper::stream_stat
streamWrapper::stream_truncate
streamWrapper


Truncar un flujo

streamWrapper::stream_tell
streamWrapper::stream_write
streamWrapper
PHP Manual

streamWrapper::stream_truncate

(PHP 5 >= 5.4.0)

streamWrapper::stream_truncate — Truncar un flujo

Descripción

public bool streamWrapper::stream_truncate ( int $new_size )

Responderá a la truncación, p.ej. a través de ftruncate().

Parámetros

new_size

El nuevo tamaño.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ftruncate() - Trunca un archivo a una longitud dada

streamWrapper::stream_tell
streamWrapper::stream_write
streamWrapper


Escribir en un flujo

streamWrapper::stream_truncate
streamWrapper::unlink
streamWrapper
PHP Manual

streamWrapper::stream_write

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::stream_write — Escribir en un flujo

Descripción

public int streamWrapper::stream_write ( string $data )

Este método es llamado en respuesta a fwrite().

Nota:

Recuerde actualizar la posición actual del flujo por el número de bytes que fueron escritos con éxito.

Parámetros

data

Esta información debería ser almacenada en el flujo subyacente.

Nota:

Si no hay espacio suficiente en el flujo subyacente, guardar lo más posible.

Valores devueltos

Debería devolver el número de bytes que fueron almacenados con éxito, o 0 si no se puede almacenar nada.

Errores/Excepciones

Emite un E_WARNING si la llamada a este método falla (por ej., por no estar implementado).

Nota:

Si el valor devuelto es mayor que la longitud de data, se emitirá un E_WARNING y el valor devuelto será truncado a su longitud.

Ver también

  • fwrite() - Escritura de un archivo en modo binario seguro

streamWrapper::stream_truncate
streamWrapper::unlink
streamWrapper


Borrar un archivo

streamWrapper::stream_write
streamWrapper::url_stat
streamWrapper
PHP Manual

streamWrapper::unlink

(PHP 5)

streamWrapper::unlink — Borrar un archivo

Descripción

public bool streamWrapper::unlink ( string $path )

Este método es llamado en respuesta a unlink().

Nota:

Para que el mensaje de error apropiado sea devuelto, este método no debería ser definido si la envoltura no soporta la eliminación de archivos.

Parámetros

path

LA URL del archivo que debería ser borrado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Emite un E_WARNING si la llamada a este método falla (por ej., por no estar implementado).

Notas

Nota:

La propiedad streamWrapper::$context es actualizada si se pasa un contexto válido en la función invocante.

Ver también

  • unlink() - Borra un archivo
  • streamWrapper::rmdir() - Elimina un directorio

streamWrapper::stream_write
streamWrapper::url_stat
streamWrapper


Recuperar información sobre un archivo

streamWrapper::unlink
Funciones de Flujos
streamWrapper
PHP Manual

streamWrapper::url_stat

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::url_stat — Recuperar información sobre un archivo

Descripción

public array streamWrapper::url_stat ( string $path , int $flags )

Este método es llamado en respuesta a todas las funciones relacionadas con stat(), como:

  • chmod() (sólo cuando safe_mode está habilitado)
  • copy()
  • fileperms()
  • fileinode()
  • filesize()
  • fileowner()
  • filegroup()
  • fileatime()
  • filemtime()
  • filectime()
  • filetype()
  • is_writable()
  • is_readable()
  • is_executable()
  • is_file()
  • is_dir()
  • is_link()
  • file_exists()
  • lstat()
  • stat()
  • SplFileInfo::getPerms()
  • SplFileInfo::getInode()
  • SplFileInfo::getSize()
  • SplFileInfo::getOwner()
  • SplFileInfo::getGroup()
  • SplFileInfo::getATime()
  • SplFileInfo::getMTime()
  • SplFileInfo::getCTime()
  • SplFileInfo::getType()
  • SplFileInfo::isWritable()
  • SplFileInfo::isReadable()
  • SplFileInfo::isExecutable()
  • SplFileInfo::isFile()
  • SplFileInfo::isDir()
  • SplFileInfo::isLink()
  • RecursiveDirectoryIterator::hasChildren()

Parámetros

path

La ruta del archivo o de la URL de donde obtener las estadísticas. Observe que en el caso que sea una URL, debe ser una URL delimitada con ://. No están soportadas formas de URL.

flags

Contiene banderas adicionales establecidas por la API de flujos. Puede contener uno o más de los siguientes valores usando OR entre ellos.

Bandera | Descripción
STREAM_URL_STAT_LINK | Para recursos con la capacidad de enlazar a otros recursos (como HTTP Location: forward, o un enlace simbólico de sistema de archivos). Esta bandera especifica que sólo debería ser devuelta la información acerca del enlace mismo, no del recurso apuntado por el enlace. Esta bandera está establecida en respuesta a las llamadas a lstat(), is_link(), o filetype().
STREAM_URL_STAT_QUIET | Si esta bandera está establecida, la envoltura no debería lanzar ningún error. Si esta bandera no está establecida, uno mismo es responsable de notificar errores usando la función trigger_error() durante la obtención de estadísticas de la ruta.

Valores devueltos

Debería devolver tantos elementos como tiene stat(). Valores desconocidos o no disponibles deberían ser establecidos a un valor razonable (normalmente 0).

Errores/Excepciones

Emite un E_WARNING si la llamada a este método falla (por ej., por no estar implementado).

Notas

Nota:

La propiedad streamWrapper::$context es actualizada si se pasa un contexto válido en la función invocante.

Ver también

  • stat() - Da información acerca de un fichero
  • streamwrapper::stream_stat() - Recuperar información sobre un recurso de archivo

streamWrapper::unlink
Funciones de Flujos
streamWrapper


Funciones de Flujos

Tabla de contenidos

  • set_socket_blocking — Alias de stream_set_blocking
  • stream_bucket_append — Añade un recipiente a una cadena de recipientes
  • stream_bucket_make_writeable — Devuelve un objeto recipiente desde una cadena de recipientes para operarar con él
  • stream_bucket_new — Crear un nuevo recipiente para usarlo en el flujo actual
  • stream_bucket_prepend — Añade un recipiente al principio de una cadena de recipientes
  • stream_context_create — Crear un contexto de flujo
  • stream_context_get_default — Recuperar el contexto de flujo predeterminado
  • stream_context_get_options — Recuperar las opciones para un flujo/envoltura/contexto
  • stream_context_get_params — Recuperar los parámetros de un contexto
  • stream_context_set_default — Establecer el contexto de flujo predeterminado
  • stream_context_set_option — Establece una opción para un flujo/envoltura/contexto
  • stream_context_set_params — Establecer parámetros para un flujo/envoltura/contexto
  • stream_copy_to_stream — Copia información desde un flujo a otro
  • stream_encoding — Establecer el conjunto de caracteres para la codificación del flujo
  • stream_filter_append — Enlaza un filtro a un flujo
  • stream_filter_prepend — Enlaza un filtro a un flujo
  • stream_filter_register — Registrar un filtro de flujo definido por el usuario
  • stream_filter_remove — Elimina un filtro de un flujo
  • stream_get_contents — Transfiere el resto de un flujo a una cadena
  • stream_get_filters — Recuperar la lista de los filtros registrados
  • stream_get_line — Obtiene una línea del recurso de flujo hasta un delimitador dado
  • stream_get_meta_data — Recuperar meta-información o de cabecera de punteros a flujos/archivo
  • stream_get_transports — Recuperar la lista de transportes de socket registrados
  • stream_get_wrappers — Recupera la lista de los flujos registrados
  • stream_is_local — Comprueba si un flujo es un flujo local
  • stream_notification_callback — Una función de llamada de retorno para el parámetro de contexto de notificación
  • stream_register_wrapper — Alias de stream_wrapper_register
  • stream_resolve_include_path — Resuelve el nombre de archivo en la ruta incluida
  • stream_select — Ejecuta el equivalente de la llamada al sistema select() sobre las matrices de flujos dadas con un tiempo de espera especificado por tv_sec y tv_usec
  • stream_set_blocking — Establecer el modo bloqueo/no-bloqueo en un flujo
  • stream_set_chunk_size — Establecer el tamaño de trozo de flujo
  • stream_set_read_buffer — Establece el búfer de lectura de archivos en el flujo dado
  • stream_set_timeout — Establecer un perido de tiempo de espera en un flujo
  • stream_set_write_buffer — Establece el búfer para escritura de archivos en el flujo dado
  • stream_socket_accept — Acepta una conexión sobre un socket creado por stream_socket_server
  • stream_socket_client — Abrir una conexión de socket de dominio de Internet o Unix
  • stream_socket_enable_crypto — Activa/desactiva la encriptación en un socket ya conectado
  • stream_socket_get_name — Recuperar el nombre de los sockets locales o remotos
  • stream_socket_pair — Crea un pareja de flujos de socket conectados e indistinguibles
  • stream_socket_recvfrom — Recibir información de un socket, conectado o no
  • stream_socket_sendto — Envía un mensaje a un socket, ya esté conectado o no
  • stream_socket_server — Crear un socket de servidor de dominio de Internet o de Unix
  • stream_socket_shutdown — Cerrar una conexión full-duplex
  • stream_supports_lock — Indica si el flujo soporta bloqueo
  • stream_wrapper_register — Registra una envoltura de URL implementada como una clase de PHP
  • stream_wrapper_restore — Restablece una envoltura incluida que se dejó de registrar previamente
  • stream_wrapper_unregister — Deja de registrar una envoltura de URL
streamWrapper::url_stat
set_socket_blocking
Flujos


Alias de stream_set_blocking

Funciones de Flujos
stream_bucket_append
Funciones de Flujos
PHP Manual

set_socket_blocking

(PHP 4, PHP 5)

set_socket_blocking — Alias de stream_set_blocking()

Descripción

Esta función es un alias de: stream_set_blocking()

Advertencia

Este alias ha sido declarado OBSOLETO desde PHP 5.3.0. Su uso está totalmente desaconsejado.

Funciones de Flujos
stream_bucket_append
Funciones de Flujos


Añade un recipiente a una cadena de recipientes

set_socket_blocking
stream_bucket_make_writeable
Funciones de Flujos
PHP Manual

stream_bucket_append

(PHP 5)

stream_bucket_append — Añade un recipiente a una cadena de recipientes

Descripción

void stream_bucket_append ( resource $brigade , resource $bucket )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

set_socket_blocking
stream_bucket_make_writeable
Funciones de Flujos


Devuelve un objeto recipiente desde una cadena de recipientes para operarar con él

stream_bucket_append
stream_bucket_new
Funciones de Flujos
PHP Manual

stream_bucket_make_writeable

(PHP 5)

stream_bucket_make_writeable — Devuelve un objeto recipiente desde una cadena de recipientes para operarar con él

Descripción

object stream_bucket_make_writeable ( resource $brigade )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

stream_bucket_append
stream_bucket_new
Funciones de Flujos


Crear un nuevo recipiente para usarlo en el flujo actual

stream_bucket_make_writeable
stream_bucket_prepend
Funciones de Flujos
PHP Manual

stream_bucket_new

(PHP 5)

stream_bucket_new — Crear un nuevo recipiente para usarlo en el flujo actual

Descripción

object stream_bucket_new ( resource $stream , string $buffer )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

stream_bucket_make_writeable
stream_bucket_prepend
Funciones de Flujos


Añade un recipiente al principio de una cadena de recipientes

stream_bucket_new
stream_context_create
Funciones de Flujos
PHP Manual

stream_bucket_prepend

(PHP 5)

stream_bucket_prepend — Añade un recipiente al principio de una cadena de recipientes

Descripción

void stream_bucket_prepend ( resource $brigade , resource $bucket )

Se puede invocar a esta función para añadir un recipiente al principio de una cadena de recipientes. Normalmente se llama desde php_user_filter::filter().

Parámetros

brigade

brigade es un recurso que apunta a una bucjet brigade (cadena de recipientes) que contiene uno o más objetos bucket (recipiente).

bucket

Un objeto recipiente.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplos de stream_bucket_prepend()

<?php

class foo extends php_user_filter {
  protected $calls = 0;
  public function filter($in, $out, &$consumed, $closing) {
    while ($bucket = stream_bucket_make_writeable($in)) {
      $consumed += $bucket->datalen;
      if ($this->calls++ == 2) {
        // Este recipiente aparecerá de nuevo antes que cualquier otro recipiente.
        stream_bucket_prepend($in, $bucket);
      }
    }
    return PSFS_FEED_ME;
  }
}
stream_filter_register('test', 'foo');
print  file_get_contents('php://filter/read=test/resource=foo');
?>

stream_bucket_new
stream_context_create
Funciones de Flujos


Crear un contexto de flujo

stream_bucket_prepend
stream_context_get_default
Funciones de Flujos
PHP Manual

stream_context_create

(PHP 4 >= 4.3.0, PHP 5)

stream_context_create — Crear un contexto de flujo

Descripción

resource stream_context_create ([ array $options [, array $params ]] )

Crea y devuelve un contexto de flujo con cualquier opción proporcionada en options.

Parámetros

options

Debe ser un array asociativo de arrays asociativos con el formato $matriz['envoltura']['opción'] = $valor.

Por defecto es un array vacío.

params

Debe ser un array asociativo en el formato $matriz['parámetro'] = $valor. Consulte parámetros de contexto para un listado de los parámetros de flujo estándar.

Valores devueltos

Un resource de contexto de flujo.

Historial de cambios

Versión | Descripción
5.3.0 | Se añadió el argumento opcional params.

Ejemplos

Ejemplo #1 Usar stream_context_create()

<?php
$opciones = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar\r\n"
  )
);

$contexto = stream_context_create($opciones);

/* Envía una petición http a www.example.com
   con las cabeceras adicionales mostradas arriba */
$fp = fopen('http://www.example.com', 'r', false, $contexto);
fpassthru($fp);
fclose($fp);
?>

Ver también

  • stream_context_set_option() - Establece una opción para un flujo/envoltura/contexto
  • Listado de las envolturas soportadas (Protocolos y Envolturas soportados)
  • Opciones de contexto (Opciones de contexto y parámetros)
stream_bucket_prepend
stream_context_get_default
Funciones de Flujos


Recuperar el contexto de flujo predeterminado

stream_context_create
stream_context_get_options
Funciones de Flujos
PHP Manual

stream_context_get_default

(PHP 5 >= 5.1.0)

stream_context_get_default — Recuperar el contexto de flujo predeterminado

Descripción

resource stream_context_get_default ([ array $options ] )

Devuelve el contexto de flujo predeterminado que es usado siempre que las operaciones con archivos ( fopen(), file_get_contents(), etc...) son llamadas sin un parámetro de contexto. Las opciones para el contexto predeterminado pueden ser especificadas opcionalmente con esta función usando la misma sintaxis que en stream_context_create().

Parámetros

options
options debe ser una matriz asociativa de matrices asociativas con el formato $matriz['envoltura']['opción'] = $valor.

Nota:

A partir de PHP 5.3.0, la función stream_context_set_default() se puede usar para establecer el contexto predeterminado.

Valores devueltos

Un resource de contexto de flujo.

Ejemplos

Ejemplo #1 Usar stream_context_get_default()

<?php
$opc_pred = array(
  'http'=>array(
    'método'=>"GET",
    'cabecera'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar",
    'proxy'=>"tcp://10.54.1.39:8000"
  )
);

$opc_alt = array(
  'http'=>array(
    'método'=>"POST",
    'cabecera'=>"Content-type: application/x-www-form-urlencoded\r\n" .
              "Content-length: " . strlen("baz=bomb"),
    'contenido'=>"baz=bomb"
  )
);

$predeterminado = stream_context_get_default($opc_pred);
$alternativo = stream_context_create($opc_alt);

/* Envía una petición GET normal al servidor proxy en 10.54.1.39
 * Para www.example.com usar opciones de contexto especificadas en $opc_pred
 */
readfile('http://www.example.com');

/* Envía una petición POST directamente a www.example.com
 * Usar opciones de contexto especificadas en $opc_alt
 */
readfile('http://www.example.com', false, $alternativo);

?>

Ver también

  • stream_context_create() - Crear un contexto de flujo
  • Listado de envolturas soportadas con opciones de contexto (Protocolos y Envolturas soportados).

stream_context_create
stream_context_get_options
Funciones de Flujos


Recuperar las opciones para un flujo/envoltura/contexto

stream_context_get_default
stream_context_get_params
Funciones de Flujos
PHP Manual

stream_context_get_options

(PHP 4 >= 4.3.0, PHP 5)

stream_context_get_options — Recuperar las opciones para un flujo/envoltura/contexto

Descripción

array stream_context_get_options ( resource $stream_or_context )

Devuelve una matriz de opciones del el flujo o contexto especificados.

Parámetros

stream_or_context

El stream (flujo) o context (contexto) de donde se van a obtener las opciones

Valores devueltos

Devuelve una matriz asociativa con las opciones.

Ejemplos

Ejemplo #1 Ejemplo de stream_context_get_options()

<?php
$params = array("método" => "POST");

stream_context_get_default(array("http" => $params));

var_dump(stream_context_get_options(stream_context_get_default()));

?>

El resultado del ejemplo sería algo similar a:

array(1) {
  ["http"]=>
  array(1) {
    ["método"]=>
    string(4) "POST"
  }
}

stream_context_get_default
stream_context_get_params
Funciones de Flujos


Recuperar los parámetros de un contexto

stream_context_get_options
stream_context_set_default
Funciones de Flujos
PHP Manual

stream_context_get_params

(PHP 5 >= 5.3.0)

stream_context_get_params — Recuperar los parámetros de un contexto

Descripción

array stream_context_get_params ( resource $stream_or_context )

Recupera la información de los parámetros y de las opciones de un flujo o contexto.

Parámetros

stream_or_context

Un resource de flujo o un resource de contexto

Valores devueltos

Devuelve una matriz asociativa que contiene todas las opciones y parámetros del contexto.

Ejemplos

Ejemplo #1 Ejemplo de stream_context_get_params()

Ejemplo de uso básico

<?php
$ctx = stream_context_create();
$params = array("notification" => "stream_notification_callback");
stream_context_set_params($ctx, $params);

var_dump(stream_context_get_params($ctx));
?>

El resultado del ejemplo sería algo similar a:

array(2) {
  ["notification"]=>
  string(28) "stream_notification_callback"
  ["options"]=>
  array(0) {
  }
}

Ver también

  • stream_context_set_option() - Establece una opción para un flujo/envoltura/contexto
  • stream_context_get_params()
  • stream_context_set_params() - Establecer parámetros para un flujo/envoltura/contexto

stream_context_get_options
stream_context_set_default
Funciones de Flujos


Establecer el contexto de flujo predeterminado

stream_context_get_params
stream_context_set_option
Funciones de Flujos
PHP Manual

stream_context_set_default

(PHP 5 >= 5.3.0)

stream_context_set_default — Establecer el contexto de flujo predeterminado

Descripción

resource stream_context_set_default ( array $options )

Establece el contexto de flujo predeterminado que será usado siempre que la operaciones de archivos ( fopen(), file_get_contents(), etc...) sean llamadas sin un parámetro de contexto. Usa la misma sintaxis que stream_context_create().

Parámetros

options

Las opciones a establecer para el contexto predeterminado.

Nota:

options debe ser una matriz asociativa de matrices asociativas con el formato $matriz['envoltura']['opción'] = $valor.

Valores devueltos

Devuelve el contexto de flujo predeterminado.

Ejemplos

Ejemplo #1 Ejemplo de stream_context_set_default()

<?php
$opcs_pred = array(
  'http'=>array(
    'método'=>"GET",
    'cabecera'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar",
    'proxy'=>"tcp://10.54.1.39:8000"
  )
);

$predeterminado = stream_context_set_default($opcs_pred);

/* Envía una petición GET normal al servidor proxy en 10.54.1.39
 * Para www.example.com usar opciones de contexto especificadas en $opcs_pred
 */
readfile('http://www.example.com');
?>

Ver también

  • stream_context_create() - Crear un contexto de flujo
  • stream_context_get_default() - Recuperar el contexto de flujo predeterminado
  • Listado de las envolturas soportadas con opciones de contexto (Protocolos y Envolturas soportados).

stream_context_get_params
stream_context_set_option
Funciones de Flujos


Establece una opción para un flujo/envoltura/contexto

stream_context_set_default
stream_context_set_params
Funciones de Flujos
PHP Manual

stream_context_set_option

(PHP 4 >= 4.3.0, PHP 5)

stream_context_set_option — Establece una opción para un flujo/envoltura/contexto

Descripción

bool stream_context_set_option ( resource $stream_or_context , string $wrapper , string $option , mixed $value )
bool stream_context_set_option ( resource $stream_or_context , array $options )

Esteblece una opción en el contexto especificado. value es establecio a option para wrapper

Parámetros

stream_or_context

El recurso de flujo o de contexto al que se le va a aplicar las opciones.

options

Las opciones a establecer al contexto predeterminado.

Nota:

options debe ser una matriz asociativa de matrices asociativas con el formato $matriz['envoltura']['opción'] = $valor.

Consulte opciones y parámetros de contexto para una lista de opciones de flujos.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

stream_context_set_default
stream_context_set_params
Funciones de Flujos


Establecer parámetros para un flujo/envoltura/contexto

stream_context_set_option
stream_copy_to_stream
Funciones de Flujos
PHP Manual

stream_context_set_params

(PHP 4 >= 4.3.0, PHP 5)

stream_context_set_params — Establecer parámetros para un flujo/envoltura/contexto

Descripción

bool stream_context_set_params ( resource $stream_or_context , array $params )

Establece parámetros en el contexto especificado.

Parámetros

stream_or_context

El flujo o el contexto para aplicar los parámetros.

params

Un array de parámetros para configurar.

Nota:

params debería ser un array asociativo con la estructura: $parámetros['nombre_parametro'] = "valor_parametro";.

Parámetros soportados

Parámetros | Propósito
notification | Nombre de la función de llamada de retorno definida por el usuario a ser llamada siempre que un flujo provoque una notificación.
options | Array de opciones como en opciones y parámetros de contexto.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • stream_notification_callback() - Una función de llamada de retorno para el parámetro de contexto de notificación
stream_context_set_option
stream_copy_to_stream
Funciones de Flujos


Copia información desde un flujo a otro

stream_context_set_params
stream_encoding
Funciones de Flujos
PHP Manual

stream_copy_to_stream

(PHP 5)

stream_copy_to_stream — Copia información desde un flujo a otro

Descripción

int stream_copy_to_stream ( resource $source , resource $dest [, int $maxlength = -1 [, int $offset = 0 ]] )

Hace una copia de hasta maxlength bytes de información desde la posición actual (o desde la posición de offset, si se especifica) desde source a dest. Si no se especifica maxlength, todo el contenido restante de source será copiado.

Parámetros

source

El flujo de origen

dest

El flujo de destino

maxlength

Máximos bytes a copiar

offset

El índice donde comenzar a copiar información

Valores devueltos

Devuelve la cuenta total de bytes copiados.

Historial de cambios

Versión | Descripción
5.1.0 | Se añadió el parámetro offset

Ejemplos

Ejemplo #1 Un ejemplo de stream_copy_to_stream()

<?php
$origen   = fopen('http://www.example.com', 'r');
$destino1 = fopen('primer1k.txt', 'w');
$destino2 = fopen('resto.txt', 'w');

echo stream_copy_to_stream($origen, $destino1, 1024) . " bytes copiados a primer1k.txt\n";
echo stream_copy_to_stream($origen, $destino2) . " bytes copiados a resto.txt\n";

?>

Ver también

  • copy() - Copia archivos

stream_context_set_params
stream_encoding
Funciones de Flujos


Establecer el conjunto de caracteres para la codificación del flujo

stream_copy_to_stream
stream_filter_append
Funciones de Flujos
PHP Manual

stream_encoding

(No hay información de versión disponible, podría estar únicamente en SVN)

stream_encoding — Establecer el conjunto de caracteres para la codificación del flujo

Descripción

bool stream_encoding ( resource $stream [, string $encoding ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

stream_copy_to_stream
stream_filter_append
Funciones de Flujos


Enlaza un filtro a un flujo

stream_encoding
stream_filter_prepend
Funciones de Flujos
PHP Manual

stream_filter_append

(PHP 4 >= 4.3.0, PHP 5)

stream_filter_append — Enlaza un filtro a un flujo

Descripción

resource stream_filter_append ( resource $stream , string $filtername [, int $read_write [, mixed $params ]] )

Añade filtername a la lista de filtros enlazados a stream.

Parámetros

stream

El flujo objetivo.

filtername

El nombre del filtro.

read_write

Por omisión, stream_filter_append() enlazará el filtro a la cadena de filtros de lectura si el archivo fue abierto para lectura (esto es, Modo de Archivo: r, y/o +). El filtro también será enlazado a la cadena de filtros de escritura si el archivo fue abierto para escritura (esto es, Modo de Archivo: w, a, y/o +). STREAM_FILTER_READ, STREAM_FILTER_WRITE, y/o STREAM_FILTER_ALL también se pueden pasar al parámetro read_write para sobrescribir este comportamiento.

params

Este filtro será añadido con los parámetros params especificados al final de la lista y por lo tanto será llamado el último durante las operaciones de flujo. Para añadir un filtro al principio de la lista use stream_filter_prepend().

Valores devueltos

Devuelve un recurso que puede ser usado para hacer referencia a esta instancia de filtro durante una llamada a stream_filter_remove().

Historial de cambios

Versión | Descripción
5.1.0 | Antes de PHP 5.1.0, esta función devolvía TRUE si se tuvo éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Controlar dónde son aplicados los filtros

<?php
/* Abrir un archivo de prueba para lectura y escritura */
$fp = fopen('prueba.txt', 'w+');

/* Aplicar el filtro ROT13 filter a la
 * cadena de filtros de escritura, pero no a la
 * cadena de filtros de lectura */
stream_filter_append($fp, "string.rot13", STREAM_FILTER_WRITE);

/* Escribir una cadena sencilla al archivo
 * será ROT13 transformado a la
 * salida */
fwrite($fp, "Esto es una prueba\n");

/* Retroceder al principio del archivo */
rewind($fp);

/* Leer el contenido del archivo desde atrás.
 * Si el filtro ha sido aplicado a la
 * cadena de filtros de lectura veríamos
 * el texto con el filtro ROT13 deshecho a su estado original */
fpassthru($fp);

fclose($fp);

/* Salida esperada
   ---------------

Rfgb rf han cehron

 */
?>

Notas

Nota: Cuando se usan filtros personalizos (de usuario)
stream_filter_register() debe llamarse primero para registrar el filtro de usuario deseado en filtername.

Nota: La información del flujo se lee desde recursos (locales y remotos) en trozos, con cualquier información sin consumir guardada en bufferes internos. Cuando un nuevo filtro se añade a un flujo, la información en los bufferes internos se procesa a través del nuevo filtro en ese momento. Esto difiere del comportamiento de stream_filter_prepend().

Nota: Cuando un filtro se añade para lectura y escritura, se crean dos instancias del filtro. stream_filter_append() se debe llamar dos veces con STREAM_FILTER_READ y STREAM_FILTER_WRITE para obtener ambos recursos del filtro.

Ver también

  • stream_filter_register() - Registrar un filtro de flujo definido por el usuario
  • stream_filter_prepend() - Enlaza un filtro a un flujo
  • stream_get_filters() - Recuperar la lista de los filtros registrados
stream_encoding
stream_filter_prepend
Funciones de Flujos


Enlaza un filtro a un flujo

stream_filter_append
stream_filter_register
Funciones de Flujos
PHP Manual

stream_filter_prepend

(PHP 4 >= 4.3.0, PHP 5)

stream_filter_prepend — Enlaza un filtro a un flujo

Descripción

resource stream_filter_prepend ( resource $stream , string $filtername [, int $read_write [, mixed $params ]] )

Añade filtername a la lista de filtros enlazados a stream.

Parámetros

stream

El flujo objetivo.

filtername

El nombre del filtro.

read_write

Por omisión, stream_filter_append() enlazará el filtro a la cadena de filtros de lectura si el archivo fue abierto para lectura (esto es, Modo de Archivo: r, y/o +). El filtro también será enlazado a la cadena de filtros de escritura si el archivo fue abierto para escritura (esto es, Modo de Archivo: w, a, y/o +). STREAM_FILTER_READ, STREAM_FILTER_WRITE, y/o STREAM_FILTER_ALL también se pueden pasar al parámetro read_write para sobrescribir este comportamiento. Véase stream_filter_append() para un ejemplo de cómo usar este parámetro.

params

Este filtro será añadido con los parámetros params especificados al inicio de la lista y por lo tanto será llamado el primero durante las operaciones de flujo. Para añadir un filtro al final de la lista, use stream_filter_prepend().

Valores devueltos

Devuelve un recurso que puede ser usado para hacer referencia a esta instancia de filtro durante una llamada a stream_filter_remove().

Historial de cambios

Versión | Descripción
5.1.0 | Antes de PHP 5.1.0, esta función devolvía TRUE si se tuvo éxito o FALSE en caso de error.

Notas

Nota: Cuando se usan filtros personalizos (de usuario)
stream_filter_register() debe llamarse primero para registrar el filtro de usuario deseado en filtername.

Nota: La información del flujo se lee desde recursos (locales y remotos) en trozos, con cualquier información sin consumir guardada en bufferes internos. Cuando un nuevo filtro se añade a un flujo, la información en los bufferes internos, la cuál ha sido ya procesada por otros filtros no será procesada por el nuevo filtro en ese momento. Esto difiere del comportamiento de stream_filter_append().

Nota: Cuando un filtro se añade para lectura y escritura, se crean dos instancias del filtro. stream_filter_prepend() se debe llamar dos veces con STREAM_FILTER_READ y STREAM_FILTER_WRITE para obtener ambos recursos del filtro.

Ver también

  • stream_filter_register() - Registrar un filtro de flujo definido por el usuario
  • stream_filter_append() - Enlaza un filtro a un flujo
stream_filter_append
stream_filter_register
Funciones de Flujos


Registrar un filtro de flujo definido por el usuario

stream_filter_prepend
stream_filter_remove
Funciones de Flujos
PHP Manual

stream_filter_register

(PHP 5)

stream_filter_register — Registrar un filtro de flujo definido por el usuario

Descripción

bool stream_filter_register ( string $filtername , string $classname )

stream_filter_register() permite implementar un filtro propio sobre cualquier flujo registrado usado con las demás funciones de sistema de archivos (como fopen(), fread() etc.).

Parámetros

filtername

El nombre del filtro que va a ser registrado.

classname

Para implementar un filtro se necesita definir una clase como una extensión de php_user_filter con un número de funciones miembro. Cuando se lleva a cabo operaciones de lectura/escritura en el flujo al cuál el filtro está enlazado, PHP pasará la información a través de este filtro (y cualquier otro filtro enlazado a ese flujo) por lo que la información puede ser modificada como se desee. Se deben implementar los métodos exactamente como se describe en php_user_filter - hacerlo de otro modo conducirá a un comportamiento indefinido.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

stream_filter_register() devolverá FALSE si filtername ya está definido.

Ejemplos

Ejemplo #1 Filtro para poner en mayúsculas caracteres en el flujo foo-bar.txt

El ejemplo de abajo implementa un filtro llamado strtoupper en el flujo foo-bar.txt que pondrá en mayúsculas todos los caracteres de letras escritos en/leídos desde este flujo.

<?php

/* Definir nuestra clase de filtro */
class strtoupper_filter extends php_user_filter {
  function filter($entrada, $salida, &$consumido, $cerrar)
  {
    while ($recipiente = stream_bucket_make_writeable($entrada)) {
      $recipiente->data = strtoupper($recipiente->data);
      $consumido += $recipiente->datalen;
      stream_bucket_append($salida, $recipiente);
    }
    return PSFS_PASS_ON;
  }
}

/* Registrar nuestro filtro con PHP */
stream_filter_register("strtoupper", "strtoupper_filter")
    or die("Fallo al registrar el filtro");

$fp = fopen("foo-bar.txt", "w");

/* Enlazar el filtro al flujo recién abierto */
stream_filter_append($fp, "strtoupper");

fwrite($fp, "Fila1\n");
fwrite($fp, "Palabra - 2\n");
fwrite($fp, "Tan Sencillo Como 123\n");

fclose($fp);

/* Leer el contenido desde atrás
 */
readfile("foo-bar.txt");

?>

El resultado del ejemplo sería:

FILA1
PALABRA - 2
TAN SENCILLO COMO 123

Ejemplo #2 Registrar una clase de filtro genérica para comparar múltiples nombres de filtro.

<?php

/* Definir nuestra clase de filtro */
class string_filter extends php_user_filter {
  var $modo;

  function filter($entrada, $salida, &$consumido, $cerrar)
  {
    while ($recipiente = stream_bucket_make_writeable($entrada)) {
      if ($this->mode == 1) {
        $recipiente->data = strtoupper($recipiente->data);
      } elseif ($this->mode == 0) {
        $recipiente->data = strtolower($recipiente->data);
      }

      $consumido += $recipiente->datalen;
      stream_bucket_append($salida, $recipiente);
    }
    return PSFS_PASS_ON;
  }

  function onCreate()
  {
    if ($this->filtername == 'str.toupper') {
      $this->mode = 1;
    } elseif ($this->filtername == 'str.tolower') {
      $this->mode = 0;
    } else {
      /* Se preguntó por otro filtro str.*,
         informar del fallo, por lo que PHP seguirá mirando */
      return false;
    }

    return true;
  }
}

/* Registrar nuestro filtro con PHP */
stream_filter_register("str.*", "string_filter")
    or die("Fallo al registrar el filtro");

$fp = fopen("foo-bar.txt", "w");

/* Enlazar el filtro al flujo recién abierto
   Alternativamente podríamos enlazar a str.tolower aquí */
stream_filter_append($fp, "str.toupper");

fwrite($fp, "Fila1\n");
fwrite($fp, "Palabra - 2\n");
fwrite($fp, "Tan Sencillo Como 123\n");

fclose($fp);

/* Leer el contenido desde atrás
 */
readfile("foo-bar.txt");

?>

El resultado del ejemplo sería:

FILA1
PALABRA - 2
TAN SENCILLO COMO 123

Ver también

  • stream_wrapper_register() - Registra una envoltura de URL implementada como una clase de PHP
  • stream_filter_append() - Enlaza un filtro a un flujo
  • stream_filter_prepend() - Enlaza un filtro a un flujo

stream_filter_prepend
stream_filter_remove
Funciones de Flujos


Elimina un filtro de un flujo

stream_filter_register
stream_get_contents
Funciones de Flujos
PHP Manual

stream_filter_remove

(PHP 5 >= 5.1.0)

stream_filter_remove — Elimina un filtro de un flujo

Descripción

bool stream_filter_remove ( resource $stream_filter )

Elimina un filtro de flujo previamente añadido al flujo con stream_filter_prepend() o stream_filter_append(). Cualquier información restante en el buffer interno del filtro será volcada al siguiente filtro antes de eliminarla.

Parámetros

stream_filter

El filtro de flujo a eliminar.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Refiltrar dináminamente un flujo

<?php
/* Abrir un archivo de prueba para lectura y escritura */
$fp = fopen("prueba.txt", "rw");

$filtro_rot13 = stream_filter_append($fp, "string.rot13", STREAM_FILTER_WRITE);
fwrite($fp, "Esto es ");
stream_filter_remove($filtro_rot13);
fwrite($fp, "una prueba\n");

rewind($fp);
fpassthru($fp);
fclose($fp);

?>

El resultado del ejemplo sería:

Rfgb rf una prueba

Ver también

  • stream_filter_register() - Registrar un filtro de flujo definido por el usuario
  • stream_filter_append() - Enlaza un filtro a un flujo
  • stream_filter_prepend() - Enlaza un filtro a un flujo

stream_filter_register
stream_get_contents
Funciones de Flujos


Transfiere el resto de un flujo a una cadena

stream_filter_remove
stream_get_filters
Funciones de Flujos
PHP Manual

stream_get_contents

(PHP 5)

stream_get_contents — Transfiere el resto de un flujo a una cadena

Descripción

string stream_get_contents ( resource $handle [, int $maxlength = -1 [, int $offset = -1 ]] )

Idéntica a file_get_contents(), excepto que stream_get_contents() opera sobre un recurso de flujo ya abierto y devuelve el resto del contenido en una cadena, hasta maxlength bytes y comenzando por el offset especificado.

Parámetros

handle (resource)

Un recurso de flujo (p.ej. devuelto desde fopen())

maxlength (integer)

El máximo de bytes a leer. Por defecto es -1 (lee todo el buffer restante).

offset (integer)

Busca el índice especificado antes de leer. Si este número es negativo, no se hará ninguna búsqueda y la lectura comenzará desde la posición actual.

Valores devueltos

Devuelve una cadena o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.1.0 | Se añadió el parámetro offset.

Ejemplos

Ejemplo #1 Ejemplo de stream_get_contents()

<?php

if ($stream = fopen('http://www.example.com', 'r')) {
    // imprimir toda la página empezando por el índice 10
    echo stream_get_contents($stream, -1, 10);

    fclose($stream);
}

if ($stream = fopen('http://www.example.net', 'r')) {
    // imprimir los 5 primeros bytes
    echo stream_get_contents($stream, 5);

    fclose($stream);
}

?>

Notas

Nota: Esta función es segura binariamente.

Ver también

  • fgets() - Obtiene una línea desde el puntero a un fichero
  • fread() - Lectura de un fichero en modo binario seguro
  • fpassthru() - Escribe toda la información restante de un puntero a un archivo

stream_filter_remove
stream_get_filters
Funciones de Flujos


Recuperar la lista de los filtros registrados

stream_get_contents
stream_get_line
Funciones de Flujos
PHP Manual

stream_get_filters

(PHP 5)

stream_get_filters — Recuperar la lista de los filtros registrados

Descripción

array stream_get_filters ( void )

Recupera la lista de los filtros registrados en el sistema en ejecución.

Valores devueltos

Devuelve una matriz indexada que contiene el nombre de todos los filtros de flujo disponibles.

Ejemplos

Ejemplo #1 Usar stream_get_filters()

<?php
$streamlist = stream_get_filters();
print_r($streamlist);
?>

El resultado del ejemplo sería algo similar a:

Array (
  [0] => string.rot13
  [1] => string.toupper
  [2] => string.tolower
  [3] => string.base64
  [4] => string.quoted-printable
)

Ver también

  • stream_filter_register() - Registrar un filtro de flujo definido por el usuario
  • stream_get_wrappers() - Recupera la lista de los flujos registrados
stream_get_contents
stream_get_line
Funciones de Flujos


Obtiene una línea del recurso de flujo hasta un delimitador dado

stream_get_filters
stream_get_meta_data
Funciones de Flujos
PHP Manual

stream_get_line

(PHP 5)

stream_get_line — Obtiene una línea del recurso de flujo hasta un delimitador dado

Descripción

string stream_get_line ( resource $handle , int $length [, string $ending ] )

Obtiene una linea desde el gestor dado.

La lectura finaliza cuando hayan sido leídos length bytes, cuando se encuentre la cadena especificada por ending (la cuál no está incluida en el valor devuelto), o sobre EOF (lo que suceda primero).

Esta función es casi indéntica a fgets() excepto que permite delimitadores de fin de línea distintos a los habituales \n, \r, y \r\n, y no devuelve el delimitador mismo.

Parámetros

handle

Un gestor de archivo válido.

length

El número de bytes a leer desde el gestor.

ending

Un delimitador de cadena opcional.

Valores devueltos

Devuelve una cadena de hasta length bytes leídos desde el archivo apuntado por handle.

Si ocurre un error, devuelve FALSE.

Ver también

  • fread() - Lectura de un fichero en modo binario seguro
  • fgets() - Obtiene una línea desde el puntero a un fichero
  • fgetc() - Obtiene un carácter de un puntero a un archivo
stream_get_filters
stream_get_meta_data
Funciones de Flujos


Recuperar meta-información o de cabecera de punteros a flujos/archivo

stream_get_line
stream_get_transports
Funciones de Flujos
PHP Manual

stream_get_meta_data

(PHP 4 >= 4.3.0, PHP 5)

stream_get_meta_data — Recuperar meta-información o de cabecera de punteros a flujos/archivo

Descripción

array stream_get_meta_data ( resource $stream )

Devuelve información sobre un stream (flujo) existente.

Parámetros

stream

El flujo puede ser cualquier flujo creado por fopen(), fsockopen() y pfsockopen().

Valores devueltos

La matriz resultante contiene los siguientes elementos:

  • timed_out (bool) - TRUE si el flujo agota el tiempo mientras espera información en la última llamada a fread() o fgets().

  • blocked (bool) - TRUE si el flujo está en el modo de bloqueo IO. Véase stream_set_blocking().

  • eof (bool) - TRUE si el flujo ha alcanzado la marca eof (end-of-file, final de archivo). Observe que para flujos de socket este miembro puede ser TRUE incluso cuando unread_bytes no es cero. Para determinar si hay más información para leer, use feof() en vez de leer este elemento.

  • unread_bytes (int) - el número de bytes contenidos actualmente en el propio buffer interno de PHP.

    Nota: No se debería usar este valor en un script.

  • stream_type (string) - una etiqueta que describe la implementación subyacente del flujo.

  • wrapper_type (string) - una etiqueta que describe la implementación de la envoltura de protocolo que solapa al flujo. Véase Protocolos y Envolturas soportados para más información acerca de envolturas.

  • wrapper_data (mixed) - la información específica de la envoltura vinculada a este flujo. Véase Protocolos y Envolturas soportados para más información acerca de envolturas y su infomración de envoltura.

  • mode (string) - el tipo de acceso requerido para este flujo (véase la Tabla 1 de la referencia de fopen())

  • seekable (bool) - si el flujo acutal puede ser buscado.

  • uri (string) - la URI/nombre de archivo asociado con este flujo.

Historial de cambios

Versión | Descripción
5.0.0 | Las siguientes entradas se añadieron a la matriz devuelta: mode, seekable, y uri.
4.3.0 | Las siguientes entradas se añadieron a la matriz devuelta: stream_type, wrapper_type, wrapper_data, y filters.
4.3.0 | socket_get_status() es un alias de esta función. Antes de PHP 4.3.0, se usaba para recuperar los primeros cuatro elementos, para flujos basados en socket solamente.

Ejemplos

Ejemplo #1 Ejemplo de stream_get_meta_data()

<?php
$url = 'http://www.example.com/';

if (!$fp = fopen($url, 'r')) {
    trigger_error("Incapaz de abrir la URL ($url)", E_USER_ERROR);
}

$meta = stream_get_meta_data($fp);

print_r($meta);

fclose($fp);
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [wrapper_data] => Array
        (
            [0] => HTTP/1.1 200 OK
            [1] => Server: Apache/2.2.3 (Red Hat)
            [2] => Last-Modified: Tue, 15 Nov 2005 13:24:10 GMT
            [3] => ETag: "b300b4-1b6-4059a80bfd280"
            [4] => Accept-Ranges: bytes
            [5] => Content-Type: text/html; charset=UTF-8
            [6] => Set-Cookie: FOO=BAR; expires=Fri, 21-Dec-2012 12:00:00 GMT; path=/; domain=.example.com
            [6] => Connection: close
            [7] => Date: Fri, 16 Oct 2009 12:00:00 GMT
            [8] => Age: 1164
            [9] => Content-Length: 438
        )

    [wrapper_type] => http
    [stream_type] => tcp_socket/ssl
    [mode] => r
    [unread_bytes] => 438
    [seekable] =>
    [uri] => http://www.example.com/
    [timed_out] =>
    [blocked] => 1
    [eof] =>
)

Notas

Nota:

Esta función NO funciona en sockets creados por la extensión Socket.

Ver también

  • get_headers() - Recupera todas las cabeceras enviadas por el servidor en respuesta a una petición HTTP
  • $http_response_header

stream_get_line
stream_get_transports
Funciones de Flujos


Recuperar la lista de transportes de socket registrados

stream_get_meta_data
stream_get_wrappers
Funciones de Flujos
PHP Manual

stream_get_transports

(PHP 5)

stream_get_transports — Recuperar la lista de transportes de socket registrados

Descripción

array stream_get_transports ( void )

Devuelve una matriz indexada que contiene el nombre de todos los transportes de socket disponibles en el sistema en ejecución.

Valores devueltos

Devuelve una matriz indexada de nombres de transportes de socket.

Ejemplos

Ejemplo #1 Usar stream_get_transports()

<?php
$xportlist = stream_get_transports();
print_r($xportlist);
?>

El resultado del ejemplo sería algo similar a:

Array (
  [0] => tcp
  [1] => udp
  [2] => unix
  [3] => udg
)

Ver también

  • stream_get_filters() - Recuperar la lista de los filtros registrados
  • stream_get_wrappers() - Recupera la lista de los flujos registrados
stream_get_meta_data
stream_get_wrappers
Funciones de Flujos


Recupera la lista de los flujos registrados

stream_get_transports
stream_is_local
Funciones de Flujos
PHP Manual

stream_get_wrappers

(PHP 5)

stream_get_wrappers — Recupera la lista de los flujos registrados

Descripción

array stream_get_wrappers ( void )

Recupera la lista de los flujos registrados disponibles en el sistema en ejecución.

Valores devueltos

Devuelve una matriz indexada que contiene el nombre de todas las envolturas de flujo disponibles en el sistema en ejecución.

Ejemplos

Ejemplo #1 Ejemplo de stream_get_wrappers()

<?php
print_r(stream_get_wrappers());
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => php
    [1] => file
    [2] => http
    [3] => ftp
    [4] => compress.bzip2
    [5] => compress.zlib
)

Ejemplo #2 Comprobar la existencia de una envoltura de flujo

<?php
// comprobar la existencia de la envoltura de flujo bzip2
if (in_array('compress.bzip2', stream_get_wrappers())) {
    echo 'compress.bzip2:// soporte habilitado.';
} else {
    echo 'compress.bzip2:// soporte no habilitado.';
}
?>

Ver también

  • stream_wrapper_register() - Registra una envoltura de URL implementada como una clase de PHP
stream_get_transports
stream_is_local
Funciones de Flujos


Comprueba si un flujo es un flujo local

stream_get_wrappers
stream_notification_callback
Funciones de Flujos
PHP Manual

stream_is_local

(PHP 5 >= 5.2.4)

stream_is_local — Comprueba si un flujo es un flujo local

Descripción

bool stream_is_local ( mixed $stream_or_url )

Comprueba si un flujo, o una URL, es o no local.

Parámetros

stream_or_url

El resource de flujo o URL a comprobar.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de stream_is_local()

Ejemplo de uso básico.

<?php
var_dump(stream_is_local("http://example.com"));
var_dump(stream_is_local("/etc"));
?>

El resultado del ejemplo sería algo similar a:

bool(false)
bool(true)

stream_get_wrappers
stream_notification_callback
Funciones de Flujos


Una función de llamada de retorno para el parámetro de contexto de notificación

stream_is_local
stream_register_wrapper
Funciones de Flujos
PHP Manual

stream_notification_callback

(PHP 5 >= 5.2.0)

stream_notification_callback — Una función de llamada de retorno para el parámetro de contexto de notificación

Descripción

void stream_notification_callback ( int $notification_code , int $severity , string $message , int $message_code , int $bytes_transferred , int $bytes_max )

Una función de tipo callable, usada por el parámetro de contexto de notificación, llamado durante un evento.

Nota:

Esta no es una función real, sólo un prototipo de cómo la función debería ser.

Parámetros

notification_code

Una de las constantes de notificación STREAM_NOTIFY_*.

severity

Una de las constantes de notificación STREAM_NOTIFY_SEVERITY_*.

message

Pasado si un mensaje descriptivo está disponible para el evento.

message_code

Pasado si un código de mensaje descriptivo está disponible para el evento.

Esto significa que el valor depende de la envoltura específica en uso.

bytes_transferred

Si se puede aplicar, el parámetro bytes_transferred será rellenado.

bytes_max

Si se puede aplicar, el parámetro bytes_max será rellenado.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de stream_notification_callback()

<?php
function stream_notification_callback($notification_code, $severity, $message, $message_code, $bytes_transferred, $bytes_max) {

    switch($notification_code) {
        case STREAM_NOTIFY_RESOLVE:
        case STREAM_NOTIFY_AUTH_REQUIRED:
        case STREAM_NOTIFY_COMPLETED:
        case STREAM_NOTIFY_FAILURE:
        case STREAM_NOTIFY_AUTH_RESULT:
            var_dump($notification_code, $severity, $message, $message_code, $bytes_transferred, $bytes_max);
            /* Ignore */
            break;

        case STREAM_NOTIFY_REDIRECTED:
            echo "Redireccionando a: ", $message;
            break;

        case STREAM_NOTIFY_CONNECT:
            echo "Conectado...";
            break;

        case STREAM_NOTIFY_FILE_SIZE_IS:
            echo "Obtenido el tamaño de archivo: ", $bytes_max;
            break;

        case STREAM_NOTIFY_MIME_TYPE_IS:
            echo "Encontrado el tipo mime: ", $message;
            break;

        case STREAM_NOTIFY_PROGRESS:
            echo "Hecho algún progreso, descargado ", $bytes_transferred, " hasta el momento";
            break;
    }
    echo "\n";
}

$ctx = stream_context_create();
stream_context_set_params($ctx, array("notification" => "stream_notification_callback"));

file_get_contents("http://php.net/contact", false, $ctx);
?>

El resultado del ejemplo sería algo similar a:

Conectado...
Encontrado el tipo mime: text/html; charset=utf-8
Redireccionando a: http://no.php.net/contact
Conectado...
Obtenido el tamaño de archivo: 0
Found the mime-type: text/html; charset=utf-8
Redireccionando a: http://no.php.net/contact.php
Conectado...
Obtenido el tamaño de archivo: 4589
Encontrado el tipo mime: text/html;charset=utf-8
Hecho algún progreso, descargado 0 hasta el momento
Hecho algún progreso, descargado 0 hasta el momento
Hecho algún progreso, descargado 0 hasta el momento
Hecho algún progreso, descargado 1440 hasta el momento
Hecho algún progreso, descargado 2880 hasta el momento
Hecho algún progreso, descargado 4320 hasta el momento
Hecho algún progreso, descargado 5760 hasta el momento
Hecho algún progreso, descargado 6381 hasta el momento
Hecho algún progreso, descargado 7002 hasta el momento

Ejemplo #2 Barra de progreso sencilla para la descarga por parte del cliente por línea de comandos

<?php
function usage($argv) {
    echo "Uso:\n";
    printf("\tphp %s <http://example.com/file> <localfile>\n", $argv[0]);
    exit(1);
}

function stream_notification_callback($notification_code, $severity, $message, $message_code, $bytes_transferred, $bytes_max) {
    static $filesize = null;

    switch($notification_code) {
    case STREAM_NOTIFY_RESOLVE:
    case STREAM_NOTIFY_AUTH_REQUIRED:
    case STREAM_NOTIFY_COMPLETED:
    case STREAM_NOTIFY_FAILURE:
    case STREAM_NOTIFY_AUTH_RESULT:
        /* Ignore */
        break;

    case STREAM_NOTIFY_REDIRECTED:
        echo "Redireccionando a: ", $message, "\n";
        break;

    case STREAM_NOTIFY_CONNECT:
        echo "Conectado...\n";
        break;

    case STREAM_NOTIFY_FILE_SIZE_IS:
        $filesize = $bytes_max;
        echo "Tamaño de archivo: ", $filesize, "\n";
        break;

    case STREAM_NOTIFY_MIME_TYPE_IS:
        echo "Tipo mime: ", $message, "\n";
        break;

    case STREAM_NOTIFY_PROGRESS:
        if ($bytes_transferred > 0) {
            if (!isset($filesize)) {
                printf("\rTamaño de archivo desconocido.. %2d kb hecho..", $bytes_transferred/1024);
            } else {
                $length = (int)(($bytes_transferred/$filesize)*100);
                printf("\r[%-100s] %d%% (%2d/%2d kb)", str_repeat("=", $length). ">", $length, ($bytes_transferred/1024), $filesize/1024);
            }
        }
        break;
    }
}

isset($argv[1], $argv[2]) or usage($argv);

$ctx = stream_context_create();
stream_context_set_params($ctx, array("notification" => "stream_notification_callback"));

$fp = fopen($argv[1], "r", false, $ctx);
if (is_resource($fp) && file_put_contents($argv[2], $fp)) {
    echo "\nÂ¡Hecho!\n";
    exit(0);
}

$err = error_get_last();
echo "\nErrrrrorr..\n", $err["message"], "\n";
exit(1);
?>

Ejecutar el ejemplo anterior con: php -n fetch.php http://no2.php.net/get/php-5-LATEST.tar.bz2/from/this/mirror php-latest.tar.bz2 imprimirá algo similar a:

Conectado...
Tipo mime: text/html; charset=utf-8
Redireccionando a: http://no2.php.net/distributions/php-5.2.5.tar.bz2
Conectado...
Tamaño de archivo: 7773024
Tipo mime: application/octet-stream
[========================================>                                                           ] 40% (3076/7590 kb)

Ver también

  • Contexto parámetros

stream_is_local
stream_register_wrapper
Funciones de Flujos


Alias de stream_wrapper_register

stream_notification_callback
stream_resolve_include_path
Funciones de Flujos
PHP Manual

stream_register_wrapper

(PHP 4 >= 4.3.0, PHP 5)

stream_register_wrapper — Alias de stream_wrapper_register()

Descripción

Esta función es un alias de: stream_wrapper_register().

stream_notification_callback
stream_resolve_include_path
Funciones de Flujos


Resuelve el nombre de archivo en la ruta incluida

stream_register_wrapper
stream_select
Funciones de Flujos
PHP Manual

stream_resolve_include_path

(PHP 5 >= 5.3.2)

stream_resolve_include_path — Resuelve el nombre de archivo en la ruta incluida

Descripción

string stream_resolve_include_path ( string $filename )

Resuelve filename en la ruta incluida según las mismas reglas que en fopen()/ include.

Parámetros

filename

El nombre de fichero a resolver.

Valores devueltos

Devuelve un string que contiene el nombre de fichero absoluto resuelto, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de stream_resolve_include_path()

Ejemplo de uso básico.

<?php
var_dump(stream_resolve_include_path("prueba.php"));
?>

El resultado del ejemplo sería algo similar a:

string(22) "/var/www/html/test.php"

stream_register_wrapper
stream_select
Funciones de Flujos


Ejecuta el equivalente de la llamada al sistema select() sobre las matrices de flujos dadas con un tiempo de espera especificado por tv_sec y tv_usec

stream_resolve_include_path
stream_set_blocking
Funciones de Flujos
PHP Manual

stream_select

(PHP 4 >= 4.3.0, PHP 5)

stream_select — Ejecuta el equivalente de la llamada al sistema select() sobre las matrices de flujos dadas con un tiempo de espera especificado por tv_sec y tv_usec

Descripción

int stream_select ( array &$read , array &$write , array &$except , int $tv_sec [, int $tv_usec = 0 ] )

La función stream_select() acepta matrices de flujos y espera a que cambien su estado. Su operación es equivalente a la de la función socket_select() excepto que actúa sobre flujos.

Parámetros

read

Los flujos listados en la matriz read serán observados para comprobar si los caracteres están disponibles para la lectura (de manera más precisa, para ver si una lectura no bloqueará - en particular, un recurso de flujo está también listo en el final de archivo, en cuyo caso una llamada a fread() devolverá una cadena de longitud cero).

write

Los flujos listados en la matriz write serán observados para comprobar si una escritura no bloqueará.

except

Los flujos listados en la matriz except serán observados para una llegada de información excepcional de alta prioridad ("fuera de banda").

Nota:

Cuando stream_select() devuelve, las matrices read, write y except se modifican para indicar qué recursos de flujo cambiaron de estado actualmente.

No se necesita pasar cada matriz a stream_select(). Se pueden omitir y usar una matriz vacía o NULL en su lugar. No se olvide también de que estas matrices son pasadas por referencia y serán modificadas después de que stream_select() devuelva.
tv_sec

Los parámetros tv_sec y tv_usec forman juntos el parámetro timeout, tv_sec especifica el número de segundos mientras que tv_usec especifica el número de microsegundos. El timeout (tiemop de espera) es un límite superior de la cantidad de tiempo que stream_select() esperará antes de devolver. Si tv_sec y tv_usec están establecidos a 0, stream_select() no esperará información - en su lugar devolverá inmediantamente, indicando el estado acutal de los flujos.

Si tv_sec es NULL stream_select() puede bloquear indefinidamente, devolviendo sólo cuando ocurra un evento de los flujos observados (o si una señal interrumpe la llamada al sistema).

Advertencia

Usar un valor de tiempo de espera de 0 permite emitir instantáneamente el estado de los flujos, sin embargo, NO es una buena idea usar un valor de tiempo de espera de 0 en un bucle ya que causará que el script consuma demasiado tiempo de la CPU.

Es mucho mejor especificar un valor de tiempo de espera de unos pocos segundos, aunque si se necesita comprobar y ejecutar actualmente otro código, usar un valor de tiempo de espera de al menos 200000 microsegundos ayudará a reducir el uso de la CPU del script.

Recuerde que el valor del tiempo de espera es el tiempo máximo que transcurrirá; stream_select() devolverá tan pronto como los flujos requeridos estén listos para su uso.

tv_usec

Véase la descripción de tv_sec.

Valores devueltos

Si se tuvo éxito stream_select() devolverá el número de recursos de flujo contenidos en las matrices modificadas, lo cual puede ser cero si el tiempo de espera expira antes de que no ocurra nada interesante. Si se produjo un error devolverá FALSE y se lanzará una advertendia (esto puede suceder si la llamada al sistema es interrumpida por una señal entrante).

Ejemplos

Ejemplo #1 Ejemplo de stream_select()

Este ejemplo hace una comprobación para ver si ha llegado información para leer sobre $stream1 o $stream2. Ya que el tiempo de espera es 0 devolverá inmediatamente:

<?php
/* Prepararse para leer una matriz */
$read   = array($stream1, $stream2);
$write  = NULL;
$except = NULL;
if (false === ($num_changed_streams = stream_select($read, $write, $except, 0))) {
    /* Manejo de errores */
} elseif ($num_changed_streams > 0) {
    /* Sucedió algo interesante en al menos uno de los flujos */
}
?>

Notas

Nota:

Debido a las limitaciones en el actual Zend Engine no es posible pasar un modificador constante como NULL directamente como un parámetro a una función que espera que este parámetro sea pasado por referencia. En su lugar use una variable temporal o una expresión con el miembro más a la izquierda como una variable temporal:

<?php
$e = NULL;
stream_select($r, $w, $e, 0);
?>

Nota:

Asegúrese de usar el operador === cuando se compruebe un error. Ya que stream_select() puede devolver 0, la comparación con == sería evaluada como TRUE:

<?php
$e = NULL;
if (false === stream_select($r, $w, $e, 0)) {
    echo "Falló stream_select()\n";
}
?>

Nota:

Si se lee/escribe en un flujo devuelto en las matrices sea consciente de que éstas no leen/escriben necesariamente la cantidad total de información que se solicitó. Inluso sólo pueden ser capaces de leer/escribir un sólo byte.

Nota:

Algunos flujos (como zlib) no pueden ser seleccionados por esta función.

Nota:

Compatibilidad con Windows: stream_select() usado sobre una tubería devuelta desde proc_open() puede causar pérdida de información bajo Windows 98.

El uso de stream_select() sobre descriptores de archivos devueltos por proc_open() fallará y devolverá FALSE bajo Windows.

Ver también

  • stream_set_blocking() - Establecer el modo bloqueo/no-bloqueo en un flujo
stream_resolve_include_path
stream_set_blocking
Funciones de Flujos


Establecer el modo bloqueo/no-bloqueo en un flujo

stream_select
stream_set_chunk_size
Funciones de Flujos
PHP Manual

stream_set_blocking

(PHP 4 >= 4.3.0, PHP 5)

stream_set_blocking — Establecer el modo bloqueo/no-bloqueo en un flujo

Descripción

bool stream_set_blocking ( resource $stream , int $mode )

Establece el modo de bloqueo o no-bloqueo en un stream.

Esta función funciona con cualquier flujo que soporte el modo de no bloqueo (actualmente, archivos normales y flujos de socket).

Parámetros

stream

El flujo.

mode

Si mode es 0, el flujo dado será cambiado al modo de no-bloqueo, y si es 1, será cambiado al modo de bloqueo. Esto afecta a las llamadas a, por ejemplo, fgets() y fread() que leen desde un flujo. En el modo de no-bloquo una llamada a fgets() devolverá siempre inmediatamente mientras que en el modo de bloqueo esperará a que la información esté disponible en el flujo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
4.3.0 | Antes de PHP 4.3.0 esta función sólo funcionaba con flujos basados en sockets.

Notas

Nota:

Esta función se llamaba anteriormente set_socket_blocking() y después socket_set_blocking() pero este uso está obsoleto.

Ver también

  • stream_select() - Ejecuta el equivalente de la llamada al sistema select() sobre las matrices de flujos dadas con un tiempo de espera especificado por tv_sec y tv_usec
stream_select
stream_set_chunk_size
Funciones de Flujos


Establecer el tamaño de trozo de flujo

stream_set_blocking
stream_set_read_buffer
Funciones de Flujos
PHP Manual

stream_set_chunk_size

(PHP 5 >= 5.4.0)

stream_set_chunk_size — Establecer el tamaño de trozo de flujo

Descripción

int stream_set_chunk_size ( resource $fp , int $chunk_size )

Estblece el tamaño de trozo de flujo.

Parámetros

fp

El flujo objetivo.

chunk_size

El nuevo tamaño de trozo deseado.

Valores devueltos

Devuelve el tamaño de trozo anterior en caso de éxito.

Devolverá FALSE si chunk_size es menor que 1 o mayor que PHP_INT_MAX.

Errores/Excepciones

Emitirá un error de nivel E_WARNING si chunk_size es menor que 1 o mayor que PHP_INT_MAX.

stream_set_blocking
stream_set_read_buffer
Funciones de Flujos


Establece el búfer de lectura de archivos en el flujo dado

stream_set_chunk_size
stream_set_timeout
Funciones de Flujos
PHP Manual

stream_set_read_buffer

(PHP 5 >= 5.3.3)

stream_set_read_buffer — Establece el búfer de lectura de archivos en el flujo dado

Descripción

int stream_set_read_buffer ( resource $stream , int $buffer )

Establece el búfer de lectura. Es equivalente a stream_set_write_buffer(), excepto que es para operaciones de escritura-

Parámetros

stream

El puntero al archivo.

buffer

El número de bytes del buffer. Si buffer es 0 las operaciones de lectura no son volcadas al buffer. Esto asegura que todas las lecturas hechas con fread() son completadas antes de que a otros procesos se les permita leer en ese flujo de entrada.

Valores devueltos

Devuelve 0 en caso de éxito, o EOF si la petición no se pudo satisfacer.

Ver también

  • stream_set_write_buffer() - Establece el búfer para escritura de archivos en el flujo dado
stream_set_chunk_size
stream_set_timeout
Funciones de Flujos


Establecer un perido de tiempo de espera en un flujo

stream_set_read_buffer
stream_set_write_buffer
Funciones de Flujos
PHP Manual

stream_set_timeout

(PHP 4 >= 4.3.0, PHP 5)

stream_set_timeout — Establecer un perido de tiempo de espera en un flujo

Descripción

bool stream_set_timeout ( resource $stream , int $seconds [, int $microseconds = 0 ] )

Establece el valor del tiempo de espera en stream, expresado como la suma de seconds y microseconds.

Cuando el flujo agota el tiempo de espera, la clave 'timed_out' de la matriz devuelta por stream_get_meta_data() se establece a TRUE, aunque no se genere un error/advertencia.

Parámetros

stream

El flujo objetivo.

seconds

La parte de segundos del tiempo de espera a establecer.

microseconds

La parte de microsegundos del tiempo de espera a establecer.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
4.3.0 | A partira de PHP 4.3, esta función pude (potencialmente) trabajar con cualquier tipo de flujos. En PHP 4.3, los sockets basados en flujos son aún el único tipo soportado en el núcleo de PHP, aunque los flujos de otras extensiones pueden soportar esta función.

Ejemplos

Ejemplo #1 Ejemplo de stream_set_timeout()

<?php
$fp = fsockopen("www.example.com", 80);
if (!$fp) {
    echo "No se puede abrir\n";
} else {

    fwrite($fp, "GET / HTTP/1.0\r\n\r\n");
    stream_set_timeout($fp, 2);
    $res = fread($fp, 2000);

    $info = stream_get_meta_data($fp);
    fclose($fp);

    if ($info['timed_out']) {
        echo '¡La conexión agotó el tiempo de espera!';
    } else {
        echo $res;
    }

}
?>

Notas

Nota:

Esta función no funciona con operaciones avanzadas como stream_socket_recvfrom(), use stream_select() con el parámetro tiempo de espera (timeout) en su lugar.

Esta función se llamaba anteriormente set_socket_timeout() y después socket_set_timeout() pero este uso está obsoleto.

Ver también

  • fsockopen() - Abre una conexión vía sockets a Internet o a un dominio Unix
  • fopen() - Abre un fichero o una URL
stream_set_read_buffer
stream_set_write_buffer
Funciones de Flujos


Establece el búfer para escritura de archivos en el flujo dado

stream_set_timeout
stream_socket_accept
Funciones de Flujos
PHP Manual

stream_set_write_buffer

(PHP 4 >= 4.3.0, PHP 5)

stream_set_write_buffer — Establece el búfer para escritura de archivos en el flujo dado

Descripción

int stream_set_write_buffer ( resource $stream , int $buffer )

Establece el buffer para escribir operaciones en el stream dado a buffer bytes.

La salida usando fwrite() normalmente tiene un buffer de 8K. Esto significa que si hay dos procesos esperando a escribir en el mismo flujo de salida (un archivo), cada uno se pausa después de 8K de información para permitir que el otro escriba.

Parámetros

stream

El puntero a un archivo.

buffer

El número de bytes del buffer. Si buffer es 0 las operaciones de escritura no usarán buffer. Esto asegura que todas las escrituras con fwrite() se completen antes de que a otros procesos se les permita escribir en ese flujo de salida.

Valores devueltos

Devuelve 0 si se tuvo éxito, o EOF si la petición nu se pudo satisfacer.

Ejemplos

Ejemplo #1 Ejemplo de stream_set_write_buffer()

El siguiente ejemplo muestra cómo usar stream_set_write_buffer()para crear un flujo sin buffer.

<?php
$fp = fopen($file, "w");
if ($fp) {
  stream_set_write_buffer($fp, 0);
  fwrite($fp, $output);
  fclose($fp);
}
?>

Ver también

  • fopen() - Abre un fichero o una URL
  • fwrite() - Escritura de un archivo en modo binario seguro
stream_set_timeout
stream_socket_accept
Funciones de Flujos


Acepta una conexión sobre un socket creado por stream_socket_server

stream_set_write_buffer
stream_socket_client
Funciones de Flujos
PHP Manual

stream_socket_accept

(PHP 5)

stream_socket_accept — Acepta una conexión sobre un socket creado por stream_socket_server()

Descripción

resource stream_socket_accept ( resource $server_socket [, float $timeout = ini_get("default_socket_timeout") [, string &$peername ]] )

Acepta una conexión sobre un socket creado previamente por stream_socket_server().

Parámetros

server_socket

El socket del servidor desde donde aceptar una conexión.

timeout

Sobreescribe el tiemo de espera aceptado por defecto del socket. Esto debería darse en segundos.

peername

Se establecerá al nombre (dirección) del cliente que se conectó, si está incluido y disponible desde el transporte seleccionado.

Nota:

También se puede determinar después usando stream_socket_get_name().

Valores devueltos

Devuelve un flujo a la conexión del socket aceptado o FALSE en caso de error.

Notas

Advertencia

Esta función no debería usarse con sockets de servidor UDP. En su lugar, use stream_socket_recvfrom() y stream_socket_sendto().

Ver también

  • stream_socket_server() - Crear un socket de servidor de dominio de Internet o de Unix
  • stream_socket_get_name() - Recuperar el nombre de los sockets locales o remotos
  • stream_set_blocking() - Establecer el modo bloqueo/no-bloqueo en un flujo
  • stream_set_timeout() - Establecer un perido de tiempo de espera en un flujo
  • fgets() - Obtiene una línea desde el puntero a un fichero
  • fgetss() - Obtiene un línea desde un puntero a un archivo y elimina las etiquetas HTML
  • fwrite() - Escritura de un archivo en modo binario seguro
  • fclose() - Cierra un puntero a un archivo abierto
  • feof() - Comprueba si el puntero a un archivo está al final del archivo
  • Funciones de cURL

stream_set_write_buffer
stream_socket_client
Funciones de Flujos


Abrir una conexión de socket de dominio de Internet o Unix

stream_socket_accept
stream_socket_enable_crypto
Funciones de Flujos
PHP Manual

stream_socket_client

(PHP 5)

stream_socket_client — Abrir una conexión de socket de dominio de Internet o Unix

Descripción

resource stream_socket_client ( string $remote_socket [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout") [, int $flags = STREAM_CLIENT_CONNECT [, resource $context ]]]]] )

Inicia una conexión de flujo o datagrama al destino especificado por remote_socket. El tipo de socket creado se determina por el transporte especificado usando el formato de URL estándar: transporte://objetivo. Para sockets de Dominio de Internet (AF_INET) como TCP y UDP, la porción del objetivo del parámetro remote_socket debería consistir en un nombre de host o dirección IP seguida de dos puntos y un número de puerto. Para sockets de dominio de Unix, la porción de target apuntará al archivo de socket del sistema de archivos.

Nota:

El flujo será abierto por defecto en modo de bloqueo. Se puede cambiar al modo de no bloqueo usando stream_set_blocking().

Parámetros

remote_socket

Dirección del socket al que se va a conectar.

errno

Será establecido al número de error a nivel de sistema si la conexión falla.

errstr

Será establecido al mensaje de error a nivel de sistema si la conexión falla.

timeout

Número de segundos hasta que la llamda al sistema de connect() debería esperar.

Nota: Este parámetro sólo se aplica cuando no se hace un intento de conexión asíncrona.

Nota:

Para establecer un tiempo de espera para lectura/escritura de información sobre el socket, use la función stream_set_timeout(), ya que timeout sólo se aplica mientras se hace una conexión al socket.

flags

Campo de máscara de bits que puede ser establecido a cualquier combinación de banderas de conexión. Actualmente la selección de banderas de conexión está limitada a STREAM_CLIENT_CONNECT (por defecto), STREAM_CLIENT_ASYNC_CONNECT y STREAM_CLIENT_PERSISTENT.

context

Un recurso de contexto válido creado con stream_context_create().

Valores devueltos

Si se tuvo éxito, un recurso de flujo es devuelto, el cuál se puede
usar junto con las demás funciones de archivo (tales como
 fgets(),  fgetss(),
 fwrite(),  fclose(), y
 feof()), FALSE si falló.

Errores/Excepciones

Si falló, los argumentos errno y errstr serán rellenados con el error a nivel de sistema actual que ocurrió en la llamda a nivel de sistema de connect(). Si el valor devuelto en errno es 0 y la función devolvió FALSE, es una indicación de que el error ocurrió antes de la llamada a connect(). Esto es lo más probable debido a un problema de inicialización del socket. Observe que los argumentos errno y errstr siempre serán pasados por referencia.

Ejemplos

Ejemplo #1 Ejemplo de stream_socket_client()

<?php
$fp = stream_socket_client("tcp://www.example.com:80", $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {
    fwrite($fp, "GET / HTTP/1.0\r\nHost: www.example.com\r\nAccept: */*\r\n\r\n");
    while (!feof($fp)) {
        echo fgets($fp, 1024);
    }
    fclose($fp);
}
?>

Ejemplo #2 Usar una conexión UDP

Recuperar el día y la hora desde el servicio "daytime" de UDP (puerto 13) en localhost.

<?php
$fp = stream_socket_client("udp://127.0.0.1:13", $errno, $errstr);
if (!$fp) {
    echo "ERROR: $errno - $errstr<br />\n";
} else {
    fwrite($fp, "\n");
    echo fread($fp, 26);
    fclose($fp);
}
?>

Notas

Advertencia

Los sockects UDP a veces parecerán estar abiertos sin un error, incluso si el host remoto es inalcanzable. El error sólo aparecerá cuando se lea o escriba información desde/en el socket. La razón de esto es que UDP es un protocolo no orientado a conexión, lo que significa que el sistema operativo no intenta establecer un enlace para el socket hasta que se necesite enviar o recibir informaicón.

Nota: Cuando se especifique una dirección numérica IPv6 (por ej., fe80::1), la IP debe ser encerrada entre corchetes — por ejemplo, tcp://[fe80::1]:80.

Nota:

Dependiendo del entorno, pueden no estar disponibles el dominio Unix o el tiempo de espera opcional de la conexión. Una lista de transportes disponibles se puede recuperar unsando stream_get_transports(). Véase Lista de Transportes de Sockets Soportados para una lista de transportes incluidos.

Ver también

  • stream_socket_server() - Crear un socket de servidor de dominio de Internet o de Unix
  • stream_set_blocking() - Establecer el modo bloqueo/no-bloqueo en un flujo
  • stream_set_timeout() - Establecer un perido de tiempo de espera en un flujo
  • stream_select() - Ejecuta el equivalente de la llamada al sistema select() sobre las matrices de flujos dadas con un tiempo de espera especificado por tv_sec y tv_usec
  • fgets() - Obtiene una línea desde el puntero a un fichero
  • fgetss() - Obtiene un línea desde un puntero a un archivo y elimina las etiquetas HTML
  • fwrite() - Escritura de un archivo en modo binario seguro
  • fclose() - Cierra un puntero a un archivo abierto
  • feof() - Comprueba si el puntero a un archivo está al final del archivo
  • Funciones de cURL

stream_socket_accept
stream_socket_enable_crypto
Funciones de Flujos


Activa/desactiva la encriptación en un socket ya conectado

stream_socket_client
stream_socket_get_name
Funciones de Flujos
PHP Manual

stream_socket_enable_crypto

(PHP 5 >= 5.1.0)

stream_socket_enable_crypto — Activa/desactiva la encriptación en un socket ya conectado

Descripción

mixed stream_socket_enable_crypto ( resource $stream , bool $enable [, int $crypto_type [, resource $session_stream ]] )

Habilita o deshabilita la encriptación en un flujo.

Una vez que la configuración de encriptación está habilitada, la criptografía se puede activar o desactivar pasando TRUE o FALSE al parámetro enable.

Parámetros

stream

El recurso de flujo.

enable

Activa/descativa la criptografía en el flujo.

crypto_type

Configura la encriptación en el flujo. Los métodos válidos son

  • STREAM_CRYPTO_METHOD_SSLv2_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv3_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv23_CLIENT
  • STREAM_CRYPTO_METHOD_TLS_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv2_SERVER
  • STREAM_CRYPTO_METHOD_SSLv3_SERVER
  • STREAM_CRYPTO_METHOD_SSLv23_SERVER
  • STREAM_CRYPTO_METHOD_TLS_SERVER

session_stream

Establece el flujo con los ajustes de session_stream.

Valores devueltos

Devuelve TRUE si se tuvo éxito, FALSE si la negociación falló o 0 si no hay suficiente información y se debería intertar otra vez (sólo para sockets no bloqueados).

Ejemplos

Ejemplo #1 Ejemplo de stream_socket_enable_crypto()

<?php
$fp = stream_socket_client("tcp://myproto.example.com:31337", $errno, $errstr, 30);
if (!$fp) {
    die("Incapaz de conectar a: $errstr ($errno)");
}

/* Activar la encriptación para la fase de identificación */
stream_socket_enable_crypto($fp, true, STREAM_CRYPTO_METHOD_SSLv23_CLIENT);
fwrite($fp, "USER god\r\n");
fwrite($fp, "PASS secret\r\n");

/* Desactivar la encriptación para el resto */
stream_socket_enable_crypto($fp, false);

while ($motd = fgets($fp)) {
    echo $motd;
}

fclose($fp);
?>

El resultado del ejemplo sería algo similar a:

Ver también

  • Funciones de OpenSSL
    •

  • Lista de Transportes de Sockets Soportados
    •

stream_socket_client

stream_socket_get_name

Funciones de Flujos


Recuperar el nombre de los sockets locales o remotos

stream_socket_enable_crypto
stream_socket_pair
Funciones de Flujos
PHP Manual

stream_socket_get_name

(PHP 5)

stream_socket_get_name — Recuperar el nombre de los sockets locales o remotos

Descripción

string stream_socket_get_name ( resource $handle , bool $want_peer )

Devuelve el nombre local o remoto de una conexión de socket dada.

Parámetros

handle

El socket del que se va a obtener el nombre.

want_peer

Si se establece a TRUE se devolverá el nombre del socket remoto, si se establece a FALSE se devolverá el nombre del socket local.

Valores devueltos

El nombre del socket.

Ver también

  • stream_socket_accept() - Acepta una conexión sobre un socket creado por stream_socket_server

stream_socket_enable_crypto
stream_socket_pair
Funciones de Flujos


Crea un pareja de flujos de socket conectados e indistinguibles

stream_socket_get_name
stream_socket_recvfrom
Funciones de Flujos
PHP Manual

stream_socket_pair

(PHP 5 >= 5.1.0)

stream_socket_pair — Crea un pareja de flujos de socket conectados e indistinguibles

Descripción

array stream_socket_pair ( int $domain , int $type , int $protocol )

stream_socket_pair() crea un pareja de flujos de socket conectados e indistinguibles. Esta fnción se usa normalmente en IPC (Inter-Process Communication, Comunicación entre Procesos).

Parámetros

domain

La familia de protocolos que se va a usar: STREAM_PF_INET, STREAM_PF_INET6 o STREAM_PF_UNIX

type

El tipo de comunicación que se va a usar: STREAM_SOCK_DGRAM, STREAM_SOCK_RAW, STREAM_SOCK_RDM, STREAM_SOCK_SEQPACKET o STREAM_SOCK_STREAM

protocol

El protocolo que se va a usar: STREAM_IPPROTO_ICMP, STREAM_IPPROTO_IP, STREAM_IPPROTO_RAW, STREAM_IPPROTO_TCP o STREAM_IPPROTO_UDP

Nota: Por favor, consulte la lista de constantes de Flujos para más detalles de cada constante.

Valores devueltos

Devuelve un array con los dos recursos de socket si se tuvo éxito, o FALSE si falló.

Historial de cambios

Versión | Descripción
5.3.0 | Esta función ahora está disponible en plataformas Windows.

Ejemplos

Ejemplo #1 Un ejemplo de stream_socket_pair()

Este ejemplo muestra el uso básico de stream_socket_pair() en Comunciación entre Proceses (IPC).

<?php

$sockets = stream_socket_pair(STREAM_PF_UNIX, STREAM_SOCK_STREAM, STREAM_IPPROTO_IP);
$pid     = pcntl_fork();

if ($pid == -1) {
     die('no se pudo bifurcar');

} else if ($pid) {
     /* padre */
    fclose($sockets[0]);

    fwrite($sockets[1], "PID hijo: $pid\n");
    echo fgets($sockets[1]);

    fclose($sockets[1]);

} else {
    /* hijo */
    fclose($sockets[1]);

    fwrite($sockets[0], "mensaje desde el hijo\n");
    echo fgets($sockets[0]);

    fclose($sockets[0]);
}

?>

El resultado del ejemplo sería algo similar a:

PID hijo: 1378
mensaje desde el hijo

stream_socket_get_name
stream_socket_recvfrom
Funciones de Flujos


Recibir información de un socket, conectado o no

stream_socket_pair
stream_socket_sendto
Funciones de Flujos
PHP Manual

stream_socket_recvfrom

(PHP 5)

stream_socket_recvfrom — Recibir información de un socket, conectado o no

Descripción

string stream_socket_recvfrom ( resource $socket , int $length [, int $flags = 0 [, string &$address ]] )

stream_socket_recvfrom() acepta información desde un socket remoto hasta length bytes.

Parámetros

socket

El socket remoto.

length

El número de bytes a recibir desde el socket.

flags

El valor de flags puede ser una combinación de los siguientes valores:

Valores posibles para flags
STREAM_OOB | Procesar información OOB (out-of-band, fuera de banda).
STREAM_PEEK | Recuperar información del socket, pero sin consumir el buffer. Las llamadas subsiguientes a fread() o stream_socket_recvfrom() verán la misma información.

address

Si se proporciona address, será rellenado con la dirección de socket remoto.

Valores devueltos

Devuelve la información leída, como cadena

Ejemplos

Ejemplo #1 Ejemplo de stream_socket_recvfrom()

<?php
/* Abrir un socket de servidor al puerto 1234 en localhost */
$server = stream_socket_server('tcp://127.0.0.1:1234');

/* Aceptar una conexión */
$socket = stream_socket_accept($server);

/* Tomar un paquete (1500 es un tamaño de MTU típico) de información OOB */
echo "Recibido Fuera de Banda: '" . stream_socket_recvfrom($socket, 1500, STREAM_OOB) . "'\n";

/* Echar un vistazo a la información en banda normal, pero sin comsumirla. */
echo "Información: '" . stream_socket_recvfrom($socket, 1500, STREAM_PEEK) . "'\n";

/* Obtener el mismo paquete exactamente otra vez, pero eliminándolo del buffer esta vez. */
echo "Información: '" . stream_socket_recvfrom($socket, 1500) . "'\n";

/* Cerrarlo */
fclose($socket);
fclose($server);
?>

Notas

Nota:

Si un mensaje recibido es mayor que el parámetro length, los bytes en exceso se pueden desechar dependiendo del tipo de socket desde el que se recbió el mensaje (como UDP).

Nota:

Las llamadas a stream_socket_recvfrom() sobre flujos basados en sockets, después de las llamadas a funciones de flujos basados en buffer (como fread() o stream_get_line()), leen información directamente desde el socket y evitan el buffer del flujo.

Ver también

  • stream_socket_sendto() - Envía un mensaje a un socket, ya esté conectado o no
  • stream_socket_client() - Abrir una conexión de socket de dominio de Internet o Unix
  • stream_socket_server() - Crear un socket de servidor de dominio de Internet o de Unix
stream_socket_pair
stream_socket_sendto
Funciones de Flujos


Envía un mensaje a un socket, ya esté conectado o no

stream_socket_recvfrom
stream_socket_server
Funciones de Flujos
PHP Manual

stream_socket_sendto

(PHP 5)

stream_socket_sendto — Envía un mensaje a un socket, ya esté conectado o no

Descripción

int stream_socket_sendto ( resource $socket , string $data [, int $flags = 0 [, string $address ]] )

Envía la infomración data especificada a través del socket.

Parámetros

socket

El socket al que se le va a enviar data.

data

La información que va a ser enviada.

flags

El valor de flags puede ser una combinación de los siguientes valores:

Valores posibles para flags
STREAM_OOB Procesar información OOB (out-of-band, fuera de banda).

address

La dirección especificada cuando el flujo de socket fue creado, será usada a menos que se especifique una dirección alternativa en address.

Si se especifica, debe estar en formato decimal con puntos (o [ipv6]).

Valores devueltos

Devuelve un código de resultado, como un entero.

Ejemplos

Ejemplo #1 Ejemplo de stream_socket_sendto()

<?php
/* Abrir un socket al puerto 1234 en localhost */
$socket = stream_socket_client('tcp://127.0.0.1:1234');

/* Enviar información ordinaria mediante canales oridinarios. */
fwrite($socket, "Transmisión de información normal.");

/* Enviar más información fuera de banda. */
stream_socket_sendto($socket, "Información Fuera de Banda.", STREAM_OOB);

/* Cerrarlo */
fclose($socket);
?>

Ver también

  • stream_socket_recvfrom() - Recibir información de un socket, conectado o no
  • stream_socket_client() - Abrir una conexión de socket de dominio de Internet o Unix
  • stream_socket_server() - Crear un socket de servidor de dominio de Internet o de Unix
stream_socket_recvfrom
stream_socket_server
Funciones de Flujos


Crear un socket de servidor de dominio de Internet o de Unix

stream_socket_sendto
stream_socket_shutdown
Funciones de Flujos
PHP Manual

stream_socket_server

(PHP 5)

stream_socket_server — Crear un socket de servidor de dominio de Internet o de Unix

Descripción

resource stream_socket_server ( string $local_socket [, int &$errno [, string &$errstr [, int $flags = STREAM_SERVER_BIND | STREAM_SERVER_LISTEN [, resource $context ]]]] )

Crea un socket de flujo o de datagrama en local_socket.

Esta función sólo crea un socket, para empezar a aceptar conexiones use stream_socket_accept().

Parámetros

local_socket

El tipo de socket creado se determina por el transporte especificado usando el formato de URL estándar: transporte://objetivo.

Para sockets de Dominio de Internet (AF_INET) como TCP y UDP, la porción del objetivo del parámetro remote_socket debería consistir en un nombre de host o dirección IP seguida de dos puntos y un número de puerto. Para sockets de dominio de Unix, la porción del objetivo apuntará al archivo de socket del sistema de archivos.

Dependiendo del entorno, los sockets de dominio Unix pueden no estar disponibles. Una lista de transportes disponibles se puede recuperar unsado stream_get_transports(). Véase Lista de Transportes de Sockets Soportados para una lista de transportes incluidos.

errno

Si los argumentos opcionales errno y errstr están presentes, serán establecidos para indicar el error a nivel de sistema ocurrido en las llamadas a nivel de sistema de socket(), bind(), y listen(). Si el valor devuelto en errno es 0 y la función devuelve FALSE, es una indicación de que el error ocurrió antes de la llamada a bind(). Esto es lo más probable debido a un problema de inicialización del socket. Observe que los argumentos errno y errstr siempre serán pasados por referencia.

errstr

Véase la descripción de errno.

flags

Campo de máscara de bits que puede ser establecido a cualquier combinación de banderas de conexión.

Nota:

Para sockets UDP, se debe usar STREAM_SERVER_BIND como parámetro flags.

context

Valores devueltos

Devuelve un flujo creado, o FALSE si se produjo un error.

Ejemplos

Ejemplo #1 Usar sockets de servidor de TCP

<?php
$socket = stream_socket_server("tcp://0.0.0.0:8000", $errno, $errstr);
if (!$socket) {
  echo "$errstr ($errno)<br />\n";
} else {
  while ($conn = stream_socket_accept($socket)) {
    fwrite($conn, 'La fecha y hora actuales es ' . date('n/j/Y g:i a') . "\n");
    fclose($conn);
  }
  fclose($socket);
}
?>

El ejemplo de abajo muestra cómo actuar como un servidor de hora que responde a peticiones de hora como se muestra en un ejemplo de stream_socket_client().

Nota: La mayoría de los sistemas requieren acceso root para crear un socket de servidor sobre un puerto inferor a 1024.

Ejemplo #2 Usar sockets de servidor de UDP

<?php
$socket = stream_socket_server("udp://127.0.0.1:1113", $errno, $errstr, STREAM_SERVER_BIND);
if (!$socket) {
    die("$errstr ($errno)");
}

do {
    $pkt = stream_socket_recvfrom($socket, 1, 0, $peer);
    echo "$peer\n";
    stream_socket_sendto($socket, date("D M j H:i:s Y\r\n"), 0, $peer);
} while ($pkt !== false);

?>

Notas

Nota: Cuando se especifique una dirección numérica IPv6 (por ej., fe80::1), la IP debe ser encerrada entre corchetes — por ejemplo, tcp://[fe80::1]:80.

Ver también

  • stream_socket_client() - Abrir una conexión de socket de dominio de Internet o Unix
  • stream_set_blocking() - Establecer el modo bloqueo/no-bloqueo en un flujo
  • stream_set_timeout() - Establecer un perido de tiempo de espera en un flujo
  • fgets() - Obtiene una línea desde el puntero a un fichero
  • fgetss() - Obtiene un línea desde un puntero a un archivo y elimina las etiquetas HTML
  • fwrite() - Escritura de un archivo en modo binario seguro
  • fclose() - Cierra un puntero a un archivo abierto
  • feof() - Comprueba si el puntero a un archivo está al final del archivo
  • La extensión Curl
stream_socket_sendto
stream_socket_shutdown
Funciones de Flujos


Cerrar una conexión full-duplex

stream_socket_server
stream_supports_lock
Funciones de Flujos
PHP Manual

stream_socket_shutdown

(PHP 5 >= 5.2.1)

stream_socket_shutdown — Cerrar una conexión full-duplex

Descripción

bool stream_socket_shutdown ( resource $stream , int $how )

Cierra (parcialmente o no) una conexión full-duplex.

Parámetros

stream

Un flujo abierto (con stream_socket_client(), por ejemplo)

how

Una de las siguientes constantes: STREAM_SHUT_RD (deshabilita recepciones), STREAM_SHUT_WR (deshabilita transmisiones) o STREAM_SHUT_RDWR (deshabilita recepciones y transmisiones).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de stream_socket_shutdown()

<?php

$servidor = stream_socket_server('tcp://127.0.0.1:1337');
$cliente = stream_socket_client('tcp://127.0.0.1:1337');

var_dump(fputs($cliente, "hola"));

stream_socket_shutdown($cliente, STREAM_SHUT_WR);
var_dump(fputs($cliente, "hola")); // no funciona ahora

?>

El resultado del ejemplo sería algo similar a:

int(5)

Notice: fputs(): send of 5 bytes failed with errno=32 Broken pipe in test.php on line 9
int(0)

Ver también

  • fclose() - Cierra un puntero a un archivo abierto

stream_socket_server
stream_supports_lock
Funciones de Flujos


Indica si el flujo soporta bloqueo

stream_socket_shutdown
stream_wrapper_register
Funciones de Flujos
PHP Manual

stream_supports_lock

(PHP 5 >= 5.3.0)

stream_supports_lock — Indica si el flujo soporta bloqueo

Descripción

bool stream_supports_lock ( resource $stream )

Indica si el flujo soporta bloqueo a través de flock().

Parámetros

stream

El flujo a comprobar.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • flock() - Bloqueo de archivos asesorado portable

stream_socket_shutdown
stream_wrapper_register
Funciones de Flujos


Registra una envoltura de URL implementada como una clase de PHP

stream_supports_lock
stream_wrapper_restore
Funciones de Flujos
PHP Manual

stream_wrapper_register

(PHP 4 >= 4.3.2, PHP 5)

stream_wrapper_register — Registra una envoltura de URL implementada como una clase de PHP

Descripción

bool stream_wrapper_register ( string $protocol , string $classname [, int $flags = 0 ] )

Permite implementar sus propios gestores de protocolo y flujos para usarlos con todas las demás funciones de sisitema de archivos (tales como fopen(), fread() etc.).

Parámetros

protocol

El nombre de la envoltura a ser registrada.

classname

El nombre de la clase que implementa protocol.

flags

Debería ser establecido a STREAM_IS_URL si protocol es un protocolo de URL. Por defecto es 0, flujo local.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

stream_wrapper_register() devolverá FALSE si protocol ya tiene un gestor.

Historial de cambios

Versión | Descripción
5.2.4 | Añadido el parámetro flags.

Ejemplos

Ejemplo #1 Cómo registrar una envoltura de flujo

<?php
$existed = in_array("var", stream_get_wrappers());
if ($existed) {
    stream_wrapper_unregister("var");
}
stream_wrapper_register("var", "VariableStream");
$mivar = "";

$fp = fopen("var://mivar", "r+");

fwrite($fp, "línea1\n");
fwrite($fp, "línea2\n");
fwrite($fp, "línea3\n");

rewind($fp);
while (!feof($fp)) {
    echo fgets($fp);
}
fclose($fp);
var_dump($mivar);

if ($existed) {
    stream_wrapper_restore("var");
}

?>

El resultado del ejemplo sería:

línea1
línea2
línea3
string(24) "línea1
línea2
línea3
"

Ver también

  • La clase prototipo streamWrapper
  • Ejemplo de clase registrada como envoltura de flujo
  • stream_wrapper_unregister() - Deja de registrar una envoltura de URL
  • stream_wrapper_restore() - Restablece una envoltura incluida que se dejó de registrar previamente
  • stream_get_wrappers() - Recupera la lista de los flujos registrados

stream_supports_lock
stream_wrapper_restore
Funciones de Flujos


Restablece una envoltura incluida que se dejó de registrar previamente

stream_wrapper_register
stream_wrapper_unregister
Funciones de Flujos
PHP Manual

stream_wrapper_restore

(PHP 5 >= 5.1.0)

stream_wrapper_restore — Restablece una envoltura incluida que se dejó de registrar previamente

Descripción

bool stream_wrapper_restore ( string $protocol )

Restablece una envoltura incluida que se dejó de registrar previamente con stream_wrapper_unregister().

Parámetros

protocol

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

stream_wrapper_register
stream_wrapper_unregister
Funciones de Flujos


Deja de registrar una envoltura de URL

stream_wrapper_restore
Tidy
Funciones de Flujos
PHP Manual

stream_wrapper_unregister

(PHP 5 >= 5.1.0)

stream_wrapper_unregister — Deja de registrar una envoltura de URL

Descripción

bool stream_wrapper_unregister ( string $protocol )

Permite deshabilitar una envoltura de flujo ya definida. Una vez que la envoltura ha sido deshabilitada, se la puede sobreescribir con una envoltura definida por el usuario usando stream_wrapper_register() o rehabilitándola después com stream_wrapper_restore().

Parámetros

protocol

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

stream_wrapper_restore
Tidy
Funciones de Flujos


Tidy

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Ejemplos de Tidy
  • Tidy — La clase tidy
    • tidy::body — Devuelve un objeto tidyNode empezando con la etiqueta <body>
    • tidy::cleanRepair — Ejecuta una operación de limpieza y reparación de las etiquetas HTML
    • tidy::__construct — Construye un nuevo objeto tidy
    • tidy::diagnose — Ejecuta un diagnóstico sobre documento analizado y reparado
    • tidy::$errorBuffer — Devuelve advertencias y errores que ocurrieron al analizar el documento especificado
    • tidy::getConfig — Obtiene la configuración actual de Tidy
    • tidy::getHtmlVer — Obtiene la versión detectada de HTML en un documento especificado
    • tidy::getOpt — Devuelve el valor de la opción de configuración especificada para el documento tidy
    • tidy::getoptdoc — Devuelve la documentación correspondiente a un nombre de opción dado
    • tidy::getRelease — Obtiene la fecha de lanzamiento (versión) de la librería Tidy
    • tidy::getStatus — Obtiene el status de un documento especificado
    • tidy::head — Devuelve un objeto tidyNode empezando con la etiqueta <head>
    • tidy::html — Devuelve un objeto tidyNode empezando con la etiqueta <html>
    • tidy::isXhtml — Indica si el documento es XHTML
    • tidy::isXml — Indica si el documento es XML (no HTML/XHTML)
    • tidy::parseFile — Analiza las etiquetas de un fichero o URI
    • tidy::parseString — Analiza un documento almacenado en una cadena
    • tidy::repairFile — Repara un archivo y lo devuelve como una cadena
    • tidy::repairString — Repara una cadena HTML usando un archivo de configuración opcional
    • tidy::root — Devuelve un objeto tidyNode que representa la raíz del árbol analizado por tidy
  • tidyNode — La clase tidyNode
    • tidyNode::getParent — Devuelve el nodo padre del nodo actual
    • tidyNode::hasChildren — Indica si un nodo tiene hijos
    • tidyNode::hasSiblings — Indica si un nodo tiene hermanos
    • tidyNode::isAsp — Comprueba si el nodo es ASP
    • tidyNode::isComment — Comprueba el nodo actual es un comentario
    • tidyNode::isHtml — Comprueba si el nodo es parte de un documento HTML
    • tidyNode::isJste — Comprueba si el nodo es JSTE
    • tidyNode::isPhp — Comprueba si el nodo es PHP
    • tidyNode::isText — Comprueba si un nodo representa un texto (no HTML)
  • Funciones de Tidy
    • ob_tidyhandler — Función callback de ob_start para reparar el buffer
    • tidy_access_count — Devuelve el número de alertas de accesibilidad Tidy encontradas en un documento dado
    • tidy_config_count — Devuelve el número de errores de configuración Tidy encontrados en un documento dado
    • tidy_error_count — Devuelve el número de errores Tidy encontrados en un documento dado
    • tidy_get_output — Devuelve una cadena que contiene las etiquetas analizadas por Tidy
    • tidy_load_config — Carga un archivo de configuración ASCII Tidy con la codificación especificada
    • tidy_reset_config — Restaura la configuración Tidy a sus valores por omisión
    • tidy_save_config — Guarda la configuración actual en un archivo
    • tidy_set_encoding — establece el juego de caracteres de entrada/salida del analizador de etiquetas
    • tidy_setopt — Modifica los ajustes de configuración Tidy para el documento especificado
    • tidy_warning_count — Devuelve el número de alertas encontradas en un documendo dado
stream_wrapper_unregister
Introducción
Otras extensiones básicas


Introducción

Tidy es una envoltura para la utilidad de limpieza y reparación de HTML Tidy, la cual permite no sólo la limpieza y manipulación de documentos HTML, sino también recorrer el árbol del documento.

Tidy
Instalación/Configuración
Tidy


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Tidy


Requerimientos

Para usar Tidy, se necesita tener la librería libtidy instalada, disponible en la página oficial » http://tidy.sourceforge.net/.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión está ligada con PHP 5 y superiores, y se instala usando la opción de configuración --with-tidy .

Lo usuarios de PHP 4 pueden usar la (vieja) extensión PECL aquí: » http://pecl.php.net/package/tidy.

Nota:

Tidy 1.0 es para PHP 4, mientras que las versiones más recientes de la extensión Tidy son para PHP 5 y superiores.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de Configuración de Tidy
Nombre | Por defecto | Cambiable | Historial de cambios
tidy.default_config | "" | PHP_INI_SYSTEM |
tidy.clean_output | "0" | PHP_INI_USER | PHP_INI_PERDIR antes de PHP 5.4.0
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

tidy.default_config string

Ruta por defecto al archivo de configuración tidy.

tidy.clean_output boolean

Activa/Desactiva la reparación del HTML por Tidy.

Advertencia

No active tidy.clean_output si usted está generando contenido distinto al html, como por ejemplo imágenes dinámicas.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Cada TIDY_TAG_XXX representa una etiqueta HTML. Por ejemplo, TIDY_TAG_A representa una etiqueta "<a href="XX">link</a>". Cada TIDY_ATTR_XXX representa un atributo HTML. Por ejemplo TIDY_ATTR_HREF representaría al atributo href en el ejemplo anterior.

Las siguientes constantes son definidas:

Constantes de etiquetas tidy
constant
TIDY_TAG_UNKNOWN
TIDY_TAG_A
TIDY_TAG_ABBR
TIDY_TAG_ACRONYM
TIDY_TAG_ALIGN
TIDY_TAG_APPLET
TIDY_TAG_AREA
TIDY_TAG_B
TIDY_TAG_BASE
TIDY_TAG_BASEFONT
TIDY_TAG_BDO
TIDY_TAG_BGSOUND
TIDY_TAG_BIG
TIDY_TAG_BLINK
TIDY_TAG_BLOCKQUOTE
TIDY_TAG_BODY
TIDY_TAG_BR
TIDY_TAG_BUTTON
TIDY_TAG_CAPTION
TIDY_TAG_CENTER
TIDY_TAG_CITE
TIDY_TAG_CODE
TIDY_TAG_COL
TIDY_TAG_COLGROUP
TIDY_TAG_COMMENT
TIDY_TAG_DD
TIDY_TAG_DEL
TIDY_TAG_DFN
TIDY_TAG_DIR
TIDY_TAG_DIV
TIDY_TAG_DL
TIDY_TAG_DT
TIDY_TAG_EM
TIDY_TAG_EMBED
TIDY_TAG_FIELDSET
TIDY_TAG_FONT
TIDY_TAG_FORM
TIDY_TAG_FRAME
TIDY_TAG_FRAMESET
TIDY_TAG_H1
TIDY_TAG_H2
TIDY_TAG_H3
TIDY_TAG_H4
TIDY_TAG_H5
TIDY_TAG_H6
TIDY_TAG_HEAD
TIDY_TAG_HR
TIDY_TAG_HTML
TIDY_TAG_I
TIDY_TAG_IFRAME
TIDY_TAG_ILAYER
TIDY_TAG_IMG
TIDY_TAG_INPUT
TIDY_TAG_INS
TIDY_TAG_ISINDEX
TIDY_TAG_KBD
TIDY_TAG_KEYGEN
TIDY_TAG_LABEL
TIDY_TAG_LAYER
TIDY_TAG_LEGEND
TIDY_TAG_LI
TIDY_TAG_LINK
TIDY_TAG_LISTING
TIDY_TAG_MAP
TIDY_TAG_MARQUEE
TIDY_TAG_MENU
TIDY_TAG_META
TIDY_TAG_MULTICOL
TIDY_TAG_NOBR
TIDY_TAG_NOEMBED
TIDY_TAG_NOFRAMES
TIDY_TAG_NOLAYER
TIDY_TAG_NOSAVE
TIDY_TAG_NOSCRIPT
TIDY_TAG_OBJECT
TIDY_TAG_OL
TIDY_TAG_OPTGROUP
TIDY_TAG_OPTION
TIDY_TAG_P
TIDY_TAG_PARAM
TIDY_TAG_PLAINTEXT
TIDY_TAG_PRE
TIDY_TAG_Q
TIDY_TAG_RP
TIDY_TAG_RT
TIDY_TAG_RTC
TIDY_TAG_RUBY
TIDY_TAG_S
TIDY_TAG_SAMP
TIDY_TAG_SCRIPT
TIDY_TAG_SELECT
TIDY_TAG_SERVER
TIDY_TAG_SERVLET
TIDY_TAG_SMALL
TIDY_TAG_SPACER
TIDY_TAG_SPAN
TIDY_TAG_STRIKE
TIDY_TAG_STRONG
TIDY_TAG_STYLE
TIDY_TAG_SUB
TIDY_TAG_TABLE
TIDY_TAG_TBODY
TIDY_TAG_TD
TIDY_TAG_TEXTAREA
TIDY_TAG_TFOOT
TIDY_TAG_TH
TIDY_TAG_THEAD
TIDY_TAG_TITLE
TIDY_TAG_TR
TIDY_TAG_TT
TIDY_TAG_U
TIDY_TAG_UL
TIDY_TAG_VAR
TIDY_TAG_WBR
TIDY_TAG_XMP

tidy attribute constants
constant
TIDY_ATTR_UNKNOWN
TIDY_ATTR_ABBR
TIDY_ATTR_ACCEPT
TIDY_ATTR_ACCEPT_CHARSET
TIDY_ATTR_ACCESSKEY
TIDY_ATTR_ACTION
TIDY_ATTR_ADD_DATE
TIDY_ATTR_ALIGN
TIDY_ATTR_ALINK
TIDY_ATTR_ALT
TIDY_ATTR_ARCHIVE
TIDY_ATTR_AXIS
TIDY_ATTR_BACKGROUND
TIDY_ATTR_BGCOLOR
TIDY_ATTR_BGPROPERTIES
TIDY_ATTR_BORDER
TIDY_ATTR_BORDERCOLOR
TIDY_ATTR_BOTTOMMARGIN
TIDY_ATTR_CELLPADDING
TIDY_ATTR_CELLSPACING
TIDY_ATTR_CHAR
TIDY_ATTR_CHAROFF
TIDY_ATTR_CHARSET
TIDY_ATTR_CHECKED
TIDY_ATTR_CITE
TIDY_ATTR_CLASS
TIDY_ATTR_CLASSID
TIDY_ATTR_CLEAR
TIDY_ATTR_CODE
TIDY_ATTR_CODEBASE
TIDY_ATTR_CODETYPE
TIDY_ATTR_COLOR
TIDY_ATTR_COLS
TIDY_ATTR_COLSPAN
TIDY_ATTR_COMPACT
TIDY_ATTR_CONTENT
TIDY_ATTR_COORDS
TIDY_ATTR_DATA
TIDY_ATTR_DATAFLD
TIDY_ATTR_DATAPAGESIZE
TIDY_ATTR_DATASRC
TIDY_ATTR_DATETIME
TIDY_ATTR_DECLARE
TIDY_ATTR_DEFER
TIDY_ATTR_DIR
TIDY_ATTR_DISABLED
TIDY_ATTR_ENCODING
TIDY_ATTR_ENCTYPE
TIDY_ATTR_FACE
TIDY_ATTR_FOR
TIDY_ATTR_FRAME
TIDY_ATTR_FRAMEBORDER
TIDY_ATTR_FRAMESPACING
TIDY_ATTR_GRIDX
TIDY_ATTR_GRIDY
TIDY_ATTR_HEADERS
TIDY_ATTR_HEIGHT
TIDY_ATTR_HREF
TIDY_ATTR_HREFLANG
TIDY_ATTR_HSPACE
TIDY_ATTR_HTTP_EQUIV
TIDY_ATTR_ID
TIDY_ATTR_ISMAP
TIDY_ATTR_LABEL
TIDY_ATTR_LANG
TIDY_ATTR_LANGUAGE
TIDY_ATTR_LAST_MODIFIED
TIDY_ATTR_LAST_VISIT
TIDY_ATTR_LEFTMARGIN
TIDY_ATTR_LINK
TIDY_ATTR_LONGDESC
TIDY_ATTR_LOWSRC
TIDY_ATTR_MARGINHEIGHT
TIDY_ATTR_MARGINWIDTH
TIDY_ATTR_MAXLENGTH
TIDY_ATTR_MEDIA
TIDY_ATTR_METHOD
TIDY_ATTR_MULTIPLE
TIDY_ATTR_NAME
TIDY_ATTR_NOHREF
TIDY_ATTR_NORESIZE
TIDY_ATTR_NOSHADE
TIDY_ATTR_NOWRAP
TIDY_ATTR_OBJECT
TIDY_ATTR_OnAFTERUPDATE
TIDY_ATTR_OnBEFOREUNLOAD
TIDY_ATTR_OnBEFOREUPDATE
TIDY_ATTR_OnBLUR
TIDY_ATTR_OnCHANGE
TIDY_ATTR_OnCLICK
TIDY_ATTR_OnDATAAVAILABLE
TIDY_ATTR_OnDATASETCHANGED
TIDY_ATTR_OnDATASETCOMPLETE
TIDY_ATTR_OnDBLCLICK
TIDY_ATTR_OnERRORUPDATE
TIDY_ATTR_OnFOCUS
TIDY_ATTR_OnKEYDOWN
TIDY_ATTR_OnKEYPRESS
TIDY_ATTR_OnKEYUP
TIDY_ATTR_OnLOAD
TIDY_ATTR_OnMOUSEDOWN
TIDY_ATTR_OnMOUSEMOVE
TIDY_ATTR_OnMOUSEOUT
TIDY_ATTR_OnMOUSEOVER
TIDY_ATTR_OnMOUSEUP
TIDY_ATTR_OnRESET
TIDY_ATTR_OnROWENTER
TIDY_ATTR_OnROWEXIT
TIDY_ATTR_OnSELECT
TIDY_ATTR_OnSUBMIT
TIDY_ATTR_OnUNLOAD
TIDY_ATTR_PROFILE
TIDY_ATTR_PROMPT
TIDY_ATTR_RBSPAN
TIDY_ATTR_READONLY
TIDY_ATTR_REL
TIDY_ATTR_REV
TIDY_ATTR_RIGHTMARGIN
TIDY_ATTR_ROWS
TIDY_ATTR_ROWSPAN
TIDY_ATTR_RULES
TIDY_ATTR_SCHEME
TIDY_ATTR_SCOPE
TIDY_ATTR_SCROLLING
TIDY_ATTR_SELECTED
TIDY_ATTR_SHAPE
TIDY_ATTR_SHOWGRID
TIDY_ATTR_SHOWGRIDX
TIDY_ATTR_SHOWGRIDY
TIDY_ATTR_SIZE
TIDY_ATTR_SPAN
TIDY_ATTR_SRC
TIDY_ATTR_STANDBY
TIDY_ATTR_START
TIDY_ATTR_STYLE
TIDY_ATTR_SUMMARY
TIDY_ATTR_TABINDEX
TIDY_ATTR_TARGET
TIDY_ATTR_TEXT
TIDY_ATTR_TITLE
TIDY_ATTR_TOPMARGIN
TIDY_ATTR_TYPE
TIDY_ATTR_USEMAP
TIDY_ATTR_VALIGN
TIDY_ATTR_VALUE
TIDY_ATTR_VALUETYPE
TIDY_ATTR_VERSION
TIDY_ATTR_VLINK
TIDY_ATTR_VSPACE
TIDY_ATTR_WIDTH
TIDY_ATTR_WRAP
TIDY_ATTR_XML_LANG
TIDY_ATTR_XML_SPACE
TIDY_ATTR_XMLNS

tidy nodetype constants
constant | description
TIDY_NODETYPE_ROOT | root node
TIDY_NODETYPE_DOCTYPE | doctype
TIDY_NODETYPE_COMMENT | HTML comment
TIDY_NODETYPE_PROCINS | Processing Instruction
TIDY_NODETYPE_TEXT | Text
TIDY_NODETYPE_START | start tag
TIDY_NODETYPE_END | end tag
TIDY_NODETYPE_STARTEND | empty tag
TIDY_NODETYPE_CDATA | CDATA
TIDY_NODETYPE_SECTION | XML section
TIDY_NODETYPE_ASP | ASP code
TIDY_NODETYPE_JSTE | JSTE code
TIDY_NODETYPE_PHP | PHP code
TIDY_NODETYPE_XMLDECL | XML declaration

Tipos de recursos
Ejemplos
Tidy


Ejemplos

Tabla de contenidos

  • Ejemplos de Tidy
Constantes predefinidas
Ejemplos de Tidy
Tidy


Ejemplos de Tidy

Este simple ejemplo muestra el uso básico de Tidy.

Ejemplo #1 Uso Básico Tidy

<?php
ob_start();
?>
<html>a html document</html>
<?php
$html = ob_get_clean();

// Specify configuration
$config = array(
           'indent'         => true,
           'output-xhtml'   => true,
           'wrap'           => 200);

// Tidy
$tidy = new tidy;
$tidy->parseString($html, $config, 'utf8');
$tidy->cleanRepair();

// Output
echo $tidy;
?>

Ejemplos
Tidy
Ejemplos


La clase tidy

(PHP 5, PECL tidy >= 0.5.2)

Introducción

Un nodo HTML en un fichero HTML, como es detectado por tidy.

Sinopsis de la Clase

tidy {
/* Propiedades */
string $errorBuffer;
/* Métodos */
tidyNode body ( void )
bool cleanRepair ( void )
__construct ([ string $filename [, mixed $config [, string $encoding [, bool $use_include_path ]]]] )
bool diagnose ( void )
array getConfig ( void )
int getHtmlVer ( void )
mixed getOpt ( string $option )
string getOptDoc ( string $optname )
string getRelease ( void )
int getStatus ( void )
tidyNode head ( void )
tidyNode html ( void )
bool isXhtml ( void )
bool isXml ( void )
bool parseFile ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path = false ]]] )
bool parseString ( string $input [, mixed $config [, string $encoding ]] )
string repairFile ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path = false ]]] )
string repairString ( string $data [, mixed $config [, string $encoding ]] )
tidyNode root ( void )
}

Tabla de contenidos

  • tidy::body — Devuelve un objeto tidyNode empezando con la etiqueta <body>
  • tidy::cleanRepair — Ejecuta una operación de limpieza y reparación de las etiquetas HTML
  • tidy::__construct — Construye un nuevo objeto tidy
  • tidy::diagnose — Ejecuta un diagnóstico sobre documento analizado y reparado
  • tidy::$errorBuffer — Devuelve advertencias y errores que ocurrieron al analizar el documento especificado
  • tidy::getConfig — Obtiene la configuración actual de Tidy
  • tidy::getHtmlVer — Obtiene la versión detectada de HTML en un documento especificado
  • tidy::getOpt — Devuelve el valor de la opción de configuración especificada para el documento tidy
  • tidy::getoptdoc — Devuelve la documentación correspondiente a un nombre de opción dado
  • tidy::getRelease — Obtiene la fecha de lanzamiento (versión) de la librería Tidy
  • tidy::getStatus — Obtiene el status de un documento especificado
  • tidy::head — Devuelve un objeto tidyNode empezando con la etiqueta <head>
  • tidy::html — Devuelve un objeto tidyNode empezando con la etiqueta <html>
  • tidy::isXhtml — Indica si el documento es XHTML
  • tidy::isXml — Indica si el documento es XML (no HTML/XHTML)
  • tidy::parseFile — Analiza las etiquetas de un fichero o URI
  • tidy::parseString — Analiza un documento almacenado en una cadena
  • tidy::repairFile — Repara un archivo y lo devuelve como una cadena
  • tidy::repairString — Repara una cadena HTML usando un archivo de configuración opcional
  • tidy::root — Devuelve un objeto tidyNode que representa la raíz del árbol analizado por tidy
Ejemplos de Tidy
tidy::body
Tidy


Devuelve un objeto tidyNode empezando con la etiqueta <body>

Tidy
tidy::cleanRepair
Tidy
PHP Manual

tidy::body

tidy_get_body

(PHP 5, PECL tidy 0.5.2-1.0)

tidy::body -- tidy_get_body — Devuelve un objeto tidyNode empezando con la etiqueta <body>

Descripción

Estilo orientado a objetos

tidyNode tidy::body ( void )

Estilo por procedimientos

tidyNode tidy_get_body ( tidy $object )

Devuelve un objeto tidyNode empezando por la etiqueta <body>.

Parámetros

object

El objeto Tidy.

Valores devueltos

Devuelve la versión HTML detectada.

Advertencia

Esta función no está aún implementada en Tidylib, entonces siempre devolverá 0.

Ejemplos

Ejemplo #1 Ejemplo de tidy::getBody()

<?php
$html = '
<html>
  <head>
    <title>test</title>
  </head>
  <body>
    <p>paragraph</p>
  </body>
</html>';

$tidy = tidy_parse_string($html);

$body = $tidy->Body();
echo $body->value;
?>

El resultado del ejemplo sería:

<body>
<p>paragraph</p>
</body>

Notas

Nota: Esta función está disponible sólo con Zend Engine 2 (PHP >= 5.0.0).

Ver también

  • tidy::head() - Devuelve un objeto tidyNode empezando con la etiqueta <head>
  • tidy::html() - Devuelve un objeto tidyNode empezando con la etiqueta <html>
Tidy
tidy::cleanRepair
Tidy


Ejecuta una operación de limpieza y reparación de las etiquetas HTML

tidy::body
tidy::__construct
Tidy
PHP Manual

tidy::cleanRepair

tidy_clean_repair

(PHP 5, PECL tidy >= 0.5.2)

tidy::cleanRepair -- tidy_clean_repair — Ejecuta una operación de limpieza y reparación de las etiquetas HTML

Descripción

Estilo orientado a objetos

bool tidy::cleanRepair ( void )

Estilo por procedimientos

bool tidy_clean_repair ( tidy $object )

Esta función limpia y repara el objeto object pasado como argumento.

Parámetros

object

El objeto Tidy.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de tidy::cleanrepair()

<?php
$html = '<p>test</I>';

$tidy = tidy_parse_string($html);
$tidy->cleanRepair();

echo $tidy;
?>

El resultado del ejemplo sería:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title></title>
</head>
<body>
<p>test</p>
</body>
</html>

Ver también

  • tidy::repairFile() - Repara un archivo y lo devuelve como una cadena
  • tidy::repairString() - Repara una cadena HTML usando un archivo de configuración opcional
tidy::body
tidy::__construct
Tidy


Construye un nuevo objeto tidy

tidy::cleanRepair
tidy::diagnose
Tidy
PHP Manual

tidy::__construct

(PHP 5, PECL tidy >= 0.5.2)

tidy::__construct — Construye un nuevo objeto tidy

Descripción

tidy::__construct ([ string $filename [, mixed $config [, string $encoding [, bool $use_include_path ]]]] )

Contruye un nuevo objeto tidy.

Parámetros

filename

Si el parámetro filename es indicado, esta función también leerá ese archivo e iniciará el objeto con el archivo, actuando como tidy_parse_file().

config

La configuración config puede ser pasada en forma de un array o una cadena. Si una cadena es pasada, será interpretada como el el nombre del archivo de configuración, de otra forma, será interpretada como opciones en sí mismas.

Para una explicación de cada opción, consulte » http://tidy.sourceforge.net/docs/quickref.html.

encoding

El parámetro encoding establece la codificación para entarda/salida de los documentos. Los posibles valores de codificación son: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, y shiftjis.

use_include_path

Busca el archivo en la ruta include_path.

Valores devueltos

Devuelve una nueva instancia de tidy.

Ejemplos

Ejemplo #1 Ejemplo de tidy::__construct()

<?php

$html = <<< HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head><title>title</title></head>
<body>
<p>paragraph <bt />
text</p>
</body></html>

HTML;

$tidy = new tidy();
$tidy->ParseString($html);

$tidy->cleanRepair();

if ($tidy->errorBuffer) {
    echo "Los siguientes errores han sido detectados:\n";
    echo $tidy->errorBuffer;
}

?>

El resultado del ejemplo sería:

Los siguientes errores han sido detectados:
line 8 column 14 - Error: <bt> is not recognized!
line 8 column 14 - Warning: discarding unexpected <bt>

Ver también

  • tidy::parseFile() - Analiza las etiquetas de un fichero o URI
  • tidy::parseString() - Analiza un documento almacenado en una cadena
tidy::cleanRepair
tidy::diagnose
Tidy


Ejecuta un diagnóstico sobre documento analizado y reparado

tidy::__construct
tidy::$errorBuffer
Tidy
PHP Manual

tidy::diagnose

tidy_diagnose

(PHP 5, PECL tidy >= 0.5.2)

tidy::diagnose -- tidy_diagnose — Ejecuta un diagnóstico sobre documento analizado y reparado

Descripción

Estilo orientado a objetos

bool tidy::diagnose ( void )

Estilo por procedimientos

bool tidy_diagnose ( tidy $object )

Ejecuta un diagnóstico sobre el objeto object tidy, añadiendo alguna información adicional sobre el documento en un buffer de errores.

Parámetros

object

El objeto Tidy.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de tidy::diagnose()

<?php

$html = <<< HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<p>parrafo</p>
HTML;

$tidy = tidy_parse_string($html);
$tidy->cleanRepair();

// note the difference between the two outputs
echo $tidy->errorBuffer . "\n";

$tidy->diagnose();
echo $tidy->errorBuffer;

?>

El resultado del ejemplo sería:

line 4 column 1 - Warning: <p> isn't allowed in <head> elements
line 4 column 1 - Warning: inserting missing 'title' element
line 4 column 1 - Warning: <p> isn't allowed in <head> elements
line 4 column 1 - Warning: inserting missing 'title' element
Info: Doctype given is "-//W3C//DTD XHTML 1.0 Strict//EN"
Info: Document content looks like XHTML 1.0 Strict
2 warnings, 0 errors were found!

Ver también

  • tidy::errorBuffer()
tidy::__construct
tidy::$errorBuffer
Tidy


Devuelve advertencias y errores que ocurrieron al analizar el documento especificado

tidy::diagnose
tidy::getConfig
Tidy
PHP Manual

tidy::$errorBuffer

tidy_get_error_buffer

(PHP 5, PECL tidy >= 0.5.2)

tidy::$errorBuffer -- tidy_get_error_buffer — Devuelve advertencias y errores que ocurrieron al analizar el documento especificado

Descripción

Estilo orientado a objetos (property):

string $tidy->errorBuffer;

Estilo por procedimientos:

string tidy_get_error_buffer ( tidy $tidy )

Devuelve advertencias y errores que ocurrieron al analizar el documento especificado.

Parámetros

tidy

El objeto Tidy.

Valores devueltos

Devuelve el búfer de errores como cadena.

Ejemplos

Ejemplo #1 Ejemplo de tidy_get_error_buffer()

<?php
$html = '<p>párrafo</p>';

$tidy = tidy_parse_string($html);

echo tidy_get_error_buffer($tidy);
/* o utilizando OO: */
echo $tidy->errorBuffer;
?>

El resultado del ejemplo sería:

line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 1 column 1 - Warning: inserting missing 'title' element

Ver también

  • tidy_access_count() - Devuelve el número de alertas de accesibilidad Tidy encontradas en un documento dado
  • tidy_error_count() - Devuelve el número de errores Tidy encontrados en un documento dado
  • tidy_warning_count() - Devuelve el número de alertas encontradas en un documendo dado
tidy::diagnose
tidy::getConfig
Tidy


Obtiene la configuración actual de Tidy

tidy::$errorBuffer
tidy::getHtmlVer
Tidy
PHP Manual

tidy::getConfig

tidy_get_config

(PHP 5, PECL tidy >= 0.7.0)

tidy::getConfig -- tidy_get_config — Obtiene la configuración actual de Tidy

Descripción

Estilo orientado a objetos

array tidy::getConfig ( void )

Estilo por procedimientos

array tidy_get_config ( tidy $object )

Obtiene la lista de las opciones de configuración en uso de un objeto object tidy.

Parámetros

object

El objeto Tidy.

Valores devueltos

Devuelve un array con las opciones de configuación.

Para una explicación de cada opción, consulte » http://tidy.sourceforge.net/docs/quickref.html.

Ejemplos

Ejemplo #1 Ejemplo de tidy::getConfig()

<?php
$html = '<p>test</p>';
$config = array('indent' => TRUE,
                'output-xhtml' => TRUE,
                'wrap' => 200);

$tidy = tidy_parse_string($html, $config);

print_r($tidy->getConfig());
?>

El resultado del ejemplo sería:

Array
(
    [indent-spaces] => 2
    [wrap] => 200
    [tab-size] => 8
    [char-encoding] => 1
    [input-encoding] => 3
    [output-encoding] => 1
    [newline] => 1
    [doctype-mode] => 1
    [doctype] =>
    [repeated-attributes] => 1
    [alt-text] =>
    [slide-style] =>
    [error-file] =>
    [output-file] =>
    [write-back] =>
    [markup] => 1
    [show-warnings] => 1
    [quiet] =>
    [indent] => 1
    [hide-endtags] =>
    [input-xml] =>
    [output-xml] => 1
    [output-xhtml] => 1
    [output-html] =>
    [add-xml-decl] =>
    [uppercase-tags] =>
    [uppercase-attributes] =>
    [bare] =>
    [clean] =>
    [logical-emphasis] =>
    [drop-proprietary-attributes] =>
    [drop-font-tags] =>
    [drop-empty-paras] => 1
    [fix-bad-comments] => 1
    [break-before-br] =>
    [split] =>
    [numeric-entities] =>
    [quote-marks] =>
    [quote-nbsp] => 1
    [quote-ampersand] => 1
    [wrap-attributes] =>
    [wrap-script-literals] =>
    [wrap-sections] => 1
    [wrap-asp] => 1
    [wrap-jste] => 1
    [wrap-php] => 1
    [fix-backslash] => 1
    [indent-attributes] =>
    [assume-xml-procins] =>
    [add-xml-space] =>
    [enclose-text] =>
    [enclose-block-text] =>
    [keep-time] =>
    [word-2000] =>
    [tidy-mark] =>
    [gnu-emacs] =>
    [gnu-emacs-file] =>
    [literal-attributes] =>
    [show-body-only] =>
    [fix-uri] => 1
    [lower-literals] => 1
    [hide-comments] =>
    [indent-cdata] =>
    [force-output] => 1
    [show-errors] => 6
    [ascii-chars] => 1
    [join-classes] =>
    [join-styles] => 1
    [escape-cdata] =>
    [language] =>
    [ncr] => 1
    [output-bom] => 2
    [replace-color] =>
    [css-prefix] =>
    [new-inline-tags] =>
    [new-blocklevel-tags] =>
    [new-empty-tags] =>
    [new-pre-tags] =>
    [accessibility-check] => 0
    [vertical-space] =>
    [punctuation-wrap] =>
    [merge-divs] => 1
)

Ver también

  • tidy_reset_config() - Restaura la configuración Tidy a sus valores por omisión
  • tidy_save_config() - Guarda la configuración actual en un archivo
tidy::$errorBuffer
tidy::getHtmlVer
Tidy


Obtiene la versión detectada de HTML en un documento especificado

tidy::getConfig
tidy::getOpt
Tidy
PHP Manual

tidy::getHtmlVer

tidy_get_html_ver

(PHP 5, PECL tidy >= 0.5.2)

tidy::getHtmlVer -- tidy_get_html_ver — Obtiene la versión detectada de HTML en un documento especificado

Descripción

Estilo orientado a objetos

int tidy::getHtmlVer ( void )

Estilo por procedimientos

int tidy_get_html_ver ( tidy $object )

Devuelve la versión detectada HTML de un objeto object especificado.

Parámetros

object

El objeto Tidy.

Valores devueltos

Devuelve la versión detectada HTML.

Advertencia

Esta función aún no está implementada en la librería Tidylib, por tanto siempre devolverá 0.

tidy::getConfig
tidy::getOpt
Tidy


Devuelve el valor de la opción de configuración especificada para el documento tidy

tidy::getHtmlVer
tidy::getoptdoc
Tidy
PHP Manual

tidy::getOpt

tidy_getopt

(PHP 5, PECL tidy >= 0.5.2)

tidy::getOpt -- tidy_getopt — Devuelve el valor de la opción de configuración especificada para el documento tidy

Descripción

Estilo orientado a objetos

mixed tidy::getOpt ( string $option )

Estilo por procedimientos

mixed tidy_getopt ( tidy $object , string $option )

Devuelve el valor de la opción option de configuración del objeto object tidy especificado.

Parámetros

object

El objeto Tidy.

option

Encontrará una lista con cada opción de configuración y sus tipos en: » http://tidy.sourceforge.net/docs/quickref.html.

Valores devueltos

Devuelve el valor de la opción option especificada. El tipo de valor depende de la opción.

Ejemplos

Ejemplo #1 Ejemplo de tidy_getopt()

<?php

$html ='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html><head><title>Title</title></head>
<body>

<p><img src="img.png"></p>

</body></html>';

$config = array('accessibility-check' => 3,
                'alt-text' => 'some text');

$tidy = new tidy();
$tidy->parseString($html, $config);

var_dump($tidy->getOpt('accessibility-check')); //integer
var_dump($tidy->getOpt('lower-literals')); //boolean
var_dump($tidy->getOpt('alt-text')); //string

?>

El resultado del ejemplo sería:

int(3)
bool(true)
string(9) "some text"

tidy::getHtmlVer
tidy::getoptdoc
Tidy


Devuelve la documentación correspondiente a un nombre de opción dado

tidy::getOpt
tidy::getRelease
Tidy
PHP Manual

tidy::getoptdoc

tidy_get_opt_doc

(PHP 5 >= 5.1.0)

tidy::getoptdoc -- tidy_get_opt_doc — Devuelve la documentación correspondiente a un nombre de opción dado

Descripción

Estilo orientado a objetos

string tidy::getOptDoc ( string $optname )

Estilo por procedimientos

string tidy_get_opt_doc ( tidy $object , string $optname )

Devuelve la documentación tidy_get_opt_doc() para el nombre de opción dado.

Nota:

Se requiere al menos la librería libtidy del 25 April del 2005 paa que la función esté disponible.

Parámetros

object

El objeto Tidy.

optname

El nombre de la opción

Valores devueltos

Devuelve una cadena si la opción existe y tiene documentación disponible, o FALSE de otro modo.

Ejemplos

Ejemplo #1 Imprimir todas las opciones, junto con su documentación y sus valores por omisión

<?php

$tidy = new tidy;
$config = $tidy->getConfig();

ksort($config);

foreach ($config as $opt => $val) {

    if (!$doc = $tidy->getOptDoc($opt))
        $doc = 'no documentation available!';

    $val = ($tidy->getOpt($opt) === true)  ? 'true'  : $val;
    $val = ($tidy->getOpt($opt) === false) ? 'false' : $val;

    echo "<p><b>$opt</b> (default: '$val')<br />".
         "$doc</p><hr />\n";
}

?>

Ver también

  • tidy::getconfig() - Obtiene la configuración actual de Tidy
  • tidy::getopt() - Devuelve el valor de la opción de configuración especificada para el documento tidy

tidy::getOpt
tidy::getRelease
Tidy


Obtiene la fecha de lanzamiento (versión) de la librería Tidy

tidy::getoptdoc
tidy::getStatus
Tidy
PHP Manual

tidy::getRelease

tidy_get_release

(PHP 5, PECL tidy >= 0.5.2)

tidy::getRelease -- tidy_get_release — Obtiene la fecha de lanzamiento (versión) de la librería Tidy

Descripción

Estilo orientado a objetos

string tidy::getRelease ( void )

Estilo por procedimientos

string tidy_get_release ( void )

Obtiene la fecha de lanzamiento de la librería Tidy.

Valores devueltos

Devuelve una cadena con la fecha de lanzamiento de la librería Tidy.

tidy::getoptdoc
tidy::getStatus
Tidy


Obtiene el status de un documento especificado

tidy::getRelease
tidy::head
Tidy
PHP Manual

tidy::getStatus

tidy_get_status

(PHP 5, PECL tidy >= 0.5.2)

tidy::getStatus -- tidy_get_status — Obtiene el status de un documento especificado

Descripción

Estilo orientado a objetos

int tidy::getStatus ( void )

Estilo por procedimientos

int tidy_get_status ( tidy $object )

Devuelve el status del objeto object tidy especificado.

Parámetros

object

El objeto Tidy.

Valores devueltos

Devuelve 0 si no hay errores/alertas, 1 para alertas de accesibilidad, o 2 para los errores.

Ejemplos

Ejemplo #1 Ejemplo de tidy::getStatus()

<?php
$html = '<p>paragraph</i>';
$tidy = new tidy();
$tidy->parseString($html);

$tidy2 = new tidy();
$html2 = '<bogus>test</bogus>';
$tidy2->parseString($html2);

echo $tidy->getStatus(); //1

echo $tidy2->getStatus(); //2
?>

tidy::getRelease
tidy::head
Tidy


Devuelve un objeto tidyNode empezando con la etiqueta <head>

tidy::getStatus
tidy::html
Tidy
PHP Manual

tidy::head

tidy_get_head

(PHP 5, PECL tidy 0.5.2-1.0.0)

tidy::head -- tidy_get_head — Devuelve un objeto tidyNode empezando con la etiqueta <head>

Descripción

Estilo orientado a objetos

tidyNode tidy::head ( void )

Estilo por procedimientos

tidyNode tidy_get_head ( tidy $object )

Devuelve un objeto tidyNode empezando por la etiqueta <head>.

Parámetros

object

El objeto Tidy.

Valores devueltos

Devuelve el objeto tidyNode.

Ejemplos

Ejemplo #1 Ejemplo de tidy::head()

<?php
$html = '
<html>
  <head>
    <title>test</title>
  </head>
  <body>
    <p>parrafo</p>
  </body>
</html>';

$tidy = tidy_parse_string($html);

$head = $tidy->head();
echo $head->value;
?>

El resultado del ejemplo sería:

<head>
<title>test</title>
</head>

Notas

Nota: Esta función está disponible sólo con Zend Engine 2 (PHP >= 5.0.0).

Ver también

  • tidy::body() - Devuelve un objeto tidyNode empezando con la etiqueta <body>
  • tidy::html() - Devuelve un objeto tidyNode empezando con la etiqueta <html>
tidy::getStatus
tidy::html
Tidy


Devuelve un objeto tidyNode empezando con la etiqueta <html>

tidy::head
tidy::isXhtml
Tidy
PHP Manual

tidy::html

tidy_get_html

(PHP 5, PECL tidy 0.5.2-1.0.0)

tidy::html -- tidy_get_html — Devuelve un objeto tidyNode empezando con la etiqueta <html>

Descripción

Estilo orientado a objetos

tidyNode tidy::html ( void )

Estilo por procedimientos

tidyNode tidy_get_html ( tidy $object )

Devuelve un objeto tidyNode empezando por la etiqueta <html>.

Parámetros

object

El objeto Tidy.

Valores devueltos

Devuelve el objeto tidyNode.

Ejemplos

Ejemplo #1 Ejemplo de tidy::html()

<?php
$html = '
<html>
  <head>
    <title>test</title>
  </head>
  <body>
    <p>parrafo</p>
  </body>
</html>';

$tidy = tidy_parse_string($html);

$html = $tidy->html();
echo $html->value;
?>

El resultado del ejemplo sería:

<html>
<head>
<title>test</title>
</head>
<body>
<p>parrafo</p>
</body>
</html>

Notas

Nota: Esta función está disponible sólo con Zend Engine 2 (PHP >= 5.0.0).

Ver también

  • tidy::body() - Devuelve un objeto tidyNode empezando con la etiqueta <body>
  • tidy::head() - Devuelve un objeto tidyNode empezando con la etiqueta <head>
tidy::head
tidy::isXhtml
Tidy


Indica si el documento es XHTML

tidy::html
tidy::isXml
Tidy
PHP Manual

tidy::isXhtml

tidy_is_xhtml

(PHP 5, PECL tidy >= 0.5.2)

tidy::isXhtml -- tidy_is_xhtml — Indica si el documento es XHTML

Descripción

Estilo orientado a objetos

bool tidy::isXhtml ( void )

Estilo por procedimientos

bool tidy_is_xhtml ( tidy $object )

Dice si el documento es XHTML.

Parámetros

object

El objeto Tidy.

Valores devueltos

Esta función devuelve TRUE si el objeto object tidy especificado es XHTML, o FALSE de otra forma.

Advertencia

Esta función no está implementada aún en Tidylib, por lo que siempre devolverá FALSE.

tidy::html
tidy::isXml
Tidy


Indica si el documento es XML (no HTML/XHTML)

tidy::isXhtml
tidy::parseFile
Tidy
PHP Manual

tidy::isXml

tidy_is_xml

(PHP 5, PECL tidy >= 0.5.2)

tidy::isXml -- tidy_is_xml — Indica si el documento es XML (no HTML/XHTML)

Descripción

Estilo orientado a objetos

bool tidy::isXml ( void )

Estilo por procedimientos

bool tidy_is_xml ( tidy $object )

Dice si el documento es un XML genérico (no HTML/XHTML).

Parámetros

object

El objeto Tidy.

Valores devueltos

Esta función devuelve TRUE si el objeto object tidy especificado es un documento XML (no HTML/XHTML), o FALSE de otra forma.

Advertencia

Esta función no está implementada aún en Tidylib, por lo que siempre devolverá FALSE.

tidy::isXhtml
tidy::parseFile
Tidy


Analiza las etiquetas de un fichero o URI

tidy::isXml
tidy::parseString
Tidy
PHP Manual

tidy::parseFile

tidy_parse_file

(PHP 5, PECL tidy >= 0.5.2)

tidy::parseFile -- tidy_parse_file — Analiza las etiquetas de un fichero o URI

Descripción

Estilo orientado a objetos

bool tidy::parseFile ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path = false ]]] )

Estilo por procedimientos

tidy tidy_parse_file ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path = false ]]] )

Analiza el fichero especificado.

Parámetros

filename

Si el parámetro filename es indicado, esta función también leerá ese fichero e iniciará el objeto con el fichero, actuando como tidy_parse_file().

config

La configuración config puede ser pasada en forma de un array o un string. Si un string es pasado, será interpretado como el el nombre del fichero de configuración, de otra forma, será interpretado como opciones en sí mismas.

Para una explicación de cada opción, consulte » http://tidy.sourceforge.net/docs/quickref.html.

encoding

El parámetro encoding establece la codificación para entarda/salida de los documentos. Los posibles valores de codificación son: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, y shiftjis.

use_include_path

Busca el fichero en el include_path.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de tidy::parseFile()

<?php
$tidy = new tidy();
$tidy->parseFile('file.html');

$tidy->cleanRepair();

if(!empty($tidy->errorBuffer)) {
    echo "Los siguientes errores o advertencias ocurrieron:\n";
    echo $tidy->errorBuffer;
}
?>

Notas

Nota: Los parámetros opcionales config y encoding fueron agregados en Tidy 2.0.

Ver también

  • tidy::parsestring() - Analiza un documento almacenado en una cadena
  • tidy::repairfile() - Repara un archivo y lo devuelve como una cadena
  • tidy::repairstring() - Repara una cadena HTML usando un archivo de configuración opcional
tidy::isXml
tidy::parseString
Tidy


Analiza un documento almacenado en una cadena

tidy::parseFile
tidy::repairFile
Tidy
PHP Manual

tidy::parseString

tidy_parse_string

(PHP 5, PECL tidy >= 0.5.2)

tidy::parseString -- tidy_parse_string — Analiza un documento almacenado en una cadena

Descripción

Estilo orientado a objetos

bool tidy::parseString ( string $input [, mixed $config [, string $encoding ]] )

Estilo por procedimientos

tidy tidy_parse_string ( string $input [, mixed $config [, string $encoding ]] )

Analiza un documento almacenado en una cadena.

Parámetros

input

Los datos a ser analizados.

config

La configuración config puede ser pasada en forma de un array o una cadena. Si una cadena es pasada, será interpretada como el el nombre del archivo de configuración, de otra forma, será interpretada como opciones en sí mismas.

Para una explicación de cada opción, consulte » http://tidy.sourceforge.net/docs/quickref.html.

encoding

El parámetro encoding establece la codificación para entarda/salida de los documentos. Los posibles valores de codificación son: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, y shiftjis.

Valores devueltos

Devuelve una nueva instancia de tidy.

Ejemplos

Ejemplo #1 Ejemplo de tidy::parseString()

<?php
ob_start();
?>

<html>
  <head>
   <title>test</title>
  </head>
  <body>
   <p>error<br>otra linea</i>
  </body>
</html>

<?php

$buffer = ob_get_clean();
$config = array('indent' => TRUE,
                'output-xhtml' => TRUE,
                'wrap' => 200);

$tidy = tidy_parse_string($buffer, $config, 'UTF8');

$tidy->cleanRepair();
echo $tidy;
?>

El resultado del ejemplo sería:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>
      test
    </title>
  </head>
  <body>
    <p>
      error<br />
      otra linea
    </p>
  </body>
</html>

Notas

Nota: Los parámetros opcionales config y encoding fueron agregados en Tidy 2.0.

Ver también

  • tidy::parseFile() - Analiza las etiquetas de un fichero o URI
  • tidy::repairFile() - Repara un archivo y lo devuelve como una cadena
  • tidy::repairString() - Repara una cadena HTML usando un archivo de configuración opcional
tidy::parseFile
tidy::repairFile
Tidy


Repara un archivo y lo devuelve como una cadena

tidy::parseString
tidy::repairString
Tidy
PHP Manual

tidy::repairFile

tidy_repair_file

(PHP 5, PECL tidy >= 0.7.0)

tidy::repairFile -- tidy_repair_file — Repara un archivo y lo devuelve como una cadena

Descripción

Estilo orientado a objetos

string tidy::repairFile ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path = false ]]] )

Estilo por procedimientos

string tidy_repair_file ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path = false ]]] )

Repara un archivo dado y devuelve el resultado como una cadena.

Parámetros

filename

El archivo a ser reparado.

config

La configuración config puede ser pasada en forma de un array o una cadena. Si una cadena es pasada, será interpretada como el el nombre del archivo de configuración, de otra forma, será interpretada como opciones en sí mismas.

Revise http://tidy.sourceforge.net/docs/quickref.html para una explicación detallada de cada opción.

encoding

El parámetro encoding establece la codificación para entarda/salida de los documentos. Los posibles valores de codificación son: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, y shiftjis.

use_include_path

Búsca el archivo en la ruta include_path.

Valores devueltos

Devuelve el contenido reparado como una cadena.

Ejemplos

Ejemplo #1 Ejemplo de tidy::repairFile()

<?php
$file = 'file.html';

$tidy = new tidy();
$repaired = $tidy->repairfile($file);
rename($file, $file . '.bak');

file_put_contents($file, $repaired);
?>

Notas

Nota: Los parámetros opcionales config y encoding fueron agregados en Tidy 2.0.

Ver también

  • tidy::parseFile() - Analiza las etiquetas de un fichero o URI
  • tidy::parseString() - Analiza un documento almacenado en una cadena
  • tidy::repairString() - Repara una cadena HTML usando un archivo de configuración opcional
tidy::parseString
tidy::repairString
Tidy


Repara una cadena HTML usando un archivo de configuración opcional

tidy::repairFile
tidy::root
Tidy
PHP Manual

tidy::repairString

tidy_repair_string

(PHP 5, PECL tidy >= 0.7.0)

tidy::repairString -- tidy_repair_string — Repara una cadena HTML usando un archivo de configuración opcional

Descripción

Estilo orientado a objetos

string tidy::repairString ( string $data [, mixed $config [, string $encoding ]] )

Estilo por procedimientos

string tidy_repair_string ( string $data [, mixed $config [, string $encoding ]] )

Repara una cadena dada.

Parámetros

data

Los datos a ser reparados.

config

La configuración config puede ser pasada en forma de un array o una cadena. Si una cadena es pasada, será interpretada como el el nombre del archivo de configuración, de otra forma, será interpretada como opciones en sí mismas.

Revise » http://tidy.sourceforge.net/docs/quickref.html para una explicación detallada sobre cada opción.

encoding

El parámetro encoding establece la codificación para entarda/salida de los documentos. Los posibles valores de codificación son: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, y shiftjis.

Valores devueltos

Devuelve la cadena reparada.

Ejemplos

Ejemplo #1 Ejemplo de tidy::repairString()

<?php
ob_start();
?>

<html>
  <head>
    <title>test</title>
  </head>
  <body>
    <p>error</i>
  </body>
</html>

<?php

$buffer = ob_get_clean();
$tidy = new tidy();
$clean = $tidy->repairString($buffer);

echo $clean;
?>

El resultado del ejemplo sería:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>test</title>
</head>
<body>
<p>error</p>
</body>
</html>

Notas

Nota: Los parámetros opcionales config y encoding fueron agregados en Tidy 2.0.

Ver también

  • tidy::parseFile() - Analiza las etiquetas de un fichero o URI
  • tidy::parseString() - Analiza un documento almacenado en una cadena
  • tidy::repairFile() - Repara un archivo y lo devuelve como una cadena
tidy::repairFile
tidy::root
Tidy


Devuelve un objeto tidyNode que representa la raíz del árbol analizado por tidy

tidy::repairString
tidyNode
Tidy
PHP Manual

tidy::root

tidy_get_root

(PHP 5, PECL tidy 0.5.2-1.0.0)

tidy::root -- tidy_get_root — Devuelve un objeto tidyNode que representa la raíz del árbol analizado por tidy

Descripción

Estilo orientado a objetos

tidyNode tidy::root ( void )

Estilo por procedimientos

tidyNode tidy_get_root ( tidy $object )

Devuelve un objeto tidyNode que representa la raíz del arbol a ser analizada por tidy.

Parámetros

object

El objeto Tidy.

Valores devueltos

Devuelve el objeto tidyNode.

Ejemplos

Ejemplo #1 tidy::root() ejemplo

<?php

$html = <<< HTML
<html><body>

<p>paragraph</p>
<br/>

</body></html>
HTML;

$tidy = tidy_parse_string($html);
dump_nodes($tidy->root(), 1);

function dump_nodes($node, $indent) {

    if($node->hasChildren()) {
        foreach($node->child as $child) {
            echo str_repeat('.', $indent*2) . ($child->name ? $child->name : '"'.$child->value.'"'). "\n";

            dump_nodes($child, $indent+1);
        }
    }
}
?>

El resultado del ejemplo sería:

..html
....head
......title
....body
......p
........"paragraph"
......br

Notas

Nota: Esta función está disponible sólo con Zend Engine 2 (PHP >= 5.0.0).

tidy::repairString
tidyNode
Tidy


La clase tidyNode

(PHP 5 >= 5.0.1)

Introducción

Un nodo HTML en un archivo HTML, detectado por tidy.

Sinopsis de la Clase

TidyNode {
/* Propiedades */
string $value;
string $name;
int $type;
int $line;
int $column;
bool $proprietary;
int $id;
array $attribute;
array $child;
/* Métodos */
tidyNode getParent ( void )
bool hasChildren ( void )
bool hasSiblings ( void )
bool isAsp ( void )
bool isComment ( void )
bool isHtml ( void )
bool isJste ( void )
bool isPhp ( void )
bool isText ( void )
}

Propiedades

value

La representación HTML del nodo, incluyendo las etiquetas de los alrededores.

name

El nombre del nodo HTML

type

El tipo de etiqueta (una de las constantes más arriba. Por ejemplo, TIDY_NODETYPE_PHP)

line

el número de línea en la que la etiqueta está ubicada en el archivo

column

El número de columna en la que la etiqueta está ubicada en el archivo

proprietary

Indica si el nodo es una etiqueta de propiedad

id

EL ID de la etiqueta (una de las constantes más arriba. Por ejemplo, TIDY_TAG_FRAME)

attribute

Un array de cadena, representando los nombres de atributos (como las claves) del nodo actual.

child

Un array de tidyNode, representando el hijo del nodo actual.

Versión | Descripción
5.1.0 | line, column y proprietary fueron añadidos

Tabla de contenidos

  • tidyNode::getParent — Devuelve el nodo padre del nodo actual
  • tidyNode::hasChildren — Indica si un nodo tiene hijos
  • tidyNode::hasSiblings — Indica si un nodo tiene hermanos
  • tidyNode::isAsp — Comprueba si el nodo es ASP
  • tidyNode::isComment — Comprueba el nodo actual es un comentario
  • tidyNode::isHtml — Comprueba si el nodo es parte de un documento HTML
  • tidyNode::isJste — Comprueba si el nodo es JSTE
  • tidyNode::isPhp — Comprueba si el nodo es PHP
  • tidyNode::isText — Comprueba si un nodo representa un texto (no HTML)
tidy::root
tidyNode::getParent
Tidy


Devuelve el nodo padre del nodo actual

tidyNode
tidyNode::hasChildren
tidyNode
PHP Manual

tidyNode::getParent

(PHP 5 >= 5.2.2)

tidyNode::getParent — Devuelve el nodo padre del nodo actual

Descripción

tidyNode tidyNode::getParent ( void )

Devuelve el nodo padre del nodo actualReturns the parent node of the current node.

Ejemplos

Ejemplo #1 Ejemplo de tidyNode::hasChildren()

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>titulo</title>'; ?>
<#
  /* código JSTE */
  alert('Hola Mundo');
#>
 </head>
 <body>
 Hola Mundo
 </body>
</html>

HTML;

$tidy = tidy_parse_string($html);
$num = 0;

$node = $tidy->html()->child[0]->child[0];

var_dump($node->getparent()->name);
?>

El resultado del ejemplo sería:

string(4) "head"

Valores devueltos

Devuelve un tidyNode si el nodo tiene padre, o NULL de lo contrario.

tidyNode
tidyNode::hasChildren
tidyNode


Indica si un nodo tiene hijos

tidyNode::getParent
tidyNode::hasSiblings
tidyNode
PHP Manual

tidyNode::hasChildren

(PHP 5 >= 5.0.1)

tidyNode::hasChildren — Indica si un nodo tiene hijos

Descripción

bool tidyNode::hasChildren ( void )

Indica si el nodo tiene hijos.

Valores devueltos

Devuelve TRUE si el nodo tiene hijos, FALSE de lo contrario.

Ejemplos

Ejemplo #1 Ejemplo de tidyNode::hasChildren()

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>titulo</title>'; ?>
<#
  /* código JSTE */
  alert('Hola Mundo');
#>
</head>
<body>

<?php
  // código PHP
  echo 'Hola Mundo!';
?>

<%
  /* código ASP */
  response.write("Hola Mundo!")
%>

<!-- Comentarios -->
Hola Mundo
</body></html>
Fuera del HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

// La etiqueta HEAD
var_dump($tidy->html()->child[0]->hasChildren());

// El código PHP dentro de la etiqueta HEAD
var_dump($tidy->html()->child[0]->child[0]->hasChildren());

?>

El resultado del ejemplo sería:

bool(true)
bool(false)

Notas

Nota:

Esta función fue nombrada tidy_node::has_children() en PHP 4/Tidy 1.

tidyNode::getParent
tidyNode::hasSiblings
tidyNode


Indica si un nodo tiene hermanos

tidyNode::hasChildren
tidyNode::isAsp
tidyNode
PHP Manual

tidyNode::hasSiblings

(PHP 5 >= 5.0.1)

tidyNode::hasSiblings — Indica si un nodo tiene hermanos

Descripción

bool tidyNode::hasSiblings ( void )

Indica si un nodo tiene hermanos.

Valores devueltos

Devuelve TRUE si un nodo tiene hermanos, FALSE de lo contrario.

Ejemplos

Ejemplo #1 Ejemplo de tidyNode::hasSiblings()

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>titulo</title>'; ?>
<#
  /* código JSTE */
  alert('Hola Mundo');
#>
</head>
<body>

<?php
  // código PHP
  echo 'Hola Mundo!';
?>

<%
  /* código ASP */
  response.write("Hola Mundo!")
%>

<!-- Comentarios -->
Hola Mundo
</body></html>
Fuera del HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

// La etiqueta HTML
var_dump($tidy->html()->hasSiblings());

// La etiqueta HEAD
var_dump($tidy->html()->child[0]->hasSiblings());

?>

El resultado del ejemplo sería:

bool(false)
bool(true)

Notas

Nota:

Esta función fue nombrada tidy_node::has_siblings() en PHP 4/Tidy 1.

tidyNode::hasChildren
tidyNode::isAsp
tidyNode


Comprueba si el nodo es ASP

tidyNode::hasSiblings
tidyNode::isComment
tidyNode
PHP Manual

tidyNode::isAsp

(PHP 5 >= 5.0.1)

tidyNode::isAsp — Comprueba si el nodo es ASP

Descripción

bool tidyNode::isAsp ( void )

Indica cuando el nodo actual es ASP.

Valores devueltos

Devuelve TRUE si el nodo es código ASP, FALSE de lo contrario.

Ejemplos

Ejemplo #1 Extraer el código ASP embebido en un documento HTML

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>titulo</title>'; ?>
<#
  /* código JSTE */
  alert('Hola Mundo');
#>
</head>
<body>

<?php
  // código PHP
  echo 'Hola Mundo!';
?>

<%
  /* código ASP */
  response.write("Hola Mundo!")
%>

<!-- Comentarios -->
Hola Mundo
</body></html>
Fuera del HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html());

function get_nodes($node) {

    // Verifica si el nodo actual es del tipo requerido
    if($node->isAsp()) {
        echo "\n\n# asp node #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // Verifica si el nodo actual tiene hijos
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child);
        }
    }
}

?>

El resultado del ejemplo sería:

# asp node #1
<%
  /* código ASP */
  response.write("Hola Mundo!")
%>

Notas

Nota:

Esta función fue nombrada tidy_node::is_asp() en PHP 4/Tidy 1.

tidyNode::hasSiblings
tidyNode::isComment
tidyNode


Comprueba el nodo actual es un comentario

tidyNode::isAsp
tidyNode::isHtml
tidyNode
PHP Manual

tidyNode::isComment

(PHP 5 >= 5.0.1)

tidyNode::isComment — Comprueba el nodo actual es un comentario

Descripción

bool tidyNode::isComment ( void )

Indica el nodo actual es un comentario.

Valores devueltos

Devuelve TRUE si el nodo es un comentario, FALSE de lo contrario.

Ejemplos

Ejemplo #1 Extraer los comentarios de un documento HTML

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>titulo</title>'; ?>
<#
  /* código JSTE */
  alert('Hola Mundo');
#>
</head>
<body>

<?php
  // código PHP
  echo 'Hola Mundo!';
?>

<%
  /* código ASP */
  response.write("Hola Mundo!")
%>

<!-- Comentarios -->
Hola Mundo
</body></html>
Fuera del HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html());

function get_nodes($node) {

    // Verifica si el nodo actual es del tipo requerido
    if($node->isComment()) {
        echo "\n\n# comment node #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // Verifica si el nodo actual tiene hijos
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child);
        }
    }
}

?>

El resultado del ejemplo sería:

# jste node #1
<#
  /* código JSTE */
  alert('Hola Mundo');
#>

/*
var_dump($tidy->html()->child[0]->hasChildren());
var_dump($tidy->html()->child[0]->child[0]->hasChildren());
*/

Notas

Nota:

Esta función fue nombrada tidy_node::is_comment() en PHP 4/Tidy 1.

tidyNode::isAsp
tidyNode::isHtml
tidyNode


Comprueba si el nodo es parte de un documento HTML

tidyNode::isComment
tidyNode::isJste
tidyNode
PHP Manual

tidyNode::isHtml

(PHP 5 >= 5.0.1)

tidyNode::isHtml — Comprueba si el nodo es parte de un documento HTML

Descripción

bool tidyNode::isHtml ( void )

Indica si el nodo es parte de un documento HTML.

Valores devueltos

Devuelve TRUE si el nodo es parte de un documento HTML, FALSE de lo contrario.

Ejemplos

Ejemplo #1 Extraer el código HTML de un documento HTML

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>titulo</title>'; ?>
<#
  /* código JSTE */
  alert('Hola Mundo');
#>
</head>
<body>

<?php
  // código PHP
  echo 'hola mundo!';
?>

<%
  /* código ASP */
  response.write("Hola Mundo!")
%>

<!-- Comentarios -->
Hola Mundo
</body></html>
Fuera del HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html());

function get_nodes($node) {
    // Verifica si el nodo actual es del tipo requerido
    if($node->isHtml()) {
        echo "\n\n# html node #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // Verifica si el nodo actual tiene hijos
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child);
        }
    }
}

?>

El resultado del ejemplo sería:

# html node #1
<html>
<head>
<?php echo '<title>titulo</title>'; ?><#
  /* código JSTE */
  alert('Hola Mundo');
#>
<title></title>
</head>
<body>
<?php
  // código PHP
  echo 'hola mundo!';
?><%
  /* código ASP */
  response.write("Hola Mundo!")
%><!-- Comentarios -->
HolaMundoFuera del HTML
</body>
</html>

# html node #2
<head>
<?php echo '<title>titulo</title>'; ?><#
  /* código JSTE code */
  alert('Hola Mundo');
#>
<title></title>
</head>

# html node #3
<?php echo '<title>titulo</title>'; ?>

# html node #4
<#
  /* código JSTE */
  alert('Hola Mundo');
#>

# html node #5
<title></title>

# html node #6
<body>
<?php
  // código PHP
  echo 'hola mundo!';
?><%
  /* código ASP */
  response.write("Hola Mundo!")
%><!-- Comentarios -->
Hola MundoFuera del HTML
</body>

# html node #7
<?php
  // código PHP
  echo 'hola mundo!';
?>

# html node #8
<%
  /* código ASP */
  response.write("Hola Mundo!")
%>

# html node #9
<!-- Comentarios -->

# html node #10
Hola Mundo

# html node #11
Fuera del HTML

Notas

Nota:

Esta función fue nombrada tidy_node::is_html() en PHP 4/Tidy 1.

tidyNode::isComment
tidyNode::isJste
tidyNode


Comprueba si el nodo es JSTE

tidyNode::isHtml
tidyNode::isPhp
tidyNode
PHP Manual

tidyNode::isJste

(PHP 5 >= 5.0.1)

tidyNode::isJste — Comprueba si el nodo es JSTE

Descripción

bool tidyNode::isJste ( void )

Indica si el nodo es JSTE.

Valores devueltos

Devuelve TRUE si el nodo es código JSTE, FALSE de lo contrario.

Ejemplos

Ejemplo #1 Extrer el código JSTE de un documento HTML

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>titulo</title>'; ?>
<#
  /* código JSTE */
  alert('Hola Mundo');
#>
</head>
<body>

<?php
  // código PHP
  echo 'hola mundo!';
?>

<%
  /* código ASP */
  response.write("Hola Mundo!")
%>

<!-- Comentarios -->
Hola Mundo
</body></html>
Fuera del HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html());

function get_nodes($node) {

    // Verifica si el nodo actual es del tipo requerido
    if($node->isJste()) {
        echo "\n\n# jste node #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // Verifica si el nodo actual tiene hijos
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child);
        }
    }
}

?>

El resultado del ejemplo sería:

# jste node #1
<#
  /* código JSTE */
  alert('Hola Mundo');
#>

/*
var_dump($tidy->html()->child[0]->hasChildren());
var_dump($tidy->html()->child[0]->child[0]->hasChildren());
*/

Notas

Nota:

This function was named tidy_node::is_jste() in PHP 4/Tidy 1.

tidyNode::isHtml
tidyNode::isPhp
tidyNode


Comprueba si el nodo es PHP

tidyNode::isJste
tidyNode::isText
tidyNode
PHP Manual

tidyNode::isPhp

(PHP 5 >= 5.0.1)

tidyNode::isPhp — Comprueba si el nodo es PHP

Descripción

bool tidyNode::isPhp ( void )

Indica cuando el nodo actual es PHP.

Valores devueltos

Devuelve TRUE si el nodo es código PHP, FALSE de lo contrario.

Ejemplos

Ejemplo #1 Extraer el código PHP embebido en un documento HTML

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>titulo</title>'; ?>
<#
  /* código JSTE */
  alert('Hola Mundo');
#>
</head>
<body>

<?php
  // código PHP
  echo 'hola mundo!';
?>

<%
  /* código ASP */
  response.write("Hola Mundo!")
%>

<!-- Comentarios -->
Hola Mundo
</body></html>
Fuera del HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html());

function get_nodes($node) {

    // Verifica si el nodo actual es del tipo requerido
    if($node->isPhp()) {
        echo "\n\n# php node #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // Verifica si el nodo actual tiene hijos
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child);
        }
    }
}

?>

El resultado del ejemplo sería:

# php node #1
<?php echo '<title>titulo</title>'; ?>

# php node #2
<?php
  // código PHP
  echo 'hola mundo!';
?>

Notas

Nota:

Esta función fue nombrada tidy_node::is_php() en PHP 4/Tidy 1.

tidyNode::isJste
tidyNode::isText
tidyNode


Comprueba si un nodo representa un texto (no HTML)

tidyNode::isPhp
Funciones de Tidy
tidyNode
PHP Manual

tidyNode::isText

(PHP 5 >= 5.0.1)

tidyNode::isText — Comprueba si un nodo representa un texto (no HTML)

Descripción

bool tidyNode::isText ( void )

Indica si un nodo representa sólo texto (sin nada de HTML).

Valores devueltos

Devuelve TRUE si un nodo representa un texto, FALSE de lo contrario.

Ejemplos

Ejemplo #1 Extraer el texto de un documento HTML

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>titulo</title>'; ?>
<#
  /* código JSTE */
  alert('Hola Mundo');
#>
</head>
<body>

<?php
  // código PHP
  echo 'hola mundo!';
?>

<%
  /* código ASP */
  response.write("Hola Mundo!")
%>

<!-- Comentarios -->
Hola Mundo
</body></html>
Fuera del HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html());

function get_nodes($node) {

    // Verifica si el nodo actual es del tipo requerido
    if($node->isText()) {
        echo "\n\n# text node #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // Verifica si el nodo actual tiene hijos
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child);
        }
    }
}

?>

El resultado del ejemplo sería:

# text node #1
Hola Mundo

# text node #2
Fuera del HTML

Notas

Nota:

Esta función fue nombrada tidy_node::is_text() en PHP 4/Tidy 1.

tidyNode::isPhp
Funciones de Tidy
tidyNode


Funciones de Tidy

Tabla de contenidos

  • ob_tidyhandler — Función callback de ob_start para reparar el buffer
  • tidy_access_count — Devuelve el número de alertas de accesibilidad Tidy encontradas en un documento dado
  • tidy_config_count — Devuelve el número de errores de configuración Tidy encontrados en un documento dado
  • tidy_error_count — Devuelve el número de errores Tidy encontrados en un documento dado
  • tidy_get_output — Devuelve una cadena que contiene las etiquetas analizadas por Tidy
  • tidy_load_config — Carga un archivo de configuración ASCII Tidy con la codificación especificada
  • tidy_reset_config — Restaura la configuración Tidy a sus valores por omisión
  • tidy_save_config — Guarda la configuración actual en un archivo
  • tidy_set_encoding — establece el juego de caracteres de entrada/salida del analizador de etiquetas
  • tidy_setopt — Modifica los ajustes de configuración Tidy para el documento especificado
  • tidy_warning_count — Devuelve el número de alertas encontradas en un documendo dado
tidyNode::isText
ob_tidyhandler
Tidy


Función callback de ob_start para reparar el buffer

Funciones de Tidy
tidy_access_count
Funciones de Tidy
PHP Manual

ob_tidyhandler

(PHP 5)

ob_tidyhandler — Función callback de ob_start para reparar el buffer

Descripción

string ob_tidyhandler ( string $input [, int $mode ] )

Función callback para la función ob_start() con el fin de reparar el buffer.

Parámetros

input

EL buffer.

mode

El modo del buffer.

Valores devueltos

Devuelve el buffer modificado.

Ejemplos

Ejemplo #1 Ejemplo de ob_tidyhandler()

<?php
ob_start('ob_tidyhandler');

echo '<p>test</i>';
?>

El resultado del ejemplo sería:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title></title>
</head>
<body>
<p>test</p>
</body>
</html>

Ver también

  • ob_start() - Activa el almacenamiento en búfer de salida

Funciones de Tidy
tidy_access_count
Funciones de Tidy


Devuelve el número de alertas de accesibilidad Tidy encontradas en un documento dado

ob_tidyhandler
tidy_config_count
Funciones de Tidy
PHP Manual

tidy_access_count

(PHP 5, PECL tidy >= 0.5.2)

tidy_access_count — Devuelve el número de alertas de accesibilidad Tidy encontradas en un documento dado

Descripción

int tidy_access_count ( tidy $object )

tidy_access_count() devuelve el número de alertas de accesibilidad encontradas en un documento específico.

Parámetros

object

El objeto Tidy.

Valores devueltos

Devuelve el número de alertas.

Ejemplos

Ejemplo #1 Ejemplo de la función tidy_access_count()

<?php

$html ='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html><head><title>Title</title></head>
<body>

<p><img src="img.png"></p>

</body></html>';

// Seleccione el nivel de accesibilidad a revisar: 1, 2 o 3
$config = array('accessibility-check' => 3);

$tidy = new tidy();
$tidy->parseString($html, $config);
$tidy->cleanRepair();

/* No olvide ejecutar esto! */
$tidy->diagnose();

echo tidy_access_count($tidy); //5

?>

Notas

Nota:

Dado el diseño de TidyLib, se debe ejecutar tidy_diagnose() antes de tidy_access_count() o siempre devolverá 0. También se necesita habilitar la opción accessibility-check.

Ver también

  • tidy_error_count() - Devuelve el número de errores Tidy encontrados en un documento dado
  • tidy_warning_count() - Devuelve el número de alertas encontradas en un documendo dado

ob_tidyhandler
tidy_config_count
Funciones de Tidy


Devuelve el número de errores de configuración Tidy encontrados en un documento dado

tidy_access_count
tidy_error_count
Funciones de Tidy
PHP Manual

tidy_config_count

(PHP 5, PECL tidy >= 0.5.2)

tidy_config_count — Devuelve el número de errores de configuración Tidy encontrados en un documento dado

Descripción

int tidy_config_count ( tidy $object )

Devuelve el número de errores encontrados en la configuración del objeto object tidy especificado.

Parámetros

object

El objeto Tidy.

Valores devueltos

Devuelve el número de errores.

Ejemplos

Ejemplo #1 Ejemplo de la función tidy_config_count()

<?php
$html = '<p>test</I>';

$config = array('doctype' => 'bogus');

$tidy = tidy_parse_string($html, $config);

/* Saldrá 1, porque 'bogus' no es un doctype válido */
echo tidy_config_count($tidy);
?>

tidy_access_count
tidy_error_count
Funciones de Tidy


Devuelve el número de errores Tidy encontrados en un documento dado

tidy_config_count
tidy_get_output
Funciones de Tidy
PHP Manual

tidy_error_count

(PHP 5, PECL tidy >= 0.5.2)

tidy_error_count — Devuelve el número de errores Tidy encontrados en un documento dado

Descripción

int tidy_error_count ( tidy $object )

Devuelve el número de errores Tidy encontrados en un documento específico.

Parámetros

object

El objeto Tidy.

Valores devueltos

Devuelve el número de errores.

Ejemplos

Ejemplo #1 Ejemplo de la función tidy_error_count()

<?php
$html = '<p>test</i>
<bogustag>bogus</bogustag>';

$tidy = tidy_parse_string($html);

echo tidy_error_count($tidy) . "\n"; //1

echo $tidy->errorBuffer;
?>

El resultado del ejemplo sería:

1
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 1 column 8 - Warning: discarding unexpected </i>
line 2 column 1 - Error: <bogustag> is not recognized!
line 2 column 1 - Warning: discarding unexpected <bogustag>
line 2 column 16 - Warning: discarding unexpected </bogustag>
line 1 column 1 - Warning: inserting missing 'title' element

Ver también

  • tidy_access_count() - Devuelve el número de alertas de accesibilidad Tidy encontradas en un documento dado
  • tidy_warning_count() - Devuelve el número de alertas encontradas en un documendo dado
tidy_config_count
tidy_get_output
Funciones de Tidy


Devuelve una cadena que contiene las etiquetas analizadas por Tidy

tidy_error_count
tidy_load_config
Funciones de Tidy
PHP Manual

tidy_get_output

(PHP 5, PECL tidy >= 0.5.2)

tidy_get_output — Devuelve una cadena que contiene las etiquetas analizadas por Tidy

Descripción

string tidy_get_output ( tidy $object )

Devuelve una cadena con el HTML reparado.

Parámetros

object

El objeto Tidy.

Valores devueltos

Devuelve las etiquetas analizadas por tidy

Ejemplos

Ejemplo #1 Ejemplo de la función tidy_get_output()

<?php

$html = '<p>paragraph</i>';
$tidy = tidy_parse_string($html);

$tidy->cleanRepair();

echo tidy_get_output($tidy);
?>

El resultado del ejemplo sería:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title></title>
</head>
<body>
<p>paragraph</p>
</body>
</html>

tidy_error_count
tidy_load_config
Funciones de Tidy


Carga un archivo de configuración ASCII Tidy con la codificación especificada

tidy_get_output
tidy_reset_config
Funciones de Tidy
PHP Manual

tidy_load_config

(PECL tidy >= 0.5.2)

tidy_load_config — Carga un archivo de configuración ASCII Tidy con la codificación especificada

Descripción

void tidy_load_config ( string $filename , string $encoding )

Carga un archivo de configuración Tidy, con la codificación encoding especificada.

Parámetros

filename

encoding

Valores devueltos

No devuelve ningún valor.

Notas

Nota: Esta función está disponible sólo en Tidy 1.0. Quedó obsoleta en Tidy 2.0, y por tanto ha sido eliminada.

tidy_get_output
tidy_reset_config
Funciones de Tidy


Restaura la configuración Tidy a sus valores por omisión

tidy_load_config
tidy_save_config
Funciones de Tidy
PHP Manual

tidy_reset_config

(PECL tidy >= 0.7.0)

tidy_reset_config — Restaura la configuración Tidy a sus valores por omisión

Descripción

bool tidy_reset_config ( void )

Esta función restaura la configuración de Tidy a sus valores por omisión.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota: Esta función está disponible sólo en Tidy 1.0. Quedó obsoleta en Tidy 2.0, y por tanto ha sido eliminada.

tidy_load_config
tidy_save_config
Funciones de Tidy


Guarda la configuración actual en un archivo

tidy_reset_config
tidy_set_encoding
Funciones de Tidy
PHP Manual

tidy_save_config

(PECL tidy >= 0.5.2)

tidy_save_config — Guarda la configuración actual en un archivo

Descripción

bool tidy_save_config ( string $filename )

Guarda la configuración actual en un archivo específicado. Sólo los valores distintos a los valores por mosión serán guardados.

Parámetros

filename

Ruta al archivo de configuración.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota: Esta función está disponible sólo en Tidy 1.0. Quedó obsoleta en Tidy 2.0, y por tanto ha sido eliminada.

Ver también

  • tidy_get_config() - Obtiene la configuración actual de Tidy
  • tidy_getopt() - Devuelve el valor de la opción de configuración especificada para el documento tidy
  • tidy_reset_config() - Restaura la configuración Tidy a sus valores por omisión
  • tidy_setopt() - Modifica los ajustes de configuración Tidy para el documento especificado

tidy_reset_config
tidy_set_encoding
Funciones de Tidy


establece el juego de caracteres de entrada/salida del analizador de etiquetas

tidy_save_config
tidy_setopt
Funciones de Tidy
PHP Manual

tidy_set_encoding

(PECL tidy >= 0.5.2)

tidy_set_encoding — establece el juego de caracteres de entrada/salida del analizador de etiquetas

Descripción

bool tidy_set_encoding ( string $encoding )

Establece la codificación de entrada/salida del documento.

Parámetros

encoding

El parámetro de codificación encoding establece la codificación de la entrada/salida de los documentos. Los posibles valores de codificación son : ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, y shiftjis.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota: Esta función está disponible sólo en Tidy 1.0. Quedó obsoleta en Tidy 2.0, y por tanto ha sido eliminada.

tidy_save_config
tidy_setopt
Funciones de Tidy


Modifica los ajustes de configuración Tidy para el documento especificado

tidy_set_encoding
tidy_warning_count
Funciones de Tidy
PHP Manual

tidy_setopt

(PECL tidy >= 0.5.2)

tidy_setopt — Modifica los ajustes de configuración Tidy para el documento especificado

Descripción

bool tidy_setopt ( string $option , mixed $value )

La función tidy_setopt() actualiza la opción option determinada con un nuevo valor value.

Parámetros

option

El nombre de la opción tidy. Una lista de opciones de configuración disponibles puede ser hayada en: » http://tidy.sourceforge.net/docs/quickref.html.

value

El nombre de la opción tidy.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de la función tidy_setopt()

<?php
$html = '<p>test</i>';

$tidy = tidy_parse_string($html);

tidy_setopt('indent', FALSE);
?>

Notas

Nota: Esta función está disponible sólo en Tidy 1.0. Quedó obsoleta en Tidy 2.0, y por tanto ha sido eliminada.

Ver también

  • tidy_getopt() - Devuelve el valor de la opción de configuración especificada para el documento tidy
  • tidy_get_config() - Obtiene la configuración actual de Tidy
  • tidy_reset_config() - Restaura la configuración Tidy a sus valores por omisión
  • tidy_save_config() - Guarda la configuración actual en un archivo
tidy_set_encoding
tidy_warning_count
Funciones de Tidy


Devuelve el número de alertas encontradas en un documendo dado

tidy_setopt
Tokenizer
Funciones de Tidy
PHP Manual

tidy_warning_count

(PHP 5, PECL tidy >= 0.5.2)

tidy_warning_count — Devuelve el número de alertas encontradas en un documendo dado

Descripción

int tidy_warning_count ( tidy $object )

Devuelve el número de alertas Tidy encontradas en un documento específicado.

Parámetros

object

El objeto Tidy.

Valores devueltos

Devuelve el número de alertas.

Ejemplos

Ejemplo #1 Ejemplo de la función tidy_warning_count()

<?php
$html = '<p>test</i>
<bogustag>bogus</bogustag>';

$tidy = tidy_parse_string($html);

echo tidy_error_count($tidy) . "\n"; //1
echo tidy_warning_count($tidy) . "\n"; //5
?>

Ver también

  • tidy_error_count() - Devuelve el número de errores Tidy encontrados en un documento dado
  • tidy_access_count() - Devuelve el número de alertas de accesibilidad Tidy encontradas en un documento dado

tidy_setopt
Tokenizer
Funciones de Tidy


Tokenizer

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • Funciones Tokenizer
    • token_get_all — Divide la fuente dada en tokens PHP
    • token_name — Obtiene el nombre simbólico de un token PHP dado
tidy_warning_count
Introducción
Otras extensiones básicas


Introducción

Las funciones de la extensión tokenizer proporcionan una interfaz para la creación de tokens de PHP integrada en el Motor Zend. Utilizando estas funciones se pueden escribir herramientas propias de análisis o de modificacaión de código fuente de PHP, sin tener que hacer frente a las especificaciones del lenguaje a nivel léxico.

Véase también el apéndice sobre tokens.

Tokenizer
Instalación/Configuración
Tokenizer


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Tokenizer


Instalación

Desde PHP 4.3.0 estas funciones están activadas por defecto. Para versiones anteriores se tiene que configurar y compilar PHP con --enable-tokenizer . Se puede deshabilitar el soporte del tokenizer con --disable-tokenizer .

La versión de PHP para Windows tiene soporte nativo para esta extensión. No se requiere cargar extensiones adicionales para utilizar estas funciones.

Nota: Soporte interno para el tokenizer está disponible como en PHP 4.3.0.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Cuando la extensión ha sido o bien compilada en PHP o dinámicamente cargada durante el tiempo de ejecución, los tokens listados en Lista de componentes léxicos del analizador son definidos como constantes.

Tipos de recursos
Ejemplos
Tokenizer


Ejemplos

Aquí hay un simple ejemplo de scripts PHP donde se usa el tokenizer para leer en un archivo PHP, quitar todo los comentarios del archivo original y mostrar solamente el código puro.

Ejemplo #1 Quitar comentarios con el tokenizer

<?php
/*
* T_ML_COMMENT no existe en PHP 5.
* Las siguientes tres líneas lo definen para
* preservar compatibilidades anteriores.
*
* Las siguientes dos líneas definen el T_DOC_COMMENT de PHP 5,
* el cual será sobreescrito como T_ML_COMMENT para PHP 4.
*/
if (!defined('T_ML_COMMENT')) {
   define('T_ML_COMMENT', T_COMMENT);
} else {
   define('T_DOC_COMMENT', T_ML_COMMENT);
}

$source = file_get_contents('example.php');
$tokens = token_get_all($source);

foreach ($tokens as $token) {
   if (is_string($token)) {
       // simple 1-character token
       echo $token;
   } else {
       // token array
       list($id, $text) = $token;

       switch ($id) {
           case T_COMMENT:
           case T_ML_COMMENT: // hemos definido esto
           case T_DOC_COMMENT: // y esto
               // ninguna acción en comentarios
               break;

           default:
               // cualquier otra cosa -> salida "tal cual"
               echo $text;
               break;
       }
   }
}
?>
Constantes predefinidas
Funciones Tokenizer
Tokenizer


Funciones Tokenizer

Tabla de contenidos

  • token_get_all — Divide la fuente dada en tokens PHP
  • token_name — Obtiene el nombre simbólico de un token PHP dado
Ejemplos
token_get_all
Tokenizer


Divide la fuente dada en tokens PHP

Funciones Tokenizer
token_name
Funciones Tokenizer
PHP Manual

token_get_all

(PHP 4 >= 4.2.0, PHP 5)

token_get_all — Divide la fuente dada en tokens PHP

Descripción

array token_get_all ( string $source )

token_get_all() parsea el string de la fuente dada en tokens PHP usando el escaneador de léxico de Zend Engine.

Para ver la lista de los tokens analizados, vea Lista de componentes léxicos del analizador, o use token_name() para traducir un valor token en su representación en string.

Parámetros

source

La fuente PHP a analizar.

Valores devueltos

Un array de tokens identificadores. Cada token identificador individual es al mismo tiempo un carácter único (por ejemplo: ;, ., >, !, etc...), un array de tres elementos conteniendo el índice de token en el elemento 0, el contenido del string del token original en el elemento 1 y el número de línea en el elemento 2.

Ejemplos

Ejemplo #1 token_get_all() ejemplos

<?php
$tokens = token_get_all('<?php echo; ?>'); /* => array(
                                                  array(T_OPEN_TAG, '<?php'),
                                                  array(T_ECHO, 'echo'),
                                                  ';',
                                                  array(T_CLOSE_TAG, '?>') ); */

/* Tenga en cuenta que el siguiente ejemplo tiene el string analizado como T_INLINE_HTML
   en lugar del esperado T_COMMENT (T_ML_COMMENT in PHP <5).
   Esto se debe a que los tags de abierto/cerrado no han sido usados en el "código".
   Esto sería equivalente a poner un comentario fuera de los tags <?php ?> en un fichero normal. */
$tokens = token_get_all('/* comentario */'); // => array(array(T_INLINE_HTML, '/* comentario */'));
?>

Historial de cambios

Versión | Descripción
5.2.2 | Los números de línea son devueltos en el elemento 2

Funciones Tokenizer
token_name
Funciones Tokenizer


Obtiene el nombre simbólico de un token PHP dado

token_get_all
URLs
Funciones Tokenizer
PHP Manual

token_name

(PHP 4 >= 4.2.0, PHP 5)

token_name — Obtiene el nombre simbólico de un token PHP dado

Descripción

string token_name ( int $token )

token_name() obtiene el nombre simbólico para un valor de token PHP.

Parámetros

token

El valor token.

Valores devueltos

El nombre simbólico para el token dado.

Ejemplos

Ejemplo #1 token_name() ejemplo

<?php
// 260 es el valor de token para T_EVAL token
echo token_name(260);        // -> "T_EVAL"

// una constante token mapea a su propio nombre
echo token_name(T_FUNCTION); // -> "T_FUNCTION"
?>

Ver también

  • Listado de Tokens Analizadores

token_get_all
URLs
Funciones Tokenizer


URLs

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de URL
    • base64_decode — Decodifica datos codificados con MIME base64
    • base64_encode — Codifica datos con MIME base64
    • get_headers — Recupera todas las cabeceras enviadas por el servidor en respuesta a una petición HTTP
    • get_meta_tags — Extrae todo el contenido de atributos de etiquetas meta de un archivo y devuelve un array
    • http_build_query — Generar una cadena de consulta codificada estilo URL
    • parse_url — Analiza una URL y devolver sus componentes
    • rawurldecode — Decodificar cadenas codificadas estilo URL
    • rawurlencode — Codificar estilo URL de acuerdo al RFC 3986
    • urldecode — Decodifica una cadena cifrada como URL
    • urlencode — Codifica como URL una cadena
token_name
Introducción
Otras extensiones básicas


Introducción

Tratar con cadenas URL: codificación, decodificaicón y conversión.

URLs
Instalación/Configuración
URLs


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
URLs


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Las siguientes constantes están pensadas para usarse con parse_url() y están disponibles desde PHP 5.1.2.

PHP_URL_SCHEME (integer)
PHP_URL_HOST (integer)
PHP_URL_PORT (integer)
PHP_URL_USER (integer)
PHP_URL_PASS (integer)
PHP_URL_PATH (integer)
PHP_URL_QUERY (integer)
PHP_URL_FRAGMENT (integer)
PHP_QUERY_RFC1738 (integer)
PHP_QUERY_RFC3986 (integer)
Tipos de recursos
Funciones de URL
URLs


Funciones de URL

Tabla de contenidos

  • base64_decode — Decodifica datos codificados con MIME base64
  • base64_encode — Codifica datos con MIME base64
  • get_headers — Recupera todas las cabeceras enviadas por el servidor en respuesta a una petición HTTP
  • get_meta_tags — Extrae todo el contenido de atributos de etiquetas meta de un archivo y devuelve un array
  • http_build_query — Generar una cadena de consulta codificada estilo URL
  • parse_url — Analiza una URL y devolver sus componentes
  • rawurldecode — Decodificar cadenas codificadas estilo URL
  • rawurlencode — Codificar estilo URL de acuerdo al RFC 3986
  • urldecode — Decodifica una cadena cifrada como URL
  • urlencode — Codifica como URL una cadena
Constantes predefinidas
base64_decode
URLs


Decodifica datos codificados con MIME base64

Funciones de URL
base64_encode
Funciones de URL
PHP Manual

base64_decode

(PHP 4, PHP 5)

base64_decode — Decodifica datos codificados con MIME base64

Descripción

string base64_decode ( string $data [, bool $strict = false ] )

Decodifica data codificada en base64.

Parámetros

data

Los datos codificados.

strict

Devuelve FALSE si los datos de entrada contienen carácteres que no estan dentro del alfabeto base64.

Valores devueltos

Devuelve los datos originales o FALSE en caso de error. Los datos devueltos pueden estar en formato binario.

Historial de cambios

Versión | Descripción
5.2.0 | Añadido strict

Ejemplos

Ejemplo #1 Ejemplo de base64_decode()

<?php
$str = 'VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==';
echo base64_decode($str);
?>

El resultado del ejemplo sería:

Estos datos son una cadena codificada.

Ver también

  • base64_encode() - Codifica datos con MIME base64
  • » RFC 2045 section 6.8

Funciones de URL
base64_encode
Funciones de URL


Codifica datos con MIME base64

base64_decode
get_headers
Funciones de URL
PHP Manual

base64_encode

(PHP 4, PHP 5)

base64_encode — Codifica datos con MIME base64

Descripción

string base64_encode ( string $data )

Codifica data en base64.

Este tipo de codificación está diseñado para que datos binarios sobrepasen capas de transporte que no son de 8-bits 100%, como por ejemplo el cuerpo de un E-Mail.

La codificación en Base64 hace que los datos sean un 33% más largos que los datos el originales.

Parámetros

data

Datos a codificar.

Valores devueltos

Los datos codificados, como un string o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de base64_encode()

<?php
$str = 'This is an encoded string';
echo base64_encode($str);
?>

El resultado del ejemplo sería:

VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==

Ver también

  • base64_decode() - Decodifica datos codificados con MIME base64
  • chunk_split() - Divide una cadena en trozos más pequeños
  • convert_uuencode() - Codifica, mediante uuencode, una cadena
  • » RFC 2045 section 6.8

base64_decode
get_headers
Funciones de URL


Recupera todas las cabeceras enviadas por el servidor en respuesta a una petición HTTP

base64_encode
get_meta_tags
Funciones de URL
PHP Manual

get_headers

(PHP 5)

get_headers — Recupera todas las cabeceras enviadas por el servidor en respuesta a una petición HTTP

Descripción

array get_headers ( string $url [, int $format = 0 ] )

get_headers() devuelve un Array con las cabeceras enviadas por el servidor en respuesta a una petición HTTP.

Parámetros

url

La URL de destino.

format

Si el parámetro opcional formato es definido como no-cero, get_headers() interpreta la respuesta y define las claves del array.

Valores devueltos

Devuelve un array indexado o asociativo con las cabeceras, o FALSE en caso de fallo.

Historial de cambios

Versión | Descripción
5.1.3 | Esta función usa el contexto de secuencia predeterminado, el cual puede ser definido/modificado con la función stream_context_set_default().

Ejemplos

Ejemplo #1 Ejemplo de get_headers()

<?php
$url = 'http://www.example.com';

print_r(get_headers($url));

print_r(get_headers($url, 1));
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => HTTP/1.1 200 OK
    [1] => Date: Sat, 29 May 2004 12:28:13 GMT
    [2] => Server: Apache/1.3.27 (Unix)  (Red-Hat/Linux)
    [3] => Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
    [4] => ETag: "3f80f-1b6-3e1cb03b"
    [5] => Accept-Ranges: bytes
    [6] => Content-Length: 438
    [7] => Connection: close
    [8] => Content-Type: text/html
)

Array
(
    [0] => HTTP/1.1 200 OK
    [Date] => Sat, 29 May 2004 12:28:14 GMT
    [Server] => Apache/1.3.27 (Unix)  (Red-Hat/Linux)
    [Last-Modified] => Wed, 08 Jan 2003 23:11:55 GMT
    [ETag] => "3f80f-1b6-3e1cb03b"
    [Accept-Ranges] => bytes
    [Content-Length] => 438
    [Connection] => close
    [Content-Type] => text/html
)

Ejemplo #2 get_headers() using HEAD example

<?php
// Por omisión get_headers utiliza una solicitud GET para recoger las cabeceras. Si se
// desea enviar una solicitud HEAD en su lugar, puede hacerlo usando un contexto de secuencia:
stream_context_set_default(
    array(
        'http' => array(
            'method' => 'HEAD'
        )
    )
);
$headers = get_headers('http://example.com');
?>

Ver también

  • apache_request_headers() - Obtiene todas las cabeceras HTTP

base64_encode
get_meta_tags
Funciones de URL


Extrae todo el contenido de atributos de etiquetas meta de un archivo y devuelve un array

get_headers
http_build_query
Funciones de URL
PHP Manual

get_meta_tags

(PHP 4, PHP 5)

get_meta_tags — Extrae todo el contenido de atributos de etiquetas meta de un archivo y devuelve un array

Descripción

array get_meta_tags ( string $filename [, bool $use_include_path = false ] )

Abre filename y lo procesa línea por línea en busca de etiquetas <meta> en el archivo. El procesamiento se detiene al encontrar </head>.

Parámetros

filename

La ruta al archivo HTML, como una cadena. Éste puede ser un archivo local o una URL.

Ejemplo #1 Lo que procesa get_meta_tags()

<meta name="author" content="name">
<meta name="keywords" content="php documentation">
<meta name="DESCRIPTION" content="a php manual">
<meta name="geo.position" content="49.33;-86.59">
</head> <!-- el procesamiento se detiene aquí -->
(preste atención a los finales de línea, - PHP usa una función nativa para procesar la entrada, así que un archivo Mac no funcionará en Unix).

use_include_path

Definir use_include_path como TRUE producirá que PHP intente abrir el archivo a lo largo de la ruta de inclusión estándar, tal y como se define en la directiva include_path. Éste parámetro es usado para archivos locales, no URLs.

Valores devueltos

Devuelve un array con todas las etiquetas meta procesadas.

El valor de la propiedad 'name' se convierte en la clave, el valor del contenido de la propiedad se convierte en el valor del array devuelto, de modo que es posible usar fácilmente funciones estándar de arrays para recorrerlo o acceder a valores sencillos. Los caracteres especiales en el valor de la propiedad name son sustituidos con '_', el resto es convertido a minúsculas. Si dos etiquetas meta tienen el mismo nombre, sólo se devuelve la última.

Historial de cambios

Versión | Descripción
4.0.5 | Se agregó el soporte para atributos HTML sin comillas.

Ejemplos

Ejemplo #2 Lo que devuelve get_meta_tags()

<?php
// Asumiendo que las anteriores etiquetas se encuentran en www.example.com
$tags = get_meta_tags('http://www.example.com/');

// Note como las claves están ahora en minúsculas, y como . fue
// reemplazado con _ en la clave.
echo $tags['author'];       // name
echo $tags['keywords'];     // php documentation
echo $tags['description'];  // a php manual
echo $tags['geo_position']; // 49.33;-86.59
?>

Notas

Nota:

Sólo meta tags que contienen el atributo name serán analizados.

Ver también

  • htmlentities() - Convierte todos los caracteres aplicables a entidades HTML
  • urlencode() - Codifica como URL una cadena

get_headers
http_build_query
Funciones de URL


Generar una cadena de consulta codificada estilo URL

get_meta_tags
parse_url
Funciones de URL
PHP Manual

http_build_query

(PHP 5)

http_build_query — Generar una cadena de consulta codificada estilo URL

Descripción

string http_build_query ( mixed $query_data [, string $numeric_prefix [, string $arg_separator [, int $enc_type = PHP_QUERY_RFC1738 ]]] )

Genera una cadena de consulta codificada estilo URL a partir del array asociativo (o indexado) dado.

Parámetros

query_data

Puede ser un array u objeto que contenga propiedades.

Si query_data es un array, puede ser de una dimensión, o un array de arrays (que a su vez puede contener otros arrays).

Si query_data es un objeto, sólo las propiedades que son públicas serán incorporadas en el resultado.

numeric_prefix

Si se usan índices numéricos en el array base y se provee este parámetro, éste será añadido al comienzo de los índices numéricos para aquellos elementos encontrados sólo en el array base.

Esto es para permitir que se opere con nombres de variables legales cuando los datos sean decodificados por PHP u otra aplicación CGI más adelante.

arg_separator

arg_separator.output es usado para separar argumentos, a menos que este parámetro sea especificado, en cuyo caso éste será usado.

enc_type

Por omisión, PHP_QUERY_RFC1738.

Si enc_type es PHP_QUERY_RFC1738, la codificación se realiza de acuerdo al » RFC 1738 y el tipo de medios application/x-www-form-urlencoded, lo que implica que los espacios son codificados con el signo más (+).

Si enc_type es PHP_QUERY_RFC3986, la codificación se realiza de acuerdo al » RFC 3986, y los espacios serán codificados (%20) más.

Valores devueltos

Devuelve una cadena codificada en forma URL.

Historial de cambios

Versión | Descripción
5.4.0 | Se agregó el parámetro enc_type.
5.1.3 | Los corchetes cuadrados son escapados.
5.1.2 | Se agregó el parámetro arg_separator.

Ejemplos

Ejemplo #1 Uso simple de http_build_query()

<?php
$data = array('foo'=>'bar',
              'baz'=>'boom',
              'cow'=>'milk',
              'php'=>'hypertext processor');

echo http_build_query($data) . "\n";
echo http_build_query($data, '', '&amp;');

?>

El resultado del ejemplo sería:

foo=bar&baz=boom&cow=milk&php=hypertext+processor
foo=bar&amp;baz=boom&amp;cow=milk&amp;php=hypertext+processor

Ejemplo #2 http_build_query() con elementos indexados numéricamente.

<?php
$data = array('foo', 'bar', 'baz', 'boom', 'cow' => 'milk', 'php' =>'hypertext processor');

echo http_build_query($data) . "\n";
echo http_build_query($data, 'myvar_');
?>

El resultado del ejemplo sería:

0=foo&1=bar&2=baz&3=boom&cow=milk&php=hypertext+processor
myvar_0=foo&myvar_1=bar&myvar_2=baz&myvar_3=boom&cow=milk&php=hypertext+processor

Ejemplo #3 con arrays complejos http_build_query()

<?php
$data = array('user'=>array('name'=>'Bob Smith',
                            'age'=>47,
                            'sex'=>'M',
                            'dob'=>'5/12/1956'),
              'pastimes'=>array('golf', 'opera', 'poker', 'rap'),
              'children'=>array('bobby'=>array('age'=>12,
                                               'sex'=>'M'),
                                'sally'=>array('age'=>8,
                                               'sex'=>'F')),
              'CEO');

echo http_build_query($data, 'flags_');
?>

esto generará la salida: (acotada por razones de legibilidad)

user%5Bname%5D=Bob+Smith&user%5Bage%5D=47&user%5Bsex%5D=M&
user%5Bdob%5D=5%2F12%2F1956&pastimes%5B0%5D=golf&pastimes%5B1%5D=opera&
pastimes%5B2%5D=poker&pastimes%5B3%5D=rap&children%5Bbobby%5D%5Bage%5D=12&
children%5Bbobby%5D%5Bsex%5D=M&children%5Bsally%5D%5Bage%5D=8&
children%5Bsally%5D%5Bsex%5D=F&flags_0=CEO

Nota:

Sólo el elemento "CEO" indexado numéricamente el array base recibió un prefijo. Los otros índices numéricos, encontrados bajo los pasatiempos, no requieren un prefijo tipo cadena para ser nombres legales de variables.

Ejemplo #4 Uso de http_build_query() con un objeto

<?php
class parentClass {
    public    $pub      = 'publicParent';
    protected $prot     = 'protectedParent';
    private   $priv     = 'privateParent';
    public    $pub_bar  = Null;
    protected $prot_bar = Null;
    private   $priv_bar = Null;

    public function __construct(){
        $this->pub_bar  = new childClass();
        $this->prot_bar = new childClass();
        $this->priv_bar = new childClass();
    }
}

class childClass {
    public    $pub  = 'publicChild';
    protected $prot = 'protectedChild';
    private   $priv = 'privateChild';
}

$parent = new parentClass();

echo http_build_query($parent);

?>

El resultado del ejemplo sería:

pub=publicParent&pub_bar%5Bpub%5D=publicChild

Ver también

  • parse_str() - Interpreta el string en variables
  • parse_url() - Analiza una URL y devolver sus componentes
  • urlencode() - Codifica como URL una cadena
  • array_walk() - Aplicar una función de usuario a cada miembro de un array

get_meta_tags
parse_url
Funciones de URL


Analiza una URL y devolver sus componentes

http_build_query
rawurldecode
Funciones de URL
PHP Manual

parse_url

(PHP 4, PHP 5)

parse_url — Analiza una URL y devolver sus componentes

Descripción

mixed parse_url ( string $url [, int $component = -1 ] )

Esta función analiza una URL y devuelve un array asociativo que contiene aquellos componentes presentes en la URL.

El propósito de esta función no es validar la URL dada, tan solo la separa en las partes listadas anteriormente. Las URLs parciales son aceptadas también, parse_url() hace lo mejor que puede para procesarlas correctamente.

Parámetros

url

La URL a analizar. Caracteres inválidos son reemplazados por _.

component

Especifique uno de PHP_URL_SCHEME, PHP_URL_HOST, PHP_URL_PORT, PHP_URL_USER, PHP_URL_PASS, PHP_URL_PATH, PHP_URL_QUERY o PHP_URL_FRAGMENT para recibir solo un componente URL específico como un valor tipo string (excepto cuando se da PHP_URL_PORT, en cuyo caso el valor de retorno será un integer).

Valores devueltos

Sobre URLs seriamente malformadas, parse_url() puede devolver FALSE.

Si se omite el parámetro component, un array asociativo es devuelto. Al menos un elemento estará presente en el array. Claves potenciales en este array son:

  • scheme - p.ej. http
  • host
  • port
  • user
  • pass
  • path
  • query - después del signo ?
  • fragment - después del signo #

Si se especifica el parámetro componente, parse_url() devolverá un string (o un integer, para el caso de PHP_URL_PORT) en lugar de un array. Si el componente solicitado no existe en la URL dada, será devuelto NULL.

Historial de cambios

Versión | Descripción
5.4.7 | Arreglado el reconocimiento de host cuando scheme es omitido y está presente un separador de componentes que lo encabeza.
5.3.3 | Eliminado el E_WARNING que era producido cuando fallaba el análisis de la URL.
5.1.2 | ASe agregó el parámetro component.

Ejemplos

Ejemplo #1 Un ejemplo de parse_url()

<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';

print_r(parse_url($url));

echo parse_url($url, PHP_URL_PATH);
?>

El resultado del ejemplo sería:

Array
(
    [scheme] => http
    [host] => hostname
    [user] => username
    [pass] => password
    [path] => /path
    [query] => arg=value
    [fragment] => anchor
)
/path

Ejemplo #2 Un ejemplo de parse_url() con el esquema ausente

<?php
$url = '//www.example.com/path?googleguy=googley';

// Antes de 5.4.7, esto mostraría la ruta como "//www.example.com/path"
var_dump(parse_url($url));
?>

El resultado del ejemplo sería:

array(3) {
  ["host"]=>
  string(15) "www.example.com"
  ["path"]=>
  string(5) "/path"
  ["query"]=>
  string(17) "googleguy=googley"
}

Notas

Nota:

Esta función no trabaja con URLs relativas.

Nota:

Esta función tiene el propósito específico de procesar URLs y no URIs. Sin embargo, para cumplir con los requerimientos de compatibilidad hacia atrás de PHP, hace una excepción para el esquema file:// en donde se permiten tres barras (file:///...). Para cualquier otro esquema, lo anterior es inválido.

Ver también

  • pathinfo() - Devuelve información acerca de la ruta de un fichero
  • parse_str() - Interpreta el string en variables
  • http_build_query() - Generar una cadena de consulta codificada estilo URL
  • http_build_url() - Construir una URL
  • dirname() - Devuelve el directorio padre de la ruta
  • basename() - Devuelve el componente de nombre de rastreo de la ruta
  • » RFC 3986

http_build_query
rawurldecode
Funciones de URL


Decodificar cadenas codificadas estilo URL

parse_url
rawurlencode
Funciones de URL
PHP Manual

rawurldecode

(PHP 4, PHP 5)

rawurldecode — Decodificar cadenas codificadas estilo URL

Descripción

string rawurldecode ( string $str )

Devuelve una cadena en donde las con secuencias con signos de porcentaje (%) seguidos de dos dígitos hexadecimales, son reemplazados con caracteres literales.

Parámetros

str

La URL a ser decodificada.

Valores devueltos

Devuelve la URL decodificada, como una cadena.

Ejemplos

Ejemplo #1 Ejemplo de rawurldecode()

<?php

echo rawurldecode('foo%20bar%40baz'); // foo bar@baz

?>

Notas

Nota:

rawurldecode() no decodifica los símbolos más ('+') como espacios. urldecode() lo hace.

Ver también

  • rawurlencode() - Codificar estilo URL de acuerdo al RFC 3986
  • urldecode() - Decodifica una cadena cifrada como URL
  • urlencode() - Codifica como URL una cadena
  • » RFC 3986

parse_url
rawurlencode
Funciones de URL


Codificar estilo URL de acuerdo al RFC 3986

rawurldecode
urldecode
Funciones de URL
PHP Manual

rawurlencode

(PHP 4, PHP 5)

rawurlencode — Codificar estilo URL de acuerdo al RFC 3986

Descripción

string rawurlencode ( string $str )

Codifica la cadena dada de acuerdo al » RFC 3986.

Parámetros

str

La URL a ser codificada.

Valores devueltos

Devuelve una cadena en donde todos los caracteres no-alfanuméricos, excepto -_.~, son reemplazados con un signo de porcentaje (%) seguido de dos dígitos hexadecimales. Este es el tipo de codificación descrito en el » RFC 3986 para evitar que caracteres literales sean interpretados como delimitadores de URL especiales, y para evitar que las URLs sean modificadas por medios de transmisión con conversiones de caracteres (como algunos sistemas de correo electrónico).

Nota:

Anterior a PHP 5.3.0, rawurlencode codificaba las tildes (~) usando » RFC 1738.

Historial de cambios

Versión | Descripción
5.3.4 | Los caracteres con tilde ya no son condificados al usar rawurlencode() con EBCDIC en cadenas.
5.3.0 | Ahora sigue el » RFC 3986.

Ejemplos

Ejemplo #1 Inclusión de una contraseña en una URL FTP

<?php
echo '<a href="ftp://user:', rawurlencode('foo @+%/'),
     '@ftp.example.com/x.txt">';
?>

El resultado del ejemplo sería:

<a href="ftp://user:foo%20%40%2B%25%2F@ftp.example.com/x.txt">

O, si pasa información en un componente PATH_INFO de la URL:

Ejemplo #2 Ejemplo 2 de rawurlencode()

<?php
echo '<a href="http://example.com/department_list_script/',
    rawurlencode('sales and marketing/Miami'), '">';
?>

El resultado del ejemplo sería:

<a href="http://example.com/department_list_script/sales%20and%20marketing%2FMiami">

Ver también

  • rawurldecode() - Decodificar cadenas codificadas estilo URL
  • urldecode() - Decodifica una cadena cifrada como URL
  • urlencode() - Codifica como URL una cadena
  • » RFC 3986

rawurldecode
urldecode
Funciones de URL


Decodifica una cadena cifrada como URL

rawurlencode
urlencode
Funciones de URL
PHP Manual

urldecode

(PHP 4, PHP 5)

urldecode — Decodifica una cadena cifrada como URL

Descripción

string urldecode ( string $str )

Decodifica cualquier cifrado tipo %## en la cadena dada. Los símbolos ('+') son decodificados como el caracter espacio.

Parámetros

str

La cadena a ser decodificada.

Valores devueltos

Devuelve la cadena decodificada.

Ejemplos

Ejemplo #1 Ejemplo de urldecode()

<?php
$query = "my=apples&are=green+and+red";

foreach (explode('&', $query) as $chunk) {
    $param = explode("=", $chunk);

    if ($param) {
        printf("Value for parameter \"%s\" is \"%s\"<br/>\n", urldecode($param[0]), urldecode($param[1]));
    }
}
?>

Notas

Advertencia

Las superglobales $_GET y $_REQUEST ya están decodificadas. El uso de urldecode() en un elemento en $_GET o $_REQUEST puede tener resultados inesperados y peligrosos resultados.

Ver también

  • urlencode() - Codifica como URL una cadena
  • rawurlencode() - Codificar estilo URL de acuerdo al RFC 3986
  • rawurldecode() - Decodificar cadenas codificadas estilo URL
  • » RFC 3986

rawurlencode
urlencode
Funciones de URL


Codifica como URL una cadena

urldecode
V8js
Funciones de URL
PHP Manual

urlencode

(PHP 4, PHP 5)

urlencode — Codifica como URL una cadena

Descripción

string urlencode ( string $str )

Esta función es conveniente cuando se codifica una cadena a ser usada como la parte de consulta de una URL, como método práctico para pasar variables a la siguiente página.

Parámetros

str

La cadena a ser codificada.

Valores devueltos

Devuelve una cadena en la que todos los caracteres no-alfanuméricos excepto -_. han sido reemplazados con un signo de porcentaje (%) seguido por dos dígitos hexadecimales y los espacios son codificados como signos de suma (+). Esta es la misma codificación usada en los datos publicados desde un formulario WWW, es decir, el mismo mecanismo usado para el tipo de medios application/x-www-form-urlencoded. Este mecanismo difiere de la codificación en el » RFC 3986 (vea rawurlencode()) en que, por razones históricas, los espacios son codificados como signos de suma (+).

Ejemplos

Ejemplo #1 Ejemplo de urlencode()

<?php
echo '<a href="mycgi?foo=', urlencode($userinput), '">';
?>

Ejemplo #2 Ejemplo de urlencode() y ejemplo de htmlentities()

<?php
$query_string = 'foo=' . urlencode($foo) . '&bar=' . urlencode($bar);
echo '<a href="mycgi?' . htmlentities($query_string) . '">';
?>

Notas

Nota:

Tenga cuidado con las variables que puedan coincidir con entidades HTML. Secuencias como &amp, &copy y &pound son procesadas por el navegador y la entidad real es usada en lugar del nombre de variable deseado. Este es un problema obvio sobre el cual el consorcio W3 ha estado alertando a las personas por años. La referencia esta aquí: » http://www.w3.org/TR/html4/appendix/notes.html#h-B.2.2.

PHP soporta la modificación del separador de argumentos al punto-y-coma sugerido por el W3C a través de la directiva .ini arg_separator. Desafortunadamente, la mayoría de agentes de usuario no envían datos de formularios en este formato separado por punto-y-coma. Una forma más portable es usar &amp; en lugar de & como separador. No es necesario modificar el valor arg_separator de PHP para esto. Déjelo como &, y simplemente codifique sus URLs usando htmlentities() o htmlspecialchars().

Ver también

  • urldecode() - Decodifica una cadena cifrada como URL
  • htmlentities() - Convierte todos los caracteres aplicables a entidades HTML
  • rawurlencode() - Codificar estilo URL de acuerdo al RFC 3986
  • rawurldecode() - Decodificar cadenas codificadas estilo URL
  • » RFC 3986

urldecode
V8js
Funciones de URL


Motor de integración V8 Javascript

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Ejemplos
  • V8Js — The V8Js class
    • V8Js::__construct — Construct a new V8Js object
    • V8Js::executeString — Execute a string as Javascript code
    • V8Js::getExtensions — Devolver un array de extensiones registradas
    • V8Js::getPendingException — Return pending uncaught Javascript exception
    • V8Js::registerExtension — Register Javascript extensions for V8Js
  • V8JsException — The V8JsException class
    • V8JsException::getJsFileName — El propósito getJsFileName
    • V8JsException::getJsLineNumber — El propósito getJsLineNumber
    • V8JsException::getJsSourceLine — El propósito getJsSourceLine
    • V8JsException::getJsTrace — El propósito getJsTrace
urlencode
Introducción
Otras extensiones básicas


Introducción

Esta extensión incorpora el » Motor V8 Javascript en PHP.

V8js
Instalación/Configuración
V8js


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
V8js


Requerimientos

PHP 5.3.3+ and V8 library and headers installed in proper paths.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/v8js

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

V8js Opciones de configuración
Nombre | Por defecto | Cambiable | Historial de cambios
v8js.max_disposed_contexts | 25 | PHP_INI_ALL |
v8js.flags |  | PHP_INI_ALL |

He aquí una breve explicación de las directivas de configuración.

v8js.max_disposed_contexts integer

Establece límite para contextos dispuestas antes de forzar V8 que hacer la recolección de basura.

v8js.flags string

Establece V8 opciones de la línea de comandos. La lista de los indicadores disponibles se puede obtener en el modo CLI estableciendo este parámetro en --help. Ejemplo:

$ php -r 'ini_set("v8js.flags", "--help"); new V8Js;' | less

Nota:

Por estas banderas para ser eficaz en tiempo de ejecución de la ini_set () llamada se tiene que hacer antes de que los objetos se instancian V8Js!

Instalación
Tipos de recursos
Instalación/Configuración


Ejemplos

Uso básico

Ejemplo #1 Básica ejecución Javascript

<?php

$v8 = new V8Js();

/* basic.js */
$JS = <<< EOT
len = print('¡Hola' + ' ' + 'Mundo!' + "\\n");
len;
EOT;

try {
  var_dump($v8->executeString($JS, 'basic.js'));
} catch (V8JsException $e) {
  var_dump($e);
}

?>

El resultado del ejemplo sería:

¡Hola Mundo!
int(13)
Tipos de recursos
V8Js
V8js


The V8Js class

(PECL v8js >= 0.1.0)

Introducción

This is the core class for V8Js extension. Each instance created from this class has own context in which all Javascript is compiled and executed.

See V8Js::__construct() for more information.

Sinopsis de la Clase

V8Js {
/* Constants */
const string V8_VERSION ;
const integer FLAG_NONE = 1 ;
const integer FLAG_FORCE_ARRAY = 2 ;
/* Methods */
public __construct ([ string $object_name = "PHP" [, array $variables = array() [, array $extensions = array() [, bool $report_uncaught_exceptions = TRUE ]]]] )
public mixed executeString ( string $script [, string $identifier = "V8Js::executeString()" [, int $flags = V8Js::FLAG_NONE ]] )
public static array getExtensions ( void )
public V8JsException getPendingException ( void )
public static bool registerExtension ( string $extension_name , string $script [, array $dependencies = array() [, bool $auto_enable = FALSE ]] )
}

Constantes predefinidas

V8Js::V8_VERSION

The V8 Javascript Engine version.

V8Js::FLAG_NONE

No flags.

V8Js::FLAG_FORCE_ARRAY

Forces all JS objects to be associative arrays in PHP.

Tabla de contenidos

  • V8Js::__construct — Construct a new V8Js object
  • V8Js::executeString — Execute a string as Javascript code
  • V8Js::getExtensions — Devolver un array de extensiones registradas
  • V8Js::getPendingException — Return pending uncaught Javascript exception
  • V8Js::registerExtension — Register Javascript extensions for V8Js
Ejemplos
V8Js::__construct
V8js


Construct a new V8Js object

V8Js
V8Js::executeString
V8Js
PHP Manual

V8Js::__construct

(PECL v8js >= 0.1.0)

V8Js::__construct — Construct a new V8Js object

Descripción

 public  V8Js::__construct
  ([ string $object_name = "PHP"
 [, array $variables = array()
 [, array $extensions = array()
 [, bool $report_uncaught_exceptions = TRUE
]]]] )

Constructs a new V8Js object.

Parámetros

object_name

The name of the object passed to Javascript.

variables

Map of PHP variables that will be available in Javascript. Must be an associative array in format array("name-for-js" => "name-of-php-variable"). Defaults to empty array.

extensions

List of extensions registered using V8Js::registerExtension() which should be available in the Javascript context of the created V8Js object.

Nota:

Extensions registered to be enabled automatically do not need to be listed in this array. Also if an extension has dependencies, those dependencies can be omitted as well. Defaults to empty array.

report_uncaught_exceptions

Controls whether uncaught Javascript exceptions are reported immediately or not. Defaults to TRUE. If set to FALSE the uncaught exception can be accessed using V8Js::getPendingException().

Valores devueltos

Returns a new V8Js context object.

V8Js
V8Js::executeString
V8Js


Execute a string as Javascript code

V8Js::__construct
V8Js::getExtensions
V8Js
PHP Manual

V8Js::executeString

(PECL v8js >= 0.1.0)

V8Js::executeString — Execute a string as Javascript code

Descripción

public mixed V8Js::executeString ( string $script [, string $identifier = "V8Js::executeString()" [, int $flags = V8Js::FLAG_NONE ]] )

Compiles and executes the string passed with script as Javascript code.

Parámetros

script

The code string to be executed.

identifier

Identifier string for the executed code. Used for debugging.

flags

Execution flags. This value must be one of the V8Js::FLAG_* constants, defaulting to V8Js::FLAG_NONE.

  • V8Js::FLAG_NONE: no flags

  • V8Js::FLAG_FORCE_ARRAY: forces all Javascript objects passed to PHP to be associative arrays

Valores devueltos

Returns the last variable instantiated in the Javascript code converted to matching PHP variable type.

V8Js::__construct
V8Js::getExtensions
V8Js


Devolver un array de extensiones registradas

V8Js::executeString
V8Js::getPendingException
V8Js
PHP Manual

V8Js::getExtensions

(PECL v8js >= 0.1.0)

V8Js::getExtensions — Devolver un array de extensiones registradas

Descripción

public static array V8Js::getExtensions ( void )

Esta función devuelve el array de extensiones Javascript registradas mediante V8Js::registerExtension().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un array de extensiones registradas o un array vacío si no hay ninguna.

V8Js::executeString
V8Js::getPendingException
V8Js


Return pending uncaught Javascript exception

V8Js::getExtensions
V8Js::registerExtension
V8Js
PHP Manual

V8Js::getPendingException

(PECL v8js >= 0.1.0)

V8Js::getPendingException — Return pending uncaught Javascript exception

Descripción

public V8JsException V8Js::getPendingException ( void )

Returns any pending uncaught Javascript exception as V8JsException left from earlier V8Js::executeString() call(s).

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Either V8JsException or NULL.

V8Js::getExtensions
V8Js::registerExtension
V8Js


Register Javascript extensions for V8Js

V8Js::getPendingException
V8JsException
V8Js
PHP Manual

V8Js::registerExtension

(PECL v8js >= 0.1.0)

V8Js::registerExtension — Register Javascript extensions for V8Js

Descripción

public static bool V8Js::registerExtension ( string $extension_name , string $script [, array $dependencies = array() [, bool $auto_enable = FALSE ]] )

Registers passed Javascript script as extension to be used in V8Js contexts.

Parámetros

extension_name

Name of the extension to be registered.

script

The Javascript code to be registered.

dependencies

Array of extension names the extension to be registered depends on. Any such extension is enabled automatically when this extension is loaded.

Nota:

All extensions, including the dependencies, must be registered before any V8Js are created which use them.

auto_enable

If set to TRUE, the extension will be enabled automatically in all V8Js contexts.

Valores devueltos

Returns TRUE if extension was registered successfully, FALSE otherwise.

V8Js::getPendingException
V8JsException
V8Js


The V8JsException class

(PECL v8js >= 0.1.0)

Introducción

Sinopsis de la Clase

V8JsException extends Exception {
/* Propiedades */
protected $JsFileName ;
protected $JsLineNumber ;
protected $JsSourceLine ;
protected $JsTrace ;
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos */
final public string getJsFileName ( void )
final public int getJsLineNumber ( void )
final public int getJsSourceLine ( void )
final public string getJsTrace ( void )
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Propiedades

JsFileName

JsLineNumber

JsSourceLine

JsTrace

Tabla de contenidos

  • V8JsException::getJsFileName — El propósito getJsFileName
  • V8JsException::getJsLineNumber — El propósito getJsLineNumber
  • V8JsException::getJsSourceLine — El propósito getJsSourceLine
  • V8JsException::getJsTrace — El propósito getJsTrace
V8Js::registerExtension
V8JsException::getJsFileName
V8js


El propósito getJsFileName

V8JsException
V8JsException::getJsLineNumber
V8JsException
PHP Manual

V8JsException::getJsFileName

(PECL v8js >= 0.1.0)

V8JsException::getJsFileName — El propósito getJsFileName

Descripción

final public string V8JsException::getJsFileName ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

V8JsException
V8JsException::getJsLineNumber
V8JsException


El propósito getJsLineNumber

V8JsException::getJsFileName
V8JsException::getJsSourceLine
V8JsException
PHP Manual

V8JsException::getJsLineNumber

(PECL v8js >= 0.1.0)

V8JsException::getJsLineNumber — El propósito getJsLineNumber

Descripción

final public int V8JsException::getJsLineNumber ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

V8JsException::getJsFileName
V8JsException::getJsSourceLine
V8JsException


El propósito getJsSourceLine

V8JsException::getJsLineNumber
V8JsException::getJsTrace
V8JsException
PHP Manual

V8JsException::getJsSourceLine

(PECL v8js >= 0.1.0)

V8JsException::getJsSourceLine — El propósito getJsSourceLine

Descripción

final public int V8JsException::getJsSourceLine ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

V8JsException::getJsLineNumber
V8JsException::getJsTrace
V8JsException


El propósito getJsTrace

V8JsException::getJsSourceLine
Yaml
V8JsException
PHP Manual

V8JsException::getJsTrace

(PECL v8js >= 0.1.0)

V8JsException::getJsTrace — El propósito getJsTrace

Descripción

final public string V8JsException::getJsTrace ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

V8JsException::getJsSourceLine
Yaml
V8JsException


Serialización de datos YAML

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • Callbacks
    • Parse callbacks
    • Emit callbacks
  • Funciones de Yaml
    • yaml_emit_file — Enviar la representación YAML de un valor a un fichero
    • yaml_emit — Devuelve la representación de un valor YAML
    • yaml_parse_file — Analiza una secuencia de texto en formato YAML desde un fichero
    • yaml_parse_url — Analiza una secuencia de texto Yaml desde una URL
    • yaml_parse — Analiza una secuencia de texto en formato YAML
V8JsException::getJsTrace
Introducción
Otras extensiones básicas


Introducción

Esta extensión implementa el estándar de serialización de datos » YAML Ain't Markup Language (YAML). El análisis y la creación son manejados por la biblioteca » LibYAML.

Yaml
Instalación/Configuración
Yaml


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Yaml


Requerimientos

Esta extensión requiere la » LibYAML C library versión 0.1.0 o superior instalada.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/yaml.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de Yaml
Nombre | Por defecto | Cambiable | Historial de cambios
yaml.decode_binary | 0 | PHP_INI_ALL |
yaml.decode_timestamp | 0 | PHP_INI_ALL |
yaml.output_canonical | 0 | PHP_INI_ALL |
yaml.output_indent | 2 | PHP_INI_ALL |
yaml.output_width | 80 | PHP_INI_ALL |

He aquí una breve explicación de las directivas de configuración.

yaml.decode_binary boolean

Off por omisión, pero puede estar activado el uso de entidades base64 codificadas binariamente que tenga explicitamente el tag "tag:yaml.org,2002:binary" para ser decodificado.

yaml.decode_timestamp integer

Controla la decodificación tanto implicita y explicita escalar de "tag:yaml.org,2002:timestamp" en documentos YAML. El valor determinado es 0 que no se aplica a ningunca decodificación. Un ajuste de 1 a usar strtotime() para analizar el valor de un Unix timestamp. Un ajuste de 2 debe usar date_create() para analizar el valor del objeto DateTime.

yaml.output_canonical boolean

Off por omisión, pero puede estar activado de manera convencional desde su salida.

yaml.output_indent integer

Números de espacios para la identación. El valor debe comprender entre 1 y 10.

yaml.output_width integer

Establece el ancho de línea de preferencia. -1 significa sin límite.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Un estilo de entidad escalar es usado los métodos callback de yaml_parse()
YAML_ANY_SCALAR_STYLE (integer)
YAML_PLAIN_SCALAR_STYLE (integer)
YAML_SINGLE_QUOTED_SCALAR_STYLE (integer)
YAML_DOUBLE_QUOTED_SCALAR_STYLE (integer)
YAML_LITERAL_SCALAR_STYLE (integer)
YAML_FOLDED_SCALAR_STYLE (integer)
Etiquetas comunes usadas por yaml_parse() - callback methods.
YAML_NULL_TAG (string)
"tag:yaml.org,2002:null"
YAML_BOOL_TAG (string)
"tag:yaml.org,2002:bool"
YAML_STR_TAG (string)
"tag:yaml.org,2002:str"
YAML_INT_TAG (string)
"tag:yaml.org,2002:int"
YAML_FLOAT_TAG (string)
"tag:yaml.org,2002:float"
YAML_TIMESTAMP_TAG (string)
"tag:yaml.org,2002:timestamp"
YAML_SEQ_TAG (string)
"tag:yaml.org,2002:seq"
YAML_MAP_TAG (string)
"tag:yaml.org,2002:map"
YAML_PHP_TAG (string)
"!php/object"
Encoding types for yaml_emit()
YAML_ANY_ENCODING (integer)
Deje que el emisor seleccione una codificación.
YAML_UTF8_ENCODING (integer)
Codifica a UTF8.
YAML_UTF16LE_ENCODING (integer)
Codifica a UTF16LE.
YAML_UTF16BE_ENCODING (integer)
Codifica a UTF16BE.
Linebreak types for yaml_emit()
YAML_ANY_BREAK (integer)
Seleccionaremos un carácter para el salto de línea.
YAML_CR_BREAK (integer)
Uso \r como carácter de salto (al estilo de Mac).
YAML_LN_BREAK (integer)
Uso \n como carácter de salto de línea (al estilo Unix).
YAML_CRLN_BREAK (integer)
Uso \r\n como cáracter de salto (al estilo DOS).
Tipos de recursos
Ejemplos
Yaml


Ejemplos

Ejemplo #1 Yaml Example

<?php
$addr = array(
    "given" => "Chris",
    "family"=> "Dumars",
    "address"=> array(
        "lines"=> "458 Walkman Dr.
        Suite #292",
        "city"=> "Royal Oak",
        "state"=> "MI",
        "postal"=> 48046,
      ),
  );
$invoice = array (
    "invoice"=> 34843,
    "date"=> "2001-01-23",
    "bill-to"=> $addr,
    "ship-to"=> $addr,
    "product"=> array(
        array(
            "sku"=> "BL394D",
            "quantity"=> 4,
            "description"=> "Basketball",
            "price"=> 450,
          ),
        array(
            "sku"=> "BL4438H",
            "quantity"=> 1,
            "description"=> "Super Hoop",
            "price"=> 2392,
          ),
      ),
    "tax"=> 251.42,
    "total"=> 4443.52,
    "comments"=> "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.",
    );

// genera un representación de la factura en YAML
$yaml = yaml_emit($invoice);
var_dump($yaml);

// convierte lo anterior en YAML a una variable PHP
$parsed = yaml_parse($yaml);

// verifica que la comprobación de ida y vuelta a una extructura equivalente
var_dump($parsed == $invoice);
?>

El resultado del ejemplo sería algo similar a:

string(631) "---
invoice: 34843
date: "2001-01-23"
bill-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
ship-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
product:
- sku: BL394D
  quantity: 4
  description: Basketball
  price: 450
- sku: BL4438H
  quantity: 1
  description: Super Hoop
  price: 2392
tax: 251.420000
total: 4443.520000
comments: Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.
...
"
bool(true)
Constantes predefinidas
Callbacks
Yaml


Callbacks

Tabla de contenidos

  • Parse callbacks
  • Emit callbacks
Ejemplos
Parse callbacks
Yaml


Parse callbacks

Parse callbacks are invoked by yaml_parse(), yaml_parse_file() or yaml_parse_url() functions when a registered YAML tag is encountered. The callback is passed the tagged entity's value, the tag, and flags indicating the scalar entity style. The callback must return the data that the YAML parser should emit for this entity.

Ejemplo #1 Parse callback example

<?php
/**
 * Parsing callback for yaml tag.
 * @param mixed $value Data from yaml file
 * @param string $tag Tag that triggered callback
 * @param int $flags Scalar entity style (see YAML_*_SCALAR_STYLE)
 * @return mixed Value that YAML parser should emit for the given value
 */
function tag_callback ($value, $tag, $flags) {
  var_dump(func_get_args()); // debugging
  return "Hello {$value}";
}

$yaml = <<<YAML
greeting: !example/hello World
YAML;

$result = yaml_parse($yaml, 0, $ndocs, array(
    '!example/hello' => 'tag_callback',
  ));

var_dump($result);
?>

El resultado del ejemplo sería algo similar a:

array(3) {
  [0]=>
  string(5) "World"
  [1]=>
  string(14) "!example/hello"
  [2]=>
  int(1)
}
array(1) {
  ["greeting"]=>
  string(11) "Hello World"
}
Callbacks
Emit callbacks
Callbacks


Emit callbacks

Emit callbacks are invoked when an instance of a registered class is emitted by yaml_emit() or yaml_emit_file(). The callback is passed the object to be emitted. The callback must return an array having two keys: "tag" and "data". The value associated with the "tag" key must be a string to be used as the YAML tag in the output. The value associated with the "data" key will be encoded as YAML and emitted in place of the intercepted object.

Ejemplo #1 Emit callback example

<?php
class EmitExample {
  public $data;    // data may be in any pecl/yaml suitable type

  public function __construct ($d) {
    $this->data = $d;
  }

  /**
   * Yaml emit callback function, referred on yaml_emit call by class name.
   *
   * Expected to return an array with 2 values:
   *   - 'tag': custom tag for this serialization
   *   - 'data': value to convert to yaml (array, string, bool, number)
   *
   * @param object $obj Object to be emitted
   * @return array Tag and surrogate data to emit
   */
  public static function yamlEmit (EmitExample $obj) {
    return array(
      'tag' => '!example/emit',
      'data' => $obj->data,
    );
  }
}

$emit_callbacks = array(
  'EmitExample' => array('EmitExample', 'yamlEmit')
);

$t = new EmitExample(array('a','b','c'));
$yaml = yaml_emit(
  array(
    'example' => $t,
  ),
  YAML_ANY_ENCODING,
  YAML_ANY_BREAK,
  $emit_callbacks
);
var_dump($yaml);
?>

El resultado del ejemplo sería algo similar a:

string(43) "---
example: !example/emit
- a
- b
- c
...
"
Parse callbacks
Funciones de Yaml
Callbacks


Funciones de Yaml

Tabla de contenidos

  • yaml_emit_file — Enviar la representación YAML de un valor a un fichero
  • yaml_emit — Devuelve la representación de un valor YAML
  • yaml_parse_file — Analiza una secuencia de texto en formato YAML desde un fichero
  • yaml_parse_url — Analiza una secuencia de texto Yaml desde una URL
  • yaml_parse — Analiza una secuencia de texto en formato YAML
Emit callbacks
yaml_emit_file
Yaml


Enviar la representación YAML de un valor a un fichero

Funciones de Yaml
yaml_emit
Funciones de Yaml
PHP Manual

yaml_emit_file

(PECL yaml >= 0.5.0)

yaml_emit_file — Enviar la representación YAML de un valor a un fichero

Descripción

bool yaml_emit_file ( string $filename , mixed $data [, int $encoding = YAML_ANY_ENCODING [, int $linebreak = YAML_ANY_BREAK [, array $callbacks ]]] )

Genera una representación YAML de data proporcionada en el filename.

Parámetros

filename

Ruta a el fichero.

data

La data se codifica. Puede ser de cualquier tipo excepto un resource.

encoding

Salida de codificación de carácteres seleccionando entre YAML_ANY_ENCODING, YAML_UTF8_ENCODING, YAML_UTF16LE_ENCODING, YAML_UTF16BE_ENCODING.

linebreak

Salida del estilo de salto de línea seleccionando entre YAML_ANY_BREAK, YAML_CR_BREAK, YAML_LN_BREAK, YAML_CRLN_BREAK.

callbacks

Manejadores de contenido para emitir nodos YAML. array asociativo de nombre de clase de asignaciones => callable. Véase emit callbacks para más detalles.

Valores devueltos

Devuelve TRUE en caso de éxito.

Historial de cambios

Versión | Descripción
1.1.0 | El parámetro callbacks fue añadido.

Ver también

  • yaml_emit() - Devuelve la representación de un valor YAML
  • yaml_parse() - Analiza una secuencia de texto en formato YAML

Funciones de Yaml
yaml_emit
Funciones de Yaml


Devuelve la representación de un valor YAML

yaml_emit_file
yaml_parse_file
Funciones de Yaml
PHP Manual

yaml_emit

(PECL yaml >= 0.5.0)

yaml_emit — Devuelve la representación de un valor YAML

Descripción

string yaml_emit ( mixed $data [, int $encoding = YAML_ANY_ENCODING [, int $linebreak = YAML_ANY_BREAK [, array $callbacks ]]] )

Genera una representación YAML de los datos en data proporcionados.

Parámetros

data

La data se codifica. Puede ser de cualquier tipo excepto un resource.

encoding

Salida de codificación de caracteres elegidos desde YAML_ANY_ENCODING, YAML_UTF8_ENCODING, YAML_UTF16LE_ENCODING, YAML_UTF16BE_ENCODING.

linebreak

Estilo de salida de línea de salto desde: YAML_ANY_BREAK, YAML_CR_BREAK, YAML_LN_BREAK, YAML_CRLN_BREAK.

callbacks

Gestores de contenido para emitir nodos YAML. array asociativo de referenciaciones de nombres de clase => callable. Véase emitir llamadas de retorno para más detalles.

Valores devueltos

Devuelve un string de YAML codificado si es correcto.

Historial de cambios

Versión | Descripción
1.1.0 | Se añadió el parámetro callbacks.

Ejemplos

Ejemplo #1 Ejemplo de yaml_emit()

<?php
$addr = array(
    "given" => "Chris",
    "family"=> "Dumars",
    "address"=> array(
        "lines"=> "458 Walkman Dr.
        Suite #292",
        "city"=> "Royal Oak",
        "state"=> "MI",
        "postal"=> 48046,
      ),
  );
$invoice = array (
    "invoice"=> 34843,
    "date"=> 980208000,
    "bill-to"=> $addr,
    "ship-to"=> $addr,
    "product"=> array(
        array(
            "sku"=> "BL394D",
            "quantity"=> 4,
            "description"=> "Basketball",
            "price"=> 450,
          ),
        array(
            "sku"=> "BL4438H",
            "quantity"=> 1,
            "description"=> "Super Hoop",
            "price"=> 2392,
          ),
      ),
    "tax"=> 251.42,
    "total"=> 4443.52,
    "comments"=> "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.",
  );
var_dump(yaml_emit($invoice));
?>

El resultado del ejemplo sería algo similar a:

string(628) "---
invoice: 34843
date: 980208000
bill-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
ship-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
product:
- sku: BL394D
  quantity: 4
  description: Basketball
  price: 450
- sku: BL4438H
  quantity: 1
  description: Super Hoop
  price: 2392
tax: 251.420000
total: 4443.520000
comments: Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.
...
"

Ver también

  • yaml_emit_file() - Enviar la representación YAML de un valor a un fichero
  • yaml_parse() - Analiza una secuencia de texto en formato YAML

yaml_emit_file
yaml_parse_file
Funciones de Yaml


Analiza una secuencia de texto en formato YAML desde un fichero

yaml_emit
yaml_parse_url
Funciones de Yaml
PHP Manual

yaml_parse_file

(PECL yaml >= 0.4.0)

yaml_parse_file — Analiza una secuencia de texto en formato YAML desde un fichero

Descripción

mixed yaml_parse_file ( string $filename [, int $pos = 0 [, int &$ndocs [, array $callbacks ]]] )

Convierte toda o parte de una secuencia de texto en YAML a una variable en PHP.

Parámetros

filename

Ruta del nombre del fichero.

pos

Documento YAML a extraer desde la secuencia de texto (-1 para analizar todos los documentos, 0 solo para el primer documento, etc).

ndocs

Si se facilita ndocs, se completará con el número de documentos encontrados en la secuencia de texto.

callbacks

Controlador de contenido para los nodos YAML. Es un array associativo de etiquetas YAML => asociando sus callback correspondientes. Ver Analizar callbacks para más información.

Valores devueltos

Devuelve el valor codificado de input en el formato apropiado de PHP o FALSE en caso de error. Si el valor de pos es -1 devolverá un array con una entrada por cada documento encontrado en el texto.

Ver también

  • yaml_parse() - Analiza una secuencia de texto en formato YAML
  • yaml_parse_url() - Analiza una secuencia de texto Yaml desde una URL
  • yaml_emit() - Devuelve la representación de un valor YAML

yaml_emit
yaml_parse_url
Funciones de Yaml


Analiza una secuencia de texto Yaml desde una URL

yaml_parse_file
yaml_parse
Funciones de Yaml
PHP Manual

yaml_parse_url

(PECL yaml >= 0.4.0)

yaml_parse_url — Analiza una secuencia de texto Yaml desde una URL

Descripción

mixed yaml_parse_url ( string $url [, int $pos = 0 [, int &$ndocs [, array $callbacks ]]] )

Convierte toda o parte de una secuencia de texto en YAML a una variable en PHP.

Parámetros

url

La dirección url debe tener el formato "scheme://...". PHP buscará el controlador de protocolos (también conocido como wrapper) para el esquema especificado. Si no hay wrappers registrados para este protocolo, PHP lanzará un aviso para ayudar a indentificar posibles problemas con el script y continuar como si el nombre del fichero hiciera referencia a un fichero normal.

pos

Documento YAML a extraer desde la secuencia de texto (-1 para analizar todos los documentos, 0 solo para el primer documento, etc).

ndocs

Si se facilita ndocs, se completará con el número de documentos encontrados en la secuencia de texto.

callbacks

Controlador de contenido para los nodos YAML. Es un array associativo de etiquetas YAML => asociando sus callback correspondientes. Ver Analizar callbacks para más información

Valores devueltos

Devuelve el valor codificado de input en el formato apropiado de PHP o FALSE en caso de error. Si el valor de pos es -1 devolverá un array con una entrada por cada documento encontrado en el texto.

Ver también

  • yaml_parse() - Analiza una secuencia de texto en formato YAML
  • yaml_parse_file() - Analiza una secuencia de texto en formato YAML desde un fichero
  • yaml_emit() - Devuelve la representación de un valor YAML

yaml_parse_file
yaml_parse
Funciones de Yaml


Analiza una secuencia de texto en formato YAML

yaml_parse_url
Yaf
Funciones de Yaml
PHP Manual

yaml_parse

(PECL yaml >= 0.4.0)

yaml_parse — Analiza una secuencia de texto en formato YAML

Descripción

mixed yaml_parse ( string $input [, int $pos = 0 [, int &$ndocs [, array $callbacks ]]] )

Convierte toda o parte de una secuencia de texto en YAML a una variable en PHP.

Parámetros

input

La secuencia de texto (string) a analizar en formato YAML.

pos

Documento YAML a extraer desde la secuencia de texto (-1 para analizar todos los documentos, 0 solo para el primer documento, etc).

ndocs

Si se facilita ndocs, se completará con el número de documentos encontrados en la secuencia de texto.

callbacks

Controlador de contenido para los nodos YAML. Es un array associativo de etiquetas YAML => asociando sus callback correspondientes. Ver Analizar callbacks para más información.

Valores devueltos

Devuelve el valor codificado de input en el formato apropiado de PHP o FALSE en caso de error. Si el valor de pos es -1 devolverá un array con una entrada por cada documento encontrado en el texto.

Ejemplos

Ejemplo #1 Ejemplo de yaml_parse()

<?php
$yaml = <<<EOD
---
invoice: 34843
date: "2001-01-23"
bill-to: &id001
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
ship-to: *id001
product:
- sku: BL394D
  quantity: 4
  description: Basketball
  price: 450
- sku: BL4438H
  quantity: 1
  description: Super Hoop
  price: 2392
tax: 251.420000
total: 4443.520000
comments: Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.
...
EOD;

$parsed = yaml_parse($yaml);
var_dump($parsed);
?>

El resultado del ejemplo sería algo similar a:

array(8) {
  ["invoice"]=>
  int(34843)
  ["date"]=>
  string(10) "2001-01-23"
  ["bill-to"]=>
  &array(3) {
    ["given"]=>
    string(5) "Chris"
    ["family"]=>
    string(6) "Dumars"
    ["address"]=>
    array(4) {
      ["lines"]=>
      string(34) "458 Walkman Dr.
        Suite #292"
      ["city"]=>
      string(9) "Royal Oak"
      ["state"]=>
      string(2) "MI"
      ["postal"]=>
      int(48046)
    }
  }
  ["ship-to"]=>
  &array(3) {
    ["given"]=>
    string(5) "Chris"
    ["family"]=>
    string(6) "Dumars"
    ["address"]=>
    array(4) {
      ["lines"]=>
      string(34) "458 Walkman Dr.
        Suite #292"
      ["city"]=>
      string(9) "Royal Oak"
      ["state"]=>
      string(2) "MI"
      ["postal"]=>
      int(48046)
    }
  }
  ["product"]=>
  array(2) {
    [0]=>
    array(4) {
      ["sku"]=>
      string(6) "BL394D"
      ["quantity"]=>
      int(4)
      ["description"]=>
      string(10) "Basketball"
      ["price"]=>
      int(450)
    }
    [1]=>
    array(4) {
      ["sku"]=>
      string(7) "BL4438H"
      ["quantity"]=>
      int(1)
      ["description"]=>
      string(10) "Super Hoop"
      ["price"]=>
      int(2392)
    }
  }
  ["tax"]=>
  float(251.42)
  ["total"]=>
  float(4443.52)
  ["comments"]=>
  string(68) "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338."
}

Ver también

  • yaml_parse_file() - Analiza una secuencia de texto en formato YAML desde un fichero
  • yaml_parse_url() - Analiza una secuencia de texto Yaml desde una URL
  • yaml_emit() - Devuelve la representación de un valor YAML

yaml_parse_url
Yaf
Funciones de Yaml


Yet Another Framework

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • Configuración de la Aplicación
  • Yaf_Application — La clase Yaf_Application
    • Yaf_Application::app — Recuperar una instancia de la clase Application
    • Yaf_Application::bootstrap — Llamar al arranque
    • Yaf_Application::clearLastError — Limpiar la información del último error
    • Yaf_Application::__clone — Un objeto de la clase Yaf_Application no puede ser clonado
    • Yaf_Application::__construct — El constructor de la clase Yaf_Application
    • Yaf_Application::__destruct — El propósito de __destruct
    • Yaf_Application::environ — Recuperar el entorno
    • Yaf_Application::execute — Ejecutar una llamada de retorno
    • Yaf_Application::getAppDirectory — Obtener el directorio de la aplicación
    • Yaf_Application::getConfig — Recuperar la instancia de configuración
    • Yaf_Application::getDispatcher — Obtener la instancia de la clase Yaf_Dispatcher
    • Yaf_Application::getLastErrorMsg — Obtener el mensaje del último error ocurrido
    • Yaf_Application::getLastErrorNo — Pbetner el código del último error ocurrido
    • Yaf_Application::getModules — Obtener los nombres de los modulos definidos
    • Yaf_Application::run — Iniciar una instancia de la clase Yaf_Application
    • Yaf_Application::setAppDirectory — Cambiar el directorio de la aplicación
    • Yaf_Application::__sleep — Una instancia de la clase Yaf_Application no puede ser serializada
    • Yaf_Application::__wakeup — Una instancia de la clase Yaf_Application no puede ser deserializada
  • Yaf_Bootstrap_Abstract — La clase Yaf_Bootstrap_Abstract
  • Yaf_Dispatcher — La clase Yaf_Dispatcher
    • Yaf_Dispatcher::autoRender — Activa/desactiva la autointerpretación
    • Yaf_Dispatcher::catchException — Activar/desactivar la captura de excepciones
    • Yaf_Dispatcher::__clone — Una instancia de la clase Yaf_Dispatcher no se puede clonar
    • Yaf_Dispatcher::__construct — Constructor de la clase Yaf_Dispatcher
    • Yaf_Dispatcher::disableView — Deshabilita la interpretación de vistas
    • Yaf_Dispatcher::dispatch — Despachar una petición
    • Yaf_Dispatcher::enableView — Habilita la interpretación de vistas
    • Yaf_Dispatcher::flushInstantly — Activa/desactiva el vaciado instantáneo
    • Yaf_Dispatcher::getApplication — Recupera la aplicación
    • Yaf_Dispatcher::getInstance — Recupeara la instancia despachadora
    • Yaf_Dispatcher::getRequest — Recupera la instancia de petición
    • Yaf_Dispatcher::getRouter — Recuperar la instancia de envío
    • Yaf_Dispatcher::initView — Inicializa una vista y la devuelve
    • Yaf_Dispatcher::registerPlugin — Registra un complemento
    • Yaf_Dispatcher::returnResponse — El propósito de returnResponse
    • Yaf_Dispatcher::setDefaultAction — Cambia el nombre de la acción predeterminada
    • Yaf_Dispatcher::setDefaultController — Cambia el nombre del controlador predeterminado
    • Yaf_Dispatcher::setDefaultModule — Cambia el nombre del módulo predeterminado
    • Yaf_Dispatcher::setErrorHandler — Establece el gestor de errores
    • Yaf_Dispatcher::setRequest — El propósito de setRequest
    • Yaf_Dispatcher::setView — Establecer un motor de vistas personalizado
    • Yaf_Dispatcher::__sleep — Una instancia de la clase Yaf_Dispatcher no puede ser serializada
    • Yaf_Dispatcher::throwException — Activa/desactiva el lanzamiento de excepciones
    • Yaf_Dispatcher::__wakeup — Una instancia de la clase Yaf_Dispatcher no puede ser desserializada
  • Yaf_Config_Abstract — La clase Yaf_Config_Abstract
    • Yaf_Config_Abstract::get — Consultor
    • Yaf_Config_Abstract::readonly — Buscar si una configuración es de sólo lectura
    • Yaf_Config_Abstract::set — Modificador
    • Yaf_Config_Abstract::toArray — Convertir en un array
  • Yaf_Config_Ini — La clase Yaf_Config_Ini
    • Yaf_Config_Ini::__construct — Constructor de Yaf_Config_Ini
    • Yaf_Config_Ini::count — El propósito de count
    • Yaf_Config_Ini::current — El propósito de current
    • Yaf_Config_Ini::__get — El propósito de __get
    • Yaf_Config_Ini::__isset — El propósito de __isset
    • Yaf_Config_Ini::key — El propósito de key
    • Yaf_Config_Ini::next — El propósito de next
    • Yaf_Config_Ini::offsetExists — El propósito de offsetExists
    • Yaf_Config_Ini::offsetGet — El propósito de offsetGet
    • Yaf_Config_Ini::offsetSet — El propósito de offsetSet
    • Yaf_Config_Ini::offsetUnset — El propósito de offsetUnset
    • Yaf_Config_Ini::readonly — El propósito de readonly
    • Yaf_Config_Ini::rewind — El propósito de rewind
    • Yaf_Config_Ini::__set — El propósito de __set
    • Yaf_Config_Ini::toArray — Devuelve un array de PHP
    • Yaf_Config_Ini::valid — El propósito de valid
  • Yaf_Config_Simple — LA clase Yaf_Config_Simple
    • Yaf_Config_Simple::__construct — El propósito de __construct
    • Yaf_Config_Simple::count — El propósito de count
    • Yaf_Config_Simple::current — El propósito de current
    • Yaf_Config_Simple::__get — El propósito de __get
    • Yaf_Config_Simple::__isset — El propósito de __isset
    • Yaf_Config_Simple::key — El propósito de key
    • Yaf_Config_Simple::next — El propósito de next
    • Yaf_Config_Simple::offsetExists — El propósito de offsetExists
    • Yaf_Config_Simple::offsetGet — El propósito de offsetGet
    • Yaf_Config_Simple::offsetSet — El propósito de offsetSet
    • Yaf_Config_Simple::offsetUnset — El propósito de offsetUnset
    • Yaf_Config_Simple::readonly — El propósito de readonly
    • Yaf_Config_Simple::rewind — El propósito de rewind
    • Yaf_Config_Simple::__set — El propósito de __set
    • Yaf_Config_Simple::toArray — Devuelve un array de PHP
    • Yaf_Config_Simple::valid — El propósito de valid
  • Yaf_Controller_Abstract — La clase Yaf_Controller_Abstract
    • Yaf_Controller_Abstract::__clone — Una instancia de la clase Yaf_Controller_Abstract no puede ser clonada
    • Yaf_Controller_Abstract::__construct — Constructor de Yaf_Controller_Abstract
    • Yaf_Controller_Abstract::display — El propósito de display
    • Yaf_Controller_Abstract::forward — Avanza a la siguiente acción
    • Yaf_Controller_Abstract::getInvokeArg — El propósito de getInvokeArg
    • Yaf_Controller_Abstract::getInvokeArgs — El propósito de getInvokeArgs
    • Yaf_Controller_Abstract::getModuleName — Obtiene el nombre del módulo
    • Yaf_Controller_Abstract::getRequest — Recupera el objeto petición actual
    • Yaf_Controller_Abstract::getResponse — Recupera el objeto respuesta actual
    • Yaf_Controller_Abstract::getView — Recupera el motor de vistas
    • Yaf_Controller_Abstract::getViewpath — El propósito de getViewpath
    • Yaf_Controller_Abstract::init — Inicializador del controlador
    • Yaf_Controller_Abstract::initView — El propósito de initView
    • Yaf_Controller_Abstract::redirect — Redirige a un URL
    • Yaf_Controller_Abstract::render — Interpreta una plantilla de vista
    • Yaf_Controller_Abstract::setViewpath — El propósito de setViewpath
  • Yaf_Action_Abstract — La clase Yaf_Action_Abstract
    • Yaf_Action_Abstract::execute — Punto de entrada de una acción
    • Yaf_Action_Abstract::getController — Recupera el objeto controlador
  • Yaf_View_Interface — La clase Yaf_View_Interface
    • Yaf_View_Interface::assign — Asignar valores al motor de Vistas
    • Yaf_View_Interface::display — Interpretar e imprimir una plantilla
    • Yaf_View_Interface::getScriptPath — El propósito de getScriptPath
    • Yaf_View_Interface::render — Interpretar una plantilla
    • Yaf_View_Interface::setScriptPath — El propósito de setScriptPath
  • Yaf_View_Simple — La clase Yaf_View_Simple
    • Yaf_View_Simple::assign — Asignar valores
    • Yaf_View_Simple::assignRef — El propósito de assignRef
    • Yaf_View_Simple::clear — Limpiar valores asignados
    • Yaf_View_Simple::__construct — El constructor de Yaf_View_Simple
    • Yaf_View_Simple::display — Interpretar y mostrar
    • Yaf_View_Simple::eval — Interpreta una plantilla
    • Yaf_View_Simple::__get — Recupera una variable asignada
    • Yaf_View_Simple::getScriptPath — Obtiene el directorio de plantillas
    • Yaf_View_Simple::__isset — El propósito de __isset
    • Yaf_View_Simple::render — Interpreta una plantilla
    • Yaf_View_Simple::__set — Establece el valor para el motor
    • Yaf_View_Simple::setScriptPath — Establece el directorio de plantillas
  • Yaf_Loader — La clase Yaf_Loader
    • Yaf_Loader::autoload — El propósito de autoload
    • Yaf_Loader::clearLocalNamespace — El propósito de clearLocalNamespace
    • Yaf_Loader::__clone — El propósito de __clone
    • Yaf_Loader::__construct — El propósito de __construct
    • Yaf_Loader::getInstance — El propósito de getInstance
    • Yaf_Loader::getLibraryPath — El propósito de getLibraryPath
    • Yaf_Loader::getLocalNamespace — El propósito de getLocalNamespace
    • Yaf_Loader::import — El propósito de import
    • Yaf_Loader::isLocalName — El propósito de isLocalName
    • Yaf_Loader::registerLocalNamespace — Registra un prefijo de clase local
    • Yaf_Loader::setLibraryPath — Cmabiar la ruta de la biblioteca
    • Yaf_Loader::__sleep — El propósito de __sleep
    • Yaf_Loader::__wakeup — El propósito de __wakeup
  • Yaf_Plugin_Abstract — La clase Yaf_Plugin_Abstract
    • Yaf_Plugin_Abstract::dispatchLoopShutdown — El propósito de dispatchLoopShutdown
    • Yaf_Plugin_Abstract::dispatchLoopStartup — El propósito de dispatchLoopStartup
    • Yaf_Plugin_Abstract::postDispatch — El propósito de postDispatch
    • Yaf_Plugin_Abstract::preDispatch — El propósito de preDispatch
    • Yaf_Plugin_Abstract::preResponse — El propósito de preResponse
    • Yaf_Plugin_Abstract::routerShutdown — El propósito de routerShutdown
    • Yaf_Plugin_Abstract::routerStartup — Enganche deEl propósito de routerStartup
  • Yaf_Registry — La clase Yaf_Registry
    • Yaf_Registry::__clone — El propósito de __clone
    • Yaf_Registry::__construct — Yaf_Registry implementa singleton
    • Yaf_Registry::del — Elimina un elemento del registro
    • Yaf_Registry::get — Recupera un elemento del registro
    • Yaf_Registry::has — Comprueba si existe un elemento
    • Yaf_Registry::set — Añade un elemento al registro
  • Yaf_Request_Abstract — La clase Yaf_Request_Abstract
    • Yaf_Request_Abstract::getActionName — El propósito de getActionName
    • Yaf_Request_Abstract::getBaseUri — El propósito de getBaseUri
    • Yaf_Request_Abstract::getControllerName — El propósito de getControllerName
    • Yaf_Request_Abstract::getEnv — Recupera la variable ENV
    • Yaf_Request_Abstract::getException — El propósito de getException
    • Yaf_Request_Abstract::getLanguage — El propósito de getLanguage
    • Yaf_Request_Abstract::getMethod — El propósito de getMethod
    • Yaf_Request_Abstract::getModuleName — El propósito de getModuleName
    • Yaf_Request_Abstract::getParam — El propósito de getParam
    • Yaf_Request_Abstract::getParams — El propósito de getParams
    • Yaf_Request_Abstract::getRequestUri — El propósito de getRequestUri
    • Yaf_Request_Abstract::getServer — Recupera la variable SERVER
    • Yaf_Request_Abstract::isCli — El propósito de isCli
    • Yaf_Request_Abstract::isDispatched — El propósito de isDispatched
    • Yaf_Request_Abstract::isGet — El propósito de isGet
    • Yaf_Request_Abstract::isHead — El propósito de isHead
    • Yaf_Request_Abstract::isOptions — El propósito de isOptions
    • Yaf_Request_Abstract::isPost — El propósito de isPost
    • Yaf_Request_Abstract::isPut — El propósito de isPut
    • Yaf_Request_Abstract::isRouted — El propósito de isRouted
    • Yaf_Request_Abstract::isXmlHttpRequest — El propósito de isXmlHttpRequest
    • Yaf_Request_Abstract::setActionName — El propósito de setActionName
    • Yaf_Request_Abstract::setBaseUri — Establecer el URI base
    • Yaf_Request_Abstract::setControllerName — El propósito de setControllerName
    • Yaf_Request_Abstract::setDispatched — El propósito de setDispatched
    • Yaf_Request_Abstract::setModuleName — El propósito de setModuleName
    • Yaf_Request_Abstract::setParam — El propósito de setParam
    • Yaf_Request_Abstract::setRequestUri — El propósito de setRequestUri
    • Yaf_Request_Abstract::setRouted — El propósito de setRouted
  • Yaf_Request_Http — La clase Yaf_Request_Http
    • Yaf_Request_Http::__clone — El propósito de __clone
    • Yaf_Request_Http::__construct — El propósito de __construct
    • Yaf_Request_Http::get — Recupera una variable del cliente
    • Yaf_Request_Http::getCookie — Recupera una varible de Cookie
    • Yaf_Request_Http::getFiles — El propósito de getFiles
    • Yaf_Request_Http::getPost — Recupera una variable de POST
    • Yaf_Request_Http::getQuery — Obtiene un parámetro de una consulta
    • Yaf_Request_Http::getRequest — El propósito de getRequest
    • Yaf_Request_Http::isXmlHttpRequest — Comprueba si una consulta es de Ajax
  • Yaf_Request_Simple — La clase Yaf_Request_Simple
    • Yaf_Request_Simple::__clone — El propósito de __clone
    • Yaf_Request_Simple::__construct — El propósito de __construct
    • Yaf_Request_Simple::get — El propósito de get
    • Yaf_Request_Simple::getCookie — El propósito de getCookie
    • Yaf_Request_Simple::getFiles — El propósito de getFiles
    • Yaf_Request_Simple::getPost — El propósito de getPost
    • Yaf_Request_Simple::getQuery — El propósito de getQuery
    • Yaf_Request_Simple::getRequest — El propósito de getRequest
    • Yaf_Request_Simple::isXmlHttpRequest — El propósito de isXmlHttpRequest
  • Yaf_Response_Abstract — La clase Yaf_Response_Abstract
    • Yaf_Response_Abstract::appendBody — Añadir contenido al cuerpo
    • Yaf_Response_Abstract::clearBody — El propósito de clearBody
    • Yaf_Response_Abstract::clearHeaders — El propósito de clearHeaders
    • Yaf_Response_Abstract::__clone — El propósito de __clone
    • Yaf_Response_Abstract::__construct — El propósito de __construct
    • Yaf_Response_Abstract::__destruct — El propósito de __destruct
    • Yaf_Response_Abstract::getBody — Recupera un contenido existente
    • Yaf_Response_Abstract::getHeader — El propósito de getHeader
    • Yaf_Response_Abstract::prependBody — El propósito de prependBody
    • Yaf_Response_Abstract::response — Envía una respuesta
    • Yaf_Response_Abstract::setAllHeaders — El propósito de setAllHeaders
    • Yaf_Response_Abstract::setBody — Establece el contenido de una respuesta
    • Yaf_Response_Abstract::setHeader — El propósito de setHeader
    • Yaf_Response_Abstract::setRedirect — El propósito de setRedirect
    • Yaf_Response_Abstract::__toString — El propósito de __toString
  • Yaf_Route_Interface — La clase Yaf_Route_Interface
    • Yaf_Route_Interface::route — Enruta una petición
  • Yaf_Route_Map — La clase Yaf_Route_Map
    • Yaf_Route_Map::__construct — El propósito de __construct
    • Yaf_Route_Map::route — El propósito de route
  • Yaf_Route_Regex — La clase Yaf_Route_Regex
    • Yaf_Route_Regex::__construct — El propósito de __construct
    • Yaf_Route_Regex::route — El propósito de route
  • Yaf_Route_Rewrite — La clase Yaf_Route_Rewrite
    • Yaf_Route_Rewrite::__construct — Constructor de Yaf_Route_Rewrite
    • Yaf_Route_Rewrite::route — El propósito de route
  • Yaf_Router — La clase Yaf_Router
    • Yaf_Router::addConfig — Añadir rutas definidas en configuración al Enrutador
    • Yaf_Router::addRoute — Añadir una nueva ruta al Enrutador
    • Yaf_Router::__construct — El constructor de Yaf_Router
    • Yaf_Router::getCurrentRoute — Obtener el nombre de la ruta efectiva
    • Yaf_Router::getRoute — Recupera una ruta por su nombre
    • Yaf_Router::getRoutes — Recupera las rutas registradas
    • Yaf_Router::route — El propósito de route
  • Yaf_Route_Simple — La clase Yaf_Route_Simple
    • Yaf_Route_Simple::__construct — El constructor de la clase Yaf_Route_Simple
    • Yaf_Route_Simple::route — Enviar una petición
  • Yaf_Route_Static — La clase Yaf_Route_Static
    • Yaf_Route_Static::match — El propósito de match
    • Yaf_Route_Static::route — Enviar una petición
  • Yaf_Route_Supervar — La clase Yaf_Route_Supervar
    • Yaf_Route_Supervar::__construct — El propósito de __construct
    • Yaf_Route_Supervar::route — El propósito de route
  • Yaf_Session — La clase Yaf_Session
    • Yaf_Session::__clone — El propósito de __clone
    • Yaf_Session::__construct — El propósito de __construct
    • Yaf_Session::count — El propósito de count
    • Yaf_Session::current — El propósito de current
    • Yaf_Session::del — El propósito de del
    • Yaf_Session::__get — El propósito de __get
    • Yaf_Session::getInstance — El propósito de getInstance
    • Yaf_Session::has — El propósito de has
    • Yaf_Session::__isset — El propósito de __isset
    • Yaf_Session::key — El propósito de key
    • Yaf_Session::next — El propósito de next
    • Yaf_Session::offsetExists — El propósito de offsetExists
    • Yaf_Session::offsetGet — El propósito de offsetGet
    • Yaf_Session::offsetSet — El propósito de offsetSet
    • Yaf_Session::offsetUnset — El propósito de offsetUnset
    • Yaf_Session::rewind — El propósito de rewind
    • Yaf_Session::__set — El propósito de __set
    • Yaf_Session::__sleep — El propósito de __sleep
    • Yaf_Session::start — El propósito de start
    • Yaf_Session::__unset — El propósito de __unset
    • Yaf_Session::valid — El propósito de valid
    • Yaf_Session::__wakeup — El propósito de __wakeup
  • Yaf_Exception — La clase Yaf_Exception
    • Yaf_Exception::__construct — El propósito de __construct
    • Yaf_Exception::getPrevious — El propósito de getPrevious
  • Yaf_Exception_TypeError — La clase Yaf_Exception_TypeError
  • Yaf_Exception_StartupError — La clase Yaf_Exception_StartupError
  • Yaf_Exception_DispatchFailed — La clase Yaf_Exception_DispatchFailed
  • Yaf_Exception_RouterFailed — La clase Yaf_Exception_RouterFailed
  • Yaf_Exception_LoadFailed — La clase Yaf_Exception_LoadFailed
  • Yaf_Exception_LoadFailed_Module — La clase Yaf_Exception_LoadFailed_Module
  • Yaf_Exception_LoadFailed_Controller — La clase Yaf_Exception_LoadFailed_Controller
  • Yaf_Exception_LoadFailed_Action — La clase Yaf_Exception_LoadFailed_Action
  • Yaf_Exception_LoadFailed_View — La clase Yaf_Exception_LoadFailed_View
yaml_parse
Introducción
Otras extensiones básicas


Introducción

La extensión Yet Another Framework (Yaf) -Otro Framework Más, en español- es un framework de PHP usado para desarrollar aplicaciones web.

Yaf requiere una versión de PHP superior a la 5.2.1. Las versiones anteriores podrían no funcionar.

Se puede encontrar una comparativa sencilla en » Rendimiento de Yaf.

Para una guía rápida, consulte la sección Turoriales.

Yaf
Instalación/Configuración
Yaf


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Yaf


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/yaf.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de Yaf
Nombre | Por defecto | Cambiable | Historial de cambios
yaf.library |  | su valor PHP_INI_ALL |
yaf.action_prefer | 0 | su valor PHP_INI_ALL |
yaf.lowcase_path | 0 | su valor PHP_INI_ALL |
yaf.use_spl_autoload | 0 | su valor PHP_INI_ALL |
yaf.forward_limit | 5 | su valor PHP_INI_ALL |
yaf.name_suffix | 1 | su valor PHP_INI_ALL |
yaf.name_separator |  | su valor PHP_INI_ALL |
yaf.cache_config | 0 | su valor PHP_INI_SYSTEM |
yaf.environ | product | su valor PHP_INI_SYSTEM |
yaf.use_namespace | 0 | su valor PHP_INI_ALL |

He aquí una breve explicación de las directivas de configuración.

yaf.library string

La ruta de la biblioteca global, Yaf_loader buscará la biblioteca global dentro de este directorio.

yaf.action_prefer integer

Si solamente hay una parte en PATH_INFO, debería considerarse como un controlador o una acción.

Si se configura a "On", se considerará como un nombre de una Acción.

yaf.lowcase_path integer

Si transformar a minúsculas todas las rutas durante la autocarga de clases.

yaf.use_spl_autoload integer

Cuando este valor es "On", si Yaf_Loader no puede encontrar una clase, devolverá FALSE, después da la oportunidad de llamar a otra función de autocarga.

Cuando este valor es "Off", si Yaf_Loader no puede encontrar una clase, devolverá TRUE, y hará que la autocarga de la clase falle permanentemente.

Nota:

Yaf registrará su cargador durante la instanciación de Yaf_Application, por lo que cualquier otro autocargador que se registre antes de la instanciación será llamado antes de Yaf_Loader::autoload().

Cuando este valor es "Off" (predeterminado), Yaf_Loader::autoload() devolverá siempre TRUE.

yaf.forward_limit integer

La cuenta hacia adelante máxima, por defecto es 5, lo que significa que se puede tener un valor máximo de 5 en la pila hacia adelante.

Esto es una protección para prevenir Yaf_Controller_Abstract::forward() recursivas.

yaf.name_suffix integer

Cuando es "On", Yaf_Loader identificará una clase por su sufijo para decidir si es una clase MVC.

Cuando es "Off", Yaf_Loader buscará el prefijo del nombre de la clase.

yaf.name_separator string

Cuando no está vacío, Yaf_Loader identificará el sufijo de la clase y el valor de la cadena para ésta.

Por ejemplo, cuando este valor es "_", Yaf_Loader tomará Index_Controller como una clase Controladora, e IndexController como una clase normal.

yaf.cache_config integer

Si es "On", y mientras que se use el archifo de configuración ini como parámetro de Yaf_Application(), el resultado de la compilación del fichero de configuración ini será almacenado en caché en el proceso de PHP.

Nota:

Yaf examina el mtime del fichero ini, y si cambió desde la última compilación, Yaf lo recargará.

Advertencia

Yaf utiliza la ruta del fichero ini como la clave de entrada de caché, por lo que usa la ruta absoluta en la ruta del fichero ini, de otro modo podrían existir conflictos si dos aplicaciones usasen la misma ruta relativa de la configuración ini.

yaf.environ string

Este valor es "product" por omisión, usado por Yaf para obtener la sección de configuración de un fichero de configuración ini.

Es decir, si este valor es "product", Yaf usará la sección llamada "product" en el fichero de configuración ini (el primier parámetro de la clase Yaf_Application) como configuración final de la clase Yaf_Application.

yaf.use_namespace integer

Sólo funciona a partir de PHP 5.3, si este valor es "On", todas las clases de Yaf se nombrarán al estilo del espacio de nombres.

Por ejemplo:

Yaf_Route_Rewrite => \Yaf\Route\Rewrite
Yaf_Request_Http  => \Yaf\Request\Http
Existe una excepción, que es algunas clases como Yaf_Controller_Abstract. El último coponente es una palabra clave de PHP, no podría usarse como nombre de una clase, por lo que para tales clases:
Yaf_Controller_Abstract => \Yaf\Controller_Abstract
Yaf_Route_Static => \Yaf\Route_Static

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

YAF_VERSION (string)
YAF_ENVIRON (string)
YAF_ERR_STARTUP_FAILED (integer)
YAF_ERR_ROUTE_FAILED (integer)
YAF_ERR_DISPATCH_FAILED (integer)
YAF_ERR_AUTOLOAD_FAILED (integer)
YAF_ERR_NOTFOUND_MODULE (integer)
YAF_ERR_NOTFOUND_CONTROLLER (integer)
YAF_ERR_NOTFOUND_ACTION (integer)
YAF_ERR_NOTFOUND_VIEW (integer)
YAF_ERR_CALL_FAILED (integer)
YAF_ERR_TYPE_ERROR (integer)

Tipos de recursos
Ejemplos
Yaf


Ejemplos

Ejemplo #1 Distribución clásica del directorio Application

- index.php
- .htaccess
+ conf
  |- application.ini //configuración de la aplicación
- application/
  - Bootstrap.php
  + controllers
     - Index.php //controlador predeterminado
  + views
     |+ index
        - index.phtml //plantilla de vistas para la acción predeterminada
  + modules
  - library
  - models
  - plugins

Ejemplo #2 Entrada

index.php en el directorio superior es la única manera para la aplicación, se deberían reescribir todas las peticiones que se le hagan (se puede usar .htaccess en Apache+php_mod)

<?php
define("APPLICATION_PATH",  dirname(__FILE__));

$app  = new Yaf_Application(APPLICATION_PATH . "/conf/application.ini");
$app->bootstrap() //llamar a los métodos de arranque definidos en Bootstrap.php
 ->run();
?>

Ejemplo #3 Regla de sobrescritura

#para apache (.htaccess)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php

#para nginx
server {
  listen ****;
  server_name  domain.com;
  root   document_root;
  index  index.php index.html index.htm;

  if (!-e $request_filename) {
    rewrite ^/(.*)  /index.php/$1 last;
  }
}

#para lighttpd
$HTTP["host"] =~ "(www.)?domain.com$" {
  url.rewrite = (
     "^/(.+)/?$"  => "/index.php/$1",
  )
}

Ejemplo #4 Configuración de la aplicación

[yaf]
;APPLICATION_PATH es la constante definida en index.php
application.directory=APPLICATION_PATH "/application/"

;la sección 'product' hereda de las sección 'yaf'
[product:yaf]
foo=bar

Ejemplo #5 Controlador predeterminado

<?php
class IndexController extends Yaf_Controller_Abstract {
   /* acción predeterminada */
   public function indexAction() {
       $this->_view->word = "hola mundo";
       //or
       // $this->getView()->word = "hola mundo";
   }
}
?>

Ejemplo #6 Plantilla de vistas predeterminada

<html>
 <head>
   <title>Hola Mundo</title>
 </head>
 <body>
   <?php echo $word;?>
 </body>
</html>

Ejemplo #7 Ejecutar la aplicación

El resultado del ejemplo sería algo similar a:

<html>
 <head>
   <title>Hola Mundo</title>
 </head>
 <body>
   hola mundo
 </body>
</html>

Nota:

También se puede generar el ejemplo de arriba usando el generado de código de Yaf, el cual se puede encontrar en yaf@github.

Constantes predefinidas
Configuración de la Aplicación
Yaf


Configuración de la Aplicación

Se debería proporcionar una array de configuración o una ruta a un fichero de configuración ini (véase Yaf_Config_Ini) a Yaf_Application::__construct().

Las configuraciones de Yaf podrían fusionarse con configuraciones de usuario. La diferencia es que las configuraciones de Yaf están prefijadas con "yaf." o "application.", si existen ambas ("yaf." y "application."), se usará "application.".

Ejemplo #1 Un ejemplo de un array de configuración yaf

<?php
    $configs = array(
            "application" => array(
                "directory" => dirname(__FILE__),
                "dispatcher" => array(
                      "catchException" => 0,
                    ),
                "view" => array(
                       "ext" => "phtml",
                    ),
                ),
           );
    $app = new Yaf_Application($config);
?>

Ejemplo #2 Un ejemplo de un fichero ini de configuración yaf

[yaf]
yaf.directory = APPLICATION_PATH "/appliation"
yaf.dispatcher.catchException = 0

[product : yaf]
; user configuration list here

Configuración de la Aplicación Yaf
Nombre | Por defecto | Historial de cambios
application.directory |  |
application.ext | "php" |
application.view.ext | "phtml" |
application.modules | "index" |
application.library | application.directory . "/library" |
application.library.directory | application.directory . "/library" |
application.library.namespace | "" |
application.bootstrap | application.directory . "/Bootstrap" . application.ext |
application.baseUri | "" |
application.dispatcher.defaultRoute |  |
application.dispatcher.throwException | 1 |
application.dispatcher.catchException | 0 |
application.dispatcher.defaultModule | "index" |
application.dispatcher.defaultController | "index" |
application.dispatcher.defaultAction | "index" |
application.system |  |

He aquí una breve explicación de las directivas de configuración.

application.directory string

El directorio de la aplicación, que es la caperta que contiene las carpetas "controllers", "views", "models", "plugins".

Nota:

Esta entrada de configuración es la única que no tiene un valor predeterminado, lo que significa que se debería definir siempre.

application.ext string

La extensión de fichero del script de PHP, usado en la autocarga de clases (Yaf_Loader).

application.view.ext string

La extensión de fichero del script de plantilla de vistas.

application.modules string

Una lista separada por comas de los módulos registrados, usada en el proceso de enrutamiento, especialmente mientras existan más de tres segmentos en PATH_INFO,

Yaf necesita una forma de averiguar si el primer segmento es un nombre de módulo o no.

application.library string

El directorio de bibliotecas local, véase Yaf_Loader y yaf.library.

Nota:

A partir de Yaf 2.1.6, esta entrada de configuración también puede ser un array, y así la ruta de bibliotecas intentará usar el valor de application.library.directory

application.library.directory string

Alias de application.library. Introducido en Yaf 2.1.6

application.library.namespace string

Un prefijo separado por comas de nombres de espacios de bibliotecas locales.

Introducido en Yaf 2.1.6

application.bootstrap string

Una ruta absoluta del script de la clase Bootstrap.

application.baseUri string

Usado para eliminar un prefijo fijo de un uri de petición en el proceso de enrutamiento. Como ejemplo, una petición con la uri de petición "/prefix/controller/action". Si se establece application.baseUri a "/prefix", solamente se tomará "/controller/action" como PATH_INFO en el proceso de enrutamiento.

En general no hay necesidad de establecer este valor.

application.dispatcher.throwException bool

Si es On, Yaf lanzará una excepción mientras ocurra algún error. Véase también Yaf_Dispatcher::throwException().

application.dispatcher.catchException bool

Si es On, Yaf remitirá al controlador de errores, Error Action mientras exista una excepción no capturada. Véase también Yaf_Dispatcher::catchException().

application.dispatcher.defaultRoute string

El enrutamiento por defecto, si no se especifica se usará un enrutamiento estático como enrutamiento predeterminado: véase Yaf_Router::addRoute().

application.dispatcher.defaultModule string

El nombre de módulo predeterminado, véase también Yaf_Dispatcher::setDefaultModule().

application.dispatcher.defaultController string

El nombre de controlador predeterminado, véase también Yaf_Dispatcher::setDefaultController().

application.dispatcher.defaultAction string

El nombre de acción predeterminado, véase también Yaf_Dispatcher::setDefaultAction().

application.system string

Establecer la configuración en tiempo de ejecuc de yaf en application.ini, como: application.system.lowcase_path

Nota:

Solamente las configuraciones de PHP_INI_ALL se pueden establecer de esta manera.

Ejemplos
Yaf_Application
Yaf


La clase Yaf_Application

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Yaf_Application proporciona una característica de arranque de aplicaciones que provee de recursos reusables, clases de arranque comunes y basadas en módulos y verificación de dependencia.

Nota:

Yaf_Application implementa el patrón singleton, y Yaf_Application no puede ser serializada o deserializada, lo que causará problemas al intentar usar PHPUnit para escribir algún caso de prueba para Yaf.

Se puede usar la anotación @backupGlobals de PHPUnit para controlar las operaciones de copia de respaldo y restauración de variables globales. De este modo se puede solucionar este problema.

Sinopsis de la Clase

final Yaf_Application {
/* Propiedades */
protected $config ;
protected $dispatcher ;
protected static $_app ;
protected $_modules ;
protected $_running ;
protected $_environ ;
/* Métodos */
public static void app ( void )
public void bootstrap ([ Yaf_Bootstrap_Abstract $bootstrap ] )
public Yaf_Application clearLastError ( void )
private void __clone ( void )
public __construct ( mixed $config [, string $envrion ] )
public void __destruct ( void )
public void environ ( void )
public void execute ( callable $entry , string $... )
public Yaf_Application getAppDirectory ( void )
public Yaf_Config_Abstract getConfig ( void )
public Yaf_Dispatcher getDispatcher ( void )
public string getLastErrorMsg ( void )
public int getLastErrorNo ( void )
public array getModules ( void )
public void run ( void )
public Yaf_Application setAppDirectory ( string $directory )
private void __sleep ( void )
private void __wakeup ( void )
}

Propiedades

config

dispatcher

_app

_modules

_running

_environ

Tabla de contenidos

  • Yaf_Application::app — Recuperar una instancia de la clase Application
  • Yaf_Application::bootstrap — Llamar al arranque
  • Yaf_Application::clearLastError — Limpiar la información del último error
  • Yaf_Application::__clone — Un objeto de la clase Yaf_Application no puede ser clonado
  • Yaf_Application::__construct — El constructor de la clase Yaf_Application
  • Yaf_Application::__destruct — El propósito de __destruct
  • Yaf_Application::environ — Recuperar el entorno
  • Yaf_Application::execute — Ejecutar una llamada de retorno
  • Yaf_Application::getAppDirectory — Obtener el directorio de la aplicación
  • Yaf_Application::getConfig — Recuperar la instancia de configuración
  • Yaf_Application::getDispatcher — Obtener la instancia de la clase Yaf_Dispatcher
  • Yaf_Application::getLastErrorMsg — Obtener el mensaje del último error ocurrido
  • Yaf_Application::getLastErrorNo — Pbetner el código del último error ocurrido
  • Yaf_Application::getModules — Obtener los nombres de los modulos definidos
  • Yaf_Application::run — Iniciar una instancia de la clase Yaf_Application
  • Yaf_Application::setAppDirectory — Cambiar el directorio de la aplicación
  • Yaf_Application::__sleep — Una instancia de la clase Yaf_Application no puede ser serializada
  • Yaf_Application::__wakeup — Una instancia de la clase Yaf_Application no puede ser deserializada
Configuración de la Aplicación
Yaf_Application::app
Yaf


Recuperar una instancia de la clase Application

Yaf_Application
Yaf_Application::bootstrap
Yaf_Application
PHP Manual

Yaf_Application::app

(Yaf >=1.0.0)

Yaf_Application::app — Recuperar una instancia de la clase Application

Descripción

public static void Yaf_Application::app ( void )

Recuperar la instancia de la clase Yaf_Application. De forma alternativa se podría utilizar el método Yaf_Dispatcher::getApplication().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Una instancia de la clase Yaf_Application, o NULL si no se inicializó antes ninguna instancia de Yaf_Application.

Ver también

  • Yaf_Dispatcher::getApplication() - Recupera la aplicación
Yaf_Application
Yaf_Application::bootstrap
Yaf_Application


Llamar al arranque

Yaf_Application::app
Yaf_Application::clearLastError
Yaf_Application
PHP Manual

Yaf_Application::bootstrap

(Yaf >=1.0.0)

Yaf_Application::bootstrap — Llamar al arranque

Descripción

public void Yaf_Application::bootstrap ([ Yaf_Bootstrap_Abstract $bootstrap ] )

Ejecuta un Arranque, todos los métodos definidos en el Arranque y prefijados con "_init" serán llamados según su orden de declaración. Si no se proporciona el parámetro bootstrap, Yaf buscará un Arranque en application.directory.

Parámetros

bootstrap

Una instancia de la clase Yaf_Bootstrap_Abstract

Valores devueltos

Una instancia de la clase Yaf_Application

Ejemplos

Ejemplo #1 Un ejemplo de A Bootstrap()

<?php
/**
 * Este fichero debería estar en la ruta APPLICATION_PATH . "/application/" (la cual estaría definida en la configuración pasada a Yaf_Application),
 * y llamarse Bootstrap.php, para que la instancia de Yaf_Application lo pueda encontrar
 */
class Bootstrap extends Yaf_Bootstrap_Abstract {
    function _initConfig(Yaf_Dispatcher $dispatcher) {
        echo "Primera llamada\n";
    }

    function _initPlugin($dispatcher) {
        echo "Segunda llamada\n";
    }
}
?>

Ejemplo #2 Ejemplo de Yaf_Application::bootstrap()

<?php

defined('APPLICATION_PATH')                  // APPLICATION_PATH será usada en el fichero ini de configuración
    || define('APPLICATION_PATH', __DIR__)); //__DIR__ fue introducido después de PHP 5.3

$application = new Yaf_Application(APPLICATION_PATH.'/conf/application.ini');
$application->bootstrap();
?>

El resultado del ejemplo sería algo similar a:

Primera llamada
Segunda llamada

Ver también

  • Yaf_Bootstrap_Abstract
Yaf_Application::app
Yaf_Application::clearLastError
Yaf_Application


Limpiar la información del último error

Yaf_Application::bootstrap
Yaf_Application::__clone
Yaf_Application
PHP Manual

Yaf_Application::clearLastError

(Yaf >=2.1.2)

Yaf_Application::clearLastError — Limpiar la información del último error

Descripción

public Yaf_Application Yaf_Application::clearLastError ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Application::clearLastError()

<?php
function error_handler($errno, $errstr, $errfile, $errline) {
   Yaf_Application::app()->clearLastError();
   var_dump(Yaf_Application::app()->getLastErrorNo());
}

$config = array(
 "application" => array(
   "directory" => "/tmp/noexiste",
     "dispatcher" => array(
       "throwException" => 0, //provocar un error en vez de lanzar una excepción cuando ocurra un error
      ),
  ),
);

$app = new Yaf_Application($config);
$app->getDispatcher()->setErrorHandler("error_handler", E_RECOVERABLE_ERROR);
$app->run();
?>

El resultado del ejemplo sería algo similar a:

int(0)
Yaf_Application::bootstrap
Yaf_Application::__clone
Yaf_Application


Un objeto de la clase Yaf_Application no puede ser clonado

Yaf_Application::clearLastError
Yaf_Application::__construct
Yaf_Application
PHP Manual

Yaf_Application::__clone

(Yaf >=1.0.0)

Yaf_Application::__clone — Un objeto de la clase Yaf_Application no puede ser clonado

Descripción

private void Yaf_Application::__clone ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Application::clearLastError
Yaf_Application::__construct
Yaf_Application


El constructor de la clase Yaf_Application

Yaf_Application::__clone
Yaf_Application::__destruct
Yaf_Application
PHP Manual

Yaf_Application::__construct

(Yaf >=1.0.0)

Yaf_Application::__construct — El constructor de la clase Yaf_Application

Descripción

public Yaf_Application::__construct ( mixed $config [, string $envrion ] )

Instancia un objeto de la clase Yaf_Application.

Parámetros

config

La ruta de un fichero de configuración ini, o un array de configuración

Si es un fichero ini de configuración, debería existir una sección con el mismo nombre que una definida por yaf.environ, la cual es "product" por omisión.

Nota:

Si se está usando un fichero de configuración ini como contenedor de configuración de la aplicación, se debería abrir yaf.cache_config para mejorar el rendimiento.

Y la entrada de configuración (y el valor predeterminado) listada abajo:

Ejemplo #1 A ini config file example

[product]
;esta siempre debería ser definida y no tener un valor predeterminado
application.directory=APPLICATION_PATH

;las siguientes configuraciones tienen un valor predeterminados, no se necesitan definirlas
application.library = APPLICATION_PATH . "/library"
application.dispatcher.throwException=1
application.dispatcher.catchException=1

application.baseUri=""

;el nombre de la extensión de script de php
ap.ext=php

;el nombre de la extensión de la plantilla de vista
ap.view.ext=phtml

ap.dispatcher.defaultModuel=Index
ap.dispatcher.defaultController=Index
ap.dispatcher.defaultAction=index

;módulos definidos
ap.modules=Index

envrion

Qué sección se cargará como configuración final

Valores devueltos

Ejemplos

Ejemplo #2 Ejemplo de Yaf_Application::__construct()

<?php
defined('APPLICATION_PATH')                  // APPLICATION_PATH será usada en el archivo de configuración ini
    || define('APPLICATION_PATH', __DIR__)); //__DIR__ fue introducido después de PHP 5.3

$application = new Yaf_Application(APPLICATION_PATH.'/conf/application.ini');
$application->bootstrap()->run();
?>

El resultado del ejemplo sería algo similar a:

Ejemplo #3 Ejemplo de  Yaf_Application::__construct()

<?php
$config = array(
    "application" => array(
        "directory" => realpath(dirname(__FILE__)) . "/application",
    ),
);

/** Yaf_Application */
$application = new Yaf_Application($config);
$application->bootstrap()->run();
?>

El resultado del ejemplo
sería algo similar a:

Ver también

  • Yaf_Config_Ini
    •

Yaf_Application::__clone

Yaf_Application::__destruct

Yaf_Application


El propósito de __destruct

Yaf_Application::__construct
Yaf_Application::environ
Yaf_Application
PHP Manual

Yaf_Application::__destruct

(Yaf >=1.0.0)

Yaf_Application::__destruct — El propósito de __destruct

Descripción

public void Yaf_Application::__destruct ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Application::__construct
Yaf_Application::environ
Yaf_Application


Recuperar el entorno

Yaf_Application::__destruct
Yaf_Application::execute
Yaf_Application
PHP Manual

Yaf_Application::environ

(Yaf >=1.0.0)

Yaf_Application::environ — Recuperar el entorno

Descripción

public void Yaf_Application::environ ( void )

Recupera el entorno que fue definido en yaf.environ, el cual tiene el valor predeterminado "product".

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Application::environ()

<?php
$config = array(
    "application" => array(
        "directory" => realpath(dirname(__FILE__)) . "/application",
    ),
);

/** Yaf_Application */
$application = new Yaf_Application($config);
print_r($application->environ());
?>

El resultado del ejemplo sería algo similar a:

product
Yaf_Application::__destruct
Yaf_Application::execute
Yaf_Application


Ejecutar una llamada de retorno

Yaf_Application::environ
Yaf_Application::getAppDirectory
Yaf_Application
PHP Manual

Yaf_Application::execute

(Yaf >=1.0.0)

Yaf_Application::execute — Ejecutar una llamada de retorno

Descripción

public void Yaf_Application::execute ( callable $entry , string $... )

Este método normalmente se usa para ejecutar Yaf_Application en un trabajo de crontab. Hacer el trabajo de contrab también puede usar el autocargador y el mecanismo de arranque.

Parámetros

entry

Una llamada de retorno válida

...

Los parámetros de se le pasarán a la llamada de retorno

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Application::execute()

<?php
function main($argc, $argv) {
}

$config = array(
    "application" => array(
        "directory" => realpath(dirname(__FILE__)) . "/application",
    ),
);

/** Yaf_Application */
$application = new Yaf_Application($config);
$application->execute("main", $argc,  $argv);
?>

El resultado del ejemplo sería algo similar a:

Yaf_Application::environ

Yaf_Application::getAppDirectory

Yaf_Application


Obtener el directorio de la aplicación

Yaf_Application::execute
Yaf_Application::getConfig
Yaf_Application
PHP Manual

Yaf_Application::getAppDirectory

(Yaf >=2.1.4)

Yaf_Application::getAppDirectory — Obtener el directorio de la aplicación

Descripción

public Yaf_Application Yaf_Application::getAppDirectory ( void )

Parámetros

directory

Valores devueltos

Yaf_Application::execute
Yaf_Application::getConfig
Yaf_Application


Recuperar la instancia de configuración

Yaf_Application::getAppDirectory
Yaf_Application::getDispatcher
Yaf_Application
PHP Manual

Yaf_Application::getConfig

(Yaf >=1.0.0)

Yaf_Application::getConfig — Recuperar la instancia de configuración

Descripción

public Yaf_Config_Abstract Yaf_Application::getConfig ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Una instancia de la clase Yaf_Config_Abstract

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Application::getConfig()

<?php
$config = array(
    "application" => array(
        "directory" => realpath(dirname(__FILE__)) . "/application",
    ),
);

/** Yaf_Application */
$application = new Yaf_Application($config);
print_r($application->getConfig());
?>

El resultado del ejemplo sería algo similar a:

Yaf_Config_Simple Object
(
    [_config:protected] => Array
        (
            [application] => Array
                (
                    [directory] => /home/laruence/local/www/htdocs/application
                )

        )

    [_readonly:protected] => 1
)
Yaf_Application::getAppDirectory
Yaf_Application::getDispatcher
Yaf_Application


Obtener la instancia de la clase Yaf_Dispatcher

Yaf_Application::getConfig
Yaf_Application::getLastErrorMsg
Yaf_Application
PHP Manual

Yaf_Application::getDispatcher

(Yaf >=1.0.0)

Yaf_Application::getDispatcher — Obtener la instancia de la clase Yaf_Dispatcher

Descripción

public Yaf_Dispatcher Yaf_Application::getDispatcher ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Application::getDispatcher()

<?php
$config = array(
    "application" => array(
        "directory" => realpath(dirname(__FILE__)) . "/application",
    ),
);

/** Yaf_Application */
$application = new Yaf_Application($config);
print_r($application->getDispatcher());
?>

El resultado del ejemplo sería algo similar a:

Yaf_Dispatcher Object
(
    [_router:protected] => Yaf_Router Object
        (
            [_routes:protected] => Array
                (
                    [_default] => Yaf_Route_Static Object
                        (
                        )

                )

            [_current:protected] =>
        )

    [_view:protected] =>
    [_request:protected] => Yaf_Request_Http Object
        (
            [module] =>
            [controller] =>
            [action] =>
            [method] => Cli
            [params:protected] => Array
                (
                )

            [language:protected] =>
            [_exception:protected] =>
            [_base_uri:protected] =>
            [uri:protected] =>
            [dispatched:protected] =>
            [routed:protected] =>
        )

    [_plugins:protected] => Array
        (
        )

    [_auto_render:protected] => 1
    [_return_response:protected] =>
    [_instantly_flush:protected] =>
    [_default_module:protected] => Index
    [_default_controller:protected] => Index
    [_default_action:protected] => index
    [_response] => Yaf_Response_Cli Object
        (
            [_header:protected] => Array
                (
                )

            [_body:protected] =>
            [_sendheader:protected] =>
        )

)
Yaf_Application::getConfig
Yaf_Application::getLastErrorMsg
Yaf_Application


Obtener el mensaje del último error ocurrido

Yaf_Application::getDispatcher
Yaf_Application::getLastErrorNo
Yaf_Application
PHP Manual

Yaf_Application::getLastErrorMsg

(Yaf >=2.1.2)

Yaf_Application::getLastErrorMsg — Obtener el mensaje del último error ocurrido

Descripción

public string Yaf_Application::getLastErrorMsg ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Application::getLastErrorMsg()

<?php
function error_handler($errno, $errstr, $errfile, $errline) {
   var_dump(Yaf_Application::app()->getLastErrorMsg());
}

$config = array(
 "application" => array(
   "directory" => "/tmp/notexists",
     "dispatcher" => array(
       "throwException" => 0, //provocar un error en lugar de lanzar una excepción cuando ocurra un error
      ),
  ),
);

$app = new Yaf_Application($config);
$app->getDispatcher()->setErrorHandler("error_handler", E_RECOVERABLE_ERROR);
$app->run();
?>

El resultado del ejemplo sería algo similar a:

string(69) "Could not find controller script /tmp/notexists/controllers/Index.php"
Yaf_Application::getDispatcher
Yaf_Application::getLastErrorNo
Yaf_Application


Pbetner el código del último error ocurrido

Yaf_Application::getLastErrorMsg
Yaf_Application::getModules
Yaf_Application
PHP Manual

Yaf_Application::getLastErrorNo

(Yaf >=2.1.2)

Yaf_Application::getLastErrorNo — Pbetner el código del último error ocurrido

Descripción

public int Yaf_Application::getLastErrorNo ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Application::getLastErrorNo()

<?php
function error_handler($errno, $errstr, $errfile, $errline) {
   var_dump(Yaf_Application::app()->getLastErrorNo());
   var_dump(Yaf_Application::app()->getLastErrorNo() == YAF_ERR_NOTFOUND_CONTROLLER);
}

$config = array(
  "application" => array(
   "directory" => "/tmp/notexists",
     "dispatcher" => array(
       "throwException" => 0, //provocar un error en lugar de lanzar una excepción cuando ocurra un error
      ),
  ),
);

$app = new Yaf_Application($config);
$app->getDispatcher()->setErrorHandler("error_handler", E_RECOVERABLE_ERROR);
$app->run();
?>

El resultado del ejemplo sería algo similar a:

int(516)
bool(true)
Yaf_Application::getLastErrorMsg
Yaf_Application::getModules
Yaf_Application


Obtener los nombres de los modulos definidos

Yaf_Application::getLastErrorNo
Yaf_Application::run
Yaf_Application
PHP Manual

Yaf_Application::getModules

(Yaf >=1.0.0)

Yaf_Application::getModules — Obtener los nombres de los modulos definidos

Descripción

public array Yaf_Application::getModules ( void )

Obtiene la lista de módulos definidos en config, si no se han definido siempre habrá un módulo llamado "Index".

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Application::getModules()

<?php
$config = array(
    "application" => array(
        "directory" => realpath(dirname(__FILE__)) . "/application",
    ),
);

/** Yaf_Application */
$application = new Yaf_Application($config);
print_r($application->getModules());
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => Index
)
Yaf_Application::getLastErrorNo
Yaf_Application::run
Yaf_Application


Iniciar una instancia de la clase Yaf_Application

Yaf_Application::getModules
Yaf_Application::setAppDirectory
Yaf_Application
PHP Manual

Yaf_Application::run

(Yaf >=1.0.0)

Yaf_Application::run — Iniciar una instancia de la clase Yaf_Application

Descripción

public void Yaf_Application::run ( void )

Ejecuta una instancia de la clase Yaf_Application, permite a esta instancia aceptar una petición, y enviar dicha petición, despacha el controlador/acción, e interpreta la respuesta. Finalmente devuelve la respuesta al cliente.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Application::getModules
Yaf_Application::setAppDirectory
Yaf_Application


Cambiar el directorio de la aplicación

Yaf_Application::run
Yaf_Application::__sleep
Yaf_Application
PHP Manual

Yaf_Application::setAppDirectory

(Yaf >=2.1.4)

Yaf_Application::setAppDirectory — Cambiar el directorio de la aplicación

Descripción

public Yaf_Application Yaf_Application::setAppDirectory ( string $directory )

Parámetros

directory

Valores devueltos

Yaf_Application::run
Yaf_Application::__sleep
Yaf_Application


Una instancia de la clase Yaf_Application no puede ser serializada

Yaf_Application::setAppDirectory
Yaf_Application::__wakeup
Yaf_Application
PHP Manual

Yaf_Application::__sleep

(Yaf >=1.0.0)

Yaf_Application::__sleep — Una instancia de la clase Yaf_Application no puede ser serializada

Descripción

private void Yaf_Application::__sleep ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Application::setAppDirectory
Yaf_Application::__wakeup
Yaf_Application


Una instancia de la clase Yaf_Application no puede ser deserializada

Yaf_Application::__sleep
Yaf_Bootstrap_Abstract
Yaf_Application
PHP Manual

Yaf_Application::__wakeup

(Yaf >=1.0.0)

Yaf_Application::__wakeup — Una instancia de la clase Yaf_Application no puede ser deserializada

Descripción

private void Yaf_Application::__wakeup ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Application::__sleep
Yaf_Bootstrap_Abstract
Yaf_Application


La clase Yaf_Bootstrap_Abstract

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

El arranque (bootstrap) es un mecanismo usado para realizar una configuración inicial antes de ejecutar una Aplicación.

Los usuarios puede definir su propia clase Bootstrap heredando la clase Yaf_Bootstrap_Abstract

Cualquier método declarado en la clase Arranque al que se le anteponga "_init" será llamado uno a uno por el método Yaf_Application::bootstrap() según su orden de definición.

Ejemplos

Ejemplo #1 Ejemplo de arranque

<?php
   /* la clase de arranque debería estar definida bajo ./application/Bootstrap.php */
   class Bootstrap extends Yaf_Bootstrap_Abstract {
        public function _initConfig(Yaf_Dispatcher $dispatcher) {
            var_dump(__METHOD__);
        }
        public function _initPlugin(Yaf_Dispatcher $dispatcher) {
            var_dump(__METHOD__);
        }
   }

   $config = array(
       "application" => array(
           "directory" => dirname(__FILE__) . "/application/",
       ),
   );

   $app = new Yaf_Application($config);
   $app->bootstrap();
?>

El resultado del ejemplo sería algo similar a:

string(22) "Bootstrap::_initConfig"
string(22) "Bootstrap::_initPlugin"

Sinopsis de la Clase

abstract Yaf_Bootstrap_Abstract {
/* Propiedades */
/* Métodos */
}
Yaf_Application::__wakeup
Yaf_Dispatcher
Yaf


La clase Yaf_Dispatcher

(Yaf >=1.0.0)

Introducción

El propósito de la clase Yaf_Dispatcher es inicializar el entorno de peticiones, enrutar las peticiones entrantes, y despachar cuanlquier acción encontrada; agrega cualesquiera respuestas y las devuelve cuando el proceso está completado.

Yaf_Dispatcher también implementa el patrón Singleton, lo que significa que solamente puede estar disponible una instancia de la misma a la vez. Esto le permite también actuar como un registro en el que se puede establecer el orden de los objetos del proceso de despachamiento.

Sinopsis de la Clase

final Yaf_Dispatcher {
/* Propiedades */
protected $_router ;
protected $_view ;
protected $_request ;
protected $_plugins ;
protected static $_instance ;
protected $_auto_render ;
protected $_return_response ;
protected $_instantly_flush ;
protected $_default_module ;
protected $_default_controller ;
protected $_default_action ;
/* Métodos */
public Yaf_Dispatcher autoRender ([ bool $flag ] )
public Yaf_Dispatcher catchException ([ bool $flag ] )
private void __clone ( void )
public __construct ( void )
public bool disableView ( void )
public Yaf_Response_Abstract dispatch ( Yaf_Request_Abstract $request )
public Yaf_Dispatcher enableView ( void )
public Yaf_Dispatcher flushInstantly ([ bool $flag ] )
public Yaf_Application getApplication ( void )
public static Yaf_Dispatcher getInstance ( void )
public Yaf_Request_Abstract getRequest ( void )
public Yaf_Router getRouter ( void )
public Yaf_View_Interface initView ( string $templates_dir [, array $options ] )
public Yaf_Dispatcher registerPlugin ( Yaf_Plugin_Abstract $plugin )
public Yaf_Dispatcher returnResponse ( bool $flag )
public Yaf_Dispatcher setDefaultAction ( string $action )
public Yaf_Dispatcher setDefaultController ( string $controller )
public Yaf_Dispatcher setDefaultModule ( string $module )
public Yaf_Dispatcher setErrorHandler ( call $callback , int $error_types )
public Yaf_Dispatcher setRequest ( Yaf_Request_Abstract $request )
public Yaf_Dispatcher setView ( Yaf_View_Interface $view )
private void __sleep ( void )
public Yaf_Dispatcher throwException ([ bool $flag ] )
private void __wakeup ( void )
}

Propiedades

_router

_view

_request

_plugins

_instance

_auto_render

_return_response

_instantly_flush

_default_module

_default_controller

_default_action

Tabla de contenidos

  • Yaf_Dispatcher::autoRender — Activa/desactiva la autointerpretación
  • Yaf_Dispatcher::catchException — Activar/desactivar la captura de excepciones
  • Yaf_Dispatcher::__clone — Una instancia de la clase Yaf_Dispatcher no se puede clonar
  • Yaf_Dispatcher::__construct — Constructor de la clase Yaf_Dispatcher
  • Yaf_Dispatcher::disableView — Deshabilita la interpretación de vistas
  • Yaf_Dispatcher::dispatch — Despachar una petición
  • Yaf_Dispatcher::enableView — Habilita la interpretación de vistas
  • Yaf_Dispatcher::flushInstantly — Activa/desactiva el vaciado instantáneo
  • Yaf_Dispatcher::getApplication — Recupera la aplicación
  • Yaf_Dispatcher::getInstance — Recupeara la instancia despachadora
  • Yaf_Dispatcher::getRequest — Recupera la instancia de petición
  • Yaf_Dispatcher::getRouter — Recuperar la instancia de envío
  • Yaf_Dispatcher::initView — Inicializa una vista y la devuelve
  • Yaf_Dispatcher::registerPlugin — Registra un complemento
  • Yaf_Dispatcher::returnResponse — El propósito de returnResponse
  • Yaf_Dispatcher::setDefaultAction — Cambia el nombre de la acción predeterminada
  • Yaf_Dispatcher::setDefaultController — Cambia el nombre del controlador predeterminado
  • Yaf_Dispatcher::setDefaultModule — Cambia el nombre del módulo predeterminado
  • Yaf_Dispatcher::setErrorHandler — Establece el gestor de errores
  • Yaf_Dispatcher::setRequest — El propósito de setRequest
  • Yaf_Dispatcher::setView — Establecer un motor de vistas personalizado
  • Yaf_Dispatcher::__sleep — Una instancia de la clase Yaf_Dispatcher no puede ser serializada
  • Yaf_Dispatcher::throwException — Activa/desactiva el lanzamiento de excepciones
  • Yaf_Dispatcher::__wakeup — Una instancia de la clase Yaf_Dispatcher no puede ser desserializada
Yaf_Bootstrap_Abstract
Yaf_Dispatcher::autoRender
Yaf


Activa/desactiva la autointerpretación

Yaf_Dispatcher
Yaf_Dispatcher::catchException
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::autoRender

(Yaf >=1.0.0)

Yaf_Dispatcher::autoRender — Activa/desactiva la autointerpretación

Descripción

public Yaf_Dispatcher Yaf_Dispatcher::autoRender ([ bool $flag ] )

Ya que Yaf_Dispatcher realizará la interpretación automáticamente después de despachar una petición entrante, se puede prevenir la interpretación llamando a este método con el parámetro flag establecido a TRUE.

Nota:

Se puede devolver simplemente FALSE en una acción para evitar la autointerpretación de dicha acción.

Parámetros

flag

bool

Nota:

Desde 2.2.0, si no se proporciona este parámetro, será devuelto el estado actual

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Dispatcher::autoRender()

<?php
class IndexController extends Yaf_Controller_Abstract {
     /* El método init será llamado tan pronto como se inicialice un controlador */
     public function init() {
         if ($this->getRequest()->isXmlHttpRequest()) {
             //do not call render for ajax request
             //we will outpu a json string
             Yaf_Dispatcher::getInstance()->autoRender(FALSE);
         }
     }

}
?>

El resultado del ejemplo sería algo similar a:

Yaf_Dispatcher

Yaf_Dispatcher::catchException

Yaf_Dispatcher


Activar/desactivar la captura de excepciones

Yaf_Dispatcher::autoRender
Yaf_Dispatcher::__clone
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::catchException

(Yaf >=1.0.0)

Yaf_Dispatcher::catchException — Activar/desactivar la captura de excepciones

Descripción

public Yaf_Dispatcher Yaf_Dispatcher::catchException ([ bool $flag ] )

Mientras que application.dispatcher.throwException esté activado (también se puede llamar al método Yaf_Dispatcher::throwException(TRUE)() para habilitarlo), Yaf lanzará una excepción en lugar de emitir un error cuando ocurren errores.

Entonces, si se habilita Yaf_Dispatcher::catchException() (también se puede habilitar estableciendo application.dispatcher.catchException), todas las excepciones no capturadas lo serán por ErrorController::error si se ha definido una.

Parámetros

flag

bool

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Dispatcher::catchException()

/* si se define una clase ErrorController como la siguiente */
<?php
class ErrorController extends Yaf_Controller_Abstract {
     /**
      * también se puede llamar a Yaf_Request_Abstract::getException para obtener
      * la excepción no capturada.
      */
     public function errorAction($excepción) {
        /* error occurs */
        switch ($excepción->getCode()) {
            case YAF_ERR_NOTFOUND_MODULE:
            case YAF_ERR_NOTFOUND_CONTROLLER:
            case YAF_ERR_NOTFOUND_ACTION:
            case YAF_ERR_NOTFOUND_VIEW:
                echo 404, ":", $excepción->getMessage();
                break;
            default :
                $message = $excepción->getMessage();
                echo 0, ":", $excepción->getMessage();
                break;
        }
     }
}
?>

El resultado del ejemplo sería algo similar a:

/* ahora, si ocurre algún error, se asume el acceso a un controlador no existente (o uno mismo puede lanzar una excepción): */
404:Could not find controller script **/application/controllers/Controlador-no-existente.php

Ver también

  • Yaf_Dispatcher::throwException() - Activa/desactiva el lanzamiento de excepciones
  • Yaf_Dispatcher::setErrorHandler() - Establece el gestor de errores
Yaf_Dispatcher::autoRender
Yaf_Dispatcher::__clone
Yaf_Dispatcher


Una instancia de la clase Yaf_Dispatcher no se puede clonar

Yaf_Dispatcher::catchException
Yaf_Dispatcher::__construct
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::__clone

(Yaf >=1.0.0)

Yaf_Dispatcher::__clone — Una instancia de la clase Yaf_Dispatcher no se puede clonar

Descripción

private void Yaf_Dispatcher::__clone ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Dispatcher::catchException
Yaf_Dispatcher::__construct
Yaf_Dispatcher


Constructor de la clase Yaf_Dispatcher

Yaf_Dispatcher::__clone
Yaf_Dispatcher::disableView
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::__construct

(Yaf >=1.0.0)

Yaf_Dispatcher::__construct — Constructor de la clase Yaf_Dispatcher

Descripción

public Yaf_Dispatcher::__construct ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Dispatcher::__clone
Yaf_Dispatcher::disableView
Yaf_Dispatcher


Deshabilita la interpretación de vistas

Yaf_Dispatcher::__construct
Yaf_Dispatcher::dispatch
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::disableView

(Yaf >=1.0.0)

Yaf_Dispatcher::disableView — Deshabilita la interpretación de vistas

Descripción

public bool Yaf_Dispatcher::disableView ( void )

Deshabilita lel motor de vistas, usado en algunas aplicaciones donde se generan por sí mismas.

Nota:

Se puede devolver simplemente FALSE en una acción para evitar la autointerpretación de dicha acción.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Dispatcher::__construct
Yaf_Dispatcher::dispatch
Yaf_Dispatcher


Despachar una petición

Yaf_Dispatcher::disableView
Yaf_Dispatcher::enableView
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::dispatch

(Yaf >=1.0.0)

Yaf_Dispatcher::dispatch — Despachar una petición

Descripción

public Yaf_Response_Abstract Yaf_Dispatcher::dispatch ( Yaf_Request_Abstract $request )

Este método realiza el trabajo duro de la clase Yaf_Dispatcher. Toma un objeto de petición.

El proceso de despachamiento posee tres eventos distintos:

  • Enrutamiento
  • Despachamiento
  • Respuesta
El enrutamiento ocurre exactamente una vez, usando los valores del objeto de petición al llamar a dispatch(). El despachamiento tiene lugar en un bucle; una petición puede indicar o múltiples acciones a despachar, o el controlador, o un complemento puede reiniciar el objeto de petición para forzar acciones adicionales a despachar (véase la clase Yaf_Plugin_Abstract. Cuando todo ha sido realizado, la clase Yaf_Dispatcher devuelve una respuesta.

Parámetros

request

Valores devueltos

Yaf_Dispatcher::disableView
Yaf_Dispatcher::enableView
Yaf_Dispatcher


Habilita la interpretación de vistas

Yaf_Dispatcher::dispatch
Yaf_Dispatcher::flushInstantly
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::enableView

(Yaf >=1.0.0)

Yaf_Dispatcher::enableView — Habilita la interpretación de vistas

Descripción

public Yaf_Dispatcher Yaf_Dispatcher::enableView ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Dispatcher::dispatch
Yaf_Dispatcher::flushInstantly
Yaf_Dispatcher


Activa/desactiva el vaciado instantáneo

Yaf_Dispatcher::enableView
Yaf_Dispatcher::getApplication
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::flushInstantly

(Yaf >=1.0.0)

Yaf_Dispatcher::flushInstantly — Activa/desactiva el vaciado instantáneo

Descripción

public Yaf_Dispatcher Yaf_Dispatcher::flushInstantly ([ bool $flag ] )

Parámetros

flag

Booleano

Nota:

Desde 2.2.0, si no se proporciona este parámetro, será devuelto el estado actual

Valores devueltos

Yaf_Dispatcher::enableView
Yaf_Dispatcher::getApplication
Yaf_Dispatcher


Recupera la aplicación

Yaf_Dispatcher::flushInstantly
Yaf_Dispatcher::getInstance
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::getApplication

(Yaf >=1.0.0)

Yaf_Dispatcher::getApplication — Recupera la aplicación

Descripción

public Yaf_Application Yaf_Dispatcher::getApplication ( void )

Recupera la instancia de la clase Yaf_Application. Hace lo mismo que el método Yaf_Application::app().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Ver también

  • Yaf_Application::app() - Recuperar una instancia de la clase Application
Yaf_Dispatcher::flushInstantly
Yaf_Dispatcher::getInstance
Yaf_Dispatcher


Recupeara la instancia despachadora

Yaf_Dispatcher::getApplication
Yaf_Dispatcher::getRequest
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::getInstance

(Yaf >=1.0.0)

Yaf_Dispatcher::getInstance — Recupeara la instancia despachadora

Descripción

public static Yaf_Dispatcher Yaf_Dispatcher::getInstance ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Dispatcher::getApplication
Yaf_Dispatcher::getRequest
Yaf_Dispatcher


Recupera la instancia de petición

Yaf_Dispatcher::getInstance
Yaf_Dispatcher::getRouter
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::getRequest

(Yaf >=1.0.0)

Yaf_Dispatcher::getRequest — Recupera la instancia de petición

Descripción

public Yaf_Request_Abstract Yaf_Dispatcher::getRequest ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Dispatcher::getInstance
Yaf_Dispatcher::getRouter
Yaf_Dispatcher


Recuperar la instancia de envío

Yaf_Dispatcher::getRequest
Yaf_Dispatcher::initView
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::getRouter

(Yaf >=1.0.0)

Yaf_Dispatcher::getRouter — Recuperar la instancia de envío

Descripción

public Yaf_Router Yaf_Dispatcher::getRouter ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Dispatcher::getRequest
Yaf_Dispatcher::initView
Yaf_Dispatcher


Inicializa una vista y la devuelve

Yaf_Dispatcher::getRouter
Yaf_Dispatcher::registerPlugin
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::initView

(Yaf >=1.0.0)

Yaf_Dispatcher::initView — Inicializa una vista y la devuelve

Descripción

public Yaf_View_Interface Yaf_Dispatcher::initView ( string $templates_dir [, array $options ] )

Parámetros

templates_dir

options

Valores devueltos

Yaf_Dispatcher::getRouter
Yaf_Dispatcher::registerPlugin
Yaf_Dispatcher


Registra un complemento

Yaf_Dispatcher::initView
Yaf_Dispatcher::returnResponse
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::registerPlugin

(Yaf >=1.0.0)

Yaf_Dispatcher::registerPlugin — Registra un complemento

Descripción

public Yaf_Dispatcher Yaf_Dispatcher::registerPlugin ( Yaf_Plugin_Abstract $plugin )

Registra un complemento (véase Yaf_Plugin_Abstract). Generalmente se registran complementos en el Arranque (véase la clase Yaf_Bootstrap_Abstract).

Parámetros

plugin

Valores devueltos

Ejemplos

Ejemplo #1 Yaf_Dispatcher::registerPlugin()example

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract{
  public function _initPlugin(Yaf_Dispatcher $despachador) {
    /**
    * Yaf asume que los scripts de complementos están en [application.directory] .  "/plugins"
    * para este caso, será:
    * [application.directory] . "/plugins/" . "User" . [application.ext]
    */
    $usuario = new UserPlugin();
    $despachador->registerPlugin($usuario);
 }

Ver también

  • Yaf_Plugin_Abstract
  • Yaf_Bootstrap_Abstract
Yaf_Dispatcher::initView
Yaf_Dispatcher::returnResponse
Yaf_Dispatcher


El propósito de returnResponse

Yaf_Dispatcher::registerPlugin
Yaf_Dispatcher::setDefaultAction
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::returnResponse

(Yaf >=1.0.0)

Yaf_Dispatcher::returnResponse — El propósito de returnResponse

Descripción

public Yaf_Dispatcher Yaf_Dispatcher::returnResponse ( bool $flag )

Parámetros

flag

Valores devueltos

Yaf_Dispatcher::registerPlugin
Yaf_Dispatcher::setDefaultAction
Yaf_Dispatcher


Cambia el nombre de la acción predeterminada

Yaf_Dispatcher::returnResponse
Yaf_Dispatcher::setDefaultController
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::setDefaultAction

(Yaf >=1.0.0)

Yaf_Dispatcher::setDefaultAction — Cambia el nombre de la acción predeterminada

Descripción

public Yaf_Dispatcher Yaf_Dispatcher::setDefaultAction ( string $action )

Parámetros

action

Valores devueltos

Yaf_Dispatcher::returnResponse
Yaf_Dispatcher::setDefaultController
Yaf_Dispatcher


Cambia el nombre del controlador predeterminado

Yaf_Dispatcher::setDefaultAction
Yaf_Dispatcher::setDefaultModule
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::setDefaultController

(Yaf >=1.0.0)

Yaf_Dispatcher::setDefaultController — Cambia el nombre del controlador predeterminado

Descripción

public Yaf_Dispatcher Yaf_Dispatcher::setDefaultController ( string $controller )

Parámetros

controller

Valores devueltos

Yaf_Dispatcher::setDefaultAction
Yaf_Dispatcher::setDefaultModule
Yaf_Dispatcher


Cambia el nombre del módulo predeterminado

Yaf_Dispatcher::setDefaultController
Yaf_Dispatcher::setErrorHandler
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::setDefaultModule

(Yaf >=1.0.0)

Yaf_Dispatcher::setDefaultModule — Cambia el nombre del módulo predeterminado

Descripción

public Yaf_Dispatcher Yaf_Dispatcher::setDefaultModule ( string $module )

Parámetros

module

Valores devueltos

Yaf_Dispatcher::setDefaultController
Yaf_Dispatcher::setErrorHandler
Yaf_Dispatcher


Establece el gestor de errores

Yaf_Dispatcher::setDefaultModule
Yaf_Dispatcher::setRequest
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::setErrorHandler

(Yaf >=1.0.0)

Yaf_Dispatcher::setErrorHandler — Establece el gestor de errores

Descripción

public Yaf_Dispatcher Yaf_Dispatcher::setErrorHandler ( call $callback , int $error_types )

Establece el gestor de errores de Yaf. Cuando application.dispatcher.throwException está desactivada, Yaf provocará errores capturables mientras ocurran errores inesperados.

Por lo tanto, este gestor de errores será invocado mientras se produce el error.

Parámetros

callback

Una llamada de retorno de tipo callable.

error_types

Valores devueltos

Ver también

  • Yaf_Dispatcher::throwException() - Activa/desactiva el lanzamiento de excepciones
  • Yaf_Application::getLastErrorNo() - Pbetner el código del último error ocurrido
  • Yaf_Application::getLastErrorMsg() - Obtener el mensaje del último error ocurrido
Yaf_Dispatcher::setDefaultModule
Yaf_Dispatcher::setRequest
Yaf_Dispatcher


El propósito de setRequest

Yaf_Dispatcher::setErrorHandler
Yaf_Dispatcher::setView
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::setRequest

(Yaf >=1.0.0)

Yaf_Dispatcher::setRequest — El propósito de setRequest

Descripción

public Yaf_Dispatcher Yaf_Dispatcher::setRequest ( Yaf_Request_Abstract $request )

Parámetros

plugin

Valores devueltos

Yaf_Dispatcher::setErrorHandler
Yaf_Dispatcher::setView
Yaf_Dispatcher


Establecer un motor de vistas personalizado

Yaf_Dispatcher::setRequest
Yaf_Dispatcher::__sleep
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::setView

(Yaf >=1.0.0)

Yaf_Dispatcher::setView — Establecer un motor de vistas personalizado

Descripción

public Yaf_Dispatcher Yaf_Dispatcher::setView ( Yaf_View_Interface $view )

Este método proporciona una solución para aquellos que quieran utilizar un motor de vistas personalizado en lugar de la clase Yaf_View_Simple

Parámetros

view

Una instancia de la clase Yaf_View_Interface

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de un motor de Vistas personalizado()

<?php
require "/path/to/smarty/Smarty.class.php";

class Smarty_Adapter implements Yaf_View_Interface
{
    /**
     * Smarty object
     * @var Smarty
     */
    public $_smarty;

    /**
     * Constructor
     *
     * @param string $tmplPath
     * @param array $extraParams
     * @return void
     */
    public function __construct($tmplPath = null, $extraParams = array()) {
        $this->_smarty = new Smarty;

        if (null !== $tmplPath) {
            $this->setScriptPath($tmplPath);
        }

        foreach ($extraParams as $clave => $valor) {
            $this->_smarty->$clave = $valor;
        }
    }

    /**
     * Establecer la ruta a las plantillas
     *
     * @param string $ruta El directorio a establecer como ruta.
     * @return void
     */
    public function setScriptPath($ruta)
    {
        if (is_readable($ruta)) {
            $this->_smarty->template_dir = $ruta;
            return;
        }

        throw new Exception('La ruta proporcionada no es válida');
    }

    /**
     * Asignar una variable a la plantilla
     *
     * @param string $clave El nombre de la variable.
     * @param mixed $valor El valor de la variable.
     * @return void
     */
    public function __set($clave, $valor)
    {
        $this->_smarty->assign($clave, $valor);
    }

    /**
     * Permite que funcionen las pruebas con empty() y isset()
     *
     * @param string $clave
     * @return boolean
     */
    public function __isset($clave)
    {
        return (null !== $this->_smarty->get_template_vars($clave));
    }

    /**
     * Permite que funcione unset() con las porpiedades de los objetos
     *
     * @param string $clave
     * @return void
     */
    public function __unset($clave)
    {
        $this->_smarty->clear_assign($clave);
    }

    /**
     * Asignar variables a la plantilla
     *
     * Permite establecer una clave específica para el valor especificado, O pasar
     * un array de parejas clave => valor para establecer masivamente.
     *
     * @see __set()
     * @param string|array $spec La estrategia de asignación a utilizar (clave o
     * array de parejas clave => valor)
     * @param mixed $valor (Opcional) Si se asignan variables nominadas,
     * utilice este como el valor.
     * @return void
     */
    public function assign($spec, $valor = null) {
        if (is_array($spec)) {
            $this->_smarty->assign($spec);
            return;
        }

        $this->_smarty->assign($spec, $valor);
    }

    /**
     * Limpiar todas las variables asignadas
     *
     * Limpia todas las variables asignadas a Yaf_View mediante
     * {@link assign()} o con sobrecarga de propiedades
     * ({@link __get()}/{@link __set()}).
     *
     * @return void
     */
    public function clearVars() {
        $this->_smarty->clear_all_assign();
    }

    /**
     * Procesa una plantilla y devuelve la salida.
     *
     * @param string $nombre La plantilla a procesar.
     * @return string La salida.
     */
    public function render($nombre, $valor = NULL) {
        return $this->_smarty->fetch($nombre);
    }

    public function display($nombre, $valor = NULL) {
        echo $this->_smarty->fetch($nombre);
    }

}
?>

Ejemplo #2 Ejemplo de Yaf_Dispatcher::setView()

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract {

    /**
     * existen configuraciones para smarty en la configuración:
     *
     * smarty.left_delimiter   = "{{"
     * smarty.right_delimiter  = "}}"
     * smarty.template_dir     = APPLICATION_PATH "/views/scripts/"
     * smarty.compile_dir      = APPLICATION_PATH "/views/templates_c/"
     * smarty.cache_dir        = APPLICATION_PATH "/views/templates_d/"
     *
     */
    public function _initConfig() {
        $config = Yaf_Application::app()->getConfig();
        Yaf_Registry::set("config", $config);
    }

    public function _initLocalName() {
        /** ponemos la clase Smarty_Adapter bajo el directorio de bibliotecas local */
        Yaf_Loader::getInstance()->registerLocalNamespace('Smarty');
    }

    public function _initSmarty(Yaf_Dispatcher $despachador) {
        $smarty = new Smarty_Adapter(null, Yaf_Registry::get("config")->get("smarty"));
        $despachador->setView($smarty);
        /* ahora el motor de vistas de Smarty se convierte en el motor de vistas predeterminado de Yaf */
    }
}
?>

Ver también

  • Yaf_View_Interface
  • Yaf_View_Simple
Yaf_Dispatcher::setRequest
Yaf_Dispatcher::__sleep
Yaf_Dispatcher


Una instancia de la clase Yaf_Dispatcher no puede ser serializada

Yaf_Dispatcher::setView
Yaf_Dispatcher::throwException
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::__sleep

(Yaf >=1.0.0)

Yaf_Dispatcher::__sleep — Una instancia de la clase Yaf_Dispatcher no puede ser serializada

Descripción

private void Yaf_Dispatcher::__sleep ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Dispatcher::setView
Yaf_Dispatcher::throwException
Yaf_Dispatcher


Activa/desactiva el lanzamiento de excepciones

Yaf_Dispatcher::__sleep
Yaf_Dispatcher::__wakeup
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::throwException

(Yaf >=1.0.0)

Yaf_Dispatcher::throwException — Activa/desactiva el lanzamiento de excepciones

Descripción

public Yaf_Dispatcher Yaf_Dispatcher::throwException ([ bool $flag ] )

Activa/desactiva el lanzamiento de excepciones mientras ocurran errores inesperados. Cuando está activado, Yaf lanzará excepciones en lugar de provocar errores capturables.

También se puede usar application.dispatcher.throwException para el mismo propósito.

Parámetros

flag

Booleano

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Dispatcher::throwexception()

<?php

$config = array(
    'application' => array(
        'directory' => dirname(__FILE__),
    ),
);
$app = new Yaf_Application($config);

$app->getDispatcher()->throwException(true);

try {
    $app->run();
} catch (Yaf_Exception $e) {
    var_dump($e->getMessage());
}
?>

El resultado del ejemplo sería algo similar a:

string(59) "Could not find controller script /tmp/controllers/Index.php"

Ejemplo #2 Ejemplo de Yaf_Dispatcher::throwexception()

<?php

$config = array(
    'application' => array(
        'directory' => dirname(__FILE__),
    ),
);
$app = new Yaf_Application($config);

$app->getDispatcher()->throwException(false);

$app->run();
?>

El resultado del ejemplo sería algo similar a:

PHP Catchable fatal error:  Yaf_Application::run(): Could not find controller script /tmp/controllers/Index.php in /tmp/1.php on line 12

Ver también

  • Yaf_Dispatcher::catchException() - Activar/desactivar la captura de excepciones
  • Yaf_Exception
Yaf_Dispatcher::__sleep
Yaf_Dispatcher::__wakeup
Yaf_Dispatcher


Una instancia de la clase Yaf_Dispatcher no puede ser desserializada

Yaf_Dispatcher::throwException
Yaf_Config_Abstract
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::__wakeup

(Yaf >=1.0.0)

Yaf_Dispatcher::__wakeup — Una instancia de la clase Yaf_Dispatcher no puede ser desserializada

Descripción

private void Yaf_Dispatcher::__wakeup ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Dispatcher::throwException
Yaf_Config_Abstract
Yaf_Dispatcher


La clase Yaf_Config_Abstract

(Yaf >=1.0.0)

Introducción

Sinopsis de la Clase

abstract Yaf_Config_Abstract {
/* Propiedades */
protected $_config ;
protected $_readonly ;
/* Métodos */
abstract public mixed get ( string $name , mixed $value )
abstract public bool readonly ( void )
abstract public Yaf_Config_Abstract set ( void )
abstract public array toArray ( void )
}

Propiedades

_config

_readonly

Tabla de contenidos

  • Yaf_Config_Abstract::get — Consultor
  • Yaf_Config_Abstract::readonly — Buscar si una configuración es de sólo lectura
  • Yaf_Config_Abstract::set — Modificador
  • Yaf_Config_Abstract::toArray — Convertir en un array
Yaf_Dispatcher::__wakeup
Yaf_Config_Abstract::get
Yaf


Consultor

Yaf_Config_Abstract
Yaf_Config_Abstract::readonly
Yaf_Config_Abstract
PHP Manual

Yaf_Config_Abstract::get

(Yaf >=1.0.0)

Yaf_Config_Abstract::get — Consultor

Descripción

abstract public mixed Yaf_Config_Abstract::get ( string $name , mixed $value )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Config_Abstract
Yaf_Config_Abstract::readonly
Yaf_Config_Abstract


Buscar si una configuración es de sólo lectura

Yaf_Config_Abstract::get
Yaf_Config_Abstract::set
Yaf_Config_Abstract
PHP Manual

Yaf_Config_Abstract::readonly

(Yaf >=1.0.0)

Yaf_Config_Abstract::readonly — Buscar si una configuración es de sólo lectura

Descripción

abstract public bool Yaf_Config_Abstract::readonly ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Config_Abstract::get
Yaf_Config_Abstract::set
Yaf_Config_Abstract


Modificador

Yaf_Config_Abstract::readonly
Yaf_Config_Abstract::toArray
Yaf_Config_Abstract
PHP Manual

Yaf_Config_Abstract::set

(Yaf >=1.0.0)

Yaf_Config_Abstract::set — Modificador

Descripción

abstract public Yaf_Config_Abstract Yaf_Config_Abstract::set ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Config_Abstract::readonly
Yaf_Config_Abstract::toArray
Yaf_Config_Abstract


Convertir en un array

Yaf_Config_Abstract::set
Yaf_Config_Ini
Yaf_Config_Abstract
PHP Manual

Yaf_Config_Abstract::toArray

(Yaf >=1.0.0)

Yaf_Config_Abstract::toArray — Convertir en un array

Descripción

abstract public array Yaf_Config_Abstract::toArray ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Config_Abstract::set
Yaf_Config_Ini
Yaf_Config_Abstract


La clase Yaf_Config_Ini

(Yaf >=1.0.0)

Introducción

La clase Yaf_Config_Ini permite a los desarrolladores almacenar la información de configuración en un formato INI familiar y leerla en la aplicación utilizando una sintaxis apropiada de objetos anidados. El formato INI está especializado en proporcionar la capacidad de tener una jerarquía de claves de información de configuación y herencia entre secciones de información de configuración. Las jerarquías de información de configuración está soportadas separando las claves con el carácter punto ("."). Una sección puede extender o heredar de otra sección añadiendo al nombre de la sección el carácter dos puntos(":") y el nombre de la sección desde la que se hereda la información.

Nota:

Yaf_Config_Ini utiliza la función » parse_ini_file() de PHP. Revise esta documentación para conocer sus comportamientos específicos, los cuales propaga a la clase Yaf_Config_Ini, tales como el manejo de valores especiales como "TRUE", "FALSE", "yes", "no", y "NULL".

Sinopsis de la Clase

Yaf_Config_Ini extends Yaf_Config_Abstract implements Iterator , ArrayAccess , Countable {
/* Propiedades */
/* Métodos */
public __construct ( string $config_file [, string $section ] )
public void count ( void )
public void current ( void )
public void __get ([ string $name ] )
public void __isset ( string $name )
public void key ( void )
public void next ( void )
public void offsetExists ( string $name )
public void offsetGet ( string $name )
public void offsetSet ( string $name , string $value )
public void offsetUnset ( string $name )
public void readonly ( void )
public void rewind ( void )
public void __set ( string $name , mixed $value )
public array toArray ( void )
public void valid ( void )
/* Métodos heredados */
abstract public mixed Yaf_Config_Abstract::get ( string $name , mixed $value )
abstract public bool Yaf_Config_Abstract::readonly ( void )
abstract public Yaf_Config_Abstract Yaf_Config_Abstract::set ( void )
abstract public array Yaf_Config_Abstract::toArray ( void )
}

Propiedades

_config

_readonly

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Config_Ini()

Este ejemplo ilustra el uso básico de la clase Yaf_Config_Ini para cargar la información de configuración desde un fichero INI. En este ejemplo existe información de configuración para el sistema de producción y el sistema de pruebas (staging). Ya que la información de configuración del sistema de pruebas es similar a la de producción, la sección de pruebas hereda de la sección de producción. En este caso, la decisión es arbitraria y podría haber sido escrito a la inversa, con la sección de producción heredando de la sección de pruebas, aunque este puede no ser el caso para situaciones más complejas. Suponga que la información de configuración siguiente está contenida en /ruta/a/config.ini:

; Información de configuración del sitio de producción
[production]
webhost                  = www.example.com
database.adapter         = pdo_mysql
database.params.host     = db.example.com
database.params.username = dbuser
database.params.password = secret
database.params.dbname   = dbname

; La información de configuración del sitio de pruebas hereda del de producción y
; sobrescribe los valores según sea necesario
[staging : production]
database.params.host     = dev.example.com
database.params.username = devuser
database.params.password = devsecret
<?php
$config = new Yaf_Config_Ini('/ruta/a/config.ini', 'staging');

var_dump($config->database->params->host);
var_dump($config->database->params->dbname);
var_dump($config->get("database.params.username"));
?>

El resultado del ejemplo sería algo similar a:

string(15) "dev.example.com"
string(6) "dbname"
string(7) "devuser

Tabla de contenidos

  • Yaf_Config_Ini::__construct — Constructor de Yaf_Config_Ini
  • Yaf_Config_Ini::count — El propósito de count
  • Yaf_Config_Ini::current — El propósito de current
  • Yaf_Config_Ini::__get — El propósito de __get
  • Yaf_Config_Ini::__isset — El propósito de __isset
  • Yaf_Config_Ini::key — El propósito de key
  • Yaf_Config_Ini::next — El propósito de next
  • Yaf_Config_Ini::offsetExists — El propósito de offsetExists
  • Yaf_Config_Ini::offsetGet — El propósito de offsetGet
  • Yaf_Config_Ini::offsetSet — El propósito de offsetSet
  • Yaf_Config_Ini::offsetUnset — El propósito de offsetUnset
  • Yaf_Config_Ini::readonly — El propósito de readonly
  • Yaf_Config_Ini::rewind — El propósito de rewind
  • Yaf_Config_Ini::__set — El propósito de __set
  • Yaf_Config_Ini::toArray — Devuelve un array de PHP
  • Yaf_Config_Ini::valid — El propósito de valid
Yaf_Config_Abstract::toArray
Yaf_Config_Ini::__construct
Yaf


Constructor de Yaf_Config_Ini

Yaf_Config_Ini
Yaf_Config_Ini::count
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::__construct

(Yaf >=1.0.0)

Yaf_Config_Ini::__construct — Constructor de Yaf_Config_Ini

Descripción

public Yaf_Config_Ini::__construct ( string $config_file [, string $section ] )

El constructor de Yaf_Config_Ini

Parámetros

config_file

Ruta al fichero de configuración INI

section

Qué sección en cual fichero INI se quiere analizar

Valores devueltos

Yaf_Config_Ini
Yaf_Config_Ini::count
Yaf_Config_Ini


El propósito de count

Yaf_Config_Ini::__construct
Yaf_Config_Ini::current
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::count

(Yaf >=1.0.0)

Yaf_Config_Ini::count — El propósito de count

Descripción

public void Yaf_Config_Ini::count ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Config_Ini::__construct
Yaf_Config_Ini::current
Yaf_Config_Ini


El propósito de current

Yaf_Config_Ini::count
Yaf_Config_Ini::__get
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::current

(Yaf >=1.0.0)

Yaf_Config_Ini::current — El propósito de current

Descripción

public void Yaf_Config_Ini::current ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Config_Ini::count
Yaf_Config_Ini::__get
Yaf_Config_Ini


El propósito de __get

Yaf_Config_Ini::current
Yaf_Config_Ini::__isset
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::__get

(Yaf >=1.0.0)

Yaf_Config_Ini::__get — El propósito de __get

Descripción

public void Yaf_Config_Ini::__get ([ string $name ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

Valores devueltos

Yaf_Config_Ini::current
Yaf_Config_Ini::__isset
Yaf_Config_Ini


El propósito de __isset

Yaf_Config_Ini::__get
Yaf_Config_Ini::key
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::__isset

(Yaf >=1.0.0)

Yaf_Config_Ini::__isset — El propósito de __isset

Descripción

public void Yaf_Config_Ini::__isset ( string $name )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

Valores devueltos

Yaf_Config_Ini::__get
Yaf_Config_Ini::key
Yaf_Config_Ini


El propósito de key

Yaf_Config_Ini::__isset
Yaf_Config_Ini::next
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::key

(Yaf >=1.0.0)

Yaf_Config_Ini::key — El propósito de key

Descripción

public void Yaf_Config_Ini::key ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Config_Ini::__isset
Yaf_Config_Ini::next
Yaf_Config_Ini


El propósito de next

Yaf_Config_Ini::key
Yaf_Config_Ini::offsetExists
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::next

(Yaf >=1.0.0)

Yaf_Config_Ini::next — El propósito de next

Descripción

public void Yaf_Config_Ini::next ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Config_Ini::key
Yaf_Config_Ini::offsetExists
Yaf_Config_Ini


El propósito de offsetExists

Yaf_Config_Ini::next
Yaf_Config_Ini::offsetGet
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::offsetExists

(Yaf >=1.0.0)

Yaf_Config_Ini::offsetExists — El propósito de offsetExists

Descripción

public void Yaf_Config_Ini::offsetExists ( string $name )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

Valores devueltos

Yaf_Config_Ini::next
Yaf_Config_Ini::offsetGet
Yaf_Config_Ini


El propósito de offsetGet

Yaf_Config_Ini::offsetExists
Yaf_Config_Ini::offsetSet
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::offsetGet

(Yaf >=1.0.0)

Yaf_Config_Ini::offsetGet — El propósito de offsetGet

Descripción

public void Yaf_Config_Ini::offsetGet ( string $name )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

Valores devueltos

Yaf_Config_Ini::offsetExists
Yaf_Config_Ini::offsetSet
Yaf_Config_Ini


El propósito de offsetSet

Yaf_Config_Ini::offsetGet
Yaf_Config_Ini::offsetUnset
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::offsetSet

(Yaf >=1.0.0)

Yaf_Config_Ini::offsetSet — El propósito de offsetSet

Descripción

public void Yaf_Config_Ini::offsetSet ( string $name , string $value )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

value

Valores devueltos

Yaf_Config_Ini::offsetGet
Yaf_Config_Ini::offsetUnset
Yaf_Config_Ini


El propósito de offsetUnset

Yaf_Config_Ini::offsetSet
Yaf_Config_Ini::readonly
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::offsetUnset

(Yaf >=1.0.0)

Yaf_Config_Ini::offsetUnset — El propósito de offsetUnset

Descripción

public void Yaf_Config_Ini::offsetUnset ( string $name )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

Valores devueltos

Yaf_Config_Ini::offsetSet
Yaf_Config_Ini::readonly
Yaf_Config_Ini


El propósito de readonly

Yaf_Config_Ini::offsetUnset
Yaf_Config_Ini::rewind
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::readonly

(Yaf >=1.0.0)

Yaf_Config_Ini::readonly — El propósito de readonly

Descripción

public void Yaf_Config_Ini::readonly ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Config_Ini::offsetUnset
Yaf_Config_Ini::rewind
Yaf_Config_Ini


El propósito de rewind

Yaf_Config_Ini::readonly
Yaf_Config_Ini::__set
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::rewind

(Yaf >=1.0.0)

Yaf_Config_Ini::rewind — El propósito de rewind

Descripción

public void Yaf_Config_Ini::rewind ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Config_Ini::readonly
Yaf_Config_Ini::__set
Yaf_Config_Ini


El propósito de __set

Yaf_Config_Ini::rewind
Yaf_Config_Ini::toArray
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::__set

(Yaf >=1.0.0)

Yaf_Config_Ini::__set — El propósito de __set

Descripción

public void Yaf_Config_Ini::__set ( string $name , mixed $value )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

value

Valores devueltos

Yaf_Config_Ini::rewind
Yaf_Config_Ini::toArray
Yaf_Config_Ini


Devuelve un array de PHP

Yaf_Config_Ini::__set
Yaf_Config_Ini::valid
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::toArray

(Yaf >=1.0.0)

Yaf_Config_Ini::toArray — Devuelve un array de PHP

Descripción

public array Yaf_Config_Ini::toArray ( void )

Devuelve un array de PHP desde el Yaf_Config_Ini

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Config_Ini::__set
Yaf_Config_Ini::valid
Yaf_Config_Ini


El propósito de valid

Yaf_Config_Ini::toArray
Yaf_Config_Simple
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::valid

(Yaf >=1.0.0)

Yaf_Config_Ini::valid — El propósito de valid

Descripción

public void Yaf_Config_Ini::valid ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Config_Ini::toArray
Yaf_Config_Simple
Yaf_Config_Ini


LA clase Yaf_Config_Simple

(Yaf >=1.0.0)

Introducción

Sinopsis de la Clase

Yaf_Config_Simple extends Yaf_Config_Abstract implements Iterator , ArrayAccess , Countable {
/* Propiedades */
protected $_readonly ;
/* Métodos */
public __construct ( string $config_file [, string $section ] )
public void count ( void )
public void current ( void )
public void __get ([ string $name ] )
public void __isset ( string $name )
public void key ( void )
public void next ( void )
public void offsetExists ( string $name )
public void offsetGet ( string $name )
public void offsetSet ( string $name , string $value )
public void offsetUnset ( string $name )
public void readonly ( void )
public void rewind ( void )
public void __set ( string $name , string $value )
public array toArray ( void )
public void valid ( void )
/* Métodos heredados */
abstract public mixed Yaf_Config_Abstract::get ( string $name , mixed $value )
abstract public bool Yaf_Config_Abstract::readonly ( void )
abstract public Yaf_Config_Abstract Yaf_Config_Abstract::set ( void )
abstract public array Yaf_Config_Abstract::toArray ( void )
}

Propiedades

_config

_readonly

Tabla de contenidos

  • Yaf_Config_Simple::__construct — El propósito de __construct
  • Yaf_Config_Simple::count — El propósito de count
  • Yaf_Config_Simple::current — El propósito de current
  • Yaf_Config_Simple::__get — El propósito de __get
  • Yaf_Config_Simple::__isset — El propósito de __isset
  • Yaf_Config_Simple::key — El propósito de key
  • Yaf_Config_Simple::next — El propósito de next
  • Yaf_Config_Simple::offsetExists — El propósito de offsetExists
  • Yaf_Config_Simple::offsetGet — El propósito de offsetGet
  • Yaf_Config_Simple::offsetSet — El propósito de offsetSet
  • Yaf_Config_Simple::offsetUnset — El propósito de offsetUnset
  • Yaf_Config_Simple::readonly — El propósito de readonly
  • Yaf_Config_Simple::rewind — El propósito de rewind
  • Yaf_Config_Simple::__set — El propósito de __set
  • Yaf_Config_Simple::toArray — Devuelve un array de PHP
  • Yaf_Config_Simple::valid — El propósito de valid
Yaf_Config_Ini::valid
Yaf_Config_Simple::__construct
Yaf


El propósito de __construct

Yaf_Config_Simple
Yaf_Config_Simple::count
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::__construct

(Yaf >=1.0.0)

Yaf_Config_Simple::__construct — El propósito de __construct

Descripción

public Yaf_Config_Simple::__construct ( string $config_file [, string $section ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

config_file

section

Valores devueltos

Yaf_Config_Simple
Yaf_Config_Simple::count
Yaf_Config_Simple


El propósito de count

Yaf_Config_Simple::__construct
Yaf_Config_Simple::current
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::count

(Yaf >=1.0.0)

Yaf_Config_Simple::count — El propósito de count

Descripción

public void Yaf_Config_Simple::count ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Config_Simple::__construct
Yaf_Config_Simple::current
Yaf_Config_Simple


El propósito de current

Yaf_Config_Simple::count
Yaf_Config_Simple::__get
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::current

(Yaf >=1.0.0)

Yaf_Config_Simple::current — El propósito de current

Descripción

public void Yaf_Config_Simple::current ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Config_Simple::count
Yaf_Config_Simple::__get
Yaf_Config_Simple


El propósito de __get

Yaf_Config_Simple::current
Yaf_Config_Simple::__isset
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::__get

(Yaf >=1.0.0)

Yaf_Config_Simple::__get — El propósito de __get

Descripción

public void Yaf_Config_Simple::__get ([ string $name ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

Valores devueltos

Yaf_Config_Simple::current
Yaf_Config_Simple::__isset
Yaf_Config_Simple


El propósito de __isset

Yaf_Config_Simple::__get
Yaf_Config_Simple::key
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::__isset

(Yaf >=1.0.0)

Yaf_Config_Simple::__isset — El propósito de __isset

Descripción

public void Yaf_Config_Simple::__isset ( string $name )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

Valores devueltos

Yaf_Config_Simple::__get
Yaf_Config_Simple::key
Yaf_Config_Simple


El propósito de key

Yaf_Config_Simple::__isset
Yaf_Config_Simple::next
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::key

(Yaf >=1.0.0)

Yaf_Config_Simple::key — El propósito de key

Descripción

public void Yaf_Config_Simple::key ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Config_Simple::__isset
Yaf_Config_Simple::next
Yaf_Config_Simple


El propósito de next

Yaf_Config_Simple::key
Yaf_Config_Simple::offsetExists
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::next

(Yaf >=1.0.0)

Yaf_Config_Simple::next — El propósito de next

Descripción

public void Yaf_Config_Simple::next ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Config_Simple::key
Yaf_Config_Simple::offsetExists
Yaf_Config_Simple


El propósito de offsetExists

Yaf_Config_Simple::next
Yaf_Config_Simple::offsetGet
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::offsetExists

(Yaf >=1.0.0)

Yaf_Config_Simple::offsetExists — El propósito de offsetExists

Descripción

public void Yaf_Config_Simple::offsetExists ( string $name )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

Valores devueltos

Yaf_Config_Simple::next
Yaf_Config_Simple::offsetGet
Yaf_Config_Simple


El propósito de offsetGet

Yaf_Config_Simple::offsetExists
Yaf_Config_Simple::offsetSet
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::offsetGet

(Yaf >=1.0.0)

Yaf_Config_Simple::offsetGet — El propósito de offsetGet

Descripción

public void Yaf_Config_Simple::offsetGet ( string $name )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

Valores devueltos

Yaf_Config_Simple::offsetExists
Yaf_Config_Simple::offsetSet
Yaf_Config_Simple


El propósito de offsetSet

Yaf_Config_Simple::offsetGet
Yaf_Config_Simple::offsetUnset
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::offsetSet

(Yaf >=1.0.0)

Yaf_Config_Simple::offsetSet — El propósito de offsetSet

Descripción

public void Yaf_Config_Simple::offsetSet ( string $name , string $value )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

value

Valores devueltos

Yaf_Config_Simple::offsetGet
Yaf_Config_Simple::offsetUnset
Yaf_Config_Simple


El propósito de offsetUnset

Yaf_Config_Simple::offsetSet
Yaf_Config_Simple::readonly
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::offsetUnset

(Yaf >=1.0.0)

Yaf_Config_Simple::offsetUnset — El propósito de offsetUnset

Descripción

public void Yaf_Config_Simple::offsetUnset ( string $name )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

Valores devueltos

Yaf_Config_Simple::offsetSet
Yaf_Config_Simple::readonly
Yaf_Config_Simple


El propósito de readonly

Yaf_Config_Simple::offsetUnset
Yaf_Config_Simple::rewind
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::readonly

(Yaf >=1.0.0)

Yaf_Config_Simple::readonly — El propósito de readonly

Descripción

public void Yaf_Config_Simple::readonly ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Config_Simple::offsetUnset
Yaf_Config_Simple::rewind
Yaf_Config_Simple


El propósito de rewind

Yaf_Config_Simple::readonly
Yaf_Config_Simple::__set
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::rewind

(Yaf >=1.0.0)

Yaf_Config_Simple::rewind — El propósito de rewind

Descripción

public void Yaf_Config_Simple::rewind ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Config_Simple::readonly
Yaf_Config_Simple::__set
Yaf_Config_Simple


El propósito de __set

Yaf_Config_Simple::rewind
Yaf_Config_Simple::toArray
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::__set

(Yaf >=1.0.0)

Yaf_Config_Simple::__set — El propósito de __set

Descripción

public void Yaf_Config_Simple::__set ( string $name , string $value )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

value

Valores devueltos

Yaf_Config_Simple::rewind
Yaf_Config_Simple::toArray
Yaf_Config_Simple


Devuelve un array de PHP

Yaf_Config_Simple::__set
Yaf_Config_Simple::valid
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::toArray

(Yaf >=1.0.0)

Yaf_Config_Simple::toArray — Devuelve un array de PHP

Descripción

public array Yaf_Config_Simple::toArray ( void )

Devuelve un array de PHP desde el Yaf_Config_Simple

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Config_Simple::__set
Yaf_Config_Simple::valid
Yaf_Config_Simple


El propósito de valid

Yaf_Config_Simple::toArray
Yaf_Controller_Abstract
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::valid

(Yaf >=1.0.0)

Yaf_Config_Simple::valid — El propósito de valid

Descripción

public void Yaf_Config_Simple::valid ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Config_Simple::toArray
Yaf_Controller_Abstract
Yaf_Config_Simple


La clase Yaf_Controller_Abstract

(Yaf >=1.0.0)

Introducción

Yaf_Controller_Abstract es el corazón del sistema de Yaf. MVC significa Modelo Vista Controlador (Model-View-Controller en inglés) y es un patrón de diseño cuyo objetivo es separa la lógica de aplicación de la lógica de vista.

Cada controlador personalizado heredará de la clase Yaf_Controller_Abstract.

Se encontrará con que no se pude definir la función __construct en los controladores personalizados, y por esto Yaf_Controller_Abstract proporciona un método mágico: Yaf_Controller_Abstract::init()().

Si se ha definido un método init() en el controlador personalizado, será llamado en cuanto el controlador se instancie.

Las acciones pueden tener argumentos, al hacerle una petición, si en los parámetros de la petición existen los mismos nombres de variables (véase Yaf_Request_Abstract::getParam()) después del enrutamiento, Yaf los pasará al método de acción (véase Yaf_Action_Abstract::execute()).

Nota:

Estos argumentos se obtienen directamente sin filtración, se deberían porcesar con cuidado antes de usarlos.

Sinopsis de la Clase

abstract Yaf_Controller_Abstract {
/* Propiedades */
public $actions ;
protected $_module ;
protected $_name ;
protected $_request ;
protected $_response ;
protected $_invoke_args ;
protected $_view ;
/* Métodos */
final private void __clone ( void )
final private __construct ( void )
protected bool display ( string $tpl [, array $parameters ] )
public void forward ( string $action [, array $paramters ] )
public void getInvokeArg ( string $name )
public void getInvokeArgs ( void )
public string getModuleName ( void )
public Yaf_Request_Abstract getRequest ( void )
public Yaf_Response_Abstract getResponse ( void )
public Yaf_View_Interface getView ( void )
public void getViewpath ( void )
public void init ( void )
public void initView ([ array $options ] )
public bool redirect ( string $url )
protected string render ( string $tpl [, array $parameters ] )
public void setViewpath ( string $view_directory )
}

Propiedades

actions

También se puede definir un método de acción en un script de PHP por separado usando esta propiedad y la clase Yaf_Action_Abstract.

Ejemplo #1 Definir una acción en un fichero aparte

<?php
class IndexController extends Yaf_Controller_Abstract {
    protected $acciones = array(
        /** ahora dummyAction está definida en un fichero aparte */
        "dummy" => "actions/Dummy_action.php",
    );

    /* el método de acción puede tener argumentos */
    public indexAction($nombre, $id) {
       /* $name e $id son datos no seguros sin tratar */
       assert($nombre == $this->getRequest()->getParam("nombre"));
       assert($id   == $this->_request->getParam("id"));
    }
}
?>

Ejemplo #2 Dummy_action.php

<?php
class DummyAction extends Yaf_Action_Abstract {
    /* una clase de acción definirá este método como el punto de entrada */
    public execute() {
    }
}
?>

_module

El nombre del módulo

_name

El nombre del controlador

_request

El objeto de petición actual

_response

El objeto respuesta actual

_invoke_args

_view

El objeto de motor de vistas

Tabla de contenidos

  • Yaf_Controller_Abstract::__clone — Una instancia de la clase Yaf_Controller_Abstract no puede ser clonada
  • Yaf_Controller_Abstract::__construct — Constructor de Yaf_Controller_Abstract
  • Yaf_Controller_Abstract::display — El propósito de display
  • Yaf_Controller_Abstract::forward — Avanza a la siguiente acción
  • Yaf_Controller_Abstract::getInvokeArg — El propósito de getInvokeArg
  • Yaf_Controller_Abstract::getInvokeArgs — El propósito de getInvokeArgs
  • Yaf_Controller_Abstract::getModuleName — Obtiene el nombre del módulo
  • Yaf_Controller_Abstract::getRequest — Recupera el objeto petición actual
  • Yaf_Controller_Abstract::getResponse — Recupera el objeto respuesta actual
  • Yaf_Controller_Abstract::getView — Recupera el motor de vistas
  • Yaf_Controller_Abstract::getViewpath — El propósito de getViewpath
  • Yaf_Controller_Abstract::init — Inicializador del controlador
  • Yaf_Controller_Abstract::initView — El propósito de initView
  • Yaf_Controller_Abstract::redirect — Redirige a un URL
  • Yaf_Controller_Abstract::render — Interpreta una plantilla de vista
  • Yaf_Controller_Abstract::setViewpath — El propósito de setViewpath
Yaf_Config_Simple::valid
Yaf_Controller_Abstract::__clone
Yaf


Una instancia de la clase Yaf_Controller_Abstract no puede ser clonada

Yaf_Controller_Abstract
Yaf_Controller_Abstract::__construct
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::__clone

(Yaf >=1.0.0)

Yaf_Controller_Abstract::__clone — Una instancia de la clase Yaf_Controller_Abstract no puede ser clonada

Descripción

final private void Yaf_Controller_Abstract::__clone ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Controller_Abstract
Yaf_Controller_Abstract::__construct
Yaf_Controller_Abstract


Constructor de Yaf_Controller_Abstract

Yaf_Controller_Abstract::__clone
Yaf_Controller_Abstract::display
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::__construct

(Yaf >=1.0.0)

Yaf_Controller_Abstract::__construct — Constructor de Yaf_Controller_Abstract

Descripción

final private Yaf_Controller_Abstract::__construct ( void )

Yaf_Controller_Abstract::__construct() es final, lo que significa que no puede ser sobrescrito. Véase en su lugar Yaf_Controller_Abstract::init().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Ver también

  • Yaf_Controller_Abstract::init() - Inicializador del controlador
Yaf_Controller_Abstract::__clone
Yaf_Controller_Abstract::display
Yaf_Controller_Abstract


El propósito de display

Yaf_Controller_Abstract::__construct
Yaf_Controller_Abstract::forward
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::display

(Yaf >=1.0.0)

Yaf_Controller_Abstract::display — El propósito de display

Descripción

protected bool Yaf_Controller_Abstract::display ( string $tpl [, array $parameters ] )

Parámetros

tpl

parameters

Valores devueltos

Yaf_Controller_Abstract::__construct
Yaf_Controller_Abstract::forward
Yaf_Controller_Abstract


Avanza a la siguiente acción

Yaf_Controller_Abstract::display
Yaf_Controller_Abstract::getInvokeArg
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::forward

(Yaf >=1.0.0)

Yaf_Controller_Abstract::forward — Avanza a la siguiente acción

Descripción

public void Yaf_Controller_Abstract::forward ( string $action [, array $paramters ] )
public void Yaf_Controller_Abstract::forward ( string $controller , string $action [, array $paramters ] )
public void Yaf_Controller_Abstract::forward ( string $module , string $controller , string $action [, array $paramters ] )

Avanza el proceso de ejecución actual a otra acción.

Nota:

Este método no cambia a la acción destino de inmediato, toma lugar después de la finalización del flujo actual.

Parámetros

module

El nombre del módulo destino. Si es NULL, se asume el nombre del módulo predeterminado

controller

El nombre del controlador destino

action

El nombre de la acción destino

paramters

Argumentos de llamada

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Controller_Abstract::forward()

<?php
class IndexController extends Yaf_Controller_Abstract
{
    public function indexAction(){
         $logined = $_SESSION["login"];
         if (!$logined) {
             $this->forward("login", array("from" => "Index")); // forward to login action
             return FALSE;  // this is important, this finish current working flow
                            // and tell the Yaf do not doing auto-render
         }

         // otros procesos
    }

    public function loginAction() {
         echo "login, redirected from ", $this->getInvokeArg("from") , " action";
    }
}
?>

El resultado del ejemplo sería algo similar a:

   login, redirected from Index action

Valores devueltos

Devuelve FALSE en caso de fallo

Ver también

  • Yaf_Request_Abstrace::getParam()
Yaf_Controller_Abstract::display
Yaf_Controller_Abstract::getInvokeArg
Yaf_Controller_Abstract


El propósito de getInvokeArg

Yaf_Controller_Abstract::forward
Yaf_Controller_Abstract::getInvokeArgs
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::getInvokeArg

(Yaf >=1.0.0)

Yaf_Controller_Abstract::getInvokeArg — El propósito de getInvokeArg

Descripción

public void Yaf_Controller_Abstract::getInvokeArg ( string $name )

Parámetros

name

Valores devueltos

Yaf_Controller_Abstract::forward
Yaf_Controller_Abstract::getInvokeArgs
Yaf_Controller_Abstract


El propósito de getInvokeArgs

Yaf_Controller_Abstract::getInvokeArg
Yaf_Controller_Abstract::getModuleName
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::getInvokeArgs

(Yaf >=1.0.0)

Yaf_Controller_Abstract::getInvokeArgs — El propósito de getInvokeArgs

Descripción

public void Yaf_Controller_Abstract::getInvokeArgs ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Controller_Abstract::getInvokeArg
Yaf_Controller_Abstract::getModuleName
Yaf_Controller_Abstract


Obtiene el nombre del módulo

Yaf_Controller_Abstract::getInvokeArgs
Yaf_Controller_Abstract::getRequest
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::getModuleName

(Yaf >=1.0.0)

Yaf_Controller_Abstract::getModuleName — Obtiene el nombre del módulo

Descripción

public string Yaf_Controller_Abstract::getModuleName ( void )

Obtiene el nombre del módulo del controlador.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Controller_Abstract::getInvokeArgs
Yaf_Controller_Abstract::getRequest
Yaf_Controller_Abstract


Recupera el objeto petición actual

Yaf_Controller_Abstract::getModuleName
Yaf_Controller_Abstract::getResponse
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::getRequest

(Yaf >=1.0.0)

Yaf_Controller_Abstract::getRequest — Recupera el objeto petición actual

Descripción

public Yaf_Request_Abstract Yaf_Controller_Abstract::getRequest ( void )

Recupera el objeto petición actual

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Una instancia de Yaf_Request_Abstract

Yaf_Controller_Abstract::getModuleName
Yaf_Controller_Abstract::getResponse
Yaf_Controller_Abstract


Recupera el objeto respuesta actual

Yaf_Controller_Abstract::getRequest
Yaf_Controller_Abstract::getView
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::getResponse

(Yaf >=1.0.0)

Yaf_Controller_Abstract::getResponse — Recupera el objeto respuesta actual

Descripción

public Yaf_Response_Abstract Yaf_Controller_Abstract::getResponse ( void )

Recupera el objeto respuesta actual

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Una instancia de Yaf_Response_Abstract

Yaf_Controller_Abstract::getRequest
Yaf_Controller_Abstract::getView
Yaf_Controller_Abstract


Recupera el motor de vistas

Yaf_Controller_Abstract::getResponse
Yaf_Controller_Abstract::getViewpath
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::getView

(Yaf >=1.0.0)

Yaf_Controller_Abstract::getView — Recupera el motor de vistas

Descripción

public Yaf_View_Interface Yaf_Controller_Abstract::getView ( void )

Recupera el motor de vistas.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Controller_Abstract::getResponse
Yaf_Controller_Abstract::getViewpath
Yaf_Controller_Abstract


El propósito de getViewpath

Yaf_Controller_Abstract::getView
Yaf_Controller_Abstract::init
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::getViewpath

(Yaf >=1.0.0)

Yaf_Controller_Abstract::getViewpath — El propósito de getViewpath

Descripción

public void Yaf_Controller_Abstract::getViewpath ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Controller_Abstract::getView
Yaf_Controller_Abstract::init
Yaf_Controller_Abstract


Inicializador del controlador

Yaf_Controller_Abstract::getViewpath
Yaf_Controller_Abstract::initView
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::init

(Yaf >=1.0.0)

Yaf_Controller_Abstract::init — Inicializador del controlador

Descripción

public void Yaf_Controller_Abstract::init ( void )

Yaf_Controller_Abstract::__construct() es final, lo que significa que los usuarios no puede sobrescribirlo, aunque pueden definir Yaf_Controller_Abstract::init(), que será invocado después de que el objeto controlador sea instanciado.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Ver también

  • Yaf_Controller_Abstract::__construct() - Constructor de Yaf_Controller_Abstract
Yaf_Controller_Abstract::getViewpath
Yaf_Controller_Abstract::initView
Yaf_Controller_Abstract


El propósito de initView

Yaf_Controller_Abstract::init
Yaf_Controller_Abstract::redirect
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::initView

(Yaf >=1.0.0)

Yaf_Controller_Abstract::initView — El propósito de initView

Descripción

public void Yaf_Controller_Abstract::initView ([ array $options ] )

Parámetros

options

Valores devueltos

Yaf_Controller_Abstract::init
Yaf_Controller_Abstract::redirect
Yaf_Controller_Abstract


Redirige a un URL

Yaf_Controller_Abstract::initView
Yaf_Controller_Abstract::render
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::redirect

(Yaf >=1.0.0)

Yaf_Controller_Abstract::redirect — Redirige a un URL

Descripción

public bool Yaf_Controller_Abstract::redirect ( string $url )

Redirige a un URL enviando una cabecera 302

Parámetros

url

Un URL

Valores devueltos

bool

Yaf_Controller_Abstract::initView
Yaf_Controller_Abstract::render
Yaf_Controller_Abstract


Interpreta una plantilla de vista

Yaf_Controller_Abstract::redirect
Yaf_Controller_Abstract::setViewpath
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::render

(Yaf >=1.0.0)

Yaf_Controller_Abstract::render — Interpreta una plantilla de vista

Descripción

protected string Yaf_Controller_Abstract::render ( string $tpl [, array $parameters ] )

Parámetros

tpl

parameters

Valores devueltos

Yaf_Controller_Abstract::redirect
Yaf_Controller_Abstract::setViewpath
Yaf_Controller_Abstract


El propósito de setViewpath

Yaf_Controller_Abstract::render
Yaf_Action_Abstract
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::setViewpath

(Yaf >=1.0.0)

Yaf_Controller_Abstract::setViewpath — El propósito de setViewpath

Descripción

public void Yaf_Controller_Abstract::setViewpath ( string $view_directory )

Parámetros

view_directory

Valores devueltos

Yaf_Controller_Abstract::render
Yaf_Action_Abstract
Yaf_Controller_Abstract


La clase Yaf_Action_Abstract

(Yaf >=1.0.0)

Introducción

Una acción puede ser definida en un fichero aparte en Yaf (véase Yaf_Controller_Abstract). Es decir, un método de acción también puede ser una clase Yaf_Action_Abstract.

Ya que debería existir un punto de entrada el cual pueda ser llamado por Yaf (a partir de PHP 5.3, existe un nuevo método mágico, __invoke, pero Yaf no sólo funciona con PHP 5.3+, Yaf elige otro método mágico de ejecución), se debe implementar el método abstracto Yaf_Action_Abstract::execute() en la clase de acción personalizada.

Sinopsis de la Clase

Yaf_Action_Abstract extends Yaf_Controller_Abstract {
/* Propiedades */
protected $_controller ;
/* Métodos */
abstract publicmixed execute ([ mixed $arg [, mixed $... ]] )
publicYaf_Controller_Abstract getController ( void )
/* Métodos heredados */
final private void Yaf_Controller_Abstract::__clone ( void )
final private Yaf_Controller_Abstract::__construct ( void )
protected bool Yaf_Controller_Abstract::display ( string $tpl [, array $parameters ] )
public void Yaf_Controller_Abstract::forward ( string $action [, array $paramters ] )
public void Yaf_Controller_Abstract::getInvokeArg ( string $name )
public void Yaf_Controller_Abstract::getInvokeArgs ( void )
public string Yaf_Controller_Abstract::getModuleName ( void )
public Yaf_Request_Abstract Yaf_Controller_Abstract::getRequest ( void )
public Yaf_Response_Abstract Yaf_Controller_Abstract::getResponse ( void )
public Yaf_View_Interface Yaf_Controller_Abstract::getView ( void )
public void Yaf_Controller_Abstract::getViewpath ( void )
public void Yaf_Controller_Abstract::init ( void )
public void Yaf_Controller_Abstract::initView ([ array $options ] )
public bool Yaf_Controller_Abstract::redirect ( string $url )
protected string Yaf_Controller_Abstract::render ( string $tpl [, array $parameters ] )
public void Yaf_Controller_Abstract::setViewpath ( string $view_directory )
}

Propiedades

_module

_name

_request

_response

_invoke_args

_view

_controller

Tabla de contenidos

  • Yaf_Action_Abstract::execute — Punto de entrada de una acción
  • Yaf_Action_Abstract::getController — Recupera el objeto controlador
Yaf_Controller_Abstract::setViewpath
Yaf_Action_Abstract::execute
Yaf


Punto de entrada de una acción

Yaf_Action_Abstract
Yaf_Action_Abstract::getController
Yaf_Action_Abstract
PHP Manual

Yaf_Action_Abstract::execute

(Yaf >=1.0.0)

Yaf_Action_Abstract::execute — Punto de entrada de una acción

Descripción

abstract publicmixed Yaf_Action_Abstract::execute ([ mixed $arg [, mixed $... ]] )

El usuario debería definir siempre este método para un acción, este es el punto de entrada de la misma. Yaf_Action_Abstract::execute() podría tener argumentos.

Nota:

El valor recuperado desde la petición no es seguro. Se debería filtrar el trabajo antes de usarlo.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Action_Abstract::execute()

<?php
/**
 * Un ejemplo de controlador
 */
class ProductController extends Yaf_Controller_Abstract {
      protected $actions = array(
          "index" => "actions/Index.php",
      );
}
?>

Ejemplo #2 Ejemplo de Yaf_Action_Abstract::execute()

<?php
/**
 * ListAction
 */
class ListAction extends Yaf_Action_Abstract {
     public function execute ($name, $id) {
         assert($name == $this->getRequest()->getParam("name"));
         assert($id   == $this->getRequest()->getParam("id"));
     }
}
?>

El resultado del ejemplo sería algo similar a:

/**
 * Ahora asumimos que estamos usando la ruta Yaf_Route_Static
 * para la petición: http://yourdomain/product/list/name/yaf/id/22
 * resultará:
 */
 bool(true)
 bool(true)

Ver también

Yaf_Action_Abstract
Yaf_Action_Abstract::getController
Yaf_Action_Abstract


Recupera el objeto controlador

Yaf_Action_Abstract::execute
Yaf_View_Interface
Yaf_Action_Abstract
PHP Manual

Yaf_Action_Abstract::getController

(Yaf >=1.0.0)

Yaf_Action_Abstract::getController — Recupera el objeto controlador

Descripción

publicYaf_Controller_Abstract Yaf_Action_Abstract::getController ( void )

Recupera el objeto controlador actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Una instancia de Yaf_Controller_Abstract

Yaf_Action_Abstract::execute
Yaf_View_Interface
Yaf_Action_Abstract


La clase Yaf_View_Interface

(Yaf >=1.0.0)

Introducción

Yaf proporciona a los desarrolladores la capacidad de usar un motor de vistas personalizado en lugar del motor integrado Yaf_View_Simple. Hay un ejemplo que explica cómo realizar esto, por favor, vea Yaf_Dispatcher::setView().

Sinopsis de la Clase

Yaf_View_Interface {
/* Métodos */
abstract public bool assign ( string $name [, string $value ] )
abstract public bool display ( string $tpl [, array $tpl_vars ] )
abstract public void getScriptPath ( void )
abstract public string render ( string $tpl [, array $tpl_vars ] )
abstract public void setScriptPath ( string $template_dir )
}

Tabla de contenidos

  • Yaf_View_Interface::assign — Asignar valores al motor de Vistas
  • Yaf_View_Interface::display — Interpretar e imprimir una plantilla
  • Yaf_View_Interface::getScriptPath — El propósito de getScriptPath
  • Yaf_View_Interface::render — Interpretar una plantilla
  • Yaf_View_Interface::setScriptPath — El propósito de setScriptPath
Yaf_Action_Abstract::getController
Yaf_View_Interface::assign
Yaf


Asignar valores al motor de Vistas

Yaf_View_Interface
Yaf_View_Interface::display
Yaf_View_Interface
PHP Manual

Yaf_View_Interface::assign

(Yaf >=1.0.0)

Yaf_View_Interface::assign — Asignar valores al motor de Vistas

Descripción

abstract public bool Yaf_View_Interface::assign ( string $name [, string $value ] )

Asigna valores al motor de Vistas, después se pueden acceder a los valores directamente mediante su nombre en la plantilla.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

value

Valores devueltos

Yaf_View_Interface
Yaf_View_Interface::display
Yaf_View_Interface


Interpretar e imprimir una plantilla

Yaf_View_Interface::assign
Yaf_View_Interface::getScriptPath
Yaf_View_Interface
PHP Manual

Yaf_View_Interface::display

(Yaf >=1.0.0)

Yaf_View_Interface::display — Interpretar e imprimir una plantilla

Descripción

abstract public bool Yaf_View_Interface::display ( string $tpl [, array $tpl_vars ] )

Interpreta e imprime el resultado inmediatamente.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

tpl

tpl_vars

Valores devueltos

Yaf_View_Interface::assign
Yaf_View_Interface::getScriptPath
Yaf_View_Interface


El propósito de getScriptPath

Yaf_View_Interface::display
Yaf_View_Interface::render
Yaf_View_Interface
PHP Manual

Yaf_View_Interface::getScriptPath

(Yaf >=1.0.0)

Yaf_View_Interface::getScriptPath — El propósito de getScriptPath

Descripción

abstract public void Yaf_View_Interface::getScriptPath ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_View_Interface::display
Yaf_View_Interface::render
Yaf_View_Interface


Interpretar una plantilla

Yaf_View_Interface::getScriptPath
Yaf_View_Interface::setScriptPath
Yaf_View_Interface
PHP Manual

Yaf_View_Interface::render

(Yaf >=1.0.0)

Yaf_View_Interface::render — Interpretar una plantilla

Descripción

abstract public string Yaf_View_Interface::render ( string $tpl [, array $tpl_vars ] )

Interpreta una plantilla y devuelve el resultado.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

tpl

tpl_vars

Valores devueltos

Yaf_View_Interface::getScriptPath
Yaf_View_Interface::setScriptPath
Yaf_View_Interface


El propósito de setScriptPath

Yaf_View_Interface::render
Yaf_View_Simple
Yaf_View_Interface
PHP Manual

Yaf_View_Interface::setScriptPath

(Yaf >=1.0.0)

Yaf_View_Interface::setScriptPath — El propósito de setScriptPath

Descripción

abstract public void Yaf_View_Interface::setScriptPath ( string $template_dir )

Establece el directorio base de plantillas. Normalmente es llamado por Yaf_Dispatcher

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

template_dir

Una ruta absoluta al directorio de plantillas, por omisión, Yaf_Dispatcher usa application.directory . "/views" como este parámetro.

Valores devueltos

Yaf_View_Interface::render
Yaf_View_Simple
Yaf_View_Interface


La clase Yaf_View_Simple

(Yaf >=1.0.0)

Introducción

Yaf_View_Simple es el motor de plantillas incorporade de Yaf. Es un motor de plantillas sencillo pero rápido, y sólo soporta plantillas de script de PHP.

Sinopsis de la Clase

Yaf_View_Simple implements Yaf_View_Interface {
/* Propiedades */
protected $_tpl_vars ;
protected $_tpl_dir ;
/* Métodos */
public bool assign ( string $name [, mixed $value ] )
public bool assignRef ( string $name , mixed &$value )
public bool clear ([ string $name ] )
final public __construct ( string $tempalte_dir [, array $options ] )
public bool display ( string $tpl [, array $tpl_vars ] )
public string eval ( string $tpl_content [, array $tpl_vars ] )
public void __get ([ string $name ] )
public string getScriptPath ( void )
public void __isset ( string $name )
public string render ( string $tpl [, array $tpl_vars ] )
public void __set ( string $name , mixed $value )
public bool setScriptPath ( string $template_dir )
}

Propiedades

_tpl_vars

_tpl_dir

Tabla de contenidos

  • Yaf_View_Simple::assign — Asignar valores
  • Yaf_View_Simple::assignRef — El propósito de assignRef
  • Yaf_View_Simple::clear — Limpiar valores asignados
  • Yaf_View_Simple::__construct — El constructor de Yaf_View_Simple
  • Yaf_View_Simple::display — Interpretar y mostrar
  • Yaf_View_Simple::eval — Interpreta una plantilla
  • Yaf_View_Simple::__get — Recupera una variable asignada
  • Yaf_View_Simple::getScriptPath — Obtiene el directorio de plantillas
  • Yaf_View_Simple::__isset — El propósito de __isset
  • Yaf_View_Simple::render — Interpreta una plantilla
  • Yaf_View_Simple::__set — Establece el valor para el motor
  • Yaf_View_Simple::setScriptPath — Establece el directorio de plantillas
Yaf_View_Interface::setScriptPath
Yaf_View_Simple::assign
Yaf


Asignar valores

Yaf_View_Simple
Yaf_View_Simple::assignRef
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::assign

(Yaf >=1.0.0)

Yaf_View_Simple::assign — Asignar valores

Descripción

public bool Yaf_View_Simple::assign ( string $name [, mixed $value ] )

Asigna una variable al motor de vistas.

Parámetros

name

Una cadena o un array.

Si es una cadena se requiere el argumento $value siguiente.

value

Valor mixto

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de Yaf_View_Simple::assign()

<?php
class IndexController extends Yaf_Controller_Abstract {
    public function indexAction() {
        $this->getView()->assign("foo", "bar");
        $this->_view->assign( array( "key" => "value", "name" => "value"));
    }
?>

Ejemplo #2 Ejemplo de template()

<html>
 <head>
  <title><?php echo $foo; ?></title>
 </head>
<body>
  <?php
    foreach ($this->_tpl_vars as $name => value) {
         echo $$name; // o echo $this->_tpl_vars[$name];
    }
  ?>
</body>
</html>

Ver también

  • Yaf_View_Simple::assignRef() - El propósito de assignRef
  • Yaf_View_Interface::clear()
  • Yaf_View_Simple::__set() - Establece el valor para el motor
Yaf_View_Simple
Yaf_View_Simple::assignRef
Yaf_View_Simple


El propósito de assignRef

Yaf_View_Simple::assign
Yaf_View_Simple::clear
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::assignRef

(Yaf >=1.0.0)

Yaf_View_Simple::assignRef — El propósito de assignRef

Descripción

public bool Yaf_View_Simple::assignRef ( string $name , mixed &$value )

A diferencia de Yaf_View_Simple::assign(), este método asigna un valor de referencia al motor.

Parámetros

name

Un nombre como cadena que será usado para acceder al valor de la plantilla.

value

Valor mixto

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de Yaf_View_Simple::assignRef()

<?php
class IndexController extends Yaf_Controller_Abstract {
    public function indexAction() {
        $value = "bar";
        $this->getView()->assign("foo", $value);

        /* por favor, observe que existía un error antes de Yaf 2.1.4,
         * que hacía que lo siguiente imprimiera "bar";
         */
        $dummy = $this->getView()->render("index/index.phtml");
        echo $value;

        //prevenir la autointerpretación
        Yaf_Dispatcher::getInstance()->autoRender(FALSE);
    }
?>

Ejemplo #2 Ejemplo de template()

<html>
 <head>
  <title><?php echo $foo;  $foo = "cambiado"; ?></title>
 </head>
<body>
</body>
</html>

El resultado del ejemplo sería algo similar a:

/* el acceso al controlador index resultará en: */
cambiado

Ver también

  • Yaf_View_Simple::assign() - Asignar valores
  • Yaf_View_Simple::__set() - Establece el valor para el motor
Yaf_View_Simple::assign
Yaf_View_Simple::clear
Yaf_View_Simple


Limpiar valores asignados

Yaf_View_Simple::assignRef
Yaf_View_Simple::__construct
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::clear

(Yaf >=2.2.0)

Yaf_View_Simple::clear — Limpiar valores asignados

Descripción

public bool Yaf_View_Simple::clear ([ string $name ] )

Limpia una variable asignada

Parámetros

name

El nombre de la variable asignada

Si está vacía, limpiará todas las variables asignadas

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de Yaf_View_Simple::clear()

<?php
class IndexController extends Yaf_Controller_Abstract {
    public function indexAction() {
        $this->getView()->clear("foo")->clear("bar"); // clear "foo" and "bar"
        $this->_view->clear(); //clear all assigned variables
    }
?>

Ver también

  • Yaf_View_Simple::assignRef() - El propósito de assignRef
  • Yaf_View_Interface::assign() - Asignar valores al motor de Vistas
  • Yaf_View_Simple::__set() - Establece el valor para el motor
Yaf_View_Simple::assignRef
Yaf_View_Simple::__construct
Yaf_View_Simple


El constructor de Yaf_View_Simple

Yaf_View_Simple::clear
Yaf_View_Simple::display
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::__construct

(Yaf >=1.0.0)

Yaf_View_Simple::__construct — El constructor de Yaf_View_Simple

Descripción

final public Yaf_View_Simple::__construct ( string $tempalte_dir [, array $options ] )

Parámetros

tempalte_dir

El directorio base de las plantillas, por omisión es APPLICATOIN . "/views" para Yaf.

options

Opciones para el motor, a partir de Yaf 2.1.13, se pueden usar etiquetas cortas
      "<?=$var?>" en las plantillas (sin tener en cuenta "short_open_tag"),
      por lo que viene una opción llamada "short_tag", se puede desactivar
      para prevenir el uso de short_tag en las plantillas.

Ejemplos

Ejemplo #1 Ejemplo de Yaf_View_Simple::__constructor()

<?php
   define ("TEMPLATE_DIRECTORY", APPLICATOIN_PATH . '/views');
   $view = new Yaf_View_Simple(TEMPLATE_DIRECTORY, array(
                           'short_tag' => false //no se permite el uso de etiquetas cortas en las plantillas
   ));
?>

Valores devueltos

Yaf_View_Simple::clear
Yaf_View_Simple::display
Yaf_View_Simple


Interpretar y mostrar

Yaf_View_Simple::__construct
Yaf_View_Simple::eval
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::display

(Yaf >=1.0.0)

Yaf_View_Simple::display — Interpretar y mostrar

Descripción

public bool Yaf_View_Simple::display ( string $tpl [, array $tpl_vars ] )

Interpreta una plantilla y muestra el resultado inmediatamente.

Parámetros

tpl

tpl_vars

Valores devueltos

Yaf_View_Simple::__construct
Yaf_View_Simple::eval
Yaf_View_Simple


Interpreta una plantilla

Yaf_View_Simple::display
Yaf_View_Simple::__get
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::eval

(Yaf >=2.2.0)

Yaf_View_Simple::eval — Interpreta una plantilla

Descripción

public string Yaf_View_Simple::eval ( string $tpl_content [, array $tpl_vars ] )

Interpreta una plantilla de tipo string y devuelve el resultado.

Parámetros

tpl_content

La plantilla de tipo string

tpl_vars

Valores devueltos

Yaf_View_Simple::display
Yaf_View_Simple::__get
Yaf_View_Simple


Recupera una variable asignada

Yaf_View_Simple::eval
Yaf_View_Simple::getScriptPath
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::__get

(Yaf >=1.0.0)

Yaf_View_Simple::__get — Recupera una variable asignada

Descripción

public void Yaf_View_Simple::__get ([ string $name ] )

Recupera una variable asignada.

Nota:

El parámetro puede estar vacío desde la versión 2.1.11.

Parámetros

name

El nombre de la variable asignada.

Si este parámetro está vacío serán devueltas todas las variables asignadas.

Valores devueltos

Yaf_View_Simple::eval
Yaf_View_Simple::getScriptPath
Yaf_View_Simple


Obtiene el directorio de plantillas

Yaf_View_Simple::__get
Yaf_View_Simple::__isset
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::getScriptPath

(Yaf >=1.0.0)

Yaf_View_Simple::getScriptPath — Obtiene el directorio de plantillas

Descripción

public string Yaf_View_Simple::getScriptPath ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_View_Simple::__get
Yaf_View_Simple::__isset
Yaf_View_Simple


El propósito de __isset

Yaf_View_Simple::getScriptPath
Yaf_View_Simple::render
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::__isset

(Yaf >=1.0.0)

Yaf_View_Simple::__isset — El propósito de __isset

Descripción

public void Yaf_View_Simple::__isset ( string $name )

Parámetros

name

Valores devueltos

Yaf_View_Simple::getScriptPath
Yaf_View_Simple::render
Yaf_View_Simple


Interpreta una plantilla

Yaf_View_Simple::__isset
Yaf_View_Simple::__set
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::render

(Yaf >=1.0.0)

Yaf_View_Simple::render — Interpreta una plantilla

Descripción

public string Yaf_View_Simple::render ( string $tpl [, array $tpl_vars ] )

Interpreta una plantilla y devuelve el resultado.

Parámetros

tpl

tpl_vars

Valores devueltos

Yaf_View_Simple::__isset
Yaf_View_Simple::__set
Yaf_View_Simple


Establece el valor para el motor

Yaf_View_Simple::render
Yaf_View_Simple::setScriptPath
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::__set

(Yaf >=1.0.0)

Yaf_View_Simple::__set — Establece el valor para el motor

Descripción

public void Yaf_View_Simple::__set ( string $name , mixed $value )

Esta es una manera alternativa y más sencilla de usar Yaf_View_Simple::assign().

Parámetros

name

Un nombre de valor de tipo string.

value

Valor mixto.

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de Yaf_View_Simple::__set()

<?php
class IndexController extends Yaf_Controller_Abstract {
    public function indexAction() {
        $this->getView()->foo = "bar"; // es lo mismo que assign("foo", "bar");
    }
?>

Ver también

  • Yaf_View_Simple::assignRef() - El propósito de assignRef
  • Yaf_View_Interface::assign() - Asignar valores al motor de Vistas
Yaf_View_Simple::render
Yaf_View_Simple::setScriptPath
Yaf_View_Simple


Establece el directorio de plantillas

Yaf_View_Simple::__set
Yaf_Loader
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::setScriptPath

(Yaf >=1.0.0)

Yaf_View_Simple::setScriptPath — Establece el directorio de plantillas

Descripción

public bool Yaf_View_Simple::setScriptPath ( string $template_dir )

Parámetros

template_dir

Valores devueltos

Yaf_View_Simple::__set
Yaf_Loader
Yaf_View_Simple


La clase Yaf_Loader

(Yaf >=1.0.0)

Introducción

Yaf_Loader introduce una solución completa de autocarga para Yaf.

La primera vez que se recupera una instancia de la clase Yaf_Application, Yaf_Loader instanciará un singleton, y se registrará a sí mismo con spl_autoload. Se recupera una instancia usando el método Yaf_Loader::getInstance()

Yaf_Loader intenta cargar una clase sólo una vez, y si falla, dependiendo de yaf.use_spl_auload, si esta configuración es "On" Yaf_Loader::autoload() devolverá FALSE, y así dará otra oportunidad a otra función de autocarga; si es "Off" (por omisión), Yaf_Loader::autoload() devolverá TRUE, y lo que es más importante: emitirá una advertencia muy útil (muy útil para averiguar por qué no se cargó una clase).

Nota:

Por favor, mantenga yaf.use_spl_autoload en "Off" a menos que exista una biblioteca que tenga su propio mecanismo de autocarga y sea imposible reescribirlo.

Por defecto, Yaf_Loader asume que todas las bibliotecas (las clases definidas en el script) se almacenan en el directorio de clases global, el cual está definido en php.ini (yaf.library).

Si quiere que Yaf_Loader busque algunas clases (bibliotecas) en el directorio de clases local (el cual está definido en application.ini, y por omisión es application.directory . "/libraray"), debería registrar el prefijo de clases usando el método Yaf_Loader::registerLocalNameSpace()

Veamos algunos ejemplos (asumiendo que APPLICATION_PATH es application.directory):

Ejemplo #1 Ejemplo de configuración

// Se asume la siguiente configuración en php.ini:
yaf.library = "/global_dir"

// Se asume la siguiente configuración en application.ini
application.library = APPLICATION_PATH "/library"
Se asume que el siguiente espacio de nombres local está registrado:

Ejemplo #2 Registrar el espacio de nombres local

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract{
     public function _initLoader($dispatcher) {
          Yaf_Loader::getInstance()->registerLocalNameSpace(array("Foo", "Bar"));
     }
?>
Ahora los ejemplos de autocarga:

Ejemplo #3 Load class example

class Foo_Bar_Test =>
  // APPLICATION_PATH/library/Foo/Bar/Test.php

class GLO_Name  =>
  // /global_dir/Glo/Name.php

class BarNon_Test
  // /global_dir/Barnon/Test.php
A partir de PHP 5.3 se pueden usar espacios de nombres:

Ejemplo #4 Ejemplo de carga de una clase en el espacio de nombres

class \Foo\Bar\Dummy =>
   // APPLICATION_PATH/library/Foo/Bar/Dummy.php

class \FooBar\Bar\Dummy =>
   // /global_dir/FooBar/Bar/Dummy.php

Se puede observar que todas las carpetas tienen la primera letra en mayúsculas, se pueden ponerlas en minúsculas estableciendo yaf.lowcase_path = On en php.ini

Yaf_Loader también está diseñada para cargar las clases MVC, y la regla es:

Ejemplo #5 Ejemplo de carga de clase MVC

Controller Classes =>
// APPLICATION_PATH/controllers/

Model Classes =>
// APPLICATION_PATH/models/

Plugin Classes =>
// APPLICATION_PATH/plugins/
Yaf identifica un sufijo de clases (por omisión, se puede cambiar el sufijo cambiando la opción de configuración yaf.name_suffix) para decidir si es una clase MVC:

Ejemplo #6 Distinciones de clases MVC

Controller Classes =>
    // ***Controller

Model Classes =>
    // ***Model

Plugin Classes =>
    // ***Plugin
algunos ejemplos:

Ejemplo #7 Ejemplo de carga MVC

class IndexController
    // APPLICATION_PATH/controllers/Index.php

class DataModel =>
   // APPLICATION_PATH/models/Data.php

class DummyPlugin =>
  // APPLICATION_PATH/plugins/Dummy.php

class A_B_TestModel =>
  // APPLICATION_PATH/models/A/B/Test.php

Nota:

A partir de 2.1.18, Yaf admite que los Controllers se autocarguen para el lado del scrpt cliente, (lo que significa que la autocarga se desencadena por el script del usuario de php, p.ej., acceder a una propiedad de un Controller estático en Bootstrap o Plugins), aunque el autocargador solamente intenta localizar el controlador bajo la carpeta del módulo predeterminado, que es "APPLICATION_PATH/controllers/".

también, el directorio será afectado por yaf.lowcase_path.

Sinopsis de la Clase

Yaf_Loader {
/* Propiedades */
protected $_local_ns ;
protected $_library ;
protected $_global_library ;
static $_instance ;
/* Métodos */
public void autoload ( void )
public void clearLocalNamespace ( void )
private void __clone ( void )
public __construct ( void )
public static void getInstance ( void )
public Yaf_Loader getLibraryPath ([ bool $is_global = false ] )
public void getLocalNamespace ( void )
public static void import ( void )
public void isLocalName ( void )
public void registerLocalNamespace ( mixed $prefix )
public Yaf_Loader setLibraryPath ( string $directory [, bool $is_global = false ] )
private void __sleep ( void )
private void __wakeup ( void )
}

Propiedades

_local_ns

_library

Por omisión, este valor es application.directory . "/library", se puede cambiar en application.ini (application.library) o llamando al método Yaf_Loader::setLibraryPath()

_global_library

_instance

Tabla de contenidos

  • Yaf_Loader::autoload — El propósito de autoload
  • Yaf_Loader::clearLocalNamespace — El propósito de clearLocalNamespace
  • Yaf_Loader::__clone — El propósito de __clone
  • Yaf_Loader::__construct — El propósito de __construct
  • Yaf_Loader::getInstance — El propósito de getInstance
  • Yaf_Loader::getLibraryPath — El propósito de getLibraryPath
  • Yaf_Loader::getLocalNamespace — El propósito de getLocalNamespace
  • Yaf_Loader::import — El propósito de import
  • Yaf_Loader::isLocalName — El propósito de isLocalName
  • Yaf_Loader::registerLocalNamespace — Registra un prefijo de clase local
  • Yaf_Loader::setLibraryPath — Cmabiar la ruta de la biblioteca
  • Yaf_Loader::__sleep — El propósito de __sleep
  • Yaf_Loader::__wakeup — El propósito de __wakeup
Yaf_View_Simple::setScriptPath
Yaf_Loader::autoload
Yaf


El propósito de autoload

Yaf_Loader
Yaf_Loader::clearLocalNamespace
Yaf_Loader
PHP Manual

Yaf_Loader::autoload

(Yaf >=1.0.0)

Yaf_Loader::autoload — El propósito de autoload

Descripción

public void Yaf_Loader::autoload ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Loader
Yaf_Loader::clearLocalNamespace
Yaf_Loader


El propósito de clearLocalNamespace

Yaf_Loader::autoload
Yaf_Loader::__clone
Yaf_Loader
PHP Manual

Yaf_Loader::clearLocalNamespace

(Yaf >=1.0.0)

Yaf_Loader::clearLocalNamespace — El propósito de clearLocalNamespace

Descripción

public void Yaf_Loader::clearLocalNamespace ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Loader::autoload
Yaf_Loader::__clone
Yaf_Loader


El propósito de __clone

Yaf_Loader::clearLocalNamespace
Yaf_Loader::__construct
Yaf_Loader
PHP Manual

Yaf_Loader::__clone

(Yaf >=1.0.0)

Yaf_Loader::__clone — El propósito de __clone

Descripción

private void Yaf_Loader::__clone ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Loader::clearLocalNamespace
Yaf_Loader::__construct
Yaf_Loader


El propósito de __construct

Yaf_Loader::__clone
Yaf_Loader::getInstance
Yaf_Loader
PHP Manual

Yaf_Loader::__construct

(Yaf >=1.0.0)

Yaf_Loader::__construct — El propósito de __construct

Descripción

public Yaf_Loader::__construct ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Loader::__clone
Yaf_Loader::getInstance
Yaf_Loader


El propósito de getInstance

Yaf_Loader::__construct
Yaf_Loader::getLibraryPath
Yaf_Loader
PHP Manual

Yaf_Loader::getInstance

(Yaf >=1.0.0)

Yaf_Loader::getInstance — El propósito de getInstance

Descripción

public static void Yaf_Loader::getInstance ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Loader::__construct
Yaf_Loader::getLibraryPath
Yaf_Loader


El propósito de getLibraryPath

Yaf_Loader::getInstance
Yaf_Loader::getLocalNamespace
Yaf_Loader
PHP Manual

Yaf_Loader::getLibraryPath

(Yaf >=2.1.4)

Yaf_Loader::getLibraryPath — El propósito de getLibraryPath

Descripción

public Yaf_Loader Yaf_Loader::getLibraryPath ([ bool $is_global = false ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Loader::getInstance
Yaf_Loader::getLocalNamespace
Yaf_Loader


El propósito de getLocalNamespace

Yaf_Loader::getLibraryPath
Yaf_Loader::import
Yaf_Loader
PHP Manual

Yaf_Loader::getLocalNamespace

(Yaf >=1.0.0)

Yaf_Loader::getLocalNamespace — El propósito de getLocalNamespace

Descripción

public void Yaf_Loader::getLocalNamespace ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Loader::getLibraryPath
Yaf_Loader::import
Yaf_Loader


El propósito de import

Yaf_Loader::getLocalNamespace
Yaf_Loader::isLocalName
Yaf_Loader
PHP Manual

Yaf_Loader::import

(Yaf >=1.0.0)

Yaf_Loader::import — El propósito de import

Descripción

public static void Yaf_Loader::import ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Loader::getLocalNamespace
Yaf_Loader::isLocalName
Yaf_Loader


El propósito de isLocalName

Yaf_Loader::import
Yaf_Loader::registerLocalNamespace
Yaf_Loader
PHP Manual

Yaf_Loader::isLocalName

(Yaf >=1.0.0)

Yaf_Loader::isLocalName — El propósito de isLocalName

Descripción

public void Yaf_Loader::isLocalName ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Loader::import
Yaf_Loader::registerLocalNamespace
Yaf_Loader


Registra un prefijo de clase local

Yaf_Loader::isLocalName
Yaf_Loader::setLibraryPath
Yaf_Loader
PHP Manual

Yaf_Loader::registerLocalNamespace

(Yaf >=1.0.0)

Yaf_Loader::registerLocalNamespace — Registra un prefijo de clase local

Descripción

public void Yaf_Loader::registerLocalNamespace ( mixed $prefix )

Registra un nombre de prefijo de clase local. Yaf_Loader busca clases en dos directorios de bibliotecas, uno se configura mediante application.library.directory (en application.ini) al que se le llama directorio de bibliotecas local; el otro se configura mediante yaf.library (en php.ini) al que se llamma le directorio de bibliotecas global, ya que puede ser compartido mediante muchas apliacionies en el mismo servidor.

Al desencadenar una autocarga, Yaf_Loader determinará en que directorio de bibliotecas debería buscar examinando el nombre de prefijo del nombre de clase faltante. Si el nombre de prefijo está registrado como un paquete de nombres local, entonces se le buscará en el directorio de bibliotecas local, si no, se buscará en el directorio de bibliotecas global.

Nota:

Si yaf.library no está configurado, se asume que el directorio de bibliotecas global es el directorio de bibliotecas local. En este caso, todas las auto cargas buscarán en el directorio de bibliotecas local. Aunque si se quiere que una aplicación Yaf sea fuerte, se han de registrar siempre las propias clases como clases locales.

Parámetros

prefix

Un string o un a array con el prefijo del nombre de la clase. Todas las clases con este prefijo se cargarán en la ruta de la biblioteca local.

Valores devueltos

Devuelve un booleano.

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Loader::registerLocalNamespace()

<?php
$loader = Yaf_Loader::getInstance('/local/library/', '/global/library');
$loader->registerLocalNamespace("Baidu");
$loader->registerLocalNamespace(array("Sina", "Weibo"));

$loader->autoload("Baidu_Name"); // buscar en '/local/library/'
$loader->autoload("Sina");       // buscar en '/local/library/'
$loader->autoload("Global_Name");// buscar en '/global/library/'
$loader->autoload("Foo_Bar");    // buscar en '/global/library/'

?>
Yaf_Loader::isLocalName
Yaf_Loader::setLibraryPath
Yaf_Loader


Cmabiar la ruta de la biblioteca

Yaf_Loader::registerLocalNamespace
Yaf_Loader::__sleep
Yaf_Loader
PHP Manual

Yaf_Loader::setLibraryPath

(Yaf >=2.1.4)

Yaf_Loader::setLibraryPath — Cmabiar la ruta de la biblioteca

Descripción

public Yaf_Loader Yaf_Loader::setLibraryPath ( string $directory [, bool $is_global = false ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Loader::registerLocalNamespace
Yaf_Loader::__sleep
Yaf_Loader


El propósito de __sleep

Yaf_Loader::setLibraryPath
Yaf_Loader::__wakeup
Yaf_Loader
PHP Manual

Yaf_Loader::__sleep

(Yaf >=1.0.0)

Yaf_Loader::__sleep — El propósito de __sleep

Descripción

private void Yaf_Loader::__sleep ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Loader::setLibraryPath
Yaf_Loader::__wakeup
Yaf_Loader


El propósito de __wakeup

Yaf_Loader::__sleep
Yaf_Plugin_Abstract
Yaf_Loader
PHP Manual

Yaf_Loader::__wakeup

(Yaf >=1.0.0)

Yaf_Loader::__wakeup — El propósito de __wakeup

Descripción

private void Yaf_Loader::__wakeup ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Loader::__sleep
Yaf_Plugin_Abstract
Yaf_Loader


La clase Yaf_Plugin_Abstract

(Yaf >=1.0.0)

Introducción

Los complementos permiten una extensibilidad y personalización sencillas del framework.

Los complementos son clases. La definición real de una clase variará según el componente -- se puede necesitar implementar esta interfaz, pero de hecho el complemento es en sí mismo una clase.

Un complemento podría cargarse dentro de Yaf utilizando el método Yaf_Dispatcher::registerPlugin(), después de registrarlo. Todos los métodos que implementa el complemento según esta interfaz, serán llamados a su debido tiempo.

Ejemplos

Ejemplo #1 Plugin example

<?php
   /* la clase de arranque debería estar definida bajo ./application/Bootstrap.php */
   class Bootstrap extends Yaf_Bootstrap_Abstract {
        public function _initPlugin(Yaf_Dispatcher $dispatcher) {
            /* register a plugin */
            $dispatcher->registerPlugin(new TestPlugin());
        }
   }

   /* la clase complemento debería estar ubicada bajo ./application/plugins/ */
   class TestPlugin extends Yaf_Plugin_Abstract {
        public function routerStartup(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
            /* before router
               in this hook,  user can do some url rewrite */
            var_dump("routerStartup");
        }
        public function routerShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
            /* router complete
               in this hook, user can do login check */
            var_dump("routerShutdown");
        }
        public function dispatchLoopStartup(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
            var_dump("dispatchLoopStartup");
        }
        public function preDispatch(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
            var_dump("preDispatch");
        }
        public function postDispatch(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
            var_dump("postDispatch");
        }
        public function dispatchLoopShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
            /* final hoook
               in this hook user can do loging or implement layout */
            var_dump("dispatchLoopShutdown");
        }
   }

   Class IndexController extends Yaf_Controller_Abstract {
        public function indexAction() {
            return FALSE; //prevent rendering
        }
   }

   $config = array(
       "application" => array(
           "directory" => dirname(__FILE__) . "/application/",
       ),
   );

   $app = new Yaf_Application($config);
   $app->bootstrap()->run();
?>

El resultado del ejemplo sería algo similar a:

string(13) "routerStartup"
string(14) "routerShutdown"
string(19) "dispatchLoopStartup"
string(11) "preDispatch"
string(12) "postDispatch"
string(20) "dispatchLoopShutdown"

Sinopsis de la Clase

Yaf_Plugin_Abstract {
/* Métodos */
public void dispatchLoopShutdown ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )
public void dispatchLoopStartup ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )
public void postDispatch ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )
public void preDispatch ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )
public void preResponse ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )
public void routerShutdown ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )
public void routerStartup ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )
}

Tabla de contenidos

  • Yaf_Plugin_Abstract::dispatchLoopShutdown — El propósito de dispatchLoopShutdown
  • Yaf_Plugin_Abstract::dispatchLoopStartup — El propósito de dispatchLoopStartup
  • Yaf_Plugin_Abstract::postDispatch — El propósito de postDispatch
  • Yaf_Plugin_Abstract::preDispatch — El propósito de preDispatch
  • Yaf_Plugin_Abstract::preResponse — El propósito de preResponse
  • Yaf_Plugin_Abstract::routerShutdown — El propósito de routerShutdown
  • Yaf_Plugin_Abstract::routerStartup — Enganche deEl propósito de routerStartup
Yaf_Loader::__wakeup
Yaf_Plugin_Abstract::dispatchLoopShutdown
Yaf


El propósito de dispatchLoopShutdown

Yaf_Plugin_Abstract
Yaf_Plugin_Abstract::dispatchLoopStartup
Yaf_Plugin_Abstract
PHP Manual

Yaf_Plugin_Abstract::dispatchLoopShutdown

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::dispatchLoopShutdown — El propósito de dispatchLoopShutdown

Descripción

public void Yaf_Plugin_Abstract::dispatchLoopShutdown ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )

Este es el último enganche del sistema de enganches de complementos de Yaf. Si un complemento personalizado implementa este método, será llamado después de que finalice el bucle de despachamientos.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

request

response

Valores devueltos

Ver también

  • Yaf_Plugin_Abstract::routerStartup() - Enganche deEl propósito de routerStartup
  • Yaf_Plugin_Abstract::routerShutdown() - El propósito de routerShutdown
  • Yaf_Plugin_Abstract::dispatchLoopStartup() - El propósito de dispatchLoopStartup
  • Yaf_Plugin_Abstract::preDispatch() - El propósito de preDispatch
  • Yaf_Plugin_Abstract::postDispatch() - El propósito de postDispatch
Yaf_Plugin_Abstract
Yaf_Plugin_Abstract::dispatchLoopStartup
Yaf_Plugin_Abstract


El propósito de dispatchLoopStartup

Yaf_Plugin_Abstract::dispatchLoopShutdown
Yaf_Plugin_Abstract::postDispatch
Yaf_Plugin_Abstract
PHP Manual

Yaf_Plugin_Abstract::dispatchLoopStartup

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::dispatchLoopStartup — El propósito de dispatchLoopStartup

Descripción

public void Yaf_Plugin_Abstract::dispatchLoopStartup ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

request

response

Valores devueltos

Yaf_Plugin_Abstract::dispatchLoopShutdown
Yaf_Plugin_Abstract::postDispatch
Yaf_Plugin_Abstract


El propósito de postDispatch

Yaf_Plugin_Abstract::dispatchLoopStartup
Yaf_Plugin_Abstract::preDispatch
Yaf_Plugin_Abstract
PHP Manual

Yaf_Plugin_Abstract::postDispatch

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::postDispatch — El propósito de postDispatch

Descripción

public void Yaf_Plugin_Abstract::postDispatch ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

request

response

Valores devueltos

Yaf_Plugin_Abstract::dispatchLoopStartup
Yaf_Plugin_Abstract::preDispatch
Yaf_Plugin_Abstract


El propósito de preDispatch

Yaf_Plugin_Abstract::postDispatch
Yaf_Plugin_Abstract::preResponse
Yaf_Plugin_Abstract
PHP Manual

Yaf_Plugin_Abstract::preDispatch

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::preDispatch — El propósito de preDispatch

Descripción

public void Yaf_Plugin_Abstract::preDispatch ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

request

response

Valores devueltos

Yaf_Plugin_Abstract::postDispatch
Yaf_Plugin_Abstract::preResponse
Yaf_Plugin_Abstract


El propósito de preResponse

Yaf_Plugin_Abstract::preDispatch
Yaf_Plugin_Abstract::routerShutdown
Yaf_Plugin_Abstract
PHP Manual

Yaf_Plugin_Abstract::preResponse

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::preResponse — El propósito de preResponse

Descripción

public void Yaf_Plugin_Abstract::preResponse ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

request

response

Valores devueltos

Yaf_Plugin_Abstract::preDispatch
Yaf_Plugin_Abstract::routerShutdown
Yaf_Plugin_Abstract


El propósito de routerShutdown

Yaf_Plugin_Abstract::preResponse
Yaf_Plugin_Abstract::routerStartup
Yaf_Plugin_Abstract
PHP Manual

Yaf_Plugin_Abstract::routerShutdown

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::routerShutdown — El propósito de routerShutdown

Descripción

public void Yaf_Plugin_Abstract::routerShutdown ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )

Este enganche será provocado después de que finalice el proceso de enrutamiento. Este enganche se usa normalmente para la verificación de identificación.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

request

response

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Plugin_Abstract::routerShutdown()

<?php
class UserInitPlugin extends Yaf_Plugin_Abstract {

    public function routerShutdown(Yaf_Request_Abstract $petición, Yaf_Response_Abstract $respuesta) {
        $controlador = $petición->getControllerName();

        /**
         * El uso de accesos a controladores no es necesario para APIs
         */
        if (in_array(strtolower($controlador), array(
            'api',
        ))) {
            return TRUE;
        }

        if (Yaf_Session::getInstance()->has("login")) {
            return TRUE;
        }

        /* El uso de verificación de acceso falló, se necesita identificarse */
        $respuesta->redirect("http://sudominio.com/login/");
        return FALSE;
    }
?>

Ver también

  • Yaf_Plugin_Abstract::routerStartup() - Enganche deEl propósito de routerStartup
  • Yaf_Plugin_Abstract::dispatchLoopStartup() - El propósito de dispatchLoopStartup
  • Yaf_Plugin_Abstract::preDispatch() - El propósito de preDispatch
  • Yaf_Plugin_Abstract::postDispatch() - El propósito de postDispatch
  • Yaf_Plugin_Abstract::dispatchLoopShutdown() - El propósito de dispatchLoopShutdown
Yaf_Plugin_Abstract::preResponse
Yaf_Plugin_Abstract::routerStartup
Yaf_Plugin_Abstract


Enganche deEl propósito de routerStartup

Yaf_Plugin_Abstract::routerShutdown
Yaf_Registry
Yaf_Plugin_Abstract
PHP Manual

Yaf_Plugin_Abstract::routerStartup

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::routerStartup — Enganche deEl propósito de routerStartup

Descripción

public void Yaf_Plugin_Abstract::routerStartup ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )

Este es el primer enchanche del sistema de enganches de complementos de Yaf. Si un complemento personalizado implementa este método, será llamado antes de enrutar una petición.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

request

response

Valores devueltos

Ver también

  • Yaf_Plugin_Abstract::routerShutdown() - El propósito de routerShutdown
  • Yaf_Plugin_Abstract::dispatchLoopStartup() - El propósito de dispatchLoopStartup
  • Yaf_Plugin_Abstract::preDispatch() - El propósito de preDispatch
  • Yaf_Plugin_Abstract::postDispatch() - El propósito de postDispatch
  • Yaf_Plugin_Abstract::dispatchLoopShutdown() - El propósito de dispatchLoopShutdown
Yaf_Plugin_Abstract::routerShutdown
Yaf_Registry
Yaf_Plugin_Abstract


La clase Yaf_Registry

(Yaf >=1.0.0)

Introducción

Todos los métodos de la clase Yaf_Registry están declarados estáticos, haciéndolos universalmente accesibles. Esto proporciona la capacidad de obtener o establecer cualquier información personalizada de cualquier modo en el código como sea necesario.

Sinopsis de la Clase

Yaf_Registry {
/* Propiedades */
static $_instance ;
protected $_entries ;
/* Métodos */
private void __clone ( void )
__construct ( void )
public static void del ( string $name )
public static mixed get ( string $name )
public static bool has ( string $name )
public static bool set ( string $name , string $value )
}

Propiedades

_instance

_entries

Tabla de contenidos

  • Yaf_Registry::__clone — El propósito de __clone
  • Yaf_Registry::__construct — Yaf_Registry implementa singleton
  • Yaf_Registry::del — Elimina un elemento del registro
  • Yaf_Registry::get — Recupera un elemento del registro
  • Yaf_Registry::has — Comprueba si existe un elemento
  • Yaf_Registry::set — Añade un elemento al registro
Yaf_Plugin_Abstract::routerStartup
Yaf_Registry::__clone
Yaf


El propósito de __clone

Yaf_Registry
Yaf_Registry::__construct
Yaf_Registry
PHP Manual

Yaf_Registry::__clone

(Yaf >=1.0.0)

Yaf_Registry::__clone — El propósito de __clone

Descripción

private void Yaf_Registry::__clone ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Registry
Yaf_Registry::__construct
Yaf_Registry


Yaf_Registry implementa singleton

Yaf_Registry::__clone
Yaf_Registry::del
Yaf_Registry
PHP Manual

Yaf_Registry::__construct

(Yaf >=1.0.0)

Yaf_Registry::__construct — Yaf_Registry implementa singleton

Descripción

Yaf_Registry::__construct ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Registry::__clone
Yaf_Registry::del
Yaf_Registry


Elimina un elemento del registro

Yaf_Registry::__construct
Yaf_Registry::get
Yaf_Registry
PHP Manual

Yaf_Registry::del

(Yaf >=1.0.0)

Yaf_Registry::del — Elimina un elemento del registro

Descripción

public static void Yaf_Registry::del ( string $name )

Elimina un elemento del registro.

Parámetros

name

Valores devueltos

Yaf_Registry::__construct
Yaf_Registry::get
Yaf_Registry


Recupera un elemento del registro

Yaf_Registry::del
Yaf_Registry::has
Yaf_Registry
PHP Manual

Yaf_Registry::get

(Yaf >=1.0.0)

Yaf_Registry::get — Recupera un elemento del registro

Descripción

public static mixed Yaf_Registry::get ( string $name )

Recupera un elemento del registro.

Parámetros

name

Valores devueltos

Yaf_Registry::del
Yaf_Registry::has
Yaf_Registry


Comprueba si existe un elemento

Yaf_Registry::get
Yaf_Registry::set
Yaf_Registry
PHP Manual

Yaf_Registry::has

(Yaf >=1.0.0)

Yaf_Registry::has — Comprueba si existe un elemento

Descripción

public static bool Yaf_Registry::has ( string $name )

Comprueba si existe un elemento.

Parámetros

name

Valores devueltos

Yaf_Registry::get
Yaf_Registry::set
Yaf_Registry


Añade un elemento al registro

Yaf_Registry::has
Yaf_Request_Abstract
Yaf_Registry
PHP Manual

Yaf_Registry::set

(Yaf >=1.0.0)

Yaf_Registry::set — Añade un elemento al registro

Descripción

public static bool Yaf_Registry::set ( string $name , string $value )

Añade un elemento al registro.

Parámetros

name

value

Valores devueltos

Yaf_Registry::has
Yaf_Request_Abstract
Yaf_Registry


La clase Yaf_Request_Abstract

(Yaf >=1.0.0)

Introducción

Sinopsis de la Clase

Yaf_Request_Abstract {
/* Constantes */
const string SCHEME_HTTP = http ;
const string SCHEME_HTTPS = https ;
/* Propiedades */
public $module ;
public $controller ;
public $action ;
public $method ;
protected $params ;
protected $language ;
protected $_exception ;
protected $_base_uri ;
protected $uri ;
protected $dispatched ;
protected $routed ;
/* Métodos */
public void getActionName ( void )
public void getBaseUri ( void )
public void getControllerName ( void )
public void getEnv ( string $name [, string $default ] )
public void getException ( void )
public void getLanguage ( void )
public void getMethod ( void )
public void getModuleName ( void )
public void getParam ( string $name [, string $default ] )
public void getParams ( void )
public void getRequestUri ( void )
public void getServer ( string $name [, string $default ] )
public void isCli ( void )
public void isDispatched ( void )
public void isGet ( void )
public void isHead ( void )
public void isOptions ( void )
public void isPost ( void )
public void isPut ( void )
public void isRouted ( void )
public void isXmlHttpRequest ( void )
public void setActionName ( string $action )
public bool setBaseUri ( string $uir )
public void setControllerName ( string $controller )
public void setDispatched ( void )
public void setModuleName ( string $module )
public void setParam ( string $name [, string $value ] )
public void setRequestUri ( string $uir )
public void setRouted ([ string $flag ] )
}

Propiedades

module

controller

action

method

params

language

_exception

_base_uri

uri

dispatched

routed

Constantes predefinidas

Yaf_Request_Abstract::SCHEME_HTTP

Yaf_Request_Abstract::SCHEME_HTTPS

Tabla de contenidos

  • Yaf_Request_Abstract::getActionName — El propósito de getActionName
  • Yaf_Request_Abstract::getBaseUri — El propósito de getBaseUri
  • Yaf_Request_Abstract::getControllerName — El propósito de getControllerName
  • Yaf_Request_Abstract::getEnv — Recupera la variable ENV
  • Yaf_Request_Abstract::getException — El propósito de getException
  • Yaf_Request_Abstract::getLanguage — El propósito de getLanguage
  • Yaf_Request_Abstract::getMethod — El propósito de getMethod
  • Yaf_Request_Abstract::getModuleName — El propósito de getModuleName
  • Yaf_Request_Abstract::getParam — El propósito de getParam
  • Yaf_Request_Abstract::getParams — El propósito de getParams
  • Yaf_Request_Abstract::getRequestUri — El propósito de getRequestUri
  • Yaf_Request_Abstract::getServer — Recupera la variable SERVER
  • Yaf_Request_Abstract::isCli — El propósito de isCli
  • Yaf_Request_Abstract::isDispatched — El propósito de isDispatched
  • Yaf_Request_Abstract::isGet — El propósito de isGet
  • Yaf_Request_Abstract::isHead — El propósito de isHead
  • Yaf_Request_Abstract::isOptions — El propósito de isOptions
  • Yaf_Request_Abstract::isPost — El propósito de isPost
  • Yaf_Request_Abstract::isPut — El propósito de isPut
  • Yaf_Request_Abstract::isRouted — El propósito de isRouted
  • Yaf_Request_Abstract::isXmlHttpRequest — El propósito de isXmlHttpRequest
  • Yaf_Request_Abstract::setActionName — El propósito de setActionName
  • Yaf_Request_Abstract::setBaseUri — Establecer el URI base
  • Yaf_Request_Abstract::setControllerName — El propósito de setControllerName
  • Yaf_Request_Abstract::setDispatched — El propósito de setDispatched
  • Yaf_Request_Abstract::setModuleName — El propósito de setModuleName
  • Yaf_Request_Abstract::setParam — El propósito de setParam
  • Yaf_Request_Abstract::setRequestUri — El propósito de setRequestUri
  • Yaf_Request_Abstract::setRouted — El propósito de setRouted
Yaf_Registry::set
Yaf_Request_Abstract::getActionName
Yaf


El propósito de getActionName

Yaf_Request_Abstract
Yaf_Request_Abstract::getBaseUri
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getActionName

(Yaf >=1.0.0)

Yaf_Request_Abstract::getActionName — El propósito de getActionName

Descripción

public void Yaf_Request_Abstract::getActionName ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Abstract
Yaf_Request_Abstract::getBaseUri
Yaf_Request_Abstract


El propósito de getBaseUri

Yaf_Request_Abstract::getActionName
Yaf_Request_Abstract::getControllerName
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getBaseUri

(Yaf >=1.0.0)

Yaf_Request_Abstract::getBaseUri — El propósito de getBaseUri

Descripción

public void Yaf_Request_Abstract::getBaseUri ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Abstract::getActionName
Yaf_Request_Abstract::getControllerName
Yaf_Request_Abstract


El propósito de getControllerName

Yaf_Request_Abstract::getBaseUri
Yaf_Request_Abstract::getEnv
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getControllerName

(Yaf >=1.0.0)

Yaf_Request_Abstract::getControllerName — El propósito de getControllerName

Descripción

public void Yaf_Request_Abstract::getControllerName ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Abstract::getBaseUri
Yaf_Request_Abstract::getEnv
Yaf_Request_Abstract


Recupera la variable ENV

Yaf_Request_Abstract::getControllerName
Yaf_Request_Abstract::getException
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getEnv

(Yaf >=1.0.0)

Yaf_Request_Abstract::getEnv — Recupera la variable ENV

Descripción

public void Yaf_Request_Abstract::getEnv ( string $name [, string $default ] )

Recupera la variable ENV.

Parámetros

name

El nombre de la varaible.

default

Si se proporciona este parámetro, se devolverá si la variable no puede ser encontrada.

Valores devueltos

Ver también

  • Yaf_Request_Abstract::getServer
  • Yaf_Request_Abstract::getParam
Yaf_Request_Abstract::getControllerName
Yaf_Request_Abstract::getException
Yaf_Request_Abstract


El propósito de getException

Yaf_Request_Abstract::getEnv
Yaf_Request_Abstract::getLanguage
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getException

(Yaf >=1.0.0)

Yaf_Request_Abstract::getException — El propósito de getException

Descripción

public void Yaf_Request_Abstract::getException ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Abstract::getEnv
Yaf_Request_Abstract::getLanguage
Yaf_Request_Abstract


El propósito de getLanguage

Yaf_Request_Abstract::getException
Yaf_Request_Abstract::getMethod
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getLanguage

(Yaf >=1.0.0)

Yaf_Request_Abstract::getLanguage — El propósito de getLanguage

Descripción

public void Yaf_Request_Abstract::getLanguage ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Abstract::getException
Yaf_Request_Abstract::getMethod
Yaf_Request_Abstract


El propósito de getMethod

Yaf_Request_Abstract::getLanguage
Yaf_Request_Abstract::getModuleName
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getMethod

(Yaf >=1.0.0)

Yaf_Request_Abstract::getMethod — El propósito de getMethod

Descripción

public void Yaf_Request_Abstract::getMethod ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Abstract::getLanguage
Yaf_Request_Abstract::getModuleName
Yaf_Request_Abstract


El propósito de getModuleName

Yaf_Request_Abstract::getMethod
Yaf_Request_Abstract::getParam
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getModuleName

(Yaf >=1.0.0)

Yaf_Request_Abstract::getModuleName — El propósito de getModuleName

Descripción

public void Yaf_Request_Abstract::getModuleName ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Abstract::getMethod
Yaf_Request_Abstract::getParam
Yaf_Request_Abstract


El propósito de getParam

Yaf_Request_Abstract::getModuleName
Yaf_Request_Abstract::getParams
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getParam

(Yaf >=1.0.0)

Yaf_Request_Abstract::getParam — El propósito de getParam

Descripción

public void Yaf_Request_Abstract::getParam ( string $name [, string $default ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

default

Valores devueltos

Yaf_Request_Abstract::getModuleName
Yaf_Request_Abstract::getParams
Yaf_Request_Abstract


El propósito de getParams

Yaf_Request_Abstract::getParam
Yaf_Request_Abstract::getRequestUri
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getParams

(Yaf >=1.0.0)

Yaf_Request_Abstract::getParams — El propósito de getParams

Descripción

public void Yaf_Request_Abstract::getParams ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Abstract::getParam
Yaf_Request_Abstract::getRequestUri
Yaf_Request_Abstract


El propósito de getRequestUri

Yaf_Request_Abstract::getParams
Yaf_Request_Abstract::getServer
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getRequestUri

(Yaf >=1.0.0)

Yaf_Request_Abstract::getRequestUri — El propósito de getRequestUri

Descripción

public void Yaf_Request_Abstract::getRequestUri ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Abstract::getParams
Yaf_Request_Abstract::getServer
Yaf_Request_Abstract


Recupera la variable SERVER

Yaf_Request_Abstract::getRequestUri
Yaf_Request_Abstract::isCli
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getServer

(Yaf >=1.0.0)

Yaf_Request_Abstract::getServer — Recupera la variable SERVER

Descripción

public void Yaf_Request_Abstract::getServer ( string $name [, string $default ] )

Recupera la variable SERVER.

Parámetros

name

El nombre de la variable

default

Si se proporciona este parámetro, se devolverá si la variable no puede ser encontrada.

Valores devueltos

Ver también

  • Yaf_Request_Abstract::getParam
  • Yaf_Request_Abstract::getEnv
Yaf_Request_Abstract::getRequestUri
Yaf_Request_Abstract::isCli
Yaf_Request_Abstract


El propósito de isCli

Yaf_Request_Abstract::getServer
Yaf_Request_Abstract::isDispatched
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::isCli

(Yaf >=1.0.0)

Yaf_Request_Abstract::isCli — El propósito de isCli

Descripción

public void Yaf_Request_Abstract::isCli ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Abstract::getServer
Yaf_Request_Abstract::isDispatched
Yaf_Request_Abstract


El propósito de isDispatched

Yaf_Request_Abstract::isCli
Yaf_Request_Abstract::isGet
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::isDispatched

(Yaf >=1.0.0)

Yaf_Request_Abstract::isDispatched — El propósito de isDispatched

Descripción

public void Yaf_Request_Abstract::isDispatched ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Abstract::isCli
Yaf_Request_Abstract::isGet
Yaf_Request_Abstract


El propósito de isGet

Yaf_Request_Abstract::isDispatched
Yaf_Request_Abstract::isHead
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::isGet

(Yaf >=1.0.0)

Yaf_Request_Abstract::isGet — El propósito de isGet

Descripción

public void Yaf_Request_Abstract::isGet ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Abstract::isDispatched
Yaf_Request_Abstract::isHead
Yaf_Request_Abstract


El propósito de isHead

Yaf_Request_Abstract::isGet
Yaf_Request_Abstract::isOptions
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::isHead

(Yaf >=1.0.0)

Yaf_Request_Abstract::isHead — El propósito de isHead

Descripción

public void Yaf_Request_Abstract::isHead ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Abstract::isGet
Yaf_Request_Abstract::isOptions
Yaf_Request_Abstract


El propósito de isOptions

Yaf_Request_Abstract::isHead
Yaf_Request_Abstract::isPost
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::isOptions

(Yaf >=1.0.0)

Yaf_Request_Abstract::isOptions — El propósito de isOptions

Descripción

public void Yaf_Request_Abstract::isOptions ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Abstract::isHead
Yaf_Request_Abstract::isPost
Yaf_Request_Abstract


El propósito de isPost

Yaf_Request_Abstract::isOptions
Yaf_Request_Abstract::isPut
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::isPost

(Yaf >=1.0.0)

Yaf_Request_Abstract::isPost — El propósito de isPost

Descripción

public void Yaf_Request_Abstract::isPost ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Abstract::isOptions
Yaf_Request_Abstract::isPut
Yaf_Request_Abstract


El propósito de isPut

Yaf_Request_Abstract::isPost
Yaf_Request_Abstract::isRouted
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::isPut

(Yaf >=1.0.0)

Yaf_Request_Abstract::isPut — El propósito de isPut

Descripción

public void Yaf_Request_Abstract::isPut ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Abstract::isPost
Yaf_Request_Abstract::isRouted
Yaf_Request_Abstract


El propósito de isRouted

Yaf_Request_Abstract::isPut
Yaf_Request_Abstract::isXmlHttpRequest
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::isRouted

(Yaf >=1.0.0)

Yaf_Request_Abstract::isRouted — El propósito de isRouted

Descripción

public void Yaf_Request_Abstract::isRouted ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Abstract::isPut
Yaf_Request_Abstract::isXmlHttpRequest
Yaf_Request_Abstract


El propósito de isXmlHttpRequest

Yaf_Request_Abstract::isRouted
Yaf_Request_Abstract::setActionName
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::isXmlHttpRequest

(Yaf >=1.0.0)

Yaf_Request_Abstract::isXmlHttpRequest — El propósito de isXmlHttpRequest

Descripción

public void Yaf_Request_Abstract::isXmlHttpRequest ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Abstract::isRouted
Yaf_Request_Abstract::setActionName
Yaf_Request_Abstract


El propósito de setActionName

Yaf_Request_Abstract::isXmlHttpRequest
Yaf_Request_Abstract::setBaseUri
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::setActionName

(Yaf >=1.0.0)

Yaf_Request_Abstract::setActionName — El propósito de setActionName

Descripción

public void Yaf_Request_Abstract::setActionName ( string $action )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

action

Valores devueltos

Yaf_Request_Abstract::isXmlHttpRequest
Yaf_Request_Abstract::setBaseUri
Yaf_Request_Abstract


Establecer el URI base

Yaf_Request_Abstract::setActionName
Yaf_Request_Abstract::setControllerName
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::setBaseUri

(Yaf >=1.0.0)

Yaf_Request_Abstract::setBaseUri — Establecer el URI base

Descripción

public bool Yaf_Request_Abstract::setBaseUri ( string $uir )

Establece el URI base. El URI base se usa al enrutar. En la fase de enrutamiento, el URI solicitado se usa para enrutar una petición, mientras que es URI base para saltar la parte anterior(URI base) del URI solicitado. Esto es, si viene una petición con un URI solicitado como a/b/c, si se establece el URI base a "a/b", se usará solamente "/c" en la fase de enrutamiento.

Nota:

Generalmente, no es necesario establecer esto, Yaf lo determinará automáticamente.

Parámetros

uir

El URI base

Valores devueltos

booleano

Yaf_Request_Abstract::setActionName
Yaf_Request_Abstract::setControllerName
Yaf_Request_Abstract


El propósito de setControllerName

Yaf_Request_Abstract::setBaseUri
Yaf_Request_Abstract::setDispatched
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::setControllerName

(Yaf >=1.0.0)

Yaf_Request_Abstract::setControllerName — El propósito de setControllerName

Descripción

public void Yaf_Request_Abstract::setControllerName ( string $controller )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

controller

Valores devueltos

Yaf_Request_Abstract::setBaseUri
Yaf_Request_Abstract::setDispatched
Yaf_Request_Abstract


El propósito de setDispatched

Yaf_Request_Abstract::setControllerName
Yaf_Request_Abstract::setModuleName
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::setDispatched

(Yaf >=1.0.0)

Yaf_Request_Abstract::setDispatched — El propósito de setDispatched

Descripción

public void Yaf_Request_Abstract::setDispatched ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Abstract::setControllerName
Yaf_Request_Abstract::setModuleName
Yaf_Request_Abstract


El propósito de setModuleName

Yaf_Request_Abstract::setDispatched
Yaf_Request_Abstract::setParam
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::setModuleName

(Yaf >=1.0.0)

Yaf_Request_Abstract::setModuleName — El propósito de setModuleName

Descripción

public void Yaf_Request_Abstract::setModuleName ( string $module )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

module

Valores devueltos

Yaf_Request_Abstract::setDispatched
Yaf_Request_Abstract::setParam
Yaf_Request_Abstract


El propósito de setParam

Yaf_Request_Abstract::setModuleName
Yaf_Request_Abstract::setRequestUri
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::setParam

(Yaf >=1.0.0)

Yaf_Request_Abstract::setParam — El propósito de setParam

Descripción

public void Yaf_Request_Abstract::setParam ( string $name [, string $value ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

value

Valores devueltos

Yaf_Request_Abstract::setModuleName
Yaf_Request_Abstract::setRequestUri
Yaf_Request_Abstract


El propósito de setRequestUri

Yaf_Request_Abstract::setParam
Yaf_Request_Abstract::setRouted
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::setRequestUri

(Yaf >=2.1.0)

Yaf_Request_Abstract::setRequestUri — El propósito de setRequestUri

Descripción

public void Yaf_Request_Abstract::setRequestUri ( string $uir )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

uir

Valores devueltos

Yaf_Request_Abstract::setParam
Yaf_Request_Abstract::setRouted
Yaf_Request_Abstract


El propósito de setRouted

Yaf_Request_Abstract::setRequestUri
Yaf_Request_Http
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::setRouted

(Yaf >=1.0.0)

Yaf_Request_Abstract::setRouted — El propósito de setRouted

Descripción

public void Yaf_Request_Abstract::setRouted ([ string $flag ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

flag

Valores devueltos

Yaf_Request_Abstract::setRequestUri
Yaf_Request_Http
Yaf_Request_Abstract


La clase Yaf_Request_Http

(Yaf >=1.0.0)

Introducción

Sinopsis de la Clase

Yaf_Request_Http extends Yaf_Request_Abstract {
/* Propiedades */
/* Métodos */
private void __clone ( void )
__construct ( void )
public mixed get ( string $name [, string $default ] )
public mixed getCookie ( string $name [, string $default ] )
public void getFiles ( void )
public mixed getPost ( string $name [, string $default ] )
public mixed getQuery ( string $name [, string $default ] )
public void getRequest ( void )
public bool isXmlHttpRequest ( void )
/* Métodos heredados */
public void Yaf_Request_Abstract::getActionName ( void )
public void Yaf_Request_Abstract::getBaseUri ( void )
public void Yaf_Request_Abstract::getControllerName ( void )
public void Yaf_Request_Abstract::getEnv ( string $name [, string $default ] )
public void Yaf_Request_Abstract::getException ( void )
public void Yaf_Request_Abstract::getLanguage ( void )
public void Yaf_Request_Abstract::getMethod ( void )
public void Yaf_Request_Abstract::getModuleName ( void )
public void Yaf_Request_Abstract::getParam ( string $name [, string $default ] )
public void Yaf_Request_Abstract::getParams ( void )
public void Yaf_Request_Abstract::getRequestUri ( void )
public void Yaf_Request_Abstract::getServer ( string $name [, string $default ] )
public void Yaf_Request_Abstract::isCli ( void )
public void Yaf_Request_Abstract::isDispatched ( void )
public void Yaf_Request_Abstract::isGet ( void )
public void Yaf_Request_Abstract::isHead ( void )
public void Yaf_Request_Abstract::isOptions ( void )
public void Yaf_Request_Abstract::isPost ( void )
public void Yaf_Request_Abstract::isPut ( void )
public void Yaf_Request_Abstract::isRouted ( void )
public void Yaf_Request_Abstract::isXmlHttpRequest ( void )
public void Yaf_Request_Abstract::setActionName ( string $action )
public bool Yaf_Request_Abstract::setBaseUri ( string $uir )
public void Yaf_Request_Abstract::setControllerName ( string $controller )
public void Yaf_Request_Abstract::setDispatched ( void )
public void Yaf_Request_Abstract::setModuleName ( string $module )
public void Yaf_Request_Abstract::setParam ( string $name [, string $value ] )
public void Yaf_Request_Abstract::setRequestUri ( string $uir )
public void Yaf_Request_Abstract::setRouted ([ string $flag ] )
}

Propiedades

module

controller

action

method

params

language

_exception

_base_uri

uri

dispatched

routed

Tabla de contenidos

  • Yaf_Request_Http::__clone — El propósito de __clone
  • Yaf_Request_Http::__construct — El propósito de __construct
  • Yaf_Request_Http::get — Recupera una variable del cliente
  • Yaf_Request_Http::getCookie — Recupera una varible de Cookie
  • Yaf_Request_Http::getFiles — El propósito de getFiles
  • Yaf_Request_Http::getPost — Recupera una variable de POST
  • Yaf_Request_Http::getQuery — Obtiene un parámetro de una consulta
  • Yaf_Request_Http::getRequest — El propósito de getRequest
  • Yaf_Request_Http::isXmlHttpRequest — Comprueba si una consulta es de Ajax
Yaf_Request_Abstract::setRouted
Yaf_Request_Http::__clone
Yaf


El propósito de __clone

Yaf_Request_Http
Yaf_Request_Http::__construct
Yaf_Request_Http
PHP Manual

Yaf_Request_Http::__clone

(Yaf >=1.0.0)

Yaf_Request_Http::__clone — El propósito de __clone

Descripción

private void Yaf_Request_Http::__clone ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Http
Yaf_Request_Http::__construct
Yaf_Request_Http


El propósito de __construct

Yaf_Request_Http::__clone
Yaf_Request_Http::get
Yaf_Request_Http
PHP Manual

Yaf_Request_Http::__construct

(Yaf >=1.0.0)

Yaf_Request_Http::__construct — El propósito de __construct

Descripción

Yaf_Request_Http::__construct ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Http::__clone
Yaf_Request_Http::get
Yaf_Request_Http


Recupera una variable del cliente

Yaf_Request_Http::__construct
Yaf_Request_Http::getCookie
Yaf_Request_Http
PHP Manual

Yaf_Request_Http::get

(Yaf >=1.0.0)

Yaf_Request_Http::get — Recupera una variable del cliente

Descripción

public mixed Yaf_Request_Http::get ( string $name [, string $default ] )

Recupera una variable del cliente. Este método buscará el nombre dado por name en los parámetros de solicitud, y si no se encuetra el nombre, buscará en POST, GET, Cookie, Server

Parámetros

name

El nombre de la variable.

default

Si se proporciona este parámetro, será devuelto si no se pudo encontrar la variable.

Valores devueltos

Ver también

  • Yaf_Request_Http::getQuery
  • Yaf_Request_Http::getPost
  • Yaf_Request_Http::getCookie
  • Yaf_Request_Http::getServer
  • Yaf_Request_Http::getParam
Yaf_Request_Http::__construct
Yaf_Request_Http::getCookie
Yaf_Request_Http


Recupera una varible de Cookie

Yaf_Request_Http::get
Yaf_Request_Http::getFiles
Yaf_Request_Http
PHP Manual

Yaf_Request_Http::getCookie

(Yaf >=1.0.0)

Yaf_Request_Http::getCookie — Recupera una varible de Cookie

Descripción

public mixed Yaf_Request_Http::getCookie ( string $name [, string $default ] )

Recupera una varible de Cookie.

Parámetros

name

El nombre de la cookie.

default

Si se proporciona este parámetro, será devuelto si no se pudo encontrar la cookie.

Valores devueltos

Ver también

  • Yaf_Request_Http::get
  • Yaf_Request_Http::getQuery
  • Yaf_Request_Http::getPost
  • Yaf_Request_Http::getServer
  • Yaf_Request_Http::getParam
Yaf_Request_Http::get
Yaf_Request_Http::getFiles
Yaf_Request_Http


El propósito de getFiles

Yaf_Request_Http::getCookie
Yaf_Request_Http::getPost
Yaf_Request_Http
PHP Manual

Yaf_Request_Http::getFiles

(Yaf >=1.0.0)

Yaf_Request_Http::getFiles — El propósito de getFiles

Descripción

public void Yaf_Request_Http::getFiles ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Http::getCookie
Yaf_Request_Http::getPost
Yaf_Request_Http


Recupera una variable de POST

Yaf_Request_Http::getFiles
Yaf_Request_Http::getQuery
Yaf_Request_Http
PHP Manual

Yaf_Request_Http::getPost

(Yaf >=1.0.0)

Yaf_Request_Http::getPost — Recupera una variable de POST

Descripción

public mixed Yaf_Request_Http::getPost ( string $name [, string $default ] )

Recupera una variable de POST.

Parámetros

name

El nombre de la variable.

default

Si se proporciona este parámetro, será devuelto si no se pudo encontrar la variable.

Valores devueltos

Ver también

  • Yaf_Request_Http::get
  • Yaf_Request_Http::getQuery
  • Yaf_Request_Http::getCookie
  • Yaf_Request_Http::getServer
  • Yaf_Request_Http::getParam
Yaf_Request_Http::getFiles
Yaf_Request_Http::getQuery
Yaf_Request_Http


Obtiene un parámetro de una consulta

Yaf_Request_Http::getPost
Yaf_Request_Http::getRequest
Yaf_Request_Http
PHP Manual

Yaf_Request_Http::getQuery

(Yaf >=1.0.0)

Yaf_Request_Http::getQuery — Obtiene un parámetro de una consulta

Descripción

public mixed Yaf_Request_Http::getQuery ( string $name [, string $default ] )

Recupera una variable de GET.

Parámetros

name

El nombre de la variable.

default

Si se proporciona este parámetro, será devuelto si no se pudo encontrar la variable.

Valores devueltos

Ver también

  • Yaf_Request_Http::get
  • Yaf_Request_Http::getPost
  • Yaf_Request_Http::getCookie
  • Yaf_Request_Http::getServer
  • Yaf_Request_Http::getParam
Yaf_Request_Http::getPost
Yaf_Request_Http::getRequest
Yaf_Request_Http


El propósito de getRequest

Yaf_Request_Http::getQuery
Yaf_Request_Http::isXmlHttpRequest
Yaf_Request_Http
PHP Manual

Yaf_Request_Http::getRequest

(Yaf >=1.0.0)

Yaf_Request_Http::getRequest — El propósito de getRequest

Descripción

public void Yaf_Request_Http::getRequest ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Http::getQuery
Yaf_Request_Http::isXmlHttpRequest
Yaf_Request_Http


Comprueba si una consulta es de Ajax

Yaf_Request_Http::getRequest
Yaf_Request_Simple
Yaf_Request_Http
PHP Manual

Yaf_Request_Http::isXmlHttpRequest

(Yaf >=1.0.0)

Yaf_Request_Http::isXmlHttpRequest — Comprueba si una consulta es de Ajax

Descripción

public bool Yaf_Request_Http::isXmlHttpRequest ( void )

Comprueba si la petición es una Consulta Ajax.

Nota:

Este método depende de la cabecera de petición: HTTP_X_REQUESTED_WITH, algunas bibliotecas de Javascript no establecen esta cabecera mientras se realiza una petición Ajax.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Http::getRequest
Yaf_Request_Simple
Yaf_Request_Http


La clase Yaf_Request_Simple

(Yaf >=1.0.0)

Introducción

Yaf_Request_Simple se utiliza en particular para propósitos de pruebas. Es decir, simula alguna petición especial bajo el modo CLI.

Sinopsis de la Clase

Yaf_Request_Simple extends Yaf_Request_Abstract {
/* Constantes */
const string SCHEME_HTTP = http ;
const string SCHEME_HTTPS = https ;
/* Propiedades */
/* Métodos */
private void __clone ( void )
__construct ( void )
public void get ( void )
public void getCookie ( void )
public void getFiles ( void )
public void getPost ( void )
public void getQuery ( void )
public void getRequest ( void )
public void isXmlHttpRequest ( void )
/* Métodos heredados */
public void Yaf_Request_Abstract::getActionName ( void )
public void Yaf_Request_Abstract::getBaseUri ( void )
public void Yaf_Request_Abstract::getControllerName ( void )
public void Yaf_Request_Abstract::getEnv ( string $name [, string $default ] )
public void Yaf_Request_Abstract::getException ( void )
public void Yaf_Request_Abstract::getLanguage ( void )
public void Yaf_Request_Abstract::getMethod ( void )
public void Yaf_Request_Abstract::getModuleName ( void )
public void Yaf_Request_Abstract::getParam ( string $name [, string $default ] )
public void Yaf_Request_Abstract::getParams ( void )
public void Yaf_Request_Abstract::getRequestUri ( void )
public void Yaf_Request_Abstract::getServer ( string $name [, string $default ] )
public void Yaf_Request_Abstract::isCli ( void )
public void Yaf_Request_Abstract::isDispatched ( void )
public void Yaf_Request_Abstract::isGet ( void )
public void Yaf_Request_Abstract::isHead ( void )
public void Yaf_Request_Abstract::isOptions ( void )
public void Yaf_Request_Abstract::isPost ( void )
public void Yaf_Request_Abstract::isPut ( void )
public void Yaf_Request_Abstract::isRouted ( void )
public void Yaf_Request_Abstract::isXmlHttpRequest ( void )
public void Yaf_Request_Abstract::setActionName ( string $action )
public bool Yaf_Request_Abstract::setBaseUri ( string $uir )
public void Yaf_Request_Abstract::setControllerName ( string $controller )
public void Yaf_Request_Abstract::setDispatched ( void )
public void Yaf_Request_Abstract::setModuleName ( string $module )
public void Yaf_Request_Abstract::setParam ( string $name [, string $value ] )
public void Yaf_Request_Abstract::setRequestUri ( string $uir )
public void Yaf_Request_Abstract::setRouted ([ string $flag ] )
}

Propiedades

module

controller

action

method

params

language

_exception

_base_uri

uri

dispatched

routed

Constantes predefinidas

Yaf_Request_Simple::SCHEME_HTTP

Yaf_Request_Simple::SCHEME_HTTPS

Tabla de contenidos

  • Yaf_Request_Simple::__clone — El propósito de __clone
  • Yaf_Request_Simple::__construct — El propósito de __construct
  • Yaf_Request_Simple::get — El propósito de get
  • Yaf_Request_Simple::getCookie — El propósito de getCookie
  • Yaf_Request_Simple::getFiles — El propósito de getFiles
  • Yaf_Request_Simple::getPost — El propósito de getPost
  • Yaf_Request_Simple::getQuery — El propósito de getQuery
  • Yaf_Request_Simple::getRequest — El propósito de getRequest
  • Yaf_Request_Simple::isXmlHttpRequest — El propósito de isXmlHttpRequest
Yaf_Request_Http::isXmlHttpRequest
Yaf_Request_Simple::__clone
Yaf


El propósito de __clone

Yaf_Request_Simple
Yaf_Request_Simple::__construct
Yaf_Request_Simple
PHP Manual

Yaf_Request_Simple::__clone

(Yaf >=1.0.0)

Yaf_Request_Simple::__clone — El propósito de __clone

Descripción

private void Yaf_Request_Simple::__clone ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Simple
Yaf_Request_Simple::__construct
Yaf_Request_Simple


El propósito de __construct

Yaf_Request_Simple::__clone
Yaf_Request_Simple::get
Yaf_Request_Simple
PHP Manual

Yaf_Request_Simple::__construct

(Yaf >=1.0.0)

Yaf_Request_Simple::__construct — El propósito de __construct

Descripción

Yaf_Request_Simple::__construct ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Simple::__clone
Yaf_Request_Simple::get
Yaf_Request_Simple


El propósito de get

Yaf_Request_Simple::__construct
Yaf_Request_Simple::getCookie
Yaf_Request_Simple
PHP Manual

Yaf_Request_Simple::get

(Yaf >=1.0.0)

Yaf_Request_Simple::get — El propósito de get

Descripción

public void Yaf_Request_Simple::get ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Simple::__construct
Yaf_Request_Simple::getCookie
Yaf_Request_Simple


El propósito de getCookie

Yaf_Request_Simple::get
Yaf_Request_Simple::getFiles
Yaf_Request_Simple
PHP Manual

Yaf_Request_Simple::getCookie

(Yaf >=1.0.0)

Yaf_Request_Simple::getCookie — El propósito de getCookie

Descripción

public void Yaf_Request_Simple::getCookie ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Simple::get
Yaf_Request_Simple::getFiles
Yaf_Request_Simple


El propósito de getFiles

Yaf_Request_Simple::getCookie
Yaf_Request_Simple::getPost
Yaf_Request_Simple
PHP Manual

Yaf_Request_Simple::getFiles

(Yaf >=1.0.0)

Yaf_Request_Simple::getFiles — El propósito de getFiles

Descripción

public void Yaf_Request_Simple::getFiles ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Simple::getCookie
Yaf_Request_Simple::getPost
Yaf_Request_Simple


El propósito de getPost

Yaf_Request_Simple::getFiles
Yaf_Request_Simple::getQuery
Yaf_Request_Simple
PHP Manual

Yaf_Request_Simple::getPost

(Yaf >=1.0.0)

Yaf_Request_Simple::getPost — El propósito de getPost

Descripción

public void Yaf_Request_Simple::getPost ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Simple::getFiles
Yaf_Request_Simple::getQuery
Yaf_Request_Simple


El propósito de getQuery

Yaf_Request_Simple::getPost
Yaf_Request_Simple::getRequest
Yaf_Request_Simple
PHP Manual

Yaf_Request_Simple::getQuery

(Yaf >=1.0.0)

Yaf_Request_Simple::getQuery — El propósito de getQuery

Descripción

public void Yaf_Request_Simple::getQuery ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Simple::getPost
Yaf_Request_Simple::getRequest
Yaf_Request_Simple


El propósito de getRequest

Yaf_Request_Simple::getQuery
Yaf_Request_Simple::isXmlHttpRequest
Yaf_Request_Simple
PHP Manual

Yaf_Request_Simple::getRequest

(Yaf >=1.0.0)

Yaf_Request_Simple::getRequest — El propósito de getRequest

Descripción

public void Yaf_Request_Simple::getRequest ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Simple::getQuery
Yaf_Request_Simple::isXmlHttpRequest
Yaf_Request_Simple


El propósito de isXmlHttpRequest

Yaf_Request_Simple::getRequest
Yaf_Response_Abstract
Yaf_Request_Simple
PHP Manual

Yaf_Request_Simple::isXmlHttpRequest

(Yaf >=1.0.0)

Yaf_Request_Simple::isXmlHttpRequest — El propósito de isXmlHttpRequest

Descripción

public void Yaf_Request_Simple::isXmlHttpRequest ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Request_Simple::getRequest
Yaf_Response_Abstract
Yaf_Request_Simple


La clase Yaf_Response_Abstract

(Yaf >=1.0.0)

Introducción

Sinopsis de la Clase

Yaf_Response_Abstract {
/* Constants */
const string DEFAULT_BODY = "content" ;
/* Propiedades */
protected $_header ;
protected $_body ;
protected $_sendheader ;
/* Métodos */
public bool appendBody ( string $content [, string $key ] )
public bool clearBody ([ string $key ] )
public void clearHeaders ( void )
private void __clone ( void )
public __construct ( void )
public void __destruct ( void )
public mixed getBody ([ string $key ] )
public void getHeader ( void )
public bool prependBody ( string $content [, string $key ] )
public void response ( void )
protected void setAllHeaders ( void )
public bool setBody ( string $content [, string $key ] )
public void setHeader ( void )
public void setRedirect ( void )
private void __toString ( void )
}

Propiedades

_header

_body

_sendheader

Tabla de contenidos

  • Yaf_Response_Abstract::appendBody — Añadir contenido al cuerpo
  • Yaf_Response_Abstract::clearBody — El propósito de clearBody
  • Yaf_Response_Abstract::clearHeaders — El propósito de clearHeaders
  • Yaf_Response_Abstract::__clone — El propósito de __clone
  • Yaf_Response_Abstract::__construct — El propósito de __construct
  • Yaf_Response_Abstract::__destruct — El propósito de __destruct
  • Yaf_Response_Abstract::getBody — Recupera un contenido existente
  • Yaf_Response_Abstract::getHeader — El propósito de getHeader
  • Yaf_Response_Abstract::prependBody — El propósito de prependBody
  • Yaf_Response_Abstract::response — Envía una respuesta
  • Yaf_Response_Abstract::setAllHeaders — El propósito de setAllHeaders
  • Yaf_Response_Abstract::setBody — Establece el contenido de una respuesta
  • Yaf_Response_Abstract::setHeader — El propósito de setHeader
  • Yaf_Response_Abstract::setRedirect — El propósito de setRedirect
  • Yaf_Response_Abstract::__toString — El propósito de __toString
Yaf_Request_Simple::isXmlHttpRequest
Yaf_Response_Abstract::appendBody
Yaf


Añadir contenido al cuerpo

Yaf_Response_Abstract
Yaf_Response_Abstract::clearBody
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::appendBody

(Yaf >=1.0.0)

Yaf_Response_Abstract::appendBody — Añadir contenido al cuerpo

Descripción

public bool Yaf_Response_Abstract::appendBody ( string $content [, string $key ] )

Añade contenido a un bloque de contenido existente.

Parámetros

body

La cadena con el contenido.

key

La clave del contenido, se puede establecer un contenido con una clave, y si no se especifica, se usará Yaf_Response_Abstract::DEFAULT_BODY.

Nota:

Este parámetro se introdujo a partir de la versión 2.2.0

Valores devueltos

Un valor de tipo booleano.

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Response_Abstract::appendBody()

<?php
$respuesta = new Yaf_Response_Http();

$respuesta->setBody("Hola")->prependBody(" Mundo");

echo $respuesta;
?>

El resultado del ejemplo sería algo similar a:

Hola Mundo

Ver también

  • Yaf_Config_Ini

Ver también

  • Yaf_Response_Abstract::getBody() - Recupera un contenido existente
  • Yaf_Response_Abstract::setBody() - Establece el contenido de una respuesta
  • Yaf_Response_Abstract::prependBody() - El propósito de prependBody
  • Yaf_Response_Abstract::clearBody() - El propósito de clearBody
Yaf_Response_Abstract
Yaf_Response_Abstract::clearBody
Yaf_Response_Abstract


El propósito de clearBody

Yaf_Response_Abstract::appendBody
Yaf_Response_Abstract::clearHeaders
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::clearBody

(Yaf >=1.0.0)

Yaf_Response_Abstract::clearBody — El propósito de clearBody

Descripción

public bool Yaf_Response_Abstract::clearBody ([ string $key ] )

Limpia el contenido existente.

Parámetros

key

La clave del contenido, si no se especifica, todo el contenido será limpiado.

Nota:

Este parámetro se introdujo a partir de la versión 2.2.0

Valores devueltos

Ver también

  • Yaf_Response_Abstract::setBody() - Establece el contenido de una respuesta
  • Yaf_Response_Abstract::appendBody() - Añadir contenido al cuerpo
  • Yaf_Response_Abstract::prependBody() - El propósito de prependBody
  • Yaf_Response_Abstract::getBody() - Recupera un contenido existente
Yaf_Response_Abstract::appendBody
Yaf_Response_Abstract::clearHeaders
Yaf_Response_Abstract


El propósito de clearHeaders

Yaf_Response_Abstract::clearBody
Yaf_Response_Abstract::__clone
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::clearHeaders

(Yaf >=1.0.0)

Yaf_Response_Abstract::clearHeaders — El propósito de clearHeaders

Descripción

public void Yaf_Response_Abstract::clearHeaders ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Response_Abstract::clearBody
Yaf_Response_Abstract::__clone
Yaf_Response_Abstract


El propósito de __clone

Yaf_Response_Abstract::clearHeaders
Yaf_Response_Abstract::__construct
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::__clone

(Yaf >=1.0.0)

Yaf_Response_Abstract::__clone — El propósito de __clone

Descripción

private void Yaf_Response_Abstract::__clone ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Response_Abstract::clearHeaders
Yaf_Response_Abstract::__construct
Yaf_Response_Abstract


El propósito de __construct

Yaf_Response_Abstract::__clone
Yaf_Response_Abstract::__destruct
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::__construct

(Yaf >=1.0.0)

Yaf_Response_Abstract::__construct — El propósito de __construct

Descripción

public Yaf_Response_Abstract::__construct ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Response_Abstract::__clone
Yaf_Response_Abstract::__destruct
Yaf_Response_Abstract


El propósito de __destruct

Yaf_Response_Abstract::__construct
Yaf_Response_Abstract::getBody
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::__destruct

(Yaf >=1.0.0)

Yaf_Response_Abstract::__destruct — El propósito de __destruct

Descripción

public void Yaf_Response_Abstract::__destruct ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Response_Abstract::__construct
Yaf_Response_Abstract::getBody
Yaf_Response_Abstract


Recupera un contenido existente

Yaf_Response_Abstract::__destruct
Yaf_Response_Abstract::getHeader
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::getBody

(Yaf >=1.0.0)

Yaf_Response_Abstract::getBody — Recupera un contenido existente

Descripción

public mixed Yaf_Response_Abstract::getBody ([ string $key ] )

Recupera un contenido existente.

Parámetros

key

La clave del contenido, si no se especifica, se usará Yaf_Response_Abstract::DEFAULT_BODY. Si se pasa NULL, todos el contenido será devuelto como un array.

Nota:

Este parámetro se introdujo en la versión 2.2.0

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Response_Abstract::getBody()

<?php
$respuesta = new Yaf_Response_Http();

$respuesta->setBody("Hola")->setBody(" Mundo", "footer");

var_dump($respuesta->getBody()); // predeterminado
var_dump($respuesta->getBody(Yaf_Response_Abstract::DEFAULT_BODY)); // lo mismo que arriba
var_dump($respuesta->getBody("footer"));
var_dump($respuesta->getBody(NULL)); // obtener todo
?>

El resultado del ejemplo sería algo similar a:

string(4) "Hola"
string(4) "Hola"
string(6) " Mundo"
array(2) {
  ["content"]=>
  string(4) "Hola"
  ["footer"]=>
  string(6) " Mundo"
}

Ver también

  • Yaf_Response_Abstract::setBody() - Establece el contenido de una respuesta
  • Yaf_Response_Abstract::appendBody() - Añadir contenido al cuerpo
  • Yaf_Response_Abstract::prependBody() - El propósito de prependBody
  • Yaf_Response_Abstract::clearBody() - El propósito de clearBody
Yaf_Response_Abstract::__destruct
Yaf_Response_Abstract::getHeader
Yaf_Response_Abstract


El propósito de getHeader

Yaf_Response_Abstract::getBody
Yaf_Response_Abstract::prependBody
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::getHeader

(Yaf >=1.0.0)

Yaf_Response_Abstract::getHeader — El propósito de getHeader

Descripción

public void Yaf_Response_Abstract::getHeader ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Response_Abstract::getBody
Yaf_Response_Abstract::prependBody
Yaf_Response_Abstract


El propósito de prependBody

Yaf_Response_Abstract::getHeader
Yaf_Response_Abstract::response
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::prependBody

(Yaf >=1.0.0)

Yaf_Response_Abstract::prependBody — El propósito de prependBody

Descripción

public bool Yaf_Response_Abstract::prependBody ( string $content [, string $key ] )

Antepone un contenido a un bloque de contenido existente

Parámetros

body

La cadena con el contenido.

key

La clave del contenido, se puede establecer una clave, y so no se especifica, se usará Yaf_Response_Abstract::DEFAULT_BODY.

Nota:

Este parámetro se introdujo a partir de la versión 2.2.0.

Valores devueltos

Un valor de tipo booleano.

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Response_Abstract::prependBody()

<?php
$respuesta = new Yaf_Response_Http();

$respuesta->setBody("Mundo")->prependBody("Hola ");

echo $respuesta;
?>

El resultado del ejemplo sería algo similar a:

Hola Mundo

Ver también

  • Yaf_Response_Abstract::getBody() - Recupera un contenido existente
  • Yaf_Response_Abstract::setBody() - Establece el contenido de una respuesta
  • Yaf_Response_Abstract::appendBody() - Añadir contenido al cuerpo
  • Yaf_Response_Abstract::clearBody() - El propósito de clearBody
Yaf_Response_Abstract::getHeader
Yaf_Response_Abstract::response
Yaf_Response_Abstract


Envía una respuesta

Yaf_Response_Abstract::prependBody
Yaf_Response_Abstract::setAllHeaders
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::response

(Yaf >=1.0.0)

Yaf_Response_Abstract::response — Envía una respuesta

Descripción

public void Yaf_Response_Abstract::response ( void )

Envía una respuesta.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Response_Abstract::response()

<?php
$respuesta = new Yaf_Response_Http();

$respuesta->setBody("Hola")->setBody(" Mundo", "footer");

$respuesta->respuesta();
?>

El resultado del ejemplo sería algo similar a:

Hola Mundo

Ver también

  • Yaf_Response_Abstract::setBody() - Establece el contenido de una respuesta
  • Yaf_Response_Abstract::clearBody() - El propósito de clearBody
Yaf_Response_Abstract::prependBody
Yaf_Response_Abstract::setAllHeaders
Yaf_Response_Abstract


El propósito de setAllHeaders

Yaf_Response_Abstract::response
Yaf_Response_Abstract::setBody
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::setAllHeaders

(Yaf >=1.0.0)

Yaf_Response_Abstract::setAllHeaders — El propósito de setAllHeaders

Descripción

protected void Yaf_Response_Abstract::setAllHeaders ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Response_Abstract::response
Yaf_Response_Abstract::setBody
Yaf_Response_Abstract


Establece el contenido de una respuesta

Yaf_Response_Abstract::setAllHeaders
Yaf_Response_Abstract::setHeader
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::setBody

(Yaf >=1.0.0)

Yaf_Response_Abstract::setBody — Establece el contenido de una respuesta

Descripción

public bool Yaf_Response_Abstract::setBody ( string $content [, string $key ] )

Establece el contenido de una respuesta.

Parámetros

body

La cadena con el contenido.

key

La clave del contenido, se puede establecer una clave, y so no se especifica, se usará Yaf_Response_Abstract::DEFAULT_BODY.

Nota:

Este parámetro se introdujo a partir de la versión 2.2.0.

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Response_Abstract::setBody()

<?php
$respuesta = new Yaf_Response_Http();

$respuesta->setBody("Hola")->setBody(" Mundo", "footer");

print_r($respuesta);
echo $respuesta;
?>

El resultado del ejemplo sería algo similar a:

Yaf_Response_Http Object
(
    [_header:protected] => Array
        (
        )

    [_body:protected] => Array
        (
            [content] => Hola
            [footer] =>  Mundo
        )

    [_sendheader:protected] => 1
    [_response_code:protected] => 200
)
Hola Mundo

Ver también

  • Yaf_Response_Abstract::getBody() - Recupera un contenido existente
  • Yaf_Response_Abstract::appendBody() - Añadir contenido al cuerpo
  • Yaf_Response_Abstract::prependBody() - El propósito de prependBody
  • Yaf_Response_Abstract::clearBody() - El propósito de clearBody
Yaf_Response_Abstract::setAllHeaders
Yaf_Response_Abstract::setHeader
Yaf_Response_Abstract


El propósito de setHeader

Yaf_Response_Abstract::setBody
Yaf_Response_Abstract::setRedirect
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::setHeader

(Yaf >=1.0.0)

Yaf_Response_Abstract::setHeader — El propósito de setHeader

Descripción

public void Yaf_Response_Abstract::setHeader ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Response_Abstract::setBody
Yaf_Response_Abstract::setRedirect
Yaf_Response_Abstract


El propósito de setRedirect

Yaf_Response_Abstract::setHeader
Yaf_Response_Abstract::__toString
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::setRedirect

(Yaf >=1.0.0)

Yaf_Response_Abstract::setRedirect — El propósito de setRedirect

Descripción

public void Yaf_Response_Abstract::setRedirect ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Response_Abstract::setHeader
Yaf_Response_Abstract::__toString
Yaf_Response_Abstract


El propósito de __toString

Yaf_Response_Abstract::setRedirect
Yaf_Route_Interface
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::__toString

(Yaf >=1.0.0)

Yaf_Response_Abstract::__toString — El propósito de __toString

Descripción

private void Yaf_Response_Abstract::__toString ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Response_Abstract::setRedirect
Yaf_Route_Interface
Yaf_Response_Abstract


La clase Yaf_Route_Interface

(Yaf >=1.0.0)

Introducción

Yaf_Route_Interface se usa para que los desarrolladores definan sus enrutamientos personalizados.

Sinopsis de la Clase

Yaf_Route_Interface {
/* Métodos */
abstract public bool route ( Yaf_Request_Abstract $request )
}

Tabla de contenidos

  • Yaf_Route_Interface::route — Enruta una petición
Yaf_Response_Abstract::__toString
Yaf_Route_Interface::route
Yaf


Enruta una petición

Yaf_Route_Interface
Yaf_Route_Map
Yaf_Route_Interface
PHP Manual

Yaf_Route_Interface::route

(Yaf >=1.0.0)

Yaf_Route_Interface::route — Enruta una petición

Descripción

abstract public bool Yaf_Route_Interface::route ( Yaf_Request_Abstract $request )

Yaf_Route_Interface::route() es el único método que debería implementar un enrutamiento personalizado.

Si este método devuelve TRUE, el proceso de enrutamiento terminará, de otro modo Yaf_Router llamará a la siguiente ruta de la pila de enrutamiento para enrutar la petición.

Este método establecería el resultado del enrutamiento al parámetro request,
llamando a los métodos  Yaf_Request_Abstract::setControllerName(),
 Yaf_Request_Abstract::setActionName() y
 Yaf_Request_Abstract::setModuleName().

Este método debería también llamar al método Yaf_Request_Abstract::setRouted() para realizar al fin la petición enrutada.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

request

Una instancia de la clase Yaf_Request_Abstract.

Valores devueltos

Yaf_Route_Interface
Yaf_Route_Map
Yaf_Route_Interface


La clase Yaf_Route_Map

(Yaf >=1.0.0)

Introducción

Yaf_Route_Map es una ruta interna, simplemente convierte el extremo de un URI (la parte del URI que va después del URI base: véase Yaf_Request_Abstract::setBaseUri()) a un nombre de controlador o acción (dependen del parámetro pasado a Yaf_Route_Map::__construct()) en la siguiente regla: A => controlador A. A/B/C => controlador A_B_C. A/B/C/D/E => controlador A_B_C_D_E.

Si se especifica el segundo parámetro de Yaf_Route_Map::__construct(), solamente la parte de antes del delimitador del URI se usará para enrutar, la parte de después se usa para enrutar parámetros de petición (véase la sección de ejemplos de Yaf_Route_Map::__construct()).

Sinopsis de la Clase

Yaf_Route_Map implements Yaf_Route_Interface {
/* Propiedades */
protected $_ctl_router ;
protected $_delimeter ;
/* Métodos */
public __construct ([ string $controller_prefer = false [, string $delimiter = '' ]] )
public bool route ( Yaf_Request_Abstract $request )
}

Propiedades

_ctl_router

_delimeter

Tabla de contenidos

  • Yaf_Route_Map::__construct — El propósito de __construct
  • Yaf_Route_Map::route — El propósito de route
Yaf_Route_Interface::route
Yaf_Route_Map::__construct
Yaf


El propósito de __construct

Yaf_Route_Map
Yaf_Route_Map::route
Yaf_Route_Map
PHP Manual

Yaf_Route_Map::__construct

(Yaf >=1.0.0)

Yaf_Route_Map::__construct — El propósito de __construct

Descripción

public Yaf_Route_Map::__construct ([ string $controller_prefer = false [, string $delimiter = '' ]] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

controller_prefer

Si el resultado debería considerarse un controlador o una acción

delimiter

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Route_Map()

<?php
   /**
    * Añadir una ruta de mapas a la pila de enrutamiento de Yaf_Router
    */
    Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
        new Yaf_Route_Map());
?>

El resultado del ejemplo sería algo similar a:

/* para http://sudominio.com/producto/foo/bar
 * la ruta resultará en los siguiente valores:
 */
array(
  "controller" => "producto_foo_bar",
)

Ejemplo #2 Ejemplo de Yaf_Route_Map()

<?php
   /**
    * Añadir una ruta de mapas a la pila de enrutamiento de Yaf_Router
    */
    Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
        new Yaf_Route_Map(true, "_"));
?>

El resultado del ejemplo sería algo similar a:

/* para http://sudominio.com/user/list/_/foo/22
 * la ruta resultará en los siguientes valores:
 */
array(
    "action" => "user_list",
)

/**
 * y los parámetros de petición:
 */
array(
  "foo"   => 22,
)

Ejemplo #3 Yaf_Route_Map()example

<?php
   /**
    * Añadir una ruta de mapas a la pila de enrutamiento de Yaf_Router llamando a addconfig
    */
    $config = array(
        "name" => array(
           "type"  => "map",         //Yaf_Route_Map route
           "controllerPrefer" => FALSE,
           "delimiter"        => "#!",
           ),
    );
    Yaf_Dispatcher::getInstance()->getRouter()->addConfig(
        new Yaf_Config_Simple($config));
?>

Ver también

  • Yaf_Router::addRoute() - Añadir una nueva ruta al Enrutador
  • Yaf_Route_Static
  • Yaf_Route_Supervar
  • Yaf_Route_Simple
  • Yaf_Route_Regex
  • Yaf_Route_Rewrite
Yaf_Route_Map
Yaf_Route_Map::route
Yaf_Route_Map


El propósito de route

Yaf_Route_Map::__construct
Yaf_Route_Regex
Yaf_Route_Map
PHP Manual

Yaf_Route_Map::route

(Yaf >=1.0.0)

Yaf_Route_Map::route — El propósito de route

Descripción

public bool Yaf_Route_Map::route ( Yaf_Request_Abstract $request )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

request

Valores devueltos

Yaf_Route_Map::__construct
Yaf_Route_Regex
Yaf_Route_Map


La clase Yaf_Route_Regex

(Yaf >=1.0.0)

Introducción

Yaf_Route_Regex es la ruta más flexible entre las rutas integradas de Yaf.

Sinopsis de la Clase

Yaf_Route_Regex extends Yaf_Route_Interface implements Yaf_Route_Interface {
/* Propiedades */
protected $_route ;
protected $_default ;
protected $_maps ;
protected $_verify ;
/* Métodos */
public __construct ( string $match , array $route [, array $map [, array $verify ]] )
public bool route ( Yaf_Request_Abstract $request )
/* Métodos heredados */
abstract public bool Yaf_Route_Interface::route ( Yaf_Request_Abstract $request )
}

Propiedades

_route

_default

_maps

_verify

Tabla de contenidos

  • Yaf_Route_Regex::__construct — El propósito de __construct
  • Yaf_Route_Regex::route — El propósito de route
Yaf_Route_Map::route
Yaf_Route_Regex::__construct
Yaf


El propósito de __construct

Yaf_Route_Regex
Yaf_Route_Regex::route
Yaf_Route_Regex
PHP Manual

Yaf_Route_Regex::__construct

(Yaf >=1.0.0)

Yaf_Route_Regex::__construct — El propósito de __construct

Descripción

public Yaf_Route_Regex::__construct ( string $match , array $route [, array $map [, array $verify ]] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

match

Un patrón de expresión regular completo, se usará para comparar un URI solicitado, si no coincide, Yaf_Route_Regex devolverá FALSE.

route

Cuando el patrón de comparación coincida con el URI solicitado, Yaf_Route_Regex lo usará para decidir qué m/c/a enrutar.

m/c/a en este array son opcionales, si no se asigna un valor específico, será enrutada al valor predeterminado.

map

Un array para asignar nombres a las capturas del resultado de comparación.

verify

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Route_Regex()

<?php
   /**
    * Añade una ruta de expresión regular a la pila de enrutamiento de Yaf_Router
    */
    Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
        new Yaf_Route_Regex(
           "#^/product/([^/]+)/([^/])+#", //comparar los URI solicitados que empiecen por "/product"
           array(
               'controller' => "product",  //ruta al controlador product,
           ),
           array(
              1 => "name",   // ahora se puede llamar a $request->getParam("name")
              2 => "id",     // para obtener la primera captura del patrón de comparación.
           )
        )
    );
?>

Ejemplo #2 Ejemplo de Yaf_Route_Regex()

<?php
   /**
    * Add a regex route to Yaf_Router route stack by calling addconfig
    */
    $config = array(
        "name" => array(
           "type"  => "regex",          //ruta Yaf_Route_Regex
           "match" => "#(.*)#",         //comparar URIs solicitados arbitrarios
           "route" => array(
               'controller' => "product",  //ruta al controlador product,
               'action'     => "dummy",    //ruta a una acción sin sentido
           ),
           "map" => array(
              1 => "uri",   // ahora se puede llamar a $request->getParam("uri")
           ),
        ),
    );
    Yaf_Dispatcher::getInstance()->getRouter()->addConfig(
        new Yaf_Config_Simple($config));
?>

Ver también

  • Yaf_Router::addRoute() - Añadir una nueva ruta al Enrutador
  • Yaf_Router::addConfig() - Añadir rutas definidas en configuración al Enrutador
  • Yaf_Route_Static
  • Yaf_Route_Supervar
  • Yaf_Route_Simple
  • Yaf_Route_Rewrite
  • Yaf_Route_Map
Yaf_Route_Regex
Yaf_Route_Regex::route
Yaf_Route_Regex


El propósito de route

Yaf_Route_Regex::__construct
Yaf_Route_Rewrite
Yaf_Route_Regex
PHP Manual

Yaf_Route_Regex::route

(Yaf >=1.0.0)

Yaf_Route_Regex::route — El propósito de route

Descripción

public bool Yaf_Route_Regex::route ( Yaf_Request_Abstract $request )

Enruta una petición entrante.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

request

Valores devueltos

Si el patrón dado por el primer parámetro de Yaf_Route_Regex::_construct() coincide con el URI solicitado, devuelve TRUE, si no devuelve FALSE.

Yaf_Route_Regex::__construct
Yaf_Route_Rewrite
Yaf_Route_Regex


La clase Yaf_Route_Rewrite

(Yaf >=1.0.0)

Introducción

Para su uso, veáse la sección de ejemplos de Yaf_Route_Rewrite::__construct()

Sinopsis de la Clase

Yaf_Route_Rewrite extends Yaf_Route_Interface implements Yaf_Route_Interface {
/* Propiedades */
protected $_route ;
protected $_default ;
protected $_verify ;
/* Métodos */
public __construct ( string $match , array $route [, array $verify ] )
public bool route ( Yaf_Request_Abstract $request )
/* Métodos heredados */
abstract public bool Yaf_Route_Interface::route ( Yaf_Request_Abstract $request )
}

Propiedades

_route

_default

_verify

Tabla de contenidos

  • Yaf_Route_Rewrite::__construct — Constructor de Yaf_Route_Rewrite
  • Yaf_Route_Rewrite::route — El propósito de route
Yaf_Route_Regex::route
Yaf_Route_Rewrite::__construct
Yaf


Constructor de Yaf_Route_Rewrite

Yaf_Route_Rewrite
Yaf_Route_Rewrite::route
Yaf_Route_Rewrite
PHP Manual

Yaf_Route_Rewrite::__construct

(Yaf >=1.0.0)

Yaf_Route_Rewrite::__construct — Constructor de Yaf_Route_Rewrite

Descripción

public Yaf_Route_Rewrite::__construct ( string $match , array $route [, array $verify ] )

Parámetros

match

Un patrón de expresión regular completo, se usará para comparar un URI solicitado, si no coincide, Yaf_Route_Regex devolverá FALSE.

route

Cuando el patrón de comparación coincida con el URI solicitado, Yaf_Route_Regex lo usará para decidir qué m/c/a enrutar.

m/c/a en este array son opcionales, si no se asigna un valor específico, será enrutada al valor predeterminado.

verify

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Route_Rewrite()

<?php
   /**
    * Añadir una ruta de reescritura a la pila de rutas de Yaf_Router
    */
    Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
        new Yaf_Route_rewrite(
           "/product/:name/:id/*", //match request uri leading "/product"
           array(
               'controller' => "product",  //route to product controller,
           ),
        )
    );
?>

El resultado del ejemplo sería algo similar a:

/* para http://yourdomain.com/product/foo/22/foo/bar
 * la ruta resultará en los siguientes valores:
 */
array(
  "controller" => "product",
  "module"     => "index", //(default)
  "action"     => "index", //(default)
)

/**
 * y los parámetros de petición:
 */
array(
  "name" => "foo",
  "id"   => 22,
  "foo"  => bar
)

Ejemplo #2 Ejemplo de Yaf_Route_Rewrite()

<?php
   /**
    * Añadir una ruta de reescritura a la pila de rutas de Yaf_Router llamando a addconfig
    */
    $config = array(
        "name" => array(
           "type"  => "rewrite",        //Yaf_Route_Rewrite route
           "match" => "/user-list/:id", //match only /user/list/?/
           "route" => array(
               'controller' => "user",  //route to user controller,
               'action'     => "list",  //route to list action
           ),
        ),
    );
    Yaf_Dispatcher::getInstance()->getRouter()->addConfig(
        new Yaf_Config_Simple($config));
?>

El resultado del ejemplo sería algo similar a:

/* para http://yourdomain.com/user-list/22
 * la ruta resultará en los siguientes valores:
 */
array(
  "controller" => "user",
  "action"     => "list",
  "module"     => "index", //(default)
)

/**
 * y los parámetros de petición:
 */
array(
  "id"   => 22,
)

Ver también

  • Yaf_Router::addRoute() - Añadir una nueva ruta al Enrutador
  • Yaf_Router::addConfig() - Añadir rutas definidas en configuración al Enrutador
  • Yaf_Route_Static
  • Yaf_Route_Supervar
  • Yaf_Route_Simple
  • Yaf_Route_Regex
  • Yaf_Route_Map
Yaf_Route_Rewrite
Yaf_Route_Rewrite::route
Yaf_Route_Rewrite


El propósito de route

Yaf_Route_Rewrite::__construct
Yaf_Router
Yaf_Route_Rewrite
PHP Manual

Yaf_Route_Rewrite::route

(Yaf >=1.0.0)

Yaf_Route_Rewrite::route — El propósito de route

Descripción

public bool Yaf_Route_Rewrite::route ( Yaf_Request_Abstract $request )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

request

Valores devueltos

Yaf_Route_Rewrite::__construct
Yaf_Router
Yaf_Route_Rewrite


La clase Yaf_Router

(Yaf >=1.0.0)

Introducción

Yaf_Router es el enrutador estándar del framework. Enrutar es el proceso de tomar un extremo de un URI (la parte del URI que va antes del URL base: véase Yaf_Request_Abstract::setBaseUri()) y descomponerlo en parámetros para determinar qué módulo, controlador, y acción de ese controlador deberían recibir la petición. Estos valores de módulo, controlador, acción y demás parámetros, son empaquetados en un objeto Yaf_Request_Abstract que es procesado por Yaf_Dispatcher. El enrutamiento sucede sólo una vez: cuando la petición es recibida inicialmente y antes de que el primer controlador sea despachado. La clase Yaf_Router está diseñada para una funcionalidad parecida a la directiva mod_rewrite usando simples estructuras de PHP. Está basada indirectamente en el enrutamiento de Ruby on Rails y no requiere ningún conocimiento previo de la reescritura de URL del servidor web. Está diseñada para funcionar con una simple regla de la directiva mod_rewrite de Apache (una de):

Ejemplo #1 Regla de reescritura para Apache

RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css|html)$ index.php
o (preferible):

Ejemplo #2 Regla de reescritura para Apache

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
Si se usa Lighttpd, la siguiente regla de reescritura es válida:

Ejemplo #3 Regla de reescritura para Lighttpd

url.rewrite-once = (
  ".*\?(.*)$" => "/index.php?$1",
  ".*\.(js|ico|gif|jpg|png|css|html)$" => "$0",
  "" => "/index.php"
)
Si se usa Nginx, utilice la siguiente regla de reescritura:

Ejemplo #4 Regla de reescritura para Nginx

server {
  listen ****;
  server_name  yourdomain.com;
  root   document_root;
  index  index.php index.html;

  if (!-e $request_filename) {
    rewrite ^/(.*)  /index.php/$1 last;
  }
}

Enrutamiento predeterminado

Yaf_Router comes viene preconfigurada con un enrutamiento Yaf_Route_Static predeterminado, el cual comparará URIs en la forma de controlador/acción. Además, se puede especificar un nombre de módulo como el primer elemento de la ruta, permitiendo URIs de la forma módulo/controlador/acción. Finalmente, también comparará cualquier parámetro adicional añadido al URI por omisión - controlador/acción/variable1/valor1/variable2/valor2.

Nota:

El nombre del módulo debe estar definido en la configuración, considerando application.module="Index,Foo,Bar", en este caso, solamente index, foo y bar pueden ser considerados como un nombre de módulo; si no está configurado, sólo existe un nombre de módulo llamado "Index".

Algunos ejemplos de cómo tales enrutamientos son comparados:

Ejemplo #5 Ejemplo de Yaf_Route_Static (ruta predeterminada)

// Se asume la siguiente configuración:
$conf = array(
   "application" => array(
      "modules" => "Index,Blog",
   ),
);

Solamente el controlador:
http://example/news
    controller == news
Solamente la acción (al definir yaf.action_prefer=1 en php.ini)
    action  == news

Un módulo inválido mapea el nombre del controlador:
http://example/foo
    controller == foo

Módulo + controlador:
http://example/blog/archive
    module     == blog
    controller == archive

Módulo + controlador + acción:
http://example/blog/archive/list
    module     == blog
    controller == archive
    action     == list

Módulo + controlador + acción + parámetros:
http://example/blog/archive/list/sort/alpha/date/desc
    module     == blog
    controller == archive
    action     == list
    sort       == alpha
    date       == desc

Sinopsis de la Clase

Yaf_Router {
/* Propiedades */
protected $_routes ;
protected $_current ;
/* Métodos */
public bool addConfig ( Yaf_Config_Abstract $config )
public bool addRoute ( string $name , Yaf_Route_Abstract $route )
public __construct ( void )
public string getCurrentRoute ( void )
public Yaf_Route_Interface getRoute ( string $name )
public mixed getRoutes ( void )
public bool route ( Yaf_Request_Abstract $request )
}

Propiedades

_routes

Pila de rutas registradas

_current

Después de la fase de enrutamiento, esto indica el nombre de la ruta a usar para enrutar la petición actual. Se puede obtener este nombre mediante Yaf_Router::getCurrentRoute().

Tabla de contenidos

  • Yaf_Router::addConfig — Añadir rutas definidas en configuración al Enrutador
  • Yaf_Router::addRoute — Añadir una nueva ruta al Enrutador
  • Yaf_Router::__construct — El constructor de Yaf_Router
  • Yaf_Router::getCurrentRoute — Obtener el nombre de la ruta efectiva
  • Yaf_Router::getRoute — Recupera una ruta por su nombre
  • Yaf_Router::getRoutes — Recupera las rutas registradas
  • Yaf_Router::route — El propósito de route
Yaf_Route_Rewrite::route
Yaf_Router::addConfig
Yaf


Añadir rutas definidas en configuración al Enrutador

Yaf_Router
Yaf_Router::addRoute
Yaf_Router
PHP Manual

Yaf_Router::addConfig

(Yaf >=1.0.0)

Yaf_Router::addConfig — Añadir rutas definidas en configuración al Enrutador

Descripción

public bool Yaf_Router::addConfig ( Yaf_Config_Abstract $config )

Añade rutas definidas mediante configuraciones en la pila de rutas de Yaf_Router

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Una instancia de Yaf_Config_Abstract, la cual debería contener una o más configuraciones de rutas válidas.

Ejemplos

Ejemplo #1 Ejemplo de application.ini()

;el orden es muy importante, el primero será llamado en primer lugar

;a rewrite route match request /product/*/*
routes.route_name.type="rewrite"
routes.route_name.match="/product/:name/:value"
routes.route_name.route.controller=product
routes.route_name.route.action=info

;a regex route match request /list/*/*
routes.route_name1.type="regex"
routes.route_name1.match="#^list/([^/]*)/([^/]*)#"
routes.route_name1.route.controller=Index
routes.route_name1.route.action=action
routes.route_name1.map.1=name
routes.route_name1.map.2=value

;a simple route match /**?c=controller&a=action&m=module
routes.route_name2.type="simple"
routes.route_name2.controller=c
routes.route_name2.module=m
routes.route_name2.action=a

;a simple router match /**?r=PATH_INFO
routes.route_name3.type="supervar"
routes.route_name3.varname=r

;a map route match any request to controller
routes.route_name4.type="map"
routes.route_name4.controllerPrefer=TRUE
routes.route_namer.delimiter="#!"

Ejemplo #2 Ejemplo de Yaf_Dispatcher::autoConfig()

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract{
    public function _initConfig() {
        $config = Yaf_Application::app()->getConfig();
        Yaf_Registry::set("config", $config);
    }

    public function _initRoute(Yaf_Dispatcher $dispatcher) {
        $router = $dispatcher->getRouter();
        /**
         * podemos añadir algunas rutas predefinidas en application.ini
         */
        $router->addConfig(Yaf_Registry::get("config")->routes);
    }
?>

Ver también

  • Yaf_Router::addRoute() - Añadir una nueva ruta al Enrutador
  • Yaf_Route_Static
  • Yaf_Route_Supervar
  • Yaf_Route_Simple
  • Yaf_Route_Regex
  • Yaf_Route_Rewrite
  • Yaf_Route_Map
Yaf_Router
Yaf_Router::addRoute
Yaf_Router


Añadir una nueva ruta al Enrutador

Yaf_Router::addConfig
Yaf_Router::__construct
Yaf_Router
PHP Manual

Yaf_Router::addRoute

(Yaf >=1.0.0)

Yaf_Router::addRoute — Añadir una nueva ruta al Enrutador

Descripción

public bool Yaf_Router::addRoute ( string $name , Yaf_Route_Abstract $route )

Por defecto, Yaf_Router usa un Yaf_Route_Static como su ruta predeterminada. Se pueden añadir nuevas rutas a la pila de rutas del Enrutador llamando a este método.

La ruta más nueva será llamada antes que la más antigua (pila de rutas), y si la ruta más nueva devuelve TRUE, el proceso de enrutamiento finalizará. De otro modo, será llamada la ruta más antigua.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Dispatcher::autoRender()

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract{
    public function _initConfig() {
        $config = Yaf_Application::app()->getConfig();
        Yaf_Registry::set("config", $config);
    }

    public function _initRoute(Yaf_Dispatcher $dispatcher) {
        $router = $dispatcher->getRouter();
        /**
         * podemos añadir algunas rutas predefinidas en application.ini
         */
        $router->addConfig(Yaf_Registry::get("config")->routes);
        /**
         * add a Rewrite route, then for a request uri:
         * http://***/product/list/22/foo
         * will be matched by this route, and result:
         *
         *  [module] =>
         *  [controller] => product
         *  [action] => info
         *  [method] => GET
         *  [params:protected] => Array
         *      (
         *          [id] => 22
         *          [name] => foo
         *      )
         *
         */
        $route  = new Yaf_Route_Rewrite(
            "/product/list/:id/:name",
            array(
                "controller" => "product",
                "action"     => "info",
            )
        );

        $router->addRoute('dummy', $route);
    }
?>

Ver también

  • Yaf_Router::addConfig() - Añadir rutas definidas en configuración al Enrutador
  • Yaf_Route_Static
  • Yaf_Route_Supervar
  • Yaf_Route_Simple
  • Yaf_Route_Regex
  • Yaf_Route_Rewrite
  • Yaf_Route_Map
Yaf_Router::addConfig
Yaf_Router::__construct
Yaf_Router


El constructor de Yaf_Router

Yaf_Router::addRoute
Yaf_Router::getCurrentRoute
Yaf_Router
PHP Manual

Yaf_Router::__construct

(Yaf >=1.0.0)

Yaf_Router::__construct — El constructor de Yaf_Router

Descripción

public Yaf_Router::__construct ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Router::addRoute
Yaf_Router::getCurrentRoute
Yaf_Router


Obtener el nombre de la ruta efectiva

Yaf_Router::__construct
Yaf_Router::getRoute
Yaf_Router
PHP Manual

Yaf_Router::getCurrentRoute

(Yaf >=1.0.0)

Yaf_Router::getCurrentRoute — Obtener el nombre de la ruta efectiva

Descripción

public string Yaf_Router::getCurrentRoute ( void )

Obtiene el nombre de la ruta efectiva del proceso de enrutamiento.

Nota:

Se debería llamar a este método después de que finalice el proceso de enrutamiento, ya que si se hace antes, este método devolverá siempre NULL.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Una cadena, el nombre de la ruta efectiva.

Ejemplos

Ejemplo #1 Registrar algunas rutas en el Arranque

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract{
    public function _initConfig() {
        $config = Yaf_Application::app()->getConfig();
        Yaf_Registry::set("config", $config);
    }

    public function _initRoute(Yaf_Dispatcher $dispatcher) {
        $router = $dispatcher->getRouter();
        $rewrite_route  = new Yaf_Route_Rewrite(
            "/product/list/:page",
            array(
                "controller" => "product",
                "action"     => "list",
            )
        );

        $regex_route  = new Yaf_Route_Rewrite(
            "#^/product/info/(\d+)",
            array(
                "controller" => "product",
                "action"     => "info",
            )
        );

        $router->addRoute('rewrite', $rewrite_route)->addRoute('regex', $regex_route);
    }

    /**
     * registrar un complemento
     */
    public function __initPlugins(Yaf_Dispatcher $dispatcher) {
        $dispatcher->registerPlugin(new DummyPlugin());
    }
?>

Ejemplo #2 Complemento Dummy.php (bajo application.directory/plugins)

<?php
class DummyPlugin extends Yaf_Plugin_Abstract {

    public function routerShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
         var_dump(Yaf_Dispatcher::getInstance()->getRouter()->getCurrentRoute());
    }
?>
?>

El resultado del ejemplo sería algo similar a:

/* para http://yourdomain.com/product/list/1
 * DummyPlugin imprimirá:
 */
string(7) "rewrite"

/* para http://yourdomain.com/product/info/34
 * DummyPlugin imprimirá:
 */
string(5) "regex"

/* para otros URIs solicitados
 * DummyPlugin imprimirá:
 */
string(8) "_default"

Ver también

  • Yaf_Bootstrap_Abstract
  • Yaf_Plugin_Abstract
  • Yaf_Router::addRoute() - Añadir una nueva ruta al Enrutador
Yaf_Router::__construct
Yaf_Router::getRoute
Yaf_Router


Recupera una ruta por su nombre

Yaf_Router::getCurrentRoute
Yaf_Router::getRoutes
Yaf_Router
PHP Manual

Yaf_Router::getRoute

(Yaf >=1.0.0)

Yaf_Router::getRoute — Recupera una ruta por su nombre

Descripción

public Yaf_Route_Interface Yaf_Router::getRoute ( string $name )

Recupera una ruta por su nombre. Véase también Yaf_Router::getCurrentRoute()

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Ver también

  • Yaf_Bootstrap_Abstract
  • Yaf_Plugin_Abstract
  • Yaf_Router::addRoute() - Añadir una nueva ruta al Enrutador
  • Yaf_Router::getCurrentRoute() - Obtener el nombre de la ruta efectiva
Yaf_Router::getCurrentRoute
Yaf_Router::getRoutes
Yaf_Router


Recupera las rutas registradas

Yaf_Router::getRoute
Yaf_Router::route
Yaf_Router
PHP Manual

Yaf_Router::getRoutes

(Yaf >=1.0.0)

Yaf_Router::getRoutes — Recupera las rutas registradas

Descripción

public mixed Yaf_Router::getRoutes ( void )

Recupera las rutas registradas.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Router::getRoute
Yaf_Router::route
Yaf_Router


El propósito de route

Yaf_Router::getRoutes
Yaf_Route_Simple
Yaf_Router
PHP Manual

Yaf_Router::route

(Yaf >=1.0.0)

Yaf_Router::route — El propósito de route

Descripción

public bool Yaf_Router::route ( Yaf_Request_Abstract $request )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Router::getRoutes
Yaf_Route_Simple
Yaf_Router


La clase Yaf_Route_Simple

(Yaf >=1.0.0)

Introducción

Yaf_Route_Simple comparará la cadena de consulta, y buscará la información de enrutamiento.

Todo lo que se necesita es indicar a Yaf_Route_Simple qué clave de la variable $_GET es un módulo, qué clave es un controlador, y qué clave es una acción.

Yaf_Route_Simple::route() siempre devuelve TRUE, por lo que es importante poner Yaf_Route_Simple al frente de la pila de enrutamiento, de otro modo todas las otras rutas no serán llamadas.

Sinopsis de la Clase

Yaf_Route_Simple implements Yaf_Route_Interface {
/* Propiedades */
protected $controller ;
protected $module ;
protected $action ;
/* Métodos */
public __construct ( string $module_name , string $controller_name , string $action_name )
public bool route ( Yaf_Request_Abstract $request )
}

Propiedades

controller

module

action

Tabla de contenidos

  • Yaf_Route_Simple::__construct — El constructor de la clase Yaf_Route_Simple
  • Yaf_Route_Simple::route — Enviar una petición
Yaf_Router::route
Yaf_Route_Simple::__construct
Yaf


El constructor de la clase Yaf_Route_Simple

Yaf_Route_Simple
Yaf_Route_Simple::route
Yaf_Route_Simple
PHP Manual

Yaf_Route_Simple::__construct

(Yaf >=1.0.0)

Yaf_Route_Simple::__construct — El constructor de la clase Yaf_Route_Simple

Descripción

public Yaf_Route_Simple::__construct ( string $module_name , string $controller_name , string $action_name )

Yaf_Route_Simple obtendrá la información de la ruta desde una cadena de consulta. Los parámetros de este constructor se usarán como claves mientras se busca la información de la ruta en $_GET.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

module_name

El nombre de la clave de la información del módulo.

controller_name

El nombre de la clave de la información del controlador.

action_name

El nombre de la clave de la información de la acción.

Valores devueltos

Siempre devuelve TRUE.

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Route_Simple::route()

<?php
   $route = new Yaf_Route_Simple("m", "controller", "act");
   Yaf_Router::getInstance()->addRoute("simple", $route);
?>

Ejemplo #2 Ejemplo de Yaf_Route_Simple::route()

Request: http://yourdomain.com/path/?controller=a&act=b
=> module = default(index), controller = a, action = b

Request: http://yourdomain.com/path
=> module = default(index), controller = default(index), action = default(index)

Ver también

  • Yaf_Route_Supervar::route() - El propósito de route
  • Yaf_Route_Static::route() - Enviar una petición
  • Yaf_Route_Regex::route() - El propósito de route
  • Yaf_Route_Rewrite::route() - El propósito de route
  • Yaf_Route_Map::route() - El propósito de route
Yaf_Route_Simple
Yaf_Route_Simple::route
Yaf_Route_Simple


Enviar una petición

Yaf_Route_Simple::__construct
Yaf_Route_Static
Yaf_Route_Simple
PHP Manual

Yaf_Route_Simple::route

(Yaf >=1.0.0)

Yaf_Route_Simple::route — Enviar una petición

Descripción

public bool Yaf_Route_Simple::route ( Yaf_Request_Abstract $request )

Véase Yaf_Route_Simple::__construct()

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

request

Valores devueltos

Siempre es TRUE

Ver también

  • Yaf_Route_Supervar::route() - El propósito de route
  • Yaf_Route_Static::route() - Enviar una petición
  • Yaf_Route_Regex::route() - El propósito de route
  • Yaf_Route_Rewrite::route() - El propósito de route
  • Yaf_Route_Map::route() - El propósito de route
Yaf_Route_Simple::__construct
Yaf_Route_Static
Yaf_Route_Simple


La clase Yaf_Route_Static

(Yaf >=1.0.0)

Introducción

Por defecto, Yaf_Router sólo tiene un Yaf_Route_Static como su ruta predeterminada.

Y Yaf_Route_Static está diseñada para manejar el 80% de los requisitos.

Por favor, *OBSERVE* que no es necesario instanciar un objeto de la clase Yaf_Route_Static, y que también es inncesesario añadirlo a la pila de enrutamientos de Yaf_Router, ya que siempre hay una en la pila de enrutamiento de Yaf_Router, y que siempre será llamada en el último momento.

Sinopsis de la Clase

Yaf_Route_Static implements Yaf_Router {
/* Métodos */
public void match ( string $uri )
public bool route ( Yaf_Request_Abstract $request )
}

Tabla de contenidos

  • Yaf_Route_Static::match — El propósito de match
  • Yaf_Route_Static::route — Enviar una petición
Yaf_Route_Simple::route
Yaf_Route_Static::match
Yaf


El propósito de match

Yaf_Route_Static
Yaf_Route_Static::route
Yaf_Route_Static
PHP Manual

Yaf_Route_Static::match

(Yaf >=1.0.0)

Yaf_Route_Static::match — El propósito de match

Descripción

public void Yaf_Route_Static::match ( string $uri )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

uri

Valores devueltos

Yaf_Route_Static
Yaf_Route_Static::route
Yaf_Route_Static


Enviar una petición

Yaf_Route_Static::match
Yaf_Route_Supervar
Yaf_Route_Static
PHP Manual

Yaf_Route_Static::route

(Yaf >=1.0.0)

Yaf_Route_Static::route — Enviar una petición

Descripción

public bool Yaf_Route_Static::route ( Yaf_Request_Abstract $request )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

request

Valores devueltos

Siempre es TRUE

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Route_Static::route()

// se asume que sólo existe un módulo definido: Index
Request: http://yourdomain.com/a/b
=> module = index, controller=a, action=b

//se asume ap.action_prefer = On
Request: http://yourdomain.com/b
=> module = default(index), controller = default(index), action = b

//se asume ap.action_prefer = Off
Request: http://yourdomain.com/b
=> module = default(index), controller = b, action = default(index)

Request: http://yourdomain.com/a/b/foo/bar/test/a/id/4
=> module = default(index), controller = a, action = b, request parameters: foo = bar, test = a, id = 4

Ver también

  • Yaf_Route_Supervar::route() - El propósito de route
  • Yaf_Route_Simple::route() - Enviar una petición
  • Yaf_Route_Regex::route() - El propósito de route
  • Yaf_Route_Rewrite::route() - El propósito de route
  • Yaf_Route_Map::route() - El propósito de route
Yaf_Route_Static::match
Yaf_Route_Supervar
Yaf_Route_Static


La clase Yaf_Route_Supervar

(Yaf >=1.0.0)

Introducción

Sinopsis de la Clase

Yaf_Route_Supervar implements Yaf_Route_Interface {
/* Propiedades */
protected $_var_name ;
/* Métodos */
public __construct ( string $supervar_name )
public bool route ( Yaf_Request_Abstract $request )
}

Propiedades

_var_name

Tabla de contenidos

  • Yaf_Route_Supervar::__construct — El propósito de __construct
  • Yaf_Route_Supervar::route — El propósito de route
Yaf_Route_Static::route
Yaf_Route_Supervar::__construct
Yaf


El propósito de __construct

Yaf_Route_Supervar
Yaf_Route_Supervar::route
Yaf_Route_Supervar
PHP Manual

Yaf_Route_Supervar::__construct

(Yaf >=1.0.0)

Yaf_Route_Supervar::__construct — El propósito de __construct

Descripción

public Yaf_Route_Supervar::__construct ( string $supervar_name )

Yaf_Route_Supervar es similar a Yaf_Route_Static, con la diferencia de que Yaf_Route_Supervar buscará información de ruta en la cadena de consulta, y el parámetro supervar_name es la clave.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

supervar_name

El nombre de la clave

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Route_Supervar()

<?php
   /**
    * Añadir una ruta supervar a la pila de rutas de Yaf_Router
    */
    Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
        new Yaf_Route_Supervar("r"));
    );
?>

El resultado del ejemplo sería algo similar a:

/** para la petición: http://yourdomain.com/xx/oo/?r=/ctr/act/var/value
  * resultará en lo siguiente:
  */
  array (
    "module"   => index(default),
    "controller" => ctr,
    "action"     => act,
    "params"     => array(
          "var" => value,
     )
  )

Ver también

  • Yaf_Router::addRoute() - Añadir una nueva ruta al Enrutador
  • Yaf_Router::addConfig() - Añadir rutas definidas en configuración al Enrutador
  • Yaf_Route_Static
  • Yaf_Route_Regex
  • Yaf_Route_Simple
  • Yaf_Route_Rewrite
  • Yaf_Route_Map
Yaf_Route_Supervar
Yaf_Route_Supervar::route
Yaf_Route_Supervar


El propósito de route

Yaf_Route_Supervar::__construct
Yaf_Session
Yaf_Route_Supervar
PHP Manual

Yaf_Route_Supervar::route

(Yaf >=1.0.0)

Yaf_Route_Supervar::route — El propósito de route

Descripción

public bool Yaf_Route_Supervar::route ( Yaf_Request_Abstract $request )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

request

Valores devueltos

Si existe una clave (la cual fue definida en Yaf_Route_Supervar::__construct()) en $_GET, devuelve TRUE, si no devuelve FALSE.

Yaf_Route_Supervar::__construct
Yaf_Session
Yaf_Route_Supervar


La clase Yaf_Session

(Yaf >=1.0.0)

Introducción

Sinopsis de la Clase

Yaf_Session implements Iterator , ArrayAccess , Countable {
/* Propiedades */
protected static $_instance ;
protected $_session ;
protected $_started ;
/* Métodos */
private void __clone ( void )
__construct ( void )
public void count ( void )
public void current ( void )
public void del ( string $name )
public void __get ( string $name )
public static void getInstance ( void )
public void has ( string $name )
public void __isset ( string $name )
public void key ( void )
public void next ( void )
public void offsetExists ( string $name )
public void offsetGet ( string $name )
public void offsetSet ( string $name , string $value )
public void offsetUnset ( string $name )
public void rewind ( void )
public void __set ( string $name , string $value )
private void __sleep ( void )
public void start ( void )
public void __unset ( string $name )
public void valid ( void )
private void __wakeup ( void )
}

Propiedades

_instance

_session

_started

Tabla de contenidos

  • Yaf_Session::__clone — El propósito de __clone
  • Yaf_Session::__construct — El propósito de __construct
  • Yaf_Session::count — El propósito de count
  • Yaf_Session::current — El propósito de current
  • Yaf_Session::del — El propósito de del
  • Yaf_Session::__get — El propósito de __get
  • Yaf_Session::getInstance — El propósito de getInstance
  • Yaf_Session::has — El propósito de has
  • Yaf_Session::__isset — El propósito de __isset
  • Yaf_Session::key — El propósito de key
  • Yaf_Session::next — El propósito de next
  • Yaf_Session::offsetExists — El propósito de offsetExists
  • Yaf_Session::offsetGet — El propósito de offsetGet
  • Yaf_Session::offsetSet — El propósito de offsetSet
  • Yaf_Session::offsetUnset — El propósito de offsetUnset
  • Yaf_Session::rewind — El propósito de rewind
  • Yaf_Session::__set — El propósito de __set
  • Yaf_Session::__sleep — El propósito de __sleep
  • Yaf_Session::start — El propósito de start
  • Yaf_Session::__unset — El propósito de __unset
  • Yaf_Session::valid — El propósito de valid
  • Yaf_Session::__wakeup — El propósito de __wakeup
Yaf_Route_Supervar::route
Yaf_Session::__clone
Yaf


El propósito de __clone

Yaf_Session
Yaf_Session::__construct
Yaf_Session
PHP Manual

Yaf_Session::__clone

(Yaf >=1.0.0)

Yaf_Session::__clone — El propósito de __clone

Descripción

private void Yaf_Session::__clone ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Session
Yaf_Session::__construct
Yaf_Session


El propósito de __construct

Yaf_Session::__clone
Yaf_Session::count
Yaf_Session
PHP Manual

Yaf_Session::__construct

(Yaf >=1.0.0)

Yaf_Session::__construct — El propósito de __construct

Descripción

Yaf_Session::__construct ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Session::__clone
Yaf_Session::count
Yaf_Session


El propósito de count

Yaf_Session::__construct
Yaf_Session::current
Yaf_Session
PHP Manual

Yaf_Session::count

(Yaf >=1.0.0)

Yaf_Session::count — El propósito de count

Descripción

public void Yaf_Session::count ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Session::__construct
Yaf_Session::current
Yaf_Session


El propósito de current

Yaf_Session::count
Yaf_Session::del
Yaf_Session
PHP Manual

Yaf_Session::current

(Yaf >=1.0.0)

Yaf_Session::current — El propósito de current

Descripción

public void Yaf_Session::current ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Session::count
Yaf_Session::del
Yaf_Session


El propósito de del

Yaf_Session::current
Yaf_Session::__get
Yaf_Session
PHP Manual

Yaf_Session::del

(Yaf >=1.0.0)

Yaf_Session::del — El propósito de del

Descripción

public void Yaf_Session::del ( string $name )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

Valores devueltos

Yaf_Session::current
Yaf_Session::__get
Yaf_Session


El propósito de __get

Yaf_Session::del
Yaf_Session::getInstance
Yaf_Session
PHP Manual

Yaf_Session::__get

(Yaf >=1.0.0)

Yaf_Session::__get — El propósito de __get

Descripción

public void Yaf_Session::__get ( string $name )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

Valores devueltos

Yaf_Session::del
Yaf_Session::getInstance
Yaf_Session


El propósito de getInstance

Yaf_Session::__get
Yaf_Session::has
Yaf_Session
PHP Manual

Yaf_Session::getInstance

(Yaf >=1.0.0)

Yaf_Session::getInstance — El propósito de getInstance

Descripción

public static void Yaf_Session::getInstance ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Session::__get
Yaf_Session::has
Yaf_Session


El propósito de has

Yaf_Session::getInstance
Yaf_Session::__isset
Yaf_Session
PHP Manual

Yaf_Session::has

(Yaf >=1.0.0)

Yaf_Session::has — El propósito de has

Descripción

public void Yaf_Session::has ( string $name )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

Valores devueltos

Yaf_Session::getInstance
Yaf_Session::__isset
Yaf_Session


El propósito de __isset

Yaf_Session::has
Yaf_Session::key
Yaf_Session
PHP Manual

Yaf_Session::__isset

(Yaf >=1.0.0)

Yaf_Session::__isset — El propósito de __isset

Descripción

public void Yaf_Session::__isset ( string $name )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

Valores devueltos

Yaf_Session::has
Yaf_Session::key
Yaf_Session


El propósito de key

Yaf_Session::__isset
Yaf_Session::next
Yaf_Session
PHP Manual

Yaf_Session::key

(Yaf >=1.0.0)

Yaf_Session::key — El propósito de key

Descripción

public void Yaf_Session::key ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Session::__isset
Yaf_Session::next
Yaf_Session


El propósito de next

Yaf_Session::key
Yaf_Session::offsetExists
Yaf_Session
PHP Manual

Yaf_Session::next

(Yaf >=1.0.0)

Yaf_Session::next — El propósito de next

Descripción

public void Yaf_Session::next ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Session::key
Yaf_Session::offsetExists
Yaf_Session


El propósito de offsetExists

Yaf_Session::next
Yaf_Session::offsetGet
Yaf_Session
PHP Manual

Yaf_Session::offsetExists

(Yaf >=1.0.0)

Yaf_Session::offsetExists — El propósito de offsetExists

Descripción

public void Yaf_Session::offsetExists ( string $name )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

Valores devueltos

Yaf_Session::next
Yaf_Session::offsetGet
Yaf_Session


El propósito de offsetGet

Yaf_Session::offsetExists
Yaf_Session::offsetSet
Yaf_Session
PHP Manual

Yaf_Session::offsetGet

(Yaf >=1.0.0)

Yaf_Session::offsetGet — El propósito de offsetGet

Descripción

public void Yaf_Session::offsetGet ( string $name )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

Valores devueltos

Yaf_Session::offsetExists
Yaf_Session::offsetSet
Yaf_Session


El propósito de offsetSet

Yaf_Session::offsetGet
Yaf_Session::offsetUnset
Yaf_Session
PHP Manual

Yaf_Session::offsetSet

(Yaf >=1.0.0)

Yaf_Session::offsetSet — El propósito de offsetSet

Descripción

public void Yaf_Session::offsetSet ( string $name , string $value )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

value

Valores devueltos

Yaf_Session::offsetGet
Yaf_Session::offsetUnset
Yaf_Session


El propósito de offsetUnset

Yaf_Session::offsetSet
Yaf_Session::rewind
Yaf_Session
PHP Manual

Yaf_Session::offsetUnset

(Yaf >=1.0.0)

Yaf_Session::offsetUnset — El propósito de offsetUnset

Descripción

public void Yaf_Session::offsetUnset ( string $name )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

Valores devueltos

Yaf_Session::offsetSet
Yaf_Session::rewind
Yaf_Session


El propósito de rewind

Yaf_Session::offsetUnset
Yaf_Session::__set
Yaf_Session
PHP Manual

Yaf_Session::rewind

(Yaf >=1.0.0)

Yaf_Session::rewind — El propósito de rewind

Descripción

public void Yaf_Session::rewind ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Session::offsetUnset
Yaf_Session::__set
Yaf_Session


El propósito de __set

Yaf_Session::rewind
Yaf_Session::__sleep
Yaf_Session
PHP Manual

Yaf_Session::__set

(Yaf >=1.0.0)

Yaf_Session::__set — El propósito de __set

Descripción

public void Yaf_Session::__set ( string $name , string $value )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

value

Valores devueltos

Yaf_Session::rewind
Yaf_Session::__sleep
Yaf_Session


El propósito de __sleep

Yaf_Session::__set
Yaf_Session::start
Yaf_Session
PHP Manual

Yaf_Session::__sleep

(Yaf >=1.0.0)

Yaf_Session::__sleep — El propósito de __sleep

Descripción

private void Yaf_Session::__sleep ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Session::__set
Yaf_Session::start
Yaf_Session


El propósito de start

Yaf_Session::__sleep
Yaf_Session::__unset
Yaf_Session
PHP Manual

Yaf_Session::start

(Yaf >=1.0.0)

Yaf_Session::start — El propósito de start

Descripción

public void Yaf_Session::start ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Session::__sleep
Yaf_Session::__unset
Yaf_Session


El propósito de __unset

Yaf_Session::start
Yaf_Session::valid
Yaf_Session
PHP Manual

Yaf_Session::__unset

(Yaf >=1.0.0)

Yaf_Session::__unset — El propósito de __unset

Descripción

public void Yaf_Session::__unset ( string $name )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

Valores devueltos

Yaf_Session::start
Yaf_Session::valid
Yaf_Session


El propósito de valid

Yaf_Session::__unset
Yaf_Session::__wakeup
Yaf_Session
PHP Manual

Yaf_Session::valid

(Yaf >=1.0.0)

Yaf_Session::valid — El propósito de valid

Descripción

public void Yaf_Session::valid ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Session::__unset
Yaf_Session::__wakeup
Yaf_Session


El propósito de __wakeup

Yaf_Session::valid
Yaf_Exception
Yaf_Session
PHP Manual

Yaf_Session::__wakeup

(Yaf >=1.0.0)

Yaf_Session::__wakeup — El propósito de __wakeup

Descripción

private void Yaf_Session::__wakeup ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Session::valid
Yaf_Exception
Yaf_Session


La clase Yaf_Exception

(Yaf >=1.0.0)

Introducción

Sinopsis de la Clase

Yaf_Exception extends Exception {
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos */
public __construct ( void )
public void getPrevious ( void )
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Tabla de contenidos

  • Yaf_Exception::__construct — El propósito de __construct
  • Yaf_Exception::getPrevious — El propósito de getPrevious
Yaf_Session::__wakeup
Yaf_Exception::__construct
Yaf


El propósito de __construct

Yaf_Exception
Yaf_Exception::getPrevious
Yaf_Exception
PHP Manual

Yaf_Exception::__construct

(Yaf >=1.0.0)

Yaf_Exception::__construct — El propósito de __construct

Descripción

public Yaf_Exception::__construct ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Exception
Yaf_Exception::getPrevious
Yaf_Exception


El propósito de getPrevious

Yaf_Exception::__construct
Yaf_Exception_TypeError
Yaf_Exception
PHP Manual

Yaf_Exception::getPrevious

(Yaf >=1.0.0)

Yaf_Exception::getPrevious — El propósito de getPrevious

Descripción

public void Yaf_Exception::getPrevious ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Yaf_Exception::__construct
Yaf_Exception_TypeError
Yaf_Exception


La clase Yaf_Exception_TypeError

(Yaf >=1.0.0)

Introducción

Sinopsis de la Clase

Yaf_Exception_TypeError extends Yaf_Exception {
/* Propiedades */
/* Métodos */
/* Métodos heredados */
public Yaf_Exception::__construct ( void )
public void Yaf_Exception::getPrevious ( void )
}
Yaf_Exception::getPrevious
Yaf_Exception_StartupError
Yaf


La clase Yaf_Exception_StartupError

(Yaf >=1.0.0)

Introducción

Sinopsis de la Clase

Yaf_Exception_StartupError extends Yaf_Exception {
/* Propiedades */
/* Métodos */
/* Métodos heredados */
public Yaf_Exception::__construct ( void )
public void Yaf_Exception::getPrevious ( void )
}
Yaf_Exception_TypeError
Yaf_Exception_DispatchFailed
Yaf


La clase Yaf_Exception_DispatchFailed

(Yaf >=1.0.0)

Introducción

Sinopsis de la Clase

Yaf_Exception_DispatchFailed extends Yaf_Exception {
/* Propiedades */
/* Métodos */
/* Métodos heredados */
public Yaf_Exception::__construct ( void )
public void Yaf_Exception::getPrevious ( void )
}
Yaf_Exception_StartupError
Yaf_Exception_RouterFailed
Yaf


La clase Yaf_Exception_RouterFailed

(Yaf >=1.0.0)

Introducción

Sinopsis de la Clase

Yaf_Exception_RouterFailed extends Yaf_Exception {
/* Propiedades */
/* Métodos */
/* Métodos heredados */
public Yaf_Exception::__construct ( void )
public void Yaf_Exception::getPrevious ( void )
}
Yaf_Exception_DispatchFailed
Yaf_Exception_LoadFailed
Yaf


La clase Yaf_Exception_LoadFailed

(Yaf >=1.0.0)

Introducción

Sinopsis de la Clase

Yaf_Exception_LoadFailed extends Yaf_Exception {
/* Propiedades */
/* Métodos */
/* Métodos heredados */
public Yaf_Exception::__construct ( void )
public void Yaf_Exception::getPrevious ( void )
}
Yaf_Exception_RouterFailed
Yaf_Exception_LoadFailed_Module
Yaf


La clase Yaf_Exception_LoadFailed_Module

(Yaf >=1.0.0)

Introducción

Sinopsis de la Clase

Yaf_Exception_LoadFailed_Module extends Yaf_Exception_LoadFailed {
/* Propiedades */
/* Métodos */
/* Métodos heredados */
public Yaf_Exception::__construct ( void )
public void Yaf_Exception::getPrevious ( void )
}
Yaf_Exception_LoadFailed
Yaf_Exception_LoadFailed_Controller
Yaf


La clase Yaf_Exception_LoadFailed_Controller

(Yaf >=1.0.0)

Introducción

Sinopsis de la Clase

Yaf_Exception_LoadFailed_Controller extends Yaf_Exception_LoadFailed {
/* Propiedades */
/* Métodos */
/* Métodos heredados */
public Yaf_Exception::__construct ( void )
public void Yaf_Exception::getPrevious ( void )
}
Yaf_Exception_LoadFailed_Module
Yaf_Exception_LoadFailed_Action
Yaf


La clase Yaf_Exception_LoadFailed_Action

(Yaf >=1.0.0)

Introducción

Sinopsis de la Clase

Yaf_Exception_LoadFailed_Action extends Yaf_Exception_LoadFailed {
/* Propiedades */
/* Métodos */
/* Métodos heredados */
public Yaf_Exception::__construct ( void )
public void Yaf_Exception::getPrevious ( void )
}
Yaf_Exception_LoadFailed_Controller
Yaf_Exception_LoadFailed_View
Yaf


La clase Yaf_Exception_LoadFailed_View

(Yaf >=1.0.0)

Introducción

Sinopsis de la Clase

Yaf_Exception_LoadFailed_View extends Yaf_Exception_LoadFailed {
/* Propiedades */
/* Métodos */
/* Métodos heredados */
public Yaf_Exception::__construct ( void )
public void Yaf_Exception::getPrevious ( void )
}
Yaf_Exception_LoadFailed_Action
Taint
Yaf


Taint

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • More Details
    • Functions and Statements which will spread the tainted mark of a tainted string
    • Functions and statements which will check tainted string
    • Functions which untaint the tainted string
  • Taint Funciones
    • is_tainted — Comprobar si un string está corrompido
    • taint — Taint a string
    • untaint — Untaint strings
Yaf_Exception_LoadFailed_View
Introducción
Otras extensiones básicas


Introducción

Taint is an extension, which is used for detecting XSS codes(tainted string). And also can be used to spot sql injection vulnerabilities, and shell inject, etc.

When taint is enabled, if you pass a tainted string (comes from $_GET, $_POST or $_COOKIE) to some functions, taint will warn you about that.

Ejemplo #1 Taint()example

<?php
$a = trim($_GET['a']);

$file_name = '/tmp' .  $a;
$output    = "Welcome, {$a} !!!";
$var       = "output";
$sql       = "Select *  from " . $a;
$sql      .= "ooxx";

echo $output;

print $$var;

include($file_name);

mysql_query($sql);
?>

El resultado del ejemplo sería algo similar a:

Warning: main() [function.echo]: Attempt to echo a string that might be tainted

Warning: main() [function.echo]: Attempt to print a string that might be tainted

Warning: include() [function.include]: File path contains data that might be tainted

Warning: mysql_query() [function.mysql-query]: SQL statement contains data that might be tainted
Taint
Instalación/Configuración
Taint


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Taint


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/taint.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Taint Opciones de configuración
Nombre | Por defecto | Cambiable | Historial de cambios
taint.enable | 0 | its PHP_INI_SYS value |
taint.error_level | E_WARNING | its PHP_INI_ALL value |

He aquí una breve explicación de las directivas de configuración.

taint.enable integer

Whether enable the taint.

taint.error_level integer

the error type which taint will report as when taint find a tainted string.

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Configuración en tiempo de ejecución
More Details
Instalación/Configuración


More Details

Tabla de contenidos

  • Functions and Statements which will spread the tainted mark of a tainted string
  • Functions and statements which will check tainted string
  • Functions which untaint the tainted string
Tipos de recursos
Functions and Statements which will spread the tainted mark of a tainted string
Taint


Functions and Statements which will spread the tainted mark of a tainted string

Function/Statement | Since
= (assign) | 0.1.0
. (concat) | 0.1.0
"{$var}" (variable substitution) | 0.1.0
.= (assign concat) | 0.1.0
strval | 0.3.0
explode | 0.3.0
implode | 0.3.0
sprintf | 0.3.0
vsprintf | 0.3.0
trim | 0.4.0
rtrim | 0.4.0
ltrim | 0.4.0

More Details
Functions and statements which will check tainted string
More Details


Functions and statements which will check tainted string

Function/Statement | Since
Basic statments
eval | 0.1.0
include/include_once | 0.1.0
require/require_once | 0.1.0
Outputing Functions
echo | 0.1.0
print | 0.1.0
printf | 0.1.0
file_put_contents | 0.1.0
File System Functions
fopen | 0.2.0
opendir | 0.2.0
basename | 0.2.0
dirname | 0.2.0
file | 0.2.0
pathinfo | 0.2.0
Database relevant Functions
mysql_query | 0.2.0
mysqli_query/MySQLi::query | 0.2.0
sqlite_query/SqliteDataBase::query | 0.3.0
sqlite_single_query/SqliteDataBase::singleQuery | 0.3.0
oci_parse | 0.3.0
PDO::query | 0.3.0
PDO::prepare | 0.3.0
Command Line relevant Functions
system | 0.1.0
exec | 0.1.0
proc_open | 0.1.0
passthru | 0.1.0
shell_exec | 0.3.0

Functions and Statements which will spread the tainted mark of a tainted string
Functions which untaint the tainted string
More Details


Functions which untaint the tainted string

Function | Since
addslashes | 0.1.0
addcslashes | 0.1.0
htmlspecialchars | 0.1.0
htmlentities | 0.1.0
escapeshellcmd | 0.1.0
mysql_escape_string | 0.1.0
mysql_real_escape_string | 0.1.0
mysqli_escape_string/MySQLi::escape_string | 0.1.0
mysqli_real_escape_string/MySQLi::real_escape_string | 0.1.0
sqlite_escape_string/SqliteDataBase::escapeString | 0.3.0
PDO::quote | 0.3.0

Functions and statements which will check tainted string
Taint Funciones
More Details


Taint Funciones

Tabla de contenidos

  • is_tainted — Comprobar si un string está corrompido
  • taint — Taint a string
  • untaint — Untaint strings
Functions which untaint the tainted string
is_tainted
Taint


Comprobar si un string está corrompido

Taint Funciones
taint
Taint Funciones
PHP Manual

is_tainted

(PECL taint >=0.1.0)

is_tainted — Comprobar si un string está corrompido

Descripción

bool is_tainted ( string $string )

Comprueba si un string está corrompido

Parámetros

string

Valores devueltos

Devuelve TRUE si el string está corrompido, FALSE en caso contrario.

Taint Funciones
taint
Taint Funciones


Taint a string

is_tainted
untaint
Taint Funciones
PHP Manual

taint

(PECL taint >=0.1.0)

taint — Taint a string

Descripción

bool taint ( string &$string [, string $... ] )

Make a string tainted. This is used for testing purpose only.

Parámetros

string

...

Valores devueltos

Return TRUE if the transformation is done. Always return TRUE if the taint extension is not enabled.

is_tainted
untaint
Taint Funciones


Untaint strings

taint
Otros servicios
Taint Funciones
PHP Manual

untaint

(PECL taint >=0.1.0)

untaint — Untaint strings

Descripción

bool untaint ( string &$string [, string $... ] )

Untaint strings

Parámetros

string

...

Valores devueltos

taint
Otros servicios
Taint Funciones


Otros servicios

  • PCMA
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Conexión AMQP — La clase de la conexión AMQP
    • AMQPChannel — The AMQPChannel class
    • Intercambio de AMQP — La clase de intercambio de AMQP
    • AMQPQueue — La clase AMQPQueue
    • AMQPEnvelope — La clase AMQPEnvelope
  • chdb — Constant hash database
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • chdb — La clase chdb
    • Funciones de chdb
  • cURL — Biblioteca URL cliente
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de cURL
    • CURLFile — La clase CURLFile
  • Event
    • Introducción
    • Instalación/Configuración
    • Ejemplos
    • Event flags
    • About event persistence
    • Event callbacks
    • Constructing signal events
    • Event — The Event class
    • EventBase — The EventBase class
    • EventBuffer — The EventBuffer class
    • EventBufferEvent — The EventBufferEvent class
    • About buffer event callbacks
    • EventConfig — The EventConfig class
    • EventDnsBase — The EventDnsBase class
    • EventHttp — The EventHttp class
    • EventHttpConnection — The EventHttpConnection class
    • EventHttpRequest — The EventHttpRequest class
    • EventListener — The EventListener class
    • EventSslContext — The EventSslContext class
    • EventUtil — The EventUtil class
  • FAM — Monitor de Alteración de Archivos (File Alteration Monitor)
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de FAM
  • FTP
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de FTP
  • Gearman
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • GearmanClient — Clase GearmanClient
    • GearmanJob — La clase GearmanJob
    • GearmanTask — La clase GearmanTask
    • GearmanWorker — La clase GearmanWorker
    • GearmanException — La clase GearmanException
  • Gopher — Net Gopher
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de Gopher
  • Gupnp
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de Gupnp
  • HTTP
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Opciones de las peticiones — Opción que pueden ser utilizadas con la clase HttpRequest y las funciones para peticiones
    • HttpDeflateStream — Clase HttpDeflateStream
    • HttpInflateStream — Clase HttpInflateStream
    • HttpMessage — Clase HttpMessage
    • HttpQueryString — Clase HttpQueryString
    • HttpRequest — Clase HttpRequest
    • HttpRequestPool — Clase HttpRequestPool
    • HttpResponse — Clase HttpResponse
    • Funciones de HTTP
  • Hyperwave
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Integración con Apache
    • Funciones de Hyperwave
  • API Hyperwave
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de la API Hyperwave
  • Java — Integración PHP / Java
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • SAPI de Servlet de Java
    • Ejemplos
    • Funciones de Java
  • LDAP — Protocolo Ligero de Acceso a Directorios
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Utilizando las llamadas PHP LDAPs
    • Ejemplos
    • LDAP Funciones
  • Lotus Notes
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de Lotus Notes
  • Memcache
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Memcache — La clase Memcache
    • Funciones de Memcache
  • Memcached
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Tiempo de expiración
    • Llamadas de retorno
    • Soporte de sesiones
    • Memcached — La clase Memcached
    • MemcachedException — La clase MemcachedException
  • mqseries
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • mqseries Funciones
  • Network
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de red
  • RRD — RRDtool
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones RRD
    • RRDCreator — La clase RRDCreator
    • RRDGraph — La clase RRDGraph
    • RRDUpdater — La clase RRDUpdater
  • SAM — Mensajería Simple Asíncrona
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones SAM
  • SNMP
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones SNMP
    • SNMP — The SNMP class
    • SNMPException — The SNMPException class
  • Sockets
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Errores de Socket
    • Funciones de Socket
  • SSH2 — Secure Shell2
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de SSH2
  • Stomp — Cliente Stomp
    • Introducción
    • Instalación/Configuración
    • Ejemplos
    • Funciones Stomp
    • Stomp — La clase Stomp
    • StompFrame — La clase StompFrame
    • StompException — La clase StompException
  • SVM — Soporte Vector Machine
    • Introducción
    • Instalación/Configuración
    • Ejemplos
    • SVM — The SVM class
    • SVMModel — La clase SVMModel
  • SVN — Subversion
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones SVN
  • TCP — Envolturas TCP
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • TCP Funciones
  • Varnish
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • VarnishAdmin — La clase VarnishAdmin
    • VarnishStat — La clase VarnishStat
    • VarnishLog — La clase VarnishLog
  • YAZ
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de YAZ
  • YP/NIS
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de YP/NIS
  • 0MQ messaging — ZMQ
    • Introducción
    • Instalación/Configuración
    • ZMQ — The ZMQ class
    • ZMQContext — The ZMQContext class
    • ZMQSocket — The ZMQSocket class
    • ZMQPoll — The ZMQPoll class
    • ZMQDevice — The ZMQDevice class
untaint
PCMA
Referencia de funciones


PCMA

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • Conexión AMQP — La clase de la conexión AMQP
    • AMQPConnection::connect — Establece una conexión con el Servidor AMQP
    • AMQPConnection::__construct — Crear una instancia de Conexión de PCMA (AMQP)
    • AMQPConnection::disconnect — Cierra la conexión con el Servidor AMQP
    • AMQPConnection::getHost — Obtiene el host configurado
    • AMQPConnection::getLogin — Obtiene el login configurado
    • AMQPConnection::getPassword — Obtiene la contraseña configurada
    • AMQPConnection::getPort — Obtiene el puerto configurado
    • AMQPConnection::getTimeout — Obtiene el tiempo de espera configurado
    • AMQPConnection::getVhost — Obtiene el vhost configurado
    • AMQPConnection::isConnected — Determina si el objeto AMQPConnection está conectado al corredor
    • AMQPConnection::reconnect — Cierra cualquier conexión abierta y crea una nueva conexión con el Servidor AMQP
    • AMQPConnection::setHost — Establece el host AMQP
    • AMQPConnection::setLogin — Establece el login
    • AMQPConnection::setPassword — Establece la contraseña
    • AMQPConnection::setPort — Establece el puerto
    • AMQPConnection::setTimeout — Establecer el tiempo de espera
    • AMQPConnection::setVhost — Establece el host virtual de amqp
  • AMQPChannel — The AMQPChannel class
    • AMQPChannel::commitTransaction — Cometer una transación pendiente
    • AMQPChannel::__construct — Crea una instancia de un objecto AMQPChannel
    • AMQPChannel::isConnected — Comprueba la conexión del canal
    • AMQPChannel::qos — Establece las opciones de Quality Of Service del canal proporcinado
    • AMQPChannel::rollbackTransaction — Deshacer una transación
    • AMQPChannel::setPrefetchCount — Establece el número de mensajes a precapturar desde el broker
    • AMQPChannel::setPrefetchSize — Estable el tamaño de ventana a precapturar desde el broker
    • AMQPChannel::startTransaction — Inicia una transacción
  • Intercambio de AMQP — La clase de intercambio de AMQP
    • AMQPExchange::bind — Enlazar a otro intercambio
    • AMQPExchange::__construct — Crea una instancia de AMQPExchange
    • AMQPExchange::declare — Declarar un nuevo intercambio en el corredor
    • AMQPExchange::delete — Eliminar el intercambio del corredor.
    • AMQPExchange::getArgument — Obtiene el argumento asociado con la clave proporcionada
    • AMQPExchange::getArguments — Get all arguments set on the given exchange
    • AMQPExchange::getFlags — Get the flag bitmask
    • AMQPExchange::getName — Get the configured name
    • AMQPExchange::getType — Get the configured type
    • AMQPExchange::publish — Publica un mensaje a un intercambio
    • AMQPExchange::setArgument — Establecer el valor para clave dada
    • AMQPExchange::setArguments — Establecer todos los argumentos sobre el intercambio
    • AMQPExchange::setFlags — Establecer los flags en un intercambio
    • AMQPExchange::setName — Establecer el nombre del intercambio
    • AMQPExchange::setType — Establecer el tipo de intercambio
  • AMQPQueue — La clase AMQPQueue
    • AMQPQueue::ack — Reconoce la recepción de un mensaje
    • AMQPQueue::bind — Enlaza la cola dada a un enrutamiento clave en un intercambio
    • AMQPQueue::cancel — Cancela una cola enlaza
    • AMQPQueue::__construct — Crea una instancia de un objeto AMQPQueue
    • AMQPQueue::consume — Consume mensajes de una cola
    • AMQPQueue::declare — Declarar una nueva cola
    • AMQPQueue::delete — Borra una cola y su contenido
    • AMQPQueue::get — Recupera el mensaje siguiente de la cola
    • AMQPQueue::getArgument — Obtiene el argumento asociado con la clave proporcionada
    • AMQPQueue::getArguments — Obtiene todos los argumentos que se encuentran en la cola dada
    • AMQPQueue::getFlags — Get the flag bitmask
    • AMQPQueue::getName — Obtener el nombre configurado
    • AMQPQueue::nack — Mark a message as explicitly not acknowledged.
    • AMQPQueue::purge — Purga los contenidos de una cola
    • AMQPQueue::setArgument — Establecer el valor de la clave dada
    • AMQPQueue::setArguments — Establecer todos los argumentos en la cola
    • AMQPQueue::setFlags — Set the queue flags
    • AMQPQueue::setName — Establecer el nombre de cola
    • AMQPQueue::unbind — Desata la cola de una clave de enrutamiento
  • AMQPEnvelope — La clase AMQPEnvelope
    • AMQPEnvelope::getAppId — Obtiene el id de la aplicación del mensaje
    • AMQPEnvelope::getBody — Obtiene el cuerpo del mensaje
    • AMQPEnvelope::getContentEncoding — Obtiene el content encoding del mensaje
    • AMQPEnvelope::getContentType — Obtiene el content type del mensaje
    • AMQPEnvelope::getCorrelationId — Obtiene el correlation id del mensaje
    • AMQPEnvelope::getDeliveryTag — Obtiene el mensaje delivery tag
    • AMQPEnvelope::getExchange — Obtiene el mensaje exchange
    • AMQPEnvelope::getExpiration — Obtiene la caducidad del mensaje
    • AMQPEnvelope::getHeader — Obtiene un encabezado específico del mensaje
    • AMQPEnvelope::getHeaders — Obtiene los encabezados del mensaje
    • AMQPEnvelope::getMessageId — Obtiene el id del mensaje
    • AMQPEnvelope::getPriority — Obtiene la prioridad del mensaje
    • AMQPEnvelope::getReplyTo — Obtiene el reply to del mensaje
    • AMQPEnvelope::getRoutingKey — Obtiene el routing key del mensaje
    • AMQPEnvelope::getTimeStamp — Obtiene el timestamp del mensaje
    • AMQPEnvelope::getType — Obtiene el tipo del mensaje
    • AMQPEnvelope::getUserId — Obtiene el id de usuario del mensaje
    • AMQPEnvelope::isRedelivery — Si se trata de un reenvio del mensaje
Otros servicios
Introducción
Otros servicios


Introducción

» PCMA es sinónimo de » Advanced Message Queue Protocol, el cual es un estandar abierto de capa middleware para enrutamiento y cola del mensaje. Ésta extensión es compatible con cualquier Versión de la 0-9-1 de que corra PCMA, tal como » RabbitMQ y » OpenAMQ.

Ésta extensión se basa en la librería RCP » librabbitmq para la comunicación con el corredor del PCMA. Aunque denomidado "rabbit", ésta librería es compatible con todas las Versiones 0-9-1 de los corredores del PCMA.

Nosotros *ALTAMENTE* recomendamos que revise la » especificación de referencia AMQP, version 0-9-1. Este documento le ayudará a entender muchas de las llamadas puestas a disposición por esta extensión.

PCMA
Instalación/Configuración
PCMA


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
PCMA


Requerimientos

Esta extensión requiere la biblioteca cliente » librabbitmq.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Para instalar la extensión AMQP de PHP, se debe primero instalar la biblioteca » librabbitmq. Se necesitará la versión 0-9-1 de la biblioteca cliente rabbitmq-c, vinculada a la versión de rabbitmq-codegen que corresponde a la versión del agente que se esté usando. Siga los siguientes pasos para descarar e instalar la biblioteca:

# Descargar la biblioteca rabbitmq-c @ versión 0-9-1
  git clone git://github.com/alanxz/rabbitmq-c.git
  cd rabbitmq-c
  # Habilitar y actualizar el submódulo de git codegen
  git submodule init
  git submodule update
  # Configurar, compilar e instalar
  autoreconf -i && ./configure && make && sudo make install

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/amqp.

Nota para los usarios de Windows: Ésta extensión no la soporta actualmente Windows ya que la biblioteca librabbitmq aún no admite Windows.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

AMQP Opciones de configuración
Nombre | Por defecto | Cambiable | Historial de cambios
amqp.host | localhost | PHP_INI_ALL |
amqp.vhost | / | PHP_INI_ALL |
amqp.port | 5672 | PHP_INI_ALL |
amqp.login | guest | PHP_INI_ALL |
amqp.password | guest | PHP_INI_ALL |
amqp.auto_ack | 0 | PHP_INI_ALL |
amqp.min_messages | 0 | PHP_INI_ALL |
amqp.max_messages | 1 | PHP_INI_ALL |
amqp.prefetch_count | 3 | PHP_INI_ALL |

He aquí una breve explicación de las directivas de configuración.

amqp.host string

Nombre de host al que conectarse.

amqp.vhost string

Host virtual del agente al que conectarse.

amqp.port integer

Puerto al que conectarse.

amqp.login string

El usuario a utilizar mientras se conecta al agente.

amqp.password string

La contraseña a utilizar mientras se conecta al agente.

amqp.auto_ack integer

Al usarse AMQPQueue::get() y AMQPQueue::consume() se requerirá que el cliente explicitamente confirme la recepción de los mensajes. Si se define este valor como 1 se pasará el valor AMQP_AUTOACK por defecto cuando se usen los métodos mencionados más arriba en caso que se omita el parámetro flags.

amqp.min_messages integer

Número mínimo de mensajes que se requieren para usar AMQPQueue::consume().

amqp.max_messages integer

Número máximo de mensajes que se requiren para usar AMQPQueue::consume().

amqp.prefetch_count integer

Número de mensajes a monitorear desde el servidor al usar AMQPQueue::get() o AMQPQueue::consume() cuando la constante AMQP_AUTOACK no está establecida.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

AMQP_NOPARAM (integer)
Pasar esta constante como una bandera deshabilitará forzosamente las demás banderas. Úsela si quiere deshabilitar temporalmente la configuración ini amqp.auto_ack.
AMQP_DURABLE (integer)
Los intercambios y colas durables perdurarán a los reinicios del agente, completando todos sus datos.
AMQP_PASSIVE (integer)
En intercambios pasivos no se redeclararán las colas, pero el agente emitirá un error si el intercambio o la cola no existiera.
AMQP_EXCLUSIVE (integer)
Válido sólo en colas, esta bandera indica que solamente puede el cliente escuchar y consumir de esta cola.
AMQP_AUTODELETE (integer)
En intercambios, esta bandera indica que se eliminará en cuanto no haya colas atadas a él. Si no se llegaran a atar colas al intercambio, no se eliminará. En colas, esta bandera indica que se eliminará en cuanto no haya más oyentes suscritos a ella. Si no se llegaran a atar suscriptores, no se eliminará. Nota: Las colas exclusivas se eliminarán automáticamente cuando el cliente desconecte.
AMQP_INTERNAL (integer)
No se permite a los clientes atar colas a los intercambios definidos con esta bandera.
AMQP_NOLOCAL (integer)
Al pasarse al método consumidor en un entorno clúster, no se consumirá del nodo local.
AMQP_AUTOACK (integer)
Al pasarse a los métodos AMQPQueue::get() y AMQPQueue::get() como bandera, los mensajes serán marcados inmediatamente como admitidos por el servidor para su entrega.
AMQP_IFEMPTY (integer)
Esta bandera, pasada en la creación de cola, indica que ésta se debe eliminar si se vacía.
AMQP_IFUNUSED (integer)
Esta bandera, que se pasa a la creación de intercambios o de colas, indica que la cola o el intercambio debe eliminarse cuando no haya clientes conectados a la cola o intercambio correspondiente.
AMQP_MANDATORY (integer)
Al publicar un mensaje, se debe enrutar a una cola válida, Si no, se devolverá un error.
AMQP_IMMEDIATE (integer)
Al publicar un mensaje, se marca este mensaje para que el agente lo procese inmediatamente (mensaje de alta prioridad).
AMQP_MULTIPLE (integer)
Si se establece durante una llamada a AMQPQueue::ack(), la etiqueta de entrega es tratada como "hasta e incluyendo", por lo que varios mensajes puedes ser admitidos con un simple método. Si se establece a cero, la etiqueta de entrega se referirá a un único mensaje. Si la bandera AMQP_MULTIPLE está establecida, y la etiqueta de entrega es cero, indica la admisión de todos los mensajes pendientes.
AMQP_NOWAIT (integer)
Si se establece durante una llamada a AMQPExchange::bind(), el servidor no responderá al método. El cliente no debería esperar una respuesta del método. Si el servidor no pudiera completar el método emitirá una excepción de canal o conexión.
AMQP_EX_TYPE_DIRECT (string)
directo
AMQP_EX_TYPE_FANOUT (string)
fanout
AMQP_EX_TYPE_TOPIC (string)
Asunto
AMQP_EX_TYPE_HEADER (string)
Cabecera

Tipos de recursos
Ejemplos
PCMA


Ejemplos

Ejemplo #1 Ejemplo de AMQP

<?php

// Crear una conexión
$cnn = new AMQPConnection();
$cnn->connect();

// Crear un canal
$ch = new AMQPChannel($cnn);

// Declara un nuevo intercambio
$ex = new AMQPExchange($ch);
$ex->declare('exchange1', AMQP_EX_TYPE_FANOUT);

// Crear una nueva cola
$q = new AMQPQueue($ch);
$q->declare('queue1');

// Atarlo en el intercambio a routing.key
$ex->bind('queue1', 'routing.key');

// Publicar un mensaje en el intercambio con una clave de ruta
$ex->publish('message', 'routing.key');

// Leer de la cola
$msg = $q->consume();

?>
Constantes predefinidas
Conexión AMQP
PCMA


La clase de la conexión AMQP

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Representa una conexión a un corredor AMQP.

Sinopsis de la Clase

AMQPConnection {
/* Methods */
public bool connect ( void )
public __construct ([ array $credentials = array() ] )
public bool disconnect ( void )
public string getHost ( void )
public string getLogin ( void )
public string getPassword ( void )
public int getPort ( void )
public int getTimeout ( void )
public string getVhost ( void )
public bool isConnected ( void )
public bool reconnect ( void )
public bool setHost ( string $host )
public bool setLogin ( string $login )
public bool setPassword ( string $password )
public bool setPort ( int $port )
public bool setTimeout ( float $timeout )
public bool setVhost ( string $vhost )
}

Tabla de contenidos

  • AMQPConnection::connect — Establece una conexión con el Servidor AMQP
  • AMQPConnection::__construct — Crear una instancia de Conexión de PCMA (AMQP)
  • AMQPConnection::disconnect — Cierra la conexión con el Servidor AMQP
  • AMQPConnection::getHost — Obtiene el host configurado
  • AMQPConnection::getLogin — Obtiene el login configurado
  • AMQPConnection::getPassword — Obtiene la contraseña configurada
  • AMQPConnection::getPort — Obtiene el puerto configurado
  • AMQPConnection::getTimeout — Obtiene el tiempo de espera configurado
  • AMQPConnection::getVhost — Obtiene el vhost configurado
  • AMQPConnection::isConnected — Determina si el objeto AMQPConnection está conectado al corredor
  • AMQPConnection::reconnect — Cierra cualquier conexión abierta y crea una nueva conexión con el Servidor AMQP
  • AMQPConnection::setHost — Establece el host AMQP
  • AMQPConnection::setLogin — Establece el login
  • AMQPConnection::setPassword — Establece la contraseña
  • AMQPConnection::setPort — Establece el puerto
  • AMQPConnection::setTimeout — Establecer el tiempo de espera
  • AMQPConnection::setVhost — Establece el host virtual de amqp
Ejemplos
AMQPConnection::connect
PCMA


Establece una conexión con el Servidor AMQP

Conexión AMQP
AMQPConnection::__construct
Conexión AMQP
PHP Manual

AMQPConnection::connect

(PECL amqp >= Unknown)

AMQPConnection::connect — Establece una conexión con el Servidor AMQP

Descripción

public bool AMQPConnection::connect ( void )

Este método iniciará una conexión con el Servidor AMQP.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de AMQPConnection::connect()

<?php

/* Crear una nueva conexión */
$cnn = new AMQPConnection();

// Establecer los detalles de login
$cnn->setLogin('mylogin');
$cnn->setPassword('mypass');

if ($cnn->connect()) {
    echo "Established a connection to the broker";
}
else {
 echo "Cannot connect to the broker";
}

?>

Conexión AMQP
AMQPConnection::__construct
Conexión AMQP


Crear una instancia de Conexión de PCMA (AMQP)

AMQPConnection::connect
AMQPConnection::disconnect
Conexión AMQP
PHP Manual

AMQPConnection::__construct

(PECL amqp >= Unknown)

AMQPConnection::__construct — Crear una instancia de Conexión de PCMA (AMQP)

Descripción

public AMQPConnection::__construct ([ array $credentials = array() ] )

Crear una instancia de AMQPConnection representando una conexión a un corredor PCMA (AMQP).

Parámetros

credentials

Las credentials es un arreglo opcional de la credencial para conectar al corredor PCMA (AMQP).

Índices disponibles
clave | descripción | valor por omisión
host Host al que conectar

Nota: Máximo 1024 caracteres

 amqp.host
port | Puerto del host | amqp.port
vhost Host virtual del host

Nota: Máximo 128 caracteres

 amqp.vhost
login Nombre de inicio de sesión.

Nota: Máximo 128 caracteres

 amqp.login
password Contraseña

Nota: Máximo 128 caracteres

 amqp.password

Cualquier otra clave será ignorada.

Valores devueltos

Un objeto AMQPConnection.

Errores/Excepciones

Lanza una AMQPException al fallar el análisis de los parámetros, y al producirse un error en las opciones.

Ejemplos

Ejemplo #1 Ejemplo de AMQPConnection::__construct()

<?php

/* Crea una conexión utilizando las credenciales por omisión: */
$connection1 = new AMQPConnection();

/* Y especificando todas las claves */
$connection2 = new AMQPConnection(array(
    'host' => 'example.host',
    'vhost' => '/',
    'port' => 5763,
    'login' => 'user',
    'password' => 'password'
));

?>

Notas

Nota:

Una conexión no se establecerá hasta llamar a AMQPConnection::connect().

AMQPConnection::connect
AMQPConnection::disconnect
Conexión AMQP


Cierra la conexión con el Servidor AMQP

AMQPConnection::__construct
AMQPConnection::getHost
Conexión AMQP
PHP Manual

AMQPConnection::disconnect

(PECL amqp >= Unknown)

AMQPConnection::disconnect — Cierra la conexión con el Servidor AMQP

Descripción

public bool AMQPConnection::disconnect ( void )

Este método cierra una conexión abierta con el Servidor AMQP.

Parámetros

void

Valores devueltos

Devuelve true si la conexión se cerró con éxito y false en caso contrario.

Ejemplos

Ejemplo #1 Ejemplo de AMQPConnection::disconnect()

<?php

/* Crea una nueva conexión */
$cnn = new AMQPConnection();

// Establece los datos de login
$cnn->setLogin('mylogin');
$cnn->setPassword('mypass');

if (!$cnn->connect()) {
    throw new Exception('No pudo conectarse');
}

// Para hacer algo interesante

if (!$cnn->disconnect()) {
    throw new Exception('No pudo desconectarse');
}

?>

AMQPConnection::__construct
AMQPConnection::getHost
Conexión AMQP


Obtiene el host configurado

AMQPConnection::disconnect
AMQPConnection::getLogin
Conexión AMQP
PHP Manual

AMQPConnection::getHost

(PECL amqp >= Unknown)

AMQPConnection::getHost — Obtiene el host configurado

Descripción

public string AMQPConnection::getHost ( void )

Obtiene el valor del host configurado.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Muestra el host configurado como cadena de texto.

AMQPConnection::disconnect
AMQPConnection::getLogin
Conexión AMQP


Obtiene el login configurado

AMQPConnection::getHost
AMQPConnection::getPassword
Conexión AMQP
PHP Manual

AMQPConnection::getLogin

(PECL amqp >= Unknown)

AMQPConnection::getLogin — Obtiene el login configurado

Descripción

public string AMQPConnection::getLogin ( void )

Obtiene el login configurado.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Muestra el login configurado como cadena de texto.

AMQPConnection::getHost
AMQPConnection::getPassword
Conexión AMQP


Obtiene la contraseña configurada

AMQPConnection::getLogin
AMQPConnection::getPort
Conexión AMQP
PHP Manual

AMQPConnection::getPassword

(PECL amqp >= Unknown)

AMQPConnection::getPassword — Obtiene la contraseña configurada

Descripción

public string AMQPConnection::getPassword ( void )

Obtiene la contraseña configurada.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Muestra la contraseña configurada como cadena.

AMQPConnection::getLogin
AMQPConnection::getPort
Conexión AMQP


Obtiene el puerto configurado

AMQPConnection::getPassword
AMQPConnection::getTimeout
Conexión AMQP
PHP Manual

AMQPConnection::getPort

(PECL amqp >= Unknown)

AMQPConnection::getPort — Obtiene el puerto configurado

Descripción

public int AMQPConnection::getPort ( void )

Devuelve el puerto configurado para este objeto AMQPConnection.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El puerto configurado como número entero.

AMQPConnection::getPassword
AMQPConnection::getTimeout
Conexión AMQP


Obtiene el tiempo de espera configurado

AMQPConnection::getPort
AMQPConnection::getVhost
Conexión AMQP
PHP Manual

AMQPConnection::getTimeout

(No hay información de versión disponible, podría estar únicamente en SVN)

AMQPConnection::getTimeout — Obtiene el tiempo de espera configurado

Descripción

public int AMQPConnection::getTimeout ( void )

Obtener el valor de tiempo de espera actual de esta instancia de un objeto AMQPConnection.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El tiempo de espera configurado como un integer.

AMQPConnection::getPort
AMQPConnection::getVhost
Conexión AMQP


Obtiene el vhost configurado

AMQPConnection::getTimeout
AMQPConnection::isConnected
Conexión AMQP
PHP Manual

AMQPConnection::getVhost

(PECL amqp >= Unknown)

AMQPConnection::getVhost — Obtiene el vhost configurado

Descripción

public string AMQPConnection::getVhost ( void )

Obtiene el vhost configurado.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Muestra el virtual host configurado como cadena de texto.

AMQPConnection::getTimeout
AMQPConnection::isConnected
Conexión AMQP


Determina si el objeto AMQPConnection está conectado al corredor

AMQPConnection::getVhost
AMQPConnection::reconnect
Conexión AMQP
PHP Manual

AMQPConnection::isConnected

(PECL amqp >= Unknown)

AMQPConnection::isConnected — Determina si el objeto AMQPConnection está conectado al corredor

Descripción

public bool AMQPConnection::isConnected ( void )

Éste método va a revisar si la conexión al corredor AMQP es todavía valida. Lo hace mediante la comprobación del estado de retorno del último comando.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve true si está conectado, de lo contrario false

Ejemplos

Ejemplo #1 Ejemplo de AMQPConnection::isConnected()

<?php

/* Crea una nueva conexión */
$conn = new AMQPConnection();
$conn->connect();

/* Revisa si la conexión está trabajando */
if ($conn->isConnected()) {
    echo "Conectado al corredor \o/";
}
else {
    echo "No se ha podido conectar al corredor";
}

?>

AMQPConnection::getVhost
AMQPConnection::reconnect
Conexión AMQP


Cierra cualquier conexión abierta y crea una nueva conexión con el Servidor AMQP

AMQPConnection::isConnected
AMQPConnection::setHost
Conexión AMQP
PHP Manual

AMQPConnection::reconnect

(PECL amqp >= Unknown)

AMQPConnection::reconnect — Cierra cualquier conexión abierta y crea una nueva conexión con el Servidor AMQP

Descripción

public bool AMQPConnection::reconnect ( void )

Este método cerrará las conexiones abiertas e iniciar una nueva conexión con el Servidor AMQP.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de AMQPConnection::reconnect()

<?php

/* Crea una nueva conexión */
$cnn = new AMQPConnection();

// Establece los detalles del login
$cnn->setLogin('mylogin');
$cnn->setPassword('mypass');

$cnn->connect();

// llevamos a cabo alguna tarea

// Asegurar que se ha establecido una conexión válida
if (!$cnn->reconnect()) {
 echo "No se pudo reconectar al servidor";
}

?>

AMQPConnection::isConnected
AMQPConnection::setHost
Conexión AMQP


Establece el host AMQP

AMQPConnection::reconnect
AMQPConnection::setLogin
Conexión AMQP
PHP Manual

AMQPConnection::setHost

(PECL amqp >= Unknown)

AMQPConnection::setHost — Establece el host AMQP

Descripción

public bool AMQPConnection::setHost ( string $host )

Este método establece el nombre de host utilizado para conectar con el Broker AMQP.

Parámetros

Host

El nombre del Servidor AMQP.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Emite AMQPConnectionException si host contiene más 1024 caracteres.

Ejemplos

Ejemplo #1 Ejemplo de AMQPConnection::setHost()

<?php

/* Crea una nueva conexión */
$cnn = new AMQPConnection();

// Especifica el nombre de host
$cnn->setHost('myhost.com');

?>

AMQPConnection::reconnect
AMQPConnection::setLogin
Conexión AMQP


Establece el login

AMQPConnection::setHost
AMQPConnection::setPassword
Conexión AMQP
PHP Manual

AMQPConnection::setLogin

(PECL amqp >= Unknown)

AMQPConnection::setLogin — Establece el login

Descripción

public bool AMQPConnection::setLogin ( string $login )

Este método establecerá la cadena de login utilizada para conectar con el Servidor AMQP.

Parámetros

login

La cadena de login usada para autentificarse con el Broker AMQP.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Emite AMQPConnectionException si login contiene más de 32 caracteres.

Ejemplos

Ejemplo #1 Ejemplo de AMQPConnection::setLogin()

<?php

/* Crea una nueva conexión */
$cnn = new AMQPConnection();

// Establece el login
$cnn->setLogin('myusername');

?>

AMQPConnection::setHost
AMQPConnection::setPassword
Conexión AMQP


Establece la contraseña

AMQPConnection::setLogin
AMQPConnection::setPort
Conexión AMQP
PHP Manual

AMQPConnection::setPassword

(PECL amqp >= Unknown)

AMQPConnection::setPassword — Establece la contraseña

Descripción

public bool AMQPConnection::setPassword ( string $password )

Este método establecerá la contraseña que se utilizará para conectar con el Servidor AMQP.

Parámetros

password

La contraseña utilizada para autentificarse con el Servidor AMQP.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Emite AMQPConnectionException si password contiene más de 32 caracteres.

Ejemplos

Ejemplo #1 Ejemplo de AMQPConnection::setPassword()

<?php

/* Crea una nueva conexión */
$cnn = new AMQPConnection();

// Establece el password
$cnn->setPassword('mypassword');

?>

AMQPConnection::setLogin
AMQPConnection::setPort
Conexión AMQP


Establece el puerto

AMQPConnection::setPassword
AMQPConnection::setTimeout
Conexión AMQP
PHP Manual

AMQPConnection::setPort

(PECL amqp >= Unknown)

AMQPConnection::setPort — Establece el puerto

Descripción

public bool AMQPConnection::setPort ( int $port )

Este método establecerá el puerto utilizado para conectarse con el Servidor AMQP.

Parámetros

port

El puerto utilizado para conectar con el Broker AMQP.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Emite AMQPConnectionException si port no se encuentra entre 1 y 65535.

Ejemplos

Ejemplo #1 Ejemplo de AMQPConnection::setPort()

<?php

/* Crea una nueva conexión */
$cnn = new AMQPConnection();

// Establece el puerto
$cnn->setPort(5672);

?>

AMQPConnection::setPassword
AMQPConnection::setTimeout
Conexión AMQP


Establecer el tiempo de espera

AMQPConnection::setPort
AMQPConnection::setVhost
Conexión AMQP
PHP Manual

AMQPConnection::setTimeout

(No hay información de versión disponible, podría estar únicamente en SVN)

AMQPConnection::setTimeout — Establecer el tiempo de espera

Descripción

public bool AMQPConnection::setTimeout ( float $timeout )

Establecer la cantidad de tiempo, en segundos, después de que esta instancia de un objeto AMQPConnection agote una solicitud para el corredor. Establecer este valor sobreescribirá el valor por defecto especificado en la configuración INI amqp.timeout. Para especificar un tiempo de espera de 500 ms, simplemente pasar de 0.5.

Parámetros

timeout

El tiempo de espera para conectar al corredor AMQP.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza una AMQPConnectionException si timeout tiempo de espera es más largo inferior a 0.

Ejemplos

Ejemplo #1 Ejemplo de AMQPConnection::setTimeout()

<?php

/* Crear una nueva conexión */
$cnn = new AMQPConnection();

// establecer el tiempo de espera
$cnn->setTimeout(5672);

?>

AMQPConnection::setPort
AMQPConnection::setVhost
Conexión AMQP


Establece el host virtual de amqp

AMQPConnection::setTimeout
AMQPChannel
Conexión AMQP
PHP Manual

AMQPConnection::setVhost

(PECL amqp >= Unknown)

AMQPConnection::setVhost — Establece el host virtual de amqp

Descripción

public bool AMQPConnection::setVhost ( string $vhost )

Establece el host virtual al cual se conecta el servidor de AMQP.

Parámetros

host

Host virtual a utilizar en el servidor de AMQP.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza una AMQPConnectionException si el host es mayor de 32 caracteres.

Ejemplos

Ejemplo #1 Ejemplo de AMQPConnection::setVhost()

<?php

/* Crea una conexión nueva */
$cnn = new AMQPConnection();

// Establece el nombre del host (hostname)
$cnn->setVhost('myvhost');

?>

AMQPConnection::setTimeout
AMQPChannel
Conexión AMQP


The AMQPChannel class

(PECL amqp >= Unknown)

Introducción

Representa un canal en una conexión. Cada conexión puede tener múltiples canales.

Sinopsis de la Clase

AMQPChannel {
/* Métodos */
public void commitTransaction ( void )
__construct ( AMQPConnection $amqp_connection )
public void isConnected ( void )
public void qos ( int $size , int $count )
public void rollbackTransaction ( void )
public void setPrefetchCount ( int $count )
public void setPrefetchSize ( int $size )
public void startTransaction ( void )
}

Tabla de contenidos

  • AMQPChannel::commitTransaction — Cometer una transación pendiente
  • AMQPChannel::__construct — Crea una instancia de un objecto AMQPChannel
  • AMQPChannel::isConnected — Comprueba la conexión del canal
  • AMQPChannel::qos — Establece las opciones de Quality Of Service del canal proporcinado
  • AMQPChannel::rollbackTransaction — Deshacer una transación
  • AMQPChannel::setPrefetchCount — Establece el número de mensajes a precapturar desde el broker
  • AMQPChannel::setPrefetchSize — Estable el tamaño de ventana a precapturar desde el broker
  • AMQPChannel::startTransaction — Inicia una transacción
AMQPConnection::setVhost
AMQPChannel::commitTransaction
PCMA


Cometer una transación pendiente

AMQPChannel
AMQPChannel::__construct
AMQPChannel
PHP Manual

AMQPChannel::commitTransaction

(No hay información de versión disponible, podría estar únicamente en SVN)

AMQPChannel::commitTransaction — Cometer una transación pendiente

Descripción

public void AMQPChannel::commitTransaction ( void )

Comete una transación pendiente. Antes de usar este método debe llamarse AMQPChannel::startTransaction().

Errores/Excepciones

Lanza una excepción AMQPChannelException si la transación no fue iniciada antes de lamar este método.

Lanza una excepción AMQPConnectionException si se perdió la conexión al broker.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

AMQPChannel
AMQPChannel::__construct
AMQPChannel


Crea una instancia de un objecto AMQPChannel

AMQPChannel::commitTransaction
AMQPChannel::isConnected
AMQPChannel
PHP Manual

AMQPChannel::__construct

(PECL amqp >= Unknown)

AMQPChannel::__construct — Crea una instancia de un objecto AMQPChannel

Descripción

AMQPChannel::__construct ( AMQPConnection $amqp_connection )

Crea una instancia de AMQPChannel representando un canal o la conexión dada.

Parámetros

amqp_connection

Una instancia de AMQPConnection con una conexión activa a un broker.

Errores/Excepciones

Lanza una excepción AMQPConnectionException si se perdió la conexión al broker.

Valores devueltos

Una instancia de AMQPChannel.

AMQPChannel::commitTransaction
AMQPChannel::isConnected
AMQPChannel


Comprueba la conexión del canal

AMQPChannel::__construct
AMQPChannel::qos
AMQPChannel
PHP Manual

AMQPChannel::isConnected

(PECL amqp >= Unknown)

AMQPChannel::isConnected — Comprueba la conexión del canal

Descripción

public void AMQPChannel::isConnected ( void )

Indica si el canal está conectado o no.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

AMQPChannel::__construct
AMQPChannel::qos
AMQPChannel


Establece las opciones de Quality Of Service del canal proporcinado

AMQPChannel::isConnected
AMQPChannel::rollbackTransaction
AMQPChannel
PHP Manual

AMQPChannel::qos

(PECL amqp >= Unknown)

AMQPChannel::qos — Establece las opciones de Quality Of Service del canal proporcinado

Descripción

public void AMQPChannel::qos ( int $size , int $count )

Especifica la cantidad de datos a precapturar en términos del tamaño de ventana (octetos) o número de mensajes de la cola cuando se usan los métodos AMQPQueue::consume() o AMQPQueue::get(). El cliente precapturará un máximo de size octetos o count mensajes desde el servidor, el límite al que se llegue primero.

Si se especifica 0 como valor, en cualquiera de los parámetros, indicará al cliente ignorar las opciones definidas para QOS.

AMQPChannel::qos() sobreescribirá cualquier valor usado por AMQPChannel::setPrefetchSize() y AMQPChannel::setPrefetchCount().

Si se utiliza AMQPQueue::consume() o AMQPQueue::get() con la opción AMQP_AUTOACK, el cliente no realizará ninguna precaptura de datos independientemente de las opciones definidas para QOS.

Parámetros

size

El tamaño de la ventana en octetos a precapturar.

count

El número de mensajes a precapturar.

Errores/Excepciones

Lanza una excepción si AMQPConnectionException se perdió la conexión al broker.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

AMQPChannel::isConnected
AMQPChannel::rollbackTransaction
AMQPChannel


Deshacer una transación

AMQPChannel::qos
AMQPChannel::setPrefetchCount
AMQPChannel
PHP Manual

AMQPChannel::rollbackTransaction

(No hay información de versión disponible, podría estar únicamente en SVN)

AMQPChannel::rollbackTransaction — Deshacer una transación

Descripción

public void AMQPChannel::rollbackTransaction ( void )

Deshace una transación existente. Se debe haber usado primero AMQPChannel::startTransaction().

Parámetros

Esta función no tiene parámetros.

Errores/Excepciones

Lanza una excepción AMQPChannelException si no se inición una transación antes de usar este método.

Lanza una excepción AMQPConnectionException si se perdió la conexión al broker.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

AMQPChannel::qos
AMQPChannel::setPrefetchCount
AMQPChannel


Establece el número de mensajes a precapturar desde el broker

AMQPChannel::rollbackTransaction
AMQPChannel::setPrefetchSize
AMQPChannel
PHP Manual

AMQPChannel::setPrefetchCount

(PECL amqp >= Unknown)

AMQPChannel::setPrefetchCount — Establece el número de mensajes a precapturar desde el broker

Descripción

public void AMQPChannel::setPrefetchCount ( int $count )

Define el número de mensajes a precapturar desde el broker cuando se usa AMQPQueue::consume() o AMQPQueue::get(). Cualquier uso de este método automáticamente definirá como 0 el valor de precaptura del tamaño de ventana, lo que significa que se ignorará dicha opción.

Si se usa AMQPQueue::consume() o AMQPQueue::get() con la opción AMQP_AUTOACK, se ignorará tal opción.

Parámetros

count

Número de mensajes a precapturar.

Errores/Excepciones

Lanza una excepción AMQPConnectionException si se perdió la conexión al broker.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

AMQPChannel::rollbackTransaction
AMQPChannel::setPrefetchSize
AMQPChannel


Estable el tamaño de ventana a precapturar desde el broker

AMQPChannel::setPrefetchCount
AMQPChannel::startTransaction
AMQPChannel
PHP Manual

AMQPChannel::setPrefetchSize

(PECL amqp >= Unknown)

AMQPChannel::setPrefetchSize — Estable el tamaño de ventana a precapturar desde el broker

Descripción

public void AMQPChannel::setPrefetchSize ( int $size )

Define el tamaño de ventana en octetos cuando se usa AMQPQueue::consume() o AMQPQueue::get(). Cualquier uso de este método automáticamente definirá como 0 el valor del número de mensajes, lo que significa que se ignorará dicha opción.

Si se usa AMQPQueue::consume() o AMQPQueue::get() con la opción AMQP_AUTOACK, se ignorará tal opción.

Parámetros

size

El tamaño de la ventana a precapturar en octetos.

Errores/Excepciones

Lanza una excepción AMQPConnectionException si se pierde la conexión al broker.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

AMQPChannel::setPrefetchCount
AMQPChannel::startTransaction
AMQPChannel


Inicia una transacción

AMQPChannel::setPrefetchSize
Intercambio de AMQP
AMQPChannel
PHP Manual

AMQPChannel::startTransaction

(No hay información de versión disponible, podría estar únicamente en SVN)

AMQPChannel::startTransaction — Inicia una transacción

Descripción

public void AMQPChannel::startTransaction ( void )

Inicia una transacción. Este método debe usarse en el canal proporcionado antes de AMQPChannel::commitTransaction() o AMQPChannel::rollbackTransaction().

Parámetros

Esta función no tiene parámetros.

Errores/Excepciones

Lanza una excepción AMQPConnectionException si se perdió la conexión con el broker.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

AMQPChannel::setPrefetchSize
Intercambio de AMQP
AMQPChannel


La clase de intercambio de AMQP

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Representa un intercambio AMQP.

Sinopsis de la Clase

AMQPExchange {
/* Methods */
public bool bind ( string $destination_exchange_name , string $source_exchange_name , string $routing_key )
public __construct ( AMQPChannel $amqp_channel )
public int declare ( void )
public bool delete ([ int $flags = AMQP_NOPARAM ] )
public mixed getArgument ( string $key )
public array getArguments ( void )
public int getFlags ( void )
public string getName ( void )
public string getType ( void )
public bool publish ( string $message , string $routing_key [, int $flags = AMQP_NOPARAM [, array $attributes = array() ]] )
public void setArgument ( string $key , mixed $value )
public void setArguments ( array $arguments )
public void setFlags ( int $flags )
public void setName ( string $exchange_name )
public string setType ( string $exchange_type )
}

Tabla de contenidos

  • AMQPExchange::bind — Enlazar a otro intercambio
  • AMQPExchange::__construct — Crea una instancia de AMQPExchange
  • AMQPExchange::declare — Declarar un nuevo intercambio en el corredor
  • AMQPExchange::delete — Eliminar el intercambio del corredor.
  • AMQPExchange::getArgument — Obtiene el argumento asociado con la clave proporcionada
  • AMQPExchange::getArguments — Get all arguments set on the given exchange
  • AMQPExchange::getFlags — Get the flag bitmask
  • AMQPExchange::getName — Get the configured name
  • AMQPExchange::getType — Get the configured type
  • AMQPExchange::publish — Publica un mensaje a un intercambio
  • AMQPExchange::setArgument — Establecer el valor para clave dada
  • AMQPExchange::setArguments — Establecer todos los argumentos sobre el intercambio
  • AMQPExchange::setFlags — Establecer los flags en un intercambio
  • AMQPExchange::setName — Establecer el nombre del intercambio
  • AMQPExchange::setType — Establecer el tipo de intercambio
AMQPChannel::startTransaction
AMQPExchange::bind
PCMA


Enlazar a otro intercambio

Intercambio de AMQP
AMQPExchange::__construct
Intercambio de AMQP
PHP Manual

AMQPExchange::bind

(PECL amqp >= Unknown)

AMQPExchange::bind — Enlazar a otro intercambio

Descripción

public bool AMQPExchange::bind ( string $destination_exchange_name , string $source_exchange_name , string $routing_key )

Enlazar un intercambio a otro intercambio usando la clave de enrutamiento especificada.

Parámetros

destination_exchange_name

El nombre del destino de intercambio en la adaptación.

source_exchange_name

El nombre de la fuente de intercambio en la adaptación.

routing_key

La clave de enrutamiento a usar como un enlace.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza una AMQPExchangeException en caso de error.

Lanza una AMQPChannelException si el canal no está abierto.

Lanza una AMQPConnectionException si se perdió la conexión con el corredor.

Intercambio de AMQP
AMQPExchange::__construct
Intercambio de AMQP


Crea una instancia de AMQPExchange

AMQPExchange::bind
AMQPExchange::declare
Intercambio de AMQP
PHP Manual

AMQPExchange::__construct

(PECL amqp >= Unknown)

AMQPExchange::__construct — Crea una instancia de AMQPExchange

Descripción

public AMQPExchange::__construct ( AMQPChannel $amqp_channel )

Devuelve una nueva instancia de un objeto AMQPExchange, asociado con el objeto AMQPChannel dado.

Parámetros

AMQPChannel

Un objeto AMQPConnection válido, conectado a un corredor.

Valores devueltos

Un objeto AMQPExchange.

Errores/Excepciones

Lanza una AMQPExchangeException cuando amqp_channel no está conectado al corredor.

Lanza una AMQPConnectionException si se perdió la conexión con el corredor.

AMQPExchange::bind
AMQPExchange::declare
Intercambio de AMQP


Declarar un nuevo intercambio en el corredor

AMQPExchange::__construct
AMQPExchange::delete
Intercambio de AMQP
PHP Manual

AMQPExchange::declare

(PECL amqp >= Unknown)

AMQPExchange::declare — Declarar un nuevo intercambio en el corredor

Descripción

public int AMQPExchange::declare ( void )

Declarar un intercambio en el corredor.

Parámetros

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza una AMQPExchangeException en caso de error.

Lanza una AMQPChannelException si el canal no está abierto.

Lanza una AMQPConnectionException si se perdió la conexión con el corredor.

Ejemplos

Ejemplo #1 Ejemplo de AMQPExchange::declare()

<?php

/* Crear una nueva conexión */
$cnn = new AMQPConnection();
$cnn->connect();

$ch = new AMQPChannel($cnn);

$ex = new AMQPExchange($ch);
$ex->setName('new_topic_exchange');
$ex->setType(AMQP_EX_TYPE_DIRECT);
$ex->setFlags(AMQP_DURABLE | AMQP_AUTODELETE);
$ex->declare();

?>

AMQPExchange::__construct
AMQPExchange::delete
Intercambio de AMQP


Eliminar el intercambio del corredor.

AMQPExchange::declare
AMQPExchange::getArgument
Intercambio de AMQP
PHP Manual

AMQPExchange::delete

(PECL amqp >= Unknown)

AMQPExchange::delete — Eliminar el intercambio del corredor.

Descripción

public bool AMQPExchange::delete ([ int $flags = AMQP_NOPARAM ] )

Eliminar y el intercambio de la agente.

Parámetros

flags

Opcionalmente AMQP_IFUNUSED se puede especificar para indicar el cambio no debe ser eliminado hasta que no haya clientes conectados a él.

Errores/Excepciones

Throws AMQPExchangeException on failure.

Throws AMQPChannelException if the channel is not open.

Throws AMQPConnectionException if the connection to the broker was lost.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 AMQPExchange::delete()ejemplo

<?php

/* Create a new connection */
$cnn = new AMQPConnection();
$cnn->connect();

/* Create a new exchange */
$ex = new AMQPExchange($cnn);
$ex->declare('new_topic_exchange', AMQP_EX_TYPE_DIRECT, AMQP_DURABLE | AMQP_AUTODELETE);

/* Delete the previous exchange */
$ex2 = new AMQPExchange($cnn);
$ex2->delete('new_topic_exchange');

?>

AMQPExchange::declare
AMQPExchange::getArgument
Intercambio de AMQP


Obtiene el argumento asociado con la clave proporcionada

AMQPExchange::delete
AMQPExchange::getArguments
Intercambio de AMQP
PHP Manual

AMQPExchange::getArgument

(PECL amqp >= Unknown)

AMQPExchange::getArgument — Obtiene el argumento asociado con la clave proporcionada

Descripción

public mixed AMQPExchange::getArgument ( string $key )

Obtiene el argumento asociado con la clave proporcionada.

Parámetros

key

La clave a revisar.

Valores devueltos

Valor string o integer asociado con la clave proporcionada, o FALSE en caso de que la clave no está definida.

AMQPExchange::delete
AMQPExchange::getArguments
Intercambio de AMQP


Get all arguments set on the given exchange

AMQPExchange::getArgument
AMQPExchange::getFlags
Intercambio de AMQP
PHP Manual

AMQPExchange::getArguments

(PECL amqp >= Unknown)

AMQPExchange::getArguments — Get all arguments set on the given exchange

Descripción

public array AMQPExchange::getArguments ( void )

Get all arguments as an array of key/value pairs that are currently set on the given exchange.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

An array containing all of the set key/value pairs.

AMQPExchange::getArgument
AMQPExchange::getFlags
Intercambio de AMQP


Get the flag bitmask

AMQPExchange::getArguments
AMQPExchange::getName
Intercambio de AMQP
PHP Manual

AMQPExchange::getFlags

(PECL amqp >= Unknown)

AMQPExchange::getFlags — Get the flag bitmask

Descripción

public int AMQPExchange::getFlags ( void )

Get all the flags currently set on the given exchange.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

An integer bitmask of all the flags currently set on this exchange object.

AMQPExchange::getArguments
AMQPExchange::getName
Intercambio de AMQP


Get the configured name

AMQPExchange::getFlags
AMQPExchange::getType
Intercambio de AMQP
PHP Manual

AMQPExchange::getName

(PECL amqp >= Unknown)

AMQPExchange::getName — Get the configured name

Descripción

public string AMQPExchange::getName ( void )

Get the configured name.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

The configured name as a string.

AMQPExchange::getFlags
AMQPExchange::getType
Intercambio de AMQP


Get the configured type

AMQPExchange::getName
AMQPExchange::publish
Intercambio de AMQP
PHP Manual

AMQPExchange::getType

(PECL amqp >= Unknown)

AMQPExchange::getType — Get the configured type

Descripción

public string AMQPExchange::getType ( void )

Get the configured type.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

The configured type as a string.

AMQPExchange::getName
AMQPExchange::publish
Intercambio de AMQP


Publica un mensaje a un intercambio

AMQPExchange::getType
AMQPExchange::setArgument
Intercambio de AMQP
PHP Manual

AMQPExchange::publish

(PECL amqp >= Unknown)

AMQPExchange::publish — Publica un mensaje a un intercambio

Descripción

public bool AMQPExchange::publish ( string $message , string $routing_key [, int $flags = AMQP_NOPARAM [, array $attributes = array() ]] )

Publica un mensaje a el intercambio representado por el objeto de AMQPExchange.

Parámetros

message

El mensaje a publicar.

routing_key

La clave de enrutamiento la cual se publica.

flags

Uno o más AMQP_MANDATORY y AMQP_IMMEDIATE.

atributos

Indices soportados
Clave | Descripción | Valor por omisión
content_type | text/plain
content_encoding | NULL
message_id | NULL
user_id | NULL
app_id | NULL
delivery_mode | NULL
priority | NULL
timestamp | NULL
expiration | NULL
type | NULL
reply_to | NULL

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza una AMQPExchangeException en caso de error.

Lanza una AMQPChannelException si el canal no está abierto.

Lanza una AMQPConnectionException si se perdío la conexión al corredor.

AMQPExchange::getType
AMQPExchange::setArgument
Intercambio de AMQP


Establecer el valor para clave dada

AMQPExchange::publish
AMQPExchange::setArguments
Intercambio de AMQP
PHP Manual

AMQPExchange::setArgument

(PECL amqp >= Unknown)

AMQPExchange::setArgument — Establecer el valor para clave dada

Descripción

public void AMQPExchange::setArgument ( string $key , mixed $value )

Establecer el valor para la clave dada

Parámetros

key

Clave a establecer.

value

El valor a establecer.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

AMQPExchange::publish
AMQPExchange::setArguments
Intercambio de AMQP


Establecer todos los argumentos sobre el intercambio

AMQPExchange::setArgument
AMQPExchange::setFlags
Intercambio de AMQP
PHP Manual

AMQPExchange::setArguments

(PECL amqp >= Unknown)

AMQPExchange::setArguments — Establecer todos los argumentos sobre el intercambio

Descripción

public void AMQPExchange::setArguments ( array $arguments )

establece todos los argumentos sobre el intercambio dado. Todos los otros valores del argumento se limpian.

Parámetros

arguments

Un array de pares clave/valor de argumentos.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

AMQPExchange::setArgument
AMQPExchange::setFlags
Intercambio de AMQP


Establecer los flags en un intercambio

AMQPExchange::setArguments
AMQPExchange::setName
Intercambio de AMQP
PHP Manual

AMQPExchange::setFlags

(PECL amqp >= Unknown)

AMQPExchange::setFlags — Establecer los flags en un intercambio

Descripción

public void AMQPExchange::setFlags ( int $flags )

Establecer los flags en un intercambio.

Parámetros

flags

Una máscara de bits de flags. Esta llamada actualmente sólo considera los siguientes flags: AMQP_DURABLE, AMQP_PASSIVE.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

AMQPExchange::setArguments
AMQPExchange::setName
Intercambio de AMQP


Establecer el nombre del intercambio

AMQPExchange::setFlags
AMQPExchange::setType
Intercambio de AMQP
PHP Manual

AMQPExchange::setName

(PECL amqp >= Unknown)

AMQPExchange::setName — Establecer el nombre del intercambio

Descripción

public void AMQPExchange::setName ( string $exchange_name )

Establecer el nombre del intercambio.

Parámetros

exchange_name

El nombre del intercambio a establecer como un string.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

AMQPExchange::setFlags
AMQPExchange::setType
Intercambio de AMQP


Establecer el tipo de intercambio

AMQPExchange::setName
AMQPQueue
Intercambio de AMQP
PHP Manual

AMQPExchange::setType

(PECL amqp >= Unknown)

AMQPExchange::setType — Establecer el tipo de intercambio

Descripción

public string AMQPExchange::setType ( string $exchange_type )

Establecer el tipo de intercambio. Este puede ser cualquiera de AMQP_EX_TYPE_DIRECT, AMQP_EX_TYPE_FANOUT, AMQP_EX_TYPE_HEADER o AMQP_EX_TYPE_TOPIC.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

exchange_type

El tipo de intercambio como un string.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

AMQPExchange::setName
AMQPQueue
Intercambio de AMQP


La clase AMQPQueue

(PECL amqp >= Unknown)

Introducción

Representa una cola AMQP.

Sinopsis de la Clase

AMQPQueue {
/* Métodos */
public bool ack ( int $delivery_tag [, int $flags = AMQP_NOPARAM ] )
public bool bind ( string $exchange_name , string $routing_key )
public bool cancel ([ string $consumer_tag = "" ] )
public __construct ( AMQPChannel $amqp_channel )
public void consume ( callable $callback [, int $flags = AMQP_NOPARAM ] )
public int declare ( void )
publicbool delete ( void )
public mixed get ([ int $flags = ini_get("amqp.auto_ack") ] )
public mixed getArgument ( string $key )
public array getArguments ( void )
public int getFlags ( void )
public string getName ( void )
public void nack ( string $delivery_tag [, string $flags = AMQP_NOPARAM ] )
public bool purge ( void )
public void setArgument ( string $key , mixed $value )
public void setArguments ( array $arguments )
public void setFlags ( int $flags )
public void setName ( string $queue_name )
public bool unbind ( string $exchange_name , string $routing_key )
}

Tabla de contenidos

  • AMQPQueue::ack — Reconoce la recepción de un mensaje
  • AMQPQueue::bind — Enlaza la cola dada a un enrutamiento clave en un intercambio
  • AMQPQueue::cancel — Cancela una cola enlaza
  • AMQPQueue::__construct — Crea una instancia de un objeto AMQPQueue
  • AMQPQueue::consume — Consume mensajes de una cola
  • AMQPQueue::declare — Declarar una nueva cola
  • AMQPQueue::delete — Borra una cola y su contenido
  • AMQPQueue::get — Recupera el mensaje siguiente de la cola
  • AMQPQueue::getArgument — Obtiene el argumento asociado con la clave proporcionada
  • AMQPQueue::getArguments — Obtiene todos los argumentos que se encuentran en la cola dada
  • AMQPQueue::getFlags — Get the flag bitmask
  • AMQPQueue::getName — Obtener el nombre configurado
  • AMQPQueue::nack — Mark a message as explicitly not acknowledged.
  • AMQPQueue::purge — Purga los contenidos de una cola
  • AMQPQueue::setArgument — Establecer el valor de la clave dada
  • AMQPQueue::setArguments — Establecer todos los argumentos en la cola
  • AMQPQueue::setFlags — Set the queue flags
  • AMQPQueue::setName — Establecer el nombre de cola
  • AMQPQueue::unbind — Desata la cola de una clave de enrutamiento
AMQPExchange::setType
AMQPQueue::ack
PCMA


Reconoce la recepción de un mensaje

AMQPQueue
AMQPQueue::bind
AMQPQueue
PHP Manual

AMQPQueue::ack

(PECL amqp >= Unknown)

AMQPQueue::ack — Reconoce la recepción de un mensaje

Descripción

public bool AMQPQueue::ack ( int $delivery_tag [, int $flags = AMQP_NOPARAM ] )

Éste metodo permite reconocer la recepción de un mensaje que es recuperado sin la bandera AMQP_NOACK a través de AMQPQueue::get() o AMQPQueue::consume().

Parámetros

delivery_tag

La etiqueta de mensaje entregado del cual reconoce la recepción.

flags

La unica bandera valida que puede ser pasada es AMQP_MULTIPLE.

Errores/Excepciones

Lanza una AMQPChannelException si el canal no está abierto.

Lanza una AMQPConnectionException si se perdió la conexión con el corredor.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 AMQPQueue::ack() Ejemplo con AMQPQueue::get()

<?php

/* Crear una conexión con todas las credenciales por defecto: */
$connection = new AMQPConnection();
$connection->connect();

/* crear un objeto de cola */
$queue = new AMQPQueue($channel);

//declarar la cola
$queue->declare('myqueue');

//obtener el siguiente mensaje, pero no lo marca como entregado
$message = $queue->get(AMQP_NOPARAM);

echo $message['msg'];

//reconocer que el mensaje fue recibido
$queue->ack($message['delivery_tag']);

?>

Ejemplo #2 AMQPQueue::ack() Ejemplo con AMQPQueue::consume()

<?php

/* Crear una conexión con todas las credenciales por defecto: */
$connection = new AMQPConnection();
$connection->connect();

/* crear un objeto de cola */
$queue = new AMQPQueue($connection);

//declarar la cola
$queue->declare('myqueue');

$options = array(
    'min' => 1,
    'max' => 10,
    'ack' => false
);

//obtener el siguiente mensaje, pero no lo marca como entregado
$messages = $queue->consume($options);

foreach ($messages as $message) {
    echo $message['message_body'];
    //reconocer que el mensaje fue recibido
    $queue->ack($message['delivery_tag']);
}

?>

AMQPQueue
AMQPQueue::bind
AMQPQueue


Enlaza la cola dada a un enrutamiento clave en un intercambio

AMQPQueue::ack
AMQPQueue::cancel
AMQPQueue
PHP Manual

AMQPQueue::bind

(PECL amqp >= Unknown)

AMQPQueue::bind — Enlaza la cola dada a un enrutamiento clave en un intercambio

Descripción

public bool AMQPQueue::bind ( string $exchange_name , string $routing_key )

El método de enlace va a enlazar la cola dada a un enrutamiento clave especificado en el intercambio dado.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

exchange_name

El nombre del intercambio el cual se enlaza.

routing_key

La clave del enrutamiento la cual se enlaza.

Errores/Excepciones

Lanza una AMQPChannelException si el canal no está abierto.

Lanza una AMQPConnectionException si se pierde la conexión al corredor.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

AMQPQueue::ack
AMQPQueue::cancel
AMQPQueue


Cancela una cola enlaza

AMQPQueue::bind
AMQPQueue::__construct
AMQPQueue
PHP Manual

AMQPQueue::cancel

(PECL amqp >= Unknown)

AMQPQueue::cancel — Cancela una cola enlaza

Descripción

public bool AMQPQueue::cancel ([ string $consumer_tag = "" ] )

Cancela una cola que ya esta enlazada a un intercambio y clave de ruteo.

Parámetros

consumer_tag

El nombre de la cola a cancelar, si el objeto de la cola no es ya representativa de una cola.

Errores/Excepciones

Lanza una AMQPChannelException si el canal no está abierto.

Lanza una AMQPConnectionException si se perdió la conexión con el corredor.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

AMQPQueue::bind
AMQPQueue::__construct
AMQPQueue


Crea una instancia de un objeto AMQPQueue

AMQPQueue::cancel
AMQPQueue::consume
AMQPQueue
PHP Manual

AMQPQueue::__construct

(PECL amqp >= Unknown)

AMQPQueue::__construct — Crea una instancia de un objeto AMQPQueue

Descripción

public AMQPQueue::__construct ( AMQPChannel $amqp_channel )

Crea una instancia de AMQPQueue representando una cola PCMA (AMQP) en el corredor.

Parámetros

Errores/Excepciones

Lanza una AMQPQueueException cuando amqp_channel no está conectado con el corredor.

Lanza una AMQPConnectionException si se perdió la conexión con el corredor.

Valores devueltos

Devuelve una instancia de AMQPQueue en caso de éxito.

AMQPQueue::cancel
AMQPQueue::consume
AMQPQueue


Consume mensajes de una cola

AMQPQueue::__construct
AMQPQueue::declare
AMQPQueue
PHP Manual

AMQPQueue::consume

(PECL amqp >= Unknown)

AMQPQueue::consume — Consume mensajes de una cola

Descripción

public void AMQPQueue::consume ( callable $callback [, int $flags = AMQP_NOPARAM ] )

El bloqueo de la función que va a recuperar el mensaje siguiente de la cola cuando esté disponible y hacerlo pasar a la llamada de retorno.

Parámetros

callback

Una función de llamada de retorno para que el mensaje de consumo será pasada. La función debe aceptar como mínimo un parámetro, un objeto AMQPEnvelope, y un segundo parámetro opcional AMQPQueue de que el mensaje fue consumido.

The AMQPQueue::consume() will not return the processing thread back to the PHP script until the callback function returns FALSE.

flags

Una máscara de bits de cualquiera de las flags: AMQP_NOACK.

Errores/Excepciones

Lanza una AMQPChannelException si el canal no está abierto.

Lanza una AMQPConnectionException si se perdió la conexión con el corredor.

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de AMQPQueue::consume()

<?php

/* Crea una conección utilizando todas las credenciales por defecto: */
$connection = new AMQPConnection();
$connection->connect();

$channel = new AMQPChannel($connection);

/* Crea un objeto de la cola */
$queue = new AMQPQueue($channel);

// Declara la cola
$queue->declare('myqueue');

$i = 0;
function processMessage($envelope, $queue) {
   global $i;
   echo "Message $i: " . $envelope->getBody() . "\n";
   $i++;
   if ($i > 10) {
       // Bail after 10 messages
       return false;
    }
}

// Consume los mensajes en la cola
$queue->consume("processMessage");

?>

AMQPQueue::__construct
AMQPQueue::declare
AMQPQueue


Declarar una nueva cola

AMQPQueue::consume
AMQPQueue::delete
AMQPQueue
PHP Manual

AMQPQueue::declare

(PECL amqp >= Unknown)

AMQPQueue::declare — Declarar una nueva cola

Descripción

public int AMQPQueue::declare ( void )

Declarar una nueva cola en el corredor.

Parámetros

Errores/Excepciones

Lanza una AMQPChannelException si el canal no está abierto.

Lanza una AMQPConnectionException si se perdió la conexión con el corredor.

Valores devueltos

Devuelve el número de mensajes.

AMQPQueue::consume
AMQPQueue::delete
AMQPQueue


Borra una cola y su contenido

AMQPQueue::declare
AMQPQueue::get
AMQPQueue
PHP Manual

AMQPQueue::delete

(PECL amqp >= Unknown)

AMQPQueue::delete — Borra una cola y su contenido

Descripción

publicbool AMQPQueue::delete ( void )

Borra una cola del corredor, incluyendo su contenido completo de lo no leído o mensajes no reconocidos.

Parámetros

Esta función no tiene parámetros.

Errores/Excepciones

Lanza una AMQPChannelException si el canal no está abierto.

Lanza una AMQPConnectionException si se perdió la conexión con el corredor.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

AMQPQueue::declare
AMQPQueue::get
AMQPQueue


Recupera el mensaje siguiente de la cola

AMQPQueue::delete
AMQPQueue::getArgument
AMQPQueue
PHP Manual

AMQPQueue::get

(PECL amqp >= Unknown)

AMQPQueue::get — Recupera el mensaje siguiente de la cola

Descripción

public mixed AMQPQueue::get ([ int $flags = ini_get("amqp.auto_ack") ] )

Recupera el mensaje siguiente de la cola. Es un tipo de operación de no bloqueo, lo que significa que si no hay mensaje en la cola, la función volverá inmediatamente sin mensaje.

Actualmente, el único flag soportada por el parámetro flags es AMQP_AUTOACK. Si este indicador se pasa, entonces el mensaje devuelto automáticamente será marcado como reconocido por el corredor tan pronto como los frames se envíen al cliente.

Parámetros

flags

Una máscara de bits de las banderas soportadas por la llamada al método. Actualmente, la única bandera soportada es AMQP_AUTOACK. Si este valor no es proporcionado, este usará el valor de amqp.auto_ack.

Valores devueltos

Una instancia de AMQPEnvelope representa el mensaje lanzado de la cola, o FALSE.

Ejemplos

Ejemplo #1 Ejemplo de AMQPQueue::get()

<?php

/* Crear una conexión con todas las credenciales por defecto: */
$connection = new AMQPConnection();
$connection->connect();

$channel = new AMQPChannel($connection);

/* crear un objeto de cola */
$queue = new AMQPQueue($channel);

//declarar la cola
$queue->declare('myqueue');

//obtener el mensaje
$message = $queue->get(AMQP_AUTOACK);

echo $message->getBody();

?>

AMQPQueue::delete
AMQPQueue::getArgument
AMQPQueue


Obtiene el argumento asociado con la clave proporcionada

AMQPQueue::get
AMQPQueue::getArguments
AMQPQueue
PHP Manual

AMQPQueue::getArgument

(PECL amqp >= Unknown)

AMQPQueue::getArgument — Obtiene el argumento asociado con la clave proporcionada

Descripción

public mixed AMQPQueue::getArgument ( string $key )

Obtiene el argumento asociado con la clave proporcionada.

Parámetros

key

La clave a revisar.

Valores devueltos

Valor string o integer asociado con la clave proporcionada, o FALSE en caso de que la clave no está definida.

AMQPQueue::get
AMQPQueue::getArguments
AMQPQueue


Obtiene todos los argumentos que se encuentran en la cola dada

AMQPQueue::getArgument
AMQPQueue::getFlags
AMQPQueue
PHP Manual

AMQPQueue::getArguments

(PECL amqp >= Unknown)

AMQPQueue::getArguments — Obtiene todos los argumentos que se encuentran en la cola dada

Descripción

public array AMQPQueue::getArguments ( void )

Obtiene todos los argumentos como un array de pares clave/valor que actualmente se encuentran en la cola dada.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un array que contiene todos los pares de clave/valor.

AMQPQueue::getArgument
AMQPQueue::getFlags
AMQPQueue


Get the flag bitmask

AMQPQueue::getArguments
AMQPQueue::getName
AMQPQueue
PHP Manual

AMQPQueue::getFlags

(PECL amqp >= Unknown)

AMQPQueue::getFlags — Get the flag bitmask

Descripción

public int AMQPQueue::getFlags ( void )

Get all the flags currently set on the given queue.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

An integer bitmask of all the flags currently set on this exchange object.

AMQPQueue::getArguments
AMQPQueue::getName
AMQPQueue


Obtener el nombre configurado

AMQPQueue::getFlags
AMQPQueue::nack
AMQPQueue
PHP Manual

AMQPQueue::getName

(PECL amqp >= Unknown)

AMQPQueue::getName — Obtener el nombre configurado

Descripción

public string AMQPQueue::getName ( void )

Obtener el nombre configurado.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El nombre configurado como un string.

AMQPQueue::getFlags
AMQPQueue::nack
AMQPQueue


Mark a message as explicitly not acknowledged.

AMQPQueue::getName
AMQPQueue::purge
AMQPQueue
PHP Manual

AMQPQueue::nack

(PECL amqp >= Unknown)

AMQPQueue::nack — Mark a message as explicitly not acknowledged.

Descripción

public void AMQPQueue::nack ( string $delivery_tag [, string $flags = AMQP_NOPARAM ] )

Mark the message identified by delivery_tag as explicitly not acknowledged. This method can only be called on messages that have not yet been acknowledged, meaning that messages retrieved with by AMQPQueue::consume() and AMQPQueue::get() and using the AMQP_AUTOACK flag are not eligible.

When called, the broker will immediately put the message back onto the queue, instead of waiting until the connection is closed.

This method is only supported by the RabbitMQ broker. The behavior of calling this method while connected to any other broker is undefined.

Parámetros

delivery_tag

The delivery tag by which to identify the message.

flags

A bitmask of flags.

Errores/Excepciones

Throws AMQPChannelException if the channel is not open.

Throws AMQPConnectionException if the connection to the broker was lost.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

AMQPQueue::getName
AMQPQueue::purge
AMQPQueue


Purga los contenidos de una cola

AMQPQueue::nack
AMQPQueue::setArgument
AMQPQueue
PHP Manual

AMQPQueue::purge

(PECL amqp >= Unknown)

AMQPQueue::purge — Purga los contenidos de una cola

Descripción

public bool AMQPQueue::purge ( void )

Purga los contenidos de una cola.

Parámetros

Esta función no tiene parámetros.

Errores/Excepciones

Lanza una AMQPChannelException si el canal no está abierto.

Lanza una AMQPConnectionException si se perdió la conexión con el corredor.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

AMQPQueue::nack
AMQPQueue::setArgument
AMQPQueue


Establecer el valor de la clave dada

AMQPQueue::purge
AMQPQueue::setArguments
AMQPQueue
PHP Manual

AMQPQueue::setArgument

(PECL amqp >= Unknown)

AMQPQueue::setArgument — Establecer el valor de la clave dada

Descripción

public void AMQPQueue::setArgument ( string $key , mixed $value )

Establecer la clave para el valor dado.

Parámetros

key

La clave a establecer.

value

El valor a establecer.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

AMQPQueue::purge
AMQPQueue::setArguments
AMQPQueue


Establecer todos los argumentos en la cola

AMQPQueue::setArgument
AMQPQueue::setFlags
AMQPQueue
PHP Manual

AMQPQueue::setArguments

(PECL amqp >= Unknown)

AMQPQueue::setArguments — Establecer todos los argumentos en la cola

Descripción

public void AMQPQueue::setArguments ( array $arguments )

Establecer todos los argumentos sobre la cola dada. Todos los otros valores del argumento se limpian.

Parámetros

arguments

Un array de pares clave/valor de argumentos.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

AMQPQueue::setArgument
AMQPQueue::setFlags
AMQPQueue


Set the queue flags

AMQPQueue::setArguments
AMQPQueue::setName
AMQPQueue
PHP Manual

AMQPQueue::setFlags

(PECL amqp >= Unknown)

AMQPQueue::setFlags — Set the queue flags

Descripción

public void AMQPQueue::setFlags ( int $flags )

Set the flags on the queue.

Parámetros

flags

A bitmask of flags. This call currently only supports a bitmask of the following flags: AMQP_DURABLE, AMQP_PASSIVE, AMQP_EXCLUSIVE, AMQP_AUTODELETE.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

AMQPQueue::setArguments
AMQPQueue::setName
AMQPQueue


Establecer el nombre de cola

AMQPQueue::setFlags
AMQPQueue::unbind
AMQPQueue
PHP Manual

AMQPQueue::setName

(PECL amqp >= Unknown)

AMQPQueue::setName — Establecer el nombre de cola

Descripción

public void AMQPQueue::setName ( string $queue_name )

Establecer el nombre de la cola

Parámetros

queue_name

El nombre de la cola como un string.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

AMQPQueue::setFlags
AMQPQueue::unbind
AMQPQueue


Desata la cola de una clave de enrutamiento

AMQPQueue::setName
AMQPEnvelope
AMQPQueue
PHP Manual

AMQPQueue::unbind

(PECL amqp >= Unknown)

AMQPQueue::unbind — Desata la cola de una clave de enrutamiento

Descripción

public bool AMQPQueue::unbind ( string $exchange_name , string $routing_key )

Elimina un enrutamiento clave enlazada en un intercambio de la cola dada.

Parámetros

exchange_name

El nombre del intercambio en el cual la ruta es enlazada.

routing_key

La clave de enrutamiento enlazado usado por la cola.

Errores/Excepciones

Lanza una AMQPChannelException si el canal no está abierto.

Lanza una AMQPConnectionException si se perdió la conexión con el corredor.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

AMQPQueue::setName
AMQPEnvelope
AMQPQueue


La clase AMQPEnvelope

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Contiene un mensaje y todos sus atributos.

Sinopsis de la Clase

AMQPEnvelope {
/* Métodos */
public string getAppId ( void )
public string getBody ( void )
public string getContentEncoding ( void )
public string getContentType ( void )
public string getCorrelationId ( void )
public string getDeliveryTag ( void )
public string getExchange ( void )
public string getExpiration ( void )
public string getHeader ( string $header_key )
public array getHeaders ( void )
public string getMessageId ( void )
public string getPriority ( void )
public string getReplyTo ( void )
public string getRoutingKey ( void )
public string getTimeStamp ( void )
public string getType ( void )
public string getUserId ( void )
public bool isRedelivery ( void )
}

Tabla de contenidos

  • AMQPEnvelope::getAppId — Obtiene el id de la aplicación del mensaje
  • AMQPEnvelope::getBody — Obtiene el cuerpo del mensaje
  • AMQPEnvelope::getContentEncoding — Obtiene el content encoding del mensaje
  • AMQPEnvelope::getContentType — Obtiene el content type del mensaje
  • AMQPEnvelope::getCorrelationId — Obtiene el correlation id del mensaje
  • AMQPEnvelope::getDeliveryTag — Obtiene el mensaje delivery tag
  • AMQPEnvelope::getExchange — Obtiene el mensaje exchange
  • AMQPEnvelope::getExpiration — Obtiene la caducidad del mensaje
  • AMQPEnvelope::getHeader — Obtiene un encabezado específico del mensaje
  • AMQPEnvelope::getHeaders — Obtiene los encabezados del mensaje
  • AMQPEnvelope::getMessageId — Obtiene el id del mensaje
  • AMQPEnvelope::getPriority — Obtiene la prioridad del mensaje
  • AMQPEnvelope::getReplyTo — Obtiene el reply to del mensaje
  • AMQPEnvelope::getRoutingKey — Obtiene el routing key del mensaje
  • AMQPEnvelope::getTimeStamp — Obtiene el timestamp del mensaje
  • AMQPEnvelope::getType — Obtiene el tipo del mensaje
  • AMQPEnvelope::getUserId — Obtiene el id de usuario del mensaje
  • AMQPEnvelope::isRedelivery — Si se trata de un reenvio del mensaje
AMQPQueue::unbind
AMQPEnvelope::getAppId
PCMA


Obtiene el id de la aplicación del mensaje

AMQPEnvelope
AMQPEnvelope::getBody
AMQPEnvelope
PHP Manual

AMQPEnvelope::getAppId

(No hay información de versión disponible, podría estar únicamente en SVN)

AMQPEnvelope::getAppId — Obtiene el id de la aplicación del mensaje

Descripción

public string AMQPEnvelope::getAppId ( void )

Obtiene el id de la aplicación del mensaje.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El id de la aplicación del mensaje.

AMQPEnvelope
AMQPEnvelope::getBody
AMQPEnvelope


Obtiene el cuerpo del mensaje

AMQPEnvelope::getAppId
AMQPEnvelope::getContentEncoding
AMQPEnvelope
PHP Manual

AMQPEnvelope::getBody

(No hay información de versión disponible, podría estar únicamente en SVN)

AMQPEnvelope::getBody — Obtiene el cuerpo del mensaje

Descripción

public string AMQPEnvelope::getBody ( void )

Obtiene el cuerpo del mensaje.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El contenido del cuerpo del mensaje.

AMQPEnvelope::getAppId
AMQPEnvelope::getContentEncoding
AMQPEnvelope


Obtiene el content encoding del mensaje

AMQPEnvelope::getBody
AMQPEnvelope::getContentType
AMQPEnvelope
PHP Manual

AMQPEnvelope::getContentEncoding

(No hay información de versión disponible, podría estar únicamente en SVN)

AMQPEnvelope::getContentEncoding — Obtiene el content encoding del mensaje

Descripción

public string AMQPEnvelope::getContentEncoding ( void )

Obtiene el content encoding del mensaje.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El content encoding del mensaje.

AMQPEnvelope::getBody
AMQPEnvelope::getContentType
AMQPEnvelope


Obtiene el content type del mensaje

AMQPEnvelope::getContentEncoding
AMQPEnvelope::getCorrelationId
AMQPEnvelope
PHP Manual

AMQPEnvelope::getContentType

(No hay información de versión disponible, podría estar únicamente en SVN)

AMQPEnvelope::getContentType — Obtiene el content type del mensaje

Descripción

public string AMQPEnvelope::getContentType ( void )

Obtiene el content type del mensaje.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El content type del mensaje.

AMQPEnvelope::getContentEncoding
AMQPEnvelope::getCorrelationId
AMQPEnvelope


Obtiene el correlation id del mensaje

AMQPEnvelope::getContentType
AMQPEnvelope::getDeliveryTag
AMQPEnvelope
PHP Manual

AMQPEnvelope::getCorrelationId

(No hay información de versión disponible, podría estar únicamente en SVN)

AMQPEnvelope::getCorrelationId — Obtiene el correlation id del mensaje

Descripción

public string AMQPEnvelope::getCorrelationId ( void )

Obtiene el correlation id del mensaje.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El correlation id del mensaje.

AMQPEnvelope::getContentType
AMQPEnvelope::getDeliveryTag
AMQPEnvelope


Obtiene el mensaje delivery tag

AMQPEnvelope::getCorrelationId
AMQPEnvelope::getExchange
AMQPEnvelope
PHP Manual

AMQPEnvelope::getDeliveryTag

(No hay información de versión disponible, podría estar únicamente en SVN)

AMQPEnvelope::getDeliveryTag — Obtiene el mensaje delivery tag

Descripción

public string AMQPEnvelope::getDeliveryTag ( void )

Obtiene el delivery tag del mensaje.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El delivery tag del mensaje.

AMQPEnvelope::getCorrelationId
AMQPEnvelope::getExchange
AMQPEnvelope


Obtiene el mensaje exchange

AMQPEnvelope::getDeliveryTag
AMQPEnvelope::getExpiration
AMQPEnvelope
PHP Manual

AMQPEnvelope::getExchange

(No hay información de versión disponible, podría estar únicamente en SVN)

AMQPEnvelope::getExchange — Obtiene el mensaje exchange

Descripción

public string AMQPEnvelope::getExchange ( void )

Obtiene el nombre del exchange en donde el mensaje fue publicado.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El nombre del exchange en donde el mensaje fue publicado.

AMQPEnvelope::getDeliveryTag
AMQPEnvelope::getExpiration
AMQPEnvelope


Obtiene la caducidad del mensaje

AMQPEnvelope::getExchange
AMQPEnvelope::getHeader
AMQPEnvelope
PHP Manual

AMQPEnvelope::getExpiration

(No hay información de versión disponible, podría estar únicamente en SVN)

AMQPEnvelope::getExpiration — Obtiene la caducidad del mensaje

Descripción

public string AMQPEnvelope::getExpiration ( void )

Obtiene la caducidad del mensaje.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La caducidad del mensaje.

AMQPEnvelope::getExchange
AMQPEnvelope::getHeader
AMQPEnvelope


Obtiene un encabezado específico del mensaje

AMQPEnvelope::getExpiration
AMQPEnvelope::getHeaders
AMQPEnvelope
PHP Manual

AMQPEnvelope::getHeader

(No hay información de versión disponible, podría estar únicamente en SVN)

AMQPEnvelope::getHeader — Obtiene un encabezado específico del mensaje

Descripción

public string AMQPEnvelope::getHeader ( string $header_key )

Obtiene el valor de un encabezado específico del mensaje proprocionado una clave.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El contenido del encabezado específico o FALSE si no está definido.

AMQPEnvelope::getExpiration
AMQPEnvelope::getHeaders
AMQPEnvelope


Obtiene los encabezados del mensaje

AMQPEnvelope::getHeader
AMQPEnvelope::getMessageId
AMQPEnvelope
PHP Manual

AMQPEnvelope::getHeaders

(No hay información de versión disponible, podría estar únicamente en SVN)

AMQPEnvelope::getHeaders — Obtiene los encabezados del mensaje

Descripción

public array AMQPEnvelope::getHeaders ( void )

Obtiene los encabezados del mensaje.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un array de valores clave pares asociados con el mensaje.

AMQPEnvelope::getHeader
AMQPEnvelope::getMessageId
AMQPEnvelope


Obtiene el id del mensaje

AMQPEnvelope::getHeaders
AMQPEnvelope::getPriority
AMQPEnvelope
PHP Manual

AMQPEnvelope::getMessageId

(No hay información de versión disponible, podría estar únicamente en SVN)

AMQPEnvelope::getMessageId — Obtiene el id del mensaje

Descripción

public string AMQPEnvelope::getMessageId ( void )

Obtiene el id del mensaje.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El id del mensaje.

AMQPEnvelope::getHeaders
AMQPEnvelope::getPriority
AMQPEnvelope


Obtiene la prioridad del mensaje

AMQPEnvelope::getMessageId
AMQPEnvelope::getReplyTo
AMQPEnvelope
PHP Manual

AMQPEnvelope::getPriority

(No hay información de versión disponible, podría estar únicamente en SVN)

AMQPEnvelope::getPriority — Obtiene la prioridad del mensaje

Descripción

public string AMQPEnvelope::getPriority ( void )

Obtiene la prioridad del mensaje.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La prioridad del mensaje.

AMQPEnvelope::getMessageId
AMQPEnvelope::getReplyTo
AMQPEnvelope


Obtiene el reply to del mensaje

AMQPEnvelope::getPriority
AMQPEnvelope::getRoutingKey
AMQPEnvelope
PHP Manual

AMQPEnvelope::getReplyTo

(No hay información de versión disponible, podría estar únicamente en SVN)

AMQPEnvelope::getReplyTo — Obtiene el reply to del mensaje

Descripción

public string AMQPEnvelope::getReplyTo ( void )

Obtiene el reply to del mensaje.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El contenido del campo reply.

AMQPEnvelope::getPriority
AMQPEnvelope::getRoutingKey
AMQPEnvelope


Obtiene el routing key del mensaje

AMQPEnvelope::getReplyTo
AMQPEnvelope::getTimeStamp
AMQPEnvelope
PHP Manual

AMQPEnvelope::getRoutingKey

(No hay información de versión disponible, podría estar únicamente en SVN)

AMQPEnvelope::getRoutingKey — Obtiene el routing key del mensaje

Descripción

public string AMQPEnvelope::getRoutingKey ( void )

Obtiene el routing key del mensaje.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

The message routing key.

AMQPEnvelope::getReplyTo
AMQPEnvelope::getTimeStamp
AMQPEnvelope


Obtiene el timestamp del mensaje

AMQPEnvelope::getRoutingKey
AMQPEnvelope::getType
AMQPEnvelope
PHP Manual

AMQPEnvelope::getTimeStamp

(No hay información de versión disponible, podría estar únicamente en SVN)

AMQPEnvelope::getTimeStamp — Obtiene el timestamp del mensaje

Descripción

public string AMQPEnvelope::getTimeStamp ( void )

Obtiene el timestamp del mensaje.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El timestamp del mensaje.

AMQPEnvelope::getRoutingKey
AMQPEnvelope::getType
AMQPEnvelope


Obtiene el tipo del mensaje

AMQPEnvelope::getTimeStamp
AMQPEnvelope::getUserId
AMQPEnvelope
PHP Manual

AMQPEnvelope::getType

(No hay información de versión disponible, podría estar únicamente en SVN)

AMQPEnvelope::getType — Obtiene el tipo del mensaje

Descripción

public string AMQPEnvelope::getType ( void )

Obtiene el tipo de mensaje.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El tipo de mensaje.

AMQPEnvelope::getTimeStamp
AMQPEnvelope::getUserId
AMQPEnvelope


Obtiene el id de usuario del mensaje

AMQPEnvelope::getType
AMQPEnvelope::isRedelivery
AMQPEnvelope
PHP Manual

AMQPEnvelope::getUserId

(No hay información de versión disponible, podría estar únicamente en SVN)

AMQPEnvelope::getUserId — Obtiene el id de usuario del mensaje

Descripción

public string AMQPEnvelope::getUserId ( void )

Obtiene el id de usuario del mensaje.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El usuario id del mensaje.

AMQPEnvelope::getType
AMQPEnvelope::isRedelivery
AMQPEnvelope


Si se trata de un reenvio del mensaje

AMQPEnvelope::getUserId
chdb
AMQPEnvelope
PHP Manual

AMQPEnvelope::isRedelivery

(No hay información de versión disponible, podría estar únicamente en SVN)

AMQPEnvelope::isRedelivery — Si se trata de un reenvio del mensaje

Descripción

public bool AMQPEnvelope::isRedelivery ( void )

Si se trata de un reenvio del mensaje. Si este mensaje fue enviado y se usó AMQPEnvelope::nack(), el mensaje se volverá a poner en la cola para ser reenviado. A partir de este momento el mensaje siempre devolverá TRUE al usar este método.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE en caso de ser un reenvio, FALSE en caso contrario.

AMQPEnvelope::getUserId
chdb
AMQPEnvelope


Constant hash database

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • chdb — La clase chdb
    • chdb::__construct — Crea una instancia de chdb
    • chdb::get — Obtiene el valor asociado con una clave
  • Funciones de chdb
    • chdb_create — Crea un archivo chdb
AMQPEnvelope::isRedelivery
Introducción
Otros servicios


Introducción

CHDB (constant hash database - base de datos de hash constante) es una base de datos tipo clave-valor rápida para información constante, realizada usando un archivo de mapeado de memoria y así proporcionando las siguientes funcionalidades:

  • Carga inicial extremadamente rápida, sin tener en cuenta el tamaño de la base de datos.

  • Sólo las páginas del archivos que se usan actualmente son cargadas desde el disco.

  • Una vez que una página es cargada se comparte a través de múltiples procesos.

  • Las páginas cargadas están en caché a través de múltiples peticiones e incluso de reciclaje de procesos.

Un uso típico de CHDB es una alternativa más rápida para definir muchas constantes de PHP.

CHDB está implementado internamente como una tabla hash usando una función » hashing perfecto, lo que garantiza el peor caso O(1) de tiempo de revisión.

chdb
Instalación/Configuración
chdb


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
chdb


Requerimientos

Este módulo usa » cmph (versión 0.9) para proporcionar la función » hashing perfecto.

Es necesario cmph 0.9 para instalar este módulo.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/chdb

Se necesita » cmph (versión 0.9) para instalar esta extensión. Si cmph está instalado en un directorio no estándar, use el conmutador --with-libcmph-dir=DIR , donde DIR es el prefijo de instalación de cmph.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Ejemplos
chdb


Ejemplos

Ejemplo #1 Crear un archivo chdb

<?php

$data = array(
    'clave1' => 'valor1',
    'clave2' => 'valor2',
    // ...
);
chdb_create('data.chdb', $data);

?>

El ejemplo de arriba generará un archivo chdb llamado data.chdb que contiene los pares clave-valor definidos en $data.

Ejemplo #2 Cargar y examinar un archivo chdb

<?php

$chdb = new chdb('data.chdb');
$valor1 = $chdb->get('clave1');
$valor2 = $chdb->get('clave2');

echo $valor1, PHP_EOL;
echo $valor2, PHP_EOL;

?>

El resultado del ejemplo sería algo similar a:

valor1
valor2
Constantes predefinidas
chdb
chdb


La clase chdb

(PECL chdb >= 0.1.0)

Introducción

Representa un archivo chdb cargado.

Sinopsis de la Clase

chdb {
/* Methods */
public __construct ( string $pathname )
public string get ( string $key )
}

Tabla de contenidos

  • chdb::__construct — Crea una instancia de chdb
  • chdb::get — Obtiene el valor asociado con una clave
Ejemplos
chdb::__construct
chdb


Crea una instancia de chdb

chdb
chdb::get
chdb
PHP Manual

chdb::__construct

(PECL chdb >= 0.1.0)

chdb::__construct — Crea una instancia de chdb

Descripción

public chdb::__construct ( string $pathname )

Carga un archivo chdb mapeándolo en memoria.

Nota:

Aunque se realicen algunas comprobaciones de validez sobre el archivo especificado, mayormente están allí para evitar la posibilidad de cometer errores comunes (por ejemplo, cargar un archivo que no es una base de datos chdb, o que sea de algún modo incompatible con el sistema actual). Así, Un archivo chdb malicioso puede ser peligroso si se carga, por lo que los archivos chdb files deberían ser verificados y tratados con las mismas protecciones de seguridad usadas para las bibliotecas PHP compartidas.

Parámetros

pathname

el nombre del archivo a cargar.

Errores/Excepciones

Lanza una excepción en caso de que el archivo chdb no haya sido cargado con éxito.

Nota:

Un archivo chdb válido puede fallar al cargarse en caso de que sea creado con sobre arquitectura con un "endianness" diferente, con una versión diferente de chdb, o si el archivo el demasiado grande para ser mapeado en memoria (generalmente en caso de archivos enormes y arquitecturas de 32-bit). En estos casos la garga fallará mediante el lanzamiento de una excepción, pero de otro modo no se llevará a cabo cualquier operación ilegal.

chdb
chdb::get
chdb


Obtiene el valor asociado con una clave

chdb::__construct
Funciones de chdb
chdb
PHP Manual

chdb::get

(PECL chdb >= 0.1.0)

chdb::get — Obtiene el valor asociado con una clave

Descripción

public string chdb::get ( string $key )

Obtiene el valor asociado con una clave desde una base de datos chdb.

Parámetros

key

La clave de la que se obtiene el valor.

Valores devueltos

Devuelve una cadena que contiene el valor asociado con la clave key dada, o NULL si no se encontró.

Ejemplos

Ejemplo #1 Ejemplo de chdb::get()

<?php

$data = array(
    'clave1' => 'valor1',
    'clave2' => 'valor2',
    // ...
);
chdb_create('data.chdb', $data);

$chdb = new chdb('data.chdb');
$valor1 = $chdb->get('clave1');
$valor2 = $chdb->get('clave2');

echo $valor1, PHP_EOL;
echo $valor2, PHP_EOL;

?>

El resultado del ejemplo sería algo similar a:

valor1
valor2
chdb::__construct
Funciones de chdb
chdb


Funciones de chdb

Tabla de contenidos

  • chdb_create — Crea un archivo chdb
chdb::get
chdb_create
chdb


Crea un archivo chdb

Funciones de chdb
cURL
Funciones de chdb
PHP Manual

chdb_create

(PECL chdb >= 0.1.0)

chdb_create — Crea un archivo chdb

Descripción

bool chdb_create ( string $pathname , array $data )

chdb_create() crea un archivo que contiene los pares clave-valor especificados.

Nota:

Los archivos chdb no son portables a través de entornos little-endian y big-endian. Excepto por esto, son portables a través de diferentes arquitecturas. También, la compatibilidad a través de diferentes versiones de chdb no está garantizada.

Parámetros

pathname

El nombre del archivo a crear.

Si un archivo con el mismo nombre ya existe se sobrescribirá.

data

Una matriz que contiene los pares clave-valor a almacenar en el archivo chdb.

Las claves y los valores son convertidos a cadenas antes de ser escritos al archivo, ya que chdb sólo soporta el tipo string. Observe que las cadenas binarias también están soportadas, tanto para claves como para valores.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza una excepción en caso de que el archivo chdb no haya sido creado con éxito.

Ejemplos

Ejemplo #1 Ejemplo de chdb_create()

<?php

$data = array(
    'clave1' => 'valor1',
    'clave2' => 'valor2',
    // ...
);
chdb_create('data.chdb', $data);

?>

El ejemplo de arriba generará un archivo file llamado data.chdb que contiene los pares clave-valor definidos en $data.

Funciones de chdb
cURL
Funciones de chdb


Biblioteca URL cliente

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Ejemplo de curl básico
  • Funciones de cURL
    • curl_close — Cierra una sesión cURL
    • curl_copy_handle — Copia el recurso cURL junto con todas sus preferencias
    • curl_errno — Devuelve el último número de error
    • curl_error — Devuelve una cadena que contiene el último error de la sesión actual
    • curl_escape — Función URL que codifica el string dado
    • curl_exec — Establece una sesión cURL
    • curl_file_create — Crea un objeto CURLFile
    • curl_getinfo — Obtiene información relativa a una transferencia específica
    • curl_init — Inicia sesión cURL
    • curl_multi_add_handle — Añade un recurso cURL a un grupo de recursos cURL
    • curl_multi_close — Cierra un grupo de recursos cURL
    • curl_multi_exec — Ejecuta las sub-conexiones del recurso cURL actual
    • curl_multi_getcontent — Devuelve el contenido del recurso cURL si CURLOPT_RETURNTRANSFER está activado
    • curl_multi_info_read — Obtiene información de las transferencias en curso
    • curl_multi_init — Devuelve un nuevo multi recurso cURL
    • curl_multi_remove_handle — Elimina un multi recurso de un conjunto de recursos cURL
    • curl_multi_select — Espera actividad en cualquier conexión en curl_multi
    • curl_multi_setopt — Configura una opción para el multi gestor cURL
    • curl_multi_strerror — Devuelve un string con la descripción del código de error
    • curl_pause — Pausa y reanuda una conexión
    • curl_reset — Reinicializa todas las opciones de un gestor de sesión libcurl
    • curl_setopt_array — Configura múltiples opciones para una transferencia cURL
    • curl_setopt — Configura una opción para una transferencia cURL
    • curl_share_close — Cierra un gestor cURL compartido
    • curl_share_init — Inicializar un gestor cURL compartido
    • curl_share_setopt — Configura una opción para un gestor cURL compartido
    • curl_strerror — Devuelve un string que describe el código de error dado
    • curl_unescape — Descodifica un string codificado de URL
    • curl_version — Obtiene la información de la versión de cURL
  • CURLFile — La clase CURLFile
    • CURLFile::__construct — Crear un objeto CURLFile
    • CURLFile::getFilename — Recupera el nombre de un fichero
    • CURLFile::getMimeType — Recupera el tipo MIME
    • CURLFile::getPostFilename — Recupera el nombre de fichero para POST
    • CURLFile::setMimeType — Configura el tipo MIME
    • CURLFile::setPostFilename — Define el nombre de fichero para POST
    • CURLFile::__wakeup — Gestor de deserialización
chdb_create
Introducción
Otros servicios


Introducción

PHP soporta libcurl, una biblioteca creada por Daniel Stenberg que permite conectarse y comunicarse con diferentes tipos de servidores y diferentes tipos de protocolos. Actualmente, libcurl admite los protocolos http, https, ftp, gopher, telnet, dict, file y ldap. libcurl también admite certificados HTTPS, HTTP, POST, HTTP PUT, subidas mediante FTP (también se puede hacer con la extensión FTP de PHP), subidas basadas en formularios HTTP, proxies, cookies, y autenticación usuario+contraseña.

Estas funciones han sido añadidas en PHP 4.0.2.

cURL
Instalación/Configuración
cURL


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
cURL


Requerimientos

Para poder usar las funciones cURL de PHP se debe instalar el paquete » libcurl. PHP require que se use libcurl 7.0.2-beta o superior. En PHP 4.2.3, necesitarás libcurl versión 7.9.0 o superior. A partir de PHP 4.3.0, necesitará libcurl una versión que sea 7.9.8 o superior. PHP 5.0.0 requiere libcurl versión 7.10.5 o superior.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Para usar el soporte para cURL de PHP, se debe compilar PHP con --with-curl[=DIR] , donde DIR es la ubicación del directorio que contiene los directorios lib e include. En el directorio include, debería haber una carpeta llamada curl que debería contener los ficheros easy.h y curl.h. Debería haber un fichero llamado libcurl.a ubicado en el directorio lib. Desde PHP 4.3.0, se puede configurar PHP para usar cURL para los flujos de URL con --with-curlwrappers . Esta característica ha sido movida a PECL a partir de PHP 5.5.0.

Nota: Nota para los usuarios de Win32
Para poder habilitar este módulo en un entorno Windows, los ficheros libeay32.dll y ssleay32.dll deben estar presentes en el PATH. No se require libcurl.dll del sitio de cURL.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de Configuración de cURL
Nombre | Por defecto | Cambiable | Historial de cambios
curl.cainfo | NULL | PHP_INI_SYSTEM | Disponible desde PHP 5.3.7.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

curl.cainfo string

Define un valor predeterminado para la opción CURLOPT_CAINFO. Debe especificarse una ruta absoluta.

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Esta extensión define dos tipos de recursos: cURL handle y cURL multi handle.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Las descripciones y usos para estas constantes están descritas en la documentación de curl_setopt(), curl_multi_setopt() y curl_getinfo().

CURLOPT_AUTOREFERER (integer)
Disponible desde PHP 5.1.0
CURLOPT_COOKIESESSION (integer)
Disponible desde PHP 5.1.0
CURLOPT_DNS_USE_GLOBAL_CACHE (integer)
CURLOPT_DNS_CACHE_TIMEOUT (integer)
CURLOPT_FTP_SSL (integer)
Disponible desde PHP 5.2.0
CURLFTPSSL_TRY (integer)
Disponible desde PHP 5.2.0
CURLFTPSSL_ALL (integer)
Disponible desde PHP 5.2.0
CURLFTPSSL_CONTROL (integer)
Disponible desde PHP 5.2.0
CURLFTPSSL_NONE (integer)
Disponible desde PHP 5.2.0
CURLOPT_PRIVATE (integer)
Disponible desde PHP 5.2.4
CURLOPT_FTPSSLAUTH (integer)
Disponible desde PHP 5.1.0
CURLOPT_PORT (integer)
CURLOPT_FILE (integer)
CURLOPT_INFILE (integer)
CURLOPT_INFILESIZE (integer)
CURLOPT_URL (integer)
CURLOPT_PROXY (integer)
CURLOPT_VERBOSE (integer)
CURLOPT_HEADER (integer)
CURLOPT_HTTPHEADER (integer)
CURLOPT_NOPROGRESS (integer)
CURLOPT_NOBODY (integer)
CURLOPT_FAILONERROR (integer)
CURLOPT_UPLOAD (integer)
CURLOPT_POST (integer)
CURLOPT_FTPLISTONLY (integer)
CURLOPT_FTPAPPEND (integer)
CURLOPT_FTP_CREATE_MISSING_DIRS (integer)
CURLOPT_NETRC (integer)
CURLOPT_FOLLOWLOCATION (integer)
Esta constante no está disponible cuando open_basedir o safe_mode están activados.
CURLOPT_FTPASCII (integer)
CURLOPT_PUT (integer)
CURLOPT_MUTE (integer)
CURLOPT_USERPWD (integer)
CURLOPT_PROXYUSERPWD (integer)
CURLOPT_RANGE (integer)
CURLOPT_TIMEOUT (integer)
CURLOPT_TIMEOUT_MS (integer)
CURLOPT_TCP_NODELAY (integer)
Disponible desde PHP 5.2.1
CURLOPT_POSTFIELDS (integer)
CURLOPT_PROGRESSFUNCTION (integer)
Disponible desde PHP 5.3.0
CURLOPT_REFERER (integer)
CURLOPT_USERAGENT (integer)
CURLOPT_FTPPORT (integer)
CURLOPT_FTP_USE_EPSV (integer)
CURLOPT_LOW_SPEED_LIMIT (integer)
CURLOPT_LOW_SPEED_TIME (integer)
CURLOPT_RESUME_FROM (integer)
CURLOPT_COOKIE (integer)
CURLOPT_SSLCERT (integer)
CURLOPT_SSLCERTPASSWD (integer)
CURLOPT_WRITEHEADER (integer)
CURLOPT_SSL_VERIFYHOST (integer)
CURLOPT_COOKIEFILE (integer)
CURLOPT_SSLVERSION (integer)
CURLOPT_TIMECONDITION (integer)
CURLOPT_TIMEVALUE (integer)
CURLOPT_CUSTOMREQUEST (integer)
CURLOPT_STDERR (integer)
CURLOPT_TRANSFERTEXT (integer)
CURLOPT_RETURNTRANSFER (integer)
CURLOPT_QUOTE (integer)
CURLOPT_POSTQUOTE (integer)
CURLOPT_INTERFACE (integer)
CURLOPT_KRB4LEVEL (integer)
CURLOPT_HTTPPROXYTUNNEL (integer)
CURLOPT_FILETIME (integer)
CURLOPT_WRITEFUNCTION (integer)
CURLOPT_READFUNCTION (integer)
CURLOPT_PASSWDFUNCTION (integer)
CURLOPT_HEADERFUNCTION (integer)
CURLOPT_MAXREDIRS (integer)
CURLOPT_MAXCONNECTS (integer)
CURLOPT_CLOSEPOLICY (integer)
CURLOPT_FRESH_CONNECT (integer)
CURLOPT_FORBID_REUSE (integer)
CURLOPT_RANDOM_FILE (integer)
CURLOPT_EGDSOCKET (integer)
CURLOPT_CONNECTTIMEOUT (integer)
CURLOPT_CONNECTTIMEOUT_MS (integer)
CURLOPT_SSL_VERIFYPEER (integer)
CURLOPT_CAINFO (integer)
CURLOPT_CAPATH (integer)
CURLOPT_COOKIEJAR (integer)
CURLOPT_SSL_CIPHER_LIST (integer)
CURLOPT_BINARYTRANSFER (integer)
CURLOPT_NOSIGNAL (integer)
CURLOPT_PROXYTYPE (integer)
CURLOPT_BUFFERSIZE (integer)
CURLOPT_HTTPGET (integer)
CURLOPT_HTTP_VERSION (integer)
CURLOPT_SSLKEY (integer)
CURLOPT_SSLKEYTYPE (integer)
CURLOPT_SSLKEYPASSWD (integer)
CURLOPT_SSLENGINE (integer)
CURLOPT_SSLENGINE_DEFAULT (integer)
CURLOPT_SSLCERTTYPE (integer)
CURLOPT_CRLF (integer)
CURLOPT_ENCODING (integer)
CURLOPT_PROXYPORT (integer)
CURLOPT_UNRESTRICTED_AUTH (integer)
CURLOPT_FTP_USE_EPRT (integer)
CURLOPT_HTTP200ALIASES (integer)
CURLOPT_HTTPAUTH (integer)
CURLAUTH_BASIC (integer)
CURLAUTH_DIGEST (integer)
CURLAUTH_GSSNEGOTIATE (integer)
CURLAUTH_NTLM (integer)
CURLAUTH_ANY (integer)
CURLAUTH_ANYSAFE (integer)
CURLOPT_PROXYAUTH (integer)
CURLOPT_MAX_RECV_SPEED_LARGE (integer)
Disponible desde PHP 5.4.0 y cURL 7.15.5
CURLOPT_MAX_SEND_SPEED_LARGE (integer)
Disponible desde PHP 5.4.0 y cURL 7.15.5
CURLCLOSEPOLICY_LEAST_RECENTLY_USED (integer)
CURLCLOSEPOLICY_LEAST_TRAFFIC (integer)
CURLCLOSEPOLICY_SLOWEST (integer)
CURLCLOSEPOLICY_CALLBACK (integer)
CURLCLOSEPOLICY_OLDEST (integer)
CURLINFO_PRIVATE (integer)
Disponible desde PHP 5.2.4
CURLINFO_EFFECTIVE_URL (integer)
CURLINFO_HTTP_CODE (integer)
CURLINFO_HEADER_OUT (integer)
Disponible desde PHP 5.1.3
CURLINFO_HEADER_SIZE (integer)
CURLINFO_REQUEST_SIZE (integer)
CURLINFO_TOTAL_TIME (integer)
CURLINFO_NAMELOOKUP_TIME (integer)
CURLINFO_CONNECT_TIME (integer)
CURLINFO_PRETRANSFER_TIME (integer)
CURLINFO_SIZE_UPLOAD (integer)
CURLINFO_SIZE_DOWNLOAD (integer)
CURLINFO_SPEED_DOWNLOAD (integer)
CURLINFO_SPEED_UPLOAD (integer)
CURLINFO_FILETIME (integer)
CURLINFO_SSL_VERIFYRESULT (integer)
CURLINFO_CONTENT_LENGTH_DOWNLOAD (integer)
CURLINFO_CONTENT_LENGTH_UPLOAD (integer)
CURLINFO_STARTTRANSFER_TIME (integer)
CURLINFO_CONTENT_TYPE (integer)
CURLINFO_REDIRECT_TIME (integer)
CURLINFO_REDIRECT_COUNT (integer)
CURL_TIMECOND_IFMODSINCE (integer)
CURL_TIMECOND_IFUNMODSINCE (integer)
CURL_TIMECOND_LASTMOD (integer)
CURL_VERSION_IPV6 (integer)
CURL_VERSION_KERBEROS4 (integer)
CURL_VERSION_SSL (integer)
CURL_VERSION_LIBZ (integer)
CURLVERSION_NOW (integer)
CURLE_OK (integer)
CURLE_UNSUPPORTED_PROTOCOL (integer)
CURLE_FAILED_INIT (integer)
CURLE_URL_MALFORMAT (integer)
CURLE_URL_MALFORMAT_USER (integer)
CURLE_COULDNT_RESOLVE_PROXY (integer)
CURLE_COULDNT_RESOLVE_HOST (integer)
CURLE_COULDNT_CONNECT (integer)
CURLE_FTP_WEIRD_SERVER_REPLY (integer)
CURLE_FTP_ACCESS_DENIED (integer)
CURLE_FTP_USER_PASSWORD_INCORRECT (integer)
CURLE_FTP_WEIRD_PASS_REPLY (integer)
CURLE_FTP_WEIRD_USER_REPLY (integer)
CURLE_FTP_WEIRD_PASV_REPLY (integer)
CURLE_FTP_WEIRD_227_FORMAT (integer)
CURLE_FTP_CANT_GET_HOST (integer)
CURLE_FTP_CANT_RECONNECT (integer)
CURLE_FTP_COULDNT_SET_BINARY (integer)
CURLE_PARTIAL_FILE (integer)
CURLE_FTP_COULDNT_RETR_FILE (integer)
CURLE_FTP_WRITE_ERROR (integer)
CURLE_FTP_QUOTE_ERROR (integer)
CURLE_HTTP_NOT_FOUND (integer)
CURLE_WRITE_ERROR (integer)
CURLE_MALFORMAT_USER (integer)
CURLE_FTP_COULDNT_STOR_FILE (integer)
CURLE_READ_ERROR (integer)
CURLE_OUT_OF_MEMORY (integer)
CURLE_OPERATION_TIMEOUTED (integer)
CURLE_FTP_COULDNT_SET_ASCII (integer)
CURLE_FTP_PORT_FAILED (integer)
CURLE_FTP_COULDNT_USE_REST (integer)
CURLE_FTP_COULDNT_GET_SIZE (integer)
CURLE_HTTP_RANGE_ERROR (integer)
CURLE_HTTP_POST_ERROR (integer)
CURLE_SSL_CONNECT_ERROR (integer)
CURLE_FTP_BAD_DOWNLOAD_RESUME (integer)
CURLE_FILE_COULDNT_READ_FILE (integer)
CURLE_LDAP_CANNOT_BIND (integer)
CURLE_LDAP_SEARCH_FAILED (integer)
CURLE_LIBRARY_NOT_FOUND (integer)
CURLE_FUNCTION_NOT_FOUND (integer)
CURLE_ABORTED_BY_CALLBACK (integer)
CURLE_BAD_FUNCTION_ARGUMENT (integer)
CURLE_BAD_CALLING_ORDER (integer)
CURLE_HTTP_PORT_FAILED (integer)
CURLE_BAD_PASSWORD_ENTERED (integer)
CURLE_TOO_MANY_REDIRECTS (integer)
CURLE_UNKNOWN_TELNET_OPTION (integer)
CURLE_TELNET_OPTION_SYNTAX (integer)
CURLE_OBSOLETE (integer)
CURLE_SSL_PEER_CERTIFICATE (integer)
CURLE_GOT_NOTHING (integer)
CURLE_SSL_ENGINE_NOTFOUND (integer)
CURLE_SSL_ENGINE_SETFAILED (integer)
CURLE_SEND_ERROR (integer)
CURLE_RECV_ERROR (integer)
CURLE_SHARE_IN_USE (integer)
CURLE_SSL_CERTPROBLEM (integer)
CURLE_SSL_CIPHER (integer)
CURLE_SSL_CACERT (integer)
CURLE_BAD_CONTENT_ENCODING (integer)
CURLE_LDAP_INVALID_URL (integer)
CURLE_FILESIZE_EXCEEDED (integer)
CURLE_FTP_SSL_FAILED (integer)
CURLFTPAUTH_DEFAULT (integer)
Disponible desde PHP 5.1.0
CURLFTPAUTH_SSL (integer)
Disponible desde PHP 5.1.0
CURLFTPAUTH_TLS (integer)
Disponible desde PHP 5.1.0
CURLPROXY_HTTP (integer)
CURLPROXY_SOCKS5 (integer)
CURL_NETRC_OPTIONAL (integer)
CURL_NETRC_IGNORED (integer)
CURL_NETRC_REQUIRED (integer)
CURL_HTTP_VERSION_NONE (integer)
CURL_HTTP_VERSION_1_0 (integer)
CURL_HTTP_VERSION_1_1 (integer)
CURLM_CALL_MULTI_PERFORM (integer)
CURLM_OK (integer)
CURLM_BAD_HANDLE (integer)
CURLM_BAD_EASY_HANDLE (integer)
CURLM_OUT_OF_MEMORY (integer)
CURLM_INTERNAL_ERROR (integer)
CURLMSG_DONE (integer)
CURLOPT_KEYPASSWD (integer)
CURLOPT_SSH_AUTH_TYPES (integer)
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 (integer)
CURLOPT_SSH_PRIVATE_KEYFILE (integer)
CURLOPT_SSH_PUBLIC_KEYFILE (integer)
CURLMOPT_PIPELINING (integer)
Disponible desde PHP 5.5.0 y cURL 7.16.0.
CURLMOPT_MAXCONNECTS (integer)
Disponible desde PHP 5.5.0 y cURL 7.16.3.
CURLSSH_AUTH_ANY (integer)
CURLSSH_AUTH_DEFAULT (integer)
CURLSSH_AUTH_HOST (integer)
CURLSSH_AUTH_KEYBOARD (integer)
CURLSSH_AUTH_NONE (integer)
CURLSSH_AUTH_PASSWORD (integer)
CURLSSH_AUTH_PUBLICKEY (integer)
CURL_WRAPPERS_ENABLED (integer)
Definida si PHP fue configurado con --with-curlwrappers . Movido a PECL en PHP 5.5.0.
Tipos de recursos
Ejemplos
cURL


Ejemplos

Tabla de contenidos

  • Ejemplo de curl básico
Constantes predefinidas
Ejemplo de curl básico
cURL


Ejemplo de curl básico

Una vez haya compilado PHP con soporte para cURL, puede empezar a usar las funciones cURL. Básicamente debe inicializar una sesión cURL usando curl_init(), establecer todas las opciones para la transferencia usando curl_setopt(), ejecutar la sesión con la función curl_exec() y finalizar la sesión con curl_close()- Aquí tiene un ejemplo donde usamos funciones cURL para capturar el contenido de la página principal de example.com en un fichero:

Ejemplo #1 Uso del módulo cURL de PHP para capturar página principal de example.com

<?php

$ch = curl_init("http://www.example.com/");
$fp = fopen("example_homepage.txt", "w");

curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);

curl_exec($ch);
curl_close($ch);
fclose($fp);
?>

Ejemplos
Funciones de cURL
Ejemplos


Funciones de cURL

Tabla de contenidos

  • curl_close — Cierra una sesión cURL
  • curl_copy_handle — Copia el recurso cURL junto con todas sus preferencias
  • curl_errno — Devuelve el último número de error
  • curl_error — Devuelve una cadena que contiene el último error de la sesión actual
  • curl_escape — Función URL que codifica el string dado
  • curl_exec — Establece una sesión cURL
  • curl_file_create — Crea un objeto CURLFile
  • curl_getinfo — Obtiene información relativa a una transferencia específica
  • curl_init — Inicia sesión cURL
  • curl_multi_add_handle — Añade un recurso cURL a un grupo de recursos cURL
  • curl_multi_close — Cierra un grupo de recursos cURL
  • curl_multi_exec — Ejecuta las sub-conexiones del recurso cURL actual
  • curl_multi_getcontent — Devuelve el contenido del recurso cURL si CURLOPT_RETURNTRANSFER está activado
  • curl_multi_info_read — Obtiene información de las transferencias en curso
  • curl_multi_init — Devuelve un nuevo multi recurso cURL
  • curl_multi_remove_handle — Elimina un multi recurso de un conjunto de recursos cURL
  • curl_multi_select — Espera actividad en cualquier conexión en curl_multi
  • curl_multi_setopt — Configura una opción para el multi gestor cURL
  • curl_multi_strerror — Devuelve un string con la descripción del código de error
  • curl_pause — Pausa y reanuda una conexión
  • curl_reset — Reinicializa todas las opciones de un gestor de sesión libcurl
  • curl_setopt_array — Configura múltiples opciones para una transferencia cURL
  • curl_setopt — Configura una opción para una transferencia cURL
  • curl_share_close — Cierra un gestor cURL compartido
  • curl_share_init — Inicializar un gestor cURL compartido
  • curl_share_setopt — Configura una opción para un gestor cURL compartido
  • curl_strerror — Devuelve un string que describe el código de error dado
  • curl_unescape — Descodifica un string codificado de URL
  • curl_version — Obtiene la información de la versión de cURL
Ejemplo de curl básico
curl_close
cURL


Cierra una sesión cURL

Funciones de cURL
curl_copy_handle
Funciones de cURL
PHP Manual

curl_close

(PHP 4 >= 4.0.2, PHP 5)

curl_close — Cierra una sesión cURL

Descripción

void curl_close ( resource $ch )

Esta función cierra una sesión CURL y libera todos sus recursos. El recurso CURL, ch, también es eliminado.

Parámetros

ch

El recurso cURL devuelto por curl_init().

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Inicializar una nueva sesión CURL y capturar una página web

<?php
// Se crea un manejador CURL
$ch = curl_init();

// Se establece la URL y algunas opciones
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);

// Se obtiene la URL indicada y se envía al navegador
curl_exec($ch);

// Se cierra el recurso CURL y se liberan los recursos del sistema
curl_close($ch);
?>

Ver también

  • curl_init() - Inicia sesión cURL
  • curl_multi_close() - Cierra un grupo de recursos cURL

Funciones de cURL
curl_copy_handle
Funciones de cURL


Copia el recurso cURL junto con todas sus preferencias

curl_close
curl_errno
Funciones de cURL
PHP Manual

curl_copy_handle

(PHP 5)

curl_copy_handle — Copia el recurso cURL junto con todas sus preferencias

Descripción

resource curl_copy_handle ( resource $ch )

Copia un recurso de cURL manteniendo las mismas preferencias.

Parámetros

ch

El recurso cURL devuelto por curl_init().

Valores devueltos

Devuelve un nuevo recurso de cURL.

Ejemplos

Ejemplo #1 Copiar un recurso cURL

<?php
// Crea un nuevo recurso de cURL
$ch = curl_init();

// Establece la URL y otras opciones apropiadas
curl_setopt($ch, CURLOPT_URL, 'http://www.example.com/');
curl_setopt($ch, CURLOPT_HEADER, 0);

// Copia el recurso
$ch2 = curl_copy_handle($ch);

// Captura la URL (http://www.example.com/) y la pasa al navegador
curl_exec($ch2);

// Cierra el recurso cURL y libera recursos del sistema
curl_close($ch2);
curl_close($ch);
?>

curl_close
curl_errno
Funciones de cURL


Devuelve el último número de error

curl_copy_handle
curl_error
Funciones de cURL
PHP Manual

curl_errno

(PHP 4 >= 4.0.3, PHP 5)

curl_errno — Devuelve el último número de error

Descripción

int curl_errno ( resource $ch )

Devuelve el número de error de la última operación cURL.

Parámetros

ch

El recurso cURL devuelto por curl_init().

Valores devueltos

Devuelve el número de error ó 0 (cero) si no ocurrió ningún error.

Ejemplos

Ejemplo #1 curl_errno() ejemplo

<?php
// Crear un recurso curl en una dirección no existente
$ch = curl_init('http://404.php.net/');

// Ejecutar
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);

// Comprobar si occurió algún error
if(curl_errno($ch))
{
    echo 'Curl error: ' . curl_error($ch);
}

// Cerrar recurso
curl_close($ch);
?>

Ver también

  • curl_error() - Devuelve una cadena que contiene el último error de la sesión actual
  • » Códigos de error Curl

curl_copy_handle
curl_error
Funciones de cURL


Devuelve una cadena que contiene el último error de la sesión actual

curl_errno
curl_escape
Funciones de cURL
PHP Manual

curl_error

(PHP 4 >= 4.0.3, PHP 5)

curl_error — Devuelve una cadena que contiene el último error de la sesión actual

Descripción

string curl_error ( resource $ch )

Devuelve un mesaje claro del error en formato de texto de la última operación cURL.

Parámetros

ch

El recurso cURL devuelto por curl_init().

Valores devueltos

Devuelve el mensaje de error o '' (una cadena vacía) si no ocurrió ningún error.

Ejemplos

Ejemplo #1 Ejemplo de curl_error()

<?php
// Crear un recurso curl en una dirección no existente
$ch = curl_init('http://404.php.net/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

if(curl_exec($ch) === false)
{
    echo 'Curl error: ' . curl_error($ch);
}
else
{
    echo 'Operación completada sin errores';
}

// Cerrar recurso
curl_close($ch);
?>

Ver también

  • curl_errno() - Devuelve el último número de error
  • » Códigos de error curl

curl_errno
curl_escape
Funciones de cURL


Función URL que codifica el string dado

curl_error
curl_exec
Funciones de cURL
PHP Manual

curl_escape

(PHP 5 >= 5.5.0)

curl_escape — Función URL que codifica el string dado

Descripción

string curl_escape ( resource $ch , string $str )

Esta función URL, codifica el string dado de acuerdo con » RFC 3986.

Parámetros

ch

El recurso cURL devuelto por curl_init().

str

El string a ser codificado.

Valores devueltos

Devuelve la cadena codificada o o FALSE en caso de error en caso de error.

Ejemplos

Ejemplo #1 Ejemplo con curl_escape()

<?php
// Crea un gestor curl
$ch = curl_init();

// Codifica un string con caracteres de control utilizado como un parámetro GET
$location = curl_escape($ch, 'Hofbräuhaus / München');
// Result: Hofbr%C3%A4uhaus%20%2F%20M%C3%BCnchen

// Compone una URL con el string codificado
$url = "http://example.com/add_location.php?location={$location}";
// Result: http://example.com/add_location.php?location=Hofbr%C3%A4uhaus%20%2F%20M%C3%BCnchen

// Envia la solicitud HTTP y cierra el gestor
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
curl_close($ch);
?>

Ver también

  • curl_unescape() - Descodifica un string codificado de URL
  • urlencode() - Codifica como URL una cadena
  • rawurlencode() - Codificar estilo URL de acuerdo al RFC 3986
  • » RFC 3986

curl_error
curl_exec
Funciones de cURL


Establece una sesión cURL

curl_escape
curl_file_create
Funciones de cURL
PHP Manual

curl_exec

(PHP 4 >= 4.0.2, PHP 5)

curl_exec — Establece una sesión cURL

Descripción

mixed curl_exec ( resource $ch )

Ejecuta la sesión cURL que se le pasa como parámetro.

Esta función debe llamarse después de inicializar una sesión cURL y todas las opciones para la sesión están establecidas.

Parámetros

ch

El recurso cURL devuelto por curl_init().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Sin embargo, si la opción CURLOPT_RETURNTRANSFER está establecida, devolverá el resultado si se realizó con éxito, o FALSE si falló.

Ejemplos

Ejemplo #1 Capturar una página web

<?php
// Crear un nuevo recurso cURL
$ch = curl_init();

// Establecer URL y otras opciones apropiadas
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);

// Capturar la URL y pasarla al navegador
curl_exec($ch);

// Cerrar el recurso cURL y liberar recursos del sistema
curl_close($ch);
?>

Ver también

  • curl_multi_exec() - Ejecuta las sub-conexiones del recurso cURL actual

curl_escape
curl_file_create
Funciones de cURL


Crea un objeto CURLFile

curl_exec
curl_getinfo
Funciones de cURL
PHP Manual

curl_file_create

(PHP 5 >= 5.5.0)

curl_file_create — Crea un objeto CURLFile

Descripción

Esta función es un alias de: CURLFile::__construct()

curl_exec
curl_getinfo
Funciones de cURL


Obtiene información relativa a una transferencia específica

curl_file_create
curl_init
Funciones de cURL
PHP Manual

curl_getinfo

(PHP 4 >= 4.0.4, PHP 5)

curl_getinfo — Obtiene información relativa a una transferencia específica

Descripción

mixed curl_getinfo ( resource $ch [, int $opt = 0 ] )

Obtiene información sobre la última transferencia.

Parámetros

ch

El recurso cURL devuelto por curl_init().

opt

Podría ser una de las siguientes constantes:

  • CURLINFO_EFFECTIVE_URL - Último URL efectivo
  • CURLINFO_HTTP_CODE - Último código HTTP recibido
  • CURLINFO_FILETIME - Hora del documento remoto obtenido, si devuelve -1, la hora del documento es desconocida
  • CURLINFO_TOTAL_TIME - Duración total en segundos de última transaferencia
  • CURLINFO_NAMELOOKUP_TIME - Tiempo en segundos en resolver el nombre
  • CURLINFO_CONNECT_TIME - Tiempo en segundos que tomó el establecimiento de la conexión
  • CURLINFO_PRETRANSFER_TIME - Tiempo en segundos desde el inicio hasta justo antes de que comience la transferencia del fichero
  • CURLINFO_STARTTRANSFER_TIME - Tiempo en sengudos hasta que el primer byte está a punto de transferirse
  • CURLINFO_REDIRECT_COUNT - Número de redireccionamientos
  • CURLINFO_REDIRECT_TIME - Tiempo en segundos de todos los pasos de redireción antes de que la última transación haya empezado
  • CURLINFO_SIZE_UPLOAD - Número total de bytes subidos
  • CURLINFO_SIZE_DOWNLOAD - Número total de bytes descargados
  • CURLINFO_SPEED_DOWNLOAD - Velocidad media de descarga
  • CURLINFO_SPEED_UPLOAD - Velocidad media de subida
  • CURLINFO_HEADER_SIZE - Tamaño total de los encabezados recibidos
  • CURLINFO_HEADER_OUT - El string de la petición enviada. Para que funcione, se ha de añadir la opción CURLINFO_HEADER_OUT al gestor, llamando a curl_setopt()
  • CURLINFO_REQUEST_SIZE - Tamaño total de las peticiones realizadas, actualmente solo para peticiones HTTP
  • CURLINFO_SSL_VERIFYRESULT - Resultado de la verificación del certificado SSL solicitado por la opción CURLOPT_SSL_VERIFYPEER
  • CURLINFO_CONTENT_LENGTH_DOWNLOAD - Logitud del contenido de la descarga, leída desde el campo Content-Length:
  • CURLINFO_CONTENT_LENGTH_UPLOAD - Tamaño especificado de subida
  • CURLINFO_CONTENT_TYPE - Content-Type: del documento solicitado, NULL indica que el servidor no envío un encabezado Content-Type: válido.

Valores devueltos

Si se indica el parámetro, opt, devolverá su valor. De lo contrario, devolverá un array asociativo con los siguientes elementos (que se corresponden a opt), o FALSE en caso de error:

  • "url"
  • "content_type"
  • "http_code"
  • "header_size"
  • "request_size"
  • "filetime"
  • "ssl_verify_result"
  • "redirect_count"
  • "total_time"
  • "namelookup_time"
  • "connect_time"
  • "pretransfer_time"
  • "size_upload"
  • "size_download"
  • "speed_download"
  • "speed_upload"
  • "download_content_length"
  • "upload_content_length"
  • "starttransfer_time"
  • "redirect_time"
  • "certinfo"
  • "request_header" (Solamente está definido si CURLINFO_HEADER_OUT está establecido por una llamada previa a curl_setopt())

Historial de cambios

Versión | Descripción
5.1.3 | Se introdujo CURLINFO_HEADER_OUT.

Ejemplos

Ejemplo #1 Ejemplo de curl_getinfo()

<?php
// Crear un gestor curl
$ch = curl_init('http://www.yahoo.com/');

// Ejecutar
curl_exec($ch);

// Comprobar si ocurrió un error
if(!curl_errno($ch))
{
 $info = curl_getinfo($ch);

 echo 'Se tardó ' . $info['total_time'] . ' segundos en enviar la petición a ' . $info['url'];
}

// Cerrar manipulador
curl_close($ch);
?>

Notas

Nota:

La información obtenida por esta función se mantiene si se reutiliza el gestor. Esto significa que, a no ser que una estadística sea sobrescrita internamente por esta función, se devolverá la información previa.

curl_file_create
curl_init
Funciones de cURL


Inicia sesión cURL

curl_getinfo
curl_multi_add_handle
Funciones de cURL
PHP Manual

curl_init

(PHP 4 >= 4.0.2, PHP 5)

curl_init — Inicia sesión cURL

Descripción

resource curl_init ([ string $url = NULL ] )

Inicia una nueva sesión y devuelve el manipulador curl para el uso de las funciones curl_setopt(), curl_exec(), y curl_close().

Parámetros

url

Si se proporciona, se estabecerá en el valor de la opción CURLOPT_URL. Se puede establecer manualmente esta opción usando la función curl_setopt().

Nota:

El protocolo file es desabilitado por cURL si open_basedir está establecido.

Valores devueltos

Devuelve un manipulador de cURL si todo fué bien, FALSE si hay errores.

Ejemplos

Ejemplo #1 Inicia una nueva sesión cURL y captura una página web

<?php
// Crea un nuevo recurso cURL
$ch = curl_init();

// Establece la URL y otras opciones apropiadas
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);

// Captura la URL y la envía al navegador
curl_exec($ch);

// Cierrar el recurso cURLy libera recursos del sistema
curl_close($ch);
?>

Ver también

  • curl_close() - Cierra una sesión cURL
  • curl_multi_init() - Devuelve un nuevo multi recurso cURL

curl_getinfo
curl_multi_add_handle
Funciones de cURL


Añade un recurso cURL a un grupo de recursos cURL

curl_init
curl_multi_close
Funciones de cURL
PHP Manual

curl_multi_add_handle

(PHP 5)

curl_multi_add_handle — Añade un recurso cURL a un grupo de recursos cURL

Descripción

int curl_multi_add_handle ( resource $mh , resource $ch )

Añade el recuso ch al grupo de recursos mh

Parámetros

mh

El multi recurso cURL multi devuelto por curl_multi_init().

ch

El recurso cURL devuelto por curl_init().

Valores devueltos

En caso de éxito devuelve 0, sino devuelve alguno de los códigos de error CURLM_XXX

Ejemplos

Ejemplo #1 curl_multi_add_handle() example

Este ejemplo creará dos recursos cURL, los añadirá a un grupo de recursos y entoces los ejecutará en paralelo.

<?php
// Crea los dos recursos cURL
$ch1 = curl_init();
$ch2 = curl_init();

// Establecer la URL y otras opciones apropiadas
curl_setopt($ch1, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);

// Crea el recurso cURL múltiple
$mh = curl_multi_init();

// Añade los dos recursos
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);

$running=null;
// Ejecuta los recursos
do {
    curl_multi_exec($mh,$running);
} while($running > 0);

// Cierra todos los recursos
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);
?>

Ver también

  • curl_multi_remove_handle() - Elimina un multi recurso de un conjunto de recursos cURL
  • curl_multi_init() - Devuelve un nuevo multi recurso cURL
  • curl_init() - Inicia sesión cURL

curl_init
curl_multi_close
Funciones de cURL


Cierra un grupo de recursos cURL

curl_multi_add_handle
curl_multi_exec
Funciones de cURL
PHP Manual

curl_multi_close

(PHP 5)

curl_multi_close — Cierra un grupo de recursos cURL

Descripción

void curl_multi_close ( resource $mh )

Cierra un grupo de recursos cURL.

Parámetros

mh

El multi recurso cURL multi devuelto por curl_multi_init().

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 curl_multi_close() example

Este ejemplo creará dos recursos cURL, los añadirá a un grupo de recursos y entoces los ejecutará en paralelo.

<?php
// Crea los dos recursos cURL
$ch1 = curl_init();
$ch2 = curl_init();

// Establecer la URL y otras opciones apropiadas
curl_setopt($ch1, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);

// Crea el recurso cURL múltiple
$mh = curl_multi_init();

// Añade los dos recursos
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);

$running=null;
// Ejecuta los recursos
do {
    curl_multi_exec($mh,$running);
} while ($running > 0);

// Cierra todos los recursos
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);

?>

Ver también

  • curl_multi_init() - Devuelve un nuevo multi recurso cURL
  • curl_close() - Cierra una sesión cURL

curl_multi_add_handle
curl_multi_exec
Funciones de cURL


Ejecuta las sub-conexiones del recurso cURL actual

curl_multi_close
curl_multi_getcontent
Funciones de cURL
PHP Manual

curl_multi_exec

(PHP 5)

curl_multi_exec — Ejecuta las sub-conexiones del recurso cURL actual

Descripción

int curl_multi_exec ( resource $mh , int &$still_running )

Procesa cada uno de los recursos del grupo. Este método puede ser llamado cuando el recurso tenga o no tenga que leer o escribir datos.

Parámetros

mh

El multi recurso cURL multi devuelto por curl_multi_init().

still_running

Hace referencia a una bandera que dice cuando las operaciones siguen ejecutándose.

Valores devueltos

Código cURL definido en las Constantes predefinidas cURL.

Nota:

Solo devuelve errores en relación con el grupo. Es posible que hayan ocurrido problemas en transferencias individuales aunque esta función devuelva CURLM_OK.

Ejemplos

Ejemplo #1 curl_multi_exec() example

Este ejemplo creará dos recursos cURL, los añadirá al grupo de recursos y los ejecutará en paralelo.

<?php
// Crea los dos recursos cURL
$ch1 = curl_init();
$ch2 = curl_init();

// Establecer la URL y otras opciones apropiadas
curl_setopt($ch1, CURLOPT_URL, "http://lxr.php.net/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);

// Crea el recurso cURL múltiple
$mh = curl_multi_init();

// Añade los dos recursos
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);

$active = null;
// Ejecuta los recursos
do {
    $mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);

while ($active && $mrc == CURLM_OK) {
    if (curl_multi_select($mh) != -1) {
        do {
            $mrc = curl_multi_exec($mh, $active);
        } while ($mrc == CURLM_CALL_MULTI_PERFORM);
    }
}

// Cierra los recursos
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);

?>

Ver también

  • curl_multi_init() - Devuelve un nuevo multi recurso cURL
  • curl_multi_select() - Espera actividad en cualquier conexión en curl_multi
  • curl_exec() - Establece una sesión cURL

curl_multi_close
curl_multi_getcontent
Funciones de cURL


Devuelve el contenido del recurso cURL si CURLOPT_RETURNTRANSFER está activado

curl_multi_exec
curl_multi_info_read
Funciones de cURL
PHP Manual

curl_multi_getcontent

(PHP 5)

curl_multi_getcontent — Devuelve el contenido del recurso cURL si CURLOPT_RETURNTRANSFER está activado

Descripción

string curl_multi_getcontent ( resource $ch )

Si la opción CURLOPT_RETURNTRANSFER está activada para uno de los recursos, entonces esta función devolverá el contenido del recurso cURL en formato string.

Parámetros

ch

El recurso cURL devuelto por curl_init().

Valores devueltos

Devuelve el contenido de cURL si la opción CURLOPT_RETURNTRANSFER está activada en el recurso cURL.

Ver también

  • curl_multi_init() - Devuelve un nuevo multi recurso cURL

curl_multi_exec
curl_multi_info_read
Funciones de cURL


Obtiene información de las transferencias en curso

curl_multi_getcontent
curl_multi_init
Funciones de cURL
PHP Manual

curl_multi_info_read

(PHP 5)

curl_multi_info_read — Obtiene información de las transferencias en curso

Descripción

array curl_multi_info_read ( resource $mh [, int &$msgs_in_queue = NULL ] )

Pregunta al multi recurso si hay algún mensaje o información de cada una de las transferencias. Los mensajes quizá incluyen información como códigos de error de la transferencia o simplemente que la transferencia ha sido completada.

Cada vez que se llame a esta función devolverá un nuevo resultado, hasta que se devuelva FALSE como indicador de que no hay nada más que obtener por el momento. El integer que devuelve msgs_in_queue contendrá el número de mensajes que quedan después de que la función sea llamada.

Advertencia

Los datos que devuelve el recurso no permanecerán si se llama a la función curl_multi_remove_handle().

Parámetros

mh

El multi recurso cURL multi devuelto por curl_multi_init().

msgs_in_queue

Número de mensajes que todavía están en la cola

Valores devueltos

Si funciona, devuelve un array asociativo como mensaje, si falla devuelve FALSE.

Contenido del array devuelto
Clave: | Valor:
msg | La constante CURLMSG_DONE. Otros valores devueltos no están actualmente disponibles.
result | Una de las constantes CURLE_*. Si todo es OK, se devolverá CURLE_OK.
handle | Recurso de tipo curl que indica el controlador en cuestión.

Ejemplos

Ejemplo #1 Un ejemplo de curl_multi_info_read()

<?php

$urls = array(
   "http://www.cnn.com/",
   "http://www.bbc.co.uk/",
   "http://www.yahoo.com/"
);

$mh = curl_multi_init();

foreach ($urls as $i => $url) {
    $conn[$i] = curl_init($url);
    curl_setopt($conn[$i], CURLOPT_RETURNTRANSFER, 1);
    curl_multi_add_handle($mh, $conn[$i]);
}

do {
    $status = curl_multi_exec($mh, $active);
    $info = curl_multi_info_read($mh);
    if (false !== $info) {
        var_dump($info);
    }
} while ($status === CURLM_CALL_MULTI_PERFORM || $active);

foreach ($urls as $i => $url) {
    $res[$i] = curl_multi_getcontent($conn[$i]);
    curl_close($conn[$i]);
}

var_dump(curl_multi_info_read($mh));

?>

El resultado del ejemplo sería algo similar a:

array(3) {
  ["msg"]=>
  int(1)
  ["result"]=>
  int(0)
  ["handle"]=>
  resource(5) of type (curl)
}
array(3) {
  ["msg"]=>
  int(1)
  ["result"]=>
  int(0)
  ["handle"]=>
  resource(7) of type (curl)
}
array(3) {
  ["msg"]=>
  int(1)
  ["result"]=>
  int(0)
  ["handle"]=>
  resource(6) of type (curl)
}
bool(false)

Historial de cambios

Versión | Descripción
5.2.0 | msgs_in_queue fue añadido.

Ver también

  • curl_multi_init() - Devuelve un nuevo multi recurso cURL

curl_multi_getcontent
curl_multi_init
Funciones de cURL


Devuelve un nuevo multi recurso cURL

curl_multi_info_read
curl_multi_remove_handle
Funciones de cURL
PHP Manual

curl_multi_init

(PHP 5)

curl_multi_init — Devuelve un nuevo multi recurso cURL

Descripción

resource curl_multi_init ( void )

Permite procesar múltiples recursos cURL en paralelo.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un multi recurso cURL si funciona, FALSE si falla.

Ejemplos

Ejemplo #1 curl_multi_init() example

Este ejemplo crea dos recursos cURL, los añade a un multi recurso, y los ejectua en paralelo.

<?php
// Crea dos recursos cURL
$ch1 = curl_init();
$ch2 = curl_init();

// Establece la URL y otras opciones apropiadas
curl_setopt($ch1, CURLOPT_URL, "http://lxr.php.net/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);

// Crea el multi recurso cURL
$mh = curl_multi_init();

// Añade los dos recursos
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);

$active=null;
// Ejecuta los recursos
do {
    $mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);

while ($active && $mrc == CURLM_OK) {
    if (curl_multi_select($mh) != -1) {
        do {
            $mrc = curl_multi_exec($mh, $active);
        } while ($mrc == CURLM_CALL_MULTI_PERFORM);
    }
}

// Cierra los recursos
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);

?>

Ver también

  • curl_init() - Inicia sesión cURL
  • curl_multi_close() - Cierra un grupo de recursos cURL

curl_multi_info_read
curl_multi_remove_handle
Funciones de cURL


Elimina un multi recurso de un conjunto de recursos cURL

curl_multi_init
curl_multi_select
Funciones de cURL
PHP Manual

curl_multi_remove_handle

(PHP 5)

curl_multi_remove_handle — Elimina un multi recurso de un conjunto de recursos cURL

Descripción

int curl_multi_remove_handle ( resource $mh , resource $ch )

Eliminia un recurso ch dado de un recurso mh dado. Cuando el recurso ch es eliminado, se puede volver a ejecutar curl_exec() en el mismo recurso. Eliminar el recurso cuando está en uso, cortará todas las transferencias en curso.

Parámetros

mh

El multi recurso cURL multi devuelto por curl_multi_init().

ch

El recurso cURL devuelto por curl_init().

Valores devueltos

Devuelve 0 en caso de éxito, o uno de los códigos de error CURLM_XXX.

Ver también

  • curl_init() - Inicia sesión cURL
  • curl_multi_init() - Devuelve un nuevo multi recurso cURL
  • curl_multi_add_handle() - Añade un recurso cURL a un grupo de recursos cURL

curl_multi_init
curl_multi_select
Funciones de cURL


Espera actividad en cualquier conexión en curl_multi

curl_multi_remove_handle
curl_multi_setopt
Funciones de cURL
PHP Manual

curl_multi_select

(PHP 5)

curl_multi_select — Espera actividad en cualquier conexión en curl_multi

Descripción

int curl_multi_select ( resource $mh [, float $timeout = 1.0 ] )

Permanece bloqueado hasta que haya algún tipo de actividad en conexiones curl_multi.

Parámetros

mh

El multi recurso cURL multi devuelto por curl_multi_init().

timeout

Tiempo, en sengudos, para esperar por una respuesta.

Valores devueltos

Si funciona, devuelve el número de descripciones del contenedor de descripciones. Si falla, esta función devolverá -1 si la selección falla o en timeout (desde la llamada al sistema).

Ver también

  • curl_multi_init() - Devuelve un nuevo multi recurso cURL

curl_multi_remove_handle
curl_multi_setopt
Funciones de cURL


Configura una opción para el multi gestor cURL

curl_multi_select
curl_multi_strerror
Funciones de cURL
PHP Manual

curl_multi_setopt

(PHP 5 >= 5.5.0)

curl_multi_setopt — Configura una opción para el multi gestor cURL

Descripción

bool curl_multi_setopt ( resource $mh , int $option , mixed $value )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

mh

option

Una de las constantes CURLMOPT_* .

value

El valor a configurar para el parámetro option.

value debe ser un int para los siguientes valores del parámetro option :

Opción | Definir parámetro value con
CURLMOPT_PIPELINING | 1 para activar o 0 para desactivar. Activar el pipelining en un multi gestor hará que intente realizar Pipelining HTTP siempre que sea posible para transferencias que utilicen ese gestor. Esto significa que si se añade una segunda petición que puede usar una conexión ya existente, la segunda petición será canalizada en la misma conexión en vez de ser ejecutada en paralelo.
CURLMOPT_MAXCONNECTS | Número máximo de conexiones abiertas simultáneamente que libcurl puede guardar en la cache. Por defecto es 10. Cuando la caché está llena, curl elige el más antiguo de la caché para que no se incremente el número de conexiones abiertas.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

curl_multi_select
curl_multi_strerror
Funciones de cURL


Devuelve un string con la descripción del código de error

curl_multi_setopt
curl_pause
Funciones de cURL
PHP Manual

curl_multi_strerror

(PHP 5 >= 5.5.0)

curl_multi_strerror — Devuelve un string con la descripción del código de error

Descripción

string curl_multi_strerror ( int $errornum )

Devuelve un mensaje de error que describe el código de error CURLM dado.

Parámetros

errornum

Una de las constantes de » códigos de error CURLM .

Valores devueltos

Devuelve un string con la descripción del código de error válido, NULL si no lo es.

Ejemplos

Ejemplo #1 Ejemplo con curl_multi_strerror()

<?php
// Crea gestores cURL
$ch1 = curl_init("http://example.com"/);
$ch2 = curl_init("http://php.net/");

// Crea un multi gestor cURL
$mh = curl_multi_init();

// Añade los gestores al multi gestor
curl_multi_add_handle($mh, $ch1);
curl_multi_add_handle($mh, $ch2);

// Ejecuta el multi gestor
do {
    $status = curl_multi_exec($mh, $active);
    // Revisa si se ha producido errores
    if($status > 0) {
        // Muestra mensaje de error
        echo "ERROR!\n " . curl_multi_strerror($status);
    }
} while ($status === CURLM_CALL_MULTI_PERFORM || $active);
?>

Ver también

  • curl_strerror() - Devuelve un string que describe el código de error dado
  • » códigos de error cURL

curl_multi_setopt
curl_pause
Funciones de cURL


Pausa y reanuda una conexión

curl_multi_strerror
curl_reset
Funciones de cURL
PHP Manual

curl_pause

(PHP 5 >= 5.5.0)

curl_pause — Pausa y reanuda una conexión

Descripción

int curl_pause ( resource $ch , int $bitmask )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

ch

El recurso cURL devuelto por curl_init().

bitmask

Una de las constantes CURLPAUSE_* .

Valores devueltos

Devuelve un código de error, (CURLE_OK si no hay error).

curl_multi_strerror
curl_reset
Funciones de cURL


Reinicializa todas las opciones de un gestor de sesión libcurl

curl_pause
curl_setopt_array
Funciones de cURL
PHP Manual

curl_reset

(PHP 5 >= 5.5.0)

curl_reset — Reinicializa todas las opciones de un gestor de sesión libcurl

Descripción

void curl_reset ( resource $ch )

Esta función reinicializa a sus valores por defecto, todas las opciones de un gestor cURL dado.

Parámetros

ch

El recurso cURL devuelto por curl_init().

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo con curl_reset()

<?php
// Crear un gestor cURL
$ch = curl_init();

// Definir la opción CURLOPT_USERAGENT
curl_setopt($ch, CURLOPT_USERAGENT, "My test user-agent");

// Reinicializar todas las opciones ya configuradas
curl_reset($ch);

// Enviar la solicitud HTTP
curl_setopt($ch, CURLOPT_URL, 'http://example.com/');
curl_exec($ch); // el gestor de usuario definido previamente no será enviado, puesto que ha sido reseteado por curl_reset

// Cerrar el gestor
curl_close($ch);
?>

Notas

Nota:

curl_reset() también reinicia la URL dada como el parámetro de la función curl_init() .

Ver también

  • curl_setopt() - Configura una opción para una transferencia cURL

curl_pause
curl_setopt_array
Funciones de cURL


Configura múltiples opciones para una transferencia cURL

curl_reset
curl_setopt
Funciones de cURL
PHP Manual

curl_setopt_array

(PHP 5 >= 5.1.3)

curl_setopt_array — Configura múltiples opciones para una transferencia cURL

Descripción

bool curl_setopt_array ( resource $ch , array $options )

Configura multiples opciones para una sesión cURL. Esta función es muy útil para configurar gran cantidad de opciones cURL sin tener que llamar cada vez curl_setopt().

Parámetros

ch

El recurso cURL devuelto por curl_init().

opciones

Un array especificando que opciones a configurar y con que valores. Las keys deben contener constantes curl_setopt() válidas o sus integer equivalentes.

Valores devueltos

Devuelve TRUE si todas las opciones se configuraron satisfactoriamente. Si una opción no se pudo configurar devolverá FALSE inmediatamente. Ignorando cualquier otra opción en el array de opciones.

Ejemplos

Ejemplo #1 Iniciando una nueva sesión cURL y capturando una página web

<?php
// Crea un nuevo recurso cURL
$ch = curl_init();

// set URL and other appropriate options
$options = array(CURLOPT_URL => 'http://www.example.com/',
                 CURLOPT_HEADER => false
                );

curl_setopt_array($ch, $options);

// grab URL and pass it to the browser
curl_exec($ch);

// close cURL resource, and free up system resources
curl_close($ch);
?>

Anterior a PHP 5.1.3 esta función puede ser simulada con:

Ejemplo #2 O nuestra implementación de curl_setopt_array()

<?php
if (!function_exists('curl_setopt_array')) {
   function curl_setopt_array(&$ch, $curl_options)
   {
       foreach ($curl_options as $option => $value) {
           if (!curl_setopt($ch, $option, $value)) {
               return false;
           }
       }
       return true;
   }
}
?>

Notas

Nota:

Igual que curl_setopt(), si se pasa un array a CURLOPT_POST codificará los datos como multipart/form-data, mientras que si pasa una cadena URL-encoded codificará los datos como application/x-www-form-urlencoded.

Ver también

  • curl_setopt() - Configura una opción para una transferencia cURL

curl_reset
curl_setopt
Funciones de cURL


Configura una opción para una transferencia cURL

curl_setopt_array
curl_share_close
Funciones de cURL
PHP Manual

curl_setopt

(PHP 4 >= 4.0.2, PHP 5)

curl_setopt — Configura una opción para una transferencia cURL

Descripción

bool curl_setopt ( resource $ch , int $option , mixed $value )

Establece una opción en la sesión del recurso cURL.

Parámetros

ch

El recurso cURL devuelto por curl_init().

option

La opción CURLOPT_XXX a configurar.

value

Valor a configurar en la option.

value debe ser un bool para los siguientes valores del parámetro option:

Opción | Establecer value a | Notas
CURLOPT_AUTOREFERER | TRUE para automáticamente establecer el valor del campo Referer: en peticiones que siguen una redireción Location:.
CURLOPT_BINARYTRANSFER | TRUE para devolver el resultado sin tratar CURLOPT_RETURNTRANSFER está activado. | Desde PHP 5.1.3, esta opción no tiene efecto: el resultado sin tratar será siempre retornado cuando CURLOPT_RETURNTRANSFER sea usado.
CURLOPT_COOKIESESSION | TRUE para usarse como una nueva cookie de "sesión". Forzará libcurl a ignorar todas las cookies, se trata de cargar estas "cookies de sesión" de la sesión anterior. Por defecto, libcurl siempre guarda y carga todas las cookies, independientemente si hay cookies de sesión o no. Las cookies de sesión son cookies sin fecha de caducidad y estan pensadas para mantenerse activas y solo existir para esta "sesión".
CURLOPT_CERTINFO | TRUE para mostrar información sobre certificación SSL al STDERR en transferencias seguras. | Añadido en cURL 7.19.1 Disponible desde PHP 5.3.2. Requiere CURLOPT_VERBOSE activado para que tenga efecto.
CURLOPT_CONNECT_ONLY | TRUE le dice a la biblioteca que realice todas las autenticaciones de proxy requeridas y la configuración de la conexión, pero no la transferencia de datos. Esta opción se implementa para HTTP, SMTP y POP3. | Aladida en 7.15.2. Disponbible desde PHP 5.5.0.
CURLOPT_CRLF | TRUE para convertir nuevas líneas Unix a nuevas líneas CRLF en transferencias.
CURLOPT_DNS_USE_GLOBAL_CACHE | TRUE para usar caché DNS global. Esta opción no es thread-safe y está activada por defecto.
CURLOPT_FAILONERROR | TRUE para fallar con verbosidad si el código HTTP devuelto es mayor o igual que 400. El comportamiento por defecto es devolver la página normalmente, ignornado el código.
CURLOPT_FILETIME | TRUE para intentar obtener la fecha de modificación del documento. Este valor puede obtenerse usando la opción CURLINFO_FILETIME con curl_getinfo().
CURLOPT_FOLLOWLOCATION | TRUE para seguir cualquier encabezado "Location: " que el servidor envíe como parte del encabezado HTTP (observe la recursividad, PHP seguirá tantos header "Location: " como se envíen, a no ser que la opción CURLOPT_MAXREDIRS esté establecida).
CURLOPT_FORBID_REUSE | TRUE para forzar a cerrar explicitamente la conexión cuando se finalice el proceso y no guardarla para su reuso.
CURLOPT_FRESH_CONNECT | TRUE para forzar el uso de una nueva conexión en lugar de usar una en caché.
CURLOPT_FTP_USE_EPRT | TRUE para usar EPRT (y LPRT) cuando se hacen descargas FTP activas. Use FALSE para desactivar EPRT y LPRT y usar PORT solamente.
CURLOPT_FTP_USE_EPSV | TRUE para probar primero el comando EPSV para transferencias FTP antes de volver a PASV. Establezca la opción a FALSE para desactivar EPSV.
CURLOPT_FTP_CREATE_MISSING_DIRS | TRUE para crear directorios faltantes cuando una operación se encuentra con una ruta que actualmente no existe.
CURLOPT_FTPAPPEND | TRUE para añadir al fichero remoto en lugar de sobreescribirlo.
CURLOPT_FTPASCII | Un alias de CURLOPT_TRANSFERTEXT. Para usar en su lugar.
CURLOPT_FTPLISTONLY | TRUE para solo listar los nombres de un directorio FTP directorio.
CURLOPT_HEADER | TRUE para incluir el header en el output.
CURLINFO_HEADER_OUT | TRUE para seguir la cadena de la petición del recurso. | Disponible desde PHP 5.1.3. El prefijo CURLINFO_ es intencionado.
CURLOPT_HTTPGET | TRUE para resetear la petición HTTP a GET. Puesto que GET es el método por defecto, solo es necesario si el método fue cambiado.
CURLOPT_HTTPPROXYTUNNEL | TRUE para usar un tunel a través de un proxy HTTP.
CURLOPT_MUTE | TRUE para completar silenciosamente en lo que se refiere a las funciones cURL. | Eliminado en cURL 7.15.5 (Se puede usar CURLOPT_RETURNTRANSFER en su lugar)
CURLOPT_NETRC | TRUE para escanear el fichero ~/.netrc y buscar un usuario y contraseña para establecer una conexión con el sitio remoto.
CURLOPT_NOBODY | TRUE para excluir el body del output. El método de petición es establecido a HEAD. Si se cambia a FALSE no cambia el método a GET.
CURLOPT_NOPROGRESS

TRUE para desactivar medidor de progreso para transferencias cURL.

Nota:

PHP automáticamente establece esta opción a TRUE, solo debería cambiarse para razones de testing.

CURLOPT_NOSIGNAL | TRUE para ignorar cualquier función cURL que cause una señal a ser enviada al proceso PHP. Esta opción está activada por defecto en multi-hilo SAPI, entonces las opciones de timeout pueden ser usadas. | Añadido en cURL 7.10.
CURLOPT_POST | TRUE para hacer un HTTP POST normal. Este POST del tipo application/x-www-form-urlencoded, el más común en formularios HTML.
CURLOPT_PUT | TRUE para hacer un HTTP PUT de un fichero. El fichero a subir debe establecerse en CURLOPT_INFILE y CURLOPT_INFILESIZE.
CURLOPT_RETURNTRANSFER | TRUE para devolver el resultado de la transferencia como string del valor de curl_exec() en lugar de mostrarlo directamente.
CURLOPT_SSL_VERIFYPEER | FALSE para que cURL no verifique el peer del certificado. Para usar diferentes certificados para la verificación se pueden especificar con la opción CURLOPT_CAINFO o se puede especificar el directorio donde se encuentra el certificado con la opción CURLOPT_CAPATH. | TRUE por omisión desde cURL 7.10. Paquete instalado por defecto en la versión CURL 7.10.
CURLOPT_TRANSFERTEXT | TRUE para usar modo ASCII para transferencias FTP. En LDAP, obtiene los datos en texto plano en lugar de HTML. En sistemas Windows, no estabecerá STDOUT en modo binario.
CURLOPT_UNRESTRICTED_AUTH | TRUE para prevenir el envio de usuario y contraseña cuando se siguen locations (usando CURLOPT_FOLLOWLOCATION), incluso cuando el hostname es diferente.
CURLOPT_UPLOAD | TRUE preparar cURL para subir un fichero.
CURLOPT_VERBOSE | TRUE para mostrar información verbose. Escribe la salida en STDERR, o el fichero especificado usando CURLOPT_STDERR.

value debe ser un integer para los siguientes valores del parámetro option:

Opción | Establecer value a | Notas
CURLOPT_BUFFERSIZE | Tamaño del búfer a usar por cada lectura. De todas formas, no hay ninguna garantía de que la petición usará todo el búfer. | Añadido en cURL 7.10.
CURLOPT_CLOSEPOLICY | Tanto CURLCLOSEPOLICY_LEAST_RECENTLY_USED como CURLCLOSEPOLICY_OLDEST. Hay otras tres constantes CURLCLOSEPOLICY_, pero cURL no lo soporta todavía.
CURLOPT_CONNECTTIMEOUT | Número de segundos a esperar cuando se está intentado conectar. Use 0 para esperar indefinidamente.
CURLOPT_CONNECTTIMEOUT_MS | Número de milisegundos a esperar cuando se está intentado conectar. Use 0 para esperar indefinidamente. Si se ha compilado libcurl para utilizar el sistema estándar de resolución de nombres, esta porción de conexión utilizará una resolución completa de un segundo en tiempos de expiración, con un mínimo permitido de un segundo. | Añadido en cURL 7.16.2. Disponible desde PHP 5.2.3.
CURLOPT_DNS_CACHE_TIMEOUT | Número de segundos a mantener las entradas DNS en memoria. Esta opción está establecida a 120 (2 minutos) por defecto.
CURLOPT_FTPSSLAUTH | Método de autenticación FTP (cuando está activado): CURLFTPAUTH_SSL (prueba SSL primero), CURLFTPAUTH_TLS (prueba TLS primero), o CURLFTPAUTH_DEFAULT (hacer que cURL decida). | Añadido en cURL 7.12.2.
CURLOPT_HTTP_VERSION | CURL_HTTP_VERSION_NONE (por defecto, hacer que CURL decida que versión a usar), CURL_HTTP_VERSION_1_0 (fuerza HTTP/1.0), or CURL_HTTP_VERSION_1_1 (fuerza HTTP/1.1).
CURLOPT_HTTPAUTH

Los métodos de autenticación HTTP. Las opciones son: CURLAUTH_BASIC, CURLAUTH_DIGEST, CURLAUTH_GSSNEGOTIATE, CURLAUTH_NTLM, CURLAUTH_ANY, y CURLAUTH_ANYSAFE.

El separador | o operador puede ser usado para combinar más de un método. Si se utiliza, cURL comprobará en el servidor remoto que métodos soporta y utilizará el más adecuado.

CURLAUTH_ANY es un alias para CURLAUTH_BASIC | CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM.

CURLAUTH_ANYSAFE es un alias para CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM.

CURLOPT_INFILESIZE | El tamaño esperado en bytes, del fichero cuando se está subiendo un fichero al sitio remoto. Téngase en cuenta que el uso de esta opción no detendrá libcurl a la hora de enviar más datos, exactamente lo que se envía depende de CURLOPT_READFUNCTION.
CURLOPT_LOW_SPEED_LIMIT | La velocidad de transferencia, en bytes por segundo, que la transferencia debería estar por debajo durante CURLOPT_LOW_SPEED_TIME segundos para PHP a considerar que la transferencia es demasiado lenta y debe abortarse.
CURLOPT_LOW_SPEED_TIME | Número en segundos en que la velocidad de transferencia debería estar debajo de CURLOPT_LOW_SPEED_LIMIT antes que PHP considere que la transferencia es demasiado lenta y debe abortarse.
CURLOPT_MAXCONNECTS | Número máximo de conexiones persistentes que están permitidas. Cuando se llega al límite, se utiliza CURLOPT_CLOSEPOLICY para determinar que conexión debe cerrarse.
CURLOPT_MAXREDIRS | Número máximo de redirecciones HTTP a seguir. Use esta opción con CURLOPT_FOLLOWLOCATION.
CURLOPT_PORT | Puerto alternativo a conectarse.
CURLOPT_PROTOCOLS

Máscara de los valores CURLPROTO_*. Si se utiliza, esta máscara limitará que protocolos utilizará libcurl en transferencias. Permite que libcurl utilice cualquiera de los protocolos pero limita que grupo de protocolos a usar en específicas transferencias. Por defecto libcurl acepta todos los protocolos. Vea también: CURLOPT_REDIR_PROTOCOLS.

Las opciones para válidos procolos son: CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_FTP, CURLPROTO_FTPS, CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_TELNET, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_DICT, CURLPROTO_FILE, CURLPROTO_TFTP, CURLPROTO_ALL

Añadido en cURL 7.19.4.
CURLOPT_PROXYAUTH | Método de autenticación HTTP para usar conexiones vía proxy. Usa el mismo tipo de máscaras descritas en CURLOPT_HTTPAUTH. Para autenticación proxy, solamente CURLAUTH_BASIC y CURLAUTH_NTLM están actualmente soportadas. | Añadido en cURL 7.10.7.
CURLOPT_PROXYPORT | Número del puerto para usar en la conexión proxy. Este puerto también puede configurase en CURLOPT_PROXY.
CURLOPT_PROXYTYPE | Puede ser CURLPROXY_HTTP (por defecto) o bien CURLPROXY_SOCKS5. | Añadido en cURL 7.10.
CURLOPT_REDIR_PROTOCOLS | Máscara de valores CURLPROTO_*. Si se usa, esta máscara limitará que protocolos usará libcurl en una transferencia que sigue una redireción cuando CURLOPT_FOLLOWLOCATION está activado. Esto permite limitar a específicas transferencias que grupo de protocolos utilizar en redireciones. Por defecto libcurl aceptará todos los protocolos excepto FILE y SCP. Esto es nuevo si se compara con versiones anteriores a 7.19.4 donde se seguían incodicionalmente todos los protocolos soportados. Vea también CURLOPT_PROTOCOLS para los valores de las constantes. | Añadido en cURL 7.19.4.
CURLOPT_RESUME_FROM | El punto, en bytes desde donde continuar una transferencia.
CURLOPT_SSL_VERIFYHOST | 1 para comprobar que existe un nombre común en el peer del certificado SSL. 2 para comprobar que existe un nombre común y también para verificar que el hostname coinicide con el proporcionado. En entornos de producción el valor de esta opción debe mantenerse a 2 (valor por omisión). | Soporte para el valor 1 eliminado en cURL 7.28.1
CURLOPT_SSLVERSION | Versión SSL a usar (2 o 3). Por defecto PHP intentará determinarlo por si mismo, de todos modos en algunos casos debe asignarse manualmente.
CURLOPT_TIMECONDITION | Como se trata CURLOPT_TIMEVALUE. Utilice CURL_TIMECOND_IFMODSINCE para devolver la página solamente si fue modificada desde el tiempo especificado en CURLOPT_TIMEVALUE. Si no fué modificada, se devolverá "304 Not Modified" en el header asumiendo que CURLOPT_HEADER es TRUE. Utilice CURL_TIMECOND_IFUNMODSINCE para el efecto contrario. CURL_TIMECOND_IFMODSINCE está activado por defecto.
CURLOPT_TIMEOUT | Número máximo de segundos permitido para ejectuar funciones cURL.
CURLOPT_TIMEOUT_MS | Número máximo en milisegundos permitido para ejecutar funciones cURL. Si se ha compilado libcurl para utilizar el sistema estándar de resolución de nombres, esta porción de conexión utilizará una resolución completa de un segundo en tiempos de expiración, con un mínimo permitido de un segundo. | Añadido en cURL 7.16.2. Disponible desde PHP 5.2.3.
CURLOPT_TIMEVALUE | Tiempo en segundos desde el 1 de enero de 1970. El tiempo será usado por CURLOPT_TIMECONDITION. Por defecto, se utiliza CURL_TIMECOND_IFMODSINCE.
CURLOPT_MAX_RECV_SPEED_LARGE | Si una descarga supera esta velocidad (en bytes por segundo) en su tasa media de transferencia, ésta se detendrá temporalmente para mantener la media igual o inferior al valor del parámetro. Por omisión, la velocidad es ilimitada. | Añadido en cURL 7.15.5. Disponible desde PHP 5.4.0.
CURLOPT_MAX_SEND_SPEED_LARGE | Si una subida supera esta velocidad (en bytes por segundo) en su tasa media de transferencia, ésta se detendrá temporalmente para mantener la media igual o inferior al valor del parámetro. Por omisión, la velocidad es ilimitada. | Añadido en cURL 7.15.5. Disponible desde PHP 5.4.0.
CURLOPT_SSH_AUTH_TYPES | Una máscara de bits que consta de una o más de CURLSSH_AUTH_PUBLICKEY, CURLSSH_AUTH_PASSWORD, CURLSSH_AUTH_HOST, CURLSSH_AUTH_KEYBOARD. Establece a CURLSSH_AUTH_ANY para que libcurl elija uno. | Añadido en cURL 7.16.1.
CURLOPT_IPRESOLVE | Permite a una aplicación seleccionar el tipo de dirección IP a usar cuando se resuelven nombres de host. Esto es interesante solamente al usar nombres de host que resuelven direcciones usando más de una versión de IP. Los valores posibles son CURL_IPRESOLVE_WHATEVER, CURL_IPRESOLVE_V4, CURL_IPRESOLVE_V6; el predeterminado es CURL_IPRESOLVE_WHATEVER. | Añadida en cURL 7.10.8.

El value debe ser una string para los siguientes valores del parámetro option:

Opción | Configurar value a | Notas
CURLOPT_CAINFO | Nombre del fichero que contiene uno o más certificados para verificar el peer. Solo tiene sentido cuando se utiliza en combinación de CURLOPT_SSL_VERIFYPEER. | Deben usarse rutas absolutas.
CURLOPT_CAPATH | Directorio que contiene múltiple certificados CA. Utilice esta opción junto con CURLOPT_SSL_VERIFYPEER.
CURLOPT_COOKIE | Contenido de "Cookie: " del header para ser usado en la petición HTTP. Observe que múltiples cookies van separadas con punto y coma seguidas por un espacio (ej., "fruit=apple; colour=red")
CURLOPT_COOKIEFILE | Nombre del fichero que contiene datos de las cookies. El fichero de cookies puede estar en formato Netscape, o simplemente tipo HTTP plano dentro de un fichero. Si el nombre es una cadena vacía, no se cargarán cookies, aunque el manejo de cookies aún está habilitado.
CURLOPT_COOKIEJAR | Nombre del fichero donde guardar cookies internas cuando se cierra se cierra, por e.j. después de llamar a curl_close.
CURLOPT_CUSTOMREQUEST

Método de petición personalizado a usar en lugar de "GET" o "HEAD" cuando se realiza una petición HTTP. Es útil para hacer "DELETE" o otros tipos de peticiones HTTP menos comunes. "GET", "POST", "CONNECT" y otros, son valores válidos. Ej. No introduzca toda la petición HTTP aquí, seria incorrecto introducir: "GET /index.html HTTP/1.0\r\n\r\n".

Nota:

No cambie este valor sin antes asegurarse que el servidor soporta el método de petición personalizado.

CURLOPT_EGDSOCKET | Es como CURLOPT_RANDOM_FILE, con excepción que en lugar de un fichero se utiliza un Entropy Gathering Daemon socket.
CURLOPT_ENCODING | Contenido del valor "Accept-Encoding: " en el header. Esto permite decodificar la respuesta. Los formatos de codificación disponibles son "identity", "deflate", y "gzip". Si el valor se envía vacío, "", se enviarán todos los tipos de condificación soportados. | Añadido en cURL 7.10.
CURLOPT_FTPPORT | El valor que será usando para obtener la dirección IP a usar para la instrucción FTP "PORT". La instrucción "PORT" dice al servidor remoto a qué dirección IP se debe conectar. La cadena puede ser una dirección IP, el nombre de un servidor o un interfaz de red (bajo Unix), o simplemente '-' para usar la dirección IP por defecto del sistema.
CURLOPT_INTERFACE | Nombre del interfaz de salida a usar. Puede ser el nombre del interfaz, una dirección IP o el nombre de un servidor.
CURLOPT_KEYPASSWD | El password requerido para usar la clave privada CURLOPT_SSLKEY o CURLOPT_SSH_PRIVATE_KEYFILE. | Añadido en cURL 7.16.1.
CURLOPT_KRB4LEVEL | Nivel de seguridad KRB4 (Kerberos 4). Cualquiera de los siguientes valores (en orden de menos a más potentes) son válidos: "clear", "safe", "confidential", "private".. Si la cadena no coincide con alguno de estos valores, será usado "private". Configure esta opción a NULL para desactivar seguridad KRB4. Actualmente la seguridad KRB4 solo funciona con transaciones FTP.
CURLOPT_POSTFIELDS | Todos los datos para enviar vía HTTP "POST". para enviar un fichero, prefija el nombre del fichero con @ y utiliza la ruta completa. Se puede especificar explícitamente el tipo de fichero añadiendo el tipo al nombre del fichero, en el formato ';type=mimetype'. Se puede enviar una cadena urlencoded como 'para1=val1&para2=val2&...' o también como un array con el nombre del campo como key y los datos como value. Si value es un array, el encabezado Content-Type será definido como multipart/form-data. A partir de PHP 5.2.0, value debe ser un array si los archivos son pasados a esta opción con el prefijo @. A partir de PHP 5.5.0, el prefijo @ está obsoleto, por lo que los ficheros se pueden enviar usando CURLFile.
CURLOPT_PROXY | El proxy HTTP para enviar peticiones a través de tunel.
CURLOPT_PROXYUSERPWD | Usuario y contraseña con el siguiente formato "[username]:[password]" para usarse en la conexión al proxy.
CURLOPT_RANDOM_FILE | Nombre del fichero a ser usado para generar números aleatorios para el SSL.
CURLOPT_RANGE | Rango(s) de datos para obtener en el formato "X-Y" donde X y Y son opcionales. Transferencias HTTP también soportan varios intérvalos, separados por comas en el formato "X-Y,N-M".
CURLOPT_REFERER | Contenido del Header "Referer: " para ser usado en la petición HTTP.
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 | Un string que contiene 32 dígitos hexadecimales. El string debe ser el MD5 checksum de la clave pública del host remoto, y libcurl rechazará la conexión a el host a menos que el md5sums coincida. Esta opción es sólo para las transferencias SCP y SFTP. | Añadido en cURL 7.17.1.
CURLOPT_SSH_PUBLIC_KEYFILE | El nombre de el fichero de la clave pública. Si no se utiliza, libcurl por omisión usa $HOME/.ssh/id_dsa.pub si la variable de entorno HOME es establecida, y "id_dsa.pub" en el directorio actual si HOME no está establecida. | Añadido en cURL 7.16.1.
CURLOPT_SSH_PRIVATE_KEYFILE | El nombre de el fichero de la clave privada. Si no se utiliza, libcurl por omisión usa $HOME/.ssh/id_dsa si la variable de entorno HOME es establecida, y "id_dsa" en el directorio actual si HOME no está establecida. Si el fichero está protegido con contraseña, establecer la contraseña con la constante CURLOPT_KEYPASSWD. | Añadido en cURL 7.16.1.
CURLOPT_SSL_CIPHER_LIST | Lista de ciphers a ser usados por SSL. Por ejemplo, RC4-SHA y TLSv1 es una lista válida de ciphers.
CURLOPT_SSLCERT | Nombre del fichero que contiene un certificado con formato PEM.
CURLOPT_SSLCERTPASSWD | Contraseña requerida para usar el certificado CURLOPT_SSLCERT.
CURLOPT_SSLCERTTYPE | Formato del certificado. Los formatos soportados son "PEM" (por defecto), "DER", y "ENG". | Añadido en cURL 7.9.3.
CURLOPT_SSLENGINE | El identificador para el crypto engine de la clave privada SSL especificada en CURLOPT_SSLKEY.
CURLOPT_SSLENGINE_DEFAULT | Identificador para el crypto engine usado para operaciones crypto asimétricas.
CURLOPT_SSLKEY | Nombre del fichero que contiene la clave privada SSL.
CURLOPT_SSLKEYPASSWD

Contraseña secreta requerida para usar la clave privada SSL especificada en CURLOPT_SSLKEY.

Nota:

Como esta opción contiene una contraseña, recuerde mantener el PHP script en un sitio seguro.

CURLOPT_SSLKEYTYPE | Tipo de llave privada SSL especificada en CURLOPT_SSLKEY. Los tipos de claves soportadas son "PEM" (default), "DER", y "ENG".
CURLOPT_URL | Dirección URL a capturar. Este valor también puede ser configurado cuando se inicia una sesión con curl_init().
CURLOPT_USERAGENT | Contenido del header "User-Agent: " a ser usado en la petición HTTP.
CURLOPT_USERPWD | Nombre de usuario y contraseña siguiendo el formato "[username]:[password]" para ser usado en la conexión.

El value debe ser un array para los siguientes calores del parámetro option:

Opción | Configurar value a | Notas
CURLOPT_HTTP200ALIASES | Array de respuestas HTTP 200 que serán tratadas como respuestas válidas y no como errores. | Añadido en cURL 7.10.3.
CURLOPT_HTTPHEADER | Un array de campos a configurar para el header HTTP, en el formato: array('Content-type: text/plain', 'Content-length: 100')
CURLOPT_POSTQUOTE | Un array de comandos FTP a ejecutar en el servidor después de que se realice la petición FTP.
CURLOPT_QUOTE | Un array de comandos FTP a ejecutar en el servidor antes de que se realice la petición FTP.

El value debe ser un recurso de flujo (usando fopen(), por ejemplo) para los siguientes valores del parámetro option:

Opción | Configurar value a
CURLOPT_FILE | El fichero en el que el proceso de transferencia guardará el resultado. Por defecto es STDOUT (la ventana del navegador).
CURLOPT_INFILE | El fichero que el proceso de transferencia debe leer a la hora de subir un fichero.
CURLOPT_STDERR | Localización alternativa para mostrar los errores en lugar de STDERR.
CURLOPT_WRITEHEADER | El fichero donde guardar la parte del header durante la transferencia.

value debería ser el nombre de una función válida o una Clausura para los siguientes valores del parámetro option:

Opción | Configurar value a
CURLOPT_HEADERFUNCTION | Una llamada de retorno que acepta dos parámetros. El primero es el recurso cURL, el segundo es un string con los datos de la cabecera a escribir. Los datos de la cabecera deben escribirse durante esta llamada de retorno. Devuelve el número de bytes escritos.
CURLOPT_PASSWDFUNCTION | Una llamada de retorno que acepta tres parámetros. El primero es el recurso cURL, el segundo es un string que contiene la contraseña, y el tercero es la longitud máxima para la contraseña. Devuelve un string que contiene la contraseña.
CURLOPT_PROGRESSFUNCTION

Una llamada de retorno que acepta cinco parámetros. El primero es el recurso cURL, el segundo es el número total de bytes que se espera descargar en esta transferencia, el tercero es el número de bytes descargados hasta ahora, el cuarto es el número total de bytes que se espera subir en esta transferencia, y el quinto es el número de bytes subidos hasta ahora.

Nota:

La llamada de retorno solamente se invoca cuando la opción CURLOPT_NOPROGRESS está establecida a FALSE.

Devuelve un valor distinto de cero para abortar la transferencia. En este caso, la transferencia establecerá un error CURLE_ABORTED_BY_CALLBACK.

CURLOPT_READFUNCTION | Una llamada de retorno que acepta tres parámetros. El primero es el recurso cURL, el segundo es un recurso de flujo de datos proporcionado a través de la opción CURLOPT_INFILE, y el tercero es la máxima cantidad de datos a leer. La llamada de retorno debe devolver un string con la misma longitud o menor que la cantidad de datos pedidos, normalmente leyéndolos del recurso de flujo de datos pasado. Debe devolver una cadena vacía para marcar el EOF.
CURLOPT_WRITEFUNCTION | Una llamada de retorno que acepta dos parámetros. El primero es el recurso cURL, el segundo es un string con los datos a escribir. Los datos deben ser guardados por esta llamada de retorno. Debe devolver el número exacto de bytes escritos o la transferencia será abortada con un error.

Otros valores:

Opción | Establecer value a
CURLOPT_SHARE | Un resultado de curl_share_init(). Hace que el gestor de cURL use los datos del gestor compartido.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.5.0 | Se añadió el recurso cURL como el primer parámetro de la llamada de retorno CURLOPT_PROGRESSFUNCTION.
5.5.0 | Se introdujo CURLOPT_SHARE.
5.3.0 | Se introdujo CURLOPT_PROGRESSFUNCTION.
5.2.10 | Se introdujo CURLOPT_PROTOCOLS, y CURLOPT_REDIR_PROTOCOLS.
5.1.0 | Se introdujo CURLOPT_AUTOREFERER, CURLOPT_BINARYTRANSFER, CURLOPT_FTPSSLAUTH, CURLOPT_PROXYAUTH, y CURLOPT_TIMECONDITION.
5.0.0 | Se introdujo CURLOPT_FTP_USE_EPRT, CURLOPT_NOSIGNAL, CURLOPT_UNRESTRICTED_AUTH, CURLOPT_BUFFERSIZE, CURLOPT_HTTPAUTH, CURLOPT_PROXYPORT, CURLOPT_PROXYTYPE, CURLOPT_SSLCERTTYPE, y CURLOPT_HTTP200ALIASES.

Ejemplos

Ejemplo #1 Iniciando una nueva sesión cURL y capturando la página web

<?php
// Crear un nuevo recurso cURL
$ch = curl_init();

// Configurar URL y otras opciones apropiadas
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, false);

// Capturar la URL y pasarla al navegador
curl_exec($ch);

// Cerrar el recurso cURL y liberar recursos del sistema
curl_close($ch);
?>

Ejemplo #2 Subiendo un fichero

<?php

/* http://localhost/upload.php:
print_r($_POST);
print_r($_FILES);
*/

$ch = curl_init();

$data = array('name' => 'Foo', 'file' => '@/home/user/test.png');

curl_setopt($ch, CURLOPT_URL, 'http://localhost/upload.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_exec($ch);
?>

El resultado del ejemplo sería:

Array
(
    [name] => Foo
)
Array
(
    [file] => Array
        (
            [name] => test.png
            [type] => image/png
            [tmp_name] => /tmp/phpcpjNeQ
            [error] => 0
            [size] => 279
        )

)

Notas

Nota:

Si pasamos un array a CURLOPT_POSTFIELDS codificará los datos como multipart/form-data, pero si pasamos una cadena URL-encoded codificará los datos como application/x-www-form-urlencoded.

Ver también

  • curl_setopt_array() - Configura múltiples opciones para una transferencia cURL

curl_setopt_array
curl_share_close
Funciones de cURL


Cierra un gestor cURL compartido

curl_setopt
curl_share_init
Funciones de cURL
PHP Manual

curl_share_close

(PHP 5 >= 5.5.0)

curl_share_close — Cierra un gestor cURL compartido

Descripción

void curl_share_close ( resource $sh )

Cierra un gestor cURL compartido y libera todos los recursos.

Parámetros

sh

Un gestor compartido cURL devuelto por la función curl_share_init()

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo con curl_share_setopt()

Este ejemplo creará un gestor cURL compartido, y dos gestores cURL en el, y entonces los ejecutará con cookies de compartición de datos.

<?php
// Crear el gestor compartido cURL y configurarlo para compartir cookies
$sh = curl_share_init();
curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);

// Inicializar el primer gestor cURL handle y asignarle el gestor compartido
$ch1 = curl_init("http://example.com/");
curl_setopt($ch1, CURLOPT_SHARE, $sh);

// Ejecutar el primer gestor cURL
curl_exec($ch1);

// Inicializar el segundo gestor cURL handle y asignarle el gestor compartido
$ch2 = curl_init("http://php.net/");
curl_setopt($ch2, CURLOPT_SHARE, $sh);

// Ejecutar el segundo gestor cURL
// todas las cookies del gestor $ch1 son compartidas con el gestor $ch2
curl_exec($ch2);

// Cerrar el gestor compartido cURL
curl_share_close($sh);

// Cerrar los gestores cURL
curl_close($ch1);
curl_close($ch2);
?>

Ver también

  • curl_share_init() - Inicializar un gestor cURL compartido

curl_setopt
curl_share_init
Funciones de cURL


Inicializar un gestor cURL compartido

curl_share_close
curl_share_setopt
Funciones de cURL
PHP Manual

curl_share_init

(PHP 5 >= 5.5.0)

curl_share_init — Inicializar un gestor cURL compartido

Descripción

resource curl_share_init ( void )

Permite la compartición de datos entre gestores cURL.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un recurso del tipo "cURL Share Handle".

Ejemplos

Ejemplo #1 Ejemplo con curl_share_init()

Este ejemplo creará un gestor compartido cURL, añadirá dos gestores cURL en él, y entonces los ejecuta con compartición de datos con cookie.

<?php
// Crear gestor compartido cURL y configurarlo para compartir datos con cookie
$sh = curl_share_init();
curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);

// Inicializar el primer gestor cURL y asignarlo al gestor compartido
$ch1 = curl_init("http://example.com/");
curl_setopt($ch1, CURLOPT_SHARE, $sh);

// Ejecutar el primer gestor cURL
curl_exec($ch1);

// Inicializar el segundo gestor cURL y asignarlo al gestor compartido
$ch2 = curl_init("http://php.net/");
curl_setopt($ch2, CURLOPT_SHARE, $sh);

// Ejecutar el segundo gestor cURL
// todas las cookies del gestor $ch1 son compartidas con el gestor $ch2
curl_exec($ch2);

// Cerrar el gestor compartido cURL
curl_share_close($sh);

// Cerrar los gestores cURL
curl_close($ch1);
curl_close($ch2);
?>

Ver también

  • curl_share_setopt() - Configura una opción para un gestor cURL compartido
  • curl_share_close() - Cierra un gestor cURL compartido

curl_share_close
curl_share_setopt
Funciones de cURL


Configura una opción para un gestor cURL compartido

curl_share_init
curl_strerror
Funciones de cURL
PHP Manual

curl_share_setopt

(PHP 5 >= 5.5.0)

curl_share_setopt — Configura una opción para un gestor cURL compartido

Descripción

bool curl_share_setopt ( resource $sh , int $option , string $value )

Configura una opción en el gestor cURL compartido dado.

Parámetros

sh

Un gestor cURL compartido devuelto por curl_share_init().

option

Opción | Descripción
CURLSHOPT_SHARE | Especifica un tipo de datos que debe ser compartido.
CURLSHOPT_UNSHARE | Especifica un tipo de datos que no debe ser compartido.

value

Valor | Descripción
CURL_LOCK_DATA_COOKIE | Comparte cookies.
CURL_LOCK_DATA_DNS | Comparte la caché DNS. Tener en cuenta que cuando se usan multi gestores cURL , todos los gestores añadidos al mismo multi gestor compartirán la caché DNS por defecto.
CURL_LOCK_DATA_SSL_SESSION | Comparte IDs de sesiones SSL session, reduciendo el tiempo gastado en la negociación SSL cuando se reconecta al mismo servidor. Notar que los IDs de sesión SSL se reutilizan por defecto dentro del mismo gestor.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de curl_share_setopt()

Este ejemplo creará un gestor cURL compartido, añade dos gestores cURL en él, y los ejecuta con compartición de datos con cookie.

<?php
// Crea un gestor cURL compartido y lo configura para compartir cookies
$sh = curl_share_init();
curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);

// Inicializa el primer gestor cURL y lo asigna el gestor compartido
$ch1 = curl_init("http://example.com/");
curl_setopt($ch1, CURLOPT_SHARE, $sh);

// Ejecuta el primer gestor cURL
curl_exec($ch1);

// Inicializa el segundo gestor cURL y lo asigna al gestor compartido
$ch2 = curl_init("http://php.net/");
curl_setopt($ch2, CURLOPT_SHARE, $sh);

// Ejecuta el segundo gestor cURL
// todas las cookies del gestor $ch1 se comparten con el gestor $ch2
curl_exec($ch2);

// Cierra el gestor compartido cURL
curl_share_close($sh);

// Cierra los gestores cURL
curl_close($ch1);
curl_close($ch2);
?>

curl_share_init
curl_strerror
Funciones de cURL


Devuelve un string que describe el código de error dado

curl_share_setopt
curl_unescape
Funciones de cURL
PHP Manual

curl_strerror

(PHP 5 >= 5.5.0)

curl_strerror — Devuelve un string que describe el código de error dado

Descripción

string curl_strerror ( int $errornum )

Devuelve un mensaje de texto describiendo el código de error dado.

Parámetros

errornum

Una de las constantes de » código de error cURL .

Valores devueltos

Devuelve la descripción de error o NULL para códigos de error inválidos.

Ejemplos

Ejemplo #1 Ejemplo de curl_errno()

<?php
// Crea un gestor curl con un protocolo con nombre erróneo en una URL
$ch = curl_init("htp://example.com/");

// Envía solicitud
curl_exec($ch);

// Valida si se ha producido errores y muestra el mensaje de error
if($errno = curl_errno($ch)) {
    $error_message = curl_strerror($errno);
    echo "cURL error ({$errno}):\n {$error_message}";
}

// Cierra el gestor
curl_close($ch);
?>

El resultado del ejemplo sería:

cURL error (1):
 Unsupported protocol

Ver también

  • curl_errno() - Devuelve el último número de error
  • curl_error() - Devuelve una cadena que contiene el último error de la sesión actual
  • » códigos de error Curl

curl_share_setopt
curl_unescape
Funciones de cURL


Descodifica un string codificado de URL

curl_strerror
curl_version
Funciones de cURL
PHP Manual

curl_unescape

(PHP 5 >= 5.5.0)

curl_unescape — Descodifica un string codificado de URL

Descripción

string curl_unescape ( resource $ch , string $str )

Esta función descodifica un string codificado de URL.

Parámetros

ch

El recurso cURL devuelto por curl_init().

str

El string de URL codificado a ser descodificado.

Valores devueltos

Devuelve el string descodificado o o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de curl_escape()

<?php
// Crea un gestor cURL
$ch = curl_init('http://example.com/redirect.php');

// Envia una solicitud HTTP y sigue las redirecciones
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_exec($ch);

// Obtiene la última URL efectiva
$effective_url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
// ie. "http://example.com/show_location.php?loc=M%C3%BCnchen"

// Descodifica la URL
$effective_url_decoded = curl_unescape($ch, $effective_url);
// "http://example.com/show_location.php?loc=München"

// Cierra el gestor
curl_close($ch);
?>

Notas

Nota:

curl_unescape() no descodifica los símbolos de suma (+)en espacios, este es el comportamiento de la función urldecode() .

Ver también

  • curl_escape() - Función URL que codifica el string dado
  • urlencode() - Codifica como URL una cadena
  • urldecode() - Decodifica una cadena cifrada como URL
  • rawurlencode() - Codificar estilo URL de acuerdo al RFC 3986
  • rawurldecode() - Decodificar cadenas codificadas estilo URL

curl_strerror
curl_version
Funciones de cURL


Obtiene la información de la versión de cURL

curl_unescape
CURLFile
Funciones de cURL
PHP Manual

curl_version

(PHP 4 >= 4.0.2, PHP 5)

curl_version — Obtiene la información de la versión de cURL

Descripción

array curl_version ([ int $age = CURLVERSION_NOW ] )

Devuelve información acerca de la versión de cURL.

Parámetros

age

Valores devueltos

Devuelve un array asociativo con los siguientes elementos:

Índice | Valor descriptivo
version_number | -Número de versión cURL 24 bits
version | Número de versión cURL, como string
ssl_version_number | Número de versión OpenSSL 24 bits
ssl_version | Número de versión OpenSSL, como string
libz_version | Número de versión zlib version, como cadena
host | Información acerca del host donde se compiló cURL
age |
features | Un máscara de las constantes CURL_VERSION_XXX
protocols | Un array de los nombres de protocolos soportados por cURL

Ejemplos

Ejemplo #1 ejemplo de curl_version()

Este ejemplo comprueba que características están disponibles en esta versión de cURL usando la máscara 'features' devuelta por curl_version().

<?php
// Obtener array de la versión de curl
$version = curl_version();

// Estos son los campos que se pueden usar para
// comprobar ciertas caracerísticas para esta versión de curl
$bitfields = Array(
            'CURL_VERSION_IPV6',
            'CURL_VERSION_KERBEROS4',
            'CURL_VERSION_SSL',
            'CURL_VERSION_LIBZ'
   );

foreach($bitfields as $feature)
{
    echo $feature . ($version['features'] & constant($feature) ? ' coincide' : ' no coincide');
    echo PHP_EOL;
}
?>

curl_unescape
CURLFile
Funciones de cURL


La clase CURLFile

(PHP 5 >= 5.5.0)

Introducción

CURLFile puede ser utilizada para transferir(upload) un fichero con CURLOPT_POSTFIELDS.

Sinopsis de la Clase

CURLFile {
/* Propiedades */
public $name ;
public $mime ;
public $postname ;
/* Métodos */
public __construct ( string $filename [, string $mimetype [, string $postname ]] )
public string getFilename ( void )
public string getMimeType ( void )
public string getPostFilename ( void )
public void setMimeType ( string $mime )
public void setPostFilename ( string $postname )
public void __wakeup ( void )
}

Propiedades

name

mime

postname

Tabla de contenidos

  • CURLFile::__construct — Crear un objeto CURLFile
  • CURLFile::getFilename — Recupera el nombre de un fichero
  • CURLFile::getMimeType — Recupera el tipo MIME
  • CURLFile::getPostFilename — Recupera el nombre de fichero para POST
  • CURLFile::setMimeType — Configura el tipo MIME
  • CURLFile::setPostFilename — Define el nombre de fichero para POST
  • CURLFile::__wakeup — Gestor de deserialización
curl_version
CURLFile::__construct
cURL


Crear un objeto CURLFile

CURLFile
CURLFile::getFilename
CURLFile
PHP Manual

CURLFile::__construct

curl_file_create

(PHP 5 >= 5.5.0)

CURLFile::__construct -- curl_file_create — Crear un objeto CURLFile

Descripción

Estilo orientado a objetos

public CURLFile::__construct ( string $filename [, string $mimetype [, string $postname ]] )

Estilo por procedimientos

CURLFile curl_file_create ( string $filename [, string $mimetype [, string $postname ]] )

Crea un objeto CURLFile , utilizado para transferir (upload) un fichero con CURLOPT_POSTFIELDS.

Parámetros

filename

Ruta de acceso al fichero a ser transferido.

mimetype

Tipo MIME del fichero.

postname

Nombre del fichero.

Valores devueltos

Devuelve un objeto CURLFile .

Ejemplos

Ejemplo #1 Ejemplo con CURLFile::__construct()

Estilo orientado a objetos

<?php
/* http://example.com/upload.php:
<?php var_dump($_FILES); ?>
*/

// Crea un gestor cURL
$ch = curl_init('http://example.com/upload.php');

// Crea un objeto CURLFile
$cfile = new CURLFile('cats.jpg','image/jpeg','test_name');

// Asigna los datos POST
$data = array('test_file' => $cfile);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

// Ejecuta el gestor
curl_exec($ch);
?>

Estilo por procedimientos

<?php
/* http://example.com/upload.php:
<?php var_dump($_FILES); ?>
*/

// Crea un gestor cURL
$ch = curl_init('http://example.com/upload.php');

// Crea un objeto CURLFile
$cfile = curl_file_create('cats.jpg','image/jpeg','test_name');

// Asigna los datos POST
$data = array('test_file' => $cfile);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

// Ejecuta el gestor
curl_exec($ch);
?>

El resultado del ejemplo sería:

array(1) {
  ["test_file"]=>
  array(5) {
    ["name"]=>
    string(9) "test_name"
    ["type"]=>
    string(10) "image/jpeg"
    ["tmp_name"]=>
    string(14) "/tmp/phpPC9Kbx"
    ["error"]=>
    int(0)
    ["size"]=>
    int(46334)
  }
}

Ver también

  • curl_setopt() - Configura una opción para una transferencia cURL

CURLFile
CURLFile::getFilename
CURLFile


Recupera el nombre de un fichero

CURLFile::__construct
CURLFile::getMimeType
CURLFile
PHP Manual

CURLFile::getFilename

(PHP 5 >= 5.5.0)

CURLFile::getFilename — Recupera el nombre de un fichero

Descripción

public string CURLFile::getFilename ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el nombre de fichero.

CURLFile::__construct
CURLFile::getMimeType
CURLFile


Recupera el tipo MIME

CURLFile::getFilename
CURLFile::getPostFilename
CURLFile
PHP Manual

CURLFile::getMimeType

(PHP 5 >= 5.5.0)

CURLFile::getMimeType — Recupera el tipo MIME

Descripción

public string CURLFile::getMimeType ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el tipo MIME.

CURLFile::getFilename
CURLFile::getPostFilename
CURLFile


Recupera el nombre de fichero para POST

CURLFile::getMimeType
CURLFile::setMimeType
CURLFile
PHP Manual

CURLFile::getPostFilename

(PHP 5 >= 5.5.0)

CURLFile::getPostFilename — Recupera el nombre de fichero para POST

Descripción

public string CURLFile::getPostFilename ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Recupera el nombre de fichero para POST.

CURLFile::getMimeType
CURLFile::setMimeType
CURLFile


Configura el tipo MIME

CURLFile::getPostFilename
CURLFile::setPostFilename
CURLFile
PHP Manual

CURLFile::setMimeType

(PHP 5 >= 5.5.0)

CURLFile::setMimeType — Configura el tipo MIME

Descripción

public void CURLFile::setMimeType ( string $mime )

Parámetros

mime

Valores devueltos

No devuelve ningún valor.

CURLFile::getPostFilename
CURLFile::setPostFilename
CURLFile


Define el nombre de fichero para POST

CURLFile::setMimeType
CURLFile::__wakeup
CURLFile
PHP Manual

CURLFile::setPostFilename

(PHP 5 >= 5.5.0)

CURLFile::setPostFilename — Define el nombre de fichero para POST

Descripción

public void CURLFile::setPostFilename ( string $postname )

Parámetros

postname

Valores devueltos

No devuelve ningún valor.

CURLFile::setMimeType
CURLFile::__wakeup
CURLFile


Gestor de deserialización

CURLFile::setPostFilename
Event
CURLFile
PHP Manual

CURLFile::__wakeup

(PHP 5 >= 5.5.0)

CURLFile::__wakeup — Gestor de deserialización

Descripción

public void CURLFile::__wakeup ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

CURLFile no es serializable.

CURLFile::setPostFilename
Event
CURLFile


Event

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Ejemplos
  • Event flags
  • About event persistence
  • Event callbacks
  • Constructing signal events
  • Event — The Event class
    • Event::add — Makes event pending
    • Event::addSignal — Makes signal event pending
    • Event::addTimer — Makes timer event pending
    • Event::__construct — Constructs Event object
    • Event::del — Makes event non-pending
    • Event::delSignal — Makes signal event non-pending
    • Event::delTimer — Makes timer event non-pending
    • Event::free — Make event non-pending and free resources allocated for this event.
    • Event::getSupportedMethods — Returns array with of the names of the methods supported in this version of Libevent
    • Event::pending — Detects whether event is pending or scheduled
    • Event::set — Re-configures event
    • Event::setPriority — Set event priority
    • Event::setTimer — Re-configures timer event
    • Event::signal — Constructs signal event object
    • Event::timer — Constructs timer event object
  • EventBase — The EventBase class
    • EventBase::__construct — Construye un objeto EventBase
    • EventBase::dispatch — Despacha eventos pendientes
    • EventBase::exit — Detiene el envío de los eventos
    • EventBase::getFeatures — Devuelve una máscara de bits de funcionalidades soportadas
    • EventBase::getMethod — Devuelve el método de evento utilizado
    • EventBase::getTimeOfDayCached — Devuelve el tiempo del evento base actual
    • EventBase::gotExit — Verifica si se ha indicado al bucle del evento de salir
    • EventBase::gotStop — Verifica si se ha indicado al bucle del evento de salir
    • EventBase::loop — Despacha eventos pendientes
    • EventBase::priorityInit — Define el número de prioridades por evento base
    • EventBase::reInit — Reinicializa el evento base (después de un 'fork')
    • EventBase::stop — Solicita a event_base que detenga la emisión de eventos
  • EventBuffer — The EventBuffer class
    • EventBuffer::add — Añade datos al final de un buffer de eventos
    • EventBuffer::addBuffer — Mueve todos los datos de un buffer a la instancia actual de EventBuffer
    • EventBuffer::appendFrom — Mueve el número de bytes especificados desde un buffer fuente, al final del buffer actual
    • EventBuffer::__construct — Construye el objeto EventBuffer
    • EventBuffer::copyout — Copia un número específico de bytes del principio del buffer
    • EventBuffer::drain — Elimina un número específico de bytes del principio del buffer sin copiarlo a ningún lugar
    • EventBuffer::enableLocking — Descripción
    • EventBuffer::expand — Reserva espacio en el buffer
    • EventBuffer::freeze — Evita que las llamadas puedan modificar un buffer de eventos
    • EventBuffer::lock — Bloquea un buffer
    • EventBuffer::prepend — Prepend data to the front of the buffer
    • EventBuffer::prependBuffer — Moves all data from source buffer to the front of current buffer
    • EventBuffer::pullup — Linearizes data within buffer and returns it's contents as a string
    • EventBuffer::read — Read data from an evbuffer and drain the bytes read
    • EventBuffer::readFrom — Read data from a file onto the end of the buffer
    • EventBuffer::readLine — Extracts a line from the front of the buffer
    • EventBuffer::search — Scans the buffer for an occurrence of a string
    • EventBuffer::searchEol — Scans the buffer for an occurrence of an end of line
    • EventBuffer::substr — Substracts a portion of the buffer data
    • EventBuffer::unfreeze — Re-enable calls that modify an event buffer
    • EventBuffer::unlock — Releases lock acquired by EventBuffer::lock
    • EventBuffer::write — Write contents of the buffer to a file or socket
  • EventBufferEvent — The EventBufferEvent class
    • EventBufferEvent::connect — Connect buffer event's file descriptor to given address or UNIX socket
    • EventBufferEvent::connectHost — Connects to a hostname with optionally asyncronous DNS resolving
    • EventBufferEvent::__construct — Constructs EventBufferEvent object
    • EventBufferEvent::createPair — Creates two buffer events connected to each other
    • EventBufferEvent::disable — Disable events read, write, or both on a buffer event.
    • EventBufferEvent::enable — Enable events read, write, or both on a buffer event.
    • EventBufferEvent::free — Free a buffer event
    • EventBufferEvent::getDnsErrorString — Returns string describing the last failed DNS lookup attempt
    • EventBufferEvent::getEnabled — Returns bitmask of events currently enabled on the buffer event
    • EventBufferEvent::getInput — Returns underlying input buffer associated with current buffer event
    • EventBufferEvent::getOutput — Returns underlying output buffer associated with current buffer event
    • EventBufferEvent::read — Read buffer's data
    • EventBufferEvent::readBuffer — Drains the entire contents of the input buffer and places them into buf
    • EventBufferEvent::setCallbacks — Assigns read, write and event(status) callbacks
    • EventBufferEvent::setPriority — Assign a priority to a bufferevent
    • EventBufferEvent::setTimeouts — Set the read and write timeout for a buffer event
    • EventBufferEvent::setWatermark — Adjusts read and/or write watermarks
    • EventBufferEvent::sslError — Returns most recent OpenSSL error reported on the buffer event
    • EventBufferEvent::sslFilter — Crea un nuevo evento búfer SSL búfer para enviar sus datos a otro evento búfer
    • EventBufferEvent::sslRenegotiate — Tells a bufferevent to begin SSL renegotiation.
    • EventBufferEvent::sslSocket — Creates a new SSL buffer event to send its data over an SSL on a socket
    • EventBufferEvent::write — Adds data to a buffer event's output buffer
    • EventBufferEvent::writeBuffer — Adds contents of the entire buffer to a buffer event's output buffer
  • About buffer event callbacks
  • EventConfig — The EventConfig class
    • EventConfig::avoidMethod — Tells libevent to avoid specific event method
    • EventConfig::__construct — Constructs EventConfig object
    • EventConfig::requireFeatures — Enters a required event method feature that the application demands
    • EventConfig::setMaxDispatchInterval — Prevents priority inversion
  • EventDnsBase — The EventDnsBase class
    • EventDnsBase::addNameserverIp — Adds a nameserver to the DNS base
    • EventDnsBase::addSearch — Adds a domain to the list of search domains
    • EventDnsBase::clearSearch — Removes all current search suffixes
    • EventDnsBase::__construct — Constructs EventDnsBase object
    • EventDnsBase::countNameservers — Gets the number of configured nameservers
    • EventDnsBase::loadHosts — Loads a hosts file (in the same format as /etc/hosts) from hosts file
    • EventDnsBase::parseResolvConf — Scans the resolv.conf-formatted file
    • EventDnsBase::setOption — Set the value of a configuration option
    • EventDnsBase::setSearchNdots — Set the 'ndots' parameter for searches
  • EventHttp — The EventHttp class
    • EventHttp::accept — Makes an HTTP server accept connections on the specified socket stream or resource
    • EventHttp::addServerAlias — Adds a server alias to the HTTP server object
    • EventHttp::bind — Binds an HTTP server on the specified address and port
    • EventHttp::__construct — Constructs EventHttp object(the HTTP server)
    • EventHttp::removeServerAlias — Removes server alias
    • EventHttp::setAllowedMethods — Sets the what HTTP methods are supported in requests accepted by this server, and passed to user callbacks
    • EventHttp::setCallback — Sets a callback for specified URI
    • EventHttp::setDefaultCallback — Sets default callback to handle requests that are not caught by specific callbacks
    • EventHttp::setMaxBodySize — Sets maximum request body size
    • EventHttp::setMaxHeadersSize — Sets maximum HTTP header size
    • EventHttp::setTimeout — Sets the timeout for an HTTP request
  • EventHttpConnection — The EventHttpConnection class
    • EventHttpConnection::__construct — Constructs EventHttpConnection object
    • EventHttpConnection::getBase — Returns event base associated with the connection
    • EventHttpConnection::getPeer — Gets the remote address and port associated with the connection
    • EventHttpConnection::makeRequest — Makes an HTTP request over the specified connection
    • EventHttpConnection::setCloseCallback — Set callback for connection close
    • EventHttpConnection::setLocalAddress — Sets the IP address from which HTTP connections are made
    • EventHttpConnection::setLocalPort — Sets the local port from which connections are made
    • EventHttpConnection::setMaxBodySize — Sets maximum body size for the connection
    • EventHttpConnection::setMaxHeadersSize — Sets maximum header size
    • EventHttpConnection::setRetries — Sets the retry limit for the connection
    • EventHttpConnection::setTimeout — Sets the timeout for the connection
  • EventHttpRequest — The EventHttpRequest class
    • EventHttpRequest::addHeader — Adds an HTTP header to the headers of the request
    • EventHttpRequest::cancel — Cancels a pending HTTP request
    • EventHttpRequest::clearHeaders — Removes all output headers from the header list of the request
    • EventHttpRequest::closeConnection — Closes associated HTTP connection
    • EventHttpRequest::__construct — Constructs EventHttpRequest object
    • EventHttpRequest::findHeader — Finds the value belonging a header
    • EventHttpRequest::free — Frees the object and removes associated events
    • EventHttpRequest::getBufferEvent — Returns EventBufferEvent object
    • EventHttpRequest::getCommand — Returns the request command(method)
    • EventHttpRequest::getConnection — Returns EventHttpConnection object
    • EventHttpRequest::getHost — Returns the request host
    • EventHttpRequest::getInputBuffer — Returns the input buffer
    • EventHttpRequest::getInputHeaders — Returns associative array of the input headers
    • EventHttpRequest::getOutputBuffer — Returns the output buffer of the request
    • EventHttpRequest::getOutputHeaders — Returns associative array of the input headers
    • EventHttpRequest::getResponseCode — Returns the the response code
    • EventHttpRequest::getUri — Returns the request URI
    • EventHttpRequest::removeHeader — Removes an HTTP header from the headers of the request
    • EventHttpRequest::sendError — Send an HTML error message to the client
    • EventHttpRequest::sendReply — Send an HTML reply to the client
    • EventHttpRequest::sendReplyChunk — Send another data chunk as part of an ongoing chunked reply
    • EventHttpRequest::sendReplyEnd — Complete a chunked reply, freeing the request as appropriate
    • EventHttpRequest::sendReplyStart — Initiate a chunked reply
  • EventListener — The EventListener class
    • EventListener::__construct — Creates new connection listener associated with an event base
    • EventListener::disable — Disables an event connect listener object
    • EventListener::enable — Enables an event connect listener object
    • EventListener::getBase — Returns event base associated with the event listener
    • EventListener::getSocketName — Retreives the current address to which the listener's socket is bound.
    • EventListener::setCallback — The setCallback purpose
    • EventListener::setErrorCallback — Set event listener's error callback
  • EventSslContext — The EventSslContext class
    • EventSslContext::__construct — Constructs an OpenSSL context for use with Event classes
  • EventUtil — The EventUtil class
    • EventUtil::__construct — The abstract constructor
    • EventUtil::getLastSocketErrno — Returns the most recent socket error number
    • EventUtil::getLastSocketError — Returns the most recent socket error
    • EventUtil::getSocketFd — Returns numeric file descriptor of a socket, or stream
    • EventUtil::getSocketName — Retreives the current address to which the socket is bound.
    • EventUtil::setSocketOption — Sets socket options
    • EventUtil::sslRandPoll — Generates entropy by means of OpenSSL's RAND_poll()
CURLFile::__wakeup
Introducción
Otros servicios


Introducción

This is an extension to efficiently schedule I/O, time and signal based events using the best I/O notification mechanism available for specific platform. This is a port of libevent to the PHP infrastructure.

Nota: Esta extensión no está disponible en plataformas Windows.

Version 1.0.0 introduces new object-oriented API (breaking backwards compatibility), and support of libevent 2+ including HTTP, DNS, OpenSSL and the event listener.

Nota:

Note, event-1.0.0 and greater is not compatible with previous versions.

Event
Instalación/Configuración
Event


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Event


Requerimientos

This extension requires » libevent library. Most modern distributions provide packages for libevent.

OpenSSL features require » OpenSSL library.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/event .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Ejemplos

Ejemplo #1 Simple HTTP client

<?php
// Read callback
function readcb($bev, $base) {
    //$input = $bev->input; //$bev->getInput();

    //$pos = $input->search("TTP");
    $pos = $bev->input->search("TTP");

    while (($n = $bev->input->remove($buf, 1024)) > 0) {
        echo $buf;
    }
}

// Event callback
function eventcb($bev, $events, $base) {
    if ($events & EventBufferEvent::CONNECTED) {
        echo "Connected.\n";
    } elseif ($events & (EventBufferEvent::ERROR | EventBufferEvent::EOF)) {
        if ($events & EventBufferEvent::ERROR) {
            echo "DNS error: ", $bev->getDnsErrorString(), PHP_EOL;
        }

        echo "Closing\n";
        $base->exit();
        exit("Done\n");
    }
}

if ($argc != 3) {
    echo <<<EOS
Trivial HTTP 0.x client
Syntax: php {$argv[0]} [hostname] [resource]
Example: php {$argv[0]} www.google.com /

EOS;
    exit();
}

$base = new EventBase();

$dns_base = new EventDnsBase($base, TRUE); // We'll use async DNS resolving
if (!$dns_base) {
    exit("Failed to init DNS Base\n");
}

$bev = new EventBufferEvent($base, /* use internal socket */ NULL,
    EventBufferEvent::OPT_CLOSE_ON_FREE | EventBufferEvent::OPT_DEFER_CALLBACKS,
    "readcb", /* writecb */ NULL, "eventcb", $base
);
if (!$bev) {
    exit("Failed creating bufferevent socket\n");
}

//$bev->setCallbacks("readcb", /* writecb */ NULL, "eventcb", $base);
$bev->enable(Event::READ | Event::WRITE);

$output = $bev->output; //$bev->getOutput();
if (!$output->add(
    "GET {$argv[2]} HTTP/1.0\r\n".
    "Host: {$argv[1]}\r\n".
    "Connection: Close\r\n\r\n"
)) {
    exit("Failed adding request to output buffer\n");
}

if (!$bev->connectHost($dns_base, $argv[1], 80, EventUtil::AF_UNSPEC)) {
    exit("Can't connect to host {$argv[1]}\n");
}

$base->dispatch();
?>

El resultado del ejemplo sería algo similar a:

Connected.
HTTP/1.1 301 Moved Permanently
Date: Fri, 01 Mar 2013 18:47:48 GMT
Location: http://www.google.co.uk/
Content-Type: text/html; charset=UTF-8
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 221
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Age: 133438
Expires: Sat, 30 Mar 2013 05:39:28 GMT
Connection: close

<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.co.uk/">here</A>.
</BODY></HTML>
Closing
Done

Ejemplo #2 HTTP client using asynchronous DNS resolver

<?php
/*
 * 1. Connect to 127.0.0.1 at port 80
 * by means of EventBufferEvent::connect().
 *
 * 2. Request /index.cphp via HTTP/1.0
 * using the output buffer.
 *
 * 3. Asyncronously read the response and print it to stdout.
 */

// Read callback
function readcb($bev, $base) {
    $input = $bev->getInput();

    while (($n = $input->remove($buf, 1024)) > 0) {
        echo $buf;
    }
}

// Event callback
function eventcb($bev, $events, $base) {
    if ($events & EventBufferEvent::CONNECTED) {
        echo "Connected.\n";
    } elseif ($events & (EventBufferEvent::ERROR | EventBufferEvent::EOF)) {
        if ($events & EventBufferEvent::ERROR) {
            echo "DNS error: ", $bev->getDnsErrorString(), PHP_EOL;
        }

        echo "Closing\n";
        $base->exit();
        exit("Done\n");
    }
}

$base = new EventBase();

echo "step 1\n";
$bev = new EventBufferEvent($base, /* use internal socket */ NULL,
    EventBufferEvent::OPT_CLOSE_ON_FREE | EventBufferEvent::OPT_DEFER_CALLBACKS);
if (!$bev) {
    exit("Failed creating bufferevent socket\n");
}

echo "step 2\n";
$bev->setCallbacks("readcb", /* writecb */ NULL, "eventcb", $base);
$bev->enable(Event::READ | Event::WRITE);

echo "step 3\n";
// Send request
$output = $bev->getOutput();
if (!$output->add(
    "GET /index.cphp HTTP/1.0\r\n".
    "Connection: Close\r\n\r\n"
)) {
    exit("Failed adding request to output buffer\n");
}

/* Connect to the host syncronously.
We know the IP, and don't need to resolve DNS. */
if (!$bev->connect("127.0.0.1:80")) {
    exit("Can't connect to host\n");
}

// Dispatch pending events
$base->dispatch();
?>

Ejemplo #3 Echo server

<?php
/*
 * Simple echo server based on libevent's connection listener.
 *
 * Usage:
 * 1) In one terminal window run:
 *
 * $ php listener.php 9881
 *
 * 2) In another terminal window open up connection, e.g.:
 *
 * $ nc 127.0.0.1 9881
 *
 * 3) start typing. The server should repeat the input.
 */

class MyListenerConnection {
    private $bev, $base;

    public function __destruct() {
        $this->bev->free();
    }

    public function __construct($base, $fd) {
        $this->base = $base;

        $this->bev = new EventBufferEvent($base, $fd, EventBufferEvent::OPT_CLOSE_ON_FREE);

        $this->bev->setCallbacks(array($this, "echoReadCallback"), NULL,
            array($this, "echoEventCallback"), NULL);

        if (!$this->bev->enable(Event::READ)) {
            echo "Failed to enable READ\n";
            return;
        }
    }

    public function echoReadCallback($bev, $ctx) {
        // Copy all the data from the input buffer to the output buffer

        // Variant #1
        $bev->output->addBuffer($bev->input);

        /* Variant #2 */
        /*
        $input    = $bev->getInput();
        $output = $bev->getOutput();
        $output->addBuffer($input);
        */
    }

    public function echoEventCallback($bev, $events, $ctx) {
        if ($events & EventBufferEvent::ERROR) {
            echo "Error from bufferevent\n";
        }

        if ($events & (EventBufferEvent::EOF | EventBufferEvent::ERROR)) {
            //$bev->free();
            $this->__destruct();
        }
    }
}

class MyListener {
    public $base,
        $listener,
        $socket;
    private $conn = array();

    public function __destruct() {
        foreach ($this->conn as &$c) $c = NULL;
    }

    public function __construct($port) {
        $this->base = new EventBase();
        if (!$this->base) {
            echo "Couldn't open event base";
            exit(1);
        }

        // Variant #1
        /*
        $this->socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
        if (!socket_bind($this->socket, '0.0.0.0', $port)) {
            echo "Unable to bind socket\n";
            exit(1);
        }
        $this->listener = new EventListener($this->base,
            array($this, "acceptConnCallback"), $this->base,
            EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE,
            -1, $this->socket);
         */

        // Variant #2
         $this->listener = new EventListener($this->base,
             array($this, "acceptConnCallback"), $this->base,
             EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE, -1,
             "0.0.0.0:$port");

        if (!$this->listener) {
            echo "Couldn't create listener";
            exit(1);
        }

        $this->listener->setErrorCallback(array($this, "accept_error_cb"));
    }

    public function dispatch() {
        $this->base->dispatch();
    }

    // This callback is invoked when there is data to read on $bev
    public function acceptConnCallback($listener, $fd, $address, $ctx) {
        // We got a new connection! Set up a bufferevent for it. */
        $base = $this->base;
        $this->conn[] = new MyListenerConnection($base, $fd);
    }

    public function accept_error_cb($listener, $ctx) {
        $base = $this->base;

        fprintf(STDERR, "Got an error %d (%s) on the listener. "
            ."Shutting down.\n",
            EventUtil::getLastSocketErrno(),
            EventUtil::getLastSocketError());

        $base->exit(NULL);
    }
}

$port = 9808;

if ($argc > 1) {
    $port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
    exit("Invalid port");
}

$l = new MyListener($port);
$l->dispatch();
?>

Ejemplo #4 SSL echo server

<?php
/*
 * SSL echo server
 *
 * To test:
 * 1) Run:
 * $ php examples/ssl-echo-server/server.php 9998
 *
 * 2) in another terminal window run:
 * $ socat - SSL:127.0.0.1:9998,verify=1,cafile=examples/ssl-echo-server/cert.pem
 */

class MySslEchoServer {
    public $port,
        $base,
        $bev,
        $listener,
        $ctx;

    function __construct ($port, $host = "127.0.0.1") {
        $this->port = $port;
        $this->ctx = $this->init_ssl();
        if (!$this->ctx) {
            exit("Failed creating SSL context\n");
        }

        $this->base = new EventBase();
        if (!$this->base) {
            exit("Couldn't open event base\n");
        }

        $this->listener = new EventListener($this->base,
            array($this, "ssl_accept_cb"), $this->ctx,
            EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE,
            -1, "$host:$port");
        if (!$this->listener) {
            exit("Couldn't create listener\n");
        }

        $this->listener->setErrorCallback(array($this, "accept_error_cb"));
    }
    function dispatch() {
        $this->base->dispatch();
    }

    // This callback is invoked when there is data to read on $bev.
    function ssl_read_cb($bev, $ctx) {
        $in = $bev->input; //$bev->getInput();

        printf("Received %zu bytes\n", $in->length);
        printf("----- data ----\n");
        printf("%ld:\t%s\n", (int) $in->length, $in->pullup(-1));

        $bev->writeBuffer($in);
    }

    // This callback is invoked when some even occurs on the event listener,
    // e.g. connection closed, or an error occured
    function ssl_event_cb($bev, $events, $ctx) {
        if ($events & EventBufferEvent::ERROR) {
            // Fetch errors from the SSL error stack
            while ($err = $bev->sslError()) {
                fprintf(STDERR, "Bufferevent error %s.\n", $err);
            }
        }

        if ($events & (EventBufferEvent::EOF | EventBufferEvent::ERROR)) {
            $bev->free();
        }
    }

    // This callback is invoked when a client accepts new connection
    function ssl_accept_cb($listener, $fd, $address, $ctx) {
        // We got a new connection! Set up a bufferevent for it.
        $this->bev = EventBufferEvent::sslSocket($this->base, $fd, $this->ctx,
            EventBufferEvent::SSL_ACCEPTING, EventBufferEvent::OPT_CLOSE_ON_FREE);

        if (!$this->bev) {
            echo "Failed creating ssl buffer\n";
            $this->base->exit(NULL);
            exit(1);
        }

        $this->bev->enable(Event::READ);
        $this->bev->setCallbacks(array($this, "ssl_read_cb"), NULL,
            array($this, "ssl_event_cb"), NULL);
    }

    // This callback is invoked when we failed to setup new connection for a client
    function accept_error_cb($listener, $ctx) {
        fprintf(STDERR, "Got an error %d (%s) on the listener. "
            ."Shutting down.\n",
            EventUtil::getLastSocketErrno(),
            EventUtil::getLastSocketError());

        $this->base->exit(NULL);
    }

    // Initialize SSL structures, create an EventSslContext
    // Optionally create self-signed certificates
    function init_ssl() {
        // We *must* have entropy. Otherwise there's no point to crypto.
        if (!EventUtil::sslRandPoll()) {
            exit("EventUtil::sslRandPoll failed\n");
        }

        $local_cert = __DIR__."/cert.pem";
        $local_pk   = __DIR__."/privkey.pem";

        if (!file_exists($local_cert) || !file_exists($local_pk)) {
            echo "Couldn't read $local_cert or $local_pk file.  To generate a key\n",
                "and self-signed certificate, run:\n",
                "  openssl genrsa -out $local_pk 2048\n",
                "  openssl req -new -key $local_pk -out cert.req\n",
                "  openssl x509 -req -days 365 -in cert.req -signkey $local_pk -out $local_cert\n";

            return FALSE;
        }

        $ctx = new EventSslContext(EventSslContext::SSLv3_SERVER_METHOD, array (
             EventSslContext::OPT_LOCAL_CERT  => $local_cert,
             EventSslContext::OPT_LOCAL_PK    => $local_pk,
             //EventSslContext::OPT_PASSPHRASE  => "echo server",
             EventSslContext::OPT_VERIFY_PEER => true,
             EventSslContext::OPT_ALLOW_SELF_SIGNED => false,
        ));

        return $ctx;
    }
}

// Allow to override the port
$port = 9999;
if ($argc > 1) {
    $port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
    exit("Invalid port\n");
}

$l = new MySslEchoServer($port);
$l->dispatch();
?>

Ejemplo #5 Signal handler

<?php
/*
Launch it in a terminal window:

$ php examples/signal.php

In another terminal window find out the pid and send SIGTERM, e.g.:

$ ps aux | grep examp
ruslan    3976  0.2  0.0 139896 11256 pts/1    S+   10:25   0:00 php examples/signal.php
ruslan    3978  0.0  0.0   9572   864 pts/2    S+   10:26   0:00 grep --color=auto examp
$ kill -TERM 3976

At the first terminal window you should catch the following:

Caught signal 15
*/
class MyEventSignal {
    private $base;

    function __construct($base) {
        $this->base = $base;
    }

    function eventSighandler($no, $c) {
        echo "Caught signal $no\n";
        event_base_loopexit($c->base);
    }
}

$base = event_base_new();
$c    = new MyEventSignal($base);
$no   = SIGTERM;
$ev   = evsignal_new($base, $no, array($c,'eventSighandler'), $c);

evsignal_add($ev);

event_base_loop($base);
?>

Ejemplo #6 Use libevent's loop to process requests of `eio' extension

<?php
// Callback for eio_nop()
function my_nop_cb($d, $r) {
    echo "step 6\n";
}

$dir = "/tmp/abc-eio-temp";
if (file_exists($dir)) {
    rmdir($dir);
}

echo "step 1\n";

$base = new EventBase();

echo "step 2\n";

eio_init();

eio_mkdir($dir, 0750, EIO_PRI_DEFAULT, "my_nop_cb");

$event = new Event($base, eio_get_event_stream(),
    Event::READ | Event::PERSIST, function ($fd, $events, $base) {
    echo "step 5\n";

    while (eio_nreqs()) {
        eio_poll();
    }

    $base->stop();
}, $base);

echo "step 3\n";

$event->add();

echo "step 4\n";

$base->dispatch();

echo "Done\n";
?>

Ejemplo #7 Miscellaneous

<?php
/* {{{ Config & supported stuff */
echo "Supported methods:\n";
foreach (Event::getSupportedMethods() as $m) {
    echo $m, PHP_EOL;
}

// Avoiding "select" method
$cfg = new EventConfig();
if ($cfg->avoidMethod("select")) {
    echo "`select' method avoided\n";
}

// Create event_base associated with the config
$base = new EventBase($cfg);
echo "Event method used: ", $base->getMethod(), PHP_EOL;

echo "Features:\n";
$features = $base->getFeatures();
($features & EventConfig::FEATURE_ET) and print("ET - edge-triggered IO\n");
($features & EventConfig::FEATURE_O1) and print("O1 - O(1) operation for adding/deletting events\n");
($features & EventConfig::FEATURE_FDS) and print("FDS - arbitrary file descriptor types, and not just sockets\n");

// Require FDS feature
if ($cfg->requireFeatures(EventConfig::FEATURE_FDS)) {
    echo "FDS feature is now requried\n";

    $base = new EventBase($cfg);
    ($base->getFeatures() & EventConfig::FEATURE_FDS)
        and print("FDS - arbitrary file descriptor types, and not just sockets\n");
}
/* }}} */

/* {{{ Base */
$base = new EventBase();
$event = new Event($base, STDIN, Event::READ | Event::PERSIST, function ($fd, $events, $arg) {
    static $max_iterations = 0;

    if (++$max_iterations >= 5) {
        /* exit after 5 iterations with timeout of 2.33 seconds */
        echo "Stopping...\n";
        $arg[0]->exit(2.33);
    }

    echo fgets($fd);
}, array (&$base));

$event->add();
$base->loop();
/* Base }}} */
?>

Ejemplo #8 Simple HTTP server

<?php
/*
 * Simple HTTP server.
 *
 * To test it:
 * 1) Run it on a port of your choice, e.g.:
 * $ php examples/http.php 8010
 * 2) In another terminal connect to some address on this port
 * and make GET or POST request(others are turned off here), e.g.:
 * $ nc -t 127.0.0.1 8010
 * POST /about HTTP/1.0
 * Content-Type: text/plain
 * Content-Length: 4
 * Connection: close
 * (press Enter)
 *
 * It will output
 * a=12
 * HTTP/1.0 200 OK
 * Content-Type: text/html; charset=ISO-8859-1
 * Connection: close
 *
 * $ nc -t 127.0.0.1 8010
 * GET /dump HTTP/1.0
 * Content-Type: text/plain
 * Content-Encoding: UTF-8
 * Connection: close
 * (press Enter)
 *
 * It will output:
 * HTTP/1.0 200 OK
 * Content-Type: text/html; charset=ISO-8859-1
 * Connection: close
 * (press Enter)
 *
 * $ nc -t 127.0.0.1 8010
 * GET /unknown HTTP/1.0
 * Connection: close
 *
 * It will output:
 * HTTP/1.0 200 OK
 * Content-Type: text/html; charset=ISO-8859-1
 * Connection: close
 *
 * 3) See what the server outputs on the previous terminal window.
 */

function _http_dump($req, $data) {
    static $counter      = 0;
    static $max_requests = 2;

    if (++$counter >= $max_requests)  {
        echo "Counter reached max requests $max_requests. Exiting\n";
        exit();
    }

    echo __METHOD__, " called\n";
    echo "request:"; var_dump($req);
    echo "data:"; var_dump($data);

    echo "\n===== DUMP =====\n";
    echo "Command:", $req->getCommand(), PHP_EOL;
    echo "URI:", $req->getUri(), PHP_EOL;
    echo "Input headers:"; var_dump($req->getInputHeaders());
    echo "Output headers:"; var_dump($req->getOutputHeaders());

    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";

    echo "\n >> Reading input buffer ...\n";
    $buf = $req->getInputBuffer();
    while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
        echo $s, PHP_EOL;
    }
    echo "No more data in the buffer\n";
}

function _http_about($req) {
    echo __METHOD__, PHP_EOL;
    echo "URI: ", $req->getUri(), PHP_EOL;
    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";
}

function _http_default($req, $data) {
    echo __METHOD__, PHP_EOL;
    echo "URI: ", $req->getUri(), PHP_EOL;
    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";
}

$port = 8010;
if ($argc > 1) {
    $port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
    exit("Invalid port");
}

$base = new EventBase();
$http = new EventHttp($base);
$http->setAllowedMethods(EventHttpRequest::CMD_GET | EventHttpRequest::CMD_POST);

$http->setCallback("/dump", "_http_dump", array(4, 8));
$http->setCallback("/about", "_http_about");
$http->setDefaultCallback("_http_default", "custom data value");

$http->bind("0.0.0.0", 8010);
$base->loop();
?>

El resultado del ejemplo sería algo similar a:

a=12
HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close

HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close
(press Enter)

HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close

Ejemplo #9 EventHttpConnection::makeRequest() example

<?php
function _request_handler($req, $base) {
    echo __FUNCTION__, PHP_EOL;

    if (is_null($req)) {
        echo "Timed out\n";
    } else {
        $response_code = $req->getResponseCode();

        if ($response_code == 0) {
            echo "Connection refused\n";
        } elseif ($response_code != 200) {
            echo "Unexpected response: $response_code\n";
        } else {
            echo "Success: $response_code\n";
            $buf = $req->getInputBuffer();
            echo "Body:\n";
            while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
                echo $s, PHP_EOL;
            }
        }
    }

    $base->exit(NULL);
}

$address = "127.0.0.1";
$port = 80;

$base = new EventBase();
$conn = new EventHttpConnection($base, NULL, $address, $port);
$conn->setTimeout(5);
$req = new EventHttpRequest("_request_handler", $base);

$req->addHeader("Host", $address, EventHttpRequest::OUTPUT_HEADER);
$req->addHeader("Content-Length", "0", EventHttpRequest::OUTPUT_HEADER);
$conn->makeRequest($req, EventHttpRequest::CMD_GET, "/index.cphp");

$base->loop();
?>

El resultado del ejemplo sería algo similar a:

_request_handler
Success: 200
Body:
PHP, date:
2013-03-13T20:27:52+05:00

Ejemplo #10 Connection listener based on a UNIX domain socket

<?php
/*
 * Simple echo server based on libevent's connection listener.
 *
 * Usage:
 * 1) In one terminal window run:
 *
 * $ php unix-domain-listener.php [path-to-socket]
 *
 * 2) In another terminal window open up connection
 * to the socket, e.g.:
 *
 * $ socat - GOPEN:/tmp/1.sock
 *
 * 3) Start typing. The server should repeat the input.
 */

class MyListenerConnection {
    private $bev, $base;

    public function __destruct() {
        if ($this->bev) {
            $this->bev->free();
        }
    }

    public function __construct($base, $fd) {
        $this->base = $base;

        $this->bev = new EventBufferEvent($base, $fd, EventBufferEvent::OPT_CLOSE_ON_FREE);

        $this->bev->setCallbacks(array($this, "echoReadCallback"), NULL,
            array($this, "echoEventCallback"), NULL);

        if (!$this->bev->enable(Event::READ)) {
            echo "Failed to enable READ\n";
            return;
        }
    }

    public function echoReadCallback($bev, $ctx) {
        // Copy all the data from the input buffer to the output buffer
        $bev->output->addBuffer($bev->input);
    }

    public function echoEventCallback($bev, $events, $ctx) {
        if ($events & EventBufferEvent::ERROR) {
            echo "Error from bufferevent\n";
        }

        if ($events & (EventBufferEvent::EOF | EventBufferEvent::ERROR)) {
            $bev->free();
            $bev = NULL;
        }
    }
}

class MyListener {
    public $base,
        $listener,
        $socket;
    private $conn = array();

    public function __destruct() {
        foreach ($this->conn as &$c) $c = NULL;
    }

    public function __construct($sock_path) {
        $this->base = new EventBase();
        if (!$this->base) {
            echo "Couldn't open event base";
            exit(1);
        }

        if (file_exists($sock_path)) {
            unlink($sock_path);
        }

         $this->listener = new EventListener($this->base,
             array($this, "acceptConnCallback"), $this->base,
             EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE, -1,
             "unix:$sock_path");

        if (!$this->listener) {
            trigger_error("Couldn't create listener", E_USER_ERROR);
        }

        $this->listener->setErrorCallback(array($this, "accept_error_cb"));
    }

    public function dispatch() {
        $this->base->dispatch();
    }

    // This callback is invoked when there is data to read on $bev
    public function acceptConnCallback($listener, $fd, $address, $ctx) {
        // We got a new connection! Set up a bufferevent for it. */
        $base = $this->base;
        $this->conn[] = new MyListenerConnection($base, $fd);
    }

    public function accept_error_cb($listener, $ctx) {
        $base = $this->base;

        fprintf(STDERR, "Got an error %d (%s) on the listener. "
            ."Shutting down.\n",
            EventUtil::getLastSocketErrno(),
            EventUtil::getLastSocketError());

        $base->exit(NULL);
    }
}

if ($argc <= 1) {
    exit("Socket path is not provided\n");
}
$sock_path = $argv[1];

$l = new MyListener($sock_path);
$l->dispatch();
?>

Ejemplo #11 Simple SMTP server

<?php
 /*
 * Author: Andrew Rose <hello at andrewrose dot co dot uk>
 *
 * Usage:
 * 1) Prepare cert.pem certificate and privkey.pem private key files.
 * 2) Launch the server script
 * 3) Open TLS connection, e.g.:
 *      $ openssl s_client -connect localhost:25 -starttls smtp -crlf
 * 4) Start testing the commands listed in `cmd` method below.
 */

class Handler {
    public $domainName = FALSE;
    public $connections = [];
    public $buffers = [];
    public $maxRead = 256000;

    public function __construct() {
        $this->ctx = new EventSslContext(EventSslContext::SSLv3_SERVER_METHOD, [
            EventSslContext::OPT_LOCAL_CERT  => 'cert.pem',
            EventSslContext::OPT_LOCAL_PK    => 'privkey.pem',
            //EventSslContext::OPT_PASSPHRASE  => '',
            EventSslContext::OPT_VERIFY_PEER => false, // change to true with authentic cert
            EventSslContext::OPT_ALLOW_SELF_SIGNED => true // change to false with authentic cert
        ]);

        $this->base = new EventBase();
        if (!$this->base) {
            exit("Couldn't open event base\n");
        }

        if (!$this->listener = new EventListener($this->base,
            [$this, 'ev_accept'],
            $this->ctx,
            EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE,
            -1,
            '0.0.0.0:25'))
        {
            exit("Couldn't create listener\n");
        }

        $this->listener->setErrorCallback([$this, 'ev_error']);
        $this->base->dispatch();
    }

    public function ev_accept($listener, $fd, $address, $ctx) {
        static $id = 0;
        $id += 1;

        $this->connections[$id]['clientData'] = '';
        $this->connections[$id]['cnx'] = new EventBufferEvent($this->base, $fd,
            EventBufferEvent::OPT_CLOSE_ON_FREE);

        if (!$this->connections[$id]['cnx']) {
            echo "Failed creating buffer\n";
            $this->base->exit(NULL);
            exit(1);
        }

        $this->connections[$id]['cnx']->setCallbacks([$this, "ev_read"], NULL,
            [$this, 'ev_error'], $id);
        $this->connections[$id]['cnx']->enable(Event::READ | Event::WRITE);

        $this->ev_write($id, '220 '.$this->domainName." wazzzap?\r\n");
    }

    function ev_error($listener, $ctx) {
        $errno = EventUtil::getLastSocketErrno();

        fprintf(STDERR, "Got an error %d (%s) on the listener. Shutting down.\n",
            $errno, EventUtil::getLastSocketError());

        if ($errno != 0) {
            $this->base->exit(NULL);
            exit();
        }
    }

    public function ev_close($id) {
        $this->connections[$id]['cnx']->disable(Event::READ | Event::WRITE);
        unset($this->connections[$id]);
    }

    protected function ev_write($id, $string) {
        echo 'S('.$id.'): '.$string;
        $this->connections[$id]['cnx']->write($string);
    }

    public function ev_read($buffer, $id) {
        while($buffer->input->length > 0) {
            $this->connections[$id]['clientData'] .= $buffer->input->read($this->maxRead);
            $clientDataLen = strlen($this->connections[$id]['clientData']);

            if($this->connections[$id]['clientData'][$clientDataLen-1] == "\n"
                && $this->connections[$id]['clientData'][$clientDataLen-2] == "\r")
            {
                // remove the trailing \r\n
                $line = substr($this->connections[$id]['clientData'], 0,
                    strlen($this->connections[$id]['clientData']) - 2);

                $this->connections[$id]['clientData'] = '';
                $this->cmd($buffer, $id, $line);
            }
        }
    }

    protected function cmd($buffer, $id, $line) {
        switch ($line) {
            case strncmp('EHLO ', $line, 4):
                $this->ev_write($id, "250-STARTTLS\r\n");
                $this->ev_write($id, "250 OK ehlo\r\n");
                break;

            case strncmp('HELO ', $line, 4):
                $this->ev_write($id, "250-STARTTLS\r\n");
                $this->ev_write($id, "250 OK helo\r\n");
                break;

            case strncmp('QUIT', $line, 3):
                $this->ev_write($id, "250 OK quit\r\n");
                $this->ev_close($id);
                break;

            case strncmp('STARTTLS', $line, 3):
                $this->ev_write($id, "220 Ready to start TLS\r\n");
                $this->connections[$id]['cnx'] = $this->connections[$id]['cnx']->sslFilter($this->base,
                    $this->connections[$id]['cnx'], $this->ctx,
                    EventBufferEvent::SSL_ACCEPTING,
                    EventBufferEvent::OPT_CLOSE_ON_FREE);
                $this->connections[$id]['cnx']->setCallbacks([$this, "ev_read"], NULL, [$this, 'ev_error'], $id);
                $this->connections[$id]['cnx']->enable(Event::READ | Event::WRITE);
                break;

            default:
                echo 'unknown command: '.$line."\n";
                break;
        }
    }
}

new Handler();
Tipos de recursos
Event flags
Event


Event flags

Event::READ This flag indicates an event that becomes active when the provided file descriptor(usually a stream resource, or socket) is ready for reading.

Event::WRITE flag indicates an event that becomes active when the provided file descriptor(usually a stream resource, or socket) is ready for reading.

Event::SIGNAL used to implement signal detection. See "Constructing signal events" below.

Event::TIMEOUT indicates an event that becomes active after a timeout elapses. The Event::TIMEOUT flag is ignored when constructing an event: one can either set a timeout when event is added , or not. It is set in the $what argument to the callback function when a timeout has occurred.

See also » Fast portable non-blocking network programming with Libevent, Working with events, Event flags

Ejemplos
About event persistence
Event


About event persistence

By default, whenever a pending event becomes active (because its file descriptor is ready to read or write, or because its timeout expires), it becomes non-pending right before its callback is executed. Thus, to make the event pending again one may call Event::add() on it again from inside the callback function.

If the Event::PERSIST flag is set on an event, however, the event is persistent . This means that event remains pending even when its callback is activated. Event::del() method can be called to make it non-pending.

The timeout on a persistent event resets whenever the event's callback runs. Thus, if one has an event with flags Event::READ | Event::PERSIST and a timeout of five seconds, the event will become active:

  1. Whenever the socket or file descriptor is ready for reading.

  2. Whenever five seconds have passed since the event last became active.

See also » Fast portable non-blocking network programming with Libevent, About Event Persistence

Event flags
Event callbacks
Event


Event callbacks

If a callback is registered for an event, it will be called when the event becomes active. To associate a callback with event one can pass a callable to whether Event::__construct() , or Event::set() , or one of the factory methods like Event::timer() .

An event callback should match the following prototype:

void callback ([ mixed $fd = NULL [, int $what [, mixed $arg = NULL ]]] )

fd

The file descriptor, stream resource or socket associated with the event. For signal event fd is equal to the signal number.

what

Bit mask of all events triggered.

arg

User custom data.

Event::timer() expects the callback to match the following prototype:

void callback ([ mixed $arg = NULL ] )

arg

User custom data.

Event::signal() expects the callback to match the following prototype:

void callback ([ int $signum [, mixed $arg = NULL ]] )

signum

The number of the triggered signal(e.g. SIGTERM ).

arg

User custom data.

About event persistence
Constructing signal events
Event


Constructing signal events

Event can also watch for POSIX-style signals. To construct a handler for a signal, use Event::__construct() constructor with Event::SIGNAL flag, or Event::signal() factory method.

Ejemplo #1 Handling SIGTERM signal

<?php
/*
Launch it in a terminal window:

$ php examples/signal.php

In another terminal window find out the pid and send SIGTERM, e.g.:

$ ps aux | grep examp
ruslan    3976  0.2  0.0 139896 11256 pts/1    S+   10:25   0:00 php examples/signal.php
ruslan    3978  0.0  0.0   9572   864 pts/2    S+   10:26   0:00 grep --color=auto examp
$ kill -TERM 3976

At the first terminal window you should catch the following:

Caught signal 15
*/
class MyEventSignal {
    private $base, $ev;

    public function __construct($base) {
        $this->base = $base;
        $this->ev = Event::signal($base, SIGTERM, array($this, 'eventSighandler'));
        $this->ev->add();
    }

    public function eventSighandler($no, $c) {
        echo "Caught signal $no\n";
        $this->base->exit();
    }
}

$base = new EventBase();
$c    = new MyEventSignal($base);

$base->loop();
?>

Note that signal callbacks are run in the event loop after the signal occurs, so it is safe for them to call functions that you are not supposed to call from a regular POSIX signal handler.

See also » Fast portable non-blocking network programming with Libevent, Constructing Signal Events .

Event callbacks
Event
Event


The Event class

(PECL event >= 1.2.6-beta)

Introducción

Event class represents and event firing on a file descriptor being ready to read from or write to; a file descriptor becoming ready to read from or write to(edge-triggered I/O only); a timeout expiring; a signal occuring; a user-triggered event.

Every event is associated with EventBase . However, event will never fire until it is added (via Event::add() ). An added event remains in pending state until the registered event occurs, thus turning it to active state. To handle events user may register a callback which is called when event becomes active. If event is configured persistent , it remains pending. If it is not persistent, it stops being pending when it's callback runs. Event::del() method deletes event, thus making it non-pending. By means of Event::add() method it could be added again.

Sinopsis de la Clase

final Event {
/* Constants */
const integer ET = 32 ;
const integer PERSIST = 16 ;
const integer READ = 2 ;
const integer WRITE = 4 ;
const integer SIGNAL = 8 ;
const integer TIMEOUT = 1 ;
/* Propiedades */
public readonly bool $pending ;
/* Métodos */
public void add ([ double $timeout ] )
public bool addSignal ([ double $timeout ] )
public bool addTimer ([ double $timeout ] )
public __construct ( EventBase $base , mixed $fd , int $what , callable $cb [, mixed $arg = NULL ] )
public void del ( void )
public bool delSignal ( void )
public bool delTimer ( void )
public void free ( void )
public static void getSupportedMethods ( void )
public bool pending ( int $flags )
public bool set ( EventBase $base , mixed $fd [, int $what [, callable $cb [, mixed $arg ]]] )
public bool setPriority ( int $priority )
public bool setTimer ( EventBase $base , callable $cb [, mixed $arg ] )
public static Event signal ( EventBase $base , int $signum , callable $cb [, mixed $arg ] )
public static Event timer ( EventBase $base , callable $cb [, mixed $arg ] )
}

Propiedades

pending

Whether event is pending. See About event persistence .

Constantes predefinidas

Event::ET

Indicates that the event should be edge-triggered, if the underlying event base backend supports edge-triggered events. This affects the semantics of Event::READ and Event::WRITE .

Event::PERSIST

Indicates that the event is persistent. See About event persistence .

Event::READ

This flag indicates an event that becomes active when the provided file descriptor(usually a stream resource, or socket) is ready for reading.

Event::WRITE

This flag indicates an event that becomes active when the provided file descriptor(usually a stream resource, or socket) is ready for reading.

Event::SIGNAL

Used to implement signal detection. See "Constructing signal events" below.

Event::TIMEOUT

This flag indicates an event that becomes active after a timeout elapses.

The Event::TIMEOUT flag is ignored when constructing an event: one can either set a timeout when event is added , or not. It is set in the $what argument to the callback function when a timeout has occurred.

Tabla de contenidos

  • Event::add — Makes event pending
  • Event::addSignal — Makes signal event pending
  • Event::addTimer — Makes timer event pending
  • Event::__construct — Constructs Event object
  • Event::del — Makes event non-pending
  • Event::delSignal — Makes signal event non-pending
  • Event::delTimer — Makes timer event non-pending
  • Event::free — Make event non-pending and free resources allocated for this event.
  • Event::getSupportedMethods — Returns array with of the names of the methods supported in this version of Libevent
  • Event::pending — Detects whether event is pending or scheduled
  • Event::set — Re-configures event
  • Event::setPriority — Set event priority
  • Event::setTimer — Re-configures timer event
  • Event::signal — Constructs signal event object
  • Event::timer — Constructs timer event object
Constructing signal events
Event::add
Event


Makes event pending

Event
Event::addSignal
Event
PHP Manual

Event::add

(PECL libevent >= 0.0.1)

Event::add — Makes event pending

Descripción

public void Event::add ([ double $timeout ] )

Marks event pending. Non-pending event will never occur, and the event callback will never be called. In conjuction with Event::del() an event could be re-scheduled by user at any time.

If Event::add() is called on an already pending event, libevent will leave it pending and re-schedule it with the given timeout(if specified). If in this case timeout is not specified, Event::add() has no effect.

Parámetros

timeout

Timeout in seconds.

Valores devueltos

Returns TRUE on success. Otherwise FALSE

Ver también

  • Event::addSignal() - Makes signal event pending
  • Event::addTimer() - Makes timer event pending
  • Event::del() - Makes event non-pending
Event
Event::addSignal
Event


Makes signal event pending

Event::add
Event::addTimer
Event
PHP Manual

Event::addSignal

(PECL event >= 1.2.6-beta)

Event::addSignal — Makes signal event pending

Descripción

public bool Event::addSignal ([ double $timeout ] )

Event::addSignal() is an alias of Event::add()

Ejemplos

Ejemplo #1 Event::addSignal() example

<?php
/*
Launch it in a terminal window:

$ php examples/signal.php

In another terminal window find out the pid and send SIGTERM, e.g.:

$ ps aux | grep examp
ruslan    3976  0.2  0.0 139896 11256 pts/1    S+   10:25   0:00 php examples/signal.php
ruslan    3978  0.0  0.0   9572   864 pts/2    S+   10:26   0:00 grep --color=auto examp
$ kill -TERM 3976

At the first terminal window you should catch the following:

Caught signal 15
*/
class MyEventSignal {
    private $base, $ev;

    public function __construct($base) {
        $this->base = $base;
        $this->ev = Event::signal($base, SIGTERM, array($this, 'eventSighandler'));
        $this->ev->addSignal();
    }

    public function eventSighandler($no, $c) {
        echo "Caught signal $no\n";
        $this->base->exit();
    }
}

$base = new EventBase();
$c    = new MyEventSignal($base);

$base->loop();
?>

El resultado del ejemplo sería algo similar a:

Caught signal 15

Ver también

  • Event::add() - Makes event pending
  • Event::del() - Makes event non-pending
  • Event::delSignal() - Makes signal event non-pending
  • Event::signal() - Constructs signal event object
Event::add
Event::addTimer
Event


Makes timer event pending

Event::addSignal
Event::__construct
Event
PHP Manual

Event::addTimer

(PECL event >= 1.2.6-beta)

Event::addTimer — Makes timer event pending

Descripción

public bool Event::addTimer ([ double $timeout ] )

Event::addTimer() is an alias of Event::add()

Valores devueltos

Ejemplos

Ejemplo #1 Event::addTimer() example

<?php
$base = new EventBase();
$n = 2;
$e = Event::timer($base, function($n) use (&$e) {
    echo "$n seconds elapsed\n";
    $e->delTimer();
}, $n);
$e->addTimer($n);
$base->loop();
?>

El resultado del ejemplo sería algo similar a:

2 seconds elapsed

Ver también

  • Event::add() - Makes event pending
  • Event::del() - Makes event non-pending
  • Event::delTimer() - Makes timer event non-pending
Event::addSignal
Event::__construct
Event


Constructs Event object

Event::addTimer
Event::del
Event
PHP Manual

Event::__construct

(PECL event >= 1.2.6-beta)

Event::__construct — Constructs Event object

Descripción

public Event::__construct ( EventBase $base , mixed $fd , int $what , callable $cb [, mixed $arg = NULL ] )

Constructs Event object.

Parámetros

base

The event base to associate with.

fd

stream resource, socket resource, or numeric file descriptor. For timer events pass -1 . For signal events pass the signal number, e.g. SIGHUP .

what

Event flags. See Event flags .

cb

The event callback. See Event callbacks .

arg

Custom data. If specified, it will be passed to the callback when event triggers.

Valores devueltos

Returns Event object.

Ver también

  • Event::signal() - Constructs signal event object
  • Event::timer() - Constructs timer event object
Event::addTimer
Event::del
Event


Makes event non-pending

Event::__construct
Event::delSignal
Event
PHP Manual

Event::del

(PECL libevent >= 0.0.1)

Event::del — Makes event non-pending

Descripción

public void Event::del ( void )

Removes an event from the set of monitored events, i.e. makes it non-pending.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns TRUE on success. Otherwise FALSE

Ver también

  • Event::add() - Makes event pending
Event::__construct
Event::delSignal
Event


Makes signal event non-pending

Event::del
Event::delTimer
Event
PHP Manual

Event::delSignal

(PECL event >= 1.2.6-beta)

Event::delSignal — Makes signal event non-pending

Descripción

public bool Event::delSignal ( void )

Event::delSignal() is an alias of Event::del()

Ver también

  • Event::del() - Makes event non-pending
Event::del
Event::delTimer
Event


Makes timer event non-pending

Event::delSignal
Event::free
Event
PHP Manual

Event::delTimer

(PECL event >= 1.2.6-beta)

Event::delTimer — Makes timer event non-pending

Descripción

public bool Event::delTimer ( void )

Event::delTimer() is an alias of Event::del() .

Ver también

  • Event::del() - Makes event non-pending
Event::delSignal
Event::free
Event


Make event non-pending and free resources allocated for this event.

Event::delTimer
Event::getSupportedMethods
Event
PHP Manual

Event::free

(PECL libevent >= 0.0.1)

Event::free — Make event non-pending and free resources allocated for this event.

Descripción

public void Event::free ( void )

Removes event from the list of events monitored by libevent, and free resources allocated for the event.

Advertencia

The Event::free() method currently doesn't destruct the object itself. To destruct the object completely call unset() , or assign NULL.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • Event::__construct() - Constructs Event object
Event::delTimer
Event::getSupportedMethods
Event


Returns array with of the names of the methods supported in this version of Libevent

Event::free
Event::pending
Event
PHP Manual

Event::getSupportedMethods

(PECL event >= 1.2.6-beta)

Event::getSupportedMethods — Returns array with of the names of the methods supported in this version of Libevent

Descripción

public static void Event::getSupportedMethods ( void )

Returns array with of the names of the methods(backends) supported in this version of Libevent.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns array.

Ver también

  • EventConfig
Event::free
Event::pending
Event


Detects whether event is pending or scheduled

Event::getSupportedMethods
Event::set
Event
PHP Manual

Event::pending

(PECL event >= 1.2.6-beta)

Event::pending — Detects whether event is pending or scheduled

Descripción

public bool Event::pending ( int $flags )

Detects whether event is pending or scheduled

Parámetros

flags

One of, or a composition of the following constants: Event::READ , Event::WRITE , Event::TIMEOUT , Event::SIGNAL .

Valores devueltos

Returns TRUE if event is pending or scheduled. Otherwise FALSE.

Event::getSupportedMethods
Event::set
Event


Re-configures event

Event::pending
Event::setPriority
Event
PHP Manual

Event::set

(PECL libevent >= 0.0.1)

Event::set — Re-configures event

Descripción

public bool Event::set ( EventBase $base , mixed $fd [, int $what [, callable $cb [, mixed $arg ]]] )

Re-configures event. Note, this function doesn't invoke obsolete libevent's event_set. It calls event_assign instead.

Parámetros

base

The event base to associate the event with.

fd

A stream, socket resource, or numeric file descriptor; for signal events pass -1 .

what

See Event flags .

cb

The event callback. See Event callbacks .

arg

Custom data associated with the event. It will be passed to the callback when the event becomes active.

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

Event::pending
Event::setPriority
Event


Set event priority

Event::set
Event::setTimer
Event
PHP Manual

Event::setPriority

(PECL event >= 1.2.6-beta)

Event::setPriority — Set event priority

Descripción

public bool Event::setPriority ( int $priority )

Set event priority.

Parámetros

priority

The event priority.

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

Event::set
Event::setTimer
Event


Re-configures timer event

Event::setPriority
Event::signal
Event
PHP Manual

Event::setTimer

(PECL event >= 1.2.6-beta)

Event::setTimer — Re-configures timer event

Descripción

public bool Event::setTimer ( EventBase $base , callable $cb [, mixed $arg ] )

Re-configures timer event. Note, this function doesn't invoke obsolete libevent's event_set . It calls event_assign instead.

Parámetros

base

The event base to associate with.

cb

The timer event callback. See Event callbacks .

arg

Custom data. If specified, it will be passed to the callback when event triggers.

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

Ver también

  • Event::__construct() - Constructs Event object
  • Event::timer() - Constructs timer event object
Event::setPriority
Event::signal
Event


Constructs signal event object

Event::setTimer
Event::timer
Event
PHP Manual

Event::signal

(PECL event >= 1.2.6-beta)

Event::signal — Constructs signal event object

Descripción

public static Event Event::signal ( EventBase $base , int $signum , callable $cb [, mixed $arg ] )

Constructs signal event object. This is a straightforward method to create a signal event. Note, the generic Event::__construct() method can contruct signal event objects too.

Parámetros

base

The associated event base object.

signum

The signal number.

cb

The signal event callback. See Event callbacks .

arg

Custom data. If specified, it will be passed to the callback when event triggers.

Valores devueltos

Returns Event object on success. Otherwise FALSE.

Ver también

  • Constructing signal events
Event::setTimer
Event::timer
Event


Constructs timer event object

Event::signal
EventBase
Event
PHP Manual

Event::timer

(PECL event >= 1.2.6-beta)

Event::timer — Constructs timer event object

Descripción

public static Event Event::timer ( EventBase $base , callable $cb [, mixed $arg ] )

Constructs timer event object. This is a straightforward method to create a timer event. Note, the generic Event::__construct() method can contruct signal event objects too.

Parámetros

base

The associated event base object.

cb

The signal event callback. See Event callbacks .

arg

Custom data. If specified, it will be passed to the callback when event triggers.

Valores devueltos

Returns Event object on success. Otherwise FALSE.

Event::signal
EventBase
Event


The EventBase class

(PECL event >= 1.2.6-beta)

Introducción

EventBase class represents libevent's event base structure. It holds a set of events and can poll to determine which events are active.

Each event base has a method , or a backend that it uses to determine which events are ready. The recognized methods are: select , poll , epoll , kqueue , devpoll , evport and win32 .

To configure event base to use, or avoid specific backend EventConfig class can be used.

Advertencia

Do NOT destroy the EventBase object as long as resources of the associated Event objects are not released. Otherwise, it will lead to unpredictable results!

Sinopsis de la Clase

final EventBase {
/* Constants */
const integer LOOP_ONCE = 1 ;
const integer LOOP_NONBLOCK = 2 ;
const integer NOLOCK = 1 ;
const integer STARTUP_IOCP = 4 ;
const integer NO_CACHE_TIME = 8 ;
const integer EPOLL_USE_CHANGELIST = 16 ;
/* Métodos */
public __construct ([ EventConfig $cfg ] )
public void dispatch ( void )
public void exit ([ double $timeout ] )
public int getFeatures ( void )
public string getMethod ([ EventConfig $cfg ] )
public double getTimeOfDayCached ( void )
public void gotExit ( void )
public void gotStop ( void )
public bool loop ([ int $flags ] )
public bool priorityInit ( string $n_priorities )
public void reInit ( string $base )
public bool stop ( void )
}

Constantes predefinidas

EventBase::LOOP_ONCE

Flag used with EventBase::loop() method which means: "block until libevent has an active event, then exit once all active events have had their callbacks run".

EventBase::LOOP_NONBLOCK

Flag used with EventBase::loop() method which means: "do not block: see which events are ready now, run the callbacks of the highest-priority ones, then exit".

EventBase::NOLOCK

Configuration flag. Do not allocate a lock for the event base, even if we have locking set up".

EventBase::STARTUP_IOCP

Windows-only configuration flag. Enables the IOCP dispatcher at startup.

EventBase::NO_CACHE_TIME

Configuration flag. Instead of checking the current time every time the event loop is ready to run timeout callbacks, check after each timeout callback.

EventBase::EPOLL_USE_CHANGELIST

If we are using the epoll backend, this flag says that it is safe to use Libevent's internal change-list code to batch up adds and deletes in order to try to do as few syscalls as possible.

Setting this flag can make code run faster, but it may trigger a Linux bug: it is not safe to use this flag if one has any fds cloned by dup(), or its variants. Doing so will produce strange and hard-to-diagnose bugs.

This flag can also be activated by settnig the EVENT_EPOLL_USE_CHANGELIST environment variable.

This flag has no effect if one winds up using a backend other than epoll .

Tabla de contenidos

  • EventBase::__construct — Construye un objeto EventBase
  • EventBase::dispatch — Despacha eventos pendientes
  • EventBase::exit — Detiene el envío de los eventos
  • EventBase::getFeatures — Devuelve una máscara de bits de funcionalidades soportadas
  • EventBase::getMethod — Devuelve el método de evento utilizado
  • EventBase::getTimeOfDayCached — Devuelve el tiempo del evento base actual
  • EventBase::gotExit — Verifica si se ha indicado al bucle del evento de salir
  • EventBase::gotStop — Verifica si se ha indicado al bucle del evento de salir
  • EventBase::loop — Despacha eventos pendientes
  • EventBase::priorityInit — Define el número de prioridades por evento base
  • EventBase::reInit — Reinicializa el evento base (después de un 'fork')
  • EventBase::stop — Solicita a event_base que detenga la emisión de eventos
Event::timer
EventBase::__construct
Event


Construye un objeto EventBase

EventBase
EventBase::dispatch
EventBase
PHP Manual

EventBase::__construct

(PECL event >= 1.2.6-beta)

EventBase::__construct — Construye un objeto EventBase

Descripción

public EventBase::__construct ([ EventConfig $cfg ] )

Construye un objeto EventBase

Parámetros

cfg

Opcional Un objeto EventConfig .

Valores devueltos

Devuelve un objeto EventBase.

Ver también

  • EventConfig
EventBase
EventBase::dispatch
EventBase


Despacha eventos pendientes

EventBase::__construct
EventBase::exit
EventBase
PHP Manual

EventBase::dispatch

(PECL event >= 1.2.6-beta)

EventBase::dispatch — Despacha eventos pendientes

Descripción

public void EventBase::dispatch ( void )

Espara a que los eventos estén activos y ejecuta sus llamadas de retorno. Hace lo mismo que EventBase::loop() pero sin flags definidas.

Advertencia

Do NOT destroy the EventBase object as long as resources of the associated Event objects are not released. Otherwise, it will lead to unpredictable results!

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito. FALSE de lo contrario.

Ver también

  • EventBase::loop() - Despacha eventos pendientes
EventBase::__construct
EventBase::exit
EventBase


Detiene el envío de los eventos

EventBase::dispatch
EventBase::getFeatures
EventBase
PHP Manual

EventBase::exit

(PECL event >= 1.2.6-beta)

EventBase::exit — Detiene el envío de los eventos

Descripción

public void EventBase::exit ([ double $timeout ] )

Le indica al evento base que pare el envío de los eventos, opcionamente después de un número de segundos dado.

Parámetros

timeout

Número opcional de segundos después de los cuales el evento base deberá parar el envío de eventos.

Valores devueltos

Devuelve TRUE en caso de éxito. Devuelve FALSE en el resto de casos.

Ver también

  • EventBase::stop() - Solicita a event_base que detenga la emisión de eventos
EventBase::dispatch
EventBase::getFeatures
EventBase


Devuelve una máscara de bits de funcionalidades soportadas

EventBase::exit
EventBase::getMethod
EventBase
PHP Manual

EventBase::getFeatures

(PECL event >= 1.2.6-beta)

EventBase::getFeatures — Devuelve una máscara de bits de funcionalidades soportadas

Descripción

public int EventBase::getFeatures ( void )

Devuelve una máscara de bits de funcionalidades soportadas.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un entero que representa una máscara de bits de funcionalidades soportadas. Ver las constantes EventConfig::FEATURE_* .

Ejemplos

Ejemplo #1 Ejemplo con EventBase::getFeatures()

<?php
// Evitando el método "select"
$cfg = new EventConfig();
if ($cfg->avoidMethod("select")) {
    echo "Método `select' evitado\n";
}

$base = new EventBase($cfg);

echo "Funcionalidades:\n";
$features = $base->getFeatures();
($features & EventConfig::FEATURE_ET) and print("ET - edge-triggered IO\n");
($features & EventConfig::FEATURE_O1) and print("O1 - O(1) operation for adding/deletting events\n");
($features & EventConfig::FEATURE_FDS) and print("FDS - arbitrary file descriptor types, and not just sockets\n");
?>

Ver también

  • EventBase::getMethod() - Devuelve el método de evento utilizado
  • EventConfig
EventBase::exit
EventBase::getMethod
EventBase


Devuelve el método de evento utilizado

EventBase::getFeatures
EventBase::getTimeOfDayCached
EventBase
PHP Manual

EventBase::getMethod

(PECL event >= 1.2.6-beta)

EventBase::getMethod — Devuelve el método de evento utilizado

Descripción

public string EventBase::getMethod ([ EventConfig $cfg ] )

Parámetros

cfg

Objeto EventConfig opcional.

Valores devueltos

String que representa el método de evento utilizado (backend).

Ejemplos

Ejemplo #1 Ejemplo con EventBase::getMethod()

<?php
$cfg = new EventConfig();
if ($cfg->avoidMethod("select")) {
    echo "Método `select' evitado\n";
}

// Crear un evento base asociado con el config
$base = new EventBase($cfg);
echo "Método de evento utilizado: ", $base->getMethod(), PHP_EOL;

?>

El resultado del ejemplo sería algo similar a:

método `select' evitado
Método de evento utilizado: epoll

Ver también

  • EventBase::getFeatures() - Devuelve una máscara de bits de funcionalidades soportadas
EventBase::getFeatures
EventBase::getTimeOfDayCached
EventBase


Devuelve el tiempo del evento base actual

EventBase::getMethod
EventBase::gotExit
EventBase
PHP Manual

EventBase::getTimeOfDayCached

(PECL event >= 1.2.6-beta)

EventBase::getTimeOfDayCached — Devuelve el tiempo del evento base actual

Descripción

public double EventBase::getTimeOfDayCached ( void )

En caso de éxito devuelve el tiempo actual(como el devuelto por gettimeofday() ), mirando el valor en la caché dentro de base si es posible, y llamando a gettimeofday() o clock_gettime() si no hay tiempo disponible en la caché.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el actual tiempo de event base . En caso de error devuelve NULL.

EventBase::getMethod
EventBase::gotExit
EventBase


Verifica si se ha indicado al bucle del evento de salir

EventBase::getTimeOfDayCached
EventBase::gotStop
EventBase
PHP Manual

EventBase::gotExit

(PECL event >= 1.2.6-beta)

EventBase::gotExit — Verifica si se ha indicado al bucle del evento de salir

Descripción

public void EventBase::gotExit ( void )

Verifica si se ha indicado al bucle del evento de salir con el método EventBase::exit() .

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si se ha indicado al bucle de salir con el método EventBase::exit() . FALSE en caso contrario.

Ver también

  • EventBase::exit() - Detiene el envío de los eventos
  • EventBase::stop() - Solicita a event_base que detenga la emisión de eventos
  • EventBase::gotStop() - Verifica si se ha indicado al bucle del evento de salir
EventBase::getTimeOfDayCached
EventBase::gotStop
EventBase


Verifica si se ha indicado al bucle del evento de salir

EventBase::gotExit
EventBase::loop
EventBase
PHP Manual

EventBase::gotStop

(PECL event >= 1.2.6-beta)

EventBase::gotStop — Verifica si se ha indicado al bucle del evento de salir

Descripción

public void EventBase::gotStop ( void )

Verifica si se ha indicado al bucle del evento de salir con EventBase::stop() .

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si se indicó al bucle del evento de salir con EventBase::stop() . FALSE en caso contrario .

Ver también

  • EventBase::exit() - Detiene el envío de los eventos
  • EventBase::stop() - Solicita a event_base que detenga la emisión de eventos
  • EventBase::gotExit() - Verifica si se ha indicado al bucle del evento de salir
EventBase::gotExit
EventBase::loop
EventBase


Despacha eventos pendientes

EventBase::gotStop
EventBase::priorityInit
EventBase
PHP Manual

EventBase::loop

(PECL event >= 1.2.6-beta)

EventBase::loop — Despacha eventos pendientes

Descripción

public bool EventBase::loop ([ int $flags ] )

Espara a que los eventos estén activos y ejecuta sus llamadas de retorno.

Advertencia

Do NOT destroy the EventBase object as long as resources of the associated Event objects are not released. Otherwise, it will lead to unpredictable results!

Parámetros

flags

Flags opcionales. Puede ser una de las constantes EventBase::LOOP_*. Véase constantes EventBase .

Valores devueltos

Devuelve TRUE en caso de éxito. FALSE de lo contrario.

Ver también

  • EventBase::dispatch() - Despacha eventos pendientes
EventBase::gotStop
EventBase::priorityInit
EventBase


Define el número de prioridades por evento base

EventBase::loop
EventBase::reInit
EventBase
PHP Manual

EventBase::priorityInit

(PECL event >= 1.2.6-beta)

EventBase::priorityInit — Define el número de prioridades por evento base

Descripción

public bool EventBase::priorityInit ( string $n_priorities )

Define el número de prioridades por evento base.

Parámetros

n_priorities

El número de prioridades por evento base.

Valores devueltos

Devuelve TRUE en caso de éxito, FALSE en cualquier otro caso.

Ver también

  • Event::setPriority() - Set event priority
EventBase::loop
EventBase::reInit
EventBase


Reinicializa el evento base (después de un 'fork')

EventBase::priorityInit
EventBase::stop
EventBase
PHP Manual

EventBase::reInit

(PECL event >= 1.2.6-beta)

EventBase::reInit — Reinicializa el evento base (después de un 'fork')

Descripción

public void EventBase::reInit ( string $base )

Reinicializa el evento base. Debe ser llamado después de un 'fork'.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito. FALSE en cualquier otro caso.

EventBase::priorityInit
EventBase::stop
EventBase


Solicita a event_base que detenga la emisión de eventos

EventBase::reInit
EventBuffer
EventBase
PHP Manual

EventBase::stop

(PECL event >= 1.2.6-beta)

EventBase::stop — Solicita a event_base que detenga la emisión de eventos

Descripción

public bool EventBase::stop ( void )

Solicita a event_base que detenga la emisión de eventos

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito. FALSE en cualquier otro caso.

Ver también

  • EventBase::exit() - Detiene el envío de los eventos
  • EventBase::gotStop() - Verifica si se ha indicado al bucle del evento de salir
EventBase::reInit
EventBuffer
EventBase


The EventBuffer class

(PECL event >= 1.5.0)

Introducción

EventBuffer represents Libevent's "evbuffer", an utility functionality for buffered I/O.

Event buffers are meant to be generally useful for doing the "buffer" part of buffered network I/O.

Sinopsis de la Clase

EventBuffer {
/* Constants */
const integer EOL_ANY = 0 ;
const integer EOL_CRLF = 1 ;
const integer EOL_CRLF_STRICT = 2 ;
const integer EOL_LF = 3 ;
const integer PTR_SET = 0 ;
const integer PTR_ADD = 1 ;
/* Propiedades */
public readonly int $length ;
public readonly int $contiguous_space ;
/* Métodos */
public bool add ( string $data )
public bool addBuffer ( EventBuffer $buf )
public int appendFrom ( EventBuffer $buf , int $len )
public __construct ( void )
public int copyout ( string &$data , int $max_bytes )
public void drain ( int $len )
public void enableLocking ( void )
public bool expand ( int $len )
public bool freeze ( bool $at_front )
public void lock ( void )
public bool prepend ( string $data )
public bool prependBuffer ( EventBuffer $buf )
public void pullup ( string $size )
public string read ( int $max_bytes )
public string read ( mixed $fd , int $howmuch )
public void readLine ( string $eol_style )
public mixed search ( string $what [, int $start = -1 [, int $end = -1 ]] )
public mixed searchEol ([ int $start = -1 [, int $eol_style = EventBuffer::EOL_ANY ]] )
public string substr ( int $start [, int $length ] )
public bool unfreeze ( bool $at_front )
public bool unlock ( void )
public void write ( mixed $fd [, int $howmuch ] )
}

Propiedades

length

The number of bytes stored in an event buffer.

contiguous_space

The number of bytes stored contiguously at the front of the buffer. The bytes in a buffer may be stored in multiple separate chunks of memory; the property returns the number of bytes currently stored in the first chunk.

Constantes predefinidas

EventBuffer::EOL_ANY

The end of line is any sequence of any number of carriage return and linefeed characters. This format is not very useful; it exists mainly for backward compatibility.

EventBuffer::EOL_CRLF

The end of the line is an optional carriage return, followed by a linefeed. (In other words, it is either a "\r\n" or a "\n" .) This format is useful in parsing text-based Internet protocols, since the standards generally prescribe a "\r\n" line-terminator, but nonconformant clients sometimes say just "\n" .

EventBuffer::EOL_CRLF_STRICT

The end of a line is a single carriage return, followed by a single linefeed. (This is also known as "\r\n" . The ASCII values are 0x0D 0x0A ).

EventBuffer::EOL_LF

The end of a line is a single linefeed character. (This is also known as "\n" . It is ASCII value is 0x0A .)

EventBuffer::PTR_SET

Flag used as argument of EventBuffer::setPosition() method. If this flag specified, the position pointer is moved to an absolute position within the buffer.

EventBuffer::PTR_ADD

The same as EventBuffer::PTR_SET , except this flag causes EventBuffer::setPosition() method to move position forward up to the specified number of bytes(instead of setting absolute position).

Tabla de contenidos

  • EventBuffer::add — Añade datos al final de un buffer de eventos
  • EventBuffer::addBuffer — Mueve todos los datos de un buffer a la instancia actual de EventBuffer
  • EventBuffer::appendFrom — Mueve el número de bytes especificados desde un buffer fuente, al final del buffer actual
  • EventBuffer::__construct — Construye el objeto EventBuffer
  • EventBuffer::copyout — Copia un número específico de bytes del principio del buffer
  • EventBuffer::drain — Elimina un número específico de bytes del principio del buffer sin copiarlo a ningún lugar
  • EventBuffer::enableLocking — Descripción
  • EventBuffer::expand — Reserva espacio en el buffer
  • EventBuffer::freeze — Evita que las llamadas puedan modificar un buffer de eventos
  • EventBuffer::lock — Bloquea un buffer
  • EventBuffer::prepend — Prepend data to the front of the buffer
  • EventBuffer::prependBuffer — Moves all data from source buffer to the front of current buffer
  • EventBuffer::pullup — Linearizes data within buffer and returns it's contents as a string
  • EventBuffer::read — Read data from an evbuffer and drain the bytes read
  • EventBuffer::readFrom — Read data from a file onto the end of the buffer
  • EventBuffer::readLine — Extracts a line from the front of the buffer
  • EventBuffer::search — Scans the buffer for an occurrence of a string
  • EventBuffer::searchEol — Scans the buffer for an occurrence of an end of line
  • EventBuffer::substr — Substracts a portion of the buffer data
  • EventBuffer::unfreeze — Re-enable calls that modify an event buffer
  • EventBuffer::unlock — Releases lock acquired by EventBuffer::lock
  • EventBuffer::write — Write contents of the buffer to a file or socket
EventBase::stop
EventBuffer::add
Event


Añade datos al final de un buffer de eventos

EventBuffer
EventBuffer::addBuffer
EventBuffer
PHP Manual

EventBuffer::add

(PECL event >= 1.2.6-beta)

EventBuffer::add — Añade datos al final de un buffer de eventos

Descripción

public bool EventBuffer::add ( string $data )

Añade datos al final de un buffer de eventos.

Parámetros

data

String que se añadirá al final del buffer.

Valores devueltos

Devuelve TRUE en caso de éxito. De otro modo, devuelve FALSE.

Ver también

  • EventBuffer::addBuffer() - Mueve todos los datos de un buffer a la instancia actual de EventBuffer
EventBuffer
EventBuffer::addBuffer
EventBuffer


Mueve todos los datos de un buffer a la instancia actual de EventBuffer

EventBuffer::add
EventBuffer::appendFrom
EventBuffer
PHP Manual

EventBuffer::addBuffer

(PECL event >= 1.2.6-beta)

EventBuffer::addBuffer — Mueve todos los datos de un buffer a la instancia actual de EventBuffer

Descripción

public bool EventBuffer::addBuffer ( EventBuffer $buf )

Mueve todos los datos del buffer indicado en el parámetro buf al final del actual EventBuffer . Es un movimiento de datos destructivo. Los datos de un buffer se mueven al otro buffer. Sin embargo, no se realizan copias innecesarias.

Parámetros

buf

El objeto EventBuffer.

Valores devueltos

Devuelve TRUE en caso de éxito. De otro modo, devuelve FALSE.

Ver también

  • EventBuffer::add() - Añade datos al final de un buffer de eventos
EventBuffer::add
EventBuffer::appendFrom
EventBuffer


Mueve el número de bytes especificados desde un buffer fuente, al final del buffer actual

EventBuffer::addBuffer
EventBuffer::__construct
EventBuffer
PHP Manual

EventBuffer::appendFrom

(PECL event >= 1.6.0)

EventBuffer::appendFrom — Mueve el número de bytes especificados desde un buffer fuente, al final del buffer actual

Descripción

public int EventBuffer::appendFrom ( EventBuffer $buf , int $len )

Mueve el número de bytes especificados desde un buffer fuente, al final del buffer actual. Si hay menos bytes, mueve todos los bytes disponibles del buffer fuente.

Parámetros

buf

Buffer fuente.

len

Valores devueltos

Devuelve el número de bytes leídos.

Historial de cambios

Versión | Descripción
1.6.0 | Renombrado de EventBuffer::appendFrom()(nombre antiguo del método) a EventBuffer::appendFrom().

Ver también

  • EventBuffer::copyout() - Copia un número específico de bytes del principio del buffer
  • EventBuffer::drain() - Elimina un número específico de bytes del principio del buffer sin copiarlo a ningún lugar
  • EventBuffer::pullup() - Linearizes data within buffer and returns it's contents as a string
  • EventBuffer::readLine() - Extracts a line from the front of the buffer
  • EventBuffer::read() - Read data from an evbuffer and drain the bytes read
EventBuffer::addBuffer
EventBuffer::__construct
EventBuffer


Construye el objeto EventBuffer

EventBuffer::appendFrom
EventBuffer::copyout
EventBuffer
PHP Manual

EventBuffer::__construct

(PECL event >= 1.2.6-beta)

EventBuffer::__construct — Construye el objeto EventBuffer

Descripción

public EventBuffer::__construct ( void )

Construye el objeto EventBuffer

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el objeto EventBuffer.

EventBuffer::appendFrom
EventBuffer::copyout
EventBuffer


Copia un número específico de bytes del principio del buffer

EventBuffer::__construct
EventBuffer::drain
EventBuffer
PHP Manual

EventBuffer::copyout

(PECL event >= 1.2.6-beta)

EventBuffer::copyout — Copia un número específico de bytes del principio del buffer

Descripción

public int EventBuffer::copyout ( string &$data , int $max_bytes )

Funciona del mismo modo que EventBuffer::read() , pero no vacía ningún dato del buffer. p.ej. copia los primeros max_bytes bytes del principio del buffer en data . Si hay menos de max_bytes bytes disponibles, la función copia todos los bytes que haya.

Parámetros

data

String de salida.

max_bytes

El número de bytes a copiar.

Valores devueltos

Devuelve el número de bytes copiados, o -1 en caso de error.

Ver también

  • EventBuffer::read() - Read data from an evbuffer and drain the bytes read
  • EventBuffer::appendFrom() - Mueve el número de bytes especificados desde un buffer fuente, al final del buffer actual
EventBuffer::__construct
EventBuffer::drain
EventBuffer


Elimina un número específico de bytes del principio del buffer sin copiarlo a ningún lugar

EventBuffer::copyout
EventBuffer::enableLocking
EventBuffer
PHP Manual

EventBuffer::drain

(PECL event >= 1.2.6-beta)

EventBuffer::drain — Elimina un número específico de bytes del principio del buffer sin copiarlo a ningún lugar

Descripción

public void EventBuffer::drain ( int $len )

Funciona del mismo modo que EventBuffer::read() , excepto que no copia los datos: únicamente los elimina del principio del buffer.

Parámetros

len

El número de bytes a eliminar del buffer.

Valores devueltos

Devuelve TRUE en caso de éxito. Devuelve FALSE en el resto de casos.

Ver también

  • EventBuffer::read() - Read data from an evbuffer and drain the bytes read
  • EventBuffer::appendFrom() - Mueve el número de bytes especificados desde un buffer fuente, al final del buffer actual
EventBuffer::copyout
EventBuffer::enableLocking
EventBuffer


EventBuffer::drain
EventBuffer::expand
EventBuffer
PHP Manual

EventBuffer::enableLocking

(PECL event >= 1.2.6-beta)

EventBuffer::enableLocking —

Descripción

public void EventBuffer::enableLocking ( void )

Activa el bloqueo de EventBuffer de tal forma que puede utilizarse de forma segura por múltiples líneas de ejecución a la vez. Cuando se activa el bloqueo, éste se mantiene cuando se invoquen las llamadas de vuelta. Esto puede dar lugar a un punto muerto (o 'deadlock') si no se es cuidadoso. Planificar de forma adecuada!

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • » Evbuffers and Thread-safety
EventBuffer::drain
EventBuffer::expand
EventBuffer


Reserva espacio en el buffer

EventBuffer::enableLocking
EventBuffer::freeze
EventBuffer
PHP Manual

EventBuffer::expand

(PECL event >= 1.2.6-beta)

EventBuffer::expand — Reserva espacio en el buffer

Descripción

public bool EventBuffer::expand ( int $len )

Modifica el último bloque de memoria del buffer, o añade un nuevo bloque, de modo que el buffer es ahora suficientemente grande para contener len bytes sin añadir espacios suplementarios.

Parámetros

len

El número de bytes a reservar del buffer

Valores devueltos

Devuelve TRUE en caso de éxito. Devuelve FALSE en el resto de casos.

EventBuffer::enableLocking
EventBuffer::freeze
EventBuffer


Evita que las llamadas puedan modificar un buffer de eventos

EventBuffer::expand
EventBuffer::lock
EventBuffer
PHP Manual

EventBuffer::freeze

(PECL event >= 1.2.6-beta)

EventBuffer::freeze — Evita que las llamadas puedan modificar un buffer de eventos

Descripción

public bool EventBuffer::freeze ( bool $at_front )

Evita que las llamadas puedan modificar un buffer de eventos

Parámetros

at_front

Permite desactivar cambios en el principio o final del buffer.

Valores devueltos

Devuelve TRUE en caso de éxito. Devuelve FALSE en caso de error.

Ver también

  • EventBuffer::unfreeze() - Re-enable calls that modify an event buffer
EventBuffer::expand
EventBuffer::lock
EventBuffer


Bloquea un buffer

EventBuffer::freeze
EventBuffer::prepend
EventBuffer
PHP Manual

EventBuffer::lock

(PECL event >= 1.2.6-beta)

EventBuffer::lock — Bloquea un buffer

Descripción

public void EventBuffer::lock ( void )

Bloquea un buffer. Puede ser utilizado junto con EventBuffer::unlock() para que un conjunto de operaciones sean atómicas, p.e. thread-safe. Notar que no se necesita bloquear buffers para operaciones individuales . Cuando el bloqueo está activo (ver EventBuffer::enableLocking() ), las operaciones individuales en buffers de eventos ya son atómicas.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito. Devuelve FALSE en el resto de casos.

Ver también

  • EventBuffer::unlock() - Releases lock acquired by EventBuffer::lock
EventBuffer::freeze
EventBuffer::prepend
EventBuffer


Prepend data to the front of the buffer

EventBuffer::lock
EventBuffer::prependBuffer
EventBuffer
PHP Manual

EventBuffer::prepend

(PECL event >= 1.2.6-beta)

EventBuffer::prepend — Prepend data to the front of the buffer

Descripción

public bool EventBuffer::prepend ( string $data )

Prepend data to the front of the buffer.

Parámetros

data

String to be prepended to the front of the buffer.

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

Ver también

  • EventBuffer::prependBuffer() - Moves all data from source buffer to the front of current buffer
  • EventBuffer::add() - Añade datos al final de un buffer de eventos
  • EventBuffer::addBuffer() - Mueve todos los datos de un buffer a la instancia actual de EventBuffer
EventBuffer::lock
EventBuffer::prependBuffer
EventBuffer


Moves all data from source buffer to the front of current buffer

EventBuffer::prepend
EventBuffer::pullup
EventBuffer
PHP Manual

EventBuffer::prependBuffer

(PECL event >= 1.2.6-beta)

EventBuffer::prependBuffer — Moves all data from source buffer to the front of current buffer

Descripción

public bool EventBuffer::prependBuffer ( EventBuffer $buf )

Behaves as EventBuffer::addBuffer() , except that it moves data to the front of the buffer.

Parámetros

buf

Source buffer.

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

Ver también

  • EventBuffer::add() - Añade datos al final de un buffer de eventos
  • EventBuffer::addBuffer() - Mueve todos los datos de un buffer a la instancia actual de EventBuffer
  • EventBuffer::prepend() - Prepend data to the front of the buffer
EventBuffer::prepend
EventBuffer::pullup
EventBuffer


Linearizes data within buffer and returns it's contents as a string

EventBuffer::prependBuffer
EventBuffer::read
EventBuffer
PHP Manual

EventBuffer::pullup

(PECL event >= 1.2.6-beta)

EventBuffer::pullup — Linearizes data within buffer and returns it's contents as a string

Descripción

public void EventBuffer::pullup ( string $size )

"Linearizes" the first size bytes of the buffer, copying or moving them as needed to ensure that they are all contiguous and occupying the same chunk of memory. If size is negative, the function linearizes the entire buffer.

Advertencia

Calling EventBuffer::pullup() with a large size can be quite slow, since it potentially needs to copy the entire buffer's contents.

Parámetros

size

The number of bytes required to be contiguous within the buffer.

Valores devueltos

If size is greater than the number of bytes in the buffer, the function returns NULL. Otherwise, EventBuffer::pullup() returns string.

Ver también

  • EventBuffer::copyout() - Copia un número específico de bytes del principio del buffer
  • EventBuffer::drain() - Elimina un número específico de bytes del principio del buffer sin copiarlo a ningún lugar
  • EventBuffer::read() - Read data from an evbuffer and drain the bytes read
  • EventBuffer::readLine() - Extracts a line from the front of the buffer
  • EventBuffer::appendFrom() - Mueve el número de bytes especificados desde un buffer fuente, al final del buffer actual
EventBuffer::prependBuffer
EventBuffer::read
EventBuffer


Read data from an evbuffer and drain the bytes read

EventBuffer::pullup
EventBuffer::readFrom
EventBuffer
PHP Manual

EventBuffer::read

(PECL event >= 1.6.0)

EventBuffer::read — Read data from an evbuffer and drain the bytes read

Descripción

public string EventBuffer::read ( int $max_bytes )

Read the first max_bytes from the buffer and drain the bytes read. If more max_bytes are requested than are available in the buffer, it only extracts as many bytes as available.

Parámetros

max_bytes

Maxmimum number of bytes to read from the buffer.

Valores devueltos

Returns string read, or FALSE on failure.

Historial de cambios

Versión | Descripción
1.6.0 | Renamed EventBuffer::read()(the old method name) to EventBuffer::read(). EventBuffer::read() now takes only max_bytes argument; returns string instead of integer.

Ver también

  • EventBuffer::copyout() - Copia un número específico de bytes del principio del buffer
  • EventBuffer::drain() - Elimina un número específico de bytes del principio del buffer sin copiarlo a ningún lugar
  • EventBuffer::pullup() - Linearizes data within buffer and returns it's contents as a string
  • EventBuffer::readLine() - Extracts a line from the front of the buffer
  • EventBuffer::appendFrom() - Mueve el número de bytes especificados desde un buffer fuente, al final del buffer actual
EventBuffer::pullup
EventBuffer::readFrom
EventBuffer


Read data from a file onto the end of the buffer

EventBuffer::read
EventBuffer::readLine
EventBuffer
PHP Manual

EventBuffer::readFrom

(PECL event >= 1.7.0)

EventBuffer::readFrom — Read data from a file onto the end of the buffer

Descripción

public string EventBuffer::read ( mixed $fd , int $howmuch )

Read data from the file specified by fd onto the end of the buffer.

Parámetros

fd

Socket resource, stream, or numeric file descriptor.

howmuch

Maxmimum number of bytes to read.

Valores devueltos

Returns the number of bytes read, or FALSE on failure.

Ver también

  • EventBuffer::copyout() - Copia un número específico de bytes del principio del buffer
  • EventBuffer::drain() - Elimina un número específico de bytes del principio del buffer sin copiarlo a ningún lugar
  • EventBuffer::pullup() - Linearizes data within buffer and returns it's contents as a string
  • EventBuffer::readLine() - Extracts a line from the front of the buffer
  • EventBuffer::appendFrom() - Mueve el número de bytes especificados desde un buffer fuente, al final del buffer actual
EventBuffer::read
EventBuffer::readLine
EventBuffer


Extracts a line from the front of the buffer

EventBuffer::readFrom
EventBuffer::search
EventBuffer
PHP Manual

EventBuffer::readLine

(PECL event >= 1.2.6-beta)

EventBuffer::readLine — Extracts a line from the front of the buffer

Descripción

public void EventBuffer::readLine ( string $eol_style )

Extracts a line from the front of the buffer and returns it in a newly allocated string. If there is not a whole line to read, the function returns NULL. The line terminator is not included in the copied string.

Parámetros

eol_style

One of EventBuffer:EOL_* constants .

Valores devueltos

On success returns the line read from the buffer, otherwise NULL.

Ver también

  • EventBuffer::copyout() - Copia un número específico de bytes del principio del buffer
  • EventBuffer::drain() - Elimina un número específico de bytes del principio del buffer sin copiarlo a ningún lugar
  • EventBuffer::pullup() - Linearizes data within buffer and returns it's contents as a string
  • EventBuffer::read() - Read data from an evbuffer and drain the bytes read
  • EventBuffer::appendFrom() - Mueve el número de bytes especificados desde un buffer fuente, al final del buffer actual
EventBuffer::readFrom
EventBuffer::search
EventBuffer


Scans the buffer for an occurrence of a string

EventBuffer::readLine
EventBuffer::searchEol
EventBuffer
PHP Manual

EventBuffer::search

(PECL event >= 1.2.6-beta)

EventBuffer::search — Scans the buffer for an occurrence of a string

Descripción

public mixed EventBuffer::search ( string $what [, int $start = -1 [, int $end = -1 ]] )

Scans the buffer for an occurrence of the string what . It returns numeric position of the string, or FALSE if the string was not found.

If the start argument is provided, it points to the position at which the search should begin; otherwise, the search is performed from the start of the string. If end argument provided, the search is performed between start and end buffer positions.

Parámetros

what

String to search.

start

Start search position.

end

End search position.

Valores devueltos

Returns numeric position of the first occurance of the string in the buffer, or FALSE if string is not found.

Advertencia

Esta función puede devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se evalúa como FALSE. 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.

Ejemplos

Ejemplo #1 EventBuffer::search() example

<?php
// Count total occurances of 'str' in 'buf'
function count_instances($buf, $str) {
    $total = 0;
    $p     = 0;
    $i     = 0;

    while (1) {
        $p = $buf->search($str, $p);
        if ($p === FALSE) {
            break;
        }
        ++$total;
        ++$p;
    }

    return $total;
}

$buf = new EventBuffer();
$buf->add("Some string within a string inside another string");
var_dump(count_instances($buf, "str"));
?>

El resultado del ejemplo sería algo similar a:

int(3)

Ver también

  • EventBuffer::searchEol() - Scans the buffer for an occurrence of an end of line
EventBuffer::readLine
EventBuffer::searchEol
EventBuffer


Scans the buffer for an occurrence of an end of line

EventBuffer::search
EventBuffer::substr
EventBuffer
PHP Manual

EventBuffer::searchEol

(PECL event >= 1.5.0)

EventBuffer::searchEol — Scans the buffer for an occurrence of an end of line

Descripción

public mixed EventBuffer::searchEol ([ int $start = -1 [, int $eol_style = EventBuffer::EOL_ANY ]] )

Scans the buffer for an occurrence of an end of line specified by eol_style parameter . It returns numeric position of the string, or FALSE if the string was not found.

If the start argument is provided, it represents the position at which the search should begin; otherwise, the search is performed from the start of the string. If end argument provided, the search is performed between start and end buffer positions.

Parámetros

start

Start search position.

eol_style

One of EventBuffer:EOL_* constants .

Valores devueltos

Returns numeric position of the first occurance of end-of-line symbol in the buffer, or FALSE if not found.

Advertencia

Esta función puede devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se evalúa como FALSE. 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.

Ver también

  • EventBuffer::search() - Scans the buffer for an occurrence of a string
EventBuffer::search
EventBuffer::substr
EventBuffer


Substracts a portion of the buffer data

EventBuffer::searchEol
EventBuffer::unfreeze
EventBuffer
PHP Manual

EventBuffer::substr

(PECL event >= 1.6.0)

EventBuffer::substr — Substracts a portion of the buffer data

Descripción

public string EventBuffer::substr ( int $start [, int $length ] )

Substracts up to length bytes of the buffer data beginning at start position.

Parámetros

start

The start position of data to be substracted.

length

Maximum number of bytes to substract.

Valores devueltos

Returns the data substracted as a string on success, or FALSE on failure.

Ver también

  • EventBuffer::read() - Read data from an evbuffer and drain the bytes read
EventBuffer::searchEol
EventBuffer::unfreeze
EventBuffer


Re-enable calls that modify an event buffer

EventBuffer::substr
EventBuffer::unlock
EventBuffer
PHP Manual

EventBuffer::unfreeze

(PECL event >= 1.2.6-beta)

EventBuffer::unfreeze — Re-enable calls that modify an event buffer

Descripción

public bool EventBuffer::unfreeze ( bool $at_front )

Re-enable calls that modify an event buffer.

Parámetros

at_front

Whether to enable events at the front or at the end of the buffer.

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

Ver también

  • EventBuffer::freeze() - Evita que las llamadas puedan modificar un buffer de eventos
EventBuffer::substr
EventBuffer::unlock
EventBuffer


Releases lock acquired by EventBuffer::lock

EventBuffer::unfreeze
EventBuffer::write
EventBuffer
PHP Manual

EventBuffer::unlock

(PECL event >= 1.2.6-beta)

EventBuffer::unlock — Releases lock acquired by EventBuffer::lock

Descripción

public bool EventBuffer::unlock ( void )

Releases lock acquired by EventBuffer::lock() .

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

Ver también

  • EventBuffer::lock() - Bloquea un buffer
EventBuffer::unfreeze
EventBuffer::write
EventBuffer


Write contents of the buffer to a file or socket

EventBuffer::unlock
EventBufferEvent
EventBuffer
PHP Manual

EventBuffer::write

(PECL event >= 1.6.0)

EventBuffer::write — Write contents of the buffer to a file or socket

Descripción

public void EventBuffer::write ( mixed $fd [, int $howmuch ] )

Write contents of the buffer to a file descriptor. The buffer will be drained after the bytes have been successfully written.

Parámetros

fd

Socket resource, stream or numeric file descriptor associated normally associated with a socket.

howmuch

The maximum number of bytes to write.

Valores devueltos

Returns the number of bytes written, or FALSE on error.

Ver también

  • EventBuffer::read() - Read data from an evbuffer and drain the bytes read
EventBuffer::unlock
EventBufferEvent
EventBuffer


The EventBufferEvent class

(PECL event >= 1.2.6-beta)

Introducción

Represents Libevent's buffer event.

Usually an application wants to perform some amount of data buffering in addition to just responding to events. When we want to write data, for example, the usual pattern looks like:

  1. Decide that we want to write some data to a connection; put that data in a buffer.

  2. Wait for the connection to become writable

  3. Write as much of the data as we can

  4. Remember how much we wrote, and if we still have more data to write, wait for the connection to become writable again.

This buffered I/O pattern is common enough that Libevent provides a generic mechanism for it. A "buffer event" consists of an underlying transport (like a socket), a read buffer, and a write buffer. Instead of regular events, which give callbacks when the underlying transport is ready to be read or written, a buffer event invokes its user-supplied callbacks when it has read or written enough data.

Sinopsis de la Clase

final EventBufferEvent {
/* Constants */
const integer READING = 1 ;
const integer WRITING = 2 ;
const integer EOF = 16 ;
const integer ERROR = 32 ;
const integer TIMEOUT = 64 ;
const integer CONNECTED = 128 ;
const integer OPT_CLOSE_ON_FREE = 1 ;
const integer OPT_THREADSAFE = 2 ;
const integer OPT_DEFER_CALLBACKS = 4 ;
const integer OPT_UNLOCK_CALLBACKS = 8 ;
const integer SSL_OPEN = 0 ;
const integer SSL_CONNECTING = 1 ;
const integer SSL_ACCEPTING = 2 ;
/* Propiedades */
public integer $fd ;
public integer $priority ;
public readonly EventBuffer $input ;
public readonly EventBuffer $output ;
/* Métodos */
public bool connect ( string $addr )
public bool connectHost ( EventDnsBase $dns_base , string $hostname , int $port [, int $family = EventUtil::AF_UNSPEC ] )
public __construct ( EventBase $base [, mixed $socket = NULL [, int $options = 0 [, callable $readcb = NULL [, callable $writecb = NULL [, callable $eventcb = NULL ]]]]] )
public array createPair ( EventBase $base [, int $options = 0 ] )
public bool disable ( int $events )
public bool enable ( string $events )
public void free ( void )
public string getDnsErrorString ( void )
public int getEnabled ( void )
public EventBuffer getInput ( void )
public EventBuffer getOutput ( void )
public int read ( string &$data , int $size )
public bool readBuffer ( EventBuffer $buf )
public void setCallbacks ( callable $readcb , callable $writecb , callable $eventcb [, string $arg ] )
public bool setPriority ( int $priority )
public bool setTimeouts ( int $timeout_read , int $timeout_write )
public void setWatermark ( int $events , int $lowmark , int $highmark )
public void sslError ( void )
public static EventBufferEvent sslFilter ( EventBase $base , EventBufferEvent $underlying , EventSslContext $ctx , int $state [, int $options = 0 ] )
public void sslRenegotiate ( void )
public static EventBufferEvent sslSocket ( EventBase $base , mixed $socket , EventSslContext $ctx , int $state [, int $options ] )
public bool write ( string $data )
public bool writeBuffer ( EventBuffer $buf )
}

Propiedades

fd

Numeric file descriptor associated with the buffer event. Normally represents a bound socket. Equals to NULL, if there is no file descriptor(socket) associated with the buffer event.

priority

The priority of the events used to implement the buffer event.

input

Underlying input buffer object( EventBuffer )

output

Underlying output buffer object( EventBuffer )

Constantes predefinidas

EventBufferEvent::READING

An event occured during a read operation on the bufferevent. See the other flags for which event it was.

EventBufferEvent::WRITING

An event occured during a write operation on the bufferevent. See the other flags for which event it was.

EventBufferEvent::EOF

Got an end-of-file indication on the buffer event.

EventBufferEvent::ERROR

An error occurred during a bufferevent operation. For more information on what the error was, call EventUtil::getLastSocketErrno() and/or EventUtil::getLastSocketError() .

EventBufferEvent::TIMEOUT

EventBufferEvent::CONNECTED

Finished a requested connection on the bufferevent.

EventBufferEvent::OPT_CLOSE_ON_FREE

When the buffe revent is freed, close the underlying transport. This will close an underlying socket, free an underlying buffer event, etc.

EventBufferEvent::OPT_THREADSAFE

Automatically allocate locks for the bufferevent, so that it’s safe to use from multiple threads.

EventBufferEvent::OPT_DEFER_CALLBACKS

When this flag is set, the bufferevent defers all of its callbacks. See » Fast portable non-blocking network programming with Libevent, Deferred callbacks .

EventBufferEvent::OPT_UNLOCK_CALLBACKS

By default, when the bufferevent is set up to be threadsafe, the buffer event’s locks are held whenever the any user-provided callback is invoked. Setting this option makes Libevent release the buffer event’s lock when it’s invoking the callbacks.

EventBufferEvent::SSL_OPEN

The SSL handshake is done

EventBufferEvent::SSL_CONNECTING

SSL is currently performing negotiation as a client

EventBufferEvent::SSL_ACCEPTING

SSL is currently performing negotiation as a server

Tabla de contenidos

  • EventBufferEvent::connect — Connect buffer event's file descriptor to given address or UNIX socket
  • EventBufferEvent::connectHost — Connects to a hostname with optionally asyncronous DNS resolving
  • EventBufferEvent::__construct — Constructs EventBufferEvent object
  • EventBufferEvent::createPair — Creates two buffer events connected to each other
  • EventBufferEvent::disable — Disable events read, write, or both on a buffer event.
  • EventBufferEvent::enable — Enable events read, write, or both on a buffer event.
  • EventBufferEvent::free — Free a buffer event
  • EventBufferEvent::getDnsErrorString — Returns string describing the last failed DNS lookup attempt
  • EventBufferEvent::getEnabled — Returns bitmask of events currently enabled on the buffer event
  • EventBufferEvent::getInput — Returns underlying input buffer associated with current buffer event
  • EventBufferEvent::getOutput — Returns underlying output buffer associated with current buffer event
  • EventBufferEvent::read — Read buffer's data
  • EventBufferEvent::readBuffer — Drains the entire contents of the input buffer and places them into buf
  • EventBufferEvent::setCallbacks — Assigns read, write and event(status) callbacks
  • EventBufferEvent::setPriority — Assign a priority to a bufferevent
  • EventBufferEvent::setTimeouts — Set the read and write timeout for a buffer event
  • EventBufferEvent::setWatermark — Adjusts read and/or write watermarks
  • EventBufferEvent::sslError — Returns most recent OpenSSL error reported on the buffer event
  • EventBufferEvent::sslFilter — Crea un nuevo evento búfer SSL búfer para enviar sus datos a otro evento búfer
  • EventBufferEvent::sslRenegotiate — Tells a bufferevent to begin SSL renegotiation.
  • EventBufferEvent::sslSocket — Creates a new SSL buffer event to send its data over an SSL on a socket
  • EventBufferEvent::write — Adds data to a buffer event's output buffer
  • EventBufferEvent::writeBuffer — Adds contents of the entire buffer to a buffer event's output buffer
EventBuffer::write
EventBufferEvent::connect
Event


Connect buffer event's file descriptor to given address or UNIX socket

EventBufferEvent
EventBufferEvent::connectHost
EventBufferEvent
PHP Manual

EventBufferEvent::connect

(PECL event >= 1.2.6-beta)

EventBufferEvent::connect — Connect buffer event's file descriptor to given address or UNIX socket

Descripción

public bool EventBufferEvent::connect ( string $addr )

Connect buffer event's file descriptor to given address(optionally with port), or a UNIX domain socket.

If socket is not assigned to the buffer event, this function allocates a new socket and makes it non-blocking internally.

To resolve DNS names(asyncronously), use EventBufferEvent::connectHost() method.

Parámetros

addr

Should contain an IP address with optional port number, or a path to UNIX domain socket. Recognized formats are:

[IPv6Address]:port
[IPv6Address]
IPv6Address
IPv4Address:port
IPv4Address
unix:path
Note, 'unix:' prefix is currently not case sensitive.

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

Ejemplos

Ejemplo #1 EventBufferEvent::connect() example

<?php
/*
 * 1. Connect to 127.0.0.1 at port 80
 * by means of EventBufferEvent::connect().
 *
 * 2. Request /index.cphp via HTTP/1.0
 * using the output buffer.
 *
 * 3. Asyncronously read the response and print it to stdout.
 */

/* Read callback */
function readcb($bev, $base) {
    $input = $bev->getInput();

    while (($n = $input->remove($buf, 1024)) > 0) {
        echo $buf;
    }
}

/* Event callback */
function eventcb($bev, $events, $base) {
    if ($events & EventBufferEvent::CONNECTED) {
        echo "Connected.\n";
    } elseif ($events & (EventBufferEvent::ERROR | EventBufferEvent::EOF)) {
        if ($events & EventBufferEvent::ERROR) {
            echo "DNS error: ", $bev->getDnsErrorString(), PHP_EOL;
        }

        echo "Closing\n";
        $base->exit();
        exit("Done\n");
    }
}

$base = new EventBase();

echo "step 1\n";
$bev = new EventBufferEvent($base, /* use internal socket */ NULL,
    EventBufferEvent::OPT_CLOSE_ON_FREE | EventBufferEvent::OPT_DEFER_CALLBACKS);
if (!$bev) {
    exit("Failed creating bufferevent socket\n");
}

echo "step 2\n";
$bev->setCallbacks("readcb", /* writecb */ NULL, "eventcb", $base);
$bev->enable(Event::READ | Event::WRITE);

echo "step 3\n";
/* Send request */
$output = $bev->getOutput();
if (!$output->add(
    "GET /index.cphp HTTP/1.0\r\n".
    "Connection: Close\r\n\r\n"
)) {
    exit("Failed adding request to output buffer\n");
}

/* Connect to the host syncronously.
 * We know the IP, and don't need to resolve DNS. */
if (!$bev->connect("127.0.0.1:80")) {
    exit("Can't connect to host\n");
}

/* Dispatch pending events */
$base->dispatch();

El resultado del ejemplo sería algo similar a:

step 1
step 2
step 3
Connected.
HTTP/1.1 200 OK
Server: nginx/1.2.6
Date: Sat, 09 Mar 2013 10:06:58 GMT
Content-Type: text/html; charset=utf-8
Connection: close
X-Powered-By: PHP/5.4.11--pl2-gentoo

sdfsdfsf
Closing
Done

Ejemplo #2 Connect to UNIX domain socket which presumably is served by a server, read response from the server and output it to the console

<?php
class MyUnixSocketClient {
    private $base, $bev;

    function __construct($base, $sock_path) {
        $this->base = $base;
        $this->bev = new EventBufferEvent($base, NULL, EventBufferEvent::OPT_CLOSE_ON_FREE,
            array ($this, "read_cb"), NULL, array ($this, "event_cb"));

        if (!$this->bev->connect("unix:$sock_path")) {
            trigger_error("Failed to connect to socket `$sock_path'", E_USER_ERROR);
        }

        $this->bev->enable(Event::READ);
    }

    function __destruct() {
        if ($this->bev) {
            $this->bev->free();
            $this->bev = NULL;
        }
    }

    function dispatch() {
        $this->base->dispatch();
    }

    function read_cb($bev, $unused) {
        $in = $bev->input;

        printf("Received %ld bytes\n", $in->length);
        printf("----- data ----\n");
        printf("%ld:\t%s\n", (int) $in->length, $in->pullup(-1));

        $this->bev->free();
        $this->bev = NULL;
        $this->base->exit(NULL);
    }

    function event_cb($bev, $events, $unused) {
        if ($events & EventBufferEvent::ERROR) {
            echo "Error from bufferevent\n";
        }

        if ($events & (EventBufferEvent::EOF | EventBufferEvent::ERROR)) {
            $bev->free();
            $bev = NULL;
        } elseif ($events & EventBufferEvent::CONNECTED) {
            $bev->output->add("test\n");
        }
    }
}

if ($argc <= 1) {
    exit("Socket path is not provided\n");
}
$sock_path = $argv[1];

$base = new EventBase();
$cl = new MyUnixSocketClient($base, $sock_path);
$cl->dispatch();
?>

El resultado del ejemplo sería algo similar a:

Received 5 bytes
----- data ----
5:  test

Ver también

  • EventBufferEvent::connectHost() - Connects to a hostname with optionally asyncronous DNS resolving
EventBufferEvent
EventBufferEvent::connectHost
EventBufferEvent


Connects to a hostname with optionally asyncronous DNS resolving

EventBufferEvent::connect
EventBufferEvent::__construct
EventBufferEvent
PHP Manual

EventBufferEvent::connectHost

(PECL event >= 1.2.6-beta)

EventBufferEvent::connectHost — Connects to a hostname with optionally asyncronous DNS resolving

Descripción

public bool EventBufferEvent::connectHost ( EventDnsBase $dns_base , string $hostname , int $port [, int $family = EventUtil::AF_UNSPEC ] )

Resolves the DNS name hostname, looking for addresses of type family ( EventUtil::AF_* constants). If the name resolution fails, it invokes the event callback with an error event. If it succeeds, it launches a connection attempt just as EventBufferEvent::connect() would.

dns_base is optional. May be NULL, or an object created with EventDnsBase::__construct() . For asyncronous hostname resolving pass a valid event dns base resource. Otherwise the hostname resolving will block.

Nota:

EventDnsBase is available only if Event configured --with-event-extra ( event_extra library, libevent protocol-specific functionality support including HTTP, DNS, and RPC ).

Nota:

EventBufferEvent::connectHost() requires libevent-2.0.3-alpha or greater.

Parámetros

dns_base

Object of EventDnsBase in case if DNS is to be resolved asyncronously. Otherwise NULL.

hostname

Hostname to connect to. Recognized formats are:

www.example.com (hostname)
 1.2.3.4 (ipv4address)
 ::1 (ipv6address)
[::1] ([ipv6address])

port

Port number

family

Address family. EventUtil::AF_UNSPEC , EventUtil::AF_INET , or EventUtil::AF_INET6 . See EventUtil constants .

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

Ejemplos

Ejemplo #1 EventBufferEvent::connectHost() example

<?php
/* Read callback */
function readcb($bev, $base) {
    //$input = $bev->input; //$bev->getInput();

    //$pos = $input->search("TTP");
    $pos = $bev->input->search("TTP");

    while (($n = $bev->input->remove($buf, 1024)) > 0) {
        echo $buf;
    }
}

/* Event callback */
function eventcb($bev, $events, $base) {
    if ($events & EventBufferEvent::CONNECTED) {
        echo "Connected.\n";
    } elseif ($events & (EventBufferEvent::ERROR | EventBufferEvent::EOF)) {
        if ($events & EventBufferEvent::ERROR) {
            echo "DNS error: ", $bev->getDnsErrorString(), PHP_EOL;
        }

        echo "Closing\n";
        $base->exit();
        exit("Done\n");
    }
}

$base = new EventBase();

$dns_base = new EventDnsBase($base, TRUE); // We'll use async DNS resolving
if (!$dns_base) {
    exit("Failed to init DNS Base\n");
}

$bev = new EventBufferEvent($base, /* use internal socket */ NULL,
    EventBufferEvent::OPT_CLOSE_ON_FREE | EventBufferEvent::OPT_DEFER_CALLBACKS,
    "readcb", /* writecb */ NULL, "eventcb", $base
);
if (!$bev) {
    exit("Failed creating bufferevent socket\n");
}

//$bev->setCallbacks("readcb", /* writecb */ NULL, "eventcb", $base);
$bev->enable(Event::READ | Event::WRITE);

$output = $bev->output; //$bev->getOutput();
if (!$output->add(
    "GET {$argv[2]} HTTP/1.0\r\n".
    "Host: {$argv[1]}\r\n".
    "Connection: Close\r\n\r\n"
)) {
    exit("Failed adding request to output buffer\n");
}

if (!$bev->connectHost($dns_base, $argv[1], 80, EventUtil::AF_UNSPEC)) {
    exit("Can't connect to host {$argv[1]}\n");
}

$base->dispatch();
?>

El resultado del ejemplo sería algo similar a:

Connected.
HTTP/1.0 301 Moved Permanently
Location: http://www.google.co.uk/
Content-Type: text/html; charset=UTF-8
Date: Sat, 09 Mar 2013 12:21:19 GMT
Expires: Mon, 08 Apr 2013 12:21:19 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 221
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN

<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.co.uk/">here</A>.
</BODY></HTML>
Closing
Done

Ver también

  • EventBufferEvent::connect() - Connect buffer event's file descriptor to given address or UNIX socket
EventBufferEvent::connect
EventBufferEvent::__construct
EventBufferEvent


Constructs EventBufferEvent object

EventBufferEvent::connectHost
EventBufferEvent::createPair
EventBufferEvent
PHP Manual

EventBufferEvent::__construct

(PECL event >= 1.2.6-beta)

EventBufferEvent::__construct — Constructs EventBufferEvent object

Descripción

public EventBufferEvent::__construct ( EventBase $base [, mixed $socket = NULL [, int $options = 0 [, callable $readcb = NULL [, callable $writecb = NULL [, callable $eventcb = NULL ]]]]] )

Create a buffer event on a socket, stream or a file descriptor. Passing NULL to socket means that the socket should be created later, e.g. by means of EventBufferEvent::connect() .

Parámetros

base

Event base that should be associated with the new buffer event.

socket

May be created as a stream(not necessarily by means of sockets extension)

options

One of EventBufferEvent::OPT_* constants , or 0 .

readcb

Read event callback. See About buffer event callbacks .

writecb

Write event callback. See About buffer event callbacks .

eventcb

Status-change event callback. See About buffer event callbacks .

arg

A variable that will be passed to all the callbacks.

Valores devueltos

Returns buffer event resource optionally associated with socket resource. */

Ver también

  • EventBufferEvent::sslFilter() - Crea un nuevo evento búfer SSL búfer para enviar sus datos a otro evento búfer
  • EventBufferEvent::sslSocket() - Creates a new SSL buffer event to send its data over an SSL on a socket
EventBufferEvent::connectHost
EventBufferEvent::createPair
EventBufferEvent


Creates two buffer events connected to each other

EventBufferEvent::__construct
EventBufferEvent::disable
EventBufferEvent
PHP Manual

EventBufferEvent::createPair

(PECL event >= 1.2.6-beta)

EventBufferEvent::createPair — Creates two buffer events connected to each other

Descripción

public array EventBufferEvent::createPair ( EventBase $base [, int $options = 0 ] )

Returns array of two EventBufferEvent objects connected to each other. All the usual options are supported, except for EventBufferEvent::OPT_CLOSE_ON_FREE , which has no effect, and EventBufferEvent::OPT_DEFER_CALLBACKS , which is always on.

Parámetros

base

Associated event base

options

EventBufferEvent::OPT_* constants combined with bitwise OR operator.

Valores devueltos

Returns array of two EventBufferEvent objects connected to each other.

EventBufferEvent::__construct
EventBufferEvent::disable
EventBufferEvent


Disable events read, write, or both on a buffer event.

EventBufferEvent::createPair
EventBufferEvent::enable
EventBufferEvent
PHP Manual

EventBufferEvent::disable

(PECL event >= 1.2.6-beta)

EventBufferEvent::disable — Disable events read, write, or both on a buffer event.

Descripción

public bool EventBufferEvent::disable ( int $events )

Disable events Event::READ , Event::WRITE , or Event::READ | Event::WRITE on a buffer event.

Parámetros

events

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

Ver también

  • EventBufferEvent::enable() - Enable events read, write, or both on a buffer event.
EventBufferEvent::createPair
EventBufferEvent::enable
EventBufferEvent


Enable events read, write, or both on a buffer event.

EventBufferEvent::disable
EventBufferEvent::free
EventBufferEvent
PHP Manual

EventBufferEvent::enable

(PECL event >= 1.2.6-beta)

EventBufferEvent::enable — Enable events read, write, or both on a buffer event.

Descripción

public bool EventBufferEvent::enable ( string $events )

Disable events Event::READ , Event::WRITE , or Event::READ | Event::WRITE on a buffer event.

Parámetros

events

Event::READ , Event::WRITE , or Event::READ | Event::WRITE on a buffer event.

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

Ver también

  • EventBufferEvent::disable() - Disable events read, write, or both on a buffer event.
EventBufferEvent::disable
EventBufferEvent::free
EventBufferEvent


Free a buffer event

EventBufferEvent::enable
EventBufferEvent::getDnsErrorString
EventBufferEvent
PHP Manual

EventBufferEvent::free

(PECL event >= 1.2.6-beta)

EventBufferEvent::free — Free a buffer event

Descripción

public void EventBufferEvent::free ( void )

Free resources allocated by buffer event.

Usually there is no need to call this method, since normally it is done within internal object destructors. However, sometimes we have a long-time script allocating lots of instances, or a script with a heavy memory usage, where we need to free resources as soon as possible. In such cases EventBufferEvent::free() may be used to protect the script against running up to the memory_limit .

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

EventBufferEvent::enable
EventBufferEvent::getDnsErrorString
EventBufferEvent


Returns string describing the last failed DNS lookup attempt

EventBufferEvent::free
EventBufferEvent::getEnabled
EventBufferEvent
PHP Manual

EventBufferEvent::getDnsErrorString

(PECL event >= 1.2.6-beta)

EventBufferEvent::getDnsErrorString — Returns string describing the last failed DNS lookup attempt

Descripción

public string EventBufferEvent::getDnsErrorString ( void )

Returns string describing the last failed DNS lookup attempt made by EventBufferEvent::connectHost() , or an empty string, if there is no DNS error detected.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns a string describing DNS lookup error, or an empty string for no error.

Ver también

  • EventBufferEvent::connectHost() - Connects to a hostname with optionally asyncronous DNS resolving
EventBufferEvent::free
EventBufferEvent::getEnabled
EventBufferEvent


Returns bitmask of events currently enabled on the buffer event

EventBufferEvent::getDnsErrorString
EventBufferEvent::getInput
EventBufferEvent
PHP Manual

EventBufferEvent::getEnabled

(PECL event >= 1.2.6-beta)

EventBufferEvent::getEnabled — Returns bitmask of events currently enabled on the buffer event

Descripción

public int EventBufferEvent::getEnabled ( void )

Returns bitmask of events currently enabled on the buffer event

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns integer representing a bitmask of events currently enabled on the buffer event

Ver también

  • EventBufferEvent::enable() - Enable events read, write, or both on a buffer event.
  • EventBufferEvent::disable() - Disable events read, write, or both on a buffer event.
EventBufferEvent::getDnsErrorString
EventBufferEvent::getInput
EventBufferEvent


Returns underlying input buffer associated with current buffer event

EventBufferEvent::getEnabled
EventBufferEvent::getOutput
EventBufferEvent
PHP Manual

EventBufferEvent::getInput

(PECL event >= 1.2.6-beta)

EventBufferEvent::getInput — Returns underlying input buffer associated with current buffer event

Descripción

public EventBuffer EventBufferEvent::getInput ( void )

Returns underlying input buffer associated with current buffer event. An input buffer is a storage for data to read.

Note, there is also input property of EventBufferEvent class.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns instance of EventBuffer input buffer associated with current buffer event.

Ejemplos

Ejemplo #1 Buffer event's read callback

<?php
function readcb($bev, $base) {
    $input = $bev->input; //$bev->getInput();

    while (($n = $input->remove($buf, 1024)) > 0) {
        echo $buf;
    }
}
?>

Ver también

  • EventBufferEvent::getOutput() - Returns underlying output buffer associated with current buffer event
EventBufferEvent::getEnabled
EventBufferEvent::getOutput
EventBufferEvent


Returns underlying output buffer associated with current buffer event

EventBufferEvent::getInput
EventBufferEvent::read
EventBufferEvent
PHP Manual

EventBufferEvent::getOutput

(PECL event >= 1.2.6-beta)

EventBufferEvent::getOutput — Returns underlying output buffer associated with current buffer event

Descripción

public EventBuffer EventBufferEvent::getOutput ( void )

Returns underlying output buffer associated with current buffer event. An output buffer is a storage for data to be written.

Note, there is also output property of EventBufferEvent class.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns instance of EventBuffer output buffer associated with current buffer event.

Ejemplos

Ejemplo #1 EventBufferEvent::getOutput() example

<?php
$base = new EventBase();

$dns_base = new EventDnsBase($base, TRUE); // Use async DNS resolving
if (!$dns_base) {
    exit("Failed to init DNS Base\n");
}

$bev = new EventBufferEvent($base, /* use internal socket */ NULL,
    EventBufferEvent::OPT_CLOSE_ON_FREE | EventBufferEvent::OPT_DEFER_CALLBACKS,
    "readcb", /* writecb */ NULL, "eventcb", $base
);
if (!$bev) {
    exit("Failed creating bufferevent socket\n");
}

$bev->enable(Event::READ | Event::WRITE);

$output = $bev->getOutput();
if (!$output->add(
    "GET {$argv[2]} HTTP/1.0\r\n".
    "Host: {$argv[1]}\r\n".
    "Connection: Close\r\n\r\n"
)) {
    exit("Failed adding request to output buffer\n");
}

/* ... */
?>

Ver también

  • EventBufferEvent::getInput() - Returns underlying input buffer associated with current buffer event
EventBufferEvent::getInput
EventBufferEvent::read
EventBufferEvent


Read buffer's data

EventBufferEvent::getOutput
EventBufferEvent::readBuffer
EventBufferEvent
PHP Manual

EventBufferEvent::read

(PECL event >= 1.2.6-beta)

EventBufferEvent::read — Read buffer's data

Descripción

public int EventBufferEvent::read ( string &$data , int $size )

Removes up to size bytes from the input buffer, storing them into data .

Parámetros

data

Storage for the read data.

size

Maximum numbe rof bytes to read

Valores devueltos

Returns the number of bytes actually removed.

Ver también

  • EventBufferEvent::readBuffer() - Drains the entire contents of the input buffer and places them into buf
EventBufferEvent::getOutput
EventBufferEvent::readBuffer
EventBufferEvent


Drains the entire contents of the input buffer and places them into buf

EventBufferEvent::read
EventBufferEvent::setCallbacks
EventBufferEvent
PHP Manual

EventBufferEvent::readBuffer

(PECL event >= 1.2.6-beta)

EventBufferEvent::readBuffer — Drains the entire contents of the input buffer and places them into buf

Descripción

public bool EventBufferEvent::readBuffer ( EventBuffer $buf )

Drains the entire contents of the input buffer and places them into buf .

Parámetros

buf

Target buffer

Valores devueltos

Returns TRUE on success; Otherwise FALSE.

Ver también

  • EventBufferEvent::read() - Read buffer's data
EventBufferEvent::read
EventBufferEvent::setCallbacks
EventBufferEvent


Assigns read, write and event(status) callbacks

EventBufferEvent::readBuffer
EventBufferEvent::setPriority
EventBufferEvent
PHP Manual

EventBufferEvent::setCallbacks

(PECL event >= 1.2.6-beta)

EventBufferEvent::setCallbacks — Assigns read, write and event(status) callbacks

Descripción

public void EventBufferEvent::setCallbacks ( callable $readcb , callable $writecb , callable $eventcb [, string $arg ] )

Assigns read, write and event(status) callbacks.

Parámetros

readcb

Read event callback. See About buffer event callbacks .

writecb

Write event callback. See About buffer event callbacks .

eventcb

Status-change event callback. See About buffer event callbacks .

arg

A variable that will be passed to all the callbacks.

Valores devueltos

No devuelve ningún valor.

Ver también

  • EventBufferEvent::__construct() - Constructs EventBufferEvent object
EventBufferEvent::readBuffer
EventBufferEvent::setPriority
EventBufferEvent


Assign a priority to a bufferevent

EventBufferEvent::setCallbacks
EventBufferEvent::setTimeouts
EventBufferEvent
PHP Manual

EventBufferEvent::setPriority

(PECL event >= 1.2.6-beta)

EventBufferEvent::setPriority — Assign a priority to a bufferevent

Descripción

public bool EventBufferEvent::setPriority ( int $priority )

Assign a priority to a bufferevent

Advertencia

Only supported for socket buffer events

Parámetros

priority

Priority value.

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

EventBufferEvent::setCallbacks
EventBufferEvent::setTimeouts
EventBufferEvent


Set the read and write timeout for a buffer event

EventBufferEvent::setPriority
EventBufferEvent::setWatermark
EventBufferEvent
PHP Manual

EventBufferEvent::setTimeouts

(PECL event >= 1.2.6-beta)

EventBufferEvent::setTimeouts — Set the read and write timeout for a buffer event

Descripción

public bool EventBufferEvent::setTimeouts ( int $timeout_read , int $timeout_write )

Set the read and write timeout for a buffer event

Parámetros

timeout_read

Read timeout

timeout_write

Write timeout

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

EventBufferEvent::setPriority
EventBufferEvent::setWatermark
EventBufferEvent


Adjusts read and/or write watermarks

EventBufferEvent::setTimeouts
EventBufferEvent::sslError
EventBufferEvent
PHP Manual

EventBufferEvent::setWatermark

(PECL event >= 1.2.6-beta)

EventBufferEvent::setWatermark — Adjusts read and/or write watermarks

Descripción

public void EventBufferEvent::setWatermark ( int $events , int $lowmark , int $highmark )

Adjusts the read watermarks, the write watermarks , or both, of a single buffer event.

A buffer event watermark is an edge, a value specifying number of bytes to be read or written before callback is invoked. By default every read/write event triggers a callback invokation. See » Fast portable non-blocking network programming with Libevent: Callbacks and watermarks

Parámetros

events

Bitmask of Event::READ , Event::WRITE , or both.

lowmark

Minimum watermark value.

highmark

Maximum watermark value. 0 means "unlimited".

Valores devueltos

No devuelve ningún valor.

EventBufferEvent::setTimeouts
EventBufferEvent::sslError
EventBufferEvent


Returns most recent OpenSSL error reported on the buffer event

EventBufferEvent::setWatermark
EventBufferEvent::sslFilter
EventBufferEvent
PHP Manual

EventBufferEvent::sslError

(PECL event >= 1.2.6-beta)

EventBufferEvent::sslError — Returns most recent OpenSSL error reported on the buffer event

Descripción

public void EventBufferEvent::sslError ( void )

Returns most recent OpenSSL error reported on the buffer event.

Nota:

This function is available only if Event is compiled with OpenSSL support.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns FALSE, if there is no more error to return.

Ejemplos

Ejemplo #1 EventBufferEvent::sslError() example

<?php
// This callback is invoked when some even occurs on the event listener,
// e.g. connection closed, or an error occured
function ssl_event_cb($bev, $events, $ctx) {
    if ($events & EventBufferEvent::ERROR) {
        // Fetch errors from the SSL error stack
        while ($err = $bev->sslError()) {
            fprintf(STDERR, "Bufferevent error %s.\n", $err);
        }
    }

    if ($events & (EventBufferEvent::EOF | EventBufferEvent::ERROR)) {
        $bev->free();
    }
}
?>

Ver también

  • EventBufferEvent::sslRenegotiate() - Tells a bufferevent to begin SSL renegotiation.
EventBufferEvent::setWatermark
EventBufferEvent::sslFilter
EventBufferEvent


Crea un nuevo evento búfer SSL búfer para enviar sus datos a otro evento búfer

EventBufferEvent::sslError
EventBufferEvent::sslRenegotiate
EventBufferEvent
PHP Manual

EventBufferEvent::sslFilter

(PECL event >= 1.2.6-beta)

EventBufferEvent::sslFilter — Crea un nuevo evento búfer SSL búfer para enviar sus datos a otro evento búfer

Descripción

public static EventBufferEvent EventBufferEvent::sslFilter ( EventBase $base , EventBufferEvent $underlying , EventSslContext $ctx , int $state [, int $options = 0 ] )

Crea un nuevo evento búfer SSL búfer para enviar sus datos a otro evento búfer

Nota:

Esta función está disponible solo si This function is available only if Event es compilado con suporte para OpenSSL.

Parámetros

base

Evento base asociado.

underlying

El socket evento búfer para usar en esta SSL.

ctx

Objecto de la clase EventSslContext.

state

El estado actual de la conexión SSL: EventBufferEvent::SSL_OPEN , EventBufferEvent::SSL_ACCEPTING o EventBufferEvent::SSL_CONNECTING .

options

Una o más opciones del evento búfer.

Valores devueltos

Devuelve un nuevo objecto SSL EventBufferEvent.

Ejemplos

Ejemplo #1 Simple SMTP server

<?php
 /*
 * Author: Andrew Rose <hello at andrewrose dot co dot uk>
 *
 * Usage:
 * 1) Prepare cert.pem certificate and privkey.pem private key files.
 * 2) Launch the server script
 * 3) Open TLS connection, e.g.:
 *      $ openssl s_client -connect localhost:25 -starttls smtp -crlf
 * 4) Start testing the commands listed in `cmd` method below.
 */

class Handler {
    public $domainName = FALSE;
    public $connections = [];
    public $buffers = [];
    public $maxRead = 256000;

    public function __construct() {
        $this->ctx = new EventSslContext(EventSslContext::SSLv3_SERVER_METHOD, [
            EventSslContext::OPT_LOCAL_CERT  => 'cert.pem',
            EventSslContext::OPT_LOCAL_PK    => 'privkey.pem',
            //EventSslContext::OPT_PASSPHRASE  => '',
            EventSslContext::OPT_VERIFY_PEER => false, // change to true with authentic cert
            EventSslContext::OPT_ALLOW_SELF_SIGNED => true // change to false with authentic cert
        ]);

        $this->base = new EventBase();
        if (!$this->base) {
            exit("Couldn't open event base\n");
        }

        if (!$this->listener = new EventListener($this->base,
            [$this, 'ev_accept'],
            $this->ctx,
            EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE,
            -1,
            '0.0.0.0:25'))
        {
            exit("Couldn't create listener\n");
        }

        $this->listener->setErrorCallback([$this, 'ev_error']);
        $this->base->dispatch();
    }

    public function ev_accept($listener, $fd, $address, $ctx) {
        static $id = 0;
        $id += 1;

        $this->connections[$id]['clientData'] = '';
        $this->connections[$id]['cnx'] = new EventBufferEvent($this->base, $fd,
            EventBufferEvent::OPT_CLOSE_ON_FREE);

        if (!$this->connections[$id]['cnx']) {
            echo "Failed creating buffer\n";
            $this->base->exit(NULL);
            exit(1);
        }

        $this->connections[$id]['cnx']->setCallbacks([$this, "ev_read"], NULL,
            [$this, 'ev_error'], $id);
        $this->connections[$id]['cnx']->enable(Event::READ | Event::WRITE);

        $this->ev_write($id, '220 '.$this->domainName." wazzzap?\r\n");
    }

    function ev_error($listener, $ctx) {
        $errno = EventUtil::getLastSocketErrno();

        fprintf(STDERR, "Got an error %d (%s) on the listener. Shutting down.\n",
            $errno, EventUtil::getLastSocketError());

        if ($errno != 0) {
            $this->base->exit(NULL);
            exit();
        }
    }

    public function ev_close($id) {
        $this->connections[$id]['cnx']->disable(Event::READ | Event::WRITE);
        unset($this->connections[$id]);
    }

    protected function ev_write($id, $string) {
        echo 'S('.$id.'): '.$string;
        $this->connections[$id]['cnx']->write($string);
    }

    public function ev_read($buffer, $id) {
        while($buffer->input->length > 0) {
            $this->connections[$id]['clientData'] .= $buffer->input->read($this->maxRead);
            $clientDataLen = strlen($this->connections[$id]['clientData']);

            if($this->connections[$id]['clientData'][$clientDataLen-1] == "\n"
                && $this->connections[$id]['clientData'][$clientDataLen-2] == "\r")
            {
                // remove the trailing \r\n
                $line = substr($this->connections[$id]['clientData'], 0,
                    strlen($this->connections[$id]['clientData']) - 2);

                $this->connections[$id]['clientData'] = '';
                $this->cmd($buffer, $id, $line);
            }
        }
    }

    protected function cmd($buffer, $id, $line) {
        switch ($line) {
            case strncmp('EHLO ', $line, 4):
                $this->ev_write($id, "250-STARTTLS\r\n");
                $this->ev_write($id, "250 OK ehlo\r\n");
                break;

            case strncmp('HELO ', $line, 4):
                $this->ev_write($id, "250-STARTTLS\r\n");
                $this->ev_write($id, "250 OK helo\r\n");
                break;

            case strncmp('QUIT', $line, 3):
                $this->ev_write($id, "250 OK quit\r\n");
                $this->ev_close($id);
                break;

            case strncmp('STARTTLS', $line, 3):
                $this->ev_write($id, "220 Ready to start TLS\r\n");
                $this->connections[$id]['cnx'] = $this->connections[$id]['cnx']->sslFilter($this->base,
                    $this->connections[$id]['cnx'], $this->ctx,
                    EventBufferEvent::SSL_ACCEPTING,
                    EventBufferEvent::OPT_CLOSE_ON_FREE);
                $this->connections[$id]['cnx']->setCallbacks([$this, "ev_read"], NULL, [$this, 'ev_error'], $id);
                $this->connections[$id]['cnx']->enable(Event::READ | Event::WRITE);
                break;

            default:
                echo 'unknown command: '.$line."\n";
                break;
        }
    }
}

new Handler();

Ver también

  • EventBufferEvent::sslSocket() - Creates a new SSL buffer event to send its data over an SSL on a socket
EventBufferEvent::sslError
EventBufferEvent::sslRenegotiate
EventBufferEvent


Tells a bufferevent to begin SSL renegotiation.

EventBufferEvent::sslFilter
EventBufferEvent::sslSocket
EventBufferEvent
PHP Manual

EventBufferEvent::sslRenegotiate

(PECL event >= 1.2.6-beta)

EventBufferEvent::sslRenegotiate — Tells a bufferevent to begin SSL renegotiation.

Descripción

public void EventBufferEvent::sslRenegotiate ( void )

Tells a bufferevent to begin SSL renegotiation.

Advertencia

Calling this function tells the SSL to renegotiate, and the buffer event to invoke appropriate callbacks. This is an advanced topic; this should be generally avoided unless one really knows what he/she does, especially since many SSL versions have had known security issues related to renegotiation.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

EventBufferEvent::sslFilter
EventBufferEvent::sslSocket
EventBufferEvent


Creates a new SSL buffer event to send its data over an SSL on a socket

EventBufferEvent::sslRenegotiate
EventBufferEvent::write
EventBufferEvent
PHP Manual

EventBufferEvent::sslSocket

(PECL event >= 1.2.6-beta)

EventBufferEvent::sslSocket — Creates a new SSL buffer event to send its data over an SSL on a socket

Descripción

public static EventBufferEvent EventBufferEvent::sslSocket ( EventBase $base , mixed $socket , EventSslContext $ctx , int $state [, int $options ] )

Creates a new SSL buffer event to send its data over an SSL on a socket.

Parámetros

base

Associated event base.

socket

Socket to use for this SSL. Can be stream or socket resource, numeric file descriptor, or NULL. If socket is NULL, it is assumed that the file descriptor for the socket will be assigned later, for instance, by means of EventBufferEvent::connectHost() method.

ctx

Object of EventSslContext class.

state

The current state of SSL connection: EventBufferEvent::SSL_OPEN , EventBufferEvent::SSL_ACCEPTING or EventBufferEvent::SSL_CONNECTING .

options

The buffer event options.

Valores devueltos

Returns EventBufferEvent object.

Ver también

  • EventBufferEvent::sslFilter() - Crea un nuevo evento búfer SSL búfer para enviar sus datos a otro evento búfer
EventBufferEvent::sslRenegotiate
EventBufferEvent::write
EventBufferEvent


Adds data to a buffer event's output buffer

EventBufferEvent::sslSocket
EventBufferEvent::writeBuffer
EventBufferEvent
PHP Manual

EventBufferEvent::write

(PECL event >= 1.2.6-beta)

EventBufferEvent::write — Adds data to a buffer event's output buffer

Descripción

public bool EventBufferEvent::write ( string $data )

Adds data to a buffer event's output buffer

Parámetros

data

Data to be added to the underlying buffer.

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

Ver también

  • EventBufferEvent::writeBuffer() - Adds contents of the entire buffer to a buffer event's output buffer
EventBufferEvent::sslSocket
EventBufferEvent::writeBuffer
EventBufferEvent


Adds contents of the entire buffer to a buffer event's output buffer

EventBufferEvent::write
About buffer event callbacks
EventBufferEvent
PHP Manual

EventBufferEvent::writeBuffer

(PECL event >= 1.2.6-beta)

EventBufferEvent::writeBuffer — Adds contents of the entire buffer to a buffer event's output buffer

Descripción

public bool EventBufferEvent::writeBuffer ( EventBuffer $buf )

Adds contents of the entire buffer to a buffer event's output buffer

Parámetros

buf

Source EventBuffer object.

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

Ver también

  • EventBufferEvent::write() - Adds data to a buffer event's output buffer
EventBufferEvent::write
About buffer event callbacks
EventBufferEvent


About buffer event callbacks

An object of EventBufferEvent class represents a buffer event . The asynchronous nature of I/O performed by Libevent implies that a socket(or other kind of file descriptor) is not always available. Event invokes corresponding callbacks when the resource becomes available for reading or writing, or when some event occurs(e.g. error, "end of line" etc.).

Read and write callbacks should match the following prototype:

void callback ([ EventBufferEvent $bev = NULL [, mixed $arg = NULL ]] )

bev

Associated EventBufferEvent object.

arg

Custom variable attached to all callbacks via EventBufferEvent::__construct() , or EventBufferEvent::setCallbacks() .

Event callback should match the following prototype:

void callback ([ EventBufferEvent $bev = NULL [, int $events = 0 [, mixed $arg = NULL ]]] )

bev

Associated EventBufferEvent object.

events

Bit mask of events: EventBufferEvent::READING , EventBufferEvent::WRITING , EventBufferEvent::EOL , EventBufferEvent::ERROR and EventBufferEvent::TIMEOUT . See EventBufferEvent constants

arg

Custom variable attached to all callbacks via EventBufferEvent::__construct() , or EventBufferEvent::setCallbacks() .

EventBufferEvent::writeBuffer
EventConfig
Event


The EventConfig class

(PECL event >= 1.2.6-beta)

Introducción

Represents configuration structure which could be used in construction of the EventBase .

Sinopsis de la Clase

final EventConfig {
/* Constants */
const integer FEATURE_ET = 1 ;
const integer FEATURE_O1 = 2 ;
const integer FEATURE_FDS = 4 ;
/* Métodos */
public bool avoidMethod ( int $method )
public __construct ( void )
public bool requireFeatures ( int $feature )
public void setMaxDispatchInterval ( int $max_interval , int $max_callbacks , int $min_priority )
}

Constantes predefinidas

EventConfig::FEATURE_ET

Requires a backend method that supports edge-triggered I/O.

EventConfig::FEATURE_O1

Requires a backend method where adding or deleting a single event, or having a single event become active, is an O(1) operation.

EventConfig::FEATURE_FDS

Requires a backend method that can support arbitrary file descriptor types, and not just sockets.

Tabla de contenidos

  • EventConfig::avoidMethod — Tells libevent to avoid specific event method
  • EventConfig::__construct — Constructs EventConfig object
  • EventConfig::requireFeatures — Enters a required event method feature that the application demands
  • EventConfig::setMaxDispatchInterval — Prevents priority inversion
About buffer event callbacks
EventConfig::avoidMethod
Event


Tells libevent to avoid specific event method

EventConfig
EventConfig::__construct
EventConfig
PHP Manual

EventConfig::avoidMethod

(PECL event >= 1.2.6-beta)

EventConfig::avoidMethod — Tells libevent to avoid specific event method

Descripción

public bool EventConfig::avoidMethod ( int $method )

Tells libevent to avoid specific event method(backend). See » Creating an event base .

Parámetros

method

The backend method to avoid. See EventConfig constants .

Valores devueltos

Returns TRUE on success, otherwise FALSE.

Ejemplos

Ejemplo #1 EventConfig::avoidMethod() example

<?php
$cfg = new EventConfig();
if ($cfg->avoidMethod("select")) {
    echo "`select' method avoided\n";
}
?>

Ver también

  • EventBase::__construct() - Construye un objeto EventBase
EventConfig
EventConfig::__construct
EventConfig


Constructs EventConfig object

EventConfig::avoidMethod
EventConfig::requireFeatures
EventConfig
PHP Manual

EventConfig::__construct

(PECL event >= 1.2.6-beta)

EventConfig::__construct — Constructs EventConfig object

Descripción

public EventConfig::__construct ( void )

Constructs EventConfig object which could be passed to EventBase::__construct() constructor.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns EventConfig object.

Ejemplos

Ejemplo #1 EventConfig::__construct() example

<?php
// Avoiding "select" method
$cfg = new EventConfig();
if ($cfg->avoidMethod("select")) {
    echo "`select' method avoided\n";
}

// Create event_base associated with the config
$base = new EventBase($cfg);

/* Now $base is configured to avoid select backend(method) */
?>

Ver también

  • EventBase::__construct() - Construye un objeto EventBase
EventConfig::avoidMethod
EventConfig::requireFeatures
EventConfig


Enters a required event method feature that the application demands

EventConfig::__construct
EventConfig::setMaxDispatchInterval
EventConfig
PHP Manual

EventConfig::requireFeatures

(PECL event >= 1.2.6-beta)

EventConfig::requireFeatures — Enters a required event method feature that the application demands

Descripción

public bool EventConfig::requireFeatures ( int $feature )

Enters a required event method feature that the application demands

Parámetros

feature

Bitmask of required features. See EventConfig::FEATURE_* constants

Valores devueltos

Ejemplos

Ejemplo #1 EventConfig::requireFeatures() example

<?php
$cfg = new EventConfig();

// Create event_base associated with the config
$base = new EventBase($cfg);

// Require FDS feature
if ($cfg->requireFeatures(EventConfig::FEATURE_FDS)) {
    echo "FDS feature is now requried\n";

    $base = new EventBase($cfg);
    ($base->getFeatures() & EventConfig::FEATURE_FDS)
        and print("FDS - arbitrary file descriptor types, and not just sockets\n");
}
?>

El resultado del ejemplo sería algo similar a:

FDS feature is now requried
FDS - arbitrary file descriptor types, and not just sockets

Ver también

  • EventBase::getFeatures() - Devuelve una máscara de bits de funcionalidades soportadas
EventConfig::__construct
EventConfig::setMaxDispatchInterval
EventConfig


Prevents priority inversion

EventConfig::requireFeatures
EventDnsBase
EventConfig
PHP Manual

EventConfig::setMaxDispatchInterval

(No hay información de versión disponible, podría estar únicamente en SVN)

EventConfig::setMaxDispatchInterval — Prevents priority inversion

Descripción

public void EventConfig::setMaxDispatchInterval ( int $max_interval , int $max_callbacks , int $min_priority )

Prevents priority inversion by limiting how many low-priority event callbacks can be invoked before checking for more high-priority events.

Nota:

Available since libevent 2.1.0-alpha .

Parámetros

max_interval

An interval after which Libevent should stop running callbacks and check for more events, or 0 , if there should be no such interval.

max_callbacks

A number of callbacks after which Libevent should stop running callbacks and check for more events, or -1 , if there should be no such limit.

min_priority

A priority below which max_interval and max_callbacks should not be enforced. If this is set to 0 , they are enforced for events of every priority; if it's set to 1 , they're enforced for events of priority 1 and above, and so on.

Valores devueltos

Returns TRUE on success, otherwise FALSE.

EventConfig::requireFeatures
EventDnsBase
EventConfig


The EventDnsBase class

(PECL event >= 1.2.6-beta)

Introducción

Represents Libevent's DNS base structure. Used to resolve DNS asyncronously, parse configuration files like resolv.conf etc.

Sinopsis de la Clase

final EventDnsBase {
/* Constants */
const integer OPTION_SEARCH = 1 ;
const integer OPTION_NAMESERVERS = 2 ;
const integer OPTION_MISC = 4 ;
const integer OPTION_HOSTSFILE = 8 ;
const integer OPTIONS_ALL = 15 ;
/* Métodos */
public bool addNameserverIp ( string $ip )
public void addSearch ( string $domain )
public void clearSearch ( void )
public __construct ( EventBase $base , bool $initialize )
public void countNameservers ( void )
public bool loadHosts ( string $hosts )
public bool parseResolvConf ( int $flags , string $filename )
public bool setOption ( string $option , string $value )
public bool setSearchNdots ( int $ndots )
}

Constantes predefinidas

EventDnsBase::OPTION_SEARCH

Tells to read the domain and search fields from the resolv.conf file and the ndots option, and use them to decide which domains(if any) to search for hostnames that aren’t fully-qualified.

EventDnsBase::OPTION_NAMESERVERS

Tells to learn the nameservers from the resolv.conf file.

EventDnsBase::OPTION_MISC

EventDnsBase::OPTION_HOSTSFILE

Tells to read a list of hosts from /etc/hosts as part of loading the resolv.conf file.

EventDnsBase::OPTIONS_ALL

Tells to learn as much as it can from the resolv.conf file.

Tabla de contenidos

  • EventDnsBase::addNameserverIp — Adds a nameserver to the DNS base
  • EventDnsBase::addSearch — Adds a domain to the list of search domains
  • EventDnsBase::clearSearch — Removes all current search suffixes
  • EventDnsBase::__construct — Constructs EventDnsBase object
  • EventDnsBase::countNameservers — Gets the number of configured nameservers
  • EventDnsBase::loadHosts — Loads a hosts file (in the same format as /etc/hosts) from hosts file
  • EventDnsBase::parseResolvConf — Scans the resolv.conf-formatted file
  • EventDnsBase::setOption — Set the value of a configuration option
  • EventDnsBase::setSearchNdots — Set the 'ndots' parameter for searches
EventConfig::setMaxDispatchInterval
EventDnsBase::addNameserverIp
Event


Adds a nameserver to the DNS base

EventDnsBase
EventDnsBase::addSearch
EventDnsBase
PHP Manual

EventDnsBase::addNameserverIp

(PECL event >= 1.2.6-beta)

EventDnsBase::addNameserverIp — Adds a nameserver to the DNS base

Descripción

public bool EventDnsBase::addNameserverIp ( string $ip )

Adds a nameserver to the evdns_base.

Parámetros

ip

The nameserver string, either as an IPv4 address, an IPv6 address, an IPv4 address with a port ( IPv4:Port ), or an IPv6 address with a port ( [IPv6]:Port ).

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

EventDnsBase
EventDnsBase::addSearch
EventDnsBase


Adds a domain to the list of search domains

EventDnsBase::addNameserverIp
EventDnsBase::clearSearch
EventDnsBase
PHP Manual

EventDnsBase::addSearch

(PECL event >= 1.2.6-beta)

EventDnsBase::addSearch — Adds a domain to the list of search domains

Descripción

public void EventDnsBase::addSearch ( string $domain )

Adds a domain to the list of search domains

Parámetros

domain

Search domain.

Valores devueltos

No devuelve ningún valor.

EventDnsBase::addNameserverIp
EventDnsBase::clearSearch
EventDnsBase


Removes all current search suffixes

EventDnsBase::addSearch
EventDnsBase::__construct
EventDnsBase
PHP Manual

EventDnsBase::clearSearch

(PECL event >= 1.2.6-beta)

EventDnsBase::clearSearch — Removes all current search suffixes

Descripción

public void EventDnsBase::clearSearch ( void )

Removes all current search suffixes from the DNS base; the EventDnsBase::addSearch() function adds a suffix.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • EventDnsBase::addSearch() - Adds a domain to the list of search domains
EventDnsBase::addSearch
EventDnsBase::__construct
EventDnsBase


Constructs EventDnsBase object

EventDnsBase::clearSearch
EventDnsBase::countNameservers
EventDnsBase
PHP Manual

EventDnsBase::__construct

(PECL event >= 1.2.6-beta)

EventDnsBase::__construct — Constructs EventDnsBase object

Descripción

public EventDnsBase::__construct ( EventBase $base , bool $initialize )

Constructs EventDnsBase object.

Parámetros

base

Event base.

initialize

If the initialize argument is TRUE, it tries to configure the DNS base sensibly given your operating system’s default. Otherwise, it leaves the event DNS base empty, with no nameservers or options configured. In the latter case DNS base should be configured manually, e.g. with EventDnsBase::parseResolvConf() .

Valores devueltos

Returns EventDnsBase object.

EventDnsBase::clearSearch
EventDnsBase::countNameservers
EventDnsBase


Gets the number of configured nameservers

EventDnsBase::__construct
EventDnsBase::loadHosts
EventDnsBase
PHP Manual

EventDnsBase::countNameservers

(PECL event >= 1.2.6-beta)

EventDnsBase::countNameservers — Gets the number of configured nameservers

Descripción

public void EventDnsBase::countNameservers ( void )

Gets the number of configured nameservers

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns the number of configured nameservers(not necessarily the number of running nameservers). This is useful for double-checking whether our calls to the various nameserver configuration functions have been successful.

EventDnsBase::__construct
EventDnsBase::loadHosts
EventDnsBase


Loads a hosts file (in the same format as /etc/hosts) from hosts file

EventDnsBase::countNameservers
EventDnsBase::parseResolvConf
EventDnsBase
PHP Manual

EventDnsBase::loadHosts

(PECL event >= 1.2.6-beta)

EventDnsBase::loadHosts — Loads a hosts file (in the same format as /etc/hosts) from hosts file

Descripción

public bool EventDnsBase::loadHosts ( string $hosts )

Loads a hosts file (in the same format as /etc/hosts ) from hosts file.

Parámetros

hosts

Path to the hosts' file.

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

EventDnsBase::countNameservers
EventDnsBase::parseResolvConf
EventDnsBase


Scans the resolv.conf-formatted file

EventDnsBase::loadHosts
EventDnsBase::setOption
EventDnsBase
PHP Manual

EventDnsBase::parseResolvConf

(PECL event >= 1.2.6-beta)

EventDnsBase::parseResolvConf — Scans the resolv.conf-formatted file

Descripción

public bool EventDnsBase::parseResolvConf ( int $flags , string $filename )

Scans the resolv.conf-formatted file stored in filename, and read in all the options from it that are listed in flags

Parámetros

flags

Determines what information is parsed from the resolv.conf file. See the man page for resolv.conf for the format of this file.

The following directives are not parsed from the file: sortlist, rotate, no-check-names, inet6, debug .

If this function encounters an error, the possible return values are:

  • 1 = failed to open file
  • 2 = failed to stat file
  • 3 = file too large
  • 4 = out of memory
  • 5 = short read from file
  • 6 = no nameservers listed in the file

filename

Path to resolv.conf file.

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

EventDnsBase::loadHosts
EventDnsBase::setOption
EventDnsBase


Set the value of a configuration option

EventDnsBase::parseResolvConf
EventDnsBase::setSearchNdots
EventDnsBase
PHP Manual

EventDnsBase::setOption

(PECL event >= 1.2.6-beta)

EventDnsBase::setOption — Set the value of a configuration option

Descripción

public bool EventDnsBase::setOption ( string $option , string $value )

Set the value of a configuration option.

Parámetros

option

The currently available configuration options are: "ndots" , "timeout" , "max-timeouts" , "max-inflight" , and "attempts" .

value

Option value.

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

EventDnsBase::parseResolvConf
EventDnsBase::setSearchNdots
EventDnsBase


Set the 'ndots' parameter for searches

EventDnsBase::setOption
EventHttp
EventDnsBase
PHP Manual

EventDnsBase::setSearchNdots

(PECL event >= 1.2.6-beta)

EventDnsBase::setSearchNdots — Set the 'ndots' parameter for searches

Descripción

public bool EventDnsBase::setSearchNdots ( int $ndots )

Set the 'ndots' parameter for searches. Sets the number of dots which, when found in a name, causes the first query to be without any search domain.

Parámetros

ndots

The number of dots.

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

EventDnsBase::setOption
EventHttp
EventDnsBase


The EventHttp class

(PECL event >= 1.4.0-beta)

Introducción

Represents HTTP server.

Sinopsis de la Clase

final EventHttp {
/* Métodos */
public bool accept ( mixed $socket )
public bool addServerAlias ( string $alias )
public void bind ( string $address , int $port )
public __construct ( EventBase $base )
public bool removeServerAlias ( string $alias )
public void setAllowedMethods ( int $methods )
public void setCallback ( string $path , string $cb [, string $arg ] )
public void setDefaultCallback ( string $cb [, string $arg ] )
public void setMaxBodySize ( int $value )
public void setMaxHeadersSize ( int $value )
public void setTimeout ( int $value )
}

Tabla de contenidos

  • EventHttp::accept — Makes an HTTP server accept connections on the specified socket stream or resource
  • EventHttp::addServerAlias — Adds a server alias to the HTTP server object
  • EventHttp::bind — Binds an HTTP server on the specified address and port
  • EventHttp::__construct — Constructs EventHttp object(the HTTP server)
  • EventHttp::removeServerAlias — Removes server alias
  • EventHttp::setAllowedMethods — Sets the what HTTP methods are supported in requests accepted by this server, and passed to user callbacks
  • EventHttp::setCallback — Sets a callback for specified URI
  • EventHttp::setDefaultCallback — Sets default callback to handle requests that are not caught by specific callbacks
  • EventHttp::setMaxBodySize — Sets maximum request body size
  • EventHttp::setMaxHeadersSize — Sets maximum HTTP header size
  • EventHttp::setTimeout — Sets the timeout for an HTTP request
EventDnsBase::setSearchNdots
EventHttp::accept
Event


Makes an HTTP server accept connections on the specified socket stream or resource

EventHttp
EventHttp::addServerAlias
EventHttp
PHP Manual

EventHttp::accept

(PECL event >= 1.2.6-beta)

EventHttp::accept — Makes an HTTP server accept connections on the specified socket stream or resource

Descripción

public bool EventHttp::accept ( mixed $socket )

Makes an HTTP server accept connections on the specified socket stream or resource. The socket should be ready to accept connections.

Can be called multiple times to accept connections on different sockets.

Nota:

To bind a socket, listen , and accept connections on the socket in s single call use EventHttp::bind() . EventHttp::accept() is needed only if one already has a socket ready to accept connections.

Parámetros

socket

Socket resource, stream or numeric file descriptor representing a socket ready to accept connections.

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

Ejemplos

Ejemplo #1 EventHttp::accept() example

<?php
$base = new EventBase();
$http = new EventHttp($base);

$addresses = array (
     8091 => "127.0.0.1",
     8092 => "127.0.0.2",
);
$i = 0;

$socket = array();

foreach ($addresses as $port => $ip) {
    echo $ip, " ", $port, PHP_EOL;
    $socket[$i] = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
    if (!socket_bind($socket[$i], $ip, $port)) {
        exit("socket_bind failed\n");
    }
    socket_listen($socket[$i], 0);
    socket_set_nonblock($socket[$i]);

    if (!$http->accept($socket[$i])) {
        echo "Accept failed\n";
        exit(1);
    }

    ++$i;
}

$http->setCallback("/some-page", function() {
 echo "(some-page)\n";
    echo "URI: ", $req->getUri(), PHP_EOL;
    $req->sendReply(200, "OK");
    echo "OK\n";
});

$http->setDefaultCallback(function($req) {
    echo "URI: ", $req->getUri(), PHP_EOL;
    $req->sendReply(200, "OK");
    echo "OK\n";
});

$signal = Event::signal($base, SIGINT, function () use ($base) {
    echo "Caught SIGINT. Stopping...\n";
    $base->stop();
});
$signal->add();

$base->dispatch();
echo "END\n";
// We didn't close sockets, since Libevent already sets
// CLOSE_ON_FREE and CLOSE_ON_EXEC flags on the file
// descriptor associated with the sockets.
?>

El resultado del ejemplo sería algo similar a:

Client:
$ nc 127.0.0.1 8091
GET /about HTTP/1.0
Connection: close

HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close

Server:
127.0.0.1 8091
127.0.0.2 8092
URI: /about
OK

Ver también

  • EventHttp::bind() - Binds an HTTP server on the specified address and port
EventHttp
EventHttp::addServerAlias
EventHttp


Adds a server alias to the HTTP server object

EventHttp::accept
EventHttp::bind
EventHttp
PHP Manual

EventHttp::addServerAlias

(PECL event >= 1.4.0-beta)

EventHttp::addServerAlias — Adds a server alias to the HTTP server object

Descripción

public bool EventHttp::addServerAlias ( string $alias )

Adds a server alias to the HTTP server object.

Parámetros

alias

The alias to add.

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

Ejemplos

Ejemplo #1 EventHttp::addServerAlias() example

<?php
$base = new EventBase();
$http = new EventHttp($base);

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if (!$http->bind("127.0.0.1", 8088)) {
    exit("bind(1) failed\n");
};

if (!$http->addServerAlias("local.net")) {
    exit("Failed to add server alias\n");
}

$http->setCallback("/about", function($req) {
    echo "URI: ", $req->getUri(), PHP_EOL;
    $req->sendReply(200, "OK");
});
$base->dispatch();
?>

Ver también

  • EventHttp::removeServerAlias() - Removes server alias
EventHttp::accept
EventHttp::bind
EventHttp


Binds an HTTP server on the specified address and port

EventHttp::addServerAlias
EventHttp::__construct
EventHttp
PHP Manual

EventHttp::bind

(PECL event >= 1.2.6-beta)

EventHttp::bind — Binds an HTTP server on the specified address and port

Descripción

public void EventHttp::bind ( string $address , int $port )

Binds an HTTP server on the specified address and port.

Can be called multiple times to bind the same HTTP server to multiple different ports.

Parámetros

address

A string containing the IP address to listen(2) on.

port

The port number to listen on.

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

Ejemplos

Ejemplo #1 EventHttp::bind() example

<?php
$base = new EventBase();
$http = new EventHttp($base);

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if (!$http->bind("127.0.0.1", 8088)) {
    exit("bind(1) failed\n");
};
if (!$http->bind("127.0.0.1", 8089)) {
    exit("bind(2) failed\n");
};

$http->setCallback("/about", function($req) {
    echo "URI: ", $req->getUri(), PHP_EOL;
    $req->sendReply(200, "OK");
    echo "OK\n";
});

$base->dispatch();
?>

El resultado del ejemplo sería algo similar a:

Client:

$ nc 127.0.0.1 8088
GET /about HTTP/1.0
Connection: close

HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close

$ nc 127.0.0.1 8089
GET /unknown HTTP/1.0
Connection: close

HTTP/1.1 404 Not Found
Content-Type: text/html
Date: Wed, 13 Mar 2013 04:14:41 GMT
Content-Length: 149
Connection: close

<html><head><title>404 Not Found</title></head><body><h1>Not Found</h1><p>The requested URL /unknown was not found on this server.</p></body></html>

Server:
URI: /about
OK

Ver también

  • EventHttp::accept() - Makes an HTTP server accept connections on the specified socket stream or resource
EventHttp::addServerAlias
EventHttp::__construct
EventHttp


Constructs EventHttp object(the HTTP server)

EventHttp::bind
EventHttp::removeServerAlias
EventHttp
PHP Manual

EventHttp::__construct

(PECL event >= 1.2.6-beta)

EventHttp::__construct — Constructs EventHttp object(the HTTP server)

Descripción

public EventHttp::__construct ( EventBase $base )

Constructs the HTTP server object.

Parámetros

base

Associated event base.

Valores devueltos

Returns EventHttp object.

Ejemplos

Ejemplo #1 Simple HTTP server

<?php
/*
 * Simple HTTP server.
 *
 * To test it:
 * 1) Run it on a port of your choice, e.g.:
 * $ php examples/http.php 8010
 * 2) In another terminal connect to some address on this port
 * and make GET or POST request(others are turned off here), e.g.:
 * $ nc -t 127.0.0.1 8010
 * POST /about HTTP/1.0
 * Content-Type: text/plain
 * Content-Length: 4
 * Connection: close
 * (press Enter)
 *
 * It will output
 * a=12
 * HTTP/1.0 200 OK
 * Content-Type: text/html; charset=ISO-8859-1
 * Connection: close
 *
 * $ nc -t 127.0.0.1 8010
 * GET /dump HTTP/1.0
 * Content-Type: text/plain
 * Content-Encoding: UTF-8
 * Connection: close
 * (press Enter)
 *
 * It will output:
 * HTTP/1.0 200 OK
 * Content-Type: text/html; charset=ISO-8859-1
 * Connection: close
 * (press Enter)
 *
 * $ nc -t 127.0.0.1 8010
 * GET /unknown HTTP/1.0
 * Connection: close
 *
 * It will output:
 * HTTP/1.0 200 OK
 * Content-Type: text/html; charset=ISO-8859-1
 * Connection: close
 *
 * 3) See what the server outputs on the previous terminal window.
 */

function _http_dump($req, $data) {
    static $counter      = 0;
    static $max_requests = 2;

    if (++$counter >= $max_requests)  {
        echo "Counter reached max requests $max_requests. Exiting\n";
        exit();
    }

    echo __METHOD__, " called\n";
    echo "request:"; var_dump($req);
    echo "data:"; var_dump($data);

    echo "\n===== DUMP =====\n";
    echo "Command:", $req->getCommand(), PHP_EOL;
    echo "URI:", $req->getUri(), PHP_EOL;
    echo "Input headers:"; var_dump($req->getInputHeaders());
    echo "Output headers:"; var_dump($req->getOutputHeaders());

    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";

    echo "\n >> Reading input buffer ...\n";
    $buf = $req->getInputBuffer();
    while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
        echo $s, PHP_EOL;
    }
    echo "No more data in the buffer\n";
}

function _http_about($req) {
    echo __METHOD__, PHP_EOL;
    echo "URI: ", $req->getUri(), PHP_EOL;
    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";
}

function _http_default($req, $data) {
    echo __METHOD__, PHP_EOL;
    echo "URI: ", $req->getUri(), PHP_EOL;
    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";
}

$port = 8010;
if ($argc > 1) {
    $port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
    exit("Invalid port");
}

$base = new EventBase();
$http = new EventHttp($base);
$http->setAllowedMethods(EventHttpRequest::CMD_GET | EventHttpRequest::CMD_POST);

$http->setCallback("/dump", "_http_dump", array(4, 8));
$http->setCallback("/about", "_http_about");
$http->setDefaultCallback("_http_default", "custom data value");

$http->bind("0.0.0.0", 8010);
$base->loop();
?>

El resultado del ejemplo sería algo similar a:

a=12
HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close

HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close
(press Enter)

HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close
EventHttp::bind
EventHttp::removeServerAlias
EventHttp


Removes server alias

EventHttp::__construct
EventHttp::setAllowedMethods
EventHttp
PHP Manual

EventHttp::removeServerAlias

(PECL event >= 1.4.0-beta)

EventHttp::removeServerAlias — Removes server alias

Descripción

public bool EventHttp::removeServerAlias ( string $alias )

Removes server alias added with EventHttp::addServerAlias()

Parámetros

alias

The alias to remove.

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

Ver también

  • EventHttp::addServerAlias() - Adds a server alias to the HTTP server object
EventHttp::__construct
EventHttp::setAllowedMethods
EventHttp


Sets the what HTTP methods are supported in requests accepted by this server, and passed to user callbacks

EventHttp::removeServerAlias
EventHttp::setCallback
EventHttp
PHP Manual

EventHttp::setAllowedMethods

(PECL event >= 1.4.0-beta)

EventHttp::setAllowedMethods — Sets the what HTTP methods are supported in requests accepted by this server, and passed to user callbacks

Descripción

public void EventHttp::setAllowedMethods ( int $methods )

Sets the what HTTP methods are supported in requests accepted by this server, and passed to user callbacks

If not supported they will generate a "405 Method not allowed" response.

By default this includes the following methods: GET , POST , HEAD , PUT , DELETE . See EventHttpRequest::CMD_* constants.

Parámetros

methods

A bit mask of EventHttpRequest::CMD_* constants .

Valores devueltos

No devuelve ningún valor.

EventHttp::removeServerAlias
EventHttp::setCallback
EventHttp


Sets a callback for specified URI

EventHttp::setAllowedMethods
EventHttp::setDefaultCallback
EventHttp
PHP Manual

EventHttp::setCallback

(PECL event >= 1.4.0-beta)

EventHttp::setCallback — Sets a callback for specified URI

Descripción

public void EventHttp::setCallback ( string $path , string $cb [, string $arg ] )

Sets a callback for specified URI.

Parámetros

path

The path for which to invoke the callback.

cb

The callback callable that gets invoked on requested path . It should match the following prototype:

void callback ([ EventHttpRequest $req = NULL [, mixed $arg = NULL ]] )

req

EventHttpRequest object.

arg

Custom data.

arg

Custom data.

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

Ejemplos

Ejemplo #1 EventHttp::setCallback() example

<?php
/*
 * Simple HTTP server.
 *
 * To test it:
 * 1) Run it on a port of your choice, e.g.:
 * $ php examples/http.php 8010
 * 2) In another terminal connect to some address on this port
 * and make GET or POST request(others are turned off here), e.g.:
 * $ nc -t 127.0.0.1 8010
 * POST /about HTTP/1.0
 * Content-Type: text/plain
 * Content-Length: 4
 * Connection: close
 * (press Enter)
 *
 * It will output
 * a=12
 * HTTP/1.0 200 OK
 * Content-Type: text/html; charset=ISO-8859-1
 * Connection: close
 *
 * 3) See what the server outputs on the previous terminal window.
 */

function _http_dump($req, $data) {
    static $counter      = 0;
    static $max_requests = 2;

    if (++$counter >= $max_requests)  {
        echo "Counter reached max requests $max_requests. Exiting\n";
        exit();
    }

    echo __METHOD__, " called\n";
    echo "request:"; var_dump($req);
    echo "data:"; var_dump($data);

    echo "\n===== DUMP =====\n";
    echo "Command:", $req->getCommand(), PHP_EOL;
    echo "URI:", $req->getUri(), PHP_EOL;
    echo "Input headers:"; var_dump($req->getInputHeaders());
    echo "Output headers:"; var_dump($req->getOutputHeaders());

    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";

    echo "\n >> Reading input buffer ...\n";
    $buf = $req->getInputBuffer();
    while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
        echo $s, PHP_EOL;
    }
    echo "No more data in the buffer\n";
}

function _http_about($req) {
    echo __METHOD__, PHP_EOL;
    echo "URI: ", $req->getUri(), PHP_EOL;
    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";
}

function _http_default($req, $data) {
    echo __METHOD__, PHP_EOL;
    echo "URI: ", $req->getUri(), PHP_EOL;
    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";
}

$port = 8010;
if ($argc > 1) {
    $port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
    exit("Invalid port");
}

$base = new EventBase();
$http = new EventHttp($base);
$http->setAllowedMethods(EventHttpRequest::CMD_GET | EventHttpRequest::CMD_POST);

$http->setCallback("/dump", "_http_dump", array(4, 8));
$http->setCallback("/about", "_http_about");
$http->setDefaultCallback("_http_default", "custom data value");

$http->bind("0.0.0.0", 8010);
$base->loop();
?>

El resultado del ejemplo sería algo similar a:

a=12
HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close

Ver también

  • EventHttp::setDefaultCallback() - Sets default callback to handle requests that are not caught by specific callbacks
EventHttp::setAllowedMethods
EventHttp::setDefaultCallback
EventHttp


Sets default callback to handle requests that are not caught by specific callbacks

EventHttp::setCallback
EventHttp::setMaxBodySize
EventHttp
PHP Manual

EventHttp::setDefaultCallback

(PECL event >= 1.4.0-beta)

EventHttp::setDefaultCallback — Sets default callback to handle requests that are not caught by specific callbacks

Descripción

public void EventHttp::setDefaultCallback ( string $cb [, string $arg ] )

Sets default callback to handle requests that are not caught by specific callbacks

Parámetros

cb

The callback callable . It should match the following prototype:

void callback ([ EventHttpRequest $req = NULL [, mixed $arg = NULL ]] )

req

EventHttpRequest object.

arg

Custom data.

arg

User custom data passed to the callback.

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

Ejemplos

Ejemplo #1 EventHttp::setDefaultCallback() example

<?php
$base = new EventBase();
$http = new EventHttp($base);

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if (!$http->bind("127.0.0.1", 8088)) {
    exit("bind(1) failed\n");
};

$http->setDefaultCallback(function($req) {
    echo "URI: ", $req->getUri(), PHP_EOL;
    $req->sendReply(200, "OK");
});

$base->dispatch();
?>

Ver también

  • EventHttp::setCallback() - Sets a callback for specified URI
EventHttp::setCallback
EventHttp::setMaxBodySize
EventHttp


Sets maximum request body size

EventHttp::setDefaultCallback
EventHttp::setMaxHeadersSize
EventHttp
PHP Manual

EventHttp::setMaxBodySize

(PECL event >= 1.4.0-beta)

EventHttp::setMaxBodySize — Sets maximum request body size

Descripción

public void EventHttp::setMaxBodySize ( int $value )

Sets maximum request body size.

Parámetros

value

The body size in bytes.

Valores devueltos

No devuelve ningún valor.

Ver también

  • EventHttp::setMaxHeadersSize() - Sets maximum HTTP header size
EventHttp::setDefaultCallback
EventHttp::setMaxHeadersSize
EventHttp


Sets maximum HTTP header size

EventHttp::setMaxBodySize
EventHttp::setTimeout
EventHttp
PHP Manual

EventHttp::setMaxHeadersSize

(PECL event >= 1.4.0-beta)

EventHttp::setMaxHeadersSize — Sets maximum HTTP header size

Descripción

public void EventHttp::setMaxHeadersSize ( int $value )

Sets maximum HTTP header size.

Parámetros

value

The header size in bytes.

Valores devueltos

No devuelve ningún valor.

Ver también

  • EventHttp::setMaxHeadersSize()
EventHttp::setMaxBodySize
EventHttp::setTimeout
EventHttp


Sets the timeout for an HTTP request

EventHttp::setMaxHeadersSize
EventHttpConnection
EventHttp
PHP Manual

EventHttp::setTimeout

(PECL event >= 1.4.0-beta)

EventHttp::setTimeout — Sets the timeout for an HTTP request

Descripción

public void EventHttp::setTimeout ( int $value )

Sets the timeout for an HTTP request.

Parámetros

value

The timeout in seconds.

Valores devueltos

No devuelve ningún valor.

EventHttp::setMaxHeadersSize
EventHttpConnection
EventHttp


The EventHttpConnection class

(PECL event >= 1.4.0-beta)

Introducción

Represents an HTTP connection.

Sinopsis de la Clase

EventHttpConnection {
/* Métodos */
public __construct ( EventBase $base , EventDnsBase $dns_base , string $address , int $port )
public EventBase getBase ( void )
public void getPeer ( string &$address , int &$port )
public bool makeRequest ( EventHttpRequest $req , int $type , string $uri )
public void setCloseCallback ( callable $callback [, mixed $data ] )
public void setLocalAddress ( string $address )
public void setLocalPort ( int $port )
public void setMaxBodySize ( string $max_size )
public void setMaxHeadersSize ( string $max_size )
public void setRetries ( int $retries )
public void setTimeout ( int $timeout )
}

Tabla de contenidos

  • EventHttpConnection::__construct — Constructs EventHttpConnection object
  • EventHttpConnection::getBase — Returns event base associated with the connection
  • EventHttpConnection::getPeer — Gets the remote address and port associated with the connection
  • EventHttpConnection::makeRequest — Makes an HTTP request over the specified connection
  • EventHttpConnection::setCloseCallback — Set callback for connection close
  • EventHttpConnection::setLocalAddress — Sets the IP address from which HTTP connections are made
  • EventHttpConnection::setLocalPort — Sets the local port from which connections are made
  • EventHttpConnection::setMaxBodySize — Sets maximum body size for the connection
  • EventHttpConnection::setMaxHeadersSize — Sets maximum header size
  • EventHttpConnection::setRetries — Sets the retry limit for the connection
  • EventHttpConnection::setTimeout — Sets the timeout for the connection
EventHttp::setTimeout
EventHttpConnection::__construct
Event


Constructs EventHttpConnection object

EventHttpConnection
EventHttpConnection::getBase
EventHttpConnection
PHP Manual

EventHttpConnection::__construct

(PECL event >= 1.2.6-beta)

EventHttpConnection::__construct — Constructs EventHttpConnection object

Descripción

public EventHttpConnection::__construct ( EventBase $base , EventDnsBase $dns_base , string $address , int $port )

Constructs EventHttpConnection object.

Parámetros

base

Associated event base.

dns_base

If dns_base is NULL, hostname resolution will block.

address

The address to connect to.

port

The port to connect to.

Valores devueltos

Returns EventHttpConnection object.

EventHttpConnection
EventHttpConnection::getBase
EventHttpConnection


Returns event base associated with the connection

EventHttpConnection::__construct
EventHttpConnection::getPeer
EventHttpConnection
PHP Manual

EventHttpConnection::getBase

(PECL event >= 1.2.6-beta)

EventHttpConnection::getBase — Returns event base associated with the connection

Descripción

public EventBase EventHttpConnection::getBase ( void )

Returns event base associated with the connection.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

On success returns EventBase object associated with the connection. Otherwise FALSE.

EventHttpConnection::__construct
EventHttpConnection::getPeer
EventHttpConnection


Gets the remote address and port associated with the connection

EventHttpConnection::getBase
EventHttpConnection::makeRequest
EventHttpConnection
PHP Manual

EventHttpConnection::getPeer

(PECL event >= 1.2.6-beta)

EventHttpConnection::getPeer — Gets the remote address and port associated with the connection

Descripción

public void EventHttpConnection::getPeer ( string &$address , int &$port )

Gets the remote address and port associated with the connection

Parámetros

address

Address of the peer.

port

Port of the peer.

Valores devueltos

No devuelve ningún valor.

EventHttpConnection::getBase
EventHttpConnection::makeRequest
EventHttpConnection


Makes an HTTP request over the specified connection

EventHttpConnection::getPeer
EventHttpConnection::setCloseCallback
EventHttpConnection
PHP Manual

EventHttpConnection::makeRequest

(PECL event >= 1.4.0-beta)

EventHttpConnection::makeRequest — Makes an HTTP request over the specified connection

Descripción

public bool EventHttpConnection::makeRequest ( EventHttpRequest $req , int $type , string $uri )

Makes an HTTP request over the specified connection. type is one of EventHttpRequest::CMD_* constants.

Parámetros

req

The connection object over which to send the request.

type

One of EventHttpRequest::CMD_* constants .

uri

The URI associated with the request.

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

Ejemplos

Ejemplo #1 EventHttpConnection::makeRequest() example

<?php
function _request_handler($req, $base) {
    echo __FUNCTION__, PHP_EOL;

    if (is_null($req)) {
        echo "Timed out\n";
    } else {
        $response_code = $req->getResponseCode();

        if ($response_code == 0) {
            echo "Connection refused\n";
        } elseif ($response_code != 200) {
            echo "Unexpected response: $response_code\n";
        } else {
            echo "Success: $response_code\n";
            $buf = $req->getInputBuffer();
            echo "Body:\n";
            while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
                echo $s, PHP_EOL;
            }
        }
    }

    $base->exit(NULL);
}

$address = "127.0.0.1";
$port = 80;

$base = new EventBase();
$conn = new EventHttpConnection($base, NULL, $address, $port);
$conn->setTimeout(5);
$req = new EventHttpRequest("_request_handler", $base);

$req->addHeader("Host", $address, EventHttpRequest::OUTPUT_HEADER);
$req->addHeader("Content-Length", "0", EventHttpRequest::OUTPUT_HEADER);
$conn->makeRequest($req, EventHttpRequest::CMD_GET, "/index.cphp");

$base->loop();
?>

El resultado del ejemplo sería algo similar a:

_request_handler
Success: 200
Body:
PHP, date:
2013-03-13T20:27:52+05:00

Ver también

  • EventHttpRequest::addHeader() - Adds an HTTP header to the headers of the request
EventHttpConnection::getPeer
EventHttpConnection::setCloseCallback
EventHttpConnection


Set callback for connection close

EventHttpConnection::makeRequest
EventHttpConnection::setLocalAddress
EventHttpConnection
PHP Manual

EventHttpConnection::setCloseCallback

(PECL event >= 1.8.0)

EventHttpConnection::setCloseCallback — Set callback for connection close

Descripción

public void EventHttpConnection::setCloseCallback ( callable $callback [, mixed $data ] )

Sets callback for connection close.

Parámetros

callback

Callback which is called when connection is closed. Should match the following prototype:

void callback ([ EventHttpConnection $conn = NULL [, mixed $arg = NULL ]] )

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 EventHttpConnection::setCloseCallback() example

<?php
/*
 * Setting up close-connection callback
 *
 * The script handles closed connections using HTTP API.
 *
 * Usage:
 * 1) Launch the server:
 * $ php examples/http_closecb.php 4242
 *
 * 2) Launch a client in another terminal. Telnet-like
 * session should look like the following:
 *
 * $ nc -t 127.0.0.1 4242
 * GET / HTTP/1.0
 * Connection: close
 *
 * The server will output something similar to the following:
 *
 * HTTP/1.0 200 OK
 * Content-Type: multipart/x-mixed-replace;boundary=boundarydonotcross
 * Connection: close
 *
 * <html>
 *
 * 3) Terminate the client connection abruptly,
 * i.e. kill the process, or just press Ctrl-C.
 *
 * 4) Check if the server called _close_callback.
 * The script should output "_close_callback" string to standard output.
 *
 * 5) Check if the server's process has no orphaned connections,
 * e.g. with `lsof` utility.
 */

function _close_callback($conn) {
    echo __FUNCTION__, PHP_EOL;
}

function _http_default($req, $dummy) {
    $conn = $req->getConnection();
    $conn->setCloseCallback('_close_callback', NULL);

    /*
    By enabling Event::READ we protect the server against unclosed conections.
    This is a peculiarity of Libevent. The library disables Event::READ events
     on this connection, and the server is not notified about terminated
    connections.

    So each time client terminates connection abruptly, we get an orphaned
    connection. For instance, the following is a part of `lsof -p $PID | grep TCP`
    command after client has terminated connection:

    57-php     15057 ruslan  6u  unix 0xffff8802fb59c780   0t0  125187 socket
    58:php     15057 ruslan  7u  IPv4             125189   0t0     TCP *:4242 (LISTEN)
    59:php     15057 ruslan  8u  IPv4             124342   0t0     TCP localhost:4242->localhost:37375 (CLOSE_WAIT)

    where $PID is our process ID.

    The following block of code fixes such kind of orphaned connections.
     */
    $bev = $req->getBufferEvent();
    $bev->enable(Event::READ);

    $req->addHeader('Content-Type',
        'multipart/x-mixed-replace;boundary=boundarydonotcross',
        EventHttpRequest::OUTPUT_HEADER);

    $buf = new EventBuffer();
    $buf->add('<html>');

    $req->sendReply(200, "OK");
    $req->sendReplyChunk($buf);
}

$port = 4242;
if ($argc > 1) {
    $port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
    exit("Invalid port");
}

$base = new EventBase();
$http = new EventHttp($base);

$http->setDefaultCallback("_http_default", NULL);
$http->bind("0.0.0.0", $port);
$base->loop();
EventHttpConnection::makeRequest
EventHttpConnection::setLocalAddress
EventHttpConnection


Sets the IP address from which HTTP connections are made

EventHttpConnection::setCloseCallback
EventHttpConnection::setLocalPort
EventHttpConnection
PHP Manual

EventHttpConnection::setLocalAddress

(PECL event >= 1.2.6-beta)

EventHttpConnection::setLocalAddress — Sets the IP address from which HTTP connections are made

Descripción

public void EventHttpConnection::setLocalAddress ( string $address )

Sets the IP address from which http connections are made.

Parámetros

address

The IP address from which HTTP connections are made.

Valores devueltos

No devuelve ningún valor.

Ver también

  • EventHttpConnection::setLocalPort() - Sets the local port from which connections are made
EventHttpConnection::setCloseCallback
EventHttpConnection::setLocalPort
EventHttpConnection


Sets the local port from which connections are made

EventHttpConnection::setLocalAddress
EventHttpConnection::setMaxBodySize
EventHttpConnection
PHP Manual

EventHttpConnection::setLocalPort

(PECL event >= 1.2.6-beta)

EventHttpConnection::setLocalPort — Sets the local port from which connections are made

Descripción

public void EventHttpConnection::setLocalPort ( int $port )

Sets the local port from which connections are made.

Parámetros

port

The port number.

Valores devueltos

Ver también

  • EventHttpConnection::setLocalAddress() - Sets the IP address from which HTTP connections are made
EventHttpConnection::setLocalAddress
EventHttpConnection::setMaxBodySize
EventHttpConnection


Sets maximum body size for the connection

EventHttpConnection::setLocalPort
EventHttpConnection::setMaxHeadersSize
EventHttpConnection
PHP Manual

EventHttpConnection::setMaxBodySize

(PECL event >= 1.2.6-beta)

EventHttpConnection::setMaxBodySize — Sets maximum body size for the connection

Descripción

public void EventHttpConnection::setMaxBodySize ( string $max_size )

Sets maximum body size for the connection.

Parámetros

max_size

The maximum body size in bytes.

Valores devueltos

No devuelve ningún valor.

Ver también

  • EventHttpConnection::setMaxHeadersSize() - Sets maximum header size
EventHttpConnection::setLocalPort
EventHttpConnection::setMaxHeadersSize
EventHttpConnection


Sets maximum header size

EventHttpConnection::setMaxBodySize
EventHttpConnection::setRetries
EventHttpConnection
PHP Manual

EventHttpConnection::setMaxHeadersSize

(PECL event >= 1.2.6-beta)

EventHttpConnection::setMaxHeadersSize — Sets maximum header size

Descripción

public void EventHttpConnection::setMaxHeadersSize ( string $max_size )

Sets maximum header size for the connection.

Parámetros

max_size

The maximum header size in bytes.

Valores devueltos

No devuelve ningún valor.

Ver también

  • EventHttpConnection::setMaxBodySize() - Sets maximum body size for the connection
EventHttpConnection::setMaxBodySize
EventHttpConnection::setRetries
EventHttpConnection


Sets the retry limit for the connection

EventHttpConnection::setMaxHeadersSize
EventHttpConnection::setTimeout
EventHttpConnection
PHP Manual

EventHttpConnection::setRetries

(PECL event >= 1.2.6-beta)

EventHttpConnection::setRetries — Sets the retry limit for the connection

Descripción

public void EventHttpConnection::setRetries ( int $retries )

Sets the retry limit for the connection

Parámetros

retries

The retry limit. -1 means infinity.

Valores devueltos

No devuelve ningún valor.

EventHttpConnection::setMaxHeadersSize
EventHttpConnection::setTimeout
EventHttpConnection


Sets the timeout for the connection

EventHttpConnection::setRetries
EventHttpRequest
EventHttpConnection
PHP Manual

EventHttpConnection::setTimeout

(PECL event >= 1.2.6-beta)

EventHttpConnection::setTimeout — Sets the timeout for the connection

Descripción

public void EventHttpConnection::setTimeout ( int $timeout )

Sets the timeout for the connection

Parámetros

timeout

Timeout in seconds.

Valores devueltos

No devuelve ningún valor.

EventHttpConnection::setRetries
EventHttpRequest
EventHttpConnection


The EventHttpRequest class

(PECL event >= 1.4.0-beta)

Introducción

Represents an HTTP request.

Sinopsis de la Clase

EventHttpRequest {
/* Constants */
const integer CMD_GET = 1 ;
const integer CMD_POST = 2 ;
const integer CMD_HEAD = 4 ;
const integer CMD_PUT = 8 ;
const integer CMD_DELETE = 16 ;
const integer CMD_OPTIONS = 32 ;
const integer CMD_TRACE = 64 ;
const integer CMD_CONNECT = 128 ;
const integer CMD_PATCH = 256 ;
const integer INPUT_HEADER = 1 ;
const integer OUTPUT_HEADER = 2 ;
/* Métodos */
public bool addHeader ( string $key , string $value , int $type )
public void cancel ( void )
public void clearHeaders ( void )
public void closeConnection ( void )
public __construct ( callable $callback [, mixed $data = NULL ] )
public void findHeader ( string $key , string $type )
public void free ( void )
public EventBufferEvent closeConnection ( void )
public void getCommand ( void )
public EventHttpConnection closeConnection ( void )
public string getHost ( void )
public EventBuffer getInputBuffer ( void )
public array getInputHeaders ( void )
public EventBuffer getOutputBuffer ( void )
public void getOutputHeaders ( void )
public int getResponseCode ( void )
public string getUri ( void )
public void removeHeader ( string $key , string $type )
public void sendError ( int $error [, string $reason = NULL ] )
public void sendReply ( int $code , string $reason [, EventBuffer $buf ] )
public void sendReplyChunk ( EventBuffer $buf )
public void sendReplyEnd ( void )
public void sendReplyStart ( int $code , string $reason )
}

Constantes predefinidas

EventHttpRequest::CMD_GET

GET method(command)

EventHttpRequest::CMD_POST

POST method(command)

EventHttpRequest::CMD_HEAD

HEAD method(command)

EventHttpRequest::CMD_PUT

PUT method(command)

EventHttpRequest::CMD_DELETE

DELETE command(method)

EventHttpRequest::CMD_OPTIONS

OPTIONS method(command)

EventHttpRequest::CMD_TRACE

TRACE method(command)

EventHttpRequest::CMD_CONNECT

CONNECT method(command)

EventHttpRequest::CMD_PATCH

PATCH method(command)

EventHttpRequest::INPUT_HEADER

Request input header type.

EventHttpRequest::OUTPUT_HEADER

Request output header type.

Tabla de contenidos

  • EventHttpRequest::addHeader — Adds an HTTP header to the headers of the request
  • EventHttpRequest::cancel — Cancels a pending HTTP request
  • EventHttpRequest::clearHeaders — Removes all output headers from the header list of the request
  • EventHttpRequest::closeConnection — Closes associated HTTP connection
  • EventHttpRequest::__construct — Constructs EventHttpRequest object
  • EventHttpRequest::findHeader — Finds the value belonging a header
  • EventHttpRequest::free — Frees the object and removes associated events
  • EventHttpRequest::getBufferEvent — Returns EventBufferEvent object
  • EventHttpRequest::getCommand — Returns the request command(method)
  • EventHttpRequest::getConnection — Returns EventHttpConnection object
  • EventHttpRequest::getHost — Returns the request host
  • EventHttpRequest::getInputBuffer — Returns the input buffer
  • EventHttpRequest::getInputHeaders — Returns associative array of the input headers
  • EventHttpRequest::getOutputBuffer — Returns the output buffer of the request
  • EventHttpRequest::getOutputHeaders — Returns associative array of the input headers
  • EventHttpRequest::getResponseCode — Returns the the response code
  • EventHttpRequest::getUri — Returns the request URI
  • EventHttpRequest::removeHeader — Removes an HTTP header from the headers of the request
  • EventHttpRequest::sendError — Send an HTML error message to the client
  • EventHttpRequest::sendReply — Send an HTML reply to the client
  • EventHttpRequest::sendReplyChunk — Send another data chunk as part of an ongoing chunked reply
  • EventHttpRequest::sendReplyEnd — Complete a chunked reply, freeing the request as appropriate
  • EventHttpRequest::sendReplyStart — Initiate a chunked reply
EventHttpConnection::setTimeout
EventHttpRequest::addHeader
Event


Adds an HTTP header to the headers of the request

EventHttpRequest
EventHttpRequest::cancel
EventHttpRequest
PHP Manual

EventHttpRequest::addHeader

(PECL event >= 1.4.0-beta)

EventHttpRequest::addHeader — Adds an HTTP header to the headers of the request

Descripción

public bool EventHttpRequest::addHeader ( string $key , string $value , int $type )

Adds an HTTP header to the headers of the request.

Parámetros

key

Header name.

value

Header value.

type

One of EventHttpRequest::*_HEADER constants .

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

Ver también

  • EventHttpRequest::removeHeader() - Removes an HTTP header from the headers of the request
EventHttpRequest
EventHttpRequest::cancel
EventHttpRequest


Cancels a pending HTTP request

EventHttpRequest::addHeader
EventHttpRequest::clearHeaders
EventHttpRequest
PHP Manual

EventHttpRequest::cancel

(PECL event >= 1.4.0-beta)

EventHttpRequest::cancel — Cancels a pending HTTP request

Descripción

public void EventHttpRequest::cancel ( void )

Cancels a pending HTTP request.

Cancels an ongoing HTTP request. The callback associated with this request is not executed and the request object is freed. If the request is currently being processed, e.g. it is ongoing, the corresponding EventHttpConnection object is going to get reset.

A request cannot be canceled if its callback has executed already. A request may be canceled reentrantly from its chunked callback.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

EventHttpRequest::addHeader
EventHttpRequest::clearHeaders
EventHttpRequest


Removes all output headers from the header list of the request

EventHttpRequest::cancel
EventHttpRequest::closeConnection
EventHttpRequest
PHP Manual

EventHttpRequest::clearHeaders

(PECL event >= 1.4.0-beta)

EventHttpRequest::clearHeaders — Removes all output headers from the header list of the request

Descripción

public void EventHttpRequest::clearHeaders ( void )

Removes all output headers from the header list of the request.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • EventHttpRequest::addHeader() - Adds an HTTP header to the headers of the request
EventHttpRequest::cancel
EventHttpRequest::closeConnection
EventHttpRequest


Closes associated HTTP connection

EventHttpRequest::clearHeaders
EventHttpRequest::__construct
EventHttpRequest
PHP Manual

EventHttpRequest::closeConnection

(PECL event >= 1.8.0)

EventHttpRequest::closeConnection — Closes associated HTTP connection

Descripción

public void EventHttpRequest::closeConnection ( void )

Closes HTTP connection associated with the request.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

EventHttpRequest::clearHeaders
EventHttpRequest::__construct
EventHttpRequest


Constructs EventHttpRequest object

EventHttpRequest::closeConnection
EventHttpRequest::findHeader
EventHttpRequest
PHP Manual

EventHttpRequest::__construct

(PECL event >= 1.4.0-beta)

EventHttpRequest::__construct — Constructs EventHttpRequest object

Descripción

public EventHttpRequest::__construct ( callable $callback [, mixed $data = NULL ] )

Constructs EventHttpRequest object.

Parámetros

callback

Gets invoked on requesting path. Should match the following prototype:

void callback ([ EventHttpRequest $req = NULL [, mixed $arg = NULL ]] )
data

User custom data passed to the callback.

Valores devueltos

Returns EventHttpRequest object.

Ejemplos

Ejemplo #1 EventHttpRequest::__construct() example

<?php

function _request_handler($req, $base) {
    echo __FUNCTION__, PHP_EOL;

    if (is_null($req)) {
        echo "Timed out\n";
    } else {
        $response_code = $req->getResponseCode();

        if ($response_code == 0) {
            echo "Connection refused\n";
        } elseif ($response_code != 200) {
            echo "Unexpected response: $response_code\n";
        } else {
            echo "Success: $response_code\n";
            $buf = $req->getInputBuffer();
            echo "Body:\n";
            while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
                echo $s, PHP_EOL;
            }
        }
    }

    $base->exit(NULL);
}

$address = "127.0.0.1";
$port = 80;

$base = new EventBase();
$conn = new EventHttpConnection($base, NULL, $address, $port);
$conn->setTimeout(5);
$req = new EventHttpRequest("_request_handler", $base);

$req->addHeader("Host", $address, EventHttpRequest::OUTPUT_HEADER);
$req->addHeader("Content-Length", "0", EventHttpRequest::OUTPUT_HEADER);
$conn->makeRequest($req, EventHttpRequest::CMD_GET, "/index.cphp");

$base->loop();
?>

Ver también

  • EventHttpRequest::cancel() - Cancels a pending HTTP request
  • EventHttpRequest::addHeader() - Adds an HTTP header to the headers of the request
EventHttpRequest::closeConnection
EventHttpRequest::findHeader
EventHttpRequest


Finds the value belonging a header

EventHttpRequest::__construct
EventHttpRequest::free
EventHttpRequest
PHP Manual

EventHttpRequest::findHeader

(PECL event >= 1.4.0-beta)

EventHttpRequest::findHeader — Finds the value belonging a header

Descripción

public void EventHttpRequest::findHeader ( string $key , string $type )

Finds the value belonging a header.

Parámetros

key

The header name.

type

One of EventHttpRequest::*_HEADER constants .

Valores devueltos

Returns NULL if header not found.

Ver también

  • EventHttpRequest::addHeader() - Adds an HTTP header to the headers of the request
EventHttpRequest::__construct
EventHttpRequest::free
EventHttpRequest


Frees the object and removes associated events

EventHttpRequest::findHeader
EventHttpRequest::getBufferEvent
EventHttpRequest
PHP Manual

EventHttpRequest::free

(PECL event >= 1.4.0-beta)

EventHttpRequest::free — Frees the object and removes associated events

Descripción

public void EventHttpRequest::free ( void )

Frees the object and removes associated events.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

EventHttpRequest::findHeader
EventHttpRequest::getBufferEvent
EventHttpRequest


Returns EventBufferEvent object

EventHttpRequest::free
EventHttpRequest::getCommand
EventHttpRequest
PHP Manual

EventHttpRequest::getBufferEvent

(PECL event >= 1.8.0)

EventHttpRequest::getBufferEvent — Returns EventBufferEvent object

Descripción

public EventBufferEvent EventHttpRequest::closeConnection ( void )

Returns EventBufferEvent object which represents buffer event that the connection is using.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns EventBufferEvent object.

Ver también

  • EventHttpRequest::getConnection() - Returns EventHttpConnection object
EventHttpRequest::free
EventHttpRequest::getCommand
EventHttpRequest


Returns the request command(method)

EventHttpRequest::getBufferEvent
EventHttpRequest::getConnection
EventHttpRequest
PHP Manual

EventHttpRequest::getCommand

(PECL event >= 1.4.0-beta)

EventHttpRequest::getCommand — Returns the request command(method)

Descripción

public void EventHttpRequest::getCommand ( void )

Returns the request command, one of EventHttpRequest::CMD_* constants.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns the request command, one of EventHttpRequest::CMD_* constants.

EventHttpRequest::getBufferEvent
EventHttpRequest::getConnection
EventHttpRequest


Returns EventHttpConnection object

EventHttpRequest::getCommand
EventHttpRequest::getHost
EventHttpRequest
PHP Manual

EventHttpRequest::getConnection

(PECL event >= 1.8.0)

EventHttpRequest::getConnection — Returns EventHttpConnection object

Descripción

public EventHttpConnection EventHttpRequest::closeConnection ( void )

Returns EventHttpConnection object which represents HTTP connection associated with the request.

Advertencia

Libevent API allows HTTP request objects to be not bound to any HTTP connection. Therefore we can't unambiguously associate EventHttpRequest with EventHttpConnection . Thus, we construct EventHttpConnection object on-the-fly. Having no information about the event base, DNS base and connection-close callback, we just leave these fields unset.

EventHttpRequest::getConnection() method is usually useful when we need to set up a callback on connection close. See EventHttpConnection::setCloseCallback() .

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns EventHttpConnection object.

Ver también

  • EventHttpConnection::setCloseCallback() - Set callback for connection close
  • EventHttpRequest::getBufferEvent() - Returns EventBufferEvent object
EventHttpRequest::getCommand
EventHttpRequest::getHost
EventHttpRequest


Returns the request host

EventHttpRequest::getConnection
EventHttpRequest::getInputBuffer
EventHttpRequest
PHP Manual

EventHttpRequest::getHost

(PECL event >= 1.4.0-beta)

EventHttpRequest::getHost — Returns the request host

Descripción

public string EventHttpRequest::getHost ( void )

Returns the request host.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns the request host.

Ver también

  • EventHttpRequest::getUri() - Returns the request URI
  • EventHttpRequest::getCommand() - Returns the request command(method)
EventHttpRequest::getConnection
EventHttpRequest::getInputBuffer
EventHttpRequest


Returns the input buffer

EventHttpRequest::getHost
EventHttpRequest::getInputHeaders
EventHttpRequest
PHP Manual

EventHttpRequest::getInputBuffer

(PECL event >= 1.4.0-beta)

EventHttpRequest::getInputBuffer — Returns the input buffer

Descripción

public EventBuffer EventHttpRequest::getInputBuffer ( void )

Returns the input buffer.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns the input buffer.

Ver también

  • EventHttpRequest::getOutputBuffer() - Returns the output buffer of the request
EventHttpRequest::getHost
EventHttpRequest::getInputHeaders
EventHttpRequest


Returns associative array of the input headers

EventHttpRequest::getInputBuffer
EventHttpRequest::getOutputBuffer
EventHttpRequest
PHP Manual

EventHttpRequest::getInputHeaders

(PECL event >= 1.4.0-beta)

EventHttpRequest::getInputHeaders — Returns associative array of the input headers

Descripción

public array EventHttpRequest::getInputHeaders ( void )

Returns associative array of the input headers.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns associative array of the input headers.

Ver también

  • EventHttpRequest::getOutputHeaders() - Returns associative array of the input headers
EventHttpRequest::getInputBuffer
EventHttpRequest::getOutputBuffer
EventHttpRequest


Returns the output buffer of the request

EventHttpRequest::getInputHeaders
EventHttpRequest::getOutputHeaders
EventHttpRequest
PHP Manual

EventHttpRequest::getOutputBuffer

(PECL event >= 1.4.0-beta)

EventHttpRequest::getOutputBuffer — Returns the output buffer of the request

Descripción

public EventBuffer EventHttpRequest::getOutputBuffer ( void )

Returns the output buffer of the request.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns the output buffer of the request.

Ver también

  • EventHttpRequest::getInputBuffer() - Returns the input buffer
EventHttpRequest::getInputHeaders
EventHttpRequest::getOutputHeaders
EventHttpRequest


Returns associative array of the input headers

EventHttpRequest::getOutputBuffer
EventHttpRequest::getResponseCode
EventHttpRequest
PHP Manual

EventHttpRequest::getOutputHeaders

(PECL event >= 1.4.0-beta)

EventHttpRequest::getOutputHeaders — Returns associative array of the input headers

Descripción

public void EventHttpRequest::getOutputHeaders ( void )

Returns associative array of the input headers.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Ver también

  • EventHttpRequest::getInputHeaders() - Returns associative array of the input headers
EventHttpRequest::getOutputBuffer
EventHttpRequest::getResponseCode
EventHttpRequest


Returns the the response code

EventHttpRequest::getOutputHeaders
EventHttpRequest::getUri
EventHttpRequest
PHP Manual

EventHttpRequest::getResponseCode

(PECL event >= 1.4.0-beta)

EventHttpRequest::getResponseCode — Returns the the response code

Descripción

public int EventHttpRequest::getResponseCode ( void )

Returns the the response code.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns the response code of the request.

Ver también

  • EventHttpRequest::getCommand() - Returns the request command(method)
  • EventHttpRequest::getHost() - Returns the request host
  • EventHttpRequest::getUri() - Returns the request URI
EventHttpRequest::getOutputHeaders
EventHttpRequest::getUri
EventHttpRequest


Returns the request URI

EventHttpRequest::getResponseCode
EventHttpRequest::removeHeader
EventHttpRequest
PHP Manual

EventHttpRequest::getUri

(PECL event >= 1.4.0-beta)

EventHttpRequest::getUri — Returns the request URI

Descripción

public string EventHttpRequest::getUri ( void )

Returns the request URI

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns the request URI

Ver también

  • EventHttpRequest::getCommand() - Returns the request command(method)
  • EventHttpRequest::getHost() - Returns the request host
  • EventHttpRequest::getResponseCode() - Returns the the response code
EventHttpRequest::getResponseCode
EventHttpRequest::removeHeader
EventHttpRequest


Removes an HTTP header from the headers of the request

EventHttpRequest::getUri
EventHttpRequest::sendError
EventHttpRequest
PHP Manual

EventHttpRequest::removeHeader

(PECL event >= 1.4.0-beta)

EventHttpRequest::removeHeader — Removes an HTTP header from the headers of the request

Descripción

public void EventHttpRequest::removeHeader ( string $key , string $type )

Removes an HTTP header from the headers of the request.

Parámetros

key

The header name.

type

type is one of EventHttpRequest::*_HEADER constants.

Valores devueltos

Removes an HTTP header from the headers of the request.

Ver también

  • EventHttpRequest::addHeader() - Adds an HTTP header to the headers of the request
EventHttpRequest::getUri
EventHttpRequest::sendError
EventHttpRequest


Send an HTML error message to the client

EventHttpRequest::removeHeader
EventHttpRequest::sendReply
EventHttpRequest
PHP Manual

EventHttpRequest::sendError

(PECL event >= 1.4.0-beta)

EventHttpRequest::sendError — Send an HTML error message to the client

Descripción

public void EventHttpRequest::sendError ( int $error [, string $reason = NULL ] )

Send an HTML error message to the client.

Parámetros

error

The HTTP error code.

reason

A brief explanation ofthe error. If NULL, the standard meaning of the error code will be used.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 EventHttpRequest::sendError() example

<?php
function _http_400($req) {
    $req->sendError(400);
}

$base = new EventBase();
$http = new EventHttp($base);

$http->setCallback("/err400", "_http_400");

$http->bind("0.0.0.0", 8010);
$base->loop();
?>

Ver también

  • EventHttpRequest::sendReply() - Send an HTML reply to the client
EventHttpRequest::removeHeader
EventHttpRequest::sendReply
EventHttpRequest


Send an HTML reply to the client

EventHttpRequest::sendError
EventHttpRequest::sendReplyChunk
EventHttpRequest
PHP Manual

EventHttpRequest::sendReply

(PECL event >= 1.4.0-beta)

EventHttpRequest::sendReply — Send an HTML reply to the client

Descripción

public void EventHttpRequest::sendReply ( int $code , string $reason [, EventBuffer $buf ] )

Send an HTML reply to the client. The body of the reply consists of data in optional buf parameter.

Parámetros

code

The HTTP response code to send.

reason

A brief message to send with the response code.

buf

The body of the response.

Valores devueltos

No devuelve ningún valor.

Ver también

  • EventHttpRequest::sendError() - Send an HTML error message to the client
  • EventHttpRequest::sendReplyChunk() - Send another data chunk as part of an ongoing chunked reply
EventHttpRequest::sendError
EventHttpRequest::sendReplyChunk
EventHttpRequest


Send another data chunk as part of an ongoing chunked reply

EventHttpRequest::sendReply
EventHttpRequest::sendReplyEnd
EventHttpRequest
PHP Manual

EventHttpRequest::sendReplyChunk

(PECL event >= 1.4.0-beta)

EventHttpRequest::sendReplyChunk — Send another data chunk as part of an ongoing chunked reply

Descripción

public void EventHttpRequest::sendReplyChunk ( EventBuffer $buf )

Send another data chunk as part of an ongoing chunked reply. After calling this method buf will be empty.

Parámetros

buf

The data chunk to send as part of the reply.

Valores devueltos

No devuelve ningún valor.

Ver también

  • EventHttpRequest::sendReplyStart() - Initiate a chunked reply
  • EventHttpRequest::sendReplyEnd() - Complete a chunked reply, freeing the request as appropriate
EventHttpRequest::sendReply
EventHttpRequest::sendReplyEnd
EventHttpRequest


Complete a chunked reply, freeing the request as appropriate

EventHttpRequest::sendReplyChunk
EventHttpRequest::sendReplyStart
EventHttpRequest
PHP Manual

EventHttpRequest::sendReplyEnd

(PECL event >= 1.4.0-beta)

EventHttpRequest::sendReplyEnd — Complete a chunked reply, freeing the request as appropriate

Descripción

public void EventHttpRequest::sendReplyEnd ( void )

Complete a chunked reply, freeing the request as appropriate.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • EventHttpRequest::sendReplyStart() - Initiate a chunked reply
  • EventHttpRequest::sendReplyChunk() - Send another data chunk as part of an ongoing chunked reply
EventHttpRequest::sendReplyChunk
EventHttpRequest::sendReplyStart
EventHttpRequest


Initiate a chunked reply

EventHttpRequest::sendReplyEnd
EventListener
EventHttpRequest
PHP Manual

EventHttpRequest::sendReplyStart

(PECL event >= 1.4.0-beta)

EventHttpRequest::sendReplyStart — Initiate a chunked reply

Descripción

public void EventHttpRequest::sendReplyStart ( int $code , string $reason )

Initiate a reply that uses Transfer-Encoding chunked .

This allows the caller to stream the reply back to the client and is useful when either not all of the reply data is immediately available or when sending very large replies.

The caller needs to supply data chunks with EventHttpRequest::sendReplyChunk() and complete the reply by calling EventHttpRequest::sendReplyEnd() .

Parámetros

code

The HTTP response code to send.

reason

A brief message to send with the response code.

Valores devueltos

No devuelve ningún valor.

Ver también

  • EventHttpRequest::sendReplyChunk() - Send another data chunk as part of an ongoing chunked reply
  • EventHttpRequest::sendReplyEnd() - Complete a chunked reply, freeing the request as appropriate
EventHttpRequest::sendReplyEnd
EventListener
EventHttpRequest


The EventListener class

(PECL event >= 1.5.0)

Introducción

Represents a connection listener.

Sinopsis de la Clase

final EventListener {
/* Constants */
const integer OPT_LEAVE_SOCKETS_BLOCKING = 1 ;
const integer OPT_CLOSE_ON_FREE = 2 ;
const integer OPT_CLOSE_ON_EXEC = 4 ;
const integer OPT_REUSEABLE = 8 ;
const integer OPT_THREADSAFE = 16 ;
/* Propiedades */
public readonly int $fd ;
/* Métodos */
public __construct ( EventBase $base , callable $cb , mixed $data , int $flags , int $backlog , mixed $target )
public bool disable ( void )
public bool enable ( void )
public void getBase ( void )
public static bool getSocketName ( string &$address [, mixed &$port ] )
public void setCallback ( callable $cb [, mixed $arg = NULL ] )
public void setErrorCallback ( string $cb )
}

Propiedades

fd

Numeric file descriptor of the underlying socket. (Added in event-1.6.0 .)

Constantes predefinidas

EventListener::OPT_LEAVE_SOCKETS_BLOCKING

By default Libevent turns underlying file descriptors, or sockets, to non-blocking mode. This flag tells to leave them non-blocking.

EventListener::OPT_CLOSE_ON_FREE

If this option is set, the connection listener closes its underlying socket when the EventListener object is freed.

EventListener::OPT_CLOSE_ON_EXEC

If this option is set, the connection listener sets the close-on-exec flag on the underlying listener socket. See platform documentation for fcntl and FD_CLOEXEC for more information.

EventListener::OPT_REUSEABLE

By default on some platforms, once a listener socket is closed, no other socket can bind to the same port until a while has passed. Setting this option makes Libevent mark the socket as reusable, so that once it is closed, another socket can be opened to listen on the same port.

EventListener::OPT_THREADSAFE

Allocate locks for the listener, so that it’s safe to use it from multiple threads.

Tabla de contenidos

  • EventListener::__construct — Creates new connection listener associated with an event base
  • EventListener::disable — Disables an event connect listener object
  • EventListener::enable — Enables an event connect listener object
  • EventListener::getBase — Returns event base associated with the event listener
  • EventListener::getSocketName — Retreives the current address to which the listener's socket is bound.
  • EventListener::setCallback — The setCallback purpose
  • EventListener::setErrorCallback — Set event listener's error callback
EventHttpRequest::sendReplyStart
EventListener::__construct
Event


Creates new connection listener associated with an event base

EventListener
EventListener::disable
EventListener
PHP Manual

EventListener::__construct

(PECL event >= 1.2.6-beta)

EventListener::__construct — Creates new connection listener associated with an event base

Descripción

public EventListener::__construct ( EventBase $base , callable $cb , mixed $data , int $flags , int $backlog , mixed $target )

Creates new connection listener associated with an event base.

Parámetros

base

Associated event base.

cb

A callable that will be invoked when new connection received.

data

Custom user data attached to cb .

flags

Bit mask of EventListener::OPT_* constants. See EventListener constants .

backlog

Controls the maximum number of pending connections that the network stack should allow to wait in a not-yet-accepted state at any time; see documentation for your system’s listen function for more details. If backlog is negative, Libevent tries to pick a good value for the backlog ; if it is zero, Event assumes that listen is already called on the socket( target )

target

May be string, socket resource, or a stream associated with a socket. In case if target is a string, the string will be parsed as network address. It will be interpreted as a UNIX domain socket path, if prefixed with 'unix:' , e.g. 'unix:/tmp/my.sock' .

Valores devueltos

Returns EventListener object representing the event connection listener.

Historial de cambios

Versión | Descripción
1.5.0 | UNIX domain sockets' support added.

Ejemplos

Ejemplo #1 EventListener::__construct() example

<?php
/*
 * Simple echo server based on libevent's connection listener.
 *
 * Usage:
 * 1) In one terminal window run:
 *
 * $ php listener.php 9881
 *
 * 2) In another terminal window open up connection, e.g.:
 *
 * $ nc 127.0.0.1 9881
 *
 * 3) start typing. The server should repeat the input.
 */

class MyListenerConnection {
    private $bev, $base;

    public function __destruct() {
        $this->bev->free();
    }

    public function __construct($base, $fd) {
        $this->base = $base;

        $this->bev = new EventBufferEvent($base, $fd, EventBufferEvent::OPT_CLOSE_ON_FREE);

        $this->bev->setCallbacks(array($this, "echoReadCallback"), NULL,
            array($this, "echoEventCallback"), NULL);

        if (!$this->bev->enable(Event::READ)) {
            echo "Failed to enable READ\n";
            return;
        }
    }

    public function echoReadCallback($bev, $ctx) {
        // Copy all the data from the input buffer to the output buffer

        // Variant #1
        $bev->output->addBuffer($bev->input);

        /* Variant #2 */
        /*
        $input    = $bev->getInput();
        $output = $bev->getOutput();
        $output->addBuffer($input);
        */
    }

    public function echoEventCallback($bev, $events, $ctx) {
        if ($events & EventBufferEvent::ERROR) {
            echo "Error from bufferevent\n";
        }

        if ($events & (EventBufferEvent::EOF | EventBufferEvent::ERROR)) {
            //$bev->free();
            $this->__destruct();
        }
    }
}

class MyListener {
    public $base,
        $listener,
        $socket;
    private $conn = array();

    public function __destruct() {
        foreach ($this->conn as &$c) $c = NULL;
    }

    public function __construct($port) {
        $this->base = new EventBase();
        if (!$this->base) {
            echo "Couldn't open event base";
            exit(1);
        }

        // Variant #1
        /*
        $this->socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
        if (!socket_bind($this->socket, '0.0.0.0', $port)) {
            echo "Unable to bind socket\n";
            exit(1);
        }
        $this->listener = new EventListener($this->base,
            array($this, "acceptConnCallback"), $this->base,
            EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE,
            -1, $this->socket);
         */

        // Variant #2
         $this->listener = new EventListener($this->base,
             array($this, "acceptConnCallback"), $this->base,
             EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE, -1,
             "0.0.0.0:$port");

        if (!$this->listener) {
            echo "Couldn't create listener";
            exit(1);
        }

        $this->listener->setErrorCallback(array($this, "accept_error_cb"));
    }

    public function dispatch() {
        $this->base->dispatch();
    }

    // This callback is invoked when there is data to read on $bev
    public function acceptConnCallback($listener, $fd, $address, $ctx) {
        // We got a new connection! Set up a bufferevent for it. */
        $base = $this->base;
        $this->conn[] = new MyListenerConnection($base, $fd);
    }

    public function accept_error_cb($listener, $ctx) {
        $base = $this->base;

        fprintf(STDERR, "Got an error %d (%s) on the listener. "
            ."Shutting down.\n",
            EventUtil::getLastSocketErrno(),
            EventUtil::getLastSocketError());

        $base->exit(NULL);
    }
}

$port = 9808;

if ($argc > 1) {
    $port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
    exit("Invalid port");
}

$l = new MyListener($port);
$l->dispatch();
?>
EventListener
EventListener::disable
EventListener


Disables an event connect listener object

EventListener::__construct
EventListener::enable
EventListener
PHP Manual

EventListener::disable

(PECL event >= 1.2.6-beta)

EventListener::disable — Disables an event connect listener object

Descripción

public bool EventListener::disable ( void )

Disables an event connect listener object

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

Ver también

  • EventListener::enable() - Enables an event connect listener object
EventListener::__construct
EventListener::enable
EventListener


Enables an event connect listener object

EventListener::disable
EventListener::getBase
EventListener
PHP Manual

EventListener::enable

(PECL event >= 1.2.6-beta)

EventListener::enable — Enables an event connect listener object

Descripción

public bool EventListener::enable ( void )

Enables an event connect listener object

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

Ver también

  • EventListener::disable() - Disables an event connect listener object
EventListener::disable
EventListener::getBase
EventListener


Returns event base associated with the event listener

EventListener::enable
EventListener::getSocketName
EventListener
PHP Manual

EventListener::getBase

(PECL event >= 1.2.6-beta)

EventListener::getBase — Returns event base associated with the event listener

Descripción

public void EventListener::getBase ( void )

Returns event base associated with the event listener.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns event base associated with the event listener.

EventListener::enable
EventListener::getSocketName
EventListener


Retreives the current address to which the listener's socket is bound.

EventListener::getBase
EventListener::setCallback
EventListener
PHP Manual

EventListener::getSocketName

(PECL event >= 1.5.0)

EventListener::getSocketName — Retreives the current address to which the listener's socket is bound.

Descripción

public static bool EventListener::getSocketName ( string &$address [, mixed &$port ] )

Retreives the current address to which the listener's socket is bound.

Parámetros

address

Output parameter. IP-address depending on the socket address family.

port

Output parameter. The port the socket is bound to.

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

EventListener::getBase
EventListener::setCallback
EventListener


The setCallback purpose

EventListener::getSocketName
EventListener::setErrorCallback
EventListener
PHP Manual

EventListener::setCallback

(PECL event >= 1.2.6-beta)

EventListener::setCallback — The setCallback purpose

Descripción

public void EventListener::setCallback ( callable $cb [, mixed $arg = NULL ] )

Adjust event connect listener's callback and optionally the callback argument.

Parámetros

cb

The new callback for new connections. Ignored if NULL.

Should match the following prototype:

void callback ([ EventListener $listener = NULL [, mixed $fd = NULL [, array $address = NULL [, mixed $arg = NULL ]]]] )

listener

The EventListener object.

fd

The file descriptor or a resource associated with the listener.

address

Array of two elements: IP address and the server port.

arg

User custom data attached to the callback.

arg

Custom user data attached to the callback. Ignored if NULL.

Valores devueltos

No devuelve ningún valor.

EventListener::getSocketName
EventListener::setErrorCallback
EventListener


Set event listener's error callback

EventListener::setCallback
EventSslContext
EventListener
PHP Manual

EventListener::setErrorCallback

(PECL event >= 1.2.6-beta)

EventListener::setErrorCallback — Set event listener's error callback

Descripción

public void EventListener::setErrorCallback ( string $cb )

Set event listener's error callback

Parámetros

cb

The error callback. Should match the following prototype:

void callback ([ EventListener $listener = NULL [, mixed $data = NULL ]] )

listener

The EventListener object.

data

User custom data attached to the callback.

Valores devueltos

Ver también

  • EventListener::setCallback() - The setCallback purpose
EventListener::setCallback
EventSslContext
EventListener


The EventSslContext class

(PECL event >= 1.2.6-beta)

Introducción

Represents SSL_CTX structure. Provides methods and properties to configure the SSL context.

Sinopsis de la Clase

final EventSslContext {
/* Constants */
const integer SSLv2_CLIENT_METHOD = 1 ;
const integer SSLv3_CLIENT_METHOD = 2 ;
const integer SSLv23_CLIENT_METHOD = 3 ;
const integer TLS_CLIENT_METHOD = 4 ;
const integer SSLv2_SERVER_METHOD = 5 ;
const integer SSLv3_SERVER_METHOD = 6 ;
const integer SSLv23_SERVER_METHOD = 7 ;
const integer TLS_SERVER_METHOD = 8 ;
const integer OPT_LOCAL_CERT = 1 ;
const integer OPT_LOCAL_PK = 2 ;
const integer OPT_PASSPHRASE = 3 ;
const integer OPT_CA_FILE = 4 ;
const integer OPT_CA_PATH = 5 ;
const integer OPT_ALLOW_SELF_SIGNED = 6 ;
const integer OPT_VERIFY_PEER = 7 ;
const integer OPT_VERIFY_DEPTH = 8 ;
const integer OPT_CIPHERS = 9 ;
/* Propiedades */
public string $local_cert ;
public string $local_pk ;
/* Métodos */
public __construct ( string $method , string $options )
}

Propiedades

local_cert

Path to local certificate file on filesystem. It must be a PEM-encoded file which contains certificate. It can optionally contain the certificate chain of issuers.

local_pk

Path to local private key file

Constantes predefinidas

EventSslContext::SSLv2_CLIENT_METHOD

SSLv2 client method. See SSL_CTX_new(3) man page.

EventSslContext::SSLv3_CLIENT_METHOD

SSLv3 client method. See SSL_CTX_new(3) man page.

EventSslContext::SSLv23_CLIENT_METHOD

SSLv23 client method. See SSL_CTX_new(3) man page.

EventSslContext::TLS_CLIENT_METHOD

TLS client method. See SSL_CTX_new(3) man page.

EventSslContext::SSLv2_SERVER_METHOD

SSLv2 server method. See SSL_CTX_new(3) man page.

EventSslContext::SSLv3_SERVER_METHOD

SSLv3 server method. See SSL_CTX_new(3) man page.

EventSslContext::SSLv23_SERVER_METHOD

SSLv23 server method. See SSL_CTX_new(3) man page.

EventSslContext::TLS_SERVER_METHOD

TLS server method. See SSL_CTX_new(3) man page.

EventSslContext::OPT_LOCAL_CERT

Key for an item of the options' array used in EventSslContext::__construct() . The option points to path of local certificate.

EventSslContext::OPT_LOCAL_PK

Key for an item of the options' array used in EventSslContext::__construct() . The option points to path of the private key.

EventSslContext::OPT_PASSPHRASE

Key for an item of the options' array used in EventSslContext::__construct() . Represents passphrase of the certificate.

EventSslContext::OPT_CA_FILE

Key for an item of the options' array used in EventSslContext::__construct() . Represents path of the certificate authority file.

EventSslContext::OPT_CA_PATH

Key for an item of the options' array used in EventSslContext::__construct() . Represents path where the certificate authority file should be searched for.

EventSslContext::OPT_ALLOW_SELF_SIGNED

Key for an item of the options' array used in EventSslContext::__construct() . Represents option that allows self-signed certificates.

EventSslContext::OPT_VERIFY_PEER

Key for an item of the options' array used in EventSslContext::__construct() . Represents option that tells Event to verify peer.

EventSslContext::OPT_VERIFY_DEPTH

Key for an item of the options' array used in EventSslContext::__construct() . Represents maximum depth for the certificate chain verification that shall be allowed for the SSL context.

EventSslContext::OPT_CIPHERS

Key for an item of the options' array used in EventSslContext::__construct() . Represents the cipher list for the SSL context.

Tabla de contenidos

  • EventSslContext::__construct — Constructs an OpenSSL context for use with Event classes
EventListener::setErrorCallback
EventSslContext::__construct
Event


Constructs an OpenSSL context for use with Event classes

EventSslContext
EventUtil
EventSslContext
PHP Manual

EventSslContext::__construct

(PECL event >= 1.2.6-beta)

EventSslContext::__construct — Constructs an OpenSSL context for use with Event classes

Descripción

public EventSslContext::__construct ( string $method , string $options )

Creates SSL context holding pointer to SSL_CTX (see the system manual).

Parámetros

method

One of EventSslContext::*_METHOD constants .

options

Associative array of SSL context options One of EventSslContext::OPT_* constants .

Valores devueltos

Returns EventSslContext object.

Ejemplos

Ejemplo #1 EventSslContext::__construct() example

<?php
$ctx = new EventSslContext(EventSslContext::SSLv3_SERVER_METHOD, array(
     EventSslContext::OPT_LOCAL_CERT        => $local_cert,
     EventSslContext::OPT_LOCAL_PK          => $local_pk,
     EventSslContext::OPT_PASSPHRASE        => "echo server",
     EventSslContext::OPT_VERIFY_PEER       => true,
     EventSslContext::OPT_ALLOW_SELF_SIGNED => false,
));
?>
EventSslContext
EventUtil
EventSslContext


The EventUtil class

(PECL event >= 1.5.0)

Introducción

EventUtil is a singleton with supplimentary methods and constants.

Sinopsis de la Clase

final EventUtil {
/* Constants */
const integer AF_INET = 2 ;
const integer AF_INET6 = 10 ;
const integer AF_UNSPEC = 0 ;
const integer LIBEVENT_VERSION_NUMBER = 33559808 ;
const integer SO_DEBUG = 1 ;
const integer SO_REUSEADDR = 2 ;
const integer SO_KEEPALIVE = 9 ;
const integer SO_DONTROUTE = 5 ;
const integer SO_LINGER = 13 ;
const integer SO_BROADCAST = 6 ;
const integer SO_OOBINLINE = 10 ;
const integer SO_SNDBUF = 7 ;
const integer SO_RCVBUF = 8 ;
const integer SO_SNDLOWAT = 19 ;
const integer SO_RCVLOWAT = 18 ;
const integer SO_SNDTIMEO = 21 ;
const integer SO_RCVTIMEO = 20 ;
const integer SO_TYPE = 3 ;
const integer SO_ERROR = 4 ;
const integer SOL_SOCKET = 1 ;
const integer SOL_TCP = 6 ;
const integer SOL_UDP = 17 ;
const integer IPPROTO_IP = 0 ;
const integer IPPROTO_IPV6 = 41 ;
/* Métodos */
abstract public __construct ( void )
public static int getLastSocketErrno ([ mixed $socket = NULL ] )
public static string getLastSocketError ([ mixed $socket ] )
public static int getSocketFd ( mixed $socket )
public static bool getSocketName ( mixed $socket , string &$address [, mixed &$port ] )
public static bool setSocketOption ( mixed $socket , int $level , int $optname , mixed $optval )
public static void sslRandPoll ( void )
}

Constantes predefinidas

EventUtil::AF_INET

IPv4 address family

EventUtil::AF_INET6

IPv6 address family

EventUtil::AF_UNSPEC

Unspecified IP address family

EventUtil::SO_DEBUG

Socket option. Enable socket debugging. Only allowed for processes with the CAP_NET_ADMIN capability or an effective user ID of 0 . (Added in event-1.6.0.)

EventUtil::SO_REUSEADDR

Socket option. Indicates that the rules used in validating addresses supplied in a bind(2) call should allow reuse of local addresses. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_KEEPALIVE

Socket option. Enable sending of keep-alive messages on connection-oriented sockets. Expects an integer boolean flag. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_DONTROUTE

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_LINGER

Socket option. When enabled, a close(2) or shutdown(2) will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_BROADCAST

Socket option. Reports whether transmission of broadcast messages is supported. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_OOBINLINE

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_SNDBUF

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_RCVBUF

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_SNDLOWAT

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_RCVLOWAT

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_SNDTIMEO

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_RCVTIMEO

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_TYPE

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_ERROR

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SOL_SOCKET

Socket option level. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SOL_TCP

Socket option level. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SOL_UDP

Socket option level. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::IPPROTO_IP

See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::IPPROTO_IPV6

See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::LIBEVENT_VERSION_NUMBER

Libevent' version number at the time when Event extension had been compiled with the library.

Tabla de contenidos

  • EventUtil::__construct — The abstract constructor
  • EventUtil::getLastSocketErrno — Returns the most recent socket error number
  • EventUtil::getLastSocketError — Returns the most recent socket error
  • EventUtil::getSocketFd — Returns numeric file descriptor of a socket, or stream
  • EventUtil::getSocketName — Retreives the current address to which the socket is bound.
  • EventUtil::setSocketOption — Sets socket options
  • EventUtil::sslRandPoll — Generates entropy by means of OpenSSL's RAND_poll()
EventSslContext::__construct
EventUtil::__construct
Event


The abstract constructor

EventUtil
EventUtil::getLastSocketErrno
EventUtil
PHP Manual

EventUtil::__construct

(PECL event >= 1.2.6-beta)

EventUtil::__construct — The abstract constructor

Descripción

abstract public EventUtil::__construct ( void )

EventUtil is a singleton. Therefore the constructor is abstract, and it is impossible to create objects based on this class.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

EventUtil
EventUtil::getLastSocketErrno
EventUtil


Returns the most recent socket error number

EventUtil::__construct
EventUtil::getLastSocketError
EventUtil
PHP Manual

EventUtil::getLastSocketErrno

(PECL event >= 1.2.6-beta)

EventUtil::getLastSocketErrno — Returns the most recent socket error number

Descripción

public static int EventUtil::getLastSocketErrno ([ mixed $socket = NULL ] )

Returns the most recent socket error number( errno ).

Parámetros

socket

Socket resource, stream or a file descriptor of a socket.

Valores devueltos

Returns the most recent socket error number( errno ).

Ver también

  • EventUtil::getLastSocketError() - Returns the most recent socket error
EventUtil::__construct
EventUtil::getLastSocketError
EventUtil


Returns the most recent socket error

EventUtil::getLastSocketErrno
EventUtil::getSocketFd
EventUtil
PHP Manual

EventUtil::getLastSocketError

(PECL event >= 1.2.6-beta)

EventUtil::getLastSocketError — Returns the most recent socket error

Descripción

public static string EventUtil::getLastSocketError ([ mixed $socket ] )

Returns the most recent socket error.

Parámetros

socket

Socket resource, stream or a file descriptor of a socket.

Valores devueltos

Returns the most recent socket error.

Ver también

  • EventUtil::getLastSocketErrno() - Returns the most recent socket error number
EventUtil::getLastSocketErrno
EventUtil::getSocketFd
EventUtil


Returns numeric file descriptor of a socket, or stream

EventUtil::getLastSocketError
EventUtil::getSocketName
EventUtil
PHP Manual

EventUtil::getSocketFd

(PECL event >= 1.7.0)

EventUtil::getSocketFd — Returns numeric file descriptor of a socket, or stream

Descripción

public static int EventUtil::getSocketFd ( mixed $socket )

Returns numeric file descriptor of a socket or stream specified by socket argument just like the Event extension does it internally for all methods accepting socket resource or stream.

Parámetros

socket

Socket resource or stream.

Valores devueltos

Returns TRUE on success. Otherwise FALSE. EventUtil::getSocketFd() returns FALSE in case if it is whether failed to recognize the type of the underlying file, or detected that the file descriptor associated with socket is not valid.

EventUtil::getLastSocketError
EventUtil::getSocketName
EventUtil


Retreives the current address to which the socket is bound.

EventUtil::getSocketFd
EventUtil::setSocketOption
EventUtil
PHP Manual

EventUtil::getSocketName

(PECL event >= 1.5.0)

EventUtil::getSocketName — Retreives the current address to which the socket is bound.

Descripción

public static bool EventUtil::getSocketName ( mixed $socket , string &$address [, mixed &$port ] )

Retreives the current address to which the socket is bound.

Parámetros

socket

Socket resource, stream or a file descriptor of a socket.

address

Output parameter. IP-address, or the UNIX domain socket path depending on the socket address family.

port

Output parameter. The port the socket is bound to. Has no meaning for UNIX domain sockets.

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

EventUtil::getSocketFd
EventUtil::setSocketOption
EventUtil


Sets socket options

EventUtil::getSocketName
EventUtil::sslRandPoll
EventUtil
PHP Manual

EventUtil::setSocketOption

(PECL event >= 1.6.0)

EventUtil::setSocketOption — Sets socket options

Descripción

public static bool EventUtil::setSocketOption ( mixed $socket , int $level , int $optname , mixed $optval )

Sets socket options.

Parámetros

socket

Socket resource, stream, or numeric file descriptor associated with the socket.

level

One of EventUtil::SOL_* constants. Specifies the protocol level at which the option resides. For example, to retrieve options at the socket level, a level parameter of EventUtil::SOL_SOCKET would be used. Other levels, such as TCP, can be used by specifying the protocol number of that level. Protocol numbers can be found by using the getprotobyname() function. See EventUtil constants .

optname

Option name(type). Has the same meaning as corresponding parameter of socket_get_option() function. See EventUtil constants .

optval

Accepts the same values as optval parameter of the socket_get_option() function.

Valores devueltos

Returns TRUE on success. Otherwise FALSE.

Ver también

  • socket_get_option() - Obtiene las opciones de socket para el socket
  • socket_set_option() - Establece las opciones de socket para el socket
EventUtil::getSocketName
EventUtil::sslRandPoll
EventUtil


Generates entropy by means of OpenSSL's RAND_poll()

EventUtil::setSocketOption
FAM
EventUtil
PHP Manual

EventUtil::sslRandPoll

(PECL event >= 1.2.6-beta)

EventUtil::sslRandPoll — Generates entropy by means of OpenSSL's RAND_poll()

Descripción

public static void EventUtil::sslRandPoll ( void )

Generates entropy by means of OpenSSL's RAND_poll() (see the system manual).

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

EventUtil::setSocketOption
FAM
EventUtil


Monitor de Alteración de Archivos (File Alteration Monitor)

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de FAM
    • fam_cancel_monitor — Detiene el monitor
    • fam_close — Cierra la conexión FAM
    • fam_monitor_collection — Vigila los cambios en una colección de archivos de un directorio
    • fam_monitor_directory — Vigila cambios en un directorio
    • fam_monitor_file — Vigila cambios en un archivo regular
    • fam_next_event — Obtiene el próximo evento FAM en espera
    • fam_open — Abre una conexión al demonio FAM
    • fam_pending — Verifica si hay eventos FAM pendientes
    • fam_resume_monitor — Reactiva un monitoreo suspendido
    • fam_suspend_monitor — Suspende temporalmente un monitoreo
EventUtil::sslRandPoll
Introducción
Otros servicios


Introducción

El monitor de archivos y directorio FAM, notifica a las aplicaciones interesadas de cambios. Más información sobre FAM está disponible en » http://oss.sgi.com/projects/fam/.

En un script PHP se puede especificar una lista de archivos para ser monitorizados por FAM usando las funciones proveidas por esta extensión.

El proceso FAM se inicia cuando la primera conexión de cualquier aplicación se establece. Termina cuando la conexión también finaliza.

Nota:

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.1.0.

Nota: Esta extensión no está disponible en plataformas Windows.

FAM
Instalación/Configuración
FAM


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
FAM


Requerimientos

Esta extensión usa las funciones de la librería » FAM, desarrolladas por SGI. Por lo tanto se debe descargar e instalar la librería FAM.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión se considera no mantenida y muerta. Sin embargo, el código fuente para esta extensión sigue estando disponible dentro de PECL SVN aquí: » http://svn.php.net/viewvc/pecl/fam.

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.1.0

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

Hay dos tipos de recursos utilizados en el módulo FAM. El primero es la conexión al servicio FAM devuelto por fam_open(), el segundo son los recursos de monitor devuelto por las funciones fam_monitor_XXX.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Constantes de eventos FAM
Constante | Descripción
FAMChanged (integer) | Algún valor que ha sido modificado en un archivo o directorio. Es accesible con fstat(1).
FAMDeleted (integer) | Un fichero o directorio ha sido borrado o renombrado.
FAMStartExecuting (integer) | Un fichero ejecutable se ha puesto en marcha.
FAMStopExecuting (integer) | Un fichero ejecutable se ha detenido.
FAMCreated (integer) | Un archivo fue creado en un directorio.
FAMMoved (integer) | Este evento nunca sucede.
FAMAcknowledge (integer) | Un evento en respuesta a fam_cancel_monitor().
FAMExists (integer) | Un evento que se produce tras monitorizar un archivo o directorio. Cuando un directorio es monitorizado, se controlan todos los contenidos de dicho directorio.
FAMEndExist (integer) | Evento después del último evento FAMEExists.
Tipos de recursos
Funciones de FAM
FAM


Funciones de FAM

Tabla de contenidos

  • fam_cancel_monitor — Detiene el monitor
  • fam_close — Cierra la conexión FAM
  • fam_monitor_collection — Vigila los cambios en una colección de archivos de un directorio
  • fam_monitor_directory — Vigila cambios en un directorio
  • fam_monitor_file — Vigila cambios en un archivo regular
  • fam_next_event — Obtiene el próximo evento FAM en espera
  • fam_open — Abre una conexión al demonio FAM
  • fam_pending — Verifica si hay eventos FAM pendientes
  • fam_resume_monitor — Reactiva un monitoreo suspendido
  • fam_suspend_monitor — Suspende temporalmente un monitoreo
Constantes predefinidas
fam_cancel_monitor
FAM


Detiene el monitor

Funciones de FAM
fam_close
Funciones de FAM
PHP Manual

fam_cancel_monitor

(PHP 5 <= 5.0.5)

fam_cancel_monitor — Detiene el monitor

Descripción

bool fam_cancel_monitor ( resource $fam , resource $fam_monitor )

Termina de monitorizar un recurso.

Además se produce un evento FAMAcknowledge.

Parámetros

fam

Un recuro representa una conexión al servicio FAM devuelto por fam_open()

fam_monitor

Un recurso devuelto por uno de las funciones fam_monitor_XXX

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • fam_monitor_file() - Vigila cambios en un archivo regular
  • fam_monitor_directory() - Vigila cambios en un directorio
  • fam_monitor_collection() - Vigila los cambios en una colección de archivos de un directorio
  • fam_suspend_monitor() - Suspende temporalmente un monitoreo

Funciones de FAM
fam_close
Funciones de FAM


Cierra la conexión FAM

fam_cancel_monitor
fam_monitor_collection
Funciones de FAM
PHP Manual

fam_close

(PHP 5 <= 5.0.5)

fam_close — Cierra la conexión FAM

Descripción

void fam_close ( resource $fam )

Cierra una conexión al servicio FAM.

Parámetros

fam

Un recurso que representa una conexión al servicio FAM devuelto por fam_open()

Valores devueltos

No devuelve ningún valor.

Ver también

  • fam_monitor_open()

fam_cancel_monitor
fam_monitor_collection
Funciones de FAM


Vigila los cambios en una colección de archivos de un directorio

fam_close
fam_monitor_directory
Funciones de FAM
PHP Manual

fam_monitor_collection

(PHP 5 <= 5.0.5)

fam_monitor_collection — Vigila los cambios en una colección de archivos de un directorio

Descripción

resource fam_monitor_collection ( resource $fam , string $dirname , int $depth , string $mask )

Solicita monitorizar una colección de archivos dentro de un directorio.

Un evento FAM será generado cuando el status del archivo cambie. Los códigos de eventos posibles están descritos en detalle en la constantes de esta sección.

Parámetros

fam

Un recurso que representa una conexión al servicio FAM devuelto por fam_open()

dirname

Ruta del directorio a monitorizar

depth

El máximo nivel de profundidad depth de búsqueda dentro del directorio

mask

Una máscara mask para restringir los nombres de archivo

Valores devueltos

Devuelve un recurso de monitoreo o FALSE en caso de error.

Ver también

  • fam_monitor_file() - Vigila cambios en un archivo regular
  • fam_monitor_directory() - Vigila cambios en un directorio
  • fam_cancel_monitor() - Detiene el monitor
  • fam_suspend_monitor() - Suspende temporalmente un monitoreo
  • fam_resume_monitor() - Reactiva un monitoreo suspendido

fam_close
fam_monitor_directory
Funciones de FAM


Vigila cambios en un directorio

fam_monitor_collection
fam_monitor_file
Funciones de FAM
PHP Manual

fam_monitor_directory

(PHP 5 <= 5.0.5)

fam_monitor_directory — Vigila cambios en un directorio

Descripción

resource fam_monitor_directory ( resource $fam , string $dirname )

Solicita el monitoreo a un directorio y a sus archivos.

Un evento FAM será generado cuando el status del directorio (por ejemplo, el resultado de la función stat() en un directorio) o su contenido (por ejemplo, el resultado de readdir()) cambia.

Los códigos de eventos posibles están descritos en detalle en la constantes de esta sección.

Parámetros

fam

Un recurso que representa una conexión al servicio FAM devuelto por fam_open()

dirname

Ruta del directorio a monitorizar

Valores devueltos

Devuelve un recurso de monitoreo o FALSE en caso de error.

Ver también

  • fam_monitor_file() - Vigila cambios en un archivo regular
  • fam_monitor_collection() - Vigila los cambios en una colección de archivos de un directorio
  • fam_cancel_monitor() - Detiene el monitor
  • fam_suspend_monitor() - Suspende temporalmente un monitoreo
  • fam_resume_monitor() - Reactiva un monitoreo suspendido

fam_monitor_collection
fam_monitor_file
Funciones de FAM


Vigila cambios en un archivo regular

fam_monitor_directory
fam_next_event
Funciones de FAM
PHP Manual

fam_monitor_file

(PHP 5 <= 5.0.5)

fam_monitor_file — Vigila cambios en un archivo regular

Descripción

resource fam_monitor_file ( resource $fam , string $filename )

Solicita monitorizar un simple archivo. Un evento FAM será generado cuando el status del archivo cambie (por ejemplo, el resultado de la función stat() en ese archivo).

Los códigos de eventos posibles están descritos en detalle en la constantes de esta sección.

Parámetros

fam

Un recurso que representa una conexión al servicio FAM devuelto por fam_open()

filename

Ruta del archivo a monitorizar

Valores devueltos

Devuelve un recurso de monitoreo o FALSE en caso de error.

Ver también

  • fam_monitor_directory() - Vigila cambios en un directorio
  • fam_monitor_collection() - Vigila los cambios en una colección de archivos de un directorio
  • fam_cancel_monitor() - Detiene el monitor
  • fam_suspend_monitor() - Suspende temporalmente un monitoreo
  • fam_resume_monitor() - Reactiva un monitoreo suspendido

fam_monitor_directory
fam_next_event
Funciones de FAM


Obtiene el próximo evento FAM en espera

fam_monitor_file
fam_open
Funciones de FAM
PHP Manual

fam_next_event

(PHP 5 <= 5.0.5)

fam_next_event — Obtiene el próximo evento FAM en espera

Descripción

array fam_next_event ( resource $fam )

Obtiene el próximo evento FAM en espera.

Esta función se bloqueará hasta que un evento esté disponible, lo cual puede verificarse usando la función fam_pending().

Parámetros

fam

Un recurso que representa una conexión al servicio FAM devuelto por fam_open()

Valores devueltos

Devuelve un array conteniendo los códigos de eventos FAM en el elemento 'code', la ruta de este archivo aplicada al elemento 'filename' y opcionalmente un nombre de máquina en el elemento 'hostname'.

Los códigos de eventos posibles están descritos en detalle en la constantes de esta sección.

Ver también

  • fam_pending() - Verifica si hay eventos FAM pendientes

fam_monitor_file
fam_open
Funciones de FAM


Abre una conexión al demonio FAM

fam_next_event
fam_pending
Funciones de FAM
PHP Manual

fam_open

(PHP 5 <= 5.0.5)

fam_open — Abre una conexión al demonio FAM

Descripción

resource fam_open ([ string $appname ] )

Abre una conexión al demonio del servicio FAM.

Parámetros

appname

Una cadena que identifica la aplicación por razones de registro

Valores devueltos

Devuelve un recurso que representa una conexión al servicio FAM al tener éxito o FALSE en caso de error.

Ver también

  • fam_close() - Cierra la conexión FAM

fam_next_event
fam_pending
Funciones de FAM


Verifica si hay eventos FAM pendientes

fam_open
fam_resume_monitor
Funciones de FAM
PHP Manual

fam_pending

(PHP 5 <= 5.0.5)

fam_pending — Verifica si hay eventos FAM pendientes

Descripción

int fam_pending ( resource $fam )

Verifica si hay eventos FAM pendientes.

Parámetros

fam

Un recurso que representa una conexión al servicio FAM devuelto por fam_open()

Valores devueltos

Devuelve un valor distinto a cero si los eventos están disponibles para ser obtenidos por la función fam_next_event(), de lo contrario retornará cero.

Ver también

  • fam_next_event() - Obtiene el próximo evento FAM en espera

fam_open
fam_resume_monitor
Funciones de FAM


Reactiva un monitoreo suspendido

fam_pending
fam_suspend_monitor
Funciones de FAM
PHP Manual

fam_resume_monitor

(PHP 5 <= 5.0.5)

fam_resume_monitor — Reactiva un monitoreo suspendido

Descripción

bool fam_resume_monitor ( resource $fam , resource $fam_monitor )

Reactiva un monitoreo previamente suspendido usando la función fam_suspend_monitor().

Parámetros

fam

Un recurso que representa una conexión al servicio FAM devuelto por fam_open()

fam_monitor

Un recurso devuelto por uno de las funciones fam_monitor_XXX

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • fam_suspend_monitor() - Suspende temporalmente un monitoreo

fam_pending
fam_suspend_monitor
Funciones de FAM


Suspende temporalmente un monitoreo

fam_resume_monitor
FTP
Funciones de FAM
PHP Manual

fam_suspend_monitor

(PHP 5 <= 5.0.5)

fam_suspend_monitor — Suspende temporalmente un monitoreo

Descripción

bool fam_suspend_monitor ( resource $fam , resource $fam_monitor )

fam_suspend_monitor() temporarily suspend monitoring of a resource.

Monitoring can later be continued using fam_resume_monitor() without the need of requesting a complete new monitor.

Parámetros

fam

A resource representing a connection to the FAM service returned by fam_open()

fam_monitor

A resource returned by one of the fam_monitor_XXX functions

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • fam_cancel_monitor() - Detiene el monitor
  • fam_resume_monitor() - Reactiva un monitoreo suspendido

fam_resume_monitor
FTP
Funciones de FAM


FTP

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Uso básico
  • Funciones de FTP
    • ftp_alloc — Reserva espacio para que un archivo sea cargado
    • ftp_cdup — Vuelve al directorio padre
    • ftp_chdir — Cambia el directorio actual en un servidor FTP
    • ftp_chmod — Establecer permisos en un archivo via FTP
    • ftp_close — Cierra una conexión FTP
    • ftp_connect — Abre una conexión FTP
    • ftp_delete — Elimina un archivo en el servidor FTP
    • ftp_exec — Solicita la ejecución de un comando en el servidor FTP
    • ftp_fget — Descarga un archivo desde el servidor FTP y lo guarda en un archivo abierto
    • ftp_fput — Carga un archivo abierto en el servidor FTP
    • ftp_get_option — Recupera varios comportamientos de tiempo de ejecución de la secuencia FTP actual
    • ftp_get — Descarga un archivo desde el servidor FTP
    • ftp_login — Inicia sesión en una conexión FTP
    • ftp_mdtm — Devuelve el tiempo de la última modificación del archivo dado
    • ftp_mkdir — Crea un directorio
    • ftp_nb_continue — Continúa recuperando/enviando un archivo (modo no-bloqueo)
    • ftp_nb_fget — Recupera un archivo desde el servidor FTP y lo escribe en un archivo abierto (modo no-bloqueo)
    • ftp_nb_fput — Almacena un archivo desde un archivo abierto en el servidor FTP (modo no-bloqueo)
    • ftp_nb_get — Recupera un archivo desde el servidor FTP y lo escribe en un archivo local (modo no-bloqueo)
    • ftp_nb_put — Almacena un archivo en el servidor FTP (modo no-bloqueo)
    • ftp_nlist — Devuelve una lista de los archivos que se encuentran en el directorio especificado
    • ftp_pasv — Activa o desactiva el modo pasivo
    • ftp_put — Carga un archivo al servidor FTP
    • ftp_pwd — Devuelve el nombre del directorio actual
    • ftp_quit — Alias de ftp_close
    • ftp_raw — Envía un comando arbitrario a un servidor FTP
    • ftp_rawlist — Devuelve una lista detallada de archivos en el directorio especificado
    • ftp_rename — Renombra un archivo o un directorio en el servidor FTP
    • ftp_rmdir — Elimina un directorio
    • ftp_set_option — Establecer varias opciones FTP de tiempo de ejecución
    • ftp_site — Envía un comando SITE al servidor
    • ftp_size — Devuelve el tamaño del archivo dado
    • ftp_ssl_connect — Abre una conexión segura SSL-FTP
    • ftp_systype — Devuelve el identificador del tipo de sistema del servidor FTP remoto
fam_suspend_monitor
Introducción
Otros servicios


Introducción

Las funciones en esta extensión implementan el acceso por parte del cliente a los servidores de ficheros que "hablen" el Protocolo de Transferencia de Ficheros (FTP) como se define en » http://www.faqs.org/rfcs/rfc959. Esta extensión tiene como propósito el acceso detallado a un servidor FTP proporcionando una amplia gama de controles para el script en ejecución. Si sólo desea leer o escribir un fichero en un servidor FTP, considere el uso de las envolturas ftp:// con las funciones de sistema de ficheros, las cuales proporcionan una interfaz más sencilla e intuitiva.

FTP
Instalación/Configuración
FTP


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
FTP


Instalación

Para usar las funciones FTP con su configuración de PHP, debe agregar la opción --enable-ftp cuando instale PHP.

La versión de PHP para Windows tiene soporte nativo para esta extensión. No se requiere cargar extensiones adicionales para utilizar estas funciones.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

Esta extensión usa un tipo de recurso, que es el identificador de enlace de la conexión FTP, devuelto por ftp_connect() o ftp_ssl_connect().

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

FTP_ASCII (integer)

FTP_TEXT (integer)

FTP_BINARY (integer)

FTP_IMAGE (integer)

FTP_TIMEOUT_SEC (integer)

Vea ftp_set_option() para más información.

Las siguientes constantes fueron introducidas en PHP 4.3.0.

FTP_AUTOSEEK (integer)

Vea ftp_set_option() para más información.

FTP_AUTORESUME (integer)

Determina automáticamente la posición de continuación y la posición de comienzo para peticiones GET y PUT (sólo funciona si FTP_AUTOSEEK está habilitado)

FTP_FAILED (integer)

La transferencia asincrónica ha fallado

FTP_FINISHED (integer)

La transferencia asincrónica ha terminado

FTP_MOREDATA (integer)

La transferencia asincrónica está aun activa

Tipos de recursos
Ejemplos
FTP


Ejemplos

Tabla de contenidos

  • Uso básico
Constantes predefinidas
Uso básico
FTP


Uso básico

Ejemplo #1 Ejemplo FTP

<?php
// establecer una conexión básica
$conn_id = ftp_connect($ftp_server);

// iniciar una sesión con nombre de usuario y contraseña
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// verificar la conexión
if ((!$conn_id) || (!$login_result)) {
    echo "¡La conexión FTP ha fallado!";
    echo "Se intentó conectar al $ftp_server por el usuario $ftp_user_name";
    exit;
} else {
    echo "Conexión a $ftp_server realizada con éxito, por el usuario $ftp_user_name";
}

// subir un archivo
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);

// comprobar el estado de la subida
if (!$upload) {
    echo "¡La subida FTP ha fallado!";
} else {
    echo "Subida de $source_file a $ftp_server como $destination_file";
}

// cerrar la conexión ftp
ftp_close($conn_id);
?>

Ejemplos
Funciones de FTP
Ejemplos


Funciones de FTP

Tabla de contenidos

  • ftp_alloc — Reserva espacio para que un archivo sea cargado
  • ftp_cdup — Vuelve al directorio padre
  • ftp_chdir — Cambia el directorio actual en un servidor FTP
  • ftp_chmod — Establecer permisos en un archivo via FTP
  • ftp_close — Cierra una conexión FTP
  • ftp_connect — Abre una conexión FTP
  • ftp_delete — Elimina un archivo en el servidor FTP
  • ftp_exec — Solicita la ejecución de un comando en el servidor FTP
  • ftp_fget — Descarga un archivo desde el servidor FTP y lo guarda en un archivo abierto
  • ftp_fput — Carga un archivo abierto en el servidor FTP
  • ftp_get_option — Recupera varios comportamientos de tiempo de ejecución de la secuencia FTP actual
  • ftp_get — Descarga un archivo desde el servidor FTP
  • ftp_login — Inicia sesión en una conexión FTP
  • ftp_mdtm — Devuelve el tiempo de la última modificación del archivo dado
  • ftp_mkdir — Crea un directorio
  • ftp_nb_continue — Continúa recuperando/enviando un archivo (modo no-bloqueo)
  • ftp_nb_fget — Recupera un archivo desde el servidor FTP y lo escribe en un archivo abierto (modo no-bloqueo)
  • ftp_nb_fput — Almacena un archivo desde un archivo abierto en el servidor FTP (modo no-bloqueo)
  • ftp_nb_get — Recupera un archivo desde el servidor FTP y lo escribe en un archivo local (modo no-bloqueo)
  • ftp_nb_put — Almacena un archivo en el servidor FTP (modo no-bloqueo)
  • ftp_nlist — Devuelve una lista de los archivos que se encuentran en el directorio especificado
  • ftp_pasv — Activa o desactiva el modo pasivo
  • ftp_put — Carga un archivo al servidor FTP
  • ftp_pwd — Devuelve el nombre del directorio actual
  • ftp_quit — Alias de ftp_close
  • ftp_raw — Envía un comando arbitrario a un servidor FTP
  • ftp_rawlist — Devuelve una lista detallada de archivos en el directorio especificado
  • ftp_rename — Renombra un archivo o un directorio en el servidor FTP
  • ftp_rmdir — Elimina un directorio
  • ftp_set_option — Establecer varias opciones FTP de tiempo de ejecución
  • ftp_site — Envía un comando SITE al servidor
  • ftp_size — Devuelve el tamaño del archivo dado
  • ftp_ssl_connect — Abre una conexión segura SSL-FTP
  • ftp_systype — Devuelve el identificador del tipo de sistema del servidor FTP remoto
Uso básico
ftp_alloc
FTP


Reserva espacio para que un archivo sea cargado

Funciones de FTP
ftp_cdup
Funciones de FTP
PHP Manual

ftp_alloc

(PHP 5)

ftp_alloc — Reserva espacio para que un archivo sea cargado

Descripción

bool ftp_alloc ( resource $ftp_stream , int $filesize [, string &$result ] )

Envía un comando ALLO al servidor FTP remoto para reservar espacio para la carga de un archivo.

Nota:

Muchos servidores FTP no son compatibles con este comando. Estos servidores pueden devolver un código de error (FALSE) indicando que el comando no es compatible o un código de éxito (TRUE) para indicar que la preubicación no es necesaria y el cliente debe continuar como si la operación hubiese sido exitosa. Debido a esto, puede ser mejor reservar esta función para servidores que requieren explícitamente la preubicación.

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

filesize

El número de bytes a reservar.

result

Una representación textual de la respuesta de los servidores será devuelta por referencia en result si se proporciona una variable.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ftp_alloc()

<?php

$file = "/home/user/myfile";

// conexión al servidor
$conn_id = ftp_connect('ftp.example.com');
$login_result = ftp_login($conn_id, 'anonymous', 'user@example.com');

if (ftp_alloc($conn_id, filesize($file), $result)) {
  echo "El espacio fue reservado satisfactoriamente en el servidor. Enviando $file.\n";
  ftp_put($conn_id, '/incomming/myfile', $file, FTP_BINARY);
} else {
  echo "No fue posible reservar espacio en el servidor. El servidor dijo: $result\n";
}

ftp_close($conn_id);

?>

Ver también

  • ftp_put() - Carga un archivo al servidor FTP
  • ftp_fput() - Carga un archivo abierto en el servidor FTP

Funciones de FTP
ftp_cdup
Funciones de FTP


Vuelve al directorio padre

ftp_alloc
ftp_chdir
Funciones de FTP
PHP Manual

ftp_cdup

(PHP 4, PHP 5)

ftp_cdup — Vuelve al directorio padre

Descripción

bool ftp_cdup ( resource $ftp_stream )

Vuelve al directorio padre.

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ftp_cdup()

<?php
// establecer una conexión básica
$conn_id = ftp_connect($ftp_server);

// iniciar sesión con nombre de usuario y contraseña
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// cambiar el directorio actual a HTML
ftp_chdir($conn_id, 'html');

echo ftp_pwd($conn_id); // /html

// volver al directorio padre
if (ftp_cdup($conn_id)) {
  echo "cdup tuvo éxito\n";
} else {
  echo "cdup no tuvo éxito\n";
}

echo ftp_pwd($conn_id); // /

ftp_close($conn_id);
?>

Ver también

  • ftp_chdir() - Cambia el directorio actual en un servidor FTP
  • ftp_pwd() - Devuelve el nombre del directorio actual

ftp_alloc
ftp_chdir
Funciones de FTP


Cambia el directorio actual en un servidor FTP

ftp_cdup
ftp_chmod
Funciones de FTP
PHP Manual

ftp_chdir

(PHP 4, PHP 5)

ftp_chdir — Cambia el directorio actual en un servidor FTP

Descripción

bool ftp_chdir ( resource $ftp_stream , string $directory )

Cambia el directorio actual al especificado.

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

directory

El directorio de destino.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Si al cambiar de directorio falla, PHP también lanzará una advertencia.

Ejemplos

Ejemplo #1 Ejemplo de ftp_chdir()

<?php

// configurar conexión básica
$conn_id = ftp_connect($ftp_server);

// iniciar sesión con nombre de usuario y contraseña
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// check connection
if ((!$conn_id) || (!$login_result)) {
    die("La conexión FTP ha fallado!");
}

echo "Directorio actual: " . ftp_pwd($conn_id) . "\n";

// intenta cambiar el directorio a somedir
if (ftp_chdir($conn_id, "somedir")) {
    echo "El directorio actual es: " . ftp_pwd($conn_id) . "\n";
} else {
    echo "No se pudo cambiar al directorio\n";
}

// cerrar la conexión ftp
ftp_close($conn_id);
?>

Ver también

  • ftp_cdup() - Vuelve al directorio padre
  • ftp_pwd() - Devuelve el nombre del directorio actual

ftp_cdup
ftp_chmod
Funciones de FTP


Establecer permisos en un archivo via FTP

ftp_chdir
ftp_close
Funciones de FTP
PHP Manual

ftp_chmod

(PHP 5)

ftp_chmod — Establecer permisos en un archivo via FTP

Descripción

int ftp_chmod ( resource $ftp_stream , int $mode , string $filename )

Establece los permisos en el archivo remoto especificado en mode.

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

mode

Los nuevos permisos, dados como un valor octal.

filename

El archivo remoto.

Valores devueltos

Devuelve los nuevos permisos del archivo en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ftp_chmod()

<?php
$file = 'public_html/index.php';

// configurar conexión básica
$conn_id = ftp_connect($ftp_server);

// iniciar sesión con nombre de usuario y contraseña
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// intentar cambiar el chmod del archivo $file a 644
if (ftp_chmod($conn_id, 0644, $file) !== false) {
 echo "El chmod del archivo $file fué satisfactoriamente cambiado a 644\n";
} else {
 echo "No se pudo cambiar el chmod del archivo $file\n";
}

// cerrar la conexión ftp
ftp_close($conn_id);
?>

Ver también

  • chmod() - Cambia el modo de archivo

ftp_chdir
ftp_close
Funciones de FTP


Cierra una conexión FTP

ftp_chmod
ftp_connect
Funciones de FTP
PHP Manual

ftp_close

(PHP 4 >= 4.2.0, PHP 5)

ftp_close — Cierra una conexión FTP

Descripción

bool ftp_close ( resource $ftp_stream )

ftp_close() cierra el identificador de enlace especificado y libera el resource.

Nota:

Después de llamar a esta función, ya no puede seguir utilizando la conexión FTP y debe crear una nueva con una nueva función ftp_connect().

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ftp_close()

<?php

// configurar conexión básica
$conn_id = ftp_connect($ftp_server);

// iniciar sesion con nombre de usuario y contraseña
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// imprimir el directorio actual
echo ftp_pwd($conn_id); // /

// cerrar la conexión ftp
ftp_close($conn_id);
?>

Ver también

  • ftp_connect() - Abre una conexión FTP

ftp_chmod
ftp_connect
Funciones de FTP


Abre una conexión FTP

ftp_close
ftp_delete
Funciones de FTP
PHP Manual

ftp_connect

(PHP 4, PHP 5)

ftp_connect — Abre una conexión FTP

Descripción

resource ftp_connect ( string $host [, int $port = 21 [, int $timeout = 90 ]] )

ftp_connect() abre una conexión FTP al host especificado.

Parámetros

host

La dirección del servidor FTP. Este parámetro no debe tener barras al final y no debe estar precedido de ftp://.

port

Este parámetro especifica un puerto alternativo al que conectarse. Si es omitido o es definido como cero, entonces el puerto FTP predeterminado, 21, será utilizado.

timeout

Este parámetro especifica el tiempo de espera para todas las operaciones de red subsiguientes. Si se omite, el valor predeterminado es 90 segundos. El tiempo de espera puede ser cambiado y consultado en cualquier momento con las funciones ftp_set_option() y ftp_get_option().

Valores devueltos

Devuelve una secuencia FTP en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ftp_connect()

<?php

$ftp_server = "ftp.example.com";

// establecer una conexión o finalizarla
$conn_id = ftp_connect($ftp_server) or die("No se pudo conectar a $ftp_server");

?>

Historial de cambios

Versión | Descripción
4.2.0 | Se añadió timeout.

Ver también

  • ftp_close() - Cierra una conexión FTP
  • ftp_ssl_connect() - Abre una conexión segura SSL-FTP

ftp_close
ftp_delete
Funciones de FTP


Elimina un archivo en el servidor FTP

ftp_connect
ftp_exec
Funciones de FTP
PHP Manual

ftp_delete

(PHP 4, PHP 5)

ftp_delete — Elimina un archivo en el servidor FTP

Descripción

bool ftp_delete ( resource $ftp_stream , string $path )

ftp_delete() borra el archivo especificado por path desde el servidor FTP.

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

path

El archivo a eliminar.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ftp_delete()

<?php
$file = 'public_html/old.txt';

// establecer conexión básica
$conn_id = ftp_connect($ftp_server);

// iniciar sesión con nombre de usuario y contraseña
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// intentar eliminar el archivo $file
if (ftp_delete($conn_id, $file)) {
 echo "$file se ha eliminado satisfactoriamente\n";
} else {
 echo "No se pudo eliminar $file\n";
}

// cerrar la conexión ftp
ftp_close($conn_id);
?>

ftp_connect
ftp_exec
Funciones de FTP


Solicita la ejecución de un comando en el servidor FTP

ftp_delete
ftp_fget
Funciones de FTP
PHP Manual

ftp_exec

(PHP 4 >= 4.0.3, PHP 5)

ftp_exec — Solicita la ejecución de un comando en el servidor FTP

Descripción

bool ftp_exec ( resource $ftp_stream , string $command )

Envía un command de solicitud SITE EXEC al servidor FTP.

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

command

El comando a ejecutar.

Valores devueltos

Devuelve TRUE si el comando se ha realizado correctamente (el servidor envía el código de respuesta: 200); en caso contrario devuelve FALSE.

Ejemplos

Ejemplo #1 Ejemplo de ftp_exec()

<?php

// inicialización de variable
$command = 'ls -al >files.txt';

// establecer una conexión básica
$conn_id = ftp_connect($ftp_server);

// iniciar sesión con nombre de usuario y contraseña
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// ejecutar comando
if (ftp_exec($conn_id, $command)) {
    echo "$command ejecutado con éxito\n";
} else {
    echo "no se pudo ejecutar $command\n";
}

// cerrar la conexión ftp
ftp_close($conn_id);

?>

Ver también

  • ftp_raw() - Envía un comando arbitrario a un servidor FTP

ftp_delete
ftp_fget
Funciones de FTP


Descarga un archivo desde el servidor FTP y lo guarda en un archivo abierto

ftp_exec
ftp_fput
Funciones de FTP
PHP Manual

ftp_fget

(PHP 4, PHP 5)

ftp_fget — Descarga un archivo desde el servidor FTP y lo guarda en un archivo abierto

Descripción

bool ftp_fget ( resource $ftp_stream , resource $handle , string $remote_file , int $mode [, int $resumepos = 0 ] )

ftp_fget() recupera un remote_file desde el servidor FTP, y lo escribe en el apuntador del archivo especificado.

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

handle

Un apuntador del archivo abierto en el cual almacenar los datos.

remote_file

La ruta del archivo remoto.

mode

El modo de transferencia. Debe ser FTP_ASCII o FTP_BINARY.

resumepos

La posición desde la cual se empieza a descargar el archivo remoto.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ftp_fget()

<?php

// ruta al archivo remoto
$remote_file = 'somefile.txt';
$local_file = 'localfile.txt';

// abrir un archivo para escribir
$handle = fopen($local_file, 'w');

// establecer una conexión básica
$conn_id = ftp_connect($ftp_server);

// iniciar sesión con nombre de usuario y contraseña
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// intenta descargar un $remote_file y guardarlo en $handle
if (ftp_fget($conn_id, $handle, $remote_file, FTP_ASCII, 0)) {
 echo "Se ha escrito satisfactoriamente sobre $local_file\n";
} else {
 echo "Ha habido un problema durante la descarga de $remote_file en $local_file\n";
}

// cerrar la conexión ftp y el gestor de archivo
ftp_close($conn_id);
fclose($handle);
?>

Historial de cambios

Versión | Descripción
4.3.0 | Se añadió resumepos..

Ver también

  • ftp_get() - Descarga un archivo desde el servidor FTP
  • ftp_nb_get() - Recupera un archivo desde el servidor FTP y lo escribe en un archivo local (modo no-bloqueo)
  • ftp_nb_fget() - Recupera un archivo desde el servidor FTP y lo escribe en un archivo abierto (modo no-bloqueo)

ftp_exec
ftp_fput
Funciones de FTP


Carga un archivo abierto en el servidor FTP

ftp_fget
ftp_get_option
Funciones de FTP
PHP Manual

ftp_fput

(PHP 4, PHP 5)

ftp_fput — Carga un archivo abierto en el servidor FTP

Descripción

bool ftp_fput ( resource $ftp_stream , string $remote_file , resource $handle , int $mode [, int $startpos = 0 ] )

ftp_fput() carga los datos desde un puntero de archivo a un archivo remoto en el servidor FTP.

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

remote_file

La ruta del archivo remoto.

handle

Un apuntador de archivo abierto en el archivo local. La lectura se detiene al final del archivo.

mode

El modo de transferencia. Debe ser FTP_ASCII o FTP_BINARY.

startpos

La posición en el archivo remoto para empezar a subirlo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ftp_fput()

<?php

// abrir un archivo para su lectura
$file = 'somefile.txt';
$fp = fopen($file, 'r');

// establecer una conexión básica
$conn_id = ftp_connect($ftp_server);

// iniciar sesion con nombre de usuario y contraseña
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// intentar cargar $file
if (ftp_fput($conn_id, $file, $fp, FTP_ASCII)) {
    echo "Cargado correctamente $file\n";
} else {
    echo "Ha habido un problema al cargar $file\n";
}

// cerrar la conexion ftp y el gestor de archivo
ftp_close($conn_id);
fclose($fp);

?>

Historial de cambios

Versión | Descripción
4.3.0 | Se añadió startpos.

Ver también

  • ftp_put() - Carga un archivo al servidor FTP
  • ftp_nb_fput() - Almacena un archivo desde un archivo abierto en el servidor FTP (modo no-bloqueo)
  • ftp_nb_put() - Almacena un archivo en el servidor FTP (modo no-bloqueo)

ftp_fget
ftp_get_option
Funciones de FTP


Recupera varios comportamientos de tiempo de ejecución de la secuencia FTP actual

ftp_fput
ftp_get
Funciones de FTP
PHP Manual

ftp_get_option

(PHP 4 >= 4.2.0, PHP 5)

ftp_get_option — Recupera varios comportamientos de tiempo de ejecución de la secuencia FTP actual

Descripción

mixed ftp_get_option ( resource $ftp_stream , int $option )

Esta función devuelve el valor para la option solicitada de la conexión FTP especificada.

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

option

Actualmente, se admiten las siguientes opciones:

Opciones FTP de tiempo de ejecución soportadas
FTP_TIMEOUT_SEC | Devuelve el tiempo de espera se utiliza actualmente para las operaciones de red.
FTP_AUTOSEEK | Devuelve TRUE si esta opción está activada, FALSE de lo contrario.

Valores devueltos

Devuelve el valor en caso de tener éxito FALSE si el option especificado no es soportado. En este último caso, un mensaje de advertencia es también lanzado.

Ejemplos

Ejemplo #1 Ejemplo de ftp_get_option()

<?php
// Obtener el tiempo de espera de la secuencia FTP dada
$timeout = ftp_get_option($conn_id, FTP_TIMEOUT_SEC);
?>

Ver también

  • ftp_set_option() - Establecer varias opciones FTP de tiempo de ejecución

ftp_fput
ftp_get
Funciones de FTP


Descarga un archivo desde el servidor FTP

ftp_get_option
ftp_login
Funciones de FTP
PHP Manual

ftp_get

(PHP 4, PHP 5)

ftp_get — Descarga un archivo desde el servidor FTP

Descripción

bool ftp_get ( resource $ftp_stream , string $local_file , string $remote_file , int $mode [, int $resumepos = 0 ] )

ftp_get() recupera un archivo remoto desde el servidor FTP, y lo guarda en un archivo local.

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

local_file

La ruta del archivo local (será reemplazado si el archivo ya existe).

remote_file

La ruta del archivo remoto.

mode

El modo de transferencia. Debe ser FTP_ASCII o FTP_BINARY.

resumepos

La posición para el comienzo de la descarga en el archivo remoto.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ftp_get()

<?php

// definir algunas variables
$local_file = 'local.zip';
$server_file = 'server.zip';

// establecer una conexión básica
$conn_id = ftp_connect($ftp_server);

// iniciar sesión con nombre de usuario y contraseña
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// intenta descargar $server_file y guardarlo en $local_file
if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) {
    echo "Se ha guardado satisfactoriamente en $local_file\n";
} else {
    echo "Ha habido un problema\n";
}

// cerrar la conexión ftp
ftp_close($conn_id);

?>

Historial de cambios

Versión | Descripción
4.3.0 | Se añadió resumepos.

Ver también

  • ftp_pasv() - Activa o desactiva el modo pasivo
  • ftp_fget() - Descarga un archivo desde el servidor FTP y lo guarda en un archivo abierto
  • ftp_nb_get() - Recupera un archivo desde el servidor FTP y lo escribe en un archivo local (modo no-bloqueo)
  • ftp_nb_fget() - Recupera un archivo desde el servidor FTP y lo escribe en un archivo abierto (modo no-bloqueo)

ftp_get_option
ftp_login
Funciones de FTP


Inicia sesión en una conexión FTP

ftp_get
ftp_mdtm
Funciones de FTP
PHP Manual

ftp_login

(PHP 4, PHP 5)

ftp_login — Inicia sesión en una conexión FTP

Descripción

bool ftp_login ( resource $ftp_stream , string $username , string $password )

Inicia la sesión en la secuencia FTP determinada.

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

username

El nombre de usuario (USER).

password

La contraseña (PASS).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Si el inicio de sesión falla, PHP también lanzará una advertencia.

Ejemplos

Ejemplo #1 Ejemplo de ftp_login()

<?php

$ftp_server = "ftp.example.com";
$ftp_user = "foo";
$ftp_pass = "bar";

// establecer una conexión o finalizarla
$conn_id = ftp_connect($ftp_server) or die("No se pudo conectar a $ftp_server");

// intentar iniciar sesión
if (@ftp_login($conn_id, $ftp_user, $ftp_pass)) {
    echo "Conectado como $ftp_user@$ftp_server\n";
} else {
    echo "No se pudo conectar como $ftp_user\n";
}

// cerrar la conexión ftp
ftp_close($conn_id);
?>

ftp_get
ftp_mdtm
Funciones de FTP


Devuelve el tiempo de la última modificación del archivo dado

ftp_login
ftp_mkdir
Funciones de FTP
PHP Manual

ftp_mdtm

(PHP 4, PHP 5)

ftp_mdtm — Devuelve el tiempo de la última modificación del archivo dado

Descripción

int ftp_mdtm ( resource $ftp_stream , string $remote_file )

ftp_mdtm() obtiene el tiempo de la última modificación de un archivo remoto.

Nota:

¡No todos los servidores soportan esta característica!

Nota:

ftp_mdtm() no funciona con directorios.

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

remote_file

El archivo de la que extraer el tiempo de la última modificación.

Valores devueltos

Devuelve el tiempo de la última modificación como una marca de tiempo Unix en caso de tener éxito, o -1 si se produce un error.

Ejemplos

Ejemplo #1 Ejemplo de ftp_mdtm()

<?php

$file = 'somefile.txt';

// establecer una conexión básica
$conn_id = ftp_connect($ftp_server);

// iniciar sesión con nombre de usuario y contraseña
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

//  obtener el tiempo de la última modificación
$buff = ftp_mdtm($conn_id, $file);

if ($buff != -1) {
    // somefile.txt fue modificado por última vez en: March 26 2003 14:16:41.
    echo "$file fue modificado por última vez en : " . date("F d Y H:i:s.", $buff);
} else {
    echo "No se pudo obtener mdtime";
}

// cerrar la conexión ftp
ftp_close($conn_id);

?>

ftp_login
ftp_mkdir
Funciones de FTP


Crea un directorio

ftp_mdtm
ftp_nb_continue
Funciones de FTP
PHP Manual

ftp_mkdir

(PHP 4, PHP 5)

ftp_mkdir — Crea un directorio

Descripción

string ftp_mkdir ( resource $ftp_stream , string $directory )

Crea el especificado directory en el servidor FTP.

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

directory

El nombre del directorio que se creará.

Valores devueltos

Devuelve el nombre del directorio recién creado en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ftp_mkdir()

<?php

$dir = 'www';

// establecer una conexión básica
$conn_id = ftp_connect($ftp_server);

// iniciar sesión con nombre de usuario y contraseña
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// intentar crear el directorio $dir
if (ftp_mkdir($conn_id, $dir)) {
 echo "creado con éxito $dir\n";
} else {
 echo "Ha habido un problema durante la creación de $dir\n";
}

// close the connection
ftp_close($conn_id);
?>

Ver también

  • ftp_rmdir() - Elimina un directorio

ftp_mdtm
ftp_nb_continue
Funciones de FTP


Continúa recuperando/enviando un archivo (modo no-bloqueo)

ftp_mkdir
ftp_nb_fget
Funciones de FTP
PHP Manual

ftp_nb_continue

(PHP 4 >= 4.3.0, PHP 5)

ftp_nb_continue — Continúa recuperando/enviando un archivo (modo no-bloqueo)

Descripción

int ftp_nb_continue ( resource $ftp_stream )

CContinúa recuperando/enviando un archivo en modo de no-bloqueo.

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

Valores devueltos

Devuelve FTP_FAILED o FTP_FINISHED o FTP_MOREDATA.

Ejemplos

Ejemplo #1 Ejemplo de ftp_nb_continue()

<?php

// Iniciar la descarga
$ret = ftp_nb_get($my_connection, "prueba", "LEAME", FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Continuar la descarga ...
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "Hubo un error al descargar el archivo...";
   exit(1);
}
?>

ftp_mkdir
ftp_nb_fget
Funciones de FTP


Recupera un archivo desde el servidor FTP y lo escribe en un archivo abierto (modo no-bloqueo)

ftp_nb_continue
ftp_nb_fput
Funciones de FTP
PHP Manual

ftp_nb_fget

(PHP 4 >= 4.3.0, PHP 5)

ftp_nb_fget — Recupera un archivo desde el servidor FTP y lo escribe en un archivo abierto (modo no-bloqueo)

Descripción

int ftp_nb_fget ( resource $ftp_stream , resource $handle , string $remote_file , int $mode [, int $resumepos = 0 ] )

ftp_nb_fget() recupera un archivo remoto desde el servidor FTP.

La diferencia entre esta función y ftp_fget() es que esta función recupera el archivo de forma asincrónica, de modo que su programa puede realizar otras operaciones mientras el archivo está siendo descargado.

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

handle

Un apuntador de archivo abierto en el cual almacenar los datos.

remote_file

La ruta del archivo remoto.

mode

El modo de transferencia. Debe ser FTP_ASCII o FTP_BINARY.

resumepos

Posición en el fichero remoto en donde empezar la descarga

Valores devueltos

Devuelve FTP_FAILED o FTP_FINISHED o FTP_MOREDATA.

Ejemplos

Ejemplo #1 Ejemplo de ftp_nb_fget()

<?php

// abrir un archivo para lectura
$file = 'index.php';
$fp = fopen($file, 'w');

$conn_id = ftp_connect($ftp_server);

$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Iniciar la descarga
$ret = ftp_nb_fget($conn_id, $fp, $file, FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Haga lo que quiera
   echo ".";

   // Continuar la descarga ...
   $ret = ftp_nb_continue($conn_id);
}
if ($ret != FTP_FINISHED) {
   echo "Hubo un error al descargar el archivo...";
   exit(1);
}

// cerrar el apuntador de archivo
fclose($fp);
?>

Ver también

  • ftp_nb_get() - Recupera un archivo desde el servidor FTP y lo escribe en un archivo local (modo no-bloqueo)
  • ftp_nb_continue() - Continúa recuperando/enviando un archivo (modo no-bloqueo)
  • ftp_fget() - Descarga un archivo desde el servidor FTP y lo guarda en un archivo abierto
  • ftp_get() - Descarga un archivo desde el servidor FTP

ftp_nb_continue
ftp_nb_fput
Funciones de FTP


Almacena un archivo desde un archivo abierto en el servidor FTP (modo no-bloqueo)

ftp_nb_fget
ftp_nb_get
Funciones de FTP
PHP Manual

ftp_nb_fput

(PHP 4 >= 4.3.0, PHP 5)

ftp_nb_fput — Almacena un archivo desde un archivo abierto en el servidor FTP (modo no-bloqueo)

Descripción

int ftp_nb_fput ( resource $ftp_stream , string $remote_file , resource $handle , int $mode [, int $startpos = 0 ] )

ftp_nb_fput() carga los datos desde un apuntador de archivo a un archivo remoto en el servidor FTP.

La diferencia entre esta función y ftp_fput() es que esta función carga el archivo de forma asincrónica, de modo que su programa puede realizar otras operaciones mientras el archivo está siendo cargado.

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

remote_file

La ruta del archivo remoto.

handle

Un apuntador de archivo abierto en el archivo local. La lectura se detiene al final del archivo.

mode

El modo de transferencia. Debe ser FTP_ASCII o FTP_BINARY.

startpos

La posición en el archivo remoto para empezar a subirlo.

Valores devueltos

Devuelve FTP_FAILED o FTP_FINISHED o FTP_MOREDATA.

Ejemplos

Ejemplo #1 Ejemplo de ftp_nb_fput()

<?php

$file = 'index.php';

$fp = fopen($file, 'r');

$conn_id = ftp_connect($ftp_server);

$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Iniciar la carga
$ret = ftp_nb_fput($conn_id, $file, $fp, FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Haga lo que quiera
   echo ".";

   // Continuar la carga...
   $ret = ftp_nb_continue($conn_id);
}
if ($ret != FTP_FINISHED) {
   echo "Hubo un error al subir el archivo...";
   exit(1);
}

fclose($fp);
?>

Ver también

  • ftp_nb_put() - Almacena un archivo en el servidor FTP (modo no-bloqueo)
  • ftp_nb_continue() - Continúa recuperando/enviando un archivo (modo no-bloqueo)
  • ftp_put() - Carga un archivo al servidor FTP
  • ftp_fput() - Carga un archivo abierto en el servidor FTP

ftp_nb_fget
ftp_nb_get
Funciones de FTP


Recupera un archivo desde el servidor FTP y lo escribe en un archivo local (modo no-bloqueo)

ftp_nb_fput
ftp_nb_put
Funciones de FTP
PHP Manual

ftp_nb_get

(PHP 4 >= 4.3.0, PHP 5)

ftp_nb_get — Recupera un archivo desde el servidor FTP y lo escribe en un archivo local (modo no-bloqueo)

Descripción

int ftp_nb_get ( resource $ftp_stream , string $local_file , string $remote_file , int $mode [, int $resumepos = 0 ] )

ftp_nb_get() recupera un archivo remoto desde el servidor FTP, y lo guarda en un archivo local.

La diferencia entre esta función y ftp_get() es que esta función recupera el archivo de forma asincrónica, de modo que su programa puede realizar otras operaciones mientras el archivo está siendo descargado.

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

local_file

La ruta del archivo local (se sobrescribirá si el archivo ya existe).

remote_file

La ruta del archivo remoto.

mode

El modo de transferencia. Debe ser FTP_ASCII o FTP_BINARY.

resumepos

Posición en el fichero remoto en donde empezar la descarga

Valores devueltos

Devuelve FTP_FAILED o FTP_FINISHED o FTP_MOREDATA.

Ejemplos

Ejemplo #1 Ejemplo de ftp_nb_get()

<?php

// Iniciar la descarga
$ret = ftp_nb_get($my_connection, "test", "README", FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Haga lo que quiera
   echo ".";

   // Continuar la descarga...
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "Hubo un error al descargar el archivo...";
   exit(1);
}
?>

Ejemplo #2 Reanudar una descarga con ftp_nb_get()

<?php

// Iniciar
$ret = ftp_nb_get($my_connection, "test", "README", FTP_BINARY,
                      filesize("test"));
// O: $ret = ftp_nb_get($my_connection, "test", "README",
//                           FTP_BINARY, FTP_AUTORESUME);
while ($ret == FTP_MOREDATA) {

   // Haga lo que quiera
   echo ".";

   // Continuar la descarga...
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "Hubo un error al descargar el archivo...";
   exit(1);
}
?>

Ejemplo #3 Reanudar una descarga en la posición 100 a un nuevo archivo con ftp_nb_get()

<?php

// Deshabilitar Autoseek
ftp_set_option($my_connection, FTP_AUTOSEEK, false);

// Iniciar
$ret = ftp_nb_get($my_connection, "newfile", "README", FTP_BINARY, 100);
while ($ret == FTP_MOREDATA) {

   /* ... */

   // Continuar la descarga...
   $ret = ftp_nb_continue($my_connection);
}
?>

En el ejemplo anterior, newfile es 100 bytes menor que README en el servidor FTP por eso comenzamos la lectura en la posición 100. Si no hubiesemos deshabilitado FTP_AUTOSEEK, los primeros 100 bytes de newfile serían '\0'.

Ver también

  • ftp_nb_fget() - Recupera un archivo desde el servidor FTP y lo escribe en un archivo abierto (modo no-bloqueo)
  • ftp_nb_continue() - Continúa recuperando/enviando un archivo (modo no-bloqueo)
  • ftp_fget() - Descarga un archivo desde el servidor FTP y lo guarda en un archivo abierto
  • ftp_get() - Descarga un archivo desde el servidor FTP

ftp_nb_fput
ftp_nb_put
Funciones de FTP


Almacena un archivo en el servidor FTP (modo no-bloqueo)

ftp_nb_get
ftp_nlist
Funciones de FTP
PHP Manual

ftp_nb_put

(PHP 4 >= 4.3.0, PHP 5)

ftp_nb_put — Almacena un archivo en el servidor FTP (modo no-bloqueo)

Descripción

int ftp_nb_put ( resource $ftp_stream , string $remote_file , string $local_file , int $mode [, int $startpos = 0 ] )

ftp_nb_put() almacena un archivo local en el servidor FTP.

La diferencia entre esta función y ftp_put() es que esta función carga el archivo de forma asincrónica, de modo que su programa puede realizar otras operaciones mientras el archivo está siendo cargado.

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

remote_file

La ruta del archivo remoto.

local_file

La ruta del archivo local.

mode

El modo de transferencia. Debe ser FTP_ASCII o FTP_BINARY.

startpos

La posición en el archivo remoto para empezar a subirlo.

Valores devueltos

Devuelve FTP_FAILED o FTP_FINISHED o FTP_MOREDATA.

Ejemplos

Ejemplo #1 Ejemplo de ftp_nb_put()

<?php

// Iniciar la Carga
$ret = ftp_nb_put($my_connection, "test.remote", "test.local", FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Haga lo que quiera
   echo ".";

   // Continuar la carga...
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "Hubo un error al cargar el archivo...";
   exit(1);
}
?>

Ejemplo #2 Reanudación de un proceso de carga con ftp_nb_put()

<?php

// Iniciar
$ret = ftp_nb_put($my_connection, "test.remote", "test.local",
                      FTP_BINARY, ftp_size("test.remote"));
// O: $ret = ftp_nb_put($my_connection, "test.remote", "test.local",
//                           FTP_BINARY, FTP_AUTORESUME);

while ($ret == FTP_MOREDATA) {

   // Haga lo que quiera
   echo ".";

   // Continuar la carga...
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "Hubo un error al cargar el archivo...";
   exit(1);
}
?>

Ver también

  • ftp_nb_fput() - Almacena un archivo desde un archivo abierto en el servidor FTP (modo no-bloqueo)
  • ftp_nb_continue() - Continúa recuperando/enviando un archivo (modo no-bloqueo)
  • ftp_put() - Carga un archivo al servidor FTP
  • ftp_fput() - Carga un archivo abierto en el servidor FTP

ftp_nb_get
ftp_nlist
Funciones de FTP


Devuelve una lista de los archivos que se encuentran en el directorio especificado

ftp_nb_put
ftp_pasv
Funciones de FTP
PHP Manual

ftp_nlist

(PHP 4, PHP 5)

ftp_nlist — Devuelve una lista de los archivos que se encuentran en el directorio especificado

Descripción

array ftp_nlist ( resource $ftp_stream , string $directory )

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

directory

El directorio a ser listado. Este parámetro también puede incluir argumentos, por ejemplo, ftp_nlist($conn_id, "-la /your/dir"); Tenga en cuenta que este parámetro no es escapado, lo que puede provocar algunos problemas con nombres de archivos que contengan espacios y otros caracteres.

Valores devueltos

Devuelve una matriz con los nombres de archivo del directorio especificado en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ftp_nlist()

<?php

// establecer una conexión básica
$conn_id = ftp_connect($ftp_server);

// iniciar sesión con nombre de usuario y contraseña
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Obtener los archivos contenidos en el directorio actual
$contents = ftp_nlist($conn_id, ".");

// output $contents
var_dump($contents);

?>

El resultado del ejemplo sería algo similar a:

array(3) {
  [0]=>
  string(11) "public_html"
  [1]=>
  string(10) "public_ftp"
  [2]=>
  string(3) "www"

Ver también

  • ftp_rawlist() - Devuelve una lista detallada de archivos en el directorio especificado

ftp_nb_put
ftp_pasv
Funciones de FTP


Activa o desactiva el modo pasivo

ftp_nlist
ftp_put
Funciones de FTP
PHP Manual

ftp_pasv

(PHP 4, PHP 5)

ftp_pasv — Activa o desactiva el modo pasivo

Descripción

bool ftp_pasv ( resource $ftp_stream , bool $pasv )

ftp_pasv() activa o desactiva el modo pasivo. En modo pasivo, las conexiones de datos son iniciadas por el cliente, en lugar de por el servidor. Puede ser necesaria si el cliente está detrás de un firewall.

Tenga en cuenta que ftp_pasv() sólo puede ser llamado después de un inicio de sesión correcto o de lo contrario fallará.

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

pasv

Si TRUE, el modo pasivo está activado, de lo contrario estará desactivado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ftp_pasv()

<?php
$file = 'somefile.txt';
$remote_file = 'readme.txt';

// establecer una conexión básica
$conn_id = ftp_connect($ftp_server);

// iniciar sesión con nombre de usuario y contraseña
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// activar modo pasivo
ftp_pasv($conn_id, true);

// cargar un archivo
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
 echo "se ha cargado $file con éxito\n";
} else {
 echo "Hubo un problema al cargar $file\n";
}

// cerrar la conexión ftp
ftp_close($conn_id);
?>

ftp_nlist
ftp_put
Funciones de FTP


Carga un archivo al servidor FTP

ftp_pasv
ftp_pwd
Funciones de FTP
PHP Manual

ftp_put

(PHP 4, PHP 5)

ftp_put — Carga un archivo al servidor FTP

Descripción

bool ftp_put ( resource $ftp_stream , string $remote_file , string $local_file , int $mode [, int $startpos = 0 ] )

ftp_put() almacena un archivo local en el servidor FTP.

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

remote_file

La ruta del archivo remoto.

local_file

La ruta del archivo local.

mode

El modo de transferencia. Debe ser FTP_ASCII o FTP_BINARY.

startpos

La posición en el archivo remoto para empezar a subirlo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ftp_put()

<?php
$file = 'somefile.txt';
$remote_file = 'readme.txt';

// establecer una conexión básica
$conn_id = ftp_connect($ftp_server);

// iniciar sesión con nombre de usuario y contraseña
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// cargar un archivo
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
 echo "se ha cargado $file con éxito\n";
} else {
 echo "Hubo un problema durante la transferencia de $file\n";
}

// cerrar la conexión ftp
ftp_close($conn_id);
?>

Historial de cambios

Versión | Descripción
4.3.0 | Se añadió startpos.

Ver también

  • ftp_pasv() - Activa o desactiva el modo pasivo
  • ftp_fput() - Carga un archivo abierto en el servidor FTP
  • ftp_nb_fput() - Almacena un archivo desde un archivo abierto en el servidor FTP (modo no-bloqueo)
  • ftp_nb_put() - Almacena un archivo en el servidor FTP (modo no-bloqueo)

ftp_pasv
ftp_pwd
Funciones de FTP


Devuelve el nombre del directorio actual

ftp_put
ftp_quit
Funciones de FTP
PHP Manual

ftp_pwd

(PHP 4, PHP 5)

ftp_pwd — Devuelve el nombre del directorio actual

Descripción

string ftp_pwd ( resource $ftp_stream )

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

Valores devueltos

Devuelve el nombre del directorio actual o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ftp_pwd()

<?php

// establecer una conexión básica
$conn_id = ftp_connect($ftp_server);

// iniciar sesión con nombre de usuario y contraseña
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// cambiar al directorio public_html
ftp_chdir($conn_id, 'public_html');

// imprimir el directorio actual
echo ftp_pwd($conn_id); // /public_html

// cerrar la conexión ftp
ftp_close($conn_id);
?>

Ver también

  • ftp_chdir() - Cambia el directorio actual en un servidor FTP
  • ftp_cdup() - Vuelve al directorio padre

ftp_put
ftp_quit
Funciones de FTP


Alias de ftp_close

ftp_pwd
ftp_raw
Funciones de FTP
PHP Manual

ftp_quit

(PHP 4, PHP 5)

ftp_quit — Alias de ftp_close()

Descripción

Esta función es un alias de: ftp_close().

ftp_pwd
ftp_raw
Funciones de FTP


Envía un comando arbitrario a un servidor FTP

ftp_quit
ftp_rawlist
Funciones de FTP
PHP Manual

ftp_raw

(PHP 5)

ftp_raw — Envía un comando arbitrario a un servidor FTP

Descripción

array ftp_raw ( resource $ftp_stream , string $command )

Envía un command arbitrario al servidor FTP.

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

command

El comando a ejecutar.

Valores devueltos

Devuelve la respuesta del servidor como una matriz de cadenas. No se realiza procesamiento alguno con la cadena de respuesta, ni ftp_raw() determina si el comando tuvo éxito.

Ejemplos

Ejemplo #1 Uso de ftp_raw() para iniciar sesión en un servidor FTP de forma manual.

<?php
$fp = ftp_connect("ftp.example.com");

/* Esto es lo mismo que:
ftp_login($fp, "joeblow", "secreto"); */
ftp_raw($fp, "USER joeblow");
ftp_raw($fp, "PASS secreto");
?>

Ver también

  • ftp_exec() - Solicita la ejecución de un comando en el servidor FTP

ftp_quit
ftp_rawlist
Funciones de FTP


Devuelve una lista detallada de archivos en el directorio especificado

ftp_raw
ftp_rename
Funciones de FTP
PHP Manual

ftp_rawlist

(PHP 4, PHP 5)

ftp_rawlist — Devuelve una lista detallada de archivos en el directorio especificado

Descripción

array ftp_rawlist ( resource $ftp_stream , string $directory [, bool $recursive = false ] )

ftp_rawlist() ejecuta el comando FTP LIST, y devuelve el resultado como una matriz.

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

directory

La ruta del directorio. Puede incluir argumentos para el comando LIST.

recursive

Si se establece a TRUE, el comando emitido será LIST -R.

Valores devueltos

Devuelve una matriz donde cada elemento corresponde a una línea de texto.

La salida no se analiza de forma alguna. El identificador del tipo de sistema devuelto por ftp_systype() se puede utilizar para determinar cómo los resultados deben ser interpretados.

Ejemplos

Ejemplo #1 Ejemplo de ftp_rawlist()

<?php

// establecer una conexión básica
$conn_id = ftp_connect($ftp_server);

// iniciar sesión con nombre de usuario y contraseña
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// obtener la lista de archivos de /
$buff = ftp_rawlist($conn_id, '/');

// cerrar la conexión ftp
ftp_close($conn_id);

// imprimir el contenido del buffer
var_dump($buff);
?>

El resultado del ejemplo sería algo similar a:

array(3) {
  [0]=>
  string(65) "drwxr-x---   3 vincent  vincent      4096 Jul 12 12:16 public_ftp"
  [1]=>
  string(66) "drwxr-x---  15 vincent  vincent      4096 Nov  3 21:31 public_html"
  [2]=>
  string(73) "lrwxrwxrwx   1 vincent  vincent        11 Jul 12 12:16 www -> public_html"
}

Historial de cambios

Versión | Descripción
4.3.0 | Se añadió recursive.

Ver también

  • ftp_nlist() - Devuelve una lista de los archivos que se encuentran en el directorio especificado

ftp_raw
ftp_rename
Funciones de FTP


Renombra un archivo o un directorio en el servidor FTP

ftp_rawlist
ftp_rmdir
Funciones de FTP
PHP Manual

ftp_rename

(PHP 4, PHP 5)

ftp_rename — Renombra un archivo o un directorio en el servidor FTP

Descripción

bool ftp_rename ( resource $ftp_stream , string $oldname , string $newname )

ftp_rename() renombra un archivo o un directorio en el servidor FTP.

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

oldname

El nombre del archivo/directorio viejo.

newname

El nuevo nombre.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ftp_rename()

<?php
$old_file = 'somefile.txt.bak';
$new_file = 'somefile.txt';

// establecer una conexión básica
$conn_id = ftp_connect($ftp_server);

// iniciar sesión con nombre de usuario y contraseña
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// intentar renombrar el archivo $old_file a $new_file
if (ftp_rename($conn_id, $old_file, $new_file)) {
 echo "se ha renombrado $old_file a $new_file con éxito\n";
} else {
 echo "Hubo un problema al renombrar $old_file a $new_file\n";
}

// cerrar la conexión ftp
ftp_close($conn_id);
?>

ftp_rawlist
ftp_rmdir
Funciones de FTP


Elimina un directorio

ftp_rename
ftp_set_option
Funciones de FTP
PHP Manual

ftp_rmdir

(PHP 4, PHP 5)

ftp_rmdir — Elimina un directorio

Descripción

bool ftp_rmdir ( resource $ftp_stream , string $directory )

Elimina el directory especificado en el servidor FTP.

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

directory

El directorio a borrar. Este debe ser una ruta absoluta o relativa a un directorio vacío.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ftp_rmdir()

<?php

$dir = 'www/';

// establecer una conexión básica
$conn_id = ftp_connect($ftp_server);

// iniciar sesión con nombre de usuario y contraseña
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// intentar eliminar el directorio $dir
if (ftp_rmdir($conn_id, $dir)) {
    echo "Se ha eliminado correctamente el directorio $dir\n";
} else {
    echo "Hubo un problema al eliminar el directorio $dir\n";
}

ftp_close($conn_id);

?>

Ver también

  • ftp_mkdir() - Crea un directorio

ftp_rename
ftp_set_option
Funciones de FTP


Establecer varias opciones FTP de tiempo de ejecución

ftp_rmdir
ftp_site
Funciones de FTP
PHP Manual

ftp_set_option

(PHP 4 >= 4.2.0, PHP 5)

ftp_set_option — Establecer varias opciones FTP de tiempo de ejecución

Descripción

bool ftp_set_option ( resource $ftp_stream , int $option , mixed $value )

Esta función controla diversas opciones de tiempo de ejecución para la secuencia FTP especificada.

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

option

Actualmente, se admiten las siguientes opciones:

Opciones FTP de tiempo de ejecución soportadas
FTP_TIMEOUT_SEC | Cambia el tiempo de espera en segundos usado para todas las funciones de red. value debe ser un número entero mayor que 0. El tiempo de espera predeterminado es 90 segundos.
FTP_AUTOSEEK | Cuando se activa, las peticiones GET o PUT con un parámetro resumepos o startpos buscarán primero la posición solicitada dentro del archivo. Este parámetro es activado por defecto.

value

Este parámetro depende de qué option se elige para ser alterado.

Valores devueltos

Devuelve TRUE si la opción pudo ser establecida; FALSE de lo contrario. Un mensaje de advertencia será lanzado si la option no es soportada o el value pasado no coincide con el valor esperado para la option especificada.

Ejemplos

Ejemplo #1 Ejemplo de ftp_set_option()

<?php
// Establecer el tiempo de espera de red a 10 segundos
ftp_set_option($conn_id, FTP_TIMEOUT_SEC, 10);
?>

Ver también

  • ftp_get_option() - Recupera varios comportamientos de tiempo de ejecución de la secuencia FTP actual

ftp_rmdir
ftp_site
Funciones de FTP


Envía un comando SITE al servidor

ftp_set_option
ftp_size
Funciones de FTP
PHP Manual

ftp_site

(PHP 4, PHP 5)

ftp_site — Envía un comando SITE al servidor

Descripción

bool ftp_site ( resource $ftp_stream , string $command )

ftp_site() envía el comando SITE especificado al servidor FTP.

Los comandos SITE no están estandarizados, y varían de un servidor a otro. Son útiles para la gestión de cosas como los permisos de archivos y la membresía de grupos.

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

command

El comando SITE. Tenga en cuenta que este parámetro no es escapado, lo que puede provocar algunos problemas con nombres de archivos que contengan espacios y otros caracteres.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Envío de un comando SITE a un servidor FTP

<?php
// Conectar con el servidor FTP
$conn = ftp_connect('ftp.example.com');
if (!$conn) die('No se puede conectar al servidor ftp.example.com');

// Iniciar sesion como "user" con la contraseña "pass"
if (!ftp_login($conn, 'user', 'pass')) die('Error al iniciar sesión en ftp.example.com');

// Aplicar el comando: "SITE CHMOD 0600 /home/user/privatefile" al servidor ftp
if (ftp_site($conn, 'CHMOD 0600 /home/user/privatefile')) {
   echo "Comando ejecutado con éxito.\n";
} else {
   die('El comando ha fallado.');
}
?>

Ver también

  • ftp_raw() - Envía un comando arbitrario a un servidor FTP

ftp_set_option
ftp_size
Funciones de FTP


Devuelve el tamaño del archivo dado

ftp_site
ftp_ssl_connect
Funciones de FTP
PHP Manual

ftp_size

(PHP 4, PHP 5)

ftp_size — Devuelve el tamaño del archivo dado

Descripción

int ftp_size ( resource $ftp_stream , string $remote_file )

ftp_size() devuelve el tamaño del archivo dado en bytes.

Nota:

No todos los servidores soportan esta característica.

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

remote_file

El archivo remoto.

Valores devueltos

Devuelve el tamaño del archivo en caso de éxito, o -1 en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ftp_size()

<?php

$file = 'somefile.txt';

// establecer una conexión básica
$conn_id = ftp_connect($ftp_server);

// iniciar sesión con nombre de usuario y contraseña
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// obtener el tamaño de archivo de $file
$res = ftp_size($conn_id, $file);

if ($res != -1) {
    echo "tamaño de $file es $res bytes";
} else {
    echo "no se pudo obtener el tamaño";
}

// cerrar la conexión ftp
ftp_close($conn_id);

?>

Ver también

  • ftp_rawlist() - Devuelve una lista detallada de archivos en el directorio especificado

ftp_site
ftp_ssl_connect
Funciones de FTP


Abre una conexión segura SSL-FTP

ftp_size
ftp_systype
Funciones de FTP
PHP Manual

ftp_ssl_connect

(PHP 4 >= 4.3.0, PHP 5)

ftp_ssl_connect — Abre una conexión segura SSL-FTP

Descripción

resource ftp_ssl_connect ( string $host [, int $port = 21 [, int $timeout = 90 ]] )

ftp_ssl_connect() abre una conexión explícita SSL-FTP al host especificado.

Nota: Por qué puede que esta función no exista

ftp_ssl_connect() sólo está disponible si ambos, el módulo de FTP y el soporte de OpenSSL, están construidos de forma estática en PHP, esto significa que en Windows esta función no estará disponible en las compilaciones oficiales de PHP. Para hacer esta función disponible en Windows, debe compilar sus propios binarios de PHP.

Nota:

ftp_ssl_connect() no está pensada para su uso con SFTP. Para utilizar sFTP con PHP, por favor, consulte ssh2_sftp().

Parámetros

host

La dirección del servidor FTP. Este parámetro no debe tener barras al final y no debe estar precedido de ftp://.

port

Este parámetro especifica un puerto alternativo al que conectarse. Si se omite o se define como cero, entonces el puerto por defecto FTP, 21, será utilizado.

timeout

Este parámetro especifica el tiempo de espera para todas las operaciones de red posteriores. Si se omite, el valor predeterminado es 90 segundos. El tiempo de espera puede ser cambiado y consultado en cualquier momento con ftp_set_option() y ftp_get_option().

Valores devueltos

Devuelve una secuencia SSL-FTP en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.2.2 | La función se ha cambiado para devolver FALSE cuando no se puede utilizar una conexión SSL, en lugar de recurrir a una conexión no-SSL como hacía en versiones anteriores.

Ejemplos

Ejemplo #1 Ejemplo de ftp_ssl_connect()

<?php

// establecer la conexión SSL básica
$conn_id = ftp_ssl_connect($ftp_server);

// iniciar sesión con nombre de usuario y contraseña
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

echo ftp_pwd($conn_id); // /

// cerrar la conexión SSL
ftp_close($conn_id);
?>

Ver también

  • ftp_connect() - Abre una conexión FTP

ftp_size
ftp_systype
Funciones de FTP


Devuelve el identificador del tipo de sistema del servidor FTP remoto

ftp_ssl_connect
Gearman
Funciones de FTP
PHP Manual

ftp_systype

(PHP 4, PHP 5)

ftp_systype — Devuelve el identificador del tipo de sistema del servidor FTP remoto

Descripción

string ftp_systype ( resource $ftp_stream )

Devuelve el identificador del tipo de sistema del servidor FTP remoto.

Parámetros

ftp_stream

El identificador de enlace de la conexión FTP.

Valores devueltos

Devuelve el tipo de sistema remoto, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ftp_systype()

<?php

// conexión FTP
$ftp = ftp_connect('ftp.example.com');
ftp_login($ftp, 'user', 'password');

// obtener el tipo de sistema
if ($type = ftp_systype($ftp)) {
    echo "Example.com es motorizado por $type\n";
} else {
    echo "No se pudo obtener el tipo de sistema";
}

?>

El resultado del ejemplo sería algo similar a:

Example.com is powered by UNIX

ftp_ssl_connect
Gearman
Funciones de FTP


Gearman

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Uso básico
    • Cliente y trabajador básicos en Gearman, trabajo en segundo plano
  • GearmanClient — Clase GearmanClient
    • GearmanClient::addOptions — Añade opciones al cliente
    • GearmanClient::addServer — Añade un servidor de trabajos al cliente
    • GearmanClient::addServers — Añade una lista de servidores de trabajos al cliente
    • GearmanClient::addTask — Añade una tarea para ser ejecutada en paralelo
    • GearmanClient::addTaskBackground — Ejecuta una tarea en segundo plano para ser ejecutada en paralelo
    • GearmanClient::addTaskHigh — Añade una tarea de alta prioridad para ser ejecutada en paralelo
    • GearmanClient::addTaskHighBackground — Añade una tarea de alta prioridad ejecutada en segundo plano y en paralelo
    • GearmanClient::addTaskLow — Añade una tarea de baja prioridad para ejecutar en paralelo
    • GearmanClient::addTaskLowBackground — Añade una tarea de baja prioridad en segundo plano para ser ejecutada en paralelo
    • GearmanClient::addTaskStatus — Añade una tarea para obtener el estado
    • GearmanClient::clearCallbacks — Elimina todas las funciones de retorno de llamada
    • GearmanClient::clone — Crea una copia de un objeto GearmanClient
    • GearmanClient::__construct — Crea una instancia de GearmanClient
    • GearmanClient::context — Obtiene el contexto de la aplicación
    • GearmanClient::data — Retorna los datos de aplicación (obsoleto)
    • GearmanClient::do — Ejecuta una sola tarea y retorna el resultado [obsoleto]
    • GearmanClient::doBackground — Ejecuta una tarea en segundo plano
    • GearmanClient::doHigh — Ejecuta una tarea de prioridad alta
    • GearmanClient::doHighBackground — Ejecuta una tarea de alta prioridad en segundo plano
    • GearmanClient::doJobHandle — Obtiene el manejador de trabajo para la tarea en ejecución
    • GearmanClient::doLow — Ejecuta una tarea de baja prioridad
    • GearmanClient::doLowBackground — Ejecuta una tarea de prioridad baja en segundo plano
    • GearmanClient::doNormal — Ejecutar una única tarea y devolver un resultado
    • GearmanClient::doStatus — Obtiene el estado de la tarea en ejecución
    • GearmanClient::echo — Envía datos a todos los servidores de trabajo para ver si retornan [obsoleto]
    • GearmanClient::error — Retorna un string con el último error encontrado
    • GearmanClient::getErrno — Obtiene un valor errno
    • GearmanClient::jobStatus — Obtiene el estado de un trabajo en segundo plano
    • GearmanClient::ping — Envar datos a todos los servidores de trabajo para ver si los repiten
    • GearmanClient::removeOptions — Elimina opciones del cliente
    • GearmanClient::returnCode — Obtiene el último código de retorno de Gearman
    • GearmanClient::runTasks — Ejecuta una lista de tareas en paralelo
    • GearmanClient::setClientCallback — Función de llamada de retorno cuando hay un paquete de datos para una tarea (obsoleto)
    • GearmanClient::setCompleteCallback — Especifica una función a ser llamada cuando se complete una tarea
    • GearmanClient::setContext — Establece el contexto de la aplicación
    • GearmanClient::setCreatedCallback — Establece una llamada de retornopara cuando se encola una tarea
    • GearmanClient::setData — Establece los datos de aplicación (obsoleto)
    • GearmanClient::setDataCallback — Función de llamada de retorno para cuando hay un paquete de datos para la tarea
    • GearmanClient::setExceptionCallback — Establece una llamada de retorno para excepciones del trabajador
    • GearmanClient::setFailCallback — Establece una llamada de retorno para cuando falla un trabajo
    • GearmanClient::setOptions — Establece opciones del cliente
    • GearmanClient::setStatusCallback — Establece una llamada de retorno para obtener el estado de una tarea
    • GearmanClient::setTimeout — Establece el tiempo máximo de inactividad para actividad de entrada/salida en el socket
    • GearmanClient::setWarningCallback — Establece una llamada de retorno para los warnings del trabajador
    • GearmanClient::setWorkloadCallback — Establece una llamada de retorno para aceptar actualizaciones incrementales de datos
    • GearmanClient::timeout — Obtiene el tiempo máximo de inactividad de entrada/salida para el socket
  • GearmanJob — La clase GearmanJob
    • GearmanJob::complete — Envía el resultado y el estado completo (obsoleto)
    • GearmanJob::__construct — Crea una instancia de GearmanJob
    • GearmanJob::data — Envía datos para un trabajo en ejecución (obsoleto)
    • GearmanJob::exception — Envía una excepción para un trabajo en ejecución (obsoleto)
    • GearmanJob::fail — Envía el estado de fallo (obsoleto)
    • GearmanJob::functionName — Retorna el nombre de la función
    • GearmanJob::handle — Retorna el manejador para el trabajo
    • GearmanJob::returnCode — Obtiene el último código de retorno
    • GearmanJob::sendComplete — Envía el resultado y el estado completado
    • GearmanJob::sendData — Envía datos para un trabajo en ejecución
    • GearmanJob::sendException — Envía una excepción para un trabajo en ejecución
    • GearmanJob::sendFail — Envía el estado de fallo
    • GearmanJob::sendStatus — Envía el estado
    • GearmanJob::sendWarning — Envía una advertencia
    • GearmanJob::setReturn — Establece el valor de retorno
    • GearmanJob::status — Envía el estado (obsoleto)
    • GearmanJob::unique — Obtiene el identificador único
    • GearmanJob::warning — Envía un aviso (obsoleto)
    • GearmanJob::workload — Obtiene la carga de trabajo
    • GearmanJob::workloadSize — Obtiene el tamaño de la carga de trabajo
  • GearmanTask — La clase GearmanTask
    • GearmanTask::__construct — Crea una instancia de GearmanTask
    • GearmanTask::create — Crea una tarea (obsoleto)
    • GearmanTask::data — Obtiene los datos retornados para una tarea
    • GearmanTask::dataSize — Obtiene el tamaño de la información retornada
    • GearmanTask::function — Obtiene el nombre de la función asociada (obsoleto)
    • GearmanTask::functionName — Retorna el nombre de la función asociada
    • GearmanTask::isKnown — Determina si la tarea es conocida
    • GearmanTask::isRunning — Comprueba si la tarea está siendo ejecutada
    • GearmanTask::jobHandle — Retorna el manejador del trabajo
    • GearmanTask::recvData — Guarda un trabajo o los datos resultantes de una tarea en un buffer
    • GearmanTask::returnCode — Retorna el último código de error
    • GearmanTask::sendData — Envía datos a una tarea (obsoleto)
    • GearmanTask::sendWorkload — Envía datos a una tarea
    • GearmanTask::taskDenominator — Obtiene el denominador del porcentaje de tarea completada
    • GearmanTask::taskNumerator — Retorna el numerador del tanto por ciento completado de la tarea, expresado como una fracción
    • GearmanTask::unique — Obtiene el identificador único de una tarea
    • GearmanTask::uuid — Obtiene el identificador único de una tarea (obsoleto)
  • GearmanWorker — La clase GearmanWorker
    • GearmanWorker::addFunction — Registra y añade una función de retorno
    • GearmanWorker::addOptions — Añade opciones al trabajador
    • GearmanWorker::addServer — Añade un servidor de trabajo
    • GearmanWorker::addServers — Añade servidores de trabajo
    • GearmanWorker::clone — Crea una copia del trabajador
    • GearmanWorker::__construct — Crea una instancia GearmanWorker
    • GearmanWorker::echo — Comprueba la respuesta de un servidor de trabajo
    • GearmanWorker::error — Retorna el último error que ha ocurrido
    • GearmanWorker::getErrno — Obtiene el código de error
    • GearmanWorker::options — Retorna las opciones del trabajador
    • GearmanWorker::register — Registra una función en el servidor de trabajo
    • GearmanWorker::removeOptions — Elimina las opciones del trabajador
    • GearmanWorker::returnCode — Obtiene el último código de retorno de Gearman
    • GearmanWorker::setId — Asigna un identificador al trabajador de tal forma que pueda ser rastreado cuando se solicite a gearmand la lista de los trabajadores disponibles
    • GearmanWorker::setOptions — Establece las opciones del trabajador
    • GearmanWorker::setTimeout — Establece un tiempo de espera máximo para actividad de entrada/salida del socket
    • GearmanWorker::timeout — Retorna el tiempo máximo de espera para actividad de entrada/salida del socket
    • GearmanWorker::unregister — Elimina el registro del nombre de una función en los servidores de trabajo
    • GearmanWorker::unregisterAll — Elimina el registro de todas los nombres de funciones en los servidores de trabajo
    • GearmanWorker::wait — Espera cualquier actividad de uno de los servidores de trabajo
    • GearmanWorker::work — Espera y realiza un trabajo
  • GearmanException — La clase GearmanException
ftp_systype
Introducción
Otros servicios


Introducción

» Gearman es un framework de apliaciones genéricas que da trabajo a múltiples máquinas o procesos. Permite que las aplicaciones completen tareas en paralelo, balanceen la carga de proceso y llamen a funciones entre diferentes lenguajes. El framework puede ser usado en gran variedad de aplicaciones, desde sitios webs de alta disponibilidad hasta los eventos de transporte de eventos de replicación de bases de datos.

Esta extensión proporciona clases para escribir clientes y trabajadores Gearman.

Gearman
Instalación/Configuración
Gearman


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Gearman


Requerimientos

Esta extensión requiere la librería » libgearman y un servidor Gearman en ejecución.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/gearman

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Valores de retorno. Comprobar siempre GearmanClient::error() o GearmanWorker() para obtener los errores ya que pueden contener más detalles:

GEARMAN_SUCCESS (integer)
La acción fue realizada con éxito.
GEARMAN_IO_WAIT (integer)
En modo no bloqueante, se lanza un evento que podría bloquear.
GEARMAN_ERRNO (integer)
Error del sistema. Comprobar GearmanClient::errno() o GearmanWorker::errno() para obtener el código de error del sistema que se ha retornado.
GEARMAN_NO_ACTIVE_FDS (integer)
Se ha llamado a GearmanClient::wait() o GearmanWorker() sin una conexión.
GEARMAN_UNEXPECTED_PACKET (integer)
Indica que algo ha ido mal en gearmand. Se aplica sólo a GearmanWorker.
GEARMAN_GETADDRINFO (integer)
Falló la resolución DNS (host no válido, puerto, etc).
GEARMAN_NO_SERVERS (integer)
No se ha llamado a GearmanClient::addServer() antes de enviar trabajos o tareas.
GEARMAN_LOST_CONNECTION (integer)
Se perdió la conexión durante una petición.
GEARMAN_MEMORY_ALLOCATION_FAILURE (integer)
No se pudo reservar memoria (sin memoria).
GEARMAN_SERVER_ERROR (integer)
Algo ha fallado en el servidor Gearman y no ha podido manejar la petición correctamente.
GEARMAN_WORK_DATA (integer)
Código de error de tipo Notice obtenido con GearmanClient::returnCode() cuando se usa GearmanClient::do(). Enviado para actualizar el cliente con datos del trabajo que se está ejecutando. Un trabajador lo usa cuando necesita enviar actualizaciones, enviar resultandos parciales o enviar datos en trabajos de larga duración.
GEARMAN_WORK_WARNING (integer)
Código de error de tipo Notice obtenido con GearmanClient::returnCode() cuando se usa GearmanClient::do(). Actualiza el cliente con un warning. Este comportamiento es como GEARMAN_WORK_DATA pero debe ser tratado como un warning en vez de datos de respuesta.
GEARMAN_WORK_STATUS (integer)
Código de error de tipo Notice obtenido con GearmanClient::returnCode() cuando se usa GearmanClient::do(). Enviado para actualizar el estado de un proceso de larga duración. Usar GearmanClient::doStatus() para obtener el porcentaje de tarea completada.
GEARMAN_WORK_EXCEPTION (integer)
Código de error de tipo Notice obtenido con GearmanClient::returnCode() cuando se usa GearmanClient::do(). Indica que el trabajo ha fallado dando una excepción. with a given exception.
GEARMAN_WORK_FAIL (integer)
Código de error de tipo Notice obtenido con GearmanClient::returnCode() cuando se usa GearmanClient::do(). Indica que el trabajo ha fallado.
GEARMAN_COULD_NOT_CONNECT (integer)
Fallo en la conexión a los servidores.
GEARMAN_INVALID_FUNCTION_NAME (integer)
Intento de registrar el nombre de una función como NULL o uso de funciones de llamadas de retorno sin especificarlas correctamente.
GEARMAN_INVALID_WORKER_FUNCTION (integer)
Intento de registrar una funcionón con un NULL en la función de llamada de retorno.
GEARMAN_NO_REGISTERED_FUNCTIONS (integer)
Cuando un trabajador obtiene un trabajo para una función que no registró.
GEARMAN_NO_JOBS (integer)
Para un trabajador no bloqueante, cuando GearmanWorker::work() no tiene ningún trabajo activo.
GEARMAN_ECHO_DATA_CORRUPTION (integer)
Tras GearmanClient::echo() o GearmanWorker::echo(), los datos retornados no coinciden con los datos enviados.
GEARMAN_NEED_WORKLOAD_FN (integer)
Cuando el cliente optó por enviar la carga de trabajo de una tarea pero no especificó la función de retorno para la carga de trabajo.
GEARMAN_PAUSE (integer)
Para el interfaz de tarea no bloqueante, puede ser retornada por la tarea para "pausar" la llamada y retornar de GearmanClient::runTasks(). Debe llamarse a GearmanClient::runTasks() de nuevo para continuar.
GEARMAN_UNKNOWN_STATE (integer)
Error interno de estado en el cliente/trabajador.
GEARMAN_SEND_BUFFER_TOO_SMALL (integer)
Error interno: intento de enviar más información de la que es posible en un trozo atómico debido a los tamaños (definidos en código) de los buffers.
GEARMAN_TIMEOUT (integer)
Se alcazó el límite te tiempo establecido por el cliente/trabajador.

Opciones de GearmanClient:

GEARMAN_CLIENT_NON_BLOCKING (integer)
Ejecutar el cliente en modo no bloqueante.
GEARMAN_CLIENT_UNBUFFERED_RESULT (integer)
Permite al cliente leer datos en bloques en vez de tener en el buffer el resultado completo y pasarlo.
GEARMAN_CLIENT_FREE_TASKS (integer)
Liberar automáticamente objetos una vez que se han completado. Esta es la opción por defecto en esta extensión para intentar evitar pérdidas de memoria.

Opciones de GearmanWorker:

GEARMAN_WORKER_NON_BLOCKING (integer)
Ejecuta el trabajador en modo no bloqueante.
GEARMAN_WORKER_GRAB_UNIQ (integer)
Retirna el identificador único asignado al cliente además del manejador del trabajo.

Configuración base de Gearman:

GEARMAN_DEFAULT_TCP_HOST (string)
GEARMAN_DEFAULT_TCP_PORT (integer)
GEARMAN_DEFAULT_SOCKET_TIMEOUT (integer)
GEARMAN_DEFAULT_SOCKET_SEND_SIZE (integer)
GEARMAN_DEFAULT_SOCKET_RECV_SIZE (integer)
GEARMAN_MAX_ERROR_SIZE (integer)
GEARMAN_PACKET_HEADER_SIZE (integer)
GEARMAN_JOB_HANDLE_SIZE (integer)
GEARMAN_OPTION_SIZE (integer)
GEARMAN_UNIQUE_SIZE (integer)
GEARMAN_MAX_COMMAND_ARGS (integer)
GEARMAN_ARGS_BUFFER_SIZE (integer)
GEARMAN_SEND_BUFFER_SIZE (integer)
GEARMAN_RECV_BUFFER_SIZE (integer)
GEARMAN_WORKER_WAIT_TIMEOUT (integer)

Tipos de recursos
Ejemplos
Gearman


Ejemplos

Tabla de contenidos

  • Uso básico
  • Cliente y trabajador básicos en Gearman, trabajo en segundo plano
Constantes predefinidas
Uso básico
Gearman


Uso básico

Ejemplo #1 Cliente y trabajador básicos en Gearman

Este ejemplo muestra un cliente y un trabajador muy sencillo. El cliente envía un string al servidor de trabajos, y el trabajador da la vuelta al string y lo envía de vuelta. El trabajo se realiza de forma síncrona.

<?php

# Se crea el objeto cliente
$gmclient= new GearmanClient();

# Se añade el servidor por defecto (localhost).
$gmclient->addServer();

echo "Sending job\n";

# Enviamos trabajo "reverse"
do
{
  $result = $gmclient->do("reverse", "Hello!");

  # Comprobación de varios paquetes de retorno y errores
  switch($gmclient->returnCode())
  {
    case GEARMAN_WORK_DATA:
      echo "Data: $result\n";
      break;
    case GEARMAN_WORK_STATUS:
      list($numerator, $denominator)= $gmclient->doStatus();
      echo "Status: $numerator/$denominator complete\n";
      break;
    case GEARMAN_WORK_FAIL:
      echo "Failed\n";
      exit;
    case GEARMAN_SUCCESS:
      break;
    default:
      echo "RET: " . $gmclient->returnCode() . "\n";
      exit;
  }
}
while($gmclient->returnCode() != GEARMAN_SUCCESS);

?>
<?php

echo "Starting\n";

# Se crea el objeto del trabajador
$gmworker= new GearmanWorker();

# Se añade el servidor por defecto (localhost).
$gmworker->addServer();

# Registro de la función "reverse" en el servidor. Cambiar la función del
# trabajador a "reverse_fn_fast" para un trabajo más rápido sin mensajes de
# estado.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  echo "Received job: " . $job->handle() . "\n";

  $workload = $job->workload();
  $workload_size = $job->workloadSize();

  echo "Workload: $workload ($workload_size)\n";

  # Este bucle de estado no es necesario, sólo es para mostrar cómo funciona
  for ($x= 0; $x < $workload_size; $x++)
  {
    echo "Sending status: " . ($x + 1) . "/$workload_size complete\n";
    $job->sendStatus($x, $workload_size);
    sleep(1);
  }

  $result= strrev($workload);
  echo "Result: $result\n";

  # Retornamos lo que hay que enviar de vuelta al cliente
  return $result;
}

# Una forma mucho más sencilla y que da menos información sería:
function reverse_fn_fast($job)
{
  return strrev($job->workload());
}

?>

El resultado del ejemplo sería algo similar a:

% php reverse_worker.php
Starting
Waiting for job...
Received job: H:foo.local:36
Workload: Hello! (6)
Sending status: 1/6 complete
Sending status: 2/6 complete
Sending status: 3/6 complete
Sending status: 4/6 complete
Sending status: 5/6 complete
Sending status: 6/6 complete
Result: !olleH

% php reverse_client.php
Starting
Sending job
Status: 1/6 complete
Status: 2/6 complete
Status: 3/6 complete
Status: 4/6 complete
Status: 5/6 complete
Status: 6/6 complete
Success: !olleH

Ejemplos
Cliente y trabajador básicos en Gearman, trabajo en segundo plano
Ejemplos


Cliente y trabajador básicos en Gearman, trabajo en segundo plano

Ejemplo #1 Cliente y trabajador básicos en Gearman, trabajo en segundo plano

Este ejemplo muestra un trabajador y un cliente muy sencillos. El cliente envía un string al servidor de trabajos como trabajo en segundo plano, y el trabajador da la vuelta al string. Notar que como el trabajo se realiza de forma asíncrona, el cliente no espera a que se complete el trabajo y termina (y, por tanto, el cliente nunca recibe los resultados).

<?php

# Creación del objeto cliente
$gmclient= new GearmanClient();

# Se añade el servidor por defecto (localhost)
$gmclient->addServer();

# Ejecutar el cliente "reverse" en segundo plano
$job_handle = $gmclient->doBackground("reverse", "this is a test");

if ($gmclient->returnCode() != GEARMAN_SUCCESS)
{
  echo "bad return code\n";
  exit;
}

echo "done!\n";

?>
<?php

echo "Starting\n";

# Creación del objeto trabajador
$gmworker= new GearmanWorker();

# Se añade el servidor por defecto (localhost).
$gmworker->addServer();

# Registro de la función "reverse" en el servidor. Cambiar la funcion del
# trabajador a "reverse_fn_fast" para usar un trabajador más rápido sin
# mostrar mensajes de estado
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  echo "Received job: " . $job->handle() . "\n";

  $workload = $job->workload();
  $workload_size = $job->workloadSize();

  echo "Workload: $workload ($workload_size)\n";

  # Este bucle de estado no es necesario, únicamente muestra cómo funciona
  for ($x= 0; $x < $workload_size; $x++)
  {
    echo "Sending status: " . ($x + 1) . "/$workload_size complete\n";
    $job->sendStatus($x, $workload_size);
    sleep(1);
  }

  $result= strrev($workload);
  echo "Result: $result\n";

  # Retorna lo que se quiere enviar de vuelta al cliente
  return $result;
}

# Una versión mucho más sencilla y que muestra menos información del proceso sería:
function reverse_fn_fast($job)
{
  return strrev($job->workload());
}

?>

El resultado del ejemplo sería algo similar a:

% php reverse_worker.php
Starting
Waiting for job...
Received job: H:foo.local:41
Workload: this is a test (14)
1/14 complete
2/14 complete
3/14 complete
4/14 complete
5/14 complete
6/14 complete
7/14 complete
8/14 complete
9/14 complete
10/14 complete
11/14 complete
12/14 complete
13/14 complete
14/14 complete
Result: tset a si siht

% php reverse_client_bg.php
done!

Uso básico
Ejemplos


Cliente y trabajador básicos en Gearman, trabajo en segundo plano
GearmanClient
Ejemplos
PHP Manual

Ejemplo #1 Cliente y trabajador básicos, enviando tareas

En este ejemplo, se extiende el cliente básico que da la vuelta al texto para ejecutar dos tareas en paralelo. El trabajador "reverse" es idéntico excepto la parte del envío del datos durante el proceso.

<?php

# Creación del cliente Gearman
$gmc= new GearmanClient();

# Añade el servidor por defecto (localhost)
$gmc->addServer();

# Registra alguna llamadas de retorno
$gmc->setCreatedCallback("reverse_created");
$gmc->setDataCallback("reverse_data");
$gmc->setStatusCallback("reverse_status");
$gmc->setCompleteCallback("reverse_complete");
$gmc->setFailCallback("reverse_fail");

# Asignación de datos arbitrarios para la aplicación
$data['foo'] = 'bar';

# Añade dos tareas
$task= $gmc->addTask("reverse", "foo", $data);
$task2= $gmc->addTaskLow("reverse", "bar", NULL);

#  Ejecuta las tareas en paralelo (se asumen múltiples trabajadores)
if (! $gmc->runTasks())
{
    echo "ERROR " . $gmc->error() . "\n";
    exit;
}

echo "DONE\n";

function reverse_created($task)
{
    echo "CREATED: " . $task->jobHandle() . "\n";
}

function reverse_status($task)
{
    echo "STATUS: " . $task->jobHandle() . " - " . $task->taskNumerator() .
         "/" . $task->taskDenominator() . "\n";
}

function reverse_complete($task)
{
    echo "COMPLETE: " . $task->jobHandle() . ", " . $task->data() . "\n";
}

function reverse_fail($task)
{
    echo "FAILED: " . $task->jobHandle() . "\n";
}

function reverse_data($task)
{
    echo "DATA: " . $task->data() . "\n";
}

?>
<?php

echo "Starting\n";

# Creación del objeto trabajador
$gmworker= new GearmanWorker();

# Añade el servidor por defecto (localhost).
$gmworker->addServer();

# Registra la función "reverse" en el servidor. Cambiar la función a
# "reverse_fn_fast" para obtener un worker más rápido que no genera
# informacion del proceso
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  echo "Received job: " . $job->handle() . "\n";

  $workload = $job->workload();
  $workload_size = $job->workloadSize();

  echo "Workload: $workload ($workload_size)\n";

  # Este bucle de estado no es necesario, sólo es para mostrar cómo funciona
  for ($x= 0; $x < $workload_size; $x++)
  {
    echo "Sending status: " . ($x + 1) . "/$workload_size complete\n";
    $job->sendStatus($x+1, $workload_size);
    $job->sendData(substr($workload, $x, 1));
    sleep(1);
  }

  $result= strrev($workload);
  echo "Result: $result\n";

  # Retornamos lo que queremos enviar de vuelta al cliente
  return $result;
}

# Una versión mucho más sencilla y que muestra menos información del proceso sería:
function reverse_fn_fast($job)
{
  return strrev($job->workload());
}

?>

El resultado del ejemplo sería algo similar a:

% php reverse_worker.php
Starting
Waiting for job...
Received job: H:foo.local:45
Workload: foo (3)
1/3 complete
2/3 complete
3/3 complete
Result: oof
Received job: H:foo.local:44
Workload: bar (3)
1/3 complete
2/3 complete
3/3 complete
Result: rab

% php reverse_client_task.php
CREATED: H:foo.local:44
CREATED: H:foo.local:45
STATUS: H:foo.local:45 - 1/3
DATA: f
STATUS: H:foo.local:45 - 2/3
DATA: o
STATUS: H:foo.local:45 - 3/3
DATA: o
COMPLETE: H:foo.local:45, oof
STATUS: H:foo.local:44 - 1/3
DATA: b
STATUS: H:foo.local:44 - 2/3
DATA: a
STATUS: H:foo.local:44 - 3/3
DATA: r
COMPLETE: H:foo.local:44, rab
DONE

Cliente y trabajador básicos en Gearman, trabajo en segundo plano
GearmanClient
Ejemplos


Clase GearmanClient

(PECL gearman >= 0.5.0)

Introducción

Representa una clase para conectar a un servidor de trabajos Gearman y realizar peticiones para ejecutar alguna función con los datos proporcionados. La función ejecutada debe ser una de las registradas por un trabajador Gearman y los datos que se pasan son opacos al servidor de trabajos.

Sinopsis de la Clase

GearmanClient {
/* Métodos */
public bool addOptions ( int $options )
public bool addServer ([ string $host = 127.0.0.1 [, int $port = 4730 ]] )
public bool addServers ([ string $servers = 127.0.0.1:4730 ] )
public GearmanTask addTask ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )
public GearmanTask addTaskBackground ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )
public GearmanTask addTaskHigh ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )
public GearmanTask addTaskHighBackground ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )
public GearmanTask addTaskLow ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )
public GearmanTask addTaskLowBackground ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )
public GearmanTask addTaskStatus ( string $job_handle [, string &$context ] )
public bool clearCallbacks ( void )
public GearmanClient clone ( void )
public __construct ( void )
public string context ( void )
public string data ( void )
public string do ( string $function_name , string $workload [, string $unique ] )
public string doBackground ( string $function_name , string $workload [, string $unique ] )
public string doHigh ( string $function_name , string $workload [, string $unique ] )
public string doHighBackground ( string $function_name , string $workload [, string $unique ] )
public string doJobHandle ( void )
public string doLow ( string $function_name , string $workload [, string $unique ] )
public string doLowBackground ( string $function_name , string $workload [, string $unique ] )
public string doNormal ( string $function_name , string $workload [, string $unique ] )
public array doStatus ( void )
public bool echo ( string $workload )
public string error ( void )
public int getErrno ( void )
public array jobStatus ( string $job_handle )
public bool ping ( string $workload )
public bool removeOptions ( int $options )
public int returnCode ( void )
public bool runTasks ( void )
public void setClientCallback ( callable $callback )
public bool setCompleteCallback ( callable $callback )
public bool setContext ( string $context )
public bool setCreatedCallback ( string $callback )
public bool setData ( string $data )
public bool setDataCallback ( callable $callback )
public bool setExceptionCallback ( callable $callback )
public bool setFailCallback ( callable $callback )
public bool setOptions ( int $options )
public bool setStatusCallback ( callable $callback )
public bool setTimeout ( int $timeout )
public bool setWarningCallback ( callable $callback )
public bool setWorkloadCallback ( callable $callback )
public int timeout ( void )
}

Tabla de contenidos

  • GearmanClient::addOptions — Añade opciones al cliente
  • GearmanClient::addServer — Añade un servidor de trabajos al cliente
  • GearmanClient::addServers — Añade una lista de servidores de trabajos al cliente
  • GearmanClient::addTask — Añade una tarea para ser ejecutada en paralelo
  • GearmanClient::addTaskBackground — Ejecuta una tarea en segundo plano para ser ejecutada en paralelo
  • GearmanClient::addTaskHigh — Añade una tarea de alta prioridad para ser ejecutada en paralelo
  • GearmanClient::addTaskHighBackground — Añade una tarea de alta prioridad ejecutada en segundo plano y en paralelo
  • GearmanClient::addTaskLow — Añade una tarea de baja prioridad para ejecutar en paralelo
  • GearmanClient::addTaskLowBackground — Añade una tarea de baja prioridad en segundo plano para ser ejecutada en paralelo
  • GearmanClient::addTaskStatus — Añade una tarea para obtener el estado
  • GearmanClient::clearCallbacks — Elimina todas las funciones de retorno de llamada
  • GearmanClient::clone — Crea una copia de un objeto GearmanClient
  • GearmanClient::__construct — Crea una instancia de GearmanClient
  • GearmanClient::context — Obtiene el contexto de la aplicación
  • GearmanClient::data — Retorna los datos de aplicación (obsoleto)
  • GearmanClient::do — Ejecuta una sola tarea y retorna el resultado [obsoleto]
  • GearmanClient::doBackground — Ejecuta una tarea en segundo plano
  • GearmanClient::doHigh — Ejecuta una tarea de prioridad alta
  • GearmanClient::doHighBackground — Ejecuta una tarea de alta prioridad en segundo plano
  • GearmanClient::doJobHandle — Obtiene el manejador de trabajo para la tarea en ejecución
  • GearmanClient::doLow — Ejecuta una tarea de baja prioridad
  • GearmanClient::doLowBackground — Ejecuta una tarea de prioridad baja en segundo plano
  • GearmanClient::doNormal — Ejecutar una única tarea y devolver un resultado
  • GearmanClient::doStatus — Obtiene el estado de la tarea en ejecución
  • GearmanClient::echo — Envía datos a todos los servidores de trabajo para ver si retornan [obsoleto]
  • GearmanClient::error — Retorna un string con el último error encontrado
  • GearmanClient::getErrno — Obtiene un valor errno
  • GearmanClient::jobStatus — Obtiene el estado de un trabajo en segundo plano
  • GearmanClient::ping — Envar datos a todos los servidores de trabajo para ver si los repiten
  • GearmanClient::removeOptions — Elimina opciones del cliente
  • GearmanClient::returnCode — Obtiene el último código de retorno de Gearman
  • GearmanClient::runTasks — Ejecuta una lista de tareas en paralelo
  • GearmanClient::setClientCallback — Función de llamada de retorno cuando hay un paquete de datos para una tarea (obsoleto)
  • GearmanClient::setCompleteCallback — Especifica una función a ser llamada cuando se complete una tarea
  • GearmanClient::setContext — Establece el contexto de la aplicación
  • GearmanClient::setCreatedCallback — Establece una llamada de retornopara cuando se encola una tarea
  • GearmanClient::setData — Establece los datos de aplicación (obsoleto)
  • GearmanClient::setDataCallback — Función de llamada de retorno para cuando hay un paquete de datos para la tarea
  • GearmanClient::setExceptionCallback — Establece una llamada de retorno para excepciones del trabajador
  • GearmanClient::setFailCallback — Establece una llamada de retorno para cuando falla un trabajo
  • GearmanClient::setOptions — Establece opciones del cliente
  • GearmanClient::setStatusCallback — Establece una llamada de retorno para obtener el estado de una tarea
  • GearmanClient::setTimeout — Establece el tiempo máximo de inactividad para actividad de entrada/salida en el socket
  • GearmanClient::setWarningCallback — Establece una llamada de retorno para los warnings del trabajador
  • GearmanClient::setWorkloadCallback — Establece una llamada de retorno para aceptar actualizaciones incrementales de datos
  • GearmanClient::timeout — Obtiene el tiempo máximo de inactividad de entrada/salida para el socket
GearmanClient::addOptions
Gearman


Añade opciones al cliente

GearmanClient
GearmanClient::addServer
GearmanClient
PHP Manual

GearmanClient::addOptions

(PECL gearman >= 0.6.0)

GearmanClient::addOptions — Añade opciones al cliente

Descripción

public bool GearmanClient::addOptions ( int $options )

Añade una o más opciones a las que hay actualmente.

Parámetros

options

Opciones a añadir

Valores devueltos

Siempre retorna TRUE.

GearmanClient
GearmanClient::addServer
GearmanClient


Añade un servidor de trabajos al cliente

GearmanClient::addOptions
GearmanClient::addServers
GearmanClient
PHP Manual

GearmanClient::addServer

(PECL gearman >= 0.5.0)

GearmanClient::addServer — Añade un servidor de trabajos al cliente

Descripción

public bool GearmanClient::addServer ([ string $host = 127.0.0.1 [, int $port = 4730 ]] )

Añade un servidor de trabajos a la lista de servidores que pueden usarse para ejecutar una tarea. No hay tráfico de entrada y salida vía socket en este punto; el servidor simplemente es añadido a la lista.

Parámetros

host

Nombre del host del job server.

port

Puerto del job server.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Añadir dos servidores de trabajos

<?php

# Creación del objeto cliente
$gmclient= new GearmanClient();

# Añadimos dos servidores, el primero en el puerto por defecto: 4730
$gmclient->addServer("10.0.0.1");
$gmclient->addServer("10.0.0.2", 7003);

?>

Ver también

  • GearmanClient::addServers() - Añade una lista de servidores de trabajos al cliente

GearmanClient::addOptions
GearmanClient::addServers
GearmanClient


Añade una lista de servidores de trabajos al cliente

GearmanClient::addServer
GearmanClient::addTask
GearmanClient
PHP Manual

GearmanClient::addServers

(PECL gearman >= 0.5.0)

GearmanClient::addServers — Añade una lista de servidores de trabajos al cliente

Descripción

public bool GearmanClient::addServers ([ string $servers = 127.0.0.1:4730 ] )

Añade una lista de servidores de trabajos que puede usarse para ejecutar una tarea. No se realiza ninguna actividad de entrada y salida sobre el socket; los servidores únicamente se añaden a la lista completa de servidores.

Parámetros

servers

Una lista separadas por comas de servidores, cada servidor especificado en el formato 'host:port'.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Añade dos servidores de trabajos

<?php

# Creamos el objeto con el cliente
$gmclient= new GearmanClient();

# Añadimos múltiples servidores, el primero en el puerto por defecto: 4730
$gmclient->addServers("10.0.0.1,10.0.0.2:7003");

?>

Ver también

  • GearmanClient::addServer() - Añade un servidor de trabajos al cliente

GearmanClient::addServer
GearmanClient::addTask
GearmanClient


Añade una tarea para ser ejecutada en paralelo

GearmanClient::addServers
GearmanClient::addTaskBackground
GearmanClient
PHP Manual

GearmanClient::addTask

(PECL gearman >= 0.5.0)

GearmanClient::addTask — Añade una tarea para ser ejecutada en paralelo

Descripción

public GearmanTask GearmanClient::addTask ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )

Añade una tarea para ser ejecutada en paralelo con otras tareas. Debe llamarse a este método en todas las tareas que van a ejecutarse en paralelo y, entonces, llamar a GearmanClient::runTasks() para realizar el trabajo. Notar que se necesitan al menos tantos trabajadores como tareas para que puedan ejecutarse todos en paralelo de forma simultánea.

Parámetros

function_name

Función registrada que ejecutará el worker

workload

Datos serializados a ser procesados

context

Aplicación context a asociar con la tarea

unique

ID único para identificar una tarea en particular

Valores devueltos

Un objeto GearmanTask o FALSE si no se puede añadir la tarea.

Ejemplos

Ejemplo #1 Envío básico de dos tareas

<?php

# Crear el servidor Gearman
$gmclient= new GearmanClient();

# Establece una función a ser llamada cuando se complete el trabajo
$gmclient->setCompleteCallback("complete");

# Añade el servidor por defecto
$gmclient->addServer();

# Añade una tarea que ejecuta la función "reverse" al string "Hello World!"
$gmclient->addTask("reverse", "Hello World!", null, "1");

# Añade otra tarea para ejecutar la función "reverse" en el string "!dlroW olleH"
$gmclient->addTask("reverse", "!dlroW olleH", null, "2");

# Ejecuta las tareas
$gmclient->runTasks();

function complete($task)
{
  print "COMPLETE: " . $task->unique() . ", " . $task->data() . "\n";
}

?>

El resultado del ejemplo sería algo similar a:

COMPLETE: 2, Hello World!
COMPLETE: 1, !dlroW olleH

Ejemplo #2 Envío básico de dos tareas pasando contexto de la aplicación

<?php

$client = new GearmanClient();
$client->addServer();

# Establece una función a ser llamada cuando se complete el trabajo
$client->setCompleteCallback("reverse_complete");

# Añade algunas tareas y provee de un lugar donde poner los resultados
$results = array();
$client->addTask("reverse", "Hello World!", &$results, "t1");
$client->addTask("reverse", "!dlroW olleH", &$results, "t2");

$client->runTasks();

# Los resultados deberían estar rellenos
foreach ($results as $id => $result)
   echo $id . ": " . $result['handle'] . ", " . $result['data'] . "\n";

function reverse_complete($task, $results)
{
   $results[$task->unique()] = array("handle"=>$task->jobHandle(), "data"=>$task->data());
}

?>

El resultado del ejemplo sería algo similar a:

t2: H.foo:21, Hello World!
t1: H:foo:22, !dlroW olleH

Ver también

  • GearmanClient::addTaskHigh() - Añade una tarea de alta prioridad para ser ejecutada en paralelo
  • GearmanClient::addTaskLow() - Añade una tarea de baja prioridad para ejecutar en paralelo
  • GearmanClient::addTaskBackground() - Ejecuta una tarea en segundo plano para ser ejecutada en paralelo
  • GearmanClient::addTaskHighBackground() - Añade una tarea de alta prioridad ejecutada en segundo plano y en paralelo
  • GearmanClient::addTaskLowBackground() - Añade una tarea de baja prioridad en segundo plano para ser ejecutada en paralelo
  • GearmanClient::runTasks() - Ejecuta una lista de tareas en paralelo

GearmanClient::addServers
GearmanClient::addTaskBackground
GearmanClient


Ejecuta una tarea en segundo plano para ser ejecutada en paralelo

GearmanClient::addTask
GearmanClient::addTaskHigh
GearmanClient
PHP Manual

GearmanClient::addTaskBackground

(PECL gearman >= 0.5.0)

GearmanClient::addTaskBackground — Ejecuta una tarea en segundo plano para ser ejecutada en paralelo

Descripción

public GearmanTask GearmanClient::addTaskBackground ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )

Añade una tarea en segundo plano para ser ejecutada en paralelo junto con otras tareas. Este método debe llamarse para todas las tareas que deben ejecutarse en paralelo y entonces llamar a GearmanClient::runTasks() para realizar el trabajo.

Parámetros

function_name

Función registrada que ejecutará el worker

workload

Datos serializados a ser procesados

context

Aplicación context a asociar con la tarea

unique

ID único para identificar una tarea en particular

Valores devueltos

Un objeto GearmanTask o FALSE si la tarea no pudo ser añadida.

Ejemplos

Ejemplo #1 Dos tareas, una en segundo plano y la otra no

Este ejemplo ilustra la diferencia entre ejecutar una tarea en segundo plano y una tarea normal. El cliente añade dos tareas para que ejecuten la misma función, pero una se añade con addTaskBackground(). Se establece una llamada de retorno de modo que se puede hacer seguimiento del progreso del trabajo. Un trajabador muy simple con un retardo artificial informa sobre el progreso del trabajo y el cliente obtiene esta información a través de la llamada de retorno. En este ejemplo se ejecutan dos trabajadores. Notar que la tarea en segundo plano no se muestra en la información de salida del cliente.

<?php

# El script del cliente

# Creamos el cliente gearman
$gmc= new GearmanClient();

# Añade el servidor de trabajos por defecto
$gmc->addServer();

# Establece un par de llamadas de retorno de modo que pueda seguirse el progreso
$gmc->setCompleteCallback("reverse_complete");
$gmc->setStatusCallback("reverse_status");

# Añade una tarea para la función "reverse"
$task= $gmc->addTask("reverse", "Hello World!", null, "1");

# Añade otra tarea, pero esta se ejecuta en segundo plano
$task= $gmc->addTaskBackground("reverse", "!dlroW olleH", null, "2");

if (! $gmc->runTasks())
{
    echo "ERROR " . $gmc->error() . "\n";
    exit;
}

echo "DONE\n";

function reverse_status($task)
{
    echo "STATUS: " . $task->unique() . ", " . $task->jobHandle() . " - " . $task->taskNumerator() .
         "/" . $task->taskDenominator() . "\n";
}

function reverse_complete($task)
{
    echo "COMPLETE: " . $task->unique() . ", " . $task->data() . "\n";
}

?>
<?php

# El script del trabajador

echo "Starting\n";

# Creamos el objeto trabajador
$gmworker= new GearmanWorker();

# Añade el servidor por defecto (localhost)
$gmworker->addServer();

# Registra la función "reverse" en el servidor
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  echo "Received job: " . $job->handle() . "\n";

  $workload = $job->workload();
  $workload_size = $job->workloadSize();

  echo "Workload: $workload ($workload_size)\n";

  # Este bucle de estado no es neceasario, únicamente muestra cómo funciona
  for ($x= 0; $x < $workload_size; $x++)
  {
    echo "Sending status: " . $x + 1 . "/$workload_size complete\n";
    $job->sendStatus($x+1, $workload_size);
    $job->sendData(substr($workload, $x, 1));
    sleep(1);
  }

  $result= strrev($workload);
  echo "Result: $result\n";

  # Retorna lo que se quiere enviar al cliente
  return $result;
}

?>

Salida del trabajador para dos trabajadores en funcionamiento:

Received job: H:foo.local:65
Workload: !dlroW olleH (12)
1/12 complete
Received job: H:foo.local:66
Workload: Hello World! (12)
1/12 complete
2/12 complete
2/12 complete
3/12 complete
3/12 complete
4/12 complete
4/12 complete
5/12 complete
5/12 complete
6/12 complete
6/12 complete
7/12 complete
7/12 complete
8/12 complete
8/12 complete
9/12 complete
9/12 complete
10/12 complete
10/12 complete
11/12 complete
11/12 complete
12/12 complete
12/12 complete
Result: !dlroW olleH
Result: Hello World!

Salida del cliente:

STATUS: 1, H:foo.local:66 - 1/12
STATUS: 1, H:foo.local:66 - 2/12
STATUS: 1, H:foo.local:66 - 3/12
STATUS: 1, H:foo.local:66 - 4/12
STATUS: 1, H:foo.local:66 - 5/12
STATUS: 1, H:foo.local:66 - 6/12
STATUS: 1, H:foo.local:66 - 7/12
STATUS: 1, H:foo.local:66 - 8/12
STATUS: 1, H:foo.local:66 - 9/12
STATUS: 1, H:foo.local:66 - 10/12
STATUS: 1, H:foo.local:66 - 11/12
STATUS: 1, H:foo.local:66 - 12/12
COMPLETE: 1, !dlroW olleH
DONE

Ver también

  • GearmanClient::addTask() - Añade una tarea para ser ejecutada en paralelo
  • GearmanClient::addTaskHigh() - Añade una tarea de alta prioridad para ser ejecutada en paralelo
  • GearmanClient::addTaskLow() - Añade una tarea de baja prioridad para ejecutar en paralelo
  • GearmanClient::addTaskHighBackground() - Añade una tarea de alta prioridad ejecutada en segundo plano y en paralelo
  • GearmanClient::addTaskLowBackground() - Añade una tarea de baja prioridad en segundo plano para ser ejecutada en paralelo
  • GearmanClient::runTasks() - Ejecuta una lista de tareas en paralelo

GearmanClient::addTask
GearmanClient::addTaskHigh
GearmanClient


Añade una tarea de alta prioridad para ser ejecutada en paralelo

GearmanClient::addTaskBackground
GearmanClient::addTaskHighBackground
GearmanClient
PHP Manual

GearmanClient::addTaskHigh

(PECL gearman >= 0.5.0)

GearmanClient::addTaskHigh — Añade una tarea de alta prioridad para ser ejecutada en paralelo

Descripción

public GearmanTask GearmanClient::addTaskHigh ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )

Añade una tarea de alta prioridad para ser ejecutada en paralelo junto con otras tareas. Este método debe llamarse para todas las tareas de alta prioridad que se deben ejecutar en paralelo y entonces llamar a GearmanClient::runTasks() para realizar el trabajo. Tareas con una alta prioridad se seleccionarán de la cola antes de las que tienen prioridad normal o baja.

Parámetros

function_name

Función registrada que ejecutará el worker

workload

Datos serializados a ser procesados

context

Aplicación context a asociar con la tarea

unique

ID único para identificar una tarea en particular

Valores devueltos

Un objeto GearmanTask o FALSE si no se puedo añadir la tarea

Ejemplos

Ejemplo #1 Una tarea de prioridad alta junto con dos tareas de prioridad normal

Se incluye una tarea de alta prioridad entre otras dos tareas. Sólo está disponible un trabajador, de modo que se ejecuta una única tarea cada vez y la tarea de alta prioridad se ejecuta primero.

<?php

# Creamos el cliente gearman
$gmc= new GearmanClient();

# Añade el servidor de trabajos por defecto
$gmc->addServer();

# Establece la llamada de retorno para cuando el trabajo esté completado
$gmc->setCompleteCallback("reverse_complete");

# Añade tareas, una de ellas de alta prioridad
$task= $gmc->addTask("reverse", "Hello World!", null, "1");
$task= $gmc->addTaskHigh("reverse", "!dlroW olleH", null, "2");
$task= $gmc->addTask("reverse", "Hello World!", null, "3");

if (! $gmc->runTasks())
{
    echo "ERROR " . $gmc->error() . "\n";
    exit;
}
echo "DONE\n";

function reverse_complete($task)
{
    echo "COMPLETE: " . $task->unique() . ", " . $task->data() . "\n";
}

?>

El resultado del ejemplo sería algo similar a:

COMPLETE: 2, Hello World!
COMPLETE: 3, !dlroW olleH
COMPLETE: 1, !dlroW olleH
DONE

Ver también

  • GearmanClient::addTask() - Añade una tarea para ser ejecutada en paralelo
  • GearmanClient::addTaskLow() - Añade una tarea de baja prioridad para ejecutar en paralelo
  • GearmanClient::addTaskBackground() - Ejecuta una tarea en segundo plano para ser ejecutada en paralelo
  • GearmanClient::addTaskHighBackground() - Añade una tarea de alta prioridad ejecutada en segundo plano y en paralelo
  • GearmanClient::addTaskLowBackground() - Añade una tarea de baja prioridad en segundo plano para ser ejecutada en paralelo
  • GearmanClient::runTasks() - Ejecuta una lista de tareas en paralelo

GearmanClient::addTaskBackground
GearmanClient::addTaskHighBackground
GearmanClient


Añade una tarea de alta prioridad ejecutada en segundo plano y en paralelo

GearmanClient::addTaskHigh
GearmanClient::addTaskLow
GearmanClient
PHP Manual

GearmanClient::addTaskHighBackground

(PECL gearman >= 0.5.0)

GearmanClient::addTaskHighBackground — Añade una tarea de alta prioridad ejecutada en segundo plano y en paralelo

Descripción

public GearmanTask GearmanClient::addTaskHighBackground ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )

Añade una tarea de alta prioridad en segundo plano para ejecutar en paralelo junto con otras tareas. Debe llamarse a este método para todas las tareas que se ejecutan en paralelo y entonces llamar a GearmanClient::runTasks() para realizar el trabajo. Tareas con una alta prioridad se seleccionarán de la cola antes que las tareas de prioridad normal o baja.

Parámetros

function_name

Función registrada que ejecutará el worker

workload

Datos serializados a ser procesados

context

Aplicación context a asociar con la tarea

unique

ID único para identificar una tarea en particular

Valores devueltos

Un objeto GearmanTask o FALSE si la tarea no puede ser añadida.

Ver también

  • GearmanClient::addTask() - Añade una tarea para ser ejecutada en paralelo
  • GearmanClient::addTaskHigh() - Añade una tarea de alta prioridad para ser ejecutada en paralelo
  • GearmanClient::addTaskLow() - Añade una tarea de baja prioridad para ejecutar en paralelo
  • GearmanClient::addTaskBackground() - Ejecuta una tarea en segundo plano para ser ejecutada en paralelo
  • GearmanClient::addTaskLowBackground() - Añade una tarea de baja prioridad en segundo plano para ser ejecutada en paralelo
  • GearmanClient::runTasks() - Ejecuta una lista de tareas en paralelo

GearmanClient::addTaskHigh
GearmanClient::addTaskLow
GearmanClient


Añade una tarea de baja prioridad para ejecutar en paralelo

GearmanClient::addTaskHighBackground
GearmanClient::addTaskLowBackground
GearmanClient
PHP Manual

GearmanClient::addTaskLow

(PECL gearman >= 0.5.0)

GearmanClient::addTaskLow — Añade una tarea de baja prioridad para ejecutar en paralelo

Descripción

public GearmanTask GearmanClient::addTaskLow ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )

Añade una tarea de baja prioridad en segundo plano para ejecutar en paralelo junto con otras tareas. Debe llamarse a este método para todas las tareas que se ejecutan en paralelo y entonces llamar a GearmanClient::runTasks() para realizar el trabajo. Tareas con una baja prioridad se seleccionarán de la cola después de las tareas de prioridad normal o alta.

Parámetros

function_name

Función registrada que ejecutará el worker

workload

Datos serializados a ser procesados

context

Aplicación context a asociar con la tarea

unique

ID único para identificar una tarea en particular

Valores devueltos

Un objeto GearmanTask o FALSE si la tarea no puede ser añadida.

Ejemplos

Ejemplo #1 Una tarea de baja prioridad junto con dos tareas de prioridad normal

Se incluye una tarea de prioridad baja junto a otras dos tareas. Se dispone de un solo trabajador, de modo que únicamente se ejecuta una tarea por vez y la tarea de baja prioridad la última.

<?php

# Crea el cliente gearman
$gmc= new GearmanClient();

# Añade el servidor de trabajos por defecto
$gmc->addServer();

# Establece la llamada de retorno para cuando el trabajo ha terminado
$gmc->setCompleteCallback("reverse_complete");

# Añade tareas, una de ellas de baja prioridad
$task= $gmc->addTask("reverse", "Hello World!", null, "1");
$task= $gmc->addTaskLow("reverse", "!dlroW olleH", null, "2");
$task= $gmc->addTask("reverse", "Hello World!", null, "3");

if (! $gmc->runTasks())
{
    echo "ERROR " . $gmc->error() . "\n";
    exit;
}
echo "DONE\n";

function reverse_complete($task)
{
    echo "COMPLETE: " . $task->unique() . ", " . $task->data() . "\n";
}

?>

El resultado del ejemplo sería algo similar a:

COMPLETE: 3, !dlroW olleH
COMPLETE: 1, !dlroW olleH
COMPLETE: 2, Hello World!
DONE

Ver también

  • GearmanClient::addTask() - Añade una tarea para ser ejecutada en paralelo
  • GearmanClient::addTaskHigh() - Añade una tarea de alta prioridad para ser ejecutada en paralelo
  • GearmanClient::addTaskBackground() - Ejecuta una tarea en segundo plano para ser ejecutada en paralelo
  • GearmanClient::addTaskHighBackground() - Añade una tarea de alta prioridad ejecutada en segundo plano y en paralelo
  • GearmanClient::addTaskLowBackground() - Añade una tarea de baja prioridad en segundo plano para ser ejecutada en paralelo
  • GearmanClient::runTasks() - Ejecuta una lista de tareas en paralelo

GearmanClient::addTaskHighBackground
GearmanClient::addTaskLowBackground
GearmanClient


Añade una tarea de baja prioridad en segundo plano para ser ejecutada en paralelo

GearmanClient::addTaskLow
GearmanClient::addTaskStatus
GearmanClient
PHP Manual

GearmanClient::addTaskLowBackground

(PECL gearman >= 0.5.0)

GearmanClient::addTaskLowBackground — Añade una tarea de baja prioridad en segundo plano para ser ejecutada en paralelo

Descripción

public GearmanTask GearmanClient::addTaskLowBackground ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )

Añade una tarea de prioridad baja en segundo plano para ser ejecutada en paralelo junto a otras tareas. Debe llamarse a este método para todas las tareas que se ejecutan en paralelo y entonces llamar a GearmanClient::runTasks() para realizar el trabajo. Tareas con una baja prioridad se seleccionarán de la cola después de las tareas de prioridad normal o alta.

Parámetros

function_name

Función registrada que ejecutará el worker

workload

Datos serializados a ser procesados

context

Aplicación context a asociar con la tarea

unique

ID único para identificar una tarea en particular

Valores devueltos

Un objeto GearmanTask o FALSE si la tarea no puede ser añadida.

Ver también

  • GearmanClient::addTask() - Añade una tarea para ser ejecutada en paralelo
  • GearmanClient::addTaskHigh() - Añade una tarea de alta prioridad para ser ejecutada en paralelo
  • GearmanClient::addTaskLow() - Añade una tarea de baja prioridad para ejecutar en paralelo
  • GearmanClient::addTaskBackground() - Ejecuta una tarea en segundo plano para ser ejecutada en paralelo
  • GearmanClient::addTaskHighBackground() - Añade una tarea de alta prioridad ejecutada en segundo plano y en paralelo
  • GearmanClient::runTasks() - Ejecuta una lista de tareas en paralelo

GearmanClient::addTaskLow
GearmanClient::addTaskStatus
GearmanClient


Añade una tarea para obtener el estado

GearmanClient::addTaskLowBackground
GearmanClient::clearCallbacks
GearmanClient
PHP Manual

GearmanClient::addTaskStatus

(PECL gearman >= 0.5.0)

GearmanClient::addTaskStatus — Añade una tarea para obtener el estado

Descripción

public GearmanTask GearmanClient::addTaskStatus ( string $job_handle [, string &$context ] )

Usado para pedir información de estado del servidor Gearman que llamará a la función de retorno especificada (usando el método GearmanClient::setStatusCallback()).

Parámetros

job_handle

Manejador de la tarea a obtener el estado

context

Datos a pasar en la llamada a la función de retorno para el estado, generalmente una referencia a un array u objeto.

Valores devueltos

Un objeto GearmanTask.

Ejemplos

Ejemplo #1 Monitor para el estado de finalización de múltiples tareas en segundo plano

Se introduce un retardo artificial en el trabajador del ejemplo para simular un proceso de larga duración. Únicamente se ejecuta un trabajador para este ejemplo.

<?php

/* Creamos el objeto */
$gmclient= new GearmanClient();

/* Añadimos el servidor por defecto */
$gmclient->addServer();

/* Iniciamos varios trabajos en segundo plano y grabamos los manejadores */
$handles = array();
$handles[0] = $gmclient->doBackground("reverse", "Hello World!");
$handles[1] = $gmclient->doBackground("reverse", "!dlroW olleH");

$gmclient->setStatusCallback("reverse_status");

/* Preguntamos constantemente al servidor para ver cuándo terminan los trabajos.
/* mejor método sería usar llamadas de retorno en los eventos */
do
{
   /* Usar la variable en contexto para seguir cuántas tareas han finalizado */
   $done = 0;
   $gmclient->addTaskStatus($handles[0], &$done);
   $gmclient->addTaskStatus($handles[1], &$done);
   $gmclient->runTasks();
   echo "Done: $done\n";
   sleep(1);
}
while ($done != 2);

function reverse_status($task, $done)
{
   if (!$task->isKnown())
      $done++;
}

?>

El resultado del ejemplo sería algo similar a:

Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 2

Ver también

  • GearmanClient::setStatusCallback() - Establece una llamada de retorno para obtener el estado de una tarea

GearmanClient::addTaskLowBackground
GearmanClient::clearCallbacks
GearmanClient


Elimina todas las funciones de retorno de llamada

GearmanClient::addTaskStatus
GearmanClient::clone
GearmanClient
PHP Manual

GearmanClient::clearCallbacks

(PECL gearman >= 0.5.0)

GearmanClient::clearCallbacks — Elimina todas las funciones de retorno de llamada

Descripción

public bool GearmanClient::clearCallbacks ( void )

Elimina todas las funciones de retorno de llamada establecidas anteriormente.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Retorna siempre TRUE.

Ver también

  • GearmanClient::setDataCallback() - Función de llamada de retorno para cuando hay un paquete de datos para la tarea
  • GearmanClient::setCompleteCallback() - Especifica una función a ser llamada cuando se complete una tarea
  • GearmanClient::setCreatedCallback() - Establece una llamada de retornopara cuando se encola una tarea
  • GearmanClient::setExceptionCallback() - Establece una llamada de retorno para excepciones del trabajador
  • GearmanClient::setFailCallback() - Establece una llamada de retorno para cuando falla un trabajo
  • GearmanClient::setStatusCallback() - Establece una llamada de retorno para obtener el estado de una tarea
  • GearmanClient::setWarningCallback() - Establece una llamada de retorno para los warnings del trabajador
  • GearmanClient::setWorkloadCallback() - Establece una llamada de retorno para aceptar actualizaciones incrementales de datos

GearmanClient::addTaskStatus
GearmanClient::clone
GearmanClient


Crea una copia de un objeto GearmanClient

GearmanClient::clearCallbacks
GearmanClient::__construct
GearmanClient
PHP Manual

GearmanClient::clone

(PECL gearman >= 0.5.0)

GearmanClient::clone — Crea una copia de un objeto GearmanClient

Descripción

public GearmanClient GearmanClient::clone ( void )

Crea una copia de un objeto GearmanClient.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un GearmanClient en caso de éxito, FALSE si hay fallo.

GearmanClient::clearCallbacks
GearmanClient::__construct
GearmanClient


Crea una instancia de GearmanClient

GearmanClient::clone
GearmanClient::context
GearmanClient
PHP Manual

GearmanClient::__construct

(PECL gearman >= 0.5.0)

GearmanClient::__construct — Crea una instancia de GearmanClient

Descripción

public GearmanClient::__construct ( void )

Crea una instancia de GearmanClient que representa un cliente que conecta al servidor de trabajos y envía tareas para que sean completadas

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un objeto GearmanClient.

Ver también

  • GearmanClient::clone() - Crea una copia de un objeto GearmanClient

GearmanClient::clone
GearmanClient::context
GearmanClient


Obtiene el contexto de la aplicación

GearmanClient::__construct
GearmanClient::data
GearmanClient
PHP Manual

GearmanClient::context

(PECL gearman >= 0.6.0)

GearmanClient::context — Obtiene el contexto de la aplicación

Descripción

public string GearmanClient::context ( void )

Obtiene el contexto de la aplicación anteriormente establecido con GearmanClient::setContext().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La misma estructura de datos de contexto establecida con GearmanClient::setContext()

Ver también

  • GearmanClient::setContext() - Establece el contexto de la aplicación

GearmanClient::__construct
GearmanClient::data
GearmanClient


Retorna los datos de aplicación (obsoleto)

GearmanClient::context
GearmanClient::do
GearmanClient
PHP Manual

GearmanClient::data

(PECL gearman <= 0.5.0)

GearmanClient::data — Retorna los datos de aplicación (obsoleto)

Descripción

public string GearmanClient::data ( void )

Obtiene los datos de aplicación fijados anteriormente con GearmanClient::setData().

Nota:

Este método fue reemplazado por GearmanClient::setContext() en la versión 0.6.0 de la extensión Gearman.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El mismo string de datos que fue establecido con GearmanClient::setData()

Ver también

  • GearmanClient::setData() - Establece los datos de aplicación (obsoleto)

GearmanClient::context
GearmanClient::do
GearmanClient


Ejecuta una sola tarea y retorna el resultado [obsoleto]

GearmanClient::data
GearmanClient::doBackground
GearmanClient
PHP Manual

GearmanClient::do

(PECL gearman >= 0.5.0)

GearmanClient::do — Ejecuta una sola tarea y retorna el resultado [obsoleto]

Descripción

public string GearmanClient::do ( string $function_name , string $workload [, string $unique ] )

El método GearmanClient::do() es obsoleto desde pecl/gearman 1.0.0. Use GearmanClient::doNormal().

Parámetros

function_name

Función registrada que ejecutará el worker

workload

Datos serializados a ser procesados

unique

ID único para identificar una tarea en particular

Valores devueltos

Un string representando el resultado de la tarea ejecutada.

Ejemplos

Ejemplo #1 Envío de un trabajo con retorno inmediato

<?php

# Código del cliente

echo "Starting\n";

# Creación del objeto cliente
$gmclient= new GearmanClient();

# Adición del servidor por defecto (localhost).
$gmclient->addServer();

echo "Sending job\n";

$result = $gmclient->doNormal("reverse", "Hello!");

echo "Success: $result\n";

?>
<?php

echo "Starting\n";

# Creación del objeto trabajador
$gmworker= new GearmanWorker();

# Adición del servidor por defecto (localhost).
$gmworker->addServer();

# Registra la función "reverse" en el servidor. Cambiar la función del trabajador
# a "reverse_fn_fast" para usar un trabajar más rápido que no genera salida.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  return strrev($job->workload());
}

?>

El resultado del ejemplo sería algo similar a:

Starting
Sending job
Success: !olleH

Ejemplo #2 Envío de un trabajo y obtención del estado incremental

Se envía un trabajo y el script comprueba constantemente mediante un bucle la información de estado. El trabajador tiene un retardo artificial que provoca un trabajo de larga duración y envía el estado y datos según se van procesando. Cada llamada a GearmanClient::do() produce información de estado del trabajo en ejecución.

<?php

# Código del cliente

# Creamos el objeto cliente
$gmclient= new GearmanClient();

# Añadimos el servidor por defecto (localhost).
$gmclient->addServer();

echo "Sending job\n";

# Enviamos trabajo "reverse"
do
{
  $result = $gmclient->doNormal("reverse", "Hello!");
  # Comprobamos llegada de posibles paquetes y errores

  switch($gmclient->returnCode())
  {
    case GEARMAN_WORK_DATA:
      echo "Data: $result\n";
      break;
    case GEARMAN_WORK_STATUS:
      list($numerator, $denominator)= $gmclient->doStatus();
      echo "Status: $numerator/$denominator complete\n";
      break;
    case GEARMAN_WORK_FAIL:
      echo "Failed\n";
      exit;
    case GEARMAN_SUCCESS:
      break;
    default:
      echo "RET: " . $gmclient->returnCode() . "\n";
      echo "Error: " . $gmclient->error() . "\n";
      echo "Errno: " . $gmclient->getErrno() . "\n";
      exit;
  }
}
while($gmclient->returnCode() != GEARMAN_SUCCESS);

echo "Success: $result\n";

?>
<?php

# Código del trabajador

echo "Starting\n";

# Creamos el objeto trabajador
$gmworker= new GearmanWorker();

# Añadimos servidor por defecto (localhost).
$gmworker->addServer();

# Registramos la función "reverse" en el servidor
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  echo "Received job: " . $job->handle() . "\n";

  $workload = $job->workload();
  $workload_size = $job->workloadSize();

  echo "Workload: $workload ($workload_size)\n";

  # Este bucle para comprobar el estado no es necesario, tan sólo muestra como funciona
  for ($x= 0; $x < $workload_size; $x++)
  {
    echo "Sending status: " + $x + 1 . "/$workload_size complete\n";
    $job->sendStatus($x+1, $workload_size);
    $job->sendData(substr($workload, $x, 1));
    sleep(1);
  }

  $result= strrev($workload);
  echo "Result: $result\n";

  # Retornamos lo que queremos enviar al cliente
  return $result;
}

?>

El resultado del ejemplo sería algo similar a:

Worker output:

Starting
Waiting for job...
Received job: H:foo.local:106
Workload: Hello! (6)
1/6 complete
2/6 complete
3/6 complete
4/6 complete
5/6 complete
6/6 complete
Result: !olleH

Client output:

Starting
Sending job
Status: 1/6 complete
Data: H
Status: 2/6 complete
Data: e
Status: 3/6 complete
Data: l
Status: 4/6 complete
Data: l
Status: 5/6 complete
Data: o
Status: 6/6 complete
Data: !
Success: !olleH

Ver también

  • GearmanClient::doHigh() - Ejecuta una tarea de prioridad alta
  • GearmanClient::doLow() - Ejecuta una tarea de baja prioridad
  • GearmanClient::doBackground() - Ejecuta una tarea en segundo plano
  • GearmanClient::doHighBackground() - Ejecuta una tarea de alta prioridad en segundo plano
  • GearmanClient::doLowBackground() - Ejecuta una tarea de prioridad baja en segundo plano

GearmanClient::data
GearmanClient::doBackground
GearmanClient


Ejecuta una tarea en segundo plano

GearmanClient::do
GearmanClient::doHigh
GearmanClient
PHP Manual

GearmanClient::doBackground

(PECL gearman >= 0.5.0)

GearmanClient::doBackground — Ejecuta una tarea en segundo plano

Descripción

public string GearmanClient::doBackground ( string $function_name , string $workload [, string $unique ] )

Ejecuta una tarea en segundo plano, retornando el manejador del trabajo que puede ser usado para obtener el estado de la tarea en ejecución.

Parámetros

function_name

Función registrada que ejecutará el worker

workload

Datos serializados a ser procesados

unique

ID único para identificar una tarea en particular

Valores devueltos

El manejador de la tarea enviada.

Ejemplos

Ejemplo #1 Envío y monitorización de un trabajo en segundo plano

El trabajador de este ejemplo tiene un retardo artificial introducido para imitar un trabajo de larga duración. El script cliente comprueba periódicamente el estado del trabajo en ejecución.

<?php

/* Creamos el objeto */
$gmclient= new GearmanClient();

/* Añade el servidor por defecto */
$gmclient->addServer();

/* Ejecuta un cliente "reverse" */
$job_handle = $gmclient->doBackground("reverse", "this is a test");

if ($gmclient->returnCode() != GEARMAN_SUCCESS)
{
  echo "bad return code\n";
  exit;
}

$done = false;
do
{
   sleep(3);
   $stat = $gmclient->jobStatus($job_handle);
   if (!$stat[0]) // the job is known so it is not done
      $done = true;
   echo "Running: " . ($stat[1] ? "true" : "false") . ", numerator: " . $stat[2] . ", denomintor: " . $stat[3] . "\n";
}
while(!$done);

echo "done!\n";

?>

El resultado del ejemplo sería algo similar a:

Running: true, numerator: 3, denomintor: 14
Running: true, numerator: 6, denomintor: 14
Running: true, numerator: 9, denomintor: 14
Running: true, numerator: 12, denomintor: 14
Running: false, numerator: 0, denomintor: 0
done!

Ver también

  • GearmanClient::doNormal() - Ejecutar una única tarea y devolver un resultado
  • GearmanClient::doHigh() - Ejecuta una tarea de prioridad alta
  • GearmanClient::doLow() - Ejecuta una tarea de baja prioridad
  • GearmanClient::doHighBackground() - Ejecuta una tarea de alta prioridad en segundo plano
  • GearmanClient::doLowBackground() - Ejecuta una tarea de prioridad baja en segundo plano

GearmanClient::do
GearmanClient::doHigh
GearmanClient


Ejecuta una tarea de prioridad alta

GearmanClient::doBackground
GearmanClient::doHighBackground
GearmanClient
PHP Manual

GearmanClient::doHigh

(PECL gearman >= 0.5.0)

GearmanClient::doHigh — Ejecuta una tarea de prioridad alta

Descripción

public string GearmanClient::doHigh ( string $function_name , string $workload [, string $unique ] )

Ejecuta una tarea de prioridad alta y retorna un string con el resultado. Depende de GearmanClient y GearmanWorker aceptar el formato del resultado Las tareas de alta prioridad se ejecutan antes que las de prioridad normal o baja en la cola de trabajos.

Parámetros

function_name

Función registrada que ejecutará el worker

workload

Datos serializados a ser procesados

unique

ID único para identificar una tarea en particular

Valores devueltos

Un string representando el resultado de la tarea en ejecución.

Ver también

  • GearmanClient::doNormal() - Ejecutar una única tarea y devolver un resultado
  • GearmanClient::doLow() - Ejecuta una tarea de baja prioridad
  • GearmanClient::doBackground() - Ejecuta una tarea en segundo plano
  • GearmanClient::doHighBackground() - Ejecuta una tarea de alta prioridad en segundo plano
  • GearmanClient::doLowBackground() - Ejecuta una tarea de prioridad baja en segundo plano

GearmanClient::doBackground
GearmanClient::doHighBackground
GearmanClient


Ejecuta una tarea de alta prioridad en segundo plano

GearmanClient::doHigh
GearmanClient::doJobHandle
GearmanClient
PHP Manual

GearmanClient::doHighBackground

(PECL gearman >= 0.5.0)

GearmanClient::doHighBackground — Ejecuta una tarea de alta prioridad en segundo plano

Descripción

public string GearmanClient::doHighBackground ( string $function_name , string $workload [, string $unique ] )

Ejecuta una tarea del alta prioridad en segundo plano, retornando el manejador del trabajo que puede ser usado para obtener el estado de la tarea en ejecución. Las tareas de alta prioridad tienen preferencia sobre las de prioridad normal o baja en la cola de tareas.

Parámetros

function_name

Función registrada que ejecutará el worker

workload

Datos serializados a ser procesados

unique

ID único para identificar una tarea en particular

Valores devueltos

El manejador del trabajo para la tarea enviada.

Ver también

  • GearmanClient::doNormal() - Ejecutar una única tarea y devolver un resultado
  • GearmanClient::doHigh() - Ejecuta una tarea de prioridad alta
  • GearmanClient::doLow() - Ejecuta una tarea de baja prioridad
  • GearmanClient::doBackground() - Ejecuta una tarea en segundo plano
  • GearmanClient::doLowBackground() - Ejecuta una tarea de prioridad baja en segundo plano

GearmanClient::doHigh
GearmanClient::doJobHandle
GearmanClient


Obtiene el manejador de trabajo para la tarea en ejecución

GearmanClient::doHighBackground
GearmanClient::doLow
GearmanClient
PHP Manual

GearmanClient::doJobHandle

(PECL gearman >= 0.5.0)

GearmanClient::doJobHandle — Obtiene el manejador de trabajo para la tarea en ejecución

Descripción

public string GearmanClient::doJobHandle ( void )

Retorna el manejador de trabajo para la tarea en ejecución. Debería usarse entre llamadas repetidas a GearmanClient::doNormal(). El manejador puede ser usado para obtener información de la tarea.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El manejador de trabajo para la tarea en ejecución.

Ver también

  • GearmanClient::jobStatus() - Obtiene el estado de un trabajo en segundo plano

GearmanClient::doHighBackground
GearmanClient::doLow
GearmanClient


Ejecuta una tarea de baja prioridad

GearmanClient::doJobHandle
GearmanClient::doLowBackground
GearmanClient
PHP Manual

GearmanClient::doLow

(PECL gearman >= 0.5.0)

GearmanClient::doLow — Ejecuta una tarea de baja prioridad

Descripción

public string GearmanClient::doLow ( string $function_name , string $workload [, string $unique ] )

Ejecuta una tarea de baja prioridad y retorna un string con el resultado. Depende de GearmanClient y GearmanWorker aceptar el formato del resultado. Las tareas de prioridad normal o algo tienen preferencia sobre las de baja prioridad en la cola de trabajos.

Parámetros

function_name

Función registrada que ejecutará el worker

workload

Datos serializados a ser procesados

unique

ID único para identificar una tarea en particular

Valores devueltos

Un string representando el resultado de la tarea en ejecución.

Ver también

  • GearmanClient::doNormal() - Ejecutar una única tarea y devolver un resultado
  • GearmanClient::doHigh() - Ejecuta una tarea de prioridad alta
  • GearmanClient::doBackground() - Ejecuta una tarea en segundo plano
  • GearmanClient::doHighBackground() - Ejecuta una tarea de alta prioridad en segundo plano
  • GearmanClient::doLowBackground() - Ejecuta una tarea de prioridad baja en segundo plano

GearmanClient::doJobHandle
GearmanClient::doLowBackground
GearmanClient


Ejecuta una tarea de prioridad baja en segundo plano

GearmanClient::doLow
GearmanClient::doNormal
GearmanClient
PHP Manual

GearmanClient::doLowBackground

(PECL gearman >= 0.5.0)

GearmanClient::doLowBackground — Ejecuta una tarea de prioridad baja en segundo plano

Descripción

public string GearmanClient::doLowBackground ( string $function_name , string $workload [, string $unique ] )

Ejecuta una tarea de prioridad baja en segundo plano, retornando el manejador del trabajo que puede ser usado para obtener el estado de la tarea en ejecución. Las tareas de prioridad normal o alta tienen preferencia sobre las de baja prioridad en la cola de trabajos.

Parámetros

function_name

Función registrada que ejecutará el worker

workload

Datos serializados a ser procesados

unique

ID único para identificar una tarea en particular

Valores devueltos

El manejador de trabajo para la tarea enviada.

Ver también

  • GearmanClient::doNormal() - Ejecutar una única tarea y devolver un resultado
  • GearmanClient::doHigh() - Ejecuta una tarea de prioridad alta
  • GearmanClient::doLow() - Ejecuta una tarea de baja prioridad
  • GearmanClient::doBackground() - Ejecuta una tarea en segundo plano
  • GearmanClient::doHighBackground() - Ejecuta una tarea de alta prioridad en segundo plano

GearmanClient::doLow
GearmanClient::doNormal
GearmanClient


Ejecutar una única tarea y devolver un resultado

GearmanClient::doLowBackground
GearmanClient::doStatus
GearmanClient
PHP Manual

GearmanClient::doNormal

(No hay información de versión disponible, podría estar únicamente en SVN)

GearmanClient::doNormal — Ejecutar una única tarea y devolver un resultado

Descripción

public string GearmanClient::doNormal ( string $function_name , string $workload [, string $unique ] )

Ejecuta una única tarea y devuelve una representación de tipo string del resultado. Es responsabilidad de GearmanClient y GearmanWorker ponerse de acuerdo en le formato del resultado.

Parámetros

function_name

Función registrada que ejecutará el worker

workload

Datos serializados a ser procesados

unique

ID único para identificar una tarea en particular

Valores devueltos

Una representación de tipo string de los resultados de ejecutar una tarea.

Ejemplos

Ejemplo #1 Envío de un trabajo sencillo con retorno inmediato

<?php

?>
<?php

# Código del cliente

echo "Iniciando\n";

# Crear el objeto cliente.
$gmclient= new GearmanClient();

# Añadir un servidor predeterminado (localhost).
$gmclient->addServer();

echo "Enviando el trabajo\n";

$result = $gmclient->doNormal("reverse", "Hola!");

echo "Éxito: $result\n";

?>
<?php

echo "Iniciando\n";

# Crear el objeto trabajador.
$gmworker= new GearmanWorker();

# Añadir un servidor predeterminado (localhost).
$gmworker->addServer();

# Registrar la función "reverse" con el servidor. Cambiar la función trabajadora a
# "reverse_fn_fast" para un trabajador más rápido sin salida.
$gmworker->addFunction("reverse", "reverse_fn");

print "Esperando al trabajo...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  return strrev($job->workload());
}

?>

El resultado del ejemplo sería algo similar a:

Iniciando
Enviando el trabajo
Éxito: !aloH¡

Ejemplo #2 Enviar un trabajo y recuperar el estado incremental

Se envía un trabajo y el script itera para recuperar la información del estado. El trabajador posee una demora artificial que resulta en una ejecución más larga del trabajo y envía el estado y los datos durante el procesamiento. Cada llamada subsiguiente a GearmanClient::doNormal() producirá información de estado sobre el trabajo en ejecución.

<?php

# Código del cliente

# Crear el objeto cliente.
$gmclient= new GearmanClient();

# Añadir un servidor predeterminado (localhost).
$gmclient->addServer();

echo "Enviando el trabajo\n";

# Enviar el trabajo al revés
do
{
  $result = $gmclient->doNormal("reverse", "¡Hola!");
  # Verificar los paquetes devueltos y los errores.

  switch($gmclient->returnCode())
  {
    case GEARMAN_WORK_DATA:
      echo "Datos: $result\n";
      break;
    case GEARMAN_WORK_STATUS:
      list($numerator, $denominator)= $gmclient->doStatus();
      echo "Estado: $numerator/$denominator completo\n";
      break;
    case GEARMAN_WORK_FAIL:
      echo "Falló\n";
      exit;
    case GEARMAN_SUCCESS:
      break;
    default:
      echo "RET: " . $gmclient->returnCode() . "\n";
      echo "Error: " . $gmclient->error() . "\n";
      echo "Errno: " . $gmclient->getErrno() . "\n";
      exit;
  }
}
while($gmclient->returnCode() != GEARMAN_SUCCESS);

echo "Éxito: $result\n";

?>
<?php

# Código del trabajador

echo "Iniciando\n";

# Crear el objeto trabajador.
$gmworker= new GearmanWorker();

# Añadir un servidor predeterminado (localhost).
$gmworker->addServer();

# Registrar la función "reverse" con el servidor.
$gmworker->addFunction("reverse", "reverse_fn");

print "Esperando el trabajo...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  echo "Trabajo recibido: " . $job->handle() . "\n";

  $workload = $job->workload();
  $workload_size = $job->workloadSize();

  echo "Cantidad de trabajo: $workload ($workload_size)\n";

  # Este bucle de estado no es necesario, simplemente muestra cómo funciona
  for ($x= 0; $x < $workload_size; $x++)
  {
    echo "Enviando el estado: " + $x + 1 . "/$workload_size completo\n";
    $job->sendStatus($x+1, $workload_size);
    $job->sendData(substr($workload, $x, 1));
    sleep(1);
  }

  $result= strrev($workload);
  echo "Resultado: $result\n";

  # Devolver lo que queremos volver a enviar al cliente.
  return $result;
}

?>

El resultado del ejemplo sería algo similar a:

Salida del trabajador:

Iniciando
Esperando el trabajo...
Trabajo recibido: H:foo.local:106
Cantidad de trabajo: ¡Hola! (6)
1/6 completo
2/6 completo
3/6 completo
4/6 completo
5/6 completo
6/6 completo
Resultado: !aloH!

Client output:

Iniciando
Enviando el trabajo
Estado: 1/6 completo
Data: ¡
Estado: 2/6 completo
Data: H
Estado: 3/6 completo
Data: o
Estado: 4/6 completo
Data: l
Estado: 5/6 completo
Data: a
Estado: 6/6 completo
Data: !
Éxito: !aloH!

Ver también

  • GearmanClient::doHigh() - Ejecuta una tarea de prioridad alta
  • GearmanClient::doLow() - Ejecuta una tarea de baja prioridad
  • GearmanClient::doBackground() - Ejecuta una tarea en segundo plano
  • GearmanClient::doHighBackground() - Ejecuta una tarea de alta prioridad en segundo plano
  • GearmanClient::doLowBackground() - Ejecuta una tarea de prioridad baja en segundo plano

GearmanClient::doLowBackground
GearmanClient::doStatus
GearmanClient


Obtiene el estado de la tarea en ejecución

GearmanClient::doNormal
GearmanClient::echo
GearmanClient
PHP Manual

GearmanClient::doStatus

(PECL gearman >= 0.5.0)

GearmanClient::doStatus — Obtiene el estado de la tarea en ejecución

Descripción

public array GearmanClient::doStatus ( void )

Retorna el estado para la tarea en ejecución. Debería usarse entre llamadas repetidas a GearmanClient::doNormal().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un array representando el porcentaje completado dado como una fracción, el primer elemento es el numerador y el segundo es el denominador.

Ejemplos

Ejemplo #1 Obtiene el estado de un trabajo en ejecución de larga duración

El trabajador de este ejemplo tiene un retardo artificial añadido durante el procesado del string a dar la vuelta. Tras cada retardo, se llama a GearmanJob::status() que el cliente recoge.

<?php

echo "Starting\n";

# Crea el objeto del cliente
$gmclient= new GearmanClient();

# Añade el servidor por defecto (localhost).
$gmclient->addServer();

echo "Sending job\n";

# Envía el trabajo "reverse"
do
{
  $result = $gmclient->doNormal("reverse", "Hello!");

  # Comprueba retorno de posibles paquetes y errores
  switch($gmclient->returnCode())
  {
    case GEARMAN_WORK_DATA:
      break;
    case GEARMAN_WORK_STATUS:
      # Obtiene el estado del trabajo actual
      list($numerator, $denominator)= $gmclient->doStatus();
      echo "Status: $numerator/$denominator complete\n";
      break;
    case GEARMAN_WORK_FAIL:
      echo "Failed\n";
      exit;
    case GEARMAN_SUCCESS:
      break;
    default:
      echo "RET: " . $gmclient->returnCode() . "\n";
      exit;
  }
}
while($gmclient->returnCode() != GEARMAN_SUCCESS);

echo "Success: $result\n";

?>

El resultado del ejemplo sería algo similar a:

Starting
Sending job
Status: 1/6 complete
Status: 2/6 complete
Status: 3/6 complete
Status: 4/6 complete
Status: 5/6 complete
Status: 6/6 complete
Success: !olleH

Ver también

  • GearmanClient::doNormal() - Ejecutar una única tarea y devolver un resultado
  • GearmanJob::status() - Envía el estado (obsoleto)

GearmanClient::doNormal
GearmanClient::echo
GearmanClient


Envía datos a todos los servidores de trabajo para ver si retornan [obsoleto]

GearmanClient::doStatus
GearmanClient::error
GearmanClient
PHP Manual

GearmanClient::echo

(PECL gearman >= 0.5.0)

GearmanClient::echo — Envía datos a todos los servidores de trabajo para ver si retornan [obsoleto]

Descripción

public bool GearmanClient::echo ( string $workload )

El método GearmanClient::echo() es obsoleto desde pecl/gearman 1.0.0. Use GearmanClient::ping().

Parámetros

workload

Datos arbitrarios serializados a ser retornados

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

GearmanClient::doStatus
GearmanClient::error
GearmanClient


Retorna un string con el último error encontrado

GearmanClient::echo
GearmanClient::getErrno
GearmanClient
PHP Manual

GearmanClient::error

(PECL gearman >= 0.5.0)

GearmanClient::error — Retorna un string con el último error encontrado

Descripción

public string GearmanClient::error ( void )

Retorna un string con el último error encontrado.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un string de error entendible.

Ver también

  • GearmanClient::getErrno() - Obtiene un valor errno

GearmanClient::echo
GearmanClient::getErrno
GearmanClient


Obtiene un valor errno

GearmanClient::error
GearmanClient::jobStatus
GearmanClient
PHP Manual

GearmanClient::getErrno

(PECL gearman >= 0.5.0)

GearmanClient::getErrno — Obtiene un valor errno

Descripción

public int GearmanClient::getErrno ( void )

Valor de errno en el caso de retornar un valor GEARMAN_ERRNO.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un errno de Gearman válido.

Ver también

  • GearmanClient::error() - Retorna un string con el último error encontrado

GearmanClient::error
GearmanClient::jobStatus
GearmanClient


Obtiene el estado de un trabajo en segundo plano

GearmanClient::getErrno
GearmanClient::ping
GearmanClient
PHP Manual

GearmanClient::jobStatus

gearman_job_status

(PECL gearman >= 0.5.0)

GearmanClient::jobStatus -- gearman_job_status — Obtiene el estado de un trabajo en segundo plano

Descripción

Estilo orientado a objetos (método):

public array GearmanClient::jobStatus ( string $job_handle )

Obtiene el estado de un trabajo en segundo plano para un manejador de trabajo dado. La información de estado estecifica si el trabajo es conocido, si está ejecutandose actualmente y el porcentaje completado.

Parámetros

job_handle

El manipulador de la tarea asignado por el servidor Gearman

Valores devueltos

Un array que contiene la información del estado para el trabajo correspondiente al manejador de trabajo indicado. El primer elemento del array es un boolean indicando si el trabajo es conocido, el segundo es un boolean indicando si el trabajo se está ejecutando y el tercer y cuarto elemento corresponden al numerador y denonimador del porcenaje de trabajo completado, respectivamente.

Ejemplos

Ejemplo #1 Monitorización del estado de un trabajo ejecutandose en segundo plano

<?php

/* Creamos el objeto */
$gmclient= new GearmanClient();

/* Añadimos el servidor por defecto */
$gmclient->addServer();

/* Ejecutamos el cliente "reverse" */
$job_handle = $gmclient->doBackground("reverse", "this is a test");

if ($gmclient->returnCode() != GEARMAN_SUCCESS)
{
  echo "bad return code\n";
  exit;
}

$done = false;
do
{
   sleep(3);
   $stat = $gmclient->jobStatus($job_handle);
   if (!$stat[0]) // the job is known so it is not done
      $done = true;
   echo "Running: " . ($stat[1] ? "true" : "false") . ", numerator: " . $stat[2] . ", denomintor: " . $stat[3] . "\n";
}
while(!$done);

echo "done!\n";

?>

El resultado del ejemplo sería algo similar a:

Running: true, numerator: 3, denomintor: 14
Running: true, numerator: 6, denomintor: 14
Running: true, numerator: 9, denomintor: 14
Running: true, numerator: 12, denomintor: 14
Running: false, numerator: 0, denomintor: 0
done!

Ver también

  • GearmanClient::doStatus() - Obtiene el estado de la tarea en ejecución

GearmanClient::getErrno
GearmanClient::ping
GearmanClient


Envar datos a todos los servidores de trabajo para ver si los repiten

GearmanClient::jobStatus
GearmanClient::removeOptions
GearmanClient
PHP Manual

GearmanClient::ping

(No hay información de versión disponible, podría estar únicamente en SVN)

GearmanClient::ping — Envar datos a todos los servidores de trabajo para ver si los repiten

Descripción

public bool GearmanClient::ping ( string $workload )

Envía datos arbitrarios a todos los servidores de trabajo para ver si los repiten. Los datos enviados no se usan o se procesan de ninguna manera. Se utilizan principalmente para pruebas y depuración.

Parámetros

workload

Algunos datos serializados arbitrarios para que sean repetidos

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

GearmanClient::jobStatus
GearmanClient::removeOptions
GearmanClient


Elimina opciones del cliente

GearmanClient::ping
GearmanClient::returnCode
GearmanClient
PHP Manual

GearmanClient::removeOptions

(PECL gearman >= 0.6.0)

GearmanClient::removeOptions — Elimina opciones del cliente

Descripción

public bool GearmanClient::removeOptions ( int $options )

Elimina una o más opciones.

Parámetros

options

Las opciones a ser eliminadas

Valores devueltos

Siempre retorna TRUE.

GearmanClient::ping
GearmanClient::returnCode
GearmanClient


Obtiene el último código de retorno de Gearman

GearmanClient::removeOptions
GearmanClient::runTasks
GearmanClient
PHP Manual

GearmanClient::returnCode

(PECL gearman >= 0.5.0)

GearmanClient::returnCode — Obtiene el último código de retorno de Gearman

Descripción

public int GearmanClient::returnCode ( void )

Retorna el último código de retorno de Gearman.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un código de retorno válido de Gearman.

GearmanClient::removeOptions
GearmanClient::runTasks
GearmanClient


Ejecuta una lista de tareas en paralelo

GearmanClient::returnCode
GearmanClient::setClientCallback
GearmanClient
PHP Manual

GearmanClient::runTasks

(PECL gearman >= 0.5.0)

GearmanClient::runTasks — Ejecuta una lista de tareas en paralelo

Descripción

public bool GearmanClient::runTasks ( void )

Para un set de tareas previamente añadidas con  GearmanClient::addTask(),
 GearmanClient::addTaskHigh(),  GearmanClient::addTaskLow(),
 GearmanClient::addTaskBackground(),  GearmanClient::addTaskHighBackground(), or
 GearmanClient::addTaskLowBackground(), esta llamada
ordena comenzar la ejecución de las tareas en paralelo.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • GearmanClient::addTask() - Añade una tarea para ser ejecutada en paralelo

GearmanClient::returnCode
GearmanClient::setClientCallback
GearmanClient


Función de llamada de retorno cuando hay un paquete de datos para una tarea (obsoleto)

GearmanClient::runTasks
GearmanClient::setCompleteCallback
GearmanClient
PHP Manual

GearmanClient::setClientCallback

(PECL gearman <= 0.5.0)

GearmanClient::setClientCallback — Función de llamada de retorno cuando hay un paquete de datos para una tarea (obsoleto)

Descripción

public void GearmanClient::setClientCallback ( callable $callback )

Establece la función de llamada de retorno que acepta paquetes de datos para una tarea. La función de llamada de retorno debe tener un solo argumento, un objeto GearmanTask.

Nota:

Este método ha sido reemplazado por GearmanClient::setDataCallback() en la versión 0.6.0 de la extensión Gearman..

Parámetros

callback

Una función o método a llamar

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • GearmanClient::setCompleteCallback() - Especifica una función a ser llamada cuando se complete una tarea
  • GearmanClient::setCreatedCallback() - Establece una llamada de retornopara cuando se encola una tarea
  • GearmanClient::setDataCallback() - Función de llamada de retorno para cuando hay un paquete de datos para la tarea
  • GearmanClient::setExceptionCallback() - Establece una llamada de retorno para excepciones del trabajador
  • GearmanClient::setFailCallback() - Establece una llamada de retorno para cuando falla un trabajo
  • GearmanClient::setStatusCallback() - Establece una llamada de retorno para obtener el estado de una tarea
  • GearmanClient::setWarningCallback() - Establece una llamada de retorno para los warnings del trabajador
  • GearmanClient::setWorkloadCallback() - Establece una llamada de retorno para aceptar actualizaciones incrementales de datos

GearmanClient::runTasks
GearmanClient::setCompleteCallback
GearmanClient


Especifica una función a ser llamada cuando se complete una tarea

GearmanClient::setClientCallback
GearmanClient::setContext
GearmanClient
PHP Manual

GearmanClient::setCompleteCallback

(PECL gearman >= 0.5.0)

GearmanClient::setCompleteCallback — Especifica una función a ser llamada cuando se complete una tarea

Descripción

public bool GearmanClient::setCompleteCallback ( callable $callback )

Especifica una función a ser llamada cuando se complete una tarea. La función de llamada de retorno acepta un único argument, un objeto GearmanTask.

Parámetros

callback

Función a ser llamada

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • GearmanClient::setDataCallback() - Función de llamada de retorno para cuando hay un paquete de datos para la tarea
  • GearmanClient::setCreatedCallback() - Establece una llamada de retornopara cuando se encola una tarea
  • GearmanClient::setExceptionCallback() - Establece una llamada de retorno para excepciones del trabajador
  • GearmanClient::setFailCallback() - Establece una llamada de retorno para cuando falla un trabajo
  • GearmanClient::setStatusCallback() - Establece una llamada de retorno para obtener el estado de una tarea
  • GearmanClient::setWarningCallback() - Establece una llamada de retorno para los warnings del trabajador
  • GearmanClient::setWorkloadCallback() - Establece una llamada de retorno para aceptar actualizaciones incrementales de datos

GearmanClient::setClientCallback
GearmanClient::setContext
GearmanClient


Establece el contexto de la aplicación

GearmanClient::setCompleteCallback
GearmanClient::setCreatedCallback
GearmanClient
PHP Manual

GearmanClient::setContext

(PECL gearman >= 0.6.0)

GearmanClient::setContext — Establece el contexto de la aplicación

Descripción

public bool GearmanClient::setContext ( string $context )

Establece un string arbitrario para dar contexto a la aplicación que pueda ser posteriormente recuperado por GearmanClient::context().

Parámetros

context

Datos arbitrarios para el contexto

Valores devueltos

Retorna siempre TRUE.

Ver también

  • GearmanClient::context() - Obtiene el contexto de la aplicación

GearmanClient::setCompleteCallback
GearmanClient::setCreatedCallback
GearmanClient


Establece una llamada de retornopara cuando se encola una tarea

GearmanClient::setContext
GearmanClient::setData
GearmanClient
PHP Manual

GearmanClient::setCreatedCallback

(PECL gearman >= 0.5.0)

GearmanClient::setCreatedCallback — Establece una llamada de retornopara cuando se encola una tarea

Descripción

public bool GearmanClient::setCreatedCallback ( string $callback )

Establece una función a ser llamada cuando se recibe una tarea y es encolada por el servidor de trabajos Gearman. La función acepta un único parámetro, un objeto GearmanClient.

Parámetros

callback

Función a llamar

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • GearmanClient::setDataCallback() - Función de llamada de retorno para cuando hay un paquete de datos para la tarea
  • GearmanClient::setCompleteCallback() - Especifica una función a ser llamada cuando se complete una tarea
  • GearmanClient::setExceptionCallback() - Establece una llamada de retorno para excepciones del trabajador
  • GearmanClient::setFailCallback() - Establece una llamada de retorno para cuando falla un trabajo
  • GearmanClient::setStatusCallback() - Establece una llamada de retorno para obtener el estado de una tarea
  • GearmanClient::setWarningCallback() - Establece una llamada de retorno para los warnings del trabajador
  • GearmanClient::setWorkloadCallback() - Establece una llamada de retorno para aceptar actualizaciones incrementales de datos

GearmanClient::setContext
GearmanClient::setData
GearmanClient


Establece los datos de aplicación (obsoleto)

GearmanClient::setCreatedCallback
GearmanClient::setDataCallback
GearmanClient
PHP Manual

GearmanClient::setData

(PECL gearman <= 0.5.0)

GearmanClient::setData — Establece los datos de aplicación (obsoleto)

Descripción

public bool GearmanClient::setData ( string $data )

Establece datos arbitrarios para la aplicación que pueden ser leídos posteriormente con GearmanClient::data().

Nota:

Este método ha sido reemplazado por GearmanCient::setContext() en la versión 0.6.0 de la extensión Gearman.

Parámetros

data

Valores devueltos

Siempre retorna TRUE.

Ver también

  • GearmanClient::data() - Retorna los datos de aplicación (obsoleto)

GearmanClient::setCreatedCallback
GearmanClient::setDataCallback
GearmanClient


Función de llamada de retorno para cuando hay un paquete de datos para la tarea

GearmanClient::setData
GearmanClient::setExceptionCallback
GearmanClient
PHP Manual

GearmanClient::setDataCallback

(PECL gearman >= 0.6.0)

GearmanClient::setDataCallback — Función de llamada de retorno para cuando hay un paquete de datos para la tarea

Descripción

public bool GearmanClient::setDataCallback ( callable $callback )

Establece la función de llamada de retorno para aceptar paquetes de datos para una tarea. La función acepta un único argumento, un objeto GearmanTask.

Parámetros

callback

Función o método a llamar

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • GearmanClient::setCompleteCallback() - Especifica una función a ser llamada cuando se complete una tarea
  • GearmanClient::setCreatedCallback() - Establece una llamada de retornopara cuando se encola una tarea
  • GearmanClient::setExceptionCallback() - Establece una llamada de retorno para excepciones del trabajador
  • GearmanClient::setFailCallback() - Establece una llamada de retorno para cuando falla un trabajo
  • GearmanClient::setStatusCallback() - Establece una llamada de retorno para obtener el estado de una tarea
  • GearmanClient::setWarningCallback() - Establece una llamada de retorno para los warnings del trabajador
  • GearmanClient::setWorkloadCallback() - Establece una llamada de retorno para aceptar actualizaciones incrementales de datos

GearmanClient::setData
GearmanClient::setExceptionCallback
GearmanClient


Establece una llamada de retorno para excepciones del trabajador

GearmanClient::setDataCallback
GearmanClient::setFailCallback
GearmanClient
PHP Manual

GearmanClient::setExceptionCallback

(PECL gearman >= 0.5.0)

GearmanClient::setExceptionCallback — Establece una llamada de retorno para excepciones del trabajador

Descripción

public bool GearmanClient::setExceptionCallback ( callable $callback )

Especifica una función a llamar cuando un trabajador envía una excepción.

Parámetros

callback

Función a llamar cuando un trabajador lanza una excepción

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • GearmanClient::setDataCallback() - Función de llamada de retorno para cuando hay un paquete de datos para la tarea
  • GearmanClient::setCompleteCallback() - Especifica una función a ser llamada cuando se complete una tarea
  • GearmanClient::setCreatedCallback() - Establece una llamada de retornopara cuando se encola una tarea
  • GearmanClient::setFailCallback() - Establece una llamada de retorno para cuando falla un trabajo
  • GearmanClient::setStatusCallback() - Establece una llamada de retorno para obtener el estado de una tarea
  • GearmanClient::setWarningCallback() - Establece una llamada de retorno para los warnings del trabajador
  • GearmanClient::setWorkloadCallback() - Establece una llamada de retorno para aceptar actualizaciones incrementales de datos

GearmanClient::setDataCallback
GearmanClient::setFailCallback
GearmanClient


Establece una llamada de retorno para cuando falla un trabajo

GearmanClient::setExceptionCallback
GearmanClient::setOptions
GearmanClient
PHP Manual

GearmanClient::setFailCallback

(PECL gearman >= 0.5.0)

GearmanClient::setFailCallback — Establece una llamada de retorno para cuando falla un trabajo

Descripción

public bool GearmanClient::setFailCallback ( callable $callback )

Establece una función de retorno a usar cuando una tarea no es completada satisfactoriamente. La función acepta un argumento, un objeto GearmanTask.

Parámetros

callback

Función a llamar

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • GearmanClient::setDataCallback() - Función de llamada de retorno para cuando hay un paquete de datos para la tarea
  • GearmanClient::setCompleteCallback() - Especifica una función a ser llamada cuando se complete una tarea
  • GearmanClient::setCreatedCallback() - Establece una llamada de retornopara cuando se encola una tarea
  • GearmanClient::setExceptionCallback() - Establece una llamada de retorno para excepciones del trabajador
  • GearmanClient::setStatusCallback() - Establece una llamada de retorno para obtener el estado de una tarea
  • GearmanClient::setWarningCallback() - Establece una llamada de retorno para los warnings del trabajador
  • GearmanClient::setWorkloadCallback() - Establece una llamada de retorno para aceptar actualizaciones incrementales de datos

GearmanClient::setExceptionCallback
GearmanClient::setOptions
GearmanClient


Establece opciones del cliente

GearmanClient::setFailCallback
GearmanClient::setStatusCallback
GearmanClient
PHP Manual

GearmanClient::setOptions

(PECL gearman >= 0.5.0)

GearmanClient::setOptions — Establece opciones del cliente

Descripción

public bool GearmanClient::setOptions ( int $options )

Establece una o más opciones del cliente.

Parámetros

options

Las opciones a fijar

Valores devueltos

Siempre retorna TRUE.

GearmanClient::setFailCallback
GearmanClient::setStatusCallback
GearmanClient


Establece una llamada de retorno para obtener el estado de una tarea

GearmanClient::setOptions
GearmanClient::setTimeout
GearmanClient
PHP Manual

GearmanClient::setStatusCallback

(PECL gearman >= 0.5.0)

GearmanClient::setStatusCallback — Establece una llamada de retorno para obtener el estado de una tarea

Descripción

public bool GearmanClient::setStatusCallback ( callable $callback )

Establece una función de llamada de retorno usada para obtener el estado actualizado de un trabajador.. La función acepta un único argumento, un objeto GearmanTask.

Parámetros

callback

Función a llamar

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • GearmanClient::setDataCallback() - Función de llamada de retorno para cuando hay un paquete de datos para la tarea
  • GearmanClient::setCompleteCallback() - Especifica una función a ser llamada cuando se complete una tarea
  • GearmanClient::setCreatedCallback() - Establece una llamada de retornopara cuando se encola una tarea
  • GearmanClient::setExceptionCallback() - Establece una llamada de retorno para excepciones del trabajador
  • GearmanClient::setFailCallback() - Establece una llamada de retorno para cuando falla un trabajo
  • GearmanClient::setWarningCallback() - Establece una llamada de retorno para los warnings del trabajador
  • GearmanClient::setWorkloadCallback() - Establece una llamada de retorno para aceptar actualizaciones incrementales de datos

GearmanClient::setOptions
GearmanClient::setTimeout
GearmanClient


Establece el tiempo máximo de inactividad para actividad de entrada/salida en el socket

GearmanClient::setStatusCallback
GearmanClient::setWarningCallback
GearmanClient
PHP Manual

GearmanClient::setTimeout

(PECL gearman >= 0.6.0)

GearmanClient::setTimeout — Establece el tiempo máximo de inactividad para actividad de entrada/salida en el socket

Descripción

public bool GearmanClient::setTimeout ( int $timeout )

Establece el tiempo máximo de inactividad para actividad de entrada/salida en el socket

Parámetros

timeout

Un intervalo de tiempo en milisegundos

Valores devueltos

Siempre retorna TRUE.

GearmanClient::setStatusCallback
GearmanClient::setWarningCallback
GearmanClient


Establece una llamada de retorno para los warnings del trabajador

GearmanClient::setTimeout
GearmanClient::setWorkloadCallback
GearmanClient
PHP Manual

GearmanClient::setWarningCallback

(PECL gearman >= 0.5.0)

GearmanClient::setWarningCallback — Establece una llamada de retorno para los warnings del trabajador

Descripción

public bool GearmanClient::setWarningCallback ( callable $callback )

Establece una función a ser llamada cuando un trabajador envía un warning. La función acepta un único argumento, un objeto GearmanTask.

Parámetros

callback

Función a llamar

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • GearmanClient::setDataCallback() - Función de llamada de retorno para cuando hay un paquete de datos para la tarea
  • GearmanClient::setCompleteCallback() - Especifica una función a ser llamada cuando se complete una tarea
  • GearmanClient::setCreatedCallback() - Establece una llamada de retornopara cuando se encola una tarea
  • GearmanClient::setExceptionCallback() - Establece una llamada de retorno para excepciones del trabajador
  • GearmanClient::setFailCallback() - Establece una llamada de retorno para cuando falla un trabajo
  • GearmanClient::setStatusCallback() - Establece una llamada de retorno para obtener el estado de una tarea
  • GearmanClient::setWorkloadCallback() - Establece una llamada de retorno para aceptar actualizaciones incrementales de datos

GearmanClient::setTimeout
GearmanClient::setWorkloadCallback
GearmanClient


Establece una llamada de retorno para aceptar actualizaciones incrementales de datos

GearmanClient::setWarningCallback
GearmanClient::timeout
GearmanClient
PHP Manual

GearmanClient::setWorkloadCallback

(PECL gearman >= 0.5.0)

GearmanClient::setWorkloadCallback — Establece una llamada de retorno para aceptar actualizaciones incrementales de datos

Descripción

public bool GearmanClient::setWorkloadCallback ( callable $callback )

Establece una función a ser llamada cuando un trabajador necesita enviar datos antes de completar el trabajo. Un trabajador puede realizar esta acción cuando necesita enviar actualizaciones, enviar resultados parciales o enviar datos durante trabajados de larga duración. La función acepta un único argumento, un objeto GearmanTask.

Parámetros

callback

Función a llamar

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • GearmanClient::setDataCallback() - Función de llamada de retorno para cuando hay un paquete de datos para la tarea
  • GearmanClient::setCompleteCallback() - Especifica una función a ser llamada cuando se complete una tarea
  • GearmanClient::setCreatedCallback() - Establece una llamada de retornopara cuando se encola una tarea
  • GearmanClient::setExceptionCallback() - Establece una llamada de retorno para excepciones del trabajador
  • GearmanClient::setFailCallback() - Establece una llamada de retorno para cuando falla un trabajo
  • GearmanClient::setStatusCallback() - Establece una llamada de retorno para obtener el estado de una tarea
  • GearmanClient::setWarningCallback() - Establece una llamada de retorno para los warnings del trabajador

GearmanClient::setWarningCallback
GearmanClient::timeout
GearmanClient


Obtiene el tiempo máximo de inactividad de entrada/salida para el socket

GearmanClient::setWorkloadCallback
GearmanJob
GearmanClient
PHP Manual

GearmanClient::timeout

(PECL gearman >= 0.6.0)

GearmanClient::timeout — Obtiene el tiempo máximo de inactividad de entrada/salida para el socket

Descripción

public int GearmanClient::timeout ( void )

Retorna el tiempo máximo de inactividad de entrada/salida en milisegundos para el socket.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Tiempo máximo en milisegundos a esperar para actividad de entrada/salida. Un valor negativo significa tiempo infinito.

Ver también

  • GearmanClient::setTimeout() - Establece el tiempo máximo de inactividad para actividad de entrada/salida en el socket

GearmanClient::setWorkloadCallback
GearmanJob
GearmanClient


La clase GearmanJob

(PECL gearman >= 0.5.0)

Introducción

Sinopsis de la Clase

GearmanJob {
/* Métodos */
public bool complete ( string $result )
public __construct ( void )
public bool data ( string $data )
public bool exception ( string $exception )
public bool fail ( void )
public string functionName ( void )
public string handle ( void )
public int returnCode ( void )
public bool sendComplete ( string $result )
public bool sendData ( string $data )
public bool sendException ( string $exception )
public bool sendFail ( void )
public bool sendStatus ( int $numerator , int $denominator )
public bool sendWarning ( string $warning )
public bool setReturn ( int $gearman_return_t )
public bool status ( int $numerator , int $denominator )
public string unique ( void )
public bool warning ( string $warning )
public string workload ( void )
public int workloadSize ( void )
}

Tabla de contenidos

  • GearmanJob::complete — Envía el resultado y el estado completo (obsoleto)
  • GearmanJob::__construct — Crea una instancia de GearmanJob
  • GearmanJob::data — Envía datos para un trabajo en ejecución (obsoleto)
  • GearmanJob::exception — Envía una excepción para un trabajo en ejecución (obsoleto)
  • GearmanJob::fail — Envía el estado de fallo (obsoleto)
  • GearmanJob::functionName — Retorna el nombre de la función
  • GearmanJob::handle — Retorna el manejador para el trabajo
  • GearmanJob::returnCode — Obtiene el último código de retorno
  • GearmanJob::sendComplete — Envía el resultado y el estado completado
  • GearmanJob::sendData — Envía datos para un trabajo en ejecución
  • GearmanJob::sendException — Envía una excepción para un trabajo en ejecución
  • GearmanJob::sendFail — Envía el estado de fallo
  • GearmanJob::sendStatus — Envía el estado
  • GearmanJob::sendWarning — Envía una advertencia
  • GearmanJob::setReturn — Establece el valor de retorno
  • GearmanJob::status — Envía el estado (obsoleto)
  • GearmanJob::unique — Obtiene el identificador único
  • GearmanJob::warning — Envía un aviso (obsoleto)
  • GearmanJob::workload — Obtiene la carga de trabajo
  • GearmanJob::workloadSize — Obtiene el tamaño de la carga de trabajo
GearmanClient::timeout
GearmanJob::complete
Gearman


Envía el resultado y el estado completo (obsoleto)

GearmanJob
GearmanJob::__construct
GearmanJob
PHP Manual

GearmanJob::complete

(PECL gearman <= 0.5.0)

GearmanJob::complete — Envía el resultado y el estado completo (obsoleto)

Descripción

public bool GearmanJob::complete ( string $result )

Envía los datos que han resultado del proceso y actualiza el estado a completo para este trabajo.

Nota:

Este método ha sido reemplazado por GearmanJob::sendComplete() en la versión 0.6.0 de la extensión Gearman.

Parámetros

result

Los datos que han resultado en formato serializado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • GearmanJob::sendFail() - Envía el estado de fallo
  • GearmanJob::setReturn() - Establece el valor de retorno

GearmanJob
GearmanJob::__construct
GearmanJob


Crea una instancia de GearmanJob

GearmanJob::complete
GearmanJob::data
GearmanJob
PHP Manual

GearmanJob::__construct

(PECL gearman >= 0.5.0)

GearmanJob::__construct — Crea una instancia de GearmanJob

Descripción

public GearmanJob::__construct ( void )

Crea una instancia de GearmanJob que representa un trabajo que un trabajador debe completar.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un objeto GearmanJob.

GearmanJob::complete
GearmanJob::data
GearmanJob


Envía datos para un trabajo en ejecución (obsoleto)

GearmanJob::__construct
GearmanJob::exception
GearmanJob
PHP Manual

GearmanJob::data

(PECL gearman <= 0.5.0)

GearmanJob::data — Envía datos para un trabajo en ejecución (obsoleto)

Descripción

public bool GearmanJob::data ( string $data )

Envía datos al servidor de trabajos (y a cualquier cliente a la escucha) para este trabajo.

Nota:

Este método ha sido reemplazado por GearmanJob::sendData() en la versión 0.6.0 de la extensión Gearman.

Parámetros

data

Datos arbitrarios serializados.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • GearmanJob::workload() - Obtiene la carga de trabajo
  • GearmanTask::data() - Obtiene los datos retornados para una tarea

GearmanJob::__construct
GearmanJob::exception
GearmanJob


Envía una excepción para un trabajo en ejecución (obsoleto)

GearmanJob::data
GearmanJob::fail
GearmanJob
PHP Manual

GearmanJob::exception

(PECL gearman <= 0.5.0)

GearmanJob::exception — Envía una excepción para un trabajo en ejecución (obsoleto)

Descripción

public bool GearmanJob::exception ( string $exception )

Envía la excepción indicada cuando este trabajo está siendo ejecutado.

Nota:

Este método ha sido reemplazado por GearmanJob::sendException() en la versión 0.6.0 de la extensión Gearman.

Parámetros

exception

Descripción de la excepción.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • GearmanJob::setReturn() - Establece el valor de retorno
  • GearmanJob::sendStatus() - Envía el estado
  • GearmanJob::sendWarning() - Envía una advertencia

GearmanJob::data
GearmanJob::fail
GearmanJob


Envía el estado de fallo (obsoleto)

GearmanJob::exception
GearmanJob::functionName
GearmanJob
PHP Manual

GearmanJob::fail

(PECL gearman <= 0.5.0)

GearmanJob::fail — Envía el estado de fallo (obsoleto)

Descripción

public bool GearmanJob::fail ( void )

Envía el estado de fallo para este trabajo, indicando que el trabajo ha fallado por razones conocidas (en contraposición a un fallo debido al lanzamiento de una excepción).

Nota:

Este método ha sido reemplazado por GearmanJob::sendFail() en la versión 0.6.0 de la extensión Gearman.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • GearmanJob::sendException() - Envía una excepción para un trabajo en ejecución
  • GearmanJob::setReturn() - Establece el valor de retorno
  • GearmanJob::sendStatus() - Envía el estado
  • GearmanJob::sendWarning() - Envía una advertencia

GearmanJob::exception
GearmanJob::functionName
GearmanJob


Retorna el nombre de la función

GearmanJob::fail
GearmanJob::handle
GearmanJob
PHP Manual

GearmanJob::functionName

(PECL gearman >= 0.5.0)

GearmanJob::functionName — Retorna el nombre de la función

Descripción

public string GearmanJob::functionName ( void )

Retorna el nombre de la función para este trabajo. Esta es la función que se ejecutará para realizar el trabajo.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El nombre de la función.

Ver también

  • GearmanTask::function() - Obtiene el nombre de la función asociada (obsoleto)

GearmanJob::fail
GearmanJob::handle
GearmanJob


Retorna el manejador para el trabajo

GearmanJob::functionName
GearmanJob::returnCode
GearmanJob
PHP Manual

GearmanJob::handle

(PECL gearman >= 0.5.0)

GearmanJob::handle — Retorna el manejador para el trabajo

Descripción

public string GearmanJob::handle ( void )

Retorna el manejador de trabajo asignado por el servidor de trabajos.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un manejador de trabajo.

Ver también

  • GearmanTask::jobHandle() - Retorna el manejador del trabajo

GearmanJob::functionName
GearmanJob::returnCode
GearmanJob


Obtiene el último código de retorno

GearmanJob::handle
GearmanJob::sendComplete
GearmanJob
PHP Manual

GearmanJob::returnCode

(PECL gearman >= 0.5.0)

GearmanJob::returnCode — Obtiene el último código de retorno

Descripción

public int GearmanJob::returnCode ( void )

Retorna el último código de retorno dado por el servidor de trabajos.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un código de retorno válido de Gearman.

Ver también

  • GearmanTask::returnCode() - Retorna el último código de error

GearmanJob::handle
GearmanJob::sendComplete
GearmanJob


Envía el resultado y el estado completado

GearmanJob::returnCode
GearmanJob::sendData
GearmanJob
PHP Manual

GearmanJob::sendComplete

(PECL gearman >= 0.6.0)

GearmanJob::sendComplete — Envía el resultado y el estado completado

Descripción

public bool GearmanJob::sendComplete ( string $result )

Envía los datos que han resultado y la actualización a estado completado para este trabajo.

Parámetros

result

Resultado en formato serializado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • GearmanJob::sendFail() - Envía el estado de fallo
  • GearmanJob::setReturn() - Establece el valor de retorno

GearmanJob::returnCode
GearmanJob::sendData
GearmanJob


Envía datos para un trabajo en ejecución

GearmanJob::sendComplete
GearmanJob::sendException
GearmanJob
PHP Manual

GearmanJob::sendData

(PECL gearman >= 0.6.0)

GearmanJob::sendData — Envía datos para un trabajo en ejecución

Descripción

public bool GearmanJob::sendData ( string $data )

Envía datos al servidor de trabajos (y a cualquier cliente a la escucha) para este trabajo.

Parámetros

data

Datos arbitrarios serializados.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • GearmanJob::workload() - Obtiene la carga de trabajo
  • GearmanTask::data() - Obtiene los datos retornados para una tarea

GearmanJob::sendComplete
GearmanJob::sendException
GearmanJob


Envía una excepción para un trabajo en ejecución

GearmanJob::sendData
GearmanJob::sendFail
GearmanJob
PHP Manual

GearmanJob::sendException

(PECL gearman >= 0.6.0)

GearmanJob::sendException — Envía una excepción para un trabajo en ejecución

Descripción

public bool GearmanJob::sendException ( string $exception )

Envía la excepción indicada cuando este trabajo está en ejecución.

Parámetros

exception

Descripción de la excepción.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • GearmanJob::setReturn() - Establece el valor de retorno
  • GearmanJob::sendStatus() - Envía el estado
  • GearmanJob::sendWarning() - Envía una advertencia

GearmanJob::sendData
GearmanJob::sendFail
GearmanJob


Envía el estado de fallo

GearmanJob::sendException
GearmanJob::sendStatus
GearmanJob
PHP Manual

GearmanJob::sendFail

(PECL gearman >= 0.6.0)

GearmanJob::sendFail — Envía el estado de fallo

Descripción

public bool GearmanJob::sendFail ( void )

Envía el estado de fallo para este trabajo, indicando que el trabajo ha fallado de forma conocida (al contrario que un fallo debido una excepción).

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • GearmanJob::sendException() - Envía una excepción para un trabajo en ejecución
  • GearmanJob::setReturn() - Establece el valor de retorno
  • GearmanJob::sendStatus() - Envía el estado
  • GearmanJob::sendWarning() - Envía una advertencia

GearmanJob::sendException
GearmanJob::sendStatus
GearmanJob


Envía el estado

GearmanJob::sendFail
GearmanJob::sendWarning
GearmanJob
PHP Manual

GearmanJob::sendStatus

(PECL gearman >= 0.6.0)

GearmanJob::sendStatus — Envía el estado

Descripción

public bool GearmanJob::sendStatus ( int $numerator , int $denominator )

Envía información de estado al servidor de trabajo y a cualquier cliente a la escucha. Usar para especificar qué porcentaje del trabajo ha sido completado.

Parámetros

numerator

El numerador del porcentaje completado, expresado como una fracción.

denominator

El denominador del porcentaje completado, expresado como una fracción.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • GearmanClient::jobStatus() - Obtiene el estado de un trabajo en segundo plano
  • GearmanTask::taskDenominator() - Obtiene el denominador del porcentaje de tarea completada
  • GearmanTask::taskNumerator() - Retorna el numerador del tanto por ciento completado de la tarea, expresado como una fracción

GearmanJob::sendFail
GearmanJob::sendWarning
GearmanJob


Envía una advertencia

GearmanJob::sendStatus
GearmanJob::setReturn
GearmanJob
PHP Manual

GearmanJob::sendWarning

(PECL gearman >= 0.6.0)

GearmanJob::sendWarning — Envía una advertencia

Descripción

public bool GearmanJob::sendWarning ( string $warning )

Envía una advertencia para este trabajo mientras está en ejecución.

Parámetros

warning

Un mensaje de advertencia.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • GearmanJob::sendComplete() - Envía el resultado y el estado completado
  • GearmanJob::sendException() - Envía una excepción para un trabajo en ejecución
  • GearmanJob::sendFail() - Envía el estado de fallo

GearmanJob::sendStatus
GearmanJob::setReturn
GearmanJob


Establece el valor de retorno

GearmanJob::sendWarning
GearmanJob::status
GearmanJob
PHP Manual

GearmanJob::setReturn

(PECL gearman >= 0.5.0)

GearmanJob::setReturn — Establece el valor de retorno

Descripción

public bool GearmanJob::setReturn ( int $gearman_return_t )

Establece el valor de retorno para este trabajo, indica cómo se ha completado el trabajo.

Parámetros

gearman_return_t

Un valor de retorno válido de Gearman.

Valores devueltos

Descripción...

GearmanJob::sendWarning
GearmanJob::status
GearmanJob


Envía el estado (obsoleto)

GearmanJob::setReturn
GearmanJob::unique
GearmanJob
PHP Manual

GearmanJob::status

(PECL gearman <= 0.5.0)

GearmanJob::status — Envía el estado (obsoleto)

Descripción

public bool GearmanJob::status ( int $numerator , int $denominator )

Envía información de estado al servidor de trabajo y a cualquier cliente a la escucha. Usar para especificar qué porcentaje del trabajo ha sido completado.

Nota:

Este método ha sido reemplazado por GearmanJob::sendStatus() en la versión 0.6.0 de la extensión Gearman.

Parámetros

numerator

El numerador del porcentaje completado, expresado como una fracción.

denominator

El denominador del porcentaje completado, expresado como una fracción.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • GearmanClient::jobStatus() - Obtiene el estado de un trabajo en segundo plano
  • GearmanTask::taskDenominator() - Obtiene el denominador del porcentaje de tarea completada
  • GearmanTask::taskNumerator() - Retorna el numerador del tanto por ciento completado de la tarea, expresado como una fracción

GearmanJob::setReturn
GearmanJob::unique
GearmanJob


Obtiene el identificador único

GearmanJob::status
GearmanJob::warning
GearmanJob
PHP Manual

GearmanJob::unique

(PECL gearman >= 0.5.0)

GearmanJob::unique — Obtiene el identificador único

Descripción

public string GearmanJob::unique ( void )

Retorna el identificador único para este trabajo. El identificador es asignado por el cliente.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un identificador único.

Ver también

  • GearmanClient::do() - Ejecuta una sola tarea y retorna el resultado [obsoleto]
  • GearmanTask::uuid() - Obtiene el identificador único de una tarea (obsoleto)

GearmanJob::status
GearmanJob::warning
GearmanJob


Envía un aviso (obsoleto)

GearmanJob::unique
GearmanJob::workload
GearmanJob
PHP Manual

GearmanJob::warning

(PECL gearman <= 0.5.0)

GearmanJob::warning — Envía un aviso (obsoleto)

Descripción

public bool GearmanJob::warning ( string $warning )

Envía un aviso para el trabajo mientras está en ejecución.

Nota:

Este método ha sido reemplazado por GearmanJob::sendWarning() en la versión 0.6.0 de la extensión Gearman.

Parámetros

warning

Un mensaje de aviso.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • GearmanJob::sendComplete() - Envía el resultado y el estado completado
  • GearmanJob::sendException() - Envía una excepción para un trabajo en ejecución
  • GearmanJob::sendFail() - Envía el estado de fallo

GearmanJob::unique
GearmanJob::workload
GearmanJob


Obtiene la carga de trabajo

GearmanJob::warning
GearmanJob::workloadSize
GearmanJob
PHP Manual

GearmanJob::workload

(PECL gearman >= 0.5.0)

GearmanJob::workload — Obtiene la carga de trabajo

Descripción

public string GearmanJob::workload ( void )

Retorna la carga de trabajo. Es información serializada que debe ser procesada por el trabajador.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Datos serializados.

Ver también

  • GearmanClient::do() - Ejecuta una sola tarea y retorna el resultado [obsoleto]
  • GearmanJob::workloadSize() - Obtiene el tamaño de la carga de trabajo

GearmanJob::warning
GearmanJob::workloadSize
GearmanJob


Obtiene el tamaño de la carga de trabajo

GearmanJob::workload
GearmanTask
GearmanJob
PHP Manual

GearmanJob::workloadSize

(PECL gearman >= 0.5.0)

GearmanJob::workloadSize — Obtiene el tamaño de la carga de trabajo

Descripción

public int GearmanJob::workloadSize ( void )

Retorna el tamaño de la carga de trabajo (datos que el trabajador tiene que procesar) en bytes.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El tamaño en bytes.

Ver también

  • GearmanJob::workload() - Obtiene la carga de trabajo

GearmanJob::workload
GearmanTask
GearmanJob


La clase GearmanTask

(PECL gearman >= 0.5.0)

Introducción

Sinopsis de la Clase

GearmanTask {
/* Métodos */
public __construct ( void )
public GearmanTask create ( void )
public string data ( void )
public int dataSize ( void )
public string function ( void )
public string functionName ( void )
public bool isKnown ( void )
public bool isRunning ( void )
public string jobHandle ( void )
public array recvData ( int $data_len )
public int returnCode ( void )
public int sendData ( string $data )
public int sendWorkload ( string $data )
public int taskDenominator ( void )
public int taskNumerator ( void )
public string unique ( void )
public string uuid ( void )
}

Tabla de contenidos

  • GearmanTask::__construct — Crea una instancia de GearmanTask
  • GearmanTask::create — Crea una tarea (obsoleto)
  • GearmanTask::data — Obtiene los datos retornados para una tarea
  • GearmanTask::dataSize — Obtiene el tamaño de la información retornada
  • GearmanTask::function — Obtiene el nombre de la función asociada (obsoleto)
  • GearmanTask::functionName — Retorna el nombre de la función asociada
  • GearmanTask::isKnown — Determina si la tarea es conocida
  • GearmanTask::isRunning — Comprueba si la tarea está siendo ejecutada
  • GearmanTask::jobHandle — Retorna el manejador del trabajo
  • GearmanTask::recvData — Guarda un trabajo o los datos resultantes de una tarea en un buffer
  • GearmanTask::returnCode — Retorna el último código de error
  • GearmanTask::sendData — Envía datos a una tarea (obsoleto)
  • GearmanTask::sendWorkload — Envía datos a una tarea
  • GearmanTask::taskDenominator — Obtiene el denominador del porcentaje de tarea completada
  • GearmanTask::taskNumerator — Retorna el numerador del tanto por ciento completado de la tarea, expresado como una fracción
  • GearmanTask::unique — Obtiene el identificador único de una tarea
  • GearmanTask::uuid — Obtiene el identificador único de una tarea (obsoleto)
GearmanJob::workloadSize
GearmanTask::__construct
Gearman


Crea una instancia de GearmanTask

GearmanTask
GearmanTask::create
GearmanTask
PHP Manual

GearmanTask::__construct

(PECL gearman >= 0.5.0)

GearmanTask::__construct — Crea una instancia de GearmanTask

Descripción

public GearmanTask::__construct ( void )

Crea una instancia GearmanTask que representa una tarea para enviar al servidor de trabajos.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un objeto GearmanTask.

GearmanTask
GearmanTask::create
GearmanTask


Crea una tarea (obsoleto)

GearmanTask::__construct
GearmanTask::data
GearmanTask
PHP Manual

GearmanTask::create

(PECL gearman <= 0.5.0)

GearmanTask::create — Crea una tarea (obsoleto)

Descripción

public GearmanTask GearmanTask::create ( void )

Retorna un nuevo objeto GearmanTask.

Nota:

Este método fue eliminado en la versión 0.6.0 de la extensión Gearman.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un objeto GearmanTask o FALSE en caso de error.

GearmanTask::__construct
GearmanTask::data
GearmanTask


Obtiene los datos retornados para una tarea

GearmanTask::create
GearmanTask::dataSize
GearmanTask
PHP Manual

GearmanTask::data

(PECL gearman >= 0.5.0)

GearmanTask::data — Obtiene los datos retornados para una tarea

Descripción

public string GearmanTask::data ( void )

Obtiene los datos retornados para una tarea por un trabajador.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Los datos serialziados, o FALSE en caso de no haberlos.

Ver también

  • GearmanTask::dataSize() - Obtiene el tamaño de la información retornada

GearmanTask::create
GearmanTask::dataSize
GearmanTask


Obtiene el tamaño de la información retornada

GearmanTask::data
GearmanTask::function
GearmanTask
PHP Manual

GearmanTask::dataSize

(PECL gearman >= 0.5.0)

GearmanTask::dataSize — Obtiene el tamaño de la información retornada

Descripción

public int GearmanTask::dataSize ( void )

Retorna el tamaño de los datos que serán devueltos por una tarea.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El tamaño de los datos, o FALSE en caso de no haberlos.

Ver también

  • GearmanTask::data() - Obtiene los datos retornados para una tarea

GearmanTask::data
GearmanTask::function
GearmanTask


Obtiene el nombre de la función asociada (obsoleto)

GearmanTask::dataSize
GearmanTask::functionName
GearmanTask
PHP Manual

GearmanTask::function

(PECL gearman <= 0.5.0)

GearmanTask::function — Obtiene el nombre de la función asociada (obsoleto)

Descripción

public string GearmanTask::function ( void )

Retorna el nombre de la función que esta tarea tiene asociada con, por ejemplo, la función que el trabajador de Gearman llama.

Nota:

Este método ha sido reemplazado por GearmanTask::functionName() en la versión 0.6.0 de la extensión Gearman.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El nombre de la función.

GearmanTask::dataSize
GearmanTask::functionName
GearmanTask


Retorna el nombre de la función asociada

GearmanTask::function
GearmanTask::isKnown
GearmanTask
PHP Manual

GearmanTask::functionName

(PECL gearman >= 0.6.0)

GearmanTask::functionName — Retorna el nombre de la función asociada

Descripción

public string GearmanTask::functionName ( void )

Retorna el nombre de la función con la que esta tarea está asociada, por ejemplo la función que llama el trabajador Gearman.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un nombre de función.

GearmanTask::function
GearmanTask::isKnown
GearmanTask


Determina si la tarea es conocida

GearmanTask::functionName
GearmanTask::isRunning
GearmanTask
PHP Manual

GearmanTask::isKnown

(PECL gearman >= 0.5.0)

GearmanTask::isKnown — Determina si la tarea es conocida

Descripción

public bool GearmanTask::isKnown ( void )

Retorna información sobre el estado para una tarea, sea o no conocida por el servidor de trabajos.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si la tarea es conocida, FALSE en otro caso.

GearmanTask::functionName
GearmanTask::isRunning
GearmanTask


Comprueba si la tarea está siendo ejecutada

GearmanTask::isKnown
GearmanTask::jobHandle
GearmanTask
PHP Manual

GearmanTask::isRunning

(PECL gearman >= 0.5.0)

GearmanTask::isRunning — Comprueba si la tarea está siendo ejecutada

Descripción

public bool GearmanTask::isRunning ( void )

Indica si la tarea está actualmente siendo ejecutada.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si la tarea está siendo ejecutada, FALSE en otro caso.

GearmanTask::isKnown
GearmanTask::jobHandle
GearmanTask


Retorna el manejador del trabajo

GearmanTask::isRunning
GearmanTask::recvData
GearmanTask
PHP Manual

GearmanTask::jobHandle

gearman_job_handle

(PECL gearman >= 0.5.0)

GearmanTask::jobHandle -- gearman_job_handle — Retorna el manejador del trabajo

Descripción

public string GearmanTask::jobHandle ( void )

Retorna el manejador del trabajo para esta tarea.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El manejador del trabajo.

Ver también

  • GearmanClient::doJobHandle() - Obtiene el manejador de trabajo para la tarea en ejecución

GearmanTask::isRunning
GearmanTask::recvData
GearmanTask


Guarda un trabajo o los datos resultantes de una tarea en un buffer

GearmanTask::jobHandle
GearmanTask::returnCode
GearmanTask
PHP Manual

GearmanTask::recvData

(PECL gearman >= 0.5.0)

GearmanTask::recvData — Guarda un trabajo o los datos resultantes de una tarea en un buffer

Descripción

public array GearmanTask::recvData ( int $data_len )

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

data_len

Longitud de datos a leer.

Valores devueltos

Un array cuyo primer elemento es la longitud de los datos leídos y el segundo son los datos. Retorna FALSE si falla la lectura.

Ver también

  • GearmanTask::sendData() - Envía datos a una tarea (obsoleto)

GearmanTask::jobHandle
GearmanTask::returnCode
GearmanTask


Retorna el último código de error

GearmanTask::recvData
GearmanTask::sendData
GearmanTask
PHP Manual

GearmanTask::returnCode

(PECL gearman >= 0.5.0)

GearmanTask::returnCode — Retorna el último código de error

Descripción

public int GearmanTask::returnCode ( void )

Retorna el último código de error de Gearman para esta tarea.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un código de retorno de Gearman válido.

Ver también

  • GearmanClient::returnCode() - Obtiene el último código de retorno de Gearman

GearmanTask::recvData
GearmanTask::sendData
GearmanTask


Envía datos a una tarea (obsoleto)

GearmanTask::returnCode
GearmanTask::sendWorkload
GearmanTask
PHP Manual

GearmanTask::sendData

(PECL gearman <= 0.5.0)

GearmanTask::sendData — Envía datos a una tarea (obsoleto)

Descripción

public int GearmanTask::sendData ( string $data )

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

data

Datos a enviar al trabajador.

Valores devueltos

Longitud de los datos a enviar o FALSE si falla el envío.

Ver también

  • GearmanTask::recvData() - Guarda un trabajo o los datos resultantes de una tarea en un buffer

GearmanTask::returnCode
GearmanTask::sendWorkload
GearmanTask


Envía datos a una tarea

GearmanTask::sendData
GearmanTask::taskDenominator
GearmanTask
PHP Manual

GearmanTask::sendWorkload

(PECL gearman >= 0.6.0)

GearmanTask::sendWorkload — Envía datos a una tarea

Descripción

public int GearmanTask::sendWorkload ( string $data )

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

data

Datos a enviar al trabajador.

Valores devueltos

Longitud de los datos enviados o FALSE si falla el envío.

Ver también

  • GearmanTask::recvData() - Guarda un trabajo o los datos resultantes de una tarea en un buffer

GearmanTask::sendData
GearmanTask::taskDenominator
GearmanTask


Obtiene el denominador del porcentaje de tarea completada

GearmanTask::sendWorkload
GearmanTask::taskNumerator
GearmanTask
PHP Manual

GearmanTask::taskDenominator

(PECL gearman >= 0.5.0)

GearmanTask::taskDenominator — Obtiene el denominador del porcentaje de tarea completada

Descripción

public int GearmanTask::taskDenominator ( void )

Retorna el denominador del tanto por ciento completado de la tarea, expresado como una fracción.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un número entre 0 y 100 o FALSE si no puede ser determinado.

Ver también

  • GearmanTask::taskNumerator() - Retorna el numerador del tanto por ciento completado de la tarea, expresado como una fracción

GearmanTask::sendWorkload
GearmanTask::taskNumerator
GearmanTask


Retorna el numerador del tanto por ciento completado de la tarea, expresado como una fracción

GearmanTask::taskDenominator
GearmanTask::unique
GearmanTask
PHP Manual

GearmanTask::taskNumerator

(PECL gearman >= 0.5.0)

GearmanTask::taskNumerator — Retorna el numerador del tanto por ciento completado de la tarea, expresado como una fracción

Descripción

public int GearmanTask::taskNumerator ( void )

Retorna el numerador del tanto por ciento completado de la tarea, expresado como una fracción.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un número entre 0 y 100 o FALSE si no se puede determinar.

Ver también

  • GearmanTask::taskDenominator() - Obtiene el denominador del porcentaje de tarea completada

GearmanTask::taskDenominator
GearmanTask::unique
GearmanTask


Obtiene el identificador único de una tarea

GearmanTask::taskNumerator
GearmanTask::uuid
GearmanTask
PHP Manual

GearmanTask::unique

(PECL gearman >= 0.6.0)

GearmanTask::unique — Obtiene el identificador único de una tarea

Descripción

public string GearmanTask::unique ( void )

Retorna el identificador única para esta tarea. Este se asigna por GearmanClient, a diferencia del manejador de trabajo que es asignado por el servidor de trabajos Gearman.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El identificador único, o FALSE si no tiene asignado identificador.

Ver también

  • GearmanClient::do() - Ejecuta una sola tarea y retorna el resultado [obsoleto]
  • GearmanClient::addTask() - Añade una tarea para ser ejecutada en paralelo

GearmanTask::taskNumerator
GearmanTask::uuid
GearmanTask


Obtiene el identificador único de una tarea (obsoleto)

GearmanTask::unique
GearmanWorker
GearmanTask
PHP Manual

GearmanTask::uuid

(PECL gearman <= 0.5.0)

GearmanTask::uuid — Obtiene el identificador único de una tarea (obsoleto)

Descripción

public string GearmanTask::uuid ( void )

Retorna el identificador único de una tarea. Este es asignado por GearmanClient, a diferencia del manejador de trabajo que lo define el servidor de trabajos Gearman.

Nota:

Este método ha sido reemplazado por GearmanTask::unique() en la versión 0.6.0 de la extensión Gearman.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El identificador único o FALSE si no tiene identificador asignado.

Ver también

  • GearmanClient::do() - Ejecuta una sola tarea y retorna el resultado [obsoleto]
  • GearmanClient::addTask() - Añade una tarea para ser ejecutada en paralelo

GearmanTask::unique
GearmanWorker
GearmanTask


La clase GearmanWorker

(PECL gearman >= 0.5.0)

Introducción

Sinopsis de la Clase

GearmanWorker {
/* Métodos */
public bool addFunction ( string $function_name , callable $function [, mixed &$context [, int $timeout ]] )
public bool addOptions ( int $option )
public bool addServer ([ string $host = 127.0.0.1 [, int $port = 4730 ]] )
public bool addServers ( string $servers = 127.0.0.1:4730 )
public void clone ( void )
public __construct ( void )
public bool echo ( string $workload )
public string error ( void )
public int getErrno ( void )
public int options ( void )
public bool register ( string $function_name [, int $timeout ] )
public bool removeOptions ( int $option )
public int returnCode ( void )
public bool setId ( string $id )
public bool setOptions ( int $option )
public bool setTimeout ( int $timeout )
public int timeout ( void )
public bool unregister ( string $function_name )
public bool unregisterAll ( void )
public bool wait ( void )
public bool work ( void )
}

Tabla de contenidos

  • GearmanWorker::addFunction — Registra y añade una función de retorno
  • GearmanWorker::addOptions — Añade opciones al trabajador
  • GearmanWorker::addServer — Añade un servidor de trabajo
  • GearmanWorker::addServers — Añade servidores de trabajo
  • GearmanWorker::clone — Crea una copia del trabajador
  • GearmanWorker::__construct — Crea una instancia GearmanWorker
  • GearmanWorker::echo — Comprueba la respuesta de un servidor de trabajo
  • GearmanWorker::error — Retorna el último error que ha ocurrido
  • GearmanWorker::getErrno — Obtiene el código de error
  • GearmanWorker::options — Retorna las opciones del trabajador
  • GearmanWorker::register — Registra una función en el servidor de trabajo
  • GearmanWorker::removeOptions — Elimina las opciones del trabajador
  • GearmanWorker::returnCode — Obtiene el último código de retorno de Gearman
  • GearmanWorker::setId — Asigna un identificador al trabajador de tal forma que pueda ser rastreado cuando se solicite a gearmand la lista de los trabajadores disponibles
  • GearmanWorker::setOptions — Establece las opciones del trabajador
  • GearmanWorker::setTimeout — Establece un tiempo de espera máximo para actividad de entrada/salida del socket
  • GearmanWorker::timeout — Retorna el tiempo máximo de espera para actividad de entrada/salida del socket
  • GearmanWorker::unregister — Elimina el registro del nombre de una función en los servidores de trabajo
  • GearmanWorker::unregisterAll — Elimina el registro de todas los nombres de funciones en los servidores de trabajo
  • GearmanWorker::wait — Espera cualquier actividad de uno de los servidores de trabajo
  • GearmanWorker::work — Espera y realiza un trabajo
GearmanTask::uuid
GearmanWorker::addFunction
Gearman


Registra y añade una función de retorno

GearmanWorker
GearmanWorker::addOptions
GearmanWorker
PHP Manual

GearmanWorker::addFunction

(PECL gearman >= 0.5.0)

GearmanWorker::addFunction — Registra y añade una función de retorno

Descripción

public bool GearmanWorker::addFunction ( string $function_name , callable $function [, mixed &$context [, int $timeout ]] )

Registra el nombre de una función en el servidor de trabajos y especifica la llamada de retorno quer corresponde a esa función. Opcionalmente se puede especificar datos extra del contexto de aplicación para que sean usados cuando se realiza la llamada a la función de retorno o expira el tiempo máximo permitido.

Parámetros

function_name

Nombre de la función a registrar en el servidor de trabajos

function

Función de retorno a llamar cuando el trabajo para el nombre de función registrado es enviado

context

Referencia a datos de contexto de la aplicación que pueden ser modificados por la la función del trabajador

timeout

Intervalo de tiempo en segundos

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Sencillo trabajador que usa los datos de contexto de aplicación

<?php

# obtiene un trabajador gearman
$worker= new GearmanWorker();

# añade el servidor por defecto (localhost)
$worker->addServer();

# define una variable en la que mantener los datos de aplicación
$count= 0;

# añade la función "reverse"
$worker->addFunction("reverse", "reverse_cb", &$count);

# inicia el trabajador
while ($worker->work());

function reverse_cb($job, $count)
{
  $count++;
  return "$count: " . strrev($job->workload());
}

?>

Ejecutando un cliente que envía dos trabajos para la función "reverse", tendrá un resultado similar a este:

1: olleh
2: dlrow

Ver también

  • GearmanClient::do() - Ejecuta una sola tarea y retorna el resultado [obsoleto]

GearmanWorker
GearmanWorker::addOptions
GearmanWorker


Añade opciones al trabajador

GearmanWorker::addFunction
GearmanWorker::addServer
GearmanWorker
PHP Manual

GearmanWorker::addOptions

(PECL gearman >= 0.6.0)

GearmanWorker::addOptions — Añade opciones al trabajador

Descripción

public bool GearmanWorker::addOptions ( int $option )

Añade una o más opciones a las establecidas anteriormente.

Parámetros

option

Opciones a añadir

Valores devueltos

Siempre retorna TRUE.

Ver también

  • GearmanWorker::options() - Retorna las opciones del trabajador
  • GearmanClient::setOptions() - Establece opciones del cliente
  • GearmanClient::removeOptions() - Elimina opciones del cliente

GearmanWorker::addFunction
GearmanWorker::addServer
GearmanWorker


Añade un servidor de trabajo

GearmanWorker::addOptions
GearmanWorker::addServers
GearmanWorker
PHP Manual

GearmanWorker::addServer

(PECL gearman >= 0.5.0)

GearmanWorker::addServer — Añade un servidor de trabajo

Descripción

public bool GearmanWorker::addServer ([ string $host = 127.0.0.1 [, int $port = 4730 ]] )

Añade un servidor de trabajo a este trabajador. Se añade a una lista de servidores que pueden ser usados para ejecutar trabajos. No se realiza ninguna acción de entrada/salida con sockets.

Parámetros

host

Nombre del host del job server.

port

Puerto del job server.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Añade servidores Gearman alternativos

<?php
$worker= new GearmanWorker();
$worker->addServer("10.0.0.1");
$worker->addServer("10.0.0.2", 7003);
?>

Ver también

  • GearmanWorker::addServers() - Añade servidores de trabajo

GearmanWorker::addOptions
GearmanWorker::addServers
GearmanWorker


Añade servidores de trabajo

GearmanWorker::addServer
GearmanWorker::clone
GearmanWorker
PHP Manual

GearmanWorker::addServers

(PECL gearman >= 0.5.0)

GearmanWorker::addServers — Añade servidores de trabajo

Descripción

public bool GearmanWorker::addServers ( string $servers = 127.0.0.1:4730 )

Añade uno o más servidores de trabajos a este trabajador. Se añaden a una lista de servidores que pueden ser usados para ejecutar trabajos. No se realiza ninguna acción de entrada/salida con sockets.

Parámetros

servers

Una lista de servidores de trabajo separadas por comas en el formato servidor:puerto. Si no se especifica puerto, se usa el puerto por defecto 4730.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Añade dos servidores de trabajo

<?php

$worker= new GearmanWorker();
$worker->addServers("10.0.0.1,10.0.0.2:7003");

?>

Ver también

  • GearmanWorker::addServer() - Añade un servidor de trabajo

GearmanWorker::addServer
GearmanWorker::clone
GearmanWorker


Crea una copia del trabajador

GearmanWorker::addServers
GearmanWorker::__construct
GearmanWorker
PHP Manual

GearmanWorker::clone

(PECL gearman >= 0.5.0)

GearmanWorker::clone — Crea una copia del trabajador

Descripción

public void GearmanWorker::clone ( void )

Crea una copia del trabajador.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un objeto GearmanWorker

GearmanWorker::addServers
GearmanWorker::__construct
GearmanWorker


Crea una instancia GearmanWorker

GearmanWorker::clone
GearmanWorker::echo
GearmanWorker
PHP Manual

GearmanWorker::__construct

(PECL gearman >= 0.5.0)

GearmanWorker::__construct — Crea una instancia GearmanWorker

Descripción

public GearmanWorker::__construct ( void )

Crea una instancia GearmanWorker que representa a un trabajador que se conecta a un servidor de trabajo y acepta tareas a ejecutar.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un objeto GearmanWorker

Ver también

  • GearmanWorker::clone() - Crea una copia del trabajador

GearmanWorker::clone
GearmanWorker::echo
GearmanWorker


Comprueba la respuesta de un servidor de trabajo

GearmanWorker::__construct
GearmanWorker::error
GearmanWorker
PHP Manual

GearmanWorker::echo

(PECL gearman >= 0.6.0)

GearmanWorker::echo — Comprueba la respuesta de un servidor de trabajo

Descripción

public bool GearmanWorker::echo ( string $workload )

Envía datos a todos los servidores de trabajo para comprobar si los retornan. Esta es una función de prueba para ver si los servidores de trabajo están respondiendo de forma adecuada.

Parámetros

workload

Datos arbitrarios serializados

Valores devueltos

Valor de retorno estándar de Gearman.

Ver también

  • GearmanClient::echo() - Envía datos a todos los servidores de trabajo para ver si retornan [obsoleto]

GearmanWorker::__construct
GearmanWorker::error
GearmanWorker


Retorna el último error que ha ocurrido

GearmanWorker::echo
GearmanWorker::getErrno
GearmanWorker
PHP Manual

GearmanWorker::error

(PECL gearman >= 0.5.0)

GearmanWorker::error — Retorna el último error que ha ocurrido

Descripción

public string GearmanWorker::error ( void )

Retorna una cadena de error para el último error que ha ocurrido.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El string de error.

Ver también

  • GearmanWorker::getErrno() - Obtiene el código de error

GearmanWorker::echo
GearmanWorker::getErrno
GearmanWorker


Obtiene el código de error

GearmanWorker::error
GearmanWorker::options
GearmanWorker
PHP Manual

GearmanWorker::getErrno

(PECL gearman >= 0.5.0)

GearmanWorker::getErrno — Obtiene el código de error

Descripción

public int GearmanWorker::getErrno ( void )

Retorna el valor del código de error (errno) en caso de que se obtenga un GEARMAN_ERRNO.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un errno válido.

Ver también

  • GearmanWorker::error() - Retorna el último error que ha ocurrido

GearmanWorker::error
GearmanWorker::options
GearmanWorker


Retorna las opciones del trabajador

GearmanWorker::getErrno
GearmanWorker::register
GearmanWorker
PHP Manual

GearmanWorker::options

(PECL gearman >= 0.6.0)

GearmanWorker::options — Retorna las opciones del trabajador

Descripción

public int GearmanWorker::options ( void )

Retorna las opciones que han sido establecidas con anterioridad en el trabajador.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Las opciones que tiene actualmente el trabajador.

Ver también

  • GearmanWorker::setOptions() - Establece las opciones del trabajador

GearmanWorker::getErrno
GearmanWorker::register
GearmanWorker


Registra una función en el servidor de trabajo

GearmanWorker::options
GearmanWorker::removeOptions
GearmanWorker
PHP Manual

GearmanWorker::register

(PECL gearman >= 0.6.0)

GearmanWorker::register — Registra una función en el servidor de trabajo

Descripción

public bool GearmanWorker::register ( string $function_name [, int $timeout ] )

Registra el nombre de una función en el servidor de trabajo con un tiempo máximo de espera opcional. El tiempo de espera indica cuantos segundos debe esperar el servidor antes de marcar el trabajo como fallo. Indicar un tiempo de espera de cero implica deshabilitar la espera.

Parámetros

function_name

El nombre de una función a registrar en el servidor de trabajo

timeout

Un intervalo de tiempo en segundos

Valores devueltos

Un valor de retorno estándar de Gearman.

Ver también

  • GearmanWorker::unregister() - Elimina el registro del nombre de una función en los servidores de trabajo
  • GearmanWorker::unregisterAll() - Elimina el registro de todas los nombres de funciones en los servidores de trabajo

GearmanWorker::options
GearmanWorker::removeOptions
GearmanWorker


Elimina las opciones del trabajador

GearmanWorker::register
GearmanWorker::returnCode
GearmanWorker
PHP Manual

GearmanWorker::removeOptions

(PECL gearman >= 0.6.0)

GearmanWorker::removeOptions — Elimina las opciones del trabajador

Descripción

public bool GearmanWorker::removeOptions ( int $option )

Elimina una o más opciones del trabajador.

Parámetros

option

Opciones a ser eliminadas

Valores devueltos

Retorna siempre TRUE.

Ver también

  • GearmanWorker::options() - Retorna las opciones del trabajador
  • GearmanWorker::setOptions() - Establece las opciones del trabajador
  • GearmanWorker::addOptions() - Añade opciones al trabajador

GearmanWorker::register
GearmanWorker::returnCode
GearmanWorker


Obtiene el último código de retorno de Gearman

GearmanWorker::removeOptions
GearmanWorker::setId
GearmanWorker
PHP Manual

GearmanWorker::returnCode

(PECL gearman >= 0.5.0)

GearmanWorker::returnCode — Obtiene el último código de retorno de Gearman

Descripción

public int GearmanWorker::returnCode ( void )

Retorna el último código de retorno de Gearman.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un código de retorno válido de Gearman.

Ver también

  • GearmanWorker::error() - Retorna el último error que ha ocurrido
  • GearmanWorker::getErrno() - Obtiene el código de error

GearmanWorker::removeOptions
GearmanWorker::setId
GearmanWorker


Asigna un identificador al trabajador de tal forma que pueda ser rastreado cuando se solicite a gearmand la lista de los trabajadores disponibles

GearmanWorker::returnCode
GearmanWorker::setOptions
GearmanWorker
PHP Manual

GearmanWorker::setId

(No hay información de versión disponible, podría estar únicamente en SVN)

GearmanWorker::setId — Asigna un identificador al trabajador de tal forma que pueda ser rastreado cuando se solicite a gearmand la lista de los trabajadores disponibles

Descripción

public bool GearmanWorker::setId ( string $id )

Asigna un identificador al trabajador.

Parámetros

id

Un identificador de tipo string.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de GearmanWorker::setId()

Define un identificador para un trabajador simple.

<?php
$worker= new GearmanWorker();
$worker->setId('test');
?>

El resultado del ejemplo sería algo similar a:

Ejecutar el comando siguiente:
gearadmin --workers

Salida:
30 ::3a3a:3361:3361:3a33%976303667 - : test
GearmanWorker::returnCode
GearmanWorker::setOptions
GearmanWorker


Establece las opciones del trabajador

GearmanWorker::setId
GearmanWorker::setTimeout
GearmanWorker
PHP Manual

GearmanWorker::setOptions

(PECL gearman >= 0.5.0)

GearmanWorker::setOptions — Establece las opciones del trabajador

Descripción

public bool GearmanWorker::setOptions ( int $option )

Establece una o más opciones para el valor dado.

Parámetros

option

Las opciones a establecer

Valores devueltos

Siempre retorna TRUE.

Ver también

  • GearmanWorker::options() - Retorna las opciones del trabajador
  • GearmanWorker::addOptions() - Añade opciones al trabajador
  • GearmanWorker::removeOptions() - Elimina las opciones del trabajador
  • GearmanClient::setOptions() - Establece opciones del cliente

GearmanWorker::setId
GearmanWorker::setTimeout
GearmanWorker


Establece un tiempo de espera máximo para actividad de entrada/salida del socket

GearmanWorker::setOptions
GearmanWorker::timeout
GearmanWorker
PHP Manual

GearmanWorker::setTimeout

(PECL gearman >= 0.6.0)

GearmanWorker::setTimeout — Establece un tiempo de espera máximo para actividad de entrada/salida del socket

Descripción

public bool GearmanWorker::setTimeout ( int $timeout )

Establece el intervalo de tiempo a esperar actividad de entrada/salida del socket. Sets the interval of time to wait for socket I/O activity.

Parámetros

timeout

Un intervalo de tiempo en milisegundos. Un valor negativo indica un tiempo de espera infinito.

Valores devueltos

Retorna siempre TRUE.

Ejemplos

Ejemplo #1 Un trabajador sencillo con un tiempo de espera de 5 segundos

<?php

echo "Empezando\n";

# Crea el objeto trabajador
$gmworker= new GearmanWorker();

# Añade el servidor por defecto (localhost).
$gmworker->addServer();

# Registra la función "reverse" en el servidor.
$gmworker->addFunction("reverse", "reverse_fn");

# Establece el tiempo de espera a 5 segundos
$gmworker->setTimeout(5000);

echo "Esperando trabajo...\n";
while(@$gmworker->work() || $gmworker->returnCode() == GEARMAN_TIMEOUT)
{
  if ($gmworker->returnCode() == GEARMAN_TIMEOUT)
  {
    # Normalmente se espera hacer algo útil aquí...
    echo "Timeout. Esperando al siguiente trabajo...\n";
    continue;
  }

  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

echo "Listo!\n";

function reverse_fn($job)
{
  return strrev($job->workload());
}

?>

Ejecutar el trabajador sin enviar trabajos genera una salida que es parecida a:

Empezando
Esperando trabajo...
Timeout. Esperando al siguiente trabajo...
Timeout. Esperando al siguiente trabajo...
Timeout. Esperando al siguiente trabajo...

Ver también

  • GearmanWorker::timeout() - Retorna el tiempo máximo de espera para actividad de entrada/salida del socket

GearmanWorker::setOptions
GearmanWorker::timeout
GearmanWorker


Retorna el tiempo máximo de espera para actividad de entrada/salida del socket

GearmanWorker::setTimeout
GearmanWorker::unregister
GearmanWorker
PHP Manual

GearmanWorker::timeout

(PECL gearman >= 0.6.0)

GearmanWorker::timeout — Retorna el tiempo máximo de espera para actividad de entrada/salida del socket

Descripción

public int GearmanWorker::timeout ( void )

Retorna el tiempo actual a esperar, en milisegundos, para actividad de entrada/salida del socket.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un período de tiempo en milisegundos. Un valor negativo indica un tiempo de espera infinito.

Ver también

  • GearmanWorker::setTimeout() - Establece un tiempo de espera máximo para actividad de entrada/salida del socket

GearmanWorker::setTimeout
GearmanWorker::unregister
GearmanWorker


Elimina el registro del nombre de una función en los servidores de trabajo

GearmanWorker::timeout
GearmanWorker::unregisterAll
GearmanWorker
PHP Manual

GearmanWorker::unregister

(PECL gearman >= 0.6.0)

GearmanWorker::unregister — Elimina el registro del nombre de una función en los servidores de trabajo

Descripción

public bool GearmanWorker::unregister ( string $function_name )

Elimina el registro del nombre de una función en los servidores de trabajo asegurando que no se envían (para esa función y ese trabajador) más trabajos.

Parámetros

function_name

El nombre de una función registrada en el servidor de trabajo

Valores devueltos

Un valor de retorno estándar de Gearman.

Ver también

  • GearmanWorker::register() - Registra una función en el servidor de trabajo
  • GearmanWorker::unregisterAll() - Elimina el registro de todas los nombres de funciones en los servidores de trabajo

GearmanWorker::timeout
GearmanWorker::unregisterAll
GearmanWorker


Elimina el registro de todas los nombres de funciones en los servidores de trabajo

GearmanWorker::unregister
GearmanWorker::wait
GearmanWorker
PHP Manual

GearmanWorker::unregisterAll

(PECL gearman >= 0.6.0)

GearmanWorker::unregisterAll — Elimina el registro de todas los nombres de funciones en los servidores de trabajo

Descripción

public bool GearmanWorker::unregisterAll ( void )

Elimina cualquier función que estuviese registrada con anterioridad, asegurando que que no se envían más trabajos a ese trabajador.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un valor de retorno estándar de Gearman.

Ver también

  • GearmanWorker::register() - Registra una función en el servidor de trabajo
  • GearmanWorker::unregister() - Elimina el registro del nombre de una función en los servidores de trabajo

GearmanWorker::unregister
GearmanWorker::wait
GearmanWorker


Espera cualquier actividad de uno de los servidores de trabajo

GearmanWorker::unregisterAll
GearmanWorker::work
GearmanWorker
PHP Manual

GearmanWorker::wait

(PECL gearman >= 0.6.0)

GearmanWorker::wait — Espera cualquier actividad de uno de los servidores de trabajo

Descripción

public bool GearmanWorker::wait ( void )

Provoca que el trabajador espere a cualquier actividad desde uno de los servidores de trabajo Gearman cuando trabaja en modo entrada/salida no bloqueante. En caso de fallo, envía un E_WARNING con el último error Gearman encontrado.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Running worker in non-blocking mode

<?php

echo "Inicializando\n";

# Crea el objeto trabajador
$worker= new GearmanWorker();

# Define el trabajador como no bloqueante
$worker->addOptions(GEARMAN_WORKER_NON_BLOCKING);

# Añade el servidor por defecto (localhost, puerto 4730)
$worker->addServer();

# Añade la función reverse
$worker->addFunction('reverse', 'reverse_fn');

# Intenta obtener un trabajo
while (@$worker->work() ||
       $worker->returnCode() == GEARMAN_IO_WAIT ||
       $worker->returnCode() == GEARMAN_NO_JOBS)
{
  if ($worker->returnCode() == GEARMAN_SUCCESS)
    continue;

  echo "Esperando al siguiente trabajo...\n";
  if (!@$worker->wait())
  {
    if ($worker->returnCode() == GEARMAN_NO_ACTIVE_FDS)
    {
      # No estamos conectados a ningún servidor, esperamos antes
      # de reconectar.
      sleep(5);
      continue;
    }
    break;
  }
}

echo "Error en el trabajador: " . $worker->error() . "\n";

function reverse_fn($job)
{
  return strrev($job->workload());
}

?>

Ver también

  • GearmanWorker::work() - Espera y realiza un trabajo

GearmanWorker::unregisterAll
GearmanWorker::work
GearmanWorker


Espera y realiza un trabajo

GearmanWorker::wait
GearmanException
GearmanWorker
PHP Manual

GearmanWorker::work

(PECL gearman >= 0.5.0)

GearmanWorker::work — Espera y realiza un trabajo

Descripción

public bool GearmanWorker::work ( void )

Espera a que se asigne un trabajo y llama a la función de retorno apropiada. Envía un E_WARNING con el último error Gearman si el resultado no es GEARMAN_SUCCESS, GEARMAN_IO_WAIT, o GEARMAN_WORK_FAIL.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 GearmanWorker::work() example

<?php

# Crea el trabajador
$worker = new GearmanWorker();

# Añade el servidor por defecto (localhost)
$worker->addServer();

# Añade la función "reverse"
$worker->addFunction("reverse", "my_reverse_function");

# Inicia el trabajador escuchando trabajos entrantes
while ($worker->work());

function my_reverse_function($job)
{
  return strrev($job->workload());
}

?>

Ver también

  • GearmanWorker::addFunction() - Registra y añade una función de retorno

GearmanWorker::wait
GearmanException
GearmanWorker


La clase GearmanException

(PECL gearman >= 0.5.0)

Introducción

Sinopsis de la Clase

GearmanException extends Exception {
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos */
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
GearmanWorker::work
Gopher
Gearman


Net Gopher

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Ejemplo Básico
  • Funciones de Gopher
    • gopher_parsedir — Traducir una entrada de directorios con formato gopher a un array asociativo
GearmanException
Introducción
Otros servicios


Introducción

El protocolo gopher, tal como está definido por » RFC 1436, es generalmente considerado el antecesor del protocolo HTTP moderno. Sin embargo, gopher también tenía por objeto proporcionar referencias a recursos que no eran de gopher, incluido telnet, wais, nntp, e incluso http. Esta extensión añade soporte para gopher support a las Envolturas URL de PHP, y proporciona la función de ayuda gopher_parsedir() para que las listas de directorio con formato gopher tengan sentido.

Gopher
Instalación/Configuración
Gopher


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Gopher


Instalación

Prerequisito: PHP 4.3.0 o superior.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/net_gopher

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Constantes de Net Gopher
Constante | Valor | Descripción
GOPHER_DOCUMENT | 0 | Documento text/plain estándar.
GOPHER_DIRECTORY | 1 | Un recurso que contiene una lista de directorios con formato gopher.
GOPHER_BINHEX | 4 | Un fichero binario codificado con BinHex.
GOPHER_DOSBINARY | 5 | Un fichero binario con formato DOS.
GOPHER_UUENCODED | 6 | Un fichero UUEncoded.
GOPHER_BINARY | 9 | Un fichero binario genérico.
GOPHER_INFO | 255 | Una entrada informativa
GOPHER_HTTP | 254 | Una referencia a un recurso HTTP.
GOPHER_UNKNOWN | -1 | Una entrada no reconocida.
Tipos de recursos
Ejemplos
Gopher


Ejemplos

Tabla de contenidos

  • Ejemplo Básico
Constantes predefinidas
Ejemplo Básico
Gopher


Ejemplo Básico

<?php
readfile("gopher://gopher.example.com/somedocument");
?>
Ejemplos
Funciones de Gopher
Ejemplos


Funciones de Gopher

Tabla de contenidos

  • gopher_parsedir — Traducir una entrada de directorios con formato gopher a un array asociativo
Ejemplo Básico
gopher_parsedir
Gopher


Traducir una entrada de directorios con formato gopher a un array asociativo

Funciones de Gopher
Gupnp
Funciones de Gopher
PHP Manual

gopher_parsedir

(PECL net_gopher >= 0.1)

gopher_parsedir — Traducir una entrada de directorios con formato gopher a un array asociativo

Descripción

array gopher_parsedir ( string $dirent )

gopher_parsedir() convierte una entrada de directorio con formato gopher en un array asociativo.

Aunque gopher devuelve documentos text/plain para peticiones de documentos reales, una petición a un directorio (como /) devolverá series de líneas especialmente codificadas, siendo cada línea una entrada de directorio o línea de información.

Parámetros

dirent

La entrada de directorio.

Valores devueltos

Devuelve un array asociativo cuyos componentes son:

  • type - Una de las constantes GOPHER_XXX.
  • title - El nombre del recurso.
  • path - La ruta del recurso.
  • host - El nombre de dominio del host que posee este documentot (o directorio).
  • port - El puerto al que conectarse en host.

En caso de fallo, la entrada adicional data del array devuelto contendrá la línea procesada.

Ejemplos

Ejemplo #1 Salida hipotéticoa de gopher://gopher.example.com/

0All about my gopher site.               /allabout.txt               gopher.example.com    70
9A picture of my cat.                    /pics/cat.png               gopher.example.com    70
1A collection of my writings.            /stories                    gopher.example.com    70
hThe HTTP version of this site.          URL:http://www.example.com  gopher.example.com    70
1Mirror of this site in Spain.           /                           gopher.ejemplo.co.es  70
iWelcome to my gopher site.                                          error.host            1
iPlease select one of the options above                              error.host            1
iSend complaints to /dev/null                                        error.host            1
iLong live gopher!                                                   error.host            1

En el ejemplo anterior, el directorio raíz en gopher.example.com está al tanto de un DOCUMENTO identificado por 0 ubicado en gopher://gopher.example.com:70/allabout.txt. También está al tanto de dos directorios (los cuales tienen sus propios ficheros listados) en gopher://gopher.exmaple.com:70/stories y en gopher://gopher.ejemplo.co.es:70/. Además existe un fichero binario, un enlace a una URL HTTP, y varias líneas informativas.

Al pasar cada línea de la lista de directorios a gopher_parsedir(), se forma un array asociativo que contiene una versión desglosada de la información.

Ejemplo #2 Utilizar gopher_parsedir()

<?php
$directorio = file("gopher://gopher.example.com");

foreach($directorio as $entrada) {
    print_r(gopher_parsedir($entrada));
}
?>

El resultado del ejemplo sería:

Array (
  [type] => 0
  [title] => All about my gopher site.
  [path] => /allabout.txt
  [host] => gopher.example.com
  [port] => 70
)
Array (
  [type] => 9
  [title] => A picture of my cat.
  [path] => /pics/cat.png
  [host] => gopher.example.com
  [port] => 70
)
Array (
  [type] => 1
  [title] => A collection of my writings.
  [path] => /stories
  [host] => gopher.example.com
  [port] => 70
)
Array (
  [type] => 254
  [title] => The HTTP version of this site.
  [path] => URL:http://www.example.com
  [host] => gopher.example.com
  [port] => 70
)
Array (
  [type] => 1
  [title] => Mirror of this site in Spain.
  [path] => /
  [host] => gopher.ejemplo.co.es
  [port] => 70
)
Array (
  [type] => 255
  [title] => Welcome to my gopher site.
  [path] =>
  [host] => error.host
  [port] => 1
)
Array (
  [type] => 255
  [title] => Please select one of the options above.
  [path] =>
  [host] => error.host
  [port] => 1
)
Array (
  [type] => 255
  [title] => Send complaints to /dev/null
  [path] =>
  [host] => error.host
  [port] => 1
)
Array (
  [type] => 255
  [title] => Long live gopher!
  [path] =>
  [host] => error.host
  [port] => 1
)

Funciones de Gopher
Gupnp
Funciones de Gopher


Gupnp

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Navegando por dispositivos y servicios
    • Implementando el dispositivo BinaryLight
  • Funciones de Gupnp
    • gupnp_context_get_host_ip — Obtiene la dirección IP
    • gupnp_context_get_port — Obtiene el puerto
    • gupnp_context_get_subscription_timeout — Obtiene el tiempo de espera de la suscripción de eventos
    • gupnp_context_host_path — Inicio de Alojamiento
    • gupnp_context_new — Crea un nuevo contexto
    • gupnp_context_set_subscription_timeout — Establece el timpo de espera del suscriptor de eventos
    • gupnp_context_timeout_add — Establece una función a ser llamada en intervalos regulares
    • gupnp_context_unhost_path — Detiene alojamiento
    • gupnp_control_point_browse_start — Comienza la navegación
    • gupnp_control_point_browse_stop — Detiene la navegación
    • gupnp_control_point_callback_set — Establece el punto de control callback
    • gupnp_control_point_new — Crea un nuevo punto de control
    • gupnp_device_action_callback_set — Establece una función callback a un dispositivo
    • gupnp_device_info_get_service — Obtiene el servicio con el tipo
    • gupnp_device_info_get — Obtiene información del dispositivo raíz
    • gupnp_root_device_get_available — Comprueba si un dispositivo raíz está disponible
    • gupnp_root_device_get_relative_location — Obtiene la ubicación relativa del dispositivo raíz
    • gupnp_root_device_new — Crea un nuevo dispositivo raíz
    • gupnp_root_device_set_available — Establece si un dispositivo raíz estará disponible o no
    • gupnp_root_device_start — Inicio el bucle principal
    • gupnp_root_device_stop — Detiene el bucle principal
    • gupnp_service_action_get — Recupera los argumentos de la acción especificada
    • gupnp_service_action_return_error — Devuelve el código de error
    • gupnp_service_action_return — Devuelve con éxito
    • gupnp_service_action_set — Establece el valor de retorno de una acción especificada
    • gupnp_service_freeze_notify — Congela las nuevas notificaciónes
    • gupnp_service_info_get_introspection — Obtiene el recurso de introspección de un servicio
    • gupnp_service_info_get — Obtiene toda la información del servicio
    • gupnp_service_introspection_get_state_variable — Devuelve el estado de la variable de datos
    • gupnp_service_notify — Lanza notificación a los clientes en escucha
    • gupnp_service_proxy_action_get — Envía la acción al servicio y obtiene el valor
    • gupnp_service_proxy_action_set — Envía la acción al servicio y establece el valor
    • gupnp_service_proxy_add_notify — Establece un callback de notificación de cambios en variables
    • gupnp_service_proxy_callback_set — Establece un callback de servicio proxy por señal
    • gupnp_service_proxy_get_subscribed — Check whether subscription is valid to the service
    • gupnp_service_proxy_remove_notify — Cancela la notificación de cambios de variable
    • gupnp_service_proxy_send_action — Envía la acción con múltiples parámetros de forma sincronizada
    • gupnp_service_proxy_set_subscribed — (De-)suscribe al servicio
    • gupnp_service_thaw_notify — Envía cualquier notificación pendiente y detiene la cola de espera de nuevas notificaciones
gopher_parsedir
Introducción
Otros servicios


Introducción

GUPnP es un framework de código abierto y orientado a objetos para la creación de dispositivos UPnP y puntos de control, escrito en C usando GObject y libsoup. Esta extensión envuelve a GUPnP y provee una API similar. Todas las fuentes y documentación adicional pueden ser obtenidas del » sitio oficial

Gupnp
Instalación/Configuración
Gupnp


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Gupnp


Requerimientos

Para poder utilizar las funciones PECL/Gupnp se necesita instalar la » librería gUPnP version 0.12.7 o superior. También se requiere glib-2.0, gssdp-1.0, libsoup-2.4 o superior para todos ellos.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/gupnp

Nota: Si ./configure está teniendo problemas para encontrar los archivos libgupnp (por ejemplo, si fue instalado en una ruta de directorio distinto), use ./configure --with-gupnp=$PREFIX, donde $PREFIX es la ruta de instalación de libgupnp.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

GUPNP_TYPE_BOOLEAN (integer)
GUPNP_TYPE_INT (integer)
GUPNP_TYPE_LONG (integer)
GUPNP_TYPE_DOUBLE (integer)
GUPNP_TYPE_FLOAT (integer)
GUPNP_TYPE_STRING (integer)
GUPNP_SIGNAL_DEVICE_PROXY_AVAILABLE (integer)
GUPNP_SIGNAL_DEVICE_PROXY_UNAVAILABLE (integer)
GUPNP_SIGNAL_SERVICE_PROXY_AVAILABLE (integer)
GUPNP_SIGNAL_SERVICE_PROXY_UNAVAILABLE (integer)
GUPNP_SIGNAL_ACTION_INVOKED (integer)
GUPNP_SIGNAL_NOTIFY_FAILED (integer)
GUPNP_SIGNAL_SUBSCRIPTION_LOST (integer)
GUPNP_CONTROL_ERROR_INVALID_ACTION (integer)
GUPNP_CONTROL_ERROR_INVALID_ARGS (integer)
GUPNP_CONTROL_ERROR_OUT_OF_SYNC (integer)
GUPNP_CONTROL_ERROR_ACTION_FAILED (integer)

Tipos de recursos
Ejemplos
Gupnp


Ejemplos

Tabla de contenidos

  • Navegando por dispositivos y servicios
  • Implementando el dispositivo BinaryLight
Constantes predefinidas
Navegando por dispositivos y servicios
Gupnp


Navegando por dispositivos y servicios

Este ejemplo muestra como obtener información acerca de todos los dispositivos y servicios. Esto inicia un bucle infinito (usando CLI), y si alguno de los dispositivos o servicios disponibles es hayado, la función callback correcta será invocada.

Ejemplo #1 Buscar toos los dispositivos y servicios UPnP.

<?php

/* Callback para dispositivo disponible */
function device_proxy_available_cb($proxy, $arg)
{
    $info = gupnp_device_info_get($proxy);

    $type = $info['device_type'];
    $location = $info['location'];

    printf("Dispositivo Disponible:\n");
    printf("\ttipo:     %s\n", $type);
    printf("\tubicación: %s\n", $location);
}

/* Callback para servicio disponible */
function service_proxy_available_cb($proxy, $arg)
{
    $info = gupnp_service_info_get($proxy);

    $type = $info['service_type'];
    $location = $info['location'];

    printf("Servicio Disponible:\n");
    printf("\ttipo:     %s\n", $type);
    printf("\tubicación: %s\n", $location);
}

/* Crear el contexto UPnP */
$context = gupnp_context_new();
if (!$context) {
    printf("Error creando el contexto GUPnP\n");
    exit(-1);
}

/* Estamos interesados en todo */
$cp = gupnp_control_point_new($context, "ssdp:all");

/* Carga callbacks */
gupnp_control_point_callback_set($cp,
    GUPNP_SIGNAL_DEVICE_PROXY_AVAILABLE, 'device_proxy_available_cb');
gupnp_control_point_callback_set($cp,
    GUPNP_SIGNAL_SERVICE_PROXY_AVAILABLE, 'service_proxy_available_cb');

/* Inicio para navegar (lazo infinito, Ctrl-C para interrumpir) */
gupnp_control_point_browse_start($cp);

?>

Ejemplos
Implementando el dispositivo BinaryLight
Ejemplos


Implementando el dispositivo BinaryLight

Este es un ejemplo de dispositivo/servicio, implementando el dispositivo BinaryLight y el servicio SwitchPower para emular un interruptor de luz.

La interfaz de usuario se ha simplificado con el fin de demostrar los conceptos y métodos básicos.

Ejemplo #1 Implementing light server

<?php

/* Establece Objetivo */
function set_target_cb($service, $action, $arg)
{
    /* Obtiene nuevo valor del objetivo */
    $target = gupnp_service_action_get($action, 'NewTargetValue', GUPNP_TYPE_BOOLEAN);

    /* Si el nuevo objetivo no coincide con el status actual, cambiar status y
       emitir una notificación de que el status ha cambiado. */
    if ($target != $GLOBALS['status']) {
        $GLOBALS['status'] = $target;
        gupnp_service_notify($service, 'Status', GUPNP_TYPE_BOOLEAN, $GLOBALS['status']);
        printf("La luz está ahora %s.\n", $GLOBALS['status'] ? "on" : "off");
    }

    /* Devuelve éxito al cliente */
    gupnp_service_action_return($action);
}

/* Obtiene Objetivo*/
function get_target_cb($service, $action, $arg)
{
    gupnp_service_action_set($action, 'RetTargetValue', GUPNP_TYPE_BOOLEAN, $GLOBALS['status']);
    gupnp_service_action_return($action);
}

/* Obtiene Status*/
function get_status_cb($service, $action, $arg)
{
    gupnp_service_action_set($action, 'ResultStatus', GUPNP_TYPE_BOOLEAN, $GLOBALS['status']);
    gupnp_service_action_return($action);
}

/* La luz está apagada de forma predeterminada */
$GLOBALS['status'] = false;
printf("La luz está ahora %s.\n", $GLOBALS['status'] ? "on" : "off");

/* Crea el contexto UPnP */
$context = gupnp_context_new();
if (!$context) {
    printf("Error creando el contexto GUPnP\n");
    exit(-1);
}

/* Hospeda el directorio que contiene los archivos de descripción de los dispositivos y servicios */
gupnp_context_host_path($context, "./web", "");

/* crea el dispositivo raíz */
$location = "/BinaryLight.xml";
$dev = gupnp_root_device_new($context, $location);
gupnp_root_device_set_available($dev, true);

/* Obtiene el servicio switch del dispositivo raíz */
$service_type = "urn:schemas-upnp-org:service:SwitchPower:1";
$service = gupnp_device_info_get_service($dev, $service_type);
if (!$service) {
    die("Cannot get SwitchPower1 service\n");
}

/* Set callback for action GetStatus */
gupnp_device_action_callback_set($service, GUPNP_SIGNAL_ACTION_INVOKED, "GetStatus",
    "get_status_cb", "action data, GetStatus");

/* Establece el callback para la acción GetTarget */
gupnp_device_action_callback_set($service, GUPNP_SIGNAL_ACTION_INVOKED, "GetTarget",
    "get_target_cb", "action data, GetTarget");

/* Establece el callback para la acción SetTarget */
gupnp_device_action_callback_set($service, GUPNP_SIGNAL_ACTION_INVOKED, "SetTarget",
    "set_target_cb", "action data, SetTarget");

/* Ejecuta el bucle principal */
gupnp_root_device_start($dev);

?>

Ejemplo #2 Implementando el cliente "luz"

<?php

function service_proxy_available_cb($proxy, $arg)
{
    $mode = $arg['mode'];

    printf("Set subscribed\n");
    gupnp_service_proxy_set_subscribed($proxy, true);

    /* Agrega una notificación si el status cambia */
    if (!gupnp_service_proxy_add_notify($proxy, "Status",
            GUPNP_TYPE_BOOLEAN, "status_changed_cb", NULL)) {
        printf("Falló agregando notificación\n");
    }

    if ($mode == 'TOGGLE') {
        /* estamos alternando, así que primero obtenemos el status actual */
        $target = gupnp_service_proxy_action_get($proxy, 'GetStatus', 'ResultStatus', GUPNP_TYPE_BOOLEAN);

        /* y entonces alternamos */
        $target = ! $target;
    } else {
        /* Mode es booleano, así que el objetivo es mode gracias a nuestra buena selección de valores numéricos. */
        $target = ($mode == 'ON') ? true : false;
    }

    /* Establece el objetivo */
    if (!gupnp_service_proxy_action_set($proxy, 'SetTarget', 'NewTargetValue', $target, GUPNP_TYPE_BOOLEAN)) {
        printf("No se puede establecer interruptor\n");
    } else {
        printf("Establece interruptor a %s.\n", $target ? "on" : "off");
    }

    /* Detiene navegador */
    gupnp_control_point_browse_stop($arg['cp']);
}

function status_changed_cb($variable, $value, $arg)
{
    printf("Status ha cambiado\n");
    printf("\tvariable: %s\n", $variable);
    printf("\tvalor: %s\n", (int)$value);
    printf("\n");
}

/* Verifica y descompone los argumentos de la línea de comandos */
if (count($argv) != 2) {
    printf("Use: light-client.php [on|off|toggle]\n");
    exit(-1);
}

if ($argv[1] == "on") {
    $mode = 'ON';
} elseif ($argv[1] == "off") {
    $mode = 'OFF';
} elseif ($argv[1] == "toggle") {
    $mode = 'TOGGLE';
} else {
    usage ();
    exit(-1);
}

/* Crea el contexto UPnP */
$context = gupnp_context_new();
if (!$context) {
    printf("Error creando el contexto GUPnP\n");
    exit(-1);
}

/* Crea el punto de control, buscando en los servicios SwitchPower */
$cp = gupnp_control_point_new ($context,
        "urn:schemas-upnp-org:service:SwitchPower:1");

/* Conecta al callback del servicio encontrado*/
$cb = "service_proxy_available_cb";
$arg = array('mode' => $mode, 'cp' => $cp);
gupnp_control_point_callback_set($cp, GUPNP_SIGNAL_SERVICE_PROXY_AVAILABLE, $cb, $arg);

/* Start for browsing */
gupnp_control_point_browse_start($cp);

?>

Navegando por dispositivos y servicios
Funciones de Gupnp
Ejemplos


Funciones de Gupnp

Tabla de contenidos

  • gupnp_context_get_host_ip — Obtiene la dirección IP
  • gupnp_context_get_port — Obtiene el puerto
  • gupnp_context_get_subscription_timeout — Obtiene el tiempo de espera de la suscripción de eventos
  • gupnp_context_host_path — Inicio de Alojamiento
  • gupnp_context_new — Crea un nuevo contexto
  • gupnp_context_set_subscription_timeout — Establece el timpo de espera del suscriptor de eventos
  • gupnp_context_timeout_add — Establece una función a ser llamada en intervalos regulares
  • gupnp_context_unhost_path — Detiene alojamiento
  • gupnp_control_point_browse_start — Comienza la navegación
  • gupnp_control_point_browse_stop — Detiene la navegación
  • gupnp_control_point_callback_set — Establece el punto de control callback
  • gupnp_control_point_new — Crea un nuevo punto de control
  • gupnp_device_action_callback_set — Establece una función callback a un dispositivo
  • gupnp_device_info_get_service — Obtiene el servicio con el tipo
  • gupnp_device_info_get — Obtiene información del dispositivo raíz
  • gupnp_root_device_get_available — Comprueba si un dispositivo raíz está disponible
  • gupnp_root_device_get_relative_location — Obtiene la ubicación relativa del dispositivo raíz
  • gupnp_root_device_new — Crea un nuevo dispositivo raíz
  • gupnp_root_device_set_available — Establece si un dispositivo raíz estará disponible o no
  • gupnp_root_device_start — Inicio el bucle principal
  • gupnp_root_device_stop — Detiene el bucle principal
  • gupnp_service_action_get — Recupera los argumentos de la acción especificada
  • gupnp_service_action_return_error — Devuelve el código de error
  • gupnp_service_action_return — Devuelve con éxito
  • gupnp_service_action_set — Establece el valor de retorno de una acción especificada
  • gupnp_service_freeze_notify — Congela las nuevas notificaciónes
  • gupnp_service_info_get_introspection — Obtiene el recurso de introspección de un servicio
  • gupnp_service_info_get — Obtiene toda la información del servicio
  • gupnp_service_introspection_get_state_variable — Devuelve el estado de la variable de datos
  • gupnp_service_notify — Lanza notificación a los clientes en escucha
  • gupnp_service_proxy_action_get — Envía la acción al servicio y obtiene el valor
  • gupnp_service_proxy_action_set — Envía la acción al servicio y establece el valor
  • gupnp_service_proxy_add_notify — Establece un callback de notificación de cambios en variables
  • gupnp_service_proxy_callback_set — Establece un callback de servicio proxy por señal
  • gupnp_service_proxy_get_subscribed — Check whether subscription is valid to the service
  • gupnp_service_proxy_remove_notify — Cancela la notificación de cambios de variable
  • gupnp_service_proxy_send_action — Envía la acción con múltiples parámetros de forma sincronizada
  • gupnp_service_proxy_set_subscribed — (De-)suscribe al servicio
  • gupnp_service_thaw_notify — Envía cualquier notificación pendiente y detiene la cola de espera de nuevas notificaciones
Implementando el dispositivo BinaryLight
gupnp_context_get_host_ip
Gupnp


Obtiene la dirección IP

Funciones de Gupnp
gupnp_context_get_port
Funciones de Gupnp
PHP Manual

gupnp_context_get_host_ip

(PECL gupnp >= 0.1.0)

gupnp_context_get_host_ip — Obtiene la dirección IP

Descripción

string gupnp_context_get_host_ip ( resource $context )

Obtiene la dirección IP que estamos usando.

Parámetros

context

Un identificador de contexto, devuelto por gupnp_context_new().

Valores devueltos

Devuelve la dirección IP del contexto actual o FALSE en caso de error.

Ejemplos

Ejemplo #1 Crea un nuevo contexto UPnP y obtiene la dirección IP de la máquina

<?php

/* Crea un contexto  */
$context = gupnp_context_new();

if (!$context) {
 die("Error creando contexto GUPnP\n");
}

/* Obtiene la dirección IP del contexto UPnP */
$ip = gupnp_context_get_host_ip($context);
echo $ip;

?>

Ver también

  • gupnp_context_new() - Crea un nuevo contexto
  • gupnp_context_get_port() - Obtiene el puerto

Funciones de Gupnp
gupnp_context_get_port
Funciones de Gupnp


Obtiene el puerto

gupnp_context_get_host_ip
gupnp_context_get_subscription_timeout
Funciones de Gupnp
PHP Manual

gupnp_context_get_port

(PECL gupnp >= 0.1.0)

gupnp_context_get_port — Obtiene el puerto

Descripción

int gupnp_context_get_port ( resource $context )

Obtiene el puerto del servidor SOAP que se está ejecutando.

Parámetros

context

Un identificador de contexto, devuelto por gupnp_context_new().

Valores devueltos

Devuelve el número de puerto para el contexto actual o FALSE n .

Ejemplos

Ejemplo #1 Crea un nuevo contexto UPnP and obtiene el número de puerto

<?php

/* crea el contexto UPnP */
$context = gupnp_context_new();

if (!$context) {
 die("Error creando el contexto GUPnP \n");
}

/* Obtiene el número de puerto del contexto UPnP */
$port = gupnp_context_get_port($context);
echo $port;

?>

Ver también

  • gupnp_context_new() - Crea un nuevo contexto
  • gupnp_context_get_host_ip() - Obtiene la dirección IP

gupnp_context_get_host_ip
gupnp_context_get_subscription_timeout
Funciones de Gupnp


Obtiene el tiempo de espera de la suscripción de eventos

gupnp_context_get_port
gupnp_context_host_path
Funciones de Gupnp
PHP Manual

gupnp_context_get_subscription_timeout

(PECL gupnp >= 0.1.0)

gupnp_context_get_subscription_timeout — Obtiene el tiempo de espera de la suscripción de eventos

Descripción

int gupnp_context_get_subscription_timeout ( resource $context )

Obtiene el tiempo de espera de la suscripción de eventos (en segundos), o 0 refiriénsose a que no hay tiempo de espera.

Parámetros

context

Un identificador de contexto, devuelto por gupnp_context_new().

Valores devueltos

El tiempo de espera del suscriptor de eventos en segundos.

Ver también

  • gupnp_context_new() - Crea un nuevo contexto
  • gupnp_context_set_subscription_timeout() - Establece el timpo de espera del suscriptor de eventos

gupnp_context_get_port
gupnp_context_host_path
Funciones de Gupnp


Inicio de Alojamiento

gupnp_context_get_subscription_timeout
gupnp_context_new
Funciones de Gupnp
PHP Manual

gupnp_context_host_path

(PECL gupnp >= 0.1.0)

gupnp_context_host_path — Inicio de Alojamiento

Descripción

bool gupnp_context_host_path ( resource $context , string $local_path , string $server_path )

Inicia el alojamiento de local_path a server_path. Archivos con la ruta local_path.LOCALE (en caso de existir) serán servidos cuando LOCALE sea indicado en la cabecera Accept-Language.

Parámetros

context

Un identificador de contexto, devuelto por gupnp_context_new().

local_path

Ruta al archivo o o directorio local a ser alojado.

server_path

Ruta del servidor Web donde local_path será alojado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Crea un nuevo contexto UPnP y establece la ruta de alojamiento

<?php

/* Crea un nuevo contexto UPnP */
$context = gupnp_context_new();

if (!$context) {
 die("Error creando el contexto GUPnP\n");
}

/* Alojar directorio actual */
gupnp_context_host_path($context, "./web", "");

?>

Ver también

  • gupnp_context_new() - Crea un nuevo contexto
  • gupnp_context_unhost_path() - Detiene alojamiento

gupnp_context_get_subscription_timeout
gupnp_context_new
Funciones de Gupnp


Crea un nuevo contexto

gupnp_context_host_path
gupnp_context_set_subscription_timeout
Funciones de Gupnp
PHP Manual

gupnp_context_new

(PECL gupnp >= 0.1.0)

gupnp_context_new — Crea un nuevo contexto

Descripción

resource gupnp_context_new ([ string $host_ip [, int $port = 0 ]] )

Crea un nuevo contexto con la ip y puerto específicado.

Parámetros

host_ip

La dirección IP local, o NULL para usar la dirección IP de la primera interfaz de red sin loopback.

port

Puerto a utilizar, o 0 si usted no le importa definir un puerto.

Valores devueltos

Un identificador de contexto.

Ejemplos

Ejemplo #1 Crea un nuevo contexto UPnP

<?php

/* Crea un nuevo contexto UPnP */
$context = gupnp_context_new();

if (!$context) {
 die("Error creando el contexto GUPnP \n");
}

?>

Errores/Excepciones

Lanza un E_WARNING cuando es incapaz de crear un contexto.

gupnp_context_host_path
gupnp_context_set_subscription_timeout
Funciones de Gupnp


Establece el timpo de espera del suscriptor de eventos

gupnp_context_new
gupnp_context_timeout_add
Funciones de Gupnp
PHP Manual

gupnp_context_set_subscription_timeout

(PECL gupnp >= 0.1.0)

gupnp_context_set_subscription_timeout — Establece el timpo de espera del suscriptor de eventos

Descripción

void gupnp_context_set_subscription_timeout ( resource $context , int $timeout )

Establece el tiempo de espera del suscriptor de eventos (en segundos). Note que cualquier suscripción del lado del cliente será renovada automáticamente.

Parámetros

context

Un identificador de contexto, devuelto por gupnp_context_new().

timeout

El tiempo de espera del suscriptor de eventos en segundos. Use 0 si usted no desea establecer un tiempo de espera a las suscripciones.

Valores devueltos

No devuelve ningún valor.

Ver también

  • gupnp_context_new() - Crea un nuevo contexto
  • gupnp_context_get_subscription_timeout() - Obtiene el tiempo de espera de la suscripción de eventos

gupnp_context_new
gupnp_context_timeout_add
Funciones de Gupnp


Establece una función a ser llamada en intervalos regulares

gupnp_context_set_subscription_timeout
gupnp_context_unhost_path
Funciones de Gupnp
PHP Manual

gupnp_context_timeout_add

(PECL gupnp >= 0.1.0)

gupnp_context_timeout_add — Establece una función a ser llamada en intervalos regulares

Descripción

bool gupnp_context_timeout_add ( resource $context , int $timeout , mixed $callback [, mixed $arg ] )

Establece una función a ser llamada en intervalos regulares.

Parámetros

context

un identificador de contexto, devuelto por gupnp_context_new().

timeout

Un tiempo de espera en milisegundos.

callback

La función callback que será lamada cada timeout período de tiempo. Típicamente, la función callback toma arg como parámetro.

arg

Dato de usuario para callback.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Crea un nuevo contexto UPnP y establece un callback

<?php

$user_data = "user data";

function timeout_cb($arg)
{
    printf("Call timeout_cb, user data: '%s'", $arg);
    return true;
}

/* Crea el contexto UPnP */
$context = gupnp_context_new();

if (!$context) {
 die("Error creando el contexto GUPnP\n");
}

/* Crea el dispositivo raíz */
$dev = gupnp_root_device_new($context, "/devicedesc.xml");

/* Establece el tiempo de espera del callback */
gupnp_context_timeout_add($context, 5000, "timeout_cb", $user_data);

/* Ejecuta el bucle principal */
gupnp_root_device_start($dev);

?>

Errores/Excepciones

Lanza un E_WARNING cuando la función callback es inválida.

Ver también

  • gupnp_context_new() - Crea un nuevo contexto

gupnp_context_set_subscription_timeout
gupnp_context_unhost_path
Funciones de Gupnp


Detiene alojamiento

gupnp_context_timeout_add
gupnp_control_point_browse_start
Funciones de Gupnp
PHP Manual

gupnp_context_unhost_path

(PECL gupnp >= 0.1.0)

gupnp_context_unhost_path — Detiene alojamiento

Descripción

bool gupnp_context_unhost_path ( resource $context , string $server_path )

Deja de alojar el archivo o directorio en server_path.

Parámetros

context

Un identificador de contexto, devuelto por gupnp_context_new().

server_path

Ruta del servidor Web donde el archivo o diretorio está alojado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • gupnp_context_new() - Crea un nuevo contexto
  • gupnp_context_host_path() - Inicio de Alojamiento

gupnp_context_timeout_add
gupnp_control_point_browse_start
Funciones de Gupnp


Comienza la navegación

gupnp_context_unhost_path
gupnp_control_point_browse_stop
Funciones de Gupnp
PHP Manual

gupnp_control_point_browse_start

(PECL gupnp >= 0.1.0)

gupnp_control_point_browse_start — Comienza la navegación

Descripción

bool gupnp_control_point_browse_start ( resource $cpoint )

Inicia la búsqueda y ejecución de los callback definidos por el usuario.

Parámetros

cpoint

Un identificador de punto de control, devuelto por gupnp_control_point_new().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Crea un nuevo contexto UPnP y comienza a navegar

<?php

function device_proxy_available_cb($proxy, $arg)
{
    $info = gupnp_device_info_get($proxy);

    $type = $info['device_type'];
    $location = $info['location'];

    printf("Dispositivo Disponible:\n");
    printf("tipo:     %s\n", $type);
    printf("ubicación: %s\n", $location);
}

/* Crea un contexto UPnP */
$context = gupnp_context_new();

if (!$context) {
 die("Error creando el contexto GUPnP\n");
}

/* Estamos interesados en todo */
$cp = gupnp_control_point_new($context, "ssdp:all");

gupnp_control_point_callback_set($cp,
    GUPNP_SIGNAL_DEVICE_PROXY_AVAILABLE, 'device_proxy_available_cb');

/* Comienza a navegar */
gupnp_control_point_browse_start($cp);

?>

Ver también

  • gupnp_control_point_new() - Crea un nuevo punto de control
  • gupnp_control_point_browse_stop() - Detiene la navegación

gupnp_context_unhost_path
gupnp_control_point_browse_stop
Funciones de Gupnp


Detiene la navegación

gupnp_control_point_browse_start
gupnp_control_point_callback_set
Funciones de Gupnp
PHP Manual

gupnp_control_point_browse_stop

(PECL gupnp >= 0.1.0)

gupnp_control_point_browse_stop — Detiene la navegación

Descripción

bool gupnp_control_point_browse_stop ( resource $cpoint )

Detiene la búsqueda y ejecución de los callback definidos por el usuario.

Parámetros

cpoint

Un identificador de punto de control, devuelto por gupnp_control_point_new().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • gupnp_control_point_new() - Crea un nuevo punto de control
  • gupnp_control_point_browse_start() - Comienza la navegación

gupnp_control_point_browse_start
gupnp_control_point_callback_set
Funciones de Gupnp


Establece el punto de control callback

gupnp_control_point_browse_stop
gupnp_control_point_new
Funciones de Gupnp
PHP Manual

gupnp_control_point_callback_set

(PECL gupnp >= 0.1.0)

gupnp_control_point_callback_set — Establece el punto de control callback

Descripción

bool gupnp_control_point_callback_set ( resource $cpoint , int $signal , mixed $callback [, mixed $arg ] )

Establece el punto de control de la función callback por cada señal.

Parámetros

cpoint

Un identificador de punto de control, devuelto por gupnp_control_point_new().

signal

El valor de la señal. La señal puede ser uno de los siguientes valores:

GUPNP_SIGNAL_DEVICE_PROXY_AVAILABLE
Emitido siempre que un nuevo dispositivo esté disponible.
GUPNP_SIGNAL_DEVICE_PROXY_UNAVAILABLE
Emitido siempre que un dispositivo ha dejado de estar disponible.
GUPNP_SIGNAL_SERVICE_PROXY_AVAILABLE
Emitido siempre que un nuevo servicio esté disponible.
GUPNP_SIGNAL_SERVICE_PROXY_UNAVAILABLE
Emitido siempre que un servicio ha dejado de estar disponible.

callback

La función callback para cierta señal. Típicamente, la función calback carga dos parámetros. El primero es el de identificador del proxy y el segundo es el arg.

arg

Dato de usuario para el callback.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Crea un nuevo contexto UPnP e inicia el navegador

<?php

function device_proxy_available_cb($proxy, $arg)
{
    $info = gupnp_device_info_get($proxy);

    $type = $info['device_type'];
    $location = $info['location'];

    printf("Dispositivo Disponible:\n");
    printf("tipo:     %s\n", $type);
    printf("ubicación: %s\n", $location);
}

/* Crea un contexto UPnP */
$context = gupnp_context_new();

if (!$context) {
 die("error creando el contexto GUPnP\n");
}

/* Estamos interesados en todo */
$cp = gupnp_control_point_new($context, "ssdp:all");

gupnp_control_point_callback_set($cp,
    GUPNP_SIGNAL_DEVICE_PROXY_AVAILABLE, 'device_proxy_available_cb');

/* Empieza a navegar */
gupnp_control_point_browse_start($cp);

?>

Errores/Excepciones

Lanza un E_WARNING cuando la función callback es inválida.

Ver también

  • gupnp_control_point_new() - Crea un nuevo punto de control
  • gupnp_control_point_browse_start() - Comienza la navegación

gupnp_control_point_browse_stop
gupnp_control_point_new
Funciones de Gupnp


Crea un nuevo punto de control

gupnp_control_point_callback_set
gupnp_device_action_callback_set
Funciones de Gupnp
PHP Manual

gupnp_control_point_new

(PECL gupnp >= 0.1.0)

gupnp_control_point_new — Crea un nuevo punto de control

Descripción

resource gupnp_control_point_new ( resource $context , string $target )

Crea un nuevo punto de control con un objetivo especificado.

Parámetros

context

Un identificador de contexto, devuelto por gupnp_context_new().

target

La búsqueda del objetivo. target debería ser un servicio o el nombre de un dispositivo, así como urn:schemas-upnp-org:service:WANIPConnection:1 o urn:schemas-upnp-org:device:MediaRenderer:1.

Valores devueltos

Un identificador de punto de control.

gupnp_control_point_callback_set
gupnp_device_action_callback_set
Funciones de Gupnp


Establece una función callback a un dispositivo

gupnp_control_point_new
gupnp_device_info_get_service
Funciones de Gupnp
PHP Manual

gupnp_device_action_callback_set

(PECL gupnp >= 0.1.0)

gupnp_device_action_callback_set — Establece una función callback a un dispositivo

Descripción

bool gupnp_device_action_callback_set ( resource $root_device , int $signal , string $action_name , mixed $callback [, mixed $arg ] )

Establece una función callback para una señal y acción.

Parámetros

root_device

Un identificador de dispositivo raíz, devuelto por gupnp_root_device_new().

signal

El valor de la señal. La señal puede ser uno de los siguientes valores:

GUPNP_SIGNAL_ACTION_INVOKED
Emitida siempre que una acción es invoada. El manejador debería procesar la acción y debe llamar a cualquier gupnp_service_action_return() o gupnp_service_action_return_error().
GUPNP_SIGNAL_NOTIFY_FAILED
Emitida siempre que una notificación de un cliente falla.

action_name

El nombre de la acción.

callback

La función callback para determinada señal. Típicamente, la función callback toma tres parámetros. Siendo el primer parámetro el identificador service, el segundo parámetro puede ser el identificador de action (en caso de una señal GUPNP_SIGNAL_ACTION_INVOKED) o el mensaje error (en caso de una señal GUPNP_SIGNAL_NOTIFY_FAILED), y el tercer parámetro es arg.

arg

Datos de usuario para el callback.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza un E_WARNING tanto con una función callback inválida como con una señal inválida.

Ver también

  • gupnp_root_device_new() - Crea un nuevo dispositivo raíz

gupnp_control_point_new
gupnp_device_info_get_service
Funciones de Gupnp


Obtiene el servicio con el tipo

gupnp_device_action_callback_set
gupnp_device_info_get
Funciones de Gupnp
PHP Manual

gupnp_device_info_get_service

(PECL gupnp >= 0.1.0)

gupnp_device_info_get_service — Obtiene el servicio con el tipo

Descripción

resource gupnp_device_info_get_service ( resource $root_device , string $type )

Obtiene el servicio con el tipo o false si no condigue el dispositivo.

Parámetros

root_device

Un identificador de dispositivo raíz, devuelto por gupnp_root_device_new().

type

El tipo de sericio a ser recibido.

Valores devueltos

Un identificador de servicio.

Ejemplos

Ejemplo #1 Crea un nuevo contexto UPnP y obtiene la información de servicio del dispositivo

<?php

/* Crea el contexto UPnP */
$context = gupnp_context_new();

if (!$context) {
 die("Error creando el contexto GUPnP\n");
}

/* Crea el dispositivo raíz */
$location = "/BinaryLight1.xml";
$dev = gupnp_root_device_new($context, $location);

/* Establece el dispositivo raíz si está disponible */
gupnp_root_device_set_available($dev, true);

/* Obtiene el servicio de interruptor del dispositivo raíz*/
$service_type = "urn:schemas-upnp-org:service:SwitchPower:1";
$service = gupnp_device_info_get_service($dev, $service_type);
if (!$service) {
    die("No puede obtener el servicio SwitchPower1\n");
}

?>

gupnp_device_action_callback_set
gupnp_device_info_get
Funciones de Gupnp


Obtiene información del dispositivo raíz

gupnp_device_info_get_service
gupnp_root_device_get_available
Funciones de Gupnp
PHP Manual

gupnp_device_info_get

(PECL gupnp >= 0.1.0)

gupnp_device_info_get — Obtiene información del dispositivo raíz

Descripción

array gupnp_device_info_get ( resource $root_device )

Obtiene información del dispositivo raíz.

Parámetros

root_device

Un identificador de dispositivo raíz, devuelto por gupnp_root_device_new().

Valores devueltos

Devuelve un array conteniendo la información del dispositivo raíz (como la ubicación, url, udn, etc).

gupnp_device_info_get_service
gupnp_root_device_get_available
Funciones de Gupnp


Comprueba si un dispositivo raíz está disponible

gupnp_device_info_get
gupnp_root_device_get_relative_location
Funciones de Gupnp
PHP Manual

gupnp_root_device_get_available

(PECL gupnp >= 0.1.0)

gupnp_root_device_get_available — Comprueba si un dispositivo raíz está disponible

Descripción

bool gupnp_root_device_get_available ( resource $root_device )

Obtiene si está disponible o no root_device (anunciando su presencia).

Parámetros

root_device

Un identificador de dispositivo raíz, devuelto por gupnp_root_device_new().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • gupnp_root_device_set_available() - Establece si un dispositivo raíz estará disponible o no

gupnp_device_info_get
gupnp_root_device_get_relative_location
Funciones de Gupnp


Obtiene la ubicación relativa del dispositivo raíz

gupnp_root_device_get_available
gupnp_root_device_new
Funciones de Gupnp
PHP Manual

gupnp_root_device_get_relative_location

(PECL gupnp >= 0.1.0)

gupnp_root_device_get_relative_location — Obtiene la ubicación relativa del dispositivo raíz

Descripción

string gupnp_root_device_get_relative_location ( resource $root_device )

Obtiene la ubicación relativa del dispositivo raíz.

Parámetros

root_device

Un identificador de dispositivo raíz, devuelto por gupnp_root_device_new().

Valores devueltos

La ubicación relativa del dispositivo raíz

gupnp_root_device_get_available
gupnp_root_device_new
Funciones de Gupnp


Crea un nuevo dispositivo raíz

gupnp_root_device_get_relative_location
gupnp_root_device_set_available
Funciones de Gupnp
PHP Manual

gupnp_root_device_new

(PECL gupnp >= 0.1.0)

gupnp_root_device_new — Crea un nuevo dispositivo raíz

Descripción

resource gupnp_root_device_new ( resource $context , string $location , string $description_dir )

Crea un nuevo dispositivo raíz, descargando y analizando automáticamente de su ubicación.

Parámetros

context

Un identificador de contexto, devuelto por gupnp_context_new().

location

Ubicación del archivo de descripción para este dispositivo, relativo a la raíz HTTP.

Valores devueltos

Un identificador de dispositivo raíz.

Ejemplos

Ejemplo #1 Crea un nuevo contexto UPnP y obtiene información del servicio

<?php

/* Crea el contexto UPnP */
$context = gupnp_context_new();

if (!$context) {
 die("Error creando el contexto GUPnP\n");
}

/* Crea el dispositivo raíz */
$location = "/BinaryLight1.xml";
$dev = gupnp_root_device_new($context, $location);

?>

Ver también

  • gupnp_root_device_set_available() - Establece si un dispositivo raíz estará disponible o no
  • gupnp_root_device_start() - Inicio el bucle principal
  • gupnp_root_device_stop() - Detiene el bucle principal

gupnp_root_device_get_relative_location
gupnp_root_device_set_available
Funciones de Gupnp


Establece si un dispositivo raíz estará disponible o no

gupnp_root_device_new
gupnp_root_device_start
Funciones de Gupnp
PHP Manual

gupnp_root_device_set_available

(PECL gupnp >= 0.1.0)

gupnp_root_device_set_available — Establece si un dispositivo raíz estará disponible o no

Descripción

bool gupnp_root_device_set_available ( resource $root_device , bool $available )

Controla si un dispositivo raíz estará diponible o no (anunciando su presencia).

Parámetros

root_device

Un identificador de dispositivo raíz, devuelto por gupnp_root_device_new().

available

Establece TRUE si root_device estará disponible.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • gupnp_root_device_get_available() - Comprueba si un dispositivo raíz está disponible

gupnp_root_device_new
gupnp_root_device_start
Funciones de Gupnp


Inicio el bucle principal

gupnp_root_device_set_available
gupnp_root_device_stop
Funciones de Gupnp
PHP Manual

gupnp_root_device_start

(PECL gupnp >= 0.1.0)

gupnp_root_device_start — Inicio el bucle principal

Descripción

bool gupnp_root_device_start ( resource $root_device )

Inicia el bucle principal en el servidor raíz.

Parámetros

root_device

Un identificadorde servicio raíz, devuelto por gupnp_root_device_new().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • gupnp_root_device_stop() - Detiene el bucle principal

gupnp_root_device_set_available
gupnp_root_device_stop
Funciones de Gupnp


Detiene el bucle principal

gupnp_root_device_start
gupnp_service_action_get
Funciones de Gupnp
PHP Manual

gupnp_root_device_stop

(PECL gupnp >= 0.1.0)

gupnp_root_device_stop — Detiene el bucle principal

Descripción

bool gupnp_root_device_stop ( resource $root_device )

Detiene el bucle principal en el servidor raíz.

Parámetros

root_device

Un identificadorde servicio raíz, devuelto por gupnp_root_device_new().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • gupnp_root_device_start() - Inicio el bucle principal

gupnp_root_device_start
gupnp_service_action_get
Funciones de Gupnp


Recupera los argumentos de la acción especificada

gupnp_root_device_stop
gupnp_service_action_return_error
Funciones de Gupnp
PHP Manual

gupnp_service_action_get

(PECL gupnp >= 0.1.0)

gupnp_service_action_get — Recupera los argumentos de la acción especificada

Descripción

mixed gupnp_service_action_get ( resource $action , string $name , int $type )

Recupera los argumentos de la acción especificada.

Parámetros

action

Un identificador de acción de servicio.

name

El nombre de la variable a recibir.

type

El tipo de variable a recibir. El tipo puede ser uno de los siguientes valores:

GUPNP_TYPE_BOOLEAN
Este tipo de variable es boolean.
GUPNP_TYPE_INT
Este tipo de variable es integer.
GUPNP_TYPE_LONG
Este tipo de variable es long.
GUPNP_TYPE_DOUBLE
Este tipo de variable es double.
GUPNP_TYPE_FLOAT
Este tipo de variable es float.
GUPNP_TYPE_STRING
Este tipo de variable es string.

Valores devueltos

El valor de la variable.

Errores/Excepciones

Lanza un E_WARNING cuando no está correctamente definido el tipo de variable.

Ver también

  • gupnp_service_action_set() - Establece el valor de retorno de una acción especificada

gupnp_root_device_stop
gupnp_service_action_return_error
Funciones de Gupnp


Devuelve el código de error

gupnp_service_action_get
gupnp_service_action_return
Funciones de Gupnp
PHP Manual

gupnp_service_action_return_error

(PECL gupnp >= 0.1.0)

gupnp_service_action_return_error — Devuelve el código de error

Descripción

bool gupnp_service_action_return_error ( resource $action , int $error_code [, string $error_description ] )

Devuelve el código de error.

Parámetros

action

Un identificador de acción de servicio.

error_code

El código de error. La señal puede ser uno de las siguientes valores o ser definido por el usuario:

GUPNP_CONTROL_ERROR_INVALID_ACTION
El nombre de acción es inválido.
GUPNP_CONTROL_ERROR_INVALID_ARGS
Los argumentos de acción fueron inválidos.
GUPNP_CONTROL_ERROR_OUT_OF_SYNC
Fuera de sincronización (obsoleto).
GUPNP_CONTROL_ERROR_ACTION_FAILED
La acción ha fallado.

error_description

La descripción del error.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • gupnp_service_action_return() - Devuelve con éxito

gupnp_service_action_get
gupnp_service_action_return
Funciones de Gupnp


Devuelve con éxito

gupnp_service_action_return_error
gupnp_service_action_set
Funciones de Gupnp
PHP Manual

gupnp_service_action_return

(PECL gupnp >= 0.1.0)

gupnp_service_action_return — Devuelve con éxito

Descripción

bool gupnp_service_action_return ( resource $action )

Devuelve con éxito.

Parámetros

action

Un identificador de acción de servicio.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • gupnp_service_action_return_error() - Devuelve el código de error

gupnp_service_action_return_error
gupnp_service_action_set
Funciones de Gupnp


Establece el valor de retorno de una acción especificada

gupnp_service_action_return
gupnp_service_freeze_notify
Funciones de Gupnp
PHP Manual

gupnp_service_action_set

(PECL gupnp >= 0.1.0)

gupnp_service_action_set — Establece el valor de retorno de una acción especificada

Descripción

bool gupnp_service_action_set ( resource $action , string $name , int $type , mixed $value )

Establece el valor de retorno de una acción especificada.

Parámetros

action

Un identificador de acción de servicioE.

name

ñ nombre de la variable recibida.

type

El tipo de la variable recibida. El tipo pude ser uno de los siguientes valores:

GUPNP_TYPE_BOOLEAN
Este tipo de variable es boolean.
GUPNP_TYPE_INT
Este tipo de variable es integer.
GUPNP_TYPE_LONG
Este tipo de variable es long.
GUPNP_TYPE_DOUBLE
Este tipo de variable es double.
GUPNP_TYPE_FLOAT
Type of the variable is float.
GUPNP_TYPE_STRING
Este tipo de variable es string.

value

El valor de la variable a recibir.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza un E_WARNING si no está definido correctamente el tipo de variable o el valor no corresponde al tipo de variable definida.

Ver también

  • gupnp_service_action_get() - Recupera los argumentos de la acción especificada

gupnp_service_action_return
gupnp_service_freeze_notify
Funciones de Gupnp


Congela las nuevas notificaciónes

gupnp_service_action_set
gupnp_service_info_get_introspection
Funciones de Gupnp
PHP Manual

gupnp_service_freeze_notify

(PECL gupnp >= 0.1.0)

gupnp_service_freeze_notify — Congela las nuevas notificaciónes

Descripción

bool gupnp_service_freeze_notify ( resource $service )

Hace que las nuevas notificaciones sean puestas en cola hasta que gupnp_service_thaw_notify() sea llamado.

Parámetros

service

Un identificador de servicio.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • gupnp_service_notify() - Lanza notificación a los clientes en escucha
  • gupnp_service_thaw_notify() - Envía cualquier notificación pendiente y detiene la cola de espera de nuevas notificaciones

gupnp_service_action_set
gupnp_service_info_get_introspection
Funciones de Gupnp


Obtiene el recurso de introspección de un servicio

gupnp_service_freeze_notify
gupnp_service_info_get
Funciones de Gupnp
PHP Manual

gupnp_service_info_get_introspection

(PECL gupnp >= 0.1.0)

gupnp_service_info_get_introspection — Obtiene el recurso de introspección de un servicio

Descripción

mixed gupnp_service_info_get_introspection ( resource $proxy [, mixed $callback [, mixed $arg ]] )

Obtiene el recurso de introspección de un servicio o registra un callback si el parámetro correspondiente fue pasado.

Parámetros

proxy

Un identificador de servicio proxy.

callback

La función callback a ser llamada cuando el objeto de introspección está listo. Típicamente, la función callback toma tres parámetros. Siendo el primer parámetro el identificador introspection, El segundo parámetro es el mensaje de error, y el tercero el arg.

arg

Datos de usuario para el callback.

Valores devueltos

Devuelve true si la función callback fue definida. Devuelve el identificador de introspección si la función callback fue omitida.

Errores/Excepciones

Lanza un E_WARNING con una función callback inválida.

gupnp_service_freeze_notify
gupnp_service_info_get
Funciones de Gupnp


Obtiene toda la información del servicio

gupnp_service_info_get_introspection
gupnp_service_introspection_get_state_variable
Funciones de Gupnp
PHP Manual

gupnp_service_info_get

(PECL gupnp >= 0.1.0)

gupnp_service_info_get — Obtiene toda la información del servicio

Descripción

array gupnp_service_info_get ( resource $proxy )

Obtiene toda la información del servicio.

Parámetros

proxy

Un identificador de servicio proxy.

Valores devueltos

Devuelve un array conteniendo toda la información del servicio (como la ubicación, url, udn, etc).

gupnp_service_info_get_introspection
gupnp_service_introspection_get_state_variable
Funciones de Gupnp


Devuelve el estado de la variable de datos

gupnp_service_info_get
gupnp_service_notify
Funciones de Gupnp
PHP Manual

gupnp_service_introspection_get_state_variable

(PECL gupnp >= 0.1.0)

gupnp_service_introspection_get_state_variable — Devuelve el estado de la variable de datos

Descripción

array gupnp_service_introspection_get_state_variable ( resource $introspection , string $variable_name )

Devuelve el estado de la variable de datos por el nombre variable_name en este servicio.

Parámetros

introspection

In identificador de introspección.

variable_name

El nombre de la variable a ser recibida.

Valores devueltos

Devuelve el estado de la variable de datos o FALSE.

gupnp_service_info_get
gupnp_service_notify
Funciones de Gupnp


Lanza notificación a los clientes en escucha

gupnp_service_introspection_get_state_variable
gupnp_service_proxy_action_get
Funciones de Gupnp
PHP Manual

gupnp_service_notify

(PECL gupnp >= 0.1.0)

gupnp_service_notify — Lanza notificación a los clientes en escucha

Descripción

bool gupnp_service_notify ( resource $service , string $name , int $type , mixed $value )

Notifica a los clientes en escucha que la propiedad ha cambiado a un valor específico.

Parámetros

service

Un identificador de servicio.

name

El nombre de la variable.

type

El tipo de variable. El tipo puede ser uno de los siguientes valores:

GUPNP_TYPE_BOOLEAN
Este tipo de variables es boolean.
GUPNP_TYPE_INT
Este tipo de variable es integer.
GUPNP_TYPE_LONG
este tipo de variables es long.
GUPNP_TYPE_DOUBLE
Este tipo de variable es double.
GUPNP_TYPE_FLOAT
Este tipo de variable es float.
GUPNP_TYPE_STRING
Este tipo de variable es string.

value

El valor de la variable.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza un E_WARNING tanto si el tipo de variable no está correctamente definido o el valor no corresponde al tipo definido.

Ver también

  • gupnp_service_freeze_notify() - Congela las nuevas notificaciónes
  • gupnp_service_thaw_notify() - Envía cualquier notificación pendiente y detiene la cola de espera de nuevas notificaciones

gupnp_service_introspection_get_state_variable
gupnp_service_proxy_action_get
Funciones de Gupnp


Envía la acción al servicio y obtiene el valor

gupnp_service_notify
gupnp_service_proxy_action_set
Funciones de Gupnp
PHP Manual

gupnp_service_proxy_action_get

(PECL gupnp >= 0.1.0)

gupnp_service_proxy_action_get — Envía la acción al servicio y obtiene el valor

Descripción

mixed gupnp_service_proxy_action_get ( resource $proxy , string $action , string $name , int $type )

Envía la acción con parámetros al servicio a través de un proxy y obtiene los valores de forma sincronizada.

Parámetros

proxy

Un identificador de servicio proxy.

action

Una acción.

name

El nombre de la acción.

type

El tipo de variable a ser recibida. El tipo puede ser uno de los siguientes valores:

GUPNP_TYPE_BOOLEAN
Este tipo de variable es boolean.
GUPNP_TYPE_INT
Este tipo de variable es integer.
GUPNP_TYPE_LONG
Este tipo de variable es long.
GUPNP_TYPE_DOUBLE
Este tipo de variable es double.
GUPNP_TYPE_FLOAT
Este tipo de variable es float.
GUPNP_TYPE_STRING
Este tipo de variable es string.

Valores devueltos

Devuelve el valor de la acción.

Errores/Excepciones

Lanza un E_WARNING si el tipo de acción no es correctamente definido o no es posible enviar la acción.

Ver también

  • gupnp_service_proxy_action_set() - Envía la acción al servicio y establece el valor
  • gupnp_service_proxy_send_action() - Envía la acción con múltiples parámetros de forma sincronizada

gupnp_service_notify
gupnp_service_proxy_action_set
Funciones de Gupnp


Envía la acción al servicio y establece el valor

gupnp_service_proxy_action_get
gupnp_service_proxy_add_notify
Funciones de Gupnp
PHP Manual

gupnp_service_proxy_action_set

(PECL gupnp >= 0.1.0)

gupnp_service_proxy_action_set — Envía la acción al servicio y establece el valor

Descripción

bool gupnp_service_proxy_action_set ( resource $proxy , string $action , string $name , mixed $value , int $type )

Envía la acción con parámetros al servicio a través de un proxy y establece el valor.

Parámetros

proxy

Un identificador de servicio proxy.

action

Una acción.

name

El nombre de la acción.

value

El valor de la acción.

type

El tipo de la acción. El tipo puede ser uno de los sigientes valores:

GUPNP_TYPE_BOOLEAN
Este tipo de variable es boolean.
GUPNP_TYPE_INT
Este tipo de variable es integer.
GUPNP_TYPE_LONG
Este tipo de variable es long.
GUPNP_TYPE_DOUBLE
Type of the variable is double.
GUPNP_TYPE_FLOAT
Este tipo de variable es float.
GUPNP_TYPE_STRING
Este tipo de variable es string.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza un E_WARNING si el tipo de acción no es correctamente definido o no es posible enviar la acción.

Ver también

  • gupnp_service_proxy_action_get() - Envía la acción al servicio y obtiene el valor
  • gupnp_service_proxy_send_action() - Envía la acción con múltiples parámetros de forma sincronizada

gupnp_service_proxy_action_get
gupnp_service_proxy_add_notify
Funciones de Gupnp


Establece un callback de notificación de cambios en variables

gupnp_service_proxy_action_set
gupnp_service_proxy_callback_set
Funciones de Gupnp
PHP Manual

gupnp_service_proxy_add_notify

(PECL gupnp >= 0.1.0)

gupnp_service_proxy_add_notify — Establece un callback de notificación de cambios en variables

Descripción

bool gupnp_service_proxy_add_notify ( resource $proxy , string $value , int $type , mixed $callback [, mixed $arg ] )

Establece un callback a ser llamado cuando una notificación de cambio de variable es recibida.

Parámetros

proxy

Un identificador de servicio proxy.

value

La variable a agregar a la notificación.

type

El tipo de variable. El tipo puede ser uno de los siguientes valores:

GUPNP_TYPE_BOOLEAN
Este tipo de variable es boolean.
GUPNP_TYPE_INT
Este tipo de variable es integer.
GUPNP_TYPE_LONG
Este tipo de variable es long.
GUPNP_TYPE_DOUBLE
Este tipo de variable es double.
GUPNP_TYPE_FLOAT
Este tipo de variable es float.
GUPNP_TYPE_STRING
Este tipo de variable es string.

callback

El callback a ejecutar cuando la variable cambia. Típicamente, la función callback toma tres parámetros. Siendo el primer parámetro la variable, el segundo parámetro el value, y arg es el tercero.

arg

Datos de usuario para callback.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • gupnp_service_proxy_remove_notify() - Cancela la notificación de cambios de variable

gupnp_service_proxy_action_set
gupnp_service_proxy_callback_set
Funciones de Gupnp


Establece un callback de servicio proxy por señal

gupnp_service_proxy_add_notify
gupnp_service_proxy_get_subscribed
Funciones de Gupnp
PHP Manual

gupnp_service_proxy_callback_set

(PECL gupnp >= 0.1.0)

gupnp_service_proxy_callback_set — Establece un callback de servicio proxy por señal

Descripción

bool gupnp_service_proxy_callback_set ( resource $proxy , int $signal , mixed $callback [, mixed $arg ] )

Establece un callback de servicio proxy por señal.

Parámetros

proxy

Un idendificador de servicio proxy.

signal

El valor de la señal.

GUPNP_SIGNAL_SUBSCRIPTION_LOST
Emitido siempre que la suscripción a este servicio se pierda a una condición de error.

callback

La función callback para determinada señal. Típicamente, la función callback toma dos parámetros. Siendo el primer parámetro el mensaje de error, y el segundo parámetro el arg.

arg

Datos de usuario para el callback.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza un E_WARNING si la función callback o la señal es inválida.

gupnp_service_proxy_add_notify
gupnp_service_proxy_get_subscribed
Funciones de Gupnp


Check whether subscription is valid to the service

gupnp_service_proxy_callback_set
gupnp_service_proxy_remove_notify
Funciones de Gupnp
PHP Manual

gupnp_service_proxy_get_subscribed

(PECL gupnp >= 0.1.0)

gupnp_service_proxy_get_subscribed — Check whether subscription is valid to the service

Descripción

bool gupnp_service_proxy_get_subscribed ( resource $proxy )

Check whether subscription is valid to the service.

Parámetros

proxy

A service proxy identifier.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • gupnp_service_proxy_set_subscribed() - (De-)suscribe al servicio

gupnp_service_proxy_callback_set
gupnp_service_proxy_remove_notify
Funciones de Gupnp


Cancela la notificación de cambios de variable

gupnp_service_proxy_get_subscribed
gupnp_service_proxy_send_action
Funciones de Gupnp
PHP Manual

gupnp_service_proxy_remove_notify

(PECL gupnp >= 0.1.0)

gupnp_service_proxy_remove_notify — Cancela la notificación de cambios de variable

Descripción

bool gupnp_service_proxy_remove_notify ( resource $proxy , string $value )

Cancela la notificación de cambios de variable.

Parámetros

proxy

Un identificador de servicio proxy.

value

La variable a agregar a la notificación.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • gupnp_service_proxy_add_notify() - Establece un callback de notificación de cambios en variables

gupnp_service_proxy_get_subscribed
gupnp_service_proxy_send_action
Funciones de Gupnp


Envía la acción con múltiples parámetros de forma sincronizada

gupnp_service_proxy_remove_notify
gupnp_service_proxy_set_subscribed
Funciones de Gupnp
PHP Manual

gupnp_service_proxy_send_action

(PECL gupnp >= 0.2.0)

gupnp_service_proxy_send_action — Envía la acción con múltiples parámetros de forma sincronizada

Descripción

array gupnp_service_proxy_send_action ( resource $proxy , string $action , array $in_params , array $out_params )

Envía la acción con parámetros in_params a través de un servicio proxy de forma sincronizada y devuelve out_params con valores o FALSE en caso de error.

Parámetros

proxy

Un identificador de servicio proxy.

action

Una acción.

in_params

Un array de parámetros de entrada. Cada entrada en in_params se supone que contenga un array con nombre, tipo y valor de los parámetros.

out_params

Un array de parámetros de salida. Cada entrada en out_params se supone que contenga un array con nombre, tipo y valor de los parámetros.

Valores devueltos

Devuelve out_params un array con los valores o FALSE en caso de error.

Errores/Excepciones

Lanza un E_WARNING si in_params y out_params no están correctamente definidos o no es posible enviar la acción.

Ver también

  • gupnp_service_proxy_action_get() - Envía la acción al servicio y obtiene el valor
  • gupnp_service_proxy_action_set() - Envía la acción al servicio y establece el valor

gupnp_service_proxy_remove_notify
gupnp_service_proxy_set_subscribed
Funciones de Gupnp


(De-)suscribe al servicio

gupnp_service_proxy_send_action
gupnp_service_thaw_notify
Funciones de Gupnp
PHP Manual

gupnp_service_proxy_set_subscribed

(PECL gupnp >= 0.1.0)

gupnp_service_proxy_set_subscribed — (De-)suscribe al servicio

Descripción

bool gupnp_service_proxy_set_subscribed ( resource $proxy , bool $subscribed )

(De-)suscribe al servicio.

Parámetros

proxy

Un identificador de servicio proxy.

subscribed

Establece TRUE para suscribir a este servicio.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • gupnp_service_proxy_get_subscribed() - Check whether subscription is valid to the service

gupnp_service_proxy_send_action
gupnp_service_thaw_notify
Funciones de Gupnp


Envía cualquier notificación pendiente y detiene la cola de espera de nuevas notificaciones

gupnp_service_proxy_set_subscribed
HTTP
Funciones de Gupnp
PHP Manual

gupnp_service_thaw_notify

(PECL gupnp >= 0.1.0)

gupnp_service_thaw_notify — Envía cualquier notificación pendiente y detiene la cola de espera de nuevas notificaciones

Descripción

bool gupnp_service_thaw_notify ( resource $service )

Envía cualquier notificación pendiente y detiene la cola de espera de nuevas notificaciones.

Parámetros

service

Un identificador de servicio.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • gupnp_service_notify() - Lanza notificación a los clientes en escucha
  • gupnp_service_freeze_notify() - Congela las nuevas notificaciónes

gupnp_service_proxy_set_subscribed
HTTP
Funciones de Gupnp


HTTP

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalando la extensión HTTP — Instalación/Configuración
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Opciones de las peticiones — Opción que pueden ser utilizadas con la clase HttpRequest y las funciones para peticiones
  • HttpDeflateStream — Clase HttpDeflateStream
    • HttpDeflateStream::__construct — Constructor de la clase HttpDeflateStream
    • HttpDeflateStream::factory — Factoría de la clase HttpDeflateStream
    • HttpDeflateStream::finish — Termina la secuencia de compresión deflate
    • HttpDeflateStream::flush — Vuelca la secuencia de compresión deflate
    • HttpDeflateStream::update — Actualiza la secuencia de compresión deflate
  • HttpInflateStream — Clase HttpInflateStream
    • HttpInflateStream::__construct — Constructor de la clase HttpInflateStream
    • HttpInflateStream::factory — Factoría de la clase HttpInflateStream
    • HttpInflateStream::finish — Termina la secuencia de descompresión inflate
    • HttpInflateStream::flush — Vuelca la secuencia de descompresión inflate
    • HttpInflateStream::update — Actualiza la secuencia de descompresión inflate
  • HttpMessage — Clase HttpMessage
    • HttpMessage::addHeaders — Añadir encabezados HTTP
    • HttpMessage::__construct — HttpMessage constructor
    • HttpMessage::detach — Seperar HttpMessage
    • HttpMessage::factory — Crear un objecto HttpMessage a partir de un string
    • HttpMessage::fromEnv — Crear un objeto HttpMessage a partir del entorno
    • HttpMessage::fromString — Crear un HttpMessage a partir de un string
    • HttpMessage::getBody — Consultar cuerpo del mensaje
    • HttpMessage::getHeader — Consultar cabecera
    • HttpMessage::getHeaders — Consultar cabeceras del mensaje
    • HttpMessage::getHttpVersion — Consultar versión de HTTP
    • HttpMessage::getParentMessage — Consultar mensaje padre
    • HttpMessage::getRequestMethod — Consultar método de petición
    • HttpMessage::getRequestUrl — Consultar URL de la petición
    • HttpMessage::getResponseCode — Consultar código de respuesta
    • HttpMessage::getResponseStatus — Consultar estado de la respuesta
    • HttpMessage::getType — Consultar tipo de mensaje
    • HttpMessage::guessContentType — Averiguar el tipo de contenido
    • HttpMessage::prepend — Añadir mensaje/s en la primera posición
    • HttpMessage::reverse — Invertir cadena de mensajes
    • HttpMessage::send — Enviar mensaje
    • HttpMessage::setBody — Establecer cuerpo del mensaje
    • HttpMessage::setHeaders — Establecer cabeceras
    • HttpMessage::setHttpVersion — Establecer versión de HTTP
    • HttpMessage::setRequestMethod — Establecer método de petición
    • HttpMessage::setRequestUrl — Establecer URL de petición
    • HttpMessage::setResponseCode — Establecer código de respuesta
    • HttpMessage::setResponseStatus — Establecer Estado de Respuesta
    • HttpMessage::setType — Establecer tipo de mensaje
    • HttpMessage::toMessageTypeObject — Crear un objeto HTTP de acuerdo al tipo de mensaje
    • HttpMessage::toString — Representación en formato string
  • HttpQueryString — Clase HttpQueryString
    • HttpQueryString::__construct — Constructor de HttpQueryString
    • HttpQueryString::get — Obtener (parte de) una consulta
    • HttpQueryString::mod — Modifica una copia de una consulta
    • HttpQueryString::set — Añade un parámetro a una consulta
    • HttpQueryString::singleton — Singleton HttpQueryString
    • HttpQueryString::toArray — Obtiene el query string como array
    • HttpQueryString::toString — Obtener string de la consulta
    • HttpQueryString::xlate — Cambia el juego de caracteres de la consulta
  • HttpRequest — Clase HttpRequest
    • HttpRequest::addCookies — Añadir cookies
    • HttpRequest::addHeaders — Añadir cabeceras
    • HttpRequest::addPostFields — Añadir campos post
    • HttpRequest::addPostFile — Añadir ficheros por post
    • HttpRequest::addPutData — Añadir datos en PUT
    • HttpRequest::addQueryData — Añadir datos a consulta
    • HttpRequest::addRawPostData — Añadir datos binarios en POST
    • HttpRequest::addSslOptions — Añadir opciones de certificados digitales
    • HttpRequest::clearHistory — Eliminar histórico
    • HttpRequest::__construct — Constructor del objeto HttpRequest
    • HttpRequest::enableCookies — Habilitar cookies
    • HttpRequest::getContentType — Obtener el tipo de contenido
    • HttpRequest::getCookies — Obtener cookies
    • HttpRequest::getHeaders — Obtener cabceras
    • HttpRequest::getHistory — Obtener histórico
    • HttpRequest::getMethod — Obtener método
    • HttpRequest::getOptions — Obtener opciones
    • HttpRequest::getPostFields — Obtener campost POST
    • HttpRequest::getPostFiles — Obtener ficheros POST
    • HttpRequest::getPutData — Obtener datos PUT
    • HttpRequest::getPutFile — Obtener un fichero PUT
    • HttpRequest::getQueryData — Obtener datos de la consulta
    • HttpRequest::getRawPostData — Obtener datos binarios de POST
    • HttpRequest::getRawRequestMessage — Obtener mensaje de petición binaria
    • HttpRequest::getRawResponseMessage — Obtener mensajes de respuestas binarias
    • HttpRequest::getRequestMessage — Obtener mensaje de petición
    • HttpRequest::getResponseBody — Obtener el cuerpo de la respuesta
    • HttpRequest::getResponseCode — Obtener el código de la respuesta
    • HttpRequest::getResponseCookies — Obtener las cookie/s de la respuesta
    • HttpRequest::getResponseData — Obtener los datos de la respuesta
    • HttpRequest::getResponseHeader — Obtener las cabecera/s de la respuesta
    • HttpRequest::getResponseInfo — Obtener información de la respuesta
    • HttpRequest::getResponseMessage — Obtener mensaje de la respuesta
    • HttpRequest::getResponseStatus — Obtener estado de la respuesta
    • HttpRequest::getSslOptions — Obtener opciones de los certificados digitales
    • HttpRequest::getUrl — Obtener URL
    • HttpRequest::resetCookies — Reiniciar las cookies
    • HttpRequest::send — Enviar petición
    • HttpRequest::setBody — Establece el cotenido de la petición a enviar, sobreescribiendo el contenido de la petición anterior
    • HttpRequest::setContentType — Establecer el tipo de contenido
    • HttpRequest::setCookies — Establecer las cookies
    • HttpRequest::setHeaders — Establecer las cabeceras
    • HttpRequest::setMethod — Establecer método
    • HttpRequest::setOptions — Establecer las opciones
    • HttpRequest::setPostFields — Establecer campos POST
    • HttpRequest::setPostFiles — Establecer los ficheros POST
    • HttpRequest::setPutData — Establecer datos de PUT
    • HttpRequest::setPutFile — Establecer un fichero PUT
    • HttpRequest::setQueryData — Establecer datos de la consulta
    • HttpRequest::setRawPostData — Establecer datos POST binarios
    • HttpRequest::setSslOptions — Establecer las opciones de certificados digitales
    • HttpRequest::setUrl — Establecer la URL
  • HttpRequestPool — Clase HttpRequestPool
    • HttpRequestPool::attach — Apilar un objeto HttpRequest
    • HttpRequestPool::__construct — Constructor de HttpRequestPool
    • HttpRequestPool::__destruct — Destructor de HttpRequestPool
    • HttpRequestPool::detach — Desapilar un objeto HttpRequest
    • HttpRequestPool::getAttachedRequests — Consultar peticiones apiladas
    • HttpRequestPool::getFinishedRequests — Consultar peticiones finalizadas
    • HttpRequestPool::reset — Reiniciar pila de peticiones
    • HttpRequestPool::send — Enviar todas las peticiones
    • HttpRequestPool::socketPerform — Realiza acciones de socket
    • HttpRequestPool::socketSelect — Realiza una selección de socket
  • HttpResponse — Clase HttpResponse
    • HttpResponse::capture — Capturar salida de script
    • HttpResponse::getBufferSize — Consultar tamaño de buffer
    • HttpResponse::getCache — Consultar caché
    • HttpResponse::getCacheControl — Consultar Cache-Control
    • HttpResponse::getContentDisposition — Consultar Content-Disposition
    • HttpResponse::getContentType — Consultar Content-Type
    • HttpResponse::getData — Consultar datos
    • HttpResponse::getETag — Consultar ETag
    • HttpResponse::getFile — Consultar fichero
    • HttpResponse::getGzip — Obtener gzip
    • HttpResponse::getHeader — Consultar cabecera
    • HttpResponse::getLastModified — Consultar Last-Modified
    • HttpResponse::getRequestBody — Consultar el cuerpo de la petición
    • HttpResponse::getRequestBodyStream — Consultar el flujo del cuerpo de la petición
    • HttpResponse::getRequestHeaders — Consultar cabeceras de la petición
    • HttpResponse::getStream — Consultar flujo
    • HttpResponse::getThrottleDelay — Consultar regulación de intervalos
    • HttpResponse::guessContentType — Averiguar tipo de contenido
    • HttpResponse::redirect — Redireccionar
    • HttpResponse::send — Enviar respuesta
    • HttpResponse::setBufferSize — Establecer tamaño de buffer
    • HttpResponse::setCache — Establecer caché
    • HttpResponse::setCacheControl — Establecer Cache-Control
    • HttpResponse::setContentDisposition — Establecer Content-Disposition
    • HttpResponse::setContentType — Establecer la cabecera Content-Type
    • HttpResponse::setData — Asignar datos
    • HttpResponse::setETag — Establecer ETag
    • HttpResponse::setFile — Asignar fichero
    • HttpResponse::setGzip — Establecer gzip
    • HttpResponse::setHeader — Establecer header
    • HttpResponse::setLastModified — Establecer Last-Modified
    • HttpResponse::setStream — Asignar flujo
    • HttpResponse::setThrottleDelay — Establecer regulación de intervalos
    • HttpResponse::status — Envía un código de estado HTTP
  • Funciones de HTTP
    • http_cache_etag — Guardando en caché a partir de ETag
    • http_cache_last_modified — Guardando en caché por última modificación
    • http_chunked_decode — Decodifica datos fragmentados
    • http_deflate — Comprimir datos
    • http_inflate — Descomprimir datos
    • http_build_cookie — Construir el string de una cookie
    • http_date — Compone una fecha HTTP compatible con el RFC
    • http_get_request_body_stream — Consultar cuerpo de la petición como un flujo
    • http_get_request_body — Consultar cuerpo de petición como string
    • http_get_request_headers — Obtener cabeceras de petición como array
    • http_match_etag — Comprobar si coincide el ETag
    • http_match_modified — Comprobar si coincide la última modificación
    • http_match_request_header — Comprobar si coincide cualquier cabecera
    • http_support — Comprueba el soporte HTTP integrado
    • http_negotiate_charset — Negociar el conjunto de caracteres preferido por los clientes
    • http_negotiate_content_type — Negociar el tipo de contenido preferido por los clientes
    • http_negotiate_language — Negociar el idioma preferido de los clientes
    • ob_deflatehandler — Comprimir el manejador de salidas
    • ob_etaghandler — Manejador de salida de ETag
    • ob_inflatehandler — Descromprimir el Manejador de salidas
    • http_parse_cookie — Analizar una cookie HTTP
    • http_parse_headers — Convierte cabeceras HTTP
    • http_parse_message — Analizar mensajes HTTP
    • http_parse_params — Analizar lista de parámetros
    • http_persistent_handles_clean — Cierra el control de persistencia
    • http_persistent_handles_count — Estadísticas del control del persistencias
    • http_persistent_handles_ident — Obtener/modificar el identificador del control de persistencia
    • http_get — Realizar una petición GET
    • http_head — Realizar una petición HEAD
    • http_post_data — Realizar una petición POST con datos pre-codificados
    • http_post_fields — Realizar una petición POST con datos a codificar
    • http_put_data — Realizar una petición PUT con datos
    • http_put_file — Realizar una petición PUT con un fichero
    • http_put_stream — Realizar una petición PUT a partir de un flujo
    • http_request_body_encode — Codificar el contenido de una petición
    • http_request_method_exists — Comprueba si existe un método de petición
    • http_request_method_name — Obtener nombre de método de petición
    • http_request_method_register — Da de alta un método de petición
    • http_request_method_unregister — Dar de baja un método de petición
    • http_request — Realizar una petición personalizada
    • http_redirect — Realiza una redirección HTTP
    • http_send_content_disposition — Enviar la cabecera Content-Disposition
    • http_send_content_type — Enviar cabecera Content-Type
    • http_send_data — Enviar datos arbitrarios
    • http_send_file — Enviar un fichero
    • http_send_last_modified — Enviar cabecera Last-Modified
    • http_send_status — Enviar código de estado HTTP
    • http_send_stream — Enviar flujo
    • http_throttle — Aceleración de HTTP
    • http_build_str — Construir un string de consulta
    • http_build_url — Construir una URL
gupnp_service_thaw_notify
Introducción
Otros servicios


Introducción

La extensión de HTTP tiene como objetivo proporcionar una serie de funcionalidades adecuadas y potentes para aplicaciones de gran calibre.

La extensión HTTP facilita el manejo de URLs HTTP, fechas, redirecciones, encabezados y mensajes en un contexto HTTP (entrantes y salientes). También proporciona los medios para la negociación del cliente de idioma preferido y juego de caracteres, así como una forma conveniente para el intercambio de datos arbitrarios con el caché y la reanudación de las capacidades.

También proporciona una potente funcionalidad sobre peticiones e interfaces paralelos (PHP 5+) si la extensión está compilada con soporte para cURL.

Además de la referencia al API en este manual, puede encontrar información sobre su instalación y configuración, junto a las constantes globales predefinidas, en las siguientes secciones:

HTTP
Instalación/Configuración
HTTP


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalando la extensión HTTP
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
HTTP


Requerimientos

La clase HttpResponse requiere como mínimo PHP v5.1. Cualquier otra clase está disponible a partir de PHP v5.0.

Nota: Tenga en cuenta sin embargo, que algunos métodos no están disponibles en PHP v5.0

Requisitos de instalación en Windows

Con el fin de poder cargar esta extensión en Windows, necesita además cargar las siguientes extensiones de PHP: hash, iconv y SPL.

Requisitos de instalación en otras plataformas

La extensión debe ser construida con el soporte de » libcurl para activar la funcionalidad de peticiones (--with-http-curl-requests). Se requiere una versión de la librería igual o mayor a v7.12.3.

Para activar el soporte de envío y recepción de respuestas comprimidas, la extensión debe ser construida con el soporte de » zlib (--with-http-zlib-compression). Se requiere una versión de la librería igual o mayor a v1.2.2.

La interpretación del tipo de contenido puede ser activado mediante la construcción de esta extensión con el soporte de » libmagic (--with-http-magic-mime).

Instalación/Configuración
Instalando la extensión HTTP
Instalación/Configuración


Instalación/Configuración
PHP Manual

Instalación/Configuración

Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/pecl_http.

Nota: El nombre oficial de esta extensión es pecl_http.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración
PHP Manual


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de HTTP
Nombre | Por defecto | Cambiable | Descripción
http.etag.mode | "MD5" | PHP_INI_ALL | Los algoritmos de hash empleados para generar la Etag (MD5, SHA1, y CRC32) están siempre disponibles. Si la extensión hash está habilitada, cualquiera de los algoritmos que proporciona esta extensión están también disponibles.
http.log.cache | "" | PHP_INI_ALL | La ruta (o el flujo de la envoltura de la url) se incluye en un fichero de log en el cual se registran los accesos a la cache exitosos.
http.log.redirect | "" | PHP_INI_ALL | La ruta (o el flujo de la envoltura de la url) se incluye en un fichero de log en el cual se registran las redirecciones.
http.log.not_found | "" | PHP_INI_ALL | La ruta (o el flujo de la envoltura de la url) se incluye en un fichero de log en el cual se registran los errores de "fichero no encontrado".
http.log.allowed_methods | "" | PHP_INI_ALL | La ruta (o el flujo de la envoltura de la url) se incluye en un fichero de log en el cual se registran las violaciones de los "métodos permitidos".
http.log.composite | "" | PHP_INI_ALL | La ruta (o el flujo de la envoltura de la url) se incluye en un fichero de log en el cual se registran todos los eventos.
http.request.methods.allowed | "" | PHP_INI_ALL | Métodos de petición permitidos. Si un cliente envía una petición con otro método de petición distinto a los listados aquí, PHP muestra el estado "405 Método no permitido". Vea también la opción INI http.force_exit para ver a que sucede cuando "finaliza".
http.request.methods.custom | "" | PHP_INI_PERDIR|PHP_INI_SYSTEM | Métodos de petición personalizados. Si se desea emplear cualquier otro método de petición no estándar, se pueden registrar en esta preferencia INI o en http_request_method_register().
http.request.datashare.cookie | "0" | PHP_INI_SYSTEM | Si la clase global HttpRequestDataShare debe compartir la información de cookies por omisión.
http.request.datashare.dns | "1" | PHP_INI_SYSTEM | Si la clase global HttpRequestDataShare debe compartir la información de la búsqueda del nombre por omisión.
http.request.datashare.ssl | "0" | PHP_INI_SYSTEM | Si la clase global HttpRequestDataShare debe compartir la información de la sesión SSL por omisión. Todavía no ha sido implementado en libcurl.
http.request.datashare.connect | "0" | PHP_INI_SYSTEM | Si la clase global HttpRequestDataShare debe compartir la información de la conexión por omisión. Todavía no ha sido implementado en libcurl.
http.persistent.handles.limit | "-1" | PHP_INI_SYSTEM | La cantidad máxima de elementos en persistencia que pueden estar activos.
http.persistent.handles.ident | "GLOBAL" | PHP_INI_ALL | El ident de los elementos en persistencia.
http.send.inflate.start_auto | "0" | PHP_INI_PERDIR|PHP_INI_SYSTEM | Si se inicia automáticamente el gestor de salidas inflate.
http.send.inflate.start_flags | "0" | PHP_INI_ALL | Configuración inicial del gestor de salidas inflate.
http.send.deflate.start_auto | "0" | PHP_INI_PERDIR|PHP_INI_SYSTEM | Si se inicia automáticamente el gestor de salidas deflate.
http.send.deflate.start_flags | "0" | PHP_INI_ALL | Configuración inicial del gestor de salidas deflate. Consulte las constantes de deflate.
http.send.not_found_404 | "1" | PHP_INI_ALL | Si cuando http_send_file() no ha encontrado el archivo especificado se sale con el estado de "404 No encontrado". Vea también la opción INI http.force_exit para ver a que sucede cuando "finaliza".
http.only_exceptions | "0" | PHP_INI_ALL | Si todas las notificaciones/avisos/errores deben ser lanzados como excepciones.
http.force_exit | "1" | PHP_INI_ALL | Cada ocasión en la que se menciona "salida con el estado ..." normalmente provoca la parada de la máquina de script. La desactivación de esta opción permite iniciar un gestor de salidas de descartes (dev/null) y continuar la ejecución del script.

Instalando la extensión HTTP
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Esta extensión define la secuencia de recursos devueltos por http_get_request_body_stream() y (posteriormente) HttpResponse::getStream().

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Constantes que pueden ser utilizadas con http_support()
HTTP_SUPPORT (integer)
la petición de esta constante siempre devolverá TRUE
HTTP_SUPPORT_REQUESTS (integer)
si existe soporte para peticiones HTTP, por ejemplo libcurl compila dicho soporte
HTTP_SUPPORT_MAGICMIME (integer)
si existe soporte para averiguar el Content-Type de mensajes HTTP, por ejemplo libmagic compila dicha soporte
HTTP_SUPPORT_ENCODINGS (integer)
si existe soporte para la codificación zlib, por ejemplo libz compila dicho soporte
HTTP_SUPPORT_SSLREQUESTS (integer)
si existe soporte para peticiones HTTP en SSL, por ejemplo libcurl vinculada fue construido con soporte para SSL
Constantes que pueden ser utilizadas con http_parse_params()
HTTP_PARAMS_ALLOW_COMMA (integer)
permite usar comandos como separadores, al igual que los puntos y comas
HTTP_PARAMS_ALLOW_FAILURE (integer)
continua el análisis después de aparecer un error
HTTP_PARAMS_RAISE_ERROR (integer)
muestra avisos de PHP en errores de análisis
HTTP_PARAMS_DEFAULT (integer)
los tres valores superiores a nivel de bit
Constantes que pueden ser utilizadas con http_parse_cookie() y su valor de retorno
HTTP_COOKIE_PARSE_RAW (integer)
no decodifica los valores como URL (urldecode)
HTTP_COOKIE_SECURE (integer)
si "secure" se encuentra en la lista de parámetros de la cookie
HTTP_COOKIE_HTTPONLY (integer)
si "httpOnly" se encuentra en la lista de parámetros de la cookie
Constantes que pueden ser utilizadas con http_deflate() y HttpDeflateStream
HTTP_DEFLATE_LEVEL_DEF (integer)
HTTP_DEFLATE_LEVEL_MIN (integer)
HTTP_DEFLATE_LEVEL_MAX (integer)
HTTP_DEFLATE_TYPE_ZLIB (integer)
HTTP_DEFLATE_TYPE_GZIP (integer)
HTTP_DEFLATE_TYPE_RAW (integer)
HTTP_DEFLATE_STRATEGY_DEF (integer)
HTTP_DEFLATE_STRATEGY_FILT (integer)
HTTP_DEFLATE_STRATEGY_HUFF (integer)
HTTP_DEFLATE_STRATEGY_RLE (integer)
HTTP_DEFLATE_STRATEGY_FIXED (integer)
Constantes que pueden ser utilizadas con HttpDeflateStream y HttpInflateStream
HTTP_ENCODING_STREAM_FLUSH_NONE (integer)
no vuelca el contenido
HTTP_ENCODING_STREAM_FLUSH_SYNC (integer)
sólo vuelca el contenido sincronizado
HTTP_ENCODING_STREAM_FLUSH_FULL (integer)
vuelca todo el contenido
Constantes utilizadas para reportar de errores y excepciones
HTTP_E_RUNTIME (integer)
error en tiempo de ejecución
HTTP_E_INVALID_PARAM (integer)
envío de un parámetro inválido
HTTP_E_HEADER (integer)
fallo en header() o en una operación similar
HTTP_E_MALFORMED_HEADERS (integer)
error de análisis de las cabeceras de HTTP
HTTP_E_REQUEST_METHOD (integer)
método de petición desconocido/inválido
HTTP_E_MESSAGE_TYPE (integer)
tipo de mensaje incompatible con la operación
HTTP_E_ENCODING (integer)
error de codificación/decodificación
HTTP_E_REQUEST (integer)
fallo en la petición
HTTP_E_REQUEST_POOL (integer)
fallo en el pool de la petición
HTTP_E_SOCKET (integer)
excepción en el socket
HTTP_E_RESPONSE (integer)
fallo en la respuesta
HTTP_E_URL (integer)
URL inválida
HTTP_E_QUERYSTRING (integer)
fallo en la operación con la cadena de la petición
Constantes que pueden ser utilizadas con HttpMessage
HTTP_MSG_NONE (integer)
el mensaje es de un tipo no especificado
HTTP_MSG_REQUEST (integer)
mensaje de estilo de la petición
HTTP_MSG_RESPONSE (integer)
mensaje de estilo de la respuesta
Constantes que pueden ser utilizadas con HttpQueryString
HTTP_QUERYSTRING_TYPE_BOOL (integer)
HTTP_QUERYSTRING_TYPE_INT (integer)
HTTP_QUERYSTRING_TYPE_FLOAT (integer)
HTTP_QUERYSTRING_TYPE_STRING (integer)
HTTP_QUERYSTRING_TYPE_ARRAY (integer)
HTTP_QUERYSTRING_TYPE_OBJECT (integer)
Constantes utilizadas por httpauthtype solicitud de opción
HTTP_AUTH_BASIC (integer)
empleo de autentificación "basic"
HTTP_AUTH_DIGEST (integer)
empleo de autentificación "digest"
HTTP_AUTH_NTLM (integer)
empleo de autentificación "NTLM"
HTTP_AUTH_GSSNEG (integer)
empleo de autentificación "GSS-NEGOTIATE"
HTTP_AUTH_ANY (integer)
empleo de cualquier esquema de autentificación
Constantes utilizadas por la versión del protocol HTTP solicitud de opción
HTTP_VERSION_ANY (integer)
no hay ninguna versión específica del protocolo HTTP
HTTP_VERSION_1_0 (integer)
HTTP versión 1.0
HTTP_VERSION_1_1 (integer)
HTTP versión 1.1
Constantes utilizadas por el tipo y versión del protocolo SSL solicitud de opción
HTTP_SSL_VERSION_ANY (integer)
no hay ninguna versión específica del protocolo SSL
HTTP_SSL_VERSION_TLSv1 (integer)
sólo se emplea TLSv1
HTTP_SSL_VERSION_SSLv3 (integer)
sólo se emplea SSLv3
HTTP_SSL_VERSION_SSLv2 (integer)
sólo se emplea SSLv2
Constantes utilizadas por proxytype solicitud de opción
HTTP_PROXY_SOCKS4 (integer)
el proxy es del tipo SOCKS4
HTTP_PROXY_SOCKS5 (integer)
el proxy es del tipo SOCKS5
HTTP_PROXY_HTTP (integer)
proxy HTTP estándar
Constantes utilizadas por ipresolve solicitud de opción
HTTP_IPRESOLVE_V4 (integer)
sólo se emplea IPv4 para búsquedas de nombres
HTTP_IPRESOLVE_V6 (integer)
sólo se emplea IPv6 para búsquedas de nombres
HTTP_IPRESOLVE_ANY (integer)
empleo de cualquier mecanismo IP sólo para búsquedas de nombres
Constantes por omisión del método de las peticiones HTTP
HTTP_METH_GET (integer)
HTTP_METH_HEAD (integer)
HTTP_METH_POST (integer)
HTTP_METH_PUT (integer)
HTTP_METH_DELETE (integer)
HTTP_METH_OPTIONS (integer)
HTTP_METH_TRACE (integer)
HTTP_METH_CONNECT (integer)
HTTP_METH_PROPFIND (integer)
HTTP_METH_PROPPATCH (integer)
HTTP_METH_MKCOL (integer)
HTTP_METH_COPY (integer)
HTTP_METH_MOVE (integer)
HTTP_METH_LOCK (integer)
HTTP_METH_UNLOCK (integer)
HTTP_METH_VERSION_CONTROL (integer)
HTTP_METH_REPORT (integer)
HTTP_METH_CHECKOUT (integer)
HTTP_METH_CHECKIN (integer)
HTTP_METH_UNCHECKOUT (integer)
HTTP_METH_MKWORKSPACE (integer)
HTTP_METH_UPDATE (integer)
HTTP_METH_LABEL (integer)
HTTP_METH_MERGE (integer)
HTTP_METH_BASELINE_CONTROL (integer)
HTTP_METH_MKACTIVITY (integer)
HTTP_METH_ACL (integer)
Constantes que pueden ser utilizadas con http_redirect()
HTTP_REDIRECT (integer)
método de redirección aplicable a los usuarios invitados
HTTP_REDIRECT_PERM (integer)
redirección permanente (301 Movido permanentemente)
HTTP_REDIRECT_FOUND (integer)
movido temporalmente (302 Encontrado)

Nota: RFC 1945 y RFC 2068 especifican que el cliente no puede cambiar el método de la petición en el redireccionamiento. Sin embargo, la mayoría de las implementaciones existentes de agente de usuarios tratan el 302 como si se tratara de una respuesta 303, realizando un GET en el campo y el valor de Location, sin tener en cuenta el método de la petición original. Los códigos de estado 303 y 307 han sido añadidos a los servidores que deseen indicar sin ambigüedad cual es la reacción esperada por el cliente.

HTTP_REDIRECT_POST (integer)
redirección aplicable a las peticiones POST (303 See other)
HTTP_REDIRECT_PROXY (integer)
redirección por proxy (305 Use Proxy)
HTTP_REDIRECT_TEMP (integer)
redirección temporal (307 Temporary Redirect)
Constantes que pueden ser utilizadas por http_build_url()
HTTP_URL_REPLACE (integer)
reemplazada cada parte de la primera URL cuando existe alguna parte de la segunda URL
HTTP_URL_JOIN_PATH (integer)
combina rutas relativas
HTTP_URL_JOIN_QUERY (integer)
combina las cadenas de las peticiones
HTTP_URL_STRIP_USER (integer)
elimina cualquier información del usuario de la autentificación
HTTP_URL_STRIP_PASS (integer)
elimina cualquier información de la contraseña de la autentificación
HTTP_URL_STRIP_AUTH (integer)
elimina cualquier información de la autentificación
HTTP_URL_STRIP_PORT (integer)
elimina los números de los puertos declarados explícitamente
HTTP_URL_STRIP_PATH (integer)
elimina la ruta completa
HTTP_URL_STRIP_QUERY (integer)
elimina la cadena de la petición
HTTP_URL_STRIP_FRAGMENT (integer)
elimina cualquier fragmento (#identificador)
HTTP_URL_STRIP_ALL (integer)
elimina todo excepto el esquema y el host
Tipos de recursos
Opciones de las peticiones
HTTP


Opción que pueden ser utilizadas con la clase HttpRequest y las funciones para peticiones

Opciones relacionadas con las desconexiones por tiempo (time outs)
timeout (integer)
segundos que toda la petición puede tardar para ser completada
connecttimeout (integer)
segundos que la conexión, incluyendo la resolución del nombre, puede tardar
dns_cache_timeout (integer)
segundos después de la desconexión por tiempo de una entrada en la cache del dns
Opciones relacionadas con las urls
url (string)
la url de la petición
port (integer)
empleo de otro puerto al especificado en la url
redirect (integer)
existencia de la redirección y cuantas redirecciones hay que efectuar; por omisión, su valor es 0
unrestrictedauth (bool)
posibilidad de continuar enviando credenciales en las redirecciones a un host diferente
referer (string)
la url de referencia para enviar
Opciones relacionadas con las cookies
encodecookies (bool)
si las cookies personalizadas deben ser urlencode()adas antes de su envío
cookies (array)
lista de cookies personalizadas en forma de array asociativo como array("cookie" => "value")
cookiestore (string)
ruta al fichero donde las cookies son/serán almacenadas
cookiesession (bool)
no carga las cookies de la sesión desde la cookiestore si su valor es TRUE
Opciones relacionadas con las cabeceras
useragent (string)
el agente de usuario a enviar; por omisión el valor es PECL::HTTP/x.y.z (PHP/x.y.z); si se configura como una cadena vacía se omite el valor por omisión
lastmodified (int)
fecha Unix para la cabecera If-(Un)Modified-Since
etag (string)
etag citado para la cabecera If-(None-)Match
headers (array)
lista de cabeceras personalizadas en forma de array asociativo como array("header" => "value")
Opciones relacionadas con la autentificación
httpauth (string)
credenciales http en formato "user:pass"
httpauthtype (int)
Constantes de los tipos de autentificación HTTP
(array)
Opciones relacionadas con proxies
proxyhost (string)
host del proxy en formato "host[:port]"
proxyport (int)
empleo de otro puerto especificado en el proxyhost
proxytype (int)
Constantes del tipo de proxy HTTP
proxyauth (string)
credenciales del proxy en formato "user:pass"
proxyauthtype (int)
Constantes de los tipos de autentificación HTTP
Opciones relacionadas con la transferencia
compress (bool)
si se debe solicitar y aceptar una respuesta de contenido codificado con gzip/deflate
resume (int)
inicia la descarga en el byte especificado de la respuesta si existe soporte en el servidor (indicado con el código de estado 206 de la respuesta)
range (array)
array de arrays, cada uno conteniendo dos integers, que indican el intervalo de la descarga si existe soporte en el servidor (indicado con el código de estado 206 de la respuesta); sólo se reconoce si la opción de pausa está vacía
Opciones que imponen límites
maxfilesize (integer)
tamaño máximo del fichero que debe ser descargado; no tiene ningún efecto si el tamaño de la entidad solicitada es desconocido (por ejemplo, páginas dinámicas con transferencia de codificación fragmentada, etc.)
low_speed_limit (int)
mínima velocidad de transferencia que una petición con éxito puede tener
low_speed_time (int)
el tiempo en el cual low_speed_limit es transferida a una petición con éxito
max_send_speed (int)
máxima velocidad en envío en bytes por segundo
max_recv_speed (int)
máxima velocidad de recepción en bytes por segundo
Opciones de llamada de retorno
onprogress (callable)
estado del progreso de la llamada de retorno
Opciones de red
interface (string)
interfaz de la red de salida (iframe, ip o nombre de host)
portrange (array)
Dos números enteros especificando el intervalo de puertos para la salida a intentar
Opciones de SSL
ssl (array)

Nota: Las opciones de SSL son establecidas en un array con el sencillo nombre de la opción de la petición "ssl".

cert (string)
ruta del certificado
certtype (string)
tipo de certificado
certpasswd (string)
contraseña del certificado
key (string)
ruta de la llave
keytype (string)
tipo de llave
keypasswd (string)
contraseña de la llave
engine (string)
máquina de ssl a emplear
version (int)
versión de ssl a emplear
verifypeer (bool)
si se debe verificar la pareja
verifyhost (bool)
si se debe verificar el host
cipher_list (string)
lista de claves permitidas
cainfo (string)
capath (string)
random_file (string)
egdsocket (string)
Constantes predefinidas
HttpDeflateStream
HTTP


Clase HttpDeflateStream

(PECL pecl_http >= 0.21.0)

Sinopsis de la Clase

HttpDeflateStream {
public __construct ([ int $flags = 0 ] )
static public HttpDeflateStream factory ([ int $flags = 0 [, string $class_name = "HttpDeflateStream" ]] )
public string finish ([ string $data ] )
public string flush ([ string $data ] )
public string update ( string $data )
}

Elementos de la clase

Constantes predefinidas

Tipo | Nombre | Descripción
int | TYPE_GZIP | codificación gzip
int | TYPE_ZLIB | codificación de la compresión zlib AKA
int | TYPE_RAW | codificación deflate sin tratar
int | LEVEL_DEF | nivel de compresión por omisión
int | LEVEL_MIN | nivel de compresión mínimo
int | LEVEL_MAX | nivel de compresión máximo
int | STRATEGY_DEF | estrategia por omisión
int | STRATEGY_FILT | estrategia filtrada
int | STRATEGY_HUFF | estrategia Huffman
int | STRATEGY_RLE | estrategia RLE
int | STRATEGY_FIXED | estrategia fija
int | FLUSH_NONE | volcado no forzado
int | FLUSH_SYNC | volcado sincronizado
int | FLUSH_FULL | volcado completo

Ejemplos

Ejemplo #1 Ejemplo de HttpDeflateStream

<?php
$stream = new HttpDeflateStream(
    HttpDeflateStream::TYPE_GZIP |
    HttpDeflateStream::LEVEL_MAX |
    HttpDeflateStream::FLUSH_SYNC);

echo $stream->update($data);
echo $stream->finish();
?>

Tabla de contenidos

  • HttpDeflateStream::__construct — Constructor de la clase HttpDeflateStream
  • HttpDeflateStream::factory — Factoría de la clase HttpDeflateStream
  • HttpDeflateStream::finish — Termina la secuencia de compresión deflate
  • HttpDeflateStream::flush — Vuelca la secuencia de compresión deflate
  • HttpDeflateStream::update — Actualiza la secuencia de compresión deflate
Opciones de las peticiones
HttpDeflateStream::__construct
HTTP


Constructor de la clase HttpDeflateStream

HttpDeflateStream
HttpDeflateStream::factory
HttpDeflateStream
PHP Manual

HttpDeflateStream::__construct

(PECL pecl_http >= 0.21.0)

HttpDeflateStream::__construct — Constructor de la clase HttpDeflateStream

Descripción

public HttpDeflateStream::__construct ([ int $flags = 0 ] )

Crea una nueva instancia del objeto HttpDeflateStream.

Consulte la tabla de constantes de la secuencia deflate para posibles flags.

Parámetros

flags

flags de inicialización

Ver también

  • HttpDeflateStream::factory() - Factoría de la clase HttpDeflateStream

HttpDeflateStream
HttpDeflateStream::factory
HttpDeflateStream


Factoría de la clase HttpDeflateStream

HttpDeflateStream::__construct
HttpDeflateStream::finish
HttpDeflateStream
PHP Manual

HttpDeflateStream::factory

(PECL pecl_http >= 1.4.0)

HttpDeflateStream::factory — Factoría de la clase HttpDeflateStream

Descripción

static public HttpDeflateStream HttpDeflateStream::factory ([ int $flags = 0 [, string $class_name = "HttpDeflateStream" ]] )

Crea una nueva instancia del objeto HttpDeflateStream.

Consulte la tabla de constantes de la secuencia deflate para posibles flags.

Parámetros

flags

flags de inicialización

class_name

nombre de la subclase de HttpDeflateStream

Ver también

  • HttpDeflateStream::__construct() - Constructor de la clase HttpDeflateStream

HttpDeflateStream::__construct
HttpDeflateStream::finish
HttpDeflateStream


Termina la secuencia de compresión deflate

HttpDeflateStream::factory
HttpDeflateStream::flush
HttpDeflateStream
PHP Manual

HttpDeflateStream::finish

(PECL pecl_http >= 0.21.0)

HttpDeflateStream::finish — Termina la secuencia de compresión deflate

Descripción

public string HttpDeflateStream::finish ([ string $data ] )

Termina la secuencia de compresión deflate. La secuencia de compresión deflate puede ser reutilizada después de finalizar.

Parámetros

data

datos para comprimir con deflate

Valores devueltos

Devuelve la parte final de los datos comprimidos con deflate.

HttpDeflateStream::factory
HttpDeflateStream::flush
HttpDeflateStream


Vuelca la secuencia de compresión deflate

HttpDeflateStream::finish
HttpDeflateStream::update
HttpDeflateStream
PHP Manual

HttpDeflateStream::flush

(PECL pecl_http >= 0.21.0)

HttpDeflateStream::flush — Vuelca la secuencia de compresión deflate

Descripción

public string HttpDeflateStream::flush ([ string $data ] )

Vuelca la secuencia de compresión deflate.

Parámetros

data

más datos para comprimir con deflate

Valores devueltos

Devuelve como cadena algunos datos comprimidos con deflate en caso de éxito o FALSE en caso de error.

HttpDeflateStream::finish
HttpDeflateStream::update
HttpDeflateStream


Actualiza la secuencia de compresión deflate

HttpDeflateStream::flush
HttpInflateStream
HttpDeflateStream
PHP Manual

HttpDeflateStream::update

(PECL pecl_http >= 0.21.0)

HttpDeflateStream::update — Actualiza la secuencia de compresión deflate

Descripción

public string HttpDeflateStream::update ( string $data )

Pasa más datos a través de la secuencia de compresión deflate.

Parámetros

data

datos para comprimir con deflate

Valores devueltos

Devuelve los datos comprimidos con deflate en caso de éxito o FALSE en caso de error.

HttpDeflateStream::flush
HttpInflateStream
HttpDeflateStream


Clase HttpInflateStream

(PECL pecl_http >= 0.21.0)

Sinopsis de la Clase

HttpInflateStream {
public __construct ([ int $flags = 0 ] )
public HttpInflateStream factory ([ int $flags = 0 [, string $class_name = "HttpInflateStream" ]] )
public string finish ([ string $data ] )
public string flush ([ string $data ] )
public string update ( string $data )
}

Elementos de la clase

Constantes

Tipo | Nombre | Descripción
int | FLUSH_NONE | volcado no forzado
int | FLUSH_SYNC | volcado sincronizado
int | FLUSH_FULL | volcado completo

Nota:

El volcado normalmente no afecta a la compresión de secuencias.

Ejemplos

Ejemplo #1 Ejemplo de HttpInflateStream

<?php
$stream = new HttpInflateStream;
echo $stream->update($data);
echo $stream->finish();
?>

Tabla de contenidos

  • HttpInflateStream::__construct — Constructor de la clase HttpInflateStream
  • HttpInflateStream::factory — Factoría de la clase HttpInflateStream
  • HttpInflateStream::finish — Termina la secuencia de descompresión inflate
  • HttpInflateStream::flush — Vuelca la secuencia de descompresión inflate
  • HttpInflateStream::update — Actualiza la secuencia de descompresión inflate
HttpDeflateStream::update
HttpInflateStream::__construct
HTTP


Constructor de la clase HttpInflateStream

HttpInflateStream
HttpInflateStream::factory
HttpInflateStream
PHP Manual

HttpInflateStream::__construct

(PECL pecl_http >= 1.0.0)

HttpInflateStream::__construct — Constructor de la clase HttpInflateStream

Descripción

public HttpInflateStream::__construct ([ int $flags = 0 ] )

Crea una nueva instancia del objeto HttpInflateStream.

Consulte la tabla de constantes de inflate para posibles flags.

Parámetros

flags

flags de inicialización

Ver también

  • HttpInflateStream::factory() - Factoría de la clase HttpInflateStream

HttpInflateStream
HttpInflateStream::factory
HttpInflateStream


Factoría de la clase HttpInflateStream

HttpInflateStream::__construct
HttpInflateStream::finish
HttpInflateStream
PHP Manual

HttpInflateStream::factory

(PECL pecl_http >= 1.4.0)

HttpInflateStream::factory — Factoría de la clase HttpInflateStream

Descripción

public HttpInflateStream HttpInflateStream::factory ([ int $flags = 0 [, string $class_name = "HttpInflateStream" ]] )

Crea una nueva instancia del objeto HttpInflateStream.

Consulte la tabla de constantes de inflate para posibles flags.

Parámetros

flags

flags de inicialización

class_name

nombre de la subclase de HttpInflateStream

Ver también

  • HttpInflateStream::__construct() - Constructor de la clase HttpInflateStream

HttpInflateStream::__construct
HttpInflateStream::finish
HttpInflateStream


Termina la secuencia de descompresión inflate

HttpInflateStream::factory
HttpInflateStream::flush
HttpInflateStream
PHP Manual

HttpInflateStream::finish

(PECL pecl_http >= 0.21.0)

HttpInflateStream::finish — Termina la secuencia de descompresión inflate

Descripción

public string HttpInflateStream::finish ([ string $data ] )

Termina la secuencia de descompresión con inflate. La secuencia de descompresión inflate puede ser reutilizada después de finalizar.

Parámetros

data

datos para descomprimir con inflate

Valores devueltos

Devuelve la parte final de los datos descomprimidos con inflate.

HttpInflateStream::factory
HttpInflateStream::flush
HttpInflateStream


Vuelca la secuencia de descompresión inflate

HttpInflateStream::finish
HttpInflateStream::update
HttpInflateStream
PHP Manual

HttpInflateStream::flush

(PECL pecl_http >= 0.21.0)

HttpInflateStream::flush — Vuelca la secuencia de descompresión inflate

Descripción

public string HttpInflateStream::flush ([ string $data ] )

Vuelca la secuencia de descompresión inflate.

Nota:

El volcado normalmente no tiene efecto sobre la secuencia de descompresión inflate.

Parámetros

data

más datos para descomprimir con deflate

Valores devueltos

Devuelve como cadena algunos datos descomprimidos con inflate en caso de éxito o FALSE en caso de error.

HttpInflateStream::finish
HttpInflateStream::update
HttpInflateStream


Actualiza la secuencia de descompresión inflate

HttpInflateStream::flush
HttpMessage
HttpInflateStream
PHP Manual

HttpInflateStream::update

(PECL pecl_http >= 0.21.0)

HttpInflateStream::update — Actualiza la secuencia de descompresión inflate

Descripción

public string HttpInflateStream::update ( string $data )

Pasa más datos a través de la secuencia de descompresión inflate.

Parámetros

data

datos para descomprimir con inflate

Valores devueltos

Devuelve los datos descomprimidos con inflate en caso de éxito o FALSE en caso de error.

HttpInflateStream::flush
HttpMessage
HttpInflateStream


Clase HttpMessage

(PECL pecl_http >= 0.10.0)

Sinopsis de la Clase

HttpMessage implements Iterator , Countable , Serializable {
public void addHeaders ( array $headers [, bool $append = false ] )
public __construct ([ string $message ] )
public HttpMessage detach ( void )
static public HttpMessage factory ([ string $raw_message [, string $class_name = "HttpMessage" ]] )
static public HttpMessage fromEnv ( int $message_type [, string $class_name = "HttpMessage" ] )
static public HttpMessage fromString ([ string $raw_message [, string $class_name = "HttpMessage" ]] )
public string getBody ( void )
public string getHeader ( string $header )
public array getHeaders ( void )
public string getHttpVersion ( void )
public HttpMessage getParentMessage ( void )
public string getRequestMethod ( void )
public string getRequestUrl ( void )
public int getResponseCode ( void )
public string getResponseStatus ( void )
public int getType ( void )
public string guessContentType ( string $magic_file [, int $magic_mode = MAGIC_MIME ] )
public void prepend ( HttpMessage $message [, bool $top = true ] )
public HttpMessage reverse ( void )
public bool send ( void )
public void setBody ( string $body )
public void setHeaders ( array $headers )
public bool setHttpVersion ( string $version )
public bool setRequestMethod ( string $method )
public bool setRequestUrl ( string $url )
public bool setResponseCode ( int $code )
public bool setResponseStatus ( string $status )
public void setType ( int $type )
public HttpRequest|HttpResponse toMessageTypeObject ( void )
public string toString ([ bool $include_parent = false ] )
}

Elementos de la clase

Propiedades

Propiedades de instancia
Modificadores de acceso | Tipo | Nombre | Descripción
protected | int | type | tipo de mensaje
protected | string | body | cuerpo del mensaje
protected | float | httpVersion | versión del protocolo HTTP
protected | array | headers | cabeceras del mensaje
protected | string | requestMethod | nombre del método de la petición
protected | requestUrl | string | URL de la petición
protected | int | responseCode | código del estado de la respuesta
protected | string | responseStatus | mensaje del estado de la respuesta
protected | HttpMessage | parentMessage | referencia al mensaje raíz

Nota:

Ninguna de estas propiedades por omisión pueden ser accedidas por referencia, notación clave/índice de arrays o ser empleada en operaciones de incremento o decremento.

Constantes predefinidas

Tipo | Nombre | Descripción
int | TYPE_NONE | el mensaje no tiene un tipo específico
int | TYPE_REQUEST | el mensaje es una petición del estilo del mensaje HTTP
int | TYPE_RESPONSE | el mensaje es una respuesta del estilo del mensaje HTTP

Tabla de contenidos

  • HttpMessage::addHeaders — Añadir encabezados HTTP
  • HttpMessage::__construct — HttpMessage constructor
  • HttpMessage::detach — Seperar HttpMessage
  • HttpMessage::factory — Crear un objecto HttpMessage a partir de un string
  • HttpMessage::fromEnv — Crear un objeto HttpMessage a partir del entorno
  • HttpMessage::fromString — Crear un HttpMessage a partir de un string
  • HttpMessage::getBody — Consultar cuerpo del mensaje
  • HttpMessage::getHeader — Consultar cabecera
  • HttpMessage::getHeaders — Consultar cabeceras del mensaje
  • HttpMessage::getHttpVersion — Consultar versión de HTTP
  • HttpMessage::getParentMessage — Consultar mensaje padre
  • HttpMessage::getRequestMethod — Consultar método de petición
  • HttpMessage::getRequestUrl — Consultar URL de la petición
  • HttpMessage::getResponseCode — Consultar código de respuesta
  • HttpMessage::getResponseStatus — Consultar estado de la respuesta
  • HttpMessage::getType — Consultar tipo de mensaje
  • HttpMessage::guessContentType — Averiguar el tipo de contenido
  • HttpMessage::prepend — Añadir mensaje/s en la primera posición
  • HttpMessage::reverse — Invertir cadena de mensajes
  • HttpMessage::send — Enviar mensaje
  • HttpMessage::setBody — Establecer cuerpo del mensaje
  • HttpMessage::setHeaders — Establecer cabeceras
  • HttpMessage::setHttpVersion — Establecer versión de HTTP
  • HttpMessage::setRequestMethod — Establecer método de petición
  • HttpMessage::setRequestUrl — Establecer URL de petición
  • HttpMessage::setResponseCode — Establecer código de respuesta
  • HttpMessage::setResponseStatus — Establecer Estado de Respuesta
  • HttpMessage::setType — Establecer tipo de mensaje
  • HttpMessage::toMessageTypeObject — Crear un objeto HTTP de acuerdo al tipo de mensaje
  • HttpMessage::toString — Representación en formato string
HttpInflateStream::update
HttpMessage::addHeaders
HTTP


Añadir encabezados HTTP

HttpMessage
HttpMessage::__construct
HttpMessage
PHP Manual

HttpMessage::addHeaders

(PECL pecl_http >= 0.10.0)

HttpMessage::addHeaders — Añadir encabezados HTTP

Descripción

public void HttpMessage::addHeaders ( array $headers [, bool $append = false ] )

Añadir encabezados HTTP. Si $append es true, los encabezados con el mismo nombre serán sobreescritos.

Parámetros

headers

Array asociativo que contiene los encabezados HTTP adicionales, que se añadiran a los encabezados ya existentes de los mensajes.

append

Si es TRUE y ya existe un encabezado con el mismo nombre, éste y su encabezado respectivo serán convertidos en un array que contendrá los valores de ambos. Si es FALSE y ya existe un encabezado con el mismo nombre, será sobreescrito con el nuevo valor indicado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

HttpMessage
HttpMessage::__construct
HttpMessage


HttpMessage constructor

HttpMessage::addHeaders
HttpMessage::detach
HttpMessage
PHP Manual

HttpMessage::__construct

(PECL pecl_http >= 0.10.0)

HttpMessage::__construct — HttpMessage constructor

Descripción

public HttpMessage::__construct ([ string $message ] )

Crea una nueva instancia del objeto HttpMessage.

El objeto construido representará el último mensaje HTTP que haya en el string que se le pasa. Si hubiese mensajes anteriores se podría acceder a ellos mediante HttpMessage:: getParentMessage().

Parámetros

message

Uno o varios mensajes HTTP consecutivos

Errores/Excepciones

Arroja HttpMalformedHeaderException.

HttpMessage::addHeaders
HttpMessage::detach
HttpMessage


Seperar HttpMessage

HttpMessage::__construct
HttpMessage::factory
HttpMessage
PHP Manual

HttpMessage::detach

(PECL pecl_http >= 0.22.0)

HttpMessage::detach — Seperar HttpMessage

Descripción

public HttpMessage HttpMessage::detach ( void )

Devuelve una copia de un objeto HttpMessage separado de un mensaje padre.

Parámetros

Valores devueltos

Devuelve la copia de un objecto HttpMessage separado.

HttpMessage::__construct
HttpMessage::factory
HttpMessage


Crear un objecto HttpMessage a partir de un string

HttpMessage::detach
HttpMessage::fromEnv
HttpMessage
PHP Manual

HttpMessage::factory

(PECL pecl_http >= 1.4.0)

HttpMessage::factory — Crear un objecto HttpMessage a partir de un string

Descripción

static public HttpMessage HttpMessage::factory ([ string $raw_message [, string $class_name = "HttpMessage" ]] )

Crea un objecto HttpMessage a partir de un string.

Parámetros

raw_message

uno o varios mensajes HTTP consecutivos

class_name

clase que extiende HttpMessage

Valores devueltos

devuelve un objecto HttpMessage en caso de éxito, o NULL en caso de error.

Errores/Excepciones

Emite HttpMalformedHeadersException.

Ver también

  • HttpMessage::fromEnv() - Crear un objeto HttpMessage a partir del entorno.

HttpMessage::detach
HttpMessage::fromEnv
HttpMessage


Crear un objeto HttpMessage a partir del entorno

HttpMessage::factory
HttpMessage::fromString
HttpMessage
PHP Manual

HttpMessage::fromEnv

(PECL pecl_http >= 1.5.0)

HttpMessage::fromEnv — Crear un objeto HttpMessage a partir del entorno

Descripción

static public HttpMessage HttpMessage::fromEnv ( int $message_type [, string $class_name = "HttpMessage" ] )

Crea un objecto HttpMessage a partir del entorno del script.

Parámetros

message_type

Tipo de mensaje. Revise las constantes predefinidas para HttpMessage.

class_name

clase que extiende HttpMessage

Valores devueltos

En caso de éxito devuelve un objeto HttpMessage, o NULL en caso de error.

Ver también

  • HttpMessage::factory() - Crear un objecto HttpMessage a partir de un string.

HttpMessage::factory
HttpMessage::fromString
HttpMessage


Crear un HttpMessage a partir de un string

HttpMessage::fromEnv
HttpMessage::getBody
HttpMessage
PHP Manual

HttpMessage::fromString

(PECL pecl_http 0.10.0-1.3.3)

HttpMessage::fromString — Crear un HttpMessage a partir de un string

Descripción

static public HttpMessage HttpMessage::fromString ([ string $raw_message [, string $class_name = "HttpMessage" ]] )

Crea un objecto HttpMessage a partir de un string.

Esta función alias está obsoleta y sólo existe por razones de compatibilidad con versiones anteriores. El uso de esta función no es recomendado, y puede ser eliminado de PHP en futuras versiones.

Parámetros

raw_message

uno o varios mensajes HTTP consecutivos

class_name

clase que extiende HttpMessage

Valores devueltos

En caso de éxito devuelve un objeto HttpMessage, o NULL en caso de error.

Errores/Excepciones

Emite HttpMalformedHeadersException.

Ver también

  • HttpMessage::factory() - Crear un objecto HttpMessage a partir de un string.

HttpMessage::fromEnv
HttpMessage::getBody
HttpMessage


Consultar cuerpo del mensaje

HttpMessage::fromString
HttpMessage::getHeader
HttpMessage
PHP Manual

HttpMessage::getBody

(PECL pecl_http >= 0.10.0)

HttpMessage::getBody — Consultar cuerpo del mensaje

Descripción

public string HttpMessage::getBody ( void )

Consulta el cuerpo del objeto HttpMessage analizado.

Valores devueltos

Devuelve el cuerpo del mensaje en forma de string.

HttpMessage::fromString
HttpMessage::getHeader
HttpMessage


Consultar cabecera

HttpMessage::getBody
HttpMessage::getHeaders
HttpMessage
PHP Manual

HttpMessage::getHeader

(PECL pecl_http >= 1.1.0)

HttpMessage::getHeader — Consultar cabecera

Descripción

public string HttpMessage::getHeader ( string $header )

Consulta una cabecera del mensaje.

Parámetros

header

nombre de la cabecera

Valores devueltos

En caso de éxito devuelve el valor de la cabecera, o NULL si la ésta no existiera.

HttpMessage::getBody
HttpMessage::getHeaders
HttpMessage


Consultar cabeceras del mensaje

HttpMessage::getHeader
HttpMessage::getHttpVersion
HttpMessage
PHP Manual

HttpMessage::getHeaders

(PECL pecl_http >= 0.10.0)

HttpMessage::getHeaders — Consultar cabeceras del mensaje

Descripción

public array HttpMessage::getHeaders ( void )

Consulta las cabeceras del mensaje.

Valores devueltos

Devuelve un array asociativo que contiene todas las cabeceras HTTP del mensaje.

HttpMessage::getHeader
HttpMessage::getHttpVersion
HttpMessage


Consultar versión de HTTP

HttpMessage::getHeaders
HttpMessage::getParentMessage
HttpMessage
PHP Manual

HttpMessage::getHttpVersion

(PECL pecl_http >= 0.10.0)

HttpMessage::getHttpVersion — Consultar versión de HTTP

Descripción

public string HttpMessage::getHttpVersion ( void )

Consulta la versión del protocolo HTTP del mensaje.

Valores devueltos

Devuelve en forma de string la versión del protocolo HTTP.

HttpMessage::getHeaders
HttpMessage::getParentMessage
HttpMessage


Consultar mensaje padre

HttpMessage::getHttpVersion
HttpMessage::getRequestMethod
HttpMessage
PHP Manual

HttpMessage::getParentMessage

(PECL pecl_http >= 0.10.0)

HttpMessage::getParentMessage — Consultar mensaje padre

Descripción

public HttpMessage HttpMessage::getParentMessage ( void )

Consulta el mensaje padre.

Valores devueltos

Devuelve el objeto padre HttpMessage.

Errores/Excepciones

Emite HttpRuntimeException.

HttpMessage::getHttpVersion
HttpMessage::getRequestMethod
HttpMessage


Consultar método de petición

HttpMessage::getParentMessage
HttpMessage::getRequestUrl
HttpMessage
PHP Manual

HttpMessage::getRequestMethod

(PECL pecl_http >= 0.10.0)

HttpMessage::getRequestMethod — Consultar método de petición

Descripción

public string HttpMessage::getRequestMethod ( void )

Consulta el método de petición del mensaje.

Valores devueltos

En caso de éxito devuelve el nombre del método de petición, o FALSE si el mensaje no es del tipo HttpMessage::TYPE_REQUEST.

HttpMessage::getParentMessage
HttpMessage::getRequestUrl
HttpMessage


Consultar URL de la petición

HttpMessage::getRequestMethod
HttpMessage::getResponseCode
HttpMessage
PHP Manual

HttpMessage::getRequestUrl

(PECL pecl_http >= 0.21.0)

HttpMessage::getRequestUrl — Consultar URL de la petición

Descripción

public string HttpMessage::getRequestUrl ( void )

Consulta la URL de petición del mensaje.

Parámetros

Valores devueltos

En caso de éxito devuelve la URL de petición en forma de string, o FALSE si el mensaje no es del tipo HttpMessage::TYPE_REQUEST.

HttpMessage::getRequestMethod
HttpMessage::getResponseCode
HttpMessage


Consultar código de respuesta

HttpMessage::getRequestUrl
HttpMessage::getResponseStatus
HttpMessage
PHP Manual

HttpMessage::getResponseCode

(PECL pecl_http >= 0.10.0)

HttpMessage::getResponseCode — Consultar código de respuesta

Descripción

public int HttpMessage::getResponseCode ( void )

Consulta el Código de Respuesta del Mensaje.

Valores devueltos

Si el mensaje es del tipo HttpMessage::TYPE_RESPONSE, devuelve el código de respuesta HTTP, y si no, FALSE.

HttpMessage::getRequestUrl
HttpMessage::getResponseStatus
HttpMessage


Consultar estado de la respuesta

HttpMessage::getResponseCode
HttpMessage::getType
HttpMessage
PHP Manual

HttpMessage::getResponseStatus

(PECL pecl_http >= 0.23.0)

HttpMessage::getResponseStatus — Consultar estado de la respuesta

Descripción

public string HttpMessage::getResponseStatus ( void )

Consulta el Estado de Respuesta del mensaje (es decir, el texto que sigue al código de respuesta).

Valores devueltos

Devuelve la cadena del estado de respuesta HTTP, siempre y cuando el mensaje sea de tipo HttpMessage::TYPE_RESPONSE, en cualquier otro caso, FALSE.

HttpMessage::getResponseCode
HttpMessage::getType
HttpMessage


Consultar tipo de mensaje

HttpMessage::getResponseStatus
HttpMessage::guessContentType
HttpMessage
PHP Manual

HttpMessage::getType

(PECL pecl_http >= 0.10.0)

HttpMessage::getType — Consultar tipo de mensaje

Descripción

public int HttpMessage::getType ( void )

Consulta el tipo de mensaje. Puede ser HTTP_MSG_NONE, HTTP_MSG_REQUEST o HTTP_MSG_RESPONSE.

Valores devueltos

Devuelve el valor de HttpMessage::TYPE.

HttpMessage::getResponseStatus
HttpMessage::guessContentType
HttpMessage


Averiguar el tipo de contenido

HttpMessage::getType
HttpMessage::prepend
HttpMessage
PHP Manual

HttpMessage::guessContentType

(PECL pecl_http >= 1.0.0)

HttpMessage::guessContentType — Averiguar el tipo de contenido

Descripción

public string HttpMessage::guessContentType ( string $magic_file [, int $magic_mode = MAGIC_MIME ] )

Mediante libmagic, trata de averiguar el tipo de contenido del cuerpo del mensaje.

Parámetros

magic_file

base de datos magic.mime para utilizar

magic_mode

banderas para libmagic

Valores devueltos

En caso de éxito devuelve el supuesto tipo de contenido o FALSE en caso de error.

Errores/Excepciones

Emite HttpRuntimeException, HttpInvalidParamException.

HttpMessage::getType
HttpMessage::prepend
HttpMessage


Añadir mensaje/s en la primera posición

HttpMessage::guessContentType
HttpMessage::reverse
HttpMessage
PHP Manual

HttpMessage::prepend

(PECL pecl_http >= 0.22.0)

HttpMessage::prepend — Añadir mensaje/s en la primera posición

Descripción

public void HttpMessage::prepend ( HttpMessage $message [, bool $top = true ] )

Añade uno o varios mensajes en la primera posición del objeto HttpMessage.

Parámetros

message

objeto HttpMessage a añadir

top

indica si se añade al comienzo o no el mensaje

Errores/Excepciones

Emite HttpInvalidParamException si el mensaje ya estuviera ubicado dentro de la cadena de mensajes.

HttpMessage::guessContentType
HttpMessage::reverse
HttpMessage


Invertir cadena de mensajes

HttpMessage::prepend
HttpMessage::send
HttpMessage
PHP Manual

HttpMessage::reverse

(PECL pecl_http >= 0.23.0)

HttpMessage::reverse — Invertir cadena de mensajes

Descripción

public HttpMessage HttpMessage::reverse ( void )

Reordena la cadena de mensajes en orden inverso.

Valores devueltos

Devuelve el nodo padre de todos los demás objetos HttpMessage.

HttpMessage::prepend
HttpMessage::send
HttpMessage


Enviar mensaje

HttpMessage::reverse
HttpMessage::setBody
HttpMessage
PHP Manual

HttpMessage::send

(PECL pecl_http >= 0.10.0)

HttpMessage::send — Enviar mensaje

Descripción

public bool HttpMessage::send ( void )

De acuerdo a su tipo, envía un mensaje como Respuesta o como Petición.

En comparación con HttpRequest y HttpResponse tiene un comportamiento bastante limitado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

HttpMessage::reverse
HttpMessage::setBody
HttpMessage


Establecer cuerpo del mensaje

HttpMessage::send
HttpMessage::setHeaders
HttpMessage
PHP Manual

HttpMessage::setBody

(PECL pecl_http >= 0.14.0)

HttpMessage::setBody — Establecer cuerpo del mensaje

Descripción

public void HttpMessage::setBody ( string $body )

Establece el cuerpo del objeto HttpMessage.

Nota:

No olvide actualizar las cabeceras que correspondan.

Parámetros

body

nuevo cuerpo del mensaje

HttpMessage::send
HttpMessage::setHeaders
HttpMessage


Establecer cabeceras

HttpMessage::setBody
HttpMessage::setHttpVersion
HttpMessage
PHP Manual

HttpMessage::setHeaders

(PECL pecl_http >= 0.10.0)

HttpMessage::setHeaders — Establecer cabeceras

Descripción

public void HttpMessage::setHeaders ( array $headers )

Establece nuevas cabeceras.

Parámetros

headers

array asociativo que contiene las nuevas cabeceras HTTP, que reemplazará todas las cabeceras HTTP que tuviera el mensaje

HttpMessage::setBody
HttpMessage::setHttpVersion
HttpMessage


Establecer versión de HTTP

HttpMessage::setHeaders
HttpMessage::setRequestMethod
HttpMessage
PHP Manual

HttpMessage::setHttpVersion

(PECL pecl_http >= 0.10.0)

HttpMessage::setHttpVersion — Establecer versión de HTTP

Descripción

public bool HttpMessage::setHttpVersion ( string $version )

Establece la versión del protocolo HTTP del mensaje.

Parámetros

version

versión del protocolo HTTP

Valores devueltos

En caso de éxito devuelve TRUE, o FALSE si la versión estuviera fuera de rango (1.0/1.1).

HttpMessage::setHeaders
HttpMessage::setRequestMethod
HttpMessage


Establecer método de petición

HttpMessage::setHttpVersion
HttpMessage::setRequestUrl
HttpMessage
PHP Manual

HttpMessage::setRequestMethod

(PECL pecl_http >= 0.10.0)

HttpMessage::setRequestMethod — Establecer método de petición

Descripción

public bool HttpMessage::setRequestMethod ( string $method )

Establece el método de petición del mensaje HTTP.

Parámetros

method

nombre del método de petición

Valores devueltos

En caso de éxito devuelve TRUE, o FALSE si el mensaje no fuera del tipo HttpMessage::TYPE_REQUEST o si el método de petición proporcionado fuera inválido.

HttpMessage::setHttpVersion
HttpMessage::setRequestUrl
HttpMessage


Establecer URL de petición

HttpMessage::setRequestMethod
HttpMessage::setResponseCode
HttpMessage
PHP Manual

HttpMessage::setRequestUrl

(PECL pecl_http >= 0.21.0)

HttpMessage::setRequestUrl — Establecer URL de petición

Descripción

public bool HttpMessage::setRequestUrl ( string $url )

Establece la URL de la petición del mensaje HTTP.

Parámetros

url

URL de petición

Valores devueltos

En caso de éxito devuelve TRUE, o FALSE si el mensaje no fuera del tipo HttpMessage::TYPE_REQUEST o si la URL estuviera vacía.

HttpMessage::setRequestMethod
HttpMessage::setResponseCode
HttpMessage


Establecer código de respuesta

HttpMessage::setRequestUrl
HttpMessage::setResponseStatus
HttpMessage
PHP Manual

HttpMessage::setResponseCode

(PECL pecl_http >= 0.10.0)

HttpMessage::setResponseCode — Establecer código de respuesta

Descripción

public bool HttpMessage::setResponseCode ( int $code )

Establece el código de respuesta de un mensaje de respuesta HTTP.

Parámetros

code

código de respuesta HTTP

Valores devueltos

En caso de éxito devuelve TRUE, o FALSE si el mensaje no fuera del tipo HttpMessage::TYPE_RESPONSE o si el código de respuesta estuviera fuera de rango (100-510).

HttpMessage::setRequestUrl
HttpMessage::setResponseStatus
HttpMessage


Establecer Estado de Respuesta

HttpMessage::setResponseCode
HttpMessage::setType
HttpMessage
PHP Manual

HttpMessage::setResponseStatus

(PECL pecl_http >= 0.23.0)

HttpMessage::setResponseStatus — Establecer Estado de Respuesta

Descripción

public bool HttpMessage::setResponseStatus ( string $status )

Establece el Estado de Respuesta del mensaje HTTP (es decir, el texto que sigue al código de respuesta).

Parámetros

status

texto del estado de respuesta

Valores devueltos

En caso de éxito devuelve TRUE, o FALSE si el mensaje no fuera del tipo HttpMessage::TYPE_RESPONSE.

HttpMessage::setResponseCode
HttpMessage::setType
HttpMessage


Establecer tipo de mensaje

HttpMessage::setResponseStatus
HttpMessage::toMessageTypeObject
HttpMessage
PHP Manual

HttpMessage::setType

(PECL pecl_http >= 0.10.0)

HttpMessage::setType — Establecer tipo de mensaje

Descripción

public void HttpMessage::setType ( int $type )

Establece el tipo de mensaje. Puede ser HTTP_MSG_NONE, HTTP_MSG_REQUEST o HTTP_MSG_RESPONSE.

Parámetros

type

valor de HttpMessage::TYPE_*

HttpMessage::setResponseStatus
HttpMessage::toMessageTypeObject
HttpMessage


Crear un objeto HTTP de acuerdo al tipo de mensaje

HttpMessage::setType
HttpMessage::toString
HttpMessage
PHP Manual

HttpMessage::toMessageTypeObject

(PECL pecl_http >= 0.22.0)

HttpMessage::toMessageTypeObject — Crear un objeto HTTP de acuerdo al tipo de mensaje

Descripción

public HttpRequest|HttpResponse HttpMessage::toMessageTypeObject ( void )

Crea un objeto de acuerdo al tipo de mensaje.

Parámetros

Valores devueltos

En caso de éxito devuelve un objeto HttpRequest o HttpResponse, o NULL en caso de error.

Errores/Excepciones

Emite HttpRuntimeException, HttpMessageTypeException, HttpHeaderException.

HttpMessage::setType
HttpMessage::toString
HttpMessage


Representación en formato string

HttpMessage::toMessageTypeObject
HttpQueryString
HttpMessage
PHP Manual

HttpMessage::toString

(PECL pecl_http >= 0.10.0)

HttpMessage::toString — Representación en formato string

Descripción

public string HttpMessage::toString ([ bool $include_parent = false ] )

Consulta la representación en formato string del mensaje.

Parámetros

include_parent

indica si el string de retorno debe contener o no mensajes padre.

Valores devueltos

Devuelve el mensaje en forma de string.

HttpMessage::toMessageTypeObject
HttpQueryString
HttpMessage


Clase HttpQueryString

(PECL pecl_http >= 0.22.0)

Sinopsis de la Clase

HttpQueryString implements ArrayAccess , Serializable {
final public __construct ([ bool $global = true [, mixed $add ]] )
public mixed get ([ string $key [, mixed $type = 0 [, mixed $defval = NULL [, bool $delete = false ]]]] )
public HttpQueryString mod ( mixed $params )
public string set ( mixed $params )
static public HttpQueryString singleton ([ bool $global = true ] )
public array toArray ( void )
public string toString ( void )
public bool xlate ( string $ie , string $oe )
}

Elementos de la clase

Propiedades

Propiedades de instancia
Modificadores de acceso | Tipo | Nombre | Descripción
private | array | queryArray | parámetros de la petición
private | string | queryString | parámetros de la petición serializados
Propiedades estáticas
Modificadores de acceso | Tipo | Nombre | Descripción
private | array | instance | contiene singletons

Constantes predefinidas

Tipo | Nombre | Descripción
int | TYPE_BOOL | recupera el parámetro de la petición como bool
int | TYPE_INT | recupera el parámetro de la petición como int
int | TYPE_FLOAT | recupera el parámetro de la petición como float
int | TYPE_STRING | recupera el parámetro de la petición como string
int | TYPE_ARRAY | recupera el parámetro de la petición como array
int | TYPE_OBJECT | recupera el parámetro de la petición como object

Tabla de contenidos

  • HttpQueryString::__construct — Constructor de HttpQueryString
  • HttpQueryString::get — Obtener (parte de) una consulta
  • HttpQueryString::mod — Modifica una copia de una consulta
  • HttpQueryString::set — Añade un parámetro a una consulta
  • HttpQueryString::singleton — Singleton HttpQueryString
  • HttpQueryString::toArray — Obtiene el query string como array
  • HttpQueryString::toString — Obtener string de la consulta
  • HttpQueryString::xlate — Cambia el juego de caracteres de la consulta
HttpMessage::toString
HttpQueryString::__construct
HTTP


Constructor de HttpQueryString

HttpQueryString
HttpQueryString::get
HttpQueryString
PHP Manual

HttpQueryString::__construct

(PECL pecl_http >= 0.22.0)

HttpQueryString::__construct — Constructor de HttpQueryString

Descripción

final public HttpQueryString::__construct ([ bool $global = true [, mixed $add ]] )

Crea una nueva instancia de un objeto HttpQueryString.

Siempre que global está a TRUE, actualiza y usa las variables $_GET y $_SERVER['QUERY_STRING'].

Parámetros

global

define si se opera sobre $_GET o sobre $_SERVER['QUERY_STRING']

add

parámetros adiciones/iniciales de la cadena de consulta

Errores/Excepciones

Lanza HttpRuntimeException.

HttpQueryString
HttpQueryString::get
HttpQueryString


Obtener (parte de) una consulta

HttpQueryString::__construct
HttpQueryString::mod
HttpQueryString
PHP Manual

HttpQueryString::get

(PECL pecl_http >= 0.22.0)

HttpQueryString::get — Obtener (parte de) una consulta

Descripción

public mixed HttpQueryString::get ([ string $key [, mixed $type = 0 [, mixed $defval = NULL [, bool $delete = false ]]]] )

Obtener (parte de) una consulta.

El parámetro type es o bien una de las constantes de HttpQueryString::TYPE_* o un tipo abreviado como "b" para boolean, "i" para enteros, "f" para reales, "s" para string, "a" para arrays y "o" para un objeto stdClass.

Parámetros

key

clave del parámetro a obtener de la consulta

type

tipo de variable al que forzar

defval

valor por omisión si no existiera la clave

delete

si se debe o no eliminar la clave/valor de la cadena de consulta

Valores devueltos

Si no se especifica ninguna clave, se devuelve la consulta completa. Si no, el valor del parámetro consultado. Si no existiera la clave, se devolvería el valor del parámetro defval.

HttpQueryString::__construct
HttpQueryString::mod
HttpQueryString


Modifica una copia de una consulta

HttpQueryString::get
HttpQueryString::set
HttpQueryString
PHP Manual

HttpQueryString::mod

(PECL pecl_http >= 1.1.0)

HttpQueryString::mod — Modifica una copia de una consulta

Descripción

public HttpQueryString HttpQueryString::mod ( mixed $params )

Copia el objeto de la consulta, y modifica los parámetros deseados sobre la copia.

Parámetros

params

parámetros de consulta a añadir

Valores devueltos

Devuelve un nuevo objeto HttpQueryString

HttpQueryString::get
HttpQueryString::set
HttpQueryString


Añade un parámetro a una consulta

HttpQueryString::mod
HttpQueryString::singleton
HttpQueryString
PHP Manual

HttpQueryString::set

(PECL pecl_http >= 0.22.0)

HttpQueryString::set — Añade un parámetro a una consulta

Descripción

public string HttpQueryString::set ( mixed $params )

Asigna uno o más parámetros a una consulta. Si fuera NULL, se restablecería la variable.

Parámetros

params

parámetros a añadir a la consulta

Valores devueltos

Devuelve la consulta actual.

HttpQueryString::mod
HttpQueryString::singleton
HttpQueryString


Singleton HttpQueryString

HttpQueryString::set
HttpQueryString::toArray
HttpQueryString
PHP Manual

HttpQueryString::singleton

(PECL pecl_http >= 0.25.0)

HttpQueryString::singleton — Singleton HttpQueryString

Descripción

static public HttpQueryString HttpQueryString::singleton ([ bool $global = true ] )

Obtiene una única instancia (hace distinción dependiendo del valor del paámetro global).

Parámetros

global

si se opera en $_GET o $_SERVER['QUERY_STRING']

Valores devueltos

Siempre devuelve la misma instancia de HttpQueryString, teniendo en cuenta el parámetro global.

Errores/Excepciones

Lanza HttpRuntimeException.

HttpQueryString::set
HttpQueryString::toArray
HttpQueryString


Obtiene el query string como array

HttpQueryString::singleton
HttpQueryString::toString
HttpQueryString
PHP Manual

HttpQueryString::toArray

(PECL pecl_http >= 0.22.0)

HttpQueryString::toArray — Obtiene el query string como array

Descripción

public array HttpQueryString::toArray ( void )

Obtiene el query string representado como array asociativo.

Valores devueltos

Devuelve la representación del query string.

HttpQueryString::singleton
HttpQueryString::toString
HttpQueryString


Obtener string de la consulta

HttpQueryString::toArray
HttpQueryString::xlate
HttpQueryString
PHP Manual

HttpQueryString::toString

(PECL pecl_http >= 0.22.0)

HttpQueryString::toString — Obtener string de la consulta

Descripción

public string HttpQueryString::toString ( void )

Obtiene la consulta en formato string.

Parámetros

Valores devueltos

Devuelve la representación en texto de la consulta.

HttpQueryString::toArray
HttpQueryString::xlate
HttpQueryString


Cambia el juego de caracteres de la consulta

HttpQueryString::toString
HttpRequest
HttpQueryString
PHP Manual

HttpQueryString::xlate

(PECL pecl_http >= 0.25.0)

HttpQueryString::xlate — Cambia el juego de caracteres de la consulta

Descripción

public bool HttpQueryString::xlate ( string $ie , string $oe )

Convierte la consulta de la codificación de entrada (ie) a la de salida (oe).

Advertencia

No utilice ningún juego de caracteres que pueda contener bytes NUL como UTF-16.

Nota:

Este método necesita ext/iconv para poder habilitarse y ejecutarse.

Parámetros

ie

codificación de entrada (input encoding)

oe

codificación de salida (output encoding)

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

HttpQueryString::toString
HttpRequest
HttpQueryString


Clase HttpRequest

(PECL pecl_http 0.7.0)

Sinopsis de la Clase

HttpRequest {
public bool addCookies ( array $cookies )
public bool addHeaders ( array $headers )
public bool addPostFields ( array $post_data )
public bool addPostFile ( string $name , string $file [, string $content_type = "application/x-octetstream" ] )
public bool addPutData ( string $put_data )
public bool addQueryData ( array $query_params )
public bool addRawPostData ( string $raw_post_data )
public bool addSslOptions ( array $options )
public void clearHistory ( void )
public __construct ([ string $url [, int $request_method = HTTP_METH_GET [, array $options ]]] )
public bool enableCookies ( void )
public string getContentType ( void )
public array getCookies ( void )
public array getHeaders ( void )
public HttpMessage getHistory ( void )
public int getMethod ( void )
public array getOptions ( void )
public array getPostFields ( void )
public array getPostFiles ( void )
public string getPutData ( void )
public string getPutFile ( void )
public string getQueryData ( void )
public string getRawPostData ( void )
public string getRawRequestMessage ( void )
public string getRawResponseMessage ( void )
public HttpMessage getRequestMessage ( void )
public string getResponseBody ( void )
public int getResponseCode ( void )
public array getResponseCookies ([ int $flags = 0 [, array $allowed_extras ]] )
public array getResponseData ( void )
public mixed getResponseHeader ([ string $name ] )
public mixed getResponseInfo ([ string $name ] )
public HttpMessage getResponseMessage ( void )
public string getResponseStatus ( void )
public array getSslOptions ( void )
public string getUrl ( void )
public bool resetCookies ([ bool $session_only = false ] )
public HttpMessage send ( void )
bool setBody ([ string $request_body_data ] )
public bool setContentType ( string $content_type )
public bool setCookies ([ array $cookies ] )
public bool setHeaders ([ array $headers ] )
public bool setMethod ( int $request_method )
public bool setOptions ([ array $options ] )
public bool setPostFields ( array $post_data )
public bool setPostFiles ( array $post_files )
public bool setPutData ([ string $put_data ] )
public bool setPutFile ([ string $file = "" ] )
public bool setQueryData ( mixed $query_data )
public bool setRawPostData ([ string $raw_post_data ] )
public bool setSslOptions ([ array $options ] )
public bool setUrl ( string $url )
}

Elementos de la clase

Propiedades

Propiedades de instancia
Modificadores de acceso | Tipo | Nombre | Descripción
private | array | options | opciones de la petición para configurar la petición; consulte opciones de peticiones
private array postFields datos del formulario:
array("fieldname" => "fieldvalue")
private array postFiles ficheros a subir:
array(array("name" => "image", "file" => "/home/u/images/u.png", "type" => "image/png"))
private | array | responseInfo | información (estadística) acerca de la petición/respuesta; consulte Información de petición/respuesta
private | HttpMessage | responseMessage | mensaje de la respuesta
private | integer | responseCode | código numérico del estado de la respuesta
private | string | responseStatus | texto literal del estado de la respuesta
private | integer | method | método de petición a utilizar
private | string | url | url de la petición
private | string | contentType | el tipo del contenido sin tratar a usar en las peticiones post
private | string | rawPostData | datos del envío sin tratar
private | string | queryData | parámetros de la petición
private | string | putFile | fichero a subir mediante una petición PUT
private | string | putData | datos sin tratar a subir mediante una petición PUT
private | HttpMessage | history | todo el registro histórico de las peticiones/respuestas si está activado el registro histórico
public | boolean | recordHistory | si se permite el registro histórico

Constantes predefinidas

Tipo | Nombre | Descripción
integer | METH_GET | método de petición GET
integer | METH_HEAD | método de petición HEAD
integer | METH_POST | método de petición POST
integer | METH_PUT | método de petición PUT
integer | METH_DELETE | método de petición DELETE
integer | METH_OPTIONS | método de petición OPTIONS
integer | METH_TRACE | método de petición TRACE
integer | METH_CONNECT | método de petición CONNECT
integer | METH_PROPFIND | método de petición PROPFIND
integer | METH_PROPPATCH | método de petición PROPPATCH
integer | METH_MKCOL | método de petición MKCOL
integer | METH_COPY | método de petición COPY
integer | METH_MOVE | método de petición MOVE
integer | METH_LOCK | método de petición LOCK
integer | METH_UNLOCK | método de petición UNLOCK
integer | METH_VERSION_CONTROL | método de petición VERSION-CONTROL
integer | METH_REPORT | método de petición REPORT
integer | METH_CHECKOUT | método de petición CHECKOUT
integer | METH_CHECKIN | método de petición CHECKIN
integer | METH_UNCHECKOUT | método de petición UNCHECKOUT
integer | METH_MKWORKSPACE | método de petición MKWORKSPACE
integer | METH_UPDATE | método de petición UPDATE
integer | METH_LABEL | método de petición LABEL
integer | METH_MERGE | método de petición MERGE
integer | METH_BASELINE_CONTROL | método de petición BASELINE-CONTROL
integer | METH_MKACTIVITY | método de petición MKACTIVITY
integer | METH_ACL | método de petición ACL
integer | VERSION_1_0 | protocolo HTTP versión 1.0
integer | VERSION_1_1 | protocolo HTTP versión 1.1
integer | VERSION_ANY | cualquier versión del protocolo HTTP
integer | AUTH_BASIC | autentificación básica
integer | AUTH_DIGEST | autentificación digest
integer | AUTH_NTLM | autentificación NTLM
integer | AUTH_GSSNEG | autentificación por negociado GSS
integer | AUTH_ANY | cualquier autentificación
integer | PROXY_SOCKS4 | proxy SOCKS v4
integer | PROXY_SOCKS5 | proxy SOCKS v5
integer | PROXY_HTTP | proxy HTTP
integer | SSL_VERSION_TLSv1 | utilizar TLS v1
integer | SSL_VERSION_SSLv2 | utilizar SSL v2
integer | SSL_VERSION_SSLv3 | utilizar SSL v3
integer | SSL_VERSION_ANY | utilizar cualquier método SSL/TLS
integer | IPRESOLVE_V4 | resolver sólo a través de IPv4
integer | IPRESOLVE_V6 | resolver sólo a través de IPv6
integer | IPRESOLVE_ANY | resolver mediante cualquier método

Tabla de contenidos

  • HttpRequest::addCookies — Añadir cookies
  • HttpRequest::addHeaders — Añadir cabeceras
  • HttpRequest::addPostFields — Añadir campos post
  • HttpRequest::addPostFile — Añadir ficheros por post
  • HttpRequest::addPutData — Añadir datos en PUT
  • HttpRequest::addQueryData — Añadir datos a consulta
  • HttpRequest::addRawPostData — Añadir datos binarios en POST
  • HttpRequest::addSslOptions — Añadir opciones de certificados digitales
  • HttpRequest::clearHistory — Eliminar histórico
  • HttpRequest::__construct — Constructor del objeto HttpRequest
  • HttpRequest::enableCookies — Habilitar cookies
  • HttpRequest::getContentType — Obtener el tipo de contenido
  • HttpRequest::getCookies — Obtener cookies
  • HttpRequest::getHeaders — Obtener cabceras
  • HttpRequest::getHistory — Obtener histórico
  • HttpRequest::getMethod — Obtener método
  • HttpRequest::getOptions — Obtener opciones
  • HttpRequest::getPostFields — Obtener campost POST
  • HttpRequest::getPostFiles — Obtener ficheros POST
  • HttpRequest::getPutData — Obtener datos PUT
  • HttpRequest::getPutFile — Obtener un fichero PUT
  • HttpRequest::getQueryData — Obtener datos de la consulta
  • HttpRequest::getRawPostData — Obtener datos binarios de POST
  • HttpRequest::getRawRequestMessage — Obtener mensaje de petición binaria
  • HttpRequest::getRawResponseMessage — Obtener mensajes de respuestas binarias
  • HttpRequest::getRequestMessage — Obtener mensaje de petición
  • HttpRequest::getResponseBody — Obtener el cuerpo de la respuesta
  • HttpRequest::getResponseCode — Obtener el código de la respuesta
  • HttpRequest::getResponseCookies — Obtener las cookie/s de la respuesta
  • HttpRequest::getResponseData — Obtener los datos de la respuesta
  • HttpRequest::getResponseHeader — Obtener las cabecera/s de la respuesta
  • HttpRequest::getResponseInfo — Obtener información de la respuesta
  • HttpRequest::getResponseMessage — Obtener mensaje de la respuesta
  • HttpRequest::getResponseStatus — Obtener estado de la respuesta
  • HttpRequest::getSslOptions — Obtener opciones de los certificados digitales
  • HttpRequest::getUrl — Obtener URL
  • HttpRequest::resetCookies — Reiniciar las cookies
  • HttpRequest::send — Enviar petición
  • HttpRequest::setBody — Establece el cotenido de la petición a enviar, sobreescribiendo el contenido de la petición anterior
  • HttpRequest::setContentType — Establecer el tipo de contenido
  • HttpRequest::setCookies — Establecer las cookies
  • HttpRequest::setHeaders — Establecer las cabeceras
  • HttpRequest::setMethod — Establecer método
  • HttpRequest::setOptions — Establecer las opciones
  • HttpRequest::setPostFields — Establecer campos POST
  • HttpRequest::setPostFiles — Establecer los ficheros POST
  • HttpRequest::setPutData — Establecer datos de PUT
  • HttpRequest::setPutFile — Establecer un fichero PUT
  • HttpRequest::setQueryData — Establecer datos de la consulta
  • HttpRequest::setRawPostData — Establecer datos POST binarios
  • HttpRequest::setSslOptions — Establecer las opciones de certificados digitales
  • HttpRequest::setUrl — Establecer la URL
HttpQueryString::xlate
HttpRequest::addCookies
HTTP


Añadir cookies

HttpRequest
HttpRequest::addHeaders
HttpRequest
PHP Manual

HttpRequest::addCookies

(PECL pecl_http >= 0.10.0)

HttpRequest::addCookies — Añadir cookies

Descripción

public bool HttpRequest::addCookies ( array $cookies )

Añadir cookies personalizadas.

Nota: Las solicitud de opción encodecookies controla si los valores de las cookies deberían ser procesados con urlencode().

Nota: Afecta a cualquier método requerido.

Parámetros

cookies

array asociativo que contiene todos los pares de cookies a añadir en la forma nombre/valor

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de HttpRequest::addCookies()

<?php
$r = new HttpRequest;
$r->addCookies(
    array(
        "cookie_name" => "cookie value",
    )
);
?>

Ver también

  • HttpRequest::setCookies() - Establecer las cookies

HttpRequest
HttpRequest::addHeaders
HttpRequest


Añadir cabeceras

HttpRequest::addCookies
HttpRequest::addPostFields
HttpRequest
PHP Manual

HttpRequest::addHeaders

(PECL pecl_http >= 0.10.0)

HttpRequest::addHeaders — Añadir cabeceras

Descripción

public bool HttpRequest::addHeaders ( array $headers )

Añade cabeceras a la petición, en la forma nombre/valor.

Parámetros

headers

array asociativo que contiene las cabeceras adicionales en forma nombre/valor

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

HttpRequest::addCookies
HttpRequest::addPostFields
HttpRequest


Añadir campos post

HttpRequest::addHeaders
HttpRequest::addPostFile
HttpRequest
PHP Manual

HttpRequest::addPostFields

(PECL pecl_http >= 0.10.0)

HttpRequest::addPostFields — Añadir campos post

Descripción

public bool HttpRequest::addPostFields ( array $post_data )

Añade datos de tipo POST, dejando los valores anteriores intactos, a no ser que se añada otra entrada con el mismo nombre.

Sólo afecta a las peticiones POST y a las peticiones personalizadas.

Parámetros

post_data

array asociativo que contiene los campos post

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

HttpRequest::addHeaders
HttpRequest::addPostFile
HttpRequest


Añadir ficheros por post

HttpRequest::addPostFields
HttpRequest::addPutData
HttpRequest
PHP Manual

HttpRequest::addPostFile

(PECL pecl_http >= 0.10.0)

HttpRequest::addPostFile — Añadir ficheros por post

Descripción

public bool HttpRequest::addPostFile ( string $name , string $file [, string $content_type = "application/x-octetstream" ] )

Añade un fichero a la petición POST, dejando intactos los ficheros anteriores.

Sólo afecta a las peticiones POST o de tipo personalizado. No puede usarse con datos post binarios.

Parámetros

name

nombre del elemento del formulario

file

ruta del fichero

content_type

contenido del fichero

Valores devueltos

Si ha habido éxito, devuelve TRUE. Si el tipo de contenido parece no tener una parte primaria y secundaria de tipo de contenido, devuelve FALSE.

HttpRequest::addPostFields
HttpRequest::addPutData
HttpRequest


Añadir datos en PUT

HttpRequest::addPostFile
HttpRequest::addQueryData
HttpRequest
PHP Manual

HttpRequest::addPutData

(PECL pecl_http >= 0.25.0)

HttpRequest::addPutData — Añadir datos en PUT

Descripción

public bool HttpRequest::addPutData ( string $put_data )

Añade datos en una petición PUT, dejando intactos los datos anteriores.

Sólo afecta a las peticiones de tipo PUT.

Parámetros

put_data

Datos a concatenar

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

HttpRequest::addPostFile
HttpRequest::addQueryData
HttpRequest


Añadir datos a consulta

HttpRequest::addPutData
HttpRequest::addRawPostData
HttpRequest
PHP Manual

HttpRequest::addQueryData

(PECL pecl_http >= 0.10.0)

HttpRequest::addQueryData — Añadir datos a consulta

Descripción

public bool HttpRequest::addQueryData ( array $query_params )

Añade parámetros a la lista de parámetros de la consulta, dejando los anteriores intactos.

Afecta a todos los tipos de peticiones.

Parámetros

query_params

array asociativo que contenga todos los campos a añadir a la consulta

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

HttpRequest::addPutData
HttpRequest::addRawPostData
HttpRequest


Añadir datos binarios en POST

HttpRequest::addQueryData
HttpRequest::addSslOptions
HttpRequest
PHP Manual

HttpRequest::addRawPostData

(PECL pecl_http 0.14.0-1.4.1)

HttpRequest::addRawPostData — Añadir datos binarios en POST

Descripción

public bool HttpRequest::addRawPostData ( string $raw_post_data )

Añade datos binarios a una petición POST, dejando los datos binarios anteriores intactos.

Sólo afecta a las peticiones de tipo POST y de tipo personalizado.

Parámetros

raw_post_data

datos binarios a contactenar

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

HttpRequest::addQueryData
HttpRequest::addSslOptions
HttpRequest


Añadir opciones de certificados digitales

HttpRequest::addRawPostData
HttpRequest::clearHistory
HttpRequest
PHP Manual

HttpRequest::addSslOptions

(PECL pecl_http >= 0.12.0)

HttpRequest::addSslOptions — Añadir opciones de certificados digitales

Descripción

public bool HttpRequest::addSslOptions ( array $options )

Añade opciones adicionales de certificados digitales SSL.

Parámetros

options

array asociativo que contiene opciones SSL específicas adicionales

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

HttpRequest::addRawPostData
HttpRequest::clearHistory
HttpRequest


Eliminar histórico

HttpRequest::addSslOptions
HttpRequest::__construct
HttpRequest
PHP Manual

HttpRequest::clearHistory

(PECL pecl_http >= 0.15.0)

HttpRequest::clearHistory — Eliminar histórico

Descripción

public void HttpRequest::clearHistory ( void )

Elimina todos los mensajes del histórico.

Nota:

El histórico sólo se registra si recordHistory estaba habilitado.

HttpRequest::addSslOptions
HttpRequest::__construct
HttpRequest


Constructor del objeto HttpRequest

HttpRequest::clearHistory
HttpRequest::enableCookies
HttpRequest
PHP Manual

HttpRequest::__construct

(PECL pecl_http >= 0.10.0)

HttpRequest::__construct — Constructor del objeto HttpRequest

Descripción

public HttpRequest::__construct ([ string $url [, int $request_method = HTTP_METH_GET [, array $options ]]] )

Instancia un nuevo objeto de tipo HttpRequest.

Parámetros

url

url de la petición de destino

request_method

método de petición a usar

options

array asociativo con las opciones de la petición

Errores/Excepciones

Lanza HttpException.

HttpRequest::clearHistory
HttpRequest::enableCookies
HttpRequest


Habilitar cookies

HttpRequest::__construct
HttpRequest::getContentType
HttpRequest
PHP Manual

HttpRequest::enableCookies

(PECL pecl_http >= 1.0.0)

HttpRequest::enableCookies — Habilitar cookies

Descripción

public bool HttpRequest::enableCookies ( void )

Habilita el envío automático de las cookies recibidas.

Nota:

Tenga en cuenta que en cualquier caso las cookies personalizadas se enviarán.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

HttpRequest::__construct
HttpRequest::getContentType
HttpRequest


Obtener el tipo de contenido

HttpRequest::enableCookies
HttpRequest::getCookies
HttpRequest
PHP Manual

HttpRequest::getContentType

(PECL pecl_http >= 0.10.0)

HttpRequest::getContentType — Obtener el tipo de contenido

Descripción

public string HttpRequest::getContentType ( void )

Obtiene el tipo de contenido establecido anteriormente.

Valores devueltos

Devuelve el tipo de contenido establecido anteriormente en forma de string.

HttpRequest::enableCookies
HttpRequest::getCookies
HttpRequest


Obtener cookies

HttpRequest::getContentType
HttpRequest::getHeaders
HttpRequest
PHP Manual

HttpRequest::getCookies

(PECL pecl_http >= 0.10.0)

HttpRequest::getCookies — Obtener cookies

Descripción

public array HttpRequest::getCookies ( void )

Obtiene las cookies establecidas anteriormente.

Valores devueltos

Devuelve un array asociativo que contiene las cookies establecidas anteriormente.

HttpRequest::getContentType
HttpRequest::getHeaders
HttpRequest


Obtener cabceras

HttpRequest::getCookies
HttpRequest::getHistory
HttpRequest
PHP Manual

HttpRequest::getHeaders

(PECL pecl_http >= 0.10.0)

HttpRequest::getHeaders — Obtener cabceras

Descripción

public array HttpRequest::getHeaders ( void )

Obtiene las cabeceras establecidas anteriormente en la petición.

Valores devueltos

Devuelve un array asociativo que contiene todas las cabeceras actuales.

HttpRequest::getCookies
HttpRequest::getHistory
HttpRequest


Obtener histórico

HttpRequest::getHeaders
HttpRequest::getMethod
HttpRequest
PHP Manual

HttpRequest::getHistory

(PECL pecl_http >= 0.15.0)

HttpRequest::getHistory — Obtener histórico

Descripción

public HttpMessage HttpRequest::getHistory ( void )

Obtiene todas las peticiones enviadas y todas las respuestas recibidas en forma de objeto HttpMessage.

Si se desea mantener un registro del histórico, debe fijarse la variable HttpRequest::recordHistory a TRUE.

El objeto devuelto hacer referencia a la última respuesta recibida. Use HttpMessage::getParentMessage() para acceder a los datos de las peticiones o respuestas anteriores.

Valores devueltos

Devuelve un objeto HttpMessage que contiene el histórico completo de peticiones/respuestas.

Errores/Excepciones

Lanza HttpRuntimeException.

HttpRequest::getHeaders
HttpRequest::getMethod
HttpRequest


Obtener método

HttpRequest::getHistory
HttpRequest::getOptions
HttpRequest
PHP Manual

HttpRequest::getMethod

(PECL pecl_http >= 0.10.0)

HttpRequest::getMethod — Obtener método

Descripción

public int HttpRequest::getMethod ( void )

Obtiene el método de petición establecido anteriormente.

Valores devueltos

Devuelve el método de petición actual.

HttpRequest::getHistory
HttpRequest::getOptions
HttpRequest


Obtener opciones

HttpRequest::getMethod
HttpRequest::getPostFields
HttpRequest
PHP Manual

HttpRequest::getOptions

(PECL pecl_http >= 0.10.0)

HttpRequest::getOptions — Obtener opciones

Descripción

public array HttpRequest::getOptions ( void )

Obtiene las opciones actuales.

Valores devueltos

Devuelve un array asociativo que contiene las opciones actuales. Returns an associative array containing currently set options.

HttpRequest::getMethod
HttpRequest::getPostFields
HttpRequest


Obtener campost POST

HttpRequest::getOptions
HttpRequest::getPostFiles
HttpRequest
PHP Manual

HttpRequest::getPostFields

(PECL pecl_http >= 0.10.0)

HttpRequest::getPostFields — Obtener campost POST

Descripción

public array HttpRequest::getPostFields ( void )

Obtiene los datos POST asignados.

Parámetros

Valores devueltos

Devuelve un array asociativo que contiene todos los datos POST asignados.

HttpRequest::getOptions
HttpRequest::getPostFiles
HttpRequest


Obtener ficheros POST

HttpRequest::getPostFields
HttpRequest::getPutData
HttpRequest
PHP Manual

HttpRequest::getPostFiles

(PECL pecl_http >= 0.10.0)

HttpRequest::getPostFiles — Obtener ficheros POST

Descripción

public array HttpRequest::getPostFiles ( void )

Obtiene todos los ficheros POST que se hayan asignado.

Valores devueltos

Devuelve un array asociativo con todos los ficheros POST asignados.

HttpRequest::getPostFields
HttpRequest::getPutData
HttpRequest


Obtener datos PUT

HttpRequest::getPostFiles
HttpRequest::getPutFile
HttpRequest
PHP Manual

HttpRequest::getPutData

(PECL pecl_http >= 0.25.0)

HttpRequest::getPutData — Obtener datos PUT

Descripción

public string HttpRequest::getPutData ( void )

Obtiene los datos PUT asignados.

Valores devueltos

Devuelve un string que contiene todos los datos PUT asignados.

HttpRequest::getPostFiles
HttpRequest::getPutFile
HttpRequest


Obtener un fichero PUT

HttpRequest::getPutData
HttpRequest::getQueryData
HttpRequest
PHP Manual

HttpRequest::getPutFile

(PECL pecl_http >= 0.10.0)

HttpRequest::getPutFile — Obtener un fichero PUT

Descripción

public string HttpRequest::getPutFile ( void )

Obtiene el fichero PUT asignado.

Valores devueltos

Devuelve un string que contiene la ruta al fichero PUT asignado.

HttpRequest::getPutData
HttpRequest::getQueryData
HttpRequest


Obtener datos de la consulta

HttpRequest::getPutFile
HttpRequest::getRawPostData
HttpRequest
PHP Manual

HttpRequest::getQueryData

(PECL pecl_http >= 0.10.0)

HttpRequest::getQueryData — Obtener datos de la consulta

Descripción

public string HttpRequest::getQueryData ( void )

Obtiene los datos de la consulta actual en forma de consulta codificada como URL.

Valores devueltos

Devuelve un string que contiene la consulta codificada como URL.

HttpRequest::getPutFile
HttpRequest::getRawPostData
HttpRequest


Obtener datos binarios de POST

HttpRequest::getQueryData
HttpRequest::getRawRequestMessage
HttpRequest
PHP Manual

HttpRequest::getRawPostData

(PECL pecl_http 0.14.0-1.4.1)

HttpRequest::getRawPostData — Obtener datos binarios de POST

Descripción

public string HttpRequest::getRawPostData ( void )

Obtiene los datos bienarios asignados en POST.

Parámetros

Valores devueltos

Devuelve un string que contiene los datos binarios actuales de POST.

HttpRequest::getQueryData
HttpRequest::getRawRequestMessage
HttpRequest


Obtener mensaje de petición binaria

HttpRequest::getRawPostData
HttpRequest::getRawResponseMessage
HttpRequest
PHP Manual

HttpRequest::getRawRequestMessage

(PECL pecl_http >= 0.21.0)

HttpRequest::getRawRequestMessage — Obtener mensaje de petición binaria

Descripción

public string HttpRequest::getRawRequestMessage ( void )

Obtiene el mensaje HTTP enviado.

Parámetros

Valores devueltos

Devuelve un HttpMessage en forma de string.

HttpRequest::getRawPostData
HttpRequest::getRawResponseMessage
HttpRequest


Obtener mensajes de respuestas binarias

HttpRequest::getRawRequestMessage
HttpRequest::getRequestMessage
HttpRequest
PHP Manual

HttpRequest::getRawResponseMessage

(PECL pecl_http >= 0.21.0)

HttpRequest::getRawResponseMessage — Obtener mensajes de respuestas binarias

Descripción

public string HttpRequest::getRawResponseMessage ( void )

Obtiene las respuestas HTTP al completo.

Parámetros

Valores devueltos

Devuelve las respuestas completas del servidor web, incluyendo todas las cabeceras en forma de string.

HttpRequest::getRawRequestMessage
HttpRequest::getRequestMessage
HttpRequest


Obtener mensaje de petición

HttpRequest::getRawResponseMessage
HttpRequest::getResponseBody
HttpRequest
PHP Manual

HttpRequest::getRequestMessage

(PECL pecl_http >= 0.11.0)

HttpRequest::getRequestMessage — Obtener mensaje de petición

Descripción

public HttpMessage HttpRequest::getRequestMessage ( void )

Obtiene el mensaje HTTP enviado.

Si se permitieran las redirecciones, y se recibieran varias respuestas, los datos serían referentes a la última respuesta recibida. Utilize HttpMessage::getParentMessage() para acceder a los datos de peticiones anteriores del ciclo actual.

Nota:

Tenga en cuenta que un mensaje de petición interno es inmutable, esto significa que los mensajes de petición recibidos mediante HttpRequest::getRequestMessage() siempre serán iguales para una misma petición, independientemente de los cambios que se hayan realizado en el objeto devuelto.

Valores devueltos

Devuelve un objeto HttpMessage con la representación de la petición enviada.

Errores/Excepciones

Emite HttpMalformedHeadersException, HttpEncodingException.

HttpRequest::getRawResponseMessage
HttpRequest::getResponseBody
HttpRequest


Obtener el cuerpo de la respuesta

HttpRequest::getRequestMessage
HttpRequest::getResponseCode
HttpRequest
PHP Manual

HttpRequest::getResponseBody

(PECL pecl_http >= 0.10.0)

HttpRequest::getResponseBody — Obtener el cuerpo de la respuesta

Descripción

public string HttpRequest::getResponseBody ( void )

Obtiene el cuerpo de la respuesta, una vez que la petición se ha enviado.

Si se permitieran redirecciones, y se recibieran varias respuestas, los datos serían en referencia a la última respuesta recibida.

Parámetros

Valores devueltos

Devuelve un string que contiene el cuerpo de la respuesta.

HttpRequest::getRequestMessage
HttpRequest::getResponseCode
HttpRequest


Obtener el código de la respuesta

HttpRequest::getResponseBody
HttpRequest::getResponseCookies
HttpRequest
PHP Manual

HttpRequest::getResponseCode

(PECL pecl_http >= 0.10.0)

HttpRequest::getResponseCode — Obtener el código de la respuesta

Descripción

public int HttpRequest::getResponseCode ( void )

Obtiene el código de la respuesta, una vez que la petición se ha enviado.

Si se permitieran redirecciones, y se recibieran varias respuestas, los datos serían en referencia a la última respuesta recibida.

Valores devueltos

Devuelve un entero que representa al código de respuesta.

HttpRequest::getResponseBody
HttpRequest::getResponseCookies
HttpRequest


Obtener las cookie/s de la respuesta

HttpRequest::getResponseCode
HttpRequest::getResponseData
HttpRequest
PHP Manual

HttpRequest::getResponseCookies

(PECL pecl_http >= 0.23.0)

HttpRequest::getResponseCookies — Obtener las cookie/s de la respuesta

Descripción

public array HttpRequest::getResponseCookies ([ int $flags = 0 [, array $allowed_extras ]] )

Obtiene la/s cookie/s de la respuesta, una vez que la petición se ha enviado.

Si se permitieran redirecciones, y se recibieran varias respuestas, los datos serían en referencia a la última respuesta recibida.

Parámetros

flags

http_parse_cookie() flags

allowed_extras

claves permitidas manejadas como información adicional, en lugar de como nombres de cookies

Valores devueltos

Devuelve un array de objetos stdClass como el que devolvería http_parse_cookie().

HttpRequest::getResponseCode
HttpRequest::getResponseData
HttpRequest


Obtener los datos de la respuesta

HttpRequest::getResponseCookies
HttpRequest::getResponseHeader
HttpRequest
PHP Manual

HttpRequest::getResponseData

(PECL pecl_http >= 0.10.0)

HttpRequest::getResponseData — Obtener los datos de la respuesta

Descripción

public array HttpRequest::getResponseData ( void )

* Obtiene todos los datos de la respuesta, una vez que la petición se ha enviado.

Si se permitieran redirecciones, y se recibieran varias respuestas, los datos serían en referencia a la última respuesta recibida.

Valores devueltos

Devuelve un array asociativo con una clave "headers" que contiene otro array asociativo que almacena todas las cabeceras de la respuesta, además de una cable "body" que contiene un string con el cuerpo de respuesta.

HttpRequest::getResponseCookies
HttpRequest::getResponseHeader
HttpRequest


Obtener las cabecera/s de la respuesta

HttpRequest::getResponseData
HttpRequest::getResponseInfo
HttpRequest
PHP Manual

HttpRequest::getResponseHeader

(PECL pecl_http >= 0.10.0)

HttpRequest::getResponseHeader — Obtener las cabecera/s de la respuesta

Descripción

public mixed HttpRequest::getResponseHeader ([ string $name ] )

Obtiene la/s cabecera/s de la respuesta, una vez que la petición se ha enviado.

Si se permitieran redirecciones, y se recibieran varias respuestas, los datos serían en referencia a la última respuesta recibida.

Parámetros

name

cabecera a leer; si estuviera vacío, se devolverían todas las cabeceras

Valores devueltos

Devuelve o bien un string con el valor de la cabecera solicitada, FALSE en caso de error, o bien un array asociativo con todas las cabeceras de la respuesta.

HttpRequest::getResponseData
HttpRequest::getResponseInfo
HttpRequest


Obtener información de la respuesta

HttpRequest::getResponseHeader
HttpRequest::getResponseMessage
HttpRequest
PHP Manual

HttpRequest::getResponseInfo

(PECL pecl_http >= 0.10.0)

HttpRequest::getResponseInfo — Obtener información de la respuesta

Descripción

public mixed HttpRequest::getResponseInfo ([ string $name ] )

Obtiene información de la respuesta, una vez que la petición se ha enviado.

Revise http_get() para ver una lista completa de la información devuelta.

Si se permitieran redirecciones, y se recibieran varias respuestas, los datos serían en referencia a la última respuesta recibida.

Parámetros

name

información a leer; si estuviera vacío, se devolvería un array asociativo con toda la información disponible

Valores devueltos

Devuelve o bien un valor escalar con el valor de la información solicitada, FALSE en caso de error, o bien un array asociativo con toda la información disponible.

HttpRequest::getResponseHeader
HttpRequest::getResponseMessage
HttpRequest


Obtener mensaje de la respuesta

HttpRequest::getResponseInfo
HttpRequest::getResponseStatus
HttpRequest
PHP Manual

HttpRequest::getResponseMessage

(PECL pecl_http >= 0.10.0)

HttpRequest::getResponseMessage — Obtener mensaje de la respuesta

Descripción

public HttpMessage HttpRequest::getResponseMessage ( void )

Obtiene la respuesta completa en forma de objeto HttpMessage, una vez que se ha enviado la petición.

Si se permitieran redirecciones, y se recibieran varias respuestas, los datos serían en referencia a la última respuesta recibida. Utilice HttpMessage::getParentMessage() para acceder a los datos recibidos en las respuestas anteriores del ciclo activo.

Valores devueltos

Devuelveo un objeto HttpMessage de la respuesta.

Errores/Excepciones

Lanza HttpException, HttpRuntimeException.

HttpRequest::getResponseInfo
HttpRequest::getResponseStatus
HttpRequest


Obtener estado de la respuesta

HttpRequest::getResponseMessage
HttpRequest::getSslOptions
HttpRequest
PHP Manual

HttpRequest::getResponseStatus

(PECL pecl_http >= 0.23.0)

HttpRequest::getResponseStatus — Obtener estado de la respuesta

Descripción

public string HttpRequest::getResponseStatus ( void )

Obtiene el estado de la respuesta (el string que hay tras el código de rspuesta), una vez que se ha enviado el mensaje.

Valores devueltos

Devuelve un string que contiene el texto de estado de la respuesta.

HttpRequest::getResponseMessage
HttpRequest::getSslOptions
HttpRequest


Obtener opciones de los certificados digitales

HttpRequest::getResponseStatus
HttpRequest::getUrl
HttpRequest
PHP Manual

HttpRequest::getSslOptions

(PECL pecl_http >= 0.10.0)

HttpRequest::getSslOptions — Obtener opciones de los certificados digitales

Descripción

public array HttpRequest::getSslOptions ( void )

Devuelve las opciones asignadas en los certificados digitales SSL.

Valores devueltos

Devuelve un array asociativo que contiene todas las opciones SSL asignadas.

HttpRequest::getResponseStatus
HttpRequest::getUrl
HttpRequest


Obtener URL

HttpRequest::getSslOptions
HttpRequest::resetCookies
HttpRequest
PHP Manual

HttpRequest::getUrl

(PECL pecl_http >= 0.10.0)

HttpRequest::getUrl — Obtener URL

Descripción

public string HttpRequest::getUrl ( void )

Obtiene la URL asignada en la petición.

Valores devueltos

Devuelve la URL de la petición en forma de string.

HttpRequest::getSslOptions
HttpRequest::resetCookies
HttpRequest


Reiniciar las cookies

HttpRequest::getUrl
HttpRequest::send
HttpRequest
PHP Manual

HttpRequest::resetCookies

(PECL pecl_http >= 1.0.0)

HttpRequest::resetCookies — Reiniciar las cookies

Descripción

public bool HttpRequest::resetCookies ([ bool $session_only = false ] )

Reinicia automáticamente todas las cookies enviadas y recibidas.

Nota:

Tenga en cuenta que las cookies personalizadas no se ven afectadas.

Parámetros

session_only

si sólo deben reiniciarse las cookies de la sesión (se necesita libcurl >= v7.15.4, o sino libcurl >= v7.14.1)

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

HttpRequest::getUrl
HttpRequest::send
HttpRequest


Enviar petición

HttpRequest::resetCookies
HttpRequest::setBody
HttpRequest
PHP Manual

HttpRequest::send

(PECL pecl_http >= 0.10.0)

HttpRequest::send — Enviar petición

Descripción

public HttpMessage HttpRequest::send ( void )

Envía la petición HTTP.

Nota:

A pesar de que puede lanzarse una excepción, la transferencia podría haber tenido éxito al menos parcialmente, por lo que quizás desee comprobar los valores devueltos por varias llamadas al método HttpRequest::getResponse*().

Valores devueltos

Devuelve en forma de objeto HttpMessage la respuesta recibida.

Errores/Excepciones

Lanza HttpRuntimeException, HttpRequestException, HttpMalformedHeaderException, HttpEncodingException.

Ejemplos

Ejemplo #1 ejemplo GET

<?php
$r = new HttpRequest('http://example.com/feed.rss', HttpRequest::METH_GET);
$r->setOptions(array('lastmodified' => filemtime('local.rss')));
$r->addQueryData(array('category' => 3));
try {
    $r->send();
    if ($r->getResponseCode() == 200) {
        file_put_contents('local.rss', $r->getResponseBody());
    }
} catch (HttpException $ex) {
    echo $ex;
}
?>

Ejemplo #2 Ejemplo POST

<?php
$r = new HttpRequest('http://example.com/form.php', HttpRequest::METH_POST);
$r->setOptions(array('cookies' => array('lang' => 'de')));
$r->addPostFields(array('user' => 'mike', 'pass' => 's3c|r3t'));
$r->addPostFile('image', 'profile.jpg', 'image/jpeg');
try {
    echo $r->send()->getBody();
} catch (HttpException $ex) {
    echo $ex;
}
?>

HttpRequest::resetCookies
HttpRequest::setBody
HttpRequest


Establece el cotenido de la petición a enviar, sobreescribiendo el contenido de la petición anterior

HttpRequest::send
HttpRequest::setContentType
HttpRequest
PHP Manual

HttpRequest::setBody

(PECL pecl_http >= 1.5.0)

HttpRequest::setBody — Establece el cotenido de la petición a enviar, sobreescribiendo el contenido de la petición anterior

Descripción

bool HttpRequest::setBody ([ string $request_body_data ] )

Establece el contenido de la petición a enviar, sobreescribiendo el contenido de la petición anterior.

Parámetros

request_body_data

El contenido de la petición a sobreescribir por el contenido de la petición ya existente.

Precaución

Asegúrese de que se especifica el Content-Type en el contenido de la petición.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Precaución

Este método estaba previamente disponible como HttpRequest::setRawPostData().

Ver también

  • HttpRequest::setRawPostData() - Establecer datos POST binarios

HttpRequest::send
HttpRequest::setContentType
HttpRequest


Establecer el tipo de contenido

HttpRequest::setBody
HttpRequest::setCookies
HttpRequest
PHP Manual

HttpRequest::setContentType

(PECL pecl_http >= 0.10.0)

HttpRequest::setContentType — Establecer el tipo de contenido

Descripción

public bool HttpRequest::setContentType ( string $content_type )

Establece el tipo de contenido que debe tener la petición POST.

Parámetros

content_type

el tipo de contenido de la petición (primario/secundario)

Valores devueltos

En caso de éxito devuelve TRUE, o FALSE si el tipo de contenido no pareciera tener una parte primaria y secundaria.

HttpRequest::setBody
HttpRequest::setCookies
HttpRequest


Establecer las cookies

HttpRequest::setContentType
HttpRequest::setHeaders
HttpRequest
PHP Manual

HttpRequest::setCookies

(PECL pecl_http >= 0.12.0)

HttpRequest::setCookies — Establecer las cookies

Descripción

public bool HttpRequest::setCookies ([ array $cookies ] )

Establece cookies personalizadas.

Parámetros

cookies

array asociativo que contiene las cookies en forma nombre/valor; en caso de estar vacío, se eliminarían todas las cookies anteriores

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

HttpRequest::setContentType
HttpRequest::setHeaders
HttpRequest


Establecer las cabeceras

HttpRequest::setCookies
HttpRequest::setMethod
HttpRequest
PHP Manual

HttpRequest::setHeaders

(PECL pecl_http >= 0.12.0)

HttpRequest::setHeaders — Establecer las cabeceras

Descripción

public bool HttpRequest::setHeaders ([ array $headers ] )

Establecer las cabeceras de la petición en forma nombre/valor.

Parámetros

headers

array asociativo con las cabeceras en forma nombre/valor; en caso de estar vacío, se eliminarían todas las cabeceras anteriores

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

HttpRequest::setCookies
HttpRequest::setMethod
HttpRequest


Establecer método

HttpRequest::setHeaders
HttpRequest::setOptions
HttpRequest
PHP Manual

HttpRequest::setMethod

(PECL pecl_http >= 0.10.0)

HttpRequest::setMethod — Establecer método

Descripción

public bool HttpRequest::setMethod ( int $request_method )

Establece el método de la petición.

Parámetros

request_method

método de petición a utilizar.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

HttpRequest::setHeaders
HttpRequest::setOptions
HttpRequest


Establecer las opciones

HttpRequest::setMethod
HttpRequest::setPostFields
HttpRequest
PHP Manual

HttpRequest::setOptions

(PECL pecl_http >= 0.10.0)

HttpRequest::setOptions — Establecer las opciones

Descripción

public bool HttpRequest::setOptions ([ array $options ] )

Establece las opciones a usar en la petición.

Vea la lista completa de opciones de peticiones.

Parámetros

options

array asociativo, cuyos valores sobrescribiran los actuales; en caso de estar vacío u omitido, se restablecerán las opciones del objeto HttpRequest

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

HttpRequest::setMethod
HttpRequest::setPostFields
HttpRequest


Establecer campos POST

HttpRequest::setOptions
HttpRequest::setPostFiles
HttpRequest
PHP Manual

HttpRequest::setPostFields

(PECL pecl_http >= 0.10.0)

HttpRequest::setPostFields — Establecer campos POST

Descripción

public bool HttpRequest::setPostFields ( array $post_data )

Establece los campos de datos POST, sobrescribiendo los anteriores.

Sólo afecta a peticiones de tipo POST y peticiones personalizadas.

Parámetros

post_data

array asociativo que contiene los campos post; si estuviera vacío, se restablecerían los datos POST

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

HttpRequest::setOptions
HttpRequest::setPostFiles
HttpRequest


Establecer los ficheros POST

HttpRequest::setPostFields
HttpRequest::setPutData
HttpRequest
PHP Manual

HttpRequest::setPostFiles

(PECL pecl_http >= 0.10.0)

HttpRequest::setPostFiles — Establecer los ficheros POST

Descripción

public bool HttpRequest::setPostFiles ( array $post_files )

Establece los ficheros de POST, sobrescribiendo los anteriores.

Sólo afecta a las peticiones de tipo POST o personalizadas. No puede usarse con datos POST binarios.

Parámetros

post_files

array que contiene los ficheros de POST; si estuviera vacío, se restablecerían los ficheros

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

HttpRequest::setPostFields
HttpRequest::setPutData
HttpRequest


Establecer datos de PUT

HttpRequest::setPostFiles
HttpRequest::setPutFile
HttpRequest
PHP Manual

HttpRequest::setPutData

(PECL pecl_http >= 0.25.0)

HttpRequest::setPutData — Establecer datos de PUT

Descripción

public bool HttpRequest::setPutData ([ string $put_data ] )

Establece los datos de PUT a enviar, sobrescribiendo los anteriores.

Sólo afecta a las peticiones PUT.

Sólo puede usarse o bien datos PUT o bien ficheros PUT an una petición. Los datos PUT tienen mayor prioridad, y se utilizarán incluso si se ha establecido un fichero PUT.

Parámetros

put_data

datos a subir

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

HttpRequest::setPostFiles
HttpRequest::setPutFile
HttpRequest


Establecer un fichero PUT

HttpRequest::setPutData
HttpRequest::setQueryData
HttpRequest
PHP Manual

HttpRequest::setPutFile

(PECL pecl_http >= 0.10.0)

HttpRequest::setPutFile — Establecer un fichero PUT

Descripción

public bool HttpRequest::setPutFile ([ string $file = "" ] )

Establece el fichero para PUT. Sólo afecta a peticiones PUT.

Parámetros

file

ruta del fichero que se subirá; si estuviera vacío, se restablecería el fichero PUT

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

HttpRequest::setPutData
HttpRequest::setQueryData
HttpRequest


Establecer datos de la consulta

HttpRequest::setPutFile
HttpRequest::setRawPostData
HttpRequest
PHP Manual

HttpRequest::setQueryData

(PECL pecl_http >= 0.10.0)

HttpRequest::setQueryData — Establecer datos de la consulta

Descripción

public bool HttpRequest::setQueryData ( mixed $query_data )

Establece los parámetros de la consulta URL que se usará, sobcrescribiendo los parámetros anteriores.

Afecta a todos los tipos de peticiones.

Parámetros

query_data

string o array asociativo que contenga la cadena de consulta codificada o los campos de la consulta a codificar; si estuviera vacío, se restablecería la consulta

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

HttpRequest::setPutFile
HttpRequest::setRawPostData
HttpRequest


Establecer datos POST binarios

HttpRequest::setQueryData
HttpRequest::setSslOptions
HttpRequest
PHP Manual

HttpRequest::setRawPostData

(PECL pecl_http 0.14.0-1.4.1)

HttpRequest::setRawPostData — Establecer datos POST binarios

Descripción

public bool HttpRequest::setRawPostData ([ string $raw_post_data ] )

Establece los datos POST binarios a enviar, sobcrescribiendo los anteriores. No debe olvidarse especificar un tipo de contenido. Sólo afecta a peticiones de tipo POST y de tipo personalizado.

Sólo pueden usarse o bien campos POST o bien datos POST binarios en una petición. Los datos binarios tienen una mayor prioridad, y se utilizarán incluso si existen campos POST.

Advertencia

Esta función alias está OBSOLETA y tan solo existe por motivos de retrocompatibilidad. No se recomienda utilizar esta función, pues podría ser eliminada de PHP en un futuro. En su lugar, debe usarse HttpRequest::setBody().

Parámetros

raw_post_data

datos POST binarios

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • HttpRequest::setBody() - Establece el cotenido de la petición a enviar, sobreescribiendo el contenido de la petición anterior

HttpRequest::setQueryData
HttpRequest::setSslOptions
HttpRequest


Establecer las opciones de certificados digitales

HttpRequest::setRawPostData
HttpRequest::setUrl
HttpRequest
PHP Manual

HttpRequest::setSslOptions

(PECL pecl_http >= 0.10.0)

HttpRequest::setSslOptions — Establecer las opciones de certificados digitales

Descripción

public bool HttpRequest::setSslOptions ([ array $options ] )

Establece las opciones de los certificados digitales SSL.

Parámetros

options

array asociativo con todas las opciones específicas de SSL; en caso de estar vacío, se reiniciarán las opciones de SSL

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

HttpRequest::setRawPostData
HttpRequest::setUrl
HttpRequest


Establecer la URL

HttpRequest::setSslOptions
HttpRequestPool
HttpRequest
PHP Manual

HttpRequest::setUrl

(PECL pecl_http >= 0.10.0)

HttpRequest::setUrl — Establecer la URL

Descripción

public bool HttpRequest::setUrl ( string $url )

Establece la URL de la petición.

Parámetros

url

url de la petición

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

HttpRequest::setSslOptions
HttpRequestPool
HttpRequest


Clase HttpRequestPool

(PECL pecl_http >= 0.10.0)

Sinopsis de la Clase

HttpRequestPool implements Iterator , Countable {
public bool attach ( HttpRequest $request )
public __construct ([ HttpRequest $request [, HttpRequest $... ]] )
void __destruct ( void )
bool detach ( HttpRequest $request )
array getAttachedRequests ( void )
array getFinishedRequests ( void )
void reset ( void )
bool send ( void )
protected bool socketPerform ( void )
protected bool socketSelect ([ float $timeout = 0 ] )
}

Elementos de la clase

Propiedades

La clase HttpRequestPool no tiene ninguna propiedad.

Constantes predefinidas

La clase HttpRequestPool no tienen ninguna constante.

Tabla de contenidos

  • HttpRequestPool::attach — Apilar un objeto HttpRequest
  • HttpRequestPool::__construct — Constructor de HttpRequestPool
  • HttpRequestPool::__destruct — Destructor de HttpRequestPool
  • HttpRequestPool::detach — Desapilar un objeto HttpRequest
  • HttpRequestPool::getAttachedRequests — Consultar peticiones apiladas
  • HttpRequestPool::getFinishedRequests — Consultar peticiones finalizadas
  • HttpRequestPool::reset — Reiniciar pila de peticiones
  • HttpRequestPool::send — Enviar todas las peticiones
  • HttpRequestPool::socketPerform — Realiza acciones de socket
  • HttpRequestPool::socketSelect — Realiza una selección de socket
HttpRequest::setUrl
HttpRequestPool::attach
HTTP


Apilar un objeto HttpRequest

HttpRequestPool
HttpRequestPool::__construct
HttpRequestPool
PHP Manual

HttpRequestPool::attach

(PECL pecl_http >= 0.10.0)

HttpRequestPool::attach — Apilar un objeto HttpRequest

Descripción

public bool HttpRequestPool::attach ( HttpRequest $request )

Apila un objeto HttpRequest al HttpRequestPool.

Advertencia

Recuerde establecer todas las opciones antes de apilarlo.

Parámetros

request

objeto HttpRequest que no esté ya apilado en ningún objeto HttpRequestPool

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza HttpInvalidParamException, HttpRequestException, HttpRequestPoolException, HttpEncodingException.

HttpRequestPool
HttpRequestPool::__construct
HttpRequestPool


Constructor de HttpRequestPool

HttpRequestPool::attach
HttpRequestPool::__destruct
HttpRequestPool
PHP Manual

HttpRequestPool::__construct

(PECL pecl_http >= 0.10.0)

HttpRequestPool::__construct — Constructor de HttpRequestPool

Descripción

public HttpRequestPool::__construct ([ HttpRequest $request [, HttpRequest $... ]] )

Instancia un nuevo objeto HttpRequestPool. Un HttpRequestPool permite enviar varias peticiones HttpRequest en paralelo.

Técnicamente permite un número infinito de parámetros, cada uno de ellos apuntando a un objeto HttpRequest.

Parámetros

request

Objeto HttpRequest a apilar

...

Errores/Excepciones

Lanza HttpRequestPoolException (HttpRequestException, HttpInvalidParamException).

Ejemplos

Ejemplo #1 Ejemplo de HttpRequestPool

<?php
try {
    $pool = new HttpRequestPool(
        new HttpRequest('http://www.google.com/', HttpRequest::METH_HEAD),
        new HttpRequest('http://www.php.net/', HttpRequest::METH_HEAD)
    );
    $pool->send();
    foreach($pool as $request) {
        printf("%s is %s (%d)\n",
            $request->getUrl(),
            $request->getResponseCode() ? 'alive' : 'not alive',
            $request->getResponseCode()
        );
    }
} catch (HttpException $e) {
    echo $e;
}
?>

HttpRequestPool::attach
HttpRequestPool::__destruct
HttpRequestPool


Destructor de HttpRequestPool

HttpRequestPool::__construct
HttpRequestPool::detach
HttpRequestPool
PHP Manual

HttpRequestPool::__destruct

(PECL pecl_http >= 0.10.0)

HttpRequestPool::__destruct — Destructor de HttpRequestPool

Descripción

void HttpRequestPool::__destruct ( void )

Elimina el objeto HttpRequestPool.

HttpRequestPool::__construct
HttpRequestPool::detach
HttpRequestPool


Desapilar un objeto HttpRequest

HttpRequestPool::__destruct
HttpRequestPool::getAttachedRequests
HttpRequestPool
PHP Manual

HttpRequestPool::detach

(PECL pecl_http >= 0.10.0)

HttpRequestPool::detach — Desapilar un objeto HttpRequest

Descripción

bool HttpRequestPool::detach ( HttpRequest $request )

Desapilar un objeto HttpRequest del HttpRequestPool.

Parámetros

request

objeto HttpRequest apilado en este objeto HttpRequestPool

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza HttpInvalidParamException, HttpRequestPoolException.

HttpRequestPool::__destruct
HttpRequestPool::getAttachedRequests
HttpRequestPool


Consultar peticiones apiladas

HttpRequestPool::detach
HttpRequestPool::getFinishedRequests
HttpRequestPool
PHP Manual

HttpRequestPool::getAttachedRequests

(PECL pecl_http >= 0.16.0)

HttpRequestPool::getAttachedRequests — Consultar peticiones apiladas

Descripción

array HttpRequestPool::getAttachedRequests ( void )

Consulta los objetos HttpRequest que hubiera apilados.

Parámetros

Valores devueltos

Devuelve un array con todos los objetos HttpRequest actualmente apilados.

HttpRequestPool::detach
HttpRequestPool::getFinishedRequests
HttpRequestPool


Consultar peticiones finalizadas

HttpRequestPool::getAttachedRequests
HttpRequestPool::reset
HttpRequestPool
PHP Manual

HttpRequestPool::getFinishedRequests

(PECL pecl_http >= 0.16.0)

HttpRequestPool::getFinishedRequests — Consultar peticiones finalizadas

Descripción

array HttpRequestPool::getFinishedRequests ( void )

Consulta los objetos HttpRequest apilados que ya hayan finalizado.

Parámetros

Valores devueltos

Devuelve un array con todos los objetos HttpRequest apilados que ya hayan finalizado su trabajo.

HttpRequestPool::getAttachedRequests
HttpRequestPool::reset
HttpRequestPool


Reiniciar pila de peticiones

HttpRequestPool::getFinishedRequests
HttpRequestPool::send
HttpRequestPool
PHP Manual

HttpRequestPool::reset

(PECL pecl_http >= 0.10.0)

HttpRequestPool::reset — Reiniciar pila de peticiones

Descripción

void HttpRequestPool::reset ( void )

Desapila todos los objetos HttpRequest que hubiera apilados.

HttpRequestPool::getFinishedRequests
HttpRequestPool::send
HttpRequestPool


Enviar todas las peticiones

HttpRequestPool::reset
HttpRequestPool::socketPerform
HttpRequestPool
PHP Manual

HttpRequestPool::send

(PECL pecl_http >= 0.10.0)

HttpRequestPool::send — Enviar todas las peticiones

Descripción

bool HttpRequestPool::send ( void )

Envía en paralelo todos los objetos HttpRequest que se hayan apilado.

Parámetros

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Lanza HttpRequestPoolException (HttpSocketException, HttpRequestException, HttpMalformedHeaderException).

HttpRequestPool::reset
HttpRequestPool::socketPerform
HttpRequestPool


Realiza acciones de socket

HttpRequestPool::send
HttpRequestPool::socketSelect
HttpRequestPool
PHP Manual

HttpRequestPool::socketPerform

(PECL pecl_http >= 0.15.0)

HttpRequestPool::socketPerform — Realiza acciones de socket

Descripción

protected bool HttpRequestPool::socketPerform ( void )

Mientras no finalicen todas las peticiones, devuelve TRUE.

Valores devueltos

Mientras no finalicen todas las peticiones, devuelve TRUE.

Ejemplos

Ejemplo #1 Ejemplo de HttpRequestPool::socketPerform()

<?php
class MiPila extends HttpRequestPool
{
    public function send()
    {
        while ($this->socketPerform()) {
            if (!$this->socketSelect()) {
                throw new HttpSocketExcpetion;
            }
        }
    }

    protected final function socketPerform()
    {
        $result = parent::socketPerform();
        foreach ($this->getFinishedRequests() as $r) {
            $this->detach($r);
            // handle response of finished request
        }
        return $result;
    }
}
?>

HttpRequestPool::send
HttpRequestPool::socketSelect
HttpRequestPool


Realiza una selección de socket

HttpRequestPool::socketPerform
HttpResponse
HttpRequestPool
PHP Manual

HttpRequestPool::socketSelect

(PECL pecl_http >= 0.10.0)

HttpRequestPool::socketSelect — Realiza una selección de socket

Descripción

protected bool HttpRequestPool::socketSelect ([ float $timeout = 0 ] )

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

HttpRequestPool::socketPerform
HttpResponse
HttpRequestPool


Clase HttpResponse

(PECL pecl_http >= 0.7.0)

Sinopsis de la Clase

HttpResponse {
static void capture ( void )
static int getBufferSize ( void )
static bool getCache ( void )
static string getCacheControl ( void )
static string getContentDisposition ( void )
static string getContentType ( void )
static string getData ( void )
static string getETag ( void )
static string getFile ( void )
static bool getGzip ( void )
static mixed getHeader ([ string $name ] )
static int getLastModified ( void )
static string getRequestBody ( void )
static resource getRequestBodyStream ( void )
static array getRequestHeaders ( void )
static resource getStream ( void )
static float getThrottleDelay ( void )
static string guessContentType ( string $magic_file [, int $magic_mode = MAGIC_MIME ] )
static void redirect ([ string $url [, array $params [, bool $session = false [, int $status ]]]] )
static bool send ([ bool $clean_ob = true ] )
static bool setBufferSize ( int $bytes )
static bool setCache ( bool $cache )
static bool setCacheControl ( string $control [, int $max_age = 0 [, bool $must_revalidate = true ]] )
static bool setContentDisposition ( string $filename [, bool $inline = false ] )
static bool setContentType ( string $content_type )
static bool setData ( mixed $data )
static bool setETag ( string $etag )
static bool setFile ( string $file )
static bool setGzip ( bool $gzip )
static bool setHeader ( string $name [, mixed $value [, bool $replace = true ]] )
static bool setLastModified ( int $timestamp )
static bool setStream ( resource $stream )
static bool setThrottleDelay ( float $seconds )
static bool status ( int $status )
}

Elementos de la clase

Propiedades

Propiedades estáticas
Modificadores de acceso | Tipo | Nombre | Descripción
protected | boolean | cache | si se debe intentar el cacheo de la respuesta
protected | boolean | gzip | si se debe comprimir con gzip al vuelo la entidad enviada
protected | string | eTag | el ETag generado o personalizado
protected | integer | lastModified | la fecha Unix generada o personalizada de la última modificación
protected | string | cacheControl | configuración de Cache-Control
protected | string | contentType | el Content-Type de la entidad enviada
protected | string | contentDisposition | el Content-Disposition de la entidad enviada
protected | integer | bufferSize | tamaño de la parte del buffer empleada para la limitación
protected | double | throttleDelay | segundos para retrasar durante la limitación

Constantes predefinidas

Tipo | Nombre | Descripción
integer | REDIRECT | método de redirección aplicable a invitados
integer | REDIRECT_PERM | redirección permanente (301 Moved Permanently)
integer | REDIRECT_FOUND | redirección típica (302 Found)
integer | REDIRECT_POST | redirección aplicable a peticiones POST (303 See other)
integer | REDIRECT_PROXY | redirección por proxy (305 Use Proxy)
integer | REDIRECT_TEMP | redirección temporal (307 Temporary Redirect)

Tabla de contenidos

  • HttpResponse::capture — Capturar salida de script
  • HttpResponse::getBufferSize — Consultar tamaño de buffer
  • HttpResponse::getCache — Consultar caché
  • HttpResponse::getCacheControl — Consultar Cache-Control
  • HttpResponse::getContentDisposition — Consultar Content-Disposition
  • HttpResponse::getContentType — Consultar Content-Type
  • HttpResponse::getData — Consultar datos
  • HttpResponse::getETag — Consultar ETag
  • HttpResponse::getFile — Consultar fichero
  • HttpResponse::getGzip — Obtener gzip
  • HttpResponse::getHeader — Consultar cabecera
  • HttpResponse::getLastModified — Consultar Last-Modified
  • HttpResponse::getRequestBody — Consultar el cuerpo de la petición
  • HttpResponse::getRequestBodyStream — Consultar el flujo del cuerpo de la petición
  • HttpResponse::getRequestHeaders — Consultar cabeceras de la petición
  • HttpResponse::getStream — Consultar flujo
  • HttpResponse::getThrottleDelay — Consultar regulación de intervalos
  • HttpResponse::guessContentType — Averiguar tipo de contenido
  • HttpResponse::redirect — Redireccionar
  • HttpResponse::send — Enviar respuesta
  • HttpResponse::setBufferSize — Establecer tamaño de buffer
  • HttpResponse::setCache — Establecer caché
  • HttpResponse::setCacheControl — Establecer Cache-Control
  • HttpResponse::setContentDisposition — Establecer Content-Disposition
  • HttpResponse::setContentType — Establecer la cabecera Content-Type
  • HttpResponse::setData — Asignar datos
  • HttpResponse::setETag — Establecer ETag
  • HttpResponse::setFile — Asignar fichero
  • HttpResponse::setGzip — Establecer gzip
  • HttpResponse::setHeader — Establecer header
  • HttpResponse::setLastModified — Establecer Last-Modified
  • HttpResponse::setStream — Asignar flujo
  • HttpResponse::setThrottleDelay — Establecer regulación de intervalos
  • HttpResponse::status — Envía un código de estado HTTP
HttpRequestPool::socketSelect
HttpResponse::capture
HTTP


Capturar salida de script

HttpResponse
HttpResponse::getBufferSize
HttpResponse
PHP Manual

HttpResponse::capture

(PECL pecl_http >= 0.10.0)

HttpResponse::capture — Capturar salida de script

Descripción

static void HttpResponse::capture ( void )

Captura la salida del script.

Ejemplos

Ejemplo #1 Ejemplo de HttpResponse::capture()

<?php
HttpResponse::setCache(true);
HttpResponse::capture();
// el script continua
?>

Ver también

  • HttpResponse::send() - Enviar respuesta

HttpResponse
HttpResponse::getBufferSize
HttpResponse


Consultar tamaño de buffer

HttpResponse::capture
HttpResponse::getCache
HttpResponse
PHP Manual

HttpResponse::getBufferSize

(PECL pecl_http >= 0.10.0)

HttpResponse::getBufferSize — Consultar tamaño de buffer

Descripción

static int HttpResponse::getBufferSize ( void )

Consulta el tamaño actual del buffer.

Valores devueltos

Devuelve un entero que representa el tamaño de buffer actual en bytes.

Ver también

  • HttpResponse::setBufferSize() - Establecer tamaño de buffer
  • HttpResponse::getThrottleDelay() - Consultar regulación de intervalos
  • HttpResponse::setThrottleDelay() - Establecer regulación de intervalos

HttpResponse::capture
HttpResponse::getCache
HttpResponse


Consultar caché

HttpResponse::getBufferSize
HttpResponse::getCacheControl
HttpResponse
PHP Manual

HttpResponse::getCache

(PECL pecl_http >= 0.10.0)

HttpResponse::getCache — Consultar caché

Descripción

static bool HttpResponse::getCache ( void )

Consulta los ajustes de caché actuales.

Valores devueltos

Devuelve TRUE si se debe cachear, o FALSE en caso contrario.

Ver también

  • HttpResponse::setCacheControl() - Establecer Cache-Control
  • HttpResponse::getCacheControl() - Consultar Cache-Control
  • HttpResponse::setCache() - Establecer caché

HttpResponse::getBufferSize
HttpResponse::getCacheControl
HttpResponse


Consultar Cache-Control

HttpResponse::getCache
HttpResponse::getContentDisposition
HttpResponse
PHP Manual

HttpResponse::getCacheControl

(PECL pecl_http >= 0.10.0)

HttpResponse::getCacheControl — Consultar Cache-Control

Descripción

static string HttpResponse::getCacheControl ( void )

Devuelve la cabecera Cache-Control que hay en uso.

Valores devueltos

Devuelve un string con la cabecera Cache-Control que hay en uso.

Ver también

  • HttpResponse::setCacheControl() - Establecer Cache-Control
  • HttpResponse::setCache() - Establecer caché
  • HttpResponse::getCache() - Consultar caché

HttpResponse::getCache
HttpResponse::getContentDisposition
HttpResponse


Consultar Content-Disposition

HttpResponse::getCacheControl
HttpResponse::getContentType
HttpResponse
PHP Manual

HttpResponse::getContentDisposition

(PECL pecl_http >= 0.10.0)

HttpResponse::getContentDisposition — Consultar Content-Disposition

Descripción

static string HttpResponse::getContentDisposition ( void )

Consulta el valor en uso de Content-Disposition.

Valores devueltos

Devuelve un string con el valor de Content-Disposition en uso.

Ver también

  • HttpResponse::setContentDisposition() - Establecer Content-Disposition
  • HttpResponse::getContentType() - Consultar Content-Type
  • HttpResponse::setContentType() - Establecer la cabecera Content-Type

HttpResponse::getCacheControl
HttpResponse::getContentType
HttpResponse


Consultar Content-Type

HttpResponse::getContentDisposition
HttpResponse::getData
HttpResponse
PHP Manual

HttpResponse::getContentType

(PECL pecl_http >= 0.10.0)

HttpResponse::getContentType — Consultar Content-Type

Descripción

static string HttpResponse::getContentType ( void )

Consulta el valor en uso de la cabecera Content-Type.

Valores devueltos

Devuelve un string con el valor en uso de la cabecera Content-Type.

Ver también

  • HttpResponse::getContentDisposition() - Consultar Content-Disposition
  • HttpResponse::setContentDisposition() - Establecer Content-Disposition
  • HttpResponse::setContentType() - Establecer la cabecera Content-Type
  • HttpResponse::guessContentType() - Averiguar tipo de contenido

HttpResponse::getContentDisposition
HttpResponse::getData
HttpResponse


Consultar datos

HttpResponse::getContentType
HttpResponse::getETag
HttpResponse
PHP Manual

HttpResponse::getData

(PECL pecl_http >= 0.10.0)

HttpResponse::getData — Consultar datos

Descripción

static string HttpResponse::getData ( void )

Consulta los datos que se han asignado para enviar.

Valores devueltos

Devuelve una cadena de texto que contiene los datos que se han asignado para enviar.

Ver también

  • HttpResponse::setData() - Asignar datos
  • HttpResponse::getFile() - Consultar fichero
  • HttpResponse::setFile() - Asignar fichero
  • HttpResponse::getStream() - Consultar flujo
  • HttpResponse::setStream() - Asignar flujo

HttpResponse::getContentType
HttpResponse::getETag
HttpResponse


Consultar ETag

HttpResponse::getData
HttpResponse::getFile
HttpResponse
PHP Manual

HttpResponse::getETag

(PECL pecl_http >= 0.10.0)

HttpResponse::getETag — Consultar ETag

Descripción

static string HttpResponse::getETag ( void )

Consultar el ETag que se calculó o asignó con anterioridad.

Valores devueltos

Devuelve un string sin comillas con el ETag que se calculó o asignó.

Ver también

  • HttpResponse::getLastModified() - Consultar Last-Modified
  • HttpResponse::setLastModified() - Establecer Last-Modified
  • HttpResponse::setETag() - Establecer ETag

HttpResponse::getData
HttpResponse::getFile
HttpResponse


Consultar fichero

HttpResponse::getETag
HttpResponse::getGzip
HttpResponse
PHP Manual

HttpResponse::getFile

(PECL pecl_http >= 0.10.0)

HttpResponse::getFile — Consultar fichero

Descripción

static string HttpResponse::getFile ( void )

Consulta el fichero que se asignó para enviar.

Valores devueltos

Devuelve un string con la ruta del fichero que se estableció para enviar.

Ver también

  • HttpResponse::getData() - Consultar datos
  • HttpResponse::setData() - Asignar datos
  • HttpResponse::setFile() - Asignar fichero
  • HttpResponse::getStream() - Consultar flujo
  • HttpResponse::setStream() - Asignar flujo

HttpResponse::getETag
HttpResponse::getGzip
HttpResponse


Obtener gzip

HttpResponse::getFile
HttpResponse::getHeader
HttpResponse
PHP Manual

HttpResponse::getGzip

(PECL pecl_http >= 0.10.0)

HttpResponse::getGzip — Obtener gzip

Descripción

static bool HttpResponse::getGzip ( void )

Obtiene la opción de gzip.

Valores devueltos

Devuelve TRUE si la compresión GZip está activada, FALSE en caso contrario.

Ver también

  • HttpResponse::setGzip() - Establecer gzip

HttpResponse::getFile
HttpResponse::getHeader
HttpResponse


Consultar cabecera

HttpResponse::getGzip
HttpResponse::getLastModified
HttpResponse
PHP Manual

HttpResponse::getHeader

(PECL pecl_http >= 0.12.0)

HttpResponse::getHeader — Consultar cabecera

Descripción

static mixed HttpResponse::getHeader ([ string $name ] )

Consulta la/s cabecera/s que se van a enviar.

Nota:

Esto puede no funcionar como se espera en el(los) siguiente(s) SAPI(s): Apache2 w/PHP < 5.1.3.

Parámetros

name

establece el nombre de la cabecera que se va a consultar; si se omitiera o estuviera vacío, se devolvería un array asociativo con todas las cabeceras

Valores devueltos

Devuelve o bien un string con el valor de la cabecera consultada, FALSE en caso de error, o un array asociativo con todas las cabeceras.

Ver también

  • HttpResponse::setHeader() - Establecer header

HttpResponse::getGzip
HttpResponse::getLastModified
HttpResponse


Consultar Last-Modified

HttpResponse::getHeader
HttpResponse::getRequestBody
HttpResponse
PHP Manual

HttpResponse::getLastModified

(PECL pecl_http >= 0.12.0)

HttpResponse::getLastModified — Consultar Last-Modified

Descripción

static int HttpResponse::getLastModified ( void )

Consulta la última fecha de modificación (Last-Modified) que se calculó o asignó.

Valores devueltos

Devuelve la fecha Unix calculada o asignada.

Ver también

  • HttpResponse::setLastModified() - Establecer Last-Modified
  • HttpResponse::getETag() - Consultar ETag
  • HttpResponse::setETag() - Establecer ETag

HttpResponse::getHeader
HttpResponse::getRequestBody
HttpResponse


Consultar el cuerpo de la petición

HttpResponse::getLastModified
HttpResponse::getRequestBodyStream
HttpResponse
PHP Manual

HttpResponse::getRequestBody

(PECL pecl_http >= 0.10.0)

HttpResponse::getRequestBody — Consultar el cuerpo de la petición

Descripción

static string HttpResponse::getRequestBody ( void )

Esta función es un alias de: http_get_request_body().

HttpResponse::getLastModified
HttpResponse::getRequestBodyStream
HttpResponse


Consultar el flujo del cuerpo de la petición

HttpResponse::getRequestBody
HttpResponse::getRequestHeaders
HttpResponse
PHP Manual

HttpResponse::getRequestBodyStream

(PECL pecl_http >= 0.10.0)

HttpResponse::getRequestBodyStream — Consultar el flujo del cuerpo de la petición

Descripción

static resource HttpResponse::getRequestBodyStream ( void )

Esta función es un alias de: http_get_request_body_stream().

HttpResponse::getRequestBody
HttpResponse::getRequestHeaders
HttpResponse


Consultar cabeceras de la petición

HttpResponse::getRequestBodyStream
HttpResponse::getStream
HttpResponse
PHP Manual

HttpResponse::getRequestHeaders

(PECL pecl_http >= 0.10.0)

HttpResponse::getRequestHeaders — Consultar cabeceras de la petición

Descripción

static array HttpResponse::getRequestHeaders ( void )

Esta función es un alias de: http_get_request_headers().

HttpResponse::getRequestBodyStream
HttpResponse::getStream
HttpResponse


Consultar flujo

HttpResponse::getRequestHeaders
HttpResponse::getThrottleDelay
HttpResponse
PHP Manual

HttpResponse::getStream

(PECL pecl_http >= 0.10.0)

HttpResponse::getStream — Consultar flujo

Descripción

static resource HttpResponse::getStream ( void )

Consulta el recurso que se ha asignado para enviar.

Parámetros

Valores devueltos

Devuelve el recurso que se ha asignado para enviar.

Ver también

  • HttpResponse::getData() - Consultar datos
  • HttpResponse::setData() - Asignar datos
  • HttpResponse::getFile() - Consultar fichero
  • HttpResponse::setFile() - Asignar fichero
  • HttpResponse::setStream() - Asignar flujo

HttpResponse::getRequestHeaders
HttpResponse::getThrottleDelay
HttpResponse


Consultar regulación de intervalos

HttpResponse::getStream
HttpResponse::guessContentType
HttpResponse
PHP Manual

HttpResponse::getThrottleDelay

(PECL pecl_http >= 0.10.0)

HttpResponse::getThrottleDelay — Consultar regulación de intervalos

Descripción

static float HttpResponse::getThrottleDelay ( void )

Consulta el valor de la regulación de intervalos que hay en uso.

Valores devueltos

Devuelve un número real de tipo doble con el valor de la regulación de intervalos en segundos.

Ver también

  • HttpResponse::getBufferSize() - Consultar tamaño de buffer
  • HttpResponse::setBufferSize() - Establecer tamaño de buffer
  • HttpResponse::setThrottleDelay() - Establecer regulación de intervalos

HttpResponse::getStream
HttpResponse::guessContentType
HttpResponse


Averiguar tipo de contenido

HttpResponse::getThrottleDelay
HttpResponse::redirect
HttpResponse
PHP Manual

HttpResponse::guessContentType

(PECL pecl_http >= 0.13.0)

HttpResponse::guessContentType — Averiguar tipo de contenido

Descripción

static string HttpResponse::guessContentType ( string $magic_file [, int $magic_mode = MAGIC_MIME ] )

Procura averiguar el tipo de contenido mediante libmagic.

Si tuviera éxito, automáticamente se establecerá este Content-Type al valor del Content-Type de la respuesta.

Parámetros

magic_file

indica la base de datos magic.mime que se utilizará

magic_mode

banderas para libmagic

Valores devueltos

En caso de éxito, devuelve el Content-Type averiguado o FALSE en caso de error.

Errores/Excepciones

Emite HttpRuntimeException, HttpInvalidParamException.

Ver también

  • HttpResponse::getContentType() - Consultar Content-Type
  • HttpResponse::setContentType() - Establecer la cabecera Content-Type

HttpResponse::getThrottleDelay
HttpResponse::redirect
HttpResponse


Redireccionar

HttpResponse::guessContentType
HttpResponse::send
HttpResponse
PHP Manual

HttpResponse::redirect

(PECL pecl_http >= 0.10.0)

HttpResponse::redirect — Redireccionar

Descripción

static void HttpResponse::redirect ([ string $url [, array $params [, bool $session = false [, int $status ]]]] )

Esta función es un alias de: http_redirect().

HttpResponse::guessContentType
HttpResponse::send
HttpResponse


Enviar respuesta

HttpResponse::redirect
HttpResponse::setBufferSize
HttpResponse
PHP Manual

HttpResponse::send

(PECL pecl_http >= 0.10.0)

HttpResponse::send — Enviar respuesta

Descripción

static bool HttpResponse::send ([ bool $clean_ob = true ] )

Envía finalmente la entidad.

Si se cachea con éxito, se finalizará la ejecución de PHP, y se escribirá una entrada en el registro siempre y cuando opción INI http.log.cache estuviera habilitado. Vea también la opción INI http.force_exit para ver a que sucede cuando "finaliza".

Parámetros

clean_ob

indica si destruir o no tanto los manejadores de salidas que se hayan iniciado, como sus buffers

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de HttpResponse::send()

<?php
HttpResponse::setCache(true);
HttpResponse::setContentType('application/pdf');
HttpResponse::setContentDisposition("$user.pdf", false);
HttpResponse::setFile('sheet.pdf');
HttpResponse::send();
?>

Ver también

  • HttpResponse::capture() - Capturar salida de script

HttpResponse::redirect
HttpResponse::setBufferSize
HttpResponse


Establecer tamaño de buffer

HttpResponse::send
HttpResponse::setCache
HttpResponse
PHP Manual

HttpResponse::setBufferSize

(PECL pecl_http >= 0.10.0)

HttpResponse::setBufferSize — Establecer tamaño de buffer

Descripción

static bool HttpResponse::setBufferSize ( int $bytes )

Establece el tamaño de buffer de envío del mecanismo de regulación.

Nota: Proporciona un mecanismo básico de regulación, que hará rendir el proceso o subproceso actual hasta que la entidad haya sido completamente enviada.

Nota:

Esto puede no funcionar como se espera en el(los) siguiente(s) SAPI(s): FastCGI.

Parámetros

bytes

tamaño de bloque en bytes

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • HttpResponse::getBufferSize() - Consultar tamaño de buffer
  • HttpResponse::getThrottleDelay() - Consultar regulación de intervalos
  • HttpResponse::setThrottleDelay() - Establecer regulación de intervalos

HttpResponse::send
HttpResponse::setCache
HttpResponse


Establecer caché

HttpResponse::setBufferSize
HttpResponse::setCacheControl
HttpResponse
PHP Manual

HttpResponse::setCache

(PECL pecl_http >= 0.10.0)

HttpResponse::setCache — Establecer caché

Descripción

static bool HttpResponse::setCache ( bool $cache )

Indica si se debe o no cachear la entidad.

Generará las cabeceras y comprobaciones necesarias para el cliente, If-Modified-Since y If-None-Match. Si una de estas cabeceras coincidiera, se devolvería un código de estado 304 Not Modified.

Nota:

Si está usando sesiones, asegúrese de que session.cache_limiter contiene un valor más apropiado que "no-cache".

Parámetros

cache

indica si se debe cachear o no

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • HttpResponse::setCacheControl() - Establecer Cache-Control
  • HttpResponse::getCacheControl() - Consultar Cache-Control
  • HttpResponse::getCachel()

HttpResponse::setBufferSize
HttpResponse::setCacheControl
HttpResponse


Establecer Cache-Control

HttpResponse::setCache
HttpResponse::setContentDisposition
HttpResponse
PHP Manual

HttpResponse::setCacheControl

(PECL pecl_http >= 0.10.0)

HttpResponse::setCacheControl — Establecer Cache-Control

Descripción

static bool HttpResponse::setCacheControl ( string $control [, int $max_age = 0 [, bool $must_revalidate = true ]] )

Define una cabecera Cache-Control personalizada, normalmente con el valor private o public;

Parámetros

control

valor primario de Cache-Control

max_age

tiempo de vida en segundos, estableciendo durante cuánto tiempo es una entrada de caché válida en el lado de cliente

must_revalidate

si debe o no el cliente re-comprobar la caché en cada petición

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE si el valor no coincide con public, private o no-cache.

Ver también

  • HttpResponse::getCacheControl() - Consultar Cache-Control
  • HttpResponse::setCache() - Establecer caché
  • HttpResponse::getCache() - Consultar caché

HttpResponse::setCache
HttpResponse::setContentDisposition
HttpResponse


Establecer Content-Disposition

HttpResponse::setCacheControl
HttpResponse::setContentType
HttpResponse
PHP Manual

HttpResponse::setContentDisposition

(PECL pecl_http >= 0.10.0)

HttpResponse::setContentDisposition — Establecer Content-Disposition

Descripción

static bool HttpResponse::setContentDisposition ( string $filename [, bool $inline = false ] )

Establece el valor de la cabecera Content-Disposition. El header Content-Disposition es muy útil si los datos que se están enviando provienen de un archivo o algo similar, que debería ser "guardado" por el cliente/usuario (por ej., a través de la opción "Guardar cómo" del navegador).

Parámetros

filename

nombre de fichero que mostrará el diálogo "Guardar cómo..."

inline

si se establece como true, y el navegador sabe cómo manejar este contenido, probablemente se evite que se muestre la ventana emergente de descarga

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • HttpResponse::getContentDisposition() - Consultar Content-Disposition
  • HttpResponse::getContentType() - Consultar Content-Type
  • HttpResponse::setContentType() - Establecer la cabecera Content-Type

HttpResponse::setCacheControl
HttpResponse::setContentType
HttpResponse


Establecer la cabecera Content-Type

HttpResponse::setContentDisposition
HttpResponse::setData
HttpResponse
PHP Manual

HttpResponse::setContentType

(PECL pecl_http >= 0.10.0)

HttpResponse::setContentType — Establecer la cabecera Content-Type

Descripción

static bool HttpResponse::setContentType ( string $content_type )

Establece la cabecera Content-Type.

Parámetros

content_type

tipo de contenido de la entidad enviada (en forma primario/secundario)

Valores devueltos

Devuelve TRUE en caso de éxito, o FALSE si el tipo de contenido no tuviera una parte primaria y otra secundaria.

Ver también

  • HttpResponse::getContentDisposition() - Consultar Content-Disposition
  • HttpResponse::setContentDisposition() - Establecer Content-Disposition
  • HttpResponse::getContentType() - Consultar Content-Type
  • HttpResponse::guessContentType() - Averiguar tipo de contenido

HttpResponse::setContentDisposition
HttpResponse::setData
HttpResponse


Asignar datos

HttpResponse::setContentType
HttpResponse::setETag
HttpResponse
PHP Manual

HttpResponse::setData

(PECL pecl_http >= 0.10.0)

HttpResponse::setData — Asignar datos

Descripción

static bool HttpResponse::setData ( mixed $data )

Asigna los datos que se van a enviar.

Nota: ETag y Last-Modified previamente calculados o definidos, serán ahora recalculados y redefinidos.

Parámetros

data

datos a enviar

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • HttpResponse::getData() - Consultar datos
  • HttpResponse::getFile() - Consultar fichero
  • HttpResponse::setFile() - Asignar fichero
  • HttpResponse::getStream() - Consultar flujo
  • HttpResponse::setStream() - Asignar flujo

HttpResponse::setContentType
HttpResponse::setETag
HttpResponse


Establecer ETag

HttpResponse::setData
HttpResponse::setFile
HttpResponse
PHP Manual

HttpResponse::setETag

(PECL pecl_http >= 0.10.0)

HttpResponse::setETag — Establecer ETag

Descripción

static bool HttpResponse::setETag ( string $etag )

Establece un ETag personalizado. Úselo sólo si sabe realmente lo que hace.

Parámetros

etag

cadena de texto sin comillas que contiene el ETag

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • HttpResponse::getLastModified() - Consultar Last-Modified
  • HttpResponse::setLastModified() - Establecer Last-Modified
  • HttpResponse::getETag() - Consultar ETag

HttpResponse::setData
HttpResponse::setFile
HttpResponse


Asignar fichero

HttpResponse::setETag
HttpResponse::setGzip
HttpResponse
PHP Manual

HttpResponse::setFile

(PECL pecl_http >= 0.10.0)

HttpResponse::setFile — Asignar fichero

Descripción

static bool HttpResponse::setFile ( string $file )

Asigna el fichero que se va a enviar.

Nota: ETag y Last-Modified previamente calculados o definidos, serán ahora recalculados y redefinidos.

Parámetros

file

ruta al fichero que se va a enviar

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • HttpResponse::getData() - Consultar datos
  • HttpResponse::setData() - Asignar datos
  • HttpResponse::getFile() - Consultar fichero
  • HttpResponse::getStream() - Consultar flujo
  • HttpResponse::setStream() - Asignar flujo

HttpResponse::setETag
HttpResponse::setGzip
HttpResponse


Establecer gzip

HttpResponse::setFile
HttpResponse::setHeader
HttpResponse
PHP Manual

HttpResponse::setGzip

(PECL pecl_http >= 0.10.0)

HttpResponse::setGzip — Establecer gzip

Descripción

static bool HttpResponse::setGzip ( bool $gzip )

Habilita compresión gzip al vuelo a la entidad a enviar.

Parámetros

gzip

indica si se debe o no habilitar la compresión en GZip

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • HttpResponse::getGzip() - Obtener gzip

HttpResponse::setFile
HttpResponse::setHeader
HttpResponse


Establecer header

HttpResponse::setGzip
HttpResponse::setLastModified
HttpResponse
PHP Manual

HttpResponse::setHeader

(PECL pecl_http >= 0.12.0)

HttpResponse::setHeader — Establecer header

Descripción

static bool HttpResponse::setHeader ( string $name [, mixed $value [, bool $replace = true ]] )

Envía una cabecera HTTP.

Parámetros

name

nombre de la cabecera

value

valor de la cabecera; si no hubiera valor, no se enviaría ninguna cabecera con el nombre asignado

replace

indica si debe o no reemplazar una cabecera existente con el mismo nombre

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • HttpResponse::getHeader() - Consultar cabecera

HttpResponse::setGzip
HttpResponse::setLastModified
HttpResponse


Establecer Last-Modified

HttpResponse::setHeader
HttpResponse::setStream
HttpResponse
PHP Manual

HttpResponse::setLastModified

(PECL pecl_http >= 0.12.0)

HttpResponse::setLastModified — Establecer Last-Modified

Descripción

static bool HttpResponse::setLastModified ( int $timestamp )

Asigna la fecha de última modificación Last-Modified facilitada.

Parámetros

timestamp

Fecha Unix que representa la fecha de última modificación de la entidad

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • HttpResponse::getLastModified() - Consultar Last-Modified
  • HttpResponse::getETag() - Consultar ETag
  • HttpResponse::setETag() - Establecer ETag

HttpResponse::setHeader
HttpResponse::setStream
HttpResponse


Asignar flujo

HttpResponse::setLastModified
HttpResponse::setThrottleDelay
HttpResponse
PHP Manual

HttpResponse::setStream

(PECL pecl_http >= 0.10.0)

HttpResponse::setStream — Asignar flujo

Descripción

static bool HttpResponse::setStream ( resource $stream )

Asigna el recurso que se va a enviar.

Nota: ETag y Last-Modified previamente calculados o definidos, serán ahora recalculados y redefinidos.

Parámetros

stream

flujo abierto a partir del cual se consultarán los datos que se van a enviar

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • HttpResponse::getData() - Consultar datos
  • HttpResponse::setData() - Asignar datos
  • HttpResponse::getFile() - Consultar fichero
  • HttpResponse::setFile() - Asignar fichero
  • HttpResponse::getStream() - Consultar flujo

HttpResponse::setLastModified
HttpResponse::setThrottleDelay
HttpResponse


Establecer regulación de intervalos

HttpResponse::setStream
HttpResponse::status
HttpResponse
PHP Manual

HttpResponse::setThrottleDelay

(PECL pecl_http >= 0.10.0)

HttpResponse::setThrottleDelay — Establecer regulación de intervalos

Descripción

static bool HttpResponse::setThrottleDelay ( float $seconds )

Establece la regulación de intervalos.

Nota: Proporciona un mecanismo básico de regulación, que hará rendir el proceso o subproceso actual hasta que la entidad haya sido completamente enviada.

Nota:

Esto puede no funcionar como se espera en el(los) siguiente(s) SAPI(s): FastCGI.

Parámetros

seconds

número de segundos de pausa entre cada bloque enviado

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • HttpResponse::getBufferSize() - Consultar tamaño de buffer
  • HttpResponse::setBufferSize() - Establecer tamaño de buffer
  • HttpResponse::getThrottleDelay() - Consultar regulación de intervalos

HttpResponse::setStream
HttpResponse::status
HttpResponse


Envía un código de estado HTTP

HttpResponse::setThrottleDelay
Funciones de HTTP
HttpResponse
PHP Manual

HttpResponse::status

(PECL pecl_http >= 0.12.0)

HttpResponse::status — Envía un código de estado HTTP

Descripción

static bool HttpResponse::status ( int $status )

Esta función es un alias de: http_send_status().

HttpResponse::setThrottleDelay
Funciones de HTTP
HttpResponse


Funciones de HTTP

Las funciones internas relacionadas con HTTP listadas anteriormente en esta página se pueden encontrar en la categoría funciones de red.

Para las siguientes funciones no se necesita que el módulo HTTP esté presente: header(), headers_list(), headers_sent(), setcookie() y setrawcookie().

Grupos de funciones

Cacheo

  • http_cache_etag()
  • http_cache_last_modified()

Codificación

  • http_chunked_decode()
  • http_deflate()
  • http_inflate()

Variadas

  • http_build_cookie()
  • http_date()
  • http_get_request_body_stream()
  • http_get_request_body()
  • http_get_request_headers()
  • http_match_etag()
  • http_match_modified()
  • http_match_request_header()
  • http_support()

Negociación

  • http_negotiate_charset()
  • http_negotiate_content_type()
  • http_negotiate_language()

Gestión de resultados

  • ob_deflatehandler()
  • ob_etaghandler()
  • ob_inflatehandler()

Análisis

  • http_parse_cookie()
  • http_parse_headers()
  • http_parse_message()
  • http_parse_params()

Peticiones

  • http_get()
  • http_head()
  • http_post_data()
  • http_post_fields()
  • http_put_data()
  • http_put_file()
  • http_put_stream()
  • http_request_body_encode()
  • http_request_method_exists()
  • http_request_method_name()
  • http_request_method_register()
  • http_request_method_unregister()
  • http_request()

Respuestas

  • http_redirect()
  • http_send_content_disposition()
  • http_send_content_type()
  • http_send_data()
  • http_send_file()
  • http_send_last_modified()
  • http_send_status()
  • http_send_stream()
  • http_throttle()

URLs

  • http_build_str()
  • http_build_url()

Gestión de la persistencia

  • http_persistent_handles_count()
  • http_persistent_handles_ident()
  • http_persistent_handles_clean()

Tabla de contenidos

  • http_cache_etag — Guardando en caché a partir de ETag
  • http_cache_last_modified — Guardando en caché por última modificación
  • http_chunked_decode — Decodifica datos fragmentados
  • http_deflate — Comprimir datos
  • http_inflate — Descomprimir datos
  • http_build_cookie — Construir el string de una cookie
  • http_date — Compone una fecha HTTP compatible con el RFC
  • http_get_request_body_stream — Consultar cuerpo de la petición como un flujo
  • http_get_request_body — Consultar cuerpo de petición como string
  • http_get_request_headers — Obtener cabeceras de petición como array
  • http_match_etag — Comprobar si coincide el ETag
  • http_match_modified — Comprobar si coincide la última modificación
  • http_match_request_header — Comprobar si coincide cualquier cabecera
  • http_support — Comprueba el soporte HTTP integrado
  • http_negotiate_charset — Negociar el conjunto de caracteres preferido por los clientes
  • http_negotiate_content_type — Negociar el tipo de contenido preferido por los clientes
  • http_negotiate_language — Negociar el idioma preferido de los clientes
  • ob_deflatehandler — Comprimir el manejador de salidas
  • ob_etaghandler — Manejador de salida de ETag
  • ob_inflatehandler — Descromprimir el Manejador de salidas
  • http_parse_cookie — Analizar una cookie HTTP
  • http_parse_headers — Convierte cabeceras HTTP
  • http_parse_message — Analizar mensajes HTTP
  • http_parse_params — Analizar lista de parámetros
  • http_persistent_handles_clean — Cierra el control de persistencia
  • http_persistent_handles_count — Estadísticas del control del persistencias
  • http_persistent_handles_ident — Obtener/modificar el identificador del control de persistencia
  • http_get — Realizar una petición GET
  • http_head — Realizar una petición HEAD
  • http_post_data — Realizar una petición POST con datos pre-codificados
  • http_post_fields — Realizar una petición POST con datos a codificar
  • http_put_data — Realizar una petición PUT con datos
  • http_put_file — Realizar una petición PUT con un fichero
  • http_put_stream — Realizar una petición PUT a partir de un flujo
  • http_request_body_encode — Codificar el contenido de una petición
  • http_request_method_exists — Comprueba si existe un método de petición
  • http_request_method_name — Obtener nombre de método de petición
  • http_request_method_register — Da de alta un método de petición
  • http_request_method_unregister — Dar de baja un método de petición
  • http_request — Realizar una petición personalizada
  • http_redirect — Realiza una redirección HTTP
  • http_send_content_disposition — Enviar la cabecera Content-Disposition
  • http_send_content_type — Enviar cabecera Content-Type
  • http_send_data — Enviar datos arbitrarios
  • http_send_file — Enviar un fichero
  • http_send_last_modified — Enviar cabecera Last-Modified
  • http_send_status — Enviar código de estado HTTP
  • http_send_stream — Enviar flujo
  • http_throttle — Aceleración de HTTP
  • http_build_str — Construir un string de consulta
  • http_build_url — Construir una URL
HttpResponse::status
http_cache_etag
HTTP


Guardando en caché a partir de ETag

Funciones de HTTP
http_cache_last_modified
Funciones de HTTP
PHP Manual

http_cache_etag

(PECL pecl_http >= 0.1.0)

http_cache_etag — Guardando en caché a partir de ETag

Descripción

bool http_cache_etag ([ string $etag ] )

Trata de almacenar en memoria caché a partir del ETag la entidad enviada, tanto si se ha facilitado el ETag como si se ha generado por el algoritmo hash especificado en la opción INI http.etag.mode.

Si la cabecera If-None-Match enviada por el cliente coincidiera con el ETag que se proporcionó (o que se calculó), se considerará que el contenido está en la caché del lado del cliente y se enviará un código de estado 304 Not Modified.

Si la opción INI http.log.cache estutivera habilitada, y el intento de consulta de caché tuviera éxito, se escribiría una entrada en el registro de caché.

Nota: Esta función debería ser utilizada en conjunción con http_send_data(), http_send_file() y http_send_stream().

Si esta función no se usara con la API de funciones API http_send_*(), se utilizaría ob_etaghandler().

Parámetros

etag

ETag definido por el usuario

Valores devueltos

Devuelve FALSE o finaliza en caso de éxito devolviendo el código de estado 304 Not Modified si la entidad estuviera cacheada. Vea también la opción INI http.force_exit para ver a que sucede cuando "finaliza".

Ejemplos

Ejemplo #1 Ejemplo de http_cache_etag()

<?php
http_cache_etag();
http_send_data("data");
?>

Ver también

  • http_cache_last_modified() - Guardando en caché por última modificación
  • ob_etaghandler() - Manejador de salida de ETag
  • http_match_etag() - Comprobar si coincide el ETag
  • la clase HttpResponse si está utilizando PHP 5.1.0 and above

Funciones de HTTP
http_cache_last_modified
Funciones de HTTP


Guardando en caché por última modificación

http_cache_etag
http_chunked_decode
Funciones de HTTP
PHP Manual

http_cache_last_modified

(PECL pecl_http >= 0.1.0)

http_cache_last_modified — Guardando en caché por última modificación

Descripción

bool http_cache_last_modified ([ int $timestamp_or_expires ] )

Trata de guardar en caché la entidad enviada a partir de la fecha de última modificación.

Si el parámetro proporcionado es mayor que 0, se considerará que es una fecha Unix y se enviará ésta como fecha de última modificación. Si fuera 0 o se omitiera, se enviaría la fecha actual como fecha Last-Modified. Si fuera negativo, se consideraría el tiempo de expiración en segundos, es decir, si la la fecha de última modificación de la petición no entrara dentro de la fecha Unix que se calculó, se actualizaría la cabecera Last-Modified y se enviaría el contenido definitivo.

Si la opción INI http.log.cache estutivera habilitada y el intento de caché tuviera éxito, se escribiría una entrada en el registro de la caché.

Nota: Esta función debería ser utilizada en conjunción con http_send_data(), http_send_file() y http_send_stream().

Parámetros

timestamp_or_expires

Fecha Unix

Valores devueltos

Devuelve FALSE o finaliza en caso de éxito devolviendo el código de estado 304 Not Modified si la entidad estuviera cacheada. Vea también la opción INI http.force_exit para ver a que sucede cuando "finaliza".

Ejemplos

Ejemplo #1 Ejemplo de http_cache_last_modified()

Guardando en caché 5 segundos.

<?php
http_cache_last_modified(-5);
printf("%s\n", http_date());
?>

Ver también

  • http_cache_etag() - Guardando en caché a partir de ETag
  • la clase HttpResponse si está utilizando PHP 5.1.0 and above

http_cache_etag
http_chunked_decode
Funciones de HTTP


Decodifica datos fragmentados

http_cache_last_modified
http_deflate
Funciones de HTTP
PHP Manual

http_chunked_decode

(PECL pecl_http >= 0.1.0)

http_chunked_decode — Decodifica datos fragmentados

Descripción

string http_chunked_decode ( string $encoded )

Decodifica un string con codificación fragmentada HTTP.

Parámetros

encoded

string con codificación fragmentada

Valores devueltos

En caso de éxito, devuelve el string decodificado o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de http_chunked_decode()

<?php
$string = "".
    "05\r\n".
    "this \r\n".
    "07\r\n".
    "string \r\n".
    "12\r\n".
    "is chunked encoded\r\n".
    "01\n\r\n".
    "00";
echo http_chunked_decode($string);
?>

El resultado del ejemplo sería:

this string is chunked encoded

http_cache_last_modified
http_deflate
Funciones de HTTP


Comprimir datos

http_chunked_decode
http_inflate
Funciones de HTTP
PHP Manual

http_deflate

(PECL pecl_http >= 0.15.0)

http_deflate — Comprimir datos

Descripción

string http_deflate ( string $data [, int $flags = 0 ] )

Comprime datos con gzip, zlib (deflate) o con codificación raw deflate.

Revise la tabla de constantes de compresión para conocer los valores que acepta el parámetro flags.

Parámetros

data

String que contiene los datos que se deben codificar

flags

opciones de compresión

Valores devueltos

En caso de éxito devuelve el string codificado, o NULL en caso de error.

Ver también

  • http_inflate() - Descomprimir datos
  • HttpDeflateStream

http_chunked_decode
http_inflate
Funciones de HTTP


Descomprimir datos

http_deflate
http_build_cookie
Funciones de HTTP
PHP Manual

http_inflate

(PECL pecl_http >= 0.15.0)

http_inflate — Descomprimir datos

Descripción

string http_inflate ( string $data )

Descomprime datos comprimidos con gzip, deflate (zlib) o con codificación raw deflate.

Parámetros

data

string con los datos comprimidos

Valores devueltos

En caso de éxito devuelve el string descomprimido, o NULL en caso de error.

Ver también

  • http_deflate() - Comprimir datos
  • HttpInflateStream

http_deflate
http_build_cookie
Funciones de HTTP


Construir el string de una cookie

http_inflate
http_date
Funciones de HTTP
PHP Manual

http_build_cookie

(PECL pecl_http >= 1.2.0)

http_build_cookie — Construir el string de una cookie

Descripción

string http_build_cookie ( array $cookie )

Construye el string de una cookie a partir de un array u objeto devuelto por http_parse_cookie().

Parámetros

cookie

una lista de cookie devuelta por http_parse_cookie()

Valores devueltos

Devuelve la/s cookie/s en forma de string.

Ver también

  • http_parse_cookie() - Analizar una cookie HTTP

http_inflate
http_date
Funciones de HTTP


Compone una fecha HTTP compatible con el RFC

http_build_cookie
http_get_request_body_stream
Funciones de HTTP
PHP Manual

http_date

(PECL pecl_http >= 0.1.0)

http_date — Compone una fecha HTTP compatible con el RFC

Descripción

string http_date ([ int $timestamp ] )

Compone una fecha HTTP válida de acuerdo al RFC 1123 del tipo: Wed, 22 Dec 2004 11:34:47 GMT.

Parámetros

timestamp

Fecha Unix; en caso de omisión, fecha actual

Valores devueltos

Devuelve la fecha HTTP en forma de string.

Ver también

  • date() - Dar formato a la fecha/hora local

http_build_cookie
http_get_request_body_stream
Funciones de HTTP


Consultar cuerpo de la petición como un flujo

http_date
http_get_request_body
Funciones de HTTP
PHP Manual

http_get_request_body_stream

(PECL pecl_http >= 0.22.0)

http_get_request_body_stream — Consultar cuerpo de la petición como un flujo

Descripción

resource http_get_request_body_stream ( void )

Crea un flujo para leer el cuerpo de una petición binaria (p.ej. datos POST o PUT).

Si el método de petición no fuera POST, sólo se podrá usar una vez esta función.

Parámetros

Valores devueltos

En caso de éxito devuelve el cuerpo de la petición en forma de flujo o NULL si hay fallos.

Ver también

  • http_get_request_body() - Consultar cuerpo de petición como string
  • http_get_request_headers() - Obtener cabeceras de petición como array
  • la clase HttpResponse si está utilizando PHP 5.1.0 and above

http_date
http_get_request_body
Funciones de HTTP


Consultar cuerpo de petición como string

http_get_request_body_stream
http_get_request_headers
Funciones de HTTP
PHP Manual

http_get_request_body

(PECL pecl_http >= 0.10.0)

http_get_request_body — Consultar cuerpo de petición como string

Descripción

string http_get_request_body ( void )

Consulta el cuerpo de una petición binaria (p.ej. datos POST o PUT).

Si el método de petición fuera distinto de POST, no se podrá utilizar esta función tras http_get_request_body_stream()

Parámetros

Valores devueltos

En caso de éxito devuelve el cuerpo de la petición, o NULL en caso de error.

Ver también

  • http_get_request_body_stream() - Consultar cuerpo de la petición como un flujo
  • http_get_request_headers() - Obtener cabeceras de petición como array
  • la clase HttpResponse si está utilizando PHP 5.1.0 and above

http_get_request_body_stream
http_get_request_headers
Funciones de HTTP


Obtener cabeceras de petición como array

http_get_request_body
http_match_etag
Funciones de HTTP
PHP Manual

http_get_request_headers

(PECL pecl_http >= 0.10.0)

http_get_request_headers — Obtener cabeceras de petición como array

Descripción

array http_get_request_headers ( void )

Obtiene una lista de las cabeceras HTTP entrantes.

Parámetros

Valores devueltos

Devuelve un array asociativo de las cabeceras de la petición entrante.

Ver también

  • http_get_request_body() - Consultar cuerpo de petición como string
  • http_get_request_body_stream() - Consultar cuerpo de la petición como un flujo
  • la clase HttpResponse si está utilizando PHP 5.1.0 and above

http_get_request_body
http_match_etag
Funciones de HTTP


Comprobar si coincide el ETag

http_get_request_headers
http_match_modified
Funciones de HTTP
PHP Manual

http_match_etag

(PECL pecl_http >= 0.1.0)

http_match_etag — Comprobar si coincide el ETag

Descripción

bool http_match_etag ( string $etag [, bool $for_range = false ] )

Comprueba si coincide el ETag pasado como parámetro con las cabeceras HTTP del cliente If-Match If-None-Match.

Parámetros

etag

ETag a comprobar

for_range

si es TRUE, se comprobará la cabecera normalmente usada para validar rangos HTTP

Valores devueltos

Devuelve TRUE si coincide el ETag o la cabecera contiene un asterisco ("*"), si no FALSE.

Ver también

  • http_match_last_modified()
  • http_match_request_header() - Comprobar si coincide cualquier cabecera
  • http_cache_etag() - Guardando en caché a partir de ETag
  • http_cache_last_modified() - Guardando en caché por última modificación
  • ob_etaghandler() - Manejador de salida de ETag

http_get_request_headers
http_match_modified
Funciones de HTTP


Comprobar si coincide la última modificación

http_match_etag
http_match_request_header
Funciones de HTTP
PHP Manual

http_match_modified

(PECL pecl_http >= 0.1.0)

http_match_modified — Comprobar si coincide la última modificación

Descripción

bool http_match_modified ([ int $timestamp = -1 [, bool $for_range = false ]] )

Comprueba si coincide la fecha Unix proporcionada con las cabeceras HTTP del cliente If-Modified-Since If-Unmodified-Since.

Parámetros

timestamp

fecha Unix, o si se omite, la fecha actual

for_range

si es TRUE, se comprobará la cabecera normalmente usada para validar rangos HTTP

Valores devueltos

Devuelve TRUE si la fecha Unix corresponde a una fecha anterior a la de la cabecera, o si no FALSE.

Ver también

  • http_match_etag() - Comprobar si coincide el ETag
  • http_match_request_header() - Comprobar si coincide cualquier cabecera
  • http_cache_etag() - Guardando en caché a partir de ETag
  • http_cache_last_modified() - Guardando en caché por última modificación

http_match_etag
http_match_request_header
Funciones de HTTP


Comprobar si coincide cualquier cabecera

http_match_modified
http_support
Funciones de HTTP
PHP Manual

http_match_request_header

(PECL pecl_http >= 0.10.0)

http_match_request_header — Comprobar si coincide cualquier cabecera

Descripción

bool http_match_request_header ( string $header , string $value [, bool $match_case = false ] )

Comprobar si coincide una cabecera HTTP entrante.

Parámetros

header

nombre de la cabecera (insensible a mayúsculas)

value

valor de la cabecera contra el que se comparará

match_case

si se debe comparar con o sin sensibilidad a mayúsculas

Valores devueltos

Devuelve TRUE si coincide el valor de la cabecera, si no FALSE.

Ver también

  • http_match_etag() - Comprobar si coincide el ETag
  • http_match_last_modified()

http_match_modified
http_support
Funciones de HTTP


Comprueba el soporte HTTP integrado

http_match_request_header
http_negotiate_charset
Funciones de HTTP
PHP Manual

http_support

(PECL pecl_http >= 0.15.0)

http_support — Comprueba el soporte HTTP integrado

Descripción

int http_support ([ int $feature = 0 ] )

Comprueba si hay soporte para funcionalidades que requieren bibliotecas externas.

Revise la tabla de constantes predefinidas para conocer los posibles valores del parámetro feature.

Parámetros

feature

funcionalidad que se somete a prueba

Valores devueltos

Devuelve un integer, informando si hay soporte para la funcionalidad solicitada, o si se omite feature, una máscara de bits con todas las funcionalidades soportadas.

Ejemplos

Ejemplo #1 Ejemplo de http_support()

<?php
if (!http_support(HTTP_SUPPORT_REQUESTS)) {
    die("¡Soporte para peticiones HTTP necesario!\n");
}
?>

http_match_request_header
http_negotiate_charset
Funciones de HTTP


Negociar el conjunto de caracteres preferido por los clientes

http_support
http_negotiate_content_type
Funciones de HTTP
PHP Manual

http_negotiate_charset

(PECL pecl_http >= 0.1.0)

http_negotiate_charset — Negociar el conjunto de caracteres preferido por los clientes

Descripción

string http_negotiate_charset ( array $supported [, array &$result ] )

Esta función se encarga de negociar el conjunto de caracteres preferido los clientes basado en su cabecera de HTTP Accept-Charset. Se reconoce el calificador y los conjuntos de caracteres sin calificador son valorados como los más altos.

Parámetros

supported

Arreglo que contiene como valores los conjuntos de caracteres soportados

result

Serán llenados con un arreglo que contiene los resultados de la negociación

Valores devueltos

Devuelve el conjunto de caracteres negociado o el que está por predeterminado (por ejemplo, la primer entrada del arreglo) si ninguno coincide.

Ejemplos

Ejemplo #1 Utilizando http_negotiate_charset()

<?php
$charsets = array(
        'iso-8859-1', // El predeterminado
        'iso-8859-2',
        'iso-8859-15',
        'utf-8'
);

$pref = http_negotiate_charset($charsets, $result);

if (strcmp($pref, 'iso-8859-1')) {
        iconv_set_encoding('internal_encoding', 'iso-8859-1');
        iconv_set_encoding('output_encoding', $pref);
        ob_start('ob_iconv_handler');
}

print_r($result);
?>

http_support
http_negotiate_content_type
Funciones de HTTP


Negociar el tipo de contenido preferido por los clientes

http_negotiate_charset
http_negotiate_language
Funciones de HTTP
PHP Manual

http_negotiate_content_type

(PECL pecl_http >= 0.19.0)

http_negotiate_content_type — Negociar el tipo de contenido preferido por los clientes

Descripción

string http_negotiate_content_type ( array $supported [, array &$result ] )

Esta función se encarga de negociar el tipo de contenido preferido por los clientes basado en su cabecera de HTTP Accept. Se reconoce el calificador y los tipos de contenido sin calificador son valorados como los más altos.

Parámetros

supported

Arreglo que contiene como valores los tipos de contenidos soportados

result

Serán llenados con un arreglo que contiene los resultados de la negociación

Valores devueltos

Devuelve el tipo de contenido negociado o el que está por predeterminado (por ejemplo, la primer entrada del arreglo) si ninguno coincide.

Ejemplos

Ejemplo #1 Utilizando http_negotiate_content_type()

<?php
$content_types = array('application/xhtml+xml', 'text/html');
http_send_content_type(http_negotiate_content_type($content_types));
?>

http_negotiate_charset
http_negotiate_language
Funciones de HTTP


Negociar el idioma preferido de los clientes

http_negotiate_content_type
ob_deflatehandler
Funciones de HTTP
PHP Manual

http_negotiate_language

(PECL pecl_http >= 0.1.0)

http_negotiate_language — Negociar el idioma preferido de los clientes

Descripción

string http_negotiate_language ( array $supported [, array &$result ] )

Esta función se encarga de negociar el idioma preferido de los clientes basado en su cabecera de HTTP Accept-Language. Se reconoce el calificador y los idiomas sin calificador son valorados como los más altos. El calificador se reducirá en un 10% para las coincidencias parciales (por ejemplo, coincidencia del idioma primario).

Parámetros

supported

Arreglo que contiene como valores los idiomas soportados

result

Serán llenados con un arreglo que contiene los resultados de la negociación

Valores devueltos

Devuelve el idioma negociado o el que está por predeterminado (por ejemplo, la primer entrada del arreglo) si ninguno coincide.

Ejemplos

Ejemplo #1 Utilizando http_negotiate_language()

<?php
$langs = array(
        'en-US',// El predeterminado
        'fr',
        'fr-FR',
        'de',
        'de-DE',
        'de-AT',
        'de-CH',
);

include './langs/'. http_negotiate_language($langs, $result) .'.php';

print_r($result);
?>

http_negotiate_content_type
ob_deflatehandler
Funciones de HTTP


Comprimir el manejador de salidas

http_negotiate_language
ob_etaghandler
Funciones de HTTP
PHP Manual

ob_deflatehandler

(PECL pecl_http >= 0.21.0)

ob_deflatehandler — Comprimir el manejador de salidas

Descripción

string ob_deflatehandler ( string $data , int $mode )

Para ser utilizado con ob_start().

Nota: Este manipulador de salidas puede ser utilizado solamente una vez.

La compresión del manejador de salidas sólo puede usarse una vez.

Entra en conflicto con ob_gzhandler() y con zlib.output_compression, y no debe usarse tras invocar la extensión mbstring con la función mb_output_handler() ni la extensión de reescrituras de URL session (session.use_trans_sid).

Ver también

  • ob_inflatehandler() - Descromprimir el Manejador de salidas
  • ob_start() - Activa el almacenamiento en búfer de salida

http_negotiate_language
ob_etaghandler
Funciones de HTTP


Manejador de salida de ETag

ob_deflatehandler
ob_inflatehandler
Funciones de HTTP
PHP Manual

ob_etaghandler

(PECL pecl_http >= 0.10.0)

ob_etaghandler — Manejador de salida de ETag

Descripción

string ob_etaghandler ( string $data , int $mode )

Para ser utilizado con ob_start().

Manejador del buffer de salida que genera un ETag con el algoritmo hash especificado en opción INI http.etag.mode.

http_cache_etag() utiliza este manejador de salidas.

Ver también

  • http_cache_etag() - Guardando en caché a partir de ETag
  • http_match_etag() - Comprobar si coincide el ETag

ob_deflatehandler
ob_inflatehandler
Funciones de HTTP


Descromprimir el Manejador de salidas

ob_etaghandler
http_parse_cookie
Funciones de HTTP
PHP Manual

ob_inflatehandler

(PECL pecl_http >= 0.21.0)

ob_inflatehandler — Descromprimir el Manejador de salidas

Descripción

string ob_inflatehandler ( string $data , int $mode )

Para ser utilizado con ob_start().

Se aplican las mismas restricciones que con ob_deflatehandler().

Ver también

  • ob_deflatehandler() - Comprimir el manejador de salidas
  • ob_start() - Activa el almacenamiento en búfer de salida

ob_etaghandler
http_parse_cookie
Funciones de HTTP


Analizar una cookie HTTP

ob_inflatehandler
http_parse_headers
Funciones de HTTP
PHP Manual

http_parse_cookie

(PECL pecl_http >= 0.20.0)

http_parse_cookie — Analizar una cookie HTTP

Descripción

object http_parse_cookie ( string $cookie [, int $flags [, array $allowed_extras ]] )

Analiza una cookie HTTP como si se enviara en una respuesta, y se devuelve una estructura de tipo objeto con el resultado.

Parámetros

cookie

string que contiene el valor de la cabecera de respuesta Set-Cookie

flags

banderas para el análisis (HTTP_COOKIE_PARSE_RAW)

allowed_extras

array que contiene las claves de extras reconocidas; por omisión, todas las claves desconocidas se manejarán como si se trataran de nombres de cookies

Valores devueltos

En caso de éxito, devuelve un objeto stdClass o FALSE en caso de error.

Ejemplos

Ejemplo #1 Uso de http_parse_cookie()

<?php
print_r(http_parse_cookie("foo=bar; bar=baz; path=/; domain=example.com; comment=; secure", 0, array("comment")));
?>

El resultado del ejemplo sería:

stdClass Object
(
  [cookies] => Array
  (
    [foo] => bar
    [bar] => baz
  )

  [extras] => Array
  (
    [comment] =>
  )

  [flags] => 16
  [expires] => 0
  [path] => /
  [domain] => example.com
)

Ver también

  • http_parse_headers() - Convierte cabeceras HTTP
  • http_parse_message() - Analizar mensajes HTTP
  • http_build_cookie() - Construir el string de una cookie

ob_inflatehandler
http_parse_headers
Funciones de HTTP


Convierte cabeceras HTTP

http_parse_cookie
http_parse_message
Funciones de HTTP
PHP Manual

http_parse_headers

(PECL pecl_http >= 0.10.0)

http_parse_headers — Convierte cabeceras HTTP

Descripción

array http_parse_headers ( string $header )

Convierte cabeceras HTTP a un array asociativo.

Parámetros

header

Un string que contiene las cabeceras HTTP

Valores devueltos

Devuelve un array en caso de éxito, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Uso de http_parse_headers()

<?php
$cabeceras = "content-type: text/html; charset=UTF-8\r\n".
  "Server: Funky/1.0\r\n".
  "Set-Cookie: foo=bar\r\n".
  "Set-Cookie: baz=quux\r\n".
  "Folded: works\r\n\ttoo\r\n";
print_r(http_parse_headers($cabeceras));
?>

El resultado del ejemplo sería:

Array
(
  [Content-Type] => text/html; charset=UTF-8
  [Server] => Funky/1.0
  [Set-Cookie] => Array
  (
    [0] => foo=bar
    [1] => baz=quux
  )
  [Folded] => works
    too
)

Ver también

  • http_parse_message() - Analizar mensajes HTTP
  • http_parse_cookie() - Analizar una cookie HTTP

http_parse_cookie
http_parse_message
Funciones de HTTP


Analizar mensajes HTTP

http_parse_headers
http_parse_params
Funciones de HTTP
PHP Manual

http_parse_message

(PECL pecl_http >= 0.12.0)

http_parse_message — Analizar mensajes HTTP

Descripción

object http_parse_message ( string $message )

Analiza el mensaje (parámetro message) y devuelve una estructura de tipo object simple recursivo.

Parámetros

message

string que contiene un único mensaje HTTP, y varios mensajes HTTP consecutivos

Valores devueltos

Devuelve una estructura de tipo object jerárquica de los mensajes analizados.

Ejemplos

Ejemplo #1 Uso de http_parse_message()

<?php
define ('URL', 'http://www.example.com/');
print_r(http_parse_message(http_get(URL, array('redirect' => 3))));
?>

El resultado del ejemplo sería algo similar a:

stdClass object
(
  [type] => 2
  [httpVersion] => 1.1
  [responseCode] => 200
  [headers] => Array
  (
    [Content-Length] => 3
    [Server] => Apache
  )
  [body] => Hi!
  [parentMessage] => stdClass object
  (
    [type] => 2
    [httpVersion] => 1.1
    [responseCode] => 302
    [headers] => Array
    (
      [Content-Length] => 0
      [Location] => ...
    )
    [body] =>
    [parentMessage] => ...
  )
)

Ver también

  • http_parse_headers() - Convierte cabeceras HTTP
  • la clase HttpMessage

http_parse_headers
http_parse_params
Funciones de HTTP


Analizar lista de parámetros

http_parse_message
http_persistent_handles_clean
Funciones de HTTP
PHP Manual

http_parse_params

(PECL pecl_http >= 1.0.0)

http_parse_params — Analizar lista de parámetros

Descripción

object http_parse_params ( string $param [, int $flags = HTTP_PARAMS_DEFAULT ] )

Analiza una lista de parámetros.

Revise la tabla de constantes de análisis de parámetros para conocer los valores posibles para el parámetro flags.

Parámetros

param

Parámetros

flags

Banderas para el análisis

Valores devueltos

Devuelve una lista de parámetros en forma de objeto stdClass.

Ejemplos

Ejemplo #1 Ejemplo de http_parse_params()

<?php
var_dump(http_parse_params("text/html; charset=\"utf8\""));
?>

El resultado del ejemplo sería:

object(stdClass)#1 (1) {
  ["params"]=>
  array(2) {
    [0]=>
    string(9) "text/html"
    [1]=>
    array(1) {
      ["charset"]=>
      string(4) "utf8"
    }
  }
}

Ver también

  • http_parse_headers() - Convierte cabeceras HTTP
  • http_parse_cookie() - Analizar una cookie HTTP
  • http_parse_message() - Analizar mensajes HTTP

http_parse_message
http_persistent_handles_clean
Funciones de HTTP


Cierra el control de persistencia

http_parse_params
http_persistent_handles_count
Funciones de HTTP
PHP Manual

http_persistent_handles_clean

(PECL pecl_http >= 1.5.0)

http_persistent_handles_clean — Cierra el control de persistencia

Descripción

string http_persistent_handles_clean ([ string $ident ] )

Limpia (cierra) el control de persistencias, identificado opcionalmente por su identificador.

Parámetros

clean

string identificador

Valores devueltos

No devuelve ningún valor.

Ver también

  • http_persistent_handles_ident() - Obtener/modificar el identificador del control de persistencia
  • http_persistent_handles_count() - Estadísticas del control del persistencias

http_parse_params
http_persistent_handles_count
Funciones de HTTP


Estadísticas del control del persistencias

http_persistent_handles_clean
http_persistent_handles_ident
Funciones de HTTP
PHP Manual

http_persistent_handles_count

(PECL pecl_http >= 1.5.0)

http_persistent_handles_count — Estadísticas del control del persistencias

Descripción

object http_persistent_handles_count ( void )

Muestra estadísticas sobre el uso del control de persistencia.

Parámetros

Valores devueltos

En caso de éxito, devuelve en forma de un objeto stdClass estadísticas del control de persistencia o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de http_persistent_handles_count()

<?php
print_r(http_persistent_handles_count());
?>

El resultado del ejemplo sería:

stdClass Object
(
    [http_request] => Array
        (
            [GLOBAL] => Array
                (
                    [used] => 0
                    [free] => 1
                )

        )

    [http_request_datashare] => Array
        (
            [GLOBAL] => Array
                (
                    [used] => 1
                    [free] => 0
                )

        )

    [http_request_pool] => Array
        (
        )

)

Ver también

  • http_persistent_handles_ident() - Obtener/modificar el identificador del control de persistencia
  • http_persistent_handles_clean() - Cierra el control de persistencia

http_persistent_handles_clean
http_persistent_handles_ident
Funciones de HTTP


Obtener/modificar el identificador del control de persistencia

http_persistent_handles_count
http_get
Funciones de HTTP
PHP Manual

http_persistent_handles_ident

(PECL pecl_http >= 1.5.0)

http_persistent_handles_ident — Obtener/modificar el identificador del control de persistencia

Descripción

string http_persistent_handles_ident ([ string $ident ] )

Consultar o definir el identificador del control de persistencia.

Parámetros

ident

string identificador

Valores devueltos

en caso de éxito, devuelve el identificador anterior en forma de string o FALSE en caso de error.

Ejemplos

Ejemplo #1 A http_persistent_handles_ident() example

<?php
echo http_persistent_handles_ident("CUSTOM"), "\n";
echo http_persistent_handles_ident("MyApp1"), "\n";
http_get("http://www.example.com/");
print_r(http_persistent_handles_count());
?>

El resultado del ejemplo sería:

GLOBAL
CUSTOM
stdClass Object
(
[http_request] => Array
(
[MyApp1] => Array
(
[used] => 0
[free] => 1
)

)

[http_request_datashare] => Array
(
[GLOBAL] => Array
(
[used] => 1
[free] => 0
)

)

[http_request_pool] => Array
(
)

)

Ver también

  • http_persistent_handles_count() - Estadísticas del control del persistencias
  • http_persistent_handles_clean() - Cierra el control de persistencia

http_persistent_handles_count
http_get
Funciones de HTTP


Realizar una petición GET

http_persistent_handles_ident
http_head
Funciones de HTTP
PHP Manual

http_get

(PECL pecl_http >= 0.1.0)

http_get — Realizar una petición GET

Descripción

string http_get ( string $url [, array $options [, array &$info ]] )

Realiza sobre la url facilitada una petición HTTP de tipo GET.

Vea la lista completa de opciones de peticiones.

Parámetros

url

URL

options

opciones de peticiones

info

Se rellenará con información sobre la petición/respuesta

Valores devueltos

Returns the HTTP response(s) as string on success, or FALSE on failure.

Ejemplos

Ejemplo #1 Ejemplo de http_get()

<?php
$response = http_get("http://www.example.com/", array("timeout"=>1), $info);
print_r($info);
?>

El resultado del ejemplo sería:

array (
  'effective_url' => 'http://www.example.com/',
  'response_code' => 302,
  'connect_code' => 0,
  'filetime' => -1,
  'total_time' => 0.212348,
  'namelookup_time' => 0.038296,
  'connect_time' => 0.104144,
  'pretransfer_time' => 0.104307,
  'starttransfer_time' => 0.212077,
  'redirect_time' => 0,
  'redirect_count' => 0,
  'size_upload' => 0,
  'size_download' => 218,
  'speed_download' => 1026,
  'speed_upload' => 0,
  'header_size' => 307,
  'request_size' => 103,
  'ssl_verifyresult' => 0,
  'ssl_engines' =>
  array (
    0 => 'dynamic',
    1 => 'cswift',
    2 => 'chil',
    3 => 'atalla',
    4 => 'nuron',
    5 => 'ubsec',
    6 => 'aep',
    7 => 'sureware',
    8 => '4758cca',
  ),
  'content_length_download' => 218,
  'content_length_upload' => 0,
  'content_type' => 'text/html',
  'httpauth_avail' => 0,
  'proxyauth_avail' => 0,
  'num_connects' => 1,
  'os_errno' => 0,
  'error' => '',
)

http_persistent_handles_ident
http_head
Funciones de HTTP


Realizar una petición HEAD

http_get
http_post_data
Funciones de HTTP
PHP Manual

http_head

(PECL pecl_http >= 0.1.0)

http_head — Realizar una petición HEAD

Descripción

string http_head ( string $url [, array $options [, array &$info ]] )

Realiza sobre la url facilitada una petición HTTP de tipo HEAD.

Vea la lista completa de opciones de peticiones.

Parámetros

url

URL

options

opciones de peticiones

info

Información de petición/respuesta

Valores devueltos

Returns the HTTP response(s) as string on success, or FALSE on failure.

http_get
http_post_data
Funciones de HTTP


Realizar una petición POST con datos pre-codificados

http_head
http_post_fields
Funciones de HTTP
PHP Manual

http_post_data

(PECL pecl_http >= 0.1.0)

http_post_data — Realizar una petición POST con datos pre-codificados

Descripción

string http_post_data ( string $url , string $data [, array $options [, array &$info ]] )

Realiza sobre la url facilitada una petición HTTP de tipo POST.

Vea la lista completa de opciones de peticiones.

Parámetros

url

URL

data

String que contiene los datos post pre-codificados

options

opciones de peticiones

info

Información de petición/respuesta

Valores devueltos

Returns the HTTP response(s) as string on success, or FALSE on failure.

http_head
http_post_fields
Funciones de HTTP


Realizar una petición POST con datos a codificar

http_post_data
http_put_data
Funciones de HTTP
PHP Manual

http_post_fields

(PECL pecl_http >= 0.10.0)

http_post_fields — Realizar una petición POST con datos a codificar

Descripción

string http_post_fields ( string $url , array $data [, array $files [, array $options [, array &$info ]]] )

Realiza sobre la url facilitada una petición HTTP de tipo POST.

Vea la lista completa de opciones de peticiones.

Parámetros

url

URL

data

Array asociativo con los valores POST

files

Array con los ficheros que se desean mandar

options

opciones de peticiones

info

Información de petición/respuesta

Valores devueltos

Returns the HTTP response(s) as string on success, or FALSE on failure.

Ejemplos

Ejemplo #1 Ejemplo de http_post_fields()

<?php
$fields = array(
    'name' => 'mike',
    'pass' => 'se_ret'
);
$files = array(
    array(
        'name' => 'uimg',
        'type' => 'image/jpeg',
        'file' => './profile.jpg',
    )
);

$response = http_post_fields("http://www.example.com/", $fields, $files);
?>

http_post_data
http_put_data
Funciones de HTTP


Realizar una petición PUT con datos

http_post_fields
http_put_file
Funciones de HTTP
PHP Manual

http_put_data

(PECL pecl_http >= 0.25.0)

http_put_data — Realizar una petición PUT con datos

Descripción

string http_put_data ( string $url , string $data [, array $options [, array &$info ]] )

Realiza sobre la url facilitada una petición HTTP de tipo PUT.

Vea la lista completa de opciones de peticiones.

Parámetros

url

URL

data

Contenido de la petición PUT

options

opciones de peticiones

info

Información de petición/respuesta

Valores devueltos

Returns the HTTP response(s) as string on success, or FALSE on failure.

http_post_fields
http_put_file
Funciones de HTTP


Realizar una petición PUT con un fichero

http_put_data
http_put_stream
Funciones de HTTP
PHP Manual

http_put_file

(PECL pecl_http >= 0.10.0)

http_put_file — Realizar una petición PUT con un fichero

Descripción

string http_put_file ( string $url , string $file [, array $options [, array &$info ]] )

Realiza sobre la url facilitada una petición HTTP de tipo PUT.

Vea la lista completa de opciones de peticiones.

Parámetros

url

URL

file

Fichero que se desea subir

options

opciones de peticiones

info

Información de petición/respuesta

Valores devueltos

Returns the HTTP response(s) as string on success, or FALSE on failure.

http_put_data
http_put_stream
Funciones de HTTP


Realizar una petición PUT a partir de un flujo

http_put_file
http_request_body_encode
Funciones de HTTP
PHP Manual

http_put_stream

(PECL pecl_http >= 0.10.0)

http_put_stream — Realizar una petición PUT a partir de un flujo

Descripción

string http_put_stream ( string $url , resource $stream [, array $options [, array &$info ]] )

Realiza sobre la url solicitada una petición HTTP de tipo PUT.

Vea la lista completa de opciones de peticiones.

Parámetros

url

URL

stream

Flujo del que leer le contenido de la petición PUT

options

opciones de peticiones

info

Información de petición/respuesta

Valores devueltos

Returns the HTTP response(s) as string on success, or FALSE on failure.

http_put_file
http_request_body_encode
Funciones de HTTP


Codificar el contenido de una petición

http_put_stream
http_request_method_exists
Funciones de HTTP
PHP Manual

http_request_body_encode

(PECL pecl_http >= 1.0.0)

http_request_body_encode — Codificar el contenido de una petición

Descripción

string http_request_body_encode ( array $fields , array $files )

Genera el contenido codificado de la petición en tipo x-www-form-urlencoded.

Parámetros

fields

campos POST

files

ficheros POST

Valores devueltos

En caso de éxito, devuelve el string codificado o FALSE en caso de error.

http_put_stream
http_request_method_exists
Funciones de HTTP


Comprueba si existe un método de petición

http_request_body_encode
http_request_method_name
Funciones de HTTP
PHP Manual

http_request_method_exists

(PECL pecl_http >= 0.10.0)

http_request_method_exists — Comprueba si existe un método de petición

Descripción

int http_request_method_exists ( mixed $method )

Comprueba si está dado de alta (o disponible por o omisión) un método de petición.

Parámetros

method

nombre o id del método de petición

Valores devueltos

Devuelve TRUE si el método de petición es conocido, sino FALSE.

http_request_body_encode
http_request_method_name
Funciones de HTTP


Obtener nombre de método de petición

http_request_method_exists
http_request_method_register
Funciones de HTTP
PHP Manual

http_request_method_name

(PECL pecl_http >= 0.10.0)

http_request_method_name — Obtener nombre de método de petición

Descripción

string http_request_method_name ( int $method )

Obtiene una representación literal en forma de string de un método de petición estándar o dado de alta.

Parámetros

method

ID del método de petición

Valores devueltos

En caso de éxito devuelve el nombre del método de petición o FALSE en caso de error.

http_request_method_exists
http_request_method_register
Funciones de HTTP


Da de alta un método de petición

http_request_method_name
http_request_method_unregister
Funciones de HTTP
PHP Manual

http_request_method_register

(PECL pecl_http >= 0.10.0)

http_request_method_register — Da de alta un método de petición

Descripción

int http_request_method_register ( string $method )

Da de alta un método de petición personalizado.

Parámetros

method

nombre del método de petición que se desea dar de alta

Valores devueltos

En caso de éxito, devuelve el ID del método de petición o FALSE en caso de error.

http_request_method_name
http_request_method_unregister
Funciones de HTTP


Dar de baja un método de petición

http_request_method_register
http_request
Funciones de HTTP
PHP Manual

http_request_method_unregister

(PECL pecl_http >= 0.10.0)

http_request_method_unregister — Dar de baja un método de petición

Descripción

bool http_request_method_unregister ( mixed $method )

Da de baja un método de petición personalizado que se dio de alta con anterioridad.

Parámetros

method

nombre o ID del método de petición

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

http_request_method_register
http_request
Funciones de HTTP


Realizar una petición personalizada

http_request_method_unregister
http_redirect
Funciones de HTTP
PHP Manual

http_request

(PECL pecl_http >= 1.0.0)

http_request — Realizar una petición personalizada

Descripción

string http_request ( int $method , string $url [, string $body [, array $options [, array &$info ]]] )

Realiza sobre la url facilitada una petición HTTP personalizada.

Vea la lista completa de opciones de peticiones.

Parámetros

method

Método de petición

url

URL

body

Contenido de la petición

options

opciones de peticiones

info

Información de petición/respuesta

Valores devueltos

Returns the HTTP response(s) as string on success, or FALSE on failure.

http_request_method_unregister
http_redirect
Funciones de HTTP


Realiza una redirección HTTP

http_request
http_send_content_disposition
Funciones de HTTP
PHP Manual

http_redirect

(PECL pecl_http >= 0.1.0)

http_redirect — Realiza una redirección HTTP

Descripción

bool http_redirect ([ string $url [, array $params [, bool $session = false [, int $status = 0 ]]]] )

Redirige a la url dada.

Se generará la url dada con http_build_url(), el array params se contrará con http_build_str() y se adjuntará el idenfificador de sesión siempre que el parámetro session esté a true. Se establecerá el código de respuesta HTTP de acuerdo al parámetro status. Puede usar una de las constantes de redirección. Para conocer que código de respuesta utilizar, revise » RFC 2616. Por omisión, PHP decidirá qué estado de respuesta se ajusta mejor.

Para cumplir el RFC, cuando el cliente no redirija automáticamente, y el método de petición fuera distinto de HEAD, se mostrará "Redirecting to <a>URL</a>.".

Se almacenará una entrada en el registro de redirecciones, siempre y cuando opción INI http.log.redirect esté habilitado y la redirección haya tenido éxito.

Parámetros

url

URL a la que redirigir

params

array asociativo con los parámetros de la consulta

session

si se añade o no información de la sesión

status

código de estado de respuesta personalizado

Valores devueltos

Devuelve FALSE o finaliza en caso de éxito con el código de redirección correspondiente. Vea también la opción INI http.force_exit para ver a que sucede cuando "finaliza".

Ejemplos

Ejemplo #1 Ejemplo de http_redirect()

<?php
http_redirect("relpath", array("name" => "value"), true, HTTP_REDIRECT_PERM);
?>

El resultado del ejemplo sería:

HTTP/1.1 301 Moved Permanently
X-Powered-By: PHP/5.2.2
Content-Type: text/html
Location: http://www.example.com/curdir/relpath?name=value&PHPSESSID=abc

Redirecting to <a href="http://www.example.com/curdir/relpath?name=value&PHPSESSID=abc">http://www.example.com/curdir/relpath?name=value&PHPSESSID=abc</a>.

Ver también

  • la clase HttpResponse si está utilizando PHP 5.1.0 and above

http_request
http_send_content_disposition
Funciones de HTTP


Enviar la cabecera Content-Disposition

http_redirect
http_send_content_type
Funciones de HTTP
PHP Manual

http_send_content_disposition

(PECL pecl_http >= 0.10.0)

http_send_content_disposition — Enviar la cabecera Content-Disposition

Descripción

bool http_send_content_disposition ( string $filename [, bool $inline = false ] )

Envía la cabecera Content-Disposition. El header Content-Disposition es muy útil si los datos que se están enviando provienen de un archivo o algo similar, que debería ser "guardado" por el cliente/usuario (por ej., a través de la opción "Guardar cómo" del navegador).

Nota: Esta función debería ser utilizada en conjunción con http_send_data(), http_send_file() y http_send_stream().

Parámetros

filename

nombre de fichero que se mostrará en el diálogo "Guardar cómo..."

inline

Si vale TRUE, y el navegador sabe cómo manejar este tipo de contenido, probablemente se evite que se muestre la ventana emergente.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • http_send_data() - Enviar datos arbitrarios
  • http_send_file() - Enviar un fichero
  • http_send_stream() - Enviar flujo
  • la clase HttpResponse si está utilizando PHP 5.1.0 and above

http_redirect
http_send_content_type
Funciones de HTTP


Enviar cabecera Content-Type

http_send_content_disposition
http_send_data
Funciones de HTTP
PHP Manual

http_send_content_type

(PECL pecl_http >= 0.10.0)

http_send_content_type — Enviar cabecera Content-Type

Descripción

bool http_send_content_type ([ string $content_type = "application/x-octetstream" ] )

Adjuntar la cabecera Content-Type de la entidad enviada.

Nota: Esta función debería ser utilizada en conjunción con http_send_data(), http_send_file() y http_send_stream().

Parámetros

content_type

tipo de contenido deseado (primario/secundario)

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Puede provocar E_WARNING cuando parezca que content_type no tiene una parte primaria y una secundaria.

Ver también

  • http_send_data() - Enviar datos arbitrarios
  • http_send_file() - Enviar un fichero
  • http_send_stream() - Enviar flujo
  • la clase HttpResponse si está utilizando PHP 5.1.0 and above

http_send_content_disposition
http_send_data
Funciones de HTTP


Enviar datos arbitrarios

http_send_content_type
http_send_file
Funciones de HTTP
PHP Manual

http_send_data

(PECL pecl_http >= 0.1.0)

http_send_data — Enviar datos arbitrarios

Descripción

bool http_send_data ( string $data )

Envía datos arbitrarios con soporte para (múltiples) peticiones de rango.

Parámetros

data

datos a enviar

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • http_send_file() - Enviar un fichero
  • http_send_stream() - Enviar flujo
  • http_throttle() - Aceleración de HTTP
  • http_send_content_type() - Enviar cabecera Content-Type
  • http_send_content_disposition() - Enviar la cabecera Content-Disposition
  • la clase HttpResponse si está utilizando PHP 5.1.0 and above

http_send_content_type
http_send_file
Funciones de HTTP


Enviar un fichero

http_send_data
http_send_last_modified
Funciones de HTTP
PHP Manual

http_send_file

(PECL pecl_http >= 0.1.0)

http_send_file — Enviar un fichero

Descripción

bool http_send_file ( string $file )

Envía un fichero con soporte para (múltiples) peticiones de rango.

El comportamiento de esta función depende de las siguiente opción INI: http.send.not_found_404 y http.log.not_found.

Si la opción INI http.send.not_found_404 está habilitada y la opción INI http.log.not_found apunta a un fichero con permisos de escritura, se almacenará un registro en caso de que no se pudiera encontrar el fichero file.

Parámetros

file

fichero a enviar

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 A http_send_file() example

<?php
http_send_content_disposition("document.pdf", true);
http_send_content_type("application/pdf");
http_throttle(0.1, 2048);
http_send_file("../report.pdf");
?>

El resultado del ejemplo sería:

HTTP/1.1 206 Partial Content
X-Powered-By: PHP/5.2.2
Accept-Ranges: bytes
Content-Length: 12345
Content-Range: bytes 0-12344
Content-Type: application/pdf
Content-Disposition: inline; filename="document.pdf"

%PDF...

Ver también

  • http_send_data() - Enviar datos arbitrarios
  • http_send_stream() - Enviar flujo
  • http_throttle() - Aceleración de HTTP
  • http_send_content_type() - Enviar cabecera Content-Type
  • http_send_content_disposition() - Enviar la cabecera Content-Disposition
  • la clase HttpResponse si está utilizando PHP 5.1.0 and above

http_send_data
http_send_last_modified
Funciones de HTTP


Enviar cabecera Last-Modified

http_send_file
http_send_status
Funciones de HTTP
PHP Manual

http_send_last_modified

(PECL pecl_http >= 0.1.0)

http_send_last_modified — Enviar cabecera Last-Modified

Descripción

bool http_send_last_modified ([ int $timestamp = time() ] )

Envía la cabecera Last-Modified con un formato de fecha HTTP válido.

Nota: Esta función debería ser utilizada en conjunción con http_send_data(), http_send_file() y http_send_stream().

Parámetros

timestamp

fecha Unix, convertida a fecha HTTP válida; si se omitiera, se enviaría la fecha actual

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • la clase HttpResponse si está utilizando PHP 5.1.0 and above

http_send_file
http_send_status
Funciones de HTTP


Enviar código de estado HTTP

http_send_last_modified
http_send_stream
Funciones de HTTP
PHP Manual

http_send_status

(PECL pecl_http >= 0.1.0)

http_send_status — Enviar código de estado HTTP

Descripción

bool http_send_status ( int $status )

Enviar código de estado HTTP.

Parámetros

status

Código de estado HTTP (de 100 a 599)

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • la clase HttpResponse si está utilizando PHP 5.1.0 and above

http_send_last_modified
http_send_stream
Funciones de HTTP


Enviar flujo

http_send_status
http_throttle
Funciones de HTTP
PHP Manual

http_send_stream

(PECL pecl_http >= 0.1.0)

http_send_stream — Enviar flujo

Descripción

bool http_send_stream ( resource $stream )

Envía un flujo ya abierto, con soporte para (múltiples) peticiones de rango.

Parámetros

stream

flujo del que leer (debe permitir realizar búsquedas)

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • http_send_data() - Enviar datos arbitrarios
  • http_send_file() - Enviar un fichero
  • http_throttle() - Aceleración de HTTP
  • http_send_content_type() - Enviar cabecera Content-Type
  • http_send_content_disposition() - Enviar la cabecera Content-Disposition
  • la clase HttpResponse si está utilizando PHP 5.1.0 and above

http_send_status
http_throttle
Funciones de HTTP


Aceleración de HTTP

http_send_stream
http_build_str
Funciones de HTTP
PHP Manual

http_throttle

(PECL pecl_http >= 0.10.0)

http_throttle — Aceleración de HTTP

Descripción

void http_throttle ( float $sec [, int $bytes = 40960 ] )

Establece el retardo de la aceleración, y el tamaño de la memoria de envío.

Nota: Esta función debería ser utilizada en conjunción con http_send_data(), http_send_file() y http_send_stream().

Nota: Proporciona un mecanismo básico de regulación, que hará rendir el proceso o subproceso actual hasta que la entidad haya sido completamente enviada.

Nota:

Esto puede no funcionar como se espera en el(los) siguiente(s) SAPI(s): FastCGI.

Parámetros

sec

segundos de espera entre el envío de cada bloque

bytes

tamaño en bytes de los bloques

Ejemplos

Ejemplo #1 Ejemplo de http_throttle()

Enviar un fichero a aproximadamente 20 kbyte/s.

<?php
// ~ 20 kbyte/s
# http_throttle(1, 20000);
# http_throttle(0.5, 10000);
http_throttle(0.1, 2000);
http_send_file('document.pdf');
?>

Ver también

  • http_send_data() - Enviar datos arbitrarios
  • http_send_file() - Enviar un fichero
  • http_send_stream() - Enviar flujo
  • la clase HttpResponse si está utilizando PHP 5.1.0 and above

http_send_stream
http_build_str
Funciones de HTTP


Construir un string de consulta

http_throttle
http_build_url
Funciones de HTTP
PHP Manual

http_build_str

(PECL pecl_http >= 0.23.0)

http_build_str — Construir un string de consulta

Descripción

string http_build_str ( array $query [, string $prefix [, string $arg_separator = ini_get("arg_separator.output") ]] )

Construye un string de consulta desde un arrau de variables de consulta. En efecto, esta función es la opuesta de parse_str().

Parámetros

query

Array asociativo de parámetros del string de consulta

prefix

Prefijo de nivel superior

arg_separator

Separador de argumentos (por omisión, se usará el de la directiva INI arg_separator.output, o "&" si no se hubiera establecido).

Valores devueltos

Devuelve la consulta generada en forma de string o FALSE en caso de error.

Ver también

  • standard http_build_query() - Generar una cadena de consulta codificada estilo URL
  • http_build_url() - Construir una URL

http_throttle
http_build_url
Funciones de HTTP


Construir una URL

http_build_str
Hyperwave
Funciones de HTTP
PHP Manual

http_build_url

(PECL pecl_http >= 0.21.0)

http_build_url — Construir una URL

Descripción

string http_build_url ([ mixed $url [, mixed $parts [, int $flags = HTTP_URL_REPLACE [, array &$new_url ]]]] )

Construye una URL.

Los componentes de la segunda URL se combinarán con los de la primera, tal como se especifique en el parámetro flags.

Parámetros

url

(componente/s de) una URL, o bien en forma de string o bien en forma de array asociativo como en la respuesta de parse_url()

parts

lo mismo que el primer parámetro

flags

máscara "or" de bits de constantes HTTP_URL; por omisión, HTTP_URL_REPLACE

new_url

se rellena con los componentes de la URL generada, como en los valores devueltos por parse_url()

Valores devueltos

Devuelve la nueva URL en forma de string o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de http_build_url()

<?php
echo http_build_url("http://user@www.example.com/pub/index.php?a=b#files",
    array(
        "scheme" => "ftp",
        "host" => "ftp.example.com",
        "path" => "files/current/",
        "query" => "a=c"
    ),
    HTTP_URL_STRIP_AUTH | HTTP_URL_JOIN_PATH | HTTP_URL_JOIN_QUERY | HTTP_URL_STRIP_FRAGMENT
);
?>

El resultado del ejemplo sería:

ftp://ftp.example.com/pub/files/current/?a=c

Ver también

  • parse_url() - Analiza una URL y devolver sus componentes
  • http_build_str() - Construir un string de consulta

http_build_str
Hyperwave
Funciones de HTTP


Hyperwave

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Integración con Apache
  • Funciones de Hyperwave
    • hw_Array2Objrec — Convierte los atributos de un array de objetos a un registro de objetos
    • hw_changeobject — Cambia los atributos de un objetos (obsoleto)
    • hw_Children — Ids de objetos de los hijos
    • hw_ChildrenObj — Registro de objetos de los hijos
    • hw_Close — Cierra la conexión a Hyperwave
    • hw_Connect — Abre una conexión
    • hw_connection_info — Imprimie información sobre la conexión al servidor Hyperwave
    • hw_cp — Copia un objeto
    • hw_Deleteobject — Borra un objeto
    • hw_DocByAnchor — Id del objeto que pertenece a un ancla
    • hw_DocByAnchorObj — Registro de objetos al que pertenece un ancla
    • hw_Document_Attributes — Registro de objetos de hw_document
    • hw_Document_BodyTag — Etiqueta BODY de hw_document
    • hw_Document_Content — Devuelve el contenido de hw_document
    • hw_Document_SetContent — Establece/reemplaza el contenido de hw_document
    • hw_Document_Size — Tamaño de hw_document
    • hw_dummy — Función dummy de Hyperwave
    • hw_EditText — Recuperar un documento de texto
    • hw_Error — Número de error
    • hw_ErrorMsg — Devuelve un mensaje de error
    • hw_Free_Document — Libera un hw_document
    • hw_GetAnchors — Ids de objetos de anclas de documento
    • hw_GetAnchorsObj — Registros de objetos de anclas de documento
    • hw_GetAndLock — Devuelve un registro de objetos y bloquea el objeto
    • hw_GetChildColl — Ids de objetos de colecciones hijas
    • hw_GetChildCollObj — Registros de objetos de colecciones hijas
    • hw_GetChildDocColl — Ids de documentos hijos de una colección
    • hw_GetChildDocCollObj — Registros de objetos de documentos hijos de una colección
    • hw_GetObject — Registro de objetos
    • hw_GetObjectByQuery — Búsqueda de objetos
    • hw_GetObjectByQueryColl — Buscar objetos en una colección
    • hw_GetObjectByQueryCollObj — Búsqueda de objetos en una colección
    • hw_GetObjectByQueryObj — Búsqueda de objetos
    • hw_GetParents — Ids de objetos de padres
    • hw_GetParentsObj — Registros de objetos de padres
    • hw_getrellink — Obtener un enlace desde la fuente al destino relativo al id raíz
    • hw_GetRemote — Obtiene un documento remoto
    • hw_getremotechildren — Obtener los hijos de un documento remoto
    • hw_GetSrcByDestObj — Devuelve las anclas que apuntan a un objeto
    • hw_GetText — Recuperar documentos de texto
    • hw_getusername — Nombre de usuario actualmente identificado
    • hw_Identify — Identifica un usuario
    • hw_InCollections — Comprobar si ids de objetos están en colecciones
    • hw_Info — Información sobre la conexión
    • hw_InsColl — Insertar colecciones
    • hw_InsDoc — Insertar documetos
    • hw_insertanchors — Inserta únicamente anclas en texto
    • hw_InsertDocument — Cargar cualquier documento
    • hw_InsertObject — Inserta un registro de objetos
    • hw_mapid — Mapea un id global en un id local virtual
    • hw_Modifyobject — Modifica un registro de objetos
    • hw_mv — Mueve objetos
    • hw_New_Document — Crear un nuevo documento
    • hw_objrec2array — Convertir atributos de un registro de objetos a un array de objetos
    • hw_Output_Document — Imprime un hw_document
    • hw_pConnect — Realizar una conexión persistente a la base de datos
    • hw_PipeDocument — Recuperar cualquier documento
    • hw_Root — Id del objeto raíz
    • hw_setlinkroot — Establecer el id cuyos enlaces son calculados
    • hw_stat — Devuelve la cadena de estado
    • hw_Unlock — Desbloquear un objeto
    • hw_Who — Lista de los usuarios actualmente identificados
http_build_url
Introducción
Otros servicios


Introducción

Hyperwave ha sido desarrollado en » IICM en Graz. Comenzó con el nombre Hyper-G y cambió a Hyperwave cuando se comercializó (en 1996).

Hyperwave no es software gratuito. La versión actual, 5.5, está disponible en » http://www.hyperwave.com/. Se puede pedir una versión con límite de tiempo de forma gratuita (30 días).

Véase también el módulo API Hyperwave.

Hyperwave es un sistema de información similar a una base de datos (HIS, Hyperwave Information Server). Se centra en el almacenamiento y la administración de documentosis . Un documento puede ser cualquier trozo posible de información que puede ser también almacenado en un fichero. Cada documento está acompañado por su registro de objetos. El registro de objetos contiene metainformación del documento. La metainformación es una lista de atributos que pueden ser extenida por el usuario. Ciertos atributos son siempre establecidos por el servidor Hyperwave, otros pueden ser modificados por el usuario. Un atributo es un par nombre/valor de la forma nombre=valor. El registro de objetos completo contiene tantos de estos pares como desee el usuario. El nombre de un atributo no tiene que ser único, p.ej., un título puede aparecer varias veces en un registro de objetos. Esto tiene sentido si se quiere especificar un título en varios lenguajes. En tal caso existe una convención donde cada valor de título está precedido por la abreviatura de dos letras del lenguaje seguida por dos puntos, p.ej. 'en:Title in English' o 'de:Titel in deutsch'. Otros atributos, como una descripción o palabras clave, son candidatos potenciales. También se puede reemplazar la abreviatura del lenguaje por cualquier otra cadena mientras esté separada por dos puntos del resto del valor del atributo.

Cada registro de objetos tiene innata una representación de tipo string con cada par nombre/valor separado por una nueva línea. La extensión Hyperwave también reconoce una segunda representación que es un array asociativo con el nombre del atributo como clave. Los valores de los atributos multilenguaje por sí mismos forman otro array asociativo con la clave como abreviatura del lenguaje. En realidad, cualquier atributo múltiple forma un array asociativo con la cadena a la izquierda de los dos puntos del valor del atributo como clave. (Esto no está totalmente implementado. Sólo los atributos Title, Description y Keyword están tratados de manera apropiada.)

Además de los documentos, todos los hipervínculos contenidos en un documento también son almacenados como registro de objetos. Los hipervínculos que están en un documento serán eliminados de él y almacenados como objetos individuales cuando el documento se inserte en la base de datos. El registro de objetos del vínculo contiene información sobre dónde comienza y dónde finliza. Para obtener el documento original se tendrá que recuperar el documento plano sin los vínculos y la lista de vínculos, y reinsertarlos. Las funciones hw_pipedocument() y hw_gettext() hacen esto por usted. La ventaja de separar los vínculos del documento es obvia. Una vez que un documento al que está apuntando un vínculo cambia su nombre, el vínculo puede ser modificado fácilmente como corresponde. El documento que contiene el vínculo no es afectado en absoluto. Incluso se puede añadir un vínculo a un documento sin modificar el documento en sí.

Decir que hw_pipedocument() y hw_gettext() realizan la inserción del vínculo automáticamente no es tan simple como suena. Insertar vínculos implica cierta jerarquía de los documentos. En un servidor web esto se da mediante el sistema de ficheros, pero Hyperwave tiene su propia jerarquía y los nombres no reflejan la posición de un objeto en esa jerarquía. Por lo tanto, la creación de vínculos requiere, lo primero de todo, un mapeado desde la jerarquía y el espacio de nombres de Hyperwave dentro de un espacio de nombres web respectivo a la jerarquía web. La diferencia fundamental entre Hyperwave y la web es la clara distinción entre nombres y jerarquía de Hyperwave. El nombre no contiene ninguna información sobre la posición de los objetos en la jerarquía. En la web el nombre también contiene la información de dónde se localiza el objeto en la jerarquía. Esto conlleva a dos posibles maneras de mapear. O la jerarquía de Hyperwave y el nombre del objeto Hyperwave está reflejado en la URL o solamente el nombre. Para hacer las cosas sencillas se usa la segunda aproximación. El objeto Hyperwave con nombre mi_objeto se mapea a http://host/mi_objeto sin tener en cuenta dónde reside en la jerarquía de Hyperwave. Un objeto con nombre padre/mi_objeto debería ser el hijo de mi_objeto en la jerarquía de Hyperwave, aunque en un espacio de nombres web parece que es justo lo opuesto y el usuario podría confundirse. Esto solamente se puede prevenir seleccionando nombres de objetos razonables.

Habiendo tomado esta decisión se presenta un segundo problema. ¿Cómo involucrar a PHP? La URL http://host/mi_objeto no llamará a ningún script de PHP a menos que se indique al servidor web reescribirla a p.ej. http://host/php_script/mi_objeto y el scrip php_script evalúe la variable $PATH_INFO y recupere el objeto con nombre mi_objeto del servidor Hyperwave. Esto es sólo un pequeño inconveniente que se puede arreglar fácilmente. Reescribir cualquier URL no permitirá el acceso a otro documento del servidor web. Un script de PHP para buscar en el servidor Hyperwave sería imposible. Por lo tanto, será necesaria al menos una segunda regla de reescritura para excluir ciertas URLs como todas las que empiecen, p.ej., con http://host/Hyperwave Esto básicamente es compartir un espacio de nombres por la web y por el servidor Hyperwave.

Basándose en el mecanismo de arriba los vínculos se insertan en los documentos.

Se vuelve más complicado si PHP no se ejecuta como módulo servidor o scrip CGI que como aplicación autónoma, p.ej., para volcar el contenido del servidor Hyperwave a un CD-ROM. En tal caso cobra sentido conservar la jerarquía de Hyperwave y mapearla al sistema de ficheros. Este entra en conflicto con los nombres de objetos si reflejan su propia jerarquía (p.ej. eligiendo nombres que incluyen '/'). Por lo tanto, '/' tiene que ser reemplazado por otro carácter, p.ej. '_'.

El protocolo de red para comunicarse con el servidor Hyperwave se llama » HG-CSP (Hyper-G Client/Server Protocol - Protocolo Cliente/Servidor Hyper-G). Está basado en mensajes para iniciar ciertas acciones, p.ej., obtener un registro de objetos. En versiones anteriores del Servidor Hyperwave Server se proporcionaron dos clientes nativos (Harmony, Amadeus) para la comunicación con el servidor. Estos dos desaparecieron cuando se comercializó Hyperwave. Como reemplazo se proporcionó el llamado wavemaster. Wavemaster es como un convertidor de protocolo de HTTP a HG-CSP. La idea es hacer que toda la administración de la base de datos y la visualización de documentos se realize por una interfaz web. Wavemaster implementa un conjunto de posicionadores de ciertas acciones para personalizar la interfaz. Este conjunto de posicionadores se llama Lenguaje PLACE. PLACE carece de muchas de las características de un lenguaje de programación real y cualquier extensión que se le haga sólo amplía la lista de posicionadores. Esto ha guiado al uso de JavaScript en lo que en mi opinión no hace la vida más fácil.

Añdir el soporte de Hyperwave para PHP debería rellenar el hueco de un lenguaje de programación ausente para la personalización de la interfaz. Implementa todos los mensajes como están definidos en HG-CSP pero también proporciona comandos más poderosos para, p.ej., recuperar documentos completos.

Hyperwave tiene su propia terminología para nombrar ciertos trozos de información. Ha sido ampliamente asumida y extendida. Casi todas las funciones operan en uno de los siguientes tipos de datos.

  • ID de objeto: Un valor integer único para cada objeto del servidor Hyperwave. También es uno de los atributos del registro de objetos (ObjectID). Los ids de objetos se usan a menudo como un parámetro de entrada para especificar un objeto.
  • registro de objetos: Una cadena con pares stributo-valor de la forma atributo=valor. Los pares están separados por un retorno de carro. Un registro de objetos se puede convertir fácilmente en un array de objetos con hw_object2array(). Varias funciones devuelven registros de objetos. Los nombres de estas funciones terminan con obj.
  • array de objetos: Un array asociativo con todos los atributos de un objeto. Las claves con los nombres de los atributos. Si un atributo acontece más de una vez en un registro de objetos resultará en otro array indexado o asociativo. Los atributos que son dependientes del lenguaje (como el título, palabra clave, descripción) formarán un array asociativo con las claves establecidas a las abreviaturas del lenguaje. Todos los demás atributos múltiples formarán un array indexado. Las funciones de PHP nunca devuelven array de objetos.
  • hw_document: Este es un tipo de información completamente nuevo que guarda el documento mismo, p.ej. HTML, PDF, etc. Está un tanto optimizado para documentos HTML pero se puede usar para cualquier formato.

Varias funciones que devuelven un array de registro de objetos también devuelven un array asociativo con información estadística sobre ellos. El array es el último elemento del array del registro de objetos. El array estadístico contiene las siguientes entradas:

Hidden
Número de registro de objetos con el atributo PresentationHints establecido a Hidden (oculto).
CollectionHead
Número de registro de objetos con el atributo PresentationHints establecido CollectionHead.
FullCollectionHead
Número de registro de objetos con el atributo PresentationHints establecido a FullCollectionHead.
CollectionHeadNr
Índice en el array de registros de objetos con el atributo PresentationHints establecido a CollectionHead.
FullCollectionHeadNr
Índice en el array de registros de objetos con el atributo PresentationHints establecido a FullCollectionHead.
Total
Total: Número de registros de objetos.

Hyperwave
Instalación/Configuración
Hyperwave


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Hyperwave


Requerimientos

Esta extensión necesita un servidor Hyperwave que se puede descargar desde » http://www.hyperwave.com/.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión se considera no mantenida y muerta. Sin embargo, el código fuente para esta extensión sigue estando disponible dentro de PECL SVN aquí: » http://svn.php.net/viewvc/pecl/hyperwave.

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.0.0

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de Hyperwave
Nombre | Por defecto | Cambiable | Historial de cambios
hyperwave.allow_persistent | "0" | PHP_INI_SYSTEM | Disponible desde PHP 4.3.2. Eliminada en PHP 5.0.0.
hyperwave.default_port | "418" | PHP_INI_ALL | Eliminada en PHP 5.0.0.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

HW_ATTR_LANG (integer)
HW_ATTR_NR (integer)
HW_ATTR_NONE (integer)
Tipos de recursos
Integración con Apache
Hyperwave


Integración con Apache

La extensión Hyperwave se usa mejor cuando PHP está compilado como módulo de Apache. En tal caso, el servidor Hyperwave subyacente se puede ocultar a los usuarios casi completamente si Apache usa su motor de reescritura. Las siguientes instrucciones explicarán esto.

Ya que PHP con soporte para Hyperwave con Apache incluido se pensó para reemplazar la solución nativa de Hyperwave basada en Wavemaster, asumiremos que el servidor Apache sólo sirve como interfaz web de Hyperwave para estos ejemplos. Esto no es necesario pero simplifica la configuración. El concepto es bastante simple. Lo primero de todo, se necesita un script de PHP qeu evalúe la variable $_ENV['PATH_INFO'] y trate su valor como el nombre de un objeto de Hyperwave. Llamemos a este script 'Hyperwave'. La URL http://su.nombre_host/Hyperwave/nombre_objeto tendría que devolver el objeto Hyperwave con el nombre 'nombre_objeto'. Dependiendo del tipo de objeto el script tiene que reaccionar de manera adecuada. Si es una colección, probablemente devolverá una lista de hijos. Si es un documento devolverá el tipo mime y el contenido. Se puede lograr una ligera mejora si se usa el motor de reescritura de Apache. Desde el punto de vista del usuario sería más sencillo si la URL http://su.nombre_host/nombre_objeto devolviera el objeto. La regla de reescritura es bastante sencilla:

RewriteRule ^/(.*) /usr/local/apache/htdocs/HyperWave/$1 [L]
Ahora, cada URL se refiere a un objeto del servidor Hyperwave. Esto ocasiona un problema fácil de resolver. No hay manera de ejecutar un script diferente, p.ej. para búsquda, del script 'Hyperwave'. Esto se puede arreglar con otra regla de reescritura com la siguiente:
RewriteRule ^/hw/(.*) /usr/local/apache/htdocs/hw/$1 [L]
Esto reservará el directorio /usr/local/apache/htdocs/hw para scripts adicionales y otros ficheros. Asegúrese de que esta regla se evalúa antes que la de arriba. evaluated before the one above. Hay un pequeño inconveniente: todos los objetos de Hyperwave cuyo nombre comiencen con 'hw/' serán ocultados. Así que asegúrese de no usar tales nombres. Si necesita más directorios, p.ej. para imágenes, simplemente añada más reglas o ubíquelas todas en un directorio. Antes de poner estas instrucciones, no olvide activas el motor de reescritura con
RewriteEngine on
Necesitará scripts:
  • para devolver el objeto en sí
  • para permitir búsqudas
  • para identificarse
  • para establecer su perfil
  • uno por cada función adicional como mostrar los atributos del objeto, mostrar información sobre los usuarios, mostrar el estado del servidor, etc.

Como alternativa al Motor de Reescritura, puede también considerar usar la directiva de Apache ErrorDocument, pero tenga en cuenta que las páginas redirigidas de ErrorDocument no reciben información POST.

Constantes predefinidas
Funciones de Hyperwave
Hyperwave


Funciones de Hyperwave

Todo

There are still some things to do:

  • The hw_InsertDocument has to be split into hw_insertobject() and hw_putdocument().
  • The names of several functions are not fixed, yet.
  • Most functions require the current connection as its first parameter. This leads to a lot of typing, which is quite often not necessary if there is just one open connection. A default connection will improve this.
  • Conversion form object record into object array needs to handle any multiple attribute.

Tabla de contenidos

  • hw_Array2Objrec — Convierte los atributos de un array de objetos a un registro de objetos
  • hw_changeobject — Cambia los atributos de un objetos (obsoleto)
  • hw_Children — Ids de objetos de los hijos
  • hw_ChildrenObj — Registro de objetos de los hijos
  • hw_Close — Cierra la conexión a Hyperwave
  • hw_Connect — Abre una conexión
  • hw_connection_info — Imprimie información sobre la conexión al servidor Hyperwave
  • hw_cp — Copia un objeto
  • hw_Deleteobject — Borra un objeto
  • hw_DocByAnchor — Id del objeto que pertenece a un ancla
  • hw_DocByAnchorObj — Registro de objetos al que pertenece un ancla
  • hw_Document_Attributes — Registro de objetos de hw_document
  • hw_Document_BodyTag — Etiqueta BODY de hw_document
  • hw_Document_Content — Devuelve el contenido de hw_document
  • hw_Document_SetContent — Establece/reemplaza el contenido de hw_document
  • hw_Document_Size — Tamaño de hw_document
  • hw_dummy — Función dummy de Hyperwave
  • hw_EditText — Recuperar un documento de texto
  • hw_Error — Número de error
  • hw_ErrorMsg — Devuelve un mensaje de error
  • hw_Free_Document — Libera un hw_document
  • hw_GetAnchors — Ids de objetos de anclas de documento
  • hw_GetAnchorsObj — Registros de objetos de anclas de documento
  • hw_GetAndLock — Devuelve un registro de objetos y bloquea el objeto
  • hw_GetChildColl — Ids de objetos de colecciones hijas
  • hw_GetChildCollObj — Registros de objetos de colecciones hijas
  • hw_GetChildDocColl — Ids de documentos hijos de una colección
  • hw_GetChildDocCollObj — Registros de objetos de documentos hijos de una colección
  • hw_GetObject — Registro de objetos
  • hw_GetObjectByQuery — Búsqueda de objetos
  • hw_GetObjectByQueryColl — Buscar objetos en una colección
  • hw_GetObjectByQueryCollObj — Búsqueda de objetos en una colección
  • hw_GetObjectByQueryObj — Búsqueda de objetos
  • hw_GetParents — Ids de objetos de padres
  • hw_GetParentsObj — Registros de objetos de padres
  • hw_getrellink — Obtener un enlace desde la fuente al destino relativo al id raíz
  • hw_GetRemote — Obtiene un documento remoto
  • hw_getremotechildren — Obtener los hijos de un documento remoto
  • hw_GetSrcByDestObj — Devuelve las anclas que apuntan a un objeto
  • hw_GetText — Recuperar documentos de texto
  • hw_getusername — Nombre de usuario actualmente identificado
  • hw_Identify — Identifica un usuario
  • hw_InCollections — Comprobar si ids de objetos están en colecciones
  • hw_Info — Información sobre la conexión
  • hw_InsColl — Insertar colecciones
  • hw_InsDoc — Insertar documetos
  • hw_insertanchors — Inserta únicamente anclas en texto
  • hw_InsertDocument — Cargar cualquier documento
  • hw_InsertObject — Inserta un registro de objetos
  • hw_mapid — Mapea un id global en un id local virtual
  • hw_Modifyobject — Modifica un registro de objetos
  • hw_mv — Mueve objetos
  • hw_New_Document — Crear un nuevo documento
  • hw_objrec2array — Convertir atributos de un registro de objetos a un array de objetos
  • hw_Output_Document — Imprime un hw_document
  • hw_pConnect — Realizar una conexión persistente a la base de datos
  • hw_PipeDocument — Recuperar cualquier documento
  • hw_Root — Id del objeto raíz
  • hw_setlinkroot — Establecer el id cuyos enlaces son calculados
  • hw_stat — Devuelve la cadena de estado
  • hw_Unlock — Desbloquear un objeto
  • hw_Who — Lista de los usuarios actualmente identificados
Integración con Apache
hw_Array2Objrec
Hyperwave


Convierte los atributos de un array de objetos a un registro de objetos

Funciones de Hyperwave
hw_changeobject
Funciones de Hyperwave
PHP Manual

hw_Array2Objrec

(PHP 4)

hw_Array2Objrec — Convierte los atributos de un array de objetos a un registro de objetos

Descripción

string hw_array2objrec ( array $object_array )

Convierte object_array en un registro de objetos. Los atributos múltiples como 'Title' en diferentes lenguajes se tratan adecuadamente.

Parámetros

object_array

El array.

Valores devueltos

Devuelve un registro de objetos.

Ver también

  • hw_objrec2array() - Convertir atributos de un registro de objetos a un array de objetos

Funciones de Hyperwave
hw_changeobject
Funciones de Hyperwave


Cambia los atributos de un objetos (obsoleto)

hw_Array2Objrec
hw_Children
Funciones de Hyperwave
PHP Manual

hw_changeobject

(PHP 4)

hw_changeobject — Cambia los atributos de un objetos (obsoleto)

Descripción

bool hw_changeobject ( int $link , int $objid , array $attributes )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

hw_Array2Objrec
hw_Children
Funciones de Hyperwave


Ids de objetos de los hijos

hw_changeobject
hw_ChildrenObj
Funciones de Hyperwave
PHP Manual

hw_Children

(PHP 4)

hw_Children — Ids de objetos de los hijos

Descripción

array hw_children ( int $connection , int $objectID )

Devuelve los identificadores de los hijos de la colección.

Parámetros

connection

El identificador de conexión.

objectID

El identificador del objeto.

Valores devueltos

Devuelve un array de ids de objetos. Cada id pertenece a un hijo de la colección con ID objectID. El array contiene todos los hijos de documentos y colecciones.

hw_changeobject
hw_ChildrenObj
Funciones de Hyperwave


Registro de objetos de los hijos

hw_Children
hw_Close
Funciones de Hyperwave
PHP Manual

hw_ChildrenObj

(PHP 4)

hw_ChildrenObj — Registro de objetos de los hijos

Descripción

array hw_childrenobj ( int $connection , int $objectID )

Devuelve los registros de objetos de los hijos de la colección.

Parámetros

connection

El identificador de conexión.

objectID

El identificador del objeto.

Valores devueltos

Devuelve un array de registros de objetos. Cada registro de objetos pertenece a un hijo de la colección con ID objectID. El array contiene todos los hijos de documentos y colecciones.

hw_Children
hw_Close
Funciones de Hyperwave


Cierra la conexión a Hyperwave

hw_ChildrenObj
hw_Connect
Funciones de Hyperwave
PHP Manual

hw_Close

(PHP 4)

hw_Close — Cierra la conexión a Hyperwave

Descripción

bool hw_close ( int $connection )

Cierra la conexión al servidor Hyperwave.

Parámetros

connection

El identificador de conexión.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

hw_ChildrenObj
hw_Connect
Funciones de Hyperwave


Abre una conexión

hw_Close
hw_connection_info
Funciones de Hyperwave
PHP Manual

hw_Connect

(PHP 4)

hw_Connect — Abre una conexión

Descripción

int hw_connect ( string $host , int $port [, string $username ], string $password )

Abre una conexión a un sevidor Hyperwave. Se pueden tener múltiples conexiones abiertas a la vez.

Parámetros

host

El nombre de host del servidor.

port

El número de puerto del servidor.

username

El nombre de usuario de Hyperwave. Si se omite, no se realizará ninguna identificación con el servidor. Es similar a identificarse como usuario anónimo.

password

La contraseña para username. Rcuerde que la contraseña no está encriptada.

Valores devueltos

Devuelve un índice de conexión en caso de éxito, o FALSE si no se pudo realizar la conexión.

Ver también

  • hw_pconnect() - Realizar una conexión persistente a la base de datos

hw_Close
hw_connection_info
Funciones de Hyperwave


Imprimie información sobre la conexión al servidor Hyperwave

hw_Connect
hw_cp
Funciones de Hyperwave
PHP Manual

hw_connection_info

(PHP 4)

hw_connection_info — Imprimie información sobre la conexión al servidor Hyperwave

Descripción

void hw_connection_info ( int $link )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

hw_Connect
hw_cp
Funciones de Hyperwave


Copia un objeto

hw_connection_info
hw_Deleteobject
Funciones de Hyperwave
PHP Manual

hw_cp

(PHP 4)

hw_cp — Copia un objeto

Descripción

int hw_cp ( int $connection , array $object_id_array , int $destination_id )

Copia los objetos con los ids de objeto especificados en el segundo parámetro a la colección con el id destination id.

Parámetros

connection

El identificador de conexión.

object_id_array

Un array de ids de objetos.

destination_id

El id de la colección objetivo.

Valores devueltos

Devuelve el número de objetos copiados.

Ver también

  • hw_mv() - Mueve objetos

hw_connection_info
hw_Deleteobject
Funciones de Hyperwave


Borra un objeto

hw_cp
hw_DocByAnchor
Funciones de Hyperwave
PHP Manual

hw_Deleteobject

(PHP 4)

hw_Deleteobject — Borra un objeto

Descripción

bool hw_deleteobject ( int $connection , int $object_to_delete )

Borra el objeto con el id de objeto dado en el segundo parámetro. Se borrarán todas las instancias del objeto.

Parámetros

connection

El identificador de conexión.

object_to_delete

El identificador de objeto.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • hw_mv() - Mueve objetos

hw_cp
hw_DocByAnchor
Funciones de Hyperwave


Id del objeto que pertenece a un ancla

hw_Deleteobject
hw_DocByAnchorObj
Funciones de Hyperwave
PHP Manual

hw_DocByAnchor

(PHP 4)

hw_DocByAnchor — Id del objeto que pertenece a un ancla

Descripción

int hw_docbyanchor ( int $connection , int $anchorID )

Devuele un id de objeto del documento al que pertenece anchorID.

Parámetros

connection

El identificador de conexión.

anchorID

El identificador del ancle.

Valores devueltos

Devuelve el id de objeto del documento.

hw_Deleteobject
hw_DocByAnchorObj
Funciones de Hyperwave


Registro de objetos al que pertenece un ancla

hw_DocByAnchor
hw_Document_Attributes
Funciones de Hyperwave
PHP Manual

hw_DocByAnchorObj

(PHP 4)

hw_DocByAnchorObj — Registro de objetos al que pertenece un ancla

Descripción

string hw_docbyanchorobj ( int $connection , int $anchorID )

Devuelve un registro de objetos del documento al que pertenece anchorID.

Parámetros

connection

El identificador de conexión.

anchorID

El identificador de ancla.

Valores devueltos

Devuelve un registro de objetos.

hw_DocByAnchor
hw_Document_Attributes
Funciones de Hyperwave


Registro de objetos de hw_document

hw_DocByAnchorObj
hw_Document_BodyTag
Funciones de Hyperwave
PHP Manual

hw_Document_Attributes

(PHP 4)

hw_Document_Attributes — Registro de objetos de hw_document

Descripción

string hw_document_attributes ( int $hw_document )

Devuelve el registro de objetos del documento.

Por razones de compatibilidad, hw_documentattributes() también se acepta. Sin embargo, esto está obsoleto.

Parámetros

hw_document

El identificador de documento.

Valores devueltos

Devuelve el registro de objetos del documento.

Ver también

  • hw_document_bodytag() - Etiqueta BODY de hw_document
  • hw_document_size() - Tamaño de hw_document

hw_DocByAnchorObj
hw_Document_BodyTag
Funciones de Hyperwave


Etiqueta BODY de hw_document

hw_Document_Attributes
hw_Document_Content
Funciones de Hyperwave
PHP Manual

hw_Document_BodyTag

(PHP 4)

hw_Document_BodyTag — Etiqueta BODY de hw_document

Descripción

string hw_document_bodytag ( int $hw_document [, string $prefix ] )

Devuelve la etiqueta BODY del documento. Si el documento es un documento HTML, la etiqueta BODY debería estar impresa antes del documento.

Por razones de compatibilidad, hw_documentbodytag() también se acepta. Sin embargo, esto está obsoleto.

Parámetros

hw_document

El identificador de documento.

prefix

Valores devueltos

Devuelve la etiqueta BODY como cadena.

Ver también

  • hw_document_attributes() - Registro de objetos de hw_document
  • hw_document_size() - Tamaño de hw_document

hw_Document_Attributes
hw_Document_Content
Funciones de Hyperwave


Devuelve el contenido de hw_document

hw_Document_BodyTag
hw_Document_SetContent
Funciones de Hyperwave
PHP Manual

hw_Document_Content

(PHP 4)

hw_Document_Content — Devuelve el contenido de hw_document

Descripción

string hw_document_content ( int $hw_document )

Obtiene el contenido del documento.

Parámetros

hw_document

El identificador de documento.

Valores devueltos

Devuelve el contenido del documento. Si el documento es un documento HTML, el contenido es todo lo que hay después de la etiqueta BODY. La información desde la etiqueta HEAD y BODY se almacena en el registro de objetos.

Ver también

  • hw_document_attributes() - Registro de objetos de hw_document
  • hw_document_size() - Tamaño de hw_document
  • hw_document_setcontent() - Establece/reemplaza el contenido de hw_document

hw_Document_BodyTag
hw_Document_SetContent
Funciones de Hyperwave


Establece/reemplaza el contenido de hw_document

hw_Document_Content
hw_Document_Size
Funciones de Hyperwave
PHP Manual

hw_Document_SetContent

(PHP 4)

hw_Document_SetContent — Establece/reemplaza el contenido de hw_document

Descripción

bool hw_document_setcontent ( int $hw_document , string $content )

Establece o reemplaza el contenido del documento. Si el documento es un documento HTML, el contenido es todo lo que sigue a la etiqueta BODY. La información desde las etiquetas HEAD y BODY se almacena en el registro de objetos. Si también se proporciona esta información en el contenido del documento, el servidor Hyperwave cambiará el registro de objetos consecuentemente cuando se inserta el documento. Probablemente no es una buena idea. Esta función falla el documento, retendrá su antiguo contenido

Parámetros

hw_document

El identificador de documento.

content

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • hw_document_attributes() - Registro de objetos de hw_document
  • hw_document_size() - Tamaño de hw_document
  • hw_document_content() - Devuelve el contenido de hw_document

hw_Document_Content
hw_Document_Size
Funciones de Hyperwave


Tamaño de hw_document

hw_Document_SetContent
hw_dummy
Funciones de Hyperwave
PHP Manual

hw_Document_Size

(PHP 4)

hw_Document_Size — Tamaño de hw_document

Descripción

int hw_document_size ( int $hw_document )

Obtiene el tamaño del documento.

Por motivos de compatibilidad, también se acepta hw_documentsize(). Aunque esto está obsoleto.

Parámetros

hw_document

El identificador de documento.

Valores devueltos

Devuelve el tamaño del documento en bytes.

Ver también

  • hw_document_attributes() - Registro de objetos de hw_document
  • hw_document_bodytag() - Etiqueta BODY de hw_document

hw_Document_SetContent
hw_dummy
Funciones de Hyperwave


Función dummy de Hyperwave

hw_Document_Size
hw_EditText
Funciones de Hyperwave
PHP Manual

hw_dummy

(PHP 4)

hw_dummy — Función dummy de Hyperwave

Descripción

string hw_dummy ( int $link , int $id , int $msgid )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

hw_Document_Size
hw_EditText
Funciones de Hyperwave


Recuperar un documento de texto

hw_dummy
hw_Error
Funciones de Hyperwave
PHP Manual

hw_EditText

(PHP 4)

hw_EditText — Recuperar un documento de texto

Descripción

bool hw_edittext ( int $connection , int $hw_document )

Sube el documento de texto al servidor. El registro de objetos del documento no puede ser modificado mientras se edita el documento.

Esta función sólo funcionará con documentos de texto puro. No abrirá una conexión de información especial y por lo tanto bloqueará la conexión de control durante la transferencia.

Parámetros

connection

El identificador de conexión.

hw_document

El identificador de documento.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • hw_pipedocument() - Recuperar cualquier documento
  • hw_free_document() - Libera un hw_document
  • hw_document_bodytag() - Etiqueta BODY de hw_document
  • hw_document_size() - Tamaño de hw_document
  • hw_output_document() - Imprime un hw_document
  • hw_gettext() - Recuperar documentos de texto

hw_dummy
hw_Error
Funciones de Hyperwave


Número de error

hw_EditText
hw_ErrorMsg
Funciones de Hyperwave
PHP Manual

hw_Error

(PHP 4)

hw_Error — Número de error

Descripción

int hw_error ( int $connection )

Devuelve el último número de error, para el último comando.

Parámetros

connection

El identificador de conexión.

Valores devueltos

Devuelve el último número de error o 0 si no ocurrió ningún error.

Ver también

  • hw_errormsg() - Devuelve un mensaje de error

hw_EditText
hw_ErrorMsg
Funciones de Hyperwave


Devuelve un mensaje de error

hw_Error
hw_Free_Document
Funciones de Hyperwave
PHP Manual

hw_ErrorMsg

(PHP 4)

hw_ErrorMsg — Devuelve un mensaje de error

Descripción

string hw_errormsg ( int $connection )

Devuelve una cadena que contiene el último mensaje de error relacionado con el último comando.

Parámetros

connection

El identificador de conexión.

Valores devueltos

Devuelve una cadena que cotiene el último mensaje de error o 'No Error'. Si devuelve FALSE, está función fallará.

Ver también

  • hw_error() - Número de error

hw_Error
hw_Free_Document
Funciones de Hyperwave


Libera un hw_document

hw_ErrorMsg
hw_GetAnchors
Funciones de Hyperwave
PHP Manual

hw_Free_Document

(PHP 4)

hw_Free_Document — Libera un hw_document

Descripción

bool hw_free_document ( int $hw_document )

Libera la memoria ocupada por el documento Hyperwave.

Parámetros

hw_document

El identificador de documento.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

hw_ErrorMsg
hw_GetAnchors
Funciones de Hyperwave


Ids de objetos de anclas de documento

hw_Free_Document
hw_GetAnchorsObj
Funciones de Hyperwave
PHP Manual

hw_GetAnchors

(PHP 4)

hw_GetAnchors — Ids de objetos de anclas de documento

Descripción

array hw_getanchors ( int $connection , int $objectID )

Devuelve un array de ids de objetos con anclas del documentos especificado.

Parámetros

connection

El identificador de conexión.

objectID

El id de objeto del documento.

Valores devueltos

Devuelve un array de ids de objetos.

hw_Free_Document
hw_GetAnchorsObj
Funciones de Hyperwave


Registros de objetos de anclas de documento

hw_GetAnchors
hw_GetAndLock
Funciones de Hyperwave
PHP Manual

hw_GetAnchorsObj

(PHP 4)

hw_GetAnchorsObj — Registros de objetos de anclas de documento

Descripción

array hw_getanchorsobj ( int $connection , int $objectID )

Devuelve los registros con anclas del documento con ID de objeto objectID.

Parámetros

connection

El identificador de conexión.

objectID

El identificador del objeto.

Valores devueltos

Devuelve un array de registros de objetos.

hw_GetAnchors
hw_GetAndLock
Funciones de Hyperwave


Devuelve un registro de objetos y bloquea el objeto

hw_GetAnchorsObj
hw_GetChildColl
Funciones de Hyperwave
PHP Manual

hw_GetAndLock

(PHP 4)

hw_GetAndLock — Devuelve un registro de objetos y bloquea el objeto

Descripción

string hw_getandlock ( int $connection , int $objectID )

Devuelve el registro de objetos para el objeto con ID objectID. También bloqueará el objeto, por lo que otros usuarios no pueden acceder a él hasta que sea desbloqueado.

Parámetros

connection

El identificador de conexión.

objectID

El identificador del objeto.

Valores devueltos

Devuelve el registro de objetos para el objeto con ID objectID.

Ver también

  • hw_unlock() - Desbloquear un objeto
  • hw_getobject() - Registro de objetos

hw_GetAnchorsObj
hw_GetChildColl
Funciones de Hyperwave


Ids de objetos de colecciones hijas

hw_GetAndLock
hw_GetChildCollObj
Funciones de Hyperwave
PHP Manual

hw_GetChildColl

(PHP 4)

hw_GetChildColl — Ids de objetos de colecciones hijas

Descripción

array hw_getchildcoll ( int $connection , int $objectID )

Devuelve ids de objetos. Cada ID de objeto pertenece a una colección hija de la colección con ID objectID. La función no devolverá documentos hijos.

Parámetros

connection

El identificador de conexión.

objectID

El identificador del objeto.

Valores devueltos

Devuelve un array de ids de objetos.

Ver también

  • hw_children() - Ids de objetos de los hijos
  • hw_getchilddoccoll() - Ids de documentos hijos de una colección

hw_GetAndLock
hw_GetChildCollObj
Funciones de Hyperwave


Registros de objetos de colecciones hijas

hw_GetChildColl
hw_GetChildDocColl
Funciones de Hyperwave
PHP Manual

hw_GetChildCollObj

(PHP 4)

hw_GetChildCollObj — Registros de objetos de colecciones hijas

Descripción

array hw_getchildcollobj ( int $connection , int $objectID )

Devuelve registros de objetos. Cada registro de objetos pertenece a una colección hija de la colección con ID objectID. La función no devolverá documentos hijos.

Parámetros

connection

El identificador de conexión.

objectID

El identificador del objeto.

Valores devueltos

Devuelve un array de registros de objetos.

Ver también

  • hw_childrenobj() - Registro de objetos de los hijos
  • hw_getchilddoccollobj() - Registros de objetos de documentos hijos de una colección

hw_GetChildColl
hw_GetChildDocColl
Funciones de Hyperwave


Ids de documentos hijos de una colección

hw_GetChildCollObj
hw_GetChildDocCollObj
Funciones de Hyperwave
PHP Manual

hw_GetChildDocColl

(PHP 4)

hw_GetChildDocColl — Ids de documentos hijos de una colección

Descripción

array hw_getchilddoccoll ( int $connection , int $objectID )

Devuelve una array de ids de objetos para documentos hijos de una colección.

Parámetros

connection

El identificador de conexión.

objectID

El identificador del objeto.

Valores devueltos

Devuelve un array de ids de objetos.

Ver también

  • hw_children() - Ids de objetos de los hijos
  • hw_getchildcoll() - Ids de objetos de colecciones hijas

hw_GetChildCollObj
hw_GetChildDocCollObj
Funciones de Hyperwave


Registros de objetos de documentos hijos de una colección

hw_GetChildDocColl
hw_GetObject
Funciones de Hyperwave
PHP Manual

hw_GetChildDocCollObj

(PHP 4)

hw_GetChildDocCollObj — Registros de objetos de documentos hijos de una colección

Descripción

array hw_getchilddoccollobj ( int $connection , int $objectID )

Devuelve un array de registros de objetos para documentos hijos de una colección.

Parámetros

connection

El identificador de conexión.

objectID

El identificador del objeto.

Valores devueltos

Devuelve un array de registros de objetos.

Ver también

  • hw_childrenobj() - Registro de objetos de los hijos
  • hw_getchildcollobj() - Registros de objetos de colecciones hijas

hw_GetChildDocColl
hw_GetObject
Funciones de Hyperwave


Registro de objetos

hw_GetChildDocCollObj
hw_GetObjectByQuery
Funciones de Hyperwave
PHP Manual

hw_GetObject

(PHP 4)

hw_GetObject — Registro de objetos

Descripción

mixed hw_getobject ( int $connection , mixed $objectID [, string $query ] )

Obtiene un registro de objetos. Si el segundo parámetro es un array de valores integer la función

Parámetros

connection

El identificador de conexión.

objectID

El identificador del objeto, o un array de identificadores.

query

La cadena de consulta tiene la sintaxis siguiente:

<expr> ::= "(" <expr> ")" |
           "!" &lt;expr> |          /* NOT */
           <expr> "||" <expr> |  /* OR */
           <expr> "&amp;&amp;" <expr> |  /* AND */
           <attribute> <operator> <value>

<attribute> ::= /* any attribute name (Title, Author, DocumentType ...) */

<operator> ::= "=" |    /* equal */
               "<" |    /* less than (string compare) */
               ">" |    /* greater than (string compare) */
               "~"      /* regular expression matching */
La consulta permite seleccionar ciertos objetos de la lista de objetos dada. A diferencia de otras funciones de consulta, esta consulta no puede usar atributos indexados. Cuántos registros de objetos son devueltos depende de la consulta y si el acceso al objeto está permitido.

Valores devueltos

Devuelve el registro de objetos para el ID de objeto dado si el segundo parámetro es un valor integer.

Si el segundo parámetro es un array de valores integer la función devolverá un array de registros de objetos. En tal caso, el último parámetro también es evaluado, el cual es una cadena de consulta.

Ver también

  • hw_getandlock() - Devuelve un registro de objetos y bloquea el objeto
  • hw_getobjectbyquery() - Búsqueda de objetos

hw_GetChildDocCollObj
hw_GetObjectByQuery
Funciones de Hyperwave


Búsqueda de objetos

hw_GetObject
hw_GetObjectByQueryColl
Funciones de Hyperwave
PHP Manual

hw_GetObjectByQuery

(PHP 4)

hw_GetObjectByQuery — Búsqueda de objetos

Descripción

array hw_getobjectbyquery ( int $connection , string $query , int $max_hits )

Busca objetos en el servidor entero y devuelve un array de ids de objetos.

Parámetros

connection

El identificador de conexión.

query

La consulta sólo funcionará con atributos indexados.

max_hits

El número máximo de coincidencias está limitado a max_hits. Si max_hits es establecido a -1 el número máximo de coincidencias es ilimitado.

Valores devueltos

Devuelve un array de ids de objetos.

Ver también

  • hw_getobjectbyqueryobj() - Búsqueda de objetos

hw_GetObject
hw_GetObjectByQueryColl
Funciones de Hyperwave


Buscar objetos en una colección

hw_GetObjectByQuery
hw_GetObjectByQueryCollObj
Funciones de Hyperwave
PHP Manual

hw_GetObjectByQueryColl

(PHP 4)

hw_GetObjectByQueryColl — Buscar objetos en una colección

Descripción

array hw_getobjectbyquerycoll ( int $connection , int $objectID , string $query , int $max_hits )

Busca objetos en la colección con ID objectID y devuelve un array de ids de objetos.

Parámetros

connection

El identificador de conexión.

objectID

El id de la colección.

query

La consulta sólo funcionará con atributos indexados.

max_hits

El número máximo de coincidencias está limitado a max_hits. Si max_hits es establecido a -1 el número máximo de coincidencias es ilimitado.

Valores devueltos

Devuelve un array de ids de objetos.

Ver también

  • hw_getobjectbyquerycollobj() - Búsqueda de objetos en una colección

hw_GetObjectByQuery
hw_GetObjectByQueryCollObj
Funciones de Hyperwave


Búsqueda de objetos en una colección

hw_GetObjectByQueryColl
hw_GetObjectByQueryObj
Funciones de Hyperwave
PHP Manual

hw_GetObjectByQueryCollObj

(PHP 4)

hw_GetObjectByQueryCollObj — Búsqueda de objetos en una colección

Descripción

array hw_getobjectbyquerycollobj ( int $connection , int $objectID , string $query , int $max_hits )

Busca objetos en la colección con ID objectID y devuelve un array de registros de objetos.

Parámetros

connection

El identificador de conexión.

objectID

El id de la colección.

query

La consulta sólo funcionará con atributos indexados.

max_hits

El número máximo de coincidencias está limitado a max_hits. Si max_hits es establecido a -1 el número máximo de coincidencias es ilimitado.

Valores devueltos

Devuelve un array de registros de objetos.

Ver también

  • hw_getobjectbyquerycoll() - Buscar objetos en una colección

hw_GetObjectByQueryColl
hw_GetObjectByQueryObj
Funciones de Hyperwave


Búsqueda de objetos

hw_GetObjectByQueryCollObj
hw_GetParents
Funciones de Hyperwave
PHP Manual

hw_GetObjectByQueryObj

(PHP 4)

hw_GetObjectByQueryObj — Búsqueda de objetos

Descripción

array hw_getobjectbyqueryobj ( int $connection , string $query , int $max_hits )

Busca objetos en el servidor entero y devuelve un array de registros de objetos.

Parámetros

connection

El identificador de conexión.

query

La consulta sólo funcionará con atributos indexados.

max_hits

El número máximo de coincidencias está limitado a max_hits. Si max_hits es establecido a -1 el número máximo de coincidencias es ilimitado.

Valores devueltos

Devuelve un array de registros de objetos.

Ver también

  • hw_getobjectbyquery() - Búsqueda de objetos

hw_GetObjectByQueryCollObj
hw_GetParents
Funciones de Hyperwave


Ids de objetos de padres

hw_GetObjectByQueryObj
hw_GetParentsObj
Funciones de Hyperwave
PHP Manual

hw_GetParents

(PHP 4)

hw_GetParents — Ids de objetos de padres

Descripción

array hw_getparents ( int $connection , int $objectID )

Devuelve los identificadores de objetos de los padres de un objetos.

Parámetros

connection

El identificador de conexión.

objectID

El identificador del objeto.

Valores devueltos

Devuelve un array indexado de ids de objetos. Cada id de objeto pertenece a un padre del objeto con ID objectID.

hw_GetObjectByQueryObj
hw_GetParentsObj
Funciones de Hyperwave


Registros de objetos de padres

hw_GetParents
hw_getrellink
Funciones de Hyperwave
PHP Manual

hw_GetParentsObj

(PHP 4)

hw_GetParentsObj — Registros de objetos de padres

Descripción

array hw_getparentsobj ( int $connection , int $objectID )

Devuelve los registros de objetos e información estadística sobre los registros de objetos. Cada registro de objetos pertenece a un padre de objeto con ID objectID.

Parámetros

connection

El identificador de conexión.

objectID

El identificador del objeto.

Valores devueltos

Devuelve un array indexado de registros de objetos más un array asociativo con información estadíctica sobre los registros de objetos. El array asociativo es la última entrada el array devuelto.

hw_GetParents
hw_getrellink
Funciones de Hyperwave


Obtener un enlace desde la fuente al destino relativo al id raíz

hw_GetParentsObj
hw_GetRemote
Funciones de Hyperwave
PHP Manual

hw_getrellink

(PHP 4)

hw_getrellink — Obtener un enlace desde la fuente al destino relativo al id raíz

Descripción

string hw_getrellink ( int $link , int $rootid , int $sourceid , int $destid )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

hw_GetParentsObj
hw_GetRemote
Funciones de Hyperwave


Obtiene un documento remoto

hw_getrellink
hw_getremotechildren
Funciones de Hyperwave
PHP Manual

hw_GetRemote

(PHP 4)

hw_GetRemote — Obtiene un documento remoto

Descripción

int hw_getremote ( int $connection , int $objectID )

Obtiene un documento remoto.

Los documentos remotos en la notación Hyperwave son documentos recuperados desde una fuente externa. Los documentos remotos comunes son, por ejemplo, páginas web externas o consultas de una base de datos.

Para poder acceder a fuentes externas a través de documentos remotos Hyperwave introduce la HGI (Hyperwave Gateway Interface - Interfaz de Pasarela Hyperwave) que es similar a CGI. Actualmente, sólo se puede acceder a servidores ftp, http y algunas bases de datos mediante la HGI.

La llamada a hw_getremote() devuelve el documento desde la fuente externa. Si quiere usar esta función debería estar muy familiarizado con HGIs. También debería considerar usar PHP en vez de Hyperwave para acceder a fuentes externas. Añadir soporte a bases de datos por una pasarela de Hyperwave debería ser más difícil que hacerlo en PHP.

Parámetros

connection

El identificador de conexión.

objectID

El identificador del objeto.

Valores devueltos

Devuelve un documento remoto.

Ver también

  • hw_getremotechildren() - Obtener los hijos de un documento remoto

hw_getrellink
hw_getremotechildren
Funciones de Hyperwave


Obtener los hijos de un documento remoto

hw_GetRemote
hw_GetSrcByDestObj
Funciones de Hyperwave
PHP Manual

hw_getremotechildren

(PHP 4)

hw_getremotechildren — Obtener los hijos de un documento remoto

Descripción

mixed hw_getremotechildren ( int $connection , string $object_record )

Devuelve los hijos de un documento remoto. Los hijos de un documento remoto son documento remotos en sí. Esto tiene sentido si una consulta de una base de datos tiene que ser restringida y está explicado en la Guía de Programadores de Hyperwave.

Si quiere usar esta función debería de estar muy familiarizado con las HGIs. También debería considerar usar PHP en vez de Hyperwave para acceder a fuentes externas. Añadir soporte para bases de datos por una pasarela Hyperwave debería ser más difícil que hacerlo en PHP.

Parámetros

connection

El identificador de conexión.

object_record

El registro de objetos.

Valores devueltos

Si el número de hijos es 1 la función devolverá el documento en sí formateado po la Interfaz de Pasarela de Hyperwave (HGI). Si el número de hijos es mayor que 1 devolverá un array de registros de objetos, siendo cada uno quizás el valor de entrada para otra llamada a hw_getremotechildren(). Estos registros de objetos son virtuales y no existen en el servidor Hyperwave, por lo tanto, no tienen un ID de objeto válido. El aspecto exacto de tales registros de objetos es competencia de la HGI.

Ver también

  • hw_getremote() - Obtiene un documento remoto

hw_GetRemote
hw_GetSrcByDestObj
Funciones de Hyperwave


Devuelve las anclas que apuntan a un objeto

hw_getremotechildren
hw_GetText
Funciones de Hyperwave
PHP Manual

hw_GetSrcByDestObj

(PHP 4)

hw_GetSrcByDestObj — Devuelve las anclas que apuntan a un objeto

Descripción

array hw_getsrcbydestobj ( int $connection , int $objectID )

Obtiene los registro de objetos de todas las anclas que apuntan al objeto con ID objectID.

Parámetros

connection

El identificador de conexión.

objectID

El identificador del objeto. El objeto puede ser un documento o un ancla de tipo destino.

Valores devueltos

Devuelve un array de registros de objetos.

Ver también

  • hw_getanchors() - Ids de objetos de anclas de documento

hw_getremotechildren
hw_GetText
Funciones de Hyperwave


Recuperar documentos de texto

hw_GetSrcByDestObj
hw_getusername
Funciones de Hyperwave
PHP Manual

hw_GetText

(PHP 4)

hw_GetText — Recuperar documentos de texto

Descripción

int hw_gettext ( int $connection , int $objectID [, mixed $rootID/prefix ] )

Devuelve el documento con el ID de objeto objectID. Si el documento tiene anclas que pueden ser insertadas, serán insertadas ya.

Esta función sólo funciona para documentos de texto puros. No abrirá una conexión de información especial y por lo tanto bloqueará la conexión de control durante la transferencia.

Parámetros

connection

El identificador de conexión.

objectID

El identificador del objeto.

rootID/prefix

El parámetro opcional rootID/prefix puede ser una cadena o un valor integer. Si es un integer determina cómo los enlaces son insertados en el documento. Lo predeterminado es 0 y resultará en enlaces que están construidos desde el nombre del objeto de destino del enlace. Esto es útil para aplicaciones web. Si un enlace apunta a un objeto con nombre 'película_internet' el enlace HTML será <A href="/película_internet">. La ubicación real del objeto fuente y el objeto destino en la jerarquía del documento son ignorados. Tendrá que configurar su navegador web para reescribir esta URL a, por ejemplo, '/mi_script.php/película_internet'. 'mi_script.php' tendrá que evaluar $PATH_INFO y recuperar el documento. Todos los enlaces tiene el prefijo '/mi_script.php/'. Si no desea esto puede establecer el parámetro opcional rootID/prefix a cualquier prefijo que se use en su lugar. En este caso tiene que ser una cadena.

Si rootID/prefix es un valor integer y no igual a 0, el enlace es construido desde todos los nombres que empiezan con el objeto con el id rootID/prefix separado por una barra relativo al objeto actual.

Si, por ejemplo, el documento de arriba, 'película_internet', está ubicado en 'a-b-c-película_internet', siendo '-' el serparador entre niveles de jerarquía en el servidor Hyperwave, y el documento fuente está ubicado en 'a-b-d-fuente', el enlace HTML resultante sería: <A HREF="../c/película_internet">. Esto es útil si quiere descargar el contenido completo del servidor al disco y mapear la jerarquía del documento en el sistema de ficheros.

Valores devueltos

Devuelve el documento de texto.

Ver también

  • hw_pipedocument() - Recuperar cualquier documento
  • hw_free_document() - Libera un hw_document
  • hw_document_bodytag() - Etiqueta BODY de hw_document
  • hw_document_size() - Tamaño de hw_document
  • hw_output_document() - Imprime un hw_document

hw_GetSrcByDestObj
hw_getusername
Funciones de Hyperwave


Nombre de usuario actualmente identificado

hw_GetText
hw_Identify
Funciones de Hyperwave
PHP Manual

hw_getusername

(PHP 4)

hw_getusername — Nombre de usuario actualmente identificado

Descripción

string hw_getusername ( int $connection )

Devuelve del nombre de usuario de la conexión.

Parámetros

connection

El identificador de conexión.

Valores devueltos

Devuelve el nombre de usuario como cadena.

hw_GetText
hw_Identify
Funciones de Hyperwave


Identifica un usuario

hw_getusername
hw_InCollections
Funciones de Hyperwave
PHP Manual

hw_Identify

(PHP 4)

hw_Identify — Identifica un usuario

Descripción

string hw_identify ( int $link , string $username , string $password )

Identifica un usuario con username y password. La identificación es sólo válida para la sesión actual. No creo que esta función sea necesaria muy a menudo. En la mayoría de los casos será más fácil identificarse con la apertura de la conexión.

Parámetros

link

El identificador de conexión.

username

El nombre de usuario.

password

La contraseña.

Ver también

  • hw_connect() - Abre una conexión

hw_getusername
hw_InCollections
Funciones de Hyperwave


Comprobar si ids de objetos están en colecciones

hw_Identify
hw_Info
Funciones de Hyperwave
PHP Manual

hw_InCollections

(PHP 4)

hw_InCollections — Comprobar si ids de objetos están en colecciones

Descripción

array hw_incollections ( int $connection , array $object_id_array , array $collection_id_array , int $return_collections )

Comprueba si un conjunto de objetos (documentos o colecciones) especificado por object_id_array es parte de las colecciones listadas en collection_id_array.

Parámetros

connection

El identificador de conexión.

object_id_array

Un array de ids de objetos.

collection_id_array

Un array de ids de colecciones.

return_collections

Cuando se establece a 0, el subconjunto de ids de objetos que es parte de las colecciones (es decir, los documentos o colecciones que son hijos de una o más colecciones o ids de colecciones o sus subcolecciones, recursivamente) es devuelto como un array.

Cuando se establece a 1, el conjunto de colecciones que tiene uno o más objetos de este subconjunto como hijos son devueltos como un array. Esta opción permite a un cliente , p.ej., remarcar la parte de la jerarquía de la colección que contiene las coincidencias de una consulta previa, desde un punto de vista gráfico.

Valores devueltos

Devuelve un array de ids de objetos.

hw_Identify
hw_Info
Funciones de Hyperwave


Información sobre la conexión

hw_InCollections
hw_InsColl
Funciones de Hyperwave
PHP Manual

hw_Info

(PHP 4)

hw_Info — Información sobre la conexión

Descripción

string hw_info ( int $connection )

Devuelve información sobre la conexión actual.

Parámetros

connection

El identificador de conexión.

Valores devueltos

La cadena devuelta tiene el siguiente formato: <Serverstring>, <Host>, <Port>, <Username>, <Port of Client>, <Byte swapping>

hw_InCollections
hw_InsColl
Funciones de Hyperwave


Insertar colecciones

hw_Info
hw_InsDoc
Funciones de Hyperwave
PHP Manual

hw_InsColl

(PHP 4)

hw_InsColl — Insertar colecciones

Descripción

int hw_inscoll ( int $connection , int $objectID , array $object_array )

Inserta una nueva colección con los atributos como en object_array dentro de la colección con ID de objeto objectID.

Parámetros

connection

El identificador de conexión.

objectID

object_array

Valores devueltos

hw_Info
hw_InsDoc
Funciones de Hyperwave


Insertar documetos

hw_InsColl
hw_insertanchors
Funciones de Hyperwave
PHP Manual

hw_InsDoc

(PHP 4)

hw_InsDoc — Insertar documetos

Descripción

int hw_insdoc ( resource $connection , int $parentID , string $object_record [, string $text ] )

Inserta un nuevo documento con los atributos como en object_record en una colección.

Si quiere insertar un documento general de cualquier tipo use hw_insertdocument() en su lugar.

Parámetros

connection

El identificador de conexión.

parentID

El id de colección.

object_record

Los atributos de objetos.

text

Si se proporciona, este texto ascii tambíen será insertado.

Valores devueltos

Ver también

  • hw_insertdocument() - Cargar cualquier documento
  • hw_inscoll() - Insertar colecciones

hw_InsColl
hw_insertanchors
Funciones de Hyperwave


Inserta únicamente anclas en texto

hw_InsDoc
hw_InsertDocument
Funciones de Hyperwave
PHP Manual

hw_insertanchors

(PHP 4 >= 4.0.4)

hw_insertanchors — Inserta únicamente anclas en texto

Descripción

bool hw_insertanchors ( int $hwdoc , array $anchorecs , array $dest [, array $urlprefixes ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

hw_InsDoc
hw_InsertDocument
Funciones de Hyperwave


Cargar cualquier documento

hw_insertanchors
hw_InsertObject
Funciones de Hyperwave
PHP Manual

hw_InsertDocument

(PHP 4)

hw_InsertDocument — Cargar cualquier documento

Descripción

int hw_insertdocument ( int $connection , int $parent_id , int $hw_document )

Carga un documento dentro de la colección dada.

El documento ha sido creado antes con hw_new_document(). Asegúrese de que el registro de objetos del nuevo documento contiene al menos los atributos: Type, DocumentType, Title y Name. Posiblemente también querrá establecer el MimeType.

Parámetros

connection

El identificador de conexión.

parent_id

El identificador de colección.

hw_document

El identificador de documento.

Valores devueltos

La función devuelve el id de objeto del nuevo documento o FALSE.

Ver también

  • hw_pipedocument() - Recuperar cualquier documento

hw_insertanchors
hw_InsertObject
Funciones de Hyperwave


Inserta un registro de objetos

hw_InsertDocument
hw_mapid
Funciones de Hyperwave
PHP Manual

hw_InsertObject

(PHP 4)

hw_InsertObject — Inserta un registro de objetos

Descripción

int hw_insertobject ( int $connection , string $object_rec , string $parameter )

Inserta un registro de objetos en el servidor.

Nota: Si quiere insertar un Ancla, el atributo Posición siempre ha sido establecido al valor start/end o a 'invisible'. Las posiciones invisibles son necesarioa si la anotación no tiene un enlace correspondiente en el texto de anotación.

Parámetros

connection

El identificador de conexión.

object_rec

El objeto puede ser cualquier objeto hyperwave válido.

parameter

Véase la documentación de HG-CSP para información detallada de cómo tienen que ser los parámetros.

Ver también

  • hw_pipedocument() - Recuperar cualquier documento
  • hw_insertdocument() - Cargar cualquier documento
  • hw_insdoc() - Insertar documetos
  • hw_inscoll() - Insertar colecciones

hw_InsertDocument
hw_mapid
Funciones de Hyperwave


Mapea un id global en un id local virtual

hw_InsertObject
hw_Modifyobject
Funciones de Hyperwave
PHP Manual

hw_mapid

(PHP 4)

hw_mapid — Mapea un id global en un id local virtual

Descripción

int hw_mapid ( int $connection , int $server_id , int $object_id )

Mapea un id de objeto global en cualquier servidor hyperwave, incluso aquellos que no se conectaron con hw_connect(), en un id de objeto virtual.

Este id de objeto virtual se puede usar después com cualquier otro id de objeto, p.ej para obtener el registro de objetos con hw_getobject().

Nota: Para usar esta función se tendrá que establecer la bandera F_DISTRIBUTED, la cual sólo puede ser establecida actualmente en tiempo de compilación en hg_comm.c. No está establecida por omisión. Lea el comentario al principio de hg_comm.c

Parámetros

connection

El identificador de conexión.

server_id

El id del servidor es la primera parte del id de objeto global (GOid) del objeto que realmente es el número de IP como valor integer.

object_id

El identificador del objeto.

Valores devueltos

Devuelve el id de objeto virtual.

hw_InsertObject
hw_Modifyobject
Funciones de Hyperwave


Modifica un registro de objetos

hw_mapid
hw_mv
Funciones de Hyperwave
PHP Manual

hw_Modifyobject

(PHP 4)

hw_Modifyobject — Modifica un registro de objetos

Descripción

bool hw_modifyobject ( int $connection , int $object_to_change , array $remove , array $add [, int $mode ] )

Este comando permite eliminar, añadir o modificar atributos individuales de un registro de objetos. El objeto es especificado por el ID de Objeto object_to_change. Para modificar un atributo se tendrá que eliminar el antigua y añadir el nuevo. hw_modifyobject() siempre eliminará los atributos antes de añadir atributos a menos que el valor del atributo a eliminar no sea una cadena o un array.

Las claves de ambos array son los nombres de los atributos. El valor de cada elemento del array puede ser un array, una cadena o cualquier otra cosa. Si es un array cada valor del atributo está construido mediante la clave de cada elemento más dos puntos y el valor de cada elemento. Si es una cadena se toma como el valor del atributo. Una cadena vacía resultará en la eliminación completa de ese atributo. Si el valor no es una cadena o un array pero es algo como, p.ej., un valor integer, no se realizará ninguna operación en absoluto sobre el atributo. Esto es necesario se se quiere añadir un atributo completamente nuevo, y no sólo un nuevo valor de un atributo existente. Si el array remove contiene una cadena vacía para ese atributo, se intentará eliminar el atributo, lo que fallará ya que no existe. La siguiente adición de un nuevo valor para ese atributo también fallará. Establecer el valor de un atributo a, p.ej., 0 no intentará eliminarlo y la adición funcionará.

Si le gustaría cambiar el atributo 'Name' con el valor actual 'books' dentro de 'articles' tendrá que crear dos array y llamar a hw_modifyobject().

Ejemplo #1 modificar un atributo

<?php
       // $connect es una conexión existente al servirdor Hyperwave
       // $objid es el ID del objeto a modificar
       $remarr = array("Name" => "books");
       $addarr = array("Name" => "articles");
       $hw_modifyobject($connect, $objid, $remarr, $addarr);
?>
Para borrar/añadir un par nombre=valor al registro de objetos pase el array remove/add y establezca el parámetro last/third a un array vacío. Si el atributo es el primero con ese nombre a añadir, establezca el valor del atributo en el array remove a un valor integer.

Ejemplo #2 añadir un atributo completamente nuevo

<?php
       // $connect es una conexión existente al servirdor Hyperwave
       // $objid es el ID del objeto a modificar
       $remarr = array("Name" => 0);
       $addarr = array("Name" => "articles");
       $hw_modifyobject($connect, $objid, $remarr, $addarr);
?>

Nota: Los atributos multilenguaje, p.ej., 'Title', pueden ser modificados de dos maneras. Proporcionando los valores de los atributos en su forma nativa 'lenguaje':'título' o proporcionando un array con elementos para cada lenguaje como se describió arriba. El ejemplo de arriba debería ser:

Ejemplo #3 modificar el atributo Title

<?php
       $remarr = array("Title" => "en:Books");
       $addarr = array("Title" => "en:Articles");
       $hw_modifyobject($connect, $objid, $remarr, $addarr);
?>
o

Ejemplo #4 modificar el atributo Title

<?php
       $remarr = array("Title" => array("en" => "Books"));
       $addarr = array("Title" => array("en" => "Articles", "ge"=>"Artikel"));
       $hw_modifyobject($connect, $objid, $remarr, $addarr);
?>
Esto elimina el título inglés 'Books' y añade el título inglés 'Articles' y el título alemán 'Artikel'.

Ejemplo #5 removing attribute

<?php
       $remarr = array("Title" => "");
       $addarr = array("Title" => "en:Articles");
       $hw_modifyobject($connect, $objid, $remarr, $addarr);
?>

Nota: Esto eliminará todos los atributos con el nombre 'Title' y añadirá un nuevo atributo 'Title'. Esto es útil si se quieren eliminar atributos recursivamente.

Nota: Si necesita borrar todos los atributos con un cierto nombre tendrá que pasar una cadena vacía al valor del atributo.

Nota: Sólo los atributos 'Title', 'Description' y 'Keyword' tratarán adecuadamente el prefijo de lenguaje. Si estos atributos no portan un prefijo de lenguaje, se asignará el prefijo 'xx'.

Nota: El atributo 'Name' es algo especial. En algunos casos no se puede eliminar completamente. Obtendrá un mensaje de error 'Change of base attribute' - 'Cambio de atributo base' (no está claro cuando sucede). Por lo tanto, siempre tendrá que añadir un nuevo Name primero y después eliminar el antiguo.

Nota: No se puede rodear esta función mediante llamadas a hw_getandlock() y hw_unlock(). hw_modifyobject() hace esto internamente.

Parámetros

connection

El identificador de conexión.

object_to_change

El objeto a cambiar.

remove

Un array de atributos a eliminar.

add

Un array de atributos a añadir.

mode

El último parámetro determina si la modificación se lleva a cabo recursivamente. 1 significa modificaión recursiva. Si alguno de los objetos no puede ser modificado lo saltará si avisar. hw_error() puede no indicar un error aunque algunos de los objetos no puedan ser modificados.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

hw_mapid
hw_mv
Funciones de Hyperwave


Mueve objetos

hw_Modifyobject
hw_New_Document
Funciones de Hyperwave
PHP Manual

hw_mv

(PHP 4)

hw_mv — Mueve objetos

Descripción

int hw_mv ( int $connection , array $object_id_array , int $source_id , int $destination_id )

Mueve los objetos especificados de una colección a otra.

Parámetros

connection

El identificador de conexión.

object_id_array

Un array de ids de objetos.

source_id

El id de la colección fuente.

destination_id

El id de la colección objetivo. Si se establece a 0, los objetos serán desvinculados de la colección fuente. Si ésta es la última instancia de ese objeto, será eliminado. Si se desea borrar todas las instancias de una vez, use hw_deleteobject().

Valores devueltos

Devuelve el número de objetos movidos.

Ver también

  • hw_cp() - Copia un objeto
  • hw_deleteobject() - Borra un objeto

hw_Modifyobject
hw_New_Document
Funciones de Hyperwave


Crear un nuevo documento

hw_mv
hw_objrec2array
Funciones de Hyperwave
PHP Manual

hw_New_Document

(PHP 4)

hw_New_Document — Crear un nuevo documento

Descripción

int hw_new_document ( string $object_record , string $document_data , int $document_size )

Devuelve un nuevo documento Hyperwave con la información del documento y el registro de objetos dados.

Esta función no inserta el documento en el servidor Hyperwave.

Parámetros

object_record

El registro de objetos.

document_data

La información del documento.

document_size

El tamaño del documento. Debe ser la longitud de document_data.

Valores devueltos

Devuelve el nuevo documento Hyperwave.

Ver también

  • hw_free_document() - Libera un hw_document
  • hw_document_size() - Tamaño de hw_document
  • hw_document_bodytag() - Etiqueta BODY de hw_document
  • hw_output_document() - Imprime un hw_document
  • hw_insertdocument() - Cargar cualquier documento

hw_mv
hw_objrec2array
Funciones de Hyperwave


Convertir atributos de un registro de objetos a un array de objetos

hw_New_Document
hw_Output_Document
Funciones de Hyperwave
PHP Manual

hw_objrec2array

(PHP 4)

hw_objrec2array — Convertir atributos de un registro de objetos a un array de objetos

Descripción

array hw_objrec2array ( string $object_record [, array $format ] )

Convierte object_record en un array de objetos.

Parámetros

object_record

El registro de objetos.

format

Un array asociativo con el nombre del atributo como su clave y el valor siendo uno de HW_ATTR_LANG o HW_ATTR_NONE.

Valores devueltos

Devuelve un array. Las claves del array resultante son los nombres de los atributos. Atributos multivalor como 'Title' en diferentes lenguajes desde su propio array. Las claves de este array son la parte izquierda de los dos puntos del valor del atributo. Esta parte izquierda debe ser de dos caracteres de longitud.

Otros atributos multivalor sin un prefijo desde un array indexado. Si falta el parámetro opcional, los atributos 'Title', 'Description' y 'Keyword' son tratados como atributos de lenguaje y los atributos 'Group', 'Parent' y 'HtmlAttr' como atributos multivalor no prefijados. Se puede alterar este comportamiento pasando un array que contenga el tipo de cada atributo.

Ver también

  • hw_array2objrec() - Convierte los atributos de un array de objetos a un registro de objetos

hw_New_Document
hw_Output_Document
Funciones de Hyperwave


Imprime un hw_document

hw_objrec2array
hw_pConnect
Funciones de Hyperwave
PHP Manual

hw_Output_Document

(PHP 4)

hw_Output_Document — Imprime un hw_document

Descripción

bool hw_output_document ( int $hw_document )

Imprime el documento si la equiqueta BODY.

Por razones de compatibilidad, hw_outputdocument() también se acepta. Sin embargo, esta está obsoleta.

Parámetros

hw_document

El identificador de documento.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

hw_objrec2array
hw_pConnect
Funciones de Hyperwave


Realizar una conexión persistente a la base de datos

hw_Output_Document
hw_PipeDocument
Funciones de Hyperwave
PHP Manual

hw_pConnect

(PHP 4)

hw_pConnect — Realizar una conexión persistente a la base de datos

Descripción

int hw_pconnect ( string $host , int $port [, string $username ], string $password )

Abre una conexión persistente al servidor Hyperwave. Se pueden tener múltiples conexiones persistentes abiertas de una vez.

Parámetros

host

El nombre del host del servidor.

port

El número de puerto del servidor.

username

El nombre de usuario de Hyperwave. Si se omite, no se realizará ninguna identificación con el servidor. Es similar a identificarse como usuario anónimo.

password

La contraseña para username. Recuerde que la contraseña no está encriptada.

Valores devueltos

Devuelve un índice de conexión en caso de éxtio, o FALSE si no se pudo realizar la conexión.

Ver también

  • hw_connect() - Abre una conexión

hw_Output_Document
hw_PipeDocument
Funciones de Hyperwave


Recuperar cualquier documento

hw_pConnect
hw_Root
Funciones de Hyperwave
PHP Manual

hw_PipeDocument

(PHP 4)

hw_PipeDocument — Recuperar cualquier documento

Descripción

int hw_pipedocument ( int $connection , int $objectID [, array $url_prefixes ] )

Obtiene el documento Hyperwave con el ID de objetos dado. Si el documento tiene anclas que pueden ser insertadas, serán insertarán ya.

El documento será transferido mediante una conexión de datos especial que no bloquea la conexión de control.

Parámetros

connection

El identificador de conexión.

objectID

El identificador del objeto.

url_prefixes

Valores devueltos

Devuelve el documento Hyperwave.

Ver también

  • hw_gettext() - Recuperar documentos de texto
  • hw_free_document() - Libera un hw_document
  • hw_document_size() - Tamaño de hw_document
  • hw_document_bodytag() - Etiqueta BODY de hw_document
  • hw_output_document() - Imprime un hw_document

hw_pConnect
hw_Root
Funciones de Hyperwave


Id del objeto raíz

hw_PipeDocument
hw_setlinkroot
Funciones de Hyperwave
PHP Manual

hw_Root

(PHP 4)

hw_Root — Id del objeto raíz

Descripción

int hw_root ( void )

Devuelve el ID del objeto de la colección hyperroot. Actualmente esto es siempre 0. La colección hija de hyperroot es la coleción raíz del servidor conectado.

Valores devueltos

Devuelve 0.

hw_PipeDocument
hw_setlinkroot
Funciones de Hyperwave


Establecer el id cuyos enlaces son calculados

hw_Root
hw_stat
Funciones de Hyperwave
PHP Manual

hw_setlinkroot

(PHP 4)

hw_setlinkroot — Establecer el id cuyos enlaces son calculados

Descripción

int hw_setlinkroot ( int $link , int $rootid )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

hw_Root
hw_stat
Funciones de Hyperwave


Devuelve la cadena de estado

hw_setlinkroot
hw_Unlock
Funciones de Hyperwave
PHP Manual

hw_stat

(PHP 4)

hw_stat — Devuelve la cadena de estado

Descripción

string hw_stat ( int $link )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

hw_setlinkroot
hw_Unlock
Funciones de Hyperwave


Desbloquear un objeto

hw_stat
hw_Who
Funciones de Hyperwave
PHP Manual

hw_Unlock

(PHP 4)

hw_Unlock — Desbloquear un objeto

Descripción

bool hw_unlock ( int $connection , int $objectID )

Desbloquea un documento, y así otros usuarios pueden acceder a él.

Parámetros

connection

El identificador de conexión.

objectID

El identificador de objetos del documento.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • hw_getandlock() - Devuelve un registro de objetos y bloquea el objeto

hw_stat
hw_Who
Funciones de Hyperwave


Lista de los usuarios actualmente identificados

hw_Unlock
API Hyperwave
Funciones de Hyperwave
PHP Manual

hw_Who

(PHP 4)

hw_Who — Lista de los usuarios actualmente identificados

Descripción

array hw_who ( int $connection )

Obtiene la lista de los usuarios actualmente identificados.

Parámetros

connection

El identificador de conexión.

Valores devueltos

Devuelve un array de usuario actualmente identificados en el servidor Hyperwave. Cada entrada de este array es un array en sí que contiene los elementos id, name, system, onSinceDate, onSinceTime, TotalTime y self. 'self' es 1 se esta entrada pertenece al usuario que inició la petición.

hw_Unlock
API Hyperwave
Funciones de Hyperwave


API Hyperwave

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de la API Hyperwave
    • hw_api::checkin — Registra un objeto
    • hw_api::checkout — Verifica un objeto
    • hw_api::children — Devuelve los hijos de un objeto
    • hw_api::content — Devuelve el contenido de un objeto
    • hw_api::copy — Copia físicamente
    • hw_api::dbstat — Devuelve estadísticas sobre el servidor de base de datos
    • hw_api::dcstat — Devuelve estadísticas sobre el servidor de caché de documentos
    • hw_api::dstanchors — Devuelve una lista de todas las anclas de destino
    • hw_api::dstofsrcanchor — Devuelve el destino de un ancla fuente
    • hw_api::find — Busca objetos
    • hw_api::ftstat — Devuelve estadísticas sobre el servidor Fulltext
    • hw_api::hwstat — Devuelve estadísticas sobre el servidor Hyperwave
    • hw_api::identify — Conectarse al Servidor Hyperwave
    • hw_api::info — Devuelve información sobre la configuración del servidor
    • hw_api::insert — Inserta un objeto nuevo
    • hw_api::insertanchor — Inserta un objeto nuevo de tipo 'anchor'
    • hw_api::insertcollection — Inserta un objeto nuevo de tipo 'collection'
    • hw_api::insertdocument — Inserta un objeto nuevo de tipo 'document'
    • hw_api::link — Crea un link a un objeto
    • hw_api::lock — Bloquea un objeto
    • hw_api::move — Mueve un objeto de una colección a otra
    • hw_api::object — Recupera información de los atributos de un objeto
    • hw_api::objectbyanchor — Retorna el objeto propietario de un ancla
    • hw_api::parents — Devuelve los padres de un objeto
    • hw_api::remove — Eliminar un objeto
    • hw_api::replace — Reemplaza un objeto
    • hw_api::setcommittedversion — Consolida (commit) una versión diferente que la última versión
    • hw_api::srcanchors — Devuelve una lista de todas las anclas fuente
    • hw_api::srcsofdst — Devuelve la fuente de un objeto de destino
    • hw_api::unlock — Desbloquea un objeto bloqueado
    • hw_api::user — Devuelve el propietario de un objeto
    • hw_api::userlist — Devuelve la lista de todos los usuarios conectados
    • hw_api_attribute::key — Returns key of the attribute
    • hw_api_attribute::langdepvalue — Devuelve el valor de un atributo en un idioma determinado
    • hw_api_attribute::value — Devuelve el valor del atributo
    • hw_api_attribute::values — Devuelve todos los valores del atributo
    • hw_api_content::mimetype — Devuelve el tipo MIME
    • hw_api_content::read — Lee el contenido
    • hw_api_error::count — Devuelve el número de errores
    • hw_api_error::reason — Devuelve el primer motivo de error
    • hw_api_object::assign — Clona objeto
    • hw_api_object::attreditable — Comprueba si un atributo es editable
    • hw_api_object::count — Devuelve el número de atributos
    • hw_api_object::insert — Inserta un nuevo atributo
    • hw_api_object::remove — Elimina un atributo
    • hw_api_object::title — Devuelve el atributo title
    • hw_api_object::value — Devuelve el valor de un atributo
    • hw_api_reason::description — Devuelve la descripción de la razón
    • hw_api_reason::type — Devuelve el tipo de la razón
    • hwapi_attribute_new — Crea una instancia de la clase hw_api_attribute
    • hwapi_content_new — Crea una nueva instancia de la clase hw_api_content
    • hwapi_hgcsp — Devuelve un objeto de la clase hw_api
    • hwapi_object_new — Crea una nueva instancia de la clase hwapi_object_new
hw_Who
Introducción
Otros servicios


Introducción

Hyperwave ha sido desarrollado en » IICM en Graz. Comenzó con el nombre Hyper-G y cambió a Hyperwave cuando se comercializó (en 1996).

Hyperwave no es software gratuito. La versión actual, 5.5, está disponible en » http://www.hyperwave.com/. Se puede pedir una versión con límite de tiempo de forma gratuita (30 días).

Véase también el módulo Hyperwave.

Hyperwave es un sistema de información similar a una base de datos (HIS, Hyperwave Information Server). Se centra en el almacenamiento y la administración de documentosis . Un documento puede ser cualquier trozo posible de información que puede ser también almacenado en un fichero. Cada documento está acompañado por su registro de objetos. El registro de objetos contiene metainformación del documento. La metainformación es una lista de atributos que pueden ser extenida por el usuario. Ciertos atributos son siempre establecidos por el servidor Hyperwave, otros pueden ser modificados por el usuario.

Nota:

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.2.0.

API Hyperwave
Instalación/Configuración
API Hyperwave


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
API Hyperwave


Requerimientos

Desde 2001 existe un SDK de Hyperwave disponible. Soporta Java, JavaScript y C++. Esta extensión de PHP está basada en la interfaz de C++. Para activar el soporte para hwapi en PHP debe instalar el SDK de Hyperwave primero.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/hwapi.

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.2.0

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de Configuraicón de la API Hyperwave
Nombre | Por defecto | Cambiable | Historial de cambios
hwapi.allow_persistent | "0" | PHP_INI_SYSTEM |
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Funciones de la API Hyperwave
API Hyperwave


Funciones de la API Hyperwave

Integración con Apache

La integración con Apache y otros posibles servidores ya está descrita en el módulo Hyperwave, el cual ha sido la primera extensión para conectar un Servidor Hyperwave.

Clases

La API proporcionada por la extensión HW_API está completamente orientada a objetos. Es similar a la interfaz de C++ del SDK de Hyperwave. Consiste en las siguientes clases.

  • HW_API
  • HW_API_Object
  • HW_API_Attribute
  • HW_API_Error
  • HW_API_Content
  • HW_API_Reason
Algunas clases básicas como HW_API_String, HW_API_String_Array, etc., las cuales ya existen en el SDK de Hyperwave, no han sido implementadas porque PHP tiene poderosos sustitutos para ellas.

Cada clase tiene ciertos métodos, cuyos nombres son idénticos a sus equivalentes del SDK de Hyperwave. El pasar argumentos a esta función difiere de todas las extensiones de PHP pero está cercano a la API de C++ del SDK de HW. En vez de pasar varios parámetros, éstos son puestos en un array asociativo y pasado como un parámetro. Los nombres de las claves son idénticos a aquellos documentados en el SDK de HW. Los parámetros más comunes están listados abajo. Si se requieren otros parámetros serán documentados y fuera necesrio.

  • objectIdentifier El nombre o id de un objeto, p.ej. "rootcollection", "0x873A8768 0x00000002".
  • parentIdentifier El nombre o id de un objeto que está considerado que es un padre.
  • object Una instancia de la clase HW_API_Object.
  • parameters Una instancia de la clase HW_API_Object.
  • version La versión de un objeto.
  • mode Un valor de tipo integer determina la manera en que se ejecuta una operación.
  • attributeSelector Cualquier array de cadenas, cada una conteniendo el nombre de un atributo. Se usa si recupera el registro de objetos y quiere incluir ciertos atributos.
  • objectQuery Una consulta para seleccionar ciertos objetos de una lista de objetos. Se usa para reducir el número de objetos que fueron despachados por una función como hw_api::children() o hw_api::find().

Nota:

Los métodos que devuelven un valor boolean pueden devolver TRUE, FALSE o un objeto HW_API_Error.

Tabla de contenidos

  • hw_api::checkin — Registra un objeto
  • hw_api::checkout — Verifica un objeto
  • hw_api::children — Devuelve los hijos de un objeto
  • hw_api::content — Devuelve el contenido de un objeto
  • hw_api::copy — Copia físicamente
  • hw_api::dbstat — Devuelve estadísticas sobre el servidor de base de datos
  • hw_api::dcstat — Devuelve estadísticas sobre el servidor de caché de documentos
  • hw_api::dstanchors — Devuelve una lista de todas las anclas de destino
  • hw_api::dstofsrcanchor — Devuelve el destino de un ancla fuente
  • hw_api::find — Busca objetos
  • hw_api::ftstat — Devuelve estadísticas sobre el servidor Fulltext
  • hw_api::hwstat — Devuelve estadísticas sobre el servidor Hyperwave
  • hw_api::identify — Conectarse al Servidor Hyperwave
  • hw_api::info — Devuelve información sobre la configuración del servidor
  • hw_api::insert — Inserta un objeto nuevo
  • hw_api::insertanchor — Inserta un objeto nuevo de tipo 'anchor'
  • hw_api::insertcollection — Inserta un objeto nuevo de tipo 'collection'
  • hw_api::insertdocument — Inserta un objeto nuevo de tipo 'document'
  • hw_api::link — Crea un link a un objeto
  • hw_api::lock — Bloquea un objeto
  • hw_api::move — Mueve un objeto de una colección a otra
  • hw_api::object — Recupera información de los atributos de un objeto
  • hw_api::objectbyanchor — Retorna el objeto propietario de un ancla
  • hw_api::parents — Devuelve los padres de un objeto
  • hw_api::remove — Eliminar un objeto
  • hw_api::replace — Reemplaza un objeto
  • hw_api::setcommittedversion — Consolida (commit) una versión diferente que la última versión
  • hw_api::srcanchors — Devuelve una lista de todas las anclas fuente
  • hw_api::srcsofdst — Devuelve la fuente de un objeto de destino
  • hw_api::unlock — Desbloquea un objeto bloqueado
  • hw_api::user — Devuelve el propietario de un objeto
  • hw_api::userlist — Devuelve la lista de todos los usuarios conectados
  • hw_api_attribute::key — Returns key of the attribute
  • hw_api_attribute::langdepvalue — Devuelve el valor de un atributo en un idioma determinado
  • hw_api_attribute::value — Devuelve el valor del atributo
  • hw_api_attribute::values — Devuelve todos los valores del atributo
  • hw_api_content::mimetype — Devuelve el tipo MIME
  • hw_api_content::read — Lee el contenido
  • hw_api_error::count — Devuelve el número de errores
  • hw_api_error::reason — Devuelve el primer motivo de error
  • hw_api_object::assign — Clona objeto
  • hw_api_object::attreditable — Comprueba si un atributo es editable
  • hw_api_object::count — Devuelve el número de atributos
  • hw_api_object::insert — Inserta un nuevo atributo
  • hw_api_object::remove — Elimina un atributo
  • hw_api_object::title — Devuelve el atributo title
  • hw_api_object::value — Devuelve el valor de un atributo
  • hw_api_reason::description — Devuelve la descripción de la razón
  • hw_api_reason::type — Devuelve el tipo de la razón
  • hwapi_attribute_new — Crea una instancia de la clase hw_api_attribute
  • hwapi_content_new — Crea una nueva instancia de la clase hw_api_content
  • hwapi_hgcsp — Devuelve un objeto de la clase hw_api
  • hwapi_object_new — Crea una nueva instancia de la clase hwapi_object_new
Constantes predefinidas
hw_api::checkin
API Hyperwave


Registra un objeto

Funciones de la API Hyperwave
hw_api::checkout
Funciones de la API Hyperwave
PHP Manual

hw_api::checkin

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::checkin — Registra un objeto

Descripción

bool hw_api::checkin ( array $parameter )

Esta función registra un objeto o una jerarquía entera de objetos. El array de parámetros contiene el elemento obligatorio 'objectIdentifier' y los elementos opcionales 'version', 'comment', 'mode' y 'objectQuery'. 'version' especifica la versión del objeto. Consiste en la versión mayor y menor separada por un punto. Si la versión no está definida, se incrementa la menor versión. 'mode' puede ser uno de los siguientes valores:

HW_API_CHECKIN_NORMAL
Registra y consolida el objeto. El objeto debe ser un documento.
HW_API_CHECKIN_RECURSIVE
Si el objeto a registrar es una colección, todos los hijos serán registrados recursivamente si son documentos. Si se intenta registrar una colección devolverá un error.
HW_API_CHECKIN_FORCE_VERSION_CONTROL
Registra un objeto aunque no pase el control de versiones.
HW_API_CHECKIN_REVERT_IF_NOT_CHANGED
Valida si la versión nueva es diferente de la última versión. A menos que este sea el caso, el objeto será registrado.
HW_API_CHECKIN_KEEP_TIME_MODIFIED
Conserva la fecha de modificación del objeto más reciente.
HW_API_CHECKIN_NO_AUTO_COMMIT
El objeto no se consolida automáticamente (commit) en el momento de ser registrado.

Parámetros

parameter

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • hw_api::checkout

Funciones de la API Hyperwave
hw_api::checkout
Funciones de la API Hyperwave


Verifica un objeto

hw_api::checkin
hw_api::children
Funciones de la API Hyperwave
PHP Manual

hw_api::checkout

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::checkout — Verifica un objeto

Descripción

bool hw_api::checkout ( array $parameter )

Esta función verifica un objeto o una jerarquía entera de objetos.

Parámetros

parameter

El parámetro es un array que contiene el elemento obligatorio 'objectIdentifier' y el elemento opcional 'version', 'mode' y 'objectQuery'. 'mode' puede tomar uno de los valores siguientes:

HW_API_CHECKIN_NORMAL
Verifica un objeto. El objeto debe ser un documento.
HW_API_CHECKIN_RECURSIVE
Si el objeto a verificar es una colección, todos sus hijos serán verificados recursivamente si son documentos. El intento de verificar una colección devolvería un error.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • hw_api::checkin

hw_api::checkin
hw_api::children
Funciones de la API Hyperwave


Devuelve los hijos de un objeto

hw_api::checkout
hw_api::content
Funciones de la API Hyperwave
PHP Manual

hw_api::children

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::children — Devuelve los hijos de un objeto

Descripción

array hw_api::children ( array $parameter )

Devuelve los hijos de una colección o los atributos de un documento. Los hijos pueden ser filtrados posteriormente especificando un objeto de tipo query.

Parámetros

parameter

El parámetro es un array que contiene los elementos obligatorios 'objectIdentifier' y los elementos opcionales 'attributeSelector' y 'objectQuery'.

Valores devueltos

El valor devuelto es un array de objetos del tipo HW_API_Object o HW_API_Error.

Ver también

  • hw_api::parents

hw_api::checkout
hw_api::content
Funciones de la API Hyperwave


Devuelve el contenido de un objeto

hw_api::children
hw_api::copy
Funciones de la API Hyperwave
PHP Manual

hw_api::content

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::content — Devuelve el contenido de un objeto

Descripción

HW_API_Content hw_api::content ( array $parameter )

Esta función devuelve el contenido de un documento como un objeto del tipo hw_api_content.

Parámetros

parameter

El parámetro es un array que contiene los elementos obligatorios 'objectidentifier' y los elementos opcionales 'mode'. El modo puede ser una de las constantes siguientes: HW_API_CONTENT_ALLLINKS, HW_API_CONTENT_REACHABLELINKS o HW_API_CONTENT_PLAIN.

HW_API_CONTENT_ALLLINKS significa insertar todas las anclas incluso si la destinación no es accesible.

HW_API_CONTENT_REACHABLELINKS indica a este método que inserte únicamente links accesibles y HW_API_CONTENT_PLAIN conducirá a un documento sin ningún link.

Valores devueltos

Devuelve una instancia de hw_api_content.

hw_api::children
hw_api::copy
Funciones de la API Hyperwave


Copia físicamente

hw_api::content
hw_api::dbstat
Funciones de la API Hyperwave
PHP Manual

hw_api::copy

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::copy — Copia físicamente

Descripción

hw_api_content hw_api::copy ( array $parameter )

Esta función hará una copia física incluyendo el contenido, si existe, y devolverá el nuevo objeto o un objeto de error.

Parámetros

parameter

El parámetro es un array que contiene los elementos obligatorios 'objectIdentifier' y 'destinationParentIdentifier'. El parámetro opcional es 'attributeSelector'`

Valores devueltos

Devuelve el objeto copiado.

Ver también

  • hw_api::move
  • hw_api::link

hw_api::content
hw_api::dbstat
Funciones de la API Hyperwave


Devuelve estadísticas sobre el servidor de base de datos

hw_api::copy
hw_api::dcstat
Funciones de la API Hyperwave
PHP Manual

hw_api::dbstat

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::dbstat — Devuelve estadísticas sobre el servidor de base de datos

Descripción

hw_api_object hw_api::dbstat ( array $parameter )

Devuelve estadísticas sobre el servidor de base de datos.

Parámetros

parameter

Valores devueltos

Ver también

  • hw_api::dcstat
  • hw_api::hwstat
  • hw_api::ftstat

hw_api::copy
hw_api::dcstat
Funciones de la API Hyperwave


Devuelve estadísticas sobre el servidor de caché de documentos

hw_api::dbstat
hw_api::dstanchors
Funciones de la API Hyperwave
PHP Manual

hw_api::dcstat

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::dcstat — Devuelve estadísticas sobre el servidor de caché de documentos

Descripción

hw_api_object hw_api::dcstat ( array $parameter )

Devuelve estadísticas sobre el servidor de caché de documentos.

Parámetros

parameter

Valores devueltos

Ver también

  • hw_api::dbstat
  • hw_api::hwstat
  • hw_api::ftstat

hw_api::dbstat
hw_api::dstanchors
Funciones de la API Hyperwave


Devuelve una lista de todas las anclas de destino

hw_api::dcstat
hw_api::dstofsrcanchor
Funciones de la API Hyperwave
PHP Manual

hw_api::dstanchors

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::dstanchors — Devuelve una lista de todas las anclas de destino

Descripción

array hw_api::dstanchors ( array $parameter )

Recupera todas las anclas de destino de un objeto.

Parámetros

parameter

El parámetro es un array que contiene el elemento obligatorio 'objectIdentifier' y los elementos opcionales 'attributeSelector' y 'objectQuery'.

Valores devueltos

Ver también

  • hw_api::srcanchors

hw_api::dcstat
hw_api::dstofsrcanchor
Funciones de la API Hyperwave


Devuelve el destino de un ancla fuente

hw_api::dstanchors
hw_api::find
Funciones de la API Hyperwave
PHP Manual

hw_api::dstofsrcanchor

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::dstofsrcanchor — Devuelve el destino de un ancla fuente

Descripción

hw_api_object hw_api::dstofsrcanchor ( array $parameter )

Devuelve el objeto de destino apuntado por las anclas fuente especificadas. El objeto de destino puede ser un ancla destino o un documento entero.

Parámetros

parameter

El parámetro es un array que contiene el elemento obligatorio 'objectIdentifier' y el elemento opcional 'attributeSelector'.

Valores devueltos

Ver también

  • hw_api::srcanchors
  • hw_api::dstanchors
  • hw_api::objectbyanchor

hw_api::dstanchors
hw_api::find
Funciones de la API Hyperwave


Busca objetos

hw_api::dstofsrcanchor
hw_api::ftstat
Funciones de la API Hyperwave
PHP Manual

hw_api::find

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::find — Busca objetos

Descripción

array hw_api::find ( array $parameter )

Esta función busca objetos ejecutando una clave o/y una query de texto completo. Los objetos encontrados pueden ser filtrados posteriormente por un objeto query opcional. Están ordenados según su importancia. La segunda operación de búsqueda es relativamente lenta y su resultado puede ser limitado a un número determinado de valores. Esto permite realizar una búsqueda incremental, devolviendo únicamente un subconjunto de todos los documentos encontrados, empezando desde un índice dado.

Parámetros

parameter

El parámetro es un array que contiene el 'keyquery' o/y 'fulltextquery' dependiendo de lo que se deseee buscar. Los parámetros opcionales son: 'objectquery', 'scope', 'languages' y 'attributeselector'. En el caso de una búsqueda incremental, los parámetros opcionales 'startIndex', 'numberOfObjectsToGet' y 'exactMatchUnit' pueden ser pasados.

Valores devueltos

hw_api::dstofsrcanchor
hw_api::ftstat
Funciones de la API Hyperwave


Devuelve estadísticas sobre el servidor Fulltext

hw_api::find
hw_api::hwstat
Funciones de la API Hyperwave
PHP Manual

hw_api::ftstat

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::ftstat — Devuelve estadísticas sobre el servidor Fulltext

Descripción

hw_api_object hw_api::ftstat ( array $parameter )

Devuelve estadísitcas sobre el servidor Fulltext.

Parámetros

parameter

Valores devueltos

Ver también

  • hw_api::dcstat
  • hw_api::dbstat
  • hw_api::hwstat

hw_api::find
hw_api::hwstat
Funciones de la API Hyperwave


Devuelve estadísticas sobre el servidor Hyperwave

hw_api::ftstat
hw_api::identify
Funciones de la API Hyperwave
PHP Manual

hw_api::hwstat

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::hwstat — Devuelve estadísticas sobre el servidor Hyperwave

Descripción

hw_api_object hw_api::hwstat ( array $parameter )

Devuelve estadísticas sobre el servidor Hyperwave.

Parámetros

parameter

Valores devueltos

Ver también

  • hw_api::dcstat
  • hw_api::dbstat
  • hw_api::ftstat

hw_api::ftstat
hw_api::identify
Funciones de la API Hyperwave


Conectarse al Servidor Hyperwave

hw_api::hwstat
hw_api::info
Funciones de la API Hyperwave
PHP Manual

hw_api::identify

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::identify — Conectarse al Servidor Hyperwave

Descripción

bool hw_api::identify ( array $parameter )

Conectarse al Servidor Hyperwave.

Parámetros

parameter

El parámetro es un array que debe contener los elementos 'username' y 'password'.

Valores devueltos

Devuelve un objeto de tipoHW_API_Error si la identificación falló o TRUE si se realizó con éxito.

hw_api::hwstat
hw_api::info
Funciones de la API Hyperwave


Devuelve información sobre la configuración del servidor

hw_api::identify
hw_api::insert
Funciones de la API Hyperwave
PHP Manual

hw_api::info

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::info — Devuelve información sobre la configuración del servidor

Descripción

array hw_api::info ( array $parameter )

Devuelve información sobre la configuración del servidor.

Parámetros

parameter

Valores devueltos

Ver también

  • hw_api::dcstat
  • hw_api::dbstat
  • hw_api::ftstat
  • hw_api::hwstat

hw_api::identify
hw_api::insert
Funciones de la API Hyperwave


Inserta un objeto nuevo

hw_api::info
hw_api::insertanchor
Funciones de la API Hyperwave
PHP Manual

hw_api::insert

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::insert — Inserta un objeto nuevo

Descripción

hw_api_object hw_api::insert ( array $parameter )

Inserta un objeto nuevo. El tipo del objeto puede ser "user", "group", "document" o "anchor". Dependiendo del tipo se deberán configurar otros atributos del objeto.

Parámetros

parameter

El parámetro es un array que contiene los elementos obligatorios 'object' y 'content' (si el objeto es un documento) y los parámetros opcionales 'parameters', 'mode' y 'attributeSelector'. 'object' debe contener todos los atributos del objeto. 'parameters' es un objeto a su vez, que contiene otros atributos como la destinación (atributo clave 'Parent'). 'content' es el contenido del documento. 'mode' puede ser una combinación de los siguientes señaladores:

HW_API_INSERT_NORMAL
El objeto ha sido insertado en el servidor.
HW_API_INSERT_FORCE_VERSION_CONTROL
HW_API_INSERT_AUTOMATIC_CHECKOUT
HW_API_INSERT_PLAIN
HW_API_INSERT_KEEP_TIME_MODIFIED
HW_API_INSERT_DELAY_INDEXING

Valores devueltos

Ver también

  • hw_api::replace

hw_api::info
hw_api::insertanchor
Funciones de la API Hyperwave


Inserta un objeto nuevo de tipo 'anchor'

hw_api::insert
hw_api::insertcollection
Funciones de la API Hyperwave
PHP Manual

hw_api::insertanchor

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::insertanchor — Inserta un objeto nuevo de tipo 'anchor'

Descripción

hw_api_object hw_api::insertanchor ( array $parameter )

Esta función es una abreviación de hwapi_insert(). Inserta un objeto de tipo 'anchor' y configura alguno de los atributos obligatorios para un objeto de este tipo.

Parámetros

parameter

El parámetro es un array que contiene los elementos obligatorios 'object' y 'documentIdentifier' y los elementos opcionales 'destinationIdentifier', 'parameter', 'hint' y 'attributeSelector'. El parámetro 'documentIdentifier' especifica el documento en el cual el objeto 'anchor' será insertado. El objetivo del 'anchor' se indica en 'destinationIdentifier' si ya existe. Si el objetivo no existe, el elemento 'hint' ha de tomar el valor del nombre del objeto en el cual se va a insertar posteriormente. Una vez que se ha insertado, el objetivo del 'anchor' se resuelve automáticamente.

Valores devueltos

Ver también

  • hw_api::insert
  • hw_api::insertdocument
  • hw_api::insertcollection

hw_api::insert
hw_api::insertcollection
Funciones de la API Hyperwave


Inserta un objeto nuevo de tipo 'collection'

hw_api::insertanchor
hw_api::insertdocument
Funciones de la API Hyperwave
PHP Manual

hw_api::insertcollection

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::insertcollection — Inserta un objeto nuevo de tipo 'collection'

Descripción

hw_api_object hw_api::insertcollection ( array $parameter )

Esta función es una abreviatura de hwapi_insert(). Inserta un objeto de tipo 'collection' y configura algunos de los atributos obligatorios para un objeto de este tipo.

Parámetros

parameter

El parámetro es un array que contiene los elementos obligatorios 'object' y 'parentIdentifier' y los elementos opcionales 'parameter' y 'attributeSelector'. Ver hwapi_insert() para conocer el significado de cada elemento.

Valores devueltos

Ver también

  • hw_api::insert
  • hw_api::insertdocument
  • hw_api::insertanchor

hw_api::insertanchor
hw_api::insertdocument
Funciones de la API Hyperwave


Inserta un objeto nuevo de tipo 'document'

hw_api::insertcollection
hw_api::link
Funciones de la API Hyperwave
PHP Manual

hw_api::insertdocument

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::insertdocument — Inserta un objeto nuevo de tipo 'document'

Descripción

hw_api_object hw_api::insertdocument ( array $parameter )

Esta función es una abreviatura para hwapi_insert(). Inserta un objeto con contenido y configura algunos de los atributos obligatorios para un objeto de este tipo.

Parámetros

parameter

El parámetro es un array que contiene los elementos obligatorios 'object', 'parentIdentifier' y 'content' y los elementos opcionales 'mode', 'parameter' y 'attributeSelector'.

Ver hwapi_insert() para conocer el significado de cada elemento.

Valores devueltos

Ver también

  • hw_api::insert
  • hw_api::insertcollection
  • hw_api::insertanchor

hw_api::insertcollection
hw_api::link
Funciones de la API Hyperwave


Crea un link a un objeto

hw_api::insertdocument
hw_api::lock
Funciones de la API Hyperwave
PHP Manual

hw_api::link

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::link — Crea un link a un objeto

Descripción

bool hw_api::link ( array $parameter )

Crea un link a un objeto. Acceder a este link es como acceder al objeto al que el link apunta.

Parámetros

parameter

El parámetro es un array que contiene los elementos obligatorios 'objectIdentifier' y 'destinationParentIdentifier'. 'destinationParentIdentifier' es la 'collection' de destino.

Valores devueltos

La función devuelve TRUE si ha acabado con éxito o un objeto de error en caso contrario.

Ver también

  • hw_api::copy

hw_api::insertdocument
hw_api::lock
Funciones de la API Hyperwave


Bloquea un objeto

hw_api::link
hw_api::move
Funciones de la API Hyperwave
PHP Manual

hw_api::lock

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::lock — Bloquea un objeto

Descripción

bool hw_api::lock ( array $parameter )

Bloquea un objeto para ser editado en modo exclusivo por el usuario que llama a esta función. El objeto únicamente puede desbloquearse por ese usuario o por el usuario de sistema.

Parámetros

parameter

El parámetro es un array que contiene el elemento obligatorio 'objectIdentifier' y los parámetros opcionales 'mode' y 'objectquery'.

'mode' determina cómo se bloqueará un objeto. HW_API_LOCK_NORMAL significa que un objeto se bloqueará hasta que sea desbloqueado. HW_API_LOCK_RECURSIVE sólo es válido para objetos 'collection' y bloquea todos los objetos dentro de la colección y posibles subcolecciones. HW_API_LOCK_SESSION significa que un objeto es bloqueado únicamente mientras la sesión sea válida.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • hw_api::unlock

hw_api::link
hw_api::move
Funciones de la API Hyperwave


Mueve un objeto de una colección a otra

hw_api::lock
hw_api::object
Funciones de la API Hyperwave
PHP Manual

hw_api::move

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::move — Mueve un objeto de una colección a otra

Descripción

bool hw_api::move ( array $parameter )

Mueve un objeto de una colección a otra.

Parámetros

parameter

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • hw_objrec2array() - Convertir atributos de un registro de objetos a un array de objetos

hw_api::lock
hw_api::object
Funciones de la API Hyperwave


Recupera información de los atributos de un objeto

hw_api::move
hw_api::objectbyanchor
Funciones de la API Hyperwave
PHP Manual

hw_api::object

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::object — Recupera información de los atributos de un objeto

Descripción

hw_api_object hw_api::object ( array $parameter )

Esta función recupera la información de los atributos de un objeto de cualquier versión. No devolverá el contenido del documento.

Parámetros

parameter

El parámetro es un array que contiene el elemento obligatorio 'objectIdentifier' y los elementos opcionales 'attributeSelector' y 'version'.

Valores devueltos

El objeto devuelto es una instancia de la clase HW_API_Object en caso de éxito o HW_API_Error en caso de error.

Ejemplos

Este ejemplo simple recupera un objeto y verifica si ha habido errores.

Ejemplo #1 Recupera un objeto

<?php
function handle_error($error)
{
  $reason = $error->reason(0);
  echo "Type: <b>";
  switch ($reason->type()) {
    case 0:
      echo "Error";
      break;
    case 1:
      echo "Warning";
      break;
    case 2:
      echo "Message";
      break;
  }
  echo "</b><br />\n";
  echo "Description: " . $reason->description("en") . "<br />\n";
}

function list_attr($obj)
{
  echo "<table>\n";
  $count = $obj->count();
  for ($i=0; $i<$count; $i++) {
    $attr = $obj->attribute($i);
    printf("<tr><td align=\"right\" bgcolor=\"#c0c0c0\"><b>%s</b></td><td bgcolor=\"#F0F0F0\">%s</td></tr>\n",
             $attr->key(), $attr->value());
  }
  echo "</table>\n";
}

$hwapi = hwapi_hgcsp($g_config[HOSTNAME]);
$parms = array("objectIdentifier"=>"rootcollection", "attributeSelector"=>array("Title", "Name", "DocumentType"));
$root = $hwapi->object($parms);
if (get_class($root) == "HW_API_Error") {
  handle_error($root);
  exit;
}
list_attr($root);
?>

Ver también

  • hw_api::content

hw_api::move
hw_api::objectbyanchor
Funciones de la API Hyperwave


Retorna el objeto propietario de un ancla

hw_api::object
hw_api::parents
Funciones de la API Hyperwave
PHP Manual

hw_api::objectbyanchor

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::objectbyanchor — Retorna el objeto propietario de un ancla

Descripción

hw_api_object hw_api::objectbyanchor ( array $parameter )

Esta función retorna el objeto al que pertenece el ancla especificada.

Parámetros

parameter

El parámetro array contiene el elemento obligatorio 'objectIdentifier' y el elemento opcional 'attributeSelector'.

Valores devueltos

Ver también

  • hw_api::dstofsrcanchor
  • hw_api::srcanchors
  • hw_api::dstanchors

hw_api::object
hw_api::parents
Funciones de la API Hyperwave


Devuelve los padres de un objeto

hw_api::objectbyanchor
hw_api::remove
Funciones de la API Hyperwave
PHP Manual

hw_api::parents

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::parents — Devuelve los padres de un objeto

Descripción

array hw_api::parents ( array $parameter )

Devuelve los padres de un objeto. Los padres pueden ser filtrados a posteriori especificando un objeto de tipo query.

Parámetros

parameter

El parámetro es un array que contiene el elemento obligatorio 'objectidentifier' y los elementos opcionales 'attributeselector' y 'objectquery'.

Valores devueltos

El valor devuelto es un array de objetos de tipo HW_API_Object o HW_API_Error.

Ver también

  • hw_api::children

hw_api::objectbyanchor
hw_api::remove
Funciones de la API Hyperwave


Eliminar un objeto

hw_api::parents
hw_api::replace
Funciones de la API Hyperwave
PHP Manual

hw_api::remove

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::remove — Eliminar un objeto

Descripción

bool hw_api::remove ( array $parameter )

Elimina un objeto desde un padre especificado. Las colecciones serán eliminadas recursivamente.

Parámetros

parameter

Se puede pasar un objeto opcional de tipo query para eliminar únicamente los objetos que coincidan con la query. Un objeto será eliminado físicamente si se trata de la última instancia.

El parámetro es un array que contiene los elementos obligatorios 'objectidentifier' y 'parentidentifier'. En caso de querer eliminar un usuario o grupo, 'parentidentifier' puede ser omitido.

El parámetro opcional 'mode' determina cómo se realizará la eliminación. En modo normal el objeto no será eliminado físicamente hasta que todas las instancias sean eliminadas. En modo físico todas las instancias del objeto serán eliminadas inmediatamente. En modo 'removelinks' todas las referencias hacia y desde los objetos serán eliminadas también. En modo 'nonrecursive' la eliminación no se realizará recursivamente. Eliminar una colección que no está vacía generará un error.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • hw_api::move

hw_api::parents
hw_api::replace
Funciones de la API Hyperwave


Reemplaza un objeto

hw_api::remove
hw_api::setcommittedversion
Funciones de la API Hyperwave
PHP Manual

hw_api::replace

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::replace — Reemplaza un objeto

Descripción

hw_api_object hw_api::replace ( array $parameter )

Reemplaza los atributos y el contenido de un objeto.

Parámetros

parameter

El parámetro es un array que contiene los elementos obligatorios 'objectIdentifier' y 'object', y los elementos opcionales 'content', 'parameters', 'mode' y 'attributeSelector'. 'objectIdentifier' contiene el objeto que va a ser reemplazado. 'object' contiene el nuevo objeto. 'content' contiene el nuevo contenido. 'parameters' contiene información extra para los documentos HTML. HTML_Language es la abreviación del lenguaje para el título. HTML_Base configura el atributo base del documento HTML.

'mode' puede ser una combinación de los siguientes indicadores:

HW_API_REPLACE_NORMAL
El objeto en el servidor es reemplazado por el objeto pasado.
HW_API_REPLACE_FORCE_VERSION_CONTROL
HW_API_REPLACE_AUTOMATIC_CHECKOUT
HW_API_REPLACE_AUTOMATIC_CHECKIN
HW_API_REPLACE_PLAIN
HW_API_REPLACE_REVERT_IF_NOT_CHANGED
HW_API_REPLACE_KEEP_TIME_MODIFIED

Valores devueltos

Ver también

  • hw_api::insert

hw_api::remove
hw_api::setcommittedversion
Funciones de la API Hyperwave


Consolida (commit) una versión diferente que la última versión

hw_api::replace
hw_api::srcanchors
Funciones de la API Hyperwave
PHP Manual

hw_api::setcommittedversion

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::setcommittedversion — Consolida (commit) una versión diferente que la última versión

Descripción

hw_api_object hw_api::setcommittedversion ( array $parameter )

Consolida una versión de un documento. La versión consolidada es la que es visible para los usuarios con permiso de lectura. Por defecto la última versión es la versión consolidada.

Parámetros

parameter

Valores devueltos

Ver también

  • hw_api::checkin
  • hw_api::checkout

hw_api::replace
hw_api::srcanchors
Funciones de la API Hyperwave


Devuelve una lista de todas las anclas fuente

hw_api::setcommittedversion
hw_api::srcsofdst
Funciones de la API Hyperwave
PHP Manual

hw_api::srcanchors

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::srcanchors — Devuelve una lista de todas las anclas fuente

Descripción

array hw_api::srcanchors ( array $parameter )

Devuelve todas las anclas de un objeto.

Parámetros

parameter

El parámetro es un array que contiene el elemento obligatorio 'objectIdentifier' y los elementos opcionales 'attributeSelector' y 'objectQuery'.

Valores devueltos

Ver también

  • hw_api::dstanchors

hw_api::setcommittedversion
hw_api::srcsofdst
Funciones de la API Hyperwave


Devuelve la fuente de un objeto de destino

hw_api::srcanchors
hw_api::unlock
Funciones de la API Hyperwave
PHP Manual

hw_api::srcsofdst

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::srcsofdst — Devuelve la fuente de un objeto de destino

Descripción

array hw_api::srcsofdst ( array $parameter )

Devuelve todas las anclas fuente que apuntan al objeto de destino especificado. El objeto destino puede ser un ancla destino o un documento entero.

Parámetros

parameter

El parámetro es un array que contiene el objeto obligatorio 'objectIdentifier' y los elementos opcionales 'attributeSelector' y 'objectQuery'. La función devuelve un array de objetos o un error.

Valores devueltos

Ver también

  • hw_api::dstofsrcanchor

hw_api::srcanchors
hw_api::unlock
Funciones de la API Hyperwave


Desbloquea un objeto bloqueado

hw_api::srcsofdst
hw_api::user
Funciones de la API Hyperwave
PHP Manual

hw_api::unlock

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::unlock — Desbloquea un objeto bloqueado

Descripción

bool hw_api::unlock ( array $parameter )

Desbloquea un objeto bloqueado. Sólo pueden desbloquear un objeto el usuario que ha bloqueado el objeto o el administrador del sistema.

Parámetros

parameter

El parámetro es un array que contiene el elemento obligatorio 'objectIdentifier' y los parámetros opcionales 'mode' y 'objectquery'. El significado de 'mode' es el mismo que en la función hwapi_lock().

Valores devueltos

Devuelve TRUE en caso de éxito o un objeto de clase HW_API_Error.

Ver también

  • hw_api::lock

hw_api::srcsofdst
hw_api::user
Funciones de la API Hyperwave


Devuelve el propietario de un objeto

hw_api::unlock
hw_api::userlist
Funciones de la API Hyperwave
PHP Manual

hw_api::user

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::user — Devuelve el propietario de un objeto

Descripción

hw_api_object hw_api::user ( array $parameter )

Devuelve el propietario de un objeto.

Parámetros

parameter

Valores devueltos

Ver también

  • hw_api::userlist

hw_api::unlock
hw_api::userlist
Funciones de la API Hyperwave


Devuelve la lista de todos los usuarios conectados

hw_api::user
hw_api_attribute::key
Funciones de la API Hyperwave
PHP Manual

hw_api::userlist

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::userlist — Devuelve la lista de todos los usuarios conectados

Descripción

array hw_api::userlist ( array $parameter )

Devuelve la lista de todos los usuarios conectados.

Parámetros

parameter

Valores devueltos

Ver también

  • hw_api::user

hw_api::user
hw_api_attribute::key
Funciones de la API Hyperwave


Returns key of the attribute

hw_api::userlist
hw_api_attribute::langdepvalue
Funciones de la API Hyperwave
PHP Manual

hw_api_attribute::key

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_attribute::key — Returns key of the attribute

Descripción

string hw_api_attribute::key ( void )

Devuelve el nombre del atributo.

Valores devueltos

Devuelve el nombre del atributo como una cadena.

Ver también

  • hw_api_attribute::value

hw_api::userlist
hw_api_attribute::langdepvalue
Funciones de la API Hyperwave


Devuelve el valor de un atributo en un idioma determinado

hw_api_attribute::key
hw_api_attribute::value
Funciones de la API Hyperwave
PHP Manual

hw_api_attribute::langdepvalue

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_attribute::langdepvalue — Devuelve el valor de un atributo en un idioma determinado

Descripción

string hw_api_attribute::langdepvalue ( string $language )

Devuelve el valor de un atributo en un idioma determinado.

Parámetros

language

Valores devueltos

Devuelve un string con el valor del atributo.

Ver también

  • hw_api_attribute::value

hw_api_attribute::key
hw_api_attribute::value
Funciones de la API Hyperwave


Devuelve el valor del atributo

hw_api_attribute::langdepvalue
hw_api_attribute::values
Funciones de la API Hyperwave
PHP Manual

hw_api_attribute::value

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_attribute::value — Devuelve el valor del atributo

Descripción

string hw_api_attribute::value ( void )

Devuelve el valor del atributo.

Valores devueltos

Devuelve el valor, como un string.

Ver también

  • hw_api_attribute::key
  • hw_api_attribute::values

hw_api_attribute::langdepvalue
hw_api_attribute::values
Funciones de la API Hyperwave


Devuelve todos los valores del atributo

hw_api_attribute::value
hw_api_content::mimetype
Funciones de la API Hyperwave
PHP Manual

hw_api_attribute::values

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_attribute::values — Devuelve todos los valores del atributo

Descripción

array hw_api_attribute::values ( void )

Devuelve todos los valores del atributo.

Valores devueltos

Devuelve un array de valores de atributos.

Ver también

  • hw_api_attribute::value

hw_api_attribute::value
hw_api_content::mimetype
Funciones de la API Hyperwave


Devuelve el tipo MIME

hw_api_attribute::values
hw_api_content::read
Funciones de la API Hyperwave
PHP Manual

hw_api_content::mimetype

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_content::mimetype — Devuelve el tipo MIME

Descripción

string hw_api_content::mimetype ( void )

Devuelve el tipo MIME del contenido.

Valores devueltos

Devuelve el tipo MIME como un string.

hw_api_attribute::values
hw_api_content::read
Funciones de la API Hyperwave


Lee el contenido

hw_api_content::mimetype
hw_api_error::count
Funciones de la API Hyperwave
PHP Manual

hw_api_content::read

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_content::read — Lee el contenido

Descripción

string hw_api_content::read ( string $buffer , int $len )

Lee len bytes del contenido dentro del buffer especificado.

Parámetros

buffer

len

Número de bytes a leer.

Valores devueltos

hw_api_content::mimetype
hw_api_error::count
Funciones de la API Hyperwave


Devuelve el número de errores

hw_api_content::read
hw_api_error::reason
Funciones de la API Hyperwave
PHP Manual

hw_api_error::count

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_error::count — Devuelve el número de errores

Descripción

int hw_api_error::count ( void )

Devuelve el número de errores.

Valores devueltos

Devuelve el número de errores, como un integer.

Ver también

  • hw_api_error::reason

hw_api_content::read
hw_api_error::reason
Funciones de la API Hyperwave


Devuelve el primer motivo de error

hw_api_error::count
hw_api_object::assign
Funciones de la API Hyperwave
PHP Manual

hw_api_error::reason

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_error::reason — Devuelve el primer motivo de error

Descripción

HW_API_Reason hw_api_error::reason ( void )

Devuelve el primer motivo de error.

Valores devueltos

Ver también

  • hw_api_error::count

hw_api_error::count
hw_api_object::assign
Funciones de la API Hyperwave


Clona objeto

hw_api_error::reason
hw_api_object::attreditable
Funciones de la API Hyperwave
PHP Manual

hw_api_object::assign

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object::assign — Clona objeto

Descripción

bool hw_api_object::assign ( array $parameter )

Clona los atributos de un objeto.

Parámetros

parameter

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

hw_api_error::reason
hw_api_object::attreditable
Funciones de la API Hyperwave


Comprueba si un atributo es editable

hw_api_object::assign
hw_api_object::count
Funciones de la API Hyperwave
PHP Manual

hw_api_object::attreditable

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object::attreditable — Comprueba si un atributo es editable

Descripción

bool hw_api_object::attreditable ( array $parameter )

Comprueba si un atributo es editable.

Parámetros

parameter

Valores devueltos

Devuelve TRUE si el atributo es editable, FALSE en caso contrario.

hw_api_object::assign
hw_api_object::count
Funciones de la API Hyperwave


Devuelve el número de atributos

hw_api_object::attreditable
hw_api_object::insert
Funciones de la API Hyperwave
PHP Manual

hw_api_object::count

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object::count — Devuelve el número de atributos

Descripción

int hw_api_object::count ( array $parameter )

Devuelve el número de atributos.

Parámetros

parameter

Valores devueltos

Devuelve el número como un integer.

hw_api_object::attreditable
hw_api_object::insert
Funciones de la API Hyperwave


Inserta un nuevo atributo

hw_api_object::count
hw_api_object::remove
Funciones de la API Hyperwave
PHP Manual

hw_api_object::insert

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object::insert — Inserta un nuevo atributo

Descripción

bool hw_api_object::insert ( HW_API_Attribute $attribute )

Añade un atributo a el objeto.

Parámetros

attribute

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • hw_api_object::remove

hw_api_object::count
hw_api_object::remove
Funciones de la API Hyperwave


Elimina un atributo

hw_api_object::insert
hw_api_object::title
Funciones de la API Hyperwave
PHP Manual

hw_api_object::remove

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object::remove — Elimina un atributo

Descripción

bool hw_api_object::remove ( string $name )

Elimina el atributo con el nombre dado.

Parámetros

name

El nombre del atributo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • hw_api_object::insert

hw_api_object::insert
hw_api_object::title
Funciones de la API Hyperwave


Devuelve el atributo title

hw_api_object::remove
hw_api_object::value
Funciones de la API Hyperwave
PHP Manual

hw_api_object::title

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object::title — Devuelve el atributo title

Descripción

string hw_api_object::title ( array $parameter )

Devuelve el atributo title.

Parámetros

parameter

Valores devueltos

Devuelve el title como un string.

hw_api_object::remove
hw_api_object::value
Funciones de la API Hyperwave


Devuelve el valor de un atributo

hw_api_object::title
hw_api_reason::description
Funciones de la API Hyperwave
PHP Manual

hw_api_object::value

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object::value — Devuelve el valor de un atributo

Descripción

string hw_api_object::value ( string $name )

Devuelve el valor de un atributo.

Parámetros

name

El nombre del atributo.

Valores devueltos

Devuelve el calor de el atributo con el nombre dado o FALSE Si ocurre un error.

hw_api_object::title
hw_api_reason::description
Funciones de la API Hyperwave


Devuelve la descripción de la razón

hw_api_object::value
hw_api_reason::type
Funciones de la API Hyperwave
PHP Manual

hw_api_reason::description

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_reason::description — Devuelve la descripción de la razón

Descripción

string hw_api_reason::description ( void )

Devuelve la descripción de una razón

Valores devueltos

Devuelve la descripción, como un string.

hw_api_object::value
hw_api_reason::type
Funciones de la API Hyperwave


Devuelve el tipo de la razón

hw_api_reason::description
hwapi_attribute_new
Funciones de la API Hyperwave
PHP Manual

hw_api_reason::type

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_reason::type — Devuelve el tipo de la razón

Descripción

HW_API_Reason hw_api_reason::type ( void )

Devuelve el tipo de una razón.

Valores devueltos

Devuelve una instancia de HW_API_Reason.

hw_api_reason::description
hwapi_attribute_new
Funciones de la API Hyperwave


Crea una instancia de la clase hw_api_attribute

hw_api_reason::type
hwapi_content_new
Funciones de la API Hyperwave
PHP Manual

hwapi_attribute_new

(No hay información de versión disponible, podría estar únicamente en SVN)

hwapi_attribute_new — Crea una instancia de la clase hw_api_attribute

Descripción

HW_API_Attribute hwapi_attribute_new ([ string $name [, string $value ]] )

Crea una nueva instancia de hw_api_attribute con el nombre y valor especificados.

Parámetros

name

El nombre del atributo.

value

El valor del atributo.

Valores devueltos

Devuelve una instancia de la clase hw_api_attribute.

hw_api_reason::type
hwapi_content_new
Funciones de la API Hyperwave


Crea una nueva instancia de la clase hw_api_content

hwapi_attribute_new
hwapi_hgcsp
Funciones de la API Hyperwave
PHP Manual

hwapi_content_new

(No hay información de versión disponible, podría estar únicamente en SVN)

hwapi_content_new — Crea una nueva instancia de la clase hw_api_content

Descripción

HW_API_Content hwapi_content_new ( string $content , string $mimetype )

Crea un nuevo objeto desde el string content.

Parámetros

content

mimetype

El tipo MIME del contenido.

Valores devueltos

hwapi_attribute_new
hwapi_hgcsp
Funciones de la API Hyperwave


Devuelve un objeto de la clase hw_api

hwapi_content_new
hwapi_object_new
Funciones de la API Hyperwave
PHP Manual

hwapi_hgcsp

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hwapi_hgcsp — Devuelve un objeto de la clase hw_api

Descripción

HW_API hwapi_hgcsp ( string $hostname [, int $port ] )

Abre una conexión al servidor Hyperwave en el host hostname. El protocolo que se usa es HGCSP.

Parámetros

hostname

El nombre del host.

port

Si no se pasa un número de puerto se usa 418.

Valores devueltos

Devuelve una instancia de HW_API.

hwapi_content_new
hwapi_object_new
Funciones de la API Hyperwave


Crea una nueva instancia de la clase hwapi_object_new

hwapi_hgcsp
Java
Funciones de la API Hyperwave
PHP Manual

hwapi_object_new

(No hay información de versión disponible, podría estar únicamente en SVN)

hwapi_object_new — Crea una nueva instancia de la clase hwapi_object_new

Descripción

hw_api_object hwapi_object_new ( array $parameter )

Crea una nueva instancia de la clase hw_api_object.

Parámetros

parameter

Valores devueltos

Ver también

  • hw_api::lock

hwapi_hgcsp
Java
Funciones de la API Hyperwave


Integración PHP / Java

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • SAPI de Servlet de Java
  • Ejemplos
    • Uso básico
  • Funciones de Java
    • java_last_exception_clear — Borrar la última excepción de Java
    • java_last_exception_get — Obtener la última excepción de Java
hwapi_object_new
Introducción
Otros servicios


Introducción

Hay dos maneras posibles de enlazar PHP y Java: puede integrar PHP en un entorno de Servlet de Java, la cuál es una solución más estble y eficiente, o integrar el soporte para Java en PHP. El primero es proporcionado por un módulo SAPI que crea una interfaz con el servidor Servlet, el último es proporcionado por esta extensión de Java.

La extensión de Java proporciona unos medios simples y efectivos para crear e invocar métodos de objetos Java desde PHP. La JVM se crea usando JNI, y todo se ejecuta en proceso.

Advertencia

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombres de sus funciones y todo lo documentado sobre esta extensión, puede cambiar en una futura edición de PHP sin previo aviso. El uso de esta extensión queda bajo su propia responsabilidad.

Java
Instalación/Configuración
Java


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Java


Requerimientos

Se necesita una Máquina Virtual Java instalada en su máquina para usar esta extensión.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión se considera no mantenida y muerta. Sin embargo, el código fuente para esta extensión sigue estando disponible dentro de PECL SVN aquí: » http://svn.php.net/viewvc/pecl/java.

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.0.0

Nota: Notas específicas de PHP 4

En PHP 4 el código fuente de estas extensiones PECL puede ser encontrado en el directorio ext/ dentro del código fuente de PHP o a través del anterior enlace a PECL. Para usar estas funciones se debe compilar PHP con el soporte para Java usando --with-java[=DIR] donde DIR apunta al directorio de instalación base de su JDK. Esta extensión sólo puede ser construida como una extensión compartida. Instrucciones de construcción adicional se pueden encontrar en php-src/ext/java/README.

Los usuarios de Windows habilitarán php_java.dll dentro de php.ini para usar estas funciones. En PHP 4 esta DLL reside en el directorio extensions/ dentro de la descarga de los binarios de PHP para Windows.

Para habilitar este módulo en un entorno Windows con PHP <= 4.0.6, jvm.dll debe de estar disponible en la variable PATH de su sistema. No se necesitan DLL adicionales para versiones de PHP > 4.0.6.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de Java
Nombre | Por defecto | Cambiable | Historial de cambios
java.class.path | NULL | PHP_INI_ALL |
java.home | NULL | PHP_INI_ALL |
java.library.path | NULL | PHP_INI_ALL |
java.library | JAVALIB | PHP_INI_ALL |
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
SAPI de Servlet de Java
Java


SAPI de Servlet de Java

La SAPI de Servlet de Java se construye sobre el mecanismo definido por la extensión Java para habilitar el procesador completo de PHP para ejecutarse como un servlet. La principal ventaja de esto desde una perspectiva de PHP es que los servidores web que soportan servlets normalmente toman mucho cuidado en combinar y reusar JVM. Las instrucciones para la construcción del módulo de la SAPI de Servlet se puede encontrar en php4/sapi/README. Notas:

  • Mientras que este código está pensado para ser capaz de ejecutar cualquier motor servlet, sólo ha sido probado en Jakarta/tomcat de Apache hasta la fecha. Los informes de errores, artículos exitosos y/o parches requeridos para que este código se ejecute en otros motores se agradecerán.
  • PHP tiene una costumbre de cambiar el directorio de trabajo. sapi/servlet volverá a cambiar eventualmente, pero mientras que PHP está ejecutando el motor del servlet no podrá ser capaz de cargar ninguna clase desde la variable CLASSPATH que esté especificada usando una sintaxis de directorios relativos, o encontrar el directorio de trabajo usado para las tareas de administración y compilación de JSP.

Constantes predefinidas
Ejemplos
Java


Ejemplos

Tabla de contenidos

  • Uso básico
SAPI de Servlet de Java
Uso básico
Java


Uso básico

Ejemplo #1 Ejemplo de Java

<?php
// obtener una instancia de la clase de Java java.lang.System en PHP
$system = new Java('java.lang.System');

// demostrar el acceso a las propiedades
echo 'Versión de Java=' . $system->getProperty('java.version') . '<br />';
echo 'Vendedor de Java=' . $system->getProperty('java.vendor') . '<br />';
echo 'SO=' . $system->getProperty('os.name') . ' ' .
             $system->getProperty('os.version') . ' on ' .
             $system->getProperty('os.arch') . ' <br />';

// ejemplo de java.util.Date
$formatter = new Java('java.text.SimpleDateFormat',
                      "EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz");

echo $formatter->format(new Java('java.util.Date'));
?>

Ejemplo #2 Ejemplo de AWT

<?php
// Este ejemplo sólo está pensado para ejecutarse usando CLI.

$frame  = new Java('java.awt.Frame', 'PHP');
$button = new Java('java.awt.Button', '¡Hola Mundo Java!');

$frame->add('North', $button);
$frame->validate();
$frame->pack();
$frame->visible = True;

$thread = new Java('java.lang.Thread');
$thread->sleep(10000);

$frame->dispose();
?>
Notas:
  • new Java() creará una instancia de una clase si está disponible un constructor apropiado. Si no se pasan parámetros y el constructor predeterminado es útil ya que proporciona acceso a clases como java.lang.System la cuál expone la mayoría de sus funcionalidades a través de métodos estáticos.
  • Al acceder a un miembro de una instancia se mirará primero por propiedades bean y después por campos públicos. En otras palabras, print $date.time primero intentará ser resuelto como $date.getTime(), después como $date.time.
  • Los miembros estáticos y las instancias se pueden acceder en un objeto con la misma sintaxis. Además, si el objeto java es del tipo java.lang.Class, se puede acceder a los miembros estáticos de la clase (campos y métodos).

  • El lanzamiento de excepciones resulta en advertencias en PHP, y resultados NULL. Las advertencias se pueden eliminar prefijando la llamada al método con un signo "@". Las siguientes API se pueden usar para recuperar y reiniciar el último error:

    • java_last_exception_get()
    • java_last_exception_clear()

  • La resolución de sobrecarga es, en general, un problema grave dadas las diferencias de tipos entre dos lenguajes. La extensión Java de PHP emplea una sencilla, pero muy efectiva, métrica para determinar qué sobrecarga es la que mejor coincide. Además, los nombres de los métodos en PHP no son sensibles a mayúsculas-minúsculas, incrementando potencialmente el número de sobrecargas a seleccionar. Una vez que un método es seleccionado, los parámetros son coaccionados si es necesario, posiblemente con una pérdida de infomarción (ejemplo: los números de coma flotante de precisión doble serán convertidos a booleanos).
  • En la tradición de PHP, las matrices y tablas hash se pueden usar intercambiablemente. Observe que las tablas hash en PHP sólo pueden ser indexadas por enteros o cadenas; y que las matrices de tipos primitivos en Java no se puede interpolar. También observe que estos constructores son pasados por valor, por lo que puede ser caro en términos de memoria y tiempo.

Ejemplos
Funciones de Java
Ejemplos


Funciones de Java

Tabla de contenidos

  • java_last_exception_clear — Borrar la última excepción de Java
  • java_last_exception_get — Obtener la última excepción de Java
Uso básico
java_last_exception_clear
Java


Borrar la última excepción de Java

Funciones de Java
java_last_exception_get
Funciones de Java
PHP Manual

java_last_exception_clear

(PHP 4 >= 4.0.2)

java_last_exception_clear — Borrar la última excepción de Java

Descripción

void java_last_exception_clear ( void )

Borra la última excepción de Java.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Véase java_last_exception_get() para un ejemplo.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Funciones de Java
java_last_exception_get
Funciones de Java


Obtener la última excepción de Java

java_last_exception_clear
LDAP
Funciones de Java
PHP Manual

java_last_exception_get

(PHP 4 >= 4.0.2)

java_last_exception_get — Obtener la última excepción de Java

Descripción

object java_last_exception_get ( void )

Obtiene la última excepción de Java.

Valores devueltos

Devuelve un objeto de excepción.

Ejemplos

El siguiente ejemplo muestra el uso del gestor de excepciones de Java desde dentro de PHP:

Ejemplo #1 Gestor de excepciones de Java

<?php
$pila = new Java('java.util.Stack');
$pila->push(1);

// Esto debería suceder
$resultado = $pila->pop();
$ex = java_last_exception_get();
if (!$ex) {
  echo "$resultado\n";
}

// Esto debería fallar (error suprimido por @)
$resultado = @$pila->pop();
$ex = java_last_exception_get();
if ($ex) {
  echo $ex->toString();
}

// Borrar la última excepción
java_last_exception_clear();
?>

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

java_last_exception_clear
LDAP
Funciones de Java


Protocolo Ligero de Acceso a Directorios

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Utilizando las llamadas PHP LDAPs
  • Ejemplos
    • Uso básico
  • LDAP Funciones
    • ldap_8859_to_t61 — Traducir caracteres 8859 a caracteres t61
    • ldap_add — Agregar entradas al directorio de LDAP
    • ldap_bind — Realiza la autenticación con un servidor LDAP
    • ldap_close — Alias de ldap_unbind
    • ldap_compare — Comparar el valor del atributo encontrado en la entrada que se especificó con un DN
    • ldap_connect — Abre una conexión a un servidor LDAP
    • ldap_control_paged_result_response — Retrieve the LDAP pagination cookie
    • ldap_control_paged_result — Send LDAP pagination control
    • ldap_count_entries — Contar el número de entradas en una búsqueda
    • ldap_delete — Eliminar una entrada de un directorio
    • ldap_dn2ufn — Convertir un DN a un formato de nombramiento amigable al usuario
    • ldap_err2str — Convertir un número de error de LDAP a una cadena con un mensaje de error
    • ldap_errno — Devuelve el número de error LDAP del último comando LDAP
    • ldap_error — Devuelve el mensaje de error de LDAP del último comando LDAP
    • ldap_explode_dn — Divide un DN en sus partes componentes
    • ldap_first_attribute — Devolver el primer atributo
    • ldap_first_entry — Devolver el primer resultado de identificación
    • ldap_first_reference — Devolver la primera referencia
    • ldap_free_result — Liberar la memoria de resultado
    • ldap_get_attributes — Obtener atributos de una entrada de búsqueda de resultados
    • ldap_get_dn — Get the DN of a result entry
    • ldap_get_entries — Obtener todas las entradas de los resultados
    • ldap_get_option — Obtener el valor actual para la opción dada
    • ldap_get_values_len — Obtener todos los valores binarios desde una entrada de resultados
    • ldap_get_values — Obtener todos los valores de una entrada de resultados
    • ldap_list — Búsqueda de un solo nivel
    • ldap_mod_add — Agregar valores de atributo a los atributos actuales
    • ldap_mod_del — Borrar valores de atributo de los atributos actuales
    • ldap_mod_replace — Reemplazar valores de atributos con valores nuevos
    • ldap_modify — Modificar una entrada de LDAP
    • ldap_next_attribute — Obtener el siguiente atributo en un resultado
    • ldap_next_entry — Obtener el siguiente resultado de entrada
    • ldap_next_reference — Obtener la siguiente referencia
    • ldap_parse_reference — Extraer información de la entrada de referencia
    • ldap_parse_result — Extraer información del resultado
    • ldap_read — Leer una entrada
    • ldap_rename — Modificar el nombre de una entrada
    • ldap_sasl_bind — Unirse a un directorio LDAP utilizando SASL
    • ldap_search — Buscar el árbol LDAP
    • ldap_set_option — Establecer el valor de la opción proporcionada
    • ldap_set_rebind_proc — Establece una función de devolución de llamada para realizar revinculaciones en el rastreo referencial
    • ldap_sort — Clasificar entradas de resultados de LDAP
    • ldap_start_tls — Inciar TLS
    • ldap_t61_to_8859 — Traduce del conjunto de caracteres t61 al conjunto de caracteres 8859
    • ldap_unbind — Desenlazar de directorio LDAP
java_last_exception_get
Introducción
Otros servicios


Introducción

El Protocolo Ligero de Acceso a Directorios (LDAP, por sus siglas en inglés), se utiliza para acceder a "Servidores de Directorio". Un Directorio es un tipo especial de base de datos que mantiene información en una estructura de árbol.

El concepto es similar a la estructura de directorios de un disco duro, excepto que, en este contexto, el directorio raíz es "El mundo" y el primer nivel de subdirectorios son los "países". Los niveles más bajos de la estructura de directorios contienen entradas para compañías, organizaciones o lugares, y aún en los niveles más bajos encontraremos entradas de directorio para personas, y tal vez, para equipamiento o documentos.

Para refererirse a un fichero en un subdirectorio del disco duro, se podría utilizar algo como:

   /usr/local/myapp/docs

Las barras hacia delante marcan cada división de la referencia, y la secuencia se lee de izquierda a derecha.

En LDAP, el equivalente a la referencia de un fichero completamente cualificado es el "nombre distinguido", conocido simplemente como "dn" (por las iniciales en inglés de 'distinguished name'). Un ejemplo de dn podría ser:

   cn=John Smith,ou=Accounts,o=My Company,c=US

La coma marca cada división de la referencia, y la secuencia se lee de derecha a izquierda. Se podría leer este dn como:

   country = US
   organization = My Company
   organizationalUnit = Accounts
   commonName = John Smith

De la misma manera que no existen reglas fijas sobre cómo organizar la estructura de directorios de un disco duro, un administrador del servidor de directorios puede establecer cualquier estructura que sea de utilidad para el propósito que se utilice. Sin embargo, hay algunas convenciones que deben usarse. El mensaje es que no se puede escribir código para acceder a un servidor de directorios a menos que se sepa algo sobre su estructura; nadie más que el creador de la base de datos puede utilizar la misma sin tener algún conocimiento de qué es lo que está disponible.

Se puede encontrar mucha información sobre LDAP en

  • » Mozilla

  • » Proyecto OpenLDAP

El SDK de Netscape contiene una útil » Guía del Programador en formato HTML.

LDAP
Instalación/Configuración
LDAP


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
LDAP


Requerimientos

Necesitará obtener y compilar las librerías clientes LDAP ya sea desde » OpenLDAP o » Bind9.net para compilar PHP con soporte LDAP.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

El soporte para LDAP en PHP no está habilitado de forma predeterminada. Necesitará utilizar la opción de configuración --with-ldap[=DIR] cuando esté compilando PHP para habilitar el soporte de LDAP. DIR es la base del directorio de instalación de LDAP. Para habilitar el soporte SASL, asegúrese que la opción --with-ldap-sasl[=DIR] sea utilizada, y que sasl.h exista en el sistema.

Nota: Nota para los usuarios de Win32

Para que esta extensión funcione, hay unos ficheros DLL que deben estar disponibles en el sistema de Windows PATH. Para más información en como hacer esto, vea la FAQ titulada "Como añadir mi directorio PHP en el PATH de Windows". Aunque copiar los ficheros DLL desde el directorio PHP al directorio del sistema de Windows también funciona (porque el directorio del sistema por defecto es el PATH del sistema), esto no se recomienda. Esta extensión requiere que los siguientes ficheros esten en el PATH: libeay32.dll y ssleay32.dll

Las versiones anteriores de PHP 4.3.0 requieren adicionalmente libsasl.dll.

Para utilizar adecuadamente las librerías LDAP, el entorno de Oracle tiene que ser configurados.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de LDAP
Nombre | Por defecto | Cambiable | Historial de cambios
ldap.max_links | "-1" | PHP_INI_SYSTEM |
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

ldap.max_links integer

El número máximo de conexiones LDAP por proceso.

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

La mayoría de funciones LDAP operan o devuelven recursos (por ejemplo, ldap_connect() devuelve un enlace identificador LDAP positivo que es requerido por la mayoría de funciones LDAP).

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

LDAP_DEREF_NEVER (integer)
LDAP_DEREF_SEARCHING (integer)
LDAP_DEREF_FINDING (integer)
LDAP_DEREF_ALWAYS (integer)
LDAP_OPT_DEREF (integer)
Especifica reglas alternativas para el seguimiento de aliases en el servidor.
LDAP_OPT_SIZELIMIT (integer)

Especifica el número máximo de entradas que pueden ser devueltas en una operación de búsqueda.

Nota: El límite de tamaño actual de las operaciones también está delimitado por el número máximo de entradas de retorno configuradas en el servidor. El menor de estos dos valores es el límite de tamaño actual.

LDAP_OPT_TIMELIMIT (integer)
Especifica el número de segundos de espera para la búsqueda de resultados.

Nota: El límite de tiempo para las operaciones también está delimitado por el tiempo máximo configurado en el servidor. El menor de estos dos valores es el límite de tiempo actual.

LDAP_OPT_NETWORK_TIMEOUT (integer)
Opción para ldap_set_option() que permite ajustar el tiempo de espera de la red. (Disponible a partir de PHP 5.3.0)
LDAP_OPT_PROTOCOL_VERSION (integer)
Especifica el protocolo LDAP a ser utilizado (V2 ó V3).
LDAP_OPT_ERROR_NUMBER (integer)
LDAP_OPT_REFERRALS (integer)
Especifica si se deben seguir automáticamente las referencias devueltas por el servidor LDAP.
LDAP_OPT_RESTART (integer)
LDAP_OPT_HOST_NAME (integer)
LDAP_OPT_ERROR_STRING (integer)
LDAP_OPT_MATCHED_DN (integer)
LDAP_OPT_SERVER_CONTROLS (integer)
Especifica una lista predeterminada de controles de servidor que se envía con cada solicitud.
LDAP_OPT_CLIENT_CONTROLS (integer)
Especifica una lista predeterminada de controles de cliente a ser procesada con cada solicitud.
LDAP_OPT_DEBUG_LEVEL (integer)
Especifica un nivel de bit por bit para depurar trazas.
GSLC_SSL_NO_AUTH (integer)
GSLC_SSL_ONEWAY_AUTH (integer)
GSLC_SSL_TWOWAY_AUTH (integer)
Tipos de recursos
Utilizando las llamadas PHP LDAPs
LDAP


Utilizando las llamadas PHP LDAPs

Antes de que pueda utilizar las llamadas LDAP necesitará saber ...

  • El nombre o dirección del servidor de directorio que utilizará

  • El "dn base" del servidor (la parte del directorio del mundo que es mantenida en este servidor, la que podría ser "o=Mi Compañía,c=US")

  • Puede ser que necesite una contraseña para acceder al servidor (muchos servidores le proveerán acceso de lectura para una "vinculación anónima" pero requieren una contraseña para cualquier otra cosa)

La secuencia típica de llamadas LDAP que hará en una aplicación va a seguir este patrón:

  ldap_connect()    // Establecer una conexión al servidor
     |
  ldap_bind()       // Una "entrada" anónima o autenticada
     |
  Realizar algo como una búsqueda o actualizar el directorio
  y mostrar los resultados
     |
  ldap_close()      // "Cerrar la sesión"

Constantes predefinidas
Ejemplos
LDAP


Ejemplos

Tabla de contenidos

  • Uso básico
Utilizando las llamadas PHP LDAPs
Uso básico
LDAP


Uso básico

Recuperar información para todas las entradas donde el apellido inicia con "S" desde un servidor de directorio, mostrando un extracto con el nombre y la dirección de correo electrónico.

Ejemplo #1 Ejemplo de búsqueda LDAP

<?php
// La secuencia básica con LDAP es conectar, amarrar, buscar, interpretar el resultado
// de la búsqueda, y cerrar la conexión.

echo "<h3>Consulta de prueba LDAP</h3>";
echo "Conectando ...";
$ds=ldap_connect("localhost");  // Debe ser un servidor LDAP válido!
echo "El resultado de la conexión es " . $ds . "<br />";

if ($ds) {
    echo "Vinculando ...";
    $r=ldap_bind($ds);     // Esta es una vinculación "anónima", tipicamente
                           // con acceso de sólo lectura.
    echo "El resultado de la vinculación es " . $r . "<br />";

    echo "Buscando (sn=S*) ...";
    // Busca la entrada de apellidos
    $sr=ldap_search($ds, "o=My Company, c=US", "sn=S*");
    echo "El resultado de la búsqueda es " . $sr . "<br />";

    echo "El número de entradas devueltas es " . ldap_count_entries($ds, $sr) . "<br />";

    echo "Obteniendo entradas ...<p>";
    $info = ldap_get_entries($ds, $sr);
    echo "Los datos para " . $info["count"] . " objetos devueltos:<p>";

    for ($i=0; $i<$info["count"]; $i++) {
        echo "El dn es: " . $info[$i]["dn"] . "<br />";
        echo "La primera entrada cn es: " . $info[$i]["cn"][0] . "<br />";
        echo "La primera entrada de correo electrónico es: " . $info[$i]["mail"][0] . "<br /><hr />";
    }

    echo "Cerando la conexión";
    ldap_close($ds);

} else {
    echo "<h4>No se puede conectar al servidor LDAP</h4>";
}
?>
Ejemplos
LDAP Funciones
Ejemplos


LDAP Funciones

Tabla de contenidos

  • ldap_8859_to_t61 — Traducir caracteres 8859 a caracteres t61
  • ldap_add — Agregar entradas al directorio de LDAP
  • ldap_bind — Realiza la autenticación con un servidor LDAP
  • ldap_close — Alias de ldap_unbind
  • ldap_compare — Comparar el valor del atributo encontrado en la entrada que se especificó con un DN
  • ldap_connect — Abre una conexión a un servidor LDAP
  • ldap_control_paged_result_response — Retrieve the LDAP pagination cookie
  • ldap_control_paged_result — Send LDAP pagination control
  • ldap_count_entries — Contar el número de entradas en una búsqueda
  • ldap_delete — Eliminar una entrada de un directorio
  • ldap_dn2ufn — Convertir un DN a un formato de nombramiento amigable al usuario
  • ldap_err2str — Convertir un número de error de LDAP a una cadena con un mensaje de error
  • ldap_errno — Devuelve el número de error LDAP del último comando LDAP
  • ldap_error — Devuelve el mensaje de error de LDAP del último comando LDAP
  • ldap_explode_dn — Divide un DN en sus partes componentes
  • ldap_first_attribute — Devolver el primer atributo
  • ldap_first_entry — Devolver el primer resultado de identificación
  • ldap_first_reference — Devolver la primera referencia
  • ldap_free_result — Liberar la memoria de resultado
  • ldap_get_attributes — Obtener atributos de una entrada de búsqueda de resultados
  • ldap_get_dn — Get the DN of a result entry
  • ldap_get_entries — Obtener todas las entradas de los resultados
  • ldap_get_option — Obtener el valor actual para la opción dada
  • ldap_get_values_len — Obtener todos los valores binarios desde una entrada de resultados
  • ldap_get_values — Obtener todos los valores de una entrada de resultados
  • ldap_list — Búsqueda de un solo nivel
  • ldap_mod_add — Agregar valores de atributo a los atributos actuales
  • ldap_mod_del — Borrar valores de atributo de los atributos actuales
  • ldap_mod_replace — Reemplazar valores de atributos con valores nuevos
  • ldap_modify — Modificar una entrada de LDAP
  • ldap_next_attribute — Obtener el siguiente atributo en un resultado
  • ldap_next_entry — Obtener el siguiente resultado de entrada
  • ldap_next_reference — Obtener la siguiente referencia
  • ldap_parse_reference — Extraer información de la entrada de referencia
  • ldap_parse_result — Extraer información del resultado
  • ldap_read — Leer una entrada
  • ldap_rename — Modificar el nombre de una entrada
  • ldap_sasl_bind — Unirse a un directorio LDAP utilizando SASL
  • ldap_search — Buscar el árbol LDAP
  • ldap_set_option — Establecer el valor de la opción proporcionada
  • ldap_set_rebind_proc — Establece una función de devolución de llamada para realizar revinculaciones en el rastreo referencial
  • ldap_sort — Clasificar entradas de resultados de LDAP
  • ldap_start_tls — Inciar TLS
  • ldap_t61_to_8859 — Traduce del conjunto de caracteres t61 al conjunto de caracteres 8859
  • ldap_unbind — Desenlazar de directorio LDAP
Uso básico
ldap_8859_to_t61
LDAP


Traducir caracteres 8859 a caracteres t61

LDAP Funciones
ldap_add
LDAP Funciones
PHP Manual

ldap_8859_to_t61

(PHP 4 >= 4.0.2, PHP 5)

ldap_8859_to_t61 — Traducir caracteres 8859 a caracteres t61

Descripción

string ldap_8859_to_t61 ( string $value )

Traducir caracteres ISO-8859 a caracteres t61.

Esta función es útil si tienes que hablarle a un legado de servidor LDAPv2.

Parámetros

value

El texto a ser traducido.

Valores devueltos

Devuelve la traducción t61 de el value.

Ver también

  • ldap_t61_to_8859() - Traduce del conjunto de caracteres t61 al conjunto de caracteres 8859

LDAP Funciones
ldap_add
LDAP Funciones


Agregar entradas al directorio de LDAP

ldap_8859_to_t61
ldap_bind
LDAP Funciones
PHP Manual

ldap_add

(PHP 4, PHP 5)

ldap_add — Agregar entradas al directorio de LDAP

Descripción

bool ldap_add ( resource $link_identifier , string $dn , array $entry )

Agregar entradas en el directorio de LDAP.

Parámetros

link_identifier

Un identificador de enlace de LDAP, devuelto por ldap_connect().

dn

El nombre distinguido de una entidad de LDAP.

entry

Un array que especifica la información acerca de la entrada. Los valores en las entradas están indexados por atributos individuales. En el caso de valores múltiples para un atributo, estos se indexan utilizando números enteros comenzando desde 0.

<?php
$entree["attribut1"] = "valor";
$entree["attribut2"][0] = "valor1";
$entree["attribut2"][1] = "valor2";
?>

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo completo con autenticación

<?php
$ds = ldap_connect("localhost");  // Asumiendo que el servidor de LDAP está en el mismo host

if ($ds) {
    // Asociar con el dn apropiado para dar acceso de actualización
    $r = ldap_bind($ds, "cn=root, o=My Company, c=US", "secret");

    // Preparar los datos
    $info["cn"] = "John Jones";
    $info["sn"] = "Jones";
    $info["mail"] = "jonj@example.com";
    $info["objectclass"] = "person";

    // Agregar datos al directorio
    $r = ldap_add($ds, "cn=John Jones, o=My Company, c=US", $info);

    ldap_close($ds);
} else {
    echo "No se pudo conectar al servidor LDAP";
}
?>

Notas

Nota: Esta función es segura binariamente.

Ver también

  • ldap_delete() - Eliminar una entrada de un directorio

ldap_8859_to_t61
ldap_bind
LDAP Funciones


Realiza la autenticación con un servidor LDAP

ldap_add
ldap_close
LDAP Funciones
PHP Manual

ldap_bind

(PHP 4, PHP 5)

ldap_bind — Realiza la autenticación con un servidor LDAP

Descripción

bool ldap_bind ( resource $link_identifier [, string $bind_rdn = NULL [, string $bind_password = NULL ]] )

Autentica contra un servidor LDAP tomando un RDN y contraseña especificados.

Parámetros

link_identifier

El identificador de enlace LDAP, devuelto por la función ldap_connect().

bind_rdn

bind_password

Si los parámetros bind_rdn y bind_password no son especificados, se intentará autenticar en forma anónima.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de autenticación

<?php

// ejemplo de autenticación
$ldaprdn  = 'uname';     // ldap rdn or dn
$ldappass = 'password';  // associated password

// conexión al servidor LDAP
$ldapconn = ldap_connect("ldap.example.com")
    or die("Could not connect to LDAP server.");

if ($ldapconn) {

    // realizando la autenticación
    $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);

    // verificación del enlace
    if ($ldapbind) {
        echo "LDAP bind successful...";
    } else {
        echo "LDAP bind failed...";
    }

}

?>

Ejemplo #2 Ejemplo de autenticación anónima

<?php

// Ejemplo de autenticación anónima

// conexión al servidor LDAP
$ldapconn = ldap_connect("ldap.example.com")
    or die("Could not connect to LDAP server.");

if ($ldapconn) {

    // autenticación anónima
    $ldapbind = ldap_bind($ldapconn);

    if ($ldapbind) {
        echo "LDAP bind anonymous successful...";
    } else {
        echo "LDAP bind anonymous failed...";
    }

}

?>

Ver también

  • ldap_unbind() - Desenlazar de directorio LDAP

ldap_add
ldap_close
LDAP Funciones


Alias de ldap_unbind

ldap_bind
ldap_compare
LDAP Funciones
PHP Manual

ldap_close

(PHP 4, PHP 5)

ldap_close — Alias de ldap_unbind()

Descripción

Esta función es un alias de: ldap_unbind().

ldap_bind
ldap_compare
LDAP Funciones


Comparar el valor del atributo encontrado en la entrada que se especificó con un DN

ldap_close
ldap_connect
LDAP Funciones
PHP Manual

ldap_compare

(PHP 4 >= 4.0.2, PHP 5)

ldap_compare — Comparar el valor del atributo encontrado en la entrada que se especificó con un DN

Descripción

mixed ldap_compare ( resource $link_identifier , string $dn , string $attribute , string $value )

Comparar el value del attribute con el valor del mismo atributo en una entrada del directorio de LDAP.

Parámetros

link_identifier

Un enlace identificador de LDAP, devuelto por ldap_connect().

dn

El nombre distinguido de una entidad de LDAP.

attribute

El nombre del atributo.

value

El valor comparado.

Valores devueltos

Devuelve TRUE si value es similar de otra forma devuelve FALSE. Devuelve -1 en caso de error.

Ejemplos

El siguiente ejemplo demuestra como revisar si una contraseña proporcionada es igual o no a la que está definida en una entrada DN específica.

Ejemplo #1 Ejemplo completo de revisión de contraseña

<?php

$ds=ldap_connect("localhost");  // Asumiendo que el servidor de LDAP está en este mismo ordenador

if ($ds) {

    // enlazar
    if (ldap_bind($ds)) {

        // preparar los datos
        $dn = "cn=Matti Meikku, ou=Mi Departamento, o=Mi Compañía, c=FI";
        $value = "contraseñasecreta";
        $attr = "contraseña";

        // comparar el valor
        $r=ldap_compare($ds, $dn, $attr, $value);

        if ($r === -1) {
            echo "Error: " . ldap_error($ds);
        } elseif ($r === true) {
            echo "Contraseña correcta.";
        } elseif ($r === false) {
            echo "Supongo que falló! Contraseña incorrecta.";
        }

    } else {
        echo "No se puede enlazar al servidor de LDAP.";
    }

    ldap_close($ds);

} else {
    echo "No se puede conectar al servidor de LDAP.";
}
?>

Notas

Advertencia

ldap_compare() NO puede ser utilizado para comparar valores BINARIOS!

ldap_close
ldap_connect
LDAP Funciones


Abre una conexión a un servidor LDAP

ldap_compare
ldap_control_paged_result_response
LDAP Funciones
PHP Manual

ldap_connect

(PHP 4, PHP 5)

ldap_connect — Abre una conexión a un servidor LDAP

Descripción

resource ldap_connect ([ string $hostname = NULL [, int $port = 389 ]] )

Establece una conexión con un servidor LDAP en un determinado hostname and port.

Parámetros

hostname

Si se está usando OpenLDAP 2.x.x se puede especificar una URL en lugar del host. Para usar LDAP con SSL, se debe compilar OpenLDAP 2.x.x con soporte para SSL, configurar PHP con SSL y colocar este parámetro como ldaps://hostname/.

port

El puerto al cual debe conectarse. No se usa cuando se está usando URLs.

Valores devueltos

Devuelve un identificador de enlace al LDAP en caso de éxito o FALSE en caso de error. Cuando se está usando OpenLDAP 2.x.x, ldap_connect() devolverá siempre un resource que no es la conexión en sí sino solo inicialización de los parámetros de conexión. La conexión real se realizará en la siguiente llamada a las funciones ldap_*, por lo general ldap_bind().

Si no se especificaron parámetros, será retornado el identificador de enlace de la conexión activa.

Historial de cambios

Versión | Descripción
4.0.4 | Se agregó soporte para URL y SSL.

Ejemplos

Ejemplo #1 Ejemplo de conexión a un servidor LDAP.

<?php

// Variables del servidor LDAP
$ldaphost = "ldap.example.com";  // servidor LDAP
$ldapport = 389;                 // puerto del servidor LDAP

// Conexión al servidor LDAP
$ldapconn = ldap_connect($ldaphost, $ldapport)
          or die("Could not connect to $ldaphost");

?>

Ejemplo #2 Ejemplo de conexión segura a un servidor LDAP.

<?php

// Asegúrese de que el host sea el que fue publicado
// con su certificado
$ldaphost = "ldaps://ldap.example.com/";

// Conexión al servidor LDAP
$ldapconn = ldap_connect($ldaphost)
          or die("Could not connect to {$ldaphost}");

?>

Ver también

  • ldap_bind() - Realiza la autenticación con un servidor LDAP

ldap_compare
ldap_control_paged_result_response
LDAP Funciones


Retrieve the LDAP pagination cookie

ldap_connect
ldap_control_paged_result
LDAP Funciones
PHP Manual

ldap_control_paged_result_response

(PHP 5 >= 5.4.0)

ldap_control_paged_result_response — Retrieve the LDAP pagination cookie

Descripción

bool ldap_control_paged_result_response ( resource $link , resource $result [, string &$cookie [, int &$estimated ]] )

Retrieve the pagination information send by the server.

Parámetros

link

An LDAP link identifier, returned by ldap_connect().

result

cookie

An opaque structure sent by the server.

estimated

The estimated number of entries to retrieve.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ldap_control_paged_result() - Send LDAP pagination control
  • » RFC2696 : LDAP Control Extension for Simple Paged Results Manipulation

ldap_connect
ldap_control_paged_result
LDAP Funciones


Send LDAP pagination control

ldap_control_paged_result_response
ldap_count_entries
LDAP Funciones
PHP Manual

ldap_control_paged_result

(PHP 5 >= 5.4.0)

ldap_control_paged_result — Send LDAP pagination control

Descripción

bool ldap_control_paged_result ( resource $link , int $pagesize [, bool $iscritical = false [, string $cookie = "" ]] )

Enable LDAP pagination by sending the pagination control (page size, cookie...).

Parámetros

link

An LDAP link identifier, returned by ldap_connect().

pagesize

The number of entries by page.

iscritical

Indicates whether the pagination is critical of not. If true and if the server doesn't support pagination, the search will return no result.

cookie

An opaque structure sent by the server ( ldap_control_paged_result_response()).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

The example below show the retrieval of the first page of a search paginated with one entry by page.

Ejemplo #1 LDAP pagination

<?php
     // $ds is a valid link identifier (see ldap_connect)
     ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);

     $dn        = 'ou=example,dc=org';
     $filter    = '(|(sn=Doe*)(givenname=John*))';
     $justthese = array('ou', 'sn', 'givenname', 'mail');

     // enable pagination with a page size of 1.
     ldap_control_paged_result($ds, 1);

     $sr = ldap_search($ds, $dn, $filter, $justthese);

     $info = ldap_get_entries($ds, $sr);

     echo $info['count'] . ' entries returned' . PHP_EOL;

The example below show the retrieval of all the result paginated with 100 entries by page.

Ejemplo #2 LDAP pagination

<?php
     // $ds is a valid link identifier (see ldap_connect)
     ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);

     $dn        = 'ou=example,dc=org';
     $filter    = '(|(sn=Doe*)(givenname=John*))';
     $justthese = array('ou', 'sn', 'givenname', 'mail');

     // enable pagination with a page size of 100.
     $pageSize = 100;

     $cookie = '';
     do {
         ldap_control_paged_result($ds, $pageSize, true, $cookie);

         $result  = ldap_search($ds, $dn, $filter, $justthese);
         $entries = ldap_get_entries($ds, $result);

         foreach ($entries as $e) {
             echo $e['dn'] . PHP_EOL;
         }

         ldap_control_paged_result_response($ds, $result, $cookie);

     } while($cookie !== null && $cookie != '');

Notas

Nota:

Pagination control is a LDAPv3 protocol feature.

Ver también

  • ldap_control_paged_result_response() - Retrieve the LDAP pagination cookie
  • » RFC2696 : LDAP Control Extension for Simple Paged Results Manipulation

ldap_control_paged_result_response
ldap_count_entries
LDAP Funciones


Contar el número de entradas en una búsqueda

ldap_control_paged_result
ldap_delete
LDAP Funciones
PHP Manual

ldap_count_entries

(PHP 4, PHP 5)

ldap_count_entries — Contar el número de entradas en una búsqueda

Descripción

int ldap_count_entries ( resource $link_identifier , resource $result_identifier )

Devuelve el número de entradas almacenadas en el resultado de previas operaciones de búsqueda.

Parámetros

link_identifier

Un identificador de enlace de LDAP, devuelto por ldap_connect().

result_identifier

El resultado interno de LDAP.

Valores devueltos

Devuelve el número de entradas en el resultado o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ldap-count-entries()

Recuperar el número de entradas del resultado.

// $ds es un identificador de enlace válido (véase ldap_connect)

     $dn        = 'ou=example,dc=org';
     $filter    = '(|(sn=Doe*)(givenname=John*))';
     $justthese = array('ou', 'sn', 'givenname', 'mail');

     $sr = ldap_search($ds, $dn, $filter, $justthese);

     var_dump(ldap_count_entries($ds, $sr));

El resultado del ejemplo sería algo similar a:

     int(1)

ldap_control_paged_result
ldap_delete
LDAP Funciones


Eliminar una entrada de un directorio

ldap_count_entries
ldap_dn2ufn
LDAP Funciones
PHP Manual

ldap_delete

(PHP 4, PHP 5)

ldap_delete — Eliminar una entrada de un directorio

Descripción

bool ldap_delete ( resource $link_identifier , string $dn )

Elimina una entrada en particular en un directorio de LDAP.

Parámetros

link_identifier

Un enlace identificador de LDAP, devuelto por ldap_connect().

dn

El nombre distinguido de una entidad de LDAP.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ldap_add() - Agregar entradas al directorio de LDAP

ldap_count_entries
ldap_dn2ufn
LDAP Funciones


Convertir un DN a un formato de nombramiento amigable al usuario

ldap_delete
ldap_err2str
LDAP Funciones
PHP Manual

ldap_dn2ufn

(PHP 4, PHP 5)

ldap_dn2ufn — Convertir un DN a un formato de nombramiento amigable al usuario

Descripción

string ldap_dn2ufn ( string $dn )

Convierte un dn específico, a un formato más amigable al usuario, mostrando los tipos de nombre.

Parámetros

dn

El nombre distinguido de una entidad de LDAP.

Valores devueltos

Devuelve el nombre amigable al usuario.

ldap_delete
ldap_err2str
LDAP Funciones


Convertir un número de error de LDAP a una cadena con un mensaje de error

ldap_dn2ufn
ldap_errno
LDAP Funciones
PHP Manual

ldap_err2str

(PHP 4, PHP 5)

ldap_err2str — Convertir un número de error de LDAP a una cadena con un mensaje de error

Descripción

string ldap_err2str ( int $errno )

Devuelve una cadena con un mensaje de error explicando el número de error de errno. Mientras que los números errno de LDAP están estandarizados, diferentes bibliotecas devuelven aún mensajes de error textuales localizados. Nunca busque un texto con un mensaje de error específico, pero siempre busque un número de error que revisar.

Parámetros

errno

El número de error.

Valores devueltos

Devuelve el mensaje de error como una cadena.

Ejemplos

Ejemplo #1 Enumerando todos los mensajes de error de LDAP

<?php
  for ($i=0; $i<100; $i++) {
    printf("Error $i: %s<br />\n", ldap_err2str($i));
  }
?>

Ver también

  • ldap_errno() - Devuelve el número de error LDAP del último comando LDAP
  • ldap_error() - Devuelve el mensaje de error de LDAP del último comando LDAP

ldap_dn2ufn
ldap_errno
LDAP Funciones


Devuelve el número de error LDAP del último comando LDAP

ldap_err2str
ldap_error
LDAP Funciones
PHP Manual

ldap_errno

(PHP 4, PHP 5)

ldap_errno — Devuelve el número de error LDAP del último comando LDAP

Descripción

int ldap_errno ( resource $link_identifier )

Devuelve el número de error estándar devuelto por el último comando LDAP. Este número se puede convertir a un mensaje de error textual utilizando ldap_err2str().

Parámetros

link_identifier

Un identificador de enlace de LDAP, devuelto por ldap_connect().

Valores devueltos

Devolver el número de error de LDAP del último comando LDAP para este enlace.

Ejemplos

A menos que reduzca suficientemente el nivel de advertencia en su php.ini o le anteponga una arroba (@) a sus comandos LDAP para suprimir la salida de advertencia, los errores generados también se mostrarán en la salida HTML.

Ejemplo #1 Generación y captura de un error

<?php
// Este ejemplo contiene un error, el cual capturaremos.
$ld = ldap_connect("localhost");
$bind = ldap_bind($ld);
// Error de sintáxis en la expresión de filtro (errno 87),
// debe ser un "objectclass=*" para que funcione.
$res =  @ldap_search($ld, "o=Myorg, c=DE", "objectclass");
if (!$res) {
    echo "Errno de LDAP: " . ldap_errno($ld) . "<br />\n";
    echo "Errno de LDAP: " . ldap_error($ld) . "<br />\n";
    die("Ouch!<br />\n");
}
$info = ldap_get_entries($ld, $res);
echo $info["count"] . " pareando entradas.<br />\n";
?>

Ver también

  • ldap_err2str() - Convertir un número de error de LDAP a una cadena con un mensaje de error
  • ldap_error() - Devuelve el mensaje de error de LDAP del último comando LDAP

ldap_err2str
ldap_error
LDAP Funciones


Devuelve el mensaje de error de LDAP del último comando LDAP

ldap_errno
ldap_explode_dn
LDAP Funciones
PHP Manual

ldap_error

(PHP 4, PHP 5)

ldap_error — Devuelve el mensaje de error de LDAP del último comando LDAP

Descripción

string ldap_error ( resource $link_identifier )

Devuelve la cadena de mensaje de error que explica el error generado por el último comando LDAP para el link_identifier proporcionado. Mientras que los números errno de LDAP están estandarizados, distintas bibliotecas devuelven aún mensajes de error textuales localizados. Nunca busque un texto con un mensaje de error específico, pero siempre busque un número de error que revisar.

A menos que reduzca suficientemente el nivel de advertencias en su php.ini o anteponga a sus comandos LDAP con el caracter @ (arroba) para suprimir la salida de advertencia, los errores generados también se mostrarán en la salida HTML.

Parámetros

link_identifier

Un enlace identificador de LDAP, devuelto por ldap_connect().

Valores devueltos

Devuelve una cadena de mensaje de error.

Ver también

  • ldap_err2str() - Convertir un número de error de LDAP a una cadena con un mensaje de error
  • ldap_errno() - Devuelve el número de error LDAP del último comando LDAP

ldap_errno
ldap_explode_dn
LDAP Funciones


Divide un DN en sus partes componentes

ldap_error
ldap_first_attribute
LDAP Funciones
PHP Manual

ldap_explode_dn

(PHP 4, PHP 5)

ldap_explode_dn — Divide un DN en sus partes componentes

Descripción

array ldap_explode_dn ( string $dn , int $with_attrib )

Divide el DN devuelto por ldap_get_dn() y lo rompe en sus partes componentes. Cada parte es conocida como Nombre Relativo Distinguido, o RDN por sus siglas en inglés.

Parámetros

dn

El nombre distinguido de una entidad de LDAP.

with_attrib

Utilizado para petición si los RDNs son devueltos con valores únicos o con sus atributos. Para obtener RDNs con los atributos (por ejemplo, en el formato atributo=valor) establecer with_attrib en 0 y obtener solamente los valores establecidos en 1.

Valores devueltos

Devuelve un array de todos los componente de un DN. El primer elemento en este array tiene la clave count y representa el número de valores devueltos, los siguientes elementos son componentes DN numéricamente indexados.

ldap_error
ldap_first_attribute
LDAP Funciones


Devolver el primer atributo

ldap_explode_dn
ldap_first_entry
LDAP Funciones
PHP Manual

ldap_first_attribute

(PHP 4, PHP 5)

ldap_first_attribute — Devolver el primer atributo

Descripción

string ldap_first_attribute ( resource $link_identifier , resource $result_entry_identifier )

Obtiene el primer atributo de la entrada proporcionada. Los atributos restantes son devueltos al invocar ldap_next_attribute() sucesivamente.

Similar a la lectura de las entradas, los atributos son leídos uno por uno desde una entrada en particular.

Parámetros

link_identifier

Un enlace identificador de LDAP, devuelto por ldap_connect().

result_entry_identifier

ber_identifier

ber_identifier es el identificador hacia la ubicación del puntero de memoria interna. Este se pasa por referencia. El mismo ber_identifier se pasa a ldap_next_attribute(), el cual modifica ese puntero.

Nota:

Este parámetro ya no se utiliza ya que ahora es manejado automáticamente por PHP. Por compatibilidad con versiones anteriores PHP no lanzará un error si se pasa este parámetro.

Valores devueltos

Devuelve el primer atributo de la entrada en caso de éxito y FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.2.4 | ber_identifier ha sido retirado. Este ahora es manejado automáticamente por PHP.

Ver también

  • ldap_next_attribute() - Obtener el siguiente atributo en un resultado
  • ldap_get_attributes() - Obtener atributos de una entrada de búsqueda de resultados

ldap_explode_dn
ldap_first_entry
LDAP Funciones


Devolver el primer resultado de identificación

ldap_first_attribute
ldap_first_reference
LDAP Funciones
PHP Manual

ldap_first_entry

(PHP 4, PHP 5)

ldap_first_entry — Devolver el primer resultado de identificación

Descripción

resource ldap_first_entry ( resource $link_identifier , resource $result_identifier )

Devuelve el identificador de entrada para la primera entrada en el resultado. Este identificador de entrada se provee a la rutina ldap_next_entry() para obtener entradas sucesivas a partir del resultado.

Las entradas en el resultado de LDAP son leídas secuencialmente utilizando las funciones ldap_first_entry() y ldap_next_entry().

Parámetros

link_identifier

Un enlace identificador de LDAP, devuelto por ldap_connect().

result_identifier

Valores devueltos

Devuelve el identificador de la entrada de resultados para la primera entrada en caso de éxito, y FALSE en caso de error.

Ver también

  • ldap_get_entries() - Obtener todas las entradas de los resultados

ldap_first_attribute
ldap_first_reference
LDAP Funciones


Devolver la primera referencia

ldap_first_entry
ldap_free_result
LDAP Funciones
PHP Manual

ldap_first_reference

(PHP 4 >= 4.0.5, PHP 5)

ldap_first_reference — Devolver la primera referencia

Descripción

resource ldap_first_reference ( resource $link , resource $result )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

ldap_first_entry
ldap_free_result
LDAP Funciones


Liberar la memoria de resultado

ldap_first_reference
ldap_get_attributes
LDAP Funciones
PHP Manual

ldap_free_result

(PHP 4, PHP 5)

ldap_free_result — Liberar la memoria de resultado

Descripción

bool ldap_free_result ( resource $result_identifier )

Libera la memoria ubicada internamente para almacenar los resultados. Toda la memoria de resultado será liberada automáticamente cuando termine el script de ejecutarse.

Típicamente, toda la memoria ubicada para el resultado de LDAP se libera al final del script. En caso que el script esté haciendo búsquedas sucesivas lo cual devuelve conjuntos de resultados largos, ldap_free_result() podría ser llamado para mantener bajo el uso de la memoria en tiempo de ejecución por el script.

Parámetros

result_identifier

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

ldap_first_reference
ldap_get_attributes
LDAP Funciones


Obtener atributos de una entrada de búsqueda de resultados

ldap_free_result
ldap_get_dn
LDAP Funciones
PHP Manual

ldap_get_attributes

(PHP 4, PHP 5)

ldap_get_attributes — Obtener atributos de una entrada de búsqueda de resultados

Descripción

array ldap_get_attributes ( resource $link_identifier , resource $result_entry_identifier )

Lee atributos y valores desde una entrada en la búsqueda de resultados.

Teniendo ubicada una entrada específica en el el directorio, puedes encontrar qué información es mantenida para esa entrada utilizando esta llamada. Podrías utilizar esta llamada para una aplicación la cual "navegue" entre entradas de directorio y/o donde no conozcas la estructura de las entradas de directorio. En muchas aplicaciones estarás buscando un atributo específico tal como una dirección de correo electrónico o un apellido, y no tendrás cuidado de qué otro datos sean mantenidos en esa búsqueda.

return_value["count"] = número de atributos en la entrada
return_value[0] = el primero atributo
return_value[n] = el enésimo atributo

return_value["attribute"]["count"] = número de valores para un atributo
return_value["attribute"][0] = el primero valor del atributo
return_value["attribute"][i] = el valor (i+1) del atributo

Parámetros

link_identifier

Un enlace identificador de LDAP, devuelto por ldap_connect().

result_entry_identifier

Valores devueltos

Devuelve una entrada completa de información en un arreglo multi-dimensional en caso de éxito y FALSE en caso de error.

Ejemplos

Ejemplo #1 Mostrar la lista de atributos mantenida por una entrada de directorio en particular

<?php
// $ds es el enlace identificador para el directorio

// $sr es un resultado de búsqueda válido desde una llamada previa hacia
// una de las llamadas de búsqueda de directorio de ldap

$entry = ldap_first_entry($ds, $sr);

$attrs = ldap_get_attributes($ds, $entry);

echo $attrs["count"] . " atributos mantenidos por esta entrada:<p>";

for ($i=0; $i < $attrs["count"]; $i++) {
    echo $attrs[$i] . "<br />";
}
?>

Ver también

  • ldap_first_attribute() - Devolver el primer atributo
  • ldap_next_attribute() - Obtener el siguiente atributo en un resultado

ldap_free_result
ldap_get_dn
LDAP Funciones


Get the DN of a result entry

ldap_get_attributes
ldap_get_entries
LDAP Funciones
PHP Manual

ldap_get_dn

(PHP 4, PHP 5)

ldap_get_dn — Get the DN of a result entry

Descripción

string ldap_get_dn ( resource $link_identifier , resource $result_entry_identifier )

Finds out the DN of an entry in the result.

Parámetros

link_identifier

An LDAP link identifier, returned by ldap_connect().

result_entry_identifier

Valores devueltos

Returns the DN of the result entry and FALSE on error.

ldap_get_attributes
ldap_get_entries
LDAP Funciones


Obtener todas las entradas de los resultados

ldap_get_dn
ldap_get_option
LDAP Funciones
PHP Manual

ldap_get_entries

(PHP 4, PHP 5)

ldap_get_entries — Obtener todas las entradas de los resultados

Descripción

array ldap_get_entries ( resource $link_identifier , resource $result_identifier )

Lee múltiples entradas de los resultados porporcionados, luego lee los atributos y valores múltiples.

Parámetros

link_identifier

Un enlace identificador de LDAP, devuelto por ldap_connect().

result_identifier

Valores devueltos

Devuelve un resultado completo de información en un array multi-dimensional en caso de éxito y FALSE en caso de error.

La estructura del array es como sigue. El índice del atributo se convierte a minúsculas. (Los atributos son insensibles a mayúsculas o minúsculas para los servidores de directorio, pero no cuando se usan como índices de array.)

return_value["count"] = número de entradas en el en el resultado
return_value[0] : se refiere a los detalles de la primer entrada

return_value[i]["dn"] =  DN de la i-ésima en el resultado

return_value[i]["count"] = Número de atributos en la i-ésima entrada
return_value[i][j] = NOMBRE del j-ésimo atributo en la i-ésima entrada en el resultado

return_value[i]["attribute"]["count"] = número de valores para
                                        el atributo en la i-ésima entrada
return_value[i]["attribute"][j] = j-ésimo valor del atributo en la i-ésima entrada

Ver también

  • ldap_first_entry() - Devolver el primer resultado de identificación
  • ldap_next_entry() - Obtener el siguiente resultado de entrada

ldap_get_dn
ldap_get_option
LDAP Funciones


Obtener el valor actual para la opción dada

ldap_get_entries
ldap_get_values_len
LDAP Funciones
PHP Manual

ldap_get_option

(PHP 4 >= 4.0.4, PHP 5)

ldap_get_option — Obtener el valor actual para la opción dada

Descripción

bool ldap_get_option ( resource $link_identifier , int $option , mixed &$retval )

Establece retval hacia el valor de la opción especificada.

Parámetros

link_identifier

Un enlace identificador de LDAP, devuelto por ldap_connect().

option

El parámetro option puede ser uno de estos:

Option | Type
LDAP_OPT_DEREF | integer
LDAP_OPT_SIZELIMIT | integer
LDAP_OPT_TIMELIMIT | integer
LDAP_OPT_NETWORK_TIMEOUT | integer
LDAP_OPT_PROTOCOL_VERSION | integer
LDAP_OPT_ERROR_NUMBER | integer
LDAP_OPT_REFERRALS | bool
LDAP_OPT_RESTART | bool
LDAP_OPT_HOST_NAME | string
LDAP_OPT_ERROR_STRING | string
LDAP_OPT_MATCHED_DN | string
LDAP_OPT_SERVER_CONTROLS | array
LDAP_OPT_CLIENT_CONTROLS | array

retval

Este será establecido al valor de la opción.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Revisar la versión del protocolo

<?php
// $ds es un enlace identificador válido para un servidor de directorio
if (ldap_get_option($ds, LDAP_OPT_PROTOCOL_VERSION, $version)) {
    echo "Utilizando el protocolo en su versión: $version\n";
} else {
    echo "Imposible determinar la versión del protocolo\n";
}
?>

Notas

Nota:

Esta función solamente está disponible cuando se utiliza OpenLDAP 2.x.x ó Netscape Directory SDK x.x.

Ver también

  • ldap_set_option() - Establecer el valor de la opción proporcionada

ldap_get_entries
ldap_get_values_len
LDAP Funciones


Obtener todos los valores binarios desde una entrada de resultados

ldap_get_option
ldap_get_values
LDAP Funciones
PHP Manual

ldap_get_values_len

(PHP 4, PHP 5)

ldap_get_values_len — Obtener todos los valores binarios desde una entrada de resultados

Descripción

array ldap_get_values_len ( resource $link_identifier , resource $result_entry_identifier , string $attribute )

Lee todos los valores del atributo en la entrada en el resultado.

Esta función es utilizada exactamente como ldap_get_values() excepto que esta maneja datos binarios y no datos de cadena.

Parámetros

link_identifier

Un identificador de enlace de LDAP, devuelto por ldap_connect().

result_entry_identifier

attribute

Valores devueltos

Devuelve un arreglo de valores para el atributo en caso de éxito y FALSE en caso de error. Los valores individuales son accedidos por un índice entero en el arreglo. El índice primero es 0. El número de valores puede ser encontrado indexando "count" en el arreglo resultante.

Ver también

  • ldap_get_values() - Obtener todos los valores de una entrada de resultados

ldap_get_option
ldap_get_values
LDAP Funciones


Obtener todos los valores de una entrada de resultados

ldap_get_values_len
ldap_list
LDAP Funciones
PHP Manual

ldap_get_values

(PHP 4, PHP 5)

ldap_get_values — Obtener todos los valores de una entrada de resultados

Descripción

array ldap_get_values ( resource $link_identifier , resource $result_entry_identifier , string $attribute )

Lee todos los valores del atributo en la entrada en el resultado.

Esta llamada necesita un result_entry_identifier, tal que sea precedido por una de las llamadas de búsqueda de ldap y una de las llamadas para obtener una entrada individual.

Su solicitud será fuertemente codificada para buscar ciertos atributos (tales como "apellido" o "correo"), o tendrá que utilizar la llamada ldap_get_attributes() para resolver qué atributos existen para una entrada dada.

Parámetros

link_identifier

Un identificador de enlace de LDAP, devuelto por ldap_connect().

result_entry_identifier

attribute

Valores devueltos

Devuelve un arreglo de valores para el atributo en caso de éxito y FALSE en caso de error. El número de valores puede ser hallado indexando "count" en el arreglo resultante. Los valores individuales son accedidos por un índice entero en el arreglo. El índice primero es 0.

LDAP permite más de una entrada para un atributo, así que puede, por ejemplo, almacenar un número de direcciones para la entrada de directorio de una persona etiquetado con el atributo "correo"

    return_value["count"] = Número de valores para el atributo
    return_value[0] = Primer valor del atributo
    return_value[i] = i-ésimo valor del atributo

Ejemplos

Ejemplo #1 Listar todos los valores del atributo "correo" para una entrada de directorio

<?php
// $ds es un identificador de enlace válido para un servidor de directorio

// $sr es un resultado de búsqueda válido de una llamada previa a
//     una de las llamadas de búsqueda de directorio ldap

// $entry es un identificador de entrada válido de una llavada previa a
//        una de las llamadas que devuelve una entrada de directorio

$values = ldap_get_values($ds, $entry, "correo");

echo $values["count"] . " direcciones de correo para esta entrada.<br />";

for ($i=0; $i < $values["count"]; $i++) {
    echo $values[$i] . "<br />";
}
?>

Ver también

  • ldap_get_values_len() - Obtener todos los valores binarios desde una entrada de resultados

ldap_get_values_len
ldap_list
LDAP Funciones


Búsqueda de un solo nivel

ldap_get_values
ldap_mod_add
LDAP Funciones
PHP Manual

ldap_list

(PHP 4, PHP 5)

ldap_list — Búsqueda de un solo nivel

Descripción

resource ldap_list ( resource $link_identifier , string $base_dn , string $filter [, array $attributes [, int $attrsonly [, int $sizelimit [, int $timelimit [, int $deref ]]]]] )

Realiza la búsqueda de un filter especificado en el directorio con el alcance de LDAP_SCOPE_ONELEVEL.

LDAP_SCOPE_ONELEVEL quiere decir que la búsqueda solamente debería devolver información que está en el nivel inmediatamente abajo de el base_dn proporcionado en la llamada. (Equivalente a digitar "ls" y obtener una lista de los ficheros y carpetas en el actual directorio de trabajo.)

Parámetros

link_identifier

Un identificador de enlace de LDAP, devuelto por ldap_connect().

base_dn

El DN base para el directorio.

filter

attributes

Un array de atributos requeridos, por ejemplo array("correo", "sn", "cn"). Tenga en cuenta que "dn" siempre es devuelto independientemente de qué tipos de atributos lo soliciten.

Utilizando este parámetro es mucho más eficiente que la acción predeterminada (la cual es devolver todos los atributos y sus valores asociados). Por lo tanto, el uso de este parámetro debería ser considerado una buena práctica.

attrsonly

Debería ser establecido a 1 solamente si los tipos de atributo son solicitados. Si se establece a 0 se devuelven los tipos de atributos y los valores de los atributos lo cual es el comportamiento predeterminado.

sizelimit

Te permite limitar el conteo de entradas a devolver. Al establecer esto a 0 significa que no hay límite.

Nota:

Este parámetro NO puede prevalecer sobre el sizelimit preestablecido en el lado del servidor. Puede aún establecerlo a uno más bajo.

Algunos equipos de servidor de directorio serán configurados para devolver no mas que un número preestablecido de entradas. Si esto ocurre, el servidor indicará que sólo ha devuelto un conjunto de resultados parciales. Esto también ocurre si utiliza este parámetro para limitar el conteo de entradas devueltas.

timelimit

Establece el número de segundos de cuánto tiempo pasa en la búsqueda. Poniendo esto a 0 siginifica que no hay límite.

Nota:

Este parámetro NO puede prevalecer sobre el timelimit preestablecido en el lado del servidor. Puede aún establecerlo a uno más bajo.

deref

Especifica cuántos alias deberían ser manejados durante la búsqueda. Este puede ser uno de los siguientes:

  • LDAP_DEREF_NEVER - (predeterminado) Los alias nunca son dereferenciados.
  • LDAP_DEREF_SEARCHING - Los alias deberían ser dereferenciados durante la búsqueda pero no cuando se está ubicando el objeto base de la búsqueda.
  • LDAP_DEREF_FINDING - Los alias deberían ser dereferenciados cuando se está ubicando el objeto base pero no durante la búsqueda.
  • LDAP_DEREF_ALWAYS - Los alias siempre deberían ser dereferenciados.

Valores devueltos

Devuelve un identificador de resultado de búsqueda, o FALSE en caso de error.

Historial de cambios

Versión | Descripción
4.0.5 | Ha sido agregado el soporte de búsquedas en paralelo. Vea ldap_search() para más detalles.
4.0.2 | Los parámetros attrsonly, sizelimit, timelimit y deref fueron agregados.

Ejemplos

Ejemplo #1 Producir una lista de todas las unidades organizacionales de una organización

<?php
// $ds es un identificador de enlace válido para un servidor de directorio

$basedn = "o=Mi Compañía, c=US";
$justthese = array("ou");

$sr = ldap_list($ds, $basedn, "ou=*", $justthese);

$info = ldap_get_entries($ds, $sr);

for ($i=0; $i < $info["count"]; $i++) {
    echo $info[$i]["ou"][0];
}
?>

Ver también

  • ldap_search() - Buscar el árbol LDAP

ldap_get_values
ldap_mod_add
LDAP Funciones


Agregar valores de atributo a los atributos actuales

ldap_list
ldap_mod_del
LDAP Funciones
PHP Manual

ldap_mod_add

(PHP 4, PHP 5)

ldap_mod_add — Agregar valores de atributo a los atributos actuales

Descripción

bool ldap_mod_add ( resource $link_identifier , string $dn , array $entry )

Agrega uno o más atributos al dn específico. Se realiza la modificación a nivel de atributo en lugar de realizarce a nivel de Objeto. Las adiciones a nivel de Objeto son hechas por la función ldap_add().

Parámetros

link_identifier

Un identificador de enlace de LDAP, devuelta por ldap_connect().

dn

El nombre distinguido de una entidad de LDAP.

entry

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota: Esta función es segura binariamente.

Ver también

  • ldap_mod_del() - Borrar valores de atributo de los atributos actuales
  • ldap_mod_replace() - Reemplazar valores de atributos con valores nuevos

ldap_list
ldap_mod_del
LDAP Funciones


Borrar valores de atributo de los atributos actuales

ldap_mod_add
ldap_mod_replace
LDAP Funciones
PHP Manual

ldap_mod_del

(PHP 4, PHP 5)

ldap_mod_del — Borrar valores de atributo de los atributos actuales

Descripción

bool ldap_mod_del ( resource $link_identifier , string $dn , array $entry )

Remueve uno o más atributos de un dn específico. Realiza la modificación a nivel de atributo en lugar de hacerlo a nivel de Objeto. Las eliminaciones a nivel de Objeto son hechas por la función ldap_delete().

Parámetros

link_identifier

Un identificador de enlace de LDAP, devuelto por ldap_connect().

dn

El nombre distinguido de una entidad de LDAP.

entry

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ldap_mod_add() - Agregar valores de atributo a los atributos actuales
  • ldap_mod_replace() - Reemplazar valores de atributos con valores nuevos

ldap_mod_add
ldap_mod_replace
LDAP Funciones


Reemplazar valores de atributos con valores nuevos

ldap_mod_del
ldap_modify
LDAP Funciones
PHP Manual

ldap_mod_replace

(PHP 4, PHP 5)

ldap_mod_replace — Reemplazar valores de atributos con valores nuevos

Descripción

bool ldap_mod_replace ( resource $link_identifier , string $dn , array $entry )

Reemplaza uno o más atributos de un dn específico. Realiza la modificación a nivel de atributo en lugar de hacerlo a nivel de Objeto. Las modificaciones a nivel de Objeto son hechas por la función ldap_modify().

Parámetros

link_identifier

Un identificador de enlace de LDAP, devuelto por ldap_connect().

dn

El nombre distinguido de una entidad de LDAP.

entry

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota: Esta función es segura binariamente.

Ver también

  • ldap_mod_del() - Borrar valores de atributo de los atributos actuales
  • ldap_mod_add() - Agregar valores de atributo a los atributos actuales

ldap_mod_del
ldap_modify
LDAP Funciones


Modificar una entrada de LDAP

ldap_mod_replace
ldap_next_attribute
LDAP Funciones
PHP Manual

ldap_modify

(PHP 4, PHP 5)

ldap_modify — Modificar una entrada de LDAP

Descripción

bool ldap_modify ( resource $link_identifier , string $dn , array $entry )

Modificar las entradas existentes en el directorio de LDAP. La estructura de la entrada es la misma como en ldap_add().

Parámetros

link_identifier

Un identificador de enlace de LDAP, devuelto por ldap_connect().

dn

El nombre distinguido de una entidad de LDAP.

entry

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota: Esta función es segura binariamente.

Ver también

  • ldap_rename() - Modificar el nombre de una entrada

ldap_mod_replace
ldap_next_attribute
LDAP Funciones


Obtener el siguiente atributo en un resultado

ldap_modify
ldap_next_entry
LDAP Funciones
PHP Manual

ldap_next_attribute

(PHP 4, PHP 5)

ldap_next_attribute — Obtener el siguiente atributo en un resultado

Descripción

string ldap_next_attribute ( resource $link_identifier , resource $result_entry_identifier )

Devuelve los atributos en una entrada. La primer llamada a la función ldap_next_attribute() es hecha con el parámetro result_entry_identifier que es devuelto por la función ldap_first_attribute().

Parámetros

link_identifier

Un identificador de enlace de LDAP, devuelto por ldap_connect().

result_entry_identifier

ber_identifier

El estado interno del puntero es mantenido por este parámetro.

Nota:

Este parámetro ya no se utiliza debido a que ahora es manipulado automáticamente por PHP. Por compatibilidades previas, PHP no lanzará un error si se pasa este parámetro.

Valores devueltos

Devuelve el siguiente atributo en una entrada en caso de éxito y FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.2.4 | El parámetro ber_identifier fue removido. Este se maneja ahora automáticamente por PHP.

Ver también

  • ldap_get_attributes() - Obtener atributos de una entrada de búsqueda de resultados

ldap_modify
ldap_next_entry
LDAP Funciones


Obtener el siguiente resultado de entrada

ldap_next_attribute
ldap_next_reference
LDAP Funciones
PHP Manual

ldap_next_entry

(PHP 4, PHP 5)

ldap_next_entry — Obtener el siguiente resultado de entrada

Descripción

resource ldap_next_entry ( resource $link_identifier , resource $result_entry_identifier )

Devuelve las entradas almacenadas en el resultado. Las llamadas sucesivas a ldap_next_entry() devuelven etradas de a una por una hasta que no hayan más entradas. La primer llamada a la función ldap_next_entry() es hecha después de llamar a ldap_first_entry() con el parámetro result_entry_identifier que es devuelto por la función ldap_first_entry().

Parámetros

link_identifier

Un identificador de enlace de LDAP, devuelto por ldap_connect().

result_entry_identifier

Valores devueltos

Devuelve un identificador de entrada para la entrada siguiente en el resultado, cuyas entradas son leídas desde el comienzo con ldap_first_entry(). Si no hay más entradas en el resultado entonces devuelve FALSE.

Ver también

  • ldap_get_entries() - Obtener todas las entradas de los resultados

ldap_next_attribute
ldap_next_reference
LDAP Funciones


Obtener la siguiente referencia

ldap_next_entry
ldap_parse_reference
LDAP Funciones
PHP Manual

ldap_next_reference

(PHP 4 >= 4.0.5, PHP 5)

ldap_next_reference — Obtener la siguiente referencia

Descripción

resource ldap_next_reference ( resource $link , resource $entry )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

ldap_next_entry
ldap_parse_reference
LDAP Funciones


Extraer información de la entrada de referencia

ldap_next_reference
ldap_parse_result
LDAP Funciones
PHP Manual

ldap_parse_reference

(PHP 4 >= 4.0.5, PHP 5)

ldap_parse_reference — Extraer información de la entrada de referencia

Descripción

bool ldap_parse_reference ( resource $link , resource $entry , array &$referrals )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

ldap_next_reference
ldap_parse_result
LDAP Funciones


Extraer información del resultado

ldap_parse_reference
ldap_read
LDAP Funciones
PHP Manual

ldap_parse_result

(PHP 4 >= 4.0.5, PHP 5)

ldap_parse_result — Extraer información del resultado

Descripción

bool ldap_parse_result ( resource $link , resource $result , int &$errcode [, string &$matcheddn [, string &$errmsg [, array &$referrals ]]] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

ldap_parse_reference
ldap_read
LDAP Funciones


Leer una entrada

ldap_parse_result
ldap_rename
LDAP Funciones
PHP Manual

ldap_read

(PHP 4, PHP 5)

ldap_read — Leer una entrada

Descripción

resource ldap_read ( resource $link_identifier , string $base_dn , string $filter [, array $attributes [, int $attrsonly [, int $sizelimit [, int $timelimit [, int $deref ]]]]] )

Realiza la búsqueda de un filter en específico en el directorio con el alcance de LDAP_SCOPE_BASE. Lo que es equivalente a leer una entrada del directorio.

Parámetros

link_identifier

Un enlace identificador de LDAP, devuelto por ldap_connect().

base_dn

El DN base para el directorio.

filter

No se permite un filtro vacío. Si quieres devolver absolutamente toda la información de esta entrada, utiliza un filtro como este objectClass=*. Si sabes qué tipos de entradas se utilizan en el servidor de directorio, podrías utilizar un filtro apropiado tal como objectClass=inetOrgPerson.

attributes

Un array de los atributos requeridos, por ejemplo, array("mail", "sn", "cn"). Nótese que el "dn" siempre se devuelve independientemente de qué tipos de atributos son requeridos.

Utilizar este parámetro es mucho más eficiente que la acción predeterminada (la cual es devolver todos los atributos y sus valores asociados). El uso de este parámetro debería ser, por lo tanto, considerado una buena práctica.

attrsonly

Debería ser establecido a 1 si solamente se buscan los tipos de atributos. Si se establece a 0, ambos los tipos de atributos y los valores de los atributos son extraídos como es el comportamiento predeterminado.

sizelimit

Permite limitar la cuenta de entradas extraídas. Establecer esto a 0 significa que no hay límite.

Nota:

Este parámetro NO puede prevalecer al límite de tamaño preestablecido en el lado del servidor. Aunque puedes establecerlo al más bajo.

Algunos equipos servidores de directorio serán configurados para devovler no más de un determinado número predefinido de entradas. Si esto sucede, el servidor indicará que solamente ha devuelto un conjunto parcial de resultados. Esto también sucede si utilizas este parámetro para limitar la cuenta de las entradas extraídas.

timelimit

Establece el número de segundos de cuan larga será la búsqueda. Al establecer esto a 0 significa que no hay límite.

Nota:

Este parámetro NO puede prevalecer al límite de tiempo preestablecido en el lado del servidor. Aunque puedes establecerlo al más bajo.

deref

Especifica cuantos alias deberían ser manejados durante la búsqueda. Este puede ser uno de los siguientes:

  • LDAP_DEREF_NEVER - (predeterminado) Los alias nunca son desreferenciados.
  • LDAP_DEREF_SEARCHING - Los alias deberían ser desreferenciados durante la búsqueda pero no cuando se quiere ubicar el objeto base.
  • LDAP_DEREF_FINDING - Los alias deberían ser desreferenciados cuando se quiere ubicar el objeto base pero no durante la búsqueda.
  • LDAP_DEREF_ALWAYS - Los alias deberían ser siempre desreferenciados.

Valores devueltos

Devuelve un identificador del resultado de la búsqueda o FALSE en caso de error.

Historial de cambios

Versión | Descripción
4.0.5 | Se añadió soporte para búsquedas en paralelo. Para más detalles vea ldap_search().
4.0.2 | Se añadieron los parámetros attrsonly, sizelimit, timelimit y deref.

ldap_parse_result
ldap_rename
LDAP Funciones


Modificar el nombre de una entrada

ldap_read
ldap_sasl_bind
LDAP Funciones
PHP Manual

ldap_rename

(PHP 4 >= 4.0.5, PHP 5)

ldap_rename — Modificar el nombre de una entrada

Descripción

bool ldap_rename ( resource $link_identifier , string $dn , string $newrdn , string $newparent , bool $deleteoldrdn )

La entrada que se especifica por dn se renombra/mueve.

Parámetros

link_identifier

Un identificador de enlace de LDAP, devuelto por ldap_connect().

dn

El nombre distinguido de una entidad de LDAP.

newrdn

El RDN nuevo.

newparent

La nueva entrada padre/superior.

deleteoldrdn

Si es TRUE se remueve el valor o valores antigüos del RDN, sino dichos valores del RDN se retienen como valores no distinguidos de la entrada.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota:

Actualmente esta función sólo trabaja con LDAPv3. Podría tener que utilizar la función ldap_set_option() previo a unirse a utilizar LDAPv3. Esta función está disponible solamente cuando se está utilizando OpenLDAP 2.x.x ó Netscape Directory SDK x.x.

Ver también

  • ldap_modify() - Modificar una entrada de LDAP

ldap_read
ldap_sasl_bind
LDAP Funciones


Unirse a un directorio LDAP utilizando SASL

ldap_rename
ldap_search
LDAP Funciones
PHP Manual

ldap_sasl_bind

(PHP 5)

ldap_sasl_bind — Unirse a un directorio LDAP utilizando SASL

Descripción

bool ldap_sasl_bind ( resource $link [, string $binddn = NULL [, string $password = NULL [, string $sasl_mech = NULL [, string $sasl_realm = NULL [, string $sasl_authc_id = NULL [, string $sasl_authz_id = NULL [, string $props = NULL ]]]]]]] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota: Requerimiento
ldap_sasl_bind() requiere soporte de SASL (sasl.h). Asegúrese de que --with-ldap-sasl sea utilizado cuando configure PHP de otra manera, esta función estará indefinida.

Historial de cambios

Versión | Descripción
5.3.3 | Se añadió soporte en Windows.

ldap_rename
ldap_search
LDAP Funciones


Buscar el árbol LDAP

ldap_sasl_bind
ldap_set_option
LDAP Funciones
PHP Manual

ldap_search

(PHP 4, PHP 5)

ldap_search — Buscar el árbol LDAP

Descripción

resource ldap_search ( resource $link_identifier , string $base_dn , string $filter [, array $attributes [, int $attrsonly [, int $sizelimit [, int $timelimit [, int $deref ]]]]] )

Realiza la búsqueda de un filtro específico sobre el directorio con el alcance de LDAP_SCOPE_SUBTREE. Esto es equivalente a buscar en el directorio completo.

Desde la versión 4.0.5 en adelante, también es posible hacer búsquedas paralelas. Para hacer esto se utiliza un array de identificadores de enlace, en lugar de un simple identificador, como el primer argumento. Si no quieres el mismo DN y el mismo filtro para todas las búsquedas, puedes utilizar también un array de DNs base y/o un array de filtros. Esos arrays deben ser del mismo tamaño como el de el array del identificador de enlace ya que, las primeras entradas de los arrays son utilizadas por una búsqueda, las segundas entradas son utilizadas para otra, y así. Cuando se hacen búsquedas en paralelo se devuelve un array de identificadores del resultado de la búsqueda, exceptuando en caso de error, la entrada qeu corresponde a la búsqueda será FALSE. Esto es muy parecido a los valores que normalmente se devuelven, excepto que un identificador de resultado siempre es devuelto cuando se hace una búsqueda. Hay algunos casos raros donde el resultado normal de la búsqueda devuelve FALSE mientras que la búsqueda paralela devuelve un identificador.

Parámetros

link_identifier

Un identificador de enlace de LDAP, devuelto por ldap_connect().

base_dn

El DN base para el directorio.

filter

El filtro de búsqueda puede ser simple o avanzado, utilizando operadores booleanos en el formato descrito en la documentación de LDAP (ver el » SDK del Directorio de Netscape para la información completa sobre filtros).

attributes

Un array de los atributos requeridos, por ejemplo, array("mail", "sn", "cn"). Nótese que el "dn" siempre es devuelto independientemente de qué tipos de atributos sean requeridos.

Utilizando este parámetro es mucho más eficiente que la acción predeterminada (la cual es devolver todos los atributos y sus valores asociados). El uso de este parámetro debería ser considerado una buena práctica.

attrsonly

Debería ser establecido a 1 si sólo se buscan tipos de atributos. Si se establece a 0 los valores de atributos y los tipos de atributos se muestran tal cual es el comportamiento predeterminado.

sizelimit

Te permite limitar la cantidad de entradas a mostrar. Al establecer esto a 0 siginifica que no hay límite.

Nota:

Este parámetro NO puede prevalecer sobre el sizelimit preestablecido en el lado del servidor. Puede aún establecerlo a uno más bajo.

Algunos equipos de servidor de directorio serán configurados para devolver no mas que un número preestablecido de entradas. Si esto ocurre, el servidor indicará que sólo ha devuelto un conjunto de resultados parciales. Esto también ocurre si utiliza este parámetro para limitar el conteo de entradas devueltas.

timelimit

Establece el número de segundos de cuánto tiempo pasa en la búsqueda. Poniendo esto a 0 siginifica que no hay límite.

Nota:

Este parámetro NO puede prevalecer sobre el timelimit preestablecido en el lado del servidor. Puede aún establecerlo a uno más bajo.

deref

Especifica cuántos alias deberían ser manejados durante la búsqueda. Este puede ser uno de los siguientes:

  • LDAP_DEREF_NEVER - (predeterminado) Los alias nunca son dereferenciados.
  • LDAP_DEREF_SEARCHING - Los alias deberían ser dereferenciados durante la búsqueda pero no cuando se está ubicando el objeto base de la búsqueda.
  • LDAP_DEREF_FINDING - Los alias deberían ser dereferenciados cuando se está ubicando el objeto base pero no durante la búsqueda.
  • LDAP_DEREF_ALWAYS - Los alias siempre deberían ser dereferenciados.

Valores devueltos

Devuelve un identificador de resultado de búsqueda, o FALSE en caso de error.

Historial de cambios

Versión | Descripción
4.0.5 | Ha sido agregado el soporte de búsquedas en paralelo.
4.0.2 | Los parámetros attrsonly, sizelimit, timelimit y deref fueron agregados.

Ejemplos

En el ejemplo de abajo se devuelve la unidad organizacional, apellido, el nombre proporcionado y la dirección de correo electrónico para todas las personas en "My Company" donde el apellido o el nombre proporcionado contiene la subcadena $person. Este ejemplo utiliza un filtro booleano para decirle al servidor que busque información en más de un atributo.

Ejemplo #1 Búsqueda LDAP

<?php
// $ds es un identificador de enlace válido para un servidor de directorio

// $person es todo o parte del nobre de una persona, por ejemplo "Jo"

$dn = "o=My Company, c=US";
$filter="(|(sn=$person*)(givenname=$person*))";
$justthese = array("ou", "sn", "givenname", "mail");

$sr=ldap_search($ds, $dn, $filter, $justthese);

$info = ldap_get_entries($ds, $sr);

echo $info["count"]." entradas devueltas\n";
?>

ldap_sasl_bind
ldap_set_option
LDAP Funciones


Establecer el valor de la opción proporcionada

ldap_search
ldap_set_rebind_proc
LDAP Funciones
PHP Manual

ldap_set_option

(PHP 4 >= 4.0.4, PHP 5)

ldap_set_option — Establecer el valor de la opción proporcionada

Descripción

bool ldap_set_option ( resource $link_identifier , int $option , mixed $newval )

Establece el valor de la opción especificada a newval.

Parámetros

link_identifier

Un identificador de enlace de LDAP, devuelto por ldap_connect().

option

El parámetro option puede ser uno de estos:

Option | Type | Available since
LDAP_OPT_DEREF | integer
LDAP_OPT_SIZELIMIT | integer
LDAP_OPT_TIMELIMIT | integer
LDAP_OPT_NETWORK_TIMEOUT | integer | PHP 5.3.0
LDAP_OPT_PROTOCOL_VERSION | integer
LDAP_OPT_ERROR_NUMBER | integer
LDAP_OPT_REFERRALS | bool
LDAP_OPT_RESTART | bool
LDAP_OPT_HOST_NAME | string
LDAP_OPT_ERROR_STRING | string
LDAP_OPT_MATCHED_DN | string
LDAP_OPT_SERVER_CONTROLS | array
LDAP_OPT_CLIENT_CONTROLS | array

LDAP_OPT_SERVER_CONTROLS y LDAP_OPT_CLIENT_CONTROLS requieren una lista de controles, lo que significa que el valor debe ser un array de controles. Un control consiste en un oid identificando el control, un value opcional, y un indicador opcional representado por criticality. En PHP un control es proporcionado por un array que contiene un elemento con la clave oid, una cadena de valor, y dos elementos opcionales. Los elementos opcionales son la clave value con un valor de tipo cadena, y la clave iscritical con un valor de tipo booleano. El valor de la clave iscritical de forma predeterminada es FALSE si no es provisto. Vea » draft-ietf-ldapext-ldap-c-api-xx.txt para más detalles. Vea también el segundo ejemplo a continuación.

newval

El nuevo valor para el option especificado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Establecer la versión del protocolo

<?php
// $ds es un identificador de enlace válido para un servidor de directorio
if (ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3)) {
    echo "Utilizando LDAPv3";
} else {
    echo "Falló al establcer la versión 3 del protocolo";
}
?>

Ejemplo #2 Establecer controles del servidor

<?php
// $ds es un identificador de enlace válido para un servidor de directorio
// control sin valor
$ctrl1 = array("oid" => "1.2.752.58.10.1", "iscritical" => true);
// iscritical de forma predeterminada está en FALSE
$ctrl2 = array("oid" => "1.2.752.58.1.10", "value" => "magic");
// intentar establecer ambos controles
if (!ldap_set_option($ds, LDAP_OPT_SERVER_CONTROLS, array($ctrl1, $ctrl2))) {
    echo "Falló al establecer los controles del servidor";
}
?>

Notas

Nota:

Esta función está disponible solamente cuando se utiliza OpenLDAP 2.x.x ó Netscape Directory SDK x.x.

Ver también

  • ldap_get_option() - Obtener el valor actual para la opción dada

ldap_search
ldap_set_rebind_proc
LDAP Funciones


Establece una función de devolución de llamada para realizar revinculaciones en el rastreo referencial

ldap_set_option
ldap_sort
LDAP Funciones
PHP Manual

ldap_set_rebind_proc

(PHP 4 >= 4.2.0, PHP 5)

ldap_set_rebind_proc — Establece una función de devolución de llamada para realizar revinculaciones en el rastreo referencial

Descripción

bool ldap_set_rebind_proc ( resource $link , callable $callback )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

ldap_set_option
ldap_sort
LDAP Funciones


Clasificar entradas de resultados de LDAP

ldap_set_rebind_proc
ldap_start_tls
LDAP Funciones
PHP Manual

ldap_sort

(PHP 4 >= 4.2.0, PHP 5)

ldap_sort — Clasificar entradas de resultados de LDAP

Descripción

bool ldap_sort ( resource $link , resource $result , string $sortfilter )

Clasificar el resultado de una búsqueda LDAP, devuelta por ldap_search().

Parámetros

link

Un identificador de enlace de LDAP, devuelto por ldap_connect().

result

Un identificador de resultado de búsqueda, devuelto por ldap_search().

sortfilter

El atributo a utilizar como clave en la clasificación.

Ejemplos

Clasificando el resultado de una búsqueda.

Ejemplo #1 Clasificador de LDAP

<?php
     // $ds es un identificador de enlace válido (ver ldap_connect)

     $dn        = 'ou=example,dc=org';
     $filter    = '(|(sn=Doe*)(givenname=John*))';
     $justthese = array('ou', 'sn', 'givenname', 'mail');

     $sr = ldap_search($ds, $dn, $filter, $justthese);

     // Clasificar
     ldap_sort($ds, $sr, 'sn');

     // Devolviendo la data
     $info = ldap_get_entries($ds, $sr);

ldap_set_rebind_proc
ldap_start_tls
LDAP Funciones


Inciar TLS

ldap_sort
ldap_t61_to_8859
LDAP Funciones
PHP Manual

ldap_start_tls

(PHP 4 >= 4.2.0, PHP 5)

ldap_start_tls — Inciar TLS

Descripción

bool ldap_start_tls ( resource $link )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

ldap_sort
ldap_t61_to_8859
LDAP Funciones


Traduce del conjunto de caracteres t61 al conjunto de caracteres 8859

ldap_start_tls
ldap_unbind
LDAP Funciones
PHP Manual

ldap_t61_to_8859

(PHP 4 >= 4.0.2, PHP 5)

ldap_t61_to_8859 — Traduce del conjunto de caracteres t61 al conjunto de caracteres 8859

Descripción

string ldap_t61_to_8859 ( string $value )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

ldap_start_tls
ldap_unbind
LDAP Funciones


Desenlazar de directorio LDAP

ldap_t61_to_8859
Lotus Notes
LDAP Funciones
PHP Manual

ldap_unbind

(PHP 4, PHP 5)

ldap_unbind — Desenlazar de directorio LDAP

Descripción

bool ldap_unbind ( resource $link_identifier )

Desenlace de directorio LDAP.

Parámetros

link_identifier

Un identificador de enlace LDAP, devuelto por ldap_connect().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ldap_bind() - Realiza la autenticación con un servidor LDAP

ldap_t61_to_8859
Lotus Notes
LDAP Funciones


Lotus Notes

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de Lotus Notes
    • notes_body — Abre el mensaje msg_number en el buzón indicado del servidor especificado
    • notes_copy_db — Copia a una base de datos de Lotus Notes
    • notes_create_db — Crea una base de datos de Lotus Notes
    • notes_create_note — Crea una nota usando el formulario form_name
    • notes_drop_db — Borra una base de datos de Lotus Notes
    • notes_find_note — Devuelve el ID de la nota encontrado en database_name
    • notes_header_info — Abre el mensaje msg_number en el buzón indicado del servidor especificado
    • notes_list_msgs — Devuelve las notas del database_name seleccionado
    • notes_mark_read — Marca una note_id como leída por el usuario user_name
    • notes_mark_unread — Marca una note_id como no leída por el usuario user_name
    • notes_nav_create — Crea un nombre de navegador, en database_name
    • notes_search — Encuentra notas que conciden con las palabras clave en database_name
    • notes_unread — Devuelve los ID de las notas no leídas para el actual usuario user_name
    • notes_version — Obtiene la versión de Lotus Notes
ldap_unbind
Introducción
Otros servicios


Introducción

Advertencia

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombres de sus funciones y todo lo documentado sobre esta extensión, puede cambiar en una futura edición de PHP sin previo aviso. El uso de esta extensión queda bajo su propia responsabilidad.

Lotus Notes
Instalación/Configuración
Lotus Notes


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Lotus Notes


Instalación

Esta extensión se considera no mantenida y muerta. Sin embargo, el código fuente para esta extensión sigue estando disponible dentro de PECL SVN aquí: » http://svn.php.net/viewvc/pecl/notes.

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.0.0

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Funciones de Lotus Notes
Lotus Notes


Funciones de Lotus Notes

Tabla de contenidos

  • notes_body — Abre el mensaje msg_number en el buzón indicado del servidor especificado
  • notes_copy_db — Copia a una base de datos de Lotus Notes
  • notes_create_db — Crea una base de datos de Lotus Notes
  • notes_create_note — Crea una nota usando el formulario form_name
  • notes_drop_db — Borra una base de datos de Lotus Notes
  • notes_find_note — Devuelve el ID de la nota encontrado en database_name
  • notes_header_info — Abre el mensaje msg_number en el buzón indicado del servidor especificado
  • notes_list_msgs — Devuelve las notas del database_name seleccionado
  • notes_mark_read — Marca una note_id como leída por el usuario user_name
  • notes_mark_unread — Marca una note_id como no leída por el usuario user_name
  • notes_nav_create — Crea un nombre de navegador, en database_name
  • notes_search — Encuentra notas que conciden con las palabras clave en database_name
  • notes_unread — Devuelve los ID de las notas no leídas para el actual usuario user_name
  • notes_version — Obtiene la versión de Lotus Notes
Constantes predefinidas
notes_body
Lotus Notes


Abre el mensaje msg_number en el buzón indicado del servidor especificado

Funciones de Lotus Notes
notes_copy_db
Funciones de Lotus Notes
PHP Manual

notes_body

(PHP 4 >= 4.0.5)

notes_body — Abre el mensaje msg_number en el buzón indicado del servidor especificado

Descripción

array notes_body ( string $server , string $mailbox , int $msg_number )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Funciones de Lotus Notes
notes_copy_db
Funciones de Lotus Notes


Copia a una base de datos de Lotus Notes

notes_body
notes_create_db
Funciones de Lotus Notes
PHP Manual

notes_copy_db

(PHP 4 >= 4.0.5)

notes_copy_db — Copia a una base de datos de Lotus Notes

Descripción

bool notes_copy_db ( string $from_database_name , string $to_database_name )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

notes_body
notes_create_db
Funciones de Lotus Notes


Crea una base de datos de Lotus Notes

notes_copy_db
notes_create_note
Funciones de Lotus Notes
PHP Manual

notes_create_db

(PHP 4 >= 4.0.5)

notes_create_db — Crea una base de datos de Lotus Notes

Descripción

bool notes_create_db ( string $database_name )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

notes_copy_db
notes_create_note
Funciones de Lotus Notes


Crea una nota usando el formulario form_name

notes_create_db
notes_drop_db
Funciones de Lotus Notes
PHP Manual

notes_create_note

(PHP 4 >= 4.0.5)

notes_create_note — Crea una nota usando el formulario form_name

Descripción

bool notes_create_note ( string $database_name , string $form_name )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

notes_create_db
notes_drop_db
Funciones de Lotus Notes


Borra una base de datos de Lotus Notes

notes_create_note
notes_find_note
Funciones de Lotus Notes
PHP Manual

notes_drop_db

(PHP 4 >= 4.0.5)

notes_drop_db — Borra una base de datos de Lotus Notes

Descripción

bool notes_drop_db ( string $database_name )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

notes_create_note
notes_find_note
Funciones de Lotus Notes


Devuelve el ID de la nota encontrado en database_name

notes_drop_db
notes_header_info
Funciones de Lotus Notes
PHP Manual

notes_find_note

(PHP 4 >= 4.0.5)

notes_find_note — Devuelve el ID de la nota encontrado en database_name

Descripción

int notes_find_note ( string $database_name , string $name [, string $type ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

notes_drop_db
notes_header_info
Funciones de Lotus Notes


Abre el mensaje msg_number en el buzón indicado del servidor especificado

notes_find_note
notes_list_msgs
Funciones de Lotus Notes
PHP Manual

notes_header_info

(PHP 4 >= 4.0.5)

notes_header_info — Abre el mensaje msg_number en el buzón indicado del servidor especificado

Descripción

object notes_header_info ( string $server , string $mailbox , int $msg_number )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

notes_find_note
notes_list_msgs
Funciones de Lotus Notes


Devuelve las notas del database_name seleccionado

notes_header_info
notes_mark_read
Funciones de Lotus Notes
PHP Manual

notes_list_msgs

(PHP 4 >= 4.0.5)

notes_list_msgs — Devuelve las notas del database_name seleccionado

Descripción

bool notes_list_msgs ( string $db )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

notes_header_info
notes_mark_read
Funciones de Lotus Notes


Marca una note_id como leída por el usuario user_name

notes_list_msgs
notes_mark_unread
Funciones de Lotus Notes
PHP Manual

notes_mark_read

(PHP 4 >= 4.0.5)

notes_mark_read — Marca una note_id como leída por el usuario user_name

Descripción

bool notes_mark_read ( string $database_name , string $user_name , string $note_id )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

notes_list_msgs
notes_mark_unread
Funciones de Lotus Notes


Marca una note_id como no leída por el usuario user_name

notes_mark_read
notes_nav_create
Funciones de Lotus Notes
PHP Manual

notes_mark_unread

(PHP 4 >= 4.0.5)

notes_mark_unread — Marca una note_id como no leída por el usuario user_name

Descripción

bool notes_mark_unread ( string $database_name , string $user_name , string $note_id )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

notes_mark_read
notes_nav_create
Funciones de Lotus Notes


Crea un nombre de navegador, en database_name

notes_mark_unread
notes_search
Funciones de Lotus Notes
PHP Manual

notes_nav_create

(PHP 4 >= 4.0.5)

notes_nav_create — Crea un nombre de navegador, en database_name

Descripción

bool notes_nav_create ( string $database_name , string $name )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

notes_mark_unread
notes_search
Funciones de Lotus Notes


Encuentra notas que conciden con las palabras clave en database_name

notes_nav_create
notes_unread
Funciones de Lotus Notes
PHP Manual

notes_search

(PHP 4 >= 4.0.5)

notes_search — Encuentra notas que conciden con las palabras clave en database_name

Descripción

array notes_search ( string $database_name , string $keywords )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

notes_nav_create
notes_unread
Funciones de Lotus Notes


Devuelve los ID de las notas no leídas para el actual usuario user_name

notes_search
notes_version
Funciones de Lotus Notes
PHP Manual

notes_unread

(PHP 4 >= 4.0.5)

notes_unread — Devuelve los ID de las notas no leídas para el actual usuario user_name

Descripción

array notes_unread ( string $database_name , string $user_name )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

notes_search
notes_version
Funciones de Lotus Notes


Obtiene la versión de Lotus Notes

notes_unread
Memcache
Funciones de Lotus Notes
PHP Manual

notes_version

(PHP 4 >= 4.0.5)

notes_version — Obtiene la versión de Lotus Notes

Descripción

float notes_version ( string $database_name )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

notes_unread
Memcache
Funciones de Lotus Notes


Memcache

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Uso básico
  • Memcache — La clase Memcache
    • Memcache::add — Añadir un valor en el servidor
    • Memcache::addServer — Añadir servidor memcache al grupo de conexiones
    • Memcache::close — Cierra la conexión al servidor memcached
    • Memcache::connect — Abre una conexión al servidor memcached
    • Memcache::decrement — Decrementa numéricamente un valor
    • Memcache::delete — Elimina un valor del servidor
    • Memcache::flush — Limpia todos los valores existentes en el servidor
    • Memcache::get — Obtener valor del servidor
    • Memcache::getExtendedStats — Obtener estadísticas de todos los servidores en el grupo
    • Memcache::getServerStatus — Devuelve el estado del servidor
    • Memcache::getStats — Obtiene estadísticas del servidor
    • Memcache::getVersion — Devuelve la versión del servidor
    • Memcache::increment — Incrementa numéricamente un valor
    • Memcache::pconnect — Abre una conexión persistente a memcached
    • Memcache::replace — Reemplaza el valor de un valor existente
    • Memcache::set — Guarda datos en el servidor
    • Memcache::setCompressThreshold — Activa compresión automática de valores con datos largos
    • Memcache::setServerParams — Cambia parámetros del servidor y estado en tiempo de ejecucción
  • Funciones de Memcache
    • memcache_debug — Activa/desactiva debug output
notes_version
Introducción
Otros servicios


Introducción

El módulo de Memcache proporciona acceso a un altamente efectivo demonio caché a través de un interfaz por procedimientos o orientado a objetos, que fué especialmente diseñado para disminuir la carga en base de datos en páginas web dinámicas.

El módulo de memcache también proporciona un gestor de sessiones (memcache).

Más información de memcache puede encontrarse en » http://www.memcached.org/.

Memcache
Instalación/Configuración
Memcache


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Memcache


Requerimientos

Este módulo utiliza funciones de » zlib para soportar compresión de datos al momento. Se require Zlib para instalar este módulo.

Se requiere PHP 4.3.3 o superior para utilizar la extensión de memcache.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP. Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/memcache.

Nota:

Es posible desactivar el gestor de sesiones memcache. La opción 'pecl install' pregunta por esta opción (por defecto está activada) de todas formas cuando se compila estáticamente en PHP se puede utilizar la opción de configuración --disable-memcache-session .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de Memcache
Nombre | Por defecto | Cambiable | Historial de cambios
memcache.allow_failover | "1" | PHP_INI_ALL | Disponible desde memcache 2.0.2.
memcache.max_failover_attempts | "20" | PHP_INI_ALL | Disponible desde memcache 2.1.0.
memcache.chunk_size | "8192" | PHP_INI_ALL | Disponible desde memcache 2.0.2.
memcache.default_port | "11211" | PHP_INI_ALL | Disponible desde memcache 2.0.2.
memcache.hash_strategy | "standard" | PHP_INI_ALL | Disponible desde memcache 2.2.0.
memcache.hash_function | "crc32" | PHP_INI_ALL | Disponible desde memcache 2.2.0.
session.save_handler | "files" | PHP_INI_ALL | Soportado desde memcache 2.1.2
session.save_path | "" | PHP_INI_ALL | Soportado desde memcache 2.1.2
memcache.protocol | ascii | >PHP_INI_ALL | Soportado desde memcache 3.0.0
memcache.redundancy | 1 | >PHP_INI_ALL | Soportado desde memcache 3.0.0
memcache.session_redundancy | 2 | >PHP_INI_ALL | Soportado desde memcache 3.0.0
memcache.compress_threshold | 20000 | >PHP_INI_ALL | Soportado desde memcache 3.0.3
memcache.lock_timeout | 15 | >PHP_INI_ALL | Soportado desde memcache 3.0.4
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

memcache.allow_failover boolean

Si se quiere hacer visible los failover en otros servidores en caso de errores.

memcache.max_failover_attempts integer

Define el número de servidores a probar cuando se añade y se obtiene información. Úsese solamente en conjunción con memcache.allow_failover.

memcache.chunk_size integer

La información será transferida en bloques del tamaño indicado, definir este valor a un número más pequeño requerirá más escrituras de red. Pruebe de incrementar este valor a 32768 si se nota una lentitud inexplicable.

memcache.default_port string

El puerto TCP por defecto a usar cuando se conecta a el servidor memcached si no se especifica otro puerto.

memcache.hash_strategy string

Controla el tipo de estrategia a usar cuando se mapean claves en los servidores. Definir este valor como consistent para habilitar hashing consistente que permite a los servidores ser añadidos o eliminados del grupo sin causar que las claves sean remapeadas. Si se define este valor como standard se usará la antigua estrategia.

memcache.hash_function string

Controla que tipo de función hash se utiliza cuando se mapean claves a los servidores, crc32 utiliza el stándar hash CRC32 hash mientras que fnv utiliza FNV-1a.

session.save_handler string

Si define esta opción como memcache podrá usar memcache como manejador de sesiones.

session.save_path string

Define una lista de urls de servidores separados por comas para el almacenamiento de sesiones, por ejemplo "tcp://host1:11211, tcp://host2:11211".

Cada url puede contener parámetros que son aplicados al servidor, son los mismos que en el método Memcache::addServer(). Por ejemplo "tcp://host1:11211?persistent=1&weight=1&timeout=1&retry_interval=15"

memcache.protocol string

memcache.redundancy integer

memcache.session_redundancy integer

memcache.compress_threshold integer

memcache.lock_timeout integer

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

There is only one resource type used in memcache module - it's the link identifier for a cache server connection.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Constantes Memcache
Nombre | Descripción
MEMCACHE_COMPRESSED (integer) | Sirve para activar compresión de datos al vuelo con Memcache::set(), Memcache::add() y Memcache::replace().
MEMCACHE_HAVE_SESSION (integer) | 1 si el gestor de sesiones de Memcache está disponible, 0 si no.
MEMCACHE_USER1 (integer) | Sirve para activar la bandera de aplicación definida por el usuario con Memcache::set(), Memcache::add() y Memcache::replace().
MEMCACHE_USER2 (integer) | Sirve para activar la bandera de aplicación definida por el usuario con Memcache::set(), Memcache::add() y Memcache::replace().
MEMCACHE_USER3 (integer) | Sirve para activar la bandera de aplicación definida por el usuario con Memcache::set(), Memcache::add() y Memcache::replace().
MEMCACHE_USER4 (integer) | Sirve para activar la bandera de aplicación definida por el usuario con Memcache::set(), Memcache::add() y Memcache::replace().
Tipos de recursos
Ejemplos
Memcache


Ejemplos

Tabla de contenidos

  • Uso básico
Constantes predefinidas
Uso básico
Memcache


Uso básico

Ejemplo #1 Ejemplos de la extensión memcache extension

En este ejemplo, se guarda un objeto en cache y luego se devuelve de nuevo. Objetos y otros tipos no escalares se serializan antes de guardarse, por lo tanto es imposible guardar recursos. (ej. identificadores de conexión y otros tipos) en caché.

<?php

$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("No se pudo contectar");

$version = $memcache->getVersion();
echo "Versión del servidor: ".$version."<br/>\n";

$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;

$memcache->set('key', $tmp_object, false, 10) or die ("Falló al intentar guardar datos en el servidor");
echo "Guarda datos en caché (los datos expirarán en 10 segundos)<br/>\n";

$get_result = $memcache->get('key');
echo "Datos desde la caché:<br/>\n";

var_dump($get_result);

?>

Ejemplo #2 Usando el gestor de sesiones de memcache

<?php

$session_save_path = "tcp://$host:$port?persistent=1&weight=2&timeout=2&retry_interval=10,  ,tcp://$host:$port  ";
ini_set('session.save_handler', 'memcache');
ini_set('session.save_path', $session_save_path);

?>

Ejemplos
Memcache
Ejemplos


La clase Memcache

(PECL memcache >= 0.2.0)

Introducción

Representa una conexión a un conjunto de servidores memcache.

Sinopsis de la Clase

Memcache {
bool add ( string $key , mixed $var [, int $flag [, int $expire ]] )
bool addServer ( string $host [, int $port = 11211 [, bool $persistent [, int $weight [, int $timeout [, int $retry_interval [, bool $status [, callable $failure_callback [, int $timeoutms ]]]]]]]] )
bool close ( void )
bool connect ( string $host [, int $port [, int $timeout ]] )
int decrement ( string $key [, int $value = 1 ] )
bool delete ( string $key [, int $timeout = 0 ] )
bool flush ( void )
string get ( string $key [, int &$flags ] )
array getExtendedStats ([ string $type [, int $slabid [, int $limit = 100 ]]] )
int getServerStatus ( string $host [, int $port = 11211 ] )
array getStats ([ string $type [, int $slabid [, int $limit = 100 ]]] )
string getVersion ( void )
int increment ( string $key [, int $value = 1 ] )
mixed pconnect ( string $host [, int $port [, int $timeout ]] )
bool replace ( string $key , mixed $var [, int $flag [, int $expire ]] )
bool set ( string $key , mixed $var [, int $flag [, int $expire ]] )
bool setCompressThreshold ( int $threshold [, float $min_savings ] )
bool setServerParams ( string $host [, int $port = 11211 [, int $timeout [, int $retry_interval = false [, bool $status [, callable $failure_callback ]]]]] )
}

Tabla de contenidos

  • Memcache::add — Añadir un valor en el servidor
  • Memcache::addServer — Añadir servidor memcache al grupo de conexiones
  • Memcache::close — Cierra la conexión al servidor memcached
  • Memcache::connect — Abre una conexión al servidor memcached
  • Memcache::decrement — Decrementa numéricamente un valor
  • Memcache::delete — Elimina un valor del servidor
  • Memcache::flush — Limpia todos los valores existentes en el servidor
  • Memcache::get — Obtener valor del servidor
  • Memcache::getExtendedStats — Obtener estadísticas de todos los servidores en el grupo
  • Memcache::getServerStatus — Devuelve el estado del servidor
  • Memcache::getStats — Obtiene estadísticas del servidor
  • Memcache::getVersion — Devuelve la versión del servidor
  • Memcache::increment — Incrementa numéricamente un valor
  • Memcache::pconnect — Abre una conexión persistente a memcached
  • Memcache::replace — Reemplaza el valor de un valor existente
  • Memcache::set — Guarda datos en el servidor
  • Memcache::setCompressThreshold — Activa compresión automática de valores con datos largos
  • Memcache::setServerParams — Cambia parámetros del servidor y estado en tiempo de ejecucción
Uso básico
Memcache::add
Memcache


Añadir un valor en el servidor

Memcache
Memcache::addServer
Memcache
PHP Manual

Memcache::add

(PECL memcache >= 0.2.0)

Memcache::add — Añadir un valor en el servidor

Descripción

bool Memcache::add ( string $key , mixed $var [, int $flag [, int $expire ]] )

Memcache::add() guarda la variable var con la clave key solamente si la clave no existe todavía en el servidor. También se puede usar la función memcache_add().

Parámetros

key

La clave que quedará asociada con el valor.

var

La variable a guardar. Cadenas y enteros se guardan tal y como son, otros tipos se guardan serializados.

flag

Use MEMCACHE_COMPRESSED para guardar datos comprimidos (usa zlib).

expire

Tiempo de expiración del valor. Si es iqual a cero, el valor nunca expirará. También puedes usar Unix timestamp o el número de segundos empezando desde la fecha actual, el valor no puede exceder de 2592000 segundos (30 días).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Devuelve FALSE si la clave ya existe. Por el resto Memcache::add() se comporta similar a Memcache::set().

Ejemplos

Ejemplo #1 Ejemplo Memcache::add()

<?php

$memcache_obj = memcache_connect("localhost", 11211);

/* procedural API */
memcache_add($memcache_obj, 'var_key', 'test variable', false, 30);

/* OO API */
$memcache_obj->add('var_key', 'test variable', false, 30);

?>

Ver también

  • Memcache::set() - Guarda datos en el servidor
  • Memcache::replace() - Reemplaza el valor de un valor existente

Memcache
Memcache::addServer
Memcache


Añadir servidor memcache al grupo de conexiones

Memcache::add
Memcache::close
Memcache
PHP Manual

Memcache::addServer

(PECL memcache >= 2.0.0)

Memcache::addServer — Añadir servidor memcache al grupo de conexiones

Descripción

bool Memcache::addServer ( string $host [, int $port = 11211 [, bool $persistent [, int $weight [, int $timeout [, int $retry_interval [, bool $status [, callable $failure_callback [, int $timeoutms ]]]]]]]] )

Memcache::addServer() añade un servidor al grupo de conexiones. También se puede usar la función memcache_add_server().

Cuando se usa este método (opuestamente a Memcache::connect() y Memcache::pconnect()) la conexión no se establece hasta que es necesaria. De esta forma no hay sobrecarga al añadir un gran número de servidores en el grupo de conexiones, aunque no todos van a ser utilizados.

La conexión puede caer en cualquier momento usando cualquiera de los métodos, mientras otros servidores estén disponibles para hacer la petición el usuario no notará nada. Cualquier tipo de errores de socket o servidor Memcached (excepto out-of-memory) seguramente harán caer la conexión. Errores en el cliente como añadir una llave que ya existe no provocará la caida de la conexión.

Nota:

Esta función fué añadida en Memcache versión 2.0.0.

Parámetros

host

Apunta al host donde memcached está esperando conexiones. Este parámetro también se puede especificar con otros transportes como unix:///path/to/memcached.sock para usar domain UNIX sockets, en este caso port debe también establecerse a 0.

port

Apunta al puerto donde memcache está esperando para conexiones. Establece este parámetro a 0 cuando se usan UNIX domain sockets.

Por favor note: port será por defecto memcache.default_port en caso de no especificarse. Por esta razón, se recomienda especificar el puerto explícitamente en la llamada a este método.

persistent

Controla el uso de una conexión persistente. Por defecto TRUE.

weight

Número de segmentos para crear de este servidor, que a su vez controlan la probabilidad de que sea seleccionado. La probabilidad es relativa a la de peso total de todos los servidores.

timeout

Valor en segundos que se utilizará para conectar con el demonio. Piense dos veces antes de cambiar el valor predeterminado de 1 segundo - se puede perder todas las ventajas de la caché si su conexión es demasiado lenta.

retry_interval

Controla la frecuencia de reintentos cuando falla la conexión, el valor por defecto es 15 segundos. Si establece este parámetro a -1 desactivará el reintento automático. Ni esta opción ni el parámetro persistent tienen ningún efecto cuando la extensión se carga dinámicamente a través de dl().

Cada conexión struct fallida tiene su propio timeout y antes de que caduque, el struct será omitido cuando se selecionen backends para servir una petición.Cuando caduque la conexión se reconectará satisfactoriamente o se marcará como fallida por otros retry_interval segundos. El típico efecto es que cada servidor web hijo reintentará la conexión cada retry_interval cuando se sirven páginas.

status

Controla si el servidor debe ser marcado como online. Estableciendo este parámetro a FALSE y retry_interval a -1 permite a un servidor que falle a ser mantenido en el grupo para no afectar el algoritmo de distribución de llaves. Las peticiones a este servidor fallarán inmediatamente dependiendo en la opción memcache.allow_failover. Por defecto to TRUE, que significa que el servidor se considera online.

failure_callback

Permite al usuario a especificar la llamada a una función de retorno a ejectuar cuando se encuentre un error. La llamada de retorno se ejecuta antes de que se produzca la caída en la conexión. La función toma dos parámetros, el hostname y el puerto del puerto que ha fallado.

timeoutms

Notas

Advertencia

Cuando no se especifica port, este método usará el valor establecido en la directiva ini memcache.default_port de PHP. Si este valor se cambiara en cualquier lugar de la aplicación podría conducir a resultados inesperados; por esta razón, es prudente especificar el puerto explícitamente en la llamada a este método.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo Memcache::addServer()

<?php

/* OO API */

$memcache = new Memcache;
$memcache->addServer('memcache_host', 11211);
$memcache->addServer('memcache_host2', 11211);

/* procedural API */

$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_add_server($memcache_obj, 'memcache_host2', 11211);

?>

Ver también

  • Memcache::connect() - Abre una conexión al servidor memcached
  • Memcache::pconnect() - Abre una conexión persistente a memcached
  • Memcache::close() - Cierra la conexión al servidor memcached
  • Memcache::setServerParams() - Cambia parámetros del servidor y estado en tiempo de ejecucción
  • Memcache::getServerStatus() - Devuelve el estado del servidor

Memcache::add
Memcache::close
Memcache


Cierra la conexión al servidor memcached

Memcache::addServer
Memcache::connect
Memcache
PHP Manual

Memcache::close

(PECL memcache >= 0.4.0)

Memcache::close — Cierra la conexión al servidor memcached

Descripción

bool Memcache::close ( void )

Memcache::close() cierra la conexión al servidor memcached. Esta función no cierra conexiones persistentes, que solo son cerradas durante apagado/reinicio del servidor web. También se puede usar la función memcache_close().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo Memcache::close()

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
/*
Algo aquí ....
*/
memcache_close($memcache_obj);

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
/*
Algo aquí..
*/
$memcache_obj->close();

?>

Ver también

  • Memcache::connect() - Abre una conexión al servidor memcached
  • Memcache::pconnect() - Abre una conexión persistente a memcached

Memcache::addServer
Memcache::connect
Memcache


Abre una conexión al servidor memcached

Memcache::close
Memcache::decrement
Memcache
PHP Manual

Memcache::connect

(PECL memcache >= 0.2.0)

Memcache::connect — Abre una conexión al servidor memcached

Descripción

bool Memcache::connect ( string $host [, int $port [, int $timeout ]] )

Memcache::connect() establece una conexión al servidor memcached. La conexión, que fue abierta usando Memcache::connect() será automáticamente cerrada al finalizar la ejecucción del script. También se puede cerrar con Memcache::close(). También puede usar la función memcache_connect().

Parámetros

host

El host donde el memcached está esperando conexiones. En este parámetro también se puede especificar otros transporte como unix:///path/to/memcached.sock para usar UNIX domain sockets. En este caso port debe ser establecido a 0.

port

El puerto donde memcached está esperando conexiones. Establezca este parámetro a 0 cuando se usan UNIX domain sockets.

Por favor note: port será por defecto memcache.default_port en caso de no especificarse. Por esta razón, se recomienda especificar el puerto explícitamente en la llamada a este método.

timeout

Valor en segundos que se utilizarán para conectarse al demonio. Piensa dos veces antes de cambiar el valor por defecto de 1 segundo, puedes perder todas la ventajas del caché si tus conexiones son muy lentas.

Notas

Advertencia

Cuando no se especifica port, este método usará el valor establecido en la directiva ini memcache.default_port de PHP. Si este valor se cambiara en cualquier lugar de la aplicación podría conducir a resultados inesperados; por esta razón, es prudente especificar el puerto explícitamente en la llamada a este método.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Memcache::connect() example

<?php

/* procedural API */

$memcache_obj = memcache_connect('memcache_host', 11211);

/* OO API */

$memcache = new Memcache;
$memcache->connect('memcache_host', 11211);

?>

Ver también

  • Memcache::pconnect() - Abre una conexión persistente a memcached
  • Memcache::close() - Cierra la conexión al servidor memcached

Memcache::close
Memcache::decrement
Memcache


Decrementa numéricamente un valor

Memcache::connect
Memcache::delete
Memcache
PHP Manual

Memcache::decrement

(PECL memcache >= 0.2.0)

Memcache::decrement — Decrementa numéricamente un valor

Descripción

int Memcache::decrement ( string $key [, int $value = 1 ] )

Memcache::decrement() decrementa numéricamente el valor según el value. Es similar a Memcache::increment(), después de que el value sea extraído el valor es convertido a numérico.

Nota:

El nuevo valor del objecto no será inferior a cero.

Nota:

No use Memcache::decrement() en un valor, que fué guardado con compresión, porque en este caso Memcache::get() no funcionará.

Memcache::decrement() no genera un valor si no existía previamente. También se puede usar la función memcache_decrement().

Parámetros

key

Clave del valor a decrementar.

value

Decrementar el valor según el value.

Valores devueltos

Devuelve el nuevo valor éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo Memcache::decrement()

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
/* decrement item by 2 */
$new_value = memcache_decrement($memcache_obj, 'test_item', 2);

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
/* decrement item by 3 */
$new_value = $memcache_obj->decrement('test_item', 3);
?>

Ver también

  • Memcache::increment() - Incrementa numéricamente un valor
  • Memcache::replace() - Reemplaza el valor de un valor existente

Memcache::connect
Memcache::delete
Memcache


Elimina un valor del servidor

Memcache::decrement
Memcache::flush
Memcache
PHP Manual

Memcache::delete

(PECL memcache >= 0.2.0)

Memcache::delete — Elimina un valor del servidor

Descripción

bool Memcache::delete ( string $key [, int $timeout = 0 ] )

Memcache::delete() elimina el valor según la clave key.

Parámetros

key

La clave asociada con el valor a eliminar.

timeout

Este parámetro ya no está soportado, y su valor por omisión es 0 segundos. No se debe usar este parámetro.

Historial de cambios

Versión | Descripción
Desconocido | No se recomienda utilizar el parámetro timeout. Su comportamiento no es consistente entre las versiones de memcached, pero sí es seguro utilizar 0. El uso de otros valores puede provocar que la función delete de memcache falle.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de Memcache::delete()

<?php

/* API por procedimientos */
$memcache_obj = memcache_connect('memcache_host', 11211);

/* el valor será eliminado por el servidor */
memcache_delete($memcache_obj, 'key_to_delete');

/* API OO */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);

$memcache_obj->delete('key_to_delete');

?>

Ver también

  • Memcache::set() - Guarda datos en el servidor
  • Memcache::replace() - Reemplaza el valor de un valor existente

Memcache::decrement
Memcache::flush
Memcache


Limpia todos los valores existentes en el servidor

Memcache::delete
Memcache::get
Memcache
PHP Manual

Memcache::flush

(PECL memcache >= 1.0.0)

Memcache::flush — Limpia todos los valores existentes en el servidor

Descripción

bool Memcache::flush ( void )

Memcache::flush() invalida inmediatamente todos los valores existentes. Memcache::flush() no libera recursos del sistema, solamente marca los valores como expirados, la memoria que ahora se ocupa será sobreescrita por los nuevos valores. También se puede usar la función memcache_flush().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de Memcache::flush()

<?php

/* API por procedimientos */
$memcache_obj = memcache_connect('memcache_host', 11211);

memcache_flush($memcache_obj);

/* API OO */

$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);

$memcache_obj->flush();

?>

Memcache::delete
Memcache::get
Memcache


Obtener valor del servidor

Memcache::flush
Memcache::getExtendedStats
Memcache
PHP Manual

Memcache::get

(PECL memcache >= 0.2.0)

Memcache::get — Obtener valor del servidor

Descripción

string Memcache::get ( string $key [, int &$flags ] )
array Memcache::get ( array $keys [, array &$flags ] )

Memcache::get() devuelve los datos previamente almacenados si el valor con la key existe en el servidor en este momento.

Se puede pasar un array de llaves a Memcache::get() para obtener un array de valores. El resultado del array contendrá solamente las parejas llave-valor encontradas.

Parámetros

key

La llave o array de llaves a capturar.

flags

Si está presente, las flags capturadas juntamente con los valores serán escritas en este parámetro. Estas flags son las mismas que las dadas por ejemplo en Memcache::set(). El byte más bajo del entero está reservado para uso interno de pecl/memcache (ej. para estado de compresión y serialización).

Valores devueltos

Devuelve la cadena asociada con la clave dada por key o un array de pares clave-valor cuando key es un array. Devuelve FALSE en caso de error, key no se encuentra, o key es un array vacío.

Ejemplos

Ejemplo #1 Ejemplo de Memcache::get()

<?php

/* API por procedimientos */
$memcache_obj = memcache_connect('memcache_host', 11211);
$var = memcache_get($memcache_obj, 'some_key');

/* API OO */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
$var = $memcache_obj->get('some_key');

/*
También se puede usar array de keys como parámetro.
Si el valor no fue encontrado en el servidor, el
resultado del array simplemente no contendrá dicha
clave.
*/

/* API por procedimientos */
$memcache_obj = memcache_connect('memcache_host', 11211);
$var = memcache_get($memcache_obj, Array('some_key', 'another_key'));

/* API OO */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
$var = $memcache_obj->get(Array('some_key', 'second_key'));

?>

Memcache::flush
Memcache::getExtendedStats
Memcache


Obtener estadísticas de todos los servidores en el grupo

Memcache::get
Memcache::getServerStatus
Memcache
PHP Manual

Memcache::getExtendedStats

(PECL memcache >= 2.0.0)

Memcache::getExtendedStats — Obtener estadísticas de todos los servidores en el grupo

Descripción

array Memcache::getExtendedStats ([ string $type [, int $slabid [, int $limit = 100 ]]] )

Memcache::getExtendedStats() devuelve un array asociativo de dos dimensiones con estadísticas del servidor(es). Las llaves del array corresponden al servidor:puerto y los valores contienen las estadísticas de cada servidor. En caso de error el servidor tendrá su correspondiente entrada asignada a FALSE. También puede usar la función memcache_get_extended_stats().

Nota:

Esta función fue añadida en la versión 2.0.0. de Memcache.

Parámetros

type

Tipo de estadísticas a capturar. Valores válidos son {reset, malloc, maps, cachedump, slabs, items, sizes}. Según la especificación del protocolo de memcached estos son los argumentos adicionales "pueden estar sujetos a cambios por conveniencia de los desarrolladores de memcache".

slabid

Usado en conjunto con cachedump en el type para identificar el slap desde donde volcar. El comando cachedump va en conjunto con el servidor y debe ser usado estrictamente para propósitos de depuración.

limit

Usado en conjunto con cachedump en el type para limitar el número de entradas a volcar.

Advertencia

El tipo cachedump stat ha sido eliminado del demonio memcached por razones de seguridad.

Valores devueltos

Devuelve un array asociativo de dos dimensiones con las estadísticas o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de Memcache::getExtendedStats()

<?php
    $memcache_obj = new Memcache;
    $memcache_obj->addServer('memcache_host', 11211);
    $memcache_obj->addServer('failed_host', 11211);

    $stats = $memcache_obj->getExtendedStats();
    print_r($stats);
?>

El resultado del ejemplo sería:

Array
(
    [memcache_host:11211] => Array
        (
            [pid] => 3756
            [uptime] => 603011
            [time] => 1133810435
            [version] => 1.1.12
            [rusage_user] => 0.451931
            [rusage_system] => 0.634903
            [curr_items] => 2483
            [total_items] => 3079
            [bytes] => 2718136
            [curr_connections] => 2
            [total_connections] => 807
            [connection_structures] => 13
            [cmd_get] => 9748
            [cmd_set] => 3096
            [get_hits] => 5976
            [get_misses] => 3772
            [bytes_read] => 3448968
            [bytes_written] => 2318883
            [limit_maxbytes] => 33554432
        )

    [failed_host:11211] => false
)

Ver también

  • Memcache::getVersion() - Devuelve la versión del servidor
  • Memcache::getStats() - Obtiene estadísticas del servidor

Memcache::get
Memcache::getServerStatus
Memcache


Devuelve el estado del servidor

Memcache::getExtendedStats
Memcache::getStats
Memcache
PHP Manual

Memcache::getServerStatus

(PECL memcache >= 2.1.0)

Memcache::getServerStatus — Devuelve el estado del servidor

Descripción

int Memcache::getServerStatus ( string $host [, int $port = 11211 ] )

Memcache::getServerStatus() devuelve el estado online/offline del servidor. También se puede usar la función memcache_get_server_status().

Nota:

Esta función fue añadida en la versión 2.1.0. de Memcache.

Parámetros

host

Apunta al servidor donde memcached está esperando conexiones.

port

Apunta al puerto donde mecached está esperando conexiones.

Valores devueltos

Devuelve el estado del servidor. 0 si el servidor devolvió un error, de lo contrario no devolverá cero.

Ejemplos

Ejemplo #1 Ejemplo de Memcache::getServerStatus()

<?php

/* API OO */
$memcache = new Memcache;
$memcache->addServer('memcache_host', 11211);
echo $memcache->getServerStatus('memcache_host', 11211);

/* API por procedimientos */
$memcache = memcache_connect('memcache_host', 11211);
echo memcache_get_server_status($memcache, 'memcache_host', 11211);

?>

Ver también

  • Memcache::addServer() - Añadir servidor memcache al grupo de conexiones
  • Memcache::setServerParams() - Cambia parámetros del servidor y estado en tiempo de ejecucción

Memcache::getExtendedStats
Memcache::getStats
Memcache


Obtiene estadísticas del servidor

Memcache::getServerStatus
Memcache::getVersion
Memcache
PHP Manual

Memcache::getStats

(PECL memcache >= 0.2.0)

Memcache::getStats — Obtiene estadísticas del servidor

Descripción

array Memcache::getStats ([ string $type [, int $slabid [, int $limit = 100 ]]] )

Memcache::getStats() devuelve un array asociativo con las estadísticas del servidor. Las llaves del array corresponden a los parámetros de las estadísticas y los valores a los valores de los parámetros. También se puede usar la función memcache_get_stats().

Parámetros

type

Tipo de estadísticas a capturar. Valores válidos son {reset, malloc, maps, cachedump, slabs, items, sizes}. Según la especificación del protocolo de memcached estos son los argumentos adicionales "pueden estar sujetos a cambios por conveniencia de los desarrolladores de memcache".

slabid

Usado en conjunto con cachedump en el type para identificar el slap desde donde volcar. El comando cachedump va en conjunto con el servidor y debe ser usado estrictamente para propósitos de depuración.

limit

Usado en conjunto con cachedump en el type para limitar el número de entradas a volcar.

Valores devueltos

Devuelve un array asociativo con las estadísticas del servidor o FALSE en caso de error.

Ver también

  • Memcache::getVersion() - Devuelve la versión del servidor
  • Memcache::getExtendedStats() - Obtener estadísticas de todos los servidores en el grupo

Memcache::getServerStatus
Memcache::getVersion
Memcache


Devuelve la versión del servidor

Memcache::getStats
Memcache::increment
Memcache
PHP Manual

Memcache::getVersion

(PECL memcache >= 0.2.0)

Memcache::getVersion — Devuelve la versión del servidor

Descripción

string Memcache::getVersion ( void )

Memcache::getVersion() devuelve una cadena con el número de la versión del servidor. También puede usar la función memcache_get_version().

Valores devueltos

Devuelve una cadena con el número de la versión del servidor o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de Memcache::getVersion()

<?php

/* API OO */
$memcache = new Memcache;
$memcache->connect('memcache_host', 11211);
echo $memcache->getVersion();

/* API por procedimientos */
$memcache = memcache_connect('memcache_host', 11211);
echo memcache_get_version($memcache);

?>

Ver también

  • Memcache::getExtendedStats() - Obtener estadísticas de todos los servidores en el grupo
  • Memcache::getStats() - Obtiene estadísticas del servidor

Memcache::getStats
Memcache::increment
Memcache


Incrementa numéricamente un valor

Memcache::getVersion
Memcache::pconnect
Memcache
PHP Manual

Memcache::increment

(PECL memcache >= 0.2.0)

Memcache::increment — Incrementa numéricamente un valor

Descripción

int Memcache::increment ( string $key [, int $value = 1 ] )

Memcache::increment() incrementa el valor según el value. Si el valor con la key no es numérico y no se puede convertir a número, cambiará su valor a value. Memcache::increment() no creará el valor si no existe.

Nota:

No use Memcache::increment() en un valor, que fué guardado con compresión, porque en este caso Memcache::get() no funcionará.

También se puede usar la función memcache_increment().

Parámetros

key

Clave del valor a incrementar.

value

Incrementar el valor por value.

Valores devueltos

Devuelve el nuevo valor en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de Memcache::increment()

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
/* increment counter by 2 */
$current_value = memcache_increment($memcache_obj, 'counter', 2);

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
/* increment counter by 3 */
$current_value = $memcache_obj->increment('counter', 3);

?>

Ver también

  • Memcache::decrement() - Decrementa numéricamente un valor
  • Memcache::replace() - Reemplaza el valor de un valor existente

Memcache::getVersion
Memcache::pconnect
Memcache


Abre una conexión persistente a memcached

Memcache::increment
Memcache::replace
Memcache
PHP Manual

Memcache::pconnect

(PECL memcache >= 0.4.0)

Memcache::pconnect — Abre una conexión persistente a memcached

Descripción

mixed Memcache::pconnect ( string $host [, int $port [, int $timeout ]] )

Memcache::pconnect() es similar a Memcache::connect() con la diferencia que la conexión que establece es persistente. La conexión no se cierra al finalizar el script o usando la función Memcache::close(). También se puede usar la función memcache_pconnect().

Parámetros

host

Apunta al host donde memcache está esperando conexiones. En este parámetro quizá puede especificar otros transportes como unix:///path/to/memcached.sock para usar UNIX domain sockets, en este caso. port debe establecerse a 0.

port

Apunta al puerto donde memcache está esperando conexiones. Estableza este parámetro a 0 cuando se use UNIX domain sockets.

timeout

Valor en segundos que serán usandos para conectar al demonio. Piénselo dos veces antes de cambiar el valor por defecto a 1 segundo. Se pueden perder todas las ventajas del caché si la conexión es muy lenta.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de Memcache::pconnect()

<?php

/* API por procedimientos */
$memcache_obj = memcache_pconnect('memcache_host', 11211);

/* API OO  */

$memcache_obj = new Memcache;
$memcache_obj->pconnect('memcache_host', 11211);

?>

Ver también

  • Memcache::connect() - Abre una conexión al servidor memcached

Memcache::increment
Memcache::replace
Memcache


Reemplaza el valor de un valor existente

Memcache::pconnect
Memcache::set
Memcache
PHP Manual

Memcache::replace

(PECL memcache >= 0.2.0)

Memcache::replace — Reemplaza el valor de un valor existente

Descripción

bool Memcache::replace ( string $key , mixed $var [, int $flag [, int $expire ]] )

Memcache::replace() debe ser usado para reemplazar el valor de un valor existente en una key determinada. En caso que la llave no exista, Memcache::replace() devolverá FALSE. Por lo demás Memcache::replace() funciona similar a Memcache::set(). También se puede usar la función memcache_replace().

Parámetros

key

La clave que será asociada con el valor.

var

La variable a guardar. Cadenas y enteros son guardados tal y como son, otros tipos son guardados de forma serializada.

flag

Utilice MEMCACHE_COMPRESSED para guardar el valor de forma comprimida (utiliza zlib).

expire

Tiempo de expiración del valor. Si es igual a cero, el valor nunca expirará. También se puede usar Unix timestamp o el número de segundos empezando desde de hora actual, pero como máximo el número de segundos no debe exceder de 2592000 (30 días).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de Memcache::replace()

<?php

$memcache_obj = memcache_connect('memcache_host', 11211);

/* API por procedimientos */
memcache_replace($memcache_obj, "test_key", "some variable", false, 30);

/* API OO */
$memcache_obj->replace("test_key", "some variable", false, 30);

?>

Ver también

  • Memcache::set() - Guarda datos en el servidor
  • Memcache::add() - Añadir un valor en el servidor

Memcache::pconnect
Memcache::set
Memcache


Guarda datos en el servidor

Memcache::replace
Memcache::setCompressThreshold
Memcache
PHP Manual

Memcache::set

(PECL memcache >= 0.2.0)

Memcache::set — Guarda datos en el servidor

Descripción

bool Memcache::set ( string $key , mixed $var [, int $flag [, int $expire ]] )

Memcache::set() guarda un valor var con una key en el servidor memcached. El parámetro expire es el tiempo de expiración en segundos. Si es 0, el valor nunca expira (pero el servidor memcached no garantiza que este valor será guardado para siempre, puede ser eliminado de la caché para hacer espacio para otros valores). Se puede usar la constante MEMCACHE_COMPRESSED en el valor del flag si quiere utilizar compresión al momento (usando zlib).

Nota:

Recuerde que variables de recursos (ej. ficheros y descriptores de conexiones) no pueden guardarse en caché, porque no pueden ser representados adecuadamente de forma serializada.

También se puede usar la función memcache_set().

Parámetros

key

La clave que quedará asociada con el valor.

var

La variable a guardar. Cadenas y enteros se guardan tal y como son, otros tipos se guardan serializados.

flag

Use MEMCACHE_COMPRESSED para guardar datos comprimidos (usa zlib).

expire

Tiempo de expiración del valor. Si es iqual a cero, el valor nunca expirará. También puedes usar Unix timestamp o el número de segundos empezando desde la fecha actual, el valor no puede exceder de 2592000 segundos (30 días).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de Memcache::set()

<?php
/* API por procedimientos */

/* Conectar al servidor memcached */
$memcache_obj = memcache_connect('memcache_host', 11211);

/*
Establecer el valor según la key 'var_key'
usando 0 como valor del flag, no será usada compresión
el tiempo de expiración es de 30 segundos
*/
memcache_set($memcache_obj, 'var_key', 'some variable', 0, 30);

echo memcache_get($memcache_obj, 'var_key');

?>

Ejemplo #2 Ejemplo de Memcache::set()

<?php
/* API OO */

$memcache_obj = new Memcache;

/* connect to memcached server */
$memcache_obj->connect('memcache_host', 11211);

/*
Establece el valor según la llave 'var_key', usando compresión al momento
expira en 50 segundos
*/
$memcache_obj->set('var_key', 'some really big variable', MEMCACHE_COMPRESSED, 50);

echo $memcache_obj->get('var_key');

?>

Ver también

  • Memcache::add() - Añadir un valor en el servidor
  • Memcache::replace() - Reemplaza el valor de un valor existente

Memcache::replace
Memcache::setCompressThreshold
Memcache


Activa compresión automática de valores con datos largos

Memcache::set
Memcache::setServerParams
Memcache
PHP Manual

Memcache::setCompressThreshold

(PECL memcache >= 2.0.0)

Memcache::setCompressThreshold — Activa compresión automática de valores con datos largos

Descripción

bool Memcache::setCompressThreshold ( int $threshold [, float $min_savings ] )

Memcache::setCompressThreshold() activa compresión automática de valores largos. También se puede usar la función memcache_set_compress_threshold().

Nota:

Esta función fue añadida en la versión 2.0.0. de Memcache.

Parámetros

threshold

Controla la longitud valor mínimo antes de intentar comprimir automáticamente.

min_saving

Especifica la cantidad mínima del ratio de compresión para guardar el valor. El valor debe ser entre 0 y 1. Por defecto es de 0,2 un mínimo de 20% de ratio de compresión.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de Memcache::setCompressThreshold()

<?php

/* API OO */

$memcache_obj = new Memcache;
$memcache_obj->addServer('memcache_host', 11211);
$memcache_obj->setCompressThreshold(20000, 0.2);

/* API por procedimientos */

$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_compress_threshold($memcache_obj, 20000, 0.2);

?>

Memcache::set
Memcache::setServerParams
Memcache


Cambia parámetros del servidor y estado en tiempo de ejecucción

Memcache::setCompressThreshold
Funciones de Memcache
Memcache
PHP Manual

Memcache::setServerParams

(PECL memcache >= 2.1.0)

Memcache::setServerParams — Cambia parámetros del servidor y estado en tiempo de ejecucción

Descripción

bool Memcache::setServerParams ( string $host [, int $port = 11211 [, int $timeout [, int $retry_interval = false [, bool $status [, callable $failure_callback ]]]]] )

Memcache::setServerParams() cambia parámetros del servidor en tiempo de ejecucción. También se puede usar la función memcache_set_server_params().

Nota:

Esta función fue añadida en la versión 2.1.0. de Memcache.

Parámetros

host

Apunta al host donde memcached está esperando conexiones.

port

Apunta al puerto donde memcached está esperando conexiones.

timeout

Valor en segundos que se utilizarán para conectarse al demonio. Piensa dos veces antes de cambiar el valor por defecto de 1 segundo, puedes perder todas la ventajas del caché si tus conexiones son muy lentas.

retry_interval

Controla la frecuencia de reintentos cuando falla la conexión, el valor por defecto es 15 segundos. Si establece este parámetro a -1 desactivará el reintento automático. Ni esta opción ni el parámetro persistent tienen ningún efecto cuando la extensión se carga dinámicamente a través de dl().

status

Controla si el servidor debe ser marcado como online. Estableciendo este parámetro a FALSE y retry_interval a -1 permite a un servidor que falle a ser mantenido en el grupo para no afectar el algoritmo de distribución de llaves. Las peticiones a este servidor fallarán inmediatamente dependiendo en la opción memcache.allow_failover. Por defecto to TRUE, que significa que el servidor se considera online.

failure_callback

Permite al usuario a especificar la llamada a una función de retorno a ejectuar cuando se encuentre un error. La llamada de retorno se ejecuta antes de que se produzca la caída en la conexión. La función toma dos parámetros, el hostname y el puerto del puerto que ha fallado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de Memcache::setServerParams()

<?php

function _callback_memcache_failure($host, $port) {
    print "memcache '$host:$port' failed";
}

/* API OO */

$memcache = new Memcache;

// Añadir servidor en modo offline.
$memcache->addServer('memcache_host', 11211, false, 1, 1, -1, false);

// Establecer el servidor de offline a online.
$memcache->setServerParams('memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');

/* API por procedimientos */

$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_server_params($memcache_obj, 'memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');

?>

Ver también

  • Memcache::addServer() - Añadir servidor memcache al grupo de conexiones
  • Memcache::getServerStatus() - Devuelve el estado del servidor

Memcache::setCompressThreshold
Funciones de Memcache
Memcache


Funciones de Memcache

Tabla de contenidos

  • memcache_debug — Activa/desactiva debug output
Memcache::setServerParams
memcache_debug
Memcache


Activa/desactiva debug output

Funciones de Memcache
Memcached
Funciones de Memcache
PHP Manual

memcache_debug

(PECL memcache >= 0.2.0)

memcache_debug — Activa/desactiva debug output

Descripción

bool memcache_debug ( bool $on_off )

memcache_debug() activa el debug output si el parámetro on_off es igual a TRUE y lo desactiva si es igual a FALSE.

Nota:

Solamente se puede acceder a memcache_debug() si PHP fue compilado con la opción --enable-debug y en este caso siempre retorna TRUE. De lo contrario, esta función no tiene ningún efecto y siempre devuelve FALSE.

Parámetros

on_off

Activa debug output si es igual a TRUE. Desactiva debug output si es igual a FALSE.

Valores devueltos

Devuelve TRUE si PHP fue compilado con la opción --enable-debug, de lo contrario devuelve FALSE.

Funciones de Memcache
Memcached
Funciones de Memcache


Memcached

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Tiempo de expiración
  • Llamadas de retorno
    • Resultado de llamadas de retorno
    • Lectura de caché de llamadas de retorno
  • Soporte de sesiones
  • Memcached — La clase Memcached
    • Memcached::add — Añade un nuevo ítem asociado a una nueva clave
    • Memcached::addByKey — Añade un ítem asociado a una nueva clave en un servidor determinado
    • Memcached::addServer — Añade un servidor al conjunto de servidores
    • Memcached::addServers — Añadir múltiple servidores al grupo de servidores
    • Memcached::append — Añadir datos a un ítem existente
    • Memcached::appendByKey — Añadir datos a un ítem existente en un servidor específico
    • Memcached::cas — Comparar e intercambiar un ítem
    • Memcached::casByKey — Comparar y cambiar un ítem en un servidor específico
    • Memcached::__construct — Crear una instancia de Memcached
    • Memcached::decrement — Decrementar de forma numérica el valor de un ítem
    • Memcached::decrementByKey — Disminuir el valor del elemento numérico, almacenado en un servidor específico
    • Memcached::delete — Eliminar un ítem
    • Memcached::deleteByKey — Eliminar una clave de un servidor específico
    • Memcached::deleteMulti — Delete multiple items
    • Memcached::deleteMultiByKey — Delete multiple items from a specific server
    • Memcached::fetch — Obtener el siguiente resultado
    • Memcached::fetchAll — Obtener todos los resultados restantes
    • Memcached::flush — Invalidar todos los ítems en la caché
    • Memcached::get — Obtener un ítem
    • Memcached::getAllKeys — Gets the keys stored on all the servers
    • Memcached::getByKey — Obtiene un ítem de un servidor específico
    • Memcached::getDelayed — Obtener varios ítems
    • Memcached::getDelayedByKey — Solicitar múltiples ítems de un servidor específico
    • Memcached::getMulti — Obtener múltiples ítems
    • Memcached::getMultiByKey — Obtener múltiple ítems de un servidor específico
    • Memcached::getOption — Obtener el valor de una opción Memcached
    • Memcached::getResultCode — Devuelve el código de respuesta de la última operación
    • Memcached::getResultMessage — Devolver un mensaje describiendo el resultado de la última operación
    • Memcached::getServerByKey — Hacer corresponder una clave con un servidor
    • Memcached::getServerList — Obtiene la lista de servidores del conjunto
    • Memcached::getStats — Obtiene estadísticas de un grupo de servidores
    • Memcached::getVersion — Obtiene la información de la versión del grupo de servidores
    • Memcached::increment — Incrementa el valor númerico del ítem
    • Memcached::incrementByKey — Increment numeric item's value, stored on a specific server
    • Memcached::isPersistent — Check if a persitent connection to memcache is being used
    • Memcached::isPristine — Check if the instance was recently created
    • Memcached::prepend — Anteponer datos a un ítem existente
    • Memcached::prependByKey — Antepone datos en un ítem existente en un servidor específico
    • Memcached::quit — Cerrar las Conexiones abiertas
    • Memcached::replace — Reemplaza un ítem bajo una clave ya existente
    • Memcached::replaceByKey — Reemplaza un ítem bajo una clave existente en un servidor específico
    • Memcached::resetServerList — Limpiar todos los servidores de la lista de servidores
    • Memcached::set — Guarda un ítem
    • Memcached::setByKey — Guardar un ítem en un servidor específico
    • Memcached::setMulti — Guarda múltiples ítems
    • Memcached::setMultiByKey — Guarda múltiple ítems en un servidor específico
    • Memcached::setOption — Establece una opción Memcached
    • Memcached::setOptions — Set Memcached options
    • Memcached::setSaslAuthData — Set the credentials to use for authentication
    • Memcached::touch — Establecer una nueva fecha de vencimiento en un elemento
    • Memcached::touchByKey — Set a new expiration on an item on a specific server
  • MemcachedException — La clase MemcachedException
memcache_debug
Introducción
Otros servicios


Introducción

» memcached es un sistema caché de memoria distribuida de alto rendimiento orientado a objetos de tipo genérico, pero pensado principalmente para incrementar la velocidad de aplicaciones web mejorando la carga de bases de datos.

Esta extensión utiliza la biblioteca libmemcached para proveer una API para la comunicación con servidores que usan caché de memoria. También proporciona un gestor de sesiones (memcached).

Puede encontrarse más información a cerca de libmemcached en » http://libmemcached.org/libMemcached.html.

Memcached
Instalación/Configuración
Memcached


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Memcached


Requerimientos

Esta extensión requiere la biblioteca cliente » libmemcached (versión 1.0.0 o posterior). Para el soporte de autenticación SASL, libmemcached debe estar construida con SASL habilitado.

Desde la versión 0.2.0, esta extensión requiere PHP versión 5.2.0 o superior.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/memcached.

Si libmemcached está instalada en una ubicación no estándar, use la opción --with-libmemcached-dir=DIR , siendo DIR el prefijo de instalación de libmemcached. Este directorio debe contener el fichero include/libmemcached/memcached.h.

Se require Zlib para el soporte de compresión. Para especificar una instalación no estándar de Zlib, use la opción --with-zlib-dir=DIR siendo DIR el prefijo de instalación de Zlib.

El soporte para el controlador de sesiones está activado de manera predeterminada. Para desactivarlo, use la opción --disable-memcached-session .

El soporte para la autenticación SASL está deshabilitado de forma predeterminada. Para habilitarlo, use la opción --enable-memcached-sasl . Esto requiere que libsasl2 haya sido instalada y que libmemcached haya sido construida con el soporte para SASL habilitado.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Memcached Opciones de configuración
Nombre | Por defecto | Cambiable | Historial de cambios
memcached.sess_locking | 1 | PHP_INI_ALL |
memcached.sess_consistent_hash | 0 | PHP_INI_ALL |
memcached.sess_binary | 0 | PHP_INI_ALL |
memcached.sess_lock_wait | 150000 | PHP_INI_ALL |
memcached.sess_prefix | memc.sess.key. | PHP_INI_ALL |
memcached.sess_number_of_replicas | 0 | PHP_INI_ALL |
memcached.sess_randomize_replica_read | 0 | PHP_INI_ALL |
memcached.sess_remove_failed | 0 | PHP_INI_ALL |
memcached.compression_type | fastlz | PHP_INI_ALL |
memcached.compression_factor | 1.3 | PHP_INI_ALL |
memcached.compression_threshold | 2000 | PHP_INI_ALL |
memcached.serializer | php | PHP_INI_ALL |
memcached.use_sasl | 0 | PHP_INI_SYSTEM |

He aquí una breve explicación de las directivas de configuración.

memcached.sess_locking integer

Use session locking. Valid values: On, Off, the default is On.

memcached.sess_consistent_hash integer

Memcached session consistent hash mode. If set to On, consistent hashing is used for session handling. When consistent hashing is used, one can add or remove cache node(s) without messing up too much with existing keys. The default is Off.

memcached.sess_binary integer

Use memcached session binary mode. Libmemcached replicas only work if binary mode is enabled. The default is Off.

memcached.sess_lock_wait integer

Session spin lock retry wait time in microseconds. Be carefull when setting this value. Valid values are integers, where 0 is interpreted as the default value. Negative values result in a reduces locking to a try lock. The default is 150000.

memcached.sess_prefix string

Memcached session key prefix. Valid values are strings less than 219 bytes long. The default value is "memc.sess.key."

memcached.sess_number_of_replicas integer

The memcached session number of replicas.

memcached.sess_randomize_replica_read integer

Memcached session replica read randomize.

memcached.sess_remove_failed integer

Allow failed memcached server to automatically be removed.

memcached.compression_type string

Set the compression type, valid values are: fastlz, zlib. The default is fastlz.

memcached.compression_factor float

Compression factor. Store compressed value only if the compression factor (saving) exceeds the set limit. Store compressed if: plain_len > comp_len * factor. The default value is 1.3 (23% space saving).

memcached.compression_threshold integer

The compression threshold. Do not compress serialized values below this threshold. The default is 2000 bytes.

memcached.serializer string

Set the default serializer for new memcached objects. Valid values are: php, igbinary, json, json_array.

json

Standard php JSON encoding. This serializer is fast and compact but only works on UTF-8 encoded data and does not fully implement serializing. See the JSON extension.

json_array

As json, but decodes into arrays.

php

The standard PHP serializer.

igbinary

A binary serializer

The default is igbinary if available and php otherwise.

memcached.use_sasl integer

Use SASL authentication for connections. Valid values: On, Off. The default is Off.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Memcached::OPT_COMPRESSION

Activa o desactiva la compresión del contenido. Cuando está activado, los valores de los ítems mayores de cierto umbral (actualmente 100 bytes) serán comprimidos durante el almacenamiento y descomprimidos durante su obtención de forma transparente.

Tipo: boolean, predeterminado: TRUE.

Memcached::OPT_SERIALIZER

Especifica el serializador a usar para serializar valores no escalares. Los serializadores válidos son Memcached::SERIALIZER_PHP o Memcached::SERIALIZER_IGBINARY. Este último solo es soportado cuando memcached es configurado con la opción --enable-memcached-igbinary y la extensión igbinary está disponible.

Tipo: integer, predeterminado: Memcached::SERIALIZER_PHP.

Memcached::SERIALIZER_PHP

El serializador PHP por defecto.

Memcached::SERIALIZER_IGBINARY

El serializador » igbinary. En lugar de tener una representación textual guarda esctructuras de datos PHP de forma binaria, lo que resulta en mejoras de espacio y tiempo.

Memcached::SERIALIZER_JSON

El serializador JSON. Requiere PHP 5.2.10+.

Memcached::OPT_PREFIX_KEY

Puede ser usado para crear un "dominio" para tus claves ítem. El valor especificado será usado para prefijar cada una de las claves. No puede ser más mayor que 128 caracteres y reducirá el tamaño máximo para el tamaño de la clave. El prefijo será usado solamente en las claves de los ítem, no en claves de servidores.

Tipo: string, predeterminado: "".

Memcached::OPT_HASH

Especifica el algoritmo hash utilizado por las claves ítem. Los valores válidos se proporcionan mediante las constantes del tipo Memcached::HASH_*. Cada algoritmo hash tiene sus ventajas y desventajas. Usar el valor por defecto si no se tiene conocimiento o no tiene relevancia.

Tipo: integer, predeterminado: Memcached::HASH_DEFAULT

Memcached::HASH_DEFAULT

Algoritmo de hash para claves por defecto (Jenkins una-a-la-vez).

Memcached::HASH_MD5

Algoritmo de hash para claves MD5.

Memcached::HASH_CRC

Algoritmo de hash para claves CRC.

Memcached::HASH_FNV1_64

Algoritmo de hash para claves FNV1_64.

Memcached::HASH_FNV1A_64

Algoritmo de hash para claves FNV1_64A.

Memcached::HASH_FNV1_32

Algoritmo de hash para claves FNV1_32.

Memcached::HASH_FNV1A_32

Algoritmo de hash para claves FNV1_32A.

Memcached::HASH_HSIEH

Algoritmo de hash para claves Hsieh.

Memcached::HASH_MURMUR

Algoritmo de hash para claves Murmur

Memcached::OPT_DISTRIBUTION

Especifica el método para distribuir claves ítem en los servidores. Actualmente los métodos soportados son Modulo y hash consistente. Hash consistente proporciona una mejor distribución y permite que los servidores sean añadidos al cluster con el mínimo de pérdidas cache.

Tipo: integer, predeterminado: Memcached::DISTRIBUTION_MODULA.

Memcached::DISTRIBUTION_MODULA

Algoritmo de distribución de claves basado en Modulo.

Memcached::DISTRIBUTION_CONSISTENT

Algoritmo de distribución de claves hash consistente (basado en libketama).

Memcached::OPT_LIBKETAMA_COMPATIBLE

Activa o desactiva la compatibilidad con el comportamiento de libketama. Cuando está activado, el algoritmo hash de clave ítem es defindo a MD5 y su distribución es definida a balance de distribución hash consistente. Esto es útil porque otros clientes basados en libketama (Python, Ruby, etc.) con la misma configuración serán capaces de acceder a las claves de forma transparente.

Nota:

Es muy recomendable activar esta opción si se quiere usar hash consistente y seguramente estará activado por defecto en futuras versiones.

Tipo: boolean, predeterminado: FALSE.

Memcached::OPT_BUFFER_WRITES

Activa o desactiva el buffer E/S. Activar el buffer E/S hace que los comandos de almacenamiento usen el "buffer" en lugar de ser enviados directamente. Cualquier acción que obtenga datos hacen que la información del buffer sea enviada a la conexión remota. El salir o cerrar la conexión también hará que el los datos del buffer sean enviados a la conexión remota.

Tipo: boolean, predeterminado: FALSE.

Memcached::OPT_BINARY_PROTOCOL

Activa el uso del protocolo binario. Por favor nótese que no se puede cambiar esta opción cuando la conexión está abierta.

Tipo: boolean, predeterminado: FALSE.

Memcached::OPT_NO_BLOCK

Activa o desactiva escritura E/S no-sincrona. Esta es la manera más rápida disponible para funciones de almacenamiento.

Tipo: boolean, predeterminado: FALSE.

Memcached::OPT_TCP_NODELAY

Activa o desactiva la opción de no-retraso para conectar a sockets (puede que sea más rápida en algunos entornos).

Tipo: boolean, predeterminado: FALSE.

Memcached::OPT_SOCKET_SEND_SIZE

El número máximo de envíos de socket en bytes.

Tipo: integer, predeterminado: varía según la plataforma/configuración del kernel.

Memcached::OPT_SOCKET_RECV_SIZE

El número máximo de recepción de socket en bytes.

Tipo: integer, predeterminado: varía según la plataforma/configuración del kernel.

Memcached::OPT_CONNECT_TIMEOUT

En el modo no-bloqueo este valor establece el tiempo de espera durante la conexión al socket, en milisengundos.

Tipo: integer, predeterminado: 1000.

Memcached::OPT_RETRY_TIMEOUT

La cantidad de tiempo en segundos, a esperar para reintentar la conexión en caso que haya fallado.

Tipo: integer, predeterminado: 0.

Memcached::OPT_SEND_TIMEOUT

Tiempo de espera para el envío al socket, en microsegundos. En los casos donde no se puede usar no-bloqueo de E/S esta opción permitirá tener tiempos de espera al enviar datos.

Tipo: integer, predeterminado: 0.

Memcached::OPT_RECV_TIMEOUT

Tiempo de espera para la lectura del socket, en microsegundos. En los casos donde no se puede usar no-bloqueo E/S esta opción permitirá tener tiempos de espera al leer datos.

Tipo: integer, predeterminado: 0.

Memcached::OPT_POLL_TIMEOUT

Tiempo de espera para la conexión al polling, en milisegundos.

Tipo: integer, predeterminado: 1000.

Memcached::OPT_CACHE_LOOKUPS

Activa o desactiva caché para resoluciones DNS.

Tipo: boolean, predeterminado: FALSE.

Memcached::OPT_SERVER_FAILURE_LIMIT

Especifica el límite de fallos para los intentos de conexión al servidor. El servidor será eliminado después del número indicado para los continuos fallos de conexión.

Tipo: integer, predeterminado: 0.

Memcached::HAVE_IGBINARY

Indica cuando está disponible el soporte para el serializador igbinary.

Tipo: boolean.

Memcached::HAVE_JSON

Indica cuando está disponible el soporte para el serializador JSON.

Tipo: boolean.

Memcached::GET_PRESERVE_ORDER

Opción para Memcached::getMulti() y Memcached::getMultiByKey() para asegurarse que las claves son devueltas en el mismo orden que fueron solicitadas. Las claves no existentes obtienen el valor por defecto null.

Memcached::RES_SUCCESS

La operación se completó satisfactoriamente.

Memcached::RES_FAILURE

La operación falló de algún modo.

Memcached::RES_HOST_LOOKUP_FAILURE

Falló la resolución DNS.

Memcached::RES_UNKNOWN_READ_FAILURE

Falló al leer datos de la red.

Memcached::RES_PROTOCOL_ERROR

Comando erróneo del protocolo memcached.

Memcached::RES_CLIENT_ERROR

Error en el lado cliente.

Memcached::RES_SERVER_ERROR

Error en el lado servidor.

Memcached::RES_WRITE_FAILURE

Fallo al escribir datos en la red.

Memcached::RES_DATA_EXISTS

Falló al comparar e intercambiar: el ítem que se quiere guardar ha sido modificado desde la última vez que se obtuvo.

Memcached::RES_NOTSTORED

El ítem no fue guardado: pero no a causa de un error. Normalmente significa que no se cumplió la condición para "add" o "replace" o que el ítem está en la cola para ser eliminado.

Memcached::RES_NOTFOUND

No se encontró el ítem con esta clave (mediante la operación "get" o "cas").

Memcached::RES_PARTIAL_READ

Error parcial de lectura en la red.

Memcached::RES_SOME_ERRORS

Algunos errores sucedieron durante multi-get.

Memcached::RES_NO_SERVERS

La lista de servidores está vacía.

Memcached::RES_END

Final de la lista de resultados.

Memcached::RES_ERRNO

Error del sistema.

Memcached::RES_BUFFERED

La operación fue puesta en el buffer.

Memcached::RES_TIMEOUT

Se agotó el tiempo de espera para la operación.

Memcached::RES_BAD_KEY_PROVIDED

Clave errónea.

Memcached::RES_CONNECTION_SOCKET_CREATE_FAILURE

Falló al crear el socket de red.

Memcached::RES_PAYLOAD_FAILURE

Error de carga: no se pudo comprimir/descomprimir o serializar/deserializar el valor.

Tipos de recursos
Tiempo de expiración
Memcached


Tiempo de expiración

Algunos comandos de almacenamiento necesitan un valor con el tiempo de expiración ( relativo a un ítem o a una operación solicitada por el cliente) para el servidor. En todos los casos, el valor enviado debe ser en tiempo Unix (número de segundos desde el 1 de Enero, 1970, en valor numérico), o el número de segundos empezando por el tiempo actual. En este caso, el número no debe exceder de 60*60*24*30 (que corresponde al número de segundos en 30 días); si el tiempo de expiración excede, el servidor considerará el valor como tiempo Unix en lugar del número de segundos desde la hora actual.

Si el valor es 0 ), el ítem nunca caduca (aunque puede ser eliminado por el servidor para hacer espacio para otros ítems).

Constantes predefinidas
Llamadas de retorno
Memcached


Llamadas de retorno

Tabla de contenidos

  • Resultado de llamadas de retorno
  • Lectura de caché de llamadas de retorno
Tiempo de expiración
Resultado de llamadas de retorno
Memcached


Resultado de llamadas de retorno

El resultado de las callbacks están invocados por los métodos Memcached::getDelayed() o Memcached::getDelayedBykey() por cada ítem del resultado. La llamada de retorno es pasada al objeto Memcached y el array con la información de cada ítem. La llamada de retorno en sí, no devuelve nada.

Ejemplo #1 Ejemplo de resultado de llamada de retorno

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$items = array(
    'key1' => 'value1',
    'key2' => 'value2',
    'key3' => 'value3'
);
$m->setMulti($items);
$m->getDelayed(array('key1', 'key3'), true, 'result_cb');

function result_cb($memc, $item)
{
    var_dump($item);
}
?>

El resultado del ejemplo sería algo similar a:

array(3) {
  ["key"]=>
  string(4) "key1"
  ["value"]=>
  string(6) "value1"
  ["cas"]=>
  float(49)
}
array(3) {
  ["key"]=>
  string(4) "key3"
  ["value"]=>
  string(6) "value3"
  ["cas"]=>
  float(50)
}
Llamadas de retorno
Lectura de caché de llamadas de retorno
Llamadas de retorno


Lectura de caché de llamadas de retorno

La lectura de caché de llamadas de retorno se invoca cuando un ítem no puede ser obtenido de un servidor. La llamada de retorno es pasada al objecto Memcached junto con la petición de la clave y el valor de la variable por referencia. La llamada de retorno se encarga de definir el valor y devolver true o false. Si la llamada de retorno devuelve true, Memcached guardará el valor en el servidor y lo devolverá en la llamada de la función original Memcached::get() y Memcached::getByKey() soportan llamadas de retorno, ya que el protocolo memcache no provee información sobre las claves que no fueron encontradas en una petición múltiple.

Ejemplo #1 Ejemplo de lectura de llamada de retorno

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$profile_info = $m->get('user:'.$user_id, 'user_info_cb');

function user_info_cb($memc, $key, &$value)
{
    $user_id = substr($key, 5);
    /* busca el profile en la BD */
    /* ... */
    $value = $profile_info;
    return true;
}
?>
Resultado de llamadas de retorno
Soporte de sesiones
Llamadas de retorno


Soporte de sesiones

Memcached proporciona un controlador personalizado de sesiones que puede ser usado para guardar sesiones de usuario en memcache. Utiliza una instancia completamente separada para este propósito, así que se puede usar un grupo de servidores diferente si es necesario. Las claves de sesión son guardadas bajo el prefijo memc.sess.key., hay que tenerlo en cuenta si se utiliza el mismo grupo de servidores para sesiones y caché genérico.

session.save_handler string

Defínase como memcached para activar el soporte de sesiones.

session.save_path string

Separado por comas se definen las entradas hostname:port para ser usadas en grupos de servidores de sesiones, por ejemplo "sess1:11211, sess2:11211".

Lectura de caché de llamadas de retorno
Memcached
Memcached


La clase Memcached

(PECL memcached >= 0.1.0)

Introducción

Representa una conexión a un conjunto de servidores memcached.

Sinopsis de la Clase

Memcached {
public __construct ([ string $persistent_id ] )
public bool add ( string $key , mixed $value [, int $expiration ] )
public bool addByKey ( string $server_key , string $key , mixed $value [, int $expiration ] )
public bool addServer ( string $host , int $port [, int $weight = 0 ] )
public bool addServers ( array $servers )
public bool append ( string $key , string $value )
public bool appendByKey ( string $server_key , string $key , string $value )
public bool cas ( float $cas_token , string $key , mixed $value [, int $expiration ] )
public bool casByKey ( float $cas_token , string $server_key , string $key , mixed $value [, int $expiration ] )
public int decrement ( string $key [, int $offset = 1 [, int $initial_value = 0 [, int $expiry = 0 ]]] )
public int decrementByKey ( string $server_key , string $key [, int $offset = 1 [, int $initial_value = 0 [, int $expiry = 0 ]]] )
public bool delete ( string $key [, int $time = 0 ] )
public bool deleteByKey ( string $server_key , string $key [, int $time = 0 ] )
public bool deleteMulti ( array $keys [, int $time = 0 ] )
public bool deleteMultiByKey ( string $server_key , array $keys [, int $time = 0 ] )
public array fetch ( void )
public array fetchAll ( void )
public bool flush ([ int $delay = 0 ] )
public mixed get ( string $key [, callable $cache_cb [, float &$cas_token ]] )
public array getAllKeys ( void )
public mixed getByKey ( string $server_key , string $key [, callable $cache_cb [, float &$cas_token ]] )
public bool getDelayed ( array $keys [, bool $with_cas [, callable $value_cb ]] )
public bool getDelayedByKey ( string $server_key , array $keys [, bool $with_cas [, callable $value_cb ]] )
public mixed getMulti ( array $keys [, array &$cas_tokens [, int $flags ]] )
public array getMultiByKey ( string $server_key , array $keys [, string &$cas_tokens [, int $flags ]] )
public mixed getOption ( int $option )
public int getResultCode ( void )
public string getResultMessage ( void )
public array getServerByKey ( string $server_key )
public array getServerList ( void )
public array getStats ( void )
public array getVersion ( void )
public int increment ( string $key [, int $offset = 1 [, int $initial_value = 0 [, int $expiry = 0 ]]] )
public int incrementByKey ( string $server_key , string $key [, int $offset = 1 [, int $initial_value = 0 [, int $expiry = 0 ]]] )
public bool isPersistent ( void )
public bool isPristine ( void )
public bool prepend ( string $key , string $value )
public bool prependByKey ( string $server_key , string $key , string $value )
public bool quit ( void )
public bool replace ( string $key , mixed $value [, int $expiration ] )
public bool replaceByKey ( string $server_key , string $key , mixed $value [, int $expiration ] )
public bool resetServerList ( void )
public bool set ( string $key , mixed $value [, int $expiration ] )
public bool setByKey ( string $server_key , string $key , mixed $value [, int $expiration ] )
public bool setMulti ( array $items [, int $expiration ] )
public bool setMultiByKey ( string $server_key , array $items [, int $expiration ] )
public bool setOption ( int $option , mixed $value )
public bool setOptions ( array $options )
public void setSaslAuthData ( string $username , string $password )
public bool touch ( string $key , int $expiration )
public bool touchByKey ( string $server_key , string $key , int $expiration )
}

Tabla de contenidos

  • Memcached::add — Añade un nuevo ítem asociado a una nueva clave
  • Memcached::addByKey — Añade un ítem asociado a una nueva clave en un servidor determinado
  • Memcached::addServer — Añade un servidor al conjunto de servidores
  • Memcached::addServers — Añadir múltiple servidores al grupo de servidores
  • Memcached::append — Añadir datos a un ítem existente
  • Memcached::appendByKey — Añadir datos a un ítem existente en un servidor específico
  • Memcached::cas — Comparar e intercambiar un ítem
  • Memcached::casByKey — Comparar y cambiar un ítem en un servidor específico
  • Memcached::__construct — Crear una instancia de Memcached
  • Memcached::decrement — Decrementar de forma numérica el valor de un ítem
  • Memcached::decrementByKey — Disminuir el valor del elemento numérico, almacenado en un servidor específico
  • Memcached::delete — Eliminar un ítem
  • Memcached::deleteByKey — Eliminar una clave de un servidor específico
  • Memcached::deleteMulti — Delete multiple items
  • Memcached::deleteMultiByKey — Delete multiple items from a specific server
  • Memcached::fetch — Obtener el siguiente resultado
  • Memcached::fetchAll — Obtener todos los resultados restantes
  • Memcached::flush — Invalidar todos los ítems en la caché
  • Memcached::get — Obtener un ítem
  • Memcached::getAllKeys — Gets the keys stored on all the servers
  • Memcached::getByKey — Obtiene un ítem de un servidor específico
  • Memcached::getDelayed — Obtener varios ítems
  • Memcached::getDelayedByKey — Solicitar múltiples ítems de un servidor específico
  • Memcached::getMulti — Obtener múltiples ítems
  • Memcached::getMultiByKey — Obtener múltiple ítems de un servidor específico
  • Memcached::getOption — Obtener el valor de una opción Memcached
  • Memcached::getResultCode — Devuelve el código de respuesta de la última operación
  • Memcached::getResultMessage — Devolver un mensaje describiendo el resultado de la última operación
  • Memcached::getServerByKey — Hacer corresponder una clave con un servidor
  • Memcached::getServerList — Obtiene la lista de servidores del conjunto
  • Memcached::getStats — Obtiene estadísticas de un grupo de servidores
  • Memcached::getVersion — Obtiene la información de la versión del grupo de servidores
  • Memcached::increment — Incrementa el valor númerico del ítem
  • Memcached::incrementByKey — Increment numeric item's value, stored on a specific server
  • Memcached::isPersistent — Check if a persitent connection to memcache is being used
  • Memcached::isPristine — Check if the instance was recently created
  • Memcached::prepend — Anteponer datos a un ítem existente
  • Memcached::prependByKey — Antepone datos en un ítem existente en un servidor específico
  • Memcached::quit — Cerrar las Conexiones abiertas
  • Memcached::replace — Reemplaza un ítem bajo una clave ya existente
  • Memcached::replaceByKey — Reemplaza un ítem bajo una clave existente en un servidor específico
  • Memcached::resetServerList — Limpiar todos los servidores de la lista de servidores
  • Memcached::set — Guarda un ítem
  • Memcached::setByKey — Guardar un ítem en un servidor específico
  • Memcached::setMulti — Guarda múltiples ítems
  • Memcached::setMultiByKey — Guarda múltiple ítems en un servidor específico
  • Memcached::setOption — Establece una opción Memcached
  • Memcached::setOptions — Set Memcached options
  • Memcached::setSaslAuthData — Set the credentials to use for authentication
  • Memcached::touch — Establecer una nueva fecha de vencimiento en un elemento
  • Memcached::touchByKey — Set a new expiration on an item on a specific server
Soporte de sesiones
Memcached::add
Memcached


Añade un nuevo ítem asociado a una nueva clave

Memcached
Memcached::addByKey
Memcached
PHP Manual

Memcached::add

(PECL memcached >= 0.1.0)

Memcached::add — Añade un nuevo ítem asociado a una nueva clave

Descripción

public bool Memcached::add ( string $key , mixed $value [, int $expiration ] )

Memcached::add() es similar a Memcached::set(), pero la operación fallará si key ya existe en el servidor.

Parámetros

key

La claven en donde se guardará el valor.

value

El valor a guardar.

expiration

Tiempo de expiración, por defecto definido a 0. VeaTiempos de Expiración para más info info.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. The Memcached::getResultCode() devolverá Memcached::RES_NOTSTORED si la clave ya existe.

Ver también

  • Memcached::addByKey() - Añade un ítem asociado a una nueva clave en un servidor determinado
  • Memcached::set() - Guarda un ítem
  • Memcached::replace() - Reemplaza un ítem bajo una clave ya existente

Memcached
Memcached::addByKey
Memcached


Añade un ítem asociado a una nueva clave en un servidor determinado

Memcached::add
Memcached::addServer
Memcached
PHP Manual

Memcached::addByKey

(PECL memcached >= 0.1.0)

Memcached::addByKey — Añade un ítem asociado a una nueva clave en un servidor determinado

Descripción

public bool Memcached::addByKey ( string $server_key , string $key , mixed $value [, int $expiration ] )

Memcached::addByKey() su funcionalidad es equivalente a Memcached::add(), con la excepción de que server_key puede ser usado para apuntar la key a un servidor determinado. Es útil si se necesita relacionar cierta cantidad de claves a un servidor determinado.

Parámetros

server_key

La clave que identifica el servidor en donde guardar el valor o desde el que recuperarlo. En lugar de realizar un hash en la clave real para el elemento, se realiza el hash en la clave del servidor al decidir con cual servidor almacenado en memoria caché conversar. Esto permite a los elementos relacionados que sean agrupados en un único servidor para más eficacia con multioperaciones.

key

La claven en donde se guardará el valor.

value

El valor a guardar.

expiration

Tiempo de expiración, por defecto definido a 0. VeaTiempos de Expiración para más info info.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. The Memcached::getResultCode() devolverá Memcached::RES_NOTSTORED si la clave ya existe.

Ver también

  • Memcached::add() - Añade un nuevo ítem asociado a una nueva clave
  • Memcached::set() - Guarda un ítem
  • Memcached::replace() - Reemplaza un ítem bajo una clave ya existente

Memcached::add
Memcached::addServer
Memcached


Añade un servidor al conjunto de servidores

Memcached::addByKey
Memcached::addServers
Memcached
PHP Manual

Memcached::addServer

(PECL memcached >= 0.1.0)

Memcached::addServer — Añade un servidor al conjunto de servidores

Descripción

public bool Memcached::addServer ( string $host , int $port [, int $weight = 0 ] )

Memcached::addServer() añade un servidor determinado al conjunto de servidores. No se establece conexión al servidor en esta operación, pero si se está usando la opción consistent key distribution (a través de Memcached::DISTRIBUTION_CONSISTENT o Memcached::OPT_LIBKETAMA_COMPATIBLE), algunas de las estructuras de datos internas deberán ser actualizadas. Por lo tanto, si se necesita añadir varios servidores, es mejor usar Memcached::addServers() ya que la actualización sucede una sola vez.

Puede suceder que el mismo servidor aparezca varias veces en el conjunto de servidores, por que no se comprueban duplicados. Por lo tanto, no se aconseja. En su lugar, use la opción weight para incrementar la importancia de uso del servidor respecto los demás servidores.

Parámetros

host

El nombre del host del servidor memcache. Si el nombre del host no es válido, las operaciones con datos devolverán el código Memcached::RES_HOST_LOOKUP_FAILURE como resultado.

port

El puerto en que memcache está funcionado. Normalmente es 11211.

weight

La importancia del servidor relativa a la importancia total de todos los servidores en el conjunto de servidores. Controla la probabilidad de que un servidor sea elegido para realizar operaciones. Solamente se utiliza para la opción de distribución consistente y normalmente corresponde a la cantidad de memoria disponible para memcache en el servidor.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de Memcached::addServer()

<?php
$m = new Memcached();

/* Añade 2 servidores, de forma que el segundo
   tiene el doble de probabilidades de ser selecionado. */
$m->addServer('mem1.domain.com', 11211, 33);
$m->addServer('mem2.domain.com', 11211, 67);
?>

Ver también

  • Memcached::addServers() - Añadir múltiple servidores al grupo de servidores
  • Memcached::resetServerList() - Limpiar todos los servidores de la lista de servidores

Memcached::addByKey
Memcached::addServers
Memcached


Añadir múltiple servidores al grupo de servidores

Memcached::addServer
Memcached::append
Memcached
PHP Manual

Memcached::addServers

(PECL memcached >= 0.1.1)

Memcached::addServers — Añadir múltiple servidores al grupo de servidores

Descripción

public bool Memcached::addServers ( array $servers )

Memcached::addServers() añade servidores al grupo de servidores. Cada entrada en servidores debe ser un array conteniendo el nombre del servidor, puerto y opcionalmente el peso de importancia del servidor. No se estabecerá conexión a los servidores en este proceso.

Si no se tiene en cuenta que esta función no realiza comprobaciones de duplicados, el mismo servidor puede aparecer varias veces el en grupo de servidores. No es aconsejable, en su lugar, usar la opción weight para incrementar el peso de importancia de un servidor.

Parámetros

array

Array de servidores a añadir en el grupo de servidores.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de Memcached::addServers()

<?php
$m = new Memcached();

$servers = array(
    array('mem1.domain.com', 11211, 33),
    array('mem2.domain.com', 11211, 67)
);
$m->addServers($servers);
?>

Ver también

  • Memcached::addServer() - Añade un servidor al conjunto de servidores
  • Memcached::resetServerList() - Limpiar todos los servidores de la lista de servidores

Memcached::addServer
Memcached::append
Memcached


Añadir datos a un ítem existente

Memcached::addServers
Memcached::appendByKey
Memcached
PHP Manual

Memcached::append

(PECL memcached >= 0.1.0)

Memcached::append — Añadir datos a un ítem existente

Descripción

public bool Memcached::append ( string $key , string $value )

Memcached::append() añade el string value dado al valor del ítem existente. La razón por la cual el value es forzado a ser un string, es porque añadir tipos mixtos no está bien definido.

Nota:

Si Memcached::OPT_COMPRESSION está activado, la operación fallará y devolverá un warning, ya que añadir datos comprimidos a un valor que puede ya estar comprimido, no es posible.

Parámetros

key

La claven en donde se guardará el valor.

value

El string a añadir.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Memcached::getResultCode() devolverá Memcached::RES_NOTSTORED si la clave no existe.

Ejemplos

Ejemplo #1 Ejemplo de Memcached::append()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$m->setOption(Memcached::OPT_COMPRESSION, false);

$m->set('foo', 'abc');
$m->append('foo', 'def');
var_dump($m->get('foo'));
?>

El resultado del ejemplo sería:

string(6) "abcdef"

Ver también

  • Memcached::appendByKey() - Añadir datos a un ítem existente en un servidor específico
  • Memcached::prepend() - Anteponer datos a un ítem existente

Memcached::addServers
Memcached::appendByKey
Memcached


Añadir datos a un ítem existente en un servidor específico

Memcached::append
Memcached::cas
Memcached
PHP Manual

Memcached::appendByKey

(PECL memcached >= 0.1.0)

Memcached::appendByKey — Añadir datos a un ítem existente en un servidor específico

Descripción

public bool Memcached::appendByKey ( string $server_key , string $key , string $value )

Memcached::appendByKey() esta funcionalidad es equivalente a Memcached::append(), excepto que se puede usar server_key para apuntar la key a un servidor específico.

Parámetros

server_key

La clave que identifica el servidor en donde guardar el valor o desde el que recuperarlo. En lugar de realizar un hash en la clave real para el elemento, se realiza el hash en la clave del servidor al decidir con cual servidor almacenado en memoria caché conversar. Esto permite a los elementos relacionados que sean agrupados en un único servidor para más eficacia con multioperaciones.

key

La claven en donde se guardará el valor.

value

El string a añadir.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. The Memcached::getResultCode() devolverá Memcached::RES_NOTSTORED si clave no existe.

Ver también

  • Memcached::append() - Añadir datos a un ítem existente
  • Memcached::prepend() - Anteponer datos a un ítem existente

Memcached::append
Memcached::cas
Memcached


Comparar e intercambiar un ítem

Memcached::appendByKey
Memcached::casByKey
Memcached
PHP Manual

Memcached::cas

(PECL memcached >= 0.1.0)

Memcached::cas — Comparar e intercambiar un ítem

Descripción

public bool Memcached::cas ( float $cas_token , string $key , mixed $value [, int $expiration ] )

Memcached::cas() realiza la operación "comprobar y definir", de forma que el ítem será guardado solamente si ningún otro cliente actualizó el valor desde la última vez que el cliente lo obtuvo. La comprobación se realiza mediante el parámetro cas_token que es un valor único de 64-bit asignado al ítem existente por memcache. Vea la documentación de los métodos Memcached::get*() para averiguar como obtener este token. Nótese que el token está representado como double debido a las limitaciones de espacio para enteros de PHP.

Parámetros

cas_token

El valor único asociado con el ítem existente. Generado por memcache.

key

La claven en donde se guardará el valor.

value

El valor a guardar.

expiration

Tiempo de expiración, por defecto definido a 0. VeaTiempos de Expiración para más info info.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Memcached::getResultCode() devolverá Memcached::RES_DATA_EXISTS si el ítem que se trata de guardar ha sido modificado desde la última vez que se obtuvo.

Ejemplos

Ejemplo #1 Ejemplos de Memcached::cas()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

do {
    /* Obtener lista de direcciones IP y sus tokens */
    $ips = $m->get('ip_block', null, $cas);
    /* Si la lista no existe todavía, crea una y hace
       un añadido atómico que fallará si alguien ya añadió un valor */
    if ($m->getResultCode() == Memcached::RES_NOTFOUND) {
        $ips = array($_SERVER['REMOTE_ADDR']);
        $m->add('ip_block', $ips);
    /* en caso contrario, añade la IP a la lista y guarda vía comprar-y-cambiar
       con el token, que fallará si alguien ya actualizó la lista */
    } else {
        $ips[] = $_SERVER['REMOTE_ADDR'];
        $m->cas($cas, 'ip_block', $ips);
    }
} while ($m->getResultCode() != Memcached::RES_SUCCESS);

?>

Ver también

  • Memcached::casByKey() - Comparar y cambiar un ítem en un servidor específico

Memcached::appendByKey
Memcached::casByKey
Memcached


Comparar y cambiar un ítem en un servidor específico

Memcached::cas
Memcached::__construct
Memcached
PHP Manual

Memcached::casByKey

(PECL memcached >= 0.1.0)

Memcached::casByKey — Comparar y cambiar un ítem en un servidor específico

Descripción

public bool Memcached::casByKey ( float $cas_token , string $server_key , string $key , mixed $value [, int $expiration ] )

Memcached::casByKey() su funcionalidad es equivalente a Memcached::cas(), con la excepción de que server_key puede ser usado para apuntar la key a un servidor específico. Resulta útil si se necesita mantener muchas claves relacionadas con cierto servidor.

Parámetros

cas_token

Valor único asociado con el ítem existente. Generado por memcache.

server_key

La clave que identifica el servidor en donde guardar el valor o desde el que recuperarlo. En lugar de realizar un hash en la clave real para el elemento, se realiza el hash en la clave del servidor al decidir con cual servidor almacenado en memoria caché conversar. Esto permite a los elementos relacionados que sean agrupados en un único servidor para más eficacia con multioperaciones.

key

La claven en donde se guardará el valor.

value

El valor a guardar.

expiration

Tiempo de expiración, por defecto definido a 0. VeaTiempos de Expiración para más info info.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Memcached::getResultCode() devolverá Memcached::RES_DATA_EXISTS si el ítem que se trata de guardar ha sido modificado desde la última vez que se obtuvo.

Ver también

  • Memcached::cas() - Comparar e intercambiar un ítem

Memcached::cas
Memcached::__construct
Memcached


Crear una instancia de Memcached

Memcached::casByKey
Memcached::decrement
Memcached
PHP Manual

Memcached::__construct

(PECL memcached >= 0.1.0)

Memcached::__construct — Crear una instancia de Memcached

Descripción

public Memcached::__construct() ([ string $persistent_id ] )

Crea una instancia de Memcached representando la conexión a los servidores de memcache.

Parámetros

persistent_id

Por defecto las instancias de Memcached son destruidas al final de la petición. Para crear una instancia que persiste entre peticiones, use persistent_id para especificar un ID único para la instancia. Todas las instancias creadas con el mismo persistent_id compartirán la misma conexión.

Valores devueltos

El objeto Memcached.

Ejemplos

Ejemplo #1 Creando un objeto Memcached

<?php
/* Crea una instancia normal */
$m = new Memcached();
echo get_class($m);

/* Crea una instancia persistente */
$m2 = new Memcached('story_pool');
$m3 = new Memcached('story_pool');

/* ahora $m2 y $m3 comparten la misma conexión */
?>

Memcached::casByKey
Memcached::decrement
Memcached


Decrementar de forma numérica el valor de un ítem

Memcached::__construct
Memcached::decrementByKey
Memcached
PHP Manual

Memcached::decrement

(PECL memcached >= 0.1.0)

Memcached::decrement — Decrementar de forma numérica el valor de un ítem

Descripción

public int Memcached::decrement ( string $key [, int $offset = 1 [, int $initial_value = 0 [, int $expiry = 0 ]]] )

Memcached::decrement() decrementa el valor númerico del ítem por el offset especificado. Si el valor del ítem no es numérico, generará un error. Si la operación requiere decrementar un valor inferior a 0, el nuevo valor será 0. Memcached::decrement() establecerá el ítem al parámetro initial_value si la clave no existe.

Parámetros

key

La clave del ítem a decrementar.

offset

La cantidad que se quiere decrementar el valor del ítem.

initial_value

El valor para esteblecer el ítem si actualmente no existe.

expiry

El periodo de expiración a establecer en el ítem.

Valores devueltos

Devuelve el nuevo valor del ítem en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de Memcached::decrement()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('counter', 5);
$n = $m->decrement('counter');
var_dump($n);

$n = $m->decrement('counter', 10);
var_dump($n);

var_dump($m->get('counter'));

$m->set('counter', 'abc');
$n = $m->increment('counter');
// ^ fallará debido a que el valor del ítem no es numérico
var_dump($n);
?>

El resultado del ejemplo sería:

int(4)
int(0)
int(0)
bool(false)

Ver también

  • Memcached::increment() - Incrementa el valor númerico del ítem
  • Memcached::incrementByKey() - Increment numeric item's value, stored on a specific server
  • Memcached::decrementByKey() - Disminuir el valor del elemento numérico, almacenado en un servidor específico

Memcached::__construct
Memcached::decrementByKey
Memcached


Disminuir el valor del elemento numérico, almacenado en un servidor específico

Memcached::decrement
Memcached::delete
Memcached
PHP Manual

Memcached::decrementByKey

(PECL memcached >= 2.0.0)

Memcached::decrementByKey — Disminuir el valor del elemento numérico, almacenado en un servidor específico

Descripción

public int Memcached::decrementByKey ( string $server_key , string $key [, int $offset = 1 [, int $initial_value = 0 [, int $expiry = 0 ]]] )

Memcached::decrementByKey() disminuye un elemento de valor numérico especificado en el parámetro offset. Si el valor del elemento no es numérico, se producirá un error. Si la operación disminuye el valor por debajo de 0, el nuevo valor será 0. Memcached::decrementByKey() se establece el elemento en el parámetro initial_value si la clave no existe.

Parámetros

server_key

La clave que identifica el servidor en donde guardar el valor o desde el que recuperarlo. En lugar de realizar un hash en la clave real para el elemento, se realiza el hash en la clave del servidor al decidir con cual servidor almacenado en memoria caché conversar. Esto permite a los elementos relacionados que sean agrupados en un único servidor para más eficacia con multioperaciones.

key

La clave del elemento a disminuir.

offset

La cantidad a disminuir el valor del elemento.

initial_value

El valor del elemento si no existe actualmente.

expiry

El tiempo de caducidad para definir en el elemento.

Valores devueltos

Devuelve el nuevo valor del elemento en caso de éxito o FALSE en caso de error.

Ver también

  • Memcached::decrement() - Decrementar de forma numérica el valor de un ítem
  • Memcached::increment() - Incrementa el valor númerico del ítem
  • Memcached::incrementByKey() - Increment numeric item's value, stored on a specific server

Memcached::decrement
Memcached::delete
Memcached


Eliminar un ítem

Memcached::decrementByKey
Memcached::deleteByKey
Memcached
PHP Manual

Memcached::delete

(PECL memcached >= 0.1.0)

Memcached::delete — Eliminar un ítem

Descripción

public bool Memcached::delete ( string $key [, int $time = 0 ] )

Memcached::delete() elimina la key del servidor. El parámetro time es la cantidad de tiempo en segundos (o tiempo Unix time hasta que sobrepase) que el cliente rechazará el uso de los comandos add y replace para esta clave. Durante este período de tiempo, el ítem es puesto en una cola de eliminado, lo que significa que no será posible ser obtenido usando el comando get pero los comandos add y replace también fallarán para esta clave (sin embargo el comando set funcionará). Después de que pase el tiempo, el ítem será finalmente eliminado del servidor de memoria. El After the time passes, the item is finally deleted from server memory. The parámetro time por defecto es 0 (lo que significa que el ítem será eliminado inmediatamente y que cualquiera de los comandos para guardado funcionarán).

Parámetros

key

La clave a ser eliminada.

time

La cantidad de tiempo que el servidor deberá esperar para eliminar el ítem.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Memcached::getResultCode() devolverá Memcached::RES_NOTFOUND si la clave no existe.

Ejemplos

Ejemplo #1 Ejemplo de Memcached::delete()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->delete('key1');
?>

Ver también

  • Memcached::deleteByKey() - Eliminar una clave de un servidor específico
  • Memcached::deleteMulti() - Delete multiple items

Memcached::decrementByKey
Memcached::deleteByKey
Memcached


Eliminar una clave de un servidor específico

Memcached::delete
Memcached::deleteMulti
Memcached
PHP Manual

Memcached::deleteByKey

(PECL memcached >= 0.1.0)

Memcached::deleteByKey — Eliminar una clave de un servidor específico

Descripción

public bool Memcached::deleteByKey ( string $server_key , string $key [, int $time = 0 ] )

Memcached::deleteByKey() su funcionalidad equivale a Memcached::delete(), excepto que server_key puede ser usado para apuntar la key a un servidor específico.

Parámetros

server_key

La clave que identifica el servidor en donde guardar el valor o desde el que recuperarlo. En lugar de realizar un hash en la clave real para el elemento, se realiza el hash en la clave del servidor al decidir con cual servidor almacenado en memoria caché conversar. Esto permite a los elementos relacionados que sean agrupados en un único servidor para más eficacia con multioperaciones.

key

La clave a ser eliminada.

time

La cantidad de tiempo que el servidor deberá esperar para eliminar el ítem.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. The Memcached::getResultCode() devolverá Memcached::RES_NOTFOUND si la clave no existe.

Ver también

  • Memcached::delete() - Eliminar un ítem
  • Memcached::deleteMulti() - Delete multiple items
  • Memcached::deleteMultiByKey() - Delete multiple items from a specific server

Memcached::delete
Memcached::deleteMulti
Memcached


Delete multiple items

Memcached::deleteByKey
Memcached::deleteMultiByKey
Memcached
PHP Manual

Memcached::deleteMulti

(PECL memcached >= 2.0.0)

Memcached::deleteMulti — Delete multiple items

Descripción

public bool Memcached::deleteMulti ( array $keys [, int $time = 0 ] )

Memcached::deleteMulti() deletes the array of keys from the server. The time parameter is the amount of time in seconds (or Unix time until which) the client wishes the server to refuse add and replace commands for these keys. For this amount of time, the item is put into a delete queue, which means that it won't be possible to retrieve it by the get command, but add and replace command with these keys will also fail (the set command will succeed, however). After the time passes, the item is finally deleted from server memory. The parameter time defaults to 0 (which means that the item will be deleted immediately and further storage commands with these keys will succeed).

Parámetros

keys

The keys to be deleted.

time

The amount of time the server will wait to delete the items.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. The Memcached::getResultCode() will return Memcached::RES_NOTFOUND if the key does not exist.

Ver también

  • Memcached::delete() - Eliminar un ítem
  • Memcached::deleteByKey() - Eliminar una clave de un servidor específico
  • Memcached::deleteMultiByKey() - Delete multiple items from a specific server

Memcached::deleteByKey
Memcached::deleteMultiByKey
Memcached


Delete multiple items from a specific server

Memcached::deleteMulti
Memcached::fetch
Memcached
PHP Manual

Memcached::deleteMultiByKey

(PECL memcached >= 2.0.0)

Memcached::deleteMultiByKey — Delete multiple items from a specific server

Descripción

public bool Memcached::deleteMultiByKey ( string $server_key , array $keys [, int $time = 0 ] )

Memcached::deleteMultiByKey() is functionally equivalent to Memcached::deleteMulti(), except that the free-form server_key can be used to map the keys to a specific server.

Parámetros

server_key

La clave que identifica el servidor en donde guardar el valor o desde el que recuperarlo. En lugar de realizar un hash en la clave real para el elemento, se realiza el hash en la clave del servidor al decidir con cual servidor almacenado en memoria caché conversar. Esto permite a los elementos relacionados que sean agrupados en un único servidor para más eficacia con multioperaciones.

keys

The keys to be deleted.

time

The amount of time the server will wait to delete the items.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. The Memcached::getResultCode() will return Memcached::RES_NOTFOUND if the key does not exist.

Ver también

  • Memcached::delete() - Eliminar un ítem
  • Memcached::deleteByKey() - Eliminar una clave de un servidor específico
  • Memcached::deleteMulti() - Delete multiple items

Memcached::deleteMulti
Memcached::fetch
Memcached


Obtener el siguiente resultado

Memcached::deleteMultiByKey
Memcached::fetchAll
Memcached
PHP Manual

Memcached::fetch

(PECL memcached >= 0.1.0)

Memcached::fetch — Obtener el siguiente resultado

Descripción

public array Memcached::fetch ( void )

Memcached::fetch() Obtiene el siguiente resultado de la última petición.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el siguiente resultado o FALSE en caso contrario. Memcached::getResultCode() devolverá Memcached::RES_END si no contiene más resultados.

Ejemplos

Ejemplo #1 Ejemplo de Memcached::fetch()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('int', 99);
$m->set('string', 'a simple string');
$m->set('array', array(11, 12));

$m->getDelayed(array('int', 'array'), true);
while ($result = $m->fetch()) {
    var_dump($result);
}
?>

El resultado del ejemplo sería algo similar a:

array(3) {
  ["key"]=>
  string(3) "int"
  "value"]=>
  int(99)
  ["cas"]=>
  float(2363)
}
array(3) {
  ["key"]=>
  string(5) "array"
  ["value"]=>
  array(2) {
    [0]=>
    int(11)
    [1]=>
    int(12)
  }
  ["cas"]=>
  float(2365)
}

Ver también

  • Memcached::fetchAll() - Obtener todos los resultados restantes
  • Memcached::getDelayed() - Obtener varios ítems

Memcached::deleteMultiByKey
Memcached::fetchAll
Memcached


Obtener todos los resultados restantes

Memcached::fetch
Memcached::flush
Memcached
PHP Manual

Memcached::fetchAll

(PECL memcached >= 0.1.0)

Memcached::fetchAll — Obtener todos los resultados restantes

Descripción

public array Memcached::fetchAll ( void )

Memcached::fetchAll() obtiene todos los resultados restantes de la última petición.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve los resultados o FALSE en caso de error. Use Memcached::getResultCode() si es necesario.

Ejemplos

Ejemplo #1 Ejemplo de Memcached::getDelayed()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('int', 99);
$m->set('string', 'a simple string');
$m->set('array', array(11, 12));

$m->getDelayed(array('int', 'array'), true);
var_dump($m->fetchAll());
?>

El resultado del ejemplo sería:

array(2) {
  [0]=>
  array(3) {
    ["key"]=>
    string(3) "int"
    ["value"]=>
    int(99)
    ["cas"]=>
    float(2363)
  }
  [1]=>
  array(3) {
    ["key"]=>
    string(5) "array"
    ["value"]=>
    array(2) {
      [0]=>
      int(11)
      [1]=>
      int(12)
    }
    ["cas"]=>
    float(2365)
  }
}

Ver también

  • Memcached::fetch() - Obtener el siguiente resultado
  • Memcached::getDelayed() - Obtener varios ítems

Memcached::fetch
Memcached::flush
Memcached


Invalidar todos los ítems en la caché

Memcached::fetchAll
Memcached::get
Memcached
PHP Manual

Memcached::flush

(PECL memcached >= 0.1.0)

Memcached::flush — Invalidar todos los ítems en la caché

Descripción

public bool Memcached::flush ([ int $delay = 0 ] )

Memcached::flush() Invalida todos los ítems existentes en la caché de forma inmediata (por defecto) o después de un delay especificado. Después de la invalidación ningunos de los ítems devolverá nada en respuesta a un comando de obtenido (a no ser que se haya guardado de nuevo bajo la misma clave después de que Memcached::flush() haya invalidado los ítems). El flush no libera la memoria ocupada por las claves existentes, sino que irá sucediendo a medida que nuevos ítems sean guardados.

Parámetros

delay

El número de segundos a esperar antes de invalidar los ítems.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Use Memcached::getResultCode() si es necesario.

Ejemplos

Ejemplo #1 Ejemplo de Memcached::flush()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

/* flush todos los ítems en 10 segundos */
$m->flush(10);
?>

Memcached::fetchAll
Memcached::get
Memcached


Obtener un ítem

Memcached::flush
Memcached::getAllKeys
Memcached
PHP Manual

Memcached::get

(PECL memcached >= 0.1.0)

Memcached::get — Obtener un ítem

Descripción

public mixed Memcached::get ( string $key [, callable $cache_cb [, float &$cas_token ]] )

Memcached::get() devuelve el ítem que fue previamente guardado bajo la key. Si se encuentra el ítem y se proporciona la variable cas_token, contendrá el valor CAS token para el ítem. Ver Memcached::cas() para ver como usar CAS tokens. Lectura sobre caché de llamadas de retorno se pueden especificar mediante el parámetro cache_cb.

Parámetros

key

La clave del ítem a obtener.

cache_cb

Lectura caché de llamada de retorno o NULL.

cas_token

La variable a guardar con el CAS token.

Valores devueltos

Devuelve el valor guardado en caché o FALSE en caso contrario. Memcached::getResultCode() devolverá Memcached::RES_NOTFOUND si la clave no existe.

Ejemplos

Ejemplo #1 Ejemplo 1 Memcached::get()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('foo', 100);
var_dump($m->get('foo'));
?>

El resultado del ejemplo sería:

int(100)

Ejemplo #2 Ejemplo 2 Memcached::get()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

if (!($ip = $m->get('ip_block'))) {
    if ($m->getResultCode() == Memcached::RES_NOTFOUND) {
        $ip = array();
        $m->set('ip_block', $ip);
    } else {
        /* log error */
        /* ...       */
    }
}
?>

Ver también

  • Memcached::getByKey() - Obtiene un ítem de un servidor específico
  • Memcached::getMulti() - Obtener múltiples ítems
  • Memcached::getDelayed() - Obtener varios ítems

Memcached::flush
Memcached::getAllKeys
Memcached


Gets the keys stored on all the servers

Memcached::get
Memcached::getByKey
Memcached
PHP Manual

Memcached::getAllKeys

(PECL memcached >= 2.0.0)

Memcached::getAllKeys — Gets the keys stored on all the servers

Descripción

public array Memcached::getAllKeys ( void )

Memcached::getAllKeys() queries each memcache server and retrieves an array of all keys stored on them at that point in time. This is not an atomic operation, so it isn't a truly consistent snapshot of the keys at point in time. As memcache doesn't guarantee to return all keys you also cannot assume that all keys have been returned.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns the keys stored on all the servers on success o FALSE en caso de error.

Memcached::get
Memcached::getByKey
Memcached


Obtiene un ítem de un servidor específico

Memcached::getAllKeys
Memcached::getDelayed
Memcached
PHP Manual

Memcached::getByKey

(PECL memcached >= 0.1.0)

Memcached::getByKey — Obtiene un ítem de un servidor específico

Descripción

public mixed Memcached::getByKey ( string $server_key , string $key [, callable $cache_cb [, float &$cas_token ]] )

Memcached::getByKey() su funcionalidad equivale a Memcached::get(), excepto que server_key puede ser usado para apuntar la key a un servidor específico.

Parámetros

server_key

La clave que identifica el servidor en donde guardar el valor o desde el que recuperarlo. En lugar de realizar un hash en la clave real para el elemento, se realiza el hash en la clave del servidor al decidir con cual servidor almacenado en memoria caché conversar. Esto permite a los elementos relacionados que sean agrupados en un único servidor para más eficacia con multioperaciones.

key

La clave del ítem a obtener.

cache_cb

Lectura caché de llamada de retorno o NULL

cas_token

La variable a guardar el CAS token.

Valores devueltos

Devuelve el valor guardado en caché o FALSE en caso contrario. Memcached::getResultCode() devolverá Memcached::RES_NOTFOUND si la clave no existe.

Ver también

  • Memcached::get() - Obtener un ítem
  • Memcached::getMulti() - Obtener múltiples ítems
  • Memcached::getDelayed() - Obtener varios ítems

Memcached::getAllKeys
Memcached::getDelayed
Memcached


Obtener varios ítems

Memcached::getByKey
Memcached::getDelayedByKey
Memcached
PHP Manual

Memcached::getDelayed

(PECL memcached >= 0.1.0)

Memcached::getDelayed — Obtener varios ítems

Descripción

public bool Memcached::getDelayed ( array $keys [, bool $with_cas [, callable $value_cb ]] )

Memcached::getDelayed() hace una petición a memcache de múltiples ítems con las claves que se especifican en el array de keys. El método no se espera a tener una respuesta y devuelve el valor inmediatamente. Cuando se esté preparado para colectar los ítems, hay que llamar Memcached::fetch() o Memcached::fetchAll(). Si with_cas es true, los valores del CAS token también serán solicitados.

En lugar de capturar los resultados explicitamente, se puede especificar un resultado de llamada de retorno usando el parámetro value_cb.

Parámetros

keys

Array de claves a solicitar.

with_cas

Cuando solicitar valores CAS token.

value_cb

El resultado de la llamada de retorno o NULL.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Use Memcached::getResultCode() si es necesario.

Ejemplos

Ejemplo #1 Ejemplo de Memcached::getDelayed()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('int', 99);
$m->set('string', 'a simple string');
$m->set('array', array(11, 12));

$m->getDelayed(array('int', 'array'), true);
var_dump($m->fetchAll());
?>

El resultado del ejemplo sería:

array(2) {
  [0]=>
  array(3) {
    ["key"]=>
    string(3) "int"
    ["value"]=>
    int(99)
    ["cas"]=>
    float(2363)
  }
  [1]=>
  array(3) {
    ["key"]=>
    string(5) "array"
    ["value"]=>
    array(2) {
      [0]=>
      int(11)
      [1]=>
      int(12)
    }
    ["cas"]=>
    float(2365)
  }
}

Ver también

  • Memcached::getDelayedByKey() - Solicitar múltiples ítems de un servidor específico
  • Memcached::fetch() - Obtener el siguiente resultado
  • Memcached::fetchAll() - Obtener todos los resultados restantes

Memcached::getByKey
Memcached::getDelayedByKey
Memcached


Solicitar múltiples ítems de un servidor específico

Memcached::getDelayed
Memcached::getMulti
Memcached
PHP Manual

Memcached::getDelayedByKey

(PECL memcached >= 0.1.0)

Memcached::getDelayedByKey — Solicitar múltiples ítems de un servidor específico

Descripción

public bool Memcached::getDelayedByKey ( string $server_key , array $keys [, bool $with_cas [, callable $value_cb ]] )

Memcached::getDelayedByKey() su funcionalidad es equivalente a Memcached::getDelayed(), con la excepción de que server_key puede ser usado para apuntar keys a un servidor determinado.

Parámetros

server_key

La clave que identifica el servidor en donde guardar el valor o desde el que recuperarlo. En lugar de realizar un hash en la clave real para el elemento, se realiza el hash en la clave del servidor al decidir con cual servidor almacenado en memoria caché conversar. Esto permite a los elementos relacionados que sean agrupados en un único servidor para más eficacia con multioperaciones.

keys

Array de claves a solicitar.

with_cas

Cuando también se quieren solicitar valores CAS token.

value_cb

La llamada de retorno devuelta o NULL.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Use Memcached::getResultCode() si es necesario.

Ver también

  • Memcached::getDelayed() - Obtener varios ítems
  • Memcached::fetch() - Obtener el siguiente resultado
  • Memcached::fetchAll() - Obtener todos los resultados restantes

Memcached::getDelayed
Memcached::getMulti
Memcached


Obtener múltiples ítems

Memcached::getDelayedByKey
Memcached::getMultiByKey
Memcached
PHP Manual

Memcached::getMulti

(PECL memcached >= 0.1.0)

Memcached::getMulti — Obtener múltiples ítems

Descripción

public mixed Memcached::getMulti ( array $keys [, array &$cas_tokens [, int $flags ]] )

Memcached::getMulti() es similar a Memcached::get(), pero el lugar de obtener un solo ítem proveyedo la clave, obtiene múltiples ítems indicando un array de keys. Si se define la variable cas_tokens se obtendrán los valores CAS token para los ítems que se hayan encontrado.

Nota:

A diferencia de Memcached::get() no es posible especificar una lectura caché de la llamada de retorno para Memcached::getMulti(), porque el protocolo memcache no provee información las claves que no se encontraron en la petición multi-clave.

El parámetro flags puede ser usado para especificar opciones adicionales para Memcached::getMulti(). Actualmente, la única opción disponible es Memcached::GET_PRESERVE_ORDER que asegura que las claves sean devueltas en el mismo orden en que fueron solicitadas.

Parámetros

keys

Array de claves a obtener.

cas_tokens

La variable a guardar los CAS tokens para los ítems encontrados.

flags

Las flags para la operación get.

Valores devueltos

Devuelve el array de ítems encontrados o FALSE en caso de error. Use Memcached::getResultCode() si es necesario.

Ejemplos

Ejemplo #1 Ejemplo de Memcached::getMulti()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$items = array(
    'key1' => 'value1',
    'key2' => 'value2',
    'key3' => 'value3'
);
$m->setMulti($items);
$result = $m->getMulti(array('key1', 'key3', 'badkey'), $cas);
var_dump($result, $cas);
?>

El resultado del ejemplo sería algo similar a:

array(2) {
  ["key1"]=>
  string(6) "value1"
  ["key3"]=>
  string(6) "value3"
}
array(2) {
  ["key1"]=>
  float(2360)
  ["key3"]=>
  float(2362)
}

Ejemplo #2 Ejemplo de Memcached::GET_PRESERVE_ORDER

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$data = array(
    'foo' => 'foo-data',
    'bar' => 'bar-data',
    'baz' => 'baz-data',
    'lol' => 'lol-data',
    'kek' => 'kek-data',
);

$m->setMulti($data, 3600);

$null = null;
$keys = array_keys($data);
$keys[] = 'zoo';
$got = $m->getMulti($keys, $null, Memcached::GET_PRESERVE_ORDER);

foreach ($got as $k => $v) {
    echo "$k $v\n";
}
?>

El resultado del ejemplo sería algo similar a:

foo foo-data
bar bar-data
baz baz-data
lol lol-data
kek kek-data
zoo

Ver también

  • Memcached::getMultiByKey() - Obtener múltiple ítems de un servidor específico
  • Memcached::get() - Obtener un ítem
  • Memcached::getDelayed() - Obtener varios ítems

Memcached::getDelayedByKey
Memcached::getMultiByKey
Memcached


Obtener múltiple ítems de un servidor específico

Memcached::getMulti
Memcached::getOption
Memcached
PHP Manual

Memcached::getMultiByKey

(PECL memcached >= 0.1.0)

Memcached::getMultiByKey — Obtener múltiple ítems de un servidor específico

Descripción

public array Memcached::getMultiByKey ( string $server_key , array $keys [, string &$cas_tokens [, int $flags ]] )

Memcached::getMultiByKey() su funcionalidad equivale a Memcached::getMulti(), a excepción de que server_key puede ser usado para apuntar las keys a un servidor determinado.

Parámetros

server_key

La clave que identifica el servidor en donde guardar el valor o desde el que recuperarlo. En lugar de realizar un hash en la clave real para el elemento, se realiza el hash en la clave del servidor al decidir con cual servidor almacenado en memoria caché conversar. Esto permite a los elementos relacionados que sean agrupados en un único servidor para más eficacia con multioperaciones.

keys

Array de claves a obtener.

cas_tokens

La variable a guardar los CAS tokens para los ítems encontrados.

flags

Flags para la operación get.

Valores devueltos

Devuelve el array de ítems encontrados o FALSE en caso de error. Use Memcached::getResultCode() si es necesario.

Ver también

  • Memcached::getMulti() - Obtener múltiples ítems
  • Memcached::get() - Obtener un ítem
  • Memcached::getDelayed() - Obtener varios ítems

Memcached::getMulti
Memcached::getOption
Memcached


Obtener el valor de una opción Memcached

Memcached::getMultiByKey
Memcached::getResultCode
Memcached
PHP Manual

Memcached::getOption

(PECL memcached >= 0.1.0)

Memcached::getOption — Obtener el valor de una opción Memcached

Descripción

public mixed Memcached::getOption ( int $option )

Este método devuelve el valor de una option Memcached. Alguna de las opciones corresponden a las definidas por libmemcached, y otras son específicas de la extensión. Ver Constantes Memcached para más información.

Parámetros

option

Una de las constantes Memcached::OPT_*.

Valores devueltos

Devuelve el valor de la opción solicitada, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Obteniendo opciones de Memcached

<?php
$m = new Memcached();
var_dump($m->getOption(Memcached::OPT_COMPRESSION));
var_dump($m->getOption(Memcached::OPT_POLL_TIMEOUT));
?>

El resultado del ejemplo sería algo similar a:

bool(true)
int(1000)

Ver también

  • Memcached::getOption()
  • Memcached::setOption() - Establece una opción Memcached
  • Constantes de Memcached

Memcached::getMultiByKey
Memcached::getResultCode
Memcached


Devuelve el código de respuesta de la última operación

Memcached::getOption
Memcached::getResultMessage
Memcached
PHP Manual

Memcached::getResultCode

(PECL memcached >= 0.1.0)

Memcached::getResultCode — Devuelve el código de respuesta de la última operación

Descripción

public int Memcached::getResultCode ( void )

Memcached::getResultCode() devuelve una de las constantes Memcached::RES_* como el resultado de la ejecución del último método empleado en Memcached.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El código de respuesta de la última operación con Memcached.

Ejemplos

Ejemplo #1 Ejemplo de Memcached::getResultCode()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->add('foo', 'bar');
if ($m->getResultCode() == Memcached::RES_NOTSTORED) {
    /* ... */
}
?>

Memcached::getOption
Memcached::getResultMessage
Memcached


Devolver un mensaje describiendo el resultado de la última operación

Memcached::getResultCode
Memcached::getServerByKey
Memcached
PHP Manual

Memcached::getResultMessage

(PECL memcached >= 1.0.0)

Memcached::getResultMessage — Devolver un mensaje describiendo el resultado de la última operación

Descripción

public string Memcached::getResultMessage ( void )

Memcached::getResultMessage() devuelve un string que describe el código de respuesta de la última ejecución de un método Memcached.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Mensaje describiendo el resultado de la última operación Memcached.

Ejemplos

Ejemplo #1 Ejemplo de Memcached::getResultMessage()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->add('foo', 'bar'); // la primera vez debería funcionar
$m->add('foo', 'bar');
echo $m->getResultMessage(),"\n";
?>

El resultado del ejemplo sería:

NOT STORED

Memcached::getResultCode
Memcached::getServerByKey
Memcached


Hacer corresponder una clave con un servidor

Memcached::getResultMessage
Memcached::getServerList
Memcached
PHP Manual

Memcached::getServerByKey

(PECL memcached >= 0.1.0)

Memcached::getServerByKey — Hacer corresponder una clave con un servidor

Descripción

public array Memcached::getServerByKey ( string $server_key )

Memcached::getServerByKey() devuelve el servidor que será seleccionado por una server_key en particular para todas las operaciones Memcached::*ByKey().

Parámetros

server_key

La clave que identifica el servidor en donde guardar el valor o desde el que recuperarlo. En lugar de realizar un hash en la clave real para el elemento, se realiza el hash en la clave del servidor al decidir con cual servidor almacenado en memoria caché conversar. Esto permite a los elementos relacionados que sean agrupados en un único servidor para más eficacia con multioperaciones.

Valores devueltos

Devuelve un array que contiene tres claves: host, port, y weight en caso de éxito, o FALSE en case de error. Use Memcached::getResultCode() si es necesario.

Ejemplos

Ejemplo #1 Ejemplo de Memcached::getServerByKey()

<?php
$m = new Memcached();
$m->addServers(array(
    array('mem1.domain.com', 11211, 40),
    array('mem2.domain.com', 11211, 40),
    array('mem3.domain.com', 11211, 20),
));

$m->setOption(Memcached::OPT_LIBKETAMA_COMPATIBLE, true);

var_dump($m->getServerByKey('user'));
var_dump($m->getServerByKey('log'));
var_dump($m->getServerByKey('ip'));
?>

El resultado del ejemplo sería algo similar a:

array(3) {
  ["host"]=>
  string(15) "mem3.domain.com"
  ["port"]=>
  int(11211)
  ["weight"]=>
  int(20)
}
array(3) {
  ["host"]=>
  string(15) "mem2.domain.com"
  ["port"]=>
  int(11211)
  ["weight"]=>
  int(40)
}
array(3) {
  ["host"]=>
  string(15) "mem2.domain.com"
  ["port"]=>
  int(11211)
  ["weight"]=>
  int(40)
}

Memcached::getResultMessage
Memcached::getServerList
Memcached


Obtiene la lista de servidores del conjunto

Memcached::getServerByKey
Memcached::getStats
Memcached
PHP Manual

Memcached::getServerList

(PECL memcached >= 0.1.0)

Memcached::getServerList — Obtiene la lista de servidores del conjunto

Descripción

public array Memcached::getServerList ( void )

Memcached::getServerList() devuelve la lista de todos los servidores que están el conjunto de servidores.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La lista de todos los servidores en el conjunto de servidores.

Ejemplos

Ejemplo #1 Ejemplo de Memcached::getServerList()

<?php
$m = new Memcached();
$m->addServers(array(
    array('mem1.domain.com', 11211, 20),
    array('mem2.domain.com', 11311, 80),
));
var_dump($m->getServerList());
?>

El resultado del ejemplo sería:

array(2) {
  [0]=>
  array(3) {
    ["host"]=>
    string(15) "mem1.domain.com"
    ["port"]=>
    int(11211)
    ["weight"]=>
    int(20)
  }
  [1]=>
  array(3) {
    ["host"]=>
    string(15) "mem2.domain.com"
    ["port"]=>
    int(11311)
    ["weight"]=>
    int(80)
  }
}

Memcached::getServerByKey
Memcached::getStats
Memcached


Obtiene estadísticas de un grupo de servidores

Memcached::getServerList
Memcached::getVersion
Memcached
PHP Manual

Memcached::getStats

(PECL memcached >= 0.1.0)

Memcached::getStats — Obtiene estadísticas de un grupo de servidores

Descripción

public array Memcached::getStats ( void )

Memcached::getStats() devuelve un array que contiene el estado de todos los servidores memcache disponibles. Ver la especificación del » protocolo de memcache para más información sobre este tipo de estadísticas.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Array de estadísticas de servidores, una entrada por servidor.

Ejemplos

Ejemplo #1 Ejemplo de Memcached::getStats()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

print_r($m->getStats());
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [localhost:11211] => Array
        (
            [pid] => 4933
            [uptime] => 786123
            [threads] => 1
            [time] => 1233868010
            [pointer_size] => 32
            [rusage_user_seconds] => 0
            [rusage_user_microseconds] => 140000
            [rusage_system_seconds] => 23
            [rusage_system_microseconds] => 210000
            [curr_items] => 145
            [total_items] => 2374
            [limit_maxbytes] => 67108864
            [curr_connections] => 2
            [total_connections] => 151
            [connection_structures] => 3
            [bytes] => 20345
            [cmd_get] => 213343
            [cmd_set] => 2381
            [get_hits] => 204223
            [get_misses] => 9120
            [evictions] => 0
            [bytes_read] => 9092476
            [bytes_written] => 15420512
            [version] => 1.2.6
        )

)

Memcached::getServerList
Memcached::getVersion
Memcached


Obtiene la información de la versión del grupo de servidores

Memcached::getStats
Memcached::increment
Memcached
PHP Manual

Memcached::getVersion

(PECL memcached >= 0.1.5)

Memcached::getVersion — Obtiene la información de la versión del grupo de servidores

Descripción

public array Memcached::getVersion ( void )

Memcached::getVersion() devuelve un array conteniendo la información de la versión de todos los servidores memcache disponibles.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Array de las versiones de los servidores, un registro por servidor.

Ejemplos

Ejemplo #1 Ejemplo de Memcached::getVersion()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

print_r($m->getVersion());
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [localhost:11211] => 1.2.6
)

Memcached::getStats
Memcached::increment
Memcached


Incrementa el valor númerico del ítem

Memcached::getVersion
Memcached::incrementByKey
Memcached
PHP Manual

Memcached::increment

(PECL memcached >= 0.1.0)

Memcached::increment — Incrementa el valor númerico del ítem

Descripción

public int Memcached::increment ( string $key [, int $offset = 1 [, int $initial_value = 0 [, int $expiry = 0 ]]] )

Memcached::increment() incrementa el valor numérico del valor del ítem por el offset especificado. Si el valor del ítem no es numérico, generará un error. Memcached::increment() establecerá el ítem al parámetro initial_value si la clave no existe.

Parámetros

key

La clave del ítem a incrementar.

offset

La cantidad a incrementar el valor del ítem.

initial_value

El valor para esteblecer el ítem si actualmente no existe.

expiry

El periodo de expiración a establecer en el ítem.

Valores devueltos

Devuelve el valor del nuevo ítem en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de Memcached::increment()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('counter', 0);
$m->increment('counter');
$n = $m->increment('counter', 10);
var_dump($n);

$m->set('counter', 'abc');
$n = $m->increment('counter');
// ^ fallará debido a que el valor del ítem no es numérico
var_dump($n);
?>

El resultado del ejemplo sería:

int(11)
bool(false)

Ver también

  • Memcached::decrement() - Decrementar de forma numérica el valor de un ítem
  • Memcached::decrementByKey() - Disminuir el valor del elemento numérico, almacenado en un servidor específico
  • Memcached::incrementByKey() - Increment numeric item's value, stored on a specific server

Memcached::getVersion
Memcached::incrementByKey
Memcached


Increment numeric item's value, stored on a specific server

Memcached::increment
Memcached::isPersistent
Memcached
PHP Manual

Memcached::incrementByKey

(PECL memcached >= 2.0.0)

Memcached::incrementByKey — Increment numeric item's value, stored on a specific server

Descripción

public int Memcached::incrementByKey ( string $server_key , string $key [, int $offset = 1 [, int $initial_value = 0 [, int $expiry = 0 ]]] )

Memcached::incrementByKey() increments a numeric item's value by the specified offset. If the item's value is not numeric, an error will result. Memcached::incrementByKey() will set the item to the initial_value parameter if the key doesn't exist.

Parámetros

server_key

La clave que identifica el servidor en donde guardar el valor o desde el que recuperarlo. En lugar de realizar un hash en la clave real para el elemento, se realiza el hash en la clave del servidor al decidir con cual servidor almacenado en memoria caché conversar. Esto permite a los elementos relacionados que sean agrupados en un único servidor para más eficacia con multioperaciones.

key

The key of the item to increment.

offset

The amount by which to increment the item's value.

initial_value

The value to set the item to if it doesn't currently exist.

expiry

The expiry time to set on the item.

Valores devueltos

Returns new item's value on success o FALSE en caso de error.

Ver también

  • Memcached::decrement() - Decrementar de forma numérica el valor de un ítem
  • Memcached::decrementByKey() - Disminuir el valor del elemento numérico, almacenado en un servidor específico
  • Memcached::increment() - Incrementa el valor númerico del ítem

Memcached::increment
Memcached::isPersistent
Memcached


Check if a persitent connection to memcache is being used

Memcached::incrementByKey
Memcached::isPristine
Memcached
PHP Manual

Memcached::isPersistent

(PECL memcached >= 2.0.0)

Memcached::isPersistent — Check if a persitent connection to memcache is being used

Descripción

public bool Memcached::isPersistent ( void )

Memcached::isPersistent() checks if the connections to the memcache servers are persistent connections.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns true if Memcache instance uses a persistent connection, false otherwise.

Ver también

  • Memcached::isPristine() - Check if the instance was recently created

Memcached::incrementByKey
Memcached::isPristine
Memcached


Check if the instance was recently created

Memcached::isPersistent
Memcached::prepend
Memcached
PHP Manual

Memcached::isPristine

(PECL memcached >= 2.0.0)

Memcached::isPristine — Check if the instance was recently created

Descripción

public bool Memcached::isPristine ( void )

Memcached::isPristine() checks if the Memcache instance was recently created.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns the true if instance is recently created, false otherwise.

Ver también

  • Memcached::isPersistent() - Check if a persitent connection to memcache is being used

Memcached::isPersistent
Memcached::prepend
Memcached


Anteponer datos a un ítem existente

Memcached::isPristine
Memcached::prependByKey
Memcached
PHP Manual

Memcached::prepend

(PECL memcached >= 0.1.0)

Memcached::prepend — Anteponer datos a un ítem existente

Descripción

public bool Memcached::prepend ( string $key , string $value )

Memcached::prepend() antepone la cadena value dada al ítem existente. La razón por la cual el value debe ser un string a la fuerza es por que anteponer tipos mixtos no está bién definido.

Nota:

Si Memcached::OPT_COMPRESSION está activado, la operación fallará y un se producirá un warning ya que no es posible anteponer datos comprimidos a un valor que seguramente ya está comprimido.

Parámetros

key

La clave del ítem a anteponer datos.

value

La cadena a anteponer.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. The Memcached::getResultCode() devolverá Memcached::RES_NOTSTORED si la clave no existe.

Ejemplos

Ejemplo #1 Ejemplo de Memcached::prepend()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$m->setOption(Memcached::OPT_COMPRESSION, false);

$m->set('foo', 'abc');
$m->prepend('foo', 'def');
var_dump($m->get('foo'));
?>

El resultado del ejemplo sería:

string(6) "defabc"

Ver también

  • Memcached::prependByKey() - Antepone datos en un ítem existente en un servidor específico
  • Memcached::append() - Añadir datos a un ítem existente

Memcached::isPristine
Memcached::prependByKey
Memcached


Antepone datos en un ítem existente en un servidor específico

Memcached::prepend
Memcached::quit
Memcached
PHP Manual

Memcached::prependByKey

(PECL memcached >= 0.1.0)

Memcached::prependByKey — Antepone datos en un ítem existente en un servidor específico

Descripción

public bool Memcached::prependByKey ( string $server_key , string $key , string $value )

Memcached::prependByKey() su funcionalidad equivale a Memcached::prepend(), a excepción de que server_key puede ser usado para apuntar la key a un servidor específico.

Parámetros

server_key

La clave que identifica el servidor en donde guardar el valor o desde el que recuperarlo. En lugar de realizar un hash en la clave real para el elemento, se realiza el hash en la clave del servidor al decidir con cual servidor almacenado en memoria caché conversar. Esto permite a los elementos relacionados que sean agrupados en un único servidor para más eficacia con multioperaciones.

key

La clave del ítem a anteponer datos.

value

La cadena a anteponer.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. The Memcached::getResultCode() devolverá Memcached::RES_NOTSTORED si la clave no existe.

Ver también

  • Memcached::prepend() - Anteponer datos a un ítem existente
  • Memcached::append() - Añadir datos a un ítem existente

Memcached::prepend
Memcached::quit
Memcached


Cerrar las Conexiones abiertas

Memcached::prependByKey
Memcached::replace
Memcached
PHP Manual

Memcached::quit

(PECL memcached >= 2.0.0)

Memcached::quit — Cerrar las Conexiones abiertas

Descripción

public bool Memcached::quit ( void )

Memcached::quit() cierra las conexiones abiertas a los servidores memcache.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Memcached::prependByKey
Memcached::replace
Memcached


Reemplaza un ítem bajo una clave ya existente

Memcached::quit
Memcached::replaceByKey
Memcached
PHP Manual

Memcached::replace

(PECL memcached >= 0.1.0)

Memcached::replace — Reemplaza un ítem bajo una clave ya existente

Descripción

public bool Memcached::replace ( string $key , mixed $value [, int $expiration ] )

Memcached::replace() es similar a Memcached::set(), pero la operación fallará si la key no existe en el servidor.

Parámetros

key

La claven en donde se guardará el valor.

value

El valor a guardar.

expiration

Tiempo de expiración, por defecto definido a 0. VeaTiempos de Expiración para más info info.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. El método Memcached::getResultCode() devolverá Memcached::RES_NOTSTORED si la clave no existe.

Ver también

  • Memcached::replaceByKey() - Reemplaza un ítem bajo una clave existente en un servidor específico
  • Memcached::set() - Guarda un ítem
  • Memcached::add() - Añade un nuevo ítem asociado a una nueva clave

Memcached::quit
Memcached::replaceByKey
Memcached


Reemplaza un ítem bajo una clave existente en un servidor específico

Memcached::replace
Memcached::resetServerList
Memcached
PHP Manual

Memcached::replaceByKey

(PECL memcached >= 0.1.0)

Memcached::replaceByKey — Reemplaza un ítem bajo una clave existente en un servidor específico

Descripción

public bool Memcached::replaceByKey ( string $server_key , string $key , mixed $value [, int $expiration ] )

Memcached::replaceByKey() su funcionalidad es equivalente a Memcached::replace(), a excepción de que server_key puede ser usado para apuntar una key a un servidor específico. Es útil si se necesita mantener varias claves relacionadas con cierto servidor.

Parámetros

server_key

La clave que identifica el servidor en donde guardar el valor o desde el que recuperarlo. En lugar de realizar un hash en la clave real para el elemento, se realiza el hash en la clave del servidor al decidir con cual servidor almacenado en memoria caché conversar. Esto permite a los elementos relacionados que sean agrupados en un único servidor para más eficacia con multioperaciones.

key

La claven en donde se guardará el valor.

value

El valor a guardar.

expiration

Tiempo de expiración, por defecto definido a 0. VeaTiempos de Expiración para más info info.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. The Memcached::getResultCode() devolverá Memcached::RES_NOTSTORED si la clave no existe.

Ver también

  • Memcached::replace() - Reemplaza un ítem bajo una clave ya existente
  • Memcached::set() - Guarda un ítem
  • Memcached::add() - Añade un nuevo ítem asociado a una nueva clave

Memcached::replace
Memcached::resetServerList
Memcached


Limpiar todos los servidores de la lista de servidores

Memcached::replaceByKey
Memcached::set
Memcached
PHP Manual

Memcached::resetServerList

(PECL memcached >= 2.0.0)

Memcached::resetServerList — Limpiar todos los servidores de la lista de servidores

Descripción

public bool Memcached::resetServerList ( void )

Memcached::resetserverlist() elimina todos los servidores memcache de la lista de servidores conocidos, restableciendo de nuevo a vacío.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • Memcached::addServer() - Añade un servidor al conjunto de servidores
  • Memcached::addServers() - Añadir múltiple servidores al grupo de servidores

Memcached::replaceByKey
Memcached::set
Memcached


Guarda un ítem

Memcached::resetServerList
Memcached::setByKey
Memcached
PHP Manual

Memcached::set

(PECL memcached >= 0.1.0)

Memcached::set — Guarda un ítem

Descripción

public bool Memcached::set ( string $key , mixed $value [, int $expiration ] )

Memcached::set() guarda el valor del value en un servidor memcache bajo la key especificada. El parámetro de expiration puede ser usado para controlar cuando se se considera expirar su valor.

El valor puede ser cualquier tipo de PHP válido excepto recursos, ya que dichos no se pueden representar en forma serializada. Si la opción Memcached::OPT_COMPRESSION está activada, el valor serializado será además comprimido antes de ser guardado.

Parámetros

key

La claven en donde se guardará el valor.

value

El valor a guardar.

expiration

Tiempo de expiración, por defecto definido a 0. VeaTiempos de Expiración para más info info.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Use Memcached::getResultCode() si es necesario.

Ejemplos

Ejemplo #1 Ejemplo de Memcached::set()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('int', 99);
$m->set('string', 'una cadena sencilla');
$m->set('array', array(11, 12));
/* expirará la clave 'object' en 5 minutos */
$m->set('object', new stdclass, time() + 300);

var_dump($m->get('int'));
var_dump($m->get('string'));
var_dump($m->get('array'));
var_dump($m->get('object'));
?>

El resultado del ejemplo sería algo similar a:

int(99)
string(15) "una cadena sencilla"
array(2) {
  [0]=>
  int(11)
  [1]=>
  int(12)
}
object(stdClass)#1 (0) {
}

Ver también

  • Memcached::setByKey() - Guardar un ítem en un servidor específico
  • Memcached::add() - Añade un nuevo ítem asociado a una nueva clave
  • Memcached::replace() - Reemplaza un ítem bajo una clave ya existente

Memcached::resetServerList
Memcached::setByKey
Memcached


Guardar un ítem en un servidor específico

Memcached::set
Memcached::setMulti
Memcached
PHP Manual

Memcached::setByKey

(PECL memcached >= 0.1.0)

Memcached::setByKey — Guardar un ítem en un servidor específico

Descripción

public bool Memcached::setByKey ( string $server_key , string $key , mixed $value [, int $expiration ] )

Memcached::setByKey() su funcionalidad es equivalente a Memcached::set(), con la excepción de que server_key puede ser usado para apuntar una key a un servidor determinado. Resulta útil si se necesita relacionar cierta cantidad de claves a un servidor determinado.

Parámetros

server_key

La clave que identifica el servidor en donde guardar el valor o desde el que recuperarlo. En lugar de realizar un hash en la clave real para el elemento, se realiza el hash en la clave del servidor al decidir con cual servidor almacenado en memoria caché conversar. Esto permite a los elementos relacionados que sean agrupados en un único servidor para más eficacia con multioperaciones.

key

La claven en donde se guardará el valor.

value

El valor a guardar.

expiration

Tiempo de expiración, por defecto definido a 0. VeaTiempos de Expiración para más info info.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Use Memcached::getResultCode() si es necesario.

Ejemplos

Ejemplo #1 Ejemplo de Memcached::setByKey()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

/* keep IP blocks on a certain server */
$m->setByKey('api-cache', 'block-ip:169.254.253.252', 1);
$m->setByKey('api-cache', 'block-ip:169.127.127.202', 1);
?>

Ver también

  • Memcached::set() - Guarda un ítem

Memcached::set
Memcached::setMulti
Memcached


Guarda múltiples ítems

Memcached::setByKey
Memcached::setMultiByKey
Memcached
PHP Manual

Memcached::setMulti

(PECL memcached >= 0.1.0)

Memcached::setMulti — Guarda múltiples ítems

Descripción

public bool Memcached::setMulti ( array $items [, int $expiration ] )

Memcached::setMulti() es similar a Memcached::set(), pero en lugar de guardar una sola clave/valor en un ítem, funciona con múltiples ítems especificados en items. El tiempo de expiration se aplica a todos los ítems a la vez.

Parámetros

items

Un array de pares de clave/valor donde guardar en el servidor.

expiration

Tiempo de expiración, por defecto definido a 0. VeaTiempos de Expiración para más info info.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Use Memcached::getResultCode() si es necesario.

Ejemplos

Ejemplo #1 Ejemplo de Memcached::setMulti()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$items = array(
    'key1' => 'value1',
    'key2' => 'value2',
    'key3' => 'value3'
);
$m->setMulti($items, time() + 300);
?>

Ver también

  • Memcached::setMultiByKey() - Guarda múltiple ítems en un servidor específico
  • Memcached::set() - Guarda un ítem

Memcached::setByKey
Memcached::setMultiByKey
Memcached


Guarda múltiple ítems en un servidor específico

Memcached::setMulti
Memcached::setOption
Memcached
PHP Manual

Memcached::setMultiByKey

(PECL memcached >= 0.1.0)

Memcached::setMultiByKey — Guarda múltiple ítems en un servidor específico

Descripción

public bool Memcached::setMultiByKey ( string $server_key , array $items [, int $expiration ] )

Memcached::setMultiByKey() su funcionalidad equivale a Memcached::setMulti(), a excepción de que server_key puede ser usado para mapear claves de ítems a un servidor específico. Esto es útil si se necesita guardar un grupo de claves en un servidor específico.

Parámetros

server_key

La clave que identifica el servidor en donde guardar el valor o desde el que recuperarlo. En lugar de realizar un hash en la clave real para el elemento, se realiza el hash en la clave del servidor al decidir con cual servidor almacenado en memoria caché conversar. Esto permite a los elementos relacionados que sean agrupados en un único servidor para más eficacia con multioperaciones.

items

Un array de pares de clave/valor donde guardar en el servidor.

expiration

Tiempo de expiración, por defecto definido a 0. VeaTiempos de Expiración para más info info.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Use Memcached::getResultCode() si es necesario.

Ver también

  • Memcached::setMulti() - Guarda múltiples ítems
  • Memcached::set() - Guarda un ítem

Memcached::setMulti
Memcached::setOption
Memcached


Establece una opción Memcached

Memcached::setMultiByKey
Memcached::setOptions
Memcached
PHP Manual

Memcached::setOption

(PECL memcached >= 0.1.0)

Memcached::setOption — Establece una opción Memcached

Descripción

public bool Memcached::setOption ( int $option , mixed $value )

Este método establece el valor de una option Memcached. Algunas opciones corresponden a las definidas por libmemcached y otras son específicas a la extensión. Vea Constantes Memcached para más información.

Las opciones listadas más abajo requieren valores especificados via constantes.

  • Memcached::OPT_HASH require valores Memcached::HASH_*.

  • Memcached::OPT_DISTRIBUTION requiere valores Memcached::DISTRIBUTION_*.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estableciendo una opción Memcached

<?php
$m = new Memcached();
var_dump($m->getOption(Memcached::OPT_HASH) == Memcached::HASH_DEFAULT);
$m->setOption(Memcached::OPT_HASH, Memcached::HASH_MURMUR);
$m->setOption(Memcached::OPT_PREFIX_KEY, "widgets");
echo "Prefix key is now: ", $m->getOption(Memcached::OPT_PREFIX_KEY), "\n";
?>

El resultado del ejemplo sería:

bool(true)
Prefix key is now: widgets

Ver también

  • Memcached::getOption() - Obtener el valor de una opción Memcached
  • Memcached::setOptions() - Set Memcached options
  • Constantes de Memcached

Memcached::setMultiByKey
Memcached::setOptions
Memcached


Set Memcached options

Memcached::setOption
Memcached::setSaslAuthData
Memcached
PHP Manual

Memcached::setOptions

(PECL memcached >= 2.0.0)

Memcached::setOptions — Set Memcached options

Descripción

public bool Memcached::setOptions ( array $options )

Memcached::setOptions() is a variation of the Memcached::setOption() that takes an array of options to be set.

Parámetros

options

An associative array of options where the key is the option to set and the value is the new value for the option.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Setting Memcached options

<?php
$m = new Memcached();
var_dump($m->getOption(Memcached::OPT_HASH) == Memcached::HASH_DEFAULT);

$m->setOptions(array(Memcached::OPT_HASH => Memcached::HASH_MURMUR, Memcached::OPT_PREFIX_KEY => "widgets"));

var_dump($m->getOption(Memcached::OPT_HASH) == Memcached::HASH_DEFAULT);
echo "Prefix key is now: ", $m->getOption(Memcached::OPT_PREFIX_KEY), "\n";
?>

El resultado del ejemplo sería:

bool(true)
bool(false)
Prefix key is now: widgets

Ver también

  • Memcached::getOption() - Obtener el valor de una opción Memcached
  • Memcached::setOption() - Establece una opción Memcached
  • Memcached Constants

Memcached::setOption
Memcached::setSaslAuthData
Memcached


Set the credentials to use for authentication

Memcached::setOptions
Memcached::touch
Memcached
PHP Manual

Memcached::setSaslAuthData

(PECL memcached >= 2.0.0)

Memcached::setSaslAuthData — Set the credentials to use for authentication

Descripción

public void Memcached::setSaslAuthData ( string $username , string $password )

Memcached::setSaslAuthData() sets the username and password that should be used for SASL authentication with the memcache servers.

This method is only available when the memcached extension is build with SASL support. Please refer to Memcached setup for how to do this.

Parámetros

username

The username to use for authenticaiton.

password

The password to use for authenticaiton.

Valores devueltos

No devuelve ningún valor.

Memcached::setOptions
Memcached::touch
Memcached


Establecer una nueva fecha de vencimiento en un elemento

Memcached::setSaslAuthData
Memcached::touchByKey
Memcached
PHP Manual

Memcached::touch

(PECL memcached >= 2.0.0)

Memcached::touch — Establecer una nueva fecha de vencimiento en un elemento

Descripción

public bool Memcached::touch ( string $key , int $expiration )

Memcached::touch() establece un nuevo valor de vencimiento en la clave dada.

Parámetros

key

La claven en donde se guardará el valor.

expiration

Tiempo de expiración, por defecto definido a 0. VeaTiempos de Expiración para más info info.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Use Memcached::getResultCode() si es necesario.

Ver también

  • Memcached::touchByKey() - Set a new expiration on an item on a specific server

Memcached::setSaslAuthData
Memcached::touchByKey
Memcached


Set a new expiration on an item on a specific server

Memcached::touch
MemcachedException
Memcached
PHP Manual

Memcached::touchByKey

(PECL memcached >= 2.0.0)

Memcached::touchByKey — Set a new expiration on an item on a specific server

Descripción

public bool Memcached::touchByKey ( string $server_key , string $key , int $expiration )

Memcached::touchByKey() is functionally equivalent to Memcached::touch(), except that the free-form server_key can be used to map the key to a specific server.

Parámetros

server_key

La clave que identifica el servidor en donde guardar el valor o desde el que recuperarlo. En lugar de realizar un hash en la clave real para el elemento, se realiza el hash en la clave del servidor al decidir con cual servidor almacenado en memoria caché conversar. Esto permite a los elementos relacionados que sean agrupados en un único servidor para más eficacia con multioperaciones.

key

La claven en donde se guardará el valor.

expiration

Tiempo de expiración, por defecto definido a 0. VeaTiempos de Expiración para más info info.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Use Memcached::getResultCode() si es necesario.

Ver también

  • Memcached::touch() - Establecer una nueva fecha de vencimiento en un elemento

Memcached::touch
MemcachedException
Memcached


La clase MemcachedException

(PECL memcached >= 0.1.0)

Introducción

Sinopsis de la Clase

MemcachedException extends RuntimeException {
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
Memcached::touchByKey
mqseries
Memcached


mqseries

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • mqseries Funciones
    • mqseries_back — MQSeries MQBACK
    • mqseries_begin — MQseries MQBEGIN
    • mqseries_close — MQSeries MQCLOSE
    • mqseries_cmit — MQSeries MQCMIT
    • mqseries_conn — MQSeries MQCONN
    • mqseries_connx — MQSeries MQCONNX
    • mqseries_disc — MQSeries MQDISC
    • mqseries_get — MQSeries MQGET
    • mqseries_inq — MQSeries MQINQ
    • mqseries_open — MQSeries MQOPEN
    • mqseries_put1 — MQSeries MQPUT1
    • mqseries_put — MQSeries MQPUT
    • mqseries_set — MQSeries MQSET
    • mqseries_strerror — Returns the error message corresponding to a result code (MQRC).
MemcachedException
Introducción
Otros servicios


Introducción

This extension aims to provide an interface for communicating with IBMs WebSphere MQ series Queue managers.

The interface mimics the C-API client interface of WebSphere MQ Series as close as possible. Using the same naming conventions and possibilities of the C-API. In order to understand the workings of this extension some level of understanding the C-API is required.

For MQ-options, MQ-structures, MQ-results etc. please read the WebSphere MQ Application Programming Guide and WebSphere MQ Application Programming Reference.

mqseries
Instalación/Configuración
mqseries


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
mqseries


Requerimientos

A working IBM WebSphere MQ installation. If building the extension the SDK for IBM WebSphere MQ is also required.

Nota: Be aware that when running against a IBM WebSphere MQ Client installation some methods are not available. This is not a problem of the extension but just the way the WebSphere MQ Client Interface works.

Installation requirements on non windows platforms

Build the extension and put it in the PHP extension directory.

Installation requirements on Windows

No additional requirements.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/mqseries.

Nota: The official name of this extension is mqseries.

There are two ways to connect to a queue manager. These depend on the way the extension is compiled and linked.

  • First one and also the default one is using the mqic libraries. Compiling and linking the extension against these IBM WebSphere MQSeries libraries allows the extension to connect to the Queue manager using the client interface. Remote connections are possible this way.

  • The other way is to compile and link against the mqm libraries. Using these libraries it is possible to make use of the transaction management of a queue manager.

Currently selecting the libraries to use is done by changing the config.m4 file.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

There are no extra configuration parameters.

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

This extension defines a connection and object_handle resources.

The mqseries_conn() and mqseries_connx() define the connectionn handles.

The mqseries_open() defines the object handle.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

For each WebSphere MQ Constant there is a mqseries counterpart.

For definitions and usage see the WebSphere MQ Application Programming Guide and WebSphere MQ Application Programming Reference red books.

The name of the mqseries counterpart is made by appending the WebSphere MQ constant with MQSERIES_, for example the CompletionCode constants are:

mqseries constants
PHP Constant | MQ Constant
MQSERIES_MQCC_OK | MQCC_OK
MQSERIES_MQCC_WARNING | MQCC_WARNING
MQSERIES_MQCC_FAILED | MQCC_FAILED
MQSERIES_MQCC_UNKNOWN | MQCC_UNKNOWN

Tipos de recursos
mqseries Funciones
mqseries


mqseries Funciones

Tabla de contenidos

  • mqseries_back — MQSeries MQBACK
  • mqseries_begin — MQseries MQBEGIN
  • mqseries_close — MQSeries MQCLOSE
  • mqseries_cmit — MQSeries MQCMIT
  • mqseries_conn — MQSeries MQCONN
  • mqseries_connx — MQSeries MQCONNX
  • mqseries_disc — MQSeries MQDISC
  • mqseries_get — MQSeries MQGET
  • mqseries_inq — MQSeries MQINQ
  • mqseries_open — MQSeries MQOPEN
  • mqseries_put1 — MQSeries MQPUT1
  • mqseries_put — MQSeries MQPUT
  • mqseries_set — MQSeries MQSET
  • mqseries_strerror — Returns the error message corresponding to a result code (MQRC).
Constantes predefinidas
mqseries_back
mqseries


MQSeries MQBACK

mqseries Funciones
mqseries_begin
mqseries Funciones
PHP Manual

mqseries_back

(PECL mqseries >= 0.10.0)

mqseries_back — MQSeries MQBACK

Descripción

void mqseries_back ( resource $hconn , resource &$compCode , resource &$reason )

The mqseries_back() (MQBACK) call indicates to the queue manager that all the message gets and puts that have occurred since the last syncpoint are to be backed out. Messages put as part of a unit of work are deleted; messages retrieved as part of a unit of work are reinstated on the queue.

Using mqseries_back() only works in conjunction with mqseries_begin() and only function when connecting directly to a Queueu manager. Not via the mqclient interface.

Parámetros

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 mqseries_back() example

<?php
    mqseries_back($conn, $comp_code, $reason);

    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    }
?>

Notas

Nota:

mqseries_back() will not function when using MQSeries Client to connect to a Queueu Manager.

Ver también

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_begin() - MQseries MQBEGIN

mqseries Funciones
mqseries_begin
mqseries Funciones


MQseries MQBEGIN

mqseries_back
mqseries_close
mqseries Funciones
PHP Manual

mqseries_begin

(PECL mqseries >= 0.10.0)

mqseries_begin — MQseries MQBEGIN

Descripción

void mqseries_begin ( resource $hconn , array $beginOptions , resource &$compCode , resource &$reason )

The mqseries_begin() (MQBEGIN) call begins a unit of work that is coordinated by the queue manager, and that may involve external resource managers.

Using mqseries_begin() starts the unit of work. Either mqseries_back() or mqseries_cmit() ends the unit of work.

Parámetros

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 mqseries_begin() example

<?php
    $mqbo = array();
    mqseries_begin( $conn,
                    $mqbo,
                    $comp_code,
                    $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        /* reason code 2121 is a warning for more information see MQSeries reference manual.*/
        if ($reason !== 2121) {
            printf("CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
        }
    }
?>

Notas

Nota:

mqseries_begin() will not function when using MQSeries Client to connect to a Queueu Manager.

Ver también

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_back() - MQSeries MQBACK
  • mqseries_cmit() - MQSeries MQCMIT

mqseries_back
mqseries_close
mqseries Funciones


MQSeries MQCLOSE

mqseries_begin
mqseries_cmit
mqseries Funciones
PHP Manual

mqseries_close

(PECL mqseries >= 0.10.0)

mqseries_close — MQSeries MQCLOSE

Descripción

void mqseries_close ( resource $hconn , resource $hobj , int $options , resource &$compCode , resource &$reason )

The mqseries_close() (MQCLOSE) call relinquishes access to an object, and is the inverse of the mqseries_open() (MQOPEN) call.

Parámetros

hConn

Connection handle.

This handle represents the connection to the queue manager.

hObj

Object handle.

This handle represents the object to be used.

options

compCode

Completion code.

reason

Reason code qualifying the compCode.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 mqseries_close() example

<?php
    mqseries_close($conn, $obj, MQSERIES_MQCO_NONE, $comp_code, $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("close CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    }
?>

Ver también

  • mqseries_open() - MQSeries MQOPEN
  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX

mqseries_begin
mqseries_cmit
mqseries Funciones


MQSeries MQCMIT

mqseries_close
mqseries_conn
mqseries Funciones
PHP Manual

mqseries_cmit

(PECL mqseries >= 0.10.0)

mqseries_cmit — MQSeries MQCMIT

Descripción

void mqseries_cmit ( resource $hconn , resource &$compCode , resource &$reason )

The mqseries_cmit() (MQCMIT) call indicates to the queue manager that the application has reached a syncpoint, and that all of the message gets and puts that have occurred since the last syncpoint are to be made permanent. Messages put as part of a unit of work are made available to other applications; messages retrieved as part of a unit of work are deleted.

Parámetros

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 mqseries_cmit() example

<?php
    mqseries_cmit($conn, $comp_code, $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("cmit CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    }
?>

Notas

Nota:

mqseries_back() will not function when using MQSeries Client to connect to a Queueu Manager.

Ver también

  • mqseries_begin() - MQseries MQBEGIN
  • mqseries_back() - MQSeries MQBACK
  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX

mqseries_close
mqseries_conn
mqseries Funciones


MQSeries MQCONN

mqseries_cmit
mqseries_connx
mqseries Funciones
PHP Manual

mqseries_conn

(PECL mqseries >= 0.10.0)

mqseries_conn — MQSeries MQCONN

Descripción

void mqseries_conn ( string $qManagerName , resource &$hconn , resource &$compCode , resource &$reason )

The mqseries_conn() (MQCONN) call connects an application program to a queue manager. It provides a queue manager connection handle, which is used by the application on subsequent message queuing calls.

Parámetros

qManagerName

Name of queue manager.

Name of the queue manager the application wishes to connect.

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 mqseries_conn() example

<?php
    mqseries_conn('WMQ1', $conn, $comp_code, $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("conn CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
        exit;
    }
?>

Ver también

  • mqseries_disc() - MQSeries MQDISC

mqseries_cmit
mqseries_connx
mqseries Funciones


MQSeries MQCONNX

mqseries_conn
mqseries_disc
mqseries Funciones
PHP Manual

mqseries_connx

(PECL mqseries >= 0.10.0)

mqseries_connx — MQSeries MQCONNX

Descripción

void mqseries_connx ( string $qManagerName , array &$connOptions , resource &$hconn , resource &$compCode , resource &$reason )

The mqseries_connx() (MQCONNX) call connects an application program to a queue manager. It provides a queue manager connection handle, which is used by the application on subsequent MQ calls.

Parámetros

qManagerName

Name of queue manager.

Name of the queue manager the application wishes to connect.

connOps

Options that control the action of function

See also the MQCNO structure.

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 mqseries_connx() example

<?php
    $mqcno = array(
        'Version' => MQSERIES_MQCNO_VERSION_2,
        'Options' => MQSERIES_MQCNO_STANDARD_BINDING,
        'MQCD' => array('ChannelName' => 'MQNX9420.CLIENT',
        'ConnectionName' => 'localhost',
        'TransportType' => MQSERIES_MQXPT_TCP)
    );

    mqseries_connx('MQNX9420', $mqcno, $conn, $comp_code,$reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("Connx CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
        exit;
    }

?>

Ejemplo #2 mqseries_connx() example using SSL connection & OCSP Responder URL

<?php
    $mqcno = array(
        'Version' => 4, //MQCNO_VERSION_4
        'Options' => MQSERIES_MQCNO_STANDARD_BINDING,
        'MQCD' => array(
            'Version' => 7, //MQCD_VERSION_7
            'ConnectionName' => 'localhost',
            'TransportType' => MQSERIES_MQXPT_TCP,
            'ChannelName' => 'CONNECTIONCHANNEL',
            'SSLCipherSpec' => 'NULL_SHA'
        ),
        'MQSCO' => array(
            'KeyRepository' => '/var/mqm/qmgrs/QUEUEMGR/ssl/key', //Local path where the SSL key repository can be found
            'MQAIR' => array(
                'Version' => 2, //MQAIR_VERSION_2
                'AuthInfoType' => 2, //MQAIT_OCSP
                'OCSPResponderURL' => 'http://dummy.OCSP.responder'
            )
        )
    );

    mqseries_connx('QUEUEMGR', $mqcno, $conn, $comp_code,$reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("Connx CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
        exit;
    }

?>

Ver también

  • mqseries_disc() - MQSeries MQDISC

mqseries_conn
mqseries_disc
mqseries Funciones


MQSeries MQDISC

mqseries_connx
mqseries_get
mqseries Funciones
PHP Manual

mqseries_disc

(PECL mqseries >= 0.10.0)

mqseries_disc — MQSeries MQDISC

Descripción

void mqseries_disc ( resource $hconn , resource &$compCode , resource &$reason )

The mqseries_disc() (MQDISC) call breaks the connection between the queue manager and the application program, and is the inverse of the mqseries_conn() (MQCONN) or mqseries_connx() (MQCONNX) call.

Parámetros

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 mqseries_disc() example

<?php
    mqseries_disc($conn, $comp_code, $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("disc CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    }
?>

Ver también

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX

mqseries_connx
mqseries_get
mqseries Funciones


MQSeries MQGET

mqseries_disc
mqseries_inq
mqseries Funciones
PHP Manual

mqseries_get

(PECL mqseries >= 0.10.0)

mqseries_get — MQSeries MQGET

Descripción

void mqseries_get ( resource $hConn , resource $hObj , array &$md , array &$gmo , int &$bufferLength , string &$msg , int &$data_length , resource &$compCode , resource &$reason )

The mqseries_get() (MQGET) call retrieves a message from a local queue that has been opened using the mqseries_open() (MQOPEN) call

Parámetros

hConn

Connection handle.

This handle represents the connection to the queue manager.

hObj

Object handle.

This handle represents the object to be used.

md

Message descriptor (MQMD).

gmo

Get message options (MQGMO).

bufferLength

Expected length of the result buffer

msg

Buffer holding the message that was retrieved from the object.

data_length

Actual buffer length

compCode

Completion code.

reason

Reason code qualifying the compCode.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 mqseries_get() example

<?php
// open connection to the queue manager
    mqseries_conn('WMQ1', $conn, $comp_code, $reason);
// $conn now hold the reference to the connection to the queue manager.

// open the connection to the testq queue
    mqseries_open(
                $conn,
                array('ObjectName' => 'TESTQ'),
                MQSERIES_MQOO_INPUT_AS_Q_DEF | MQSERIES_MQOO_FAIL_IF_QUIESCING | MQSERIES_MQOO_OUTPUT,
                $obj,
                $comp_code,
                $reason);
// $obj now holds the reference to the object (TESTQ)

// setup empty message descriptor.
    $mdg = array();
// setup get message options
    $gmo = array('Options' => MQSERIES_MQGMO_FAIL_IF_QUIESCING | MQSERIES_MQGMO_WAIT, 'WaitInterval' => 3000);

// get the message from the queueu
    mqseries_get($conn, $obj, $mdg, $gmo, 255, $msg, $data_length, $comp_code, $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("GET CompCode:%d Reason:%d Text:%s<br>", $comp_code, $reason, mqseries_strerror($reason));
    }

 // open connection to the queue manager
    mqseries_conn('WMQ1', $conn, $comp_code, $reason);
// $conn now hold the reference to the connection to the queue manager.

// open the connection to the testq queue
    mqseries_open(
                $conn,
                array('ObjectName' => 'TESTQ'),
                MQSERIES_MQOO_INPUT_AS_Q_DEF | MQSERIES_MQOO_FAIL_IF_QUIESCING | MQSERIES_MQOO_OUTPUT,
                $obj,
                $comp_code,
                $reason);
// $obj now holds the reference to the object (TESTQ)

?>

Ver también

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_open() - MQSeries MQOPEN
  • mqseries_put() - MQSeries MQPUT

mqseries_disc
mqseries_inq
mqseries Funciones


MQSeries MQINQ

mqseries_get
mqseries_open
mqseries Funciones
PHP Manual

mqseries_inq

(PECL mqseries >= 0.10.0)

mqseries_inq — MQSeries MQINQ

Descripción

void mqseries_inq ( resource $hconn , resource $hobj , int $selectorCount , array $selectors , int $intAttrCount , resource &$intAttr , int $charAttrLength , resource &$charAttr , resource &$compCode , resource &$reason )

The mqseries_inq() (MQINQ) call returns an array of integers and a set of character strings containing the attributes of an object.

Parámetros

hConn

Connection handle.

This handle represents the connection to the queue manager.

hObj

Object handle.

This handle represents the object to be used.

selectorCount

Count of selectors.

selectors

Array of attribute selectors.

intAttrLength

Count of integer attributes.

intAttr

Array of integer attributes.

charAttrLength

Length of character attributes buffer.

charAttr

Character attributes.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 mqseries_inq() example

<?php
    $int_attr = array();
    $char_attr = "";

    mqseries_inq($conn, $obj, 1, array(MQSERIES_MQCA_Q_MGR_NAME), 0, $int_attr, 48, $char_attr, $comp_code, $reason);

    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("INQ CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    } else {
        echo "INQ QManager name result ".$char_attr."<br>\n";
    }
?>

Ver también

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_open() - MQSeries MQOPEN

mqseries_get
mqseries_open
mqseries Funciones


MQSeries MQOPEN

mqseries_inq
mqseries_put1
mqseries Funciones
PHP Manual

mqseries_open

(PECL mqseries >= 0.10.0)

mqseries_open — MQSeries MQOPEN

Descripción

void mqseries_open ( resource $hconn , array &$objDesc , int $option , resource &$hobj , resource &$compCode , resource &$reason )

The mqseries_open() (MQOPEN) call establishes access to an object.

Parámetros

hConn

Connection handle.

This handle represents the connection to the queue manager.

objDesc

Object descriptor. (MQOD)

options

Options that control the action of the function.

hObj

Object handle.

This handle represents the object to be used.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 mqseries_open() example

<?php
    $mqods = array('ObjectName' => 'TESTQ');
    mqseries_open(
                $conn,
                $mqods,
                MQSERIES_MQOO_INPUT_AS_Q_DEF | MQSERIES_MQOO_FAIL_IF_QUIESCING | MQSERIES_MQOO_OUTPUT,
                $obj,
                $comp_code,
                $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("open CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
        exit;
    }
?>

Ver también

  • mqseries_close() - MQSeries MQCLOSE

mqseries_inq
mqseries_put1
mqseries Funciones


MQSeries MQPUT1

mqseries_open
mqseries_put
mqseries Funciones
PHP Manual

mqseries_put1

(PECL mqseries >= 0.10.0)

mqseries_put1 — MQSeries MQPUT1

Descripción

void mqseries_put1 ( resource $hconn , resource &$objDesc , resource &$msgDesc , resource &$pmo , string $buffer , resource &$compCode , resource &$reason )

The mqseries_put1() (MQPUT1) call puts one message on a queue. The queue need not be open.

Parámetros

hConn

Connection handle.

This handle represents the connection to the queue manager.

objDesc

Object descriptor. (MQOD)

This is a structure which identifies the queue to which the message is added.

msgDesc

Message descriptor (MQMD).

pmo

Put message options (MQPMO).

compCode

Completion code.

reason

Reason code qualifying the compCode.

Valores devueltos

No devuelve ningún valor.

Ver también

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_open() - MQSeries MQOPEN
  • mqseries_get() - MQSeries MQGET

mqseries_open
mqseries_put
mqseries Funciones


MQSeries MQPUT

mqseries_put1
mqseries_set
mqseries Funciones
PHP Manual

mqseries_put

(PECL mqseries >= 0.10.0)

mqseries_put — MQSeries MQPUT

Descripción

void mqseries_put ( resource $hConn , resource $hObj , array &$md , array &$pmo , string $message , resource &$compCode , resource &$reason )

The mqseries_put() (MQPUT) call puts a message on a queue or distribution list. The queue or distribution list must already be open.

Parámetros

hConn

Connection handle.

This handle represents the connection to the queue manager.

hObj

Object handle.

This handle represents the object to be used.

md

Message descriptor (MQMD).

pmo

Put message options (MQPMO).

message

The actual message to put onto the queue.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 mqseries_put() example

<?php
// open connection to the queue manager
    mqseries_conn('WMQ1', $conn, $comp_code, $reason);
// $conn now hold the reference to the connection to the queue manager.

// open the connectio to the testq queueu
    mqseries_open(
                $conn,
                array('ObjectName' => 'TESTQ'),
                MQSERIES_MQOO_INPUT_AS_Q_DEF | MQSERIES_MQOO_FAIL_IF_QUIESCING | MQSERIES_MQOO_OUTPUT,
                $obj,
                $comp_code,
                $reason);
// $obj now holds the reference to the object (TESTQ)

// setup the message descriptor array. Check MQSeries reference manuals.
    $md = array(
                'Version' => MQSERIES_MQMD_VERSION_1,
                'Expiry' => MQSERIES_MQEI_UNLIMITED,
                'Report' => MQSERIES_MQRO_NONE,
                'MsgType' => MQSERIES_MQMT_DATAGRAM,
                'Format' => MQSERIES_MQFMT_STRING,
                'Priority' => 1,
                'Persistence' => MQSERIES_MQPER_PERSISTENT);

// setup the put message options.
    $pmo = array('Options' => MQSERIES_MQPMO_NEW_MSG_ID|MQSERIES_MQPMO_SYNCPOINT);

// put the message 'Ping' on the queueu.
    mqseries_put($conn, $obj, $md, $pmo, 'Ping', $comp_code, $reason);

    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("put CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    }

// close the object reference $obj
    mqseries_close($conn, $obj, MQSERIES_MQCO_NONE, $comp_code, $reason);

// disconnect from the queue manager.
    mqseries_disc($conn, $comp_code, $reason);

?>

Ver también

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_open() - MQSeries MQOPEN
  • mqseries_get() - MQSeries MQGET

mqseries_put1
mqseries_set
mqseries Funciones


MQSeries MQSET

mqseries_put
mqseries_strerror
mqseries Funciones
PHP Manual

mqseries_set

(PECL mqseries >= 0.10.0)

mqseries_set — MQSeries MQSET

Descripción

void mqseries_set ( resource $hconn , resource $hobj , int $selectorcount , array $selectors , int $intattrcount , array $intattrs , int $charattrlength , array $charattrs , resource &$compCode , resource &$reason )

The mqseries_set() (MQSET) call is used to change the attributes of an object represented by a handle. The object must be a queue.

Parámetros

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Valores devueltos

No devuelve ningún valor.

Ver también

  • mqseries_inq() - MQSeries MQINQ

mqseries_put
mqseries_strerror
mqseries Funciones


Returns the error message corresponding to a result code (MQRC).

mqseries_set
Network
mqseries Funciones
PHP Manual

mqseries_strerror

(PECL mqseries >= 0.10.0)

mqseries_strerror — Returns the error message corresponding to a result code (MQRC).

Descripción

string mqseries_strerror ( int $reason )

mqseries_strerror() returns the message that correspond to the reason result code.

Parámetros

reason

Reason code qualifying the compCode.

Valores devueltos

string representation of the reason code message.

Ejemplos

Ejemplo #1 mqseries_strerror() example

<?php
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("open CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
        exit;
    }
?>

El resultado del ejemplo sería:

Connx CompCode:2 Reason:2059 Text:Queue manager not available for connection.

mqseries_set
Network
mqseries Funciones


Network

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de red
    • checkdnsrr — Comprueba registros DNS correspondientes a un nombre de host de Internet dado o dirección IP
    • closelog — Cerrar conexión al log del sistema
    • define_syslog_variables — Initializes all syslog related variables
    • dns_check_record — Alias de checkdnsrr
    • dns_get_mx — Alias de getmxrr
    • dns_get_record — Fetch DNS Resource Records associated with a hostname
    • fsockopen — Abre una conexión vía sockets a Internet o a un dominio Unix
    • gethostbyaddr — Obtener el nombre del host de Internet correspondiente a una dirección IP dada
    • gethostbyname — Obtener la dirección IPv4 que corresponde a un nombre de host de Internet dado
    • gethostbynamel — Obtener una lista de direcciones IPv4 que corresponde a un nombre de host de Internet dado
    • gethostname — Obtiene el nombre de host
    • getmxrr — Get MX records corresponding to a given Internet host name
    • getprotobyname — Obtener el número de protocolo asociado con el nombre de protocolo
    • getprotobynumber — Obtiene el nombre de protocolo asociado con un número de protocolo
    • getservbyname — Obtener el número de puerto asociado con un servicio y protocolo de Internet
    • getservbyport — Obtener el servicio de Internet que corresponde con el puerto y protocolo
    • header_register_callback — Llamar a una función de cabecera
    • header_remove — Elimina encabezados previamente establecidos
    • header — Enviar encabezado sin formato HTTP
    • headers_list — Devuelve una lista de encabezados de respuesta enviados (o listos para enviar)
    • headers_sent — Comprueba si o donde han enviado cabeceras
    • http_response_code — Get or Set the HTTP response code
    • inet_ntop — Converts a packed internet address to a human readable representation
    • inet_pton — Converts a human readable IP address to its packed in_addr representation
    • ip2long — Convierte una cadena que contiene una dirección con puntos del Protocolo de Internet (IPv4) en una dirección apropiada
    • long2ip — Convierte una dirección de red (IPv4) en una cadena de texto en formato con puntos estándar de internet
    • openlog — Open connection to system logger
    • pfsockopen — Abre Internet persistente o conexión de socket de dominio Unix
    • setcookie — Enviar una cookie
    • setrawcookie — Enviar una cookie sin codificar su valor
    • socket_get_status — Alias de stream_get_meta_data
    • socket_set_blocking — Alias de stream_set_blocking
    • socket_set_timeout — Alias de stream_set_timeout
    • syslog — Genera un mensaje log de sistema
mqseries_strerror
Introducción
Otros servicios


Introducción

Provee diversas funciones de red.

Network
Instalación/Configuración
Network


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Network


Requerimientos

Las funciones checkdnsrr(), getmxrr() y dns_get_record() requieren Bind en Linux.

Instalación/Configuración
Instalación
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Network Configuration Options
Nombre | Por defecto | Cambiable | Historial de cambios
define_syslog_variables | "0" | PHP_INI_ALL | Obsoleto en PHP 5.3.0. Removido en PHP 5.4.0.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

define_syslog_variables boolean

Si define o no las diversas variables syslog (por ej., $LOG_PID, $LOG_CRON, etc.). Setearla a off es una buena idea en cuanto a rendimiento se trate. Al momento de ejecución, se pueden definir estas variables al invocar a la función define_syslog_variables().

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Esta extensión define un puntero de fichero de tipo resource devuelto por las funciones fsockopen() y pfsockopen().

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están disponibles siempre ya que forman parte del núcleo de PHP.

Opciones openlog()
Constante | Descripción
LOG_CONS | Si hay un error mientras se envían datos al registro del sistema, escribir directamente en la consola del sistema
LOG_NDELAY | Abrir la conexión con el registro inmediatamente
LOG_ODELAY | (Predeterminado) Retrasar la apertura de la conexión hasta que el primer mensaje sea registrado
LOG_NOWAIT |
LOG_PERROR | Imprimir también mensajes de registro a la salida de error estándar
LOG_PID | Incluir el PID con cada mensaje
Comodidades de openlog()
Constante | Descripción
LOG_AUTH | Mensajes de seguridad/autorización (utilice en su lugar LOG_AUTHPRIV en sistemas donde esa constante esté definida)
LOG_AUTHPRIV | Mensajes de seguridad/autorización (privados)
LOG_CRON | Servicio de reloj (cron y at)
LOG_DAEMON | Otros servicios del sistema
LOG_KERN | Mensajes del kernel
LOG_LOCAL0 ... LOG_LOCAL7 | Reservado para uso local, estos no están disponibles en Windows
LOG_LPR | Subsistema de línea de la impresora
LOG_MAIL | Subsistema de correo
LOG_NEWS | Subsistema de noticias USENET
LOG_SYSLOG | Mensajes internamente generados por syslogd
LOG_USER | Mensajes genéricos de nivel de usuario
LOG_UUCP | Subsistema de UUCP
Prioridades de syslog() (en orden descendente)
Constante | Descripción
LOG_EMERG | El sistema es inutilizable
LOG_ALERT | Una acción debe ser tomada immediatamente
LOG_CRIT | Condiciones críticas
LOG_ERR | Condiciones de error
LOG_WARNING | Condiciones de alerta
LOG_NOTICE | Condición normal, pero significativa
LOG_INFO | Mensaje informativo
LOG_DEBUG | Mensaje de nivel de depuración
dns_get_record() Options
Constante | Descripción
DNS_A | Recursos de dirección IPv4
DNS_MX | Recurso de intercambiador de correo
DNS_CNAME | Recurso de Alias (Nombre Canónico)
DNS_NS | Recurso de Nombre de Servidor Autorizador
DNS_PTR | Recurso de puntero
DNS_HINFO | Host Info Resource (See IANA's » Operating System Names for the meaning of these values)
DNS_SOA | Start of Authority Resource
DNS_TXT | Text Resource
DNS_ANY | Any Resource Record. On most systems this returns all resource records, however it should not be counted upon for critical uses. Try DNS_ALL instead.
DNS_AAAA | IPv6 Address Resource
DNS_ALL | Iteratively query the name server for each available record type.
Tipos de recursos
Funciones de red
Network


Funciones de red

Tabla de contenidos

  • checkdnsrr — Comprueba registros DNS correspondientes a un nombre de host de Internet dado o dirección IP
  • closelog — Cerrar conexión al log del sistema
  • define_syslog_variables — Initializes all syslog related variables
  • dns_check_record — Alias de checkdnsrr
  • dns_get_mx — Alias de getmxrr
  • dns_get_record — Fetch DNS Resource Records associated with a hostname
  • fsockopen — Abre una conexión vía sockets a Internet o a un dominio Unix
  • gethostbyaddr — Obtener el nombre del host de Internet correspondiente a una dirección IP dada
  • gethostbyname — Obtener la dirección IPv4 que corresponde a un nombre de host de Internet dado
  • gethostbynamel — Obtener una lista de direcciones IPv4 que corresponde a un nombre de host de Internet dado
  • gethostname — Obtiene el nombre de host
  • getmxrr — Get MX records corresponding to a given Internet host name
  • getprotobyname — Obtener el número de protocolo asociado con el nombre de protocolo
  • getprotobynumber — Obtiene el nombre de protocolo asociado con un número de protocolo
  • getservbyname — Obtener el número de puerto asociado con un servicio y protocolo de Internet
  • getservbyport — Obtener el servicio de Internet que corresponde con el puerto y protocolo
  • header_register_callback — Llamar a una función de cabecera
  • header_remove — Elimina encabezados previamente establecidos
  • header — Enviar encabezado sin formato HTTP
  • headers_list — Devuelve una lista de encabezados de respuesta enviados (o listos para enviar)
  • headers_sent — Comprueba si o donde han enviado cabeceras
  • http_response_code — Get or Set the HTTP response code
  • inet_ntop — Converts a packed internet address to a human readable representation
  • inet_pton — Converts a human readable IP address to its packed in_addr representation
  • ip2long — Convierte una cadena que contiene una dirección con puntos del Protocolo de Internet (IPv4) en una dirección apropiada
  • long2ip — Convierte una dirección de red (IPv4) en una cadena de texto en formato con puntos estándar de internet
  • openlog — Open connection to system logger
  • pfsockopen — Abre Internet persistente o conexión de socket de dominio Unix
  • setcookie — Enviar una cookie
  • setrawcookie — Enviar una cookie sin codificar su valor
  • socket_get_status — Alias de stream_get_meta_data
  • socket_set_blocking — Alias de stream_set_blocking
  • socket_set_timeout — Alias de stream_set_timeout
  • syslog — Genera un mensaje log de sistema
Constantes predefinidas
checkdnsrr
Network


Comprueba registros DNS correspondientes a un nombre de host de Internet dado o dirección IP

Funciones de red
closelog
Funciones de red
PHP Manual

checkdnsrr

(PHP 4, PHP 5)

checkdnsrr — Comprueba registros DNS correspondientes a un nombre de host de Internet dado o dirección IP

Descripción

bool checkdnsrr ( string $host [, string $type = "MX" ] )

Busca DNS de registros de tipo type que corresponde a un host.

Parámetros

host

host puede ser la dirección IP en notación decimal con puntos o el nombre de host.

type

type puede ser cualquiera de: A, MX, NS, SOA, PTR, CNAME, AAAA, A6, SRV, NAPTR, TXT o ANY.

Valores devueltos

Devuelve TRUE si los registros se encuentran; devuelve FALSE si no se encuentran registros o si ocurre un error.

Historial de cambios

Versión | Descripción
5.3.0 | Esta función está disponible en plataformas Windows.
5.2.4 | Añadido TXT type.
5.0.0 | Añadido AAAA type.

Notas

Nota:

Por razones de compatibilidad con Windows antes de que esto fuera implementado, se puede intentar con la clase » Net_DNS de » PEAR.

Ver también

  • dns_get_record() - Fetch DNS Resource Records associated with a hostname
  • getmxrr() - Get MX records corresponding to a given Internet host name
  • gethostbyaddr() - Obtener el nombre del host de Internet correspondiente a una dirección IP dada
  • gethostbyname() - Obtener la dirección IPv4 que corresponde a un nombre de host de Internet dado
  • gethostbynamel() - Obtener una lista de direcciones IPv4 que corresponde a un nombre de host de Internet dado
  • the named(8) manual page

Funciones de red
closelog
Funciones de red


Cerrar conexión al log del sistema

checkdnsrr
define_syslog_variables
Funciones de red
PHP Manual

closelog

(PHP 4, PHP 5)

closelog — Cerrar conexión al log del sistema

Descripción

bool closelog ( void )

closelog() cierra el descriptor que se utiliza para escribir en el registro del sistema. El uso de closelog() es opcional.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • syslog() - Genera un mensaje log de sistema
  • openlog() - Open connection to system logger

checkdnsrr
define_syslog_variables
Funciones de red


Initializes all syslog related variables

closelog
dns_check_record
Funciones de red
PHP Manual

define_syslog_variables

(PHP 4, PHP 5 < 5.4.0)

define_syslog_variables — Initializes all syslog related variables

Descripción

void define_syslog_variables ( void )

Initializes all variables used in the syslog functions.

Valores devueltos

No devuelve ningún valor.

Syslog variables
Variable | Constant equal | Meaning | Notes
$LOG_EMERG | LOG_EMERG | System is unusable |
$LOG_ALERT | LOG_ALERT | Immediate action required |
$LOG_CRIT | LOG_CRIT | Critical conditions |
$LOG_ERR | LOG_ERR |  |
$LOG_WARNING | LOG_WARNING |  |
$LOG_NOTICE | LOG_NOTICE |  |
$LOG_INFO | LOG_INFO |  |
$LOG_DEBUG | LOG_DEBUG |  |
$LOG_KERN | LOG_KERN |  |
$LOG_USER | LOG_USER | Genetic user level |
$LOG_MAIL | LOG_MAIL | Log to email |
$LOG_DAEMON | LOG_DAEMON | Other system daemons |
$LOG_AUTH | LOG_AUTH |  |
$LOG_SYSLOG | LOG_SYSLOG |  | Not available on Netware
$LOG_LPR | LOG_LPR |  |
$LOG_NEWS | LOG_NEWS | Usenet new | Not available on HP-UX
$LOG_CRON | LOG_CRON |  | Not available on all platforms
$LOG_AUTHPRIV | LOG_AUTHPRIV |  | Not available on AIX
$LOG_LOCAL0 | LOG_LOCAL0 |  | Not available on Windows and Netware
$LOG_LOCAL1 | LOG_LOCAL1 |  | Not available on Windows and Netware
$LOG_LOCAL2 | LOG_LOCAL2 |  | Not available on Windows and Netware
$LOG_LOCAL3 | LOG_LOCAL3 |  | Not available on Windows and Netware
$LOG_LOCAL4 | LOG_LOCAL4 |  | Not available on Windows and Netware
$LOG_LOCAL5 | LOG_LOCAL5 |  | Not available on Windows and Netware
$LOG_LOCAL6 | LOG_LOCAL6 |  | Not available on Windows and Netware
$LOG_LOCAL7 | LOG_LOCAL7 |  | Not available on Windows and Netware
$LOG_PID | LOG_PID |  |
$LOG_CONS | LOG_CONS |  |
$LOG_ODELAY | LOG_ODELAY |  |
$LOG_NDELAY | LOG_NDELAY |  |
$LOG_NOWAIT | LOG_NOWAIT |  | Not available on BeOS
$LOG_PERROR | LOG_PERROR |  | Not available on AIX
Advertencia

Esta función ha sido declarada OBSOLETA desde PHP 5.3.0 y ELIMINADA a partir de PHP 5.4.0.

Ejemplos

Ejemplo #1 define_syslog_variables() example

<?php
// Check if syslog variables already is defined
if(!get_cfg_var('define_syslog_variables'))
{
    define_syslog_variables();
}

// Open the log
openlog('', $LOG_ODELAY, $LOG_MAIL | $LOG_USER);

// Continue script ...
?>

Historial de cambios

Versión | Descripción
5.3.0 | This function now throws an E_DEPRECATED notice.

Ver también

  • openlog() - Open connection to system logger
  • syslog() - Genera un mensaje log de sistema
  • closelog() - Cerrar conexión al log del sistema

closelog
dns_check_record
Funciones de red


Alias de checkdnsrr

define_syslog_variables
dns_get_mx
Funciones de red
PHP Manual

dns_check_record

(PHP 5)

dns_check_record — Alias de checkdnsrr()

Descripción

Esta función es un alias de: checkdnsrr().

define_syslog_variables
dns_get_mx
Funciones de red


Alias de getmxrr

dns_check_record
dns_get_record
Funciones de red
PHP Manual

dns_get_mx

(PHP 5)

dns_get_mx — Alias de getmxrr()

Descripción

Esta función es un alias de: getmxrr().

dns_check_record
dns_get_record
Funciones de red


Fetch DNS Resource Records associated with a hostname

dns_get_mx
fsockopen
Funciones de red
PHP Manual

dns_get_record

(PHP 5)

dns_get_record — Fetch DNS Resource Records associated with a hostname

Descripción

array dns_get_record ( string $hostname [, int $type = DNS_ANY [, array &$authns [, array &$addtl [, bool &$raw = false ]]]] )

Fetch DNS Resource Records associated with the given hostname.

Parámetros

hostname

hostname should be a valid DNS hostname such as "www.example.com". Reverse lookups can be generated using in-addr.arpa notation, but gethostbyaddr() is more suitable for the majority of reverse lookups.

Nota:

Per DNS standards, email addresses are given in user.host format (for example: hostmaster.example.com as opposed to hostmaster@example.com), be sure to check this value and modify if necessary before using it with a functions such as mail().

type

By default, dns_get_record() will search for any resource records associated with hostname. To limit the query, specify the optional type parameter. May be any one of the following: DNS_A, DNS_CNAME, DNS_HINFO, DNS_MX, DNS_NS, DNS_PTR, DNS_SOA, DNS_TXT, DNS_AAAA, DNS_SRV, DNS_NAPTR, DNS_A6, DNS_ALL or DNS_ANY.

Nota:

Because of eccentricities in the performance of libresolv between platforms, DNS_ANY will not always return every record, the slower DNS_ALL will collect all records more reliably.

authns

Passed by reference and, if given, will be populated with Resource Records for the Authoritative Name Servers.

addtl

Passed by reference and, if given, will be populated with any Additional Records.

raw

In case of raw mode, we query only the requestd type instead of looping type by type before going with the additional info stuff.

Valores devueltos

This function returns an array of associative arrays, o FALSE en caso de error. Each associative array contains at minimum the following keys:

Basic DNS attributes
Attribute | Meaning
host | The record in the DNS namespace to which the rest of the associated data refers.
class | dns_get_record() only returns Internet class records and as such this parameter will always return IN.
type | String containing the record type. Additional attributes will also be contained in the resulting array dependant on the value of type. See table below.
ttl | "Time To Live" remaining for this record. This will not equal the record's original ttl, but will rather equal the original ttl minus whatever length of time has passed since the authoritative name server was queried.

Other keys in associative arrays dependant on 'type'
Type | Extra Columns
A | ip: An IPv4 addresses in dotted decimal notation.
MX | pri: Priority of mail exchanger. Lower numbers indicate greater priority. target: FQDN of the mail exchanger. See also dns_get_mx().
CNAME | target: FQDN of location in DNS namespace to which the record is aliased.
NS | target: FQDN of the name server which is authoritative for this hostname.
PTR | target: Location within the DNS namespace to which this record points.
TXT | txt: Arbitrary string data associated with this record.
HINFO | cpu: IANA number designating the CPU of the machine referenced by this record. os: IANA number designating the Operating System on the machine referenced by this record. See IANA's » Operating System Names for the meaning of these values.
SOA | mname: FQDN of the machine from which the resource records originated. rname: Email address of the administrative contain for this domain. serial: Serial # of this revision of the requested domain. refresh: Refresh interval (seconds) secondary name servers should use when updating remote copies of this domain. retry: Length of time (seconds) to wait after a failed refresh before making a second attempt. expire: Maximum length of time (seconds) a secondary DNS server should retain remote copies of the zone data without a successful refresh before discarding. minimum-ttl: Minimum length of time (seconds) a client can continue to use a DNS resolution before it should request a new resolution from the server. Can be overridden by individual resource records.
AAAA | ipv6: IPv6 address
A6(PHP >= 5.1.0) | masklen: Length (in bits) to inherit from the target specified by chain. ipv6: Address for this specific record to merge with chain. chain: Parent record to merge with ipv6 data.
SRV | pri: (Priority) lowest priorities should be used first. weight: Ranking to weight which of commonly prioritized targets should be chosen at random. target and port: hostname and port where the requested service can be found. For additional information see: » RFC 2782
NAPTR | order and pref: Equivalent to pri and weight above. flags, services, regex, and replacement: Parameters as defined by » RFC 2915.

Historial de cambios

Versión | Descripción
5.4.0 | Added raw parameter.
5.3.0 | This function is now available on Windows platforms.
5.3.0 | Prior to this release, if the authns parameter was given, the addtl parameter was also required.

Ejemplos

Ejemplo #1 Using dns_get_record()

<?php
$result = dns_get_record("php.net");
print_r($result);
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => Array
        (
            [host] => php.net
            [type] => MX
            [pri] => 5
            [target] => pair2.php.net
            [class] => IN
            [ttl] => 6765
        )

    [1] => Array
        (
            [host] => php.net
            [type] => A
            [ip] => 64.246.30.37
            [class] => IN
            [ttl] => 8125
        )

)

Ejemplo #2 Using dns_get_record() and DNS_ANY

Since it's very common to want the IP address of a mail server once the MX record has been resolved, dns_get_record() also returns an array in addtl which contains associate records. authns is returned as well containing a list of authoritative name servers.

<?php
/* Request "ANY" record for php.net,
   and create $authns and $addtl arrays
   containing list of name servers and
   any additional records which go with
   them */
$result = dns_get_record("php.net", DNS_ANY, $authns, $addtl);
echo "Result = ";
print_r($result);
echo "Auth NS = ";
print_r($authns);
echo "Additional = ";
print_r($addtl);
?>

El resultado del ejemplo sería algo similar a:

Result = Array
(
    [0] => Array
        (
            [host] => php.net
            [type] => MX
            [pri] => 5
            [target] => pair2.php.net
            [class] => IN
            [ttl] => 6765
        )

    [1] => Array
        (
            [host] => php.net
            [type] => A
            [ip] => 64.246.30.37
            [class] => IN
            [ttl] => 8125
        )

)
Auth NS = Array
(
    [0] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => remote1.easydns.com
            [class] => IN
            [ttl] => 10722
        )

    [1] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => remote2.easydns.com
            [class] => IN
            [ttl] => 10722
        )

    [2] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => ns1.easydns.com
            [class] => IN
            [ttl] => 10722
        )

    [3] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => ns2.easydns.com
            [class] => IN
            [ttl] => 10722
        )

)
Additional = Array
(
    [0] => Array
        (
            [host] => pair2.php.net
            [type] => A
            [ip] => 216.92.131.5
            [class] => IN
            [ttl] => 6766
        )

    [1] => Array
        (
            [host] => remote1.easydns.com
            [type] => A
            [ip] => 64.39.29.212
            [class] => IN
            [ttl] => 100384
        )

    [2] => Array
        (
            [host] => remote2.easydns.com
            [type] => A
            [ip] => 212.100.224.80
            [class] => IN
            [ttl] => 81241
        )

    [3] => Array
        (
            [host] => ns1.easydns.com
            [type] => A
            [ip] => 216.220.40.243
            [class] => IN
            [ttl] => 81241
        )

    [4] => Array
        (
            [host] => ns2.easydns.com
            [type] => A
            [ip] => 216.220.40.244
            [class] => IN
            [ttl] => 81241
        )

)

Notas

Nota:

For compatibility with versions before PHP 5.3.0 on some operating systems, try the » PEAR class » Net_DNS.

Ver también

  • dns_get_mx() - Alias de getmxrr
  • dns_check_record() - Alias de checkdnsrr

dns_get_mx
fsockopen
Funciones de red


Abre una conexión vía sockets a Internet o a un dominio Unix

dns_get_record
gethostbyaddr
Funciones de red
PHP Manual

fsockopen

(PHP 4, PHP 5)

fsockopen — Abre una conexión vía sockets a Internet o a un dominio Unix

Descripción

resource fsockopen ( string $hostname [, int $port = -1 [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout") ]]]] )

Inicia una conexión vía sockets al recurso especificado por hostname.

PHP soporta objetivos Internet y dominios Unix tal y como se describe en Lista de Transportes de Sockets Soportados. También se puede obtener una lista de los transportes soportados utilizando stream_get_transports().

El socket será abierto por defecto en modo de bloqueo. Es posible cambiarlo a modo de no bloqueo utilizando stream_set_blocking().

La función stream_socket_client() es similar, pero provee un conjunto más amplio de opciones, incluyendo conexión no bloqueante y la posibilidad de proporcionar contexto a una secuencia.

Parámetros

hostname

Si el soporte a OpenSSL está instalado, puedes añadir al principio del hostname tanto ssl:// como tls:// para utilizar una conexión de cliente SSL o TLS sobre TCP/IP para conectar al host remoto.

port

El número de puerto.

errno

Si se proporciona, contiene el número de error a nivel de sistema que se ha producido en la llamada a connect() a nivel de sistema.

Si el valor devuelto en errno es 0 y la función devuelve FALSE, esto indica que el error ocurrió antes de la llamada a connect(). Probablemente se deba a un problema al inicializar el socket.

errstr

El mensaje de error como string.

timeout

El tiempo límite de la conexión, en segundos.

Nota:

Si fuera necesario definir un tiempo de límite para leer/escribir datos a través del socket, se deberá utilizar stream_set_timeout(), ya que el parámetro timeout de fsockopen() sólo se aplica al realizar la conexión del socket.

Valores devueltos

fsockopen() devuelve un puntero a fichero que puede ser utilizado junto a otras funciones de fichero (como fgets(), fgetss(), fwrite(), fclose(), y feof()). Si la llamada falla, devolverá FALSE

Errores/Excepciones

Lanza E_WARNING si el hostname no es un dominio válido.

Historial de cambios

Versión | Descripción
4.3.0 | Añadido soporte al parámetro timeout en win32.
4.3.0 | Añadido soporte a SSL y TLS sobre TCP/IP.

Ejemplos

Ejemplo #1 Ejemplo de fsockopen()

<?php
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {
    $out = "GET / HTTP/1.1\r\n";
    $out .= "Host: www.example.com\r\n";
    $out .= "Connection: Close\r\n\r\n";
    fwrite($fp, $out);
    while (!feof($fp)) {
        echo fgets($fp, 128);
    }
    fclose($fp);
}
?>

Ejemplo #2 Utilización de una conexión UDP

El ejemplo inferior muestra cómo obtener el día y la hora del servicio UDP "daytime" (puerto 13) en el servidor local.

<?php
$fp = fsockopen("udp://127.0.0.1", 13, $errno, $errstr);
if (!$fp) {
    echo "ERROR: $errno - $errstr<br />\n";
} else {
    fwrite($fp, "\n");
    echo fread($fp, 26);
    fclose($fp);
}
?>

Notas

Nota:

Dependiendo del entorno, el dominio Unix o el tiempo de expiración opcional pueden no estar disponibles.

Advertencia

Los sockets UDP pueden en ocasiones aparecerán como abiertos sin errores, incluso aunque el servidor remoto no esté disponible. El error sólo aparecerá una vez se lean o escriban datos del/al socket. Esto es debido a que UDP es un protoclo "sin conexión", lo que significa que el sistema operativo no trata de establecer un enlace con el socket hasta que realmente necesita enviar o recibir datos.

Nota: Cuando se especifique una dirección numérica IPv6 (por ej., fe80::1), la IP debe ser encerrada entre corchetes — por ejemplo, tcp://[fe80::1]:80.

Ver también

  • pfsockopen() - Abre Internet persistente o conexión de socket de dominio Unix
  • stream_socket_client() - Abrir una conexión de socket de dominio de Internet o Unix
  • stream_set_blocking() - Establecer el modo bloqueo/no-bloqueo en un flujo
  • stream_set_timeout() - Establecer un perido de tiempo de espera en un flujo
  • fgets() - Obtiene una línea desde el puntero a un fichero
  • fgetss() - Obtiene un línea desde un puntero a un archivo y elimina las etiquetas HTML
  • fwrite() - Escritura de un archivo en modo binario seguro
  • fclose() - Cierra un puntero a un archivo abierto
  • feof() - Comprueba si el puntero a un archivo está al final del archivo
  • socket_connect() - Inicia una conexión sobre un socket
  • La extensión Curl

dns_get_record
gethostbyaddr
Funciones de red


Obtener el nombre del host de Internet correspondiente a una dirección IP dada

fsockopen
gethostbyname
Funciones de red
PHP Manual

gethostbyaddr

(PHP 4, PHP 5)

gethostbyaddr — Obtener el nombre del host de Internet correspondiente a una dirección IP dada

Descripción

string gethostbyaddr ( string $ip_address )

Devuelve el nombre del host de Internet especificado por ip_address.

Parámetros

ip_address

La dirección IP del servidor huésped.

Valores devueltos

Devuelve el nombre de host en caso de éxito, la ip_address sin modificar en caso de fallo, o FALSE en caso de que la entrada tenga un formato incorrecto.

Ejemplos

Ejemplo #1 Un ejemplo sencillo de gethostbyaddr()

<?php
$nombre_host = gethostbyaddr($_SERVER['REMOTE_ADDR']);

echo $nombre_host;
?>

Ver también

  • gethostbyname() - Obtener la dirección IPv4 que corresponde a un nombre de host de Internet dado
  • gethostbynamel() - Obtener una lista de direcciones IPv4 que corresponde a un nombre de host de Internet dado

fsockopen
gethostbyname
Funciones de red


Obtener la dirección IPv4 que corresponde a un nombre de host de Internet dado

gethostbyaddr
gethostbynamel
Funciones de red
PHP Manual

gethostbyname

(PHP 4, PHP 5)

gethostbyname — Obtener la dirección IPv4 que corresponde a un nombre de host de Internet dado

Descripción

string gethostbyname ( string $hostname )

Devuelve la dirección IPv4 del host de Internet especificado por hostname.

Parámetros

hostname

El nombre de host.

Valores devueltos

Devuelve la dirección IPv4 o un string que contiene el hostname sin modificar en caso de error.

Ejemplos

Ejemplo #1 Ejemplo simple de gethostbyname()

<?php
$ip = gethostbyname('www.example.com');

echo $ip;
?>

Ver también

  • gethostbyaddr() - Obtener el nombre del host de Internet correspondiente a una dirección IP dada
  • gethostbynamel() - Obtener una lista de direcciones IPv4 que corresponde a un nombre de host de Internet dado
  • inet_pton() - Converts a human readable IP address to its packed in_addr representation
  • inet_ntop() - Converts a packed internet address to a human readable representation

gethostbyaddr
gethostbynamel
Funciones de red


Obtener una lista de direcciones IPv4 que corresponde a un nombre de host de Internet dado

gethostbyname
gethostname
Funciones de red
PHP Manual

gethostbynamel

(PHP 4, PHP 5)

gethostbynamel — Obtener una lista de direcciones IPv4 que corresponde a un nombre de host de Internet dado

Descripción

array gethostbynamel ( string $hostname )

Devuelve una lista de direcciones IPv4 a la que el host de Internet especificado por hostname resuelve.

Parámetros

hostname

El nombre de host.

Valores devueltos

Devuelve un array de direcciones IPv4 o FALSE si hostname no se pudo resolver.

Ejemplos

Ejemplo #1 Ejemplo de gethostbynamel()

<?php
$hosts = gethostbynamel('www.example.com');
print_r($hosts);
?>

El resultado del ejemplo sería:

Array
(
    [0] => 192.0.34.166
)

Ver también

  • gethostbyname() - Obtener la dirección IPv4 que corresponde a un nombre de host de Internet dado
  • gethostbyaddr() - Obtener el nombre del host de Internet correspondiente a una dirección IP dada
  • checkdnsrr() - Comprueba registros DNS correspondientes a un nombre de host de Internet dado o dirección IP
  • getmxrr() - Get MX records corresponding to a given Internet host name
  • the named(8) manual page

gethostbyname
gethostname
Funciones de red


Obtiene el nombre de host

gethostbynamel
getmxrr
Funciones de red
PHP Manual

gethostname

(PHP >= 5.3.0)

gethostname — Obtiene el nombre de host

Descripción

string gethostname ( void )

gethostname() obtiene el nombre de host estándar para el equipo local.

Valores devueltos

Devuelve un string con con el nombre de host en caso de éxito, FALSE en caso contrario.

Ejemplos

Ejemplo #1 Un ejemplo simple de gethostname()

<?php
echo gethostname(); //puede imprimir: sandie

// O, una opción que también funciona antes de PHP 5.3
echo php_uname('n'); //puede imprimir: sandie
?>

Ver también

  • gethostbyname() - Obtener la dirección IPv4 que corresponde a un nombre de host de Internet dado
  • gethostbyaddr() - Obtener el nombre del host de Internet correspondiente a una dirección IP dada
  • php_uname() - Devuelve información sobre el sistema operativo en que se está ejecutando PHP

gethostbynamel
getmxrr
Funciones de red


Get MX records corresponding to a given Internet host name

gethostname
getprotobyname
Funciones de red
PHP Manual

getmxrr

(PHP 4, PHP 5)

getmxrr — Get MX records corresponding to a given Internet host name

Descripción

bool getmxrr ( string $hostname , array &$mxhosts [, array &$weight ] )

Searches DNS for MX records corresponding to hostname.

Parámetros

hostname

The Internet host name.

mxhosts

A list of the MX records found is placed into the array mxhosts.

weight

If the weight array is given, it will be filled with the weight information gathered.

Valores devueltos

Returns TRUE if any records are found; returns FALSE if no records were found or if an error occurred.

Historial de cambios

Versión | Descripción
5.3.0 | This function is now available on Windows platforms.

Notas

Nota:

This function should not be used for the purposes of address verification. Only the mailexchangers found in DNS are returned, however, according to » RFC 2821 when no mail exchangers are listed, hostname itself should be used as the only mail exchanger with a priority of 0.

Nota:

For compatibility with Windows before this was implemented, then try the » PEAR class » Net_DNS.

Ver también

  • checkdnsrr() - Comprueba registros DNS correspondientes a un nombre de host de Internet dado o dirección IP
  • dns_get_record() - Fetch DNS Resource Records associated with a hostname
  • gethostbyname() - Obtener la dirección IPv4 que corresponde a un nombre de host de Internet dado
  • gethostbynamel() - Obtener una lista de direcciones IPv4 que corresponde a un nombre de host de Internet dado
  • gethostbyaddr() - Obtener el nombre del host de Internet correspondiente a una dirección IP dada
  • the named(8) manual page

gethostname
getprotobyname
Funciones de red


Obtener el número de protocolo asociado con el nombre de protocolo

getmxrr
getprotobynumber
Funciones de red
PHP Manual

getprotobyname

(PHP 4, PHP 5)

getprotobyname — Obtener el número de protocolo asociado con el nombre de protocolo

Descripción

int getprotobyname ( string $name )

getprotobyname() devuelve el número de protocolo asociado con el name de protocolo, indicado por /etc/protocols.

Parámetros

name

El nombre del protocolo.

Valores devueltos

Devuelve el número del protocolo, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de getprotobyname()

<?php
$protocolo = 'tcp';
$obtener_prot = getprotobyname($protocolo);
if ($get_prot === FALSE) {
    echo 'Protocolo Inválido';
} else {
    echo 'Protocolo #' . $obtener_prot;
}
?>

Ver también

  • getprotobynumber() - Obtiene el nombre de protocolo asociado con un número de protocolo

getmxrr
getprotobynumber
Funciones de red


Obtiene el nombre de protocolo asociado con un número de protocolo

getprotobyname
getservbyname
Funciones de red
PHP Manual

getprotobynumber

(PHP 4, PHP 5)

getprotobynumber — Obtiene el nombre de protocolo asociado con un número de protocolo

Descripción

string getprotobynumber ( int $number )

getprotobynumber() devuelve el nombre de protocolo asociado con el numero de procotolo, como lo indica /etc/protocols.

Parámetros

number

El número del protocolo.

Valores devueltos

Devuelve el nombre del protocolo como una cadena, o FALSE en caso de error.

Ver también

  • getprotobyname() - Obtener el número de protocolo asociado con el nombre de protocolo

getprotobyname
getservbyname
Funciones de red


Obtener el número de puerto asociado con un servicio y protocolo de Internet

getprotobynumber
getservbyport
Funciones de red
PHP Manual

getservbyname

(PHP 4, PHP 5)

getservbyname — Obtener el número de puerto asociado con un servicio y protocolo de Internet

Descripción

int getservbyname ( string $service , string $protocol )

getservbyname() devuelve el puerto de Internet que corresponde a service para el protocol especificado, de acuerdo a /etc/services.

Parámetros

service

El nombre del servicio de Internet, como una cadena.

protocol

protocol es un valor entre "tcp" o "udp" (es minúsculas).

Valores devueltos

Devuelve el número de puerto, o FALSE si service o protocol no son encontrados.

Ejemplos

Ejemplo #1 Ejemplo de getservbyname()

<?php
$servicios = array('http', 'ftp', 'ssh', 'telnet', 'imap',
'smtp', 'nicname', 'gopher', 'finger', 'pop3', 'www');

foreach ($servicios as $servicio) {
    $puerto = getservbyname($servicio, 'tcp');
    echo $servicio . ": " . $puerto . "<br />\n";
}
?>

Ver también

  • getservbyport() - Obtener el servicio de Internet que corresponde con el puerto y protocolo
  • » http://www.iana.org/assignments/port-numbers para una lista completa de números de puerto.

getprotobynumber
getservbyport
Funciones de red


Obtener el servicio de Internet que corresponde con el puerto y protocolo

getservbyname
header_register_callback
Funciones de red
PHP Manual

getservbyport

(PHP 4, PHP 5)

getservbyport — Obtener el servicio de Internet que corresponde con el puerto y protocolo

Descripción

string getservbyport ( int $port , string $protocol )

getservbyport() devuelve el servicio de Internet asociado con port para el protocol especificado, de acuerdo a /etc/services.

Parámetros

port

El número de puerto.

protocol

protocol es un valor entre "tcp" o "udp" (en minúsculas).

Valores devueltos

Devuelve el nombre del servicio de Internet como una cadena.

Ver también

  • getservbyname() - Obtener el número de puerto asociado con un servicio y protocolo de Internet

getservbyname
header_register_callback
Funciones de red


Llamar a una función de cabecera

getservbyport
header_remove
Funciones de red
PHP Manual

header_register_callback

(No hay información de versión disponible, podría estar únicamente en SVN)

header_register_callback — Llamar a una función de cabecera

Descripción

bool header_register_callback ( callable $callback )

Registra una función que será llamada cuando PHP comienza a enviar la salida.

El callback se ejecuta inmediatamente después de PHP prepara todos los encabezados que van a ser enviados, y antes de cualquier otra salida es enviado, crea una ventana para manipular las cabeceras de salida antes de ser enviado.

Parámetros

callback

Función llamada justo antes de que se envíen los encabezados. No tiene parámetros y el valor de retorno se ignora.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 header_register_callback() example

<?php

header('Content-Type: text/plain');
header('X-Test: foo');

function foo() {
 foreach (headers_list() as $header) {
   if (strpos($header, 'X-Powered-By:') !== false) {
     header_remove('X-Powered-By');
   }
   header_remove('X-Test');
 }
}

$result = header_register_callback('foo');
echo "a";
?>

El resultado del ejemplo sería algo similar a:

Content-Type: text/plain

a

Notas

La función header_register_callback() es ejecutada cuando las cabeceras están a punto de ser enviadas, por lo que cualquier salida de esta función puede romper de salida.

Nota:

Las cabeceras sólo serán accesibles y mostradas si se utiliza un SAPI que lo soporte.

Ver también

  • headers_list() - Devuelve una lista de encabezados de respuesta enviados (o listos para enviar)
  • header_remove() - Elimina encabezados previamente establecidos
  • header() - Enviar encabezado sin formato HTTP
getservbyport
header_remove
Funciones de red


Elimina encabezados previamente establecidos

header_register_callback
header
Funciones de red
PHP Manual

header_remove

(PHP 5 >= 5.3.0)

header_remove — Elimina encabezados previamente establecidos

Descripción

void header_remove ([ string $name ] )

Elimina un encabezado HTTP previamente establecido con header().

Parámetros

name

El nombre del encabezado a ser eliminado.

Nota: Este parámetro es insensible a mayúsculas y minúsculas.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Eliminar un encabezado específico.

<?php
header("X-Foo: Bar");
header("X-Bar: Baz");
header_remove("X-Foo");
?>

El resultado del ejemplo sería algo similar a:

X-Bar: Baz

Ejemplo #2 Eliminar todos los encabezados previamente establecidos.

<?php
header("X-Foo: Bar");
header("X-Bar: Baz");
header_remove();
?>

El resultado del ejemplo sería algo similar a:

Notas

Precaución

    Esta función elimina todos los encabezados establecidos por PHP,
    incluyendo las cookies, las sesiones y las cabeceras X-Powered-By.

Nota:

 Las cabeceras sólo serán accesibles y mostradas si se utiliza un SAPI
 que lo soporte.

Ver también

  •  header() - Enviar encabezado sin formato HTTP
    •

  •  headers_sent() - Comprueba si o donde han enviado cabeceras
    •

header_register_callback

header

Funciones de red


Enviar encabezado sin formato HTTP

header_remove
headers_list
Funciones de red
PHP Manual

header

(PHP 4, PHP 5)

header — Enviar encabezado sin formato HTTP

Descripción

void header ( string $string [, bool $replace = true [, int $http_response_code ]] )

header() es usado para enviar encabezados HTTP sin formato. Ver la especificación » HTTP/1.1 specification para más información sobre encabezados HTTP.

Recuerde que header() debe ser llamado antes de mostrar nada por pantalla, etiquetas HTML, líneas en blanco desde un fichero o desde PHP. Es un error muy común leer código con funciones como include o require, u otro tipo de funciones de acceso de ficheros que incluyen espacios o líneas en blanco que se muestran antes de llamar a la función header(). Sucede el mismo problema cuando se utiliza un solo fichero PHP/HTML.

<html>
<?php
/* Esto producirá un error. Fíjese en el html
 * que se muestra antes que la llamada a header() */
header('Location: http://www.example.com/');
exit;
?>

Parámetros

string

El encabezado en formato cadena.

Existen dos casos especiales en el uso de header. El primero el encabezado que empieza con la cadena "HTTP/" (las mayúsculas no son importantes), es utilizado para averiguar el código de status HTTP a enviar. Por ejemplo, si se tiene Apache configurado para usar un script en PHP para controlar las peticiones a ficheros no encontrados (usando la directiva ErrorDocument), querrá asegurarse de que el script genera el código de status que corresponde.

<?php
header("HTTP/1.0 404 Not Found");
?>

El segundo caso especial es el encabezado "Location:" No solamente envía el encabezado al navegador, sino que también devuelve el código de status (302) REDIRECT al navegador a no ser que el código de status 201 o 3xx ya haya sido enviado.

<?php
header("Location: http://www.example.com/"); /* Redirección del navegador */

/* Asegurándonos de que el código interior no será ejecutado cuando se realiza la redirección. */
exit;
?>

replace

El parámetro opcional replace indica cuando el encabezado debe reemplazar un encabezado previo similar o añadir un segundo encabezado del mismo tipo. Por defecto lo reemplazará, pero si se pasa FALSE como segundo argumento se puede forzar múltiples encabezados del mismo tipo. Por ejemplo:

<?php
header('WWW-Authenticate: Negotiate');
header('WWW-Authenticate: NTLM', false);
?>

http_response_code

Fuerza el código de respuesta HTTP a un valor específico. Observe que este parámetro solamente tiene efecto si string no está vacío.

Valores devueltos

No devuelve ningún valor.

Historial de cambios

Versión | Descripción
4.4.2 and 5.1.2 | Esta función ahora previene que se pueda enviar más de un encabezado a la vez como protección en contra de ataques de inyección de encabezados.
4.3.0 | Se añadió el parámetro http_response_code parameter.
4.0.4 | Se añadió el parámetro replace.

Ejemplos

Ejemplo #1 Diálogo de descarga

Si se quiere preguntar al usuario si quiere guardar los datos que se están enviando, como un fichero PDF generado, puede usarse el encabezado » Content-Disposition para proporcionar un nombre de fichero recomendado y forzar al navegador el mostarar el diálogo para guardar el fichero.

<?php
// Vamos a mostrar un PDF
header('Content-type: application/pdf');

// Se llamará downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');

// La fuente de PDF se encuentra en original.pdf
readfile('original.pdf');
?>

Ejemplo #2 Directivas caché

Scripts PHP normalmente generan contenido dinámico que no debe ser puesto en caché por el navegador cliente o por ningún proxy caché entre el servidor y el navegador cliente. En muchos proxies y clientes se puede forzar la desactivación de la caché con:

<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Fecha en el pasado
?>

Nota:

Seguramente encontrará que sus páginas no están en caché incluso si no se usan los encabezados mencionados más arriba. Existen varias opciones que los usuarios pueden cambiar en sus navegadores para cambiar el comportamiento por defecto de la caché. Al enviar los encabezados mencionados más arriba, se sobreescrirán cualquiera de las opciones que intentan guardar en caché lo que muestre su script.

Adicionalmente, las opciones de configuración de session_cache_limiter() y session.cache_limiter pueden ser usadas para generar automáticamente encabezados caché cuando se están usando sesiones.

Notas

Nota:

Las cabeceras sólo serán accesibles y mostradas si se utiliza un SAPI que lo soporte.

Nota:

Se puede usar búfer de salida para evitar este problema, procesando en el servidor todo el contenido a mostrar en el navegador antes de ser enviado. Se puede hacer esto usando ob_start() y ob_end_flush() en el script, o definiendo la directiva output_buffering en el php.ini o en los ficheros de configuración del servidor.

Nota:

El encabezado con el status HTTP siempre será el primero a ser enviado al cliente, sin tener en cuenta si está usando header() con el status en primer lugar o no. El status puede ser sobreescrito pasando a header() un nuevo status en cualquier momento a no ser que los encabezados HTTP ya hayan sido enviados.

Nota:

Existe un bug en Microsoft Internet Explorer 4.01 que hace que no funcione. No existe una solución. También hay un bug en Microsoft Internet Explorer 5.5 que también sucede lo mismo, puede ser resuelto actualizando a Service Pack 2 o superior.

Nota: Si el modo seguro está habilitado el uid del script es añadido en realm del encabezado WWW-Authenticate si se define este encabezado (usado para autenticación HTTP).

Nota:

HTTP/1.1 require una URI absoluta como argumento para » Location: incluyendo el esquema, nombre del host y ruta absoluta, pero algunos clientes aceptan también URIs relativas. Se puede usar $_SERVER['HTTP_HOST'], $_SERVER['PHP_SELF'] y dirname() para crear una URI absoluta desde una relativa:

<?php
/* Redirecciona a una página diferente en el mismo directorio el cual se hizo la petición */
$host  = $_SERVER['HTTP_HOST'];
$uri   = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'mypage.php';
header("Location: http://$host$uri/$extra");
exit;
?>

Nota:

El ID de sesión no es pasado con el encabezado Location incluso si session.use_trans_sid está habilitado. Debe ser pasado manualmente usando la constante SID.

Ver también

  • headers_sent() - Comprueba si o donde han enviado cabeceras
  • setcookie() - Enviar una cookie
  • http_response_code() - Get or Set the HTTP response code
  • La secciónAutenticación HTTP

header_remove
headers_list
Funciones de red


Devuelve una lista de encabezados de respuesta enviados (o listos para enviar)

header
headers_sent
Funciones de red
PHP Manual

headers_list

(PHP 5)

headers_list — Devuelve una lista de encabezados de respuesta enviados (o listos para enviar)

Descripción

array headers_list ( void )

headers_list() devolverá una lista de encabezados a ser enviados al navegador / cliente. Para determinar si se han enviado o no estos encabezados, use headers_sent().

Valores devueltos

Devuelve un array indexado numéricamente de encabezados.

Ejemplos

Ejemplo #1 Ejemplos usando headers_list()

<?php

/* setcookie() agrega una cabecera de respuesta propia */
setcookie('foo', 'bar');

/* Definir un encabezado de respuesta personalizado
   Este será ignorado por la mayoría de los clientes */
header("X-Sample-Test: foo");

/* Especificar el contenido de texto plano en nuestra respuesta */
header('Content-type: text/plain');

/* ¿Qué encabezados se van a enviar? */
var_dump(headers_list());

?>

El resultado del ejemplo sería:

array(4) {
  [0]=>
  string(23) "X-Powered-By: PHP/5.1.3"
  [1]=>
  string(19) "Set-Cookie: foo=bar"
  [2]=>
  string(18) "X-Sample-Test: foo"
  [3]=>
  string(24) "Content-type: text/plain"
}

Notas

Nota:

Las cabeceras sólo serán accesibles y mostradas si se utiliza un SAPI que lo soporte.

Ver también

  • headers_sent() - Comprueba si o donde han enviado cabeceras
  • header() - Enviar encabezado sin formato HTTP
  • setcookie() - Enviar una cookie
  • apache_response_headers() - Obtiene todas las cabeceras HTTP de respuesta
  • http_response_code() - Get or Set the HTTP response code

header
headers_sent
Funciones de red


Comprueba si o donde han enviado cabeceras

headers_list
http_response_code
Funciones de red
PHP Manual

headers_sent

(PHP 4, PHP 5)

headers_sent — Comprueba si o donde han enviado cabeceras

Descripción

bool headers_sent ([ string &$file [, int &$line ]] )

Comprueba si o donde han enviado cabeceras.

No se puede agregar más líneas de cabecera con la función header() una vez que el bloque de cabecera ya ha sido enviado. Con esta función se puede evitar recibir mensajes de error relacionados con cabecera HTTP. Otra opción es utilizar Output Buffering.

Parámetros

file

Si los parámetros opcionales file y line se establecen, headers_sent() pondrá el nombre del archivo PHP y número de línea donde la producción se inició en las variables file y line.

line

El número de línea donde inició la salida.

Valores devueltos

headers_sent() retornará FALSE Si no se han enviado encabezados HTTP o de lo contrario TRUE.

Historial de cambios

Versión | Descripción
4.3.0 | Añadidos los parámetros opcionales file y line.

Ejemplos

Ejemplo #1 Ejemplos usando headers_sent()

<?php

// Si no se han enviado encabezados, enviar uno
if (!headers_sent()) {
    header('Location: http://www.example.com/');
    exit;
}

// Un ejemplo usando los parámetros opcionales file y line, a partir de PHP 4.3.0
// Tenga en cuenta que $filename y $linenum se pasan para su posterior uso.
// No asigne los valores de antemano.
if (!headers_sent($filename, $linenum)) {
    header('Location: http://www.example.com/');
    exit;

// Lo más probable es generar un error aquí.
} else {

    echo "Headers already sent in $filename on line $linenum\n" .
          "Cannot redirect, for now please click this <a " .
          "href=\"http://www.example.com\">link</a> instead\n";
    exit;
}

?>

Notas

Nota:

Las cabeceras sólo serán accesibles y mostradas si se utiliza un SAPI que lo soporte.

Ver también

  • ob_start() - Activa el almacenamiento en búfer de salida
  • trigger_error() - Generar un mensaje de error/advertencia/aviso de nivel de usuario
  • headers_list() - Devuelve una lista de encabezados de respuesta enviados (o listos para enviar)
  • header() - Enviar encabezado sin formato HTTP para una discusión más detallada de los asuntos planteados.

headers_list
http_response_code
Funciones de red


Get or Set the HTTP response code

headers_sent
inet_ntop
Funciones de red
PHP Manual

http_response_code

(PHP 5 >= 5.4.0)

http_response_code — Get or Set the HTTP response code

Descripción

int http_response_code ([ int $response_code ] )

If you pass no parameters then http_response_code will get the current status code. If you pass a parameter it will set the response code.

Parámetros

response_code

The optional response_code will set the response code.

<?php
http_response_code(404);
?>

Valores devueltos

The current response code. By default the return value is int(200).

Ejemplos

Ejemplo #1 Examples using http_response_code()

<?php

// Get the current default response code
var_dump(http_response_code()); // int(200)

// Set our response code
http_response_code(404);

// Get our new response code
var_dump(http_response_code()); // int(404)
?>

El resultado del ejemplo sería:

Ver también

  • header() - Enviar encabezado sin formato HTTP
  • headers_list() - Devuelve una lista de encabezados de respuesta enviados (o listos para enviar)

headers_sent
inet_ntop
Funciones de red


Converts a packed internet address to a human readable representation

http_response_code
inet_pton
Funciones de red
PHP Manual

inet_ntop

(PHP 5 >= 5.1.0)

inet_ntop — Converts a packed internet address to a human readable representation

Descripción

string inet_ntop ( string $in_addr )

This function converts a 32bit IPv4, or 128bit IPv6 address (if PHP was built with IPv6 support enabled) into an address family appropriate string representation.

Parámetros

in_addr

A 32bit IPv4, or 128bit IPv6 address.

Valores devueltos

Returns a string representation of the address o FALSE en caso de error.

Ejemplos

Ejemplo #1 inet_ntop() Example

<?php
$packed = chr(127) . chr(0) . chr(0) . chr(1);
$expanded = inet_ntop($packed);

/* Outputs: 127.0.0.1 */
echo $expanded;

$packed = str_repeat(chr(0), 15) . chr(1);
$expanded = inet_ntop($packed);

/* Outputs: ::1 */
echo $expanded;
?>

Historial de cambios

Versión | Descripción
5.3.0 | This function is now available on Windows platforms.

Ver también

  • long2ip() - Convierte una dirección de red (IPv4) en una cadena de texto en formato con puntos estándar de internet
  • ip2long() - Convierte una cadena que contiene una dirección con puntos del Protocolo de Internet (IPv4) en una dirección apropiada
  • inet_pton() - Converts a human readable IP address to its packed in_addr representation

http_response_code
inet_pton
Funciones de red


Converts a human readable IP address to its packed in_addr representation

inet_ntop
ip2long
Funciones de red
PHP Manual

inet_pton

(PHP 5 >= 5.1.0)

inet_pton — Converts a human readable IP address to its packed in_addr representation

Descripción

string inet_pton ( string $address )

This function converts a human readable IPv4 or IPv6 address (if PHP was built with IPv6 support enabled) into an address family appropriate 32bit or 128bit binary structure.

Parámetros

address

A human readable IPv4 or IPv6 address.

Valores devueltos

Returns the in_addr representation of the given address, or FALSE if a syntactically invalid address is given (for example, an IPv4 address without dots or an IPv6 address without colons).

Ejemplos

Ejemplo #1 inet_pton() Example

<?php
$in_addr = inet_pton('127.0.0.1');

$in6_addr = inet_pton('::1');
?>

Historial de cambios

Versión | Descripción
5.3.0 | This function is now available on Windows platforms.

Ver también

  • ip2long() - Convierte una cadena que contiene una dirección con puntos del Protocolo de Internet (IPv4) en una dirección apropiada
  • long2ip() - Convierte una dirección de red (IPv4) en una cadena de texto en formato con puntos estándar de internet
  • inet_ntop() - Converts a packed internet address to a human readable representation

inet_ntop
ip2long
Funciones de red


Convierte una cadena que contiene una dirección con puntos del Protocolo de Internet (IPv4) en una dirección apropiada

inet_pton
long2ip
Funciones de red
PHP Manual

ip2long

(PHP 4, PHP 5)

ip2long — Convierte una cadena que contiene una dirección con puntos del Protocolo de Internet (IPv4) en una dirección apropiada

Descripción

int ip2long ( string $ip_address )

La función ip2long() genera una dirección de red Internet IPv4 desde su representación en formato estándar de Internet (cadena con puntos).

ip2long() trabajará también con direcciones IP no-completas. Lea » http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/libs/commtrf2/inet_addr.htm para más información.

Parámetros

ip_address

Una dirección en formato estándar.

Valores devueltos

Devuelve la dirección IPv4 o FALSE si direccion_ip es un valor inválido.

Historial de cambios

Versión | Descripción
5.2.10 | Antes de esta versión, ip2long() según como devolverá un número válido incluso si el valor no es una dirección con puntos (IPv4) Internet Protocol.
5.0.0 | Antes de esta versión, ip2long() devolvía -1 en caso de fallo.

Ejemplos

Ejemplo #1 Ejemplo de ip2long()

<?php
$ip = gethostbyname('www.example.com');
$salida = "Las siguientes URLs son equivalentes:<br />\n";
$salida .= 'http://www.example.com/, http://' . $ip . '/, y http://' . sprintf("%u", ip2long($ip)) . "/<br />\n";
echo $salida;
?>

Ejemplo #2 Desplegar una dirección IP

Este segundo ejemplo muestra cómo imprimir una dirección convertida con la función printf() tanto en PHP 4 como en PHP 5:

<?php
$ip   = gethostbyname('www.example.com');
$long = ip2long($ip);

if ($long == -1 || $long === FALSE) {
    echo 'IP inválida, por favor intente de nuevo';
} else {
    echo $ip   . "\n";           // 192.0.34.166
    echo $long . "\n";           // -1073732954
    printf("%u\n", ip2long($ip)); // 3221234342
}
?>

Notas

Nota:

Ya que los tipos integer en PHP tiene signo, y muchas direcciones IP resultarán en enteros negativos en arquitecturas de 32 bits, necesita usar el especificador de formato "%u" de sprintf() o printf() para obtener la representación en forma de cadena de la dirección IP sin signo.

Nota:

ip2long() devolverá FALSE para la IP 255.255.255.255 en PHP 5 <= 5.0.2. Fue corregido en PHP 5.0.3 cuando devolvía -1 (al igual que en PHP 4).

Ver también

  • long2ip() - Convierte una dirección de red (IPv4) en una cadena de texto en formato con puntos estándar de internet
  • sprintf() - Devuelve un string formateado

inet_pton
long2ip
Funciones de red


Convierte una dirección de red (IPv4) en una cadena de texto en formato con puntos estándar de internet

ip2long
openlog
Funciones de red
PHP Manual

long2ip

(PHP 4, PHP 5)

long2ip — Convierte una dirección de red (IPv4) en una cadena de texto en formato con puntos estándar de internet

Descripción

string long2ip ( string $proper_address )

La función long2ip() genera una dirección de internet en formato de puntos (por ejemplo.: aaa.bbb.ccc.ddd) a partir de una correcta representación de la dirección.

Parámetros

proper_address

Correcta representación de la dirección.

Valores devueltos

Devuelve una dirección IP de internet como cadena de texto.

Ver también

  • ip2long() - Convierte una cadena que contiene una dirección con puntos del Protocolo de Internet (IPv4) en una dirección apropiada

ip2long
openlog
Funciones de red


Open connection to system logger

long2ip
pfsockopen
Funciones de red
PHP Manual

openlog

(PHP 4, PHP 5)

openlog — Open connection to system logger

Descripción

bool openlog ( string $ident , int $option , int $facility )

openlog() opens a connection to the system logger for a program.

The use of openlog() is optional. It will automatically be called by syslog() if necessary, in which case ident will default to FALSE.

Parámetros

ident

The string ident is added to each message.

option

The option argument is used to indicate what logging options will be used when generating a log message.

openlog() Options
Constant | Description
LOG_CONS | if there is an error while sending data to the system logger, write directly to the system console
LOG_NDELAY | open the connection to the logger immediately
LOG_ODELAY | (default) delay opening the connection until the first message is logged
LOG_PERROR | print log message also to standard error
LOG_PID | include PID with each message
You can use one or more of this options. When using multiple options you need to OR them, i.e. to open the connection immediately, write to the console and include the PID in each message, you will use: LOG_CONS | LOG_NDELAY | LOG_PID

facility

The facility argument is used to specify what type of program is logging the message. This allows you to specify (in your machine's syslog configuration) how messages coming from different facilities will be handled.

openlog() Facilities
Constant | Description
LOG_AUTH | security/authorization messages (use LOG_AUTHPRIV instead in systems where that constant is defined)
LOG_AUTHPRIV | security/authorization messages (private)
LOG_CRON | clock daemon (cron and at)
LOG_DAEMON | other system daemons
LOG_KERN | kernel messages
LOG_LOCAL0 ... LOG_LOCAL7 | reserved for local use, these are not available in Windows
LOG_LPR | line printer subsystem
LOG_MAIL | mail subsystem
LOG_NEWS | USENET news subsystem
LOG_SYSLOG | messages generated internally by syslogd
LOG_USER | generic user-level messages
LOG_UUCP | UUCP subsystem

Nota:

LOG_USER is the only valid log type under Windows operating systems

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • syslog() - Genera un mensaje log de sistema
  • closelog() - Cerrar conexión al log del sistema

long2ip
pfsockopen
Funciones de red


Abre Internet persistente o conexión de socket de dominio Unix

openlog
setcookie
Funciones de red
PHP Manual

pfsockopen

(PHP 4, PHP 5)

pfsockopen — Abre Internet persistente o conexión de socket de dominio Unix

Descripción

resource pfsockopen ( string $hostname [, int $port = -1 [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout") ]]]] )

Esta función se comporta exactamente como fsockopen() con la diferencia de que la conexión no se cierra después de que el script termina. Esta es la versión persistente de fsockopen().

Parámetros

Para información de los parámetros, consulte la documentación de la función fsockopen()

Ver también

  • fsockopen() - Abre una conexión vía sockets a Internet o a un dominio Unix

openlog
setcookie
Funciones de red


Enviar una cookie

pfsockopen
setrawcookie
Funciones de red
PHP Manual

setcookie

(PHP 4, PHP 5)

setcookie — Enviar una cookie

Descripción

bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )

setcookie() define una cookie para ser enviada junto con el resto de las cabeceras de HTTP. Al igual que otras cabeceras, las cookies deben ser enviadas antes de que el script genere ninguna salida (es una restricción del protocolo). Ésto implica que las llamadas a esta función se coloquen antes de que se genere cualquier salida, incluyendo las etiquetas <html> y <head> al igual que cualquier espacio en blanco.

Una vez que han sido enviadas las cookies, se puede acceder a ellas en la próxima carga de la página gracias a los arrays $_COOKIE o $HTTP_COOKIE_VARS. Nótese que las superglobales tales como $_COOKIE están disponibles a partir de PHP 4.1.0. El valor de las cookies también está en $_REQUEST.

Parámetros

Todos los argumentos exceptuando el argumento name son opcionales. También puede reemplazar un argumento con un string vacío ("") para saltárselo. Ya que el argumento expire es un entero, no puede pasarse por alto con un string vacío, en su lugar utilice un cero (0).

La referencia » RFC 6265 provee la normativa que establece cómo debe ser interpretado cada parámetro de setcookie().

name

El nombre de la cookie.

value

El valor de la cookie. Este valor se guarda en el computador del cliente; no almacene información sensible. Asumiendo que el name es 'cookiename', este valor se obtiene con $_COOKIE['cookiename'].

expire

El tiempo en el que expira la cookie. Es una fecha Unix por tanto está en número de segundos a partir de la presente época. En otras palabras, probablemente utilizará la función time() más el número de segundos que quiere que dure la cookie. También podría utilizar la función mktime(). time()+60*60*24*30 configurará la cookie para expirar en 30 días. Si se pone 0, o se omite, la cookie expirará al final de la sesión (al cerrarse el navegador).

Nota:

Puede notar que el parámetro expire recibe una fecha Unix, por oposición al formato de fecha Wdy, DD-Mon-YYYY HH:MM:SS GMT, esto se debe a que PHP realiza esta conversión internamente.

path

La ruta dentro del servidor en la que la cookie estará disponible. Si se utiliza '/', la cookie estará disponible en la totalidad del domain. Si se configura como '/foo/', la cookie sólo estará disponible dentro del directorio /foo/ y todos sus sub-directorios en el domain, tales como /foo/bar/. El valor por defecto es el directorio actual en donde se está configurando la cookie.

domain

El dominio para el cual la cookie está disponible. Establecer el dominio a 'www.example.com' hará que la cookie esté disponible en el subdominio www y subdominios superiores. Las cookies disponibles en un dominio inferior, como 'example.com', estarán disponibles en dominios superiores, como 'www.example.com'. Los navegadores antiguos que aún implementan la referencia obsoleta » RFC 2109 pueden necesitar un . al inicio para comparar todos los subdominios.

secure

Indica que la cookie sólo debiera transmitirse por una conexión segura HTTPS desde el cliente. Cuando se configura como TRUE, la cookie sólo se creará si es que existe una conexión segura. Del lado del servidor, depende del programador el enviar este tipo de cookies solamente a través de conexiones seguras (por ejemplo, con $_SERVER["HTTPS"]).

httponly

Cuando es TRUE la cookie será accesible sólo a través del protocolo HTTP. Esto significa que la cookie no será accesible por lenguajes de scripting, como JavaScript. Se ha indicado que esta configuración ayuda efectivamente a reducir el robo de identidad a través de ataques XSS (aunque no es soportada por todos los navegadores). pero esa afirmación se disputa a menudo. Agregado en PHP 5.2.0. Puede ser TRUE o FALSE

Valores devueltos

Si existe algún tipo de output anterior a la llamada de esta función, setcookie() fallará y retornará FALSE. Si setcookie() ejecuta satisfactoriamente, retornará TRUE. Esto no indica si es que el usuario ha aceptado la cookie o no.

Ejemplos

A continuación algunos ejemplos acerca de cómo enviar cookies:

Ejemplo #1 ejemplo de envío con setcookie()

<?php
$value = 'cualquier cosa';

setcookie("TestCookie", $value);
setcookie("TestCookie", $value, time()+3600);  /* expira en una hora */
setcookie("TestCookie", $value, time()+3600, "/~rasmus/", "example.com", 1);
?>

Nótese que la parte del valor de la cookie será automáticamente codificada con urlencode al enviar la cookie, y al ser recibida será automáticamente decodificada y asignada a una variable con el mismo nombre que el nombre de la cookie. Si no se desea ésto, se puede usar setrawcookie() si es que se está utilizando PHP 5. Para ver el contenido de nuestra cookie de prueba en un script, simplemente siga uno de los ejemplo siguientes:

<?php
// Imprimir una cookie individual
echo $_COOKIE["TestCookie"];
echo $HTTP_COOKIE_VARS["TestCookie"];

//Otra manera de depurar/probar es viendo todas las cookies
print_r($_COOKIE);
?>

Ejemplo #2 ejemplo de borrado con setcookie()

Al borrar una cookie debiese asegurarse que la fecha de expiración ya ha pasado, de modo a detonar el mecanismo de eliminación del navegador. El siguiente ejemplo muestra cómo borrar las cookies enviadas en el ejemplo anterior:

<?php
//establecer la fecha de expiración a una hora atrás
setcookie ("TestCookie", "", time() - 3600);
setcookie ("TestCookie", "", time() - 3600, "/~rasmus/", "example.com", 1);
?>

Ejemplo #3 setcookie() y los arrays

También puede crear arrays de cookies utilizando la notación de arrays en el nombre de la cookie. El efecto de ésto es de crear tantas cookies como elementos hay en el array, pero al recibir el script la cookie, todos los valores son colocados en un array con el nombre de la cookie:

<?php
// crear las cookies
setcookie("cookie[tres]", "cookietres");
setcookie("cookie[dos]", "cookiedos");
setcookie("cookie[uno]", "cookieuno");

// imprimirlas luego que la página es recargada
if (isset($_COOKIE['cookie'])) {
    foreach ($_COOKIE['cookie'] as $name => $value) {
        $name = htmlspecialchars($name);
        $value = htmlspecialchars($value);
        echo "$name : $value <br />\n";
    }
}
?>

El resultado del ejemplo sería:

tres : cookietres
dos : cookiedos
uno : cookieuno

Historial de cambios

Versión | Descripción
5.5.0 | Ahora se incluye un atribugo Max-Age en la cabecera Set-Cookie enviada al cliente.
5.2.0 | Se añadió el parámetro httponly.

Notas

Nota:

Se puede utilizar buffering de salida para enviar output anterior a la llamada a esta función, de modo que todo el output hacia el browser sea almacenado en el servidor hasta que lo envíe. Para hacer ésto invoque en su script a ob_start() y ob_end_flush(), o active la directiva de configuración output_buffering en el archivo php.ini o en los archivos de configuración del servidor.

Nota:

Si la directiva de PHP register_globals está en on los valores de las cookies también serán convertidos en variables. En el ejemplo de más abajo,$TestCookie existirá. Se recomienda simplemente utilizar $_COOKIE.

Trampas habituales:

  • Las cookies no se volverán visibles hasta la próxima carga de la página en la que debieran serlo. Para probar si se ha creado correctamente una cookie, se debe buscar la cookie en alguna página cargada posteriormente y antes que la cookie expire. El tiempo de expiración se establece con el parámetro expire. Una forma sencilla de verificar la existencia de cookies es invocando print_r($_COOKIE);.
  • Las cookies deben ser borradas usando los mismos parámetros con que fueron creadas. Si el argumento del valor es un string vacío o FALSE, y todos los demás argumentos coinciden con una llamada anterior a setcookie, entonces la cookie con el nombre especificado será eliminada del cliente remoto. Internamente ésto se logra estableciendo el valor a 'deleted' y el tiempo de expiración a un año atrás.
  • Ya que configurar el valor de una cookie como FALSE intentará eliminar la cookie, no se debieran utilizar valores booleanos. En su lugar, use 0 como FALSE y 1 como TRUE.
  • Los nombres de las cookies pueden declararse como nombres de arrays y estarán disponibles en sus scripts PHP como arrays, pero en el sistema del usuario se guardarán como cookies separadas. Considere la función explode() para crear una sola cookie con nombres y valores múltiples. No se recomienda utilizar la función serialize() para este propósito, pues puede significar vulnerabilidades en la seguridad.

Múltiples llamadas a setcookie() se efectúan en el orden de llamada.

Ver también

  • header() - Enviar encabezado sin formato HTTP
  • setrawcookie() - Enviar una cookie sin codificar su valor
  • sección sobre cookies
  • » RFC 6265
  • » RFC 2109

pfsockopen
setrawcookie
Funciones de red


Enviar una cookie sin codificar su valor

setcookie
socket_get_status
Funciones de red
PHP Manual

setrawcookie

(PHP 5)

setrawcookie — Enviar una cookie sin codificar su valor

Descripción

bool setrawcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )

setrawcookie() es exactamente el mismo que setcookie() excepto que el valor de la cookie no será automáticamente codificado cuando se envía al navegador.

Parámetros

Para información sobre los parámetros, consulte la función setcookie().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.5.0 | Ahora se incluye un atribugo Max-Age en la cabecera Set-Cookie enviada al cliente.
5.2.0 | Añadido el parámetro httponly.

Ver también

  • setcookie() - Enviar una cookie

setcookie
socket_get_status
Funciones de red


Alias de stream_get_meta_data

setrawcookie
socket_set_blocking
Funciones de red
PHP Manual

socket_get_status

(PHP 4, PHP 5)

socket_get_status — Alias de stream_get_meta_data()

Descripción

Esta función es un alias de: stream_get_meta_data().

setrawcookie
socket_set_blocking
Funciones de red


Alias de stream_set_blocking

socket_get_status
socket_set_timeout
Funciones de red
PHP Manual

socket_set_blocking

(PHP 4, PHP 5)

socket_set_blocking — Alias de stream_set_blocking()

Descripción

Esta función es un alias de: stream_set_blocking().

socket_get_status
socket_set_timeout
Funciones de red


Alias de stream_set_timeout

socket_set_blocking
syslog
Funciones de red
PHP Manual

socket_set_timeout

(PHP 4, PHP 5)

socket_set_timeout — Alias de stream_set_timeout()

Descripción

Esta función es un alias de: stream_set_timeout().

socket_set_blocking
syslog
Funciones de red


Genera un mensaje log de sistema

socket_set_timeout
RRD
Funciones de red
PHP Manual

syslog

(PHP 4, PHP 5)

syslog — Genera un mensaje log de sistema

Descripción

bool syslog ( int $priority , string $message )

syslog() genera un mensaje log que será distribuido por el logger del sistema.

Para información de como configurar un usuario definido como controlador del log, ver syslog.conf (5) del manual de Unix. Más información sobre los recursos y opciones de syslog pueden encontrarse en las páginas del manual de syslog (3) en entornos Unix.

Parámetros

priority

priority es una combinación del tipo y el nivel. Posibles valores:

Prioridades syslog() (en orden descendente)
Constante | Descripción
LOG_EMERG | sistema inservible
LOG_ALERT | se debe tomar acción de forma inmediata
LOG_CRIT | condiciones críticas
LOG_ERR | condiciones de error
LOG_WARNING | condiciones de alerta
LOG_NOTICE | condición normal, pero relevante
LOG_INFO | mensaje de información
LOG_DEBUG | mensaje de testeo

message

El mensaje a enviar a excepción de dos caracteres %m serán reemplazados con el mensaje de error (strerror) correspondiente con el valor presente de errno.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Uso de syslog()

<?php
// abre syslog, incluyendo el ID del proceso. También envia al
// log el error estándar y el mecanismo de logging
// definido por el usuario
openlog("myScriptLog", LOG_PID | LOG_PERROR, LOG_LOCAL0);

// algún código

if (authorized_client()) {
    // hace algo
} else {
    // Cliente no autorizado!
    // Se logea el intento
    $access = date("Y/m/d H:i:s");
    syslog(LOG_WARNING, "Cliente no autorizado: $access {$_SERVER['REMOTE_ADDR']} ({$_SERVER['HTTP_USER_AGENT']})");
}

closelog();
?>

Notas

En Windows NT, el servicio syslog es emulado usando el Event Log.

Nota:

El uso de LOG_LOCAL0 a través de LOG_LOCAL7 para el parámetro facility de openlog() no está disponible en Windows.

Ver también

  • openlog() - Open connection to system logger
  • closelog() - Cerrar conexión al log del sistema

socket_set_timeout
RRD
Funciones de red


RRDtool

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Ejemplo procedural PECL/rrd
    • Ejemplo OOP PECL/rrd
  • Funciones RRD
    • rrd_create — Crea un archivo de base de datos rrd
    • rrd_error — Obtener el último mensaje de error
    • rrd_fetch — Recuperar los datos de gráfico como un array
    • rrd_first — Obtiene la marca de tiempo UNIX de la primera muestra desde el archivo rrd
    • rrd_graph — Crea la imagen de un conjunto de datos
    • rrd_info — Obtiene información sobre el archivo rrd
    • rrd_last — Obtiene la marca de tiempo UNIX de la última muestra
    • rrd_lastupdate — Obtiene información sobre los últimos datos actualizados
    • rrd_restore — Restaura el archivo RRD desde el XML dump
    • rrd_tune — Cambia algunas opciones de cabecera del archivo de base de datos RRD database
    • rrd_update — Actualizar la base de datos RRD
    • rrd_version — Obtiene información acerca de la biblioteca subyacente rrdtool
    • rrd_xport — Exporta la información acerca de la base de datos RRD
  • RRDCreator — La clase RRDCreator
    • RRDCreator::addArchive — Añade RRA - archivo de valores de datos para cada fuente de datos
    • RRDCreator::addDataSource — Añade definición de origen de datos para la base de datos RRD
    • RRDCreator::__construct — Crea una nueva instancia RRDCreator
    • RRDCreator::save — Guarda la base de datos RRD en un archivo
  • RRDGraph — La clase RRDGraph
    • RRDGraph::__construct — Crea una nueva instancia RRDGraph
    • RRDGraph::save — Guarda el resultado de la consulta en la imagen
    • RRDGraph::saveVerbose — Guarda la consulta de la bases de datos RRD en la imagen y devuelve la información detallada acerca de gráfico generado.
    • RRDGraph::setOptions — Establece las opciones para la exportación gráfica rrd
  • RRDUpdater — La clase RRDUpdater
    • RRDUpdater::__construct — Crea una nueva instancia RRDUpdater
    • RRDUpdater::update — Actualiza el archivo de base de datos RRD
syslog
Introducción
Otros servicios


Introducción

La extensión PECL/rrd proporciona enlaces a la biblioteca en C RRDtool. RRDtool es el estándar de código abierto de la industria, datos de registro de alto rendimiento y la representación gráfica del sistema para datos de series de tiempo.

La página principal de RRDtool es » http://www.mrtg.org/rrdtool/.

RRD
Instalación/Configuración
RRD


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
RRD


Requerimientos

Es necesario instalar librrd antes de poder utilizar PECL/rrd. La opción más común es utilizando el paquete librrd-dev de su distribución Linux favorita. PECL/rrd ha sido testeado con librrd 1.4.3, versiones más antiguas o más recientes quizás podrían no funcionarle. La instalación de PECL/rrd ha sido testeada con PHP 5.3.2 o superior.

Advertencia

Librrd y por lo tanto la extensión en sí no son en general seguro para subprocesos. Hay muchos estados globales y compartidos en librrd. Puede ser peligroso utilizar esta extensión en múltiples entornos multihilo como Apache2 mpm worker. Si hay muchas solicitudes paralelas, una solicitud puede modificar algún estado global librrd de otras solicitudes que se estén ejecutando.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/rrd.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Ejemplos
RRD


Ejemplos

Tabla de contenidos

  • Ejemplo procedural PECL/rrd
  • Ejemplo OOP PECL/rrd
Constantes predefinidas
Ejemplo procedural PECL/rrd
RRD


Ejemplo procedural PECL/rrd

Ejemplo #1 Procedimiento de utilización de rrd

<?php
$rrdFile = dirname(__FILE__) . "/speed.rrd";

//crear el archivo rrd
rrd_create($rrdFile,
 array(
  "--start",920804400,
  "DS:speed:COUNTER:600:U:U",
  "RRA:AVERAGE:0.5:1:24",
  "RRA:AVERAGE:0.5:6:10"
  )
);

//actualizar el archivo rrd
rrd_update($rrdFile,
 array(
  "920804700:12345",
  "920805000:12357"
  )
);

//gráfico de salida
rrd_graph(dirname(__FILE__) . "/speed.png",
 array(
  "--start", "920804400",
  "--end", "920808000",
  "--vertical-label", "m/s",
  "DEF:myspeed=$rrdFile:speed:AVERAGE",
  "CDEF:realspeed=myspeed,1000,*",
  "LINE2:realspeed#FF0000"
 )
);
?>

Ejemplos
Ejemplo OOP PECL/rrd
Ejemplos


Ejemplo OOP PECL/rrd

Ejemplo #1 Procedimiento de utilización de OOP rrd

<?php
$rrdFile = dirname(__FILE__) . "/speed.rrd";
$outputPngFile = dirname(__FILE__) . "/speed.png";

$creator = new RRDCreator($rrdFile, "now -10d", 500);
$creator->addDataSource("speed:COUNTER:600:U:U");
$creator->addArchive("AVERAGE:0.5:1:24");
$creator->addArchive("AVERAGE:0.5:6:10");
$creator->save();

$updater = new RRDUpdater($rrdFile);
$updater->update(array("speed" => "12345"), "920804700");
$updater->update(array("speed" => "12357"), "920805000");

$graphObj = new RRDGraph($outputPngFile);
$graphObj->setOptions(
    array(
        "--start" => "920804400",
        "--end" => 920808000,
        "--vertical-label" => "m/s",
        "DEF:myspeed=$rrdFile:speed:AVERAGE",
        "CDEF:realspeed=myspeed,1000,*",
        "LINE2:realspeed#FF0000"
    )
);
$graphObj->save();
?>

Ejemplo procedural PECL/rrd
Funciones RRD
Ejemplos


Funciones RRD

Tabla de contenidos

  • rrd_create — Crea un archivo de base de datos rrd
  • rrd_error — Obtener el último mensaje de error
  • rrd_fetch — Recuperar los datos de gráfico como un array
  • rrd_first — Obtiene la marca de tiempo UNIX de la primera muestra desde el archivo rrd
  • rrd_graph — Crea la imagen de un conjunto de datos
  • rrd_info — Obtiene información sobre el archivo rrd
  • rrd_last — Obtiene la marca de tiempo UNIX de la última muestra
  • rrd_lastupdate — Obtiene información sobre los últimos datos actualizados
  • rrd_restore — Restaura el archivo RRD desde el XML dump
  • rrd_tune — Cambia algunas opciones de cabecera del archivo de base de datos RRD database
  • rrd_update — Actualizar la base de datos RRD
  • rrd_version — Obtiene información acerca de la biblioteca subyacente rrdtool
  • rrd_xport — Exporta la información acerca de la base de datos RRD
Ejemplo OOP PECL/rrd
rrd_create
RRD


Crea un archivo de base de datos rrd

Funciones RRD
rrd_error
Funciones RRD
PHP Manual

rrd_create

(PECL rrd >= 0.9.0)

rrd_create — Crea un archivo de base de datos rrd

Descripción

bool rrd_create ( string $filename , array $options )

Crea el archivo de base de datos RDD.

Parámetros

filename

Nombre de archivo para el nuevo archivo de base de datos rrd.

options

Opciones para la creación del archivo de base de datos rrd - lista de cadenas. Ver página de manual de creación de archivos de base de datos rrd para obtener una lista completa de opciones.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Funciones RRD
rrd_error
Funciones RRD


Obtener el último mensaje de error

rrd_create
rrd_fetch
Funciones RRD
PHP Manual

rrd_error

(PECL rrd >= 0.9.0)

rrd_error — Obtener el último mensaje de error

Descripción

string rrd_error ( void )

Devuelve el último mensaje de error global rrd.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Último mensaje de error.

rrd_create
rrd_fetch
Funciones RRD


Recuperar los datos de gráfico como un array

rrd_error
rrd_first
Funciones RRD
PHP Manual

rrd_fetch

(PECL rrd >= 0.9.0)

rrd_fetch — Recuperar los datos de gráfico como un array

Descripción

array rrd_fetch ( string $filename , array $options )

Obtiene datos para la salida gráfica del archivo desde la base de datos RRD como un array. Esta función tiene el mismo resultado que rrd_graph(), pero los datos obtenidos son devueltos como una matriz, no se crea el archivo de imagen.

Parámetros

filename

Nombre de archivo de la base de datos RRD.

options

Array de opciones para la resolución solicitada.

Valores devueltos

Devuelve información acerca de los datos del gráfico recuperados.

rrd_error
rrd_first
Funciones RRD


Obtiene la marca de tiempo UNIX de la primera muestra desde el archivo rrd

rrd_fetch
rrd_graph
Funciones RRD
PHP Manual

rrd_first

(PECL rrd >= 0.9.0)

rrd_first — Obtiene la marca de tiempo UNIX de la primera muestra desde el archivo rrd

Descripción

int rrd_first ( string $file [, int $raaindex = 0 ] )

Devuelve la primera muestra de datos desde la especificada RRA del archivo RRD.

Parámetros

file

Nombre del archivo de la base de datos RRD.

raaindex

El índice numérico de la RRA que se va a examinar. El valor por defecto es 0.

Valores devueltos

Número entero de marca de tiempo Unix, FALSE Si se produce algún error.

rrd_fetch
rrd_graph
Funciones RRD


Crea la imagen de un conjunto de datos

rrd_first
rrd_info
Funciones RRD
PHP Manual

rrd_graph

(PECL rrd >= 0.9.0)

rrd_graph — Crea la imagen de un conjunto de datos

Descripción

array rrd_graph ( string $filename , array $options )

Crea la imagen de un conjunto de datos particulares desde el archivo de RRD.

Parámetros

filename

El nombre del archivo de salida del gráfico. Este generalmente tiene una terminación .png, .svg o .eps, dependiendo del formato de salida que desee.

options

Las opciones para la generación de la imagen. Consulte la página del manual de gráficos rrd para conocer todas las posibles opciones. Todas las opciones (definiciones de datos, definiciones de variables, etc.) son permitidas.

Valores devueltos

Se devolverá un array con información acerca de la imagen generada, FALSE cuando se produzca un error.

rrd_first
rrd_info
Funciones RRD


Obtiene información sobre el archivo rrd

rrd_graph
rrd_last
Funciones RRD
PHP Manual

rrd_info

(PECL rrd >= 0.9.0)

rrd_info — Obtiene información sobre el archivo rrd

Descripción

array rrd_info ( string $filename )

Devuelve información acerca sobre determinado archivo de base de datos RRD.

Parámetros

file

Nombre del archivo de base de datos RRD.

Valores devueltos

Array con información sobre el archivo RRD solicitado, FALSE cuando ocurra un error.

rrd_graph
rrd_last
Funciones RRD


Obtiene la marca de tiempo UNIX de la última muestra

rrd_info
rrd_lastupdate
Funciones RRD
PHP Manual

rrd_last

(PECL rrd >= 0.9.0)

rrd_last — Obtiene la marca de tiempo UNIX de la última muestra

Descripción

int rrd_last ( string $filename )

Devuelve la marca de tiempo UNIX (UNIX timestamp) de la actualización más reciente de la base de datos RRD.

Parámetros

filename

Nombre de archivo de la base de datos RRD.

Valores devueltos

Devuelve un número entero como marca de tiempo Unix de los datos más recientes de la base de datos RRD.

rrd_info
rrd_lastupdate
Funciones RRD


Obtiene información sobre los últimos datos actualizados

rrd_last
rrd_restore
Funciones RRD
PHP Manual

rrd_lastupdate

(PECL rrd >= 0.9.0)

rrd_lastupdate — Obtiene información sobre los últimos datos actualizados

Descripción

array rrd_lastupdate ( string $filename )

Obtiene un array de la marca de tiempo UNIX y de los valores almacenados para cada fecha en la actualización más reciente del archivo de base de datos RRD.

Parámetros

file

Nombre del archivo de la base de datos RRD.

Valores devueltos

Array de información sobre la última actualización, FALSE cuando ocurra un error.

rrd_last
rrd_restore
Funciones RRD


Restaura el archivo RRD desde el XML dump

rrd_lastupdate
rrd_tune
Funciones RRD
PHP Manual

rrd_restore

(PECL rrd >= 0.9.0)

rrd_restore — Restaura el archivo RRD desde el XML dump

Descripción

bool rrd_restore ( string $xml_file , string $rrd_file [, array $options ] )

Restaura el archivo RRD desde el XML dump.

Parámetros

xml_file

Nombre del archivo XML con el dump del archivo de la base de datos RRD original.

rrd_file

Nombre del archivo de la base de datos RRD restaurada.

options

Array de opciones para la restauración. Consulte la página de manual de restauración rrd.

Valores devueltos

Devuelve TRUE en caso de éxito, FALSE en caso de error.

rrd_lastupdate
rrd_tune
Funciones RRD


Cambia algunas opciones de cabecera del archivo de base de datos RRD database

rrd_restore
rrd_update
Funciones RRD
PHP Manual

rrd_tune

(PECL rrd >= 0.9.0)

rrd_tune — Cambia algunas opciones de cabecera del archivo de base de datos RRD database

Descripción

bool rrd_tune ( string $filename , array $options )

Cambia algunas opciones de cabecera del archivo de base de datos RRD. Por ejemplo, cambia el nombre de la fuente de los datos, etc

Parámetros

filename

Nombre de archivo de la base de datos RRD.

options

Opciones con las propiedades del archivo de la base de datos RDD que serán cambiadas. Consulte la página del manual rrd tune para mayor detalle.

Valores devueltos

Devuelve TRUE en caso de éxito, FALSE en caso contrario.

rrd_restore
rrd_update
Funciones RRD


Actualizar la base de datos RRD

rrd_tune
rrd_version
Funciones RRD
PHP Manual

rrd_update

(PECL rrd >= 0.9.0)

rrd_update — Actualizar la base de datos RRD

Descripción

bool rrd_update ( string $filename , array $options )

Actualiza el archivo de base de datos RRD. Los datos de entrada es el tiempo interpolado de acuerdo con las propiedades del archivo de base de datos RRD.

Parámetros

filename

Nombre de archivo de la base de datos RRD. Esta base de datos será actualizada.

options

Opciones para actualizar la base de datos RRD. Esta es una lista de cadenas. Ver página del manual de actualización rrd para conocer el listado de opciones.

Valores devueltos

Returns TRUE on success, FALSE when error occurs.

rrd_tune
rrd_version
Funciones RRD


Obtiene información acerca de la biblioteca subyacente rrdtool

rrd_update
rrd_xport
Funciones RRD
PHP Manual

rrd_version

(PECL rrd >= 1.0.0)

rrd_version — Obtiene información acerca de la biblioteca subyacente rrdtool

Descripción

string rrd_version ( void )

Devuelve información acerca de la biblioteca subyacente rrdtool.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

String con el número de versión, por ejemplo, rrdtool "1.4.3".

rrd_update
rrd_xport
Funciones RRD


Exporta la información acerca de la base de datos RRD

rrd_version
RRDCreator
Funciones RRD
PHP Manual

rrd_xport

(PECL rrd >= 0.9.0)

rrd_xport — Exporta la información acerca de la base de datos RRD

Descripción

array rrd_xport ( array $options )

Exporta la información sobre el archivo de base de datos RRD. Estos datos se pueden convertir a archivo XML a través del espacio de usuario PHP script y posteriormente restaurarlo de nuevo como un archivo de base de datos RRD.

Parámetros

options

Array de opciones para la exportación, consulte la página del manual rrd xport.

Valores devueltos

Array con información sobre el archivo de base de datos RRD, FALSE cuando se produzca un error.

rrd_version
RRDCreator
Funciones RRD


La clase RRDCreator

(PECL rrd >= 0.9.0)

Introducción

Clase para la creación del archivo de base de datos RRD.

Sinopsis de la Clase

RRDCreator {
/* Métodos */
public void addArchive ( string $description )
public void addDataSource ( string $description )
public __construct ( string $path [, string $startTime [, int $step = 0 ]] )
public bool save ( void )
}

Tabla de contenidos

  • RRDCreator::addArchive — Añade RRA - archivo de valores de datos para cada fuente de datos
  • RRDCreator::addDataSource — Añade definición de origen de datos para la base de datos RRD
  • RRDCreator::__construct — Crea una nueva instancia RRDCreator
  • RRDCreator::save — Guarda la base de datos RRD en un archivo
rrd_xport
RRDCreator::addArchive
RRD


Añade RRA - archivo de valores de datos para cada fuente de datos

RRDCreator
RRDCreator::addDataSource
RRDCreator
PHP Manual

RRDCreator::addArchive

(PECL rrd >= 0.9.0)

RRDCreator::addArchive — Añade RRA - archivo de valores de datos para cada fuente de datos

Descripción

public void RRDCreator::addArchive ( string $description )

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.

Parámetros

description

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.

Valores devueltos

No devuelve ningún valor.

RRDCreator
RRDCreator::addDataSource
RRDCreator


Añade definición de origen de datos para la base de datos RRD

RRDCreator::addArchive
RRDCreator::__construct
RRDCreator
PHP Manual

RRDCreator::addDataSource

(PECL rrd >= 0.9.0)

RRDCreator::addDataSource — Añade definición de origen de datos para la base de datos RRD

Descripción

public void RRDCreator::addDataSource ( string $description )

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.

Parámetros

description

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.

Valores devueltos

No devuelve ningún valor.

RRDCreator::addArchive
RRDCreator::__construct
RRDCreator


Crea una nueva instancia RRDCreator

RRDCreator::addDataSource
RRDCreator::save
RRDCreator
PHP Manual

RRDCreator::__construct

(PECL rrd >= 0.9.0)

RRDCreator::__construct — Crea una nueva instancia RRDCreator

Descripción

public RRDCreator::__construct ( string $path [, string $startTime [, int $step = 0 ]] )

Crea una nueva instancia RRDCreator.

Parámetros

path

Ruta de acceso para el archivo de base de datos recién creada RRD.

startTime

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.

intstep

Base de intervalo en segundos con que los datos se introducen en la base de datos RRD.

Valores devueltos

No devuelve ningún valor.

RRDCreator::addDataSource
RRDCreator::save
RRDCreator


Guarda la base de datos RRD en un archivo

RRDCreator::__construct
RRDGraph
RRDCreator
PHP Manual

RRDCreator::save

(PECL rrd >= 0.9.0)

RRDCreator::save — Guarda la base de datos RRD en un archivo

Descripción

public bool RRDCreator::save ( void )

Guarda la base de datos RRD en un archivo, cuyo nombre es definido por RRDCreator::__construct().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

RRDCreator::__construct
RRDGraph
RRDCreator


La clase RRDGraph

(PECL rrd >= 0.9.0)

Introducción

Clase para exportar datos de la bases de datos RRD al archivo de imagen.

Sinopsis de la Clase

RRDGraph {
/* Métodos */
public __construct ( string $path )
public array save ( void )
public array saveVerbose ( void )
public void setOptions ( array $options )
}

Tabla de contenidos

  • RRDGraph::__construct — Crea una nueva instancia RRDGraph
  • RRDGraph::save — Guarda el resultado de la consulta en la imagen
  • RRDGraph::saveVerbose — Guarda la consulta de la bases de datos RRD en la imagen y devuelve la información detallada acerca de gráfico generado.
  • RRDGraph::setOptions — Establece las opciones para la exportación gráfica rrd
RRDCreator::save
RRDGraph::__construct
RRD


Crea una nueva instancia RRDGraph

RRDGraph
RRDGraph::save
RRDGraph
PHP Manual

RRDGraph::__construct

(PECL rrd >= 0.9.0)

RRDGraph::__construct — Crea una nueva instancia RRDGraph

Descripción

public RRDGraph::__construct ( string $path )

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.

Parámetros

path

Ruta completa de la imagen recién creada.

Valores devueltos

No devuelve ningún valor.

RRDGraph
RRDGraph::save
RRDGraph


Guarda el resultado de la consulta en la imagen

RRDGraph::__construct
RRDGraph::saveVerbose
RRDGraph
PHP Manual

RRDGraph::save

(PECL rrd >= 0.9.0)

RRDGraph::save — Guarda el resultado de la consulta en la imagen

Descripción

public array RRDGraph::save ( void )

Guarda el resultado de la consulta de base de datos RRD en la imagen definida por RRDGraph::__construct().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Se devuelve un array con información acerca de la imagen generada, FALSE si se produce un error.

RRDGraph::__construct
RRDGraph::saveVerbose
RRDGraph


Guarda la consulta de la bases de datos RRD en la imagen y devuelve la información detallada acerca de gráfico generado.

RRDGraph::save
RRDGraph::setOptions
RRDGraph
PHP Manual

RRDGraph::saveVerbose

(PECL rrd >= 0.9.0)

RRDGraph::saveVerbose — Guarda la consulta de la bases de datos RRD en la imagen y devuelve la información detallada acerca de gráfico generado.

Descripción

public array RRDGraph::saveVerbose ( void )

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.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Se devuelve un array con información detallada acerca de la imagen generada, opcionalmente con datos de imagen, FALSE si se produce un error.

RRDGraph::save
RRDGraph::setOptions
RRDGraph


Establece las opciones para la exportación gráfica rrd

RRDGraph::saveVerbose
RRDUpdater
RRDGraph
PHP Manual

RRDGraph::setOptions

(PECL rrd >= 0.9.0)

RRDGraph::setOptions — Establece las opciones para la exportación gráfica rrd

Descripción

public void RRDGraph::setOptions ( array $options )

Parámetros

options

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.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplos RRDGraph::setOptions()

<?php
$graphObj->setOptions(array(
    "--start" => "920804400",
    "--end" => 920808000,
    "--vertical-label" => "m/s",
    "DEF:myspeed=$rrdFile:speed:AVERAGE",
    "CDEF:realspeed=myspeed,1000,*",
    "LINE2:realspeed#FF0000"
));
?>

RRDGraph::saveVerbose
RRDUpdater
RRDGraph


La clase RRDUpdater

(PECL rrd >= 0.9.0)

Introducción

Clase para actualizar el archivo de base de datos RDD.

Sinopsis de la Clase

RRDUpdater {
/* Métodos */
public __construct ( string $path )
public bool update ( array $values [, string $time = time() ] )
}

Tabla de contenidos

  • RRDUpdater::__construct — Crea una nueva instancia RRDUpdater
  • RRDUpdater::update — Actualiza el archivo de base de datos RRD
RRDGraph::setOptions
RRDUpdater::__construct
RRD


Crea una nueva instancia RRDUpdater

RRDUpdater
RRDUpdater::update
RRDUpdater
PHP Manual

RRDUpdater::__construct

(PECL rrd >= 0.9.0)

RRDUpdater::__construct — Crea una nueva instancia RRDUpdater

Descripción

public RRDUpdater::__construct ( string $path )

Crea una nueva instancia RRDUpdater. Esta instancia es responsable de actualizar el archivo de base de datos RRD.

Parámetros

path

Ruta de archivo del sistema para el archivo de base de datos RRD, que se actualizará.

Valores devueltos

No devuelve ningún valor.

RRDUpdater
RRDUpdater::update
RRDUpdater


Actualiza el archivo de base de datos RRD

RRDUpdater::__construct
SAM
RRDUpdater
PHP Manual

RRDUpdater::update

(PECL rrd >= 0.9.0)

RRDUpdater::update — Actualiza el archivo de base de datos RRD

Descripción

public bool RRDUpdater::update ( array $values [, string $time = time() ] )

Actualiza el archivo RRD definido a través de RRDUpdater::__construct(). El archivo se actualiza con un valor específico.

Parámetros

values

Los datos de actualización. Key del array es el nombre del origen de datos.

time

Valor del tiempo para la actualización del RRD con unos datos particulares. El valor predeterminado es la hora actual.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Throws a Exception on error.

Ejemplos

Ejemplo #1 Ejemplos de RRDUpdater::update()

<?php
$updator = new RRDUpdater("speed.rrd");
//actualiza el dato de origen "speed" con el valor "12411"
//para un tiempo definido por timestamp "920807700"
$updator->update(array("speed" => "12411"), "920807700");
?>

RRDUpdater::__construct
SAM
RRDUpdater


Mensajería Simple Asíncrona

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Conexiones
    • Mensajes
    • Operaciones de mensajería
    • Publicar/Suscribir y suscripción a temas (topics)
    • Control de errores
  • Funciones SAM
    • SAMConnection::commit — Hace el commit (consolida) la unidad de trabajo actual.
    • SAMConnection::connect — Establece una conexión a un servidor de mensajería
    • SAMConnection::__construct — Crea una nueva conexión a un Servidor de Mensajería
    • SAMConnection::disconnect — Desconecta de un Servidor de Mensajería
    • SAMConnection::errno — Contiene el código de error numérico de la última operación SAM ejecutada
    • SAMConnection::error — Contiene el texto con la descripción de la última operación SAM fallida
    • SAMConnection::isConnected — Consulta si se ha establecido conexión a un Servidor de Mensajería
    • SAMConnection::peek — Lectura de un mensaje de una cola sin eliminarlo de la cola.
    • SAMConnection::peekAll — Lectura de uno o más mensajes de una cola, sin eliminarlo de la cola.
    • SAMConnection::receive — Recibir un mensaje de una cola o de una suscripción.
    • SAMConnection::remove — Elimina un mensaje de una cola
    • SAMConnection::rollback — Cancela (revierte) una unidad de trabajo pendiente de ser consolidada.
    • SAMConnection::send — Envía un mensaje a una cola o lo publica en un asunto.
    • SAMConnection::setDebug — Activa o desactiva la información adicional de depuración.
    • SAMConnection::subscribe — Crea una suscripción a un tema específico.
    • SAMConnection::unsubscribe — Cancela una suscripción a un tema específico.
    • SAMMessage::body — El cuerpo del mensaje.
    • SAMMessage::__construct — Crea un nuevo objeto de mensaje
    • SAMMessage::header — Las propiedades en la cabecera del mensaje.
RRDUpdater::update
Introducción
Otros servicios


Introducción

Esta extensión proporciona acceso a la funcionalidad de mensajería y sistemas de encolado de mensajes, como la familia de productos IBM WebSphere MQSeries , de los scripts PHP. El interface está diseñado para que sea extremadamente simple realizar las tareas más comunes, como distribuir mensajes simples de texto a las colas, pero al mismo tiempo permite a los usuarios expertos realizar operaciones de mensajería más complejas. Para muchos usuarios las complejidades de configurar numerosas opciones pueden ser simplemente ignoradas.

La extensión SAM es una framework que proporciona un API muy simple que puede ser utilizado para acceder a muchos sistemas middleware de mensajería . Actualmente el paquete incluye soporte interno para el protocolo de mensajería MQTT (MQ Telemetry Transport) y soporte para los productos middleware de Mensajería y Encolado de mensajes de IBM. SAM ha sido diseñado para ser fácilmente extensible para soportar otros sistemas de mensajería y módulos de extensión, que pueden ser escritos en C o PHP.

SAM
Instalación/Configuración
SAM


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
SAM


Requerimientos

La extensión SAM actúa de interface de los productos middleware IBM Messaging and Queuing utilizando un conjunto de librerías y un código cliente llamado XMS. Este paquete está disponible como una descarga gratuíta en la guía de soporte de IBM pack IA94. Hay una descripción de los links del paquete y de la descarga en el artículo » Introducing XMS - The IBM Message Service API.

Si se desea utilizar SAM para acceder a la infrastructura de mensajería y encolado de mensajes dentro de un WebSphere MQ entonces será necesario también tener instalado un gestor de colas local MQ o tener instalado el paquete cliente WebSphere MQ. El paquete cliente está disponible de forma gratuíta como un paquete de soporte (» MQC6).

Si lo que se desea es únicamente experimentar con el envío de mensajes hacia y desde las colas de WebSphere Application Server utilizando el protocolo WebSphere Platform Messaging (WPM) entonces no se necesita instalar el paquete MQC6.

Después de la instalación de estos paquetes es necesario asegurarse de que el directorio XMS binary y, si se están utilizando, el directorio MQ client bin, están incluídos en la variable de entorno PATH de tal forma que Apache y PHP puedan encontrar las .DLLs/librerías necesarias.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/sam.

El soporte de la framework SAM y MQTT puede ser construído y utilizado sin ningún otro requisito previo. El soporte para otros protocolos a parte de MQTT se proporciona en un conjunto de librerías y un código cliente denominado XMS.

Si únicamente se desea utilizar el soporte interno MQTT entonces se puede configurar SAM como una extensión o simplemente referir a php_sam.php con una cláusula require o require_once en su script PHP. En este caso únicamente es necesario instalar el código sin construir la extensión utilizando el instalador PEAR:

pecl install -B SAM

Pasos de la instalación Linux

La extensión SAM se proporciona como un módulo PECL module, el cual se puede descargar e instalar en un solo paso como se muestra a continuación:

pecl install sam
(Dependiendo de su entorno PHP, probablemente será necesario ser "root" para hacer esto.)

Asegurar que el módulo es cargado por PHP, añadiendo la siguiente línea a php.ini:

extension=sam.so
Si se desea utilizar el soporte XMS para acceder a la familia IBM Messaging and Queuing se debe también activar la extensión SAM XMS.
extension=sam_xms.so

Si no puede utilizar el instalador PEAR, puede recargar la extensión y la construcción manualmente:

pear download sam          #downloads sam-<version>.tgz
tar -xzf sam-<version>.tgz
cd sam-<version>
phpize
./configure
make
make install               #debería ser "root" para ejecutar este paso

Para trabajar con el código más reciente, necesitará extraerlo de SVN y construirlo manualmente como en el paso anterior.

Pasos de instalación Windows

Probablemente será necesario construir la extensión SAM para Windows puesto que sólo hay un rango liminado de ficheros binarios precompilados disponibles en la web de SAM. La extensión puede construirse utilizando los procedimientos estándares de construcción de las extensiones Windows.

Necesitará las fuentes de PHP para la versión de PHP para la que se quiere construir la extensión SAM, las cuales se pueden obtener de php.net. Se debe desempaquetar en un directorio de trabajo cualquiera.

También serán necesarias las librerías y cabeceras utilizadas por las extensiones PHP disponibles de http://www.php.net/extra/win32build.zip y éstas deben ser descomprimidas de tal forma que se sitúen en el directorio de trabajo.

Se ha de tener algo parecido a:

c:\php-build\-
              |
              |---php-5.0.5--|---build
              |              |---ext
              |              |--- ...
              |
              |---win32build--|---bin
                              |---include
                              |---lib

Será necesario un compilador como la versión gratuíta de Visual Studio C++ Express de la web de Microsoft. También será necesario el SDK Microsoft Windows Platform que también puede descargarse de la web de Microsoft.

Obtener el código de la extensión SAM utilizando PEAR (pecl download sam) o SVN y copiar los ficheros a un nuevo directorio "sam" bajo el directorio "ext" en su árbol de código PHP.

Para construir la extensión, abrir una ventana con un entorno de construcción yendo a Inicio

menu->Todos los programas->microsoft platform SDK for windows->
open build environment window->windows 200 build environment->
set windows 2000 build environment (retail)

Esto debe abrir una ventana de comandos con todas las variables de entorno configuradas para acceder a la plataforma SDK etc. Entonces será necesario definir las variables de entorno de Visual Studio mediante el comando vcvars32.bat en la ventana.

Cambiar el directorio a nuestro directorio de trabajo que hemos elegido p.e. cd c:\php-build. Entonces asegurar que las herramientas win32build son accesibles añadiéndolas a la variable de entorno PATH:

set PATH=..\win32build\bin;%PATH%

Ejecutar el comando buildconf.bat. Esto debe reconstruir el fichero configure.js.

Ejecutar el comando cscript con las opciones apropiadas. Para construir únicamente la extensión SAM framework y el soporte MQTT utilizar:

cscript /nologo configure.js --with-sam
Para construir la framework SAM y el soporte XMS support utilizar:
cscript /nologo configure.js --with-sam --with-sam_xms="c:\program files\ibm\xms"

El parámetro adicional pasado para sam_xms es el path de instalación a las librerias XMS y el runtime que fue instalado tal y como se describió en el apartado de requisitos previos al principio de esta página.

Se puede especificar cualquier otro parámetro cscript que sea necesario para incluir o excluir elementos de la construcción PHP u opciones seleccionadas.

Asumiendo que todo ha ido bien finalmente se debe ejecutar un "make" para la framework SAM!

nmake php_sam.dll
También si se está utilizando el soporte XMS se debe hacer el "make" de las extensiones sam_xms:
nmake php_sam_xms.dll

Si se ha utilizado Visual Studio 2005 para construir las DLLs lea, por favor, los pasos siguientes que se especifican abajo para ejecutar antes de continuar más allá.

Las DLLs creadas (php_sam.dll y opcionalmente php_sam_xms.dll) pueden copiarse ahora al subdirectorio apropiado de su configuración PHP . Asegurarse de que el/los módulo/s son cargados por PHP, añadiendo las siguientes líneas a php.ini:

extension=php_sam.dll
Si se desea utilizar el soporte XMS para acceder a la familia IBM Messaging and Queuing se debe activar también la extensión SAM XMS.
extension=php_sam_xms.dll

Pasos adicionales para Visual Studio 2005

Si se construye la extensión SAM extension con el compilador y las herramientas Microsoft Visual Studio 2005 es necesario realizar otro paso en el proceso de construcción para asegurar que php_sam.dll puede linkar con las librerías del runtime C runtime en el momento de ejecución. Este paso incluye el manifiesto de dependencia en la DLL. Ir al directorio donde se ha generado php_sam.dll (habitualmente Release_TS o Debug_TS bajo el directorio fuente de PHP) y ejecutar el conjuro mágico siguiente:

mt.exe -manifest php_sam.dll.manifest -outputresource:php_sam.dll;2
Si se están utilizando las capacidades XMS será necesario hacer lo mismo con SAM XMS DLL:
mt.exe -manifest php_sam_xms.dll.manifest -outputresource:php_sam_xms.dll;2

Si se construye la extensión SAM utilizando el compilador y las librerías de Microsoft Visual Studio 2005 también será necesario asegurar que los componentes del ejecutable están instalados en el sistema en el cual se desea utilizar SAM. Esto se puede hacer instalando Visual Studio 2005 o utilizando el distribuíble gratuíto » paquete de ejecución.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

Soporte del protocolo y mapeado

La framework SAM puede ser extendida para soportar otros protocolos de mensajería y mecanismos de conexión. Para añadir el soporte para una nueva librería de protocolo o conexión se debe definir una clase de soporte, ya sea como una extensión C o como un script PHP, y un script "factory" debe ser creado. La clase de soporte debe implementar todos los métodos de la clase SAMConnection aunque ésta no debe heredarlos de SAMConnection. El script de factory debe ser llamado por la framework SAM para crear una instancia de la clase implementada. La manera que SAM elige que factory llamar está basada en el protocolo especificado como el primer parámetro del método "connect".

Por defecto el soporte interno MQTT será utilizado si una llamada connect especifica un protocolo de SAM_MQTT ("mqtt"), para cualquier otro protocolo SAM intentará utilizar la extensión de soporte XMS. Para añadir soporte para protocolos adicionales o para modificar el comportamiento por defecto, las entradas deben añadirse a php.ini en la sección [sam]. El mapeado por defecto es equivalente a las siguientes entradas:

[sam]
sam.factory.mqtt=mqtt
sam.factory.wmq=xms
sam.factory.wmq:client=xms
sam.factory.wmq:bindings=xms
sam.factory.wpm=xms
sam.factory.rtt=xms
Como se puede ver en estos ejemplos las entradas toman la forma "sam.factory.pppp=xxx" donde pppp es el string con el protocolo especificado en el método connect y xxx es un sufijo de factory. Nota: SAM define constantes para ese string con el protocolo como SAM_WMQ=wmq, SAM_WPM=wpm, SAM_RTT=rtt, SAM_MQTT=mqtt, etc.

Cuando se identifique el código de soporte a utilizar en un método connect SAM busca el nombre del protocolo en la entradas del fichero php.ini y entonces invoca un script de factory llamado sam_factory_xxx.php. Si no se encuentra la entrada, el soporte será por defecto XMS.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

SAM_AUTO (string)
Comportamiento automático
SAM_BOOLEAN (string)
Especificador de tipo utilizado en la configuración de propiedades en objetos SAM_Message.
SAM_BUS (string)
Atributo de conexión utilizado para definir el nombre del Enterprise Service Bus al que se va a conectar.
SAM_BYTE (string)
Especificador de tipo utilizado en la configuración de las propiedades en objetos SAM_Message.
SAM_BYTES (string)
Descriptor de tipo de cuerpo de mensaje.
SAM_CORRELID (string)
Atributo utilizado en las solicitudes de recepción, envio y eliminación, para identificar mensajes específicos.
SAM_DELIVERYMODE (string)
Propiedad de cabecera de mensaje.
SAM_DOUBLE (string)
Especificador de tipo utilizado en la configuración de las propiedades de objetos SAM_Message .
SAM_ENDPOINTS (string)
Atributo de conexión utilizado para definir los posibles "endpoints" a los que conectar.
SAM_FLOAT (string)
Especificador de tipo utilizado en la configuración de las propiedades de los objetos SAM_Message.
SAM_HOST (string)
Atributo de conexión utilizado para definir el nombre de host del servidor de mensajería requerido.
SAM_INT (string)
Especificador de tipo utilizado en la configuración de propiedades de los objetos SAM_Message.
SAM_LONG (string)
Especificador de tipo utilizado en la configuración de las propiedades de los objetos SAM_Message.
SAM_MANUAL (string)
Comportamiento manual (controlado por script).
SAM_MESSAGEID (string)
Atributo utilizado en las solicitudes de recepción y eliminación para identificar mensajes específicos.
SAM_MQTT (string)
Definición del protocolo de conexión para seleccionar el protocolo MQTT (MQ Telemetry Transport).
SAM_MQTT_CLEANSTART (bool)
Opción de conexión opcional para indicarle a un servidor MQTT que todas las conexiones previas para este cliente así como las suscripciones, deben ser eliminadas cuando el cliente se desconecte explícitamente o de forma inesperada.
SAM_NON_PERSISTENT (string)
Atributo de conexión utilizado para solicitar que los mensajes no sean persistentes en el servidor de mensajería.
SAM_PASSWORD (string)
Atributo de conexión utilizado para definir la contraseña que ha de usarse para la cuenta de usuario con la que se conecta a un servidor de mensajería que requiere autorización para las conexiones.
SAM_PERSISTENT (string)
Atributo de conexión utilizado para solicitar que los mensajes sean persistentes en el servidor de mensajería, para proteger contra la pérdida de mensajes en caso de fallo.
SAM_PORT (string)
Atributo de conexión utilizado para dar valor al número de puerto en el que comunicar con el servidor de mensajería.
SAM_PRIORITY (string)
Nombre de opción utilizado en las solicitudes de envío para especificar un valor de prioridad de la distribución.
SAM_REPLY_TO (string)
Propiedad del mensaje utilizada para especificar la identificación de la cola en la que el script espera respuesta o donde los mensajes de respuesta serán publicados.
SAM_RTT (string)
Definición del protocolo de conexión para seleccionar el protocolo IBM Realtime Transport para la comunicación con un servidor de mensajería integrado.
SAM_STRING (string)
Especificador de tipo utilizado en la configuración de las propiedades de los objetos SAM_Message.
SAM_TARGETCHAIN (string)
Atributo de conexión utilizado para definir el identificador de la cadena objetivo requerida.
SAM_TEXT (string)
Descriptor de tipo de cuerpo de mensaje.
SAM_TIMETOLIVE (string)
Opción de envío de mensaje utilizado para especificar (en milisegundos) cuando tiempo debe ser retenido un mensaje.
SAM_TRANSACTIONS (string)
Atributo de conexión utilizado para definir el comportamiento transaccional. Puede tomar el valor SAM_AUTO (por defecto) o SAM_MANUAL.
SAM_USERID (string)
Atributo de conexión utilizado para definir la cuenta que será usada para conectar al servidor de mensajería que requiere autorización para las conexiones.
SAM_WAIT (string)
Propiedad de recepción utilizada para especificar el timeout de espera que se utilizará cuando se reciba un mensaje en una cola o suscripción.
SAM_WMQ (string)
Definición del protocolo de conexión para seleccionar el protocolo IBM WebSphere MQSeries para la comunicación con el servicio de mensajería deseado.
SAM_WMQ_BINDINGS (string)
Definición del protocolo de conexión para seleccionar el protocolo IBM WebSphere MQSeries para la comunicación con un servidor de mensajería local.
SAM_WMQ_CLIENT (string)
Definición del protocolo de conexión para seleccionar el protocolo de comunicación IBM WebSphere MQSeries para la comunicación con un servidor remoto de mensajería.
SAM_WMQ_TARGET_CLIENT (string)
Opción utilizada en las solicitudes de envío para especificar el modo de cliente objetivo. Puede tomar los valores 'jms' (por defecto), o 'mq'. El valor por defecto es 'jms' que significa que una cabecera RFH2 será enviada con el mensaje mientras que el valor 'mq' significa que no se incluye cabecera RFH2.
SAM_WPM (string)
Definición del protocolo de conexión para seleccionar el protocolo de mensajería IBM WebSphere Platform, para la comunicación con un servidor de mensajería WebSphere Application Server.
Tipos de recursos
Ejemplos
SAM


Ejemplos

Tabla de contenidos

  • Conexiones
  • Mensajes
  • Operaciones de mensajería
  • Publicar/Suscribir y suscripción a temas (topics)
  • Control de errores
Constantes predefinidas
Conexiones
SAM


Conexiones

Para realizar las funciones de mensajería y encolado de los mensajes, se debe establecer una conexión con un servidor de mensajería creando un objeto SAMConnection y llamando a su método "connect" , con un conjunto de propiedades de conexión, para conectar el script PHP script al servidor de mensajería. Durante el tiempo que el objeto SAMConnection no sea destruído, la conexión estará activa y disponible para ser utilizada. Todos los objetos SAMConnection serán destruídos cuando el script PHP finalice.

Se utilizarán el conjunto de propiedades por defecto en la conexión a un servidor de mensajería, pero el script PHP debe especificar como mínimo el protocolo que será utilizado.

Ejemplo #1 Creación de una conexión y conexión a un servidor de mensajería remoto WebSphere MQSeries

<?php
$conn = new SAMConnection();
$conn->connect(SAM_WMQ, array(SAM_HOST => 'myhost.mycompany.com',
                              SAM_PORT => 1506,
                              SAM_BROKER => 'mybroker'));
?>

Ejemplo #2 Creación de una conexión y conexión a un servidor remoto WebSphere Application Server

<?php
$conn = new SAMConnection();
$conn->connect(SAM_WPM, array(SAM_ENDPOINTS => 'localhost:7278:BootstrapBasicMessaging',
                              SAM_BUS => 'Bus1',
                              SAM_TARGETCHAIN => 'InboundBasicMessaging'));
?>

Ejemplo #3 Creación de una conexión y conexión a un servidor MQTT

<?php
$conn = new SAMConnection();
$conn->connect(SAM_MQTT, array(SAM_HOST => 'myhost.mycompany.com',
                               SAM_PORT => 1883));
?>

Ejemplos
Mensajes
Ejemplos


Mensajes

Los mensajes enviados y recibidos de las colas, se representan por el objeto SAMMessage. El objeto SAMMessage encapsula el cuerpo del mensaje (si existe alguno) y las propiedades de cabecera asociadas al mensaje. Un objeto SAMMessage es proporcionado como un parámetro a una operación de mensajería o devuelto como un resultado.

Ejemplo #1 Creación de un mensaje con un cuerpo de texto simple

<?php
$msg = new SAMMessage('Este es un mensaje de texto simple');
?>

Los mensajes deben tener las propiedades de cabecera asociadas, lo que permitirá tener control sobre el transporte del mensaje o información futura sobre la aplicación receptora. Por defecto las propiedades del mensaje se distribuirán al sistema de mensajería como strings y en ese caso pueden ser definidas con la siguiente sintaxis sencilla:

Ejemplo #2 Definición de una propiedad de formateado de texto utilizando la sintaxis por defecto

<?php
$msg->header->myPropertyName = 'textData';
?>

Si se desea pasar la información de tipo, se puede utilizar una sintaxis alternativa, donde el valor y el tipo son pasados en un array asociativo:

Ejemplo #3 Definición de una propiedad especificando el tipo

<?php
$msg->header->myPropertyName = array(3.14159, SAM_FLOAT);
?>

Las propiedades también pueden extraerse de la cabecera del mensaje.

Ejemplo #4 Recuperación de una propiedad desde la cabecera del mensaje

<?php
$myProperty = $msg->header->myPropertyName;
?>

Conexiones
Operaciones de mensajería
Ejemplos


Operaciones de mensajería

Todas las operaciones de mensajería se realizan a través de llamadas a métodos sobre el objeto de conexión. Para añadir un mensaje a una cola se utiliza en método "send" , para obtener un mensaje de una cola se utiliza el método "receive". Otros métodos proporcionan otras funcionalidades como la publicación, suscripción o el control sobre las transacciones.

Ejemplo #1 Añadir un mensaje a una cola y recibir una respuesta

<?php
$msg = new SAMMessage('Este es un mensaje simple de texto');
$msg->header->SAM_REPLY_TO = 'queue://receive/test';
$correlid = $conn->send('queue://send/test', $msg);

if (!$correlid) {
  // El Send falló!
  echo "Send fallido ($conn->errno) $conn->error";
} else {
  $resp = $conn->receive('queue://receive/test', array(SAM_CORRELID => $correlid));
}
?>

Mensajes
Publicar/Suscribir y suscripción a temas (topics)
Ejemplos


Publicar/Suscribir y suscripción a temas (topics)

SAM permite enviar mensajes a colas, o para WebSphere MQ y WPM, publicar/suscribir temas. El envío a un tema es especificado por SAM de la manera habitual, p.e. de la forma 'topic://fred', mejor que de la forma 'queue://AQUEUE' utilizada para operaciones punto a punto. Para publicar/suscribir únicamente es necesario especificar el nombre del broker correcto en la llamada al método "connect" del objeto SAMConnect y el tema deseado en el argumento de destino de las llamadas a los métodos "send" y "receive" del objeto SAMConnect. La interface PHP es sin embargo idéntica al modelo punto a punto.

Por defecto, SAM crea suscripciones no duraderas cuando se utiliza publicar/suscribir. Esto significa que si una aplicación cliente está inactiva cuando los mensajes se publiquen en un tema, entonces esta aplicación no los recibirá cuando sea reactivada. SAM también permite realizar suscripciones duraderas a temas cuando se usa el publicar/suscribir de WPM o WebSphere MQ. El objetivo de estas suscripciones es permitir que los datos sean recibidos por una aplicación cliente incluso si este cliente no estaba activo en el momento de publicación de los datos.

Las suscripciones duraderas se especifican utilizando el método "subscribe" del objeto SAMConnect. Este método toma el tema de destino como un parámetro de entrada y devuelve un identificador de suscripción que puede ser utilizado en siguientes llamadas "receive". Cuando la suscripción ya no se necesita, debe utilizarse el método "unsubscribe" del objeto SAMConnection para eliminar la suscripción.

Ejemplo #1 Creación de una suscripción duradera a un tema

<?php

$subName = $conn->subscribe('topic://A');

if (!$subName) {
   echo "Subscribe fallido";
} else {
   # Subscribe OK
   // ...
}
?>

Ejemplo #2 Suscripción a un tema utilizando un servidor WebSphere Platform Messaging (WPM)

<?php
$conn = new SAMConnection();
// Nota: Para pub/sub en WPM, al conectar al nombre de un motor de mensajería,
//   para mantener la suscrición duradera debe especificarse(SAM_WPM_DUR_SUB_HOME).
$conn->connect(SAM_WMQ, array(SAM_ENDPOINTS => 'localhost:7278:BootstrapBasicMessaging',
                              SAM_BUS => 'Bus1',
                              SAM_TARGETCHAIN => 'InboundBasicMessaging',
                              SAM_WPM_DUR_SUB_HOME => 'MyMachineNode01.server1-Bus1'));

$subName = $conn->subscribe('topic://A');

if (!$subName) {
   echo "Subscribe fallido";
} else {
   # Subscribe OK
   // ...
}
?>

Ejemplo #3 Recepción de datos publicados utilizando una suscripción duradera

<?php

$msg = $conn->receive($subName);
if ($msg) {
   echo "Mensaje recibido OK";
} else {
   echo "El receive falló";
}

?>

Ejemplo #4 Eliminación de una suscripción duradera a un tema

<?php

if (!$conn->unsubscribe($subName)) {
   echo "Unsubscribe fallido";
}

?>

Operaciones de mensajería
Control de errores
Ejemplos


Control de errores

Todos los métodos SAMConnection que proporcionan acceso a operaciones de mensajería devuelven FALSE en caso de error en el procesado de la petición. Adicionalmente, el objeto SAMConnection tiene dos propiedades: "errno" y "error", que proporcionan respectivamente el código y literal del último error ocurrido en la conexión.

Ejemplo #1 Control de errores de un método que no devuelve resultado

<?php
if (!$conn->commit()) {
    // El commit falló!
    echo "Commit fallido ($conn->errno) $conn->error";
}
?>

Ejemplo #2 Control de errores de un método que devuelve resultado

<?php
$correlid = $conn->send('queue://send/test', $msg);

if (!$correlid) {
  // El Send falló!
  echo "Send fallido ($conn->errno) $conn->error";
} else {
  /* ... */
}
?>

Publicar/Suscribir y suscripción a temas (topics)
Funciones SAM
Ejemplos


Funciones SAM

Clases predefinidas

SAMConnection

Objeto que representa una conexión a un servidor de mensajería

Constructor

  • new SAMConnection - construir un nuevo objeto de conexión que permite la conexión a una infrastructura de mensajería.

Métodos

  • commit - un método que hace el 'commit' (consolida) una unidad de trabajo volátil.

  • connect - un método que conecta un script PHP a un servidor de mensajería.

  • disconnect - un método que desconecta un script PHP de un servidor de mensajería.

  • isConnected - un método que comprueba si un script PHP está conectado a un servidor de mensajería.

  • peek - un método que recibe un mensaje de una cola de mensajes sin eliminarlo de la cola.

  • peekAll - un método que recibe uno o más mensajes de una cola de mensajes sin eliminarlos de la cola.

  • receive - un método que recibe un mensaje de una cola de mensajes o suscripción.

  • remove - un método que elimina un mensaje de una cola.

  • rollback - un método que cancela (revierte) una unidad de trabajo no consolidada.

  • send - un método que envía un mensaje a una cola o lo publica en un tema.

  • setDebug - un método que activa o desactiva la información adicional de depuración.

  • subscribe - un método que crea una suscripción a uno o más temas.

  • unsubscribe - un método que destruye una suscripción a uno o más temas.

Propiedades

  • errno - el código numérico de error del último error que se ha producido en esta conexión. Esta propiedad toma el valor 0 si la última operación acabó con éxito.

  • error - el literal del último error encontrado en esta conexión.

SAMMessage

Objeto que representa un mensaje a ser enviado o recibido

Constructor

  • new SAMMessage - construye un nuevo mensaje.

Propiedades

  • body - el cuerpo del mensaje.

  • header - las propiedades de cabecera del mensaje.

Tabla de contenidos

  • SAMConnection::commit — Hace el commit (consolida) la unidad de trabajo actual.
  • SAMConnection::connect — Establece una conexión a un servidor de mensajería
  • SAMConnection::__construct — Crea una nueva conexión a un Servidor de Mensajería
  • SAMConnection::disconnect — Desconecta de un Servidor de Mensajería
  • SAMConnection::errno — Contiene el código de error numérico de la última operación SAM ejecutada
  • SAMConnection::error — Contiene el texto con la descripción de la última operación SAM fallida
  • SAMConnection::isConnected — Consulta si se ha establecido conexión a un Servidor de Mensajería
  • SAMConnection::peek — Lectura de un mensaje de una cola sin eliminarlo de la cola.
  • SAMConnection::peekAll — Lectura de uno o más mensajes de una cola, sin eliminarlo de la cola.
  • SAMConnection::receive — Recibir un mensaje de una cola o de una suscripción.
  • SAMConnection::remove — Elimina un mensaje de una cola
  • SAMConnection::rollback — Cancela (revierte) una unidad de trabajo pendiente de ser consolidada.
  • SAMConnection::send — Envía un mensaje a una cola o lo publica en un asunto.
  • SAMConnection::setDebug — Activa o desactiva la información adicional de depuración.
  • SAMConnection::subscribe — Crea una suscripción a un tema específico.
  • SAMConnection::unsubscribe — Cancela una suscripción a un tema específico.
  • SAMMessage::body — El cuerpo del mensaje.
  • SAMMessage::__construct — Crea un nuevo objeto de mensaje
  • SAMMessage::header — Las propiedades en la cabecera del mensaje.
Control de errores
SAMConnection::commit
SAM


Hace el commit (consolida) la unidad de trabajo actual.

Funciones SAM
SAMConnection::connect
Funciones SAM
PHP Manual

SAMConnection::commit

(PECL sam >= 0.1.0)

SAMConnection::commit — Hace el commit (consolida) la unidad de trabajo actual.

Descripción

bool SAMConnection::commit ( void )

La llamada al método commit en un objeto Connection, hace el commit (consolida) todas las transacciones pendientes de ser consolidadas y que forman parte de la unidad de trabajo actual.

Valores devueltos

Este método devuelve FALSE en caso de error.

Ejemplos

Ejemplo #1 Consolidando la unidad de trabajo actual

<?php
  if (!$conn->commit()) {
    // The commit failed!
    echo "Commit failed ($conn->errno) $conn->error";
  }
?>

Ver también

  • SAMConnection::rollback

Funciones SAM
SAMConnection::connect
Funciones SAM


Establece una conexión a un servidor de mensajería

SAMConnection::commit
SAMConnection::__construct
Funciones SAM
PHP Manual

SAMConnection::connect

(PECL sam >= 0.1.0)

SAMConnection::connect — Establece una conexión a un servidor de mensajería

Descripción

bool SAMConnection::connect ( string $protocol [, array $properties ] )

La llamada al método "connect" en un objeto SAMConnection conecta el script PHP a un servidor de mensajería. No se puede enviar ni recibir ningún mensaje hasta que no se haya hecho una conexión.

Parámetros

Valores devueltos

Este método devuelve FALSE en caso de error.

Ejemplos

Ejemplo #1 Creación de una conexión a un Servidor de Mensajería utilizando el protocolo de IBM MQSeries (WMQ)

<?php

$conn->connect(SAM_WMQ, array(SAM_HOST => 'Myhost.myco.com', SAM_PORT => 1506, SAM_BROKER => 'MyBroker'));

?>

Ejemplo #2 Creación de una conexión con control transaccional de la aplicación y valores de host y puerto por defecto

<?php

$conn->connect(SAM_WMQ, array(SAM_BROKER => 'MyBroker', SAM_TRANSACTIONS => SAM_MANUAL));

?>

Ejemplo #3 Creación de una conexión a un Servidor de Mensajería utilizando el protocolo de mensajería de la plataforma IBM WebSphere (WPM)

<?php

$conn->connect(SAM_WPM, array(SAM_ENDPOINTS => 'localhost:7278:BootstrapBasicMessaging',
                              SAM_BUS => 'Bus1', SAM_TARGETCHAIN => 'InboundBasicMessaging'));

?>

Ver también

  • SAMConnection::isConnected
  • SAMConnection::disconnect

SAMConnection::commit
SAMConnection::__construct
Funciones SAM


Crea una nueva conexión a un Servidor de Mensajería

SAMConnection::connect
SAMConnection::disconnect
Funciones SAM
PHP Manual

SAMConnection::__construct

(PECL sam >= 0.1.0)

SAMConnection::__construct — Crea una nueva conexión a un Servidor de Mensajería

Descripción

SAMConnection::__construct() ( void )

Crea un nuevo objeto SAMConnection .

Ejemplos

Ejemplo #1 Creación de un objeto de conexión y conectar a un Servidor de Mensajería

<?php

$conn = new SAMConnection();
$conn->connect(SAM_WMQ, array(SAM_HOST => localhost, SAM_PORT => 1414, SAM_BROKER => 'bull'));

?>

SAMConnection::connect
SAMConnection::disconnect
Funciones SAM


Desconecta de un Servidor de Mensajería

SAMConnection::__construct
SAMConnection::errno
Funciones SAM
PHP Manual

SAMConnection::disconnect

(PECL sam >= 0.1.0)

SAMConnection::disconnect — Desconecta de un Servidor de Mensajería

Descripción

bool SAMConnection::disconnect ( void )

La llamada al método "disconnect" method en un objeto SAMConnection desconecta el script PHP de un servidor de mensajería. No se pueden enviar ni recibir mensajes después de que la conexión se haya desconectado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Desconexión de un Servidor de Mensajería

<?php

$conn->disconnect();

?>

Ver también

  • SAMConnection::isConnected
  • SAMConnection::connect

SAMConnection::__construct
SAMConnection::errno
Funciones SAM


Contiene el código de error numérico de la última operación SAM ejecutada

SAMConnection::disconnect
SAMConnection::error
Funciones SAM
PHP Manual

SAMConnection::errno

(PECL sam >= 0.1.0)

SAMConnection::errno — Contiene el código de error numérico de la última operación SAM ejecutada

Description

int $SAMConnection->errno;

Contiene el código de error numérico de la última operación SAM ejecutada en esa conexión. Si la última operación se completa con éxito esta propiedad contiene un 0.

Valores devueltos

Un entero mayor de cero indica el último error encontrado en la conexión. Cero indica que la última operación de esa conexión se completó con éxito.

Ejemplos

Ejemplo #1 Utilizando las propiedades número y descripción de error

<?php
$conn = new SAMConnection();
$conn->connect(SAM_WMQ, array(SAM_HOST => 'localhost', SAM_PORT => 1506));
$msg = new SAMMessage('Este es un elemento simple de texto');
if (!$conn->send('topic://test', $msg)) {
    // El Send falló!
    echo "Send fallido ($conn->errno) $conn->error";
}
?>

Ver también

  • SAMConnection::error

SAMConnection::disconnect
SAMConnection::error
Funciones SAM


Contiene el texto con la descripción de la última operación SAM fallida

SAMConnection::errno
SAMConnection::isConnected
Funciones SAM
PHP Manual

SAMConnection::error

(PECL sam >= 0.1.0)

SAMConnection::error — Contiene el texto con la descripción de la última operación SAM fallida

Descripción

string $SAMConnection->error;

Contiene el texto con la descripción de la última operación SAM fallida en esa conexión. Si la última operación se completó con éxito esta propiedad contiene una cadena vacía.

Valores devueltos

Una cadena que contiene la descripción del último error encontrado en la conexión. Una cadena vacía indica que la última operación en esa conexión se completó con éxito.

Ejemplos

Ejemplo #1 Uso de las propiedades de número y descripción de error

<?php
$conn = new SAMConnection();
$conn->connect(SAM_WMQ, array(SAM_HOST => 'localhost', SAM_PORT => 1506));
$msg = new SAMMessage('Este es un elemento simple de texto');
if (!$conn->send('topic://test', $msg)) {
    // El Send falló!
    echo "Send fallido ($conn->errno) $conn->error";
}
?>

Ver también

  • SAMConnection::errno

SAMConnection::errno
SAMConnection::isConnected
Funciones SAM


Consulta si se ha establecido conexión a un Servidor de Mensajería

SAMConnection::error
SAMConnection::peek
Funciones SAM
PHP Manual

SAMConnection::isConnected

(PECL sam >= 0.1.0)

SAMConnection::isConnected — Consulta si se ha establecido conexión a un Servidor de Mensajería

Descripción

bool SAMConnection::isConnected ( void )

La llamada al método "isConnected" en un objeto Connection verificará si el script PHP está conectado a un servidor de mensajería. No se podrá enviar ni recibir mensajes a menos que se haya establecido una conexión con un Servidor de Mensajería.

Valores devueltos

Este método devuelve TRUE si el objeto SAMConnection se ha conectado con éxito a un Servidor de Mensajería o FALSE en caso contrario.

Ejemplos

Ejemplo #1 Comprueba si se ha establecido una conexión a un servidor de mensajería

<?php

if ($conn->isConnected()) {
  echo 'Connection is active.';
} else {
  echo 'No active connection!';
}

?>

Ver también

  • SAMConnection::disconnect
  • SAMConnection::connect

SAMConnection::error
SAMConnection::peek
Funciones SAM


Lectura de un mensaje de una cola sin eliminarlo de la cola.

SAMConnection::isConnected
SAMConnection::peekAll
Funciones SAM
PHP Manual

SAMConnection::peek

(PECL sam >= 0.1.0)

SAMConnection::peek — Lectura de un mensaje de una cola sin eliminarlo de la cola.

Descripción

SAMMessage SAMConnection::peek ( string $target [, array $properties ] )

Parámetros

target

La identidad de la cola de la cual se va a leer el mensaje.

properties

Un array asociativo opcional de propiedades, que describen otros parámetros para controlar la operación de lectura.

Nombre de la propiedad | Valores posibles
SAM_CORRELID | Este es el identificador de correlación del mensaje. Es retornado típicamente por una petición "send".
SAM_MESSAGEID | Este es el identificador del mensaje que va a ser leído.

Valores devueltos

Este método devuelve un objeto SAMMessage o FALSE en caso de error.

Ejemplos

Ejemplo #1 Obtener el próximo mensaje de una cola sin eliminarlo de la cola

<?php
$msg = $conn->peek('queue://receive/test');

if (!$msg) {
  // The peek failed!
  echo "Peek failed ($conn->errno) $conn->error";
}
?>

Ejemplo #2 Obtener un mensaje específico de la cola sin eliminarlo de la cola

<?php

$msg = $conn->peek('queue://receive/test', array(SAM_MESSAGEID => $messageId));

?>

Ver también

  • SAMConnection::peekAll

SAMConnection::isConnected
SAMConnection::peekAll
Funciones SAM


Lectura de uno o más mensajes de una cola, sin eliminarlo de la cola.

SAMConnection::peek
SAMConnection::receive
Funciones SAM
PHP Manual

SAMConnection::peekAll

(PECL sam >= 0.2.0)

SAMConnection::peekAll — Lectura de uno o más mensajes de una cola, sin eliminarlo de la cola.

Descripción

array SAMConnection::peekAll ( string $target [, array $properties ] )

Parámetros

target

La identidad de la cola de la cual se van a leer los mensajes.

properties

Un array asociativo opcional de propiedades, que describen otros parámetros para controlar la operación de lectura.

Nombre de la propiedad | Valores posibles
SAM_CORRELID | Este es el identificador de correlación de los mensajes a leer. Es retornado típicamente por una petición "send".
SAM_MESSAGEID | Este es el identificador del mensaje a leer.

Valores devueltos

Este método devuelve un array de objetos SAMMessage o FALSE en caso de error.

Ejemplos

Ejemplo #1 Recuperación de todos los mensajes de una cola sin eliminarlos

<?php
$msgArray = $conn->peekAll('queue://receive/test');
if ($msgArray) {
   foreach ( $msgArray as $key => $msg) {
       echo "Message $key: body = $msg->body\n";
   }
} else {
   echo "PeekAll failed ($conn->errno) $conn->error";
}
?>

Ejemplo #2 Recuperación de todos los mensajes de una cola correspondientes a un identificador de correlación

<?php

   $msgArray = $conn->peekAll('queue://receive/test', array(SAM_CORRELID => $correlId ));
   if ($msgArray) {

      foreach ( $msgArray as $key => $msg) {
            echo "Message $key: body = $msg->body\n";
         }
   } else {
      echo "PeekAll failed ($conn->errno) $conn->error";
   }

?>

Ver también

  • SAMConnection::peek

SAMConnection::peek
SAMConnection::receive
Funciones SAM


Recibir un mensaje de una cola o de una suscripción.

SAMConnection::peekAll
SAMConnection::remove
Funciones SAM
PHP Manual

SAMConnection::receive

(PECL sam >= 0.1.0)

SAMConnection::receive — Recibir un mensaje de una cola o de una suscripción.

Descripción

SAMMessage SAMConnection::receive ( string $target [, array $properties ] )

Parámetros

target

La identidad de la cola, asunto o suscripción de la que se recibe el mensaje.

properties

Un array asociativo opcional de propiedades, que describen otros parámetros para controlar la operación de recepción.

Nombre de la propiedad | Valores posibles
SAM_CORRELID | Utilizado para solicitar la recepción de un mensaje, basado en el identificador de correlación del mensaje.
SAM_MESSAGEID | Utilizado para solicitar la recepción de un mensaje, basado en el identificador del mensaje.
SAM_WAIT | Tiempo límite en milisegundos para controlar el tiempo de espera de recepción del mensaje, antes de devolver un error si no hay ningún mensaje disponible en la cola o asunto. El valor por defecto es 0, que significa esperar indefinidamente y debe ser usado con precaución puesto que la petición esperará hasta el tiempo límite de ejecución del script PHP si ningún mensaje está disponible.

Valores devueltos

Este método devuelve un objeto SAMMessage o FALSE en caso de error.

Ejemplos

Ejemplo #1 Recepción de un mensaje de una cola

<?php
$msg = $conn->receive('queue://receive/test');

if (!$msg) {
  // The receive failed!
  echo "Receive failed ($conn->errno) $conn->error";
}
?>

Ejemplo #2 Recepción de un mensaje de una cola con opciones

En este ejemplo, la opción SAM_CORRELID se utiliza para especificar un identificador de correlación, que se utilizará para identificar el mensaje a recibir. También se especifica un tiempo límite de espera de 10 segundos.

<?php

$msg = $conn->receive('queue://receive/test', array(SAM_CORRELID => $token, SAM_WAIT => 10000));

?>

Ejemplo #3 Recepción de un mensaje de una suscripción

En este ejemplo se muestra cómo recibir un mensaje desde un identificador de suscripción.

<?php
$msg = $conn->receive($subscriptionName);

if (!$msg) {
  // La recepción falló!
  echo "Recepción fallida ($conn->errno) $conn->error";
}
?>

Observe que $subscriptionName es un identificador de suscripción devuelto desde una llamada anterior a una suscripción.

Ver también

  • SAMConnection::send

SAMConnection::peekAll
SAMConnection::remove
Funciones SAM


Elimina un mensaje de una cola

SAMConnection::receive
SAMConnection::rollback
Funciones SAM
PHP Manual

SAMConnection::remove

(PECL sam >= 0.1.0)

SAMConnection::remove — Elimina un mensaje de una cola

Descripción

SAMMessage SAMConnection::remove ( string $target [, array $properties ] )

Elimina un mensaje de una cola.

Parámetros

target

La identidad de la cola de la cual se va a eliminar el mensaje.

properties

Un array asociativo opcional de propiedades, que describen otros parámetros para controlar la operación de eliminado.

Nombre de propiedad | Valores posibles
SAM_CORRELID | Este es el identificador de correlación del mensaje. Es retornado típicamente por una petición "send".
SAM_MESSAGEID | Este es el identificador del mensaje que se va a eliminar.

Valores devueltos

Este método devuelve FALSE en caso de error.

Ejemplos

Ejemplo #1 Eliminación de un mensaje de una cola a partir del identificador de mensaje

<?php
if (!$conn->remove('queue://receive/test', array(SAM_MESSAGEID => $messageId))) {
  // La eliminación falló!
  echo "Eliminación fallida ($conn->errno) $conn->error";
}
?>

SAMConnection::receive
SAMConnection::rollback
Funciones SAM


Cancela (revierte) una unidad de trabajo pendiente de ser consolidada.

SAMConnection::remove
SAMConnection::send
Funciones SAM
PHP Manual

SAMConnection::rollback

(PECL sam >= 0.1.0)

SAMConnection::rollback — Cancela (revierte) una unidad de trabajo pendiente de ser consolidada.

Descripción

bool SAMConnection::rollback ( void )

Revierte una unidad de trabajo pendiente de ser consolidada.

Valores devueltos

Este método devuelve FALSE en caso de error.

Ejemplos

Ejemplo #1 Cancelación de una unidad de trabajo no consolidada

<?php
if (!$conn->rollback()) {
  // El rollback falló!
  echo "Rollback fallido ($conn->errno) $conn->error";
}
?>

Ver también

  • SAMConnection::commit

SAMConnection::remove
SAMConnection::send
Funciones SAM


Envía un mensaje a una cola o lo publica en un asunto.

SAMConnection::rollback
SAMConnection::setDebug
Funciones SAM
PHP Manual

SAMConnection::send

(PECL sam >= 0.1.0)

SAMConnection::send — Envía un mensaje a una cola o lo publica en un asunto.

Descripción

string SAMConnection::send ( string $target , SAMMessage $msg [, array $properties ] )

El método "send" se utiliza para enviar un mensaje a una cola específica o publicarlo en un asunto específico. El método devuelve el identificador de correlación, que puede ser utilizado como un selector para identificar los mensajes respondidos cuando éstos sean solicitados.

Parámetros

target

Si enviamos un mensaje, esta será la identidad de la cola (queue://queuename) o si lo publicamos en un asunto, la identidad del asunto (topic://topicname) al cual el mensaje va a ser enviado.

msg

El mensaje a enviar o publicar.

properties

Un array asociativo opcional de propiedades que describen otros parámetros para controlar la operación de recepción.

Nombre de la propiedad | Valores posibles
SAM_DELIVERYMODE | Indica si el servidor de mensajería debe asegurar la entrega o si es aceptable que los mensajes se pierdan en caso de fallo de sistema. El valor de esta propiedad debe fijarse a SAM_PERSISTENT, para indicar que la pérdida del mensaje no es aceptable, o SAM_NON_PERSISTENT, si la pérdida del mensaje es aceptable. El comportamiento resultante del envío variará dependiendo de las funcionalidades del servidor de mensajería al que esté conectado actualmente el script PHP. Si el servidor no soporta los mensajes persistentes y SAM_PERSISTENT es especificado, la petición de envío fallará con un error indicando que la funcionalidad no está disponible.
SAM_PRIORITY | Un valor numérico entre 0 y 9 que indica la prioridad de envío del mensaje deseada. Un valor de prioridad de 0 indica la menor prioridad mientras que 9 indica la mayor prioridad. Si no se especifica prioridad, se asignará un valor por defecto que dependerá del servidor de mensajería que está siendo utilizado.
SAM_CORRELID | Una cadena a asignar como el identificador de correlación para este mensaje. Si no se especifica ningún valor, el servidor de mensajería puede asignar un valor automáticamente.
SAM_TIMETOLIVE | La duración en milisegundos que indica cuanto tiempo el servidor de mensajería debe retener el mensaje en una cola antes de descartarlo. El valor por defecto es 0 indicando que el mensaje debe retenerse indefinidamente.
SAM_WMQ_TARGET_CLIENT | Esta propiedad es válida únicamente cuando se utilice WebSphere MQ e indica si la cabecera RFH2 debe incluirse o no dentro del mensaje. Esta opción puede definirse con 'jms' o 'mq'. El valor por defecto es 'jms' que significa que se incluye una cabecera RFH2. Si se especifica el valor 'mq' entonces no se incluye RFH2 en el mensaje.

Valores devueltos

Una cadena con el identificador de correlación que puede utilizarse en una llamada de recepción, como selector para obtener todas las respuestas solicitadas o FALSE en caso de error.

Nota:

Un identificador de correlación sólo será devuelto por un envío con éxito a la cola de destinación (queue://xxxx) y en ese caso reflejará la identidad del mensaje de la cola. En caso de un envio que esté siendo utilizado para publicar datos en un asunto, el valor de retorno será TRUE puesto que ningún identificador de correlación estará disponible para ser devuelto.

Ejemplos

Ejemplo #1 Enviar un mensaje a una cola

<?php
$msg = new SAMMessage('Este es un mensaje simple');
$correlId = $conn->send('queue://send/test', $msg);
if (!$correlId) {
    // El envío falló!
    echo "Envío fallido ($conn->errno) $conn->error";
}

?>

Ejemplo #2 Publicar un mensaje en un asunto

<?php
$msg = new SAMMessage('Este es un mensaje simple');
if (!$conn->send('topic://test', $msg)) {
    // El envío falló!
    echo "Envío fallido ($conn->errno) $conn->error";
}
?>

Ejemplo #3 Enviar una solicitud y recibir una respuesta

<?php
$msg = new SAMMessage('Este es un mensaje simple');
$msg->header->SAM_REPLY_TO = 'queue://receive/test';
$correlid = $conn->send('queue://send/test', $msg);

if (!$correlid) {
    // El envío falló!
    echo "Envío fallido ($conn->errno) $conn->error";
} else {
    $resp = $conn->receive('queue://receive/test', array(SAM_CORRELID => $correlid));
}
?>

Ver también

  • SAMConnection::receive

SAMConnection::rollback
SAMConnection::setDebug
Funciones SAM


Activa o desactiva la información adicional de depuración.

SAMConnection::send
SAMConnection::subscribe
Funciones SAM
PHP Manual

SAMConnection::setDebug

(PECL sam >= 1.1.0)

SAMConnection::setDebug — Activa o desactiva la información adicional de depuración.

Descripción

El método "setdebug" se utiliza para activar o desactivar la información adicional de depuración. La framework SAM framework proveerá las entradas de método/función y las salidas de datos de rastreo, más información adicional. La implementación específica del protocolo también proveerá información de salida adicional.

void SAMConnection::setDebug ( bool $switch )

Parámetros

switch

Si este parámetro se fija a TRUE, se generará información adicional de depuración. Si el valor se fija a FALSE, la salida de información adicional se interrumpirá.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Activar la salida de información de depuración

<?php
$conn->setdebug(TRUE);
?>

Ejemplo #2 Desactivar la salida de información de depuración

<?php
$conn->setdebug(FALSE);
?>

SAMConnection::send
SAMConnection::subscribe
Funciones SAM


Crea una suscripción a un tema específico.

SAMConnection::setDebug
SAMConnection::unsubscribe
Funciones SAM
PHP Manual

SAMConnection::subscribe

(PECL sam >= 0.1.0)

SAMConnection::subscribe — Crea una suscripción a un tema específico.

Descripción

string SAMConnection::subscribe ( string $targetTopic )

El método "subscribe" se utiliza para crear una nueva suscripción a un tema específico.

Parámetros

targetTopic

La identidad del tema (topic://topicname) al que nos queremos suscribir.

Valores devueltos

Un identificador de suscripción que puede ser utilizado en una llamada de recepción posterior a modo de selector, para obtener cualquier información del tema o FALSE en caso de error. El identificador de suscripción debe ser utilizado en la llamada de recepción en vez del nombre del tema.

Ejemplos

Ejemplo #1 Suscripción a un tema

<?php
$subid = $conn->subscribe('topic://A');
if (!$subid) {
  // La suscripción falló!
  echo "Suscripción faliida ($conn->errno) $conn->error";
}
?>

Ver también

  • SAMConnection::unsubscribe

SAMConnection::setDebug
SAMConnection::unsubscribe
Funciones SAM


Cancela una suscripción a un tema específico.

SAMConnection::subscribe
SAMMessage::body
Funciones SAM
PHP Manual

SAMConnection::unsubscribe

(PECL sam >= 0.1.0)

SAMConnection::unsubscribe — Cancela una suscripción a un tema específico.

Descripción

bool SAMConnection::unsubscribe ( string $subscriptionId [, string $targetTopic ] )

El método "unsubscribe" se utiliza para eliminar una suscripción existente a un tema específico.

Parámetros

subscriptionId

El identificador de una suscripción existente tal y como es devuelto por una llamada al método 'subscribe'.

Valores devueltos

Este método devuelve FALSE en caso de error.

Ejemplos

Ejemplo #1 Eliminar una suscripción

<?php
if (!$conn->unsubscribe($subid)) {
    // La eliminación de la suscripción falló!
    echo "Eliminación de la suscripción fallida ($conn->errno) $conn->error";
}
?>

Ver también

  • SAMConnection::subscribe

SAMConnection::subscribe
SAMMessage::body
Funciones SAM


El cuerpo del mensaje.

SAMConnection::unsubscribe
SAMMessage::__construct
Funciones SAM
PHP Manual

SAMMessage::body

(PECL sam >= 0.1.0)

SAMMessage::body — El cuerpo del mensaje.

Descripción

string $SAMMessage->body;

La propiedad "body" contiene el cuerpo del mensaje. Siempre no puede ser establecido.

Ejemplos

Ejemplo #1 Establecer un string de texto en el cuerpo de un mensaje

<?php
$msg = new SAMMessage();
$msg->body = 'Este es un mensaje simple';

?>

Ver también

  • SAMMessage::header

SAMConnection::unsubscribe
SAMMessage::__construct
Funciones SAM


Crea un nuevo objeto de mensaje

SAMMessage::body
SAMMessage::header
Funciones SAM
PHP Manual

SAMMessage::__construct

(PECL sam >= 0.1.0)

SAMMessage::__construct — Crea un nuevo objeto de mensaje

Descripción

SAMMessage::__construct() ([ mixed $body ] )

Crea un nuevo objeto SAMMessage opcionalmente especificando un cuerpo del mensaje.

Parámetros

body

El cuerpo opcional para el mensaje.

Ejemplos

Ejemplo #1 Crear un mensaje

<?php

$msg = new SAMMessage();

?>

Ejemplo #2 Crear un mensaje con una carga de texto simple

<?php

$msg = new SAMMessage('Este es un mensaje de texto simple');

?>

SAMMessage::body
SAMMessage::header
Funciones SAM


Las propiedades en la cabecera del mensaje.

SAMMessage::__construct
SNMP
Funciones SAM
PHP Manual

SAMMessage::header

(PECL sam >= 0.1.0)

SAMMessage::header — Las propiedades en la cabecera del mensaje.

Descripción

object $SAMMessage->header;

La propiedad header es un contenedor para propiedades del sistema o usuario cuyo espacio es asociado con el mensaje.

Las propiedades pueden ser asignadas por el emisor del mensaje para controlar la forma en la que los sistemas de mensajería tratan el mensaje o pueden ser asignadas por el propio sistema de mensajería para comunicarle al receptor información extra sobre el mensaje o sobre el modo en que éste ha sido tratado.

Algunas propiedades son interpretadas por SAM si las constantes se han definido para ello. Sin embargo, la mayoría de las propiedades son ignoradas por la implementación SAM y simplemente pasan a través de los sistemas de mensajería permitiendo a la aplicación utilizar nombres de propiedades específicos o definir sus propias propiedades de "usuario".

Las propiedades SAM definidas son las siguientes:

Nombre de propiedad | Valores posibles
SAM_MESSAGEID | Cuando se recibe un mensaje, este campo contiene el identificador unívoco del mensaje tal y como ha sido asignado en el servidor de mensajería subyacente. Cuando se envía un mensaje este campo es ignorado.
SAM_REPLY_TO | Un string con la identificación de la cola en la cual deben ser publicadas las respuestas a ese mensaje.
SAM_TYPE

Una indicación del tipo de mensaje a enviar. El valor puede ser SAM_TEXT lo que indica que el contenido del cuerpo del mensaje es un string de texto, o SAM_BYTES que indica que los contenidos del cuerpo del mensaje son de un formato específico definido por la aplicación.

La forma en la que esta propiedad se utiliza, puede depender del servidor de mensajería subyacente. Por ejemplo un servidor de mensajería que soporta la especificación JMS (Java Message Service) puede interpretar este valor y enviar mensajes del tipo "jms_text" y "jms_bytes". Adicionalmente, si la propiedad SAM_TYPE se define con el valor SAM_TEXT los datos proporcionados por el cuerpo del mensaje se espera que sea un string codificado en UTF8.

Cuando se configuran los valores de las propiedades es útil a menudo dar una indicación del formato en el que la propiedad debe ser distribuida al sistema de mensajería. Por defecto, los valores de la propiedad se distribuyen como texto y la siguiente sintaxis simple puede utilizarse para configurar un valor:

Ejemplo #1 Configurar una propiedad de formato de texto utilizando la sintaxis por defecto

<?php
$msg = new SAMMessage();

$msg->header->myPropertyName = 'textData';
?>

Si se desea pasar información de tipo, se podría utilizar una sintaxis altenativa donde el valor y la indicación del tipo se pasan en un array asociativo:

Ejemplo #2 Configurar una propiedad de formato de texto indicando el tipo

<?php
$msg = new SAMMessage();

$msg->header->myPropertyName = array('textData', SAM_STRING);
?>

Si se pasa una indicación de tipo, el tipo de la entrada debe ser una de las constandes definidas por SAM según se recogen en la siguiente tabla:

Constante | Descripción del tipo
SAM_BOOLEAN | Cualquier valor pasado será interpretado como un valor lógico, verdadero o falso. Si el valor no puede ser interpretado como un valor booleano PHP, el valor que se pasa al sistema de mensajería es indefinido.
SAM_BYTE | Un valor entero con signo de 8-bits. SAM intentará convertir el valor de la propiedad especificada en un valor de un byte para pasarlo al sistema de mensajería. Si se pasa un valor de tipo string, se intentará interpretar el string como un valor numérico. Si el valor numérico no puede ser expresado en un valor binario con signo de 8 bits los datos pueden perderse en la conversión.
SAM_DOUBLE | Un valor long de punto flotante. SAM intentará convertir el valor de la propiedad especificada en un valor de punto flotante con 15 dígitos de precisión. Si se pasa un valor de tipo string, se intentará interpretar el string como un valor numérico. Si el valor pasado no puede expresarse en un valor de punto flotante de 15 dígitos, los datos pueden perderse en la conversión.
SAM_FLOAT | Un valor short de punto flotante. SAM intentará convertir el valor de la propiedad especificada en un valor de punto flotante con 7 dígitos de precisión. Si se pasa un valor de tipo string, se intentará interpretar el string como un valor numérico. Si el valor pasado no puede ser expresado como un valor de 7 dígitos de punto flotante, los datos pueden perderse en la conversión.
SAM_INT | Un valor entero con signo de 32-bits. SAM intentará convertir el valor de la propiedad especificado, en un valor de 32 bits para pasarlo al sistema de mensajería. Si se pasa un valor de tipo string, se intentará interpretar el string como un valor numérico. Si el valor numérico no puede expresarse en un valor binario con signo de 32 bits, los datos pueden perderse en la conversión.
SAM_LONG | Un valor entero con signo de 64 bits. SAM intentará convertir el valor especificado en la propiedad en un valor de 64 bits para pasarlo al sistema de mensajería. Si se pasa un valor de tipo string, se intentará interpretar el string como un valor numérico. Si el valor numérico no puede expresarse como un valor binario con signo de 64 bits, los datos se pueden perder en la conversión.
SAM_STRING | SAM interpretará el valor especificado como un string y lo pasará de ese modo al sistema de mensajería.

Ejemplos

Ejemplo #3 Configuración de propiedades como el emisor de un mensaje

<?php
$msg = new SAMMessage('Este es un mensaje de test');

// definición de propiedades específicas SAM...
$msg->header->SAM_REPLY_TO = 'queue://test/replyQueue';

// definición de propiedades arbitrarias...
//
// una propiedad de tipo string por defecto
$msg->header->myStringProp1 = 'una propiedad de tipo string';
// una propiedad de tipo string con una indicación de tipo
$msg->header->myStringProp2 = array('otra propiedad de tipo string', SAM_STRING);

// una propiedad de tipo booleano
$msg->header->myBoolProp = array(FALSE, SAM_BOOL);

// propiedades de formato numérico
$msg->header->myIntProp = array(32768, SAM_INT);
$msg->header->myLongProp = array(9876543, SAM_LONG);
$msg->header->myByteProp1 = array(123, SAM_BYTE);
$msg->header->myByteProp2 = array('12', SAM_BYTE);
$msg->header->myFloatProp = array(3.141592, SAM_FLOAT);
$msg->header->myDoubleProp = array(3.14159265358979, SAM_DOUBLE);
?>

Ejemplo #4 Recuperación de valores desde un mensaje

<?php

// acceso a propiedades específicas de aplicación
$intProp = $msg->header->MyIntProp;

// acceso a propiedades específicas del servidor de mensajería
$encoding = $msg->header->JMS_IBM_Msgtype;

?>

Ver también

  • SAMMessage::body

SAMMessage::__construct
SNMP
Funciones SAM


SNMP

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones SNMP
    • snmp_get_quick_print — Fetches the current value of the UCD library's quick_print setting
    • snmp_get_valueretrieval — Return the method how the SNMP values will be returned
    • snmp_read_mib — Reads and parses a MIB file into the active MIB tree
    • snmp_set_enum_print — Return all values that are enums with their enum value instead of the raw integer
    • snmp_set_oid_numeric_print — Set the OID output format
    • snmp_set_oid_output_format — Set the OID output format
    • snmp_set_quick_print — Set the value of quick_print within the UCD SNMP library
    • snmp_set_valueretrieval — Specify the method how the SNMP values will be returned
    • snmp2_get — Fetch an SNMP object
    • snmp2_getnext — Fetch the SNMP object which follows the given object id
    • snmp2_real_walk — Return all objects including their respective object ID within the specified one
    • snmp2_set — Set the value of an SNMP object
    • snmp2_walk — Fetch all the SNMP objects from an agent
    • snmp3_get — Fetch an SNMP object
    • snmp3_getnext — Fetch the SNMP object which follows the given object id
    • snmp3_real_walk — Return all objects including their respective object ID within the specified one
    • snmp3_set — Set the value of an SNMP object
    • snmp3_walk — Fetch all the SNMP objects from an agent
    • snmpget — Fetch an SNMP object
    • snmpgetnext — Fetch the SNMP object which follows the given object id
    • snmprealwalk — Return all objects including their respective object ID within the specified one
    • snmpset — Set the value of an SNMP object
    • snmpwalk — Fetch all the SNMP objects from an agent
    • snmpwalkoid — Query for a tree of information about a network entity
  • SNMP — The SNMP class
    • SNMP::close — Cerrar sesión SNMP
    • SNMP::__construct — Creates SNMP instance representing session to remote SNMP agent
    • SNMP::get — Fetch an SNMP object
    • SNMP::getErrno — Get last error code
    • SNMP::getError — Obtiene el último mensaje de error
    • SNMP::getnext — Fetch an SNMP object which follows the given object id
    • SNMP::set — Set the value of an SNMP object
    • SNMP::setSecurity — Configures security-related SNMPv3 session parameters
    • SNMP::walk — Fetch SNMP object subtree
  • SNMPException — The SNMPException class
SAMMessage::header
Introducción
Otros servicios


Introducción

The SNMP extension provides a very simple and easily usable toolset for managing remote devices via the Simple Network Management Protocol.

As it is a wrapper around the underlying Net-SNMP (or UCD-SNMP on older systems) library, all basic concepts are the same and the PHP functions change their behaviour depending on the Net-SNMP configuration files and environment variables.

Beginning with PHP 5.4, an OO API is available.

More information about Net-SNMP can be found at » http://www.net-snmp.org/

SNMP
Instalación/Configuración
SNMP


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
SNMP


Requerimientos

In order to use the SNMP functions requires installation of the » Net-SNMP package. SNMPv3 functions available only when » OpenSSL package is installed too.

On Windows SNMP functions are only available on NT and not on Win95/98.

Begining with PHP 5.4.0 Net-SNMP version 5.3+ is required for Unix installations and Net-SNMP version 5.4+ for Windows.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

PHP 5.3.0, 5.3.1 and 5.3.2 do not have SNMP support. SNMP support has restored in PHP 5.3.3.

The Windows distribution of Net-SNMP contains support files for SNMP in the mibs directory. This directory should be moved to DRIVE:\usr\mibs, where DRIVE must be replaced with the driveletter where PHP is installed on, e.g.c:\usr\mibs. Alternatively you may set MIBDIRS environment variable pointed to your MIBs folder.

Important notes for PHP prior to 5.4.0: In order to use the UCD SNMP package, you need to define NO_ZEROLENGTH_COMMUNITY to 1 before compiling it. After configuring UCD SNMP, edit config.h or acconfig.h and search for NO_ZEROLENGTH_COMMUNITY. Uncomment the #define line. It should look like this afterwards:

#define NO_ZEROLENGTH_COMMUNITY 1
Now compile PHP --with-snmp[=DIR] .

If you see strange segmentation faults in combination with SNMP commands, you did not follow the above instructions. If you do not want to recompile UCD SNMP, you can compile PHP with the --enable-ucd-snmp-hack switch which will work around the misfeature.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

For the snmp_set_oid_output_format()
SNMP_OID_OUTPUT_SUFFIX (integer)
As of 5.4.0
SNMP_OID_OUTPUT_MODULE (integer)
As of 5.4.0
SNMP_OID_OUTPUT_FULL (integer)
As of 5.2.0
SNMP_OID_OUTPUT_NUMERIC (integer)
As of 5.2.0
SNMP_OID_OUTPUT_UCD (integer)
As of 5.4.0
SNMP_OID_OUTPUT_NONE (integer)
As of 5.4.0
For the snmp_set_valueretrieval()
SNMP_VALUE_LIBRARY (integer)
SNMP_VALUE_PLAIN (integer)
SNMP_VALUE_OBJECT (integer)
SNMP types as returned if SNMP_VALUE_OBJECT was used with snmp_set_valueretrieval()
SNMP_BIT_STR (integer)
SNMP_OCTET_STR (integer)
SNMP_OPAQUE (integer)
SNMP_NULL (integer)
SNMP_OBJECT_ID (integer)
SNMP_IPADDRESS (integer)
SNMP_COUNTER (integer)
SNMP_UNSIGNED (integer)
SNMP_TIMETICKS (integer)
SNMP_UINTEGER (integer)
SNMP_INTEGER (integer)
SNMP_COUNTER64 (integer)
Tipos de recursos
Funciones SNMP
SNMP


Funciones SNMP

Tabla de contenidos

  • snmp_get_quick_print — Fetches the current value of the UCD library's quick_print setting
  • snmp_get_valueretrieval — Return the method how the SNMP values will be returned
  • snmp_read_mib — Reads and parses a MIB file into the active MIB tree
  • snmp_set_enum_print — Return all values that are enums with their enum value instead of the raw integer
  • snmp_set_oid_numeric_print — Set the OID output format
  • snmp_set_oid_output_format — Set the OID output format
  • snmp_set_quick_print — Set the value of quick_print within the UCD SNMP library
  • snmp_set_valueretrieval — Specify the method how the SNMP values will be returned
  • snmp2_get — Fetch an SNMP object
  • snmp2_getnext — Fetch the SNMP object which follows the given object id
  • snmp2_real_walk — Return all objects including their respective object ID within the specified one
  • snmp2_set — Set the value of an SNMP object
  • snmp2_walk — Fetch all the SNMP objects from an agent
  • snmp3_get — Fetch an SNMP object
  • snmp3_getnext — Fetch the SNMP object which follows the given object id
  • snmp3_real_walk — Return all objects including their respective object ID within the specified one
  • snmp3_set — Set the value of an SNMP object
  • snmp3_walk — Fetch all the SNMP objects from an agent
  • snmpget — Fetch an SNMP object
  • snmpgetnext — Fetch the SNMP object which follows the given object id
  • snmprealwalk — Return all objects including their respective object ID within the specified one
  • snmpset — Set the value of an SNMP object
  • snmpwalk — Fetch all the SNMP objects from an agent
  • snmpwalkoid — Query for a tree of information about a network entity
Constantes predefinidas
snmp_get_quick_print
SNMP


Fetches the current value of the UCD library's quick_print setting

Funciones SNMP
snmp_get_valueretrieval
Funciones SNMP
PHP Manual

snmp_get_quick_print

(PHP 4, PHP 5)

snmp_get_quick_print — Fetches the current value of the UCD library's quick_print setting

Descripción

bool snmp_get_quick_print ( void )

Returns the current value stored in the UCD Library for quick_print. quick_print is off by default.

Valores devueltos

Returns TRUE if quick_print is on, FALSE otherwise.

Ejemplos

Ejemplo #1 snmp_get_quick_print() example

<?php
$quickprint = snmp_get_quick_print();
?>

Ver también

  • snmp_set_quick_print() - Set the value of quick_print within the UCD SNMP library for a full description of what quick_print does.

Funciones SNMP
snmp_get_valueretrieval
Funciones SNMP


Return the method how the SNMP values will be returned

snmp_get_quick_print
snmp_read_mib
Funciones SNMP
PHP Manual

snmp_get_valueretrieval

(PHP 4 >= 4.3.3, PHP 5)

snmp_get_valueretrieval — Return the method how the SNMP values will be returned

Descripción

int snmp_get_valueretrieval ( void )

Valores devueltos

OR-ed combitantion of constants ( SNMP_VALUE_LIBRARY or SNMP_VALUE_PLAIN ) with possible SNMP_VALUE_OBJECT set.

Ejemplos

Ejemplo #1 Using snmp_get_valueretrieval

<?php
 $ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
 if (snmp_get_valueretrieval() & SNMP_VALUE_OBJECT) {
   echo $ret->value;
 } else {
   echo $ret;
 }
?>

Ver también

  • snmp_set_valueretrieval() - Specify the method how the SNMP values will be returned
  • Constantes predefinidas

snmp_get_quick_print
snmp_read_mib
Funciones SNMP


Reads and parses a MIB file into the active MIB tree

snmp_get_valueretrieval
snmp_set_enum_print
Funciones SNMP
PHP Manual

snmp_read_mib

(PHP 5)

snmp_read_mib — Reads and parses a MIB file into the active MIB tree

Descripción

bool snmp_read_mib ( string $filename )

This function is used to load additional, e.g. vendor specific, MIBs so that human readable OIDs like VENDOR-MIB::foo.1 instead of error prone numeric OIDs can be used.

The order in which the MIBs are loaded does matter as the underlying Net-SNMP libary will print warnings if referenced objects cannot be resolved.

Parámetros

filename

The filename of the MIB.

Ejemplos

Ejemplo #1 Using snmp_read_mib()

<?php
 print_r( snmprealwalk('localhost', 'public', '.1.3.6.1.2.1.2.3.4.5') );

 snmp_read_mib('./FOO-BAR-MIB.txt');
 print_r( snmprealwalk('localhost', 'public', 'FOO-BAR-MIB::someTable' );
?>

The above example is made up but the results would look like:

Array
(
    [iso.3.6.1.2.1.2.3.4.5.0] => Gauge32: 6
)
Array
(
    [FOO-BAR-MIB::someTable.0] => Gauge32: 6
)

snmp_get_valueretrieval
snmp_set_enum_print
Funciones SNMP


Return all values that are enums with their enum value instead of the raw integer

snmp_read_mib
snmp_set_oid_numeric_print
Funciones SNMP
PHP Manual

snmp_set_enum_print

(PHP 4 >= 4.3.0, PHP 5)

snmp_set_enum_print — Return all values that are enums with their enum value instead of the raw integer

Descripción

bool snmp_set_enum_print ( int $enum_print )

This function toggles if snmpwalk/snmpget etc. should automatically lookup enum values in the MIB and return them together with their human readable string.

Parámetros

enum_print

As the value is interpreted as boolean by the Net-SNMP library, it can only be "0" or "1".

Ejemplos

Ejemplo #1 Using snmp_set_enum_print()

<?php
 snmp_set_enum_print(0);
 echo snmpget('localhost', 'public', 'IF-MIB::ifOperStatus.3') . "\n";
 snmp_set_enum_print(1);
 echo snmpget('localhost', 'public', 'IF-MIB::ifOperStatus.3') . "\n";
?>

The above would return

 INTEGER: up(1)
 INTEGER: 1

Notas

Nota:

snmp_set_enum_print() is only available when using the UCD SNMP library. This function is not available when using the Windows SNMP library.

snmp_read_mib
snmp_set_oid_numeric_print
Funciones SNMP


Set the OID output format

snmp_set_enum_print
snmp_set_oid_output_format
Funciones SNMP
PHP Manual

snmp_set_oid_numeric_print

(PHP 4 >= 4.3.0, PHP 5)

snmp_set_oid_numeric_print — Set the OID output format

Descripción

void snmp_set_oid_numeric_print ( int $oid_format )

Esta función es un alias de: snmp_set_oid_output_format().

Historial de cambios

Versión | Descripción
5.2.0 | Since PHP 5.2.0.

Ver también

  • snmp_set_oid_output_format() - Set the OID output format

snmp_set_enum_print
snmp_set_oid_output_format
Funciones SNMP


Set the OID output format

snmp_set_oid_numeric_print
snmp_set_quick_print
Funciones SNMP
PHP Manual

snmp_set_oid_output_format

(PHP 5 >= 5.2.0)

snmp_set_oid_output_format — Set the OID output format

Descripción

bool snmp_set_oid_output_format ( int $oid_format = SNMP_OID_OUTPUT_MODULE )

snmp_set_oid_output_format() sets the output format to be full or numeric.

Parámetros

oid_format
OID .1.3.6.1.2.1.1.3.0 representation for various oid_format values
SNMP_OID_OUTPUT_FULL | .iso.org.dod.internet.mgmt.mib-2.system.sysUpTime.sysUpTimeInstance
SNMP_OID_OUTPUT_NUMERIC | .1.3.6.1.2.1.1.3.0

Begining from PHP 5.4.0 four additional constants available:

SNMP_OID_OUTPUT_MODULE | DISMAN-EVENT-MIB::sysUpTimeInstance
SNMP_OID_OUTPUT_SUFFIX | sysUpTimeInstance
SNMP_OID_OUTPUT_UCD | system.sysUpTime.sysUpTimeInstance
SNMP_OID_OUTPUT_NONE | Undefined

Valores devueltos

No devuelve ningún valor.

Notas

Nota:

snmp_set_oid_output_format() is only available when using the UCD SNMP library. This function is not available when using the Windows SNMP library.

Ejemplos

Ejemplo #1 Using snmprealwalk()

<?php

 snmp_read_mib("/usr/share/mibs/netsnmp/NET-SNMP-TC");

 // default or SNMP_OID_OUTPUT_MODULE in PHP >= 5.3.6
 print_r( snmprealwalk('localhost', 'public', 'RFC1213-MIB::sysObjectID') );

 snmp_set_oid_output_format(SNMP_OID_OUTPUT_NUMERIC);
 print_r( snmprealwalk('localhost', 'public', 'RFC1213-MIB::sysObjectID') );

 snmp_set_oid_output_format(SNMP_OID_OUTPUT_FULL);
 print_r( snmprealwalk('localhost', 'public', 'RFC1213-MIB::sysObjectID') );
?>

The above would output:

 Array
 (
    [RFC1213-MIB::sysObjectID.0] => OID: NET-SNMP-TC::linux
 )
 Array
 (
    [.1.3.6.1.2.1.1.2.0] => OID: .1.3.6.1.4.1.8072.3.2.10
 )
 Array
 (
    [.iso.org.dod.internet.mgmt.mib-2.system.sysObjectID.0] => OID: .iso.org.dod.internet.private.enterprises.netSnmp.netSnmpEnumerations.netSnmpAgentOIDs.linux
 )

snmp_set_oid_numeric_print
snmp_set_quick_print
Funciones SNMP


Set the value of quick_print within the UCD SNMP library

snmp_set_oid_output_format
snmp_set_valueretrieval
Funciones SNMP
PHP Manual

snmp_set_quick_print

(PHP 4, PHP 5)

snmp_set_quick_print — Set the value of quick_print within the UCD SNMP library

Descripción

bool snmp_set_quick_print ( bool $quick_print )

Sets the value of quick_print within the UCD SNMP library. When this is set (1), the SNMP library will return 'quick printed' values. This means that just the value will be printed. When quick_print is not enabled (default) the UCD SNMP library prints extra information including the type of the value (i.e. IpAddress or OID). Additionally, if quick_print is not enabled, the library prints additional hex values for all strings of three characters or less.

By default the UCD SNMP library returns verbose values, quick_print is used to return only the value.

Currently strings are still returned with extra quotes, this will be corrected in a later release.

Parámetros

quick_print

Valores devueltos

No devuelve ningún valor.

Ejemplos

Setting quick_print is often used when using the information returned rather than displaying it.

Ejemplo #1 Using snmp_set_quick_print()

<?php
snmp_set_quick_print(0);
$a = snmpget("127.0.0.1", "public", ".1.3.6.1.2.1.2.2.1.9.1");
echo "$a\n";
snmp_set_quick_print(1);
$a = snmpget("127.0.0.1", "public", ".1.3.6.1.2.1.2.2.1.9.1");
echo "$a\n";
?>

El resultado del ejemplo sería algo similar a:

'Timeticks: (0) 0:00:00.00'
'0:00:00.00'

Ver también

  • snmp_get_quick_print() - Fetches the current value of the UCD library's quick_print setting

snmp_set_oid_output_format
snmp_set_valueretrieval
Funciones SNMP


Specify the method how the SNMP values will be returned

snmp_set_quick_print
snmp2_get
Funciones SNMP
PHP Manual

snmp_set_valueretrieval

(PHP 4 >= 4.3.3, PHP 5)

snmp_set_valueretrieval — Specify the method how the SNMP values will be returned

Descripción

bool snmp_set_valueretrieval ( int $method = SNMP_VALUE_LIBRARY )

Parámetros

method
types
SNMP_VALUE_LIBRARY | The return values will be as returned by the Net-SNMP library.
SNMP_VALUE_PLAIN | The return values will be the plain value without the SNMP type hint.
SNMP_VALUE_OBJECT | The return values will be objects with the properties "value" and "type", where the latter is one of the SNMP_OCTET_STR, SNMP_COUNTER etc. constants. The way "value" is returned is based on which one of constants SNMP_VALUE_LIBRARY, SNMP_VALUE_PLAIN is set.

Ejemplos

Ejemplo #1 Using snmp_set_valueretrieval()

<?php
 snmp_set_valueretrieval(SNMP_VALUE_LIBRARY);
 $ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
 // $ret = "STRING: lo"

 snmp_set_valueretrieval(SNMP_VALUE_PLAIN);
 $ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
 // $ret = "lo";

 snmp_set_valueretrieval(SNMP_VALUE_OBJECT);
 $ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
 // stdClass Object
 // (
 //   [type] => 4        <-- SNMP_OCTET_STR, see constants
 //   [value] => lo
 // )

 // PHP 5.4+ examples
 snmp_set_valueretrieval(SNMP_VALUE_OBJECT | SNMP_VALUE_PLAIN);
 $ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
 // stdClass Object
 // (
 //   [type] => 4        <-- SNMP_OCTET_STR, see constants
 //   [value] => lo
 // )

 snmp_set_valueretrieval(SNMP_VALUE_OBJECT | SNMP_VALUE_LIBRARY);
 $ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
 // stdClass Object
 // (
 //   [type] => 4        <-- SNMP_OCTET_STR, see constants
 //   [value] => STRING: lo
 // )

?>

Historial de cambios

Versión | Descripción
5.4.0 | Constants SNMP_VALUE_PLAIN or SNMP_VALUE_LIBRARY may be combined with SNMP_VALUE_OBJECT resulting different way of representing contents of value array element in return value of GET-function. If no SNMP_VALUE_{PLAIN,LIBRARY} constant is accompanying SNMP_VALUE_OBJECT, SNMP_VALUE_LIBRARY is used. Prior to 5.4.0 SNMP_VALUE_OBJECT effecively meant SNMP_VALUE_OBJECT|SNMP_VALUE_PLAIN.

Ver también

  • snmp_get_valueretrieval() - Return the method how the SNMP values will be returned
  • Constantes predefinidas

snmp_set_quick_print
snmp2_get
Funciones SNMP


Fetch an SNMP object

snmp_set_valueretrieval
snmp2_getnext
Funciones SNMP
PHP Manual

snmp2_get

(PHP 5 >= 5.2.0)

snmp2_get — Fetch an SNMP object

Descripción

string snmp2_get ( string $host , string $community , string $object_id [, string $timeout = 1000000 [, string $retries = 5 ]] )

The snmp2_get() function is used to read the value of an SNMP object specified by the object_id.

Parámetros

host

The SNMP agent.

community

The read community.

object_id

The SNMP object.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valores devueltos

Returns SNMP object value on success or FALSE on error.

Ejemplos

Ejemplo #1 Using snmp2_get()

<?php
$syscontact = snmp2_get("127.0.0.1", "public", "system.SysContact.0");
?>

Ver también

  • snmp2_set() - Set the value of an SNMP object

snmp_set_valueretrieval
snmp2_getnext
Funciones SNMP


Fetch the SNMP object which follows the given object id

snmp2_get
snmp2_real_walk
Funciones SNMP
PHP Manual

snmp2_getnext

(PHP >= 5.2.0)

snmp2_getnext — Fetch the SNMP object which follows the given object id

Descripción

string snmp2_getnext ( string $host , string $community , string $object_id [, string $timeout = 1000000 [, string $retries = 5 ]] )

The snmp2_get_next() function is used to read the value of the SNMP object that follows the specified object_id.

Parámetros

host

The hostname of the SNMP agent (server).

community

The read community.

object_id

The SNMP object id which precedes the wanted one.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valores devueltos

Returns SNMP object value on success or FALSE on error. In case of an error, an E_WARNING message is shown.

Ejemplos

Ejemplo #1 Using snmp2_get_next()

<?php
$nameOfSecondInterface = snmp2_get_next('localhost', 'public', 'IF-MIB::ifName.1';
?>

Ver también

  • snmp2_get() - Fetch an SNMP object
  • snmp2_walk() - Fetch all the SNMP objects from an agent

snmp2_get
snmp2_real_walk
Funciones SNMP


Return all objects including their respective object ID within the specified one

snmp2_getnext
snmp2_set
Funciones SNMP
PHP Manual

snmp2_real_walk

(PHP >= 5.2.0)

snmp2_real_walk — Return all objects including their respective object ID within the specified one

Descripción

array snmp2_real_walk ( string $host , string $community , string $object_id [, string $timeout = 1000000 [, string $retries = 5 ]] )

The snmp2_real_walk() function is used to traverse over a number of SNMP objects starting from object_id and return not only their values but also their object ids.

Parámetros

host

The hostname of the SNMP agent (server).

community

The read community.

object_id

The SNMP object id which precedes the wanted one.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valores devueltos

Returns an associative array of the SNMP object ids and their values on success or FALSE on error. In case of an error, an E_WARNING message is shown.

Ejemplos

Ejemplo #1 Using snmp2_real_walk()

<?php
 print_r(snmp2_real_walk("localhost", "public", "IF-MIB::ifName"));
?>

The above will output something like:

    Array
      (
      [IF-MIB::ifName.1] => STRING: lo
      [IF-MIB::ifName.2] => STRING: eth0
      [IF-MIB::ifName.3] => STRING: eth2
      [IF-MIB::ifName.4] => STRING: sit0
      [IF-MIB::ifName.5] => STRING: sixxs
    )

Ver también

  • snmp2_walk() - Fetch all the SNMP objects from an agent

snmp2_getnext
snmp2_set
Funciones SNMP


Set the value of an SNMP object

snmp2_real_walk
snmp2_walk
Funciones SNMP
PHP Manual

snmp2_set

(PHP >= 5.2.0)

snmp2_set — Set the value of an SNMP object

Descripción

bool snmp2_set ( string $host , string $community , string $object_id , string $type , string $value [, string $timeout = 1000000 [, string $retries = 5 ]] )

snmp2_set() is used to set the value of an SNMP object specified by the object_id.

Parámetros

host

The hostname of the SNMP agent (server).

community

The write community.

object_id

The SNMP object id.

type

MIB define el tipo de cada identificador de objeto. Debe indicarse con un único carácter de la siguiente lista.

tipos
= Tipo adquirido a partir de MIB
i | INTEGER
u | INTEGER
s | STRING
x | HEX STRING
d | DECIMAL STRING
n | NULLOBJ
o | OBJID
t | TIMETICKS
a | IPADDRESS
b | BITS

Si se definió OPAQUE_SPECIAL_TYPES al compilar la biblioteca SNMP, los siguientes valores serán también válidos:

tipos
U | int64 sin signo
I | int64 con signo
F | float
D | double

La mayoría, utilizarán su correspondiente tipo ASN.1. 's', 'x', 'd' y 'b' son diferentes formas de especificar un valor de OCTET STRING, y el tipo sin signo 'u' se usa también para manejar valores Gauge32.

Si se cargan los ficheros MIB en el árbol MIB con "snmp_read_mib" o con la configuración de libsnmp, se puede usar '=' como parámetro type para todos los id de objetos, ya que se podrá leer automáticamente el tipo a partir del MIB.

Tenga presente que hay dos formas de asigar a una variable los tipos BITS, como por ejemplo. "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":

  • Usando el tipo "b" y una lista numérica de bits. No se recomienda usar este método, ya que una consulta GET para un mismo OID devolvería, por ejemplo 0xF8.
  • Usando el tipo "x" y un número hexadecimal, pero si el prefijo "0x".

Revise el apartado de ejemplos para más detalles.

value

The new value.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

If the SNMP host rejects the data type, an E_WARNING message like "Warning: Error in packet. Reason: (badValue) The value given has the wrong type or length." is shown. If an unknown or invalid OID is specified the warning probably reads "Could not add variable".

Ejemplos

Ejemplo #1 Using snmp2_set()

<?php
  snmp2_set("localhost", "public", "IF-MIB::ifAlias.3", "s", "foo");
?>

Ejemplo #2 Using snmp2_set() for setting BITS SNMP object id

<?php
  snmp2_set("localhost", "public", 'FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// or
  snmp2_set("localhost", "public", 'FOO-MIB::bar.42', 'x', 'F0');
?>

Ver también

  • snmp2_get() - Fetch an SNMP object

snmp2_real_walk
snmp2_walk
Funciones SNMP


Fetch all the SNMP objects from an agent

snmp2_set
snmp3_get
Funciones SNMP
PHP Manual

snmp2_walk

(PHP >= 5.2.0)

snmp2_walk — Fetch all the SNMP objects from an agent

Descripción

array snmp2_walk ( string $host , string $community , string $object_id [, string $timeout = 1000000 [, string $retries = 5 ]] )

snmp2_walk() function is used to read all the values from an SNMP agent specified by the hostname.

Parámetros

host

The SNMP agent (server).

community

The read community.

object_id

If NULL, object_id is taken as the root of the SNMP objects tree and all objects under that tree are returned as an array.

If object_id is specified, all the SNMP objects below that object_id are returned.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valores devueltos

Returns an array of SNMP object values starting from the object_id as root or FALSE on error.

Ejemplos

Ejemplo #1 snm2_pwalk() Example

<?php
$a = snmp2_walk("127.0.0.1", "public", "");

foreach ($a as $val) {
    echo "$val\n";
}

?>

Above function call would return all the SNMP objects from the SNMP agent running on localhost. One can step through the values with a loop

Ver también

  • snmp2_real_walk() - Return all objects including their respective object ID within the specified one

snmp2_set
snmp3_get
Funciones SNMP


Fetch an SNMP object

snmp2_walk
snmp3_getnext
Funciones SNMP
PHP Manual

snmp3_get

(PHP 4, PHP 5)

snmp3_get — Fetch an SNMP object

Descripción

string snmp3_get ( string $host , string $sec_name , string $sec_level , string $auth_protocol , string $auth_passphrase , string $priv_protocol , string $priv_passphrase , string $object_id [, string $timeout = 1000000 [, string $retries = 5 ]] )

The snmp3_get() function is used to read the value of an SNMP object specified by the object_id.

Parámetros

host

The hostname of the SNMP agent (server).

sec_name

the security name, usually some kind of username

sec_level

the security level (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

the authentication protocol (MD5 or SHA)

auth_passphrase

the authentication pass phrase

priv_protocol

the privacy protocol (DES or AES)

priv_passphrase

the privacy pass phrase

object_id

The SNMP object id.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valores devueltos

Returns SNMP object value on success or FALSE on error.

Ejemplos

Ejemplo #1 Using snmp3_get()

<?php
$nameOfSecondInterface = snmp3_get('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifName.2');
?>

Ver también

  • snmp3_set() - Set the value of an SNMP object

snmp2_walk
snmp3_getnext
Funciones SNMP


Fetch the SNMP object which follows the given object id

snmp3_get
snmp3_real_walk
Funciones SNMP
PHP Manual

snmp3_getnext

(PHP 5)

snmp3_getnext — Fetch the SNMP object which follows the given object id

Descripción

string snmp3_getnext ( string $host , string $sec_name , string $sec_level , string $auth_protocol , string $auth_passphrase , string $priv_protocol , string $priv_passphrase , string $object_id [, string $timeout = 1000000 [, string $retries = 5 ]] )

The snmp3_getnext() function is used to read the value of the SNMP object that follows the specified object_id.

Parámetros

host

The hostname of the SNMP agent (server).

sec_name

the security name, usually some kind of username

sec_level

the security level (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

the authentication protocol (MD5 or SHA)

auth_passphrase

the authentication pass phrase

priv_protocol

the privacy protocol (DES or AES)

priv_passphrase

the privacy pass phrase

object_id

The SNMP object id.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valores devueltos

Returns SNMP object value on success or FALSE on error. In case of an error, an E_WARNING message is shown.

Ejemplos

Ejemplo #1 Using snmp3_getnext()

<?php
$nameOfSecondInterface = snmp3_getnext('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifName.1');
?>

Ver también

  • snmp3_get() - Fetch an SNMP object
  • snmp3_walk() - Fetch all the SNMP objects from an agent

snmp3_get
snmp3_real_walk
Funciones SNMP


Return all objects including their respective object ID within the specified one

snmp3_getnext
snmp3_set
Funciones SNMP
PHP Manual

snmp3_real_walk

(PHP 4, PHP 5)

snmp3_real_walk — Return all objects including their respective object ID within the specified one

Descripción

array snmp3_real_walk ( string $host , string $sec_name , string $sec_level , string $auth_protocol , string $auth_passphrase , string $priv_protocol , string $priv_passphrase , string $object_id [, string $timeout = 1000000 [, string $retries = 5 ]] )

The snmp3_real_walk() function is used to traverse over a number of SNMP objects starting from object_id and return not only their values but also their object ids.

Parámetros

host

The hostname of the SNMP agent (server).

sec_name

the security name, usually some kind of username

sec_level

the security level (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

the authentication protocol (MD5 or SHA)

auth_passphrase

the authentication pass phrase

priv_protocol

the privacy protocol (DES or AES)

priv_passphrase

the privacy pass phrase

object_id

The SNMP object id.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valores devueltos

Returns an associative array of the SNMP object ids and their values on success or FALSE on error. In case of an error, an E_WARNING message is shown.

Ejemplos

Ejemplo #1 Using snmp3_real_walk()

<?php
 var_export(snmp3_real_walk('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifName'));
?>

The above will output something like:

array (
  'IF-MIB::ifName.1' => 'STRING: lo',
  'IF-MIB::ifName.2' => 'STRING: eth0',
  'IF-MIB::ifName.3' => 'STRING: eth2',
  'IF-MIB::ifName.4' => 'STRING: sit0',
  'IF-MIB::ifName.5' => 'STRING: sixxs',
)

Ver también

  • snmpwalk() - Fetch all the SNMP objects from an agent

snmp3_getnext
snmp3_set
Funciones SNMP


Set the value of an SNMP object

snmp3_real_walk
snmp3_walk
Funciones SNMP
PHP Manual

snmp3_set

(PHP 4, PHP 5)

snmp3_set — Set the value of an SNMP object

Descripción

bool snmp3_set ( string $host , string $sec_name , string $sec_level , string $auth_protocol , string $auth_passphrase , string $priv_protocol , string $priv_passphrase , string $object_id , string $type , string $value [, int $timeout = 1000000 [, int $retries = 5 ]] )

snmp3_set() is used to set the value of an SNMP object specified by the object_id.

Even if the security level does not use an auth or priv protocol/password valid values have to be specified.

Parámetros

host

The hostname of the SNMP agent (server).

sec_name

the security name, usually some kind of username

sec_level

the security level (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

the authentication protocol (MD5 or SHA)

auth_passphrase

the authentication pass phrase

priv_protocol

the privacy protocol (DES or AES)

priv_passphrase

the privacy pass phrase

object_id

The SNMP object id.

type

MIB define el tipo de cada identificador de objeto. Debe indicarse con un único carácter de la siguiente lista.

tipos
= Tipo adquirido a partir de MIB
i | INTEGER
u | INTEGER
s | STRING
x | HEX STRING
d | DECIMAL STRING
n | NULLOBJ
o | OBJID
t | TIMETICKS
a | IPADDRESS
b | BITS

Si se definió OPAQUE_SPECIAL_TYPES al compilar la biblioteca SNMP, los siguientes valores serán también válidos:

tipos
U | int64 sin signo
I | int64 con signo
F | float
D | double

La mayoría, utilizarán su correspondiente tipo ASN.1. 's', 'x', 'd' y 'b' son diferentes formas de especificar un valor de OCTET STRING, y el tipo sin signo 'u' se usa también para manejar valores Gauge32.

Si se cargan los ficheros MIB en el árbol MIB con "snmp_read_mib" o con la configuración de libsnmp, se puede usar '=' como parámetro type para todos los id de objetos, ya que se podrá leer automáticamente el tipo a partir del MIB.

Tenga presente que hay dos formas de asigar a una variable los tipos BITS, como por ejemplo. "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":

  • Usando el tipo "b" y una lista numérica de bits. No se recomienda usar este método, ya que una consulta GET para un mismo OID devolvería, por ejemplo 0xF8.
  • Usando el tipo "x" y un número hexadecimal, pero si el prefijo "0x".

Revise el apartado de ejemplos para más detalles.

value

The new value

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

If the SNMP host rejects the data type, an E_WARNING message like "Warning: Error in packet. Reason: (badValue) The value given has the wrong type or length." is shown. If an unknown or invalid OID is specified the warning probably reads "Could not add variable".

Ejemplos

Ejemplo #1 Using snmp3_set()

<?php
  snmp3_set('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifAlias.3', 's', "foo");
?>

Ejemplo #2 Using snmp3_set() for setting BITS SNMP object id

<?php
  snmp3_set('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// or
  snmp3_set('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'FOO-MIB::bar.42', 'x', 'F0');
?>
snmp3_real_walk
snmp3_walk
Funciones SNMP


Fetch all the SNMP objects from an agent

snmp3_set
snmpget
Funciones SNMP
PHP Manual

snmp3_walk

(PHP 4, PHP 5)

snmp3_walk — Fetch all the SNMP objects from an agent

Descripción

array snmp3_walk ( string $host , string $sec_name , string $sec_level , string $auth_protocol , string $auth_passphrase , string $priv_protocol , string $priv_passphrase , string $object_id [, string $timeout = 1000000 [, string $retries = 5 ]] )

snmp3_walk() function is used to read all the values from an SNMP agent specified by the hostname.

Even if the security level does not use an auth or priv protocol/password valid values have to be specified.

Parámetros

host

The hostname of the SNMP agent (server).

sec_name

the security name, usually some kind of username

sec_level

the security level (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

the authentication protocol (MD5 or SHA)

auth_passphrase

the authentication pass phrase

priv_protocol

the privacy protocol (DES or AES)

priv_passphrase

the privacy pass phrase

object_id

If NULL, object_id is taken as the root of the SNMP objects tree and all objects under that tree are returned as an array.

If object_id is specified, all the SNMP objects below that object_id are returned.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valores devueltos

Returns an array of SNMP object values starting from the object_id as root or FALSE on error.

Ejemplos

Ejemplo #1 snmp3_walk() Example

<?php
$ret = snmp3_walk('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifName');
var_export($ret);
?>

Above function call would return all the SNMP objects from the SNMP agent running on localhost:

array (
  0 => 'STRING: lo',
  1 => 'STRING: eth0',
  2 => 'STRING: eth2',
  3 => 'STRING: sit0',
  4 => 'STRING: sixxs',
)

Ver también

  • snmp3_real_walk() - Return all objects including their respective object ID within the specified one

snmp3_set
snmpget
Funciones SNMP


Fetch an SNMP object

snmp3_walk
snmpgetnext
Funciones SNMP
PHP Manual

snmpget

(PHP 4, PHP 5)

snmpget — Fetch an SNMP object

Descripción

string snmpget ( string $hostname , string $community , string $object_id [, int $timeout = 1000000 [, int $retries = 5 ]] )

The snmpget() function is used to read the value of an SNMP object specified by the object_id.

Parámetros

hostname

The SNMP agent.

community

The read community.

object_id

The SNMP object.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valores devueltos

Returns SNMP object value on success or FALSE on error.

Ejemplos

Ejemplo #1 Using snmpget()

<?php
$syscontact = snmpget("127.0.0.1", "public", "system.SysContact.0");
?>

Ver también

  • snmpset() - Set the value of an SNMP object

snmp3_walk
snmpgetnext
Funciones SNMP


Fetch the SNMP object which follows the given object id

snmpget
snmprealwalk
Funciones SNMP
PHP Manual

snmpgetnext

(PHP 5)

snmpgetnext — Fetch the SNMP object which follows the given object id

Descripción

string snmpgetnext ( string $host , string $community , string $object_id [, int $timeout = 1000000 [, int $retries = 5 ]] )

The snmpgetnext() function is used to read the value of the SNMP object that follows the specified object_id.

Parámetros

host

The hostname of the SNMP agent (server).

community

The read community.

object_id

The SNMP object id which precedes the wanted one.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valores devueltos

Returns SNMP object value on success or FALSE on error. In case of an error, an E_WARNING message is shown.

Ejemplos

Ejemplo #1 Using snmpgetnext()

<?php
$nameOfSecondInterface = snmpgetnetxt('localhost', 'public', 'IF-MIB::ifName.1';
?>

Ver también

  • snmpget() - Fetch an SNMP object
  • snmpwalk() - Fetch all the SNMP objects from an agent

snmpget
snmprealwalk
Funciones SNMP


Return all objects including their respective object ID within the specified one

snmpgetnext
snmpset
Funciones SNMP
PHP Manual

snmprealwalk

(PHP 4, PHP 5)

snmprealwalk — Return all objects including their respective object ID within the specified one

Descripción

array snmprealwalk ( string $host , string $community , string $object_id [, int $timeout = 1000000 [, int $retries = 5 ]] )

The snmprealwalk() function is used to traverse over a number of SNMP objects starting from object_id and return not only their values but also their object ids.

Parámetros

host

The hostname of the SNMP agent (server).

community

The read community.

object_id

The SNMP object id which precedes the wanted one.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valores devueltos

Returns an associative array of the SNMP object ids and their values on success or FALSE on error. In case of an error, an E_WARNING message is shown.

Ejemplos

Ejemplo #1 Using snmprealwalk()

<?php
 print_r(snmprealwalk("localhost", "public", "IF-MIB::ifName"));
?>

The above will output something like:

    Array
      (
      [IF-MIB::ifName.1] => STRING: lo
      [IF-MIB::ifName.2] => STRING: eth0
      [IF-MIB::ifName.3] => STRING: eth2
      [IF-MIB::ifName.4] => STRING: sit0
      [IF-MIB::ifName.5] => STRING: sixxs
    )

Ver también

  • snmpwalk() - Fetch all the SNMP objects from an agent

snmpgetnext
snmpset
Funciones SNMP


Set the value of an SNMP object

snmprealwalk
snmpwalk
Funciones SNMP
PHP Manual

snmpset

(PHP 4, PHP 5)

snmpset — Set the value of an SNMP object

Descripción

bool snmpset ( string $host , string $community , string $object_id , string $type , mixed $value [, int $timeout = 1000000 [, int $retries = 5 ]] )

snmpset() is used to set the value of an SNMP object specified by the object_id.

Parámetros

host

The hostname of the SNMP agent (server).

community

The write community.

object_id

The SNMP object id.

type

MIB define el tipo de cada identificador de objeto. Debe indicarse con un único carácter de la siguiente lista.

tipos
= Tipo adquirido a partir de MIB
i | INTEGER
u | INTEGER
s | STRING
x | HEX STRING
d | DECIMAL STRING
n | NULLOBJ
o | OBJID
t | TIMETICKS
a | IPADDRESS
b | BITS

Si se definió OPAQUE_SPECIAL_TYPES al compilar la biblioteca SNMP, los siguientes valores serán también válidos:

tipos
U | int64 sin signo
I | int64 con signo
F | float
D | double

La mayoría, utilizarán su correspondiente tipo ASN.1. 's', 'x', 'd' y 'b' son diferentes formas de especificar un valor de OCTET STRING, y el tipo sin signo 'u' se usa también para manejar valores Gauge32.

Si se cargan los ficheros MIB en el árbol MIB con "snmp_read_mib" o con la configuración de libsnmp, se puede usar '=' como parámetro type para todos los id de objetos, ya que se podrá leer automáticamente el tipo a partir del MIB.

Tenga presente que hay dos formas de asigar a una variable los tipos BITS, como por ejemplo. "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":

  • Usando el tipo "b" y una lista numérica de bits. No se recomienda usar este método, ya que una consulta GET para un mismo OID devolvería, por ejemplo 0xF8.
  • Usando el tipo "x" y un número hexadecimal, pero si el prefijo "0x".

Revise el apartado de ejemplos para más detalles.

value

The new value.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

If the SNMP host rejects the data type, an E_WARNING message like "Warning: Error in packet. Reason: (badValue) The value given has the wrong type or length." is shown. If an unknown or invalid OID is specified the warning probably reads "Could not add variable".

Ejemplos

Ejemplo #1 Using snmpset()

<?php
  snmpset("localhost", "public", "IF-MIB::ifAlias.3", "s", "foo");
?>

Ejemplo #2 Using snmpset() for setting BITS SNMP object id

<?php
  snmpset("localhost", "public", 'FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// or
  snmpset("localhost", "public", 'FOO-MIB::bar.42', 'x', 'F0');
?>

Ver también

  • snmpget() - Fetch an SNMP object

snmprealwalk
snmpwalk
Funciones SNMP


Fetch all the SNMP objects from an agent

snmpset
snmpwalkoid
Funciones SNMP
PHP Manual

snmpwalk

(PHP 4, PHP 5)

snmpwalk — Fetch all the SNMP objects from an agent

Descripción

array snmpwalk ( string $hostname , string $community , string $object_id [, int $timeout = 1000000 [, int $retries = 5 ]] )

snmpwalk() function is used to read all the values from an SNMP agent specified by the hostname.

Parámetros

hostname

The SNMP agent (server).

community

The read community.

object_id

If NULL, object_id is taken as the root of the SNMP objects tree and all objects under that tree are returned as an array.

If object_id is specified, all the SNMP objects below that object_id are returned.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valores devueltos

Returns an array of SNMP object values starting from the object_id as root or FALSE on error.

Ejemplos

Ejemplo #1 snmpwalk() Example

<?php
$a = snmpwalk("127.0.0.1", "public", "");

foreach ($a as $val) {
    echo "$val\n";
}

?>

Above function call would return all the SNMP objects from the SNMP agent running on localhost. One can step through the values with a loop

Ver también

  • snmprealwalk() - Return all objects including their respective object ID within the specified one

snmpset
snmpwalkoid
Funciones SNMP


Query for a tree of information about a network entity

snmpwalk
SNMP
Funciones SNMP
PHP Manual

snmpwalkoid

(PHP 4, PHP 5)

snmpwalkoid — Query for a tree of information about a network entity

Descripción

array snmpwalkoid ( string $hostname , string $community , string $object_id [, int $timeout = 1000000 [, int $retries = 5 ]] )

snmpwalkoid() function is used to read all object ids and their respective values from an SNMP agent specified by hostname.

The existence of snmpwalkoid() and snmpwalk() has historical reasons. Both functions are provided for backward compatibility. Use snmprealwalk() instead.

Parámetros

hostname

The SNMP agent.

community

The read community.

object_id

If NULL, object_id is taken as the root of the SNMP objects tree and all objects under that tree are returned as an array.

If object_id is specified, all the SNMP objects below that object_id are returned.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valores devueltos

Returns an associative array with object ids and their respective object value starting from the object_id as root or FALSE on error.

Ejemplos

Ejemplo #1 snmpwalkoid() Example

<?php
$a = snmpwalkoid("127.0.0.1", "public", "");
for (reset($a); $i = key($a); next($a)) {
    echo "$i: $a[$i]<br />\n";
}
?>

Above function call would return all the SNMP objects from the SNMP agent running on localhost. One can step through the values with a loop

Ver también

  • snmpwalk() - Fetch all the SNMP objects from an agent

snmpwalk
SNMP
Funciones SNMP


The SNMP class

(PHP 5 >= 5.4.0)

Introducción

Represents SNMP session.

Sinopsis de la Clase

SNMP {
/* Propiedades */
public int $max_oids ;
public int $valueretrieval ;
public bool $quick_print ;
public bool $enum_print ;
public int $oid_output_format ;
public bool $oid_increasing_check ;
public int $exceptions_enabled ;
public array $info ;
/* Métodos */
public __construct ( int $version , string $hostname , string $community [, int $timeout = 1000000 [, int $retries = 5 ]] )
public bool close ( void )
public mixed get ( mixed $object_id [, bool $preserve_keys = false ] )
public int getErrno ( void )
public string getError ( void )
public mixed getnext ( mixed $object_id )
public bool set ( mixed $object_id , mixed $type , mixed $value )
public bool setSecurity ( string $sec_level [, string $auth_protocol = [, string $auth_passphrase = [, string $priv_protocol = [, string $priv_passphrase = [, string $contextName = [, string $contextEngineID = ]]]]]] )
public array walk ( string $object_id [, bool $suffix_as_key = FALSE [, int $max_repetitions [, int $non_repeaters ]]] )
/* Constantes */
const integer ERRNO_NOERROR = 0 ;
const integer ERRNO_GENERIC = 2 ;
const integer ERRNO_TIMEOUT = 4 ;
const integer ERRNO_ERROR_IN_REPLY = 8 ;
const integer ERRNO_OID_NOT_INCREASING = 16 ;
const integer ERRNO_OID_PARSING_ERROR = 32 ;
const integer ERRNO_MULTIPLE_SET_QUERIES = 64 ;
const integer ERRNO_ANY = 126 ;
const integer VERSION_1 = 0 ;
const integer VERSION_2C = 1 ;
const integer VERSION_2c = 1 ;
const integer VERSION_3 = 3 ;
}

Propiedades

max_oids

Maximum OID per GET/SET/GETBULK request

valueretrieval

Controls the method how the SNMP values will be returned

SNMP_VALUE_LIBRARY | The return values will be as returned by the Net-SNMP library.
SNMP_VALUE_PLAIN | The return values will be the plain value without the SNMP type hint.
SNMP_VALUE_OBJECT | The return values will be objects with the properties "value" and "type", where the latter is one of the SNMP_OCTET_STR, SNMP_COUNTER etc. constants. The way "value" is returned is based on which one of SNMP_VALUE_LIBRARY, SNMP_VALUE_PLAIN is set
quick_print

Value of quick_print within the NET-SNMP library

Sets the value of quick_print within the NET-SNMP library. When this is set (1), the SNMP library will return 'quick printed' values. This means that just the value will be printed. When quick_print is not enabled (default) the UCD SNMP library prints extra information including the type of the value (i.e. IpAddress or OID). Additionally, if quick_print is not enabled, the library prints additional hex values for all strings of three characters or less.

enum_print

Controls the way enum values are printed

Parameter toggles if walk/get etc. should automatically lookup enum values in the MIB and return them together with their human readable string.

oid_output_format

Controls OID output format

OID .1.3.6.1.2.1.1.3.0 representation for various oid_output_format values
SNMP_OID_OUTPUT_FULL | .iso.org.dod.internet.mgmt.mib-2.system.sysUpTime.sysUpTimeInstance
SNMP_OID_OUTPUT_NUMERIC | .1.3.6.1.2.1.1.3.0
SNMP_OID_OUTPUT_MODULE | DISMAN-EVENT-MIB::sysUpTimeInstance
SNMP_OID_OUTPUT_SUFFIX | sysUpTimeInstance
SNMP_OID_OUTPUT_UCD | system.sysUpTime.sysUpTimeInstance
SNMP_OID_OUTPUT_NONE | Undefined
oid_increasing_check

Controls disabling check for increasing OID while walking OID tree

Some SNMP agents are known for returning OIDs out of order but can complete the walk anyway. Other agents return OIDs that are out of order and can cause SNMP::walk() to loop indefinitely until memory limit will be reached. PHP SNMP library by default performs OID increasing check and stops walking on OID tree when it detects possible loop with issuing warning about non-increasing OID faced. Set oid_increasing_check to FALSE to disable this check.

exceptions_enabled

Controls which failures will raise SNMPException instead of warning. Use bitwise OR'ed SNMP::ERRNO_* constants. By default all SNMP exceptions are disabled.

info

Read-only property with remote agent configuration: hostname, port, default timeout, default retries count

Constantes predefinidas

SNMP Error Types

SNMP::ERRNO_NOERROR

No SNMP-specific error occurred.

SNMP::ERRNO_GENERIC

A generic SNMP error occurred.

SNMP::ERRNO_TIMEOUT

Request to SNMP agent timed out.

SNMP::ERRNO_ERROR_IN_REPLY

SNMP agent returned an error in reply.

SNMP::ERRNO_OID_NOT_INCREASING

SNMP agent faced OID cycling reporning non-increasing OID while executing (BULK)WALK command. This indicates bogus remote SNMP agent.

SNMP::ERRNO_OID_PARSING_ERROR

Library failed while parsing OID (and/or type for SET command). No queries has been made.

SNMP::ERRNO_MULTIPLE_SET_QUERIES

Library will use multiple queries for SET operation requested. That means that operation will be performed in a non-transaction manner and second or subsequent chunks may fail if a type or value failure will be faced.

SNMP::ERRNO_ANY

All SNMP::ERRNO_* codes bitwise OR'ed.

SNMP Protocol Versions

SNMP::VERSION_1

SNMP::VERSION_2C, SNMP::VERSION_2c

SNMP::VERSION_3

Tabla de contenidos

  • SNMP::close — Cerrar sesión SNMP
  • SNMP::__construct — Creates SNMP instance representing session to remote SNMP agent
  • SNMP::get — Fetch an SNMP object
  • SNMP::getErrno — Get last error code
  • SNMP::getError — Obtiene el último mensaje de error
  • SNMP::getnext — Fetch an SNMP object which follows the given object id
  • SNMP::set — Set the value of an SNMP object
  • SNMP::setSecurity — Configures security-related SNMPv3 session parameters
  • SNMP::walk — Fetch SNMP object subtree
snmpwalkoid
SNMP::close
SNMP


Cerrar sesión SNMP

SNMP
SNMP::__construct
SNMP
PHP Manual

SNMP::close

(PHP 5 >= 5.4.0)

SNMP::close — Cerrar sesión SNMP

Descripción

public bool SNMP::close ( void )

Libera previamente asignado un objeto de sesión SNMP.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de SNMP::close()

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  # ...
  # get, walk, etc va aquí
  # ...
  $session->close();
?>

Ver también

  • SNMP::__construct() - Creates SNMP instance representing session to remote SNMP agent
SNMP
SNMP::__construct
SNMP


Creates SNMP instance representing session to remote SNMP agent

SNMP::close
SNMP::get
SNMP
PHP Manual

SNMP::__construct

(PHP 5 >= 5.4.0)

SNMP::__construct — Creates SNMP instance representing session to remote SNMP agent

Descripción

public SNMP::__construct() ( int $version , string $hostname , string $community [, int $timeout = 1000000 [, int $retries = 5 ]] )

The function description goes here.

Parámetros

version

SNMP protocol version:
SNMP::VERSION_1,
SNMP::VERSION_2C,
SNMP::VERSION_3.

hostname

The SNMP agent. hostname may be suffixed with optional SNMP agent port after colon. IPv6 addresses must be enclosed in square brackets if used with port. If FQDN is used for hostname it will be resolved by php-snmp library, not by Net-SNMP engine. Usage of IPv6 addresses when specifying FQDN may be forced by enclosing FQDN into square brackets. Here it is some examples:

IPv4 with default port | 127.0.0.1
IPv6 with default port | ::1 or [::1]
IPv4 with specific port | 127.0.0.1:1161
IPv6 with specific port | [::1]:1161
FQDN with default port | host.domain
FQDN with specific port | host.domain:1161
FQDN with default port, force usage of IPv6 address | [host.domain]
FQDN with specific port, force usage of IPv6 address | [host.domain]:1161

community

The purpuse of community is SNMP version specific:

SNMP::VERSION_1 | SNMP community
SNMP::VERSION_2C | SNMP community
SNMP::VERSION_3 | SNMPv3 securityName
timeout

The number of microseconds until the first timeout.

retries

The number of retries in case timeout occurs.

Valores devueltos

Returns SNMP object representing remote SNMP agent.

Errores/Excepciones

SNMP::__construct() throws an exception when parameters count or types are wrong or unknown SNMP protocol version specified.

Ejemplos

Ejemplo #1 Fetching sysLocation

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $sysdescr = $session->get("sysDescr.0");
  echo "$sysdescr\n";
?>

El resultado del ejemplo sería algo similar a:

STRING: Test server

Ver también

  • SNMP::close() - Cerrar sesión SNMP
SNMP::close
SNMP::get
SNMP


Fetch an SNMP object

SNMP::__construct
SNMP::getErrno
SNMP
PHP Manual

SNMP::get

(PHP 5 >= 5.4.0)

SNMP::get — Fetch an SNMP object

Descripción

public mixed SNMP::get ( mixed $object_id [, bool $preserve_keys = false ] )

Fetch an SNMP object specified in object_id using GET query.

Parámetros

If object_id is a string, then SNMP::get() will return SNMP object as string. If object_id is a array, all requested SNMP objects will be returned as associative array of the SNMP object ids and their values.

object_id

The SNMP object (OID) or objects

preserve_keys

When object_id is a array and preserve_keys set to TRUE keys in results will be taken exactly as in object_id, otherwise SNMP::oid_output_format property is used to determinate the form of keys.

Valores devueltos

Returns SNMP objects requested as string or array depending on object_id type or FALSE on error.

Errores/Excepciones

Este método no lanza ninguna excepción de manera predeterminada. Para poder lanzar una excepción SNMPException cuando ocurre alguno de los errores de la biblioteca el parámetro exceptions_enabled de la clase SNMP se debería establecer al valor correspondiente. Véase la explicación de SNMP::$exceptions_enabled para más detalles.

Ejemplos

Ejemplo #1 Single SNMP object

Single SNMP object may be requested in two ways: as string resulting string return value or as single-element array with associative array as output.

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $sysdescr = $session->get("sysDescr.0");
  echo "$sysdescr\n";
  $sysdescr = $session->get(array("sysDescr.0"));
  print_r($sysdescr);
?>

El resultado del ejemplo sería algo similar a:

STRING: Test server
Array
(
    [SNMPv2-MIB::sysDescr.0] => STRING: Test server
)

Ejemplo #2 Miltiple SNMP objects

$session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $results = $session->get(array("sysDescr.0", "sysName.0"));
  print_r($results);
  $session->close();

El resultado del ejemplo sería algo similar a:

Array
(
    [SNMPv2-MIB::sysDescr.0] => STRING: Test server
    [SNMPv2-MIB::sysName.0] => STRING: myhost.nodomain
)

Ver también

  • SNMP::getErrno() - Get last error code
  • SNMP::getError() - Obtiene el último mensaje de error
SNMP::__construct
SNMP::getErrno
SNMP


Get last error code

SNMP::get
SNMP::getError
SNMP
PHP Manual

SNMP::getErrno

(PHP 5 >= 5.4.0)

SNMP::getErrno — Get last error code

Descripción

public int SNMP::getErrno ( void )

Devuelve código de error de la última solicitud SNMP.

Valores devueltos

Devuelve uno de los valores de error que se describe en el capítulo constantes.

Ejemplos

Ejemplo #1 Ejemplo de SNMP::getErrno()

<?php
$session = new SNMP(SNMP::VERSION_2c, '127.0.0.1', 'boguscommunity');
var_dump(@$session->get('.1.3.6.1.2.1.1.1.0'));
var_dump($session->getErrno() == SNMP::ERRNO_TIMEOUT);
?>

El resultado del ejemplo sería:

bool(false)
bool(true)

Ver también

  • SNMP::getError() - Obtiene el último mensaje de error
SNMP::get
SNMP::getError
SNMP


Obtiene el último mensaje de error

SNMP::getErrno
SNMP::getnext
SNMP
PHP Manual

SNMP::getError

(PHP 5 >= 5.4.0)

SNMP::getError — Obtiene el último mensaje de error

Descripción

public string SNMP::getError ( void )

Devuelve un string con el error de la última solicitud SNMP.

Valores devueltos

String describing error from last SNMP request. String que describe el error de la última solicitud SNMP.

Ejemplos

Ejemplo #1 Ejemplo de SNMP::getError()

<?php
$session = new SNMP(SNMP::VERSION_2c, '127.0.0.1', 'boguscommunity');
var_dump(@$session->get('.1.3.6.1.2.1.1.1.0'));
var_dump($session->getError());
?>

El resultado del ejemplo sería:

bool(false)
string(26) "No response from 127.0.0.1"

Ver también

  • SNMP::getErrno() - Get last error code
SNMP::getErrno
SNMP::getnext
SNMP


Fetch an SNMP object which follows the given object id

SNMP::getError
SNMP::set
SNMP
PHP Manual

SNMP::getnext

(PHP 5 >= 5.4.0)

SNMP::getnext — Fetch an SNMP object which follows the given object id

Descripción

public mixed SNMP::getnext ( mixed $object_id )

Fetch an SNMP object that follows specified object_id.

Parámetros

If object_id is a string, then SNMP::getnext() will return SNMP object as string. If object_id is a array, all requested SNMP objects will be returned as associative array of the SNMP object ids and their values.

object_id

The SNMP object (OID) or objects

Valores devueltos

Returns SNMP objects requested as string or array depending on object_id type or FALSE on error.

Errores/Excepciones

Este método no lanza ninguna excepción de manera predeterminada. Para poder lanzar una excepción SNMPException cuando ocurre alguno de los errores de la biblioteca el parámetro exceptions_enabled de la clase SNMP se debería establecer al valor correspondiente. Véase la explicación de SNMP::$exceptions_enabled para más detalles.

Ejemplos

Ejemplo #1 Single SNMP object

Single SNMP object may be requested in two ways: as string resulting string return value or as single-element array with associative array as output.

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $nsysdescr = $session->getnext("sysDescr.0");
  echo "$nsysdescr\n";
  $nsysdescr = $session->getnext(array("sysDescr.0"));
  print_r($nsysdescr);
?>

El resultado del ejemplo sería algo similar a:

OID: NET-SNMP-MIB::netSnmpAgentOIDs.8
Array
(
    [SNMPv2-MIB::sysObjectID.0] => OID: NET-SNMP-MIB::netSnmpAgentOIDs.8
)

Ejemplo #2 Miltiple SNMP objects

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $results = $session->getnext(array("sysDescr.0", "sysName.0"));
  print_r($results);
  $session->close();
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [SNMPv2-MIB::sysObjectID.0] => OID: NET-SNMP-MIB::netSnmpAgentOIDs.8
    [SNMPv2-MIB::sysLocation.0] => STRING: Nowhere
)

Ver también

  • SNMP::getErrno() - Get last error code
  • SNMP::getError() - Obtiene el último mensaje de error
SNMP::getError
SNMP::set
SNMP


Set the value of an SNMP object

SNMP::getnext
SNMP::setSecurity
SNMP
PHP Manual

SNMP::set

(PHP 5 >= 5.4.0)

SNMP::set — Set the value of an SNMP object

Descripción

public bool SNMP::set ( mixed $object_id , mixed $type , mixed $value )

Requests remote SNMP agent setting the value of one or more SNMP objects specified by the object_id.

Parámetros

If object_id is string, both type and value must be string too. If object_id is array value must be equal-sized array containing corresponding values, type may be either string (it's value will be used for all object_id-value pairs) or equal-sized array with per-OID value. When any other parameters' combinations are used, a number of E_WARNING messages may be shown with detailed description.

object_id

The SNMP object id

When count of OIDs in object_id array is greater than max_oids object property set method will have to use multiple queries to perform requested value updates. In this case type and value checks are made per-chunk so second or subsequent requests may fail due to wrong type or value for OID requested. To mark this a warning is raised when count of OIDs in object_id array is greater than max_oids.

type

MIB define el tipo de cada identificador de objeto. Debe indicarse con un único carácter de la siguiente lista.

tipos
= Tipo adquirido a partir de MIB
i | INTEGER
u | INTEGER
s | STRING
x | HEX STRING
d | DECIMAL STRING
n | NULLOBJ
o | OBJID
t | TIMETICKS
a | IPADDRESS
b | BITS

Si se definió OPAQUE_SPECIAL_TYPES al compilar la biblioteca SNMP, los siguientes valores serán también válidos:

tipos
U | int64 sin signo
I | int64 con signo
F | float
D | double

La mayoría, utilizarán su correspondiente tipo ASN.1. 's', 'x', 'd' y 'b' son diferentes formas de especificar un valor de OCTET STRING, y el tipo sin signo 'u' se usa también para manejar valores Gauge32.

Si se cargan los ficheros MIB en el árbol MIB con "snmp_read_mib" o con la configuración de libsnmp, se puede usar '=' como parámetro type para todos los id de objetos, ya que se podrá leer automáticamente el tipo a partir del MIB.

Tenga presente que hay dos formas de asigar a una variable los tipos BITS, como por ejemplo. "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":

  • Usando el tipo "b" y una lista numérica de bits. No se recomienda usar este método, ya que una consulta GET para un mismo OID devolvería, por ejemplo 0xF8.
  • Usando el tipo "x" y un número hexadecimal, pero si el prefijo "0x".

Revise el apartado de ejemplos para más detalles.

value

The new value.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Este método no lanza ninguna excepción de manera predeterminada. Para poder lanzar una excepción SNMPException cuando ocurre alguno de los errores de la biblioteca el parámetro exceptions_enabled de la clase SNMP se debería establecer al valor correspondiente. Véase la explicación de SNMP::$exceptions_enabled para más detalles.

Ejemplos

Ejemplo #1 Set single SNMP object id

<?php
  $session = new SNMP(SNMP::VERSION_2C, "127.0.0.1", "private");
  $session->set('SNMPv2-MIB::sysContact.0', 's', "Nobody");
?>

Ejemplo #2 Set multiple values using single SNMP::set() call

<?php
  $session = new SNMP(SNMP::VERSION_2C, "127.0.0.1", "private");
  $session->set(array('SNMPv2-MIB::sysContact.0', 'SNMPv2-MIB::sysLocation.0'), array('s', 's'), array("Nobody", "Nowhere"));
// or
  $session->set(array('SNMPv2-MIB::sysContact.0', 'SNMPv2-MIB::sysLocation.0'), 's', array("Nobody", "Nowhere"));
?>

Ejemplo #3 Using SNMP::set() for setting BITS SNMP object id

<?php
  $session = new SNMP(SNMP::VERSION_2C, "127.0.0.1", "private");
  $session->set('FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// or
  $session->set('FOO-MIB::bar.42', 'x', 'F0');
?>

Ver también

  • SNMP::get() - Fetch an SNMP object

SNMP::getnext
SNMP::setSecurity
SNMP


Configures security-related SNMPv3 session parameters

SNMP::set
SNMP::walk
SNMP
PHP Manual

SNMP::setSecurity

(PHP 5 >= 5.4.0)

SNMP::setSecurity — Configures security-related SNMPv3 session parameters

Descripción

public bool SNMP::setSecurity ( string $sec_level [, string $auth_protocol = [, string $auth_passphrase = [, string $priv_protocol = [, string $priv_passphrase = [, string $contextName = [, string $contextEngineID = ]]]]]] )

setSecurity configures security-related session parameters used in SNMP protocol version 3

Parámetros

sec_level

the security level (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

the authentication protocol (MD5 or SHA)

auth_passphrase

the authentication pass phrase

priv_protocol

the privacy protocol (DES or AES)

priv_passphrase

the privacy pass phrase

contextName

the context name

contextEngineID

the context EngineID

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 SNMP::setSecurity() example

<?php
  $session = new SNMP(SNMP::VERSION_3, $hostname, $rwuser, $timeout, $retries);
  $session->setSecurity('authPriv', 'MD5', $auth_pass, 'AES', $priv_pass, '', 'aeeeff');
?>

Ver también

  • SNMP::__construct() - Creates SNMP instance representing session to remote SNMP agent
SNMP::set
SNMP::walk
SNMP


Fetch SNMP object subtree

SNMP::setSecurity
SNMPException
SNMP
PHP Manual

SNMP::walk

(PHP 5 >= 5.4.0)

SNMP::walk — Fetch SNMP object subtree

Descripción

public array SNMP::walk ( string $object_id [, bool $suffix_as_key = FALSE [, int $max_repetitions [, int $non_repeaters ]]] )

SNMP::walk() is used to read SNMP subtree rooted at specified object_id.

Parámetros

object_id

Root of subtree to be fetched

suffix_as_key

By default full OID notation is used for keys in output array. If set to TRUE subtree prefix will be removed from keys leaving only suffix of object_id.

non_repeaters

This specifies the number of supplied variables that should not be iterated over. The default is to use this value from SNMP object.

max_repetitions

This specifies the maximum number of iterations over the repeating variables. The default is to use this value from SNMP object.

Valores devueltos

Returns an associative array of the SNMP object ids and their values on success or FALSE on error. When a SNMP error occures SNMP::getErrno() and SNMP::getError() can be used for retrieving error number (specific to SNMP extension, see class constants) and error message respectively.

Errores/Excepciones

Este método no lanza ninguna excepción de manera predeterminada. Para poder lanzar una excepción SNMPException cuando ocurre alguno de los errores de la biblioteca el parámetro exceptions_enabled de la clase SNMP se debería establecer al valor correspondiente. Véase la explicación de SNMP::$exceptions_enabled para más detalles.

Ejemplos

Ejemplo #1 SNMP::walk() example

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $fulltree = $session->walk(".");
  print_r($fulltree);
  $session->close();
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [SNMPv2-MIB::sysDescr.0] => STRING: Test server
    [SNMPv2-MIB::sysObjectID.0] => OID: NET-SNMP-MIB::netSnmpAgentOIDs.8
    [DISMAN-EVENT-MIB::sysUpTimeInstance] => Timeticks: (1150681750) 133 days, 4:20:17.50
    [SNMPv2-MIB::sysContact.0] => STRING: Nobody
    [SNMPv2-MIB::sysName.0] => STRING: server.localdomain
    ...
)

Ejemplo #2 suffix_as_key example

suffix_as_key may be used when merging multiple SNMP subtrees into one. This example maps interface names to their type.

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $session->valueretrieval = SNMP_VALUE_PLAIN;
  $ifDescr = $session->walk(".1.3.6.1.2.1.2.2.1.2", TRUE);
  $session->valueretrieval = SNMP_VALUE_LIBRARY;
  $ifType = $session->walk(".1.3.6.1.2.1.2.2.1.3", TRUE);
  print_r($ifDescr);
  print_r($ifType);
  $result = array();
  foreach($ifDescr as $i => $n) {
    $result[$n] = $ifType[$i];
  }
  print_r($result);
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [1] => igb0
    [2] => igb1
    [3] => ipfw0
    [4] => lo0
    [5] => lagg0
)
Array
(
    [1] => INTEGER: ieee8023adLag(161)
    [2] => INTEGER: ieee8023adLag(161)
    [3] => INTEGER: ethernetCsmacd(6)
    [4] => INTEGER: softwareLoopback(24)
    [5] => INTEGER: ethernetCsmacd(6)
)
Array
(
    [igb0] => INTEGER: ieee8023adLag(161)
    [igb1] => INTEGER: ieee8023adLag(161)
    [ipfw0] => INTEGER: ethernetCsmacd(6)
    [lo0] => INTEGER: softwareLoopback(24)
    [lagg0] => INTEGER: ethernetCsmacd(6)
)

Ver también

  • SNMP::getErrno() - Get last error code
  • SNMP::getError() - Obtiene el último mensaje de error
SNMP::setSecurity
SNMPException
SNMP


The SNMPException class

(PHP 5 >= 5.4.0)

Introducción

Represents an error raised by SNMP. You should not throw a SNMPException from your own code. See Exceptions for more information about Exceptions in PHP.

Sinopsis de la Clase

SNMPException extends RuntimeException {
/* Propiedades */
protected string $code ;
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Propiedades

code

SNMPlibrary error code. Use Exception::getCode() to access it.

SNMP::walk
Sockets
SNMP


Sockets

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • Errores de Socket
  • Funciones de Socket
    • socket_accept — Acepta una conexión de un socket
    • socket_bind — Vincula un nombre a un socket
    • socket_clear_error — Limpia el error del socket o el último código de error
    • socket_close — Cierra un recurso socket
    • socket_cmsg_space — Calcular el tamaño del búfer de mensajes
    • socket_connect — Inicia una conexión sobre un socket
    • socket_create_listen — Abre un socket en un puerto para aceptar conxiones
    • socket_create_pair — Crea un par de sockets indistinguibles y los almacena en una matriz
    • socket_create — Crear un socket (extremo de comunicación)
    • socket_get_option — Obtiene las opciones de socket para el socket
    • socket_getpeername — Pregunta a la parte remota del socket dado que puede resultar en un host/puerto o en una ruta de sistema de archivos Unix, dependiendo de su tipo
    • socket_getsockname — Preguntar a la parte local del socket dado que puede resultar en un host/puerto o en una ruta de sistema de archivos Unix, dependiendo de su tipo
    • socket_import_stream — Importar un flujo a stream
    • socket_last_error — Devuelve el último error sobre un socket
    • socket_listen — Escucha una conexión sobre un socket
    • socket_read — Lee un máximo de longitud de bytes desde un socket
    • socket_recv — REcibe información desde un socket conectado
    • socket_recvfrom — Recibe información desde un socket que esté o no orientado a conexión
    • socket_recvmsg — Leer un mensaje
    • socket_select — Ejecuta la llamada a select() del sistema sobre las matrices de sockets dadas con un tiempo límite especificado
    • socket_send — Envía información a un socket conectado
    • socket_sendmsg — Enviar un mensaje
    • socket_sendto — Envía un mensaje a un socket, ya esté conectado o no
    • socket_set_block — Establece el modo de bloqueo de un recurso socket
    • socket_set_nonblock — Establece el modo de no-bloqueo para el descriptor de archivo fd
    • socket_set_option — Establece las opciones de socket para el socket
    • socket_shutdown — Cierra un socket para dejar de recibir, enviar, o ambos
    • socket_strerror — Devuelve una cadena que describe un error de socket
    • socket_write — Escribir en un socket
SNMPException
Introducción
Otros servicios


Introducción

La extensión socket implementa una interfaz de bajo nivel para las funciones de comunicación de sockets basadas en los populares sockets de BSD, proporcionando la posibilidad de actuar tanto como servidor como cliente del socket.

Para una interfaz de sockets del lado del cliente más genérica, véase
 stream_socket_client(),
 stream_socket_server(),
 fsockopen(), y
 pfsockopen().

Cuando se usan estas fuciones es importante recordar que, mientras muchas de ellas tienen nombres idénticos a sus equivalentes en C, a menudo tienen declaraciones diferentes. Por favor, asegúrese de leer las descripciones para evitar confusiones.

Aquellos que no estén familiarizados con la programación de sockets pueden encontrar un montón de material útil en las páginas de manual apropiadas de Unix, y existe mucha información en forma de tutorial sobre la programación de sockets en C en la web, muchos de los cuales se pueden aplicar, con ligeras modificaciones, a la programación de sockets en PHP. La » FAQ de Sockets de Unix podría ser un buen comienzo.

Sockets
Instalación/Configuración
Sockets


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Sockets


Instalación

Las funciones de socket descritas aquí son parte de una extensión de PHP que debe ser habilitada en tiempo de compilación dando la opción --enable-sockets a configure.

Nota: El soporte IPv6 fue agregado en PHP 5.0.0.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

Los recursos socket devueltos por  socket_accept(),
 socket_create_listen() y
 socket_create().

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

AF_UNIX (integer)
AF_INET (integer)
AF_INET6 (integer)
Sólo disponible si se compila con soporte para IPv6.
SOCK_STREAM (integer)
SOCK_DGRAM (integer)
SOCK_RAW (integer)
SOCK_SEQPACKET (integer)
SOCK_RDM (integer)
MSG_OOB (integer)
MSG_WAITALL (integer)
MSG_PEEK (integer)
MSG_DONTROUTE (integer)
MSG_EOR (integer)
No disponible en plataformas Windows.
MSG_EOF (integer)
No disponible en plataformas Windows.
SO_DEBUG (integer)
SO_REUSEADDR (integer)
SO_REUSEPORT (integer)
Esta constante únicamente está disponible en PHP 5.4.10 o posterior en plataformas que admiten la opción de socket SO_REUSEPORT : esto incluye Mac OS X y FreeBSD, pero no incluye Linux o Windows.
SO_KEEPALIVE (integer)
SO_DONTROUTE (integer)
SO_LINGER (integer)
SO_BROADCAST (integer)
SO_OOBINLINE (integer)
SO_SNDBUF (integer)
SO_RCVBUF (integer)
SO_SNDLOWAT (integer)
SO_RCVLOWAT (integer)
SO_SNDTIMEO (integer)
SO_RCVTIMEO (integer)
SO_TYPE (integer)
SO_ERROR (integer)
TCP_NODELAY (integer)
Usada para deshabilitar el algoritmo Nagle TCP. Añadido en PHP 5.2.7.
SOL_SOCKET (integer)
PHP_NORMAL_READ (integer)
PHP_BINARY_READ (integer)
SOL_TCP (integer)
SOL_UDP (integer)

Las siguientes constantes están definidas bajo plataformas Windows y similares a UNIX. Cada constante sólo está definida si su equivalente está disponible en la plataforma.

SOCKET_EINTR (integer)
Llamada al sistema interrumpida
SOCKET_EBADF (integer)
Número de fichero corrupto.
SOCKET_EACCES (integer)
Permiso denegado.
SOCKET_EFAULT (integer)
Dirección corrupta.
SOCKET_EINVAL (integer)
Argumento no válido
SOCKET_EMFILE (integer)
Demasiados ficheros abiertos.
SOCKET_ENAMETOOLONG (integer)
Nombre de fichero demasiado largo.
SOCKET_ENOTEMPTY (integer)
Directorio no vacío.
SOCKET_ELOOP (integer)
Demasiados enlaces simbólicos encontrados.
SOCKET_EWOULDBLOCK (integer)
La operación podría bloquear.
SOCKET_EREMOTE (integer)
El objeto es remoto.
SOCKET_EUSERS (integer)
Demasiados usuarios.
SOCKET_ENOTSOCK (integer)
Operación de socket en algo que no es socket.
SOCKET_EDESTADDRREQ (integer)
Se requiere la dirección de destino.
SOCKET_EMSGSIZE (integer)
Mensaje demasiado largo.
SOCKET_EPROTOTYPE (integer)
Tipo erróneo de protocolo para el socket.
SOCKET_EPROTONOSUPPORT (integer)
Tipo de socket no soportado.
SOCKET_ESOCKTNOSUPPORT (integer)
Tipo de socket no soportado.
SOCKET_EOPNOTSUPP (integer)
Operación no soportada en el extremo del transporte.
SOCKET_EPFNOSUPPORT (integer)
Familia de protocolos no soportada.
SOCKET_EAFNOSUPPORT (integer)
Familia de direcciones no soportada por el protocolo.
SOCKET_EADDRNOTAVAIL (integer)
No se puede asignar la dirección solicitada.
SOCKET_ENETDOWN (integer)
La red está caída.
SOCKET_ENETUNREACH (integer)
La red es inalcanzable.
SOCKET_ENETRESET (integer)
La conexión a la red se cayó a causa de un reinicio.
SOCKET_ECONNABORTED (integer)
Algún software causó el aborto de conexión.
SOCKET_ECONNRESET (integer)
Conexión reiniciada por un par.
SOCKET_ENOBUFS (integer)
No hay espacio de buffer disponible.
SOCKET_EISCONN (integer)
El extremo de transporte ya está conectado.
SOCKET_ENOTCONN (integer)
El extremo de transporte no está conectado.
SOCKET_ESHUTDOWN (integer)
No se puede enviar después del cierre del extremo de transporte.
SOCKET_ETIMEDOUT (integer)
La conexión agotó su tiempo.
SOCKET_ECONNREFUSED (integer)
Conexión rechazada.
SOCKET_EHOSTDOWN (integer)
El host está caído.
SOCKET_EHOSTUNREACH (integer)
No hay ruta hacia el host.
SOCKET_EALREADY (integer)
La operación ya está en progreso.
SOCKET_EINPROGRESS (integer)
La operación ahora está en progreso.

Las siguientes constantes sólo están definidas bajo Windows.

SOCKET_ENOPROTOOPT (integer)
SOCKET_EADDRINUSE (integer)
SOCKET_ETOOMYREFS (integer)
SOCKET_EPROCLIM (integer)
SOCKET_EDUOT (integer)
SOCKET_ESTALE (integer)
SOCKET_EDISCON (integer)
SOCKET_SYSNOTREADY (integer)
SOCKET_VERNOTSUPPORTED (integer)
SOCKET_NOTINITIALISED (integer)
SOCKET_HOST_NOT_FOUND (integer)
SOCKET_TRY_AGAIN (integer)
SOCKET_NO_RECOVERY (integer)
SOCKET_NO_DATA (integer)
SOCKET_NO_ADDRESS (integer)

Las siguientes constantes sólo están disponibles en plataformas similares a UNIX. Cada constante sólo está definida si su equivalente está disponible en la plataforma.

SOCKET_EPERM (integer)
Operación no permitida.
SOCKET_ENOENT (integer)
No existe el archivo o directorio.
SOCKET_EIO (integer)
Error I/O (Entrada/Salida).
SOCKET_ENXIO (integer)
No existe el dispositivo o dirección.
SOCKET_E2BIG (integer)
Lista de argumentos demasiado larga.
SOCKET_EAGAIN (integer)
Intentar de nuevo.
SOCKET_ENOMEM (integer)
Memoria insuficiente.
SOCKET_ENOTBLK (integer)
Se requiere un dispositivo de bloque.
SOCKET_EBUSY (integer)
Dispositivo o recurso ocupado.
SOCKET_EEXIST (integer)
El archivo ya exite.
SOCKET_EXDEV (integer)
Vínculo de dispositivo cruzado.
SOCKET_ENODEV (integer)
No existe el dispositivo.
SOCKET_ENOTDIR (integer)
No es un directorio.
SOCKET_EISDIR (integer)
Es un directorio.
SOCKET_ENFILE (integer)
Desbordamiento de la tabla de archivos.
SOCKET_ENOTTY (integer)
No es un terminal informático.
SOCKET_ENOSPC (integer)
No queda espacio en el dispositivo.
SOCKET_ESPIPE (integer)
Búsqueda ilegal.
SOCKET_EROFS (integer)
Sistema de archivos de sólo lectura.
SOCKET_EMLINK (integer)
Demasiados enlaces.
SOCKET_EPIPE (integer)
Tubería rota.
SOCKET_ENOLCK (integer)
No hay disponibles bloqueos de registro.
SOCKET_ENOSYS (integer)
Función no implementada.
SOCKET_ENOMSG (integer)
No hay mensaje del tipo deseado.
SOCKET_EIDRM (integer)
Identificador eliminado.
SOCKET_ECHRNG (integer)
Número de canal fuera de rango.
SOCKET_EL2NSYNC (integer)
Nivel 2 no sincronizado.
SOCKET_EL3HLT (integer)
Nivel 3 detenido.
SOCKET_EL3RST (integer)
Nivel 3 reiniciado.
SOCKET_ELNRNG (integer)
Número de enlace fuera de rango.
SOCKET_EUNATCH (integer)
Controlador de protocolo no adjunto.
SOCKET_ENOCSI (integer)
No hay disponible una estructura CSI.
SOCKET_EL2HLT (integer)
Nivel 2 detenido.
SOCKET_EBADE (integer)
Intercambio no válido.
SOCKET_EBADR (integer)
Descriptor de solicitud no válido.
SOCKET_EXFULL (integer)
Intercambio lleno.
SOCKET_ENOANO (integer)
Sin ánodo.
SOCKET_EBADRQC (integer)
Código de solicitud no válido.
SOCKET_EBADSLT (integer)
Ranura no válida.
SOCKET_ENOSTR (integer)
El dispositivo no es un flujo.
SOCKET_ENODATA (integer)
No hay información disponible.
SOCKET_ETIME (integer)
Temporizador caducado.
SOCKET_ENOSR (integer)
Sin recursos de flujos.
SOCKET_ENONET (integer)
La máquina no está en la red.
SOCKET_ENOLINK (integer)
El enlace ha sido servido.
SOCKET_EADV (integer)
Error de anuncio.
SOCKET_ESRMNT (integer)
Error de Srmount.
SOCKET_ECOMM (integer)
Error de comunicación al enviar.
SOCKET_EPROTO (integer)
Error de protocolo.
SOCKET_EMULTIHOP (integer)
Se intentó un multi-salto (hop).
SOCKET_EBADMSG (integer)
No es un mensaje de datos.
SOCKET_ENOTUNIQ (integer)
El nombre no es único en la red.
SOCKET_EBADFD (integer)
Descriptor de archivo en mal estado.
SOCKET_EREMCHG (integer)
Dirección remota cambiada.
SOCKET_ERESTART (integer)
La llamada al sistema interrumpida debería ser reiniciada.
SOCKET_ESTRPIPE (integer)
Error de tubería de flujos.
SOCKET_EPROTOOPT (integer)
Protocolo no disponible.
SOCKET_ADDRINUSE (integer)
La dirección ya está en uso.
SOCKET_ETOOMANYREFS (integer)
Demasiadas referencias: unión no posible.
SOCKET_EISNAM (integer)
Es un archivo de tipo nominado.
SOCKET_EREMOTEIO (integer)
Error de E/S remoto.
SOCKET_EDQUOT (integer)
Cuota excedida.
SOCKET_ENOMEDIUM (integer)
No se encontró el medio.
SOCKET_EMEDIUMTYPE (integer)
Tipo de medio erróneo.
Tipos de recursos
Ejemplos
Sockets


Ejemplos

Ejemplo #1 Ejemplo de socket: Servidor TCP/IP sencillo

Este ejemplo muestra una respuesta de servidor simple. Cambie las variables address y port para ajustar su configuración y ejecútelo. Debe después conectar el servidor con un comando similar a: telnet 192.168.1.53 10000 (donde la dirección y el puerto deben coincidir con su cofiguración). Cualquier cosa que escriba será impresa en el lado del servidor, y vuelta a repetir (echo) para usted. Para desconectar, introduzca 'quit'.

#!/usr/local/bin/php -q
<?php
error_reporting(E_ALL);

/* Permitir al script esperar para conexiones. */
set_time_limit(0);

/* Activar el volcado de salida implícito, así veremos lo que estamo obteniendo
 * mientras llega. */
ob_implicit_flush();

$address = '192.168.1.53';
$port = 10000;

if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) {
    echo "socket_create() falló: razón: " . socket_strerror(socket_last_error()) . "\n";
}

if (socket_bind($sock, $address, $port) === false) {
    echo "socket_bind() falló: razón: " . socket_strerror(socket_last_error($sock)) . "\n";
}

if (socket_listen($sock, 5) === false) {
    echo "socket_listen() falló: razón: " . socket_strerror(socket_last_error($sock)) . "\n";
}

do {
    if (($msgsock = socket_accept($sock)) === false) {
        echo "socket_accept() falló: razón: " . socket_strerror(socket_last_error($sock)) . "\n";
        break;
    }
    /* Enviar instrucciones. */
    $msg = "\nBienvenido al Servidor De Prueba de PHP. \n" .
        "Para salir, escriba 'quit'. Para cerrar el servidor escriba 'shutdown'.\n";
    socket_write($msgsock, $msg, strlen($msg));

    do {
        if (false === ($buf = socket_read($msgsock, 2048, PHP_NORMAL_READ))) {
            echo "socket_read() falló: razón: " . socket_strerror(socket_last_error($msgsock)) . "\n";
            break 2;
        }
        if (!$buf = trim($buf)) {
            continue;
        }
        if ($buf == 'quit') {
            break;
        }
        if ($buf == 'shutdown') {
            socket_close($msgsock);
            break 2;
        }
        $talkback = "PHP: Usted dijo '$buf'.\n";
        socket_write($msgsock, $talkback, strlen($talkback));
        echo "$buf\n";
    } while (true);
    socket_close($msgsock);
} while (true);

socket_close($sock);
?>

Ejemplo #2 Ejemplo de socket: Cliente TCP/IP sencillo

Este ejemplo muestra un simple, único cliente HTTP. Simplemente se conecta a una página, envía una petición HEAD, repite la réplica, y sale.

<?php
error_reporting(E_ALL);

echo "<h2>TCP/IP Connection</h2>\n";

/* Obtener el puerto para el servicio WWW. */
$service_port = getservbyname('www', 'tcp');

/* Obtener la dirección IP para el host objetivo. */
$address = gethostbyname('www.example.com');

/* Crear un socket TCP/IP. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
    echo "socket_create() falló: razón: " . socket_strerror(socket_last_error()) . "\n";
} else {
    echo "OK.\n";
}

echo "Intentando conectar a '$address' en el puerto '$service_port'...";
$result = socket_connect($socket, $address, $service_port);
if ($result === false) {
    echo "socket_connect() falló.\nRazón: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
} else {
    echo "OK.\n";
}

$in = "HEAD / HTTP/1.1\r\n";
$in .= "Host: www.example.com\r\n";
$in .= "Connection: Close\r\n\r\n";
$out = '';

echo "Enviando petición HTTP HEAD ...";
socket_write($socket, $in, strlen($in));
echo "OK.\n";

echo "Leyendo respuesta:\n\n";
while ($out = socket_read($socket, 2048)) {
    echo $out;
}

echo "Cerrando socket...";
socket_close($socket);
echo "OK.\n\n";
?>

Constantes predefinidas
Errores de Socket
Sockets


Errores de Socket

La extensión socket fue escrita para proporcionar una interfaz utilizable para los poderosos sockets de BSD. Se ha tenido cuidado en hacer que las funciones trabajen igualmente bien en implementaciones de Win32 y Unix. Casi todas las funciones de sockets pueden fallar bajo ciertas condiciones y por lo tanto emitir un mensaje E_WARNING describiendo el error. Algunas veces esto no ocurre para los deseos del desarrollador. Por ejemplo, la función socket_read() puede de pronto emitir un mensaje E_WARNING porque la conexión se quebró de improvisto. Es común suprimir la advertencia con el operador @ y capturar el código de error dentro de la aplicación con la función socket_last_error(). Se puede llamar a la función socket_strerror() con este código de error para recuperar una cadena describiendo el error. Vea su descripción para más información.

Nota:

Los mensajes E_WARNING generados por la extensión socket están en inglés aunque el mensaje de error recuperado aparecéra según la configuración regional actual (LC_MESSAGES):

Warning - socket_bind() unable to bind address [98]: Die Adresse wird bereits verwendet

Ejemplos
Funciones de Socket
Sockets


Funciones de Socket

Tabla de contenidos

  • socket_accept — Acepta una conexión de un socket
  • socket_bind — Vincula un nombre a un socket
  • socket_clear_error — Limpia el error del socket o el último código de error
  • socket_close — Cierra un recurso socket
  • socket_cmsg_space — Calcular el tamaño del búfer de mensajes
  • socket_connect — Inicia una conexión sobre un socket
  • socket_create_listen — Abre un socket en un puerto para aceptar conxiones
  • socket_create_pair — Crea un par de sockets indistinguibles y los almacena en una matriz
  • socket_create — Crear un socket (extremo de comunicación)
  • socket_get_option — Obtiene las opciones de socket para el socket
  • socket_getpeername — Pregunta a la parte remota del socket dado que puede resultar en un host/puerto o en una ruta de sistema de archivos Unix, dependiendo de su tipo
  • socket_getsockname — Preguntar a la parte local del socket dado que puede resultar en un host/puerto o en una ruta de sistema de archivos Unix, dependiendo de su tipo
  • socket_import_stream — Importar un flujo a stream
  • socket_last_error — Devuelve el último error sobre un socket
  • socket_listen — Escucha una conexión sobre un socket
  • socket_read — Lee un máximo de longitud de bytes desde un socket
  • socket_recv — REcibe información desde un socket conectado
  • socket_recvfrom — Recibe información desde un socket que esté o no orientado a conexión
  • socket_recvmsg — Leer un mensaje
  • socket_select — Ejecuta la llamada a select() del sistema sobre las matrices de sockets dadas con un tiempo límite especificado
  • socket_send — Envía información a un socket conectado
  • socket_sendmsg — Enviar un mensaje
  • socket_sendto — Envía un mensaje a un socket, ya esté conectado o no
  • socket_set_block — Establece el modo de bloqueo de un recurso socket
  • socket_set_nonblock — Establece el modo de no-bloqueo para el descriptor de archivo fd
  • socket_set_option — Establece las opciones de socket para el socket
  • socket_shutdown — Cierra un socket para dejar de recibir, enviar, o ambos
  • socket_strerror — Devuelve una cadena que describe un error de socket
  • socket_write — Escribir en un socket
Errores de Socket
socket_accept
Sockets


Acepta una conexión de un socket

Funciones de Socket
socket_bind
Funciones de Socket
PHP Manual

socket_accept

(PHP 4 >= 4.1.0, PHP 5)

socket_accept — Acepta una conexión de un socket

Descripción

resource socket_accept ( resource $socket )

Después de que se haya creado el socket socket usando socket_create(), vinculado a un nombre con socket_bind(), e indicado que escuche conexiones con socket_listen(), esta función aceptará nonexiones entrantes sobre ese socket. Una vez que se realice una conexión con éxito, se devolverá un nuevo recurso socket, que puede ser usado para comunicación. Si hay múltiples conexiones en cola sobre el socket se usará el primero. Si no hay conexiones pendientes, socket_accept() bloqueará hasta que que esté presente una conexión. Si socket ha sido hecho como de no-bloqueo usando socket_set_blocking() o socket_set_nonblock(), se devolverá FALSE.

El recurso socket devuelto por socket_accept() puede no ser usado para aceptar nuevas conexiones. Sin embargo, el socket de escucha original, socket, permanece abierto y puede ser reutilizado.

Parámetros

socket

Un recurso socket válido creado con socket_create().

Valores devueltos

Devuelve un nuevo recurso socket en caso de éxito, o FALSE en caso de error. El código de error real se puede recuperar llamanado a socket_last_error(). Este código de error se puede pasar a socket_strerror() para obtener una explicación textual del error.

Ver también

  • socket_connect() - Inicia una conexión sobre un socket
  • socket_listen() - Escucha una conexión sobre un socket
  • socket_create() - Crear un socket (extremo de comunicación)
  • socket_bind() - Vincula un nombre a un socket
  • socket_strerror() - Devuelve una cadena que describe un error de socket

Funciones de Socket
socket_bind
Funciones de Socket


Vincula un nombre a un socket

socket_accept
socket_clear_error
Funciones de Socket
PHP Manual

socket_bind

(PHP 4 >= 4.1.0, PHP 5)

socket_bind — Vincula un nombre a un socket

Descripción

bool socket_bind ( resource $socket , string $address [, int $port = 0 ] )

Vincula el nombre dado en address al socket descrito por socket. Esto tiene que ser hecho antes de establecer una conexión usando socket_connect() o socket_listen().

Parámetros

socket

Un recurso socket válido creado con socket_create().

address

Si el socket es de la familia AF_INET, address es una IP en notación decimal con puntos (p.ej. 127.0.0.1).

Si el socket es de la familia AF_UNIX, address es una ruta de un socket de dominio Unix (p.ej. /tmp/my.sock).

port (Optional)

El parámetro port sólo se usa cuando se vincula un socket AF_INET, y designa el puerto en el que escuchar conexiones.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

El código de error se puede recuperar con socket_last_error(). Este código puede pasarse a socket_strerror() para obtener una explicación textual del error.

Ejemplos

Ejemplo #1 Usar socket_bind() para establecer la dirección de origen

<?php
// Crear un nuevo socket
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

// Una lista de ejemplo de direcciones IP pertenecientes al ordenador
$sourceips['kevin']    = '127.0.0.1';
$sourceips['madcoder'] = '127.0.0.2';

// Vincular la dirección de origen
socket_bind($sock, $sourceips['madcoder']);

// Conectar a la dirección de destino
socket_connect($sock, '127.0.0.1', 80);

// Escribir
$request = 'GET / HTTP/1.1' . "\r\n" .
           'Host: example.com' . "\r\n\r\n";
socket_write($sock, $request);

// Cerrar
socket_close($sock);

?>

Notas

Nota:

ESta función se debe usar sobre el socket antes de socket_connect().

Nota:

Observación de compatibilidad con Windows 9x/ME: socket_last_error() puede devolver un código de error no válido si intenta vincular el socket a una dirección errónea que no pertenece a su máquina.

Ver también

  • socket_connect() - Inicia una conexión sobre un socket
  • socket_listen() - Escucha una conexión sobre un socket
  • socket_create() - Crear un socket (extremo de comunicación)
  • socket_last_error() - Devuelve el último error sobre un socket
  • socket_strerror() - Devuelve una cadena que describe un error de socket

socket_accept
socket_clear_error
Funciones de Socket


Limpia el error del socket o el último código de error

socket_bind
socket_close
Funciones de Socket
PHP Manual

socket_clear_error

(PHP 4 >= 4.2.0, PHP 5)

socket_clear_error — Limpia el error del socket o el último código de error

Descripción

void socket_clear_error ([ resource $socket ] )

Esta función limpia el código de error del socket dado o el último error global de socket si no se especifica un socket.

Esta función permite reiniciar explícitamente el valor del código de error de un socket o del último código de error global de extensión. Puede ser útil para detectar si ocurrió un error dentro de una parte de la aplicación.

Parámetros

socket

Un recurso socket válido creado con socket_create().

Valores devueltos

No devuelve ningún valor.

Ver también

  • socket_last_error() - Devuelve el último error sobre un socket
  • socket_strerror() - Devuelve una cadena que describe un error de socket

socket_bind
socket_close
Funciones de Socket


Cierra un recurso socket

socket_clear_error
socket_cmsg_space
Funciones de Socket
PHP Manual

socket_close

(PHP 4 >= 4.1.0, PHP 5)

socket_close — Cierra un recurso socket

Descripción

void socket_close ( resource $socket )

socket_close() cierra el recurso socket dado por socket. Esta función es específica para sockets y no se puede usar en otros tipos de recursos.

Parámetros

socket

Un recurso socket válido creado con socket_create() o socket_accept().

Valores devueltos

No devuelve ningún valor.

Ver también

  • socket_bind() - Vincula un nombre a un socket
  • socket_listen() - Escucha una conexión sobre un socket
  • socket_create() - Crear un socket (extremo de comunicación)
  • socket_strerror() - Devuelve una cadena que describe un error de socket

socket_clear_error
socket_cmsg_space
Funciones de Socket


Calcular el tamaño del búfer de mensajes

socket_close
socket_connect
Funciones de Socket
PHP Manual

socket_cmsg_space

(PHP 5 >= 5.5.0)

socket_cmsg_space — Calcular el tamaño del búfer de mensajes

Descripción

int socket_cmsg_space ( int $level , int $type )

Calcula el tamaño del búfer que debería ser asignado para recibir datos subordinados.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

level

type

Valores devueltos

Ver también

  • socket_recvmsg() - Leer un mensaje
  • socket_sendmsg() - Enviar un mensaje

socket_close
socket_connect
Funciones de Socket


Inicia una conexión sobre un socket

socket_cmsg_space
socket_create_listen
Funciones de Socket
PHP Manual

socket_connect

(PHP 4 >= 4.1.0, PHP 5)

socket_connect — Inicia una conexión sobre un socket

Descripción

bool socket_connect ( resource $socket , string $address [, int $port = 0 ] )

Iniia una conexión hacia address usando el recurso socket socket, el cual debe ser un recurso socket válido creado con socket_create().

Parámetros

socket

address

El parámetro address es una dirección IPv4 en notación decimal con puntos (p.ej. 127.0.0.1) si socket es AF_INET, una dirección IPv6 válida (p.ej. ::1) si está habilitado el soporte para IPv6 y socket es AF_INET6 o el nombre de ruta de un socket de dominio Unix, si la familia de sockets es AF_UNIX.

port

El parámetro port sólo se usa y es obligatoria al conectarse a un socket AF_INET o a un socket AF_INET6, y desgina el puerto del host remoto al que debería de hacerse una conexión.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. El código de error se puede recurperar con socket_last_error(). Este código se puede pasar a socket_strerror() para obtener una explicación textual del error.

Nota:

Si el socket es de no-bloqueo, esta función devolverá FALSE con un error Operation now in progress (La operación está en progreso).

Ver también

  • socket_bind() - Vincula un nombre a un socket
  • socket_listen() - Escucha una conexión sobre un socket
  • socket_create() - Crear un socket (extremo de comunicación)
  • socket_last_error() - Devuelve el último error sobre un socket
  • socket_strerror() - Devuelve una cadena que describe un error de socket

socket_cmsg_space
socket_create_listen
Funciones de Socket


Abre un socket en un puerto para aceptar conxiones

socket_connect
socket_create_pair
Funciones de Socket
PHP Manual

socket_create_listen

(PHP 4 >= 4.1.0, PHP 5)

socket_create_listen — Abre un socket en un puerto para aceptar conxiones

Descripción

resource socket_create_listen ( int $port [, int $backlog = 128 ] )

socket_create_listen() crea un nuevo recurso socket de tipo AF_INET que escucha en todas las interfaces locales del puerto dado esperando para nuevas conexiones.

Esta función tiene la intención de facilitar la tarea de crear un nuevo socket que sólo escuche para aceptar nuevas conexiones.

Parámetros

port

El puerto en el que escuchar todas las interfaces.

backlog

El parámetro backlog define la longitud máxima a la que puede aumentar la cola de conexiones pendientes. Se puede pasar SOMAXCONN como el parámetro backlog, véase socket_listen() para más información.

Valores devueltos

socket_create_listen() devuelve un nuevo recurso socket en caso de éxito o FALSE en caso de error. El código de error de puede recuperar con socket_last_error(). Este código se puede pasar a socket_strerror() para obtener una explicación textual del error.

Notas

Nota:

Si quiere crear un socket que sólo escuche una cierta interfaz tiene que usar socket_create(), socket_bind() y socket_listen().

Ver también

  • socket_create() - Crear un socket (extremo de comunicación)
  • socket_create_pair() - Crea un par de sockets indistinguibles y los almacena en una matriz
  • socket_bind() - Vincula un nombre a un socket
  • socket_listen() - Escucha una conexión sobre un socket
  • socket_last_error() - Devuelve el último error sobre un socket
  • socket_strerror() - Devuelve una cadena que describe un error de socket

socket_connect
socket_create_pair
Funciones de Socket


Crea un par de sockets indistinguibles y los almacena en una matriz

socket_create_listen
socket_create
Funciones de Socket
PHP Manual

socket_create_pair

(PHP 4 >= 4.1.0, PHP 5)

socket_create_pair — Crea un par de sockets indistinguibles y los almacena en una matriz

Descripción

bool socket_create_pair ( int $domain , int $type , int $protocol , array &$fd )

socket_create_pair() crea dos sockets conectados e indistinguibles y los almacena en fd. Esta función se usa comúnmente en IPC (InterProcess Communication - Comunicación entre procesos).

Parámetros

domain

El parámetro domain especifica la familia de protocolos que se va a usar en el socket. Véase socket_create() para la lista completa.

type

El parámetro type selecciona el tipo de comunicación que va a usar el socket. Véase socket_create() para la lista completa.

protocol

El parámetro protocol establece el protocolo específico dentro del domain especificado a usar cuando se comunica con el socket devuelto. El valor apropiado se puede recuperar por nombre usando getprotobyname(). Si el protocolo deseado es TCP, o UDP, se pueden usar también las constantes SOL_TCP, y SOL_UDP correspondientes.

Véase socket_create() para la lista completa de protocolos soportados.

fd

Referencia a una matriz en la cuál los dos recursos socket serán insertados.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.3.0 | Esta función ahora es rehabilitada en plataformas Windows.
4.3.0 | Esta función no estaba disponible en plataformas Windows a causa de un error.

Ejemplos

Ejemplo #1 Ejemplo de socket_create_pair()

<?php
$sockets = array();

/* En Windows necesitamos usar AF_INET */
$domain = (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN' ? AF_INET : AF_UNIX);

/* Configurar el par de sockets */
if (socket_create_pair($domain, SOCK_STREAM, 0, $sockets) === false) {
    echo "socket_create_pair failed. Reason: ".socket_strerror(socket_last_error());
}
/* Enviar y Recibir Información */
if (socket_write($sockets[0], "ABCdef123\n", strlen("ABCdef123\n")) === false) {
    echo "socket_write() failed. Reason: ".socket_strerror(socket_last_error($sockets[0]));
}
if (($data = socket_read($sockets[1], strlen("ABCdef123\n"), PHP_BINARY_READ)) === false) {
    echo "socket_read() failed. Reason: ".socket_strerror(socket_last_error($sockets[1]));
}
var_dump($data);

/* Cerrar los sockets */
socket_close($sockets[0]);
socket_close($sockets[1]);
?>

Ejemplo #2 Ejemplo IPC de socket_create_pair()

<?php
$ary = array();
$strone = 'Mensaje del Padre.';
$strtwo = 'Mensaje del Hijo.';

if (socket_create_pair(AF_UNIX, SOCK_STREAM, 0, $ary) === false) {
    echo "socket_create_pair() failed. Reason: ".socket_strerror(socket_last_error());
}
$pid = pcntl_fork();
if ($pid == -1) {
    echo 'Could not fork Process.';
} elseif ($pid) {
    /*padre*/
    socket_close($ary[0]);
    if (socket_write($ary[1], $strone, strlen($strone)) === false) {
        echo "socket_write() failed. Reason: ".socket_strerror(socket_last_error($ary[1]));
    }
    if (socket_read($ary[1], strlen($strtwo), PHP_BINARY_READ) == $strtwo) {
        echo "Recieved $strtwo\n";
    }
    socket_close($ary[1]);
} else {
    /*hijo*/
    socket_close($ary[1]);
    if (socket_write($ary[0], $strtwo, strlen($strtwo)) === false) {
        echo "socket_write() failed. Reason: ".socket_strerror(socket_last_error($ary[0]));
    }
    if (socket_read($ary[0], strlen($strone), PHP_BINARY_READ) == $strone) {
        echo "Recieved $strone\n";
    }
    socket_close($ary[0]);
}
?>

Ver también

  • socket_create() - Crear un socket (extremo de comunicación)
  • socket_create_listen() - Abre un socket en un puerto para aceptar conxiones
  • socket_bind() - Vincula un nombre a un socket
  • socket_listen() - Escucha una conexión sobre un socket
  • socket_last_error() - Devuelve el último error sobre un socket
  • socket_strerror() - Devuelve una cadena que describe un error de socket

socket_create_listen
socket_create
Funciones de Socket


Crear un socket (extremo de comunicación)

socket_create_pair
socket_get_option
Funciones de Socket
PHP Manual

socket_create

(PHP 4 >= 4.1.0, PHP 5)

socket_create — Crear un socket (extremo de comunicación)

Descripción

resource socket_create ( int $domain , int $type , int $protocol )

Crea y devuelve un recurso socket, también referido como un extremo de comunicación. Una conexión típica de red está constituida por 2 sockets, uno realizando el papel del cliente, y otro realizando el papel del servidor.

Parámetros

domain

El parámetro domain especifica la familia de protocolos que va a usar por el socket.

Available address/protocol families
Dominio | Descripción
AF_INET | Protocolos basados en Internet IPv4. TCP y UDP son protocolos comunes de esta familia de protocolos.
AF_INET6 | Protocolos basados en Internet IPv6. TCP y UDP son protocolos comunes de esta familia de protocolos.
AF_UNIX | Familia de protocolos de comunicación local. Alta eficacia y baja sobrecarga la hacen una gran forma de IPC (Interprocess Communication - Comunicación entre procesos).
type

El parámetro type selecciona el tipo de comunicación que va a usar el socket.

Tipos de sockets disponibles
Tipo | Descripción
SOCK_STREAM | Proporciona flujos de bytes orientados a conexión, secuenciados, fiables y full-duplex. Puede soportar un mecanismo de transmisión fuera de banda. El protocolo TCP está basado en este tipo de socket.
SOCK_DGRAM | Soporta datagramas (no orientado a conexión, mensajes no fiables de una longitud máxima). El protocolo UDP está basado en este tipo de socket.
SOCK_SEQPACKET | Proporciona una ruta de transmisión de datos orientada a conexión secuenciada, fiable, de dos direcciones para datagramas de longitud máxima fija; se requiere un consumidor para leer un paquete entero con cada llamada de lectura.
SOCK_RAW | Proporciona acceso al protocolo de red sin formato. Este tipo especial de socket se puede usar para construir manualmente cualquier tipo de protocolo. Un uso común para este socket es realizar solicitudes ICMP (como ping).
SOCK_RDM | Proporcional una capa de datagramas fiable que no garantiza el orden. Lo más seguro es que esto no esté implementado en su sistema operativo.
protocol

El parámetro protocol establece el protocolo específico dentro del domain especificado a usar al comunicarse con el socket devuelto. El valor apropiado puede ser recuperado por su nombre usando getprotobyname(). Si el protocolo deseado es TCP o UDP, también se pueden usar las constantes SOL_TCP, y SOL_UDP correspondientes.

Protocolos comunes
Nombre | Descripción
icmp | Internet Control Message Protocol (Protocolo de Mensajes de Control de Internet) es usado principalmente por pasarelas y hosts para notificar errores en la comunicación por datagramas. El comando "ping" (presente en la mayoría de los sistemas operativos modernos) es un ejemplo de la aplicación del ICMP.
udp | User Datagram Protocol (Protocolo de Datagramas de Usuario) es un protocolo no orientado a conexión, no fiable, con longitud de registros fija. A causa de estos aspectos, UDP requiere una cantidad mínima de sobrecarga del protocolo.
tcp | Transmission Control Protocol (Protocolo de Control de Transmisión) es un protocolo fiable orientado a conexión, orientado a flujo, full duplex. TCP garantiza que todos los paquetes de datos serán recibidos en el orden en el que fueron enviados. Si algún paquete se pierde por alguna razón durante la comunicación, TCP automáticamente retransmitirá el paquete hasta que el host destino adminta ese paquete. Por razones de fiabilidad y rendimiento, la implementación de TCP decide por sí misma los límites apropiados de los octetos de la capa de comunicación de datagramas subyacente. Por lo tanto, las aplicaciones TCP deben permitir la posibilidad de transmisión de resgistros parciales.

Valores devueltos

socket_create() devuelve un recurso socket en caso de éxito, o FALSE en caso de error. El código de error real se puede recuperar llamando a socket_last_error(). Este código de error se puede pasar a socket_strerror() para obtener una explicación textual del error.

Historial de cambios

Versión | Descripción
5.0.0 | Se añadió la constante AF_INET6.

Errores/Excepciones

Si se da un domain o type no válido, socket_create() los pone por defecto a AF_INET y SOCK_STREAM respectivamente y además emite un mensaje E_WARNING.

Ver también

  • socket_accept() - Acepta una conexión de un socket
  • socket_bind() - Vincula un nombre a un socket
  • socket_connect() - Inicia una conexión sobre un socket
  • socket_listen() - Escucha una conexión sobre un socket
  • socket_last_error() - Devuelve el último error sobre un socket
  • socket_strerror() - Devuelve una cadena que describe un error de socket

socket_create_pair
socket_get_option
Funciones de Socket


Obtiene las opciones de socket para el socket

socket_create
socket_getpeername
Funciones de Socket
PHP Manual

socket_get_option

(PHP 4 >= 4.3.0, PHP 5)

socket_get_option — Obtiene las opciones de socket para el socket

Descripción

mixed socket_get_option ( resource $socket , int $level , int $optname )

La función socket_get_option() recupera el valor de la opción especificada por el parámetro optname para el socket especificado.

Parámetros

socket

Un recurso socket válido creado con socket_create() o socket_accept().

level

El parámetro level especifica el nivel de protcolo en el que reside la opción. Por ejemplo, para recuperar las opciones al nivel de socket se usaría un parámetro level de SOL_SOCKET. Se puden usar otros niveles como TCP especificando el número de protocolo de ese nivel. Los números de protocolo se pueden averiguar usando la función getprotobyname().

optname
Opciones de Socket Disponibles
Opción | Descripción | Tipo
SO_DEBUG | Informa si la información de depuración está siendo registrada. | int
SO_BROADCAST | Informa si la transmisión de mensajes de emisión está soportada. | int
SO_REUSEADDR | Informa si las direcciones locales pueden ser rechazadas. | int
SO_KEEPALIVE | Informa si las conexiones se mantienen activas con transmisiones periódicas de mensajes. Si el socket conectado falla al responder a estos mensajes, la conexión es interrumpida y los procesos que escriben en ese socket son notificados con una señal SIGPIPE. | int
SO_LINGER

Informa si el socket perdura en socket_close() si la información está presente. Por omisión, cuando el socket se cierra, se intenta enviar toda la información no enviada. En el caso de un socket orientado a conexión, socket_close() esperará a su par para admitir la información.

Si l_onoff no es cero y l_linger es cero, toda la información no enviada será desechada y se envía RST (reinicio) al par en el caso de un socker orientado a conexión.

Por otro lado, si l_onoff no es cero y l_linger no es cero, socket_close() bloqueará hasta que toda la información sea enviada o transcurra el tiempo especificado en l_linger. Si el socket es de no-bloqueo, socket_close() fallará y devolverá un error.

array. La matriz contendrá dos claves: l_onoff y l_linger.
SO_OOBINLINE | Informa si el socket deja información fuera de banda en línea. | int
SO_SNDBUF | Informa del tamaño del buffer de envío. | int
SO_RCVBUF | Informa del tamaño del buffer de recepción. | int
SO_ERROR | Da información sobre el estado de error y lo limpia. | int (no puede ser establecido por la función socket_set_option())
SO_TYPE | Informa del tipo socket (p.ej. SOCK_STREAM). | int (no puede ser establecido mediante socket_set_option())
SO_DONTROUTE | Informa si los mensajes salientes se desvían de los mecanismos de ruta estándar. | int
SO_RCVLOWAT | Informa del número mínimo de bytes a procesar para operaciones de entrada del socket. | int
SO_RCVTIMEO | Informa del valor del tiempo de espera para operaciones de entrada. | array. La matriz contendrá dos claves: sec que es la parte de segundos del valor del tiempo límite y usec que es la parte de microsegundos del valor del tiempo límite.
SO_SNDTIMEO | Informa del valor del tiempo de espera especificando la cantidad de tiempo que una función de salida bloquea porque el control de flujo evita el envío de información. | array. La matriz contendrá dos claves: sec que es la parte de segundos del valor del tiempo límite y usec que es la parte de microsegundos del valor del tiempo límite.
SO_SNDLOWAT | Informa del número mínimo de bytes a procesar por operaciones de salida del socket. | int
TCP_NODELAY | Informa si el algoritmo Nagle TCP está deshabilitado. | int
MCAST_JOIN_GROUP | Unirse a un grupo multidifusión. (añadido en PHP 5.4) | Un array con claves "group", especificando un string con la dirección de la multidifusión IPv4 o IPv6 e "interface", especificando o un número de intefaz (de tipo int) o un string con el nombre de la interfaz, como "eth0". Se puede especificar 0 para indicar que la interfaz debería ser seleccionada usando las normas de enrutamiento. (Sólo se puede usar en la función socket_set_option())
MCAST_LEAVE_GROUP | Abandonar un grupo multidifusión. (añadido en PHP 5.4) | array. Véase MCAST_JOIN_GROUP para más información. (Sólo se puede usar en la función socket_set_option())
MCAST_BLOCK_SOURCE | Bloquea los paquetes enviados desde un origen específico a un grupo multidifusión específico, al cual se ha tenido que unir previamente. (añadido en PHP 5.4) | Un array con las mismas claves que en MCAST_JOIN_GROUP, más una clave extra, source, que hace referencia a un string que especifica una dirección IPv4 o IPv6 del origen a ser bloqueado. (Sólo se puede usar en la función socket_set_option())
MCAST_UNBLOCK_SOURCE | Desbloquea (empieza a recibir de nuevo) paquetes enviados desde una dirección origen especificada a un grupo multidifusión especificado, al cual se ha tenido que unir previamente. (añadido en PHP 5.4) | Un array con el mismo formato que MCAST_BLOCK_SOURCE. (Sólo se puede usar en la función socket_set_option())
MCAST_JOIN_SOURCE_GROUP | Recibir paquetes destinados aun grupo multidifusión específico cuya dirección de origen coincide con un valor específico. (añadido en PHP 5.4) | Un array con el mismo formato que MCAST_BLOCK_SOURCE. (Sólo se puede usar en la función socket_set_option())
MCAST_LEAVE_SOURCE_GROUP | Dejar de recibir paquetes destinados a un grupo multidifusión específico cuya dirección de origen coincide con un valor específico. (añadido en PHP 5.4) | Un array con el mismo formato que MCAST_BLOCK_SOURCE. (Sólo se puede usar en la función socket_set_option())
IP_MULTICAST_IF | La interfaz saliente para paquetes multidifusión IPv4. (añadido en PHP 5.4) | O un valor de tipo int especificando el número de la interfaz o un string con el nombre de la interfaz, como eth0. Se puede usar el valor 0 para indicar que la tabla de enrutamiento se usa en la selección de la interfaz. La función socket_get_option() devuelve un índice de interfaz. Observe que, a diferencia de la API de C, esta opción NO toma una dirección IP. Esto elimina las diferencias de interfaz entre IP_MULTICAST_IF y IPV6_MULTICAST_IF.
IPV6_MULTICAST_IF | La interfaz saliente para paquetes multidifusión IPv6. (añadido en PHP 5.4) | El mismo que IP_MULTICAST_IF.
IP_MULTICAST_LOOP | La política de loopback multidifusión para paquetes IPv4, la cual determina si los paquetes enviados por este socket también alcanzan los receptores del mismo host al que se ha unidoal mismo grupo multidifusión en la interfaz saliente usada por este socket. Este es el caso por omisión. (añadido en PHP 5.4) | Un valor de tipo int (0 ó 1). Para la función socket_set_option() será aceptado cualquier valor y será convertido a un booleano siguiendo la reglas habituales de PHP.
IPV6_MULTICAST_LOOP | Análoga aIP_MULTICAST_LOOP, pero para IPv6. (añadido en PHP 5.4) | Un valor de tipo int. Véase IP_MULTICAST_LOOP.
IP_MULTICAST_TTL | El tiemp de vida de los paquetes multidifusión IPv4 salientes. Debería ser un valor entre 0 (no abandonar la interfaz) y 255. El valor predeterminado es 1 (sólo se alcanza la red local). (añadido en PHP 5.4) | Un valor de tipo int entre 0 y 255.
IPV6_MULTICAST_HOPS | Análoga a IP_MULTICAST_TTL, pero para paquetes IPv6. También se acepta el valor -1, lo que significa que debería usarse la ruta predeterminada. (añadido en PHP 5.4) | Un valor de tipo int entre -1 y 255.

Valores devueltos

Devuelve el valor de la opción dada, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de socket_set_option()

<?php
$socket = socket_create_listen(1223);

$linger = array('l_linger' => 1, 'l_onoff' => 1);
socket_set_option($socket, SOL_SOCKET, SO_LINGER, $linger);

var_dump(socket_get_option($socket, SOL_SOCKET, SO_REUSEADDR));
?>

Historial de cambios

Versión | Descripción
4.3.0 | Se cambió el nombre de esta función. Se solía llamar socket_getopt().

socket_create
socket_getpeername
Funciones de Socket


Pregunta a la parte remota del socket dado que puede resultar en un host/puerto o en una ruta de sistema de archivos Unix, dependiendo de su tipo

socket_get_option
socket_getsockname
Funciones de Socket
PHP Manual

socket_getpeername

(PHP 4 >= 4.1.0, PHP 5)

socket_getpeername — Pregunta a la parte remota del socket dado que puede resultar en un host/puerto o en una ruta de sistema de archivos Unix, dependiendo de su tipo

Descripción

bool socket_getpeername ( resource $socket , string &$address [, int &$port ] )

Pregunta a la parte remota del socket dado que puede resultar en un host/puerto o en una ruta de sistema de archivos Unix, dependiendo de su tipo.

Parámetros

socket

Un recurso socket válido creado con socket_create() o socket_accept().

address

Si el socket dado es de tipo AF_INET o AF_INET6, socket_getpeername() devolverá la dirección IP de los pares (remotos) en la notación apropiada (p.ej. 127.0.0.1 o fe80::1) en el parámetro address, y si el parámetro opcional port está presente, tmbién el puerto asociado.

Si el socket dado es de tipo AF_UNIX, socket_getpeername() devolverá la ruta del sistema de archivos Unix (p.ej. /var/run/daemon.sock) en el parámetro address.

port

Si se da, contendrá el puerto asociado a address.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. socket_getpeername() puede también devolver FALSE si el tipo de socket no es ni AF_INET, AF_INET6, ni AF_UNIX, en cuyo caso no se actualiza el último código de error de socket.

Notas

Nota:

socket_getpeername() no debería usarse con sockets AF_UNIX creados con socket_accept(). Sólo los sockets creados con socket_connect() o un socket principal de servidor seguido de una llamada a socket_bind() devolverán valores con sentido.

Nota:

Para hacer que socket_getpeername() devuelva un valor con sentido, el socket sobre el que es aplicado debe ser, por supuesto, uno cuyo concepto de "par" tenga sentido.

Ver también

  • socket_getsockname() - Preguntar a la parte local del socket dado que puede resultar en un host/puerto o en una ruta de sistema de archivos Unix, dependiendo de su tipo
  • socket_last_error() - Devuelve el último error sobre un socket
  • socket_strerror() - Devuelve una cadena que describe un error de socket

socket_get_option
socket_getsockname
Funciones de Socket


Preguntar a la parte local del socket dado que puede resultar en un host/puerto o en una ruta de sistema de archivos Unix, dependiendo de su tipo

socket_getpeername
socket_import_stream
Funciones de Socket
PHP Manual

socket_getsockname

(PHP 4 >= 4.1.0, PHP 5)

socket_getsockname — Preguntar a la parte local del socket dado que puede resultar en un host/puerto o en una ruta de sistema de archivos Unix, dependiendo de su tipo

Descripción

bool socket_getsockname ( resource $socket , string &$addr [, int &$port ] )

Nota: socket_getsockname() no debería usarse con sockets AF_UNIX creados con socket_connect(). Sólo los sockets creados con socket_accept() o con un socket servidor primario seguido de una llamda a socket_bind() devolverá resultados significativos.

Parámetros

socket

Un recurso socket válido creado con socket_create() o socket_accept().

addr

Si el socket dado es de tipo AF_INET o AF_INET6, socket_getsockname() devolverá la dirección IP local en la notación apropiada (p.ej. 127.0.0.1 o fe80::1) en el parámetro address, y si el parámetro opcional port está presente, tmbién el puerto asociado.

Si el socket dado es de tipo AF_UNIX, socket_getsockname() devolverá la ruta del sistema de archivos Unix (p.ej. /var/run/daemon.sock) en el parámetro address.

port

Si se proporciona, contendrá el puerto asociado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. socket_getsockname() también puede devolver FALSE si el tipo de socket no de tipo AF_INET, AF_INET6, o AF_UNIX, en cuyo caso no se actualiza el último código de error de socket.

Ver también

  • socket_getpeername() - Pregunta a la parte remota del socket dado que puede resultar en un host/puerto o en una ruta de sistema de archivos Unix, dependiendo de su tipo
  • socket_last_error() - Devuelve el último error sobre un socket
  • socket_strerror() - Devuelve una cadena que describe un error de socket

socket_getpeername
socket_import_stream
Funciones de Socket


Importar un flujo a stream

socket_getsockname
socket_last_error
Funciones de Socket
PHP Manual

socket_import_stream

(PHP 5 >= 5.4.0)

socket_import_stream — Importar un flujo a stream

Descripción

resource socket_import_stream ( resource $stream )

Importa un flujo que encapsula un socket en un recurso de extensión de socket.

Parámetros

stream

El recurso de socket a importar.

Valores devueltos

Devuelve FALSE o NULL en caso de fallo.

Ejemplos

Ejemplo #1 Ejemplo de socket_import_stream()

<?php
$stream = stream_socket_server("udp://0.0.0.0:58380", $errno, $errstr, STREAM_SERVER_BIND);
$sock   = socket_import_stream($stream);
?>

Ver también

  • stream_socket_server() - Crear un socket de servidor de dominio de Internet o de Unix

socket_getsockname
socket_last_error
Funciones de Socket


Devuelve el último error sobre un socket

socket_import_stream
socket_listen
Funciones de Socket
PHP Manual

socket_last_error

(PHP 4 >= 4.1.0, PHP 5)

socket_last_error — Devuelve el último error sobre un socket

Descripción

int socket_last_error ([ resource $socket ] )

Si un recurso socket es pasado a esta función, devuelve el último error que ocurrió en este socket en particular. Si el recurso socket se omite, devuelve el código de error de la última función de socket que falló. El segundo es particularmente útil para funciones como socket_create() que no devuelve un socket en caso de error y socket_select() que puede fallar por razones no directamente vinculadas con un socket en particular. El código de error es apropiado para ser introducido en socket_strerror(), que devuelve una cadena describiendo el código de error dado.

Parámetros

socket

Un recurso socket válido creado con socket_create().

Valores devueltos

Esta función devuelve un código de error de un socket.

Ejemplos

Ejemplo #1 Un ejemplo de socket_last_error()

<?php
$socket = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if ($socket === false) {
    $errorcode = socket_last_error();
    $errormsg = socket_strerror($errorcode);

    die("No se pudo crear el socket: [$errorcode] $errormsg");
}
?>

Notas

Nota:

socket_last_error() no limpia el código de error, use socket_clear_error() para este propósito.

socket_import_stream
socket_listen
Funciones de Socket


Escucha una conexión sobre un socket

socket_last_error
socket_read
Funciones de Socket
PHP Manual

socket_listen

(PHP 4 >= 4.1.0, PHP 5)

socket_listen — Escucha una conexión sobre un socket

Descripción

bool socket_listen ( resource $socket [, int $backlog = 0 ] )

Después de que el socket socket haya sido creado usando socket_create() y vinculado a un nombre con socket_bind(), se le puede indicar que escuche conexiones entrantes sobre socket.

socket_listen() sólo es aplicable a sockets de tipo SOCK_STREAM o SOCK_SEQPACKET.

Parámetros

socket

Un recurso socket válido creado con socket_create().

backlog

Se pondrán en cola un máximo de conexiones entrantes backlog para su procesamiento. Si una petición de conexión llega con la cola llena, el cliente puede recibir un error con una indicación de ECONNREFUSED, o, si el protocolo subyacente soporta retransmisiones, la petición puede ser ignorada, por lo que este reintento puede surtir efecto.

Nota:

El número máximo pasado al parámtro backlog depende mayormente en la plataforma subyacente. En Linux, se trunca de forma silenciosa a SOMAXCONN. En win32, Si se pasó SOMAXCONN, el proveedor del servicio responsable del socket establecerá el backlog a un valor máximo razonable. No existe una disposicón estándar para encontrar el valor del backlog real en esta plataforma.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. El código de error real se puede recuperar llamando a socket_last_error(). Este código se puede pasar a socket_strerror() para obtener una explicación textual del error.

Ver también

  • socket_accept() - Acepta una conexión de un socket
  • socket_bind() - Vincula un nombre a un socket
  • socket_connect() - Inicia una conexión sobre un socket
  • socket_create() - Crear un socket (extremo de comunicación)
  • socket_strerror() - Devuelve una cadena que describe un error de socket

socket_last_error
socket_read
Funciones de Socket


Lee un máximo de longitud de bytes desde un socket

socket_listen
socket_recv
Funciones de Socket
PHP Manual

socket_read

(PHP 4 >= 4.1.0, PHP 5)

socket_read — Lee un máximo de longitud de bytes desde un socket

Descripción

string socket_read ( resource $socket , int $length [, int $type = PHP_BINARY_READ ] )

La función socket_read() lee desde un recurso socket socket creado por las funciones socket_create() o socket_accept().

Parámetros

socket

Un recurso socket válido creado con socket_create() o socket_accept().

length

El número máximo de bytes leidos es espeicificado por el parámetro length. Por lo demás se puede usar \r, \n, o \0 para finalizar la lectura (dependiendo del parámetro type, véase abajo).

type

EL parámetro opcional type es una constante nominada:

  • PHP_BINARY_READ (Predeterminada) - usa la función del sistema recv(). Segura para la lectura de información binaria.
  • PHP_NORMAL_READ - la lectura se detiene en \n o \r.

Valores devueltos

socket_read() devuelve la información como cadena en caso de éxito, o FALSE en caso de error (incluyendo si el host remoto cerró la conexión). El código de error real se puede recuperar llamando a socket_last_error(). Este código se puede pasar a socket_strerror() para obtener una explicación textual del error.

Nota:

socket_read() devuelve una cadena de longitud cero ("") cuando no hay más información que leer.

Historial de cambios

Versión | Descripción
4.1.0 | El valor predeterminado para type se cambió de PHP_NORMAL_READ a PHP_BINARY_READ

Ver también

  • socket_accept() - Acepta una conexión de un socket
  • socket_bind() - Vincula un nombre a un socket
  • socket_connect() - Inicia una conexión sobre un socket
  • socket_listen() - Escucha una conexión sobre un socket
  • socket_last_error() - Devuelve el último error sobre un socket
  • socket_strerror() - Devuelve una cadena que describe un error de socket
  • socket_write() - Escribir en un socket

socket_listen
socket_recv
Funciones de Socket


REcibe información desde un socket conectado

socket_read
socket_recvfrom
Funciones de Socket
PHP Manual

socket_recv

(PHP 4 >= 4.1.0, PHP 5)

socket_recv — REcibe información desde un socket conectado

Descripción

int socket_recv ( resource $socket , string &$buf , int $len , int $flags )

La función socket_recv() recibe len bytes de información en buf desde socket. socket_recv() se puede usar para reunir información desde sockets conectados. Además, se pueden especificar una o más banderas para modificar el comportamiento de la función.

buf es pasado por referencia, por lo que debe ser especificado como una variable en la lista de argumentos. La información leída desde socket por socket_recv() será devuelta en buf.

Parámetros

socket

socket debe ser un recurso socket previamente creado por socket_create().

buf

La información recibida será traida a la variable especifivada por buf. Si ocurre un error, si la conexión es reiniciada, o si no hay información disponible, buf será establecido a NULL.

len

Se obtendrán hasta len bytes desde el host remoto.

flags

El valor de flags puede ser una combinación de las siguientes banderas, unidas con el operador binario OR (|).

Valores posibles de flags
Bandera | Descripción
MSG_OOB | Procesar información fuera de banda.
MSG_PEEK | Recibir informaicón desde el inicio de la cola recibida sin eliminarla de la cola.
MSG_WAITALL | Bloquea hasta que al menos se reciba len bytes. Sin embargo, si se captura una señal o el host remoto se desconecta, la función puede devolver menos información.
MSG_DONTWAIT | Con esta bandera establecida, la función devuelve incluso si normalmente habría bloqueado.

Valores devueltos

socket_recv() devuelve el número de bytes recibidos, o FALSE si hubo un error. El código de error real se puede recuperar llamando a socket_last_error(). Este código de error se puede pasar a socket_strerror() para obtener una explicación textual del error.

Ejemplos

Ejemplo #1 Un ejemplo de socket_recv()

Este ejemplo es un reescrito sencillo del primer ejemplo de Ejemplos para usar socket_recv().

<?php
error_reporting(E_ALL);

echo "<h2>Conexión TCP/IP</h2>\n";

/* Obtener el puerto del servicio WWW. */
$service_port = getservbyname('www', 'tcp');

/* Obtener la dirección IP del host objetivo. */
$address = gethostbyname('www.example.com');

/* Crear un socket TCP/IP. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
    echo "socket_create() falló: razón: " . socket_strerror(socket_last_error()) . "\n";
} else {
    echo "OK.\n";
}

echo "Intentando conectar a '$address' en el puerto '$service_port'...";
$result = socket_connect($socket, $address, $service_port);
if ($result === false) {
    echo "socket_connect() falló.\nRazón: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
} else {
    echo "OK.\n";
}

$in = "HEAD / HTTP/1.1\r\n";
$in .= "Host: www.example.com\r\n";
$in .= "Connection: Close\r\n\r\n";
$out = '';

echo "Enviando petición HTTP HEAD...";
socket_write($socket, $in, strlen($in));
echo "OK.\n";

echo "Leyendo la respuesta:\n\n";
$buf = 'Este es mi buffer.';
if (false !== ($bytes = socket_recv($socket, $buf, 2048, MSG_WAITALL))) {
    echo "Leídos $bytes bytes desde socket_recv(). Cerrando el socket...";
} else {
    echo "socket_recv() falló; razón: " . socket_strerror(socket_last_error($socket)) . "\n";
}
socket_close($socket);

echo $buf . "\n";
echo "OK.\n\n";
?>

El ejemplo de arriba producirá algo parecido a esto:

<h2>Conexión TCP/IP</h2>
OK.
Intentando conectar a '208.77.188.166' en el puerto '80'...OK.
Enviando petición HTTP HEAD...OK.
Leyendo la respuesta:

Leídos 123 bytes desde socket_recv(). Cerrando el socket...HTTP/1.1 200 OK
Date: Mon, 14 Sep 2009 08:56:36 GMT
Server: Apache/2.2.3 (Red Hat)
Last-Modified: Tue, 15 Nov 2005 13:24:10 GMT
ETag: "b80f4-1b6-80bfd280"
Accept-Ranges: bytes
Content-Length: 438
Connection: close
Content-Type: text/html; charset=UTF-8

OK.

socket_read
socket_recvfrom
Funciones de Socket


Recibe información desde un socket que esté o no orientado a conexión

socket_recv
socket_recvmsg
Funciones de Socket
PHP Manual

socket_recvfrom

(PHP 4 >= 4.1.0, PHP 5)

socket_recvfrom — Recibe información desde un socket que esté o no orientado a conexión

Descripción

int socket_recvfrom ( resource $socket , string &$buf , int $len , int $flags , string &$name [, int &$port ] )

La función socket_recvfrom() recibe len bytes de información en buf desde name en el puerto port (si el socket no es del tipo AF_UNIX) usando socket. socket_recvfrom() se puede usar para reunir información tanto desde socket conectados como de no conectados. Además, se pueden especificar una o más banderas para modificar el comportamiento de la función.

name y port deben ser pasados por referencia. Si el socket no está orientado a conexión, name será establecido a la dirección del protocolo de internet del host remoto o a la ruta del socket UNIX. Si el socket está orientado a conxión, name es NULL. Además, port contendrá el puerto del host remoto en el caso de un socket AF_INET o AF_INET6 no conectado.

Parámetros

socket

socket debe ser un recurso socket previamente creado por socket_create().

buf

La información recibida será recuperada a la variable especificada por buf.

len

Se obtendrán hasta len bytes desde el host remoto.

flags

El valor de flags puede ser una combinación de las siguientes banderas, unidas con el operador binario OR (|).

Valores posibles de flags
Bandera | Descripción
MSG_OOB | Procesar información fuera de banda.
MSG_PEEK | Recibir informaicón desde el inicio de la cola recibida sin eliminarla de la cola.
MSG_WAITALL | Bloquea hasta que al menos se reciba len bytes. Sin embargo, si se captura una señal o el host remoto se desconecta, la función puede devolver menos información.
MSG_DONTWAIT | Con esta bandera establecida, la función devuelve incluso si normalmente habría bloqueado.
name

Si el socket es de tipo AF_UNIX, name es la ruta del archivo. Por lo demás, para sockets no conectados, name es la dirección IP del host remoto, o NULL si el socket está orientado a conexion.

port

Este argumento sólo se aplica a sockets AF_INET y AF_INET6, y especifica el puerto remoto desde el que la información es recibida. Si el socket está orientado a conexión, port será NULL.

Valores devueltos

socket_recvfrom() devuelve el número de bytes recibidos, o FALSE si hubo un error. El código de error real se puede recuperar llamando a socket_last_error(). Este código de error se puede pasar a socket_strerror() para obtener una explicación textual del error.

Ejemplos

Ejemplo #1 Un ejemplo de socket_recvfrom()

<?php
error_reporting(E_ALL | E_STRICT);

$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_bind($socket, '127.0.0.1', 1223);

$from = '';
$port = 0;
socket_recvfrom($socket, $buf, 12, 0, $from, $port);

echo "Se recibió $buf desde la dirección remota $from y el puerto remoto $port" . PHP_EOL;
?>

Este ejemplo iniciará un socket UDP en el puerto 1223 de 127.0.0.1 e imprimirá al menos 12 caracteres recibidos desde un host remoto.

Historial de cambios

Versión | Descripción
4.3.0 | socket_recvfrom() ahora es segura a nivel binario.

Ver también

  • socket_recv() - REcibe información desde un socket conectado
  • socket_send() - Envía información a un socket conectado
  • socket_sendto() - Envía un mensaje a un socket, ya esté conectado o no
  • socket_create() - Crear un socket (extremo de comunicación)

socket_recv
socket_recvmsg
Funciones de Socket


Leer un mensaje

socket_recvfrom
socket_select
Funciones de Socket
PHP Manual

socket_recvmsg

(PHP 5 >= 5.5.0)

socket_recvmsg — Leer un mensaje

Descripción

int socket_recvmsg ( resource $socket , string $message [, int $flags ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

socket

message

flags

Valores devueltos

Ver también

  • socket_sendmsg() - Enviar un mensaje
  • socket_cmsg_space() - Calcular el tamaño del búfer de mensajes

socket_recvfrom
socket_select
Funciones de Socket


Ejecuta la llamada a select() del sistema sobre las matrices de sockets dadas con un tiempo límite especificado

socket_recvmsg
socket_send
Funciones de Socket
PHP Manual

socket_select

(PHP 4 >= 4.1.0, PHP 5)

socket_select — Ejecuta la llamada a select() del sistema sobre las matrices de sockets dadas con un tiempo límite especificado

Descripción

int socket_select ( array &$read , array &$write , array &$except , int $tv_sec [, int $tv_usec = 0 ] )

socket_select() acepta matrices de sockets y las espera para cambiar el estado. Aquellas que vienen con un fondo de sockets BSD reconocerán que aquellas matrices de recursos socket son de hecho los también llamados conjuntos descriptores de archivos. Se observan tres matrices de recursos socket independientes.

Parámetros

read

Los sockets listados en la matriz read serán observados para ver si los caracteres están disponibles para lectura (más precisamente, para ver si una lectura no bloqueará - en particular, un recurso socket también está listo al final del archivo, en cuyo caso un socket_read() devolverá una cadena de longitud cero).

write

Los sockets listados en la matriz write serán observados para ver si una escritura no bloqueará.

except

Los sockets listados en la matriz except serán observados para excepciones.

tv_sec

tv_sec y tv_usec forman juntos el parámetros timeout. timeout es un límite superior de la cantidad de tiempo trancurrido antes de que socket_select() devuelva. tv_sec puede ser cero, causando que socket_select() devuelva inmediatamente. Esto es útil para consultas constantes (polling). Si tv_sec es NULL (sin tiempo línmite), socket_select() puede bloquear indefinidamente.

tv_usec

Advertencia

Al salir, las matrices son modificadas para indicar que recurso socket realmente cambió el estado.

No es necesario pasar cada matriz a socket_select(). En su lugar, se puede omitir y usar una matriz vacía o NULL. No olvide también que esas matrices son pasadas por referencia y serán modificadas después de que socket_select() devuelva.

Nota:

A causa de una limitación en el Motor Zend actual no es posible pasar una constante como NULL directamente como un parámetro a una función que espera que este parámetro sea pasado por referencia. En su lugar use una variable temporal o una expresión que su miembro más a la izquierda sea una variable temporal:

Ejemplo #1 Usar NULL con socket_select()

<?php
$e = NULL;
socket_select($r, $w, $e, 0);
?>

Valores devueltos

En caso de éxtio, socket_select() devuelve el número de recursos socket contenidos en las matrices modificadas, lo que puede ser cero si el tiempo límite expira antes de que ocurra algo interesante. En caso de error se devuelve FALSE. El código de error se puede recuperar con socket_last_error().

Nota:

Asegúrese de usar el operador === cuando verifique un error. Ya que socket_select() puede devolver 0 la comparación con == será evaluada a TRUE:

Ejemplo #2 Comprender el resultado de socket_select()

<?php
$e = NULL;
if (false === socket_select($r, $w, $e, 0)) {
    echo "falló socket_select(), razón: " .
        socket_strerror(socket_last_error()) . "\n";
}
?>

Ejemplos

Ejemplo #3 Un ejemplo de socket_select()

<?php
/* Preparar la matriz de lectura */
$read   = array($socket1, $socket2);
$write  = NULL;
$except = NULL;
$núm_sockets_cambiados = socket_select($read, $write, $except, 0);

if ($núm_sockets_cambiados === false) {
    /* Manejo de errores */
} else if ($núm_sockets_cambiados > 0) {
    /* Ocurrió algo interesante en al menos uno de los sockets */
}
?>

Notas

Nota:

Tenga en cuenta que algunas implementaciones de sockets necesitan ser tratadas con mucho cuidado. Unas cuantas reglas básicas:

  • Debería siempre intentar usar socket_select() sin tiempo límite. Su programa no debería de hacer nada si no hay información disponible. El código que depende de tiempos límite normalmente no es portable y es difícil de depurar.
  • No se deben añadir recursos socket a ningún conjunto si no se pretende verificar su resultado después de la llamada a socket_select(), y responder apropiadamente. Después de que socket_select() devuelva, todos los recursos socket en todas las matrices deben ser verificados. Cualquier recurso socket que esté disponible para escritura debe ser escrito, y cualquier recurso socket disponible para lectura debe ser leído.
  • Si lee/escribe en un socket devuelto en las matrices, tenga en cuenta que no necesariamente leerán/escribirán la cantidad de información que solicitó. Esté preparado para que incluso sea capaz de leer/escrir sólo un único byte.
  • En la mayoría de las implementaciones de sockets es común que la única expcepción capturada con la matriz except sea información fuera de banda recibida en un socket.

Ver también

  • socket_read() - Lee un máximo de longitud de bytes desde un socket
  • socket_write() - Escribir en un socket
  • socket_last_error() - Devuelve el último error sobre un socket
  • socket_strerror() - Devuelve una cadena que describe un error de socket

socket_recvmsg
socket_send
Funciones de Socket


Envía información a un socket conectado

socket_select
socket_sendmsg
Funciones de Socket
PHP Manual

socket_send

(PHP 4 >= 4.1.0, PHP 5)

socket_send — Envía información a un socket conectado

Descripción

int socket_send ( resource $socket , string $buf , int $len , int $flags )

La función socket_send() envía len bytes al socket socket desde buf.

Parámetros

socket

Un recurso socket válido creado con socket_create() o socket_accept().

buf

Un buffer que contiene la información que será enviada al host remoto.

len

El número de bytes que serán enviados al host remoto desde buf.

flags

El valor de flags puede ser cualquier combinación de las siguientes banderas, unidas con el operador binario OR (|).

Valores posibles de flags
MSG_OOB | Enviar información OOB (fuera de banda).
MSG_EOR | Indicar una marca de registro. La información enviada completa el registro.
MSG_EOF | Cerra la parte enviadora del socket e incluir una notificación apropiada de éste al final de la información enviada. La información enviada completa la transacción.
MSG_DONTROUTE | Evitar la ruta, usar la interfaz directa.

Valores devueltos

socket_send() devuelve el número de bytes enviados, o FALSE en caso de error.

Ver también

  • socket_sendto() - Envía un mensaje a un socket, ya esté conectado o no

socket_select
socket_sendmsg
Funciones de Socket


Enviar un mensaje

socket_send
socket_sendto
Funciones de Socket
PHP Manual

socket_sendmsg

(PHP 5 >= 5.5.0)

socket_sendmsg — Enviar un mensaje

Descripción

int socket_sendmsg ( resource $socket , array $message , int $flags )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

socket

message

flags

Valores devueltos

Ver también

  • socket_recvmsg() - Leer un mensaje
  • socket_cmsg_space() - Calcular el tamaño del búfer de mensajes

socket_send
socket_sendto
Funciones de Socket


Envía un mensaje a un socket, ya esté conectado o no

socket_sendmsg
socket_set_block
Funciones de Socket
PHP Manual

socket_sendto

(PHP 4 >= 4.1.0, PHP 5)

socket_sendto — Envía un mensaje a un socket, ya esté conectado o no

Descripción

int socket_sendto ( resource $socket , string $buf , int $len , int $flags , string $addr [, int $port = 0 ] )

La función socket_sendto() envía len bytes desde buf a través del socket socket al puerto port en la dirección addr.

Parámetros

socket

Un recurso socket válido creado usando socket_create().

buf

La información enviada será tomada desde el buffer buf.

len

Se enviarán len bytes desde buf.

flags

El valor de flags puede ser una combinación de las siguientes banderas, unidas con el operador binario OR (|).

Valores posibles de flags
MSG_OOB | Enviar información OOB (fuera de banda).
MSG_EOR | Indicar una marca de registro. La información enviada completa el registro.
MSG_EOF | Cerra la parte enviadora del socket e incluir una notificación apropiada de éste al final de la información enviada. La información enviada completa la transacción.
MSG_DONTROUTE | Evitar la ruta, usar la interfaz directa.

addr

La dirección IP del host remoto.

port

port es el número de puerto remoto al que se enviará la información.

Valores devueltos

socket_sendto() devuelve el número de bytes enviados al host remoto, o FALSE si ocurrió un error.

Ejemplos

Ejemplo #1 Ejemplo de socket_sendto()

<?php
    $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);

    $msg = "Ping !";
    $len = strlen($msg);

    socket_sendto($sock, $msg, $len, 0, '127.0.0.1', 1223);
    socket_close($sock);
?>

Ver también

  • socket_send() - Envía información a un socket conectado

socket_sendmsg
socket_set_block
Funciones de Socket


Establece el modo de bloqueo de un recurso socket

socket_sendto
socket_set_nonblock
Funciones de Socket
PHP Manual

socket_set_block

(PHP 4 >= 4.2.0, PHP 5)

socket_set_block — Establece el modo de bloqueo de un recurso socket

Descripción

bool socket_set_block ( resource $socket )

La función socket_set_block() elimina la bandera O_NONBLOCK del socket especificado por el parámetro socket.

Cuando una operación (p.ej. recibir, enviar, conectar, aceptar, ...) se lleva a cabo sobre un socket de bloqueo, el script pausará su ejecución hasta que reciba una señal o pueda realizar la operación.

Parámetros

socket

Un recurso socket válido creado con socket_create() o socket_accept().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de socket_set_block()

<?php
$socket = socket_create_listen(1223);
socket_set_block($socket);

socket_accept($socket);
?>

Este ejemplo crea un socket de escucha en todas las interfaces en el puerto 1223 y establece el socket al modo O_BLOCK. socket_accept() se colgará hasta que haya una conexión que aceptar.

Ver también

  • socket_set_nonblock() - Establece el modo de no-bloqueo para el descriptor de archivo fd
  • socket_set_option() - Establece las opciones de socket para el socket

socket_sendto
socket_set_nonblock
Funciones de Socket


Establece el modo de no-bloqueo para el descriptor de archivo fd

socket_set_block
socket_set_option
Funciones de Socket
PHP Manual

socket_set_nonblock

(PHP 4 >= 4.1.0, PHP 5)

socket_set_nonblock — Establece el modo de no-bloqueo para el descriptor de archivo fd

Descripción

bool socket_set_nonblock ( resource $socket )

La funciòn socket_set_nonblock() establece la bandera O_NONBLOCK en el socket especificado por el parámetro socket.

Cuando una operación (p.ej. recibir, enviar, conectar, aceptar, ...) se lleva a cabo sobre un socket de no-bloqueo, el script no pausará su ejecución hasta que reciba una señal o pueda realizar la operación. Más bien, si la operacion resultaría en un bloqueo, la llamada a la función fallará.

Parámetros

socket

Un recurso socket válido creado con socket_create() o socket_accept().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de socket_set_nonblock()

<?php
$socket = socket_create_listen(1223);
socket_set_nonblock($socket);

socket_accept($socket);
?>

Este ejemplo crea un socket de escucha en todas las interfaces en el puerto 1223 y establece el socket al modo O_NONBLOCK. socket_accept() fallará inmediantamente a menos que haya una conexión pendiente en ese preciso momento.

Ver también

  • socket_set_block() - Establece el modo de bloqueo de un recurso socket
  • socket_set_option() - Establece las opciones de socket para el socket

socket_set_block
socket_set_option
Funciones de Socket


Establece las opciones de socket para el socket

socket_set_nonblock
socket_shutdown
Funciones de Socket
PHP Manual

socket_set_option

(PHP 4 >= 4.3.0, PHP 5)

socket_set_option — Establece las opciones de socket para el socket

Descripción

bool socket_set_option ( resource $socket , int $level , int $optname , mixed $optval )

La función socket_set_option() establece la opción especificada por el parámetro optname, al nivel (level) del protocolo especificado, al valor apuntado por el parámetro optval para el socket.

Parámetros

socket

Un recurso socket válido creado con socket_create() o socket_accept().

level

El parámetro level especifica el nivel de protocolo en el que reside la opción. Por ejemplo, para recuperar opciones a nivel de socket, se debería usar un parámetro level de SOL_SOCKET. Otros niveles, como TCP, se pueden usar para especificar el número de protocolo de ese nivel. Los números de protocolo se pueden encontrar usando la función getprotobyname().

optname

Las opciones de socket dispobibles son las mismas que las de la función socket_get_option().

optval

El valor opcional.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de socket_set_option()

<?php
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if (!is_resource($socket)) {
    echo 'No se pudo crear elsocket: '. socket_strerror(socket_last_error()) . PHP_EOL;
}

if (!socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1)) {
    echo 'No se pudo establecer la opción del socket: '. socket_strerror(socket_last_error()) . PHP_EOL;
}

if (!socket_bind($socket, '127.0.0.1', 1223)) {
    echo 'No se pudo vincular el socket: '. socket_strerror(socket_last_error()) . PHP_EOL;
}

$rval = socket_get_option($socket, SOL_SOCKET, SO_REUSEADDR);

if ($rval === false) {
    echo 'No se pudo obtener la opción del option: '. socket_strerror(socket_last_error()) . PHP_EOL;
} else if ($rval !== 0) {
    echo 'SO_REUSEADDR está establecido en el socket !' . PHP_EOL;
}
?>

Historial de cambios

Versión | Descripción
4.3.0 | Esta función fue renombrada. Se solía llamar socket_setopt().

socket_set_nonblock
socket_shutdown
Funciones de Socket


Cierra un socket para dejar de recibir, enviar, o ambos

socket_set_option
socket_strerror
Funciones de Socket
PHP Manual

socket_shutdown

(PHP 4 >= 4.1.0, PHP 5)

socket_shutdown — Cierra un socket para dejar de recibir, enviar, o ambos

Descripción

bool socket_shutdown ( resource $socket [, int $how = 2 ] )

La función socket_shutdown() permite detener la entrada y salida de toda la información (lo predeterminado) que está siendo enviada a través del socket

Parámetros

socket

Un recurso socket válido creado con socket_create().

how

El valor de how puede ser uno de los siguientes:

Valores posibles de how
0 | Cerra el socket para dejar de leer
1 | Cerra el socket para dejar de escribir
2 | Cerra el socket para dejar de leer y escribir

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

socket_set_option
socket_strerror
Funciones de Socket


Devuelve una cadena que describe un error de socket

socket_shutdown
socket_write
Funciones de Socket
PHP Manual

socket_strerror

(PHP 4 >= 4.1.0, PHP 5)

socket_strerror — Devuelve una cadena que describe un error de socket

Descripción

string socket_strerror ( int $errno )

socket_strerror() toma su parámetro errno como un código de error de socket devuelto por socket_last_error() y devuelve el correspondiente texto explicativo.

Nota:

Aunque los mensajes de error generados por la extensión socket están en inglés, los mensajes del sistema recupeardos con esta función aparecerán depenediendo de la configuración regional (LC_MESSAGES).

Parámetros

errno

Un número de error de socket válido, como los producidos por socket_last_error().

Valores devueltos

Devuelve el mensaje de error asociado con el parámetro errno.

Ejemplos

Ejemplo #1 Ejemplo de socket_strerror()

<?php
if (false == ($socket = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP))) {
   echo "socket_create() falló: razón: " . socket_strerror(socket_last_error()) . "\n";
}

if (false == (@socket_bind($socket, '127.0.0.1', 80))) {
   echo "socket_bind() falló: razón: " . socket_strerror(socket_last_error($socket)) . "\n";
}
?>

La salida esperada del ejemplo de arriba (asumiendo que el script no está ejecutándose con privilegios):

socket_bind() falló: razón: Permission denied

Ver también

  • socket_accept() - Acepta una conexión de un socket
  • socket_bind() - Vincula un nombre a un socket
  • socket_connect() - Inicia una conexión sobre un socket
  • socket_listen() - Escucha una conexión sobre un socket
  • socket_create() - Crear un socket (extremo de comunicación)

socket_shutdown
socket_write
Funciones de Socket


Escribir en un socket

socket_strerror
SSH2
Funciones de Socket
PHP Manual

socket_write

(PHP 4 >= 4.1.0, PHP 5)

socket_write — Escribir en un socket

Descripción

int socket_write ( resource $socket , string $buffer [, int $length = 0 ] )

La función socket_write() escribe en el socket desde el buffer dado.

Parámetros

socket

buffer

El buffer a ser escrito.

length

El parámetro opcional length puede especificar una longitud alternativa de bytes escritos en el socket. Si esta longitud es mayor que la longitud del buffer se trunca de forma silenciosa a la longitud del buffer.

Valores devueltos

Devuelve el número de bytes escritos con éxito en el socket o FALSE en caso de error. El código de error se puede recuperar con socket_last_error(). Este código se puede pasar a socket_strerror() para obtener una explicación textual del error.

Nota:

Es perfectamente válido que socket_write() devuelva cero, lo que significa que no se han escrito bytes. Asegúrese de usar el operador === para verificar FALSE en caso de un error.

Notas

Nota:

socket_write() no escribe necesariamente todos los bytes desde el buffer dado. Esto es válido ya que depende de los búferes de red, etc., sólo se escribe una cierta cantidad de informaicón, incluso un byte, aunque su buffer sea mayor. Debe tener cuidado de no olvidar inintencionadamente de transmitir el resto de la información.

Ver también

  • socket_accept() - Acepta una conexión de un socket
  • socket_bind() - Vincula un nombre a un socket
  • socket_connect() - Inicia una conexión sobre un socket
  • socket_listen() - Escucha una conexión sobre un socket
  • socket_read() - Lee un máximo de longitud de bytes desde un socket
  • socket_strerror() - Devuelve una cadena que describe un error de socket

socket_strerror
SSH2
Funciones de Socket


Secure Shell2

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de SSH2
    • ssh2_auth_agent — Authenticate over SSH using the ssh agent
    • ssh2_auth_hostbased_file — Authenticate using a public hostkey
    • ssh2_auth_none — Authenticate as "none"
    • ssh2_auth_password — Authenticate over SSH using a plain password
    • ssh2_auth_pubkey_file — Authenticate using a public key
    • ssh2_connect — Connect to an SSH server
    • ssh2_exec — Execute a command on a remote server
    • ssh2_fetch_stream — Fetch an extended data stream
    • ssh2_fingerprint — Retrieve fingerprint of remote server
    • ssh2_methods_negotiated — Return list of negotiated methods
    • ssh2_publickey_add — Add an authorized publickey
    • ssh2_publickey_init — Initialize Publickey subsystem
    • ssh2_publickey_list — List currently authorized publickeys
    • ssh2_publickey_remove — Remove an authorized publickey
    • ssh2_scp_recv — Request a file via SCP
    • ssh2_scp_send — Send a file via SCP
    • ssh2_sftp_chmod — Changes file mode
    • ssh2_sftp_lstat — Stat a symbolic link
    • ssh2_sftp_mkdir — Create a directory
    • ssh2_sftp_readlink — Return the target of a symbolic link
    • ssh2_sftp_realpath — Resolve the realpath of a provided path string
    • ssh2_sftp_rename — Rename a remote file
    • ssh2_sftp_rmdir — Remove a directory
    • ssh2_sftp_stat — Stat a file on a remote filesystem
    • ssh2_sftp_symlink — Create a symlink
    • ssh2_sftp_unlink — Delete a file
    • ssh2_sftp — Initialize SFTP subsystem
    • ssh2_shell — Request an interactive shell
    • ssh2_tunnel — Open a tunnel through a remote server
socket_write
Introducción
Otros servicios


Introducción

Se enlaza a la biblioteca » libssh2 que provee acceso a recursos (shell, ejecución remota, tunneling, transferencia de archivos) sobre una máquina remota utilizando una vía de transporte criptográfica segura.

SSH2
Instalación/Configuración
SSH2


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
SSH2


Requerimientos

Las librerías » OpenSSL y » libssh2 son obligatorias. Asegúrese que las librerías de desarrollo estan instaladas, donde el nombre típico del paquete podría ser openssl-dev.

Es necesaria la versión 1.2 o posterior de libssh2 , aunque es posible que nuevos lanzamientos de pecl/ssh2 pueden requerir versiones posteriores (consultar las notas de lanzamiento)

La función ssh2_auth_agent() estará disponible únicamente con libssh >= 1.2.3.

El soporte para stream_set_timeout() para canalizar secuencias sólo estará disponible con libssh >= 1.2.9.

libssh2 viene en dos versiones: gcrypt y openssl. Algunas distribuciones de Linux compilan libssh2 contra la librería gcrypt, y otras utilizan openssl. libssh2 tiene algunos problemas cuando se compila contra gcrypt, por favor, utilice openssl.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/ssh2.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

SSH2_FINGERPRINT_MD5 (integer)
Flag to ssh2_fingerprint() requesting hostkey fingerprint as an MD5 hash.
SSH2_FINGERPRINT_SHA1 (integer)
Flag to ssh2_fingerprint() requesting hostkey fingerprint as an SHA1 hash.
SSH2_FINGERPRINT_HEX (integer)
Flag to ssh2_fingerprint() requesting hostkey fingerprint as a string of hexits.
SSH2_FINGERPRINT_RAW (integer)
Flag to ssh2_fingerprint() requesting hostkey fingerprint as a raw string of 8-bit characters.
SSH2_TERM_UNIT_CHARS (integer)
Flag to ssh2_shell() specifying that width and height are provided as character sizes.
SSH2_TERM_UNIT_PIXELS (integer)
Flag to ssh2_shell() specifying that width and height are provided in pixel units.
SSH2_DEFAULT_TERM_WIDTH (integer)
Default terminal width requested by ssh2_shell().
SSH2_DEFAULT_TERM_HEIGHT (integer)
Default terminal height requested by ssh2_shell().
SSH2_DEFAULT_TERM_UNIT (integer)
Default terminal units requested by ssh2_shell().
SSH2_STREAM_STDIO (integer)
Flag to ssh2_fetch_stream() requesting STDIO subchannel.
SSH2_STREAM_STDERR (integer)
Flag to ssh2_fetch_stream() requesting STDERR subchannel.
SSH2_DEFAULT_TERMINAL (string)
Default terminal type (e.g. vt102, ansi, xterm, vanilla) requested by ssh2_shell().
Tipos de recursos
Funciones de SSH2
SSH2


Funciones de SSH2

Tabla de contenidos

  • ssh2_auth_agent — Authenticate over SSH using the ssh agent
  • ssh2_auth_hostbased_file — Authenticate using a public hostkey
  • ssh2_auth_none — Authenticate as "none"
  • ssh2_auth_password — Authenticate over SSH using a plain password
  • ssh2_auth_pubkey_file — Authenticate using a public key
  • ssh2_connect — Connect to an SSH server
  • ssh2_exec — Execute a command on a remote server
  • ssh2_fetch_stream — Fetch an extended data stream
  • ssh2_fingerprint — Retrieve fingerprint of remote server
  • ssh2_methods_negotiated — Return list of negotiated methods
  • ssh2_publickey_add — Add an authorized publickey
  • ssh2_publickey_init — Initialize Publickey subsystem
  • ssh2_publickey_list — List currently authorized publickeys
  • ssh2_publickey_remove — Remove an authorized publickey
  • ssh2_scp_recv — Request a file via SCP
  • ssh2_scp_send — Send a file via SCP
  • ssh2_sftp_chmod — Changes file mode
  • ssh2_sftp_lstat — Stat a symbolic link
  • ssh2_sftp_mkdir — Create a directory
  • ssh2_sftp_readlink — Return the target of a symbolic link
  • ssh2_sftp_realpath — Resolve the realpath of a provided path string
  • ssh2_sftp_rename — Rename a remote file
  • ssh2_sftp_rmdir — Remove a directory
  • ssh2_sftp_stat — Stat a file on a remote filesystem
  • ssh2_sftp_symlink — Create a symlink
  • ssh2_sftp_unlink — Delete a file
  • ssh2_sftp — Initialize SFTP subsystem
  • ssh2_shell — Request an interactive shell
  • ssh2_tunnel — Open a tunnel through a remote server
Constantes predefinidas
ssh2_auth_agent
SSH2


Authenticate over SSH using the ssh agent

Funciones de SSH2
ssh2_auth_hostbased_file
Funciones de SSH2
PHP Manual

ssh2_auth_agent

(PECL ssh2 >= 0.12)

ssh2_auth_agent — Authenticate over SSH using the ssh agent

Descripción

bool ssh2_auth_agent ( resource $session , string $username )

Authenticate over SSH using the ssh agent

Nota: The ssh2_auth_agent() function will only be available when the ssh2 extension is compiled with libssh >= 1.2.3.

Parámetros

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

username

Remote user name.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Authenticating with a ssh agent

<?php
$connection = ssh2_connect('shell.example.com', 22);

if (ssh2_auth_agent($connection, 'username')) {
  echo "Authentication Successful!\n";
} else {
  die('Authentication Failed...');
}
?>

Funciones de SSH2
ssh2_auth_hostbased_file
Funciones de SSH2


Authenticate using a public hostkey

ssh2_auth_agent
ssh2_auth_none
Funciones de SSH2
PHP Manual

ssh2_auth_hostbased_file

(PECL ssh2 >= 0.9.0)

ssh2_auth_hostbased_file — Authenticate using a public hostkey

Descripción

bool ssh2_auth_hostbased_file ( resource $session , string $username , string $hostname , string $pubkeyfile , string $privkeyfile [, string $passphrase [, string $local_username ]] )

Authenticate using a public hostkey read from a file.

Parámetros

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

username

hostname

pubkeyfile

privkeyfile

passphrase

If privkeyfile is encrypted (which it should be), the passphrase must be provided.

local_username

If local_username is omitted, then the value for username will be used for it.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Authentication using a public hostkey

<?php
$connection = ssh2_connect('shell.example.com', 22, array('hostkey'=>'ssh-rsa'));

if (ssh2_auth_hostbased_file($connection, 'remoteusername', 'myhost.example.com',
                             '/usr/local/etc/hostkey_rsa.pub',
                             '/usr/local/etc/hostkey_rsa', 'secret',
                             'localusername')) {
  echo "Public Key Hostbased Authentication Successful\n";
} else {
  die('Public Key Hostbased Authentication Failed');
}
?>

Notas

Nota:

ssh2_auth_hostbased_file() requires libssh2 >= 0.7 and PHP/SSH2 >= 0.7

ssh2_auth_agent
ssh2_auth_none
Funciones de SSH2


Authenticate as "none"

ssh2_auth_hostbased_file
ssh2_auth_password
Funciones de SSH2
PHP Manual

ssh2_auth_none

(PECL ssh2 >= 0.9.0)

ssh2_auth_none — Authenticate as "none"

Descripción

mixed ssh2_auth_none ( resource $session , string $username )

Attempt "none" authentication which usually will (and should) fail. As part of the failure, this function will return an array of accepted authentication methods.

Parámetros

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

username

Remote user name.

Valores devueltos

Returns TRUE if the server does accept "none" as an authentication method, or an array of accepted authentication methods on failure.

Ejemplos

Ejemplo #1 Retrieving a list of authentication methods

<?php
$connection = ssh2_connect('shell.example.com', 22);

$auth_methods = ssh2_auth_none($connection, 'user');

if (in_array('password', $auth_methods)) {
  echo "Server supports password based authentication\n";
}
?>

ssh2_auth_hostbased_file
ssh2_auth_password
Funciones de SSH2


Authenticate over SSH using a plain password

ssh2_auth_none
ssh2_auth_pubkey_file
Funciones de SSH2
PHP Manual

ssh2_auth_password

(PECL ssh2 >= 0.9.0)

ssh2_auth_password — Authenticate over SSH using a plain password

Descripción

bool ssh2_auth_password ( resource $session , string $username , string $password )

Authenticate over SSH using a plain password. Since version 0.12 this function also supports keyboard_interactive method.

Parámetros

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

username

Remote user name.

password

Password for username

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Authenticating with a password

<?php
$connection = ssh2_connect('shell.example.com', 22);

if (ssh2_auth_password($connection, 'username', 'secret')) {
  echo "Authentication Successful!\n";
} else {
  die('Authentication Failed...');
}
?>

ssh2_auth_none
ssh2_auth_pubkey_file
Funciones de SSH2


Authenticate using a public key

ssh2_auth_password
ssh2_connect
Funciones de SSH2
PHP Manual

ssh2_auth_pubkey_file

(PECL ssh2 >= 0.9.0)

ssh2_auth_pubkey_file — Authenticate using a public key

Descripción

bool ssh2_auth_pubkey_file ( resource $session , string $username , string $pubkeyfile , string $privkeyfile [, string $passphrase ] )

Authenticate using a public key read from a file.

Parámetros

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

username

pubkeyfile

The public key file needs to be in OpenSSH's format. It should look something like:

ssh-rsa AAAAB3NzaC1yc2EAAA....NX6sqSnHA8= rsa-key-20121110

privkeyfile

passphrase

If privkeyfile is encrypted (which it should be), the passphrase must be provided.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Authentication using a public key

<?php
$connection = ssh2_connect('shell.example.com', 22, array('hostkey'=>'ssh-rsa'));

if (ssh2_auth_pubkey_file($connection, 'username',
                          '/home/username/.ssh/id_rsa.pub',
                          '/home/username/.ssh/id_rsa', 'secret')) {
  echo "Public Key Authentication Successful\n";
} else {
  die('Public Key Authentication Failed');
}
?>

ssh2_auth_password
ssh2_connect
Funciones de SSH2


Connect to an SSH server

ssh2_auth_pubkey_file
ssh2_exec
Funciones de SSH2
PHP Manual

ssh2_connect

(PECL ssh2 >= 0.9.0)

ssh2_connect — Connect to an SSH server

Descripción

resource ssh2_connect ( string $host [, int $port = 22 [, array $methods [, array $callbacks ]]] )

Establish a connection to a remote SSH server.

Once connected, the client should verify the server's hostkey using ssh2_fingerprint(), then authenticate using either password or public key.

Parámetros

host

port

methods

methods may be an associative array with up to four parameters as described below.

methods may be an associative array with any or all of the following parameters.
Index | Meaning | Supported Values*
kex | List of key exchange methods to advertise, comma separated in order of preference. | diffie-hellman-group1-sha1, diffie-hellman-group14-sha1, and diffie-hellman-group-exchange-sha1
hostkey | List of hostkey methods to advertise, comma separated in order of preference. | ssh-rsa and ssh-dss
client_to_server | Associative array containing crypt, compression, and message authentication code (MAC) method preferences for messages sent from client to server.
server_to_client | Associative array containing crypt, compression, and message authentication code (MAC) method preferences for messages sent from server to client.

* - Supported Values are dependent on methods supported by underlying library. See » libssh2 documentation for additional information.

client_to_server and server_to_client may be an associative array with any or all of the following parameters.
Index | Meaning | Supported Values*
crypt | List of crypto methods to advertise, comma separated in order of preference. | rijndael-cbc@lysator.liu.se, aes256-cbc, aes192-cbc, aes128-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, arcfour, and none**
comp | List of compression methods to advertise, comma separated in order of preference. | zlib and none
mac | List of MAC methods to advertise, comma separated in order of preference. | hmac-sha1, hmac-sha1-96, hmac-ripemd160, hmac-ripemd160@openssh.com, and none**

Nota: Crypt and MAC method "none"

For security reasons, none is disabled by the underlying » libssh2 library unless explicitly enabled during build time by using the appropriate ./configure options. See documentation for the underlying library for more information.

callbacks

callbacks may be an associative array with any or all of the following parameters.

Callbacks parameters
Index | Meaning | Prototype
ignore | Name of function to call when an SSH2_MSG_IGNORE packet is received | void ignore_cb($message)
debug | Name of function to call when an SSH2_MSG_DEBUG packet is received | void debug_cb($message, $language, $always_display)
macerror | Name of function to call when a packet is received but the message authentication code failed. If the callback returns TRUE, the mismatch will be ignored, otherwise the connection will be terminated. | bool macerror_cb($packet)
disconnect | Name of function to call when an SSH2_MSG_DISCONNECT packet is received | void disconnect_cb($reason, $message, $language)

Valores devueltos

Returns a resource on success, or FALSE on error.

Ejemplos

Ejemplo #1 ssh2_connect() example

Open a connection forcing 3des-cbc when sending packets, any strength aes cipher when receiving packets, no compression in either direction, and Group1 key exchange.

<?php
/* Notify the user if the server terminates the connection */
function my_ssh_disconnect($reason, $message, $language) {
  printf("Server disconnected with reason code [%d] and message: %s\n",
         $reason, $message);
}

$methods = array(
  'kex' => 'diffie-hellman-group1-sha1',
  'client_to_server' => array(
    'crypt' => '3des-cbc',
    'comp' => 'none'),
  'server_to_client' => array(
    'crypt' => 'aes256-cbc,aes192-cbc,aes128-cbc',
    'comp' => 'none'));

$callbacks = array('disconnect' => 'my_ssh_disconnect');

$connection = ssh2_connect('shell.example.com', 22, $methods, $callbacks);
if (!$connection) die('Connection failed');
?>

Ver también

  • ssh2_fingerprint() - Retrieve fingerprint of remote server
  • ssh2_auth_none() - Authenticate as "none"
  • ssh2_auth_password() - Authenticate over SSH using a plain password
  • ssh2_auth_pubkey_file() - Authenticate using a public key

ssh2_auth_pubkey_file
ssh2_exec
Funciones de SSH2


Execute a command on a remote server

ssh2_connect
ssh2_fetch_stream
Funciones de SSH2
PHP Manual

ssh2_exec

(PECL ssh2 >= 0.9.0)

ssh2_exec — Execute a command on a remote server

Descripción

resource ssh2_exec ( resource $session , string $command [, string $pty [, array $env [, int $width = 80 [, int $height = 25 [, int $width_height_type = SSH2_TERM_UNIT_CHARS ]]]]] )

Execute a command at the remote end and allocate a channel for it.

Parámetros

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

command

pty

env

env may be passed as an associative array of name/value pairs to set in the target environment.

width

Width of the virtual terminal.

height

Height of the virtual terminal.

width_height_type

width_height_type should be one of SSH2_TERM_UNIT_CHARS or SSH2_TERM_UNIT_PIXELS.

Valores devueltos

Returns a stream on success o FALSE en caso de error.

Ejemplos

Ejemplo #1 Executing a command

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$stream = ssh2_exec($connection, '/usr/local/bin/php -i');
?>

Ver también

  • ssh2_connect() - Connect to an SSH server
  • ssh2_shell() - Request an interactive shell
  • ssh2_tunnel() - Open a tunnel through a remote server

ssh2_connect
ssh2_fetch_stream
Funciones de SSH2


Fetch an extended data stream

ssh2_exec
ssh2_fingerprint
Funciones de SSH2
PHP Manual

ssh2_fetch_stream

(PECL ssh2 >= 0.9.0)

ssh2_fetch_stream — Fetch an extended data stream

Descripción

resource ssh2_fetch_stream ( resource $channel , int $streamid )

Fetches an alternate substream associated with an SSH2 channel stream. The SSH2 protocol currently defines only one substream, STDERR, which has a substream ID of SSH2_STREAM_STDERR (defined as 1).

Parámetros

channel

streamid

An SSH2 channel stream.

Valores devueltos

Returns the requested stream resource.

Ejemplos

Ejemplo #1 Opening a shell and retrieving the stderr stream associated with it

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$stdio_stream = ssh2_shell($connection);
$stderr_stream = ssh2_fetch_stream($stdio_stream, SSH2_STREAM_STDERR);
?>

Ver también

  • ssh2_shell() - Request an interactive shell
  • ssh2_exec() - Execute a command on a remote server
  • ssh2_connect() - Connect to an SSH server

ssh2_exec
ssh2_fingerprint
Funciones de SSH2


Retrieve fingerprint of remote server

ssh2_fetch_stream
ssh2_methods_negotiated
Funciones de SSH2
PHP Manual

ssh2_fingerprint

(PECL ssh2 >= 0.9.0)

ssh2_fingerprint — Retrieve fingerprint of remote server

Descripción

string ssh2_fingerprint ( resource $session [, int $flags = SSH2_FINGERPRINT_MD5 | SSH2_FINGERPRINT_HEX ] )

Returns a server hostkey hash from an active session.

Parámetros

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

flags

flags may be either of SSH2_FINGERPRINT_MD5 or SSH2_FINGERPRINT_SHA1 logically ORed with SSH2_FINGERPRINT_HEX or SSH2_FINGERPRINT_RAW.

Valores devueltos

Returns the hostkey hash as a string.

Ejemplos

Ejemplo #1 Checking the fingerprint against a known value

<?php
$known_host = '6F89C2F0A719B30CC38ABDF90755F2E4';

$connection = ssh2_connect('shell.example.com', 22);

$fingerprint = ssh2_fingerprint($connection,
               SSH2_FINGERPRINT_MD5 | SSH2_FINGERPRINT_HEX);

if ($fingerprint != $known_host) {
  die("HOSTKEY MISMATCH!\n" .
      "Possible Man-In-The-Middle Attack?");
}
?>

ssh2_fetch_stream
ssh2_methods_negotiated
Funciones de SSH2


Return list of negotiated methods

ssh2_fingerprint
ssh2_publickey_add
Funciones de SSH2
PHP Manual

ssh2_methods_negotiated

(PECL ssh2 >= 0.9.0)

ssh2_methods_negotiated — Return list of negotiated methods

Descripción

array ssh2_methods_negotiated ( resource $session )

Returns list of negotiated methods.

Parámetros

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

Valores devueltos

Ejemplos

Ejemplo #1 Determining what methods were negotiated

<?php
$connection = ssh2_connect('shell.example.com', 22);
$methods = ssh2_methods_negotiated($connection);

echo "Encryption keys were negotiated using: {$methods['kex']}\n";
echo "Server identified using an {$methods['hostkey']} with ";
echo "fingerprint: " . ssh2_fingerprint($connection) . "\n";

echo "Client to Server packets will use methods:\n";
echo "\tCrypt: {$methods['client_to_server']['crypt']}\n";
echo "\tComp: {$methods['client_to_server']['comp']}\n";
echo "\tMAC: {$methods['client_to_server']['mac']}\n";

echo "Server to Client packets will use methods:\n";
echo "\tCrypt: {$methods['server_to_client']['crypt']}\n";
echo "\tComp: {$methods['server_to_client']['comp']}\n";
echo "\tMAC: {$methods['server_to_client']['mac']}\n";

?>

Ver también

  • ssh2_connect() - Connect to an SSH server

ssh2_fingerprint
ssh2_publickey_add
Funciones de SSH2


Add an authorized publickey

ssh2_methods_negotiated
ssh2_publickey_init
Funciones de SSH2
PHP Manual

ssh2_publickey_add

(PECL ssh2 >= 0.10)

ssh2_publickey_add — Add an authorized publickey

Descripción

bool ssh2_publickey_add ( resource $pkey , string $algoname , string $blob [, bool $overwrite = false [, array $attributes ]] )

Nota: El subsistema de clave pública es utilizado para administrar claves públicas en un servidor al que el cliente ya está autenticado. Para autenticar a un sistema remoto usando autenticación de clave pública, use la función ssh2_auth_pubkey_file() en cambio.

Parámetros

pkey

Publickey Subsystem resource created by ssh2_publickey_init().

algoname

Publickey algorithm (e.g.): ssh-dss, ssh-rsa

blob

Publickey blob as raw binary data

overwrite

If the specified key already exists, should it be overwritten?

attributes

Associative array of attributes to assign to this public key. Refer to ietf-secsh-publickey-subsystem for a list of supported attributes. To mark an attribute as mandatory, precede its name with an asterisk. If the server is unable to support an attribute marked mandatory, it will abort the add process.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Adding a publickey with ssh2_publickey_add()

<?php
$ssh2 = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($ssh2, 'jdoe', 'password');
$pkey = ssh2_publickey_init($ssh2);

$keyblob = base64_decode('
AAAAB3NzaC1yc2EAAAABIwAAAIEA5HVt6VqSGd5PTrLRdjNONxXH1tVFGn0
Bd26BF0aCP9qyJRlvdJ3j4WBeX4ZmrveGrjMgkseSYc4xZ26sDHwfL351xj
zaLpipu\BGRrw17mWVBhuCExo476ri5tQFzbTc54VEHYckxQ16CjSTibI5X
69GmnYC9PNqEYq/1TP+HF10=');

ssh2_publickey_add($pkey, 'ssh-rsa', $keyblob, false, array('comment'=>"John's Key"));
?>

Ver también

  • ssh2_publickey_init() - Initialize Publickey subsystem
  • ssh2_publickey_remove() - Remove an authorized publickey
  • ssh2_publickey_list() - List currently authorized publickeys

ssh2_methods_negotiated
ssh2_publickey_init
Funciones de SSH2


Initialize Publickey subsystem

ssh2_publickey_add
ssh2_publickey_list
Funciones de SSH2
PHP Manual

ssh2_publickey_init

(PECL ssh2 >= 0.10)

ssh2_publickey_init — Initialize Publickey subsystem

Descripción

resource ssh2_publickey_init ( resource $session )

Request the Publickey subsystem from an already connected SSH2 server.

The publickey subsystem allows an already connected and authenticated client to manage the list of authorized public keys stored on the target server in an implementation agnostic manner. If the remote server does not support the publickey subsystem, the ssh2_publickey_init() function will return FALSE.

Parámetros

session

Valores devueltos

Returns an SSH2 Publickey Subsystem resource for use with all other ssh2_publickey_*() methods o FALSE en caso de error.

Notas

Nota: El subsistema de clave pública es utilizado para administrar claves públicas en un servidor al que el cliente ya está autenticado. Para autenticar a un sistema remoto usando autenticación de clave pública, use la función ssh2_auth_pubkey_file() en cambio.

Ver también

  • ssh2_publickey_add() - Add an authorized publickey
  • ssh2_publickey_remove() - Remove an authorized publickey
  • ssh2_publickey_list() - List currently authorized publickeys

ssh2_publickey_add
ssh2_publickey_list
Funciones de SSH2


List currently authorized publickeys

ssh2_publickey_init
ssh2_publickey_remove
Funciones de SSH2
PHP Manual

ssh2_publickey_list

(PECL ssh2 >= 0.10)

ssh2_publickey_list — List currently authorized publickeys

Descripción

array ssh2_publickey_list ( resource $pkey )

List currently authorized publickeys.

Parámetros

pkey

Publickey Subsystem resource

Valores devueltos

Returns a numerically indexed array of keys, each of which is an associative array containing: name, blob, and attrs elements.

Publickey elements
Array Key | Meaning
name | Name of algorithm used by this publickey, for example: ssh-dss or ssh-rsa.
blob | Publickey blob as raw binary data.
attrs | Attributes assigned to this publickey. The most common attribute, and the only one supported by publickey version 1 servers, is comment, which may be any freeform string.

Ejemplos

Ejemplo #1 Listing authorized keys with ssh2_publickey_list()

<?php
$ssh2 = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($ssh2, 'jdoe', 'secret');
$pkey = ssh2_publickey_init($ssh2);

$list = ssh2_publickey_list($pkey);

foreach($list as $key) {
  echo "Key: {$key['name']}\n";
  echo "Blob: " . chunk_split(base64_encode($key['blob']), 40, "\n") . "\n";
  echo "Comment: {$key['attrs']['comment']}\n\n";
}
?>

El resultado del ejemplo sería:

Key: ssh-rsa
Blob: AAAAB3NzaC1yc2EAAAABIwAAAIEA5HVt6VqSGd5P
TrLRdjNONxXH1tVFGn0Bd26BF0aCP9qyJRlvdJ3j
4WBeX4ZmrveGrjMgkseSYc4xZ26sDHwfL351xjza
Lpipu\BGRrw17mWVBhuCExo476ri5tQFzbTc54VE
HYckxQ16CjSTibI5X69GmnYC9PNqEYq/1TP+HF10
Comment: John's Key

Key: ssh-rsa
Blob: AAAAB3NzaHVt6VqSGd5C1yc2EAAAABIwA232dnJA
AIEA5HVt6VqSGd5PTrLRdjNONxX/1TP+HF1HVt6V
qSGd50H1tVFGn0BB3NzaC1yc2EAd26BF0aCP9qyJ
RlvdJ3j4WBeX4ZmrveGrjMgkseSYc4xZ26HVt6Vq
SGd5sDHwfL351xjzaLpipu\BGB3NzaC1yc2EA/1T
Comment: Alice's Key

Notas

Nota: El subsistema de clave pública es utilizado para administrar claves públicas en un servidor al que el cliente ya está autenticado. Para autenticar a un sistema remoto usando autenticación de clave pública, use la función ssh2_auth_pubkey_file() en cambio.

Ver también

  • ssh2_publickey_init() - Initialize Publickey subsystem
  • ssh2_publickey_add() - Add an authorized publickey
  • ssh2_publickey_remove() - Remove an authorized publickey

ssh2_publickey_init
ssh2_publickey_remove
Funciones de SSH2


Remove an authorized publickey

ssh2_publickey_list
ssh2_scp_recv
Funciones de SSH2
PHP Manual

ssh2_publickey_remove

(PECL ssh2 >= 0.10)

ssh2_publickey_remove — Remove an authorized publickey

Descripción

bool ssh2_publickey_remove ( resource $pkey , string $algoname , string $blob )

Removes an authorized publickey.

Parámetros

pkey

Publickey Subsystem Resource

algoname

Publickey algorithm (e.g.): ssh-dss, ssh-rsa

blob

Publickey blob as raw binary data

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota: El subsistema de clave pública es utilizado para administrar claves públicas en un servidor al que el cliente ya está autenticado. Para autenticar a un sistema remoto usando autenticación de clave pública, use la función ssh2_auth_pubkey_file() en cambio.

Ver también

  • ssh2_publickey_init() - Initialize Publickey subsystem
  • ssh2_publickey_add() - Add an authorized publickey
  • ssh2_publickey_list() - List currently authorized publickeys

ssh2_publickey_list
ssh2_scp_recv
Funciones de SSH2


Request a file via SCP

ssh2_publickey_remove
ssh2_scp_send
Funciones de SSH2
PHP Manual

ssh2_scp_recv

(PECL ssh2 >= 0.9.0)

ssh2_scp_recv — Request a file via SCP

Descripción

bool ssh2_scp_recv ( resource $session , string $remote_file , string $local_file )

Copy a file from the remote server to the local filesystem using the SCP protocol.

Parámetros

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

remote_file

Path to the remote file.

local_file

Path to the local file.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Downloading a file via SCP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

ssh2_scp_recv($connection, '/remote/filename', '/local/filename');
?>

Ver también

  • ssh2_scp_send() - Send a file via SCP
  • copy() - Copia archivos

ssh2_publickey_remove
ssh2_scp_send
Funciones de SSH2


Send a file via SCP

ssh2_scp_recv
ssh2_sftp_chmod
Funciones de SSH2
PHP Manual

ssh2_scp_send

(PECL ssh2 >= 0.9.0)

ssh2_scp_send — Send a file via SCP

Descripción

bool ssh2_scp_send ( resource $session , string $local_file , string $remote_file [, int $create_mode = 0644 ] )

Copy a file from the local filesystem to the remote server using the SCP protocol.

Parámetros

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

local_file

Path to the local file.

remote_file

Path to the remote file.

create_mode

The file will be created with the mode specified by create_mode.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Uploading a file via SCP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

ssh2_scp_send($connection, '/local/filename', '/remote/filename', 0644);
?>

Ver también

  • ssh2_scp_recv() - Request a file via SCP
  • copy() - Copia archivos

ssh2_scp_recv
ssh2_sftp_chmod
Funciones de SSH2


Changes file mode

ssh2_scp_send
ssh2_sftp_lstat
Funciones de SSH2
PHP Manual

ssh2_sftp_chmod

(PECL ssh2 >= 0.12)

ssh2_sftp_chmod — Changes file mode

Descripción

bool ssh2_sftp_chmod ( resource $sftp , string $filename , int $mode )

Attempts to change the mode of the specified file to that given in mode.

Parámetros

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

filename

Path to the file.

mode

Permissions on the file. See the chmod() for more details on this parameter.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Creating a directory on a remote server

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_chmod($sftp, '/somedir/somefile', 0755);
?>

Ver también

  • chmod() - Cambia el modo de archivo
  • ssh2_sftp() - Initialize SFTP subsystem
  • ssh2_connect() - Connect to an SSH server

ssh2_scp_send
ssh2_sftp_lstat
Funciones de SSH2


Stat a symbolic link

ssh2_sftp_chmod
ssh2_sftp_mkdir
Funciones de SSH2
PHP Manual

ssh2_sftp_lstat

(PECL ssh2 >= 0.9.0)

ssh2_sftp_lstat — Stat a symbolic link

Descripción

array ssh2_sftp_lstat ( resource $sftp , string $path )

Stats a symbolic link on the remote filesystem without following the link.

This function is similar to using the lstat() function with the ssh2.sftp:// wrapper in PHP 5 and returns the same values.

Parámetros

sftp

path

Path to the remote symbolic link.

Valores devueltos

See the documentation for stat() for details on the values which may be returned.

Ejemplos

Ejemplo #1 Stating a symbolic link via SFTP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$sftp = ssh2_sftp($connection);
$statinfo = ssh2_sftp_lstat($sftp, '/path/to/symlink');

$filesize = $statinfo['size'];
$group = $statinfo['gid'];
$owner = $statinfo['uid'];
$atime = $statinfo['atime'];
$mtime = $statinfo['mtime'];
$mode = $statinfo['mode'];
?>

Ver también

  • ssh2_sftp_stat() - Stat a file on a remote filesystem
  • lstat() - Da información acerca de un archivo o enlace simbólico
  • stat() - Da información acerca de un fichero

ssh2_sftp_chmod
ssh2_sftp_mkdir
Funciones de SSH2


Create a directory

ssh2_sftp_lstat
ssh2_sftp_readlink
Funciones de SSH2
PHP Manual

ssh2_sftp_mkdir

(PECL ssh2 >= 0.9.0)

ssh2_sftp_mkdir — Create a directory

Descripción

bool ssh2_sftp_mkdir ( resource $sftp , string $dirname [, int $mode = 0777 [, bool $recursive = false ]] )

Creates a directory on the remote file server with permissions set to mode.

This function is similar to using mkdir() with the ssh2.sftp:// wrapper.

Parámetros

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

dirname

Path of the new directory.

mode

Permissions on the new directory.

recursive

If recursive is TRUE any parent directories required for dirname will be automatically created as well.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Creating a directory on a remote server

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_mkdir($sftp, '/home/username/newdir');
/* Or:  mkdir("ssh2.sftp://$sftp/home/username/newdir"); */
?>

Ver también

  • mkdir() - Crea un directorio
  • ssh2_sftp_rmdir() - Remove a directory

ssh2_sftp_lstat
ssh2_sftp_readlink
Funciones de SSH2


Return the target of a symbolic link

ssh2_sftp_mkdir
ssh2_sftp_realpath
Funciones de SSH2
PHP Manual

ssh2_sftp_readlink

(PECL ssh2 >= 0.9.0)

ssh2_sftp_readlink — Return the target of a symbolic link

Descripción

string ssh2_sftp_readlink ( resource $sftp , string $link )

Returns the target of a symbolic link.

Parámetros

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

link

Path of the symbolic link.

Valores devueltos

Returns the target of the symbolic link.

Ejemplos

Ejemplo #1 Reading a symbolic link

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

$target = ssh2_sftp_readlink($sftp, '/tmp/mysql.sock');
/* $target is now (e.g.): '/var/run/mysql.sock' */
?>

Ver también

  • readlink() - Devuelve el objetivo de un enlace simbólico
  • ssh2_sftp_symlink() - Create a symlink

ssh2_sftp_mkdir
ssh2_sftp_realpath
Funciones de SSH2


Resolve the realpath of a provided path string

ssh2_sftp_readlink
ssh2_sftp_rename
Funciones de SSH2
PHP Manual

ssh2_sftp_realpath

(PECL ssh2 >= 0.9.0)

ssh2_sftp_realpath — Resolve the realpath of a provided path string

Descripción

string ssh2_sftp_realpath ( resource $sftp , string $filename )

Translates filename into the effective real path on the remote filesystem.

Parámetros

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

filename

Valores devueltos

Returns the real path as a string.

Ejemplos

Ejemplo #1 Resolving a pathname

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

$realpath = ssh2_sftp_realpath($sftp, '/home/username/../../../..//./usr/../etc/passwd');
/* $realpath is now: '/etc/passwd' */
?>

Ver también

  • realpath() - Devuelve el nombre de la ruta absoluta canonizado
  • ssh2_sftp_symlink() - Create a symlink
  • ssh2_sftp_readlink() - Return the target of a symbolic link

ssh2_sftp_readlink
ssh2_sftp_rename
Funciones de SSH2


Rename a remote file

ssh2_sftp_realpath
ssh2_sftp_rmdir
Funciones de SSH2
PHP Manual

ssh2_sftp_rename

(PECL ssh2 >= 0.9.0)

ssh2_sftp_rename — Rename a remote file

Descripción

bool ssh2_sftp_rename ( resource $sftp , string $from , string $to )

Renames a file on the remote filesystem.

Parámetros

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

from

The current file that is being renamed.

to

The new file name that replaces from.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Renaming a file via sftp

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_rename($sftp, '/home/username/oldname', '/home/username/newname');
?>

Ver también

  • rename() - Renombra un archivo o directorio

ssh2_sftp_realpath
ssh2_sftp_rmdir
Funciones de SSH2


Remove a directory

ssh2_sftp_rename
ssh2_sftp_stat
Funciones de SSH2
PHP Manual

ssh2_sftp_rmdir

(PECL ssh2 >= 0.9.0)

ssh2_sftp_rmdir — Remove a directory

Descripción

bool ssh2_sftp_rmdir ( resource $sftp , string $dirname )

Removes a directory from the remote file server.

This function is similar to using rmdir() with the ssh2.sftp:// wrapper.

Parámetros

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

dirname

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Removing a directory on a remote server

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_rmdir($sftp, '/home/username/deltodel');
/* Or:  rmdir("ssh2.sftp://$sftp/home/username/dirtodel"); */
?>

Ver también

  • rmdir() - Elimina un directorio
  • ssh2_sftp_mkdir() - Create a directory

ssh2_sftp_rename
ssh2_sftp_stat
Funciones de SSH2


Stat a file on a remote filesystem

ssh2_sftp_rmdir
ssh2_sftp_symlink
Funciones de SSH2
PHP Manual

ssh2_sftp_stat

(PECL ssh2 >= 0.9.0)

ssh2_sftp_stat — Stat a file on a remote filesystem

Descripción

array ssh2_sftp_stat ( resource $sftp , string $path )

Stats a file on the remote filesystem following any symbolic links.

This function is similar to using the stat() function with the ssh2.sftp:// wrapper in PHP 5 and returns the same values.

Parámetros

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

path

Valores devueltos

See the documentation for stat() for details on the values which may be returned.

Ejemplos

Ejemplo #1 Stating a file via SFTP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$sftp = ssh2_sftp($connection);
$statinfo = ssh2_sftp_stat($sftp, '/path/to/file');

$filesize = $statinfo['size'];
$group = $statinfo['gid'];
$owner = $statinfo['uid'];
$atime = $statinfo['atime'];
$mtime = $statinfo['mtime'];
$mode = $statinfo['mode'];
?>

Ver también

  • ssh2_sftp_lstat() - Stat a symbolic link
  • lstat() - Da información acerca de un archivo o enlace simbólico
  • stat() - Da información acerca de un fichero

ssh2_sftp_rmdir
ssh2_sftp_symlink
Funciones de SSH2


Create a symlink

ssh2_sftp_stat
ssh2_sftp_unlink
Funciones de SSH2
PHP Manual

ssh2_sftp_symlink

(PECL ssh2 >= 0.9.0)

ssh2_sftp_symlink — Create a symlink

Descripción

bool ssh2_sftp_symlink ( resource $sftp , string $target , string $link )

Creates a symbolic link named link on the remote filesystem pointing to target.

Parámetros

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

target

Target of the symbolic link.

link

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Creating a symbolic link

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_symlink($sftp, '/var/run/mysql.sock', '/tmp/mysql.sock');
?>

Ver también

  • ssh2_sftp_readlink() - Return the target of a symbolic link
  • symlink() - Crea un enlace simbólico

ssh2_sftp_stat
ssh2_sftp_unlink
Funciones de SSH2


Delete a file

ssh2_sftp_symlink
ssh2_sftp
Funciones de SSH2
PHP Manual

ssh2_sftp_unlink

(PECL ssh2 >= 0.9.0)

ssh2_sftp_unlink — Delete a file

Descripción

bool ssh2_sftp_unlink ( resource $sftp , string $filename )

Deletes a file on the remote filesystem.

Parámetros

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

filename

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Deleting a file

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_unlink($sftp, '/home/username/stale_file');
?>

Ver también

  • unlink() - Borra un archivo

ssh2_sftp_symlink
ssh2_sftp
Funciones de SSH2


Initialize SFTP subsystem

ssh2_sftp_unlink
ssh2_shell
Funciones de SSH2
PHP Manual

ssh2_sftp

(PECL ssh2 >= 0.9.0)

ssh2_sftp — Initialize SFTP subsystem

Descripción

resource ssh2_sftp ( resource $session )

Request the SFTP subsystem from an already connected SSH2 server.

Parámetros

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

Valores devueltos

This method returns an SSH2 SFTP resource for use with all other ssh2_sftp_*() methods and the ssh2.sftp:// fopen wrapper.

Ejemplos

Ejemplo #1 Opening a file via SFTP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$sftp = ssh2_sftp($connection);

$stream = fopen("ssh2.sftp://$sftp/path/to/file", 'r');
?>

Ver también

  • ssh2_scp_recv() - Request a file via SCP
  • ssh2_scp_send() - Send a file via SCP

ssh2_sftp_unlink
ssh2_shell
Funciones de SSH2


Request an interactive shell

ssh2_sftp
ssh2_tunnel
Funciones de SSH2
PHP Manual

ssh2_shell

(PECL ssh2 >= 0.9.0)

ssh2_shell — Request an interactive shell

Descripción

resource ssh2_shell ( resource $session [, string $term_type = "vanilla" [, array $env [, int $width = 80 [, int $height = 25 [, int $width_height_type = SSH2_TERM_UNIT_CHARS ]]]]] )

Open a shell at the remote end and allocate a stream for it.

Parámetros

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

term_type

term_type should correspond to one of the entries in the target system's /etc/termcap file.

env

env may be passed as an associative array of name/value pairs to set in the target environment.

width

Width of the virtual terminal.

height

Height of the virtual terminal.

width_height_type

width_height_type should be one of SSH2_TERM_UNIT_CHARS or SSH2_TERM_UNIT_PIXELS.

Valores devueltos

Ejemplos

Ejemplo #1 Executing a command

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$stream = ssh2_shell($connection, 'vt102', null, 80, 24, SSH2_TERM_UNIT_CHARS);
?>

Ver también

  • ssh2_exec() - Execute a command on a remote server
  • ssh2_tunnel() - Open a tunnel through a remote server
  • ssh2_fetch_stream() - Fetch an extended data stream

ssh2_sftp
ssh2_tunnel
Funciones de SSH2


Open a tunnel through a remote server

ssh2_shell
Stomp
Funciones de SSH2
PHP Manual

ssh2_tunnel

(PECL ssh2 >= 0.9.0)

ssh2_tunnel — Open a tunnel through a remote server

Descripción

resource ssh2_tunnel ( resource $session , string $host , int $port )

Open a socket stream to an arbitrary host/port by way of the currently connected SSH server.

Parámetros

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

host

port

Valores devueltos

Ejemplos

Ejemplo #1 Opening a tunnel to an arbitrary host

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_pubkey_file($connection, 'username', 'id_dsa.pub', 'id_dsa');

$tunnel = ssh2_tunnel($connection, '10.0.0.101', 12345);
?>

Ver también

  • ssh2_connect() - Connect to an SSH server
  • fsockopen() - Abre una conexión vía sockets a Internet o a un dominio Unix

ssh2_shell
Stomp
Funciones de SSH2


Cliente Stomp

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Ejemplos
  • Funciones Stomp
    • stomp_connect_error — Devuelve una cadena descripción de el último error al conectar
    • stomp_version — Obtiene la versión actual de la extensión stomp
  • Stomp — La clase Stomp
    • Stomp::abort — Deshacer una transacción en curso
    • Stomp::ack — Confirmar la recepción y el consumo de un mensaje
    • Stomp::begin — Iniciar una transacción
    • Stomp::commit — Validar una transacción en curso
    • Stomp::__construct — Abre una conexión
    • Stomp::__destruct — Cierra una conexión stomp
    • Stomp::error — Obtiene el último error stomp
    • Stomp::getReadTimeout — Obtener la lectura del tiempo de espera de la solicitud
    • Stomp::getSessionId — Obtiene el identificador de sesión actual stomp
    • Stomp::hasFrame — Indica si existe o no una trama lista para leer
    • Stomp::readFrame — Leer la siguiente trama
    • Stomp::send — Envía un mensaje
    • Stomp::setReadTimeout — Establecer el tiempo de espera de lectura
    • Stomp::subscribe — Registrarse para escuchar a un destino dado
    • Stomp::unsubscribe — Dar de baja una suscripción existente
  • StompFrame — La clase StompFrame
    • StompFrame::__construct — Constructor
  • StompException — La clase StompException
    • StompException::getDetails — Obtener detalles de la excepción
ssh2_tunnel
Introducción
Otros servicios


Introducción

Esta extensión permite a aplicaciones php comunicarse con cualquier Message Brokers compatible con el protocolo STOMP, a través de sencillas interfaces procedurales orientadas a objetos. » Stomp official site

Stomp
Instalación/Configuración
Stomp


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Stomp


Requerimientos

PECL/stomp requires PHP 5.2.2 or newer.

El paquete » OpenSSL >= 0.9.6 y la extensión openssl pueden ser también requeridos para utilizar stomp a través de SSL.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/stomp

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración Stomp
Nombre | Por defecto | Cambiable | Historial de cambios
stomp.default_broker | tcp://localhost:61613 | PHP_INI_ALL |
stomp.default_connection_timeout_sec | 2 | PHP_INI_ALL |
stomp.default_connection_timeout_usec | 0 | PHP_INI_ALL |
stomp.default_read_timeout_sec | 2 | PHP_INI_ALL |
stomp.default_read_timeout_usec | 0 | PHP_INI_ALL |

He aquí una breve explicación de las directivas de configuración.

stomp.default_broker string

La URI broker por defecto a utilizar cuando conectemos a el message broker si otra URI no es especificada.

stomp.default_connection_timeout_sec integer

Los segundos parte del tiempo de espera de la solicitud de conexión por defecto.

stomp.default_connection_timeout_usec integer

Los microsegundos parte del tiempo de espera de la solicitud de conexión por defecto.

stomp.default_read_timeout_sec integer

Los segundos parte del tiempo de espera de lectura por defecto.

stomp.default_read_timeout_usec integer

Los microsegundos parte del tiempo de espera de lectura por defecto.

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Sólo hay un tipo de recurso utilizado en la extensión stomp - este es el identificador de enlace para una conexión stomp.

Configuración en tiempo de ejecución
Ejemplos
Instalación/Configuración


Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

$queue  = '/queue/foo';
$msg    = 'bar';

/* conexión */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

/* Enviar un mensaje a la cola 'foo' */
$stomp->send($queue, $msg);

/* suscribirse a mensajes de la cola 'foo' */
$stomp->subscribe($queue);

/* leer una trama (frame) */
$frame = $stomp->readFrame();

if ($frame->body === $msg) {
    var_dump($frame);

    /* reconocer que la trama (frame) fue recibida */
    $stomp->ack($frame);
}

/* cerrar conexión */
unset($stomp);

?>

El resultado del ejemplo sería algo similar a:

object(StompFrame)#2 (3) {
  ["command"]=>
  string(7) "MESSAGE"
  ["headers"]=>
  array(5) {
    ["message-id"]=>
    string(41) "ID:php.net-55293-1257226743606-4:2:-1:1:1"
    ["destination"]=>
    string(10) "/queue/foo"
    ["timestamp"]=>
    string(13) "1257226805828"
    ["expires"]=>
    string(1) "0"
    ["priority"]=>
    string(1) "0"
  }
  ["body"]=>
  string(3) "bar"
}

Ejemplo #2 Estilo por procedimientos

<?php

$queue  = '/queue/foo';
$msg    = 'bar';

/* conexión */
$link = stomp_connect('ssl://localhost:61612');

/* comprobar la conexión */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

/* iniciar una transacción */
stomp_begin($link, 't1');

/* Enviar un mensaje a la cola 'foo' */
stomp_send($link, $queue, $msg, array('transaction' => 't1'));

/* confirmar una transacción */
stomp_commit($link, 't1');

/* suscribirse a mensajes de la cola 'foo' */
stomp_subscribe($link, $queue);

/* leer una trama (frame) */
$frame = stomp_read_frame($link);

if ($frame['body'] === $msg) {
    var_dump($frame);

    /* reconocer que la trama fue recibida */
    stomp_ack($link, $frame['headers']['message-id']);
}

/* cerrar conexión */
stomp_close($link);

?>

El resultado del ejemplo sería algo similar a:

array(3) {
  ["command"]=>
  string(7) "MESSAGE"
  ["body"]=>
  string(3) "bar"
  ["headers"]=>
  array(6) {
    ["transaction"]=>
    string(2) "t1"
    ["message-id"]=>
    string(41) "ID:php.net-55293-1257226743606-4:3:-1:1:1"
    ["destination"]=>
    string(10) "/queue/foo"
    ["timestamp"]=>
    string(13) "1257227037059"
    ["expires"]=>
    string(1) "0"
    ["priority"]=>
    string(1) "0"
  }
}

Tipos de recursos
Funciones Stomp
Stomp


Funciones Stomp

Tabla de contenidos

  • stomp_connect_error — Devuelve una cadena descripción de el último error al conectar
  • stomp_version — Obtiene la versión actual de la extensión stomp
Ejemplos
stomp_connect_error
Stomp


Devuelve una cadena descripción de el último error al conectar

Funciones Stomp
stomp_version
Funciones Stomp
PHP Manual

stomp_connect_error

(PECL stomp >= 0.3.0)

stomp_connect_error — Devuelve una cadena descripción de el último error al conectar

Descripción

string stomp_connect_error ( void )

Devuelve una cadena descripción de el último error al conectar.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Una cadena que describe el error, o NULL si no hay errores.

Ejemplos

Ejemplo #1 Ejemplo de stomp_connect_error()

<?php
$link = stomp_connect('http://localhost:61613');

if(!$link) {
    die('Connection failed: ' . stomp_connect_error());
}
?>

El resultado del ejemplo sería algo similar a:

Connection failed: Invalid Broker URI scheme

Funciones Stomp
stomp_version
Funciones Stomp


Obtiene la versión actual de la extensión stomp

stomp_connect_error
Stomp
Funciones Stomp
PHP Manual

stomp_version

(PECL stomp >= 0.1.0)

stomp_version — Obtiene la versión actual de la extensión stomp

Descripción

string stomp_version ( void )

Devuelve una cadena que contiene la versión actual de la extensión stomp.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Esta devuelve la versión actual de la extensión stomp

Ejemplos

Ejemplo #1 Ejemplo de stomp_version()

<?php

var_dump(stomp_version());

?>

El resultado del ejemplo sería algo similar a:

string(5) "0.2.0"

stomp_connect_error
Stomp
Funciones Stomp


La clase Stomp

(PECL stomp >= 0.1.0)

Introducción

Representa una conexión entre PHP y un Message Brokers que cumpla con las normas del protocolo Stomp.

Sinopsis de la Clase

Stomp {
/* Métodos */
public bool abort ( string $transaction_id [, array $headers ] )
public bool ack ( mixed $msg [, array $headers ] )
public bool begin ( string $transaction_id [, array $headers ] )
public bool commit ( string $transaction_id [, array $headers ] )
public __construct ([ string $broker = ini_get("stomp.default_broker_uri") [, string $username [, string $password [, array $headers ]]]] )
public bool __destruct ( void )
public string error ( void )
public array getReadTimeout ( void )
public string getSessionId ( void )
public bool hasFrame ( void )
public stompframe readFrame ([ string $class_name = "stompFrame" ] )
public bool send ( string $destination , mixed $msg [, array $headers ] )
public void setReadTimeout ( int $seconds [, int $microseconds ] )
public bool subscribe ( string $destination [, array $headers ] )
public bool unsubscribe ( string $destination [, array $headers ] )
}

Tabla de contenidos

  • Stomp::abort — Deshacer una transacción en curso
  • Stomp::ack — Confirmar la recepción y el consumo de un mensaje
  • Stomp::begin — Iniciar una transacción
  • Stomp::commit — Validar una transacción en curso
  • Stomp::__construct — Abre una conexión
  • Stomp::__destruct — Cierra una conexión stomp
  • Stomp::error — Obtiene el último error stomp
  • Stomp::getReadTimeout — Obtener la lectura del tiempo de espera de la solicitud
  • Stomp::getSessionId — Obtiene el identificador de sesión actual stomp
  • Stomp::hasFrame — Indica si existe o no una trama lista para leer
  • Stomp::readFrame — Leer la siguiente trama
  • Stomp::send — Envía un mensaje
  • Stomp::setReadTimeout — Establecer el tiempo de espera de lectura
  • Stomp::subscribe — Registrarse para escuchar a un destino dado
  • Stomp::unsubscribe — Dar de baja una suscripción existente
stomp_version
Stomp::abort
Stomp


Deshacer una transacción en curso

Stomp
Stomp::ack
Stomp
PHP Manual

Stomp::abort

stomp_abort

(PECL stomp >= 0.1.0)

Stomp::abort -- stomp_abort — Deshacer una transacción en curso

Descripción

Estilo orientado a objetos (método):

public bool Stomp::abort ( string $transaction_id [, array $headers ] )

Estilo por procedimientos:

bool stomp_abort ( resource $link , string $transaction_id [, array $headers ] )

Deshacer una transacción en curso.

Parámetros

link

Sólo estilo por procediminetos: El identificador de enlace Stomp devuelto por stomp_connect().

transaction_id

La transacción a abortar.

headers

Array asociativo conteniendo los headers adicionales (ejemplo: receipt).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Sugerencia

Stomp es inherentemente asíncrono. Comunicación sincrónica puede ser implementada agregando un header receipt. Esto ocasionará métodos para no devolver nada hasta que el servidor haya recibido un Acknowledgment del mensaje o hasta que el tiempo de espera para lectura se agote.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

/* conexión */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

/* iniciar una transacción */
$stomp->begin('t1');

/* enviar un mensaje a la cola */
$stomp->send('/queue/foo', 'bar', array('transaction' => 't1'));

/* deshacer/abortar */
$stomp->abort('t1');

/* cerrar la conexión */
unset($stomp);
?>

Ejemplo #2 Estilo por procedimientos

<?php

/* conexión */
$link = stomp_connect('tcp://localhost:61613');

/* comprobar la conexión */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

/* iniciar una transacción */
stomp_begin($link, 't1');

/* enviar un mensaje a la cola 'foo' */
stomp_send($link, '/queue/foo', 'bar', array('transaction' => 't1'));

/* deshacer/abortar */
stomp_abort($link, 't1');

/* cerrar la conexión */
stomp_close($link);

?>

Stomp
Stomp::ack
Stomp


Confirmar la recepción y el consumo de un mensaje

Stomp::abort
Stomp::begin
Stomp
PHP Manual

Stomp::ack

stomp_ack

(PECL stomp >= 0.1.0)

Stomp::ack -- stomp_ack — Confirmar la recepción y el consumo de un mensaje

Descripción

Estilo orientado a objetos (método):

public bool Stomp::ack ( mixed $msg [, array $headers ] )

Estilo por procedimientos:

bool stomp_ack ( resource $link , mixed $msg [, array $headers ] )

Confirmar el consumo de un mensaje desde una suscripción enviando el cliente una trama ACK de confirmación.

Parámetros

link

Sólo estilo por procediminetos: El identificador de enlace Stomp devuelto por stomp_connect().

msg

El mensaje/Id del mensaje a ser confirmado.

headers

Array asociativo conteniendo los headers adicionales (ejemplo: receipt).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota:

Un header de transacción puede ser especificado, indicando que el mensaje de Acknowledgment debería formar parte del nombre de la transacción.

Sugerencia

Stomp es inherentemente asíncrono. Comunicación sincrónica puede ser implementada agregando un header receipt. Esto ocasionará métodos para no devolver nada hasta que el servidor haya recibido un Acknowledgment del mensaje o hasta que el tiempo de espera para lectura se agote.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

$queue  = '/queue/foo';
$msg    = 'bar';

/* conexión */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

/* enviar un mensaje a la cola 'foo' */
$stomp->send($queue, $msg);

/* suscribirse a mensajes de la cola 'foo' */
$stomp->subscribe($queue);

/* leer una trama */
$frame = $stomp->readFrame();

if ($frame->body === $msg) {
    /* confirmar que la trama fue recibida */
    $stomp->ack($frame);
}

/* eliminar la suscripción */
$stomp->unsubscribe($queue);

/* cerrar la conexión */
unset($stomp);

?>

Ejemplo #2 Estilo por procedimientos

<?php

$queue  = '/queue/foo';
$msg    = 'bar';

/* conexión */
$link = stomp_connect('ssl://localhost:61612');

/* comprobar la conexión */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

/* iniciar una transacción */
stomp_begin($link, 't1');

/* enviar un mensaje a la cola 'foo' */
stomp_send($link, $queue, $msg, array('transaction' => 't1'));

/* validar una transacción */
stomp_commit($link, 't1');

/* suscribirse a mensajes de la cola 'foo' */
stomp_subscribe($link, $queue);

/* leer una trama */
$frame = stomp_read_frame($link);

if ($frame['body'] === $msg) {
    /* confirmar que la trama fue recibida */
    stomp_ack($link, $frame['headers']['message-id']);
}

/* eliminar la suscripción */
stomp_unsubscribe($link, $queue);

/* cerrar la conexión */
stomp_close($link);

?>

Stomp::abort
Stomp::begin
Stomp


Iniciar una transacción

Stomp::ack
Stomp::commit
Stomp
PHP Manual

Stomp::begin

stomp_begin

(PECL stomp >= 0.1.0)

Stomp::begin -- stomp_begin — Iniciar una transacción

Descripción

Estilo orientado a objetos (método):

public bool Stomp::begin ( string $transaction_id [, array $headers ] )

Estilo por procedimientos:

bool stomp_begin ( resource $link , string $transaction_id [, array $headers ] )

Inicia una transacción.

Parámetros

link

Sólo estilo por procediminetos: El identificador de enlace Stomp devuelto por stomp_connect().

transaction_id

La identificación de la transacción.

headers

Array asociativo conteniendo los headers adicionales (ejemplo: receipt).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Sugerencia

Stomp es inherentemente asíncrono. Comunicación sincrónica puede ser implementada agregando un header receipt. Esto ocasionará métodos para no devolver nada hasta que el servidor haya recibido un Acknowledgment del mensaje o hasta que el tiempo de espera para lectura se agote.

Ejemplos

Vea stomp_commit() o stomp_abort().

Stomp::ack
Stomp::commit
Stomp


Validar una transacción en curso

Stomp::begin
Stomp::__construct
Stomp
PHP Manual

Stomp::commit

stomp_commit

(PECL stomp >= 0.1.0)

Stomp::commit -- stomp_commit — Validar una transacción en curso

Descripción

Estilo orientado a objetos (método):

public bool Stomp::commit ( string $transaction_id [, array $headers ] )

Estilo por procedimientos:

bool stomp_commit ( resource $link , string $transaction_id [, array $headers ] )

Valida una transacción en curso.

Parámetros

link

Sólo estilo por procediminetos: El identificador de enlace Stomp devuelto por stomp_connect().

transaction_id

La identificación de la transacción.

headers

Array asociativo conteniendo los headers adicionales (ejemplo: receipt).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Sugerencia

Stomp es inherentemente asíncrono. Comunicación sincrónica puede ser implementada agregando un header receipt. Esto ocasionará métodos para no devolver nada hasta que el servidor haya recibido un Acknowledgment del mensaje o hasta que el tiempo de espera para lectura se agote.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

/* conexión */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

/* iniciar una transacción */
$stomp->begin('t1');

/* enviar un mensaje a la cola */
$stomp->send('/queue/foo', 'bar', array('transaction' => 't1'));

/* validar */
$stomp->commit('t1');

/* cerrar la conexión */
unset($stomp);

?>

Ejemplo #2 Estilo por procedimientos

<?php

/* conexión */
$link = stomp_connect('tcp://localhost:61613');

/* comprobar la conexión */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

/* iniciar una transacción */
stomp_begin($link, 't1');

/* enviar un mensaje a la cola 'foo' */
stomp_send($link, '/queue/foo', 'bar', array('transaction' => 't1'));

/* validar */
stomp_commit($link, 't1');

/* cerrar la conexión */
stomp_close($link);

?>

Stomp::begin
Stomp::__construct
Stomp


Abre una conexión

Stomp::commit
Stomp::__destruct
Stomp
PHP Manual

Stomp::__construct

stomp_connect

(PECL stomp >= 0.1.0)

Stomp::__construct -- stomp_connect — Abre una conexión

Descripción

Estilo orientado a objetos (constructor):

public Stomp::__construct ([ string $broker = ini_get("stomp.default_broker_uri") [, string $username [, string $password [, array $headers ]]]] )

Estilo por procedimientos:

resource stomp_connect ([ string $broker = ini_get("stomp.default_broker_uri") [, string $username [, string $password [, array $headers ]]]] )

Abre una conexión con un Message Broker compatible con el protocolo STOMP.

Parámetros

broker

La URI broker

username

El nombre de usuario.

password

La contraseña.

headers

Array asociativo conteniendo los headers adicionales (ejemplo: receipt).

Valores devueltos

Nota:

Un header de transacción puede ser especificado, indicando que el mensaje de Acknowledgment debería formar parte del nombre de la transacción.

Historial de cambios

Versión | Descripción
1.0.1 | El paramétro headers fue añadido

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

/* conexión */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

/* cerrar la conexión */
unset($stomp);

?>

Ejemplo #2 Estilo por procedimientos

<?php

/* conexión */
$link = stomp_connect('ssl://localhost:61612');

/* comprobar la conexión */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

/* cerrar la conexión */
stomp_close($link);

?>

Stomp::commit
Stomp::__destruct
Stomp


Cierra una conexión stomp

Stomp::__construct
Stomp::error
Stomp
PHP Manual

Stomp::__destruct

stomp_close

(PECL stomp >= 0.1.0)

Stomp::__destruct -- stomp_close — Cierra una conexión stomp

Descripción

Estilo orientado a objetos (destructor):

public bool Stomp::__destruct ( void )

Estilo por procedimientos:

bool stomp_close ( resource $link )

Cierra una conexión previamente abierta.

Parámetros

link

Sólo estilo por procediminetos: El identificador de enlace Stomp devuelto por stomp_connect().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Vea stomp_connect().

Stomp::__construct
Stomp::error
Stomp


Obtiene el último error stomp

Stomp::__destruct
Stomp::getReadTimeout
Stomp
PHP Manual

Stomp::error

stomp_error

(PECL stomp >= 0.1.0)

Stomp::error -- stomp_error — Obtiene el último error stomp

Descripción

Estilo orientado a objetos (método):

public string Stomp::error ( void )

Estilo por procedimientos:

string stomp_error ( resource $link )

Obtiene el último error stomp.

Parámetros

link

Sólo estilo por procediminetos: El identificador de enlace Stomp devuelto por stomp_connect().

Valores devueltos

Devuelve una cadena de error o FALSE si no hay errores.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

/* conexión */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

var_dump($stomp->error());

if (!$stomp->abort('unknown-transaction', array('receipt' => 'foo'))) {
    var_dump($stomp->error());
}

/* cerrar la conexión */
unset($stomp);

?>

El resultado del ejemplo sería algo similar a:

bool(false)
string(43) "Invalid transaction id: unknown-transaction"

Ejemplo #2 Estilo por procedimientos

<?php

/* conexión */
$link = stomp_connect('ssl://localhost:61612');

/* comprobar la conexión */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

var_dump(stomp_error($link));

if (!stomp_abort($link, 'unknown-transaction', array('receipt' => 'foo'))) {
    var_dump(stomp_error($link));
}

/* cerrar la conexión */
stomp_close($link);

?>

El resultado del ejemplo sería algo similar a:

bool(false)
string(43) "Invalid transaction id: unknown-transaction"

Stomp::__destruct
Stomp::getReadTimeout
Stomp


Obtener la lectura del tiempo de espera de la solicitud

Stomp::error
Stomp::getSessionId
Stomp
PHP Manual

Stomp::getReadTimeout

stomp_get_read_timeout

(PECL stomp >= 0.3.0)

Stomp::getReadTimeout -- stomp_get_read_timeout — Obtener la lectura del tiempo de espera de la solicitud

Descripción

Estilo orientado a objetos (método):

public array Stomp::getReadTimeout ( void )

Estilo por procedimientos:

array stomp_get_read_timeout ( resource $link )

Obtiene la lectura del tiempo de espera de la solicitud

Parámetros

link

Sólo estilo por procediminetos: El identificador de enlace Stomp devuelto por stomp_connect().

Valores devueltos

Devuelve un array con dos elementos: sec y usec.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

/* conexión */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

var_dump($stomp->getReadTimeout());

/* cerrar la conexión */
unset($stomp);

?>

El resultado del ejemplo sería algo similar a:

array(2) {
  ["sec"]=>
  int(2)
  ["usec"]=>
  int(0)
}

Ejemplo #2 Estilo por procedimientos

<?php

/* conexión */
$link = stomp_connect('ssl://localhost:61612');

/* comprobar la conexión */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

var_dump(stomp_get_read_timeout($link));

/* cerrar la conexión */
stomp_close($link);

?>

El resultado del ejemplo sería algo similar a:

array(2) {
  ["sec"]=>
  int(2)
  ["usec"]=>
  int(0)
}

Stomp::error
Stomp::getSessionId
Stomp


Obtiene el identificador de sesión actual stomp

Stomp::getReadTimeout
Stomp::hasFrame
Stomp
PHP Manual

Stomp::getSessionId

stomp_get_session_id

(PECL stomp >= 0.1.0)

Stomp::getSessionId -- stomp_get_session_id — Obtiene el identificador de sesión actual stomp

Descripción

Estilo orientado a objetos (método):

public string Stomp::getSessionId ( void )

Estilo por procedimientos:

string stomp_get_session_id ( resource $link )

Obtiene el identificador de sesión actual stomp.

Parámetros

link

Sólo estilo por procediminetos: El identificador de enlace Stomp devuelto por stomp_connect().

Valores devueltos

string session id on success o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

/* conexión */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

var_dump($stomp->getSessionId());

/* cerrar la conexión */
unset($stomp);

?>

El resultado del ejemplo sería algo similar a:

string(35) "ID:php.net-52873-1257291895530-4:14"

Ejemplo #2 Estilo procedural

<?php

/* conexión */
$link = stomp_connect('ssl://localhost:61612');

/* comprobar la conexión */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

var_dump(stomp_get_session_id($link));

/* cerrar la conexión */
stomp_close($link);

?>

El resultado del ejemplo sería algo similar a:

string(35) "ID:php.net-52873-1257291895530-4:14"

Stomp::getReadTimeout
Stomp::hasFrame
Stomp


Indica si existe o no una trama lista para leer

Stomp::getSessionId
Stomp::readFrame
Stomp
PHP Manual

Stomp::hasFrame

stomp_has_frame

(PECL stomp >= 0.1.0)

Stomp::hasFrame -- stomp_has_frame — Indica si existe o no una trama lista para leer

Descripción

Estilo orientado a objetos (método):

public bool Stomp::hasFrame ( void )

Estilo por procedimientos:

bool stomp_has_frame ( resource $link )

Indica si existe o no una trama lista para leer.

Parámetros

link

Sólo estilo por procediminetos: El identificador de enlace Stomp devuelto por stomp_connect().

Valores devueltos

Devuelve TRUE si hay una trama lista para leer, o FALSE en caso contrario.

Stomp::getSessionId
Stomp::readFrame
Stomp


Leer la siguiente trama

Stomp::hasFrame
Stomp::send
Stomp
PHP Manual

Stomp::readFrame

stomp_read_frame

(PECL stomp >= 0.1.0)

Stomp::readFrame -- stomp_read_frame — Leer la siguiente trama

Descripción

Estilo orientado a objetos (método):

public stompframe Stomp::readFrame ([ string $class_name = "stompFrame" ] )

Estilo por procedimientos:

array stomp_read_frame ( resource $link )

Lee la siguiente trama. Es posible crear una instancia de un objeto de una clase específica, y pasar parámetros al constructor de esa clase.

Parámetros

link

Sólo estilo por procediminetos: El identificador de enlace Stomp devuelto por stomp_connect().

class_name

El nombre de la clase a instanciar. Si no se especifica, un objeto stompFrame es devuelto.

Valores devueltos

Nota:

Un header de transacción puede ser especificado, indicando que el mensaje de Acknowledgment debería formar parte del nombre de la transacción.

Historial de cambios

Versión | Descripción
Stomp 0.4.0 | El parámentro class_name fue añadido.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

/* conexión */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

/* suscribirse a mensajes de la cola 'foo' */
$stomp->subscribe('/queue/foo');

/* leer una trama */
var_dump($stomp->readFrame());

/* cerrar la conexión */
unset($stomp);

?>

El resultado del ejemplo sería algo similar a:

object(StompFrame)#2 (3) {
  ["command"]=>
  string(7) "MESSAGE"
  ["headers"]=>
  array(5) {
    ["message-id"]=>
    string(41) "ID:php.net-55293-1257226743606-4:2:-1:1:1"
    ["destination"]=>
    string(10) "/queue/foo"
    ["timestamp"]=>
    string(13) "1257226805828"
    ["expires"]=>
    string(1) "0"
    ["priority"]=>
    string(1) "0"
  }
  ["body"]=>
  string(3) "bar"
}

Ejemplo #2 Estilo por procedimientos

<?php

/* conexión */
$link = stomp_connect('ssl://localhost:61612');

/* comprobar la conexión */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

/* suscribirse a mensajes de la cola 'foo' */
stomp_subscribe($link, '/queue/foo');

/* leer una trama */
$frame = stomp_read_frame($link);

/* cerrar la conexión */
stomp_close($link);

?>

El resultado del ejemplo sería algo similar a:

array(3) {
  ["command"]=>
  string(7) "MESSAGE"
  ["body"]=>
  string(3) "bar"
  ["headers"]=>
  array(6) {
    ["transaction"]=>
    string(2) "t1"
    ["message-id"]=>
    string(41) "ID:php.net-55293-1257226743606-4:3:-1:1:1"
    ["destination"]=>
    string(10) "/queue/foo"
    ["timestamp"]=>
    string(13) "1257227037059"
    ["expires"]=>
    string(1) "0"
    ["priority"]=>
    string(1) "0"
  }
}

Stomp::hasFrame
Stomp::send
Stomp


Envía un mensaje

Stomp::readFrame
Stomp::setReadTimeout
Stomp
PHP Manual

Stomp::send

stomp_send

(PECL stomp >= 0.1.0)

Stomp::send -- stomp_send — Envía un mensaje

Descripción

Estilo orientado a objetos (método):

public bool Stomp::send ( string $destination , mixed $msg [, array $headers ] )

Estilo por procedimientos:

bool stomp_send ( resource $link , string $destination , mixed $msg [, array $headers ] )

Envía un mensaje a el Message Broker.

Parámetros

link

Sólo estilo por procediminetos: El identificador de enlace Stomp devuelto por stomp_connect().

destination

A dónde eenviar el mensaje

msg

Mensaje a enviar.

headers

Array asociativo conteniendo los headers adicionales (ejemplo: receipt).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota:

Un header de transacción puede ser especificado, indicando que el mensaje de Acknowledgment debería formar parte del nombre de la transacción.

Sugerencia

Stomp es inherentemente asíncrono. Comunicación sincrónica puede ser implementada agregando un header receipt. Esto ocasionará métodos para no devolver nada hasta que el servidor haya recibido un Acknowledgment del mensaje o hasta que el tiempo de espera para lectura se agote.

Ejemplos

Vea stomp_ack().

Stomp::readFrame
Stomp::setReadTimeout
Stomp


Establecer el tiempo de espera de lectura

Stomp::send
Stomp::subscribe
Stomp
PHP Manual

Stomp::setReadTimeout

stomp_set_read_timeout

(PECL stomp >= 0.3.0)

Stomp::setReadTimeout -- stomp_set_read_timeout — Establecer el tiempo de espera de lectura

Descripción

Estilo orientado a objetos (método):

public void Stomp::setReadTimeout ( int $seconds [, int $microseconds ] )

Estilo por procedimientos:

void stomp_set_read_timeout ( resource $link , int $seconds [, int $microseconds ] )

Establece el tiempo de espera de lectura.

Parámetros

link

Sólo estilo por procediminetos: El identificador de enlace Stomp devuelto por stomp_connect().

seconds

Los segundos parte de el tiempo de espera a ser establecido.

microseconds

Los microsegundos parte de el tiempo de espera a ser establecido.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php

/* conexión */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

$stomp->setReadTimeout(10);

/* cerrar la conexión */
unset($stomp);

?>

Ejemplo #2 Estilo por procedimientos

<?php

/* conexión */
$link = stomp_connect('ssl://localhost:61612');

/* comprobar la conexión */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

stomp_set_read_timeout($link, 10);

/* cerrar la conexión */
stomp_close($link);

?>

Stomp::send
Stomp::subscribe
Stomp


Registrarse para escuchar a un destino dado

Stomp::setReadTimeout
Stomp::unsubscribe
Stomp
PHP Manual

Stomp::subscribe

stomp_subscribe

(PECL stomp >= 0.1.0)

Stomp::subscribe -- stomp_subscribe — Registrarse para escuchar a un destino dado

Descripción

Estilo orientado a objetos (método):

public bool Stomp::subscribe ( string $destination [, array $headers ] )

Estilo por procedimientos:

bool stomp_subscribe ( resource $link , string $destination [, array $headers ] )

Registrarse para escuchar a un destino dado.

Parámetros

link

Sólo estilo por procediminetos: El identificador de enlace Stomp devuelto por stomp_connect().

destination

Destino al que suscribirse.

headers

Array asociativo conteniendo los headers adicionales (ejemplo: receipt).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Sugerencia

Stomp es inherentemente asíncrono. Comunicación sincrónica puede ser implementada agregando un header receipt. Esto ocasionará métodos para no devolver nada hasta que el servidor haya recibido un Acknowledgment del mensaje o hasta que el tiempo de espera para lectura se agote.

Ejemplos

Vea stomp_ack().

Stomp::setReadTimeout
Stomp::unsubscribe
Stomp


Dar de baja una suscripción existente

Stomp::subscribe
StompFrame
Stomp
PHP Manual

Stomp::unsubscribe

stomp_unsubscribe

(PECL stomp >= 0.1.0)

Stomp::unsubscribe -- stomp_unsubscribe — Dar de baja una suscripción existente

Descripción

Estilo orientado a objetos (método):

public bool Stomp::unsubscribe ( string $destination [, array $headers ] )

Estilo por procedimientos:

bool stomp_unsubscribe ( resource $link , string $destination [, array $headers ] )

Dar de baja una suscripción existente.

Parámetros

link

Sólo estilo por procediminetos: El identificador de enlace Stomp devuelto por stomp_connect().

destination

Suscripción a eliminar

headers

Array asociativo conteniendo los headers adicionales (ejemplo: receipt).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Sugerencia

Stomp es inherentemente asíncrono. Comunicación sincrónica puede ser implementada agregando un header receipt. Esto ocasionará métodos para no devolver nada hasta que el servidor haya recibido un Acknowledgment del mensaje o hasta que el tiempo de espera para lectura se agote.

Ejemplos

Vea stomp_ack().

Stomp::subscribe
StompFrame
Stomp


La clase StompFrame

(PECL stomp >= 0.1.0)

Introducción

Representa un mensaje el cual fue enviado o recibido desde un Message Brokers que cumple con las normas del protocolo Stomp.

Sinopsis de la Clase

StompFrame {
/* Propiedades */
public $command ;
public $headers ;
public $body ;
/* Métodos */
__construct ([ string $command [, array $headers [, string $body ]]] )
}

Propiedades

command

Frame command.

headers

Frame headers (array).

body

Frame body.

Tabla de contenidos

  • StompFrame::__construct — Constructor
Stomp::unsubscribe
StompFrame::__construct
Stomp


Constructor

StompFrame
StompException
StompFrame
PHP Manual

StompFrame::__construct

(PECL stomp >= 0.1.0)

StompFrame::__construct — Constructor

Descripción

StompFrame::__construct ([ string $command [, array $headers [, string $body ]]] )

Constructor.

Parámetros

command

Comando del frame

headers

encabezados del frame (array).

body

cuerpo del frame

StompFrame
StompException
StompFrame


La clase StompException

(PECL stomp >= 0.1.0)

Introducción

Representa un error proveniente desde la extensión stomp. Vea Exceptions para obtener más información acerca de las excepciones en PHP.

Sinopsis de la Clase

StompException extends Exception {
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
/* Métodos */
public string getDetails ( void )
}

Tabla de contenidos

  • StompException::getDetails — Obtener detalles de la excepción
StompFrame::__construct
StompException::getDetails
Stomp


Obtener detalles de la excepción

StompException
SVM
StompException
PHP Manual

StompException::getDetails

(PECL stomp >= 0.1.0)

StompException::getDetails — Obtener detalles de la excepción

Descripción

public string StompException::getDetails ( void )

Obtener detalles de la excepción.

Valores devueltos

string que contiene los detalles del error.

StompException
SVM
StompException


Soporte Vector Machine

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Ejemplos
  • SVM — The SVM class
    • SVM::__construct — Construir un nuevo objeto SVM
    • SVM::crossvalidate — Test training params on subsets of the training data.
    • SVM::getOptions — Return the current training parameters
    • SVM::setOptions — Set training parameters
    • SVM::train — Create a SVMModel based on training data
  • SVMModel — La clase SVMModel
    • SVMModel::checkProbabilityModel — Returns true if the model has probability information
    • SVMModel::__construct — Construct a new SVMModel
    • SVMModel::getLabels — Get the labels the model was trained on
    • SVMModel::getNrClass — Returns the number of classes the model was trained with
    • SVMModel::getSvmType — Get the SVM type the model was trained with
    • SVMModel::getSvrProbability — Get the sigma value for regression types
    • SVMModel::load — Cargar un modelo SVM guardado
    • SVMModel::predict_probability — Return class probabilities for previous unseen data
    • SVMModel::predict — Predict a value for previously unseen data
    • SVMModel::save — Guardar un modelo en un archivo
StompException::getDetails
Introducción
Otros servicios


Introducción

LIBSVM es un solucionador de eficiencia para la clasificación de SVM y los problemas de retroceso. La extensión de este svm se envuelve en una interfaz PHP para facilitar el uso de scripts PHP.

SVM
Instalación/Configuración
SVM


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
SVM


Requerimientos

LIBSVM es requerido, y está disponible a través de algunos gestores de paquetes - libsvm-devel para el sistema basado en RPM o libsvm-dev para los basados en Debian. Como alternativa, está disponible directamente desde el sitio web. Si está instalando desde el » Website Oficial algunos pasos son necesarios ya que el paquete no se instala automáticamente. Por ejemplo, suponiendo que la última versión es la 3.1:

wget http://www.csie.ntu.edu.tw/~cjlin/cgi-bin/libsvm.cgi?+http://www.csie.ntu.edu.tw/~cjlin/libsvm+tar.gz
tar xvzf libsvm-3.1.tar.gz
cd libsvm-3.1
make lib
cp libsvm.so.1 /usr/lib
ln -s libsvm.so.1 libsvm.so
ldconfig
ldconfig --print | grep libsvm

Este último paso debe mostrar LIBSVM está instalado.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/svm

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Ejemplos

The basic process is to define parameters, supply training data to generate a model on, then make predictions based on the model. There are a default set of parameters that should get some results with most any input, so we'll start by looking at the data.

Data is supplied in either a file, a stream, or as an array. If supplied in a file or a stream, it must contain one line per training example, which must be formatted as an integer class (usually 1 and -1) followed by a series of feature/value pairs, in increasing feature order. The features are integers, the values floats, usually scaled 0-1. For example:

-1 1:0.43 3:0.12 9284:0.2

In a document classification problem, say a spam checker, each line would represent a document. There would be two classes, -1 for spam, 1 for ham. Each feature would represent some word, and the value would represent that importance of that word to the document (perhaps the frequency count, with the total scaled to unit length). Features that were 0 (e.g. the word did not appear in the document at all) would simply not be included.

In array mode, the data must be passed as an array of arrays. Each sub-array must have the class as the first element, then key => value sets for the feature values pairs.

This data is passed to the SVM class's train function, which will return an SVM model is successful.

Once a model has been generated, it can be used to make predictions about previously unseen data. This can be passed as an array to the model's predict function, in the same format as before, but without the label. The response will be the class.

Models can be saved and restored as required, using the save and load functions, which both take a file location.

Ejemplo #1 Train from array

<?php
$data = array(
    array(-1, 1 => 0.43, 3 => 0.12, 9284 => 0.2),
    array(1, 1 => 0.22, 5 => 0.01, 94 => 0.11),
);

$svm = new SVM();
$model = $svm->train($data);

$data = array(1 => 0.43, 3 => 0.12, 9284 => 0.2);
$result = $model->predict($data);
var_dump($result);
$model->save('model.svm');
?>

El resultado del ejemplo sería algo similar a:

int(-1)

Ejemplo #2 Train from a file

<?php
$svm = new SVM();
$model = $svm->train("traindata.txt");
?>

Tipos de recursos
SVM
SVM


The SVM class

(PECL svm >= 0.1.0)

Introducción

Sinopsis de la Clase

SVM {
/* Constants */
const integer C_SVC = 0 ;
const integer NU_SVC = 1 ;
const integer ONE_CLASS = 2 ;
const integer EPSILON_SVR = 3 ;
const integer NU_SVR = 4 ;
const integer KERNEL_LINEAR = 0 ;
const integer KERNEL_POLY = 1 ;
const integer KERNEL_RBF = 2 ;
const integer KERNEL_SIGMOID = 3 ;
const integer KERNEL_PRECOMPUTED = 4 ;
const integer OPT_TYPE = 101 ;
const integer OPT_KERNEL_TYPE = 102 ;
const integer OPT_DEGREE = 103 ;
const integer OPT_SHRINKING = 104 ;
const integer OPT_PROPABILITY = 105 ;
const integer OPT_GAMMA = 201 ;
const integer OPT_NU = 202 ;
const integer OPT_EPS = 203 ;
const integer OPT_P = 204 ;
const integer OPT_COEF_ZERO = 205 ;
const integer OPT_C = 206 ;
const integer OPT_CACHE_SIZE = 207 ;
/* Methods */
public __construct ( void )
public float svm::crossvalidate ( array $problem , int $number_of_folds )
public array getOptions ( void )
public bool setOptions ( array $params )
public SVMModel svm::train ( array $problem [, array $weights ] )
}

Constantes predefinidas

SVM Constants

SVM::C_SVC

The basic C_SVC SVM type. The default, and a good starting point

SVM::NU_SVC

The NU_SVC type uses a different, more flexible, error weighting

SVM::ONE_CLASS

One class SVM type. Train just on a single class, using outliers as negative examples

SVM::EPSILON_SVR

A SVM type for regression (predicting a value rather than just a class)

SVM::NU_SVR

A NU style SVM regression type

SVM::KERNEL_LINEAR

A very simple kernel, can work well on large document classification problems

SVM::KERNEL_POLY

A polynomial kernel

SVM::KERNEL_RBF

The common Gaussian RBD kernel. Handles non-linear problems well and is a good default for classification

SVM::KERNEL_SIGMOID

A kernel based on the sigmoid function. Using this makes the SVM very similar to a two layer sigmoid based neural network

SVM::KERNEL_PRECOMPUTED

A precomputed kernel - currently unsupported.

SVM::OPT_TYPE

The options key for the SVM type

SVM::OPT_KERNEL_TYPE

The options key for the kernel type

SVM::OPT_DEGREE

SVM::OPT_SHRINKING

Training parameter, boolean, for whether to use the shrinking heuristics

SVM::OPT_PROBABILITY

Training parameter, boolean, for whether to collect and use probability estimates

SVM::OPT_GAMMA

Algorithm parameter for Poly, RBF and Sigmoid kernel types.

SVM::OPT_NU

The option key for the nu parameter, only used in the NU_ SVM types

SVM::OPT_EPS

The option key for the Epsilon parameter, used in epsilon regression

SVM::OPT_P

Training parameter used by Episilon SVR regression

SVM::OPT_COEF_ZERO

Algorithm parameter for poly and sigmoid kernels

SVM::OPT_C

The option for the cost parameter that controls tradeoff between errors and generality - effectively the penalty for misclassifying training examples.

SVM::OPT_CACHE_SIZE

Memory cache size, in MB

Tabla de contenidos

  • SVM::__construct — Construir un nuevo objeto SVM
  • SVM::crossvalidate — Test training params on subsets of the training data.
  • SVM::getOptions — Return the current training parameters
  • SVM::setOptions — Set training parameters
  • SVM::train — Create a SVMModel based on training data
Ejemplos
SVM::__construct
SVM


Construir un nuevo objeto SVM

SVM
SVM::crossvalidate
SVM
PHP Manual

SVM::__construct

(PECL svm >= 0.1.0)

SVM::__construct — Construir un nuevo objeto SVM

Descripción

public SVM::__construct ( void )

Construye un nuevo objeto SVM listo para aceptar datos de entrenamiento.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

lanza una SVMException si la libreria libsvm no puede ser cargada.

SVM
SVM::crossvalidate
SVM


Test training params on subsets of the training data.

SVM::__construct
SVM::getOptions
SVM
PHP Manual

SVM::crossvalidate

(PECL svm >= 0.1.0)

SVM::crossvalidate — Test training params on subsets of the training data.

Descripción

public float svm::crossvalidate ( array $problem , int $number_of_folds )

Crossvalidate can be used to test the effectiveness of the current parameter set on a subset of the training data. Given a problem set and a n "folds", it separates the problem set into n subsets, and the repeatedly trains on one subset and tests on another. While the accuracy will generally be lower than a SVM trained on the enter data set, the accuracy score returned should be relatively useful, so it can be used to test different training parameters.

Parámetros

problem

The problem data. This can either be in the form of an array, the URL of an SVMLight formatted file, or a stream to an opened SVMLight formatted datasource.

number_of_folds

The number of sets the data should be divided into and cross tested. A higher number means smaller training sets and less reliability. 5 is a good number to start with.

Valores devueltos

The correct percentage, expressed as a floating point number from 0-1. In the case of NU_SVC or EPSILON_SVR kernels the mean squared error will returned instead.

Ver también

  • SVM::train() - Create a SVMModel based on training data

SVM::__construct
SVM::getOptions
SVM


Return the current training parameters

SVM::crossvalidate
SVM::setOptions
SVM
PHP Manual

SVM::getOptions

(PECL svm >= 0.1.0)

SVM::getOptions — Return the current training parameters

Descripción

public array SVM::getOptions ( void )

Retrieve an array containing the training parameters. The parameters will be keyed on the predefined SVM constants.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns an array of configuration settings.

SVM::crossvalidate
SVM::setOptions
SVM


Set training parameters

SVM::getOptions
SVM::train
SVM
PHP Manual

SVM::setOptions

(PECL svm >= 0.1.0)

SVM::setOptions — Set training parameters

Descripción

public bool SVM::setOptions ( array $params )

Set one or more training parameters.

Parámetros

params

An array of training parameters, keyed on the SVM constants.

Valores devueltos

Return true on success, throws SVMException on error.

SVM::getOptions
SVM::train
SVM


Create a SVMModel based on training data

SVM::setOptions
SVMModel
SVM
PHP Manual

SVM::train

(PECL svm >= 0.1.0)

SVM::train — Create a SVMModel based on training data

Descripción

public SVMModel svm::train ( array $problem [, array $weights ] )

Train a support vector machine based on the supplied training data.

Parámetros

problem

The problem can be provided in three different ways. An array, where the data should start with the class label (usually 1 or -1) then followed by a sparse data set of dimension => data pairs. A URL to a file containing a SVM Light formatted problem, with the each line being a new training example, the start of each line containing the class (1, -1) then a series of tab separated data values shows as key:value. A opened stream pointing to a data source formatted as in the file above.

weights

Weights are an optional set of weighting parameters for the different classes, to help account for unbalanced training sets. For example, if the classes were 1 and -1, and -1 had significantly more example than one, the weight for -1 could be 0.5. Weights should be in the range 0-1.

Valores devueltos

Returns an SVMModel that can be used to classify previously unseen data. Throws SVMException on error

SVM::setOptions
SVMModel
SVM


La clase SVMModel

(PECL svm >= 0.1.0)

Introducción

El SVMModel es el resultado final del proceso de formación. Puede ser utilizado para clasificar los datos nunca antes vistos.

Sinopsis de la Clase

SVMModel {
/* Methods */
public bool checkProbabilityModel ( void )
public __construct ([ string $filename ] )
public array getLabels ( void )
public int getNrClass ( void )
public int getSvmType ( void )
public float getSvrProbability ( void )
public bool load ( string $filename )
public float predict_probability ( array $data )
public float predict ( array $data )
public bool save ( string $filename )
}

Tabla de contenidos

  • SVMModel::checkProbabilityModel — Returns true if the model has probability information
  • SVMModel::__construct — Construct a new SVMModel
  • SVMModel::getLabels — Get the labels the model was trained on
  • SVMModel::getNrClass — Returns the number of classes the model was trained with
  • SVMModel::getSvmType — Get the SVM type the model was trained with
  • SVMModel::getSvrProbability — Get the sigma value for regression types
  • SVMModel::load — Cargar un modelo SVM guardado
  • SVMModel::predict_probability — Return class probabilities for previous unseen data
  • SVMModel::predict — Predict a value for previously unseen data
  • SVMModel::save — Guardar un modelo en un archivo
SVM::train
SVMModel::checkProbabilityModel
SVM


Returns true if the model has probability information

SVMModel
SVMModel::__construct
SVMModel
PHP Manual

SVMModel::checkProbabilityModel

(PECL svm >= 0.1.5)

SVMModel::checkProbabilityModel — Returns true if the model has probability information

Descripción

public bool SVMModel::checkProbabilityModel ( void )

Returns true if the model contains probability information.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Return a boolean value

SVMModel
SVMModel::__construct
SVMModel


Construct a new SVMModel

SVMModel::checkProbabilityModel
SVMModel::getLabels
SVMModel
PHP Manual

SVMModel::__construct

(PECL svm >= 0.1.0)

SVMModel::__construct — Construct a new SVMModel

Descripción

public SVMModel::__construct ([ string $filename ] )

Build a new SVMModel. Models will usually be created from the SVM::train function, but then saved models may be restored directly.

Parámetros

filename

The filename for the saved model file this model should load.

Valores devueltos

Throws SVMException on error

Ver también

  • SVMModel::load() - Cargar un modelo SVM guardado

SVMModel::checkProbabilityModel
SVMModel::getLabels
SVMModel


Get the labels the model was trained on

SVMModel::__construct
SVMModel::getNrClass
SVMModel
PHP Manual

SVMModel::getLabels

(PECL svm >= 0.1.5)

SVMModel::getLabels — Get the labels the model was trained on

Descripción

public array SVMModel::getLabels ( void )

Return an array of labels that the model was trained on. For regression and one class models an empty array is returned.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Return an array of labels

Ver también

  • SVMModel::getNrClass() - Returns the number of classes the model was trained with

SVMModel::__construct
SVMModel::getNrClass
SVMModel


Returns the number of classes the model was trained with

SVMModel::getLabels
SVMModel::getSvmType
SVMModel
PHP Manual

SVMModel::getNrClass

(PECL svm >= 0.1.5)

SVMModel::getNrClass — Returns the number of classes the model was trained with

Descripción

public int SVMModel::getNrClass ( void )

Returns the number of classes the model was trained with, will return 2 for one class and regression models.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Return an integer number of classes

SVMModel::getLabels
SVMModel::getSvmType
SVMModel


Get the SVM type the model was trained with

SVMModel::getNrClass
SVMModel::getSvrProbability
SVMModel
PHP Manual

SVMModel::getSvmType

(PECL svm >= 0.1.5)

SVMModel::getSvmType — Get the SVM type the model was trained with

Descripción

public int SVMModel::getSvmType ( void )

Returns an integer value representing the type of the SVM model used, e.g SVM::C_SVC.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Return an integer SVM type

SVMModel::getNrClass
SVMModel::getSvrProbability
SVMModel


Get the sigma value for regression types

SVMModel::getSvmType
SVMModel::load
SVMModel
PHP Manual

SVMModel::getSvrProbability

(PECL svm >= 0.1.5)

SVMModel::getSvrProbability — Get the sigma value for regression types

Descripción

public float SVMModel::getSvrProbability ( void )

For regression models, returns a sigma value. If there is no probability information or the model is not SVR, 0 is returned.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns a sigma value

SVMModel::getSvmType
SVMModel::load
SVMModel


Cargar un modelo SVM guardado

SVMModel::getSvrProbability
SVMModel::predict_probability
SVMModel
PHP Manual

SVMModel::load

(PECL svm >= 0.1.00.1.0)

SVMModel::load — Cargar un modelo SVM guardado

Descripción

public bool SVMModel::load ( string $filename )

Cargar un archivo de un modelo listo para la clasificación o regresión.

Parámetros

filename

El nombre del modelo.

Valores devueltos

Lanza SVMException en caso de error. Devuelve true en caso de éxito.

Ver también

  • SVMModel::save() - Guardar un modelo en un archivo

SVMModel::getSvrProbability
SVMModel::predict_probability
SVMModel


Return class probabilities for previous unseen data

SVMModel::load
SVMModel::predict
SVMModel
PHP Manual

SVMModel::predict_probability

(PECL svm >= 0.1.4)

SVMModel::predict_probability — Return class probabilities for previous unseen data

Descripción

public float SVMModel::predict_probability ( array $data )

This function accepts an array of data and attempts to predict the class, as with the predict function. Additionally, however, this function returns an array of probabilities, one per class in the model, which represent the estimated chance of the data supplied being a member of that class. Requires that the model to be used has been trained with the probability parameter set to true.

Parámetros

data

The array to be classified. This should be a series of key => value pairs in increasing key order, but not necessarily continuous.

probabilities

The supplied value will be filled with the probabilities. This will be either null, in the case of a model without probability information, or an array where the index is the class name and the value the predicted probability.

Valores devueltos

Float the predicted value. This will be a class label in the case of classification, a real value in the case of regression. Throws SVMException on error

Ver también

  • SVM::predict()

SVMModel::load
SVMModel::predict
SVMModel


Predict a value for previously unseen data

SVMModel::predict_probability
SVMModel::save
SVMModel
PHP Manual

SVMModel::predict

(PECL svm >= 0.1.0)

SVMModel::predict — Predict a value for previously unseen data

Descripción

public float SVMModel::predict ( array $data )

This function accepts an array of data and attempts to predict the class or regression value based on the model extracted from previously trained data.

Parámetros

data

The array to be classified. This should be a series of key => value pairs in increasing key order, but not necessarily continuous.

Valores devueltos

Float the predicted value. This will be a class label in the case of classification, a real value in the case of regression. Throws SVMException on error

Ver también

  • SVM::train() - Create a SVMModel based on training data

SVMModel::predict_probability
SVMModel::save
SVMModel


Guardar un modelo en un archivo

SVMModel::predict
SVN
SVMModel
PHP Manual

SVMModel::save

(PECL svm >= 0.1.0)

SVMModel::save — Guardar un modelo en un archivo

Descripción

public bool SVMModel::save ( string $filename )

Guardar los datos del modelo en un archivo, para su uso posterior.

Parámetros

filename

El archivo para guardar el modelo.

Valores devueltos

Lanza SVMException en caso de error. Devuelve true en caso de éxito.

Ver también

  • SVMModel::load() - Cargar un modelo SVM guardado

SVMModel::predict
SVN
SVMModel


Subversion

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones SVN
    • svn_add — Programa la adición de un artículo en un directorio de trabajo
    • svn_auth_get_parameter — Recupera un parámetros de autenticación
    • svn_auth_set_parameter — Establece un parámetro de autenticación
    • svn_blame — Obtiene las acusaciones SVN de un archivo
    • svn_cat — Devuelve el contenido de un fichero en un repositorio
    • svn_checkout — Descarga una copia de trabajo desde el repositorio
    • svn_cleanup — Limpieza recursiva del directorio de trabajo, finalizando operaciones no completadas y eliminado bloqueos
    • svn_client_version — Devuelve la versión de las librerias del cliente SVN
    • svn_commit — Envía los cambios desde el directorio local de trabajo al repositorio
    • svn_delete — Elimina ítems de una copia de trabajo o repositorio
    • svn_diff — Compara dos rutas de acceso recursivamente
    • svn_export — Exporta el contenido de un directorio SVN
    • svn_fs_abort_txn — Cancelar una transacción, devuelve true si todo está bien, false de lo contrario
    • svn_fs_apply_text — Crea y devuelve una secuencia que se utilizará para reemplazar
    • svn_fs_begin_txn2 — Crear una nueva transacción
    • svn_fs_change_node_prop — Retorna verdadero si todo está ok, falso en caso contrario
    • svn_fs_check_path — Determina que tipo de elemento está apuntado por una ruta de acceso determinada, en un repositorio fsroot
    • svn_fs_contents_changed — Devuelve verdadero si el contenido es diferente, falso en caso contrario
    • svn_fs_copy — Copia un fichero o un directorio, devuelve true en caso de éxito, de lo contrario devuelve false
    • svn_fs_delete — Elimina un fichero o directorio, devuelve true en caso de éxito, en caso contrario devuele false
    • svn_fs_dir_entries — Enumera los directorios que hay bajo una ruta de acceso determinada; devuelve un array con los nombres de los directorios
    • svn_fs_file_contents — Devuelve un flujo de acceso al contenido de un fichero para una versión del sistema de ficheros dada
    • svn_fs_file_length — Devuelve la longitud de un fichero para una versión dada de sistema de ficheros
    • svn_fs_is_dir — Devuelve true si la ruta apunta a un directorio, false en caso contrario
    • svn_fs_is_file — Devuelve true si la ruta apunta a un fichero, falso en caso contrario
    • svn_fs_make_dir — Crea un nuevo directorio vacío, devuelve true en caso de éxito, en caso contrario devuelve false
    • svn_fs_make_file — Crea un nuevo fichero vacío, devuelve true en caso de éxito, false en caso contrario
    • svn_fs_node_created_rev — Devuelve la revisión en la que la ruta de acceso bajo fsroot fue creado
    • svn_fs_node_prop — Devuelve el valor de una propiedad de un nodo
    • svn_fs_props_changed — Devuelve verdadero si las propiedades son diferentes, falso en caso contrario
    • svn_fs_revision_prop — Recupera el valor de una propiedad con determinado nombre
    • svn_fs_revision_root — Obtiene un gestor en una versión específica del repositorio 'root'
    • svn_fs_txn_root — Crea y retorna una transacción 'root'
    • svn_fs_youngest_rev — Devuelve el número de la revisión más reciente del sistema de ficheros
    • svn_import — Importa una ruta de acceso sin versión, dentro de un repositorio
    • svn_log — Devuelve el log histórico de mensajes de un repositorio URL
    • svn_ls — Devuelve una lista del contenido del directorio en el repositorio URL, opcionalmente el número de revisión
    • svn_mkdir — Crea un directorio en la copia de trabajo actual o repositorio
    • svn_repos_create — Crea un nuevo repositorio de subversión
    • svn_repos_fs_begin_txn_for_commit — Crea una nueva transacción
    • svn_repos_fs_commit_txn — Consolida una transacción y devuelve la nueva revisión
    • svn_repos_fs — Obtiene un gestor del sistema de ficheros para un repositorio
    • svn_repos_hotcopy — Realiza una copia en caliente del repositorio en pathrepospath; y lo copia en destpath
    • svn_repos_open — Abre una cerradura compartida en un repositorio
    • svn_repos_recover — Ejecuta los procesos de recuperación en el repositorio localizado en un path determinado
    • svn_revert — Deshace los cambios en la copia de trabajo
    • svn_status — Devuelve el estado de la copia de trabajo de los ficheros y directorios
    • svn_update — Actualiza la copia de trabajo
SVMModel::save
Introducción
Otros servicios


Introducción

Esta extensión de PHP implementa enlaces para » Subversion (SVN), un sistema de control de versiones, permitiendo a los scripts PHP comunicarse con repositorios SVN y trabajar con copias sin llamar al ejecutable svn en la línea de comandos.

Advertencia

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombres de sus funciones y todo lo documentado sobre esta extensión, puede cambiar en una futura edición de PHP sin previo aviso. El uso de esta extensión queda bajo su propia responsabilidad.

SVN
Instalación/Configuración
SVN


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
SVN


Requerimientos

Los binarios de Subversion no son necesarios para usar esta extensión. Sin embargo, cuando compile la extensión, libsvn (las cabeceras de Subversion) debe estar disponible.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/svn

Si ./configure está teniendo problemas para encontrar los archivos SVN (Por ejemplo, Subversion fue instalado con un prefijo de directorio diferente), use ./configure --with-svn=$USR_PATH para especificar el directorio donde include/subversion-1/ está ubicado.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Advertencia

Si la extensión es compilada contra libsvn 1.3, las funciones que trabajan con copias fallarán cuando trabaje en copias creadas por Subversion 1.4.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

SVN_REVISION_HEAD (integer)
Número mágico (-1) especificando la revisión HEAD
Constantes usables con svn_auth_set_parameter()
SVN_AUTH_PARAM_DEFAULT_USERNAME (string)
Proiedad para el nombre de usuario por omisión a ser usada cuando realice una autenticación básica
SVN_AUTH_PARAM_DEFAULT_PASSWORD (string)
Propiedad para la clave por omisión a ser usada cuando realice una autenticación básica
SVN_AUTH_PARAM_NON_INTERACTIVE (string)
SVN_AUTH_PARAM_DONT_STORE_PASSWORDS (string)
SVN_AUTH_PARAM_NO_AUTH_CACHE (string)
SVN_AUTH_PARAM_SSL_SERVER_FAILURES (string)
SVN_AUTH_PARAM_SSL_SERVER_CERT_INFO (string)
SVN_AUTH_PARAM_CONFIG (string)
SVN_AUTH_PARAM_SERVER_GROUP (string)
SVN_AUTH_PARAM_CONFIG_DIR (string)
PHP_SVN_AUTH_PARAM_IGNORE_SSL_VERIFY_ERRORS (string)
Propiedad personalizada para ignorar los errores de verificación del certificado SSL
Constantes del sistema de archivos
SVN_FS_CONFIG_FS_TYPE (string)
Llave de configuración que determina el tipo de sistema de archivos
SVN_FS_TYPE_BDB (string)
Sistema de archivos es una implemetación Berkeley-DB
SVN_FS_TYPE_FSFS (string)
Implementación del sistema de ficheros nativo
Constantes de propiedad reservadas
SVN_PROP_REVISION_DATE (string)
svn:date
SVN_PROP_REVISION_ORIG_DATE (string)
svn:original-date
SVN_PROP_REVISION_AUTHOR (string)
svn:author
SVN_PROP_REVISION_LOG (string)
svn:log
constantes de trabajo con status de copias
SVN_WC_STATUS_NONE (int)
Status no existe
SVN_WC_STATUS_UNVERSIONED (int)
El artículo no está versionado en la copia de trabajo
SVN_WC_STATUS_NORMAL (int)
El artículo existe, nada más está ocurriendo
SVN_WC_STATUS_ADDED (int)
El artículo está programado para su adición
SVN_WC_STATUS_MISSING (int)
El artículo está versionado pero la copia de trabajo está ausante
SVN_WC_STATUS_DELETED (int)
El artículo está programado para ser borrado
SVN_WC_STATUS_REPLACED (int)
El artículo fue borrado y luego re-agregado
SVN_WC_STATUS_MODIFIED (int)
El artículo (texto o propiedades) fue modificado
SVN_WC_STATUS_MERGED (int)
Las modificaciones locales del artículo fueron unidas con las modificaciones del repositorio
SVN_WC_STATUS_CONFLICTED (int)
Las modificaciones locales del artículo discreparon con las modificaciones de repositorio
SVN_WC_STATUS_IGNORED (int)
El artículo está desversionado pero configurado para ser ignorado
SVN_WC_STATUS_OBSTRUCTED (int)
Artículo desversionado está en el camino de un recurso versionado
SVN_WC_STATUS_EXTERNAL (int)
Rura desversionada que está poblada usando svn:externals
SVN_WC_STATUS_INCOMPLETE (int)
El directorio no contiene la lista completa de entradas
Node type constants
SVN_NODE_NONE (int)
Ausente
SVN_NODE_FILE (int)
Archivo
SVN_NODE_DIR (int)
Directorio
SVN_NODE_UNKNOWN (int)
Algo que la subversión no puede identificar
Tipos de recursos
Funciones SVN
SVN


Funciones SVN

Tabla de contenidos

  • svn_add — Programa la adición de un artículo en un directorio de trabajo
  • svn_auth_get_parameter — Recupera un parámetros de autenticación
  • svn_auth_set_parameter — Establece un parámetro de autenticación
  • svn_blame — Obtiene las acusaciones SVN de un archivo
  • svn_cat — Devuelve el contenido de un fichero en un repositorio
  • svn_checkout — Descarga una copia de trabajo desde el repositorio
  • svn_cleanup — Limpieza recursiva del directorio de trabajo, finalizando operaciones no completadas y eliminado bloqueos
  • svn_client_version — Devuelve la versión de las librerias del cliente SVN
  • svn_commit — Envía los cambios desde el directorio local de trabajo al repositorio
  • svn_delete — Elimina ítems de una copia de trabajo o repositorio
  • svn_diff — Compara dos rutas de acceso recursivamente
  • svn_export — Exporta el contenido de un directorio SVN
  • svn_fs_abort_txn — Cancelar una transacción, devuelve true si todo está bien, false de lo contrario
  • svn_fs_apply_text — Crea y devuelve una secuencia que se utilizará para reemplazar
  • svn_fs_begin_txn2 — Crear una nueva transacción
  • svn_fs_change_node_prop — Retorna verdadero si todo está ok, falso en caso contrario
  • svn_fs_check_path — Determina que tipo de elemento está apuntado por una ruta de acceso determinada, en un repositorio fsroot
  • svn_fs_contents_changed — Devuelve verdadero si el contenido es diferente, falso en caso contrario
  • svn_fs_copy — Copia un fichero o un directorio, devuelve true en caso de éxito, de lo contrario devuelve false
  • svn_fs_delete — Elimina un fichero o directorio, devuelve true en caso de éxito, en caso contrario devuele false
  • svn_fs_dir_entries — Enumera los directorios que hay bajo una ruta de acceso determinada; devuelve un array con los nombres de los directorios
  • svn_fs_file_contents — Devuelve un flujo de acceso al contenido de un fichero para una versión del sistema de ficheros dada
  • svn_fs_file_length — Devuelve la longitud de un fichero para una versión dada de sistema de ficheros
  • svn_fs_is_dir — Devuelve true si la ruta apunta a un directorio, false en caso contrario
  • svn_fs_is_file — Devuelve true si la ruta apunta a un fichero, falso en caso contrario
  • svn_fs_make_dir — Crea un nuevo directorio vacío, devuelve true en caso de éxito, en caso contrario devuelve false
  • svn_fs_make_file — Crea un nuevo fichero vacío, devuelve true en caso de éxito, false en caso contrario
  • svn_fs_node_created_rev — Devuelve la revisión en la que la ruta de acceso bajo fsroot fue creado
  • svn_fs_node_prop — Devuelve el valor de una propiedad de un nodo
  • svn_fs_props_changed — Devuelve verdadero si las propiedades son diferentes, falso en caso contrario
  • svn_fs_revision_prop — Recupera el valor de una propiedad con determinado nombre
  • svn_fs_revision_root — Obtiene un gestor en una versión específica del repositorio 'root'
  • svn_fs_txn_root — Crea y retorna una transacción 'root'
  • svn_fs_youngest_rev — Devuelve el número de la revisión más reciente del sistema de ficheros
  • svn_import — Importa una ruta de acceso sin versión, dentro de un repositorio
  • svn_log — Devuelve el log histórico de mensajes de un repositorio URL
  • svn_ls — Devuelve una lista del contenido del directorio en el repositorio URL, opcionalmente el número de revisión
  • svn_mkdir — Crea un directorio en la copia de trabajo actual o repositorio
  • svn_repos_create — Crea un nuevo repositorio de subversión
  • svn_repos_fs_begin_txn_for_commit — Crea una nueva transacción
  • svn_repos_fs_commit_txn — Consolida una transacción y devuelve la nueva revisión
  • svn_repos_fs — Obtiene un gestor del sistema de ficheros para un repositorio
  • svn_repos_hotcopy — Realiza una copia en caliente del repositorio en pathrepospath; y lo copia en destpath
  • svn_repos_open — Abre una cerradura compartida en un repositorio
  • svn_repos_recover — Ejecuta los procesos de recuperación en el repositorio localizado en un path determinado
  • svn_revert — Deshace los cambios en la copia de trabajo
  • svn_status — Devuelve el estado de la copia de trabajo de los ficheros y directorios
  • svn_update — Actualiza la copia de trabajo
Constantes predefinidas
svn_add
SVN


Programa la adición de un artículo en un directorio de trabajo

Funciones SVN
svn_auth_get_parameter
Funciones SVN
PHP Manual

svn_add

(PECL svn >= 0.1.0)

svn_add — Programa la adición de un artículo en un directorio de trabajo

Descripción

bool svn_add ( string $path [, bool $recursive = true [, bool $force = false ]] )

Agrega el archivo, directorio o enlace simbólico en path al directorio de trabajo. El artículo será agregado al repositorio la próxima vez que se llame a svn_commit() sobre la copia de trabajo.

Parámetros

path

Ruta al artículo a ser agregado.

Nota: Las rutas relativas se resolverán como si el directorio de trabajo actual es el que contiene el binario de PHP. Para utilizar el directorio de trabajo que contiene el script a llamar, use realpath() o dirname(__FILE__).

recursive

Si el artículo es un directorio, si desea o no añadir de forma recursiva todos sus contenidos. Por omisión es TRUE

force

Si es true, Subversion recorrerá recursivamente en los directorios ya versionados a fin de agregar archivos no versionados que pueden estar ocultos en esos directorios. Por omisión es FALSE

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ejemplos

Ejemplo #1 Ejemplo de svn_add()

En un directorio de trabajo donde svn status devuelve:

$ svn status
?      foobar.txt

...este código:

<?php
svn_add('foobar.txt');
?>

... se programará foobar.txt para agregarse al repositorio.

Ver también

  • » Documentación SVN sobre svn add

Funciones SVN
svn_auth_get_parameter
Funciones SVN


Recupera un parámetros de autenticación

svn_add
svn_auth_set_parameter
Funciones SVN
PHP Manual

svn_auth_get_parameter

(PECL svn >= 0.1.0)

svn_auth_get_parameter — Recupera un parámetros de autenticación

Descripción

string svn_auth_get_parameter ( string $key )

Recupera un parámetro de autenticación donde la clave es key. Para obtener una lista de claves válidas y sus significados, consulte la lista de constantes de autenticación.

Parámetros

key

Nombre de la clave. Utilice una constante de autenticación definidas por esta extensión para especificar una clave.

Valores devueltos

Devuelve el valor de cadena del parámetro en key; devuelve NULL si el parámetro no existe.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ver también

  • svn_auth_set_parameter() - Establece un parámetro de autenticación
  • Constantes de autenticación

svn_add
svn_auth_set_parameter
Funciones SVN


Establece un parámetro de autenticación

svn_auth_get_parameter
svn_blame
Funciones SVN
PHP Manual

svn_auth_set_parameter

(PECL svn >= 0.1.0)

svn_auth_set_parameter — Establece un parámetro de autenticación

Descripción

void svn_auth_set_parameter ( string $key , string $value )

Establece un parámetro de autenticación en la clave key con el valor value. Para obtener una lista de claves válidas y sus significado, consulte la lista de constantes de autenticación.

Parámetros

key

Nombre de la clave. Utilice una constante de autenticación definidas por esta extensión para especificar una clave.

value

Valor de la cadena a establecer como parámetro en la clave. El formato del valor varía con el n parámetro.

Valores devueltos

No devuelve ningún valor.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ejemplos

Ejemplo #1 Ejemplo de autenticación por omisión

Este ejemplo configura a SVN para que el nombre de usuario por omisión sea 'Bob' y la contraseña por omisión sea 'abc123':

<?php
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_USERNAME, 'Bob');
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_PASSWORD, 'abc123');
?>

Ver también

  • svn_auth_get_parameter() - Recupera un parámetros de autenticación
  • Constantes de autenticación

svn_auth_get_parameter
svn_blame
Funciones SVN


Obtiene las acusaciones SVN de un archivo

svn_auth_set_parameter
svn_cat
Funciones SVN
PHP Manual

svn_blame

(PECL svn >= 0.3.0)

svn_blame — Obtiene las acusaciones SVN de un archivo

Descripción

array svn_blame ( string $repository_url [, int $revision_no = SVN_REVISION_HEAD ] )

Obtiene las acusaciones SVN de un archivo desde una URL de repositorio.

Parámetros

repository_url

La URL del repositorio.

revision_no

El número de revisión.

Valores devueltos

Un array con la información de acuses SVN separados por línea incluyendo los números de revisión, número de línea, línea de codigo, autor, y fecha.

Ejemplos

Ejemplo #1 Ejemplo de svn_blame()

<?php
$svnurl = 'http://svn.example.org/svnroot/foo/trunk/index.php';

print_r( svn_blame($svnurl) );

?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] = Array
          (
           [rev] = 1
           [line_no] = 1
           [line] = Hello World
           [author] = joesmith
           [date] = 2007-07-02T05:51:26.628396Z
          )
    [1] = Array
          ...

Ver también

  • svn_diff() - Compara dos rutas de acceso recursivamente
  • svn_logs()
  • svn_status() - Devuelve el estado de la copia de trabajo de los ficheros y directorios

svn_auth_set_parameter
svn_cat
Funciones SVN


Devuelve el contenido de un fichero en un repositorio

svn_blame
svn_checkout
Funciones SVN
PHP Manual

svn_cat

(PECL svn >= 0.1.0)

svn_cat — Devuelve el contenido de un fichero en un repositorio

Descripción

string svn_cat ( string $repos_url [, int $revision_no ] )

Devuelve el contenido del fichero de un repositorio indicado en repos_url, de forma opcional se puede indicar opcionalmente el número de revisión en revision_no.

Parámetros

repos_url

La ruta URL del ítem en el repositorio (cadena).

revision_no

Número de revisión del ítem a obtener, por defecto es la última revisión (entero).

Valores devueltos

Devuelve el contenido del ítem del repositorio en caso de éxito, y FALSE en caso de error.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ejemplos

Ejemplo #1 Ejemplo básico

Este ejemplo devuelve el contenido de un fichero en su revisión 28:

<?php
$contents = svn_cat('http://www.example.com/svnroot/calc/gui.c', 28)
?>

Ver también

  • svn_list()
  • » Documentación SVN de svn cat

svn_blame
svn_checkout
Funciones SVN


Descarga una copia de trabajo desde el repositorio

svn_cat
svn_cleanup
Funciones SVN
PHP Manual

svn_checkout

(PECL svn >= 0.1.0)

svn_checkout — Descarga una copia de trabajo desde el repositorio

Descripción

bool svn_checkout ( string $repos , string $targetpath [, int $revision [, int $flags = 0 ]] )

Descarga una copia de trabajo desde el repositorio en repos a targetpath con la revisión revision.

Parámetros

repos

Cadena URL con la ruta al directorio en el repositorio a descargar.

targetpath

Cadena con la ruta local del directorio en donde descargar.

Nota: Las rutas relativas se resolverán como si el directorio de trabajo actual es el que contiene el binario de PHP. Para utilizar el directorio de trabajo que contiene el script a llamar, use realpath() o dirname(__FILE__).

revision

Número de la revisión del repositorio a descargar. Por defecto es HEAD, la más reciente.

flags

Cualquier combinación de SVN_NON_RECURSIVE y SVN_IGNORE_EXTERNALS.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ejemplos

Ejemplo #1 Ejemplo básico

Este ejemplo demustra como descargar un directorio desde un repositorio a un directorio llamado calc:

<?php
svn_checkout('http://www.example.com/svnroot/calc/trunk', dirname(__FILE__) . '/calc');
?>

La llamada a dirname(__FILE__) es necesaria para poder convertir la ruta relativa de path en una ruta absoluta. Si calc existe, también se puede usar realpath() para obtener la ruta absoluta.

Ver también

  • svn_add() - Programa la adición de un artículo en un directorio de trabajo
  • svn_commit() - Envía los cambios desde el directorio local de trabajo al repositorio
  • svn_status() - Devuelve el estado de la copia de trabajo de los ficheros y directorios
  • svn_update() - Actualiza la copia de trabajo
  • » Documentación SVN para descargas svn

svn_cat
svn_cleanup
Funciones SVN


Limpieza recursiva del directorio de trabajo, finalizando operaciones no completadas y eliminado bloqueos

svn_checkout
svn_client_version
Funciones SVN
PHP Manual

svn_cleanup

(PECL svn >= 0.1.0)

svn_cleanup — Limpieza recursiva del directorio de trabajo, finalizando operaciones no completadas y eliminado bloqueos

Descripción

bool svn_cleanup ( string $workingdir )

Limpieza recursiva del directorio de trabajo workingdir, finalizando cualquier operación no completada y eliminando bloqueos que existan en la copia de trabajo. Utilícese cuando la copia de trabajo no funcione y necesite ser arreglada.

Parámetros

workingdir

Ruta local del directorio de trabajo a limpiar

Nota: Las rutas relativas se resolverán como si el directorio de trabajo actual es el que contiene el binario de PHP. Para utilizar el directorio de trabajo que contiene el script a llamar, use realpath() o dirname(__FILE__).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ejemplos

Ejemplo #1 Ejemplo básico

Este ejemplo demuestra como hacer limpieza en un directorio de trabajo llamado help-me:

<?php
svn_cleanup(realpath('help-me'));
?>

La llamada al realpath() (ruta absoluta) es necesaria debido a que SVN's no maneja muy bien rutas relativas.

Ver también

  • update()
  • » Documentación SVN del comando svn cleanup

svn_checkout
svn_client_version
Funciones SVN


Devuelve la versión de las librerias del cliente SVN

svn_cleanup
svn_commit
Funciones SVN
PHP Manual

svn_client_version

(PECL svn >= 0.1.0)

svn_client_version — Devuelve la versión de las librerias del cliente SVN

Descripción

string svn_client_version ( void )

Devuelve la versión de las librerías del cliente SVN

Valores devueltos

Cadena de texto con el número de versión, normalmente con el formato x.y.z.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ejemplos

Ejemplo #1 Ejemplo básico

<?php
echo svn_client_version();
?>

El resultado del ejemplo sería algo similar a:

1.3.1

svn_cleanup
svn_commit
Funciones SVN


Envía los cambios desde el directorio local de trabajo al repositorio

svn_client_version
svn_delete
Funciones SVN
PHP Manual

svn_commit

(PECL svn >= 0.1.0)

svn_commit — Envía los cambios desde el directorio local de trabajo al repositorio

Descripción

array svn_commit ( string $log , array $targets [, bool $recursive = true ] )

Hace commit a los cambios hechos en local enumerados en el targets array en el repositorio, con el mensaje de loglog. Los directorios del targets array se confirmarán recursivamente a menos que recursive sea establecido a FALSE.

Nota: Esta función no tiene ningún parámetro para especificar la autenticación, por lo que usuario y contraseña tienen que ponerse usando svn_auth_set_parameter()

Parámetros

log

String del log para el commit

targets

Array de rutas locales de archivos para hacer commit

Advertencia

Este parámetro tiene que ser un array, no será aceptada un String para un único target.

Nota: Las rutas relativas se resolverán como si el directorio de trabajo actual es el que contiene el binario de PHP. Para utilizar el directorio de trabajo que contiene el script a llamar, use realpath() o dirname(__FILE__).

recursive

Flag para desactivar el commit recursivo de directorios en el targets array. Por defecto es TRUE.

Valores devueltos

Se devuelve un array con la siguiente estructura:

array(
    0 => integer revision number of commit
    1 => string ISO 8601 date and time of commit
    2 => name of committer
)

Devuelve FALSE en caso de fallo.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ejemplos

Ejemplo #1 Ejemplo básico

Este ejemplo hace commit, usando el usuario Bob y la contraseña abc123 (esperemos que su contraseña sea más segura):

<?php
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_USERNAME, 'Bob');
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_PASSWORD, 'abc123');
var_dump(svn_commit('Log message of Bob\'s commit', array(realpath('calculator'))));
?>

El resultado del ejemplo sería:

array(
  0 => 1415,
  1 => '2007-05-26T01:44:28.453125Z',
  2 => 'Bob'
)

Ver también

  • svn_auth_set_parameter() - Establece un parámetro de autenticación
  • » Documentación de SVN para svn commit

svn_client_version
svn_delete
Funciones SVN


Elimina ítems de una copia de trabajo o repositorio

svn_commit
svn_diff
Funciones SVN
PHP Manual

svn_delete

(PECL svn >= 0.4.0)

svn_delete — Elimina ítems de una copia de trabajo o repositorio

Descripción

bool svn_delete ( string $path [, bool $force = false ] )

Elimina el fichero, directorio o enlace simbólico en el path del directorio de trabajo. El ítem será eliminado del repositorio la próxima vez que se use svn_commit() en la copia de trabajo.

Parámetros

path

Ruta o ítem a eliminar.

Nota: Las rutas relativas se resolverán como si el directorio de trabajo actual es el que contiene el binario de PHP. Para utilizar el directorio de trabajo que contiene el script a llamar, use realpath() o dirname(__FILE__).

force

En caso que sea TRUE, el fichero será eliminado incluso si se han hecho modificaciones en local. En caso contrario, el haber hecho modificaciones en local causará un error. El valor por omisión es FALSE

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ver también

  • » SVN documentation on svn delete

svn_commit
svn_diff
Funciones SVN


Compara dos rutas de acceso recursivamente

svn_delete
svn_export
Funciones SVN
PHP Manual

svn_diff

(PECL svn >= 0.1.0)

svn_diff — Compara dos rutas de acceso recursivamente

Descripción

array svn_diff ( string $path1 , int $rev1 , string $path2 , int $rev2 )

Compara dos rutas de acceso recursivamente, path1 y path2.

Nota:

No es una utilidad general de comparación. Únicamente se pueden comparar ficheros locales que estan versionados: los otros ficheros fallarán.

Parámetros

path1

La primera ruta de acceso a comparar. Puede ser una URL a un fichero/directorio en un repositorio SVN o una ruta de acceso a un fichero/directorio local.

Nota: Las rutas relativas se resolverán como si el directorio de trabajo actual es el que contiene el binario de PHP. Para utilizar el directorio de trabajo que contiene el script a llamar, use realpath() o dirname(__FILE__).

Advertencia

Si la ruta de acceso a un fichero local únicamente tiene el caracter de barra invertida '\' y no la barra '/', esta extensión no podrá encontrar la ruta de acceso. Se debe reemplazar siempre la barra invertida '\' con la barra '/' cuando se utilice esta función.

rev1

Número de revisión de la primera ruta de acceso. Utilizar SVN_REVISION_HEAD para especificar la versión más reciente.

path2

Segunda ruta de acceso a comparar. Ver path1para descripción.

rev2

Número de revisión de la segunda ruta de acceso. Ver rev1 para descripción.

Valores devueltos

Devuelve un array consistente en dos flujos: el primero es la salida de la comparación y el segundo contiene el flujo de salida de error. El flujo se puede leer utilizando fread(). Devuelve FALSE o NULL en caso de error.

Por defecto, la salida de la comparación tendrá el formato Subversión de cliente unificado, pero un » motor externo de comparativa puede ser utilizado dependiendo de la configuración de la Subversión.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ejemplos

Ejemplo #1 Ejemplo básico

Este ejemplo demuestra el uso básico de esta función, y la obtención de contenidos del flujo:

<?php
list($diff, $errors) = svn_diff(
    'http://www.example.com/svnroot/trunk/foo', SVN_REVISION_HEAD,
    'http://www.example.com/svnroot/branches/dev/foo', SVN_REVISION_HEAD
);
if (!$diff) exit;
$contents = '';
while (!feof($diff)) {
  $contents .= fread($diff, 8192);
}
fclose($diff);
fclose($errors);
var_dump($contents);
?>

El resultado del ejemplo sería:

Index: http://www.example.com/svnroot/trunk/foo
===================================================================
--- http://www.example.com/svnroot/trunk/foo        (.../foo) (revision 23)
+++ http://www.example.com/svnroot/branches/dev/foo (.../foo) (revision 27)
 // further diff output

Ejemplo #2 Comparando dos revisiones de una ruta de acceso a repositorio

Este ejemplo implementa una función de envoltorio que permite a un usuario comparar fácilmente dos revisiones del mismo elemento utilizando un camino de acceso externo al repositorio (la sintaxis por defecto es detallada):

<?php
function svn_diff_same_item($path, $rev1, $rev2) {
    return svn_diff($path, $rev1, $path, $rev2);
}
?>

Ejemplo #3 Comparativa portable de dos ficheros locales

Este ejemplo implementa una función envoltorio que compara de forma portable dos ficheros locales, compensando el problema realpath() y el de las barras invertidas '\':

<?php
function svn_diff_local($path1, $rev1, $path2, $rev2) {
    $path1 = str_replace('\\', '/', realpath($path1));
    $path2 = str_replace('\\', '/', realpath($path2));
    return svn_diff($path1, $rev1, $path2, $rev2);
}
?>

Ver también

  • » documentación SVN bajo el comando "svn diff"

svn_delete
svn_export
Funciones SVN


Exporta el contenido de un directorio SVN

svn_diff
svn_fs_abort_txn
Funciones SVN
PHP Manual

svn_export

(PECL svn >= 0.3.0)

svn_export — Exporta el contenido de un directorio SVN

Descripción

bool svn_export ( string $frompath , string $topath [, bool $working_copy = true [, int $revision_no = -1 ]] )

Exporta el contenido de una copia de trabajo o un repositorio en un directorio 'limpio'.

Parámetros

frompath

La ruta del repositorio actual.

topath

La ruta del nuevo repositorio.

working_copy

Si es TRUE, exportará ficheros no cometidos de la copia de trabajo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de svn_export()

<?php
$working_dir     = '../';
$new_working_dir = '/home/user/devel/foo/trunk';

svn_export($working_dir, $new_working_dir);
?>

Ver también

  • svn_import() - Importa una ruta de acceso sin versión, dentro de un repositorio

svn_diff
svn_fs_abort_txn
Funciones SVN


Cancelar una transacción, devuelve true si todo está bien, false de lo contrario

svn_export
svn_fs_apply_text
Funciones SVN
PHP Manual

svn_fs_abort_txn

(PECL svn >= 0.2.0)

svn_fs_abort_txn — Cancelar una transacción, devuelve true si todo está bien, false de lo contrario

Descripción

bool svn_fs_abort_txn ( resource $txn )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Cancelar una transacción, devuelve true si todo está bien, false de lo contrario

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

svn_export
svn_fs_apply_text
Funciones SVN


Crea y devuelve una secuencia que se utilizará para reemplazar

svn_fs_abort_txn
svn_fs_begin_txn2
Funciones SVN
PHP Manual

svn_fs_apply_text

(PECL svn >= 0.2.0)

svn_fs_apply_text — Crea y devuelve una secuencia que se utilizará para reemplazar

Descripción

resource svn_fs_apply_text ( resource $root , string $path )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Crea y devuelve una secuencia que se utilizará para reemplazar

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

svn_fs_abort_txn
svn_fs_begin_txn2
Funciones SVN


Crear una nueva transacción

svn_fs_apply_text
svn_fs_change_node_prop
Funciones SVN
PHP Manual

svn_fs_begin_txn2

(PECL svn >= 0.2.0)

svn_fs_begin_txn2 — Crear una nueva transacción

Descripción

resource svn_fs_begin_txn2 ( resource $repos , int $rev )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Crear una nueva transacción

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

svn_fs_apply_text
svn_fs_change_node_prop
Funciones SVN


Retorna verdadero si todo está ok, falso en caso contrario

svn_fs_begin_txn2
svn_fs_check_path
Funciones SVN
PHP Manual

svn_fs_change_node_prop

(PECL svn >= 0.2.0)

svn_fs_change_node_prop — Retorna verdadero si todo está ok, falso en caso contrario

Descripción

bool svn_fs_change_node_prop ( resource $root , string $path , string $name , string $value )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Retorna verdadero si todo está ok, falso en caso contrario

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

svn_fs_begin_txn2
svn_fs_check_path
Funciones SVN


Determina que tipo de elemento está apuntado por una ruta de acceso determinada, en un repositorio fsroot

svn_fs_change_node_prop
svn_fs_contents_changed
Funciones SVN
PHP Manual

svn_fs_check_path

(PECL svn >= 0.1.0)

svn_fs_check_path — Determina que tipo de elemento está apuntado por una ruta de acceso determinada, en un repositorio fsroot

Descripción

int svn_fs_check_path ( resource $fsroot , string $path )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Determina que tipo de elemento está apuntado por una ruta de acceso determinada, en un repositorio fsroot

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

svn_fs_change_node_prop
svn_fs_contents_changed
Funciones SVN


Devuelve verdadero si el contenido es diferente, falso en caso contrario

svn_fs_check_path
svn_fs_copy
Funciones SVN
PHP Manual

svn_fs_contents_changed

(PECL svn >= 0.2.0)

svn_fs_contents_changed — Devuelve verdadero si el contenido es diferente, falso en caso contrario

Descripción

bool svn_fs_contents_changed ( resource $root1 , string $path1 , resource $root2 , string $path2 )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve verdadero si el contenido es diferente, falso en caso contrario

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

svn_fs_check_path
svn_fs_copy
Funciones SVN


Copia un fichero o un directorio, devuelve true en caso de éxito, de lo contrario devuelve false

svn_fs_contents_changed
svn_fs_delete
Funciones SVN
PHP Manual

svn_fs_copy

(PECL svn >= 0.2.0)

svn_fs_copy — Copia un fichero o un directorio, devuelve true en caso de éxito, de lo contrario devuelve false

Descripción

bool svn_fs_copy ( resource $from_root , string $from_path , resource $to_root , string $to_path )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Copia un fichero o un directorio, devuelve true en caso de éxito, de lo contrario devuelve false.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

svn_fs_contents_changed
svn_fs_delete
Funciones SVN


Elimina un fichero o directorio, devuelve true en caso de éxito, en caso contrario devuele false

svn_fs_copy
svn_fs_dir_entries
Funciones SVN
PHP Manual

svn_fs_delete

(PECL svn >= 0.2.0)

svn_fs_delete — Elimina un fichero o directorio, devuelve true en caso de éxito, en caso contrario devuele false

Descripción

bool svn_fs_delete ( resource $root , string $path )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Elimina un fichero o directorio, devuelve true en caso de éxito, en caso contrario devuelve false

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

svn_fs_copy
svn_fs_dir_entries
Funciones SVN


Enumera los directorios que hay bajo una ruta de acceso determinada; devuelve un array con los nombres de los directorios

svn_fs_delete
svn_fs_file_contents
Funciones SVN
PHP Manual

svn_fs_dir_entries

(PECL svn >= 0.1.0)

svn_fs_dir_entries — Enumera los directorios que hay bajo una ruta de acceso determinada; devuelve un array con los nombres de los directorios

Descripción

array svn_fs_dir_entries ( resource $fsroot , string $path )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Enumera los directorios que hay bajo una ruta de acceso determinada; devuelve un array con los nombres de los directorios

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

svn_fs_delete
svn_fs_file_contents
Funciones SVN


Devuelve un flujo de acceso al contenido de un fichero para una versión del sistema de ficheros dada

svn_fs_dir_entries
svn_fs_file_length
Funciones SVN
PHP Manual

svn_fs_file_contents

(PECL svn >= 0.1.0)

svn_fs_file_contents — Devuelve un flujo de acceso al contenido de un fichero para una versión del sistema de ficheros dada

Descripción

resource svn_fs_file_contents ( resource $fsroot , string $path )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve un flujo de acceso al contenido de un fichero para una versión del sistema de ficheros dada

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

svn_fs_dir_entries
svn_fs_file_length
Funciones SVN


Devuelve la longitud de un fichero para una versión dada de sistema de ficheros

svn_fs_file_contents
svn_fs_is_dir
Funciones SVN
PHP Manual

svn_fs_file_length

(PECL svn >= 0.1.0)

svn_fs_file_length — Devuelve la longitud de un fichero para una versión dada de sistema de ficheros

Descripción

int svn_fs_file_length ( resource $fsroot , string $path )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve la longitud de un fichero para una versión dada de sistema de ficheros

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

svn_fs_file_contents
svn_fs_is_dir
Funciones SVN


Devuelve true si la ruta apunta a un directorio, false en caso contrario

svn_fs_file_length
svn_fs_is_file
Funciones SVN
PHP Manual

svn_fs_is_dir

(PECL svn >= 0.2.0)

svn_fs_is_dir — Devuelve true si la ruta apunta a un directorio, false en caso contrario

Descripción

bool svn_fs_is_dir ( resource $root , string $path )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve true si la ruta apunta a un directorio, falso en caso contrario

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

svn_fs_file_length
svn_fs_is_file
Funciones SVN


Devuelve true si la ruta apunta a un fichero, falso en caso contrario

svn_fs_is_dir
svn_fs_make_dir
Funciones SVN
PHP Manual

svn_fs_is_file

(PECL svn >= 0.2.0)

svn_fs_is_file — Devuelve true si la ruta apunta a un fichero, falso en caso contrario

Descripción

bool svn_fs_is_file ( resource $root , string $path )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve true si la ruta apunta a un fichero, falso en caso contrario

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

svn_fs_is_dir
svn_fs_make_dir
Funciones SVN


Crea un nuevo directorio vacío, devuelve true en caso de éxito, en caso contrario devuelve false

svn_fs_is_file
svn_fs_make_file
Funciones SVN
PHP Manual

svn_fs_make_dir

(PECL svn >= 0.2.0)

svn_fs_make_dir — Crea un nuevo directorio vacío, devuelve true en caso de éxito, en caso contrario devuelve false

Descripción

bool svn_fs_make_dir ( resource $root , string $path )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Crea un nuevo directorio vacío, devuelve true en caso de éxito, en caso contrario devuelve false.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

svn_fs_is_file
svn_fs_make_file
Funciones SVN


Crea un nuevo fichero vacío, devuelve true en caso de éxito, false en caso contrario

svn_fs_make_dir
svn_fs_node_created_rev
Funciones SVN
PHP Manual

svn_fs_make_file

(PECL svn >= 0.2.0)

svn_fs_make_file — Crea un nuevo fichero vacío, devuelve true en caso de éxito, false en caso contrario

Descripción

bool svn_fs_make_file ( resource $root , string $path )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Crea un nuevo fichero vacío, devuelve true en caso de éxito, false en caso contrario

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

svn_fs_make_dir
svn_fs_node_created_rev
Funciones SVN


Devuelve la revisión en la que la ruta de acceso bajo fsroot fue creado

svn_fs_make_file
svn_fs_node_prop
Funciones SVN
PHP Manual

svn_fs_node_created_rev

(PECL svn >= 0.1.0)

svn_fs_node_created_rev — Devuelve la revisión en la que la ruta de acceso bajo fsroot fue creado

Descripción

int svn_fs_node_created_rev ( resource $fsroot , string $path )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve la revisión en la que la ruta de acceso bajo fsroot fue creado

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

svn_fs_make_file
svn_fs_node_prop
Funciones SVN


Devuelve el valor de una propiedad de un nodo

svn_fs_node_created_rev
svn_fs_props_changed
Funciones SVN
PHP Manual

svn_fs_node_prop

(PECL svn >= 0.1.0)

svn_fs_node_prop — Devuelve el valor de una propiedad de un nodo

Descripción

string svn_fs_node_prop ( resource $fsroot , string $path , string $propname )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve el valor de una propiedad de un nodo

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

svn_fs_node_created_rev
svn_fs_props_changed
Funciones SVN


Devuelve verdadero si las propiedades son diferentes, falso en caso contrario

svn_fs_node_prop
svn_fs_revision_prop
Funciones SVN
PHP Manual

svn_fs_props_changed

(PECL svn >= 0.2.0)

svn_fs_props_changed — Devuelve verdadero si las propiedades son diferentes, falso en caso contrario

Descripción

bool svn_fs_props_changed ( resource $root1 , string $path1 , resource $root2 , string $path2 )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve verdadero si las propiedades son diferentes, falso en caso contrario

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

svn_fs_node_prop
svn_fs_revision_prop
Funciones SVN


Recupera el valor de una propiedad con determinado nombre

svn_fs_props_changed
svn_fs_revision_root
Funciones SVN
PHP Manual

svn_fs_revision_prop

(PECL svn >= 0.1.0)

svn_fs_revision_prop — Recupera el valor de una propiedad con determinado nombre

Descripción

string svn_fs_revision_prop ( resource $fs , int $revnum , string $propname )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Recupera el valor de una propiedad con determinado nombre

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

svn_fs_props_changed
svn_fs_revision_root
Funciones SVN


Obtiene un gestor en una versión específica del repositorio 'root'

svn_fs_revision_prop
svn_fs_txn_root
Funciones SVN
PHP Manual

svn_fs_revision_root

(PECL svn >= 0.1.0)

svn_fs_revision_root — Obtiene un gestor en una versión específica del repositorio 'root'

Descripción

resource svn_fs_revision_root ( resource $fs , int $revnum )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Obtiene un gestor en una versión específica del repositorio 'root'

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

svn_fs_revision_prop
svn_fs_txn_root
Funciones SVN


Crea y retorna una transacción 'root'

svn_fs_revision_root
svn_fs_youngest_rev
Funciones SVN
PHP Manual

svn_fs_txn_root

(PECL svn >= 0.2.0)

svn_fs_txn_root — Crea y retorna una transacción 'root'

Descripción

resource svn_fs_txn_root ( resource $txn )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Crea y retorna una transacción 'root'

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

svn_fs_revision_root
svn_fs_youngest_rev
Funciones SVN


Devuelve el número de la revisión más reciente del sistema de ficheros

svn_fs_txn_root
svn_import
Funciones SVN
PHP Manual

svn_fs_youngest_rev

(PECL svn >= 0.1.0)

svn_fs_youngest_rev — Devuelve el número de la revisión más reciente del sistema de ficheros

Descripción

int svn_fs_youngest_rev ( resource $fs )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve el número de la revisión más reciente del sistema de ficheros

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

svn_fs_txn_root
svn_import
Funciones SVN


Importa una ruta de acceso sin versión, dentro de un repositorio

svn_fs_youngest_rev
svn_log
Funciones SVN
PHP Manual

svn_import

(PECL svn >= 0.2.0)

svn_import — Importa una ruta de acceso sin versión, dentro de un repositorio

Descripción

bool svn_import ( string $path , string $url , bool $nonrecursive )

Consolida un path no versionado dentro de un repositorio en url. Si path es un directorio y nonrecursive es FALSE, el directorio será importado recursivamente.

Parámetros

path

Ruta de acceso al fichero o directorio a importar.

Nota: Las rutas relativas se resolverán como si el directorio de trabajo actual es el que contiene el binario de PHP. Para utilizar el directorio de trabajo que contiene el script a llamar, use realpath() o dirname(__FILE__).

url

Repositorio URL dentro del que se importa.

nonrecursive

Si se realiza o no, el procesamiento recursivo de los directorios.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ejemplos

Ejemplo #1 Ejemplo básico

Este ejemplo muestra un caso de uso básico para esta función. Para importar un directorio llamado new-files dentro de un repositorio en la url http://www.example.com/svnroot/incoming/abc, utilizar:

<?php
svn_import(realpath('new-files'), 'http://www.example.com/svnroot/incoming/abc', false);
?>

Ver también

  • svn_add() - Programa la adición de un artículo en un directorio de trabajo
  • » Documentación SVN para importación svn

svn_fs_youngest_rev
svn_log
Funciones SVN


Devuelve el log histórico de mensajes de un repositorio URL

svn_import
svn_ls
Funciones SVN
PHP Manual

svn_log

(PECL svn >= 0.1.0)

svn_log — Devuelve el log histórico de mensajes de un repositorio URL

Descripción

array svn_log ( string $repos_url [, int $start_revision [, int $end_revision [, int $limit = 0 [, int $flags = SVN_DISCOVER_CHANGED_PATHS | SVN_STOP_ON_COPY ]]]] )

svn_log() devuelve el histórico completo de un elemento del repositorio URL repos_url, o el histórico de una revisión específica si start_revision se ha especificado. Esta función es equivalente a svn log --verbose -r $start_revision $repos_url.

Parámetros

repos_url

Repositorio URL del elemento del que se obtendrá el log histórico.

start_revision

Número de revisión del primer log a obtener. Usar SVN_REVISION_HEAD para obtener el log de la revisión más reciente.

end_revision

Número de revisión del último log a obtener. Por defecto es start_revision si se especifica, o SVN_REVISION_INITIAL en caso contrario.

limit

Número de logs a obtener.

flags

Cualquier combinación de SVN_OMIT_MESSAGES, SVN_DISCOVER_CHANGED_PATHS y SVN_STOP_ON_COPY.

Valores devueltos

En caso de éxito, esta función devuelve un array con el siguiente formato :

[0] => Array, ordenado mostrando la revisión más reciente (la mayor) primero
(
    [rev] => integer número de revisión
    [author] => string nombre del autor
    [msg] => string log del mensaje
    [date] => string fecha formateada por ISO 8601, p.e. date('c')
    [paths] => Array, descripción de los ficheros cambiados
        (
            [0] => Array
                (
                    [action] => string letra que indica el cambio
                    [path] =>  path absoluto del repositorio de un fichero cambiado
                )
            [1] => ...
        )
)
[1] => ...

Nota:

La salida siempre será un array de arrays indexado numéricamente, incluso cuando no haya ninguno o sólo un log de mensaje(s).

El valor de action es un subconjunto de » con el estado de salida en la primer columna, donde los valores posibles son:

Actions
Letter | Description
M | Elemento/propiedad fue modificada
A | Elemento fue añadido
D | Elemento fue borrado
R | Elemento fue reemplazado

Si no se hizo ningún cambio al elemento, se devolverá un array vacío.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ejemplos

Ejemplo #1 svn_log() example

<?php
print_r( svn_log('http://www.example.com/', 23) );
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => Array
    (
        [rev] => 23
        [author] => 'joe'
        [msg] => 'Add cheese and salami to our sandwich.'
        [date] => '2007-04-06T16:00:27-04:00'
        [paths] => Array
            (
                [0] => Array
                    (
                        [action] => 'M'
                        [path] =>  '/sandwich.txt'
                    )
            )
    )
)

Ver también

  • » Documentación SVN para svn log

svn_import
svn_ls
Funciones SVN


Devuelve una lista del contenido del directorio en el repositorio URL, opcionalmente el número de revisión

svn_log
svn_mkdir
Funciones SVN
PHP Manual

svn_ls

(PECL svn >= 0.1.0)

svn_ls — Devuelve una lista del contenido del directorio en el repositorio URL, opcionalmente el número de revisión

Descripción

array svn_ls ( string $repos_url [, int $revision_no = SVN_REVISION_HEAD [, bool $recurse = false [, bool $peg = false ]]] )

Esta función consulta el repositorio URL y devuelve una lista de ficheros y directorios, opcionalmente de una revisión específica. Es equivalente a svn list $repos_url[@$revision_no]

Nota:

Esta función no funciona con copias de trabajo. repos_url debe ser un repositorio URL.

Parámetros

url

URL del repositorio, p.e. http://www.example.com/svnroot. Para acceder a la subversión local del repositorio vía sistema de ficheros, utilizar el esquema de ficheros URI, p.e. file:///home/user/svn-repos

revision

Entero con el número de la revisión de la que se obtendrá el listado. Si se omite, se utilizará la revisión HEAD.

recurse

Activa la recursividad.

Valores devueltos

En caso de éxito, esta función devuelve un fichero con arrays con el siguiente formato :

[0] => Array
    (
        [created_rev] => integer número de revisión de la última edición
        [last_author] => string nombre del autor de la última edición
        [size] => integer tamaño del fichero en bytes
        [time] => string fecha de la última edición en el formato 'M d H:i'
                  o 'M d Y', dependiendo de la antiguedad del fichero
        [time_t] => integer timestamp de unix de la última edición
        [name] => nombre del fichero/directorio
        [type] => tipo, puede ser 'file' o 'dir'
    )
[1] => ...

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ejemplos

Ejemplo #1 svn_ls() example

<?php
print_r( svn_ls('http://www.example.com/svnroot/') );
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => Array
        (
            [created_rev] => 20
            [last_author] => Joe
            [size] => 0
            [time] => Apr 02 09:28
            [time_t] => 1175520529
            [name] => tags
            [type] => dir
        )
    [1] => Array
        (
            [created_rev] => 23
            [last_author] => Bob
            [size] => 0
            [time] => Apr 02 15:15
            [time_t] => 1175541322
            [name] => trunk
            [type] => dir
        )
)

Ver también

  • » Documentación SVN de svn list

svn_log
svn_mkdir
Funciones SVN


Crea un directorio en la copia de trabajo actual o repositorio

svn_ls
svn_repos_create
Funciones SVN
PHP Manual

svn_mkdir

(PECL svn >= 0.4.0)

svn_mkdir — Crea un directorio en la copia de trabajo actual o repositorio

Descripción

bool svn_mkdir ( string $path [, string $log_message ] )

Crea un directorio en la copia de trabajo o repositorio.

Parámetros

path

La ruta a la copia de trabajo o repositorio.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • svn_add() - Programa la adición de un artículo en un directorio de trabajo
  • svn_copy()

svn_ls
svn_repos_create
Funciones SVN


Crea un nuevo repositorio de subversión

svn_mkdir
svn_repos_fs_begin_txn_for_commit
Funciones SVN
PHP Manual

svn_repos_create

(PECL svn >= 0.1.0)

svn_repos_create — Crea un nuevo repositorio de subversión

Descripción

resource svn_repos_create ( string $path [, array $config [, array $fsconfig ]] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Crea un nuevo repositorio de subversión en un path determinado.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

svn_mkdir
svn_repos_fs_begin_txn_for_commit
Funciones SVN


Crea una nueva transacción

svn_repos_create
svn_repos_fs_commit_txn
Funciones SVN
PHP Manual

svn_repos_fs_begin_txn_for_commit

(PECL svn >= 0.2.0)

svn_repos_fs_begin_txn_for_commit — Crea una nueva transacción

Descripción

resource svn_repos_fs_begin_txn_for_commit ( resource $repos , int $rev , string $author , string $log_msg )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Crea una nueva transacción

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

svn_repos_create
svn_repos_fs_commit_txn
Funciones SVN


Consolida una transacción y devuelve la nueva revisión

svn_repos_fs_begin_txn_for_commit
svn_repos_fs
Funciones SVN
PHP Manual

svn_repos_fs_commit_txn

(PECL svn >= 0.2.0)

svn_repos_fs_commit_txn — Consolida una transacción y devuelve la nueva revisión

Descripción

int svn_repos_fs_commit_txn ( resource $txn )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Consolida una transacción y devuelve la nueva revisión

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

svn_repos_fs_begin_txn_for_commit
svn_repos_fs
Funciones SVN


Obtiene un gestor del sistema de ficheros para un repositorio

svn_repos_fs_commit_txn
svn_repos_hotcopy
Funciones SVN
PHP Manual

svn_repos_fs

(PECL svn >= 0.1.0)

svn_repos_fs — Obtiene un gestor del sistema de ficheros para un repositorio

Descripción

resource svn_repos_fs ( resource $repos )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Obtiene un gestor del sistema de ficheros para un repositorio

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

svn_repos_fs_commit_txn
svn_repos_hotcopy
Funciones SVN


Realiza una copia en caliente del repositorio en pathrepospath; y lo copia en destpath

svn_repos_fs
svn_repos_open
Funciones SVN
PHP Manual

svn_repos_hotcopy

(PECL svn >= 0.1.0)

svn_repos_hotcopy — Realiza una copia en caliente del repositorio en pathrepospath; y lo copia en destpath

Descripción

bool svn_repos_hotcopy ( string $repospath , string $destpath , bool $cleanlogs )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Realiza una copia en caliente del repositorio en pathrepospath; y lo copia en destpath

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

svn_repos_fs
svn_repos_open
Funciones SVN


Abre una cerradura compartida en un repositorio

svn_repos_hotcopy
svn_repos_recover
Funciones SVN
PHP Manual

svn_repos_open

(PECL svn >= 0.1.0)

svn_repos_open — Abre una cerradura compartida en un repositorio

Descripción

resource svn_repos_open ( string $path )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Abre una cerradura compartida en un repositorio.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

svn_repos_hotcopy
svn_repos_recover
Funciones SVN


Ejecuta los procesos de recuperación en el repositorio localizado en un path determinado

svn_repos_open
svn_revert
Funciones SVN
PHP Manual

svn_repos_recover

(PECL svn >= 0.1.0)

svn_repos_recover — Ejecuta los procesos de recuperación en el repositorio localizado en un path determinado

Descripción

bool svn_repos_recover ( string $path )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ejecuta los procesos de recuperación en el repositorio localizado en un path determinado.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

svn_repos_open
svn_revert
Funciones SVN


Deshace los cambios en la copia de trabajo

svn_repos_recover
svn_status
Funciones SVN
PHP Manual

svn_revert

(PECL svn >= 0.3.0)

svn_revert — Deshace los cambios en la copia de trabajo

Descripción

bool svn_revert ( string $path [, bool $recursive = false ] )

Deshace cualquier cambio local de la ruta en la copia de trabajo.

Parámetros

path

La ruta del repositorio de trabajo.

recursive

Hacer cambios de forma recursiva, opcional.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • svn_delete() - Elimina ítems de una copia de trabajo o repositorio
  • svn_export() - Exporta el contenido de un directorio SVN

svn_repos_recover
svn_status
Funciones SVN


Devuelve el estado de la copia de trabajo de los ficheros y directorios

svn_revert
svn_update
Funciones SVN
PHP Manual

svn_status

(PECL svn >= 0.1.0)

svn_status — Devuelve el estado de la copia de trabajo de los ficheros y directorios

Descripción

array svn_status ( string $path [, int $flags = 0 ] )

Devuelve el estado de la copia de trabajo de los ficheros y directorios, dando las modificaciones, adiciones, borrados y otros cambios a los elementos de la copia de trabajo.

Parámetros

path

Path local al fichero o directorio del que se obtendrá el estado.

Nota: Las rutas relativas se resolverán como si el directorio de trabajo actual es el que contiene el binario de PHP. Para utilizar el directorio de trabajo que contiene el script a llamar, use realpath() o dirname(__FILE__).

flags

Cualquier combinación de SVN_NON_RECURSIVE, SVN_ALL (independientemente del estado de modificación), SVN_SHOW_UPDATES (se añadirán entradas para los elementos que estan desactualizados), SVN_NO_IGNORE (ignorar svn:ignore las propiedades cuando se busquen nuevos ficheros) y SVN_IGNORE_EXTERNALS.

Valores devueltos

Devuelve un array de arrays asociativos indexado numéricamente, detallando el estado de los elementos del repositorio:

Array (
    [0] => Array (
        // información del elemento
    )
    [1] => ...
)

La información del elemento es un array asociativo que puede contener las siguientes claves:

path
String con el path al fichero/directorio de esta entrada en el sistema de ficheros local.
text_status
Estado del texto del elemento. Referirse a constantes de estado para posibles valores.
repos_text_status
Estado del texto del elemento en el repositorio. Sólo es exacto si update se definió a TRUE. Referirse a constantes de estado para posibles valores.
prop_status
Estado de las propiedades del elemento. Referirse a constantes de estado para posibles valores.
repos_prop_status
Estado de la propiedad del elemento en el repositorio. Sólo exacto si update se definió a TRUE. Referirse a constantes de estado para posibles valores.
locked
Si el elemento está bloqueado o no. (Sólo definido si TRUE.)
copied
Si el elemento fue copiado o no (planificado para adición con histórico). (Sólo definido si TRUE.)
switched
Si el elemento fue intercambiado con el comando switch. (Sólo definido si TRUE)

Estas claves sólo estan definidas si el elemento está versionado:

name
Nombre de base del elemento en el repositorio.
url
URL del elemento en el repositorio.
repos
URL base del repositorio.
revision
Entero con la revisión del elemento en la copia de trabajo.
kind
Tipo de elemento, p.e. fichero o directorio. Referirse a constantes de tipo para posibles valores.
schedule
Acción planificada para el elemento, p.e. adición o eliminación. Las constantes para estos números mágicos no estan disponibles, pueden ser emuladas utilizando:
<?php
if (!defined('svn_wc_schedule_normal')) {
    define('svn_wc_schedule_normal',  0); // nada especial
    define('svn_wc_schedule_add',     1); // elemento será añadido
    define('svn_wc_schedule_delete',  2); // elemento será eliminado
    define('svn_wc_schedule_replace', 3); // elemento será reemplazado
}
?>
deleted
Si el elemento fue eliminado o no, pero las revisiones previas existen todavía. (Sólo definido si TRUE.)
absent
Si el elemento está ausente o no, es decir, Subversion sabe que debería haber algo pero no está. (Sólo definido si TRUE.)
incomplete
Si las entradas del fichero o directorio están incompletas o no. (Sólo definido si TRUE.)
cmt_date
Entero con el timestamp de Unix con la última fecha de commit. (No afectado por el parámetro update.)
cmt_rev
Entero con la revisión del último commit. (No afectado por el parámetro update.)
cmt_author
String con el autor del último commit. (No afectado por el parámetro update.)
prop_time
Entero con el timestamp de Unix con el último tiempo de actualización de las propiedades
text_time
Entero con el timestamp de Unix del último tiempo de actualización para el texto

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ejemplos

Ejemplo #1 Ejemplo básico

Este ejemplo muestra un uso básico, teórico de esta función.

<?php
print_r(svn_status(realpath('wc')));
?>

El resultado del ejemplo sería algo similar a:

Array (
    [0] => Array (
        [path] => /home/bob/wc/sandwich.txt
        [text_status] => 8 // elemento que fue modificado
        [repos_text_status] => 1 // sin información disponible, usar update
        [prop_status] => 3 // sin cambios
        [repos_prop_status] => 1 // sin información disponible, usar update
        [name] => sandwich.txt
        [url] => http://www.example.com/svnroot/deli/trunk/sandwich.txt
        [repos] => http://www.example.com/svnroot/
        [revision] => 123
        [kind] => 1 // fichero
        [schedule] => 0 // sin acciones especiales planificadas
        [cmt_date] => 1165543135
        [cmt_rev] => 120
        [cmt_author] => Alice
        [prop_time] => 1180201728
        [text_time] => 1180201729
    )
)

Ver también

  • svn_update() - Actualiza la copia de trabajo
  • svn_log() - Devuelve el log histórico de mensajes de un repositorio URL
  • » Documentación SVN para svn status

svn_revert
svn_update
Funciones SVN


Actualiza la copia de trabajo

svn_status
TCP
Funciones SVN
PHP Manual

svn_update

(PECL svn >= 0.1.0)

svn_update — Actualiza la copia de trabajo

Descripción

int svn_update ( string $path [, int $revno = SVN_REVISION_HEAD [, bool $recurse = true ]] )

Actualiza la copia de trabajo en path a la revisión revno. Si recurse es true, los directorios serán actualizados recursivamente.

Parámetros

path

Ruta a la copia de trabajo local.

Nota: Las rutas relativas se resolverán como si el directorio de trabajo actual es el que contiene el binario de PHP. Para utilizar el directorio de trabajo que contiene el script a llamar, use realpath() o dirname(__FILE__).

revno

Número de revisión a actualziar, por omisión es SVN_REVISION_HEAD.

recurse

Si se actualizan o no recursivamente directorios.

Valores devueltos

Devuelve un nuevo número de revisión en caso de tener éxito, devuelve FALSE al fallar.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ejemplos

Ejemplo #1 Ejemplo básico

Este ejemplo demuestra el uso básico de esta función:

<?php
echo svn_update(realpath('working-copy'));
?>

El resultado del ejemplo sería algo similar a:

234

Ver también

  • svn_checkout() - Descarga una copia de trabajo desde el repositorio
  • svn_commit() - Envía los cambios desde el directorio local de trabajo al repositorio
  • » SVN documentation for svn update

svn_status
TCP
Funciones SVN


Envolturas TCP

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • TCP Funciones
    • tcpwrap_check — Performs a tcpwrap check
svn_update
Introducción
Otros servicios


Introducción

Las envolturas de TCP proporciona un mecanismo clásico de Unix que ha sido diseñado para comprobar si el cliente remoto es capaz de conectarse a la dirección IP dada.

TCP
Instalación/Configuración
TCP


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
TCP


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/tcpwrap.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
TCP Funciones
TCP


TCP Funciones

Tabla de contenidos

  • tcpwrap_check — Performs a tcpwrap check
Constantes predefinidas
tcpwrap_check
TCP


Performs a tcpwrap check

TCP Funciones
Varnish
TCP Funciones
PHP Manual

tcpwrap_check

(PECL tcpwrap >= 0.1.0)

tcpwrap_check — Performs a tcpwrap check

Descripción

bool tcpwrap_check ( string $daemon , string $address [, string $user [, bool $nodns = false ]] )

This function consults the /etc/hosts.allow and /etc/hosts.deny files to check if access to service daemon should be granted or denied for a client.

Parámetros

daemon

The service name.

address

The client remote address. Can be either an IP address or a domain name.

user

An optional user name.

nodns

If address looks like domain name then DNS is used to resolve it to IP address; set nodns to TRUE to avoid this.

Valores devueltos

This function returns TRUE if access should be granted, FALSE otherwise.

Ejemplos

Ejemplo #1 Deny all connections from localhost

If your /etc/hosts.deny file contains:

php: 127.0.0.1

And your code looks like:

<?php
if (!tcpwrap_check('php', $_SERVER['REMOTE_ADDR'])) {
  die('You are not welcome here');
}
?>

Ver también

For more details please consult hosts_access(3) man page.

TCP Funciones
Varnish
TCP Funciones


Varnish

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Basic VarnishAdmin usage
    • Basic VarnishStat usage
    • Basic VarnishLog usage
  • VarnishAdmin — La clase VarnishAdmin
    • VarnishAdmin::auth — Authenticate on a varnish instance
    • VarnishAdmin::ban — Ban URLs using a VCL expression
    • VarnishAdmin::banUrl — Ban an URL using a VCL expression
    • VarnishAdmin::clearPanic — Clear varnish instance panic messages
    • VarnishAdmin::connect — Connect to a varnish instance administration interface
    • VarnishAdmin::__construct — VarnishAdmin constructor
    • VarnishAdmin::disconnect — Disconnect from a varnish instance administration interface
    • VarnishAdmin::getPanic — Get the last panic message on a varnish instance
    • VarnishAdmin::getParams — Fetch current varnish instance configuration parameters
    • VarnishAdmin::isRunning — Check if the varnish slave process is currently running
    • VarnishAdmin::setCompat — Set the class compat configuration param
    • VarnishAdmin::setHost — Set the class host configuration param
    • VarnishAdmin::setIdent — Set the class ident configuration param
    • VarnishAdmin::setParam — Set configuration param on the current varnish instance
    • VarnishAdmin::setPort — Set the class port configuration param
    • VarnishAdmin::setSecret — Set the class secret configuration param
    • VarnishAdmin::setTimeout — Set the class timeout configuration param
    • VarnishAdmin::start — Start varnish worker process
    • VarnishAdmin::stop — Stop varnish worker process
  • VarnishStat — La clase VarnishStat
    • VarnishStat::__construct — Constructor VarnishStat
    • VarnishStat::getSnapshot — Obtener la instantánea actual de las estadísticas de instancia varnish
  • VarnishLog — La clase VarnishLog
    • VarnishLog::__construct — Constructor de Varnishlog
    • VarnishLog::getLine — Obtiene la siguiente línea de registro
    • VarnishLog::getTagName — Obtener la etiqueta de registro representada por su índice
tcpwrap_check
Introducción
Otros servicios


Introducción

Varnish Cache es de código abierto, acelerador de aplicaciones web de última generación. La extensión permite interactuar con una instancia en ejecución varnish a través de socket TCP o memoria compartida.

Varnish
Instalación/Configuración
Varnish


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Varnish


Requerimientos

Para utilizar esta extensión, es necesario tener instalada la versión >=3.0 de Varnish Cache, disponible en la » página principal Varnish Cache

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/varnish.

Está disponible una DLL para esta extensión de PECL en » http://windows.php.net/downloads/pecl/releases/varnish/.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

VARNISH_STATUS_SYNTAX (integer)
VARNISH_STATUS_UNKNOWN (integer)
VARNISH_STATUS_UNIMPL (integer)
VARNISH_STATUS_TOOFEW (integer)
VARNISH_STATUS_TOOMANY (integer)
VARNISH_STATUS_PARAM (integer)
VARNISH_STATUS_AUTH (integer)
VARNISH_STATUS_OK (integer)
VARNISH_STATUS_CANT (integer)
VARNISH_STATUS_COMMS (integer)
VARNISH_STATUS_CLOSE (integer)
VARNISH_CONFIG_IDENT (string)
VARNISH_CONFIG_HOST (string)
VARNISH_CONFIG_PORT (string)
VARNISH_CONFIG_TIMEOUT (string)
VARNISH_CONFIG_SECRET (string)
VARNISH_CONFIG_COMPAT (string)
VARNISH_COMPAT_2 (integer)
VARNISH_COMPAT_3 (integer)

Tipos de recursos
Ejemplos
Varnish


Ejemplos

Tabla de contenidos

  • Basic VarnishAdmin usage
  • Basic VarnishStat usage
  • Basic VarnishLog usage
Constantes predefinidas
Basic VarnishAdmin usage
Varnish


Basic VarnishAdmin usage

The example illustrates a simple usage of the ban functionality

Ejemplo #1 Ban an URL

<?php

$args = array(
    VARNISH_CONFIG_HOST    => "::1",
    VARNISH_CONFIG_PORT    => 6082,
    VARNISH_CONFIG_SECRET  => "5174826b-8595-4958-aa7a-0609632ad7ca",
    VARNISH_CONFIG_TIMEOUT => 300,
);

$va = new VarnishAdmin($args);

try {
    if(!$va->connect()) {
        throw new VarnishException("Connection failed\n");
    }
} catch (VarnishException $e) {
    echo $e->getMessage();
    exit(3);
}

try {
    if(!$va->auth()) {
        throw new VarnishException("Auth failed\n");
    }
} catch (VarnishException $e) {
    echo $e->getMessage();
    exit(3);
}

try {
    $status = $va->ban('req.url ~ "^/$"');
    if (VARNISH_STATUS_OK != $status) {
        throw new VarnishException("Ban method returned $status status\n");
    }
} catch (VarnishException $e) {
    echo $e->getMessage();
    exit(3);
}

exit(0);

?>
Ejemplos
Basic VarnishStat usage
Ejemplos


Basic VarnishStat usage

The example illustrates getting varnish statistic snapshot from shared memory

Ejemplo #1 Get statistic snapshot

<?php

$vs = new VarnishStat;

try {
    $data = $vs->getSnapshot();
} catch (VarnishException $e) {
    echo $e->getMessage();
    exit(3);
}

exit(0);
?>
Basic VarnishAdmin usage
Basic VarnishLog usage
Ejemplos


Basic VarnishLog usage

The example illustrates reading varnish log lines from shared memory

Ejemplo #1 Read varnish shared memory log

<?php

$vl = new VarnishLog;
while(1) {
    $line = $vl->getLine();
    printf("%s %d %s", VarnishLog::getTagName($line['tag'], $line['id'],
    $line['data']);
}

exit(0);
?>
Basic VarnishStat usage
VarnishAdmin
Ejemplos


La clase VarnishAdmin

(PECL varnish >= 0.3)

Introducción

Sinopsis de la Clase

VarnishAdmin {
/* Métodos */
public bool auth ( void )
public int ban ( string $vcl_regex )
public int banUrl ( string $vcl_regex )
public int clearPanic ( void )
public bool connect ( void )
public __construct ([ array $args ] )
public bool disconnect ( void )
public string getPanic ( void )
public array getParams ( void )
public bool isRunning ( void )
public void setCompat ( int $compat )
public void setHost ( string $host )
public void setIdent ( string $ident )
public int setParam ( string $name , string|integer $value )
public void setPort ( int $port )
public void setSecret ( string $secret )
public void setTimeout ( int $timeout )
public int start ( void )
public int stop ( void )
}

Tabla de contenidos

  • VarnishAdmin::auth — Authenticate on a varnish instance
  • VarnishAdmin::ban — Ban URLs using a VCL expression
  • VarnishAdmin::banUrl — Ban an URL using a VCL expression
  • VarnishAdmin::clearPanic — Clear varnish instance panic messages
  • VarnishAdmin::connect — Connect to a varnish instance administration interface
  • VarnishAdmin::__construct — VarnishAdmin constructor
  • VarnishAdmin::disconnect — Disconnect from a varnish instance administration interface
  • VarnishAdmin::getPanic — Get the last panic message on a varnish instance
  • VarnishAdmin::getParams — Fetch current varnish instance configuration parameters
  • VarnishAdmin::isRunning — Check if the varnish slave process is currently running
  • VarnishAdmin::setCompat — Set the class compat configuration param
  • VarnishAdmin::setHost — Set the class host configuration param
  • VarnishAdmin::setIdent — Set the class ident configuration param
  • VarnishAdmin::setParam — Set configuration param on the current varnish instance
  • VarnishAdmin::setPort — Set the class port configuration param
  • VarnishAdmin::setSecret — Set the class secret configuration param
  • VarnishAdmin::setTimeout — Set the class timeout configuration param
  • VarnishAdmin::start — Start varnish worker process
  • VarnishAdmin::stop — Stop varnish worker process
Basic VarnishLog usage
VarnishAdmin::auth
Varnish


Authenticate on a varnish instance

VarnishAdmin
VarnishAdmin::ban
VarnishAdmin
PHP Manual

VarnishAdmin::auth

(PECL varnish >= 0.3)

VarnishAdmin::auth — Authenticate on a varnish instance

Descripción

public bool VarnishAdmin::auth ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

VarnishAdmin
VarnishAdmin::ban
VarnishAdmin


Ban URLs using a VCL expression

VarnishAdmin::auth
VarnishAdmin::banUrl
VarnishAdmin
PHP Manual

VarnishAdmin::ban

(PECL varnish >= 0.3)

VarnishAdmin::ban — Ban URLs using a VCL expression

Descripción

public int VarnishAdmin::ban ( string $vcl_regex )

Parámetros

vcl_regex

Varnish VCL expression. It's based on the varnish ban command.

Valores devueltos

Returns the varnish command status.

VarnishAdmin::auth
VarnishAdmin::banUrl
VarnishAdmin


Ban an URL using a VCL expression

VarnishAdmin::ban
VarnishAdmin::clearPanic
VarnishAdmin
PHP Manual

VarnishAdmin::banUrl

(PECL varnish >= 0.3)

VarnishAdmin::banUrl — Ban an URL using a VCL expression

Descripción

public int VarnishAdmin::banUrl ( string $vcl_regex )

Parámetros

vcl_regex

URL regular expression in PCRE compatible syntax. It's based on the ban.url varnish command.

Valores devueltos

Returns the varnish command status.

VarnishAdmin::ban
VarnishAdmin::clearPanic
VarnishAdmin


Clear varnish instance panic messages

VarnishAdmin::banUrl
VarnishAdmin::connect
VarnishAdmin
PHP Manual

VarnishAdmin::clearPanic

(PECL varnish >= 0.4)

VarnishAdmin::clearPanic — Clear varnish instance panic messages

Descripción

public int VarnishAdmin::clearPanic ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns the varnish command status.

VarnishAdmin::banUrl
VarnishAdmin::connect
VarnishAdmin


Connect to a varnish instance administration interface

VarnishAdmin::clearPanic
VarnishAdmin::__construct
VarnishAdmin
PHP Manual

VarnishAdmin::connect

(PECL varnish >= 0.3)

VarnishAdmin::connect — Connect to a varnish instance administration interface

Descripción

public bool VarnishAdmin::connect ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

VarnishAdmin::clearPanic
VarnishAdmin::__construct
VarnishAdmin


VarnishAdmin constructor

VarnishAdmin::connect
VarnishAdmin::disconnect
VarnishAdmin
PHP Manual

VarnishAdmin::__construct

(PECL varnish >= 0.3)

VarnishAdmin::__construct — VarnishAdmin constructor

Descripción

public VarnishAdmin::__construct ([ array $args ] )

Parámetros

args

Configuration arguments. The possible keys are:

VARNISH_CONFIG_IDENT - local varnish instance ident
VARNISH_CONFIG_HOST - varnish instance ip
VARNISH_CONFIG_PORT - varnish instance port
VARNISH_CONFIG_SECRET - varnish instance secret
VARNISH_CONFIG_TIMEOUT - connection read timeout
VARNISH_CONFIG_COMPAT - varnish major version compatibility

Valores devueltos

Ejemplos

Ejemplo #1 VarnishAdmin::__construct() example

<?php
    $args = array(
        VARNISH_CONFIG_HOST => "::1",
        VARNISH_CONFIG_PORT => 6082,
        VARNISH_CONFIG_SECRET => "5174826b-8595-4958-aa7a-0609632ad7ca",
        VARNISH_CONFIG_TIMEOUT => 300,
    );
    $va = new VarnishAdmin($args);
?>
VarnishAdmin::connect
VarnishAdmin::disconnect
VarnishAdmin


Disconnect from a varnish instance administration interface

VarnishAdmin::__construct
VarnishAdmin::getPanic
VarnishAdmin
PHP Manual

VarnishAdmin::disconnect

(PECL varnish >= 1.0.0)

VarnishAdmin::disconnect — Disconnect from a varnish instance administration interface

Descripción

public bool VarnishAdmin::disconnect ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

VarnishAdmin::__construct
VarnishAdmin::getPanic
VarnishAdmin


Get the last panic message on a varnish instance

VarnishAdmin::disconnect
VarnishAdmin::getParams
VarnishAdmin
PHP Manual

VarnishAdmin::getPanic

(PECL varnish >= 0.4)

VarnishAdmin::getPanic — Get the last panic message on a varnish instance

Descripción

public string VarnishAdmin::getPanic ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns the last panic message on the current varnish instance.

VarnishAdmin::disconnect
VarnishAdmin::getParams
VarnishAdmin


Fetch current varnish instance configuration parameters

VarnishAdmin::getPanic
VarnishAdmin::isRunning
VarnishAdmin
PHP Manual

VarnishAdmin::getParams

(PECL varnish >= 0.4)

VarnishAdmin::getParams — Fetch current varnish instance configuration parameters

Descripción

public array VarnishAdmin::getParams ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns an array with the varnish configuration parameters.

VarnishAdmin::getPanic
VarnishAdmin::isRunning
VarnishAdmin


Check if the varnish slave process is currently running

VarnishAdmin::getParams
VarnishAdmin::setCompat
VarnishAdmin
PHP Manual

VarnishAdmin::isRunning

(PECL varnish >= 0.3)

VarnishAdmin::isRunning — Check if the varnish slave process is currently running

Descripción

public bool VarnishAdmin::isRunning ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

VarnishAdmin::getParams
VarnishAdmin::setCompat
VarnishAdmin


Set the class compat configuration param

VarnishAdmin::isRunning
VarnishAdmin::setHost
VarnishAdmin
PHP Manual

VarnishAdmin::setCompat

(PECL varnish >= 0.9.2)

VarnishAdmin::setCompat — Set the class compat configuration param

Descripción

public void VarnishAdmin::setCompat ( int $compat )

Parámetros

compat

Varnish compatibility option.

Valores devueltos

VarnishAdmin::isRunning
VarnishAdmin::setHost
VarnishAdmin


Set the class host configuration param

VarnishAdmin::setCompat
VarnishAdmin::setIdent
VarnishAdmin
PHP Manual

VarnishAdmin::setHost

(PECL varnish >= 0.8)

VarnishAdmin::setHost — Set the class host configuration param

Descripción

public void VarnishAdmin::setHost ( string $host )

Parámetros

host

Connection host configuration parameter.

Valores devueltos

VarnishAdmin::setCompat
VarnishAdmin::setIdent
VarnishAdmin


Set the class ident configuration param

VarnishAdmin::setHost
VarnishAdmin::setParam
VarnishAdmin
PHP Manual

VarnishAdmin::setIdent

(PECL varnish >= 0.8)

VarnishAdmin::setIdent — Set the class ident configuration param

Descripción

public void VarnishAdmin::setIdent ( string $ident )

Parámetros

ident

Connection ident configuration parameter.

Valores devueltos

VarnishAdmin::setHost
VarnishAdmin::setParam
VarnishAdmin


Set configuration param on the current varnish instance

VarnishAdmin::setIdent
VarnishAdmin::setPort
VarnishAdmin
PHP Manual

VarnishAdmin::setParam

(PECL varnish >= 0.4)

VarnishAdmin::setParam — Set configuration param on the current varnish instance

Descripción

public int VarnishAdmin::setParam ( string $name , string|integer $value )

Parámetros

name

Varnish configuration param name.

value

Varnish configuration param value.

Valores devueltos

Returns the varnish command status.

VarnishAdmin::setIdent
VarnishAdmin::setPort
VarnishAdmin


Set the class port configuration param

VarnishAdmin::setParam
VarnishAdmin::setSecret
VarnishAdmin
PHP Manual

VarnishAdmin::setPort

(PECL varnish >= 0.8)

VarnishAdmin::setPort — Set the class port configuration param

Descripción

public void VarnishAdmin::setPort ( int $port )

Parámetros

port

Connection port configuration parameter.

Valores devueltos

VarnishAdmin::setParam
VarnishAdmin::setSecret
VarnishAdmin


Set the class secret configuration param

VarnishAdmin::setPort
VarnishAdmin::setTimeout
VarnishAdmin
PHP Manual

VarnishAdmin::setSecret

(PECL varnish >= 0.8)

VarnishAdmin::setSecret — Set the class secret configuration param

Descripción

public void VarnishAdmin::setSecret ( string $secret )

Parámetros

secret

Connection secret configuration parameter.

Valores devueltos

VarnishAdmin::setPort
VarnishAdmin::setTimeout
VarnishAdmin


Set the class timeout configuration param

VarnishAdmin::setSecret
VarnishAdmin::start
VarnishAdmin
PHP Manual

VarnishAdmin::setTimeout

(PECL varnish >= 0.8)

VarnishAdmin::setTimeout — Set the class timeout configuration param

Descripción

public void VarnishAdmin::setTimeout ( int $timeout )

Parámetros

timeout

Connection timeout configuration parameter.

Valores devueltos

VarnishAdmin::setSecret
VarnishAdmin::start
VarnishAdmin


Start varnish worker process

VarnishAdmin::setTimeout
VarnishAdmin::stop
VarnishAdmin
PHP Manual

VarnishAdmin::start

(PECL varnish >= 0.3)

VarnishAdmin::start — Start varnish worker process

Descripción

public int VarnishAdmin::start ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns the varnish command status.

VarnishAdmin::setTimeout
VarnishAdmin::stop
VarnishAdmin


Stop varnish worker process

VarnishAdmin::start
VarnishStat
VarnishAdmin
PHP Manual

VarnishAdmin::stop

(PECL varnish >= 0.3)

VarnishAdmin::stop — Stop varnish worker process

Descripción

public int VarnishAdmin::stop ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns the varnish command status.

VarnishAdmin::start
VarnishStat
VarnishAdmin


La clase VarnishStat

(PECL varnish >= 0.3)

Introducción

Sinopsis de la Clase

VarnishStat {
/* Métodos */
public __construct ([ array $args ] )
public array getSnapshot ( void )
}

Tabla de contenidos

  • VarnishStat::__construct — Constructor VarnishStat
  • VarnishStat::getSnapshot — Obtener la instantánea actual de las estadísticas de instancia varnish
VarnishAdmin::stop
VarnishStat::__construct
Varnish


Constructor VarnishStat

VarnishStat
VarnishStat::getSnapshot
VarnishStat
PHP Manual

VarnishStat::__construct

(PECL varnish >= 0.3)

VarnishStat::__construct — Constructor VarnishStat

Descripción

public VarnishStat::__construct ([ array $args ] )

Parámetros

args

Argumentos de configuración. Las claves posibles son:

VARNISH_CONFIG_IDENT - local varnish instance ident path

Valores devueltos

VarnishStat
VarnishStat::getSnapshot
VarnishStat


Obtener la instantánea actual de las estadísticas de instancia varnish

VarnishStat::__construct
VarnishLog
VarnishStat
PHP Manual

VarnishStat::getSnapshot

(PECL varnish >= 0.3)

VarnishStat::getSnapshot — Obtener la instantánea actual de las estadísticas de instancia varnish

Descripción

public array VarnishStat::getSnapshot ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Array con la instantánea de las estadísticas varnish. Las claves del array son idénticas a los la herramienta varnishstat.

VarnishStat::__construct
VarnishLog
VarnishStat


La clase VarnishLog

(PECL varnish >= 0.6)

Introducción

Sinopsis de la Clase

VarnishLog {
/* Constants */
const integer TAG_Debug = 0 ;
const integer TAG_Error = 1 ;
const integer TAG_CLI = 2 ;
const integer TAG_StatSess = 3 ;
const integer TAG_ReqEnd = 4 ;
const integer TAG_SessionOpen = 5 ;
const integer TAG_SessionClose = 6 ;
const integer TAG_BackendOpen = 7 ;
const integer TAG_BackendXID = 8 ;
const integer TAG_BackendReuse = 9 ;
const integer TAG_BackendClose = 10 ;
const integer TAG_HttpGarbage = 11 ;
const integer TAG_Backend = 12 ;
const integer TAG_Length = 13 ;
const integer TAG_FetchError = 14 ;
const integer TAG_RxRequest = 15 ;
const integer TAG_RxResponse = 16 ;
const integer TAG_RxStatus = 17 ;
const integer TAG_RxURL = 18 ;
const integer TAG_RxProtocol = 19 ;
const integer TAG_RxHeader = 20 ;
const integer TAG_TxRequest = 21 ;
const integer TAG_TxResponse = 22 ;
const integer TAG_TxStatus = 23 ;
const integer TAG_TxURL = 24 ;
const integer TAG_TxProtocol = 25 ;
const integer TAG_TxHeader = 26 ;
const integer TAG_ObjRequest = 27 ;
const integer TAG_ObjResponse = 28 ;
const integer TAG_ObjStatus = 29 ;
const integer TAG_ObjURL = 30 ;
const integer TAG_ObjProtocol = 31 ;
const integer TAG_ObjHeader = 32 ;
const integer TAG_LostHeader = 33 ;
const integer TAG_TTL = 34 ;
const integer TAG_Fetch_Body = 35 ;
const integer TAG_VCL_acl = 36 ;
const integer TAG_VCL_call = 37 ;
const integer TAG_VCL_trace = 38 ;
const integer TAG_VCL_return = 39 ;
const integer TAG_VCL_error = 40 ;
const integer TAG_ReqStart = 41 ;
const integer TAG_Hit = 42 ;
const integer TAG_HitPass = 43 ;
const integer TAG_ExpBan = 44 ;
const integer TAG_ExpKill = 45 ;
const integer TAG_WorkThread = 46 ;
const integer TAG_ESI_xmlerror = 47 ;
const integer TAG_Hash = 48 ;
const integer TAG_Backend_health = 49 ;
const integer TAG_VCL_Log = 50 ;
const integer TAG_Gzip = 51 ;
/* Métodos */
public __construct ([ array $args ] )
public array getLine ( void )
public static string getTagName ( int $index )
}

Constantes predefinidas

VarnishLog::TAG_Debug

VarnishLog::TAG_Error

VarnishLog::TAG_CLI

VarnishLog::TAG_StatSess

VarnishLog::TAG_ReqEnd

VarnishLog::TAG_SessionOpen

VarnishLog::TAG_SessionClose

VarnishLog::TAG_BackendOpen

VarnishLog::TAG_BackendXID

VarnishLog::TAG_BackendReuse

VarnishLog::TAG_BackendClose

VarnishLog::TAG_HttpGarbage

VarnishLog::TAG_Backend

VarnishLog::TAG_Length

VarnishLog::TAG_FetchError

VarnishLog::TAG_RxRequest

VarnishLog::TAG_RxResponse

VarnishLog::TAG_RxStatus

VarnishLog::TAG_RxURL

VarnishLog::TAG_RxProtocol

VarnishLog::TAG_RxHeader

VarnishLog::TAG_TxRequest

VarnishLog::TAG_TxResponse

VarnishLog::TAG_TxStatus

VarnishLog::TAG_TxURL

VarnishLog::TAG_TxProtocol

VarnishLog::TAG_TxHeader

VarnishLog::TAG_ObjRequest

VarnishLog::TAG_ObjResponse

VarnishLog::TAG_ObjStatus

VarnishLog::TAG_ObjURL

VarnishLog::TAG_ObjProtocol

VarnishLog::TAG_ObjHeader

VarnishLog::TAG_LostHeader

VarnishLog::TAG_TTL

VarnishLog::TAG_Fetch_Body

VarnishLog::TAG_VCL_acl

VarnishLog::TAG_VCL_call

VarnishLog::TAG_VCL_trace

VarnishLog::TAG_VCL_return

VarnishLog::TAG_VCL_error

VarnishLog::TAG_ReqStart

VarnishLog::TAG_Hit

VarnishLog::TAG_HitPass

VarnishLog::TAG_ExpBan

VarnishLog::TAG_ExpKill

VarnishLog::TAG_WorkThread

VarnishLog::TAG_ESI_xmlerror

VarnishLog::TAG_Hash

VarnishLog::TAG_Backend_health

VarnishLog::TAG_VCL_Log

VarnishLog::TAG_Gzip

Tabla de contenidos

  • VarnishLog::__construct — Constructor de Varnishlog
  • VarnishLog::getLine — Obtiene la siguiente línea de registro
  • VarnishLog::getTagName — Obtener la etiqueta de registro representada por su índice
VarnishStat::getSnapshot
VarnishLog::__construct
Varnish


Constructor de Varnishlog

VarnishLog
VarnishLog::getLine
VarnishLog
PHP Manual

VarnishLog::__construct

(PECL varnish >= 0.6)

VarnishLog::__construct — Constructor de Varnishlog

Descripción

public VarnishLog::__construct ([ array $args ] )

Parámetros

args

Argumentos de configuración. Las posibles claves son:

VARNISH_CONFIG_IDENT - local varnish instance ident path

Valores devueltos

VarnishLog
VarnishLog::getLine
VarnishLog


Obtiene la siguiente línea de registro

VarnishLog::__construct
VarnishLog::getTagName
VarnishLog
PHP Manual

VarnishLog::getLine

(PECL varnish >= 0.6)

VarnishLog::getLine — Obtiene la siguiente línea de registro

Descripción

public array VarnishLog::getLine ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un array con los datos de la línea de registro.

VarnishLog::__construct
VarnishLog::getTagName
VarnishLog


Obtener la etiqueta de registro representada por su índice

VarnishLog::getLine
YAZ
VarnishLog
PHP Manual

VarnishLog::getTagName

(PECL varnish >= 0.6)

VarnishLog::getTagName — Obtener la etiqueta de registro representada por su índice

Descripción

public static string VarnishLog::getTagName ( int $index )

Parámetros

index

Índice de etiqueta de registro.

Valores devueltos

Devuelve el nombre de la etiqueta de registro como un string.

VarnishLog::getLine
YAZ
VarnishLog


YAZ

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • Funciones de YAZ
    • yaz_addinfo — Devuelve un error adicional de información
    • yaz_ccl_conf — Configura el analizador CCL
    • yaz_ccl_parse — Inviocar el analizador Invoke CCL
    • yaz_close — Close YAZ connection
    • yaz_connect — Prepara una conexión a un servidor Z39.50
    • yaz_database — Especifica las bases de datos dentro de una sesión
    • yaz_element — Especifica el nombre del elemento establecido para recuperar
    • yaz_errno — Devuelve el número de error
    • yaz_error — Devuelve la descripción del error
    • yaz_es_result — Resulados de Servicios Extendidos de Inspección
    • yaz_es — Prepara para una solicitud de servicio extendido
    • yaz_get_option — Devuelve el valor de opción para la conexión
    • yaz_hits — Devuelve el número de éxitos de la última búsqueda
    • yaz_itemorder — Prepara para la solicitud Z39.50 Item Order con el paquete ILL-Request
    • yaz_present — Se prepara para la recuperación (Z39.50 presente)
    • yaz_range — Específica un rango de registros a recuperar
    • yaz_record — Devuelve un registro
    • yaz_scan_result — Devuelve el resultado de un escaneado
    • yaz_scan — Prepara para un escaneo YAZ
    • yaz_schema — Especifica el esquema para la recuperación
    • yaz_search — Prepara una búsqueda
    • yaz_set_option — Configura una o más opciones de la conexión
    • yaz_sort — Configura los criterios de búsqueda
    • yaz_syntax — Especifica la sintaxis de registro preferida para la recuperación
    • yaz_wait — Espera que las peticiones Z39.50 se completeten
VarnishLog::getTagName
Introducción
Otros servicios


Introducción

Esta extensión ofrece una interface PHP a el kit de herramientas YAZ que implementa el » Protocolo Z39.50 para Recuperación de Información. Con esta extensión se puede fácilmente implementar un origen Z39.50 (clientes) que busca o escanea objetivos Z39.50 (servidores) en paralelo.

El modulo esconde la mayor parte de la complejidad de Z39.50 así que debería ser bastante fácil a usar. Apoya de manera persistente conexiones apátridas muy similares a esas ofrecidas por varias APIs RDB que están disponibles para PHP. Significa que las sesiones son apátridas pero se comparten entre usuarios, por lo tanto salvando la fase de pasos para la conexión e inicialización en más casos.

YAZ está disponible » http://www.indexdata.dk/yaz/. Se puede encontrar nuevas noticias, ejemplos de códigos, etc. Para esta extensión en » http://www.indexdata.dk/phpyaz/.

Nota:

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.0.0.

YAZ
Instalación/Configuración
YAZ


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
YAZ


Requerimientos

Obtener YAZ (Soporta ANSI/NISO Z39.50) y instalarlo. YAZ puede ser exagerado in la fuente o en varios paquetes pre construidos de el» archivo YAZ. Los sistemas tales como Debian GNU/Linux, Suse Linux, FreeBSD también tienen YAZ como parte de su distribución.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/yaz

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Nota: Información específica para usuarios Windows

php_yaz.dll depende de yaz.dll. El yaz.dll es parte del ZIP Win32 del sitio de PHP. También es parte de la instalación de Windows YAZ disponible del área » WIN32 YAZ.

En Windows, no se debe olvidar agregar al directorio de la ruta del PHP, así que el archivo yaz.dll pueda ser encontrado por el sistema.

Advertencia

La extensión IMAP no puede ser usada junto con las extensiones recode, YAZ o Cyrus . Esto es debido a que las dos utilizan el mismo símbolo interno. Observación: Yaz 2.0 y versiones superiores no tienen este problema.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de YAZ
Nombre | Por defecto | Cambiable | Historial de cambios
yaz.max_links | "100" | PHP_INI_ALL | Disponible desde PHP 4.3.0. Removido en PHP 5.0.0.
yaz.log_file | NULL | PHP_INI_ALL | Disponible desde PHP 4.3.0. Removido en PHP 5.0.0.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Ejemplos
YAZ


Ejemplos

PHP/YAZ mantiene la vía de conexión con los objetivos de las (Asociaciones-Z). Un recurso representa una conexión a objetivo.

El código debajo demuestra las características de la búsqueda en paralelo del API. Cuando se invoca sin argumentos imprime una consulta de formulario; sino (los argumentos son suministrados) busca los objetivos como son dados en el arreglo del anfitrión.

Ejemplo #1 Busqueda Paralela usando YAZ

<?php
$host=$_REQUEST[anfitrion];
$query=$_REQUEST[consulta];
$num_hosts = count($host);
if (empty($query) || count($host) == 0) {
    echo '<form method="get">
    <input type="checkbox"
    name="host[]" value="bagel.indexdata.dk/gils" />
        Prueba GILS
    <input type="checkbox"
    name="host[]" value="localhost:9999/Default" />
        Prueba local
    <input type="checkbox" checked="checked"
    name="host[]" value="z3950.loc.gov:7090/voyager" />
        Congresos de librería
    <br />
    RPN Query:
    <input type="text" size="30" name="query" />
    <input type="submit" name="action" value="Buscar" />
    </form>
    ';
} else {
    echo 'Se encontro para ' . htmlspecialchars($query) . '<br />';
    for ($i = 0; $i < $num_hosts; $i++) {
        $id[] = yaz_connect($host[$i]);
        yaz_syntax($id[$i], "usmarc");
        yaz_range($id[$i], 1, 10);
        yaz_search($id[$i], "rpn", $query);
    }
    yaz_wait();
    for ($i = 0; $i < $num_hosts; $i++) {
        echo '<hr />' . $host[$i] . ':';
        $error = yaz_error($id[$i]);
        if (!empty($error)) {
            echo "Error: $error";
        } else {
            $hits = yaz_hits($id[$i]);
            echo "Conteo de Resultado $hits";
        }
        echo '<dl>';
        for ($p = 1; $p <= 10; $p++) {
            $rec = yaz_record($id[$i], $p, "string");
            if (empty($rec)) continue;
            echo "<dt><b>$p</b></dt><dd>";
            echo nl2br($rec);
            echo "</dd>";
        }
        echo '</dl>';
    }
}
?>

Constantes predefinidas
Funciones de YAZ
YAZ


Funciones de YAZ

Tabla de contenidos

  • yaz_addinfo — Devuelve un error adicional de información
  • yaz_ccl_conf — Configura el analizador CCL
  • yaz_ccl_parse — Inviocar el analizador Invoke CCL
  • yaz_close — Close YAZ connection
  • yaz_connect — Prepara una conexión a un servidor Z39.50
  • yaz_database — Especifica las bases de datos dentro de una sesión
  • yaz_element — Especifica el nombre del elemento establecido para recuperar
  • yaz_errno — Devuelve el número de error
  • yaz_error — Devuelve la descripción del error
  • yaz_es_result — Resulados de Servicios Extendidos de Inspección
  • yaz_es — Prepara para una solicitud de servicio extendido
  • yaz_get_option — Devuelve el valor de opción para la conexión
  • yaz_hits — Devuelve el número de éxitos de la última búsqueda
  • yaz_itemorder — Prepara para la solicitud Z39.50 Item Order con el paquete ILL-Request
  • yaz_present — Se prepara para la recuperación (Z39.50 presente)
  • yaz_range — Específica un rango de registros a recuperar
  • yaz_record — Devuelve un registro
  • yaz_scan_result — Devuelve el resultado de un escaneado
  • yaz_scan — Prepara para un escaneo YAZ
  • yaz_schema — Especifica el esquema para la recuperación
  • yaz_search — Prepara una búsqueda
  • yaz_set_option — Configura una o más opciones de la conexión
  • yaz_sort — Configura los criterios de búsqueda
  • yaz_syntax — Especifica la sintaxis de registro preferida para la recuperación
  • yaz_wait — Espera que las peticiones Z39.50 se completeten
Ejemplos
yaz_addinfo
YAZ


Devuelve un error adicional de información

Funciones de YAZ
yaz_ccl_conf
Funciones de YAZ
PHP Manual

yaz_addinfo

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_addinfo — Devuelve un error adicional de información

Descripción

string yaz_addinfo ( resource $id )

Devuelve un error adicional de información para el ultimo requerimiento al servidor.

Con algunos servidores, Ésta función puede devolver la misma cadena como yaz_error().

Parámetros

id

El recurso de conexión devuelto por yaz_connect().

Valores devueltos

Una cadena contiene el error adicional de información o una cadena vacia si la ultima operación fue satisfactoria o si ninguna información fue proporcionada por el servidor.

Ver también

  • yaz_error() - Devuelve la descripción del error
  • yaz_errno() - Devuelve el número de error

Funciones de YAZ
yaz_ccl_conf
Funciones de YAZ


Configura el analizador CCL

yaz_addinfo
yaz_ccl_parse
Funciones de YAZ
PHP Manual

yaz_ccl_conf

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_ccl_conf — Configura el analizador CCL

Descripción

void yaz_ccl_conf ( resource $id , array $config )

Ésta función configura la consulta analizadora CCL para un servidor con definiciones de puntos de acceso (Calificadores CCL) y su asignación al RPN.

Para asignar una consulta especifica CCL al RPN después se llama la función yaz_ccl_parse().

Parámetros

id

El recurso de conexión devuelto por yaz_connect().

config

Un arreglo de configuración. Cada clave del arreglo es el nombre de un campo CCL y el correspondiente valor que mantiene una cadena que especifica una asignación al RPN.

La asignación es una secuencia de el tipo de atributo, de los valores de los atributos pares. El tipo de atributo y el valor del atributo Attribute-type es separado por un signo (=). Cada par es separado por un epacio en blanco.

La información adicional la puede encontrar en la página » CCL.

Valores devueltos

No devuelve ningún valor.

Ejemplos

En cada ejemplo a continuación, el analizador CCL está configurado para soportar el árbol de los campos CCL: ti, au y isbn. Cada campo es asignado a su equivalente BIB-1. Es asumida que la variable $id es la conexión ID.

Ejemplo #1 Configuración del CCL

<?php
$fields = array(
  "ti" => "1=4",
  "au"   => "1=1",
  "isbn" => "1=7"
);
yaz_ccl_conf($id, $fields);
?>

Ver también

  • yaz_ccl_parse() - Inviocar el analizador Invoke CCL

yaz_addinfo
yaz_ccl_parse
Funciones de YAZ


Inviocar el analizador Invoke CCL

yaz_ccl_conf
yaz_close
Funciones de YAZ
PHP Manual

yaz_ccl_parse

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_ccl_parse — Inviocar el analizador Invoke CCL

Descripción

bool yaz_ccl_parse ( resource $id , string $query , array &$result )

Esta función invoca un analizador CCL. Convierte una consulta dada CCL FIND a una consulta RPN la cual puede ser pasada también a la función yaz_search() para ejecutar la búsqueda.

Para definir un conjunto de campos validos CCL llaman preferiblemente a yaz_ccl_conf() para definirlo en la función.

Parámetros

id

El recurso de la conexión retornado por yaz_connect().

query

La consulta CCL FIND.

result

Si la función fue ejecutada con éxito, Va a ser un arreglo conteniendo la consulta RPN valida dentro de la clave rpn.

En caso de fallo, tres índices son establecidos en este arreglo para indicar la causa del fallo:

  • errorcode - El código de error CCL (entero)

  • errorstring - El error CCL de cadena

  • errorpos - aproxima la posición en una consulta de fallo (el entero es el carácter de posición)

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Análisis CCL

Se va a intentar hacer una búsqueda con CCL. En el ejemplo de abajo, $ccl es una consulta CCL.

<?php

yaz_ccl_conf($id, $fields);  // ver el ejemplo para yaz_ccl_conf
if (!yaz_ccl_parse($id, $ccl, &$cclresult)) {
    echo 'Error: ' . $cclresult["errorstring"];
} else {
    $rpn = $cclresult["rpn"];
    yaz_search($id, "rpn", $rpn);
}
?>
yaz_ccl_conf
yaz_close
Funciones de YAZ


Close YAZ connection

yaz_ccl_parse
yaz_connect
Funciones de YAZ
PHP Manual

yaz_close

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_close — Close YAZ connection

Descripción

bool yaz_close ( resource $id )

Cierra la conexión dada por un parámetro id.

Nota:

Esta función va solo a cerrar una conexión no persistente abierta por estableciendo la opción de persistent a FALSE con yaz_connect().

Parámetros

id

El recurso de conexión retornado por yaz_connect().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • yaz_connect() - Prepara una conexión a un servidor Z39.50

yaz_ccl_parse
yaz_connect
Funciones de YAZ


Prepara una conexión a un servidor Z39.50

yaz_close
yaz_database
Funciones de YAZ
PHP Manual

yaz_connect

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_connect — Prepara una conexión a un servidor Z39.50

Descripción

mixed yaz_connect ( string $zurl [, mixed $options ] )

Esta función devuelve un recurso de conexión en caso de éxito, cero en caso de fallo.

yaz_connect() prepara una conexión a un servidor Z39.50 . Esta función es no bloqueante y no intenta establecer una conexión - únicamente prepara la conexión para que pueda ser realizada posteriormente cuando se llame a la función yaz_wait().

Nota:

El proxy » YAZ es un proxy Z39.50 disponible gratuitamente.

Parámetros

zurl

Un string que toma la forma host[:port][/database]. Si se omite el port, se utilizará el port 210. Si se omite database se utilizará Default .

options

Si se trata de un string, éste se trata como el string de autenticación Z39.50 V2 (OpenAuth).

Si se trata de un array, el contenido del array sirve como opciones.

user

Nombre de usuario para la autenticación.

group

Grupo para la autenticación.

password

Contraseña para la autenticación.

cookie

Cookie para la sesión (proxy YAZ).

proxy

Proxy para la conexión (proxy YAZ).

persistent

Un booleano. Si es TRUE la conexión es persistente; Si es FALSE la conexión no es persistente. Por defecto las conexiones son persistentes.

Nota:

Si se abre una conexión persistente, no se podrá cerrar posteriormente con la función yaz_close().

piggyback

Un booleano. Si es TRUE piggyback está activado para las búsquedas; Si es FALSE piggyback está desactivado. Por defecto piggyback está activado.

Activar piggyback es más eficiente y normalmente ahorra una ruta de ida y vuelta en la red para las cargas de los registros por primera vez. Sin embargo, unos pocos servidores Z39.50 no soportan piggyback o ignoran los nombres de los elementos configurados. Para ellos, se debe desactivar piggyback.

charset

Un string que especifica el mapa de caracteres que será utilizado como lenguaje y mapa de caracteres en la negociación Z39.50. Utilizar strings como: ISO-8859-1, UTF-8, UTF-16.

Muchos servidores Z39.50 no soportan esta funcionalidad (y por ello, ésta es ignorada). Muchos servidores utilizan la codificación ISO-8859-1 para consultas y mensajes. Los registros MARC21/USMARC no están afectados por este parámetro

preferredMessageSize

Un entero que especifica el tamaño máximo de byte para todos los registros que se devolverán por el objetivo durante la recuperación. Ver el estandard » Z39.50 para más información.

Nota:

Esta opción está soportada en PECL YAZ 1.0.5 o posteriores.

maximumRecordSize

Un entero que especifica el tamaño máximo de byte de un único registro a ser devuelto por un objetivo durante la recuperación. Esta entidad se denomina como un Exceptional-record-size en el standard » Z39.50.

Nota:

Esta opción está soportada en PECL YAZ 1.0.5 o posteriores.

Valores devueltos

Un recurso de conexión en caso de éxito, FALSE en caso de error.

Historial de cambios

Versión | Descripción
4.1.0 | Se añadió el parámetro options .

Ver también

  • yaz_close() - Close YAZ connection

yaz_close
yaz_database
Funciones de YAZ


Especifica las bases de datos dentro de una sesión

yaz_connect
yaz_element
Funciones de YAZ
PHP Manual

yaz_database

(PHP 4 >= 4.0.6, PECL yaz >= 0.9.0)

yaz_database — Especifica las bases de datos dentro de una sesión

Descripción

bool yaz_database ( resource $id , string $databases )

Esta función permite cambiar las bases de datos dentro de una sesión por una o más bases de datos especificadas a ser usadas en la búsqueda, recuperación, etc. - primordialmente a las bases de datos especificadas a ser llamadas yaz_connect().

Parámetros

id

El recurso de conexión devuelto por yaz_connect().

databases

Una cadena conteniendo una o más bases de datos. Múltiple bases de datos son separadas por un signo de más+.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

yaz_connect
yaz_element
Funciones de YAZ


Especifica el nombre del elemento establecido para recuperar

yaz_database
yaz_errno
Funciones de YAZ
PHP Manual

yaz_element

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_element — Especifica el nombre del elemento establecido para recuperar

Descripción

bool yaz_element ( resource $id , string $elementset )

Esta función especifica el nombre del elemento establecido para recuperar.

Llama esta función antes de yaz_search() o yaz_present() para especificar el nombre del elemento establecido para los registros a ser recuperados.

Nota:

Si la función parece no tener efecto, ve la descripción de la opción piggybacking en yaz_connect().

Parámetros

id

El recurso de conexión retornado por yaz_connect().

elementset

Más servidores soportan F (para registros completos) y B (para registros breves).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

yaz_database
yaz_errno
Funciones de YAZ


Devuelve el número de error

yaz_element
yaz_error
Funciones de YAZ
PHP Manual

yaz_errno

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_errno — Devuelve el número de error

Descripción

int yaz_errno ( resource $id )

Devuelve un número de error del servidor (la última solicitud) identificado por id.

yaz_errno() debe ser llamado después de la actividad de red para cada servidor - (después del retorno de yaz_wait()) para determinar el éxito o el fracaso de la última operación (p. e.j. search).

Parámetros

id

El recurso de conexión devuelto por yaz_connect().

Valores devueltos

Devuelve un código de error. El código de error es un código de diagnóstico Z39.50 (por lo general un diagnóstico de Bib-1) o el código de error del lado del cliente que es generado por PHP/YAZ, como "Error de conexión", "Init rechazado", etc

Ver también

  • yaz_error() - Devuelve la descripción del error
  • yaz_addinfo() - Devuelve un error adicional de información

yaz_element
yaz_error
Funciones de YAZ


Devuelve la descripción del error

yaz_errno
yaz_es_result
Funciones de YAZ
PHP Manual

yaz_error

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_error — Devuelve la descripción del error

Descripción

string yaz_error ( resource $id )

yaz_error() retorna un mensaje textual en Inglés correspondiente al último error numérico como devuelto por yaz_errno().

Parámetros

id

El recurso de conexión retornado por yaz_connect().

Valores devueltos

Devuelve un mensaje textual por el servidor (último requerimiento), identificado por el parámetro id. Una cadenma vacia es retornada si la última operación fue satisfactoria.

Ver también

  • yaz_errno() - Devuelve el número de error
  • yaz_addinfo() - Devuelve un error adicional de información

yaz_errno
yaz_es_result
Funciones de YAZ


Resulados de Servicios Extendidos de Inspección

yaz_error
yaz_es
Funciones de YAZ
PHP Manual

yaz_es_result

(PHP 4 >= 4.2.0, PECL yaz >= 0.9.0)

yaz_es_result — Resulados de Servicios Extendidos de Inspección

Descripción

array yaz_es_result ( resource $id )

Esta función inspecciona el último resultado de servicio extendido retornado de un servidor. Un servicio extendido es iniciado por cualquier yaz_item_order() o yaz_es().

Parámetros

id

El resultado de conexión retornado por yaz_connect().

Valores devueltos

Devuelve un arreglo con targetReference elemento para la referencia en la operación del servicio extendido (generado y retornado del servidor).

Ver también

  • yaz_es() - Prepara para una solicitud de servicio extendido

yaz_error
yaz_es
Funciones de YAZ


Prepara para una solicitud de servicio extendido

yaz_es_result
yaz_get_option
Funciones de YAZ
PHP Manual

yaz_es

(PECL yaz >= 0.9.0)

yaz_es — Prepara para una solicitud de servicio extendido

Descripción

void yaz_es ( resource $id , string $type , array $args )

Esta función prepara para una solicitud de servicio extendido. Los servicios extendidos es la familia de diversas facilidades Z39.50, tales como actualización de registros, ordenado de ítem, administración de base de datos, etc.

Nota:

Muchos servidores Z39.50 no soportan servicios extendidos.

La yaz_es() crea un paquete de solicitud de servicio extendido y la pone en una cola de operaciones. Se utiliza yaz_wait() para enviar la(s) solicitud(es) al servidor. Después de completar yaz_wait() el resultado de la operación del servicio extendido se debe esperar con una llamada a yaz_es_result().

Parámetros

id

El recurso de conexión devuelto por yaz_connect().

type

Una string que representa el tipo de servicio extendido: itemorder (Ordenado de ítem), create (Crear base de datos), drop (Descartar base de datos), commit (Operación de cometer), update (Actualizar registro), xmlupdate (Actualizar XML). Cada tipo se especifica en la sección siguiente.

args

Un array con las opciones de servicio extendido, más opciones específicas del paquete. Las opciones son idénticas a las ofrecidas en la API C de ZOOM C. Consulte a los » servicios extendidos de ZOOM.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Actualizar registro

<?php
$con = yaz_connect("myhost/database");
$args = array (
    "record" => "<gils><title>some title</title></gils>",
    "syntax" => "xml",
    "action" => "specialUpdate"
);
yaz_es($con, "update", $args);
yaz_wait();
$result = yaz_es_result($id);
?>

Ver también

  • yaz_es_result() - Resulados de Servicios Extendidos de Inspección

yaz_es_result
yaz_get_option
Funciones de YAZ


Devuelve el valor de opción para la conexión

yaz_es
yaz_hits
Funciones de YAZ
PHP Manual

yaz_get_option

(PECL yaz >= 0.9.0)

yaz_get_option — Devuelve el valor de opción para la conexión

Descripción

string yaz_get_option ( resource $id , string $name )

Devuelve el valor de la opción especificada con name.

Parámetros

id

El recurso de conexión retornado por yaz_connect().

name

La opción del nombre.

Valores devueltos

Devuelve el valor de la opción especificada o una cadena vacía si la opción wno está establecida.

Ver también

  • La descripción de yaz_set_option() - Configura una o más opciones de la conexión para las opciones disponibles

yaz_es
yaz_hits
Funciones de YAZ


Devuelve el número de éxitos de la última búsqueda

yaz_get_option
yaz_itemorder
Funciones de YAZ
PHP Manual

yaz_hits

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_hits — Devuelve el número de éxitos de la última búsqueda

Descripción

int yaz_hits ( resource $id [, array &$searchresult ] )

yaz_hits()Devuelve el número de éxitos de la última búsqueda.

Parámetros

id

El recurso de conexión devuelto por yaz_connect().

searchresult

Array de resultados para obtener información de resultados de búsqueda detallada.

Valores devueltos

Devuelve el número de éxitos de la última búsqueda o 0 si no se ha realizado ninguna búsqueda.

La matriz de resultados de búsqueda (si se suministra) contiene información que es devuelta por un servidor Z39.50 en el formato SearchResult-1 parte de una respuesta de búsqueda. El formato SearchResult-1 puede utilizarse para obtener información acerca de recuentos de éxitos para varias partes de la consulta (subconsulta). En particular, es posible obtener recuentos de éxitos para los términos de búsqueda individuales en una consulta. Información para la primer subconsulta está en $array[0], segunda subconsulta en $array[1], y así sucesivamente.

searchresult members
Elemento | Descripción
id | Sub consulta ID2 (string)
count | Conteo resultados / éxitos (integer)
subquery.term | Término sub consulta(string)
interpretation.term | Interpretación de término de sub consulta (string)
recommendation.term | Término recomendado de sub consulta (string)

Nota:

El centro de SearchResult requiere PECL YAZ 1.0.5 o posterior y YAZ 2.1.9 o posterior.

Nota:

Muy pocas implementaciones Z39.50 soportan la instalación de SearchResult.

yaz_get_option
yaz_itemorder
Funciones de YAZ


Prepara para la solicitud Z39.50 Item Order con el paquete ILL-Request

yaz_hits
yaz_present
Funciones de YAZ
PHP Manual

yaz_itemorder

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_itemorder — Prepara para la solicitud Z39.50 Item Order con el paquete ILL-Request

Descripción

void yaz_itemorder ( resource $id , array $args )

Esta función prepara para una petición de tipo "Extended Services" utilizando el "Profile" para "Use of Z39.50 Item Order Extended Service to Transport ILL (Profile/1)". Ver » aquí y la » especificación.

Parámetros

id

El recurso de conexión devuelto por yaz_connect().

args

Debe ser un array asociativo con información sobre la solicitud de los elementos que serán enviados. La clave de la tabla hash es el nombre del camino de acceso ASN.1 correspondiente. Por ejemplo, el ISBN bajo el Item-ID tiene la clave item-id,ISBN.

Los parámetros de la petición ILL son:

protocol-version-num
transaction-id,initial-requester-id,person-or-institution-symbol,person
transaction-id,initial-requester-id,person-or-institution-symbol,institution
transaction-id,initial-requester-id,name-of-person-or-institution,name-of-person
transaction-id,initial-requester-id,name-of-person-or-institution,name-of-institution
transaction-id,transaction-group-qualifier
transaction-id,transaction-qualifier
transaction-id,sub-transaction-qualifier
service-date-time,this,date
service-date-time,this,time
service-date-time,original,date
service-date-time,original,time
requester-id,person-or-institution-symbol,person
requester-id,person-or-institution-symbol,institution
requester-id,name-of-person-or-institution,name-of-person
requester-id,name-of-person-or-institution,name-of-institution
responder-id,person-or-institution-symbol,person
responder-id,person-or-institution-symbol,institution
responder-id,name-of-person-or-institution,name-of-person
responder-id,name-of-person-or-institution,name-of-institution
transaction-type
delivery-address,postal-address,name-of-person-or-institution,name-of-person
delivery-address,postal-address,name-of-person-or-institution,name-of-institution
delivery-address,postal-address,extended-postal-delivery-address
delivery-address,postal-address,street-and-number
delivery-address,postal-address,post-office-box
delivery-address,postal-address,city
delivery-address,postal-address,region
delivery-address,postal-address,country
delivery-address,postal-address,postal-code
delivery-address,electronic-address,telecom-service-identifier
delivery-address,electronic-address,telecom-service-addreess
billing-address,postal-address,name-of-person-or-institution,name-of-person
billing-address,postal-address,name-of-person-or-institution,name-of-institution
billing-address,postal-address,extended-postal-delivery-address
billing-address,postal-address,street-and-number
billing-address,postal-address,post-office-box
billing-address,postal-address,city
billing-address,postal-address,region
billing-address,postal-address,country
billing-address,postal-address,postal-code
billing-address,electronic-address,telecom-service-identifier
billing-address,electronic-address,telecom-service-addreess
ill-service-type
requester-optional-messages,can-send-RECEIVED
requester-optional-messages,can-send-RETURNED
requester-optional-messages,requester-SHIPPED
requester-optional-messages,requester-CHECKED-IN
search-type,level-of-service
search-type,need-before-date
search-type,expiry-date
search-type,expiry-flag
place-on-hold
client-id,client-name
client-id,client-status
client-id,client-identifier
item-id,item-type
item-id,call-number
item-id,author
item-id,title
item-id,sub-title
item-id,sponsoring-body
item-id,place-of-publication
item-id,publisher
item-id,series-title-number
item-id,volume-issue
item-id,edition
item-id,publication-date
item-id,publication-date-of-component
item-id,author-of-article
item-id,title-of-article
item-id,pagination
item-id,ISBN
item-id,ISSN
item-id,additional-no-letters
item-id,verification-reference-source
copyright-complicance
retry-flag
forward-flag
requester-note
forward-note

También hay unos pocos parámetros que son parte del Paquete de Solicitud de Servicios Extendidos y el paquete ItemOrder:

package-name
user-id
contact-name
contact-phone
contact-email
itemorder-item

Valores devueltos

No devuelve ningún valor.

yaz_hits
yaz_present
Funciones de YAZ


Se prepara para la recuperación (Z39.50 presente)

yaz_itemorder
yaz_range
Funciones de YAZ
PHP Manual

yaz_present

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_present — Se prepara para la recuperación (Z39.50 presente)

Descripción

bool yaz_present ( resource $id )

Esta función se prepara para la recuperación de archivos después de una búsqueda exitosa.

La función yaz_range() debe ser llamado antes de esta función para especificar el rango de registros a ser recuperados.

Parámetros

id

El recurso de conexión devuelto por yaz_connect().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

yaz_itemorder
yaz_range
Funciones de YAZ


Específica un rango de registros a recuperar

yaz_present
yaz_record
Funciones de YAZ
PHP Manual

yaz_range

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_range — Específica un rango de registros a recuperar

Descripción

void yaz_range ( resource $id , int $start , int $number )

Específica un rango de registros a recuperar.

Esta función debería ser llamada antes de yaz_search() o yaz_present().

Parámetros

id

El recurso de conexión retornado por yaz_connect().

start

Especifíca la posición del primer registro a ser recuperado. Los registros numéricos van de 1 a yaz_hits().

number

Específica un rango de registros a recuperar.

Valores devueltos

No devuelve ningún valor.

yaz_present
yaz_record
Funciones de YAZ


Devuelve un registro

yaz_range
yaz_scan_result
Funciones de YAZ
PHP Manual

yaz_record

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_record — Devuelve un registro

Descripción

string yaz_record ( resource $id , int $pos , string $type )

La función yaz_record() inspecciona un registro del conjunto resultado actual que está en la posición especificada por el parámetro pos.

Parámetros

id

El recurso de conexión devuelto por yaz_connect().

pos

La posición del registro. Las posiciones de los registros en el conjunto resultado están numeradas con 1, 2, ... $hits donde $hits es el contador devuelto por yaz_hits().

type

El parámetro type especifica la forma del registro devuelto.

Nota:

Es la aplicación responsable de asegurar realmente que los registros son devueltos en el formato correcto por el servidor Z39.50/SRW. El type indicado únicamente especifica una conversión que se realizará en el lado cliente (en PHP/YAZ).

Además de la conversion del registro transferido a un string/array, PHP/YAZ también puede realizar una conversión de mapa de caracteres del registro. Esto es recomendado especialmente para USMARC/MARC21 puesto que éstos se devuelven habitualmente en el mapa de caracteres MARC-8 que no está soportado por navegadores, etc. Para especificar una conversión, añadir ; charset=from, to donde from es el mapa de caracteres original del registro y to es el mapa de caracteres resultante (desde el punto de vista PHP).

string

El registro se devuelve como un string de visualización simple. En este modo, todos los registros MARC se convierten a un formato línea a línea ya que ISO2709 es difícilmente legible. Los registros XML y SUTRS se devuelven en su formato original. GRS-1 se devuelve en un (feo) formato línea a línea.

Este formato es adecuado si los registros se mostrarán de forma rápida - para depuración - o porque no es factible realizar una visualización adecuada.

xml

El registro se devuelve como un string XML si es posible. En este modo, todos los registros MARC se convierten en » MARCXML. Los registros XML y SUTRS se devuelven en su formato original. GRS-1 no está soportado.

Este formato es parecido a string excepto por los registros MARC que se convierten a MARCXML

Este formato es adecuado si los registros se procesan posteriormente por un interpretador XML o un procesador XSLT .

raw

El registro se devuelve como un string en su formato original. Este tipo es adecuado para MARC, XML y SUTRS. No funciona con GRS-1.

Los registros MARC se devuelven como un string ISO2709. XML y SUTRS son devueltos como strings.

syntax

La sintaxis del registro se devuelve como un string, p.e. USmarc, GRS-1, XML, etc.

database

El nombre de la base de datos asociada con el registro en la posición, se devuelve como un string.

array

El registro se devuelve como un array que refleja la estructura GRS-1. Este tipo es adecuado para MARC y GRS-1. XML, SUTRS no están soportados y si el registro actual es XML o SUTRS se devolverá un string vacío.

El array devuelto consiste en una lista correspondiente a cada hoja/nodo interno de GRS-1. Cada lista de elementos consiste en una sublista con el primer elemento path y data (si los datos están disponibles).

El camino de acceso, que es un string, contiene una lista de tres componentes (del registro estructurado GRS-1) de la raíz a la hoja. Cada componente es un par de tipo etiqueta/valor de etiqueta de la forma (type, value

Las etiguqetas normalmente tienen un tipo tag 3. MARC también puede ser devuelto como un array (se convierten a GRS-1 internamente).

Valores devueltos

Devuelve el registro que se encuentra en la posición pos o un string vacío si no existe ningún registro en la posición indicada.

Si no hay registro en la posición indicada en la base de datos, se devolverá un string vacío.

Ejemplos

Ejemplo #1 Array para registro GRS-1

Considerar este registro GRS-1 :

(4,52)Robert M. Pirsig
(4,70)
      (4,90)
            (2,7)Transworld Publishers, ltd.
Este registro tiene dos nodos a nivel de raíz. El primer elemento del nivel raíz es (4,52) [tipo tag 4, valor de tag 52], y tiene datos Robert M. Pirsig. El segundo elemento en el nivel raíz (4,70) tiene un subárbol con un elemento simple (4,90). (4,90) tiene a su vez otro subárbol (2,7) con datos Transworld Publishers, ltd..

Si este registro está presente en la posición $p, entonces

<?php

$ar = yaz_record($id, $p, "array");
print_r($ar);

?>
will output:
Array
(
    [0] => Array
        (
            [0] => (4,52)
            [1] => Robert M. Pirsig
        )
    [1] => Array
        (
            [0] => (4,70)
        )
    [2] => Array
        (
            [0] => (4,70)(4,90)
        )
    [3] => Array
        (
            [0] => (4,70)(4,90)(2,7)
            [1] => Transworld Publishers, ltd.
        )
)

Ejemplo #2 Trabajando con MARCXML

El siguiente fragmento PHP devuelve un registro MARC21/USMARC como MARCXML. El registro original se devuelve en marc-8 (desconocido para muchos interpretadores XML), así que lo convertimos a UTF-8 (que todos los interpretadores XML deben soportar).

<?php
$rec = yaz_record($id, $p, "xml; charset=marc-8,utf-8");
?>

El registro $rec puede ser procesado con el procesador Sablotron XSLT de la forma siguiente:

<?php

$xslfile = 'display.xsl';
$processor = xslt_create();
$parms = array('/_xml' => $rec);
$res = xslt_process($processor, 'arg:/_xml', $xslfile, NULL, $parms);
xslt_free($processor);
$res = preg_replace("'</?html[^>]*>'", '', $res);
echo $res;

?>

Para PHP 5 la extensión XSL debe ser utilizada en vez de Sablotron XSLT.

yaz_range
yaz_scan_result
Funciones de YAZ


Devuelve el resultado de un escaneado

yaz_record
yaz_scan
Funciones de YAZ
PHP Manual

yaz_scan_result

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_scan_result — Devuelve el resultado de un escaneado

Descripción

array yaz_scan_result ( resource $id [, array &$result ] )

yaz_scan_result() devuelve una tabla con los términos y la información asociada tal y como fue recibida del servidor en la última función yaz_scan() realizada.

Parámetros

id

El recurso de conexión asociado por yaz_connect().

result

Si se indica, este array será modificado para contener información adicional tomada de la respuesta del scan:

  • number - Número de entradas devueltas

  • stepsize - Tamaño del paso

  • position - Posición del término

  • status - Estado del escaneo

Valores devueltos

Devuelve un array (0..n-1) donde n es el número de elementos devuetos. Cada valor es un par donde el primer elemento es el término, y el segundo es el contador de resultados.

yaz_record
yaz_scan
Funciones de YAZ


Prepara para un escaneo YAZ

yaz_scan_result
yaz_schema
Funciones de YAZ
PHP Manual

yaz_scan

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_scan — Prepara para un escaneo YAZ

Descripción

void yaz_scan ( resource $id , string $type , string $startterm [, array $flags ] )

Esta función prepara para una solicitud "Z39.50 Scan Request" en la conexión YAZ especificada.

Para transferir realmente la "Scan Request" del servidor y recibir la "Scan Response", debe llamarse yaz_wait(). Después de la finalización de la llamada a yaz_wait(), llamar a yaz_error() y yaz_scan_result() para gestionar la respuesta.

Parámetros

id

El recurso de conexión devuelto por yaz_connect().

type

Actualmente sólo está soportado el tipo rpn .

startterm

Punto de partida del escaneo.

La forma en la que el punto de partida es especificado, viene dado por el parámetro type.

La sintaxis de este parámetro es parecido al de la consulta RPN tal y como se describe en yaz_search(). Consiste en cero o más especificaciones del operador @attr, seguido de exactamente un token.

flags

Este parámetro opcional describe información adicional para controlar el comportamiento de la solicitud de escaneo. Tres índices se leen actualmente del array de marcas: number (número de términos solicitados), position (posición preferida del término) y stepSize (tamaño preferido del paso).

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 función PHP que escanea títulos

<?php
function scan_titles($id, $startterm)
{
  yaz_scan($id, "rpn", "@attr 1=4 " . $startterm);
  yaz_wait();
  $errno = yaz_errno($id);
  if ($errno == 0) {
    $ar = yaz_scan_result($id, $options);
    echo 'Scan ok; ';
    foreach ($options as $key => $val) {
      echo "$key = $val ";
    }
    echo '<br /><table>';
    while (list($key, list($k, $term, $tcount)) = each($ar)) {
      if (empty($k)) continue;
      echo "<tr><td>$term</td><td>$tcount</td></tr>";
    }
    echo '</table>';
  } else {
    echo "Error de escaneo. Error: " . yaz_error($id) . "<br />";
  }
}
?>

yaz_scan_result
yaz_schema
Funciones de YAZ


Especifica el esquema para la recuperación

yaz_scan
yaz_search
Funciones de YAZ
PHP Manual

yaz_schema

(PHP 4 >= 4.2.0, PECL yaz >= 0.9.0)

yaz_schema — Especifica el esquema para la recuperación

Descripción

void yaz_schema ( resource $id , string $schema )

yaz_schema() especifica el esquema para la recuperación.

Esta función debe ser llamada antes de yaz_search() o yaz_present().

Parámetros

id

El recurso de conexión devuelto por yaz_connect().

schema

Debe ser especificado como un OID (identificador de objeto) notación de puntos sin tratar (como 1.2.840.10003.13.4 ) o como uno de los esquemas conocidos registrados: GILS-schema, Holdings, Zthes, ...

Valores devueltos

No devuelve ningún valor.

yaz_scan
yaz_search
Funciones de YAZ


Prepara una búsqueda

yaz_schema
yaz_set_option
Funciones de YAZ
PHP Manual

yaz_search

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_search — Prepara una búsqueda

Descripción

bool yaz_search ( resource $id , string $type , string $query )

yaz_search() prepara una búsqueda en la conexión dada.

Como yaz_connect() esta función es no bloqueante y únicamente prepara una búsqueda para ser ejecutada posteriormente cuando se llame a la función yaz_wait() .

Parámetros

id

El recurso de conexión devuelto por yaz_connect().

type

Este parámetro representa el tipo de la consulta - únicamente "rpn" está soportado ahora, en cuyo caso el tercer argumento especifica una consulta de tipo Type-1 en notación de prefijo de consulta.

query

La consulta RPN es una representación textual de la consulta Type-1 tal y como está definida por el estandard Z39.50 . Sin embargo, en la representación del texto utilizada por YAZ se necesita una notación de prefijo, es decir que el operador precede a los operandos. El string de la consulta es una secuencia de tokens donde se ignora el espacio en blanco a menos que esté rodeado de dobles comillas. Los Tokens que empiecen con una arroba (@) se considerarán operadores, de otro modo, se tratarán como términos de búsqueda.

Operadores RPN
Sintaxis | Descripción
@and query1 query2 | intersección de las consultas query1 y query2
@or query1 query2 | unión de las consultas query1 y query2
@not query1 query2 | query1 y no query2
@set name | conjunto resultado de referencia
@attrset set query | especifica el conjunto de atributos para la consulta. Esta construcción sólo se permite una sola vez - en el inicio de la consulta
@attr [set] type=value query | aplica atributos a la consulta. El tipo y valor son enteros especificando el tipo del atributo y valor del atributo respectivamente. El conjunto, si se informa, especifica el conjunto atributo.

Se muestra más información sobre atributos en el link » Z39.50 Maintenance Agency site.

Nota:

Si se desea utilizar una notación más amigable, utilizar el interpretador CCL - functiones yaz_ccl_conf() y yaz_ccl_parse().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Query Examples

Se puede buscar por términos sencillos, como en el caso siguiente:

computer
que busca documentos donde aparece "computer" . No se han especificado atributos.

La consulta

"knuth donald"
busca documentos donde aparece "knuth donald" (suponiendo que el servidor soporta búsqueda de frases).

Esta consulta aplica dos atributos para la misma frase.

@attr 1=1003 @attr 4=1 "knuth donald"
El primer atributo es de tipo type 1 (usa Bib-1), el valor del atributo es 1003 (Autor). El segundo atributo es de tipo type 4 (estructura), valor 1 (frase), así que debe buscar documentos donde Donald Knuth es el autor.

La consulta

@and @or a b @not @or c d e
en notación infija tendría el aspecto: (a or b) and ((c or d) not e).

Otro ejemplo, más complejo:

@attrset gils @and @attr 1=4 art @attr 1=2000 company
La consulta utiliza el conjunto de atributos GILS . La consulta busca documentos en los que art aparece en el título (GILS,BIB-1) y en los que company aparece como Distributor (GILS).

yaz_schema
yaz_set_option
Funciones de YAZ


Configura una o más opciones de la conexión

yaz_search
yaz_sort
Funciones de YAZ
PHP Manual

yaz_set_option

(PECL yaz >= 0.9.0)

yaz_set_option — Configura una o más opciones de la conexión

Descripción

void yaz_set_option ( resource $id , string $name , string $value )
void yaz_set_option ( resource $id , array $options )

Configura una o más opciones de la conexión dada.

Parámetros

id

El recurso de conexión devuelta por yaz_connect().

name o options

Puede ser un string o un array.

Si se informa un string, será el nombre de la opción a configurar. Será necesario especificar su value.

Si se informa un array, será un array asociativo (nombre opción => valor opción).

Opciones de Conexión PHP/YAZ
Nombre | Descripción
implementationName | nombre de la implementación del servidor
implementationVersion | versión de implementación del servidor
implementationId | ID de implementación del servidor
schema | esquema de recuperación. Por defecto, no se utiliza ningún esquema. Configurar esta opción es equivalente a utilizar la función yaz_schema()
preferredRecordSyntax | sintaxis del registro para la recuperación. Por defecto, no se utiliza sintaxis. Configurar esta opción es equivalente a utilizar la función yaz_syntax()
start | desplazamiento para el primer registro a ser obtenido vía yaz_search() o yaz_present(). El primer registro está numerado con un valor inicial de 0. El segundo registro tiene valor de inicio 1. Configurar esta opción en combinación con la opción count tiene el mismo efecto que llamar a yaz_range() excepto que los registros están numerados a partir de de 1 con yaz_range()
count | número máximo de registros a recuperar vía yaz_search() o yaz_present().
elementSetName | nombre del conjunto de elementos para la recuperación. Configurar esta opción es equivalente a llamar a yaz_element().
value

El nuevo valor de la opción. Utilizar este parámetro únicamente si el argumento previo es un string.

Valores devueltos

No devuelve ningún valor.

yaz_search
yaz_sort
Funciones de YAZ


Configura los criterios de búsqueda

yaz_set_option
yaz_syntax
Funciones de YAZ
PHP Manual

yaz_sort

(PHP 4 >= 4.0.7, PECL yaz >= 0.9.0)

yaz_sort — Configura los criterios de búsqueda

Descripción

void yaz_sort ( resource $id , string $criteria )

Esta función configura los criterios de búsqueda y activa la ordenación Z39.50 .

LLamar a esta función antes de yaz_search(). Utilizar esta función por si sola no tiene ningún efecto. Cuando se usa en conjunción con yaz_search(), una ordenación Z39.50 se enviará después de que la respuesta de la búsqueda ha sido recibida y antes de que cualquier registro sea recuperado con Z39.50 Present ( yaz_present().

Parámetros

id

El recurso de conexión devuelto por yaz_connect().

criteria

Un string que toma la forma field1 flags1 field2 flags2 donde field1 especifica los atributos primarios para ordenar, field2 los secundarios, etc..

El campo especifica ya sea combinaciones de atributos numéricos consistentes de pares type=value separados por una coma (p.e. 1=4,2=1) ; o el campo debe especificar un string con el criterio (p.e. título). Los flags son secuencias de los caracteres siguientes que no pueden estar separados por ningún espacio.

Sort Flags
a

Ordenar de forma ascendente

d

Ordenar de forma descendente

i

No diferenciar entre mayúsculas o minúsculas en la ordenación

s

Diferenciar entre mayúsculas o minúsculas en la ordenación

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Criterios de Ordenación

Para ordenar con el título de atributo Bib1e, sin diferenciar mayúsculas o minúsculas, y de forma ascendente, utilizar el siguiente criterio de ordenación:

1=4 ia

Si el criterio de ordenación secundario fuera el autor, diferenciando mayúsculas y minúsculas y de forma ascendente, se usaría:

1=4 ia 1=1003 sa

yaz_set_option
yaz_syntax
Funciones de YAZ


Especifica la sintaxis de registro preferida para la recuperación

yaz_sort
yaz_wait
Funciones de YAZ
PHP Manual

yaz_syntax

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_syntax — Especifica la sintaxis de registro preferida para la recuperación

Descripción

void yaz_syntax ( resource $id , string $syntax )

yaz_syntax() especifica la sintaxis de registro preferida para la recuperación

Esta función debe ser llamada antes de yaz_search() o yaz_present().

Parámetros

id

El recurso de conexión devuelto por yaz_connect().

syntax

La sintaxis debe especificarse como un OID (identificador de objeto) en una notación de puntos sin tratar (como 1.2.840.10003.5.10) o como una de las sintaxis conocidas (sutrs, usmarc, grs1, xml, etc.).

Valores devueltos

No devuelve ningún valor.

yaz_sort
yaz_wait
Funciones de YAZ


Espera que las peticiones Z39.50 se completeten

yaz_syntax
YP/NIS
Funciones de YAZ
PHP Manual

yaz_wait

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_wait — Espera que las peticiones Z39.50 se completeten

Descripción

mixed yaz_wait ([ array &$options ] )

Esta función lleva a cabo en red (bloqueada) la actividad para la
solicitudes pendientes que han sido preparados por las funciones
 yaz_connect(),  yaz_search(),
 yaz_present(),  yaz_scan() y
 yaz_itemorder().

yaz_wait() devuelve cuando todos los servidores han completado todas las solicitudes o abortado (en caso de error).

Parámetros

options

Un array asociativo de opciones:

timeout

Establece el tiempo de espera en segundos. Si un servidor no ha respondido en el tiempo de espera se considera muerto y retorna yaz_wait(). El valor por omisión de tiempo de espera es de 15 segundos.

event

Un boolean.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. En modo event, retorna un recource o FALSE en caso de error.

yaz_syntax
YP/NIS
Funciones de YAZ


YP/NIS

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de YP/NIS
    • yp_all — Recorre el mapa y ejecuta una función por cada entrada
    • yp_cat — Devuelve un array conteniendo todo el mapa
    • yp_err_string — Devuelve la cadena de error asociada con el código de error dado
    • yp_errno — Devuelve el código de error de la operación más reciente
    • yp_first — Devuelve el primer par clave-valor del mapa indicado
    • yp_get_default_domain — Obtiene el dominio NIS por defecto
    • yp_master — Devuelve el nombre de máquina del servidor NIS maestro de un mapa dado
    • yp_match — Devuelve la línea asociada
    • yp_next — Devuelve el siguiente par clave-valor en el mapa indicado
    • yp_order — Devuelve el número de pedido de un mapa
yaz_wait
Introducción
Otros servicios


Introducción

NIS (anteriormente conocidocomo Páginas Amarillas) permite la gestión de redes de importantes archivos administrativos (cómo archivos de contraseñas). Para más información consulte la página de manual de NIS y » The Linux NIS(YP)/NYS/NIS+ HOWTO. también hay un libro llamado » Managing NFS and NIS de Hal Stern.

Nota:

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.1.0.

Nota: Esta extensión no está disponible en plataformas Windows.

YP/NIS
Instalación/Configuración
YP/NIS


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
YP/NIS


Requerimientos

Ningún requisito distinto de las funciones estándar de Unix, las cuales siempre están disponibles (ya sea libc o libnsl, configure detectará cuál usar).

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión se considera no mantenida y muerta. Sin embargo, el código fuente para esta extensión sigue estando disponible dentro de PECL SVN aquí: » http://svn.php.net/viewvc/pecl/yp

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

YPERR_ACCESS (integer)
Violación de acceso (ha sido añadido recientemente y está sólo disponible paa PECL SVN por ahora)
YPERR_BADARGS (integer)
Los argumentos de la función son incorrectos
YPERR_BADDB (integer)
Base de datos YP es incorrecta
YPERR_BUSY (integer)
Base de datos ocupada
YPERR_DOMAIN (integer)
No puede enlazar al servidor sobre ese dominio
YPERR_KEY (integer)
Clave no se encuentra en el mapa
YPERR_MAP (integer)
Mapa no se encuentra en ese dominio
YPERR_NODOM (integer)
Dominio local no establecido
YPERR_NOMORE (integer)
No hay más registros en la base de datos
YPERR_PMAP (integer)
No puede comunicarse con portmapper
YPERR_RESRC (integer)
Error en la asignación de recursos
YPERR_RPC (integer)
Fallo RPC - dominio no ha sido contactado
YPERR_YPBIND (integer)
No logra comunicarse con ypbind
YPERR_YPERR (integer)
Error interno en servidor yp o error de cliente
YPERR_YPSERV (integer)
No logra comunicarse con ypserv
YPERR_VERS (integer)
La versión YP no coincide
Tipos de recursos
Funciones de YP/NIS
YP/NIS


Funciones de YP/NIS

Tabla de contenidos

  • yp_all — Recorre el mapa y ejecuta una función por cada entrada
  • yp_cat — Devuelve un array conteniendo todo el mapa
  • yp_err_string — Devuelve la cadena de error asociada con el código de error dado
  • yp_errno — Devuelve el código de error de la operación más reciente
  • yp_first — Devuelve el primer par clave-valor del mapa indicado
  • yp_get_default_domain — Obtiene el dominio NIS por defecto
  • yp_master — Devuelve el nombre de máquina del servidor NIS maestro de un mapa dado
  • yp_match — Devuelve la línea asociada
  • yp_next — Devuelve el siguiente par clave-valor en el mapa indicado
  • yp_order — Devuelve el número de pedido de un mapa
Constantes predefinidas
yp_all
YP/NIS


Recorre el mapa y ejecuta una función por cada entrada

Funciones de YP/NIS
yp_cat
Funciones de YP/NIS
PHP Manual

yp_all

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5)

yp_all — Recorre el mapa y ejecuta una función por cada entrada

Descripción

void yp_all ( string $domain , string $map , string $callback )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

domain

El nombre de dominio NIS.

map

El mapa NIS.

callback

Valores devueltos

No devuelve ningún valor.

Funciones de YP/NIS
yp_cat
Funciones de YP/NIS


Devuelve un array conteniendo todo el mapa

yp_all
yp_err_string
Funciones de YP/NIS
PHP Manual

yp_cat

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5)

yp_cat — Devuelve un array conteniendo todo el mapa

Descripción

array yp_cat ( string $domain , string $map )

Devuelve todas las entradas del mapa.

Parámetros

domain

El nombre de dominio NIS.

map

El mapa NIS.

Valores devueltos

Devuelve un array con todas las entradas del mapa, los valores clave del mapa serán los índices del array y las entradas del mapa serán los datos del array.

yp_all
yp_err_string
Funciones de YP/NIS


Devuelve la cadena de error asociada con el código de error dado

yp_cat
yp_errno
Funciones de YP/NIS
PHP Manual

yp_err_string

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5)

yp_err_string — Devuelve la cadena de error asociada con el código de error dado

Descripción

string yp_err_string ( int $errorcode )

Devuelve el mensaje de error relacionado con el código de error determinado. Útil para indicar exactamente lo que salió mal.

Parámetros

errorcode

El código de error.

Valores devueltos

Devuelve el mensaje de error, como una cadena.

Ejemplos

Ejemplo #1 Ejemplo con yp_err_string()

<?php
echo "Error: " . yp_err_string(yp_errno());
?>

Ver también

  • yp_errno() - Devuelve el código de error de la operación más reciente

yp_cat
yp_errno
Funciones de YP/NIS


Devuelve el código de error de la operación más reciente

yp_err_string
yp_first
Funciones de YP/NIS
PHP Manual

yp_errno

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5)

yp_errno — Devuelve el código de error de la operación más reciente

Descripción

int yp_errno ( void )

Devuelve el código de error de la operación más reciente.

Valores devueltos

Devuelve una de las constantes de error YPERR_XXX.

Ver también

  • yp_err_string() - Devuelve la cadena de error asociada con el código de error dado

yp_err_string
yp_first
Funciones de YP/NIS


Devuelve el primer par clave-valor del mapa indicado

yp_errno
yp_get_default_domain
Funciones de YP/NIS
PHP Manual

yp_first

(PHP 4, PHP 5 <= 5.0.5)

yp_first — Devuelve el primer par clave-valor del mapa indicado

Descripción

array yp_first ( string $domain , string $map )

Obtiene el primer par clave-valor del map indicado en el domain dado.

Parámetros

domain

Nombre de dominio NIS.

map

El mapa NIS.

Valores devueltos

Devuelve el primer par clave-valor como un arrego si tiene éxito, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo con yp_first()

<?php
$entry = yp_first($domain, "passwd.byname");

$key = key($entry);
$value = $entry[$key];

echo "La primera entrada en el mapa tiene por clave " . $key . " y valor " . $value;
?>

Ver también

  • yp_next() - Devuelve el siguiente par clave-valor en el mapa indicado
  • yp_get_default_domain() - Obtiene el dominio NIS por defecto

yp_errno
yp_get_default_domain
Funciones de YP/NIS


Obtiene el dominio NIS por defecto

yp_first
yp_master
Funciones de YP/NIS
PHP Manual

yp_get_default_domain

(PHP 4, PHP 5 <= 5.0.5)

yp_get_default_domain — Obtiene el dominio NIS por defecto

Descripción

string yp_get_default_domain ( void )

Devuelve el dominio predeterminado del nodo. Puede ser usado como parámetro de dominio en posteriores llamados a NIS.

Un dominio NIS puede ser descrito como un grupo de mapas NIS. Cada cliente que necesita buscar información se enlaza a un dominio determinado. Refiérase a los documentos mencionados al principio para obtener más información.

Valores devueltos

Devuelve el dominio predeterminado del nodo o FALSE. Puede ser usado como parámetro de dominio para posteriores llamados a NIS.

Ejemplos

Ejemplo #1 Ejemplo para un dominio predeterminado

<?php
$domain = yp_get_default_domain();
echo "Dominio NIS predeterminado es: " . $domain;
?>

yp_first
yp_master
Funciones de YP/NIS


Devuelve el nombre de máquina del servidor NIS maestro de un mapa dado

yp_get_default_domain
yp_match
Funciones de YP/NIS
PHP Manual

yp_master

(PHP 4, PHP 5 <= 5.0.5)

yp_master — Devuelve el nombre de máquina del servidor NIS maestro de un mapa dado

Descripción

string yp_master ( string $domain , string $map )

Devuelve el nombre de máquina del servidor NIS maestro de un map dado.

Parámetros

domain

El nombre de dominio NIS.

map

El mapa NIS.

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo para un NIS maestro

<?php
$number = yp_master($domain, $mapname);
echo "El servidor maestro para este mapa es: " . $master;
?>

Ver también

  • yp_get_default_domain() - Obtiene el dominio NIS por defecto

yp_get_default_domain
yp_match
Funciones de YP/NIS


Devuelve la línea asociada

yp_master
yp_next
Funciones de YP/NIS
PHP Manual

yp_match

(PHP 4, PHP 5 <= 5.0.5)

yp_match — Devuelve la línea asociada

Descripción

string yp_match ( string $domain , string $map , string $key )

Devuelve el valor asociado con la key pasada del map indicado.

Parámetros

domain

El nombre de dominio NIS.

map

El mapa NIS.

key

Esta clave debe ser exacta.

Valores devueltos

Devuelve el valor, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo con yp_match()

<?php
$entry = yp_match($domain, "passwd.byname", "joe");
echo "Entrada asociada es: " . $entry;
?>

El resultado del ejemplo sería algo similar a:

joe:##joe:11111:100:Joe User:/home/j/joe:/usr/local/bin/bash

Ver también

  • yp_get_default_domain() - Obtiene el dominio NIS por defecto

yp_master
yp_next
Funciones de YP/NIS


Devuelve el siguiente par clave-valor en el mapa indicado

yp_match
yp_order
Funciones de YP/NIS
PHP Manual

yp_next

(PHP 4, PHP 5 <= 5.0.5)

yp_next — Devuelve el siguiente par clave-valor en el mapa indicado

Descripción

array yp_next ( string $domain , string $map , string $key )

Devuelve el siguiente par clave-valor en el map indicado despúes de la key específicada.

Parámetros

domain

map

key

Valores devueltos

Devuelve el siguiente par clave-valor como un array, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo con yp_next()

<?php
$entry = yp_next($domain, "passwd.byname", "joe");

if (!$entry) {
    echo "No hay más entradas encontradas\n";
    echo "<!--" . yp_errno() . ": " . yp_err_string() . "-->";
}

$key = key($entry);

echo "La siguiente entrada después de joe tiene por clave " . $key
      . " y valor " . $entry[$key];
?>

Ver también

  • yp_first() - Devuelve el primer par clave-valor del mapa indicado
  • yp_get_default_domain() - Obtiene el dominio NIS por defecto

yp_match
yp_order
Funciones de YP/NIS


Devuelve el número de pedido de un mapa

yp_next
0MQ messaging
Funciones de YP/NIS
PHP Manual

yp_order

(PHP 4, PHP 5 <= 5.0.5)

yp_order — Devuelve el número de pedido de un mapa

Descripción

int yp_order ( string $domain , string $map )

Obtiene el número de pedido de un mapa.

Parámetros

domain

map

Valores devueltos

Devuelve el número de pedido de un mapa o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo con yp_order()

<?php
    $number = yp_order($domain, $mapname);
    echo "Número de pedido de este mapa es: " . $number;
?>

Ver también

  • yp_get_default_domain() - Obtiene el dominio NIS por defecto

yp_next
0MQ messaging
Funciones de YP/NIS


ZMQ

  • Introducción
  • Instalación/Configuración
    • Requerimientos
  • ZMQ — The ZMQ class
    • ZMQ::__construct — ZMQ constructor
  • ZMQContext — The ZMQContext class
    • ZMQContext::__construct — Construct a new ZMQContext object
    • ZMQContext::getOpt — Get context option
    • ZMQContext::getSocket — Create a new socket
    • ZMQContext::isPersistent — Whether the context is persistent
    • ZMQContext::setOpt — Set a socket option
  • ZMQSocket — The ZMQSocket class
    • ZMQSocket::bind — Bind the socket
    • ZMQSocket::connect — Connect the socket
    • ZMQSocket::__construct — Construct a new ZMQSocket
    • ZMQSocket::disconnect — Disconnect a socket
    • ZMQSocket::getEndpoints — Get list of endpoints
    • ZMQSocket::getPersistentId — Get the persistent id
    • ZMQSocket::getSocketType — Get the socket type
    • ZMQSocket::getSockOpt — Get socket option
    • ZMQSocket::isPersistent — Whether the socket is persistent
    • ZMQSocket::recv — Receives a message
    • ZMQSocket::recvMulti — Receives a multipart message
    • ZMQSocket::send — Sends a message
    • ZMQSocket::sendmulti — Sends a multipart message
    • ZMQSocket::setSockOpt — Set a socket option
    • ZMQSocket::unbind — Unbind the socket
  • ZMQPoll — The ZMQPoll class
    • ZMQPoll::add — Add item to the poll set
    • ZMQPoll::clear — Clear the poll set
    • ZMQPoll::count — Count items in the poll set
    • ZMQPoll::getLastErrors — Get poll errors
    • ZMQPoll::poll — Poll the items
    • ZMQPoll::remove — Remove item from poll set
  • ZMQDevice — The ZMQDevice class
    • ZMQDevice::__construct — Construct a new device
    • ZMQDevice::getIdleTimeout — Get the idle timeout
    • ZMQDevice::getTimerTimeout — Get the timer timeout
    • ZMQDevice::run — Run the new device
    • ZMQDevice::setIdleCallback — Set the idle callback function
    • ZMQDevice::setIdleTimeout — Set the idle timeout
    • ZMQDevice::setTimerCallback — Set the timer callback function
    • ZMQDevice::setTimerTimeout — Set the timer timeout
yp_order
Introducción
Otros servicios


Introducción

"ØMQ is a software library that lets you quickly design and implement a fast message-based application." --0MQ Website

For more information about 0MQ, see » http://zeromq.org/.

0MQ messaging
Instalación/Configuración
0MQ messaging


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
Introducción
Requerimientos
0MQ messaging


Requerimientos

ZMQ extension requires 0MQ version 2.0.7 or higher. 0MQ can be acquired from » http://zeromq.org/area:download.

Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/zmq

Instalación/Configuración
ZMQ
Instalación/Configuración


The ZMQ class

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Sinopsis de la Clase

ZMQ {
/* Constants */
const integer SOCKET_PAIR ;
const integer SOCKET_PUB ;
const integer SOCKET_SUB ;
const integer SOCKET_REQ ;
const integer SOCKET_REP ;
const integer SOCKET_XREQ ;
const integer SOCKET_XREP ;
const integer SOCKET_PUSH ;
const integer SOCKET_PULL ;
const integer SOCKET_ROUTER ;
const integer SOCKET_DEALER ;
const integer SOCKET_XPUB ;
const integer SOCKET_XSUB ;
const integer SOCKET_STREAM ;
const integer SOCKOPT_HWM ;
const integer SOCKOPT_SNDHWM ;
const integer SOCKOPT_RCVHWM ;
const integer SOCKOPT_AFFINITY ;
const integer SOCKOPT_IDENTITY ;
const integer SOCKOPT_SUBSCRIBE ;
const integer SOCKOPT_UNSUBSCRIBE ;
const integer SOCKOPT_RATE ;
const integer SOCKOPT_RECOVERY_IVL ;
const integer SOCKOPT_RECONNECT_IVL ;
const integer SOCKOPT_RECONNECT_IVL_MAX ;
const integer SOCKOPT_MCAST_LOOP ;
const integer SOCKOPT_SNDBUF ;
const integer SOCKOPT_RCVBUF ;
const integer SOCKOPT_RCVMORE ;
const integer SOCKOPT_TYPE ;
const integer SOCKOPT_LINGER ;
const integer SOCKOPT_BACKLOG ;
const integer SOCKOPT_MAXMSGSIZE ;
const integer SOCKOPT_SNDTIMEO ;
const integer SOCKOPT_RCVTIMEO ;
const integer SOCKOPT_IPV4ONLY ;
const integer SOCKOPT_LAST_ENDPOINT ;
const integer SOCKOPT_TCP_KEEPALIVE_IDLE ;
const integer SOCKOPT_TCP_KEEPALIVE_CNT ;
const integer SOCKOPT_TCP_KEEPALIVE_INTVL ;
const integer SOCKOPT_TCP_ACCEPT_FILTER ;
const integer SOCKOPT_TCP_ACCEPT_FILTER ;
const integer SOCKOPT_DELAY_ATTACH_ON_CONNECT ;
const integer SOCKOPT_XPUB_VERBOSE ;
const integer SOCKOPT_ROUTER_RAW ;
const integer SOCKOPT_IPV6 ;
const integer CTXOPT_MAX_SOCKETS ;
const integer POLL_IN ;
const integer POLL_OUT ;
const integer MODE_NOBLOCK ;
const integer MODE_DONTWAIT ;
const integer MODE_SNDMORE ;
const integer ERR_INTERNAL ;
const integer ERR_EAGAIN ;
const integer ERR_ENOTSUP ;
const integer ERR_EFSM ;
const integer ERR_ETERM ;
/* Methods */
private __construct ( void )
}

Constantes predefinidas

ZMQ Constant Types

ZMQ::SOCKET_PAIR

Exclusive pair pattern

ZMQ::SOCKET_PUB

Publisher socket

ZMQ::SOCKET_SUB

Subscriber socket

ZMQ::SOCKET_REQ

Request socket

ZMQ::SOCKET_REP

Reply socket

ZMQ::SOCKET_XREQ

Alias for SOCKET_DEALER

ZMQ::SOCKET_XREP

Alias for SOCKET_ROUTER

ZMQ::SOCKET_PUSH

Pipeline upstream push socket

ZMQ::SOCKET_PULL

Pipeline downstream pull socket

ZMQ::SOCKET_ROUTER

Extended REP socket that can route replies to requesters

ZMQ::SOCKET_DEALER

Extended REQ socket that load balances to all connected peers

ZMQ::SOCKET_XPUB

Similar to SOCKET_PUB, except you can receive subscriptions as messages. The subscription message is 0 (unsubscribe) or 1 (subscribe) followed by the topic.

ZMQ::SOCKET_XSUB

Similar to SOCKET_SUB, except you can send subscriptions as messages. See SOCKET_XPUB for format.

ZMQ::SOCKET_STREAM

Used to send and receive TCP data from a non-ØMQ peer. Available if compiled against ZeroMQ 4.x or higher (Value: integer).

ZMQ::SOCKOPT_HWM

The high water mark for inbound and outbound messages is a hard limit on the maximum number of outstanding messages ØMQ shall queue in memory for any single peer that the specified socket is communicating with. Setting this option on a socket will only affect connections made after the option has been set. On ZeroMQ 3.x this is a wrapper for setting both SNDHWM and RCVHWM. (Value: integer).

ZMQ::SOCKOPT_SNDHWM

The ZMQ_SNDHWM option shall set the high water mark for outbound messages on the specified socket. Available if compiled against ZeroMQ 3.x or higher (Value: integer).

ZMQ::SOCKOPT_RCVHWM

The ZMQ_SNDHWM option shall set the high water mark for inbound messages on the specified socket. Available if compiled against ZeroMQ 3.x or higher (Value: integer).

ZMQ::SOCKOPT_AFFINITY

Set I/O thread affinity (Value: integer)

ZMQ::SOCKOPT_IDENTITY

Set socket identity (Value: string)

ZMQ::SOCKOPT_SUBSCRIBE

Establish message filter. Valid for subscriber socket (Value: string)

ZMQ::SOCKOPT_UNSUBSCRIBE

Remove message filter. Valid for subscriber socket (Value: string)

ZMQ::SOCKOPT_RATE

Set rate for multicast sockets (pgm) (Value: integer >= 0)

ZMQ::SOCKOPT_RECOVERY_IVL

Set multicast recovery interval (Value: integer >= 0)

ZMQ::SOCKOPT_RECONNECT_IVL

Set the initial reconnection interval (Value: integer >= 0)

ZMQ::SOCKOPT_RECONNECT_IVL_MAX

Set the max reconnection interval (Value: integer >= 0)

ZMQ::SOCKOPT_MCAST_LOOP

Control multicast loopback (Value: integer >= 0)

ZMQ::SOCKOPT_SNDBUF

Set kernel transmit buffer size (Value: integer >= 0)

ZMQ::SOCKOPT_RCVBUF

Set kernel receive buffer size (Value: integer >= 0)

ZMQ::SOCKOPT_RCVMORE

Receive multi-part messages (Value: integer)

ZMQ::SOCKOPT_TYPE

Get the socket type. Valid for getSockOpt (Value: integer)

ZMQ::SOCKOPT_LINGER

The linger value of the socket. Specifies how long the socket blocks trying flush messages after it has been closed (Value: integer)

ZMQ::SOCKOPT_BACKLOG

The SOCKOPT_BACKLOG option shall set the maximum length of the queue of outstanding peer connections for the specified socket; this only applies to connection-oriented transports. (Value: integer)

ZMQ::SOCKOPT_MAXMSGSIZE

Limits the maximum size of the inbound message. Value -1 means no limit. Available if compiled against ZeroMQ 3.x or higher (Value: integer)

ZMQ::SOCKOPT_SNDTIMEO

Sets the timeout for send operation on the socket. Value -1 means no limit. Available if compiled against ZeroMQ 3.x or higher (Value: integer)

ZMQ::SOCKOPT_RCVTIMEO

Sets the timeout for receive operation on the socket. Value -1 means no limit. Available if compiled against ZeroMQ 3.x or higher (Value: integer)

ZMQ::SOCKOPT_IPV4ONLY

Disable IPV6 support if 1. Available if compiled against ZeroMQ 3.x (Value: integer)

ZMQ::SOCKOPT_LAST_ENDPOINT

Retrieve the last connected endpoint - for use with * wildcard ports. Available if compiled against ZeroMQ 3.x or higher (Value: string)

ZMQ::SOCKOPT_TCP_KEEPALIVE_IDLE

Idle time for TCP keepalive. Available if compiled against ZeroMQ 3.x or higher (Value: integer)

ZMQ::SOCKOPT_TCP_KEEPALIVE_CNT

Count time for TCP keepalive. Available if compiled against ZeroMQ 3.x or higher (Value: integer)

ZMQ::SOCKOPT_TCP_KEEPALIVE_INTVL

Interval for TCP keepalive. Available if compiled against ZeroMQ 3.x or higher (Value: integer)

ZMQ::SOCKOPT_DELAY_ATTACH_ON_CONNECT

Set a CIDR string to match against incoming TCP connections. Available if compiled against ZeroMQ 3.x or higher (Value: string)

ZMQ::SOCKOPT_TCP_ACCEPT_FILTER

Set a CIDR string to match against incoming TCP connections. Available if compiled against ZeroMQ 3.x or higher (Value: string)

ZMQ::SOCKOPT_XPUB_VERBOSE

Set the XPUB to receive an application message on each instance of a subscription. Available if compiled against ZeroMQ 3.x or higher (Value: string)

ZMQ::SOCKOPT_ROUTER_RAW

Sets the raw mode on the ROUTER, when set to 1. In raw mode when using tcp:// transport the socket will read and write without ZeroMQ framing. Available if compiled against ZeroMQ 4.0 or higher (Value: string)

ZMQ::SOCKOPT_IPV6

Enable IPV6. Available if compiled against ZeroMQ 4.0 or higher (Value: string)

ZMQ::CTXOPT_MAX_SOCKETS

The socket limit for this context. Available if compiled against ZeroMQ 3.x or higher (Value: integer)

ZMQ::POLL_IN

Poll for incoming data

ZMQ::POLL_OUT

Poll for outgoing data

ZMQ::MODE_NOBLOCK

Non-blocking operation. Deprecated, use ZMQ::MODE_DONTWAIT instead

ZMQ::MODE_DONTWAIT

Non-blocking operation

ZMQ::MODE_SNDMORE

Send multi-part message

ZMQ::DEVICE_FORWARDER

Forwarder device

ZMQ::DEVICE_QUEUE

Queue device

ZMQ::DEVICE_STREAMER

Streamer device

ZMQ::ERR_INTERNAL

ZMQ extension internal error

ZMQ::ERR_EAGAIN

Implies that the operation would block when ZMQ::MODE_DONTWAIT is used

ZMQ::ERR_ENOTSUP

The operation is not supported by the socket type

ZMQ::ERR_EFSM

The operation can not be executed because the socket is not in correct state

ZMQ::ERR_ETERM

The context has been terminated

Tabla de contenidos

  • ZMQ::__construct — ZMQ constructor
Requerimientos
ZMQ::__construct
0MQ messaging


ZMQ constructor

ZMQ
ZMQContext
ZMQ
PHP Manual

ZMQ::__construct

(PECL zmq >= 0.5.0)

ZMQ::__construct — ZMQ constructor

Descripción

private ZMQ::__construct ( void )

Private constructor to prevent direct initialization. This class holds the constants for ZMQ extension.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

ZMQ
ZMQContext
ZMQ


The ZMQContext class

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Sinopsis de la Clase

ZMQContext {
/* Methods */
__construct ([ integer $io_threads = 1 [, boolean $is_persistent = true ]] )
public mixed getOpt ( string $key )
public ZMQSocket getSocket ( integer $type [, string $persistent_id = null [, callback $on_new_socket = null ]] )
public boolean isPersistent ( void )
public ZMQContext setOpt ( integer $key , mixed $value )
}

Tabla de contenidos

  • ZMQContext::__construct — Construct a new ZMQContext object
  • ZMQContext::getOpt — Get context option
  • ZMQContext::getSocket — Create a new socket
  • ZMQContext::isPersistent — Whether the context is persistent
  • ZMQContext::setOpt — Set a socket option
ZMQ::__construct
ZMQContext::__construct
0MQ messaging


Construct a new ZMQContext object

ZMQContext
ZMQContext::getOpt
ZMQContext
PHP Manual

ZMQContext::__construct

(PECL zmq >= 0.5.0)

ZMQContext::__construct — Construct a new ZMQContext object

Descripción

ZMQContext::__construct ([ integer $io_threads = 1 [, boolean $is_persistent = true ]] )

Constructs a new ZMQ context. The context is used to initialize sockets. A persistent context is required to initialize persistent sockets.

Parámetros

io_threads

Number of io-threads in the context.

is_persistent

Whether the context is persistent. Persistent context is stored over multiple requests and is a requirement for persistent sockets.

Ejemplos

Ejemplo #1 A ZMQContext() example

Construct a new context and allocate request socket from it

<?php
/* Allocate a new context */
$context = new ZMQContext();

/* Create a new socket */
$socket = $context->getSocket(ZMQ::SOCKET_REQ, 'my sock');

/* Connect the socket */
$socket->connect("tcp://example.com:1234");

/* Send a request */
$socket->send("Hello there");

/* Receive back the response */
$message = $socket->recv();
?>

Valores devueltos

Throws ZMQContextException if context initialization fails.

ZMQContext
ZMQContext::getOpt
ZMQContext


Get context option

ZMQContext::__construct
ZMQContext::getSocket
ZMQContext
PHP Manual

ZMQContext::getOpt

(PECL zmq >= 1.0.4)

ZMQContext::getOpt — Get context option

Descripción

public mixed ZMQContext::getOpt ( string $key )

Returns the value of a context option.

Parámetros

key

An integer representing the option. See the ZMQ::CTXOPT_* constants.

Valores devueltos

Returns either a string or an integer depending on key. Throws ZMQContextException on error.

ZMQContext::__construct
ZMQContext::getSocket
ZMQContext


Create a new socket

ZMQContext::getOpt
ZMQContext::isPersistent
ZMQContext
PHP Manual

ZMQContext::getSocket

(PECL zmq >= 0.5.0)

ZMQContext::getSocket — Create a new socket

Descripción

public ZMQSocket ZMQContext::getSocket ( integer $type [, string $persistent_id = null [, callback $on_new_socket = null ]] )

Shortcut for creating new sockets from the context. If the context is not persistent the persistent_id parameter is ignored and the socket falls back to being non-persistent. The on_new_socket is called only when a new underlying socket structure is created.

Parámetros

type

ZMQ::SOCKET_* constant to specify socket type.

persistent_id

If persistent_id is specified the socket will be persisted over multiple requests.

on_new_socket

Callback function, which is executed when a new socket structure is created. This function does not get invoked if the underlying persistent connection is re-used. The callback takes ZMQSocket and persistent_id as two arguments.

Ejemplos

Ejemplo #1 A ZMQContext() example

Basic usage

<?php
/* Allocate a new context */
$context = new ZMQContext();

/* Create a new socket */
$socket = $context->getSocket(ZMQ::SOCKET_REQ, 'my sock');

/* Connect the socket */
$socket->connect("tcp://example.com:1234");

/* Send a request */
$socket->send("Hello there");

/* Receive back the response */
$message = $socket->recv();
echo "Received message: {$message}\n";
?>

Valores devueltos

Returns a ZMQSocket object on success. Throws ZMQSocketException on error.

ZMQContext::getOpt
ZMQContext::isPersistent
ZMQContext


Whether the context is persistent

ZMQContext::getSocket
ZMQContext::setOpt
ZMQContext
PHP Manual

ZMQContext::isPersistent

(PECL zmq >= 0.5.0)

ZMQContext::isPersistent — Whether the context is persistent

Descripción

public boolean ZMQContext::isPersistent ( void )

Whether the context is persistent. Persistent context is needed for persistent connections as each socket is allocated from a context.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns TRUE if the context is persistent and FALSE if the context is non-persistent.

ZMQContext::getSocket
ZMQContext::setOpt
ZMQContext


Set a socket option

ZMQContext::isPersistent
ZMQSocket
ZMQContext
PHP Manual

ZMQContext::setOpt

(PECL zmq >= 1.0.4)

ZMQContext::setOpt — Set a socket option

Descripción

public ZMQContext ZMQContext::setOpt ( integer $key , mixed $value )

Sets a ZMQ context option. The type of the value depends on the key. See ZMQ Constant Types for more information.

Parámetros

key

One of the ZMQ::CTXOPT_* constants.

value

The value of the parameter.

Valores devueltos

Returns the current object. Throws ZMQContextException on error.

ZMQContext::isPersistent
ZMQSocket
ZMQContext


The ZMQSocket class

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Sinopsis de la Clase

ZMQSocket {
/* Methods */
public ZMQSocket bind ( string $dsn [, boolean $force = false ] )
public ZMQSocket connect ( string $dsn [, boolean $force = false ] )
__construct ( ZMQContext $context , int $type [, string $persistent_id = null [, callback $on_new_socket = null ]] )
public ZMQSocket connect ( string $dsn )
public array getEndpoints ( void )
public string getPersistentId ( void )
public integer getSocketType ( void )
public mixed getSockOpt ( string $key )
public boolean isPersistent ( void )
public string recv ([ integer $mode = 0 ] )
public string recvMulti ([ integer $mode = 0 ] )
public ZMQSocket send ( string $message [, integer $mode = 0 ] )
public ZMQSocket send ( array $message [, integer $mode = 0 ] )
public ZMQSocket setSockOpt ( integer $key , mixed $value )
public ZMQSocket unbind ( string $dsn )
}

Tabla de contenidos

  • ZMQSocket::bind — Bind the socket
  • ZMQSocket::connect — Connect the socket
  • ZMQSocket::__construct — Construct a new ZMQSocket
  • ZMQSocket::disconnect — Disconnect a socket
  • ZMQSocket::getEndpoints — Get list of endpoints
  • ZMQSocket::getPersistentId — Get the persistent id
  • ZMQSocket::getSocketType — Get the socket type
  • ZMQSocket::getSockOpt — Get socket option
  • ZMQSocket::isPersistent — Whether the socket is persistent
  • ZMQSocket::recv — Receives a message
  • ZMQSocket::recvMulti — Receives a multipart message
  • ZMQSocket::send — Sends a message
  • ZMQSocket::sendmulti — Sends a multipart message
  • ZMQSocket::setSockOpt — Set a socket option
  • ZMQSocket::unbind — Unbind the socket
ZMQContext::setOpt
ZMQSocket::bind
0MQ messaging


Bind the socket

ZMQSocket
ZMQSocket::connect
ZMQSocket
PHP Manual

ZMQSocket::bind

(PECL zmq >= 0.5.0)

ZMQSocket::bind — Bind the socket

Descripción

public ZMQSocket ZMQSocket::bind ( string $dsn [, boolean $force = false ] )

Bind the socket to an endpoint. The endpoint is defined in format transport://address where transport is one of the following: inproc, ipc, tcp, pgm or epgm.

Parámetros

dsn

The bind dsn, for example transport://address.

force

Tries to bind even if the socket has already been bound to the given endpoint.

Valores devueltos

Returns the current object. Throws ZMQSocketException on error.

ZMQSocket
ZMQSocket::connect
ZMQSocket


Connect the socket

ZMQSocket::bind
ZMQSocket::__construct
ZMQSocket
PHP Manual

ZMQSocket::connect

(PECL zmq >= 0.5.0)

ZMQSocket::connect — Connect the socket

Descripción

public ZMQSocket ZMQSocket::connect ( string $dsn [, boolean $force = false ] )

Connect the socket to a remote endpoint. The endpoint is defined in format transport://address where transport is one of the following: inproc, ipc, tcp, pgm or epgm.

Parámetros

dsn

The connect dsn, for example transport://address.

force

Tries to connect even if the socket has already been connected to given endpoint.

Ejemplos

Ejemplo #1 A ZMQContext() example

Construct a new context and allocate request socket from it

<?php
/* Server hostname */
$dsn = "tcp://127.0.0.1:5555";

/* Create a socket */
$socket = new ZMQSocket(new ZMQContext(), ZMQ::SOCKET_REQ, 'my socket');

/* Get list of connected endpoints */
$endpoints = $socket->getEndpoints();

/* Check if the socket is connected */
if (!in_array($dsn, $endpoints['connect'])) {
    echo "<p>Connecting to $dsn</p>";
    $socket->connect($dsn);
} else {
    echo "<p>Already connected to $dsn</p>";
}

/* Send and receive */
$socket->send("Hello!");
$message = $socket->recv();

echo "<p>Server said: {$message}</p>";
?>

Valores devueltos

Returns the current object. Throws ZMQSocketException on error.

ZMQSocket::bind
ZMQSocket::__construct
ZMQSocket


Construct a new ZMQSocket

ZMQSocket::connect
ZMQSocket::disconnect
ZMQSocket
PHP Manual

ZMQSocket::__construct

(PECL zmq >= 0.5.0)

ZMQSocket::__construct — Construct a new ZMQSocket

Descripción

ZMQSocket::__construct ( ZMQContext $context , int $type [, string $persistent_id = null [, callback $on_new_socket = null ]] )

Constructs a ZMQSocket object. persistent_id parameter can be used to allocated a persistent socket. A persistent socket has to be allocated from a persistent context and it stays connected over multiple requests. The persistent_id parameter can be used to recall the same socket over multiple requests. The on_new_socket is called only when a new underlying socket structure is created.

Parámetros

context

ZMQContext object.

type

The socket type. See ZMQ::SOCKET_* constants.

persistent_id

If persistent_id is specified the socket will be persisted over multiple requests. If context is not persistent the socket falls back to non-persistent mode.

on_new_socket

Callback function, which is executed when a new socket structure is created. This function does not get invoked if the underlying persistent connection is re-used.

Ejemplos

Ejemplo #1 A ZMQSocket() example

Using callback the bind/connect socket

<?php

/*
  The socket is persistent so this function is called only on the
  first request to the script.
*/
function on_new_socket_cb(ZMQSocket $socket, $persistent_id = null)
{
    if ($persistent_id === 'server') {
        $socket->bind("tcp://localhost:12122");
    } else {
        $socket->connect("tcp://localhost:12122");
    }
}

/* Allocate a new context */
$context = new ZMQContext();

/* Create a new socket */
$socket = $context->getSocket(ZMQ::SOCKET_REP, 'server', 'on_new_socket_cb');

$message = $socket->recv();
echo "Received message: {$message}\n";
?>

The callback signature

Nota:

function on_new_socket_cb(ZMQSocket $socket, string $persistent_id = null);

Valores devueltos

Throws ZMQSocketException on error.

ZMQSocket::connect
ZMQSocket::disconnect
ZMQSocket


Disconnect a socket

ZMQSocket::__construct
ZMQSocket::getEndpoints
ZMQSocket
PHP Manual

ZMQSocket::disconnect

(PECL zmq >= 1.0.4)

ZMQSocket::disconnect — Disconnect a socket

Descripción

public ZMQSocket ZMQSocket::connect ( string $dsn )

Disconnect the socket from a previously connected remote endpoint. The endpoint is defined in format transport://address where transport is one of the following: inproc, ipc, tcp, pgm or epgm.

Parámetros

dsn

The connect dsn, for example transport://address.

Valores devueltos

Returns the current object. Throws ZMQSocketException on error.

ZMQSocket::__construct
ZMQSocket::getEndpoints
ZMQSocket


Get list of endpoints

ZMQSocket::disconnect
ZMQSocket::getPersistentId
ZMQSocket
PHP Manual

ZMQSocket::getEndpoints

(PECL zmq >= 0.5.0)

ZMQSocket::getEndpoints — Get list of endpoints

Descripción

public array ZMQSocket::getEndpoints ( void )

Returns a list of endpoints where the socket is connected or bound to.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns an array containing elements 'bind' and 'connect'.

ZMQSocket::disconnect
ZMQSocket::getPersistentId
ZMQSocket


Get the persistent id

ZMQSocket::getEndpoints
ZMQSocket::getSocketType
ZMQSocket
PHP Manual

ZMQSocket::getPersistentId

(PECL zmq >= 0.5.0)

ZMQSocket::getPersistentId — Get the persistent id

Descripción

public string ZMQSocket::getPersistentId ( void )

Returns the persistent id of the socket.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns the persistent id string assigned of the object and NULL if socket is not persistent.

ZMQSocket::getEndpoints
ZMQSocket::getSocketType
ZMQSocket


Get the socket type

ZMQSocket::getPersistentId
ZMQSocket::getSockOpt
ZMQSocket
PHP Manual

ZMQSocket::getSocketType

(PECL zmq >= 0.5.0)

ZMQSocket::getSocketType — Get the socket type

Descripción

public integer ZMQSocket::getSocketType ( void )

Gets the socket type.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns an integer representing the socket type. The integer can be compared against ZMQ::SOCKET_* constants.

ZMQSocket::getPersistentId
ZMQSocket::getSockOpt
ZMQSocket


Get socket option

ZMQSocket::getSocketType
ZMQSocket::isPersistent
ZMQSocket
PHP Manual

ZMQSocket::getSockOpt

(PECL zmq >= 0.5.0)

ZMQSocket::getSockOpt — Get socket option

Descripción

public mixed ZMQSocket::getSockOpt ( string $key )

Returns the value of a socket option.

Parámetros

key

An integer representing the option. See the ZMQ::SOCKOPT_* constants.

Valores devueltos

Returns either a string or an integer depending on key. Throws ZMQSocketException on error.

ZMQSocket::getSocketType
ZMQSocket::isPersistent
ZMQSocket


Whether the socket is persistent

ZMQSocket::getSockOpt
ZMQSocket::recv
ZMQSocket
PHP Manual

ZMQSocket::isPersistent

(PECL zmq >= 0.5.0)

ZMQSocket::isPersistent — Whether the socket is persistent

Descripción

public boolean ZMQSocket::isPersistent ( void )

Check whether the socket is persistent.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns a boolean based on whether the socket is persistent or not.

ZMQSocket::getSockOpt
ZMQSocket::recv
ZMQSocket


Receives a message

ZMQSocket::isPersistent
ZMQSocket::recvMulti
ZMQSocket
PHP Manual

ZMQSocket::recv

(PECL zmq >= 0.5.0)

ZMQSocket::recv — Receives a message

Descripción

public string ZMQSocket::recv ([ integer $mode = 0 ] )

Receive a message from a socket. By default receiving will block until a message is available unless ZMQ::MODE_NOBLOCK flag is used. ZMQ::SOCKOPT_RCVMORE socket option can be used for receiving multi-part messages. See ZMQSocket::setSockOpt() for more information.

Parámetros

mode

Pass mode flags to receive multipart messages or non-blocking operation. See ZMQ::MODE_* constants.

Ejemplos

Ejemplo #1 A send/recv example

Non-blocking send / receive

<?php

/* Create new queue object, there needs to be a server at the other end */
$queue = new ZMQSocket(new ZMQContext(), ZMQ::SOCKET_REQ);
$queue->connect("tcp://127.0.0.1:5555");

/* Assign socket 1 to the queue, send and receive */
$retries = 5;
$sending = true;

/* Start a loop */
do {
    try {
        /* Try to send / receive */
        if ($sending) {
            echo "Sending message\n";
            $queue->send("This is a message", ZMQ::MODE_NOBLOCK);
            $sending = false;
        } else {
            echo "Got response: " . $queue->recv(ZMQ::MODE_NOBLOCK) . "\n";
            break;
        }
    } catch (ZMQSocketException $e) {
        /* EAGAIN means that the operation would have blocked, retry */
        if ($e->getCode() === ZMQ::ERR_EAGAIN) {
            echo " - Got EAGAIN, retrying ($retries)\n";
        } else {
            die(" - Error: " . $e->getMessage());
        }
    }
    /* Sleep a bit between operations */
    usleep(5);
} while (--$retries);
?>

El resultado del ejemplo sería algo similar a:

Sending message
 - Unable to execute operation, retrying (4)
Got response: This is a message

Valores devueltos

Returns the message. Throws ZMQSocketException in error. If ZMQ::MODE_NOBLOCK is used and the operation would block boolean false shall be returned.

ZMQSocket::isPersistent
ZMQSocket::recvMulti
ZMQSocket


Receives a multipart message

ZMQSocket::recv
ZMQSocket::send
ZMQSocket
PHP Manual

ZMQSocket::recvMulti

(PECL zmq >= 0.8.0)

ZMQSocket::recvMulti — Receives a multipart message

Descripción

public string ZMQSocket::recvMulti ([ integer $mode = 0 ] )

Receive an array multipart message from a socket. By default receiving will block until a message is available unless ZMQ::MODE_NOBLOCK flag is used.

Parámetros

mode

Pass mode flags to receive multipart messages or non-blocking operation. See ZMQ::MODE_* constants.

Valores devueltos

Returns the array of message parts. Throws ZMQSocketException in error. If ZMQ::MODE_NOBLOCK is used and the operation would block boolean false shall be returned.

ZMQSocket::recv
ZMQSocket::send
ZMQSocket


Sends a message

ZMQSocket::recvMulti
ZMQSocket::sendmulti
ZMQSocket
PHP Manual

ZMQSocket::send

(PECL zmq >= 0.5.0)

ZMQSocket::send — Sends a message

Descripción

public ZMQSocket ZMQSocket::send ( string $message [, integer $mode = 0 ] )

Send a message using the socket. The operation can block unless ZMQ::MODE_NOBLOCK is used.

Parámetros

message

The message to send.

mode

Pass mode flags to receive multipart messages or non-blocking operation. See ZMQ::MODE_* constants.

Valores devueltos

Returns the current object. Throws ZMQSocketException on error. If ZMQ::MODE_NOBLOCK is used and the operation would block boolean false shall be returned.

ZMQSocket::recvMulti
ZMQSocket::sendmulti
ZMQSocket


Sends a multipart message

ZMQSocket::send
ZMQSocket::setSockOpt
ZMQSocket
PHP Manual

ZMQSocket::sendmulti

(PECL zmq >= 0.8.0)

ZMQSocket::sendmulti — Sends a multipart message

Descripción

public ZMQSocket ZMQSocket::send ( array $message [, integer $mode = 0 ] )

Send a multipart message using the socket. The operation can block unless ZMQ::MODE_NOBLOCK is used.

Parámetros

message

The message to send - an array of strings

mode

Pass mode flags to receive multipart messages or non-blocking operation. See ZMQ::MODE_* constants.

Valores devueltos

Returns the current object. Throws ZMQSocketException on error. If ZMQ::MODE_NOBLOCK is used and the operation would block boolean false shall be returned.

ZMQSocket::send
ZMQSocket::setSockOpt
ZMQSocket


Set a socket option

ZMQSocket::sendmulti
ZMQSocket::unbind
ZMQSocket
PHP Manual

ZMQSocket::setSockOpt

(PECL zmq >= 0.5.0)

ZMQSocket::setSockOpt — Set a socket option

Descripción

public ZMQSocket ZMQSocket::setSockOpt ( integer $key , mixed $value )

Sets a ZMQ socket option. The type of the value depends on the key. See ZMQ Constant Types for more information.

Parámetros

key

One of the ZMQ::SOCKOPT_* constants.

value

The value of the parameter.

Valores devueltos

Returns the current object. Throws ZMQSocketException on error.

ZMQSocket::sendmulti
ZMQSocket::unbind
ZMQSocket


Unbind the socket

ZMQSocket::setSockOpt
ZMQPoll
ZMQSocket
PHP Manual

ZMQSocket::unbind

(PECL zmq >= 1.0.4)

ZMQSocket::unbind — Unbind the socket

Descripción

public ZMQSocket ZMQSocket::unbind ( string $dsn )

Unbind the socket from an endpoint. The endpoint is defined in format transport://address where transport is one of the following: inproc, ipc, tcp, pgm or epgm.

Parámetros

dsn

The previously bound dsn, for example transport://address.

Valores devueltos

Returns the current object. Throws ZMQSocketException on error.

ZMQSocket::setSockOpt
ZMQPoll
ZMQSocket


The ZMQPoll class

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Sinopsis de la Clase

ZMQPoll {
/* Methods */
public string add ( mixed $entry , integer $type )
public ZMQPoll clear ( void )
public integer count ( void )
public array getLastErrors ( void )
public integer poll ( array &$readable , array &$writable [, integer $timeout = -1 ] )
public boolean remove ( mixed $item )
}

Tabla de contenidos

  • ZMQPoll::add — Add item to the poll set
  • ZMQPoll::clear — Clear the poll set
  • ZMQPoll::count — Count items in the poll set
  • ZMQPoll::getLastErrors — Get poll errors
  • ZMQPoll::poll — Poll the items
  • ZMQPoll::remove — Remove item from poll set
ZMQSocket::unbind
ZMQPoll::add
0MQ messaging


Add item to the poll set

ZMQPoll
ZMQPoll::clear
ZMQPoll
PHP Manual

ZMQPoll::add

(PECL zmq >= 0.5.0)

ZMQPoll::add — Add item to the poll set

Descripción

public string ZMQPoll::add ( mixed $entry , integer $type )

Adds a new item to the poll set and returns the internal id of the added item. The item can be removed from the poll set using the returned string id.

Parámetros

entry

ZMQSocket object or a PHP stream resource

type

Defines what activity the socket is polled for. See ZMQ::POLL_IN and ZMQ::POLL_OUT constants.

Valores devueltos

Returns a string id of the added item which can be later used to remove the item. Throws ZMQPollException on error.

ZMQPoll
ZMQPoll::clear
ZMQPoll


Clear the poll set

ZMQPoll::add
ZMQPoll::count
ZMQPoll
PHP Manual

ZMQPoll::clear

(PECL zmq >= 0.5.0)

ZMQPoll::clear — Clear the poll set

Descripción

public ZMQPoll ZMQPoll::clear ( void )

Clears all elements from the poll set.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns the current object.

ZMQPoll::add
ZMQPoll::count
ZMQPoll


Count items in the poll set

ZMQPoll::clear
ZMQPoll::getLastErrors
ZMQPoll
PHP Manual

ZMQPoll::count

(PECL zmq >= 0.5.0)

ZMQPoll::count — Count items in the poll set

Descripción

public integer ZMQPoll::count ( void )

Count the items in the poll set.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns an integer representing the amount of items in the poll set.

ZMQPoll::clear
ZMQPoll::getLastErrors
ZMQPoll


Get poll errors

ZMQPoll::count
ZMQPoll::poll
ZMQPoll
PHP Manual

ZMQPoll::getLastErrors

(PECL zmq >= 0.5.0)

ZMQPoll::getLastErrors — Get poll errors

Descripción

public array ZMQPoll::getLastErrors ( void )

Returns the ids of the objects that had errors in the last poll.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns an array containing ids for the items that had errors in the last poll. Empty array is returned if there were no errors.

ZMQPoll::count
ZMQPoll::poll
ZMQPoll


Poll the items

ZMQPoll::getLastErrors
ZMQPoll::remove
ZMQPoll
PHP Manual

ZMQPoll::poll

(PECL zmq >= 0.5.0)

ZMQPoll::poll — Poll the items

Descripción

public integer ZMQPoll::poll ( array &$readable , array &$writable [, integer $timeout = -1 ] )

Polls the items in the current poll set. The readable and writable items are returned in the readable and writable parameters. ZMQPoll::getLastErrors() can be used to check if there were errors.

Parámetros

readable

Array where readable ZMQSockets/PHP streams are returned. The array will be cleared at the beginning of the operation.

writable

Array where writable ZMQSockets/PHP streams are returned. The array will be cleared at the beginning of the operation.

timeout

Timeout for the operation. -1 means that poll waits until at least one item has activity. Please note that starting from version 1.0.0 the poll timeout is defined in milliseconds, rather than microseconds.

Ejemplos

Ejemplo #1 A ZMQPoll() example

Create a simple poll server

<?php

/* Create socket, request-reply pattern (reply socket) */
$context = new ZMQContext();
$server  = $context->getSocket(ZMQ::SOCKET_REP);

/* Bind to port 5555 on 127.0.0.1 */
$server->bind("tcp://127.0.0.1:5555");

/* Create new pollset for incoming/outgoing message */
$poll = new ZMQPoll();

/* Add the object and listen for poll in/out */
$id = $poll->add($server, ZMQ::POLL_IN | ZMQ::POLL_OUT);
echo "Added object with id " . $id . "\n";

/* Initialise readable and writable arrays */
$readable = array();
$writable = array();

while (true) {
   /* Amount of events retrieved */
   $events = 0;

   try {
       /* Poll until there is something to do */
       $events = $poll->poll($readable, $writable, -1);
       $errors = $poll->getLastErrors();

       if (count($errors) > 0) {
           foreach ($errors as $error) {
               echo "Error polling object " . $error . "\n";
           }
       }
   } catch (ZMQPollException $e) {
       echo "poll failed: " . $e->getMessage() . "\n";
   }

   if ($events > 0) {
       /* Loop through readable objects and recv messages */
       foreach ($readable as $r) {
           try {
               echo "Received message: " . $r->recv() . "\n";
           } catch (ZMQException $e) {
               echo "recv failed: " . $e->getMessage() . "\n";
           }
       }

       /* Loop through writable and send back messages */
       foreach ($writable as $w) {
           try {
               $w->send("Got it!");
           } catch (ZMQException $e) {
               echo "send failed: " . $e->getMessage() . "\n";
           }
       }
   }
}
?>

Valores devueltos

Returns an integer representing amount of items with activity. Throws ZMQPollException on error.

ZMQPoll::getLastErrors
ZMQPoll::remove
ZMQPoll


Remove item from poll set

ZMQPoll::poll
ZMQDevice
ZMQPoll
PHP Manual

ZMQPoll::remove

(PECL zmq >= 0.5.0)

ZMQPoll::remove — Remove item from poll set

Descripción

public boolean ZMQPoll::remove ( mixed $item )

Remove item from the poll set. The item parameter can be ZMQSocket object, a stream resource or the id returned from ZMQPoll::add() method.

Parámetros

item

The ZMQSocket object, PHP stream or string id of the item.

Valores devueltos

Returns true if the item was removed and false if the object with given id does not exist in the poll set.

ZMQPoll::poll
ZMQDevice
ZMQPoll


The ZMQDevice class

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Sinopsis de la Clase

ZMQDevice {
/* Methods */
__construct ( ZMQSocket $frontend , ZMQSocket $backend [, ZMQSocket $listener ] )
public ZMQDevice getIdleTimeout ( void )
public ZMQDevice getTimerTimeout ( void )
public void run ( void )
public ZMQDevice setIdleCallback ( callable $cb_func , integer $timeout [, mixed $user_data ] )
public ZMQDevice setIdleTimeout ( integer $timeout )
public ZMQDevice setTimerCallback ( callable $cb_func , integer $timeout [, mixed $user_data ] )
public ZMQDevice setTimerTimeout ( integer $timeout )
}

Tabla de contenidos

  • ZMQDevice::__construct — Construct a new device
  • ZMQDevice::getIdleTimeout — Get the idle timeout
  • ZMQDevice::getTimerTimeout — Get the timer timeout
  • ZMQDevice::run — Run the new device
  • ZMQDevice::setIdleCallback — Set the idle callback function
  • ZMQDevice::setIdleTimeout — Set the idle timeout
  • ZMQDevice::setTimerCallback — Set the timer callback function
  • ZMQDevice::setTimerTimeout — Set the timer timeout
ZMQPoll::remove
ZMQDevice::__construct
0MQ messaging


Construct a new device

ZMQDevice
ZMQDevice::getIdleTimeout
ZMQDevice
PHP Manual

ZMQDevice::__construct

(PECL zmq >= 0.5.0)

ZMQDevice::__construct — Construct a new device

Descripción

ZMQDevice::__construct ( ZMQSocket $frontend , ZMQSocket $backend [, ZMQSocket $listener ] )

"ØMQ devices can do intermediation of addresses, services, queues, or any other abstraction you care to define above the message and socket layers." -- zguide

Parámetros

frontend

Frontend parameter for the devices. Usually where there messages are coming.

backend

Backend parameter for the devices. Usually where there messages going to.

listener

Listener socket, which receives a copy of all messages going both directions. The type of this socket should be SUB, PULL or DEALER.

Valores devueltos

Call to this method will prepare the device. Usually devices are very long running processes so running this method from interactive script is not recommended. This method throw ZMQDeviceException if the device cannot be started.

ZMQDevice
ZMQDevice::getIdleTimeout
ZMQDevice


Get the idle timeout

ZMQDevice::__construct
ZMQDevice::getTimerTimeout
ZMQDevice
PHP Manual

ZMQDevice::getIdleTimeout

(No hay información de versión disponible, podría estar únicamente en SVN)

ZMQDevice::getIdleTimeout — Get the idle timeout

Descripción

public ZMQDevice ZMQDevice::getIdleTimeout ( void )

Gets the idle callback timeout value. Added in ZMQ extension version 1.1.0.

Valores devueltos

This method returns the idle callback timeout value.

ZMQDevice::__construct
ZMQDevice::getTimerTimeout
ZMQDevice


Get the timer timeout

ZMQDevice::getIdleTimeout
ZMQDevice::run
ZMQDevice
PHP Manual

ZMQDevice::getTimerTimeout

(No hay información de versión disponible, podría estar únicamente en SVN)

ZMQDevice::getTimerTimeout — Get the timer timeout

Descripción

public ZMQDevice ZMQDevice::getTimerTimeout ( void )

Gets the timer callback timeout value. Added in ZMQ extension version 1.1.0.

Valores devueltos

This method returns the timer timeout value.

ZMQDevice::getIdleTimeout
ZMQDevice::run
ZMQDevice


Run the new device

ZMQDevice::getTimerTimeout
ZMQDevice::setIdleCallback
ZMQDevice
PHP Manual

ZMQDevice::run

(No hay información de versión disponible, podría estar únicamente en SVN)

ZMQDevice::run — Run the new device

Descripción

public void ZMQDevice::run ( void )

Runs the device.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Call to this method will block until the device is running. It is not recommended that devices are used from interactive scripts. On failure this method will throw ZMQDeviceException.

ZMQDevice::getTimerTimeout
ZMQDevice::setIdleCallback
ZMQDevice


Set the idle callback function

ZMQDevice::run
ZMQDevice::setIdleTimeout
ZMQDevice
PHP Manual

ZMQDevice::setIdleCallback

(No hay información de versión disponible, podría estar únicamente en SVN)

ZMQDevice::setIdleCallback — Set the idle callback function

Descripción

public ZMQDevice ZMQDevice::setIdleCallback ( callable $cb_func , integer $timeout [, mixed $user_data ] )

Sets the idle callback function. If idle timeout is defined the idle callback function shall be called if the internal poll loop times out without events. If the callback function returns false or a value that evaluates to false the device is stopped. The callback function signature is callback (mixed $user_data).

Parámetros

cb_func

Callback function to invoke when the device is idle. Returning false or a value that evaluates to false from this function will cause the device to stop.

timeout

How often to invoke the idle callback in milliseconds. The idle callback is invoked periodically when there is no activity on the device. The timeout value guarantees that there is at least this amount of milliseconds between invocations of the callback function.

user_data

Additional data to pass to the callback function.

Valores devueltos

On success this method returns the current object.

ZMQDevice::run
ZMQDevice::setIdleTimeout
ZMQDevice


Set the idle timeout

ZMQDevice::setIdleCallback
ZMQDevice::setTimerCallback
ZMQDevice
PHP Manual

ZMQDevice::setIdleTimeout

(No hay información de versión disponible, podría estar únicamente en SVN)

ZMQDevice::setIdleTimeout — Set the idle timeout

Descripción

public ZMQDevice ZMQDevice::setIdleTimeout ( integer $timeout )

Sets the idle callback timeout value. The idle callback is invoked periodically when the device is idle.

Parámetros

timeout

The idle callback timeout value.

Valores devueltos

On success this method returns the current object.

ZMQDevice::setIdleCallback
ZMQDevice::setTimerCallback
ZMQDevice


Set the timer callback function

ZMQDevice::setIdleTimeout
ZMQDevice::setTimerTimeout
ZMQDevice
PHP Manual

ZMQDevice::setTimerCallback

(No hay información de versión disponible, podría estar únicamente en SVN)

ZMQDevice::setTimerCallback — Set the timer callback function

Descripción

public ZMQDevice ZMQDevice::setTimerCallback ( callable $cb_func , integer $timeout [, mixed $user_data ] )

Sets the timer callback function. The timer callback will be invoked after timeout has passed. The difference between idle and timer callbacks are that idle callback is invoked only when the device is idle. The callback function signature is callback (mixed $user_data). Added in ZMQ extension version 1.1.0.

Parámetros

cb_func

Callback function to invoke when the device is idle. Returning false or a value that evaluates to false from this function will cause the device to stop.

timeout

How often to invoke the idle callback in milliseconds. The idle callback is invoked periodically when there is no activity on the device. The timeout value guarantees that there is at least this amount of milliseconds between invocations of the callback function.

user_data

Additional data to pass to the callback function.

Valores devueltos

On success this method returns the current object.

ZMQDevice::setIdleTimeout
ZMQDevice::setTimerTimeout
ZMQDevice


Set the timer timeout

ZMQDevice::setTimerCallback
Extensiones para motores de búsqueda
ZMQDevice
PHP Manual

ZMQDevice::setTimerTimeout

(No hay información de versión disponible, podría estar únicamente en SVN)

ZMQDevice::setTimerTimeout — Set the timer timeout

Descripción

public ZMQDevice ZMQDevice::setTimerTimeout ( integer $timeout )

Sets the timer callback timeout value. The timer callback is invoked periodically if it's set. Added in ZMQ extension version 1.1.0.

Parámetros

timeout

The timer callback timeout value.

Valores devueltos

On success this method returns the current object.

ZMQDevice::setTimerCallback
Extensiones para motores de búsqueda
ZMQDevice


Extensiones para motores de búsqueda

  • mnoGoSearch
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • mnoGoSearch Funciones
  • Solr — Apache Solr
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de Solr
    • Ejemplos
    • SolrUtils — La clase SolrUtils
    • SolrInputDocument — La clase SolrInputDocument
    • SolrDocument — La clase SolrDocument
    • SolrDocumentField — La clase SolrDocumentField
    • SolrObject — La clase SolrObject
    • SolrClient — La clase SolrClient
    • SolrResponse — La clase SolrResponse
    • SolrQueryResponse — La clase SolrQueryResponse
    • SolrUpdateResponse — La clase SolrUpdateResponse
    • SolrPingResponse — La clase SolrPingResponse
    • SolrGenericResponse — La clase SolrGenericResponse
    • SolrParams — La clase SolrParams
    • SolrModifiableParams — La clase SolrModifiableParams
    • SolrQuery — La clase SolrQuery
    • SolrException — La clase SolrException
    • SolrClientException — La clase SolrClientException
    • SolrIllegalArgumentException — La clase SolrIllegalArgumentException
    • SolrIllegalOperationException — La clase SolrIllegalOperationException
  • Sphinx — Cliente Sphinx
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • SphinxClient — Clase SphinxClient
  • Swish — Indexación Swish
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones Swish
ZMQDevice::setTimerTimeout
mnoGoSearch
Referencia de funciones


mnoGoSearch

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • mnoGoSearch Funciones
    • udm_add_search_limit — Add various search limits
    • udm_alloc_agent_array — Allocate mnoGoSearch session
    • udm_alloc_agent — Allocate mnoGoSearch session
    • udm_api_version — Get mnoGoSearch API version
    • udm_cat_list — Get all the categories on the same level with the current one
    • udm_cat_path — Get the path to the current category
    • udm_check_charset — Check if the given charset is known to mnogosearch
    • udm_check_stored — Check connection to stored
    • udm_clear_search_limits — Clear all mnoGoSearch search restrictions
    • udm_close_stored — Close connection to stored
    • udm_crc32 — Devuelve el CRC32 checksum del string dado
    • udm_errno — Get mnoGoSearch error number
    • udm_error — Get mnoGoSearch error message
    • udm_find — Perform search
    • udm_free_agent — Liberar sesión mnoGoSearch
    • udm_free_ispell_data — Free memory allocated for ispell data
    • udm_free_res — Libera result mnoGoSearch
    • udm_get_doc_count — Obtener el número total de documentos en la base de datos
    • udm_get_res_field — Fetch a result field
    • udm_get_res_param — Get mnoGoSearch result parameters
    • udm_hash32 — Devuelve el Hash32 checksum del string dado
    • udm_load_ispell_data — Load ispell data
    • udm_open_stored — Conexión abierta a guardar
    • udm_set_agent_param — Set mnoGoSearch agent session parameters
Extensiones para motores de búsqueda
Introducción
Extensiones para motores de búsqueda


Introducción

Estas funciones permiten acceder al motor de búsqueda libre de mnoGoSearch (ex UdmSearch). mnoGoSearch es un software de motor de búsqueda completa para servidores de intranet e internet, distribuido bajo la licencia GNU. mnoGoSearch tiene un número de características únicas, que son adecuadas para una amplia gama de aplicaciones de búsqueda dentro del sitio a un sistema de búsqueda especializados como recetas de cocina o búsqueda de periódico, búsqueda de archivo FTP, búsqueda de artículos de noticias. Ofrece indexación de texto completo y búsqueda de documentos de texto, HTML y PDF. mnoGoSearch consta de dos partes. El primero es un mecanismo de indexación (indizador). El propósito del indizador es caminar a través de HTTP, FTP, servidores de noticias o archivos locales, recursivamente agarrar todos los documentos y almacenar metadatos sobre documentos en base de datos SQL de manera inteligente y eficaz. Después de cada documento se hace referencia en su URL correspondiente, los metadatos son recogidos por el indizador para su uso posterior en un proceso de búsqueda. La búsqueda se realiza a través de interfaz Web. Búsquedas frontales C, CGI, PHP y Perl están incluidas.

Puede encontrar más información sobre mnoGoSearch en » http://www.mnogosearch.org/.

Nota:

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.1.0.

Nota: Esta extensión no está disponible en plataformas Windows.

mnoGoSearch
Instalación/Configuración
mnoGoSearch


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
mnoGoSearch


Requerimientos

Descargar mnoGosearch de » http://www.mnogosearch.org/ e instalarlo en su sistema. Necesita al menos la versión 3.1.10 de mnoGoSearch instalado para utilizar estas funciones.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/mnogosearch.

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.1.0

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Nota:

PHP contiene biblioteca incorporada de acceso de MySQL, que puede utilizarse para acceder a MySQL. Se sabe que mnoGoSearch no es compatible con esta biblioteca incorporada y puede trabajar con bibliotecas de MySQL genéricas. Por lo tanto, si utilizas mnoGoSearch con MySQL, durante la configuración de PHP, se tiene que indicar el directorio de la instalación de MySQL, que se utilizó durante la configuración de mnoGoSearch, por ejemplo: --with-mnogosearch --with-mysql=/usr .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

UDM_FIELD_URLID (integer)
UDM_FIELD_URL (integer)
UDM_FIELD_CONTENT (integer)
UDM_FIELD_TITLE (integer)
UDM_FIELD_KEYWORDS (integer)
UDM_FIELD_DESC (integer)
UDM_FIELD_DESCRIPTION (integer)
UDM_FIELD_TEXT (integer)
UDM_FIELD_SIZE (integer)
UDM_FIELD_RATING (integer)
UDM_FIELD_SCORE (integer)
UDM_FIELD_MODIFIED (integer)
UDM_FIELD_ORDER (integer)
UDM_FIELD_CRC (integer)
UDM_FIELD_CATEGORY (integer)
UDM_FIELD_LANG (integer)
UDM_FIELD_CHARSET (integer)
UDM_PARAM_PAGE_SIZE (integer)
UDM_PARAM_PAGE_NUM (integer)
UDM_PARAM_SEARCH_MODE (integer)
UDM_PARAM_CACHE_MODE (integer)
UDM_PARAM_TRACK_MODE (integer)
UDM_PARAM_PHRASE_MODE (integer)
UDM_PARAM_CHARSET (integer)
UDM_PARAM_LOCAL_CHARSET (integer)
UDM_PARAM_BROWSER_CHARSET (integer)
UDM_PARAM_STOPTABLE (integer)
UDM_PARAM_STOP_TABLE (integer)
UDM_PARAM_STOPFILE (integer)
UDM_PARAM_STOP_FILE (integer)
UDM_PARAM_WEIGHT_FACTOR (integer)
UDM_PARAM_WORD_MATCH (integer)
UDM_PARAM_MAX_WORD_LEN (integer)
UDM_PARAM_MAX_WORDLEN (integer)
UDM_PARAM_MIN_WORD_LEN (integer)
UDM_PARAM_MIN_WORDLEN (integer)
UDM_PARAM_ISPELL_PREFIXES (integer)
UDM_PARAM_ISPELL_PREFIX (integer)
UDM_PARAM_PREFIXES (integer)
UDM_PARAM_PREFIX (integer)
UDM_PARAM_CROSS_WORDS (integer)
UDM_PARAM_CROSSWORDS (integer)
UDM_PARAM_VARDIR (integer)
UDM_PARAM_DATADIR (integer)
UDM_PARAM_HLBEG (integer)
UDM_PARAM_HLEND (integer)
UDM_PARAM_SYNONYM (integer)
UDM_PARAM_SEARCHD (integer)
UDM_PARAM_QSTRING (integer)
UDM_PARAM_REMOTE_ADDR (integer)
UDM_LIMIT_CAT (integer)
UDM_LIMIT_URL (integer)
UDM_LIMIT_TAG (integer)
UDM_LIMIT_LANG (integer)
UDM_LIMIT_DATE (integer)
UDM_PARAM_FOUND (integer)
UDM_PARAM_NUM_ROWS (integer)
UDM_PARAM_WORDINFO (integer)
UDM_PARAM_WORD_INFO (integer)
UDM_PARAM_SEARCHTIME (integer)
UDM_PARAM_SEARCH_TIME (integer)
UDM_PARAM_FIRST_DOC (integer)
UDM_PARAM_LAST_DOC (integer)
UDM_MODE_ALL (integer)
UDM_MODE_ANY (integer)
UDM_MODE_BOOL (integer)
UDM_MODE_PHRASE (integer)
UDM_CACHE_ENABLED (integer)
UDM_CACHE_DISABLED (integer)
UDM_TRACK_ENABLED (integer)
UDM_TRACK_DISABLED (integer)
UDM_PHRASE_ENABLED (integer)
UDM_PHRASE_DISABLED (integer)
UDM_CROSS_WORDS_ENABLED (integer)
UDM_CROSSWORDS_ENABLED (integer)
UDM_CROSS_WORDS_DISABLED (integer)
UDM_CROSSWORDS_DISABLED (integer)
UDM_PREFIXES_ENABLED (integer)
UDM_PREFIX_ENABLED (integer)
UDM_ISPELL_PREFIXES_ENABLED (integer)
UDM_ISPELL_PREFIX_ENABLED (integer)
UDM_PREFIXES_DISABLED (integer)
UDM_PREFIX_DISABLED (integer)
UDM_ISPELL_PREFIXES_DISABLED (integer)
UDM_ISPELL_PREFIX_DISABLED (integer)
UDM_ISPELL_TYPE_AFFIX (integer)
UDM_ISPELL_TYPE_SPELL (integer)
UDM_ISPELL_TYPE_DB (integer)
UDM_ISPELL_TYPE_SERVER (integer)
UDM_MATCH_WORD (integer)
UDM_MATCH_BEGIN (integer)
UDM_MATCH_SUBSTR (integer)
UDM_MATCH_END (integer)
Tipos de recursos
mnoGoSearch Funciones
mnoGoSearch


mnoGoSearch Funciones

Tabla de contenidos

  • udm_add_search_limit — Add various search limits
  • udm_alloc_agent_array — Allocate mnoGoSearch session
  • udm_alloc_agent — Allocate mnoGoSearch session
  • udm_api_version — Get mnoGoSearch API version
  • udm_cat_list — Get all the categories on the same level with the current one
  • udm_cat_path — Get the path to the current category
  • udm_check_charset — Check if the given charset is known to mnogosearch
  • udm_check_stored — Check connection to stored
  • udm_clear_search_limits — Clear all mnoGoSearch search restrictions
  • udm_close_stored — Close connection to stored
  • udm_crc32 — Devuelve el CRC32 checksum del string dado
  • udm_errno — Get mnoGoSearch error number
  • udm_error — Get mnoGoSearch error message
  • udm_find — Perform search
  • udm_free_agent — Liberar sesión mnoGoSearch
  • udm_free_ispell_data — Free memory allocated for ispell data
  • udm_free_res — Libera result mnoGoSearch
  • udm_get_doc_count — Obtener el número total de documentos en la base de datos
  • udm_get_res_field — Fetch a result field
  • udm_get_res_param — Get mnoGoSearch result parameters
  • udm_hash32 — Devuelve el Hash32 checksum del string dado
  • udm_load_ispell_data — Load ispell data
  • udm_open_stored — Conexión abierta a guardar
  • udm_set_agent_param — Set mnoGoSearch agent session parameters
Constantes predefinidas
udm_add_search_limit
mnoGoSearch


Add various search limits

mnoGoSearch Funciones
udm_alloc_agent_array
mnoGoSearch Funciones
PHP Manual

udm_add_search_limit

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_add_search_limit — Add various search limits

Descripción

bool udm_add_search_limit ( resource $agent , int $var , string $val )

udm_add_search_limit() adds search restrictions.

Parámetros

agent

A link to Agent, received after call to udm_alloc_agent().

var

Defines the parameter, indicating limits. Possible var values:

  • UDM_LIMIT_URL - defines document URL limitations to limit the search through subsection of the database. It supports SQL % and _ LIKE wildcards, where % matches any number of characters, even zero characters, and _ matches exactly one character. E.g. http://www.example.___/catalog may stand for http://www.example.com/catalog and http://www.example.net/catalog.
  • UDM_LIMIT_TAG - defines site TAG limitations. In indexer-conf you can assign specific TAGs to various sites and parts of a site. Tags in mnoGoSearch 3.1.x are lines, that may contain metasymbols % and _. Metasymbols allow searching among groups of tags. E.g. there are links with tags ABCD and ABCE, and search restriction is by ABC_ - the search will be made among both of the tags.
  • UDM_LIMIT_LANG - defines document language limitations.
  • UDM_LIMIT_CAT - defines document category limitations. Categories are similar to tag feature, but nested. So you can have one category inside another and so on. You have to use two characters for each level. Use a hex number going from 0-F or a 36 base number going from 0-Z. Therefore a top-level category like 'Auto' would be 01. If it has a subcategory like 'Ford', then it would be 01 (the parent category) and then 'Ford' which we will give 01. Put those together and you get 0101. If 'Auto' had another subcategory named 'VW', then it's id would be 01 because it belongs to the 'Ford' category and then 02 because it's the next category. So it's id would be 0102. If VW had a sub category called 'Engine' then it's id would start at 01 again and it would get the 'VW' id 02 and 'Auto' id of 01, making it 010201. If you want to search for sites under that category then you pass it cat=010201 in the URL.

  • UDM_LIMIT_DATE - defines limitation by date the document was modified.

    Format of parameter value: a string with first character < or >, then with no space - date in unixtime format, for example:

    <?php
    udm_add_search_limit    ($udm, UDM_LIMIT_DATE, "&lt;908012006");
    ?>

    If > character is used, then the search will be restricted to those documents having a modification date greater than entered, if <, then smaller.

val

Defines the value of the current parameter.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

mnoGoSearch Funciones
udm_alloc_agent_array
mnoGoSearch Funciones


Allocate mnoGoSearch session

udm_add_search_limit
udm_alloc_agent
mnoGoSearch Funciones
PHP Manual

udm_alloc_agent_array

(PHP 4 >= 4.3.3, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_alloc_agent_array — Allocate mnoGoSearch session

Descripción

resource udm_alloc_agent_array ( array $databases )

udm_alloc_agent_array() will create an agent with multiple database connections.

Parámetros

databases

The array databases must contain one database URL per element, analog to the first parameter of udm_alloc_agent().

Valores devueltos

Returns a resource link identifier on success o FALSE en caso de error.

Ver también

  • udm_alloc_agent() - Allocate mnoGoSearch session

udm_add_search_limit
udm_alloc_agent
mnoGoSearch Funciones


Allocate mnoGoSearch session

udm_alloc_agent_array
udm_api_version
mnoGoSearch Funciones
PHP Manual

udm_alloc_agent

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_alloc_agent — Allocate mnoGoSearch session

Descripción

resource udm_alloc_agent ( string $dbaddr [, string $dbmode ] )

Allocate a mnoGoSearch session.

Parámetros

dbaddr

dbaddr - URL-style database description, with options (type, host, database name, port, user and password) to connect to SQL database. Do not matter for built-in text files support. Format for dbaddr: DBType:[//[DBUser[:DBPass]@]DBHost[:DBPort]]/DBName/. Currently supported DBType values are: mysql, pgsql, msql, solid, mssql, oracle, and ibase. Actually, it does not matter for native libraries support, but ODBC users should specify one of the supported values. If your database type is not supported, you may use unknown instead.

dbmode

dbmode - You may select the SQL database mode of words storage. Possible values of dbmode are: single, multi, crc, or crc-multi. When single is specified, all words are stored in the same table. If multi is selected, words will be located in different tables depending of their lengths. "multi" mode is usually faster, but requires more tables in the database. If "crc" mode is selected, mnoGoSearch will store 32 bit integer word IDs calculated by CRC32 algorithm instead of words. This mode requires less disk space and it is faster comparing with "single" and "multi" modes. crc-multi uses the same storage structure with the "crc" mode, but also stores words in different tables depending on words lengths like in "multi" mode.

Nota:

dbaddr and dbmode must match those used during indexing.

Valores devueltos

Returns a mnogosearch agent identifier on success, FALSE on failure. This function creates a session with database parameters.

Notas

Nota:

In fact this function does not open a connection to the database and thus does not check the entered login and password. Establishing a connection to the database and login/password verification is done by udm_find().

udm_alloc_agent_array
udm_api_version
mnoGoSearch Funciones


Get mnoGoSearch API version

udm_alloc_agent
udm_cat_list
mnoGoSearch Funciones
PHP Manual

udm_api_version

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_api_version — Get mnoGoSearch API version

Descripción

int udm_api_version ( void )

Gets the mnoGoSearch API version.

This function allows the user to identify which API functions are available, e.g. udm_get_doc_count() function is only available in mnoGoSearch 3.1.11 or later.

Valores devueltos

udm_api_version() returns the mnoGoSearch API version number. E.g. if mnoGoSearch 3.1.10 API is used, this function will return 30110.

Ejemplos

Ejemplo #1 udm_api_version() example

<?php
if (udm_api_version() >= 30111) {
    echo  "Total number of URLs in database: " . udm_get_doc_count($udm) . "<br />\n";
}
?>

udm_alloc_agent
udm_cat_list
mnoGoSearch Funciones


Get all the categories on the same level with the current one

udm_api_version
udm_cat_path
mnoGoSearch Funciones
PHP Manual

udm_cat_list

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_cat_list — Get all the categories on the same level with the current one

Descripción

array udm_cat_list ( resource $agent , string $category )

Gets all the categories on the same level with the current one.

The function can be useful for developing categories tree browser.

Parámetros

agent

A link to Agent, received after call to udm_alloc_agent().

category

Valores devueltos

Returns an array listing all categories of the same level as the current category in the categories tree.

The returned array consists of pairs. Elements with even index numbers contain the category paths, odd elements contain the corresponding category names.

$array[0] will contain '020300'
  $array[1] will contain 'Audi'
  $array[2] will contain '020301'
  $array[3] will contain 'BMW'
  $array[4] will contain '020302'
  $array[5] will contain 'Opel'
  ...
 etc.

Ejemplos

Following is an example of displaying links of the current level in format:

Audi
  BMW
  Opel
  ...

Ejemplo #1 udm_cat_list()example

<?php
 $cat_list_arr = udm_cat_list($udm_agent, $cat);
 $cat_list = '';
 for ($i=0; $i<count($cat_list_arr); $i+=2) {
    $path = $cat_list_arr[$i];
    $name = $cat_list_arr[$i+1];
    $cat_list .= "<a href=\"$_SERVER[PHP_SELF]?cat=$path\">$name</a><br />";
 }
?>

Ver también

  • udm_cat_path() - Get the path to the current category

udm_api_version
udm_cat_path
mnoGoSearch Funciones


Get the path to the current category

udm_cat_list
udm_check_charset
mnoGoSearch Funciones
PHP Manual

udm_cat_path

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_cat_path — Get the path to the current category

Descripción

array udm_cat_path ( resource $agent , string $category )

Returns an array describing the path in the categories tree from the tree root to the current one, specified by category.

Parámetros

agent

A link to Agent, received after call to udm_alloc_agent().

category

Valores devueltos

The returned array consists of pairs. Elements with even index numbers contain the category paths, odd elements contain the corresponding category names.

For example, the call $array=udm_cat_path($agent, '02031D'); may return the following array:

 $array[0] will contain ''
 $array[1] will contain 'Root'
 $array[2] will contain '02'
 $array[3] will contain 'Sport'
 $array[4] will contain '0203'
 $array[5] will contain 'Auto'
 $array[4] will contain '02031D'
 $array[5] will contain 'Ferrari'

Ejemplos

Ejemplo #1 Specifying path to the current category in the following format: '> Root > Sport > Auto > Ferrari'

<?php
  $cat_path_arr = udm_cat_path($udm_agent, $cat);
  $cat_path = '';
  for ($i=0; $i<count($cat_path_arr); $i+=2) {
    $path = $cat_path_arr[$i];
    $name = $cat_path_arr[$i+1];
    $cat_path .= " > <a href=\"$_SERVER[PHP_SELF]?cat=$path\">$name</a> ";
  }
?>

Ver también

  • udm_cat_list() - Get all the categories on the same level with the current one

udm_cat_list
udm_check_charset
mnoGoSearch Funciones


Check if the given charset is known to mnogosearch

udm_cat_path
udm_check_stored
mnoGoSearch Funciones
PHP Manual

udm_check_charset

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_check_charset — Check if the given charset is known to mnogosearch

Descripción

bool udm_check_charset ( resource $agent , string $charset )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

udm_cat_path
udm_check_stored
mnoGoSearch Funciones


Check connection to stored

udm_check_charset
udm_clear_search_limits
mnoGoSearch Funciones
PHP Manual

udm_check_stored

(PHP 4 >= 4.2.0)

udm_check_stored — Check connection to stored

Descripción

int udm_check_stored ( resource $agent , int $link , string $doc_id )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

udm_check_charset
udm_clear_search_limits
mnoGoSearch Funciones


Clear all mnoGoSearch search restrictions

udm_check_stored
udm_close_stored
mnoGoSearch Funciones
PHP Manual

udm_clear_search_limits

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_clear_search_limits — Clear all mnoGoSearch search restrictions

Descripción

bool udm_clear_search_limits ( resource $agent )

udm_clear_search_limits() resets defined search limitations.

Parámetros

agent

A link to Agent, received after call to udm_alloc_agent().

Valores devueltos

Returns TRUE.

Ver también

  • udm_add_search_limit() - Add various search limits

udm_check_stored
udm_close_stored
mnoGoSearch Funciones


Close connection to stored

udm_clear_search_limits
udm_crc32
mnoGoSearch Funciones
PHP Manual

udm_close_stored

(PHP 4 >= 4.2.0)

udm_close_stored — Close connection to stored

Descripción

int udm_close_stored ( resource $agent , int $link )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

udm_clear_search_limits
udm_crc32
mnoGoSearch Funciones


Devuelve el CRC32 checksum del string dado

udm_close_stored
udm_errno
mnoGoSearch Funciones
PHP Manual

udm_crc32

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_crc32 — Devuelve el CRC32 checksum del string dado

Descripción

int udm_crc32 ( resource $agent , string $str )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

udm_close_stored
udm_errno
mnoGoSearch Funciones


Get mnoGoSearch error number

udm_crc32
udm_error
mnoGoSearch Funciones
PHP Manual

udm_errno

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_errno — Get mnoGoSearch error number

Descripción

int udm_errno ( resource $agent )

Receiving numeric agent error code.

Parámetros

agent

A link to Agent, received after call to udm_alloc_agent().

Valores devueltos

Returns the mnoGoSearch error number, zero if no error.

udm_crc32
udm_error
mnoGoSearch Funciones


Get mnoGoSearch error message

udm_errno
udm_find
mnoGoSearch Funciones
PHP Manual

udm_error

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_error — Get mnoGoSearch error message

Descripción

string udm_error ( resource $agent )

Gets the agent error message.

Parámetros

agent

A link to Agent, received after call to udm_alloc_agent().

Valores devueltos

udm_error() returns mnoGoSearch error message, empty string if no error.

udm_errno
udm_find
mnoGoSearch Funciones


Perform search

udm_error
udm_free_agent
mnoGoSearch Funciones
PHP Manual

udm_find

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_find — Perform search

Descripción

resource udm_find ( resource $agent , string $query )

Performs a search.

The search itself. The first argument - session, the next one - query itself. To find something just type words you want to find and press SUBMIT button. For example, "mysql odbc". You should not use quotes " in query, they are written here only to divide a query from other text. mnoGoSearch will find all documents that contain word "mysql" and/or word "odbc". Best documents having bigger weights will be displayed first. If you use search mode ALL, search will return documents that contain both (or more) words you entered. In case you use mode ANY, the search will return list of documents that contain any of the words you entered. If you want more advanced results you may use query language. You should select "bool" match mode in the search from.

Parámetros

agent

A link to Agent, received after call to udm_alloc_agent().

query

mnoGoSearch understands the following boolean operators:

& - logical AND. For example, "mysql & odbc". mnoGoSearch will find any URLs that contain both "mysql" and "odbc".

| - logical OR. For example "mysql|odbc". mnoGoSearch will find any URLs, that contain word "mysql" or word "odbc".

~ - logical NOT. For example "mysql & ~odbc". mnoGoSearch will find URLs that contain word "mysql" and do not contain word "odbc" at the same time. Note that ~ just excludes given word from results. Query "~odbc" will find nothing!

() - group command to compose more complex queries. For example "(mysql | msql) & ~postgres". Query language is simple and powerful at the same time. Just consider query as usual boolean expression.

Valores devueltos

Returns a result link identifier on success o FALSE en caso de error.

udm_error
udm_free_agent
mnoGoSearch Funciones


Liberar sesión mnoGoSearch

udm_find
udm_free_ispell_data
mnoGoSearch Funciones
PHP Manual

udm_free_agent

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_free_agent — Liberar sesión mnoGoSearch

Descripción

int udm_free_agent ( resource $agent )

Liberación de memoria asignada para la sesión de agente.

Parámetros

agent

Un enlace al agente, recibido después de llamar a udm_alloc_agent().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

udm_find
udm_free_ispell_data
mnoGoSearch Funciones


Free memory allocated for ispell data

udm_free_agent
udm_free_res
mnoGoSearch Funciones
PHP Manual

udm_free_ispell_data

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_free_ispell_data — Free memory allocated for ispell data

Descripción

bool udm_free_ispell_data ( int $agent )

Frees the memory allocated for ispell data.

Parámetros

agent

A link to Agent, received after call to udm_alloc_agent().

Valores devueltos

udm_free_ispell_data() always returns TRUE.

Notas

Nota:

This function is supported beginning from version 3.1.12 of mnoGoSearch and it does not do anything in previous versions.

udm_free_agent
udm_free_res
mnoGoSearch Funciones


Libera result mnoGoSearch

udm_free_ispell_data
udm_get_doc_count
mnoGoSearch Funciones
PHP Manual

udm_free_res

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_free_res — Libera result mnoGoSearch

Descripción

bool udm_free_res ( resource $res )

Liberación de memoria asignada para obtener resultados.

Parámetros

res

Un enlace a un identificador de resultado, recibido después de llamar a udm_find().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

udm_free_ispell_data
udm_get_doc_count
mnoGoSearch Funciones


Obtener el número total de documentos en la base de datos

udm_free_res
udm_get_res_field
mnoGoSearch Funciones
PHP Manual

udm_get_doc_count

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_get_doc_count — Obtener el número total de documentos en la base de datos

Descripción

int udm_get_doc_count ( resource $agent )

udm_get_doc_count() devuelve el número de documentos en la base de datos.

Parámetros

agent

Un enlace a Agent, recibido después de llamar a udm_alloc_agent().

Valores devueltos

Devuelve el número de documentos.

Notas

Nota:

Esta función es soportada sólo en mnoGoSearch 3.1.11 o posterior.

udm_free_res
udm_get_res_field
mnoGoSearch Funciones


Fetch a result field

udm_get_doc_count
udm_get_res_param
mnoGoSearch Funciones
PHP Manual

udm_get_res_field

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_get_res_field — Fetch a result field

Descripción

string udm_get_res_field ( resource $res , int $row , int $field )

Fetch a mnoGoSearch result field.

Parámetros

res

res - a link to result identifier, received after call to udm_find().

row

row - the number of the link on the current page. May have values from 0 to UDM_PARAM_NUM_ROWS-1.

field

field - field identifier, may have the following values:

  • UDM_FIELD_URL - document URL field
  • UDM_FIELD_CONTENT - document Content-type field (for example, text/html).
  • UDM_FIELD_CATEGORY - document category field. Use udm_cat_path() to get full path to current category from the categories tree root. (This parameter is available only in PHP 4.0.6 or later).
  • UDM_FIELD_TITLE - document title field.
  • UDM_FIELD_KEYWORDS - document keywords field (from META KEYWORDS tag).
  • UDM_FIELD_DESC - document description field (from META DESCRIPTION tag).
  • UDM_FIELD_TEXT - document body text (the first couple of lines to give an idea of what the document is about).
  • UDM_FIELD_SIZE - document size.
  • UDM_FIELD_URLID - unique URL ID of the link.
  • UDM_FIELD_RATING - page rating (as calculated by mnoGoSearch).
  • UDM_FIELD_MODIFIED - last-modified field in unixtime format.
  • UDM_FIELD_ORDER - the number of the current document in set of found documents.
  • UDM_FIELD_CRC - document CRC.

Valores devueltos

udm_get_res_field() returns result field value on success, FALSE on error.

udm_get_doc_count
udm_get_res_param
mnoGoSearch Funciones


Get mnoGoSearch result parameters

udm_get_res_field
udm_hash32
mnoGoSearch Funciones
PHP Manual

udm_get_res_param

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_get_res_param — Get mnoGoSearch result parameters

Descripción

string udm_get_res_param ( resource $res , int $param )

Gets the mnoGoSearch result parameters.

Parámetros

res

res - a link to result identifier, received after call to udm_find().

param

param - parameter identifier, may have the following values:

  • UDM_PARAM_NUM_ROWS - number of received found links on the current page. It is equal to UDM_PARAM_PAGE_SIZE for all search pages, on the last page - the rest of links.
  • UDM_PARAM_FOUND - total number of results matching the query.
  • UDM_PARAM_WORDINFO - information on the words found. E.g. search for "a good book" will return "a: stopword, good:5637, book: 120"
  • UDM_PARAM_SEARCHTIME - search time in seconds.
  • UDM_PARAM_FIRST_DOC - the number of the first document displayed on current page.
  • UDM_PARAM_LAST_DOC - the number of the last document displayed on current page.

Valores devueltos

udm_get_res_param() returns result parameter value on success, FALSE on error.

udm_get_res_field
udm_hash32
mnoGoSearch Funciones


Devuelve el Hash32 checksum del string dado

udm_get_res_param
udm_load_ispell_data
mnoGoSearch Funciones
PHP Manual

udm_hash32

(PHP 4 >= 4.3.3, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_hash32 — Devuelve el Hash32 checksum del string dado

Descripción

int udm_hash32 ( resource $agent , string $str )

udm_hash32() tomará un string str y devolverá un número hash 32-bit único de este.

Parámetros

agent

Un enlace a Agent, recibido después de llamar a udm_alloc_agent().

str

El string de entrada.

Valores devueltos

Devuelve un número hash 32-bit.

Ver también

  • udm_alloc_agent() - Allocate mnoGoSearch session

udm_get_res_param
udm_load_ispell_data
mnoGoSearch Funciones


Load ispell data

udm_hash32
udm_open_stored
mnoGoSearch Funciones
PHP Manual

udm_load_ispell_data

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_load_ispell_data — Load ispell data

Descripción

bool udm_load_ispell_data ( resource $agent , int $var , string $val1 , string $val2 , int $flag )

udm_load_ispell_data() loads ispell data.

After using this function to free memory allocated for ispell data, please use udm_free_ispell_data(), even if you use UDM_ISPELL_TYPE_SERVER mode.

Parámetros

agent

A link to Agent, received after call to udm_alloc_agent().

var

Indicates the source for ispell data. May have the following values:

  • UDM_ISPELL_TYPE_DB - indicates that ispell data should be loaded from SQL. In this case, parameters val1 and val2 are ignored and should be left blank. flag should be equal to 1.

    Nota:

    flag indicates that after loading ispell data from defined source it should be sorted (it is necessary for correct functioning of ispell). In case of loading ispell data from files there may be several calls to udm_load_ispell_data(), and there is no sense to sort data after every call, but only after the last one. Since in db mode all the data is loaded by one call, this parameter should have the value 1. In this mode in case of error, e.g. if ispell tables are absent, the function will return FALSE and code and error message will be accessible through udm_error() and udm_errno().

  • UDM_ISPELL_TYPE_AFFIX - indicates that ispell data should be loaded from file and initiates loading affixes file. In this case val1 defines double letter language code for which affixes are loaded, and val2 - file path. Please note, that if a relative path entered, the module looks for the file not in UDM_CONF_DIR, but in relation to current path, i.e. to the path where the script is executed. In case of error in this mode, e.g. if file is absent, the function will return FALSE, and an error message will be displayed. Error message text cannot be accessed through udm_error() and udm_errno(), since those functions can only return messages associated with SQL. Please, see flag parameter description in UDM_ISPELL_TYPE_DB.

    Ejemplo #1 udm_load_ispell_data() example

    <?php
    if ((! udm_load_ispell_data($udm, UDM_ISPELL_TYPE_AFFIX, 'en', '/opt/ispell/en.aff', 0)) ||
        (!     udm_load_ispell_data($udm, UDM_ISPELL_TYPE_AFFIX, 'ru', '/opt/ispell/ru.aff', 0)) ||
        (!     udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SPELL, 'en', '/opt/ispell/en.dict', 0)) ||
        (!     udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SPELL, 'ru', '/opt/ispell/ru.dict', 1))) {
        exit;
    }
    ?>

    Nota:

    flag is equal to 1 only in the last call.

  • UDM_ISPELL_TYPE_SPELL - indicates that ispell data should be loaded from file and initiates loading of ispell dictionary file. In this case val1 defines double letter language code for which affixes are loaded, and val2 - file path. Please note, that if a relative path entered, the module looks for the file not in UDM_CONF_DIR, but in relation to current path, i.e. to the path where the script is executed. In case of error in this mode, e.g. if file is absent, the function will return FALSE, and an error message will be displayed. Error message text cannot be accessed through udm_error() and udm_errno(), since those functions can only return messages associated with SQL. Please, see flag parameter description in UDM_ISPELL_TYPE_DB.

    <?php
    if ((! udm_load_ispell_data($udm, UDM_ISPELL_TYPE_AFFIX, 'en', '/opt/ispell/en.aff', 0)) ||
       (!     udm_load_ispell_data($udm, UDM_ISPELL_TYPE_AFFIX, 'ru', '/opt/ispell/ru.aff', 0)) ||
       (!     udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SPELL, 'en', '/opt/ispell/en.dict', 0)) ||
       (!     udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SPELL, 'ru', '/opt/ispell/ru.dict', 1))) {
     exit;
     }
    ?>

    Nota:

    flag is equal to 1 only in the last call.

  • UDM_ISPELL_TYPE_SERVER - enables spell server support. val1 parameter indicates address of the host running spell server. val2 ` is not used yet, but in future releases it is going to indicate number of port used by spell server. flag parameter in this case is not needed since ispell data is stored on spellserver already sorted.

    Spelld server reads spell-data from a separate configuration file (/usr/local/mnogosearch/etc/spelld.conf by default), sorts it and stores in memory. With clients server communicates in two ways: to indexer all the data is transferred (so that indexer starts faster), from search.cgi server receives word to normalize and then passes over to client (search.cgi) list of normalized word forms. This allows fastest, compared to db and text modes processing of search queries (by omitting loading and sorting all the spell data).

    udm_load_ispell_data() function in UDM_ISPELL_TYPE_SERVER mode does not actually load ispell data, but only defines server address. In fact, server is automatically used by udm_find() function when performing search. In case of errors, e.g. if spellserver is not running or invalid host indicated, there are no messages returned and ispell conversion does not work.

    Nota:

    This function is available in mnoGoSearch 3.1.12 or later.

    Example:
    <?php
    if (!udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SERVER, '', '', 1)) {
        echo     "Error loading ispell data from server<br />\n";
        exit;
    }
    ?>

The fastest mode is UDM_ISPELL_TYPE_SERVER. UDM_ISPELL_TYPE_TEXT is slower and UDM_ISPELL_TYPE_DB is the slowest. The above pattern is TRUE for mnoGoSearch 3.1.10 - 3.1.11. It is planned to speed up DB mode in future versions and it is going to be faster than TEXT mode.

val1

val2

flag

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #2 udm_load_ispell_data() example

<?php
if (! udm_load_ispell_data($udm, UDM_ISPELL_TYPE_DB, '', '', 1)) {
  printf("Error #%d: '%s'\n", udm_errno($udm), udm_error($udm));
  exit;
}
?>

udm_hash32
udm_open_stored
mnoGoSearch Funciones


Conexión abierta a guardar

udm_load_ispell_data
udm_set_agent_param
mnoGoSearch Funciones
PHP Manual

udm_open_stored

(PHP 4 >= 4.2.0)

udm_open_stored — Conexión abierta a guardar

Descripción

int udm_open_stored ( resource $agent , string $storedaddr )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

udm_load_ispell_data
udm_set_agent_param
mnoGoSearch Funciones


Set mnoGoSearch agent session parameters

udm_open_stored
Solr
mnoGoSearch Funciones
PHP Manual

udm_set_agent_param

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_set_agent_param — Set mnoGoSearch agent session parameters

Descripción

bool udm_set_agent_param ( resource $agent , int $var , string $val )

Defines mnoGoSearch session parameters.

Parámetros

agent

A link to Agent, received after call to udm_alloc_agent().

var

The following parameters and their values are available:

  • UDM_PARAM_PAGE_NUM - used to choose search results page number (results are returned by pages beginning from 0, with UDM_PARAM_PAGE_SIZE results per page).
  • UDM_PARAM_PAGE_SIZE - number of search results displayed on one page.
  • UDM_PARAM_SEARCH_MODE - search mode. The following values available: UDM_MODE_ALL - search for all words; UDM_MODE_ANY - search for any word; UDM_MODE_PHRASE - phrase search; UDM_MODE_BOOL - boolean search. See udm_find() for details on boolean search.
  • UDM_PARAM_CACHE_MODE - turns on or off search result cache mode. When enabled, the search engine will store search results to disk. In case a similar search is performed later, the engine will take results from the cache for faster performance. Available values: UDM_CACHE_ENABLED, UDM_CACHE_DISABLED.
  • UDM_PARAM_TRACK_MODE - turns on or off trackquery mode. Since version 3.1.2 mnoGoSearch has a query tracking support. Note that tracking is implemented in SQL version only and not available in built-in database. To use tracking, you have to create tables for tracking support. For MySQL, use create/mysql/track.txt. When doing a search, front-end uses those tables to store query words, a number of found documents and current Unix timestamp in seconds. Available values: UDM_TRACK_ENABLED, UDM_TRACK_DISABLED.
  • UDM_PARAM_PHRASE_MODE - defines whether index database using phrases ("phrase" parameter in indexer.conf). Possible values: UDM_PHRASE_ENABLED and UDM_PHRASE_DISABLED. Please note, that if phrase search is enabled (UDM_PHRASE_ENABLED), it is still possible to do search in any mode (ANY, ALL, BOOL or PHRASE). In 3.1.10 version of mnoGoSearch phrase search is supported only in sql and built-in database modes, while beginning with 3.1.11 phrases are supported in cachemode as well. Examples of phrase search: "Arizona desert" - This query returns all indexed documents that contain "Arizona desert" as a phrase. Notice that you need to put double quotes around the phrase
  • UDM_PARAM_CHARSET - defines local charset. Available values: set of charsets supported by mnoGoSearch, e.g. koi8-r, cp1251, ...
  • UDM_PARAM_STOPFILE - Defines name and path to stopwords file. (There is a small difference with mnoGoSearch - while in mnoGoSearch if relative path or no path entered, it looks for this file in relation to UDM_CONF_DIR, the module looks for the file in relation to current path, i.e. to the path where the PHP script is executed.)
  • UDM_PARAM_STOPTABLE - Load stop words from the given SQL table. You may use several StopwordTable commands. This command has no effect when compiled without SQL database support.
  • UDM_PARAM_WEIGHT_FACTOR - represents weight factors for specific document parts. Currently body, title, keywords, description, url are supported. To activate this feature please use degrees of 2 in *Weight commands of the indexer.conf. Let's imagine that we have these weights:
          URLWeight     1
      BodyWeight    2
      TitleWeight   4
      KeywordWeight 8
      DescWeight    16
    As far as indexer uses bit OR operation for word weights when some word presents several time in the same document, it is possible at search time to detect word appearance in different document parts. Word which appears only in the body will have 00000010 aggregate weight (in binary notation). Word used in all document parts will have 00011111 aggregate weight. This parameter's value is a string of hex digits ABCDE. Each digit is a factor for corresponding bit in word weight. For the given above weights configuration:
           E is a factor for weight 1  (URL Weight bit)
       D is a factor for weight 2  (BodyWeight bit)
       C is a factor for weight 4  (TitleWeight bit)
       B is a factor for weight 8  (KeywordWeight bit)
       A is a factor for weight 16 (DescWeight bit)
    Examples: UDM_PARAM_WEIGHT_FACTOR=00001 will search through URLs only. UDM_PARAM_WEIGHT_FACTOR=00100 will search through Titles only. UDM_PARAM_WEIGHT_FACTOR=11100 will search through Title,Keywords,Description but not through URL and Body. UDM_PARAM_WEIGHT_FACTOR=F9421 will search through:
            Description with factor 15  (F hex)
        Keywords with factor 9
        Title with factor  4
        Body with factor 2
        URL with factor 1
    If UDM_PARAM_WEIGHT_FACTOR variable is omitted, original weight value is taken to sort results. For a given above weight configuration it means that document description has a most big weight 16.
  • UDM_PARAM_WORD_MATCH - word match. You may use this parameter to choose word match type. This feature works only in "single" and "multi" modes using SQL based and built-in database. It does not work in cachemode and other modes since they use word CRC and do not support substring search. Available values: UDM_MATCH_BEGIN - word beginning match; UDM_MATCH_END - word ending match; UDM_MATCH_WORD - whole word match; UDM_MATCH_SUBSTR - word substring match.
  • UDM_PARAM_MIN_WORD_LEN - defines minimal word length. Any word shorter this limit is considered to be a stopword. Please note that this parameter value is inclusive, i.e. if UDM_PARAM_MIN_WORD_LEN=3, a word 3 characters long will not be considered a stopword, while a word 2 characters long will be. Default value is 1.
  • UDM_PARAM_ISPELL_PREFIXES - Possible values: UDM_PREFIXES_ENABLED and UDM_PREFIXES_DISABLED, that respectively enable or disable using prefixes. E.g. if a word "tested" is in search query, also words like "test", "testing", etc. Only suffixes are supported by default. Prefixes usually change word meanings, for example if somebody is searching for the word "tested" one hardly wants "untested" to be found. Prefixes support may also be found useful for site's spelling checking purposes. In order to enable ispell, you have to load ispell data with udm_load_ispell_data().
  • UDM_PARAM_CROSS_WORDS - enables or disables crosswords support. Possible values: UDM_CROSS_WORDS_ENABLED and UDM_CROSS_WORDS_DISABLED. The crosswords feature allows to assign words between <a href="xxx"> and </a> also to a document this link leads to. It works in SQL database mode and is not supported in built-in database and Cachemode.
  • UDM_PARAM_VARDIR - specifies a custom path to directory where indexer stores data when using built-in database and in cache mode. By default /var directory of mnoGoSearch installation is used. Can have only string values.

val

Historial de cambios

Versión | Descripción
4.1.0 | UDM_PARAM_VARDIR was added.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota: Crosswords are supported only in mnoGoSearch 3.1.11 or later.

udm_open_stored
Solr
mnoGoSearch Funciones


Apache Solr

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de Solr
    • solr_get_version — Devuelve la versión actual de la extensión Apache Solr
  • Ejemplos
  • SolrUtils — La clase SolrUtils
    • SolrUtils::digestXmlResponse — Convierte una cadena de respuesta XML a un objeto SolrObject
    • SolrUtils::escapeQueryChars — Escapa una cadena de consulta lucene
    • SolrUtils::getSolrVersion — Devuelve la versión actual de la extensión Solr
    • SolrUtils::queryPhrase — Prepara una frase desde una cadena lucene sin escapar
  • SolrInputDocument — La clase SolrInputDocument
    • SolrInputDocument::addField — Añade un campo al documento
    • SolrInputDocument::clear — Restablece el documento de entrada
    • SolrInputDocument::__clone — Crea una copia de un objeto SolrDocument
    • SolrInputDocument::__construct — Constructor
    • SolrInputDocument::deleteField — Elimina un campo del documento
    • SolrInputDocument::__destruct — Destructor
    • SolrInputDocument::fieldExists — Comprueba si existe un campo
    • SolrInputDocument::getBoost — Recupera el valor boost actual del documento
    • SolrInputDocument::getField — Recupera un campo por su nombre
    • SolrInputDocument::getFieldBoost — Recupera el valor boost de un campo en particular
    • SolrInputDocument::getFieldCount — Devuelve el número de campos del documento
    • SolrInputDocument::getFieldNames — Devuelve una matriz que contiene todos los campos del documento
    • SolrInputDocument::merge — Fusiona un documento con otro
    • SolrInputDocument::reset — Este es un alias de SolrInputDocument::clear
    • SolrInputDocument::setBoost — Establece el valor boost de este documento
    • SolrInputDocument::setFieldBoost — Establece el valor boost de tiempo del índice de un campo
    • SolrInputDocument::sort — Ordena los campos dentro de un documento
    • SolrInputDocument::toArray — Devuelve una matriz como representación del documento de entrada
  • SolrDocument — La clase SolrDocument
    • SolrDocument::addField — añade un campo al documento
    • SolrDocument::clear — Borra todos los campos del documento
    • SolrDocument::__clone — Crea una copia de un objeto SolrDocument
    • SolrDocument::__construct — Constructor
    • SolrDocument::current — Recupera el campo actual
    • SolrDocument::deleteField — Elimina un campo del documento
    • SolrDocument::__destruct — Destructor
    • SolrDocument::fieldExists — Comprueba si existe un campo en el documento
    • SolrDocument::__get — Acceder al campo como una propiedad
    • SolrDocument::getField — Recupera un campo según su nombre
    • SolrDocument::getFieldCount — Devuelve el número de campos de este documento
    • SolrDocument::getFieldNames — Devuelve una matriz con los nombres de campos del documento
    • SolrDocument::getInputDocument — Devuelve un SolrInputDocument equivalente al objeto
    • SolrDocument::__isset — Comprueba si existe un campo
    • SolrDocument::key — Recupera la clave actual
    • SolrDocument::merge — Fusiona la fuente con el objeto SolrDocument actual
    • SolrDocument::next — Mueve el puntero interno al siguiente campo
    • SolrDocument::offsetExists — Comprueba si existe un campo en particular
    • SolrDocument::offsetGet — Recupera un campo
    • SolrDocument::offsetSet — Añade un campo al documento
    • SolrDocument::offsetUnset — Elimina un campo
    • SolrDocument::reset — Este es un alias de SolrDocument::clear()
    • SolrDocument::rewind — Reinicia el puntero interno al principio
    • SolrDocument::serialize — Usado para serialización personalizada
    • SolrDocument::__set — Añade otro campo al documento
    • SolrDocument::sort — Ordena los campos del documento
    • SolrDocument::toArray — Devuelve una matriz como representación de un documento
    • SolrDocument::unserialize — Serialización personalizada de objetos SolrDocument
    • SolrDocument::__unset — Elimina un campo del documento
    • SolrDocument::valid — Comprueba si la posición actual del puntero interno es aún válida
  • SolrDocumentField — La clase SolrDocumentField
    • SolrDocumentField::__construct — Constructor
    • SolrDocumentField::__destruct — Destructor
  • SolrObject — La clase SolrObject
    • SolrObject::__construct — Crea un objeto Solr
    • SolrObject::__destruct — Destructor
    • SolrObject::getPropertyNames — Devuelve una matriz de todos los nombres de las propiedades
    • SolrObject::offsetExists — Comprueba si la propiedad existe
    • SolrObject::offsetGet — Usado para recuperar una propiedad
    • SolrObject::offsetSet — Establece el valor de una propiedad
    • SolrObject::offsetUnset — Establece el valor para la propiedad
  • SolrClient — La clase SolrClient
    • SolrClient::addDocument — Añade un documento al índice
    • SolrClient::addDocuments — Añade una colección de instancias de SolrInputDocument al índice
    • SolrClient::commit — Finaliza todas las añadiduras/eliminaciones hechas al índice
    • SolrClient::__construct — Constructor para el objeto SolrClient
    • SolrClient::deleteById — Eliminar por Id
    • SolrClient::deleteByIds — Elimina mediante Ids
    • SolrClient::deleteByQueries — Elimina todos los documentos que coincidan con cualquiera de las consultas
    • SolrClient::deleteByQuery — Elimina todos los documentos que coincidan con la consulta dada
    • SolrClient::__destruct — Destructor para SolrClient
    • SolrClient::getDebug — Devuelve la información de depuración para el último intento de conexión
    • SolrClient::getOptions — Devuelve las opciones de cliente establecidas internamente
    • SolrClient::optimize — Defragmenta el índice
    • SolrClient::ping — Comprueba si el servidor Solr está todavía activo
    • SolrClient::query — Envía una consulta al servidor
    • SolrClient::request — Envía una petición de actualización sin formato
    • SolrClient::rollback — Revierte todos los añadidos/eliminados hechos en el índice desde el último envío
    • SolrClient::setResponseWriter — Establece el autor de la respuesta usado para preparar la respuesta de Solr
    • SolrClient::setServlet — Cambia el servlet especificado a un nuevo valor
    • SolrClient::threads — Verifica el estado de los hilos
  • SolrResponse — La clase SolrResponse
    • SolrResponse::getDigestedResponse — Devuelve la respueste XML como información de PHP serializada
    • SolrResponse::getHttpStatus — Devuelve el estado HTTP de la respuesta
    • SolrResponse::getHttpStatusMessage — Devuelve más detalles del estado HTTP
    • SolrResponse::getRawRequest — Devuelve la respuesta en bruto enviada al servidor Solr
    • SolrResponse::getRawRequestHeaders — Devuelve las cabeceras de respuesta sin tratar enviadas al servidor Solr
    • SolrResponse::getRawResponse — Devuelve la respuesta sin tratar del servidor
    • SolrResponse::getRawResponseHeaders — Devuelve las cabeceras de respuesta sin tratar del servidor
    • SolrResponse::getRequestUrl — Devuelve la URL completa a la que se envió la respuesta
    • SolrResponse::getResponse — Devuelve un objeto SolrObject que representa la respuesta XML del servidor
    • SolrResponse::setParseMode — Establece el modo de análisis
    • SolrResponse::success — ¿Tuvo éxito la petición?
  • SolrQueryResponse — La clase SolrQueryResponse
    • SolrQueryResponse::__construct — Constructor
    • SolrQueryResponse::__destruct — Destructor
  • SolrUpdateResponse — La clase SolrUpdateResponse
    • SolrUpdateResponse::__construct — Constructor
    • SolrUpdateResponse::__destruct — Destructor
  • SolrPingResponse — La clase SolrPingResponse
    • SolrPingResponse::__construct — Constructor
    • SolrPingResponse::__destruct — Destructor
    • SolrPingResponse::getResponse — Devuelve la respuesta del servidor
  • SolrGenericResponse — La clase SolrGenericResponse
    • SolrGenericResponse::__construct — Constructor
    • SolrGenericResponse::__destruct — Destructor
  • SolrParams — La clase SolrParams
    • SolrParams::add — Esto es un alias de SolrParams::addParam
    • SolrParams::addParam — Añade un parámetro al objeto
    • SolrParams::get — Este es una alias de SolrParams::getParam
    • SolrParams::getParam — Devuelve el valor de un parámetro
    • SolrParams::getParams — Devuelve una matriz de parámetros URL no codificados
    • SolrParams::getPreparedParams — Devuelve una matriz de parámetros URL codificados
    • SolrParams::serialize — Usado para serialización personalizada
    • SolrParams::set — Un alas de SolrParams::setParam
    • SolrParams::setParam — Establece el parámetro al valor especificado
    • SolrParams::toString — Devuelve todos los parámetros de los pares nombre-valor del objeto
    • SolrParams::unserialize — Usado para serialización personalizada
  • SolrModifiableParams — La clase SolrModifiableParams
    • SolrModifiableParams::__construct — Constructor
    • SolrModifiableParams::__destruct — Destructor
  • SolrQuery — La clase SolrQuery
    • SolrQuery::addFacetDateField — Mapea a facet.date
    • SolrQuery::addFacetDateOther — Añade otro parámetro facet.date.other
    • SolrQuery::addFacetField — Añade otro campo a la faceta
    • SolrQuery::addFacetQuery — Añade una consulta de faceta
    • SolrQuery::addField — Especifica qué campos devolver en el resultado
    • SolrQuery::addFilterQuery — Especifica una consulta de filtro
    • SolrQuery::addHighlightField — Mapea a hl.fl
    • SolrQuery::addMltField — Establece un campo para usarlo para similitud
    • SolrQuery::addMltQueryField — Mapea a mlt.qf
    • SolrQuery::addSortField — Usado para controlar cómo deberían ordenarse los resultados
    • SolrQuery::addStatsFacet — Recupera una devolución de subresultados para valores dentro de la faceta dada
    • SolrQuery::addStatsField — Mapea al parámetro stats.field
    • SolrQuery::__construct — Constructor
    • SolrQuery::__destruct — Destructor
    • SolrQuery::getFacet — Devuelve el valor del parámetro facet
    • SolrQuery::getFacetDateEnd — Devuelve el valor del parámetro facet.date.end
    • SolrQuery::getFacetDateFields — Devuelve todos los campos de facet.date
    • SolrQuery::getFacetDateGap — Devuelve el valor del parámetro facet.date.gap
    • SolrQuery::getFacetDateHardEnd — Devuelve el valor del parámetro facet.date.hardend
    • SolrQuery::getFacetDateOther — Devuelve el valor del parámetro facet.date.other
    • SolrQuery::getFacetDateStart — Devuelve el límite inferior del primer rango de datos para todas las facetas de fecha de este campo
    • SolrQuery::getFacetFields — Devuelve todos los campos facet
    • SolrQuery::getFacetLimit — Devuelve el número máximo de restricciones que deberían ser devueltas por los campos facet
    • SolrQuery::getFacetMethod — Devuelve el valor del parámetro facet.method
    • SolrQuery::getFacetMinCount — Devuelve el mínimo de facetas que deberían ser incluidas en la respuesta
    • SolrQuery::getFacetMissing — Devuelve el estado acutual del parámetro facet.missing
    • SolrQuery::getFacetOffset — Devuelve un índice dentro de la lista de restricciones para ser usado en paginación
    • SolrQuery::getFacetPrefix — Devuelve el prefijo de faceta
    • SolrQuery::getFacetQueries — Devuelve todas las consultas de facetas
    • SolrQuery::getFacetSort — Devuelve el tipo de ordenación de la faceta
    • SolrQuery::getFields — Devuelve la lista de campos que serán devueltos en la respuesta
    • SolrQuery::getFilterQueries — Devuelve una matriz de consultas de filtro
    • SolrQuery::getHighlight — Devuelve el estado del parámtero hl
    • SolrQuery::getHighlightAlternateField — Devuelve el campo remarcado para usarlo como copia de seguridad o como predeterminado
    • SolrQuery::getHighlightFields — Devuelve todos los campos que Solr debería generar para remarcación de trozos
    • SolrQuery::getHighlightFormatter — Devuelve el formateador de la salida remarcada
    • SolrQuery::getHighlightFragmenter — Devuelve el generador de trozos de texto para el texto remarcado
    • SolrQuery::getHighlightFragsize — Devuelve el número de caracteres de fragmentos a considerar para remarcación
    • SolrQuery::getHighlightHighlightMultiTerm — Devuelve si habilitar o no la remarcación de consultas range/wildcard/fuzzy/prefix
    • SolrQuery::getHighlightMaxAlternateFieldLength — Devuelve el número máximo de caracteres del campo a devolver
    • SolrQuery::getHighlightMaxAnalyzedChars — Devuelve el número máximo de caracteres de un documento para buscar trozos adecuados
    • SolrQuery::getHighlightMergeContiguous — Devuelve si colapsar o no fragmentos contiguos en un único fragmento
    • SolrQuery::getHighlightRegexMaxAnalyzedChars — Devuelve el número máximo de caracteres de un campo cuando se usa el fragmentador de expresiones regulares
    • SolrQuery::getHighlightRegexPattern — Devuelve la expresión regular para la fragmentación
    • SolrQuery::getHighlightRegexSlop — Devuelve el factor de desviación del tamaño de fragmento ideal
    • SolrQuery::getHighlightRequireFieldMatch — Devuelve si un campo será remarcado solamente si la consulta coincide con este campo en particular
    • SolrQuery::getHighlightSimplePost — Devuelve el texto que aparece después de un término remarcado
    • SolrQuery::getHighlightSimplePre — Devuelve el texto que aparece antes de un término remarcado
    • SolrQuery::getHighlightSnippets — Devuelve el número máximo de trozos remarcados a generar por campo
    • SolrQuery::getHighlightUsePhraseHighlighter — Devuelve el estado del parámetro hl.usePhraseHighlighter
    • SolrQuery::getMlt — Devuelve si los resultados MoreLikeThis deberían o no ser habilitados
    • SolrQuery::getMltBoost — Devuelve si la consulta será impulsada (boost) o no mediante la relevancia del térmido de interés
    • SolrQuery::getMltCount — Devuelve el número de documentos similares a devolver para cada resultado
    • SolrQuery::getMltFields — Devuelve todos los campos a usar para similitud
    • SolrQuery::getMltMaxNumQueryTerms — Devuelve el número máximo de términos de consultas que serán incluidos en cualquier consulta generada
    • SolrQuery::getMltMaxNumTokens — Devuelve el número máximo de tokens a analizar en cada campo del documento que no esté almacenado con soporte TermVector
    • SolrQuery::getMltMaxWordLength — Devuelve la longitud máxima de palabra de las palabras que serán ignoradas
    • SolrQuery::getMltMinDocFrequency — Devuelve el umbral de frecuencia en el que las palabras que no ocurran en por lo menos tantos documentos como este serán ignoradas
    • SolrQuery::getMltMinTermFrequency — Devuelve la frecuencia bajo la cual los términos serán ignorados en el documento fuente
    • SolrQuery::getMltMinWordLength — Devuelve la longitud máxima de palabra bajo la cual las palabras serán ignoradas
    • SolrQuery::getMltQueryFields — Devuelve los campos de consultas y sus boosts
    • SolrQuery::getQuery — Devuelve la consulta principal
    • SolrQuery::getRows — Devuelve el número máximo de documentos
    • SolrQuery::getSortFields — Devuelve todos los campos de ordenación
    • SolrQuery::getStart — Devuelve el índice del conjunto de resultados completo
    • SolrQuery::getStats — Devuelve si están habilitadas o no las estadísticas
    • SolrQuery::getStatsFacets — Devuelve todas las estadísticas de las facetas que fueron establecidas
    • SolrQuery::getStatsFields — Devuelve todas las estadísticas de los campos
    • SolrQuery::getTerms — Devuelve si está habilitado o no TermsComponent
    • SolrQuery::getTermsField — Devuelve el campo desde el cuál los términos son recuperados
    • SolrQuery::getTermsIncludeLowerBound — Devuelve si incluir o no el límite inferior en el conjunto de resultados
    • SolrQuery::getTermsIncludeUpperBound — Devuelve si incluir o no el término de límite superior en el conjunto de resultados
    • SolrQuery::getTermsLimit — Devuelve el número máximo de términos que debería devolver Solr
    • SolrQuery::getTermsLowerBound — Devuelve el término en el que comenzar
    • SolrQuery::getTermsMaxCount — Devuelve la frecuencia de documento máxima
    • SolrQuery::getTermsMinCount — Devuelve la frecuencia de documento mínima a devolver para ser incluido
    • SolrQuery::getTermsPrefix — Devuelve el prefijo del término
    • SolrQuery::getTermsReturnRaw — Si devolver o no caracteres en bruto
    • SolrQuery::getTermsSort — Devuelve un entero indicando cómo son ordenados los términos
    • SolrQuery::getTermsUpperBound — Devuelve el término en donde parar
    • SolrQuery::getTimeAllowed — Devuelve el tiempo en milisegundos permitido para que la consulta finalice
    • SolrQuery::removeFacetDateField — Elimina uno de los campos de faceta de fecha
    • SolrQuery::removeFacetDateOther — Elimina uno de los parámetros facet.date.other
    • SolrQuery::removeFacetField — Elimina uno de los parámetros facet.date
    • SolrQuery::removeFacetQuery — Elimina uno de los parámetros facet.query
    • SolrQuery::removeField — Elimina un campo de la lista de campos
    • SolrQuery::removeFilterQuery — Elimina una consulta de filtro
    • SolrQuery::removeHighlightField — Elimina uno de los campos usados para remarcación
    • SolrQuery::removeMltField — Elimina uno de los campos moreLikeThis
    • SolrQuery::removeMltQueryField — Elimina uno de los campos de consulta moreLikeThis
    • SolrQuery::removeSortField — Elimina uno de los campos de ordenación
    • SolrQuery::removeStatsFacet — Elimina uno de los parámetros stats.facet
    • SolrQuery::removeStatsField — Elimina uno de los parámetros stats.field
    • SolrQuery::setEchoHandler — Conmuta el parámetro echoHandler
    • SolrQuery::setEchoParams — Determina qué tipo de parámetros incluir en la respuesta
    • SolrQuery::setExplainOther — Establece el parámetro de consulta común explainOther
    • SolrQuery::setFacet — Mapea al parámetro facet. Habilita o deshabilta las facetas
    • SolrQuery::setFacetDateEnd — Mapea a facet.date.end
    • SolrQuery::setFacetDateGap — Mapea a facet.date.gap
    • SolrQuery::setFacetDateHardEnd — Mapea a facet.date.hardend
    • SolrQuery::setFacetDateStart — Mapea a facet.date.start
    • SolrQuery::setFacetEnumCacheMinDefaultFrequency — Establece la frecuencia de documento mínima usada para determinar la cuenta de términos
    • SolrQuery::setFacetLimit — Mapea a facet.limit
    • SolrQuery::setFacetMethod — Especifica el tipo de algoritmo a usar cuando se hace una faceta a un campo
    • SolrQuery::setFacetMinCount — Mapea a facet.mincount
    • SolrQuery::setFacetMissing — Mapea a facet.missing
    • SolrQuery::setFacetOffset — Establece el índice de la lista de restricciones para permitir la paginación
    • SolrQuery::setFacetPrefix — Especifica un prefijo de cadena con el que limitar los términos a los que hacer una faceta
    • SolrQuery::setFacetSort — Determina el orden de las restricciones de campos de faceta
    • SolrQuery::setHighlight — Habilita o deshabilita la remarcación
    • SolrQuery::setHighlightAlternateField — Especifica el campo de copia de seguridad a usar
    • SolrQuery::setHighlightFormatter — Especifica un formateador para la salida remarcada
    • SolrQuery::setHighlightFragmenter — Establece el generador de trozos de código para texto remarcado
    • SolrQuery::setHighlightFragsize — El tamaño de los fragmentos a considerara para remarcación
    • SolrQuery::setHighlightHighlightMultiTerm — Usa SpanScorer para remarcar términos de frases
    • SolrQuery::setHighlightMaxAlternateFieldLength — Establece el número máximo de caracteres del campo a devolver
    • SolrQuery::setHighlightMaxAnalyzedChars — Especifica el número de caracteres de un documento para buscar trozos apropiados
    • SolrQuery::setHighlightMergeContiguous — Si colapsar o no fragmentos contiguos en un único fragmento
    • SolrQuery::setHighlightRegexMaxAnalyzedChars — Especifica el número máximo de caracteres a analizar
    • SolrQuery::setHighlightRegexPattern — Especifica la expresión regular para la fragmentación
    • SolrQuery::setHighlightRegexSlop — Establece el factor por el que el fragmentador de expresiones regulares puede desviarse del tamaño de fragmento ideal
    • SolrQuery::setHighlightRequireFieldMatch — Requerir la coincicencia de campos durante el remarcado
    • SolrQuery::setHighlightSimplePost — Establece el texto que aparece antes de un término remarcado
    • SolrQuery::setHighlightSimplePre — Establece el texto que aparece antes de un término remarcado
    • SolrQuery::setHighlightSnippets — Establece el número máximo de trozos remarcados para generar por campo
    • SolrQuery::setHighlightUsePhraseHighlighter — Si remarcar o no términos de frases sólo cuando aparecen en la frase de consulta
    • SolrQuery::setMlt — Habilita o deshabilita moreLikeThis
    • SolrQuery::setMltBoost — Establecer si la consulta será impulsada (boost) por la relevancia del término de interés
    • SolrQuery::setMltCount — Establece el número de documentos similares a devolver en cada resultado
    • SolrQuery::setMltMaxNumQueryTerms — Establece el número máximo de términos de consulta incluidos
    • SolrQuery::setMltMaxNumTokens — Especifica el número máximo de tokens a analizar
    • SolrQuery::setMltMaxWordLength — Establece la longitud de palabra máxima
    • SolrQuery::setMltMinDocFrequency — Establece la frecuencia de mltMinDoc
    • SolrQuery::setMltMinTermFrequency — Establece la frecuencia bajo la cual los términos serán ignorados en los documentos fuente
    • SolrQuery::setMltMinWordLength — Establece la longitud de palabra mínima
    • SolrQuery::setOmitHeader — Excluye la cabecera de los resultados devueltos
    • SolrQuery::setQuery — Establece la consulta de búsqueda
    • SolrQuery::setRows — Especifica el número máximo de filas a devolver en el resultado
    • SolrQuery::setShowDebugInfo — Bandera para mostrar información de depuración
    • SolrQuery::setStart — Especifica el número de filas que se van a saltar
    • SolrQuery::setStats — Habilita o deshablita el componente de estadísticas
    • SolrQuery::setTerms — Habilita o deshablita TermsComponent
    • SolrQuery::setTermsField — Establece el nombre del campo del que obtener los términos
    • SolrQuery::setTermsIncludeLowerBound — Incluir el término de límite inferior en el conjunto de resultados
    • SolrQuery::setTermsIncludeUpperBound — Incluir el término de límite superior en el conjunto de resultados
    • SolrQuery::setTermsLimit — Establece el número máximo de términos a devolver
    • SolrQuery::setTermsLowerBound — Especifica el término de donde empezar
    • SolrQuery::setTermsMaxCount — Establece la frecuencia máxima de documentos
    • SolrQuery::setTermsMinCount — Establece la frecuencia mínima de documentos
    • SolrQuery::setTermsPrefix — Restringe las coincidencias de términos que comienzan con el prefijo
    • SolrQuery::setTermsReturnRaw — Devuelve los caracteres en bruto del término indexado
    • SolrQuery::setTermsSort — Especifica cómo ordenar los términos devueltos
    • SolrQuery::setTermsUpperBound — Establece el término en el que parar
    • SolrQuery::setTimeAllowed — El tiempo permitido para que la búsqueda finalice
  • SolrException — La clase SolrException
    • SolrException::getInternalInfo — Devuelve información interna de donde se lanzó la excepción
  • SolrClientException — La clase SolrClientException
    • SolrClientException::getInternalInfo — Devuelve información interna de donde se lanzó la excepción
  • SolrIllegalArgumentException — La clase SolrIllegalArgumentException
    • SolrIllegalArgumentException::getInternalInfo — Devuelve información interna de donde se lanzó la excepción
  • SolrIllegalOperationException — La clase SolrIllegalOperationException
    • SolrIllegalOperationException::getInternalInfo — Devuelve información interna de donde se lanzó la excepción
udm_set_agent_param
Introducción
Extensiones para motores de búsqueda


Introducción

La extensión Solr permite comunicarse de manera efectiva con el servidor Apache Solr en PHP 5.

La extensión Solr es una biblioteca extremadamente rápida, de pequeño tamaño, y con abundantes características que permite a los desarrolladores de PHP comunicarse de manera efectiva con las instancias del servidor Solr.

Es compatible con las versiones 1.3 y 1.4 de Apache Solr.

Hay herramientas internas para añadir documentos y realizar actualizaciones al servidor solr.

También contiene herramientas que permiten realizar consultas avanzadas al servidor cuando se buscan documentos.

Solr
Instalación/Configuración
Solr


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Solr


Requerimientos

Se requiere la versión de PHP 5.2.11 o superior.

Las bibliotecas libxml y curl también deben estar habilitadas para que esté disponible la extensión Apache Solr.

Se requiere libxml2 2.6.31 o posterior.

También se requiere libcurl 7.18.0 o posterior.

Las versiones de las bibliotecas de arriba son necesarias y se recomienda encarecidamente no intentar hackear el código para hacerlo compilar. Fallará, posiblemente con errores que podrían ser difíciles de depurar

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/solr.

Para obtener ayuda y soporte, visite la extensión en el grupo de Google. » Extensión PHP Apache Solr

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Nota:

El módulo solr se puede compilar en modo depuración pasando la bandera --enable-solr-debug a la configuración

Cuando se construya manualmente, asegúrese de incluir soporta para curl y libxml dentro de la construcción.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

SOLR_MAJOR_VERSION (integer)
SOLR_MINOR_VERSION (integer)
SOLR_PATCH_VERSION (integer)
SOLR_EXTENSION_VERSION (string)

Tipos de recursos
Funciones de Solr
Solr


Funciones de Solr

Tabla de contenidos

  • solr_get_version — Devuelve la versión actual de la extensión Apache Solr
Constantes predefinidas
solr_get_version
Solr


Devuelve la versión actual de la extensión Apache Solr

Funciones de Solr
Ejemplos
Funciones de Solr
PHP Manual

solr_get_version

(PECL solr >= 0.9.1)

solr_get_version — Devuelve la versión actual de la extensión Apache Solr

Descripción

string solr_get_version ( void )

Esta función devuelve la versión actual de la extensión como una cadena.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una cadena en caso de éxito y FALSE en caso de fallo.

Errores/Excepciones

Esta función no lanza errores o excepciones.

Ejemplos

Ejemplo #1 Ejemplo de solr_get_version()

Cualquier texto que describa el propósito del ejemplo, o lo que sucede en el ejemplo debería ir aquí.

<?php

$versión_solr = solr_get_version();

print $versión_solr;

?>

El resultado del ejemplo sería algo similar a:

0.9.6

Ver también

  • SolrUtils::getSolrVersion() - Devuelve la versión actual de la extensión Solr

Funciones de Solr
Ejemplos
Funciones de Solr


Ejemplos

Ejemplos de cómo usar la extensión Apache Solr de PHP

Ejemplo #1 Contenido del archivo BootStrap

<?php

/* Nombre de dominio de servidor Solr */
define('SOLR_SERVER_HOSTNAME', 'solr.example.com');

/* Si ejecutar en modo seguro */
define('SOLR_SECURE', true);

/* Puerto HTTP para la conexión */
define('SOLR_SERVER_PORT', ((SOLR_SECURE) ? 8443 : 8983));

/* Nomre de Usuario de Autenticación Básica de HTTP */
define('SOLR_SERVER_USERNAME', 'admin');

/* Contraseña de Autenticación Básica de HTTP */
define('SOLR_SERVER_PASSWORD', 'changeit');

/* Tiempo límite de conexión de HTTP */
/* Esto es el tiempo máximo en segundos permitido para la operación de transferencias de datos de http */
/* El valor predeterminado es 30 segundos. */
define('SOLR_SERVER_TIMEOUT', 10);

/* Nombre de archivo a una clave + certificado privados con formato PEM (concatenado en ese ornden */
define('SOLR_SSL_CERT', 'certs/combo.pem');

/* Nombre de archivo a un certificado privado con formato PEM */
define('SOLR_SSL_CERT_ONLY', 'certs/solr.crt');

/* Nombre de archivo a una clave privada con formato PEM */
define('SOLR_SSL_KEY', 'certs/solr.key');

/* Contraseña para el archivo de clave privada con formato PEM */
define('SOLR_SSL_KEYPASSWORD', 'StrongAndSecurePassword');

/* Nombre del archivo que mantiene uno o más certificados CA para ser verificados con su par */
define('SOLR_SSL_CAINFO', 'certs/cacert.crt');

/* Nombre del directorio que mantiene múltiples certificados CA para ser verificados con su par */
define('SOLR_SSL_CAPATH', 'certs/');

?>

Ejemplo #2 Añadir un documento al índice

<?php

include "bootstrap.php";

$opciones = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$cliente = new SolrClient($opciones);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

$respuestaActualización = $cliente->addDocument($doc);

print_r($respuestaActualización->getResponse());

?>

El resultado del ejemplo sería algo similar a:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 446
        )

)

Ejemplo #3 Fusionar un documento con otro documento

<?php

include "bootstrap.php";

$doc = new SolrDocument();

$segundo_doc = new SolrDocument();

$doc->addField('id', 1123);

$doc->features = "PHP Client Side";
$doc->features = "Fast development cycles";

$doc['cat'] = 'Software';
$doc['cat'] = 'Custom Search';
$doc->cat   = 'Information Technology';

$segundo_doc->addField('cat', 'Lucene Search');

$segundo_doc->merge($doc, true);

print_r($segundo_doc->toArray());

?>

El resultado del ejemplo sería algo similar a:

Array
(
    [document_boost] => 0
    [field_count] => 3
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => cat
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => Software
                            [1] => Custom Search
                            [2] => Information Technology
                        )

                )

            [1] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => 1123
                        )

                )

            [2] => SolrDocumentField Object
                (
                    [name] => features
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => PHP Client Side
                            [1] => Fast development cycles
                        )

                )

        )

)

Ejemplo #4 Buscar documentos - respuestas de SolrObject

<?php

include "bootstrap.php";

$opciones = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$cliente = new SolrClient($opciones);

$consulta = new SolrQuery();

$consulta->setQuery('lucene');

$consulta->setStart(0);

$consulta->setRows(50);

$consulta->addField('cat')->addField('features')->addField('id')->addField('timestamp');

$respuesta_consulta = $cliente->query($consulta);

$respuesta = $respuesta_consulta->getResponse();

print_r($respuesta);

?>

El resultado del ejemplo sería algo similar a:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
            [params] => SolrObject Object
                (
                    [wt] => xml
                    [rows] => 50
                    [start] => 0
                    [indent] => on
                    [q] => lucene
                    [fl] => cat,features,id,timestamp
                    [version] => 2.2
                )

        )

    [response] => SolrObject Object
        (
            [numFound] => 3
            [start] => 0
            [docs] => Array
                (
                    [0] => SolrObject Object
                        (
                            [cat] => Array
                                (
                                    [0] => Software
                                    [1] => Lucene
                                )

                            [id] => 334456
                        )

                    [1] => SolrObject Object
                        (
                            [cat] => Array
                                (
                                    [0] => Software
                                    [1] => Lucene
                                )

                            [id] => 334455
                        )

                    [2] => SolrObject Object
                        (
                            [cat] => Array
                                (
                                    [0] => software
                                    [1] => search
                                )

                            [features] => Array
                                (
                                    [0] => Advanced Full-Text Search Capabilities using Lucene
                                    [1] => Optimized for High Volume Web Traffic
                                    [2] => Standards Based Open Interfaces - XML and HTTP
                                    [3] => Comprehensive HTML Administration Interfaces
                                    [4] => Scalability - Efficient Replication to other Solr Search Servers
                                    [5] => Flexible and Adaptable with XML configuration and Schema
                                    [6] => Good unicode support: héllo (hello with an accent over the e)
                                )

                            [id] => SOLR1000
                            [timestamp] => 2009-09-04T20:38:55.906
                        )

                )

        )

)

Ejemplo #5 Buscar documentos - respuestas de SolrDocument

<?php

include "bootstrap.php";

$opciones = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$cliente = new SolrClient($opciones);

$consulta = new SolrQuery();

$consulta->setQuery('lucene');

$consulta->setStart(0);

$consulta->setRows(50);

$consulta->addField('cat')->addField('features')->addField('id')->addField('timestamp');

$respuesta_consulta = $cliente->query($consulta);

$respuesta_consulta->setParseMode(SolrQueryResponse::PARSE_SOLR_DOC);

$respuesta = $respuesta_consulta->getResponse();

print_r($respuesta);

?>

El resultado del ejemplo sería algo similar a:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
            [params] => SolrObject Object
                (
                    [wt] => xml
                    [rows] => 50
                    [start] => 0
                    [indent] => on
                    [q] => lucene
                    [fl] => cat,features,id,timestamp
                    [version] => 2.2
                )

        )

    [response] => SolrObject Object
        (
            [numFound] => 3
            [start] => 0
            [docs] => Array
                (
                    [0] => SolrDocument Object
                        (
                            [_hashtable_index:SolrDocument:private] => 19740
                        )

                    [1] => SolrDocument Object
                        (
                            [_hashtable_index:SolrDocument:private] => 25485
                        )

                    [2] => SolrDocument Object
                        (
                            [_hashtable_index:SolrDocument:private] => 25052
                        )

                )

        )

)

Ejemplo #6 Ejemplo sencillo de TermsComponent - básico

<?php

include "bootstrap.php";

$opciones = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$cliente = new SolrClient($opciones);

$consulta = new SolrQuery();

$consulta->setTerms(true);

$consulta->setTermsField('cat');

$respuestaActualización = $cliente->query($consulta);

print_r($respuestaActualización->getResponse());

?>

El resultado del ejemplo sería algo similar a:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 2
        )

    [terms] => SolrObject Object
        (
            [cat] => SolrObject Object
                (
                    [electronics] => 14
                    [Lucene] => 4
                    [Software] => 4
                    [memory] => 3
                    [card] => 2
                    [connector] => 2
                    [drive] => 2
                    [graphics] => 2
                    [hard] => 2
                    [monitor] => 2
                )

        )

)

Ejemplo #7 Ejemplo sencillo de TermsComponent - usar un prefijo

<?php

include "bootstrap.php";

$opciones = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$cliente = new SolrClient($opciones);

$consulta = new SolrQuery();

$consulta->setTerms(true);

/* Devolver sólo los términos que empiecen con $prefijo */
$prefijo = 'c';

$consulta->setTermsField('cat')->setTermsPrefix($prefijo);

$respuestaActualización = $cliente->query($consulta);

print_r($respuestaActualización->getResponse());

?>

El resultado del ejemplo sería algo similar a:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
        )

    [terms] => SolrObject Object
        (
            [cat] => SolrObject Object
                (
                    [card] => 2
                    [connector] => 2
                    [camera] => 1
                    [copier] => 1
                )

        )

)

Ejemplo #8 Ejemplo sencillo de TermsComponent - especificar una frecuencia mínima

<?php

include "bootstrap.php";

$opciones = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$cliente = new SolrClient($opciones);

$consulta = new SolrQuery();

$consulta->setTerms(true);

/* Devolver sólo los términos que empiecen con $prefijo */
$prefijo = 'c';

/* Devolver sólo los términos con una frecuencia de 2 o mayor */
$frecuencia_mín = 2;

$consulta->setTermsField('cat')->setTermsPrefix($prefijo)->setTermsMinCount($frecuencia_mín);

$respuestaActualización = $cliente->query($consulta);

print_r($respuestaActualización->getResponse());

?>

El resultado del ejemplo sería algo similar a:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 0
        )

    [terms] => SolrObject Object
        (
            [cat] => SolrObject Object
                (
                    [card] => 2
                    [connector] => 2
                )

        )

)

Ejemplo #9 Ejemplo sencillo de Facet

<?php

include "bootstrap.php";

$opciones = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$cliente = new SolrClient($opciones);

$consulta = new SolrQuery('*:*');

$consulta->setFacet(true);

$consulta->addFacetField('cat')->addFacetField('name')->setFacetMinCount(2);

$respuestaActualización = $cliente->query($consulta);

$matriz_respuesta = $respuestaActualización->getResponse();

$datos_faceta = $matriz_respuesta->facet_counts->facet_fields;

print_r($datos_faceta);

?>

El resultado del ejemplo sería algo similar a:

SolrObject Object
(
    [cat] => SolrObject Object
        (
            [electronics] => 14
            [memory] => 3
            [Lucene] => 2
            [Software] => 2
            [card] => 2
            [connector] => 2
            [drive] => 2
            [graphics] => 2
            [hard] => 2
            [monitor] => 2
            [search] => 2
            [software] => 2
        )

    [name] => SolrObject Object
        (
            [gb] => 6
            [1] => 3
            [184] => 3
            [2] => 3
            [3200] => 3
            [400] => 3
            [500] => 3
            [ddr] => 3
            [i] => 3
            [ipod] => 3
            [memori] => 3
            [pc] => 3
            [pin] => 3
            [pod] => 3
            [sdram] => 3
            [system] => 3
            [unbuff] => 3
            [canon] => 2
            [corsair] => 2
            [drive] => 2
            [hard] => 2
            [mb] => 2
            [n] => 2
            [power] => 2
            [retail] => 2
            [video] => 2
            [x] => 2
        )

)

Ejemplo #10 Ejemplo sencillo de Facet - con sobrescritura de campo opcional para mincount

<?php

include "bootstrap.php";

$opciones = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$cliente = new SolrClient($opciones);

$consulta = new SolrQuery('*:*');

$consulta->setFacet(true);

$consulta->addFacetField('cat')->addFacetField('name')->setFacetMinCount(2)->setFacetMinCount(4, 'name');

$respuestaActualización = $cliente->query($consulta);

$matriz_respuesta = $respuestaActualización->getResponse();

$datos_faceta = $matriz_respuesta->facet_counts->facet_fields;

print_r($datos_faceta);

?>

El resultado del ejemplo sería algo similar a:

SolrObject Object
(
    [cat] => SolrObject Object
        (
            [electronics] => 14
            [memory] => 3
            [Lucene] => 2
            [Software] => 2
            [card] => 2
            [connector] => 2
            [drive] => 2
            [graphics] => 2
            [hard] => 2
            [monitor] => 2
            [search] => 2
            [software] => 2
        )

    [name] => SolrObject Object
        (
            [gb] => 6
        )

)

Ejemplo #11 Conectar a un Servidor con SSL Habilitado

<?php

include "bootstrap.php";

$opciones = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'timeout'  => SOLR_SERVER_TIMEOUT,
    'secure'   => SOLR_SECURE,
    'ssl_cert' => SOLR_SSL_CERT_ONLY,
    'ssl_key'  => SOLR_SSL_KEY,
    'ssl_keypassword' => SOLR_SSL_KEYPASSWORD,
    'ssl_cainfo' => SOLR_SSL_CAINFO,
);

$cliente = new SolrClient($opciones);

$consulta = new SolrQuery('*:*');

$consulta->setFacet(true);

$consulta->addFacetField('cat')->addFacetField('name')->setFacetMinCount(2)->setFacetMinCount(4, 'name');

$respuestaActualización = $cliente->query($consulta);

$matriz_respuesta = $respuestaActualización->getResponse();

$datos_faceta = $matriz_respuesta->facet_counts->facet_fields;

print_r($datos_faceta);

?>

El resultado del ejemplo sería algo similar a:

SolrObject Object
(
    [cat] => SolrObject Object
        (
            [electronics] => 14
            [memory] => 3
            [Lucene] => 2
            [Software] => 2
            [card] => 2
            [connector] => 2
            [drive] => 2
            [graphics] => 2
            [hard] => 2
            [monitor] => 2
            [search] => 2
            [software] => 2
        )

    [name] => SolrObject Object
        (
            [gb] => 6
        )

)
solr_get_version
SolrUtils
Solr


La clase SolrUtils

(PECL solr >= 0.9.2)

Introducción

Contiene métodos de utilidad para recuperar la versión de la extensión actual y preparar frases de consultas.

También contiene métodos para escapar cadenas de consultas y analizar respuestas XML.

Sinopsis de la Clase

abstract SolrUtils {
/* Métodos */
public static SolrObject digestXmlResponse ( string $xmlresponse [, int $parse_mode = 0 ] )
public static string escapeQueryChars ( string $str )
public static string getSolrVersion ( void )
public static string queryPhrase ( string $str )
}

Tabla de contenidos

  • SolrUtils::digestXmlResponse — Convierte una cadena de respuesta XML a un objeto SolrObject
  • SolrUtils::escapeQueryChars — Escapa una cadena de consulta lucene
  • SolrUtils::getSolrVersion — Devuelve la versión actual de la extensión Solr
  • SolrUtils::queryPhrase — Prepara una frase desde una cadena lucene sin escapar
Ejemplos
SolrUtils::digestXmlResponse
Solr


Convierte una cadena de respuesta XML a un objeto SolrObject

SolrUtils
SolrUtils::escapeQueryChars
SolrUtils
PHP Manual

SolrUtils::digestXmlResponse

(PECL solr >= 0.9.2)

SolrUtils::digestXmlResponse — Convierte una cadena de respuesta XML a un objeto SolrObject

Descripción

public static SolrObject SolrUtils::digestXmlResponse ( string $xmlresponse [, int $parse_mode = 0 ] )

Este método convierte una cadena de respuesta XML del servidor Apache Solr a un objeto SolrObject. Lanza una excepción SolrException si hubo un error.

Parámetros

xmlresponse

La cadena de respuesta XML del servidor Solr.

parse_mode

Use SolrResponse::PARSE_SOLR_OBJ o SolrResponse::PARSE_SOLR_DOC

Valores devueltos

Devuelve el objeto SolrObject que representa la respuesta XML.

Si el parámetro parse_mode setá establecido a SolrResponse::PARSE_SOLR_OBJ Solr los documentos serán analizados como instancias de SolrObject.

si está establecido a SolrResponse::PARSE_SOLR_DOC, serán analizados como instancias de SolrDocument.

SolrUtils
SolrUtils::escapeQueryChars
SolrUtils


Escapa una cadena de consulta lucene

SolrUtils::digestXmlResponse
SolrUtils::getSolrVersion
SolrUtils
PHP Manual

SolrUtils::escapeQueryChars

(PECL solr >= 0.9.2)

SolrUtils::escapeQueryChars — Escapa una cadena de consulta lucene

Descripción

public static string SolrUtils::escapeQueryChars ( string $str )

Lucene soporta el escape de caracteres especiales que son parte de la sintaxis de la consulta.

La lista actual de caracteres especiales es:

+ - && || ! ( ) { } [ ] ^ " ~ * ? : \

Estos caracteres son parte de la sintaxis de la consulta y deben ser escapados

Parámetros

str

Esta es la cadena de consulta a ser escapda.

Valores devueltos

Devuelve la cadena escapada o FALSE en caso de error.

SolrUtils::digestXmlResponse
SolrUtils::getSolrVersion
SolrUtils


Devuelve la versión actual de la extensión Solr

SolrUtils::escapeQueryChars
SolrUtils::queryPhrase
SolrUtils
PHP Manual

SolrUtils::getSolrVersion

(PECL solr >= 0.9.2)

SolrUtils::getSolrVersion — Devuelve la versión actual de la extensión Solr

Descripción

public static string SolrUtils::getSolrVersion ( void )

Devuelve la versión actual de Solr.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La versión actual de la extensión Apache Solr.

SolrUtils::escapeQueryChars
SolrUtils::queryPhrase
SolrUtils


Prepara una frase desde una cadena lucene sin escapar

SolrUtils::getSolrVersion
SolrInputDocument
SolrUtils
PHP Manual

SolrUtils::queryPhrase

(PECL solr >= 0.9.2)

SolrUtils::queryPhrase — Prepara una frase desde una cadena lucene sin escapar

Descripción

public static string SolrUtils::queryPhrase ( string $str )

Prepara una frase desde una cadena lucene sin escapar.

Parámetros

str

La frase lucene.

Valores devueltos

Devuelve la frase entre comillas dobles.

SolrUtils::getSolrVersion
SolrInputDocument
SolrUtils


La clase SolrInputDocument

(PECL solr >= 0.9.2)

Introducción

Esta clase representa un documento Solr que está a punto de ser enviado al índice de Solr.

Sinopsis de la Clase

final SolrInputDocument {
/* Constantes */
const integer SORT_DEFAULT = 1 ;
const integer SORT_ASC = 1 ;
const integer SORT_DESC = 2 ;
const integer SORT_FIELD_NAME = 1 ;
const integer SORT_FIELD_VALUE_COUNT = 2 ;
const integer SORT_FIELD_BOOST_VALUE = 4 ;
/* Métodos */
public bool addField ( string $fieldName , string $fieldValue [, float $fieldBoostValue = 0.0 ] )
public bool clear ( void )
public void __clone ( void )
public __construct ( void )
public bool deleteField ( string $fieldName )
public void __destruct ( void )
public bool fieldExists ( string $fieldName )
public float getBoost ( void )
public SolrDocumentField getField ( string $fieldName )
public float getFieldBoost ( string $fieldName )
public int getFieldCount ( void )
public array getFieldNames ( void )
public bool merge ( SolrInputDocument $sourceDoc [, bool $overwrite = true ] )
public bool reset ( void )
public bool setBoost ( float $documentBoostValue )
public bool setFieldBoost ( string $fieldName , float $fieldBoostValue )
public bool sort ( int $sortOrderBy [, int $sortDirection = SolrInputDocument::SORT_ASC ] )
public array toArray ( void )
}

Constantes predefinidas

Constantes de la Clase SolrInputDocument

SolrInputDocument::SORT_DEFAULT

Ordena los campos de forma ascendente.

SolrInputDocument::SORT_ASC

Ordena los campos de forma ascendente.

SolrInputDocument::SORT_DESC

Ordena los campos de forma descendente

SolrInputDocument::SORT_FIELD_NAME

Ordena los campos por nombre

SolrInputDocument::SORT_FIELD_VALUE_COUNT

Ordena los campos según el número de valores.

SolrInputDocument::SORT_FIELD_BOOST_VALUE

Ordena los campos según el valor de boost.

Tabla de contenidos

  • SolrInputDocument::addField — Añade un campo al documento
  • SolrInputDocument::clear — Restablece el documento de entrada
  • SolrInputDocument::__clone — Crea una copia de un objeto SolrDocument
  • SolrInputDocument::__construct — Constructor
  • SolrInputDocument::deleteField — Elimina un campo del documento
  • SolrInputDocument::__destruct — Destructor
  • SolrInputDocument::fieldExists — Comprueba si existe un campo
  • SolrInputDocument::getBoost — Recupera el valor boost actual del documento
  • SolrInputDocument::getField — Recupera un campo por su nombre
  • SolrInputDocument::getFieldBoost — Recupera el valor boost de un campo en particular
  • SolrInputDocument::getFieldCount — Devuelve el número de campos del documento
  • SolrInputDocument::getFieldNames — Devuelve una matriz que contiene todos los campos del documento
  • SolrInputDocument::merge — Fusiona un documento con otro
  • SolrInputDocument::reset — Este es un alias de SolrInputDocument::clear
  • SolrInputDocument::setBoost — Establece el valor boost de este documento
  • SolrInputDocument::setFieldBoost — Establece el valor boost de tiempo del índice de un campo
  • SolrInputDocument::sort — Ordena los campos dentro de un documento
  • SolrInputDocument::toArray — Devuelve una matriz como representación del documento de entrada
SolrUtils::queryPhrase
SolrInputDocument::addField
Solr


Añade un campo al documento

SolrInputDocument
SolrInputDocument::clear
SolrInputDocument
PHP Manual

SolrInputDocument::addField

(PECL solr >= 0.9.2)

SolrInputDocument::addField — Añade un campo al documento

Descripción

public bool SolrInputDocument::addField ( string $fieldName , string $fieldValue [, float $fieldBoostValue = 0.0 ] )

Para múltiples campos, si se especifica un valor boost válido, el valor especificado será multiplicado por el valor boost actual para este campo.

Parámetros

fieldName

El nombre del campo

fieldValue

El valor del campo

fieldBoostValue

El boost de tiempo del índice. Ya que este valor no puede ser negativo, se pueden pasar aún valores menores que 1.0 pero deben ser mayores que cero.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

SolrInputDocument
SolrInputDocument::clear
SolrInputDocument


Restablece el documento de entrada

SolrInputDocument::addField
SolrInputDocument::__clone
SolrInputDocument
PHP Manual

SolrInputDocument::clear

(PECL solr >= 0.9.2)

SolrInputDocument::clear — Restablece el documento de entrada

Descripción

public bool SolrInputDocument::clear ( void )

Restablece el documento borrando todos los campos y restableciendo el boost del documento a cero.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

SolrInputDocument::addField
SolrInputDocument::__clone
SolrInputDocument


Crea una copia de un objeto SolrDocument

SolrInputDocument::clear
SolrInputDocument::__construct
SolrInputDocument
PHP Manual

SolrInputDocument::__clone

(PECL solr >= 0.9.2)

SolrInputDocument::__clone — Crea una copia de un objeto SolrDocument

Descripción

public void SolrInputDocument::__clone ( void )

No se debería llamar directamente. Se usa para crear una copia profunda de un objeto SolrInputDocument.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Crea una nueva instancia de SolrInputDocument.

SolrInputDocument::clear
SolrInputDocument::__construct
SolrInputDocument


Constructor

SolrInputDocument::__clone
SolrInputDocument::deleteField
SolrInputDocument
PHP Manual

SolrInputDocument::__construct

(PECL solr >= 0.9.2)

SolrInputDocument::__construct — Constructor

Descripción

public SolrInputDocument::__construct ( void )

Constructor.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Nada.

SolrInputDocument::__clone
SolrInputDocument::deleteField
SolrInputDocument


Elimina un campo del documento

SolrInputDocument::__construct
SolrInputDocument::__destruct
SolrInputDocument
PHP Manual

SolrInputDocument::deleteField

(PECL solr >= 0.9.2)

SolrInputDocument::deleteField — Elimina un campo del documento

Descripción

public bool SolrInputDocument::deleteField ( string $fieldName )

Elimina un campo del documento.

Parámetros

fieldName

El nombre del campo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

SolrInputDocument::__construct
SolrInputDocument::__destruct
SolrInputDocument


Destructor

SolrInputDocument::deleteField
SolrInputDocument::fieldExists
SolrInputDocument
PHP Manual

SolrInputDocument::__destruct

(PECL solr >= 0.9.2)

SolrInputDocument::__destruct — Destructor

Descripción

public void SolrInputDocument::__destruct ( void )

Destructor

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Nada.

SolrInputDocument::deleteField
SolrInputDocument::fieldExists
SolrInputDocument


Comprueba si existe un campo

SolrInputDocument::__destruct
SolrInputDocument::getBoost
SolrInputDocument
PHP Manual

SolrInputDocument::fieldExists

(PECL solr >= 0.9.2)

SolrInputDocument::fieldExists — Comprueba si existe un campo

Descripción

public bool SolrInputDocument::fieldExists ( string $fieldName )

Comprueba si existe un campo

Parámetros

fieldName

Nombre del campo.

Valores devueltos

Devuelve TRUE si se encontró el campo y FALSE si no se encontró.

SolrInputDocument::__destruct
SolrInputDocument::getBoost
SolrInputDocument


Recupera el valor boost actual del documento

SolrInputDocument::fieldExists
SolrInputDocument::getField
SolrInputDocument
PHP Manual

SolrInputDocument::getBoost

(PECL solr >= 0.9.2)

SolrInputDocument::getBoost — Recupera el valor boost actual del documento

Descripción

public float SolrInputDocument::getBoost ( void )

Recupera el valor boost actual del documento.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el valor boost en caso de éxito y FALSE en caso de fallo.

SolrInputDocument::fieldExists
SolrInputDocument::getField
SolrInputDocument


Recupera un campo por su nombre

SolrInputDocument::getBoost
SolrInputDocument::getFieldBoost
SolrInputDocument
PHP Manual

SolrInputDocument::getField

(PECL solr >= 0.9.2)

SolrInputDocument::getField — Recupera un campo por su nombre

Descripción

public SolrDocumentField SolrInputDocument::getField ( string $fieldName )

Recupera un campo del documento.

Parámetros

fieldName

El nombre del campo.

Valores devueltos

Devuelve un objeto SolrDocumentField en caso de éxito y FALSE en caso de error.

SolrInputDocument::getBoost
SolrInputDocument::getFieldBoost
SolrInputDocument


Recupera el valor boost de un campo en particular

SolrInputDocument::getField
SolrInputDocument::getFieldCount
SolrInputDocument
PHP Manual

SolrInputDocument::getFieldBoost

(PECL solr >= 0.9.2)

SolrInputDocument::getFieldBoost — Recupera el valor boost de un campo en particular

Descripción

public float SolrInputDocument::getFieldBoost ( string $fieldName )

Recupera el valor boost de un campo en particular.

Parámetros

fieldName

El nombre del campo.

Valores devueltos

Devuelve el valor boost del campo o FALSE si hubo un error.

SolrInputDocument::getField
SolrInputDocument::getFieldCount
SolrInputDocument


Devuelve el número de campos del documento

SolrInputDocument::getFieldBoost
SolrInputDocument::getFieldNames
SolrInputDocument
PHP Manual

SolrInputDocument::getFieldCount

(PECL solr >= 0.9.2)

SolrInputDocument::getFieldCount — Devuelve el número de campos del documento

Descripción

public int SolrInputDocument::getFieldCount ( void )

Devuelve el número de campos del documento.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un entero en caso de éxito o FALSE en caso de error.

SolrInputDocument::getFieldBoost
SolrInputDocument::getFieldNames
SolrInputDocument


Devuelve una matriz que contiene todos los campos del documento

SolrInputDocument::getFieldCount
SolrInputDocument::merge
SolrInputDocument
PHP Manual

SolrInputDocument::getFieldNames

(PECL solr >= 0.9.2)

SolrInputDocument::getFieldNames — Devuelve una matriz que contiene todos los campos del documento

Descripción

public array SolrInputDocument::getFieldNames ( void )

Devuelve una matriz que contiene todos los campos del documento.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una matriz en caso de éxito y FALSE en caso de fallo.

SolrInputDocument::getFieldCount
SolrInputDocument::merge
SolrInputDocument


Fusiona un documento con otro

SolrInputDocument::getFieldNames
SolrInputDocument::reset
SolrInputDocument
PHP Manual

SolrInputDocument::merge

(PECL solr >= 0.9.2)

SolrInputDocument::merge — Fusiona un documento con otro

Descripción

public bool SolrInputDocument::merge ( SolrInputDocument $sourceDoc [, bool $overwrite = true ] )

Fusiona un documento con otro.

Parámetros

sourceDoc

El documento fuente.

overwrite

Si esto es TRUE reemplazará los campos coincidentes del documento destino.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. En el futuro, esto será modificado para que devuelva el número de campos del documento nuevo.

SolrInputDocument::getFieldNames
SolrInputDocument::reset
SolrInputDocument


Este es un alias de SolrInputDocument::clear

SolrInputDocument::merge
SolrInputDocument::setBoost
SolrInputDocument
PHP Manual

SolrInputDocument::reset

(PECL solr >= 0.9.2)

SolrInputDocument::reset — Este es un alias de SolrInputDocument::clear

Descripción

public bool SolrInputDocument::reset ( void )

Este es un alias de SolrInputDocument::clear

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

SolrInputDocument::merge
SolrInputDocument::setBoost
SolrInputDocument


Establece el valor boost de este documento

SolrInputDocument::reset
SolrInputDocument::setFieldBoost
SolrInputDocument
PHP Manual

SolrInputDocument::setBoost

(PECL solr >= 0.9.2)

SolrInputDocument::setBoost — Establece el valor boost de este documento

Descripción

public bool SolrInputDocument::setBoost ( float $documentBoostValue )

Establece el valor boost de este documento.

Parámetros

documentBoostValue

El valor boost de tiempo del índice de este documento.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

SolrInputDocument::reset
SolrInputDocument::setFieldBoost
SolrInputDocument


Establece el valor boost de tiempo del índice de un campo

SolrInputDocument::setBoost
SolrInputDocument::sort
SolrInputDocument
PHP Manual

SolrInputDocument::setFieldBoost

(PECL solr >= 0.9.2)

SolrInputDocument::setFieldBoost — Establece el valor boost de tiempo del índice de un campo

Descripción

public bool SolrInputDocument::setFieldBoost ( string $fieldName , float $fieldBoostValue )

Establece el valor boost de tiempo del índice de un campo. Esto reemplaza el valor boost acutal de este campo.

Parámetros

fieldName

El nombre del campo.

fieldBoostValue

El valor boost de tiempo del índice.

SolrInputDocument::setBoost
SolrInputDocument::sort
SolrInputDocument


Ordena los campos dentro de un documento

SolrInputDocument::setFieldBoost
SolrInputDocument::toArray
SolrInputDocument
PHP Manual

SolrInputDocument::sort

(PECL solr >= 0.9.2)

SolrInputDocument::sort — Ordena los campos dentro de un documento

Descripción

public bool SolrInputDocument::sort ( int $sortOrderBy [, int $sortDirection = SolrInputDocument::SORT_ASC ] )

Los campos se cambian de lugar según el criterio y la dirección de ordenación especificados

   Los campos pueden ser ordenados por valor boost, nombre de campo y número de valores.

   El parámetro $order_by debe ser:

   * SolrInputDocument::SORT_FIELD_NAME
   * SolrInputDocument::SORT_FIELD_BOOST_VALUE
   * SolrInputDocument::SORT_FIELD_VALUE_COUNT

   La dirección de ordenación puede ser:

   * SolrInputDocument::SORT_DEFAULT
   * SolrInputDocument::SORT_ASC
   * SolrInputDocument::SORT_DESC

Parámetros

sortOrderBy

El criterio de ordenación

sortDirection

La dirección de ordenación

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

SolrInputDocument::setFieldBoost
SolrInputDocument::toArray
SolrInputDocument


Devuelve una matriz como representación del documento de entrada

SolrInputDocument::sort
SolrDocument
SolrInputDocument
PHP Manual

SolrInputDocument::toArray

(PECL solr >= 0.9.2)

SolrInputDocument::toArray — Devuelve una matriz como representación del documento de entrada

Descripción

public array SolrInputDocument::toArray ( void )

Devuelve una matriz como representación del documento de entrada.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una matriz que contiene los campos. Devuelve FALSE en caso de error.

SolrInputDocument::sort
SolrDocument
SolrInputDocument


La clase SolrDocument

(PECL solr >= 0.9.2)

Introducción

Representa un documento Solr recuperado de una respuesta a una consulta.

Sinopsis de la Clase

final SolrDocument implements ArrayAccess , Iterator , Serializable {
/* Constantes */
const integer SORT_DEFAULT = 1 ;
const integer SORT_ASC = 1 ;
const integer SORT_DESC = 2 ;
const integer SORT_FIELD_NAME = 1 ;
const integer SORT_FIELD_VALUE_COUNT = 2 ;
const integer SORT_FIELD_BOOST_VALUE = 4 ;
/* Métodos */
public bool addField ( string $fieldName , string $fieldValue )
public bool clear ( void )
public void __clone ( void )
public __construct ( void )
public SolrDocumentField current ( void )
public bool deleteField ( string $fieldName )
public void __destruct ( void )
public bool fieldExists ( string $fieldName )
public SolrDocumentField __get ( string $fieldName )
public SolrDocumentField getField ( string $fieldName )
public int getFieldCount ( void )
public array getFieldNames ( void )
public SolrInputDocument getInputDocument ( void )
public bool __isset ( string $fieldName )
public string key ( void )
public bool merge ( SolrDocument $sourceDoc [, bool $overwrite = true ] )
public void next ( void )
public bool offsetExists ( string $fieldName )
public SolrDocumentField offsetGet ( string $fieldName )
public void offsetSet ( string $fieldName , string $fieldValue )
public void offsetUnset ( string $fieldName )
public bool reset ( void )
public void rewind ( void )
public string serialize ( void )
public bool __set ( string $fieldName , string $fieldValue )
public bool sort ( int $sortOrderBy [, int $sortDirection = SolrDocument::SORT_ASC ] )
public array toArray ( void )
public void unserialize ( string $serialized )
public bool __unset ( string $fieldName )
public bool valid ( void )
}

Constantes predefinidas

SolrDocument::SORT_DEFAULT

Modo predeterminado para ordenar los campos dentro de un documento.

SolrDocument::SORT_ASC

Ordena los campos de forma ascendente

SolrDocument::SORT_DESC

Ordena los campos de forma descendente

SolrDocument::SORT_FIELD_NAME

Ordena los campos por nombre de campo.

SolrDocument::SORT_FIELD_VALUE_COUNT

Ordena los campos según el número de valores de cada campo.

SolrDocument::SORT_FIELD_BOOST_VALUE

Ordena los campos según sus valores boost.

Tabla de contenidos

  • SolrDocument::addField — añade un campo al documento
  • SolrDocument::clear — Borra todos los campos del documento
  • SolrDocument::__clone — Crea una copia de un objeto SolrDocument
  • SolrDocument::__construct — Constructor
  • SolrDocument::current — Recupera el campo actual
  • SolrDocument::deleteField — Elimina un campo del documento
  • SolrDocument::__destruct — Destructor
  • SolrDocument::fieldExists — Comprueba si existe un campo en el documento
  • SolrDocument::__get — Acceder al campo como una propiedad
  • SolrDocument::getField — Recupera un campo según su nombre
  • SolrDocument::getFieldCount — Devuelve el número de campos de este documento
  • SolrDocument::getFieldNames — Devuelve una matriz con los nombres de campos del documento
  • SolrDocument::getInputDocument — Devuelve un SolrInputDocument equivalente al objeto
  • SolrDocument::__isset — Comprueba si existe un campo
  • SolrDocument::key — Recupera la clave actual
  • SolrDocument::merge — Fusiona la fuente con el objeto SolrDocument actual
  • SolrDocument::next — Mueve el puntero interno al siguiente campo
  • SolrDocument::offsetExists — Comprueba si existe un campo en particular
  • SolrDocument::offsetGet — Recupera un campo
  • SolrDocument::offsetSet — Añade un campo al documento
  • SolrDocument::offsetUnset — Elimina un campo
  • SolrDocument::reset — Este es un alias de SolrDocument::clear()
  • SolrDocument::rewind — Reinicia el puntero interno al principio
  • SolrDocument::serialize — Usado para serialización personalizada
  • SolrDocument::__set — Añade otro campo al documento
  • SolrDocument::sort — Ordena los campos del documento
  • SolrDocument::toArray — Devuelve una matriz como representación de un documento
  • SolrDocument::unserialize — Serialización personalizada de objetos SolrDocument
  • SolrDocument::__unset — Elimina un campo del documento
  • SolrDocument::valid — Comprueba si la posición actual del puntero interno es aún válida
SolrInputDocument::toArray
SolrDocument::addField
Solr


añade un campo al documento

SolrDocument
SolrDocument::clear
SolrDocument
PHP Manual

SolrDocument::addField

(PECL solr >= 0.9.2)

SolrDocument::addField — añade un campo al documento

Descripción

public bool SolrDocument::addField ( string $fieldName , string $fieldValue )

Este método añade un campo a la instancia de SolrDocument.

Parámetros

fieldName

El nombre del campo

fieldValue

El valor del campo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

SolrDocument
SolrDocument::clear
SolrDocument


Borra todos los campos del documento

SolrDocument::addField
SolrDocument::__clone
SolrDocument
PHP Manual

SolrDocument::clear

(PECL solr >= 0.9.2)

SolrDocument::clear — Borra todos los campos del documento

Descripción

public bool SolrDocument::clear ( void )

Reinicia el objeto actual. Deshecha todos los campos y reinicia el boost del documento a cero.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

SolrDocument::addField
SolrDocument::__clone
SolrDocument


Crea una copia de un objeto SolrDocument

SolrDocument::clear
SolrDocument::__construct
SolrDocument
PHP Manual

SolrDocument::__clone

(PECL solr >= 0.9.2)

SolrDocument::__clone — Crea una copia de un objeto SolrDocument

Descripción

public void SolrDocument::__clone ( void )

Crea una copia de un objeto SolrDocument. No se debe llamar directamente.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Nada.

SolrDocument::clear
SolrDocument::__construct
SolrDocument


Constructor

SolrDocument::__clone
SolrDocument::current
SolrDocument
PHP Manual

SolrDocument::__construct

(PECL solr >= 0.9.2)

SolrDocument::__construct — Constructor

Descripción

public SolrDocument::__construct ( void )

Constructor de SolrDocument

Parámetros

Esta función no tiene parámetros.

Valores devueltos

SolrDocument::__clone
SolrDocument::current
SolrDocument


Recupera el campo actual

SolrDocument::__construct
SolrDocument::deleteField
SolrDocument
PHP Manual

SolrDocument::current

(PECL solr >= 0.9.2)

SolrDocument::current — Recupera el campo actual

Descripción

public SolrDocumentField SolrDocument::current ( void )

Recupera el campo actual

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el campo

SolrDocument::__construct
SolrDocument::deleteField
SolrDocument


Elimina un campo del documento

SolrDocument::current
SolrDocument::__destruct
SolrDocument
PHP Manual

SolrDocument::deleteField

(PECL solr >= 0.9.2)

SolrDocument::deleteField — Elimina un campo del documento

Descripción

public bool SolrDocument::deleteField ( string $fieldName )

Elimina un campo del documento.

Parámetros

fieldName

Nombre del campo

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

SolrDocument::current
SolrDocument::__destruct
SolrDocument


Destructor

SolrDocument::deleteField
SolrDocument::fieldExists
SolrDocument
PHP Manual

SolrDocument::__destruct

(PECL solr >= 0.9.2)

SolrDocument::__destruct — Destructor

Descripción

public void SolrDocument::__destruct ( void )

Destructor de SolrDocument.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

SolrDocument::deleteField
SolrDocument::fieldExists
SolrDocument


Comprueba si existe un campo en el documento

SolrDocument::__destruct
SolrDocument::__get
SolrDocument
PHP Manual

SolrDocument::fieldExists

(PECL solr >= 0.9.2)

SolrDocument::fieldExists — Comprueba si existe un campo en el documento

Descripción

public bool SolrDocument::fieldExists ( string $fieldName )

Comprueba si el campo solicitado es un nombre de campo válido del documento.

Parámetros

fieldName

El nombre del campo.

Valores devueltos

Devuelve TRUE si el campo está presente y FALSE si no lo está.

SolrDocument::__destruct
SolrDocument::__get
SolrDocument


Acceder al campo como una propiedad

SolrDocument::fieldExists
SolrDocument::getField
SolrDocument
PHP Manual

SolrDocument::__get

(PECL solr >= 0.9.2)

SolrDocument::__get — Acceder al campo como una propiedad

Descripción

public SolrDocumentField SolrDocument::__get ( string $fieldName )

Método mágico para acceder al campo como si fuera una propiedad.

Parámetros

fieldName

El nombre del campo.

Valores devueltos

Devuelve una instancia de SolrDocumentField.

SolrDocument::fieldExists
SolrDocument::getField
SolrDocument


Recupera un campo según su nombre

SolrDocument::__get
SolrDocument::getFieldCount
SolrDocument
PHP Manual

SolrDocument::getField

(PECL solr >= 0.9.2)

SolrDocument::getField — Recupera un campo según su nombre

Descripción

public SolrDocumentField SolrDocument::getField ( string $fieldName )

Recupera un campo según su nombre.

Parámetros

fieldName

Nombre del campo.

Valores devueltos

Devuelve un objeto SolrDocumentField en caso de éxito y FALSE en caso de fallo.

SolrDocument::__get
SolrDocument::getFieldCount
SolrDocument


Devuelve el número de campos de este documento

SolrDocument::getField
SolrDocument::getFieldNames
SolrDocument
PHP Manual

SolrDocument::getFieldCount

(PECL solr >= 0.9.2)

SolrDocument::getFieldCount — Devuelve el número de campos de este documento

Descripción

public int SolrDocument::getFieldCount ( void )

Devuelve el número de campos de este documento. Los campo multi valor sólo se cuentan una vez.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un entero en caso de éxito y FALSE en caso de fallo.

SolrDocument::getField
SolrDocument::getFieldNames
SolrDocument


Devuelve una matriz con los nombres de campos del documento

SolrDocument::getFieldCount
SolrDocument::getInputDocument
SolrDocument
PHP Manual

SolrDocument::getFieldNames

(PECL solr >= 0.9.2)

SolrDocument::getFieldNames — Devuelve una matriz con los nombres de campos del documento

Descripción

public array SolrDocument::getFieldNames ( void )

Devuelve una matriz con los nombres de campos del documento.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una matriz que contiene los nombres de los campos de este documento.

SolrDocument::getFieldCount
SolrDocument::getInputDocument
SolrDocument


Devuelve un SolrInputDocument equivalente al objeto

SolrDocument::getFieldNames
SolrDocument::__isset
SolrDocument
PHP Manual

SolrDocument::getInputDocument

(PECL solr >= 0.9.2)

SolrDocument::getInputDocument — Devuelve un SolrInputDocument equivalente al objeto

Descripción

public SolrInputDocument SolrDocument::getInputDocument ( void )

Devuelve un SolrInputDocument equivalente al objeto. Esto es útil si se desea reenviar/actualizar un documento recuperado desde una consulta.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un objeto SolrInputDocument en caso de éxito y NULL en caso de fallo.

SolrDocument::getFieldNames
SolrDocument::__isset
SolrDocument


Comprueba si existe un campo

SolrDocument::getInputDocument
SolrDocument::key
SolrDocument
PHP Manual

SolrDocument::__isset

(PECL solr >= 0.9.2)

SolrDocument::__isset — Comprueba si existe un campo

Descripción

public bool SolrDocument::__isset ( string $fieldName )

Comprueba si existe un campo

Parámetros

fieldName

Nombre del campo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

SolrDocument::getInputDocument
SolrDocument::key
SolrDocument


Recupera la clave actual

SolrDocument::__isset
SolrDocument::merge
SolrDocument
PHP Manual

SolrDocument::key

(PECL solr >= 0.9.2)

SolrDocument::key — Recupera la clave actual

Descripción

public string SolrDocument::key ( void )

Recupera la clave actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la clave actual.

SolrDocument::__isset
SolrDocument::merge
SolrDocument


Fusiona la fuente con el objeto SolrDocument actual

SolrDocument::key
SolrDocument::next
SolrDocument
PHP Manual

SolrDocument::merge

(PECL solr >= 0.9.2)

SolrDocument::merge — Fusiona la fuente con el objeto SolrDocument actual

Descripción

public bool SolrDocument::merge ( SolrDocument $sourceDoc [, bool $overwrite = true ] )

Fusiona la fuente con el objeto SolrDocument actual.

Parámetros

sourceDoc

El documento fuente.

overwrite

Si esto es TRUE los campos con el mismo nombre que los del documento destino serán sobrescritos.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

SolrDocument::key
SolrDocument::next
SolrDocument


Mueve el puntero interno al siguiente campo

SolrDocument::merge
SolrDocument::offsetExists
SolrDocument
PHP Manual

SolrDocument::next

(PECL solr >= 0.9.2)

SolrDocument::next — Mueve el puntero interno al siguiente campo

Descripción

public void SolrDocument::next ( void )

Mueve el puntero interno al siguiente campo.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Este método no devuelve ningún valor.

SolrDocument::merge
SolrDocument::offsetExists
SolrDocument


Comprueba si existe un campo en particular

SolrDocument::next
SolrDocument::offsetGet
SolrDocument
PHP Manual

SolrDocument::offsetExists

(PECL solr >= 0.9.2)

SolrDocument::offsetExists — Comprueba si existe un campo en particular

Descripción

public bool SolrDocument::offsetExists ( string $fieldName )

Comprueba si existe un campo en particular. Se usa cuando un objeto es tratado como una matriz.

Parámetros

fieldName

El nombre del campo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

SolrDocument::next
SolrDocument::offsetGet
SolrDocument


Recupera un campo

SolrDocument::offsetExists
SolrDocument::offsetSet
SolrDocument
PHP Manual

SolrDocument::offsetGet

(PECL solr >= 0.9.2)

SolrDocument::offsetGet — Recupera un campo

Descripción

public SolrDocumentField SolrDocument::offsetGet ( string $fieldName )

Se usa para recuperar un campo cuando el objeto es tratado como una matriz.

Parámetros

fieldName

El nombre del campo.

Valores devueltos

Devuelve un objeto SolrDocumentField.

SolrDocument::offsetExists
SolrDocument::offsetSet
SolrDocument


Añade un campo al documento

SolrDocument::offsetGet
SolrDocument::offsetUnset
SolrDocument
PHP Manual

SolrDocument::offsetSet

(PECL solr >= 0.9.2)

SolrDocument::offsetSet — Añade un campo al documento

Descripción

public void SolrDocument::offsetSet ( string $fieldName , string $fieldValue )

Se usa cuando el objeto es tratado como una matriz para añadir un campo al documento.

Parámetros

fieldName

El nombre del campo.

fieldValue

El valor del campo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

SolrDocument::offsetGet
SolrDocument::offsetUnset
SolrDocument


Elimina un campo

SolrDocument::offsetSet
SolrDocument::reset
SolrDocument
PHP Manual

SolrDocument::offsetUnset

(PECL solr >= 0.9.2)

SolrDocument::offsetUnset — Elimina un campo

Descripción

public void SolrDocument::offsetUnset ( string $fieldName )

Elimina un campo del documento.

Parámetros

fieldName

El nombre del campo.

Valores devueltos

No se devuelve ningún valor.

SolrDocument::offsetSet
SolrDocument::reset
SolrDocument


Este es un alias de SolrDocument::clear()

SolrDocument::offsetUnset
SolrDocument::rewind
SolrDocument
PHP Manual

SolrDocument::reset

(PECL solr >= 0.9.2)

SolrDocument::reset — Este es un alias de SolrDocument::clear()

Descripción

public bool SolrDocument::reset ( void )

Este es un alias de SolrDocument::clear()

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

SolrDocument::offsetUnset
SolrDocument::rewind
SolrDocument


Reinicia el puntero interno al principio

SolrDocument::reset
SolrDocument::serialize
SolrDocument
PHP Manual

SolrDocument::rewind

(PECL solr >= 0.9.2)

SolrDocument::rewind — Reinicia el puntero interno al principio

Descripción

public void SolrDocument::rewind ( void )

Reinicia el puntero interno al principio.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Este método no devuelve ningún valor.

SolrDocument::reset
SolrDocument::serialize
SolrDocument


Usado para serialización personalizada

SolrDocument::rewind
SolrDocument::__set
SolrDocument
PHP Manual

SolrDocument::serialize

(PECL solr >= 0.9.2)

SolrDocument::serialize — Usado para serialización personalizada

Descripción

public string SolrDocument::serialize ( void )

Usado para serialización personalizada.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una cadena que representa el documento Solr serializado.

SolrDocument::rewind
SolrDocument::__set
SolrDocument


Añade otro campo al documento

SolrDocument::serialize
SolrDocument::sort
SolrDocument
PHP Manual

SolrDocument::__set

(PECL solr >= 0.9.2)

SolrDocument::__set — Añade otro campo al documento

Descripción

public bool SolrDocument::__set ( string $fieldName , string $fieldValue )

Añade otro campo al documento. Se usa para establecer el campo como propiedades nuevas.

Parámetros

fieldName

Nombre del campo.

fieldValue

Valor del campo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

SolrDocument::serialize
SolrDocument::sort
SolrDocument


Ordena los campos del documento

SolrDocument::__set
SolrDocument::toArray
SolrDocument
PHP Manual

SolrDocument::sort

(PECL solr >= 0.9.2)

SolrDocument::sort — Ordena los campos del documento

Descripción

public bool SolrDocument::sort ( int $sortOrderBy [, int $sortDirection = SolrDocument::SORT_ASC ] )

Los campos se cambian de lugar según el criterio y la dirección de ordenación especificados

   Los campos pueden ser ordenados por valor boost, nombre de campo y número de valores.

   El parámetro sortOrderBy debe ser:

   * SolrDocument::SORT_FIELD_NAME
   * SolrDocument::SORT_FIELD_BOOST_VALUE
   * SolrDocument::SORT_FIELD_VALUE_COUNT

   El parámetro sortDirection puede ser:

   * SolrDocument::SORT_DEFAULT
   * SolrDocument::SORT_ASC
   * SolrDocument::SORT_DESC

   La ordenación predeterminada es de manera ascendente.

Parámetros

sortOrderBy

El criterio de ordenación.

sortDirection

La dirección de ordenación.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

SolrDocument::__set
SolrDocument::toArray
SolrDocument


Devuelve una matriz como representación de un documento

SolrDocument::sort
SolrDocument::unserialize
SolrDocument
PHP Manual

SolrDocument::toArray

(PECL solr >= 0.9.2)

SolrDocument::toArray — Devuelve una matriz como representación de un documento

Descripción

public array SolrDocument::toArray ( void )

Devuelve una matriz como representación de un documento.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una matriz como representación de un documento.

Ejemplos

Ejemplo #1 Ejemplo de SolrDocument::toArray()

<?php

$doc = new SolrDocument();

$doc->addField('id', 1123);

$doc->features = "PHP Client Side";
$doc->features = "Fast development cycles";

$doc['cat'] = 'Software';
$doc['cat'] = 'Custom Search';
$doc->cat   = 'Information Technology';

print_r($doc->toArray());

?>

El resultado del ejemplo sería algo similar a:

Array
(
    [document_boost] => 0
    [field_count] => 3
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => 1123
                        )

                )

            [1] => SolrDocumentField Object
                (
                    [name] => features
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => PHP Client Side
                            [1] => Fast development cycles
                        )

                )

            [2] => SolrDocumentField Object
                (
                    [name] => cat
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => Software
                            [1] => Custom Search
                            [2] => Information Technology
                        )

                )

        )

)

SolrDocument::sort
SolrDocument::unserialize
SolrDocument


Serialización personalizada de objetos SolrDocument

SolrDocument::toArray
SolrDocument::__unset
SolrDocument
PHP Manual

SolrDocument::unserialize

(PECL solr >= 0.9.2)

SolrDocument::unserialize — Serialización personalizada de objetos SolrDocument

Descripción

public void SolrDocument::unserialize ( string $serialized )

Serialización personalizada de objetos SolrDocument

Parámetros

serialized

Una representación XML del documento.

Valores devueltos

Nada.

SolrDocument::toArray
SolrDocument::__unset
SolrDocument


Elimina un campo del documento

SolrDocument::unserialize
SolrDocument::valid
SolrDocument
PHP Manual

SolrDocument::__unset

(PECL solr >= 0.9.2)

SolrDocument::__unset — Elimina un campo del documento

Descripción

public bool SolrDocument::__unset ( string $fieldName )

Elimina un campo del documento cuando al campo se accede como una propiedad del objeto.

Parámetros

fieldName

El nombre del campo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

SolrDocument::unserialize
SolrDocument::valid
SolrDocument


Comprueba si la posición actual del puntero interno es aún válida

SolrDocument::__unset
SolrDocumentField
SolrDocument
PHP Manual

SolrDocument::valid

(PECL solr >= 0.9.2)

SolrDocument::valid — Comprueba si la posición actual del puntero interno es aún válida

Descripción

public bool SolrDocument::valid ( void )

Comprueba si la posición actual del puntero interno es aún válida. Se usa durante operaciones foreach.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito y FALSE si la posición actual ya no es válida.

SolrDocument::__unset
SolrDocumentField
SolrDocument


La clase SolrDocumentField

(PECL solr >= 0.9.2)

Introducción

Representa un campo de un documento Solr. Todas sus propiedades son de sólo lectura.

Sinopsis de la Clase

final SolrDocumentField {
/* Propiedades */
readonly public string $name ;
readonly public float $boost ;
readonly public array $values ;
/* Métodos */
public __construct ( void )
public void __destruct ( void )
}

Propiedades

name

El nombre del campo.

boost

El valor de boost del campo

values

Una matriz de valores para este campo

Tabla de contenidos

  • SolrDocumentField::__construct — Constructor
  • SolrDocumentField::__destruct — Destructor
SolrDocument::valid
SolrDocumentField::__construct
Solr


Constructor

SolrDocumentField
SolrDocumentField::__destruct
SolrDocumentField
PHP Manual

SolrDocumentField::__construct

(PECL solr >= 0.9.2)

SolrDocumentField::__construct — Constructor

Descripción

public SolrDocumentField::__construct ( void )

Constructor.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Nada.

SolrDocumentField
SolrDocumentField::__destruct
SolrDocumentField


Destructor

SolrDocumentField::__construct
SolrObject
SolrDocumentField
PHP Manual

SolrDocumentField::__destruct

(PECL solr >= 0.9.2)

SolrDocumentField::__destruct — Destructor

Descripción

public void SolrDocumentField::__destruct ( void )

Destructor.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Nada.

SolrDocumentField::__construct
SolrObject
SolrDocumentField


La clase SolrObject

(PECL solr >= 0.9.2)

Introducción

Es un objeto a cuyas propiedades también se pueden acceder usando la sintaxis de array. Todas sus propiedades son de sólo lectura.

Sinopsis de la Clase

final SolrObject implements ArrayAccess {
/* Métodos */
public __construct ( void )
public void __destruct ( void )
public array getPropertyNames ( void )
public bool offsetExists ( string $property_name )
public mixed offsetGet ( string $property_name )
public void offsetSet ( string $property_name , string $property_value )
public void offsetUnset ( string $property_name )
}

Tabla de contenidos

  • SolrObject::__construct — Crea un objeto Solr
  • SolrObject::__destruct — Destructor
  • SolrObject::getPropertyNames — Devuelve una matriz de todos los nombres de las propiedades
  • SolrObject::offsetExists — Comprueba si la propiedad existe
  • SolrObject::offsetGet — Usado para recuperar una propiedad
  • SolrObject::offsetSet — Establece el valor de una propiedad
  • SolrObject::offsetUnset — Establece el valor para la propiedad
SolrDocumentField::__destruct
SolrObject::__construct
Solr


Crea un objeto Solr

SolrObject
SolrObject::__destruct
SolrObject
PHP Manual

SolrObject::__construct

(PECL solr >= 0.9.2)

SolrObject::__construct — Crea un objeto Solr

Descripción

public SolrObject::__construct ( void )

Crea un objeto Solr.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Nada

Ejemplos

Ejemplo #1 Ejemplo de SolrObject::__construct()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

SolrObject
SolrObject::__destruct
SolrObject


Destructor

SolrObject::__construct
SolrObject::getPropertyNames
SolrObject
PHP Manual

SolrObject::__destruct

(PECL solr >= 0.9.2)

SolrObject::__destruct — Destructor

Descripción

public void SolrObject::__destruct ( void )

El destructor

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Nada.

SolrObject::__construct
SolrObject::getPropertyNames
SolrObject


Devuelve una matriz de todos los nombres de las propiedades

SolrObject::__destruct
SolrObject::offsetExists
SolrObject
PHP Manual

SolrObject::getPropertyNames

(PECL solr >= 0.9.2)

SolrObject::getPropertyNames — Devuelve una matriz de todos los nombres de las propiedades

Descripción

public array SolrObject::getPropertyNames ( void )

Devuelve una matriz de todos los nombres de las propiedades.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una matriz.

SolrObject::__destruct
SolrObject::offsetExists
SolrObject


Comprueba si la propiedad existe

SolrObject::getPropertyNames
SolrObject::offsetGet
SolrObject
PHP Manual

SolrObject::offsetExists

(PECL solr >= 0.9.2)

SolrObject::offsetExists — Comprueba si la propiedad existe

Descripción

public bool SolrObject::offsetExists ( string $property_name )

Comprueba si la propiedad existe. Se usa cuando el objeto es tratado como una matriz.

Parámetros

property_name

El nombre de la propiedad.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

SolrObject::getPropertyNames
SolrObject::offsetGet
SolrObject


Usado para recuperar una propiedad

SolrObject::offsetExists
SolrObject::offsetSet
SolrObject
PHP Manual

SolrObject::offsetGet

(PECL solr >= 0.9.2)

SolrObject::offsetGet — Usado para recuperar una propiedad

Descripción

public mixed SolrObject::offsetGet ( string $property_name )

Usado para obtener el valor de una propiedad. Se utiliza cuando un objeto es tratado como una matriz.

Parámetros

property_name

Nombre de la propiedad.

Valores devueltos

Devuelve el valor de la propiedad.

SolrObject::offsetExists
SolrObject::offsetSet
SolrObject


Establece el valor de una propiedad

SolrObject::offsetGet
SolrObject::offsetUnset
SolrObject
PHP Manual

SolrObject::offsetSet

(PECL solr >= 0.9.2)

SolrObject::offsetSet — Establece el valor de una propiedad

Descripción

public void SolrObject::offsetSet ( string $property_name , string $property_value )

Establece el valor de una propiedad. Se usa cuando el objeto es tratado como una matriz. Este objeto es de sólo lectura. Esto nunva debería intentarse.

Parámetros

property_name

El nombre de la propiedad.

property_value

El nuevo valor.

Valores devueltos

Nada.

SolrObject::offsetGet
SolrObject::offsetUnset
SolrObject


Establece el valor para la propiedad

SolrObject::offsetSet
SolrClient
SolrObject
PHP Manual

SolrObject::offsetUnset

(PECL solr >= 0.9.2)

SolrObject::offsetUnset — Establece el valor para la propiedad

Descripción

public void SolrObject::offsetUnset ( string $property_name )

Establece el valor de una propiedad. Se usa cuando el objeto es tratado como una matriz. Este objeto es de sólo lectura. Esto nunva debería intentarse.

Parámetros

property_name

El nombre de la propiedad.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de SolrObject::offsetUnset()

<?php
/* ... */
?>

El resultado del ejemplo sería algo similar a:

...

Ver también

  • Classname::Method()

SolrObject::offsetSet
SolrClient
SolrObject


La clase SolrClient

(PECL solr >= 0.9.2)

Introducción

Usada para enviar solicitudes al servidor Solr. Actualmente no está soportado clonar y serializar instancias de SolrClient.

Sinopsis de la Clase

final SolrClient {
/* Constantes */
const integer SEARCH_SERVLET_TYPE = 1 ;
const integer UPDATE_SERVLET_TYPE = 2 ;
const integer THREADS_SERVLET_TYPE = 4 ;
const integer PING_SERVLET_TYPE = 8 ;
const integer TERMS_SERVLET_TYPE = 16 ;
const string DEFAULT_SEARCH_SERVLET = select ;
const string DEFAULT_UPDATE_SERVLET = update ;
const string DEFAULT_THREADS_SERVLET = admin/threads ;
const string DEFAULT_PING_SERVLET = admin/ping ;
const string DEFAULT_TERMS_SERVLET = terms ;
/* Métodos */
public SolrUpdateResponse addDocument ( SolrInputDocument $doc [, bool $allowDups = false [, int $commitWithin = 0 ]] )
public void addDocuments ( array $docs [, bool $allowDups = false [, int $commitWithin = 0 ]] )
public SolrUpdateResponse commit ([ int $maxSegments = "1" [, bool $waitFlush = true [, bool $waitSearcher = true ]]] )
public __construct ( array $clientOptions )
public SolrUpdateResponse deleteById ( string $id )
public SolrUpdateResponse deleteByIds ( array $ids )
public SolrUpdateResponse deleteByQueries ( array $queries )
public SolrUpdateResponse deleteByQuery ( string $query )
public void __destruct ( void )
public string getDebug ( void )
public array getOptions ( void )
public SolrUpdateResponse optimize ([ int $maxSegments = "1" [, bool $waitFlush = true [, bool $waitSearcher = true ]]] )
public SolrPingResponse ping ( void )
public SolrQueryResponse query ( SolrParams $query )
public void request ( string $raw_request )
public SolrUpdateResponse rollback ( void )
public void setResponseWriter ( string $responseWriter )
public bool setServlet ( int $type , string $value )
public void threads ( void )
}

Constantes predefinidas

SolrClient::SEARCH_SERVLET_TYPE

Usado cuando se actualiza servlet de búsqueda.

SolrClient::UPDATE_SERVLET_TYPE

Usado cuando se actualiza el servlet de actualización.

SolrClient::THREADS_SERVLET_TYPE

Usado cuando se actualiza el servlet de hilos.

SolrClient::PING_SERVLET_TYPE

Usado cuando se actualiza el servlet de ping.

SolrClient::TERMS_SERVLET_TYPE

Usado cuando se actualiza el servlet de términos.

SolrClient::DEFAULT_SEARCH_SERVLET

Este es el valor inicial del servlet de búsqueda.

SolrClient::DEFAULT_UPDATE_SERVLET

Este es el valor inicial del servlet de actualizacion.

SolrClient::DEFAULT_THREADS_SERVLET

Este es el valor inicial del servlet de hilos.

SolrClient::DEFAULT_PING_SERVLET

Este es el valor inicial del servlet de ping.

SolrClient::DEFAULT_TERMS_SERVLET

Este es el valor inicial del servlet de términos usados por TermsComponent

Tabla de contenidos

  • SolrClient::addDocument — Añade un documento al índice
  • SolrClient::addDocuments — Añade una colección de instancias de SolrInputDocument al índice
  • SolrClient::commit — Finaliza todas las añadiduras/eliminaciones hechas al índice
  • SolrClient::__construct — Constructor para el objeto SolrClient
  • SolrClient::deleteById — Eliminar por Id
  • SolrClient::deleteByIds — Elimina mediante Ids
  • SolrClient::deleteByQueries — Elimina todos los documentos que coincidan con cualquiera de las consultas
  • SolrClient::deleteByQuery — Elimina todos los documentos que coincidan con la consulta dada
  • SolrClient::__destruct — Destructor para SolrClient
  • SolrClient::getDebug — Devuelve la información de depuración para el último intento de conexión
  • SolrClient::getOptions — Devuelve las opciones de cliente establecidas internamente
  • SolrClient::optimize — Defragmenta el índice
  • SolrClient::ping — Comprueba si el servidor Solr está todavía activo
  • SolrClient::query — Envía una consulta al servidor
  • SolrClient::request — Envía una petición de actualización sin formato
  • SolrClient::rollback — Revierte todos los añadidos/eliminados hechos en el índice desde el último envío
  • SolrClient::setResponseWriter — Establece el autor de la respuesta usado para preparar la respuesta de Solr
  • SolrClient::setServlet — Cambia el servlet especificado a un nuevo valor
  • SolrClient::threads — Verifica el estado de los hilos
SolrObject::offsetUnset
SolrClient::addDocument
Solr


Añade un documento al índice

SolrClient
SolrClient::addDocuments
SolrClient
PHP Manual

SolrClient::addDocument

(PECL solr >= 0.9.2)

SolrClient::addDocument — Añade un documento al índice

Descripción

public SolrUpdateResponse SolrClient::addDocument ( SolrInputDocument $doc [, bool $allowDups = false [, int $commitWithin = 0 ]] )

Este método añade un documento al índice.

Parámetros

doc

La instancia de SolrInputDocument.

allowDups

Si se establece a FALSE los duplicados serán sobrescritos.

commitWithin

Número de milisegundos dentro de los que enviar este documento. Disponible desde Solr 1.4

Valores devueltos

Devuelve un objeto SolrUpdateResponse en caso de éxito o lanza una excepción SolrClientException en caso de fallo.

Ejemplos

Ejemplo #1 Ejemplo de SolrClient::addDocument()

<?php

$opciones = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$cliente = new SolrClient($opciones);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

$respuestaActualización = $cliente->addDocument($doc);

print_r($respuestaActualización->getResponse());

?>

El resultado del ejemplo sería algo similar a:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
        )

)

Ver también

  • SolrClient::addDocuments() - Añade una colección de instancias de SolrInputDocument al índice

SolrClient
SolrClient::addDocuments
SolrClient


Añade una colección de instancias de SolrInputDocument al índice

SolrClient::addDocument
SolrClient::commit
SolrClient
PHP Manual

SolrClient::addDocuments

(PECL solr >= 0.9.2)

SolrClient::addDocuments — Añade una colección de instancias de SolrInputDocument al índice

Descripción

public void SolrClient::addDocuments ( array $docs [, bool $allowDups = false [, int $commitWithin = 0 ]] )

Añade una colección de documentos al índice.

Parámetros

docs

Una matriz que contiene la colección de instancias de SolrInputDocument. Esta matriz debe ser una variable real.

allowDups

Si se establece a FALSE los duplicados serán sobrescritos.

commitWithin

Número de milisegundos dentro de los cuales enviar los documentos al índice. Sólo está disponible desde Solr 1.4

Valores devueltos

Devuelve un objeto SolrUpdateResponse en caso de éxito y lanza una excepción SolrClientException en caso de fallo.

Ejemplos

Ejemplo #1 Ejemplo de SolrClient::addDocuments()

<?php

$opciones = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$cliente = new SolrClient($opciones);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

$doc2 = clone $doc;

$doc2->deleteField('id');
$doc2->addField('id', 334456);

$docs = array($doc, $doc2);

$respuestaActualización = $cliente->addDocuments($docs);

print_r($respuestaActualización->getResponse());

?>

El resultado del ejemplo sería algo similar a:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 2
        )

)

Ver también

  • SolrClient::addDocument() - Añade un documento al índice

SolrClient::addDocument
SolrClient::commit
SolrClient


Finaliza todas las añadiduras/eliminaciones hechas al índice

SolrClient::addDocuments
SolrClient::__construct
SolrClient
PHP Manual

SolrClient::commit

(PECL solr >= 0.9.2)

SolrClient::commit — Finaliza todas las añadiduras/eliminaciones hechas al índice

Descripción

public SolrUpdateResponse SolrClient::commit ([ int $maxSegments = "1" [, bool $waitFlush = true [, bool $waitSearcher = true ]]] )

Este método finaliza todas las añadiduras/eliminaciones hechas al índice.

Parámetros

maxSegments

Optimiza cómo máximo este número de segmentos. Desde Solr 1.3

waitFlush

Bloqueo hasta que los cambios del indice sean volcados a disco.

waitSearcher

Bloqueo hasta que un nuevo buscador sea abierto y registrado como el buscador de consultas principal, haciendo los cambios visibles.

Valores devueltos

Devuelve un objeto SolrUpdateResponse en caso de éxito o lanza un excepción SolrClientException en caso de fallo.

Ver también

  • SolrClient::optimize() - Defragmenta el índice
  • SolrClient::rollback() - Revierte todos los añadidos/eliminados hechos en el índice desde el último envío

SolrClient::addDocuments
SolrClient::__construct
SolrClient


Constructor para el objeto SolrClient

SolrClient::commit
SolrClient::deleteById
SolrClient
PHP Manual

SolrClient::__construct

(PECL solr >= 0.9.2)

SolrClient::__construct — Constructor para el objeto SolrClient

Descripción

public SolrClient::__construct ( array $clientOptions )

Constructor para el objeto SolrClient

Parámetros

clientOptions

Esto es una matriz que contiene una de las siguientes claves:

- secure          (Valor booleano que indica si conectarse o no en modo seguro)
 - hostname        (El nombre del host para el servidor Solr)
 - port            (El número de puerto)
 - path            (La ruta del servidor solr)
 - wt              (El nombre del autor de la respueste p.ej. xml, phpnative)
 - login           (EL nombre de usuario para la Autenticación HTTP, si la hubiera)
 - password        (La contraseña de la Autenticación HTTP)
 - proxy_host      (El nombre del host para el servidor proxy, si lo hubiera)
 - proxy_port      (El puerto del servidor proxy)
 - proxy_login     (El nombre de usuario del proxy)
 - proxy_password  (La contraseña del proxy)
 - timeout         (El tiempo máximo en segundos permitido para la operación de transferencia de datos http. Por defecto es 30 segundos)
 - ssl_cert        (Nombre de archivo a un archvio con formato PEM que contiene la clave + certificado privados (concatenado en ese orden) )
 - ssl_key         (Nombre de archivo a un archivo de clave privada con formato PEM)
 - ssl_keypassword (Contraseña para la clave privada)
 - ssl_cainfo      (Nombre del archivo que mantiene uno o más certificados CA para ser verificados con su par)
 - ssl_capath      (Nombre del directorio que mantiene múltiples certificados CA para ser verificados con su par)

 Por favor, observe que si el archivo ssl_cert solamente contiene el certificado privado, se tiene que especificar un archivo ssl_key distinto

 La opción ssl_keypassword es necesaria si las opciones ssl_cert o ssl_key están establecidas.

Ejemplos

Ejemplo #1 Ejemplo de SolrClient::__construct()

<?php

$opciones = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'     => SOLR_PATH_TO_SOLR,
    'wt'       => SOLR_PHP_NATIVE_RESPONSE_WRITER,
);

$cliente = new SolrClient($opciones);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

$respuestaActualización = $cliente->addDocument($doc);

?>

El resultado del ejemplo sería algo similar a:

Ver también

  • SolrClient::getOptions() - Devuelve las opciones de cliente establecidas internamente

SolrClient::commit
SolrClient::deleteById
SolrClient


Eliminar por Id

SolrClient::__construct
SolrClient::deleteByIds
SolrClient
PHP Manual

SolrClient::deleteById

(PECL solr >= 0.9.2)

SolrClient::deleteById — Eliminar por Id

Descripción

public SolrUpdateResponse SolrClient::deleteById ( string $id )

Elimina el documento con el ID especificado, donde ID es el valor del campo uniqueKey declarado en el esquema.

Parámetros

id

El valor del campo uniqueKey declarado en el esquema

Valores devueltos

Devuelve un objeto SolrUpdateResponse en caso de éxito y lanza una excepción SolrClientException en caso de fallo.

Ver también

  • SolrClient::deleteByIds() - Elimina mediante Ids
  • SolrClient::deleteByQuery() - Elimina todos los documentos que coincidan con la consulta dada
  • SolrClient::deleteByQueries() - Elimina todos los documentos que coincidan con cualquiera de las consultas

SolrClient::__construct
SolrClient::deleteByIds
SolrClient


Elimina mediante Ids

SolrClient::deleteById
SolrClient::deleteByQueries
SolrClient
PHP Manual

SolrClient::deleteByIds

(PECL solr >= 0.9.2)

SolrClient::deleteByIds — Elimina mediante Ids

Descripción

public SolrUpdateResponse SolrClient::deleteByIds ( array $ids )

Elimina una colección de documentos con el conjunto de ids especificado.

Parámetros

ids

Una matriz de IDs que representa el campo uniqueKey declarado en el esquema para cada documento a ser eliminado. Debe ser una variable de PHP real.

Valores devueltos

Devuelve un objeto SolrUpdateResponse en caso de éxito y lanza una excepción SolrClientException en caso de fallo.

Ver también

  • SolrClient::deleteById() - Eliminar por Id
  • SolrClient::deleteByQuery() - Elimina todos los documentos que coincidan con la consulta dada
  • SolrClient::deleteByQueries() - Elimina todos los documentos que coincidan con cualquiera de las consultas

SolrClient::deleteById
SolrClient::deleteByQueries
SolrClient


Elimina todos los documentos que coincidan con cualquiera de las consultas

SolrClient::deleteByIds
SolrClient::deleteByQuery
SolrClient
PHP Manual

SolrClient::deleteByQueries

(PECL solr >= 0.9.2)

SolrClient::deleteByQueries — Elimina todos los documentos que coincidan con cualquiera de las consultas

Descripción

public SolrUpdateResponse SolrClient::deleteByQueries ( array $queries )

Elimina todos los documentos que coincidan con cualquiera de las consultas

Parámetros

queries

La matriz de consultas. Debe ser una variable de php real.

Valores devueltos

Devuelve un objeto SolrUpdateResponse en caso de éxito y lanza una excepción SolrClientException en caso de fallo.

Ver también

  • SolrClient::deleteById() - Eliminar por Id
  • SolrClient::deleteByIds() - Elimina mediante Ids
  • SolrClient::deleteByQuery() - Elimina todos los documentos que coincidan con la consulta dada

SolrClient::deleteByIds
SolrClient::deleteByQuery
SolrClient


Elimina todos los documentos que coincidan con la consulta dada

SolrClient::deleteByQueries
SolrClient::__destruct
SolrClient
PHP Manual

SolrClient::deleteByQuery

(PECL solr >= 0.9.2)

SolrClient::deleteByQuery — Elimina todos los documentos que coincidan con la consulta dada

Descripción

public SolrUpdateResponse SolrClient::deleteByQuery ( string $query )

Elimina todos los documentos que coincidan con la consulta dada.

Parámetros

query

La consulta

Valores devueltos

Devuelve un objeto SolrUpdateResponse en caso de éxito y lanza una excepción SolrClientException en caso de fallo.

Ejemplos

Ejemplo #1 Ejemplo de SolrQuery::deleteByQuery()

<?php

$opciones = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$cliente = new SolrClient($opciones);

//Esto borrará el índice por completo
$cliente->deleteByQuery("*:*");
$cliente->commit();

?>

Ver también

  • SolrClient::deleteById() - Eliminar por Id
  • SolrClient::deleteByIds() - Elimina mediante Ids
  • SolrClient::deleteByQueries() - Elimina todos los documentos que coincidan con cualquiera de las consultas

SolrClient::deleteByQueries
SolrClient::__destruct
SolrClient


Destructor para SolrClient

SolrClient::deleteByQuery
SolrClient::getDebug
SolrClient
PHP Manual

SolrClient::__destruct

(PECL solr >= 0.9.2)

SolrClient::__destruct — Destructor para SolrClient

Descripción

public void SolrClient::__destruct ( void )

Destructor

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Destructor para SolrClient

Ver también

  • SolrClient::__construct() - Constructor para el objeto SolrClient

SolrClient::deleteByQuery
SolrClient::getDebug
SolrClient


Devuelve la información de depuración para el último intento de conexión

SolrClient::__destruct
SolrClient::getOptions
SolrClient
PHP Manual

SolrClient::getDebug

(PECL solr >= 0.9.7)

SolrClient::getDebug — Devuelve la información de depuración para el último intento de conexión

Descripción

public string SolrClient::getDebug ( void )

Devuelve la información de depuración para el último intento de conexión

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una cadena en caso de éxito y null si no hay nada que devolver.

SolrClient::__destruct
SolrClient::getOptions
SolrClient


Devuelve las opciones de cliente establecidas internamente

SolrClient::getDebug
SolrClient::optimize
SolrClient
PHP Manual

SolrClient::getOptions

(PECL solr >= 0.9.6)

SolrClient::getOptions — Devuelve las opciones de cliente establecidas internamente

Descripción

public array SolrClient::getOptions ( void )

Devuelve las opciones de cliente establecidas internamente. Muy útil para depurar. Los valores devueltos son de sólo lectura y sólo se pueden establecer cuando el objeto es instanciado.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una matriz que contiene todas las opciones para el objeto SolrClient establecido internamente.

Ver también

  • SolrClient::__construct() - Constructor para el objeto SolrClient

SolrClient::getDebug
SolrClient::optimize
SolrClient


Defragmenta el índice

SolrClient::getOptions
SolrClient::ping
SolrClient
PHP Manual

SolrClient::optimize

(PECL solr >= 0.9.2)

SolrClient::optimize — Defragmenta el índice

Descripción

public SolrUpdateResponse SolrClient::optimize ([ int $maxSegments = "1" [, bool $waitFlush = true [, bool $waitSearcher = true ]]] )

Defragmenta el índice para un rendimiento de búsquda más rápido.

Parámetros

maxSegments

Optimiza como máximo este número de segmentos. Desde Solr 1.3

waitFlush

Bloqueo hasta que los cambios del índice sean volcados a disco.

waitSearcher

Bloquo hasta que un nuevo buscador sea abierto y registrado como el buscador de consultas principal, haciendo los cambios visibles.

Valores devueltos

Devuelve un objeto SolrUpdateResponse en caso de éxito. Lanza una excepción SolrClientException en caso de fallo.

Ver también

  • SolrClient::commit() - Finaliza todas las añadiduras/eliminaciones hechas al índice
  • SolrClient::rollback() - Revierte todos los añadidos/eliminados hechos en el índice desde el último envío

SolrClient::getOptions
SolrClient::ping
SolrClient


Comprueba si el servidor Solr está todavía activo

SolrClient::optimize
SolrClient::query
SolrClient
PHP Manual

SolrClient::ping

(PECL solr >= 0.9.2)

SolrClient::ping — Comprueba si el servidor Solr está todavía activo

Descripción

public SolrPingResponse SolrClient::ping ( void )

Comprueba si el servidor Solr está todavía activo. Envía una petición HEAD al servidor Apache Solr.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un objeto SolrPingResponse en caso de éxito. Lanza una excepción SolrClientException en caso de fallo.

Ejemplos

Ejemplo #1 Ejemplo de SolrClient::ping()

<?php
$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$pingresponse = $client->ping();

?>

El resultado del ejemplo sería algo similar a:

SolrClient::optimize
SolrClient::query
SolrClient


Envía una consulta al servidor

SolrClient::ping
SolrClient::request
SolrClient
PHP Manual

SolrClient::query

(PECL solr >= 0.9.2)

SolrClient::query — Envía una consulta al servidor

Descripción

public SolrQueryResponse SolrClient::query ( SolrParams $query )

Envía una consulta al servidor.

Parámetros

query

Un objeto SolrParam. Se recomienda usar SolrQuery para consultas avanzadas.

Valores devueltos

Devuelve un objeto SolrQueryResponse en caso de éxito. Lanza una excepción SolrClientException en caso de fallo.

Ejemplos

Ejemplo #1 Ejemplo de SolrClient::query()

<?php

include "bootstrap.php";

$opciones = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$cliente = new SolrClient($opciones);

$consulta = new SolrQuery();

$consulta->setQuery('lucene');

$consulta->setStart(0);

$consulta->setRows(50);

$consulta->addField('cat')->addField('features')->addField('id')->addField('timestamp');

$respuesta_consulta = $cliente->query($consulta);

$respuesta = $respuesta_consulta->getResponse();

print_r($respuesta);

?>

El resultado del ejemplo sería algo similar a:

SolrClient::ping
SolrClient::request
SolrClient


Envía una petición de actualización sin formato

SolrClient::query
SolrClient::rollback
SolrClient
PHP Manual

SolrClient::request

(PECL solr >= 0.9.2)

SolrClient::request — Envía una petición de actualización sin formato

Descripción

public void SolrClient::request ( string $raw_request )

Envía una petición de actualización XML sin formato al servidor

Parámetros

raw_request

Una cadena XML con la solicitud sin formato al servidor.

Valores devueltos

Devuelve un objeto SolrUpdateResponse en caso de éxito. Lanza una excepción SolrClientException en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de SolrClient::request()

<?php
$opciones = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$cliente = new SolrClient($opciones);

$respuesta_actualización = $cliente->request("<commit/>");

$respuesta = $respuesta_actualización->getResponse();

print_r($respuesta);
?>

El resultado del ejemplo sería algo similar a:

...

SolrClient::query
SolrClient::rollback
SolrClient


Revierte todos los añadidos/eliminados hechos en el índice desde el último envío

SolrClient::request
SolrClient::setResponseWriter
SolrClient
PHP Manual

SolrClient::rollback

(PECL solr >= 0.9.2)

SolrClient::rollback — Revierte todos los añadidos/eliminados hechos en el índice desde el último envío

Descripción

public SolrUpdateResponse SolrClient::rollback ( void )

Revierte todos los añadidos/eliminados hechos en el índice desde el último envío. No llama a ningún escuchador de eventos ni crea un buscador nuevo.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un objeto SolrUpdateResponse en caso de éxito o lanza una excepción SolrClientException en caso de fallo.

Ver también

  • SolrClient::commit() - Finaliza todas las añadiduras/eliminaciones hechas al índice
  • SolrClient::optimize() - Defragmenta el índice

SolrClient::request
SolrClient::setResponseWriter
SolrClient


Establece el autor de la respuesta usado para preparar la respuesta de Solr

SolrClient::rollback
SolrClient::setServlet
SolrClient
PHP Manual

SolrClient::setResponseWriter

(PECL solr >= 0.9.11)

SolrClient::setResponseWriter — Establece el autor de la respuesta usado para preparar la respuesta de Solr

Descripción

public void SolrClient::setResponseWriter ( string $responseWriter )

Establece el autor de la respuesta usado para preparar la respuesta de Solr

Parámetros

responseWriter

Uno de los siguientes autores:

- xml
 - phpnative

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de SolrClient::setResponseWriter()

<?php

// Esta es mi clase personalizada para los objetos
class SolrClass
{
   public $_propiedades = array();

   public function __get($nombre_propiedad) {

      if (property_exists($this, $nombre_propiedad)) {

          return $this->$nombre_propiedad;

      } else if (isset($_propiedades[$nombre_propiedad])) {

          return $_propiedades[$nombre_propiedad];
      }

      return null;
   }
}

$opciones = array
(
  'hostname' => 'localhost',
  'port' => 8983,
  'path' => '/solr/core1'
);

$cliente = new SolrClient($opciones);

// ESto usa la clase org.apache.solr.request.PHPNativeResponseWriter de Solr
// Visite las siguientes páginas para más detalles the following pages for more details:
// https://issues.apache.org/jira/browse/SOLR-1967
// http://wiki.apache.org/solr/QueryResponseWriter
// http://wiki.apache.org/solr/SolPHP
$cliente->setResponseWriter("phpnative");

//$respuesta = $cliente->ping();

$consulta = new SolrQuery();

$consulta->setQuery("*:*");

$consulta->set("objectClassName", "SolrClass");

$consulta->set("objectPropertiesStorageMode", 1); // 0 para propiedades independientes, 1 para combinadas

try
{

$respuesta = $cliente->query($consulta);

$resp = $respuesta->getResponse();

print_r($respuesta);

print_r($resp);

} catch (Exception $e) {

print_r($e);

}

?>

El resultado del ejemplo sería algo similar a:

SolrClient::rollback
SolrClient::setServlet
SolrClient


Cambia el servlet especificado a un nuevo valor

SolrClient::setResponseWriter
SolrClient::threads
SolrClient
PHP Manual

SolrClient::setServlet

(PECL solr >= 0.9.2)

SolrClient::setServlet — Cambia el servlet especificado a un nuevo valor

Descripción

public bool SolrClient::setServlet ( int $type , string $value )

Cambia el servlet especificado a un nuevo valor

Parámetros

type

Uno de los siguientes tipos:

- SolrClient::SEARCH_SERVLET_TYPE
 - SolrClient::UPDATE_SERVLET_TYPE
 - SolrClient::THREADS_SERVLET_TYPE
 - SolrClient::PING_SERVLET_TYPE
 - SolrClient::TERMS_SERVLET_TYPE

value

El nuevo valor para el servlet

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

SolrClient::setResponseWriter
SolrClient::threads
SolrClient


Verifica el estado de los hilos

SolrClient::setServlet
SolrResponse
SolrClient
PHP Manual

SolrClient::threads

(PECL solr >= 0.9.2)

SolrClient::threads — Verifica el estado de los hilos

Descripción

public void SolrClient::threads ( void )

Verifica el estado de los hilos

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un objeto SolrGenericResponse.

SolrClient::setServlet
SolrResponse
SolrClient


La clase SolrResponse

(PECL solr >= 0.9.2)

Introducción

Representa una respuesta del servidor Solr.

Sinopsis de la Clase

abstract SolrResponse {
/* Constantes */
const integer PARSE_SOLR_OBJ = 0 ;
const integer PARSE_SOLR_DOC = 1 ;
/* Propiedades */
protected integer $http_status ;
protected integer $parser_mode ;
protected bool $success ;
protected string $http_status_message ;
protected string $http_request_url ;
protected string $http_raw_request_headers ;
protected string $http_raw_request ;
protected string $http_raw_response_headers ;
protected string $http_raw_response ;
protected string $http_digested_response ;
/* Métodos */
public string getDigestedResponse ( void )
public int getHttpStatus ( void )
public string getHttpStatusMessage ( void )
public string getRawRequest ( void )
public string getRawRequestHeaders ( void )
public string getRawResponse ( void )
public string getRawResponseHeaders ( void )
public string getRequestUrl ( void )
public SolrObject getResponse ( void )
public bool setParseMode ([ int $parser_mode = 0 ] )
public bool success ( void )
}

Propiedades

http_status

El estado http de la resupuesta.

parser_mode

Modo de analizar los documentos, si como instancias de SolrObject o de SolrDocument.

success

¿Ocurrió un error durante la solicitud?

http_status_message

Messaje detallado del estado http

http_request_url

La URL solicitada

http_raw_request_headers

Una cadena de cabeceras en bruto enviada durante la solicitud

http_raw_request

La solicitud en bruto enviada al servidor

http_raw_response_headers

Las cabeceras de resupuesta del servidor Solr

http_raw_response

El mensaje de respuesta del servidor

http_digested_response

La respuesta en formato serializado de PHP.

Constantes predefinidas

Constantes de la Clase SolrResponse

SolrResponse::PARSE_SOLR_OBJ

Los documentos deberían ser analizados como instancias de SolrObject

SolrResponse::PARSE_SOLR_DOC

Los documentos deberían ser analizados como instancias de SolrDocument.

Tabla de contenidos

  • SolrResponse::getDigestedResponse — Devuelve la respueste XML como información de PHP serializada
  • SolrResponse::getHttpStatus — Devuelve el estado HTTP de la respuesta
  • SolrResponse::getHttpStatusMessage — Devuelve más detalles del estado HTTP
  • SolrResponse::getRawRequest — Devuelve la respuesta en bruto enviada al servidor Solr
  • SolrResponse::getRawRequestHeaders — Devuelve las cabeceras de respuesta sin tratar enviadas al servidor Solr
  • SolrResponse::getRawResponse — Devuelve la respuesta sin tratar del servidor
  • SolrResponse::getRawResponseHeaders — Devuelve las cabeceras de respuesta sin tratar del servidor
  • SolrResponse::getRequestUrl — Devuelve la URL completa a la que se envió la respuesta
  • SolrResponse::getResponse — Devuelve un objeto SolrObject que representa la respuesta XML del servidor
  • SolrResponse::setParseMode — Establece el modo de análisis
  • SolrResponse::success — ¿Tuvo éxito la petición?
SolrClient::threads
SolrResponse::getDigestedResponse
Solr


Devuelve la respueste XML como información de PHP serializada

SolrResponse
SolrResponse::getHttpStatus
SolrResponse
PHP Manual

SolrResponse::getDigestedResponse

(PECL solr >= 0.9.2)

SolrResponse::getDigestedResponse — Devuelve la respueste XML como información de PHP serializada

Descripción

public string SolrResponse::getDigestedResponse ( void )

Devuelve la respueste XML como información de PHP serializada

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la respueste XML como información de PHP serializada

SolrResponse
SolrResponse::getHttpStatus
SolrResponse


Devuelve el estado HTTP de la respuesta

SolrResponse::getDigestedResponse
SolrResponse::getHttpStatusMessage
SolrResponse
PHP Manual

SolrResponse::getHttpStatus

(PECL solr >= 0.9.2)

SolrResponse::getHttpStatus — Devuelve el estado HTTP de la respuesta

Descripción

public int SolrResponse::getHttpStatus ( void )

Devuelve el estado HTTP de la respuesta.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el estado HTTP de la respuesta.

SolrResponse::getDigestedResponse
SolrResponse::getHttpStatusMessage
SolrResponse


Devuelve más detalles del estado HTTP

SolrResponse::getHttpStatus
SolrResponse::getRawRequest
SolrResponse
PHP Manual

SolrResponse::getHttpStatusMessage

(PECL solr >= 0.9.2)

SolrResponse::getHttpStatusMessage — Devuelve más detalles del estado HTTP

Descripción

public string SolrResponse::getHttpStatusMessage ( void )

Devuelve más detalles del estado HTTP.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve más detalles del estado HTTP

SolrResponse::getHttpStatus
SolrResponse::getRawRequest
SolrResponse


Devuelve la respuesta en bruto enviada al servidor Solr

SolrResponse::getHttpStatusMessage
SolrResponse::getRawRequestHeaders
SolrResponse
PHP Manual

SolrResponse::getRawRequest

(PECL solr >= 0.9.2)

SolrResponse::getRawRequest — Devuelve la respuesta en bruto enviada al servidor Solr

Descripción

public string SolrResponse::getRawRequest ( void )

Devuelve la respuesta en bruto enviada al servidor Solr.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la respuesta en bruto enviada al servidor Solr

SolrResponse::getHttpStatusMessage
SolrResponse::getRawRequestHeaders
SolrResponse


Devuelve las cabeceras de respuesta sin tratar enviadas al servidor Solr

SolrResponse::getRawRequest
SolrResponse::getRawResponse
SolrResponse
PHP Manual

SolrResponse::getRawRequestHeaders

(PECL solr >= 0.9.2)

SolrResponse::getRawRequestHeaders — Devuelve las cabeceras de respuesta sin tratar enviadas al servidor Solr

Descripción

public string SolrResponse::getRawRequestHeaders ( void )

Devuelve las cabeceras de respuesta sin tratar enviadas al servidor Solr,

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve las cabeceras de respuesta sin tratar enviadas al servidor Solr

SolrResponse::getRawRequest
SolrResponse::getRawResponse
SolrResponse


Devuelve la respuesta sin tratar del servidor

SolrResponse::getRawRequestHeaders
SolrResponse::getRawResponseHeaders
SolrResponse
PHP Manual

SolrResponse::getRawResponse

(PECL solr >= 0.9.2)

SolrResponse::getRawResponse — Devuelve la respuesta sin tratar del servidor

Descripción

public string SolrResponse::getRawResponse ( void )

Devuelve la respuesta sin tratar del servidor.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la respuesta sin tratar del servidor.

SolrResponse::getRawRequestHeaders
SolrResponse::getRawResponseHeaders
SolrResponse


Devuelve las cabeceras de respuesta sin tratar del servidor

SolrResponse::getRawResponse
SolrResponse::getRequestUrl
SolrResponse
PHP Manual

SolrResponse::getRawResponseHeaders

(PECL solr >= 0.9.2)

SolrResponse::getRawResponseHeaders — Devuelve las cabeceras de respuesta sin tratar del servidor

Descripción

public string SolrResponse::getRawResponseHeaders ( void )

Devuelve las cabeceras de respuesta sin tratar del servidor.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve las cabeceras de respuesta sin tratar del servidor.

SolrResponse::getRawResponse
SolrResponse::getRequestUrl
SolrResponse


Devuelve la URL completa a la que se envió la respuesta

SolrResponse::getRawResponseHeaders
SolrResponse::getResponse
SolrResponse
PHP Manual

SolrResponse::getRequestUrl

(PECL solr >= 0.9.2)

SolrResponse::getRequestUrl — Devuelve la URL completa a la que se envió la respuesta

Descripción

public string SolrResponse::getRequestUrl ( void )

Devuelve la URL completa a la que se envió la respuesta.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la URL completa a la que se envió la respuesta

SolrResponse::getRawResponseHeaders
SolrResponse::getResponse
SolrResponse


Devuelve un objeto SolrObject que representa la respuesta XML del servidor

SolrResponse::getRequestUrl
SolrResponse::setParseMode
SolrResponse
PHP Manual

SolrResponse::getResponse

(PECL solr >= 0.9.2)

SolrResponse::getResponse — Devuelve un objeto SolrObject que representa la respuesta XML del servidor

Descripción

public SolrObject SolrResponse::getResponse ( void )

Devuelve un objeto SolrObject que representa la respuesta XML del servidor.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un objeto SolrObject que representa la respuesta XML del servidor

SolrResponse::getRequestUrl
SolrResponse::setParseMode
SolrResponse


Establece el modo de análisis

SolrResponse::getResponse
SolrResponse::success
SolrResponse
PHP Manual

SolrResponse::setParseMode

(PECL solr >= 0.9.2)

SolrResponse::setParseMode — Establece el modo de análisis

Descripción

public bool SolrResponse::setParseMode ([ int $parser_mode = 0 ] )

Establece el modo de análisis.

Parámetros

parser_mode

SolrResponse::PARSE_SOLR_DOC analiza los documentos en instancias de SolrDocument. SolrResponse::PARSE_SOLR_OBJ convierte un documento a un objeto SolrObjects.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

SolrResponse::getResponse
SolrResponse::success
SolrResponse


¿Tuvo éxito la petición?

SolrResponse::setParseMode
SolrQueryResponse
SolrResponse
PHP Manual

SolrResponse::success

(PECL solr >= 0.9.2)

SolrResponse::success — ¿Tuvo éxito la petición?

Descripción

public bool SolrResponse::success ( void )

Se usa para verificar si la petición al servidor tuvo éxito.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si se tuvo éxito y FALSE si no lo tuvo.

SolrResponse::setParseMode
SolrQueryResponse
SolrResponse


La clase SolrQueryResponse

(PECL solr >= 0.9.2)

Introducción

Representa una respuesta a una solicitud de consulta.

Sinopsis de la Clase

final SolrQueryResponse extends SolrResponse {
/* Constantes */
const integer PARSE_SOLR_OBJ = 0 ;
const integer PARSE_SOLR_DOC = 1 ;
/* Propiedades heredadas */
const integer SolrResponse::PARSE_SOLR_OBJ = 0 ;
const integer SolrResponse::PARSE_SOLR_DOC = 1 ;
protected integer $http_status ;
protected integer $parser_mode ;
protected bool $success ;
protected string $http_status_message ;
protected string $http_request_url ;
protected string $http_raw_request_headers ;
protected string $http_raw_request ;
protected string $http_raw_response_headers ;
protected string $http_raw_response ;
protected string $http_digested_response ;
/* Métodos */
public __construct ( void )
public void __destruct ( void )
/* Métodos heredados */
public string SolrResponse::getDigestedResponse ( void )
public int SolrResponse::getHttpStatus ( void )
public string SolrResponse::getHttpStatusMessage ( void )
public string SolrResponse::getRawRequest ( void )
public string SolrResponse::getRawRequestHeaders ( void )
public string SolrResponse::getRawResponse ( void )
public string SolrResponse::getRawResponseHeaders ( void )
public string SolrResponse::getRequestUrl ( void )
public SolrObject SolrResponse::getResponse ( void )
public bool SolrResponse::setParseMode ([ int $parser_mode = 0 ] )
public bool SolrResponse::success ( void )
}

Constantes predefinidas

Constantes de la Clase SolrQueryResponse

SolrQueryResponse::PARSE_SOLR_OBJ

Los documentos deberían ser analizados como instancias de SolrObject

SolrQueryResponse::PARSE_SOLR_DOC

Los documentos deberían ser analizados como instancias de SolrDocument.

Tabla de contenidos

  • SolrQueryResponse::__construct — Constructor
  • SolrQueryResponse::__destruct — Destructor
SolrResponse::success
SolrQueryResponse::__construct
Solr


Constructor

SolrQueryResponse
SolrQueryResponse::__destruct
SolrQueryResponse
PHP Manual

SolrQueryResponse::__construct

(PECL solr >= 0.9.2)

SolrQueryResponse::__construct — Constructor

Descripción

public SolrQueryResponse::__construct ( void )

Constructor

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Nada

SolrQueryResponse
SolrQueryResponse::__destruct
SolrQueryResponse


Destructor

SolrQueryResponse::__construct
SolrUpdateResponse
SolrQueryResponse
PHP Manual

SolrQueryResponse::__destruct

(PECL solr >= 0.9.2)

SolrQueryResponse::__destruct — Destructor

Descripción

public void SolrQueryResponse::__destruct ( void )

Destructor.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Nada

SolrQueryResponse::__construct
SolrUpdateResponse
SolrQueryResponse


La clase SolrUpdateResponse

(PECL solr >= 0.9.2)

Introducción

Representa una respuesta de una solicitud de actualización.

Sinopsis de la Clase

final SolrUpdateResponse extends SolrResponse {
/* Constantes */
const integer PARSE_SOLR_OBJ = 0 ;
const integer PARSE_SOLR_DOC = 1 ;
/* Propiedades heredadas */
const integer SolrResponse::PARSE_SOLR_OBJ = 0 ;
const integer SolrResponse::PARSE_SOLR_DOC = 1 ;
protected integer $http_status ;
protected integer $parser_mode ;
protected bool $success ;
protected string $http_status_message ;
protected string $http_request_url ;
protected string $http_raw_request_headers ;
protected string $http_raw_request ;
protected string $http_raw_response_headers ;
protected string $http_raw_response ;
protected string $http_digested_response ;
/* Métodos */
public __construct ( void )
public void __destruct ( void )
/* Métodos heredados */
public string SolrResponse::getDigestedResponse ( void )
public int SolrResponse::getHttpStatus ( void )
public string SolrResponse::getHttpStatusMessage ( void )
public string SolrResponse::getRawRequest ( void )
public string SolrResponse::getRawRequestHeaders ( void )
public string SolrResponse::getRawResponse ( void )
public string SolrResponse::getRawResponseHeaders ( void )
public string SolrResponse::getRequestUrl ( void )
public SolrObject SolrResponse::getResponse ( void )
public bool SolrResponse::setParseMode ([ int $parser_mode = 0 ] )
public bool SolrResponse::success ( void )
}

Constantes predefinidas

Constantes de la Clase SolrUpdateResponse

SolrUpdateResponse::PARSE_SOLR_OBJ

Los documentos deberían ser analizados como instancias de SolrObject

SolrUpdateResponse::PARSE_SOLR_DOC

Los documentos deberían ser analizados como instancias de SolrDocument.

Tabla de contenidos

  • SolrUpdateResponse::__construct — Constructor
  • SolrUpdateResponse::__destruct — Destructor
SolrQueryResponse::__destruct
SolrUpdateResponse::__construct
Solr


Constructor

SolrUpdateResponse
SolrUpdateResponse::__destruct
SolrUpdateResponse
PHP Manual

SolrUpdateResponse::__construct

(PECL solr >= 0.9.2)

SolrUpdateResponse::__construct — Constructor

Descripción

public SolrUpdateResponse::__construct ( void )

Constructor

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Nada

SolrUpdateResponse
SolrUpdateResponse::__destruct
SolrUpdateResponse


Destructor

SolrUpdateResponse::__construct
SolrPingResponse
SolrUpdateResponse
PHP Manual

SolrUpdateResponse::__destruct

(PECL solr >= 0.9.2)

SolrUpdateResponse::__destruct — Destructor

Descripción

public void SolrUpdateResponse::__destruct ( void )

Destructor

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Nada

SolrUpdateResponse::__construct
SolrPingResponse
SolrUpdateResponse


La clase SolrPingResponse

(PECL solr >= 0.9.2)

Introducción

Representa una respuesta a una petición ping al servidor

Sinopsis de la Clase

final SolrPingResponse extends SolrResponse {
/* Constantes */
const integer PARSE_SOLR_OBJ = 0 ;
const integer PARSE_SOLR_DOC = 1 ;
/* Propiedades */
/* Métodos */
public __construct ( void )
public void __destruct ( void )
public string getResponse ( void )
/* Métodos heredados */
public string SolrResponse::getDigestedResponse ( void )
public int SolrResponse::getHttpStatus ( void )
public string SolrResponse::getHttpStatusMessage ( void )
public string SolrResponse::getRawRequest ( void )
public string SolrResponse::getRawRequestHeaders ( void )
public string SolrResponse::getRawResponse ( void )
public string SolrResponse::getRawResponseHeaders ( void )
public string SolrResponse::getRequestUrl ( void )
public SolrObject SolrResponse::getResponse ( void )
public bool SolrResponse::setParseMode ([ int $parser_mode = 0 ] )
public bool SolrResponse::success ( void )
}

Propiedades

http_status

El estado http de la resupuesta.

parser_mode

Modo de analizar los documentos, si como instancias de SolrObject o de SolrDocument.

success

¿Ocurrió un error durante la solicitud?

http_status_message

Messaje detallado del estado http

http_request_url

La URL solicitada

http_raw_request_headers

Una cadena de cabeceras en bruto enviada durante la solicitud

http_raw_request

La solicitud en bruto enviada al servidor

http_raw_response_headers

Las cabeceras de resupuesta del servidor Solr

http_raw_response

El mensaje de respuesta del servidor

http_digested_response

La respuesta en formato serializado de PHP.

Constantes predefinidas

Constantes de la Clase SolrPingResponse

SolrPingResponse::PARSE_SOLR_OBJ

Los documentos deberían ser analizados como instancias de SolrObject

SolrPingResponse::PARSE_SOLR_DOC

Los documentos deberían ser analizados como instancias de SolrDocument.

Tabla de contenidos

  • SolrPingResponse::__construct — Constructor
  • SolrPingResponse::__destruct — Destructor
  • SolrPingResponse::getResponse — Devuelve la respuesta del servidor
SolrUpdateResponse::__destruct
SolrPingResponse::__construct
Solr


Constructor

SolrPingResponse
SolrPingResponse::__destruct
SolrPingResponse
PHP Manual

SolrPingResponse::__construct

(PECL solr >= 0.9.2)

SolrPingResponse::__construct — Constructor

Descripción

public SolrPingResponse::__construct ( void )

Constructor

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Nada

SolrPingResponse
SolrPingResponse::__destruct
SolrPingResponse


Destructor

SolrPingResponse::__construct
SolrPingResponse::getResponse
SolrPingResponse
PHP Manual

SolrPingResponse::__destruct

(PECL solr >= 0.9.2)

SolrPingResponse::__destruct — Destructor

Descripción

public void SolrPingResponse::__destruct ( void )

Destructor

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Nada

SolrPingResponse::__construct
SolrPingResponse::getResponse
SolrPingResponse


Devuelve la respuesta del servidor

SolrPingResponse::__destruct
SolrGenericResponse
SolrPingResponse
PHP Manual

SolrPingResponse::getResponse

(PECL solr >= 0.9.2)

SolrPingResponse::getResponse — Devuelve la respuesta del servidor

Descripción

public string SolrPingResponse::getResponse ( void )

Devuelve la respuesta del servidor. Esto debería estar vacío ya que la petición es una petición HEAD.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una cadena vacía.

SolrPingResponse::__destruct
SolrGenericResponse
SolrPingResponse


La clase SolrGenericResponse

(PECL solr >= 0.9.2)

Introducción

Representa una respuesta del servidor Solr.

Sinopsis de la Clase

final SolrGenericResponse extends SolrResponse {
/* Constantes */
const integer PARSE_SOLR_OBJ = 0 ;
const integer PARSE_SOLR_DOC = 1 ;
/* Propiedades heredadas */
const integer SolrResponse::PARSE_SOLR_OBJ = 0 ;
const integer SolrResponse::PARSE_SOLR_DOC = 1 ;
protected integer $http_status ;
protected integer $parser_mode ;
protected bool $success ;
protected string $http_status_message ;
protected string $http_request_url ;
protected string $http_raw_request_headers ;
protected string $http_raw_request ;
protected string $http_raw_response_headers ;
protected string $http_raw_response ;
protected string $http_digested_response ;
/* Métodos */
public __construct ( void )
public void __destruct ( void )
/* Métodos heredados */
public string SolrResponse::getDigestedResponse ( void )
public int SolrResponse::getHttpStatus ( void )
public string SolrResponse::getHttpStatusMessage ( void )
public string SolrResponse::getRawRequest ( void )
public string SolrResponse::getRawRequestHeaders ( void )
public string SolrResponse::getRawResponse ( void )
public string SolrResponse::getRawResponseHeaders ( void )
public string SolrResponse::getRequestUrl ( void )
public SolrObject SolrResponse::getResponse ( void )
public bool SolrResponse::setParseMode ([ int $parser_mode = 0 ] )
public bool SolrResponse::success ( void )
}

Constantes predefinidas

Constantes de la Clase SolrGenericResponse

SolrGenericResponse::PARSE_SOLR_OBJ

Los documentos deberían ser analizados como instancias de SolrObject

SolrGenericResponse::PARSE_SOLR_DOC

Los documentos deberían ser analizados como instancias de SolrDocument.

Tabla de contenidos

  • SolrGenericResponse::__construct — Constructor
  • SolrGenericResponse::__destruct — Destructor
SolrPingResponse::getResponse
SolrGenericResponse::__construct
Solr


Constructor

SolrGenericResponse
SolrGenericResponse::__destruct
SolrGenericResponse
PHP Manual

SolrGenericResponse::__construct

(PECL solr >= 0.9.2)

SolrGenericResponse::__construct — Constructor

Descripción

public SolrGenericResponse::__construct ( void )

Constructor

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Nada

SolrGenericResponse
SolrGenericResponse::__destruct
SolrGenericResponse


Destructor

SolrGenericResponse::__construct
SolrParams
SolrGenericResponse
PHP Manual

SolrGenericResponse::__destruct

(PECL solr >= 0.9.2)

SolrGenericResponse::__destruct — Destructor

Descripción

public void SolrGenericResponse::__destruct ( void )

Destructor.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Nada

SolrGenericResponse::__construct
SolrParams
SolrGenericResponse


La clase SolrParams

(PECL solr >= 0.9.2)

Introducción

Representa una colección de pares nombre-valor enviado al servidor Solr durante una petición.

Sinopsis de la Clase

abstract SolrParams implements Serializable {
/* Métodos */
final public SolrParams add ( string $name , string $value )
public SolrParams addParam ( string $name , string $value )
final public mixed get ( string $param_name )
final public mixed getParam ([ string $param_name ] )
final public array getParams ( void )
final public array getPreparedParams ( void )
final public string serialize ( void )
final public void set ( string $name , string $value )
public SolrParams setParam ( string $name , string $value )
final public string toString ([ bool $url_encode = false ] )
final public void unserialize ( string $serialized )
}

Tabla de contenidos

  • SolrParams::add — Esto es un alias de SolrParams::addParam
  • SolrParams::addParam — Añade un parámetro al objeto
  • SolrParams::get — Este es una alias de SolrParams::getParam
  • SolrParams::getParam — Devuelve el valor de un parámetro
  • SolrParams::getParams — Devuelve una matriz de parámetros URL no codificados
  • SolrParams::getPreparedParams — Devuelve una matriz de parámetros URL codificados
  • SolrParams::serialize — Usado para serialización personalizada
  • SolrParams::set — Un alas de SolrParams::setParam
  • SolrParams::setParam — Establece el parámetro al valor especificado
  • SolrParams::toString — Devuelve todos los parámetros de los pares nombre-valor del objeto
  • SolrParams::unserialize — Usado para serialización personalizada
SolrGenericResponse::__destruct
SolrParams::add
Solr


Esto es un alias de SolrParams::addParam

SolrParams
SolrParams::addParam
SolrParams
PHP Manual

SolrParams::add

(PECL solr >= 0.9.2)

SolrParams::add — Esto es un alias de SolrParams::addParam

Descripción

final public SolrParams SolrParams::add ( string $name , string $value )

Esto es un alias de SolrParams::addParam

Parámetros

name

El nombre del parámetro

value

El valor del parámetro

Valores devueltos

Devuelve una instancia de SolrParams en caso de éxito

SolrParams
SolrParams::addParam
SolrParams


Añade un parámetro al objeto

SolrParams::add
SolrParams::get
SolrParams
PHP Manual

SolrParams::addParam

(PECL solr >= 0.9.2)

SolrParams::addParam — Añade un parámetro al objeto

Descripción

public SolrParams SolrParams::addParam ( string $name , string $value )

Añade un parámetro al objeto. Se usa para parámetros que pueden ser especificados múltiples veces.

Parámetros

name

Nombre del parámetro

value

alor del parámetro

Valores devueltos

Devuelve un objeto SolrParam an caso de éxito y FALSE en caso de error.

SolrParams::add
SolrParams::get
SolrParams


Este es una alias de SolrParams::getParam

SolrParams::addParam
SolrParams::getParam
SolrParams
PHP Manual

SolrParams::get

(PECL solr >= 0.9.2)

SolrParams::get — Este es una alias de SolrParams::getParam

Descripción

final public mixed SolrParams::get ( string $param_name )

Este es una alias de SolrParams::getParam

Parámetros

param_name

El nombre del parámetro

Valores devueltos

Devuelve una matriz o una cadena, dependiendo del tipo de parámetro

SolrParams::addParam
SolrParams::getParam
SolrParams


Devuelve el valor de un parámetro

SolrParams::get
SolrParams::getParams
SolrParams
PHP Manual

SolrParams::getParam

(PECL solr >= 0.9.2)

SolrParams::getParam — Devuelve el valor de un parámetro

Descripción

final public mixed SolrParams::getParam ([ string $param_name ] )

Devuelve un parámetro dado con el nombre param_name

Parámetros

param_name

El nombre del parámetro

Valores devueltos

Devuelve una cadena o una matriz dependiendo del tipo del parámetro

SolrParams::get
SolrParams::getParams
SolrParams


Devuelve una matriz de parámetros URL no codificados

SolrParams::getParam
SolrParams::getPreparedParams
SolrParams
PHP Manual

SolrParams::getParams

(PECL solr >= 0.9.2)

SolrParams::getParams — Devuelve una matriz de parámetros URL no codificados

Descripción

final public array SolrParams::getParams ( void )

Devuelve una matriz de parámetros URL no codificados

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una matriz de parámetros URL no codificados

SolrParams::getParam
SolrParams::getPreparedParams
SolrParams


Devuelve una matriz de parámetros URL codificados

SolrParams::getParams
SolrParams::serialize
SolrParams
PHP Manual

SolrParams::getPreparedParams

(PECL solr >= 0.9.2)

SolrParams::getPreparedParams — Devuelve una matriz de parámetros URL codificados

Descripción

final public array SolrParams::getPreparedParams ( void )

Devuelve una matriz de parámetros URL codificados

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una matriz de parámetros URL codificados

SolrParams::getParams
SolrParams::serialize
SolrParams


Usado para serialización personalizada

SolrParams::getPreparedParams
SolrParams::set
SolrParams
PHP Manual

SolrParams::serialize

(PECL solr >= 0.9.2)

SolrParams::serialize — Usado para serialización personalizada

Descripción

final public string SolrParams::serialize ( void )

Usado para serialización personalizada

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Usado para serialización personalizada

SolrParams::getPreparedParams
SolrParams::set
SolrParams


Un alas de SolrParams::setParam

SolrParams::serialize
SolrParams::setParam
SolrParams
PHP Manual

SolrParams::set

(PECL solr >= 0.9.2)

SolrParams::set — Un alas de SolrParams::setParam

Descripción

final public void SolrParams::set ( string $name , string $value )

Un alas de SolrParams::setParam

Parámetros

name

El nombre del parámetro

value

El valor del parámatro

Valores devueltos

Devuelve una instancia del objeto SolrParams en caso de éxito

SolrParams::serialize
SolrParams::setParam
SolrParams


Establece el parámetro al valor especificado

SolrParams::set
SolrParams::toString
SolrParams
PHP Manual

SolrParams::setParam

(PECL solr >= 0.9.2)

SolrParams::setParam — Establece el parámetro al valor especificado

Descripción

public SolrParams SolrParams::setParam ( string $name , string $value )

Establece el parámetro de consulta al valor especificado. Es usado para parámetros que sólo pueden ser especificados una vez. Subsiguientes llamadas con el mismo parámetro sobrescribirá el valor existente.

Parámetros

name

Nomvre del parámetro

value

Valor del parámetro

Valores devueltos

Devuelve un objeto SolrParam en caso de éxito y FALSE sobre el valor.

Ejemplos

Ejemplo #1 Ejemplo de SolrParams::setParam()

<?php

$parámetro = new SolrParams();

$parámetro->setParam('q', 'solr')->setParam('rows', 2);

?>

El resultado del ejemplo sería algo similar a:

SolrParams::set
SolrParams::toString
SolrParams


Devuelve todos los parámetros de los pares nombre-valor del objeto

SolrParams::setParam
SolrParams::unserialize
SolrParams
PHP Manual

SolrParams::toString

(PECL solr >= 0.9.2)

SolrParams::toString — Devuelve todos los parámetros de los pares nombre-valor del objeto

Descripción

final public string SolrParams::toString ([ bool $url_encode = false ] )

Devuelve todos los parámetros de los pares nombre-valor del objeto.

Parámetros

url_encode

Si devolver o no valores de URL codificados

Valores devueltos

Devuelve una cadena en caso de éxito y FALSE en caso de fallo.

SolrParams::setParam
SolrParams::unserialize
SolrParams


Usado para serialización personalizada

SolrParams::toString
SolrModifiableParams
SolrParams
PHP Manual

SolrParams::unserialize

(PECL solr >= 0.9.2)

SolrParams::unserialize — Usado para serialización personalizada

Descripción

final public void SolrParams::unserialize ( string $serialized )

Usado para serialización personalizada

Parámetros

serialized

La representación serializada del objeto

Valores devueltos

Nada

SolrParams::toString
SolrModifiableParams
SolrParams


La clase SolrModifiableParams

(PECL solr >= 0.9.2)

Introducción

Representa una colección de pares nombre-valore enviados al servidor Solr durante una petición.

Sinopsis de la Clase

SolrModifiableParams extends SolrParams implements Serializable {
/* Métodos */
public __construct ( void )
public void __destruct ( void )
/* Métodos heredados */
final public SolrParams SolrParams::add ( string $name , string $value )
public SolrParams SolrParams::addParam ( string $name , string $value )
final public mixed SolrParams::get ( string $param_name )
final public mixed SolrParams::getParam ([ string $param_name ] )
final public array SolrParams::getParams ( void )
final public array SolrParams::getPreparedParams ( void )
final public string SolrParams::serialize ( void )
final public void SolrParams::set ( string $name , string $value )
public SolrParams SolrParams::setParam ( string $name , string $value )
final public string SolrParams::toString ([ bool $url_encode = false ] )
final public void SolrParams::unserialize ( string $serialized )
}

Tabla de contenidos

  • SolrModifiableParams::__construct — Constructor
  • SolrModifiableParams::__destruct — Destructor
SolrParams::unserialize
SolrModifiableParams::__construct
Solr


Constructor

SolrModifiableParams
SolrModifiableParams::__destruct
SolrModifiableParams
PHP Manual

SolrModifiableParams::__construct

(PECL solr >= 0.9.2)

SolrModifiableParams::__construct — Constructor

Descripción

public SolrModifiableParams::__construct ( void )

Constructor

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Nada

SolrModifiableParams
SolrModifiableParams::__destruct
SolrModifiableParams


Destructor

SolrModifiableParams::__construct
SolrQuery
SolrModifiableParams
PHP Manual

SolrModifiableParams::__destruct

(PECL solr >= 0.9.2)

SolrModifiableParams::__destruct — Destructor

Descripción

public void SolrModifiableParams::__destruct ( void )

Destructor

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Nada

SolrModifiableParams::__construct
SolrQuery
SolrModifiableParams


La clase SolrQuery

(PECL solr >= 0.9.2)

Introducción

Representa una colección de pares nombre-valor enviados al servidor Solr durante una petición.

Sinopsis de la Clase

SolrQuery extends SolrModifiableParams implements Serializable {
/* Constantes */
const integer ORDER_ASC = 0 ;
const integer ORDER_DESC = 1 ;
const integer FACET_SORT_INDEX = 0 ;
const integer FACET_SORT_COUNT = 1 ;
const integer TERMS_SORT_INDEX = 0 ;
const integer TERMS_SORT_COUNT = 1 ;
/* Propiedades */
/* Métodos */
public SolrQuery addFacetDateField ( string $dateField )
public SolrQuery addFacetDateOther ( string $value [, string $field_override ] )
public SolrQuery addFacetField ( string $field )
public SolrQuery addFacetQuery ( string $facetQuery )
public SolrQuery addField ( string $field )
public SolrQuery addFilterQuery ( string $fq )
public SolrQuery addHighlightField ( string $field )
public SolrQuery addMltField ( string $field )
public SolrQuery addMltQueryField ( string $field , float $boost )
public SolrQuery addSortField ( string $field [, int $order = SolrQuery::ORDER_DESC ] )
public SolrQuery addStatsFacet ( string $field )
public SolrQuery addStatsField ( string $field )
public __construct ([ string $q ] )
public void __destruct ( void )
public bool getFacet ( void )
public string getFacetDateEnd ([ string $field_override ] )
public array getFacetDateFields ( void )
public string getFacetDateGap ([ string $field_override ] )
public string getFacetDateHardEnd ([ string $field_override ] )
public array getFacetDateOther ([ string $field_override ] )
public string getFacetDateStart ([ string $field_override ] )
public array getFacetFields ( void )
public int getFacetLimit ([ string $field_override ] )
public string getFacetMethod ([ string $field_override ] )
public int getFacetMinCount ([ string $field_override ] )
public bool getFacetMissing ([ string $field_override ] )
public int getFacetOffset ([ string $field_override ] )
public string getFacetPrefix ([ string $field_override ] )
public array getFacetQueries ( void )
public int getFacetSort ([ string $field_override ] )
public array getFields ( void )
public array getFilterQueries ( void )
public bool getHighlight ( void )
public string getHighlightAlternateField ([ string $field_override ] )
public array getHighlightFields ( void )
public string getHighlightFormatter ([ string $field_override ] )
public string getHighlightFragmenter ([ string $field_override ] )
public int getHighlightFragsize ([ string $field_override ] )
public bool getHighlightHighlightMultiTerm ( void )
public int getHighlightMaxAlternateFieldLength ([ string $field_override ] )
public int getHighlightMaxAnalyzedChars ( void )
public bool getHighlightMergeContiguous ([ string $field_override ] )
public int getHighlightRegexMaxAnalyzedChars ( void )
public string getHighlightRegexPattern ( void )
public float getHighlightRegexSlop ( void )
public bool getHighlightRequireFieldMatch ( void )
public string getHighlightSimplePost ([ string $field_override ] )
public string getHighlightSimplePre ([ string $field_override ] )
public int getHighlightSnippets ([ string $field_override ] )
public bool getHighlightUsePhraseHighlighter ( void )
public bool getMlt ( void )
public bool getMltBoost ( void )
public int getMltCount ( void )
public array getMltFields ( void )
public int getMltMaxNumQueryTerms ( void )
public int getMltMaxNumTokens ( void )
public int getMltMaxWordLength ( void )
public int getMltMinDocFrequency ( void )
public int getMltMinTermFrequency ( void )
public int getMltMinWordLength ( void )
public array getMltQueryFields ( void )
public string getQuery ( void )
public int getRows ( void )
public array getSortFields ( void )
public int getStart ( void )
public bool getStats ( void )
public array getStatsFacets ( void )
public array getStatsFields ( void )
public bool getTerms ( void )
public string getTermsField ( void )
public bool getTermsIncludeLowerBound ( void )
public bool getTermsIncludeUpperBound ( void )
public int getTermsLimit ( void )
public string getTermsLowerBound ( void )
public int getTermsMaxCount ( void )
public int getTermsMinCount ( void )
public string getTermsPrefix ( void )
public bool getTermsReturnRaw ( void )
public int getTermsSort ( void )
public string getTermsUpperBound ( void )
public int getTimeAllowed ( void )
public SolrQuery removeFacetDateField ( string $field )
public SolrQuery removeFacetDateOther ( string $value [, string $field_override ] )
public SolrQuery removeFacetField ( string $field )
public SolrQuery removeFacetQuery ( string $value )
public SolrQuery removeField ( string $field )
public SolrQuery removeFilterQuery ( string $fq )
public SolrQuery removeHighlightField ( string $field )
public SolrQuery removeMltField ( string $field )
public SolrQuery removeMltQueryField ( string $queryField )
public SolrQuery removeSortField ( string $field )
public SolrQuery removeStatsFacet ( string $value )
public SolrQuery removeStatsField ( string $field )
public SolrQuery setEchoHandler ( bool $flag )
public SolrQuery setEchoParams ( string $type )
public SolrQuery setExplainOther ( string $query )
public SolrQuery setFacet ( bool $flag )
public SolrQuery setFacetDateEnd ( string $value [, string $field_override ] )
public SolrQuery setFacetDateGap ( string $value [, string $field_override ] )
public SolrQuery setFacetDateHardEnd ( bool $value [, string $field_override ] )
public SolrQuery setFacetDateStart ( string $value [, string $field_override ] )
public SolrQuery setFacetEnumCacheMinDefaultFrequency ( int $frequency [, string $field_override ] )
public SolrQuery setFacetLimit ( int $limit [, string $field_override ] )
public SolrQuery setFacetMethod ( string $method [, string $field_override ] )
public SolrQuery setFacetMinCount ( int $mincount [, string $field_override ] )
public SolrQuery setFacetMissing ( bool $flag [, string $field_override ] )
public SolrQuery setFacetOffset ( int $offset [, string $field_override ] )
public SolrQuery setFacetPrefix ( string $prefix [, string $field_override ] )
public SolrQuery setFacetSort ( int $facetSort [, string $field_override ] )
public SolrQuery setHighlight ( bool $flag )
public SolrQuery setHighlightAlternateField ( string $field [, string $field_override ] )
public SolrQuery setHighlightFormatter ( string $formatter [, string $field_override ] )
public SolrQuery setHighlightFragmenter ( string $fragmenter [, string $field_override ] )
public SolrQuery setHighlightFragsize ( int $size [, string $field_override ] )
public SolrQuery setHighlightHighlightMultiTerm ( bool $flag )
public SolrQuery setHighlightMaxAlternateFieldLength ( int $fieldLength [, string $field_override ] )
public SolrQuery setHighlightMaxAnalyzedChars ( int $value )
public SolrQuery setHighlightMergeContiguous ( bool $flag [, string $field_override ] )
public SolrQuery setHighlightRegexMaxAnalyzedChars ( int $maxAnalyzedChars )
public SolrQuery setHighlightRegexPattern ( string $value )
public SolrQuery setHighlightRegexSlop ( float $factor )
public SolrQuery setHighlightRequireFieldMatch ( bool $flag )
public SolrQuery setHighlightSimplePost ( string $simplePost [, string $field_override ] )
public SolrQuery setHighlightSimplePre ( string $simplePre [, string $field_override ] )
public SolrQuery setHighlightSnippets ( int $value [, string $field_override ] )
public SolrQuery setHighlightUsePhraseHighlighter ( bool $flag )
public SolrQuery setMlt ( bool $flag )
public SolrQuery setMltBoost ( bool $flag )
public SolrQuery setMltCount ( int $count )
public SolrQuery setMltMaxNumQueryTerms ( int $value )
public SolrQuery setMltMaxNumTokens ( int $value )
public SolrQuery setMltMaxWordLength ( int $maxWordLength )
public SolrQuery setMltMinDocFrequency ( int $minDocFrequency )
public SolrQuery setMltMinTermFrequency ( int $minTermFrequency )
public SolrQuery setMltMinWordLength ( int $minWordLength )
public SolrQuery setOmitHeader ( bool $flag )
public SolrQuery setQuery ( string $query )
public SolrQuery setRows ( int $rows )
public SolrQuery setShowDebugInfo ( bool $flag )
public SolrQuery setStart ( int $start )
public SolrQuery setStats ( bool $flag )
public SolrQuery setTerms ( bool $flag )
public SolrQuery setTermsField ( string $fieldname )
public SolrQuery setTermsIncludeLowerBound ( bool $flag )
public SolrQuery setTermsIncludeUpperBound ( bool $flag )
public SolrQuery setTermsLimit ( int $limit )
public SolrQuery setTermsLowerBound ( string $lowerBound )
public SolrQuery setTermsMaxCount ( int $frequency )
public SolrQuery setTermsMinCount ( int $frequency )
public SolrQuery setTermsPrefix ( string $prefix )
public SolrQuery setTermsReturnRaw ( bool $flag )
public SolrQuery setTermsSort ( int $sortType )
public SolrQuery setTermsUpperBound ( string $upperBound )
public SolrQuery setTimeAllowed ( int $timeAllowed )
/* Métodos heredados */
public SolrModifiableParams::__construct ( void )
public void SolrModifiableParams::__destruct ( void )
}

Constantes predefinidas

SolrQuery::ORDER_ASC

Se usa para especificar la forma de ordenación debería se ascendente

SolrQuery::ORDER_DESC

Se usa para especificar la forma de ordenación debería se descendente

SolrQuery::FACET_SORT_INDEX

Se usa para especificar que la faceta debería ordenarse según el índice

SolrQuery::FACET_SORT_COUNT

Se usa para especificar que la faceta debería ordenarse según la cuenta

SolrQuery::TERMS_SORT_INDEX

Usado en TermsComponent

SolrQuery::TERMS_SORT_COUNT

Usado en TermsComponent

Tabla de contenidos

  • SolrQuery::addFacetDateField — Mapea a facet.date
  • SolrQuery::addFacetDateOther — Añade otro parámetro facet.date.other
  • SolrQuery::addFacetField — Añade otro campo a la faceta
  • SolrQuery::addFacetQuery — Añade una consulta de faceta
  • SolrQuery::addField — Especifica qué campos devolver en el resultado
  • SolrQuery::addFilterQuery — Especifica una consulta de filtro
  • SolrQuery::addHighlightField — Mapea a hl.fl
  • SolrQuery::addMltField — Establece un campo para usarlo para similitud
  • SolrQuery::addMltQueryField — Mapea a mlt.qf
  • SolrQuery::addSortField — Usado para controlar cómo deberían ordenarse los resultados
  • SolrQuery::addStatsFacet — Recupera una devolución de subresultados para valores dentro de la faceta dada
  • SolrQuery::addStatsField — Mapea al parámetro stats.field
  • SolrQuery::__construct — Constructor
  • SolrQuery::__destruct — Destructor
  • SolrQuery::getFacet — Devuelve el valor del parámetro facet
  • SolrQuery::getFacetDateEnd — Devuelve el valor del parámetro facet.date.end
  • SolrQuery::getFacetDateFields — Devuelve todos los campos de facet.date
  • SolrQuery::getFacetDateGap — Devuelve el valor del parámetro facet.date.gap
  • SolrQuery::getFacetDateHardEnd — Devuelve el valor del parámetro facet.date.hardend
  • SolrQuery::getFacetDateOther — Devuelve el valor del parámetro facet.date.other
  • SolrQuery::getFacetDateStart — Devuelve el límite inferior del primer rango de datos para todas las facetas de fecha de este campo
  • SolrQuery::getFacetFields — Devuelve todos los campos facet
  • SolrQuery::getFacetLimit — Devuelve el número máximo de restricciones que deberían ser devueltas por los campos facet
  • SolrQuery::getFacetMethod — Devuelve el valor del parámetro facet.method
  • SolrQuery::getFacetMinCount — Devuelve el mínimo de facetas que deberían ser incluidas en la respuesta
  • SolrQuery::getFacetMissing — Devuelve el estado acutual del parámetro facet.missing
  • SolrQuery::getFacetOffset — Devuelve un índice dentro de la lista de restricciones para ser usado en paginación
  • SolrQuery::getFacetPrefix — Devuelve el prefijo de faceta
  • SolrQuery::getFacetQueries — Devuelve todas las consultas de facetas
  • SolrQuery::getFacetSort — Devuelve el tipo de ordenación de la faceta
  • SolrQuery::getFields — Devuelve la lista de campos que serán devueltos en la respuesta
  • SolrQuery::getFilterQueries — Devuelve una matriz de consultas de filtro
  • SolrQuery::getHighlight — Devuelve el estado del parámtero hl
  • SolrQuery::getHighlightAlternateField — Devuelve el campo remarcado para usarlo como copia de seguridad o como predeterminado
  • SolrQuery::getHighlightFields — Devuelve todos los campos que Solr debería generar para remarcación de trozos
  • SolrQuery::getHighlightFormatter — Devuelve el formateador de la salida remarcada
  • SolrQuery::getHighlightFragmenter — Devuelve el generador de trozos de texto para el texto remarcado
  • SolrQuery::getHighlightFragsize — Devuelve el número de caracteres de fragmentos a considerar para remarcación
  • SolrQuery::getHighlightHighlightMultiTerm — Devuelve si habilitar o no la remarcación de consultas range/wildcard/fuzzy/prefix
  • SolrQuery::getHighlightMaxAlternateFieldLength — Devuelve el número máximo de caracteres del campo a devolver
  • SolrQuery::getHighlightMaxAnalyzedChars — Devuelve el número máximo de caracteres de un documento para buscar trozos adecuados
  • SolrQuery::getHighlightMergeContiguous — Devuelve si colapsar o no fragmentos contiguos en un único fragmento
  • SolrQuery::getHighlightRegexMaxAnalyzedChars — Devuelve el número máximo de caracteres de un campo cuando se usa el fragmentador de expresiones regulares
  • SolrQuery::getHighlightRegexPattern — Devuelve la expresión regular para la fragmentación
  • SolrQuery::getHighlightRegexSlop — Devuelve el factor de desviación del tamaño de fragmento ideal
  • SolrQuery::getHighlightRequireFieldMatch — Devuelve si un campo será remarcado solamente si la consulta coincide con este campo en particular
  • SolrQuery::getHighlightSimplePost — Devuelve el texto que aparece después de un término remarcado
  • SolrQuery::getHighlightSimplePre — Devuelve el texto que aparece antes de un término remarcado
  • SolrQuery::getHighlightSnippets — Devuelve el número máximo de trozos remarcados a generar por campo
  • SolrQuery::getHighlightUsePhraseHighlighter — Devuelve el estado del parámetro hl.usePhraseHighlighter
  • SolrQuery::getMlt — Devuelve si los resultados MoreLikeThis deberían o no ser habilitados
  • SolrQuery::getMltBoost — Devuelve si la consulta será impulsada (boost) o no mediante la relevancia del térmido de interés
  • SolrQuery::getMltCount — Devuelve el número de documentos similares a devolver para cada resultado
  • SolrQuery::getMltFields — Devuelve todos los campos a usar para similitud
  • SolrQuery::getMltMaxNumQueryTerms — Devuelve el número máximo de términos de consultas que serán incluidos en cualquier consulta generada
  • SolrQuery::getMltMaxNumTokens — Devuelve el número máximo de tokens a analizar en cada campo del documento que no esté almacenado con soporte TermVector
  • SolrQuery::getMltMaxWordLength — Devuelve la longitud máxima de palabra de las palabras que serán ignoradas
  • SolrQuery::getMltMinDocFrequency — Devuelve el umbral de frecuencia en el que las palabras que no ocurran en por lo menos tantos documentos como este serán ignoradas
  • SolrQuery::getMltMinTermFrequency — Devuelve la frecuencia bajo la cual los términos serán ignorados en el documento fuente
  • SolrQuery::getMltMinWordLength — Devuelve la longitud máxima de palabra bajo la cual las palabras serán ignoradas
  • SolrQuery::getMltQueryFields — Devuelve los campos de consultas y sus boosts
  • SolrQuery::getQuery — Devuelve la consulta principal
  • SolrQuery::getRows — Devuelve el número máximo de documentos
  • SolrQuery::getSortFields — Devuelve todos los campos de ordenación
  • SolrQuery::getStart — Devuelve el índice del conjunto de resultados completo
  • SolrQuery::getStats — Devuelve si están habilitadas o no las estadísticas
  • SolrQuery::getStatsFacets — Devuelve todas las estadísticas de las facetas que fueron establecidas
  • SolrQuery::getStatsFields — Devuelve todas las estadísticas de los campos
  • SolrQuery::getTerms — Devuelve si está habilitado o no TermsComponent
  • SolrQuery::getTermsField — Devuelve el campo desde el cuál los términos son recuperados
  • SolrQuery::getTermsIncludeLowerBound — Devuelve si incluir o no el límite inferior en el conjunto de resultados
  • SolrQuery::getTermsIncludeUpperBound — Devuelve si incluir o no el término de límite superior en el conjunto de resultados
  • SolrQuery::getTermsLimit — Devuelve el número máximo de términos que debería devolver Solr
  • SolrQuery::getTermsLowerBound — Devuelve el término en el que comenzar
  • SolrQuery::getTermsMaxCount — Devuelve la frecuencia de documento máxima
  • SolrQuery::getTermsMinCount — Devuelve la frecuencia de documento mínima a devolver para ser incluido
  • SolrQuery::getTermsPrefix — Devuelve el prefijo del término
  • SolrQuery::getTermsReturnRaw — Si devolver o no caracteres en bruto
  • SolrQuery::getTermsSort — Devuelve un entero indicando cómo son ordenados los términos
  • SolrQuery::getTermsUpperBound — Devuelve el término en donde parar
  • SolrQuery::getTimeAllowed — Devuelve el tiempo en milisegundos permitido para que la consulta finalice
  • SolrQuery::removeFacetDateField — Elimina uno de los campos de faceta de fecha
  • SolrQuery::removeFacetDateOther — Elimina uno de los parámetros facet.date.other
  • SolrQuery::removeFacetField — Elimina uno de los parámetros facet.date
  • SolrQuery::removeFacetQuery — Elimina uno de los parámetros facet.query
  • SolrQuery::removeField — Elimina un campo de la lista de campos
  • SolrQuery::removeFilterQuery — Elimina una consulta de filtro
  • SolrQuery::removeHighlightField — Elimina uno de los campos usados para remarcación
  • SolrQuery::removeMltField — Elimina uno de los campos moreLikeThis
  • SolrQuery::removeMltQueryField — Elimina uno de los campos de consulta moreLikeThis
  • SolrQuery::removeSortField — Elimina uno de los campos de ordenación
  • SolrQuery::removeStatsFacet — Elimina uno de los parámetros stats.facet
  • SolrQuery::removeStatsField — Elimina uno de los parámetros stats.field
  • SolrQuery::setEchoHandler — Conmuta el parámetro echoHandler
  • SolrQuery::setEchoParams — Determina qué tipo de parámetros incluir en la respuesta
  • SolrQuery::setExplainOther — Establece el parámetro de consulta común explainOther
  • SolrQuery::setFacet — Mapea al parámetro facet. Habilita o deshabilta las facetas
  • SolrQuery::setFacetDateEnd — Mapea a facet.date.end
  • SolrQuery::setFacetDateGap — Mapea a facet.date.gap
  • SolrQuery::setFacetDateHardEnd — Mapea a facet.date.hardend
  • SolrQuery::setFacetDateStart — Mapea a facet.date.start
  • SolrQuery::setFacetEnumCacheMinDefaultFrequency — Establece la frecuencia de documento mínima usada para determinar la cuenta de términos
  • SolrQuery::setFacetLimit — Mapea a facet.limit
  • SolrQuery::setFacetMethod — Especifica el tipo de algoritmo a usar cuando se hace una faceta a un campo
  • SolrQuery::setFacetMinCount — Mapea a facet.mincount
  • SolrQuery::setFacetMissing — Mapea a facet.missing
  • SolrQuery::setFacetOffset — Establece el índice de la lista de restricciones para permitir la paginación
  • SolrQuery::setFacetPrefix — Especifica un prefijo de cadena con el que limitar los términos a los que hacer una faceta
  • SolrQuery::setFacetSort — Determina el orden de las restricciones de campos de faceta
  • SolrQuery::setHighlight — Habilita o deshabilita la remarcación
  • SolrQuery::setHighlightAlternateField — Especifica el campo de copia de seguridad a usar
  • SolrQuery::setHighlightFormatter — Especifica un formateador para la salida remarcada
  • SolrQuery::setHighlightFragmenter — Establece el generador de trozos de código para texto remarcado
  • SolrQuery::setHighlightFragsize — El tamaño de los fragmentos a considerara para remarcación
  • SolrQuery::setHighlightHighlightMultiTerm — Usa SpanScorer para remarcar términos de frases
  • SolrQuery::setHighlightMaxAlternateFieldLength — Establece el número máximo de caracteres del campo a devolver
  • SolrQuery::setHighlightMaxAnalyzedChars — Especifica el número de caracteres de un documento para buscar trozos apropiados
  • SolrQuery::setHighlightMergeContiguous — Si colapsar o no fragmentos contiguos en un único fragmento
  • SolrQuery::setHighlightRegexMaxAnalyzedChars — Especifica el número máximo de caracteres a analizar
  • SolrQuery::setHighlightRegexPattern — Especifica la expresión regular para la fragmentación
  • SolrQuery::setHighlightRegexSlop — Establece el factor por el que el fragmentador de expresiones regulares puede desviarse del tamaño de fragmento ideal
  • SolrQuery::setHighlightRequireFieldMatch — Requerir la coincicencia de campos durante el remarcado
  • SolrQuery::setHighlightSimplePost — Establece el texto que aparece antes de un término remarcado
  • SolrQuery::setHighlightSimplePre — Establece el texto que aparece antes de un término remarcado
  • SolrQuery::setHighlightSnippets — Establece el número máximo de trozos remarcados para generar por campo
  • SolrQuery::setHighlightUsePhraseHighlighter — Si remarcar o no términos de frases sólo cuando aparecen en la frase de consulta
  • SolrQuery::setMlt — Habilita o deshabilita moreLikeThis
  • SolrQuery::setMltBoost — Establecer si la consulta será impulsada (boost) por la relevancia del término de interés
  • SolrQuery::setMltCount — Establece el número de documentos similares a devolver en cada resultado
  • SolrQuery::setMltMaxNumQueryTerms — Establece el número máximo de términos de consulta incluidos
  • SolrQuery::setMltMaxNumTokens — Especifica el número máximo de tokens a analizar
  • SolrQuery::setMltMaxWordLength — Establece la longitud de palabra máxima
  • SolrQuery::setMltMinDocFrequency — Establece la frecuencia de mltMinDoc
  • SolrQuery::setMltMinTermFrequency — Establece la frecuencia bajo la cual los términos serán ignorados en los documentos fuente
  • SolrQuery::setMltMinWordLength — Establece la longitud de palabra mínima
  • SolrQuery::setOmitHeader — Excluye la cabecera de los resultados devueltos
  • SolrQuery::setQuery — Establece la consulta de búsqueda
  • SolrQuery::setRows — Especifica el número máximo de filas a devolver en el resultado
  • SolrQuery::setShowDebugInfo — Bandera para mostrar información de depuración
  • SolrQuery::setStart — Especifica el número de filas que se van a saltar
  • SolrQuery::setStats — Habilita o deshablita el componente de estadísticas
  • SolrQuery::setTerms — Habilita o deshablita TermsComponent
  • SolrQuery::setTermsField — Establece el nombre del campo del que obtener los términos
  • SolrQuery::setTermsIncludeLowerBound — Incluir el término de límite inferior en el conjunto de resultados
  • SolrQuery::setTermsIncludeUpperBound — Incluir el término de límite superior en el conjunto de resultados
  • SolrQuery::setTermsLimit — Establece el número máximo de términos a devolver
  • SolrQuery::setTermsLowerBound — Especifica el término de donde empezar
  • SolrQuery::setTermsMaxCount — Establece la frecuencia máxima de documentos
  • SolrQuery::setTermsMinCount — Establece la frecuencia mínima de documentos
  • SolrQuery::setTermsPrefix — Restringe las coincidencias de términos que comienzan con el prefijo
  • SolrQuery::setTermsReturnRaw — Devuelve los caracteres en bruto del término indexado
  • SolrQuery::setTermsSort — Especifica cómo ordenar los términos devueltos
  • SolrQuery::setTermsUpperBound — Establece el término en el que parar
  • SolrQuery::setTimeAllowed — El tiempo permitido para que la búsqueda finalice
SolrModifiableParams::__destruct
SolrQuery::addFacetDateField
Solr


Mapea a facet.date

SolrQuery
SolrQuery::addFacetDateOther
SolrQuery
PHP Manual

SolrQuery::addFacetDateField

(PECL solr >= 0.9.2)

SolrQuery::addFacetDateField — Mapea a facet.date

Descripción

public SolrQuery SolrQuery::addFacetDateField ( string $dateField )

Este método permite especificar un campo que debería ser tratado como una faceta.

Se puede usar mútiples veces con diferentes nombres de campos para indicar mútiples campos de facetas

Parámetros

dateField

El nombre del campo de fecha.

Valores devueltos

Devuelve un objeto SolrQuery.

SolrQuery
SolrQuery::addFacetDateOther
SolrQuery


Añade otro parámetro facet.date.other

SolrQuery::addFacetDateField
SolrQuery::addFacetField
SolrQuery
PHP Manual

SolrQuery::addFacetDateOther

(PECL solr >= 0.9.2)

SolrQuery::addFacetDateOther — Añade otro parámetro facet.date.other

Descripción

public SolrQuery SolrQuery::addFacetDateOther ( string $value [, string $field_override ] )

Establece el parámetro facet.date.other. Acepta la sobrescritura opcional de campos

Parámetros

value

El valor a usar.

field_override

El nombre del campo para la sobrescritura.

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usa el valor de retorno.

SolrQuery::addFacetDateField
SolrQuery::addFacetField
SolrQuery


Añade otro campo a la faceta

SolrQuery::addFacetDateOther
SolrQuery::addFacetQuery
SolrQuery
PHP Manual

SolrQuery::addFacetField

(PECL solr >= 0.9.2)

SolrQuery::addFacetField — Añade otro campo a la faceta

Descripción

public SolrQuery SolrQuery::addFacetField ( string $field )

Añade otro campo a la faceta

Parámetros

field

El nombre del campo

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usa el valor de retorno.

Ejemplos

Ejemplo #1 Ejemplo de SolrQuery::addFacetField()

<?php

$opciones = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$cliente = new SolrClient($opciones);

$consulta = new SolrQuery();

$consulta->setQuery($consulta);

$consulta->addField('price')->addField('color');

$consulta->setFacet(true);

$consulta->addFacetField('price')->addFacetField('color');

$respuesta_consulta = $cliente->query($consulta);

$respuesta = $respuesta_consulta->getResponse();

print_r($respuesta['facet_counts']['facet_fields']);

?>

El resultado del ejemplo sería algo similar a:

SolrObject Object
(
    [color] => SolrObject Object
        (
            [blue] => 20
            [green] => 100
        )

)

SolrQuery::addFacetDateOther
SolrQuery::addFacetQuery
SolrQuery


Añade una consulta de faceta

SolrQuery::addFacetField
SolrQuery::addField
SolrQuery
PHP Manual

SolrQuery::addFacetQuery

(PECL solr >= 0.9.2)

SolrQuery::addFacetQuery — Añade una consulta de faceta

Descripción

public SolrQuery SolrQuery::addFacetQuery ( string $facetQuery )

Añade una consulta de faceta

Parámetros

facetQuery

La consulta de faceta

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usa el valor de retorno.

SolrQuery::addFacetField
SolrQuery::addField
SolrQuery


Especifica qué campos devolver en el resultado

SolrQuery::addFacetQuery
SolrQuery::addFilterQuery
SolrQuery
PHP Manual

SolrQuery::addField

(PECL solr >= 0.9.2)

SolrQuery::addField — Especifica qué campos devolver en el resultado

Descripción

public SolrQuery SolrQuery::addField ( string $field )

Este método se usa para especificar un conjunto de campos a devolver, method is used to used to specify a set of fields to return, de este modo restingiendo la cantidad de información en la respuesta.

Puede ser llamado múltiples veces, una por cada nombre de campo.

Parámetros

field

El nombre del campo

Valores devueltos

Devuelve el objeto SolrQuery actual

SolrQuery::addFacetQuery
SolrQuery::addFilterQuery
SolrQuery


Especifica una consulta de filtro

SolrQuery::addField
SolrQuery::addHighlightField
SolrQuery
PHP Manual

SolrQuery::addFilterQuery

(PECL solr >= 0.9.2)

SolrQuery::addFilterQuery — Especifica una consulta de filtro

Descripción

public SolrQuery SolrQuery::addFilterQuery ( string $fq )

Especifica una consulta de filtro

Parámetros

fq

La consulta de filtro

Valores devueltos

Devuelve el objeto SolrQuery actual.

Ejemplos

Ejemplo #1 Ejemplo de SolrQuery::addFilterQuery()

<?php

$opciones = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$cliente = new SolrClient($opciones);

$consulta = new SolrQuery();

$consulta->setQuery($consulta);

$consulta->addFilterQuery('color:blue,green');

$respuesta_consulta = $cliente->query($consulta);

$respuesta = $respuesta_consulta->getResponse();

print_r($respuesta['facet_counts']['facet_fields']);

?>

El resultado del ejemplo sería algo similar a:

 &fq=color:blue,green

SolrQuery::addField
SolrQuery::addHighlightField
SolrQuery


Mapea a hl.fl

SolrQuery::addFilterQuery
SolrQuery::addMltField
SolrQuery
PHP Manual

SolrQuery::addHighlightField

(PECL solr >= 0.9.2)

SolrQuery::addHighlightField — Mapea a hl.fl

Descripción

public SolrQuery SolrQuery::addHighlightField ( string $field )

Mapea a hl.fl. Se usa para especificar que los trozos resaltados deberían ser generados para un campo en particular

Parámetros

field

Nombre del campo

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usa el valor de retorno.

SolrQuery::addFilterQuery
SolrQuery::addMltField
SolrQuery


Establece un campo para usarlo para similitud

SolrQuery::addHighlightField
SolrQuery::addMltQueryField
SolrQuery
PHP Manual

SolrQuery::addMltField

(PECL solr >= 0.9.2)

SolrQuery::addMltField — Establece un campo para usarlo para similitud

Descripción

public SolrQuery SolrQuery::addMltField ( string $field )

Mapea a mlt.fl. Especifica que un campo debería ser usado para similitud.

Parámetros

field

El nombre del campo

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usa el valor de retorno.

SolrQuery::addHighlightField
SolrQuery::addMltQueryField
SolrQuery


Mapea a mlt.qf

SolrQuery::addMltField
SolrQuery::addSortField
SolrQuery
PHP Manual

SolrQuery::addMltQueryField

(PECL solr >= 0.9.2)

SolrQuery::addMltQueryField — Mapea a mlt.qf

Descripción

public SolrQuery SolrQuery::addMltQueryField ( string $field , float $boost )

Mapea a mlt.qf. Se usa para especificar campos de consultas y sus boosts

Parámetros

field

El nombre del campo

boost

Su valor boost

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usa el valor de retorno.

SolrQuery::addMltField
SolrQuery::addSortField
SolrQuery


Usado para controlar cómo deberían ordenarse los resultados

SolrQuery::addMltQueryField
SolrQuery::addStatsFacet
SolrQuery
PHP Manual

SolrQuery::addSortField

(PECL solr >= 0.9.2)

SolrQuery::addSortField — Usado para controlar cómo deberían ordenarse los resultados

Descripción

public SolrQuery SolrQuery::addSortField ( string $field [, int $order = SolrQuery::ORDER_DESC ] )

Usado para controlar cómo deberían ordenarse los resultados.

Parámetros

field

El nombre del campo

order

La dirección de ordenación. Debería ser SolrQuery::ORDER_ASC o SolrQuery::ORDER_DESC.

Valores devueltos

Devuelve el objeto SolrQuery actual.

SolrQuery::addMltQueryField
SolrQuery::addStatsFacet
SolrQuery


Recupera una devolución de subresultados para valores dentro de la faceta dada

SolrQuery::addSortField
SolrQuery::addStatsField
SolrQuery
PHP Manual

SolrQuery::addStatsFacet

(PECL solr >= 0.9.2)

SolrQuery::addStatsFacet — Recupera una devolución de subresultados para valores dentro de la faceta dada

Descripción

public SolrQuery SolrQuery::addStatsFacet ( string $field )

Recupera una devolución de subresultados para valores dentro de la faceta dada. Mapea al campo stats.facet

Parámetros

field

El nombre del campo

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usa el valor de retorno.

SolrQuery::addSortField
SolrQuery::addStatsField
SolrQuery


Mapea al parámetro stats.field

SolrQuery::addStatsFacet
SolrQuery::__construct
SolrQuery
PHP Manual

SolrQuery::addStatsField

(PECL solr >= 0.9.2)

SolrQuery::addStatsField — Mapea al parámetro stats.field

Descripción

public SolrQuery SolrQuery::addStatsField ( string $field )

Mapea al parámetro stats.field. Este método añade otro parámetro stats.field.

Parámetros

field

El nombre del campo

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usa el valor de retorno.

SolrQuery::addStatsFacet
SolrQuery::__construct
SolrQuery


Constructor

SolrQuery::addStatsField
SolrQuery::__destruct
SolrQuery
PHP Manual

SolrQuery::__construct

(PECL solr >= 0.9.2)

SolrQuery::__construct — Constructor

Descripción

public SolrQuery::__construct ([ string $q ] )

Constructor.

Parámetros

q

Consulta de búsqueda opcional

Valores devueltos

Nada

SolrQuery::addStatsField
SolrQuery::__destruct
SolrQuery


Destructor

SolrQuery::__construct
SolrQuery::getFacet
SolrQuery
PHP Manual

SolrQuery::__destruct

(PECL solr >= 0.9.2)

SolrQuery::__destruct — Destructor

Descripción

public void SolrQuery::__destruct ( void )

Destructor

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Nada.

SolrQuery::__construct
SolrQuery::getFacet
SolrQuery


Devuelve el valor del parámetro facet

SolrQuery::__destruct
SolrQuery::getFacetDateEnd
SolrQuery
PHP Manual

SolrQuery::getFacet

(PECL solr >= 0.9.2)

SolrQuery::getFacet — Devuelve el valor del parámetro facet

Descripción

public bool SolrQuery::getFacet ( void )

Devuelve el valor del parámetro facet.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un boolean en caso de éxito y NULL si no se estableció

SolrQuery::__destruct
SolrQuery::getFacetDateEnd
SolrQuery


Devuelve el valor del parámetro facet.date.end

SolrQuery::getFacet
SolrQuery::getFacetDateFields
SolrQuery
PHP Manual

SolrQuery::getFacetDateEnd

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateEnd — Devuelve el valor del parámetro facet.date.end

Descripción

public string SolrQuery::getFacetDateEnd ([ string $field_override ] )

Devuelve el valor del parámetro facet.date.end. Este método acepta una sobrescritura opcional de campos

Parámetros

field_override

El nombre del campo

Valores devueltos

Devuelve una cadena en caso de éxito y NULL si no se estableció

SolrQuery::getFacet
SolrQuery::getFacetDateFields
SolrQuery


Devuelve todos los campos de facet.date

SolrQuery::getFacetDateEnd
SolrQuery::getFacetDateGap
SolrQuery
PHP Manual

SolrQuery::getFacetDateFields

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateFields — Devuelve todos los campos de facet.date

Descripción

public array SolrQuery::getFacetDateFields ( void )

Devuelve todos los campos de facet.date

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve todos los campos de facet.date como matriz o NULL si no se estableció nada

SolrQuery::getFacetDateEnd
SolrQuery::getFacetDateGap
SolrQuery


Devuelve el valor del parámetro facet.date.gap

SolrQuery::getFacetDateFields
SolrQuery::getFacetDateHardEnd
SolrQuery
PHP Manual

SolrQuery::getFacetDateGap

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateGap — Devuelve el valor del parámetro facet.date.gap

Descripción

public string SolrQuery::getFacetDateGap ([ string $field_override ] )

Devuelve el valor del parámetro facet.date.gap. Acepta una sobrescritura opcional de campos

Parámetros

field_override

El nombre del campo

Valores devueltos

Devuelve una cadena en caso de éxito y NULL si no se estabelció

SolrQuery::getFacetDateFields
SolrQuery::getFacetDateHardEnd
SolrQuery


Devuelve el valor del parámetro facet.date.hardend

SolrQuery::getFacetDateGap
SolrQuery::getFacetDateOther
SolrQuery
PHP Manual

SolrQuery::getFacetDateHardEnd

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateHardEnd — Devuelve el valor del parámetro facet.date.hardend

Descripción

public string SolrQuery::getFacetDateHardEnd ([ string $field_override ] )

Devuelve el valor del parámetro facet.date.hardend. Acepta una sobrescritura opcional de campos

Parámetros

field_override

El nombre del campo

Valores devueltos

Devuelve una cadena en caso de éxito y NULL si no se estableció

SolrQuery::getFacetDateGap
SolrQuery::getFacetDateOther
SolrQuery


Devuelve el valor del parámetro facet.date.other

SolrQuery::getFacetDateHardEnd
SolrQuery::getFacetDateStart
SolrQuery
PHP Manual

SolrQuery::getFacetDateOther

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateOther — Devuelve el valor del parámetro facet.date.other

Descripción

public array SolrQuery::getFacetDateOther ([ string $field_override ] )

Devuelve el valor del parámetro facet.date.other. Este método acepta una sobrescritura opcional de campos.

Parámetros

field_override

El nombre del campo

Valores devueltos

Devuelve una cadena en caso de éxito y NULL si no se estableció.

SolrQuery::getFacetDateHardEnd
SolrQuery::getFacetDateStart
SolrQuery


Devuelve el límite inferior del primer rango de datos para todas las facetas de fecha de este campo

SolrQuery::getFacetDateOther
SolrQuery::getFacetFields
SolrQuery
PHP Manual

SolrQuery::getFacetDateStart

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateStart — Devuelve el límite inferior del primer rango de datos para todas las facetas de fecha de este campo

Descripción

public string SolrQuery::getFacetDateStart ([ string $field_override ] )

Devuelve el límite inferior del primer rango de datos para todas las facetas de fecha de este campo. Acepta una sobrescritura opcional de campos

Parámetros

field_override

El nombre del campo

Valores devueltos

Devuelve una cadena en caso de éxito y NULL si no se estableció

SolrQuery::getFacetDateOther
SolrQuery::getFacetFields
SolrQuery


Devuelve todos los campos facet

SolrQuery::getFacetDateStart
SolrQuery::getFacetLimit
SolrQuery
PHP Manual

SolrQuery::getFacetFields

(PECL solr >= 0.9.2)

SolrQuery::getFacetFields — Devuelve todos los campos facet

Descripción

public array SolrQuery::getFacetFields ( void )

Devuelve todos los campos facet

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una matriz de todos los campos y NULL si no se estableció nada

SolrQuery::getFacetDateStart
SolrQuery::getFacetLimit
SolrQuery


Devuelve el número máximo de restricciones que deberían ser devueltas por los campos facet

SolrQuery::getFacetFields
SolrQuery::getFacetMethod
SolrQuery
PHP Manual

SolrQuery::getFacetLimit

(PECL solr >= 0.9.2)

SolrQuery::getFacetLimit — Devuelve el número máximo de restricciones que deberían ser devueltas por los campos facet

Descripción

public int SolrQuery::getFacetLimit ([ string $field_override ] )

Devuelve el número máximo de restricciones que deberían ser devueltas por los campos facet. Este método acepta una sobrescritura opcional de campos

Parámetros

field_override

El nombre del campo a sobrescribir.

Valores devueltos

Devuelve un entero en caso de éxito y NULL si no se estableció

SolrQuery::getFacetFields
SolrQuery::getFacetMethod
SolrQuery


Devuelve el valor del parámetro facet.method

SolrQuery::getFacetLimit
SolrQuery::getFacetMinCount
SolrQuery
PHP Manual

SolrQuery::getFacetMethod

(PECL solr >= 0.9.2)

SolrQuery::getFacetMethod — Devuelve el valor del parámetro facet.method

Descripción

public string SolrQuery::getFacetMethod ([ string $field_override ] )

Devuelve el valor del parámetro facet.method. Acepta una sobrescritura opcional de campos.

Parámetros

field_override

El nombre del campo

Valores devueltos

Devuelve una cadena en caso de éxito y NULL si no se establece

SolrQuery::getFacetLimit
SolrQuery::getFacetMinCount
SolrQuery


Devuelve el mínimo de facetas que deberían ser incluidas en la respuesta

SolrQuery::getFacetMethod
SolrQuery::getFacetMissing
SolrQuery
PHP Manual

SolrQuery::getFacetMinCount

(PECL solr >= 0.9.2)

SolrQuery::getFacetMinCount — Devuelve el mínimo de facetas que deberían ser incluidas en la respuesta

Descripción

public int SolrQuery::getFacetMinCount ([ string $field_override ] )

Devuelve el mínimo de facetas que deberían ser incluidas en la respuesta. Acepta una sobrescritura opcional de campos

Parámetros

field_override

El nombre del campo

Valores devueltos

Devuelve un entero en caso de éxito y NULL si no se estableció

SolrQuery::getFacetMethod
SolrQuery::getFacetMissing
SolrQuery


Devuelve el estado acutual del parámetro facet.missing

SolrQuery::getFacetMinCount
SolrQuery::getFacetOffset
SolrQuery
PHP Manual

SolrQuery::getFacetMissing

(PECL solr >= 0.9.2)

SolrQuery::getFacetMissing — Devuelve el estado acutual del parámetro facet.missing

Descripción

public bool SolrQuery::getFacetMissing ([ string $field_override ] )

Devuelve el estado acutual del parámetro facet.missing. Acepta una sobrescritura opcional de campos

Parámetros

field_override

El nombre del campo

Valores devueltos

Devuelve un booleano en caso de éxito y NULL si no se estableció

SolrQuery::getFacetMinCount
SolrQuery::getFacetOffset
SolrQuery


Devuelve un índice dentro de la lista de restricciones para ser usado en paginación

SolrQuery::getFacetMissing
SolrQuery::getFacetPrefix
SolrQuery
PHP Manual

SolrQuery::getFacetOffset

(PECL solr >= 0.9.2)

SolrQuery::getFacetOffset — Devuelve un índice dentro de la lista de restricciones para ser usado en paginación

Descripción

public int SolrQuery::getFacetOffset ([ string $field_override ] )

Devuelve un índice dentro de la lista de restricciones para ser usado en paginación. Acepta una sobrescritura opcional de campos

Parámetros

field_override

El nombre del campo a sobrescribir.

Valores devueltos

Devuelve un entero en caso de éxito y NULL si no se estableció

SolrQuery::getFacetMissing
SolrQuery::getFacetPrefix
SolrQuery


Devuelve el prefijo de faceta

SolrQuery::getFacetOffset
SolrQuery::getFacetQueries
SolrQuery
PHP Manual

SolrQuery::getFacetPrefix

(PECL solr >= 0.9.2)

SolrQuery::getFacetPrefix — Devuelve el prefijo de faceta

Descripción

public string SolrQuery::getFacetPrefix ([ string $field_override ] )

Devuelve el prefijo de faceta

Parámetros

field_override

El nombre del campo

Valores devueltos

Devuelve una cadena en caso de éxito y NULL si no se estableció.

SolrQuery::getFacetOffset
SolrQuery::getFacetQueries
SolrQuery


Devuelve todas las consultas de facetas

SolrQuery::getFacetPrefix
SolrQuery::getFacetSort
SolrQuery
PHP Manual

SolrQuery::getFacetQueries

(PECL solr >= 0.9.2)

SolrQuery::getFacetQueries — Devuelve todas las consultas de facetas

Descripción

public array SolrQuery::getFacetQueries ( void )

Devuelve todas las consultas de facetas

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una matriz en caso de éxito y NULL si no se estableció.

SolrQuery::getFacetPrefix
SolrQuery::getFacetSort
SolrQuery


Devuelve el tipo de ordenación de la faceta

SolrQuery::getFacetQueries
SolrQuery::getFields
SolrQuery
PHP Manual

SolrQuery::getFacetSort

(PECL solr >= 0.9.2)

SolrQuery::getFacetSort — Devuelve el tipo de ordenación de la faceta

Descripción

public int SolrQuery::getFacetSort ([ string $field_override ] )

Devuelve un entero (SolrQuery::FACET_SORT_INDEX o SolrQuery::FACET_SORT_COUNT)

Parámetros

field_override

El nombre del campo

Valores devueltos

Devuelve un entero (SolrQuery::FACET_SORT_INDEX o SolrQuery::FACET_SORT_COUNT) en caso de éxito o NULL si no se estableció.

SolrQuery::getFacetQueries
SolrQuery::getFields
SolrQuery


Devuelve la lista de campos que serán devueltos en la respuesta

SolrQuery::getFacetSort
SolrQuery::getFilterQueries
SolrQuery
PHP Manual

SolrQuery::getFields

(PECL solr >= 0.9.2)

SolrQuery::getFields — Devuelve la lista de campos que serán devueltos en la respuesta

Descripción

public array SolrQuery::getFields ( void )

Devuelve la lista de campos que serán devueltos en la respuesta

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una matriz en caso de éxito y NULL si no se estableció.

SolrQuery::getFacetSort
SolrQuery::getFilterQueries
SolrQuery


Devuelve una matriz de consultas de filtro

SolrQuery::getFields
SolrQuery::getHighlight
SolrQuery
PHP Manual

SolrQuery::getFilterQueries

(PECL solr >= 0.9.2)

SolrQuery::getFilterQueries — Devuelve una matriz de consultas de filtro

Descripción

public array SolrQuery::getFilterQueries ( void )

Devuelve una matriz de consultas de filtro. Éstas son consultas que se pueden usar para restringir el superconjunto de documentos que pueden ser devueltos, sin influenciar en el resutlado

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una matriz en caso de éxito y NULL si no se estableció.

SolrQuery::getFields
SolrQuery::getHighlight
SolrQuery


Devuelve el estado del parámtero hl

SolrQuery::getFilterQueries
SolrQuery::getHighlightAlternateField
SolrQuery
PHP Manual

SolrQuery::getHighlight

(PECL solr >= 0.9.2)

SolrQuery::getHighlight — Devuelve el estado del parámtero hl

Descripción

public bool SolrQuery::getHighlight ( void )

Devuelve un booleano que indica si habilitar o no la generación de trozos remarcados en la respuesta de la consulta.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un booleano en caso de éxito y NULL si no se estableció

SolrQuery::getFilterQueries
SolrQuery::getHighlightAlternateField
SolrQuery


Devuelve el campo remarcado para usarlo como copia de seguridad o como predeterminado

SolrQuery::getHighlight
SolrQuery::getHighlightFields
SolrQuery
PHP Manual

SolrQuery::getHighlightAlternateField

(PECL solr >= 0.9.2)

SolrQuery::getHighlightAlternateField — Devuelve el campo remarcado para usarlo como copia de seguridad o como predeterminado

Descripción

public string SolrQuery::getHighlightAlternateField ([ string $field_override ] )

Devuelve el campo remarcado para usarlo como copia de seguridad o como predeterminado. Acepta una sobrescritura opcional.

Parámetros

field_override

El nombre del campo

Valores devueltos

Devuelve una cadena en caso de éxito y NULL si no se estableció.

SolrQuery::getHighlight
SolrQuery::getHighlightFields
SolrQuery


Devuelve todos los campos que Solr debería generar para remarcación de trozos

SolrQuery::getHighlightAlternateField
SolrQuery::getHighlightFormatter
SolrQuery
PHP Manual

SolrQuery::getHighlightFields

(PECL solr >= 0.9.2)

SolrQuery::getHighlightFields — Devuelve todos los campos que Solr debería generar para remarcación de trozos

Descripción

public array SolrQuery::getHighlightFields ( void )

Devuelve todos los campos que Solr debería generar para remarcación de trozos

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una matriz en caso de éxito y NULL si no se estableció.

SolrQuery::getHighlightAlternateField
SolrQuery::getHighlightFormatter
SolrQuery


Devuelve el formateador de la salida remarcada

SolrQuery::getHighlightFields
SolrQuery::getHighlightFragmenter
SolrQuery
PHP Manual

SolrQuery::getHighlightFormatter

(PECL solr >= 0.9.2)

SolrQuery::getHighlightFormatter — Devuelve el formateador de la salida remarcada

Descripción

public string SolrQuery::getHighlightFormatter ([ string $field_override ] )

Devuelve el formateador de la salida remarcada

Parámetros

field_override

El nombre del campo

Valores devueltos

Devuelve una cadena en caso de éxito y NULL si no se estableció.

SolrQuery::getHighlightFields
SolrQuery::getHighlightFragmenter
SolrQuery


Devuelve el generador de trozos de texto para el texto remarcado

SolrQuery::getHighlightFormatter
SolrQuery::getHighlightFragsize
SolrQuery
PHP Manual

SolrQuery::getHighlightFragmenter

(PECL solr >= 0.9.2)

SolrQuery::getHighlightFragmenter — Devuelve el generador de trozos de texto para el texto remarcado

Descripción

public string SolrQuery::getHighlightFragmenter ([ string $field_override ] )

Devuelve el generador de trozos de texto para el texto remarcado. Acepta una sobrescritura opcional de campos.

Parámetros

field_override

El nombre del campo

Valores devueltos

Devuelve una cadena en caso de éxito y NULL si no se estableció.

SolrQuery::getHighlightFormatter
SolrQuery::getHighlightFragsize
SolrQuery


Devuelve el número de caracteres de fragmentos a considerar para remarcación

SolrQuery::getHighlightFragmenter
SolrQuery::getHighlightHighlightMultiTerm
SolrQuery
PHP Manual

SolrQuery::getHighlightFragsize

(PECL solr >= 0.9.2)

SolrQuery::getHighlightFragsize — Devuelve el número de caracteres de fragmentos a considerar para remarcación

Descripción

public int SolrQuery::getHighlightFragsize ([ string $field_override ] )

Devuelve el número de caracteres de fragmentos a considerar para remarcación. Cero implica que no hay fragmentos. Debería usarse el camplo completo.

Parámetros

field_override

El nombre del campo

Valores devueltos

Devuelve un entero en caso de éxito o NULL si no se estableció

SolrQuery::getHighlightFragmenter
SolrQuery::getHighlightHighlightMultiTerm
SolrQuery


Devuelve si habilitar o no la remarcación de consultas range/wildcard/fuzzy/prefix

SolrQuery::getHighlightFragsize
SolrQuery::getHighlightMaxAlternateFieldLength
SolrQuery
PHP Manual

SolrQuery::getHighlightHighlightMultiTerm

(PECL solr >= 0.9.2)

SolrQuery::getHighlightHighlightMultiTerm — Devuelve si habilitar o no la remarcación de consultas range/wildcard/fuzzy/prefix

Descripción

public bool SolrQuery::getHighlightHighlightMultiTerm ( void )

Devuelve si habilitar o no la remarcación de consultas range/wildcard/fuzzy/prefix

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un booleano en caso de éxito y NULL si no se estableció

SolrQuery::getHighlightFragsize
SolrQuery::getHighlightMaxAlternateFieldLength
SolrQuery


Devuelve el número máximo de caracteres del campo a devolver

SolrQuery::getHighlightHighlightMultiTerm
SolrQuery::getHighlightMaxAnalyzedChars
SolrQuery
PHP Manual

SolrQuery::getHighlightMaxAlternateFieldLength

(PECL solr >= 0.9.2)

SolrQuery::getHighlightMaxAlternateFieldLength — Devuelve el número máximo de caracteres del campo a devolver

Descripción

public int SolrQuery::getHighlightMaxAlternateFieldLength ([ string $field_override ] )

Devuelve el número máximo de caracteres del campo a devolver

Parámetros

field_override

El nombre del campo

Valores devueltos

Devuelve un entero en caso de éxito y NULL si no se estableció.

SolrQuery::getHighlightHighlightMultiTerm
SolrQuery::getHighlightMaxAnalyzedChars
SolrQuery


Devuelve el número máximo de caracteres de un documento para buscar trozos adecuados

SolrQuery::getHighlightMaxAlternateFieldLength
SolrQuery::getHighlightMergeContiguous
SolrQuery
PHP Manual

SolrQuery::getHighlightMaxAnalyzedChars

(PECL solr >= 0.9.2)

SolrQuery::getHighlightMaxAnalyzedChars — Devuelve el número máximo de caracteres de un documento para buscar trozos adecuados

Descripción

public int SolrQuery::getHighlightMaxAnalyzedChars ( void )

Devuelve el número máximo de caracteres de un documento para buscar trozos adecuados

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un entero en caso de éxito y NULL si no se estableció.

SolrQuery::getHighlightMaxAlternateFieldLength
SolrQuery::getHighlightMergeContiguous
SolrQuery


Devuelve si colapsar o no fragmentos contiguos en un único fragmento

SolrQuery::getHighlightMaxAnalyzedChars
SolrQuery::getHighlightRegexMaxAnalyzedChars
SolrQuery
PHP Manual

SolrQuery::getHighlightMergeContiguous

(PECL solr >= 0.9.2)

SolrQuery::getHighlightMergeContiguous — Devuelve si colapsar o no fragmentos contiguos en un único fragmento

Descripción

public bool SolrQuery::getHighlightMergeContiguous ([ string $field_override ] )

Devuelve si colapsar o no fragmentos contiguos en un único fragmento. Acepta una sobrescritura opcional de campos.

Parámetros

field_override

El nombre del campo

Valores devueltos

Devuelve un booleano en caso de éxito y NULL si no se estableció.

SolrQuery::getHighlightMaxAnalyzedChars
SolrQuery::getHighlightRegexMaxAnalyzedChars
SolrQuery


Devuelve el número máximo de caracteres de un campo cuando se usa el fragmentador de expresiones regulares

SolrQuery::getHighlightMergeContiguous
SolrQuery::getHighlightRegexPattern
SolrQuery
PHP Manual

SolrQuery::getHighlightRegexMaxAnalyzedChars

(PECL solr >= 0.9.2)

SolrQuery::getHighlightRegexMaxAnalyzedChars — Devuelve el número máximo de caracteres de un campo cuando se usa el fragmentador de expresiones regulares

Descripción

public int SolrQuery::getHighlightRegexMaxAnalyzedChars ( void )

Devuelve el número máximo de caracteres de un campo cuando se usa el fragmentador de expresiones regulares

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un entero en caso de éxito y NULL si no se estableció.

SolrQuery::getHighlightMergeContiguous
SolrQuery::getHighlightRegexPattern
SolrQuery


Devuelve la expresión regular para la fragmentación

SolrQuery::getHighlightRegexMaxAnalyzedChars
SolrQuery::getHighlightRegexSlop
SolrQuery
PHP Manual

SolrQuery::getHighlightRegexPattern

(PECL solr >= 0.9.2)

SolrQuery::getHighlightRegexPattern — Devuelve la expresión regular para la fragmentación

Descripción

public string SolrQuery::getHighlightRegexPattern ( void )

Devuelve la expresión regular para la fragmentación

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una cadena en caso de éxito y NULL si no se estableció.

SolrQuery::getHighlightRegexMaxAnalyzedChars
SolrQuery::getHighlightRegexSlop
SolrQuery


Devuelve el factor de desviación del tamaño de fragmento ideal

SolrQuery::getHighlightRegexPattern
SolrQuery::getHighlightRequireFieldMatch
SolrQuery
PHP Manual

SolrQuery::getHighlightRegexSlop

(PECL solr >= 0.9.2)

SolrQuery::getHighlightRegexSlop — Devuelve el factor de desviación del tamaño de fragmento ideal

Descripción

public float SolrQuery::getHighlightRegexSlop ( void )

Devuelve el factor por el que el fragmentador de expresiones regulares puede desviar desde el tamaño de fragmeto ideal para acomodar la expresión regular

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un doble en caso de éxito y NULL si no se estableció.

SolrQuery::getHighlightRegexPattern
SolrQuery::getHighlightRequireFieldMatch
SolrQuery


Devuelve si un campo será remarcado solamente si la consulta coincide con este campo en particular

SolrQuery::getHighlightRegexSlop
SolrQuery::getHighlightSimplePost
SolrQuery
PHP Manual

SolrQuery::getHighlightRequireFieldMatch

(PECL solr >= 0.9.2)

SolrQuery::getHighlightRequireFieldMatch — Devuelve si un campo será remarcado solamente si la consulta coincide con este campo en particular

Descripción

public bool SolrQuery::getHighlightRequireFieldMatch ( void )

Devuelve si un campo será remarcado solamente si la consulta coincide con este campo en particular.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un booleano en caso de éxito y NULL si no se estableció.

SolrQuery::getHighlightRegexSlop
SolrQuery::getHighlightSimplePost
SolrQuery


Devuelve el texto que aparece después de un término remarcado

SolrQuery::getHighlightRequireFieldMatch
SolrQuery::getHighlightSimplePre
SolrQuery
PHP Manual

SolrQuery::getHighlightSimplePost

(PECL solr >= 0.9.2)

SolrQuery::getHighlightSimplePost — Devuelve el texto que aparece después de un término remarcado

Descripción

public string SolrQuery::getHighlightSimplePost ([ string $field_override ] )

Devuelve el texto que aparece después de un término remarcado. Acepta una sobrescritura opcional de campos

Parámetros

field_override

El nombre del campo

Valores devueltos

Devuelve una cadena en caso de éxito y NULL si no se estableció.

SolrQuery::getHighlightRequireFieldMatch
SolrQuery::getHighlightSimplePre
SolrQuery


Devuelve el texto que aparece antes de un término remarcado

SolrQuery::getHighlightSimplePost
SolrQuery::getHighlightSnippets
SolrQuery
PHP Manual

SolrQuery::getHighlightSimplePre

(PECL solr >= 0.9.2)

SolrQuery::getHighlightSimplePre — Devuelve el texto que aparece antes de un término remarcado

Descripción

public string SolrQuery::getHighlightSimplePre ([ string $field_override ] )

Devuelve el texto que aparece antes de un término remarcado. Acepta una sobrescritura opcional de campos

Parámetros

field_override

El nombre del campo

Valores devueltos

Devuelve una cadena en caso de éxito y NULL si no se estableció.

SolrQuery::getHighlightSimplePost
SolrQuery::getHighlightSnippets
SolrQuery


Devuelve el número máximo de trozos remarcados a generar por campo

SolrQuery::getHighlightSimplePre
SolrQuery::getHighlightUsePhraseHighlighter
SolrQuery
PHP Manual

SolrQuery::getHighlightSnippets

(PECL solr >= 0.9.2)

SolrQuery::getHighlightSnippets — Devuelve el número máximo de trozos remarcados a generar por campo

Descripción

public int SolrQuery::getHighlightSnippets ([ string $field_override ] )

Devuelve el número máximo de trozos remarcados a generar por campo. Acepta una sobrescritura opcional de campos

Parámetros

field_override

El nombre del campo

Valores devueltos

Devuelve un entero en caso de éxito y NULL si no se estableció.

SolrQuery::getHighlightSimplePre
SolrQuery::getHighlightUsePhraseHighlighter
SolrQuery


Devuelve el estado del parámetro hl.usePhraseHighlighter

SolrQuery::getHighlightSnippets
SolrQuery::getMlt
SolrQuery
PHP Manual

SolrQuery::getHighlightUsePhraseHighlighter

(PECL solr >= 0.9.2)

SolrQuery::getHighlightUsePhraseHighlighter — Devuelve el estado del parámetro hl.usePhraseHighlighter

Descripción

public bool SolrQuery::getHighlightUsePhraseHighlighter ( void )

Devuelve si usar o no SpanScorer para remarcar términos de frases sólo cuando aparezcan dentro de la frase de consulta en el documento.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un booleano en caso de éxito y NULL si no se estableció.

SolrQuery::getHighlightSnippets
SolrQuery::getMlt
SolrQuery


Devuelve si los resultados MoreLikeThis deberían o no ser habilitados

SolrQuery::getHighlightUsePhraseHighlighter
SolrQuery::getMltBoost
SolrQuery
PHP Manual

SolrQuery::getMlt

(PECL solr >= 0.9.2)

SolrQuery::getMlt — Devuelve si los resultados MoreLikeThis deberían o no ser habilitados

Descripción

public bool SolrQuery::getMlt ( void )

Devuelve si los resultados MoreLikeThis deberían o no ser habilitados

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un booleano en caso de éxito y NULL si no se estableció.

SolrQuery::getHighlightUsePhraseHighlighter
SolrQuery::getMltBoost
SolrQuery


Devuelve si la consulta será impulsada (boost) o no mediante la relevancia del térmido de interés

SolrQuery::getMlt
SolrQuery::getMltCount
SolrQuery
PHP Manual

SolrQuery::getMltBoost

(PECL solr >= 0.9.2)

SolrQuery::getMltBoost — Devuelve si la consulta será impulsada (boost) o no mediante la relevancia del térmido de interés

Descripción

public bool SolrQuery::getMltBoost ( void )

Devuelve si la consulta será impulsada (boost) o no mediante la relevancia del térmido de interés

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un booleano en caso de éxito y NULL si no se estableció.

SolrQuery::getMlt
SolrQuery::getMltCount
SolrQuery


Devuelve el número de documentos similares a devolver para cada resultado

SolrQuery::getMltBoost
SolrQuery::getMltFields
SolrQuery
PHP Manual

SolrQuery::getMltCount

(PECL solr >= 0.9.2)

SolrQuery::getMltCount — Devuelve el número de documentos similares a devolver para cada resultado

Descripción

public int SolrQuery::getMltCount ( void )

Devuelve el número de documentos similares a devolver para cada resultado

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un entero en caso de éxito y NULL si no se estableció.

SolrQuery::getMltBoost
SolrQuery::getMltFields
SolrQuery


Devuelve todos los campos a usar para similitud

SolrQuery::getMltCount
SolrQuery::getMltMaxNumQueryTerms
SolrQuery
PHP Manual

SolrQuery::getMltFields

(PECL solr >= 0.9.2)

SolrQuery::getMltFields — Devuelve todos los campos a usar para similitud

Descripción

public array SolrQuery::getMltFields ( void )

Devuelve todos los campos a usar para similitud

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una matriz en caso de éxito y NULL si no se estableció.

SolrQuery::getMltCount
SolrQuery::getMltMaxNumQueryTerms
SolrQuery


Devuelve el número máximo de términos de consultas que serán incluidos en cualquier consulta generada

SolrQuery::getMltFields
SolrQuery::getMltMaxNumTokens
SolrQuery
PHP Manual

SolrQuery::getMltMaxNumQueryTerms

(PECL solr >= 0.9.2)

SolrQuery::getMltMaxNumQueryTerms — Devuelve el número máximo de términos de consultas que serán incluidos en cualquier consulta generada

Descripción

public int SolrQuery::getMltMaxNumQueryTerms ( void )

Devuelve el número máximo de términos de consultas que serán incluidos en cualquier consulta generada

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un entero en caso de éxito y NULL si no se estableció.

SolrQuery::getMltFields
SolrQuery::getMltMaxNumTokens
SolrQuery


Devuelve el número máximo de tokens a analizar en cada campo del documento que no esté almacenado con soporte TermVector

SolrQuery::getMltMaxNumQueryTerms
SolrQuery::getMltMaxWordLength
SolrQuery
PHP Manual

SolrQuery::getMltMaxNumTokens

(PECL solr >= 0.9.2)

SolrQuery::getMltMaxNumTokens — Devuelve el número máximo de tokens a analizar en cada campo del documento que no esté almacenado con soporte TermVector

Descripción

public int SolrQuery::getMltMaxNumTokens ( void )

Devuelve el número máximo de tokens a analizar en cada campo del documento que no esté almacenado con soporte TermVector

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un entero en caso de éxito y NULL si no se estableció.

SolrQuery::getMltMaxNumQueryTerms
SolrQuery::getMltMaxWordLength
SolrQuery


Devuelve la longitud máxima de palabra de las palabras que serán ignoradas

SolrQuery::getMltMaxNumTokens
SolrQuery::getMltMinDocFrequency
SolrQuery
PHP Manual

SolrQuery::getMltMaxWordLength

(PECL solr >= 0.9.2)

SolrQuery::getMltMaxWordLength — Devuelve la longitud máxima de palabra de las palabras que serán ignoradas

Descripción

public int SolrQuery::getMltMaxWordLength ( void )

Devuelve la longitud máxima de palabra de las palabras que serán ignoradas

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un entero en caso de éxito y NULL si no se estableció.

SolrQuery::getMltMaxNumTokens
SolrQuery::getMltMinDocFrequency
SolrQuery


Devuelve el umbral de frecuencia en el que las palabras que no ocurran en por lo menos tantos documentos como este serán ignoradas

SolrQuery::getMltMaxWordLength
SolrQuery::getMltMinTermFrequency
SolrQuery
PHP Manual

SolrQuery::getMltMinDocFrequency

(PECL solr >= 0.9.2)

SolrQuery::getMltMinDocFrequency — Devuelve el umbral de frecuencia en el que las palabras que no ocurran en por lo menos tantos documentos como este serán ignoradas

Descripción

public int SolrQuery::getMltMinDocFrequency ( void )

Devuelve el umbral de frecuencia en el que las palabras que no ocurran en por lo menos tantos documentos como este serán ignoradas

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un entero en caso de éxito y NULL si no se estableció.

SolrQuery::getMltMaxWordLength
SolrQuery::getMltMinTermFrequency
SolrQuery


Devuelve la frecuencia bajo la cual los términos serán ignorados en el documento fuente

SolrQuery::getMltMinDocFrequency
SolrQuery::getMltMinWordLength
SolrQuery
PHP Manual

SolrQuery::getMltMinTermFrequency

(PECL solr >= 0.9.2)

SolrQuery::getMltMinTermFrequency — Devuelve la frecuencia bajo la cual los términos serán ignorados en el documento fuente

Descripción

public int SolrQuery::getMltMinTermFrequency ( void )

Devuelve la frecuencia bajo la cual los términos serán ignorados en el documento fuente

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un entero en caso de éxito y NULL si no se estableció.

SolrQuery::getMltMinDocFrequency
SolrQuery::getMltMinWordLength
SolrQuery


Devuelve la longitud máxima de palabra bajo la cual las palabras serán ignoradas

SolrQuery::getMltMinTermFrequency
SolrQuery::getMltQueryFields
SolrQuery
PHP Manual

SolrQuery::getMltMinWordLength

(PECL solr >= 0.9.2)

SolrQuery::getMltMinWordLength — Devuelve la longitud máxima de palabra bajo la cual las palabras serán ignoradas

Descripción

public int SolrQuery::getMltMinWordLength ( void )

Devuelve la longitud máxima de palabra bajo la cual las palabras serán ignoradas

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un entero en caso de éxito y NULL si no se estableció.

SolrQuery::getMltMinTermFrequency
SolrQuery::getMltQueryFields
SolrQuery


Devuelve los campos de consultas y sus boosts

SolrQuery::getMltMinWordLength
SolrQuery::getQuery
SolrQuery
PHP Manual

SolrQuery::getMltQueryFields

(PECL solr >= 0.9.2)

SolrQuery::getMltQueryFields — Devuelve los campos de consultas y sus boosts

Descripción

public array SolrQuery::getMltQueryFields ( void )

Devuelve los campos de consultas y sus boosts

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una matriz en caso de éxito y NULL si no se estableció.

SolrQuery::getMltMinWordLength
SolrQuery::getQuery
SolrQuery


Devuelve la consulta principal

SolrQuery::getMltQueryFields
SolrQuery::getRows
SolrQuery
PHP Manual

SolrQuery::getQuery

(PECL solr >= 0.9.2)

SolrQuery::getQuery — Devuelve la consulta principal

Descripción

public string SolrQuery::getQuery ( void )

Devuelve la consulta de búsqueda principal

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una cadena en caso de éxito y NULL si no se estableció.

SolrQuery::getMltQueryFields
SolrQuery::getRows
SolrQuery


Devuelve el número máximo de documentos

SolrQuery::getQuery
SolrQuery::getSortFields
SolrQuery
PHP Manual

SolrQuery::getRows

(PECL solr >= 0.9.2)

SolrQuery::getRows — Devuelve el número máximo de documentos

Descripción

public int SolrQuery::getRows ( void )

Devuelve el número máximo de documentos del conjunto de resultados completo del cliente para cada consulta

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un entero en caso de éxito y NULL si no se estableció.

SolrQuery::getQuery
SolrQuery::getSortFields
SolrQuery


Devuelve todos los campos de ordenación

SolrQuery::getRows
SolrQuery::getStart
SolrQuery
PHP Manual

SolrQuery::getSortFields

(PECL solr >= 0.9.2)

SolrQuery::getSortFields — Devuelve todos los campos de ordenación

Descripción

public array SolrQuery::getSortFields ( void )

Devuelve todos los campos de ordenación

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una matriz en caso de éxito y NULL si no se estableció ningún parámetro.

SolrQuery::getRows
SolrQuery::getStart
SolrQuery


Devuelve el índice del conjunto de resultados completo

SolrQuery::getSortFields
SolrQuery::getStats
SolrQuery
PHP Manual

SolrQuery::getStart

(PECL solr >= 0.9.2)

SolrQuery::getStart — Devuelve el índice del conjunto de resultados completo

Descripción

public int SolrQuery::getStart ( void )

Devuelve el índice del conjunto de resultados completo para las consultas donde el conjunto de documentos devueltos debería comenzar.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un entero en caso de éxito y NULL si no se estableció.

SolrQuery::getSortFields
SolrQuery::getStats
SolrQuery


Devuelve si están habilitadas o no las estadísticas

SolrQuery::getStart
SolrQuery::getStatsFacets
SolrQuery
PHP Manual

SolrQuery::getStats

(PECL solr >= 0.9.2)

SolrQuery::getStats — Devuelve si están habilitadas o no las estadísticas

Descripción

public bool SolrQuery::getStats ( void )

Devuelve si están habilitadas o no las estadísticas

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un booleano en caso de éxito y NULL si no se estableció.

SolrQuery::getStart
SolrQuery::getStatsFacets
SolrQuery


Devuelve todas las estadísticas de las facetas que fueron establecidas

SolrQuery::getStats
SolrQuery::getStatsFields
SolrQuery
PHP Manual

SolrQuery::getStatsFacets

(PECL solr >= 0.9.2)

SolrQuery::getStatsFacets — Devuelve todas las estadísticas de las facetas que fueron establecidas

Descripción

public array SolrQuery::getStatsFacets ( void )

Devuelve todas las estadísticas de las facetas que fueron establecidas

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una matriz en caso de éxito y NULL si no se estableció.

SolrQuery::getStats
SolrQuery::getStatsFields
SolrQuery


Devuelve todas las estadísticas de los campos

SolrQuery::getStatsFacets
SolrQuery::getTerms
SolrQuery
PHP Manual

SolrQuery::getStatsFields

(PECL solr >= 0.9.2)

SolrQuery::getStatsFields — Devuelve todas las estadísticas de los campos

Descripción

public array SolrQuery::getStatsFields ( void )

Devuelve todas las estadísticas de los campos

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una matriz en caso de éxito y NULL si no se estableció.

SolrQuery::getStatsFacets
SolrQuery::getTerms
SolrQuery


Devuelve si está habilitado o no TermsComponent

SolrQuery::getStatsFields
SolrQuery::getTermsField
SolrQuery
PHP Manual

SolrQuery::getTerms

(PECL solr >= 0.9.2)

SolrQuery::getTerms — Devuelve si está habilitado o no TermsComponent

Descripción

public bool SolrQuery::getTerms ( void )

Devuelve si está habilitado o no TermsComponent

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un booleano en caso de éxito y NULL si no se estableció.

SolrQuery::getStatsFields
SolrQuery::getTermsField
SolrQuery


Devuelve el campo desde el cuál los términos son recuperados

SolrQuery::getTerms
SolrQuery::getTermsIncludeLowerBound
SolrQuery
PHP Manual

SolrQuery::getTermsField

(PECL solr >= 0.9.2)

SolrQuery::getTermsField — Devuelve el campo desde el cuál los términos son recuperados

Descripción

public string SolrQuery::getTermsField ( void )

Devuelve el campo desde el cuál los términos son recuperados

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una cadena en caso de éxito y NULL si no se estableció.

SolrQuery::getTerms
SolrQuery::getTermsIncludeLowerBound
SolrQuery


Devuelve si incluir o no el límite inferior en el conjunto de resultados

SolrQuery::getTermsField
SolrQuery::getTermsIncludeUpperBound
SolrQuery
PHP Manual

SolrQuery::getTermsIncludeLowerBound

(PECL solr >= 0.9.2)

SolrQuery::getTermsIncludeLowerBound — Devuelve si incluir o no el límite inferior en el conjunto de resultados

Descripción

public bool SolrQuery::getTermsIncludeLowerBound ( void )

Devuelve si incluir o no el límite inferior en el conjunto de resultados

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un booleano en caso de éxito y NULL si no se estableció.

SolrQuery::getTermsField
SolrQuery::getTermsIncludeUpperBound
SolrQuery


Devuelve si incluir o no el término de límite superior en el conjunto de resultados

SolrQuery::getTermsIncludeLowerBound
SolrQuery::getTermsLimit
SolrQuery
PHP Manual

SolrQuery::getTermsIncludeUpperBound

(PECL solr >= 0.9.2)

SolrQuery::getTermsIncludeUpperBound — Devuelve si incluir o no el término de límite superior en el conjunto de resultados

Descripción

public bool SolrQuery::getTermsIncludeUpperBound ( void )

Devuelve si incluir o no el término de límite superior en el conjunto de resultados

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un booleano en caso de éxito y NULL si no se estableció.

SolrQuery::getTermsIncludeLowerBound
SolrQuery::getTermsLimit
SolrQuery


Devuelve el número máximo de términos que debería devolver Solr

SolrQuery::getTermsIncludeUpperBound
SolrQuery::getTermsLowerBound
SolrQuery
PHP Manual

SolrQuery::getTermsLimit

(PECL solr >= 0.9.2)

SolrQuery::getTermsLimit — Devuelve el número máximo de términos que debería devolver Solr

Descripción

public int SolrQuery::getTermsLimit ( void )

Devuelve el número máximo de términos que debería devolver Solr

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un entero en caso de éxito y NULL si no se estableció.

SolrQuery::getTermsIncludeUpperBound
SolrQuery::getTermsLowerBound
SolrQuery


Devuelve el término en el que comenzar

SolrQuery::getTermsLimit
SolrQuery::getTermsMaxCount
SolrQuery
PHP Manual

SolrQuery::getTermsLowerBound

(PECL solr >= 0.9.2)

SolrQuery::getTermsLowerBound — Devuelve el término en el que comenzar

Descripción

public string SolrQuery::getTermsLowerBound ( void )

Devuelve el término en el que comenzar

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una cadena en caso de éxito y NULL si no se estableció.

SolrQuery::getTermsLimit
SolrQuery::getTermsMaxCount
SolrQuery


Devuelve la frecuencia de documento máxima

SolrQuery::getTermsLowerBound
SolrQuery::getTermsMinCount
SolrQuery
PHP Manual

SolrQuery::getTermsMaxCount

(PECL solr >= 0.9.2)

SolrQuery::getTermsMaxCount — Devuelve la frecuencia de documento máxima

Descripción

public int SolrQuery::getTermsMaxCount ( void )

Devuelve la frecuencia de documento máxima

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un entero en caso de éxito y NULL si no se estableció.

SolrQuery::getTermsLowerBound
SolrQuery::getTermsMinCount
SolrQuery


Devuelve la frecuencia de documento mínima a devolver para ser incluido

SolrQuery::getTermsMaxCount
SolrQuery::getTermsPrefix
SolrQuery
PHP Manual

SolrQuery::getTermsMinCount

(PECL solr >= 0.9.2)

SolrQuery::getTermsMinCount — Devuelve la frecuencia de documento mínima a devolver para ser incluido

Descripción

public int SolrQuery::getTermsMinCount ( void )

Devuelve la frecuencia de documento mínima a devolver para ser incluido

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un entero en caso de éxito y NULL si no se estableció.

SolrQuery::getTermsMaxCount
SolrQuery::getTermsPrefix
SolrQuery


Devuelve el prefijo del término

SolrQuery::getTermsMinCount
SolrQuery::getTermsReturnRaw
SolrQuery
PHP Manual

SolrQuery::getTermsPrefix

(PECL solr >= 0.9.2)

SolrQuery::getTermsPrefix — Devuelve el prefijo del término

Descripción

public string SolrQuery::getTermsPrefix ( void )

Devuelve el prefijo por el que los términos coincedentes deben ser restringidos. Restringirá las coincidencias sólo de los términos que empiecen con el prefijo

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una cadena en caso de éxito y NULL si no se estableció.

SolrQuery::getTermsMinCount
SolrQuery::getTermsReturnRaw
SolrQuery


Si devolver o no caracteres en bruto

SolrQuery::getTermsPrefix
SolrQuery::getTermsSort
SolrQuery
PHP Manual

SolrQuery::getTermsReturnRaw

(PECL solr >= 0.9.2)

SolrQuery::getTermsReturnRaw — Si devolver o no caracteres en bruto

Descripción

public bool SolrQuery::getTermsReturnRaw ( void )

Devuelve un booleano indicando si devolver o no caracteres en bruto del término indexado, sin tener en cuenta si es legible por humanos

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un booleano en caso de éxito y NULL si no se estableció.

SolrQuery::getTermsPrefix
SolrQuery::getTermsSort
SolrQuery


Devuelve un entero indicando cómo son ordenados los términos

SolrQuery::getTermsReturnRaw
SolrQuery::getTermsUpperBound
SolrQuery
PHP Manual

SolrQuery::getTermsSort

(PECL solr >= 0.9.2)

SolrQuery::getTermsSort — Devuelve un entero indicando cómo son ordenados los términos

Descripción

public int SolrQuery::getTermsSort ( void )

SolrQuery::TERMS_SORT_INDEX indica que los términos son devueltos por orden de índice. SolrQuery::TERMS_SORT_COUNT implica que los términos son ordenados según la frecuencia del término (la más alta cuenta como la primera)

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un entero en caso de éxito y NULL si no se estableció.

SolrQuery::getTermsReturnRaw
SolrQuery::getTermsUpperBound
SolrQuery


Devuelve el término en donde parar

SolrQuery::getTermsSort
SolrQuery::getTimeAllowed
SolrQuery
PHP Manual

SolrQuery::getTermsUpperBound

(PECL solr >= 0.9.2)

SolrQuery::getTermsUpperBound — Devuelve el término en donde parar

Descripción

public string SolrQuery::getTermsUpperBound ( void )

Devuelve el término en donde parar

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una cadena en caso de éxito y NULL si no se estableció.

SolrQuery::getTermsSort
SolrQuery::getTimeAllowed
SolrQuery


Devuelve el tiempo en milisegundos permitido para que la consulta finalice

SolrQuery::getTermsUpperBound
SolrQuery::removeFacetDateField
SolrQuery
PHP Manual

SolrQuery::getTimeAllowed

(PECL solr >= 0.9.2)

SolrQuery::getTimeAllowed — Devuelve el tiempo en milisegundos permitido para que la consulta finalice

Descripción

public int SolrQuery::getTimeAllowed ( void )

Devuelve el tiempo en milisegundos permitido para que la consulta finalice.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un entero en caso de éxito y NULL si no se estableció.

SolrQuery::getTermsUpperBound
SolrQuery::removeFacetDateField
SolrQuery


Elimina uno de los campos de faceta de fecha

SolrQuery::getTimeAllowed
SolrQuery::removeFacetDateOther
SolrQuery
PHP Manual

SolrQuery::removeFacetDateField

(PECL solr >= 0.9.2)

SolrQuery::removeFacetDateField — Elimina uno de los campos de faceta de fecha

Descripción

public SolrQuery SolrQuery::removeFacetDateField ( string $field )

El nombre del campo

Parámetros

field

El nombre del campo de fecha a eliminar

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::getTimeAllowed
SolrQuery::removeFacetDateOther
SolrQuery


Elimina uno de los parámetros facet.date.other

SolrQuery::removeFacetDateField
SolrQuery::removeFacetField
SolrQuery
PHP Manual

SolrQuery::removeFacetDateOther

(PECL solr >= 0.9.2)

SolrQuery::removeFacetDateOther — Elimina uno de los parámetros facet.date.other

Descripción

public SolrQuery SolrQuery::removeFacetDateOther ( string $value [, string $field_override ] )

Elimina uno de los parámetros facet.date.other.

Parámetros

value

El valor

field_override

El nombre del campo.

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::removeFacetDateField
SolrQuery::removeFacetField
SolrQuery


Elimina uno de los parámetros facet.date

SolrQuery::removeFacetDateOther
SolrQuery::removeFacetQuery
SolrQuery
PHP Manual

SolrQuery::removeFacetField

(PECL solr >= 0.9.2)

SolrQuery::removeFacetField — Elimina uno de los parámetros facet.date

Descripción

public SolrQuery SolrQuery::removeFacetField ( string $field )

Elimina uno de los parámetros facet.date.

Parámetros

field

El nombre del campo

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::removeFacetDateOther
SolrQuery::removeFacetQuery
SolrQuery


Elimina uno de los parámetros facet.query

SolrQuery::removeFacetField
SolrQuery::removeField
SolrQuery
PHP Manual

SolrQuery::removeFacetQuery

(PECL solr >= 0.9.2)

SolrQuery::removeFacetQuery — Elimina uno de los parámetros facet.query

Descripción

public SolrQuery SolrQuery::removeFacetQuery ( string $value )

Elimina uno de los parámetros facet.query.

Parámetros

value

El valor

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::removeFacetField
SolrQuery::removeField
SolrQuery


Elimina un campo de la lista de campos

SolrQuery::removeFacetQuery
SolrQuery::removeFilterQuery
SolrQuery
PHP Manual

SolrQuery::removeField

(PECL solr >= 0.9.2)

SolrQuery::removeField — Elimina un campo de la lista de campos

Descripción

public SolrQuery SolrQuery::removeField ( string $field )

Elimina un campo de la lista de campos

Parámetros

field

Nombre del campo.

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::removeFacetQuery
SolrQuery::removeFilterQuery
SolrQuery


Elimina una consulta de filtro

SolrQuery::removeField
SolrQuery::removeHighlightField
SolrQuery
PHP Manual

SolrQuery::removeFilterQuery

(PECL solr >= 0.9.2)

SolrQuery::removeFilterQuery — Elimina una consulta de filtro

Descripción

public SolrQuery SolrQuery::removeFilterQuery ( string $fq )

Elimina una consulta de filtro.

Parámetros

fq

La consulta de filtro a eliminar

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::removeField
SolrQuery::removeHighlightField
SolrQuery


Elimina uno de los campos usados para remarcación

SolrQuery::removeFilterQuery
SolrQuery::removeMltField
SolrQuery
PHP Manual

SolrQuery::removeHighlightField

(PECL solr >= 0.9.2)

SolrQuery::removeHighlightField — Elimina uno de los campos usados para remarcación

Descripción

public SolrQuery SolrQuery::removeHighlightField ( string $field )

Elimina uno de los campos usados para remarcación.

Parámetros

field

El nombre del campo

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::removeFilterQuery
SolrQuery::removeMltField
SolrQuery


Elimina uno de los campos moreLikeThis

SolrQuery::removeHighlightField
SolrQuery::removeMltQueryField
SolrQuery
PHP Manual

SolrQuery::removeMltField

(PECL solr >= 0.9.2)

SolrQuery::removeMltField — Elimina uno de los campos moreLikeThis

Descripción

public SolrQuery SolrQuery::removeMltField ( string $field )

Elimina uno de los campos moreLikeThis.

Parámetros

field

Nombre del campo

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::removeHighlightField
SolrQuery::removeMltQueryField
SolrQuery


Elimina uno de los campos de consulta moreLikeThis

SolrQuery::removeMltField
SolrQuery::removeSortField
SolrQuery
PHP Manual

SolrQuery::removeMltQueryField

(PECL solr >= 0.9.2)

SolrQuery::removeMltQueryField — Elimina uno de los campos de consulta moreLikeThis

Descripción

public SolrQuery SolrQuery::removeMltQueryField ( string $queryField )

Elimina uno de los campos de consulta moreLikeThis.

Parámetros

queryField

El campo de consulta

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::removeMltField
SolrQuery::removeSortField
SolrQuery


Elimina uno de los campos de ordenación

SolrQuery::removeMltQueryField
SolrQuery::removeStatsFacet
SolrQuery
PHP Manual

SolrQuery::removeSortField

(PECL solr >= 0.9.2)

SolrQuery::removeSortField — Elimina uno de los campos de ordenación

Descripción

public SolrQuery SolrQuery::removeSortField ( string $field )

Elimina uno de los campos de ordenación.

Parámetros

field

El nombre del campo

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::removeMltQueryField
SolrQuery::removeStatsFacet
SolrQuery


Elimina uno de los parámetros stats.facet

SolrQuery::removeSortField
SolrQuery::removeStatsField
SolrQuery
PHP Manual

SolrQuery::removeStatsFacet

(PECL solr >= 0.9.2)

SolrQuery::removeStatsFacet — Elimina uno de los parámetros stats.facet

Descripción

public SolrQuery SolrQuery::removeStatsFacet ( string $value )

Elimina uno de los parámetros stats.facet

Parámetros

value

El valor

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::removeSortField
SolrQuery::removeStatsField
SolrQuery


Elimina uno de los parámetros stats.field

SolrQuery::removeStatsFacet
SolrQuery::setEchoHandler
SolrQuery
PHP Manual

SolrQuery::removeStatsField

(PECL solr >= 0.9.2)

SolrQuery::removeStatsField — Elimina uno de los parámetros stats.field

Descripción

public SolrQuery SolrQuery::removeStatsField ( string $field )

Elimina uno de los parámetros stats.field

Parámetros

field

El nombre del campo.

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::removeStatsFacet
SolrQuery::setEchoHandler
SolrQuery


Conmuta el parámetro echoHandler

SolrQuery::removeStatsField
SolrQuery::setEchoParams
SolrQuery
PHP Manual

SolrQuery::setEchoHandler

(PECL solr >= 0.9.2)

SolrQuery::setEchoHandler — Conmuta el parámetro echoHandler

Descripción

public SolrQuery SolrQuery::setEchoHandler ( bool $flag )

Si está establecido a true, Solr coloca los nombres de los gestores usados en la respuesta al cliente para propósitos de depuración.

Parámetros

flag

TRUE o FALSE

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::removeStatsField
SolrQuery::setEchoParams
SolrQuery


Determina qué tipo de parámetros incluir en la respuesta

SolrQuery::setEchoHandler
SolrQuery::setExplainOther
SolrQuery
PHP Manual

SolrQuery::setEchoParams

(PECL solr >= 0.9.2)

SolrQuery::setEchoParams — Determina qué tipo de parámetros incluir en la respuesta

Descripción

public SolrQuery SolrQuery::setEchoParams ( string $type )

Ordena a Solr qué tipos de parámetros de solicitud deberían ser incluidos en la respuesta para propósitos de depuración, valores legales incluidos:

- none - no incluir ningún parámetro de solicitud para la depuración
- explicit - incluir los parámetros explícitamete especificados por el cliente en la solicitud
- all - incluir todos los parámetros involucrados en esta solicitud, los especificados explícitamente por el cliente, o los implícitos debido a la configuración del gestor de solicitudes.

Parámetros

type

El tipo de parámetros a incluir

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setEchoHandler
SolrQuery::setExplainOther
SolrQuery


Establece el parámetro de consulta común explainOther

SolrQuery::setEchoParams
SolrQuery::setFacet
SolrQuery
PHP Manual

SolrQuery::setExplainOther

(PECL solr >= 0.9.2)

SolrQuery::setExplainOther — Establece el parámetro de consulta común explainOther

Descripción

public SolrQuery SolrQuery::setExplainOther ( string $query )

Establece el parámetro de consulta común explainOther

Parámetros

query

La consulta Lucene para identificar un conjuntos de documentos

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setEchoParams
SolrQuery::setFacet
SolrQuery


Mapea al parámetro facet. Habilita o deshabilta las facetas

SolrQuery::setExplainOther
SolrQuery::setFacetDateEnd
SolrQuery
PHP Manual

SolrQuery::setFacet

(PECL solr >= 0.9.2)

SolrQuery::setFacet — Mapea al parámetro facet. Habilita o deshabilta las facetas

Descripción

public SolrQuery SolrQuery::setFacet ( bool $flag )

Habilita o deshabilta las facetas.

Parámetros

value

TRUE habilita las facetas y FALSE las deshabilita.

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setExplainOther
SolrQuery::setFacetDateEnd
SolrQuery


Mapea a facet.date.end

SolrQuery::setFacet
SolrQuery::setFacetDateGap
SolrQuery
PHP Manual

SolrQuery::setFacetDateEnd

(PECL solr >= 0.9.2)

SolrQuery::setFacetDateEnd — Mapea a facet.date.end

Descripción

public SolrQuery SolrQuery::setFacetDateEnd ( string $value [, string $field_override ] )

Mapea a facet.date.end

Parámetros

value

Véase facet.date.end

field_override

Nombre del campo

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setFacet
SolrQuery::setFacetDateGap
SolrQuery


Mapea a facet.date.gap

SolrQuery::setFacetDateEnd
SolrQuery::setFacetDateHardEnd
SolrQuery
PHP Manual

SolrQuery::setFacetDateGap

(PECL solr >= 0.9.2)

SolrQuery::setFacetDateGap — Mapea a facet.date.gap

Descripción

public SolrQuery SolrQuery::setFacetDateGap ( string $value [, string $field_override ] )

Mapea a facet.date.gap

Parámetros

value

Véase facet.date.gap

field_override

El nombre del campo

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setFacetDateEnd
SolrQuery::setFacetDateHardEnd
SolrQuery


Mapea a facet.date.hardend

SolrQuery::setFacetDateGap
SolrQuery::setFacetDateStart
SolrQuery
PHP Manual

SolrQuery::setFacetDateHardEnd

(PECL solr >= 0.9.2)

SolrQuery::setFacetDateHardEnd — Mapea a facet.date.hardend

Descripción

public SolrQuery SolrQuery::setFacetDateHardEnd ( bool $value [, string $field_override ] )

Mapea a facet.date.hardend

Parámetros

value

Véase facet.date.hardend

field_override

El nombre del campo

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setFacetDateGap
SolrQuery::setFacetDateStart
SolrQuery


Mapea a facet.date.start

SolrQuery::setFacetDateHardEnd
SolrQuery::setFacetEnumCacheMinDefaultFrequency
SolrQuery
PHP Manual

SolrQuery::setFacetDateStart

(PECL solr >= 0.9.2)

SolrQuery::setFacetDateStart — Mapea a facet.date.start

Descripción

public SolrQuery SolrQuery::setFacetDateStart ( string $value [, string $field_override ] )

Mapea a facet.date.start

Parámetros

value

Véase facet.date.start

field_override

El nombre del campo.

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setFacetDateHardEnd
SolrQuery::setFacetEnumCacheMinDefaultFrequency
SolrQuery


Establece la frecuencia de documento mínima usada para determinar la cuenta de términos

SolrQuery::setFacetDateStart
SolrQuery::setFacetLimit
SolrQuery
PHP Manual

SolrQuery::setFacetEnumCacheMinDefaultFrequency

(PECL solr >= 0.9.2)

SolrQuery::setFacetEnumCacheMinDefaultFrequency — Establece la frecuencia de documento mínima usada para determinar la cuenta de términos

Descripción

public SolrQuery SolrQuery::setFacetEnumCacheMinDefaultFrequency ( int $frequency [, string $field_override ] )

Establece la frecuencia de documento mínima usada para determinar la cuenta de términos

Parámetros

value

La frecuencia mínima

field_override

El nombre del campo.

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setFacetDateStart
SolrQuery::setFacetLimit
SolrQuery


Mapea a facet.limit

SolrQuery::setFacetEnumCacheMinDefaultFrequency
SolrQuery::setFacetMethod
SolrQuery
PHP Manual

SolrQuery::setFacetLimit

(PECL solr >= 0.9.2)

SolrQuery::setFacetLimit — Mapea a facet.limit

Descripción

public SolrQuery SolrQuery::setFacetLimit ( int $limit [, string $field_override ] )

Mapea a facet.limit. Establece el número máximo de restricciones que deberían ser devueltas por los campos de facetas.

Parámetros

limit

El número máximo de restricciones

field_override

El nombre del campo.

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setFacetEnumCacheMinDefaultFrequency
SolrQuery::setFacetMethod
SolrQuery


Especifica el tipo de algoritmo a usar cuando se hace una faceta a un campo

SolrQuery::setFacetLimit
SolrQuery::setFacetMinCount
SolrQuery
PHP Manual

SolrQuery::setFacetMethod

(PECL solr >= 0.9.2)

SolrQuery::setFacetMethod — Especifica el tipo de algoritmo a usar cuando se hace una faceta a un campo

Descripción

public SolrQuery SolrQuery::setFacetMethod ( string $method [, string $field_override ] )

Especifica el tipo de algoritmo a usar cuando se hace una faceta a un campo. Este método acepta la sobrescritura opcional de campos.

Parámetros

method

El método a usar.

field_override

El nombre del campo.

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setFacetLimit
SolrQuery::setFacetMinCount
SolrQuery


Mapea a facet.mincount

SolrQuery::setFacetMethod
SolrQuery::setFacetMissing
SolrQuery
PHP Manual

SolrQuery::setFacetMinCount

(PECL solr >= 0.9.2)

SolrQuery::setFacetMinCount — Mapea a facet.mincount

Descripción

public SolrQuery SolrQuery::setFacetMinCount ( int $mincount [, string $field_override ] )

Establece el mínimo de campos de faceta que deberían ser incluidos en la respuesta

Parámetros

mincount

El mínimo

field_override

El nombre del campo.

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setFacetMethod
SolrQuery::setFacetMissing
SolrQuery


Mapea a facet.missing

SolrQuery::setFacetMinCount
SolrQuery::setFacetOffset
SolrQuery
PHP Manual

SolrQuery::setFacetMissing

(PECL solr >= 0.9.2)

SolrQuery::setFacetMissing — Mapea a facet.missing

Descripción

public SolrQuery SolrQuery::setFacetMissing ( bool $flag [, string $field_override ] )

Usado para indicar que además de las restricciones basdas en términos de un campo de faceta, debería ser computada una cuenta de todos los resultados coincidentes que no tienen valor para el campo

Parámetros

flag

TRUE activa esta característica. FALSE la desactiva.

field_override

El nombre del campo.

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setFacetMinCount
SolrQuery::setFacetOffset
SolrQuery


Establece el índice de la lista de restricciones para permitir la paginación

SolrQuery::setFacetMissing
SolrQuery::setFacetPrefix
SolrQuery
PHP Manual

SolrQuery::setFacetOffset

(PECL solr >= 0.9.2)

SolrQuery::setFacetOffset — Establece el índice de la lista de restricciones para permitir la paginación

Descripción

public SolrQuery SolrQuery::setFacetOffset ( int $offset [, string $field_override ] )

Establece el índice de la lista de restricciones para permitir la paginación.

Parámetros

offset

El índice

field_override

El nombre del campo.

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setFacetMissing
SolrQuery::setFacetPrefix
SolrQuery


Especifica un prefijo de cadena con el que limitar los términos a los que hacer una faceta

SolrQuery::setFacetOffset
SolrQuery::setFacetSort
SolrQuery
PHP Manual

SolrQuery::setFacetPrefix

(PECL solr >= 0.9.2)

SolrQuery::setFacetPrefix — Especifica un prefijo de cadena con el que limitar los términos a los que hacer una faceta

Descripción

public SolrQuery SolrQuery::setFacetPrefix ( string $prefix [, string $field_override ] )

Especifica un prefijo de cadena con el que limitar los términos a los que hacer una faceta.

Parámetros

prefix

La cadena de prefijo

field_override

El nombre del campo.

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setFacetOffset
SolrQuery::setFacetSort
SolrQuery


Determina el orden de las restricciones de campos de faceta

SolrQuery::setFacetPrefix
SolrQuery::setHighlight
SolrQuery
PHP Manual

SolrQuery::setFacetSort

(PECL solr >= 0.9.2)

SolrQuery::setFacetSort — Determina el orden de las restricciones de campos de faceta

Descripción

public SolrQuery SolrQuery::setFacetSort ( int $facetSort [, string $field_override ] )

Determina el orden de las restricciones de campos de faceta

Parámetros

facetSort

Use SolrQuery::FACET_SORT_INDEX para ordenar por índice o SolrQuery::FACET_SORT_COUNT para ordenar por cuenta.

field_override

El nombre del campo.

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setFacetPrefix
SolrQuery::setHighlight
SolrQuery


Habilita o deshabilita la remarcación

SolrQuery::setFacetSort
SolrQuery::setHighlightAlternateField
SolrQuery
PHP Manual

SolrQuery::setHighlight

(PECL solr >= 0.9.2)

SolrQuery::setHighlight — Habilita o deshabilita la remarcación

Descripción

public SolrQuery SolrQuery::setHighlight ( bool $flag )

Establecerlo a TRUE habilita los trozos remarcados para ser generados en la respuesta de consulta.

Establecerlo a FALSE deshabilita la remarcación

Parámetros

flag

Habilita o deshabilita la remarcación

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setFacetSort
SolrQuery::setHighlightAlternateField
SolrQuery


Especifica el campo de copia de seguridad a usar

SolrQuery::setHighlight
SolrQuery::setHighlightFormatter
SolrQuery
PHP Manual

SolrQuery::setHighlightAlternateField

(PECL solr >= 0.9.2)

SolrQuery::setHighlightAlternateField — Especifica el campo de copia de seguridad a usar

Descripción

public SolrQuery SolrQuery::setHighlightAlternateField ( string $field [, string $field_override ] )

Si un trozo no se puede generar debido a que no hay términos coincidentes, se puede especificar un campo para usarlo como copia de seguridad del sumario predeterminado

Parámetros

field

El nombre del campo de copia de seguridad

field_override

El nombre del campo que se va a sobrescribir.

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setHighlight
SolrQuery::setHighlightFormatter
SolrQuery


Especifica un formateador para la salida remarcada

SolrQuery::setHighlightAlternateField
SolrQuery::setHighlightFragmenter
SolrQuery
PHP Manual

SolrQuery::setHighlightFormatter

(PECL solr >= 0.9.2)

SolrQuery::setHighlightFormatter — Especifica un formateador para la salida remarcada

Descripción

public SolrQuery SolrQuery::setHighlightFormatter ( string $formatter [, string $field_override ] )

Especifica un formateador para la salida remarcada.

Parámetros

formatter

Actualemte, el único valor legal es "simple"

field_override

El nombre del campo.

SolrQuery::setHighlightAlternateField
SolrQuery::setHighlightFragmenter
SolrQuery


Establece el generador de trozos de código para texto remarcado

SolrQuery::setHighlightFormatter
SolrQuery::setHighlightFragsize
SolrQuery
PHP Manual

SolrQuery::setHighlightFragmenter

(PECL solr >= 0.9.2)

SolrQuery::setHighlightFragmenter — Establece el generador de trozos de código para texto remarcado

Descripción

public SolrQuery SolrQuery::setHighlightFragmenter ( string $fragmenter [, string $field_override ] )

Especifica un generador de trozos de código para texto remarcado.

Parámetros

fragmenter

El fragmentador estándar es el hueco. Otra opción son las expresiones regulares, que intentan crear fragmentos que se parecen a ciertas expresiones regulares

field_override

El nombre del campo.

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setHighlightFormatter
SolrQuery::setHighlightFragsize
SolrQuery


El tamaño de los fragmentos a considerara para remarcación

SolrQuery::setHighlightFragmenter
SolrQuery::setHighlightHighlightMultiTerm
SolrQuery
PHP Manual

SolrQuery::setHighlightFragsize

(PECL solr >= 0.9.2)

SolrQuery::setHighlightFragsize — El tamaño de los fragmentos a considerara para remarcación

Descripción

public SolrQuery SolrQuery::setHighlightFragsize ( int $size [, string $field_override ] )

Establece el tamaño, en caracteres, de los fragmentos a considerara para remarcación. "0" indica que debería usarse el campo completo (sin fragmentación).

Parámetros

size

El tamaño, en caracteres, de los fragmentos a considerara para remarcación

field_override

El nombre del campo.

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setHighlightFragmenter
SolrQuery::setHighlightHighlightMultiTerm
SolrQuery


Usa SpanScorer para remarcar términos de frases

SolrQuery::setHighlightFragsize
SolrQuery::setHighlightMaxAlternateFieldLength
SolrQuery
PHP Manual

SolrQuery::setHighlightHighlightMultiTerm

(PECL solr >= 0.9.2)

SolrQuery::setHighlightHighlightMultiTerm — Usa SpanScorer para remarcar términos de frases

Descripción

public SolrQuery SolrQuery::setHighlightHighlightMultiTerm ( bool $flag )

Usa SpanScorer para remarcar términos de frases sólo cuando aparecen dentro de la frase de consulta del documento.

Parámetros

flag

Si usar o no SpanScorer para remarcar términos de frases sólo cuando aparecen dentro de la frase de consulta del documento.

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setHighlightFragsize
SolrQuery::setHighlightMaxAlternateFieldLength
SolrQuery


Establece el número máximo de caracteres del campo a devolver

SolrQuery::setHighlightHighlightMultiTerm
SolrQuery::setHighlightMaxAnalyzedChars
SolrQuery
PHP Manual

SolrQuery::setHighlightMaxAlternateFieldLength

(PECL solr >= 0.9.2)

SolrQuery::setHighlightMaxAlternateFieldLength — Establece el número máximo de caracteres del campo a devolver

Descripción

public SolrQuery SolrQuery::setHighlightMaxAlternateFieldLength ( int $fieldLength [, string $field_override ] )

Si SolrQuery::setHighlightAlternateField() se le pasó el valor TRUE, este parámetro especifica el número máximo de caracteres del campo a devolver

Cualquier valor menor o igual que 0 significa ilimitado.

Parámetros

fieldLength

La longitud del campo

field_override

El nombre del campo.

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setHighlightHighlightMultiTerm
SolrQuery::setHighlightMaxAnalyzedChars
SolrQuery


Especifica el número de caracteres de un documento para buscar trozos apropiados

SolrQuery::setHighlightMaxAlternateFieldLength
SolrQuery::setHighlightMergeContiguous
SolrQuery
PHP Manual

SolrQuery::setHighlightMaxAnalyzedChars

(PECL solr >= 0.9.2)

SolrQuery::setHighlightMaxAnalyzedChars — Especifica el número de caracteres de un documento para buscar trozos apropiados

Descripción

public SolrQuery SolrQuery::setHighlightMaxAnalyzedChars ( int $value )

Especifica el número de caracteres de un documento para buscar trozos apropiados

Parámetros

value

El número de caracteres de un documento para buscar trozos apropiados

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setHighlightMaxAlternateFieldLength
SolrQuery::setHighlightMergeContiguous
SolrQuery


Si colapsar o no fragmentos contiguos en un único fragmento

SolrQuery::setHighlightMaxAnalyzedChars
SolrQuery::setHighlightRegexMaxAnalyzedChars
SolrQuery
PHP Manual

SolrQuery::setHighlightMergeContiguous

(PECL solr >= 0.9.2)

SolrQuery::setHighlightMergeContiguous — Si colapsar o no fragmentos contiguos en un único fragmento

Descripción

public SolrQuery SolrQuery::setHighlightMergeContiguous ( bool $flag [, string $field_override ] )

Si colapsar o no fragmentos contiguos en un único fragmento.

Parámetros

value

Si colapsar o no fragmentos contiguos en un único fragmento

field_override

El nombre del campo.

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setHighlightMaxAnalyzedChars
SolrQuery::setHighlightRegexMaxAnalyzedChars
SolrQuery


Especifica el número máximo de caracteres a analizar

SolrQuery::setHighlightMergeContiguous
SolrQuery::setHighlightRegexPattern
SolrQuery
PHP Manual

SolrQuery::setHighlightRegexMaxAnalyzedChars

(PECL solr >= 0.9.2)

SolrQuery::setHighlightRegexMaxAnalyzedChars — Especifica el número máximo de caracteres a analizar

Descripción

public SolrQuery SolrQuery::setHighlightRegexMaxAnalyzedChars ( int $maxAnalyzedChars )

Especifica el número máximo de caracteres a analizar de un campo cuando se usa el fragmentador de expresiones regulares

Parámetros

maxAnalyzedChars

El número máximo de caracteres a analizar de un campo cuando se usa el fragmentador de expresiones regulares

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setHighlightMergeContiguous
SolrQuery::setHighlightRegexPattern
SolrQuery


Especifica la expresión regular para la fragmentación

SolrQuery::setHighlightRegexMaxAnalyzedChars
SolrQuery::setHighlightRegexSlop
SolrQuery
PHP Manual

SolrQuery::setHighlightRegexPattern

(PECL solr >= 0.9.2)

SolrQuery::setHighlightRegexPattern — Especifica la expresión regular para la fragmentación

Descripción

public SolrQuery SolrQuery::setHighlightRegexPattern ( string $value )

Especifica la expresión regular para la fragmentación. Esto podría usarse para extraer sentencias

Parámetros

value

La expresión regular para la fragmentación. Esto podría usarse para extraer sentencias

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setHighlightRegexMaxAnalyzedChars
SolrQuery::setHighlightRegexSlop
SolrQuery


Establece el factor por el que el fragmentador de expresiones regulares puede desviarse del tamaño de fragmento ideal

SolrQuery::setHighlightRegexPattern
SolrQuery::setHighlightRequireFieldMatch
SolrQuery
PHP Manual

SolrQuery::setHighlightRegexSlop

(PECL solr >= 0.9.2)

SolrQuery::setHighlightRegexSlop — Establece el factor por el que el fragmentador de expresiones regulares puede desviarse del tamaño de fragmento ideal

Descripción

public SolrQuery SolrQuery::setHighlightRegexSlop ( float $factor )

El factor por el que el fragmentador de expresiones regulares puede desviarse del tamaño de fragmento ideal (especificado por SolrQuery::setHighlightFragsize) para acomodar la expresión regular

Parámetros

factor

El factor por el que el fragmentador de expresiones regulares puede desviarse del tamaño de fragmento ideal

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setHighlightRegexPattern
SolrQuery::setHighlightRequireFieldMatch
SolrQuery


Requerir la coincicencia de campos durante el remarcado

SolrQuery::setHighlightRegexSlop
SolrQuery::setHighlightSimplePost
SolrQuery
PHP Manual

SolrQuery::setHighlightRequireFieldMatch

(PECL solr >= 0.9.2)

SolrQuery::setHighlightRequireFieldMatch — Requerir la coincicencia de campos durante el remarcado

Descripción

public SolrQuery SolrQuery::setHighlightRequireFieldMatch ( bool $flag )

Si es TRUE, un campo sólo será remarcado si la consulta coincide con este campo en particular.

Esto sólo funciona si SolrQuery::setHighlightUsePhraseHighlighter() se estableció a TRUE

Parámetros

flag

TRUE o FALSE

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setHighlightRegexSlop
SolrQuery::setHighlightSimplePost
SolrQuery


Establece el texto que aparece antes de un término remarcado

SolrQuery::setHighlightRequireFieldMatch
SolrQuery::setHighlightSimplePre
SolrQuery
PHP Manual

SolrQuery::setHighlightSimplePost

(PECL solr >= 0.9.2)

SolrQuery::setHighlightSimplePost — Establece el texto que aparece antes de un término remarcado

Descripción

public SolrQuery SolrQuery::setHighlightSimplePost ( string $simplePost [, string $field_override ] )

Establece el texto que aparece después de un término remarcado

Parámetros

simplePost

Establece el texto que aparece después de un término remarcado

The default is </em>

field_override

El nombre del campo.

SolrQuery::setHighlightRequireFieldMatch
SolrQuery::setHighlightSimplePre
SolrQuery


Establece el texto que aparece antes de un término remarcado

SolrQuery::setHighlightSimplePost
SolrQuery::setHighlightSnippets
SolrQuery
PHP Manual

SolrQuery::setHighlightSimplePre

(PECL solr >= 0.9.2)

SolrQuery::setHighlightSimplePre — Establece el texto que aparece antes de un término remarcado

Descripción

public SolrQuery SolrQuery::setHighlightSimplePre ( string $simplePre [, string $field_override ] )

Establece el texto que aparece antes de un término remarcado.

The default is <em>

Parámetros

simplePre

El texto que aparece antes de un término remarcado

field_override

El nombre del campo.

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setHighlightSimplePost
SolrQuery::setHighlightSnippets
SolrQuery


Establece el número máximo de trozos remarcados para generar por campo

SolrQuery::setHighlightSimplePre
SolrQuery::setHighlightUsePhraseHighlighter
SolrQuery
PHP Manual

SolrQuery::setHighlightSnippets

(PECL solr >= 0.9.2)

SolrQuery::setHighlightSnippets — Establece el número máximo de trozos remarcados para generar por campo

Descripción

public SolrQuery SolrQuery::setHighlightSnippets ( int $value [, string $field_override ] )

Establece el número máximo de trozos remarcados para generar por campo

Parámetros

value

El número máximo de trozos remarcados para generar por campo

field_override

El nombre del campo.

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setHighlightSimplePre
SolrQuery::setHighlightUsePhraseHighlighter
SolrQuery


Si remarcar o no términos de frases sólo cuando aparecen en la frase de consulta

SolrQuery::setHighlightSnippets
SolrQuery::setMlt
SolrQuery
PHP Manual

SolrQuery::setHighlightUsePhraseHighlighter

(PECL solr >= 0.9.2)

SolrQuery::setHighlightUsePhraseHighlighter — Si remarcar o no términos de frases sólo cuando aparecen en la frase de consulta

Descripción

public SolrQuery SolrQuery::setHighlightUsePhraseHighlighter ( bool $flag )

Establece si usar o no SpanScorer para remarcar o no términos de frases sólo cuando aparecen en la frase de consulta del documento

Parámetros

value

Si usar o no SpanScorer para remarcar o no términos de frases sólo cuando aparecen en la frase de consulta del documento

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setHighlightSnippets
SolrQuery::setMlt
SolrQuery


Habilita o deshabilita moreLikeThis

SolrQuery::setHighlightUsePhraseHighlighter
SolrQuery::setMltBoost
SolrQuery
PHP Manual

SolrQuery::setMlt

(PECL solr >= 0.9.2)

SolrQuery::setMlt — Habilita o deshabilita moreLikeThis

Descripción

public SolrQuery SolrQuery::setMlt ( bool $flag )

Habilita o deshabilita moreLikeThis

Parámetros

flag

TRUE lo habilita y FALSE lo desactiva.

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setHighlightUsePhraseHighlighter
SolrQuery::setMltBoost
SolrQuery


Establecer si la consulta será impulsada (boost) por la relevancia del término de interés

SolrQuery::setMlt
SolrQuery::setMltCount
SolrQuery
PHP Manual

SolrQuery::setMltBoost

(PECL solr >= 0.9.2)

SolrQuery::setMltBoost — Establecer si la consulta será impulsada (boost) por la relevancia del término de interés

Descripción

public SolrQuery SolrQuery::setMltBoost ( bool $flag )

Establecer si la consulta será impulsada (boost) por la relevancia del término de interés

Parámetros

value

Establece a TRUE o FALSE

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setMlt
SolrQuery::setMltCount
SolrQuery


Establece el número de documentos similares a devolver en cada resultado

SolrQuery::setMltBoost
SolrQuery::setMltMaxNumQueryTerms
SolrQuery
PHP Manual

SolrQuery::setMltCount

(PECL solr >= 0.9.2)

SolrQuery::setMltCount — Establece el número de documentos similares a devolver en cada resultado

Descripción

public SolrQuery SolrQuery::setMltCount ( int $count )

Establece el número de documentos similares a devolver en cada resultado

Parámetros

count

El número de documentos similares a devolver en cada resultado

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setMltBoost
SolrQuery::setMltMaxNumQueryTerms
SolrQuery


Establece el número máximo de términos de consulta incluidos

SolrQuery::setMltCount
SolrQuery::setMltMaxNumTokens
SolrQuery
PHP Manual

SolrQuery::setMltMaxNumQueryTerms

(PECL solr >= 0.9.2)

SolrQuery::setMltMaxNumQueryTerms — Establece el número máximo de términos de consulta incluidos

Descripción

public SolrQuery SolrQuery::setMltMaxNumQueryTerms ( int $value )

Establece el número máximo de términos de consulta que serán incluidos en cualquier consulta generada.

Parámetros

value

El número máximo de términos de consulta que serán incluidos en cualquier consulta generada

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setMltCount
SolrQuery::setMltMaxNumTokens
SolrQuery


Especifica el número máximo de tokens a analizar

SolrQuery::setMltMaxNumQueryTerms
SolrQuery::setMltMaxWordLength
SolrQuery
PHP Manual

SolrQuery::setMltMaxNumTokens

(PECL solr >= 0.9.2)

SolrQuery::setMltMaxNumTokens — Especifica el número máximo de tokens a analizar

Descripción

public SolrQuery SolrQuery::setMltMaxNumTokens ( int $value )

Especifica el número máximo de tokens a analizar en cada campo de documento de ejemplo que no esté almacenado con soporte TermVector.

Parámetros

value

El número máximo de tokens a analizar

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setMltMaxNumQueryTerms
SolrQuery::setMltMaxWordLength
SolrQuery


Establece la longitud de palabra máxima

SolrQuery::setMltMaxNumTokens
SolrQuery::setMltMinDocFrequency
SolrQuery
PHP Manual

SolrQuery::setMltMaxWordLength

(PECL solr >= 0.9.2)

SolrQuery::setMltMaxWordLength — Establece la longitud de palabra máxima

Descripción

public SolrQuery SolrQuery::setMltMaxWordLength ( int $maxWordLength )

Establece la longitud de palabra máxima sobre la que las palabras serán ignoradas.

Parámetros

maxWordLength

La longitud de palabra máxima sobre la que las palabras serán ignoradas

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setMltMaxNumTokens
SolrQuery::setMltMinDocFrequency
SolrQuery


Establece la frecuencia de mltMinDoc

SolrQuery::setMltMaxWordLength
SolrQuery::setMltMinTermFrequency
SolrQuery
PHP Manual

SolrQuery::setMltMinDocFrequency

(PECL solr >= 0.9.2)

SolrQuery::setMltMinDocFrequency — Establece la frecuencia de mltMinDoc

Descripción

public SolrQuery SolrQuery::setMltMinDocFrequency ( int $minDocFrequency )

La frecuencia en la que las palabras que no ocurran en por lo menos tantos documentos como este serán ignoradas.

Parámetros

minDocFrequency

Establece la frecuencia en la que las palabras que no ocurran en por lo menos tantos documentos como este serán ignoradas.

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setMltMaxWordLength
SolrQuery::setMltMinTermFrequency
SolrQuery


Establece la frecuencia bajo la cual los términos serán ignorados en los documentos fuente

SolrQuery::setMltMinDocFrequency
SolrQuery::setMltMinWordLength
SolrQuery
PHP Manual

SolrQuery::setMltMinTermFrequency

(PECL solr >= 0.9.2)

SolrQuery::setMltMinTermFrequency — Establece la frecuencia bajo la cual los términos serán ignorados en los documentos fuente

Descripción

public SolrQuery SolrQuery::setMltMinTermFrequency ( int $minTermFrequency )

Establece la frecuencia bajo la cual los términos serán ignorados en los documentos fuente

Parámetros

minTermFrequency

La frecuencia bajo la cual los términos serán ignorados en los documentos fuente

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setMltMinDocFrequency
SolrQuery::setMltMinWordLength
SolrQuery


Establece la longitud de palabra mínima

SolrQuery::setMltMinTermFrequency
SolrQuery::setOmitHeader
SolrQuery
PHP Manual

SolrQuery::setMltMinWordLength

(PECL solr >= 0.9.2)

SolrQuery::setMltMinWordLength — Establece la longitud de palabra mínima

Descripción

public SolrQuery SolrQuery::setMltMinWordLength ( int $minWordLength )

Establece la longitud de palabra mínima bajo la cual las palabras serán ignoradas.

Parámetros

minWordLength

La longitud de palabra mínima bajo la cual las palabras serán ignoradas.

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setMltMinTermFrequency
SolrQuery::setOmitHeader
SolrQuery


Excluye la cabecera de los resultados devueltos

SolrQuery::setMltMinWordLength
SolrQuery::setQuery
SolrQuery
PHP Manual

SolrQuery::setOmitHeader

(PECL solr >= 0.9.2)

SolrQuery::setOmitHeader — Excluye la cabecera de los resultados devueltos

Descripción

public SolrQuery SolrQuery::setOmitHeader ( bool $flag )

Excluye la cabecera de los resultados devueltos.

Parámetros

flag

TRUE excluye la cabecera del resultado

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setMltMinWordLength
SolrQuery::setQuery
SolrQuery


Establece la consulta de búsqueda

SolrQuery::setOmitHeader
SolrQuery::setRows
SolrQuery
PHP Manual

SolrQuery::setQuery

(PECL solr >= 0.9.2)

SolrQuery::setQuery — Establece la consulta de búsqueda

Descripción

public SolrQuery SolrQuery::setQuery ( string $query )

Establece la consulta de búsqueda.

Parámetros

query

La consulta de búsqueda

Valores devueltos

Devuelve el objeto SolrQuery actual

SolrQuery::setOmitHeader
SolrQuery::setRows
SolrQuery


Especifica el número máximo de filas a devolver en el resultado

SolrQuery::setQuery
SolrQuery::setShowDebugInfo
SolrQuery
PHP Manual

SolrQuery::setRows

(PECL solr >= 0.9.2)

SolrQuery::setRows — Especifica el número máximo de filas a devolver en el resultado

Descripción

public SolrQuery SolrQuery::setRows ( int $rows )

Especifica el número máximo de filas a devolver en el resultado

Parámetros

rows

El número máximo de filas a devolver

Valores devueltos

Devuelve el objeto SolrQuery actual.

SolrQuery::setQuery
SolrQuery::setShowDebugInfo
SolrQuery


Bandera para mostrar información de depuración

SolrQuery::setRows
SolrQuery::setStart
SolrQuery
PHP Manual

SolrQuery::setShowDebugInfo

(PECL solr >= 0.9.2)

SolrQuery::setShowDebugInfo — Bandera para mostrar información de depuración

Descripción

public SolrQuery SolrQuery::setShowDebugInfo ( bool $flag )

Si mostrar o no información de depuración

Parámetros

flag

Si mostrar o no información de depuración. TRUE o FALSE

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setRows
SolrQuery::setStart
SolrQuery


Especifica el número de filas que se van a saltar

SolrQuery::setShowDebugInfo
SolrQuery::setStats
SolrQuery
PHP Manual

SolrQuery::setStart

(PECL solr >= 0.9.2)

SolrQuery::setStart — Especifica el número de filas que se van a saltar

Descripción

public SolrQuery SolrQuery::setStart ( int $start )

Especifica el número de filas que se van a saltar. Útil en paginación de resultados.

Parámetros

start

El número de filas a saltar.

Valores devueltos

Devuelve el objeto SolrQuery actual.

SolrQuery::setShowDebugInfo
SolrQuery::setStats
SolrQuery


Habilita o deshablita el componente de estadísticas

SolrQuery::setStart
SolrQuery::setTerms
SolrQuery
PHP Manual

SolrQuery::setStats

(PECL solr >= 0.9.2)

SolrQuery::setStats — Habilita o deshablita el componente de estadísticas

Descripción

public SolrQuery SolrQuery::setStats ( bool $flag )

Habilita o deshablita el componente de estadísticas.

Parámetros

flag

TRUE habilita el componente de estadísticas y FALSE lo deshabilita.

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setStart
SolrQuery::setTerms
SolrQuery


Habilita o deshablita TermsComponent

SolrQuery::setStats
SolrQuery::setTermsField
SolrQuery
PHP Manual

SolrQuery::setTerms

(PECL solr >= 0.9.2)

SolrQuery::setTerms — Habilita o deshablita TermsComponent

Descripción

public SolrQuery SolrQuery::setTerms ( bool $flag )

Habilita o deshablita TermsComponent

Parámetros

flag

TRUE lo habilita. FALSE lo desactiva

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setStats
SolrQuery::setTermsField
SolrQuery


Establece el nombre del campo del que obtener los términos

SolrQuery::setTerms
SolrQuery::setTermsIncludeLowerBound
SolrQuery
PHP Manual

SolrQuery::setTermsField

(PECL solr >= 0.9.2)

SolrQuery::setTermsField — Establece el nombre del campo del que obtener los términos

Descripción

public SolrQuery SolrQuery::setTermsField ( string $fieldname )

Establece el nombre del campo del que obtener los términos

Parámetros

fieldname

El nombre del campo

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setTerms
SolrQuery::setTermsIncludeLowerBound
SolrQuery


Incluir el término de límite inferior en el conjunto de resultados

SolrQuery::setTermsField
SolrQuery::setTermsIncludeUpperBound
SolrQuery
PHP Manual

SolrQuery::setTermsIncludeLowerBound

(PECL solr >= 0.9.2)

SolrQuery::setTermsIncludeLowerBound — Incluir el término de límite inferior en el conjunto de resultados

Descripción

public SolrQuery SolrQuery::setTermsIncludeLowerBound ( bool $flag )

Incluir el término de límite inferior en el conjunto de resultados.

Parámetros

flag

Incluir el término de límite inferior en el conjunto de resultados

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setTermsField
SolrQuery::setTermsIncludeUpperBound
SolrQuery


Incluir el término de límite superior en el conjunto de resultados

SolrQuery::setTermsIncludeLowerBound
SolrQuery::setTermsLimit
SolrQuery
PHP Manual

SolrQuery::setTermsIncludeUpperBound

(PECL solr >= 0.9.2)

SolrQuery::setTermsIncludeUpperBound — Incluir el término de límite superior en el conjunto de resultados

Descripción

public SolrQuery SolrQuery::setTermsIncludeUpperBound ( bool $flag )

Incluir el término de límite superior en el conjunto de resultados.

Parámetros

flag

TRUE o FALSE

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setTermsIncludeLowerBound
SolrQuery::setTermsLimit
SolrQuery


Establece el número máximo de términos a devolver

SolrQuery::setTermsIncludeUpperBound
SolrQuery::setTermsLowerBound
SolrQuery
PHP Manual

SolrQuery::setTermsLimit

(PECL solr >= 0.9.2)

SolrQuery::setTermsLimit — Establece el número máximo de términos a devolver

Descripción

public SolrQuery SolrQuery::setTermsLimit ( int $limit )

Establece el número máximo de términos a devolver

Parámetros

limit

El número máximo de términos a devolver. Si el límite es negativo se devolverán todos los términos.

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setTermsIncludeUpperBound
SolrQuery::setTermsLowerBound
SolrQuery


Especifica el término de donde empezar

SolrQuery::setTermsLimit
SolrQuery::setTermsMaxCount
SolrQuery
PHP Manual

SolrQuery::setTermsLowerBound

(PECL solr >= 0.9.2)

SolrQuery::setTermsLowerBound — Especifica el término de donde empezar

Descripción

public SolrQuery SolrQuery::setTermsLowerBound ( string $lowerBound )

Especifica el término de donde empezar

Parámetros

lowerBound

El término límite inferior

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setTermsLimit
SolrQuery::setTermsMaxCount
SolrQuery


Establece la frecuencia máxima de documentos

SolrQuery::setTermsLowerBound
SolrQuery::setTermsMinCount
SolrQuery
PHP Manual

SolrQuery::setTermsMaxCount

(PECL solr >= 0.9.2)

SolrQuery::setTermsMaxCount — Establece la frecuencia máxima de documentos

Descripción

public SolrQuery SolrQuery::setTermsMaxCount ( int $frequency )

Establece la frecuencia máxima de documentos.

Parámetros

frequency

La frecuencia máxima de documentos.

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setTermsLowerBound
SolrQuery::setTermsMinCount
SolrQuery


Establece la frecuencia mínima de documentos

SolrQuery::setTermsMaxCount
SolrQuery::setTermsPrefix
SolrQuery
PHP Manual

SolrQuery::setTermsMinCount

(PECL solr >= 0.9.2)

SolrQuery::setTermsMinCount — Establece la frecuencia mínima de documentos

Descripción

public SolrQuery SolrQuery::setTermsMinCount ( int $frequency )

Establece la frecuencia mínima de documentos a devolver para ser incluidos

Parámetros

frequency

La frecuencia mínima

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setTermsMaxCount
SolrQuery::setTermsPrefix
SolrQuery


Restringe las coincidencias de términos que comienzan con el prefijo

SolrQuery::setTermsMinCount
SolrQuery::setTermsReturnRaw
SolrQuery
PHP Manual

SolrQuery::setTermsPrefix

(PECL solr >= 0.9.2)

SolrQuery::setTermsPrefix — Restringe las coincidencias de términos que comienzan con el prefijo

Descripción

public SolrQuery SolrQuery::setTermsPrefix ( string $prefix )

Restringe las coincidencias de términos que comienzan con el prefijo

Parámetros

prefix

Restringe las coincidencias de términos que comienzan con el prefijo

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setTermsMinCount
SolrQuery::setTermsReturnRaw
SolrQuery


Devuelve los caracteres en bruto del término indexado

SolrQuery::setTermsPrefix
SolrQuery::setTermsSort
SolrQuery
PHP Manual

SolrQuery::setTermsReturnRaw

(PECL solr >= 0.9.2)

SolrQuery::setTermsReturnRaw — Devuelve los caracteres en bruto del término indexado

Descripción

public SolrQuery SolrQuery::setTermsReturnRaw ( bool $flag )

Si es true, devuelve los caracteres en bruto del término indexado, sin tener en cuenta si es legible por humanos.

Parámetros

value

TRUE o FALSE

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setTermsPrefix
SolrQuery::setTermsSort
SolrQuery


Especifica cómo ordenar los términos devueltos

SolrQuery::setTermsReturnRaw
SolrQuery::setTermsUpperBound
SolrQuery
PHP Manual

SolrQuery::setTermsSort

(PECL solr >= 0.9.2)

SolrQuery::setTermsSort — Especifica cómo ordenar los términos devueltos

Descripción

public SolrQuery SolrQuery::setTermsSort ( int $sortType )

Si se usa SolrQuery::TERMS_SORT_COUNT, ordena los términos según la frecuencia del término (la mayor primero). Si se usa SolrQuery::TERMS_SORT_INDEX, devuelve los términos ordenados por índice

Parámetros

sortType

SolrQuery::TERMS_SORT_INDEX o SolrQuery::TERMS_SORT_COUNT

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setTermsReturnRaw
SolrQuery::setTermsUpperBound
SolrQuery


Establece el término en el que parar

SolrQuery::setTermsSort
SolrQuery::setTimeAllowed
SolrQuery
PHP Manual

SolrQuery::setTermsUpperBound

(PECL solr >= 0.9.2)

SolrQuery::setTermsUpperBound — Establece el término en el que parar

Descripción

public SolrQuery SolrQuery::setTermsUpperBound ( string $upperBound )

Establece el término en el que parar

Parámetros

upperBound

El término en el que parar

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setTermsSort
SolrQuery::setTimeAllowed
SolrQuery


El tiempo permitido para que la búsqueda finalice

SolrQuery::setTermsUpperBound
SolrException
SolrQuery
PHP Manual

SolrQuery::setTimeAllowed

(PECL solr >= 0.9.2)

SolrQuery::setTimeAllowed — El tiempo permitido para que la búsqueda finalice

Descripción

public SolrQuery SolrQuery::setTimeAllowed ( int $timeAllowed )

El tiempo permitido para que la búsqueda finalice. Este valor sólo se aplica a la búsqueda y no a las solicitudes en general. Se mide en milisegundos. Los valores menores o iguales a cero implican la no restricción de tiempo. Se pueden devolver resultados parciales, si los hubiera.

Parámetros

timeAllowed

El tiempo permitido para que la búsqueda finalice.

Valores devueltos

Devuelve el objeto SolrQuery actual, si se usó el valor de retorno.

SolrQuery::setTermsUpperBound
SolrException
SolrQuery


La clase SolrException

(PECL solr >= 0.9.2)

Introducción

Esta es la clase base para todas las excepciones lanzadas por las clases de la extensión Solr.

Sinopsis de la Clase

SolrException extends Exception {
/* Propiedades */
protected integer $sourceline ;
protected string $sourcefile ;
protected string $zif_name ;
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos */
public array getInternalInfo ( void )
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Propiedades

sourceline

La línea del archivo del espacio c donde se generó la excepción

sourcefile

El archivo fuente del espacio c donde se generó la excepción

zif_name

La función espacio c donde se generó la excepción

Tabla de contenidos

  • SolrException::getInternalInfo — Devuelve información interna de donde se lanzó la excepción
SolrQuery::setTimeAllowed
SolrException::getInternalInfo
Solr


Devuelve información interna de donde se lanzó la excepción

SolrException
SolrClientException
SolrException
PHP Manual

SolrException::getInternalInfo

(PECL solr >= 0.9.2)

SolrException::getInternalInfo — Devuelve información interna de donde se lanzó la excepción

Descripción

public array SolrException::getInternalInfo ( void )

Devuelve información interna de donde se lanzó la excepción.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una matriz que contiene información interna de donde el error fue lanzado. Usado únicamente para depurar por desarrolladores de extensiones.

SolrException
SolrClientException
SolrException


La clase SolrClientException

(PECL solr >= 0.9.2)

Introducción

Una excepción lanzada cuando existe un error al hacer una solicitud al servidor desde el cliente.

Sinopsis de la Clase

SolrClientException extends SolrException {
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
protected integer $sourceline ;
protected string $sourcefile ;
protected string $zif_name ;
/* Métodos */
public array getInternalInfo ( void )
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
public array SolrException::getInternalInfo ( void )
}

Tabla de contenidos

  • SolrClientException::getInternalInfo — Devuelve información interna de donde se lanzó la excepción
SolrException::getInternalInfo
SolrClientException::getInternalInfo
Solr


Devuelve información interna de donde se lanzó la excepción

SolrClientException
SolrIllegalArgumentException
SolrClientException
PHP Manual

SolrClientException::getInternalInfo

(PECL solr >= 0.9.2)

SolrClientException::getInternalInfo — Devuelve información interna de donde se lanzó la excepción

Descripción

public array SolrClientException::getInternalInfo ( void )

Devuelve información interna de donde se lanzó la excepción.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una matriz que contiene información interna de donde el error fue lanzado. Usado únicamente para depurar por desarrolladores de extensiones.

SolrClientException
SolrIllegalArgumentException
SolrClientException


La clase SolrIllegalArgumentException

(PECL solr >= 0.9.2)

Introducción

Este objeto es lanzado cuando un argumento ilegal o no válido es pasado al método.

Sinopsis de la Clase

SolrIllegalArgumentException extends SolrException {
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
protected integer $sourceline ;
protected string $sourcefile ;
protected string $zif_name ;
/* Métodos */
public array getInternalInfo ( void )
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
public array SolrException::getInternalInfo ( void )
}

Tabla de contenidos

  • SolrIllegalArgumentException::getInternalInfo — Devuelve información interna de donde se lanzó la excepción
SolrClientException::getInternalInfo
SolrIllegalArgumentException::getInternalInfo
Solr


Devuelve información interna de donde se lanzó la excepción

SolrIllegalArgumentException
SolrIllegalOperationException
SolrIllegalArgumentException
PHP Manual

SolrIllegalArgumentException::getInternalInfo

(PECL solr >= 0.9.2)

SolrIllegalArgumentException::getInternalInfo — Devuelve información interna de donde se lanzó la excepción

Descripción

public array SolrIllegalArgumentException::getInternalInfo ( void )

Devuelve información interna de donde se lanzó la excepción.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una matriz que contiene información interna de donde el error fue lanzado. Usado únicamente para depurar por desarrolladores de extensiones.

SolrIllegalArgumentException
SolrIllegalOperationException
SolrIllegalArgumentException


La clase SolrIllegalOperationException

(PECL solr >= 0.9.2)

Introducción

Este objeto es lanzado cuando una operación ilegal o no soportada es realizada sobre un objeto.

Sinopsis de la Clase

SolrIllegalOperationException extends SolrException {
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
protected integer $sourceline ;
protected string $sourcefile ;
protected string $zif_name ;
/* Métodos */
public array getInternalInfo ( void )
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
public array SolrException::getInternalInfo ( void )
}

Tabla de contenidos

  • SolrIllegalOperationException::getInternalInfo — Devuelve información interna de donde se lanzó la excepción
SolrIllegalArgumentException::getInternalInfo
SolrIllegalOperationException::getInternalInfo
Solr


Devuelve información interna de donde se lanzó la excepción

SolrIllegalOperationException
Sphinx
SolrIllegalOperationException
PHP Manual

SolrIllegalOperationException::getInternalInfo

(PECL solr >= 0.9.2)

SolrIllegalOperationException::getInternalInfo — Devuelve información interna de donde se lanzó la excepción

Descripción

public array SolrIllegalOperationException::getInternalInfo ( void )

Devuelve información interna de donde se lanzó la excepción.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una matriz que contiene información interna de donde el error fue lanzado. Usado únicamente para depurar por desarrolladores de extensiones.

SolrIllegalOperationException
Sphinx
SolrIllegalOperationException


Cliente Sphinx

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • SphinxClient — Clase SphinxClient
    • SphinxClient::addQuery — Add query to multi-query batch
    • SphinxClient::buildExcerpts — Build text snippets
    • SphinxClient::buildKeywords — Extraer las palabras clave de una consulta
    • SphinxClient::close — Cierra conexión persistente previamente abierta
    • SphinxClient::__construct — Crea un nuevo objeto SphinxClient
    • SphinxClient::escapeString — Escapa caracteres especiales
    • SphinxClient::getLastError — Obtener el último mensaje de error
    • SphinxClient::getLastWarning — Obtener la última advertencia
    • SphinxClient::open — Abre una conexión persistente con el servidor
    • SphinxClient::query — Execute search query
    • SphinxClient::resetFilters — Clear all filters
    • SphinxClient::resetGroupBy — Clear all group-by settings
    • SphinxClient::runQueries — Ejecutar un lote de consultas de búsqueda
    • SphinxClient::setArrayResult — Change the format of result set array
    • SphinxClient::setConnectTimeout — Establecer el tiempo de conexión
    • SphinxClient::setFieldWeights — Set field weights
    • SphinxClient::setFilter — Add new integer values set filter
    • SphinxClient::setFilterFloatRange — Add new float range filter
    • SphinxClient::setFilterRange — Add new integer range filter
    • SphinxClient::setGeoAnchor — Set anchor point for a geosphere distance calculations
    • SphinxClient::setGroupBy — Set grouping attribute
    • SphinxClient::setGroupDistinct — Set attribute name for per-group distinct values count calculations
    • SphinxClient::setIDRange — Set a range of accepted document IDs
    • SphinxClient::setIndexWeights — Set per-index weights
    • SphinxClient::setLimits — Set offset and limit of the result set
    • SphinxClient::setMatchMode — Set full-text query matching mode
    • SphinxClient::setMaxQueryTime — Establecer el tiempo máximo de consulta
    • SphinxClient::setOverride — Sets temporary per-document attribute value overrides
    • SphinxClient::setRankingMode — Set ranking mode
    • SphinxClient::setRetries — Set retry count and delay
    • SphinxClient::setSelect — Set select clause
    • SphinxClient::setServer — Set searchd host and port
    • SphinxClient::setSortMode — Set matches sorting mode
    • SphinxClient::status — Queries searchd status
    • SphinxClient::updateAttributes — Actualizar los atributos del documento
SolrIllegalOperationException::getInternalInfo
Introducción
Extensiones para motores de búsqueda


Introducción

Esta extensión proporciona enlaces para la biblioteca cliente de Sphinx search. Sphinx es un motor de búsqueda independiente de la intención de proporcionar rápidamente un tamaño eficiente y adecuado para las funciones de búsqueda de texto completo a otras aplicaciones. Sphinx ha sido especialmente diseñado para integrarse muy bien con Bases de datos SQL y lenguajes de scripting. Tanto Sphinx y su biblioteca cliente se pueden obtener del » sitio oficial

Sphinx
Instalación/Configuración
Sphinx


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Sphinx


Requerimientos

PECL/sphinx requiere PHP 5.2.2 superior.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/sphinx.

Si el script ./configure generado por phpize tiene problemas encontrando los archivos de libsphinxclient (por ejemplo, fue instalado en una ruta personalizada), use ./configure --with-sphinx=$PREFIX, donde $PREFIX es la ruta de instalación de libsphinxclient.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

SEARCHD_OK (integer)
SEARCHD_ERROR (integer)
SEARCHD_RETRY (integer)
SEARCHD_WARNING (integer)
SPH_MATCH_ALL (integer)
SPH_MATCH_ANY (integer)
SPH_MATCH_PHRASE (integer)
SPH_MATCH_BOOLEAN (integer)
SPH_MATCH_EXTENDED (integer)
SPH_MATCH_FULLSCAN (integer)
SPH_MATCH_EXTENDED2 (integer)
SPH_RANK_PROXIMITY_BM25 (integer)
SPH_RANK_BM25 (integer)
SPH_RANK_NONE (integer)
SPH_RANK_WORDCOUNT (integer)
SPH_SORT_RELEVANCE (integer)
SPH_SORT_ATTR_DESC (integer)
SPH_SORT_ATTR_ASC (integer)
SPH_SORT_TIME_SEGMENTS (integer)
SPH_SORT_EXTENDED (integer)
SPH_SORT_EXPR (integer)
SPH_FILTER_VALUES (integer)
SPH_FILTER_RANGE (integer)
SPH_FILTER_FLOATRANGE (integer)
SPH_ATTR_INTEGER (integer)
SPH_ATTR_TIMESTAMP (integer)
SPH_ATTR_ORDINAL (integer)
SPH_ATTR_BOOL (integer)
SPH_ATTR_FLOAT (integer)
SPH_ATTR_MULTI (integer)
SPH_GROUPBY_DAY (integer)
SPH_GROUPBY_WEEK (integer)
SPH_GROUPBY_MONTH (integer)
SPH_GROUPBY_YEAR (integer)
SPH_GROUPBY_ATTR (integer)
SPH_GROUPBY_ATTRPAIR (integer)

Tipos de recursos
Ejemplos
Sphinx


Ejemplos

Ejemplo #1 Ejemplo de uso básico

<?php

$s = new SphinxClient;
$s->setServer("localhost", 6712);
$s->setMatchMode(SPH_MATCH_ANY);
$s->setMaxQueryTime(3);

$result = $s->query("test");

var_dump($result);

?>

El resultado del ejemplo sería algo similar a:

array(10) {
  ["error"]=>
  string(0) ""
  ["warning"]=>
  string(0) ""
  ["status"]=>
  int(0)
  ["fields"]=>
  array(3) {
    [0]=>
    string(7) "subject"
    [1]=>
    string(4) "body"
    [2]=>
    string(6) "author"
  }
  ["attrs"]=>
  array(0) {
  }
  ["matches"]=>
  array(1) {
    [3]=>
    array(2) {
      ["weight"]=>
      int(1)
      ["attrs"]=>
      array(0) {
      }
    }
  }
  ["total"]=>
  int(1)
  ["total_found"]=>
  int(1)
  ["time"]=>
  float(0)
  ["words"]=>
  array(1) {
    ["to"]=>
    array(2) {
      ["docs"]=>
      int(1)
      ["hits"]=>
      int(1)
    }
  }
}
Constantes predefinidas
SphinxClient
Sphinx


Clase SphinxClient

(PECL sphinx >= 0.1.0)

Introducción

La clase SphinxClient proporciona un interfaz orientado a objetos para Sphinx.

Sinopsis de la Clase

SphinxClient {
/* Métodos */
public int addQuery ( string $query [, string $index = "*" [, string $comment = "" ]] )
public array buildExcerpts ( array $docs , string $index , string $words [, array $opts ] )
public array buildKeywords ( string $query , string $index , bool $hits )
public bool close ( void )
public __construct ( void )
public string escapeString ( string $string )
public string getLastError ( void )
public string getLastWarning ( void )
public bool open ( void )
public array query ( string $query [, string $index = "*" [, string $comment = "" ]] )
public void resetFilters ( void )
public void resetGroupBy ( void )
public array runQueries ( void )
public bool setArrayResult ( bool $array_result = false )
public bool setConnectTimeout ( float $timeout )
public bool setFieldWeights ( array $weights )
public bool setFilter ( string $attribute , array $values [, bool $exclude = false ] )
public bool setFilterFloatRange ( string $attribute , float $min , float $max [, bool $exclude = false ] )
public bool setFilterRange ( string $attribute , int $min , int $max [, bool $exclude = false ] )
public bool setGeoAnchor ( string $attrlat , string $attrlong , float $latitude , float $longitude )
public bool setGroupBy ( string $attribute , int $func [, string $groupsort = "@group desc" ] )
public bool setGroupDistinct ( string $attribute )
public bool setIDRange ( int $min , int $max )
public bool setIndexWeights ( array $weights )
public bool setLimits ( int $offset , int $limit [, int $max_matches = 0 [, int $cutoff = 0 ]] )
public bool setMatchMode ( int $mode )
public bool setMaxQueryTime ( int $qtime )
public bool setOverride ( string $attribute , int $type , array $values )
public bool setRankingMode ( int $ranker )
public bool setRetries ( int $count [, int $delay = 0 ] )
public bool setSelect ( string $clause )
public bool setServer ( string $server , int $port )
public bool setSortMode ( int $mode [, string $sortby ] )
public array status ( void )
public int updateAttributes ( string $index , array $attributes , array $values [, bool $mva = false ] )
}

Tabla de contenidos

  • SphinxClient::addQuery — Add query to multi-query batch
  • SphinxClient::buildExcerpts — Build text snippets
  • SphinxClient::buildKeywords — Extraer las palabras clave de una consulta
  • SphinxClient::close — Cierra conexión persistente previamente abierta
  • SphinxClient::__construct — Crea un nuevo objeto SphinxClient
  • SphinxClient::escapeString — Escapa caracteres especiales
  • SphinxClient::getLastError — Obtener el último mensaje de error
  • SphinxClient::getLastWarning — Obtener la última advertencia
  • SphinxClient::open — Abre una conexión persistente con el servidor
  • SphinxClient::query — Execute search query
  • SphinxClient::resetFilters — Clear all filters
  • SphinxClient::resetGroupBy — Clear all group-by settings
  • SphinxClient::runQueries — Ejecutar un lote de consultas de búsqueda
  • SphinxClient::setArrayResult — Change the format of result set array
  • SphinxClient::setConnectTimeout — Establecer el tiempo de conexión
  • SphinxClient::setFieldWeights — Set field weights
  • SphinxClient::setFilter — Add new integer values set filter
  • SphinxClient::setFilterFloatRange — Add new float range filter
  • SphinxClient::setFilterRange — Add new integer range filter
  • SphinxClient::setGeoAnchor — Set anchor point for a geosphere distance calculations
  • SphinxClient::setGroupBy — Set grouping attribute
  • SphinxClient::setGroupDistinct — Set attribute name for per-group distinct values count calculations
  • SphinxClient::setIDRange — Set a range of accepted document IDs
  • SphinxClient::setIndexWeights — Set per-index weights
  • SphinxClient::setLimits — Set offset and limit of the result set
  • SphinxClient::setMatchMode — Set full-text query matching mode
  • SphinxClient::setMaxQueryTime — Establecer el tiempo máximo de consulta
  • SphinxClient::setOverride — Sets temporary per-document attribute value overrides
  • SphinxClient::setRankingMode — Set ranking mode
  • SphinxClient::setRetries — Set retry count and delay
  • SphinxClient::setSelect — Set select clause
  • SphinxClient::setServer — Set searchd host and port
  • SphinxClient::setSortMode — Set matches sorting mode
  • SphinxClient::status — Queries searchd status
  • SphinxClient::updateAttributes — Actualizar los atributos del documento
Ejemplos
SphinxClient::addQuery
Sphinx


Add query to multi-query batch

SphinxClient
SphinxClient::buildExcerpts
SphinxClient
PHP Manual

SphinxClient::addQuery

(PECL sphinx >= 0.1.0)

SphinxClient::addQuery — Add query to multi-query batch

Descripción

public int SphinxClient::addQuery ( string $query [, string $index = "*" [, string $comment = "" ]] )

Adds query with the current settings to multi-query batch. This method doesn't affect current settings (sorting, filtering, grouping etc.) in any way.

Parámetros

query

Query string.

index

An index name (or names).

comment

Valores devueltos

Returns an index in an array of results that will be returned by SphinxClient::runQueries call or false on error.

Ver también

  • SphinxClient::runQueries
  • SphinxClient::query

SphinxClient
SphinxClient::buildExcerpts
SphinxClient


Build text snippets

SphinxClient::addQuery
SphinxClient::buildKeywords
SphinxClient
PHP Manual

SphinxClient::buildExcerpts

(PECL sphinx >= 0.1.0)

SphinxClient::buildExcerpts — Build text snippets

Descripción

public array SphinxClient::buildExcerpts ( array $docs , string $index , string $words [, array $opts ] )

Connects to searchd, requests it to generate excerpts (snippets) from the given documents, and returns the results.

Parámetros

docs

Array of strings with documents' contents.

index

Index name.

words

Keywords to highlight.

opts

Associative array of additional highlighting options (see below).

Highlighting options
Option | Description
"before_match" | A string to insert before a keyword match. Default is "<b>".
"after_match" | A string to insert after a keyword match. Default is "</b>".
"chunk_separator" | A string to insert between snippet chunks (passages). Default is " ... ".
"limit" | Maximum snippet size, in symbols (codepoints). Integer, default is 256.
"around" | How much words to pick around each matching keywords block. Integer, default is 5.
"exact_phrase" | Whether to highlight exact query phrase matches only instead of individual keywords. Boolean, default is FALSE.
"single_passage" | Whether to extract single best passage only. Boolean, default is FALSE.

Valores devueltos

Returns array of snippets on success o FALSE en caso de error.

SphinxClient::addQuery
SphinxClient::buildKeywords
SphinxClient


Extraer las palabras clave de una consulta

SphinxClient::buildExcerpts
SphinxClient::close
SphinxClient
PHP Manual

SphinxClient::buildKeywords

(PECL sphinx >= 0.1.0)

SphinxClient::buildKeywords — Extraer las palabras clave de una consulta

Descripción

public array SphinxClient::buildKeywords ( string $query , string $index , bool $hits )

Extrae las palabras clave de query con los ajustes para el tokenizer dado index, de forma opcional con las estadísticas de ocurrencia por palabra clave.

Parámetros

query

Una consulta para extraer palabras clave.

index

Un índice para obtener la configuración de tokenización y estadísticas de palabras clave de la ocurrencia.

hits

Marca boolean para activar/desactivar la generación de estadísticas de palabras clave.

Valores devueltos

Devuelve un array de arrays asociativos con la información por palabra clave.

SphinxClient::buildExcerpts
SphinxClient::close
SphinxClient


Cierra conexión persistente previamente abierta

SphinxClient::buildKeywords
SphinxClient::__construct
SphinxClient
PHP Manual

SphinxClient::close

(PECL sphinx >= 1.0.3)

SphinxClient::close — Cierra conexión persistente previamente abierta

Descripción

public bool SphinxClient::close ( void )

Cierra conexión persistente previamente abierta.

Parámetros

Esta función no tiene parámetros.

Historial de cambios

PECL/sphinx Versión | Descripción
1.0.3 | Añadido SphinxClient::close(), disponible sólo si se compila con libsphinxclient >= 0.9.9.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • SphinxClient::open

SphinxClient::buildKeywords
SphinxClient::__construct
SphinxClient


Crea un nuevo objeto SphinxClient

SphinxClient::close
SphinxClient::escapeString
SphinxClient
PHP Manual

SphinxClient::__construct

(PECL sphinx >= 0.1.0)

SphinxClient::__construct — Crea un nuevo objeto SphinxClient

Descripción

public SphinxClient::__construct ( void )

Crea un nuevo objeto SphinxClient.

Parámetros

Esta función no tiene parámetros.

SphinxClient::close
SphinxClient::escapeString
SphinxClient


Escapa caracteres especiales

SphinxClient::__construct
SphinxClient::getLastError
SphinxClient
PHP Manual

SphinxClient::escapeString

(PECL sphinx >= 0.1.0)

SphinxClient::escapeString — Escapa caracteres especiales

Descripción

public string SphinxClient::escapeString ( string $string )

Escapa caracteres que se tratan como operadores especiales por el analizador de lenguaje de consulta.

Parámetros

string

String a ser escapado.

Valores devueltos

Devuelve un string escapado.

SphinxClient::__construct
SphinxClient::getLastError
SphinxClient


Obtener el último mensaje de error

SphinxClient::escapeString
SphinxClient::getLastWarning
SphinxClient
PHP Manual

SphinxClient::getLastError

(PECL sphinx >= 0.1.0)

SphinxClient::getLastError — Obtener el último mensaje de error

Descripción

public string SphinxClient::getLastError ( void )

Devuelve un string con el último mensaje de error. Si no hubo errores durante la previa llamada API, es retornado un string vacío. Este método no restablece el mensaje de error, lo que con seguridad se puede llamar varias veces.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el último mensaje de error o un string vacío si no hubo errores.

Ver también

  • SphinxClient::getLastWarning

SphinxClient::escapeString
SphinxClient::getLastWarning
SphinxClient


Obtener la última advertencia

SphinxClient::getLastError
SphinxClient::open
SphinxClient
PHP Manual

SphinxClient::getLastWarning

(PECL sphinx >= 0.1.0)

SphinxClient::getLastWarning — Obtener la última advertencia

Descripción

public string SphinxClient::getLastWarning ( void )

Devuelve el último mensaje de advertencia. Si no se generó ninguna advertencia durante la previa llamada API, es retornado un string vacío. Este método no restablece la advertencia, lo que con seguridad se puede llamar varias veces.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el último mensaje de advertencia o un string vacío si no hay advertencias.

Ver también

  • SphinxClient::getLastError

SphinxClient::getLastError
SphinxClient::open
SphinxClient


Abre una conexión persistente con el servidor

SphinxClient::getLastWarning
SphinxClient::query
SphinxClient
PHP Manual

SphinxClient::open

(PECL sphinx >= 1.0.3)

SphinxClient::open — Abre una conexión persistente con el servidor

Descripción

public bool SphinxClient::open ( void )

Abre una conexión persistente al servidor.

Parámetros

Esta función no tiene parámetros.

Historial de cambios

PECL/sphinx Versión | Descripción
1.0.3 | Añadido SphinxClient::open(), disponible sólo si se compila con libsphinxclient >= 0.9.9.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • SphinxClient::close

SphinxClient::getLastWarning
SphinxClient::query
SphinxClient


Execute search query

SphinxClient::open
SphinxClient::resetFilters
SphinxClient
PHP Manual

SphinxClient::query

(PECL sphinx >= 0.1.0)

SphinxClient::query — Execute search query

Descripción

public array SphinxClient::query ( string $query [, string $index = "*" [, string $comment = "" ]] )

Connects to searchd server, runs the given search query with the current settings, obtains and returns the result set.

Parámetros

query

Query string.

index

An index name (or names).

comment

Valores devueltos

On success, SphinxClient::query() returns a list of found matches and additional per-query statistics. The result set is a hash utilize other structures instead of hash) with the following keys and values:

Result set structure
Key | Value description
"matches" | An array with found document IDs as keys and their weight and attributes values as values
"total" | Total number of matches found and retrieved (depends on your settings)
"total_found" | Total number of found documents matching the query
"words" | An array with words (case-folded and stemmed) as keys and per-word statistics as values
"error" | Query error message reported by searchd
"warning" | Query warning reported by searchd

Ver también

  • SphinxClient::runQueries
  • SphinxClient::addQuery

SphinxClient::open
SphinxClient::resetFilters
SphinxClient


Clear all filters

SphinxClient::query
SphinxClient::resetGroupBy
SphinxClient
PHP Manual

SphinxClient::resetFilters

(PECL sphinx >= 0.1.0)

SphinxClient::resetFilters — Clear all filters

Descripción

public void SphinxClient::resetFilters ( void )

Clears all currently set filters. This call is normally required when using multi-queries. You might want to set different filters for different queries in the batch. To do that, you should call SphinxClient::resetFilters() and add new filters using the respective calls.

Valores devueltos

No devuelve ningún valor.

Ver también

  • SphinxClient::resetGroupBy

SphinxClient::query
SphinxClient::resetGroupBy
SphinxClient


Clear all group-by settings

SphinxClient::resetFilters
SphinxClient::runQueries
SphinxClient
PHP Manual

SphinxClient::resetGroupBy

(PECL sphinx >= 0.1.0)

SphinxClient::resetGroupBy — Clear all group-by settings

Descripción

public void SphinxClient::resetGroupBy ( void )

Clears all currently group-by settings, and disables group-by. This call is normally required only when using multi-queries.

Valores devueltos

No devuelve ningún valor.

Ver también

  • SphinxClient::resetGroupBy

SphinxClient::resetFilters
SphinxClient::runQueries
SphinxClient


Ejecutar un lote de consultas de búsqueda

SphinxClient::resetGroupBy
SphinxClient::setArrayResult
SphinxClient
PHP Manual

SphinxClient::runQueries

(PECL sphinx >= 0.1.0)

SphinxClient::runQueries — Ejecutar un lote de consultas de búsqueda

Descripción

public array SphinxClient::runQueries ( void )

Se conecta a searchd, ejecuta un lote de todas las consultas se agregan utilizando SphinxClient::addQuery, obtiene y devuelve el conjunto de resultados.

Valores devueltos

Devuelve FALSE en caso de error y array de conjuntos de resultados en caso de éxito.

Ver también

  • SphinxClient::addQuery
  • SphinxClient::query

SphinxClient::resetGroupBy
SphinxClient::setArrayResult
SphinxClient


Change the format of result set array

SphinxClient::runQueries
SphinxClient::setConnectTimeout
SphinxClient
PHP Manual

SphinxClient::setArrayResult

(PECL sphinx >= 0.1.0)

SphinxClient::setArrayResult — Change the format of result set array

Descripción

public bool SphinxClient::setArrayResult ( bool $array_result = false )

Controls the format of search results set arrays (whether matches should be returned as an array or a hash).

Parámetros

array_result

If array_result is FALSE, matches are returned as a hash with document IDs as keys, and other information (weight, attributes) as values. If array_result is TRUE, matches are returned as a plain array with complete per-match information including document IDs.

Valores devueltos

Always returns TRUE.

SphinxClient::runQueries
SphinxClient::setConnectTimeout
SphinxClient


Establecer el tiempo de conexión

SphinxClient::setArrayResult
SphinxClient::setFieldWeights
SphinxClient
PHP Manual

SphinxClient::setConnectTimeout

(PECL sphinx >= 0.1.0)

SphinxClient::setConnectTimeout — Establecer el tiempo de conexión

Descripción

public bool SphinxClient::setConnectTimeout ( float $timeout )

establecer el tiempo de conexión (en segundos) para la conexión searchd.

Parámetros

timeout

Tiempo de espera en segundos.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • SphinxClient::setMaxQueryTime

SphinxClient::setArrayResult
SphinxClient::setFieldWeights
SphinxClient


Set field weights

SphinxClient::setConnectTimeout
SphinxClient::setFilter
SphinxClient
PHP Manual

SphinxClient::setFieldWeights

(PECL sphinx >= 0.1.0)

SphinxClient::setFieldWeights — Set field weights

Descripción

public bool SphinxClient::setFieldWeights ( array $weights )

Binds per-field weights by name.

Match ranking can be affected by per-field weights. See » Sphinx documentation for an explanation on how phrase proximity ranking is affected. This call lets you specify non-default weights for full-text fields.

The weights must be positive 32-bit integers, so be careful not to hit 32-bit integer maximum. The final weight is a 32-bit integer too. Default weight value is 1. Unknown field names are silently ignored.

Parámetros

weights

Associative array of field names and field weights.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • SphinxClient::setIndexWeights

SphinxClient::setConnectTimeout
SphinxClient::setFilter
SphinxClient


Add new integer values set filter

SphinxClient::setFieldWeights
SphinxClient::setFilterFloatRange
SphinxClient
PHP Manual

SphinxClient::setFilter

(PECL sphinx >= 0.1.0)

SphinxClient::setFilter — Add new integer values set filter

Descripción

public bool SphinxClient::setFilter ( string $attribute , array $values [, bool $exclude = false ] )

Adds new integer values set filter to the existing list of filters.

Parámetros

attribute

An attribute name.

values

Plain array of integer values.

exclude

If set to TRUE, matching documents are excluded from the result set.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • SphinxClient::setFilterFloatRange
  • SphinxClient::setFilterRange
  • SphinxClient::resetFilters

SphinxClient::setFieldWeights
SphinxClient::setFilterFloatRange
SphinxClient


Add new float range filter

SphinxClient::setFilter
SphinxClient::setFilterRange
SphinxClient
PHP Manual

SphinxClient::setFilterFloatRange

(PECL sphinx >= 0.1.0)

SphinxClient::setFilterFloatRange — Add new float range filter

Descripción

public bool SphinxClient::setFilterFloatRange ( string $attribute , float $min , float $max [, bool $exclude = false ] )

Adds new float range filter to the existing list of filters. Only those documents which have attribute value stored in the index between min and max (including values that are exactly equal to min or max) will be matched (or rejected, if exclude is TRUE).

Parámetros

attribute

An attribute name.

min

Minimum value.

max

Maximum value.

exclude

If set to TRUE, matching documents are excluded from the result set.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • SphinxClient::setFilterRange
  • SphinxClient::setFilter
  • SphinxClient::resetFilters

SphinxClient::setFilter
SphinxClient::setFilterRange
SphinxClient


Add new integer range filter

SphinxClient::setFilterFloatRange
SphinxClient::setGeoAnchor
SphinxClient
PHP Manual

SphinxClient::setFilterRange

(PECL sphinx >= 0.1.0)

SphinxClient::setFilterRange — Add new integer range filter

Descripción

public bool SphinxClient::setFilterRange ( string $attribute , int $min , int $max [, bool $exclude = false ] )

Adds new integer range filter to the existing list of filters. Only those documents which have attribute value stored in the index between min and max (including values that are exactly equal to min or max) will be matched (or rejected, if exclude is TRUE).

Parámetros

attribute

An attribute name.

min

Minimum value.

max

Maximum value.

exclude

If set to TRUE, matching documents are excluded from the result set.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • SphinxClient::setFilterFloatRange
  • SphinxClient::setFilter
  • SphinxClient::resetFilters

SphinxClient::setFilterFloatRange
SphinxClient::setGeoAnchor
SphinxClient


Set anchor point for a geosphere distance calculations

SphinxClient::setFilterRange
SphinxClient::setGroupBy
SphinxClient
PHP Manual

SphinxClient::setGeoAnchor

(PECL sphinx >= 0.1.0)

SphinxClient::setGeoAnchor — Set anchor point for a geosphere distance calculations

Descripción

public bool SphinxClient::setGeoAnchor ( string $attrlat , string $attrlong , float $latitude , float $longitude )

Sets anchor point for a geosphere distance (geodistance) calculations and enables them.

Once an anchor point is set, you can use magic "@geodist" attribute name in your filters and/or sorting expressions.

Parámetros

attrlat

Name of a latitude attribute.

attrlong

Name of a longitude attribute.

latitude

Anchor latitude in radians.

longitude

Anchor longitude in radians.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • SphinxClient::setFilterFloatRange
  • SphinxClient::setFilterRange
  • SphinxClient::setFilter
  • SphinxClient::resetFilters

SphinxClient::setFilterRange
SphinxClient::setGroupBy
SphinxClient


Set grouping attribute

SphinxClient::setGeoAnchor
SphinxClient::setGroupDistinct
SphinxClient
PHP Manual

SphinxClient::setGroupBy

(PECL sphinx >= 0.1.0)

SphinxClient::setGroupBy — Set grouping attribute

Descripción

public bool SphinxClient::setGroupBy ( string $attribute , int $func [, string $groupsort = "@group desc" ] )

Sets grouping attribute, function, and group sorting mode, and enables grouping.

Grouping feature is very similar to GROUP BY clause in SQL. Results produced by this function call are going to be the same as produced by the following pseudo code: SELECT ... GROUP BY $func($attribute) ORDER BY $groupsort.

Parámetros

attribute

A string containing group-by attribute name.

func

Constant, which sets a function applied to the attribute value in order to compute group-by key.

groupsort

An optional clause controlling how the groups are sorted.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • SphinxClient::resetGroupBy
  • SphinxClient::setSortMode
  • SphinxClient::setGroupDistinct

SphinxClient::setGeoAnchor
SphinxClient::setGroupDistinct
SphinxClient


Set attribute name for per-group distinct values count calculations

SphinxClient::setGroupBy
SphinxClient::setIDRange
SphinxClient
PHP Manual

SphinxClient::setGroupDistinct

(PECL sphinx >= 0.1.0)

SphinxClient::setGroupDistinct — Set attribute name for per-group distinct values count calculations

Descripción

public bool SphinxClient::setGroupDistinct ( string $attribute )

Sets attribute name for per-group distinct values count calculations. Only available for grouping queries. For each group, all values of attribute will be stored, then the amount of distinct values will be calculated and returned to the client. This feature is similar to COUNT(DISTINCT) clause in SQL.

Parámetros

attribute

A string containing group-by attribute name.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • SphinxClient::setSortMode
  • SphinxClient::setGroupBy
  • SphinxClient::resetGroupBy

SphinxClient::setGroupBy
SphinxClient::setIDRange
SphinxClient


Set a range of accepted document IDs

SphinxClient::setGroupDistinct
SphinxClient::setIndexWeights
SphinxClient
PHP Manual

SphinxClient::setIDRange

(PECL sphinx >= 0.1.0)

SphinxClient::setIDRange — Set a range of accepted document IDs

Descripción

public bool SphinxClient::setIDRange ( int $min , int $max )

Sets an accepted range of document IDs. Default range is from 0 to 0, i.e. no limit. Only those records that have document ID between min and max (including IDs exactly equal to min or max) will be matched.

Parámetros

min

Minimum ID value.

max

Maximum ID value.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

SphinxClient::setGroupDistinct
SphinxClient::setIndexWeights
SphinxClient


Set per-index weights

SphinxClient::setIDRange
SphinxClient::setLimits
SphinxClient
PHP Manual

SphinxClient::setIndexWeights

(PECL sphinx >= 0.1.0)

SphinxClient::setIndexWeights — Set per-index weights

Descripción

public bool SphinxClient::setIndexWeights ( array $weights )

Sets per-index weights and enables weighted summing of match weights across different indexes.

Parámetros

weights

An associative array mapping string index names to integer weights. Default is empty array, i.e. weighting summing is disabled.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

SphinxClient::setIDRange
SphinxClient::setLimits
SphinxClient


Set offset and limit of the result set

SphinxClient::setIndexWeights
SphinxClient::setMatchMode
SphinxClient
PHP Manual

SphinxClient::setLimits

(PECL sphinx >= 0.1.0)

SphinxClient::setLimits — Set offset and limit of the result set

Descripción

public bool SphinxClient::setLimits ( int $offset , int $limit [, int $max_matches = 0 [, int $cutoff = 0 ]] )

Sets offset into server-side result set and amount of matches to return to client starting from that offset (limit). Can additionally control maximum server-side result set size for current query (max_matches) and the threshold amount of matches to stop searching at (cutoff).

Parámetros

offset

Result set offset.

limit

Amount of matches to return.

max_matches

Controls how much matches searchd will keep in RAM while searching.

cutoff

Used for advanced performance control. It tells searchd to forcibly stop search query once cutoff matches have been found and processed.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

SphinxClient::setIndexWeights
SphinxClient::setMatchMode
SphinxClient


Set full-text query matching mode

SphinxClient::setLimits
SphinxClient::setMaxQueryTime
SphinxClient
PHP Manual

SphinxClient::setMatchMode

(PECL sphinx >= 0.1.0)

SphinxClient::setMatchMode — Set full-text query matching mode

Descripción

public bool SphinxClient::setMatchMode ( int $mode )

Sets full-text query matching mode. mode is one of the constants listed below.

Match modes
Constant | Description
SPH_MATCH_ALL | Match all query words (default mode).
SPH_MATCH_ANY | Match any of query words.
SPH_MATCH_PHRASE | Match query as a phrase, requiring perfect match.
SPH_MATCH_BOOLEAN | Match query as a boolean expression.
SPH_MATCH_EXTENDED | Match query as an expression in Sphinx internal query language.
SPH_MATCH_FULLSCAN | Enables fullscan.
SPH_MATCH_EXTENDED2 | The same as SPH_MATCH_EXTENDED plus ranking and quorum searching support.

Parámetros

mode

Matching mode.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • SphinxClient::setRankingMode
  • SphinxClient::setSortMode

SphinxClient::setLimits
SphinxClient::setMaxQueryTime
SphinxClient


Establecer el tiempo máximo de consulta

SphinxClient::setMatchMode
SphinxClient::setOverride
SphinxClient
PHP Manual

SphinxClient::setMaxQueryTime

(PECL sphinx >= 0.1.0)

SphinxClient::setMaxQueryTime — Establecer el tiempo máximo de consulta

Descripción

public bool SphinxClient::setMaxQueryTime ( int $qtime )

Establece el tiempo máximo de consulta de búsqueda.

Parámetros

qtime

Tiempo de consulta máximo, en milisegundos. Debe ser un integer no negativo. El valor por defecto es 0, es decir, no hay límite.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

SphinxClient::setMatchMode
SphinxClient::setOverride
SphinxClient


Sets temporary per-document attribute value overrides

SphinxClient::setMaxQueryTime
SphinxClient::setRankingMode
SphinxClient
PHP Manual

SphinxClient::setOverride

(PECL sphinx >= 1.0.3)

SphinxClient::setOverride — Sets temporary per-document attribute value overrides

Descripción

public bool SphinxClient::setOverride ( string $attribute , int $type , array $values )

Sets temporary (per-query) per-document attribute value overrides. Override feature lets you "temporary" update attribute values for some documents within a single query, leaving all other queries unaffected. This might be useful for personalized data

Parámetros

attribute

An attribute name.

type

An attribute type. Only supports scalar attributes.

values

Array of attribute values that maps document IDs to overridden attribute values.

Historial de cambios

PECL/sphinx Versión | Descripción
1.0.3 | Added SphinxClient::setOverride(), available only if compiled with libsphinxclient >= 0.9.9.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

SphinxClient::setMaxQueryTime
SphinxClient::setRankingMode
SphinxClient


Set ranking mode

SphinxClient::setOverride
SphinxClient::setRetries
SphinxClient
PHP Manual

SphinxClient::setRankingMode

(PECL sphinx >= 0.1.0)

SphinxClient::setRankingMode — Set ranking mode

Descripción

public bool SphinxClient::setRankingMode ( int $ranker )

Sets ranking mode. Only available in SPH_MATCH_EXTENDED2 matching mode.

Ranking modes
Constant | Description
SPH_RANK_PROXIMITY_BM25 | Default ranking mode which uses both proximity and BM25 ranking.
SPH_RANK_BM25 | Statistical ranking mode which uses BM25 ranking only (similar to most of other full-text engines). This mode is faster, but may result in worse quality on queries which contain more than 1 keyword.
SPH_RANK_NONE | Disables ranking. This mode is the fastest. It is essentially equivalent to boolean searching, a weight of 1 is assigned to all matches.

Parámetros

ranker

Ranking mode.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • SphinxClient::setMatchMode

SphinxClient::setOverride
SphinxClient::setRetries
SphinxClient


Set retry count and delay

SphinxClient::setRankingMode
SphinxClient::setSelect
SphinxClient
PHP Manual

SphinxClient::setRetries

(PECL sphinx >= 0.1.0)

SphinxClient::setRetries — Set retry count and delay

Descripción

public bool SphinxClient::setRetries ( int $count [, int $delay = 0 ] )

Sets distributed retry count and delay.

On temporary failures searchd will attempt up to count retries per agent. delay is the delay between the retries, in milliseconds. Retries are disabled by default. Note that this call will not make the API itself retry on temporary failure; it only tells searchd to do so.

Parámetros

count

Number of retries.

delay

Delay between retries, in milliseconds.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

SphinxClient::setRankingMode
SphinxClient::setSelect
SphinxClient


Set select clause

SphinxClient::setRetries
SphinxClient::setServer
SphinxClient
PHP Manual

SphinxClient::setSelect

(PECL sphinx >= 1.0.1)

SphinxClient::setSelect — Set select clause

Descripción

public bool SphinxClient::setSelect ( string $clause )

Sets the select clause, listing specific attributes to fetch, and expressions to compute and fetch.

Parámetros

clause

SQL-like clause.

Historial de cambios

PECL/sphinx Versión | Descripción
1.0.1 | Added SphinxClient::setSelect(), available only if compiled with libsphinxclient >= 0.9.9.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

SphinxClient::setRetries
SphinxClient::setServer
SphinxClient


Set searchd host and port

SphinxClient::setSelect
SphinxClient::setSortMode
SphinxClient
PHP Manual

SphinxClient::setServer

(PECL sphinx >= 0.1.0)

SphinxClient::setServer — Set searchd host and port

Descripción

public bool SphinxClient::setServer ( string $server , int $port )

Sets searchd host name and TCP port. All subsequent requests will use the new host and port settings. Default host and port are 'localhost' and 3312, respectively.

Parámetros

server

IP or hostname.

port

Port number.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

SphinxClient::setSelect
SphinxClient::setSortMode
SphinxClient


Set matches sorting mode

SphinxClient::setServer
SphinxClient::status
SphinxClient
PHP Manual

SphinxClient::setSortMode

(PECL sphinx >= 0.1.0)

SphinxClient::setSortMode — Set matches sorting mode

Descripción

public bool SphinxClient::setSortMode ( int $mode [, string $sortby ] )

Sets matches sorting mode. See available modes below.

Sorting modes
Constant | Description
SPH_SORT_RELEVANCE | Sort by relevance in descending order (best matches first).
SPH_SORT_ATTR_DESC | Sort by an attribute in descending order (bigger attribute values first).
SPH_SORT_ATTR_ASC | Sort by an attribute in ascending order (smaller attribute values first).
SPH_SORT_TIME_SEGMENTS | Sort by time segments (last hour/day/week/month) in descending order, and then by relevance in descending order.
SPH_SORT_EXTENDED | Sort by SQL-like combination of columns in ASC/DESC order.
SPH_SORT_EXPR | Sort by an arithmetic expression.

Parámetros

mode

Sorting mode.

sortby

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • SphinxClient::setMatchMode
  • SphinxClient::setSortMode

SphinxClient::setServer
SphinxClient::status
SphinxClient


Queries searchd status

SphinxClient::setSortMode
SphinxClient::updateAttributes
SphinxClient
PHP Manual

SphinxClient::status

(PECL sphinx >= 1.0.3)

SphinxClient::status — Queries searchd status

Descripción

public array SphinxClient::status ( void )

Queries searchd status, and returns an array of status variable name and value pairs.

Parámetros

Esta función no tiene parámetros.

Historial de cambios

PECL/sphinx Versión | Descripción
1.0.3 | Added SphinxClient::status(), available only if compiled with libsphinxclient >= 0.9.9.

Valores devueltos

Returns an associative array of search server statistics o FALSE en caso de error.

SphinxClient::setSortMode
SphinxClient::updateAttributes
SphinxClient


Actualizar los atributos del documento

SphinxClient::status
Swish
SphinxClient
PHP Manual

SphinxClient::updateAttributes

(PECL sphinx >= 0.1.0)

SphinxClient::updateAttributes — Actualizar los atributos del documento

Descripción

public int SphinxClient::updateAttributes ( string $index , array $attributes , array $values [, bool $mva = false ] )

Actualiza al instante valores de los atributos en documentos dados.

Parámetros

index

Nombre del índice (o índices) para ser actualizado.

attributes

Array de nombres de atributos, lista de atributos que van a ser actualizados.

values

Array asociativo que contiene los ID de documento como claves y array de valores de los atributos como valores.

Valores devueltos

Devuelve el número de documentos actualizados (0 o más) en caso de éxito, o FALSE en caso de error.

SphinxClient::status
Swish
SphinxClient


Indexación Swish

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Uso básico
  • Funciones Swish
    • Swish::__construct — Construye un nuevo objeto Swish
    • Swish::getMetaList — Obtener la lista de meta entradas para el índice
    • Swish::getPropertyList — Obtener la lista de propiedades para el índice
    • Swish::prepare — Preparar una consulta de búsqueda
    • Swish::query — Realizar una consulta y devolver el objeto de resultados
    • SwishResult::getMetaList — Obtiene una lista de entradas meta
    • SwishResult::stem — Reduce una palabra dada a su lexema (raíz)
    • SwishResults::getParsedWords — Obtener un array de palabras irrelevantes
    • SwishResults::getRemovedStopwords — Obtener un array de palabras irrelevantes de la consulta
    • SwishResults::nextResult — Obtener el siguiente resultado de la búsqueda
    • SwishResults::seekResult — Establecer el actual puntero de búsqueda a la posición dada
    • SwishSearch::execute — Ejecutar la búsqueda y obtener los resultados
    • SwishSearch::resetLimit — Restablecer los límites de búsqueda
    • SwishSearch::setLimit — Establecer los límites de la búsqueda
    • SwishSearch::setPhraseDelimiter — Establecer delimitador de frase
    • SwishSearch::setSort — Establecer el tipo de orden
    • SwishSearch::setStructure — Establecer el indicador de estructura en el objeto de la búsqueda
SphinxClient::updateAttributes
Introducción
Extensiones para motores de búsqueda


Introducción

La extensión swish proporciona los enlaces para la API Swish-e. Swish-e proviene de "Simple Web Indexing System for Humans - Enhanced" y es un sistema de código abierto de indexación y búsqueda. Swish-e está disponible bajo licencia GPL, pero utiliza una cláusula que permite a las aplicaciones vincular nuevamente la biblioteca si todas las copias del conjunto de trabajo va acompañada de la URL en el código fuente Swish-e. Aquí lo tiene: » http://swish-e.org.

Advertencia

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombres de sus funciones y todo lo documentado sobre esta extensión, puede cambiar en una futura edición de PHP sin previo aviso. El uso de esta extensión queda bajo su propia responsabilidad.

Swish
Instalación/Configuración
Swish


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Swish


Requerimientos

PECL/swish requiere PHP 5.1.3 o superior.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/swish.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Swish::META_TYPE_UNDEF (integer)
Swish::META_TYPE_STRING (integer)
Swish::META_TYPE_ULONG (integer)
Swish::META_TYPE_DATE (integer)
Swish::IN_FILE_BIT (integer)
Swish::IN_TITLE_BIT (integer)
Swish::IN_HEAD_BIT (integer)
Swish::IN_BODY_BIT (integer)
Swish::IN_COMMENTS_BIT (integer)
Swish::IN_HEADER_BIT (integer)
Swish::IN_EMPHASIZED_BIT (integer)
Swish::IN_META_BIT (integer)
Swish::IN_FILE (integer)
Swish::IN_TITLE (integer)
Swish::IN_HEAD (integer)
Swish::IN_BODY (integer)
Swish::IN_COMMENTS (integer)
Swish::IN_HEADER (integer)
Swish::IN_EMPHASIZED (integer)
Swish::IN_META (integer)
Swish::IN_ALL (integer)
Tipos de recursos
Ejemplos
Swish


Ejemplos

Tabla de contenidos

  • Uso básico
Constantes predefinidas
Uso básico
Swish


Uso básico

Ejemplo #1 Consulta de búsqueda básica

<?php

try {

    $swish = new Swish("index.swish-e");
    $results = $swish->query("test OR text");

    echo "Found ", $results->hits, " results\n";
    while ($result = $results->nextResult()) {
        var_dump($result);
        break; //break después del primer resultado
    }

} catch (SwishException $e) {
    echo "Error: ", $e->getMessage(), "\n";
}

?>

El resultado del ejemplo sería algo similar a:

Found 9 results
object(SwishResult)#3 (8) {
  ["swishreccount"]=>
  int(1)
  ["swishrank"]=>
  int(1000)
  ["swishfilenum"]=>
  int(10)
  ["swishdbfile"]=>
  string(13) "index.swish-e"
  ["swishdocpath"]=>
  string(23) "README.SUBMITTING_PATCH"
  ["swishtitle"]=>
  NULL
  ["swishdocsize"]=>
  int(4557)
  ["swishlastmodified"]=>
  int(1072136752)
}
Ejemplos
Funciones Swish
Ejemplos


Funciones Swish

Tabla de contenidos

  • Swish::__construct — Construye un nuevo objeto Swish
  • Swish::getMetaList — Obtener la lista de meta entradas para el índice
  • Swish::getPropertyList — Obtener la lista de propiedades para el índice
  • Swish::prepare — Preparar una consulta de búsqueda
  • Swish::query — Realizar una consulta y devolver el objeto de resultados
  • SwishResult::getMetaList — Obtiene una lista de entradas meta
  • SwishResult::stem — Reduce una palabra dada a su lexema (raíz)
  • SwishResults::getParsedWords — Obtener un array de palabras irrelevantes
  • SwishResults::getRemovedStopwords — Obtener un array de palabras irrelevantes de la consulta
  • SwishResults::nextResult — Obtener el siguiente resultado de la búsqueda
  • SwishResults::seekResult — Establecer el actual puntero de búsqueda a la posición dada
  • SwishSearch::execute — Ejecutar la búsqueda y obtener los resultados
  • SwishSearch::resetLimit — Restablecer los límites de búsqueda
  • SwishSearch::setLimit — Establecer los límites de la búsqueda
  • SwishSearch::setPhraseDelimiter — Establecer delimitador de frase
  • SwishSearch::setSort — Establecer el tipo de orden
  • SwishSearch::setStructure — Establecer el indicador de estructura en el objeto de la búsqueda
Uso básico
Swish::__construct
Swish


Construye un nuevo objeto Swish

Funciones Swish
Swish::getMetaList
Funciones Swish
PHP Manual

Swish::__construct

(PECL swish >= 0.1.0)

Swish::__construct — Construye un nuevo objeto Swish

Descripción

void Swish::__construct ( string $index_names )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

index_names

La lista de índice de ficheros separados por espacios.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Lanza una SwishException en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de Swish::__construct()

<?php

try {
    $swish = new Swish("index1 index2");
} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

foreach ($swish->indexes as $index) {
    var_dump($index["name"]);
    var_dump($index["headers"]["Total Words"]);
}

?>

El resultado del ejemplo sería algo similar a:

string(6) "index1"
int(1888)
string(6) "index2"
int(2429)

Funciones Swish
Swish::getMetaList
Funciones Swish


Obtener la lista de meta entradas para el índice

Swish::__construct
Swish::getPropertyList
Funciones Swish
PHP Manual

Swish::getMetaList

(PECL swish >= 0.1.0)

Swish::getMetaList — Obtener la lista de meta entradas para el índice

Descripción

array Swish::getMetaList ( string $index_name )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

index_name

El nombre del archivo índice.

Valores devueltos

Devuelve un array de meta entradas para el índice dado.

Ejemplos

Ejemplo #1 Ejemplo básico de Swish::getMetaList()

<?php

try {

    $swish = new Swish("index.swish-e");
    var_dump($swish->getMetaList("index.swish-e"));

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

El resultado del ejemplo sería algo similar a:

array(1) {
  [0]=>
  array(3) {
    ["Name"]=>
    string(12) "swishdefault"
    ["Type"]=>
    int(0)
    ["ID"]=>
    int(1)
  }
}

Swish::__construct
Swish::getPropertyList
Funciones Swish


Obtener la lista de propiedades para el índice

Swish::getMetaList
Swish::prepare
Funciones Swish
PHP Manual

Swish::getPropertyList

(PECL swish >= 0.1.0)

Swish::getPropertyList — Obtener la lista de propiedades para el índice

Descripción

array Swish::getPropertyList ( string $index_name )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

index_name

El nombre del archivo índice.

Valores devueltos

Devuelve un array de propiedades para el índice dado.

Ejemplos

Ejemplo #1 Ejemplo básico de Swish::getPropertyList()

<?php

try {

    $swish = new Swish("index.swish-e");
    $properties = $swish->getPropertyList("index.swish-e");
    foreach ($properties as $prop) {
        echo $prop["Name"],"\n";
    }

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

El resultado del ejemplo sería algo similar a:

swishreccount
swishrank
swishfilenum
swishdbfile
swishdocpath
swishtitle
swishdocsize
swishlastmodified

Swish::getMetaList
Swish::prepare
Funciones Swish


Preparar una consulta de búsqueda

Swish::getPropertyList
Swish::query
Funciones Swish
PHP Manual

Swish::prepare

(PECL swish >= 0.1.0)

Swish::prepare — Preparar una consulta de búsqueda

Descripción

object Swish::prepare ([ string $query ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Prepara y devuelve un objeto búsqueda, que luego puede utilizar para un número ilimitado de consultas.

Parámetros

query

Cadena de consulta opcional. La consulta también puede establecerse con el método SwishSearch::execute().

Valores devueltos

Devuelve objeto SwishSearch.

Errores/Excepciones

Lanza SwishException en caso de error.

Ejemplos

Ejemplo #1 Ejemplo básico de Swish::prepare()

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare("search query");
    $results = $search->execute();
    echo "Found: ", $results->hits, " hits\n";

    $results = $search->execute("new search");

    echo "Found: ", $results->hits, " hits\n";
} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

El resultado del ejemplo sería algo similar a:

Found: 2 hits
Found: 5 hits

Swish::getPropertyList
Swish::query
Funciones Swish


Realizar una consulta y devolver el objeto de resultados

Swish::prepare
SwishResult::getMetaList
Funciones Swish
PHP Manual

Swish::query

(PECL swish >= 0.1.0)

Swish::query — Realizar una consulta y devolver el objeto de resultados

Descripción

object Swish::query ( string $query )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Un método rápido para realizar una búsqueda con parámetros por omisión.

Parámetros

query

string de la consulta.

Valores devueltos

Devuelve un objeto SwishResults.

Errores/Excepciones

Lanza una SwishException en caso de error.

Ejemplos

Ejemplo #1 Ejemplo básico de Swish::query()

<?php

try {

    $swish = new Swish("index.swish-e");
    $results = $swish->query("test query");

    echo "Encontradas: ", $results->hits, " visitas\n";

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

El resultado del ejemplo sería algo similar a:

Encontradas: 1 visitas

Swish::prepare
SwishResult::getMetaList
Funciones Swish


Obtiene una lista de entradas meta

Swish::query
SwishResult::stem
Funciones Swish
PHP Manual

SwishResult::getMetaList

(PECL swish >= 0.1.0)

SwishResult::getMetaList — Obtiene una lista de entradas meta

Descripción

array SwishResult::getMetaList ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Valores devueltos

Devuelve el mismo array como swish::getmetalist(), pero usa el índice de fichero de el manejador de resultado.

Swish::query
SwishResult::stem
Funciones Swish


Reduce una palabra dada a su lexema (raíz)

SwishResult::getMetaList
SwishResults::getParsedWords
Funciones Swish
PHP Manual

SwishResult::stem

(PECL swish >= 0.1.0)

SwishResult::stem — Reduce una palabra dada a su lexema (raíz)

Descripción

array SwishResult::stem ( string $word )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Obtiene el lexema (la raíz) de la palabra desde el índice previamente generado usando el modo difuso (fuzzy mode). Cada objeto resultado está relacionado con su índice, así los resultados se basan en este índice.

Parámetros

word

La palabra a reducir.

Valores devueltos

Devuelve un array que contiene las palabras variantes reducidas a su lexema (por lo general sólo una).

Errores/Excepciones

Lanza SwishException en caso de error.

Ejemplos

Ejemplo #1 Ejemplo básico de SwishResult::stem()

<?php

try {

    $swish = new Swish("ext/swish/tests/index.swish-e");
    $results = $swish->query("testing OR others");

    if ($result = $results->nextResult()) {
        var_dump($result->stem("testing")); //los resultados dependen totalmente de el analizador lingüistico utilizado
        var_dump($result->stem("others"));
    }

} catch (SwishException $e) {
    echo "Error: ", $e->getMessage(), "\n";
}

?>

El resultado del ejemplo sería algo similar a:

array(1) {
  [0]=>
  string(4) "test"
}
array(1) {
  [0]=>
  string(5) "other"
}

SwishResult::getMetaList
SwishResults::getParsedWords
Funciones Swish


Obtener un array de palabras irrelevantes

SwishResult::stem
SwishResults::getRemovedStopwords
Funciones Swish
PHP Manual

SwishResults::getParsedWords

(PECL swish >= 0.1.0)

SwishResults::getParsedWords — Obtener un array de palabras irrelevantes

Descripción

array SwishResults::getParsedWords ( string $index_name )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

indexi_name

EL nombre del índice utilizado para inicializar el objeto Swish.

Valores devueltos

Un array de palabras irrelevantes eliminadas. La lista de palabras irrelevantes puede ser útil para destacar términos de búsqueda en los resultados.

Ejemplos

Ejemplo #1 Ejemplo básico de SwishResults::getParsedWords()

<?php

try {

    $swish = new Swish("index.swish-e");
    $results = $swish->query("'some characters' and numbers");

    var_dump($results->getParsedWords("index.swish-e"));
    var_dump($results->indexes[0]['parsed_words']); //mismo resultado de forma diferente

} catch (SwishException $e) {
    echo "Error: ", $e->getMessage(), "\n";
}

?>

El resultado del ejemplo sería algo similar a:

array(4) {
  [0]=>
  string(4) "some"
  [1]=>
  string(10) "characters"
  [2]=>
  string(3) "and"
  [3]=>
  string(7) "numbers"
}
array(4) {
  [0]=>
  string(4) "some"
  [1]=>
  string(10) "characters"
  [2]=>
  string(3) "and"
  [3]=>
  string(7) "numbers"
}

SwishResult::stem
SwishResults::getRemovedStopwords
Funciones Swish


Obtener un array de palabras irrelevantes de la consulta

SwishResults::getParsedWords
SwishResults::nextResult
Funciones Swish
PHP Manual

SwishResults::getRemovedStopwords

(PECL swish >= 0.1.0)

SwishResults::getRemovedStopwords — Obtener un array de palabras irrelevantes de la consulta

Descripción

array SwishResults::getRemovedStopwords ( string $index_name )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

index_name

El nombre del índice utilizado para inicializar el objeto Swish.

Valores devueltos

Devuelve un array de palabras irrelevantes eliminadas de la consulta.

SwishResults::getParsedWords
SwishResults::nextResult
Funciones Swish


Obtener el siguiente resultado de la búsqueda

SwishResults::getRemovedStopwords
SwishResults::seekResult
Funciones Swish
PHP Manual

SwishResults::nextResult

(PECL swish >= 0.1.0)

SwishResults::nextResult — Obtener el siguiente resultado de la búsqueda

Descripción

object SwishResults::nextResult ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Valores devueltos

Devuelve el siguiente objeto SwishResult en el conjunto de resultados o FALSE si no hay más resultados disponibles.

Ejemplos

Ejemplo #1 Un ejemplo básico de SwishResults::nextResult()

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("lost");
    while($result = $results->nextResult()) {
        /* hacer algo con el objeto resultado */
    }

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

SwishResults::getRemovedStopwords
SwishResults::seekResult
Funciones Swish


Establecer el actual puntero de búsqueda a la posición dada

SwishResults::nextResult
SwishSearch::execute
Funciones Swish
PHP Manual

SwishResults::seekResult

(PECL swish >= 0.1.0)

SwishResults::seekResult — Establecer el actual puntero de búsqueda a la posición dada

Descripción

int SwishResults::seekResult ( int $position )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

position

Posición numérica en base cero. No puede ser menor que cero.

Valores devueltos

Devuelve el valor de la nueva posición en caso de éxito.

Errores/Excepciones

Lanza SwishException en caso de error.

Ejemplos

Ejemplo #1 Ejemplo básico de SwishResults::seekResult()

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("lost");

    var_dump($results->seekResult(0)); //tendrá éxito
    var_dump($results->seekResult(100)); //producirá un error

} catch (SwishException $e) {
    echo "Error: ", $e->getMessage(), "\n";
}

?>

El resultado del ejemplo sería algo similar a:

int(0)
Error: No more results

SwishResults::nextResult
SwishSearch::execute
Funciones Swish


Ejecutar la búsqueda y obtener los resultados

SwishResults::seekResult
SwishSearch::resetLimit
Funciones Swish
PHP Manual

SwishSearch::execute

(PECL swish >= 0.1.0)

SwishSearch::execute — Ejecutar la búsqueda y obtener los resultados

Descripción

object SwishSearch::execute ([ string $query ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Busca el archivo de índice(s) basados en los parámetros establecidos en el objeto de la búsqueda.

Parámetros

query

La cadena de consulta es un parámetro opcional, que también puede ser establecida con el método Swish::prepare(). La cadena de consulta se conserva entre las ejecuciones, así que puede establecer esta una vez, pero ejecutar la búsqueda multiples veces.

Valores devueltos

Devuelve objeto SwishResults.

Errores/Excepciones

Lanza SwishException en caso de error.

Ejemplos

Ejemplo #1 Ejemplo básico de SwishSearch::execute()

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("query");
    echo "First query found: ", $results->hits, " hits\n";

    $results = $search->execute("new OR query");
    echo "Second query found: ", $results->hits, " hits\n";

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

El resultado del ejemplo sería algo similar a:

First query found: 2 hits
Second query found: 12 hits

SwishResults::seekResult
SwishSearch::resetLimit
Funciones Swish


Restablecer los límites de búsqueda

SwishSearch::execute
SwishSearch::setLimit
Funciones Swish
PHP Manual

SwishSearch::resetLimit

(PECL swish >= 0.1.0)

SwishSearch::resetLimit — Restablecer los límites de búsqueda

Descripción

void SwishSearch::resetLimit ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Restablece los límites de búsqueda previamente establecidos por SwishSearch::setLimit.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo básico de SwishSearch::resetLimit()

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("time");
    echo "First query found: ", $results->hits, " hits\n";

    $search->setLimit("swishdocsize", "3000", "6000"); //límite de tamaño del documento, desde 3000 hasta 6000 bytes
    $results = $search->execute("time");
    echo "Second query found: ", $results->hits, " hits\n";

    $search->resetLimit();
    $results = $search->execute("time");
    echo "Third query found: ", $results->hits, " hits\n";

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

El resultado del ejemplo sería algo similar a:

First query found: 5 hits
Second query found: 2 hits
Third query found: 5 hits

SwishSearch::execute
SwishSearch::setLimit
Funciones Swish


Establecer los límites de la búsqueda

SwishSearch::resetLimit
SwishSearch::setPhraseDelimiter
Funciones Swish
PHP Manual

SwishSearch::setLimit

(PECL swish >= 0.1.0)

SwishSearch::setLimit — Establecer los límites de la búsqueda

Descripción

void SwishSearch::setLimit ( string $property , string $low , string $high )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

property

Resultado búsqueda nombre propiedad.

low

El menor valor de la propiedad.

high

El mayor valor de la propiedad.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Lanza SwishException en caso de error.

Ejemplos

Ejemplo #1 Ejemplo básico de SwishSearch::setLimit()

<?php
try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("time");
    echo "First query found: ", $results->hits, " hits\n";

    $i = 0;
    while($result = $results->nextResult()) {
        echo "Hit #", ++$i, " - ", $result->swishdocsize, " bytes\n";
    }

    $search->setLimit("swishdocsize", "3000", "6000"); //límite de tamaño del documento, desde 3000 hasta 6000 bytes
    $results = $search->execute("time");
    echo "Second query found: ", $results->hits, " hits\n";

    $i = 0;
    while($result = $results->nextResult()) {
        echo "Hit #", ++$i, " - ", $result->swishdocsize, " bytes\n";
    }

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

El resultado del ejemplo sería algo similar a:

First query found: 5 hits
Hit #1 - 4261 bytes
Hit #2 - 37937 bytes
Hit #3 - 7126 bytes
Hit #4 - 15427 bytes
Hit #5 - 4768 bytes
Second query found: 2 hits
Hit #1 - 4261 bytes
Hit #2 - 4768 bytes

SwishSearch::resetLimit
SwishSearch::setPhraseDelimiter
Funciones Swish


Establecer delimitador de frase

SwishSearch::setLimit
SwishSearch::setSort
Funciones Swish
PHP Manual

SwishSearch::setPhraseDelimiter

(PECL swish >= 0.1.0)

SwishSearch::setPhraseDelimiter — Establecer delimitador de frase

Descripción

void SwishSearch::setPhraseDelimiter ( string $delimiter )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

delimiter

Caracter delimitador de frase. El delimitador por defecto es comillas dobles.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo básico de SwishSearch::setPhraseDelimiter() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute('"every time"'); //buscando "every time"
    echo "First query found: ", $results->hits, " hits\n";

    $search->setPhraseDelimiter("'");
    $results = $search->execute("'every time'"); //la misma consulta, pero utilizando diferentes delimitadores
    echo "Second query found: ", $results->hits, " hits\n";

    $search->setPhraseDelimiter('"');
    $results = $search->execute("'every time'"); //buscando "every" y "time"
    echo "Third query found: ", $results->hits, " hits\n";

    //let's look at parsed words
    var_dump($results->getParsedWords("index.swish-e"));

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

El resultado del ejemplo sería algo similar a:

First query found: 1 hits
Second query found: 1 hits
Third query found: 2 hits
array(2) {
  [0]=>
  string(5) "every"
  [1]=>
  string(4) "time"
}

SwishSearch::setLimit
SwishSearch::setSort
Funciones Swish


Establecer el tipo de orden

SwishSearch::setPhraseDelimiter
SwishSearch::setStructure
Funciones Swish
PHP Manual

SwishSearch::setSort

(PECL swish >= 0.1.0)

SwishSearch::setSort — Establecer el tipo de orden

Descripción

void SwishSearch::setSort ( string $sort )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

sort

El orden de clasificación de los resultados es una cadena que contiene nombre de un resultado propiedad combinado con la dirección de ordenación ("asc" o "desc"). Ejemplos: "swishrank desc", "swishdocpath asc", "swishtitle asc", "swishdocsize desc", "swishlastmodified desc" etc.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo básico de SwishSearch::setSort()

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("time");
    echo "First query found: ", $results->hits, " hits\n";

    $i = 0;
    while($result = $results->nextResult()) {
        echo "Hit #", ++$i, " - ", $result->swishdocsize, " bytes\n";
    }

    $search->setSort("swishdocsize desc"); //ordenar por tamaño del documento
    $results = $search->execute("time");
    echo "Second query found: ", $results->hits, " hits\n";

    $i = 0;
    while($result = $results->nextResult()) {
        echo "Hit #", ++$i, " - ", $result->swishdocsize, " bytes\n";
    }

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

El resultado del ejemplo sería algo similar a:

First query found: 5 hits
Hit #1 - 4261 bytes
Hit #2 - 37937 bytes
Hit #3 - 7126 bytes
Hit #4 - 15427 bytes
Hit #5 - 4768 bytes
Second query found: 5 hits
Hit #1 - 37937 bytes
Hit #2 - 15427 bytes
Hit #3 - 7126 bytes
Hit #4 - 4768 bytes
Hit #5 - 4261 bytes

SwishSearch::setPhraseDelimiter
SwishSearch::setStructure
Funciones Swish


Establecer el indicador de estructura en el objeto de la búsqueda

SwishSearch::setSort
Extensiones específicas para Servidores
Funciones Swish
PHP Manual

SwishSearch::setStructure

(PECL swish >= 0.1.0)

SwishSearch::setStructure — Establecer el indicador de estructura en el objeto de la búsqueda

Descripción

void SwishSearch::setStructure ( int $structure )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

structure

El indicador de estrucutura es una máscara de bits que se utiliza para limitar la búsqueda a ciertas partes de los documentos HTML (tales como title, meta, body etc.). Sus valores posibles son listados a continuación. Para combinar varios valores utilice el operador a nivel de bit OR, véase el siguiente ejemplo.

  • Swish::IN_FILE

  • Swish::IN_TITLE

  • Swish::IN_HEAD

  • Swish::IN_BODY

  • Swish::IN_COMMENTS

  • Swish::IN_HEADER

  • Swish::IN_EMPHASIZED

  • Swish::IN_META

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo básico de SwishSearch::setStructure()

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("time");
    echo "First query found: ", $results->hits, " hits\n";

    $search->setStructure(Swish::IN_TITLE|Swish::IN_HEAD); //buscar en title y head
    $results = $search->execute("time");
    echo "Second query found: ", $results->hits, " hits\n";

    $search->setStructure(Swish::IN_ALL); //buscar en todo el documento, el valor por defecto
    $results = $search->execute("time");
    echo "Third query found: ", $results->hits, " hits\n";

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

El resultado del ejemplo sería algo similar a:

First query found: 5 hits
Second query found: 0 hits
Third query found: 5 hits

SwishSearch::setSort
Extensiones específicas para Servidores
Funciones Swish


Extensiones específicas para Servidores

  • Apache
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de Apache
  • FastCGI Process Manager
    • Introducción
    • Instalación/Configuración
    • FPM Funciones
  • IIS — Administración de IIS
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de IIS
  • NSAPI
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de NSAPI
SwishSearch::setStructure
Apache
Referencia de funciones


Apache

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de Apache
    • apache_child_terminate — Finaliza un proceso de Apache después de esta llamada
    • apache_get_modules — Obtiene una lista de los módulos cargados en el servidor Apache
    • apache_get_version — Obtiene la versión del servidor Apache
    • apache_getenv — Obtiene una variable del entorno subprocess_env de Apache
    • apache_lookup_uri — Realiza una petición parcial por la URI especificada y devuelve toda la información sobre ella
    • apache_note — Obtiene y establece las notas de petición de apache
    • apache_request_headers — Obtiene todas las cabeceras HTTP
    • apache_reset_timeout — Restaura el temporizador de Apache
    • apache_response_headers — Obtiene todas las cabeceras HTTP de respuesta
    • apache_setenv — Establece una variable subprocess_env de Apache
    • getallheaders — Recupera todas las cabeceras de petición HTTP
    • virtual — Realiza una sub-petición de Apache
Extensiones específicas para Servidores
Introducción
Extensiones específicas para Servidores


Introducción

Estas funciones sólo están disponibles cuando se ejecuta PHP como módulo de Apache.

Nota: A partir de PHP 4.3.2, PATH_TRANSLATED ya no se establece implícitamente bajo la SAPI de Apache 2, en contraste a la situación en Apache 1, donde se establece al mismo valor que tiene la variable del servidor SCRIPT_FILENAME cuando no es establecida por Apache. Este cambio fue introducido para cumplir con la especificación de CGI de que PATH_TRANSLATED debe existir únicamente si PATH_INFO está definido. Los usuarios de Apache 2 pueden usar AcceptPathInfo = On dentro de httpd.conf para definir PATH_INFO.

Apache
Instalación/Configuración
Apache


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Apache


Instalación

Para instalar PHP en Apache, vea el capítulo de instalación.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento del módulo de PHP de Apache está regido por los valores definidos en php.ini. Estos valores de configuración definidos en php.ini pueden ser sobreescritos por la configuración del php_flag definidos en el fichero de configuración del servidor o por los ficheros .htaccess locales.

Ejemplo #1 Desactivar el intérprete de PHP en un directorio utilizando .htaccess

php_flag engine off

Opciones de configuración de Apache
Nombre | Por defecto | Cambiable | Historial de cambios
engine | "1" | PHP_INI_ALL | Disponible desde PHP 4.0.5.
child_terminate | "0" | PHP_INI_ALL | Disponible desde PHP 4.0.5.
last_modified | "0" | PHP_INI_ALL | Disponible desde PHP 4.0.5.
xbithack | "0" | PHP_INI_ALL | Disponible desde PHP 4.0.5.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

engine boolean

Activa o desactiva la ejecución de PHP. Esta directiva se puede utilizar sólo en la versión de PHP como módulo de Apache. Se usa en los sitios que deseen controlar la activación o desactivación del PHP en cada directorio o servidor virtual. Al establecer engine off en los lugares apropiados en el archivo httpd.conf, PHP puede ser activado o desactivado.

child_terminate boolean

Especifica si los scripts PHP pueden solicitar la finalización de los procesos hijos al finalizar la petición, véase también apache_child_terminate().

last_modified boolean

Envía la fecha de modificación de los scripts PHP con la cabecera 'Last-Modified:' para estas peticiones.

xbithack boolean

Analiza los ficheros con bit de ejecución establecido para PHP, con independencia de la extensión del fichero

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Funciones de Apache
Apache


Funciones de Apache

Tabla de contenidos

  • apache_child_terminate — Finaliza un proceso de Apache después de esta llamada
  • apache_get_modules — Obtiene una lista de los módulos cargados en el servidor Apache
  • apache_get_version — Obtiene la versión del servidor Apache
  • apache_getenv — Obtiene una variable del entorno subprocess_env de Apache
  • apache_lookup_uri — Realiza una petición parcial por la URI especificada y devuelve toda la información sobre ella
  • apache_note — Obtiene y establece las notas de petición de apache
  • apache_request_headers — Obtiene todas las cabeceras HTTP
  • apache_reset_timeout — Restaura el temporizador de Apache
  • apache_response_headers — Obtiene todas las cabeceras HTTP de respuesta
  • apache_setenv — Establece una variable subprocess_env de Apache
  • getallheaders — Recupera todas las cabeceras de petición HTTP
  • virtual — Realiza una sub-petición de Apache
Constantes predefinidas
apache_child_terminate
Apache


Finaliza un proceso de Apache después de esta llamada

Funciones de Apache
apache_get_modules
Funciones de Apache
PHP Manual

apache_child_terminate

(PHP 4 >= 4.0.5, PHP 5)

apache_child_terminate — Finaliza un proceso de Apache después de esta llamada

Descripción

bool apache_child_terminate ( void )

apache_child_terminate() registrará el proceso Apache que esté ejecutando el requerimiento PHP actual para su finalización una vez que la ejecución del código haya finalizado. Puede ser utilizado para finalizar un proceso una vez que un script con un alto consumo de memoria haya sido ejecutado, dado que la memoria únicamente será liberada de forma interna, pero no será devuelta al sistema operativo.

Valores devueltos

Devuelve TRUE si PHP está corriendo como módulo de Apache 1, la versión de Apache no es multi-hilo, y la directiva de PHP child_terminate está activada (desactivada por defecto). Si estas condiciones no se cumplen, se devuelve FALSE y se genera un error de nivel E_WARNING.

Historial de cambios

Versión | Descripción
5.4.0 | Esta función está disponible bajo FastCGI. Anteriormente, estaba soportada solo cuando había sido instalado un módulo PHP en Apache.

Notas

Nota: Esta función no está implementada en plataformas Windows.

Ver también

  • exit() - Imprime un mensaje y termina el script actual

Funciones de Apache
apache_get_modules
Funciones de Apache


Obtiene una lista de los módulos cargados en el servidor Apache

apache_child_terminate
apache_get_version
Funciones de Apache
PHP Manual

apache_get_modules

(PHP 4 >= 4.3.2, PHP 5)

apache_get_modules — Obtiene una lista de los módulos cargados en el servidor Apache

Descripción

array apache_get_modules ( void )

Obtiene una lista de los módulos cargados en el servidor Apache

Valores devueltos

Devuelve un array con la lista de los módulos cargados.

Historial de cambios

Versión | Descripción
5.0.0 | Ahora es posible usar Apache 1 o la API de los filtros de Apache 2. Antes, sólo estaba disponible para la API de los manejadores de Apache 2.

Ejemplos

Ejemplo #1 Ejemplo de apache_get_modules()

<?php
print_r(apache_get_modules());
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => core
    [1] => http_core
    [2] => mod_so
    [3] => sapi_apache2
    [4] => mod_mime
    [5] => mod_rewrite
)

apache_child_terminate
apache_get_version
Funciones de Apache


Obtiene la versión del servidor Apache

apache_get_modules
apache_getenv
Funciones de Apache
PHP Manual

apache_get_version

(PHP 4 >= 4.3.2, PHP 5)

apache_get_version — Obtiene la versión del servidor Apache

Descripción

string apache_get_version ( void )

Obtiene la versión del servidor Apache.

Valores devueltos

Devuelve la versión del servidor Apache. o FALSE en caso de error.

Historial de cambios

Versión | Descripción
4.3.4 | Se añade soporte para Apache 1.
5.0.0 | Se añade soporte de la API de los filtros de Apache 2.

Ejemplos

Ejemplo #1 Ejemplo de apache_get_version()

<?php
$version = apache_get_version();
echo "$version\n";
?>

El resultado del ejemplo sería algo similar a:

Apache/1.3.29 (Unix) PHP/4.3.4

Ver también

  • phpinfo() - Muestra información sobre la configuración de PHP

apache_get_modules
apache_getenv
Funciones de Apache


Obtiene una variable del entorno subprocess_env de Apache

apache_get_version
apache_lookup_uri
Funciones de Apache
PHP Manual

apache_getenv

(PHP 4 >= 4.3.0, PHP 5)

apache_getenv — Obtiene una variable del entorno subprocess_env de Apache

Descripción

string apache_getenv ( string $variable [, bool $walk_to_top = false ] )

Recupera una variable del entorno de Apache especificada en el parámetro variable.

Esta función requiere el uso de Apache 2, ya que de otra forma no está definida.

Parámetros

variable

La variable del entorno de Apache.

walk_to_top

Indica si se tiene que obtener la variable superior (de más alto nivel) disponible en todos los niveles de Apache.

Valores devueltos

Si tiene éxito devuelve el valor de la variable del entorno de Apache, si falla devuelve FALSE.

Ejemplos

Ejemplo #1 Ejemplo de apache_getenv()

Este ejemplo muestra cómo obtener el valor de la variable SERVER_ADDR del entorno de ejecución de Apache.

<?php
$ret = apache_getenv("SERVER_ADDR");
echo $ret;
?>

El resultado del ejemplo sería algo similar a:

42.24.42.240

Ver también

  • apache_setenv() - Establece una variable subprocess_env de Apache
  • getenv() - Obtiene el valor de una variable de entorno
  • Superglobals

apache_get_version
apache_lookup_uri
Funciones de Apache


Realiza una petición parcial por la URI especificada y devuelve toda la información sobre ella

apache_getenv
apache_note
Funciones de Apache
PHP Manual

apache_lookup_uri

(PHP 4, PHP 5)

apache_lookup_uri — Realiza una petición parcial por la URI especificada y devuelve toda la información sobre ella

Descripción

object apache_lookup_uri ( string $filename )

Esta función realiza una petición parcial por una URI. Por si sola no es suficiente para obtener toda la información importante del recurso dado.

Esta función está soportada sólo cuando PHP está instalado como un módulo de Apache.

Parámetros

filename

El nombre de archivo (URI) que está siendo solicitado.

Valores devueltos

Un object con información de la URI solicitada. Las propiedades de este object son:

  • status
  • the_request
  • status_line
  • method
  • content_type
  • handler
  • uri
  • filename
  • path_info
  • args
  • boundary
  • no_cache
  • no_local_copy
  • allowed
  • send_bodyct
  • bytes_sent
  • byterange
  • clength
  • unparsed_uri
  • mtime
  • request_time

Ejemplos

Ejemplo #1 apache_lookup_uri() example

<?php
$info = apache_lookup_uri('index.php?var=value');
print_r($info);

if (file_exists($info->filename)) {
    echo 'file exists!';
}
?>

El resultado del ejemplo sería algo similar a:

stdClass Object
(
    [status] => 200
    [the_request] => GET /dir/file.php HTTP/1.1
    [method] => GET
    [mtime] => 0
    [clength] => 0
    [chunked] => 0
    [content_type] => application/x-httpd-php
    [no_cache] => 0
    [no_local_copy] => 1
    [unparsed_uri] => /dir/index.php?var=value
    [uri] => /dir/index.php
    [filename] => /home/htdocs/dir/index.php
    [args] => var=value
    [allowed] => 0
    [sent_bodyct] => 0
    [bytes_sent] => 0
    [request_time] => 1074282764
)
file exists!

apache_getenv
apache_note
Funciones de Apache


Obtiene y establece las notas de petición de apache

apache_lookup_uri
apache_request_headers
Funciones de Apache
PHP Manual

apache_note

(PHP 4, PHP 5)

apache_note — Obtiene y establece las notas de petición de apache

Descripción

string apache_note ( string $note_name [, string $note_value = "" ] )

Esta función es una envoltura para las instrucciones table_get y table_set de Apache. Edita las tablas de notas que existen durante una petición. El propósito de la tabla es permitir la comunicación entre módulos de Apache.

El principal uso de apache_note() es el paso de información desde un módulo a otro en el interior de la misma petición.

Parámetros

note_name

El nombre de la nota.

note_value

El valor de la nota.

Valores devueltos

Si es llamada con un argumento, devuelve el valor actual de la nota note_name. Si es llamada con dos argumentos, define el valor de la nota note_name to note_value y devuelve el valor previo de la nota note_name. Si la nota no puede ser recuperada, se devuelve FALSE.

Ejemplos

Ejemplo #1 Paso de información entre PHP y Perl

<?php

apache_note('name', 'Fredrik Ekengren');

// Llamada al script de Perl
virtual("/perl/some_script.pl");

$result = apache_note("resultdata");
?>
# Obtiene un objeto de petición de Apache
my $r = Apache->request()->main();

# Obtiene los datos pasados
my $name = $r->notes('name');

# ... proceso de los datos ...

# Devuelve el resultado a PHP
$r->notes('resultdata', $result);

Ejemplo #2 Registro de valores en access.log

<?php

apache_note('sessionID', session_id());

?>
# "%{sessionID}n" puede ser usado en la directiva LogFormat

Ver también

  • virtual() - Realiza una sub-petición de Apache

apache_lookup_uri
apache_request_headers
Funciones de Apache


Obtiene todas las cabeceras HTTP

apache_note
apache_reset_timeout
Funciones de Apache
PHP Manual

apache_request_headers

(PHP 4 >= 4.3.0, PHP 5)

apache_request_headers — Obtiene todas las cabeceras HTTP

Descripción

array apache_request_headers ( void )

Obtiene todas las cabeceras de petición HTTP de la llamada actual.

Valores devueltos

Devuelve un array asociativo de todas las cabeceras HTTP en la petición actual, o FALSE en caso de fallo.

Historial de cambios

Versión | Descripción
5.4.0 | Esta función está disponible sobre FastCGI. Anteriormente, sólo estaba soportada cuando PHP se instalaba como módulo de Apache.
4.3.3 | A partir de PHP 4.3.3 también se puede usar esta función con el módulo de servidor NSAPI en los navegadores Netscape/iPlanet/SunONE.

Ejemplos

Ejemplo #1 Ejemplo de apache_request_headers()

<?php
$headers = apache_request_headers();

foreach ($headers as $header => $value) {
    echo "$header: $value <br />\n";
}
?>

El resultado del ejemplo sería algo similar a:

Accept: */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0
Host: www.example.com
Connection: Keep-Alive

Notas

Nota:

También se puede obtener el valor de las variables CGI comunes a partir de las variables de entorno, lo cual funciona independientemente de que se esté utilizando PHP como un módulo de Apache. Use phpinfo() para ver la lista de todas las variables de entorno disponibles.

Ver también

  • apache_response_headers() - Obtiene todas las cabeceras HTTP de respuesta

apache_note
apache_reset_timeout
Funciones de Apache


Restaura el temporizador de Apache

apache_request_headers
apache_response_headers
Funciones de Apache
PHP Manual

apache_reset_timeout

(PHP 5 >= 5.1.0)

apache_reset_timeout — Restaura el temporizador de Apache

Descripción

bool apache_reset_timeout ( void )

apache_reset_timeout() estaura el temporizador de Apache, el cual tiene por defecto 300 segundos. Con set_time_limit(0); ignore_user_abort(true) y realizando llamadas periódicas apache_reset_timeout(), teóricamente Apache funciona para siempre.

Esta función requiere Apache 1.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota: Esta función no está disponible cuando PHP está corriendo en safe mode.

Ver también

  • set_time_limit() - Limita el tiempo máximo de ejecución
  • ignore_user_abort() - Establecer si la desconexión de un cliente debería abortar la ejecución del script

apache_request_headers
apache_response_headers
Funciones de Apache


Obtiene todas las cabeceras HTTP de respuesta

apache_reset_timeout
apache_setenv
Funciones de Apache
PHP Manual

apache_response_headers

(PHP 4 >= 4.3.0, PHP 5)

apache_response_headers — Obtiene todas las cabeceras HTTP de respuesta

Descripción

array apache_response_headers ( void )

Obtiene todas las cabeceras HTTP de respuesta.

Valores devueltos

Devuelve una matriz con todas las cabeceras de respuesta de Apache o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.4.0 | Esta función está disponible sobre FastCGI. Anteriormente, sólo estaba soportada cuando PHP se instalaba como módulo de Apache.
4.3.3 | A partir de PHP 4.3.3 también se puede usar esta función con el módulo de servidor NSAPI en los navegadores Netscape/iPlanet/SunONE.

Ejemplos

Ejemplo #1 apache_response_headers() example

<?php
print_r(apache_response_headers());
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [Accept-Ranges] => bytes
    [X-Powered-By] => PHP/4.3.8
)

Ver también

  • apache_request_headers() - Obtiene todas las cabeceras HTTP
  • headers_sent() - Comprueba si o donde han enviado cabeceras
  • headers_list() - Devuelve una lista de encabezados de respuesta enviados (o listos para enviar)

apache_reset_timeout
apache_setenv
Funciones de Apache


Establece una variable subprocess_env de Apache

apache_response_headers
getallheaders
Funciones de Apache
PHP Manual

apache_setenv

(PHP 4 >= 4.2.0, PHP 5)

apache_setenv — Establece una variable subprocess_env de Apache

Descripción

bool apache_setenv ( string $variable , string $value [, bool $walk_to_top = false ] )

apache_setenv() establece el valor de la variable de entorno de Apache especificado por variable.

Nota:

Al establecer una variable de entorno de Apache, la correspondiente variable $_SERVER no se modifica.

Parámetros

variable

La variable de entorno que se desea establecer.

value

El nuevo valor de variable.

walk_to_top

Indica si se va a establecer la variable de nivel superior disponible para todas las capas de Apache.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estableciendo una variable de entorno de Apache usando apache_setenv()

<?php
apache_setenv("VARIABLE_EJEMPLO", "Valor de ejemplo");
?>

Notas

Nota:

apache_setenv() puede ser utilizado con apache_getenv() en páginas separadas o para establecer variables para pasar Server Side Includes (.shtml) que hayan sido incluidos en sprits PHP.

Ver también

  • apache_getenv() - Obtiene una variable del entorno subprocess_env de Apache

apache_response_headers
getallheaders
Funciones de Apache


Recupera todas las cabeceras de petición HTTP

apache_setenv
virtual
Funciones de Apache
PHP Manual

getallheaders

(PHP 4, PHP 5)

getallheaders — Recupera todas las cabeceras de petición HTTP

Descripción

array getallheaders ( void )

Recupera todas las cabeceras HTTP de la petición actual.

Esta función es un alias de apache_request_headers(). Por favor lea la documentación de apache_request_headers() para obtener más información sobre cómo trabaja esta función.

Valores devueltos

Un array asociativo de todas las cabeceras HTTP en la petición actual, o FALSE en caso de fallo.

Historial de cambios

Versión | Descripción
5.4.0 | Esta función está disponible sobre FastCGI. Anteriormente, sólo estaba soportada cuando PHP se instalaba como módulo de Apache.
4.3.3 | A partir de PHP 4.3.3 también se puede usar esta función con el módulo de servidor NSAPI en los navegadores Netscape/iPlanet/SunONE.
4.3.0 | Se convierte en un alias de apache_request_headers(). Básicamente, fue renombrada. Esto se debe a que esta función solo trabaja con Apache.

Ejemplos

Ejemplo #1 Ejemplo de getallheaders()

<?php

foreach (getallheaders() as $nombre => $valor) {
    echo "$nombre: $valor\n";
}

?>

Ver también

  • apache_response_headers() - Obtiene todas las cabeceras HTTP de respuesta

apache_setenv
virtual
Funciones de Apache


Realiza una sub-petición de Apache

getallheaders
FastCGI Process Manager
Funciones de Apache
PHP Manual

virtual

(PHP 4, PHP 5)

virtual — Realiza una sub-petición de Apache

Descripción

bool virtual ( string $filename )

virtual() es una función específica de Apache que es similar a <!--#include virtual...--> en mod_include. Realiza una sub-petición de Apache. Es útil para incluir scripts CGI o archivos .shtml, o cualquier otra cosa que quisiera procesar a través de Apache. Note que para un script CGI, el script debe generar cabeceras CGI válidas. Esto quiere decir que, por lo menos, debe generar una cabecera Content-Type.

Para ejecutar la sub-petición, todos los búferes son terminados y volcados al navegador, y las cabeceras pendientes son enviadas también.

Esta función está soportada sólo cuando PHP está instalado como un módulo de Apache.

Parámetros

filename

El archivo sobre el que se efectuará el comando virtual.

Valores devueltos

Ejecuta el comando virtual en caso de éxito, o devuelve FALSE si ocurre un error.

Historial de cambios

Versión | Descripción
4.3.3 | A partir de PHP 4.3.3 también se puede usar esta función con el módulo de servidor NSAPI en los navegadores Netscape/iPlanet/SunONE.
4.0.6 | Esta función puede ser usada sobre archivos PHP. Sin embargo, usualmente es mejor usar include o require para ficheros PHP.

Ejemplos

Vea apache_note() para un ejemplo.

Notas

Advertencia

La cadena de petición puede ser pasada al archivo incluido pero la variable $_GET es copiada desde el script padre, y solo $_SERVER['QUERY_STRING'] se llena con la cadena de query pasada. Puede que la cadena query sólo pueda ser pasada cuando se usa Apache 2. El archivo solicitado no será listado en el archivo de registro (log) access de Apache.

Nota:

Las variables de entorno definidas en el archivo solicitado no están disponibles desde el script que hace el llamado.

Ver también

  • apache_note() - Obtiene y establece las notas de petición de apache

getallheaders
FastCGI Process Manager
Funciones de Apache


FastCGI Process Manager

  • Introducción
  • Instalación/Configuración
  • FPM Funciones
    • fastcgi_finish_request — Flushes all response data to the client
virtual
Introducción
Extensiones específicas para Servidores


Introducción

FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation with some additional features (mostly) useful for heavy-loaded sites.

This SAPI is bundled with PHP 5.3.3 and later.

FastCGI Process Manager
Instalación/Configuración
FastCGI Process Manager


Instalación/Configuración

Information on installing and configuring FPM can be found in the installation and configuration section of the PHP manual.

Introducción
FPM Funciones
FastCGI Process Manager


FPM Funciones

Tabla de contenidos

  • fastcgi_finish_request — Flushes all response data to the client
Instalación/Configuración
fastcgi_finish_request
FastCGI Process Manager


Flushes all response data to the client

FPM Funciones
IIS
FPM Funciones
PHP Manual

fastcgi_finish_request

(PHP 5 >= 5.3.3)

fastcgi_finish_request — Flushes all response data to the client

Descripción

boolean fastcgi_finish_request ( void )

This function flushes all response data to the client and finishes the request. This allows for time consuming tasks to be performed without leaving the connection to the client open.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

FPM Funciones
IIS
FPM Funciones


Administración de IIS

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de IIS
    • iis_add_server — Crea un nuevo servidor web virtual
    • iis_get_dir_security — Obtiene la Seguridad de Directorio
    • iis_get_script_map — Obtiene el mapeado de scripts en un directorio virtual para una extensión específica
    • iis_get_server_by_comment — Devuelve el número de instancia asociado con Comment
    • iis_get_server_by_path — Devuelve el número de instancia asociado con Path
    • iis_get_server_rights — Obtiene los derechos del servidor
    • iis_get_service_state — Devuelve es estado del servicio definido por ServiceId
    • iis_remove_server — Elimina el servidor web virtual indicado por ServerInstance
    • iis_set_app_settings — Crea un ámbito de aplicación para un directorio virtual
    • iis_set_dir_security — Establece la Seguridad de Directorio
    • iis_set_script_map — Establece el mapeado de scripts en un directorio virtual
    • iis_set_server_rights — Establece los derechos del servidor
    • iis_start_server — Inicia el servidor web virtual
    • iis_start_service — Inicia el servicio definido por ServiceId
    • iis_stop_server — Detiene el servidor virtual web
    • iis_stop_service — Detiene el servicio definido por ServiceId
fastcgi_finish_request
Introducción
Extensiones específicas para Servidores


Introducción

Esta extensión sólo está disponible para Win32. Proporciona funciones para administrar Microsoft Internet Information Server (IIS). La extensión incluye funciones para crear sitios web y directorios virtuales así como configurar la seguridad y el mapeado de scripts.

IIS
Instalación/Configuración
IIS


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
IIS


Instalación

Esta extensión se considera no mantenida y muerta. Sin embargo, el código fuente para esta extensión sigue estando disponible dentro de PECL SVN aquí: » http://svn.php.net/viewvc/pecl/iisfunc.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

IIS_READ (integer)
IIS_WRITE (integer)
IIS_EXECUTE (integer)
IIS_SCRIPT (integer)
IIS_ANONYMOUS (integer)
IIS_BASIC (integer)
IIS_NTLM (integer)
IIS_STARTING (integer)
IIS_STOPPED (integer)
IIS_PAUSED (integer)
IIS_RUNNING (integer)
Tipos de recursos
Funciones de IIS
IIS


Funciones de IIS

Tabla de contenidos

  • iis_add_server — Crea un nuevo servidor web virtual
  • iis_get_dir_security — Obtiene la Seguridad de Directorio
  • iis_get_script_map — Obtiene el mapeado de scripts en un directorio virtual para una extensión específica
  • iis_get_server_by_comment — Devuelve el número de instancia asociado con Comment
  • iis_get_server_by_path — Devuelve el número de instancia asociado con Path
  • iis_get_server_rights — Obtiene los derechos del servidor
  • iis_get_service_state — Devuelve es estado del servicio definido por ServiceId
  • iis_remove_server — Elimina el servidor web virtual indicado por ServerInstance
  • iis_set_app_settings — Crea un ámbito de aplicación para un directorio virtual
  • iis_set_dir_security — Establece la Seguridad de Directorio
  • iis_set_script_map — Establece el mapeado de scripts en un directorio virtual
  • iis_set_server_rights — Establece los derechos del servidor
  • iis_start_server — Inicia el servidor web virtual
  • iis_start_service — Inicia el servicio definido por ServiceId
  • iis_stop_server — Detiene el servidor virtual web
  • iis_stop_service — Detiene el servicio definido por ServiceId
Constantes predefinidas
iis_add_server
IIS


Crea un nuevo servidor web virtual

Funciones de IIS
iis_get_dir_security
Funciones de IIS
PHP Manual

iis_add_server

(PECL iisfunc SVN)

iis_add_server — Crea un nuevo servidor web virtual

Descripción

int iis_add_server ( string $path , string $comment , string $server_ip , int $port , string $host_name , int $rights , int $start_server )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Funciones de IIS
iis_get_dir_security
Funciones de IIS


Obtiene la Seguridad de Directorio

iis_add_server
iis_get_script_map
Funciones de IIS
PHP Manual

iis_get_dir_security

(PECL iisfunc SVN)

iis_get_dir_security — Obtiene la Seguridad de Directorio

Descripción

int iis_get_dir_security ( int $server_instance , string $virtual_path )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

iis_add_server
iis_get_script_map
Funciones de IIS


Obtiene el mapeado de scripts en un directorio virtual para una extensión específica

iis_get_dir_security
iis_get_server_by_comment
Funciones de IIS
PHP Manual

iis_get_script_map

(PECL iisfunc SVN)

iis_get_script_map — Obtiene el mapeado de scripts en un directorio virtual para una extensión específica

Descripción

string iis_get_script_map ( int $server_instance , string $virtual_path , string $script_extension )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

iis_get_dir_security
iis_get_server_by_comment
Funciones de IIS


Devuelve el número de instancia asociado con Comment

iis_get_script_map
iis_get_server_by_path
Funciones de IIS
PHP Manual

iis_get_server_by_comment

(PECL iisfunc SVN)

iis_get_server_by_comment — Devuelve el número de instancia asociado con Comment

Descripción

int iis_get_server_by_comment ( string $comment )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

iis_get_script_map
iis_get_server_by_path
Funciones de IIS


Devuelve el número de instancia asociado con Path

iis_get_server_by_comment
iis_get_server_rights
Funciones de IIS
PHP Manual

iis_get_server_by_path

(PECL iisfunc SVN)

iis_get_server_by_path — Devuelve el número de instancia asociado con Path

Descripción

int iis_get_server_by_path ( string $path )

Cada servidor virtual de IIS está asociado con número de instancia. iis_get_server_by_path() busca el número de instancia desde la ruta actual hacia el directorio raíz.

Parámetros

path

La ruta al directorio raíz

Valores devueltos

Devuelve el número de instancia del servidor.

iis_get_server_by_comment
iis_get_server_rights
Funciones de IIS


Obtiene los derechos del servidor

iis_get_server_by_path
iis_get_service_state
Funciones de IIS
PHP Manual

iis_get_server_rights

(PECL iisfunc SVN)

iis_get_server_rights — Obtiene los derechos del servidor

Descripción

int iis_get_server_rights ( int $server_instance , string $virtual_path )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

iis_get_server_by_path
iis_get_service_state
Funciones de IIS


Devuelve es estado del servicio definido por ServiceId

iis_get_server_rights
iis_remove_server
Funciones de IIS
PHP Manual

iis_get_service_state

(PECL iisfunc SVN)

iis_get_service_state — Devuelve es estado del servicio definido por ServiceId

Descripción

int iis_get_service_state ( string $service_id )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

iis_get_server_rights
iis_remove_server
Funciones de IIS


Elimina el servidor web virtual indicado por ServerInstance

iis_get_service_state
iis_set_app_settings
Funciones de IIS
PHP Manual

iis_remove_server

(PECL iisfunc SVN)

iis_remove_server — Elimina el servidor web virtual indicado por ServerInstance

Descripción

int iis_remove_server ( int $server_instance )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

iis_get_service_state
iis_set_app_settings
Funciones de IIS


Crea un ámbito de aplicación para un directorio virtual

iis_remove_server
iis_set_dir_security
Funciones de IIS
PHP Manual

iis_set_app_settings

(PECL iisfunc SVN)

iis_set_app_settings — Crea un ámbito de aplicación para un directorio virtual

Descripción

int iis_set_app_settings ( int $server_instance , string $virtual_path , string $application_scope )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

iis_remove_server
iis_set_dir_security
Funciones de IIS


Establece la Seguridad de Directorio

iis_set_app_settings
iis_set_script_map
Funciones de IIS
PHP Manual

iis_set_dir_security

(PECL iisfunc SVN)

iis_set_dir_security — Establece la Seguridad de Directorio

Descripción

int iis_set_dir_security ( int $server_instance , string $virtual_path , int $directory_flags )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

iis_set_app_settings
iis_set_script_map
Funciones de IIS


Establece el mapeado de scripts en un directorio virtual

iis_set_dir_security
iis_set_server_rights
Funciones de IIS
PHP Manual

iis_set_script_map

(PECL iisfunc SVN)

iis_set_script_map — Establece el mapeado de scripts en un directorio virtual

Descripción

int iis_set_script_map ( int $server_instance , string $virtual_path , string $script_extension , string $engine_path , int $allow_scripting )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

iis_set_dir_security
iis_set_server_rights
Funciones de IIS


Establece los derechos del servidor

iis_set_script_map
iis_start_server
Funciones de IIS
PHP Manual

iis_set_server_rights

(PECL iisfunc SVN)

iis_set_server_rights — Establece los derechos del servidor

Descripción

int iis_set_server_rights ( int $server_instance , string $virtual_path , int $directory_flags )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

iis_set_script_map
iis_start_server
Funciones de IIS


Inicia el servidor web virtual

iis_set_server_rights
iis_start_service
Funciones de IIS
PHP Manual

iis_start_server

(PECL iisfunc SVN)

iis_start_server — Inicia el servidor web virtual

Descripción

int iis_start_server ( int $server_instance )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

iis_set_server_rights
iis_start_service
Funciones de IIS


Inicia el servicio definido por ServiceId

iis_start_server
iis_stop_server
Funciones de IIS
PHP Manual

iis_start_service

(PECL iisfunc SVN)

iis_start_service — Inicia el servicio definido por ServiceId

Descripción

int iis_start_service ( string $service_id )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

iis_start_server
iis_stop_server
Funciones de IIS


Detiene el servidor virtual web

iis_start_service
iis_stop_service
Funciones de IIS
PHP Manual

iis_stop_server

(PECL iisfunc SVN)

iis_stop_server — Detiene el servidor virtual web

Descripción

int iis_stop_server ( int $server_instance )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

iis_start_service
iis_stop_service
Funciones de IIS


Detiene el servicio definido por ServiceId

iis_stop_server
NSAPI
Funciones de IIS
PHP Manual

iis_stop_service

(PECL iisfunc SVN)

iis_stop_service — Detiene el servicio definido por ServiceId

Descripción

int iis_stop_service ( string $service_id )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

iis_stop_server
NSAPI
Funciones de IIS


NSAPI

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de NSAPI
    • nsapi_request_headers — Obtiene todas las cabeceras de petición HTTP
    • nsapi_response_headers — Obtiene todas las cabeceras de respuesta HTTP
    • nsapi_virtual — Realiza una sub-petición NSAPI
iis_stop_service
Introducción
Extensiones específicas para Servidores


Introducción

Estas funciones únicamente están disponibles cuando PHP se ejecuta como un módulo NSAPI de Netscape/iPlanet/Sun.

NSAPI
Instalación/Configuración
NSAPI


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
NSAPI


Instalación

Para la instalación de PHP en los servidores web Netscape/iPlanet/Sun vea la sección NSAPI (UNIX, Windows) en los capítulos de instalación.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento del módulo PHP NSAPI PHP es afectado por los valores en php.ini. Los ajustes de configuraciuón de php.ini pueden ser sobrescritos por parámetros adicionales a la ejecución de php4_execute en obj.conf

Opciones de configuración NSAPI
Nombre | Por defecto | Cambiable | Historial de cambios
nsapi.read_timeout | "60" | PHP_INI_ALL | Disponible desde PHP 4.3.3.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

nsapi.read_timeout integer

Establece el tiempo en segundos que el plugin espera por un dato POST enviado por un cliente.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Funciones de NSAPI
NSAPI


Funciones de NSAPI

Ver también

NSAPI implementa un subconjunto de funciones del módulo Apache para una máxima compatibilidad.

Funciones Apache implementadas por NSAPI
Funciones Apache (sólo como alias) | Funciones NSAPI | Descripción
apache_request_headers() | nsapi_request_headers() | Recupera todas las cabeceras de petición HTTP
apache_response_headers() | nsapi_response_headers() | Recupera todas las cabeceras de respuesta HTTP
getallheaders() | nsapi_request_headers() | Recupera todas las cabeceras de petición HTTP
virtual() | nsapi_virtual() | Hace una sub-petición NSAPI

Tabla de contenidos

  • nsapi_request_headers — Obtiene todas las cabeceras de petición HTTP
  • nsapi_response_headers — Obtiene todas las cabeceras de respuesta HTTP
  • nsapi_virtual — Realiza una sub-petición NSAPI
Constantes predefinidas
nsapi_request_headers
NSAPI


Obtiene todas las cabeceras de petición HTTP

Funciones de NSAPI
nsapi_response_headers
Funciones de NSAPI
PHP Manual

nsapi_request_headers

(PHP 4 >= 4.3.3, PHP 5)

nsapi_request_headers — Obtiene todas las cabeceras de petición HTTP

Descripción

array nsapi_request_headers ( void )

nsapi_request_headers() recibe todas las cabeceras de petición HTTP en la solicitud actual. Esto es sólo posible cuando PHP se ejecuta como un módulo NSAPI.

Nota:

antes de PHP 4.3.3, getallheaders() estaba sólo disponible para servidores Apache. Después de PHP 4.3.3, getallheaders() es un alias de nsapi_request_headers() si se usa el módulo NSAPI.

Nota:

Usted también puede obtener el valor de las variables CGI leyéndolas del superglobal $_SERVER, el cual funciona indistintamente del uso del módulo NSAPI.

Valores devueltos

Devuelve un array asociativo con todas las cabeceras HTTP.

Ejemplos

Ejemplo #1 nsapi_request_headers() example

<?php
$headers = nsapi_request_headers();

foreach ($headers as $header => $value) {
  echo "$header: $value <br />\n";
}
?>

Funciones de NSAPI
nsapi_response_headers
Funciones de NSAPI


Obtiene todas las cabeceras de respuesta HTTP

nsapi_request_headers
nsapi_virtual
Funciones de NSAPI
PHP Manual

nsapi_response_headers

(PHP 4 >= 4.3.3, PHP 5)

nsapi_response_headers — Obtiene todas las cabeceras de respuesta HTTP

Descripción

array nsapi_response_headers ( void )

Obtiene todas las cabeceras de respuesta NSAPI.

Valores devueltos

Devuelve un array asociativo con todsa las cabeceras de rspuesta NSAPI.

Ver también

  • nsapi_request_headers() - Obtiene todas las cabeceras de petición HTTP
  • headers_sent() - Comprueba si o donde han enviado cabeceras

nsapi_request_headers
nsapi_virtual
Funciones de NSAPI


Realiza una sub-petición NSAPI

nsapi_response_headers
Extensiones de sesiones
Funciones de NSAPI
PHP Manual

nsapi_virtual

(PHP 4 >= 4.3.3, PHP 5)

nsapi_virtual — Realiza una sub-petición NSAPI

Descripción

bool nsapi_virtual ( string $uri )

nsapi_virtual() es una función específica NSAPI la cual es equivalete a <!--#include virtual...--> en SSI (archivos .shtml). Esto realiza una sub-petición NSAPI. Es útil para incluir en scripts CGI o archivos .shtml, o cualquier otro que desee analizar a través del servidor web.

Para ejecutar una sub-petición, todos los buffers son finalizados y arrojados al bavegador, las cabeceras pendientes son enviadas también.

No se puede hacer peticiones recursivas con esta función a otro script PHP. Si se desea incluir a un script PHP, use include o require.

Nota:

Esta función depende de una característica no documentada de los servidores Netscape/iPlanet/Sun. Use phpinfo() para determinar si está disponible. En un entorno Unix debería siempre funcionar, en Windows depende del nombre de un archivo ns-httpdXX.dll.

Lea la nota sobre las sub-peticiones en la sección NSAPI (UNIX, Windows) si experimenta este problema.

Parámetros

uri

La URI del script.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

nsapi_response_headers
Extensiones de sesiones
Funciones de NSAPI


Extensiones de sesiones

  • Msession — Mohawk Software Session Handler Functions
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de Msession
  • Sesiones — Manejo de Sesiones
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Progreso de Subida en Sesiones
    • Sesiones y seguridad
    • Funciones de sesión
    • SessionHandler — La clase SessionHandler
    • SessionHandlerInterface — La clase SessionHandlerInterface
  • Session PgSQL — PostgreSQL Session Save Handler
    • Introducción
    • Instalación/Configuración
    • Definiciones de tabla
    • Constantes predefinidas
    • Session PgSQL Funciones
nsapi_virtual
Msession
Referencia de funciones


Mohawk Software Session Handler Functions

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de Msession
    • msession_connect — Conecta un servidor msession
    • msession_count — Obtiene el número de sesiones
    • msession_create — Crea una sesión
    • msession_destroy — Elimina una sesión
    • msession_disconnect — Cierra conexión al servidor msession
    • msession_find — Busca todas la sesiones con el nombre y el valor
    • msession_get_array — Obtiene array de variables msession
    • msession_get_data — Obtiene datos de sesión no estructurados
    • msession_get — Obtiene el valor de la sesión
    • msession_inc — Incrementa valor en la sesión
    • msession_list — Lista todas las sesiones
    • msession_listvar — Lista sesiones con variable
    • msession_lock — Bloquea una sesión
    • msession_plugin — Llama una función de escape con el personality plugin de msession
    • msession_randstr — Obtiene cadena aleatoria
    • msession_set_array — Establece array de variables msession
    • msession_set_data — Establece en los datos de la sesión datos no estructurados
    • msession_set — Establece valor en sesión
    • msession_timeout — Establece/obtiene tiempo de expiración de la sesión
    • msession_uniq — Obtiene id único
    • msession_unlock — Desbloquea una sesión
Extensiones de sesiones
Introducción
Extensiones de sesiones


Introducción

msession es un interface a un demonio de alta velocidad que puede ejecutarse local o remotamente. Está diseñado para proporcionar control de sesiones para una granja de webs en PHP. Más información acerca de msession y del software servidor puede encontrase en » http://www.mohawksoft.org/?q=node/8.

Nota: Esta extensión no está disponible en plataformas Windows.

Nota:

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.1.3.

Msession
Instalación/Configuración
Msession


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Msession


Instalación

Esta extensión se considera no mantenida y muerta. Sin embargo, el código fuente para esta extensión sigue estando disponible dentro de PECL SVN aquí: » http://svn.php.net/viewvc/pecl/msession.

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.1.3

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Funciones de Msession
Msession


Funciones de Msession

Tabla de contenidos

  • msession_connect — Conecta un servidor msession
  • msession_count — Obtiene el número de sesiones
  • msession_create — Crea una sesión
  • msession_destroy — Elimina una sesión
  • msession_disconnect — Cierra conexión al servidor msession
  • msession_find — Busca todas la sesiones con el nombre y el valor
  • msession_get_array — Obtiene array de variables msession
  • msession_get_data — Obtiene datos de sesión no estructurados
  • msession_get — Obtiene el valor de la sesión
  • msession_inc — Incrementa valor en la sesión
  • msession_list — Lista todas las sesiones
  • msession_listvar — Lista sesiones con variable
  • msession_lock — Bloquea una sesión
  • msession_plugin — Llama una función de escape con el personality plugin de msession
  • msession_randstr — Obtiene cadena aleatoria
  • msession_set_array — Establece array de variables msession
  • msession_set_data — Establece en los datos de la sesión datos no estructurados
  • msession_set — Establece valor en sesión
  • msession_timeout — Establece/obtiene tiempo de expiración de la sesión
  • msession_uniq — Obtiene id único
  • msession_unlock — Desbloquea una sesión
Constantes predefinidas
msession_connect
Msession


Conecta un servidor msession

Funciones de Msession
msession_count
Funciones de Msession
PHP Manual

msession_connect

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_connect — Conecta un servidor msession

Descripción

bool msession_connect ( string $host , string $port )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Funciones de Msession
msession_count
Funciones de Msession


Obtiene el número de sesiones

msession_connect
msession_create
Funciones de Msession
PHP Manual

msession_count

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_count — Obtiene el número de sesiones

Descripción

int msession_count ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

msession_connect
msession_create
Funciones de Msession


Crea una sesión

msession_count
msession_destroy
Funciones de Msession
PHP Manual

msession_create

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_create — Crea una sesión

Descripción

bool msession_create ( string $session [, string $classname [, string $data ]] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

msession_count
msession_destroy
Funciones de Msession


Elimina una sesión

msession_create
msession_disconnect
Funciones de Msession
PHP Manual

msession_destroy

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_destroy — Elimina una sesión

Descripción

bool msession_destroy ( string $name )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

msession_create
msession_disconnect
Funciones de Msession


Cierra conexión al servidor msession

msession_destroy
msession_find
Funciones de Msession
PHP Manual

msession_disconnect

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_disconnect — Cierra conexión al servidor msession

Descripción

void msession_disconnect ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

msession_destroy
msession_find
Funciones de Msession


Busca todas la sesiones con el nombre y el valor

msession_disconnect
msession_get_array
Funciones de Msession
PHP Manual

msession_find

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_find — Busca todas la sesiones con el nombre y el valor

Descripción

array msession_find ( string $name , string $value )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

msession_disconnect
msession_get_array
Funciones de Msession


Obtiene array de variables msession

msession_find
msession_get_data
Funciones de Msession
PHP Manual

msession_get_array

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_get_array — Obtiene array de variables msession

Descripción

array msession_get_array ( string $session )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

msession_find
msession_get_data
Funciones de Msession


Obtiene datos de sesión no estructurados

msession_get_array
msession_get
Funciones de Msession
PHP Manual

msession_get_data

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_get_data — Obtiene datos de sesión no estructurados

Descripción

string msession_get_data ( string $session )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

msession_get_array
msession_get
Funciones de Msession


Obtiene el valor de la sesión

msession_get_data
msession_inc
Funciones de Msession
PHP Manual

msession_get

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_get — Obtiene el valor de la sesión

Descripción

string msession_get ( string $session , string $name , string $value )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

msession_get_data
msession_inc
Funciones de Msession


Incrementa valor en la sesión

msession_get
msession_list
Funciones de Msession
PHP Manual

msession_inc

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_inc — Incrementa valor en la sesión

Descripción

string msession_inc ( string $session , string $name )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

msession_get
msession_list
Funciones de Msession


Lista todas las sesiones

msession_inc
msession_listvar
Funciones de Msession
PHP Manual

msession_list

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_list — Lista todas las sesiones

Descripción

array msession_list ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

msession_inc
msession_listvar
Funciones de Msession


Lista sesiones con variable

msession_list
msession_lock
Funciones de Msession
PHP Manual

msession_listvar

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_listvar — Lista sesiones con variable

Descripción

array msession_listvar ( string $name )

Usado para buscar sesiones con atributos comunes.

Parámetros

name

El nombre a buscar.

Valores devueltos

Devuelve un array asociativo de valor/sesión para todas la sesiones con una variable nombrada name.

msession_list
msession_lock
Funciones de Msession


Bloquea una sesión

msession_listvar
msession_plugin
Funciones de Msession
PHP Manual

msession_lock

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_lock — Bloquea una sesión

Descripción

int msession_lock ( string $name )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

msession_listvar
msession_plugin
Funciones de Msession


Llama una función de escape con el personality plugin de msession

msession_lock
msession_randstr
Funciones de Msession
PHP Manual

msession_plugin

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_plugin — Llama una función de escape con el personality plugin de msession

Descripción

string msession_plugin ( string $session , string $val [, string $param ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

msession_lock
msession_randstr
Funciones de Msession


Obtiene cadena aleatoria

msession_plugin
msession_set_array
Funciones de Msession
PHP Manual

msession_randstr

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_randstr — Obtiene cadena aleatoria

Descripción

string msession_randstr ( int $param )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

msession_plugin
msession_set_array
Funciones de Msession


Establece array de variables msession

msession_randstr
msession_set_data
Funciones de Msession
PHP Manual

msession_set_array

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_set_array — Establece array de variables msession

Descripción

void msession_set_array ( string $session , array $tuples )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

msession_randstr
msession_set_data
Funciones de Msession


Establece en los datos de la sesión datos no estructurados

msession_set_array
msession_set
Funciones de Msession
PHP Manual

msession_set_data

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_set_data — Establece en los datos de la sesión datos no estructurados

Descripción

bool msession_set_data ( string $session , string $value )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

msession_set_array
msession_set
Funciones de Msession


Establece valor en sesión

msession_set_data
msession_timeout
Funciones de Msession
PHP Manual

msession_set

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_set — Establece valor en sesión

Descripción

bool msession_set ( string $session , string $name , string $value )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

msession_set_data
msession_timeout
Funciones de Msession


Establece/obtiene tiempo de expiración de la sesión

msession_set
msession_uniq
Funciones de Msession
PHP Manual

msession_timeout

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_timeout — Establece/obtiene tiempo de expiración de la sesión

Descripción

int msession_timeout ( string $session [, int $param ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

msession_set
msession_uniq
Funciones de Msession


Obtiene id único

msession_timeout
msession_unlock
Funciones de Msession
PHP Manual

msession_uniq

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_uniq — Obtiene id único

Descripción

string msession_uniq ( int $param [, string $classname [, string $data ]] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

msession_timeout
msession_unlock
Funciones de Msession


Desbloquea una sesión

msession_uniq
Sesiones
Funciones de Msession
PHP Manual

msession_unlock

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_unlock — Desbloquea una sesión

Descripción

int msession_unlock ( string $session , int $key )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

msession_uniq
Sesiones
Funciones de Msession


Manejo de Sesiones

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Uso básico
    • Pasar el ID de Sesión
    • Gestores de Sesión Personalizados
  • Progreso de Subida en Sesiones
  • Sesiones y seguridad
  • Funciones de sesión
    • session_cache_expire — Devuelve la caducidad de la caché actual
    • session_cache_limiter — Obtener y/o establecer el limitador de caché actual
    • session_commit — Alias de session_write_close
    • session_decode — Decodifica la información de sesión desde una cadena de sesión codificada
    • session_destroy — Destruye toda la información registrada de una sesión
    • session_encode — Codifica los datos de la sesión actual como un string codificado de sesión
    • session_get_cookie_params — Obtener los parámetros de la cookie de sesión
    • session_id — Obtener y/o establecer el id de sesión actual
    • session_is_registered — Averiguar si una variable global está registrada en una sesión
    • session_module_name — Obtiene y/o establece el módulo de sesión actual
    • session_name — Obtener y/o establecer el nombre de la sesión actual
    • session_regenerate_id — Actualiza el id de sesión actual con uno generado más reciente
    • session_register_shutdown — Función de cierre de sesiones
    • session_register — Registrar una o más variables globales con la sesión actual
    • session_save_path — Obtener y/o establecer la ruta de almacenamiento de la sesión actual
    • session_set_cookie_params — Establecer los parámetros de la cookie de sesión
    • session_set_save_handler — Establece funciones de almacenamiento de sesiones a nivel de usuario
    • session_start — Iniciar una nueva sesión o reanudar la existente
    • session_status — Devuelve el estado de la sesión actual
    • session_unregister — Deja de registrar una variable global de la sesión actual
    • session_unset — Libera todas las variables de sesión
    • session_write_close — Escribir información de sesión y finalizar la sesión
  • SessionHandler — La clase SessionHandler
    • SessionHandler::close — Cerrar la sesión
    • SessionHandler::destroy — Destruir una sesión
    • SessionHandler::gc — Eliminar las sesiones antiguas
    • SessionHandler::open — Inicializar una sesión
    • SessionHandler::read — Leer información de la sesión
    • SessionHandler::write — Escribir información de sesión
  • SessionHandlerInterface — La clase SessionHandlerInterface
    • SessionHandlerInterface::close — Cerrar la sesión
    • SessionHandlerInterface::destroy — Destruir una sesión
    • SessionHandlerInterface::gc — Limpieza de sesiones antiguas
    • SessionHandlerInterface::open — Inicializar una sesión
    • SessionHandlerInterface::read — Leer información de sesión
    • SessionHandlerInterface::write — Escribir información de sesión
msession_unlock
Introducción
Extensiones de sesiones


Introducción

El soporte para sesiones en PHP consiste en una forma de preservar cierta información a través de accesos subsiguientes. Esto habilita la construcción de aplicaciones más personalizadas e incrementa el atractivo de un sitio web.

Un visitante que accede a su sitio web se el asigna un id único, también llamado id de sesión. Éste es almacenado en una cookie en la parte del cliente o se propaga en el URL.

El soporte para sesiones permite almacenar los datos entre peticiones en el array superglobal $_SESSION. Cuando un visitante accede a su sitio web, PHP comprobará automáticamente (si session.auto_start está establecido a 1), o sobre su petición (explícitamete a través de session_start() o implícitamente a través de session_register()), si se ha enviado un id de sesión específico con la petición. Si éste es el caso, se recrea el entorno anteriormente guardado.

Precaución

Si se activa session.auto_start, la única manera de colocar objetos en las sesiones es cargar su definición de clase usando auto_prepend_file en el que además de cargar la definición de clase se tendrá que emplear serialize() para serializar el objeto y unserialize() para deserializarlo después.

$_SESSION (y todas las variables registradas) son serializadas internamente por PHP utilizando el gestor de serialización especificado en el ajuste ini session.serialize_handler, una vez finalizada la solicitud. Las variables registradas que están sin definir son marcadas como no definidas. En accesos subsiguientes, éstas no estarán definidas por el módulo de sesión a menos que el usuario las defina después.

Advertencia

Debido a que los datos de sesión son serializados, las variables resource no pueden ser almacenadas en la sesión.

Los gestortes serializados (php y php_binary) heredan las limitaciones de register_globals. Por lo tanto, los índices númericos o de string que contienen caracteres especiales (| y !) no se pueden usar. Si se utilizan se acabará con errores al cierre del script. php_serialize no tiene tales limitaciones. php_serialize está disponible desde PHP 5.5.4.

Nota:

Por favor, observe que al trabajar con sesiones, no se crea un registro de una sesión hasta que una variable haya sido registrada usando la función session_register() o añadiendo una nueva clave al array superglobal $_SESSION. Esto es cierto sin importar si una sesión ha sido iniciada usando la función session_start().

Nota:

PHP 5.2.2 introdujo una característica no documentada para almacenar ficheros de sesiones en "/tmp" incluso si open_basedir estaba habilitado y "/tmp" no estaba explícitamente añadido a la lista de rutas permitidas. Esta característica ha sido eliminada de PHP a partir de PHP 5.3.0.

Sesiones
Instalación/Configuración
Sesiones


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Sesiones


Requerimientos

No se requiere de ninguna biblioteca externa para compilar esta extensión.

Nota:

Opcionalmente se puede usar asignación de memoria compartida (mm), desarrollada por Ralf S. Engelschall, para el almacenamiento de sesiones. Tiene que descargar » mm e instalarlo. Esta opción no está disponible en plataformas Windows. Observe que el módulo de almacenamiento de sesiones para mm no garantiza que los accesos concurrentes a la misma sesión estén debidamente bloqueados. Podría ser más apropiado usar una memoria compartida basada en sistemas de archivos (como tmpfs en Solaris/Linux, o /dev/md en BSD) para almacenar sesiones en archivos, ya que están debidamente bloqueados. La información de la sesión se almacena en memoria por lo que un reinicio del servidor web la borrará.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

El soporte para sesiones está habilitado por defecto en PHP. Si no quiere construir su PHP con soporte para sesiones, debería especificar la opción --disable-session para la configuración. Para usar la asignación de memoria compartida (mm) para el almacenamiento de sesiones, configure PHP con --with-mm[=DIR] .

La versión de PHP para Windows tiene soporte nativo para esta extensión. No se requiere cargar extensiones adicionales para utilizar estas funciones.

Nota:

Por defecto, toda la información relacionada con una sesión en particular será almacenada en un archivo en el directorio especificado por la opción INI session.save_path. Se creará un archivo para cada sesión (sin tener en cuenta si ninguna información está asociada con esa sesión). Esto es debido al hecho de que una sesión es abierta (se crea un archivo) aunque incluso no se escriba información en ese archivo. Observe que este comportamiento es un efecto secundario de las limitaciones de trabajar con el sistema de archivos y es posible que un gestor de sesión personalizado (tal como uno que use una base de datos) no lleve la cuenta de sesiones que no almacenan información.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de sesión
Nombre | Por defecto | Cambiable | Historial de cambios
session.save_path | "" | PHP_INI_ALL |
session.name | "PHPSESSID" | PHP_INI_ALL |
session.save_handler | "files" | PHP_INI_ALL |
session.auto_start | "0" | PHP_INI_PERDIR |
session.gc_probability | "1" | PHP_INI_ALL |
session.gc_divisor | "100" | PHP_INI_ALL | Disponible desde PHP 4.3.2.
session.gc_maxlifetime | "1440" | PHP_INI_ALL |
session.serialize_handler | "php" | PHP_INI_ALL |
session.cookie_lifetime | "0" | PHP_INI_ALL |
session.cookie_path | "/" | PHP_INI_ALL |
session.cookie_domain | "" | PHP_INI_ALL |
session.cookie_secure | "" | PHP_INI_ALL | Disponible desde PHP 4.0.4.
session.cookie_httponly | "" | PHP_INI_ALL | Disponible desde PHP 5.2.0.
session.use_strict_mode | "0" | PHP_INI_ALL | Disponible desde PHP 5.5.2.
session.use_cookies | "1" | PHP_INI_ALL |
session.use_only_cookies | "1" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
session.referer_check | "" | PHP_INI_ALL |
session.entropy_file | "" | PHP_INI_ALL |
session.entropy_length | "0" | PHP_INI_ALL |
session.cache_limiter | "nocache" | PHP_INI_ALL |
session.cache_expire | "180" | PHP_INI_ALL |
session.use_trans_sid | "0" | PHP_INI_ALL | PHP_INI_ALL en PHP <= 4.2.3. PHP_INI_PERDIR en PHP < 5. Disponible desde PHP 4.0.3.
session.bug_compat_42 | "1" | PHP_INI_ALL | Disponible desde PHP 4.3.0. Eliminado en PHP 5.4.0.
session.bug_compat_warn | "1" | PHP_INI_ALL | Disponible desde PHP 4.3.0. Eliminado en PHP 5.4.0.
session.hash_function | "0" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
session.hash_bits_per_character | "4" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
url_rewriter.tags | "a=href,area=href,frame=src,form=,fieldset=" | PHP_INI_ALL | Disponible desde PHP 4.0.4.
session.upload_progress.enabled | "1" | PHP_INI_PERDIR | Disponible desde PHP 5.4.0.
session.upload_progress.cleanup | "1" | PHP_INI_PERDIR | Disponible desde PHP 5.4.0.
session.upload_progress.prefix | "upload_progress_" | PHP_INI_PERDIR | Disponible desde PHP 5.4.0.
session.upload_progress.name | "PHP_SESSION_UPLOAD_PROGRESS" | PHP_INI_PERDIR | Disponible desde PHP 5.4.0.
session.upload_progress.freq | "1%" | PHP_INI_PERDIR | Disponible desde PHP 5.4.0.
session.upload_progress.min_freq | "1" | PHP_INI_PERDIR | Disponible desde PHP 5.4.0.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

El sistema de administración de sesiones admite varias opciones de configuración que se pueden colocar en el fichero php.ini. Se dará una visión general breve.

session.save_handler string
session.save_handler define el nombre del gestor que se usa para almacenar y recuperar información asociada con una sesión. Por defecto es files. Observe que las extensiones individuales pueden registrar sus propios gestores save_handler; los gestores registrados se pueden obtener a nivel de instalación consultando phpinfo(). Véase también session_set_save_handler().
session.save_path string
session.save_path define el argumento que es pasado al gestor de almacenamiento. Si se elige el gestor de archivos por defecto, éste es la ruta donde los archivos son creados. Véase también session_save_path().

Hay un argumento opcional N para esta directiva que determina el número de niveles de directorios por donde los archivos de sesión se desplegarán. Por ejemplo, establecerlo a '5;/tmp' puede terminar en crear un archivo de sesión y ubicación como /tmp/4/b/1/e/3/sess_4b1e384ad74619bd212e236e52a5a174If . Para usar N se deben crear todos estos directorios antes de utilizarlo. Para realizar esto, existe un pequeño script tipo shell en ext/session que se llama mod_files.sh, con una versión de Windows llamada mod_files.bat. Observe también que si N se usa y es más grande que 0 no se llevará a cabo la recolección de basura automática, vea una copia de php.ini para más información. También, si usa N, asegúrese de encerrar session.save_path entre "comillas" ya que el separador (;) también se usa para comentarios en php.ini.

El módulo de almacenamiento de ficheros crea ficheros usando el modo 600 de forma predeterminada. Este valor se puede cambiar con el argumento opcional MODE: N;MODE;/path, donde MODE es la representación octal del modo. Establecer MODE no afecta al proceso umask.

Advertencia

Si se deja esta configuración para un directorio legilble por todo el mundo, tal como /tmp (por defecto), otros usuarios en el servidor pueden ser capaces de secuestrar sesiones obteniendo la lista de archivos de ese directorio.

Nota: Antes de PHP 4.3.6, los usuarios de Windows tenían que cambiar esta variable para usar las funciones de sesiones de PHP. Se debe especificar una ruta válida, p.ej.: c:/temp.

session.name string
session.name specifica el nombre de la sesión que se usa como nombre de cookie. Sólo debería contener caracteres alfanuméricos. Por defecto es PHPSESSID. Véase también session_name().
session.auto_start boolean
session.auto_start especifica si el módulo de sesión inicia una sesión automáticamente cuando arranque una petición. Por defecto es 0 (deshabilitado).
session.serialize_handler string
session.serialize_handler define el nombre del gestor que se usa para serializar/deserializar datos. El formato de serialización de PHP (nombre php_serialize, formatos de internos de PHP (nombre php y php_binary) y WDDX son admitidos (nombre wddx). WDDX solamente está disponible si PHP está compilado con soporte para WDDX. php_serialize está disponible desde PHP 5.5.4. php_serialize usa internamente una función pura de serialización/deserialización y no tiene las limitaciones que tienen php y php_binary. Los gestores de serialización más antiguos no pueden almacenar índices numéricos ni de string que contengan caracters especiales (| y !) en $_SESSION. Use php_serialize para evitar errores con índices numéricos o caracteres especiales al cierre del script. Lo predeterminado es php.
session.gc_probability integer
session.gc_probability se usa junto con session.gc_divisor para manejar la probabilidad de que la rutina de gc (garbage collection, recolección de basura) está iniciada. Por defecto es 1. Véase session.gc_divisor para más detalles.
session.gc_divisor integer
session.gc_divisor junto con session.gc_probability define la probabilidad de que el proceso de gc (garbage collection, recolección de basura) esté iniciado en cada inicialización de sesión. La probabilidad se calcula usando gc_probability/gc_divisor, p.ej. 1/100 significa que hay un 1% de probabilidad de que el proceso de GC se inicie en cada petición. session.gc_divisor por defecto es 100.
session.gc_maxlifetime integer
session.gc_maxlifetime especifica el número de segudos transcurridos después de que la información sea vista como 'basura' y potencialmente limpiada. La recolección de basura puede suceder durante el inicio de sesiones (dependiendo de session.gc_probability y session.gc_divisor).

Nota:

Si diferentes scripts tienen diferentes valores de session.gc_maxlifetime pero comparten la misma ubicación para almacenar la información de sesión, la información del script con el mínimo valor será limpiada. En este caso use esta directiva junto con session.save_path.

Nota: Si está usando el gestor de sesiones basado en archivos predeterminado, su sistema de archivos debe llevar la cuenta de los tiempos de acceso (atime). FAT de Windows no lo hace, por lo que tendrá que utilizar otro método para manejar la recolección de basura de su sesión si está utilizando un sistema de archivos FAT o cualquier otro sistema de archivos donde la cuenta de atime no esté disponible. Desde PHP 4.2.3 se ha usado mtime (fecha de modificación) en vez de atime. Por lo tanto, no tendrá problemas con sistemas de archivos donde la cuenta de atime no esté disponible.

session.referer_check string
session.referer_check contiene la subcadena para comprobar cada HTTP Referer. Si la Referencia fue enviada por el cliente y la subcadena no se encontró, el id de sesión embebido será marcado como no válido. Por defecto es una cadena vacía.
session.entropy_file string
session.entropy_file da una ruta a un recurso externo (archivo) que será usado como una fuente de entropía adicional en el proceso de creación del id de sesión. Ejemplos: /dev/random o /dev/urandom que están disponibles en la mayoría de sistemas Unix. Esta función está disponible en Windows desde PHP 5.3.3. Si se establece session.entropy_length a un valor que no sea cero hará que PHP use la Windows Random API como fuente entrópica.

Nota: A partir de PHP 5.4.0 session.entropy_file usa de forma predeterminada /dev/urandom o /dev/arandom si están disponibles. En PHP 5.3.0, esta directiva se deja vacía por omisión.

session.entropy_length integer
session.entropy_length especifica el número de bytes que serán leídos desde el archivo especificado arriba. Por defecto es 0 (deshabilitado).
session.use_strict_mode boolean
session.use_strict_mode especifica si el módulo usará el modo de id de sesión estricto. Si este modo está habilitado, el módulo no aceptará IDs de sesioines no inicializados. Si se envia desde el navegador un ID de sesión no inicializado, se envía un nuevo ID de sesión al navegador. Las aplicaciones están protegidas de la fijación de sesiones mediante la adopción de sesión con modo estricto. El valor predeterminado es 0 (deshabilitado).
session.use_cookies boolean
session.use_cookies especifica si el módulo usará cookies para almacenar el id de sesión en la parte del cliente. Por defecto es 1 (habilitado).
session.use_only_cookies boolean
session.use_only_cookies especifica si el módulo sólo usará cookies para almacenar el id de sesión en la parte del cliente. Habilitar este ajuste previene ataques que impican pasar el id de sesión en la URL. Este ajuste fue añadido en PHP 4.3.0. Por defecto es 1 (habilitado) desde PHP 5.3.0.
session.cookie_lifetime integer
session.cookie_lifetime especifica el tiempo de vida en segundos de la cookie que es enviada al navegador. El valor 0 significa "hasta que el navegador se cierre". Por defecto es 0. Véase también session_get_cookie_params() y session_set_cookie_params().

Nota:

La marca de tiempo de caducidad se establece relativa a la hora del servidor, la cúal no es necesariamente la misma que la hora del navegador del cliente.

session.cookie_path string
session.cookie_path especifica la ruta a establecer en la cookie de sesión. Por defecto es /. Véase también session_get_cookie_params() y session_set_cookie_params().
session.cookie_domain string
session.cookie_domain especifica el dominio a establecer en la cookie de sesión. Por defecto es ninguno, significando el nombre de host del servidor que generó la cookie según la especificación de cookies. Véase también session_get_cookie_params() y session_set_cookie_params().
session.cookie_secure boolean
session.cookie_secure especifica si las cookies deberían enviarse sólo sobre conexiones seguras. Por defecto es off. Este ajuste fue añadido en PHP 4.0.4. Véase también session_get_cookie_params() y session_set_cookie_params().
session.cookie_httponly boolean
Marca la cookie como accesible sólo a través del protocolo HTTP. Esto siginifica que la cookie no será accesible por lenguajes de script, tales como JavaScript. Este ajuste puede ayudar de manera efectiva a reducir robos de indentidad a través de ataques (aunque no está soportado por todos los navegadores).
session.cache_limiter string
session.cache_limiter especifica el método de control de caché usado por páginas de sesión. Puede ser uno de los siguientes valores: nocache, private, private_no_expire, o public. Por defecto es nocache. Vea también la documentación de session_cache_limiter() para informarse sobre lo que significan estos valores.
session.cache_expire integer
session.cache_expire especifica el tiempo de vida en minutos para las páginas de sesión examinadas, esto no tiene efecto para el limitador nocache. Por defecto es 180. Véase también session_cache_expire().
session.use_trans_sid boolean
session.use_trans_sid si está habilitado sid transparente o no. Por defecto es 0 (deshabilitado).

Nota: Para PHP 4.1.2 o anterior, está habilitado compilando PHP con --enable-trans-sid. Desde PHP 4.2.0, la característica trans-sid es siempre compilada. La administración de sesiones basadas en URL tienen riesgos de seguridad adicionales comparada con la administración de sesiones basdas en cookies. Los usuarios pueden enviar una URL que contenga un ID de sesión activo a sus amigos mediante email o los usuarios pueden guardar una URL que contenga una ID de sesión en sus marcadores y acceder a su sitio siempre con el mismo ID de sesión, por ejemplo.

session.bug_compat_42 boolean
Las versiones de PHP 4.2.3 y anteriores tienen una característica/error no documentada que permite inicializar una variable de sesión en el ámbito global, aunque register_globals esté deshabilitado. PHP 4.3.0 y posteriores le avisarán, si se usa esta característica, y si session.bug_compat_warn también está habilitado. Esta característica/error puede ser desactivada deshabilitando esta directiva.
session.bug_compat_warn boolean
Las versiones de PHP 4.2.3 y anteriores tienen una característica/error no documentada que permite inicializar una variable de sesión en el ámbito global, aunque register_globals esté deshabilitado. PHP 4.3.0 y posteriores le avisarán, si se usa esta característica habilitando session.bug_compat_42 y session.bug_compat_warn.
session.hash_function mixed
session.hash_function permite especificar el algoritmo hash utilizado para generar los ID de sesión. '0' significa MD5 (128 bits) y '1' significa SHA-1 (160 bits).

Desde PHP 5.3.0 también es posible especificar cualquier algoritmo porporcionado por la extensión hash (si está disponible), como sha512 o whirlpool. Una lista completa de los algoritmos soportados se puede obtener con la función hash_algos().

Nota:

Este ajuste fue introducido en PHP 5.

session.hash_bits_per_character integer
session.hash_bits_per_character permite definir cuántos bits son almacenados en cada carácter cuando se convierte la información hash binaria a algo legible. Los valores posibles son '4' (0-9, a-f), '5' (0-9, a-v), y '6' (0-9, a-z, A-Z, "-", ",").

Nota:

Esto fue introducido en PHP 5.

url_rewriter.tags string
url_rewriter.tags especifica qué etiquetas HTML son reescritas para incluir el id de sesión si el soporte para sid transparente está habilitado. Por defecto es a=href,area=href,frame=src,input=src,form=fakeentry,fieldset=

Nota: Si quiere compatibilidad para HTML/XHTML estricto, elimine la entrada form y use las etiquetas <fieldset> alrededor de sus campos de formulario.

session.upload_progress.enabled boolean
Habilita el seguimiento del progreso de subida de ficheros, rellenado la variable $_SESSION. Por omisión su valor es 1, habilitado.
session.upload_progress.cleanup boolean
Limpieza de la información del progreso al finalizar la lectura de los datos del POST (p.ej. al finalizar la subida). Por omisión su valor es 1, habilitado.

Nota: Es muy recomendado mantener esta opción habilitada.

session.upload_progress.prefix string
Prefijo usado para la clave del progreso de subida en $_SESSION. Esta clave será concatenada con el valor de $_POST[ini_get("session.upload_progress.name")] para proporcionar un índice único. Por omisión su valor es "upload_progress_".
session.upload_progress.name string
El nombre de la clave a usar en $_SESSION para guardar la información del progreso de subida. Ver también session.upload_progress.prefix. Si no se pasa $_POST[ini_get("session.upload_progress.name")] o no está disponible, el progreso de subida no será grabado. Por omisión su valor es"PHP_SESSION_UPLOAD_PROGRESS".
session.upload_progress.freq mixed
Determina cada cuanto debería actualizarse la información del proceso de subida. Este valor puede ser definido en bytes (p.ej. "actualiza la información del progreso de subida después de cada 100 bytes"), o en porcentajes (p.ej. "actualiza la información del proceso de subida después de recibir el 1% del total del tamaño del fichero"). Por omisión "1%".
session.upload_progress.min-freq integer
El retraso mínimo entre actualizaciones, en segundos. Por omisión su valor es "1" (un segundo).

Los ajustes de configuración track_vars y register_globals influyen en cómo las variables de sesión se almacenan y se restablecen.

El progreso de subida no será registrado a no ser que session.upload_progress.enabled esté habilitado, y la variable $_POST[ini_get("session.upload_progress.name")] esté definida. Ver Session Upload Progress para más información de como funciona.

Nota:

A partir de PHP 4.0.3, track_vars está siempre activado.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

SID (string)
Constante que contiene el nombre de la sesión y el ID de sesión en la forma "name=ID" o una cadena vacía si el ID de sesión fue establecido en una cookie de sesión apropiada. Este es el mismo id que uno devuelto por session_id().
PHP_SESSION_DISABLED (int)
Desde PHP 5.4.0. Devolver el valor de la función session_status() si las sesiones están deshabilitadas.
PHP_SESSION_NONE (int)
Desde PHP 5.4.0. Devolver el valor de la función session_status() si las sesiones están habilitadas, pero no existe una sesión.
PHP_SESSION_ACTIVE (int)
Devolver el valor de la función session_status() si las sesiones están habilitadas, y existe una sesión.
Tipos de recursos
Ejemplos
Sesiones


Ejemplos

Tabla de contenidos

  • Uso básico
  • Pasar el ID de Sesión
  • Gestores de Sesión Personalizados
Constantes predefinidas
Uso básico
Sesiones


Uso básico

Las sesiones son una forma sencilla de almacenar datos para usuarios de manera individual usando un ID de sesión único. Esto se puede usar para hacer persistente la información de estado entre peticiones de páginas. Los ID de sesiones normalmente son enviados al navegador mediante cookies de sesión, y el ID se usa para recuperar los datos de sesión existente. La ausencia de un ID o una cookie de sesión permite saber a PHP para crear una nueva sesión y generar un nuevo ID de sesión.

Las sesiones siguen un flujo de trabajo sencillo. Cuando una sesión se inicia, PHP recuperará una sesión existente usando el ID pasado (normalmente desde una cookie de sesión) o, si no se pasa una sesión, se creará una sesión nueva. PHP rellenará la variable superglobal $_SESSION con cualesquiera datos de sesión de que se inicie la seisón. Cuando PHP se cierra, automáticamente toma el contenido de la variable superglobal $_SESSION, la serializa, y la envía para almacenarla usando el gestor de almacenamiento de sesiones.

Por omisión, PHP usa el gestor interno de almacenamiento files, el cual se establece mediante session.save_handler. Éste guarda los datos de sesión en el servidor en la ubicación especificada por la directiva de configuración session.save_path.

Las sesiones se puede iniciar manualmente usando la función session_start(), si la directiva session.auto_start se establece a 1, una sesión se iniciará automáticamente ante cualquier petición de arranque.

Las sesiones normalmente se cierran automáticamente cuando PHP termina de ejecutar un script, pero se pueden cerrar manualmente usando la función session_write_close().

Ejemplo #1 Registrar una variable con $_SESSION.

<?php
session_start();
if (!isset($_SESSION['count'])) {
  $_SESSION['count'] = 0;
} else {
  $_SESSION['count']++;
}
?>

Ejemplo #2 Desregistrar una variable con $_SESSION

<?php
session_start();
unset($_SESSION['count']);
?>

Precaución

NO destruya completamente $_SESSION con unset($_SESSION) ya que esto deshabilitará el registro de las variables a través del array superglobal $_SESSION.

Advertencia

No se pueden usar referencias en variables de sesión ya que no hay una manera viable de restarurar una referencia a otra variable.

Advertencia

register_globals sobreescribirá las variables en el ámbito global, cuyos nombres son compartidos con las variables de sesión. Por favor véase Uso de Register Globals para más detalles.

Nota:

Las sesiones basadas en ficheros (lo predeterminado en PHP) lock the session file once a session is opened via session_start() or implicitly via session.auto_start. Once locked, no other script can access the same session file until it has been closed by the first script terminating or calling session_write_close().

This is most likely to be an issue on Web sites that use AJAX heavily and have multiple concurrent requests. The easiest way to deal with it is to call session_write_close() as soon as any required changes to the session have been made, preferably early in the script. Alternatively, a different session backend that does support concurrency could be used.

Ejemplos
Pasar el ID de Sesión
Ejemplos


Pasar el ID de Sesión

Hay dos métodos para propagar un id de sesión:

  • Cookies
  • Parámetro de URL

El módulo de sesiones soporta ambos métodos. Las cookies son óptimas, pero ya que no están siempre disponibles, también se proporciona una manera alternativa. El segundo método embebe el id de sesión directamente en las URL.

PHP es capaz de transformar enlaces transparentemente. A menos que se use PHP 4.2.0 o posterior, se necesita habilitarlo manualmente cuando se construye PHP. Bajo Unix, pase --enable-trans-sid para la configuración. Si esta opción de construcción y la opción en tiempo de ejecución session.use_trans_sid están habilitadas, las URI relativas se modificarán para contener el id de sesión automáticamente.

Nota:

La directiva de php.ini arg_separator.output permite personalizar el separador de argumentos. Para una conformidad completa con XHTML, especifique &amp; allí.

Alternativamente, se puede usar la constante SID, que está definida si la sesión se inició. Si el cliente no envía una cookie de sesión apropiada, tiene la forma session_name=session_id. De otro modo se desarrolla en una cadena vacía. Así, se puede embeberla incondicionalmente dentro de las URL.

El siguiente ejemplo muestra cómo registrar una variable, y cómo enlazar correctamente a otra página usando SID.

Ejemplo #1 Contar el número de peticiones de un sólo usuario

<?php

session_start();

if (empty($_SESSION['count'])) {
   $_SESSION['count'] = 1;
} else {
   $_SESSION['count']++;
}
?>

<p>
Hola visitante, ha visto esta página <?php echo $_SESSION['count']; ?> veces.
</p>

<p>
Para continuar, <a href="nextpage.php?<?php echo htmlspecialchars(SID); ?>">haga clic
aquí</a>.
</p>

La función htmlspecialchars() se puede usar cuando se imprime SID para prevenir ataques relacionados con XSS.

Imprimir SID, como se mostró arriba, no es necesario si --enable-trans-sid se usó para compilar PHP.

Nota:

Se asume que las URL no relativas apuntan a sitios externos y por lo tanto no añaden SID, ya que sería un riesgo para la seguridad filtrar SID a un servidor diferente.

Uso básico
Gestores de Sesión Personalizados
Ejemplos


Gestores de Sesión Personalizados

Para implementar el almacenamiento en bases de datos, o cualquier otro método de almacenamiento, se necesita usar session_set_save_handler() para crear un conjunto de funciones de almacenamiento a nivel de ususario. A partir de PHP 5.4.0 se pueden crear gestores de sesiones usando la clase SessionHandlerInterface o extendiendo los gestores internos de PHP heredando de la clase SessionHandler.

Las llamadas de retorno especificadas en session_set_save_handler() son métodos llamados por PHP durante el ciclo de vida de una sesión: open, read, write y close, y para las tareas domésticas: destroy para borrar una sesión y gc para la recoleción periódica de basura.

Por lo tanto, PHP siempre necesita gestores de almacenamiento de sesiones. El predeterminado normalmente es el gestor de almacenamiento interno 'files'. Se puede establecer un gestor de almacenamiento personalizado usando session_set_save_handler(). Se pueden porporcionar de forma alternativa gestores de almacenamiento interno mediante extensiones de PHP, tales como sqlite, memcache y memcached y pueden establecerse con session.save_handler.

Cuando se inicia la sesión, PHP llamará internamente al gestor open seguido de la llamada de retorno read la cual debería devolver una cadena codificada exactamente como si fuera pasada originalmente para almacenamiento. Una vez que la llamada de retorno read devuelve la cadena codificada, PHP la decodificará y rellenará el array resultante en la variable superglobal $_SESSION.

Cuando PHP se cierra (o se llama a session_write_close()), PHP codificará internamente la variable superglobal $_SESSION y la pasará conjuntamente con el ID de sesión a la llamada de retorno write. Después de finalizada la llamada de retorno write, PHP invocará internamente al gestor de llamada de retorno close.

Cuando una sesión se destruye de forma específica, PHP llamará al gestor destroy con el ID de sesión.

PHP llamará a la llamada de retorno gc de vez en cuando para terminar cualquier registro de sesión según lo establecido en el tiempo de vida máximo de una sesión. Esta rutina debería borrar todos los registros del almacenamiento persistente a los que se accedió por última vez más allá del parámetro $lifetime.

Pasar el ID de Sesión
Progreso de Subida en Sesiones
Ejemplos


Progreso de Subida en Sesiones

Cuando la opción INI session.upload_progress.enabled está habilitada, PHP podrá rastrear el progreso de subida de ficheros individuales que están siendo subidos. Esta información no es particularmente útil para la petición de subida real en sí misma, pero durante la subida del archivo, una aplicación puede enviar una petición POST a un nodo distinto (mediante XHR por ejemplo) para comprobar el estado.

El progreso de subida estará disponible en la variable superglobal $_SESSION cuando una subida está en progreso, y al usar POST con una variable con el mismo nombre al que está establecido el ajuste INI session.upload_progress.name. Cuando PHP detecta tales peticiones POST, rellenará un array en la variable $_SESSION, donde el índice es un valor concatenado de las opciones INI session.upload_progress.prefix y session.upload_progress.name. La clave se recupera normalmente leyendo estas opciones INI, es decir

<?php
$clave = ini_get("session.upload_progress.prefix") . $_POST[ini_get("session.upload_progress.name")];
var_dump($_SESSION[$clave]);
?>

También es posible cancelar la subida de ficheros que está en progreso, estableciendo la clave $_SESSION[$clave]["cancel_upload"] a TRUE. Cuando se suben múltiples ficheros en la misma petición, esto solamente cancelará la subida de ficheros que está en progreso, y las subidas de ficheros pendientes, pero no eliminará de manera satisfactoria las subidas completadas. Cuando una subida se cancela de esta manera, la clave error del array $_FILES será establecida a UPLOAD_ERR_EXTENSION.

Las opciones INI session.upload_progress.freq y session.upload_progress.min_freq controlan con qué frecuencia debería ser recalculada la información del progreso de subida. Con una cantidad razonable de estos dos ajustes, la sobrecarga de esta característica es casi inexistente

Ejemplo #1 Ejemplo de información

Ejemplo de la esctructura del array del progreso de subida.

<form action="upload.php" method="POST" enctype="multipart/form-data">
 <input type="hidden" name="<?php echo ini_get("session.upload_progress.name"); ?>" value="123" />
 <input type="file" name="file1" />
 <input type="file" name="file2" />
 <input type="submit" />
</form>

La información almacenada en la sesión se parecerá a esta:

<?php
$_SESSION["upload_progress_123"] = array(
 "start_time" => 1234567890,   // El instante de la petición
 "content_length" => 57343257, // longitud del contenido de POST
 "bytes_processed" => 453489,  // Cantidad de bytes recibidos y procesados
 "done" => false,              // True cuando el gestor de POST ha finalizado, satisfactoriamente o no
 "files" => array(
  0 => array(
   "field_name" => "file1",       // nombre del campo <input/>
   // Los siguientes 3 elementos son iguales que aquellos de $_FILES
   "name" => "foo.avi",
   "tmp_name" => "/tmp/phpxxxxxx",
   "error" => 0,
   "done" => true,                // True cuando el gestor de POST ha terminado de manejar este fichero
   "start_time" => 1234567890,    // Cuándo se empezo a procesar este fichero
   "bytes_processed" => 57343250, // Número de bytes recibidos y procesados de este fichero
  ),
  // Otro fichero, no terminado de subir, en la misma petición
  1 => array(
   "field_name" => "file2",
   "name" => "bar.avi",
   "tmp_name" => NULL,
   "error" => 0,
   "done" => false,
   "start_time" => 1234567899,
   "bytes_processed" => 54554,
  ),
 )
);

Advertencia

El almacenamiento en búfer de peticiones del servidor ha sido deshabilitado para que esto funcione apropiadamente, si no, PHP podría ver la subida de ficheros una vez realizada esta completamente. Los servidores como Nginx almacenan en búfer peticiones más granes.

Gestores de Sesión Personalizados
Sesiones y seguridad
Sesiones


Sesiones y seguridad

Enlaces externos: » Fijación de sesiones

El módulo de sesión no puede garantizar que la información que se almacena en una sesión sea vista sólo por el usuario que creó la sesión. Se necesita tomar medidas adicionales para proteger activamente la integridad de la sesión, dependiendo del valor asociado con ella.

Evalúe la importancia de la información soportada por sus sesiones y utilice protecciones adicionales -- esto normalmente conlleva un precio, reduciendo la comodidad para el usuario. Por ejemplo, si quiere proteger a los usuarios de tácticas de ingeniería social simples, necesita habilitar session.use_only_cookies. En este caso, las cookies deben estar activas incondicionalmente en el lado del usuario, o las sesiones no funcionarán.

Hay varias maneras de filtrar un id de sesión existente a terceros. Un id de sesión filtrada habilita al tercero a acceder a todos los recursos que están asociados con un id específico. Primero, las URL portan id de sesiones. Si enlaza con un sitio externo, la URL incluído el id de sesión podrían estar almacenados en el registro de consultas del sitio externo. Segundo, un atacante más activo podría escuchar su tráfico de red. Si no está encriptado, el id de sesión fluirá en texto plano por la red. La solución aquí es implementar SSL en su servidor y hacerlo obligatorio para los usuarios.

Progreso de Subida en Sesiones
Funciones de sesión
Sesiones


Funciones de sesión

Tabla de contenidos

  • session_cache_expire — Devuelve la caducidad de la caché actual
  • session_cache_limiter — Obtener y/o establecer el limitador de caché actual
  • session_commit — Alias de session_write_close
  • session_decode — Decodifica la información de sesión desde una cadena de sesión codificada
  • session_destroy — Destruye toda la información registrada de una sesión
  • session_encode — Codifica los datos de la sesión actual como un string codificado de sesión
  • session_get_cookie_params — Obtener los parámetros de la cookie de sesión
  • session_id — Obtener y/o establecer el id de sesión actual
  • session_is_registered — Averiguar si una variable global está registrada en una sesión
  • session_module_name — Obtiene y/o establece el módulo de sesión actual
  • session_name — Obtener y/o establecer el nombre de la sesión actual
  • session_regenerate_id — Actualiza el id de sesión actual con uno generado más reciente
  • session_register_shutdown — Función de cierre de sesiones
  • session_register — Registrar una o más variables globales con la sesión actual
  • session_save_path — Obtener y/o establecer la ruta de almacenamiento de la sesión actual
  • session_set_cookie_params — Establecer los parámetros de la cookie de sesión
  • session_set_save_handler — Establece funciones de almacenamiento de sesiones a nivel de usuario
  • session_start — Iniciar una nueva sesión o reanudar la existente
  • session_status — Devuelve el estado de la sesión actual
  • session_unregister — Deja de registrar una variable global de la sesión actual
  • session_unset — Libera todas las variables de sesión
  • session_write_close — Escribir información de sesión y finalizar la sesión
Sesiones y seguridad
session_cache_expire
Sesiones


Devuelve la caducidad de la caché actual

Funciones de sesión
session_cache_limiter
Funciones de sesión
PHP Manual

session_cache_expire

(PHP 4 >= 4.2.0, PHP 5)

session_cache_expire — Devuelve la caducidad de la caché actual

Descripción

int session_cache_expire ([ string $new_cache_expire ] )

session_cache_expire() devuelve la configuración actual de session.cache_expire.

La caducidad de la caché se reinicia al valor predeterminado de 180 almacenado en session.cache_expire en el momento de iniciar una petición. Por lo tanto, se necesita llamar a session_cache_expire() por cada petición (y antes de llamar a session_start()).

Parámetros

new_cache_expire

Si se da new_cache_expire, la nueva caducidad de la caché se reemplaza por new_cache_expire.

Nota: La configuración de new_cache_expire es de valores sólamente, si session.cache_limiter se establece a un valor diferente de nocache.

Valores devueltos

Devuelve la configuración actual de session.cache_expire. El valor devuelto se debería leer en minutos, por defecto es 180.

Ejemplos

Ejemplo #1 Ejemplo de session_cache_expire()

<?php

/* establecer el limitador de caché a 'private' */

session_cache_limiter('private');
$cache_limiter = session_cache_limiter();

/* establecer la caducidad de la caché a 30 minutos */
session_cache_expire(30);
$cache_expire = session_cache_expire();

/* iniciar la sesión */

session_start();

echo "El limitador de caché ahora está establecido a $cache_limiter<br />";
echo "Las páginas de sesión examinadas caducan después de $cache_expire minutos";
?>

Ver también

  • session.cache_expire
  • session.cache_limiter
  • session_cache_limiter() - Obtener y/o establecer el limitador de caché actual

Funciones de sesión
session_cache_limiter
Funciones de sesión


Obtener y/o establecer el limitador de caché actual

session_cache_expire
session_commit
Funciones de sesión
PHP Manual

session_cache_limiter

(PHP 4 >= 4.0.3, PHP 5)

session_cache_limiter — Obtener y/o establecer el limitador de caché actual

Descripción

string session_cache_limiter ([ string $cache_limiter ] )

session_cache_limiter() devuelve el nombre del limitador de caché actual.

El limitador de caché define cuáles cabeceras HTTP de control de caché son enviadas al cliente. Estas cabeceras determinan las normas por las cuáles el contenido de la página puede ser examinada por el cliente y por los proxies intermediarios. Establecer el limitador de caché a nocache rechaza cualquier examen por parte del cliente/proxy. Un valor de public permite la examen por proxies y el client, mientras que private rechaza la examen por proxies y permite al cliente examinar el contenido.

En modo private, la cabecera Expire enviada al cliente puede causar confusión a algunos navegadores, incluido Mozilla. Se puede evitar este problema usando el modo private_no_expire. La cabecera Expire nunca se envía al cliente en este modo.

Establecer el limitador de cahcé a '' desactivará el envío automático de las cabeceras de caché completamente.

El limitador de caché se reinicia a su valor predeterminado almacenado en session.cache_limiter en el momento de iniciar una petición. Por lo tanto, se necesita llamar a session_cache_limiter() para cada petición (y antes de llamar a session_start()).

Parámetros

cache_limiter

Si se especifica cache_limiter, el nombre del limitador de caché actual se cambia por el nuevo valor.

Valores posibles
Valor Cabeceras enviadas
public
Expires: (algún momento en el futuro, según session.cache_expire)
Cache-Control: public, max-age=(algún momento en el futuro, según session.cache_expire)
Last-Modified: (la marca de tiempo de cuando la sesión fue guardada por última vez)
private_no_expire
Cache-Control: private, max-age=(session.cache_expire en el futuro), pre-check=(session.cache_expire en el futuro)
Last-Modified: (la marca de tiempo de cuando la sesión fue guardada por última vez)
private
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: private, max-age=(session.cache_expire en el futuro), pre-check=(session.cache_expire en el futuro)
Last-Modified: (la marca de tiempo de cuando la sesión fue guardada por última vez)
nocache
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache

Valores devueltos

Devuelve el nombre del limitador de caché actual.

Historial de cambios

Versión | Descripción
4.2.0 | Se añadió el limitador de caché private_no_expire.

Ejemplos

Ejemplo #1 Ejemplo de session_cache_limiter()

<?php

/* establecer el limitador de caché a 'private' */

session_cache_limiter('private');
$cache_limiter = session_cache_limiter();

echo "El limitador de caché ahora está establecido a $cache_limiter<br />";
?>

Ver también

  • session.cache_limiter

session_cache_expire
session_commit
Funciones de sesión


Alias de session_write_close

session_cache_limiter
session_decode
Funciones de sesión
PHP Manual

session_commit

(PHP 4 >= 4.4.0, PHP 5)

session_commit — Alias de session_write_close()

Descripción

Esta función es un alias de: session_write_close().

session_cache_limiter
session_decode
Funciones de sesión


Decodifica la información de sesión desde una cadena de sesión codificada

session_commit
session_destroy
Funciones de sesión
PHP Manual

session_decode

(PHP 4, PHP 5)

session_decode — Decodifica la información de sesión desde una cadena de sesión codificada

Descripción

bool session_decode ( string $data )

session_decode() decodifica la información de sesión serializada proporcianda en $data, y rellena la variable superglobal $_SESSION con el resultado.

Observe que el método de deserialización no es el mismo que unserialize(). El método de serialización es interno a PHP y se puede establecer usando session.serialize_handler.

Parámetros

data

La información codificada que va a ser alamcenada.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • session_encode() - Codifica los datos de la sesión actual como un string codificado de sesión
  • session.serialize_handler

session_commit
session_destroy
Funciones de sesión


Destruye toda la información registrada de una sesión

session_decode
session_encode
Funciones de sesión
PHP Manual

session_destroy

(PHP 4, PHP 5)

session_destroy — Destruye toda la información registrada de una sesión

Descripción

bool session_destroy ( void )

session_destroy() destruye toda la información asociada con la sesión actual. No destruye ninguna de las variables globales asociadas con la sesión, ni destruye la cookie de sesión. Para volver a utilizar las variables de sesión se debe llamar a session_start().

Para destruir la sesión completamente, como desconectar al usuario, el id de sesión también debe ser destruido. Si se usa una cookie para propagar el id de sesión (comportamiento por defecto), entonces la cookie de sesión se debe borrar. setcookie() se puede usar para eso.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Destruir una sesión con $_SESSION

<?php
// Inicializar la sesión.
// Si está usando session_name("algo"), ¡no lo olvide ahora!
session_start();

// Destruir todas las variables de sesión.
$_SESSION = array();

// Si se desea destruir la sesión completamente, borre también la cookie de sesión.
// Nota: ¡Esto destruirá la sesión, y no la información de la sesión!
if (ini_get("session.use_cookies")) {
    $params = session_get_cookie_params();
    setcookie(session_name(), '', time() - 42000,
        $params["path"], $params["domain"],
        $params["secure"], $params["httponly"]
    );
}

// Finalmente, destruir la sesión.
session_destroy();
?>

Notas

Nota:

Usar sólo session_unset() para códigos antiguos obsoletos que no usan $_SESSION.

Ver también

  • unset() - Destruye una variable especificada
  • setcookie() - Enviar una cookie

session_decode
session_encode
Funciones de sesión


Codifica los datos de la sesión actual como un string codificado de sesión

session_destroy
session_get_cookie_params
Funciones de sesión
PHP Manual

session_encode

(PHP 4, PHP 5)

session_encode — Codifica los datos de la sesión actual como un string codificado de sesión

Descripción

string session_encode ( void )

session_encode() devuelve un string serializado del contenido de los datos de la sesión actual almacenados en el array superglobal $_SESSION.

Observe que el método de serialización no es el mismo que el de serialize(). El método de serialización es interno a PHP y se puede establecer usando session.serialize_handler.

Valores devueltos

Devuelve el contenido de la sesión actual codificado.

Notas

Advertencia

Se debe llamar a session_start() antes de usar session_decode().

Ver también

  • session_decode() - Decodifica la información de sesión desde una cadena de sesión codificada
  • session.serialize_handler

session_destroy
session_get_cookie_params
Funciones de sesión


Obtener los parámetros de la cookie de sesión

session_encode
session_id
Funciones de sesión
PHP Manual

session_get_cookie_params

(PHP 4, PHP 5)

session_get_cookie_params — Obtener los parámetros de la cookie de sesión

Descripción

array session_get_cookie_params ( void )

Obtiene los parámetros de la cookie de sesión.

Valores devueltos

Devuelve una matriz con la información de la cookie de sesión actual, la matriz contiene los siguientes elementos:

  • "lifetime" - El tiempo de vida de la cookie en segundos.
  • "path" - La ruta donde se almacena la información.
  • "domain" - El dominio de la cookie.
  • "secure" - La cookie debería ser enviada solamente sobre conexiones seguras.
  • "httponly" - La cookie sólo puede ser accedida a través del protocolo HTTP.

Historial de cambios

Versión | Descripción
5.2.0 | La entrada "httponly" fue añadida en la matriz devuelta.
4.0.4 | La entrada "secure" fue añadida en la matriz devuelta.

Ver también

  • session.cookie_lifetime
  • session.cookie_path
  • session.cookie_domain
  • session.cookie_secure
  • session.cookie_httponly
  • session_set_cookie_params() - Establecer los parámetros de la cookie de sesión

session_encode
session_id
Funciones de sesión


Obtener y/o establecer el id de sesión actual

session_get_cookie_params
session_is_registered
Funciones de sesión
PHP Manual

session_id

(PHP 4, PHP 5)

session_id — Obtener y/o establecer el id de sesión actual

Descripción

string session_id ([ string $id ] )

session_id() se usa para obtener o establecer el id de sesión para la sesión actual.

La constante SID también se puede usar para recuperar el nombre y la sesión actuales como una cadena apropiada para añadir a las URL. Véase también Manejo de Sesiones.

Parámetros

id

Si se especifica id, reemplazará el id de sesión actual. session_id() necesita ser llamado antes de session_start() para este propósito. Dependiendo del gestor de sesión, no todos los caracteres están permitidos dentro del id de sesión. Por ejemplo, el gestor de archivo de sesión ¡sólo permite caracteres en el rango a-z A-Z 0-9 , (coma) y - (menos)!

Nota: Cuando se usan cookies de sesión, especificar un id para session_id() enviará siempre una nueva cookie cuando se llame a session_start(), sin importar si el id de sesión actual es idéntico al que se va a establecer.

Valores devueltos

session_id() devuelve el id de sesión para la sesión actual o la cadena vacía ("") si no hay sesión actual (no existe id de sesión actual).

Historial de cambios

Versión | Descripción
5.0.0 | Los caracteres , (coma) y - (menos) están permitidos en el gestor de archivo de sesión.

Ver también

  • session_regenerate_id() - Actualiza el id de sesión actual con uno generado más reciente
  • session_start() - Iniciar una nueva sesión o reanudar la existente
  • session_set_save_handler() - Establece funciones de almacenamiento de sesiones a nivel de usuario
  • session.save_handler

session_get_cookie_params
session_is_registered
Funciones de sesión


Averiguar si una variable global está registrada en una sesión

session_id
session_module_name
Funciones de sesión
PHP Manual

session_is_registered

(PHP 4, PHP 5 < 5.4.0)

session_is_registered — Averiguar si una variable global está registrada en una sesión

Descripción

bool session_is_registered ( string $name )

Averigua si una variable global está registrada en una sesión.

Advertencia

Esta función ha sido declarada OBSOLETA desde PHP 5.3.0 y ELIMINADA a partir de PHP 5.4.0.

Parámetros

name

El nombre de la variable.

Valores devueltos

session_is_registered() devuelve TRUE si hay una variable global con el nombre name registrada en la sesión actual, FALSE si no.

Notas

Nota:

Si se usa$_SESSION (o $HTTP_SESSION_VARS para PHP 4.0.6 o anterior), utilice isset() para verificar si una variable está registrada en $_SESSION.

Precaución

Si está usando $_SESSION
(o $HTTP_SESSION_VARS), no use
 session_register(),
 session_is_registered() y
 session_unregister().

session_id
session_module_name
Funciones de sesión


Obtiene y/o establece el módulo de sesión actual

session_is_registered
session_name
Funciones de sesión
PHP Manual

session_module_name

(PHP 4, PHP 5)

session_module_name — Obtiene y/o establece el módulo de sesión actual

Descripción

string session_module_name ([ string $module ] )

session_module_name() obtiene el nombre del módulo de sesión actual.

Parámetros

module

Si se especifica module, ese módulo será usado en su lugar.

Valores devueltos

Devuelve el nombre del módulo de sesión actual.

session_is_registered
session_name
Funciones de sesión


Obtener y/o establecer el nombre de la sesión actual

session_module_name
session_regenerate_id
Funciones de sesión
PHP Manual

session_name

(PHP 4, PHP 5)

session_name — Obtener y/o establecer el nombre de la sesión actual

Descripción

string session_name ([ string $name ] )

session_name() devuelve el nombre de la sesión actual. Si se da el nombre name, session_name() actualizará el nombre de la sesión y devolverá el nombre antiguo de la sesión.

El nombre de la sesión se reinicia al valor predeterminado almacenado en session.name en el momento de iniciar una petición. Por lo tanto, se necesita llamar a session_name() por cada petición (y antes de llamar a session_start() o session_register()).

Parámetros

name

El nombre de la sesión hace referencia al nombre de la sesión usado cookies y URLs (p.ej. PHPSESSID). Debería contener sólo caracteres alfanuméricos; debería ser corto y descriptivo (esto es, para usuarios con las advertencias de cookies habilitadas). Si se especifica name, el nombre de la sesión actual se cambia por su valor.

Advertencia

El nombre de la sesión no puede consistir en dígitos solamente, debe de estar presente al menos una letra. De otro modo se genera un nuevo id de sesión cada vez.

Valores devueltos

Devuelve el nombre de la sesión actual.

Ejemplos

Ejemplo #1 Ejemplo de session_name()

<?php

/* establecer el nombre de la sesión a WebsiteID */

$nombre_anterior = session_name("WebsiteID");

echo "El nombre anterior de la sesión era $nombre_anterior<br />";
?>

Ver también

  • La directiva de configuración session.name

session_module_name
session_regenerate_id
Funciones de sesión


Actualiza el id de sesión actual con uno generado más reciente

session_name
session_register_shutdown
Funciones de sesión
PHP Manual

session_regenerate_id

(PHP 4 >= 4.3.2, PHP 5)

session_regenerate_id — Actualiza el id de sesión actual con uno generado más reciente

Descripción

bool session_regenerate_id ([ bool $delete_old_session = false ] )

session_regenerate_id() reemplazará el id de sesión actual por uno nuevo, y mantendrá la información de la sesión actual.

Parámetros

delete_old_session

Si se borra el archivo asociado antiguo o no.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
4.3.3 | Desde entonces, si las cookies de sesiones están habilitadas, el uso de session_regenerate_id() también presentará una nueva cookie de sesión con el nuevo id de sesión.
5.1.0 | Añadido el parámetro delete_old_session.

Ejemplos

Ejemplo #1 Un ejemplo de session_regenerate_id()

<?php
session_start();

$id_sesion_antigua = session_id();

session_regenerate_id();

$id_sesion_nueva = session_id();

echo "Sesión Antigua: $id_sesion_antigua<br />";
echo "Sesión Nueva: $id_sesion_nueva<br />";

print_r($_SESSION);
?>

Ver también

  • session_id() - Obtener y/o establecer el id de sesión actual
  • session_start() - Iniciar una nueva sesión o reanudar la existente
  • session_name() - Obtener y/o establecer el nombre de la sesión actual

session_name
session_register_shutdown
Funciones de sesión


Función de cierre de sesiones

session_regenerate_id
session_register
Funciones de sesión
PHP Manual

session_register_shutdown

(PHP >=5.4.0)

session_register_shutdown — Función de cierre de sesiones

Descripción

void session_register_shutdown ( void )

Registra session_write_close() como una función de cierre.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Emite un error de nivel E_WARNING si la función de cierre falla.

session_regenerate_id
session_register
Funciones de sesión


Registrar una o más variables globales con la sesión actual

session_register_shutdown
session_save_path
Funciones de sesión
PHP Manual

session_register

(PHP 4, PHP 5 < 5.4.0)

session_register — Registrar una o más variables globales con la sesión actual

Descripción

bool session_register ( mixed $name [, mixed $... ] )

session_register() acepta un número variable de argumentos, cualquiera que pueda ser o una cadena que contenga el nombre de una variable o una matriz que consista en nombres de variables u otras matrices. Por cada nombre, session_register() registra la variable global con ese nombre en la sesión actual.

También se puede crear una variable de sesión estableciendo simplemente el miembro apropiado de la matriz $_SESSION o $HTTP_SESSION_VARS (PHP < 4.1.0).

<?php
// El uso de session_register() está obsoleto
$barney = "Un gran dinosaurio púrpura.";
session_register("barney");

// Se prefiere el uso de $_SESSION, a partir de PHP 4.1.0
$_SESSION["zim"] = "Un invasor de otro planeta.";

// La forma antigua era usar $HTTP_SESSION_VARS
$HTTP_SESSION_VARS["bobesponja"] = "Tiene pantalones cuadrados.";
?>

Si no se llamó a session_start() antes de llamar a esta función, se hará una llamada implícita a session_start() sin parámetros. $_SESSION no imita este comportamiento y requiere que session_start() se use antes.

Advertencia

Esta función ha sido declarada OBSOLETA desde PHP 5.3.0 y ELIMINADA a partir de PHP 5.4.0.

Parámetros

name

Una cadena de contiene el nombre de una variable o una matriz que consiste en nombres de variables u otras matrices.

...

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Precaución

Si quiere que su script funcione sin tener en cuenta register_globals, necesita usar en su lugar la matriz $_SESSION ya que las entradas de $_SESSION se registran automáticamente. Si su script usa session_register(), no funcionará en entornos donde la directiva de PHP register_globals esté deshabilitada.

Nota: register_globals: Observación importante

Desde PHP 4.2.0, el valor por defecto de la directiva register_globals es off. La comunidad de PHP desaconseja el uso de esta directiva y sugiere el uso de otras formas como superglobals.

Precaución

Esto registra una variable global. Si no desea registrar una variable de sesión desde dentro de una función, necesita asegurarse de hacerla global usando la palabra clave global o la matriz $GLOBALS[], o use las matrices de sesión especiales como está anotado debajo.

Precaución

Si está usando $_SESSION
(o $HTTP_SESSION_VARS), no use
 session_register(),
 session_is_registered(), y
 session_unregister().

Nota:

Actualmente es imposible registrar variables de recursos en una sesión. Por ejemplo, no se puede crear una conexión a una base de datos y almacenar el id de conexión como una variable de sesión y esperar que la conexión aún sea válida la siguiente vez que se restaure la sesión. Las funciones de PHP que devuelven un recurso están identificadas por tener un tipo de retorno de resource en sus definiciones de función. Una lista de funciones que devuelven recursos está disponible en el apéndice tipos de recursos.

Si se usa $_SESSION (o $HTTP_SESSION_VARS para PHP 4.0.6 o anterior), asigne valores a $_SESSION. Por ejemplo: $_SESSION['var'] = 'ABC';

Ver también

  • session_is_registered() - Averiguar si una variable global está registrada en una sesión
  • session_unregister() - Deja de registrar una variable global de la sesión actual
  • $_SESSION

session_register_shutdown
session_save_path
Funciones de sesión


Obtener y/o establecer la ruta de almacenamiento de la sesión actual

session_register
session_set_cookie_params
Funciones de sesión
PHP Manual

session_save_path

(PHP 4, PHP 5)

session_save_path — Obtener y/o establecer la ruta de almacenamiento de la sesión actual

Descripción

string session_save_path ([ string $path ] )

session_save_path() devuelve la ruta del directorio actual usado para guardar la información de sesión.

Parámetros

path

La ruta de la información de sesión. Si se especifica, la ruta de la información guardada se cambiará. session_save_path() necesita ser llamada antes de session_start() para ese propósito.

Nota:

En algunos sistemas operativos, se puede querer especificar una ruta en un sistema de archivos que gestione muchos archivos pequeños de manera eficaz. Por ejemplo, en Linux, reiserfs puede proporcionar un mejor rendimiento que ext2fs.

Valores devueltos

Devuelve la ruta del directorio actual usado para el almacenamiento de información.

Ver también

  • La directiva de configuración session.save_path

session_register
session_set_cookie_params
Funciones de sesión


Establecer los parámetros de la cookie de sesión

session_save_path
session_set_save_handler
Funciones de sesión
PHP Manual

session_set_cookie_params

(PHP 4, PHP 5)

session_set_cookie_params — Establecer los parámetros de la cookie de sesión

Descripción

void session_set_cookie_params ( int $lifetime [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]] )

Establece los parámetros de la cookie definidos en el archivo php.ini. El efecto de esta función sólo se mantiene para la duración del script. Por lo tanto, se necesita llamar a session_set_cookie_params() por cada petición y antes de llamar a session_start().

Esta función actualiza los valores ini en tiempo de ejecución de las claves de configuración ini de PHP que pueden ser recuperadas con la función ini_get().

Parámetros

lifetime

Tiempo de vida de la cookie de sesión, definido en segundos.

path

Ruta en el dominio donde la cookie trabajará. Use una barras simple ('/') para todas las rutas en el dominio.

domain

Dominio de la cookie, por ejemplo 'www.php.net'. Para hacer las cookies visibles en todos los sub-dominios, el dominio debe ser prefijado con un punto, como '.php.net'.

secure

Si es TRUE la cookie sólo será enviada sobre conexiones seguras.

httponly

Si es TRUE PHP intentará enviar la bandera httponly cuando se establezca la cookie de sesión.

Valores devueltos

No devuelve ningún valor.

Historial de cambios

Versión | Descripción
5.2.0 | Se añadió el parámetro httponly.
4.0.4 | Se añadió el parámetro secure.

Ver también

  • session.cookie_lifetime
  • session.cookie_path
  • session.cookie_domain
  • session.cookie_secure
  • session.cookie_httponly
  • session_get_cookie_params() - Obtener los parámetros de la cookie de sesión

session_save_path
session_set_save_handler
Funciones de sesión


Establece funciones de almacenamiento de sesiones a nivel de usuario

session_set_cookie_params
session_start
Funciones de sesión
PHP Manual

session_set_save_handler

(PHP 4, PHP 5)

session_set_save_handler — Establece funciones de almacenamiento de sesiones a nivel de usuario

Descripción

bool session_set_save_handler ( callable $open , callable $close , callable $read , callable $write , callable $destroy , callable $gc )

Desde PHP 5.4 es posible registrar el siguiente prototipo:

bool session_set_save_handler ( SessionHandlerInterface $sessionhandler [, bool $register_shutdown = true ] )

session_set_save_handler() establece las funciones de almacenamiento de sesiones a nivel de usuario que se usan para almacenar y recuperar información asociada con una sesión. Es más útil cuando se prefiere un método de almacenamiento distinto de aquellos proporcionados por las sesiones de PHP. Esto es, almacenar la información de sesión en una base de datos local.

Parámetros

Esta función tiene dos prototipos.

sessionhandler

Una instancia de una clase que implemente SessionHandlerInterface, tal como SessionHandler, para registrarla como el gestor de sesión. Sólo desde PHP 5.4.

register_shutdown

Registrar la función session_write_close() como una función register_shutdown_function().

o
open(string $savePath, string $sessionName)

La llamada de retorno open funciona como un constructor en las clases y es ejecutada cuando la sesión está siendo abierta. Es la primera función de llamada de retorno ejecutada cuando la sesión se inicia automáticamente o manualmente con session_start(). El valor devuelto es TRUE en caso de éxito, FALSE en caso de error.

close()

La llamada de retorno close funciona como un destructor en las clases y es ejecutada después de haber llamado a la llamada de retorno write de la sesión. También se invoca cuando se llama a session_write_close(). El valor devuelto debería ser TRUE en caso de éxito, FALSE en caso de error.

read(string $sessionId)

La llamada de retorno read debe devolver siempre una cadena de sesión (serializada), o una cadena vacía si no existe información que leer.

Esta llamada de retorno es llamda internamente por PHP cuando se inicia la sesión o cuando se llama a session_start(). Antes de invocar a esta llamada de sesión PHP invocará a la llamda de retorno open.

El valor que devuelve esta llamada de retorno debe estar exactamente en el mismo formato de serialización que fue originalmente pasado para el almacenamiento de la llamada de retorno write. El valor devuelto será deserializado automáticamente por PHP y srá usado para rellenar la variable superglobal $_SESSION. Aunque la información parezca similar a serialize(), observe que está en un formato diferente, el cual está especificado en la configuración ini session.serialize_handler.

write(string $sessionId, string $data)

La llamada de retorno write es llamada cuando la sesión necesita ser almacenada y cerrada. Esta llamada de retorno recibe el ID de sesión actual, una versión serializada de la variable superglobal $_SESSION. El método de serialización usado internamente por PHP está especificado en la configuración ini session.serialize_handler.

La información serializada de sesión pasada a esta llamada de retorno debería ser almacenada junto con el ID de sesión pasado. Al recuperar esta información, la llamada de retorno read debe devolver el valor exacto que fue pasado originalmente a la llamda de retorno write.

Esta llamada de retorno es invocada cuando PHP se cierra o cuando se llamda explícitamente a session_write_close(). Observe que después de ejecutar esta función PHP ejecutará internamente la llamada de retorno close.

Nota:

El gestor "write" no se ejecuta hasta después de que se cierre el flujo de salida. Así, la salida desde declaraciones de depuración en el gestor "write" nunca serán vistas en el navegador. Si es necesaria la salida de depuración, se sugiere que la salida de depuración sea escrita en un archivo en su lugar.

destroy($sessionId)

Esta llamada de retorno es ejecutada cuando una sesión es destruida con session_destroy() o con session_regenerate_id() con el parámetro destroy establecido en TRUE. El valor devuelto debería ser TRUE en caso de éxito, FALSE en caso de error.

gc($lifetime)

La llamada de retorno del recolector de basura (Garbage Collector) es invocada internamente por PHP de manera periódica para destruir información antigua de sesiones. La frecuencia es controlada por session.gc_probability y session.gc_divisor. El valor del tiempo de vida (lifetime) que es pasado a esta llamada de retorno puede establecerse en session.gc_maxlifetime. El valor devuelto debería ser TRUE en caso de éxito, FALSE en caso de error.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Gestor de seseiones personalizado: véase el código completo en la sinopsis de SessionHandlerInterface.

El siguiente código es para la versión 5.4.0 y superiror de PHP. Aquí se muestra la invocación, el código completo puede verse en la sinopsis de SessionHandlerInterface vinculada más arriba.

Observe que usamos el prototipo de POO con session_set_save_handler() y registramos la función de cierre usando la bandera de parámetro de la función. Esto se recomienda generalmente al registrar objetos como gestores de almacenamiento de sesiones.

<?php
class MySessionHandler implements SessionHandlerInterface
{
    // implementar las interfaces aquí
}

$handler = new MySessionHandler();
session_set_save_handler($handler, true);
session_start();

// proceder a estblecer y recuperar valores mediante clave desde $_SESSION

Ejemplo #2 Gestor de almacenamiento de sesiones personalizado usando objetos

El siguiente código es para versiones de PHP inferiores a 5.4.0.

El siguiente ejemplo proporciona un almacenamiento de sesiones basado en fichero similar al gestor de almacenamiento de sesiones de PHP predeterminado files. Este ejemplo podría extenderse fácilmente para cubrir el almacenamiento de bases de datos usando su motor de bases de datos favorito soportado por PHP.

Observe que registramos de forma adicional la función de cierre session_write_close() usando register_shutdown_function() bajo PHP inferior a 5.4.0. Esto se recomienda generalmente al registrar objetos como gestores de almacenamiento de sesiones bajo PHP inferior a 5.4.0.

<?php
class FileSessionHandler
{
    private $savePath;

    function open($savePath, $sessionName)
    {
        $this->savePath = $savePath;
        if (!is_dir($this->savePath)) {
            mkdir($this->savePath, 0777);
        }

        return true;
    }

    function close()
    {
        return true;
    }

    function read($id)
    {
        return (string)@file_get_contents("$this->savePath/sess_$id");
    }

    function write($id, $data)
    {
        return file_put_contents("$this->savePath/sess_$id", $data) === false ? false : true;
    }

    function destroy($id)
    {
        $file = "$this->savePath/sess_$id";
        if (file_exists($file)) {
            unlink($file);
        }

        return true;
    }

    function gc($maxlifetime)
    {
        foreach (glob("$this->savePath/sess_*") as $file) {
            if (filemtime($file) + $maxlifetime < time() && file_exists($file)) {
                unlink($file);
            }
        }

        return true;
    }
}

$handler = new FileSessionHandler();
session_set_save_handler(
    array($handler, 'open'),
    array($handler, 'close'),
    array($handler, 'read'),
    array($handler, 'write'),
    array($handler, 'destroy'),
    array($handler, 'gc')
    );

// lo siguiente previene de efectos inesperados al usar objetos como gestores de almacenamiento
register_shutdown_function('session_write_close');

session_start();
// proceder para establecer y recuperar valores por clave desde $_SESSION

Notas

Advertencia

Cuando se usan objetos como gestores de almacenamiento de sesionea es importante registrar la función de cierre con PHP para evitar efectos secundarios inesperados ya que PHP internamente destruye objetos en el cierre y puede prevenir que write y close sean llamados. Normalmente se debería registrar 'session_write_close' usando la función register_shutdown_function().

A partir de PHP 5.4.0 se puede usar session_register_shutdown() o simplemente la bandera 'register shutdown' al invocar session_set_save_handler() usando el método de POO the OOP y pasando una instancia que implemente SessionHandlerInterface.

Advertencia

A partir de PHP 5.0.5 los gestores write y close son llamados después de la destrucción del objeto y por lo tanto no pueden usar objetos o lanzar excepciones. Las excepciones no pueden ser capturadas ya que no serán capturadas ni cualquier rastro de excepción será mostrado y la ejecución se interrumpirá de improviso. Sin embargo, los destructores de objetos pueden usar sesiones.

Es posible llamar a session_write_close() desde el destructor para solucionar este problema de "quién fue antes, si el huevo o la gallina" pero la forma más fiable es registrar la función de ceirre como está descrito más arraba.

Advertencia

El directorio de trabajo actual es cambiado en algunas SAPI si la sesión se cierra al finalizar el script. Es posible cerrar la sesión antes con session_write_close().

Historial de cambios

Versión | Descripción
5.4.0 | Se añadió SessionHandlerInterface para la implementación de gestores de sesión y SessionHandler para exponer gestores de sesión internos de PHP.

Ver también

  • La directiva de configuración session.save_handler.
  • La directiva de configuración session.serialize_handler.
  • La función register_shutdown_function() - Registrar una función para que sea ejecutada al cierre
  • La función session_register_shutdown() - Función de cierre de sesiones para PHP 5.4.0+

session_set_cookie_params
session_start
Funciones de sesión


Iniciar una nueva sesión o reanudar la existente

session_set_save_handler
session_status
Funciones de sesión
PHP Manual

session_start

(PHP 4, PHP 5)

session_start — Iniciar una nueva sesión o reanudar la existente

Descripción

bool session_start ( void )

session_start() crea una sesión o reanuda la actual basada en un identificador de sesión pasado mediante una petición GET o POST, o pasado mediante una cookie.

Cuando session_start() es llamada o cuando se autoinicia una sesión, PHP llamará a los gestores de almacenamiento de sesiones open y read. Éstos serán un gestor de almacenamiento proporcionado por omisión o por extensiones de PHP (como SQLite o Memcached); o pueden ser un gestor personalizado como está definido en session_set_save_handler(). La llamada de retorno read recuperará cualquier información se de sesión existente (almacenada en un formato serializado especial) y será deserializada y usada para rellenar automáticamente la variable superglobal $_SESSION cuando la llamada de retorno read devuelva la información de sesión guardada a la gestión de sesiones de PHP.

Para usar una sesión nominada llame a session_name() antes de llamar a session_start().

Cuando session.use_trans_sid está habilidado, la función session_start() registrará un gestor de salida interno para la reescritura de URL.

Si un usuario utiliza ob_gzhandler o similar con ob_start(), el orden de las funciones es importante para la salida adecuada. Por ejemplo, ob_gzhandler se debe registrar antes de iniciar una sesión.

Valores devueltos

Esta función devuleve TRUE si una sesión fue iniciada satisfactoriamente, si no, devuelve FALSE.

Historial de cambios

Versión | Descripción
5.3.0 | Si una sesión falla al iniciarse, se devuelve FALSE. Anteriormente se devolvía TRUE.
4.3.3 | A partir de PHP 4.3.3, llamar a session_start() después de que una sesión estuviera previamente iniciada resultaba en un error de nivel E_NOTICE. También, el segundo inicio de sesión se ignoraba simplemente.

Ejemplos

Ejemplo #1 Un ejemplo se sesión: pagina1.php

<?php
// pagina1.php

session_start();

echo 'Bienvenido a la página #1';

$_SESSION['color']  = 'verde';
$_SESSION['animal'] = 'gato';
$_SESSION['time']   = time();

// Trabajar si la cookie de sesión fue aceptada
echo '<br /><a href="pagina2.php">página 2</a>';

// O quizás pasar el id de sesión, si fuera necesario
echo '<br /><a href="pagina2.php?' . SID . '">página 2</a>';
?>

Después de ver pagina1.php, la segunda página pagina2.php contendrá mágicamente la información de la sesión. Lea la referencia de sesiones para informarse sobre propagar las id de sesiones ya que explica, por ejemplo, en qué consiste la constante SID.

Ejemplo #2 Un ejemplo de sesión: pagina2.php

<?php
// pagina2.php

session_start();

echo 'Bienvenido a la página #2<br />';

echo $_SESSION['color'];  // verde
echo $_SESSION['animal']; // gato
echo date('Y m d H:i:s', $_SESSION['time']);

// Puede querer usar SID aquí, como hicimos en pagina1.php
echo '<br /><a href="pagina1.php">página 1</a>';
?>

Notas

Nota:

Para usar sesiones basadas en cookies, session_start() debe ser llamada antes de imprimir cualquier cosa en el navegador.

Nota:

Se recomienda el uso de zlib.output_compression en vez de ob_gzhandler()

Nota:

Esta función envía varias cabeceras HTTP dependiendo de la configuración. Véase session_cache_limiter() para personalizar estas cabeceras.

Ver también

  • $_SESSION
  • La directiva de configuarción session.auto_start
  • session_id() - Obtener y/o establecer el id de sesión actual

session_set_save_handler
session_status
Funciones de sesión


Devuelve el estado de la sesión actual

session_start
session_unregister
Funciones de sesión
PHP Manual

session_status

(PHP >=5.4.0)

session_status — Devuelve el estado de la sesión actual

Descripción

int session_status ( void )

session_status() se usa para devolver el estado de la sesión actual

Valores devueltos

  • PHP_SESSION_DISABLED si las sesiones están deshabilitadas.
  • PHP_SESSION_NONE si las sesiones están habilidatas, pero no existe ninguna.
  • PHP_SESSION_ACTIVE si las sesiones están habilidatas, y existe una.

Ver también

  • session_start() - Iniciar una nueva sesión o reanudar la existente
session_start
session_unregister
Funciones de sesión


Deja de registrar una variable global de la sesión actual

session_status
session_unset
Funciones de sesión
PHP Manual

session_unregister

(PHP 4, PHP 5 < 5.4.0)

session_unregister — Deja de registrar una variable global de la sesión actual

Descripción

bool session_unregister ( string $name )

session_unregister() deja de registrar una variable global name de la sesión actual.

Advertencia

Esta función ha sido declarada OBSOLETA desde PHP 5.3.0 y ELIMINADA a partir de PHP 5.4.0.

Parámetros

name

El nombre de la variable.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota:

Si se usa $_SESSION (o $HTTP_SESSION_VARS para PHP 4.0.6 o anterior), utilice unset() para dejar de registrar una variable de sesión. No use unset() con $_SESSION ya que deshabilitará la función especial de la matriz superglobal $_SESSION.

Precaución

Esta función no destruye la variable global correspondiente para name, sólo impide que la variable sea guardada como parte de la sesión. Se debe llamar a unset() para eliminar la variable global correspondiente.

Precaución

Si está usando $_SESSION (o
$HTTP_SESSION_VARS), no use
 session_register(),
 session_is_registered() y
 session_unregister().

session_status
session_unset
Funciones de sesión


Libera todas las variables de sesión

session_unregister
session_write_close
Funciones de sesión
PHP Manual

session_unset

(PHP 4, PHP 5)

session_unset — Libera todas las variables de sesión

Descripción

void session_unset ( void )

La función session_unset() libera todas las variables de sesión actualmente registradas.

Valores devueltos

No devuelve ningún valor.

Notas

Nota:

Si se usa $_SESSION (o $HTTP_SESSION_VARS para PHP 4.0.6 o anterior), utilice unset() para dejar de registrar una variable de sesión, esto es, unset ($_SESSION['nombre_variable']);.

Precaución

NO destruya completamente $_SESSION con unset($_SESSION) ya que esto deshabilitará el registro de variables de sesión a través del array superglobal $_SESSION.

session_unregister
session_write_close
Funciones de sesión


Escribir información de sesión y finalizar la sesión

session_unset
SessionHandler
Funciones de sesión
PHP Manual

session_write_close

(PHP 4 >= 4.0.4, PHP 5)

session_write_close — Escribir información de sesión y finalizar la sesión

Descripción

void session_write_close ( void )

Finaliza la sesión actual y almacena la información de la sesión.

La información de la sesión normalmente se almacena después de que el script termine sin la necesidad de llamar a session_write_close(), pero ya que la información de la sesión está bloqueada para prevenir escrituras concurrentes, sólo el script puede operar sobre una sesión cada vez. Cuando se usan sub-ventanas (frames) junto con sesiones, experimentará que las sub-ventanas se cargan de una en una debido a este bloqueo. Puede reducir el tiempo necesario para cargar todas las sub-ventanas finalizando la sesión tan pronto como todos los cambios a las variables de sesión estén hechos.

Valores devueltos

No devuelve ningún valor.

Ver también

  • La función session_register_shutdown() - Función de cierre de sesiones

session_unset
SessionHandler
Funciones de sesión


La clase SessionHandler

(PHP 5 >= 5.4.0)

Introducción

SessionHandler es una clase especial que puede usarse para exponer el gestor de almacenamiento de sesiones interno actual de PHP por herencia. Existen seis métodos que envuelven las seis llamadas de retorno del gestor de almacenamiento de sesiones (open, close, read, write, destroy y gc). Por defecto, esta clase envolverá cualquier gestor de almacenamiento que esté establecido como está definido por la directiva de configuración session.save_handler, el cual normalmente es files por omisión. Otros gestores de almacenamiento de sesión internos son proporcionados por extensiones de PHP tales como SQLite (como sqlite), Memcache (como memcache), y Memcached (como Memcached).

Cuando se establece una simple instancia de SessionHandler como el gestor de almacenamiento usando session_set_save_handler(), envolverá los gestores de almacenamiento actuales. Una clase que extienda de SessionHandler permite sobrescribir los métodos o interceptarlos o filtrarlos llamando a los métodos de la clase madre, los cuales en última instancia envolverán los gestores de sesiones de PHP internos.

Esto permite, por ejemplo, interceptar los métodos read y write para encriptar/desencriptar la información de sesión y luego pasar el resultado hacia y desde la clase madre. De forma alternativa se podría elegir sobrescribir por completo un método como la llamada de retorno del recolector de basura gc.

Ya que SessionHandler envuelve los métodos del gestor de almacenamiento interno actual, el ejemplo de arriba de encriptación puede aplicarse a cualquier gestor de almacenamiento interno sin tener que conocer los entresijos de los gestores.

Para usar esta clase, primero establezca el gestor de almacenamiento que desee exponer usando session.save_handler y luego pasar una instancia de SessionHandler o una que la extienda a session_set_save_handler().

Observe que los métodos de llamda de retorno de esta clase están diseñados para ser llamados internamente por PHP y no para ser llamados desde código de espacio de usuario. Los valores devueltos son igualmente procesados internamente por PHP. Para más información sobre el flujo de trabajo de sesiones consulte session_set_save_handler().

Sinopsis de la Clase

SessionHandler implements SessionHandlerInterface {
/* Métodos */
public bool close ( void )
public bool destroy ( string $session_id )
public bool gc ( int $maxlifetime )
public bool open ( string $save_path , string $session_id )
public string read ( string $session_id )
public bool write ( string $session_id , string $session_data )
}
Advertencia

Esta clase está diseñada para exponer el gestor de almacenamiento de sesiones interno de PHP, si quiere escribir sus propios gestores de almacenamiento, implemente la interfaz SessionHandlerInterface en lugar de extender desde SessionHandler.

Ejemplo #1 Usar SessionHandler para añadir encriptación a los gestores de almacenamiento internos de PHP.

<?php
class EncryptedSessionHandler extends SessionHandler
{
    private $clave;

    public function __construct($clave)
    {
        $this->clave = $clave
    }

    public function read($id)
    {
        $datos = parent::read($id);

        return mcrypt_decrypt(MCRYPT_3DES, $this->clave, $datos, MCRYPT_MODE_ECB);
    }

    public function write($id, $datos)
    {
        $datos = mcrypt_encrypt(MCRYPT_3DES, $this->clave, $datos, MCRYPT_MODE_ECB);

        return parent::write($id, $datos);
    }
}

// interceptaremos el gestor nativo 'files', pero funcionaría de igual forma
// con otros gestores nativos interno como 'sqlite', 'memcache' o 'memcached'
// que son proporcionados por extensiones de PHP.
ini_set('session.save_handler', 'files');
$gestor = new EncryptedSessionHandler('miclave');
session_set_save_handler($gestor, true);
session_start();

// proceder para establecer y recuperar valores por clave desde $_SESSION

Nota:

Ya que los métodos de esta clase están diseñados para se llamados internamente por PHP como parte del flujo de trabajo normal, las llamadas de las clases hijas a los métodos padre (es decir, los gestores nativos internos reales) devolverán FALSE a menos que la sesión haya sido iniciada realmente (automáticamente o explícitamente mediante session_start()). Es importante considerar esto cuando se escriben unidades de pruebas donde los métodos de la clase podrían ser invocados manualmente.

Tabla de contenidos

  • SessionHandler::close — Cerrar la sesión
  • SessionHandler::destroy — Destruir una sesión
  • SessionHandler::gc — Eliminar las sesiones antiguas
  • SessionHandler::open — Inicializar una sesión
  • SessionHandler::read — Leer información de la sesión
  • SessionHandler::write — Escribir información de sesión
session_write_close
SessionHandler::close
Sesiones


Cerrar la sesión

SessionHandler
SessionHandler::destroy
SessionHandler
PHP Manual

SessionHandler::close

(PHP 5 >= 5.4.0)

SessionHandler::close — Cerrar la sesión

Descripción

public bool SessionHandler::close ( void )

Cierra la sesión actual. Este método es ejecutado de forma automática internamente por PHP al cerrar la sesión, o explícitamente mediante la función session_write_close() (la cual llama primero a la función SessionHandler::write()).

Este método envuelve el gestor de almacenamiento interno de PHP definido en el ajuste ini session.save_handler que fue establecido antes de que este gestor fuese activado mediante session_set_save_handler().

Si esta clase se extiende por herencia, al llamar al método padre close invocará a la envoltura para este método y así invocará a la llamada de retorno interna asociada. Esto permite que el método sea sobrescrito y/o interceptado.

Para más información sobre lo que se espera que haga este método, consulte la documentación de SessionHandlerInterface::close().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El valor devuelto (normalmente TRUE en caso de éxito, FALSE en caso de error). Observe que este valor es devuelto internamente a PHP para procesamiento.

SessionHandler
SessionHandler::destroy
SessionHandler


Destruir una sesión

SessionHandler::close
SessionHandler::gc
SessionHandler
PHP Manual

SessionHandler::destroy

(PHP 5 >= 5.4.0)

SessionHandler::destroy — Destruir una sesión

Descripción

public bool SessionHandler::destroy ( string $session_id )

Destruye una sesión. Es llamado internamente por PHP con session_regenerate_id() (se asume que $destory está establecido a TRUE, mediante session_destroy() o cuando session_decode() falla.

Este método envuelve el gestor de almacenamiento interno de PHP definido en el ajuste ini session.save_handler que fue establecido antes de que este gestor fuese establecido mediante session_set_save_handler().

Si esta clase se extiende por herencia, al llamar al método padre destroy invocará a la envoltura para este método y así invocará a la llamada de retorno interna asociada. Esto permite que este método sea sobrescrito y/o interceptado y filtrado.

Para más información sobre lo que se espera que haga este método, consulte la documentación de SessionHandlerInterface::destroy().

Parámetros

session_id

El ID de sesión a ser destruido.

Valores devueltos

El valor devuelto (normalmente TRUE en caso de éxito, FALSE en caso de error). Observe que este valor es devuelto internamente a PHP para procesamiento.

SessionHandler::close
SessionHandler::gc
SessionHandler


Eliminar las sesiones antiguas

SessionHandler::destroy
SessionHandler::open
SessionHandler
PHP Manual

SessionHandler::gc

(PHP 5 >= 5.4.0)

SessionHandler::gc — Eliminar las sesiones antiguas

Descripción

public bool SessionHandler::gc ( int $maxlifetime )

Elimina las sesiones expiradas. Es llamado de forma aleatoria internamente por PHP al iniciar una sesión o cuando se invoca a session_start(). La frecuencia con la que es llamado está basada en las directivas de configuración session.gc_divisor y session.gc_probability.

Este método envuelve el gestor de almacenamiento interno de PHP definido en el ajuste ini session.save_handler que fue establecido antes de que este gestor fuese establecido mediante session_set_save_handler().

Si esta clase se extiende por herencia, al llamar al método padre gc invocará a la envoltura para este método y así invocará a la llamada de retorno interna asociada. Esto permite que el método sea sobrescrito y/o interceptado.

Para más información sobre lo que se espera que haga este método, consulte la documentación de SessionHandlerInterface::gc().

Parámetros

maxlifetime

Las sesiones que no se han actualizado desde los últimos maxlifetime segundos serán eliminadas.

Valores devueltos

El valor devuelto (normalmente TRUE en caso de éxito, FALSE en caso de error). Observe que este valor es devuelto internamente a PHP para procesamiento.

SessionHandler::destroy
SessionHandler::open
SessionHandler


Inicializar una sesión

SessionHandler::gc
SessionHandler::read
SessionHandler
PHP Manual

SessionHandler::open

(PHP 5 >= 5.4.0)

SessionHandler::open — Inicializar una sesión

Descripción

public bool SessionHandler::open ( string $save_path , string $session_id )

Crea una nueva sesión, o reinicializa una sesión existente. Es llamado internamente por PHP cuando se inicia una sesión automáticamente o cuando se invoca a session_start().

Este método envuelve el gestor de almacenamiento interno de PHP definido en el ajuste ini session.save_handler que fue establecido antes de que este gestor fuese establecido mediante session_set_save_handler().

Si esta clase se extiende por herencia, al llamar al método padre open invocará a la envoltura para este método y así invocará a la llamada de retorno interna asociada. Esto permite que este método sea sobrescrito y/o interceptado.

Para más información sobre lo que se espera que haga este método, consulte la documentación de SessionHandlerInterface::open().

Parámetros

save_path

La ruta donde almacenar/recuperar la sesión.

session_id

El id de la sesión.

Valores devueltos

El valor devuelto (normalmente TRUE en caso de éxito, FALSE en caso de error). Observe que este valor es devuelto internamente a PHP para procesamiento.

Ver también

  • La directiva de configuración session.auto-start.

SessionHandler::gc
SessionHandler::read
SessionHandler


Leer información de la sesión

SessionHandler::open
SessionHandler::write
SessionHandler
PHP Manual

SessionHandler::read

(PHP 5 >= 5.4.0)

SessionHandler::read — Leer información de la sesión

Descripción

public string SessionHandler::read ( string $session_id )

Lee la información de la sesión desde el almacén de sesiones, y devuelve los resultados a PHP para su procesamiento interno. Este método es llamado automáticamente por PHP cuando se inicia una sesión (automáticamente o explícitamente con session_start()) y está precedido por una llamada interna a la función SessionHandler::open().

Este método envuelve el gestor de almacenamiento interno de PHP definido en el ajuste ini session.save_handler que fue establecido antes de que este gestor fuese establecido mediante session_set_save_handler().

Si esta clase se extiende por herencia, al llamar al método padre read invocará a la envoltura para este método y así invocará a la llamada de retorno interna asociada. Esto permite que el método sea sobrescrito y/o interceptado y filtrado (por ejemplo, desencriptando el valor de $data devuelto por el método padre read).

Para más información sobre lo que se espera que haga este método, consulte la documentación de SessionHandlerInterface::close().

Parámetros

session_id

El id de sesión de donde leer la información.

Valores devueltos

Devuelve una cadena codificada de la información leída. Si no se leyó nada, debe devolver una cadena vacía. Observe que este valor es devuelto internamente a PHP para su procesamiento.

Ver también

  • La directiva de configuración session.serialize_handler.

SessionHandler::open
SessionHandler::write
SessionHandler


Escribir información de sesión

SessionHandler::read
SessionHandlerInterface
SessionHandler
PHP Manual

SessionHandler::write

(PHP 5 >= 5.4.0)

SessionHandler::write — Escribir información de sesión

Descripción

public bool SessionHandler::write ( string $session_id , string $session_data )

Escribe la información de la sesión en el almacén de sesiones. Es llamado por el cierre normal de PHP, por session_write_close(), o cuando session_register_shutdown() falla. PHP llamará a SessionHandler::close() inmediatemente después de que este método devuelva.

Este método envuelve el gestor de almacenamiento interno de PHP definido en el ajuste ini session.save_handler que fue establecido antes de que este gestor fuese establecido mediante session_set_save_handler().

Si esta clase se extiende por herencia, al llamar al método padre write invocará a la envoltura para este método y así invocará a la llamada de retorno interna asociada. Esto permite que este método sea sobrescrito y/o interceptado y filtrado (por ejemplo, encriptando el valor de $data antes de enviarlo al método padre write).

Para más información sobre lo que se espera que haga este método, consulte la documentación de SessionHandlerInterface::write().

Parámetros

session_id

El id de la sesión.

session_data

La información de sesión codificada. Esta información es el resultado de codificar internamente la variable superglobal $_SESSION a una cadena serializada y pasarla como este parámetro. Observe que las sesiones usan un método de serialización alternativo.

Valores devueltos

El valor devuelto (normalmente TRUE en caso de éxito, FALSE en caso de error). Observe que este valor es devuelto internamente a PHP para procesamiento.

Ver también

  • La directiva de configuración session.serialize_handler.

SessionHandler::read
SessionHandlerInterface
SessionHandler


La clase SessionHandlerInterface

(PHP 5 >= 5.4.0)

Introducción

SessionHandlerInterface es una interfaz que define un prototipo para crear un gestor de sesiones personalizado. Para pasar un gestor de sesiones personalizado a session_set_save_handler() usando su invocación de POO, la clase debe implementar esta interfaz.

Observe que los métodos de llamada de retorno de esta clase están diseñados para ser llamados internamente por PHP y no para ser llamados desde código de espacio de usuario.

Sinopsis de la Clase

SessionHandlerInterface {
/* Métodos */
abstract public bool close ( void )
abstract public bool destroy ( string $session_id )
abstract public bool gc ( string $maxlifetime )
abstract public bool open ( string $save_path , string $name )
abstract public string read ( string $session_id )
abstract public bool write ( string $session_id , string $session_data )
}

Ejemplo #1 Ejemplo usando SessionHandlerInterface

El siguiente ejemplo proporciona almacenamiento de sesiones basado en ficheros similar al gestor de almacenamiento de sesiones predeterminado de PHP files. Este ejemplo podría fácilmente ser extendido para cubrir almacenamiento de bases de datos usando su motor de bases de datos favorito soportado por PHP.

Observe que usamos el prototipo de POO con session_set_save_handler() y registramos la función de cierre usando la bandera de parámetro de la función. Esto normalmente es aconsejable al registrar objetos como gestores de almacenamiento de sesiones.

<?php
class MySessionHandler implements SessionHandlerInterface
{
    private $savePath;

    public function open($savePath, $sessionName)
    {
        $this->savePath = $savePath;
        if (!is_dir($this->savePath)) {
            mkdir($this->savePath, 0777);
        }

        return true;
    }

    public function close()
    {
        return true;
    }

    public function read($id)
    {
        return (string)@file_get_contents("$this->savePath/sess_$id");
    }

    public function write($id, $data)
    {
        return file_put_contents("$this->savePath/sess_$id", $data) === false ? false : true;
    }

    public function destroy($id)
    {
        $file = "$this->savePath/sess_$id";
        if (file_exists($file)) {
            unlink($file);
        }

        return true;
    }

    public function gc($maxlifetime)
    {
        foreach (glob("$this->savePath/sess_*") as $file) {
            if (filemtime($file) + $maxlifetime < time() && file_exists($file)) {
                unlink($file);
            }
        }

        return true;
    }
}

$handler = new MySessionHandler();
session_set_save_handler($handler, true);
session_start();

// proceed to set and retrieve values by key from $_SESSION

Tabla de contenidos

  • SessionHandlerInterface::close — Cerrar la sesión
  • SessionHandlerInterface::destroy — Destruir una sesión
  • SessionHandlerInterface::gc — Limpieza de sesiones antiguas
  • SessionHandlerInterface::open — Inicializar una sesión
  • SessionHandlerInterface::read — Leer información de sesión
  • SessionHandlerInterface::write — Escribir información de sesión
SessionHandler::write
SessionHandlerInterface::close
Sesiones


Cerrar la sesión

SessionHandlerInterface
SessionHandlerInterface::destroy
SessionHandlerInterface
PHP Manual

SessionHandlerInterface::close

(PHP 5 >= 5.4.0)

SessionHandlerInterface::close — Cerrar la sesión

Descripción

abstract public bool SessionHandlerInterface::close ( void )

Cierra la sesión actual. Esta función se ejecuta automáticamente al cerrar la sesión, o explícitamente mediante session_write_close().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El valor devuelto (normalmente TRUE en caso de éxito, FALSE en caso de error). Observe que este valor es devuelto internamente a PHP para procesamiento.

SessionHandlerInterface
SessionHandlerInterface::destroy
SessionHandlerInterface


Destruir una sesión

SessionHandlerInterface::close
SessionHandlerInterface::gc
SessionHandlerInterface
PHP Manual

SessionHandlerInterface::destroy

(PHP 5 >= 5.4.0)

SessionHandlerInterface::destroy — Destruir una sesión

Descripción

abstract public bool SessionHandlerInterface::destroy ( string $session_id )

Destruye una sesión. Llamado por session_regenerate_id() (con $destroy = TRUE), session_destroy() y cuando session_decode() falla.

Parámetros

session_id

El ID de sesión a ser destruido.

Valores devueltos

El valor devuelto (normalmente TRUE en caso de éxito, FALSE en caso de error). Observe que este valor es devuelto internamente a PHP para procesamiento.

SessionHandlerInterface::close
SessionHandlerInterface::gc
SessionHandlerInterface


Limpieza de sesiones antiguas

SessionHandlerInterface::destroy
SessionHandlerInterface::open
SessionHandlerInterface
PHP Manual

SessionHandlerInterface::gc

(PHP 5 >= 5.4.0)

SessionHandlerInterface::gc — Limpieza de sesiones antiguas

Descripción

abstract public bool SessionHandlerInterface::gc ( string $maxlifetime )

Limpia las sesiones expiradas. Llamado por session_start(), basado en las configuraciones session.gc_divisor, session.gc_probability y session.gc_lifetime.

Parámetros

maxlifetime

Las sesiones que no han sido actualizadas desde los últimos maxlifetime segundos serán eliminadas.

Valores devueltos

El valor devuelto (normalmente TRUE en caso de éxito, FALSE en caso de error). Observe que este valor es devuelto internamente a PHP para procesamiento.

SessionHandlerInterface::destroy
SessionHandlerInterface::open
SessionHandlerInterface


Inicializar una sesión

SessionHandlerInterface::gc
SessionHandlerInterface::read
SessionHandlerInterface
PHP Manual

SessionHandlerInterface::open

(PHP 5 >= 5.4.0)

SessionHandlerInterface::open — Inicializar una sesión

Descripción

abstract public bool SessionHandlerInterface::open ( string $save_path , string $name )

Reinicializa una sesión existente, o crea una nueva. Llamado cuando una sesión se inicia o cuando se invoca a session_start().

Parámetros

save_path

La ruta donde almacenar/recuperar la sesión.

name

El nombre de la sesión.

Valores devueltos

El valor devuelto (normalmente TRUE en caso de éxito, FALSE en caso de error). Observe que este valor es devuelto internamente a PHP para procesamiento.

Ver también

  • session_name() - Obtener y/o establecer el nombre de la sesión actual
  • La directiva de configuración session.auto-start.

SessionHandlerInterface::gc
SessionHandlerInterface::read
SessionHandlerInterface


Leer información de sesión

SessionHandlerInterface::open
SessionHandlerInterface::write
SessionHandlerInterface
PHP Manual

SessionHandlerInterface::read

(PHP 5 >= 5.4.0)

SessionHandlerInterface::read — Leer información de sesión

Descripción

abstract public string SessionHandlerInterface::read ( string $session_id )

Lee la información de sesión desde el almacenamiento de sesiones, y devuelve el resultado. Llamado justo después de iniciarse una sesión o cuando es llamada session_start(). Observe que antes de que este método sea llamado SessionHandlerInterface::open() es invocado.

Este método es llmado por PHP cuando la sesión es iniciada. Este método debería recuperar la información de sesión desde el almacenamiento mediante el ID de sesión proporcionado. La cadena devuelta por este método debe estar en el mismo formato serializado que el orgibal pasado a SessionHandlerInterface::write() Si no se encuentra el registro, devuelve una cadena vacía.

La información devuelta por este método será decodificada internamente por PHP usando el método de deserialización especificado en session.serialize_handler. La información resultante será usada para rellenar la variable superglobal $_SESSION.

Observe que el esquema de serialización no es el mismo que unserialize() y pudede accederse a él mediante session_decode().

Parámetros

session_id

El ID de sesión.

Valores devueltos

Devuelve una cadena codificada de la información leída. Si no se leyó nada, debe devolver una cadena vacía. Observe que este valor es devuelto internamente por PHP para procesamiento.

Ver también

  • La directiva de configuración session.serialize_handler.

SessionHandlerInterface::open
SessionHandlerInterface::write
SessionHandlerInterface


Escribir información de sesión

SessionHandlerInterface::read
Session PgSQL
SessionHandlerInterface
PHP Manual

SessionHandlerInterface::write

(PHP 5 >= 5.4.0)

SessionHandlerInterface::write — Escribir información de sesión

Descripción

abstract public bool SessionHandlerInterface::write ( string $session_id , string $session_data )

Escribe información de sesión al almacenamiento de sesiones. Llamado por session_write_close(), cuando session_register_shutdown() falla, o durante un cierre normal. Nota: SessionHandlerInterface::close() es llamado inmediantamente después de esta función.

PHP llamará a este método cuando la sesión esté lista para ser almacenada y cerrada. Codifica la información de sesión desde la variable superglobal $_SESSION a una cadena serializada y la pasa junto con el ID de sersión a este método para el almacenamiento. El método de serialización usado está especificado en la configuración session.serialize_handler.

Observe que este método normalmente es llamado por PHP después de que los buffers de salida hayan sido cerrados a menos que se llame explícitamente a session_write_close()

Parámetros

session_id

El ID de sesión.

session_data

La información de sesión codificada. Esta información es el resultado de que PHP codifique internamente la variable supergobal $_SESSION a una cadena serializada y pasarla a este parámetro. Observe que las sesiones usan un método de serialización alternativo.

Valores devueltos

El valor devuelto (normalmente TRUE en caso de éxito, FALSE en caso de error). Observe que este valor es devuelto internamente a PHP para procesamiento.

Ver también

  • La directiva de configuración session.serialize_handler.

SessionHandlerInterface::read
Session PgSQL
SessionHandlerInterface


PostgreSQL Session Save Handler

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Definiciones de tabla
  • Constantes predefinidas
  • Session PgSQL Funciones
    • session_pgsql_add_error — Increments error counts and sets last error message
    • session_pgsql_get_error — Returns number of errors and last error message
    • session_pgsql_get_field — Get custom field value
    • session_pgsql_reset — Reset connection to session database servers
    • session_pgsql_set_field — Set custom field value
    • session_pgsql_status — Get current save handler status
SessionHandlerInterface::write
Introducción
Extensiones de sesiones


Introducción

Nota: Esta extensión no está disponible en plataformas Windows.

This module provides an additional session save handler for the session module using » PostgreSQL as a storage system. A user-level session storage function may also be used - session_set_save_handler(), but this module is written in C and therefore could be twice as fast, compared to a session save handler written in PHP.

Session PgSQL is designed to scale any size of web sites and offers some advanced features:

  • session tables are created automatically
  • automatic session table vacuum
  • better garbage collection
  • multiple PostgreSQL servers support
  • automatic database server failover (switching)
  • automatic database server load balancing if there are multiple PostgreSQL servers.
  • short circuit UPDATE

Session PgSQL
Instalación/Configuración
Session PgSQL


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Session PgSQL


Requerimientos

Necesita al menos PHP >= 4.3.0, y PostgreSQL >=7.2.0 como servidor de base de datos. libpq que viene con PostgreSQL 7.2.0 o superior (y archivos de encabezado a construir) y » libmm (y ficheros de cabecera).

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión se considera no mantenida y muerta. Sin embargo, el código fuente para esta extensión sigue estando disponible dentro de PECL SVN aquí: » http://svn.php.net/viewvc/pecl/session_pgsql.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

PostgreSQL session save handler está aún en desarrollo. Consulte el fichero README en la distribución del código fuente para detalles de configuración.

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Configuración en tiempo de ejecución
Definiciones de tabla
Instalación/Configuración


Definiciones de tabla

Definición de tabla de la sesión

CREATE TABLE php_session (
 sess_id            text,
 sess_name          text,
 sess_data          text,
 sess_created       integer,
 sess_modified      integer,
 sess_expire        integer,
 sess_addr_created  text,
 sess_addr_modified text,
 sess_counter       integer,
 sess_error         integer,
 sess_warning       integer,
 sess_notice        integer,
 sess_err_message   text,
 sess_custom        text
);

CREATE INDEX php_session_idx ON php_session USING BTREE (sess_id);

Advertencia

Si se utiliza HASH para INDEX, tendrá un problema de bloqueo cuando la carga del servidor es muy alta. Incluso si es poco probable que tenga un bloqueamiento en el funcionamiento normal, puede ocurrir. No use HASH para INDEX.

Usted puede cambiar la tabla de sesiones mientras todos los campos están definidos.

Definición de la tabla de variables de aplicación

CREATE TABLE php_app_vars (
 app_modified       integer,
 app_name           text,
 app_vars           text
);

Tipos de recursos
Constantes predefinidas
Session PgSQL


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Definiciones de tabla
Session PgSQL Funciones
Session PgSQL


Session PgSQL Funciones

Información de contacto

En este momento no hay mucho tiempo para seguir desallorando esta extensión. Se van a implementar más características en un futuro próximo.

Si usted tiene comentarios, correcciones, mejoras o quiere ayudar a desarrollar puede enviarme un correo a » yohgaki@php.net. Cualquier ayuda es bienvenida.

Tabla de contenidos

  • session_pgsql_add_error — Increments error counts and sets last error message
  • session_pgsql_get_error — Returns number of errors and last error message
  • session_pgsql_get_field — Get custom field value
  • session_pgsql_reset — Reset connection to session database servers
  • session_pgsql_set_field — Set custom field value
  • session_pgsql_status — Get current save handler status
Constantes predefinidas
session_pgsql_add_error
Session PgSQL


Increments error counts and sets last error message

Session PgSQL Funciones
session_pgsql_get_error
Session PgSQL Funciones
PHP Manual

session_pgsql_add_error

(PECL session_pgsql SVN)

session_pgsql_add_error — Increments error counts and sets last error message

Descripción

bool session_pgsql_add_error ( int $error_level [, string $error_message ] )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

error_level

error_message

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • session_pgsql_get_error() - Returns number of errors and last error message

Session PgSQL Funciones
session_pgsql_get_error
Session PgSQL Funciones


Returns number of errors and last error message

session_pgsql_add_error
session_pgsql_get_field
Session PgSQL Funciones
PHP Manual

session_pgsql_get_error

(PECL session_pgsql SVN)

session_pgsql_get_error — Returns number of errors and last error message

Descripción

array session_pgsql_get_error ([ bool $with_error_message = false ] )

Get the number of errors and optional the error messages.

Parámetros

with_error_message

Set to TRUE the literal error message for each error is also returned.

Valores devueltos

The number of errors are returned as array.

Ver también

  • session_pgsql_add_error() - Increments error counts and sets last error message

session_pgsql_add_error
session_pgsql_get_field
Session PgSQL Funciones


Get custom field value

session_pgsql_get_error
session_pgsql_reset
Session PgSQL Funciones
PHP Manual

session_pgsql_get_field

(PECL session_pgsql SVN)

session_pgsql_get_field — Get custom field value

Descripción

string session_pgsql_get_field ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

  • session_pgsql_set_field() - Set custom field value

session_pgsql_get_error
session_pgsql_reset
Session PgSQL Funciones


Reset connection to session database servers

session_pgsql_get_field
session_pgsql_set_field
Session PgSQL Funciones
PHP Manual

session_pgsql_reset

(PECL session_pgsql SVN)

session_pgsql_reset — Reset connection to session database servers

Descripción

bool session_pgsql_reset ( void )

Reset the connection to the session database servers.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

session_pgsql_get_field
session_pgsql_set_field
Session PgSQL Funciones


Set custom field value

session_pgsql_reset
session_pgsql_status
Session PgSQL Funciones
PHP Manual

session_pgsql_set_field

(PECL session_pgsql SVN)

session_pgsql_set_field — Set custom field value

Descripción

bool session_pgsql_set_field ( string $value )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

value

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • session_pgsql_get_field() - Get custom field value

session_pgsql_reset
session_pgsql_status
Session PgSQL Funciones


Get current save handler status

session_pgsql_set_field
Procesamiento de texto
Session PgSQL Funciones
PHP Manual

session_pgsql_status

(PECL session_pgsql SVN)

session_pgsql_status — Get current save handler status

Descripción

array session_pgsql_status ( void )
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

session_pgsql_set_field
Procesamiento de texto
Session PgSQL Funciones


Procesamiento de texto

  • BBCode — Bulletin Board Code
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de BBCode
  • PCRE — Expresiones Regulares (Compatible con Perl)
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Patrones PCRE
    • Funciones de PCRE
  • Expresiones Regulares POSIX — Expresiones Regulares (POSIX Extendido)
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de expresiones regulares POSIX
  • ssdeep — ssdeep Fuzzy Hashing
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones ssdeep
  • Strings
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de strings
    • Registro de cambios
session_pgsql_status
BBCode
Referencia de funciones


Bulletin Board Code

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de BBCode
    • bbcode_add_element — Añade un elemento bbcode
    • bbcode_add_smiley — Añade un smiley al analizador
    • bbcode_create — Crea un resource de BBCode
    • bbcode_destroy — Cierra un recurso BBCode_container
    • bbcode_parse — Analiza un string siguiendo el set de reglas dado
    • bbcode_set_arg_parser — Añade otro analizador para usar otro set de reglas para analizar argumentos
    • bbcode_set_flags — Establece o cambia las opciones del analizador
Procesamiento de texto
Introducción
Procesamiento de texto


Introducción

Esta extensión tiene como propósito ayudar a analizar texto con BBCode para convertirlo en HTML o cualquier otro lenguaje basado en etiquetas. Utiliza un análisis "en una pasada" y proporciona una gran mejora en la velocidad por encima de las habituales aproximaciones basadas en expresiones regulares. Es más, ayuda a generar un código HTML válido reordenando etiquestas abiertas o cerradas y cerrando automáticamente etiquetas no cerradas.

Desde 0.10.1 soporta uso de argumentos mediante comillas simples, comillas dobles y comillas dobles escapadas en HTML.

BBCode
Instalación/Configuración
BBCode


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
BBCode


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/bbcode

Una solución alternativa, escrita en PHP, es el paquete PEAR » HTML_BBCodeParser.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

Se utiliza un resource en la extensión BBCode: un BBCode_Container retornado por bbcode_create().

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

BBCODE_TYPE_NOARG (integer)
Esta etiqueta BBcode no acepta ningún argumento.
BBCODE_TYPE_SINGLE (integer)
Esta etiqueta BBcode no tiene una etiqueta de cierre.
BBCODE_TYPE_ARG (integer)
Esta etiqueta BBcode necesita un argumento.
BBCODE_TYPE_OPTARG (integer)
Esta etiqueta BBCode acepta un argumento opcional.
BBCODE_TYPE_ROOT (integer)
Esta etiqueta BBCode es la etiqueta especial raíz (nivel 0 de anidamiento.
BBCODE_FLAGS_ARG_PARSING (integer)
Esta etiqueta BBCode requiere un argumento de sub-análisis (este argumento es también analizado por la extensión BBCode). A partir de 0.10.2 se puede usar otro analizador para los argumentos.
BBCODE_FLAGS_CDATA_NOT_ALLOWED (integer)
Esta etiqueta BBCode no acepta contenido (lo vacía automáticamente).
BBCODE_FLAGS_SMILEYS_ON (integer) - desde 0.10.2
Esta etiqueta BBCode acepta smileys.
BBCODE_FLAGS_SMILEYS_OFF (integer) - desde 0.10.2
Esta etiqueta BBCode no acepta smileys.
BBCODE_FLAGS_ONE_OPEN_PER_LEVEL (integer) - desde 0.10.2
Esta etiqueta BBCode se cierra automáticamente si otra etiqueta del mismo tipo se encuentra al mismo nivel de anidamiento.
BBCODE_FLAGS_REMOVE_IF_EMPTY (integer) - desde 0.10.2
Esta etiqueta BBCode se elimina automáticamente si no tiene contenido; permite generar un HTML más ligero.
BBCODE_FLAGS_DENY_REOPEN_CHILD (integer) - desde 0.10.3
Esta etiqueta BBCode no permite que sus hijos que no están cerrados se reabran cuando se cierran automáticamente.
BBCODE_ARG_DOUBLE_QUOTE (integer) - desde 0.10.2
Esta es una opción del analizador para permitir entrecomillar argumentos con comillas dobles (")
BBCODE_ARG_SINGLE_QUOTE (integer) - desde 0.10.2
Esta es una opción del analizador para permitir entrecomillar argumentos con comillas simples (')
BBCODE_ARG_HTML_QUOTE (integer) - desde 0.10.2
Esta es una opción del analizador para permitir entrecomillar argumentos con la versión HTML de comillas dobles(&quot;)
BBCODE_ARG_QUOTE_ESCAPING (integer) - desde 1.0.2
Esta es una opción del analizador para permitir que los argumentos entre comillas puedan ser escapados; esto permite encontrar el delimitador de las comillas, el carácter de espape \, en el string. Puede escapar cualquiera de las comillas o a si mismo. Si se encuentra delante de un caracter no escapable, se eliminará. El comportamiento por defecto es no usar escapado.
BBCODE_AUTO_CORRECT (integer) - desde 0.10.2
Esta es una opción del analizador para cambiar la forma en la que son tratados los errores. Automáticamente cierra etiquetas en el orden que se han abierto. Y trata las etiquetas con una única etiqueta abierta como si hubiera una etiqueta de cierre presente.
BBCODE_CORRECT_REOPEN_TAGS (integer) - desde 0.10.2
Esta es una opción del analizador para cambiar la forma en la que son tratados los errores. Atuomáticamente reabre etiquetas si las etiquetas de cierre no están en el orden correcto.
BBCODE_DISABLE_TREE_BUILD (integer) - desde 0.10.2
Esta es una opción del analizador deshabilitando el analizador de BBCode. Es útil cuando únicamente debe usarse la sustitución de smileys.
BBCODE_DEFAULT_SMILEYS_ON (integer) - desde 0.10.2
Esta es una opción del analizador para activar los smileys si no hay ningún flag a nivel de etiqueta.
BBCODE_DEFAULT_SMILEYS_OFF (integer) - desde 0.10.2
Esta es una opción del analizador para desactivar los smileys si no hay ningún flag a nivel de etiqueta.
BBCODE_FORCE_SMILEYS_OFF (integer) - desde 0.10.2
Esta es una opción del analizador deshabilitando completamente el analizador de smileys.
BBCODE_SMILEYS_CASE_INSENSITIVE (integer) - desde 0.10.3
No distingue entre mayúscular y minúsculas para la detección de smileys en vez de realizar una búsqueda binaria simple.
BBCODE_SET_FLAGS_SET (integer) - desde 0.10.2
Permite establecer el flag SET en todo el analizador.
BBCODE_SET_FLAGS_ADD (integer) - desde 0.10.2
Permite cambiar el flag a ON en el analizador.
BBCODE_SET_FLAGS_REMOVE (integer) - desde 0.10.2
Permite cambiar el flag a OFF en el analizador.
Tipos de recursos
Funciones de BBCode
BBCode


Funciones de BBCode

Tabla de contenidos

  • bbcode_add_element — Añade un elemento bbcode
  • bbcode_add_smiley — Añade un smiley al analizador
  • bbcode_create — Crea un resource de BBCode
  • bbcode_destroy — Cierra un recurso BBCode_container
  • bbcode_parse — Analiza un string siguiendo el set de reglas dado
  • bbcode_set_arg_parser — Añade otro analizador para usar otro set de reglas para analizar argumentos
  • bbcode_set_flags — Establece o cambia las opciones del analizador
Constantes predefinidas
bbcode_add_element
BBCode


Añade un elemento bbcode

Funciones de BBCode
bbcode_add_smiley
Funciones de BBCode
PHP Manual

bbcode_add_element

(PECL bbcode >= 0.9.0)

bbcode_add_element — Añade un elemento bbcode

Descripción

bool bbcode_add_element ( resource $bbcode_container , string $tag_name , array $tag_rules )

Añade una etiqueta al set de BBCode_Container usando tag_rules.

Parámetros

bbcode_container

Resource BBCode_Container, retornado por bbcode_create().

tag_name

La nueva etiqueta a añadir al set de BBCode_Container.

tag_rules

Un array asociativo conteniendo las reglas para el analizador; ver bbcode_create() para las claves disponibles.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Funciones de BBCode
bbcode_add_smiley
Funciones de BBCode


Añade un smiley al analizador

bbcode_add_element
bbcode_create
Funciones de BBCode
PHP Manual

bbcode_add_smiley

(PECL bbcode >= 0.10.2)

bbcode_add_smiley — Añade un smiley al analizador

Descripción

bool bbcode_add_smiley ( resource $bbcode_container , string $smiley , string $replace_by )

Añade un smiley al analizador

Parámetros

bbcode_container

Resource BBCode_Container, retornado por bbcode_create().

smiley

El string a ser reemplazado cuando se encuentre.

replace_by

El string que reemplaza al smiley.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de uso de bbcode_add_smiley()

<?php
/*
 * Preparamos el set de reglas
 */
$arrayBBCode=array(
    ''=>         array('type'=>BBCODE_TYPE_ROOT,
                       'childs'=>'!i'),
    'b'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<b>',
                       'close_tag'=>'</b>'),
    'u'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<u>',
                       'close_tag'=>'</u>',
                       'flags'=>BBCODE_FLAGS_SMILEYS_OFF),
    'i'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<i>',
                       'close_tag'=>'</i>',
                       'childs'=>'b'),
);
/*
 * Texto a analizar
 */
$texto = <<<EOF
[i] Sin cambios [/i] :)
[b] Analizado, con smiley :( [/b]
[u] Analizado, sin smiley :D [/u]
EOF;
/*
 * Inicializamos el analizador
 */
$BBHandler=bbcode_create($arrayBBCode);
/*
 * Añadimos al analizador reglas para los smileys
 */
bbcode_add_smiley($BBHandler, ":)", "<img src=\"smiley.gif\" alt=\":)\" />");
bbcode_add_smiley($BBHandler, ":(", "<img src=\"sad.gif\" alt=\":(\" />");
bbcode_add_smiley($BBHandler, ":D", "<img src=\"happy.gif\" alt=\":D\" />");
bbcode_add_smiley($BBHandler, ":p", "<img src=\"tong.gif\" alt=\":p\" />");
bbcode_add_smiley($BBHandler, ":|", "<img src=\"special.gif\" alt=\":|\" />");
bbcode_add_smiley($BBHandler, ":6:", "<img src=\"six.gif\" alt=\":6:\" />");
/*
 * Analizamos el texto
 */
echo bbcode_parse($BBHandler, $texto);
?>

El resultado del ejemplo sería:

<i> Sin cambios </i> <img src="smiley.gif" alt=":)" />
<b> Analizado, con smiley <img src="sad.gif" alt=":(" /> </b>
<u> Analizado, sin smiley :D </u>

bbcode_add_element
bbcode_create
Funciones de BBCode


Crea un resource de BBCode

bbcode_add_smiley
bbcode_destroy
Funciones de BBCode
PHP Manual

bbcode_create

(PECL bbcode >= 0.9.0)

bbcode_create — Crea un resource de BBCode

Descripción

resource bbcode_create ([ array $bbcode_initial_tags = NULL ] )

Esta función retorna un nuevo resource de BBCode usado para analizar strings BBCode.

Parámetros

bbcode_initial_tags

Un array asociativo que contiene el nombre de la etiqueta como clave y los parámetros requeridos para analizar correctamente el BBCode por su valor. Se soportan los siguientes pares clave/valor:

  • flags opcional - un set de flags basado en las constantes BBCODE_FLAGS_*.
  • type requerido - un int indicando el tipo de etiqueta. Usar las constantes BBCODE_TYPE_*.
  • open_tag requerido - el string HTML usado para reemplazar a la etiqueta de apertura.
  • close_tag requerido - el string HTML usado para reemplazar a la etiqueta de cierre.
  • default_arg opcional - usar este valor como el argumento por defecto si no se indica uno y tag_type es de tipo OPTARG.
  • content_handling opcional - proporciona la llamada de retorno usada para modificar el contenido. La Notación Orientada a Objetos soportada únicamente desde 0.10.1 El prototipo para la llamada de retorno es: string nombre(string $contenido, string $argumento)
  • param_handling opcional - proporciona la llamada de retorno usada para la modificación del argumento. La Notación Orientada a Objetos soportada únicamente desde 0.10.1 El prototipo para la llamada de retorno es: string nombre(string $contenido, string $argumento)
  • childs opcional - lista de hijos aceptados para la etiqueta. El formato de la lista es un string de valores separados por comas. Si la lista comienza con ! entonces es la lista de hijos no permitidos para la etiqueta.
  • parent opcional - lista de padres aceptados para la etiqueta. El formato de la lista es un string de valores separados por comas.

Valores devueltos

Retorna un resource BBCode_Container

Ejemplos

Ejemplo #1 Ejemplo de bbcode_create()

<?php
$arrayBBCode = array(
    ''=>         array('type'=>BBCODE_TYPE_ROOT,  'childs'=>'!i'),
    'i'=>        array('type'=>BBCODE_TYPE_NOARG, 'open_tag'=>'<i>',
                    'close_tag'=>'</i>', 'childs'=>'b'),
    'url'=>      array('type'=>BBCODE_TYPE_OPTARG,
                    'open_tag'=>'<a href="{PARAM}">', 'close_tag'=>'</a>',
                    'default_arg'=>'{CONTENT}',
                    'childs'=>'b,i'),
    'img'=>      array('type'=>BBCODE_TYPE_NOARG,
                    'open_tag'=>'<img src="', 'close_tag'=>'" />',
                    'childs'=>''),
    'b'=>        array('type'=>BBCODE_TYPE_NOARG, 'open_tag'=>'<b>',
                    'close_tag'=>'</b>'),
);
$texto = <<<EOF
[b]Texto en negrita[/b]
[i]Texto en cursiva[/i]
[url]http://www.php.net/[/url]
[url=http://pecl.php.net/][b]Contenido[/b][/url]
[img]http://static.php.net/www.php.net/images/php.gif[/img]
[url=http://www.php.net/]
[img]http://static.php.net/www.php.net/images/php.gif[/img]
[/url]
EOF;
$BBHandler=bbcode_create($arrayBBCode);
echo bbcode_parse($BBHandler, $texto);
?>

El resultado del ejemplo sería:

<b>Texto en negrita</b>
[i]Texto en cursiva[/i]
<a href="http://www.php.net/">http://www.php.net/</a>
<a href="http://pecl.php.net/"><b>Content Text</b></a>
<img src="http://static.php.net/www.php.net/images/php.gif" />
<a href="http://www.php.net/">
[img]http://static.php.net/www.php.net/images/php.gif[/img]
</a>

bbcode_add_smiley
bbcode_destroy
Funciones de BBCode


Cierra un recurso BBCode_container

bbcode_create
bbcode_parse
Funciones de BBCode
PHP Manual

bbcode_destroy

(PECL bbcode >= 0.9.0)

bbcode_destroy — Cierra un recurso BBCode_container

Descripción

bool bbcode_destroy ( resource $bbcode_container )

Esta función cierra el recurso abierto con bbcode_create().

Parámetros

bbcode_container

Recurso BBCode_Container devuelto por bbcode_create().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

bbcode_create
bbcode_parse
Funciones de BBCode


Analiza un string siguiendo el set de reglas dado

bbcode_destroy
bbcode_set_arg_parser
Funciones de BBCode
PHP Manual

bbcode_parse

(PECL bbcode >= 0.9.0)

bbcode_parse — Analiza un string siguiendo el set de reglas dado

Descripción

string bbcode_parse ( resource $bbcode_container , string $to_parse )

Esta función analiza el string to_parse siguiente las reglas en bbcode_container creado por bbcode_create().

Parámetros

container_bbcode

Resource BBCode_Container retornado por bbcode_create().

to_parse

String que necesitamos analizar.

Valores devueltos

Retorna el string analizado, o FALSE en caso de error.

bbcode_destroy
bbcode_set_arg_parser
Funciones de BBCode


Añade otro analizador para usar otro set de reglas para analizar argumentos

bbcode_parse
bbcode_set_flags
Funciones de BBCode
PHP Manual

bbcode_set_arg_parser

(PECL bbcode >= 0.10.2)

bbcode_set_arg_parser — Añade otro analizador para usar otro set de reglas para analizar argumentos

Descripción

bool bbcode_set_arg_parser ( resource $bbcode_container , resource $bbcode_arg_parser )

Añade otro analizador a bbcode_container. Este analizador se usa únicamente cuando se deben analizar argumentos. Si no se usa esta función, el analizador de argumentos por defectos es el propio analizador.

Parámetros

bbcode_container

Resource BBCode_Container, retornado por bbcode_create().

bbcode_arg_parser

Resource BBCode_Container, retornado por bbcode_create(). Se usará únicamente para analizar argumentos.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de uso de bbcode_set_arg_parser()

<?php
/*
 * Set de reglas bbcode para el analizador principal
 */
$arrayBBCode = array(
    'quote'=>    array('type'=>BBCODE_TYPE_ARG,
                       'open_tag'=>'<quote><h4>Origen: {PARAM}</h4>',
                       'close_tag'=>'</quote>',
                       'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY|BBCODE_FLAGS_ARG_PARSING),
    'b'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<b>', 'close_tag'=>'</b>',
                       'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
    'u'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<u>', 'close_tag'=>'</u>',
                       'flags'=>BBCODE_FLAGS_SMILEYS_OFF | BBCODE_FLAGS_REMOVE_IF_EMPTY | BBCODE_FLAGS_SMILEYS_OFF),
    'i'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<i>', 'close_tag'=>'</i>',
                       'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
);
/*
 * Set de reglas bbcode para el analizador de argumentos
 */
$arrayBBCode_arg = array(
    'b'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<b class="sub">', 'close_tag'=>'</b>',
                       'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
    'u'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<u>', 'close_tag'=>'</u>',
                       'flags'=>BBCODE_FLAGS_SMILEYS_OFF | BBCODE_FLAGS_REMOVE_IF_EMPTY | BBCODE_FLAGS_SMILEYS_OFF),
    'i'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<i>', 'close_tag'=>'</i>',
                       'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
);
/*
 * Texto que vamos a analizar
 */
$text = <<<EOF
[quote="[b]Test[/b]"]
Foo :)
[/quote]
[b]Ejemplo :)[/b] :)
EOF;
/*
 * Inicializamos ambos analizadores
 */
$BBHandler = bbcode_create($arrayBBCode);
$BBArgHandler = bbcode_create($arrayBBCode_arg);
/*
 * Establecemos flags a los analizadores
 */
bbcode_set_flags($BBHandler,
                 BBCODE_CORRECT_REOPEN_TAGS|BBCODE_DEFAULT_SMILEYS_ON|BBCODE_ARG_DOUBLE_QUOTE|
                 BBCODE_ARG_SINGLE_QUOTE|BBCODE_ARG_HTML_QUOTE,BBCODE_SET_FLAGS_SET);
bbcode_set_flags($BBArgHandler,
                 BBCODE_CORRECT_REOPEN_TAGS|BBCODE_DEFAULT_SMILEYS_ON|BBCODE_ARG_DOUBLE_QUOTE|
                 BBCODE_ARG_SINGLE_QUOTE|BBCODE_ARG_HTML_QUOTE,BBCODE_SET_FLAGS_SET);
/*
 * Establecemos $BBArgHandler como el analizador de argumentos de BBHandler
 */
bbcode_set_arg_parser($BBHandler,$BBArgHandler);
/*
 * Añadimos reglas para los smileys en el analizador principal
 */
bbcode_add_smiley($BBHandler, ":)", "<img src=\"smiley.gif\" alt=\":)\" />");
/*
 * Usamos el analizador principal para analizar el texto
 */
echo bbcode_parse($BBHandler,$text);
?>

El resultado del ejemplo sería:

<quote><h4>Origen: <b class="sub">Test</b></h4>
Foo <img src="smiley.gif" alt=":)" />
</quote>
<b>Ejemplo :)</b> <img src="smiley.gif" alt=":)" />

bbcode_parse
bbcode_set_flags
Funciones de BBCode


Establece o cambia las opciones del analizador

bbcode_set_arg_parser
PCRE
Funciones de BBCode
PHP Manual

bbcode_set_flags

(PECL bbcode >= 0.10.2)

bbcode_set_flags — Establece o cambia las opciones del analizador

Descripción

bool bbcode_set_flags ( resource $bbcode_container , int $flags [, int $mode = BBCODE_SET_FLAGS_SET ] )

Establece o cambia las opciones del analizador

Parámetros

bbcode_container

Resource BBCode_Container , retornado por bbcode_create().

flags

El flag que se debe aplicar a las opciones de bbcode_container

mode

Una de las constantes BBCODE_SET_FLAGS_* para aplicar, eliminar un set de flag o reemplazar el set de flag por flags.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de uso de bbcode_set_flags()

<?php
/*
 * Preparando el set de reglas
 */
$arrayBBCode=array(
    'b'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<b>', 'close_tag'=>'</b>'),
    'u'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<u>', 'close_tag'=>'</u>'),
    'i'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<i>', 'close_tag'=>'</i>'),
);
/*
 * Emparejando BBCode anidado incorrectamente
 */
$texto = "[i] Analizador [b] Autocorrección [/i] en el trabajo [/b]\n";
$BBHandler = bbcode_create($arrayBBCode);
echo bbcode_parse($BBHandler, $text);
// Habilitamos reapertura de elementos cerrados automáticamente
bbcode_set_flags($BBHandler, BBCODE_CORRECT_REOPEN_TAGS, BBCODE_SET_FLAGS_SET);
echo bbcode_parse($BBHandler, $texto);

/*
 * Desemparejado de BBCode anidado incorrectamente
 */
$texto = "[i] Analizador [b] Autocorrección [/i] en el trabajo\n";
echo bbcode_parse($BBHandler, $texto);
// Habilitamos cierre automático de etiquetas pendientes
bbcode_set_flags($BBHandler,
                 BBCODE_CORRECT_REOPEN_TAGS | BBCODE_AUTO_CORRECT,
                 BBCODE_SET_FLAGS_SET);
echo bbcode_parse($BBHandler, $texto);
?>

El resultado del ejemplo sería:

<i> Analizador <b> Autocorrección </b></i> en el trabajo
<i> Analizador <b> Autocorrección </b></i><b> en el trabajo </b>
<i> Analizador [b] Autocorrección </i> en el trabajo
<i> Analizador <b> Autocorrección </b></i><b> en el trabajo
</b>

bbcode_set_arg_parser
PCRE
Funciones de BBCode


Expresiones Regulares (Compatible con Perl)

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • Patrones PCRE
    • Sintaxis de expresiones regulares de PCRE — Sintaxis de Patrón
    • Posibles modificadores en patrones de expresiones regulares — Modificadores de Patrón
    • Diferencias con Perl
    • Diferencias con las expresiones regulares POSIX
  • Funciones de PCRE
    • preg_filter — Realiza una búsqueda y sustitución de una expresión regular
    • preg_grep — Devuelve entradas de matriz que coinciden con el patrón
    • preg_last_error — Devuelve el código de error de la última ejecución de expresión regular PCRE
    • preg_match_all — Realiza una comparación global de una expresión regular
    • preg_match — Realiza una comparación con una expresión regular
    • preg_quote — Escapar caracteres en una expresión regular
    • preg_replace_callback — Realiza una búsqueda y sustitución de una expresión regular usando una llamada de retorno
    • preg_replace — Realiza una búsqueda y sustitución de una expresión regular
    • preg_split — Divide un string mediante una expresión regular
bbcode_set_flags
Introducción
Procesamiento de texto


Introducción

La sintaxis de los patrones usados en estas funciones se parece mucho a la de Perl. La expresión se debe encerrar entre unos delimitadores, una barra (/), por ejemplo. Los delimitadores pueden ser cualquier carácter no alfanumérico, cualquier carácter ASCII que no sea de tipo espacio en blanco, excepto la barra invertida (\), y el byte null. Si el carácter delimitador va a ser usado en la expresión misma, es necesario escaparlo con la barra invertida. A partir de PHP 4.0.4, se pueden usar los delimitadores estilo Perl (), {}, [], y <>. Véase Sintaxis de Patrón para una explicación detallada.

Al delimitador final le pueden seguir varios modificadores que afectan a la comparación. Véase Modificadores de Patrón.

PHP tambíén admite expresiones regulares empleando una sintaxis POSIX extendido usando las Funciones de expresiones regulares POSIX extendido.

Nota:

Estas extensiones mantienen una caché global por hilo de expresiones regulares compiladas (hasta 4096).

Advertencia

Debería considerar algunas limitaciones de PCRE. Lea » http://www.pcre.org/pcre.txt para más información.

La biblioteca PCRE es un conjunto de funciones que implementan comparaciones de patrones de expresiones regulares usando la misma sintaxis y semántica que Perl 5, con muy pocas diferencias (véase más adelante). La implementación actual corresponde a Perl 5.005.

PCRE
Instalación/Configuración
PCRE


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
PCRE


Instalación

A partir de PHP 4.2.0, estas funciones están habilitadas por defecto. Puede deshabilitar las funciones pcre con --without-pcre-regex . Use --with-pcre-regex=DIR para especificar DIR, donde están ubicados los archivos de inclusión y biblioteca de PCRE, si no está usando la biblioteca incluida. Para usar estas funciones en versiones anteriores tendrá que configurar y compilar PHP con --with-pcre-regex[=DIR] .

La versión de PHP para Windows tiene soporte nativo para esta extensión. No se requiere cargar extensiones adicionales para utilizar estas funciones.

Nota:

A partir de PHP 5.3.0 esta extensión no puede ser deshabilitada y por lo tanto siempre está presente.

Sin embargo, es posible incorporar una biblioteca PCRE externa usando --with-pcre-regex=DIR

PCRE es un proyecto activo y mientras cambia, también lo hace la funcionalidad de PHP que depende de él. Es posible que algunas partes de la documentación de PHP no estén actualizadas, por lo que pueden no cubrir las características más nuevas que proporciona PCRE. Para una lista de cambios, vea el » registro de cambios de la biblioteca PCRE y también el siguiente historial de la biblioteca PCRE incluida:

Historial de actualización de la biblioteca PCRE incluida
Versión de PHP | Versión de PCRE actualizada | Notas
5.5.0 / 5.4.14 / 5.3.24 | 8.32 |
5.4.9 / 5.3.19 | 8.31 |
5.3.7 | 8.12 |
5.3.6 | 8.11 |
5.3.4 | 8.10 |
5.3.3 | 8.02 |
5.3.2 | 8.00 |
5.3.0 | 7.9 |
5.2.7 | 7.8 |
5.2.6 | 7.6 |
5.2.5 | 7.3 |
5.2.4 | 7.2 |
5.2.2 | 7.0 |
5.2.0 | 6.7 |
5.1.0 | 6.2 |
5.0.5 | 5.0 |
5.0.0 | 4.5 |
4.4.7 | 7.7 |

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de PCRE
Nombre | Por defecto | Cambiable | Historial de cambios
pcre.backtrack_limit | "1000000" | PHP_INI_ALL | Disponible a partir de PHP 5.2.0.
pcre.recursion_limit | "100000" | PHP_INI_ALL | Disponible a partir de PHP 5.2.0.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

pcre.backtrack_limit integer

Límite de marcha atrás de PCRE. Por defecto es 100000 para PHP < 5.3.7.

pcre.recursion_limit integer

Límite de recursividad de PCRE. Por favor, observe que si establece este valor con un número alto puede consumir toda la pila de procesos disponibles y al final provocar que se cuelgue PHP (debido a alcanzar el límite del tamaño de la pila impuesto por el Sistema Operativo).

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Constantes PREG
constante | descripción | desde
PREG_PATTERN_ORDER | Ordena los resultados de forma que $coincidencias[0] es una matriz de coincidencias del patrón completo, $coincidencias[1] es una matriz de cadenas que coinciden con el primer sub-patrón entre paréntesis, y así sucesivamente. Esta bandera sólo se usa con preg_match_all(). |
PREG_SET_ORDER | Ordena los resultados de forma que $coincidencias[0] es una matriz del primer conjunto de coincidencias, $coincidencias[1] es una matriz del segundo conjunto de coincidencias, y así sucesivamente. Esta bandera sólo se usa con preg_match_all(). |
PREG_OFFSET_CAPTURE | Véase la descripción de PREG_SPLIT_OFFSET_CAPTURE. | 4.3.0
PREG_SPLIT_NO_EMPTY | Esta bandera le indica a preg_split() que devuelva sólo elementos que no estén vacíos. |
PREG_SPLIT_DELIM_CAPTURE | Esta bandera le indica a preg_split() que capture también la expresión entre paréntesis en el patrón delimitador. | 4.0.5
PREG_SPLIT_OFFSET_CAPTURE | Si se aplica esta bandera, por cada coincidencia producida, el índice de la cadena añadida también será devuelto. Observe que esto cambia los valores devueltos a una matriz donde cada elemento es una matriz 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 preg_split(). | 4.3.0
PREG_NO_ERROR | Devuelto por preg_last_error() si no se produjeron errores. | 5.2.0
PREG_INTERNAL_ERROR | Devuelto por preg_last_error() si se produjo un error interno de PCRE. | 5.2.0
PREG_BACKTRACK_LIMIT_ERROR | Devuelto por preg_last_error() si el límite de marcha atrás fue agotado. | 5.2.0
PREG_RECURSION_LIMIT_ERROR | Devuelto por preg_last_error() si el límite de recursividad fue agotado. | 5.2.0
PREG_BAD_UTF8_ERROR | Devuelto por preg_last_error() 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
PREG_BAD_UTF8_OFFSET_ERROR | Devuelto por preg_last_error() si el índice no 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
PCRE_VERSION | Versión y fecha de distribución de PCRE (p.ej. "7.0 18-Dec-2006"). | 5.2.4
Tipos de recursos
Ejemplos
PCRE


Ejemplos

Ejemplo #1 Ejemplos de patrones válidos

  • /<\/\w+>/
  • |(\d{3})-\d+|Sm
  • /^(?i)php[34]/
  • {^\s+(\s+)?$}

Ejemplo #2 Ejemplos de patrones no válidos

  • /href='(.*)' - falta el delimitador final
  • /\w+\s*\w+/J - modificador 'J' desconocido
  • 1-\d3-\d3-\d4| - falta el delimitador inicial

Constantes predefinidas
Patrones PCRE
PCRE


Patrones PCRE

Tabla de contenidos

  • Sintaxis de expresiones regulares de PCRE
  • Posibles modificadores en patrones de expresiones regulares
  • Diferencias con Perl
  • Diferencias con las expresiones regulares POSIX
Ejemplos
Sintaxis de expresiones regulares de PCRE
PCRE


Sintaxis de Patrón

Tabla de contenidos

  • Introducción
  • Delimitadores
  • Metacaracteres
  • Secuencias de escape
  • Propiedades de los caracteres Unicode
  • Anclas
  • Punto
  • Clases carácter
  • Alternancia
  • Ajuste de opciones internas
  • Sub-patrones
  • Repetición
  • Retroreferencias
  • Declaraciones
  • Sub-patrones de una sóla aplicación
  • Sub-patrones condicionales
  • Comentarios
  • Patrones recursivos
  • Rendimiento
Patrones PCRE
Introducción
Patrones PCRE


Introducción

La sintaxis y semántica de las expresiones regulares soportadas por PCRE están descritas más adelante. Las expresiones regulares también están descritas en la documentación de Perl y en otros libros, algunos de los cuales tienen abundantes ejemplos. El libro de Jeffrey Friedl "Mastering Regular Expressions", publicado por O'Reilly (ISBN 1-56592-257-3), las cubre en gran detalle. La descripción aquí dada está prevista como documentación de referencia.

Una expresión regular es un patrón que se compara con una cadena objetivo de izquierda a derecha. La mayoría de los caracteres se representan a sí mismos en un patrón, y se comparan con el carácter correspondiente en el sujeto. Como ejemplo trivial, el patrón El veloz murciélago hindú coincide con una porción de una cadena objetivo que es idéntica a dicho patrón.

Sintaxis de expresiones regulares de PCRE
Delimitadores
Sintaxis de expresiones regulares de PCRE


Delimitadores

Cuando se usan funciones PCRE, se requiere que el patrón esté encerrado entre delimitadores. Un delimitador puede ser cualquier carácter no alfanumérico, que no sea una barra invertida, y que no sea un espacio en blanco.

Los delimitadores que se usan a menudo son barras oblícuas (/), signos de número (#) y virgulillas (~). Los siguientes ejemplos son todos patrones delimitados válidos.

/foo bar/
#^[^0-9]$#
+php+
%[a-zA-Z0-9_-]%

Si el delimitador necesita ser comparado dentro del patrón se debe escapar usando una barra invertida. Si el delimitador aparece a menudo dentro del patrón, es una buena idea escoger otro delimitador para aumentar la legibilidad.

/http:\/\//
#http://#
La función preg_quote() se puede usar para escapar una cadena para inyectarla dentro de un patrón y su segundo parámetro opcional de puede usar parar especificar el delimitador a escapar.

Además de los delimitadores anteriormente mencionados, también es posible usar delimitadores estilo paréntesis donde los paréntesis de apertura y cierre son el delimitador de inicio y final, respectivamente.

{this is a pattern}

Puede añadir modificadores de patrón después del delimitador final. El siguiente es un ejemplo de comparación insensible a mayúsculas-minúsculas:

#[a-z]#i

Introducción
Metacaracteres
Sintaxis de expresiones regulares de PCRE


Metacaracteres

El poder de las expresiones regulares viene dado por la capacidad de incluir alternativas y repeticiones en el patrón. Éstos están codificadoes en el patrón por el uso de metacaracteres, los cuales no se representan a sí mismos, sino que son interpretados de una forma especial.

Hay dos conjuntos diferentes de metacaracteres: aquéllos que son reconocidos en cualquier lugar de un patrón excepto dentro de los corchetes, y aquéllos que son reconocidos dentro de los corchetes. Fuera de los corchetes, los metacaracteres son los siguientes:

Metacaracteres fuera de corchetes
Metacarácter | Descripción
\ | carácter de escape general con varios usos
^ | declaración de inicio de sujeto (o línea, en modo multilínea)
$ | declaración de fin de sujeto o antes de la terminación de nueva línea (o fin línea, en modo multilínea)
. | coincide con cualquier carácter excepto con el de nueva línea (por defecto)
[ | inicio de la definición de la clase carácter
] | fin de la definición de la clase carácter
| | inicio de rama alternativa
( | inicio de sub-patrón
) | fin de sub-patrón
? | amplia el significado de (, también cuantificador 0 o 1, también hace perezosos a los cuantificadores codiciosos (véase repetición)
* | cuantificador 0 o más
+ | cuantificador 1 o más
{ | inicio de cuantificador mín/máx
} | fin de cuantificador mín/máx
La parte de un patrón que está entre corchetes se llama una clase carácter. En una clase carácter los únicos metacaracteres son:
Metacaracteres dentro de corchetes (clases carácter)
Metacarácter | Descripción
\ | carácter de escape general
^ | niega la clase, pero sólo si se trata del primer carácter
- | indica el rango de caracteres
Las siguientes secciones describen el uso de cada metacarácter.

Delimitadores
Secuencias de escape
Sintaxis de expresiones regulares de PCRE


Secuencias de escape

El carácter barra invertida tiene varios usos. El primero es que si está seguido de un carácter no alfanumérico, toma cualquier significado especial que el carácter pueda tener. Este uso de la barra invertida como carácter de escape se aplica tanto dentro como fuera de las clases carácter.

Por ejemplo, si quiere coincidir un carácter "*", escriba "\*" en el patrón. Esto se aplica aunque el siguiente carácter pudiera ser interpretado como un metacarácter, por lo que es mejor asegurarse de preceder un carácter no alfanumérico con "\" para especificar que éste se representa a sí mismo. En particular, si quiere coincidir una barra invertida, escriba "\\".

Nota:

Las cadenas PHP entre comillas simples y dobles tienen un significado especial para la barra invertida. Así, si \ ha de ser comparado con una expresión regular \\, entonces se debe usar "\\\\" o '\\\\' en código PHP.

Si un patrón es compilado con la opción PCRE_EXTENDED, los espacios en blanco en el patrón (distinto de una clase carácter) y los caracteres entre un "#" fuera de una clase carácter y el siguiente carácter de nueva línea se ignoran. Una barra invertida de escape se puede usar para incluir un carácter espacio en blanco o "#" como parte del patrón.

Un segundo uso de la barra invertida proporciona una manera de codificar caracteres no imprimibles en patrones de una forma visible. No hay restricciones en la aparición de los caracteres no imprimibles, excepto para el cero binario el cual finaliza el patrón, pero cuando un patrón está siendo preparado para edición de texto, normalmente es más fácil usar una de las siguientes secuencias de escape en vez del carácter binario que representan:

\a
alarma, es decir, el carácter BEL (07 hex)
\cx
"control-x", donde x es cualquier carácter
\e
escape (1B hex)
\f
salto de página (0C hex)
\n
nueva línea (0A hex)
\p{xx}
un carácter con la propiedad xx, véase propiedades unicode para más información
\P{xx}
un carácter sin la propiedad xx, véase propiedades unicode para más información
\r
retorno de carro (0D hex)
\t
tabulador (09 hex)
\xhh
carácter con el código hexadecimal hh
\ddd
carácter con el código octal ddd, o retroreferencia

El efecto exacto de "\cx" es como sigue: si "x" es una letra minúscula, ésta se convierte a mayúscula. Después se invierte el bit 6 del carácter (40 hex). Así, "\cz" se convierte en 1A hex, pero "\c{" se convierte en 3B hex, mientras que "\c;" se conviente en 7B hex.

Después de "\x", se leen hasta dos dígitos hexadecimales (las letras pueden ser tanto mayúsculas como minúsculas). En modo UTF-8, "\x{...}" es permitido, donde el contenido entre las llaves es una cadena de dígitos hexadecimales. Esto se interpreta como un carácter UTF-8 cuyo número de código es el dado por el número hexadecimal. La secuencia de escape hexadecimal original, \xhh, conincide con un carácter UTF-8 de dos bytes si el valor es mayor que 127.

Después de "\0", se leen hasta dos dígitos octales más. En cualquier caso, si hay menos de dos dígitos, sólo se usan aquéllos que están presentes. Así, la secuencia "\0\x\07" especifica dos ceros binarios seguidos de un carácter BEL. Asegúrese de proporcionar dos dígitos después del cero inicial si el carácter que sigue es también un dígito octal.

El manejo de una barra invertida seguida de un dígito distinto de 0 es complicado. Fuera de una clase carácter, PCRE lee este dígito, así como cualesquiera dígitos siguientes, como un número decimal. Si el número es menor que 10, o si ha habido al menos tantas capturas previas hacia la izquierda en la expresión, la secuencia entera es tomada como una retroreferencia. Una descripción de cómo funciona esto se da más adelante, seguido de una discusión sobre sub-patrones entre paréntesis.

Dentro de una clase carácter, o si el número decimal es mayor que 9 y no han habido tantos sub-patrones de captura, PCRE relee hasta tres dígitos octales siguientes a la barra invertida, y genera un sólo byte de los 8 bits menos significativos del valor. Cualesquiera dígitos subsiguientes se representan a sí mismos. Por ejemplo:

\040
es otra manera de escribir un espacio
\40
es lo mismo, siempre que haya menos de 40 sub-patrones de captura previos
\7
es siempre una retroreferencia
\11
puede ser una retrorefenrencia, u otra manera de escribir una tabulación
\011
es siempre una tabulación
\0113
es una tabulación seguida del carácter "3"
\113
es el carácter con el código octal 113 (ya que no puede haber más de 99 retroreferencias)
\377
es un byte consistente en bits 1 enteramente
\81
es tanto una retroreferencia como un cero binario seguido de los caracteres "8" y "1"

Observe que los valores octales 100 y mayores no deben ser precedidos por un cero inicial, ya que nunca se leen más de tres dígitos octales.

Todas las secuencias que definen un valor de byte único se pueden usar tanto dentro como fuera de las clases carácter. Además, dentro de una clase carácter, la secuencia "\b" se interpreta como el carácter retroceso (08 hex). Fuera de una clase carácter tiene diferentes significados (véase más abajo).

El tercer uso de la barra invertida es parar especificar tipos de caracteres genéricos:

\d
cualquier dígito decimal
\D
cualquier carácter que no es un dígito decimal
\h
cualquier carácter espacio en blanco horizontal (desde PHP 5.2.4)
\H
cualquier carácter que no es un carácter espacio en blanco horizontal (desde PHP 5.2.4)
\s
cualquier carácter espacio en blanco
\S
cualquier carácter que no es un carácter espacio en blanco
\v
cualquier carácter espacio en blanco vertical (desde PHP 5.2.4)
\V
cualquier carácter que no es un carácter espacio en blanco vertical (desde PHP 5.2.4)
\w
cualquier carácter "palabra"
\W
cualquier carácter que no es "palabra"

Cada par de sencuencias de escape divide el conjunto completo de caracteres en dos conjuntos separados. Cualquier carácter dado concide con uno, y sólo uno, de cada par.

Un carácter "palabra" es cualquier letra o dígito o el carácter subrayado, es decir, cualquier carácter que pueda ser parte de una "palabra" Perl. La definición de letras y dígitos está controlada por las tablas de caracteres de PCRE, y pueden variar si tiene lugar la comparación de configuraciones regionales específicas. Por ejemplo, en la configuración regional "fr" (Francés), algunos códigos de caracteres mayores que 128 se usan para letras acentuadas, y éstos se comparan por \w.

Estas secuencias de tipo de caracteres puede aparecer tanto dentro como fuera de las clases carácter. Cada una coincide con un carácter del tipo apropiado. Si el punto de coincidencia actual está al final de la cadena objetivo, todas ellas fallarán, ya que no hay caracteres a comparar.

El cuarto uso de la barra invertida es para ciertas declaraciones simples. Una declaración especifica una condición que se debe encontrar en un punto particular de una comparación, sin consumir ningún carácter de la cadena objetivo. El uso de sub-patrones para declaraciones más complicadas se describe después. Las declaraciones de la barra invertida son

\b
límite de palabra
\B
distinto a límite de palabra
\A
comienzo del sujeto (independientemente del modo multilínea)
\Z
fin del sujeto o nueva línea al final (independientemente del modo multilínea)
\z
final del sujeto (independientemente del modo multilínea)
\G
primera posición de coincidencia del sujeto

Estas declaraciones pueden no aparecer en clases carácter (pero observe que "\b" tiene un significado diferente, a saber, el carácter retroceso, dentro de una clase carácter).

Un límite de palabra es una posición en la cadena objetivo donde el carácter actual y el carácter previo no coinciden con \w o \W (es decir, uno coincide con \w y el otro coincice con \W), o el inicio o final de la cadena si el primer o último carácter coincide con \w, respectivamente.

Las declaraciones \A, \Z, y \z difieren de los tradicionales circumflejo y dólar (descritos después) de modo que siempre coinciden con el inicio y final absolutos de la cadena objetivo, sin importar las opciones que se apliquen. No les afectan las opciones PCRE_MULTILINE o PCRE_DOLLAR_ENDONLY. La diferencia entre \Z y \z es que \Z coincide antes de una nueva línea que es el último carácter de la cadena, además de al final de la cadena, mientras que \z coincide sólo con el final.

La declaración \G es verdadera sólo cuando la posición de comparación actual está al principio del punto de coincidencia, tal como se especifica en el argumento offset de preg_match(). Difiere de \A cuando el valor de offset no es cero.

Se puede usar \Q y \E para ignorar metacaracteres de expresiones regulares. Por ejemplo: \w+\Q.$.\E$ coincidirá con uno o más caracteres palabra, seguidos por los literales .$. y anclados al final de la cadena.

A partir de PHP 5.2.4, \K se puede usar para reiniciar el comienzo de comparación. Por ejemplo, el patrón foo\Kbar coincide con "foobar", pero informa de que ha coincidido con "bar". El uso de \K no interfiere con el parámetro de las cadenas capturadas. Por ejemplo, cuando el patrón (foo)\Kbar coincide con "foobar", la primera sub-cadena está establecida aún a "foo".

Metacaracteres
Propiedades de los caracteres Unicode
Sintaxis de expresiones regulares de PCRE


Propiedades de los caracteres Unicode

A partir de 5.1.0, están disponibles tres secuencias de escape adicionales para comparar tipos de caracteres genéricos cuando el modo UTF-8 está seleccionado. Son:

\p{xx}
un carácter con la propiedad xx
\P{xx}
un carácter sin la propiedad xx
\X
una secuencia Unicode extendida

Los nombres de las propiedades representadas arriba por xx están limitadas a las propiedades de la categoría general de Unicode. Cada carácter tiene exactamente una propiedad, especificada por una abreviatura de dos letras. Por compatibilidad con Perl, la negación se puede especificar incluyendo un acento circunflejo entre la llave de apertura y el nombre de la propiedad. Por ejemplo, \p{^Lu} es lo mismo que \P{Lu}.

Si sólo se especifica una letra con \p o \P, se incluyen todas las propiedades que comienzan con esa letra. En este caso, en la ausencia de negación, las llaves en la secuencia de escape son opcionales; estos dos ejemplos tienen el mismo efecto:

\p{L}
\pL

Códigos de propiedades admitidos
Propiedad | Coincidencias | Notas
C | Otro |
Cc | Control |
Cf | Formato |
Cn | Sin asignar |
Co | Uso privado |
Cs | Sustituto |
L | Letra | Incluye las siguientes propiedades: Ll, Lm, Lo, Lt y Lu.
Ll | Letra minúscula |
Lm | Letra modificadora |
Lo | Otra letra |
Lt | Letra de título |
Lu | Letra mayúscula |
M | Marca |
Mc | Marca de espacio |
Me | Marca de cierre |
Mn | Marca de no-espacio |
N | Número |
Nd | Número decimal |
Nl | Número letra |
No | Otro número |
P | Puntuación |
Pc | Puntuación de conexión |
Pd | Puntuación guión |
Pe | Puntuación de cierre |
Pf | Puntuación final |
Pi | Puntuación inicial |
Po | Otra puntuación |
Ps | Puntuación de apertura |
S | Símbolo |
Sc | Símbolo de moneda |
Sk | Símbolo modificador |
Sm | Símbolo matemático |
So | Otro símbolo |
Z | Separador |
Zl | Separador de línea |
Zp | Separador de párrafo |
Zs | Separador de espacio |

Las propiedades extendidas tales como InMusicalSymbols no están admitidas por PCRE.

El especificar coincidicencias insensibles a mayúsculas-minúsculas no afecta a estas secuencias de escape. Por ejemplo, \p{Lu} siempre coincide con letras mayúsculas.

Los conjuntos de caracteres Unicode están definidos como pertenecientes a ciertos alfabetos. Se puede hacer coincidir un carácter de uno de estos conjuntos usando un nombre de alfabeto. Por ejemplo:

  • \p{Greek}
  • \P{Han}

Aquellos que no son parte de un alfabeto identificado, son metidos en el mismo saco como Common. La lista actual de alfabetos es:

Supported scripts
Arabic | Armenian | Avestan | Balinese | Bamum
Batak | Bengali | Bopomofo | Brahmi | Braille
Buginese | Buhid | Canadian_Aboriginal | Carian | Chakma
Cham | Cherokee | Common | Coptic | Cuneiform
Cypriot | Cyrillic | Deseret | Devanagari | Egyptian_Hieroglyphs
Ethiopic | Georgian | Glagolitic | Gothic | Greek
Gujarati | Gurmukhi | Han | Hangul | Hanunoo
Hebrew | Hiragana | Imperial_Aramaic | Inherited | Inscriptional_Pahlavi
Inscriptional_Parthian | Javanese | Kaithi | Kannada | Katakana
Kayah_Li | Kharoshthi | Khmer | Lao | Latin
Lepcha | Limbu | Linear_B | Lisu | Lycian
Lydian | Malayalam | Mandaic | Meetei_Mayek | Meroitic_Cursive
Meroitic_Hieroglyphs | Miao | Mongolian | Myanmar | New_Tai_Lue
Nko | Ogham | Old_Italic | Old_Persian | Old_South_Arabian
Old_Turkic | Ol_Chiki | Oriya | Osmanya | Phags_Pa
Phoenician | Rejang | Runic | Samaritan | Saurashtra
Sharada | Shavian | Sinhala | Sora_Sompeng | Sundanese
Syloti_Nagri | Syriac | Tagalog | Tagbanwa | Tai_Le
Tai_Tham | Tai_Viet | Takri | Tamil | Telugu
Thaana | Thai | Tibetan | Tifinagh | Ugaritic
Vai | Yi |  |  |

El escape \X coincide con un cluster de grafemas ampliado de Unicode. Un clúster de grafemas ampliado es uno o más caracteres Unicode que se combinan para formar un único glifo. En efecto, se puede pensar en ello como el equivalente Unicode de . ya que coincidirá con un carácter compuesto, independientemente de cúantos caracteres individuales se usan en realidad para representarlo.

En versiones de PCRE anteriores a la 8.32 (las cuales se corresponden con versiones de PHP anteriores a la 5.4.14 al usar la biblioteca PCRE incluida), \X es equivalente a (?>\PM\pM*). Esto es, coincide con un carácter sin la propiedad "marca", seguido de cero o más caracteres con la propiedad "marca", y trata la secuencia como un grupo atómico (véase más abajo). Los caracteres con la propiedad "marca" son normalmente acentos que afectan al carácter predecente.

La comparación de caracteres por propiedades Unicode no es rápida, porque PCRE ha de buscar una estructura que contiene datos por más de quince mil caracteres. Es por esto por lo que las secuencias de escape tradicionales tales como \d y \w no usan propiedades Unicode en PCRE.

Secuencias de escape
Anclas
Sintaxis de expresiones regulares de PCRE


Anclas

Fuera de una clase carácter, en el modo de comparación por defecto, el carácter circunflejo (^) es una declaración que es verdadera sólo si el punto de coincidencia actual está en el inicio de de la cadena objetivo. Dentro de una clase carácter, circunflejo (^) tiene un significado totalmente diferente (véase más adelante).

Circunflejo (^) no necesita ser el primer carácter del patrón si están implicadas varias alternativas, pero debería ser la primera cosa en cada alternativa en la que aparece si el patrón es comparado siempre con esa rama. Si todas las posibles alternativas comienzan con un circunflejo (^), es decir, si el patrón es obligado a coincidir sólo con el comienzo de la cadena objetivo, se dice que el patrón está "anclado". (También hay otras contrucciones que pueden causar que un patrón esté anclado.)

Un carácter dólar ($) es una declaración la cual es TRUE sólo si el punto actual de coincidencia está al final de la cadena objetivo, o inmediatamente antes de un carácter de nueva línea que es el último carácter en la cadena (por defecto). Dólar ($) no necesita ser el último carácter del patrón si están implicadas varias alternativas, pero debería ser el último elemento en cualquier rama en la que aparezca. Dólar no tiene un significado especial en una clase carácter.

El significado de dólar se puede cambiar, de modo que sólo coincida con el final absoluto de la cadena, estableciendo la opción PCRE_DOLLAR_ENDONLY en tiempo de compilación o comparación. Esto no afecta a la declaración \Z.

El significado de los caracteres circunflejo y dólar se cambia si la opción PCRE_MULTILINE es establecida. Cuando este es el caso, conciden inmediatemente después e inmediatamente antes que un carácter "\n" interno, respectivamente, además de coincidir al principio y final de la cadena objetivo. Por ejemplo, el patrón /^abc$/ coincide con la cadena objetivo "def\nabc" en el modo multilínea, y no en otros. Consecuentemente, los patrones que están anclados en el modo de una sóla línea, a causa del inicio de todas las ramas con "^", no están anclados en el modo multilínea. La opción PCRE_DOLLAR_ENDONLY es ignorada si PCRE_MULTILINE está establecida.

Observe que las secuencias \A, \Z, y \z se pueden usar para coincidir el inicio y final de la cadena objetivo en ambos modos, y si todas las ramas de un patrón comienzan con \A, el patrón siempre es anclado, sin tener en cuenta si PCRE_MULTILINE está establecido o no.

Propiedades de los caracteres Unicode
Punto
Sintaxis de expresiones regulares de PCRE


Punto

Fuera de una clase carácter, un punto en el patrón coincide con un carácter en el sujeto, incluyendo un carácter no imprimible, pero no (por defecto) con una nueva línea. Si la opción PCRE_DOTALL está establecida, entonces los puntos coinciden con nuevas líneas tambíen. El manejo del punto es totalmente independiente del manejo de circunflejo y dólar, la única relación existente es que ambos implican caracteres de nueva línea. El punto no tiene un significado especial en una clase carácter.

\C se puede usar para comparar un único byte. Tiene sentido en modo UTF-8 donde el punto coincide con el carácter entero, el cual puede consistir en múltiples bytes.

Anclas
Clases carácter
Sintaxis de expresiones regulares de PCRE


Clases carácter

Un corchete de apertura inicia una clase carácter, finalizada por un corchete de cierre. Un corchete de cierre por sí solo no es especial. Si se requiere un corchete de cierre como un miembro de la clase, éste debería ser el primer carácter de información en la clase (después de un circunflejo inicial, si está presente) o escapado con una barra invertida.

Una clase carácter coincide con un sólo carácter en el sujeto; el carácter debe estar en el conjunto de caracteres definido por la clase, a menos que el primer carácter en la clase sea un circunflejo, en cuyo caso el carácter sujeto no debe de estar en el conjunto definido por la clase. Si un circunflejo es requerido en realidad como un miembro de la clase, asegúrese de que no sea el primer carácter, o escápelo con una barra invertida.

Por ejemplo, la clase carácter [aeiou] coincide con cualquier vocal minúscula, mientras que [^aeiou] con cualquier carácter que no sea una vocal minúscula. Observe que un circunflejo es sólo una notación conveniente para especificar los caracteres que están en la clase enumerando los que no están. Si no es una declaración: aún consume un carácter de la cadena objetivo, y falla si el punto actual está al final de la cadena.

Cuando está establecida la coincidencia insensible a mayúsculas-minúculas, cualquier letra en una clase representa tanto su versión en mayúsculas como minusculas, así, por ejemplo, una clase insensible [aeiou] coincidice con "A" así como con "a", y una clase insensible [^aeiou] no coincide con "A", mientras que una versión sensible lo haría.

El carácter nueva línea nunca es tratado de manera especial en las clases carácter, sin importar el establecimiento de la opción PCRE_DOTALL o PCRE_MULTILINE. Una clase como [^a] siempre coincidirá con una nueva línea.

El carácter menos (guión) se puede usar para especificar un rango de caracteres en una clase carácter. Por ejemplo, [d-m] coincide con cualquier letra entre d y m, inclusive. Si un carácter - (menos) se requiere en una clase, se debe escapar con una barra invertida o aparecer en una posición donde no pueda ser interpretado como indicador de rango, típicamente como el primer o último carácter en una clase.

No es posible tener un carácter literal "]" como el carácter final de un rango. Un patrón como [W-]46] es interpretado como una clase de dos caracteres ("W" y "-") seguido de una cadena literal "46]", por lo que coincidiría con "W46]" o "-46]". Sin embargo, si el "]" es escapado con una barra invertida es interpretado como el final del rango, así [W-\]46] es interpretado como un clase individual que contiene un rango seguido de dos caracteres aparte. La representación octal o hexadecimal de "]" también se puede usar al final del rango.

Los rangos operan en la secuencia de colación de ASCII. También se pueden usar para caracteres especificados numéricamente, por ejemplo [\000-\037]. Si un rango que incluye letras se usa cuando se establece la coincidencia insensible a mayúsculas-minúsculas, coincide con las letras en cualquier caso. Por ejemplo, [W-c] es equivalente a [][\^_`wxyzabc], comparados insensiblemente, y si las tablas de caracteres para la configuración regional "fr" están siendo usadas, [\xc8-\xcb] coincide con caracteres E acentudos en ambos casos.

Los tipos de caracteres \d, \D, \s, \S, \w, y \W también pueden aparecer en la clase carácter, y añaden a la clase los caracteres que ellos representan. Por ejemplo, [\dABCDEF] coincide con cualquier dígito hexadecimal. Un circunflejo se puede usar convenientemente con los tipos de caracteres en mayúsculas para especificar un conjunto de caracteres más restrictivo que el tipo de coincidencia en minúscula. Por ejemplo, la clase [^\W_] coincide con cualquier letra o dígito, excepto con el subrayado.

Todos los caracteres no alfanuméricos distintos de \, -, ^ (al comienzo) y el ] finalizador no son especiales en una clase carácter, pero no es perjudicial si se escapan. El terminador de patrón siempre es especial y debe ser escapado cuando se usa dentro de una expresión.

Perl soporta la notación POSIX para clases carácter. Ésta usa nombres encerrados entre [: y :] dentro de los corchetes. PCRE también soporta esta notación. Por ejemplo, [01[:alpha:]%] coincide con "0", "1", cualquier carácter alfabético, o "%". Los nombres de las clases soportadas son:

Clases carácter
alnum | letras y dígitos
alpha | letras
ascii | códigos de caracteres 0 - 127
blank | espacio o tabulación solamente
cntrl | caracteres de control
digit | dígitos decimales (lo mismo que \d)
graph | caracteres imprimibles, excluyendo el espacio
lower | letras minúsculas
print | caracteres imprimibles, incluyendo el espacio
punct | caracterse imprimibles, excluyendo letras y dígitos
space | escpacio en blanco (casi lo mismo que \s)
upper | letras mayúsculas
word | caracteres "word" (palabra) (lo mismo que \w)
xdigit | dígitos hexadecimales
Los caracteres space son HT (9), LF (10), VT (11), FF (12), CR (13), y espacio (32). Observe que esta lista incluye el caracter VT (código 11). Esto hace que "space" sea diferente de \s, el cuál no incluye VT (por compatibilidad con Perl).

El nombre word es una extensión de Perl, y blank es una extensión de GNU desde Perl 5.8. Otra extensión de Perl es la negación, indicada por un carácter ^ después de los dos puntos. Por ejemplo, [12[:^digit:]] coincide con "1", "2", o cualquier no-digito.

En el modo UTF-8, los caracteres con valores mayores que 128 no coinciden con ninguna de las clases carácter POSIX.

Punto
Alternancia
Sintaxis de expresiones regulares de PCRE


Alternancia

Los caracteres barra vertical se usan para separar patrones alternativos. Por ejemplo, el patrón gilbert|sullivan coincide con "gilbert" o con "sullivan". Pueden aparecer cualquier número de alternativas, y se permite una alternativa vacía (coincidiendo con la cadena vacía). El proceso de comparación prueba cada alternativa sucesivamente, de izquierda a derecha, y la primera que tenga éxito se usa. Si las alternativas están dentro de un sub-patrón (definido más adelante), "tener éxito" significa coincidir con el resto del patrón principal así como con la alternativa en el sub-patrón.

Clases carácter
Ajuste de opciones internas
Sintaxis de expresiones regulares de PCRE


Ajuste de opciones internas

Los ajustes de PCRE_CASELESS, PCRE_MULTILINE, PCRE_DOTALL, PCRE_UNGREEDY, PCRE_EXTRA, PCRE_EXTENDED y PCRE_DUPNAMES se pueden cambiar desde dentro de un patrón por una secuencia de letras de opciones de Perl encerradas entre "(?" y ")". Las letras de opciones son:

Letras de opciones internas
i | para PCRE_CASELESS
m | para PCRE_MULTILINE
s | para PCRE_DOTALL
x | para PCRE_EXTENDED
U | para PCRE_UNGREEDY
X | para PCRE_EXTRA
J | para PCRE_INFO_JCHANGED

Por ejemplo, (?im) establece la coincidencia insensible a mayúsculas-minúsculas, y multilínea. También es posible eliminar estas opciones precediendo la letra con un guión, y un establecimiento y eliminación combinados como (?im-sx), el cual establece PCRE_CASELESS y PCRE_MULTILINE mientras que elimina PCRE_DOTALL y PCRE_EXTENDED, también está permitido. Si una letra aparece tanto antes como después del guión, la opción es eliminada.

Cuando un cambio de opción sucede en el nivel superior (es decir, fuera de sub-patrones entre paréntesis), el cambio se aplica al resto del patrón que sigue. Así, /ab(?i)c/ coincide sólo con "abc" y "abC".

Si un cambio de opción sucede dentro de un sub-patrón, el efecto es diferente. Esto es un cambio de comportamiento en Perl 5.005. Un cambio de opción dentro de un sub-patrón afecta sólo a aquella parte del sub-patrón que le sigue, por lo que (a(?i)b)c coincide con abc y aBc y ninguna otra cadena más (asumiendo que no se usa PCRE_CASELESS). Por medio de esto, las opciones pueden ser producidas para tener diferentes ajustes en diferentes partes del patrón. Cualquier cambio hecho en un alternativa continúa en ramas subsiguientes dentro del mismo sub-patrón. Por ejemplo, (a(?i)b|c) coincide con "ab", "aB", "c", y "C", incluso cuando al coincidir con "C" la primera rama es abandonada después de establecer la opción. Esto es porque los efectos del establecimiento de opciones ocurren en tiempo de compilación. De otro modo habría algunos comportamiento extraños.

Las opciones específicas de PCRE PCRE_UNGREEDY y PCRE_EXTRA se pueden cambiar de la misma forma que las opciones compatibles con Perl usando los caracteres U y X respectivamente. La bandera de ajuste (?X) es especial ya que debe producirse siempre antes de que se active cualquier otra característica en el patrón, incluso si está en el nivel superior. Lo mejor es ponerlo al principio.

Alternancia
Sub-patrones
Sintaxis de expresiones regulares de PCRE


Sub-patrones

Los sub-patrones están delimitados por paréntesis, los cuales pueden estar anidados. Marcar parte de un patrón como un sub-patrón hace dos cosas:

  1. Localiza un conjunto de alternativas. Por ejemplo, el patrón cata(rata|pulta|) coincide con una de las palabras "cata", "catarata", o "catapulta". Sin los paréntesis, coincidiría con "catarata", "pulta" o la cadena vacía.

  2. Establece el sub-patrón como un sub-patrón de captura (como se definió antes). Cuando el patrón completo coincide, esa porción de la cadena objetivo que coincidió con el sub-patrón es devuelta la llamador mediante el argumento ovector de pcre_exec(). Los paréntesis de apertura se cuentan de izquierda a derecha (comenzando por 1) para obtener el número de los sub-patrones de captura.

Por ejemplo, si la cadena "el rojo amanecer" se compara con el patrón el ((rojo|oscuro) (amanecer|atarceder)) las cadenas capturadas son "rojo amanecer", "rojo", y "amanecer", y son numeradas como 1, 2, y 3.

El hecho de que los simples paréntesis lleven a cabo dos funciones no es siempre útil. Con frecuencia se presenta el caso en el que un sub-patrón de agrupamiento se requiere sin la necesidad de una captura. Si un paréntesis de apertura es seguido por "?:", el sub-patrón no realiza ninguna captura, y no es contado cuando se computa el número de cualquier sub-patrón de captura subsiguiente. Por ejemplo, si la cadena "el oscuro atardecer" se compara con el patrón the ((?:rojo|oscuro) (amanecer|atarceder)) las sub-cadenas capturadas son "oscuro atardecer" y "atarceder", y son numeradas como 1 y 2. El número máximo de sub-cadenas capturadas es de 99, y el número máximo de todos los sub-patrones, tanto de captura como de no-captura, es de 200.

Como abreviación conveniente, si se necesita cualquier establecimiento de opciones al inicio de un sub-patrón que no sea de captura, las letras de opciones pueden aparecen entre el "?" y ":". Así lo dos patrones

(?i(?i:lunes|martes)
(?:(?i)lunes|martes)

coinciden exactamente con el mismo conjunto de cadenas. Dado que las ramas alternativas son probadas de izquierda a derecha, y las opciones no se reinician hasta que se alcance el final del sub-patrón, el establecimiento de una opción en una rama afecta a las ramas siguientes, por lo que los patrones de arriba coinciden tanto con "MARTES" como con "Lunes".

Es posible nombrar un sub-patrón usando la sintaxis (?P<nombre>patrón). Este sub-patrón será entonces indexado en el array de coincidencias mediante su posición numérica normal y mediante su nombre también. PHP 5.2.2 introdujo dos sintaxis alternativas (?<nombre>patrón) y (?'nombre'patrón).

A veces es necesario tener múltiples coincidencias, pero alternando subgrupos en una expresión regular. Normalmente, a cada subgrupo se le asignaría su propio número de retroreferencia incluso si sólo uno de ellos coincidiera. Para superar esto, la sintaxis (?| permite tener números duplicados. Considere la siguiente expresión regular comparada con la cadena Sunday:

(?:(Sat)ur|(Sun))day

Aquí Sun se guarda en la retroreferencia 2, mientras que la retroreferencia 1 está vacía. La comparación cede Sat a la retroreferncia 1 mientras que la retroreferncia 2 no existe. Cambiar el patrón para usar (?| corrige este problema:

(?|(Sat)ur|(Sun))day

Al usar este patrón, tanto Sun como Sat serían almacenados en la retroreferencia 1.

Ajuste de opciones internas
Repetición
Sintaxis de expresiones regulares de PCRE


Repetición

La repetición se especifica mediante cuantificadores, los cuales pueden ir detrás de cualquiera de los siguientes elementos:

  • un único carácter, posiblemente escapado
  • el metacarácter . (punto)
  • una clase carácter
  • una retroreferencia (véase la siguiente sección)
  • un sub-patrón entre paréntesis (a menos que haya una declaración - véase más adelante)

El cuantificador de repetición general especifíca un mínimo y un máximo del número de coincidencias pertmitidas, dándose los dos números entre llaves, separados por una coma. Los números deben ser menores que 65536, y el primero debe ser menor o igual que el segundo. Por ejemplo: z{2,4} coincide con "zz", "zzz", o "zzzz". Una llave de cierre por sí misma no es un carácter especial. Si se omite el segundo número, pero la coma está presente, no hay límite superior; si el segundo número y la coma se omiten, el cuantificador especifica un número exacto de coincidencias requeridas. Así [aeiou]{3,} coincide al menos con 3 vocales sucesivas, pero puede coincidir con muchas más, mientras que \d{8} coincide exactamente con 8 dígitos. Una llave que aparezca en una posición donde no se permite un cuantificador, o una que no coincida con la sintaxis de un cuantificador, se toma como un carácter literal. Por ejemplo, {,6} no es un cuantificador, sino una cadena literal de cuatro caracteres.

El cuantificador {0} está permitido, lo que provoca que la expresión se comporte como si el elemento anterior y el cuantificador no estuvieran presentes.

Por conveniencia (y compatibilidad histórica) los tres cuantificadores más comunes tiene como abreviatura un carácter simple:

Cuantificadores de carácter simple
* | equivale a {0,}
+ | equivale a {1,}
? | equivale a {0,1}

Es posible construir bucles infinitos mediante un sub-patrón que pueda no coincidir con caracteres, seguido de un cuantificador que no tenga límite superior, por ejemplo: (a?)*

Versiones anteriores de Perl y PCRE solían dar un error en tiempo de ejecución para tales patrones. Sin embargo, ya que hay casos donde esto puede ser útil, tales patrones se aceptan ahora, pero si cualquier repetición de un sub-patrón de hecho no coincide con caracteres, el bucle se abandona a la fuerza.

Por defecto, los cuantificadores son "codiciosos", es decir, comparan todo lo posible (hasta el número máximo de veces permitido), sin provocar que el resto del patrón falle. El ejemplo clásico de cómo esto da problemas es al intentar coincidir comentarios de programas en C. Éstos aparecen entre las secuencias /* y */ y dentro de la secuencia, pueden aparecer caracteres * y / individuales. Un intento de coincidir comentarios en C aplicando el patrón /\*.*\*/ a la cadena /* primer comentario */ no comentado /* segundo comentario */ falla, ya que coincide con la cadena completa debido a que el elemento .* es codicioso.

Sin embargo, si un cuantificador es seguido por un signo de interrogación, entonces se convierte en perezoso, coincidiendo el mínimo número de veces posible, así el patrón /\*.*?\*/ funciona de forma correcta con los comentarios en C. Por lo demás, el significado de los diferentes cuantificadores no varía, sólo el número de coincidencias preferidas. No confunda este uso del signo de interrogación con su uso como un cuantificador por derecho propio. Ya que tiene dos usos, puede aparecer a veces doble, como en \d??\d que coincide con un dígito preferentemente, pero puede coincidir con dos si esa es la única manera de que el resto del patrón coincida.

Si la opción PCRE_UNGREEDY se establece (una opción que no está disponible en Perl), los cuantificadores no son codiciosos por defecto, pero puede hecérselos codiciosos si les sigue un signo de interrogación. En otras palabras, invierte el comportamiento por defecto.

Los cuantificadores seguidos de + son "posesivos". Consumen tantos caracteres como les es posible y no retornan para coincidir con el resto del patrón. Así, .*abc coincide con "aabc" pero .*+abc no, ya que .*+ consume la cadena entera. Se pueden usar los cuantificadores posesivos para acelerar el procesamiento.

Cuando un sub-patrón entre paréntesis es cuantificado con un mínimo de cuenta de repeticiones que es mayor que 1 o con un máximo limitado, se necesita más capacidad de almacenamiento para el patrón compilado, en proporción al tamaño del mínimo o máximo.

Si un patrón comienza con .* o .{0,} y la opción PCRE_DOTALL (equivalente a la de Perl /s) está establecida, así permitiendo al . (punto) coincidir con nuevas líneas, entonces el patrón está implícitamente anclado, ya que cualquier cosa que haya a continuación se seguirá intentando comparar con cada posición de carácter en la cadena objetivo, por lo que no sirve de nada volver a intentar la comparación completa desde cualquier posición después de la primera. PCRE trata estos patrones como si estuvieran precedidos por \A. En los casos donde se sabe que la cadena objetivo no contiene nuevas líneas, vale la pena establecer PCRE_DOTALL cuando el patrón comienza con .* para obtener esta optimización, o alternativamente, usar ^ para indicar explícitamente el anclado.

Cuando se repite un sub-patrón de captura, el valor capturado es la sub-cadena que coincide con la iteración final. Por ejemplo, después de que (tweedle[dume]{3}\s*)+ se haya comparado con "tweedledum tweedledee" el valor del sub-patrón de captura es "tweedledee". Sin embargo, si hay sub-patrones de captura anidados, los valores capturados correspondientes pueden haber sido establecidos en iteraciones previas. Por ejemplo, después de que /(a|(b))+/ se compare con "aba", el valor del segundo sub-patrón de captura es "b".

Sub-patrones
Retroreferencias
Sintaxis de expresiones regulares de PCRE


Retroreferencias

Fuera de una clase carácter, una barra invertida seguida por un dígito mayor que 0 (y posiblemente más dígitos) es una retroreferencia a un sub-patrón de captura anterior (esto es a su izquierda) del patrón, siempre que hayan habido tantas capturas entre paréntesis previas a la izquierda.

Sin embargo, si el número decimal que sigue a la barra invertida es menor que 10, siempre es tomado como una retroreferencia, y produce un error sólo si no hay tantas capturas anteriores entre paréntesis en el patrón completo. En otras palabras, los paréntesis que son referenciados no necesitan estar a la izquierda de la referencia para números menores que 10. Una "retroreferencia hacia adelante" puede tener sentido cuando está involucrada una repetición y el sub-patrón de la derecha ha participado en una iteración anterior. Véase la sección anterior titulada "Barra invertida" para más detalles acerca del manejo de los dígitos que siguen a una barra invertida.

Una retroreferencia coincide con cualquier cosa que en realidad haya coincidido con el sub-patrón de captura en la cadena objetivo actual, más que con cualquier cosa que coincida en el sub-patrón mismo. Así, el patrón (abraz|apreci)o de un \1ador coindice con "abrazo de un abrazador" y con "aprecio de un apreciador", pero no con "abrazo de un apreciador". Si la coincidencia sensible a mayúsculas-minúsculas está en vigor en el momento de la retroreferencia, la distinción de letras es relevante. Por ejemplo, ((?i)bla)\s+\1 coincide con "bla bla" y "BLA BLA", pero no con "BLA bla", incluso si el patrón de captura original es comparado de forma insensible a mayúsculas-minúsculas.

Puede haber más de una retroreferencia hacia el mismo sub-patrón. Si un sub-patrón no ha sido usado en realidad en una coincidencia en particular, cualquier retroreferencia a él siempre falla. Por ejemplo, el patrón (a|(bc))\2 siempre falla si comienza coincidiendo con "a" en vez de con "bc". Ya que puede haber hasta 99 retroreferencias, todos los dígitos que siguen a la barra invertida se toman como parte de un número posible de retroreferencias. Si el patrón continúa con un carácter dígito, entonces se deben usar algunos delimitadores para finalizar la retroreferencia. Si la opción PCRE_EXTENDED está establecida, éste puede ser un espacio en blanco. De otra manera se puede usar un comentario vacío.

Una retroreferencia que sucede dentro de los paréntesis a los cuales se refiere, falla cuando el sub-patrón se usa primero, así, por ejemplo, (a\1) nunca coincide. Sin embargo, tales referencias pueden ser útiles dentro de sub-patrones repetidos. Por ejemplo, el patrón (a|b\1)+ coincide con cualquier número de "a"es y tambíen con "aba", "ababba", etc. En cada iteración del subpatrón, la retroreferencia coincide con el cadena correspondiente a la iteración anterior. Para que esto funcione, el patrón debe ser tal que la primera iteración no necesite coincidir con la retroreferencia. Esto se puede lograr usando alternancia, como en el ejemplo anterior, o mediante un cuantificador con un mínimo de cero.

A partir de PHP 5.2.2, la secuencia de escape \g se puede usar para referenciar subpatrones de forma absoluta y relativa. Esta secuencia de escape debe estar seguida por un número sin signo o un número negativo, opcionalmente encerrado entre llaves. Las secuencias \1, \g1 y \g{1} son sinónimas unas de otras. El uso de este patrón con un número sin signo puede ayudar a eliminar la ambigüedad inherente al usar dígitos seguidos de una barra invertida. La secuencia ayuda a distinguir retroreferencias de caracteres octales y también hace más fácil tener una retroreferencia seguida por un número literal, p.ej. \g{2}1.

El uso de la secuencia \g con un número negativo significa una referencia relativa. Por ejemplo, (foo)(bar)\g{-1} coincidiría con la secuencia "foobarbar" y (foo)(bar)\g{-2} coincidiría con "foobarfoo". Esto puede ser útil en patrones largos como una alternativa de seguir la pista del número de subpatrones para referenciar un subpatrón previo específico.

Las retroreferencias a sub-patrones nominados se pueden lograr mediante (?P=nombre) o, desde PHP 5.2.2, también mediante \k<nombre> o \k'nombre'. Además, PHP 5.2.4 añadió soporte para \k{nombre} y \g{nombre}.

Repetición
Declaraciones
Sintaxis de expresiones regulares de PCRE


Declaraciones

Una declaración es una comprobación de los caracteres siguientes o anteriores al punto de coincidencia actual que en realidad no consumen carácter alguno. Las declaraciones simples codificadas como \b, \B, \A, \Z, \z, ^ y $ están descritas anteriormente. Las declaraciones más complicadas están codificadas como sub-patrones. Hay dos tipos: aquéllas que buscan hacia delante desde punto actual de la cadena objetivo, y aquéllas que buscan hacia atrás desde él.

Un patrón declaración es comparado de la forma habitual, excepto que no causa que la posición actual de coincidencia cambie. Las declaraciones de búsqueda hacia delante comienzan con (?= para declaraciones positivas y con (?! para declaraciones negativas. Por ejemplo, \w+(?=;) coincide con una palabra seguida de un punto y coma, pero no incluye el punto y coma en la coincidencia, y foo(?!bar) coincide con cualquier incidencia de "foo" que no esté seguida de "bar". Observe que el patrón aparentemente similar (?!foo)bar no encuentra una incidencia de "bar" que esté precedida por algo distinto de "foo"; no encuentra ninguna incidencia de "bar" en absoluto, ya que la declaración (?!foo) es siempre TRUE cuando los tres caracteres siguientes son "bar". Se necesita una declaración de búsqueda hacia atrás para conseguir este efecto.

Las declaraciones de búsqueda hacia atrás comienzan con (?<= para declaraciones positivas y con (?<! para declaraciones negativas. Por ejemplo, (?<!foo)bar encuentra una incidencia de "bar" que no esté precedida por "foo". El contenido de una declaración de búsqueda hacia atrás está restringido de tal manera que todas las cadenas que se comparen con ella deben tener una longitud fija. Sin embargo, si hay varias alternativas, no es necesario que tengan todas la misma longitud fija. Así, (?<=buey|burro) está permitido, pero (?<!toros?|vacas?) produce un error en tiempo de compilación. Las ramas que se comparan con cadenas de diferente longitud están permitidas sólo en el nivel superior de una declaración de búsqueda hacia atrás. Esto es una extensión comparado con Perl 5.005, la cual requiere que todas las ramas a comparar tengan la misma longitud de cadena. Una declaración como (?<=ab(c|de)) no está permitida porque su rama del nivel superior puede coincidir con dos longitudes diferentes, pero es aceptable si se reescribe para usar dos ramas del nivel superior: (?<=abc|abde) La implementación de las declaraciones de búsqueda hacia atrás es, para cada alternativa, retroceder temporalmente la posición actual por el ancho fijo y después intentar coincidir. Si no hay suficientes caracteres antes de la posición actual, la comparación está condenada a fallar. Las declaraciones de búsqueda hacia atrás junto con los sub-patrones de una sóla aplicación pueden ser particularmente útiles para comparaciones con los finales de las cadenas; se da un ejemplo al final de la sección de sub-patrones de una sóla aplicación.

Varias declaraciones (de cualquier tipo) pueden producirse en suceción. Por ejemplo, (?<=\d{3})(?<!999)foo coincide con "foo" precedido de tres dígitos que no sean "999". Nótese que cada una de las declaraciones es aplicada en el mismo punto de la cadena objetivo. Primero, se verifica que los tres caracteres previos son todos dígitos, depués se verifica que esos mismos tres caracteres no sean "999". Este patrón no coincide con "foo" precedido de seis caracteres, los primeros de los cuales son dígitos y los tres últimos de éllos no son "999". Por ejemplo, no coincide con "123abcfoo". Un patrón que hace eso es (?<=\d{3}...)(?<!999)foo

Esta vez, la primera declaración examina los seis caracteres precedentes, verificando que los tres primeros son dígitos, y después, la segunda declaración verifica que los tres caracteres anteriores no son "999".

Las declaraciones pueden estar anidadas en cualquier combianción. Por ejemplo, (?<=(?<!foo)bar)baz coincide con una incidencia de "baz" que está precedida por "bar", la cual a su vez no está precedida por "foo", mientras que (?<=\d{3}...(?<!999))foo es otro patrón que coincide con "foo" precedido por tres dígitos y otros tres caracteres cualesquiera que no sean "999".

Los sub-patrones declarativos no son sub-patrones de captura, y no se pueden repetir, ya que no tiene sentido declarar la misma cosa varias veces. Si cualquier tipo de declaración contiene sub-patrones de captura dentro de ella, éstos son contados con el propósito de numerar los sub-patrones de captura en el patrón completo. Sin embargo, la captura de sub-cadenas se realiza sólo para declaraciones positivas, ya que no tiene sentido para declaraciones negativas.

Las declaraciones cuentan para el máximo de 200 sub-patrones entre paréntesis.

Retroreferencias
Sub-patrones de una sóla aplicación
Sintaxis de expresiones regulares de PCRE


Sub-patrones de una sóla aplicación

Con las repeticiones maximizadoras y minimizadoras, el fallo de lo que se encuentra a continuación causa normalmente que la repetición del elemento sea re-evaluada para ver si un número diferente de repeticiones permite que el resto del patrón coincida. A veces es útil prevenir esto, tanto para cambiar la naturaleza de la comparación, como para ocasionar que falle antes (ya que de otra manera ocurriría el fallo después) cuando el autor del patrón sabe que no tiene sentido seguir.

Considere, por ejemplo, el patrón \d+foo cuando se aplica a la línea objetivo 123456bar

Después de coincidir los 6 dígitos y luego fallar al coincidir con "foo", la acción habitual del comparador es volver a intentarlo con sólo 5 dígitos, coincidiendo con el elemento \d+, y después con 4, y así sucesivamente, antes de que, por último, falle. Los sub-patrones de una sóla aplicación proporcionan el medio para especificar que una vez que una porción del patrón ha coincidido, no será re-evaluado de esta forma, por lo que el comparador se rendirá inmediatamente al fallar la comparación de "foo" la primera vez. La notación es otro tipo de paréntesis especiales, comenzando con (?> como en este ejemplo: (?>\d+)bar

Este tipo de paréntesis "bloquea" la parte del patrón que lo contiene una vez haya coincidido, y un fallo dentro del patrón evita que éste retroceda sobre sí mismo. El retroceso hacia elementos previos al sub-patrón funciona normalmente, después de todo.

Una descripción alternativa es que un sub-patrón de este tipo coincide con la cadena de caracteres que coincidiría con un patrón idéntico independiente, si está anclado en el punto actual de la cadena objetivo.

Los sub-patrones de una sóla aplicación no son sub-patrones de captura. Los casos sencillos como el anterior se pueden tomar como una repetición maximizadora que debe tragar todo lo que pueda. Así, mientras que \d+ y \d+? están preparados para adaptarse al número de dígitos que comparan para hacer que el resto del patrón coincida, (?>\d+) sólo puede conincidir una secuencia completa de dígitos.

Esta construcción puede, por supuesto, contener arbitrariamente sub-patrones complicados, y pueden estar anidados.

Los sub-patrones de una sóla aplicación se pueden usar junto con declaraciones de búsqueda hacia atrás para especificar una comparación eficiente al final de la cadena objetivo. Considere un simple patrón como abcd$ cuando se aplica a una cadena larga la cual no coincide. Ya que la comparación se lleva a cabo de izquierda a derecha, PCRE buscará cada "a" en el sujeto y después mirará si lo siguiente coincide con el resto del patrón. Si el patrón se especifica así ^.*abcd$ el .* inicial coincide con la cadena entera primero, pero cuando esto falla (debido a que no hay una "a" siguiente), retrocede para comparar todos los caracteres excepto el último, después todos excepto los dos últimos, y así sucesivamente. Una vez más la búsqueda de "a" cubre la cadena entera, de derecha a izquierda, por lo que no estamos en mejores circunstancias. Sin embargo, si el patrón se escribe así ^(?>.*)(?<=abcd) entonces no puede haber retroceso para el elemento .* ; sólo puede coincidir con la cadena entera. La subsiguiente declaración de búsqueda hacia atrás realiza una única comprobación sobre los últimos cuatro caracteres. Si falla, la comparación falla inmediatamente. Para cadenas largas, este enfoque produce una diferencia significativa en el tiempo de procesamiento.

Cuando un patrón contiene una repetición ilimitada dentro de un sub-patrón que puede repetirse un número ilimitado de veces, el uso de un sub-patrón de una sóla aplicación es la única manera de evitar que algunas comparaciones fallidas tomen mucho tiempo. El patrón (\D+|<\d+>)*[!?] compara un número ilimitado de sub-cadenas que consisten en algo que no sea un dígito, o dígitos encerrados entre <>, seguido de ! o ?. Cuando coincide, se ejecuta rápidamente. Sin embargo, si se aplica a aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa toma mucho tiempo antes de informar del fallo. Esto es porque la cadena puede ser dividida entre las dos repeticiones de muchas maneras, y todo tiene que ser probado. (En el ejemplo se usó [!?] en vez de un carácter único al final, ya que PCRE y Perl están optimizados de forma que permiten que se falle rápidamente cuando se usa un carácter único. Ambos recuerdan el último carácter único que se requiere para una coincidencia, y falla antes si no está presente en la cadena.) Si el patrón se cambia a ((?>\D+)|<\d+>)*[!?] las secuencias de los "no-dígitos" no pueden romperse, y el fallo ocurre rápidamente.

Declaraciones
Sub-patrones condicionales
Sintaxis de expresiones regulares de PCRE


Sub-patrones condicionales

Es posible hacer que el proceso de comparación obedezca a un sub-patrón condicionalmente o que elija entre dos sub-patrones alternativos, dependiendo del resultado de una declaración o de si un sub-patrón de captura previo coincidió o no. Las dos formas posibles de un sub-patrón condicional son

(?(condición)patrón-sí)
(?(condición)patrón-sí|patrón-no)

Si la condición es satisfecha, se usa el patrón-sí; de otro modo se usa el patrón-no (si está presente). Si hay más de dos alternativas en el sub-patrón, se producirá un error en tiempo de compilación.

Hay dos tipos de condiciones. Si el texto entre los paréntesis consisite en una secuencia de dígitos, la condición es satisfecha si el sub-patrón de captura de ese número ha coincidido anteriormente. Considere el siguiente patrón, el cual contiene espacios en blanco no significativos para hacerlo más legible (se asume la opción PCRE_EXTENDED) y para dividirlo en tres partes para facilitar su discusión: ( \( )? [^()]+ (?(1) \) )

La primera parte compara un paréntesis de apertura opcional, y si el carácter está presente, lo establece como la primera sub-cadena capturada. La segunda parte compara uno o más caracteres que no sean paréntesis. La tercera parte es un patrón condicional que examina el primer conjunto de paréntesis coincididos o no. Si lo fueron, es decir, si el sujeto comenzó con un paréntesis de apertura, la condición es TRUE, y así el patrón-sí se ejecuta y es requerido un paréntesis de cierre. De otra manera, ya que el patrón-no no está presente, el subpatrón no coincidirá con nada. En otras palabras, este patrón coincide con una secuencia que no tenga paréntesis, opcionalmente encerrada entre paréntesis.

Si la condición es la cadena (R), se satisface si ha sido hecha una llamada recursiva al patrón o sub-patrón. En el "nivel superior", la condición es falsa.

Si la condición no es una secuencia de dígitos o (R), debe de ser una declaración. Ésta puede ser una declaración de búsqueda hacia delante o hacia atrás, negativa o positiva. Considere este patrón, conteniendo de nuevo espacios en blanco no significativos, y con dos alternativas en la segunda línea:

(?(?=[^a-z]*[a-z])
\d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} )

La condición es una declaración de búsqueda hacia delante positiva que compara una secuencia opcional de algo que no sean letras seguida de una letra. En otras palabras, comprueba la presencia de al menos una letra en el sujeto. Si se encuentra una letra, el sujeto se compara con la primera alternativa; de otro modo se compara con la segunda. Este patrón coincide con cadenas en una de las dos formas dd-aaa-dd o dd-dd-dd, donde aaa son letras y dd son dígitos.

Sub-patrones de una sóla aplicación
Comentarios
Sintaxis de expresiones regulares de PCRE


Comentarios

La secuencia (?# marca el inicio de un comentario que continúa hasta el siguiente paréntesis de cierre. Los paréntesis anidados no están permitidos. Los caracteres que componen un comentario no toman parte a la hora de una comparación del patrón.

Si la opción PCRE_EXTENDED está establecida, un carácter # sin escapar fuera de una clase carácter inicia un comentario que continúa hasta el siguiente carácter de nueva línea del patrón.

Sub-patrones condicionales
Patrones recursivos
Sintaxis de expresiones regulares de PCRE


Patrones recursivos

Considere el problema de comparar una cadena entre paréntesis, permitiendo paréntesis anidados ilimitados. Sin el uso de la recursividad, lo mejor que se puede hacer es usar un patrón que compare hasta alguna profundidad fija de anidamiento. No es posible manejar una profundidad de anidamiento arbitraria. Perl 5.6 ha proporcionado una herramienta experimental que permite a las expresiones regulares actuar recursivamente (entre otras cosas). El elemento especial (?R) es proporcionado para el caso específico de la recursividad. Este patrón de PCRE soluciona el problema de los paréntesis (se asume que la opción PCRE_EXTENDED está establecida por lo que los espacios en blanco se ignoran): \( ( (?>[^()]+) | (?R) )* \)

Primero se compara un paréntesis de apertura. Después compara cualquier número de sub-cadenas que pueden ser tanto una secuencia de algo que no sean paréntesis como una comparación recursiva del patrón mismo (esto es, una sub-cadena con los paréntesis correctos). Finalmente hay un paréntesis de cierre.

Este patrón de ejemplo en particular contiene repeticiones anidadas ilimitadas, y así, el uso de un sub-patrón de una sóla aplicación para comparar cadenas que no contengan paréntesis es importante cuando se aplica el patrón a cadenas que no coinciden. Por ejemplo, cuando se aplica a (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa() produce "no hay conicidencias" rápidamente. Sin embargo, si no se usa un sub-patrón de una sóla aplicación, la comparación se ejecuta realmente durante mucho tiempo ya que hay muchas maneras diferentes de que las repeticiones + y * se puedan repartir el sujeto, y todas tienen que ser comprobadas antes de que se informe del fallo.

El conjunto de valores para cualquier sub-patrón de captura son aquellos del nivel último de la recursión en el cual el valor del sub-patrón es establecido. Si el patrón anterior se compara con (ab(cd)ef) el valor del paréntesis de captura es "ef", el cual es el último valor tomado en el nivel superior. Si se añaden paréntesis adicionales, dando lugar a \( ( ( (?>[^()]+) | (?R) )* ) \) entonces la cadena que capturan es "ab(cd)ef", el contenido de los paréntesis del nivel superior. Si hay más de 15 paréntesis de captura en un patrón, PCRE ha de obtener memoria extra para almacenar la información durante una recursión, lo cual hace usando pcre_malloc, liberándola mediante pcre_free después. Si no se puede obtener memoria, se guarda la información para los primeros 15 paréntesis de captura sólamente, ya que no hay manera de otorgar un error "out-of-memory" desde dentro de una recursión.

Se puede usar también (?1), (?2) y así sucesivamente, para los sub-patrones recursivos. Tamién es posible usar sub-patrones nominados: (?P>nombre) o (?&nombre).

Si la sintaxis para la referencia de un sub-patrón recursivo (tanto como número o como nombre) se usa fuera de los paréntesis a los que hace referencia, opera como una sub-rutina de un lenguaje de programación. Un ejemplo mostrado anteriormente, tal que el patrón (abraz|apreci)o de un \1ador coincide con "abrazo de un abrazador" y con "aprecio de un apreciador", pero no con "abrazo de un apreciador". Si en su lugar se usa (abraz|apreci)o de un (?1)ador, coincide con "abrazo de un apreciador" así como con las otras dos cadenas. Tales referencias deben, sin embargo, seguir al sub-patrón al que hacen referencia.

La longitud máxima de una cadena objetivo es el número positivo más grande que una variable tipo integer pueda tener. Sin embargo, PCRE usa la recursividad para tratar sub-patrones y repetición indefinida. Esto significa que el espacio de pila disponible puede limitar el tamaño de una cadena objetivo que puede ser procesada por ciertos patrones.

Comentarios
Rendimiento
Sintaxis de expresiones regulares de PCRE


Rendimiento

Ciertos elementos que pueden aparecer en patrones son más eficientes que otros. Es más eficiente usar una clase carácter como [aeiou] en vez de un conjunto de alternativas como (a|e|i|o|u). En general, la construcción más simple que proporciona el comportamiento requerido es normalmente la más eficiente. El libro de Jeffrey Friedl contiene muchas discusiones sobre la optimización de expresiones regulares para un rendimiento eficiente.

Cuando un patrón comienza con .* y la opción PCRE_DOTALL está establecida, el patrón es anclado implícitamente por PCRE, ya que sólo puede coincidir con el inicio de una cadena objetivo. Sin embargo, si PCRE_DOTALL no está establecido, PCRE no puede realizar esta optimización, ya que el metacarácter . no coincide entonces con una nueva línea, y si la cadena objetivo contine nuevas líneas, el patrón puede coincidir con el carácter inmediatemente siguiente a ellas en vez de con el inicio absoluto. Por ejemplo, el patrón (.*) segundo coincide con el sujeto "primero\ny segundo" (donde \n significa un carácter de nueva línea), siendo "y" la primera sub-cadena capturada. Para llevar a cabo esto, PCRE ha de re-intentar la comparación comenzando después de cada nueva línea del sujeto.

Si está usando un patrón similar con cadenas objetivo que no contienen nuevas líneas, el mejor rendimiento se obtiene estableciendo PCRE_DOTALL, o comenzando el patrón con ^.* para indicar el anclado explícito. Esto salva a PCRE de tener que escanear el sujeto buscando una nueva línea desde donde reiniciar.

Tenga cuidado con los patrones que contienen repeticiones anidadas indefinidas. Éstos pueden tomar mucho tiempo al ejecutarse cuando se aplican a cadenas que no coinciden. Considere el fragmento de patrón (a+)*

Esto puede coincidir con "aaaa" de 33 maneras diferentes, y este número se incrementa muy rápidamente mientras la cadena se hace más larga. (La repetición * puede coincidir 0, 1, 2, 3, o 4 veces, y para cada uno de estos casos distintos de 0, las repeticiones de + pueden coincidir diferente número de veces.) Cuando el resto del patrón es tal que la comparación completa falla, PCRE tiene como principio el intentar cada posible variación, y esto puede tomar un tiempo extremadamente largo.

Una optimización toma algunos de los casos más simples como (a+)*b donde sigue un carácter literal. Antes de emprender el procedimiento de comparación estándar, PCRE verifica que hay una "b" posterior en la cadena objetivo, y si no la hay, falla la comparación inmediatamente. Sin embargo, cuando no hay un literal siguiente, no se puede usar esta optimización. Puede ver la diferencia comparando el comportamiento de (a+)*\d con el patrón anterior. El primero otorga un fallo casi instantáneamente cuando se aplica a una línea llena de caracteres "a", mientras que el segundo toma un tiempo apreciable con cadenas con más de de 20 caracteres.

Patrones recursivos
Posibles modificadores en patrones de expresiones regulares
Sintaxis de expresiones regulares de PCRE


Modificadores de Patrón

Los modificadores PCRE disponibles son listados a continuación. Los nombres entre paréntesis se refieren a nombres internos de PCRE para dichos modificadores. Los espacios y nuevas líneas son ignorados en los modificadores, otros caracteres generan error.

i (PCRE_CASELESS)
Si se aplica este modificador, las letras en el patrón coincidirán tanto con letras mayúsculas como minúsculas.
m (PCRE_MULTILINE)
Por defecto, PCRE trata la cadena objetivo como si fuera una única "línea" de caracteres (incluso si en realidad contiene varias nuevas líneas). El meta-carácter "inicio de línea" (^) coincide sólo con el inicio de la cadena, mientras que el meta-carácter "final de línea" ($) coincide sólo con el final de la cadena, o antes del final de una nueva línea (a menos que el modificador D se aplique). Esto es igual que en Perl. Cuando se aplica este modificador, los constructores "inicio de línea" y "final de línea" coinciden inmediatamente después o inmediatamente antes que cualquier nueva línea de la cadena objetivo, respectivamente, así como al inicio y final absolutos. Esto es equivalente al modificador /m de Perl. Si no hay caracteres "\n" en una cadena objetivo, o no hay incidencias de ^ o $ en el patrón, la aplicación de este modificador no tiene efecto.
s (PCRE_DOTALL)
Si se aplica este modificador, un meta-carácter punto en el patrón coincide con todos los caracteres, incluyendo nuevas líneas. Sin él, las nuevas líneas son excluidas. Este modificador es equivalente al modificador /s de Perl. Una clase negativa como [^a] siempre coincidirá con un carácter de nueva línea, independientemente de la aplicación de este modificador.
x (PCRE_EXTENDED)
Si se aplica este modificador, los caracteres de información de espacios en blanco en el patrón se ignoran totalmente excepto cuando están escapados o dentro de una clase carácter, y los caracteres entre un # sin escapar fuera de una clase carácter y el siguiente carácter nueva línea, inclusive, también son ignorados. Esto es equivalente al modificador /x de Perl, y hace posible incluir comentarios dentro de patrones complicados. Observe, sin embargo, que esto se aplica sólo a caracteres de información. Los caracteres espacio en blanco nunca pueden aparecer dentro de secuencias de caracteres especiales en un patrón, por ejemplo dentro de la secuencia (?( la cual inicia un sub-patrón condicional.
e (PREG_REPLACE_EVAL)
Advertencia

Esta característica ha sido declarada OBSOLETA desde PHP 5.5.0. Su uso está totalmente desaconsejado.

Si se aplica este modificador obsoleto, preg_replace() realiza las sustituciones normales de retro-referencias en la cadena a sustituir, la evalúa como código PHP, y usa el resultado para sustituir la cadena de búsqueda. Las comillas simples, comillas dobles, barras invertidas (\) y caracteres NULL serán escapados con barras invertidas en las retro-referencias sustituidas.
Precaución

La función addslashes() se ejecuta en cada retroreferencia que coincida antes de que se realice la sustitución. Por lo tanto, cuando la retroreferencia se usa como una cadena entrecomillada, los caracteres escapados serán convertidos a literales. to literals. Sin embargo, los caracteres que son escapados, los cuales normalmente no serían convertidos, mantendrán sus barras. Esto hace que el uso de este modificador sea muy complicado.

Precaución

Asegúrese de que replacement constituye una cadena de código PHP válida; de otro modo PHP responderá con un error de análisis en la línea que contiene preg_replace().

Precaución

El uso de este modificador está desaconsejado, ya que puede introducir fácilmente vulnerabilidades de seguridad:

<?php
$html = $_POST['html'];

// cabeceras en mayúsculas
$html = preg_replace(
    '(<h([1-6])>(.*?)</h\1>)e',
    '"<h$1>" . strtoupper("$2") . "</h$1>"',
    $html
);

En el código de ejemplo de arriba puede ser explotado fácilmente pasando una cadena de texto como <h1>{${eval($_GET[php_code])}}</h1>. Esto proporciona al atacante la capacidad de ejecutar código de PHP arbitrario y tener acceso casi completo al servidor.

Para evitar este tipo de vulnerabilidad de ejecución de código remoto, se debería usar la función preg_replace_callback() en su lugar:

<?php
$html = $_POST['html'];

// cabeceras en mayúsculas
$html = preg_replace_callback(
    '(<h([1-6])>(.*?)</h\1>)',
    function ($m) {
        return "<h$m[1]>" . strtoupper($m[2]) . "</h$m[1]>";
    },
    $html
);

Nota:

Sólamente preg_replace() utiliza este modificador; es ingnorado por otras funciones PCRE.

A (PCRE_ANCHORED)
Si se aplica este modificador, el patrón es forzado a ser "anclado", es decir, se le obliga a coincidir sólo con el inicio de la cadena que está siendo buscada (la "cadena objetivo"). Este efecto también se puede lograr mediante construcciones apropiadas en el patrón mismo, lo cual es la única manera de hacerlo en Perl.
D (PCRE_DOLLAR_ENDONLY)
Si se aplica este modificador, un meta-carácter dólar en el patrón coincidirá sólo con el final de la cadena objetivo. Sin este modificador, un dólar coincide también inmediatamente antes del carácter final si éste es una nueva línea (pero no antes de cualquier otra nueva línea). Este modificador es ignorado si el modificadr m se aplica. No existe equivalente a este modificador en Perl.
S
Cuando un patrón se va a usar varias veces, merece la pena dedicar más tiempo a analizarlo a fin de acelerar el tiempo tomado para las comparaciones. Si se aplica este modificador, se realiza este análisis extra. Actualmente, estudiar un patrón es útil sólamente para patrones no anclados que no tienen un carácter de inicio único fijo.
U (PCRE_UNGREEDY)
Este modificador invierte la "codicia" de los cuantificadores de modo que no sean codiciosos por defecto, pero se vuelven codiciosos si son seguidos por ?. Esto no es compatible con Perl. También se puede aplicar por un modificador de ajuste dentro del patrón (?U) o por un signo de interrogación detrás del cuantificador (p.ej. .*?).

Nota:

Normalmente no es posible hacer coincidir más de pcre.backtrack_limit caracteres en el modo no codicioso.

X (PCRE_EXTRA)
Este modificador pone en marcha funcionalidad adicional de PCRE que es incompatible con Perl. Cualquier barra invertida en un patrón que esté seguida por una letra que no tenga un significado especial causa un error, por lo que se reservan estas combinaciones para futuras expansiones. Por defecto, como en Perl, una barra invertida seguida de una letra que no tenga un significado especial se trata como un literal. No hay en la actualidad otras características controladas por este modificador.
J (PCRE_INFO_JCHANGED)
El ajuste de opción interna (?J) cambia la opción local PCRE_DUPNAMES. Permite nombres duplicados para sub-patrones.
u (PCRE_UTF8)
Este modificador pone en marcha funcionalidad adicional de PCRE que es incompatible con Perl. Las cadenas de patrones son tratadas como UTF-8. Este modificador está disponible a partir de PHP 4.1.0 o posterior en Unix y desde PHP 4.2.3 en win32. La validez UTF-8 del patrón es verificada desde PHP 4.3.5.

Rendimiento
Diferencias con Perl
Patrones PCRE


Diferencias con Perl

Las diferencias descritas aquí se refieren a las que hay con Perl 5.005.

  1. Por defecto, un carácter espacio en blanco es cualquier carácter que la función isspace() de la biblioteca C reconoce, aunque es posible compilar PCRE con tablas de tipo de caracteres alternativas. Normalmente isspace() coincide con un espacio, salto de página, nueva línea, retorno de carro, tabulador horizontal y tabulador vertical. Perl 5 ya no incluye el tabulador vertical en su juego caracteres de espacios en blanco. De hecho, el carácter de escape \v, el cual estuvo en la documentación de Perl durante mucho tiempo, nunca fue reconocido. Sin embargo, el carácter mismo fue tratado como espacio en blanco al menos hasta 5.002. En 5.004 y 5.005 no coincide con \s.
  2. PCRE no permite la cuantificadores de repetición en declaraciones de búsqueda hacia delante. Perl las permite, pero no significan lo que se puede estar pensando. Por ejemplo, (?!a){3} no afirma que los tres caracteres siguientes no son "a". Simplemente afirma que el siguiente carácter no es "a" tres veces.
  3. Los sub-patrones de captura que tienen lugar dentro de declaraciones de búsqueda hacia delante negativas se cuentan, pero sus entradas en los índices del vector nunca se establecen. Perl establece sus variables numéricas desde cualquiera de los patrones que han coincidido antes de que la declaración falle al coincidir con algo (de ese modo teniendo éxito), pero sólo si la declaración de búsqueda hacia delante negativa contiene sólo una rama.
  4. Aunque los caracteres cero binario están soportados en la cadena objetivo, no están permitidos en un patrón de cadena porque es pasado como una cadena C normal, finalizada por cero. La secuencia de escape "\x00" se puede usar para representar un cero binario en un patrón.
  5. Las siguientes secuencias de escape de Perl no estás soportadas: \l, \u, \L, \U. De hecho, éstas están implementadas por el manejo de cadenas general de Perl y no son parte de su motor de comparación de patrones.
  6. La declaración \G de Perl no está soportada y no es relevante para las comparaciones de patrones individuales.
  7. Obviamente, PCRE no soporta la construcción de (?{código}) y (??{código}). Sin embargo, tiene soporte para patrones recursivos.
  8. Hay, a la hora de escribir, algunas singularidades en Perl 5.005_02 concernientes con la configuración de las cadenas capturadas cuando una parte de un patrón se repite. Por ejemplo, al comparar "aba" con el patrón /^(a(b)?)+$/ establece $2 con el valor "b", pero al comparar "aabbaa" con /^(aa(bb)?)+$/ deja $2 sin establecer. Sin embargo, si el patrón se cambia a /^(aa(b(b))?)+$/ entonces $2 (y $3) se establecen. En Perl 5.004 $2 es establecido en ambos casos, y esto también es TRUE en PCRE. Si en el futuro Perl cambia a un estado de consistencia que es diferente, PCRE puede cambiar para seguir su ejemplo.
  9. Una discrepancia todavía no resuelta es que en Perl 5.005_02 el patrón /^(a)?(?(1)a|b)+$/ coincide con la cadena "a", mientras que en PCRE no lo hace. Sin embargo, en Perl y en PCRE /^(a)?a/ coincide con "a" dejando $1 sin establecer.

  10. PCRE proporciona algunas extensiones para las herramientas de expresiones regulares de Perl:

    1. Aunque las declaraciones de búsqueda hacia atrás deben coincidir con cadenas de longitud fija, cada rama alternativa de una declaración de búsqueda hacia atrás puede coincidir con una longitud de cadena diferente. Perl 5.005 requiere que todas ellas tengan la misma longitud.
    2. Si se aplica PCRE_DOLLAR_ENDONLY y no se aplica PCRE_MULTILINE, el meta-carácter $ coincide sólo con el final absoluto de la cadena.
    3. Si se aplica PCRE_EXTRA, una barra invertida seguida de una letra sin ningún significado especial fallará.
    4. Si se aplica PCRE_UNGREEDY, la codicia de los cuantificadores de repetición se invierte, es decir, por defecto dejan de ser codiciosos, pero si son seguidos por un signo de interrogación lo serán.

Posibles modificadores en patrones de expresiones regulares
Diferencias con las expresiones regulares POSIX
Patrones PCRE


Diferencias con las expresiones regulares POSIX

A partir de PHP 5.3.0, la extensión Expresiones Regulares POSIX está obsoleta. Hay varias diferencias entre las expresiones regulares POSIX y las expresiones regulares de PCRE. Esta página lista las más notables que son necesarias conocer cuando se convierten a PCRE.

  1. Las funciones de PCRE requieren que el patrón esté encerrado por delimitadores.
  2. A diferencia de POSIX, la extensión PCRE no tiene funciones dedicadas para comparación insensible a mayúsculas-minúsculas. En su lugar, esto está soportado por el uso del i (PCRE_CASELESS) modificador de patrón. También están disponibles otros modificadores de patrón para cambiar la estrategia de comparación.
  3. Las funciones POSIX buscan la más larga de las coincidencias del extremo izquierdo, pero PCRE se detiene en la primera coincidencia válida. Si la cadena no coincide en absoluto no hay diferencia, pero si coincide puede tener efectos dramáticos sobre la coincidencia resultante y la velocidad de comparación. Para ilustrar esta diferencia considere el siguiente ejemplo de "Mastering Regular Expressions" por Jeffrey Friedl. Usar el patrón one(self)?(selfsufficient)? sobre la cadena oneselfsufficient con PCRE resultará en la coincidencia de oneself, pero usando POSIX el resultado será la cadena completa oneselfsufficient. Ambas (sub)cadenas coinciden con la cadena origianl, pero POSIX requiere que la más larga sea el resultado.
  4. La definición de POSIX de una "clase carácter" difiere de la de PCRE. Las expresiones simples entre corchetes para comparar un conjunto de caracters explícito está soportado en la forma de clases carácter de PCRE, pero los elementos de cotejamiento, las clases carácter, y las equivalencias de caracters de POSIX no están soportadas. Proporcionar a PCRE una expresión con una clase carácter que empiece y finalice con los caracters :, . o = se interpreta como un intento de usar una de las características no soportadas, y causará un error de compilación.

Sustituciones de funciones
POSIX | PCRE
ereg_replace() | preg_replace()
ereg() | preg_match()
eregi_replace() | preg_replace()
eregi() | preg_match()
split() | preg_split()
spliti() | preg_split()
sql_regcase() | No hay equivalente

Diferencias con Perl
Funciones de PCRE
Patrones PCRE


Funciones de PCRE

Tabla de contenidos

  • preg_filter — Realiza una búsqueda y sustitución de una expresión regular
  • preg_grep — Devuelve entradas de matriz que coinciden con el patrón
  • preg_last_error — Devuelve el código de error de la última ejecución de expresión regular PCRE
  • preg_match_all — Realiza una comparación global de una expresión regular
  • preg_match — Realiza una comparación con una expresión regular
  • preg_quote — Escapar caracteres en una expresión regular
  • preg_replace_callback — Realiza una búsqueda y sustitución de una expresión regular usando una llamada de retorno
  • preg_replace — Realiza una búsqueda y sustitución de una expresión regular
  • preg_split — Divide un string mediante una expresión regular
Diferencias con las expresiones regulares POSIX
preg_filter
PCRE


Realiza una búsqueda y sustitución de una expresión regular

Funciones de PCRE
preg_grep
Funciones de PCRE
PHP Manual

preg_filter

(PHP 5 >= 5.3.0)

preg_filter — Realiza una búsqueda y sustitución de una expresión regular

Descripción

mixed preg_filter ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )

preg_filter() es idéntica a preg_replace() excepto que sólo devuelve los sujetos (posiblemente tranformados) donde hubo una coincidencia. Para detalles de cómo trabaja esta función, lea la documentación de preg_replace().

Valores devueltos

Devuelve un array si el parámetro subject es un array, de otro modo devuelve un string.

Si no se encontraron coincidencias u ocurrió un error, se devuelve un array vacío cuando subject es un array o NULL de otro modo.

Ejemplos

Ejemplo #1 Ejemplo comparando preg_filter() con preg_replace()

<?php
$sujeto = array('1', 'a', '2', 'b', '3', 'A', 'B', '4');
$patrón = array('/\d/', '/[a-z]/', '/[1a]/');
$sustitución = array('A:$0', 'B:$0', 'C:$0');

echo "preg_filter devuelve\n";
print_r(preg_filter($patrón, $sustitución, $sujeto));

echo "preg_replace devuelve\n";
print_r(preg_replace($patrón, $sustitución, $sujeto));
?>

El resultado del ejemplo sería:

preg_filter devuelve
Array
(
    [0] => A:C:1
    [1] => B:C:a
    [2] => A:2
    [3] => B:b
    [4] => A:3
    [7] => A:4
)
preg_replace devuelve
Array
(
    [0] => A:C:1
    [1] => B:C:a
    [2] => A:2
    [3] => B:b
    [4] => A:3
    [5] => A
    [6] => B
    [7] => A:4
)

Ver también

  • Patrones de PCRE
  • preg_replace() - Realiza una búsqueda y sustitución de una expresión regular
  • preg_replace_callback() - Realiza una búsqueda y sustitución de una expresión regular usando una llamada de retorno
  • preg_grep() - Devuelve entradas de matriz que coinciden con el patrón
  • preg_last_error() - Devuelve el código de error de la última ejecución de expresión regular PCRE

Funciones de PCRE
preg_grep
Funciones de PCRE


Devuelve entradas de matriz que coinciden con el patrón

preg_filter
preg_last_error
Funciones de PCRE
PHP Manual

preg_grep

(PHP 4, PHP 5)

preg_grep — Devuelve entradas de matriz que coinciden con el patrón

Descripción

array preg_grep ( string $pattern , array $input [, int $flags = 0 ] )

Devuelve la matriz consistente en los elementos de la matriz input que coinciden con pattern.

Parámetros

pattern

El patrón de búsqueda, como cadena.

input

La matriz de entrada.

flags

Si se establece a PREG_GREP_INVERT, esta función devuelve los elementos de la matriz de entrada que no coinciden con pattern.

Valores devueltos

Devuelve una matriz indexada usando las claves de la matriz input.

Historial de cambios

Versión | Descripción
4.2.0 | Se añadió el parámetro flags.
4.0.4

Antes de esta versión, la matriz devuelta era indexada sin tener en cuenta las claves de la matriz input.

Si quiere reproducir este comportamiento anterior, use array_values() sobre la matriz devuelta para re-indexar los valores.

Ejemplos

Ejemplo #1 Ejemplo de preg_grep()

<?php
// devuelve todos los elementos de la matriz
// que contienen números de coma (punto) flotante
$matriz_fl = preg_grep("/^(\d+)?\.\d+$/", $matriz);
?>

Ver también

  • Patrones de PCRE
  • preg_match_all() - Realiza una comparación global de una expresión regular
  • preg_filter() - Realiza una búsqueda y sustitución de una expresión regular
  • preg_last_error() - Devuelve el código de error de la última ejecución de expresión regular PCRE

preg_filter
preg_last_error
Funciones de PCRE


Devuelve el código de error de la última ejecución de expresión regular PCRE

preg_grep
preg_match_all
Funciones de PCRE
PHP Manual

preg_last_error

(PHP 5 >= 5.2.0)

preg_last_error — Devuelve el código de error de la última ejecución de expresión regular PCRE

Descripción

int preg_last_error ( void )

Devuelve el código de error de la última ejecución de expresión regular PCRE.

Ejemplo #1 Ejemplo de preg_last_error()

<?php

preg_match('/(?:\D+|<\d+>)*[!?]/', 'foobar foobar foobar');

if (preg_last_error() == PREG_BACKTRACK_LIMIT_ERROR) {
    print '¡El límite de marcha atrás se agotó!';
}

?>

El resultado del ejemplo sería:

Backtrack limit was exhausted!

Valores devueltos

Devuelve una de las siguientes constantes (explicadas en su propia página):

  • PREG_NO_ERROR
  • PREG_INTERNAL_ERROR
  • PREG_BACKTRACK_LIMIT_ERROR (vea también pcre.backtrack_limit)
  • PREG_RECURSION_LIMIT_ERROR (vea también pcre.recursion_limit)
  • PREG_BAD_UTF8_ERROR
  • PREG_BAD_UTF8_OFFSET_ERROR (desde PHP 5.3.0)

preg_grep
preg_match_all
Funciones de PCRE


Realiza una comparación global de una expresión regular

preg_last_error
preg_match
Funciones de PCRE
PHP Manual

preg_match_all

(PHP 4, PHP 5)

preg_match_all — Realiza una comparación global de una expresión regular

Descripción

int preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]] )

Busca en subject todas las coincidencias de la expresión regular dada en pattern y las introduce en matches en el orden especificado por flags.

Después haber encontrado la primera coincidencia, las búsquedas subsiguientes continuarán desde el final de la dicha coincidencia.

Parámetros

pattern

El patrón de búsqueda, dado como string.

subject

La cadena de entrada.

matches

Un array con todas las coincidencias en un array multi-dimensional ordenadas según flags.

flags

Puede ser una combinación de las siguientes banderas (observe que no tiene sentido usar PREG_PATTERN_ORDER junto con PREG_SET_ORDER):

PREG_PATTERN_ORDER

Ordena los resultados de forma que $matches[0] es un array de coincidencias del patrón completo, $matches[1] es un array de cadenas coincidentes por el primer subpatrón entre paréntesis, y así sucesivamente.

<?php
preg_match_all("|<[^>]+>(.*)</[^>]+>|U",
    "<b>ejemplo: </b><div align=left>esto es una prueba</div>",
    $salida, PREG_PATTERN_ORDER);
echo $salida[0][0] . ", " . $salida[0][1] . "\n";
echo $salida[1][0] . ", " . $salida[1][1] . "\n";
?>

El resultado del ejemplo sería:

<b>ejemplo: </b>, <div align=left>esto es una prueba</div>
ejemplo: , esto es una prueba

Así, $salida[0] contiene un array de cadenas que coinciden con el patrón completo, y $salida[1] contiene un array de cadenas encerradas entre etiquetas.

PREG_SET_ORDER

Ordena los resultados de forma que $matches[0] es un array del primer conjunto de coincidencias, $matches[1] es un array del segundo conjunto de coincidencias, y así sucesivamente.

<?php
preg_match_all("|<[^>]+>(.*)</[^>]+>|U",
    "<b>ejemplo: </b><div align=\"left\">esto es una prueba</div>",
    $salida, PREG_SET_ORDER);
echo $salida[0][0] . ", " . $salida[0][1] . "\n";
echo $salida[1][0] . ", " . $salida[1][1] . "\n";
?>

El resultado del ejemplo sería:

<b>ejemplo: </b>, ejemplo:
<div align="left">esto es una prueba</div>, esto es una prueba

PREG_OFFSET_CAPTURE

Si se pasa esta bandera, por cada coincidencia producida, el índice de la cadena añadida también será devulto. Observe que esto cambia el valor de matches dentro de un array donde cada elemento es un array consistente en la cadena coincidente en el índice 0 y su índice de cadena dentro de subject en el índice 1.

Si no se da un orden de bandera, se asume PREG_PATTERN_ORDER.

offset

Normalmente, la búsqueda comienza por el principio de la cadena objetivo. El parámetro opcional offset se puede usar para especificar el lugar alternativo desde el cual comenzar la búsqueda (en bytes).

Nota:

Usar offset no es equivalente a pasar substr($sujeto, $índice) a preg_match() en lugar de la cadena objetivo, ya que pattern puede contener declaraciones como ^, $ o (?<=x). Véase preg_match() para los ejemplos.

Valores devueltos

Devuelve el número de coincidencias del patrón completo (el cual puede ser cero), o FALSE si se produjo un error.

Historial de cambios

Versión | Descripción
5.4.0 | El parámetro matches ahora es opcional.
5.3.6 | Devuelve FALSE si offset es mayor que la longitud de subject.
5.2.2 | Los sub-patrones nominados ahora aceptan la sintaxis (?<nombre>) y (?'nombre') así como (?P<nombre>). Versiones anteriores sólo aceptaban (?P<nombre>).
4.3.3 | Se añadió el parámetro offset
4.3.0 | Se añadió la bandera PREG_OFFSET_CAPTURE

Ejemplos

Ejemplo #1 Obtener todos los números de teléfono de algún texto.

<?php
preg_match_all("/\(?  (\d{3})?  \)?  (?(1)  [\-\s] ) \d{3}-\d{4}/x",
                "Llame al 555-1212 o al 1-800-555-1212", $teléfonos);
?>

Ejemplo #2 Buscar coincidencias de etiquetas HTML (codicioso)

<?php
// El \\2 es un ejemplo de retro-referencia. Esto le dice a pcre que
// debe coincidir el segundo conjunto de paréntesis en la expresión regular
// misma, el cual sería el ([\w]+) en este caso. La barra invertida extra es
// necesaria ya que la cadena está entre comilla dobles.
$html = "<b>texto en negrita</b><a href=hola.html>Haz clic sobre mí</a>";

preg_match_all("/(<([\w]+)[^>]*>)(.*?)(<\/\\2>)/", $html, $coincidencias, PREG_SET_ORDER);

foreach ($coincidencias as $valor) {
    echo "coindicido: " . $valor[0] . "\n";
    echo "parte 1: " . $valor[1] . "\n";
    echo "parte 2: " . $valor[2] . "\n";
    echo "parte 3: " . $valor[3] . "\n";
    echo "parte 4: " . $valor[4] . "\n\n";
}
?>

El resultado del ejemplo sería:

coindicido: <b>texto en negrita</b>
parte 1: <b>
parte 2: b
parte 3: texto en negrita
parte 4: </b>

coindicido: <a href=hola.html>Haz clic sobre mí</a>
parte 1: <a href=hola.html>
parte 2: a
parte 3: Haz clic sobre mí
parte 4: </a>

Ejemplo #3 Usar sub-patrones nominados

<?php

$cadena = <<<FOO
a: 1
b: 2
c: 3
FOO;

preg_match_all('/(?P<nombre>\w+): (?P<dígito>\d+)/', $cadena, $coincidencias);

/* Esto también funciona en PHP 5.2.2 (PCRE 7.0) y posteriores, sin embargo
 * la forma de arriba es la recomendada por compatibilidad con versiones anteriores */
// preg_match_all('/(?<nombre>\w+): (?<dígito>\d+)/', $cadena, $coincidencias);

print_r($coincidencias);

?>

El resultado del ejemplo sería:

Array
(
    [0] => Array
        (
            [0] => a: 1
            [1] => b: 2
            [2] => c: 3
        )

    [nombre] => Array
        (
            [0] => a
            [1] => b
            [2] => c
        )

    [1] => Array
        (
            [0] => a
            [1] => b
            [2] => c
        )

    [dígito] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

    [2] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

)

Ver también

  • Patrones de PCRE
  • preg_match() - Realiza una comparación con una expresión regular
  • preg_replace() - Realiza una búsqueda y sustitución de una expresión regular
  • preg_split() - Divide un string mediante una expresión regular
  • preg_last_error() - Devuelve el código de error de la última ejecución de expresión regular PCRE

preg_last_error
preg_match
Funciones de PCRE


Realiza una comparación con una expresión regular

preg_match_all
preg_quote
Funciones de PCRE
PHP Manual

preg_match

(PHP 4, PHP 5)

preg_match — Realiza una comparación con una expresión regular

Descripción

int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )

Busca en subject una coincidencia con la expresión regular dada en pattern.

Parámetros

pattern

El patrón de búsqueda, como cadena.

subject

La cadena de entrada.

matches

Si se proporciona matches, entonces éste se llena con los resultados de la búsqueda. $matches[0] contendrá el texto que coincidió con el patrón completo, $matches[1] tendrá el texto que coincidió con el primer sub-patrón entre paréntesis capturado, y así sucesivamente.

flags

flags puede estar seguido de la siguiente bandera:

PREG_OFFSET_CAPTURE
Si se pasa esta bandera, por cada coincidencia producida, el índice de la cadena añadida también será devuelto. Observe que esto cambia el valor de matches dentro de una matriz donde cada elemento es una matriz consistente en la cadena coincidente en el índice 0 y su índice dentro de la cadena subject en el índice 1.

offset

Normalmente, la búsqueda comienza por el principio de la cadena objetivo. El parámetro opcional offset se puede usar para especificar el lugar alternativo desde el cual comenzar la búsqueda (en bytes).

Nota:

Usar offset no es equivalente a pasar substr($sujeto, $índice) a preg_match() en lugar de la cadena objetivo, ya que pattern puede contener declaraciones como ^, $ o (?<=x). Compare:

<?php
$sujeto = "abcdef";
$patrón = '/^def/';
preg_match($patrón, $sujeto, $coincidencias, PREG_OFFSET_CAPTURE, 3);
print_r($coincidencias);
?>

El resultado del ejemplo sería:

Array
(
)

mientras que este ejemplo

<?php
$sujeto = "abcdef";
$patrón = '/^def/';
preg_match($patrón, substr($sujeto,3), $coincidencias, PREG_OFFSET_CAPTURE);
print_r($coincidencias);
?>

producirá

Array
(
    [0] => Array
        (
            [0] => def
            [1] => 0
        )

)

Valores devueltos

preg_match() devuelve 1 si pattern coincide con el subject dado, 0 si no, o FALSE si ocurrió un error.

Advertencia

Esta función puede devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se evalúa como FALSE. 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.

Historial de cambios

Versión | Descripción
5.3.6 | Devuelve FALSE si offset es mayor que la longitud de subject.
5.2.2 | Los sub-patrones nominados ahora aceptan la sintaxis (?<nombre>) y (?'nombre') así como (?P<nombre>). Las versiones anteriores sólo aceptaban (?P<nombre>).
4.3.3 | Se añadió el parámetro offset
4.3.0 | Se añadió las bandera PREG_OFFSET_CAPTURE
4.3.0 | Se añadió el parámetro flags

Ejemplos

Ejemplo #1 Busca la cadena de texto "php"

<?php
// La "i" después del delimitador de patrón indica una búsqueda
// sin tener en cuenta mayúsculas/minúsculas
if (preg_match("/php/i", "PHP es el lenguaje de secuencias de comandos web preferido.")) {
    echo "Se encontró una coincidencia.";
} else {
    echo "No se encontró ninguna coincidencia.";
}
?>

Ejemplo #2 Busca la palabra "web"

<?php
/* El \b en el patrón indica un límite de palabra, por lo que sólo la palabra
 * definida "web" se compara, y no una palabra parcial como "webbing" o "cobweb" */
if (preg_match("/\bweb\b/i", "PHP es el lenguaje de secuencias de comandos web preferido.")) {
    echo "Se encontró una coincidencia.";
} else {
    echo "No se encontró ninguna coincidencia.";
}

if (preg_match("/\bweb\b/i", "PHP es el lenguaje de secuencias de comandos website preferido.")) {
    echo "Se encontró una coincidencia.";
} else {
    echo "No se encontró ninguna coincidencia.";
}
?>

Ejemplo #3 Obtener el nombre de dominio de una URL

<?php
// obtiene el nombre del host de la URL
preg_match('@^(?:http://)?([^/]+)@i',
    "http://www.php.net/index.html", $coincidencias);
$host = $coincidencias[1];

// obtiene los dos últimos segmentos del nombre del host
preg_match('/[^.]+\.[^.]+$/', $host, $coincidencias);
echo "El nombre de dominio es: {$coincidencias[0]}\n";
?>

El resultado del ejemplo sería:

El nombre de dominio es: php.net

Ejemplo #4 Usar sub-patrones nominados

<?php

$cadena = 'foobar: 2008';

preg_match_all('/(?P<nombre>\w+): (?P<dígito>\d+)/', $cadena, $coincidencias);

/* Esto también funciona en PHP 5.2.2 (PCRE 7.0) y posteriores, sin embargo
 * la forma de arriba es la recomendada por compatibilidad con versiones anteriores */
// preg_match_all('/(?<nombre>\w+): (?<dígito>\d+)/', $cadena, $coincidencias);

print_r($coincidencias);

?>

El resultado del ejemplo sería:

Array
(
    [0] => foobar: 2008
    [name] => foobar
    [1] => foobar
    [digit] => 2008
    [2] => 2008
)

Notas

Sugerencia

No use preg_match() si solo quiere verificar si una cadena está contenida en otra cadena. Use strpos() o strstr() en su lugar ya que éstas serán más rápidas.

Ver también

  • Patrones de PCRE
  • preg_match_all() - Realiza una comparación global de una expresión regular
  • preg_replace() - Realiza una búsqueda y sustitución de una expresión regular
  • preg_split() - Divide un string mediante una expresión regular
  • preg_last_error() - Devuelve el código de error de la última ejecución de expresión regular PCRE

preg_match_all
preg_quote
Funciones de PCRE


Escapar caracteres en una expresión regular

preg_match
preg_replace_callback
Funciones de PCRE
PHP Manual

preg_quote

(PHP 4, PHP 5)

preg_quote — Escapar caracteres en una expresión regular

Descripción

string preg_quote ( string $str [, string $delimiter = NULL ] )

preg_quote() toma string y pone una barra invertida delante de cada carácter que es parte de la sintaxis de la expresión regular. Esto es útil si tiene una cadena en tiempo de ejecución que necesite comparar con algún texto, y la cadena pueda contener caracteres de expresiones regulares especiales.

Los caracteres de expresiones regulares especiales son: . \ + * ? [ ^ ] $ ( ) { } = ! < > | : -

Parámetros

string

La cadena de entrada.

delimiter

Si se especifica el parámetro opcional delimiter, éste también será escapado. Esto es útil para escapar el delimitador que es necesario para las funciones PCRE. El delimitador / es el que se usa comúnmente.

Valores devueltos

Devuelve el string entrecomillado (escapado).

Historial de cambios

Versión | Descripción
5.3.0 | El carácter - ahora es escapado

Ejemplos

Ejemplo #1 Ejemplo de preg_quote()

<?php
$claves = '$40 por un a g3/400';
$claves = preg_quote($claves, '/');
echo $claves; // devuelve \$40 por un g3\/400
?>

Ejemplo #2 Poner en cursiva una palabra dentro de un texto

<?php
// En este ejemplo, preg_quote($palabra) se usa para que los
// asteriscos sigan teniendo un significado especial en la
// expresión regular.

$texto = "Este libro es *muy* difícil de encontrar.";
$palabra = "*muy*";
$texto = preg_replace ("/" . preg_quote($palabra) . "/",
                          "<i>" . $palabra . "</i>",
                          $texto);
?>

Notas

Nota: Esta función es segura binariamente.

Ver también

  • Patrones de PCRE
  • escapeshellcmd() - Escapar meta-caracteres del intérprete de comandos

preg_match
preg_replace_callback
Funciones de PCRE


Realiza una búsqueda y sustitución de una expresión regular usando una llamada de retorno

preg_quote
preg_replace
Funciones de PCRE
PHP Manual

preg_replace_callback

(PHP 4 >= 4.0.5, PHP 5)

preg_replace_callback — Realiza una búsqueda y sustitución de una expresión regular usando una llamada de retorno

Descripción

mixed preg_replace_callback ( mixed $pattern , callable $callback , mixed $subject [, int $limit = -1 [, int &$count ]] )

El comportamiento de esta función es casi idéntico al de preg_replace(), excepto por el hecho de que en vez del parámetro replacement, se debería especificar callback.

Parámetros

pattern

El patron de búsqueda. Puede ser tanto un cadena como un array de cadenas.

callback

Una llamada de retorno que será llamada y pasada a un array de elementos coincidentes en la cadena subject. La llamada de retorno debería devolver la cadena de sustitución. Esta es la firma de la llamada de retorno:

string handler ( array $matches )

A menudo se necesitará la función de callback para usar preg_replace_callback() únicamente en un lugar. En este caso se puede usar una función anónima para declarar una llamada de retorno dentro de la llamada a preg_replace_callback(). Al hacerlo de este modo, se tiene toda la información de la llamada en un único lugar y no abarrota el espacio de nombres de funciones con un nombre de función de llamada de retorno que no se usa en ningún otro sitio.

Ejemplo #1 preg_replace_callback() y función anónima

<?php
/* un filtro de línea de comandos estilo unix para convertir letras
 * mayúsculas a minúsculas al principio de párrafos */
$fp = fopen("php://stdin", "r") or die("no se puede leer stdin");
while (!feof($fp)) {
    $línea = fgets($fp);
    $línea = preg_replace_callback(
        '|<p>\s*\w|',
        function ($coincidencias) {
            return strtolower($coincidencias[0]);
        },
        $línea
    );
    echo $línea;
}
fclose($fp);
?>

subject

La cadena o un array de cadenas a buscar y reemplazar.

limit

Las sustituciones máximas posibles por cada patrón en cada cadena subject. Por defecto -1 (sin límite).

count

Si se especifica, esta variable será rellenada con el número de sustituciones hechas.

Valores devueltos

preg_replace_callback() devuelve un array si el parámetro subject es un array, o, por el contrario una cadena. Si se producen errores, el valor devuleto es NULL

Si se encontraron coincidencias, el nuevo sujeto será devuelto, de lo contrario subject será devuelto sin cambios.

Historial de cambios

Versión | Descripción
5.1.0 | Se añadió el parámetro count

Ejemplos

Ejemplo #2 Ejemplo de preg_replace_callback()

<?php
// este texto se usó en 2002
// queremos actualizarlo al 2003
$texto = "El Día de los Inocentes es el 28/12/2002\n";
$texto.= "Las últimas Navidades fueron el 24/12/2001\n";
// la función de llamada de retorno
function añoSiguiente($coincidencias)
{
  // como es usual: $coincidencias[0] es la coincidencia completa
  // $coincidencias[1] la coincidencia del primer sub-patrón
  // encerrado entre '(...)' y así sucesivamente
  return $coincidencias[1].($coincidencias[2]+1);
}
echo preg_replace_callback(
            "|(\d{2}/\d{2}/)(\d{4})|",
            "añoSiguiente",
            $texto);

?>

El resultado del ejemplo sería:

El Día de los Inocentes es el 28/12/2003
Las últimas Navidades fueron el 24/12/2002

Ejemplo #3 preg_replace_callback() usando una estructura recursiva para manejar el código BB encapsulado

<?php
$entrada = "nivel 1 [indent] nivel 2 [indent] nivel 3 [/indent] nivel 2 [/indent] nivel 1";

function analizarEtiquetasRecursivo($entrada)
{

    $regex = '#\[indent]((?:[^[]|\[(?!/?indent])|(?R))+)\[/indent]#';

    if (is_array($entrada)) {
        $entrada = '<div style="margin-left: 10px">'.$entrada[1].'</div>';
    }

    return preg_replace_callback($regex, 'analizarEtiquetasRecursivo', $entrada);
}

$salida = analizarEtiquetasRecursivo($entrada);

echo $salida;
?>

Ver también

  • Patrones de PCRE
  • preg_replace() - Realiza una búsqueda y sustitución de una expresión regular
  • preg_last_error() - Devuelve el código de error de la última ejecución de expresión regular PCRE
  • Funciones anónimas
  • información acerca de tipos de llamada de retorno

preg_quote
preg_replace
Funciones de PCRE


Realiza una búsqueda y sustitución de una expresión regular

preg_replace_callback
preg_split
Funciones de PCRE
PHP Manual

preg_replace

(PHP 4, PHP 5)

preg_replace — Realiza una búsqueda y sustitución de una expresión regular

Descripción

mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )

Busca en subject coincidencias de pattern y las reemplaza con replacement.

Parámetros

pattern

El patrón de búsqueda. Puede ser tanto una cadena como una matriz de cadenas.

También están disponibles varios modificadores de PCRE, incluyendo el obsoleto 'e' (PREG_REPLACE_EVAL), que es específico de esta función.

replacement

La cadena o matriz de cadenas a reemplazar. Si este parámetro es una cadena y el parámetro pattern es una matriz, todos los patrones serán sustituidos por esa cadena. Si ambos parámetros, pattern y replacement, son matrices, cada pattern será reemplazado por el replacement equivalente. Si hay menos elementos en la matriz replacement que en la matriz pattern, cualquier pattern extra será reemplazado por una cadena vacía.

replacement puede contener referencias de la forma \\n o (desde PHP 4.0.4) $n, siendo preferida la última forma. Cada referencia de este tipo será sustituida por el texto capturado por el n-simo patrón entre paréntesis. n puede ser desde 0 a 99, y \\0 o $0 se refiere al texto coincidido por el patrón completo. Los paréntesis de apertura se cuentan de izquierda a derecha (comenzando por 1) para obtener el número de sub-patrones de captura. Se debe doblar la barra invertida para poder usarla en la sustitución (cadena PHP "\\\\").

Cuando se trabaja con un patrón de sustitución donde una retro-referencia es immediatamente seguida de otro número (p.ej.: colocar un número literal immediatamente después de un patrón coincidido), no puede usar la notación familiar \\1 para sus retro-referencias. \\11, por ejemplo, confundiría a preg_replace() ya que no sabe si quiere que la retro-referencia \\1 esté seguida por un literal 1, o que la retro-referencia \\11 esté seguida de nada. En este caso la solución es usar \${1}1. Esto crea una retro-referencia $1 aislada, dejando el 1 como un literal.

Cuando se usa el modificador obsoleto e, esta función escapa algunos caracteres (a saber, ', ", \ y NULL) en la cadena que sustituye a las retro-referencias. Esto está hecho para asegurarse de que no surjan errores de sintaxis en el uso de retro-referencias con comillas simples o dobles (p.ej. 'strlen(\'$1\')+strlen("$2")'). Asegúrese de que conoce la sintaxis de cadena para saber cómo se asemejarán las cadenas interpretadas.

subject

La cadena o matriz de cadenas a buscar y sustituir.

Si subject es una matriz, entonces la búsqueda y sustitución se llevan a cabo para cada entrada de subject, y el valor devuleto también es una matriz.

limit

Las sustituciones máximas posibles por cada patrón en cada cadena subject. Por defecto es -1 (sin límite).

count

Si se especifica, esta variable será rellenada con el número de sustituciones hechas.

Valores devueltos

preg_replace() devuelve una matriz si el parámetro subject es una matriz, o, por el contrario, una cadena.

Si se encuentran coincidencias, el nuevo subject será devuelto, de otro modo subject será devuelto sin cambios o NULL si se produjo un error.

Errores/Excepciones

Se emite un error de nivel E_DEPRECATED al pasar el modificador "\e".

Historial de cambios

Versión | Descripción
5.5.0 | El modificador /e está obsoleto. Utilice preg_replace_callback() en su lugar. Véase la documentación de PREG_REPLACE_EVAL para obtener información adicional sobre riesgos de seguridad.
5.1.0 | Añadido el parámetro count
4.0.4 | Añadida la forma '$n' para el parámetro replacement
4.0.2 | Añadido el parámetro limit

Ejemplos

Ejemplo #1 Usar retro-referencias seguidas de literales numéricos

<?php
$cadena = 'Abril 15, 2003';
$patrón = '/(\w+) (\d+), (\d+)/i';
$sustitución = '${1}1,$3';
echo preg_replace($patrón, $sustitución, $cadena);
?>

El resultado del ejemplo sería:

Abril1,2003

Ejemplo #2 Usar matrices indexadas con preg_replace()

<?php
$cadena = 'El veloz murciélago hindú comía feliz cardillo y kiwi.';
$patrones = array();
$patrones[0] = '/veloz/';
$patrones[1] = '/hindú/';
$patrones[2] = '/murciélago/';
$sustituciones = array();
$sustituciones[2] = 'galápago';
$sustituciones[1] = 'africano';
$sustituciones[0] = 'lento';
echo preg_replace($patrones, $sustituciones, $cadena);
?>

El resultado del ejemplo sería:

El galápago lento africano comía feliz cardillo y kiwi.

Al usar ksort en patrones y sustituciones, podríamos obtener lo que buscábamos.

<?php
ksort($patrones);
ksort($sustituciones);
echo preg_replace($patrones, $sustituciones, $cadena);
?>

El resultado del ejemplo sería:

El lento galápago africano comía feliz cardillo y kiwi.

Ejemplo #3 Sustituir varios valores

<?php
$patrones = array ('/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/',
                   '/^\s*{(\w+)}\s*=/');
$sustitución = array ('\4/\3/\1\2', '$\1 =');
echo preg_replace($patrones, $sustitución, '{fechaInicio} = 1999-5-27');
?>

El resultado del ejemplo sería:

$fechaInicio = 27/5/1999

Ejemplo #4 Quitar los espacios en blanco

Este ejemplo quita los espacios en blanco en exceso de una cadena.

<?php
$cadena = 'foo   o';
$cadena = preg_replace('/\s\s+/', ' ', $cadena);
// Ahora esto será 'foo o'
echo $cadena;
?>

Ejemplo #5 Usar el parámetro count

<?php
$cuenta = 0;

echo preg_replace(array('/\d/', '/\s/'), '*', 'xp 4 to', -1 , $cuenta);
echo $cuenta; //3
?>

El resultado del ejemplo sería:

xp***to
3

Notas

Nota:

Cuando se usan matrices con pattern y replacement, las claves se procesan en el orden en que aparecen en la matriz. Éste no es necesariamente el mismo que el orden de índice numérico. Si usa índices para identificar qué pattern debería ser sustituido por cuál replacement, debería usar ksort() en cada matriz antes de llamar a preg_replace().

Ver también

  • Patrones de PCRE
  • preg_filter() - Realiza una búsqueda y sustitución de una expresión regular
  • preg_match() - Realiza una comparación con una expresión regular
  • preg_replace_callback() - Realiza una búsqueda y sustitución de una expresión regular usando una llamada de retorno
  • preg_split() - Divide un string mediante una expresión regular
  • preg_last_error() - Devuelve el código de error de la última ejecución de expresión regular PCRE

preg_replace_callback
preg_split
Funciones de PCRE


Divide un string mediante una expresión regular

preg_replace
Expresiones Regulares POSIX
Funciones de PCRE
PHP Manual

preg_split

(PHP 4, PHP 5)

preg_split — Divide un string mediante una expresión regular

Descripción

array preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )

Divide el string dado mediante una expresión regular.

Parámetros

pattern

El patrón de búsqueda, dado como string.

subject

El string de entrada.

limit

Si se especifica, son devueltos sólo los substrings hasta limit, con el resto del string colocado en el último substring. Si limit vale -1, 0 o NULL, significa "sin límite" y, como es un estándar en PHP, se puede usar NULL para saltar hacia el parámetro flags.

flags

flags puede ser una combinación de las siguientes banderas (combinadas con el operador | a nivel de bits):

PREG_SPLIT_NO_EMPTY
Si se aplica esta bandera, sólo los elementos no vacíos serán devueltos por preg_split().
PREG_SPLIT_DELIM_CAPTURE
Si se aplica esta bandera, las expresiones entre paréntesis en el patrón delimitador serán capturadas y devueltas.
PREG_SPLIT_OFFSET_CAPTURE

Si se aplica esta bandera, por cada coincidencia producida, el índice del string añadido también será devuelto. Observe que esto cambia el valor devuelto dentro de un array donde cada elemento es un array consistente en el string coincidente en el índice 0 y su índice de string dentro de subject en el índice 1.

Valores devueltos

Devuelve un array que contiene substrings de subject dividido por los límites coincidentes de pattern.

Historial de cambios

Versión | Descripción
4.3.0 | Se añadió PREG_SPLIT_OFFSET_CAPTURE
4.0.5 | Se añadió PREG_SPLIT_DELIM_CAPTURE

Ejemplos

Ejemplo #1 Ejemplo de preg_split() : Obtener las partes de un string de búsqueda

<?php
// divide la frase mediante cualquier número de comas o caracteres de espacio,
// lo que incluye " ", \r, \t, \n y \f
$claves = preg_split("/[\s,]+/", "hypertext language, programming");
print_r($claves);
?>

El resultado del ejemplo sería:

Array
(
    [0] => hypertext
    [1] => language
    [2] => programming
)

Ejemplo #2 Dividir un string en sus caracteres constituyentes

<?php
$str = 'string';
$caracteres = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($caracteres);
?>

El resultado del ejemplo sería:

Array
(
    [0] => s
    [1] => t
    [2] => r
    [3] => i
    [4] => n
    [5] => g
)

Ejemplo #3 Dividir un string mediante coincidencias y sus índices

<?php
$str = 'hypertext language programming';
$caracteres = preg_split('/ /', $str, -1, PREG_SPLIT_OFFSET_CAPTURE);
print_r($caracteres);
?>

El resultado del ejemplo sería:

Array
(
    [0] => Array
        (
            [0] => hypertext
            [1] => 0
        )

    [1] => Array
        (
            [0] => language
            [1] => 10
        )

    [2] => Array
        (
            [0] => programming
            [1] => 19
        )

)

Notas

Sugerencia

Si no necesita la potencia de expresiones regulares, puede optar por alternativas más rápidas (no obstante más sencillas) como explode() o str_split().

Sugerencia

Si la comparación falla, será devuelto un array con un único elemento que contiene el string de entrada.

Ver también

  • Patrones de PCRE
  • implode() - Une elementos de un array en un string
  • preg_match() - Realiza una comparación con una expresión regular
  • preg_match_all() - Realiza una comparación global de una expresión regular
  • preg_replace() - Realiza una búsqueda y sustitución de una expresión regular
  • preg_last_error() - Devuelve el código de error de la última ejecución de expresión regular PCRE

preg_replace
Expresiones Regulares POSIX
Funciones de PCRE


Expresiones Regulares (POSIX Extendido)

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • Funciones de expresiones regulares POSIX
    • ereg_replace — Sustituye una expresión regular
    • ereg — Comparación de una expresión regular
    • eregi_replace — Sustituye una expresión regular de forma insensible a mayúsculas-minúsculas
    • eregi — Comparación de una expresión regular de forma insensible a mayúsculas-minúsculas
    • split — Divide una cadena en una matriz mediante una expresión regular
    • spliti — Divide una cadena en una matriz mediante una expresión regular insensible a mayúsculas-minúsculas
    • sql_regcase — Produce una expresión regular para la comparación insensible a mayúscuas-minúsculas
preg_split
Introducción
Procesamiento de texto


Introducción

Sugerencia

PHP también admite expresiones regulares empleando una sintaxis compatible con Perl utilizando las funciones PCRE. Estas funciones admiten comparaciones no codiciosas, declaraciones, patrones condicionales y varias características no soportadas por la sintaxis de las expresiones regulares POSIX extendido.

Advertencia

Estas funciones de expresiones regulares no son seguras al trabajar con datos binarios. Las funciones PCRE sí lo son.

Nota:

A partir de PHP 5.3.0 esta extensión está obsoleta y se emitirá un aviso E_DEPRECATED cuando se llame a cualquier función proporcionada por esta extensión.

Las expresiones regulares se usan para la manipulación de strings complejos. PHP usa las expresiones regulares de POSIX extendido tal como está definido por POSIX 1003.2. Para una descripción completa de las expresiones regulares POSIX, véase el » manual de expresiones regulares incluido en el directorio regex de la distribución de PHP. Este manual está en formato "man", por lo que será necesaria una orden como man /usr/local/src/regex/regex.7 para poder leerlo.

Expresiones Regulares POSIX
Instalación/Configuración
Expresiones Regulares POSIX


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Expresiones Regulares POSIX


Instalación

Advertencia

No cambie TYPE a menos que sepa lo que está haciendo.

Para habilitar el soporte de expresiones regulares configure PHP con --with-regex[=TYPE] . TYPE puede ser system, apache, php. El valor por defecto es php.

La versión de PHP para Windows tiene soporte nativo para esta extensión. No se requiere cargar extensiones adicionales para utilizar estas funciones.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Ejemplos
Expresiones Regulares POSIX


Ejemplos

Ejemplo #1 Ejemplos de Expresiones Regulares

<?php
// Devuelve true si "abc" se encuentra en cualquier lugar de $cadena.
ereg("abc", $cadena);

// Devuelve true si "abc" se encuentra al comienzo de $cadena.
ereg("^abc", $cadena);

// Devuelve true si "abc" se encuentra al final de $cadena.
ereg("abc$", $cadena);

// Devuelve true si el navegador del cliente es Netscape 2, 3 o MSIE 3.
eregi("(ozilla.[23]|MSIE.3)", $_SERVER["HTTP_USER_AGENT"]);

// Coloca tres palabras separadas por un espacio dento de $registros[1], $registros[2] y $registros[3].
ereg("([[:alnum:]]+) ([[:alnum:]]+) ([[:alnum:]]+)", $cadena, $registros);

// Pone una etiqueta <br /> al principio de $cadena.
$cadena = ereg_replace("^", "<br />", $cadena);

// Pone una etiqueta <br /> al final de $cadena.
$cadena = ereg_replace("$", "<br />", $cadena);

// Se deshace de cualquier carácter de nueva línea en $cadena.
$cadena = ereg_replace("\n", "", $cadena);
?>

Constantes predefinidas
Funciones de expresiones regulares POSIX
Expresiones Regulares POSIX


Funciones de expresiones regulares POSIX

Ver también

Para la sintaxis de expresiones regulares compatibles con Perl vea las funciones PCRE. La comparación de patrones comodín estilo shell más sencilla es proporcionada por fnmatch().

Tabla de contenidos

  • ereg_replace — Sustituye una expresión regular
  • ereg — Comparación de una expresión regular
  • eregi_replace — Sustituye una expresión regular de forma insensible a mayúsculas-minúsculas
  • eregi — Comparación de una expresión regular de forma insensible a mayúsculas-minúsculas
  • split — Divide una cadena en una matriz mediante una expresión regular
  • spliti — Divide una cadena en una matriz mediante una expresión regular insensible a mayúsculas-minúsculas
  • sql_regcase — Produce una expresión regular para la comparación insensible a mayúscuas-minúsculas
Ejemplos
ereg_replace
Expresiones Regulares POSIX


Sustituye una expresión regular

Funciones de expresiones regulares POSIX
ereg
Funciones de expresiones regulares POSIX
PHP Manual

ereg_replace

(PHP 4, PHP 5)

ereg_replace — Sustituye una expresión regular

Descripción

string ereg_replace ( string $pattern , string $replacement , string $string )

Esta función busca en string coincidencias de pattern, después reemplaza el texto coincidido con replacement.

Advertencia

Esta función ha sido declarada OBSOLETA desde PHP 5.3.0. Su uso está totalmente desaconsejado.

Parámetros

pattern

Una expresión regular POSIX extendido.

replacement

Si pattern contiene sub-cadenas entre paréntesis, replacement puede contener sub-cadenas de la forma \dígito, las cuales serán sustituidas por el texto que coincida con la sub-cadena entre paréntesis que coincida con el número marcado por dígito; \0 producirá el contenido completo de la cadena. Se pueden usar hasta nueve sub-cadenas. Los paréntesis se pueden anidar, en cuyo caso son contados por los paréntesis de apertura.

string

La cadena de entrada.

Valores devueltos

Se devuelve la cadena modificada. Si no se encontraron coincidencias en string, éste será devuelto sin cambios.

Ejemplos

Por ejemplo, el siguiente trozo de código imprime "Esto era una prueba" tres veces:

Ejemplo #1 Ejemplo de ereg_replace()

<?php

$cadena = "Esto es una prueba";
echo str_replace(" es", " era", $cadena);
echo ereg_replace("( )es", "\\1era", $cadena);
echo ereg_replace("(( )es)", "\\2era", $cadena);

?>

Una cosa a tener en cuenta es que si se usa un valor entero como el parámetro replacement, puede no obtenerse los resultados que se esperaban. Esto es a causa de que ereg_replace() interpretará el número como el valor ordinal de un carácter, y lo aplica. Por ejemplo:

Ejemplo #2 Ejemplo de ereg_replace()

<?php
/* Esto no funcionará como se esperaba. */
$número = 4;
$cadena = "Esta cadena tiene cuatro palabras.";
$cadena = ereg_replace('cuatro', $número, $cadena);
echo $cadena;   /* Salida: 'Esta cadena tiene   palabras.' */

/* Estó funcionará. */
$número = '4';
$cadena = "Esta cadena tiene cuatro palabras.";
$cadena = ereg_replace('cuatro', $número, $cadena);
echo $cadena;   /* Salida: 'Esta cadena tiene 4 palabras.' */
?>

Ejemplo #3 Sustituye URLs por vínculos

<?php
$texto = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
                     "<a href=\"\0\">\0</a>", $texto);
?>

Notas

Nota:

Desde PHP 5.3.0, la extensión regex queda obsoleta y en su lugar se utiliza extensión PCRE. Si se llama a esta función creará un aviso E_DEPRECATED. Ver El listado de diferencias para obtener ayuda a convertir a PCRE.

Sugerencia

ereg_replace() está obsoleta a partir de PHP 5.3.0. preg_replace() es la alternativa sugerida a esta función.

Ver también

  • ereg() - Comparación de una expresión regular
  • eregi() - Comparación de una expresión regular de forma insensible a mayúsculas-minúsculas
  • eregi_replace() - Sustituye una expresión regular de forma insensible a mayúsculas-minúsculas
  • str_replace() - Reemplaza todas las apariciones del string buscado con el string de reemplazo
  • preg_replace() - Realiza una búsqueda y sustitución de una expresión regular
  • quotemeta() - Escapa meta caracteres

Funciones de expresiones regulares POSIX
ereg
Funciones de expresiones regulares POSIX


Comparación de una expresión regular

ereg_replace
eregi_replace
Funciones de expresiones regulares POSIX
PHP Manual

ereg

(PHP 4, PHP 5)

ereg — Comparación de una expresión regular

Descripción

int ereg ( string $pattern , string $string [, array &$regs ] )

Busca en string coincidencias con la expresión regular dada en pattern de una forma sensible a mayúsculas-minúsculas.

Advertencia

Esta función ha sido declarada OBSOLETA desde PHP 5.3.0. Su uso está totalmente desaconsejado.

Parámetros

pattern

Expresión regular sensible a mayúsculas-minúsculas.

string

La cadena de entrada.

regs

Si se encontraron coincidencias con las sub-cadenas entre paréntesis de pattern y la función es llamada con el tercer argumento regs, las coincidencias serán almacenadas en los elementos de la matriz regs.

$registros[1] contendrá la sub-cadena que comienza con el primer paréntesis de la izquierda; $registros[2] contendrá la segunda sub-cadena, y así sucesivamente. $registros[0] contendrá una copia de la cadena coincidente completa.

Valores devueltos

Devuelve la longitud de la cadena coincidente si una coincidencia de pattern se encontró en string, o FALSE si no se encontraron coincidencias o se produjo un error.

Si el parámetro opcional regs no fue pasado o la longitud de la cadena coincidente es 0, esta función devuelve 1.

Historial de cambios

Versión | Descripción
4.1.0 | Hasta PHP 4.1.0 (inclusive) $registros será rellenado con exactamente diez elementos, incluso si en realidad se pueden haber comparado más o menos de diez sub-cadenas entre paréntesis. Esto no tiene efecto en la capacidad que tiene ereg() de comparar más sub-cadenas. Si no se encontraron coincidencias, $registros no será modificado por ereg().

Ejemplos

Ejemplo #1 Ejemplo de ereg()

El siguiente trozo de código toma una fecha en formato ISO (AAAA-MM-DD) y la imprime en formato DD.MM.AAAA:

<?php
if (ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $fecha, $registros)) {
    echo "$registros[3].$registros[2].$registros[1]";
} else {
    echo "Formato de fecha no válido: $fecha";
}
?>

Notas

Nota:

Desde PHP 5.3.0, la extensión regex queda obsoleta y en su lugar se utiliza extensión PCRE. Si se llama a esta función creará un aviso E_DEPRECATED. Ver El listado de diferencias para obtener ayuda a convertir a PCRE.

Sugerencia

ereg() está obsoleta a partir de PHP 5.3.0. preg_match() es la alternativa sugerida a esta función.

Ver también

  • eregi() - Comparación de una expresión regular de forma insensible a mayúsculas-minúsculas
  • ereg_replace() - Sustituye una expresión regular
  • eregi_replace() - Sustituye una expresión regular de forma insensible a mayúsculas-minúsculas
  • preg_match() - Realiza una comparación con una expresión regular
  • strpos() - Encuentra la posición de la primera ocurrencia de un substring en un string
  • strstr() - Encuentra la primera aparición de un string
  • quotemeta() - Escapa meta caracteres

ereg_replace
eregi_replace
Funciones de expresiones regulares POSIX


Sustituye una expresión regular de forma insensible a mayúsculas-minúsculas

ereg
eregi
Funciones de expresiones regulares POSIX
PHP Manual

eregi_replace

(PHP 4, PHP 5)

eregi_replace — Sustituye una expresión regular de forma insensible a mayúsculas-minúsculas

Descripción

string eregi_replace ( string $pattern , string $replacement , string $string )

Esta función es idéntica a ereg_replace() excepto que ignora la distinción de mayúsculas-minúsculas cuando se comparan caracteres alfanuméricos.

Advertencia

Esta función ha sido declarada OBSOLETA desde PHP 5.3.0. Su uso está totalmente desaconsejado.

Parámetros

pattern

Una expresión regular POSIX extendido.

replacement

Si pattern contiene sub-cadenas entre paréntesis, replacement puede contener sub-cadenas de la forma \dígito, las cuales serán sustituidas por el texto que coincida con la sub-cadena entre paréntesis que coincida con el número marcado por dígito; \0 producirá el contenido completo de la cadena. Se pueden usar hasta nueve sub-cadenas. Los paréntesis se pueden anidar, en cuyo caso son contados por los paréntesis de apertura.

string

La cadena de entrada.

Valores devueltos

Se devuelve la cadena modificada. Si no se encontraron coincidencias en string, éste será devuelto sin cambios.

Ejemplos

Ejemplo #1 Destaca los resultados buscados

<?php
$patrón = '(>[^<]*)('. quotemeta($_GET['buscados']) .')';
$sustitución = '\\1<span class="buscados">\\2</span>';
$body = eregi_replace($patrón, $sustitución, $body);
?>

Notas

Nota:

Desde PHP 5.3.0, la extensión regex queda obsoleta y en su lugar se utiliza extensión PCRE. Si se llama a esta función creará un aviso E_DEPRECATED. Ver El listado de diferencias para obtener ayuda a convertir a PCRE.

Sugerencia

eregi_replace() está obsoleta a partir de PHP 5.3.0. preg_replace() con el modificador i (PCRE_CASELESS) es la alternativa sugerida.

Ver también

  • ereg() - Comparación de una expresión regular
  • eregi() - Comparación de una expresión regular de forma insensible a mayúsculas-minúsculas
  • ereg_replace() - Sustituye una expresión regular
  • preg_replace() - Realiza una búsqueda y sustitución de una expresión regular
  • quotemeta() - Escapa meta caracteres

ereg
eregi
Funciones de expresiones regulares POSIX


Comparación de una expresión regular de forma insensible a mayúsculas-minúsculas

eregi_replace
split
Funciones de expresiones regulares POSIX
PHP Manual

eregi

(PHP 4, PHP 5)

eregi — Comparación de una expresión regular de forma insensible a mayúsculas-minúsculas

Descripción

int eregi ( string $pattern , string $string [, array &$regs ] )

Esta función es idéntica a ereg() excepto que ignora la distinción de mayúsculas-minúsculas cuando se comparan caracteres alfanuméricos.

Advertencia

Esta función ha sido declarada OBSOLETA desde PHP 5.3.0. Su uso está totalmente desaconsejado.

Parámetros

pattern

Expresión regular insensible a mayúsculas-minúsculas.

string

La cadena de entrada.

regs

Si se encontraron coincidencias con las sub-cadenas entre paréntesis de pattern y la función es llamada con el tercer argumento regs, las coincidencias serán almacenadas en los elementos de la matriz regs.

$regs[1] contendrá la sub-cadena que comienza con el primer paréntesis de la izquierda; $regs[2] contendrá la segunda sub-cadena, y así sucesivamente. $regs[0] contendrá una copia de la cadena coincidente completa.

Valores devueltos

Devuelve la longitud de la cadena coincidente si una coincidencia de pattern se encontró en string, o FALSE si no se encontraron coincidencias o se produjo un error.

Si el parámetro opcional regs no fue pasado o la longitud de la cadena coincidente es 0, esta función devuelve 1.

Ejemplos

Ejemplo #1 Ejemplo de eregi()

<?php
$cadena = 'XYZ';
if (eregi('z', $cadena)) {
    echo "¡'$cadena' contiene una 'z' o 'Z'!";
}
?>

Notas

Nota:

Desde PHP 5.3.0, la extensión regex queda obsoleta y en su lugar se utiliza extensión PCRE. Si se llama a esta función creará un aviso E_DEPRECATED. Ver El listado de diferencias para obtener ayuda a convertir a PCRE.

Sugerencia

eregi() está obsoleta a partir de PHP 5.3.0. preg_match() con el modificador i (PCRE_CASELESS) es la alternativa sugerida.

Ver también

  • ereg() - Comparación de una expresión regular
  • ereg_replace() - Sustituye una expresión regular
  • eregi_replace() - Sustituye una expresión regular de forma insensible a mayúsculas-minúsculas
  • preg_match() - Realiza una comparación con una expresión regular
  • stripos() - Encuentra la posición de la primera aparición de un substring insensible a mayúsculas y minúsculas en in string
  • stristr() - strstr insensible a mayúsculas y minúsculas
  • quotemeta() - Escapa meta caracteres

eregi_replace
split
Funciones de expresiones regulares POSIX


Divide una cadena en una matriz mediante una expresión regular

eregi
spliti
Funciones de expresiones regulares POSIX
PHP Manual

split

(PHP 4, PHP 5)

split — Divide una cadena en una matriz mediante una expresión regular

Descripción

array split ( string $pattern , string $string [, int $limit = -1 ] )

Divide un string en una matriz mediante una expresión regular.

Advertencia

Esta función ha sido declarada OBSOLETA desde PHP 5.3.0. Su uso está totalmente desaconsejado.

Parámetros

pattern

Expresión regular sensible a mayúsculas-minúsculas.

Si quiere dividir cualesquiera caracteres que están considerados especiales por las expresiones regulares, necesitará escaparlos primero. Si piensa que split() (o, de hecho, cualquier otra función de expresión regular) está haciendo algo extraño, por favor, lea el archivo regex.7, incluido en el subdirectorio regex/ de la distribución de PHP. Estas páginas de ayuda están en formato "man", por lo que será necesaria una orden como man /usr/local/src/regex/regex.7 para poder leerlo.

string

La cadena de entrada.

limit

Si se establece limit, la matriz devuelta contendrá un máximo de limit elementos con el último elemento conteniendo el resto completo de string.

Valores devueltos

Devuelve una matriz de cadenas, siendo cada una de ellas una sub-cadena de string formada al dividir éste con los límites establecidos mediante la expresión regular sensible a mayúsculas-minúsculas pattern.

Si hay n incidencias de pattern, la matriz devuelta contentrá n+1 elementos. Por ejemplo, si no hay incidencias de pattern, será devuelta una matriz con sólo un elemento. Por supuesto, esto también es verdadero si string está vacío. Si se produce un error, split() devuelve FALSE.

Ejemplos

Ejemplo #1 Ejemplo de split()

Para obtener los cinco primeros campos de una línea de /etc/passwd:

<?php
list($usuario, $contraseña, $uid, $gid, $extra) =
    split(":", $línea_passwd, 5);
?>

Ejemplo #2 Ejemplo de split()

Para analizar una fecha que puede estar delimitada por barras, puntos o guiones:

<?php
// Los delimitadores pueden ser barra, punto o guión
$fecha = "04/30/1973";
list($mes, $día, $año) = split('[/.-]', $fecha);
echo "Mes: $mes; Día: $día; Año: $año<br />\n";
?>

Notas

Nota:

Desde PHP 5.3.0, la extensión regex queda obsoleta y en su lugar se utiliza extensión PCRE. Si se llama a esta función creará un aviso E_DEPRECATED. Ver El listado de diferencias para obtener ayuda a convertir a PCRE.

Sugerencia

split() está obsoleta a partir de PHP 5.3.0. preg_split() es la alternativa sugerida a esta función. Si no necesita la potencia de expresiones regulares, es más rápido usar explode(), que no provoca el overhead del motor de expresiones regulares.

Sugerencia

Para usuarios que buscan un manera de emular el comportamiento de Perl @chars = split('', $str), por favor, vea los ejemplos de preg_split() o str_split().

Ver también

  • preg_split() - Divide un string mediante una expresión regular
  • spliti() - Divide una cadena en una matriz mediante una expresión regular insensible a mayúsculas-minúsculas
  • str_split() - Convierte un string en un array
  • explode() - Divide una cadena en varias cadenas
  • implode() - Une elementos de un array en un string
  • chunk_split() - Divide una cadena en trozos más pequeños
  • wordwrap() - Ajusta un string hasta un número dado de caracteres

eregi
spliti
Funciones de expresiones regulares POSIX


Divide una cadena en una matriz mediante una expresión regular insensible a mayúsculas-minúsculas

split
sql_regcase
Funciones de expresiones regulares POSIX
PHP Manual

spliti

(PHP 4 >= 4.0.1, PHP 5)

spliti — Divide una cadena en una matriz mediante una expresión regular insensible a mayúsculas-minúsculas

Descripción

array spliti ( string $pattern , string $string [, int $limit = -1 ] )

Divide un string en una matriz mediante una expresión regular.

Esta función es idéntica a split() excepto que ignora la distinción de mayúsculas-minúsculas cuando se comparan caracteres alfanuméricos.

Advertencia

Esta función ha sido declarada OBSOLETA desde PHP 5.3.0. Su uso está totalmente desaconsejado.

Parámetros

pattern

Expresión regular insensible a mayúsculas-minúsculas.

Si quiere dividir cualesquiera caracteres que están considerados especiales por las expresiones regulares, necesitará escaparlos primero. Si piensa que spliti() (o, de hecho, cualquier otra función de expresión regular) está haciendo algo extraño, por favor, lea el archivo regex.7, incluido en el subdirectorio regex/ de la distribución de PHP. Estas páginas de ayuda están en formato "man", por lo que será necesaria una orden como man /usr/local/src/regex/regex.7 para poder leerlo.

string

La cadena de entrada.

limit

Si se establece limit, la matriz devuelta contendrá un máximo de limit elementos con el último elemento conteniendo el resto completo de string.

Valores devueltos

Devuelve una matriz de cadenas, siendo cada una de ellas una sub-cadena de string formada al dividir éste con los límites establecidos mediante la expresión regular insensible a mayúsculas-minúsculas pattern.

Si hay n incidencias de pattern, la matriz devuelta contentrá n+1 elementos. Por ejemplo, si no hay incidencias de pattern, será devuelta una matriz con sólo un elemento. Por supuesto, esto también es verdadero si string está vacío. Si se produce un error, spliti() devuelve FALSE.

Ejemplos

Este ejemplo divide una cadena usando 'a' como separador :

Ejemplo #1 Ejemplo de spliti()

<?php
$cadena = "aBBBaCCCADDDaEEEaGGGA";
$trozos = spliti ("a", $cadena, 5);
print_r($trozos);
?>

El resultado del ejemplo sería:

Array
(
  [0] =>
  [1] => BBB
  [2] => CCC
  [3] => DDD
  [4] => EEEaGGGA
)

Notas

Nota:

Desde PHP 5.3.0, la extensión regex queda obsoleta y en su lugar se utiliza extensión PCRE. Si se llama a esta función creará un aviso E_DEPRECATED. Ver El listado de diferencias para obtener ayuda a convertir a PCRE.

Sugerencia

spliti() está obsoleta a partir de PHP 5.3.0. preg_split() con el modificador i (PCRE_CASELESS) es la alternativa sugerida.

Ver también

  • preg_split() - Divide un string mediante una expresión regular
  • split() - Divide una cadena en una matriz mediante una expresión regular
  • explode() - Divide una cadena en varias cadenas
  • implode() - Une elementos de un array en un string

split
sql_regcase
Funciones de expresiones regulares POSIX


Produce una expresión regular para la comparación insensible a mayúscuas-minúsculas

spliti
ssdeep
Funciones de expresiones regulares POSIX
PHP Manual

sql_regcase

(PHP 4, PHP 5)

sql_regcase — Produce una expresión regular para la comparación insensible a mayúscuas-minúsculas

Descripción

string sql_regcase ( string $string )

Crea una expresión regular para la comparación insensible a mayúscuas-minúsculas.

Advertencia

Esta función ha sido declarada OBSOLETA desde PHP 5.3.0. Su uso está totalmente desaconsejado.

Parámetros

string

La cadena de entrada.

Valores devueltos

Devuelve una expresión regular válida que coincidirá con string, ignorando las mayúsculas y minúsculas. Esta expresión es string con cada carácter alfabético convertido en una expresión entre corchetes; esta expresión contiene tanto la forma mayúscula como minúscula del carácter. Los demás caracteres permanecen inalterados.

Ejemplos

Ejemplo #1 Ejemplo de sql_regcase()

<?php
echo sql_regcase("Foo - bar.");
?>

El resultado del ejemplo sería:

[Ff][Oo][Oo] - [Bb][Aa][Rr].

Esto se puede usar para llevar a cabo una comparación de un patrón insensible a mayúsculas-minúsculas en productos que soporten sólo expresiones regulares sensibles a mayúsculas-minúsculas.

Notas

Nota:

Desde PHP 5.3.0, la extensión regex queda obsoleta y en su lugar se utiliza extensión PCRE. Si se llama a esta función creará un aviso E_DEPRECATED. Ver El listado de diferencias para obtener ayuda a convertir a PCRE.

spliti
ssdeep
Funciones de expresiones regulares POSIX


ssdeep Fuzzy Hashing

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones ssdeep
    • ssdeep_fuzzy_compare — Calculates the match score between two fuzzy hash signatures
    • ssdeep_fuzzy_hash_filename — Create a fuzzy hash from a file
    • ssdeep_fuzzy_hash — Create a fuzzy hash from a string
sql_regcase
Introducción
Procesamiento de texto


Introducción

ssdeep is a utility for creating and comparing fuzzy hashes or » context-triggered piecewise hashing.

Fuzzy hashing can match signatures which have "...sequences of identical bytes in the same order, although bytes in between these sequences may be different in both content and length". (» ssdeep project page)

This extension provides functions for creating and comparing fuzzy hashes.

ssdeep
Instalación/Configuración
ssdeep


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
ssdeep


Requerimientos

Esta extensión requiere la librería » ssdeep.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/ssdeep.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Funciones ssdeep
ssdeep


Funciones ssdeep

Tabla de contenidos

  • ssdeep_fuzzy_compare — Calculates the match score between two fuzzy hash signatures
  • ssdeep_fuzzy_hash_filename — Create a fuzzy hash from a file
  • ssdeep_fuzzy_hash — Create a fuzzy hash from a string
Constantes predefinidas
ssdeep_fuzzy_compare
ssdeep


Calculates the match score between two fuzzy hash signatures

Funciones ssdeep
ssdeep_fuzzy_hash_filename
Funciones ssdeep
PHP Manual

ssdeep_fuzzy_compare

(PECL ssdeep >= 1.0.0)

ssdeep_fuzzy_compare — Calculates the match score between two fuzzy hash signatures

Descripción

int ssdeep_fuzzy_compare ( string $signature1 , string $signature2 )

Calculates the match score between signature1 and signature2 using » context-triggered piecewise hashing, and returns the match score.

Parámetros

signature1

The first fuzzy hash signature string.

signature2

The second fuzzy hash signature string.

Valores devueltos

Returns an integer from 0 to 100 on success, FALSE otherwise.

Funciones ssdeep
ssdeep_fuzzy_hash_filename
Funciones ssdeep


Create a fuzzy hash from a file

ssdeep_fuzzy_compare
ssdeep_fuzzy_hash
Funciones ssdeep
PHP Manual

ssdeep_fuzzy_hash_filename

(PECL ssdeep >= 1.0.0)

ssdeep_fuzzy_hash_filename — Create a fuzzy hash from a file

Descripción

string ssdeep_fuzzy_hash_filename ( string $file_name )

ssdeep_fuzzy_hash_filename() calculates the hash of the file specified by file_name using » context-triggered piecewise hashing, and returns that hash.

Parámetros

file_name

The filename of the file to hash.

Valores devueltos

Returns a string on success, FALSE otherwise.

ssdeep_fuzzy_compare
ssdeep_fuzzy_hash
Funciones ssdeep


Create a fuzzy hash from a string

ssdeep_fuzzy_hash_filename
Strings
Funciones ssdeep
PHP Manual

ssdeep_fuzzy_hash

(PECL ssdeep >= 1.0.0)

ssdeep_fuzzy_hash — Create a fuzzy hash from a string

Descripción

string ssdeep_fuzzy_hash ( string $to_hash )

ssdeep_fuzzy_hash() calculates the hash of to_hash using » context-triggered piecewise hashing, and returns that hash.

Parámetros

to_hash

The input string.

Valores devueltos

Returns a string on success, FALSE otherwise.

ssdeep_fuzzy_hash_filename
Strings
Funciones ssdeep


Strings

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de strings
    • addcslashes — Escapa una cadena al estilo de C
    • addslashes — Escapa un string con barras invertidas
    • bin2hex — Convierte datos binarios en su representación hexadecimal
    • chop — Alias de rtrim
    • chr — Devuelve un caracter específico
    • chunk_split — Divide una cadena en trozos más pequeños
    • convert_cyr_string — Convierte de un juego de caracteres cirílico a otro juego de caracteres cirílico
    • convert_uudecode — Descodifica una cadena codificada mediante uuencode
    • convert_uuencode — Codifica, mediante uuencode, una cadena
    • count_chars — Devuelve información sobre los caracteres usados en una cadena
    • crc32 — Calcula el polinomio crc32 de una cadena
    • crypt — Hashing de una sola vía de un string
    • echo — Muestra una o más cadenas
    • explode — Divide una cadena en varias cadenas
    • fprintf — Escribir una cadena con formato a una secuencia
    • get_html_translation_table — Devuelve la tabla de traducción utilizada por htmlspecialchars y htmlentities
    • hebrev — Convierte texto hebreo lógico a texto visual
    • hebrevc — Convertir texto de hebreo lógico a texto visual con conversión de línea nueva
    • hex2bin — Decodifica una cadena binaria codificada hexadecimalmente
    • html_entity_decode — Convierte todas las entidades HTML a sus caracteres correspondientes
    • htmlentities — Convierte todos los caracteres aplicables a entidades HTML
    • htmlspecialchars_decode — Convierte entidades HTML especiales de nuevo en caracteres
    • htmlspecialchars — Convierte caracteres especiales en entidades HTML
    • implode — Une elementos de un array en un string
    • join — Alias de implode
    • lcfirst — Pasa a minúscula el primer caracter de un string
    • levenshtein — Cálculo de la distancia Levenshtein entre dos strings
    • localeconv — Obtener información sobre el formato numérico
    • ltrim — Retira espacios en blanco (u otros caracteres) del inicio de un string
    • md5_file — Calcula el resumen criptográfico md5 de un archivo dado
    • md5 — Calcula el hash md5 de un string
    • metaphone — Calcula la clave metaphone de un string
    • money_format — Da formato a un número como un string de moneda
    • nl_langinfo — Consulta información sobre el idioma y la configuración regional
    • nl2br — Inserta saltos de línea HTML antes de todas las nuevas líneas de un string
    • number_format — Formatear un número con los miles agrupados
    • ord — devuelve el valor ASCII de una caracter
    • parse_str — Interpreta el string en variables
    • print — Mostrar una cadena
    • printf — Imprimir una cadena con formato
    • quoted_printable_decode — Convierte un string quoted-printable en un string de 8 bits
    • quoted_printable_encode — Convierte un string de 8 bits en un string quoted-printable
    • quotemeta — Escapa meta caracteres
    • rtrim — Retira los espacios en blanco (u otros caracteres) del final de un string
    • setlocale — Establecer la información de la configuración regional
    • sha1_file — Calcula el hash sha1 de un archivo
    • sha1 — Calcula el hash sha1 de un string
    • similar_text — Calcula la similitud entre dos strings
    • soundex — Calcula la clave soundex de un string
    • sprintf — Devuelve un string formateado
    • sscanf — Interpreta un string de entrada de acuerdo con un formato
    • str_getcsv — Interpreta un string de CSV en un array
    • str_ireplace — Versión insensible a mayúsculas y minúsculas de str_replace
    • str_pad — Rellena un string hasta una longitud determinada con otro string
    • str_repeat — Repite un string
    • str_replace — Reemplaza todas las apariciones del string buscado con el string de reemplazo
    • str_rot13 — Realizar la transformación rot13 sobre una cadena
    • str_shuffle — Reordena aleatoriamente una cadena
    • str_split — Convierte un string en un array
    • str_word_count — Devuelve información sobre las palabras utilizadas en un string
    • strcasecmp — Comparación de string segura a nivel binario e insensible a mayúsculas y minúsculas
    • strchr — Alias de strstr
    • strcmp — Comparación de string segura a nivel binario
    • strcoll — Comparación de cadenas basada en la localidad
    • strcspn — Encuentra la longitud del segmento inicial que no coincida con la máscara
    • strip_tags — Retira las etiquetas HTML y PHP de un string
    • stripcslashes — Desmarca la cadena marcada con addcslashes
    • stripos — Encuentra la posición de la primera aparición de un substring insensible a mayúsculas y minúsculas en in string
    • stripslashes — Quita las barras de un string con comillas escapadas
    • stristr — strstr insensible a mayúsculas y minúsculas
    • strlen — Obtiene la longitud de un string
    • strnatcasecmp — Comparación de strings, insensible a mayúsculas y minúsculas, utilizando un algoritmo de "orden natural"
    • strnatcmp — Comparación de strings utilizando un algoritmo de "orden natural"
    • strncasecmp — Comparación de los primeros n caracteres de cadenas, segura con material binario e insensible a mayúsculas y minúsculas
    • strncmp — Comparación segura a nivel binario de los primeros n caracteres entre strings
    • strpbrk — Buscar una cadena por cualquiera de los elementos de un conjunto de caracteres
    • strpos — Encuentra la posición de la primera ocurrencia de un substring en un string
    • strrchr — Encuentra la última aparición de un caracter en un string
    • strrev — Invierte una string
    • strripos — Encuentra la posición de la última aparición de un substring insensible a mayúsculas y minúsculas en un string
    • strrpos — Encuentra la posición de la última aparición de un substring en un string
    • strspn — Encuentra la longitud del segmento inicial de un string que consista únicamente en caracteres contenidos dentro de una máscara dada.
    • strstr — Encuentra la primera aparición de un string
    • strtok — Tokeniza string
    • strtolower — Convierte una cadena a minúsculas
    • strtoupper — Convierte un string a mayúsculas
    • strtr — Convierte caracteres o reemplaza substrings
    • substr_compare — Comparación segura a nivel binario de dos o más cadenas desde un índice, hasta una longitud dada de caracteres
    • substr_count — Cuenta el número de apariciones del substring
    • substr_replace — Reemplaza el texto dentro de una porción de un string
    • substr — Devuelve parte de una cadena
    • trim — Elimina espacio en blanco (u otro tipo de caracteres) del inicio y el final de la cadena
    • ucfirst — Convierte el primer caracter de una cadena a mayúsculas
    • ucwords — Convierte a mayúsculas el primer caracter de cada palabra en una cadena
    • vfprintf — Escribe un string con formato en un flujo
    • vprintf — Muestra una cadena con formato
    • vsprintf — Devuelve una cadena con formato
    • wordwrap — Ajusta un string hasta un número dado de caracteres
  • Registro de cambios
ssdeep_fuzzy_hash
Introducción
Procesamiento de texto


Introducción

Estas funciones manipulan strings de varias maneras. Existen algunas secciones más especializadas, como la de expresiones regulares y la de Manipulación de URLs.

Para obtener información sobre cómo funcionan los strings, especialmente en relación con el uso de comillas simples, comillas dobles, y secuencias de escape, véase la entrada Strings en la sección Tipos del manual.

Strings
Instalación/Configuración
Strings


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Strings


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

CRYPT_SALT_LENGTH integer
CRYPT_STD_DES integer
CRYPT_EXT_DES integer
CRYPT_MD5 integer
CRYPT_BLOWFISH integer
HTML_SPECIALCHARS (integer)
HTML_ENTITIES (integer)
ENT_COMPAT (integer)
ENT_QUOTES (integer)
ENT_NOQUOTES (integer)
ENT_IGNORE (integer)
ENT_SUBSTITUTE (integer)
ENT_DISALLOWED (integer)
ENT_HTML401 (integer)
ENT_XML1 (integer)
ENT_XHTML (integer)
ENT_HTML5 (integer)
CHAR_MAX (integer)
LC_CTYPE (integer)
LC_NUMERIC (integer)
LC_TIME (integer)
LC_COLLATE (integer)
LC_MONETARY (integer)
LC_ALL (integer)
LC_MESSAGES (integer)
STR_PAD_LEFT (integer)
STR_PAD_RIGHT (integer)
STR_PAD_BOTH (integer)
Tipos de recursos
Funciones de strings
Strings


Funciones de strings

Ver también

Para un mejor manejo de cadenas y manipulacion de funciones revisar a las funciones de expresiones regulares del POSIX y las Funciones de expresiones regualres compotaibles con Perl .

Tabla de contenidos

  • addcslashes — Escapa una cadena al estilo de C
  • addslashes — Escapa un string con barras invertidas
  • bin2hex — Convierte datos binarios en su representación hexadecimal
  • chop — Alias de rtrim
  • chr — Devuelve un caracter específico
  • chunk_split — Divide una cadena en trozos más pequeños
  • convert_cyr_string — Convierte de un juego de caracteres cirílico a otro juego de caracteres cirílico
  • convert_uudecode — Descodifica una cadena codificada mediante uuencode
  • convert_uuencode — Codifica, mediante uuencode, una cadena
  • count_chars — Devuelve información sobre los caracteres usados en una cadena
  • crc32 — Calcula el polinomio crc32 de una cadena
  • crypt — Hashing de una sola vía de un string
  • echo — Muestra una o más cadenas
  • explode — Divide una cadena en varias cadenas
  • fprintf — Escribir una cadena con formato a una secuencia
  • get_html_translation_table — Devuelve la tabla de traducción utilizada por htmlspecialchars y htmlentities
  • hebrev — Convierte texto hebreo lógico a texto visual
  • hebrevc — Convertir texto de hebreo lógico a texto visual con conversión de línea nueva
  • hex2bin — Decodifica una cadena binaria codificada hexadecimalmente
  • html_entity_decode — Convierte todas las entidades HTML a sus caracteres correspondientes
  • htmlentities — Convierte todos los caracteres aplicables a entidades HTML
  • htmlspecialchars_decode — Convierte entidades HTML especiales de nuevo en caracteres
  • htmlspecialchars — Convierte caracteres especiales en entidades HTML
  • implode — Une elementos de un array en un string
  • join — Alias de implode
  • lcfirst — Pasa a minúscula el primer caracter de un string
  • levenshtein — Cálculo de la distancia Levenshtein entre dos strings
  • localeconv — Obtener información sobre el formato numérico
  • ltrim — Retira espacios en blanco (u otros caracteres) del inicio de un string
  • md5_file — Calcula el resumen criptográfico md5 de un archivo dado
  • md5 — Calcula el hash md5 de un string
  • metaphone — Calcula la clave metaphone de un string
  • money_format — Da formato a un número como un string de moneda
  • nl_langinfo — Consulta información sobre el idioma y la configuración regional
  • nl2br — Inserta saltos de línea HTML antes de todas las nuevas líneas de un string
  • number_format — Formatear un número con los miles agrupados
  • ord — devuelve el valor ASCII de una caracter
  • parse_str — Interpreta el string en variables
  • print — Mostrar una cadena
  • printf — Imprimir una cadena con formato
  • quoted_printable_decode — Convierte un string quoted-printable en un string de 8 bits
  • quoted_printable_encode — Convierte un string de 8 bits en un string quoted-printable
  • quotemeta — Escapa meta caracteres
  • rtrim — Retira los espacios en blanco (u otros caracteres) del final de un string
  • setlocale — Establecer la información de la configuración regional
  • sha1_file — Calcula el hash sha1 de un archivo
  • sha1 — Calcula el hash sha1 de un string
  • similar_text — Calcula la similitud entre dos strings
  • soundex — Calcula la clave soundex de un string
  • sprintf — Devuelve un string formateado
  • sscanf — Interpreta un string de entrada de acuerdo con un formato
  • str_getcsv — Interpreta un string de CSV en un array
  • str_ireplace — Versión insensible a mayúsculas y minúsculas de str_replace
  • str_pad — Rellena un string hasta una longitud determinada con otro string
  • str_repeat — Repite un string
  • str_replace — Reemplaza todas las apariciones del string buscado con el string de reemplazo
  • str_rot13 — Realizar la transformación rot13 sobre una cadena
  • str_shuffle — Reordena aleatoriamente una cadena
  • str_split — Convierte un string en un array
  • str_word_count — Devuelve información sobre las palabras utilizadas en un string
  • strcasecmp — Comparación de string segura a nivel binario e insensible a mayúsculas y minúsculas
  • strchr — Alias de strstr
  • strcmp — Comparación de string segura a nivel binario
  • strcoll — Comparación de cadenas basada en la localidad
  • strcspn — Encuentra la longitud del segmento inicial que no coincida con la máscara
  • strip_tags — Retira las etiquetas HTML y PHP de un string
  • stripcslashes — Desmarca la cadena marcada con addcslashes
  • stripos — Encuentra la posición de la primera aparición de un substring insensible a mayúsculas y minúsculas en in string
  • stripslashes — Quita las barras de un string con comillas escapadas
  • stristr — strstr insensible a mayúsculas y minúsculas
  • strlen — Obtiene la longitud de un string
  • strnatcasecmp — Comparación de strings, insensible a mayúsculas y minúsculas, utilizando un algoritmo de "orden natural"
  • strnatcmp — Comparación de strings utilizando un algoritmo de "orden natural"
  • strncasecmp — Comparación de los primeros n caracteres de cadenas, segura con material binario e insensible a mayúsculas y minúsculas
  • strncmp — Comparación segura a nivel binario de los primeros n caracteres entre strings
  • strpbrk — Buscar una cadena por cualquiera de los elementos de un conjunto de caracteres
  • strpos — Encuentra la posición de la primera ocurrencia de un substring en un string
  • strrchr — Encuentra la última aparición de un caracter en un string
  • strrev — Invierte una string
  • strripos — Encuentra la posición de la última aparición de un substring insensible a mayúsculas y minúsculas en un string
  • strrpos — Encuentra la posición de la última aparición de un substring en un string
  • strspn — Encuentra la longitud del segmento inicial de un string que consista únicamente en caracteres contenidos dentro de una máscara dada.
  • strstr — Encuentra la primera aparición de un string
  • strtok — Tokeniza string
  • strtolower — Convierte una cadena a minúsculas
  • strtoupper — Convierte un string a mayúsculas
  • strtr — Convierte caracteres o reemplaza substrings
  • substr_compare — Comparación segura a nivel binario de dos o más cadenas desde un índice, hasta una longitud dada de caracteres
  • substr_count — Cuenta el número de apariciones del substring
  • substr_replace — Reemplaza el texto dentro de una porción de un string
  • substr — Devuelve parte de una cadena
  • trim — Elimina espacio en blanco (u otro tipo de caracteres) del inicio y el final de la cadena
  • ucfirst — Convierte el primer caracter de una cadena a mayúsculas
  • ucwords — Convierte a mayúsculas el primer caracter de cada palabra en una cadena
  • vfprintf — Escribe un string con formato en un flujo
  • vprintf — Muestra una cadena con formato
  • vsprintf — Devuelve una cadena con formato
  • wordwrap — Ajusta un string hasta un número dado de caracteres
Constantes predefinidas
addcslashes
Strings


Escapa una cadena al estilo de C

Funciones de strings
addslashes
Funciones de strings
PHP Manual

addcslashes

(PHP 4, PHP 5)

addcslashes — Escapa una cadena al estilo de C

Descripción

string addcslashes ( string $str , string $charlist )

Devuelve un string con barras invertidas antes de los caracteres que aparecen en el parámetro charlist

Parámetros

str

El string a escapar.

charlist

Una lista de caracteres que serán escapados. Si charlist contiene caracteres como \n, \r etc., serán convertidos al estilo de C, mientras que otros caracteres no alfanuméricos con código ASCII inferior a 32 y superior a 126 serán convertidos a representación octal.

Cuando se defina una secuencia de caracteres en el argumento charlist, asegúrese de conocer los caracteres que hay entre los caracteres de inicio y final del rango establecido.

<?php
echo addcslashes('foo[ ]', 'A..z');
// salida:  \f\o\o\[ \]
// Serán escapadas todas las letras mayúsculas y minúsculas
// ... pero también [\]^_`
?>
Además, si el primer carácter del rango tiene un valor ASCII superior al segundo carácter del rango, este no se podrá construir. Solamente serán escapados los caracteres de inicio, fin y el punto. Use la función ord() para encontrar el valor ASCII de un carácter.
<?php
echo addcslashes("zoo['.']", 'z..A');
// salida:  \zoo['\.']
?>

Ojo si se opta por escapar los caracteres 0, a, b, f, n, r, t y v. Estos se convertirán en \0, \a, \b, \f, \n, \r, \t and \v, que son todos secuencias de escape predefinidas en C. Muchas de estas secuencias tambíen están definidas en otros lenguajes derivados de C, incluyendo PHP, lo que significa que no se podría obtener el resultado deseado si se usa la salida de addcslashes() para generar código en tales lenguajes con los caracteres definidos en charlist.

Valores devueltos

Devuelve el string escapado.

Historial de cambios

Versión | Descripción
5.2.5 | Se añadieron las secuencias de escape \v y \f.

Ejemplos

Un rango en charlist como "\0..\37", escaparía a todos los caracteres con código ASCII entre 0 y 31.

Ejemplo #1 Ejemplo de addcslashes()

<?php
$escapado = addcslashes($no_escapado, "\0..\37!@\177..\377");
?>

Ver también

  • stripcslashes() - Desmarca la cadena marcada con addcslashes
  • stripslashes() - Quita las barras de un string con comillas escapadas
  • addslashes() - Escapa un string con barras invertidas
  • htmlspecialchars() - Convierte caracteres especiales en entidades HTML
  • quotemeta() - Escapa meta caracteres

Funciones de strings
addslashes
Funciones de strings


Escapa un string con barras invertidas

addcslashes
bin2hex
Funciones de strings
PHP Manual

addslashes

(PHP 4, PHP 5)

addslashes — Escapa un string con barras invertidas

Descripción

string addslashes ( string $str )

Devuelve un string con barras invertidas delante de los carácteres que necesitan ser escapados. Estos carácteres son la comilla simple ('), comilla doble "), barra invertida (\) y NUL (el byte NULL).

Un ejemplo del uso de addslashes() es cuando se introducen datos en un string que es evaluado por PHP. Por ejemplo, si O'reilly se almacena en $str, es necesario escapar $str. (p.ej. eval("echo '".addslashes($str)."';"); )

Para escapar parámetros de bases de datos, deberían usarse funciones de escape específicas de cada SGBD por razones de seguridad (p.ej. mysqli_real_escape_string() para MySQL o pg_escape_literal(), pg_escape_string() para PostgreSQL). Los SGBD poseen una especificación de escape diferente para identificadores (p.ej. Nombre de tabla, nombre de campo) que para parámetros. Algunos SGBD como PostgreSQL proporcionan una función es escape de identificadores, pg_escape_indentifier(), pero no todos los SGBD proporcionan una API de escape de identificadores. Si este es el caso, consulte el manual del sistema de base de datos para el método apropiado de escape.

Si un SGBD no posee una función de escape y dicho SGBD usa \ para escapar caracteres especias, podría ser posible usar esta función únicamente cuando este método de escape es adecuado para la base de datos. Por favor, observe que el uso de addslashes() para el escape de parámetros de bases de datos puede ser la causa de problemas de seguridad en la mayoría de las bases de datos.

La directiva de PHP magic_quotes_gpc estaba activada (on) por defecto antes de PHP 5.4, y básicamente ejecutaba la función addslashes() en todos los datos GET, POST y COOKIE. No utilizar addslashes() en las cadenas que ya se han escapado con magic_quotes_gpc ya que se hará un doble escape. La función get_magic_quotes_gpc() podría ser útil para comprobar esto.

Parámetros

str

La cadena a escapar.

Valores devueltos

Devuelve una cadena con escapes.

Ejemplos

Ejemplo #1 Un ejemplo de addslashes()

<?php
$str = "Is your name O'reilly?";

// Outputs: Is your name O\'reilly?
echo addslashes($str);
?>

Ver también

  • stripcslashes() - Desmarca la cadena marcada con addcslashes
  • stripslashes() - Quita las barras de un string con comillas escapadas
  • addcslashes() - Escapa una cadena al estilo de C
  • htmlspecialchars() - Convierte caracteres especiales en entidades HTML
  • quotemeta() - Escapa meta caracteres
  • get_magic_quotes_gpc() - Obtiene el valor actual de configuración de magic_quotes_gpc

addcslashes
bin2hex
Funciones de strings


Convierte datos binarios en su representación hexadecimal

addslashes
chop
Funciones de strings
PHP Manual

bin2hex

(PHP 4, PHP 5)

bin2hex — Convierte datos binarios en su representación hexadecimal

Descripción

string bin2hex ( string $str )

Devuelve una cadena ASCII que contiene la representación hexadecimal de str. La conversión se realiza byte a byte, con los 4 bits superiores primero.

Parámetros

str

Un string.

Valores devueltos

Devuelve la representación hexadecimal de la cadena dada.

Ver también

  • hex2bin() - Decodifica una cadena binaria codificada hexadecimalmente
  • pack() - Empaqueta información a una cadena binaria

addslashes
chop
Funciones de strings


Alias de rtrim

bin2hex
chr
Funciones de strings
PHP Manual

chop

(PHP 4, PHP 5)

chop — Alias de rtrim()

Descripción

Esta función es un alias de: rtrim().

Notas

Nota:

El comportamiento de la función chop() no es el mismo que el de la función chop() de Perl, que elimina el último caracter de la cadena.

bin2hex
chr
Funciones de strings


Devuelve un caracter específico

chop
chunk_split
Funciones de strings
PHP Manual

chr

(PHP 4, PHP 5)

chr — Devuelve un caracter específico

Descripción

string chr ( int $ascii )

Devuelve una cadena de un caracter que contiene el carácter especificado por ascii

Esta función complementa a ord().

Parámetros

ascii

El código ASCII.

Valores devueltos

Devuelve el carácter especificado.

Ejemplos

Ejemplo #1 chr() Ejemplo

<?php
$str = "La cadena termina en un escape: ";
$str .= chr(27); /* añade un carácter de escape al final de  $str */

/* A menudo esto es más útil */

$str = sprintf("TLa cadena termina en un escape: %c", 27);
?>

Ver también

  • sprintf() - Devuelve un string formateado Devuelve una cadena con formato con un formato de %c
  • ord()
  • Una » ASCII-tabla

chop
chunk_split
Funciones de strings


Divide una cadena en trozos más pequeños

chr
convert_cyr_string
Funciones de strings
PHP Manual

chunk_split

(PHP 4, PHP 5)

chunk_split — Divide una cadena en trozos más pequeños

Descripción

string chunk_split ( string $body [, int $chunklen = 76 [, string $end = "\r\n" ]] )

Puede ser utilizado para dividir una cadena en trozos más pequeños, lo que es útil, por ejemplo, para convertir la salida de la función base64_encode() y hacer que coincida con la semántica del RFC 2045. Inserta la cadena end cada chunklen caracteres.

Parámetros

body

La cadena que será fragmentada.

chunklen

La longitud del trozo.

end

La secuencia de final de línea.

Valores devueltos

Devuelve la cadena fragmentada.

Ejemplos

Ejemplo #1 Ejemplo de chunk_split()

<?php
// formatea $datos usando la semántica del RFC 2045
$nueva_cadena = chunk_split(base64_encode($datos));
?>

Ver también

  • str_split() - Convierte un string en un array
  • explode() - Divide una cadena en varias cadenas
  • split() - Divide una cadena en una matriz mediante una expresión regular
  • wordwrap() - Ajusta un string hasta un número dado de caracteres
  • » RFC 2045

chr
convert_cyr_string
Funciones de strings


Convierte de un juego de caracteres cirílico a otro juego de caracteres cirílico

chunk_split
convert_uudecode
Funciones de strings
PHP Manual

convert_cyr_string

(PHP 4, PHP 5)

convert_cyr_string — Convierte de un juego de caracteres cirílico a otro juego de caracteres cirílico

Descripción

string convert_cyr_string ( string $str , string $from , string $to )

Convierte de un juego de caracteres cirílico a otro juego de caracteres cirílico

Parámetros

str

Cadena que será convertida

from

Fuente del juego de caracteres cirílicos, como un único caracter.

to

Objetivo o destino del juego de caracteres cirílicos, como un único caracter.

Los caracteres admitidos son:

  • k - koi8-r
  • w - windows-1251
  • i - iso8859-5
  • a - x-cp866
  • d - x-cp866
  • m - x-mac-cyrillic

Valores devueltos

Devuelve la cadena convertida.

Notas

Nota: Esta función es segura binariamente.

chunk_split
convert_uudecode
Funciones de strings


Descodifica una cadena codificada mediante uuencode

convert_cyr_string
convert_uuencode
Funciones de strings
PHP Manual

convert_uudecode

(PHP 5)

convert_uudecode — Descodifica una cadena codificada mediante uuencode

Descripción

string convert_uudecode ( string $data )

convert_uudecode() escodifica una cadena codificada mediante uuencode.

Parámetros

data

Los datos codificados mediante uuencode.

Valores devueltos

Devuelve los datos descodificados como una cadena o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de convert_uudecode()

<?php
/* Can you imagine what this will print? :) */
echo convert_uudecode("+22!L;W9E(%!(4\"$`\n`");
?>

Ver también

  • convert_uuencode() - Codifica, mediante uuencode, una cadena

convert_cyr_string
convert_uuencode
Funciones de strings


Codifica, mediante uuencode, una cadena

convert_uudecode
count_chars
Funciones de strings
PHP Manual

convert_uuencode

(PHP 5)

convert_uuencode — Codifica, mediante uuencode, una cadena

Descripción

string convert_uuencode ( string $data )

convert_uuencode() codifica una cadena usando el algoritmo uuencode.

Uuencode traduce todas las cadenas (incluyendo las binarias) a secuencias de caracteres imprimibles, haciéndolas seguras para transmisiones de red. Los datos codificados de esta forma son aproximadamente 35% más largos que el original.

Parámetros

data

Los datos a ser codificados.

Valores devueltos

Devuelve los datos codificados mediante uuencode.

Ejemplos

Ejemplo #1 Ejemplo de convert_uuencode()

<?php
$some_string = "prueba\ntexto texto\r\n";

echo convert_uuencode($some_string);
?>

Ver también

  • convert_uudecode() - Descodifica una cadena codificada mediante uuencode
  • base64_encode() - Codifica datos con MIME base64

convert_uudecode
count_chars
Funciones de strings


Devuelve información sobre los caracteres usados en una cadena

convert_uuencode
crc32
Funciones de strings
PHP Manual

count_chars

(PHP 4, PHP 5)

count_chars — Devuelve información sobre los caracteres usados en una cadena

Descripción

mixed count_chars ( string $string [, int $mode = 0 ] )

Cuenta el número de apariciones de cada byte-value (0..255) en string y lo devuelve de varias maneras.

Parámetros

string

La cadena a examinar

mode

Ver los valores a retornar.

Valores devueltos

Dependiendo de mode count_chars() devuelve uno de los siguientes:

  • 0 - un array con el byte-value como clave y la frecuencia de cada uno como valor.
  • 1 - Como el 0, pero listando únicamente los byte-values con frecuencia superior a cero.
  • 2 - Como el 0, pero listando únicamente los byte-values con frecuencia igual a 0.
  • 3 - devuelve una cadena que contiene todos los caracteres únicos.
  • 4 - devuelve una cadena que contiene todos los caracteres no utilizados.

Ejemplos

Ejemplo #1 count_chars() example

<?php
$data = "Two Ts and one F.";

foreach (count_chars($data, 1) as $i => $val) {
   echo "Se ha encontrado $val instancia (s) de \"" , chr($i) , "\" en la cadena.\n";
}
?>

El resultado del ejemplo sería:

Hubo 4  instancia(s) de " " en la cadena.
Hubo 1  instancia(s) de "." en la cadena.
Hubo 1  instancia(s) de "F" en la cadena.
Hubo 2  instancia(s) de "T" en la cadena.
Hubo 1  instancia(s) de "a" en la cadena.
Hubo 1  instancia(s) de "d" en la cadena.
Hubo 1  instancia(s) de "e" en la cadena.
Hubo 2  instancia(s) de "n" en la cadena.
Hubo 2  instancia(s) de "o" en la cadena.
Hubo 1  instancia(s) de "s" en la cadena.
Hubo 1  instancia(s) de "w" en la cadena.

Ver también

  • strpos() - Encuentra la posición de la primera ocurrencia de un substring en un string
  • substr_count() - Cuenta el número de apariciones del substring

convert_uuencode
crc32
Funciones de strings


Calcula el polinomio crc32 de una cadena

count_chars
crypt
Funciones de strings
PHP Manual

crc32

(PHP 4 >= 4.0.1, PHP 5)

crc32 — Calcula el polinomio crc32 de una cadena

Descripción

int crc32 ( string $str )

Genera el polinomio de comprobación de redundancia cíclica de 32 bits de longitud de str. Este valor se usa por lo general para validar la integridad de los datos transmitidos.

Advertencia

Dado que el tipo integer de PHP es con signo, muchas comprobaciones de suma de crc32 resultarán en números enteros negativos en plataformas de 32 bits. Aunque en instalaciones de 63 bits, todos los resultados de crc32() serán enteros positivos.

Por lo tanto, es necesario usar el formateador "%u" de sprintf() o printf() para obtener la representación de cadena de la comprobación de suma de crc32() sin signo en formato decimal.

Para una representación hexadecimal de la comprobación de suma se puede usar el formateador "%x" de sprintf() o printf() , o las funciones de conversión de dechex(), en donde se ha de tener cuidado en ambos casos de convertir el resultado de crc32() a un entero sin signo.

Las instalaciones de 64 bits también devuelven enteros negativos para resultados de valores mayores que los considerados, aunque rompería la conversión a hexadecimal ya que los valores negativos tendrían un índice 0xFFFFFFFF######## extra. Ya que las representaciones hexadecimales parecen ser el caso de uso más común, hemos decidido no deshacernos de ellas incluso si rompe la comparación decimal directa en alrededor del 59% de los casos donde se convierten de 32 a 64 bits.

Mirando atrás, el tener una función que devolvía un entero quizás no era la mejor idea y el devolver una representación de cadena hexadecimal de inmediato (como lo hace, p.ej., md5()) podría haber sido un plan mejor con el que comenzar.

Para una solución más portable se podría considerar también el hash() genérico. hash("crc32b", $str) devolverá la misma cadena que dechex(crc32($str)).

Parámetros

str

Los datos.

Valores devueltos

Devuelve la suma de verificación CRC32 de str como un integer.

Ejemplos

Ejemplo #1 Mostrar una suma de verificación crc32

Este ejemplo muestro cómo imprimir una suma de verificación convertida con la función printf():

<?php
$suma = crc32("El veloz murcielago hindu comia feliz cardillo y kiwi.");
printf("%u\n", $suma);
?>

Ver también

  • hash() - Genera un valor cifrado en base a un string
  • md5() - Calcula el hash md5 de un string
  • sha1() - Calcula el hash sha1 de un string

count_chars
crypt
Funciones de strings


Hashing de una sola vía de un string

crc32
echo
Funciones de strings
PHP Manual

crypt

(PHP 4, PHP 5)

crypt — Hashing de una sola vía de un string

Descripción

string crypt ( string $str [, string $salt ] )

crypt() devolverá el hash de un string utilizando el algoritmo basado en DES estándar de Unix o algoritmos alternativos que puedan estar disponibles en el sistema.

Algunos sistemas operativos soportan más de un tipo de hash. De hecho, a veces el algoritmo estándar DES es sustituído por un algoritmo basado en MD5. El tipo de hash se dispara mediante el argumento salt. Antes de 5.3, PHP determinaría los algoritmos disponibles en el momento de la instalación, basado en el crypt() del sistema. Si no se proporciona salt, PHP intentará auto-generar ya sea un salt estándar de dos caracteres (DES) o uno de doce caracteres (MD5), dependiendo de la disponibilidad del crypt() de MD5. PHP establece una constante llamada CRYPT_SALT_LENGTH la cual indica la mayor longitud válida de salt permitida por los hash disponibles.

El crypt() estándar basado en DES devuelve el salt como los primeros dos caracteres de la salida. También utiliza solamente los primeros ocho caracteres de str, así que strings más largos que inicien con los mismos ocho caracteres, generarán el mismo resultado (cuando se utiliza el mismo salt).

En sistemas donde la función crypt() soporta múltiples tipos de hash, las siguientes contantes se establecen en 0 ó 1 dependiendo de que si el tipo dado está disponible:

  • CRYPT_STD_DES - Hash estándar basado en DES con un salt de dos caracteres del alfabeto "./0-9A-Za-z". Utilizar caracteres no válidos en el salt causará que crypt() falle.
  • CRYPT_EXT_DES - Hash extendido basado en DES. El "salt" es un string de 9 caracteres que consiste en un guión bajo seguido de 4 bytes del conteo de iteraciones y 4 bytes del salt. Estos están codificados como caracteres imprimibles, 6 bits por caracter, por lo menos, el carácter significativo primero. Los valores del 0 al 63 son codificados como "./0-9A-Za-z". Utilizar caracteres no válidos en el salt causará que crypt() falle.
  • CRYPT_MD5 - Hash MD5 con un salt de doce caracteres comenzando con $1$
  • CRYPT_BLOWFISH - Hash con Blowfish con un salt como sigue: "$2a$", "$2x$" o "$2y$", un parámetro de coste de dos dígitos, "$", y 22 caracteres del alfabeto "./0-9A-Za-z". Utilizar caracteres fuera de este rango en el salt causará que crypt() devuelva una cadena de longitud cero. El parámetro de coste de dos dígitos es el logaritmo en base 2 de la cuenta de la iteración del algoritmo hach basado en Blowfish subyacente, y debe estar en el rango 04-31; los valores fuera de este rango causarán que crypt() falle. Las versiones de PHP anteriores a 5.3.7 únicamente admitían "$2a$" como el prefijo para salt: PHP 5.3.7 introdujo los nuevos prefijos para corregir un problema de seguridad en la implementación de Blowfish. Por favor, consulte » este documento para detalles copletos de la corrección de seguridad, pero para resumir, los desarrolladores que se oriente por PHP 5.3.7 y posteriores deberían usar "$2y$" en vez de "$2a$".
  • CRYPT_SHA256 - Hash SHA-256 con un salt de dieciséis caracteres prefijado con $5$. Si el strig del salt inicia con 'rounds=<N>$', el valor numérico de N se utiliza para indicar cuantas veces el bucle del hash se debe ejecutar, muy similar al parámetro de costo en Blowfish. El número de rondas por defecto es 5000, hay un mínimo de 1000 y un máximo de 999,999,999. Cualquier selección de N por fuera de este rango será truncada al límite más cercano.
  • CRYPT_SHA512 - Hash SHA-512 con un salt de dieciséis caracteres prefijado con $6$. Si el strig del salt inicia con 'rounds=<N>$', el valor numérico de N se utiliza para indicar cuantas veces el bucle del hash se debe ejecutar, muy similar al parámetro de costo en Blowfish. El número de rondas por defecto es 5000, hay un mínimo de 1000 y un máximo de 999,999,999. Cualquier selección de N por fuera de este rango será truncada al límite más cercano.

Nota:

A partir de PHP 5.3.0, PHP contiene su propia implementación y la utilizará si el sistema carece de soporte para uno o varios de los algoritmos.

Parámetros

str

El string para hacerle el hash.

salt

Un string opcional de salt para la base del hash. Si no se proporciona, el comportamiento se define por la aplicación del algoritmo y puede conducir a resultados inesperados.

Valores devueltos

Devuelve un string con el hash o un string que es más corto que 13 caracteres y que se garantiza que difiere del salt en caso de fallo.

Historial de cambios

Versión | Descripción
5.3.7 | Se añadieron los modos de Blowfish $2x$ y $2y$ para tratar con ataques de bit alto potenciales.
5.3.2 | Agregado el crypt SHA-256 y SHA-512 basado en la » implementación de Ulrich Drepper.
5.3.2 | Corregido el comportamiento de Blowfish sobre rondas no válidas para devolver el string "failure" ("*0" or "*1"), en lugar de caer al DES.
5.3.0 | PHP ahora contiene su propia implementación de los algoritmos MD5, DES estándar, DES extendido y Blowfish y los utilizará si el sistema carece de soporte para uno o varios de los algoritmos.

Ejemplos

Ejemplo #1 crypt() examples

<?php
$hashed_password = crypt('mypassword'); // dejar que el salt se genera automáticamente

/* Se deben pasar todos los resultados de crypt() como el salt para la comparación de una
   contraseña, para evitar problemas cuando diferentes algoritmos hash son utilizados. (Como
   se dice arriba, el hash estándar basado en DES utiliza un salt de 2
   caracteres, pero el hash basado en MD5 utiliza 12.) */
if (crypt($user_input, $hashed_password) == $hashed_password) {
   echo "¡Contraseña verificada!";
}
?>

Ejemplo #2 Using crypt() with htpasswd

<?php
// Establece la contraseña
$password = 'mypassword';

// Obtiene el hash, dejando que el salt sea generado be automáticamente
$hash = crypt($password);
?>

Ejemplo #3 Using crypt() with different hash types

<?php
/* Estas sales son solamente ejemplos, y no deberían usarse textualmente en su código.
   Debería generar una sal distinta correctamente formada para cada contraseña.
*/
if (CRYPT_STD_DES == 1) {
    echo 'Standard DES: ' . crypt('rasmuslerdorf', 'rl') . "\n";
}

if (CRYPT_EXT_DES == 1) {
    echo 'Extended DES: ' . crypt('rasmuslerdorf', '_J9..rasm') . "\n";
}

if (CRYPT_MD5 == 1) {
    echo 'MD5:          ' . crypt('rasmuslerdorf', '$1$rasmusle$') . "\n";
}

if (CRYPT_BLOWFISH == 1) {
    echo 'Blowfish:     ' . crypt('rasmuslerdorf', '$2a$07$usesomesillystringforsalt$') . "\n";
}

if (CRYPT_SHA256 == 1) {
    echo 'SHA-256:      ' . crypt('rasmuslerdorf', '$5$rounds=5000$usesomesillystringforsalt$') . "\n";
}

if (CRYPT_SHA512 == 1) {
    echo 'SHA-512:      ' . crypt('rasmuslerdorf', '$6$rounds=5000$usesomesillystringforsalt$') . "\n";
}
?>

El resultado del ejemplo sería algo similar a:

Standard DES: rl.3StKT.4T8M
Extended DES: _J9..rasmBYk8r9AiWNc
MD5:          $1$rasmusle$rISCgZzpwk3UhDidwXvin0
Blowfish:     $2a$07$usesomesillystringfore2uDLvp1Ii2e./U9C8sBjqp8I90dH6hi
SHA-256:      $5$rounds=5000$usesomesillystri$KqJWpanXZHKq2BOB43TSaYhEWsQ1Lr5QNyPCDH/Tp.6
SHA-512:      $6$rounds=5000$usesomesillystri$D4IrlXatmP7rx3P3InaxBeoomnAihCKRVQP22JZ6EY47Wc6BkroIuUUBOov1i.S5KPgErtP/EN5mcO.ChWQW21

Notas

Nota: No hay función de descifrado, ya que crypt() utiliza un algoritmo de un solo sentido.

Ver también

  • md5() - Calcula el hash md5 de un string
  • La extensión Mcrypt
  • La página man de la función crypt de Unix para más información

crc32
echo
Funciones de strings


Muestra una o más cadenas

crypt
explode
Funciones de strings
PHP Manual

echo

(PHP 4, PHP 5)

echo — Muestra una o más cadenas

Descripción

void echo ( string $arg1 [, string $... ] )

Muestra todos los parámetros.

echo no es realmente una función (es un constructor del lenguaje), por lo que no se requiere el uso de paréntesis con él. echo (a diferencia de otros constructores del lenguaje) no se comporta como una función, es decir no siempre se puede usar en el contexto de una función. Además, si se quiere pasar más de un parámetro a echo, éstos no deben estar entre paréntesis.

echo también posee una sintaxis abreviada, donde se puede poner el símbolo igual justo después de la etiqueta de apertura de PHP. Antes de PHP 5.4.0, este tipo de sintaxis abreviada únicamente funciona con la opción de configuración short_open_tag activada.

I have <?=$foo?> foo.

Parámetros

arg1

El parámetro a mostrar.

...

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplos de echo

<?php
echo "Hola mundo";

echo "Esto abarca
multiple líneas. Los saltos de línea también
se mostrarán";

echo "Esto abarca\nmúltiples líneas. Los saltos de línea también\nse mostrarán.";

echo "Para escapar caracteres se hace \"así\".";

// Se pueden usar variables dentro de una sentencia echo
$foo = "foobar";
$bar = "barbaz";

echo "foo es $foo"; // foo es foobar

// También se pueden usar arrays
$baz = array("valor" => "foo");

echo "Esto es {$baz['valor']} !"; // Esto es foo !

// Si se utilizan comillas simples, se mostrará el nombre de la variable, no su valor
echo 'foo es $foo'; // foo es $foo

// Si no usan otros caracteres, se puede utilizar echo para mostrar el valor de las variables.
echo $foo;          // foobar
echo $foo,$bar;     // foobarbarbaz

// Algunas personas prefieren pasar múltiples parámetros a echo en concatenación.
echo 'Esta ', 'cadena ', 'está ', 'hecha ', 'con múltiple parámetros.', chr(10);
echo 'Esta ' . 'cadena ' . 'está ' . 'hecha ' . 'con concatenación.' . "\n";

echo <<<END
Aquí se utiliza la sintaxis de "here document" para mostrar
múltiples líneas con interpolación de $variable. Nótese
que el finalizador de here document debe aparecer en una
línea con solamente un punto y coma. ¡Nada de espacios extra!
END;

// Ya que echo no se comporta como una función, el siguiente código no es válido.
($variable) ? echo 'true' : echo 'false';

// Sin embargo, el siguiente código funcionará:
($variable) ? print 'true' : print 'false'; // print también es un constructor, pero
                                            // se comporta como una función, por lo que
                                            // puede usarse en este contexto.
echo $variable ? 'true': 'false'; // dando la vuelta a la declaración
?>

Notas

Nota: Puesto que esto es una construcción del lenguaje y no una función, no puede ser llamada usando funciones variables.

Ver también

  • print - Mostrar una cadena
  • printf() - Imprimir una cadena con formato
  • flush() - Vaciar el búfer de salida
  • Sintaxis de Heredoc

crypt
explode
Funciones de strings


Divide una cadena en varias cadenas

echo
fprintf
Funciones de strings
PHP Manual

explode

(PHP 4, PHP 5)

explode — Divide una cadena en varias cadenas

Descripción

array explode ( string $delimiter , string $string [, int $limit ] )

Devuelve un array de cadenas, siendo cada una de ellas una subcadena del parámetro string formado por la división según los delimitadores indicados en el parámetro delimiter.

Parámetros

delimiter

La cadena delimitadora.

string

La cadena de entrada.

limit

Si el parámetro limit es positivo, el array devuelto contendrá el máximo de elementos en el limit y el último elemento contendrá el resto del string.

Si el parámetro limit es negativo, se devolverán todos los componentes a excepción el último -limit.

Si el parámetro limit es cero, actuará como si su valor fuera 1.

Aunque implode() por razones históricas puede aceptar los parámetros en cualquier orden, explode() no. Debe asegurarse de que el argumento delimiter va antes que el argumento string.

Valores devueltos

Devuelve un array de cadenass creadas por la división del parámetro string usando los limitadores indicados en el parámetro delimiter.

Si delimiter es una cadena vacía (""), explode() devolverá FALSE. Si delimiter contiene un valor que no forma parte del parámetro string y se utiliza un limit negativo, entonces se devolverá un array vacío, en caso contrario se devolverá un array conteniendo el string.

Historial de cambios

Versión | Descripción
5.1.0 | Se añadió soporte para limit negativo.
4.0.1 | Se añadió el parámetro limit.

Ejemplos

Ejemplo #1 Ejemplo de explode()

<?php
// Ejemplo 1
$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

// Ejemplo 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *

?>

Ejemplo #2 Ejemplos del retorno de explode()

<?php
/* Un string que no contiene el delimitador simplemente devolverá un array de un elemento con el string original. */
$input1 = "hello";
$input2 = "hello,there";
var_dump( explode( ',', $input1 ) );
var_dump( explode( ',', $input2 ) );

?>

El resultado del ejemplo sería:

array(1)
(
    [0] => string(5) "hello"
)
array(2)
(
    [0] => string(5) "hello"
    [1] => string(5) "there"
)

Ejemplo #3 Ejemplos del parámetro limit

<?php
$str = 'one|two|three|four';

// positive limit
print_r(explode('|', $str, 2));

// negative limit (since PHP 5.1)
print_r(explode('|', $str, -1));
?>

El resultado del ejemplo sería:

Array
(
    [0] => one
    [1] => two|three|four
)
Array
(
    [0] => one
    [1] => two
    [2] => three
)

Notas

Nota: Esta función es segura binariamente.

Ver también

  • preg_split() - Divide un string mediante una expresión regular
  • str_split() - Convierte un string en un array
  • mb_split() - Divide cadenas de caracteres multibyte usando una expresión regular
  • str_word_count() - Devuelve información sobre las palabras utilizadas en un string
  • strtok() - Tokeniza string
  • implode() - Une elementos de un array en un string

echo
fprintf
Funciones de strings


Escribir una cadena con formato a una secuencia

explode
get_html_translation_table
Funciones de strings
PHP Manual

fprintf

(PHP 5)

fprintf — Escribir una cadena con formato a una secuencia

Descripción

int fprintf ( resource $handle , string $format [, mixed $args [, mixed $... ]] )

Escribe una cadena producida de acuerdo a format al recurso de secuencia especificado por handle.

Parámetros

handle

Resource que apunta a un fichero del sitema que normalmente es creado usando fopen().

format

Vea sprintf() para una descripción de format.

args

...

Valores devueltos

Devuelve la longitud de la cadena impresa.

Ejemplos

Ejemplo #1 fprintf(): enteros con relleno de ceros

<?php
if (!($da = fopen('fecha.txt', 'w')))
    return;

fprintf($da, "%04d-%02d-%02d", $anyo, $mes, $dia);
// escribe la fecha en formato ISO a fecha.txt
?>

Ejemplo #2 fprintf(): dando formato a valores monetarios

<?php
if (!($da = fopen('monetario.txt', 'w')))
    return;

$dinero1 = 68.75;
$dinero2 = 54.35;
$dinero = $dinero1 + $dinero2;
// echo $dinero producirá la salida "123.1";
$long = fprintf($da, '%01.2f', $dinero);
// escribe "123.10" en monetario.txt

echo "se escribieron $long bytes a monetario.txt";
// usar el valor de retorno para determinar cuántos bytes se escribieron
?>

Ver también

  • printf() - Imprimir una cadena con formato
  • sprintf() - Devuelve un string formateado
  • sscanf() - Interpreta un string de entrada de acuerdo con un formato
  • fscanf() - Analiza la entrada desde un archivo de acuerdo a un formato
  • vsprintf() - Devuelve una cadena con formato
  • number_format() - Formatear un número con los miles agrupados

explode
get_html_translation_table
Funciones de strings


Devuelve la tabla de traducción utilizada por htmlspecialchars y htmlentities

fprintf
hebrev
Funciones de strings
PHP Manual

get_html_translation_table

(PHP 4, PHP 5)

get_html_translation_table — Devuelve la tabla de traducción utilizada por htmlspecialchars() y htmlentities()

Descripción

array get_html_translation_table ([ int $table = HTML_SPECIALCHARS [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = 'UTF-8' ]]] )

get_html_translation_table() devolverá la tabla de traducción que es utilizada internamente para htmlspecialchars() y htmlentities().

Nota:

Los caracteres especiales se pueden codificar de varias maneras. Por ejemplo " puede ser codificado como &quot;, &#34; o &#x22. get_html_translation_table() devuelve sólo la forma utilizada por htmlspecialchars() y htmlentities().

Parámetros

table

Cual tabla devolver. EntreHTML_ENTITIES o HTML_SPECIALCHARS).

flags

Una máscara de bits de uno o más de los siguientes indicadores, que especifican que comillas contendrá la tabla, así como para qué tipo de documento es la tabla. El valor por defecto es ENT_COMPAT | ENT_HTML401.

Constantes disponibles para flags
Nombre de la constante | Descripción
ENT_COMPAT | La tabla contendrá entidades para comillas dobles, pero no por comillas simples.
ENT_QUOTES | La tabla contendrá entidades para ambas comillas dobles y simples.
ENT_NOQUOTES | La tabla no contendrá entidades de comillas simples ni las de comillas dobles.
ENT_HTML401 | Tabla para HTML 4.01.
ENT_XML1 | Tabla para XML 1.
ENT_XHTML | Tabla para XHTML.
ENT_HTML5 | Tabla para HTML 5.

encoding

La codificación a usar. Si se omite, el valor por defecto para este argumento es ISO-8859-1 en versiones de PHP anteriores a 5.4.0, y es UTF-8 a partir de PHP 5.4.0 en adelante.

Los siguientes juegos de caracteres están soportados:

Conjunto de Caracteres Soportados
Juego de caracteres | Alias | Descripción
ISO-8859-1 | ISO8859-1 | Europeo Occidental, Latin-1.
ISO-8859-5 | ISO8859-5 | Juego de caracteres cirílicos poco usado (Latin/Cyrillic).
ISO-8859-15 | ISO8859-15 | Europeo Occidental, Latin-9. Añade el signo de Euro, y letras del Francés y Finlandés que hacián falta en Latin-1 (ISO-8859-1).
UTF-8 | Multi-byte Unicode de 8-bits compatible con ASCII.
cp866 | ibm866, 866 | Juego de caracteres Cirílico específico de DOS.
cp1251 | Windows-1251, win-1251, 1251 | Juego de caracteres Cirílicos específico de Windows.
cp1252 | Windows-1252, 1252 | Juego de caracteres específico de Windows para Europa Occidental.
KOI8-R | koi8-ru, koi8r | Ruso.
BIG5 | 950 | Chino Tradicional, usado principalmente en Taiwán.
GB2312 | 936 | Chino Simplificado, juego de caracteres estándar nacional.
BIG5-HKSCS | Big5 con extensiones de Hong Kong, Chino Tradicional.
Shift_JIS | SJIS, SJIS-win, cp932, 932 | Japonés
EUC-JP | EUCJP, eucJP-win | Japonés
MacRoman | Juego de caracteres que fue utilizado por Mac OS.
'' Un string vacío activa la detección desde la codificación del script (Zend multibyte), default_charset y la actual configuración regional (ver nl_langinfo() y setlocale()), en este orden. No se recomienda.

Nota: Cualquier otro juego de caracteres no es reconocido. La codificación por defecto será utilizada en su lugar y se emitirá una advertencia.

Valores devueltos

Devuelve la tabla de traducción como un array, con los caracteres originales como claves y las entidades como valores.

Historial de cambios

Versión | Descripción
5.4.0 | El valor por defecto para el parámetro encoding fue cambiado a UTF-8.
5.4.0 | Fueron agregadas las constantes ENT_HTML401, ENT_XML1, ENT_XHTML y ENT_HTML5.
5.3.4 | Fue agregado el parámetro encoding.

Ejemplos

Ejemplo #1 Ejemplo de tabla de traducción

<?php
var_dump(get_html_translation_table(HTML_ENTITIES, ENT_QUOTES | ENT_HTML5));
?>

El resultado del ejemplo sería algo similar a:

array(1510) {
  ["
"]=>
  string(9) "&NewLine;"
  ["!"]=>
  string(6) "&excl;"
  ["""]=>
  string(6) "&quot;"
  ["#"]=>
  string(5) "&num;"
  ["$"]=>
  string(8) "&dollar;"
  ["%"]=>
  string(8) "&percnt;"
  ["&"]=>
  string(5) "&amp;"
  ["'"]=>
  string(6) "&apos;"
  // ...
}

Ver también

  • htmlspecialchars() - Convierte caracteres especiales en entidades HTML
  • htmlentities() - Convierte todos los caracteres aplicables a entidades HTML
  • html_entity_decode() - Convierte todas las entidades HTML a sus caracteres correspondientes

fprintf
hebrev
Funciones de strings


Convierte texto hebreo lógico a texto visual

get_html_translation_table
hebrevc
Funciones de strings
PHP Manual

hebrev

(PHP 4, PHP 5)

hebrev — Convierte texto hebreo lógico a texto visual

Descripción

string hebrev ( string $hebrew_text [, int $max_chars_per_line = 0 ] )

Convierte el texto hebreo lógico a texto visual.

La función trata de evitar el corte de las palabras.

Parámetros

hebrew_text

Una cadena Hebrea de entrada.

max_chars_per_line

Este parámetro opcional indica el número máximo de caracteres por línea que será devuelta.

Valores devueltos

Devuelve la cadena visual.

Ver también

  • hebrevc() - Convertir texto de hebreo lógico a texto visual con conversión de línea nueva

get_html_translation_table
hebrevc
Funciones de strings


Convertir texto de hebreo lógico a texto visual con conversión de línea nueva

hebrev
hex2bin
Funciones de strings
PHP Manual

hebrevc

(PHP 4, PHP 5)

hebrevc — Convertir texto de hebreo lógico a texto visual con conversión de línea nueva

Descripción

string hebrevc ( string $hebrew_text [, int $max_chars_per_line = 0 ] )

Esta función es parecida a hebrev() con la diferencia que esta convierte líneas nuevas (\n) a "<br>\n".

Esta función intenta evitar la separación de palabras.

Parámetros

hebrew_text

Una cadena de entrada en hebreo.

max_chars_per_line

Este parámetro es opcional, e indica el número máximo de caracteres por línea que serán devueltos.

Valores devueltos

Devuelve la cadena visual.

Ver también

  • hebrev() - Convierte texto hebreo lógico a texto visual

hebrev
hex2bin
Funciones de strings


Decodifica una cadena binaria codificada hexadecimalmente

hebrevc
html_entity_decode
Funciones de strings
PHP Manual

hex2bin

(PHP >= 5.4.0)

hex2bin — Decodifica una cadena binaria codificada hexadecimalmente

Descripción

string hex2bin ( string $data )

Decodifica una cadena binaria codificada hexadecimalmente.

Precaución

Esta función NO convierte un número hexadecimal en un número binario. Esto se puede realizar usando la función base_convert().

Parámetros

data

La representación hexadecimal de datos.

Valores devueltos

Devuelve la representación binaria de los datos dados o FALSE en caso de error.

Errores/Excepciones

Si la cadena de entrada hexadecimal tiene una longitud impar o es una cadena hexadecimal no válida se emite un error de nivel E_WARNING.

Historial de cambios

Versión | Descripción
5.5.1 | Se emite una advertencia si el string de entrada es un string hexadecimal no válido.
5.4.1 | Se emite una advertencia si la cadena de entrada tiene una longitud impar. En PHP 5.4.0 la cadena era aceptada de forma silenciosa, pero el último byte era truncado.

Ejemplos

Ejemplo #1 Ejemplo de hex2bin()

<?php
$hex = hex2bin("6578616d706c65206865782064617461");
var_dump($hex);
?>

El resultado del ejemplo sería algo similar a:

string(16) "example hex data"

Ver también

  • bin2hex() - Convierte datos binarios en su representación hexadecimal
  • unpack() - Desempaqueta datos de una cadena binaria

hebrevc
html_entity_decode
Funciones de strings


Convierte todas las entidades HTML a sus caracteres correspondientes

hex2bin
htmlentities
Funciones de strings
PHP Manual

html_entity_decode

(PHP 4 >= 4.3.0, PHP 5)

html_entity_decode — Convierte todas las entidades HTML a sus caracteres correspondientes

Descripción

string html_entity_decode ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = 'UTF-8' ]] )

html_entity_decode() es el opuesto de htmlentities() en el sentido de que convierte todas las entidades HTML del string a sus caracteres correspondientes.

Para ser más precisos, esta función decodifica todas las entidades (incluyendo todas las entidades numéricas) que a) sean necesariamente válidas para el tipo de documento elegido — es decir, para XML, esta función no decodifica las entidades con nombres que podrían estar definidas en algunos DTD — y b) aquellos caracteres que están en el conjunto de caracteres codificado asociado con la codificación elegida y que están permitidos en el tipo de documento elegido. Todas las demás entidades se dejan tal cual.

Parámetros

string

El string de entrada.

flags

Una máscara de bits de una o más de las siguientes banderas, las cuales especifican cómo manejar las comillas y el tipo de documento utilizado. El valor predeterminado es ENT_COMPAT | ENT_HTML401.

Constantes disponibles para flags
Nombre de constante | Descripción
ENT_COMPAT | Convertirá las comillas dobles y sólo dejará las comillas simples.
ENT_QUOTES | Convertirá tanto las comillas dobles como las simples.
ENT_NOQUOTES | Dejará tanto las comillas dobles como las simples sin convertir.
ENT_HTML401 | Maneja el código como HTML 4.01.
ENT_XML1 | Maneja el código como XML 1.
ENT_XHTML | Maneja el código como XHTML.
ENT_HTML5 | Maneja el código como HTML 5.

encoding

La codificación a usar. Si se omite, el valor predeterminado de este argumento es ISO-8859-1 en versiones de PHP anteriores a 5.4.0, y UTF-8 desde PHP 5.4.0 en adelante.

Los siguientes juegos de caracteres están soportados:

Conjunto de Caracteres Soportados
Juego de caracteres | Alias | Descripción
ISO-8859-1 | ISO8859-1 | Europeo Occidental, Latin-1.
ISO-8859-5 | ISO8859-5 | Juego de caracteres cirílicos poco usado (Latin/Cyrillic).
ISO-8859-15 | ISO8859-15 | Europeo Occidental, Latin-9. Añade el signo de Euro, y letras del Francés y Finlandés que hacián falta en Latin-1 (ISO-8859-1).
UTF-8 | Multi-byte Unicode de 8-bits compatible con ASCII.
cp866 | ibm866, 866 | Juego de caracteres Cirílico específico de DOS.
cp1251 | Windows-1251, win-1251, 1251 | Juego de caracteres Cirílicos específico de Windows.
cp1252 | Windows-1252, 1252 | Juego de caracteres específico de Windows para Europa Occidental.
KOI8-R | koi8-ru, koi8r | Ruso.
BIG5 | 950 | Chino Tradicional, usado principalmente en Taiwán.
GB2312 | 936 | Chino Simplificado, juego de caracteres estándar nacional.
BIG5-HKSCS | Big5 con extensiones de Hong Kong, Chino Tradicional.
Shift_JIS | SJIS, SJIS-win, cp932, 932 | Japonés
EUC-JP | EUCJP, eucJP-win | Japonés
MacRoman | Juego de caracteres que fue utilizado por Mac OS.
'' Un string vacío activa la detección desde la codificación del script (Zend multibyte), default_charset y la actual configuración regional (ver nl_langinfo() y setlocale()), en este orden. No se recomienda.

Nota: Cualquier otro juego de caracteres no es reconocido. La codificación por defecto será utilizada en su lugar y se emitirá una advertencia.

Valores devueltos

Devuelve el string descodificado.

Historial de cambios

Versión | Descripción
5.4.0 | La codificación predeterminada fue cambiada de ISO-8859-1 a UTF-8.
5.4.0 | Fueron agregadas las constantes ENT_HTML401, ENT_XML1, ENT_XHTML y ENT_HTML5.
5.0.0 | Se agregó el soporte para codificaciones multibyte.

Ejemplos

Ejemplo #1 Decodificación de entidades HTML

<?php
$orig = "I'll \"walk\" the <b>dog</b> now";

$a = htmlentities($orig);

$b = html_entity_decode($a);

echo $a; // I'll &quot;walk&quot; the &lt;b&gt;dog&lt;/b&gt; now

echo $b; // I'll "walk" the <b>dog</b> now
?>

Notas

Nota:

Puede que se pregunte por qué trim(html_entity_decode('&nbsp;')); no reduce el string aun string vacía. Esto es porque la entidad '&nbsp;' no es el código ASCII 32 (el cual es eliminado por trim()), sino el código ASCII 160 (0xa0) en la codificación ISO 8859-1.

Ver también

  • htmlentities() - Convierte todos los caracteres aplicables a entidades HTML
  • htmlspecialchars() - Convierte caracteres especiales en entidades HTML
  • get_html_translation_table() - Devuelve la tabla de traducción utilizada por htmlspecialchars y htmlentities
  • urldecode() - Decodifica una cadena cifrada como URL

hex2bin
htmlentities
Funciones de strings


Convierte todos los caracteres aplicables a entidades HTML

html_entity_decode
htmlspecialchars_decode
Funciones de strings
PHP Manual

htmlentities

(PHP 4, PHP 5)

htmlentities — Convierte todos los caracteres aplicables a entidades HTML

Descripción

string htmlentities ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = 'UTF-8' [, bool $double_encode = true ]]] )

Esta función es idéntica a htmlspecialchars() en todos los aspectos, excepto que con htmlentities(), todos los caracteres que tienen equivalente HTML son convertidos a esas entidades.

Si en su lugar se desea decodificar (lo inverso), se puede utilizar html_entity_decode().

Parámetros

string

El string de entrada.

flags

Una máscara de bits de uno o más de los siguientes indicadores, los cuales especifican como manejar las comillas, secuencias de unidad de código inválidas y el tipo de documento utilizado. Por defecto es ENT_COMPAT | ENT_HTML401.

Constantes disponibles para flags
Nombre de la constante | Descripción
ENT_COMPAT | Convertirá las comillas dobles y deja solo las comillas sencillas.
ENT_QUOTES | Convertirá tanto las comillas dobles como las sencillas.
ENT_NOQUOTES | Dejará tanto las comillas dobles como las sencillas sin convertir.
ENT_IGNORE | Silenciosamente descarta unidades de secuencia de código no válidas en lugar de devolver un string vacío. El uso de este indicador se desaconseja debido a que » puede tener implicaciones de seguridad.
ENT_SUBSTITUTE | Reemplaza las secuencias de unidad de código inválidas con un Caracter Unicode de Reemplazo U+FFFD (UTF-8) ó &#FFFD; (de otra manera) en lugar de devolver un string vacío.
ENT_DISALLOWED | Reemplaza los puntos de código no válidos para el tipo de documento dado que se entregará con un Caracter de Reemplazo Unicode U+FFFD (UTF-8) o &#FFFD; (de otra manera) en lugar de dejarlos tal cual. Esto puede ser útil, por ejemplo, para asegurar la formación correcta de documentos XML con contenido externo incrustado.
ENT_HTML401 | Maneja el código como HTML 4.01.
ENT_XML1 | Maneja el código como XML 1.
ENT_XHTML | Maneja el código como XHTML.
ENT_HTML5 | Maneja el código como HTML 5.

encoding

Al igual que htmlspecialchars(), htmlentities() toma un tercer argumento opcional encoding el cual define la codificación usada en la conversión. Si se omite, el valor por defecto para este argumento es ISO-8859-1 en versiones de PHP anteriores a 5.4.0, y es UTF-8 desde PHP 5.4.0 en adelante. Aunque este argumento es técnicamente opcional, es altamente recomendable especificar el valor correcto para el código.

Los siguientes juegos de caracteres están soportados:

Conjunto de Caracteres Soportados
Juego de caracteres | Alias | Descripción
ISO-8859-1 | ISO8859-1 | Europeo Occidental, Latin-1.
ISO-8859-5 | ISO8859-5 | Juego de caracteres cirílicos poco usado (Latin/Cyrillic).
ISO-8859-15 | ISO8859-15 | Europeo Occidental, Latin-9. Añade el signo de Euro, y letras del Francés y Finlandés que hacián falta en Latin-1 (ISO-8859-1).
UTF-8 | Multi-byte Unicode de 8-bits compatible con ASCII.
cp866 | ibm866, 866 | Juego de caracteres Cirílico específico de DOS.
cp1251 | Windows-1251, win-1251, 1251 | Juego de caracteres Cirílicos específico de Windows.
cp1252 | Windows-1252, 1252 | Juego de caracteres específico de Windows para Europa Occidental.
KOI8-R | koi8-ru, koi8r | Ruso.
BIG5 | 950 | Chino Tradicional, usado principalmente en Taiwán.
GB2312 | 936 | Chino Simplificado, juego de caracteres estándar nacional.
BIG5-HKSCS | Big5 con extensiones de Hong Kong, Chino Tradicional.
Shift_JIS | SJIS, SJIS-win, cp932, 932 | Japonés
EUC-JP | EUCJP, eucJP-win | Japonés
MacRoman | Juego de caracteres que fue utilizado por Mac OS.
'' Un string vacío activa la detección desde la codificación del script (Zend multibyte), default_charset y la actual configuración regional (ver nl_langinfo() y setlocale()), en este orden. No se recomienda.

Nota: Cualquier otro juego de caracteres no es reconocido. La codificación por defecto será utilizada en su lugar y se emitirá una advertencia.

double_encode

Cuando se desactiva double_encode PHP no codificará a las entidades html existentes. El valor por defecto es convertir todo.

Valores devueltos

Devuelve el string codificado.

Si el string de entrada contiene una secuencia de unidad de código no válida dentro del encoding dado, un string vacío será devuelto, a menos que se definan los indicadores ENT_IGNORE o ENT_SUBSTITUTE.

Historial de cambios

Versión | Descripción
5.4.0 | El valor por defecto del parámetro encoding fue cambiado a UTF-8.
5.4.0 | Fueron agregadas las constantes ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML y ENT_HTML5.
5.3.0 | Fue agregada la constante ENT_IGNORE.
5.2.3 | Fue agregado el parámetro double_encode.
4.1.0 | Fue agregado el parámetro encoding.
4.0.3 | Fue agregado el parámetro flags.

Ejemplos

Ejemplo #1 Un ejemplo de htmlentities()

<?php
$str = "A 'quote' is <b>bold</b>";

// Produce: A 'quote' is &lt;b&gt;bold&lt;/b&gt;
echo htmlentities($str);

// Produce: A &#039;quote&#039; is &lt;b&gt;bold&lt;/b&gt;
echo htmlentities($str, ENT_QUOTES);
?>

Ejemplo #2 Uso de ENT_IGNORE

<?php
$str = "\x8F!!!";

// Produce un string vacío
echo htmlentities($str, ENT_QUOTES, "UTF-8");

// Produce "!!!"
echo htmlentities($str, ENT_QUOTES | ENT_IGNORE, "UTF-8");
?>

Ver también

  • html_entity_decode() - Convierte todas las entidades HTML a sus caracteres correspondientes
  • get_html_translation_table() - Devuelve la tabla de traducción utilizada por htmlspecialchars y htmlentities
  • htmlspecialchars() - Convierte caracteres especiales en entidades HTML
  • nl2br() - Inserta saltos de línea HTML antes de todas las nuevas líneas de un string
  • urlencode() - Codifica como URL una cadena

html_entity_decode
htmlspecialchars_decode
Funciones de strings


Convierte entidades HTML especiales de nuevo en caracteres

htmlentities
htmlspecialchars
Funciones de strings
PHP Manual

htmlspecialchars_decode

(PHP 5 >= 5.1.0)

htmlspecialchars_decode — Convierte entidades HTML especiales de nuevo en caracteres

Descripción

string htmlspecialchars_decode ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 ] )

Esta función es la opuesta a htmlspecialchars(). Convierte entidades HTML especiales de nuevo en los caracteres.

Las entidades convertidas son: &amp;, &quot; (cuando ENT_NOQUOTES no se ha establecido), &#039; (cuando ENT_QUOTES se ha establecido), &lt; y &gt;.

Parámetros

string

El string a decodificar.

flags

Una máscara de bits de uno o más de los siguientes indicadores, que especifican cómo manejar las comillas y que tipo de documento utilizar. Por defecto es ENT_COMPAT | ENT_HTML401.

Contantes disponibles para flags
Nombre de la Constante | Descripción
ENT_COMPAT | Convertirá las comillas dobles y dejará solamente las comillas sencillas.
ENT_QUOTES | Convertirá tanto las comillas dobles como las sencillas.
ENT_NOQUOTES | Dejará tanto las comillas dobles como las sencillas sin convertir.
ENT_HTML401 | Maneja el código como HTML 4.01.
ENT_XML1 | Maneja el código como XML 1.
ENT_XHTML | Maneja el código como XHTML.
ENT_HTML5 | Maneja el código como HTML 5.

Valores devueltos

Devuelve el string decodificado.

Historial de cambios

Versión | Descripción
5.4.0 | Fueron agregadas las constantes ENT_HTML401, ENT_XML1, ENT_XHTML y ENT_HTML5.

Ejemplos

Ejemplo #1 Un ejemplo de htmlspecialchars_decode()

<?php
$str = "<p>this -&gt; &quot;</p>\n";

echo htmlspecialchars_decode($str);

// tenga en cuenta que aquí las comillas no se convierten
echo htmlspecialchars_decode($str, ENT_NOQUOTES);
?>

El resultado del ejemplo sería:

<p>this -> "</p>
<p>this -> &quot;</p>

Ver también

  • htmlspecialchars() - Convierte caracteres especiales en entidades HTML
  • html_entity_decode() - Convierte todas las entidades HTML a sus caracteres correspondientes
  • get_html_translation_table() - Devuelve la tabla de traducción utilizada por htmlspecialchars y htmlentities

htmlentities
htmlspecialchars
Funciones de strings


Convierte caracteres especiales en entidades HTML

htmlspecialchars_decode
implode
Funciones de strings
PHP Manual

htmlspecialchars

(PHP 4, PHP 5)

htmlspecialchars — Convierte caracteres especiales en entidades HTML

Descripción

string htmlspecialchars ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = 'UTF-8' [, bool $double_encode = true ]]] )

Ciertos caracteres tienen un significado especial en HTML y deben ser representados por entidades HTML si se desea preservar su significado. Esta función devuelve un string con estas conversiones realizadas. Si se requiere que todas las subcadenas de entrada tengan asociadas entidades con nombre para que sean traducidas, use htmlentities() instead.

Si el string de entrada pasado a esta función y el documento final comparten el mismo conjunto de carcteres, esta función es suficiente para preparar entradas para su inclusión en la mayoría de los contextos de un documento HTML. Sin embargo, si la entrada puede representar caracteres que no están codificados en el conjunto de caracteres del documento final, y es necesario conservar dichos caracteres (tales como números o entidades con nombre), esta función y htmlentities() (la cual solamente codifica subcadenas que tienen equivalentes de entidades con nombre) podrían ser insuficientes. De podria usar mb_encode_numericentity() en su lugar.

Las traducciones realizadas son:

  • '&' (et) se convierte en '&amp;'
  • '"' (comillas dobles) se convierte en '&quot;' cuando ENT_NOQUOTES no está establecido.
  • "'" (comilla simple) se convierte en '&#039;' (o &apos;) sólo cuando ENT_QUOTES está establecido.
  • '<' (menor que) se convierte en '&lt;'
  • '>' (mayor que) se convierte en '&gt;'

Parámetros

string

El string a convertir.

flags

Una máscara de bits de una o más de las siguientes banderas, las cuales especifican cómo manejar las comillas, las secuencias de unidad de código inválidas y el tipo de documento utilizado. El valor predeterminado es ENT_COMPAT | ENT_HTML401.

Constantes disponibles para flags
Nombre de la constante | Descripción
ENT_COMPAT | Convertirá las comillas dobles y sólo dejará las comillas simples.
ENT_QUOTES | Convertirá tanto las comillas dobles como las simples.
ENT_NOQUOTES | Dejará tanto las comillas dobles como las simples sin convertir.
ENT_IGNORE | Silenciosamente descarta unidades de secuencia de código no válidas en lugar de devolver un string vacío. No se recomienda el uso de esta bandera, ya que » puede tener implicaciones de seguridad.
ENT_SUBSTITUTE | Reemplaza las secuencias de unidad de código inválidas con un Carácter de Reemplazo Unicode U+FFFD (UTF-8) o &#FFFD; (de lo contrario) en lugar de devolver un string vacío.
ENT_DISALLOWED | Reemplaza los puntos de código no válidos para el tipo de documento dado con un Carácter de Reemplazo Unicode U+FFFD (UTF-8) o &#FFFD; (de lo contrario) en lugar de dejarlos tal cual. Esto puede ser útil, por ejemplo, para asegurar que los documentos XML estén bien formados con contenido externo incrustado.
ENT_HTML401 | Maneja el código como HTML 4.01.
ENT_XML1 | Maneja el código como XML 1.
ENT_XHTML | Maneja el código como XHTML.
ENT_HTML5 | Maneja el código como HTML 5.

encoding

Define la codificación usada en la conversión. Si se omite, el valor predeterminado de este argumento es ISO-8859-1 en las versiones de PHP anteriores a 5.4.0, y UTF-8 a partir de PHP 5.4.0 en adelante.

Para el propósito de ésta función, los juegos de caracteres ISO-8859-1, ISO-8859-15, UTF-8, cp866, cp1251, cp1252 y KOI8-R son realmente equivalentes, siempre y cuando el string sea válido para la codificación, ya que los caracteres afectados por htmlspecialchars() ocupan las mismas posiciones en todas estas codificaciones.

Los siguientes juegos de caracteres están soportados:

Conjunto de Caracteres Soportados
Juego de caracteres | Alias | Descripción
ISO-8859-1 | ISO8859-1 | Europeo Occidental, Latin-1.
ISO-8859-5 | ISO8859-5 | Juego de caracteres cirílicos poco usado (Latin/Cyrillic).
ISO-8859-15 | ISO8859-15 | Europeo Occidental, Latin-9. Añade el signo de Euro, y letras del Francés y Finlandés que hacián falta en Latin-1 (ISO-8859-1).
UTF-8 | Multi-byte Unicode de 8-bits compatible con ASCII.
cp866 | ibm866, 866 | Juego de caracteres Cirílico específico de DOS.
cp1251 | Windows-1251, win-1251, 1251 | Juego de caracteres Cirílicos específico de Windows.
cp1252 | Windows-1252, 1252 | Juego de caracteres específico de Windows para Europa Occidental.
KOI8-R | koi8-ru, koi8r | Ruso.
BIG5 | 950 | Chino Tradicional, usado principalmente en Taiwán.
GB2312 | 936 | Chino Simplificado, juego de caracteres estándar nacional.
BIG5-HKSCS | Big5 con extensiones de Hong Kong, Chino Tradicional.
Shift_JIS | SJIS, SJIS-win, cp932, 932 | Japonés
EUC-JP | EUCJP, eucJP-win | Japonés
MacRoman | Juego de caracteres que fue utilizado por Mac OS.
'' Un string vacío activa la detección desde la codificación del script (Zend multibyte), default_charset y la actual configuración regional (ver nl_langinfo() y setlocale()), en este orden. No se recomienda.

Nota: Cualquier otro juego de caracteres no es reconocido. La codificación por defecto será utilizada en su lugar y se emitirá una advertencia.

double_encode

Cuando double_encode se desactiva, PHP no codificará las entidades HTML existentes. El valor predeterminado es convertirlo todo.

Valores devueltos

El string convertido.

Si el string de entrada contiene una secuencia de unidad de código no válida en el parámetro encoding dado, se devolverá un string vacío, a menos que cualquiera de las banderas ENT_IGNORE o ENT_SUBSTITUTE estén establecidas.

Historial de cambios

Versión | Descripción
5.4.0 | El valor predeterminado del parámetro encoding se cambió a UTF-8.
5.4.0 | Fueron agregadas las constantes ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML y ENT_HTML5.
5.3.0 | Fue agregada la constante ENT_IGNORE.
5.2.3 | Fue agregado el parámetro double_encode.
4.1.0 | Fue agregado el parámetro encoding.

Ejemplos

Ejemplo #1 Ejemplo de htmlspecialchars()

<?php
$nueva = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $nueva; // &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;
?>

Notas

Nota:

Se ha de tener en cuenta que esta función no traduce nada más de lo que aparece en la lista de arriba. Para la traducción completa de entidades, véase htmlentities().

Ver también

  • get_html_translation_table() - Devuelve la tabla de traducción utilizada por htmlspecialchars y htmlentities
  • htmlspecialchars_decode() - Convierte entidades HTML especiales de nuevo en caracteres
  • strip_tags() - Retira las etiquetas HTML y PHP de un string
  • htmlentities() - Convierte todos los caracteres aplicables a entidades HTML
  • nl2br() - Inserta saltos de línea HTML antes de todas las nuevas líneas de un string

htmlspecialchars_decode
implode
Funciones de strings


Une elementos de un array en un string

htmlspecialchars
join
Funciones de strings
PHP Manual

implode

(PHP 4, PHP 5)

implode — Une elementos de un array en un string

Descripción

string implode ( string $glue , array $pieces )
string implode ( array $pieces )

Une elementos de un array en un string con glue (pegamento).

Nota:

Por razones históricas implode() puede aceptar parámetros en cualquier orden. Para matener una consistencia respecto a explode(), puede que sea menos confuso usar el orden de argumentos de la documentación.

Parámetros

glue

Por defecto es un string vacío.

pieces

El array de strings a ser usados por implode.

Valores devueltos

Devuelve un string que contiene la representación de todos los elementos del array en el mismo orden, con el string 'glue' entre cada elemento.

Historial de cambios

Versión | Descripción
4.3.0 | El parámetro glue se hizo opcional.

Ejemplos

Ejemplo #1 Ejemplo de implode()

<?php

$array = array('apellido', 'email', 'teléfono');
$separado_por_comas = implode(",", $array);

echo $separado_por_comas; // apellido,email,teléfono

// Devuelve un string vacío si se usa un array vacío:
var_dump(implode('hola', array())); // string(0) ""

?>

Notas

Nota: Esta función es segura binariamente.

Ver también

  • explode() - Divide una cadena en varias cadenas
  • preg_split() - Divide un string mediante una expresión regular
  • http_build_query() - Generar una cadena de consulta codificada estilo URL

htmlspecialchars
join
Funciones de strings


Alias de implode

implode
lcfirst
Funciones de strings
PHP Manual

join

(PHP 4, PHP 5)

join — Alias de implode()

Descripción

Esta función es un alias de: implode().

implode
lcfirst
Funciones de strings


Pasa a minúscula el primer caracter de un string

join
levenshtein
Funciones de strings
PHP Manual

lcfirst

(PHP 5 >= 5.3.0)

lcfirst — Pasa a minúscula el primer caracter de un string

Descripción

string lcfirst ( string $str )

Devuelve un string con el primer caracter de str en minúscula, si ese caracter es alfabético.

Tener en cuenta que 'alfabético' está determinado por la configuración regional actual. Por ejemplo, en la configuración regional por defecto "C" caracteres como la a con diéresis (ä) no serán convertidos.

Parámetros

str

El string de entrada.

Valores devueltos

Devuelve el string resultante.

Ejemplos

Ejemplo #1 Ejemplo de lcfirst()

<?php
$foo = 'HelloWorld';
$foo = lcfirst($foo);             // helloWorld

$bar = 'HELLO WORLD!';
$bar = lcfirst($bar);             // hELLO WORLD!
$bar = lcfirst(strtoupper($bar)); // hELLO WORLD!
?>

Ver también

  • ucfirst() - Convierte el primer caracter de una cadena a mayúsculas
  • strtolower() - Convierte una cadena a minúsculas
  • strtoupper() - Convierte un string a mayúsculas
  • ucwords() - Convierte a mayúsculas el primer caracter de cada palabra en una cadena

join
levenshtein
Funciones de strings


Cálculo de la distancia Levenshtein entre dos strings

lcfirst
localeconv
Funciones de strings
PHP Manual

levenshtein

(PHP 4 >= 4.0.1, PHP 5)

levenshtein — Cálculo de la distancia Levenshtein entre dos strings

Descripción

int levenshtein ( string $str1 , string $str2 )
int levenshtein ( string $str1 , string $str2 , int $cost_ins , int $cost_rep , int $cost_del )

La distancia Levenshtein se define como el número mínimo de caracteres que se tienen que sustituir, insertar o borrar para transformar str1 en str2. La complejidad del algoritmo es O(m*n), donde n y m son la longitud de str1 y str2 (bastante bueno en comparación con similar_text(), la cual es O(max(n,m)**3), pero sigue siendo costoso).

En su forma más simple la función tomará sólo los dos strings como parámetros y calculará sólo el número de operaciones de insertar, reemplazar y eliminar, necesarias para transformar str1 en str2.

Una segunda variante tomará tres parámetros adicionales que definen el costo de las operaciones de insertar, reemplazar y eliminar. Esto es más general y adaptable que la primera variante, pero no tan eficiente.

Parámetros

str1

Uno de los strings a ser evaluados para la distancia Levenshtein.

str2

Uno de los strings a ser evaluados para la distancia Levenshtein.

cost_ins

Define el costo de inserción.

cost_rep

Define el costo de reemplazo.

cost_del

Define el costo de eliminación.

Valores devueltos

Esta función devuelve la distancia Levenshtein entre los dos strings argumentos ó -1, si uno de los strings argumentos es mayor que el límite de 255 caracteres.

Ejemplos

Ejemplo #1 Ejemplo de levenshtein()

<?php
// palabra de entrada mal escrita
$input = 'carrrot';

// array de palabras contra las cuales verificar
$words  = array('apple','pineapple','banana','orange',
                'radish','carrot','pea','bean','potato');

// no se ha encontrado la distancia más corta, aun
$shortest = -1;

// bucle a través de las palabras para encontrar la más cercana
foreach ($words as $word) {

    // calcula la distancia entre la palabra de entrada
    // y la palabra actual
    $lev = levenshtein($input, $word);

    // verifica por una coincidencia exacta
    if ($lev == 0) {

        // la palabra más cercana es esta (coincidencia exacta)
        $closest = $word;
        $shortest = 0;

        // salir del bucle, se ha encontrado una coincidencia exacta
        break;
    }

    // si esta distancia es menor que la siguiente distancia
    // más corta o si una siguiente palabra más corta aun no se ha encontrado
    if ($lev <= $shortest || $shortest < 0) {
        // establece la coincidencia más cercana y la distancia más corta
        $closest  = $word;
        $shortest = $lev;
    }
}

echo "Input word: $input\n";
if ($shortest == 0) {
    echo "Exact match found: $closest\n";
} else {
    echo "Did you mean: $closest?\n";
}

?>

El resultado del ejemplo sería:

Input word: carrrot
Did you mean: carrot?

Ver también

  • soundex() - Calcula la clave soundex de un string
  • similar_text() - Calcula la similitud entre dos strings
  • metaphone() - Calcula la clave metaphone de un string

lcfirst
localeconv
Funciones de strings


Obtener información sobre el formato numérico

levenshtein
ltrim
Funciones de strings
PHP Manual

localeconv

(PHP 4 >= 4.0.5, PHP 5)

localeconv — Obtener información sobre el formato numérico

Descripción

array localeconv ( void )

Devuelve una matriz asociativa que contiene información de los formatos numérico y monetario, localizados.

Valores devueltos

localeconv() devuelve información basada en la localidad actual, tal y como haya sido definida mediante setlocale(). La matriz asociativa que devuelve contiene los siguientes campos:

Elemento de la matriz | Descripción
decimal_point | Caracter de punto decimal
thousands_sep | Separador de miles
grouping | Matriz que contiene agrupaciones numéricas
int_curr_symbol | Símbolo internacional de moneda (i.e. USD)
currency_symbol | Símbolo local de moneda (i.e. $)
mon_decimal_point | Caracter de punto decimal monetario
mon_thousands_sep | Separador de miles monetario
mon_grouping | Matriz que contiene agrupaciones de moneda
positive_sign | Signo para valores positivos
negative_sign | Signo para valores negativos
int_frac_digits | Dígitos fraccionarios internacionales
frac_digits | Dígitos fraccionarios locales
p_cs_precedes | TRUE si currency_symbol precede un valor positivo, FALSE si lo sucede
p_sep_by_space | TRUE si un espacio separa currency_symbol de un valor positivo, FALSE de lo contrario
n_cs_precedes | TRUE si currency_symbol precede un valor negativo, FALSE si lo sucede
n_sep_by_space | TRUE si un espacio separa currency_symbol de un valor negativo, FALSE de lo contrario
p_sign_posn
  • 0 - Paréntesis rodean la cantidad y currency_symbol
  • 1 - La cadena de signo precede la cantidad y currency_symbol
  • 2 - La cadena de signo sucede la cantidad y currency_symbol
  • 3 - La cadena de signo precede inmediatamente currency_symbol
  • 4 - La cadena de signo sucede inmediatamente currency_symbol
n_sign_posn
  • 0 - Paréntesis rodean la cantidad y currency_symbol
  • 1 - La cadena de signo precede la cantidad y currency_symbol
  • 2 - La cadena de signo sucede la cantidad y currency_symbol
  • 3 - La cadena de signo precede inmediatamente currency_symbol
  • 4 - La cadena de signo sucede inmediatamente currency_symbol

Los valores de p_sign_posn y n_sign_posn contienen una cadena de opciones de formato. Cada número representa una de las condiciones listadas anteriormente.

Los campos de agrupamiento contienen matrices que definen el modo en que los números deben ser agrupados. Por ejemplo, el campo de agrupamiento monetario para la localidad nl_NL (en modo UTF-8 con el signo de euro), tendría una matriz de 2 elementos con los valores 3 y 3. Entre más alto sea el índice dentro de la matriz, lo más lejos hacia la izquierda se encuentra el agrupamiento. Si un elemento de la matriz es igual a CHAR_MAX, no se realiza ningún agrupamiento posterior. Si un elemento de la matriz es igual a 0, el elemento anterior deberá ser usado.

Ejemplos

Ejemplo #1 Ejemplo de localeconv()

<?php
if (false !== setlocale(LC_ALL, 'nl_NL.UTF-8@euro')) {
    $info_localidad = localeconv();
    print_r($info_localidad);
}
?>

El resultado del ejemplo sería:

Array
(
    [decimal_point] => .
    [thousands_sep] =>
    [int_curr_symbol] => EUR
    [currency_symbol] => €
    [mon_decimal_point] => ,
    [mon_thousands_sep] =>
    [positive_sign] =>
    [negative_sign] => -
    [int_frac_digits] => 2
    [frac_digits] => 2
    [p_cs_precedes] => 1
    [p_sep_by_space] => 1
    [n_cs_precedes] => 1
    [n_sep_by_space] => 1
    [p_sign_posn] => 1
    [n_sign_posn] => 2
    [grouping] => Array
        (
        )

    [mon_grouping] => Array
        (
            [0] => 3
            [1] => 3
        )

)

Ver también

  • setlocale() - Establecer la información de la configuración regional

levenshtein
ltrim
Funciones de strings


Retira espacios en blanco (u otros caracteres) del inicio de un string

localeconv
md5_file
Funciones de strings
PHP Manual

ltrim

(PHP 4, PHP 5)

ltrim — Retira espacios en blanco (u otros caracteres) del inicio de un string

Descripción

string ltrim ( string $str [, string $charlist ] )

Retira espacios en blanco (u otros caracteres) del inicio de un string.

Parámetros

str

El string de entrada.

charlist

Se puede también especificar los caracteres que se desean retirar por medio del parámetro charlist. Simplemente se listan todos los caracteres que se quieren retirar. Con .. se puede especificar un rango de caracteres.

Valores devueltos

Esta función devuelve un string con los espacios en blanco retirados del inicio de str. Sin el segundo parámetro, ltrim() retirará estos caracteres:

  • " " (ASCII 32 (0x20)), un espacio ordinario.
  • "\t" (ASCII 9 (0x09)), un tabulador.
  • "\n" (ASCII 10 (0x0A)), una nueva línea (line feed).
  • "\r" (ASCII 13 (0x0D)), un retorno de carro.
  • "\0" (ASCII 0 (0x00)), el byte NULL.
  • "\x0B" (ASCII 11 (0x0B)), un tabulador vertical.

Historial de cambios

Versión | Descripción
4.1.0 | Fue agregado el parámetro charlist.

Ejemplos

Ejemplo #1 Ejemplo de uso de ltrim()

<?php

$text = "\t\tThese are a few words :) ...  ";
$binary = "\x09Example string\x0A";
$hello  = "Hello World";
var_dump($text, $binary, $hello);

print "\n";

$trimmed = ltrim($text);
var_dump($trimmed);

$trimmed = ltrim($text, " \t.");
var_dump($trimmed);

$trimmed = ltrim($hello, "Hdle");
var_dump($trimmed);

// retira los caracteres ASCII de control al inicio de $binary
// (de 0 a 31 inclusive)
$clean = ltrim($binary, "\x00..\x1F");
var_dump($clean);

?>

El resultado del ejemplo sería:

string(32) "        These are a few words :) ...  "
string(16) "    Example string
"
string(11) "Hello World"

string(30) "These are a few words :) ...  "
string(30) "These are a few words :) ...  "
string(7) "o World"
string(15) "Example string
"

Ver también

  • trim() - Elimina espacio en blanco (u otro tipo de caracteres) del inicio y el final de la cadena
  • rtrim() - Retira los espacios en blanco (u otros caracteres) del final de un string

localeconv
md5_file
Funciones de strings


Calcula el resumen criptográfico md5 de un archivo dado

ltrim
md5
Funciones de strings
PHP Manual

md5_file

(PHP 4 >= 4.2.0, PHP 5)

md5_file — Calcula el resumen criptográfico md5 de un archivo dado

Descripción

string md5_file ( string $filename [, bool $raw_output = false ] )

Calcula el resumen criptográfico MD5 del archivo especificado por el parámetro filename usando el » Algoritmo de resumen de mensajes MD5 de RSA Data Security, Inc., y devuelve ese resumen. El resumen criptográfico es un número hexadecimal de 32 caracteres.

Parámetros

nombre_archivo

El nombre de archivo

raw_output

Cuando es TRUE, devuelve el resumen en un formato binario primitivo con una longitud de 16.

Valores devueltos

Devuelve una cadena en caso de éxito, FALSE de lo contrario.

Historial de cambios

Versión | Descripción
5.1.0 | Se modificó la función para usar la API de secuencias. Esto quiere decir que se puede usar con envolturas, como md5_file('http://example.com/..')
5.0.0 | Se agregó el parámetro raw_output

Ejemplos

Ejemplo #1 Ejemplo de uso de md5_file()

<?php
$file = 'php-5.3.0alpha2-Win32-VC9-x64.zip';

echo 'MD5 file hash of ' . $file . ': ' . md5_file($file);
?>

Ver también

  • md5() - Calcula el hash md5 de un string
  • sha1_file() - Calcula el hash sha1 de un archivo
  • crc32() - Calcula el polinomio crc32 de una cadena

ltrim
md5
Funciones de strings


Calcula el hash md5 de un string

md5_file
metaphone
Funciones de strings
PHP Manual

md5

(PHP 4, PHP 5)

md5 — Calcula el hash md5 de un string

Descripción

string md5 ( string $str [, bool $raw_output = false ] )

Calcula el hash MD5 de str utilizando el » algoritmo de resumen de mensaje MD5 de RSA Data Security, Inc. y devuelve ese hash.

Parámetros

str

El string.

raw_output

Si se establece el raw_output opcional en TRUE, entonces el resumen md5 será devuelto en formato binario sin tratar con una longitud de 16.

Valores devueltos

Devuelve el hash como un número hexadecimal de 32 caracteres.

Historial de cambios

Versión | Descripción
5.0.0 | Fue agregado el parámetro raw_output.

Ejemplos

Ejemplo #1 Ejemplo de md5()

<?php
$str = 'apple';

if (md5($str) === '1f3870be274f6c49b3e31a0c6728957f') {
    echo "Would you like a green or red apple?";
}
?>

Notas

Nota: Hash seguro de contraseñas

Dada la velocidad de este algoritmo de hash, se recomienda no utilizar esta función para proteger las contraeñas. Para más información, revise aquí.

Ver también

  • md5_file() - Calcula el resumen criptográfico md5 de un archivo dado
  • sha1_file() - Calcula el hash sha1 de un archivo
  • crc32() - Calcula el polinomio crc32 de una cadena
  • sha1() - Calcula el hash sha1 de un string
  • hash() - Genera un valor cifrado en base a un string

md5_file
metaphone
Funciones de strings


Calcula la clave metaphone de un string

md5
money_format
Funciones de strings
PHP Manual

metaphone

(PHP 4, PHP 5)

metaphone — Calcula la clave metaphone de un string

Descripción

string metaphone ( string $str [, int $phonemes = 0 ] )

Calcula la clave metaphone de str.

De manera similar a soundex(), metaphone crea la misma clave para palabras que suenan parecido. Es más precisa que soundex() ya que conoce las reglas básicas de la pronunciación del inglés. Las claves generadas por metaphone son de longitud variable.

Metaphone fue desarrollado por Lawrence Philips <lphilips at verity dot com>. Se describe en ["Practical Algorithms for Programmers", Binstock & Rex, Addison Wesley, 1995].

Parámetros

str

El string de entrada.

phonemes

Este parámetro restringe la clave devuelta por metaphone a lo indicado en phonemes en caracteres de longitud. El valor por defecto es 0 lo que significa que no hay restricción

Valores devueltos

Devuelve la clave metaphone un string, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo básico de metaphone()

<?php
var_dump(metaphone('programming'));
var_dump(metaphone('programmer'));
?>

El resultado del ejemplo sería algo similar a:

string(7) "PRKRMNK"
string(6) "PRKRMR"

Ejemplo #2 Utilizando el parámetro phonemes

<?php
var_dump(metaphone('programming', 5));
var_dump(metaphone('programmer', 5));
?>

El resultado del ejemplo sería algo similar a:

string(5) "PRKRM"
string(5) "PRKRM"

md5
money_format
Funciones de strings


Da formato a un número como un string de moneda

metaphone
nl_langinfo
Funciones de strings
PHP Manual

money_format

(PHP 4 >= 4.3.0, PHP 5)

money_format — Da formato a un número como un string de moneda

Descripción

string money_format ( string $format , float $number )

money_format() devuelve una versión de number con formato. Esta función se ajusta a la función strfmon() de la librería de C, con la diferencia de que esta aplicación convierte sólo un número a la vez.

Parámetros

format

La especificación del formato se compone de la siguiente secuencia:

  • un caracter %

  • indicadores opcionales

  • ancho de campo opcional

  • precisión a la izquierda opcional

  • precisión a la derecha opcional

  • un caracter de conversión obligatorio

Indicadores

Uno o más de los siguientes indicadores opcionales pueden ser utilizados:

=f

El caracter = seguido de un caracter f (byte único) que se utilizará como el caracter de relleno numérico. El carácter de relleno por defecto es el espacio.

^

Deshabilita el uso de caracteres de agrupamiento (según la definición de la configuración regional actual).

+ o (

Especifica el estilo de formato para los números positivos y negativos. Si se utiliza +, el equivalente de la configuración regional para + y - será usado. Si se utiliza (, las cantidades negativas serán encerradas entre paréntesis. Si no se da ninguna especificación, el valor por defecto es +.

!

Suprime el símbolo de moneda del string producido.

-

Si está presente, hará todos los campos justificados a la izquierda (con relleno a la derecha), contrario al valor por defecto que es para que los campos se justifiquen a la derecha (con relleno a la izquierda).

Ancho de campo

w

Un string de dígito decimal que especifica un ancho mínimo de campo. El campo será justificado a la derecha a menos que el indicador - sea utilizado. El valor por defecto es 0 (cero).

Precisión a la izquierda

#n

El número máximo de dígitos (n) que se espera a la izquierda del caracter decimal (por ejemplo, el punto decimal). Es utilizado generalmente para mantener la salida con formato alineada en las mismas columnas, usando el caracter de relleno si el número de dígitos sea menor que n. Si el número de dígitos real es mayor que n, entonces esta especificación es ignorada.

Si la agrupación no ha sido suprimida mediante el indicador ^, los separadores de agrupamiento serán insertados antes de que los caracteres de relleno (si los hay) sean agregados. Los separadores de agrupamiento no se aplicarán a los caracteres de relleno, aunque el carácter de relleno sea un dígito.

Para asegurar la alineación, cualquier caracter que aparezca antes o después del número en la salida con formato, tales como símbolos de moneda o de signo, son rellenados cuando sea necesario con caracteres de espacio para hacer sus formatos positivos y negativos de una longitud igual.

Precisión a la derecha

.p

Un punto seguido por el número de dígitos (p) después del carácter decimal. Si el valor de p es 0 (cero), el carácter decimal y los dígitos a su derecha serán omitidos. Si no se incluye la precisión al la derecha, el valor por defecto será dictado por la configuración regional actual en uso. La cantidad que se está formateando se redondea al número especificado de dígitos antes de formatearla.

Conversion characters

i

El número se formatea de acuerdo al formato internacional de moneda de la configuración regional (por ejemplo, para la configuración regional de EE.UU.: USD $ 1,234.56).

n

El número se formatea de acuerdo al formato nacional de moneda de la configuración regional (por ejemplo, para la configuración regional de_DE: EU1.234,56).

%

Devuelve el caracter %.

number

El número a ser formateado.

Valores devueltos

Devuelve el string con formato. Los caracteres antes y después del string de formato se devolverán sin cambios. Un number no numérico causa que se devuelva NULL y se emite un E_WARNING.

Notas

Nota:

La función money_format() sólo está definida si el sistema tiene capacidad strfmon. Por ejemplo, Windows no lo hace, así que money_format() no está definido en Windows.

Nota:

La categoría LC_MONETARY de la configuración regional, afecta el comportamiento de esta función. Utilizar setlocale() para establecer la configuración regional predeterminada apropiada antes de usar esta función.

Ejemplos

Ejemplo #1 Ejemplos de money_format()

Se utilizan diferentes configuraciones regionales y especificaciones de formato para ilustrar el uso de esta función.

<?php

$number = 1234.56;

// muestra el formato internacional para la configuración regional en_US
setlocale(LC_MONETARY, 'en_US');
echo money_format('%i', $number) . "\n";
// USD 1,234.56

// formato nacional italiano con 2 decimales`
setlocale(LC_MONETARY, 'it_IT');
echo money_format('%.2n', $number) . "\n";
// Eu 1.234,56

// utilizando un número negativo
$number = -1234.5672;

// formato nacional US, utilizando () para los números negativos
// y 10 dígitos de precisión a la izquierda
setlocale(LC_MONETARY, 'en_US');
echo money_format('%(#10n', $number) . "\n";
// ($        1,234.57)

// formato similar que el anterior, agregando el uso de 2 dígitos de precisión
// a la derecha y '*' como caracter de relleno
echo money_format('%=*(#10.2n', $number) . "\n";
// ($********1,234.57)

// justificado a la izquierda, con 14 posiciones de ancho, 8 dígitos de
// precisión a la izquierda, 2 de precisión a la derecha, sin caracter de agrupamiento
// y utilizando el formato internacional para la configuración regional de_DE.
setlocale(LC_MONETARY, 'de_DE');
echo money_format('%=*^-14#8.2i', 1234.56) . "\n";
// Eu 1234,56****

// añadir un poco de propaganda antes y después los especificación de conversión
setlocale(LC_MONETARY, 'en_GB');
$fmt = 'The final value is %i (after a 10%% discount)';
echo money_format($fmt, 1234.56) . "\n";
// The final value is  GBP 1,234.56 (after a 10% discount)

?>

Ver también

  • setlocale() - Establecer la información de la configuración regional
  • sscanf() - Interpreta un string de entrada de acuerdo con un formato
  • sprintf() - Devuelve un string formateado
  • printf() - Imprimir una cadena con formato
  • number_format() - Formatear un número con los miles agrupados

metaphone
nl_langinfo
Funciones de strings


Consulta información sobre el idioma y la configuración regional

money_format
nl2br
Funciones de strings
PHP Manual

nl_langinfo

(PHP 4 >= 4.1.0, PHP 5)

nl_langinfo — Consulta información sobre el idioma y la configuración regional

Descripción

string nl_langinfo ( int $item )

nl_langinfo() se utiliza para acceder elementos individuales de las categorías de la configuración regional. A diferencia de localeconv(), que devuelve todos los elementos, nl_langinfo() permite seleccionar cualquier elemento específico.

Parámetros

item

item puede ser un valor integer del elemento o el nombre de la constante del elemento. La siguiente es una lista de los nombres de las constantes que pueden ser utilizadas para item y su descripción. Algunas de estas constantes pueden no estar definidas o no tienen valor para ciertas configuraciones regionales.

Constantes de nl_langinfo
Constante | Descripción
Constantes de la Categoría LC_TIME
ABDAY_(1-7) | Nombre abreviado del día n-ésimo de la semana.
DAY_(1-7) | Nombre del día n-ésimo de la semana (DAY_1 = domingo).
ABMON_(1-12) | Nombre abreviado del mes n-ésimo del año.
MON_(1-12) | Nombre del mes n-ésimo del año.
AM_STR | String para ante meridiano.
PM_STR | String para post meridiano.
D_T_FMT | String que puede ser usado como el string de formato de strftime() para representar la hora y fecha.
D_FMT | String que puede ser usado como el string de formato de strftime() para representar la fecha.
T_FMT | String que puede ser usado como el string de formato de strftime() para representar la hora.
T_FMT_AMPM | String que puede ser usado como el string de formato de strftime() para representar la hora en formato de 12 horas con el ante/post meridiano.
ERA | Era alterna.
ERA_YEAR | Año en formato de era alterna.
ERA_D_T_FMT | Fecha y hora en formato de era alterna (el string se puede utilizar en strftime()).
ERA_D_FMT | Fecha en formato de era alterna (el string se puede utilizar en strftime()).
ERA_T_FMT | Hora en formato de era alterna (el string se puede utilizar en strftime()).
Constantes de la Categoría LC_MONETARY
INT_CURR_SYMBOL | Símbolo internacional de moneda.
CURRENCY_SYMBOL | Símbolo local de moneda.
CRNCYSTR | El mismo valor que CURRENCY_SYMBOL.
MON_DECIMAL_POINT | Caracter de punto decimal.
MON_THOUSANDS_SEP | Separador de miles (grupos de tres dígitos).
MON_GROUPING | Como el elemento "grouping".
POSITIVE_SIGN | Signo para valores positivos.
NEGATIVE_SIGN | Signo para valores negativos.
INT_FRAC_DIGITS | Dígitos fraccionarios internacionales.
FRAC_DIGITS | Dígitos fraccionarios locales.
P_CS_PRECEDES | Devuelve 1 si CURRENCY_SYMBOL precede a un valor positivo.
P_SEP_BY_SPACE | Devuelve 1 si un espacio separa CURRENCY_SYMBOL de un valor positivo.
N_CS_PRECEDES | Devuelve 1 si CURRENCY_SYMBOL precede a un valor negativo.
N_SEP_BY_SPACE | Devuelve 1 si un espacio separa CURRENCY_SYMBOL de un valor negativo.
P_SIGN_POSN
  • Devuelve 0 si hay paréntesis alrededor de la cantidad y CURRENCY_SYMBOL.
  • Devuelve 1 si el string de signo precede la cantidad y CURRENCY_SYMBOL.
  • Devuelve 2 si el string de signo sigue a la cantidad y CURRENCY_SYMBOL.
  • Devuelve 3 si el string de signo precede inmediatamente al CURRENCY_SYMBOL.
  • Devuelve 4 si el string de signo sigue inmediatamente al CURRENCY_SYMBOL.
N_SIGN_POSN
Constantes de la Categoría LC_NUMERIC
DECIMAL_POINT | Caracter de punto decimal.
RADIXCHAR | Mismo valor que DECIMAL_POINT.
THOUSANDS_SEP | Caracter separador de miles (grupos de tres dígitos).
THOUSEP | Mismo valor que THOUSANDS_SEP.
GROUPING
Constantes de la Categoría LC_MESSAGES
YESEXPR | String de expresión regular para coincidir con la entrada "yes".
NOEXPR | String de expresión regular para coincidir con la entrada "no".
YESSTR | String de salida para "yes".
NOSTR | String de salida para "no".
Constantes de la Categoría LC_CTYPE
CODESET | Devuelve un string con el nombre de la codificación de caracteres.

Valores devueltos

Devuelve el elemento como un string, o FALSE si item no es válido.

Notas

Nota: Esta función no está implementada en plataformas Windows.

Ver también

  • setlocale() - Establecer la información de la configuración regional
  • localeconv() - Obtener información sobre el formato numérico

money_format
nl2br
Funciones de strings


Inserta saltos de línea HTML antes de todas las nuevas líneas de un string

nl_langinfo
number_format
Funciones de strings
PHP Manual

nl2br

(PHP 4, PHP 5)

nl2br — Inserta saltos de línea HTML antes de todas las nuevas líneas de un string

Descripción

string nl2br ( string $string [, bool $is_xhtml = true ] )

Devuelve el parámetro string con un '<br />' o '<br>' insertado antes de cada nueva línea. (\r\n, \n\r, \n y \r).

Parámetros

string

El string de entrada.

is_xhtml

Si utilizar saltos de línea compatibles con XHTML o no.

Valores devueltos

Devuelve el string alterado.

Ejemplos

Ejemplo #1 Usar nl2br()

<?php
echo nl2br("foo no es\n bar");
?>

El resultado del ejemplo sería:

foo no es<br />
 bar

Ejemplo #2 Generar marcado HTML válido utilizando el parámetro is_xhtml

<?php
echo nl2br("Bienvenido\r\nEste es mi documento HTML", false);
?>

El resultado del ejemplo sería:

Bienvenido<br>
Este es mi documento HTML

Ejemplo #3 Varios separadores de nueva línea

<?php
$cadena = "Esto\r\nes\n\runa\ncadena\r";
echo nl2br($cadena);
?>

El resultado del ejemplo sería:

Esto<br />
es<br />
una<br />
cadena<br />

Historial de cambios

Versión | Descripción
5.3.0 | Se agregó el parámetro opcional is_xhtml.
4.0.5 | nl2br() es ahora compatible con XHTML. Todas las versiones enteriores devolverán un string con un '<br>' insertado antes de las nuevas líneas, en lugar de '<br />'.

Ver también

  • htmlspecialchars() - Convierte caracteres especiales en entidades HTML
  • htmlentities() - Convierte todos los caracteres aplicables a entidades HTML
  • wordwrap() - Ajusta un string hasta un número dado de caracteres
  • str_replace() - Reemplaza todas las apariciones del string buscado con el string de reemplazo

nl_langinfo
number_format
Funciones de strings


Formatear un número con los miles agrupados

nl2br
ord
Funciones de strings
PHP Manual

number_format

(PHP 4, PHP 5)

number_format — Formatear un número con los miles agrupados

Descripción

string number_format ( float $number [, int $decimals = 0 ] )
string number_format ( float $number , int $decimals = 0 , string $dec_point = '.' , string $thousands_sep = ',' )

Esta función acepta uno, dos, o cuatro parámetros (no tres):

Si solo pasamos un parámetro, number será formateado sin decimales, pero con una coma (",") entre el grupo de miles.

Si pasamos dos parámetros, number será formateado con tantos decimales como hayamos definido en decimals colocando un punto (".") delante, y una coma (",") entre el grupo de miles.

Si damos valor a los cuatro parámetros, number será formateado con tantos decimales como hayamos definido en decimals, dec_point sustituirá al punto (".") como seperador de los decimales y el separador por defecto de los miles, la coma (","), será sustituida por thousands_sep.

Parámetros

number

El número al que queremos dar formato.

decimals

Establece el número de puntos decimales.

dec_point

Establece el separador para los decimales.

thousands_sep

Establece el separador para los miles.

Valores devueltos

Versión formateada de number.

Historial de cambios

Versión | Descripción
5.4.0 | Esta función ahora soporta múltiples bytes en dec_point y thousands_sep. Solamente el primer byte de cada separador era utilizado en versiones anteriores.

Ejemplos

Ejemplo #1 Ejemplo de number_format()

Para este ejemplo, la notación francesa suele utilizar dos decimales, una coma (',') como separador decimal y el espacio ('') como separador de miles. Veamos como se consigue esto mediante las siguientes líneas:

<?php

$number = 1234.56;

// notación inglesa (por defecto)
$english_format_number = number_format($number);
// 1,235

// notación inglesa con 3 decimales
$english_format_number2 = number_format($number, 3);
// 1,235.560

// notación francesa
$nombre_format_francais = number_format($number, 2, ',', ' ');
// 1 234,56

$number = 1234.5678;

// english notation without thousands seperator
$english_format_number = number_format($number, 2, '.', '');
// 1234.57

?>

Ver también

  • money_format() - Da formato a un número como un string de moneda
  • sprintf() - Devuelve un string formateado
  • printf() - Imprimir una cadena con formato
  • sscanf() - Interpreta un string de entrada de acuerdo con un formato

nl2br
ord
Funciones de strings


devuelve el valor ASCII de una caracter

number_format
parse_str
Funciones de strings
PHP Manual

ord

(PHP 4, PHP 5)

ord — devuelve el valor ASCII de una caracter

Descripción

int ord ( string $string )

Devuelve el valor ASCII del primer carácter de la string.

Esta funcion Complementa a chr().

Parámetros

string

Un caracter.

Valores devueltos

Devuelve el valor ASCII de un entero.

Ejemplos

Ejemplo #1 ord() ejemplo

<?php
$str = "\n";
if (ord($str) == 10) {
    echo "El primer caracter de \$str es un salto de linea.\n";
}
?>

Ver también

  • chr() - Devuelve un caracter específico
  • Un » ASCII-table

number_format
parse_str
Funciones de strings


Interpreta el string en variables

ord
print
Funciones de strings
PHP Manual

parse_str

(PHP 4, PHP 5)

parse_str — Interpreta el string en variables

Descripción

void parse_str ( string $str [, array &$arr ] )

Interpreta str como si fuera un string de consulta pasado por medio de una URL y establece variables en el ámbito actual.

Nota:

Para obtener el QUERY_STRING actual, se puede utilizar la variable $_SERVER['QUERY_STRING']. También se puede consultar la sección sobre variables a partir de fuentes externas.

Nota:

La configuración magic_quotes_gpc afecta la salida de esta función, ya que parse_str() usa el mismo mecanismo que PHP utiliza para poblar las variables $_GET, $_POST, etc.

Parámetros

str

El string de entrada.

arr

Si el segundo parámetro arr está presente, es su lugar las variables serán almacenadas en esta variable como elementos de array.

Valores devueltos

No devuelve ningún valor.

Historial de cambios

Versión | Descripción
4.0.3 | Fue agregado el parámetro arr.

Ejemplos

Ejemplo #1 Utilizando parse_str()

<?php
$str = "first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str);
echo $first;  // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz

parse_str($str, $output);
echo $output['first'];  // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz

?>

Ver también

  • parse_url() - Analiza una URL y devolver sus componentes
  • pathinfo() - Devuelve información acerca de la ruta de un fichero
  • http_build_query() - Generar una cadena de consulta codificada estilo URL
  • get_magic_quotes_gpc() - Obtiene el valor actual de configuración de magic_quotes_gpc
  • urldecode() - Decodifica una cadena cifrada como URL

ord
print
Funciones de strings


Mostrar una cadena

parse_str
printf
Funciones de strings
PHP Manual

print

(PHP 4, PHP 5)

print — Mostrar una cadena

Descripción

int print ( string $arg )

Muestra el parámetro arg.

print no es realmente una función (es un constructor de lenguaje) por lo tanto no es necesario usar paréntesis para indicar su lista de argumentos.

Parámetros

arg

Los datos de entrada.

Valores devueltos

Siempre devuelve 1.

Ejemplos

Ejemplo #1 Ejemplos de print

<?php
print("Hola mundo");

print "print() también funciona sin paréntesis.";

print "Esto separa
múltiples líneas. Los saltos de línea también
se mostrarán";

print "Esto separa\nmúltiples líneas. Los salos de línea también\nse mostrarán.";

print "para escapar caracteres se \"hace así\".";

// También se puede usar variables usando print
$foo = "foobar";
$bar = "barbaz";

print "foo es $foo"; // foo es foobar

// También se pueden usar arrays
$bar = array("value" => "foo");

print "Esto es {$bar['value']} !"; // Esto es foo !

// Al usar comillas simples se mostrará el nombre de la variable, no su valor
print 'foo is $foo'; // foo is $foo

// Si no se necesita mostrar otros caracteres, se puede simplemente mostrar variables
print $foo;          // foobar

print <<<END
Este párrafo utiliza la sintaxis "here document" para mostrar
múltiples líneas con la interpolación de $variable. Nótese
que el terminador de here document debe aparecer al final
de la línea con punto y coma y ¡ningún espacio en blanco extra!
END;
?>

Notas

Nota: Puesto que esto es una construcción del lenguaje y no una función, no puede ser llamada usando funciones variables.

Ver también

  • echo - Muestra una o más cadenas
  • printf() - Imprimir una cadena con formato
  • flush() - Vaciar el búfer de salida
  • Sintaxis de Heredoc

parse_str
printf
Funciones de strings


Imprimir una cadena con formato

print
quoted_printable_decode
Funciones de strings
PHP Manual

printf

(PHP 4, PHP 5)

printf — Imprimir una cadena con formato

Descripción

int printf ( string $format [, mixed $args [, mixed $... ]] )

Produce una salida de acuerdo con el format.

Parámetros

format

Vea sprintf() para una descripción de format.

args

...

Valores devueltos

Devuelve la longitud de la cadena impresa.

Ver también

  • print - Mostrar una cadena
  • sprintf() - Devuelve un string formateado
  • vprintf() - Muestra una cadena con formato
  • sscanf() - Interpreta un string de entrada de acuerdo con un formato
  • fscanf() - Analiza la entrada desde un archivo de acuerdo a un formato
  • flush() - Vaciar el búfer de salida

print
quoted_printable_decode
Funciones de strings


Convierte un string quoted-printable en un string de 8 bits

printf
quoted_printable_encode
Funciones de strings
PHP Manual

quoted_printable_decode

(PHP 4, PHP 5)

quoted_printable_decode — Convierte un string quoted-printable en un string de 8 bits

Descripción

string quoted_printable_decode ( string $str )

Esta función devuelve un string binario de 8 bits que corresponde al string quoted printable decodificado (de acuerdo con el » RFC2045, sección 6.7, no el » RFC2821, sección 4.5.2, así que puntos adicionales no son retirados del principio de línea).

Esta función es similar a imap_qprint(), excepto que no requiere del módulo IMAP para funcionar.

Parámetros

str

El string de entrada.

Valores devueltos

Devuelve el string binario de 8 bits.

Ver también

  • quoted_printable_encode() - Convierte un string de 8 bits en un string quoted-printable

printf
quoted_printable_encode
Funciones de strings


Convierte un string de 8 bits en un string quoted-printable

quoted_printable_decode
quotemeta
Funciones de strings
PHP Manual

quoted_printable_encode

(PHP 5 >= 5.3.0)

quoted_printable_encode — Convierte un string de 8 bits en un string quoted-printable

Descripción

string quoted_printable_encode ( string $str )

Devuelve un string quoted printable creado de acuerdo con su definición en » RFC2045, sección 6.7.

Esta función es similar a imap_8bit(), excepto que no requiere el módulo IMAP para funcionar.

Parámetros

str

El string de entrada.

Valores devueltos

Devuelve el string codificado.

Ver también

  • quoted_printable_decode() - Convierte un string quoted-printable en un string de 8 bits
  • iconv_mime_encode() - Compone un campo de cabecera MIME

quoted_printable_decode
quotemeta
Funciones de strings


Escapa meta caracteres

quoted_printable_encode
rtrim
Funciones de strings
PHP Manual

quotemeta

(PHP 4, PHP 5)

quotemeta — Escapa meta caracteres

Descripción

string quotemeta ( string $str )

Devuelve una versión de str con una barra invertida (\) antes de cada caracter que sea uno de los siguientes:

. \ + * ? [ ^ ] ( $ )

Parámetros

str

El string de entrada.

Valores devueltos

Devuelve el string con los meta caracteres escapados o FALSE si un string vacío es dado como str.

Notas

Nota: Esta función es segura binariamente.

Ver también

  • addslashes() - Escapa un string con barras invertidas
  • addcslashes() - Escapa una cadena al estilo de C
  • htmlentities() - Convierte todos los caracteres aplicables a entidades HTML
  • htmlspecialchars() - Convierte caracteres especiales en entidades HTML
  • nl2br() - Inserta saltos de línea HTML antes de todas las nuevas líneas de un string
  • stripslashes() - Quita las barras de un string con comillas escapadas
  • stripcslashes() - Desmarca la cadena marcada con addcslashes
  • ereg() - Comparación de una expresión regular
  • preg_quote() - Escapar caracteres en una expresión regular

quoted_printable_encode
rtrim
Funciones de strings


Retira los espacios en blanco (u otros caracteres) del final de un string

quotemeta
setlocale
Funciones de strings
PHP Manual

rtrim

(PHP 4, PHP 5)

rtrim — Retira los espacios en blanco (u otros caracteres) del final de un string

Descripción

string rtrim ( string $str [, string $charlist ] )

Esta función devuelve un string con los espacios en blanco retirados del final de str.

Sin el segundo parámetro, rtrim() retirará estos caracteres:

  • " " (ASCII 32 (0x20)), un espacio ordinario.
  • "\t" (ASCII 9 (0x09)), un tabulador.
  • "\n" (ASCII 10 (0x0A)), una nueva línea (line feed).
  • "\r" (ASCII 13 (0x0D)), un retorno de carro.
  • "\0" (ASCII 0 (0x00)), el byte NULL.
  • "\x0B" (ASCII 11 (0x0B)), un tabulador vertical.

Parámetros

str

El string de entrada.

charlist

Se puede también especificar los caracteres que se desean retirar por medio del parámetro charlist. Simplemente se listan todos los caracteres que se quieren retirar. Con .. se puede especificar un rango de caracteres.

Valores devueltos

Devuelve el string modificado.

Historial de cambios

Versión | Descripción
4.1.0 | Fue agregado el parámetro charlist.

Ejemplos

Ejemplo #1 Ejemplo de uso de rtrim()

<?php

$text = "\t\tThese are a few words :) ...  ";
$binary = "\x09Example string\x0A";
$hello  = "Hello World";
var_dump($text, $binary, $hello);

print "\n";

$trimmed = rtrim($text);
var_dump($trimmed);

$trimmed = rtrim($text, " \t.");
var_dump($trimmed);

$trimmed = rtrim($hello, "Hdle");
var_dump($trimmed);

// retira los caracteres ASCII de control al inicio de $binary
// (de 0 a 31 inclusive)
$clean = rtrim($binary, "\x00..\x1F");
var_dump($clean);

?>

El resultado del ejemplo sería:

string(32) "        These are a few words :) ...  "
string(16) "    Example string
"
string(11) "Hello World"

string(30) "        These are a few words :) ..."
string(26) "        These are a few words :)"
string(9) "Hello Wor"
string(15) "    Example string"

Ver también

  • trim() - Elimina espacio en blanco (u otro tipo de caracteres) del inicio y el final de la cadena
  • ltrim() - Retira espacios en blanco (u otros caracteres) del inicio de un string

quotemeta
setlocale
Funciones de strings


Establecer la información de la configuración regional

rtrim
sha1_file
Funciones de strings
PHP Manual

setlocale

(PHP 4, PHP 5)

setlocale — Establecer la información de la configuración regional

Descripción

string setlocale ( int $category , string $locale [, string $... ] )
string setlocale ( int $category , array $locale )

Establece la información de la configuración regional.

Parámetros

category

category es una constante con nombre que especifica la categoría de las funciones afectadas por la configuración regional:

  • LC_ALL para todos los siguientes
  • LC_COLLATE para la comparación de strings, ver strcoll()
  • LC_CTYPE para la clasificación y conversión de caracteres, por ejemplo strtoupper()
  • LC_MONETARY para localeconv()
  • LC_NUMERIC para el separador decimal (ver también localeconv())
  • LC_TIME para el formato de fecha y hora con strftime()
  • LC_MESSAGES para las respuestas del sistema (disponible si PHP fue compilado con libintl)

locale

Si locale es NULL o el string vacío "", los nombres de configuración regional se establecerán a partir de los valores de las variables de entorno con los mismos nombres que las categorías anteriores o desde "LANG".

Si locale es "0", la configuración regional no se ve afectada, sólo la configuración actual se devuelve.

Si locale es un array o es seguido por parámetros adicionales, entonces cada elemento del array o parámetro se intenta establecer como nueva configuración regional hasta que sea exitosa. Esto es útil si una configuración regional es conocida con diferentes nombres en diferentes sistemas o para proporcionar una recuperación para una configuración regional posiblemente no disponible.

...

(String opcional o array de parámetros para probarlas como configuración regional hasta el éxito.)

Nota:

En Windows, setlocale(LC_ALL, '') establece los nombres de la configuración regional desde lo fijado en las opciones regionales o de idioma (accesibles por medio del Panel de Control).

Valores devueltos

Devuelve la nueva configuración regional actual o FALSE si la funcionalidad de configuración regional no está implementada en la plataforma, la configuración regional especificada no existe o el nombre de la categoría no es válido.

Un nombre de categoría no válido también produce un mensaje de advertencia. Nombres de categorías o de configuraciones regionales se pueden encontrar en » RFC 1766 y » ISO 639. Diferentes sistemas tienen diferentes nomenclaturas para las configuraciones regionales.

Nota:

El valor de retorno de setlocale() depende del sistema en que PHP se está ejecutando. Se devuelve exactamente lo que la función setlocale del sistema devuelve.

Historial de cambios

Versión | Descripción
5.3.0 | Está función ahora lanza un aviso E_DEPRECATED si un string es pasado al parámetro category en lugar de una de las constantes LC_*.
4.3.0 | Pasar múltiples configuraciones regionales se hizo posible.
4.2.0 | Pasar el category como un string ahora es obsoleto, en su lugar, utilizar las constantes anteriores. Pasarlas como un string (dentro de comillas) resultará en un mensaje de advertencia.

Ejemplos

Ejemplo #1 Ejemplos de setlocale()

<?php
/* Establecer configuración regional al holandés */
setlocale(LC_ALL, 'nl_NL');

/* Produce: vrijdag 22 december 1978 */
echo strftime("%A %e %B %Y", mktime(0, 0, 0, 12, 22, 1978));

/* probar diferentes nombres posibles de configuración regional para el alemán a partir de PHP 4.3.0 */
$loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
echo "Preferred locale for german on this system is '$loc_de'";
?>

Ejemplo #2 Ejemplos para Windows de setlocale()

<?php
/* Establecer configuración regional al holandés */
setlocale(LC_ALL, 'nld_nld');

/* Salida: vrijdag 22 december 1978 */
echo strftime("%A %d %B %Y", mktime(0, 0, 0, 12, 22, 1978));

/* probar diferentes nombres posibles de configuración regional para el alemán a partir de PHP 4.3.0 */
$loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'deu_deu');
echo "Preferred locale for german on this system is '$loc_de'";
?>

Notas

Advertencia

La información de configuración regional se mantiene por proceso, no por hilo. Si se está corriendo PHP en un servidor de la API multihilo como IIS o Apache sobre Windows, se pueden experimentar cambios repentinos en la configuración regional mientras que un script se está ejecutando, aunque el propio script nunca llame a setlocale(). Esto ocurre debido a que otros scripts ejecutándose en diferentes hilos de un mismo proceso, al mismo tiempo, cambian la configuración regional de todo el proceso con setlocale().

Sugerencia

Los usuarios de Windows encontrarán información útil sobre strings de locale en el sitio web MSDN de Microsoft. Los strings de los idiomas soportados se pueden encontrar en la » documentoación de strings de idiomas y los strings de paises/regiones en la » documentación de strings de países/regiones.

rtrim
sha1_file
Funciones de strings


Calcula el hash sha1 de un archivo

setlocale
sha1
Funciones de strings
PHP Manual

sha1_file

(PHP 4 >= 4.3.0, PHP 5)

sha1_file — Calcula el hash sha1 de un archivo

Descripción

string sha1_file ( string $filename [, bool $raw_output = false ] )

Calcula el hash sha1 del archivo especificado mediante filename utilizando el » algoritmo de hash seguro 1 de US y devuelve ese hash. El hash es un número hexadecimal de 40 caracteres.

Parámetros

filename

El nombre del archivo para el hash.

raw_output

Cuando es TRUE, devuelve el resumen en formato binario sin tratar con una longitud de 20.

Valores devueltos

Devuelve un string cuando es exitoso o FALSE si no es así.

Ejemplos

Ejemplo #1 Ejemplo de sha1_file()

<?php
foreach(glob('/home/Kalle/myproject/*.php') as $ent)
{
    if(is_dir($ent))
    {
        continue;
    }

    echo $ent . ' (SHA1: ' . sha1_file($ent) . ')', PHP_EOL;
}
?>

Historial de cambios

Versión | Descripción
5.1.0 | Cambiada la función para utilizar el API de flujo de datos. Esto significa que se puede utilizar con envolturas, como en sha1_file('http://ejemplo.com/..')
5.0.0 | Agregado el parámetro raw_output.

Ver también

  • sha1() - Calcula el hash sha1 de un string
  • md5_file() - Calcula el resumen criptográfico md5 de un archivo dado
  • crc32() - Calcula el polinomio crc32 de una cadena

setlocale
sha1
Funciones de strings


Calcula el hash sha1 de un string

sha1_file
similar_text
Funciones de strings
PHP Manual

sha1

(PHP 4 >= 4.3.0, PHP 5)

sha1 — Calcula el hash sha1 de un string

Descripción

string sha1 ( string $str [, bool $raw_output = false ] )

Calcula el hash sha1 de str utilizando el » algoritmo de hash seguro 1 de US.

Parámetros

str

El string de entrada.

raw_output

Si el raw_output opcional se establece en TRUE, entonces el resumen sha1 será devuelto en formato binario sin tratar con una longitud de 20, de otra manera, el valor retornado será un número hexadecimal de 40 caracteres.

Valores devueltos

Devuelve el hash sha1 como un string.

Historial de cambios

Versión | Descripción
5.0.0 | Fue agregado el parámetro raw_output.

Ejemplos

Ejemplo #1 Ejemplo de sha1()

<?php
$str = 'apple';

if (sha1($str) === 'd0be2dc421be4fcd0172e5afceea3970e2f3d940') {
    echo "Would you like a green or red apple?";
}
?>

Notas

Nota: Hash seguro de contraseñas

Dada la velocidad de este algoritmo de hash, se recomienda no utilizar esta función para proteger las contraeñas. Para más información, revise aquí.

Ver también

  • sha1_file() - Calcula el hash sha1 de un archivo
  • crc32() - Calcula el polinomio crc32 de una cadena
  • md5() - Calcula el hash md5 de un string
  • hash() - Genera un valor cifrado en base a un string

sha1_file
similar_text
Funciones de strings


Calcula la similitud entre dos strings

sha1
soundex
Funciones de strings
PHP Manual

similar_text

(PHP 4, PHP 5)

similar_text — Calcula la similitud entre dos strings

Descripción

int similar_text ( string $first , string $second [, float &$percent ] )

Esta función calcula la similitud entre dos strings según se describe en Programming Classics: Implementing the World's Best Algorithms by Oliver (ISBN 0-131-00413-1). Nótese que esta implementación no utiliza una pila como en el pseudo código de Oliver, sino llamadas recursivas que pueden o no pueden acelerar todo el proceso. También tener en cuenta que la complejidad de este algoritmo es O(N**3) donde N es la longitud del string más largo.

Parámetros

first

El primer string.

second

El segundo string.

percent

Mediante el paso de una referencia como tercer argumento, similar_text() calculará la similitud en porcentaje.

Valores devueltos

Devuelve el número de caracteres coincidentes en ambos strings.

Ver también

  • levenshtein() - Cálculo de la distancia Levenshtein entre dos strings
  • soundex() - Calcula la clave soundex de un string

sha1
soundex
Funciones de strings


Calcula la clave soundex de un string

similar_text
sprintf
Funciones de strings
PHP Manual

soundex

(PHP 4, PHP 5)

soundex — Calcula la clave soundex de un string

Descripción

string soundex ( string $str )

Calcula la clave soundex de str.

Las claves soundex tienen la propiedad que palabras pronunciadas de forma similar producen la misma clave soundex y por lo tanto puede ser usada para simplificar búsquedas en bases de datos donde se conoce la pronunciación pero no la ortografía. Esta función soundex devuelve un string de 4 caracteres de longitud, que inicia con una letra.

Esta función particular de soundex es la descrita por Donald Knuth en "The Art Of Computer Programming, vol. 3: Sorting And Searching", Addison-Wesley (1973), pp. 391-392.

Parámetros

str

El string de entrada.

Valores devueltos

Devuelve la clave soundex como un string.

Ejemplos

Ejemplo #1 Ejemplos de soundex

<?php
soundex("Euler")       == soundex("Ellery");    // E460
soundex("Gauss")       == soundex("Ghosh");     // G200
soundex("Hilbert")     == soundex("Heilbronn"); // H416
soundex("Knuth")       == soundex("Kant");      // K530
soundex("Lloyd")       == soundex("Ladd");      // L300
soundex("Lukasiewicz") == soundex("Lissajous"); // L222
?>

Ver también

  • levenshtein() - Cálculo de la distancia Levenshtein entre dos strings
  • metaphone() - Calcula la clave metaphone de un string
  • similar_text() - Calcula la similitud entre dos strings

similar_text
sprintf
Funciones de strings


Devuelve un string formateado

soundex
sscanf
Funciones de strings
PHP Manual

sprintf

(PHP 4, PHP 5)

sprintf — Devuelve un string formateado

Descripción

string sprintf ( string $format [, mixed $args [, mixed $... ]] )

Devuelve un string producido de acuerdo con el string format.

Parámetros

format

El string de formato está compuesto de cero o más directivas: caracteres ordinarios (excluyendo %) que son copiados directamente al resultado y especificaciones de conversión, cada una de las cuales da lugar a extraer su propio parámetro. Esto aplica tanto para sprintf() como printf().

Cada especificación de conversión consiste en un signo de porcentaje (%), seguido por uno o más de estos elementos, en orden:

  1. Un especificador de signo opcional que fuerza un signo (- ó +) a ser utilizado en un número. Por defecto, sólo el signo - se utiliza en un número si es negativo. Esta especificación fuerza números positivos para que también tengan adjunto el signo + y fue agregada en PHP 4.3.0.
  2. Un especificador de relleno opcional que indica qué carácter se utiliza para rellenar el resultado hasta el tamaño correcto de string. Este puede ser un caracter de espacio o un 0 (el caracter cero). El valor por defecto es rellenar con espacios. Un caracter de relleno alternativo se puede especificar colocándole un prefijo de una comilla simple ('). Ver los ejemplos mas adelante.
  3. Un especificador de alineación opcional que indica si el resultado debe ser alineado a la izquierda o a la derecha. El valor por defecto es justificado a la derecha, un caracter - aquí lo hará justificado a la izquierda.
  4. Un número opcional, un especificador de ancho que dice cuantos caracteres (como mínimo) debe producir esta conversión.
  5. Un especificador de precisión opcional en la forma de un punto (`.') seguido de un string opcional de dígitos decimales que indica cuántos dígitos decimales deben mostrarse para los números de punto flotante. Cuando se utiliza este especificador con un string, actúa como un punto de corte, estableciendo un límite máximo de caracteres al string.

  6. Un especificador de tipo que indica como que tipo deben ser tratados los datos del argumento. Los tipos posibles son:

    • % - un caracter de porcentaje literal. No se requiere argumento.
    • b - el argumento es tratado como un integer y presentado como un número binario.
    • c - el argumento es tratado como un integer y presentado como el caracter con ese valor ASCII.
    • d - el argumento es tratado como un integer y presentado como un número decimal (con signo).
    • e - el argumento es tratado como notación científica (e.g. 1.2e+2). El especificador de precisión indica el número de dígitos después del punto decimal a partir de PHP 5.2.1. En versiones anteriores, se tomó como el número de dígitos significativos (uno menos).
    • E - como %e pero utiliza la letra mayúscula (e.g. 1.2E+2).
    • u - el argumento es tratado como un integer y presentado como un número decimal sin signo.
    • f - el argumento es tratado como un float y presentado como un número de punto flotante (consciente de la configuración regional).
    • F - el argumento es tratado como un float y presentado como un número de punto flotante (no consciente de la configuración regional). Disponible desde PHP 4.3.10 y PHP 5.0.3.
    • g - más corto de %e y %f.
    • G - más corto de %E y %f.
    • o - el argumento es tratado como un integer y presentado como un número octal.
    • s - el argumento es tratado y presentado como un string.
    • x - el argumento es tratado como un integer y presentado como un número hexadecimal (con las letras en minúsculas).
    • X - el argumento es tratado como un integer y presentado como un número hexadecimal (con las letras en mayúsculas).

El string de formato soporta numeración/intercambio de argumentos. Aquí está un ejemplo:

Ejemplo #1 Intercambio de argumentos

<?php
$num = 5;
$location = 'tree';

$format = 'There are %d monkeys in the %s';
echo sprintf($format, $num, $location);
?>
Esto producirá "There are 5 monkeys in the tree". Pero imaginemos que estamos creando un string de formato en un archivo separado, generalmente por que nos gustaría internacionalizarlo y lo reescribimos así:

Ejemplo #2 Intercambio de argumentos

<?php
$format = 'The %s contains %d monkeys';
echo sprintf($format, $num, $location);
?>
Ahora tenemos un problema. El orden de los marcadores de posición en el string de formato no coincide con el orden de los argumentos en el código. Nos gustaría dejar el código tal cual y simplemente indicar en el string de formato a cuáles argumentos de los marcadores de posición se refieren. Tendríamos que escribir el string de formato de esta forma:

Ejemplo #3 Intercambio de argumentos

<?php
$format = 'The %2$s contains %1$d monkeys';
echo sprintf($format, $num, $location);
?>
Un beneficio adicional aquí, es que se pueden repetir los marcadores de posición sin agregar más argumentos en el código. Por ejemplo:

Ejemplo #4 Intercambio de argumentos

<?php
$format = 'The %2$s contains %1$d monkeys.
           That\'s a nice %2$s full of %1$d monkeys.';
echo sprintf($format, $num, $location);
?>
Cuando se utiliza intercambio de argumentos, el especificador de posición n$ debe venir inmediatamente después del signo de porcentaje (%), antes de cualquier otro especificador, tal como se muestra en el ejemplo siguiente.

Ejemplo #5 Especificador de posición con otros especificadores

<?php
$format = 'The %2$s contains %1$04d monkeys';
echo sprintf($format, $num, $location);
?>

El resultado del ejemplo sería:

The tree contains 0005 monkeys

Nota:

Tratar de utilizar marcadores de posición mayores que PHP_INT_MAX provocará que sprintf() lance mensajes de advertencia.

args

...

Valores devueltos

Devuelve un string producido de acuerdo con el string de formato format.

Historial de cambios

Versión | Descripción
4.0.6 | Fue agregado el soporte para numeración/intercambio de argumentos

Ejemplos

Ejemplo #6 printf(): ejemplos varios

<?php
$n =  43951789;
$u = -43951789;
$c = 65; // ASCII 65 es 'A'

// fijarse en el doble %%, esto muestra un caracter '%' literal
printf("%%b = '%b'\n", $n); // representación binaria
printf("%%c = '%c'\n", $c); // muestra el caracter ascii, igual que la función chr()
printf("%%d = '%d'\n", $n); // representación estándar de un entero
printf("%%e = '%e'\n", $n); // notación científica
printf("%%u = '%u'\n", $n); // representación sin signo de un entero positivo
printf("%%u = '%u'\n", $u); // representación sin signo de un entero negativo
printf("%%f = '%f'\n", $n); // representación de punto flotante
printf("%%o = '%o'\n", $n); // representación octal
printf("%%s = '%s'\n", $n); // representación en una cadena
printf("%%x = '%x'\n", $n); // representación hexadecimal (minúsculas)
printf("%%X = '%X'\n", $n); // representación hexadecimal (mayúsculas)

printf("%%+d = '%+d'\n", $n); // especificador de signo sobre un entero positivo
printf("%%+d = '%+d'\n", $u); // especificador de signo sobre un entero negativo
?>

El resultado del ejemplo sería:

%b = '10100111101010011010101101'
%c = 'A'
%d = '43951789'
%e = '4.39518e+7'
%u = '43951789'
%u = '4251015507'
%f = '43951789.000000'
%o = '247523255'
%s = '43951789'
%x = '29ea6ad'
%X = '29EA6AD'
%+d = '+43951789'
%+d = '-43951789'

Ejemplo #7 printf(): especificadores de string

<?php
$s = 'monkey';
$t = 'many monkeys';

printf("[%s]\n",      $s); // salida estándar de string
printf("[%10s]\n",    $s); // justificación a la derecha con espacios
printf("[%-10s]\n",   $s); // justificación a la izquierda con espacios
printf("[%010s]\n",   $s); // rellenado con ceros también funciona sobre strings
printf("[%'#10s]\n",  $s); // utiliza el caracter de relleno personalizado '#'
printf("[%10.10s]\n", $t); // justificación a la izquierda pero con un corte a los 10 caracteres
?>

El resultado del ejemplo sería:

[monkey]
[    monkey]
[monkey    ]
[0000monkey]
[####monkey]
[many monke]

Ejemplo #8 sprintf(): rellenado con ceros en integers

<?php
$isodate = sprintf("%04d-%02d-%02d", $year, $month, $day);
?>

Ejemplo #9 sprintf(): formato de moneda

<?php
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// echo $money producirá "123.1";
$formatted = sprintf("%01.2f", $money);
// echo $formatted producirá "123.10"
?>

Ejemplo #10 sprintf(): notación científica

<?php
$number = 362525200;

echo sprintf("%.3e", $number); // produce 3.625e+8
?>

Ver también

  • printf() - Imprimir una cadena con formato
  • sscanf() - Interpreta un string de entrada de acuerdo con un formato
  • fscanf() - Analiza la entrada desde un archivo de acuerdo a un formato
  • vsprintf() - Devuelve una cadena con formato
  • number_format() - Formatear un número con los miles agrupados

soundex
sscanf
Funciones de strings


Interpreta un string de entrada de acuerdo con un formato

sprintf
str_getcsv
Funciones de strings
PHP Manual

sscanf

(PHP 4 >= 4.0.1, PHP 5)

sscanf — Interpreta un string de entrada de acuerdo con un formato

Descripción

mixed sscanf ( string $str , string $format [, mixed &$... ] )

La función sscanf() es la entrada análoga de printf(). sscanf() lee del string str y lo interpreta de acuerdo con el format especificado, el cual está descrito en la documentación para sprintf().

Cualquier espacio en blanco en el string de formato coincide con cualquier espacio en blanco en string de entrada. Esto significa que incluso un tabulador \t en el string de formato puede coincidir con un caracter simple de espacio en el string de entrada.

Parámetros

str

El string de entrada para ser interpretado.

format

El formato interpretado str, el cual está descrito en la documentación para sprintf() con las siguientes diferencia:

  • La función no es consciente de la configuración regional.
  • F, g, G y b no están soportados.
  • D representa número decimal.
  • i representa integer con detección de base.
  • n representa el número de caracteres procesados hasta el momento.

...

Opcionalmente variables pasadas por referencia que contendrán los valores interpretados.

Valores devueltos

Si sólo se pasan dos parámetros a esta función, los valores interpretados se devolverán como una matriz. De lo contrario, si se pasan parámetros opcionales, la función devolverá el número de valores asignados. Los parámetros opcionales se deben pasar por referencia.

Si hay más substrings esperados en el format que los que hay disponibles en str, será devuelto -1.

Ejemplos

Ejemplo #1 Ejemplo de sscanf()

<?php
// obtener el número serial
list($serial) = sscanf("SN/2350001", "SN/%d");
// y la fecha de manufactura
$mandate = "January 01 2000";
list($month, $day, $year) = sscanf($mandate, "%s %d %d");
echo "Item $serial was manufactured on: $year-" . substr($month, 0, 3) . "-$day\n";
?>

Si se pasan parámetros opcionales, la función devolverá el número de valores asignados.

Ejemplo #2 sscanf() - using optional parameters

<?php
// obtener la información del autor y generar entrada DocBook
$auth = "24\tLewis Carroll";
$n = sscanf($auth, "%d\t%s %s", $id, $first, $last);
echo "<author id='$id'>
    <firstname>$first</firstname>
    <surname>$last</surname>
</author>\n";
?>

Ver también

  • fscanf() - Analiza la entrada desde un archivo de acuerdo a un formato
  • printf() - Imprimir una cadena con formato
  • sprintf() - Devuelve un string formateado

sprintf
str_getcsv
Funciones de strings


Interpreta un string de CSV en un array

sscanf
str_ireplace
Funciones de strings
PHP Manual

str_getcsv

(PHP 5 >= 5.3.0)

str_getcsv — Interpreta un string de CSV en un array

Descripción

array str_getcsv ( string $input [, string $delimiter = ',' [, string $enclosure = '"' [, string $escape = '\\' ]]] )

Interpreta un string de entrada para los campos en formato CSV y devuelve un array que contiene la lectura de los campos.

Parámetros

input

El string a interpretar.

delimiter

Establece el delimitador de campo (sólo un caracter).

enclosure

Establece el caracter de encerrado del campo (sólo un caracter).

escape

Establece el caracter de escape (sólo un caracter). Por defecto es una barra invertida. (\)

Valores devueltos

Devuelve un array indexado que contiene los campos leídos.

Ver también

  • fgetcsv() - Obtiene una línea del puntero a un archivo y la examina para tratar campos CSV

sscanf
str_ireplace
Funciones de strings


Versión insensible a mayúsculas y minúsculas de str_replace

str_getcsv
str_pad
Funciones de strings
PHP Manual

str_ireplace

(PHP 5)

str_ireplace — Versión insensible a mayúsculas y minúsculas de str_replace()

Descripción

mixed str_ireplace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

Esta función devuelve un string o un array con todas las apariciones de search en subject (ignorando mayúsculas y minúsculas) reemplazadas con el valor dado de replace. Si no se necesitan reglas complicadas de reemplazo, en general se puede utilizar esta función en lugar de preg_replace() con el modificador i.

Parámetros

Sisearch y replace son matrices, entonces str_ireplace() toma un valor de cada array y lo utiliza para buscar y reemplazar en subject. Si replace tiene menos valores que search, entonces un string vacío es usado para el resto de los valores de reemplazo. Si search es un array y replace es un string, entonces este string de reemplazo es usado para cada valor de search. Sin embargo, lo contrario no tendría sentido.

Si search o replace son arrays, sus elementos son procesados del primero al último.

search

El valor a ser buscado, también conocida como la aguja. Un array puede ser utilizado para designar varias agujas.

replace

El valor de reemplazo que sustituye los valores encontrados de search. Un array puede ser utilizado para designar reemplazos múltiples.

subject

El string o array sobre el que se busca y se sustituye, también conocido como el pajar.

Si subject es un array, entonces la búsqueda y reemplazo se realiza con cada entrada de subject y el valor devuelto también es un array.

count

Si es pasado, con éste parámetro se establece el número de reemplazos realizados.

Valores devueltos

Devuelve un string o un array de sustituciones.

Historial de cambios

Versión | Descripción
5.0.0 | Fue agregado el parámetro count.

Ejemplos

Ejemplo #1 Ejemplo de str_ireplace()

<?php
$bodytag = str_ireplace("%body%", "black", "<body text=%BODY%>");
?>

Notas

Nota: Esta función es segura binariamente.

Precaución

Trampa en que se puede caer por el orden de reemplazo

Debido a que str_ireplace() reemplaza de izquierda a derecha, podría sustituir a un valor previamente insertado cuando se hacen sustituciones múltiples. El ejemplo #2 en la documentación de str_replace() demuestra como esto puede afectar en la práctica.

Ver también

  • str_replace() - Reemplaza todas las apariciones del string buscado con el string de reemplazo
  • preg_replace() - Realiza una búsqueda y sustitución de una expresión regular
  • strtr() - Convierte caracteres o reemplaza substrings

str_getcsv
str_pad
Funciones de strings


Rellena un string hasta una longitud determinada con otro string

str_ireplace
str_repeat
Funciones de strings
PHP Manual

str_pad

(PHP 4 >= 4.0.1, PHP 5)

str_pad — Rellena un string hasta una longitud determinada con otro string

Descripción

string str_pad ( string $input , int $pad_length [, string $pad_string = " " [, int $pad_type = STR_PAD_RIGHT ]] )

Esta función devuelve el string input rellenado por la izquierda, la derecha, o en ambos lados hasta la longitud especificada. Si el argumento opcional pad_string no se suministra, el input se rellena con espacios, de lo contrario, se rellena con los caracteres de pad_string hasta el límite.

Parámetros

input

El string de entrada.

pad_length

Si el valor de pad_length es negativo, inferior o igual a la longitud del string de entrada, no se realiza el rellenado.

pad_string

Nota:

El pad_string se puede truncar si el número necesario de caracteres de relleno no pueden ser divididos uniformemente por la longitud de pad_string.

pad_type

El argumento opcional pad_type puede ser STR_PAD_RIGHT, STR_PAD_LEFT, o STR_PAD_BOTH. Si no se especifica pad_type se asume como STR_PAD_RIGHT.

Valores devueltos

Devuelve el string rellenado.

Ejemplos

Ejemplo #1 Ejemplo de str_pad()

<?php
$input = "Alien";
echo str_pad($input, 10);                      // produce "Alien     "
echo str_pad($input, 10, "-=", STR_PAD_LEFT);  // produce "-=-=-Alien"
echo str_pad($input, 10, "_", STR_PAD_BOTH);   // produce "__Alien___"
echo str_pad($input, 6 , "___");               // produce "Alien_"
?>

str_ireplace
str_repeat
Funciones de strings


Repite un string

str_pad
str_replace
Funciones de strings
PHP Manual

str_repeat

(PHP 4, PHP 5)

str_repeat — Repite un string

Descripción

string str_repeat ( string $input , int $multiplier )

Devuelve el input repetido multiplier veces.

Parámetros

input

El string a ser repetido.

multiplier

El número de veces que el string input debe ser repetido.

multiplier debe ser mayor o igual a 0. Si el multiplier se establece en 0, la función devolverá un string vacío.

Valores devueltos

Devuelve el string repetido.

Ejemplos

Ejemplo #1 Ejemplo de str_repeat()

<?php
echo str_repeat("-=", 10);
?>

El resultado del ejemplo sería:

-=-=-=-=-=-=-=-=-=-=

Ver también

  • for
  • str_pad() - Rellena un string hasta una longitud determinada con otro string
  • substr_count() - Cuenta el número de apariciones del substring

str_pad
str_replace
Funciones de strings


Reemplaza todas las apariciones del string buscado con el string de reemplazo

str_repeat
str_rot13
Funciones de strings
PHP Manual

str_replace

(PHP 4, PHP 5)

str_replace — Reemplaza todas las apariciones del string buscado con el string de reemplazo

Descripción

mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

Esta función devuelve un string o un array con todas las apariciones de search en subject reemplazadas con el valor dado de replace.

Si no se necesitan reglas complicadas de reemplazo (como expresiones regulares), se puede utilizar siempre esta función en lugar de preg_replace().

Parámetros

Sisearch y replace son arrays, entonces str_replace() toma un valor de cada array y lo utiliza para buscar y reemplazar en subject. Si replace tiene menos valores que search, entonces un string vacío es usado para el resto de los valores de reemplazo. Si search es un array y replace es un string, entonces este string de reemplazo es usado para cada valor de search. Sin embargo, lo contrario no tendría sentido.

Si search o replace son arrays, sus elementos son procesados del primero al último.

search

El valor a ser buscado, también conocida como la aguja. Un array puede ser utilizado para designar varias agujas.

replace

El valor de reemplazo que sustituye los valores encontrados de search. Un array puede ser utilizado para designar reemplazos múltiples.

subject

El string o array sobre el que se busca y se sustituye, también conocido como el pajar.

Si subject es un array, entonces la búsqueda y reemplazo se realiza con cada entrada de subject y el valor devuelto también es un array.

count

Si es pasado, con este se establece el número de reemplazos realizados.

Valores devueltos

Esta función devuelve un string o un array con los valores sustituidos.

Historial de cambios

Versión | Descripción
5.0.0 | Fue agregado el parámetro count.
4.3.3 | Cambió el comportamiento de esta función. En versiones anteriores un error existía cuando se usaban arrays en ambos parámetros search y replace, el cual causaba que índices vacíos en search fueran saltados sin avanzar el puntero interno sobre el array replace. Esto ha sido corregido en PHP 4.3.3, así que cualquier script que se basara en este error, debe remover los valores vacíos de búsqueda antes de llamar ésta función con el fin de imitar el comportamiento original.
4.0.5 | La mayoría de los parámetros ahora pueden ser un array.

Ejemplos

Ejemplo #1 Ejemplos básicos de str_replace()

<?php
// Produce: <body text='black'>
$bodytag = str_replace("%body%", "black", "<body text='%body%'>");

// Produce: Hll Wrld f PHP
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");

// Produce: You should eat pizza, beer, and ice cream every day
$phrase  = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits", "vegetables", "fiber");
$yummy   = array("pizza", "beer", "ice cream");

$newphrase = str_replace($healthy, $yummy, $phrase);

// Produce: 2
$str = str_replace("ll", "", "good golly miss molly!", $count);
echo $count;
?>

Ejemplo #2 Ejemplos de trampas potenciales con str_replace()

<?php
// Orden del reemplazo
$str     = "Line 1\nLine 2\rLine 3\r\nLine 4\n";
$order   = array("\r\n", "\n", "\r");
$replace = '<br />';

// Procesa primero \r\n así no es convertido dos veces.
$newstr = str_replace($order, $replace, $str);

// La salida es F debido a que A es reemplazada con B, entonces B es reemplazada con C, y así sucesivamente...
// Finalmente E se reemplaza con F, debido a los reemplazos de izquierda a derecha.
$search  = array('A', 'B', 'C', 'D', 'E');
$replace = array('B', 'C', 'D', 'E', 'F');
$subject = 'A';
echo str_replace($search, $replace, $subject);

// La salida es: apearpearle pear
// Por la misma razón mencionada arriba
$letters = array('a', 'p');
$fruit   = array('apple', 'pear');
$text    = 'a p';
$output  = str_replace($letters, $fruit, $text);
echo $output;
?>

Notas

Nota: Esta función es segura binariamente.

Precaución

Trampa del orden de reemplazo

Debido a que str_replace() reemplaza de izquierda a derecha, podría sustituir a un valor previamente insertado al hacer sustituciones múltiples. Ver también los ejemplos de este documento.

Nota:

Esta función es sensible a mayúsculas y minúsculas. Utilice Use str_ireplace() para reemplazos insensibles a mayúsculas y minúsculas.

Ver también

  • str_ireplace() - Versión insensible a mayúsculas y minúsculas de str_replace
  • substr_replace() - Reemplaza el texto dentro de una porción de un string
  • preg_replace() - Realiza una búsqueda y sustitución de una expresión regular
  • strtr() - Convierte caracteres o reemplaza substrings

str_repeat
str_rot13
Funciones de strings


Realizar la transformación rot13 sobre una cadena

str_replace
str_shuffle
Funciones de strings
PHP Manual

str_rot13

(PHP 4 >= 4.2.0, PHP 5)

str_rot13 — Realizar la transformación rot13 sobre una cadena

Descripción

string str_rot13 ( string $str )

Aplica la codificación ROT13 sobre el argumento str y devuelve la cadena resultante.

La codificación ROT13 simplemente desplaza cada letra en 13 posiciones en el alfabeto, mientras que deja todos los caracteres no-alfabéticos intactos. La codificación y la decodificación se realizan con la misma función, pasar una cadena codificada como argumento devolverá la versión original.

Parámetros

str

La cadena de entrada.

Valores devueltos

Devuelve la versión ROT13 de la cadena dada.

Ejemplos

Ejemplo #1 Ejemplo de str_rot13()

<?php

echo str_rot13('PHP 4.3.0'); // CUC 4.3.0

?>

Historial de cambios

Versión | Descripción
4.3.0 | El comportamiento de esta función fue corregido. Antes de este cambio, la str era modificada también, como si fuera pasada por referencia.

str_replace
str_shuffle
Funciones de strings


Reordena aleatoriamente una cadena

str_rot13
str_split
Funciones de strings
PHP Manual

str_shuffle

(PHP 4 >= 4.3.0, PHP 5)

str_shuffle — Reordena aleatoriamente una cadena

Descripción

string str_shuffle ( string $str )

str_shuffle() baraja una cadena. Es creada una permutación de todas las posibles.

Parámetros

str

La cadena de entrada.

Valores devueltos

Devuelve la cadena barajada.

Ejemplos

Ejemplo #1 Ejemplo de str_shuffle()

<?php
$cadena = 'abcdef';
$desordenada = str_shuffle($cadena);

// Esto imprime algo como: bfdaec
echo $desordenada;
?>

Ver también

  • shuffle() - Mezcla un array
  • rand() - Genera un número entero aleatorio

str_rot13
str_split
Funciones de strings


Convierte un string en un array

str_shuffle
str_word_count
Funciones de strings
PHP Manual

str_split

(PHP 5)

str_split — Convierte un string en un array

Descripción

array str_split ( string $string [, int $split_length = 1 ] )

Convierte un string en un array.

Parámetros

string

El string de entrada.

split_length

Longitud máxima del fragmento.

Valores devueltos

Si el parámetro opcional split_length se específica, el array devuelto será separado en fragmentos los cuales cada uno tendrá una longitud de split_length, de otra manera cada fragmento tendrá una longitud de un caracter.

Se devuelve FALSE si split_length es menor que 1. Si la longitud split_length excede la longitud de string, el string entero es devuelto como el primero (y único) elemento del array.

Ejemplos

Ejemplo #1 Ejemplos de uso de str_split()

<?php

$str = "Hello Friend";

$arr1 = str_split($str);
$arr2 = str_split($str, 3);

print_r($arr1);
print_r($arr2);

?>

El resultado del ejemplo sería:

Array
(
    [0] => H
    [1] => e
    [2] => l
    [3] => l
    [4] => o
    [5] =>
    [6] => F
    [7] => r
    [8] => i
    [9] => e
    [10] => n
    [11] => d
)

Array
(
    [0] => Hel
    [1] => lo
    [2] => Fri
    [3] => end
)

Ver también

  • chunk_split() - Divide una cadena en trozos más pequeños
  • preg_split() - Divide un string mediante una expresión regular
  • explode() - Divide una cadena en varias cadenas
  • count_chars() - Devuelve información sobre los caracteres usados en una cadena
  • str_word_count() - Devuelve información sobre las palabras utilizadas en un string
  • for

str_shuffle
str_word_count
Funciones de strings


Devuelve información sobre las palabras utilizadas en un string

str_split
strcasecmp
Funciones de strings
PHP Manual

str_word_count

(PHP 4 >= 4.3.0, PHP 5)

str_word_count — Devuelve información sobre las palabras utilizadas en un string

Descripción

mixed str_word_count ( string $string [, int $format = 0 [, string $charlist ]] )

Cuenta el número de palabras dentro de string. Si no se especifica el format opcional, entonces el valor devuelto será un integer representando el número de palabras encontradas. En el caso en que se especifique format, el valor devuelto será un array cuyo contenido depende de format. Los posibles valores para format y las salidas resultantes están listadas más abajo.

Para los propósitos de esta función, 'palabra' se define como un string dependiente de la configuración regional que contiene caracteres alfabéticos, el cual también puede contener, pero no iniciar con los caracteres "'" y "-".

Parámetros

string

El string

format

Especifica el valor devuelto de esta función. Los valores soportados actualmente son:

  • 0 - devuelve el número de palabras encontradas
  • 1 - devuelve un array que contiene todas las palabras encontradas dentro del string
  • 2 - devuelve un array asociativo, donde la clave es la posición numérica de una palabra dentro del string y el valor es la palabra en sí.

charlist

Una lista de caracteres adicionales los cuales serán considerados como de 'palabra'.

Valores devueltos

Devuelve un array o un integer, dependiendo del format seleccionado.

Historial de cambios

Versión | Descripción
5.1.0 | Agregado el parámetro charlist

Ejemplos

Ejemplo #1 Ejemplo de str_word_count()

<?php

$str = "Hello fri3nd, you're
       looking          good today!";

print_r(str_word_count($str, 1));
print_r(str_word_count($str, 2));
print_r(str_word_count($str, 1, 'àáãç3'));

echo str_word_count($str);

?>

El resultado del ejemplo sería:

Array
(
    [0] => Hello
    [1] => fri
    [2] => nd
    [3] => you're
    [4] => looking
    [5] => good
    [6] => today
)

Array
(
    [0] => Hello
    [6] => fri
    [10] => nd
    [14] => you're
    [29] => looking
    [46] => good
    [51] => today
)

Array
(
    [0] => Hello
    [1] => fri3nd
    [2] => you're
    [3] => looking
    [4] => good
    [5] => today
)

7

Ver también

  • explode() - Divide una cadena en varias cadenas
  • preg_split() - Divide un string mediante una expresión regular
  • split() - Divide una cadena en una matriz mediante una expresión regular
  • count_chars() - Devuelve información sobre los caracteres usados en una cadena
  • substr_count() - Cuenta el número de apariciones del substring

str_split
strcasecmp
Funciones de strings


Comparación de string segura a nivel binario e insensible a mayúsculas y minúsculas

str_word_count
strchr
Funciones de strings
PHP Manual

strcasecmp

(PHP 4, PHP 5)

strcasecmp — Comparación de string segura a nivel binario e insensible a mayúsculas y minúsculas

Descripción

int strcasecmp ( string $str1 , string $str2 )

Comparación de string segura a nivel binario e insensible a mayúsculas y minúsculas.

Parámetros

str1

El primer string

str2

El segundo string

Valores devueltos

Devuelve < 0 si str1 es menor que str2; > 0 si str1 es mayor que str2 y 0 si son iguales.

Ejemplos

Ejemplo #1 Ejemplo de strcasecmp()

<?php
$var1 = "Hello";
$var2 = "hello";
if (strcasecmp($var1, $var2) == 0) {
    echo '$var1 is equal to $var2 in a case-insensitive string comparison';
}
?>

Ver también

  • strcmp() - Comparación de string segura a nivel binario
  • preg_match() - Realiza una comparación con una expresión regular
  • substr_compare() - Comparación segura a nivel binario de dos o más cadenas desde un índice, hasta una longitud dada de caracteres
  • strncasecmp() - Comparación de los primeros n caracteres de cadenas, segura con material binario e insensible a mayúsculas y minúsculas
  • stristr() - strstr insensible a mayúsculas y minúsculas
  • substr() - Devuelve parte de una cadena

str_word_count
strchr
Funciones de strings


Alias de strstr

strcasecmp
strcmp
Funciones de strings
PHP Manual

strchr

(PHP 4, PHP 5)

strchr — Alias de strstr()

Descripción

Esta función es un alias de: strstr().

strcasecmp
strcmp
Funciones de strings


Comparación de string segura a nivel binario

strchr
strcoll
Funciones de strings
PHP Manual

strcmp

(PHP 4, PHP 5)

strcmp — Comparación de string segura a nivel binario

Descripción

int strcmp ( string $str1 , string $str2 )

Tenga en cuenta que esta comparación es sensible a mayúsculas y minúsculas.

Parámetros

str1

El primer string.

str2

El segundo string.

Valores devueltos

Devuelve < 0 si str1 es menor que str2; > 0 si str1 es mayor que str2 y 0 si son iguales.

Ver también

  • strcasecmp() - Comparación de string segura a nivel binario e insensible a mayúsculas y minúsculas
  • preg_match() - Realiza una comparación con una expresión regular
  • substr_compare() - Comparación segura a nivel binario de dos o más cadenas desde un índice, hasta una longitud dada de caracteres
  • strncmp() - Comparación segura a nivel binario de los primeros n caracteres entre strings
  • strstr() - Encuentra la primera aparición de un string
  • substr() - Devuelve parte de una cadena

strchr
strcoll
Funciones de strings


Comparación de cadenas basada en la localidad

strcmp
strcspn
Funciones de strings
PHP Manual

strcoll

(PHP 4 >= 4.0.5, PHP 5)

strcoll — Comparación de cadenas basada en la localidad

Descripción

int strcoll ( string $str1 , string $str2 )

Note que esta comparación es sensible a mayúsculas y minúsculas, y a diferencia de strcmp(), esta función no es segura con material binario.

strcoll() usa la localidad actual para realizar las comparaciones. Si la localidad actual es C o POSIX, esta función es equivalente a strcmp().

Parámetros

str1

La primera cadena.

str2

La segunda cadena.

Valores devueltos

Devuelve < 0 si str1 es menor que str2; > 0 si str1 es mayor que str2, y 0 si son equivalentes.

Historial de cambios

Versión | Descripción
4.2.3 | Esta función trabaja ahora en win32.

Ver también

  • preg_match() - Realiza una comparación con una expresión regular
  • strcmp() - Comparación de string segura a nivel binario
  • strcasecmp() - Comparación de string segura a nivel binario e insensible a mayúsculas y minúsculas
  • substr() - Devuelve parte de una cadena
  • stristr() - strstr insensible a mayúsculas y minúsculas
  • strncasecmp() - Comparación de los primeros n caracteres de cadenas, segura con material binario e insensible a mayúsculas y minúsculas
  • strncmp() - Comparación segura a nivel binario de los primeros n caracteres entre strings
  • strstr() - Encuentra la primera aparición de un string
  • setlocale() - Establecer la información de la configuración regional

strcmp
strcspn
Funciones de strings


Encuentra la longitud del segmento inicial que no coincida con la máscara

strcoll
strip_tags
Funciones de strings
PHP Manual

strcspn

(PHP 4, PHP 5)

strcspn — Encuentra la longitud del segmento inicial que no coincida con la máscara

Descripción

int strcspn ( string $str1 , string $str2 [, int $start [, int $length ]] )

Devuelve la longitud del segmento inicial de str1 el cual no contiene ningún caracter de str2.

Parámetros

str1

El primer string.

str2

El segundo string.

start

La posición inicial en el string a examinar.

length

La longitud del string a examinar.

Valores devueltos

Devuelve la longitud del segmento como un integer.

Historial de cambios

Versión | Descripción
4.3.0 | Fueron agregados start y length

Ejemplos

Ejemplo #1 strcspn() example

<?php
$a = strcspn('abcd',  'apple');
$b = strcspn('abcd',  'banana');
$c = strcspn('hello', 'l');
$d = strcspn('hello', 'world');

var_dump($a);
var_dump($b);
var_dump($c);
var_dump($d);
?>

El resultado del ejemplo sería:

int(0)
int(0)
int(2)
int(2)

Notas

Nota: Esta función es segura binariamente.

Ver también

  • strspn() - Encuentra la longitud del segmento inicial de un string que consista únicamente en caracteres contenidos dentro de una máscara dada.

strcoll
strip_tags
Funciones de strings


Retira las etiquetas HTML y PHP de un string

strcspn
stripcslashes
Funciones de strings
PHP Manual

strip_tags

(PHP 4, PHP 5)

strip_tags — Retira las etiquetas HTML y PHP de un string

Descripción

string strip_tags ( string $str [, string $allowable_tags ] )

Esta función intenta devolver un string con todos los bytes NULL y las etiquetas HTML y PHP retirados de un str dado. Se utiliza la misma máquina de estado de retirado de etiquetas que la función fgetss().

Parámetros

str

El string de entrada.

allowable_tags

Se puede usar el segundo parámetro opcional para especificar cuales etiquetas no deben ser retiradas.

Nota:

Los comentarios HTML y etiquetas PHP también son retirados. Esto está en el código y no puede ser cambiado mediante allowable_tags.

Nota:

Este parámetro no debe contener espacios en blanco. strip_tags() ve como una etiqueta un string insensible a mayúsculas y minúsculas entre < y el primer espacio en blanco o >. Lo cual significa que strip_tags("<br/>", "<br>") devuelve un string vacío.

Valores devueltos

Devuelve el string despojado.

Historial de cambios

Versión | Descripción
5.0.0 | strip_tags() ahora es segura a nivel binario.
4.3.0 | Los comentarios HTML ahora siempre son retirados.

Ejemplos

Ejemplo #1 Ejemplo de strip_tags()

<?php
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
echo strip_tags($text);
echo "\n";

// Permite <p> y <a>
echo strip_tags($text, '<p><a>');
?>

El resultado del ejemplo sería:

Test paragraph. Other text
<p>Test paragraph.</p> <a href="#fragment">Other text</a>

Notas

Advertencia

Debido a que strip_tags() en realidad no valida el HTML, etiquetas parciales o rotas, pueden resultar en la eliminación de más texto/datos de lo que se espera.

Advertencia

Esta función no modifica los atributos de las etiquetas que se permitan mediante allowable_tags, incluyendo los los atributos style y onmouseover que un usuario malicioso puede abusar al postear texto que se mostrará a otros usuarios.

Nota:

Los nombres de etiquetas en de la entrada HTML que sean mayores que 1023 bytes de longitud, serán tratados como no válidos, independientemente del parámetro allowable_tags.

Ver también

  • htmlspecialchars() - Convierte caracteres especiales en entidades HTML

strcspn
stripcslashes
Funciones de strings


Desmarca la cadena marcada con addcslashes

strip_tags
stripos
Funciones de strings
PHP Manual

stripcslashes

(PHP 4, PHP 5)

stripcslashes — Desmarca la cadena marcada con addcslashes()

Descripción

string stripcslashes ( string $str )

Devuelve una cadena con las barras invertidas eliminadas Reconoce las marcas tipo C \n, \r ..., y la representación octal y hexadecimal.

Parámetros

str

The string to be unescaped.

Valores devueltos

Devuelve la cadena sin escapar.

Ver también

  • addcslashes() - Escapa una cadena al estilo de C

strip_tags
stripos
Funciones de strings


Encuentra la posición de la primera aparición de un substring insensible a mayúsculas y minúsculas en in string

stripcslashes
stripslashes
Funciones de strings
PHP Manual

stripos

(PHP 5)

stripos — Encuentra la posición de la primera aparición de un substring insensible a mayúsculas y minúsculas en in string

Descripción

int stripos ( string $haystack , string $needle [, int $offset = 0 ] )

Encuentra la posición numérica de la primera aparición del needle (aguja) en el string haystack (pajar).

A diferencia de strpos(), stripos() es insensible a mayúsculas y minúsculas.

Parámetros

haystack

El string en donde buscar.

needle

Nótese que needle puede ser un string de uno o más caracteres.

Si needle no es un string, será convertido a un integer y se aplicará como el valor ordinal de un caracter.

offset

Si se específica, la búsqueda iniciará en éste número de caracteres contados desde el inicio del string. A diferencia de strrpos() y strripos(), el offset no puede ser negativo.

Valores devueltos

Devuelve la posición donde la aguja existe, en relación al inicio del string haystack (independiente del offset). También tener en cuenta que las posiciones de inicio de los string empiezan en 0 y no 1.

Devuelve FALSE si no fue encontrada la aguja.

Advertencia

Esta función puede devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se evalúa como FALSE. 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.

Ejemplos

Ejemplo #1 Ejemplos de stripos()

<?php
$findme    = 'a';
$mystring1 = 'xyz';
$mystring2 = 'ABC';

$pos1 = stripos($mystring1, $findme);
$pos2 = stripos($mystring2, $findme);

// No, 'a' sin duda no está en 'xyz'
if ($pos1 === false) {
    echo "The string '$findme' was not found in the string '$mystring1'";
}

// Nótese el uso de ===.  Usar sólo == no funcionará como se espera
// debido a que la posición de 'a' es el 0º (primer) caracter.
if ($pos2 !== false) {
    echo "We found '$findme' in '$mystring2' at position $pos2";
}
?>

Notas

Nota: Esta función es segura binariamente.

Ver también

  • strpos() - Encuentra la posición de la primera ocurrencia de un substring en un string
  • strrpos() - Encuentra la posición de la última aparición de un substring en un string
  • strripos() - Encuentra la posición de la última aparición de un substring insensible a mayúsculas y minúsculas en un string
  • stristr() - strstr insensible a mayúsculas y minúsculas
  • substr() - Devuelve parte de una cadena
  • str_ireplace() - Versión insensible a mayúsculas y minúsculas de str_replace

stripcslashes
stripslashes
Funciones de strings


Quita las barras de un string con comillas escapadas

stripos
stristr
Funciones de strings
PHP Manual

stripslashes

(PHP 4, PHP 5)

stripslashes — Quita las barras de un string con comillas escapadas

Descripción

string stripslashes ( string $str )

Quita las barras de un string con comillas escapadas.

Nota:

Si magic_quotes_sybase esta activo, ninguna barra invertida sera retirada pero dos apostrofes serán reemplazados por uno.

Un ejemplo de uso de stripslashes() es cuando la directiva de PHP magic_quotes_gpc es on (estaba activado por defecto en antes de PHP 5.4) y no se está insertando estos datos en un lugar (como una base de datos) que requiera escapado. Por ejemplo, si simplemente se le da salida a los datos directamente desde un formulario HTML.

Parámetros

str

El string de entrada.

Valores devueltos

Devuelve un string con las barras invertidas retiradas. (\' se convierte en ' y así sucesivamente.) Barras invertidas dobles (\\) se convierten en una sencilla (\).

Ejemplos

Ejemplo #1 Un ejemplo de stripslashes()

<?php
$str = "Is your name O\'reilly?";

// Salida: Is your name O'reilly?
echo stripslashes($str);
?>

Nota:

stripslashes() no es recursiva. Si se desea aplicar esta función a un array multi-dimensional, se necesita utilizar una función recursiva.

Ejemplo #2 Utilizando stripslashes() en un array

<?php
function stripslashes_deep($value)
{
    $value = is_array($value) ?
                array_map('stripslashes_deep', $value) :
                stripslashes($value);

    return $value;
}

// Ejemplo
$array = array("f\\'oo", "b\\'ar", array("fo\\'o", "b\\'ar"));
$array = stripslashes_deep($array);

// Salida
print_r($array);
?>

El resultado del ejemplo sería:

Array
(
    [0] => f'oo
    [1] => b'ar
    [2] => Array
        (
            [0] => fo'o
            [1] => b'ar
        )

)

Ver también

  • addslashes() - Escapa un string con barras invertidas
  • get_magic_quotes_gpc() - Obtiene el valor actual de configuración de magic_quotes_gpc

stripos
stristr
Funciones de strings


strstr insensible a mayúsculas y minúsculas

stripslashes
strlen
Funciones de strings
PHP Manual

stristr

(PHP 4, PHP 5)

stristr — strstr() insensible a mayúsculas y minúsculas

Descripción

string stristr ( string $haystack , mixed $needle [, bool $before_needle = false ] )

Devuelve todo de haystack iniciando desde e incluyendo la primera aparición de needle hasta el final.

Parámetros

haystack

El string en donde buscar

needle

Si needle no es un string, se convierte a un integer y se aplica como el valor ordinal de un caracter.

before_needle

Si es TRUE, stristr() devuelve la parte del haystack anterior a la primera aparición del needle (excluyendo el needle).

needle y haystack se examinan de una manera insensible a mayúsculas y minúsculas.

Valores devueltos

Devuelve el substring coincidente. Si no se encuentra needle, devuelve FALSE.

Historial de cambios

Versión | Descripción
5.3.0 | Agregado el parámetro opcional before_needle.
4.3.0 | stristr() se hizo seguro a nivel binario.

Ejemplos

Ejemplo #1 Ejemplo de stristr()

<?php
  $email = 'USER@EXAMPLE.com';
  echo stristr($email, 'e'); // salida ER@EXAMPLE.com
  echo stristr($email, 'e', true); // A partir de PHP 5.3.0, salida US
?>

Ejemplo #2 Probando si un string se encuentra o no

<?php
  $string = 'Hello World!';
  if(stristr($string, 'earth') === FALSE) {
    echo '"earth" not found in string';
  }
// salida: "earth" not found in string
?>

Ejemplo #3 Utilizando un needle no "string"

<?php
  $string = 'APPLE';
  echo stristr($string, 97); // 97 = a minúscula
// salida: APPLE
?>

Notas

Nota: Esta función es segura binariamente.

Ver también

  • strstr() - Encuentra la primera aparición de un string
  • strrchr() - Encuentra la última aparición de un caracter en un string
  • stripos() - Encuentra la posición de la primera aparición de un substring insensible a mayúsculas y minúsculas en in string
  • strpbrk() - Buscar una cadena por cualquiera de los elementos de un conjunto de caracteres
  • preg_match() - Realiza una comparación con una expresión regular

stripslashes
strlen
Funciones de strings


Obtiene la longitud de un string

stristr
strnatcasecmp
Funciones de strings
PHP Manual

strlen

(PHP 4, PHP 5)

strlen — Obtiene la longitud de un string

Descripción

int strlen ( string $string )

Devuelve la longitud del string dado.

Parámetros

string

El string del cual se va medir su longitud.

Valores devueltos

La longitud del string en caso de éxito, y 0 si el string esta vacio.

Historial de cambios

Versión | Descripción
5.3.0 | Las versiones anteriores trataban los arrays como el string Array, devolviendo así una longitud de string de 5 y emitiendo un error de nivel E_NOTICE.

Ejemplos

Ejemplo #1 Un ejemplo de strlen()

<?php
$str = 'abcdef';
echo strlen($str); // 6

$str = ' ab cd ';
echo strlen($str); // 7
?>

Notas

Nota:

strlen() devuelve el número de bytes en lugar del número de caracteres de un string.

Nota:

strlen() devuelve NULL cuando se ejecuta sobre arrays, y se emite un error de nivel E_WARNING.

Ver también

  • count() - Cuenta todos los elementos de un array o en un objeto
  • mb_strlen() - Obtiene la longitud de una cadena de caracteres

stristr
strnatcasecmp
Funciones de strings


Comparación de strings, insensible a mayúsculas y minúsculas, utilizando un algoritmo de "orden natural"

strlen
strnatcmp
Funciones de strings
PHP Manual

strnatcasecmp

(PHP 4, PHP 5)

strnatcasecmp — Comparación de strings, insensible a mayúsculas y minúsculas, utilizando un algoritmo de "orden natural"

Descripción

int strnatcasecmp ( string $str1 , string $str2 )

Esta función implementa un algoritmo de comparación que ordena strings alfanuméricos de la manera en que un humano lo haría. El comportamiento de ésta función es similar a strnatcmp(), excepto que la comparación no es sensible a mayúsculas y minúscula. Para más información ver la página de Martin Pool: » Natural Order String Comparison.

Parámetros

str1

El primer string.

str2

El segundo string.

Valores devueltos

De forma similar a otras funciones de comparación, esta devuelve < 0 si str1 es menor que str2; > 0 si str1 es mayor que str2 y 0 si son iguales.

Ver también

  • preg_match() - Realiza una comparación con una expresión regular
  • strcmp() - Comparación de string segura a nivel binario
  • strcasecmp() - Comparación de string segura a nivel binario e insensible a mayúsculas y minúsculas
  • substr() - Devuelve parte de una cadena
  • stristr() - strstr insensible a mayúsculas y minúsculas
  • strncasecmp() - Comparación de los primeros n caracteres de cadenas, segura con material binario e insensible a mayúsculas y minúsculas
  • strncmp() - Comparación segura a nivel binario de los primeros n caracteres entre strings
  • strstr() - Encuentra la primera aparición de un string
  • setlocale() - Establecer la información de la configuración regional

strlen
strnatcmp
Funciones de strings


Comparación de strings utilizando un algoritmo de "orden natural"

strnatcasecmp
strncasecmp
Funciones de strings
PHP Manual

strnatcmp

(PHP 4, PHP 5)

strnatcmp — Comparación de strings utilizando un algoritmo de "orden natural"

Descripción

int strnatcmp ( string $str1 , string $str2 )

Esta función implementa un algoritmo de comparación que ordena strings alfanuméricos de la manera en que un humano lo haría, lo cual se describe como "orden natural". Tener en cuenta que esta comparación es sensible a mayúsculas y minúsculas.

Parámetros

str1

El primer string.

str2

El segundo string.

Valores devueltos

De forma similar a otras funciones de comparación, esta devuelve < 0 si str1 es menor que str2; > 0 si str1 es mayor que str2 y 0 si son iguales.

Ejemplos

Un ejemplo de la diferencia entre éste algoritmo y los algoritmos normales de clasificación del computador (usados en strcmp()), se puede ver a continuación

<?php
$arr1 = $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png");
echo "Standard string comparison\n";
usort($arr1, "strcmp");
print_r($arr1);
echo "\nNatural order string comparison\n";
usort($arr2, "strnatcmp");
print_r($arr2);
?>

El resultado del ejemplo sería:

Standard string comparison
Array
(
    [0] => img1.png
    [1] => img10.png
    [2] => img12.png
    [3] => img2.png
)

Natural order string comparison
Array
(
    [0] => img1.png
    [1] => img2.png
    [2] => img10.png
    [3] => img12.png
)
Para más información ver la página de Martin Pool: » Natural Order String Comparison.

Ver también

  • preg_match() - Realiza una comparación con una expresión regular
  • strcasecmp() - Comparación de string segura a nivel binario e insensible a mayúsculas y minúsculas
  • substr() - Devuelve parte de una cadena
  • stristr() - strstr insensible a mayúsculas y minúsculas
  • strcmp() - Comparación de string segura a nivel binario
  • strncmp() - Comparación segura a nivel binario de los primeros n caracteres entre strings
  • strncasecmp() - Comparación de los primeros n caracteres de cadenas, segura con material binario e insensible a mayúsculas y minúsculas
  • strnatcasecmp() - Comparación de strings, insensible a mayúsculas y minúsculas, utilizando un algoritmo de "orden natural"
  • strstr() - Encuentra la primera aparición de un string
  • natsort() - Ordena un array usando un algoritmo de "orden natural"
  • natcasesort() - Ordenar un array usando un algoritmo de "orden natural" insensible a mayúsculas-minúsculas

strnatcasecmp
strncasecmp
Funciones de strings


Comparación de los primeros n caracteres de cadenas, segura con material binario e insensible a mayúsculas y minúsculas

strnatcmp
strncmp
Funciones de strings
PHP Manual

strncasecmp

(PHP 4 >= 4.0.2, PHP 5)

strncasecmp — Comparación de los primeros n caracteres de cadenas, segura con material binario e insensible a mayúsculas y minúsculas

Descripción

int strncasecmp ( string $str1 , string $str2 , int $len )

Esta función es similar a strcasecmp(), con la diferencia de que puede especificar el (límite superior de) número de caracteres de cada cadena a ser usado en la comparación.

Parámetros

str1

La primera cadena.

str2

La segunda cadena.

len

La longitud de cadenas a ser usada en la comparación.

Valores devueltos

Devuelve < 0 si str1 es menor que str2; > 0 si str1 es mayor que str2, y 0 si son equivalentes.

Ver también

  • strncmp() - Comparación segura a nivel binario de los primeros n caracteres entre strings
  • preg_match() - Realiza una comparación con una expresión regular
  • substr_compare() - Comparación segura a nivel binario de dos o más cadenas desde un índice, hasta una longitud dada de caracteres
  • strcasecmp() - Comparación de string segura a nivel binario e insensible a mayúsculas y minúsculas
  • stristr() - strstr insensible a mayúsculas y minúsculas
  • substr() - Devuelve parte de una cadena

strnatcmp
strncmp
Funciones de strings


Comparación segura a nivel binario de los primeros n caracteres entre strings

strncasecmp
strpbrk
Funciones de strings
PHP Manual

strncmp

(PHP 4, PHP 5)

strncmp — Comparación segura a nivel binario de los primeros n caracteres entre strings

Descripción

int strncmp ( string $str1 , string $str2 , int $len )

Esta función es similar a strcmp(), con la diferencia de que se puede especificar el (limite superior del) número de caracteres desde cada string a ser usado en la comparación.

Nótese que esta comparación es sensible a mayúsculas y minúsculas.

Parámetros

str1

El primer string.

str2

El segundo string.

len

El número de caracteres para usar en la comparación.

Valores devueltos

Devueleve < 0 si str1 es menor que str2; > 0 si str1 es mayor que str2 y 0 si son iguales.

Ver también

  • strncasecmp() - Comparación de los primeros n caracteres de cadenas, segura con material binario e insensible a mayúsculas y minúsculas
  • preg_match() - Realiza una comparación con una expresión regular
  • substr_compare() - Comparación segura a nivel binario de dos o más cadenas desde un índice, hasta una longitud dada de caracteres
  • strcmp() - Comparación de string segura a nivel binario
  • strstr() - Encuentra la primera aparición de un string
  • substr() - Devuelve parte de una cadena

strncasecmp
strpbrk
Funciones de strings


Buscar una cadena por cualquiera de los elementos de un conjunto de caracteres

strncmp
strpos
Funciones de strings
PHP Manual

strpbrk

(PHP 5)

strpbrk — Buscar una cadena por cualquiera de los elementos de un conjunto de caracteres

Descripción

string strpbrk ( string $haystack , string $char_list )

strpbrk() busca la cadena haystack por una char_list.

Parámetros

haystack

La cadena en donde char_list es buscada.

char_list

Este parámetro es sensible a mayúsculas y minúsculas.

Valores devueltos

Devuelve una cadena que empieza desde el caracter encontrado, o FALSE si no se encuentra.

Ejemplos

Ejemplo #1 Ejemplo de strpbrk()

<?php

$texto = 'Este es un texto Simple.';

// esto imprime "e es un texto Simple." ya que 'e' coincide primero
echo strpbrk($texto, 'me');

// esto imprime "Simple." ya que los caracteres son sensibles a mayúsculas/minúsculas
echo strpbrk($texto, 'S');
?>

Ver también

  • strpos() - Encuentra la posición de la primera ocurrencia de un substring en un string
  • strstr() - Encuentra la primera aparición de un string
  • preg_match() - Realiza una comparación con una expresión regular

strncmp
strpos
Funciones de strings


Encuentra la posición de la primera ocurrencia de un substring en un string

strpbrk
strrchr
Funciones de strings
PHP Manual

strpos

(PHP 4, PHP 5)

strpos — Encuentra la posición de la primera ocurrencia de un substring en un string

Descripción

mixed strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )

Encuentra la posición numérica de la primera ocurrencia del needle (aguja) en el string haystack (pajar).

Parámetros

haystack

El string en donde buscar.

needle

Si la needle no es una cadena, es convertida a integer y se interpreta como el valor ordinal de un carácter.

offset

Si se específica, la búsqueda iniciará en éste número de caracteres contados desde el inicio del string. A diferencia de strrpos() y strripos(), el offset no puede ser negativo.

Valores devueltos

Devuelve la posición donde la aguja existe, en relación al inicio del string haystack (independiente del offset). También tener en cuenta que las posiciones de inicio de los string empiezan en 0 y no 1.

Devuelve FALSE si no fue encontrada la aguja.

Advertencia

Esta función puede devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se evalúa como FALSE. 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.

Ejemplos

Ejemplo #1 Usando ===

<?php
$mystring = 'abc';
$findme   = 'a';
$pos = strpos($mystring, $findme);

// Nótese el uso de ===. Puesto que == simple no funcionará como se espera
// porque la posición de 'a' está en el 1° (primer) caracter.
if ($pos === false) {
    echo "La cadena '$findme' no fue encontrada en la cadena '$mystring'";
} else {
    echo "La cadena '$findme' fue encontrada en la cadena '$mystring'";
    echo " y existe en la posición $pos";
}
?>

Ejemplo #2 Using !==

<?php
$mystring = 'abc';
$findme   = 'a';
$pos = strpos($mystring, $findme);

// El operador !== también puede ser usado. Puesto que != no funcionará como se espera
// porque la posición de 'a' es 0. La declaración (0 != false) se evalúa a
// false.
if ($pos !== false) {
     echo "La cadena '$findme' fue encontrada en la cadena '$mystring'";
         echo " y existe en la posición $pos";
} else {
     echo "La cadena '$findme' no fue encontrada en la cadena '$mystring'";
}
?>

Ejemplo #3 Uso de offset

<?php
// Se puede buscar por el caracter, ignorando cualquier cosa antes del offset
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, no 0
?>

Notas

Nota: Esta función es segura binariamente.

Ver también

  • stripos() - Encuentra la posición de la primera aparición de un substring insensible a mayúsculas y minúsculas en in string
  • strrpos() - Encuentra la posición de la última aparición de un substring en un string
  • strripos() - Encuentra la posición de la última aparición de un substring insensible a mayúsculas y minúsculas en un string
  • strstr() - Encuentra la primera aparición de un string
  • strpbrk() - Buscar una cadena por cualquiera de los elementos de un conjunto de caracteres
  • substr() - Devuelve parte de una cadena
  • preg_match() - Realiza una comparación con una expresión regular

strpbrk
strrchr
Funciones de strings


Encuentra la última aparición de un caracter en un string

strpos
strrev
Funciones de strings
PHP Manual

strrchr

(PHP 4, PHP 5)

strrchr — Encuentra la última aparición de un caracter en un string

Descripción

string strrchr ( string $haystack , mixed $needle )

Esta función devuelve la porción de haystack la cual comienza en la última aparición de needle y que va hasta el final de haystack.

Parámetros

haystack

El string en donde buscar

needle

Si needle contiene más de un caracter, sólo se utiliza el primero. Este comportamiento es diferente que el de strstr().

Si needle no es un string, se convierte en un entero y se aplica como el valor ordinal de un caracter.

Valores devueltos

Esta función devuelve la porción de string o FALSE si no se encuentra needle.

Historial de cambios

Versión | Descripción
4.3.0 | Ahora esta función es segura a nivel binario.

Ejemplos

Ejemplo #1 Ejemplo de strrchr()

<?php
// obtiene el último directorio en $PATH
$dir = substr(strrchr($PATH, ":"), 1);

// obtiene todo lo que está después de la última nueva línea
$text = "Line 1\nLine 2\nLine 3";
$last = substr(strrchr($text, 10), 1 );
?>

Notas

Nota: Esta función es segura binariamente.

Ver también

  • strstr() - Encuentra la primera aparición de un string
  • strrpos() - Encuentra la posición de la última aparición de un substring en un string

strpos
strrev
Funciones de strings


Invierte una string

strrchr
strripos
Funciones de strings
PHP Manual

strrev

(PHP 4, PHP 5)

strrev — Invierte una string

Descripción

string strrev ( string $string )

devuelve la cadena, invertida.

Parámetros

cadena

La cadena que será invertida

Valores devueltos

devuelve la cadena invertida.

Ejemplos

Ejemplo #1 Invertir una cadena con strrev()

<?php
echo strrev("Hello world!"); // outputs "!dlrow olleH"
?>

strrchr
strripos
Funciones de strings


Encuentra la posición de la última aparición de un substring insensible a mayúsculas y minúsculas en un string

strrev
strrpos
Funciones de strings
PHP Manual

strripos

(PHP 5)

strripos — Encuentra la posición de la última aparición de un substring insensible a mayúsculas y minúsculas en un string

Descripción

int strripos ( string $haystack , string $needle [, int $offset = 0 ] )

Encuentra la posición de la última aparición de needle (aguja) en el string haystack (pajar).

A diferencia de strrpos(), strripos() es insensible a mayúsculas y minúsculas.

Parámetros

haystack

El string en donde buscar.

needle

Si needle no es un string, se convierte a un integer y se aplica como el valor ordinal de un caracter.

offset

Si se especifica, la búsqueda iniciará en éste número de caracteres contados desde el comienzo del string. Si el valor es negativo, entonces la búsqueda iniciará desde esa cantidad de caracteres desde el final del string, buscando hacia atrás.

Valores devueltos

Devuelve la posición donde la aguja existe, en relación al inicio del string haystack (independiente de la dirección de la búsqueda o del offset). También tener en cuenta que las posiciones de inicio de los string empiezan en 0 y no 1.

Devuelve FALSE si no fue encontrada la aguja.

Advertencia

Esta función puede devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se evalúa como FALSE. 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.

Ejemplos

Ejemplo #1 Un ejemplo simple de strripos()

<?php
$haystack = 'ababcd';
$needle   = 'aB';

$pos      = strripos($haystack, $needle);

if ($pos === false) {
    echo "Sorry, we did not find ($needle) in ($haystack)";
} else {
    echo "Congratulations!\n";
    echo "We found the last ($needle) in ($haystack) at position ($pos)";
}
?>

El resultado del ejemplo sería:

   Congratulations!
   We found the last (aB) in (ababcd) at position (2)

Ver también

  • strpos() - Encuentra la posición de la primera ocurrencia de un substring en un string
  • stripos() - Encuentra la posición de la primera aparición de un substring insensible a mayúsculas y minúsculas en in string
  • strrpos() - Encuentra la posición de la última aparición de un substring en un string
  • strrchr() - Encuentra la última aparición de un caracter en un string
  • stristr() - strstr insensible a mayúsculas y minúsculas
  • substr() - Devuelve parte de una cadena

strrev
strrpos
Funciones de strings


Encuentra la posición de la última aparición de un substring en un string

strripos
strspn
Funciones de strings
PHP Manual

strrpos

(PHP 4, PHP 5)

strrpos — Encuentra la posición de la última aparición de un substring en un string

Descripción

int strrpos ( string $haystack , string $needle [, int $offset = 0 ] )

Encuentra la posición númerica de la última aparición de needle (aguja) en el string haystack (pajar).

Parámetros

haystack

El string donde buscar.

needle

Si needle no es un string, se convierte en un integer y se aplica como el valor ordinal de un caracter.

offset

Si se especifica, la búsqueda iniciará en éste número de caracteres contados desde el comienzo del string. Si el valor es negativo, entonces la búsqueda iniciará desde esa cantidad de caracteres desde el final del string, buscando hacia atrás.

Valores devueltos

Devuelve la posición donde la aguja existe, en relación al inicio del string haystack (independiente de la dirección de la búsqueda o del offset). También tener en cuenta que las posiciones de inicio de los string empiezan en 0 y no 1.

Devuelve FALSE si no fue encontrada la aguja.

Advertencia

Esta función puede devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se evalúa como FALSE. 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.

Historial de cambios

Versión | Descripción
5.0.0 | El needle puede ser ahora un string de más de un carácter.
5.0.0 | Fue introducido el parámetro offset.

Ejemplos

Ejemplo #1 Verificando si hay una aguja en el pajar

Es fácil confundir el valor devuelto por "caracter encontrado en la posición 0" y "caracter no encontrado". Aquí está la forma de detectar la diferencia:

<?php

$pos = strrpos($mystring, "b");
if ($pos === false) { // nota: tres signos de igual
    // no encontrado...
}

?>

Ejemplo #2 Buscando con desplazamientos

<?php
$foo = "0123456789a123456789b123456789c";

var_dump(strrpos($foo, '7', -5));  // Comienza mirando hacia atrás cinco posiciones
                                   // desde el final. Resultado: int(17)

var_dump(strrpos($foo, '7', 20));  // Inicia la búsqueda 20 posiciones en el
                                   // string. Resultado: int(27)

var_dump(strrpos($foo, '7', 28));  // Resultado: bool(false)
?>

Ver también

  • strpos() - Encuentra la posición de la primera ocurrencia de un substring en un string
  • stripos() - Encuentra la posición de la primera aparición de un substring insensible a mayúsculas y minúsculas en in string
  • strripos() - Encuentra la posición de la última aparición de un substring insensible a mayúsculas y minúsculas en un string
  • strrchr() - Encuentra la última aparición de un caracter en un string
  • substr() - Devuelve parte de una cadena

strripos
strspn
Funciones de strings


Encuentra la longitud del segmento inicial de un string que consista únicamente en caracteres contenidos dentro de una máscara dada.

strrpos
strstr
Funciones de strings
PHP Manual

strspn

(PHP 4, PHP 5)

strspn — Encuentra la longitud del segmento inicial de un string que consista únicamente en caracteres contenidos dentro de una máscara dada.

Descripción

int strspn ( string $subject , string $mask [, int $start [, int $length ]] )

Encuentra la longitud del segmento inicial de subject que contiene solamente caracteres de mask.

Si start y length son omitidos, entonces la totalidad de subject será examinada. Si son incluidos, entonces el efecto será el mismo que llamando strspn(substr($subject, $start, $length), $mask) (ver substr para más información).

La línea de código:

<?php
$var = strspn("42 is the answer to the 128th question.", "1234567890");
?>
asignará 2 a $var, debido a que el string "42" es el segmento inicial de subject que consiste solamente en caracteres contenidos dentro de "1234567890".

Parámetros

subject

El string a examinar.

mask

La lista de caracteres permitidos.

start

La posición en subject donde iniciar la búsqueda.

Si start es dado y no es negativo, entonces strspn() comenzará a examinar a subject en la posición startésima. Por ejemplo, en el string 'abcdef', el caracter en la posición 0 es 'a', el caracter en la posición 2 es 'c' y así sucesivamente.

Si start es dado y es negativo, entonces strspn() comenzará a examinar subject desde la startésima posición desde el final de subject.

length

La longitud del segmento de subject a examinar.

Si length es dado y no es negativo, entonces subject será examinado por el número length de caracteres después de la posición de inicio.

Si length es dado y es negativo, entonces subject sera examinado desde la posición de inicio hasta el número length de caracteres desde el final de subject.

Valores devueltos

Devuelve la longitud del segmento inicial de subject el cual enteramente consiste en caracteres en mask.

Historial de cambios

Versión | Descripción
4.3.0 | Fueron agregados los parámetros start y length

Ejemplos

Ejemplo #1 Ejemplo de strspn()

<?php
// subject no inicia con ningún caracter de mask
var_dump(strspn("foo", "o"));

// examina dos caracteres de subject iniciando en el offset 1
var_dump(strspn("foo", "o", 1, 2));

// examina un caracter de subject iniciando en el offset 1
var_dump(strspn("foo", "o", 1, 1));
?>

El resultado del ejemplo sería:

int(0)
int(2)
int(1)

Notas

Nota: Esta función es segura binariamente.

Ver también

  • strcspn() - Encuentra la longitud del segmento inicial que no coincida con la máscara

strrpos
strstr
Funciones de strings


Encuentra la primera aparición de un string

strspn
strtok
Funciones de strings
PHP Manual

strstr

(PHP 4, PHP 5)

strstr — Encuentra la primera aparición de un string

Descripción

string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )

Devuelve parte del string haystack iniciando desde e incluyendo la primera aparición de needle (aguja) hasta el final del haystack (pajar).

Nota:

Esta función es sensible a mayúsculas. Para búsquedas sin importar las mayúsculas, use stristr().

Nota:

Si solo se quiere saber si un needle determinado aparece en un haystack, se utiliza la función strpos() que es más rápida y requiere menos memoria.

Parámetros

haystack

El string en donde buscar.

needle

Si needle no es un string, será convertido como número entero y se aplicará el valor ordinal de caracter.

before_needle

Si se define como TRUE, strstr() devolverá la parte del haystack antes de la primera ocurrencia de needle (excluyendo el needle).

Valores devueltos

Devuelve una parte de un string o FALSE si no se encuentra el needle.

Historial de cambios

Versión | Descripción
5.3.0 | Se añadió el parámetro opcional before_needle.
4.3.0 | strstr() se hizo segura binariamente.

Ejemplos

Ejemplo #1 Ejemplo de strstr()

<?php
$email  = 'name@example.com';
$domain = strstr($email, '@');
echo $domain; // mostrará @example.com

$user = strstr($email, '@', true); // Desde PHP 5.3.0
echo $user; // mostrará name
?>

Ver también

  • stristr() - strstr insensible a mayúsculas y minúsculas
  • strrchr() - Encuentra la última aparición de un caracter en un string
  • strpos() - Encuentra la posición de la primera ocurrencia de un substring en un string
  • strpbrk() - Buscar una cadena por cualquiera de los elementos de un conjunto de caracteres
  • preg_match() - Realiza una comparación con una expresión regular

strspn
strtok
Funciones de strings


Tokeniza string

strstr
strtolower
Funciones de strings
PHP Manual

strtok

(PHP 4, PHP 5)

strtok — Tokeniza string

Descripción

string strtok ( string $str , string $token )
string strtok ( string $token )

strtok() divide un string (str) en strings más pequeños (tokens), con cada token delimitado por cualquier caracter de token. Es decir, si se tiene un string como "Este es un string de ejemplo", se puede tokenizar en sus palabras individuales utilizando el caracter de espacio como el token.

Nótese que sólo la primera llamada a strtok utiliza el argumento string. Cada llamada subsecuente a strtok sólo necesita el token a utilizar, ya que realiza un seguimiento del lugar en que se encuentra en el string actual. Para volver a empezar, o para dividir una cadena nueva, simplemente se llama a strtok de nuevo con el argumento string para inicializarlo. Tener en cuenta que se pueden poner tokens múltiples como parámetro. El string será tokenizado cuando cualquiera de los caracteres en el argumento sea encontrado.

Parámetros

str

El string a ser dividido en strings más pequeños (tokens).

token

El delimitador usado cuando se divide str.

Valores devueltos

Un token de string.

Ejemplos

Ejemplo #1 Ejemplo de strtok()

<?php
$string = "This is\tan example\nstring";
/* Utiliza tabulador y nueva línea como caracteres de tokenización, así  */
$tok = strtok($string, " \n\t");

while ($tok !== false) {
    echo "Word=$tok<br />";
    $tok = strtok(" \n\t");
}
?>

El comportamiento cuando se encuentra una parte vacía, cambió con PHP 4.1.0. El comportamiento anterior devolvía una cadena vacía, mientras que el comportamiento nuevo y correcto simplemente se salta esa parte del string:

Ejemplo #2 Comportamiento anterior de strtok()

<?php
$first_token  = strtok('/something', '/');
$second_token = strtok('/');
var_dump($first_token, $second_token);
?>

El resultado del ejemplo sería:

    string(0) ""
    string(9) "something"

Ejemplo #3 Comportamiento nuevo de strtok()

<?php
$first_token  = strtok('/something', '/');
$second_token = strtok('/');
var_dump($first_token, $second_token);
?>

El resultado del ejemplo sería:

    string(9) "something"
    bool(false)

Notas

Advertencia

Esta función puede devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se evalúa como FALSE. 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.

Ver también

  • split() - Divide una cadena en una matriz mediante una expresión regular
  • explode() - Divide una cadena en varias cadenas

strstr
strtolower
Funciones de strings


Convierte una cadena a minúsculas

strtok
strtoupper
Funciones de strings
PHP Manual

strtolower

(PHP 4, PHP 5)

strtolower — Convierte una cadena a minúsculas

Descripción

string strtolower ( string $str )

Devuelve una string con todos los caracteres alfabéticos convertidos a minúsculas.

Nótese que 'alfabético' se determina por la localización actual. Por ejemplo, los carácteres de localización "C" como umlaut-a (Ä) no serán convertidos.

Parámetros

str

La cadena de entrada.

Valores devueltos

Devuelve la cadena en minúsculas.

Ejemplos

Ejemplo #1 Ejemplo de strtolower()

<?php
$str = "Mary Had A Little Lamb and She LOVED It So";
$str = strtolower($str);
echo $str; // Prints mary had a little lamb and she loved it so
?>

Notas

Nota: Esta función es segura binariamente.

Ver también

  • strtoupper() - Convierte un string a mayúsculas
  • ucfirst() - Convierte el primer caracter de una cadena a mayúsculas
  • ucwords() - Convierte a mayúsculas el primer caracter de cada palabra en una cadena
  • mb_strtolower() - Convierte una cadena de caracteres a minúsculas

strtok
strtoupper
Funciones de strings


Convierte un string a mayúsculas

strtolower
strtr
Funciones de strings
PHP Manual

strtoupper

(PHP 4, PHP 5)

strtoupper — Convierte un string a mayúsculas

Descripción

string strtoupper ( string $string )

Devuelve el string con todos los caracteres alfabéticos convertidos a mayúsculas.

Notar que ser 'alfabético' está determinado por la configuración regional actual. Por ejemplo, en la configuración regional por defecto "C" caracteres como la diéresis-a (ä) no se convertirán.

Parámetros

string

El string de entrada.

Valores devueltos

Devuelve el string en mayúsculas.

Ejemplos

Ejemplo #1 Ejemplo de strtoupper()

<?php
$str = "Mary Had A Little Lamb and She LOVED It So";
$str = strtoupper($str);
echo $str; // muestra: MARY HAD A LITTLE LAMB AND SHE LOVED IT SO
?>

Notas

Nota: Esta función es segura binariamente.

Ver también

  • strtolower() - Convierte una cadena a minúsculas
  • ucfirst() - Convierte el primer caracter de una cadena a mayúsculas
  • ucwords() - Convierte a mayúsculas el primer caracter de cada palabra en una cadena
  • mb_strtoupper() - Convierte un string en mayúsculas

strtolower
strtr
Funciones de strings


Convierte caracteres o reemplaza substrings

strtoupper
substr_compare
Funciones de strings
PHP Manual

strtr

(PHP 4, PHP 5)

strtr — Convierte caracteres o reemplaza substrings

Descripción

string strtr ( string $str , string $from , string $to )
string strtr ( string $str , array $replace_pairs )

Si se dan tres argumentos, esta función devuelve una copia de str, donde todas las apariciones de cada carácter (byte simple) en from han sido convertidas al carácter correspondiente en to, es decir, todas las apariciones de $from[$n] han sido reemplazadas con $to[$n], donde $n es un índice válido en ambos argumentos.

Si from y to tienen distinta logitud, se ignoran los caracteres extra del string más largo. La longitud de str será la misma que la del valor devuelto.

Si se dan dos argumentos, el segundo debería ser un array en la forma array('from' => 'to', ...). El valor devuelto es un string donde todas las apariciones de las claves del array han sido reemplazadas por los valores correspondientes. Las claves más largas se probarán primero. Una vez un substring ha sido reemplazado, su nuevo valor no se buscará de nuevo.

En este caso, las claves y los valores pueden tener cualquier longitud, siempre que no haya claves vacías; además, la longitud del valor devuelto podría diferir de la de str. Sin embargo, esta función será la más eficiente cuando todas las claves tienen el mismo tamaño.

Parámetros

string

El string a convertir.

from

El string a convertir a to.

to

El string que reemplaza a from.

replace_pairs

El parámetro replace_pairs se podría usar en lugar de to y from, en cuyo caso sería un array en la forma array('from' => 'to', ...).

Valores devueltos

Devuelve el string convertido.

Si replace_pairs contiene una clave que es un string vacío (""), devolverá FALSE. Si str no es un escalar, no será convertido a un string, se emitirá una advertencia y devolverá NULL.

Ejemplos

Ejemplo #1 Ejemplo de strtr()

<?php
//De esta forma, strtr() hace una conversión byte a byte
//Por lo tanto, aquí se asume una codificación de un solo byte:
$addr = strtr($addr, "äåö", "aao");
?>

El siguiente ejemplo muestra el comportamiento de strtr() cuando se llama con sólo dos argumentos. Observe la preferencia de los reemplazos ("h" no se toma porque hay coincidencias más largas) y cómo el texto remplazado no se busca de nuevo.

Ejemplo #2 Ejemplo de strtr() con dos argumentos

<?php
$conv = array("h" => "-", "hola" => "hey", "hey" => "hola");
echo strtr("hey, dije hola", $conv);
?>

El resultado del ejemplo sería:

hola, dije hey

Los dos modos de comportamiento son muy diferentes. Con tres argumentos, strtr() reemplazará bytes; con dos, podría reemplazar substrings más largos.

Ejemplo #3 Comparación del comportamiento de strtr()

<?php
echo strtr("baab", "ab", "01"),"\n";

$conv = array("ab" => "01");
echo strtr("baab", $conv);
?>

El resultado del ejemplo sería:

1001
ba01

Ver también

  • str_replace() - Reemplaza todas las apariciones del string buscado con el string de reemplazo
  • preg_replace() - Realiza una búsqueda y sustitución de una expresión regular

strtoupper
substr_compare
Funciones de strings


Comparación segura a nivel binario de dos o más cadenas desde un índice, hasta una longitud dada de caracteres

strtr
substr_count
Funciones de strings
PHP Manual

substr_compare

(PHP 5)

substr_compare — Comparación segura a nivel binario de dos o más cadenas desde un índice, hasta una longitud dada de caracteres

Descripción

int substr_compare ( string $main_str , string $str , int $offset [, int $length [, bool $case_insensitivity = false ]] )

substr_compare() compara main_str desde la posición offset con str hasta la cantidad length de caracteres.

Parámetros

main_str

El string principal a comparar.

str

El string secundario a comparar.

offset

La posición de inicio para la comparación. Si es negativo, se comienza a contar desde el final del string.

length

La longitud de la comparación. El valor predeterminado es el que sea mayor entre la longitud de str comparado con la longitud de main_str menos el offset.

case_insensitivity

Si case_insensitivity es TRUE, la comparación es insensible a mayúsculas y minúsculas.

Valores devueltos

Devuelve < 0 si main_str, desde la posición offset, es menor que str, > 0 si es mayor que str, y 0 si son iguales. Si offset es igual o mayor que la longitud de main_str, o length se establece y es menor que 1, substr_compare() muestra una advertencia y devuelve FALSE.

Historial de cambios

Versión | Descripción
5.1.0 | Se añadió la posibilidad de usar un offset negativo.

Ejemplos

Ejemplo #1 Un ejemplo de substr_compare()

<?php
echo substr_compare("abcde", "bc", 1, 2); // 0
echo substr_compare("abcde", "de", -2, 2); // 0
echo substr_compare("abcde", "bcg", 1, 2); // 0
echo substr_compare("abcde", "BC", 1, 2, true); // 0
echo substr_compare("abcde", "bc", 1, 3); // 1
echo substr_compare("abcde", "cd", 1, 2); // -1
echo substr_compare("abcde", "abc", 5, 1); // advertencia
?>

Ver también

  • strncmp() - Comparación segura a nivel binario de los primeros n caracteres entre strings

strtr
substr_count
Funciones de strings


Cuenta el número de apariciones del substring

substr_compare
substr_replace
Funciones de strings
PHP Manual

substr_count

(PHP 4, PHP 5)

substr_count — Cuenta el número de apariciones del substring

Descripción

int substr_count ( string $haystack , string $needle [, int $offset = 0 [, int $length ]] )

substr_count() devuelve el número de veces en que el substring needle aparece en el string haystack. Por favor nótese que needle es sensible a mayúsculas y minúsculas.

Nota:

Esta función no cuenta los substrings que se solapan. Véase el ejemplo de abajo!

Parámetros

haystack

El string dentro del cual buscar

needle

El substring a buscar

offset

El desplazamiento por dónde empezar a contar

length

La longitud máxima después del desplazamiento especificado para buscar el substring. Se emite una advertencia si offset más length es mayor que la longitud de haystack.

Valores devueltos

Esta función devuelve un integer.

Historial de cambios

Versión | Descripción
5.1.0 | Los parámetros offset y length fueron agregados

Ejemplos

Ejemplo #1 Ejemplo de substr_count()

<?php
$text = 'This is a test';
echo strlen($text); // 14

echo substr_count($text, 'is'); // 2

// el string es reducido a 's is a test', así que muestra 1
echo substr_count($text, 'is', 3);

// el texto es reducido a 's i', así que muestra 0
echo substr_count($text, 'is', 3, 3);

// genera una advertencia debido a que 5+10 > 14
echo substr_count($text, 'is', 5, 10);

// muestra sólo 1, debido a que no cuenta substrings solapados.
$text2 = 'gcdgcdgcd';
echo substr_count($text2, 'gcdgcd');
?>

Ver también

  • count_chars() - Devuelve información sobre los caracteres usados en una cadena
  • strpos() - Encuentra la posición de la primera ocurrencia de un substring en un string
  • substr() - Devuelve parte de una cadena
  • strstr() - Encuentra la primera aparición de un string

substr_compare
substr_replace
Funciones de strings


Reemplaza el texto dentro de una porción de un string

substr_count
substr
Funciones de strings
PHP Manual

substr_replace

(PHP 4, PHP 5)

substr_replace — Reemplaza el texto dentro de una porción de un string

Descripción

mixed substr_replace ( mixed $string , mixed $replacement , mixed $start [, mixed $length ] )

substr_replace() reemplaza una copia de string delimitada por los parámetros start y (opcionalmente) length con el string dado en replacement.

Parámetros

string

El string de entrada.

Un array de strings puede ser proporcionado, en el caso de que las sustituciones ocurran, a su vez, en cada string. En este caso, los parámetros replacement, start y length pueden ser proporcionados ya sea como valores escalares que serán aplicados a cada string de entrada, a su vez, o como arrays, en cuyo caso el correspondiente elemento del array será usado para cada string de entrada.

replacement

El string de reemplazo.

start

Si start es positivo, el reemplazo iniciará en el startésimo desplazamiento dentro del string.

Si start es negativo, el reemplazo iniciará en el startésimo caracter desde el final del string.

length

Si se da y es positivo, representa la longitud de la porción de string que se va a reemplazar. Si es negativo, representa el número de caracteres desde el final del string en el cual se deja de sustituir. Si no se da, entonces se usará por defecto strlen( string ); es decir que la sustitución terminará en el final de string. Por supuesto, si length es cero, entonces esta función tendrá el efecto de la inserción de replacement dentro de string en el desplazamiento dado por start.

Valores devueltos

El string del resultado es devuelto. Si string es un array entonces un array es devuelto.

Historial de cambios

Versión | Descripción
4.3.3 | Todos los parámetros aceptan ahora arrays.

Ejemplos

Ejemplo #1 Ejemplo de substr_replace()

<?php
$var = 'ABCDEFGH:/MNRPQR/';
echo "Original: $var<hr />\n";

/* Estos dos ejemplos reemplazan todo $var por 'bob'. */
echo substr_replace($var, 'bob', 0) . "<br />\n";
echo substr_replace($var, 'bob', 0, strlen($var)) . "<br />\n";

/* Inserta 'bob' justo al comienzo de $var. */
echo substr_replace($var, 'bob', 0, 0) . "<br />\n";

/* Estos dos siguientes reemplazan 'MNRPQR' en $var por 'bob'. */
echo substr_replace($var, 'bob', 10, -1) . "<br />\n";
echo substr_replace($var, 'bob', -7, -1) . "<br />\n";

/* Elimina 'MNRPQR' de $var. */
echo substr_replace($var, '', 10, -1) . "<br />\n";
?>

Ejemplo #2 Usando substr_replace() para reemplazar múltiples strings de una vez

<?php
$input = array('A: XXX', 'B: XXX', 'C: XXX');

// Un caso simple: remplazar XXX en cada string con YYY.
echo implode('; ', substr_replace($input, 'YYY', 3, 3))."\n";

// Un caso más complicado donde cada remplazo es diferente.
$replace = array('AAA', 'BBB', 'CCC');
echo implode('; ', substr_replace($input, $replace, 3, 3))."\n";

// Remplaza un número diferente de caracteres cada vez.
$length = array(1, 2, 3);
echo implode('; ', substr_replace($input, $replace, 3, $length))."\n";
?>

El resultado del ejemplo sería:

A: YYY; B: YYY; C: YYY
A: AAA; B: BBB; C: CCC
A: AAAXX; B: BBBX; C: CCC

Notas

Nota: Esta función es segura binariamente.

Ver también

  • str_replace() - Reemplaza todas las apariciones del string buscado con el string de reemplazo
  • substr() - Devuelve parte de una cadena
  • String access and modification by character

substr_count
substr
Funciones de strings


Devuelve parte de una cadena

substr_replace
trim
Funciones de strings
PHP Manual

substr

(PHP 4, PHP 5)

substr — Devuelve parte de una cadena

Descripción

string substr ( string $string , int $start [, int $length ] )

Devuelve una parte del string definida por los parámetros start y length.

Parámetros

string

La cadena de entrada. Debe ser de almenos de un caracter.

start

Si start no es negativo, la cadena devuelta comenzará en el start de la posición del string empezando desde cero. Por ejemplo, en la cadena 'abcdef', el caracter en la posición 0 es 'a', el caracter en la posición 2 es 'c', y así sucesivamente.

Si start es negativo, la cadena devuelta empezará en start contando desde el final de string.

Si la longitud del string es menor o igual a start, la función devolverá FALSE.

Ejemplo #1 Usando un start negativo

<?php
$rest = substr("abcdef", -1);    // devuelve "f"
$rest = substr("abcdef", -2);    // devuelve "ef"
$rest = substr("abcdef", -3, 1); // devuelve "d"
?>

length

Si se especifica el length y es positivo, la cadena devuelta contendrá como máximo de caracteres de la cantidad dada por length que comienza en start (dependiedo de la longitud del string).

Si se especifica length es negativo, entonces ese número de caracteres se omiten al final del string (después de la posición inicial se ha calculado a start es negativo). Si start indica la posición de su truncamiento o más allá, se devolverá false.

Si se omite el length, la subcadena empezará por start hasta el final de la cadena donde será devuelta.

Si se especifica length y es 0, FALSE o NULL devolverá una cadena vacía.

Ejemplo #2 Usando un length negativo

<?php
$rest = substr("abcdef", 0, -1);  // devuelve "abcde"
$rest = substr("abcdef", 2, -1);  // devuelve "cde"
$rest = substr("abcdef", 4, -4);  // devuelve false
$rest = substr("abcdef", -3, -1); // devuelve "de"
?>

Valores devueltos

Devuelve la parte extraída del string, o FALSE en caso de error o un string vacío.

Historial de cambios

Versión | Descripción
5.2.2 - 5.2.6 | Si el parámetro start indica una posición negativa de truncamiento o más allá, se devolverá false. En otras versiones de PHP obtienen la cadena desde el principio.

Ejemplos

Ejemplo #3 Uso básico de substr()

<?php
echo substr('abcdef', 1);     // bcdef
echo substr('abcdef', 1, 3);  // bcd
echo substr('abcdef', 0, 4);  // abcd
echo substr('abcdef', 0, 8);  // abcdef
echo substr('abcdef', -1, 1); // f

// El acceso a caracteres específicos en una cadena
// se puede conseguir usando "corchetes"
$string = 'abcdef';
echo $string[0];                 // a
echo $string[3];                 // d
echo $string[strlen($string)-1]; // f

?>

Ejemplo #4 Comportamiento de casting de substr()

<?php
class apple {
    public function __toString() {
        return "green";
    }
}

echo "1) ".var_export(substr("pear", 0, 2), true).PHP_EOL;
echo "2) ".var_export(substr(54321, 0, 2), true).PHP_EOL;
echo "3) ".var_export(substr(new apple(), 0, 2), true).PHP_EOL;
echo "4) ".var_export(substr(true, 0, 1), true).PHP_EOL;
echo "5) ".var_export(substr(false, 0, 1), true).PHP_EOL;
echo "6) ".var_export(substr("", 0, 1), true).PHP_EOL;
echo "7) ".var_export(substr(1.2e3, 0, 4), true).PHP_EOL;
?>

El resultado del ejemplo sería:

1) 'pe'
2) '54'
3) 'gr'
4) '1'
5) false
6) false
7) '1200'

Errores/Excepciones

Devuelve FALSE en caso de error.

<?php
var_dump(substr('a', 1)); // bool(false)
?>

Ver también

  • strrchr() - Encuentra la última aparición de un caracter en un string
  • substr_replace() - Reemplaza el texto dentro de una porción de un string
  • preg_match() - Realiza una comparación con una expresión regular
  • trim() - Elimina espacio en blanco (u otro tipo de caracteres) del inicio y el final de la cadena
  • mb_substr() - Obtiene parte de una cadena de caracteres
  • wordwrap() - Ajusta un string hasta un número dado de caracteres
  • Acceso a cadenas y modificación por caracter

substr_replace
trim
Funciones de strings


Elimina espacio en blanco (u otro tipo de caracteres) del inicio y el final de la cadena

substr
ucfirst
Funciones de strings
PHP Manual

trim

(PHP 4, PHP 5)

trim — Elimina espacio en blanco (u otro tipo de caracteres) del inicio y el final de la cadena

Descripción

string trim ( string $str [, string $charlist = " \t\n\r\0\x0B" ] )

Esta función devuelve una cadena con los espacios en blanco eliminados del inicio y final del str. sin el segundo parámetro, trim() eliminará estos caracteres:

  • " " (ASCII 32 (0x20)), espacio simple.
  • "\t" (ASCII 9 (0x09)), tabulación.
  • "\n" (ASCII 10 (0x0A)), salto de línea.
  • "\r" (ASCII 13 (0x0D)), retorno de carro.
  • "\0" (ASCII 0 (0x00)), el byte NUL.
  • "\x0B" (ASCII 11 (0x0B)), tabulación vertical.

Parámetros

str

La cadena que será recortada.

charlist

De manera opcional, los caracteres a ser eliminados pueden ser especificados usando el parámetro charlist. Simplemente lista todos los caracteres que se quieran eliminar. Se puede especificar un rango de caracteres usando ...

Valores devueltos

La cadena recortada.

Historial de cambios

Versión | Descripción
4.1.0 | Se añadió el parámetro charlist.

Ejemplos

Ejemplo #1 Ejemplo de uso de trim()

<?php

$text   = "\t\tThese are a few words :) ...  ";
$binary = "\x09Example string\x0A";
$hello  = "Hello World";
var_dump($text, $binary, $hello);

print "\n";

$trimmed = trim($text);
var_dump($trimmed);

$trimmed = trim($text, " \t.");
var_dump($trimmed);

$trimmed = trim($hello, "Hdle");
var_dump($trimmed);

$trimmed = trim($hello, 'HdWr');
var_dump($trimmed);

// Elimina los caracteres de control ASCII al inicio y final de $binary
// (from 0 to 31 inclusive)
$clean = trim($binary, "\x00..\x1F");
var_dump($clean);

?>

El resultado del ejemplo sería:

string(32) "        These are a few words :) ...  "
string(16) "    Example string
"
string(11) "Hello World"

string(28) "These are a few words :) ..."
string(24) "These are a few words :)"
string(5) "o Wor"
string(9) "ello Worl"
string(14) "Example string"

Ejemplo #2 Uso de trim() en valores de un array

<?php
function trim_value(&$value)
{
    $value = trim($value);
}

$fruit = array('apple','banana ', ' cranberry ');
var_dump($fruit);

array_walk($fruit, 'trim_value');
var_dump($fruit);

?>

El resultado del ejemplo sería:

array(3) {
  [0]=>
  string(5) "apple"
  [1]=>
  string(7) "banana "
  [2]=>
  string(11) " cranberry "
}
array(3) {
  [0]=>
  string(5) "apple"
  [1]=>
  string(6) "banana"
  [2]=>
  string(9) "cranberry"
}

Notas

Nota: Posible trampa: eliminando caracteres de en medio

Debido a que trim() recorta los caracteres del principio y el final de un string, puede ser confuso cuando caracteres son (o no son) removidos del medio. trim('abc', 'bad') remueve tanto 'a' como 'b' debido a que cuando recorta 'a' entonces 'b' se mueve al inicio para también ser recortado. Por lo tanto, es por eso que "funciona", mientras que en trim('abc', 'b'), aparentemente no es así.

Ver también

  • ltrim() - Retira espacios en blanco (u otros caracteres) del inicio de un string
  • rtrim() - Retira los espacios en blanco (u otros caracteres) del final de un string
  • str_replace() - Reemplaza todas las apariciones del string buscado con el string de reemplazo

substr
ucfirst
Funciones de strings


Convierte el primer caracter de una cadena a mayúsculas

trim
ucwords
Funciones de strings
PHP Manual

ucfirst

(PHP 4, PHP 5)

ucfirst — Convierte el primer caracter de una cadena a mayúsculas

Descripción

string ucfirst ( string $str )

Devuelve una cadena con el primer caracter str en máyusculas, si el caracter es alfabético.

Nótese que 'alfabético' se determina por la localización actual. Por ejemplo, los carácteres de localización "C" como umlaut-a (ä) no serán convertidos.

Parámetros

str

La cadena de entrada.

Valores devueltos

Devuelve la cadena resultante.

Ejemplos

Ejemplo #1 Ejemplo de ucfirst()

<?php
$foo = 'hello world!';
$foo = ucfirst($foo);             // Hello world!

$bar = 'HELLO WORLD!';
$bar = ucfirst($bar);             // HELLO WORLD!
$bar = ucfirst(strtolower($bar)); // Hello world!
?>

Ver también

  • lcfirst() - Pasa a minúscula el primer caracter de un string
  • strtolower() - Convierte una cadena a minúsculas
  • strtoupper() - Convierte un string a mayúsculas
  • ucwords() - Convierte a mayúsculas el primer caracter de cada palabra en una cadena

trim
ucwords
Funciones de strings


Convierte a mayúsculas el primer caracter de cada palabra en una cadena

ucfirst
vfprintf
Funciones de strings
PHP Manual

ucwords

(PHP 4, PHP 5)

ucwords — Convierte a mayúsculas el primer caracter de cada palabra en una cadena

Descripción

string ucwords ( string $str )

Devuelve una cadena con la primera letra de cada palabra str convertida a mayúsculas, si el caracter es alfanumérico.

La definición de una palabra es una cadena de caracteres que que es inmediatamente después de una espacio en blanco (pueden ser: espacio, form-feed, nueva línea, retorno de carro, tabulación horizonal y tabulación vertical).

Parámetros

str

La cadena de entrada.

Valores devueltos

Devuelve la cadena modificada.

Ejemplos

Ejemplo #1 Ejemplo de ucwords()

<?php
$foo = 'hello world!';
$foo = ucwords($foo);             // Hello World!

$bar = 'HELLO WORLD!';
$bar = ucwords($bar);             // HELLO WORLD!
$bar = ucwords(strtolower($bar)); // Hello World!
?>

Notas

Nota: Esta función es segura binariamente.

Ver también

  • strtoupper() - Convierte un string a mayúsculas
  • strtolower() - Convierte una cadena a minúsculas
  • ucfirst() - Convierte el primer caracter de una cadena a mayúsculas
  • mb_convert_case() - Realiza una conversión a mayúsculas/minúsculas de un string

ucfirst
vfprintf
Funciones de strings


Escribe un string con formato en un flujo

ucwords
vprintf
Funciones de strings
PHP Manual

vfprintf

(PHP 5)

vfprintf — Escribe un string con formato en un flujo

Descripción

int vfprintf ( resource $handle , string $format , array $args )

Escribe un string producido de acuerdo con el format en el recurso del flujo especificado mediante handle.

Opera como fprintf() pero acepta un array de argumentos, en lugar de un número variable de argumentos.

Parámetros

handle

format

Ver sprintf() para una descripción de format.

args

Valores devueltos

Devuelve la longitud del string de salida.

Ejemplos

Ejemplo #1 vfprintf(): números extendidos con ceros

<?php
if (!($fp = fopen('date.txt', 'w')))
    return;

vfprintf($fp, "%04d-%02d-%02d", array($year, $month, $day));
// escribirá la fecha con formato ISO en date.txt
?>

Ver también

  • printf() - Imprimir una cadena con formato
  • sprintf() - Devuelve un string formateado
  • sscanf() - Interpreta un string de entrada de acuerdo con un formato
  • fscanf() - Analiza la entrada desde un archivo de acuerdo a un formato
  • vsprintf() - Devuelve una cadena con formato
  • number_format() - Formatear un número con los miles agrupados

ucwords
vprintf
Funciones de strings


Muestra una cadena con formato

vfprintf
vsprintf
Funciones de strings
PHP Manual

vprintf

(PHP 4 >= 4.1.0, PHP 5)

vprintf — Muestra una cadena con formato

Descripción

int vprintf ( string $format , array $args )

Despliega los valores de un array como una cadena con formato de acuerdo al formato (el cual es descrito en la documentación de sprintf()).

Opera como printf() pero acepta un array como sus argumentos, en lugar de un número variable de argumentos.

Parámetros

format

Ver sprintf() para una descripción de format.

args

Valores devueltos

Devuelve la longitud de la cadena mostrada.

Ejemplos

Ejemplo #1 vprintf(): zero-padded integers

<?php
vprintf("%04d-%02d-%02d", explode('-', '1988-8-1')); // 1988-08-01
?>

Ver también

  • printf() - Imprimir una cadena con formato
  • sprintf() - Devuelve un string formateado
  • vsprintf() - Devuelve una cadena con formato

vfprintf
vsprintf
Funciones de strings


Devuelve una cadena con formato

vprintf
wordwrap
Funciones de strings
PHP Manual

vsprintf

(PHP 4 >= 4.1.0, PHP 5)

vsprintf — Devuelve una cadena con formato

Descripción

string vsprintf ( string $format , array $args )

Opera como sprintf() pero acepta un array de argumentos, en lugar de un número variable de argumentos.

Parámetros

format

Ver sprintf() para una descripción de format.

args

Valores devueltos

Devuelve los valores de un array como una cadena con formato de acuerdo a format (el cual es descrito en la documentación de sprintf()).

Ejemplos

Ejemplo #1 vsprintf(): zero-padded integers

<?php
print vsprintf("%04d-%02d-%02d", explode('-', '1988-8-1')); // 1988-08-01
?>

Ver también

  • sprintf() - Devuelve un string formateado
  • vprintf() - Muestra una cadena con formato

vprintf
wordwrap
Funciones de strings


Ajusta un string hasta un número dado de caracteres

vsprintf
Registro de cambios
Funciones de strings
PHP Manual

wordwrap

(PHP 4 >= 4.0.2, PHP 5)

wordwrap — Ajusta un string hasta un número dado de caracteres

Descripción

string wordwrap ( string $str [, int $width = 75 [, string $break = "\n" [, bool $cut = false ]]] )

Ajusta un string hasta un número dado de caracteres utilizando un caracter de salto de string.

Parámetros

str

El string de entrada.

width

El número de caracteres en el cual el string se verá envuelto.

break

La línea se rompe utilizando el parámetro opcional break.

cut

Si cut se establece en TRUE, el string siempre será ajustado en o antes del ancho especificado. De tal forma que si se tiene una palabra que es más larga que el ancho dado, será dividida (ver segundo ejemplo).

Valores devueltos

Devuelve el string dado ajustado a la longitud especificada.

Historial de cambios

Versión | Descripción
4.0.3 | Fue agregado el parámetro cut opcional.

Ejemplos

Ejemplo #1 Ejemplo de wordwrap()

<?php
$text = "The quick brown fox jumped over the lazy dog.";
$newtext = wordwrap($text, 20, "<br />\n");

echo $newtext;
?>

El resultado del ejemplo sería:

The quick brown fox<br />
jumped over the lazy<br />
dog.

Ejemplo #2 Ejemplo de wordwrap()

<?php
$text = "A very long woooooooooooord.";
$newtext = wordwrap($text, 8, "\n", true);

echo "$newtext\n";
?>

El resultado del ejemplo sería:

A very
long
wooooooo
ooooord.

Ver también

  • nl2br() - Inserta saltos de línea HTML antes de todas las nuevas líneas de un string
  • chunk_split() - Divide una cadena en trozos más pequeños

vsprintf
Registro de cambios
Funciones de strings


Registro de cambios

A las clases/funciones/métodos de esta extensión se han realizado los siguientes cambios.

Version | Function | Description
5.5.1 | hex2bin | Se emite una advertencia si el string de entrada es un string hexadecimal no válido.
5.4.1 | hex2bin | Se emite una advertencia si la cadena de entrada tiene una longitud impar. En PHP 5.4.0 la cadena era aceptada de forma silenciosa, pero el último byte era truncado.
5.4.0 | get_html_translation_table | Fueron agregadas las constantes ENT_HTML401, ENT_XML1, ENT_XHTML y ENT_HTML5.
 | get_html_translation_table | El valor por defecto para el parámetro encoding fue cambiado a UTF-8.
 | html_entity_decode | La codificación predeterminada fue cambiada de ISO-8859-1 a UTF-8.
 | html_entity_decode | Fueron agregadas las constantes ENT_HTML401, ENT_XML1, ENT_XHTML y ENT_HTML5.
 | htmlentities | El valor por defecto del parámetro encoding fue cambiado a UTF-8.
 | htmlentities | Fueron agregadas las constantes ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML y ENT_HTML5.
 | htmlspecialchars | El valor predeterminado del parámetro encoding se cambió a UTF-8.
 | htmlspecialchars | Fueron agregadas las constantes ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML y ENT_HTML5.
 | htmlspecialchars_decode | Fueron agregadas las constantes ENT_HTML401, ENT_XML1, ENT_XHTML y ENT_HTML5.
 | number_format | Esta función ahora soporta múltiples bytes en dec_point y thousands_sep. Solamente el primer byte de cada separador era utilizado en versiones anteriores.
5.3.7 | crypt | Se añadieron los modos de Blowfish $2x$ y $2y$ para tratar con ataques de bit alto potenciales.
5.3.4 | get_html_translation_table | Fue agregado el parámetro encoding.
5.3.2 | crypt | Agregado el crypt SHA-256 y SHA-512 basado en la implementación de Ulrich Drepper.
 | crypt | Corregido el comportamiento de Blowfish sobre rondas no válidas para devolver el string "failure" ("*0" or "*1"), en lugar de caer al DES.
5.3.0 | crypt | PHP ahora contiene su propia implementación de los algoritmos MD5, DES estándar, DES extendido y Blowfish y los utilizará si el sistema carece de soporte para uno o varios de los algoritmos.
 | htmlentities | Fue agregada la constante ENT_IGNORE.
 | htmlspecialchars | Fue agregada la constante ENT_IGNORE.
 | nl2br | Se agregó el parámetro opcional is_xhtml.
 | setlocale | Está función ahora lanza un aviso E_DEPRECATED si un string es pasado al parámetro category en lugar de una de las constantes LC_*.
 | stristr | Agregado el parámetro opcional before_needle.
 | strlen | Las versiones anteriores trataban los arrays como el string Array, devolviendo así una longitud de string de 5 y emitiendo un error de nivel E_NOTICE.
 | strstr | Se añadió el parámetro opcional before_needle.
5.2.5 | addcslashes | Se añadieron las secuencias de escape \v y \f.
5.2.3 | htmlentities | Fue agregado el parámetro double_encode.
 | htmlspecialchars | Fue agregado el parámetro double_encode.
5.2.2 - 5.2.6 | substr | Si el parámetro start indica una posición negativa de truncamiento o más allá, se devolverá false. En otras versiones de PHP obtienen la cadena desde el principio.
5.1.0 | explode | Se añadió soporte para limit negativo.
 | md5_file | Se modificó la función para usar la API de secuencias. Esto quiere decir que se puede usar con envolturas, como md5_file('http://example.com/..')
 | sha1_file | Cambiada la función para utilizar el API de flujo de datos. Esto significa que se puede utilizar con envolturas, como en sha1_file('http://ejemplo.com/..')
 | str_word_count | Agregado el parámetro charlist
 | substr_compare | Se añadió la posibilidad de usar un offset negativo.
 | substr_count | Los parámetros offset y length fueron agregados
5.0.0 | html_entity_decode | Se agregó el soporte para codificaciones multibyte.
 | md5 | Fue agregado el parámetro raw_output.
 | md5_file | Se agregó el parámetro raw_output
 | sha1 | Fue agregado el parámetro raw_output.
 | sha1_file | Agregado el parámetro raw_output.
 | str_ireplace | Fue agregado el parámetro count.
 | str_replace | Fue agregado el parámetro count.
 | strip_tags | strip_tags ahora es segura a nivel binario.
 | strrpos | El needle puede ser ahora un string de más de un carácter.
 | strrpos | Fue introducido el parámetro offset.
4.3.3 | str_replace | Cambió el comportamiento de esta función. En versiones anteriores un error existía cuando se usaban arrays en ambos parámetros search y replace, el cual causaba que índices vacíos en search fueran saltados sin avanzar el puntero interno sobre el array replace. Esto ha sido corregido en PHP 4.3.3, así que cualquier script que se basara en este error, debe remover los valores vacíos de búsqueda antes de llamar ésta función con el fin de imitar el comportamiento original.
 | substr_replace | Todos los parámetros aceptan ahora arrays.
4.3.0 | implode | El parámetro glue se hizo opcional.
 | setlocale | Pasar múltiples configuraciones regionales se hizo posible.
 | str_rot13 | El comportamiento de esta función fue corregido. Antes de este cambio, la str era modificada también, como si fuera pasada por referencia.
 | strcspn | Fueron agregados start y length
 | strip_tags | Los comentarios HTML ahora siempre son retirados.
 | stristr | stristr se hizo seguro a nivel binario.
 | strrchr | Ahora esta función es segura a nivel binario.
 | strspn | Fueron agregados los parámetros start y length
 | strstr | strstr se hizo segura binariamente.
4.2.3 | strcoll | Esta función trabaja ahora en win32.
4.2.0 | setlocale | Pasar el category como un string ahora es obsoleto, en su lugar, utilizar las constantes anteriores. Pasarlas como un string (dentro de comillas) resultará en un mensaje de advertencia.
4.1.0 | htmlentities | Fue agregado el parámetro encoding.
 | htmlspecialchars | Fue agregado el parámetro encoding.
 | ltrim | Fue agregado el parámetro charlist.
 | rtrim | Fue agregado el parámetro charlist.
 | trim | Se añadió el parámetro charlist.
4.0.6 | sprintf | Fue agregado el soporte para numeración/intercambio de argumentos
4.0.5 | nl2br | nl2br es ahora compatible con XHTML. Todas las versiones enteriores devolverán un string con un '<br>' insertado antes de las nuevas líneas, en lugar de '<br />'.
 | str_replace | La mayoría de los parámetros ahora pueden ser un array.
4.0.3 | htmlentities | Fue agregado el parámetro flags.
 | parse_str | Fue agregado el parámetro arr.
 | wordwrap | Fue agregado el parámetro cut opcional.
4.0.1 | explode | Se añadió el parámetro limit.
wordwrap
Extensiones relacionadas con variable y tipo
Strings


Extensiones relacionadas con variable y tipo

  • Arrays
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ordenación de arrays
    • Funciones de Arrays
  • Clases/Objetos — Información de Clases/Objetos
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de Clases/Objetos
  • Classkit
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de Classkit
  • Ctype — Comprobación del tipo de carácter
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de Ctype
  • Filter — Filtrado de datos
    • Introducción
    • Instalación/Configuración
    • Tipos de filtros
    • Constantes predefinidas
    • Ejemplos
    • Funciones de Filter
  • Manejo de Funciones
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de Manejo de Funciones
  • Object Aggregation — Object Aggregation/Composition [PHP 4]
    • Introducción
    • Ejemplos
    • Funciones objeto Aggregation
  • Quickhash
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • QuickHashIntSet — La clase QuickHashIntSet
    • QuickHashIntHash — La clase QuickHashIntHash
    • QuickHashStringIntHash — La clase QuickHashStringIntHash
    • QuickHashIntStringHash — La clase QuickHashIntStringHash
  • Reflexión
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Extensión
    • Reflection — Clase Reflection
    • ReflectionClass — Clase ReflectionClass
    • ReflectionZendExtension — Clase ReflectionZendExtension
    • ReflectionExtension — Clase ReflectionExtension
    • ReflectionFunction — Clase ReflectionFunction
    • ReflectionFunctionAbstract — Clase ReflectionFunctionAbstract
    • ReflectionMethod — La clase ReflectionMethod
    • ReflectionObject — Clase ReflectionObject
    • ReflectionParameter — La clase ReflectionParameter
    • ReflectionProperty — Clase ReflectionProperty
    • Reflector — La interfaz Reflector
    • ReflectionException — La clase ReflectionException
  • Manejo de variables
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de manejo de variables
Registro de cambios
Arrays
Referencia de funciones


Arrays

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ordenación de arrays
  • Funciones de Arrays
    • array_change_key_case — Cambia a mayúsculas o minúsculas todas las claves en un array
    • array_chunk — Divide un array en fragmentos
    • array_column — Devuelve los valores de una única columna del array de entrada
    • array_combine — Crea un nuevo array, usando una matriz para las claves y otra para sus valores
    • array_count_values — Cuenta todos los valores de un array
    • array_diff_assoc — Calcula la diferencia entre arrays con un chequeo adicional de índices
    • array_diff_key — Calcula la diferencia entre arrays usando las keys para la comparación
    • array_diff_uassoc — Calcula la diferencia entre arrays con un chequeo adicional de índices que se realiza por una función de devolución de llamada suministrada por el usuario
    • array_diff_ukey — Calcula la diferencia entre arrays usando una función de devolución de llamada en las keys para comparación
    • array_diff — Calcula la diferencia entre arrays
    • array_fill_keys — Llena un array con valores, especificando las keys
    • array_fill — Llena un array con valores
    • array_filter — Filtra elementos de un array usando una función de devolución de llamada
    • array_flip — Intercambia todas las keys con sus valores asociados en un array
    • array_intersect_assoc — Calcula la intersección de arrays con un chequeo adicional de índices
    • array_intersect_key — Calcula la intersección de arrays usando las keys para la comparación
    • array_intersect_uassoc — Calcula la intersección de arrays con un chequeo adicional de índices que se realiza por una función de devolución de llamada
    • array_intersect_ukey — Calcula la intersección de arrays usando una función de devolución de llamada en las keys para la comparación
    • array_intersect — Calcula la intersección de arrays
    • array_key_exists — Verifica si el índice o clave dada existe en el array
    • array_keys — Devuelve todas las claves de un array o un subconjunto de claves de un array
    • array_map — Aplica la llamada de retorno especificada a los elementos de cada array
    • array_merge_recursive — Une dos o más arrays recursivamente
    • array_merge — Combina dos o más arrays
    • array_multisort — Ordena múltiples arrays, o arrays multi-dimensionales
    • array_pad — Rellena un array a la longitud especificada con un valor
    • array_pop — Extrae el último elemento del final del array
    • array_product — Calcula el producto de los valores de un array
    • array_push — Inserta uno o más elementos al final de un array
    • array_rand — Selecciona una o más entradas aleatorias de un array
    • array_reduce — Reduce iterativamente una matriz a un solo valor usando una función llamada de retorno
    • array_replace_recursive — Reemplaza los elementos de los arrays pasados al primer array de forma recursiva
    • array_replace — Reemplaza los elementos de los arrays pasados en el primer array
    • array_reverse — Devuelve un array con los elementos en orden inverso
    • array_search — Busca un valor determinado en un array y devuelve la clave correspondiente en caso de éxito
    • array_shift — Quita un elemento del principio del array
    • array_slice — Extrae una parte de un array
    • array_splice — Elimina una porción del array y la reemplaza con algo
    • array_sum — Calcula la suma de los valores en un array
    • array_udiff_assoc — Computa la diferencia entre arrays con una comprobación de indices adicional, compara la información mediante una función de llamada de retorno
    • array_udiff_uassoc — Computa la diferencia entre arrays con una verificación de índices adicional, compara la información y los índices mediante una función de llamada de retorno
    • array_udiff — Computa la diferencia entre arrays, usando una llamada de retorno para la comparación de datos
    • array_uintersect_assoc — Computa la intersección de arrays con una comprobación de índices adicional, compara la información mediante una función de llamada de retorno
    • array_uintersect_uassoc — Computa la intersección de arrays con una comprobación de índices adicional, compara la información y los índices mediante funciones de llamada de retorno
    • array_uintersect — Computa una intersección de arrays, compara la información mediante una función de llamada de retorno
    • array_unique — Elimina valores duplicados de un array
    • array_unshift — Añadir al inicio de un array uno a más elementos
    • array_values — Devuelve todos los valores de un array
    • array_walk_recursive — Aplicar una función de usuario recursivamente a cada miembro de un array
    • array_walk — Aplicar una función de usuario a cada miembro de un array
    • array — Crea un array
    • arsort — Ordena un array en orden inverso y mantiene la asociación de índices
    • asort — Ordena un array y mantiene la asociación de índices
    • compact — Crear un array que contiene variables y sus valores
    • count — Cuenta todos los elementos de un array o en un objeto
    • current — Devuelve el elemento actual en un array
    • each — Devolver el par clave/valor actual de un array y avanzar el cursor del array
    • end — Establece el puntero intero de un array a su último elemento
    • extract — Importar variables a la tabla de símbolos actual desde un array
    • in_array — Comprueba si un valor existe en un array usando comparación flexible
    • key_exists — Alias de array_key_exists
    • key — Obtiene una clave de un array
    • krsort — Ordena un array por clave en orden inverso
    • ksort — Ordena un array por clave
    • list — Asigna variables como si fuera un array
    • natcasesort — Ordenar un array usando un algoritmo de "orden natural" insensible a mayúsculas-minúsculas
    • natsort — Ordena un array usando un algoritmo de "orden natural"
    • next — Avanza el puntero interno de un array
    • pos — Alias de current
    • prev — Rebobina el puntero interno del array
    • range — Crear un array que contiene un rango de elementos
    • reset — Establece el puntero interno de un array a su primer elemento
    • rsort — Ordena un array en orden inverso
    • shuffle — Mezcla un array
    • sizeof — Alias de count
    • sort — Ordena un array
    • uasort — Ordena un array con una función de comparación definida por el usuario y mantiene la asociación de índices
    • uksort — Ordena un array según sus claves usando una función de comparación definida por el usuario
    • usort — Ordena un array según sus valores usando una función de comparación definida por el usuario
Extensiones relacionadas con variable y tipo
Introducción
Extensiones relacionadas con variable y tipo


Introducción

Estas funciones permiten interactuar con y manipular arrays (matrices) de varias maneras. Los arrays son esenciales para almacenar, manejar y operar sobre conjuntos de variables.

Se admiten arrays simples y multidimensionales, y pueden ser creados tanto por el usuario como por otra función. Existen funciones específicas de manejo de bases de datos para llenar arrays desde las consultas a bases de datos, y varias funciones devuelven arrays.

Por favor, vea la sección Arrays del manual para obtener una explicación detallada de cómo están implementados y cómo se utilizan los arrays en PHP. Vea también Operadores de arrays para concocer otras formas de manipular los arrays.

Arrays
Instalación/Configuración
Arrays


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Arrays


Constantes predefinidas

Estas constantes están disponibles siempre ya que forman parte del núcleo de PHP.

????????????? CASE_LOWER (integer)
CASE_LOWER se utiliza con array_change_key_case() y es usado para convertir keys de array a minúsculas. Esta también es la constante por defecto para array_change_key_case().
CASE_UPPER (integer)
CASE_UPPER se utiliza con array_change_key_case() y es usado para convertir keys de array a mayúsculas.

Indicadores de ordenado:

SORT_ASC (integer)
SORT_ASC se utiliza con array_multisort() para clasificar en orden ascendente.
SORT_DESC (integer)
SORT_DESC se utiliza con array_multisort() para clasificar en orden descendente.

Señales de tipo de ordenado: utilizadas por varias funciones de clasificación

SORT_REGULAR (integer)
SORT_REGULAR se utiliza para comparar elementos normalmente.
SORT_NUMERIC (integer)
SORT_NUMERIC se utiliza para comparar elementos numéricamente.
SORT_STRING (integer)
SORT_STRING se utiliza para comparar elementos como cadenas.
SORT_LOCALE_STRING (integer)
SORT_LOCALE_STRING se utiliza para comparar elementos como cadenas, basado en la localización actual. Agregado en PHP 4.4.0 y 5.0.2.
SORT_NATURAL (integer)
SORT_NATURAL se utiliza para comparar elementos como cadenas utilizando "ordenamiento natural", como natsort(). Agregado en PHP 5.4.0.
SORT_FLAG_CASE (integer)
SORT_FLAG_CASE puede ser combinada (OR binario) con SORT_STRING o SORT_NATURAL para ordenar cadenas sin diferenciar mayúsculas y minúsculas. Agregado en PHP 5.4.0.

COUNT_NORMAL (integer)
COUNT_RECURSIVE (integer)
EXTR_OVERWRITE (integer)
EXTR_SKIP (integer)
EXTR_PREFIX_SAME (integer)
EXTR_PREFIX_ALL (integer)
EXTR_PREFIX_INVALID (integer)
EXTR_PREFIX_IF_EXISTS (integer)
EXTR_IF_EXISTS (integer)
EXTR_REFS (integer)
Tipos de recursos
Ordenación de arrays
Arrays


Ordenación de arrays

PHP tiene varias funciones que se ocupan de ordenar arrays (matrices) y este documento existe para ayudar a aclararlo todo.

Las principales diferencias son:

  • Algunas ordenan basados en las key de la array, mientras que otras por los valores: $array['key'] = 'valor';
  • Si se mantiene o no la correlación entre las key y los valores después de la clasificación, lo cual puede significar que las key se restablecen numéricamente (0,1,2 ...)
  • El orden de la clasificación: alfabético, de menor a mayor (ascendente), de mayor a menor (descendente), numérico, natural, aleatorio o definido por el usuario
  • Nota: Todas estas funciones de clasificación actúan directamente sobre la variable de array misma, en lugar de devolver un nuevo array ordenado.
  • Si alguna de estas funciones de clasificación evalúa a dos miembros como iguales, entonces el orden no queda definido (la clasificación no es estable).

Atributos de las funciones de clasificación
Nombre de la función | Ordena por | Mantiene asociación con las key | Orden de la clasificación | Funciones relacionadas
array_multisort() | valor | sí si es asociativa, no si es númerica | primer array u opciones de clasificación | array_walk()
asort() | valor | sí | menor a mayor | arsort()
arsort() | valor | sí | mayor a menor | asort()
krsort() | key | sí | mayor a menor | ksort()
ksort() | key | sí | menor a mayor | asort()
natcasesort() | valores | sí | natural, insensible a mayúsculas y minúsculas | natsort()
natsort() | valor | sí | natural | natcasesort()
rsort() | valor | no | mayor a menor | sort()
shuffle() | valor | no | aleatorio | array_rand()
sort() | valor | no | menor a mayor | rsort()
uasort() | valor | sí | definido por el usuario | uksort()
uksort() | key | sí | definido por el usuario | uasort()
usort() | valor | no | definido por el usuario | uasort()

Constantes predefinidas
Funciones de Arrays
Arrays


Funciones de Arrays

Ver también

Ver también  is_array(),  explode(),
 implode(),  split(),
 preg_split(), and  unset().

Tabla de contenidos

  • array_change_key_case — Cambia a mayúsculas o minúsculas todas las claves en un array
  • array_chunk — Divide un array en fragmentos
  • array_column — Devuelve los valores de una única columna del array de entrada
  • array_combine — Crea un nuevo array, usando una matriz para las claves y otra para sus valores
  • array_count_values — Cuenta todos los valores de un array
  • array_diff_assoc — Calcula la diferencia entre arrays con un chequeo adicional de índices
  • array_diff_key — Calcula la diferencia entre arrays usando las keys para la comparación
  • array_diff_uassoc — Calcula la diferencia entre arrays con un chequeo adicional de índices que se realiza por una función de devolución de llamada suministrada por el usuario
  • array_diff_ukey — Calcula la diferencia entre arrays usando una función de devolución de llamada en las keys para comparación
  • array_diff — Calcula la diferencia entre arrays
  • array_fill_keys — Llena un array con valores, especificando las keys
  • array_fill — Llena un array con valores
  • array_filter — Filtra elementos de un array usando una función de devolución de llamada
  • array_flip — Intercambia todas las keys con sus valores asociados en un array
  • array_intersect_assoc — Calcula la intersección de arrays con un chequeo adicional de índices
  • array_intersect_key — Calcula la intersección de arrays usando las keys para la comparación
  • array_intersect_uassoc — Calcula la intersección de arrays con un chequeo adicional de índices que se realiza por una función de devolución de llamada
  • array_intersect_ukey — Calcula la intersección de arrays usando una función de devolución de llamada en las keys para la comparación
  • array_intersect — Calcula la intersección de arrays
  • array_key_exists — Verifica si el índice o clave dada existe en el array
  • array_keys — Devuelve todas las claves de un array o un subconjunto de claves de un array
  • array_map — Aplica la llamada de retorno especificada a los elementos de cada array
  • array_merge_recursive — Une dos o más arrays recursivamente
  • array_merge — Combina dos o más arrays
  • array_multisort — Ordena múltiples arrays, o arrays multi-dimensionales
  • array_pad — Rellena un array a la longitud especificada con un valor
  • array_pop — Extrae el último elemento del final del array
  • array_product — Calcula el producto de los valores de un array
  • array_push — Inserta uno o más elementos al final de un array
  • array_rand — Selecciona una o más entradas aleatorias de un array
  • array_reduce — Reduce iterativamente una matriz a un solo valor usando una función llamada de retorno
  • array_replace_recursive — Reemplaza los elementos de los arrays pasados al primer array de forma recursiva
  • array_replace — Reemplaza los elementos de los arrays pasados en el primer array
  • array_reverse — Devuelve un array con los elementos en orden inverso
  • array_search — Busca un valor determinado en un array y devuelve la clave correspondiente en caso de éxito
  • array_shift — Quita un elemento del principio del array
  • array_slice — Extrae una parte de un array
  • array_splice — Elimina una porción del array y la reemplaza con algo
  • array_sum — Calcula la suma de los valores en un array
  • array_udiff_assoc — Computa la diferencia entre arrays con una comprobación de indices adicional, compara la información mediante una función de llamada de retorno
  • array_udiff_uassoc — Computa la diferencia entre arrays con una verificación de índices adicional, compara la información y los índices mediante una función de llamada de retorno
  • array_udiff — Computa la diferencia entre arrays, usando una llamada de retorno para la comparación de datos
  • array_uintersect_assoc — Computa la intersección de arrays con una comprobación de índices adicional, compara la información mediante una función de llamada de retorno
  • array_uintersect_uassoc — Computa la intersección de arrays con una comprobación de índices adicional, compara la información y los índices mediante funciones de llamada de retorno
  • array_uintersect — Computa una intersección de arrays, compara la información mediante una función de llamada de retorno
  • array_unique — Elimina valores duplicados de un array
  • array_unshift — Añadir al inicio de un array uno a más elementos
  • array_values — Devuelve todos los valores de un array
  • array_walk_recursive — Aplicar una función de usuario recursivamente a cada miembro de un array
  • array_walk — Aplicar una función de usuario a cada miembro de un array
  • array — Crea un array
  • arsort — Ordena un array en orden inverso y mantiene la asociación de índices
  • asort — Ordena un array y mantiene la asociación de índices
  • compact — Crear un array que contiene variables y sus valores
  • count — Cuenta todos los elementos de un array o en un objeto
  • current — Devuelve el elemento actual en un array
  • each — Devolver el par clave/valor actual de un array y avanzar el cursor del array
  • end — Establece el puntero intero de un array a su último elemento
  • extract — Importar variables a la tabla de símbolos actual desde un array
  • in_array — Comprueba si un valor existe en un array usando comparación flexible
  • key_exists — Alias de array_key_exists
  • key — Obtiene una clave de un array
  • krsort — Ordena un array por clave en orden inverso
  • ksort — Ordena un array por clave
  • list — Asigna variables como si fuera un array
  • natcasesort — Ordenar un array usando un algoritmo de "orden natural" insensible a mayúsculas-minúsculas
  • natsort — Ordena un array usando un algoritmo de "orden natural"
  • next — Avanza el puntero interno de un array
  • pos — Alias de current
  • prev — Rebobina el puntero interno del array
  • range — Crear un array que contiene un rango de elementos
  • reset — Establece el puntero interno de un array a su primer elemento
  • rsort — Ordena un array en orden inverso
  • shuffle — Mezcla un array
  • sizeof — Alias de count
  • sort — Ordena un array
  • uasort — Ordena un array con una función de comparación definida por el usuario y mantiene la asociación de índices
  • uksort — Ordena un array según sus claves usando una función de comparación definida por el usuario
  • usort — Ordena un array según sus valores usando una función de comparación definida por el usuario
Ordenación de arrays
array_change_key_case
Arrays


Cambia a mayúsculas o minúsculas todas las claves en un array

Funciones de Arrays
array_chunk
Funciones de Arrays
PHP Manual

array_change_key_case

(PHP 4 >= 4.2.0, PHP 5)

array_change_key_case — Cambia a mayúsculas o minúsculas todas las claves en un array

Descripción

array array_change_key_case ( array $input [, int $case = CASE_LOWER ] )

Devuelve un array a partir de input con todas las claves convertidas a minúsculas o mayúsculas. Los índices numerados son dejados como están.

Parámetros

input

Array para trabajar en

case

Entre CASE_UPPER o CASE_LOWER (por defecto)

Valores devueltos

Devuelve un array con sus keys converitdas en minúsculas o mayúsculas, o FALSE si input no es una matriz.

Errores/Excepciones

Lanza un E_WARNING si input no es un array.

Ejemplos

Ejemplo #1 Ejemplo de array_change_key_case()

<?php
$input_array = array("FirSt" => 1, "SecOnd" => 4);
print_r(array_change_key_case($input_array, CASE_UPPER));
?>

El resultado del ejemplo sería:

Array
(
    [FIRST] => 1
    [SECOND] => 4
)

Notas

Nota:

Si un array tiene índices que queden iguales una vez se aplique ésta función (ej. "claVE" y "cLAve"), el valor que esté después en la matriz anulará los otros índices.

Funciones de Arrays
array_chunk
Funciones de Arrays


Divide un array en fragmentos

array_change_key_case
array_column
Funciones de Arrays
PHP Manual

array_chunk

(PHP 4 >= 4.2.0, PHP 5)

array_chunk — Divide un array en fragmentos

Descripción

array array_chunk ( array $input , int $size [, bool $preserve_keys = false ] )

Divide un array en fragmentos del tamaño definido en size. El último fragmento puede contener menos elementos que size.

Parámetros

input

Array para trabajar en

size

El tamaño de cada fragmento.

preserve_keys

Cuando se establece en TRUE las keys serán preservadas. El valor por defecto es FALSE lo cual reindexará los fragmentos numéricamente.

Valores devueltos

Retorna un array multidimensional indexado numéricamente, comenzando desde cero, en el cual cada dimensión contiene la cantidad de elementos definida en size.

Errores/Excepciones

Si size es inferior a 1, una E_WARNING será arrojada y NULL será retornado.

Ejemplos

Ejemplo #1 Ejemplo de array_chunk()

<?php
$input_array = array('a', 'b', 'c', 'd', 'e');
print_r(array_chunk($input_array, 2));
print_r(array_chunk($input_array, 2, true));
?>

El resultado del ejemplo sería:

Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
        )

    [1] => Array
        (
            [0] => c
            [1] => d
        )

    [2] => Array
        (
            [0] => e
        )

)
Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
        )

    [1] => Array
        (
            [2] => c
            [3] => d
        )

    [2] => Array
        (
            [4] => e
        )

)

Ver también

  • array_slice() - Extrae una parte de un array

array_change_key_case
array_column
Funciones de Arrays


Devuelve los valores de una única columna del array de entrada

array_chunk
array_combine
Funciones de Arrays
PHP Manual

array_column

(PHP 5 >= 5.5.0)

array_column — Devuelve los valores de una única columna del array de entrada

Descripción

array array_column ( array $array , mixed $column_key [, mixed $index_key = null ] )

array_column() devuelve los valores de una única columna del array, identificado por la clave de columna dada por column_key. Opcionalmente, se podría proporcionar una clave de índice dada por index_key para indexar los valores del array devuelto por los valores desde la columna index_key en el array de entrada.

Parámetros

array

Un array multidimensional (conjunto de registros) desde el que obtener una columna de valores.

column_key

La columna de valores a devolver. Este valor podría ser la clave de tipo integer de la columna de la que se quieren obtener datos, o podría ser la clave de tipo string para un array asociativo. También prodría ser NULL para devolver array completos (útil junto con index_key para reindexar el array).

index_key

La columna a usar como los índices/claves para el array devulto. Este valor podría ser la clave de tipo integer de la columna, o podría ser el nombre de la clave de tipo string.

Valores devueltos

Devuelve un array de valores que representa una única columna desde el array de entrada.

Ejemplos

Ejemplo #1 Obtener la columna de nombres de pila desde el conjunto de resultados

<?php
// Array representando un conjunto de registros posibles devueltos desde una base de datos
$registros = array(
    array(
        'id' => 2135,
        'first_name' => 'John',
        'last_name' => 'Doe',
    ),
    array(
        'id' => 3245,
        'first_name' => 'Sally',
        'last_name' => 'Smith',
    ),
    array(
        'id' => 5342,
        'first_name' => 'Jane',
        'last_name' => 'Jones',
    ),
    array(
        'id' => 5623,
        'first_name' => 'Peter',
        'last_name' => 'Doe',
    )
);

$nombres = array_column($registros, 'first_name');
print_r($nombres);
?>

El resultado del ejemplo sería:

Array
(
    [0] => John
    [1] => Sally
    [2] => Jane
    [3] => Peter
)

Ejemplo #2 Obtener la columna de apellidos desde el conjunto de resultados, indexada por la columna "id"

<?php
// Usar el array the $registros del Ejemplo #1
$apellidos = array_column($registros, 'last_name', 'id');
print_r($apellidos);
?>

El resultado del ejemplo sería:

Array
(
    [2135] => Doe
    [3245] => Smith
    [5342] => Jones
    [5623] => Doe
)

array_chunk
array_combine
Funciones de Arrays


Crea un nuevo array, usando una matriz para las claves y otra para sus valores

array_column
array_count_values
Funciones de Arrays
PHP Manual

array_combine

(PHP 5)

array_combine — Crea un nuevo array, usando una matriz para las claves y otra para sus valores

Descripción

array array_combine ( array $keys , array $values )

Crea un array usando los valores del array keys como las keys y los valores del array values como los valores correspondientes.

Parámetros

keys

Array de las keys a usar. Cualquier valor inválido para la key será convertido a string.

values

Array de valores a usar

Valores devueltos

Retorna el array combinado, FALSE si el número de elementos de cada array no es igual.

Errores/Excepciones

Arroja un E_WARNING si el número de elementos en keys y values no coincide.

Historial de cambios

Versión | Descripción
5.4.0 | Versiones previas emiten un E_WARNING y devuelven FALSE para arrays vacíos.

Ejemplos

Ejemplo #1 Ejemplo simple de array_combine()

<?php
$a = array('green', 'red', 'yellow');
$b = array('avocado', 'apple', 'banana');
$c = array_combine($a, $b);

print_r($c);
?>

El resultado del ejemplo sería:

Array
(
    [green]  => avocado
    [red]    => apple
    [yellow] => banana
)

Ver también

  • array_merge() - Combina dos o más arrays
  • array_walk() - Aplicar una función de usuario a cada miembro de un array
  • array_values() - Devuelve todos los valores de un array

array_column
array_count_values
Funciones de Arrays


Cuenta todos los valores de un array

array_combine
array_diff_assoc
Funciones de Arrays
PHP Manual

array_count_values

(PHP 4, PHP 5)

array_count_values — Cuenta todos los valores de un array

Descripción

array array_count_values ( array $input )

array_count_values() retorna un array usando los valores de la matriz input como keys y su frecuencia en input como valores.

Parámetros

input

Array de valores a contar

Valores devueltos

Retorna un array asociativo de valores a partir de input como keys y su respectivo recuento como valores.

Errores/Excepciones

Arroja un E_WARNING por cada elemento el cual no sea string o integer.

Ejemplos

Ejemplo #1 Ejemplo de array_count_values()

<?php
$array = array(1, "hello", 1, "world", "hello");
print_r(array_count_values($array));
?>

El resultado del ejemplo sería:

Array
(
    [1] => 2
    [hello] => 2
    [world] => 1
)

Ver también

  • count() - Cuenta todos los elementos de un array o en un objeto
  • array_unique() - Elimina valores duplicados de un array
  • array_values() - Devuelve todos los valores de un array
  • count_chars() - Devuelve información sobre los caracteres usados en una cadena

array_combine
array_diff_assoc
Funciones de Arrays


Calcula la diferencia entre arrays con un chequeo adicional de índices

array_count_values
array_diff_key
Funciones de Arrays
PHP Manual

array_diff_assoc

(PHP 4 >= 4.3.0, PHP 5)

array_diff_assoc — Calcula la diferencia entre arrays con un chequeo adicional de índices

Descripción

array array_diff_assoc ( array $array1 , array $array2 [, array $... ] )

Compara array1 contra array2 y retorna la diferencia. A diferencia de array_diff(), también las claves de los arrays son usadas en la comparación.

Parámetros

array1

Array a comparar

array2

Un array contra el cual comparar

...

Más arrays contra los cuales comparar

Valores devueltos

Retorna un array conteniendo todos los valores del array1 que no están presentes en ninguna de los otros arrays.

Ejemplos

Ejemplo #1 Ejemplo de array_diff_assoc()

En éste ejemplo se ve que el par "a" => "green" está presente en ambos arrays y por lo tanto no está en la salida de la función. A diferencia de ésto, el par 0 => "red" está en la salida ya que en el segundo argumento "red" tiene una key que es 1.

<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>

El resultado del ejemplo sería:

Array
(
    [b] => brown
    [c] => blue
    [0] => red
)

Ejemplo #2 Ejemplo de array_diff_assoc()

Dos valores de pares key => value son considerados iguales sólo si (string) $key1 === (string) $key2 . En otras palabras, un chequeo estricto se lleva a cabo de tal forma que las representaciones de cadena debe ser las mismas.

<?php
$array1 = array(0, 1, 2);
$array2 = array("00", "01", "2");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>

El resultado del ejemplo sería:

Array
(
    [0] => 0
    [1] => 1
    )

Notas

Nota: Esta función sólo comprueba una dimensión de un array n-dimensional. Por supuesto, se pueden comprobar dimensiones más profundas mediante, por ejemplo, array_diff_assoc($array1[0], $array2[0]);.

Ver también

  • array_diff() - Calcula la diferencia entre arrays
  • array_intersect() - Calcula la intersección de arrays
  • array_intersect_assoc() - Calcula la intersección de arrays con un chequeo adicional de índices

array_count_values
array_diff_key
Funciones de Arrays


Calcula la diferencia entre arrays usando las keys para la comparación

array_diff_assoc
array_diff_uassoc
Funciones de Arrays
PHP Manual

array_diff_key

(PHP 5 >= 5.1.0)

array_diff_key — Calcula la diferencia entre arrays usando las keys para la comparación

Descripción

array array_diff_key ( array $array1 , array $array2 [, array $... ] )

Compara las keys del array1 contra las keys del array2 y retorna la diferencia. Esta función es como array_diff() excepto que la comparación se hace en las keys en lugar de los valores.

Parámetros

array1

Array a comparar

array2

Un array contra el cual comparar

...

Más arrays contra los cuales comparar

Valores devueltos

Retorna un array conteniendo todas las entradas del array1 cuyas keys no están presentes en ninguna de los otros arrays.

Ejemplos

Ejemplo #1 Ejemplo de array_diff_key()

Las dos keys de pares key => value son consideradas iguales sólo si (string) $key1 === (string) $key2 . En otras palabras, un chequeo de tipo estricto se ejecuta de tal forma que las representaciones de cadena debe ser las mismas.

<?php
$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

var_dump(array_diff_key($array1, $array2));
?>

El resultado del ejemplo sería:

array(2) {
  ["red"]=>
  int(2)
  ["purple"]=>
  int(4)
}

Notas

Nota:

Esta función sólo comprueba una dimensión de un array n-dimensional. Por supuesto, se pueden comprobar dimensiones más profundas mediante, por ejemplo, array_diff_key($array1[0], $array2[0]);.

Ver también

  • array_diff() - Calcula la diferencia entre arrays
  • array_udiff() - Computa la diferencia entre arrays, usando una llamada de retorno para la comparación de datos
  • array_diff_assoc() - Calcula la diferencia entre arrays con un chequeo adicional de índices
  • array_diff_uassoc() - Calcula la diferencia entre arrays con un chequeo adicional de índices que se realiza por una función de devolución de llamada suministrada por el usuario
  • array_udiff_assoc() - Computa la diferencia entre arrays con una comprobación de indices adicional, compara la información mediante una función de llamada de retorno
  • array_udiff_uassoc() - Computa la diferencia entre arrays con una verificación de índices adicional, compara la información y los índices mediante una función de llamada de retorno
  • array_diff_ukey() - Calcula la diferencia entre arrays usando una función de devolución de llamada en las keys para comparación
  • array_intersect() - Calcula la intersección de arrays
  • array_intersect_assoc() - Calcula la intersección de arrays con un chequeo adicional de índices
  • array_intersect_uassoc() - Calcula la intersección de arrays con un chequeo adicional de índices que se realiza por una función de devolución de llamada
  • array_intersect_key() - Calcula la intersección de arrays usando las keys para la comparación
  • array_intersect_ukey() - Calcula la intersección de arrays usando una función de devolución de llamada en las keys para la comparación

array_diff_assoc
array_diff_uassoc
Funciones de Arrays


Calcula la diferencia entre arrays con un chequeo adicional de índices que se realiza por una función de devolución de llamada suministrada por el usuario

array_diff_key
array_diff_ukey
Funciones de Arrays
PHP Manual

array_diff_uassoc

(PHP 5)

array_diff_uassoc — Calcula la diferencia entre arrays con un chequeo adicional de índices que se realiza por una función de devolución de llamada suministrada por el usuario

Descripción

array array_diff_uassoc ( array $array1 , array $array2 [, array $... ], callable $key_compare_func )

Compara array1 contra array2 y retorna la diferencia. A diferencia de array_diff() la keys del array se utilizan en la comparación.

A diferencia de array_diff_assoc() una función de devolución de llamada suministrada por el usuario se utiliza para la comparación de los índices, no una función interna.

Parámetros

array1

Array a comparar

array2

Un array contra el cual comparar

...

Más arrays contra los cuales comparar

key_compare_func

La función de comparación debe devolver un entero menor, igual o mayor que cero si el primer argumento se considera que sea respectivamente menor, igual o mayor que el segundo.

int callback ( mixed $a, mixed $b )

Valores devueltos

Retorna un array conteniendo todas las entradas del array1 que no están presentes en ninguno de los otros arrays.

Ejemplos

Ejemplo #1 Ejemplo de array_diff_uassoc()

El par "a" => "green" está presente en ambos arrays y por lo tanto no está en la salida de la función. A diferencia de ésto, el par 0 => "red" está en la salida ya que en el segundo argumento "red" tiene una key que es 1.

<?php
function key_compare_func($a, $b)
{
    if ($a === $b) {
        return 0;
    }
    return ($a > $b)? 1:-1;
}

$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result = array_diff_uassoc($array1, $array2, "key_compare_func");
print_r($result);
?>

El resultado del ejemplo sería:

Array
(
    [b] => brown
    [c] => blue
    [0] => red
)

La igualdad de 2 índices es chequeada por la función de devolución de llamada suministrada por el usuario.

Notas

Nota:

Esta función sólo comprueba una dimensión de un array n-dimensional. Por supuesto, se pueden comprobar dimensiones más profundas mediante, por ejemplo, array_diff_uassoc($array1[0], $array2[0], "key_compare_func");.

Ver también

  • array_diff() - Calcula la diferencia entre arrays
  • array_diff_assoc() - Calcula la diferencia entre arrays con un chequeo adicional de índices
  • array_udiff() - Computa la diferencia entre arrays, usando una llamada de retorno para la comparación de datos
  • array_udiff_assoc() - Computa la diferencia entre arrays con una comprobación de indices adicional, compara la información mediante una función de llamada de retorno
  • array_udiff_uassoc() - Computa la diferencia entre arrays con una verificación de índices adicional, compara la información y los índices mediante una función de llamada de retorno
  • array_intersect() - Calcula la intersección de arrays
  • array_intersect_assoc() - Calcula la intersección de arrays con un chequeo adicional de índices
  • array_uintersect() - Computa una intersección de arrays, compara la información mediante una función de llamada de retorno
  • array_uintersect_assoc() - Computa la intersección de arrays con una comprobación de índices adicional, compara la información mediante una función de llamada de retorno
  • array_uintersect_uassoc() - Computa la intersección de arrays con una comprobación de índices adicional, compara la información y los índices mediante funciones de llamada de retorno

array_diff_key
array_diff_ukey
Funciones de Arrays


Calcula la diferencia entre arrays usando una función de devolución de llamada en las keys para comparación

array_diff_uassoc
array_diff
Funciones de Arrays
PHP Manual

array_diff_ukey

(PHP 5 >= 5.1.0)

array_diff_ukey — Calcula la diferencia entre arrays usando una función de devolución de llamada en las keys para comparación

Descripción

array array_diff_ukey ( array $array1 , array $array2 [, array $ ... ], callable $key_compare_func )

Compara las keys del array1 contra las keys del array2 y retorna la diferencia. Esta función es como array_diff() excepto que la comparación se hace en las keys en lugar de los valores.

A diferencia de array_diff_key() una función de devolución de llamada suministrada por el usuario se utiliza para la comparación de los índices, no una función interna.

Parámetros

array1

Array a comparar

array2

Un array contra el cual comparar

...

Más arrays contra los cuales comparar

key_compare_func

La función de comparación debe devolver un entero menor, igual o mayor que cero si el primer argumento se considera que sea respectivamente menor, igual o mayor que el segundo.

int callback ( mixed $a, mixed $b )

Valores devueltos

Retorna un array conteniendo todas las entradas del array1 que no están presentes en ninguna de los otros array.

Ejemplos

Ejemplo #1 Ejemplo de array_diff_ukey()

<?php
function key_compare_func($key1, $key2)
{
    if ($key1 == $key2)
        return 0;
    else if ($key1 > $key2)
        return 1;
    else
        return -1;
}

$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

var_dump(array_diff_ukey($array1, $array2, 'key_compare_func'));
?>

El resultado del ejemplo sería:

array(2) {
  ["red"]=>
  int(2)
  ["purple"]=>
  int(4)
}

Notas

Nota:

Esta función sólo comprueba una dimensión de un array n-dimensional. Por supuesto, se pueden comprobar dimensiones más profundas mediante array_diff_ukey($array1[0], $array2[0], 'callback_func');.

Ver también

  • array_diff() - Calcula la diferencia entre arrays
  • array_udiff() - Computa la diferencia entre arrays, usando una llamada de retorno para la comparación de datos
  • array_diff_assoc() - Calcula la diferencia entre arrays con un chequeo adicional de índices
  • array_diff_uassoc() - Calcula la diferencia entre arrays con un chequeo adicional de índices que se realiza por una función de devolución de llamada suministrada por el usuario
  • array_udiff_assoc() - Computa la diferencia entre arrays con una comprobación de indices adicional, compara la información mediante una función de llamada de retorno
  • array_udiff_uassoc() - Computa la diferencia entre arrays con una verificación de índices adicional, compara la información y los índices mediante una función de llamada de retorno
  • array_diff_key() - Calcula la diferencia entre arrays usando las keys para la comparación
  • array_intersect() - Calcula la intersección de arrays
  • array_intersect_assoc() - Calcula la intersección de arrays con un chequeo adicional de índices
  • array_intersect_uassoc() - Calcula la intersección de arrays con un chequeo adicional de índices que se realiza por una función de devolución de llamada
  • array_intersect_key() - Calcula la intersección de arrays usando las keys para la comparación
  • array_intersect_ukey() - Calcula la intersección de arrays usando una función de devolución de llamada en las keys para la comparación

array_diff_uassoc
array_diff
Funciones de Arrays


Calcula la diferencia entre arrays

array_diff_ukey
array_fill_keys
Funciones de Arrays
PHP Manual

array_diff

(PHP 4 >= 4.0.1, PHP 5)

array_diff — Calcula la diferencia entre arrays

Descripción

array array_diff ( array $array1 , array $array2 [, array $... ] )

Compara array1 contra array2 y retorna la diferencia.

Parámetros

array1

Array a comparar

array2

Un array contra el cual comparar

...

Más arrays contra los cuales comparar

Valores devueltos

Retorna un array conteniendo todas las entradas del array1 que no están presentes en ninguna de las otras matrices.

Ejemplos

Ejemplo #1 Ejemplo de array_diff()

<?php
$array1 = array("a" => "green", "red", "blue", "red");
$array2 = array("b" => "green", "yellow", "red");
$result = array_diff($array1, $array2);

print_r($result);
?>

Múltiples ocurrencias en $array1 serán todas tratadas de la misma manera. Esta será la salida:

Array
(
    [1] => blue
)

Notas

Nota:

Dos elementos son considerandos iguales si y sólo si (string) $elem1 === (string) $elem2. Es decir: cuando la representación de cadena es la misma.

Nota:

Esta función sólo comprueba una dimensión de un array n-dimensional. Por supuesto, se pueden comprobar dimensiones más profundas mediante array_diff($array1[0], $array2[0]);.

Ver también

  • array_diff_assoc() - Calcula la diferencia entre arrays con un chequeo adicional de índices
  • array_intersect() - Calcula la intersección de arrays
  • array_intersect_assoc() - Calcula la intersección de arrays con un chequeo adicional de índices

array_diff_ukey
array_fill_keys
Funciones de Arrays


Llena un array con valores, especificando las keys

array_diff
array_fill
Funciones de Arrays
PHP Manual

array_fill_keys

(PHP 5 >= 5.2.0)

array_fill_keys — Llena un array con valores, especificando las keys

Descripción

array array_fill_keys ( array $keys , mixed $value )

Llena un array con el valor del parámetro value, usando los valores del array keys como claves.

Parámetros

keys

Array con los valores que serán usados como keys. Valores ilegales para una clave serán convertidos a string.

value

Valor usado para el llenado.

Valores devueltos

Retorna la matriz llenada

Ejemplos

Ejemplo #1 Ejemplo de array_fill_keys()

<?php
$keys = array('foo', 5, 10, 'bar');
$a = array_fill_keys($keys, 'banana');
print_r($a);
?>

El resultado del ejemplo sería:

Array
(
    [foo] => banana
    [5] => banana
    [10] => banana
    [bar] => banana
)

Ver también

  • array_fill() - Llena un array con valores
  • array_combine() - Crea un nuevo array, usando una matriz para las claves y otra para sus valores

array_diff
array_fill
Funciones de Arrays


Llena un array con valores

array_fill_keys
array_filter
Funciones de Arrays
PHP Manual

array_fill

(PHP 4 >= 4.2.0, PHP 5)

array_fill — Llena un array con valores

Descripción

array array_fill ( int $start_index , int $num , mixed $value )

Llena un array con num entradas del valor del parámetro value, las keys inician en el parámetro start_index.

Parámetros

start_index

El primer índice del array retornado.

Si start_index es negativo, el primer índice del array retornado será start_index y los siguientes indices comenzarán desde cero (ver ejemplo).

num

Número de elementos a insertar. Debe ser mayor que cero.

value

Valor a usar para el llenado.

Valores devueltos

Retorna el array llenado.

Errores/Excepciones

Arroja un E_WARNING si num es menor de uno.

Ejemplos

Ejemplo #1 Ejemplo de array_fill()

<?php
$a = array_fill(5, 6, 'banana');
$b = array_fill(-2, 4, 'pear');
print_r($a);
print_r($b);
?>

El resultado del ejemplo sería:

Array
(
    [5]  => banana
    [6]  => banana
    [7]  => banana
    [8]  => banana
    [9]  => banana
    [10] => banana
)
Array
(
    [-2] => pear
    [0] => pear
    [1] => pear
    [2] => pear
)

Notas

Ver también la sección Arrays del manual para una explicación detallada de las claves negativas.

Ver también

  • array_fill_keys() - Llena un array con valores, especificando las keys
  • str_repeat() - Repite un string
  • range() - Crear un array que contiene un rango de elementos

array_fill_keys
array_filter
Funciones de Arrays


Filtra elementos de un array usando una función de devolución de llamada

array_fill
array_flip
Funciones de Arrays
PHP Manual

array_filter

(PHP 4 >= 4.0.6, PHP 5)

array_filter — Filtra elementos de un array usando una función de devolución de llamada

Descripción

array array_filter ( array $array [, callable $callback ] )

Recorre cada valor de array pasándolos a la función callback. Si la función callback devuelve true, el valor actual desde array es devuelto dentro del array resultante. Las claves del array se conservan.

Parámetros

array

El array a recorrer.

callback

La función de devolución de llamada a usar.

Si no se proporciona callback, todas las entradas de array iguales a FALSE (ver convetir a boolean) serán eliminadas.

Valores devueltos

Devuelve el array filtrado.

Ejemplos

Ejemplo #1 Ejemplo de array_filter()

<?php
function impar($var)
{
    // Retorna siempre que el número entero sea impar
    return($var & 1);
}

function par($var)
{
    // Retorna siempre que el número entero sea par
    return(!($var & 1));
}

$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);

echo "Impar :\n";
print_r(array_filter($array1, "impar"));
echo "Par:\n";
print_r(array_filter($array2, "par"));
?>

El resultado del ejemplo sería:

Impar :
Array
(
    [a] => 1
    [c] => 3
    [e] => 5
)
Par:
Array
(
    [0] => 6
    [2] => 8
    [4] => 10
    [6] => 12
)

Ejemplo #2 array_filter() sin callback

<?php

$entrada = array(
             0 => 'foo',
             1 => false,
             2 => -1,
             3 => null,
             4 => ''
          );

print_r(array_filter($entrada));
?>

El resultado del ejemplo sería:

Array
(
    [0] => foo
    [2] => -1
)

Notas

Precaución

Si el array se cambia desde la función de devolución de llamada (p.ej. un elemento añadido, suprimido o desestablecido) el comportamiento de esta función no estará definido.

Ver también

  • array_map() - Aplica la llamada de retorno especificada a los elementos de cada array
  • array_reduce() - Reduce iterativamente una matriz a un solo valor usando una función llamada de retorno
  • array_walk() - Aplicar una función de usuario a cada miembro de un array

array_fill
array_flip
Funciones de Arrays


Intercambia todas las keys con sus valores asociados en un array

array_filter
array_intersect_assoc
Funciones de Arrays
PHP Manual

array_flip

(PHP 4, PHP 5)

array_flip — Intercambia todas las keys con sus valores asociados en un array

Descripción

array array_flip ( array $trans )

array_flip() retorna un array en orden volteado, es decir, las keys de trans se convierten en valores y los valores de trans se convierten en keys.

Se debe tener en cuenta que los valores de trans necesitan ser keys válidas, es decir, que necesitan ser entre un integer o un string. Una advertencia será emitida si un valor tiene el tipo erróneo y el par clave/valor en cuestión no será incluido en el resultado

Si un valor tiene varias ocurrencias, la última key será usada como su valor y todos los demás se perderán.

Parámetros

trans

Un array de pares key/valor para ser volteados.

Valores devueltos

Retorna el array volteado si es exitosa y NULL si falla.

Ejemplos

Ejemplo #1 Ejemplo de array_flip()

<?php
$trans = array_flip($trans);
$original = strtr($str, $trans);
?>

Ejemplo #2 Ejemplo de array_flip() : collision

<?php
$trans = array("a" => 1, "b" => 1, "c" => 2);
$trans = array_flip($trans);
print_r($trans);
?>

ahora $trans es:

Array
(
    [1] => b
    [2] => c
)

Ver también

  • array_values() - Devuelve todos los valores de un array
  • array_keys() - Devuelve todas las claves de un array o un subconjunto de claves de un array
  • array_reverse() - Devuelve un array con los elementos en orden inverso

array_filter
array_intersect_assoc
Funciones de Arrays


Calcula la intersección de arrays con un chequeo adicional de índices

array_flip
array_intersect_key
Funciones de Arrays
PHP Manual

array_intersect_assoc

(PHP 4 >= 4.3.0, PHP 5)

array_intersect_assoc — Calcula la intersección de arrays con un chequeo adicional de índices

Descripción

array array_intersect_assoc ( array $array1 , array $array2 [, array $ ... ] )

array_intersect_assoc() retorna un arrays que contiene todos los valores de array1 que están presentes en todos los arguementos. Notar que las keys son usadas en la comparación, a diferencia de array_intersect().

Parámetros

array1

Array con los valores maestros para verificar.

array2

Un array contra el cual comparar los valores.

array

Una lista variable de arrays para comparar.

Valores devueltos

Retorna un array asociativo que contiene todos los valores de array1 que están presentes en todos los argumentos.

Ejemplos

Ejemplo #1 Ejemplo de array_intersect_assoc()

<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "b" => "yellow", "blue", "red");
$result_array = array_intersect_assoc($array1, $array2);
print_r($result_array);
?>

El resultado del ejemplo sería:

Array
(
    [a] => green
)

En el ejemplo se ve que sólo el par "a" => "green" está presente en ambos arrays y por lo tanto es retornada. El valor "red" no se retorna porque en $array1 su key es 0 mientras que la key de "red" en $array2 es 1 y la key "b" no es retornada debido a que sus valores son diferentes en cada array.

Los dos valores del par key => value son considerados iguales sólo si (string) $elem1 === (string) $elem2 . En otras palabras una verificación de tipo estricto es ejecutada, por lo cual la representación de la cadena debe ser la misma.

Ver también

  • array_intersect() - Calcula la intersección de arrays
  • array_uintersect_assoc() - Computa la intersección de arrays con una comprobación de índices adicional, compara la información mediante una función de llamada de retorno
  • array_intersect_uassoc() - Calcula la intersección de arrays con un chequeo adicional de índices que se realiza por una función de devolución de llamada
  • array_uintersect_uassoc() - Computa la intersección de arrays con una comprobación de índices adicional, compara la información y los índices mediante funciones de llamada de retorno
  • array_diff() - Calcula la diferencia entre arrays
  • array_diff_assoc() - Calcula la diferencia entre arrays con un chequeo adicional de índices
array_flip
array_intersect_key
Funciones de Arrays


Calcula la intersección de arrays usando las keys para la comparación

array_intersect_assoc
array_intersect_uassoc
Funciones de Arrays
PHP Manual

array_intersect_key

(PHP 5 >= 5.1.0)

array_intersect_key — Calcula la intersección de arrays usando las keys para la comparación

Descripción

array array_intersect_key ( array $array1 , array $array2 [, array $ ... ] )

array_intersect_key() retorna un array que contiene todos los valores de array1 los cuales tienen keys que están presentes en todos los argumentos.

Parámetros

array1

Array con las keys maestras para verificar.

array2

Un array contra el cual comparar las keys.

array

Una lista variable de arrays para comparar.

Valores devueltos

Retorna un array asociativo que contiene todas las entradas de array1 los cuales tienen keys que están presentes en todos los argumentos.

Ejemplos

Ejemplo #1 Ejemplo de array_intersect_key()

<?php
$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

var_dump(array_intersect_key($array1, $array2));
?>

El resultado del ejemplo sería:

array(2) {
  ["blue"]=>
  int(1)
  ["green"]=>
  int(3)
}

En el ejemplo se puede ver que sólo las keys 'blue' y 'green' están presentes en ambos arrays y por lo tanto son retornadas. Se observa también que los valores para las claves 'blue' y 'green' difieren entre los dos arrays. Sigue ocurriendo emparejamiento porque sólo las keys son verificadas. Los valores retornados son aquellos del array1.

Las dos keys de los pares key => value son consideradas iguales sólo si (string) $key1 === (string) $key2 . En otras palabras una verificación de tipo estricto es ejecutada, por lo cual la representación de la cadena debe ser la misma.

Ver también

  • array_diff() - Calcula la diferencia entre arrays
  • array_udiff() - Computa la diferencia entre arrays, usando una llamada de retorno para la comparación de datos
  • array_diff_assoc() - Calcula la diferencia entre arrays con un chequeo adicional de índices
  • array_diff_uassoc() - Calcula la diferencia entre arrays con un chequeo adicional de índices que se realiza por una función de devolución de llamada suministrada por el usuario
  • array_udiff_assoc() - Computa la diferencia entre arrays con una comprobación de indices adicional, compara la información mediante una función de llamada de retorno
  • array_udiff_uassoc() - Computa la diferencia entre arrays con una verificación de índices adicional, compara la información y los índices mediante una función de llamada de retorno
  • array_diff_key() - Calcula la diferencia entre arrays usando las keys para la comparación
  • array_diff_ukey() - Calcula la diferencia entre arrays usando una función de devolución de llamada en las keys para comparación
  • array_intersect() - Calcula la intersección de arrays
  • array_intersect_assoc() - Calcula la intersección de arrays con un chequeo adicional de índices
  • array_intersect_uassoc() - Calcula la intersección de arrays con un chequeo adicional de índices que se realiza por una función de devolución de llamada
  • array_intersect_ukey() - Calcula la intersección de arrays usando una función de devolución de llamada en las keys para la comparación

array_intersect_assoc
array_intersect_uassoc
Funciones de Arrays


Calcula la intersección de arrays con un chequeo adicional de índices que se realiza por una función de devolución de llamada

array_intersect_key
array_intersect_ukey
Funciones de Arrays
PHP Manual

array_intersect_uassoc

(PHP 5)

array_intersect_uassoc — Calcula la intersección de arrays con un chequeo adicional de índices que se realiza por una función de devolución de llamada

Descripción

array array_intersect_uassoc ( array $array1 , array $array2 [, array $ ... ], callable $key_compare_func )

array_intersect_uassoc() retorna un array que contiene todos los valores de array1 que están presentes en todos los arguementos. Notar que las keys son usadas en la comparación, a diferencia de array_intersect().

Parámetros

array1

Array inicial para la comparación de los arrays.

array2

Primer array contra el cual comparar las keys.

array

Una lista variable de argumentos de arrays para comparar valores.

key_compare_func

La función de comparación debe devolver un entero menor, igual o mayor que cero si el primer argumento se considera que sea respectivamente menor, igual o mayor que el segundo.

int callback ( mixed $a, mixed $b )

Valores devueltos

Retorna los valores de array1 cuyos valores existen en todos los argumentos.

Ejemplos

Ejemplo #1 Ejemplo de array_intersect_uassoc()

<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red");

print_r(array_intersect_uassoc($array1, $array2, "strcasecmp"));
?>

El resultado del ejemplo sería:

Array
(
    [b] => brown
)

Ver también

  • array_intersect() - Calcula la intersección de arrays
  • array_intersect_assoc() - Calcula la intersección de arrays con un chequeo adicional de índices
  • array_uintersect_assoc() - Computa la intersección de arrays con una comprobación de índices adicional, compara la información mediante una función de llamada de retorno
  • array_uintersect_uassoc() - Computa la intersección de arrays con una comprobación de índices adicional, compara la información y los índices mediante funciones de llamada de retorno
  • array_intersect_key() - Calcula la intersección de arrays usando las keys para la comparación
  • array_intersect_ukey() - Calcula la intersección de arrays usando una función de devolución de llamada en las keys para la comparación

array_intersect_key
array_intersect_ukey
Funciones de Arrays


Calcula la intersección de arrays usando una función de devolución de llamada en las keys para la comparación

array_intersect_uassoc
array_intersect
Funciones de Arrays
PHP Manual

array_intersect_ukey

(PHP 5 >= 5.1.0)

array_intersect_ukey — Calcula la intersección de arrays usando una función de devolución de llamada en las keys para la comparación

Descripción

array array_intersect_ukey ( array $array1 , array $array2 [, array $... ], callable $key_compare_func )

array_intersect_ukey() retorna un array que contiene todos los valores de array1 los cuales tengan keys que estén presentes en todos los argumentos.

Parámetros

array1

Array inicial para la comparación de las arrays.

array2

Primer array contra el cual comparar las keys.

array

Una lista variable de argumentos de array para comparar keys.

key_compare_func

La función de comparación debe devolver un entero menor, igual o mayor que cero si el primer argumento se considera que sea respectivamente menor, igual o mayor que el segundo.

int callback ( mixed $a, mixed $b )

Valores devueltos

Retorna los valores de array1 cuyas keys existen en todos los argumentos.

Ejemplos

Ejemplo #1 Ejemplo de array_intersect_ukey()

<?php
function key_compare_func($key1, $key2)
{
    if ($key1 == $key2)
        return 0;
    else if ($key1 > $key2)
        return 1;
    else
        return -1;
}

$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

var_dump(array_intersect_ukey($array1, $array2, 'key_compare_func'));
?>

El resultado del ejemplo sería:

array(2) {
  ["blue"]=>
  int(1)
  ["green"]=>
  int(3)
}

En el ejemplo se puede ver que sólo las keys 'blue' y 'green' están presentes en ambos arrays y por lo tanto son retornadas. Nótese también que los valores para las keys 'blue' y 'green' difieren entre los dos arrays. Sigue ocurriendo emparejamiento porque sólo las keys son verificadas. Los valores retornados son aquellos del array1.

Ver también

  • array_diff() - Calcula la diferencia entre arrays
  • array_udiff() - Computa la diferencia entre arrays, usando una llamada de retorno para la comparación de datos
  • array_diff_assoc() - Calcula la diferencia entre arrays con un chequeo adicional de índices
  • array_diff_uassoc() - Calcula la diferencia entre arrays con un chequeo adicional de índices que se realiza por una función de devolución de llamada suministrada por el usuario
  • array_udiff_assoc() - Computa la diferencia entre arrays con una comprobación de indices adicional, compara la información mediante una función de llamada de retorno
  • array_udiff_uassoc() - Computa la diferencia entre arrays con una verificación de índices adicional, compara la información y los índices mediante una función de llamada de retorno
  • array_diff_key() - Calcula la diferencia entre arrays usando las keys para la comparación
  • array_diff_ukey() - Calcula la diferencia entre arrays usando una función de devolución de llamada en las keys para comparación
  • array_intersect() - Calcula la intersección de arrays
  • array_intersect_assoc() - Calcula la intersección de arrays con un chequeo adicional de índices
  • array_intersect_uassoc() - Calcula la intersección de arrays con un chequeo adicional de índices que se realiza por una función de devolución de llamada
  • array_intersect_key() - Calcula la intersección de arrays usando las keys para la comparación

array_intersect_uassoc
array_intersect
Funciones de Arrays


Calcula la intersección de arrays

array_intersect_ukey
array_key_exists
Funciones de Arrays
PHP Manual

array_intersect

(PHP 4 >= 4.0.1, PHP 5)

array_intersect — Calcula la intersección de arrays

Descripción

array array_intersect ( array $array1 , array $array2 [, array $ ... ] )

array_intersect() retorna un array que contiene todos los valores de array1 que están presentes en todos los argumentos. Nótese que las keys se mantienen.

Parámetros

array1

Array con los valores maestros a verificar.

array2

Un array contra el cual comparar los valores.

array

Una lista variable de arrays para comparar.

Valores devueltos

Retorna un array que contiene todos los valores en array1 cuyos valores existen en todos los parámetros.

Ejemplos

Ejemplo #1 Ejemplo de array_intersect()

<?php
$array1 = array("a" => "green", "red", "blue");
$array2 = array("b" => "green", "yellow", "red");
$result = array_intersect($array1, $array2);
print_r($result);
?>

El resultado del ejemplo sería:

Array
(
    [a] => green
    [0] => red
)

Notas

Nota: Dos elementos son considerados iguales si y sólo si (string) $elem1 === (string) $elem2. Es decir: cuando la representación de cadena es la misma.

Ver también

  • array_intersect_assoc() - Calcula la intersección de arrays con un chequeo adicional de índices
  • array_diff() - Calcula la diferencia entre arrays
  • array_diff_assoc() - Calcula la diferencia entre arrays con un chequeo adicional de índices

array_intersect_ukey
array_key_exists
Funciones de Arrays


Verifica si el índice o clave dada existe en el array

array_intersect
array_keys
Funciones de Arrays
PHP Manual

array_key_exists

(PHP 4 >= 4.0.7, PHP 5)

array_key_exists — Verifica si el índice o clave dada existe en el array

Descripción

bool array_key_exists ( mixed $key , array $search )

array_key_exists() devuelve TRUE si la key dada existe en el array. La key puede ser cualquier valor posible para índice de un array.

Parámetros

key

Valor para verificar.

search

Un array con las claves para verificar

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de array_key_exists()

<?php
$search_array = array('first' => 1, 'second' => 4);
if (array_key_exists('first', $search_array)) {
    echo "The 'first' element is in the array";
}
?>

Ejemplo #2 array_key_exists() vs isset()

isset() no retorna TRUE para claves de array que correspondan a un valor NULL, mientras que array_key_exists() si lo hace.

<?php
$search_array = array('first' => null, 'second' => 4);

// returns false
isset($search_array['first']);

// returns true
array_key_exists('first', $search_array);
?>

Notas

Nota:

Por razones de compatibilidad con versiones anteriores, los siguientes alias obsoletos podrían usarse: key_exists()

Nota:

Por razones de retrocompatilibidad, array_key_exists() también devuelve TRUE si key es una propiedad definida dentro de un objeto dado como search. No debería depender de este comportamiento, y se ha tener cuidado para asegurarse de que search es un array.

Para comprobar si una propiedad existe en un objeto, use property_exists().

Ver también

  • isset() - Determina si una variable está definida y no es NULL
  • array_keys() - Devuelve todas las claves de un array o un subconjunto de claves de un array
  • in_array() - Comprueba si un valor existe en un array usando comparación flexible
  • property_exists() - Comprueba si el objeto o la clase tienen una propiedad

array_intersect
array_keys
Funciones de Arrays


Devuelve todas las claves de un array o un subconjunto de claves de un array

array_key_exists
array_map
Funciones de Arrays
PHP Manual

array_keys

(PHP 4, PHP 5)

array_keys — Devuelve todas las claves de un array o un subconjunto de claves de un array

Descripción

array array_keys ( array $input [, mixed $search_value = NULL [, bool $strict = false ]] )

array_keys() devuelve las claves, numéricas y string, del array input.

Si se especifica el parámetro opcional search_value entonces sólo las claves para ese valor se retornan. De lo contrario, todas las claves del input se retornan.

Parámetros

input

Un array que contiene las claves para retornar.

search_value

Si se especifica, entonces sólo las claves que contienen ese valor se retornan.

strict

Determina si una comparación estricta (===) debe ser utilizada durante la búsqueda.

Valores devueltos

Retorna un array de todas las claves en input.

Historial de cambios

Versión | Descripción
5.0.0 | Añadido el parámetro strict.

Ejemplos

Ejemplo #1 Ejemplo de array_keys()

<?php
$array = array(0 => 100, "color" => "red");
print_r(array_keys($array));

$array = array("blue", "red", "green", "blue", "blue");
print_r(array_keys($array, "blue"));

$array = array("color" => array("blue", "red", "green"),
               "size"  => array("small", "medium", "large"));
print_r(array_keys($array));
?>

El resultado del ejemplo sería:

Array
(
    [0] => 0
    [1] => color
)
Array
(
    [0] => 0
    [1] => 3
    [2] => 4
)
Array
(
    [0] => color
    [1] => size
)

Ver también

  • array_values() - Devuelve todos los valores de un array
  • array_key_exists() - Verifica si el índice o clave dada existe en el array
  • array_search() - Busca un valor determinado en un array y devuelve la clave correspondiente en caso de éxito

array_key_exists
array_map
Funciones de Arrays


Aplica la llamada de retorno especificada a los elementos de cada array

array_keys
array_merge_recursive
Funciones de Arrays
PHP Manual

array_map

(PHP 4 >= 4.0.6, PHP 5)

array_map — Aplica la llamada de retorno especificada a los elementos de cada array

Descripción

array array_map ( callable $callback , array $array1 [, array $... ] )

array_map() devuelve un array que contiene todos los elementos de array1 después de haber aplicado la función callback a cada uno de ellos. El número de parámetros que la función callback acepte debería coincidir con el número de arrays que son pasados como argumentos a array_map().

Parámetros

callback

Función tipo llamada de retorno a ejecutar para cada elemento en cada array.

array1

Un array a recorrer con la función callback.

array

Lista variable de argumentos tipo array a recorrer con la función callback.

Valores devueltos

Devuelve un array que contiene todos los elementos de array1 después de aplicar la función callback a cada uno de ellos.

Ejemplos

Ejemplo #1 Ejemplo de array_map()

<?php
function cube($n)
{
    return($n * $n * $n);
}

$a = array(1, 2, 3, 4, 5);
$b = array_map("cube", $a);
print_r($b);
?>

Esto hace que $b contenga:

Array
(
    [0] => 1
    [1] => 8
    [2] => 27
    [3] => 64
    [4] => 125
)

Ejemplo #2 array_map() usando la una función lamba (desde PHP 5.3.0)

<?php
$func = function($value) {
    return $value * 2;
};

print_r(array_map($func, range(1, 5)));
?>
Array
(
    [0] => 2
    [1] => 4
    [2] => 6
    [3] => 8
    [4] => 10
)

Ejemplo #3 array_map() - usando más arrays

<?php
function show_Spanish($n, $m)
{
    return("The number $n is called $m in Spanish");
}

function map_Spanish($n, $m)
{
    return(array($n => $m));
}

$a = array(1, 2, 3, 4, 5);
$b = array("uno", "dos", "tres", "cuatro", "cinco");

$c = array_map("show_Spanish", $a, $b);
print_r($c);

$d = array_map("map_Spanish", $a , $b);
print_r($d);
?>

El resultado del ejemplo sería:

// printout of $c
Array
(
    [0] => The number 1 is called uno in Spanish
    [1] => The number 2 is called dos in Spanish
    [2] => The number 3 is called tres in Spanish
    [3] => The number 4 is called cuatro in Spanish
    [4] => The number 5 is called cinco in Spanish
)

// printout of $d
Array
(
    [0] => Array
        (
            [1] => uno
        )

    [1] => Array
        (
            [2] => dos
        )

    [2] => Array
        (
            [3] => tres
        )

    [3] => Array
        (
            [4] => cuatro
        )

    [4] => Array
        (
            [5] => cinco
        )

)

Usualmente, cuando se usan dos o más array, estos deberían ser de longitudes iguales ya que la llamada de retorno es aplicada en paralelo a los elementos correspondientes. Si los arrays son de longitudes diferentes, los más cortos serán extendidos con elementos vacíos para que coincidan con la logintud del más largo.

Un uso interesante de esta función es la construcción de un array de arrays, que puede ser llevada a cabo usando NULL como el nombre de la llamada de retorno.

Ejemplo #4 Creando un array de arrays

<?php
$a = array(1, 2, 3, 4, 5);
$b = array("one", "two", "three", "four", "five");
$c = array("uno", "dos", "tres", "cuatro", "cinco");

$d = array_map(null, $a, $b, $c);
print_r($d);
?>

El resultado del ejemplo sería:

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => one
            [2] => uno
        )

    [1] => Array
        (
            [0] => 2
            [1] => two
            [2] => dos
        )

    [2] => Array
        (
            [0] => 3
            [1] => three
            [2] => tres
        )

    [3] => Array
        (
            [0] => 4
            [1] => four
            [2] => cuatro
        )

    [4] => Array
        (
            [0] => 5
            [1] => five
            [2] => cinco
        )

)

Si el argumento array contiene claves tipo cadena, entonces el array devuelto tendrá claves tipo cadena si y solo si es pasado exactamente un array. Si más de un argumento es pasado, entonces el array devuelto siempre tendrá claves tipo entero.

Ejemplo #5 array_map() - con claves tipo cadena

<?php
$arr = array("stringkey" => "value");
function cb1($a) {
    return array ($a);
}
function cb2($a, $b) {
    return array ($a, $b);
}
var_dump(array_map("cb1", $arr));
var_dump(array_map("cb2", $arr, $arr));
var_dump(array_map(null,  $arr));
var_dump(array_map(null, $arr, $arr));
?>

El resultado del ejemplo sería:

array(1) {
  ["stringkey"]=>
  array(1) {
    [0]=>
    string(5) "value"
  }
}
array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(5) "value"
    [1]=>
    string(5) "value"
  }
}
array(1) {
  ["stringkey"]=>
  string(5) "value"
}
array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(5) "value"
    [1]=>
    string(5) "value"
  }
}

Ver también

  • array_filter() - Filtra elementos de un array usando una función de devolución de llamada
  • array_reduce() - Reduce iterativamente una matriz a un solo valor usando una función llamada de retorno
  • array_walk() - Aplicar una función de usuario a cada miembro de un array
  • información acerca de tipos de llamada de retorno

array_keys
array_merge_recursive
Funciones de Arrays


Une dos o más arrays recursivamente

array_map
array_merge
Funciones de Arrays
PHP Manual

array_merge_recursive

(PHP 4 >= 4.0.1, PHP 5)

array_merge_recursive — Une dos o más arrays recursivamente

Descripción

array array_merge_recursive ( array $array1 [, array $... ] )

array_merge_recursive() une los elementos de uno o más arrays de modo tal que los valores de uno sean añadidos al final del anterior. Devuelve el array resultante.

Si los arrays de entrada tienen las mismas claves de tipo string, los valores de estas claves son unidas en un array, y esto se realiza recursivamente, de modo que si uno de los valores es un array mismo, la función unirá también ésta con la correspondiente entrada de otro array. Sin embargo, si los arrays tienen la misma clave numérica, el valor posterior no sobrescribirá el valor original, sino que será añadido al final.

Parámetros

array1

Array inicial a unir.

...

Lista variable de arrays a unir recursivamente.

Valores devueltos

Un array de valores resultante de la unión de los argumentos.

Ejemplos

Ejemplo #1 Ejemplo de array_merge_recursive()

<?php
$m1 = array("color" => array("favorito" => "rojo"), 5);
$m2 = array(10, "color" => array("favorito" => "verde", "azul"));
$resultado = array_merge_recursive($m1, $m2);
print_r($resultado);
?>

El resultado del ejemplo sería:

Array
(
    [color] => Array
        (
            [favorito] => Array
                (
                    [0] => rojo
                    [1] => verde
                )

            [0] => azul
        )

    [0] => 5
    [1] => 10
)

Ver también

  • array_merge() - Combina dos o más arrays
  • array_replace_recursive() - Reemplaza los elementos de los arrays pasados al primer array de forma recursiva

array_map
array_merge
Funciones de Arrays


Combina dos o más arrays

array_merge_recursive
array_multisort
Funciones de Arrays
PHP Manual

array_merge

(PHP 4, PHP 5)

array_merge — Combina dos o más arrays

Descripción

array array_merge ( array $array1 [, array $... ] )

Combina los elementos de uno o más arrays juntándolos de modo que los valores de uno se anexan al final del anterior. Retorna el array resultante.

Si los arrays de entrada tienen las mismas claves de string, entonces el valor más posterior para esa clave sobrescribirá a la anterior. Sin embargo, los arrays que contengan claves numéricas, el valor posterior no sobrescribirá el valor original, sino que sera adjuntado.

Los valores en el array de entrada con claves numéricas serán renumeradas con claves incrementales comenzando desde cero en el array de resultado.

Parámetros

array1

Array inicial para combinar.

...

Lista variable de arrays para combinar.

Valores devueltos

Retorna el array resultante.

Historial de cambios

Versión Descripción
5.0.0
Advertencia

El comportamiento de array_merge() fue modificado en PHP 5. A diferencia de PHP 4, array_merge() ahora sólo acepta parámetros de tipo array. Sin embargo, se puede utilizar typecasting para combinar otros tipos. Véase el siguiente ejemplo para más detalles.

Ejemplo #1 Ejemplo de array_merge() de PHP 5

<?php
$beginning = 'foo';
$end = array(1 => 'bar');
$result = array_merge((array)$beginning, (array)$end);
print_r($result);
?>

El resultado del ejemplo sería:

    Array
    (
        [0] => foo
        [1] => bar
    )

Ejemplos

Ejemplo #2 Ejemplo de array_merge()

<?php
$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);
?>

El resultado del ejemplo sería:

Array
(
    [color] => green
    [0] => 2
    [1] => 4
    [2] => a
    [3] => b
    [shape] => trapezoid
    [4] => 4
)

Ejemplo #3 Ejemplo de array_merge() simple

<?php
$array1 = array();
$array2 = array(1 => "data");
$result = array_merge($array1, $array2);
?>

¡No se debe olvidar que las claves numéricas serán renumeradas!

Array
(
    [0] => data
)

Si se desean anexar elementos del segundo array al primer array entretanto no se sobrescriban los elementos del primer array y no se reindexe, utilizar el operador + de unión de arrays.

<?php
$array1 = array(0 => 'zero_a', 2 => 'two_a', 3 => 'three_a');
$array2 = array(1 => 'one_b', 3 => 'three_b', 4 => 'four_b');
$result = $array1 + $array2;
var_dump($result);
?>

Las claves del primer array se preservaran. Si una clave existe en ambos arrays, entonces el elemento del primer array será usado y el elemento de la clave coincidente del segundo array será ignorado.

array(5) {
  [0]=>
  string(6) "zero_a"
  [2]=>
  string(5) "two_a"
  [3]=>
  string(7) "three_a"
  [1]=>
  string(5) "one_b"
  [4]=>
  string(6) "four_b"
}

Ver también

  • array_merge_recursive() - Une dos o más arrays recursivamente
  • array_combine() - Crea un nuevo array, usando una matriz para las claves y otra para sus valores
  • array operators

array_merge_recursive
array_multisort
Funciones de Arrays


Ordena múltiples arrays, o arrays multi-dimensionales

array_merge
array_pad
Funciones de Arrays
PHP Manual

array_multisort

(PHP 4, PHP 5)

array_multisort — Ordena múltiples arrays, o arrays multi-dimensionales

Descripción

bool array_multisort ( array &$arr [, mixed $arg = SORT_ASC [, mixed $arg = SORT_REGULAR [, mixed $... ]]] )

array_multisort() puede usarse para ordenar varios arrays al mismo tiempo, o un array multi-dimensional por una o más dimensiones.

Las llaves asociativas (string) se mantendrán, aunque las llaves numéricas son re-indexadas.

Parámetros

arr

Un valor tipo array a ordenar.

arg

Opcionalmente otro array, u opciones de ordenación para el argumento array anterior:

Banderas de tipo de ordenación:

  • SORT_ASC - ordena los elementos ascendentemente.
  • SORT_DESC - ordena los elementos descendentemente.
  • SORT_REGULAR - compara los elementos normalmente (no cambia los tipos)
  • SORT_NUMERIC - compara los elementos numéricamente
  • SORT_STRING - compara los elementos como strings
  • SORT_LOCALE_STRING - compara los elementos como strings, basándose en la configuración regional en uso. Utiliza la configuración regional, la cual se puede cambiar usando setlocale()
  • SORT_NATURAL - compara los elementos como strings usando el "orden natural" como natsort()
  • SORT_FLAG_CASE - puede ser combinado (OR a nivel de bits) con SORT_STRING o SORT_NATURAL para ordenar strings sin tener en cuent las mayúsculas/minúsculas

...

args adicionales.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.4.0 | Se añadieron SORT_NATURAL y SORT_FLAG_CASE a arg como posibles banderas de ordenación.
5.3.0 | Se añadió SORT_LOCALE_STRING a arg como posible bandera de ordenación.

Ejemplos

Ejemplo #1 Ordenar varios arrays

<?php
$matriz1 = array(10, 100, 100, 0);
$matriz2 = array(1, 3, 2, 4);
array_multisort($matriz1, $matriz2);

var_dump($matriz1);
var_dump($matriz2);
?>

En este ejemplo, después del ordenado, el primer array contendrá los valores 0, 10, 100, 100. El segundo array contendrá 4, 1, 2, 3. Las entradas en el segundo array que correspondían a las entradas idénticas del primer array (100 y 100) fueron ordenadas también.

array(4) {
  [0]=> int(0)
  [1]=> int(10)
  [2]=> int(100)
  [3]=> int(100)
}
array(4) {
  [0]=> int(4)
  [1]=> int(1)
  [2]=> int(2)
  [3]=> int(3)
}

Ejemplo #2 Ordenar un array multi-dimensional

<?php
$ar = array(
       array("10", 11, 100, 100, "a"),
       array(   1,  2, "2",   3,   1)
      );
array_multisort($ar[0], SORT_ASC, SORT_STRING,
                $ar[1], SORT_NUMERIC, SORT_DESC);
var_dump($ar);
?>

En este ejemplo, después del ordenado, el primer array se transformará a 10, 100, 100, 11, "a" (fue ordenada como cadenas en orden ascendente), y la segunda tendrá 1, 3, "2", 2, 1 (ordenada como números, en orden descendiente).

array(2) {
  [0]=> array(5) {
    [0]=> string(2) "10"
    [1]=> int(100)
    [2]=> int(100)
    [3]=> int(11)
    [4]=> string(1) "a"
  }
  [1]=> array(5) {
    [0]=> int(1)
    [1]=> int(3)
    [2]=> string(1) "2"
    [3]=> int(2)
    [4]=> int(1)
  }
}

Ejemplo #3 Ordenar resultados de una base de datos

Para este ejemplo, cada elemento en el array datos representa una fila en una tabla. Este tipo de conjunto de datos es típico de los registros en una base de datos.

Datos de ejemplo:

volumen| edicion
-------+--------
    67 |       2
    86 |       1
    85 |       6
    98 |       2
    86 |       6
    67 |       7

Los datos como un array, llamada datos. Ésta se obtendría usualmente, por ejemplo, mediante un ciclo con mysql_fetch_assoc().

<?php
$datos[] = array('volumen' => 67, 'edicion' => 2);
$datos[] = array('volumen' => 86, 'edicion' => 1);
$datos[] = array('volumen' => 85, 'edicion' => 6);
$datos[] = array('volumen' => 98, 'edicion' => 2);
$datos[] = array('volumen' => 86, 'edicion' => 6);
$datos[] = array('volumen' => 67, 'edicion' => 7);
?>

En este ejemplo, ordenaremos por volumen descendientemente, y por edicion ascendentemente.

Tenemos un array de filas, pero array_multisort() requiere un array de columnas, así que usamos el código a continuación para obtener las columnas, y luego realizar el ordenado.

<?php
// Obtener una lista de columnas
foreach ($data as $key => $row) {
    $volume[$key]  = $row['volume'];
    $edition[$key] = $row['edition'];
}

// Ordenar los datos con volumen descendiente, edicion ascendiente
// Agregar $datos como el último parámetro, para ordenar por la llave común
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
?>

El conjunto de datos está ordenado ahora, y lucirá de este modo:

volumen| edicion
-------+--------
    98 |       2
    86 |       1
    86 |       6
    85 |       6
    67 |       2
    67 |       7

Ejemplo #4 Ordenardo insensible a mayúsculas/minúsculas

Tanto SORT_STRING como SORT_REGULAR son sensibles a mayúsculas/minúsculas, las cadenas que comienzan con una letra mayúscula vendrán antes que las cadenas con una letra minúscula.

Para realizar una búsqueda insensible a minúsculas y mayúsculas, asegúrese de que el orden sea determinado por una copia en minúsculas del array original.

<?php
$array = array('Alpha', 'atomic', 'Beta', 'bank');
$array_lowercase = array_map('strtolower', $array);

array_multisort($array_lowercase, SORT_ASC, SORT_STRING, $array);

print_r($array);
?>

El resultado del ejemplo sería:

Array
(
    [0] => Alpha
    [1] => atomic
    [2] => bank
    [3] => Beta
)

Ver también

  • usort() - Ordena un array según sus valores usando una función de comparación definida por el usuario
  • comparación de funciones de orden de arrays

array_merge
array_pad
Funciones de Arrays


Rellena un array a la longitud especificada con un valor

array_multisort
array_pop
Funciones de Arrays
PHP Manual

array_pad

(PHP 4, PHP 5)

array_pad — Rellena un array a la longitud especificada con un valor

Descripción

array array_pad ( array $array , int $size , mixed $value )

array_pad() devuelve una copia de array rellenada al tamaño especificado por size con el valor value. Si size es positivo, el array se rellena hacia la derecha, si es negativo hacia la izquierda. Si el valor absoluto de size es menor o igual a la longitud de array, no se lleva a cabo el relleno. Es posible añadir como máximo 1048576 elementos de una sola vez.

Parámetros

array

Array inicial de valores a rellenar.

size

Nuevo tamaño del array.

value

Valor a rellenar si array es menor que size.

Valores devueltos

Devuelve una copia de array rellenada al espacio especificado por size con el valor value. Si size es positivo el array es relleno hacia la derecha, si es negativo hacia la izquierda. Si el valor absoluto de size es menor o igual que la longitud de array, no se lleva a cabo el relleno.

Ejemplos

Ejemplo #1 Ejemplo de array_pad()

<?php
$input = array(12, 10, 9);

$result = array_pad($input, 5, 0);
// el resultado es array(12, 10, 9, 0, 0)

$result = array_pad($input, -7, -1);
// el resultado es array(-1, -1, -1, -1, 12, 10, 9)

$result = array_pad($input, 2, "noop");
// sin relleno
?>

Ver también

  • array_fill() - Llena un array con valores
  • range() - Crear un array que contiene un rango de elementos

array_multisort
array_pop
Funciones de Arrays


Extrae el último elemento del final del array

array_pad
array_product
Funciones de Arrays
PHP Manual

array_pop

(PHP 4, PHP 5)

array_pop — Extrae el último elemento del final del array

Descripción

mixed array_pop ( array &$array )

array_pop() extrae y devuelve el último valor del array, acortando el array con un elemento menos. Si el array está vacío (o no es un array), se devolverá NULL. Además se producirá un Warning cuando se llame a un elemento que no es un array.

Nota: Esta función ejecutará un reset() en el puntero de array del array de entrada después de su uso.

Parámetros

array

El array de donde obtener el valor.

Valores devueltos

Devuelve el último valor del array. Si el array está vacío (o no es un array), se devolverá NULL.

Ejemplos

Ejemplo #1 Ejemplo de array_pop()

<?php
$stack = array("naranja", "plátano", "manzana", "frambuesa");
$fruit = array_pop($stack);
print_r($stack);
?>

Después de hacer esto, $stack solo tendrá 3 elementos:

Array
(
    [0] => naranja
    [1] => plátano
    [2] => manzana
)

y raspberry será asignado a $fruit.

Ver también

  • array_push() - Inserta uno o más elementos al final de un array
  • array_shift() - Quita un elemento del principio del array
  • array_unshift() - Añadir al inicio de un array uno a más elementos

array_pad
array_product
Funciones de Arrays


Calcula el producto de los valores de un array

array_pop
array_push
Funciones de Arrays
PHP Manual

array_product

(PHP 5 >= 5.1.0)

array_product — Calcula el producto de los valores de un array

Descripción

number array_product ( array $array )

array_product() devuelve el producto de valores de un array.

Parámetros

array

El array.

Valores devueltos

Devuelve el producto como integer o float.

Historial de cambios

Versión | Descripción
5.3.6 | El producto de un array vacío ahora es 1, mientras que antes esta función devolvía 0 para un array vacío.

Ejemplos

Ejemplo #1 Ejemplo de array_product()

<?php

$a = array(2, 4, 6, 8);
echo "producto(a) = " . array_product($a) . "\n";
echo "producto(array()) = " . array_product(array()) . "\n";

?>

El resultado del ejemplo sería:

producto(a) = 384
producto(array()) = 1

array_pop
array_push
Funciones de Arrays


Inserta uno o más elementos al final de un array

array_product
array_rand
Funciones de Arrays
PHP Manual

array_push

(PHP 4, PHP 5)

array_push — Inserta uno o más elementos al final de un array

Descripción

int array_push ( array &$array , mixed $var [, mixed $... ] )

array_push() trata array como si fuera una pila y empuja la variable que se le pasa al final del array. El tamaño del array será incrementado por el número de variables insertados. Tiene el mismo efecto que:

<?php
$array[] = $var;
?>
repetido por cada var.

Nota: Si se utiliza array_push() para añadir un solo elemento en el array, es mejor utilizar $array[] = ya que de esta forma no existe la sobrecarga de llamar a una función.

Nota: array_push() generará un warning si el primer argumento no es un array. Esto difiere del comportamiento de $var[] donde un nuevo array será creado.

Parámetros

array

El array de entrada.

var

El valor a insertar.

Valores devueltos

Devuelve el nuevo número de elementos en un array.

Ejemplos

Ejemplo #1 Ejemplo de array_push()

<?php
$stack = array("naranja", "plátano");
array_push($stack, "manzana", "arándano");
print_r($stack);
?>

El resultado del ejemplo sería:

Array
(
    [0] => naranja
    [1] => plátano
    [2] => manzana
    [3] => arándano
)

Ver también

  • array_pop() - Extrae el último elemento del final del array
  • array_shift() - Quita un elemento del principio del array
  • array_unshift() - Añadir al inicio de un array uno a más elementos

array_product
array_rand
Funciones de Arrays


Selecciona una o más entradas aleatorias de un array

array_push
array_reduce
Funciones de Arrays
PHP Manual

array_rand

(PHP 4, PHP 5)

array_rand — Selecciona una o más entradas aleatorias de un array

Descripción

mixed array_rand ( array $input [, int $num_req = 1 ] )

Obtiene uno o más valores aleatorios de un array y devuelve la clave (o claves) de dichos valores aleatorios.

Parámetros

input

El array de entrada.

num_req

Especifica cuántas entradas se desea elegir. Si se trata de elegir más elementos de los que hay en el array el resultado producirá un error de nivel E_WARNING.

Valores devueltos

Si se está eligiendo únicamente una entrada, array_rand() devuelve la clave de una entrada al azar. De lo contrario, devuelve un array de claves para las entradas aleatorias. Esto se ha hecho de esta forma para que se pueda elegir claves al igual que valores al azar del array.

Historial de cambios

Versión | Descripción
5.2.10 | Ya no se muestra mezclado el array de claves.
4.2.0 | El generador de números aleatorio es sembrado automáticamente.

Ejemplos

Ejemplo #1 Ejemplo de array_rand()

<?php
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($input, 2);
echo $input[$rand_keys[0]] . "\n";
echo $input[$rand_keys[1]] . "\n";
?>

Ver también

  • shuffle() - Mezcla un array

array_push
array_reduce
Funciones de Arrays


Reduce iterativamente una matriz a un solo valor usando una función llamada de retorno

array_rand
array_replace_recursive
Funciones de Arrays
PHP Manual

array_reduce

(PHP 4 >= 4.0.5, PHP 5)

array_reduce — Reduce iterativamente una matriz a un solo valor usando una función llamada de retorno

Descripción

mixed array_reduce ( array $input , callable $function [, mixed $initial = NULL ] )

array_reduce() aplica iterativamente la función function a los elementos de la matriz input, con el propósito de reducir la matriz a un solo valor.

Parámetros

input

La matriz de entrada.

function

La función usada como llamada de retorno.

mixed callback ( mixed &$result , mixed $item )
initial

Si el parámetro opcional inicial está disponible, éste será usado al comienzo del proceso, o como un resultado final en caso de que la matriz esté vacía.

Valores devueltos

Devuelve el valor resultante.

Si la matriz está vacía y no se pasa el parámetro initial, array_reduce() devuelve NULL.

Historial de cambios

Versión | Descripción
5.3.0 | Cambiado parámetro initial para permitir mixed, anteriormente integer.

Ejemplos

Ejemplo #1 Ejemplo de array_reduce()

<?php
function rsum($v, $w)
{
    $v += $w;
    return $v;
}

function rmul($v, $w)
{
    $v *= $w;
    return $v;
}

$a = array(1, 2, 3, 4, 5);
$x = array();
$b = array_reduce($a, "rsum");
$c = array_reduce($a, "rmul", 10);
$d = array_reduce($x, "rsum", "No data to reduce");
?>

Esto resultará en que $b contenga 15, $c contenga 1200 (= 10*1*2*3*4*5), y $d contenga No datos a reducir.

Ver también

  • array_filter() - Filtra elementos de un array usando una función de devolución de llamada
  • array_map() - Aplica la llamada de retorno especificada a los elementos de cada array
  • array_unique() - Elimina valores duplicados de un array
  • array_count_values() - Cuenta todos los valores de un array

array_rand
array_replace_recursive
Funciones de Arrays


Reemplaza los elementos de los arrays pasados al primer array de forma recursiva

array_reduce
array_replace
Funciones de Arrays
PHP Manual

array_replace_recursive

(PHP 5 >= 5.3.0)

array_replace_recursive — Reemplaza los elementos de los arrays pasados al primer array de forma recursiva

Descripción

array array_replace_recursive ( array $array1 , array $array2 [, array $... ] )

array_replace_recursive() reemplaza los valores de array1 con los mismos valores de todos los siguientes arrays. Si una clave del primer array existe en el segundo array, su valor será reemplazado por el valor del segundo array. Si la clave existe en el segundo array, y no en el primero, será creada en el primer array. Si una clave existe únicamente en el primer array, se dejará como está. Si se pasan varios arrays para el reemplazo, serán procesados en orden, el último array sobrescribiendo los valores anteriores.

array_replace_recursive() es recursiva: realizará la recursividad en los arrays y aplicará el mismo proceso al valor interno.

Cuando el valor de array1 es escalar, será reemplazado por el valor de array2, que puede ser escalar o un array. Cuando los valores de array1 y array2 son arrays, array_replace_recursive() reemplazará sus respectivos valores recursivamente.

Parámetros

array1

El array cuyos elementos son reemplazados.

array2

El array del cual se extraerán los elementos.

...

Opcional. Más arrays desde los cuales se extraerán los elementos.

Valores devueltos

Devuelve un array, o NULL en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de array_replace_recursive()

<?php
$base = array('cítricos' => array( "naranja") , 'bayas' => array("mora", "frambuesa"), );
$reemplazos = array('cítricos' => array('piña'), 'bayas' => array('arándano'));

$cesta = array_replace_recursive($base, $reemplazos);
print_r($cesta);

$cesta = array_replace($base, $reemplazos);
print_r($cesta);
?>

El resultado del ejemplo sería:

Array
(
    [cítricos] => Array
        (
            [0] => piña
        )

    [bayas] => Array
        (
            [0] => arándano
            [1] => frambuesa
        )

)
Array
(
    [cítricos] => Array
        (
            [0] => piña
        )

    [bayas] => Array
        (
            [0] => arándano
        )

)

Ejemplo #2 array_replace_recursive() y comportamiento recursivo

<?php
$base = array('cítricos' => array("naranja") , 'bayas' => array("mora", "frambuesa"), 'otros' => 'banana' );
$reemplazos = array('cítricos' => 'piña', 'bayas' => array('arándano'), 'otros' => array('litchis'));
$reemplazos2 = array('cítricos' => array('piña'), 'bayas' => array('arándano'), 'otros' => 'litchis');

$cesta = array_replace_recursive($base, $reemplazos, $reemplazos2);
print_r($cesta);

?>

El resultado del ejemplo sería:

Array
(
    [cítricos] => Array
        (
            [0] => piña
        )

    [bayas] => Array
        (
            [0] => arándano
            [1] => frambuesa
        )

    [otros] => litchis
)

Ver también

  • array_replace() - Reemplaza los elementos de los arrays pasados en el primer array
  • array_merge_recursive() - Une dos o más arrays recursivamente

array_reduce
array_replace
Funciones de Arrays


Reemplaza los elementos de los arrays pasados en el primer array

array_replace_recursive
array_reverse
Funciones de Arrays
PHP Manual

array_replace

(PHP 5 >= 5.3.0)

array_replace — Reemplaza los elementos de los arrays pasados en el primer array

Descripción

array array_replace ( array $array , array $array1 [, array $... ] )

array_replace() reemplaza los valores del primer array con los mismos valores de todos los siguientes arrays. Si la clave del primer array existe en el segundo array, su valor será reemplazado por el valor del segundo array. Si la clave existe en el segundo array y no en el primero, será creado en el primer array. Si la clave sólo existe en el primer array, se dejará como está. Si varios array son pasados para ser reemplazados, se procederá en orden, los arrays posteriores sobreescribirán los valores anteriores.

array_replace() no es recursivo: reemplazará valores en el primer array por el tipo que sea en el segundo array.

Parámetros

array

El array cuyos elementos son reemplazados.

array1

El array del cual se extraerán los elementos.

...

Más arrays de los que se extraerán los elementos. Valores de arrays posteriores sobrescriben los valores anteriores.

Valores devueltos

Devuelve un array, o NULL en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de array_replace()

<?php
$base = array("naranja", "plátano", "manzana", "frambuesa");
$reemplazos = array(0 => "piña", 4 => "cereza");
$reemplazos2 = array(0 => "uva");

$cesta = array_replace($base, $reemplazos, $reemplazos2);
print_r($cesta);
?>

El resultado del ejemplo sería:

Array
(
    [0] => uva
    [1] => plátano
    [2] => manzana
    [3] => frambuesa
    [4] => cereza
)

Ver también

  • array_replace_recursive() - Reemplaza los elementos de los arrays pasados al primer array de forma recursiva

array_replace_recursive
array_reverse
Funciones de Arrays


Devuelve un array con los elementos en orden inverso

array_replace
array_search
Funciones de Arrays
PHP Manual

array_reverse

(PHP 4, PHP 5)

array_reverse — Devuelve un array con los elementos en orden inverso

Descripción

array array_reverse ( array $array [, bool $preserve_keys = false ] )

Toma un valor array y devuelve un nuevo array con el orden de los elementos invertido.

Parámetros

array

El array de entrada.

preserve_keys

Si se establece en TRUE las claves numéricas se conservarán. Las claves numéricas no se ven afectadas por este ajuste y se conservarán siempre.

Valores devueltos

Devuelve el array en orden inverso.

Historial de cambios

Versión | Descripción
4.0.3 | El parámetro preserve_keys fue añadido.

Ejemplos

Ejemplo #1 Ejemplo de array_reverse()

<?php
$input  = array("php", 4.0, array("verde", "rojo"));
$reversed = array_reverse($input);
$preserved = array_reverse($input, true);

print_r($input);
print_r($reversed);
print_r($preserved);
?>

El resultado del ejemplo sería:

Array
(
    [0] => php
    [1] => 4
    [2] => Array
        (
            [0] => verde
            [1] => rojo
        )

)
Array
(
    [0] => Array
        (
            [0] => verde
            [1] => rojo
        )

    [1] => 4
    [2] => php
)
Array
(
    [2] => Array
        (
            [0] => verde
            [1] => rojo
        )

    [1] => 4
    [0] => php
)

Ver también

  • array_flip() - Intercambia todas las keys con sus valores asociados en un array

array_replace
array_search
Funciones de Arrays


Busca un valor determinado en un array y devuelve la clave correspondiente en caso de éxito

array_reverse
array_shift
Funciones de Arrays
PHP Manual

array_search

(PHP 4 >= 4.0.5, PHP 5)

array_search — Busca un valor determinado en un array y devuelve la clave correspondiente en caso de éxito

Descripción

mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )

Busca en el haystack (pajar) por la needle (aguja).

Parámetros

needle

El valor a buscar.

Nota:

Si needle es una cadena, la comparación es realizada de forma sensible a mayúsculas y minúsculas.

haystack

El array

strict

Si el tercer parámetro, strict, se define como TRUE entonces la función array_search() también buscará elementos idénticos en el haystack. Esto significa que también comprobará los tipos de datos de la needle en el haystack, ya que los objetos deben ser la misma instancia.

Valores devueltos

Devuelve la clave de la needle si se encuentra en el array, o FALSE si no.

Si la needle es encontrada en el haystack más de una vez, se devuelve la primera clave coincidente. Para devolver las claves de todos los valores coincidentes, se ha de usar en su lugar array_keys() con el parámetro opcional search_value.

Advertencia

Esta función puede devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se evalúa como FALSE. 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.

Historial de cambios

Versión | Descripción
5.3.0 | Al igual que con todas las funciones internas de PHP a partir de la versión 5.3.0, array_search() devuelve NULL si se le pasan parámetros inválidos.
4.2.0 | En versiones de PHP anteriores a 4.2.0, array_search() devuelve NULL en caso de fallo, en lugar de FALSE.

Ejemplos

Ejemplo #1 Ejemplo de array_search()

<?php
$array = array(0 => 'azul', 1 => 'rojo', 2 => 'verde', 3 => 'rojo');

$clave = array_search('verde', $array); // $clave = 2;
$clave = array_search('rojo', $array);  // $clave = 1;
?>

Ver también

  • array_keys() - Devuelve todas las claves de un array o un subconjunto de claves de un array
  • array_values() - Devuelve todos los valores de un array
  • array_key_exists() - Verifica si el índice o clave dada existe en el array
  • in_array() - Comprueba si un valor existe en un array usando comparación flexible

array_reverse
array_shift
Funciones de Arrays


Quita un elemento del principio del array

array_search
array_slice
Funciones de Arrays
PHP Manual

array_shift

(PHP 4, PHP 5)

array_shift — Quita un elemento del principio del array

Descripción

mixed array_shift ( array &$array )

array_shift() Quita el primer valor del array y lo devuelve, acortando el array un elemento y corriendo el array hacia abajo. Todas la claves del array numéricas serán modificadas para que empiece contando desde cero mientras que los arrays con claves literales no serán modificados.

Nota: Esta función ejecutará un reset() en el puntero de array del array de entrada después de su uso.

Parámetros

array

El array de entrada.

Valores devueltos

Devuelve el valor quitado, o NULL si el array está vacío o no es un array.

Ejemplos

Ejemplo #1 Ejemplo de array_shift()

<?php
$stack = array("naranja", "plátano", "manzana", "frambuesa");
$fruit = array_shift($stack);
print_r($stack);
?>

El resultado del ejemplo sería:

Array
(
    [0] => plátano
    [1] => manzana
    [2] => frambuesa
)

y naranja será asigando a $fruit.

Ver también

  • array_unshift() - Añadir al inicio de un array uno a más elementos
  • array_push() - Inserta uno o más elementos al final de un array
  • array_pop() - Extrae el último elemento del final del array

array_search
array_slice
Funciones de Arrays


Extrae una parte de un array

array_shift
array_splice
Funciones de Arrays
PHP Manual

array_slice

(PHP 4, PHP 5)

array_slice — Extrae una parte de un array

Descripción

array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] )

array_slice() devuelve la secuencia de elementos del array array tal y como se especifica en los parámetros offset y length.

Parámetros

array

El array de entrada.

offset

Si el offset no es negativo, la secuencia empezará en esa posición del array. Si el offset es negativo, la secuencia empezará en esa posición empezando por el final del array.

length

Si el length dado es positivo, entonces la secuencia tendrá hasta tantos elementos como indique el valor. Si el array es más corto que length, solamente estarán presentes los elementos disponibles del array. Si el length dado es negativo la secuencia finalizará en tantos elementos empezando por el final del array. Si se omite, entonces la secuencia contendrá todo el contenido desde el offset hasta el final del array.

preserve_keys

Tenga en cuenta que array_slice() reordenará y reinicializará los índices numéricos del array de forma predeterminada. Se puede cambiar esta comportamiento declarando el parámetro preserve_keys como TRUE.

Valores devueltos

Devuelve la parte del array.

Historial de cambios

Versión | Descripción
5.0.2 | Se añadió el parámetro opcional preserve_keys.

Ejemplos

Ejemplo #1 Ejemplos de array_slice()

<?php
$input = array("a", "b", "c", "d", "e");

$output = array_slice($input, 2);      // devuelve "c", "d", and "e"
$output = array_slice($input, -2, 1);  // devuelve "d"
$output = array_slice($input, 0, 3);   // devuelve "a", "b", and "c"

// note las diferencias en las claves de los arrays
print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));
?>

El resultado del ejemplo sería:

Array
(
    [0] => c
    [1] => d
)
Array
(
    [2] => c
    [3] => d
)

Ver también

  • array_splice() - Elimina una porción del array y la reemplaza con algo
  • unset() - Destruye una variable especificada
  • array_chunk() - Divide un array en fragmentos

array_shift
array_splice
Funciones de Arrays


Elimina una porción del array y la reemplaza con algo

array_slice
array_sum
Funciones de Arrays
PHP Manual

array_splice

(PHP 4, PHP 5)

array_splice — Elimina una porción del array y la reemplaza con algo

Descripción

array array_splice ( array &$input , int $offset [, int $length [, mixed $replacement = array() ]] )

Elimina los elementos designados por offset y length del array input, y los reemplaza con los elementos del aray replacement array, si se proporcionan.

Observe que las clave numéricas de input no se preservan.

Nota: Si replacement no es un array, será convertido a uno (esto es, (array) $parámetro). Esto puede resultar en un comportamiento inesperado cuando se usa un replacement objeto o NULL

Parámetros

input

El array de entrada.

offset

Si offset es positivo, el inicio de la porción eliminada estará en ese índice desde el principio del array input. Si offset es negativo, se comienza desde el final del array input.

length

Si se omite length, se elimina todo desde offset hasta el final del array. Si length se especifica y es positivo, se eliminarán tantos elementos como contenga el valor de length. Si length se especifica y es negativo, el final de la porción eliminada será de tantos elementos como contenga length desde el final del array. Consejo: para eliminar todo desde offset hasta el final del array cuando replacement también se especifique, use count($input) para length.

replacement

Si se especifica el array replacement, los elementos eliminados serán reemplazados con los elementos de este array.

Si offset y length son tales que nada se elimina, entonces los elementos del array replacement serán insertados en el lugar especificado por offset. Observe que las claves del array replacement no se preservan.

Si replacement es sólo un elemento, no es necesario poner array() alrededor de él, a menos que el elemento sea un array, un objeto o NULL.

Valores devueltos

Devuelve un array que consiste en los elementos extraídos.

Ejemplos

Ejemplo #1 Ejemplos de array_splice()

<?php
$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, 2);
// $entrada ahora es array("rojo", "verde")

$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, 1, -1);
// $entrada ahora es array("rojo", "amarillo")

$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, 1, count($entrada), "naranja");
// $entrada ahora es array("rojo", "naranja")

$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, -1, 1, array("negro", "granate"));
// $entrada ahora es array("rojo", "verde",
//          "azul", "negro", "granate")

$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, 3, 0, "púpura");
// $entrada ahora es array("rojo", "verde",
//          "azul", "púpura", "amarillo");
?>

Ejemplo #2 Ejemplos de array_splice()

Las siguientes sentencias cambian el valor de $entrada de la misma manera:

<?php
array_push($entrada, $x, $y);
array_splice($entrada, count($entrada), 0, array($x, $y));
array_pop($entrada);
array_splice($entrada, -1);
array_shift($entrada);
array_splice($entrada, 0, 1);
array_unshift($entrada, $x, $y);
array_splice($entrada, 0, 0, array($x, $y));
$entrada[$x] = $y; // para arrays donde la clave es igual al índice
array_splice($entrada, $x, 1, $y);
?>

Ver también

  • array_slice() - Extrae una parte de un array
  • unset() - Destruye una variable especificada
  • array_merge() - Combina dos o más arrays

array_slice
array_sum
Funciones de Arrays


Calcula la suma de los valores en un array

array_splice
array_udiff_assoc
Funciones de Arrays
PHP Manual

array_sum

(PHP 4 >= 4.0.4, PHP 5)

array_sum — Calcula la suma de los valores en un array

Descripción

number array_sum ( array $array )

array_sum() devuelve la suma de los valores de un array.

Parámetros

array

El array de entrada.

Valores devueltos

Devuelve la suma de los valores como un valor tipo entero o flotante.

Historial de cambios

Versión | Descripción
4.2.1 | Las versiones de PHP anteriores a 4.2.1 modificaban la matriz misma pasada como argumento y convertía las cadenas a números (lo que en la mayoría de casos significaba convertirlas a cero, dependiendo de sus valores).

Ejemplos

Ejemplo #1 Ejemplos de array_sum()

<?php
$a = array(2, 4, 6, 8);
echo "sum(a) = " . array_sum($a) . "\n";

$b = array("a" => 1.2, "b" => 2.3, "c" => 3.4);
echo "sum(b) = " . array_sum($b) . "\n";
?>

El resultado del ejemplo sería:

sum(a) = 20
sum(b) = 6.9

array_splice
array_udiff_assoc
Funciones de Arrays


Computa la diferencia entre arrays con una comprobación de indices adicional, compara la información mediante una función de llamada de retorno

array_sum
array_udiff_uassoc
Funciones de Arrays
PHP Manual

array_udiff_assoc

(PHP 5)

array_udiff_assoc — Computa la diferencia entre arrays con una comprobación de indices adicional, compara la información mediante una función de llamada de retorno

Descripción

array array_udiff_assoc ( array $array1 , array $array2 [, array $... ], callable $value_compare_func )

Computa la diferencia entre arrays con una comprobación de indices adicional, compara la información mediante una función de llamada de retorno.

Nota: Por favor, observe que esta función sólo comprueba una dimensión de un array n-dimensional. Por supuesto, se pueden comprobar dimensiones más profundas usando, por ejemplo, array_udiff_assoc($array1[0], $array2[0], "alguna_func_comparacion");.

Parámetros

array1

El primer array.

array2

El segundo array.

value_compare_func

La función de comparación debe devolver un entero menor, igual o mayor que cero si el primer argumento se considera que sea respectivamente menor, igual o mayor que el segundo.

int callback ( mixed $a, mixed $b )

Valores devueltos

array_udiff_assoc() devuelve un array que contiene todos los valores de array1 que no están presentes en ninguno de los demás argumentos. Observe que las claves se usan en la comparación a diferencia de array_diff() y array_udiff(). La comparación de la información de los arrays' se lleva a cabo usando una llamada de retorno proporcionada por el usuario. En este aspecto, el comportamiento es opuesto al de array_diff_assoc(), que usa una función interna para la comparación.

Ejemplos

Ejemplo #1 Ejemplo de array_udiff_assoc()

<?php
class cr {
    private $miembro_privado;
    function cr($val)
    {
        $this->miembro_privado = $val;
    }

    static function comp_func_cr($a, $b)
    {
        if ($a->miembro_privado === $b->miembro_privado) return 0;
        return ($a->miembro_privado > $b->miembro_privado)? 1:-1;
    }
}

$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1=> new cr(4), 2 => new cr(-15),);

$resultado = array_udiff_assoc($a, $b, array("cr", "comp_func_cr"));
print_r($resultado);
?>

El resultado del ejemplo sería:

Array
(
    [0.1] => cr Object
        (
            [miembro_privado:private] => 9
        )

    [0.5] => cr Object
        (
            [miembro_privado:private] => 12
        )

    [0] => cr Object
        (
            [miembro_privado:private] => 23
        )
)

En el ejemplo de arriba se ve que el par "1" => new cr(4) está presente en ambos arrays, y que, de esta manera, no está en la salida de la función.

Ver también

  • array_diff() - Calcula la diferencia entre arrays
  • array_diff_assoc() - Calcula la diferencia entre arrays con un chequeo adicional de índices
  • array_diff_uassoc() - Calcula la diferencia entre arrays con un chequeo adicional de índices que se realiza por una función de devolución de llamada suministrada por el usuario
  • array_udiff() - Computa la diferencia entre arrays, usando una llamada de retorno para la comparación de datos
  • array_udiff_uassoc() - Computa la diferencia entre arrays con una verificación de índices adicional, compara la información y los índices mediante una función de llamada de retorno
  • array_intersect() - Calcula la intersección de arrays
  • array_intersect_assoc() - Calcula la intersección de arrays con un chequeo adicional de índices
  • array_uintersect() - Computa una intersección de arrays, compara la información mediante una función de llamada de retorno
  • array_uintersect_assoc() - Computa la intersección de arrays con una comprobación de índices adicional, compara la información mediante una función de llamada de retorno
  • array_uintersect_uassoc() - Computa la intersección de arrays con una comprobación de índices adicional, compara la información y los índices mediante funciones de llamada de retorno

array_sum
array_udiff_uassoc
Funciones de Arrays


Computa la diferencia entre arrays con una verificación de índices adicional, compara la información y los índices mediante una función de llamada de retorno

array_udiff_assoc
array_udiff
Funciones de Arrays
PHP Manual

array_udiff_uassoc

(PHP 5)

array_udiff_uassoc — Computa la diferencia entre arrays con una verificación de índices adicional, compara la información y los índices mediante una función de llamada de retorno

Descripción

array array_udiff_uassoc ( array $array1 , array $array2 [, array $... ], callable $value_compare_func , callable $key_compare_func )

Computa la diferencia entre arrays con una verificación de índices adicional, compara la información y los índices mediante una función de llamada de retorno.

Observe que las claves son usadas en la comparación, a diferencia de array_diff() y array_udiff().

Parámetros

array1

El primer array.

array2

El segundo array.

value_compare_func

La función de comparación debe devolver un entero menor, igual o mayor que cero si el primer argumento se considera que sea respectivamente menor, igual o mayor que el segundo.

int callback ( mixed $a, mixed $b )
key_compare_func

La comparación de las claves (índices) se hace también mediante la función de llamada de retorno key_compare_func. Este comportamiento es diferente del de array_udiff_assoc(), ya que esta última compara los índices usando una función interna.

Valores devueltos

Devuelve un array que contiene todos los valores de array1 que no están presentes en ningno de los demás argumentos.

Ejemplos

Ejemplo #1 Ejemplo de array_udiff_uassoc()

<?php
class cr {
    private $miembro_privado;
    function cr($val)
    {
        $this->miembro_privado = $val;
    }

    static function comp_func_cr($a, $b)
    {
        if ($a->miembro_privado === $b->miembro_privado) return 0;
        return ($a->miembro_privado > $b->miembro_privado)? 1:-1;
    }

    static function comp_func_key($a, $b)
    {
        if ($a === $b) return 0;
        return ($a > $b)? 1:-1;
    }
}
$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1=> new cr(4), 2 => new cr(-15),);

$resultado = array_udiff_uassoc($a, $b, array("cr", "comp_func_cr"), array("cr", "comp_func_key"));
print_r($resultado);
?>

El resultado del ejemplo sería:

Array
(
    [0.1] => cr Object
        (
            [miembro_privado:private] => 9
        )

    [0.5] => cr Object
        (
            [miembro_privado:private] => 12
        )

    [0] => cr Object
        (
            [miembro_privado:private] => 23
        )
)

En el ejemplo de arriba se ve que el par "1" => new cr(4) está presente en ambos arrays, y que, de esta manera, no está en la salida de la función. Recuerde que debe de proporcionar 2 funciones de llamada de retorno.

Notas

Nota: Por favor, observe que esta función sólo comprueba una dimensión de un array n-dimensional. Por supuesto, se pueden comprobar dimensiones más profundas usando, por ejemplo, array_udiff_uassoc($array1[0], $array2[0], "data_compare_func", "key_compare_func");.

Ver también

  • array_diff() - Calcula la diferencia entre arrays
  • array_diff_assoc() - Calcula la diferencia entre arrays con un chequeo adicional de índices
  • array_udiff() - Computa la diferencia entre arrays, usando una llamada de retorno para la comparación de datos
  • array_udiff_assoc() - Computa la diferencia entre arrays con una comprobación de indices adicional, compara la información mediante una función de llamada de retorno
  • array_intersect() - Calcula la intersección de arrays
  • array_intersect_assoc() - Calcula la intersección de arrays con un chequeo adicional de índices
  • array_uintersect() - Computa una intersección de arrays, compara la información mediante una función de llamada de retorno
  • array_uintersect_assoc() - Computa la intersección de arrays con una comprobación de índices adicional, compara la información mediante una función de llamada de retorno
  • array_uintersect_uassoc() - Computa la intersección de arrays con una comprobación de índices adicional, compara la información y los índices mediante funciones de llamada de retorno

array_udiff_assoc
array_udiff
Funciones de Arrays


Computa la diferencia entre arrays, usando una llamada de retorno para la comparación de datos

array_udiff_uassoc
array_uintersect_assoc
Funciones de Arrays
PHP Manual

array_udiff

(PHP 5)

array_udiff — Computa la diferencia entre arrays, usando una llamada de retorno para la comparación de datos

Descripción

array array_udiff ( array $array1 , array $array2 [, array $ ... ], callable $data_compare_func )

Computa la diferencia de los arrays usando una función tipo llamada de retorno para la comparación de datos. Esto difiere de array_diff(), la cual usa una función interna para la comparación de datos.

Parámetros

array1

El primer array.

array2

El segundo array

data_compare_func

La función llamada de retorno para la comparación.

La función de comparación debe devolver un entero menor, igual o mayor que cero si el primer argumento se considera que sea respectivamente menor, igual o mayor que el segundo.

int callback ( mixed $a, mixed $b )

Valores devueltos

Devuelve un array que contiene todos los valores de array1 que no están presentes en ninguno de los otros argumentos.

Ejemplos

Ejemplo #1 Ejemplo de array_udiff() usando objetos de stdClass

<?php
// Arrays a comparar
$array1 = array(new stdclass, new stdclass,
                new stdclass, new stdclass,
               );

$array2 = array(
                new stdclass, new stdclass,
               );

// Establecer algunas propiedades para cada objeto
$array1[0]->width = 11; $array1[0]->height = 3;
$array1[1]->width = 7;  $array1[1]->height = 1;
$array1[2]->width = 2;  $array1[2]->height = 9;
$array1[3]->width = 5;  $array1[3]->height = 7;

$array2[0]->width = 7;  $array2[0]->height = 5;
$array2[1]->width = 9;  $array2[1]->height = 2;

function compare_by_area($a, $b) {
    $areaA = $a->width * $a->height;
    $areaB = $b->width * $b->height;

    if ($areaA < $areaB) {
        return -1;
    } elseif ($areaA > $areaB) {
        return 1;
    } else {
        return 0;
    }
}

print_r(array_udiff($array1, $array2, 'compare_by_area'));
?>

El resultado del ejemplo sería:

Array
(
    [0] => stdClass Object
        (
            [width] => 11
            [height] => 3
        )

    [1] => stdClass Object
        (
            [width] => 7
            [height] => 1
        )

)

Ejemplo #2 Ejemplo de array_udiff() usando objetos de DateTime

<?php
Class MyCalendar {
    public $free = array();
    public $booked = array();

    public function __construct($week = 'now') {
        $start = new DateTime($week);
        $start->modify('Monday this week midnight');
        $end = clone $start;
        $end->modify('Friday this week midnight');
        $interval = new DateInterval('P1D');
        foreach (new DatePeriod($start, $interval, $end) as $freeTime) {
            $this->free[] = $freeTime;
        }
    }

    public function bookAppointment(DateTime $date, $note) {
        $this->booked[] = array('date' => $date->modify('midnight'), 'note' => $note);
    }

    public function checkAvailability() {
        return array_udiff($this->free, $this->booked, array($this, 'customCompare'));
    }

    public function customCompare($free, $booked) {
        if (is_array($free)) $a = $free['date'];
        else $a = $free;
        if (is_array($booked)) $b = $booked['date'];
        else $b = $booked;
        if ($a == $b) {
            return 0;
        } elseif ($a > $b) {
            return 1;
        } else {
            return -1;
        }
    }
}

// Crear un calendario para citas semanales
$myCalendar = new MyCalendar;

// Anotar varias citas para esta semana
$myCalendar->bookAppointment(new DateTime('Monday this week'), "Cleaning GoogleGuy's apartment.");
$myCalendar->bookAppointment(new DateTime('Wednesday this week'), "Going on a snowboarding trip.");
$myCalendar->bookAppointment(new DateTime('Friday this week'), "Fixing buggy code.");

// Comprobar los días disponibles comparando las fechas de $booked con las de $free
echo "I'm available on the following days this week...\n\n";
foreach ($myCalendar->checkAvailability() as $free) {
    echo $free->format('l'), "\n";
}
echo "\n\n";
echo "I'm busy on the following days this week...\n\n";
foreach ($myCalendar->booked as $booked) {
    echo $booked['date']->format('l'), ": ", $booked['note'], "\n";
}
?>

El resultado del ejemplo sería:

I'm available on the following days this week...

Tuesday
Thursday

I'm busy on the following days this week...

Monday: Cleaning GoogleGuy's apartment.
Wednesday: Going on a snowboarding trip.
Friday: Fixing buggy code.

Notas

Nota: Por favor note que esta función sólo analiza una dimensión de un array n-dimensional. Por supuesto, puede analizar dimensiones más profundas usando array_udiff($array1[0], $array2[0], "data_compare_func");.

Ver también

  • array_diff() - Calcula la diferencia entre arrays
  • array_diff_assoc() - Calcula la diferencia entre arrays con un chequeo adicional de índices
  • array_diff_uassoc() - Calcula la diferencia entre arrays con un chequeo adicional de índices que se realiza por una función de devolución de llamada suministrada por el usuario
  • array_udiff_assoc() - Computa la diferencia entre arrays con una comprobación de indices adicional, compara la información mediante una función de llamada de retorno
  • array_udiff_uassoc() - Computa la diferencia entre arrays con una verificación de índices adicional, compara la información y los índices mediante una función de llamada de retorno
  • array_intersect() - Calcula la intersección de arrays
  • array_intersect_assoc() - Calcula la intersección de arrays con un chequeo adicional de índices
  • array_uintersect() - Computa una intersección de arrays, compara la información mediante una función de llamada de retorno
  • array_uintersect_assoc() - Computa la intersección de arrays con una comprobación de índices adicional, compara la información mediante una función de llamada de retorno
  • array_uintersect_uassoc() - Computa la intersección de arrays con una comprobación de índices adicional, compara la información y los índices mediante funciones de llamada de retorno

array_udiff_uassoc
array_uintersect_assoc
Funciones de Arrays


Computa la intersección de arrays con una comprobación de índices adicional, compara la información mediante una función de llamada de retorno

array_udiff
array_uintersect_uassoc
Funciones de Arrays
PHP Manual

array_uintersect_assoc

(PHP 5)

array_uintersect_assoc — Computa la intersección de arrays con una comprobación de índices adicional, compara la información mediante una función de llamada de retorno

Descripción

array array_uintersect_assoc ( array $array1 , array $array2 [, array $ ... ], callable $data_compare_func )

Computa la intersección de arrays con una comprobación de índices adicional, compara la información mediante una función de llamada de retorno.

Observe que las claves se usan en la comparación, a diferencia de array_uintersect(). La información se compara usando una función de llamada de retorno.

Parámetros

array1

El primer array.

array2

El segundo array.

data_compare_func

La función de comparación debe devolver un entero menor, igual o mayor que cero si el primer argumento se considera que sea respectivamente menor, igual o mayor que el segundo.

int callback ( mixed $a, mixed $b )

Valores devueltos

Devuelve una matriz que contiene todos los valores de array1 que están presentes en todos los argumentos.

Ejemplos

Ejemplo #1 Ejemplo de array_uintersect_assoc()

<?php
$array1 = array("a" => "verde", "b" => "marrón", "c" => "azul", "rojo");
$array2 = array("a" => "VERDE", "B" => "marrón", "amarillo", "rojo");

print_r(array_uintersect_assoc($array1, $array2, "strcasecmp"));
?>

El resultado del ejemplo sería:

Array
(
    [a] => verde
)

Ver también

  • array_uintersect() - Computa una intersección de arrays, compara la información mediante una función de llamada de retorno
  • array_intersect_assoc() - Calcula la intersección de arrays con un chequeo adicional de índices
  • array_intersect_uassoc() - Calcula la intersección de arrays con un chequeo adicional de índices que se realiza por una función de devolución de llamada
  • array_uintersect_uassoc() - Computa la intersección de arrays con una comprobación de índices adicional, compara la información y los índices mediante funciones de llamada de retorno

array_udiff
array_uintersect_uassoc
Funciones de Arrays


Computa la intersección de arrays con una comprobación de índices adicional, compara la información y los índices mediante funciones de llamada de retorno

array_uintersect_assoc
array_uintersect
Funciones de Arrays
PHP Manual

array_uintersect_uassoc

(PHP 5)

array_uintersect_uassoc — Computa la intersección de arrays con una comprobación de índices adicional, compara la información y los índices mediante funciones de llamada de retorno

Descripción

array array_uintersect_uassoc ( array $array1 , array $array2 [, array $ ... ], callable $data_compare_func , callable $key_compare_func )

Computa la intersección de arrays con una comprobación de índices adicional, compara la información y los índices mediante funciones de llamada de retorno. Observe que las claves se usan en la comparación, a diferencia de array_uintersect(). La información y los índices se comparan usando funciones de llamada de retorno distintas.

Parámetros

array1

El primer array.

array2

El segundo array.

data_compare_func

La función de comparación debe devolver un entero menor, igual o mayor que cero si el primer argumento se considera que sea respectivamente menor, igual o mayor que el segundo.

int callback ( mixed $a, mixed $b )
key_compare_func

La función de retorno de llamada de comparación de claves.

Valores devueltos

Devuelve un array que contiene todos los valores de array1 que están presentes en todos los argumentos.

Ejemplos

Ejemplo #1 Ejemplo de array_uintersect_uassoc()

<?php
$array1 = array("a" => "verde", "b" => "marrón", "c" => "azul", "rojo");
$array2 = array("a" => "VERDE", "B" => "marrón", "amarillo", "rojo");

print_r(array_uintersect_uassoc($array1, $array2, "strcasecmp", "strcasecmp"));
?>

El resultado del ejemplo sería:

Array
(
    [a] => verde
    [b] => marrón
)

Ver también

  • array_uintersect() - Computa una intersección de arrays, compara la información mediante una función de llamada de retorno
  • array_intersect_assoc() - Calcula la intersección de arrays con un chequeo adicional de índices
  • array_intersect_uassoc() - Calcula la intersección de arrays con un chequeo adicional de índices que se realiza por una función de devolución de llamada
  • array_uintersect_assoc() - Computa la intersección de arrays con una comprobación de índices adicional, compara la información mediante una función de llamada de retorno

array_uintersect_assoc
array_uintersect
Funciones de Arrays


Computa una intersección de arrays, compara la información mediante una función de llamada de retorno

array_uintersect_uassoc
array_unique
Funciones de Arrays
PHP Manual

array_uintersect

(PHP 5)

array_uintersect — Computa una intersección de arrays, compara la información mediante una función de llamada de retorno

Descripción

array array_uintersect ( array $array1 , array $array2 [, array $... ], callable $value_compare_func )

Computa una intersección de arrays, compara la información mediante una función de llamada de retorno.

Parámetros

array1

El primer array.

array2

El segundo array.

value_compare_func

La función de comparación debe devolver un entero menor, igual o mayor que cero si el primer argumento se considera que sea respectivamente menor, igual o mayor que el segundo.

int callback ( mixed $a, mixed $b )

Valores devueltos

Devuelve un array que contiene todos los valores de array1 que están presentes en todos los argumentos.

Ejemplos

Ejemplo #1 Ejemplo de array_uintersect()

<?php
$array1 = array("a" => "verde", "b" => "marrón", "c" => "azul", "rojo");
$array2 = array("a" => "VERDE", "B" => "marrón", "amarillo", "rojo");

print_r(array_uintersect($array1, $array2, "strcasecmp"));
?>

El resultado del ejemplo sería:

Array
(
    [a] => verde
    [b] => marrón
    [0] => rojo
)

Ver también

  • array_intersect() - Calcula la intersección de arrays
  • array_intersect_assoc() - Calcula la intersección de arrays con un chequeo adicional de índices
  • array_uintersect_assoc() - Computa la intersección de arrays con una comprobación de índices adicional, compara la información mediante una función de llamada de retorno
  • array_uintersect_uassoc() - Computa la intersección de arrays con una comprobación de índices adicional, compara la información y los índices mediante funciones de llamada de retorno

array_uintersect_uassoc
array_unique
Funciones de Arrays


Elimina valores duplicados de un array

array_uintersect
array_unshift
Funciones de Arrays
PHP Manual

array_unique

(PHP 4 >= 4.0.1, PHP 5)

array_unique — Elimina valores duplicados de un array

Descripción

array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )

Toma un array y devuelve un nuevo array sin valores duplicados.

Nótese que se conservan las claves. array_unique() ordena los valores tratándolos como cadenas, manteniendo la primera clave encontrada por cada valor e ignorando las demás claves. Esto no significa que será mantenida la clave relacionada con el primer valor encontrado del array no ordenado.

Nota: Dos elementos son considerados iguales solo si (string) $elem1 === (string) $elem2. En otras palabras: cuando la representación en formato cadena es la misma. El primer elemento a ser usado.

Parámetros

array

El array de entrada.

sort_flags

El segundo parámetro opcional sort_flags puede ser usado para modificar el tipo de orden usando estos valores:

Flags de tipos de orden:

  • SORT_REGULAR - compara ítems normalmente (no cambia los tipos)
  • SORT_NUMERIC - compara ítems numéricamente
  • SORT_STRING - compara ítems como cadenas
  • SORT_LOCALE_STRING - compara ítems como cadenas, basados en la localización actual.

Valores devueltos

Devuelve el array filtrado.

Historial de cambios

Versión | Descripción
5.2.10 | Cambiado el valor por defecto de sort_flags a SORT_STRING.
5.2.9 | Añadido el parámetro opcional sort_flags con el valor por defecto SORT_REGULAR. Antes de 5.2.9, esta función era usada para ordenar el array con SORT_STRING internamente.

Ejemplos

Ejemplo #1 Ejemplo de array_unique()

<?php
$input = array("a" => "verde", "rojo", "b" => "verde", "azul", "rojo");
$result = array_unique($input);
print_r($result);
?>

El resultado del ejemplo sería:

Array
(
    [a] => verde
    [0] => rojo
    [1] => azul
)

Ejemplo #2 array_unique() y tipos

<?php
$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);
?>

El resultado del ejemplo sería:

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}

Ver también

  • array_count_values() - Cuenta todos los valores de un array

Notas

Nota: Nóte que array_unique() no está pensado para funcionar en arrays multi-dimensionales.

array_uintersect
array_unshift
Funciones de Arrays


Añadir al inicio de un array uno a más elementos

array_unique
array_values
Funciones de Arrays
PHP Manual

array_unshift

(PHP 4, PHP 5)

array_unshift — Añadir al inicio de un array uno a más elementos

Descripción

int array_unshift ( array &$array , mixed $value1 [, mixed $... ] )

array_unshift() añade los elementos pasados al inicio de array. Observe que la lista de elementos se añade como un todo, por lo que los elementos añadidos permanecen en el mismo orden. Todas las claves numéricas del array serán modificadas empezando a contar desde cero mientras que las claves literales no se tocan.

Parámetros

array

El array de entrada.

value1

El primer valor a añadir al inicio.

Valores devueltos

Devuelve el nuevo número de elementos del array.

Ejemplos

Ejemplo #1 Ejemplo de array_unshift()

<?php
$cola = array("naranja", "banana");
array_unshift($cola, "manzana", "frambuesa");
print_r($cola);
?>

El resultado del ejemplo sería:

Array
(
    [0] => manzana
    [1] => frambuesa
    [2] => naranja
    [3] => banana
)

Ver también

  • array_shift() - Quita un elemento del principio del array
  • array_push() - Inserta uno o más elementos al final de un array
  • array_pop() - Extrae el último elemento del final del array

array_unique
array_values
Funciones de Arrays


Devuelve todos los valores de un array

array_unshift
array_walk_recursive
Funciones de Arrays
PHP Manual

array_values

(PHP 4, PHP 5)

array_values — Devuelve todos los valores de un array

Descripción

array array_values ( array $array )

array_values() devuelve todos los valores del array array e indexa numéricamente el array.

Parámetros

array

El array.

Valores devueltos

Devuelve un array indexeado de valores.

Ejemplos

Ejemplo #1 Ejemplo de array_values()

<?php
$array = array("size" => "XL", "color" => "gold");
print_r(array_values($array));
?>

El resultado del ejemplo sería:

Array
(
    [0] => XL
    [1] => gold
)

Ver también

  • array_keys() - Devuelve todas las claves de un array o un subconjunto de claves de un array

array_unshift
array_walk_recursive
Funciones de Arrays


Aplicar una función de usuario recursivamente a cada miembro de un array

array_values
array_walk
Funciones de Arrays
PHP Manual

array_walk_recursive

(PHP 5)

array_walk_recursive — Aplicar una función de usuario recursivamente a cada miembro de un array

Descripción

bool array_walk_recursive ( array &$array , callable $callback [, mixed $userdata = NULL ] )

Aplica la función definida por el usuario callback a cada elemento del array. Esta función opera de forma recursiva sobre arrays con más niveles.

Parámetros

array

El array de entrada.

callback

Por lo general, callback recibe dos parámetros. El valor del parámetro array es el primero, y la clave/índice es el segundo.

Nota:

Si callback necesita trabajar con los valores reales del array, especifique el primer parámetro de callback como una referencia. Entonces, cualquier cambio realizado sobre esos elementos será efectuado sobre el array original mismo.

userdata

Si se define el parámetro opcional userdata, éste será pasado como el tercer parámetro al callback.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de array_walk_recursive()

<?php
$dulce = array('a' => 'manzana', 'b' => 'banano');
$frutas = array('dulce' => $dulce, 'acido' => 'limón');

function prueba_imprimir($item, $clave)
{
    echo "$clave contiene $item\n";
}

array_walk_recursive($frutas, 'prueba_imprimir');
?>

El resultado del ejemplo sería:

a contiene manzana
b contiene banano
acido contiene limón

Notará que la clave 'dulce' nunca es mostrada. Cualquier clave que contenga un valor array no será pasada a la función.

Ver también

  • array_walk() - Aplicar una función de usuario a cada miembro de un array
  • información acerca de tipos de llamada de retorno

array_values
array_walk
Funciones de Arrays


Aplicar una función de usuario a cada miembro de un array

array_walk_recursive
array
Funciones de Arrays
PHP Manual

array_walk

(PHP 4, PHP 5)

array_walk — Aplicar una función de usuario a cada miembro de un array

Descripción

bool array_walk ( array &$array , callable $callback [, mixed $userdata = NULL ] )

Aplica la función definida por el usuario dada por callback a cada elemento del array dado por array.

array_walk() no le afecta el puntero de arrays interno de array. array_walk() recorrerá el array completo sin tener en cuenta la posición del puntero.

Parámetros

array

El array de entrada.

callback

Normalmente, callback asume dos parámetros. El primero, los valores de los parámetros de array, y el segundo la clave/índice.

Nota:

Si callback necesita trabajar con los valores reales del array, especifique el primer parámetro de callback como una referencia. Así, cualquier cambio hecho a esos elementos serán hechos al mismo array original.

Nota:

Muchas funciones internas (por ejemplo strtolower()) lanzarán una advertencia si se pasan más argumentos de los esperados y no son utilizables directamente como callback.

Sólo se pueden cambiar potencialmente los valores del parámetro array; no se puede alterar su estructura, esto es, el programador no puede añadir, destruir o reordenar elementos. Si la llamada de retorno no respeta este requisito, el comportamiento de esta función será indefinido e impredecible.

userdata

Si se proporciona el parámetro opcional userdata, éste será pasado como el tercer parámetro de la función dada por callback.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Si la función callback requiere más parámetros que los proporcionados, se generará un error de nivel E_WARNING cada vez que array_walk() llame a callback.

Ejemplos

Ejemplo #1 Ejemplo de array_walk()

<?php
$frutas = array("d" => "limón", "a" => "naranja", "b" => "banana", "c" => "manzana");

function test_alter(&$elemento1, $clave, $prefijo)
{
    $elemento1 = "$prefijo: $elemento1";
}

function test_print($elemento2, $clave)
{
    echo "$clave. $elemento2<br />\n";
}

echo "Antes ...:\n";
array_walk($frutas, 'test_print');

array_walk($frutas, 'test_alter', 'fruta');
echo "... y después:\n";

array_walk($frutas, 'test_print');
?>

El resultado del ejemplo sería:

Antes ...:
d. limón
a. naranja
b. banana
c. manzana
... y después:
d. fruta: limón
a. fruta: naranja
b. fruta: banana
c. fruta: manzana

Ver también

  • array_walk_recursive() - Aplicar una función de usuario recursivamente a cada miembro de un array
  • iterator_apply() - Llama una función para cada elemento en un iterador
  • list() - Asigna variables como si fuera un array
  • each() - Devolver el par clave/valor actual de un array y avanzar el cursor del array
  • call_user_func_array() - Llamar a una llamada de retorno un array de parámetros
  • array_map() - Aplica la llamada de retorno especificada a los elementos de cada array
  • información acerca de tipos de llamada de retorno
  • foreach

array_walk_recursive
array
Funciones de Arrays


Crea un array

array_walk
arsort
Funciones de Arrays
PHP Manual

array

(PHP 4, PHP 5)

array — Crea un array

Descripción

array array ([ mixed $... ] )

Crea un array. Leer la sección el tipo array para más información sobre que es un array.

Parámetros

...

Sintaxis "índice => valores", separados por comas, define índice y valores. El índice puede ser de tipo cadena o numérico. Cuando se omite el índice, se genera un índice numérico automáticamente, empezando por 0. Si el índice es numérico, el siguiente índice generado será el número del índice mayor +1. Nótese que cuando se crean dos índices idénticos, el último sobrescribe el primero.

Tener una coma al final de la última entrada definida en el array, aunque no es usual, sigue siendo sintaxis válida.

Valores devueltos

Devuelve un array de parámetros. Los parámetros puede ser devolver un índice con el operador =>. Leer la sección en El tipo array para más información en que es un array.

Ejemplos

El siguiente ejemplo demuestra como crear un array de dos dimensiones, como especificar claves para un array asociativo y como omitir y continuar índices numéricos en array normales.

Ejemplo #1 Ejemplo de array()

<?php
$fruits = array (
    "frutas"  => array("a" => "naranja", "b" => "plátano", "c" => "manzana"),
    "números" => array(1, 2, 3, 4, 5, 6),
    "hoyos"   => array("primero", 5 => "segundo", "tercero")
);
?>

Ejemplo #2 Array() con índice automático

<?php
$array = array(1, 1, 1, 1,  1, 8 => 1,  4 => 1, 19, 3 => 13);
print_r($array);
?>

El resultado del ejemplo sería:

Array
(
    [0] => 1
    [1] => 1
    [2] => 1
    [3] => 13
    [4] => 1
    [8] => 1
    [9] => 19
)

Nótese que el índice '3' se ha definido en dos ocasiones y mantiene su valor final de 13. El índice 4 se ha definido después del índice 8 y el siguiente índice generado (valor 19) es 9, ya que el índice mayor era 8.

Este ejemplo crea un array de base 1.

Ejemplo #3 array() con índice de base 1

<?php
$firstquarter = array(1 => 'Enero', 'Febrero', 'Marzo');
print_r($firstquarter);
?>

El resultado del ejemplo sería:

Array
(
    [1] => Enero
    [2] => Febrero
    [3] => Marzo
)

Como en perl, se puede acceder al valor del array dentro de comillas dobles. Sin embargo, con PHP se necesita adjuntar el array enter claves.

Ejemplo #4 Accessing an array inside double quotes

<?php

$foo = array('bar' => 'baz');
echo "Hola {$foo['bar']}!"; // Hola baz!

?>

Notas

Nota:

array() es un constructor de lenguaje para representar arrays y no es una función.

Ver también

  • array_pad() - Rellena un array a la longitud especificada con un valor
  • list() - Asigna variables como si fuera un array
  • count() - Cuenta todos los elementos de un array o en un objeto
  • range() - Crear un array que contiene un rango de elementos
  • foreach
  • El tipo array

array_walk
arsort
Funciones de Arrays


Ordena un array en orden inverso y mantiene la asociación de índices

array
asort
Funciones de Arrays
PHP Manual

arsort

(PHP 4, PHP 5)

arsort — Ordena un array en orden inverso y mantiene la asociación de índices

Descripción

bool arsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

Esta función ordena un array de manera que los índices del array mantienen su correlación con los elementos del array asociados.

Es usado principalmente cuando se ordenan arrays asociativos cuando el orden de los elementos es importante.

Parámetros

array

El array de entrada.

sort_flags

Se puede modificar el comportamiento del ordenado usando el parámetro opcional sort_flags, par más información vea sort().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de arsort()

<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
arsort($fruits);
foreach ($fruits as $key => $val) {
    echo "$key = $val\n";
}
?>

El resultado del ejemplo sería:

a = orange
d = lemon
b = banana
c = apple

Las frutas han sido ordenadas en orden inverso alfabético, se ha mantenido el índice asocidado con cada elemento.

Ver también

  • asort() - Ordena un array y mantiene la asociación de índices
  • comparación de funciones de orden de arrays

array
asort
Funciones de Arrays


Ordena un array y mantiene la asociación de índices

arsort
compact
Funciones de Arrays
PHP Manual

asort

(PHP 4, PHP 5)

asort — Ordena un array y mantiene la asociación de índices

Descripción

bool asort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

Esta función ordena un array manteniendo la correlación de los índices del array con los elementos con los que están asociados. Esta función se utiliza principalmente para ordenar arrays asociativos en los que el orden es importante.

Parámetros

array

El array de entrada.

sort_flags

Quizá se necesita cambiar el comportamiento del ordenado usando este parámetro opcional sort_flags, para más información ver sort().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de la función asort()

<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
asort($fruits);
foreach ($fruits as $key => $val) {
    echo "$key = $val\n";
}
?>

El resultado del ejemplo sería:

c = apple
b = banana
d = lemon
a = orange

Las frutas han sido ordenadas alfabeticamente, y se ha mantenido el índice asociado con cada elemento.

Ver también

  • arsort() - Ordena un array en orden inverso y mantiene la asociación de índices
  • comparación de funciones de orden de arrays

arsort
compact
Funciones de Arrays


Crear un array que contiene variables y sus valores

asort
count
Funciones de Arrays
PHP Manual

compact

(PHP 4, PHP 5)

compact — Crear un array que contiene variables y sus valores

Descripción

array compact ( mixed $varname1 [, mixed $... ] )

Crea un array que contiene variables y sus valores.

Por cada variable, compact() busca una variable con ese nombre en la tabla de símbolos actual y las añade al array de salida de modo que el nombre de la variable se convierte en la clave y el contenido de la variable se convierte en el valor para esa clave. En pocas palabras, hace lo contrario que extract().

Cualquier cadena que no esté establecida será simplemente saltada.

Parámetros

varname1

compact() toma un número variable de parámetros. Cada parámetro puede ser una cadena que contiene el nombre de la variable, o un array de nombres de variables. El array puede contener otros arrays de nombres de variables dentro de él; compact() los trata recursivamente.

Valores devueltos

Devuelve un array de salida con todas las variables añadidas a él.

Ejemplos

Ejemplo #1 Ejemplo de compact()

<?php
$ciudad  = "San Francisco";
$estado = "CA";
$evento = "SIGGRAPH";

$vars_región = array("ciudad", "estado");

$resultado = compact("evento", "nada_aquí", $vars_región);
print_r($resultado);
?>

El resultado del ejemplo sería:

Array
(
    [evento] => SIGGRAPH
    [ciudad] => San Francisco
    [estado] => CA
)

Notas

Nota: A tener en consideración

Ya que las variables variables no se pueden usar con Arrays Superglobales de PHP dentro de funciones, los arraya Superglobales no pueden ser pasados a compact().

Ver también

  • extract() - Importar variables a la tabla de símbolos actual desde un array

asort
count
Funciones de Arrays


Cuenta todos los elementos de un array o en un objeto

compact
current
Funciones de Arrays
PHP Manual

count

(PHP 4, PHP 5)

count — Cuenta todos los elementos de un array o en un objeto

Descripción

int count ( mixed $var [, int $mode = COUNT_NORMAL ] )

Cuenta todos los elementos en un array o en un objeto.

En objetos, si se tiene SPL instalado, se puede conectar a count() implementado el interfaz Countable. Este interfaz tiene solamente un método, Countable::count(), el cual devuelve el valor retornado de la función count().

Por favor ver la sección del manual Array para una explicación más extensa de como se implementan y usan los arrays en PHP.

Parámetros

var

El array o el objecto

mode

Si el parámetro opcional mode está definido con la constante COUNT_RECURSIVE (o 1), count() contará el array de forma recursiva. Esto es particularmente útil para contar todos los elementos de un array multidimensional.

Precaución

count() puede detectar recursividad para evitar un bucle infinito, pero lanzará un mensaje E_WARNING cada vez que lo haga (en caso de que el array se contenga a sí mismo más de una vez) y devolverá una cuenta mayor de la que se pueda esperar.

Valores devueltos

Devuelve el número de elementos en var, Si var no es un array o no es un objecto con la interfaz Countable implementada, devolverá 1. Existe una excepción, si var es NULL, devolverá 0.

Precaución

count() devolverá 0 si la variable que se intenta contar no está definida pero también devolverá 0 si la variable contiene un array vacío. Use isset() para comprobar si la variable está definida.

Historial de cambios

Versión | Descripción
4.2.0 | Se añadió el parámetro opcional mode.

Ejemplos

Ejemplo #1 Ejemplo de count()

<?php
$a[0] = 1;
$a[1] = 3;
$a[2] = 5;
$result = count($a);
// $result == 3

$b[0]  = 7;
$b[5]  = 9;
$b[10] = 11;
$result = count($b);
// $result == 3

$result = count(null);
// $result == 0

$result = count(false);
// $result == 1
?>

Ejemplo #2 Ejemplo de count() recursivo

<?php
$food = array('fruits' => array('orange', 'banana', 'apple'),
              'veggie' => array('carrot', 'collard', 'pea'));

// Count recursivo
echo count($food, COUNT_RECURSIVE); // muestra 8

// Count normal
echo count($food); // muestra 2

?>

Ver también

  • is_array() - Comprueba si una variable es un array
  • isset() - Determina si una variable está definida y no es NULL
  • strlen() - Obtiene la longitud de un string

compact
current
Funciones de Arrays


Devuelve el elemento actual en un array

count
each
Funciones de Arrays
PHP Manual

current

(PHP 4, PHP 5)

current — Devuelve el elemento actual en un array

Descripción

mixed current ( array &$array )

Cada array tiene un puntero interno a su elemento "actual", que es iniciado desde el primer elemento insertado en el array.

Parámetros

array

El array.

Valores devueltos

La función current() simplemente devuelve el valor del elemento del array que está siendo apuntado por el puntero interno. No desplaza el puntero de ninguna manera. Si el puntero interno apunta más allá del final de la lista de elementos o el array está vacío, current() devolverá FALSE.

Advertencia

Esta función puede devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se evalúa como FALSE. 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.

Ejemplos

Ejemplo #1 Ejemplo de uso de current() y similares

<?php
$transport = array('pie', 'bici', 'coche', 'avión');
$mode = current($transport); // $mode = 'pie';
$mode = next($transport);    // $mode = 'bici';
$mode = current($transport); // $mode = 'bici';
$mode = prev($transport);    // $mode = 'pie';
$mode = end($transport);     // $mode = 'avión';
$mode = current($transport); // $mode = 'avión';

$arr = array();
var_dump(current($arr)); // bool(false)

$arr = array(array());
var_dump(current($arr)); // array(0) { }
?>

Notas

Nota: No hay manera de distinguir el inicio de un array de un elemento de tipo FALSE boolean. Para recorrer adecuadamente que puede contener elementos FALSE ver la función each().

Ver también

  • end() - Establece el puntero intero de un array a su último elemento
  • key() - Obtiene una clave de un array
  • each() - Devolver el par clave/valor actual de un array y avanzar el cursor del array
  • prev() - Rebobina el puntero interno del array
  • reset() - Establece el puntero interno de un array a su primer elemento
  • next() - Avanza el puntero interno de un array

count
each
Funciones de Arrays


Devolver el par clave/valor actual de un array y avanzar el cursor del array

current
end
Funciones de Arrays
PHP Manual

each

(PHP 4, PHP 5)

each — Devolver el par clave/valor actual de un array y avanzar el cursor del array

Descripción

array each ( array &$array )

Devuelve el par clave/valor actual de un array y avanza el cursor del array.

Después de que each() haya sido ejecutado, el cursor del array será puesto en el siguiente elemento del array, o pasado el último elemento si alcanza el final del array. Se tiene que usar reset() si se quiere atravesar de nuevo el array usando each.

Parámetros

array

El array de entrada.

Valores devueltos

Devuelve el par clave/valor actual del array dado por array. Este par es devuelto en un array de cuatro elementos, con las claves 0, 1, key, y value. Los elementos 0 y key contienen el nombre de la clave del elemento del array, y 1 y value contienen la información.

Si el puntero interno del array apunta al final del contenido de array, each() devuelve FALSE.

Ejemplos

Ejemplo #1 Ejemplo de each()

<?php
$foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese");
$bar = each($foo);
print_r($bar);
?>

$bar ahora contienelos siguientes pares clave/valor:

Array
(
    [1] => bob
    [value] => bob
    [0] => 0
    [key] => 0
)

<?php
$foo = array("Robert" => "Bob", "Seppo" => "Sepi");
$bar = each($foo);
print_r($bar);
?>

$bar ahora contienelos siguientes pares clave/valor:

Array
(
    [1] => Bob
    [value] => Bob
    [0] => Robert
    [key] => Robert
)

each() se usa normalmente junto con list() para atravesar un array. Aquí hay un ejemplo:

Ejemplo #2 Atravesar un array con each()

<?php
$fruta = array('a' => 'manzana', 'b' => 'banana', 'c' => 'arándano');

reset($fruta);
while (list($clave, $valor) = each($fruta)) {
    echo "$clave => $valor\n";
}
?>

El resultado del ejemplo sería:

a => manzana
b => banana
c => arándano

Precaución

Ya que asignar un array a otra variable reinicia el puntero del array original (nuestro ejemplo de arriba causaría un bucle sin fin), hemos asignado $fruta a otra variable dentro del bucle.

Advertencia

each() también aceptará objetos, pero puede devolver resultados inesperados. Por lo tanto, no se recomienda iterar propiedades de objetos con each().

Ver también

  • key() - Obtiene una clave de un array
  • list() - Asigna variables como si fuera un array
  • current() - Devuelve el elemento actual en un array
  • reset() - Establece el puntero interno de un array a su primer elemento
  • next() - Avanza el puntero interno de un array
  • prev() - Rebobina el puntero interno del array
  • foreach
  • Iteración de Objetos

current
end
Funciones de Arrays


Establece el puntero intero de un array a su último elemento

each
extract
Funciones de Arrays
PHP Manual

end

(PHP 4, PHP 5)

end — Establece el puntero intero de un array a su último elemento

Descripción

mixed end ( array &$array )

end() avanza el puntero interno del array hasta su último elemento y devuelve su valor.

Parámetros

array

El array. Este array es pasado por referencia porque es modificado por la función. Esto significa que se debe pasar una variable real y no una función que devuelve un array porque solamente variables puede ser pasadas por referencia.

Valores devueltos

Devuelve el valor del último elemento o FALSE si el array está vacío.

Ejemplos

Ejemplo #1 Ejemplo de end()

<?php

$fruits = array('manzana', 'plátano', 'arándano');
echo end($fruits); // arándano

?>

Ver también

  • current() - Devuelve el elemento actual en un array
  • each() - Devolver el par clave/valor actual de un array y avanzar el cursor del array
  • prev() - Rebobina el puntero interno del array
  • reset() - Establece el puntero interno de un array a su primer elemento
  • next() - Avanza el puntero interno de un array

each
extract
Funciones de Arrays


Importar variables a la tabla de símbolos actual desde un array

end
in_array
Funciones de Arrays
PHP Manual

extract

(PHP 4, PHP 5)

extract — Importar variables a la tabla de símbolos actual desde un array

Descripción

int extract ( array &$array [, int $flags = EXTR_OVERWRITE [, string $prefix = NULL ]] )

Importa variables desde un array a la tabla de símbolos actual.

Comprueba cada clave para ver si tiene un nombre de variable válido. También comprueba las colisiones con las variables existentes en la tabla de símbolos.

Parámetros

array

Un array asociativo. Esta función trata a las claves como nombres de variables y a los valores como valores de variables. Por cada par clave/valor creará una variable en la tabla de símbolos actual, sujeta a los parámetros flags y prefix.

Se debe usar un array asociativo; un array indexado numéricamente no producirá resultados a menos que se use EXTR_PREFIX_ALL o EXTR_PREFIX_INVALID.

flags

La manera en que las claves no-válidas/numéricas y las colisiones son tratadas está determinda por el parámetro flags. Puede ser uno de los valores siguientes:

EXTR_OVERWRITE
Si hay una colisión, sobrescribe la variable existente.
EXTR_SKIP
Si hay una colisión, no sobrescribe la variable existente.
EXTR_PREFIX_SAME
Si hay una colisión, prefija el nombre de la variable con prefix.
EXTR_PREFIX_ALL
Prefija todos los nombres de variables con prefix.
EXTR_PREFIX_INVALID
Sólo prefija los nombres de variables no-válidas/numéricas con prefix.
EXTR_IF_EXISTS
Sobrescribe la variable sólo si ya existe en la tabla de símbolos actual, de otro modo no hace nada. Esto es útil para definir una lista de variables válidas y después extraer sólo aquellas variables que se definieron fuera de $_REQUEST, por ejemplo.
EXTR_PREFIX_IF_EXISTS
Crea nombres de variables con prefijo sólo si la versión no prefijada de la misma variable existe en la tabla de símbolos actual.
EXTR_REFS
Extrae las variables como referencias. Esto significa que los valores de las variables importadas están todavía referenciados por los valores del parámetro array. Se puede usar esta bandera por sí misma o combinarla con cualquier otra bandera usando el operador OR en flags.

Si no se especifica flags, se asume que es EXTR_OVERWRITE.

prefix

Observe que prefix sólo es requerido si flags es EXTR_PREFIX_SAME, EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID o EXTR_PREFIX_IF_EXISTS. Si el resultado prefijado no es un nombre de variable válido, ésta no es importada a la tabla de símbolos actual. Los prefijos son separados de las claves del array mediante un caracter de subrayado.

Valores devueltos

Devuelve el número de variables importadas con éxito a la tabla de símbolos.

Historial de cambios

Versión | Descripción
4.3.0 | Se añadió EXTR_REFS.
4.2.0 | Se añadieron EXTR_IF_EXISTS y EXTR_PREFIX_IF_EXISTS.
4.0.5 | Esta función ahora devuelve el número de variables extraídas. Se añadió EXTR_PREFIX_INVALID. EXTR_PREFIX_ALL también incluye variables numéricas.

Ejemplos

Ejemplo #1 Ejemplo de extract()

Un posible uso de extract() es importar a la tabla de símbolos las variables contenidas en un array asociativo devuelto por wddx_deserialize().

<?php

/* Se supone que $var_array es un array devuelto desde
   wddx_deserialize */

$tamaño = "grande";
$var_array = array("color" => "azul",
                   "tamaño"  => "medio",
                   "forma" => "esfera");
extract($var_array, EXTR_PREFIX_SAME, "wddx");

echo "$color, $tamaño, $forma, $wddx_tamaño\n";

?>

El resultado del ejemplo sería:

azul, grande, esfera, medio

El $tamaño no se ha sobrescrito ya que se especificó EXTR_PREFIX_SAME, lo que resulta en la creación de $wddx_tamaño. Si se hubiera especificado EXTR_SKIP, $wddx_tamaño no se habría creado. EXTR_OVERWRITE causaría que $tamaño tuviera el valor "medio", y EXTR_PREFIX_ALL resultaría en variables nuevas llamadas $wddx_color, $wddx_tamaño, y $wddx_forma.

Notas

Advertencia

No use extract() en datos que no son de confianza, como las entradas de usuario (esto es, $_GET, $_FILES, etc.). Si lo hace, por ejemplo si quiere ejecutar código antiguo que cuenta con register_globals temporalmente, asegúrese de usar uno de los valores de flags que no sobrescriban, como EXTR_SKIP, y sepa que debería realizar la extracción en el mismo orden que fue definido en variables_order dentro de php.ini.

Nota:

Si tiene register_globals activado y usa extract() en $_FILES y especifica EXTR_SKIP, puede obtener resutados no deseados.

Advertencia

Esto es una práctica no recomendada y sólo está documentada aquí por razones de complementación. El uso de register_globals está obsoleto y las llamadas a extract() en información que no es de confianza tal como $_FILES es, como se observó arriba, un riesgo potencial de seguridad. Si se encuentra con esto, significa que está usando al menos dos malas prácticas de código.

<?php

/* Se supone que $archivoprueba es el nombre de una entrada de subida de archivo
   y que register_globals está activado. */

var_dump($archivoprueba);
extract($_FILES, EXTR_SKIP);
var_dump($archivoprueba);
var_dump($archivoprueba['tmp_name']);

?>
Se esperaría ver algo como lo siguiente:
string(14) "/tmp/phpgCCPX8"
array(5) {
  ["name"]=>
  string(10) "somefile.txt"
  ["type"]=>
  string(24) "application/octet-stream"
  ["tmp_name"]=>
  string(14) "/tmp/phpgCCPX8"
  ["error"]=>
  int(0)
  ["size"]=>
  int(4208)
}
string(14) "/tmp/phpgCCPX8"
Sin embargo, en su lugar se ve algo como esto:
string(14) "/tmp/phpgCCPX8"
string(14) "/tmp/phpgCCPX8"
string(1) "/"

Esto es a causa del hecho de que, ya que register_globals está activado, $archivoprueba ya existe en el ámbito global cuando se llamó a extract(). Y ya que EXTR_SKIP está especificado, $archivoprueba no es sobrescrito con el contenido del array $_FILES por lo que $archivoprueba permanece como cadena. Ya que a las cadenas se puede acceder usando la sintaxis de array y la cadena no numérica tmp_name es interpretada como 0, PHP ve $archivoprueba['tmp_name'] como $archivoprueba[0].

Ver también

  • compact() - Crear un array que contiene variables y sus valores
  • list() - Asigna variables como si fuera un array

end
in_array
Funciones de Arrays


Comprueba si un valor existe en un array usando comparación flexible

extract
key_exists
Funciones de Arrays
PHP Manual

in_array

(PHP 4, PHP 5)

in_array — Comprueba si un valor existe en un array usando comparación flexible

Descripción

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

Busca la needle (aguja) en el haystack (pajar) usando comparación flexible

Parámetros

needle

El valor a buscar.

Nota:

Si la needle es una cadena, la comparación se realiza en modo sensible a mayúsculas.

haystack

El array.

strict

Si el tercer parámetro strict está definido como TRUE la función in_array() también comprobará los tipos de la needle en el haystack.

Valores devueltos

Devuelve TRUE si la needle se encuentra en el array, FALSE de lo contrario.

Historial de cambios

Versión | Descripción
4.2.0 | needle quizá no es un array.

Ejemplos

Ejemplo #1 Ejemplo de in_array()

<?php
$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) {
    echo "Es Irix";
}
if (in_array("mac", $os)) {
    echo "Es mac";
}
?>

La segunda condición falla porque in_array() es sensible a mayúsculas, así que el programa anterior mostrará:

Es Irix

Ejemplo #2 Ejemplo de in_array() en modo estricto

<?php
$a = array('1.10', 12.4, 1.13);

if (in_array('12.4', $a, true)) {
    echo "Se encontró '12.4' con comprobación estricta\n";
}

if (in_array(1.13, $a, true)) {
    echo "Se encontró 1.13 con comprobación estricta\n";
}
?>

El resultado del ejemplo sería:

Se encontró 1.13 con comprobación estricta

Ejemplo #3 in_array() con un array como aguja

<?php
$a = array(array('p', 'h'), array('p', 'r'), 'o');

if (in_array(array('p', 'h'), $a)) {
    echo "Se encontró 'ph'\n";
}

if (in_array(array('f', 'i'), $a)) {
    echo "Se encontró 'fi'\n";
}

if (in_array('o', $a)) {
    echo "Se encontró 'o'\n";
}
?>

El resultado del ejemplo sería:

  Se encontró 'ph'
  Se encontró 'o'

Ver también

  • array_search() - Busca un valor determinado en un array y devuelve la clave correspondiente en caso de éxito
  • isset() - Determina si una variable está definida y no es NULL
  • array_key_exists() - Verifica si el índice o clave dada existe en el array

extract
key_exists
Funciones de Arrays


Alias de array_key_exists

in_array
key
Funciones de Arrays
PHP Manual

key_exists

(PHP 4 >= 4.0.6, PHP 5)

key_exists — Alias de array_key_exists()

Descripción

Esta función es un alias de: array_key_exists().

in_array
key
Funciones de Arrays


Obtiene una clave de un array

key_exists
krsort
Funciones de Arrays
PHP Manual

key

(PHP 4, PHP 5)

key — Obtiene una clave de un array

Descripción

mixed key ( array &$array )

key() devuelve el elemento índice de la posición actual del array.

Parámetros

array

El array.

Valores devueltos

La función key() simplemente devuelve la clave del elemento del array que está apuntando actualmente el puntero interno. No desplaza el puntero de ninguna manera. Si el puntero interno señala más allá del final de la lista de elementos o el array está vacío, key() devuelve NULL.

Ejemplos

Ejemplo #1 Ejemplo de key()

<?php
$array = array(
    'fruta1' => 'manzana',
    'fruta2' => 'naranja',
    'fruta3' => 'uva',
    'fruta4' => 'manzana',
    'fruta5' => 'manzana');

// Este ciclo muestra todas las claves del array asociativo
// donde el valor equivale a "manzana"
while ($nombre_fruta = current($array)) {
    if ($nombre_fruta == 'manzana') {
        echo key($array).'<br />';
    }
    next($array);
}
?>

El resultado del ejemplo sería:

fruta1<br />
fruta4<br />
fruta5<br />

Ver también

  • current() - Devuelve el elemento actual en un array
  • next() - Avanza el puntero interno de un array

key_exists
krsort
Funciones de Arrays


Ordena un array por clave en orden inverso

key
ksort
Funciones de Arrays
PHP Manual

krsort

(PHP 4, PHP 5)

krsort — Ordena un array por clave en orden inverso

Descripción

bool krsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

Ordena un array por clave en orden inverso, manteniendo la correlación entre la clave y los datos. Esto es útil principalmente para arrays asociativos.

Parámetros

array

El array de entrada.

sort_flags

Se puede modificar el comportamiento del ordenado usando el parámetro opcional sort_flags, par más información vea sort().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de krsort()

<?php
$fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
krsort($fruits);
foreach ($fruits as $key => $val) {
    echo "$key = $val\n";
}
?>

El resultado del ejemplo sería:

d = lemon
c = apple
b = banana
a = orange

Ver también

  • arsort() - Ordena un array en orden inverso y mantiene la asociación de índices
  • ksort() - Ordena un array por clave
  • comparación de funciones de orden de arrays

key
ksort
Funciones de Arrays


Ordena un array por clave

krsort
list
Funciones de Arrays
PHP Manual

ksort

(PHP 4, PHP 5)

ksort — Ordena un array por clave

Descripción

bool ksort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

Ordena un array por clave, manteniendo la correlación entre la clave y los datos. Esto es útil principalmente para arrays asociativos.

Parámetros

array

El array de entrada.

sort_flags

Se puede modificar el comportamiento del ordenado usando el parámetro opcional sort_flags, par más información vea sort().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ksort()

<?php
$fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
ksort($fruits);
foreach ($fruits as $key => $val) {
    echo "$key = $val\n";
}
?>

El resultado del ejemplo sería:

a = orange
b = banana
c = apple
d = lemon

Ver también

  • asort() - Ordena un array y mantiene la asociación de índices
  • comparación de funciones de orden de arrays

krsort
list
Funciones de Arrays


Asigna variables como si fuera un array

ksort
natcasesort
Funciones de Arrays
PHP Manual

list

(PHP 4, PHP 5)

list — Asigna variables como si fuera un array

Descripción

array list ( mixed $var1 [, mixed $... ] )

Al igual que array(), no es realmente una función, es un constructor del lenguaje. list() se utiliza para asignar una lista de variables en una sola operación.

Parámetros

var1

La variable.

Valores devueltos

Devuelve el array asignado.

Ejemplos

Ejemplo #1 Ejemplos de list()

<?php

$info = array('café', 'marrón', 'cafeína');

// Listando todas las variables
list($drink, $color, $power) = $info;
echo "El $drink es $color y la $power lo hace especial.\n";

// Listando algunas variables
list($drink, , $power) = $info;
echo "El $drink tiene $power.\n";

// O vamos a omitir solo la tercera
list( , , $power) = $info;
echo "Necesito $power!\n";

// list() no funciona con cadenas
list($bar) = "abcde";
var_dump($bar); // NULL
?>

Ejemplo #2 Un ejemplo del uso de list()

<table>
 <tr>
  <th>Nombre del empleado</th>
  <th>Salario</th>
 </tr>

<?php

$result = $pdo->query("SELECT id, name, salary FROM employees");
while (list($id, $name, $salary) = $result->fetch(PDO::FETCH_NUM)) {
    echo " <tr>\n" .
          "  <td><a href=\"info.php?id=$id\">$name</a></td>\n" .
          "  <td>$salary</td>\n" .
          " </tr>\n";
}

?>

</table>

Ejemplo #3 Uso de list() dentro de list

<?php

list($a, list($b, $c)) = array(1, array(2, 3));

var_dump($a, $b, $c);

?>
int(1)
int(2)
int(3)

Ejemplo #4 Uso de list() con índices array

<?php

$info = array('café', 'marrón', 'cafeína');

list($a[0], $a[1], $a[2]) = $info;

var_dump($a);

?>

Muestra la siguiente salida (nótese el orden de los elementos comparado con el orden escrito en la sintaxis de list()):

array(3) {
  [2]=>
  string(8) "café"
  [1]=>
  string(5) "marrón"
  [0]=>
  string(6) "cafeína"
}

Notas

Advertencia

list() asigna los valores empezando por el parámetro más a la derecha. Si se utilizan variables simples, no hay que preocuparse. Pero si se usan array con índices normalmente se espera que el orden de los ínices en el array sea el mismo que se escribió en list() de izquierda a derecha, el cual no es. Es asignado en el orden contrario.

Advertencia

La modificación del array durante la ejecución de list() (p.ej. usando list($a, $b) = $b) resultará en un comportamiento indefinido.

Nota:

list() solo funciona con arrays numéricos y se asume que el índice numérico empieza por 0.

Ver también

  • each() - Devolver el par clave/valor actual de un array y avanzar el cursor del array
  • array() - Crea un array
  • extract() - Importar variables a la tabla de símbolos actual desde un array

ksort
natcasesort
Funciones de Arrays


Ordenar un array usando un algoritmo de "orden natural" insensible a mayúsculas-minúsculas

list
natsort
Funciones de Arrays
PHP Manual

natcasesort

(PHP 4, PHP 5)

natcasesort — Ordenar un array usando un algoritmo de "orden natural" insensible a mayúsculas-minúsculas

Descripción

bool natcasesort ( array &$array )

natcasesort() es la versión insensible a mayúsculas-minúsculas de natsort().

Esta función implementa un algoritmo de ordenación que ordena las cadenas alfanuméricas en la manera en que lo haría un humano mientras mantiene las asociaciones de clave/valor. Es descrito como "ordenación natural".

Parámetros

array

El array de entrada.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de natcasesort()

<?php
$array1 = $array2 = array('IMG0.png', 'img12.png', 'img10.png', 'img2.png', 'img1.png', 'IMG3.png');

sort($array1);
echo "Ordenación estándar\n";
print_r($array1);

natcasesort($array2);
echo "\nOrdenación de orden natural (insensible a maý-mín)\n";
print_r($array2);
?>

El resultado del ejemplo sería:

Ordenación estándar
Array
(
    [0] => IMG0.png
    [1] => IMG3.png
    [2] => img1.png
    [3] => img10.png
    [4] => img12.png
    [5] => img2.png
)

Ordenación de orden natural (insensible a maý-mín)
Array
(
    [0] => IMG0.png
    [4] => img1.png
    [3] => img2.png
    [5] => IMG3.png
    [2] => img10.png
    [1] => img12.png
)

Para más información véase: la página de Martin Pool » Natural Order String Comparison.

Ver también

  • natsort() - Ordena un array usando un algoritmo de "orden natural"
  • comparación de funciones de orden de arrays
  • strnatcmp() - Comparación de strings utilizando un algoritmo de "orden natural"
  • strnatcasecmp() - Comparación de strings, insensible a mayúsculas y minúsculas, utilizando un algoritmo de "orden natural"

list
natsort
Funciones de Arrays


Ordena un array usando un algoritmo de "orden natural"

natcasesort
next
Funciones de Arrays
PHP Manual

natsort

(PHP 4, PHP 5)

natsort — Ordena un array usando un algoritmo de "orden natural"

Descripción

bool natsort ( array &$array )

Esta función implementa un algoritmo de ordenación que ordena las cadenas alfanuméricas en la manera en que lo haría un humano mientras mantiene las asociaciones de clave/valor. Es descrito como "ordenación natural". Un ejemplo de la diferencia entre este algoritmo y los algoritmos de ordenación normales de computadora (usados en sort()) se puede ver en el ejemplo de abajo.

Parámetros

array

El array de entrada.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.2.10 | Las cadenas numéricas rellenadas con ceros (p.ej., '00005') ahora ignoran el relleno de 0.

Ejemplos

Ejemplo #1 Ejemplos de natsort() demostrando su uso básico

<?php
$array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png");

asort($array1);
echo "Ordenación estándar\n";
print_r($array1);

natsort($array2);
echo "\nOrdenación de orden natural\n";
print_r($array2);
?>

El resultado del ejemplo sería:

Ordenación estándar
Array
(
    [3] => img1.png
    [1] => img10.png
    [0] => img12.png
    [2] => img2.png
)

Ordenación de orden natural
Array
(
    [3] => img1.png
    [2] => img2.png
    [1] => img10.png
    [0] => img12.png
)

Para más información véase: la página de Martin Pool » Natural Order String Comparison.

Ejemplo #2 Ejemplos de natsort() demostrando trampas potenciales

<?php
echo "Números negativos\n";
$negativo = array('-5','3','-2','0','-1000','9','1');
print_r($negativo);
natsort($negativo);
print_r($negativo);

echo "Relleno de ceros\n";
$ceros = array('09', '8', '10', '009', '011', '0');
print_r($ceros);
natsort($ceros);
print_r($ceros);

echo "Otros caracteres interfiriendo\n";
$images_oops = array('image_1.jpg','image_12.jpg', 'image_21.jpg', 'image_4.jpg');
print_r($images_oops);
natsort($images_oops);
print_r($images_oops);

echo "Ordenar por claves\n";
$smoothie = array('naranja' => 1, 'manzana' => 1, 'yogur' => 4, 'banana' => 4);
print_r($smoothie);
uksort( $smoothie, 'strnatcmp');
print_r($smoothie);
?>

El resultado del ejemplo sería:

Números negativos
Array
(
    [0] => -5
    [1] => 3
    [2] => -2
    [3] => 0
    [4] => -1000
    [5] => 9
    [6] => 1
)
Array
(
    [2] => -2
    [0] => -5
    [4] => -1000
    [3] => 0
    [6] => 1
    [1] => 3
    [5] => 9
)

Relleno de ceros
Array
(
    [0] => 09
    [1] => 8
    [2] => 10
    [3] => 009
    [4] => 011
    [5] => 0
)
Array
(
    [5] => 0
    [1] => 8
    [3] => 009
    [0] => 09
    [2] => 10
    [4] => 011
)

Otros caracteres interfiriendo
Array
(
    [0] => image_1.jpg
    [1] => image_12.jpg
    [2] => image_21.jpg
    [3] => image_4.jpg
)
Array
(
    [0] => image_1.jpg
    [3] => image_4.jpg
    [1] => image_12.jpg
    [2] => image_21.jpg
)

Ordenar por claves
Array
(
    [naranja] => 1
    [manzana] => 1
    [yogur] => 4
    [banana] => 4
)
Array
(
    [banana] => 4
    [manzana] => 1
    [naranja] => 1
    [yogur] => 4
)

Ver también

  • natcasesort() - Ordenar un array usando un algoritmo de "orden natural" insensible a mayúsculas-minúsculas
  • comparación de funciones de orden de arrays
  • strnatcmp() - Comparación de strings utilizando un algoritmo de "orden natural"
  • strnatcasecmp() - Comparación de strings, insensible a mayúsculas y minúsculas, utilizando un algoritmo de "orden natural"

natcasesort
next
Funciones de Arrays


Avanza el puntero interno de un array

natsort
pos
Funciones de Arrays
PHP Manual

next

(PHP 4, PHP 5)

next — Avanza el puntero interno de un array

Descripción

mixed next ( array &$array )

next() se comporta como current(), con una diferencia. Avanza el puntero interno un lugar a delante antes de devolver el valor del elemento. Esto significa que devuelve el siguiente valor del array y avanza el puntero interno del array un lugar.

Parámetros

array

El array afectado.

Valores devueltos

Devuelve el valor del array en el siguiente lugar que está apuntado por el puntero interno o FALSE si no hay más elementos.

Advertencia

Esta función puede devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se evalúa como FALSE. 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.

Ejemplos

Ejemplo #1 Ejemplo del uso de next() y similares

<?php
$transport = array('pie', 'bici', 'coche', 'avión');
$mode = current($transport); // $mode = 'pie';
$mode = next($transport);    // $mode = 'bici';
$mode = next($transport);    // $mode = 'coche';
$mode = prev($transport);    // $mode = 'bici';
$mode = end($transport);     // $mode = 'avión';
?>

Notas

Nota: No hay manera de distinguir el inicio de un array de un elemento de tipo FALSE boolean. Para recorrer adecuadamente que puede contener elementos FALSE ver la función each().

Ver también

  • current() - Devuelve el elemento actual en un array
  • end() - Establece el puntero intero de un array a su último elemento
  • prev() - Rebobina el puntero interno del array
  • reset() - Establece el puntero interno de un array a su primer elemento
  • each() - Devolver el par clave/valor actual de un array y avanzar el cursor del array

natsort
pos
Funciones de Arrays


Alias de current

next
prev
Funciones de Arrays
PHP Manual

pos

(PHP 4, PHP 5)

pos — Alias de current()

Descripción

Esta función es un alias de: current()

next
prev
Funciones de Arrays


Rebobina el puntero interno del array

pos
range
Funciones de Arrays
PHP Manual

prev

(PHP 4, PHP 5)

prev — Rebobina el puntero interno del array

Descripción

mixed prev ( array &$array )

Rebobina el puntero interno del array.

prev() se comporta como next(), a excepción de que rebobina el puntero interno del array una posición en lugar de avanzar.

Parámetros

array

El array de entrada.

Valores devueltos

Devuelve el valor del array en la posición anterior que está apuntado por el puntero interno del array o FALSE si no hay más elementos.

Ejemplos

Ejemplo #1 Ejemplo de uso de prev() and friends

<?php
$transport = array('pie', 'bici', 'coche', 'avión');
$mode = current($transport); // $mode = 'pie';
$mode = next($transport);    // $mode = 'bici';
$mode = next($transport);    // $mode = 'coche';
$mode = prev($transport);    // $mode = 'bici';
$mode = end($transport);     // $mode = 'avión';
?>

Notas

Advertencia

Esta función puede devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se evalúa como FALSE. 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.

Nota: No hay manera de distinguir el inicio de un array de un elemento de tipo FALSE boolean. Para recorrer adecuadamente que puede contener elementos FALSE ver la función each().

Ver también

  • current() - Devuelve el elemento actual en un array
  • end() - Establece el puntero intero de un array a su último elemento
  • next() - Avanza el puntero interno de un array
  • reset() - Establece el puntero interno de un array a su primer elemento
  • each() - Devolver el par clave/valor actual de un array y avanzar el cursor del array

pos
range
Funciones de Arrays


Crear un array que contiene un rango de elementos

prev
reset
Funciones de Arrays
PHP Manual

range

(PHP 4, PHP 5)

range — Crear un array que contiene un rango de elementos

Descripción

array range ( mixed $start , mixed $end [, number $step = 1 ] )

Crea un array que contiene un rango de elementos.

Parámetros

start

Primer valor de la secuencia.

end

La secuencia finaliza al alcanzar el valor end.

step

Si se da un valor a step éste será usado como el incremento entre los elementos de la secuencia. step debería darse como número positivo. Si no se especifica, step será 1.

Valores devueltos

Devuelve un array de elementos desde start a end, inclusive.

Historial de cambios

Versión | Descripción
5.0.0 | Se añadió el parámetro opcional step.
4.1.0 to 4.3.2 | En las versiones de PHP de 4.1.0 hasta 4.3.2, range() ve las cadenas numéricas como cadenas, y no como enteros. En su lugar, serán usadas para secuencias de caracteres. Por ejemplo, "4242" es tratado como "4".
4.1.0 | Antes de PHP 4.1.0, range() sólo generaba arrays de incrementos enteros. El soporte para secuencias de caracteres y array decrementales se añadió en la versión 4.1.0. Los valores de las secuencias de caracteres están limitados a la longitud uno. Si se introduce una longitud mayor que uno, sólo se usará el primer carácter.

Ejemplos

Ejemplo #1 Ejemplos de range()

<?php
// array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
foreach (range(0, 12) as $número) {
    echo $número;
}

// El parámetro step se introdujo en la versión 5.0.0
// array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
foreach (range(0, 100, 10) as $número) {
    echo $número;
}

// Uso de las secuencias de caracteres introducidas en la versión 4.1.0
// array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i');
foreach (range('a', 'i') as $letra) {
    echo $letra;
}
// array('c', 'b', 'a');
foreach (range('c', 'a') as $letra) {
    echo $letra;
}
?>

Ver también

  • shuffle() - Mezcla un array
  • array_fill() - Llena un array con valores
  • foreach

prev
reset
Funciones de Arrays


Establece el puntero interno de un array a su primer elemento

range
rsort
Funciones de Arrays
PHP Manual

reset

(PHP 4, PHP 5)

reset — Establece el puntero interno de un array a su primer elemento

Descripción

mixed reset ( array &$array )

reset() rebobina el puntero interno de un array al primer elemento y devuelve el valor del primer elemento del array.

Parámetros

array

El array de entrada.

Valores devueltos

Devuelve el valor del primer elemento de un array o FALSE si el array está vacío.

Ejemplos

Ejemplo #1 Ejemplo de reset()

<?php

$array = array('paso uno', 'paso dos', 'paso tres', 'paso cuatro');

// Por defecto, el puntero está en el primer elemento
echo current($array) . "<br />\n"; // "paso uno"

// Omite dos pasos
next($array);
next($array);
echo current($array) . "<br />\n"; // "paso tres"

// Resetea el puntero, empieza otra vez en paso uno
reset($array);
echo current($array) . "<br />\n"; // "paso uno"

?>

Ver también

  • current() - Devuelve el elemento actual en un array
  • each() - Devolver el par clave/valor actual de un array y avanzar el cursor del array
  • end() - Establece el puntero intero de un array a su último elemento
  • next() - Avanza el puntero interno de un array
  • prev() - Rebobina el puntero interno del array

range
rsort
Funciones de Arrays


Ordena un array en orden inverso

reset
shuffle
Funciones de Arrays
PHP Manual

rsort

(PHP 4, PHP 5)

rsort — Ordena un array en orden inverso

Descripción

bool rsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

Esta función ordena un array en orden inverso (mayor a menor).

Parámetros

array

El array de entrada.

sort_flags

Quizá se necesita cambiar el comportamiento de ordenado usando el parámetro opcional sort_flags, para más información ver sort().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de rsort()

<?php
$fruits = array("limón", "naranja", "plátano", "manzana");
rsort($fruits);
foreach ($fruits as $key => $val) {
    echo "$key = $val\n";
}
?>

El resultado del ejemplo sería:

0 = plátano
1 = naranja
2 = manzana
3 = limón

Las frutas han sido ordenadas alfábeticamente pero en orden inverso.

Notas

Nota: Esta función asigna nuevas clave a los elemenos del array. Eliminará cualquier clave existenteque haya sido asignada, en lugar de reordenar las claves.

Ver también

  • arsort() - Ordena un array en orden inverso y mantiene la asociación de índices
  • krsort() - Ordena un array por clave en orden inverso
  • comparación de funciones de orden de arrays

reset
shuffle
Funciones de Arrays


Mezcla un array

rsort
sizeof
Funciones de Arrays
PHP Manual

shuffle

(PHP 4, PHP 5)

shuffle — Mezcla un array

Descripción

bool shuffle ( array &$array )

Esta función mezcla un array (crea un orden aleatorio de sus elementos).

Parámetros

array

El array.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de shuffle()

<?php
$números = range(1, 20);
shuffle($números);
foreach ($números as $número) {
    echo "$número ";
}
?>

Historial de cambios

Versión | Descripción
4.2.0 | El generador de números aleatorio es sembrado automáticamente.

Notas

Nota: Esta función asigna nuevas clave a los elemenos del array. Eliminará cualquier clave existenteque haya sido asignada, en lugar de reordenar las claves.

Ver también

  • array_rand() - Selecciona una o más entradas aleatorias de un array
  • comparación de funciones de orden de arrays

rsort
sizeof
Funciones de Arrays


Alias de count

shuffle
sort
Funciones de Arrays
PHP Manual

sizeof

(PHP 4, PHP 5)

sizeof — Alias de count()

Descripción

Esta función es un alias de: count().

shuffle
sort
Funciones de Arrays


Ordena un array

sizeof
uasort
Funciones de Arrays
PHP Manual

sort

(PHP 4, PHP 5)

sort — Ordena un array

Descripción

bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

Esta función ordena un array. Los elementos estarán ordenados de menor a mayor cuando la función haya terminado.

Parámetros

array

El array de entrada.

sort_flags

El segundo parámetro opcional sort_flags puede ser usado para modificar el modo de ordenación usando estos valores:

Tipos de ordenación:

  • SORT_REGULAR - compara elementos normalmente (no cambia los tipos)
  • SORT_NUMERIC - compara elementos de forma numérica
  • SORT_STRING - compara elementos como cadenas
  • SORT_LOCALE_STRING - compara elementos como cadenas, basándose en la configuración regional en uso. Utiliza la configuración regional, la cual puede cambiarse usando setlocale().
  • SORT_NATURAL - compara elementos como cadenas usando el "orden natural" de la misma forma que natsort().
  • SORT_FLAG_CASE - se puede combinar (OR a nivel de bits) con SORT_STRING o SORT_NATURAL para ordenar cadenas de forma insensible a mayúsculas/minúsculas.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.4.0 | Se añadió el soporte para SORT_NATURAL y SORT_FLAG_CASE como sort_flags
5.0.2 | Se añadió SORT_LOCALE_STRING

Ejemplos

Ejemplo #1 Ejemplo de sort()

<?php

$frutas = array("limón", "naranja", "banana", "albaricoque");
sort($frutas);
foreach ($frutas as $clave => $valor) {
    echo "frutas[" . $clave . "] = " . $valor . "\n";
}

?>

El resultado del ejemplo sería:

frutas[0] = albaricoque
frutas[1] = banana
frutas[2] = limón
frutas[3] = naranja

Las frutas han sido ordenadas en orden alfabético.

Ejemplo #2 Ejemplo de sort() usando la ordenación insensible a mayúsculas/minúsculas natural

<?php

$frutas = array(
    "Naranja1", "naranja2", "Naranja3", "naranja20"
);
sort($frutas, SORT_NATURAL | SORT_FLAG_CASE);
foreach ($frutas as $clave => $valor) {
    echo "frutas[" . $clave . "] = " . $valor . "\n";
}

?>

El resultado del ejemplo sería:

frutas[0] = Naranja1
frutas[1] = naranja2
frutas[2] = Naranja3
frutas[3] = naranja20

Las frutas han sido ordenadas de la misma forma que natcasesort().

Notas

Nota: Esta función asigna nuevas clave a los elemenos del array. Eliminará cualquier clave existenteque haya sido asignada, en lugar de reordenar las claves.

Nota: Como la mayoría de funciones de ordenación de PHP, sort() utiliza una implementación de » Quicksort. El pivote es elegido en la mitad de la partición resultando en un tiempo óptimo para los arrays ya ordenados. Aunque esto es un detalle de implementación con el que no debería contar.

Advertencia

Se ha de tener cuidado cuando se ordenen arrays con valores de tipos mixtos ya que sort() puede producir resultados impredecibles.

Ver también

  • asort() - Ordena un array y mantiene la asociación de índices
  • comparación de funciones de orden de arrays

sizeof
uasort
Funciones de Arrays


Ordena un array con una función de comparación definida por el usuario y mantiene la asociación de índices

sort
uksort
Funciones de Arrays
PHP Manual

uasort

(PHP 4, PHP 5)

uasort — Ordena un array con una función de comparación definida por el usuario y mantiene la asociación de índices

Descripción

bool uasort ( array &$array , callable $value_compare_func )

Esta función ordena un array tal que los índices de array mantienen sus correlaciones con los elementos del array con los que están asociados, usando una función de comparación definida por el usuario.

Se usa pricipalmente cuando se ordenan arrays asociativos donde el orden del elemento mismo es significante.

Nota:

Si dos miembros se comparan como iguales, su orden relativo en el array ordenado será indefinido.

Parámetros

array

El array de entrada.

value_compare_func

Véase usort() y uksort() para ejemplos de funciones de comparación definidas por el usuario.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo básico de uasort()

<?php
// Función de comparación
function cmp($a, $b) {
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
}

// Array a ser ordenado
$array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4);
print_r($array);

// Ordenar e imprimir el array resultante
uasort($array, 'cmp');
print_r($array);
?>

El resultado del ejemplo sería:

Array
(
    [a] => 4
    [b] => 8
    [c] => -1
    [d] => -9
    [e] => 2
    [f] => 5
    [g] => 3
    [h] => -4
)
Array
(
    [d] => -9
    [h] => -4
    [c] => -1
    [e] => 2
    [g] => 3
    [a] => 4
    [f] => 5
    [b] => 8
)

Ver también

  • usort() - Ordena un array según sus valores usando una función de comparación definida por el usuario
  • comparación de funciones de orden de arrays

sort
uksort
Funciones de Arrays


Ordena un array según sus claves usando una función de comparación definida por el usuario

uasort
usort
Funciones de Arrays
PHP Manual

uksort

(PHP 4, PHP 5)

uksort — Ordena un array según sus claves usando una función de comparación definida por el usuario

Descripción

bool uksort ( array &$array , callable $key_compare_func )

uksort() ordenará las claves de un array usando una función de comparación proporcionada por el usuario. Si el array que se desea ordenar necesita ser ordenado por algún criterio no trivial, debería usar esta función.

Parámetros

array

El array de entrada.

key_compare_func

La función de comparación debe devolver un entero menor, igual o mayor que cero si el primer argumento se considera que sea respectivamente menor, igual o mayor que el segundo.

int callback ( mixed $a, mixed $b )

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de uksort()

<?php
function cmp($a, $b)
{
    $a = preg_replace('@^(un|una|la) @', '', $a);
    $b = preg_replace('@^(un|una|la) @', '', $b);
    return strcasecmp($a, $b);
}

$a = array("Víctor" => 1, "la Tierra" => 2, "una manzana" => 3, "un plátano" => 4);

uksort($a, "cmp");

foreach ($a as $clave => $valor) {
    echo "$clave: $valor\n";
}
?>

El resultado del ejemplo sería:

una manzana: 3
un plátano: 4
la Tierra: 2
Víctor: 1

Ver también

  • usort() - Ordena un array según sus valores usando una función de comparación definida por el usuario
  • comparación de funciones de orden de arrays

uasort
usort
Funciones de Arrays


Ordena un array según sus valores usando una función de comparación definida por el usuario

uksort
Clases/Objetos
Funciones de Arrays
PHP Manual

usort

(PHP 4, PHP 5)

usort — Ordena un array según sus valores usando una función de comparación definida por el usuario

Descripción

bool usort ( array &$array , callable $value_compare_func )

Esta función ordenará un array según sus valores usando una función de comparación definida por el usuario. Si el array que se desea ordenar necesita ser ordenado por algún criterio no trivial, debería usar esta función.

Nota:

Si dos miembros se comparan como iguales, su orden relativo en el array ordenado es indefinido.

Nota: Esta función asigna nuevas clave a los elemenos del array. Eliminará cualquier clave existenteque haya sido asignada, en lugar de reordenar las claves.

Parámetros

array

El array de entrada.

value_compare_func

La función de comparación debe devolver un entero menor, igual o mayor que cero si el primer argumento se considera que sea respectivamente menor, igual o mayor que el segundo.

int callback ( mixed $a, mixed $b )
Precaución

La devolución de valores que no sean de tipo integer por parte de la función de comparación, como float, resultará en una conversión interna a integer del valor devuelto por la llamada de retorno. Así, valores como 0.99 y 0.1 serán convertidos al valor de tipo integer 0, lo cual hará que la comparación de tales valores sea igual.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
4.1.0 | Se introdujo un nuevo algoritmo de ordenación. La función value_compare_func no mantiene el orden original de los elementos comparadados como iguales.

Ejemplos

Ejemplo #1 Ejemplo de usort()

<?php
function cmp($a, $b)
{
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
}

$a = array(3, 2, 5, 6, 1);

usort($a, "cmp");

foreach ($a as $clave => $valor) {
    echo "$clave: $valor\n";
}
?>

El resultado del ejemplo sería:

0: 1
1: 2
2: 3
3: 5
4: 6

Nota:

Obviamente, en este caso tan trivial, la función sort() sería más apropiada.

Ejemplo #2 Ejemplo de usort() usando un array multidimensional

<?php
function cmp($a, $b)
{
    return strcmp($a["fruta"], $b["fruta"]);
}

$frutas[0]["fruta"] = "uvas";
$frutas[1]["fruta"] = "limones";
$frutas[2]["fruta"] = "manzanas";

usort($frutas, "cmp");

while (list($clave, $valor) = each($frutas)) {
    echo "\$frutas[$clave]: " . $valor["fruta"] . "\n";
}
?>

Cuando se ordena un array multidimensional, $a y $b contienen referencias al primer índice del array.

El resultado del ejemplo sería:

$frutas[0]: limones
$frutas[1]: manzanas
$frutas[2]: uvas

Ejemplo #3 Ejemplo de usort() usando una función miembro de un objeto

<?php
class ObjPrueba {
    var $nombre;

    function ObjPrueba($nombre)
    {
        $this->nombre = $nombre;
    }

    /* Ésta es la función de comparación estática: */
    static function cmp_obj($a, $b)
    {
        $al = strtolower($a->nombre);
        $bl = strtolower($b->nombre);
        if ($al == $bl) {
            return 0;
        }
        return ($al > $bl) ? +1 : -1;
    }
}

$a[] = new ObjPrueba("c");
$a[] = new ObjPrueba("b");
$a[] = new ObjPrueba("d");

usort($a, array("ObjPrueba", "cmp_obj"));

foreach ($a as $elemento) {
    echo $elemento->nombre . "\n";
}
?>

El resultado del ejemplo sería:

b
c
d

Ejemplo #4 Ejemplo de usort() usando un cierre para ordenar un array multidimensional

<?php
$array[0] = array('clave_a' => 'z', 'clave_b' => 'c');
$array[1] = array('clave_a' => 'x', 'clave_b' => 'b');
$array[2] = array('clave_a' => 'y', 'clave_b' => 'a');

function build_sorter($clave) {
    return function ($a, $b) use ($clave) {
        return strnatcmp($a[$clave], $b[$clave]);
    };
}

usort($array, build_sorter('key_b'));

foreach ($array as $item) {
    echo $item['clave_a'] . ', ' . $item['clave_b'] . "\n";
}
?>

El resultado del ejemplo sería:

y, a
x, b
z, c

Ver también

  • uasort() - Ordena un array con una función de comparación definida por el usuario y mantiene la asociación de índices
  • comparación de funciones de orden de arrays

uksort
Clases/Objetos
Funciones de Arrays


Información de Clases/Objetos

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • Funciones de Clases/Objetos
    • __autoload — Intenta cargar una clase sin definir
    • call_user_method_array — LLamar a un método de usuario dado con una matriz de parámetros [obsoleto]
    • call_user_method — Llamar a un método de usuario sobre un objeto específico [obsoleto]
    • class_alias — Crea un alias para una clase
    • class_exists — Verifica si la clase ha sido definida
    • get_called_class — El nombre de la clase "Vinculante Static Última"
    • get_class_methods — Obtiene los nombres de los métdos de una clase
    • get_class_vars — Obtener las propiedades predeterminadas de una clase
    • get_class — Devuelve el nombre de la clase de un objeto
    • get_declared_classes — Devuelve una matriz con los nombres de las clases definidas
    • get_declared_interfaces — Devuelve un array con todas las interfaces declaradas
    • get_declared_traits — Devuelve un array de todos los traits declarados
    • get_object_vars — Obtiene las propiedades del objeto dado
    • get_parent_class — Recupera el nombre de la clase padre de un objeto o clase
    • interface_exists — Comprueba si una interfaz ha sido definida
    • is_a — Comprueba si un objeto es de una clase o tiene esta clase como una de sus madres
    • is_subclass_of — Verifica si el objeto tiene esta clase como uno de sus padres
    • method_exists — Comprueba si existe un método de una clase
    • property_exists — Comprueba si el objeto o la clase tienen una propiedad
    • trait_exists — Comprobar si el trait existe
usort
Introducción
Extensiones relacionadas con variable y tipo


Introducción

Estas funciones permiten obtener información sobre clases y objetos. Se puede obtener el nombre de la clase a la que pertenece un objeto, así como sus propiedades y métodos miembro. Al usar estas funciones no sólo se puede averiguar la pertenencia a una clase de un objeto, sino también su vínculo parental (esto es, qué clase es la que extiende la clase del objeto).

Por favor, vea la sección de Objetos del manual para una explicación detallada de cómo están las clases y objetos implementados y de cómo son usados en PHP.

Clases/Objetos
Instalación/Configuración
Clases/Objetos


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Clases/Objetos


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Ejemplos
Clases/Objetos


Ejemplos

En este ejemplo, primero definimos una clase base y una extensión de la clase. La clase base describe una verdura general, si es comestible o no y cuál es su color. La subclase Espinaca añade un método para cocinarla y otro para averiguar si es cocinada.

Ejemplo #1 classes.inc

<?php

// clase base con propiedades y métodos miembro
class Verdura {

   var $comestible;
   var $color;

   function Verdura($comestible, $color="verde")
   {
       $this->comestible = $comestible;
       $this->color = $color;
   }

   function es_comestible()
   {
       return $this->comestible;
   }

   function qué_color()
   {
       return $this->color;
   }

} // fin de la clase Verdura

// extender la clase base
class Espinaca extends Verdura {

   var $concinada = false;

   function Espinaca()
   {
       $this->Verdura(true, "verde");
   }

   function cocinarla()
   {
       $this->concinada = true;
   }

   function está_cocinada()
   {
       return $this->concinada;
   }

} // fin de la clase Espinaca

?>

Entonces instanciamos 2 objetos de estas clases e imprimimos la información sobre ellos, incluida su clase padre. También definimos algunas funciones de utilidad, prinpipalmente para tener una impresión agradable de las varaibles.

Ejemplo #2 test_script.php

<pre>
<?php

include "classes.inc";

// funciones de utilidad

function imprimir_vars($obj)
{
foreach (get_object_vars($obj) as $prop => $val) {
    echo "\t$prop = $val\n";
}
}

function imprimir_métodos($obj)
{
$arr = get_class_methods(get_class($obj));
foreach ($arr as $método) {
    echo "\tfunción $método()\n";
}
}

function clase_padre($obj, $clase)
{
if (is_subclass_of($GLOBALS[$obj], $clase)) {
    echo "El objeto $obj pertenece a la clase " . get_class($$obj);
    echo ", una subclase de $clase\n";
} else {
    echo "El objeto $obj no pertenece a una subclase de $clase\n";
}
}

// instancias 2 objetos

$vegetariano = new Verdura(true, "blue");
$frondoso = new Espinaca();

// imprimir información sobre los objetos
echo "vegetariano: CLASE " . get_class($vegetariano) . "\n";
echo "frondoso: CLASE " . get_class($frondoso);
echo ", PADRE " . get_parent_class($frondoso) . "\n";

// mostrar las propiedades de vegetariano
echo "\nvegetariano: Propiedades\n";
imprimir_vars($vegetariano);

// y los métodos de frondoso
echo "\nfrondoso: Métodos\n";
imprimir_métodos($frondoso);

echo "\nPadre:\n";
clase_padre("frondoso", "Espinaca");
clase_padre("frondoso", "Verdura");
?>
</pre>

Una cosa importanete a observar en el ejemplo de arriba es que el objeto $frondoso es una instancia de la clase Espinaca que es una subclase de Verdura, por lo tanto, la última parte del script de arriba imprimirá:

   [...]
Parentage:
El objeto frondoso no pertenece a una subclase de Espinaca
El objeto frondoso pertenece a la clase Espinaca, una subclase de Verdura

Constantes predefinidas
Funciones de Clases/Objetos
Clases/Objetos


Funciones de Clases/Objetos

Tabla de contenidos

  • __autoload — Intenta cargar una clase sin definir
  • call_user_method_array — LLamar a un método de usuario dado con una matriz de parámetros [obsoleto]
  • call_user_method — Llamar a un método de usuario sobre un objeto específico [obsoleto]
  • class_alias — Crea un alias para una clase
  • class_exists — Verifica si la clase ha sido definida
  • get_called_class — El nombre de la clase "Vinculante Static Última"
  • get_class_methods — Obtiene los nombres de los métdos de una clase
  • get_class_vars — Obtener las propiedades predeterminadas de una clase
  • get_class — Devuelve el nombre de la clase de un objeto
  • get_declared_classes — Devuelve una matriz con los nombres de las clases definidas
  • get_declared_interfaces — Devuelve un array con todas las interfaces declaradas
  • get_declared_traits — Devuelve un array de todos los traits declarados
  • get_object_vars — Obtiene las propiedades del objeto dado
  • get_parent_class — Recupera el nombre de la clase padre de un objeto o clase
  • interface_exists — Comprueba si una interfaz ha sido definida
  • is_a — Comprueba si un objeto es de una clase o tiene esta clase como una de sus madres
  • is_subclass_of — Verifica si el objeto tiene esta clase como uno de sus padres
  • method_exists — Comprueba si existe un método de una clase
  • property_exists — Comprueba si el objeto o la clase tienen una propiedad
  • trait_exists — Comprobar si el trait existe
Ejemplos
__autoload
Clases/Objetos


Intenta cargar una clase sin definir

Funciones de Clases/Objetos
call_user_method_array
Funciones de Clases/Objetos
PHP Manual

__autoload

(PHP 5)

__autoload — Intenta cargar una clase sin definir

Descripción

void __autoload ( string $class )

Puede definir esta función para habilitar lacarga de clases.

Parámetros

class

Nombre de la clase a cargar

Valores devueltos

No devuelve ningún valor.

Ver también

  • spl_autoload_register() - Registrar las funciones dadas como implementación de __autoload()

Funciones de Clases/Objetos
call_user_method_array
Funciones de Clases/Objetos


LLamar a un método de usuario dado con una matriz de parámetros [obsoleto]

__autoload
call_user_method
Funciones de Clases/Objetos
PHP Manual

call_user_method_array

(PHP 4 >= 4.0.5, PHP 5)

call_user_method_array — LLamar a un método de usuario dado con una matriz de parámetros [obsoleto]

Descripción

mixed call_user_method_array ( string $method_name , object &$obj , array $params )
Advertencia

La función call_user_method_array() está obsoleta desde PHP 4.1.0.

Parámetros

method_name

El nombre del método a ser llamado.

obj

El object que está siendo llamado desde method_name.

params

Una matriz de parámetros.

Ejemplos

Ejemplo #1 Alternativa a call_user_method_array()

<?php
call_user_func_array(array($obj, $method_name), $params);
call_user_func_array(array(&$obj, $method_name), $params); // PHP 4
?>

Ver también

  • call_user_func_array() - Llamar a una llamada de retorno un array de parámetros
  • call_user_func() - Llamar a una llamada de retorno dada por el primer parámetro

__autoload
call_user_method
Funciones de Clases/Objetos


Llamar a un método de usuario sobre un objeto específico [obsoleto]

call_user_method_array
class_alias
Funciones de Clases/Objetos
PHP Manual

call_user_method

(PHP 4, PHP 5)

call_user_method — Llamar a un método de usuario sobre un objeto específico [obsoleto]

Descripción

mixed call_user_method ( string $method_name , object &$obj [, mixed $parameter [, mixed $... ]] )
Advertencia

La función call_user_method() está obsoleta desde PHP 4.1.0.

Parámetros

method_name

El nombre del método a ser llamado.

obj

El object que está siendo llamado desde method_name.

parameter ...

Los parámetros opcionales.

Ejemplos

Ejemplo #1 Alternativa a call_user_method()

<?php
call_user_func(array($obj, $method_name), $parameter /* , ... */);
call_user_func(array(&$obj, $method_name), $parameter /* , ... */); // PHP 4
?>

Ver también

  • call_user_func_array() - Llamar a una llamada de retorno un array de parámetros
  • call_user_func() - Llamar a una llamada de retorno dada por el primer parámetro

call_user_method_array
class_alias
Funciones de Clases/Objetos


Crea un alias para una clase

call_user_method
class_exists
Funciones de Clases/Objetos
PHP Manual

class_alias

(PHP 5 >= 5.3.0)

class_alias — Crea un alias para una clase

Descripción

bool class_alias ( string $original , string $alias [, bool $autoload = TRUE ] )

Crea un alias dado por alias basado en la clase definida por el usuario original. La clase apodada es exactamente la misma que la clase original.

Parámetros

original

La clase original.

alias

El nombre del alias para la clase.

autoload

Si realizar la autocarga si la clase original no se encuentra.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de class_alias()

<?php

class foo { }

class_alias('foo', 'bar');

$a = new foo;
$b = new bar;

// los objetos son los mismos
var_dump($a == $b, $a === $b);
var_dump($a instanceof $b);

// las clases son las mismas
var_dump($a instanceof foo);
var_dump($a instanceof bar);

var_dump($b instanceof foo);
var_dump($b instanceof bar);

?>

El resultado del ejemplo sería:

bool(true)
bool(false)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)

Ver también

  • get_parent_class() - Recupera el nombre de la clase padre de un objeto o clase
  • is_subclass_of() - Verifica si el objeto tiene esta clase como uno de sus padres

call_user_method
class_exists
Funciones de Clases/Objetos


Verifica si la clase ha sido definida

class_alias
get_called_class
Funciones de Clases/Objetos
PHP Manual

class_exists

(PHP 4, PHP 5)

class_exists — Verifica si la clase ha sido definida

Descripción

bool class_exists ( string $class_name [, bool $autoload = true ] )

Esta función verifica si la clase dada ha sido definida o no.

Parámetros

class_name

El nombre de la clase. El nombre es coincidido de manera insensible a mayúsculas y minúsculas.

autoload

Indica si ha de llamarse __autoload o no de forma predeterminada.

Valores devueltos

Devuelve TRUE si class_name es una clase definida, FALSE de lo contrario.

Historial de cambios

Versión | Descripción
5.0.2 | Ya no devuelve TRUE para interfaces definidas. En ese caso se debe usar interface_exists().
5.0.0 | Se añadió el parámetro autoload.

Ejemplos

Ejemplo #1 Ejemplo de class_exists()

<?php
// Verificar que la clase exista antes de usarla
if (class_exists('MiClase')) {
    $mi_clase = new MiClase();
}

?>

Ejemplo #2 Ejemplo del parámetro autoload

<?php
function __autoload($clase)
{
    include($clase . '.php');

    // Verificar si la sentencia include declaró la clase
    if (!class_exists($clase, false)) {
        trigger_error("No es posible cargar la clase: $clase", E_USER_WARNING);
    }
}

if (class_exists('MiClase')) {
    $mi_clase = new MiClase();
}

?>

Ver también

  • function_exists() - Devuelve TRUE si la función dada ha sido definida
  • interface_exists() - Comprueba si una interfaz ha sido definida
  • get_declared_classes() - Devuelve una matriz con los nombres de las clases definidas

class_alias
get_called_class
Funciones de Clases/Objetos


El nombre de la clase "Vinculante Static Última"

class_exists
get_class_methods
Funciones de Clases/Objetos
PHP Manual

get_called_class

(PHP 5 >= 5.3.0)

get_called_class — El nombre de la clase "Vinculante Static Última"

Descripción

string get_called_class ( void )

Obtiene el nombre de la clase desde la que se llama al método estático.

Valores devueltos

Devuelve el nombre de la clase. Devuelve FALSE si la llamada se hizo desde fuera de la clase.

Ejemplos

Ejemplo #1 Usar get_called_class()

<?php

class foo {
    static public function prueba() {
        var_dump(get_called_class());
    }
}

class bar extends foo {
}

foo::prueba();
bar::prueba();

?>

El resultado del ejemplo sería:

string(3) "foo"
string(3) "bar"

Ver también

  • get_parent_class() - Recupera el nombre de la clase padre de un objeto o clase
  • get_class() - Devuelve el nombre de la clase de un objeto
  • is_subclass_of() - Verifica si el objeto tiene esta clase como uno de sus padres

class_exists
get_class_methods
Funciones de Clases/Objetos


Obtiene los nombres de los métdos de una clase

get_called_class
get_class_vars
Funciones de Clases/Objetos
PHP Manual

get_class_methods

(PHP 4, PHP 5)

get_class_methods — Obtiene los nombres de los métdos de una clase

Descripción

array get_class_methods ( mixed $class_name )

Obtiene los nombres de los métodos de una clase.

Parámetros

class_name

El nombre de la clase o una instancia de objeto

Valores devueltos

Devuelve una matriz con los nombres de los métodos definidos para la clase especificada por class_name. Es caso de error devuelve NULL.

Historial de cambios

Versión | Descripción
5.0.0 | A partir de PHP 5, esta función devuelve los nombres de los métodos tal como fueron declarados (sensble a mayúsculas-minúsculas). En PHP 4 están en minúsculas.
4.0.6 | Se añadió la capacidad de especificar el objeto mismo.

Ejemplos

Ejemplo #1 Ejemplo de get_class_methods()

<?php

class miclase {
    // constructor
    function miclase()
    {
        return(true);
    }

    // método 1
    function mifunc1()
    {
        return(true);
    }

    // método 2
    function mifunc2()
    {
        return(true);
    }
}

$métodos_clase = get_class_methods('miclase');
// o
$métodos_clase = get_class_methods(new miclase());

foreach ($métodos_clase as $nombre_método) {
    echo "$nombre_método\n";
}

?>

El resultado del ejemplo sería:

miclase
mifunc1
mifunc2

Ver también

  • get_class() - Devuelve el nombre de la clase de un objeto
  • get_class_vars() - Obtener las propiedades predeterminadas de una clase
  • get_object_vars() - Obtiene las propiedades del objeto dado

get_called_class
get_class_vars
Funciones de Clases/Objetos


Obtener las propiedades predeterminadas de una clase

get_class_methods
get_class
Funciones de Clases/Objetos
PHP Manual

get_class_vars

(PHP 4, PHP 5)

get_class_vars — Obtener las propiedades predeterminadas de una clase

Descripción

array get_class_vars ( string $class_name )

Obtiene las propiedades predeterminadas de la clase dada.

Parámetros

class_name

El nombre de la clase

Valores devueltos

Devuelve una matriz asociativa de las propiedades declaradas visibles desde el ámbito actual, con su valor predeterminado. Los elementos del array resultante están en la forma nombre_variable => valor. En caso de error devuelve FALSE.

Historial de cambios

Versión | Descripción
5.0.3 | Según el ámbito, get_class_vars() devolverá sólo las propiedades que pueden ser accedidas desde el ámbito actual.
5.0.2 | Al llamar a get_class_vars() ahora se expondrán todas las propiedades como una matriz, a diferencia del comportamiento anterior donde las propieades protected y private eran prefijadas con bytes nul.
5.0.1 | Al llamar a get_class_vars() se expondrán todas las propiedades, como cuando se convierte un objeto en una clase.
4.2.0 | Las variables de clases no inicializadas ahora también son reportadas por get_class_vars()

Ejemplos

Ejemplo #1 Ejemplo de get_class_vars()

<?php

class miclase {

    var $var1; // esta no tiene valor predeterminado...
    var $var2 = "xyz";
    var $var3 = 100;
    private $var4; // PHP 5

    // constructor
    function miclase() {
        // cambiar algunas propiedades
        $this->var1 = "foo";
        $this->var2 = "bar";
        return true;
    }

}

$mi_clase = new miclase();

$vars_clase = get_class_vars(get_class($mi_clase));

foreach ($vars_clase as $nombre => $valor) {
    echo "$nombre : $valor\n";
}

?>

El resultado del ejemplo sería:

// Antes de PHP 4.2.0
var2 : xyz
var3 : 100

// A partir de PHP 4.2.0
var1 :
var2 : xyz
var3 : 100

Ejemplo #2 get_class_vars() y comportamiento de ámbito

<?php
function formato($matriz)
{
    return implode('|', array_keys($matriz)) . "\r\n";
}

class TestCase
{
    public $a    = 1;
    protected $b = 2;
    private $c   = 3;

    public static function expose()
    {
        echo formato(get_class_vars(__CLASS__));
    }
}

TestCase::expose();
echo formato(get_class_vars('TestCase'));
?>

El resultado del ejemplo sería:

// 5.0.0
a| * b| TestCase c
a| * b| TestCase c

// 5.0.1 - 5.0.2
a|b|c
a|b|c

// 5.0.3 +
a|b|c
a

Ver también

  • get_class_methods() - Obtiene los nombres de los métdos de una clase
  • get_object_vars() - Obtiene las propiedades del objeto dado

get_class_methods
get_class
Funciones de Clases/Objetos


Devuelve el nombre de la clase de un objeto

get_class_vars
get_declared_classes
Funciones de Clases/Objetos
PHP Manual

get_class

(PHP 4, PHP 5)

get_class — Devuelve el nombre de la clase de un objeto

Descripción

string get_class ([ object $object = NULL ] )

Obtiene el nombre de la clase del objeto dado por object.

Parámetros

object

El objeto evaluado. Este parámetro puede omitirse cuando se utiliza dentro de una clase.

Valores devueltos

Devuelve el nombre de la clase de la cual object es una instancia. Devuelve FALSE si object no es un objeto.

Si se omite object al usarse dentro de una clase, devolverá el nombre de la clase.

Errores/Excepciones

Si se llama a la función get_class() con algo que no sea un objeto, se producirá un error de nivel E_WARNING.

Historial de cambios

Versión | Descripción
5.3.0 | El valor predeterminado de object ahora es NULL, por lo que pasar el valor NULL a object tiene el mismo resultado que no pasar ningún valor.
5.0.0 | El nombre de la clase es devuelto en su notación original.
5.0.0 | El parámetro object es opcional si es llamado desde el método del objeto.

Ejemplos

Ejemplo #1 Usar get_class()

<?php

class foo {
    function nombre()
    {
        echo "Mi nombre es " , get_class($this) , "\n";
    }
}

// crear un objeto
$bar = new foo();

// llamada externa
echo "Su nombre es " , get_class($bar) , "\n";

// llamada interna
$bar->nombre();

?>

El resultado del ejemplo sería:

Su nombre es foo
Mi nombre es foo

Ejemplo #2 Usar get_class() en superclass

<?php

abstract class bar {
    public function __construct()
    {
        var_dump(get_class($this));
        var_dump(get_class());
    }
}

class foo extends bar {
}

new foo;

?>

El resultado del ejemplo sería:

string(3) "foo"
string(3) "bar"

Ver también

  • get_called_class() - El nombre de la clase "Vinculante Static Última"
  • get_parent_class() - Recupera el nombre de la clase padre de un objeto o clase
  • gettype() - Obtener el tipo de una variable
  • is_subclass_of() - Verifica si el objeto tiene esta clase como uno de sus padres

get_class_vars
get_declared_classes
Funciones de Clases/Objetos


Devuelve una matriz con los nombres de las clases definidas

get_class
get_declared_interfaces
Funciones de Clases/Objetos
PHP Manual

get_declared_classes

(PHP 4, PHP 5)

get_declared_classes — Devuelve una matriz con los nombres de las clases definidas

Descripción

array get_declared_classes ( void )

Obtiene las clases declaradas.

Valores devueltos

Devuelve una matriz con los nombres de las clases declaradas en el script actual.

Nota:

Observe que, dependiendo de qué extensiones tiene compiladas o cargadas en PHP, las clases adicionales podrían no estar presentes. Esto significa que no será capaz de definir sus propias clases usando estos nombres. Hay una lista de clases predefinidas en la sección Clases Predefinidas de los apéndices.

Ejemplos

Ejemplo #1 Ejemplo de get_declared_classes()

<?php
print_r(get_declared_classes());
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => stdClass
    [1] => __PHP_Incomplete_Class
    [2] => Directory
)

Ver también

  • class_exists() - Verifica si la clase ha sido definida
  • get_declared_interfaces() - Devuelve un array con todas las interfaces declaradas
  • get_defined_functions() - Devuelve una matriz de todas las funciones definidas

get_class
get_declared_interfaces
Funciones de Clases/Objetos


Devuelve un array con todas las interfaces declaradas

get_declared_classes
get_declared_traits
Funciones de Clases/Objetos
PHP Manual

get_declared_interfaces

(PHP 5)

get_declared_interfaces — Devuelve un array con todas las interfaces declaradas

Descripción

array get_declared_interfaces ( void )

Obtiene las interfaces declaradas.

Valores devueltos

Devuelve un array con los nombres de las interfaces declaradas en el script actual.

Ejemplos

Ejemplo #1 Ejemplo de get_declared_interfaces()

<?php
print_r(get_declared_interfaces());
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => Traversable
    [1] => IteratorAggregate
    [2] => Iterator
    [3] => ArrayAccess
    [4] => reflector
    [5] => RecursiveIterator
    [6] => SeekableIterator
)

Ver también

  • interface_exists() - Comprueba si una interfaz ha sido definida
  • get_declared_classes() - Devuelve una matriz con los nombres de las clases definidas
  • class_implements() - Devuelve las interfaces que son implementadas en la clase dada

get_declared_classes
get_declared_traits
Funciones de Clases/Objetos


Devuelve un array de todos los traits declarados

get_declared_interfaces
get_object_vars
Funciones de Clases/Objetos
PHP Manual

get_declared_traits

(PHP 5 >= 5.4.0)

get_declared_traits — Devuelve un array de todos los traits declarados

Descripción

array get_declared_traits ( void )

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un array con los nombres de todos los traits declarados en valores. Devuelve NULL en caso de error.

Ver también

  • class_uses() - Devolver los "traits" usados por la clase dada

get_declared_interfaces
get_object_vars
Funciones de Clases/Objetos


Obtiene las propiedades del objeto dado

get_declared_traits
get_parent_class
Funciones de Clases/Objetos
PHP Manual

get_object_vars

(PHP 4, PHP 5)

get_object_vars — Obtiene las propiedades del objeto dado

Descripción

array get_object_vars ( object $object )

Obtiene las propiedades no estáticas accesibles del objeto dado por object según el ámbito.

Parámetros

object

Una instancia de un objeto.

Valores devueltos

Devuelve un array asociativo con las propiedades no estáticas accesibles del objeto especificado por object en el ámbito. Si una propiedad no tiene asignado un valor será devuelta con un valor NULL.

Historial de cambios

Versión | Descripción
5.3.0 | Esta función ahora devuelve NULL si object no es un objeto. Anteriormente devolvía FALSE
4.2.0 | Las propiedades que fueron declaradas en la clase de object a las que no se les asignó un valor ahora también son devueltas (con el valor NULL).

Ejemplos

Ejemplo #1 Uso de get_object_vars()

<?php

class foo {
    private $a;
    public $b = 1;
    public $c;
    private $d;
    static $e;

    public function prueba() {
        var_dump(get_object_vars($this));
    }
}

$prueba = new foo;
var_dump(get_object_vars($prueba));

$prueba->prueba();

?>

El resultado del ejemplo sería:

array(2) {
  ["b"]=>
  int(1)
  ["c"]=>
  NULL
}
array(4) {
  ["a"]=>
  NULL
  ["b"]=>
  int(1)
  ["c"]=>
  NULL
  ["d"]=>
  NULL
}

Ver también

  • get_class_methods() - Obtiene los nombres de los métdos de una clase
  • get_class_vars() - Obtener las propiedades predeterminadas de una clase

get_declared_traits
get_parent_class
Funciones de Clases/Objetos


Recupera el nombre de la clase padre de un objeto o clase

get_object_vars
interface_exists
Funciones de Clases/Objetos
PHP Manual

get_parent_class

(PHP 4, PHP 5)

get_parent_class — Recupera el nombre de la clase padre de un objeto o clase

Descripción

string get_parent_class ([ mixed $object ] )

Recupera el nombre de la clase padre de un objeto o clase.

Parámetros

object

El objeto evaluádo o nombre de la clase

Valores devueltos

Devuelve el nombre de la clase padre de la clase de la cuál object es una instancia o el nombre.

Nota:

Si el objeto no tiene padre o la clase dada no existe devolverá FALSE.

Si se llama sin parámetro fuera del objeto, esta función devolverá FALSE.

Historial de cambios

Versión | Descripción
5.1.0 | Si se llamaba sin parámetro fuera del objeto, está función devolvía NULL con una advertencia, pero ahora devuelve FALSE.
5.0.0 | El parámetro object es opcional si se llama desde el método del objeto.
4.0.5 | Si object es una cadena devuelve el nombre de la clase padre de la clase con ese nombre.

Ejemplos

Ejemplo #1 Usar get_parent_class()

<?php

class papá {
    function papá()
    {
    // implementar algo lógico
    }
}

class hijo extends papá {
    function hijo()
    {
        echo "Soy hijo de " , get_parent_class($this) , "\n";
    }
}

class hijo2 extends papá {
    function hijo2()
    {
        echo "Yo también soy hijo de " , get_parent_class('hijo2') , "\n";
    }
}

$foo = new hijo();
$bar = new hijo2();

?>

El resultado del ejemplo sería:

I'm dad's son
I'm dad's son too

Ver también

  • get_class() - Devuelve el nombre de la clase de un objeto
  • is_subclass_of() - Verifica si el objeto tiene esta clase como uno de sus padres

get_object_vars
interface_exists
Funciones de Clases/Objetos


Comprueba si una interfaz ha sido definida

get_parent_class
is_a
Funciones de Clases/Objetos
PHP Manual

interface_exists

(PHP 5 >= 5.0.2)

interface_exists — Comprueba si una interfaz ha sido definida

Descripción

bool interface_exists ( string $interface_name [, bool $autoload = true ] )

Comprueba si la interfaz dada ha sido definida.

Parámetros

interface_name

El nombre de la interfaz

autoload

Si llamar a __autoload o no por defecto.

Valores devueltos

Devuelve TRUE si la interfaz dada por interface_name ha sido definida, FALSE si no.

Ejemplos

Ejemplo #1 Ejemplo de interface_exists()

<?php
// Comprobar si la interfaz existe antes de intentar usarla
if (interface_exists('MiInterfaz')) {
    class MiClase implements MiInterfaz
    {
        // Métodos
    }
}

?>

Ver también

  • get_declared_interfaces() - Devuelve un array con todas las interfaces declaradas
  • class_implements() - Devuelve las interfaces que son implementadas en la clase dada
  • class_exists() - Verifica si la clase ha sido definida

get_parent_class
is_a
Funciones de Clases/Objetos


Comprueba si un objeto es de una clase o tiene esta clase como una de sus madres

interface_exists
is_subclass_of
Funciones de Clases/Objetos
PHP Manual

is_a

(PHP 4 >= 4.2.0, PHP 5)

is_a — Comprueba si un objeto es de una clase o tiene esta clase como una de sus madres

Descripción

bool is_a ( object $object , string $class_name [, bool $allow_string = FALSE ] )

Comprueba si el objeto dado por object es de esta clase o tiene esta clase como una de sus madres.

Parámetros

object

El objeto evaluado

class_name

El nombre de la clase

allow_string

Si este parámetro se establece a FALSE, no se permite una cadena de nombre de la clase como object. Esto también evita llamar al autocargador si la clase no existe.

Valores devueltos

Devuelve TRUE si el objeto es de esta clase o tiene esta clase como una de sus madres, FALSE si no.

Historial de cambios

Versión | Descripción
5.3.9 | Se añadió el parámetro allow_string
5.3.0 | Esta función ya no está obsoleta, y por lo tanto ya no lanza advertencias de tipo E_STRICT.
5.0.0 | Esta funcion se volvió obsoleta en favor del operador instanceof. Llamar a esta función resultará en una advertencia de tipo E_STRICT.

Ejemplos

Ejemplo #1 Ejemplo de is_a()

<?php
// definir una clase
class FábricaTrastos
{
  var $oink = 'moo';
}

// crear un nuevo objeto
$WF = new FábricaTrastos();

if (is_a($WF, 'FábricaTrastos')) {
  echo "Sí, \$WF es todavía un FábricaTrastos\n";
}
?>

Ejemplo #2 Usar el operador instanceof en PHP 5

<?php
if ($WF instanceof FábricaTrastos) {
    echo 'Sí, $WF es un FábricaTrastos';
}
?>

Ver también

  • get_class() - Devuelve el nombre de la clase de un objeto
  • get_parent_class() - Recupera el nombre de la clase padre de un objeto o clase
  • is_subclass_of() - Verifica si el objeto tiene esta clase como uno de sus padres

interface_exists
is_subclass_of
Funciones de Clases/Objetos


Verifica si el objeto tiene esta clase como uno de sus padres

is_a
method_exists
Funciones de Clases/Objetos
PHP Manual

is_subclass_of

(PHP 4, PHP 5)

is_subclass_of — Verifica si el objeto tiene esta clase como uno de sus padres

Descripción

bool is_subclass_of ( mixed $object , string $class_name [, bool $allow_string = TRUE ] )

Verifica si el object dado tiene la clase class_name como uno de sus padres.

Parámetros

object

Un nombre de clase o una instancia de objeto

class_name

El nombre de clase

allow_string

Si se define este parámetro como false, no se permite el uso del nombre de la clase como object. Esto también previene llamar el autoloader si la clase no existe.

Valores devueltos

Esta función devuelve TRUE si el objeto object pertenece a una clase que sea subclase de class_name, FALSE de lo contrario.

Historial de cambios

Versión | Descripción
5.3.9 | Se añadió el parámetro allow_string
5.3.7 | Se añadió el soporte para class_name para trabajar con interfaces
5.0.3 | Es posible especificar también el parámetro object como una cadena (el nombre de la clase)

Ejemplos

Ejemplo #1 Ejemplo de is_subclass_of()

<?php
// definir una clase
class FabricaWidget
{
  var $oink = 'moo';
}

// definir una clase hija
class Hijo_FabricaWidget extends FabricaWidget
{
  var $oink = 'oink';
}

// crear un nuevo objeto
$FW = new FabricaWidget();
$HFW = new Hijo_FabricaWidget();

if (is_subclass_of($HFW, 'FabricaWidget')) {
  echo "si, \$HFW es una sub-clase de FabricaWidget\n";
} else {
  echo "no, \$HFW no es una sub-clase de FabricaWidget\n";
}

if (is_subclass_of($FW, 'FabricaWidget')) {
  echo "si, \$FW es una sub-clase de FabricaWidget\n";
} else {
  echo "no, \$FW no es una sub-clase de FabricaWidget\n";
}

// usable sólo desde PHP 5.0.3
if (is_subclass_of('Hijo_FabricaWidget', 'FabricaWidget')) {
  echo "si, Hijo_FabricaWidget es una sub-clase de FabricaWidget\n";
} else {
  echo "no, Hijo_FabricaWidget no es una sub-clase de FabricaWidget\n";
}
?>

El resultado del ejemplo sería:

si, $HFW es una sub-clase de FabricaWidget
no, $FW no es una sub-clase de FabricaWidget
si, Hijo_FabricaWidget es una sub-clase de FabricaWidget

Ejemplo #2 Ejemplo de is_subclass_of() usando una interfaz

<?php
// Definir la interfaz
interface MiInterfaz
{
  public function MiFunción();
}

// Definir la implementación de la clase de la interfaz
class MiClase implements MiInterfaz
{
  public function MiFunción()
  {
    return "¡MiClase implementa MiInterfaz!";
  }
}

// Instanciar el objeto
$mi_objeto = new MiClase;

// Funciona desde 5.3.7

// Una prueba usando la instancia del objeto de la clase
if (is_subclass_of($mi_objeto, 'MiInterfaz')) {
  echo "Sí, \$mi_objeto es una subclase de MiInterfaz\n";
} else {
  echo "No, \$mi_objeto no es una subclase de MiInterfaz\n";
}

// Una prueba usando una cadena del nombre de la clase
if (is_subclass_of('MiClase', 'MiInterfaz')) {
  echo "Sí, MiClase es una subclase de MiInterfaz\n";
} else {
  echo "No, MiClase no es una subclase de MiInterfaz\n";
}
?>

El resultado del ejemplo sería:

Sí, $mi_objeto es una subclase de MiInterfaz
Sí, MiClase es una subclase de MiInterfaz

Notas

Nota:

Esta función cargará cualquier autocargador registrado si la clase todavía no existe.

Ver también

  • get_class() - Devuelve el nombre de la clase de un objeto
  • get_parent_class() - Recupera el nombre de la clase padre de un objeto o clase
  • is_a() - Comprueba si un objeto es de una clase o tiene esta clase como una de sus madres
  • class_parents() - Devuelve las clases padre de la clase dada.

is_a
method_exists
Funciones de Clases/Objetos


Comprueba si existe un método de una clase

is_subclass_of
property_exists
Funciones de Clases/Objetos
PHP Manual

method_exists

(PHP 4, PHP 5)

method_exists — Comprueba si existe un método de una clase

Descripción

bool method_exists ( mixed $object , string $method_name )

Comprueba si existe el método de la clase en el objeto dado por object.

Parámetros

object

Una instancia o un nombre de clase

method_name

El nombre del método

Valores devueltos

Devuelve TRUE si el método dado por method_name ha sido definido para el objeto dado por object, FALSE si no.

Notas

Nota:

Esta función cargará cualquier autocargador registrado si la clase todavía no existe.

Ejemplos

Ejemplo #1 Ejemplo de method_exists()

<?php
$directorio = new Directory('.');
var_dump(method_exists($directorio,'read'));
?>

El resultado del ejemplo sería:

bool(true)

Ejemplo #2 Ejemplo de method_exists() estático

<?php
var_dump(method_exists('Directory','read'));
?>

El resultado del ejemplo sería:

bool(true)

Ver también

  • function_exists() - Devuelve TRUE si la función dada ha sido definida
  • is_callable() - Verificar que los contenidos de una variable puedan ser llamados como una función
  • class_exists() - Verifica si la clase ha sido definida

is_subclass_of
property_exists
Funciones de Clases/Objetos


Comprueba si el objeto o la clase tienen una propiedad

method_exists
trait_exists
Funciones de Clases/Objetos
PHP Manual

property_exists

(PHP 5 >= 5.1.0)

property_exists — Comprueba si el objeto o la clase tienen una propiedad

Descripción

bool property_exists ( mixed $class , string $property )

Esta función comprueba si la propiedad dada por property existe en la clase especificada.

Nota:

A diferencia de isset(), property_exists() devuelve TRUE incluso si la propiedad tiene el valor NULL.

Parámetros

class

El nombre de la clase o un objeto de la clase a comprobar

property

El nombre de la propiedad

Valores devueltos

Devuelve TRUE si la propiedad existe, FALSE si no existe, o NULL en caso de error.

Notas

Nota:

Esta función cargará cualquier autocargador registrado si la clase todavía no existe.

Nota:

La función property_exists() no puede detectar propiedades que son accesibles de forma mágica usando el método mágico __get.

Historial de cambios

Versión | Descripción
5.3.0 | Esta función comprueba la existencia de una propiedad independientemente de su accesibilidad.

Ejemplos

Ejemplo #1 Un ejemplo de property_exists()

<?php

class miClase {
    public $mía;
    private $xpto;
    static protected $prueba;

    static function prueba() {
        var_dump(property_exists('miClase', 'xpto')); //true
    }
}

var_dump(property_exists('miClase', 'mía'));   //true
var_dump(property_exists(new miClase, 'mía')); //true
var_dump(property_exists('miClase', 'xpto'));   //true, desde PHP 5.3.0
var_dump(property_exists('miClase', 'bar'));    //false
var_dump(property_exists('miClase', 'prueba'));   //true, desde PHP 5.3.0
miClase::prueba();

?>

Ver también

  • method_exists() - Comprueba si existe un método de una clase

method_exists
trait_exists
Funciones de Clases/Objetos


Comprobar si el trait existe

property_exists
Classkit
Funciones de Clases/Objetos
PHP Manual

trait_exists

(PHP 5 >= 5.4.0)

trait_exists — Comprobar si el trait existe

Descripción

bool trait_exists ( string $traitname [, bool $autoload ] )

Parámetros

traitname

Nombre del trait a comprobar

autoload

Si aplicar la autocarga si no está ya cargado.

Valores devueltos

Devuelve TRUE si el trait existe, FALSE si no, NULL en caso de error.

property_exists
Classkit
Funciones de Clases/Objetos


Classkit

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de Classkit
    • classkit_import — Importar nuevas definiciones de métodos de clase desde un archivo
    • classkit_method_add — Añade dinámicamente un nuevo método una clase dada
    • classkit_method_copy — Copia un método de una clase a otra
    • classkit_method_redefine — Cambia dinámicamente el código del método dado
    • classkit_method_remove — Elimina dinámicamente el método dado
    • classkit_method_rename — Cambia dinámicamente el nombre del método dado
trait_exists
Introducción
Extensiones relacionadas con variable y tipo


Introducción

Estas funciones permiten la manipulación dinámica de clases de PHP en tiempo de ejecución.

Nota:

Esta extensión ha sido reemplazada por runkit, la cual no está limitada solamente a la manipulación de clases, sino también a la manipulación de funciones.

Classkit
Instalación/Configuración
Classkit


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Classkit


Instalación

Esta extensión se considera no mantenida y muerta. Sin embargo, el código fuente para esta extensión sigue estando disponible dentro de PECL SVN aquí: » http://svn.php.net/viewvc/pecl/classkit.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

CLASSKIT_ACC_PRIVATE (int)
Marca el método como private
CLASSKIT_ACC_PROTECTED (int)
Marca el método como protected
CLASSKIT_ACC_PUBLIC (int)
Marca el método como public

Tipos de recursos
Funciones de Classkit
Classkit


Funciones de Classkit

Tabla de contenidos

  • classkit_import — Importar nuevas definiciones de métodos de clase desde un archivo
  • classkit_method_add — Añade dinámicamente un nuevo método una clase dada
  • classkit_method_copy — Copia un método de una clase a otra
  • classkit_method_redefine — Cambia dinámicamente el código del método dado
  • classkit_method_remove — Elimina dinámicamente el método dado
  • classkit_method_rename — Cambia dinámicamente el nombre del método dado
Constantes predefinidas
classkit_import
Classkit


Importar nuevas definiciones de métodos de clase desde un archivo

Funciones de Classkit
classkit_method_add
Funciones de Classkit
PHP Manual

classkit_import

(PECL classkit >= 0.3)

classkit_import — Importar nuevas definiciones de métodos de clase desde un archivo

Descripción

array classkit_import ( string $filename )

Nota: Esta función no puede ser utilizada para manipular el actual método en ejecución (o extendido).

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

filename

El nombre de archivo de las definiciones del método de clase a importar

Valores devueltos

Matriz asociativa de los métodos importados

Ejemplos

Ejemplo #1 Ejemplo de classkit_import()

<?php
// file: nuevaclase.php
class Ejemplo {
    function foo() {
        return "bar!\n";
    }
}
?>
<?php
// se necesita nuevaclase.php (ver arriba)
class Ejemplo {
    function foo() {
        return "foo!\n";
    }
}

$e = new Ejemplo();

// imprimir el original
echo $e->foo();

// importar el método de remplazo
classkit_import('nuevaclase.php');

// imprimir el importado
echo $e->foo();

?>

El resultado del ejemplo sería:

foo!
bar!

Ver también

  • classkit_method_add() - Añade dinámicamente un nuevo método una clase dada
  • classkit_method_copy() - Copia un método de una clase a otra

Funciones de Classkit
classkit_method_add
Funciones de Classkit


Añade dinámicamente un nuevo método una clase dada

classkit_import
classkit_method_copy
Funciones de Classkit
PHP Manual

classkit_method_add

(PECL classkit >= 0.1)

classkit_method_add — Añade dinámicamente un nuevo método una clase dada

Descripción

bool classkit_method_add ( string $classname , string $methodname , string $args , string $code [, int $flags = CLASSKIT_ACC_PUBLIC ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

classname

La clase en la que este método será añadido

methodname

El nombre del método a añadir

args

Lista de argumentos separados por coma para el método recién creado

code

El código a ser evaluado cuando methodname es llamado

flags

El tipo de método a crear, puede ser CLASSKIT_ACC_PUBLIC, CLASSKIT_ACC_PROTECTED o CLASSKIT_ACC_PRIVATE

Nota:

Este parámetro se usa sólo a partir de PHP 5, ya que, antes de esta versión, todos los métodos eran públicos.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de classkit_method_add()

<?php
class Ejemplo {
    function foo() {
        echo "foo!\n";
    }
}

// crear un objeto de Ejemplo
$e = new Example();

// Añadir un nuevo método público
classkit_method_add(
    'Ejemplo',
    'sumar',
    '$num1, $num2',
    'return $num1 + $num2;',
    CLASSKIT_ACC_PUBLIC
);

// sumar 12 + 4
echo $e->sumar(12, 4);
?>

El resultado del ejemplo sería:

16

Ver también

  • classkit_method_copy() - Copia un método de una clase a otra
  • classkit_method_redefine() - Cambia dinámicamente el código del método dado
  • classkit_method_remove() - Elimina dinámicamente el método dado
  • classkit_method_rename() - Cambia dinámicamente el nombre del método dado
  • create_function() - Crear una función anónima (estilo lambda)

classkit_import
classkit_method_copy
Funciones de Classkit


Copia un método de una clase a otra

classkit_method_add
classkit_method_redefine
Funciones de Classkit
PHP Manual

classkit_method_copy

(PECL classkit >= 0.2)

classkit_method_copy — Copia un método de una clase a otra

Descripción

bool classkit_method_copy ( string $dClass , string $dMethod , string $sClass [, string $sMethod ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

dClass

Clase destino para copiar el método

dMethod

Nombre del método destino

sClass

Clase origen del método a copiar

sMethod

Nombre del método a copiar desde la clase origen. Si se omite este parámetro, se asume el valor de dMethod.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de classkit_method_copy()

<?php
class Foo {
    function ejemplo() {
        return "foo!\n";
    }
}

class Bar {
    // inicialmente sin métodos
}

// copiar el método ejemplo() desde la clase Foo a la clase Bar class, como baz()
classkit_method_copy('Bar', 'baz', 'Foo', 'ejemplo');

// imprimir la función copiada
echo Bar::baz();
?>

El resultado del ejemplo sería:

foo!

Ver también

  • classkit_method_add() - Añade dinámicamente un nuevo método una clase dada
  • classkit_method_redefine() - Cambia dinámicamente el código del método dado
  • classkit_method_remove() - Elimina dinámicamente el método dado
  • classkit_method_rename() - Cambia dinámicamente el nombre del método dado

classkit_method_add
classkit_method_redefine
Funciones de Classkit


Cambia dinámicamente el código del método dado

classkit_method_copy
classkit_method_remove
Funciones de Classkit
PHP Manual

classkit_method_redefine

(PECL classkit >= 0.1)

classkit_method_redefine — Cambia dinámicamente el código del método dado

Descripción

bool classkit_method_redefine ( string $classname , string $methodname , string $args , string $code [, int $flags = CLASSKIT_ACC_PUBLIC ] )

Nota: Esta función no puede ser utilizada para manipular el actual método en ejecución (o extendido).

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

classname

La clase el la que se va a redefinir el método

methodname

El nombre del método a redefinir

args

Lista de argumentos separados por coma para el método redefinido

code

El nuevo código a ser evaluado cuando methodname es llamado

flags

El método redefinido puede ser CLASSKIT_ACC_PUBLIC, CLASSKIT_ACC_PROTECTED o CLASSKIT_ACC_PRIVATE

Nota:

Este parámetro sólo se usa a partir de PHP 5, ya que, antes de esta versión, todos los métodos eran públicos.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de classkit_method_redefine()

<?php
class Ejemplo {
    function foo() {
        return "foo!\n";
    }
}

// crear un objeto de Ejemplo
$e = new Ejemplo();

// imprimir Ejemplo::foo() (antes de redefinir)
echo "Antes: " . $e->foo();

// Redefinir el método 'foo'
classkit_method_redefine(
    'Ejemplo',
    'foo',
    '',
    'return "bar!\n";',
    CLASSKIT_ACC_PUBLIC
);

// imprimir Ejemplo::foo() (después de redefinir)
echo "Después: " . $e->foo();
?>

El resultado del ejemplo sería:

Antes: foo!
Después: bar!

Ver también

  • classkit_method_add() - Añade dinámicamente un nuevo método una clase dada
  • classkit_method_copy() - Copia un método de una clase a otra
  • classkit_method_remove() - Elimina dinámicamente el método dado
  • classkit_method_rename() - Cambia dinámicamente el nombre del método dado

classkit_method_copy
classkit_method_remove
Funciones de Classkit


Elimina dinámicamente el método dado

classkit_method_redefine
classkit_method_rename
Funciones de Classkit
PHP Manual

classkit_method_remove

(PECL classkit >= 0.1)

classkit_method_remove — Elimina dinámicamente el método dado

Descripción

bool classkit_method_remove ( string $classname , string $methodname )

Nota: Esta función no puede ser utilizada para manipular el actual método en ejecución (o extendido).

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

classname

La clase en la que se va a eliminar el método

methodname

El nombre del método a eliminar

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de classkit_method_remove()

<?php
class Ejemplo {
    function foo() {
        return "foo!\n";
    }

    function bar() {
        return "bar!\n";
    }
}

// Eliminar el método 'foo'
classkit_method_remove(
    'Ejemplo',
    'foo'
);

echo implode(' ', get_class_methods('Ejemplo'));

?>

El resultado del ejemplo sería:

bar

Ver también

  • classkit_method_add() - Añade dinámicamente un nuevo método una clase dada
  • classkit_method_copy() - Copia un método de una clase a otra
  • classkit_method_redefine() - Cambia dinámicamente el código del método dado
  • classkit_method_rename() - Cambia dinámicamente el nombre del método dado

classkit_method_redefine
classkit_method_rename
Funciones de Classkit


Cambia dinámicamente el nombre del método dado

classkit_method_remove
Ctype
Funciones de Classkit
PHP Manual

classkit_method_rename

(PECL classkit >= 0.1)

classkit_method_rename — Cambia dinámicamente el nombre del método dado

Descripción

bool classkit_method_rename ( string $classname , string $methodname , string $newname )

Nota: Esta función no puede ser utilizada para manipular el actual método en ejecución (o extendido).

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

classname

La clase en la que se va a renombrar el método

methodname

El nombre del método a renombrar

newname

El nuevo nombre a dar al método renombrado

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de classkit_method_rename()

<?php
class Ejemplo {
    function foo() {
        return "foo!\n";
    }
}

// Renombrar el método 'foo' a 'bar'
classkit_method_rename(
    'Ejemplo',
    'foo',
    'bar'
);

// imprimir la funcón renombrada
echo Ejemplo::bar();
?>

El resultado del ejemplo sería:

foo!

Ver también

  • classkit_method_add() - Añade dinámicamente un nuevo método una clase dada
  • classkit_method_copy() - Copia un método de una clase a otra
  • classkit_method_redefine() - Cambia dinámicamente el código del método dado
  • classkit_method_remove() - Elimina dinámicamente el método dado

classkit_method_remove
Ctype
Funciones de Classkit


Comprobación del tipo de carácter

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de Ctype
    • ctype_alnum — Chequear posibles caracteres alfanuméricos
    • ctype_alpha — Chequear posibles caracteres alfabéticos
    • ctype_cntrl — Chequear posibles caracteres de control
    • ctype_digit — Chequear posibles caracteres numéricos
    • ctype_graph — Chequear posibles caracteres imprimibles, con excepción de los espacios
    • ctype_lower — Chequear posibles caracteres en minúscula
    • ctype_print — Chequear posibles caracteres imprimibles
    • ctype_punct — Chequear posibles caracteres imprimibles que no son ni espacios en blanco ni caracteres alfanuméricos
    • ctype_space — Chequear posibles caracteres de espacio en blanco
    • ctype_upper — Chequear posibles caracteres en mayúscula
    • ctype_xdigit — Chequear posibles caracteres que representen un dígito hexadecimal
classkit_method_rename
Introducción
Extensiones relacionadas con variable y tipo


Introducción

Las funciones proporcionadas con esta extensión comprueban si un carácter o string caen dentro de una cierta clase de caracteres según la configuración regional en uso (véase también setlocale()).

Cuando estas funciones se invocan con un argumento de tipo integer, se comportan exactamente como sus homólogas en C de ctype.h. Esto significa que si se pasa un valor de tipo integer menor que 256 se usará el valor ASCII del mismo para ver si encaja en el rango especificado (los dígitos están en el rango 0x30-0x39). Si el número está entre -128 y -1 inclusive, se añadirá 256 y la comprobación se hará sobre el resultado.

Cuando se invocan con un argumento de tipo string, comprobarán cada carácter de la cadena y sólo devolverá TRUE si cada carácter de la cadena coincide con el criterio solicitado. Cuando se invocan con un string vacío, el resultado será siempre TRUE en PHP < 5.1 y FALSE desde 5.1.

Pasar cualquier cosa que no sea un valor de tipo string o integer devolverá inmediatamente FALSE.

Se debería observar que siempre son preferibles las funciones de ctype a las expresiones regulares, e incluso a algunas funciones str_* y is_* equivalentes. Esto es así por el hecho de que ctype usa una biblioteca nativa de C y por lo tanto procesa significativamente más rápido.

Nota:

Estas funciones no están relacionadas con la biblioteca "ctypes" de Python de ningún modo. El nombre de la extensión proviene del fichero de cabecera ctype.h de C donde están definidas sus equivalentes.

Esta extensión también es anterior a "ctypes" de Python, por lo que cualquier confusión causada por este nombramiento apenas es por nuestra culpa...

Ctype
Instalación/Configuración
Ctype


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Ctype


Requerimientos

Nada excepto las funciones de la biblioteca C estándar que están siempre disponibles.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Desde PHP 4.2.0 estas funciones están habilitadas por omisión. Para versiones antiguas tiene que configurar y compilar PHP con --enable-ctype . Puede deshabilitar el soporte para ctype con --disable-ctype .

La versión de PHP para Windows tiene soporte nativo para esta extensión. No se requiere cargar extensiones adicionales para utilizar estas funciones.

Nota: El soporte interno para ctype está disponible con PHP 4.3.0.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Funciones de Ctype
Ctype


Funciones de Ctype

Tabla de contenidos

  • ctype_alnum — Chequear posibles caracteres alfanuméricos
  • ctype_alpha — Chequear posibles caracteres alfabéticos
  • ctype_cntrl — Chequear posibles caracteres de control
  • ctype_digit — Chequear posibles caracteres numéricos
  • ctype_graph — Chequear posibles caracteres imprimibles, con excepción de los espacios
  • ctype_lower — Chequear posibles caracteres en minúscula
  • ctype_print — Chequear posibles caracteres imprimibles
  • ctype_punct — Chequear posibles caracteres imprimibles que no son ni espacios en blanco ni caracteres alfanuméricos
  • ctype_space — Chequear posibles caracteres de espacio en blanco
  • ctype_upper — Chequear posibles caracteres en mayúscula
  • ctype_xdigit — Chequear posibles caracteres que representen un dígito hexadecimal
Constantes predefinidas
ctype_alnum
Ctype


Chequear posibles caracteres alfanuméricos

Funciones de Ctype
ctype_alpha
Funciones de Ctype
PHP Manual

ctype_alnum

(PHP 4 >= 4.0.4, PHP 5)

ctype_alnum — Chequear posibles caracteres alfanuméricos

Descripción

bool ctype_alnum ( string $text )

Chequea si todos los caracteres en la string entregada, texto, son alfanuméricos.

Parámetros

text

La cadena de prueba.

Valores devueltos

Devuelve TRUE si cada caracter de texto es o bien uno letra o un dígito, FALSE de lo contrario.

Ejemplos

Ejemplo #1 Un ejemplo de ctype_alnum() (usando la localización predeterminada)

<?php
$cadenas = array('AbCd1zyZ9', 'foo!#$bar');
foreach ($cadenas as $caso_prueba) {
    if (ctype_alnum($caso_prueba)) {
        echo "La cadena $caso_prueba consiste completamente de letras o dígitos.\n";
    } else {
        echo "La cadena $caso_prueba no consiste completamente de letras o dígitos.\n";
    }
}
?>

El resultado del ejemplo sería:

La cadena AbCd1zyZ9 consiste completamente de letras o dígitos.
La cadena foo!#$bar no consiste completamente de letras o dígitos.

Notas

Nota:

Si se proporciona un integer entre -128 y 255 inclusive, se interpreta como el valor ASCII de un simple caráter (a los valores negativos se le añade 256 para permitir caracteres en el rango ASCII Extendido). Cualquier otro entero se interpreta como una cadena que contiene los dígitos decimales del entero.

Ver también

  • ctype_alpha() - Chequear posibles caracteres alfabéticos
  • ctype_digit() - Chequear posibles caracteres numéricos
  • setlocale() - Establecer la información de la configuración regional

Funciones de Ctype
ctype_alpha
Funciones de Ctype


Chequear posibles caracteres alfabéticos

ctype_alnum
ctype_cntrl
Funciones de Ctype
PHP Manual

ctype_alpha

(PHP 4 >= 4.0.4, PHP 5)

ctype_alpha — Chequear posibles caracteres alfabéticos

Descripción

bool ctype_alpha ( string $text )

Verifica si todos los caracteres en la string entregada,texto, son alfabéticos. En la localización C estándar las letras se limitan a [A-Za-z] y ctype_alpha() es equivalente a (ctype_upper($texto) || ctype_lower($texto)) si $texto es un caracter sencillo, aunque otros idiomas usan letras que no son consideradas como mayúsculas ni minúsculas.

Parámetros

text

El string de prueba.

Valores devueltos

Devuelve TRUE si cada caracter de texto es una letra de la localización actual, FALSE de lo contrario.

Ejemplos

Ejemplo #1 Un ejemplo de ctype_alpha() (usando la localización predeterminada)

<?php
$cadenas = array('KjgWZC', 'arf12');
foreach ($cadenas as $caso_prueba) {
    if (ctype_alpha($caso_prueba)) {
        echo "La cadena $caso_prueba consiste completamente de letras.\n";
    } else {
        echo "La cadena $caso_prueba no consiste completamente de letras.\n";
    }
}
?>

El resultado del ejemplo sería:

La cadena KjgWZC consiste completamente de letras.
La cadena arf12 no consiste completamente de letras.

Notas

Nota:

Si se proporciona un integer entre -128 y 255 inclusive, se interpreta como el valor ASCII de un simple caráter (a los valores negativos se le añade 256 para permitir caracteres en el rango ASCII Extendido). Cualquier otro entero se interpreta como una cadena que contiene los dígitos decimales del entero.

Ver también

  • ctype_upper() - Chequear posibles caracteres en mayúscula
  • ctype_lower() - Chequear posibles caracteres en minúscula
  • setlocale() - Establecer la información de la configuración regional

ctype_alnum
ctype_cntrl
Funciones de Ctype


Chequear posibles caracteres de control

ctype_alpha
ctype_digit
Funciones de Ctype
PHP Manual

ctype_cntrl

(PHP 4 >= 4.0.4, PHP 5)

ctype_cntrl — Chequear posibles caracteres de control

Descripción

bool ctype_cntrl ( string $text )

Verifica si todos los caracteres en la string entregada, text, son caracteres de control. Los caracteres de control son, por ejemplo, la alimentación de línea, el tabulador, escape.

Parámetros

text

El string de prueba.

Valores devueltos

Devuelve TRUE si cada caracter de texto es un caracter de control de la localización actual, FALSE de lo contrario.

Ejemplos

Ejemplo #1 Un ejemplo de ctype_cntrl()

<?php
$cadenas = array('cadena1' => "\n\r\t", 'cadena2' => 'arf12');
foreach ($cadenas as $nombre => $caso_prueba) {
    if (ctype_cntrl($caso_prueba)) {
        echo "La cadena '$nombre' consiste completamente de caracteres de control.\n";
    } else {
        echo "La cadena '$nombre' no consiste completamente de caracteres de control.\n";
    }
}
?>

El resultado del ejemplo sería:

La cadena 'cadena1' consiste completamente de caracteres de control.
La cadena 'cadena2' no consiste completamente de caracteres de control.

Notas

Nota:

Si se proporciona un integer entre -128 y 255 inclusive, se interpreta como el valor ASCII de un simple caráter (a los valores negativos se le añade 256 para permitir caracteres en el rango ASCII Extendido). Cualquier otro entero se interpreta como una cadena que contiene los dígitos decimales del entero.

Ver también

  • ctype_print() - Chequear posibles caracteres imprimibles

ctype_alpha
ctype_digit
Funciones de Ctype


Chequear posibles caracteres numéricos

ctype_cntrl
ctype_graph
Funciones de Ctype
PHP Manual

ctype_digit

(PHP 4 >= 4.0.4, PHP 5)

ctype_digit — Chequear posibles caracteres numéricos

Descripción

bool ctype_digit ( string $text )

Verifica si todos los caracteres en la string entregada, text, son numéricos.

Parámetros

text

La cadena probada.

Valores devueltos

Devuelve TRUE si cada caracter del texto es un dígito decimal, o FALSE de lo contrario.

Historial de cambios

Versión | Descripción
5.1.0 | En versiones anteriores a PHP 5.1.0, esta función devolvía TRUE cuando text era una cadena vacía.

Ejemplos

Ejemplo #1 Un ejemplo de ctype_digit()

<?php
$cadenas = array('1820.20', '10002', 'wsl!12');
foreach ($cadenas as $caso_prueba) {
    if (ctype_digit($caso_prueba)) {
        echo "La cadena $caso_prueba consiste completamente de dígitos.\n";
    } else {
        echo "La cadena $caso_prueba no consiste completamente de dígitos.\n";
    }
}
?>

El resultado del ejemplo sería:

La cadena 1820.20 no consiste completamente de dígitos.
La cadena 10002 consiste completamente de dígitos.
La cadena wsl!12 no consiste completamente de dígitos.

Ejemplo #2 Un ejemplo de ctype_digit() comparando strings con integers

<?php

$numeric_string = '42';
$integer        = 42;

ctype_digit($numeric_string);  // true
ctype_digit($integer);         // false (ASCII 42 es el caracter *)

is_numeric($numeric_string);   // true
is_numeric($integer);          // true
?>

Notas

Nota:

Esta función espera un string para ser útil, por ejemplo si pasamos un integer no puede devolver el resultado esperado. Sin embargo, nótese también los formularios HTML resultarán en strings numéricos y no en integers. Ver también la sección del manual tipos.

Nota:

Si se proporciona un integer entre -128 y 255 inclusive, se interpreta como el valor ASCII de un simple caráter (a los valores negativos se le añade 256 para permitir caracteres en el rango ASCII Extendido). Cualquier otro entero se interpreta como una cadena que contiene los dígitos decimales del entero.

Ver también

  • ctype_alnum() - Chequear posibles caracteres alfanuméricos
  • ctype_xdigit() - Chequear posibles caracteres que representen un dígito hexadecimal
  • is_numeric() - Comprueba si una variable es un número o un string numérico
  • is_int() - Comprueba si el tipo de una variable es integer
  • is_string() - Comprueba si una variable es de tipo string

ctype_cntrl
ctype_graph
Funciones de Ctype


Chequear posibles caracteres imprimibles, con excepción de los espacios

ctype_digit
ctype_lower
Funciones de Ctype
PHP Manual

ctype_graph

(PHP 4 >= 4.0.4, PHP 5)

ctype_graph — Chequear posibles caracteres imprimibles, con excepción de los espacios

Descripción

bool ctype_graph ( string $text )

Verifica si todos los caracteres en la string entregada, text, generan una salida visible.

Parámetros

text

La cadena de prueba.

Valores devueltos

Devuelve TRUE si cada caracter del texto es imprimible y genera alguna salida visible (no incluye los espacios), o FALSE de lo contrario.

Ejemplos

Ejemplo #1 Un ejemplo de ctype_graph()

<?php
$cadenas = array('cadena1' => "asdf\n\r\t", 'cadena2' => 'arf12', 'cadena3' => 'LKA#@%.54');
foreach ($cadenas as $nombre => $caso_prueba) {
    if (ctype_graph($caso_prueba)) {
        echo "La cadena '$nombre' consiste completamente de caracteres (visiblemente) imprimibles.\n";
    } else {
        echo "La cadena '$nombre' no consiste completamente de caracteres (visiblemente) imprimibles.\n";
    }
}
?>

El resultado del ejemplo sería:

La cadena 'cadena1' no consiste completamente de caracteres (visiblemente) imprimibles.
La cadena 'cadena2' consiste completamente de caracteres (visiblemente) imprimibles.
La cadena 'cadena3' consiste completamente de caracteres (visiblemente) imprimibles.

Notas

Nota:

Si se proporciona un integer entre -128 y 255 inclusive, se interpreta como el valor ASCII de un simple caráter (a los valores negativos se le añade 256 para permitir caracteres en el rango ASCII Extendido). Cualquier otro entero se interpreta como una cadena que contiene los dígitos decimales del entero.

Ver también

  • ctype_alnum() - Chequear posibles caracteres alfanuméricos
  • ctype_print() - Chequear posibles caracteres imprimibles
  • ctype_punct() - Chequear posibles caracteres imprimibles que no son ni espacios en blanco ni caracteres alfanuméricos

ctype_digit
ctype_lower
Funciones de Ctype


Chequear posibles caracteres en minúscula

ctype_graph
ctype_print
Funciones de Ctype
PHP Manual

ctype_lower

(PHP 4 >= 4.0.4, PHP 5)

ctype_lower — Chequear posibles caracteres en minúscula

Descripción

bool ctype_lower ( string $text )

Verifica si todos los caracteres en la string entregada, text, son letras minúsculas.

Parámetros

text

La cadena de prueba.

Valores devueltos

Devuelve TRUE si cada caracter del texto es una letra minúscula en la localidad actual.

Ejemplos

Ejemplo #1 Un ejemplo de ctype_lower() (usando la localidad predeterminada)

<?php
$cadenas = array('aac123', 'qiutoas', 'QASsdks');
foreach ($cadenas as $caso_prueba) {
    if (ctype_lower($caso_prueba)) {
        echo "La cadena $caso_prueba consiste completamente de letras minúsculas.\n";
    } else {
        echo "La cadena $caso_prueba no consiste completamente de letras minúsculas.\n";
    }
}
?>

El resultado del ejemplo sería:

La cadena aac123 no consiste completamente de letras minúsculas.
La cadena qiutoas consiste completamente de letras minúsculas.
La cadena QASsdks no consiste completamente de letras minúsculas.

Notas

Nota:

Si se proporciona un integer entre -128 y 255 inclusive, se interpreta como el valor ASCII de un simple caráter (a los valores negativos se le añade 256 para permitir caracteres en el rango ASCII Extendido). Cualquier otro entero se interpreta como una cadena que contiene los dígitos decimales del entero.

Ver también

  • ctype_alpha() - Chequear posibles caracteres alfabéticos
  • ctype_upper() - Chequear posibles caracteres en mayúscula
  • setlocale() - Establecer la información de la configuración regional

ctype_graph
ctype_print
Funciones de Ctype


Chequear posibles caracteres imprimibles

ctype_lower
ctype_punct
Funciones de Ctype
PHP Manual

ctype_print

(PHP 4 >= 4.0.4, PHP 5)

ctype_print — Chequear posibles caracteres imprimibles

Descripción

bool ctype_print ( string $text )

verifica si todos los caracteres en la string entregada, text, son imprimibles.

Parámetros

text

La cadena de prueba.

Valores devueltos

Devuelve TRUE si cada caracter del texto genera realmente alguna salida (incluyendo los espacios). Devuelve FALSE si el texto incluye caracteres de control o caracteres que no producen ninguna salida ni realizan función de control alguna después de todo.

Ejemplos

Ejemplo #1 Un ejemplo de ctype_print()

<?php
$cadenas = array('cadena1' => "asdf\n\r\t", 'cadena2' => 'arf12', 'cadena3' => 'LKA#@%.54');
foreach ($cadenas as $nombre => $caso_prueba) {
    if (ctype_print($caso_prueba)) {
        echo "La cadena '$nombre' consiste completamente de caracteres imprimibles.\n";
    } else {
        echo "La cadena '$nombre' no consiste completamente de caracteres imprimibles.\n";
    }
}
?>

El resultado del ejemplo sería:

La cadena 'cadena1' no consiste completamente de caracteres imprimibles.
La cadena 'cadena2' consiste completamente de caracteres imprimibles.
La cadena 'cadena3' consiste completamente de caracteres imprimibles.

Notas

Nota:

Si se proporciona un integer entre -128 y 255 inclusive, se interpreta como el valor ASCII de un simple caráter (a los valores negativos se le añade 256 para permitir caracteres en el rango ASCII Extendido). Cualquier otro entero se interpreta como una cadena que contiene los dígitos decimales del entero.

Ver también

  • ctype_cntrl() - Chequear posibles caracteres de control
  • ctype_graph() - Chequear posibles caracteres imprimibles, con excepción de los espacios
  • ctype_punct() - Chequear posibles caracteres imprimibles que no son ni espacios en blanco ni caracteres alfanuméricos

ctype_lower
ctype_punct
Funciones de Ctype


Chequear posibles caracteres imprimibles que no son ni espacios en blanco ni caracteres alfanuméricos

ctype_print
ctype_space
Funciones de Ctype
PHP Manual

ctype_punct

(PHP 4 >= 4.0.4, PHP 5)

ctype_punct — Chequear posibles caracteres imprimibles que no son ni espacios en blanco ni caracteres alfanuméricos

Descripción

bool ctype_punct ( string $text )

Verifica si todos los caracteres en la string entregada, text, son caracteres de puntuación.

Parámetros

text

La cadena de prueba.

Valores devueltos

Devuelve TRUE si cada caracter del text es imprimible, pero no es una letra, dígito o espacio en blanco; o FALSE de lo contrario.

Ejemplos

Ejemplo #1 Un ejemplo de ctype_punct()

<?php
$cadenas = array('ABasdk!@!$#', '!@ # $', '*&$()');
foreach ($cadenas as $caso_prueba) {
    if (ctype_punct($caso_prueba)) {
        echo "La cadena $caso_prueba consiste completamente de signos de puntuación.\n";
    } else {
        echo "La cadena $caso_prueba no consiste completamente de signos de puntuación.\n";
    }
}
?>

El resultado del ejemplo sería:

La cadena ABasdk!@!$# no consiste completamente de signos de puntuación.
La cadena !@ # $ no consiste completamente de signos de puntuación.
La cadena *&$() consiste completamente de signos de puntuación.

Notas

Nota:

Si se proporciona un integer entre -128 y 255 inclusive, se interpreta como el valor ASCII de un simple caráter (a los valores negativos se le añade 256 para permitir caracteres en el rango ASCII Extendido). Cualquier otro entero se interpreta como una cadena que contiene los dígitos decimales del entero.

Ver también

  • ctype_cntrl() - Chequear posibles caracteres de control
  • ctype_graph() - Chequear posibles caracteres imprimibles, con excepción de los espacios

ctype_print
ctype_space
Funciones de Ctype


Chequear posibles caracteres de espacio en blanco

ctype_punct
ctype_upper
Funciones de Ctype
PHP Manual

ctype_space

(PHP 4 >= 4.0.4, PHP 5)

ctype_space — Chequear posibles caracteres de espacio en blanco

Descripción

bool ctype_space ( string $text )

Verifica si todos los caracteres en la string entregada, text, crean espacios en blanco.

Parámetros

text

La cadena de prueba.

Valores devueltos

Devuelve TRUE si cada caracter del texto genera cierto tipo de espacio en blanco, o FALSE de lo contrario. Junto con el caracter regular de espacio en blanco, también se consideran espacios a los caracteres de tabulación, tabulación vertical, alimentación de línea, retorno de carro y alimentación de formulario.

Ejemplos

Ejemplo #1 Un ejemplo de ctype_space()

<?php
$cadenas = array('cadena1' => "\n\r\t", 'cadena2' => "\narf12", 'cadena3' => '\n\r\t');
foreach ($cadenas as $nombre => $caso_prueba) {
    if (ctype_space($caso_prueba)) {
        echo "La cadena '$nombre' consiste completamente de espacios en blanco.\n";
    } else {
        echo "La cadena '$nombre' no consiste completamente de espacios en blanco.\n";
    }
}
?>

El resultado del ejemplo sería:

La cadena 'cadena1' consiste completamente de espacios en blanco.
La cadena 'cadena2' no consiste completamente de espacios en blanco.
La cadena 'cadena3' no consiste completamente de espacios en blanco.

Notas

Nota:

Si se proporciona un integer entre -128 y 255 inclusive, se interpreta como el valor ASCII de un simple caráter (a los valores negativos se le añade 256 para permitir caracteres en el rango ASCII Extendido). Cualquier otro entero se interpreta como una cadena que contiene los dígitos decimales del entero.

Ver también

  • ctype_cntrl() - Chequear posibles caracteres de control
  • ctype_graph() - Chequear posibles caracteres imprimibles, con excepción de los espacios
  • ctype_punct() - Chequear posibles caracteres imprimibles que no son ni espacios en blanco ni caracteres alfanuméricos

ctype_punct
ctype_upper
Funciones de Ctype


Chequear posibles caracteres en mayúscula

ctype_space
ctype_xdigit
Funciones de Ctype
PHP Manual

ctype_upper

(PHP 4 >= 4.0.4, PHP 5)

ctype_upper — Chequear posibles caracteres en mayúscula

Descripción

bool ctype_upper ( string $text )

Verifica si todos los caracteres en la string entregada, text, son caracteres en mayúsculas.

Parámetros

text

La cadena de prueba.

Valores devueltos

Devuelve TRUE si cada caracter del text es una letra mayúscula en la localidad actual.

Ejemplos

Ejemplo #1 Un ejemplo de ctype_upper() (usando la localidad predeterminada)

<?php
$cadenas = array('AKLWC139', 'LMNSDO', 'akwSKWsm');
foreach ($cadenas as $caso_prueba) {
    if (ctype_upper($caso_prueba)) {
        echo "La cadena $caso_prueba consiste completamente de letras mayúsculas.\n";
    } else {
        echo "La cadena $caso_prueba no consiste completamente de letras mayúsculas.\n";
    }
}
?>

El resultado del ejemplo sería:

La cadena AKLWC139 no consiste completamente de signos de letras mayúsculas.
La cadena LMNSDO consiste completamente de signos de letras mayúsculas.
La cadena akwSKWsm no consiste completamente de signos de letras mayúsculas.

Notas

Nota:

Si se proporciona un integer entre -128 y 255 inclusive, se interpreta como el valor ASCII de un simple caráter (a los valores negativos se le añade 256 para permitir caracteres en el rango ASCII Extendido). Cualquier otro entero se interpreta como una cadena que contiene los dígitos decimales del entero.

Ver también

  • ctype_alpha() - Chequear posibles caracteres alfabéticos
  • ctype_lower() - Chequear posibles caracteres en minúscula
  • setlocale() - Establecer la información de la configuración regional

ctype_space
ctype_xdigit
Funciones de Ctype


Chequear posibles caracteres que representen un dígito hexadecimal

ctype_upper
Filter
Funciones de Ctype
PHP Manual

ctype_xdigit

(PHP 4 >= 4.0.4, PHP 5)

ctype_xdigit — Chequear posibles caracteres que representen un dígito hexadecimal

Descripción

bool ctype_xdigit ( string $text )

Verifica si todos los caracteres de la string entregada, text, son 'dígitos' hexadecimales.

Parámetros

text

La cadena de prueba.

Valores devueltos

Devuelve TRUE si cada caracter del text es un 'dígito' hexadecimal, lo que quiere decir un dígito decimal o un caracter del rango [A-Fa-f]; FALSE de lo contrario.

Ejemplos

Ejemplo #1 Un ejemplo de ctype_xdigit()

<?php
$cadenas = array('AB10BC99', 'AR1012', 'ab12bc99');
foreach ($cadenas as $caso_prueba) {
    if (ctype_xdigit($caso_prueba)) {
        echo "La cadena $caso_prueba consiste completamente de dígitos hexadecimales.\n";
    } else {
        echo "La cadena $caso_prueba no consiste completamente de dígitos hexadecimales.\n";
    }
}
?>

El resultado del ejemplo sería:

La cadena AB10BC99 consiste completamente de dígitos hexadecimales.
La cadena AR1012 no consiste completamente de dígitos hexadecimales.
La cadena ab12bc99 consiste completamente de dígitos hexadecimales.

Notas

Nota:

Si se proporciona un integer entre -128 y 255 inclusive, se interpreta como el valor ASCII de un simple caráter (a los valores negativos se le añade 256 para permitir caracteres en el rango ASCII Extendido). Cualquier otro entero se interpreta como una cadena que contiene los dígitos decimales del entero.

Ver también

  • ctype_digit() - Chequear posibles caracteres numéricos

ctype_upper
Filter
Funciones de Ctype


Filtrado de datos

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Tipos de filtros
    • Filtros de validación
    • Filtros de saneamiento
    • Otros filtros
    • Opciones de filtrado
  • Constantes predefinidas
  • Ejemplos
    • Validación
    • Saneamiento
  • Funciones de Filter
    • filter_has_var — Comprueba si existe una variable de un tipo concreto existe
    • filter_id — Indica el ID del nombre de filtro que se indique
    • filter_input_array — Obtiene variables externas y opcionalmente las filtra
    • filter_input — Toma una variable externa concreta por nombre y opcionalmente la filtra
    • filter_list — Devuelve una lista de todos los filtros soportados
    • filter_var_array — Retorna múltiple variables y opcionalmente las filtra
    • filter_var — Filtra una variable con el filtro que se indique
ctype_xdigit
Introducción
Extensiones relacionadas con variable y tipo


Introducción

Esta extensión filtra los datos bien sea para validarlos o para sanearlos. Es especialmente útil cuando los datos de origen contienen datos desconocidos (o externos), como entradas facilitadas por el usuario. Por ejemplo, estos datos pueden venir de un formulario HTML.

Principalmente hay dos tipos de filtrado: validación y saneamiento.

La validación se usa para validar o comprobar si los datos cumplen ciertos requisitos. Por ejemplo, pasándole FILTER_VALIDATE_EMAIL determinará si los datos son una dirección de correo válida, pero no realizará ningún cambio en los datos.

El saneamiento limpiará los datos, de modo que los modificará eliminando los caracteres no deseados. Por ejemplo, pasándole FILTER_SANITIZE_EMAIL eliminará los caracteres que no son apropiados para una dirección de correo electrónico. Sin embargo, no valida los datos.

Las banderas se usan opcionalmente tanto con la validación como con el saneamiento para adaptar el comportamiento según las necesidades. Por ejemplo, al pasarle FILTER_FLAG_PATH_REQUIRED mientras se filtra un URL, se obliga a que esté presente una ruta (como /foo en http://example.org/foo).

Filter
Instalación/Configuración
Filter


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Filter


Instalación

La extensión de filtrado está activada por defecto desde PHP 5.2.0. Anteriormente a esto se usaba una extensión PECL, sin embargo, esta extensión no se actualiza más ni se recomienda si uso.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de filtros
Nombre | Por defecto | Cambiable | Historial de cambios
filter.default | "unsafe_raw" | PHP_INI_PERDIR | PHP_INI_ALL en filter <= 0.9.4. Disponible desde PHP 5.2.0.
filter.default_flags | NULL | PHP_INI_PERDIR | PHP_INI_ALL en filter <= 0.9.4. Disponible desde PHP 5.2.0.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

filter.default string

Filtra todos los datos de $_GET, $_POST, $_COOKIE, $_REQUEST y $_SERVER. Es posible acceder a los datos originales a través de filter_input().

Acepta el nombre del filtro que se desea usar por defecto. Véase la lista de filtros existentes para obtener el nombre de los filtros disponibles.

Nota:

Tenga cuidado con los flags por omisión para los filtros predeterminados. De forma explícita debería establecerse en el valor que desee. Por ejemplo, para configurar el filtro predeterminado para que se comporte exactamente igual que htmlspecialchars() necesita establecer los flags por omisión a 0, como se muestra a continuación.

Ejemplo #1 Configuring the default filter to act like htmlspecialchars

filter.default = full_special_chars
filter.default_flags = 0

filter.default_flags integer

Flags por omisión a aplicar cuando el filtro por defecto está establecido. Esto es establecido a FILTER_FLAG_NO_ENCODE_QUOTES por omisión por razones de compatibilidad con versiones anteriores. Véase la lista de flags existentes para una lista de todos los nombres de flags.

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Configuración en tiempo de ejecución
Tipos de filtros
Instalación/Configuración


Tipos de filtros

Tabla de contenidos

  • Filtros de validación
  • Filtros de saneamiento
  • Otros filtros
  • Opciones de filtrado
Tipos de recursos
Filtros de validación
Filter


Filtros de validación

Listado de filtros para validación
ID | Nombre | Opciones | Banderas | Descripción
FILTER_VALIDATE_BOOLEAN | "boolean" |  | FILTER_NULL_ON_FAILURE | Devuelve TRUE para "1", "true", "on" y "yes". Devuelve FALSE en caso contrario. Si FILTER_NULL_ON_FAILURE está declarado, se devolverá FALSE sólo para "0", "false", "off", "no", y "", y NULL para cualquier valor no booleano.
FILTER_VALIDATE_EMAIL | "validate_email" |  |  | Valida si el valor es una dirección E-Mail.
FILTER_VALIDATE_FLOAT | "float" | decimal | FILTER_FLAG_ALLOW_THOUSAND | Valida si el valor es un float.
FILTER_VALIDATE_INT | "int" | min_range, max_range | FILTER_FLAG_ALLOW_OCTAL, FILTER_FLAG_ALLOW_HEX | Valida un valor como integer, opcionalmente desde el rango especificado.
FILTER_VALIDATE_IP | "validate_ip" |  | FILTER_FLAG_IPV4, FILTER_FLAG_IPV6, FILTER_FLAG_NO_PRIV_RANGE, FILTER_FLAG_NO_RES_RANGE | Valida si es valor es una dirección IP, opcionalmente se puede indicar que sea sólo IPv4 o IPv6 o que no sea de rangos privados o reservados.
FILTER_VALIDATE_REGEXP | "validate_regexp" | regexp |  | Valida el valor contra regexp, una expresión regular Perl-compatible.
FILTER_VALIDATE_URL | "validate_url" |  | FILTER_FLAG_PATH_REQUIRED, FILTER_FLAG_QUERY_REQUIRED | Valida si su valor es una URL (de acuerdo con » http://www.faqs.org/rfcs/rfc2396), opcionalmente con componentes necesarios. Se ha de tener cuidado ya que una URL válida podría no especificar el protocolo HTTP http://, por lo que podrían ser necesarias validaciones posteriores para determinar que la URL utiliza un protocolo esperado, p.ej., ssh:// o mailto:. Nótese que esta función sólo buscará para ser validadas URLs ASCII; los nombres de dominio internacionales (que contienen no-ASCII caracteres) fallarán en la validación.

Nota:

Los números +0 y -0 no son valores integers válidos, pero sí válidos como floats.

Tipos de filtros
Filtros de saneamiento
Tipos de filtros


Filtros de saneamiento

Lista de filtros de saneamiento
ID | Nombre | Opciones | Banderas | Descripción
FILTER_SANITIZE_EMAIL | "email" |  |  | Elimina todos los caracteres menos letras, dígitos y !#$%&'*+-/=?^_`{|}~@.[].
FILTER_SANITIZE_ENCODED | "encoded" |  | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH | String URL-encode, opcionalmente elimina o codifica caracteres especiales.
FILTER_SANITIZE_MAGIC_QUOTES | "magic_quotes" |  |  | Aplica addslashes().
FILTER_SANITIZE_NUMBER_FLOAT | "number_float" |  | FILTER_FLAG_ALLOW_FRACTION, FILTER_FLAG_ALLOW_THOUSAND, FILTER_FLAG_ALLOW_SCIENTIFIC | Elimina todos los caracteres a excepción de los dígitos, +- y, opcionalmente, .,eE.
FILTER_SANITIZE_NUMBER_INT | "number_int" |  |  | Elimina todos los caracteres excepto dígitos y los signos de suma y resta.
FILTER_SANITIZE_SPECIAL_CHARS | "special_chars" |  | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_HIGH | Escapa caracteres HTML '"<>& y caracteres con valores ASCII menores que 32, opcionalmente elimina o codifica caracteres especiales.
FILTER_SANITIZE_FULL_SPECIAL_CHARS | "full_special_chars" |  | FILTER_FLAG_NO_ENCODE_QUOTES, | Equivalente a llamar a htmlspecialchars() con ENT_QUOTES establecido. Las comillas de codificación pueden ser desactivadas mediante el establecimiento de FILTER_FLAG_NO_ENCODE_QUOTES. Al igual que htmlspecialchars(), este filtro tiene en cuenta el default_charset y si en una secuencia de bytes se detecta que contiene un carácter no válido en el conjunto de caracteres actual entonces el string completo es rechazado lo que resulta en un string de longitud 0. Cuando se utiliza este filtro como un filtro predeterminado, vea la advertiencia de abajo sobre establecer las banderas predeterminadas a 0.
FILTER_SANITIZE_STRING | "string" |  | FILTER_FLAG_NO_ENCODE_QUOTES, FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP | Elimina etiquetas, opcionalmente elimina o codifica caracteres especiales.
FILTER_SANITIZE_STRIPPED | "stripped" |  |  | Alias del filtro "string".
FILTER_SANITIZE_URL | "url" |  |  | Elimina todos los caracteres excepto letras, dígitos y $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=.
FILTER_UNSAFE_RAW | "unsafe_raw" |  | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP | No hace nada, opcionalmente elimina o codifica caracteres especiales.

Advertencia

Cuando se utiliza uno de estos tres filtros como un filtro predetermindo a través de fichero ini o de la configuración del servidor web, las banderas predeterminadas son establecidas a FILTER_FLAG_NO_ENCODE_QUOTES. Se necesita establecer explícitamente filter.default_flags a 0 para tener la codificación de comillas por omisión. Como esto:

Ejemplo #1 Configurar el filtro predeterminado para que actúe como htmlspecialchars

filter.default = full_special_chars
filter.default_flags = 0

Filtros de validación
Otros filtros
Tipos de filtros


Otros filtros

Lista de filtros varios
ID | Nombre | Opciones | Banderas | Descripción
FILTER_CALLBACK | "callback" | Función o método callable |  | Llamadas a funciones definidas por el usuario para filtrar datos.

Filtros de saneamiento
Opciones de filtrado
Tipos de filtros


Opciones de filtrado

Lista de opciones de los filtros
ID | Usado con | Descripción
FILTER_FLAG_STRIP_LOW | FILTER_SANITIZE_ENCODED, FILTER_SANITIZE_SPECIAL_CHARS, FILTER_SANITIZE_STRING, FILTER_UNSAFE_RAW | Elimina caracteres que tienen un valor numérico <32.
FILTER_FLAG_STRIP_HIGH | FILTER_SANITIZE_ENCODED, FILTER_SANITIZE_SPECIAL_CHARS, FILTER_SANITIZE_STRING, FILTER_UNSAFE_RAW | Elimina caracteres que tienen un valor numérico >127.
FILTER_FLAG_ALLOW_FRACTION | FILTER_SANITIZE_NUMBER_FLOAT | Permite usar un punto (.) como separador de decimales en los números.
FILTER_FLAG_ALLOW_THOUSAND | FILTER_SANITIZE_NUMBER_FLOAT, FILTER_VALIDATE_FLOAT | Permite usar una coma (,) como separador de miles en los números.
FILTER_FLAG_ALLOW_SCIENTIFIC | FILTER_SANITIZE_NUMBER_FLOAT | Permite usar una e o E para la notación científica de números.
FILTER_FLAG_NO_ENCODE_QUOTES | FILTER_SANITIZE_STRING | Si se indica esta opción, las comillas simples (') y las dobles (") no se codificarán.
FILTER_FLAG_ENCODE_LOW | FILTER_SANITIZE_ENCODED, FILTER_SANITIZE_STRING, FILTER_SANITIZE_RAW | Codifica todos los caracteres con valor numérico <32.
FILTER_FLAG_ENCODE_HIGH | FILTER_SANITIZE_ENCODED, FILTER_SANITIZE_SPECIAL_CHARS, FILTER_SANITIZE_STRING, FILTER_SANITIZE_RAW | Codifica todos los caracteres con valor numérico >127.
FILTER_FLAG_ENCODE_AMP | FILTER_SANITIZE_STRING, FILTER_SANITIZE_RAW | Codifica ampersands (&).
FILTER_NULL_ON_FAILURE | FILTER_VALIDATE_BOOLEAN | Devuelve NULL para valores boolean que no se reconozcan.
FILTER_FLAG_ALLOW_OCTAL | FILTER_VALIDATE_INT | Permite datos de entrada que comiencen por un cero (0) como número octal. Esto obliga a que los siguientes dígitos sean únicamente 0-7.
FILTER_FLAG_ALLOW_HEX | FILTER_VALIDATE_INT | Permite datos de entrada que comiencen por 0x o 0X como número hexadecimal. Esto obliga a que los siguientes dígitos sean únicamente a-fA-F0-9.
FILTER_FLAG_IPV4 | FILTER_VALIDATE_IP | Permite direcciones IP en formato IPv4.
FILTER_FLAG_IPV6 | FILTER_VALIDATE_IP | Permite direcciones IP en formato IPv6.
FILTER_FLAG_NO_PRIV_RANGE | FILTER_VALIDATE_IP | Falla si se intenta validar alguna de los siguientes rangos privados de IPv4: 10.0.0.0/8, 172.16.0.0/12 y 192.168.0.0/16. Falla si se intenta validad direcciones IPv6 que empiecen por FD o FC.
FILTER_FLAG_NO_RES_RANGE | FILTER_VALIDATE_IP | Falla si se intenta validad alguno de los siguientes rangos IPv4 reservados: 0.0.0.0/8, 169.254.0.0/16, 192.0.2.0/24 y 224.0.0.0/4. Este flag no se aplica a direcciones IPv6.
FILTER_FLAG_PATH_REQUIRED | FILTER_VALIDATE_URL | Requiere que la URL contenga parte de la ruta.
FILTER_FLAG_QUERY_REQUIRED | FILTER_VALIDATE_URL | Requiere que la URL contenga un query string.

Otros filtros
Constantes predefinidas
Tipos de filtros


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

INPUT_POST (integer)
Variables POST.
INPUT_GET (integer)
Variables GET.
INPUT_COOKIE (integer)
Variables COOKIE.
INPUT_ENV (integer)
Variables ENV.
INPUT_SERVER (integer)
Variables SERVER.
INPUT_SESSION (integer)
Variables SESSION. (no implementado aún)
INPUT_REQUEST (integer)
Variables REQUEST. (no implementado aún)
FILTER_FLAG_NONE (integer)
Sin banderas.
FILTER_REQUIRE_SCALAR (integer)
Bandera usada para solicitar un escalar como entrada.
FILTER_REQUIRE_ARRAY (integer)
Requiere un array como entrada.
FILTER_FORCE_ARRAY (integer)
Devuelve siempre un array.
FILTER_NULL_ON_FAILURE (integer)
Usa NULL en vez de FALSE en caso de error.
FILTER_VALIDATE_INT (integer)
ID del filtro "int".
FILTER_VALIDATE_BOOLEAN (integer)
ID del filtro "boolean".
FILTER_VALIDATE_FLOAT (integer)
ID del filtro "float".
FILTER_VALIDATE_REGEXP (integer)
ID del filtro "validate_regexp".
FILTER_VALIDATE_URL (integer)
ID del filtro "validate_url".
FILTER_VALIDATE_EMAIL (integer)
ID del filtro "validate_email".
FILTER_VALIDATE_IP (integer)
ID del filtro "validate_ip".
FILTER_DEFAULT (integer)
ID del filtro por defecto ("string").
FILTER_UNSAFE_RAW (integer)
ID del filtro "unsafe_raw".
FILTER_SANITIZE_STRING (integer)
ID del filtro "string".
FILTER_SANITIZE_STRIPPED (integer)
ID del filtro "stripped".
FILTER_SANITIZE_ENCODED (integer)
ID del filtro "encoded".
FILTER_SANITIZE_SPECIAL_CHARS (integer)
ID del filtro "special_chars".
FILTER_SANITIZE_EMAIL (integer)
ID del filtro "email".
FILTER_SANITIZE_URL (integer)
ID del filtro "url".
FILTER_SANITIZE_NUMBER_INT (integer)
ID del filtro "number_int".
FILTER_SANITIZE_NUMBER_FLOAT (integer)
ID del filtro "number_float".
FILTER_SANITIZE_MAGIC_QUOTES (integer)
ID del filtro "magic_quotes".
FILTER_CALLBACK (integer)
ID del filtro "callback".
FILTER_FLAG_ALLOW_OCTAL (integer)
Permite notación octal (0[0-7]+) en el filtro "int".
FILTER_FLAG_ALLOW_HEX (integer)
Permite notación hexadecimal (0x[0-9a-fA-F]+) en el filtro "int".
FILTER_FLAG_STRIP_LOW (integer)
Elimina caracteres con un valor ASCII inferior a 32.
FILTER_FLAG_STRIP_HIGH (integer)
Elimina caracteres con un valor ASCII superior a 127.
FILTER_FLAG_ENCODE_LOW (integer)
Codifica caracteres con un valor ASCII inferior a 32.
FILTER_FLAG_ENCODE_HIGH (integer)
Codifica caracteres con un valor ASCII superior a 127.
FILTER_FLAG_ENCODE_AMP (integer)
Codifica &.
FILTER_FLAG_NO_ENCODE_QUOTES (integer)
No codifica ' ni ".
FILTER_FLAG_EMPTY_STRING_NULL (integer)
(No usado por ahora.)
FILTER_FLAG_ALLOW_FRACTION (integer)
Permite la parte decimal en el filtro "number_float".
FILTER_FLAG_ALLOW_THOUSAND (integer)
Permite el separador de miles (,) en el filtro "number_float".
FILTER_FLAG_ALLOW_SCIENTIFIC (integer)
Permite la notación científica (e, E) en el filtro "number_float".
FILTER_FLAG_PATH_REQUIRED (integer)
Requiere la ruta en el filtro "validate_url".
FILTER_FLAG_QUERY_REQUIRED (integer)
Requiere la petición en el filtro "validate_url".
FILTER_FLAG_IPV4 (integer)
Solo permite direcciones IPv4 en el filtro "validate_ip".
FILTER_FLAG_IPV6 (integer)
Solo permite direcciones IPv6 en el filtro "validate_ip".
FILTER_FLAG_NO_RES_RANGE (integer)
Prohibe direcciones reservadas en el filtro "validate_ip".
FILTER_FLAG_NO_PRIV_RANGE (integer)
Prohibe direcciones privadas en el filtro "validate_ip".
Opciones de filtrado
Ejemplos
Filter


Ejemplos

Tabla de contenidos

  • Validación
  • Saneamiento
Constantes predefinidas
Validación
Filter


Validación

Ejemplo #1 Validación de direcciones de correo con filter_var()

<?php
$email_a = 'joe@example.com';
$email_b = 'bogus';

if (filter_var($email_a, FILTER_VALIDATE_EMAIL)) {
    echo "Esta dirección de correo ($email_a) es válida.";
}
if (filter_var($email_b, FILTER_VALIDATE_EMAIL)) {
    echo "Esta dirección de correo ($email_b) es válida.";
}
?>

El resultado del ejemplo sería:

Esta dirección de correo (email_a) es válida.

Ejemplo #2 Validación de direcciones IP con filter_var()

<?php
$ip_a = '127.0.0.1';
$ip_b = '42.42';

if (filter_var($ip_a, FILTER_VALIDATE_IP)) {
    echo "Esta dirección IP (ip_a) es válida.";
}
if (filter_var($ip_b, FILTER_VALIDATE_IP)) {
    echo "Esta dirección IP (ip_b) es válida.";
}
?>

El resultado del ejemplo sería:

Esta dirección IP (ip_b) es válida.

Ejemplo #3 Pasando opciones a filter_var()

<?php
$int_a = '1';
$int_b = '-1';
$int_c = '4';
$options = array(
    'options' => array(
                      'min_range' => 0,
                      'max_range' => 3,
                      )
);
if (filter_var($int_a, FILTER_VALIDATE_INT, $options) !== FALSE) {
    echo "Este entero (int_a) es válido (entre 0 y 3).\n";
}
if (filter_var($int_b, FILTER_VALIDATE_INT, $options) !== FALSE) {
    echo "Este entero (int_b) es válido (entre 0 y 3).\n";
}
if (filter_var($int_c, FILTER_VALIDATE_INT, $options) !== FALSE) {
    echo "Este entero (int_c) es válido (entre 0 y 3).\n";
}

$options['options']['default'] = 1;
if (($int_c = filter_var($int_c, FILTER_VALIDATE_INT, $options)) !== FALSE) {
    echo "Este entero (int_c) es válido (entre 0 y 3) y es $int_c.";
}
?>

El resultado del ejemplo sería:

Este entero (int_a) es válido (entre 0 y 3).
Este entero (int_c) es válido (entre 0 y 3) y es 1.

Ejemplos
Saneamiento
Ejemplos


Saneamiento

Ejemplo #1 Saneando y validando direcciones de correo

<?php
$a = 'joe@example.org';
$b = 'bogus - at - example dot org';
$c = '(bogus@example.org)';

$sanitized_a = filter_var($a, FILTER_SANITIZE_EMAIL);
if (filter_var($sanitized_a, FILTER_VALIDATE_EMAIL)) {
    echo "Esta dirección de correo saneada (a) es válida.\n";
}

$sanitized_b = filter_var($b, FILTER_SANITIZE_EMAIL);
if (filter_var($sanitized_b, FILTER_VALIDATE_EMAIL)) {
    echo "Esta dirección de correo saneada (b) es válida.\n";
} else {
    echo "Esta dirección de correo saneada (b) no es válida.\n";
}

$sanitized_c = filter_var($c, FILTER_SANITIZE_EMAIL);
if (filter_var($sanitized_c, FILTER_VALIDATE_EMAIL)) {
    echo "Esta dirección de correo saneada (c) es válida.\n";
    echo "Antes: $c\n";
    echo "Después:  $sanitized_c\n";
}
?>

El resultado del ejemplo sería:

Esta dirección de correo saneada (a) es válida.
Esta dirección de correo saneada (b) no es válida.
Esta dirección de correo saneada (c) es válida.
Antes: (bogus@example.org)
Después: bogus@example.org

Ejemplo #2 Configuración de un filtro por omisión

filter.default = full_special_chars
filter.default_flags = 0

Validación
Funciones de Filter
Ejemplos


Funciones de Filter

Tabla de contenidos

  • filter_has_var — Comprueba si existe una variable de un tipo concreto existe
  • filter_id — Indica el ID del nombre de filtro que se indique
  • filter_input_array — Obtiene variables externas y opcionalmente las filtra
  • filter_input — Toma una variable externa concreta por nombre y opcionalmente la filtra
  • filter_list — Devuelve una lista de todos los filtros soportados
  • filter_var_array — Retorna múltiple variables y opcionalmente las filtra
  • filter_var — Filtra una variable con el filtro que se indique
Saneamiento
filter_has_var
Filter


Comprueba si existe una variable de un tipo concreto existe

Funciones de Filter
filter_id
Funciones de Filter
PHP Manual

filter_has_var

(PHP 5 >= 5.2.0)

filter_has_var — Comprueba si existe una variable de un tipo concreto existe

Descripción

bool filter_has_var ( int $type , string $variable_name )

Parámetros

type

Una de estas posibilidades: INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER o INPUT_ENV.

variable_name

Nombre de la variable a comprobar.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Funciones de Filter
filter_id
Funciones de Filter


Indica el ID del nombre de filtro que se indique

filter_has_var
filter_input_array
Funciones de Filter
PHP Manual

filter_id

(PHP 5 >= 5.2.0)

filter_id — Indica el ID del nombre de filtro que se indique

Descripción

int filter_id ( string $filtername )

Parámetros

filtername

Nombre del filtro a obtener el ID.

Valores devueltos

ID del filtro en caso de éxito o FALSE si el filtro no existe.

Ver también

  • filter_list() - Devuelve una lista de todos los filtros soportados

filter_has_var
filter_input_array
Funciones de Filter


Obtiene variables externas y opcionalmente las filtra

filter_id
filter_input
Funciones de Filter
PHP Manual

filter_input_array

(PHP 5 >= 5.2.0)

filter_input_array — Obtiene variables externas y opcionalmente las filtra

Descripción

mixed filter_input_array ( int $type [, mixed $definition [, bool $add_empty = true ]] )

Esta función es útil para recuperar muchos valores sin necesidad de hacer repetidas llamadas a filter_input().

Parámetros

type

Una de las siguientes: INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER o INPUT_ENV.

definition

Un array definiendo los argumentos. Una clave válida será aquella que contiene un string con el nombre de una variable y un valor válido aquel que o bien es un tipo filter type o un array especificando opcionalmente el filtro, flags y opciones. Si el valor es un array, las claves válidas serán: filter que especifica el tipo filter type, flags que define cualquier flag que deba aplicarse a los filtros, y options que establece cualquier opción que se deba aplicar al filtro. Para entender mejor su funcionamiento, vea el ejemplo inferior.

Este parámetro puede ser también un entero que indique una constante de filtro. Entonces todos los valores en el array de entrada son filtrados por ese filtro.

add_empty

Alade claves faltantes como NULL al valor devueltol.

Valores devueltos

En caso de éxito, un array con los valores de las variables que se han pedido o FALSE en caso de fallo. Un valor del array puede ser FALSE si el filtro falla o NULL si la variable no está creada. O, si se usa el flag FILTER_NULL_ON_FAILURE y la variable no está definida retorna FALSE y NULL si el filtro falla.

Ejemplos

Ejemplo #1 Un ejemplo con filter_input_array()

<?php
error_reporting(E_ALL | E_STRICT);
/* Los datos vienen realmente por POST
$_POST = array(
    'id_producto'    => 'libgd<script>',
    'componente'     => '10',
    'version'      => '2.0.33',
    'test_escalar'    => array('2', '23', '10', '12'),
    'test_array'     => '2',
);
*/

$args = array(
    'id_producto'   => FILTER_SANITIZE_ENCODED,
    'componente'    => array('filter'    => FILTER_VALIDATE_INT,
                            'flags'     => FILTER_REQUIRE_ARRAY,
                            'options'   => array('min_range' => 1, 'max_range' => 10)
                           ),
    'version'     => FILTER_SANITIZE_ENCODED,
    'no_existe' => FILTER_VALIDATE_INT,
    'test_escalar'   => array(
                            'filter' => FILTER_VALIDATE_INT,
                            'flags'  => FILTER_REQUIRE_SCALAR,
                           ),
    'test_array'    => array(
                            'filter' => FILTER_VALIDATE_INT,
                            'flags'  => FILTER_REQUIRE_ARRAY,
                           )

);

$mis_entradas = filter_input_array(INPUT_POST, $args);

var_dump($mis_entradas);
echo "\n";
?>

El resultado del ejemplo sería:

array(6) {
  ["id_producto"]=>
  array(1) {
    [0]=>
    string(17) "libgd%3Cscript%3E"
  }
  ["componente"]=>
  array(1) {
    [0]=>
    int(10)
  }
  ["version"]=>
  array(1) {
    [0]=>
    string(6) "2.0.33"
  }
  ["no_existe"]=>
  NULL
  ["test_escalar"]=>
  bool(false)
  ["test_array"]=>
  array(1) {
    [0]=>
    int(2)
  }
}

Historial de cambios

Versión | Descripción
5.4.0 | Se añadió el parámetro add_empty.

Notas

Nota:

No existe la clave REQUEST_TIME en la matriz INPUT_SERVER porque este valor se inserta posteriormente en $_SERVER.

Ver también

  • filter_input() - Toma una variable externa concreta por nombre y opcionalmente la filtra
  • filter_var_array() - Retorna múltiple variables y opcionalmente las filtra
  • Tipos de filtros

filter_id
filter_input
Funciones de Filter


Toma una variable externa concreta por nombre y opcionalmente la filtra

filter_input_array
filter_list
Funciones de Filter
PHP Manual

filter_input

(PHP 5 >= 5.2.0)

filter_input — Toma una variable externa concreta por nombre y opcionalmente la filtra

Descripción

mixed filter_input ( int $type , string $variable_name [, int $filter = FILTER_DEFAULT [, mixed $options ]] )

Parámetros

type

Uno de los siguientes: INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER o INPUT_ENV.

variable_name

Nombre de la variable a escoger.

filter

ID del filtro a usar. La página del manual Tipos de filtros lista los filtros disponibles.

options

Array asociativo de opciones o disyunción lógica de flags. Si el filtro acepta opciones, se pueden añadir flags en el array asociativo bajo la clave "flags".

Valores devueltos

En caso de éxito, valor de la variable pedida, FALSE si el filtro falla o NULL si la variable variable_name no está definida. Si se usa el flag FILTER_NULL_ON_FAILURE, retorna FALSE si la variable no está definida y NULL si el filtro falla.

Ejemplos

Ejemplo #1 Un ejemplo de filter_input()

<?php
$buscar_html = filter_input(INPUT_GET, 'buscar', FILTER_SANITIZE_SPECIAL_CHARS);
$buscar_url = filter_input(INPUT_GET, 'buscar', FILTER_SANITIZE_ENCODED);
echo "Has buscado $buscar_html.\n";
echo "<a href='?buscar=$buscar_url'>Buscar de nuevo</a>";
?>

El resultado del ejemplo sería algo similar a:

Has buscado Yo & hijo.
<a href='?search=Yo%20%26%20hijo'>Buscar de nuevo</a>

Ver también

  • filter_var() - Filtra una variable con el filtro que se indique
  • filter_input_array() - Obtiene variables externas y opcionalmente las filtra
  • filter_var_array() - Retorna múltiple variables y opcionalmente las filtra
  • Tipos de filtros

filter_input_array
filter_list
Funciones de Filter


Devuelve una lista de todos los filtros soportados

filter_input
filter_var_array
Funciones de Filter
PHP Manual

filter_list

(PHP 5 >= 5.2.0)

filter_list — Devuelve una lista de todos los filtros soportados

Descripción

array filter_list ( void )

Valores devueltos

Retorna un array con los nombres de todos los filtros soportados; el array estará vacío si no hay filtros. Los índices de este array no son los IDs de los filtros, estos se obtienen a partir del nombre y la función filter_id().

Ejemplos

Ejemplo #1 Ejemplo de filter_list()

<?php
print_r(filter_list());
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => int
    [1] => boolean
    [2] => float
    [3] => validate_regexp
    [4] => validate_url
    [5] => validate_email
    [6] => validate_ip
    [7] => string
    [8] => stripped
    [9] => encoded
    [10] => special_chars
    [11] => unsafe_raw
    [12] => email
    [13] => url
    [14] => number_int
    [15] => number_float
    [16] => magic_quotes
    [17] => callback
)

filter_input
filter_var_array
Funciones de Filter


Retorna múltiple variables y opcionalmente las filtra

filter_list
filter_var
Funciones de Filter
PHP Manual

filter_var_array

(PHP 5 >= 5.2.0)

filter_var_array — Retorna múltiple variables y opcionalmente las filtra

Descripción

mixed filter_var_array ( array $data [, mixed $definition [, bool $add_empty = true ]] )

Esta función es útil para recuperar muchos valores sin llamar repetidamente a filter_var().

Parámetros

data

Un array asociativo de claves en formato strings que contiene los datos a filtrar.

definition

Un array definiendo los argumentos. Una clave válida será aquella que contiene un string con el nombre de una variable y un valor válido aquel que o bien es un tipo filter type o un array especificando opcionalmente el filtro, flags y opciones. Si el valor es un array, las claves válidas serán: filter que especifica el tipo filter type, flags que define cualquier flag que deba aplicarse a los filtros, y options que establece cualquier opción que se deba aplicar al filtro. Para entender mejor su funcionamiento, vea el ejemplo inferior.

Este parámetro puede ser tambien un integer indicando una constante de filtro.. Entonces, todos los valores en el array de entrada son filtrados por este filtro.

add_empty

Alade claves faltantes como NULL al valor devueltol.

Valores devueltos

En caso de éxito un array que contiene los valores de las variables que se han pedido o FALSE en caso de fallo. El valor del array será FALSE si el filtro falla o NULL si la variable no está definida.

Ejemplos

Ejemplo #1 Ejemplo de filter_var_array()

<?php
error_reporting(E_ALL | E_STRICT);
$data = array(
    'id_producto'    => 'libgd<script>',
    'componente'     => '10',
    'versiones'      => '2.0.33',
    'test_escalar'    => array('2', '23', '10', '12'),
    'test_array'     => '2',
);

$args = array(
    'id_producto'   => FILTER_SANITIZE_ENCODED,
    'componente'    => array('filter'    => FILTER_VALIDATE_INT,
                            'flags'     => FILTER_FORCE_ARRAY,
                            'options'   => array('min_range' => 1, 'max_range' => 10)
                           ),
    'versiones'     => FILTER_SANITIZE_ENCODED,
    'no_existe' => FILTER_VALIDATE_INT,
    'test_scalar'   => array(
                            'filter' => FILTER_VALIDATE_INT,
                            'flags'  => FILTER_REQUIRE_SCALAR,
                           ),
    'test_array'    => array(
                            'filter' => FILTER_VALIDATE_INT,
                            'flags'  => FILTER_FORCE_ARRAY,
                           )

);

$myinputs = filter_var_array($data, $args);

var_dump($myinputs);
echo "\n";
?>

El resultado del ejemplo sería:

array(6) {
  ["id_producto"]=>
  array(1) {
    [0]=>
    string(17) "libgd%3Cscript%3E"
  }
  ["componente"]=>
  array(1) {
    [0]=>
    int(10)
  }
  ["versiones"]=>
  array(1) {
    [0]=>
    string(6) "2.0.33"
  }
  ["no_existe"]=>
  NULL
  ["test_escalar"]=>
  bool(false)
  ["test_array"]=>
  array(1) {
    [0]=>
    int(2)
  }
}

Historial de cambios

Versión | Descripción
5.4.0 | Se añadió el parámetro add_empty.

Ver también

  • filter_input_array() - Obtiene variables externas y opcionalmente las filtra
  • filter_var() - Filtra una variable con el filtro que se indique
  • filter_input() - Toma una variable externa concreta por nombre y opcionalmente la filtra
  • Tipos de filtros

filter_list
filter_var
Funciones de Filter


Filtra una variable con el filtro que se indique

filter_var_array
Manejo de Funciones
Funciones de Filter
PHP Manual

filter_var

(PHP 5 >= 5.2.0)

filter_var — Filtra una variable con el filtro que se indique

Descripción

mixed filter_var ( mixed $variable [, int $filter = FILTER_DEFAULT [, mixed $options ]] )

Parámetros

variable

Valor a filtrar

filter

ID del filtro a usar. La página del manual Tipos de filtros lista los filtros disponibles.

options

Array asociativo de opciones o disyunción lógica de flags. Si un filtro acepta opciones, se pueden indicar flags en el campo "flags" del array. Para el filtro "callback" debería pasarse el tipo callable. La llamada de la función de retorno (callback) debe aceptar un argumento, el valor a ser filtrado y debe retornar el valor tras su filtrado/saneamiento.

<?php
// Para filtros que acepten opciones, usar este formato
$opciones = array(
    'options' => array(
        'default' => 3, // valor a retornar si el filtro falla
        // más opciones aquí
        'min_range' => 0
    ),
    'flags' => FILTER_FLAG_ALLOW_OCTAL,
);
$var = filter_var('0755', FILTER_VALIDATE_INT, $opciones);

// Para filtros que únicamente acepten flags, se pueden pasar directametne
$var = filter_var('oops', FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE);

// Para filtros que únicamente acepten flags, también pueden pasarse como
// array
$var = filter_var('oops', FILTER_VALIDATE_BOOLEAN,
                  array('flags' => FILTER_NULL_ON_FAILURE));

// Filtro "callback2
function foo($value)
{
    // Formato esperado: Apellido, Nombre
    if (strpos($value, ", ") === false) return false;
    list($surname, $givennames) = explode(", ", $value, 2);
    $empty = (empty($surname) || empty($givennames));
    $notstrings = (!is_string($surname) || !is_string($givennames));
    if ($empty || $notstrings) {
        return false;
    } else {
        return $value;
    }
}
$var = filter_var('Doe, Jane Sue', FILTER_CALLBACK, array('options' => 'foo'));
?>

Valores devueltos

Retorna los datos filtrados o FALSE si el filtro falla.

Ejemplos

Ejemplo #1 Un ejemplo de filter_var()

<?php
var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));
var_dump(filter_var('http://example.com', FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED));
?>

El resultado del ejemplo sería:

string(15) "bob@example.com"
bool(false)

Ver también

  • filter_var_array() - Retorna múltiple variables y opcionalmente las filtra
  • filter_input() - Toma una variable externa concreta por nombre y opcionalmente la filtra
  • filter_input_array() - Obtiene variables externas y opcionalmente las filtra
  • Tipos de filtros
  • información acerca de tipos de llamada de retorno

filter_var_array
Manejo de Funciones
Funciones de Filter


Manejo de Funciones

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de Manejo de Funciones
    • call_user_func_array — Llamar a una llamada de retorno un array de parámetros
    • call_user_func — Llamar a una llamada de retorno dada por el primer parámetro
    • create_function — Crear una función anónima (estilo lambda)
    • forward_static_call_array — Llamar a un método estático y pasar los argumentos como matriz
    • forward_static_call — Llamar a un método estático
    • func_get_arg — Devuelve un elemento de una lista de argumentos
    • func_get_args — Devuelve una matriz que se compone de una lista de argumentos de función
    • func_num_args — Devuelve el número de argumentos pasados a la función
    • function_exists — Devuelve TRUE si la función dada ha sido definida
    • get_defined_functions — Devuelve una matriz de todas las funciones definidas
    • register_shutdown_function — Registrar una función para que sea ejecutada al cierre
    • register_tick_function — Registrar una función para que sea ejecutada en cada tick
    • unregister_tick_function — Dejar de registrar una función para su ejecución en cada tick
filter_var
Introducción
Extensiones relacionadas con variable y tipo


Introducción

Todas estas funciones tratan varias operaciones involucradas al trabajar con funciones.

Manejo de Funciones
Instalación/Configuración
Manejo de Funciones


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Manejo de Funciones


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Funciones de Manejo de Funciones
Manejo de Funciones


Funciones de Manejo de Funciones

Tabla de contenidos

  • call_user_func_array — Llamar a una llamada de retorno un array de parámetros
  • call_user_func — Llamar a una llamada de retorno dada por el primer parámetro
  • create_function — Crear una función anónima (estilo lambda)
  • forward_static_call_array — Llamar a un método estático y pasar los argumentos como matriz
  • forward_static_call — Llamar a un método estático
  • func_get_arg — Devuelve un elemento de una lista de argumentos
  • func_get_args — Devuelve una matriz que se compone de una lista de argumentos de función
  • func_num_args — Devuelve el número de argumentos pasados a la función
  • function_exists — Devuelve TRUE si la función dada ha sido definida
  • get_defined_functions — Devuelve una matriz de todas las funciones definidas
  • register_shutdown_function — Registrar una función para que sea ejecutada al cierre
  • register_tick_function — Registrar una función para que sea ejecutada en cada tick
  • unregister_tick_function — Dejar de registrar una función para su ejecución en cada tick
Constantes predefinidas
call_user_func_array
Manejo de Funciones


Llamar a una llamada de retorno un array de parámetros

Funciones de Manejo de Funciones
call_user_func
Funciones de Manejo de Funciones
PHP Manual

call_user_func_array

(PHP 4 >= 4.0.4, PHP 5)

call_user_func_array — Llamar a una llamada de retorno un array de parámetros

Descripción

mixed call_user_func_array ( callable $callback , array $param_arr )

Llama a la llamada de retorno dada por el primer parámetro callback con los parámetros de param_arr.

Parámetros

callback

La función llamable (callable) a llamar.

param_arr

Los parámetros a pasar a la llamda de retorno, como matriz indexada.

Valores devueltos

Devuelve el valor devuelto por la llamada de retorno, o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.3.0 | La interpretación de palabras clave orientadas a objetos como parent y self ha cambiado. Anteriormente al llamarlas usando la sintaxis de dobles dos puntos emitiría una advertencia E_STRICT porque eran interpretadas como estáticas.

Ejemplos

Ejemplo #1 Ejemplo de call_user_func_array()

<?php
function foobar($arg, $arg2) {
    echo __FUNCTION__, " obtuvo $arg y $arg2\n";
}
class foo {
    function bar($arg, $arg2) {
        echo __METHOD__, " obtuvo $arg y $arg2\n";
    }
}

// Llamar a la función foobar() con 2 argumentos
call_user_func_array("foobar", array("uno", "dos"));

// Llamar al método $foo->bar() con 2 argumentos
$foo = new foo;
call_user_func_array(array($foo, "bar"), array("tres", "cuatro"));
?>

El resultado del ejemplo sería algo similar a:

foobar obtuvo uno y dos
foo::bar obtuvo tres y cuatro

Ejemplo #2 call_user_func_array() usando un nombre de espacio de nombres

<?php

namespace Foobar;

class Foo {
    static public function prueba($nombre) {
        print "¡Hola {$nombre}!\n";
    }
}

// A partir de PHP 5.3.0
call_user_func_array(__NAMESPACE__ .'\Foo::prueba', array('Gema'));

// A partir de PHP 5.3.0
call_user_func_array(array(__NAMESPACE__ .'\Foo', 'prueba'), array('Pedro'));

?>

El resultado del ejemplo sería algo similar a:

¡Hola Gema!
¡Hola Pedro!

Ejemplo #3 Usar una función lambda

<?php

$func = function($arg1, $arg2) {
    return $arg1 * $arg2;
};

var_dump(call_user_func_array($func, array(2, 4))); /* A partir de PHP 5.3.0 */

?>

El resultado del ejemplo sería:

int(8)

Notas

Nota:

Antes de PHP 5.4, las variables referenciadas de param_arr son pasadas a la función por referencia, sin tener en cuenta si la función espera que el parámetro respectivo sea pasado por referencia. Esta forma de paso por referncia en tiempo de llamda no emite un aviso de obsolescencia, pero, no obstante, está obsoleta, y ha sido eliminada en PHP 5.4. Además, esto no se aplica a funciones internas, para las que la firma de la funcion es aceptada. Pasar por valor cuando la función espera un parámetro por referencia resulta en una advertencia, y call_user_func() devolverá FALSE (existe, sin embargo, una excepción para valores pasados con cuenta de referencia = 1, como en los literales, ya que pueden convertirse en referencias sin efectos dañinos — aunque también sin escribir que esos valores tengan ningún efecto —; sin embargo, no confíe en este comportamiento, ya que la cuenta de referencia es un detalle de implementación y la solidez de este comportamiento es cuestinable).

Nota:

Las funciones de retorno de llamada que se registran con funciones como call_user_func() y call_user_func_array() no se llamarán si se produce una excepción en la función de retorno previa.

Ver también

  • call_user_func() - Llamar a una llamada de retorno dada por el primer parámetro
  • información acerca de tipos de llamada de retorno
  • ReflectionFunction::invokeArgs() - Invoca a la función con argumentos
  • ReflectionMethod::invokeArgs() - Invoca un método con argumentos

Funciones de Manejo de Funciones
call_user_func
Funciones de Manejo de Funciones


Llamar a una llamada de retorno dada por el primer parámetro

call_user_func_array
create_function
Funciones de Manejo de Funciones
PHP Manual

call_user_func

(PHP 4, PHP 5)

call_user_func — Llamar a una llamada de retorno dada por el primer parámetro

Descripción

mixed call_user_func ( callable $callback [, mixed $parameter [, mixed $... ]] )

Llama a la llamada de retorno dada por el primer parámetro callback y pasa los parámetros restantes como argumentos.

Parámetros

callback

La función llamable (callable) a llamar.

parameter

Cero o más parámetros a pasar a la llamda de retorno.

Nota:

Observe que los parámetros para call_user_func() no son pasados por referencia.

Ejemplo #1 Ejemplo de call_user_func() y referencias

<?php
error_reporting(E_ALL);
function incrementar(&$var)
{
    $var++;
}

$a = 0;
call_user_func('incrementar', $a);
echo $a."\n";

call_user_func_array('incrementar', array(&$a)); // En su lugar se puede usar esto antes de PHP 5.3
echo $a."\n";
?>

El resultado del ejemplo sería:

0
1

Valores devueltos

Devuelve el valor devuelto por la llamada de retorno, o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.3.0 | La interpretación de palabras clave orientadas a objetos como parent y self ha cambiado. Anteriormente al llamarlas usando la sintaxis de dobles dos puntos emitiría una advertencia E_STRICT porque eran interpretadas como estáticas.

Ejemplos

Ejemplo #2 Ejemplo de call_user_func()

<?php
function barbero($tipo)
{
    echo "Usted quiere un corte de pelo al estilo $tipo, sin problemas\n";
}
call_user_func('barbero', "seta");
call_user_func('barbero', "rapado");
?>

El resultado del ejemplo sería:

Usted quiere un corte de pelo al estilo seta, sin problemas
Usted quiere un corte de pelo al estilo rapado, sin problemas

Ejemplo #3 call_user_func() usando un nombre de espacios de nombres

<?php

namespace Foobar;

class Foo {
    static public function prueba() {
        print "¡Hola mundo!\n";
    }
}

call_user_func(__NAMESPACE__ .'\Foo::prueba'); // A partir de PHP 5.3.0
call_user_func(array(__NAMESPACE__ .'\Foo', 'prueba')); // A partir de PHP 5.3.0

?>

El resultado del ejemplo sería:

¡Hola mundo!
¡Hola mundo!

Ejemplo #4 Usar un método de clase con call_user_func()

<?php

class miclase {
    static function saludar()
    {
        echo "¡Hola!\n";
    }
}

$nombreclase = "miclase";

call_user_func(array($nombreclase, 'saludar'));
call_user_func($nombreclase .'::saludar'); // A partir de 5.2.3

$miobjeto = new miclase();

call_user_func(array($miobjeto, 'saludar'));

?>

El resultado del ejemplo sería:

¡Hola!
¡Hola!
¡Hola!

Ejemplo #5 Usar una función lambda con call_user_func()

<?php
call_user_func(function($arg) { print "[$arg]\n"; }, 'prueba'); /* A partir de PHP 5.3.0 */
?>

El resultado del ejemplo sería:

[prueba]

Notas

Nota:

Las funciones de retorno de llamada que se registran con funciones como call_user_func() y call_user_func_array() no se llamarán si se produce una excepción en la función de retorno previa.

Ver también

  • call_user_func_array() - Llamar a una llamada de retorno un array de parámetros
  • is_callable() - Verificar que los contenidos de una variable puedan ser llamados como una función
  • información acerca de tipos de llamada de retorno
  • ReflectionFunction::invoke() - Invoca una función
  • ReflectionMethod::invoke() - Invoca un método

call_user_func_array
create_function
Funciones de Manejo de Funciones


Crear una función anónima (estilo lambda)

call_user_func
forward_static_call_array
Funciones de Manejo de Funciones
PHP Manual

create_function

(PHP 4 >= 4.0.1, PHP 5)

create_function — Crear una función anónima (estilo lambda)

Descripción

string create_function ( string $args , string $code )

Crea una función anónima desde los parámetros pasados, y devuelve un nombre único para ella.

Precaución

Esta función realiza internamente un eval() y como tal tiene los mismos problemas de seguridad que eval(). Además posee características malas de rendimiento y uso de memoria.

Si se usa 5.3.0 o superior, se debería usar en su lugar una función anónima nativa.

Parámetros

Normalmente estos parámetros serán pasados como una cadena entre comillas simples. La razón de usar comillas simples es proteger a los nombres de las variables de ser analizados, de otro modo, si se usan comillas dobles habrá necesidad de escapar los nombres de las variables, p.ej. \$avar.

args

Los argumentos de la función.

code

El código de la función.

Valores devueltos

Devuelve un nombre de función único como cadena, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Crear una función anónima con create_function()

Se puede usar esta función para, por ejemplo, crear una función desde información reunida en tiempo de ejecución:

<?php
$nuevafunc = create_function('$a,$b', 'return "ln($a) + ln($b) = " . log($a * $b);');
echo "Nueva función anónima: $nuevafunc\n";
echo $nuevafunc(2, M_E) . "\n";
// imprime
// Nueva función anónima: lambda_1
// ln(2) + ln(2.718281828459) = 1.6931471805599
?>

O quizás para tener una función gestora general que pueda aplicar un conjunto de operaciones a una lista de parámetros:

Ejemplo #2 Hacer una función de proceso general con create_function()

<?php
function procesar($var1, $var2, $farr)
{
    foreach ($farr as $f) {
        echo $f($var1, $var2) . "\n";
    }
}

// crear un puñado de funciones matemáticas
$f1 = 'if ($a >=0) {return "b*a^2 = ".$b*sqrt($a);} else {return false;}';
$f2 = "return \"min(b^2+a, a^2,b) = \".min(\$a*\$a+\$b,\$b*\$b+\$a);";
$f3 = 'if ($a > 0 && $b != 0) {return "ln(a)/b = ".log($a)/$b; } else { return false; }';
$farr = array(
    create_function('$x,$y', 'return "algo de trigonometría: ".(sin($x) + $x*cos($y));'),
    create_function('$x,$y', 'return "una hipotenusa: ".sqrt($x*$x + $y*$y);'),
    create_function('$a,$b', $f1),
    create_function('$a,$b', $f2),
    create_function('$a,$b', $f3)
    );

echo "\nUsar la primera matriz de funciones anónimas\n";
echo "parámetros: 2.3445, M_PI\n";
procesar(2.3445, M_PI, $farr);

// ahora hacer un puñado de funciones de proceso de cadenas
$garr = array(
    create_function('$b,$a', 'if (strncmp($a, $b, 3) == 0) return "** \"$a\" '.
    'y \"$b\"\n** ¡Para mí se parecen! (mirando los 3 primeros caracteres)";'),
    create_function('$a,$b', '; return "CRCs: " . crc32($a) . ", ".crc32($b);'),
    create_function('$a,$b', '; return "similar(a,b) = " . similar_text($a, $b, &$p) . "($p%)";')
    );
echo "\nUsar la segunda matriz de funciones anónimas\n";
procesar("Cuando los pájaros cantan", "Cuando es de noche", $garr);
?>

El resultado del ejemplo sería:

Usar la primera matriz de funciones anónimas
parámetros: 2.3445, M_PI
algo de trigonometría: -1.6291725057799
una hipotenusa: 3.9199852871011
b*a^2 = 4.8103313314525
min(b^2+a, a^2,b) = 8.6382729035898
ln(a)/b = 0.27122299212594

Usar la segunda matriz de funciones anónimas
** "Cuando es de noche" y "Cuando los pájaros cantan"
** ¡Para mí se parecen! (mirando los 3 primeros caracteres)
CRCs: -725381282, 342550513
similar(a,b) = 11(45.833333333333%)

Pero quizás el uso más común de las funciones estilo lambda (anónimas) sea el de crear funciones de llamada de retorno, por ejemplo cuando se usa array_walk() o usort()

Ejemplo #3 Usar funciones anónimas como funciones de llamada de retorno

<?php
$av = array("el ", "un ", "ese ", "este ");
array_walk($av, create_function('&$v,$k', '$v = $v . "mango";'));
print_r($av);
?>

El resultado del ejemplo sería:

Array
(
  [0] => el mango
  [1] => un mango
  [2] => ese mango
  [3] => este mango
)

una matriz de cadenas ordenada de más corta a más larga

<?php

$sv = array("pequeña", "más larga", "una gran cadena", "esto es una 'señora' cadena");
print_r($sv);

?>

El resultado del ejemplo sería:

Array
(
  [0] => pequeña
  [1] => más larga
  [2] => una gran cadena
  [3] => esto es una 'señora' cadena
)

ordenarla de más larga a más corta

<?php

usort($sv, create_function('$a,$b','return strlen($b) - strlen($a);'));
print_r($sv);

?>

El resultado del ejemplo sería:

Array
(
  [0] => esto es una 'señora' cadena
  [1] => una gran cadena
  [2] => más larga
  [3] => pequeña
)

Ver también

  • Funciones anónimas

call_user_func
forward_static_call_array
Funciones de Manejo de Funciones


Llamar a un método estático y pasar los argumentos como matriz

create_function
forward_static_call
Funciones de Manejo de Funciones
PHP Manual

forward_static_call_array

(PHP 5 >= 5.3.0)

forward_static_call_array — Llamar a un método estático y pasar los argumentos como matriz

Descripción

mixed forward_static_call_array ( callable $function , array $parameters )

Llama a una función o método definido por el usuario, dado por el parámetro function. Esta función debe ser llamada dentro del contexto de un método, no se puede usar fuera de una clase. Usa el Enlace estático en tiempo de ejecución. Todos los argumentos del método a llamar se pasan como valores, y como matriz, similar a call_user_func_array().

Parámetros

function

La función o método a ser llamado. Este parámetro puede ser un array, con el nombre de la clase y del método, o un string, con el nombre de una función.

parameter

Un parámetro, reuniendo todos los parámetros del método en una matriz.

Nota:

Observe que los parámetros para forward_static_call_array() no son pasados por referencia.

Valores devueltos

Devuelve el resultado de la función, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de forward_static_call_array()

<?php

class A
{
    const NOMBRE = 'A';
    public static function prueba() {
        $args = func_get_args();
        echo static::NOMBRE, " ".join(',', $args)." \n";
    }
}

class B extends A
{
    const NOMBRE = 'B';

    public static function prueba() {
        echo self::NOMBRE, "\n";
        forward_static_call_array(array('A', 'prueba'), array('más', 'args'));
        forward_static_call_array( 'prueba', array('otro', 'args'));
    }
}

B::prueba('foo');

function prueba() {
        $args = func_get_args();
        echo "C ".join(',', $args)." \n";
    }

?>

El resultado del ejemplo sería:

B
B más,args
C otro,args

Ver también

  • forward_static_call() - Llamar a un método estático
  • call_user_func() - Llamar a una llamada de retorno dada por el primer parámetro
  • call_user_func_array() - Llamar a una llamada de retorno un array de parámetros
  • is_callable() - Verificar que los contenidos de una variable puedan ser llamados como una función
  • información acerca de tipos de llamada de retorno

create_function
forward_static_call
Funciones de Manejo de Funciones


Llamar a un método estático

forward_static_call_array
func_get_arg
Funciones de Manejo de Funciones
PHP Manual

forward_static_call

(PHP 5 >= 5.3.0)

forward_static_call — Llamar a un método estático

Descripción

mixed forward_static_call ( callable $function [, mixed $parameter [, mixed $... ]] )

Llama a una función o método definido por el usuario, dado por el parámetro function, con los siguientes argumentos. Esta función debe ser llamda dentro del contexto de un método, no se puede usar fuera de una clase. Usa el Enlace estático en tiempo de ejecución.

Parámetros

function

La función o método a ser llamado. Este parámetro puede ser una matriz, con el nombre de la clase y del método, o una cadena, con el nombre una función.

parameter

Cero o más parámetros a ser pasados a la función.

Valores devueltos

Devuelve el resultado de la función, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de forward_static_call()

<?php

class A
{
    const NOMBRE = 'A';
    public static function prueba() {
        $args = func_get_args();
        echo static::NOMBRE, " ".join(',', $args)." \n";
    }
}

class B extends A
{
    const NOMBRE = 'B';

    public static function prueba() {
        echo self::NOMBRE, "\n";
        forward_static_call(array('A', 'prueba'), 'más', 'args');
        forward_static_call( 'prueba', 'otro', 'args');
    }
}

B::prueba('foo');

function prueba() {
        $args = func_get_args();
        echo "C ".join(',', $args)." \n";
    }

?>

El resultado del ejemplo sería:

B
B más,args
C otro,args

Ver también

  • forward_static_call_array() - Llamar a un método estático y pasar los argumentos como matriz
  • call_user_func_array() - Llamar a una llamada de retorno un array de parámetros
  • call_user_func() - Llamar a una llamada de retorno dada por el primer parámetro
  • is_callable() - Verificar que los contenidos de una variable puedan ser llamados como una función
  • información acerca de tipos de llamada de retorno

forward_static_call_array
func_get_arg
Funciones de Manejo de Funciones


Devuelve un elemento de una lista de argumentos

forward_static_call
func_get_args
Funciones de Manejo de Funciones
PHP Manual

func_get_arg

(PHP 4, PHP 5)

func_get_arg — Devuelve un elemento de una lista de argumentos

Descripción

mixed func_get_arg ( int $arg_num )

Obtiene el argumento especificado de una lista de argumentos de una función definida por el usuario.

Esta función se puede usar junto con func_get_args() y func_num_args() para permitir a las funciones de usuario aceptar listas de argumentos de longitud variable.

Parámetros

arg_num

El índice del argumento. Los argumentos de las funciones se empiezana contar desde cero.

Valores devueltos

Devuelve el argumento especificado, o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.3.0 | Esta función ahora se puede usar en listas de parámetros.
5.3.0 | Si esta función es llamada desde el ámbito último de un archivo que ha sido incluido mediante una llamada a include o require desde dentro de una función en el archivo de llamada, ahora genera una advertencia y devuelve FALSE.

Errores/Excepciones

Genera una advertencia si se llama desde fuera de una función definida por el usuario, o si arg_num es mayor que el número de argumentos pasados actualmente.

Ejemplos

Ejemplo #1 Ejemplo de func_get_arg()

<?php
function foo()
{
     $númargs = func_num_args();
     echo "Número de argumentos: $númargs<br />\n";
     if ($númargs >= 2) {
         echo "El segundo argumento es: " . func_get_arg(1) . "<br />\n";
     }
}

foo (1, 2, 3);
?>

Ejemplo #2 Ejemplo de func_get_arg() antes y después de PHP 5.3

prueba.php
<?php
function foo() {
    include './fga.inc';
}

foo('Primer argumento', 'Segundo argumento');
?>

fga.inc
<?php

$arg = func_get_arg(1);
var_export($arg);

?>

Salida anterior a PHP 5.3:

'Segundo argumento'

Salida en PHP 5.3 y posterior:

Warning: func_get_arg():  Called from the global scope - no function
context in /home/torben/Desktop/code/ml/fga.inc on line 3
false

Ejemplo #3 func_get_arg() ejemplo de argumentos byref (pasa un objeto como referencia) y byval (pasa un objeto como valor)

<?php
function byVal($arg) {
    echo 'Pasó como     : ', var_export(func_get_arg(0)), PHP_EOL;
    $arg = 'baz';
    echo 'Tras el cambio: ', var_export(func_get_arg(0)), PHP_EOL;
}

function byRef(&$arg) {
    echo 'Pasó como     : ', var_export(func_get_arg(0)), PHP_EOL;
    $arg = 'baz';
    echo 'Tras el cambio: ', var_export(func_get_arg(0)), PHP_EOL;
}

$arg = 'bar';
byVal($arg);
byRef($arg);
?>

El resultado del ejemplo sería:

Pasó como : 'bar'
Tras el cambio: 'bar'
Pasó como : 'bar'
Tras el cambio: 'baz'

Notas

Nota:

Como esta función depende del ámbito actual para determinar los detalles del parámetro, no puede ser usada como parámetro de función en versiones anteriores a 5.3.0. Si se require pasar el valor, los resultados deben ser asignados a una variable y esta variable debería pasarse como parámetro.

Nota:

Si los argumentos se pasan por su referencia, cualquier cambio en ellos será reflejado en los valores devueltos por esta función.

Nota: Esta función solamente devuelve una copia de los argumentos pasados, y no rinde cuentas de los argumentos predeterminados (no pasados).

Ver también

  • func_get_args() - Devuelve una matriz que se compone de una lista de argumentos de función
  • func_num_args() - Devuelve el número de argumentos pasados a la función

forward_static_call
func_get_args
Funciones de Manejo de Funciones


Devuelve una matriz que se compone de una lista de argumentos de función

func_get_arg
func_num_args
Funciones de Manejo de Funciones
PHP Manual

func_get_args

(PHP 4, PHP 5)

func_get_args — Devuelve una matriz que se compone de una lista de argumentos de función

Descripción

array func_get_args ( void )

Obtiene una matriz de la lista de argumentos de una función.

Esta función se puede usar junto con func_get_arg() y func_num_args() para permitir a las funciones definidas por el usuario aceptar una lista de argumentos de longitud variable.

Valores devueltos

Devuelve una matriz en la que cada elemento es una copia del miembro correspondiente de la lista de argumentos de la función definida por el usuario.

Historial de cambios

Versión | Descripción
5.3.0 | Esta función ahora se puede usar en listas de parámetros.
5.3.0 | Si esta función es llamada desde el ámbito último de un archivo que ha sido incluido mediante una llamada a include o require desde dentro de una función en el archivo de llamada, ahora genera una advertencia y devuelve FALSE.

Errores/Excepciones

Genera una advertencia si se llama desde fuera de una función definida por el usuario.

Ejemplos

Ejemplo #1 Ejemplo de func_get_args()

<?php
function foo()
{
    $númargs = func_num_args();
    echo "Número de argumentos: $númargs<br />\n";
    if ($númargs >= 2) {
        echo "El segundo argumento es: " . func_get_arg(1) . "<br />\n";
    }
    $arg_list = func_get_args();
    for ($i = 0; $i < $númargs; $i++) {
        echo "El argumento $i es: " . $arg_list[$i] . "<br />\n";
    }
}

foo(1, 2, 3);
?>

El resultado del ejemplo sería:

Número de argumentos: 3<br />
El segundo argumento es: 2<br />
El argumento 0 es: 1<br />
El argumento 1 es: 2<br />
El argumento 2 es: 3<br />

Ejemplo #2 Ejemplo de func_get_args() antes y después de PHP 5.3

prueba.php
<?php
function foo() {
    include './fga.inc';
}

foo('Primer argumento', 'Segundo argumento');
?>

fga.inc
<?php

$args = func_get_args();
var_export($args);

?>

Salida antes de PHP 5.3:

array (
  0 => 'Primer argumento',
  1 => 'Segundo argumento',
)

Salida en PHP 5.3 y posterior:

Warning: func_get_args():  Called from the global scope - no function
context in /home/torben/Desktop/code/ml/fga.inc on line 3
false

Ejemplo #3 func_get_args() ejemplo de argumentos byref (pasa un objeto como referencia) y byval (pasa un objeto como valor)

<?php
function byVal($arg) {
    echo 'As passed     : ', var_export(func_get_args()), PHP_EOL;
    $arg = 'baz';
    echo 'After change  : ', var_export(func_get_args()), PHP_EOL;
}

function byRef(&$arg) {
    echo 'As passed     : ', var_export(func_get_args()), PHP_EOL;
    $arg = 'baz';
    echo 'After change  : ', var_export(func_get_args()), PHP_EOL;
}

$arg = 'bar';
byVal($arg);
byRef($arg);
?>

El resultado del ejemplo sería:

Pasó como : array (
0 => 'bar',
)
Tras el cambio : array (
0 => 'bar',
)
Pasó como : array (
0 => 'bar',
)
Tras el cambio : array (
0 => 'baz',
)

Notas

Nota:

Como esta función depende del ámbito actual para determinar los detalles del parámetro, no puede ser usada como parámetro de función en versiones anteriores a 5.3.0. Si se require pasar el valor, los resultados deben ser asignados a una variable y esta variable debería pasarse como parámetro.

Nota:

Si los argumentos se pasan por su referencia, cualquier cambio en ellos será reflejado en los valores devueltos por esta función.

Nota: Esta función solamente devuelve una copia de los argumentos pasados, y no rinde cuentas de los argumentos predeterminados (no pasados).

Ver también

  • func_get_arg() - Devuelve un elemento de una lista de argumentos
  • func_num_args() - Devuelve el número de argumentos pasados a la función
  • ReflectionFunctionAbstract::getParameters() - Obtiene los parámetros

func_get_arg
func_num_args
Funciones de Manejo de Funciones


Devuelve el número de argumentos pasados a la función

func_get_args
function_exists
Funciones de Manejo de Funciones
PHP Manual

func_num_args

(PHP 4, PHP 5)

func_num_args — Devuelve el número de argumentos pasados a la función

Descripción

int func_num_args ( void )

Obtiene el número de argumentos pasados a la función.

Esta función se puede usar junto con func_get_arg() y func_get_args() para permitir a las funciones defenidas por es usuario aceptar listas de argumentos de longitud variable.

Valores devueltos

Devuelve el número de argumentos pasados a la función actual definida por el usuario.

Historial de cambios

Versión | Descripción
5.3.0 | Esta función ahora se puede usar en listas de parámetros.
5.3.0 | Si esta función es llamada desde el ámbito último de un fichero que ha sido incluido mediante una llamada a include o require desde dentro de una función en el fichero de llamada, ahora genera una advertencia y devuelve -1.

Errores/Excepciones

Genera una advertencia si se llama desde fuera de una función definida por el usuario.

Ejemplos

Ejemplo #1 Ejemplo de func_num_args()

<?php
function foo()
{
    $númargs = func_num_args();
    echo "Número de argumentos: $númargs\n";
}

foo(1, 2, 3);
?>

El resultado del ejemplo sería:

Número de argumentos: 3

Ejemplo #2 Ejemplo de func_num_args() antes y después de PHP 5.3

prueba.php
<?php
function foo() {
    include './fna.php';
}

foo('Primer argumento', 'Segundo argumento');
?>

fna.php
<?php

$núm_args = func_num_args();
var_export($núm_args);

?>

Salida antes de PHP 5.3:

2

La salida en PHP 5.3 y posterior será algo similar a:

Warning: func_num_args():  Called from the global scope - no function
context in /home/torben/Desktop/code/ml/fna.inc on line 3
-1

Notas

Nota:

Como esta función depende del ámbito actual para determinar los detalles del parámetro, no puede ser usada como parámetro de función en versiones anteriores a 5.3.0. Si se require pasar el valor, los resultados deben ser asignados a una variable y esta variable debería pasarse como parámetro.

Ver también

  • func_get_arg() - Devuelve un elemento de una lista de argumentos
  • func_get_args() - Devuelve una matriz que se compone de una lista de argumentos de función
  • ReflectionFunctionAbstract::getNumberOfParameters() - Obtiene el número total de parámetros

func_get_args
function_exists
Funciones de Manejo de Funciones


Devuelve TRUE si la función dada ha sido definida

func_num_args
get_defined_functions
Funciones de Manejo de Funciones
PHP Manual

function_exists

(PHP 4, PHP 5)

function_exists — Devuelve TRUE si la función dada ha sido definida

Descripción

bool function_exists ( string $function_name )

Comprueba la lista de funciones definidas, las incluidas (internas) y las definidas por el usuario, para function_name.

Parámetros

function_name

El nombre de la función, como cadena.

Valores devueltos

Devuelve TRUE si function_name existe y es una función, si no, FALSE.

Nota:

Esta función devolverá FALSE para construcciones, tales como include_once y echo.

Ejemplos

Ejemplo #1 Ejemplo de function_exists()

<?php
if (function_exists('imap_open')) {
    echo "Las funciones de IMAP están disponibles.<br />\n";
} else {
    echo "Las funciones de IMAP no están disponibles.<br />\n";
}
?>

Notas

Nota:

Un nombre de función puede existir incluso si la función misma no es utilizabla a causa de las opciones de configuración o de compilación (siendo un ejemplo las funciones de image).

Ver también

  • method_exists() - Comprueba si existe un método de una clase
  • is_callable() - Verificar que los contenidos de una variable puedan ser llamados como una función
  • get_defined_functions() - Devuelve una matriz de todas las funciones definidas
  • class_exists() - Verifica si la clase ha sido definida
  • extension_loaded() - Encontrar si una extensión está cargada

func_num_args
get_defined_functions
Funciones de Manejo de Funciones


Devuelve una matriz de todas las funciones definidas

function_exists
register_shutdown_function
Funciones de Manejo de Funciones
PHP Manual

get_defined_functions

(PHP 4 >= 4.0.4, PHP 5)

get_defined_functions — Devuelve una matriz de todas las funciones definidas

Descripción

array get_defined_functions ( void )

Obtiene una matriz de todas las funciones definidas.

Valores devueltos

Devuelve una matriz multidimensional que contiene una lisata de todas las funciones definidas, tanto de las incluidas (internas) como las definidas por el usuario. Las funciones internas serán accesibles mediante $arr["internal"], y las definidas por el usuario usando $arr["user"] (véase el ejemplo de abajo).

Ejemplos

Ejemplo #1 Ejemplo de get_defined_functions()

<?php
function mifila($id, $data)
{
    return "<tr><th>$id</th><td>$data</td></tr>\n";
}

$arr = get_defined_functions();

print_r($arr);
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [internal] => Array
        (
            [0] => zend_version
            [1] => func_num_args
            [2] => func_get_arg
            [3] => func_get_args
            [4] => strlen
            [5] => strcmp
            [6] => strncmp
            ...
            [750] => bcscale
            [751] => bccomp
        )

    [user] => Array
        (
            [0] => mifila
        )

)

Ver también

  • function_exists() - Devuelve TRUE si la función dada ha sido definida
  • get_defined_vars() - Devuelve una matriz con todas las variables definidas
  • get_defined_constants() - Devuelve un array asociativo con los nombres de todas las constantes y sus valores
  • get_declared_classes() - Devuelve una matriz con los nombres de las clases definidas

function_exists
register_shutdown_function
Funciones de Manejo de Funciones


Registrar una función para que sea ejecutada al cierre

get_defined_functions
register_tick_function
Funciones de Manejo de Funciones
PHP Manual

register_shutdown_function

(PHP 4, PHP 5)

register_shutdown_function — Registrar una función para que sea ejecutada al cierre

Descripción

void register_shutdown_function ( callable $callback [, mixed $parameter [, mixed $... ]] )

Registra una llamada de retorno dada por callback para ser ejecutada después de que finalice la ejecución del scrip o se llame a exit().

Se pueden hacer múltiples llamadas a register_shutdown_function(), y cada una será llamada en el mismo orden en el que fueron registradas. Si se llama a exit() dentro de una función de cierre registrada, el procesamiento se detendrá completamente y no se llamarán a otras funciones de cierre registradas.

Parámetros

callback

La llamada de retorno de cierre a registrar.

Las llamadas de retorno de cierre se ejecutan como parte de una petición, por lo que es posible enviar salidas desde ellas y acceder a los buffers de salida.

parameter

Es posible pasar parámetros a la función de cierre pasando parámetros adicionales.

...

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Se generará un error de nivel E_WARNING si no es posible llamar a la llamada de retorno.

Historial de cambios

Versión | Descripción
4.1.0 | Las funciones de cierre ahora son llamadas como parte de la petición. En versiones anterior bajo Apache, las funciones de cierre registradas eran llamadas después de que la petición hubiera sido completada (incluyendi en envío de cualquier buffer de salida), por lo que no era posible enviar una salida al navegador usando echo o print, o recuperar el contenido de ningún buffer de salida usando ob_get_contents(). Las cabeceras también eran enviadas siempre.

Ejemplos

Ejemplo #1 Ejemplo de register_shutdown_function()

<?php
function cierre()
{
    // Esta es nuestra función de cierre,
    // aquí podemos hacer las últimas operaciones
    // antes de que el script sea completado.

    echo 'Script ejecutado con éxito', PHP_EOL;
}

register_shutdown_function('cierre');
?>

Notas

Nota:

El directorio de trabajo del script se puede cambiar dentro de la función de cierre bajo algunos servidores web, p.ej. Apache.

Nota:

Las funciones de cierre no serán ejecutadas si el proceso es terminado por señales SIGTERM o SIGKILL. Pese a que no es posible interceptar una señal SIGKILL, es posible utilizar pcntl_signal() para registrar un manejador para SIGTERM que utilice exit() para terminar limpiamente.

Ver también

  • auto_append_file
  • exit() - Imprime un mensaje y termina el script actual
  • La sección sobre manejo de conexiones

get_defined_functions
register_tick_function
Funciones de Manejo de Funciones


Registrar una función para que sea ejecutada en cada tick

register_shutdown_function
unregister_tick_function
Funciones de Manejo de Funciones
PHP Manual

register_tick_function

(PHP 4 >= 4.0.3, PHP 5)

register_tick_function — Registrar una función para que sea ejecutada en cada tick

Descripción

bool register_tick_function ( callable $function [, mixed $arg [, mixed $... ]] )

Registra la función dada por function para ser ejecutada cuando se llame a un tick.

Parámetros

function

El nombre de la función como cadena, o una matriz que consiste en un objeto y un método.

arg

...

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de register_tick_function()

<?php
declare(ticks=1);

// usar una función como llamada de retorno
register_tick_function('mi_función', true);

// usar un objeto->método
$objeto = new mi_clase();
register_tick_function(array(&$objeto, 'mi_método'), true);
?>

Historial de cambios

Versión | Descripción
5.3.0 | Los ticks ahora están soportados en los módulos de servidores web que usan hilos.

Notas

Advertencia

No debería usarse register_tick_function() con módulos de servidores web que usan hilos con PHP 5.2 o anterior.

Ver también

  • declare
  • unregister_tick_function() - Dejar de registrar una función para su ejecución en cada tick

register_shutdown_function
unregister_tick_function
Funciones de Manejo de Funciones


Dejar de registrar una función para su ejecución en cada tick

register_tick_function
Object Aggregation
Funciones de Manejo de Funciones
PHP Manual

unregister_tick_function

(PHP 4 >= 4.0.3, PHP 5)

unregister_tick_function — Dejar de registrar una función para su ejecución en cada tick

Descripción

void unregister_tick_function ( string $function_name )

Deja de registrar la función nominada por function_name por lo que ya no se ejecuta más cuando se llame a un tick.

Parámetros

function_name

El nombre de la función, como cadena.

Valores devueltos

No devuelve ningún valor.

Ver también

  • register_tick_function() - Registrar una función para que sea ejecutada en cada tick

register_tick_function
Object Aggregation
Funciones de Manejo de Funciones


Object Aggregation/Composition [PHP 4]

  • Introducción
  • Ejemplos
    • Object Aggregation examples
    • Ejemplos
  • Funciones objeto Aggregation
    • aggregate_info — Gets aggregation information for a given object
    • aggregate_methods_by_list — Selective dynamic class methods aggregation to an object
    • aggregate_methods_by_regexp — Selective class methods aggregation to an object using a regular expression
    • aggregate_methods — Dynamic class and object aggregation of methods
    • aggregate_properties_by_list — Selective dynamic class properties aggregation to an object
    • aggregate_properties_by_regexp — Selective class properties aggregation to an object using a regular expression
    • aggregate_properties — Dynamic aggregation of class properties to an object
    • aggregate — Dynamic class and object aggregation of methods and properties
    • aggregation_info — Alias de aggregate_info
    • deaggregate — Removes the aggregated methods and properties from an object
unregister_tick_function
Introducción
Extensiones relacionadas con variable y tipo


Introducción

Advertencia

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombres de sus funciones y todo lo documentado sobre esta extensión, puede cambiar en una futura edición de PHP sin previo aviso. El uso de esta extensión queda bajo su propia responsabilidad.

En la programación orientada a objetos, es común ver la composición de clases sencillas (o instancias) en una más compleja. Esto es una estrategia flexible para la construcción de objetos complicados y jerarquías de objetos y puede funcionar como una alternativa dinámica a la herencia múltiple. Hay dos formas de realizar la composición de clase (u objeto) dependiendo de la relación entre los elementos compuesto por: Association y Aggregation.

Object Aggregation
Ejemplos
Object Aggregation


Ejemplos

Tabla de contenidos

  • Object Aggregation examples
  • Ejemplos
Introducción
Object Aggregation examples
Object Aggregation


Object Aggregation examples

An Association is a composition of independently constructed and externally visible parts. When we associate classes or objects, each one keeps a reference to the ones it is associated with. When we associate classes statically, one class will contain a reference to an instance of the other class. For example:

Ejemplo #1 Class association

<?php
class MyDateTime {

  function MyDateTime()
  {
      // empty constructor
  }

  function now()
  {
      return date("Y-m-d H:i:s");
  }
}

class Report {
  var $_dt;
  // more properties ...

  function Report()
  {
      $this->_dt = new MyDateTime();
      // initialization code ...
  }

  function generateReport()
  {
      $dateTime = $this->_dt->now();
      // more code ...
  }

  // more methods ...
}

$rep = new Report();
?>
We can also associate instances at runtime by passing a reference in a constructor (or any other method), which allow us to dynamically change the association relationship between objects. We will modify the example above to illustrate this point:

Ejemplo #2 Object association

<?php
class MyDateTime {
  // same as previous example
}

class MyDateTimePlus {
  var $_format;

  function MyDateTimePlus($format="Y-m-d H:i:s")
  {
      $this->_format = $format;
  }

  function now()
  {
      return date($this->_format);
  }
}

class Report {
  var $_dt;    // we'll keep the reference to MyDateTime here
  // more properties ...

  function Report()
  {
      // do some initialization
  }

  function setMyDateTime(&$dt)
  {
      $this->_dt =& $dt;
  }

  function generateReport()
  {
      $dateTime = $this->_dt->now();
      // more code ...
  }

  // more methods ...
}

$rep = new Report();
$dt = new MyDateTime();
$dtp = new MyDateTimePlus("l, F j, Y (h:i:s a, T)");

// generate report with simple date for web display
$rep->setMyDateTime($dt);
echo $rep->generateReport();

// later on in the code ...

// generate report with fancy date
$rep->setMyDateTime($dtp);
$output = $rep->generateReport();
// save $output in database
// ... etc ...
?>

Aggregation, on the other hand, implies encapsulation (hidding) of the parts of the composition. We can aggregate classes by using a (static) inner class (PHP does not yet support inner classes), in this case the aggregated class definition is not accessible, except through the class that contains it. The aggregation of instances (object aggregation) involves the dynamic creation of subobjects inside an object, in the process, expanding the properties and methods of that object.

Object aggregation is a natural way of representing a whole-part relationship, (for example, molecules are aggregates of atoms), or can be used to obtain an effect equivalent to multiple inheritance, without having to permanently bind a subclass to two or more parent classes and their interfaces. In fact object aggregation can be more flexible, in which we can select what methods or properties to "inherit" in the aggregated object.

Ejemplos
Ejemplos
Ejemplos


Ejemplos
PHP Manual

Ejemplos

We define 3 classes, each implementing a different storage method:

Ejemplo #1 storage_classes.inc

<?php
class FileStorage {
   var $data;

   function FileStorage($data)
   {
       $this->data = $data;
   }

   function write($name)
   {
       $fp = fopen(name, "w");
       fwrite($fp, $this->data);
       fclose($data);
   }
}

class WDDXStorage {
   var $data;
   var $version = "1.0";
   var $_id; // "private" variable

   function WDDXStorage($data)
   {
       $this->data = $data;
       $this->_id = $this->_genID();
   }

   function store()
   {
       if ($this->_id) {
           $pid = wddx_packet_start($this->_id);
           wddx_add_vars($pid, "this->data");
           $packet = wddx_packet_end($pid);
       } else {
           $packet = wddx_serialize_value($this->data);
       }
       $dbh = dba_open("varstore", "w", "gdbm");
       dba_insert(md5(uniqid("", true)), $packet, $dbh);
       dba_close($dbh);
   }

   // a private method
   function _genID()
   {
       return md5(uniqid(rand(), true));
   }
}

class DBStorage {
   var $data;
   var $dbtype = "mysql";

   function DBStorage($data)
   {
       $this->data = $data;
   }

   function save()
   {
       $dbh = mysql_connect();
       mysql_select_db("storage", $dbh);
       $serdata = serialize($this->data);
       mysql_query("insert into vars ('$serdata',now())", $dbh);
       mysql_close($dbh);
   }
}

?>

We then instantiate a couple of objects from the defined classes, and perform some aggregations and deaggregations, printing some object information along the way:

Ejemplo #2 test_aggregation.php

<?php
include "storageclasses.inc";

// some utilty functions

function p_arr($arr)
{
   foreach ($arr as $k => $v)
       $out[] = "\t$k => $v";
   return implode("\n", $out);
}

function object_info($obj)
{
   $out[] = "Class: " . get_class($obj);
   foreach (get_object_vars($obj) as $var=>$val) {
       if (is_array($val)) {
           $out[] = "property: $var (array)\n" . p_arr($val);
       } else {
           $out[] = "property: $var = $val";
       }
   }
   foreach (get_class_methods($obj) as $method) {
       $out[] = "method: $method";
   }
   return implode("\n", $out);
}

$data = array(M_PI, "kludge != cruft");

// we create some basic objects
$fs = new FileStorage($data);
$ws = new WDDXStorage($data);

// print information on the objects
echo "\$fs object\n";
echo object_info($fs) . "\n";
echo "\n\$ws object\n";
echo object_info($ws) . "\n";

// do some aggregation

echo "\nLet's aggregate \$fs to the WDDXStorage class\n";
aggregate($fs, "WDDXStorage");
echo "\$fs object\n";
echo object_info($fs) . "\n";

echo "\nNow let us aggregate it to the DBStorage class\n";
aggregate($fs, "DBStorage");
echo "\$fs object\n";
echo object_info($fs) . "\n";

echo "\nAnd finally deaggregate WDDXStorage\n";
deaggregate($fs, "WDDXStorage");
echo "\$fs object\n";
echo object_info($fs) . "\n";

?>

We will now consider the output to understand some of the side-effects and limitation of object aggregation in PHP. First, the newly created $fs and $ws objects give the expected output (according to their respective class declaration). Note that for the purposes of object aggregation, private elements of a class/object begin with an underscore character ("_"), even though there is not real distinction between public and private class/object elements in PHP.

$fs object
Class: filestorage
property: data (array)
   0 => 3.1415926535898
   1 => kludge != cruft
method: filestorage
method: write

$ws object
Class: wddxstorage
property: data (array)
   0 => 3.1415926535898
   1 => kludge != cruft
property: version = 1.0
property: _id = ID::9bb2b640764d4370eb04808af8b076a5
method: wddxstorage
method: store
method: _genid

We then aggregate $fs with the WDDXStorage class, and print out the object information. We can see now that even though nominally the $fs object is still of FileStorage, it now has the property $version, and the method store(), both defined in WDDXStorage. One important thing to note is that it has not aggregated the private elements defined in the class, which are present in the $ws object. Also absent is the constructor from WDDXStorage, which will not be logical to aggegate.

Let's aggregate $fs to the WDDXStorage class
$fs object
Class: filestorage
property: data (array)
   0 => 3.1415926535898
   1 => kludge != cruft
property: version = 1.0
method: filestorage
method: write
method: store

The process of aggregation is cumulative, so when we aggregate $fs with the class DBStorage, generating an object that can use the storage methods of all the defined classes.

Now let us aggregate it to the DBStorage class
$fs object
Class: filestorage
property: data (array)
   0 => 3.1415926535898
   1 => kludge != cruft
property: version = 1.0
property: dbtype = mysql
method: filestorage
method: write
method: store
method: save

Finally, the same way we aggregated properties and methods dynamically, we can also deaggregate them from the object. So, if we deaggregate the class WDDXStorage from $fs, we will obtain:

And deaggregate the WDDXStorage methods and properties
$fs object
Class: filestorage
property: data (array)
   0 => 3.1415926535898
   1 => kludge != cruft
property: dbtype = mysql
method: filestorage
method: write
method: save

One point that we have not mentioned above, is that the process of aggregation will not override existing properties or methods in the objects. For example, the class FileStorage defines a $data property, and the class WDDXStorage also defines a similar property which will not override the one in the object acquired during instantiation from the class FileStorage.

Object Aggregation examples
Funciones objeto Aggregation
Ejemplos
PHP Manual


Funciones objeto Aggregation

Tabla de contenidos

  • aggregate_info — Gets aggregation information for a given object
  • aggregate_methods_by_list — Selective dynamic class methods aggregation to an object
  • aggregate_methods_by_regexp — Selective class methods aggregation to an object using a regular expression
  • aggregate_methods — Dynamic class and object aggregation of methods
  • aggregate_properties_by_list — Selective dynamic class properties aggregation to an object
  • aggregate_properties_by_regexp — Selective class properties aggregation to an object using a regular expression
  • aggregate_properties — Dynamic aggregation of class properties to an object
  • aggregate — Dynamic class and object aggregation of methods and properties
  • aggregation_info — Alias de aggregate_info
  • deaggregate — Removes the aggregated methods and properties from an object
Ejemplos
aggregate_info
Object Aggregation


Gets aggregation information for a given object

Funciones objeto Aggregation
aggregate_methods_by_list
Funciones objeto Aggregation
PHP Manual

aggregate_info

(PHP 4 >= 4.3.0)

aggregate_info — Gets aggregation information for a given object

Descripción

array aggregate_info ( object $object )

Gets the aggregation information for the given object.

Parámetros

object

Valores devueltos

Returns the aggregation information as an associative array of arrays of methods and properties. The key for the main array is the name of the aggregated class.

Ejemplos

Ejemplo #1 Using aggregate_info()

<?php

class Slicer {
    var $vegetable;

    function Slicer($vegetable)
    {
        $this->vegetable = $vegetable;
    }

    function slice_it($num_cuts)
    {
        echo "Doing some simple slicing\n";
        for ($i=0; $i < $num_cuts; $i++) {
            // do some slicing
        }
    }
}

class Dicer {
    var $vegetable;
    var $rotation_angle = 90;   // degrees

    function Dicer($vegetable)
    {
        $this->vegetable = $vegetable;
    }

    function dice_it($num_cuts)
    {
        echo "Cutting in one direction\n";
        for ($i=0; $i < $num_cuts; $i++) {
            // do some cutting
        }
        $this->rotate($this->rotation_angle);
        echo "Cutting in a second direction\n";
        for ($i=0; $i < $num_cuts; $i++) {
            // do some more cutting
        }
    }

    function rotate($deg)
    {
        echo "Now rotating {$this->vegetable} {$deg} degrees\n";
    }

    function _secret_super_dicing($num_cuts)
    {
        // so secret we cannot show you ;-)
    }
}

$obj = new Slicer('onion');
aggregate($obj, 'Dicer');
print_r(aggregate_info($obj));
?>

El resultado del ejemplo sería:

Array
(
    [dicer] => Array
        (
            [methods] => Array
                (
                    [0] => dice_it
                    [1] => rotate
                )

            [properties] => Array
                (
                    [0] => rotation_angle
                )

        )

)
As you can see, all properties and methods of the Dicer class have been aggregated into our new object, with the exception of the class constructor and the method _secret_super_dicing()

Ver también

  • aggregate() - Dynamic class and object aggregation of methods and properties
  • aggregate_methods() - Dynamic class and object aggregation of methods
  • aggregate_methods_by_list() - Selective dynamic class methods aggregation to an object
  • aggregate_methods_by_regexp() - Selective class methods aggregation to an object using a regular expression
  • aggregate_properties() - Dynamic aggregation of class properties to an object
  • aggregate_properties_by_list() - Selective dynamic class properties aggregation to an object
  • aggregate_properties_by_regexp() - Selective class properties aggregation to an object using a regular expression
  • deaggregate() - Removes the aggregated methods and properties from an object

Funciones objeto Aggregation
aggregate_methods_by_list
Funciones objeto Aggregation


Selective dynamic class methods aggregation to an object

aggregate_info
aggregate_methods_by_regexp
Funciones objeto Aggregation
PHP Manual

aggregate_methods_by_list

(PHP 4 >= 4.2.0)

aggregate_methods_by_list — Selective dynamic class methods aggregation to an object

Descripción

void aggregate_methods_by_list ( object $object , string $class_name , array $methods_list [, bool $exclude = false ] )

Aggregates methods from a class to an existing object using a list of method names.

The class constructor or methods whose names start with an underscore character (_), which are considered private to the aggregated class, are always excluded.

Parámetros

object

class_name

methods_list

exclude

The optional parameter exclude is used to decide whether the list contains the names of methods to include in the aggregation (i.e. exclude is FALSE), or to exclude from the aggregation (exclude is TRUE).

Valores devueltos

No devuelve ningún valor.

Ver también

  • aggregate() - Dynamic class and object aggregation of methods and properties
  • aggregate_info() - Gets aggregation information for a given object
  • aggregate_methods() - Dynamic class and object aggregation of methods
  • aggregate_methods_by_regexp() - Selective class methods aggregation to an object using a regular expression
  • aggregate_properties() - Dynamic aggregation of class properties to an object
  • aggregate_properties_by_list() - Selective dynamic class properties aggregation to an object
  • aggregate_properties_by_regexp() - Selective class properties aggregation to an object using a regular expression
  • deaggregate() - Removes the aggregated methods and properties from an object

aggregate_info
aggregate_methods_by_regexp
Funciones objeto Aggregation


Selective class methods aggregation to an object using a regular expression

aggregate_methods_by_list
aggregate_methods
Funciones objeto Aggregation
PHP Manual

aggregate_methods_by_regexp

(PHP 4 >= 4.2.0)

aggregate_methods_by_regexp — Selective class methods aggregation to an object using a regular expression

Descripción

void aggregate_methods_by_regexp ( object $object , string $class_name , string $regexp [, bool $exclude = false ] )

Aggregates methods from a class to an existing object using a regular expression to match method names.

The class constructor or methods whose names start with an underscore character (_), which are considered private to the aggregated class, are always excluded.

Parámetros

object

class_name

regexp

exclude

The optional parameter exclude is used to decide whether the regular expression will select the names of methods to include in the aggregation (i.e. exclude is FALSE), or to exclude from the aggregation (exclude is TRUE).

Valores devueltos

No devuelve ningún valor.

Ver también

  • aggregate() - Dynamic class and object aggregation of methods and properties
  • aggregate_info() - Gets aggregation information for a given object
  • aggregate_methods() - Dynamic class and object aggregation of methods
  • aggregate_methods_by_list() - Selective dynamic class methods aggregation to an object
  • aggregate_properties() - Dynamic aggregation of class properties to an object
  • aggregate_properties_by_list() - Selective dynamic class properties aggregation to an object
  • aggregate_properties_by_regexp() - Selective class properties aggregation to an object using a regular expression
  • deaggregate() - Removes the aggregated methods and properties from an object

aggregate_methods_by_list
aggregate_methods
Funciones objeto Aggregation


Dynamic class and object aggregation of methods

aggregate_methods_by_regexp
aggregate_properties_by_list
Funciones objeto Aggregation
PHP Manual

aggregate_methods

(PHP 4 >= 4.2.0)

aggregate_methods — Dynamic class and object aggregation of methods

Descripción

void aggregate_methods ( object $object , string $class_name )

Aggregates all methods defined in a class to an existing object, except for the class constructor, or methods whose names start with an underscore character (_) which are considered private to the aggregated class.

Parámetros

object

class_name

Valores devueltos

No devuelve ningún valor.

Ver también

  • aggregate() - Dynamic class and object aggregation of methods and properties
  • aggregate_info() - Gets aggregation information for a given object
  • aggregate_methods_by_list() - Selective dynamic class methods aggregation to an object
  • aggregate_methods_by_regexp() - Selective class methods aggregation to an object using a regular expression
  • aggregate_properties() - Dynamic aggregation of class properties to an object
  • aggregate_properties_by_list() - Selective dynamic class properties aggregation to an object
  • aggregate_properties_by_regexp() - Selective class properties aggregation to an object using a regular expression
  • deaggregate() - Removes the aggregated methods and properties from an object

aggregate_methods_by_regexp
aggregate_properties_by_list
Funciones objeto Aggregation


Selective dynamic class properties aggregation to an object

aggregate_methods
aggregate_properties_by_regexp
Funciones objeto Aggregation
PHP Manual

aggregate_properties_by_list

(PHP 4 >= 4.2.0)

aggregate_properties_by_list — Selective dynamic class properties aggregation to an object

Descripción

void aggregate_properties_by_list ( object $object , string $class_name , array $properties_list [, bool $exclude = false ] )

Aggregates properties from a class to an existing object using a list of property names.

The properties whose names start with an underscore character (_), which are considered private to the aggregated class, are always excluded.

Parámetros

object

class_name

properties_list

exclude

The optional parameter exclude is used to decide whether the list contains the names of class properties to include in the aggregation (i.e. exclude is FALSE), or to exclude from the aggregation (exclude is TRUE).

Valores devueltos

No devuelve ningún valor.

Ver también

  • aggregate() - Dynamic class and object aggregation of methods and properties
  • aggregate_methods() - Dynamic class and object aggregation of methods
  • aggregate_methods_by_list() - Selective dynamic class methods aggregation to an object
  • aggregate_methods_by_regexp() - Selective class methods aggregation to an object using a regular expression
  • aggregate_properties() - Dynamic aggregation of class properties to an object
  • aggregate_properties_by_regexp() - Selective class properties aggregation to an object using a regular expression
  • aggregate_info() - Gets aggregation information for a given object
  • deaggregate() - Removes the aggregated methods and properties from an object

aggregate_methods
aggregate_properties_by_regexp
Funciones objeto Aggregation


Selective class properties aggregation to an object using a regular expression

aggregate_properties_by_list
aggregate_properties
Funciones objeto Aggregation
PHP Manual

aggregate_properties_by_regexp

(PHP 4 >= 4.2.0)

aggregate_properties_by_regexp — Selective class properties aggregation to an object using a regular expression

Descripción

void aggregate_properties_by_regexp ( object $object , string $class_name , string $regexp [, bool $exclude = false ] )

Aggregates properties from a class to an existing object using a regular expression to match their names.

The properties whose names start with an underscore character (_), which are considered private to the aggregated class, are always excluded.

Parámetros

object

class_name

regexp

exclude

The optional parameter exclude is used to decide whether the regular expression will select the names of class properties to include in the aggregation (i.e. exclude is FALSE), or to exclude from the aggregation (exclude is TRUE).

Valores devueltos

No devuelve ningún valor.

Ver también

  • aggregate() - Dynamic class and object aggregation of methods and properties
  • aggregate_methods() - Dynamic class and object aggregation of methods
  • aggregate_methods_by_list() - Selective dynamic class methods aggregation to an object
  • aggregate_methods_by_regexp() - Selective class methods aggregation to an object using a regular expression
  • aggregate_properties() - Dynamic aggregation of class properties to an object
  • aggregate_properties_by_list() - Selective dynamic class properties aggregation to an object
  • aggregate_info() - Gets aggregation information for a given object
  • deaggregate() - Removes the aggregated methods and properties from an object

aggregate_properties_by_list
aggregate_properties
Funciones objeto Aggregation


Dynamic aggregation of class properties to an object

aggregate_properties_by_regexp
aggregate
Funciones objeto Aggregation
PHP Manual

aggregate_properties

(PHP 4 >= 4.2.0)

aggregate_properties — Dynamic aggregation of class properties to an object

Descripción

void aggregate_properties ( object $object , string $class_name )

Aggregates all properties defined in a class to an existing object, except for properties whose names start with an underscore character (_) which are considered private to the aggregated class.

Parámetros

object

class_name

Valores devueltos

No devuelve ningún valor.

Ver también

  • aggregate() - Dynamic class and object aggregation of methods and properties
  • aggregate_methods() - Dynamic class and object aggregation of methods
  • aggregate_methods_by_list() - Selective dynamic class methods aggregation to an object
  • aggregate_methods_by_regexp() - Selective class methods aggregation to an object using a regular expression
  • aggregate_properties()
  • aggregate_properties_by_list() - Selective dynamic class properties aggregation to an object
  • aggregate_properties_by_regexp() - Selective class properties aggregation to an object using a regular expression
  • deaggregate() - Removes the aggregated methods and properties from an object

aggregate_properties_by_regexp
aggregate
Funciones objeto Aggregation


Dynamic class and object aggregation of methods and properties

aggregate_properties
aggregation_info
Funciones objeto Aggregation
PHP Manual

aggregate

(PHP 4 >= 4.2.0)

aggregate — Dynamic class and object aggregation of methods and properties

Descripción

void aggregate ( object $object , string $class_name )

Aggregates methods and properties defined in a class to an existing object. Methods and properties with names starting with an underscore character (_) are considered private to the aggregated class and are not used, constructors are also excluded from the aggregation procedure.

Parámetros

object

class_name

Valores devueltos

No devuelve ningún valor.

Ver también

  • aggregate_info() - Gets aggregation information for a given object
  • aggregate_methods() - Dynamic class and object aggregation of methods
  • aggregate_methods_by_list() - Selective dynamic class methods aggregation to an object
  • aggregate_methods_by_regexp() - Selective class methods aggregation to an object using a regular expression
  • aggregate_properties() - Dynamic aggregation of class properties to an object
  • aggregate_properties_by_list() - Selective dynamic class properties aggregation to an object
  • aggregate_properties_by_regexp() - Selective class properties aggregation to an object using a regular expression
  • deaggregate() - Removes the aggregated methods and properties from an object

aggregate_properties
aggregation_info
Funciones objeto Aggregation


Alias de aggregate_info

aggregate
deaggregate
Funciones objeto Aggregation
PHP Manual

aggregation_info

(PHP 4 >= 4.2.0 and < 4.3.0)

aggregation_info — Alias de aggregate_info()

Descripción

Esta función es un alias de: aggregate_info().

aggregate
deaggregate
Funciones objeto Aggregation


Removes the aggregated methods and properties from an object

aggregation_info
Quickhash
Funciones objeto Aggregation
PHP Manual

deaggregate

(PHP 4 >= 4.2.0)

deaggregate — Removes the aggregated methods and properties from an object

Descripción

void deaggregate ( object $object [, string $class_name ] )

Removes the methods and properties from classes that were aggregated to an object.

Parámetros

object

class_name

If the optional class_name parameters is passed, only those methods and properties defined in that class are removed, otherwise all aggregated methods and properties are eliminated.

Valores devueltos

No devuelve ningún valor.

Ver también

  • aggregate() - Dynamic class and object aggregation of methods and properties
  • aggregate_methods() - Dynamic class and object aggregation of methods
  • aggregate_methods_by_list() - Selective dynamic class methods aggregation to an object
  • aggregate_methods_by_regexp() - Selective class methods aggregation to an object using a regular expression
  • aggregate_properties() - Dynamic aggregation of class properties to an object
  • aggregate_properties_by_list() - Selective dynamic class properties aggregation to an object
  • aggregate_properties_by_regexp() - Selective class properties aggregation to an object using a regular expression
  • deaggregate()

aggregation_info
Quickhash
Funciones objeto Aggregation


Quickhash

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
  • Constantes predefinidas
  • Ejemplos
  • QuickHashIntSet — La clase QuickHashIntSet
    • QuickHashIntSet::add — Este método añade una nuevas entrada al conjunto
    • QuickHashIntSet::__construct — Crea un nuevo objeto QuickHashIntSet
    • QuickHashIntSet::delete — Este método elimina una entrada de un conjunto
    • QuickHashIntSet::exists — Este método comprueba si una clave es parte de un conjunto
    • QuickHashIntSet::getSize — Devuelve el número de elementos del conjunto
    • QuickHashIntSet::loadFromFile — Este método de fabricación crear un conjunto desde un fichero
    • QuickHashIntSet::loadFromString — Este método de fabricación crea un conjunto desde una cadena de caracteres
    • QuickHashIntSet::saveToFile — Este método almacena un conjunto que está en la memoria en el disco
    • QuickHashIntSet::saveToString — Este método devuelve una versión serializada del conjunto
  • QuickHashIntHash — La clase QuickHashIntHash
    • QuickHashIntHash::add — Este método añade una nueva entrada al hash
    • QuickHashIntHash::__construct — Crea un nuevo objeto QuickHashIntHash
    • QuickHashIntHash::delete — Este método elimina una entrada de un hash
    • QuickHashIntHash::exists — Este método comprueba si la clave es parte del hash
    • QuickHashIntHash::get — Este método recupera un valor a partir del hash por su clave
    • QuickHashIntHash::getSize — Devuelve el número de elementos de un hash
    • QuickHashIntHash::loadFromFile — Este método de fabricación crea un hash desde un fichero
    • QuickHashIntHash::loadFromString — Este método de fabricación crea un hash dedsde una cadena de caracteres
    • QuickHashIntHash::saveToFile — Este método almacena un hash en memoria en disco
    • QuickHashIntHash::saveToString — Este método devuelve una versión serializada del hash
    • QuickHashIntHash::set — Este método actualiza una entrada del hash con un nuevo valor, o añade una nueva si la entrada no existe
    • QuickHashIntHash::update — Este método actualiza una entrada del hash con un nuevo valor
  • QuickHashStringIntHash — La clase QuickHashStringIntHash
    • QuickHashStringIntHash::add — Este método añade una nueva entrada a un hash
    • QuickHashStringIntHash::__construct — Crea un nuevo objeto QuickHashStringIntHash
    • QuickHashStringIntHash::delete — Este método elimina una entrada del hash
    • QuickHashStringIntHash::exists — Este método comprueba si una clave es parte de un hash
    • QuickHashStringIntHash::get — Este método recupera un valor de un hash mediante su clave
    • QuickHashStringIntHash::getSize — Devuelve el número de elementos de un hash
    • QuickHashStringIntHash::loadFromFile — Este método de fabricación crea un hash desde un fichero
    • QuickHashStringIntHash::loadFromString — Este método de fabricación crea un hash desde una cadena de caracteres
    • QuickHashStringIntHash::saveToFile — This method stores an in-memory hash to disk
    • QuickHashStringIntHash::saveToString — Este método devuelve una versión serializada del hash
    • QuickHashStringIntHash::set — Este método actualiza una entrada de un hash con un nuevo valor, o añade una nueva si la entrada no existe
    • QuickHashStringIntHash::update — Este método actualiza una entrada de un hash con un nuevo valor
  • QuickHashIntStringHash — La clase QuickHashIntStringHash
    • QuickHashIntStringHash::add — Este método añade una nueva entrada a un hash
    • QuickHashIntStringHash::__construct — Crea un nuevo objeto QuickHashIntStringHash
    • QuickHashIntStringHash::delete — Este método elimina una entrada del hash
    • QuickHashIntStringHash::exists — Este método comprueba si una clave es parte de un hash
    • QuickHashIntStringHash::get — Este método recupera un valor de un hash mediante su clave
    • QuickHashIntStringHash::getSize — Devuelve el número de elementos de un hash
    • QuickHashIntStringHash::loadFromFile — Este método de fabricación crea un hash desde un fichero
    • QuickHashIntStringHash::loadFromString — Este método de fabricación crea un hash desde una cadena de caracteres
    • QuickHashIntStringHash::saveToFile — Este método almacena un hash que esté en memoria en el disco
    • QuickHashIntStringHash::saveToString — Este método devuelve una versión serializada del hash
    • QuickHashIntStringHash::set — Este método actualiza una entrada de un hash con un nuevo valor, o añade una nueva si la entrada no existe
    • QuickHashIntStringHash::update — Este método actualiza una entrada de un hash con un nuevo valor
deaggregate
Introducción
Extensiones relacionadas con variable y tipo


Introducción

La extensión QuickHash contiene un conjunto de clases con establecimiento inflexible de tipos específicas para tratar con conjuntos específicos e implementaciones de hash.

Quickhash
Instalación/Configuración
Quickhash


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
Introducción
Requerimientos
Quickhash


Requerimientos

Esta extensión no requiere bibliotecas adicionales.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/quickhash

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Configuración en tiempo de ejecución
Ejemplos
Quickhash


Ejemplos

Ejemplo #1 Ejemplo de Quickhash

<?php
$conjunto = new QuickHashIntSet( 1024, QuickHashIntSet::CHECK_FOR_DUPES );
$conjunto->add( 1 );
$conjunto->add( 3 );

var_dump( $conjunto->exists( 3 ) );
var_dump( $conjunto->exists( 4 ) );

$conjunto->saveToFile( "/tmp/conjunto-prueba.set" );

$conjuntoNuevo = QuickHashIntSet::loadFromFile(
    "/tmp/conjunto-prueba.set"
);

var_dump( $conjuntoNuevo->exists( 3 ) );
var_dump( $conjuntoNuevo->exists( 4 ) );
?>

El resultado del ejemplo sería algo similar a:

bool(true)
bool(false)
bool(true)
bool(false)

Ejemplo #2 Ejemplo de Quickhash con ArrayAccess

<?php
$hash = new QuickHashIntHash( 64 );

// Agregar y actualizar entradas hash.
$hash[3] = 145926;
$hash[3] = 1415926;
$hash[2] = 72;

// Comprobar si existen las claves
var_dump( isset( $hash[3] ) );

// Eliminación de entradas hash
unset( $hash[2] );

// Recuperar el valor almacenado para un hash
echo $hash[3], "\n";
?>

El resultado del ejemplo sería algo similar a:

bool(true)
1415926

Ejemplo #3 Ejemplo de Quickhash con Iterator

<?php
$hash = new QuickHashIntHash( 64 );

// Añadir entradas hash
$hash[1] = 145926;
$hash[2] = 1415926;
$hash[3] = 72;
$hash[4] = 712314;
$hash[5] = -4234;

foreach( $hash as $clave => $valor )
{
    echo $clave, ' => ', $valor, "\n";
}
?>

El resultado del ejemplo sería algo similar a:

5 => -4234
4 => 712314
1 => 145926
2 => 1415926
3 => 72

Ejemplo #4 Ejemplo de valores de tipo string de Quickhash

<?php
$hash = new QuickHashIntStringHash( 64 );

// Añadir entradas hash
$hash[1] = "un millón cuatrocientos quince mil novecientos ventiseis";
$hash->add( 2, "uno más" );

foreach( $hash as $clave => $valor )
{
    echo $clave, ' => ', $valor, "\n";
}
?>

El resultado del ejemplo sería algo similar a:

1 => un millón cuatrocientos quince mil novecientos ventiseis
2 => uno más
Constantes predefinidas
QuickHashIntSet
Quickhash


La clase QuickHashIntSet

(PECL quickhash >= Unknown)

Introducción

Esta clase envuelve un conjunto de contiene números enteros.

Se puede iterar sobre los conjuntos con foreach, ya que la interfaz Iterator también está implementada. No se garantiza el orden de los elementos devueltos.

Sinopsis de la Clase

QuickHashIntSet {
/* Constatntes */
const integer CHECK_FOR_DUPES = 1 ;
const integer DO_NOT_USE_ZEND_ALLOC = 2 ;
const integer HASHER_NO_HASH = 256 ;
const integer HASHER_JENKINS1 = 512 ;
const integer HASHER_JENKINS2 = 1024 ;
/* Métodos */
public bool add ( int $key )
public __construct ( int $size [, int $options ] )
public bool delete ( int $key )
public bool exists ( int $key )
publicint getSize ( void )
public static QuickHashIntSet loadFromFile ( string $filename [, int $size [, int $options ]] )
public static QuickHashIntSet loadFromString ( string $contents [, int $size [, int $options ]] )
public void saveToFile ( string $filename )
public string saveToString ( void )
}

Constantes predefinidas

QuickHashIntSet::CHECK_FOR_DUPES

Si se habilita, la agregación de elementos duplicados a un canjunto (a través de add() o de loadFromFile()) resultará en la eliminación de dichos elementos del conjunto. Esto tomará tiempo extra, por lo que solamente se usa cuando es necesaria.

QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC

Deshabilita es uso del gestor de memoria interno de PHP para las estructuras de conjuntosl Con esta opción habilitada, la asignaciones internas no con respecto a los ajuestes de memory_limit.

QuickHashIntSet::HASHER_NO_HASH

Selecciona el no usar la función de hash, sino que meramente usa un mósulo para buscar el índice de la lista de recipientes. Esto no es más rápido que el uso del hash normal, y se dan más colisiones.

QuickHashIntSet::HASHER_JENKINS1

Esta es la función de hash predeterminada para convertir los hash de tipo integer en índices de lista de recipientes.

QuickHashIntSet::HASHER_JENKINS2

Selecciona un algoritmo de hash alternativo.

Tabla de contenidos

  • QuickHashIntSet::add — Este método añade una nuevas entrada al conjunto
  • QuickHashIntSet::__construct — Crea un nuevo objeto QuickHashIntSet
  • QuickHashIntSet::delete — Este método elimina una entrada de un conjunto
  • QuickHashIntSet::exists — Este método comprueba si una clave es parte de un conjunto
  • QuickHashIntSet::getSize — Devuelve el número de elementos del conjunto
  • QuickHashIntSet::loadFromFile — Este método de fabricación crear un conjunto desde un fichero
  • QuickHashIntSet::loadFromString — Este método de fabricación crea un conjunto desde una cadena de caracteres
  • QuickHashIntSet::saveToFile — Este método almacena un conjunto que está en la memoria en el disco
  • QuickHashIntSet::saveToString — Este método devuelve una versión serializada del conjunto
Ejemplos
QuickHashIntSet::add
Quickhash


Este método añade una nuevas entrada al conjunto

QuickHashIntSet
QuickHashIntSet::__construct
QuickHashIntSet
PHP Manual

QuickHashIntSet::add

(PECL quickhash >= Unknown)

QuickHashIntSet::add — Este método añade una nuevas entrada al conjunto

Descripción

public bool QuickHashIntSet::add ( int $key )

Este método añade una nueva entrada al conjunto, y devuelve si la entrada fue añadida o no. Las entradas siempre son añadidas de forma predeterminada a menos que se hubiera pasado QuickHashIntSet::CHECK_FOR_DUPES al crear el conjunto.

Parámetros

key

La clave de la entrada a añadir.

Valores devueltos

TRUE cuando la entrasa fue añadida, y FALSE si la entrada no se añadió.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashIntSet::add()

<?php
echo "sin comprobación de duplicados\n";
$set = new QuickHashIntSet( 1024 );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );

echo "\ncon comporbación de duplicados\n";
$set = new QuickHashIntSet( 1024, QuickHashIntSet::CHECK_FOR_DUPES );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );
?>

El resultado del ejemplo sería algo similar a:

sin comprobación de duplicados
bool(false)
bool(true)
bool(true)
bool(true)

con comporbación de duplicados
bool(false)
bool(true)
bool(true)
bool(false)

QuickHashIntSet
QuickHashIntSet::__construct
QuickHashIntSet


Crea un nuevo objeto QuickHashIntSet

QuickHashIntSet::add
QuickHashIntSet::delete
QuickHashIntSet
PHP Manual

QuickHashIntSet::__construct

(PECL quickhash >= Unknown)

QuickHashIntSet::__construct — Crea un nuevo objeto QuickHashIntSet

Descripción

public QuickHashIntSet::__construct ( int $size [, int $options ] )

Este constructor crea un nuevo objetos QuickHashIntSet. El tamaño es la cantidad de listas de recipientes a crear. Cuantas más listas existan, menos colisiones ocurrirán. También admite opciones.

Parámetros

size

La cantidad de listas de recipientes a configurar. El número que se pase será automáticamente redondeado hacia la siguiente potencia de dos. También será limitado automáticamente a valores entre 64 y 4194304.

options

Las opciones que se pueden pasar son: QuickHashIntSet::CHECK_FOR_DUPES, que se asegura de que no se añadan entradas duplicadas al conjunto; QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC para no usar el gestor de memoria interna de PHP, y tambíen una de las siguientes: QuickHashIntSet::HASHER_NO_HASH, QuickHashIntSet::HASHER_JENKINS1 o QuickHashIntSet::HASHER_JENKINS2. Estas tres últimas configuran el algoritmo hash a usar. Todas las opcioines se pueden combinar usando máscaras de bits.

Valores devueltos

Devuelve un nuevo objeto QuickHashIntSet.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashIntSet::__construct()

<?php
var_dump( new QuickHashIntSet( 1024 ) );
var_dump( new QuickHashIntSet( 1024, QuickHashIntSet::CHECK_FOR_DUPES ) );
var_dump(
    new QuickHashIntSet(
        1024,
        QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC | QuickHashIntSet::HASHER_JENKINS2
    )
);
?>

QuickHashIntSet::add
QuickHashIntSet::delete
QuickHashIntSet


Este método elimina una entrada de un conjunto

QuickHashIntSet::__construct
QuickHashIntSet::exists
QuickHashIntSet
PHP Manual

QuickHashIntSet::delete

(PECL quickhash >= Unknown)

QuickHashIntSet::delete — Este método elimina una entrada de un conjunto

Descripción

public bool QuickHashIntSet::delete ( int $key )

Este método elimina una entrada de un conjunto, y devuelve si la entrada se eliminó o no. Las estructuras de memoria asociadas no serán liberadas inmediatamente, sino cuando el propio conjunto sea liberado.

Parámetros

key

La clave de la entrada a elminiar.

Valores devueltos

TRUE cuando la entrada se eliminó, FALSE si la entrada no se eliminó.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashIntSet::delete()

<?php
$conjunto = new QuickHashIntSet( 1024 );
var_dump( $conjunto->exists( 4 ) );
var_dump( $conjunto->add( 4 ) );
var_dump( $conjunto->delete( 4 ) );
var_dump( $conjunto->exists( 4 ) );
var_dump( $conjunto->delete( 4 ) );
?>

El resultado del ejemplo sería algo similar a:

bool(false)
bool(true)
bool(true)
bool(false)
bool(false)

QuickHashIntSet::__construct
QuickHashIntSet::exists
QuickHashIntSet


Este método comprueba si una clave es parte de un conjunto

QuickHashIntSet::delete
QuickHashIntSet::getSize
QuickHashIntSet
PHP Manual

QuickHashIntSet::exists

(PECL quickhash >= Unknown)

QuickHashIntSet::exists — Este método comprueba si una clave es parte de un conjunto

Descripción

public bool QuickHashIntSet::exists ( int $key )

Este método comprueba si una entrada con la clave proporcionada existe en el. conjunto.

Parámetros

key

La clave de la entrada para comprobar si existe en el conjunto.

Valores devueltos

Devuelve TRUE si la entrada se encuentra en el conjutno, o FALSE si no.

Ejemplos

Ejemplo #1 Ejempl0 de QuickHashIntSet::exists()

<?php
//generar 200000 elementos
$array = range( 0, 199999 );
$existingEntries = array_rand( array_flip( $array ), 180000 );
$testForEntries = array_rand( array_flip( $array ), 1000 );
$foundCount = 0;

echo "Creating set: ", microtime( true ), "\n";
$set = new QuickHashIntSet( 100000 );
echo "Adding elements: ", microtime( true ), "\n";
foreach( $existingEntries as $key )
{
     $set->add( $key );
}

echo "Doing 1000 tests: ", microtime( true ), "\n";
foreach( $testForEntries as $key )
{
     $foundCount += $set->exists( $key );
}
echo "Done, $foundCount found: ", microtime( true ), "\n";
?>

El resultado del ejemplo sería algo similar a:

Creating set: 1263588703.0748
Adding elements: 1263588703.0757
Doing 1000 tests: 1263588703.7851
Done, 898 found: 1263588703.7897

QuickHashIntSet::delete
QuickHashIntSet::getSize
QuickHashIntSet


Devuelve el número de elementos del conjunto

QuickHashIntSet::exists
QuickHashIntSet::loadFromFile
QuickHashIntSet
PHP Manual

QuickHashIntSet::getSize

(PECL quickhash >= Unknown)

QuickHashIntSet::getSize — Devuelve el número de elementos del conjunto

Descripción

publicint QuickHashIntSet::getSize ( void )

Devuelve el número de elementos del conjunto.

Parámetros

key

La clave de la entrada a añadir.

Valores devueltos

El número de elementos del conjunto.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashIntSet::getSize()

<?php
$set = new QuickHashIntSet( 8 );
var_dump( $set->add( 2 ) );
var_dump( $set->add( 3 ) );
var_dump( $set->getSize() );
?>

El resultado del ejemplo sería algo similar a:

bool(true)
bool(true)
int(2)

QuickHashIntSet::exists
QuickHashIntSet::loadFromFile
QuickHashIntSet


Este método de fabricación crear un conjunto desde un fichero

QuickHashIntSet::getSize
QuickHashIntSet::loadFromString
QuickHashIntSet
PHP Manual

QuickHashIntSet::loadFromFile

(PECL quickhash >= Unknown)

QuickHashIntSet::loadFromFile — Este método de fabricación crear un conjunto desde un fichero

Descripción

public static QuickHashIntSet QuickHashIntSet::loadFromFile ( string $filename [, int $size [, int $options ]] )

Este método crea un nuevo conjunto desde un fichero de definición del disco. El formato del fichero consiste en número enteros de 32 bits con signo empaquetados juntos en el Endianness que use el sistema donde se ejecute el código.

Parámetros

filename

El nombre de fichero del fichero desde donde leer el conjunto.

size

La cantidad de listas de recipientes a configurar. El número pasado será automáticamente redondeado hacia arriba a la potencia de dos más próxima. También será limitada automáticamente de 4 a 4194304.

options

Las mismas opciones que toma el constructor de la clase; excepto que se ignora la opción 'size'. Ésta se calcula automáticamente para que sea el mismo que el número de entradas del conjunto, redondeado hacia arriba a la potencia de dos más próxima con un límite máximo de 4194304.

Valores devueltos

Devuelve un nuevo objeto QuickHashIntSet.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashIntSet::loadFromFile()

<?php
$fichero = dirname( __FILE__ ) . "/simple.set";
$set = QuickHashIntSet::loadFromFile(
    $fichero,
    QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $clave )
{
    printf( "La clave %3d (%2x) %s\n",
        $clave, $clave,
        $set->exists( $clave ) ? 'está establecida' : 'no está establecida'
    );
}
?>

El resultado del ejemplo sería algo similar a:

La clave   0 ( 0) no está establecida
La clave   1 ( 1) está establecida
La clave   2 ( 2) está establecida
La clave   3 ( 3) está establecida
La clave   4 ( 4) no está establecida
La clave   5 ( 5) está establecida
La clave   6 ( 6) no está establecida
La clave   7 ( 7) está establecida
La clave   8 ( 8) no está establecida
La clave   9 ( 9) no está establecida
La clave  10 ( a) no está establecida
La clave  11 ( b) está establecida
La clave  12 ( c) ino está establecida
La clave  13 ( d) está establecida
La clave  14 ( e) no está establecida
La clave  15 ( f) no está establecida

QuickHashIntSet::getSize
QuickHashIntSet::loadFromString
QuickHashIntSet


Este método de fabricación crea un conjunto desde una cadena de caracteres

QuickHashIntSet::loadFromFile
QuickHashIntSet::saveToFile
QuickHashIntSet
PHP Manual

QuickHashIntSet::loadFromString

(PECL quickhash >= Unknown)

QuickHashIntSet::loadFromString — Este método de fabricación crea un conjunto desde una cadena de caracteres

Descripción

public static QuickHashIntSet QuickHashIntSet::loadFromString ( string $contents [, int $size [, int $options ]] )

Este método de fabricación crea un nuevo conjunto desde una definición de una cadena de caracteres. El formato del fichero consiste en número enteros de 32 bits con signo empaquetados juntos en el Endianness que use el sistema donde se ejecute el código.

Parámetros

contents

El string que contiene un formato serializado del conjunto.

size

La cantidad de listas de recipientes a configurar. El número pasado será automáticamente redondeado hacia arriba a la potencia de dos más próxima. También será limitada automáticamente de 4 a 4194304.

options

Las mismas opciones que toma el constructor de la clase; excepto que se ignora la opción 'size'. Ésta se calcula automáticamente para que sea el mismo que el número de entradas del conjunto, redondeado hacia arriba a la potencia de dos más próxima con un límite entre 64 y 4194304.

Valores devueltos

Devuelve un nuevo objeto QuickHashIntSet.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashIntSet::loadFromString()

<?php
$contenido = file_get_contents( dirname( __FILE__ ) . "/simple.set" );
$conjunto = QuickHashIntSet::loadFromString(
    $contenido,
    QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $clave )
{
    printf( "La clave %3d (%2x) %s\n",
        $clave, $clave,
        $set->exists( $clave ) ? 'está establecida' : 'no está establecida'
    );
}
?>

El resultado del ejemplo sería algo similar a:

La clave   0 ( 0) no está establecida
La clave   1 ( 1) está establecida
La clave   2 ( 2) está establecida
La clave   3 ( 3) está establecida
La clave   4 ( 4) no está establecida
La clave   5 ( 5) está establecida
La clave   6 ( 6) no está establecida
La clave   7 ( 7) está establecida
La clave   8 ( 8) no está establecida
La clave   9 ( 9) no está establecida
La clave  10 ( a) no está establecida
La clave  11 ( b) está establecida
La clave  12 ( c) ino está establecida
La clave  13 ( d) está establecida
La clave  14 ( e) no está establecida
La clave  15 ( f) no está establecida

QuickHashIntSet::loadFromFile
QuickHashIntSet::saveToFile
QuickHashIntSet


Este método almacena un conjunto que está en la memoria en el disco

QuickHashIntSet::loadFromString
QuickHashIntSet::saveToString
QuickHashIntSet
PHP Manual

QuickHashIntSet::saveToFile

(PECL quickhash >= Unknown)

QuickHashIntSet::saveToFile — Este método almacena un conjunto que está en la memoria en el disco

Descripción

public void QuickHashIntSet::saveToFile ( string $filename )

Este método almacena un conjunto existente en un fichero del disco, en el mismo formato que puede leer loadFromFile().

Parámetros

filename

El nombre de fichero del fichero donde almacenar el hash.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashIntSet::saveToFile()

<?php
$conjunto = new QuickHashIntSet( 1024 );
var_dump( $conjunto->exists( 4 ) );
var_dump( $conjunto->add( 4 ) );
var_dump( $conjunto->exists( 4 ) );
var_dump( $conjunto->add( 4 ) );

$conjunto->saveToFile( '/tmp/prueba.set' );
?>

QuickHashIntSet::loadFromString
QuickHashIntSet::saveToString
QuickHashIntSet


Este método devuelve una versión serializada del conjunto

QuickHashIntSet::saveToFile
QuickHashIntHash
QuickHashIntSet
PHP Manual

QuickHashIntSet::saveToString

(PECL quickhash >= Unknown)

QuickHashIntSet::saveToString — Este método devuelve una versión serializada del conjunto

Descripción

public string QuickHashIntSet::saveToString ( void )

Este método devuelve una versión serializada del conjunto en el mismo formato que que puede leer loadFromString().

Valores devueltos

Este método de vuelve un string que contiene un formato serializado del conjunto. Cada elementos se almacena como un valor de cuatro bytes en el Endianness que utilice el systema actual.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashIntSet::saveToString()

<?php
$conjunto = new QuickHashIntSet( 1024 );
var_dump( $conjunto->exists( 4 ) );
var_dump( $conjunto->add( 4 ) );
var_dump( $conjunto->exists( 4 ) );
var_dump( $conjunto->add( 4 ) );

var_dump( $conjunto->saveToString() );
?>

QuickHashIntSet::saveToFile
QuickHashIntHash
QuickHashIntSet


La clase QuickHashIntHash

(PECL quickhash >= Unknown)

Introducción

Esta clase envuelve un hash que contiene números enteros, donde los valores también son números enteros. Los hash también están disponibles como implementación de la interfaz ArrayAccess.

También se puede iterar sobre los hash con foreach, ya que la interfaz Iterator también está implementada. No se garantiza el orden de los elementos devueltos.

Sinopsis de la Clase

QuickHashIntHash {
/* Constantes */
const integer CHECK_FOR_DUPES = 1 ;
const integer DO_NOT_USE_ZEND_ALLOC = 2 ;
const integer HASHER_NO_HASH = 256 ;
const integer HASHER_JENKINS1 = 512 ;
const integer HASHER_JENKINS2 = 1024 ;
/* Métodos */
public bool add ( int $key [, int $value ] )
public __construct ( int $size [, int $options ] )
public bool delete ( int $key )
public bool exists ( int $key )
public int get ( int $key )
public int getSize ( void )
public static QuickHashIntHash loadFromFile ( string $filename [, int $options ] )
public static QuickHashIntHash loadFromString ( string $contents [, int $options ] )
public void saveToFile ( string $filename )
public string saveToString ( void )
public bool set ( int $key , int $value )
public bool update ( int $key , int $value )
}

Constantes predefinidas

QuickHashIntHash::CHECK_FOR_DUPES

Si se habilita, la agregación de elementos duplicados a un canjunto (a través de add() o de loadFromFile()) resultará en la eliminación de dichos elementos del conjunto. Esto tomará tiempo extra, por lo que solamente se usa cuando es necesaria.

QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC

Deshabilita es uso del gestor de memoria interno de PHP para las estructuras de conjuntosl Con esta opción habilitada, la asignaciones internas no con respecto a los ajuestes de memory_limit.

QuickHashIntHash::HASHER_NO_HASH

Selecciona el no usar la función de hash, sino que meramente usa un mósulo para buscar el índice de la lista de recipientes. Esto no es más rápido que el uso del hash normal, y se dan más colisiones.

QuickHashIntHash::HASHER_JENKINS1

Esta es la función de hash predeterminada para convertir los hash de tipo integer en índices de lista de recipientes.

QuickHashIntHash::HASHER_JENKINS2

Selecciona un algoritmo de hash alternativo.

Tabla de contenidos

  • QuickHashIntHash::add — Este método añade una nueva entrada al hash
  • QuickHashIntHash::__construct — Crea un nuevo objeto QuickHashIntHash
  • QuickHashIntHash::delete — Este método elimina una entrada de un hash
  • QuickHashIntHash::exists — Este método comprueba si la clave es parte del hash
  • QuickHashIntHash::get — Este método recupera un valor a partir del hash por su clave
  • QuickHashIntHash::getSize — Devuelve el número de elementos de un hash
  • QuickHashIntHash::loadFromFile — Este método de fabricación crea un hash desde un fichero
  • QuickHashIntHash::loadFromString — Este método de fabricación crea un hash dedsde una cadena de caracteres
  • QuickHashIntHash::saveToFile — Este método almacena un hash en memoria en disco
  • QuickHashIntHash::saveToString — Este método devuelve una versión serializada del hash
  • QuickHashIntHash::set — Este método actualiza una entrada del hash con un nuevo valor, o añade una nueva si la entrada no existe
  • QuickHashIntHash::update — Este método actualiza una entrada del hash con un nuevo valor
QuickHashIntSet::saveToString
QuickHashIntHash::add
Quickhash


Este método añade una nueva entrada al hash

QuickHashIntHash
QuickHashIntHash::__construct
QuickHashIntHash
PHP Manual

QuickHashIntHash::add

(PECL quickhash >= Unknown)

QuickHashIntHash::add — Este método añade una nueva entrada al hash

Descripción

public bool QuickHashIntHash::add ( int $key [, int $value ] )

Este método añade una nueva entrada al hash, y devuelve si la entrada se añadió o no. De manera predeterminada, todas las entradas siempre son añadidas a menos que QuickHashIntHash::CHECK_FOR_DUPES fuera pasado al crear el hash.

Parámetros

key

La clave de la entrada a añadir.

value

El valor opcional de la entrada a añadir. Si no se especifica ningún valor, se usará 1.

Valores devueltos

TRUE cuando la entrasa fue añadida, y FALSE si la entrada no se añadió.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashIntHash::add()

<?php
echo "sin comprobación de duplicados\n";
$hash = new QuickHashIntHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, 22 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, 12 ) );

echo "\ncon comprobación de duplicados\n";
$hash = new QuickHashIntHash( 1024, QuickHashIntHash::CHECK_FOR_DUPES );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, 78 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, 9 ) );

echo "\nvalor prederminado\n";
var_dump( $hash->add( 5 ) );
var_dump( $hash->get( 5 ) );
?>

El resultado del ejemplo sería algo similar a:

sin comprobación de duplicados
bool(false)
bool(false)
bool(true)
bool(true)
int(22)
bool(true)

con comprobación de duplicados
bool(false)
bool(false)
bool(true)
bool(true)
int(78)
bool(false)

valor prederminado
bool(true)
int(1)

QuickHashIntHash
QuickHashIntHash::__construct
QuickHashIntHash


Crea un nuevo objeto QuickHashIntHash

QuickHashIntHash::add
QuickHashIntHash::delete
QuickHashIntHash
PHP Manual

QuickHashIntHash::__construct

(PECL quickhash >= Unknown)

QuickHashIntHash::__construct — Crea un nuevo objeto QuickHashIntHash

Descripción

public QuickHashIntHash::__construct ( int $size [, int $options ] )

Este constructor crea un nuevo objeto QuickHashIntHash. El tamaño es la cantidad de listas de recipientes a crear. Cuantas más listas existan, menos colisiones ocurrirán. También admite opciones.

Parámetros

size

La cantidad de listas de recipientes a configurar. El número que se pase será automáticamente redondeado hacia la siguiente potencia de dos. También será limitado automáticamente a valores entre 64 y 4194304.

options

Las opciones que se pueden pasar son: QuickHashIntHash::CHECK_FOR_DUPES, que se asegura de que no se añadan entradas duplicadas al hash; QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC para no usar el gestor de memoria interna de PHP, y tambíen una de las siguientes: QuickHashIntHash::HASHER_NO_HASH, QuickHashIntHash::HASHER_JENKINS1 o QuickHashIntHash::HASHER_JENKINS2. Estas tres últimas configuran el algoritmo hash a usar. Todas las opcioines se pueden combinar usando máscaras de bits.

Valores devueltos

Devuelve un nuevo objeto QuickHashIntHash.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashIntHash::__construct()

<?php
var_dump( new QuickHashIntHash( 1024 ) );
var_dump( new QuickHashIntHash( 1024, QuickHashIntHash::CHECK_FOR_DUPES ) );
var_dump(
    new QuickHashIntHash(
        1024,
        QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC | QuickHashIntHash::HASHER_JENKINS2
    )
);
?>

QuickHashIntHash::add
QuickHashIntHash::delete
QuickHashIntHash


Este método elimina una entrada de un hash

QuickHashIntHash::__construct
QuickHashIntHash::exists
QuickHashIntHash
PHP Manual

QuickHashIntHash::delete

(PECL quickhash >= Unknown)

QuickHashIntHash::delete — Este método elimina una entrada de un hash

Descripción

public bool QuickHashIntHash::delete ( int $key )

Este método elimina una entrada de un hash, y devuelve si la entrada se eliminó o no. Las estructuras de memoria asociadas no serán liberadas inmediatamente, sino cuando el propio hash sea liberado.

Los elementos no se pueden eliminar del hash cuando se use un iterador. El método no lanzará un excepción, sinon que simplemente devolverá FALSE de la misma forma que con cualquier otro fallo de eliminación.

Parámetros

key

La clave de la entrada a eliminar.

Valores devueltos

TRUE cuando la entrada se eliminó, FALSE si la entrada no se eliminó.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashIntHash::delete()

<?php
$hash = new QuickHashIntHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, 5 ) );
var_dump( $hash->delete( 4 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->delete( 4 ) );
?>

El resultado del ejemplo sería algo similar a:

bool(false)
bool(true)
bool(true)
bool(false)
bool(false)

QuickHashIntHash::__construct
QuickHashIntHash::exists
QuickHashIntHash


Este método comprueba si la clave es parte del hash

QuickHashIntHash::delete
QuickHashIntHash::get
QuickHashIntHash
PHP Manual

QuickHashIntHash::exists

(PECL quickhash >= Unknown)

QuickHashIntHash::exists — Este método comprueba si la clave es parte del hash

Descripción

public bool QuickHashIntHash::exists ( int $key )

Este método comprueba si una entrada con la clave proporcionada existe en el hash.

Parámetros

key

La clave de la entrada para comprobar si existe en el hash.

Valores devueltos

Devuelve TRUE cuando la entrada es encontrada, o FALSE si no se encuentra.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashIntHash::exists()

<?php
//generar 200000 elementos
$array = range( 0, 199999 );
$existingEntries = array_rand( array_flip( $array ), 180000 );
$testForEntries = array_rand( array_flip( $array ), 1000 );
$foundCount = 0;

echo "Creating hash: ", microtime( true ), "\n";
$hash = new QuickHashIntHash( 100000 );
echo "Adding elements: ", microtime( true ), "\n";
foreach( $existingEntries as $key )
{
     $hash->add( $key, 56 );
}

echo "Doing 1000 tests: ", microtime( true ), "\n";
foreach( $testForEntries as $key )
{
     $foundCount += $hash->exists( $key );
}
echo "Done, $foundCount found: ", microtime( true ), "\n";
?>

El resultado del ejemplo sería algo similar a:

Creating hash: 1263588703.0748
Adding elements: 1263588703.0757
Doing 1000 tests: 1263588703.7851
Done, 898 found: 1263588703.7897

QuickHashIntHash::delete
QuickHashIntHash::get
QuickHashIntHash


Este método recupera un valor a partir del hash por su clave

QuickHashIntHash::exists
QuickHashIntHash::getSize
QuickHashIntHash
PHP Manual

QuickHashIntHash::get

(PECL quickhash >= Unknown)

QuickHashIntHash::get — Este método recupera un valor a partir del hash por su clave

Descripción

public int QuickHashIntHash::get ( int $key )

Este método recupera un valor a partir del hash por su clave.

Parámetros

key

La clave de la entrada para añadir.

Valores devueltos

El valor si la clave existe, o NULL si la clave no era parte del hash.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashIntHash::get()

<?php
$hash = new QuickHashIntHash( 8 );
var_dump( $hash->get( 1 ) );

var_dump( $hash->add( 2 ) );
var_dump( $hash->get( 2 ) );

var_dump( $hash->add( 3, 5 ) );
var_dump( $hash->get( 3 ) );
?>

El resultado del ejemplo sería algo similar a:

bool(false)
bool(true)
int(1)
bool(true)
int(5)

QuickHashIntHash::exists
QuickHashIntHash::getSize
QuickHashIntHash


Devuelve el número de elementos de un hash

QuickHashIntHash::get
QuickHashIntHash::loadFromFile
QuickHashIntHash
PHP Manual

QuickHashIntHash::getSize

(PECL quickhash >= Unknown)

QuickHashIntHash::getSize — Devuelve el número de elementos de un hash

Descripción

public int QuickHashIntHash::getSize ( void )

Devuelve el número de elementos de un hash.

Parámetros

key

The key of the entry to add.

Valores devueltos

El número de elementos de un hash.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashIntHash::getSize()

<?php
$hash = new QuickHashIntHash( 8 );
var_dump( $hash->add( 2 ) );
var_dump( $hash->add( 3, 5 ) );
var_dump( $hash->getSize() );
?>

El resultado del ejemplo sería algo similar a:

bool(true)
bool(true)
int(2)

QuickHashIntHash::get
QuickHashIntHash::loadFromFile
QuickHashIntHash


Este método de fabricación crea un hash desde un fichero

QuickHashIntHash::getSize
QuickHashIntHash::loadFromString
QuickHashIntHash
PHP Manual

QuickHashIntHash::loadFromFile

(PECL quickhash >= Unknown)

QuickHashIntHash::loadFromFile — Este método de fabricación crea un hash desde un fichero

Descripción

public static QuickHashIntHash QuickHashIntHash::loadFromFile ( string $filename [, int $options ] )

Este método de fabricación crea un nuevo hash desde un fichero de definición del disco. El formato del fichero consiste en una signatura 'QH\0x11\0', el número de elementos como un número entero de 32 con signo bits en el Endianness del sistema, seguido de números enteros de 32 con signo empaquetados juntos en el Endianness que use el sistema donde se ejecuta el código. Por cada elemento del hash existen dos números enteros de 32 bits con signo almacenados. El primero de cada elemento es la clave, y el segundo es el valor al que pertenece la clave. Un ejemplo podría ser:

Ejemplo #1 Formato de fichero de IntHash de QuickHash

00000000  51 48 11 00 02 00 00 00  01 00 00 00 01 00 00 00  |QH..............|
00000010  03 00 00 00 09 00 00 00                           |........|
00000018

Ejemplo #2 Formato de fichero de IntHash de QuickHash

signatura de cabecera ('QH'; tipo de clave: 1; tipo de valor: 1; relleno: \0x00)
00000000  51 48 11 00

número de elementos:
00000004  02 00 00 00

data string:
00000000  01 00 00 00 01 00 00 00  03 00 00 00 09 00 00 00

clave/valor 1 (clave = 1, valor = 1)
01 00 00 00  01 00 00 00

clave/valor 2 (clave = 3, valor = 9)
03 00 00 00  09 00 00 00

Parámetros

filename

El nombre de fichero del fichero desde donde leer el hash.

options

Las mismas opciones que toma el constructor de la clase; excepto que se ignora la opción 'size'. Ésta se calcula automáticamente para que sea el mismo que el número de entradas del hash, redondeado hacia arriba a la potencia de dos más próxima con un límite máximo de 4194304.

Valores devueltos

Devuelve un nuevo objeto QuickHashIntHash.

Ejemplos

Ejemplo #3 Ejemplo de QuickHashIntHash::loadFromFile()

<?php
$fichero = dirname( __FILE__ ) . "/simple.hash";
$hash = QuickHashIntHash::loadFromFile(
    $fichero,
    QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $clave )
{
    printf( "La clave %3d (%2x) %s\n",
        $clave, $clave,
        $hash->exists( $clave ) ? 'está establecida' : 'no está establecida'
    );
}
?>

El resultado del ejemplo sería algo similar a:

La clave   0 ( 0) no está establecida
La clave   1 ( 1) está establecida
La clave   2 ( 2) está establecida
La clave   3 ( 3) está establecida
La clave   4 ( 4) no está establecida
La clave   5 ( 5) está establecida
La clave   6 ( 6) no está establecida
La clave   7 ( 7) está establecida
La clave   8 ( 8) no está establecida
La clave   9 ( 9) no está establecida
La clave  10 ( a) no está establecida
La clave  11 ( b) está establecida
La clave  12 ( c) no está establecida
La clave  13 ( d) está establecida
La clave  14 ( e) no está establecida
La clave  15 ( f) no está establecida

QuickHashIntHash::getSize
QuickHashIntHash::loadFromString
QuickHashIntHash


Este método de fabricación crea un hash dedsde una cadena de caracteres

QuickHashIntHash::loadFromFile
QuickHashIntHash::saveToFile
QuickHashIntHash
PHP Manual

QuickHashIntHash::loadFromString

(PECL quickhash >= Unknown)

QuickHashIntHash::loadFromString — Este método de fabricación crea un hash dedsde una cadena de caracteres

Descripción

public static QuickHashIntHash QuickHashIntHash::loadFromString ( string $contents [, int $options ] )

Este método crea un nuevo hash desde una definición de una cadena de caracteres. El formato del fichero consiste en números enteros de 32 con signo empaquetados juntos en el Endianness que use el sistema donde se ejecuta el código. Por cada elemento existen dos números enteros de 32 bits con signo almacenados. El primero de cada elemento es la clave, y el segundo es el valor al que pertenece la clave.

Parámetros

contents

El string que contiene un formato serializado del hash.

options

Las mismas opciones que toma el constructor de la clase; excepto que se ignora la opción 'size'. Ésta se calcula automáticamente para que sea el mismo que el número de entradas del hash, redondeado hacia arriba a la potencia de dos más próxima con un límite máximo de 4194304.

Valores devueltos

Devuelve un nuevo objeto QuickHashIntHash.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashIntHash::loadFromString()

<?php
$contenido = file_get_contents( dirname( __FILE__ ) . "/simple.hash" );
$hash = QuickHashIntHash::loadFromString(
    $contenido,
    QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $clave )
{
    printf( "La clave %3d (%2x) %s\n",
        $clave, $clave,
        $hash->exists( $clave ) ? 'está establecida' : 'no está establecida'
    );
}
?>

El resultado del ejemplo sería algo similar a:

La clave   0 ( 0) no está establecida
La clave   1 ( 1) está establecida
La clave   2 ( 2) está establecida
La clave   3 ( 3) está establecida
La clave   4 ( 4) no está establecida
La clave   5 ( 5) está establecida
La clave   6 ( 6) no está establecida
La clave   7 ( 7) está establecida
La clave   8 ( 8) no está establecida
La clave   9 ( 9) no está establecida
La clave  10 ( a) no está establecida
La clave  11 ( b) está establecida
La clave  12 ( c) no está establecida
La clave  13 ( d) está establecida
La clave  14 ( e) no está establecida
La clave  15 ( f) no está establecida

QuickHashIntHash::loadFromFile
QuickHashIntHash::saveToFile
QuickHashIntHash


Este método almacena un hash en memoria en disco

QuickHashIntHash::loadFromString
QuickHashIntHash::saveToString
QuickHashIntHash
PHP Manual

QuickHashIntHash::saveToFile

(PECL quickhash >= Unknown)

QuickHashIntHash::saveToFile — Este método almacena un hash en memoria en disco

Descripción

public void QuickHashIntHash::saveToFile ( string $filename )

Este método almacena un hash existente en un fichero del disco, en el mismo formato que loadFromFile() puede leer.

Parámetros

filename

El nombre de fichero del fichero donde almacenar el hash.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashIntHash::saveToFile()

<?php
$hash = new QuickHashIntHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, 43 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, 52 ) );

$hash->saveToFile( '/tmp/prueba.hash' );
?>

QuickHashIntHash::loadFromString
QuickHashIntHash::saveToString
QuickHashIntHash


Este método devuelve una versión serializada del hash

QuickHashIntHash::saveToFile
QuickHashIntHash::set
QuickHashIntHash
PHP Manual

QuickHashIntHash::saveToString

(PECL quickhash >= Unknown)

QuickHashIntHash::saveToString — Este método devuelve una versión serializada del hash

Descripción

public string QuickHashIntHash::saveToString ( void )

Este método devuelve una versión serializada del hash, en el mismo formato que loadFromString() puede leer.

Valores devueltos

Este método devuelve un string que consitne un formato serializado del hash. Cada elemento se almacena como un valor de cuatro bytes en el Endianness que utilice el sistema en uso.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashIntHash::saveToString()

<?php
$hash = new QuickHashIntHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, 34 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, 55 ) );

var_dump( $hash->saveToString() );
?>

QuickHashIntHash::saveToFile
QuickHashIntHash::set
QuickHashIntHash


Este método actualiza una entrada del hash con un nuevo valor, o añade una nueva si la entrada no existe

QuickHashIntHash::saveToString
QuickHashIntHash::update
QuickHashIntHash
PHP Manual

QuickHashIntHash::set

(PECL quickhash >= Unknown)

QuickHashIntHash::set — Este método actualiza una entrada del hash con un nuevo valor, o añade una nueva si la entrada no existe

Descripción

public bool QuickHashIntHash::set ( int $key , int $value )

Este método intenta actualizar una entrada con un nuevo valor. En caso de que la entrada aún no exista, añadirá una nueva entrada en su lugar. Devuelve si la entrada se añadió o se actualizó. Si existen claves duplicadas, únicamente se actualizará el valor del primer elemento encontrado. Use QuickHashIntHash::CHECK_FOR_DUPES durante la creación de un hash para evitar que las claves duplicadas sean parte de un hash.

Parámetros

key

La clave de la entrada a añadir o actualizar.

value

El nuevo valor con el que establecer la entrada.

Valores devueltos

2 si la entrada se encontró y se actualizó, 1 si la entrada se añadió o 0 si ocurrión un error.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashIntHash::set()

<?php
$hash = new QuickHashIntHash( 1024 );

echo "Set->Add\n";
var_dump( $hash->get( 46692 ) );
var_dump( $hash->set( 46692, 16091 ) );
var_dump( $hash->get( 46692 ) );

echo "Set->Update\n";
var_dump( $hash->set( 46692, 29906 ) );
var_dump( $hash->get( 46692 ) );
?>

El resultado del ejemplo sería algo similar a:

bool(false)
int(2)
int(16091)
Set->Update
int(1)
int(29906)

QuickHashIntHash::saveToString
QuickHashIntHash::update
QuickHashIntHash


Este método actualiza una entrada del hash con un nuevo valor

QuickHashIntHash::set
QuickHashStringIntHash
QuickHashIntHash
PHP Manual

QuickHashIntHash::update

(PECL quickhash >= Unknown)

QuickHashIntHash::update — Este método actualiza una entrada del hash con un nuevo valor

Descripción

public bool QuickHashIntHash::update ( int $key , int $value )

Este método actualiza una entrada con un nuevo valor, y devuelve si la entrada fue actualizada. Si update. Si existen claves duplicadas, únicamente se actualizará el valor del primer elemento encontrado. Use QuickHashIntHash::CHECK_FOR_DUPES durante la creación de un hash para evitar que las claves duplicadas sean parte de un hash.

Parámetros

key

La clave de la entrada a añadir.

value

El nuevo valor con el que actualizar la entrada.

Valores devueltos

TRUE cuando la entrada se encontró y se actualizó, y FALSE si la entrada ya no es parte del hash.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashIntHash::update()

<?php
$hash = new QuickHashIntHash( 1024 );

var_dump( $hash->add( 141421, 173205 ) );
var_dump( $hash->update( 141421, 223606 ) );
var_dump( $hash->get( 141421 ) );
?>

El resultado del ejemplo sería algo similar a:

bool(true)
bool(true)
int(223606)

QuickHashIntHash::set
QuickHashStringIntHash
QuickHashIntHash


La clase QuickHashStringIntHash

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Esta clase envuelve un hash que contiene strings, donde los valores son números enteros. Los hash también están disponibles como implementación de la interfaz ArrayAccess.

También se puede iterar sobre los hash con foreach, ya que la interfaz Iterator también está implementada. No se garantiza el orden de los elementos devueltos.

Sinopsis de la Clase

QuickHashStringIntHash {
/* Constantes */
const integer CHECK_FOR_DUPES = 1 ;
const integer DO_NOT_USE_ZEND_ALLOC = 2 ;
/* Métodos */
public bool add ( string $key , int $value )
public __construct ( int $size [, int $options = 0 ] )
public bool delete ( string $key )
public bool exists ( string $key )
public mixed get ( string $key )
public int getSize ( void )
public static QuickHashStringIntHash loadFromFile ( string $filename [, int $size = 0 [, int $options = 0 ]] )
public static QuickHashStringIntHash loadFromString ( string $contents [, int $size = 0 [, int $options = 0 ]] )
public void saveToFile ( string $filename )
public string saveToString ( void )
public int set ( string $key , int $value )
public bool update ( string $key , int $value )
}

Constantes predefinidas

QuickHashStringIntHash::CHECK_FOR_DUPES

Si se habilita, la agregación de elementos duplicados a un canjunto (a través de add() o de loadFromFile()) resultará en la eliminación de dichos elementos del conjunto. Esto tomará tiempo extra, por lo que solamente se usa cuando es necesaria.

QuickHashStringIntHash::DO_NOT_USE_ZEND_ALLOC

Deshabilita es uso del gestor de memoria interno de PHP para las estructuras de conjuntosl Con esta opción habilitada, la asignaciones internas no con respecto a los ajuestes de memory_limit.

Tabla de contenidos

  • QuickHashStringIntHash::add — Este método añade una nueva entrada a un hash
  • QuickHashStringIntHash::__construct — Crea un nuevo objeto QuickHashStringIntHash
  • QuickHashStringIntHash::delete — Este método elimina una entrada del hash
  • QuickHashStringIntHash::exists — Este método comprueba si una clave es parte de un hash
  • QuickHashStringIntHash::get — Este método recupera un valor de un hash mediante su clave
  • QuickHashStringIntHash::getSize — Devuelve el número de elementos de un hash
  • QuickHashStringIntHash::loadFromFile — Este método de fabricación crea un hash desde un fichero
  • QuickHashStringIntHash::loadFromString — Este método de fabricación crea un hash desde una cadena de caracteres
  • QuickHashStringIntHash::saveToFile — This method stores an in-memory hash to disk
  • QuickHashStringIntHash::saveToString — Este método devuelve una versión serializada del hash
  • QuickHashStringIntHash::set — Este método actualiza una entrada de un hash con un nuevo valor, o añade una nueva si la entrada no existe
  • QuickHashStringIntHash::update — Este método actualiza una entrada de un hash con un nuevo valor
QuickHashIntHash::update
QuickHashStringIntHash::add
Quickhash


Este método añade una nueva entrada a un hash

QuickHashStringIntHash
QuickHashStringIntHash::__construct
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::add

(No hay información de versión disponible, podría estar únicamente en SVN)

QuickHashStringIntHash::add — Este método añade una nueva entrada a un hash

Descripción

public bool QuickHashStringIntHash::add ( string $key , int $value )

Este método añade una nueva entrada a un hash, y devuelve si la entrada fue añadida o no. Las entradas se añaden siempre de forma predeterminada a menos que se pase QuickHashStringIntHash::CHECK_FOR_DUPES en la creación del hash.

Parámetros

key

La clave de la entrada a añadir.

value

El valor de la entrada a añadir.

Valores devueltos

TRUE cuando la entrada fue añadida, y FALSE si la entrada no se pudo añadir.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashStringIntHash::add()

<?php
echo "sin comprobación de duplicados\n";
$hash = new QuickHashStringIntHash( 1024 );
var_dump( $hash );
var_dump( $hash->exists( "four" ) );
var_dump( $hash->get( "four" ) );
var_dump( $hash->add( "four", 22 ) );
var_dump( $hash->exists( "four" ) );
var_dump( $hash->get( "four" ) );
var_dump( $hash->add( "four", 12 ) );

echo "\ncon comprobación de duplicados\n";
$hash = new QuickHashStringIntHash( 1024, QuickHashStringIntHash::CHECK_FOR_DUPES );
var_dump( $hash );
var_dump( $hash->exists( "four" ) );
var_dump( $hash->get( "four" ) );
var_dump( $hash->add( "four", 78 ) );
var_dump( $hash->exists( "four" ) );
var_dump( $hash->get( "four" ) );
var_dump( $hash->add( "four", 9 ) );
?>

El resultado del ejemplo sería algo similar a:

sin comprobación de duplicados
object(QuickHashStringIntHash)#1 (0) {
}
bool(false)
bool(false)
bool(true)
bool(true)
int(22)
bool(true)

con comprobación de duplicados
object(QuickHashStringIntHash)#2 (0) {
}
bool(false)
bool(false)
bool(true)
bool(true)
int(78)
bool(false)

QuickHashStringIntHash
QuickHashStringIntHash::__construct
QuickHashStringIntHash


Crea un nuevo objeto QuickHashStringIntHash

QuickHashStringIntHash::add
QuickHashStringIntHash::delete
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::__construct

(No hay información de versión disponible, podría estar únicamente en SVN)

QuickHashStringIntHash::__construct — Crea un nuevo objeto QuickHashStringIntHash

Descripción

public QuickHashStringIntHash::__construct ( int $size [, int $options = 0 ] )

Este constructor crea un nuevo objeto QuickHashStringIntHash. El tamaño es la cantidad de listas de recipientes a crear. Cuantas más listas existan, menos colisiones ocurrirán. También admite opciones.

Parámetros

size

La cantidad de listas de recipientes a configurar. El número que se pase será automáticamente redondeado hacia la siguiente potencia de dos. También será limitado automáticamente a valores entre 64 y 4194304.

options

Las opciones que se pueden pasar son: QuickHashStringIntHash::CHECK_FOR_DUPES, que se asegura de que no se añadan entradas duplicadas al conjunto y QuickHashStringIntHash::DO_NOT_USE_ZEND_ALLOC para no usar el gestor de memoria interna de PHP.

Valores devueltos

Devuelve un nuevo objeto QuickHashStringIntHash.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashStringIntHash::__construct()

<?php
var_dump( new QuickHashStringIntHash( 1024 ) );
var_dump( new QuickHashStringIntHash( 1024, QuickHashStringIntHash::CHECK_FOR_DUPES ) );
?>

QuickHashStringIntHash::add
QuickHashStringIntHash::delete
QuickHashStringIntHash


Este método elimina una entrada del hash

QuickHashStringIntHash::__construct
QuickHashStringIntHash::exists
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::delete

(No hay información de versión disponible, podría estar únicamente en SVN)

QuickHashStringIntHash::delete — Este método elimina una entrada del hash

Descripción

public bool QuickHashStringIntHash::delete ( string $key )

Este método elimina una entrada del hash, y devuelve si la entrada fue eliminada o no.Las estructuras de memoria asociadas no serán liberadas inmediatamente, sino cuando el propio hash sea liberado.

Los elementos no se pueden eliminar del hash cuando se use un iterador. El método no lanzará una excepción, sino que simplemente devolverá FALSE de la misma forma que con cualquier otro fallo de eliminación.

Parámetros

key

La clave de la entrada a eliminar.

Valores devueltos

TRUE cuando la entrada fue eliminada, y FALSE si la entrada no se pudo eliminar.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashStringIntHash::delete()

<?php
$hash = new QuickHashStringIntHash( 1024 );
var_dump( $hash->exists( 'four' ) );
var_dump( $hash->add( 'four', 5 ) );
var_dump( $hash->get( 'four' ) );
var_dump( $hash->delete( 'four' ) );
var_dump( $hash->exists( 'four' ) );
var_dump( $hash->get( 'four' ) );
var_dump( $hash->delete( 'four' ) );
?>

El resultado del ejemplo sería algo similar a:

bool(false)
bool(true)
int(5)
bool(true)
bool(false)
bool(false)
bool(false)

QuickHashStringIntHash::__construct
QuickHashStringIntHash::exists
QuickHashStringIntHash


Este método comprueba si una clave es parte de un hash

QuickHashStringIntHash::delete
QuickHashStringIntHash::get
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::exists

(No hay información de versión disponible, podría estar únicamente en SVN)

QuickHashStringIntHash::exists — Este método comprueba si una clave es parte de un hash

Descripción

public bool QuickHashStringIntHash::exists ( string $key )

Este método comprueba si una entrada con la clave proporcionada existe en el hash.

Parámetros

key

La clave de la entrada para comprobar si existe en el hash.

Valores devueltos

Devuelve TRUE si la entrada se encuentra en el hash, o FALSE si no.

QuickHashStringIntHash::delete
QuickHashStringIntHash::get
QuickHashStringIntHash


Este método recupera un valor de un hash mediante su clave

QuickHashStringIntHash::exists
QuickHashStringIntHash::getSize
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::get

(No hay información de versión disponible, podría estar únicamente en SVN)

QuickHashStringIntHash::get — Este método recupera un valor de un hash mediante su clave

Descripción

public mixed QuickHashStringIntHash::get ( string $key )

Este método recupera un valor de un hash mediante su clave.

Parámetros

key

La clave de la entrada a añadir.

Valores devueltos

El valor de la clave si ésta existe, o NULL si la clave no es parte del hash.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashStringIntHash::get()

<?php
$hash = new QuickHashStringIntHash( 8 );
var_dump( $hash->get( "one" ) );

var_dump( $hash->add( "two", 2 ) );
var_dump( $hash->get( "two" ) );
?>

El resultado del ejemplo sería algo similar a:

bool(false)
bool(true)
int(2)

QuickHashStringIntHash::exists
QuickHashStringIntHash::getSize
QuickHashStringIntHash


Devuelve el número de elementos de un hash

QuickHashStringIntHash::get
QuickHashStringIntHash::loadFromFile
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::getSize

(No hay información de versión disponible, podría estar únicamente en SVN)

QuickHashStringIntHash::getSize — Devuelve el número de elementos de un hash

Descripción

public int QuickHashStringIntHash::getSize ( void )

Devuelve el número de elementos de un hash.

Parámetros

key

La clave de la entrada a añadir.

Valores devueltos

El número de elementos del hash.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashStringIntHash::getSize()

<?php
$hash = new QuickHashStringIntHash( 8 );
var_dump( $hash->add( "two", 2 ) );
var_dump( $hash->add( "three", 5 ) );
var_dump( $hash->getSize() );
?>

El resultado del ejemplo sería algo similar a:

bool(true)
bool(true)
int(2)

QuickHashStringIntHash::get
QuickHashStringIntHash::loadFromFile
QuickHashStringIntHash


Este método de fabricación crea un hash desde un fichero

QuickHashStringIntHash::getSize
QuickHashStringIntHash::loadFromString
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::loadFromFile

(No hay información de versión disponible, podría estar únicamente en SVN)

QuickHashStringIntHash::loadFromFile — Este método de fabricación crea un hash desde un fichero

Descripción

public static QuickHashStringIntHash QuickHashStringIntHash::loadFromFile ( string $filename [, int $size = 0 [, int $options = 0 ]] )

Este método de fabricación crea un nuevo hash desde un fichero de definición del disco. El formato del fichero consiste en una signatura 'QH\0x12\0', el número de elementos como un número entero de 32 bits con signo en el Endianness del sistema, un número entero de 32 sin signo que contiene el número de datos del elemento a seguir en caracteres. Estos datos del elemento contienen todos los strings. Le sigue otro entero de 32 bits con signo que contiene el número de listas de recipientes. Después de la cabecera y los strings, le siguien los elementos. Están ordenados por lista de recipientes, por lo que a las claves no les tendrá que realizar un hash para poder restablecer el hash. Por cada lista de recipientes, se almacena la siguiente información (todos como enteros de 32 bits): el índeice de la lista de recipientes, el número de elementos de dicha lista, y luego, en parejas de dos enteros de 32 bits sin signo, los elementos, donde el primero es el índice dentro de la lista de cadenas que contiene las claves, y el segundo el valor. Un ejemplo podría ser:

Ejemplo #1 Formato de fichero de StringIntHash de QuickHash

00000000  51 48 21 00 02 00 00 00  09 00 00 00 40 00 00 00  |QH!.........@...|
00000010  4f 4e 45 00 4e 49 4e 45  00 07 00 00 00 01 00 00  |ONE.NINE........|
00000020  00 00 00 00 00 01 00 00  00 2f 00 00 00 01 00 00  |........./......|
00000030  00 04 00 00 00 03 00 00  00                       |.........|
00000039

Ejemplo #2 Formato de fichero de StringIntHash de QuickHash

signatura de la cabecera ('QH'; tipo de clave: 2; tipo de valor: 1; relleno: \0x00)
00000000  51 48 21 00

número de elementos:
00000004  02 00 00 00

longitud de los valores de string (9 caracteres):
00000008  09 00 00 00

número de listas de recipientes (esto normalmente se configura para los hash como
argumento del constructor, 64 en este caso):
0000000C  40 00 00 00

valores de string:
00000010  4f 4e 45 00 4e 49 4e 45  00

lista de recipientes:
  lista de recipientes 1 (con clave 7, y 1 elemento):
    cabecera:
    07 00 00 00 01 00 00 00
    elementos (índice de clave: 0 ('ONE'), valor = 0):
    00 00 00 00 01 00 00 00
  lista de recipientes 2 (con clave 0x2f, y 1 elemento):
    header:
    2f 00 00 00 01 00 00 00
    elementos (índice de clave: 4 ('NINE'), valor = 0):
    04 00 00 00 03 00 00 00

Parámetros

filename

El nombre de fichero del fichero desde donde leer el hash.

size

La cantidad de de listas de recipientes a configurar. El número proporcionado será automáticamente redondeado hacia arriba a la potencia de dos más cercana. Tambíen será automáticamente limitado de 4 a 4194304.

options

Las mismas opciones que toma el constructor de la clase; excepto que se ignora la opción 'size'. Ésta se lee desde el formato de fichero (a diferencia de las clases QuickHashIntHash y QuickHashIntStringHash, donde se calcula automáticamente desde el número de entradas del hash.)

Valores devueltos

Devuelve un nuevo objeto QuickHashStringIntHash.

Ejemplos

Ejemplo #3 Ejemplo de QuickHashStringIntHash::loadFromFile()

<?php
$fichero = dirname( __FILE__ ) . "/simple.hash.string";
$hash = QuickHashStringIntHash::loadFromFile(
    $fichero,
    QuickHashStringIntHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $clave )
{
    $i = 48712 + $clave * 1631;
    $k = base_convert( $i, 10, 36 );
    echo $k, ' => ', $hash->get( $k ), "\n";
}
?>

El resultado del ejemplo sería algo similar a:

11l4 => 48712
12uf => 50343
143q => 51974
15d1 => 53605
16mc => 55236
17vn => 56867
194y => 58498
1ae9 => 60129
1bnk => 61760
1cwv => 63391
1e66 => 65022
1ffh => 66653
1gos => 68284
1hy3 => 69915
1j7e => 71546
1kgp => 73177

QuickHashStringIntHash::getSize
QuickHashStringIntHash::loadFromString
QuickHashStringIntHash


Este método de fabricación crea un hash desde una cadena de caracteres

QuickHashStringIntHash::loadFromFile
QuickHashStringIntHash::saveToFile
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::loadFromString

(No hay información de versión disponible, podría estar únicamente en SVN)

QuickHashStringIntHash::loadFromString — Este método de fabricación crea un hash desde una cadena de caracteres

Descripción

public static QuickHashStringIntHash QuickHashStringIntHash::loadFromString ( string $contents [, int $size = 0 [, int $options = 0 ]] )

Este método de fabricación cres un nuevo hash desde un fichero de definición de una cadena de caracteres. El formato es el mismo que el usado en "loadFromFile".

Parámetros

contents

La cadena de caracteres que contiene un formato serializado del hash.

size

La cantidad de listas de recipientes a configurar. El número proporcionado será automáticamente redondeado hacia arriba a la siguiente potencia de dos. También será automáticamente limitado de 4 a 4194304.

options

Las mismas opciones que toma el constructor de la clase; excepto que se ignora la opción 'size'. Ésta se calcula automáticamente para que sea el mismo que el número de entradas del hash, redondeado hacia arriba a la potencia de dos más próxima con un límite máximo de 4194304.

Valores devueltos

Deveulve un nuevo objeto QuickHashStringIntHash.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashStringIntHash::loadFromString()

<?php
$contenido = file_get_contents( dirname( __FILE__ ) . "/simple.hash.string" );
$hash = QuickHashStringIntHash::loadFromString(
    $contenido,
    QuickHashStringIntHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $clave )
{
    $i = 48712 + $clave * 1631;
    $k = base_convert( $i, 10, 36 );
    echo $k, ' => ', $hash->get( $k ), "\n";
}
?>

El resultado del ejemplo sería algo similar a:

11l4 => 48712
12uf => 50343
143q => 51974
15d1 => 53605
16mc => 55236
17vn => 56867
194y => 58498
1ae9 => 60129
1bnk => 61760
1cwv => 63391
1e66 => 65022
1ffh => 66653
1gos => 68284
1hy3 => 69915
1j7e => 71546
1kgp => 73177

QuickHashStringIntHash::loadFromFile
QuickHashStringIntHash::saveToFile
QuickHashStringIntHash


This method stores an in-memory hash to disk

QuickHashStringIntHash::loadFromString
QuickHashStringIntHash::saveToString
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::saveToFile

(No hay información de versión disponible, podría estar únicamente en SVN)

QuickHashStringIntHash::saveToFile — This method stores an in-memory hash to disk

Descripción

public void QuickHashStringIntHash::saveToFile ( string $filename )

Este método almacena un hash existente en un fichero del disco, en el mismo formato que puede leer loadFromFile().

Parámetros

filename

El nombre de fichero del fichero donde almacenar el hash.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashStringIntHash::saveToFile()

<?php
$hash = new QuickHashStringIntHash( 1024 );
var_dump( $hash->add( "fourty three", 42 ) );
var_dump( $hash->add( "fifty two", 52 ) );

$hash->saveToFile( '/tmp/prueba.hash.string' );
?>

QuickHashStringIntHash::loadFromString
QuickHashStringIntHash::saveToString
QuickHashStringIntHash


Este método devuelve una versión serializada del hash

QuickHashStringIntHash::saveToFile
QuickHashStringIntHash::set
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::saveToString

(No hay información de versión disponible, podría estar únicamente en SVN)

QuickHashStringIntHash::saveToString — Este método devuelve una versión serializada del hash

Descripción

public string QuickHashStringIntHash::saveToString ( void )

Este método devuelve una verisón serializada del hash en el mismo formato que puede leer loadFromString().

Valores devueltos

Este método devuelve un formato serializado de un hash existente, en el mismo formato que puede leer loadFromString().

Ejemplos

Ejemplo #1 Ejemplo de QuickHashStringIntHash::saveToString()

<?php
$hash = new QuickHashStringIntHash( 1024 );
var_dump( $hash->add( "fourty three", 42 ) );
var_dump( $hash->add( "fifty two", 52 ) );

var_dump( $hash->saveToString() );
?>

QuickHashStringIntHash::saveToFile
QuickHashStringIntHash::set
QuickHashStringIntHash


Este método actualiza una entrada de un hash con un nuevo valor, o añade una nueva si la entrada no existe

QuickHashStringIntHash::saveToString
QuickHashStringIntHash::update
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::set

(No hay información de versión disponible, podría estar únicamente en SVN)

QuickHashStringIntHash::set — Este método actualiza una entrada de un hash con un nuevo valor, o añade una nueva si la entrada no existe

Descripción

public int QuickHashStringIntHash::set ( string $key , int $value )

Este método intenta actualizar una entrada con un nuevo valor. En caso de que la entrada aún no exista, añadirá una nueva entrada en su lugar. Devuelve si la entrada se añadió o se actualizó. Si existen claves duplicadas, únicamente se actualizará el valor del primer elemento encontrado. Use QuickHashStringIntHash::CHECK_FOR_DUPES durante la creación de un hash para evitar que las claves duplicadas sean parte de un hash.

Parámetros

key

La clave de la entrada a añadir o actualizar.

value

El nuevo valor de la entrada. Si se pasa algo que no sea un string, será convertidoa un string automáticamente, si fuera posible.

Valores devueltos

2 si la entrada se encontró y se actualizó, 1 si la entrada se añadió o 0 si ocurrió un error.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashStringIntHash::set()

<?php
$hash = new QuickHashStringIntHash( 1024 );

echo "Set->Add\n";
var_dump( $hash->get( "fourty six thousand six hundred ninety two" ) );
var_dump( $hash->set( "fourty six thousand six hundred ninety two", 16091 ) );
var_dump( $hash->get( "fourty six thousand six hundred ninety two" ) );

echo "Set->Update\n";
var_dump( $hash->set( "fourty six thousand six hundred ninety two", 29906 ) );
var_dump( $hash->get( "fourty six thousand six hundred ninety two" ) );
?>

El resultado del ejemplo sería algo similar a:

Set->Add
bool(false)
int(2)
int(16091)
Set->Update
int(1)
int(29906)

QuickHashStringIntHash::saveToString
QuickHashStringIntHash::update
QuickHashStringIntHash


Este método actualiza una entrada de un hash con un nuevo valor

QuickHashStringIntHash::set
QuickHashIntStringHash
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::update

(No hay información de versión disponible, podría estar únicamente en SVN)

QuickHashStringIntHash::update — Este método actualiza una entrada de un hash con un nuevo valor

Descripción

public bool QuickHashStringIntHash::update ( string $key , int $value )

Este método actualiza una entrada un nuevo valor, y devuelve si la entrada fue actualizada o no. Si existen claves duplicadas, solamente se actualizará el valor del primero elemento encontrado. Use QuickHashStringIntHash::CHECK_FOR_DUPES durante la creación del hash para evitar que las claves duplicadas sean parte de un hash.

Parámetros

key

La clave de la entrada a añadir.

value

El nuevo valor de la entrada. Si se pasa algo que no sea un string, será convertidoa un string automáticamente, si fuera posible.

Valores devueltos

TRUE si la entrada se encontró y se actualizó, y FALSE si la entrada no formaba parte del hash.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashStringIntHash::update()

<?php
$hash = new QuickHashStringIntHash( 1024 );

$hash->add( 'six', 314159265 );
$hash->add( "a lot", 314159265 );

echo $hash->get( 'six' ), "\n";
echo $hash->get( 'a lot' ), "\n";

var_dump( $hash->update( 'a lot', 314159266 ) );
var_dump( $hash->update( "a lot plus one", 314159999 ) );

echo $hash->get( 'six' ), "\n";
echo $hash->get( 'a lot' ), "\n";
?>

El resultado del ejemplo sería algo similar a:

314159265
314159265
bool(true)
bool(false)
314159265
314159266

QuickHashStringIntHash::set
QuickHashIntStringHash
QuickHashStringIntHash


La clase QuickHashIntStringHash

(PECL quickhash >= Unknown)

Introducción

Esta clase envuelve un hash que contiene números enteros, donde los valores son strings. Los hash también están disponibles como implementación de la interfaz ArrayAccess.

También se puede iterar sobre los hash con foreach, ya que la interfaz Iterator también está implementada. No se garantiza el orden de los elementos devueltos.

Sinopsis de la Clase

QuickHashIntStringHash {
/* Constantes */
const integer CHECK_FOR_DUPES = 1 ;
const integer DO_NOT_USE_ZEND_ALLOC = 2 ;
const integer HASHER_NO_HASH = 256 ;
const integer HASHER_JENKINS1 = 512 ;
const integer HASHER_JENKINS2 = 1024 ;
/* Métodos */
public bool add ( int $key , string $value )
public __construct ( int $size [, int $options = 0 ] )
public bool delete ( int $key )
public bool exists ( int $key )
public mixed get ( int $key )
public int getSize ( void )
public static QuickHashIntStringHash loadFromFile ( string $filename [, int $size = 0 [, int $options = 0 ]] )
public static QuickHashIntStringHash loadFromString ( string $contents [, int $size = 0 [, int $options = 0 ]] )
public void saveToFile ( string $filename )
public string saveToString ( void )
public int set ( int $key , string $value )
public bool update ( int $key , string $value )
}

Constantes predefinidas

QuickHashIntStringHash::CHECK_FOR_DUPES

Si se habilita, la agregación de elementos duplicados a un canjunto (a través de add() o de loadFromFile()) resultará en la eliminación de dichos elementos del conjunto. Esto tomará tiempo extra, por lo que solamente se usa cuando es necesaria.

QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC

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.

QuickHashIntStringHash::HASHER_NO_HASH

Deshabilita es uso del gestor de memoria interno de PHP para las estructuras de conjuntosl Con esta opción habilitada, la asignaciones internas no con respecto a los ajuestes de memory_limit.

QuickHashIntStringHash::HASHER_JENKINS1

Esta es la función de hash predeterminada para convertir los hash de tipo integer en índices de lista de recipientes.

QuickHashIntStringHash::HASHER_JENKINS2

Selecciona un algoritmo de hash alternativo.

Tabla de contenidos

  • QuickHashIntStringHash::add — Este método añade una nueva entrada a un hash
  • QuickHashIntStringHash::__construct — Crea un nuevo objeto QuickHashIntStringHash
  • QuickHashIntStringHash::delete — Este método elimina una entrada del hash
  • QuickHashIntStringHash::exists — Este método comprueba si una clave es parte de un hash
  • QuickHashIntStringHash::get — Este método recupera un valor de un hash mediante su clave
  • QuickHashIntStringHash::getSize — Devuelve el número de elementos de un hash
  • QuickHashIntStringHash::loadFromFile — Este método de fabricación crea un hash desde un fichero
  • QuickHashIntStringHash::loadFromString — Este método de fabricación crea un hash desde una cadena de caracteres
  • QuickHashIntStringHash::saveToFile — Este método almacena un hash que esté en memoria en el disco
  • QuickHashIntStringHash::saveToString — Este método devuelve una versión serializada del hash
  • QuickHashIntStringHash::set — Este método actualiza una entrada de un hash con un nuevo valor, o añade una nueva si la entrada no existe
  • QuickHashIntStringHash::update — Este método actualiza una entrada de un hash con un nuevo valor
QuickHashStringIntHash::update
QuickHashIntStringHash::add
Quickhash


Este método añade una nueva entrada a un hash

QuickHashIntStringHash
QuickHashIntStringHash::__construct
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::add

(PECL quickhash >= Unknown)

QuickHashIntStringHash::add — Este método añade una nueva entrada a un hash

Descripción

public bool QuickHashIntStringHash::add ( int $key , string $value )

Este método añade una nueva entrada a un hash, y devuelve si la entrada fue añadida o no. Las entradas se añaden siempre de forma predeterminada a menos que se pase QuickHashIntStringHash::CHECK_FOR_DUPES en la creación del hash.

Parámetros

key

La clave de la entrada a añadir.

value

El valor de la entrada a añadir. Si se pasa algo que no sea un string, será convertido a un string automáticamente, si fuera posible.

Valores devueltos

TRUE cuando la entrada fue añadida, y FALSE si la entrada no se pudo añadir.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashIntStringHash::add()

<?php
echo "sin comprobación de duplicados\n";
$hash = new QuickHashIntStringHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, "twenty two" ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, "twelve" ) );

echo "\ncon comprobación de duplicados\n";
$hash = new QuickHashIntStringHash( 1024, QuickHashIntStringHash::CHECK_FOR_DUPES );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, "seventy eight" ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, "nine" ) );
?>

El resultado del ejemplo sería algo similar a:

sin comprobación de duplicados
bool(false)
bool(false)
bool(true)
bool(true)
string(10) "twenty two"
bool(true)

con comprobación de duplicados
bool(false)
bool(false)
bool(true)
bool(true)
string(13) "seventy eight"
bool(false)

QuickHashIntStringHash
QuickHashIntStringHash::__construct
QuickHashIntStringHash


Crea un nuevo objeto QuickHashIntStringHash

QuickHashIntStringHash::add
QuickHashIntStringHash::delete
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::__construct

(PECL quickhash >= Unknown)

QuickHashIntStringHash::__construct — Crea un nuevo objeto QuickHashIntStringHash

Descripción

public QuickHashIntStringHash::__construct ( int $size [, int $options = 0 ] )

Este constructor crea un nuevo objeto QuickHashIntStringHash. El tamaño es la cantidad de listas de recipientes a crear. Cuantas más listas existan, menos colisiones ocurrirán. También admite opciones.

Parámetros

size

La cantidad de listas de recipientes a configurar. El número que se pase será automáticamente redondeado hacia la siguiente potencia de dos. También será limitado automáticamente a valores entre 64 y 4194304.

options

Las opciones que se pueden pasar son: QuickHashIntStringHash::CHECK_FOR_DUPES, que se asegura de que no se añadan entradas duplicadas al conjunto; QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC para no usar el gestor de memoria interna de PHP, y tambíen una de las siguientes: QuickHashIntStringHash::HASHER_NO_HASH, QuickHashIntStringHash::HASHER_JENKINS1 o QuickHashIntStringHash::HASHER_JENKINS2. Estas tres últimas configuran el algoritmo hash a usar. Todas las opcioines se pueden combinar usando máscaras de bits.

Valores devueltos

Devuelve un nuevo objeto QuickHashIntStringHash.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashIntStringHash::__construct()

<?php
var_dump( new QuickHashIntStringHash( 1024 ) );
var_dump( new QuickHashIntStringHash( 1024, QuickHashIntStringHash::CHECK_FOR_DUPES ) );
var_dump(
    new QuickHashIntStringHash(
        1024,
        QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC | QuickHashIntStringHash::HASHER_JENKINS2
    )
);
?>

QuickHashIntStringHash::add
QuickHashIntStringHash::delete
QuickHashIntStringHash


Este método elimina una entrada del hash

QuickHashIntStringHash::__construct
QuickHashIntStringHash::exists
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::delete

(PECL quickhash >= Unknown)

QuickHashIntStringHash::delete — Este método elimina una entrada del hash

Descripción

public bool QuickHashIntStringHash::delete ( int $key )

Este método elimina una entrada del hash, y devuelve si la entrada fue eliminada o no.Las estructuras de memoria asociadas no serán liberadas inmediatamente, sino cuando el propio hash sea liberado.

Los elementos no se pueden eliminar del hash cuando se use un iterador. El método no lanzará una excepción, sino que simplemente devolverá FALSE de la misma forma que con cualquier otro fallo de eliminación.

Parámetros

key

La clave de la entrada a eliminar.

Valores devueltos

TRUE cuando la entrada fue eliminada, y FALSE si la entrada no se pudo eliminar.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashIntStringHash::delete()

<?php
$hash = new QuickHashIntStringHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, "five" ) );
var_dump( $hash->delete( 4 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->delete( 4 ) );
?>

El resultado del ejemplo sería algo similar a:

bool(false)
bool(true)
bool(true)
bool(false)
bool(false)

QuickHashIntStringHash::__construct
QuickHashIntStringHash::exists
QuickHashIntStringHash


Este método comprueba si una clave es parte de un hash

QuickHashIntStringHash::delete
QuickHashIntStringHash::get
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::exists

(PECL quickhash >= Unknown)

QuickHashIntStringHash::exists — Este método comprueba si una clave es parte de un hash

Descripción

public bool QuickHashIntStringHash::exists ( int $key )

Este método comprueba si una entrada con la clave proporcionada existe en el hash.

Parámetros

key

La clave de la entrada para comprobar si existe en el hash.

Valores devueltos

Devuelve TRUE si la entrada se encuentra en el hash, o FALSE si no.

QuickHashIntStringHash::delete
QuickHashIntStringHash::get
QuickHashIntStringHash


Este método recupera un valor de un hash mediante su clave

QuickHashIntStringHash::exists
QuickHashIntStringHash::getSize
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::get

(PECL quickhash >= Unknown)

QuickHashIntStringHash::get — Este método recupera un valor de un hash mediante su clave

Descripción

public mixed QuickHashIntStringHash::get ( int $key )

Este método recupera un valor de un hash mediante su clave.

Parámetros

key

La clave de la entrada a añadir.

Valores devueltos

El valor de la clave si ésta existe, o NULL si la clave no es parte del hash.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashIntStringHash::get()

<?php
$hash = new QuickHashIntStringHash( 8 );
var_dump( $hash->get( 1 ) );

var_dump( $hash->add( 2, "two" ) );
var_dump( $hash->get( 2 ) );

var_dump( $hash->add( 3, 5 ) );
var_dump( $hash->get( 3 ) );
?>

El resultado del ejemplo sería algo similar a:

bool(false)
bool(true)
string(3) "two"
bool(true)
string(1) "5"

QuickHashIntStringHash::exists
QuickHashIntStringHash::getSize
QuickHashIntStringHash


Devuelve el número de elementos de un hash

QuickHashIntStringHash::get
QuickHashIntStringHash::loadFromFile
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::getSize

(PECL quickhash >= Unknown)

QuickHashIntStringHash::getSize — Devuelve el número de elementos de un hash

Descripción

public int QuickHashIntStringHash::getSize ( void )

Devuelve el número de elementos de un hash.

Valores devueltos

El número de elementos del hash.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashIntStringHash::getSize()

<?php
$hash = new QuickHashIntStringHash( 8 );
var_dump( $hash->add( 2, "two" ) );
var_dump( $hash->add( 3, 5 ) );
var_dump( $hash->getSize() );
?>

El resultado del ejemplo sería algo similar a:

bool(true)
bool(true)
int(2)

QuickHashIntStringHash::get
QuickHashIntStringHash::loadFromFile
QuickHashIntStringHash


Este método de fabricación crea un hash desde un fichero

QuickHashIntStringHash::getSize
QuickHashIntStringHash::loadFromString
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::loadFromFile

(PECL quickhash >= Unknown)

QuickHashIntStringHash::loadFromFile — Este método de fabricación crea un hash desde un fichero

Descripción

public static QuickHashIntStringHash QuickHashIntStringHash::loadFromFile ( string $filename [, int $size = 0 [, int $options = 0 ]] )

Este método de fabricación crea un nuevo hash desde un fichero de definición del disco. El formato del fichero consiste en una signatura 'QH\0x12\0', el número de elementos como un número entero de 32 bits con signo en el Endianness del sistema, un número entero de 32 sin signo que contiene el número de datos del elemento a seguir en caracteres. Estos datos del elemento contienen todos los strings. Después de la cabecera y los strings, los elementos siguen en parejas de dos enteros de 32 bits sin signo donde el primero es la clave, y el segundo el índice del string de datos del elemento. Un ejemplo podría ser:

Ejemplo #1 Formato de fichero de IntString de QuickHash

00000000  51 48 12 00 02 00 00 00  09 00 00 00 4f 4e 45 00  |QH..........ONE.|
00000010  4e 49 4e 45 00 01 00 00  00 00 00 00 00 03 00 00  |NINE............|
00000020  00 04 00 00 00                                    |.....|
00000025

Ejemplo #2 Formato de fichero de IntString de QuickHash

signatura de la cabecera ('QH'; tipo de clave: 2; tipo de valor: 1; relleno: \0x00)
00000000  51 48 12 00

número de elementos:
00000004  02 00 00 00

longitud de los valores de string (9 caracteres):
00000008  09 00 00 00

valores de string:
0000000C  4f 4e 45 00 4e 49 4e 45  00

string de datos:
00000015  01 00 00 00 00 00 00 00  03 00 00 00 04 00 00 00

clave/valor 1 (clave = 1, índice del string = 0 ("ONE")):
01 00 00 00  00 00 00 00

clave/valor 2 (clave = 3, índice del string = 4 ("NINE")):
03 00 00 00  04 00 00 00

Parámetros

filename

El nombre de fichero del fichero desde donde leer el hash.

size

La cantidad de de listas de recipientes a configurar. El número proporcionado será automáticamente redondeado hacia arriba a la potencia de dos más cercana. Tambíen será automáticamente limitado de 4 a 4194304.

options

Las mismas opciones que toma el constructor de la clase; excepto que se ignora la opción 'size'. Ésta se calcula automáticamente para que sea el mismo que el número de entradas del hash, redondeado hacia arriba a la potencia de dos más próxima con un límite máximo de 4194304.

Valores devueltos

Devuelve un nuevo objeto QuickHashIntStringHash.

Ejemplos

Ejemplo #3 Ejemplo de QuickHashIntStringHash::loadFromFile()

<?php
$fichero = dirname( __FILE__ ) . "/simple.string.hash";
$hash = QuickHashIntStringHash::loadFromFile(
    $fichero,
    QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $clave )
{
    printf( "La clave %3d (%2x) %s\n",
        $clave, $clave,
        $hash->exists( $clave ) ? 'está establecida' : 'no está establecida'
    );
}
?>

El resultado del ejemplo sería algo similar a:

La clave   0 ( 0) no está establecida
La clave   1 ( 1) está establecida
La clave   2 ( 2) está establecida
La clave   3 ( 3) está establecida
La clave   4 ( 4) no está establecida
La clave   5 ( 5) está establecida
La clave   6 ( 6) no está establecida
La clave   7 ( 7) está establecida
La clave   8 ( 8) no está establecida
La clave   9 ( 9) no está establecida
La clave  10 ( a) no está establecida
La clave  11 ( b) está establecida
La clave  12 ( c) no está establecida
La clave  13 ( d) está establecida
La clave  14 ( e) no está establecida
La clave  15 ( f) no está establecida

QuickHashIntStringHash::getSize
QuickHashIntStringHash::loadFromString
QuickHashIntStringHash


Este método de fabricación crea un hash desde una cadena de caracteres

QuickHashIntStringHash::loadFromFile
QuickHashIntStringHash::saveToFile
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::loadFromString

(PECL quickhash >= Unknown)

QuickHashIntStringHash::loadFromString — Este método de fabricación crea un hash desde una cadena de caracteres

Descripción

public static QuickHashIntStringHash QuickHashIntStringHash::loadFromString ( string $contents [, int $size = 0 [, int $options = 0 ]] )

Este método de fabricación cres un nuevo hash desde un fichero de definición de una cadena de caracteres. El formato es el mismo que el usado en "loadFromFile".

Parámetros

contents

La cadena de caracteres que contiene un formato serializado del hash.

size

La cantidad de listas de recipientes a configurar. El número proporcionado será automáticamente redondeado hacia arriba a la siguiente potencia de dos. También será automáticamente limitado de 4 a 4194304.

options

Las mismas opciones que toma el constructor de la clase; excepto que se ignora la opción 'size'. Ésta se calcula automáticamente para que sea el mismo que el número de entradas del hash, redondeado hacia arriba a la potencia de dos más próxima con un límite máximo de 4194304.

Valores devueltos

Deveulve un nuevo objeto QuickHashIntStringHash.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashIntStringHash::loadFromString()

<?php
$contenido = file_get_contents( dirname( __FILE__ ) . "/simple.hash" );
$hash = QuickHashIntStringHash::loadFromString(
    $contenido,
    QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $clave )
{
    printf( "La clave %3d (%2x) %s\n",
        $clave, $clave,
        $hash->exists( $clave ) ? 'está establecida' : 'no está establecida'
    );
}
?>

El resultado del ejemplo sería algo similar a:

La clave   0 ( 0) no está establecida
La clave   1 ( 1) está establecida
La clave   2 ( 2) está establecida
La clave   3 ( 3) está establecida
La clave   4 ( 4) no está establecida
La clave   5 ( 5) está establecida
La clave   6 ( 6) no está establecida
La clave   7 ( 7) está establecida
La clave   8 ( 8) no está establecida
La clave   9 ( 9) no está establecida
La clave  10 ( a) no está establecida
La clave  11 ( b) está establecida
La clave  12 ( c) no está establecida
La clave  13 ( d) está establecida
La clave  14 ( e) no está establecida
La clave  15 ( f) no está establecida

QuickHashIntStringHash::loadFromFile
QuickHashIntStringHash::saveToFile
QuickHashIntStringHash


Este método almacena un hash que esté en memoria en el disco

QuickHashIntStringHash::loadFromString
QuickHashIntStringHash::saveToString
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::saveToFile

(PECL quickhash >= Unknown)

QuickHashIntStringHash::saveToFile — Este método almacena un hash que esté en memoria en el disco

Descripción

public void QuickHashIntStringHash::saveToFile ( string $filename )

Este método almacena un hash existente en un fichero del disco, en el mismo formato que puede leer loadFromFile().

Parámetros

filename

El nombre de fichero del fichero donde almacenar el hash.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashIntStringHash::saveToFile()

<?php
$hash = new QuickHashIntStringHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, "fourty three" ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, "fifty two" ) );

$hash->saveToFile( '/tmp/prueba.string.hash' );
?>

QuickHashIntStringHash::loadFromString
QuickHashIntStringHash::saveToString
QuickHashIntStringHash


Este método devuelve una versión serializada del hash

QuickHashIntStringHash::saveToFile
QuickHashIntStringHash::set
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::saveToString

(PECL quickhash >= Unknown)

QuickHashIntStringHash::saveToString — Este método devuelve una versión serializada del hash

Descripción

public string QuickHashIntStringHash::saveToString ( void )

Este método devuelve una verisón serializada del hash en el mismo formato que puede leer loadFromString().

Valores devueltos

Este método devuelve un string que contiene un formato serializado del hash. Cada elemento se almacena como un valor de cuatro bytes en el Endianness que utilice el sistema en uso.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashIntStringHash::saveToString()

<?php
$hash = new QuickHashIntStringHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, "thirty four" ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 5, "fifty five" ) );

var_dump( $hash->saveToString() );
?>

QuickHashIntStringHash::saveToFile
QuickHashIntStringHash::set
QuickHashIntStringHash


Este método actualiza una entrada de un hash con un nuevo valor, o añade una nueva si la entrada no existe

QuickHashIntStringHash::saveToString
QuickHashIntStringHash::update
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::set

(PECL quickhash >= Unknown)

QuickHashIntStringHash::set — Este método actualiza una entrada de un hash con un nuevo valor, o añade una nueva si la entrada no existe

Descripción

public int QuickHashIntStringHash::set ( int $key , string $value )

Este método intenta actualizar una entrada con un nuevo valor. En caso de que la entrada aún no exista, añadirá una nueva entrada en su lugar. Devuelve si la entrada se añadió o se actualizó. Si existen claves duplicadas, únicamente se actualizará el valor del primer elemento encontrado. Use QuickHashIntStringHash::CHECK_FOR_DUPES durante la creación de un hash para evitar que las claves duplicadas sean parte de un hash.

Parámetros

key

La clave de la entrada a añadir o actualizar.

value

El nuevo valor de la entrada. Si se pasa algo que no sea un string, será convertidoa un string automáticamente, si fuera posible.

Valores devueltos

2 si la entrada se encontró y se actualizó, 1 si la entrada se añadió o 0 si ocurrió un error.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashIntStringHash::set()

<?php
$hash = new QuickHashIntStringHash( 1024 );

echo "Set->Add\n";
var_dump( $hash->get( 46692 ) );
var_dump( $hash->set( 46692, "sixteen thousand ninety one" ) );
var_dump( $hash->get( 46692 ) );

echo "Set->Update\n";
var_dump( $hash->set( 46692, "twenty nine thousand nine hundred six" ) );
var_dump( $hash->get( 46692 ) );
?>

El resultado del ejemplo sería algo similar a:

Set->Add
bool(false)
int(2)
string(27) "sixteen thousand ninety one"
Set->Update
int(1)
string(37) "twenty nine thousand nine hundred six"

QuickHashIntStringHash::saveToString
QuickHashIntStringHash::update
QuickHashIntStringHash


Este método actualiza una entrada de un hash con un nuevo valor

QuickHashIntStringHash::set
Reflexión
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::update

(PECL quickhash >= Unknown)

QuickHashIntStringHash::update — Este método actualiza una entrada de un hash con un nuevo valor

Descripción

public bool QuickHashIntStringHash::update ( int $key , string $value )

Este método actualiza una entrada un nuevo valor, y devuelve si la entrada fue actualizada o no. Si existen claves duplicadas, solamente se actualizará el valor del primero elemento encontrado. Use QuickHashIntStringHash::CHECK_FOR_DUPES durante la creación del hash para evitar que las claves duplicadas sean parte de un hash.

Parámetros

key

La clave de la entrada a añadir.

value

El nuevo valor de la entrada. Si se pasa algo que no sea un string, será convertidoa un string automáticamente, si fuera posible.

Valores devueltos

TRUE si la entrada se encontró y se actualizó, y FALSE si la entrada no formaba parte del hash.

Ejemplos

Ejemplo #1 Ejemplo de QuickHashIntStringHash::update()

<?php
$hash->add( 161803398, "--" );
$hash->add( 314159265, "a lot" );

echo $hash->get( 161803398 ), "\n";
echo $hash->get( 314159265 ), "\n";

var_dump( $hash->update( 314159265, "a lot plus one" ) );
var_dump( $hash->update( 314159999, "a lot plus one" ) );

echo $hash->get( 161803398 ), "\n";
echo $hash->get( 314159265 ), "\n";
?>

El resultado del ejemplo sería algo similar a:

--
a lot
bool(true)
bool(false)
--
a lot plus one

QuickHashIntStringHash::set
Reflexión
QuickHashIntStringHash


Reflexión

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • Extensión
  • Reflection — Clase Reflection
    • Reflection::export — Exportar
    • Reflection::getModifierNames — Obtener nombres de modificadores
  • ReflectionClass — Clase ReflectionClass
    • ReflectionClass::__construct — Construye un objeto de tipo ReflectionClass
    • ReflectionClass::export — Exporta una clase
    • ReflectionClass::getConstant — Obtener una constante definida
    • ReflectionClass::getConstants — Obtener constantes
    • ReflectionClass::getConstructor — Obtiene el constructor de una clase
    • ReflectionClass::getDefaultProperties — Obtener propiedades predeterminadas
    • ReflectionClass::getDocComment — Obtener los comentarios de documentación
    • ReflectionClass::getEndLine — Consultar línea final
    • ReflectionClass::getExtension — Obtiene un objeto ReflectionExtension para la extensión que definió la clase
    • ReflectionClass::getExtensionName — Obtiene el nombre de la extensión que definió una clase
    • ReflectionClass::getFileName — Obtiene el nombre de fichero en el que está definida la clase
    • ReflectionClass::getInterfaceNames — Obtiene nombres de las interfaces
    • ReflectionClass::getInterfaces — Obtiene las interfaces
    • ReflectionClass::getMethod — Obtiene un objeto ReflectionMethod para un método de una clase
    • ReflectionClass::getMethods — Obtiene un array de métodos
    • ReflectionClass::getModifiers — Obtiene modificadores
    • ReflectionClass::getName — Obtiene el nombre de la clase
    • ReflectionClass::getNamespaceName — Obtiene el nombre del espacio de nombres
    • ReflectionClass::getParentClass — Obtiene la clase padre
    • ReflectionClass::getProperties — Obtiene las propiedades
    • ReflectionClass::getProperty — Obtiene un objeto ReflectionProperty para una propiedad de una clase
    • ReflectionClass::getShortName — Obtiene el nombre abreviado
    • ReflectionClass::getStartLine — Obtiene el número de linea de inicio
    • ReflectionClass::getStaticProperties — Obtiene las propiedades estáticas
    • ReflectionClass::getStaticPropertyValue — Obtiene el valor de una propiedad estática
    • ReflectionClass::getTraitAliases — Obtiene un array con los alias usados con los traits
    • ReflectionClass::getTraitNames — Devuelve un array con los nombres de los traits usados por esta clase
    • ReflectionClass::getTraits — Obtiene un array con los traits que utiliza esta clase
    • ReflectionClass::hasConstant — Comprueba si una constante está o no definida
    • ReflectionClass::hasMethod — Comprueba si un método está o no definido
    • ReflectionClass::hasProperty — Comprueba si una propiedad está o no definida
    • ReflectionClass::implementsInterface — Comprueba si se implementa una determinada interfaz
    • ReflectionClass::inNamespace — Comprueba si pertenece a un determinado espacio de nombres
    • ReflectionClass::isAbstract — Comprueba si la clase es abstracta
    • ReflectionClass::isCloneable — Comprueba si la clase es o no clonable
    • ReflectionClass::isFinal — Comprueba si la clase es o no final
    • ReflectionClass::isInstance — Comprueba si un objeto es instancia de la clase
    • ReflectionClass::isInstantiable — Comprueba si una clase es instanciable
    • ReflectionClass::isInterface — Comprueba una la clase es una interfaz
    • ReflectionClass::isInternal — Comprueba si una clase está definida internamente por una extensión o por el núcleo
    • ReflectionClass::isIterateable — Comprueba si es iterable
    • ReflectionClass::isSubclassOf — Comprueba si es una subclase
    • ReflectionClass::isTrait — Comprueba si es un trait
    • ReflectionClass::isUserDefined — Comprueba si es una clase definida por el usuario
    • ReflectionClass::newInstance — Crea una nueva instancia de clase a partir de la lista de parámetros dados
    • ReflectionClass::newInstanceArgs — Crea una nueva instancia de clase a partir de los argumentos dados
    • ReflectionClass::newInstanceWithoutConstructor — Crea una nueva clase sin invocar al constructor
    • ReflectionClass::setStaticPropertyValue — Establece el valor de una propiedad estática
    • ReflectionClass::__toString — Devuelve la representación en forma de string del objeto ReflectionClass
  • ReflectionZendExtension — Clase ReflectionZendExtension
    • ReflectionZendExtension::__clone — Clon de controlador
    • ReflectionZendExtension::__construct — Constructor
    • ReflectionZendExtension::export — Exportar
    • ReflectionZendExtension::getAuthor — Consultar autor
    • ReflectionZendExtension::getCopyright — Consultar los derechos de copia
    • ReflectionZendExtension::getName — Obtiene el nombre
    • ReflectionZendExtension::getURL — Obtiene la URL
    • ReflectionZendExtension::getVersion — Obtiene la versión
    • ReflectionZendExtension::__toString — Convierte a texto
  • ReflectionExtension — Clase ReflectionExtension
    • ReflectionExtension::__clone — Clonar
    • ReflectionExtension::__construct — Constructor de los objetos ReflectionExtension
    • ReflectionExtension::export — Exportar
    • ReflectionExtension::getClasses — Obtiene clases
    • ReflectionExtension::getClassNames — Obtiene nombres de las clases
    • ReflectionExtension::getConstants — Obtiene las constantes
    • ReflectionExtension::getDependencies — Obtiene las dependencias
    • ReflectionExtension::getFunctions — Obtiene las funciones de una extensión
    • ReflectionExtension::getINIEntries — Obtiene las entradas INI de la extensión
    • ReflectionExtension::getName — Obtiene el nombre de la extensión
    • ReflectionExtension::getVersion — Obtiene la versión de una extensión
    • ReflectionExtension::info — Imprime información sobre la extensión
    • ReflectionExtension::isPersistent — Indica si la extensión es persistente
    • ReflectionExtension::isTemporary — Indica si la extensión es temporal
    • ReflectionExtension::__toString — Convertir a string
  • ReflectionFunction — Clase ReflectionFunction
    • ReflectionFunction::__construct — Contruye un objeto de tipo ReflectionFunction
    • ReflectionFunction::export — Exporta una función
    • ReflectionFunction::getClosure — Genera dinámicamente una función anónima de esta función
    • ReflectionFunction::invoke — Invoca una función
    • ReflectionFunction::invokeArgs — Invoca a la función con argumentos
    • ReflectionFunction::isDisabled — Comprueba si una función está desactivada
    • ReflectionFunction::__toString — Convertir a string
  • ReflectionFunctionAbstract — Clase ReflectionFunctionAbstract
    • ReflectionFunctionAbstract::__clone — Clona una función
    • ReflectionFunctionAbstract::getClosureScopeClass — Devuelve el alcance asociado a la clausura
    • ReflectionFunctionAbstract::getClosureThis — Devuelve una función anónima que apunta a esta función
    • ReflectionFunctionAbstract::getDocComment — Obtiene comentarios de documentación
    • ReflectionFunctionAbstract::getEndLine — Obtiene número de linea final
    • ReflectionFunctionAbstract::getExtension — Obtiene información sobre la extensión
    • ReflectionFunctionAbstract::getExtensionName — Obtiene el nombre de la extensión
    • ReflectionFunctionAbstract::getFileName — Obtiene el nombre del fichero
    • ReflectionFunctionAbstract::getName — Obtiene el nombre de la función
    • ReflectionFunctionAbstract::getNamespaceName — Obtiene el nombre del espacio de nombres
    • ReflectionFunctionAbstract::getNumberOfParameters — Obtiene el número total de parámetros
    • ReflectionFunctionAbstract::getNumberOfRequiredParameters — Obtiene el número de parámetros obligatorios
    • ReflectionFunctionAbstract::getParameters — Obtiene los parámetros
    • ReflectionFunctionAbstract::getShortName — Obtiene el nombre abreviado de la función
    • ReflectionFunctionAbstract::getStartLine — Obtiene el número de la línea de inicio
    • ReflectionFunctionAbstract::getStaticVariables — Obtiene las variable estáticas
    • ReflectionFunctionAbstract::inNamespace — Comprueba si pertenece a un espacio de nombres
    • ReflectionFunctionAbstract::isClosure — Comprueba si es una función anónima
    • ReflectionFunctionAbstract::isDeprecated — Comprueba si está obsoleta
    • ReflectionFunctionAbstract::isGenerator — Devuelve si la función es un generador
    • ReflectionFunctionAbstract::isInternal — Comprueba si la función es interna
    • ReflectionFunctionAbstract::isUserDefined — Comprueba si es una función definida por un usuario
    • ReflectionFunctionAbstract::returnsReference — Comprueba si devuelve una referencia
    • ReflectionFunctionAbstract::__toString — Convertir a texto
  • ReflectionMethod — La clase ReflectionMethod
    • ReflectionMethod::__construct — Construye un objeto ReflectionMethod
    • ReflectionMethod::export — Exporta un objeto de tipo ReflectionMethod
    • ReflectionMethod::getClosure — Devuelve una función anónima de este método creada dinámicamente
    • ReflectionMethod::getDeclaringClass — Obtiene la clase en la que se ha declarado el método
    • ReflectionMethod::getModifiers — Obtiene los modificadores del método
    • ReflectionMethod::getPrototype — Obtiene el prototipo del método (si lo hubiera)
    • ReflectionMethod::invoke — Invoca un método
    • ReflectionMethod::invokeArgs — Invoca un método con argumentos
    • ReflectionMethod::isAbstract — Comprueba si el método es abstracto
    • ReflectionMethod::isConstructor — Comprueba si el método es un constructor
    • ReflectionMethod::isDestructor — Comprueba si el método es un destructor
    • ReflectionMethod::isFinal — Comprueba si el método es final
    • ReflectionMethod::isPrivate — Comprueba si el método es privado
    • ReflectionMethod::isProtected — Comprueba si el método está protegido
    • ReflectionMethod::isPublic — Comprueba si el método es público
    • ReflectionMethod::isStatic — Comprueba si el método es estático
    • ReflectionMethod::setAccessible — Asigna la accesibilidad del método
    • ReflectionMethod::__toString — Devuelve la representación en forma de texto de este objeto
  • ReflectionObject — Clase ReflectionObject
    • ReflectionObject::__construct — Construye un ReflectionObject
    • ReflectionObject::export — Exportación
  • ReflectionParameter — La clase ReflectionParameter
    • ReflectionParameter::allowsNull — Comprueba si null es permitido
    • ReflectionParameter::canBePassedByValue — Devuelve si este parámetro de puede pasar por valor
    • ReflectionParameter::__clone — Clon
    • ReflectionParameter::__construct — Construct
    • ReflectionParameter::export — Exportar
    • ReflectionParameter::getClass — Obtener clase
    • ReflectionParameter::getDeclaringClass — Obtiene declaración de la clase
    • ReflectionParameter::getDeclaringFunction — Obtiene declaración de función
    • ReflectionParameter::getDefaultValue — Obtiene el valor por omisión del parámetro
    • ReflectionParameter::getDefaultValueConstantName — Devuelve el nombre de la consntante del valor predeterminado si el valor predeterminado es constante o null
    • ReflectionParameter::getName — Obtener el nombre del parámetro
    • ReflectionParameter::getPosition — Obtiene la posición del parámetro
    • ReflectionParameter::isArray — Comprueba si el parámetro espera un array
    • ReflectionParameter::isCallable — Devuelve si el parámetro DEBE ser de tipo callable
    • ReflectionParameter::isDefaultValueAvailable — Comprueba si el valor por omisión está disponible
    • ReflectionParameter::isDefaultValueConstant — Devuelve si el valor predeterminado de este parámetro es constante
    • ReflectionParameter::isOptional — Comprueba si es opcional
    • ReflectionParameter::isPassedByReference — Comprueba si es pasado por referencia
    • ReflectionParameter::__toString — A string
  • ReflectionProperty — Clase ReflectionProperty
    • ReflectionProperty::__clone — Clonar
    • ReflectionProperty::__construct — Construye un objeto de tipo ReflectionProperty
    • ReflectionProperty::export — Exportar
    • ReflectionProperty::getDeclaringClass — Obtiene la clase en la que se declaró
    • ReflectionProperty::getDocComment — Obtiene los comentarios de documentación
    • ReflectionProperty::getModifiers — Obtiene los modificadores
    • ReflectionProperty::getName — Obtiene el nombre de la propiedad
    • ReflectionProperty::getValue — Obtiene el valor
    • ReflectionProperty::isDefault — Comprueba si la propiedad es predeterminado
    • ReflectionProperty::isPrivate — Comprueba si una propiedad es privada
    • ReflectionProperty::isProtected — Comprueba si la propiedad está protegida
    • ReflectionProperty::isPublic — Comprueba si la propiedad es pública
    • ReflectionProperty::isStatic — Comprueba si la propiedad es estática
    • ReflectionProperty::setAccessible — Hace accesible una propiedad
    • ReflectionProperty::setValue — Establece el valor de la propiedad
    • ReflectionProperty::__toString — Convertir a texto
  • Reflector — La interfaz Reflector
    • Reflector::export — Exportar
    • Reflector::__toString — Convertir a String
  • ReflectionException — La clase ReflectionException
QuickHashIntStringHash::update
Introducción
Extensiones relacionadas con variable y tipo


Introducción

PHP 5 viene con una API de reflexión completa que añade la capacidad para realizar ingeniería inversa de clases, interfaces, funciones, métodos y extensiones. Además, la API de reflexión ofrece varias formas de obtener comentarios de documentación de funciones, clases y métodos.

Tenga en cuenta que ciertas partes de la API interna no contienen el código necesario para trabajar con la extensión de Reflexión. Por ejemplo, a una clase interna de PHP le pueden faltar datos de reflexión de sus propiedades. Sin embargo, estos pocos casos son considerados como errores, por lo que deberían ser descubiertos y corregidos.

Reflexión
Instalación/Configuración
Reflexión


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Reflexión


Constantes predefinidas

Cada clase describe sus propias constantes.

Tipos de recursos
Ejemplos
Reflexión


Ejemplos

Existen muchos ejemplos en la documentación de Reflection, por lo general dentro de la documentación de __construct de cada clase.

Ejemplo #1 Ejemplo de Reflection desde Shell (un terminal)

$ php --rf strlen
$ php --rc finfo
$ php --re json
$ php --ri dom

El resultado del ejemplo sería algo similar a:

Function [ <internal:Core> function strlen ] {

  - Parameters [1] {
    Parameter #0 [ <required> $str ]
  }
}

Class [ <internal:fileinfo> class finfo ] {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [0] {
  }

  - Methods [4] {
    Method [ <internal:fileinfo, ctor> public method finfo ] {

      - Parameters [2] {
        Parameter #0 [ <optional> $options ]
        Parameter #1 [ <optional> $arg ]
      }
    }

    Method [ <internal:fileinfo> public method set_flags ] {

      - Parameters [1] {
        Parameter #0 [ <required> $options ]
      }
    }

    Method [ <internal:fileinfo> public method file ] {

      - Parameters [3] {
        Parameter #0 [ <required> $filename ]
        Parameter #1 [ <optional> $options ]
        Parameter #2 [ <optional> $context ]
      }
    }

    Method [ <internal:fileinfo> public method buffer ] {

      - Parameters [3] {
        Parameter #0 [ <required> $string ]
        Parameter #1 [ <optional> $options ]
        Parameter #2 [ <optional> $context ]
      }
    }
  }
}

Extension [ <persistent> extension #23 json version 1.2.1 ] {

  - Constants [10] {
    Constant [ integer JSON_HEX_TAG ] { 1 }
    Constant [ integer JSON_HEX_AMP ] { 2 }
    Constant [ integer JSON_HEX_APOS ] { 4 }
    Constant [ integer JSON_HEX_QUOT ] { 8 }
    Constant [ integer JSON_FORCE_OBJECT ] { 16 }
    Constant [ integer JSON_ERROR_NONE ] { 0 }
    Constant [ integer JSON_ERROR_DEPTH ] { 1 }
    Constant [ integer JSON_ERROR_STATE_MISMATCH ] { 2 }
    Constant [ integer JSON_ERROR_CTRL_CHAR ] { 3 }
    Constant [ integer JSON_ERROR_SYNTAX ] { 4 }
  }

  - Functions {
    Function [ <internal:json> function json_encode ] {

      - Parameters [2] {
        Parameter #0 [ <required> $value ]
        Parameter #1 [ <optional> $options ]
      }
    }
    Function [ <internal:json> function json_decode ] {

      - Parameters [3] {
        Parameter #0 [ <required> $json ]
        Parameter #1 [ <optional> $assoc ]
        Parameter #2 [ <optional> $depth ]
      }
    }
    Function [ <internal:json> function json_last_error ] {

      - Parameters [0] {
      }
    }
  }
}

dom

DOM/XML => enabled
DOM/XML API Version => 20031129
libxml Version => 2.7.3
HTML Support => enabled
XPath Support => enabled
XPointer Support => enabled
Schema Support => enabled
RelaxNG Support => enabled
Constantes predefinidas
Extensión
Reflexión


Extensión

Si se deseara crear versiones especializadas de las clases que vienen incorporadas (por ejemplo, para crear HTML en color cuando se experto, parar tener variables de acceso rápido en lugar de usar métodos, o parar crear métodos auxiliares), deberá extender la clase.

Ejemplo #1 Extendiendo las clases incorporadas

<?php
/**
 * Mi clase Reflection_Method
 */
class My_Reflection_Method extends ReflectionMethod
{
    public $visibility = array();

    public function __construct($o, $m)
    {
        parent::__construct($o, $m);
        $this->visibility = Reflection::getModifierNames($this->getModifiers());
    }
}

/**
 * Clase demo #1
 *
 */
class T {
    protected function x() {}
}

/**
 * Clase demo #2
 *
 */
class U extends T {
    function x() {}
}

// Mostrar información
var_dump(new My_Reflection_Method('U', 'x'));
?>

El resultado del ejemplo sería algo similar a:

object(My_Reflection_Method)#1 (3) {
  ["visibility"]=>
  array(1) {
    [0]=>
    string(6) "public"
  }
  ["name"]=>
  string(1) "x"
  ["class"]=>
  string(1) "U"
}
Precaución

Si se sobrescribe el constructor, no hay que olvidar llamar en primer lugar al constructor de la clase padre. Si esto fallara, se lanzará el siguiente error: Fatal error: Internal error: Failed to retrieve the reflection object

Ejemplos
Reflection
Reflexión


Clase Reflection

(PHP 5)

Introducción

Clase reflection.

Sinopsis de la Clase

Reflection {
/* Métodos */
public static string export ( Reflector $reflector [, bool $return = false ] )
public static array getModifierNames ( int $modifiers )
}

Tabla de contenidos

  • Reflection::export — Exportar
  • Reflection::getModifierNames — Obtener nombres de modificadores
Extensión
Reflection::export
Reflexión


Exportar

Reflection
Reflection::getModifierNames
Reflection
PHP Manual

Reflection::export

(PHP 5)

Reflection::export — Exportar

Descripción

public static string Reflection::export ( Reflector $reflector [, bool $return = false ] )

Exporta una reflexión.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

reflector

La reflexión a exportar.

return

Configurarlo a TRUE devolverá la exportación, a diferencia de emitirla. Configurarlo a FALSE (el valor por defecto) hará lo contrario.

Valores devueltos

Si el parámetro return es seteado a TRUE, la exportación se devolverá como un string, de lo contrario se retornará NULL.

Ver también

  • Reflection::getModifierNames() - Obtener nombres de modificadores

Reflection
Reflection::getModifierNames
Reflection


Obtener nombres de modificadores

Reflection::export
ReflectionClass
Reflection
PHP Manual

Reflection::getModifierNames

(PHP 5)

Reflection::getModifierNames — Obtener nombres de modificadores

Descripción

public static array Reflection::getModifierNames ( int $modifiers )

Obtiene los nombres de los modificadores.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

modifiers

Modificadores que se desean obtener, a partir de un valor numérico.

Valores devueltos

Un array con nombres de modificadores.

Ver también

  • Reflection::export() - Exportar

Reflection::export
ReflectionClass
Reflection


Clase ReflectionClass

(PHP 5)

Introducción

La clase ReflectionClass devuelve información sobre una clase.

Sinopsis de la Clase

ReflectionClass implements Reflector {
/* Constantes */
const integer IS_IMPLICIT_ABSTRACT = 16 ;
const integer IS_EXPLICIT_ABSTRACT = 32 ;
const integer IS_FINAL = 64 ;
/* Propiedades */
public $name ;
/* Métodos */
public __construct ( mixed $argument )
public static string export ( mixed $argument [, bool $return = false ] )
public mixed getConstant ( string $name )
public array getConstants ( void )
public ReflectionMethod getConstructor ( void )
public array getDefaultProperties ( void )
public string getDocComment ( void )
public int getEndLine ( void )
public ReflectionExtension getExtension ( void )
public string getExtensionName ( void )
public string getFileName ( void )
public array getInterfaceNames ( void )
public array getInterfaces ( void )
public ReflectionMethod getMethod ( string $name )
public array getMethods ([ int $filter ] )
public int getModifiers ( void )
public string getName ( void )
public string getNamespaceName ( void )
public object getParentClass ( void )
public array getProperties ([ int $filter ] )
public ReflectionProperty getProperty ( string $name )
public string getShortName ( void )
public int getStartLine ( void )
public array getStaticProperties ( void )
public mixed getStaticPropertyValue ( string $name [, mixed &$def_value ] )
public array getTraitAliases ( void )
public array getTraitNames ( void )
public array getTraits ( void )
public bool hasConstant ( string $name )
public bool hasMethod ( string $name )
public bool hasProperty ( string $name )
public bool implementsInterface ( string $interface )
public bool inNamespace ( void )
public bool isAbstract ( void )
public bool isCloneable ( void )
public bool isFinal ( void )
public bool isInstance ( object $object )
public bool isInstantiable ( void )
public bool isInterface ( void )
public bool isInternal ( void )
public bool isIterateable ( void )
public bool isSubclassOf ( string $class )
public bool isTrait ( void )
public bool isUserDefined ( void )
public object newInstance ( mixed $args [, mixed $... ] )
public object newInstanceArgs ([ array $args ] )
public object newInstanceWithoutConstructor ( void )
public void setStaticPropertyValue ( string $name , string $value )
public string __toString ( void )
}

Propiedades

name

Nombre de la clase. De sólo lectura, lanza una ReflectionException en el intento de escribir.

Constantes predefinidas

Modificadores ReflectionClass

ReflectionClass::IS_IMPLICIT_ABSTRACT

Indica que la clase es abstract porque esta tiene algunos métodos abstractos.

ReflectionClass::IS_EXPLICIT_ABSTRACT

Indica que la clase es abstract debido a su definición.

ReflectionClass::IS_FINAL

Indica la clase final.

Tabla de contenidos

  • ReflectionClass::__construct — Construye un objeto de tipo ReflectionClass
  • ReflectionClass::export — Exporta una clase
  • ReflectionClass::getConstant — Obtener una constante definida
  • ReflectionClass::getConstants — Obtener constantes
  • ReflectionClass::getConstructor — Obtiene el constructor de una clase
  • ReflectionClass::getDefaultProperties — Obtener propiedades predeterminadas
  • ReflectionClass::getDocComment — Obtener los comentarios de documentación
  • ReflectionClass::getEndLine — Consultar línea final
  • ReflectionClass::getExtension — Obtiene un objeto ReflectionExtension para la extensión que definió la clase
  • ReflectionClass::getExtensionName — Obtiene el nombre de la extensión que definió una clase
  • ReflectionClass::getFileName — Obtiene el nombre de fichero en el que está definida la clase
  • ReflectionClass::getInterfaceNames — Obtiene nombres de las interfaces
  • ReflectionClass::getInterfaces — Obtiene las interfaces
  • ReflectionClass::getMethod — Obtiene un objeto ReflectionMethod para un método de una clase
  • ReflectionClass::getMethods — Obtiene un array de métodos
  • ReflectionClass::getModifiers — Obtiene modificadores
  • ReflectionClass::getName — Obtiene el nombre de la clase
  • ReflectionClass::getNamespaceName — Obtiene el nombre del espacio de nombres
  • ReflectionClass::getParentClass — Obtiene la clase padre
  • ReflectionClass::getProperties — Obtiene las propiedades
  • ReflectionClass::getProperty — Obtiene un objeto ReflectionProperty para una propiedad de una clase
  • ReflectionClass::getShortName — Obtiene el nombre abreviado
  • ReflectionClass::getStartLine — Obtiene el número de linea de inicio
  • ReflectionClass::getStaticProperties — Obtiene las propiedades estáticas
  • ReflectionClass::getStaticPropertyValue — Obtiene el valor de una propiedad estática
  • ReflectionClass::getTraitAliases — Obtiene un array con los alias usados con los traits
  • ReflectionClass::getTraitNames — Devuelve un array con los nombres de los traits usados por esta clase
  • ReflectionClass::getTraits — Obtiene un array con los traits que utiliza esta clase
  • ReflectionClass::hasConstant — Comprueba si una constante está o no definida
  • ReflectionClass::hasMethod — Comprueba si un método está o no definido
  • ReflectionClass::hasProperty — Comprueba si una propiedad está o no definida
  • ReflectionClass::implementsInterface — Comprueba si se implementa una determinada interfaz
  • ReflectionClass::inNamespace — Comprueba si pertenece a un determinado espacio de nombres
  • ReflectionClass::isAbstract — Comprueba si la clase es abstracta
  • ReflectionClass::isCloneable — Comprueba si la clase es o no clonable
  • ReflectionClass::isFinal — Comprueba si la clase es o no final
  • ReflectionClass::isInstance — Comprueba si un objeto es instancia de la clase
  • ReflectionClass::isInstantiable — Comprueba si una clase es instanciable
  • ReflectionClass::isInterface — Comprueba una la clase es una interfaz
  • ReflectionClass::isInternal — Comprueba si una clase está definida internamente por una extensión o por el núcleo
  • ReflectionClass::isIterateable — Comprueba si es iterable
  • ReflectionClass::isSubclassOf — Comprueba si es una subclase
  • ReflectionClass::isTrait — Comprueba si es un trait
  • ReflectionClass::isUserDefined — Comprueba si es una clase definida por el usuario
  • ReflectionClass::newInstance — Crea una nueva instancia de clase a partir de la lista de parámetros dados
  • ReflectionClass::newInstanceArgs — Crea una nueva instancia de clase a partir de los argumentos dados
  • ReflectionClass::newInstanceWithoutConstructor — Crea una nueva clase sin invocar al constructor
  • ReflectionClass::setStaticPropertyValue — Establece el valor de una propiedad estática
  • ReflectionClass::__toString — Devuelve la representación en forma de string del objeto ReflectionClass
Reflection::getModifierNames
ReflectionClass::__construct
Reflexión


Construye un objeto de tipo ReflectionClass

ReflectionClass
ReflectionClass::export
ReflectionClass
PHP Manual

ReflectionClass::__construct

(PHP 5)

ReflectionClass::__construct — Construye un objeto de tipo ReflectionClass

Descripción

public ReflectionClass::__construct ( mixed $argument )

Construye un nuevo objeto ReflectionClass.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

argument

O bien un string con el nombre de la clase a reflexionar, o un object.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Funcionamiento básico de ReflectionClass

<?php
Reflection::export(new ReflectionClass('Exception'));
?>

El resultado del ejemplo sería algo similar a:

Class [ <internal:Core> class Exception ] {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [7] {
    Property [ <default> protected $message ]
    Property [ <default> private $string ]
    Property [ <default> protected $code ]
    Property [ <default> protected $file ]
    Property [ <default> protected $line ]
    Property [ <default> private $trace ]
    Property [ <default> private $previous ]
  }

  - Methods [10] {
    Method [ <internal:Core> final private method __clone ] {
    }

    Method [ <internal:Core, ctor> public method __construct ] {

      - Parameters [3] {
        Parameter #0 [ <optional> $message ]
        Parameter #1 [ <optional> $code ]
        Parameter #2 [ <optional> $previous ]
      }
    }

    Method [ <internal:Core> final public method getMessage ] {
    }

    Method [ <internal:Core> final public method getCode ] {
    }

    Method [ <internal:Core> final public method getFile ] {
    }

    Method [ <internal:Core> final public method getLine ] {
    }

    Method [ <internal:Core> final public method getTrace ] {
    }

    Method [ <internal:Core> final public method getPrevious ] {
    }

    Method [ <internal:Core> final public method getTraceAsString ] {
    }

    Method [ <internal:Core> public method __toString ] {
    }
  }
}

Ver también

  • ReflectionObject::__construct() - Construye un ReflectionObject
  • Constructores

ReflectionClass
ReflectionClass::export
ReflectionClass


Exporta una clase

ReflectionClass::__construct
ReflectionClass::getConstant
ReflectionClass
PHP Manual

ReflectionClass::export

(PHP 5)

ReflectionClass::export — Exporta una clase

Descripción

public static string ReflectionClass::export ( mixed $argument [, bool $return = false ] )

Exporta una clase reflejada.

Parámetros

argument

La reflexión a exportar.

return

Configurarlo a TRUE devolverá la exportación, a diferencia de emitirla. Configurarlo a FALSE (el valor por defecto) hará lo contrario.

Valores devueltos

Si el parámetro return es seteado a TRUE, la exportación se devolverá como un string, de lo contrario se retornará NULL.

Ejemplos

Ejemplo #1 Uso básico de ReflectionClass::export()

<?php
class Apple {
    public $var1;
    public $var2 = 'Orange';

    public function type() {
        return 'Apple';
    }
}
ReflectionClass::export('Apple');
?>

El resultado del ejemplo sería algo similar a:

Class [ <user> class Apple ] {
  @@ php shell code 1-8

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [2] {
    Property [ <default> public $var1 ]
    Property [ <default> public $var2 ]
  }

  - Methods [1] {
    Method [ <user> public method type ] {
      @@ php shell code 5 - 7
    }
  }
}

Ver también

  • ReflectionClass::getName() - Obtiene el nombre de la clase

ReflectionClass::__construct
ReflectionClass::getConstant
ReflectionClass


Obtener una constante definida

ReflectionClass::export
ReflectionClass::getConstants
ReflectionClass
PHP Manual

ReflectionClass::getConstant

(PHP 5)

ReflectionClass::getConstant — Obtener una constante definida

Descripción

public mixed ReflectionClass::getConstant ( string $name )

Devuelve la constante definida.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

Nombre de la constante.

Valores devueltos

Valor de la constante.

Ver también

  • ReflectionClass::getConstants() - Obtener constantes

ReflectionClass::export
ReflectionClass::getConstants
ReflectionClass


Obtener constantes

ReflectionClass::getConstant
ReflectionClass::getConstructor
ReflectionClass
PHP Manual

ReflectionClass::getConstants

(PHP 5)

ReflectionClass::getConstants — Obtener constantes

Descripción

public array ReflectionClass::getConstants ( void )

Devuelve las constantes definidas de la clase.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un array de constantes. El nombre de la constante en la clave, y en el valor, el valor de la constante.

Ver también

  • ReflectionClass::getConstant() - Obtener una constante definida

ReflectionClass::getConstant
ReflectionClass::getConstructor
ReflectionClass


Obtiene el constructor de una clase

ReflectionClass::getConstants
ReflectionClass::getDefaultProperties
ReflectionClass
PHP Manual

ReflectionClass::getConstructor

(PHP 5)

ReflectionClass::getConstructor — Obtiene el constructor de una clase

Descripción

public ReflectionMethod ReflectionClass::getConstructor ( void )

Obtiene el constructor de la clase reflejada.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un objeto ReflectionMethod que refleja el constructor de la clase, o NULL si la clase no tiene constructor.

Ejemplos

Ejemplo #1 Uso básico de ReflectionClass::getConstructor()

<?php
$clase = new ReflectionClass('ReflectionClass');
$constructor = $clase->getConstructor();
var_dump($constructor);
?>

El resultado del ejemplo sería:

object(ReflectionMethod)#2 (2) {
  ["name"]=>
  string(11) "__construct"
  ["class"]=>
  string(15) "ReflectionClass"
}

Ver también

  • ReflectionClass::getName() - Obtiene el nombre de la clase

ReflectionClass::getConstants
ReflectionClass::getDefaultProperties
ReflectionClass


Obtener propiedades predeterminadas

ReflectionClass::getConstructor
ReflectionClass::getDocComment
ReflectionClass
PHP Manual

ReflectionClass::getDefaultProperties

(PHP 5)

ReflectionClass::getDefaultProperties — Obtener propiedades predeterminadas

Descripción

public array ReflectionClass::getDefaultProperties ( void )

Devuelve las propiedades predeterminadas de una clase (incluyendo las propiedades heredadas).

Nota:

Este método sólo funciona para las propiedades estáticas cuando se utiliza en las clases internas. El valor por defecto de una propiedad de clase estática no puede ser rastreada utilizando este método sobre las clases definidas por el usuario.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un array de propiedades predeterminadas, donde la clave es el nombre de la propiedad y el valor corresponde con el valor de la propiedad o NULL si la propiedad no tuviera ningún valor predeterminado. Esta función no hace distinción entre propiedades estáticas y no estáticas, y no tiene en cuenta los modificadores de visibilidad.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionClass::getDefaultProperties()

<?php
class Bar {
    protected $propiedadHeredada = 'predeterminadoHeredada';
}

class Foo extends Bar {
    public $propiedad = 'predeterminadoPropiedad';
    private $propiedadPrivada = 'predeterminadoPropiedadPrivada';
    public static $propiedadEstatica = 'propiedadEstatica';
    public $propiedadSinValor;
}

$claseReflexion = new ReflectionClass('Foo');
var_dump($claseReflexion->getDefaultProperties());
?>

El resultado del ejemplo sería:

array(5) {
   ["propiedadEstatica"]=>
   string(14) "propiedadEstatia"
   ["propiedad"]=>
   string(15) "predeterminadoPropiedad"
   ["propiedadPrivada"]=>
   string(22) "predeterminadoPropiedadPrivada"
   ["propiedadSinValor"]=>
   NULL
   ["propiedadHeredada"]=>
   string(16) "predeterminadoHeredada"
}

Ver también

  • ReflectionClass::getProperties() - Obtiene las propiedades
  • ReflectionClass::getStaticProperties() - Obtiene las propiedades estáticas
  • ReflectionClass::getProperty() - Obtiene un objeto ReflectionProperty para una propiedad de una clase

ReflectionClass::getConstructor
ReflectionClass::getDocComment
ReflectionClass


Obtener los comentarios de documentación

ReflectionClass::getDefaultProperties
ReflectionClass::getEndLine
ReflectionClass
PHP Manual

ReflectionClass::getDocComment

(PHP 5 >= 5.1.0)

ReflectionClass::getDocComment — Obtener los comentarios de documentación

Descripción

public string ReflectionClass::getDocComment ( void )

Obtiene los comentarios de documentación de una clase.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Los comentarios de documentación, o FALSE si no existiera.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionClass::getDocComment()

<?php
/**
* Clase de prueba
*
* @param  foo bar
* @return baz
*/
class ClaseDePrueba { }

$rc = new ReflectionClass('ClaseDePrueba');
var_dump($rc->getDocComment())
?>

El resultado del ejemplo sería:

string(55) "/**
* Clase de prueba
*
* @param  foo bar
* @return baz
*/"

Ver también

  • ReflectionClass::getName() - Obtiene el nombre de la clase

ReflectionClass::getDefaultProperties
ReflectionClass::getEndLine
ReflectionClass


Consultar línea final

ReflectionClass::getDocComment
ReflectionClass::getExtension
ReflectionClass
PHP Manual

ReflectionClass::getEndLine

(PHP 5)

ReflectionClass::getEndLine — Consultar línea final

Descripción

public int ReflectionClass::getEndLine ( void )

Devuelve el número de la línea final de una clase definida por el usuario.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Número de la línea final de la clase definida por el usuario, o FALSE si fuera desconocida.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionClass::getEndLine()

<?php
// Clase de prueba
class ClaseDePrueba { }

$rc = new ReflectionClass('ClaseDePrueba');

echo $rc->getEndLine();
?>

El resultado del ejemplo sería:

3

Ver también

  • ReflectionClass::getStartLine() - Obtiene el número de linea de inicio

ReflectionClass::getDocComment
ReflectionClass::getExtension
ReflectionClass


Obtiene un objeto ReflectionExtension para la extensión que definió la clase

ReflectionClass::getEndLine
ReflectionClass::getExtensionName
ReflectionClass
PHP Manual

ReflectionClass::getExtension

(PHP 5)

ReflectionClass::getExtension — Obtiene un objeto ReflectionExtension para la extensión que definió la clase

Descripción

public ReflectionExtension ReflectionClass::getExtension ( void )

Obtiene un objeto ReflectionExtension para la extensión que definió la clase.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un objeto ReflectionExtension que representa la extensión que definió la clase, o NULL para clases definidas por el usuario.

Ejemplos

Ejemplo #1 Uso básico de ReflectionClass::getExtension()

<?php
$clase = new ReflectionClass('ReflectionClass');
$extensión = $clase->getExtension();
var_dump($extensión);
?>

El resultado del ejemplo sería:

object(ReflectionExtension)#2 (1) {
  ["name"]=>
  string(10) "Reflection"
}

Ver también

  • ReflectionClass::getExtensionName() - Obtiene el nombre de la extensión que definió una clase

ReflectionClass::getEndLine
ReflectionClass::getExtensionName
ReflectionClass


Obtiene el nombre de la extensión que definió una clase

ReflectionClass::getExtension
ReflectionClass::getFileName
ReflectionClass
PHP Manual

ReflectionClass::getExtensionName

(PHP 5)

ReflectionClass::getExtensionName — Obtiene el nombre de la extensión que definió una clase

Descripción

public string ReflectionClass::getExtensionName ( void )

Obtiene el nombre de la extensión que definió una clase.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El nombre de la extensión que definió la clase, o FALSE para clases definidas por el usuario.

Ejemplos

Ejemplo #1 Uso básico de ReflectionClass::getExtensionName()

<?php
$clase = new ReflectionClass('ReflectionClass');
$extensión = $clase->getExtensionName();
var_dump($extensión);
?>

El resultado del ejemplo sería:

string(10) "Reflection"

Ver también

  • ReflectionClass::getExtension() - Obtiene un objeto ReflectionExtension para la extensión que definió la clase

ReflectionClass::getExtension
ReflectionClass::getFileName
ReflectionClass


Obtiene el nombre de fichero en el que está definida la clase

ReflectionClass::getExtensionName
ReflectionClass::getInterfaceNames
ReflectionClass
PHP Manual

ReflectionClass::getFileName

(PHP 5)

ReflectionClass::getFileName — Obtiene el nombre de fichero en el que está definida la clase

Descripción

public string ReflectionClass::getFileName ( void )

Devuelve el nombre del fichero en el que está definida la clase.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el nombre del fichero en el que está definida la clase. Si la clase estuviera definida en el nucleo de PHP o en una extensión de PHP, se devolvería FALSE.

Ver también

  • ReflectionClass::getExtensionName() - Obtiene el nombre de la extensión que definió una clase

ReflectionClass::getExtensionName
ReflectionClass::getInterfaceNames
ReflectionClass


Obtiene nombres de las interfaces

ReflectionClass::getFileName
ReflectionClass::getInterfaces
ReflectionClass
PHP Manual

ReflectionClass::getInterfaceNames

(PHP 5 >= 5.2.0)

ReflectionClass::getInterfaceNames — Obtiene nombres de las interfaces

Descripción

public array ReflectionClass::getInterfaceNames ( void )

Devuelve los nombres de las interfaces.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Array numérico con el nombre de las interfaces en el valor.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionClass::getInterfaceNames()

<?php
interface Foo { }

interface Bar { }

class Baz implements Foo, Bar { }

$rc1 = new ReflectionClass("Baz");

print_r($rc1->getInterfaceNames());
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => Foo
    [1] => Bar
)

Ver también

  • ReflectionClass::getInterfaces() - Obtiene las interfaces

ReflectionClass::getFileName
ReflectionClass::getInterfaces
ReflectionClass


Obtiene las interfaces

ReflectionClass::getInterfaceNames
ReflectionClass::getMethod
ReflectionClass
PHP Manual

ReflectionClass::getInterfaces

(PHP 5)

ReflectionClass::getInterfaces — Obtiene las interfaces

Descripción

public array ReflectionClass::getInterfaces ( void )

Devuelve las interfaces.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

array asociativo de interfaces, donde los nombres se usan como claves, y los objetos ReflectionClass como valor.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionClass::getInterfaces()

<?php
interface Foo { }

interface Bar { }

class Baz implements Foo, Bar { }

$rc1 = new ReflectionClass("Baz");

print_r($rc1->getInterfaces());
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [Foo] => ReflectionClass Object
        (
            [name] => Foo
        )

    [Bar] => ReflectionClass Object
        (
            [name] => Bar
        )

)

Ver también

  • ReflectionClass::getInterfaceNames() - Obtiene nombres de las interfaces

ReflectionClass::getInterfaceNames
ReflectionClass::getMethod
ReflectionClass


Obtiene un objeto ReflectionMethod para un método de una clase

ReflectionClass::getInterfaces
ReflectionClass::getMethods
ReflectionClass
PHP Manual

ReflectionClass::getMethod

(PHP 5)

ReflectionClass::getMethod — Obtiene un objeto ReflectionMethod para un método de una clase

Descripción

public ReflectionMethod ReflectionClass::getMethod ( string $name )

Obtiene un objeto ReflectionMethod para un método de una clase.

Parámetros

name

El nombre de método a reflejar.

Valores devueltos

Un objeto ReflectionMethod.

Errores/Excepciones

Una excepción ReflectionException si el método no existe.

Ejemplos

Ejemplo #1 Uso básico de ReflectionClass::getMethod()

<?php
$clase = new ReflectionClass('ReflectionClass');
$método = $clase->getMethod('getMethod');
var_dump($método);
?>

El resultado del ejemplo sería:

object(ReflectionMethod)#2 (2) {
  ["name"]=>
  string(9) "getMethod"
  ["class"]=>
  string(15) "ReflectionClass"
}

Ver también

  • ReflectionClass::getMethods() - Obtiene un array de métodos

ReflectionClass::getInterfaces
ReflectionClass::getMethods
ReflectionClass


Obtiene un array de métodos

ReflectionClass::getMethod
ReflectionClass::getModifiers
ReflectionClass
PHP Manual

ReflectionClass::getMethods

(PHP 5)

ReflectionClass::getMethods — Obtiene un array de métodos

Descripción

public array ReflectionClass::getMethods ([ int $filter ] )

Obtiene un array de métodos de una clase.

Parámetros

filter

Filtra los resultados para incluir solamente los métodos con ciertos atributos. Lo predeterminado es no filtrar nada.

Cualquier combinación de ReflectionMethod::IS_STATIC,
ReflectionMethod::IS_PUBLIC,
ReflectionMethod::IS_PROTECTED,
ReflectionMethod::IS_PRIVATE,
ReflectionMethod::IS_ABSTRACT,
ReflectionMethod::IS_FINAL.

Valores devueltos

Un array de objetos ReflectionMethod que reflejan cada método.

Ejemplos

Ejemplo #1 Uso básico de ReflectionClass::getMethods()

<?php
class Apple {
    public function firstMethod() { }
    final protected function secondMethod() { }
    private static function thirdMethod() { }
}

$clase = new ReflectionClass('Apple');
$métodos = $clase->getMethods();
var_dump($métodos);
?>

El resultado del ejemplo sería:

array(3) {
  [0]=>
  &object(ReflectionMethod)#2 (2) {
    ["name"]=>
    string(11) "firstMethod"
    ["class"]=>
    string(5) "Apple"
  }
  [1]=>
  &object(ReflectionMethod)#3 (2) {
    ["name"]=>
    string(12) "secondMethod"
    ["class"]=>
    string(5) "Apple"
  }
  [2]=>
  &object(ReflectionMethod)#4 (2) {
    ["name"]=>
    string(11) "thirdMethod"
    ["class"]=>
    string(5) "Apple"
  }
}

Ejemplo #2 Filtrar los resultados de ReflectionClass::getMethods()

<?php
class Apple {
    public function firstMethod() { }
    final protected function secondMethod() { }
    private static function thirdMethod() { }
}

$clase = new ReflectionClass('Apple');
$métodos = $clase->getMethods(ReflectionMethod::IS_STATIC | ReflectionMethod::IS_FINAL);
var_dump($métodos);
?>

El resultado del ejemplo sería:

array(2) {
  [0]=>
  &object(ReflectionMethod)#2 (2) {
    ["name"]=>
    string(12) "secondMethod"
    ["class"]=>
    string(5) "Apple"
  }
  [1]=>
  &object(ReflectionMethod)#3 (2) {
    ["name"]=>
    string(11) "thirdMethod"
    ["class"]=>
    string(5) "Apple"
  }
}

Ver también

  • ReflectionClass::getMethod() - Obtiene un objeto ReflectionMethod para un método de una clase

ReflectionClass::getMethod
ReflectionClass::getModifiers
ReflectionClass


Obtiene modificadores

ReflectionClass::getMethods
ReflectionClass::getName
ReflectionClass
PHP Manual

ReflectionClass::getModifiers

(PHP 5)

ReflectionClass::getModifiers — Obtiene modificadores

Descripción

public int ReflectionClass::getModifiers ( void )

Devuelve un campo de bits de los modificadores de acceso para esta clase.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una máscara de bits de constantes modificadoras.

Ver también

  • ReflectionClass::getProperties() - Obtiene las propiedades

ReflectionClass::getMethods
ReflectionClass::getName
ReflectionClass


Obtiene el nombre de la clase

ReflectionClass::getModifiers
ReflectionClass::getNamespaceName
ReflectionClass
PHP Manual

ReflectionClass::getName

(PHP 5)

ReflectionClass::getName — Obtiene el nombre de la clase

Descripción

public string ReflectionClass::getName ( void )

Devuelve el nombre de la clase.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Nombre de la clase.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionClass::getName()

<?php
namespace A\B;

class Foo { }

$function = new \ReflectionClass('stdClass');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());

$function = new \ReflectionClass('A\\B\\Foo');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());
?>

El resultado del ejemplo sería:

bool(false)
string(8) "stdClass"
string(0) ""
string(8) "stdClass"

bool(true)
string(7) "A\B\Foo"
string(3) "A\B"
string(3) "Foo"

Ver también

  • ReflectionClass::getNamespaceName() - Obtiene el nombre del espacio de nombres

ReflectionClass::getModifiers
ReflectionClass::getNamespaceName
ReflectionClass


Obtiene el nombre del espacio de nombres

ReflectionClass::getName
ReflectionClass::getParentClass
ReflectionClass
PHP Manual

ReflectionClass::getNamespaceName

(PHP 5 >= 5.3.0)

ReflectionClass::getNamespaceName — Obtiene el nombre del espacio de nombres

Descripción

public string ReflectionClass::getNamespaceName ( void )

Devuelve el nombre del espacio de nombres.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Nombre del espacio de nombres.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionClass::getNamespaceName()

<?php
namespace A\B;

class Foo { }

$function = new \ReflectionClass('stdClass');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());

$function = new \ReflectionClass('A\\B\\Foo');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());
?>

El resultado del ejemplo sería:

bool(false)
string(8) "stdClass"
string(0) ""
string(8) "stdClass"

bool(true)
string(7) "A\B\Foo"
string(3) "A\B"
string(3) "Foo"

Ver también

  • ReflectionClass::getParentClass() - Obtiene la clase padre
  • namespaces

ReflectionClass::getName
ReflectionClass::getParentClass
ReflectionClass


Obtiene la clase padre

ReflectionClass::getNamespaceName
ReflectionClass::getProperties
ReflectionClass
PHP Manual

ReflectionClass::getParentClass

(PHP 5)

ReflectionClass::getParentClass — Obtiene la clase padre

Descripción

public object ReflectionClass::getParentClass ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Una clase de tipo ReflectionClass.

Ver también

  • ReflectionClass::__construct() - Construye un objeto de tipo ReflectionClass

ReflectionClass::getNamespaceName
ReflectionClass::getProperties
ReflectionClass


Obtiene las propiedades

ReflectionClass::getParentClass
ReflectionClass::getProperty
ReflectionClass
PHP Manual

ReflectionClass::getProperties

(PHP 5)

ReflectionClass::getProperties — Obtiene las propiedades

Descripción

public array ReflectionClass::getProperties ([ int $filter ] )

Devuelve las propiedades reflexionadas.

Parámetros

filter

Filtro opcional, para filtrar el tipo de propiedades deseadas. Se configura usando las constantes de ReflectionProperty, y de manera predeterminada devuelve todos los tipos de propiedades.

Valores devueltos

Un array de objetos ReflectionProperty.

Ejemplos

Ejemplo #1 Ejemplo de filtrado con ReflectionClass::getProperties()

Este ejemplo muestra el uso del parámetro opcional filter, que esencialmente omite las propiedades privadas.

<?php
class Foo {
    public    $foo  = 1;
    protected $bar  = 2;
    private   $baz  = 3;
}

$foo = new Foo();

$reflect = new ReflectionClass($foo);
$props   = $reflect->getProperties(ReflectionProperty::IS_PUBLIC | ReflectionProperty::IS_PROTECTED);

foreach ($props as $prop) {
    print $prop->getName() . "\n";
}

var_dump($props);

?>

El resultado del ejemplo sería algo similar a:

foo
bar
array(2) {
  [0]=>
  object(ReflectionProperty)#3 (2) {
    ["name"]=>
    string(3) "foo"
    ["class"]=>
    string(3) "Foo"
  }
  [1]=>
  object(ReflectionProperty)#4 (2) {
    ["name"]=>
    string(3) "bar"
    ["class"]=>
    string(3) "Foo"
  }
}

Ver también

  • ReflectionClass::getProperty() - Obtiene un objeto ReflectionProperty para una propiedad de una clase
  • ReflectionProperty
  • Constantes de ReflectionProperty

ReflectionClass::getParentClass
ReflectionClass::getProperty
ReflectionClass


Obtiene un objeto ReflectionProperty para una propiedad de una clase

ReflectionClass::getProperties
ReflectionClass::getShortName
ReflectionClass
PHP Manual

ReflectionClass::getProperty

(PHP 5)

ReflectionClass::getProperty — Obtiene un objeto ReflectionProperty para una propiedad de una clase

Descripción

public ReflectionProperty ReflectionClass::getProperty ( string $name )

Obtiene un objeto ReflectionProperty para una propiedad de una clase.

Parámetros

name

El nombre de la propiedad.

Valores devueltos

Un objeto ReflectionProperty.

Ejemplos

Ejemplo #1 Uso básico de ReflectionClass::getProperty()

<?php
$clase = new ReflectionClass('ReflectionClass');
$propiedad = $clase->getProperty('name');
var_dump($propiedad);
?>

El resultado del ejemplo sería:

object(ReflectionProperty)#2 (2) {
  ["name"]=>
  string(4) "name"
  ["class"]=>
  string(15) "ReflectionClass"
}

Ver también

  • ReflectionClass::getProperties() - Obtiene las propiedades

ReflectionClass::getProperties
ReflectionClass::getShortName
ReflectionClass


Obtiene el nombre abreviado

ReflectionClass::getProperty
ReflectionClass::getStartLine
ReflectionClass
PHP Manual

ReflectionClass::getShortName

(PHP 5 >= 5.3.0)

ReflectionClass::getShortName — Obtiene el nombre abreviado

Descripción

public string ReflectionClass::getShortName ( void )

Devuelve el nombre abreviado de la clase, es decir, sin el espacio de nombres.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El nombre abreviado de la clase.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionClass::getShortName()

<?php
namespace A\B;

class Foo { }

$function = new \ReflectionClass('stdClass');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());

$function = new \ReflectionClass('A\\B\\Foo');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());
?>

El resultado del ejemplo sería:

bool(false)
string(8) "stdClass"
string(0) ""
string(8) "stdClass"

bool(true)
string(7) "A\B\Foo"
string(3) "A\B"
string(3) "Foo"

Ver también

  • ReflectionClass::getName() - Obtiene el nombre de la clase

ReflectionClass::getProperty
ReflectionClass::getStartLine
ReflectionClass


Obtiene el número de linea de inicio

ReflectionClass::getShortName
ReflectionClass::getStaticProperties
ReflectionClass
PHP Manual

ReflectionClass::getStartLine

(PHP 5)

ReflectionClass::getStartLine — Obtiene el número de linea de inicio

Descripción

public int ReflectionClass::getStartLine ( void )

Devuelve el número de la línea de inicio.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El número de la línea de inicio, en forma de integer.

Ver también

  • ReflectionClass::getEndLine() - Consultar línea final

ReflectionClass::getShortName
ReflectionClass::getStaticProperties
ReflectionClass


Obtiene las propiedades estáticas

ReflectionClass::getStartLine
ReflectionClass::getStaticPropertyValue
ReflectionClass
PHP Manual

ReflectionClass::getStaticProperties

(PHP 5)

ReflectionClass::getStaticProperties — Obtiene las propiedades estáticas

Descripción

public array ReflectionClass::getStaticProperties ( void )

Devuelve las propiedades estáticas.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Las propiedades estáticas, en un array.

Ver también

  • ReflectionClass::getStaticPropertyValue() - Obtiene el valor de una propiedad estática
  • ReflectionClass::setStaticPropertyValue() - Establece el valor de una propiedad estática

ReflectionClass::getStartLine
ReflectionClass::getStaticPropertyValue
ReflectionClass


Obtiene el valor de una propiedad estática

ReflectionClass::getStaticProperties
ReflectionClass::getTraitAliases
ReflectionClass
PHP Manual

ReflectionClass::getStaticPropertyValue

(PHP 5 >= 5.1.0)

ReflectionClass::getStaticPropertyValue — Obtiene el valor de una propiedad estática

Descripción

public mixed ReflectionClass::getStaticPropertyValue ( string $name [, mixed &$def_value ] )

Obtiene el valor de una propiedad estática de esta clase.

Parámetros

name

El nombre de la propiedad estática para la que devolver un valor.

def_value

Valores devueltos

El valor de la propiedad estática.

Ejemplos

Ejemplo #1 Uso básico de ReflectionClass::getStaticPropertyValue()

<?php
class Apple {
    public static $color = 'Rojo';
}

$class = new ReflectionClass('Apple');
var_dump($class->getStaticPropertyValue('color'));
?>

El resultado del ejemplo sería:

string(4) "Rojo"

Ver también

  • ReflectionClass::getStaticProperties() - Obtiene las propiedades estáticas
  • ReflectionClass::setStaticPropertyValue() - Establece el valor de una propiedad estática

ReflectionClass::getStaticProperties
ReflectionClass::getTraitAliases
ReflectionClass


Obtiene un array con los alias usados con los traits

ReflectionClass::getStaticPropertyValue
ReflectionClass::getTraitNames
ReflectionClass
PHP Manual

ReflectionClass::getTraitAliases

(PHP >= 5.4.0)

ReflectionClass::getTraitAliases — Obtiene un array con los alias usados con los traits

Descripción

public array ReflectionClass::getTraitAliases ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un array, usando para las claves los nuevos nombres de métodos y para los valores los nombres originales (en el formato "TraitName::original"). En caso de error, devuelve NULL.

ReflectionClass::getStaticPropertyValue
ReflectionClass::getTraitNames
ReflectionClass


Devuelve un array con los nombres de los traits usados por esta clase

ReflectionClass::getTraitAliases
ReflectionClass::getTraits
ReflectionClass
PHP Manual

ReflectionClass::getTraitNames

(PHP >= 5.4.0)

ReflectionClass::getTraitNames — Devuelve un array con los nombres de los traits usados por esta clase

Descripción

public array ReflectionClass::getTraitNames ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un array con los nombres de los traits en los valores. En caso de error, devuelve NULL.

ReflectionClass::getTraitAliases
ReflectionClass::getTraits
ReflectionClass


Obtiene un array con los traits que utiliza esta clase

ReflectionClass::getTraitNames
ReflectionClass::hasConstant
ReflectionClass
PHP Manual

ReflectionClass::getTraits

(PHP >= 5.4.0)

ReflectionClass::getTraits — Obtiene un array con los traits que utiliza esta clase

Descripción

public array ReflectionClass::getTraits ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un array con los nombres de los traits en las claves, y en el valor las instancias de los objetos ReflectionClass. En caso de error, devuelve NULL.

ReflectionClass::getTraitNames
ReflectionClass::hasConstant
ReflectionClass


Comprueba si una constante está o no definida

ReflectionClass::getTraits
ReflectionClass::hasMethod
ReflectionClass
PHP Manual

ReflectionClass::hasConstant

(PHP 5 >= 5.1.0)

ReflectionClass::hasConstant — Comprueba si una constante está o no definida

Descripción

public bool ReflectionClass::hasConstant ( string $name )

Comprueba si la constante especificada está o no definida en la clase.

Parámetros

name

Nombre de la constante que se desea comprobar.

Valores devueltos

TRUE si la constante está definida, y en cualquier otro caso FALSE.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionClass::hasConstant()

<?php
class Foo {
    const c1 = 1;
}

$class = new ReflectionClass("Foo");

var_dump($class->hasConstant("c1"));
var_dump($class->hasConstant("c2"));
?>

El resultado del ejemplo sería algo similar a:

bool(true)
bool(false)

Ver también

  • ReflectionClass::hasMethod() - Comprueba si un método está o no definido
  • ReflectionClass::hasProperty() - Comprueba si una propiedad está o no definida

ReflectionClass::getTraits
ReflectionClass::hasMethod
ReflectionClass


Comprueba si un método está o no definido

ReflectionClass::hasConstant
ReflectionClass::hasProperty
ReflectionClass
PHP Manual

ReflectionClass::hasMethod

(PHP 5 >= 5.1.0)

ReflectionClass::hasMethod — Comprueba si un método está o no definido

Descripción

public bool ReflectionClass::hasMethod ( string $name )

Comprueba si el método especificado está o no definido en la clase.

Parámetros

name

Nombre del método que se desea comprobar.

Valores devueltos

TRUE si el método está definido, y en cualquier otro caso FALSE

Ejemplos

Ejemplo #1 Ejemplo de ReflectionClass::hasMethod()

<?php
Class C {
    public function publicFoo() {
        return true;
    }

    protected function protectedFoo() {
        return true;
    }

    private function privateFoo() {
        return true;
    }

    static function staticFoo() {
        return true;
    }
}

$rc = new ReflectionClass("C");

var_dump($rc->hasMethod('publicFoo'));

var_dump($rc->hasMethod('protectedFoo'));

var_dump($rc->hasMethod('privateFoo'));

var_dump($rc->hasMethod('staticFoo'));

// C should not have method bar
var_dump($rc->hasMethod('bar'));

// Method names are case insensitive
var_dump($rc->hasMethod('PUBLICfOO'));
?>

El resultado del ejemplo sería:

bool(true)
bool(true)
bool(true)
bool(true)
bool(false)
bool(true)

Ver también

  • ReflectionClass::hasConstant() - Comprueba si una constante está o no definida
  • ReflectionClass::hasProperty() - Comprueba si una propiedad está o no definida

ReflectionClass::hasConstant
ReflectionClass::hasProperty
ReflectionClass


Comprueba si una propiedad está o no definida

ReflectionClass::hasMethod
ReflectionClass::implementsInterface
ReflectionClass
PHP Manual

ReflectionClass::hasProperty

(PHP 5 >= 5.1.0)

ReflectionClass::hasProperty — Comprueba si una propiedad está o no definida

Descripción

public bool ReflectionClass::hasProperty ( string $name )

Comprueba si la propiedad especificada está o no definida.

Parámetros

name

Nombre de la propiedad que se desea comprobar.

Valores devueltos

TRUE si la propiedad está definida, y en cualquier otro caso FALSE

Ejemplos

Ejemplo #1 Ejemplo de ReflectionClass::hasProperty()

<?php
class Foo {
    public    $p1;
    protected $p2;
    private   $p3;

}

$obj = new ReflectionObject(new Foo());

var_dump($obj->hasProperty("p1"));
var_dump($obj->hasProperty("p2"));
var_dump($obj->hasProperty("p3"));
var_dump($obj->hasProperty("p4"));
?>

El resultado del ejemplo sería algo similar a:

bool(true)
bool(true)
bool(true)
bool(false)

Ver también

  • ReflectionClass::hasConstant() - Comprueba si una constante está o no definida
  • ReflectionClass::hasMethod() - Comprueba si un método está o no definido

ReflectionClass::hasMethod
ReflectionClass::implementsInterface
ReflectionClass


Comprueba si se implementa una determinada interfaz

ReflectionClass::hasProperty
ReflectionClass::inNamespace
ReflectionClass
PHP Manual

ReflectionClass::implementsInterface

(PHP 5)

ReflectionClass::implementsInterface — Comprueba si se implementa una determinada interfaz

Descripción

public bool ReflectionClass::implementsInterface ( string $interface )

Comprueba si la clase implementa o no una determinada interfaz.

Parámetros

interface

Nombre de la interfaz.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ReflectionClass::isInterface() - Comprueba una la clase es una interfaz
  • ReflectionClass::isSubclassOf() - Comprueba si es una subclase
  • interface_exists() - Comprueba si una interfaz ha sido definida
  • Interfaces de objetos

ReflectionClass::hasProperty
ReflectionClass::inNamespace
ReflectionClass


Comprueba si pertenece a un determinado espacio de nombres

ReflectionClass::implementsInterface
ReflectionClass::isAbstract
ReflectionClass
PHP Manual

ReflectionClass::inNamespace

(PHP 5 >= 5.3.0)

ReflectionClass::inNamespace — Comprueba si pertenece a un determinado espacio de nombres

Descripción

public bool ReflectionClass::inNamespace ( void )

Comprueba si esta clase está definida en el espacio de nombres especificado.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionClass::inNamespace()

<?php
namespace A\B;

class Foo { }

$function = new \ReflectionClass('stdClass');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());

$function = new \ReflectionClass('A\\B\\Foo');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());
?>

El resultado del ejemplo sería:

bool(false)
string(8) "stdClass"
string(0) ""
string(8) "stdClass"

bool(true)
string(7) "A\B\Foo"
string(3) "A\B"
string(3) "Foo"

Ver también

  • ReflectionClass::getNamespaceName() - Obtiene el nombre del espacio de nombres
  • PHP Namespaces

ReflectionClass::implementsInterface
ReflectionClass::isAbstract
ReflectionClass


Comprueba si la clase es abstracta

ReflectionClass::inNamespace
ReflectionClass::isCloneable
ReflectionClass
PHP Manual

ReflectionClass::isAbstract

(PHP 5)

ReflectionClass::isAbstract — Comprueba si la clase es abstracta

Descripción

public bool ReflectionClass::isAbstract ( void )

Comprueba si la clase es o no abstracta.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionClass::isAbstract()

<?php
class          ClaseDePrueba { }
abstract class ClaseAbstractaDePrueba { }

$claseDePrueba  = new ReflectionClass('ClaseDePrueba');
$claseAbstracta = new ReflectionClass('ClaseAbstractaDePrueba');

var_dump($claseDePrueba->isAbstract());
var_dump($claseAbstracta->isAbstract());
?>

El resultado del ejemplo sería:

bool(false)
bool(true)

Ver también

  • ReflectionClass::isInterface() - Comprueba una la clase es una interfaz
  • Class Abstraction

ReflectionClass::inNamespace
ReflectionClass::isCloneable
ReflectionClass


Comprueba si la clase es o no clonable

ReflectionClass::isAbstract
ReflectionClass::isFinal
ReflectionClass
PHP Manual

ReflectionClass::isCloneable

(PHP >= 5.4.0)

ReflectionClass::isCloneable — Comprueba si la clase es o no clonable

Descripción

public bool ReflectionClass::isCloneable ( void )

Comprueba si la clase es o no clonable

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si la clase es clonable, o FALSE en caso contrario.

Ejemplos

Ejemplo #1 Uso básico de ReflectionClass::isCloneable()

<?php
class NoClonable {
    public $var1;

    private function __clone() {
    }
}

class Clonable {
    public $var1;
}

$noClonable = new ReflectionClass('NoClonable');
$clonable = new ReflectionClass('Clonable');

var_dump($noClonable->isCloneable());
var_dump($clonable->isCloneable());
?>

El resultado del ejemplo sería:

bool(false)
bool(true)

ReflectionClass::isAbstract
ReflectionClass::isFinal
ReflectionClass


Comprueba si la clase es o no final

ReflectionClass::isCloneable
ReflectionClass::isInstance
ReflectionClass
PHP Manual

ReflectionClass::isFinal

(PHP 5)

ReflectionClass::isFinal — Comprueba si la clase es o no final

Descripción

public bool ReflectionClass::isFinal ( void )

Comprueba si la clase es o no final.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionClass::isAbstract()

<?php
class       ClaseDePrueba { }
final class ClaseFinalDePrueba { }

$claseNormal = new ReflectionClass('ClaseDePrueba');
$claseFinal  = new ReflectionClass('ClaseFinalDePrueba');

var_dump($claseNormal->isFinal());
var_dump($claseFinal->isFinal());

?>

El resultado del ejemplo sería:

bool(false)
bool(true)

Ver también

  • ReflectionClass::isAbstract() - Comprueba si la clase es abstracta
  • Final Keyword

ReflectionClass::isCloneable
ReflectionClass::isInstance
ReflectionClass


Comprueba si un objeto es instancia de la clase

ReflectionClass::isFinal
ReflectionClass::isInstantiable
ReflectionClass
PHP Manual

ReflectionClass::isInstance

(PHP 5)

ReflectionClass::isInstance — Comprueba si un objeto es instancia de la clase

Descripción

public bool ReflectionClass::isInstance ( object $object )

Comprueba si un objeto es una instancia de la clase.

Parámetros

object

Objeto a comparar.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo relacionado con ReflectionClass::isInstance()

<?php
// Ejemplo de uso
$class = new ReflectionClass('Foo');

if ($class->isInstance($arg)) {
    echo "Sí";
}

// Equivalente a
if ($arg instanceof Foo) {
    echo "Sí";
}

// Equivalente a
if (is_a($arg, 'Foo')) {
    echo "Sí";
}
?>

El resultado del ejemplo sería algo similar a:

Yes
Yes
Yes

Ver también

  • ReflectionClass::isInterface() - Comprueba una la clase es una interfaz
  • Operadores de tipo (instanceof)
  • Interfaces de objectos
  • is_a() - Comprueba si un objeto es de una clase o tiene esta clase como una de sus madres

ReflectionClass::isFinal
ReflectionClass::isInstantiable
ReflectionClass


Comprueba si una clase es instanciable

ReflectionClass::isInstance
ReflectionClass::isInterface
ReflectionClass
PHP Manual

ReflectionClass::isInstantiable

(PHP 5)

ReflectionClass::isInstantiable — Comprueba si una clase es instanciable

Descripción

public bool ReflectionClass::isInstantiable ( void )

Comprueba si una clase es instanciable.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionClass::isInstantiable()

<?php
class C { }

interface ifaz {
    function f1();
}

class ifazImpl implements ifaz {
    function f1() {}
}

abstract class claseAbstracta {
    function f1() { }
    abstract function f2();
}

class D extends claseAbstracta {
    function f2() { }
}

class constructorPrivado {
    private function __construct() { }
}

$clases = array(
    "C",
    "ifaz",
    "ifazImpl",
    "claseAbstracta",
    "D",
    "constructorPrivado",
);

foreach($clases  as $clase ) {
    $reflectionClass = new ReflectionClass($clase);
    echo "¿Es instanciable la clase $clase?  ";
    var_dump($reflectionClass->IsInstantiable());
}

?>

El resultado del ejemplo sería:

¿Es instanciable la clase C?  bool(true)
¿Es instanciable la clase ifaz?  bool(false)
¿Es instanciable la clase ifazImpl?  bool(true)
¿Es instanciable la clase claseAbstracta?  bool(false)
¿Es instanciable la clase D?  bool(true)
¿Es instanciable la clase constructorPrivado?  bool(false)

Ver también

  • ReflectionClass::isInstance() - Comprueba si un objeto es instancia de la clase

ReflectionClass::isInstance
ReflectionClass::isInterface
ReflectionClass


Comprueba una la clase es una interfaz

ReflectionClass::isInstantiable
ReflectionClass::isInternal
ReflectionClass
PHP Manual

ReflectionClass::isInterface

(PHP 5)

ReflectionClass::isInterface — Comprueba una la clase es una interfaz

Descripción

public bool ReflectionClass::isInterface ( void )

Comprueba si una clase es una interfaz.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Uso básico de ReflectionClass::isInterface()

<?php
interface AlgunaInterfaz {
    public function interfaceMethod();
}

$class = new ReflectionClass('AlgunaInterfaz');
var_dump($class->isInterface());
?>

El resultado del ejemplo sería:

bool(true)

Ver también

  • ReflectionClass::isInstance() - Comprueba si un objeto es instancia de la clase

ReflectionClass::isInstantiable
ReflectionClass::isInternal
ReflectionClass


Comprueba si una clase está definida internamente por una extensión o por el núcleo

ReflectionClass::isInterface
ReflectionClass::isIterateable
ReflectionClass
PHP Manual

ReflectionClass::isInternal

(PHP 5)

ReflectionClass::isInternal — Comprueba si una clase está definida internamente por una extensión o por el núcleo

Descripción

public bool ReflectionClass::isInternal ( void )

Comprueba si una clase está definida internamente por una extensión o por el núcleo, en oposición a estar definida por el usuario.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Uso básico de ReflectionClass::isInternal()

<?php
$claseInterna = new ReflectionClass('ReflectionClass');

class Apple {}
$claseDeUsuario = new ReflectionClass('Apple');

var_dump($claseInterna->isInternal());
var_dump($claseDeUsuario->isInternal());
?>

El resultado del ejemplo sería:

bool(true)
bool(false)

Ver también

  • ReflectionClass::isUserDefined() - Comprueba si es una clase definida por el usuario

ReflectionClass::isInterface
ReflectionClass::isIterateable
ReflectionClass


Comprueba si es iterable

ReflectionClass::isInternal
ReflectionClass::isSubclassOf
ReflectionClass
PHP Manual

ReflectionClass::isIterateable

(PHP 5)

ReflectionClass::isIterateable — Comprueba si es iterable

Descripción

public bool ReflectionClass::isIterateable ( void )

Comprueba si la clase es o no iterable.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionClass::isIterateable()

<?php

class ClaseIterable implements Iterator {
    public function __construct() { }
    public function key() { }
    public function current() { }
    function next() { }
    function valid() { }
    function rewind() { }
}
class ClaseDerivada extends ClaseIterable { }
class NoIterable { }

function dump_iterable($clase) {
    $reflection = new ReflectionClass($clase);
    var_dump($reflection->isIterateable());
}

$clases = array("ArrayObject", "ClaseIterable", "ClaseDerivada", "NoIterable");

foreach ($clases as $clase) {
    echo "Es iterable la clase $clase? ";
    dump_iterable($clase);
}
?>

El resultado del ejemplo sería:

Es iterable la clase ArrayObject? bool(true)
Es iterable la clase ClaseIterable? bool(true)
Es iterable la clase ClaseDerivada? bool(true)
Es iterable la clase NoIterable? bool(false)

Ver también

  • ReflectionClass::__construct() - Construye un objeto de tipo ReflectionClass

ReflectionClass::isInternal
ReflectionClass::isSubclassOf
ReflectionClass


Comprueba si es una subclase

ReflectionClass::isIterateable
ReflectionClass::isTrait
ReflectionClass
PHP Manual

ReflectionClass::isSubclassOf

(PHP 5)

ReflectionClass::isSubclassOf — Comprueba si es una subclase

Descripción

public bool ReflectionClass::isSubclassOf ( string $class )

Comprueba si la clase es una subclase de la clase especificada o implementa una iterfaz específica.

Parámetros

class

Nombre de la clase con la que hacer la comprobación.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ReflectionClass::isInterface() - Comprueba una la clase es una interfaz
  • ReflectionClass::implementsInterface() - Comprueba si se implementa una determinada interfaz
  • is_subclass_of() - Verifica si el objeto tiene esta clase como uno de sus padres
  • get_parent_class() - Recupera el nombre de la clase padre de un objeto o clase

ReflectionClass::isIterateable
ReflectionClass::isTrait
ReflectionClass


Comprueba si es un trait

ReflectionClass::isSubclassOf
ReflectionClass::isUserDefined
ReflectionClass
PHP Manual

ReflectionClass::isTrait

(PHP >= 5.4.0)

ReflectionClass::isTrait — Comprueba si es un trait

Descripción

public bool ReflectionClass::isTrait ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si es un trait, y si no FALSE. En caso de error, devuelve NULL.

ReflectionClass::isSubclassOf
ReflectionClass::isUserDefined
ReflectionClass


Comprueba si es una clase definida por el usuario

ReflectionClass::isTrait
ReflectionClass::newInstance
ReflectionClass
PHP Manual

ReflectionClass::isUserDefined

(PHP 5)

ReflectionClass::isUserDefined — Comprueba si es una clase definida por el usuario

Descripción

public bool ReflectionClass::isUserDefined ( void )

Comprueba si una clase está definida por un usuario, en oposición a una clase interna.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • ReflectionClass::isInternal() - Comprueba si una clase está definida internamente por una extensión o por el núcleo

ReflectionClass::isTrait
ReflectionClass::newInstance
ReflectionClass


Crea una nueva instancia de clase a partir de la lista de parámetros dados

ReflectionClass::isUserDefined
ReflectionClass::newInstanceArgs
ReflectionClass
PHP Manual

ReflectionClass::newInstance

(PHP 5)

ReflectionClass::newInstance — Crea una nueva instancia de clase a partir de la lista de parámetros dados

Descripción

public object ReflectionClass::newInstance ( mixed $args [, mixed $... ] )

Crea una nueva instancia de la clase. Los parámetros proporcionados se pasarán al constructor de la clase.

Parámetros

args

Acepta un número variable de argumentos, que se pasarán al constructor de la clase. Similar a como hace call_user_func().

Valores devueltos

Errores/Excepciones

Lanza ReflectionException si el constructor de la clase no fuera público.

Lanza ReflectionException si la clase no tuviera un constructor y el parámetro args tuviera uno o más argumentos.

Ver también

  • ReflectionClass::newInstanceArgs() - Crea una nueva instancia de clase a partir de los argumentos dados
  • ReflectionClass::newInstanceWithoutConstructor() - Crea una nueva clase sin invocar al constructor

ReflectionClass::isUserDefined
ReflectionClass::newInstanceArgs
ReflectionClass


Crea una nueva instancia de clase a partir de los argumentos dados

ReflectionClass::newInstance
ReflectionClass::newInstanceWithoutConstructor
ReflectionClass
PHP Manual

ReflectionClass::newInstanceArgs

(PHP 5 >= 5.1.3)

ReflectionClass::newInstanceArgs — Crea una nueva instancia de clase a partir de los argumentos dados

Descripción

public object ReflectionClass::newInstanceArgs ([ array $args ] )

Crea una nueva instancia de la clase, pasando los argumentos al constructor de la clase.

Parámetros

args

Los parámetros a pasar al constructor de la clase, como array.

Valores devueltos

Devuelve una nueva instancia de la clase.

Ejemplos

Ejemplo #1 Uso básico de ReflectionClass::newInstanceArgs()

<?php
$clase = new ReflectionClass('ReflectionFunction');
$instancia = $clase->newInstanceArgs(array('substr'));
var_dump($instancia);
?>

El resultado del ejemplo sería:

object(ReflectionFunction)#2 (1) {
  ["name"]=>
  string(6) "substr"
}

Errores/Excepciones

Lanza una excepción de tipo ReflectionException si el constructor de la clase no es público.

Lanza una excepción de tipo ReflectionException si la clase no tuviera un constructor y el parámetro args contuviera uno o más parámetros.

Ver también

  • ReflectionClass::newInstance() - Crea una nueva instancia de clase a partir de la lista de parámetros dados
  • ReflectionClass::newInstanceWithoutConstructor() - Crea una nueva clase sin invocar al constructor

ReflectionClass::newInstance
ReflectionClass::newInstanceWithoutConstructor
ReflectionClass


Crea una nueva clase sin invocar al constructor

ReflectionClass::newInstanceArgs
ReflectionClass::setStaticPropertyValue
ReflectionClass
PHP Manual

ReflectionClass::newInstanceWithoutConstructor

(PHP >= 5.4.0)

ReflectionClass::newInstanceWithoutConstructor — Crea una nueva clase sin invocar al constructor

Descripción

public object ReflectionClass::newInstanceWithoutConstructor ( void )

Crea una nueva instancia de la clase sin llegar a invocar al constructor.

Parámetros

Valores devueltos

Errores/Excepciones

Lanza ReflectionException si se tratara de una clase interna que no se pudiera instanciar sin invocar al constructor.

Ver también

  • ReflectionClass::newInstance() - Crea una nueva instancia de clase a partir de la lista de parámetros dados
  • ReflectionClass::newInstanceArgs() - Crea una nueva instancia de clase a partir de los argumentos dados

ReflectionClass::newInstanceArgs
ReflectionClass::setStaticPropertyValue
ReflectionClass


Establece el valor de una propiedad estática

ReflectionClass::newInstanceWithoutConstructor
ReflectionClass::__toString
ReflectionClass
PHP Manual

ReflectionClass::setStaticPropertyValue

(PHP 5 >= 5.1.0)

ReflectionClass::setStaticPropertyValue — Establece el valor de una propiedad estática

Descripción

public void ReflectionClass::setStaticPropertyValue ( string $name , string $value )

Establece el valor de una propiedad estática.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

Nombre de la propiedad.

value

Nuevo valor de la propiedad.

Valores devueltos

No devuelve ningún valor.

Ver también

  • ReflectionClass::getStaticPropertyValue() - Obtiene el valor de una propiedad estática

ReflectionClass::newInstanceWithoutConstructor
ReflectionClass::__toString
ReflectionClass


Devuelve la representación en forma de string del objeto ReflectionClass

ReflectionClass::setStaticPropertyValue
ReflectionZendExtension
ReflectionClass
PHP Manual

ReflectionClass::__toString

(PHP 5)

ReflectionClass::__toString — Devuelve la representación en forma de string del objeto ReflectionClass

Descripción

public string ReflectionClass::__toString ( void )

Devuelve la representación en forma de string del objeto ReflectionClass.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Representación en forma de string de esta instancia de ReflectionClass.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionClass::__toString()

<?php
$reflectionClass = new ReflectionClass('Exception');
echo $reflectionClass->__toString();
?>

El resultado del ejemplo sería:

Class [ <internal:Core> class Exception ] {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [7] {
    Property [ <default> protected $message ]
    Property [ <default> private $string ]
    Property [ <default> protected $code ]
    Property [ <default> protected $file ]
    Property [ <default> protected $line ]
    Property [ <default> private $trace ]
    Property [ <default> private $previous ]
  }

  - Methods [10] {
    Method [ <internal:Core> final private method __clone ] {
    }

    Method [ <internal:Core, ctor> public method __construct ] {

      - Parameters [3] {
        Parameter #0 [ <optional> $message ]
        Parameter #1 [ <optional> $code ]
        Parameter #2 [ <optional> $previous ]
      }
    }

    Method [ <internal:Core> final public method getMessage ] {
    }

    Method [ <internal:Core> final public method getCode ] {
    }

    Method [ <internal:Core> final public method getFile ] {
    }

    Method [ <internal:Core> final public method getLine ] {
    }

    Method [ <internal:Core> final public method getTrace ] {
    }

    Method [ <internal:Core> final public method getPrevious ] {
    }

    Method [ <internal:Core> final public method getTraceAsString ] {
    }

    Method [ <internal:Core> public method __toString ] {
    }
  }
}

Ver también

  • ReflectionClass::export() - Exporta una clase
  • __toString()

ReflectionClass::setStaticPropertyValue
ReflectionZendExtension
ReflectionClass


Clase ReflectionZendExtension

(PHP >= 5.4.0)

Introducción

Sinopsis de la Clase

ReflectionZendExtension implements Reflector {
/* Propiedades */
public $name ;
/* Métodos */
final private void __clone ( void )
public __construct ( string $name )
public static string export ( string $name [, string $return ] )
public string getAuthor ( void )
public string getCopyright ( void )
public string getName ( void )
public string getURL ( void )
public string getVersion ( void )
public string __toString ( void )
}

Propiedades

name

Nombre de la extensión. De sólo lectura, lanza una ReflectionException en un intento de escribir.

Tabla de contenidos

  • ReflectionZendExtension::__clone — Clon de controlador
  • ReflectionZendExtension::__construct — Constructor
  • ReflectionZendExtension::export — Exportar
  • ReflectionZendExtension::getAuthor — Consultar autor
  • ReflectionZendExtension::getCopyright — Consultar los derechos de copia
  • ReflectionZendExtension::getName — Obtiene el nombre
  • ReflectionZendExtension::getURL — Obtiene la URL
  • ReflectionZendExtension::getVersion — Obtiene la versión
  • ReflectionZendExtension::__toString — Convierte a texto
ReflectionClass::__toString
ReflectionZendExtension::__clone
Reflexión


Clon de controlador

ReflectionZendExtension
ReflectionZendExtension::__construct
ReflectionZendExtension
PHP Manual

ReflectionZendExtension::__clone

(PHP >= 5.4.0)

ReflectionZendExtension::__clone — Clon de controlador

Descripción

final private void ReflectionZendExtension::__clone ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

ReflectionZendExtension
ReflectionZendExtension::__construct
ReflectionZendExtension


Constructor

ReflectionZendExtension::__clone
ReflectionZendExtension::export
ReflectionZendExtension
PHP Manual

ReflectionZendExtension::__construct

(PHP >= 5.4.0)

ReflectionZendExtension::__construct — Constructor

Descripción

public ReflectionZendExtension::__construct ( string $name )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

Valores devueltos

ReflectionZendExtension::__clone
ReflectionZendExtension::export
ReflectionZendExtension


Exportar

ReflectionZendExtension::__construct
ReflectionZendExtension::getAuthor
ReflectionZendExtension
PHP Manual

ReflectionZendExtension::export

(PHP >= 5.4.0)

ReflectionZendExtension::export — Exportar

Descripción

public static string ReflectionZendExtension::export ( string $name [, string $return ] )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

name

return

Valores devueltos

ReflectionZendExtension::__construct
ReflectionZendExtension::getAuthor
ReflectionZendExtension


Consultar autor

ReflectionZendExtension::export
ReflectionZendExtension::getCopyright
ReflectionZendExtension
PHP Manual

ReflectionZendExtension::getAuthor

(PHP >= 5.4.0)

ReflectionZendExtension::getAuthor — Consultar autor

Descripción

public string ReflectionZendExtension::getAuthor ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

ReflectionZendExtension::export
ReflectionZendExtension::getCopyright
ReflectionZendExtension


Consultar los derechos de copia

ReflectionZendExtension::getAuthor
ReflectionZendExtension::getName
ReflectionZendExtension
PHP Manual

ReflectionZendExtension::getCopyright

(PHP >= 5.4.0)

ReflectionZendExtension::getCopyright — Consultar los derechos de copia

Descripción

public string ReflectionZendExtension::getCopyright ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

ReflectionZendExtension::getAuthor
ReflectionZendExtension::getName
ReflectionZendExtension


Obtiene el nombre

ReflectionZendExtension::getCopyright
ReflectionZendExtension::getURL
ReflectionZendExtension
PHP Manual

ReflectionZendExtension::getName

(PHP >= 5.4.0)

ReflectionZendExtension::getName — Obtiene el nombre

Descripción

public string ReflectionZendExtension::getName ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

ReflectionZendExtension::getCopyright
ReflectionZendExtension::getURL
ReflectionZendExtension


Obtiene la URL

ReflectionZendExtension::getName
ReflectionZendExtension::getVersion
ReflectionZendExtension
PHP Manual

ReflectionZendExtension::getURL

(PHP >= 5.4.0)

ReflectionZendExtension::getURL — Obtiene la URL

Descripción

public string ReflectionZendExtension::getURL ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

ReflectionZendExtension::getName
ReflectionZendExtension::getVersion
ReflectionZendExtension


Obtiene la versión

ReflectionZendExtension::getURL
ReflectionZendExtension::__toString
ReflectionZendExtension
PHP Manual

ReflectionZendExtension::getVersion

(PHP >= 5.4.0)

ReflectionZendExtension::getVersion — Obtiene la versión

Descripción

public string ReflectionZendExtension::getVersion ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

ReflectionZendExtension::getURL
ReflectionZendExtension::__toString
ReflectionZendExtension


Convierte a texto

ReflectionZendExtension::getVersion
ReflectionExtension
ReflectionZendExtension
PHP Manual

ReflectionZendExtension::__toString

(PHP >= 5.4.0)

ReflectionZendExtension::__toString — Convierte a texto

Descripción

public string ReflectionZendExtension::__toString ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

ReflectionZendExtension::getVersion
ReflectionExtension
ReflectionZendExtension


Clase ReflectionExtension

(PHP 5)

Introducción

La clase ReflectionExtension devuelve información sobre una extensión.

Sinopsis de la Clase

ReflectionExtension implements Reflector {
/* Propiedades */
public $name ;
/* Métodos */
final private void __clone ( void )
public __construct ( string $name )
public static string export ( string $name [, string $return = false ] )
public array getClasses ( void )
public array getClassNames ( void )
public array getConstants ( void )
public array getDependencies ( void )
public array getFunctions ( void )
public array getINIEntries ( void )
public string getName ( void )
public string getVersion ( void )
public void info ( void )
public void isPersistent ( void )
public void isTemporary ( void )
public string __toString ( void )
}

Propiedades

name

Nombre de la extensión, como si se llamara al método ReflectionExtension::getName().

Tabla de contenidos

  • ReflectionExtension::__clone — Clonar
  • ReflectionExtension::__construct — Constructor de los objetos ReflectionExtension
  • ReflectionExtension::export — Exportar
  • ReflectionExtension::getClasses — Obtiene clases
  • ReflectionExtension::getClassNames — Obtiene nombres de las clases
  • ReflectionExtension::getConstants — Obtiene las constantes
  • ReflectionExtension::getDependencies — Obtiene las dependencias
  • ReflectionExtension::getFunctions — Obtiene las funciones de una extensión
  • ReflectionExtension::getINIEntries — Obtiene las entradas INI de la extensión
  • ReflectionExtension::getName — Obtiene el nombre de la extensión
  • ReflectionExtension::getVersion — Obtiene la versión de una extensión
  • ReflectionExtension::info — Imprime información sobre la extensión
  • ReflectionExtension::isPersistent — Indica si la extensión es persistente
  • ReflectionExtension::isTemporary — Indica si la extensión es temporal
  • ReflectionExtension::__toString — Convertir a string
ReflectionZendExtension::__toString
ReflectionExtension::__clone
Reflexión


Clonar

ReflectionExtension
ReflectionExtension::__construct
ReflectionExtension
PHP Manual

ReflectionExtension::__clone

(PHP 5)

ReflectionExtension::__clone — Clonar

Descripción

final private void ReflectionExtension::__clone ( void )

Éste metodo previene que se pueda clonar un objeto. Los objetos de reflexión no se pueden clonar.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No se devuelve ningún valor. Al ser llamado, se emitará un error fatal.

Ver también

  • ReflectionExtension::__construct() - Constructor de los objetos ReflectionExtension
  • Clonación de objetos

ReflectionExtension
ReflectionExtension::__construct
ReflectionExtension


Constructor de los objetos ReflectionExtension

ReflectionExtension::__clone
ReflectionExtension::export
ReflectionExtension
PHP Manual

ReflectionExtension::__construct

(PHP 5)

ReflectionExtension::__construct — Constructor de los objetos ReflectionExtension

Descripción

public ReflectionExtension::__construct ( string $name )

Construye un objet de la clase ReflectionExtension.

Parámetros

name

Nombre de la extensión.

Valores devueltos

object de la clase ReflectionExtension.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionExtension

<?php
$ext = new ReflectionExtension('Reflection');

printf('Extension: %s (version: %s)', $ext->getName(), $ext->getVersion());
?>

El resultado del ejemplo sería algo similar a:

Extension: Reflection (version: $Revision: 330776 $)

Ver también

  • ReflectionExtension::info() - Imprime información sobre la extensión
  • Constructores

ReflectionExtension::__clone
ReflectionExtension::export
ReflectionExtension


Exportar

ReflectionExtension::__construct
ReflectionExtension::getClasses
ReflectionExtension
PHP Manual

ReflectionExtension::export

(PHP 5)

ReflectionExtension::export — Exportar

Descripción

public static string ReflectionExtension::export ( string $name [, string $return = false ] )

Exporta una extensión reflexionada. El formato de salida de esta función coincide con el del argumento --re [extension] usado en la línea de comandos.

Parámetros

name

La reflexión a exportar.

return

Configurarlo a TRUE devolverá la exportación, a diferencia de emitirla. Configurarlo a FALSE (el valor por defecto) hará lo contrario.

Valores devueltos

Si el parámetro return es seteado a TRUE, la exportación se devolverá como un string, de lo contrario se retornará NULL.

Ver también

  • ReflectionExtension::info() - Imprime información sobre la extensión

ReflectionExtension::__construct
ReflectionExtension::getClasses
ReflectionExtension


Obtiene clases

ReflectionExtension::export
ReflectionExtension::getClassNames
ReflectionExtension
PHP Manual

ReflectionExtension::getClasses

(PHP 5)

ReflectionExtension::getClasses — Obtiene clases

Descripción

public array ReflectionExtension::getClasses ( void )

Devuelve la lista de clases que pertenecen a una extensión.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un array de objetos ReflectionClass, uno por cada clase que incluya la extensión. Si no se hubiera definido ninguna, se devolvería un array vacío.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionExtension::getClasses()

<?php
$ext = new ReflectionExtension('XMLWriter');
var_dump($ext->getClasses());
?>

El resultado del ejemplo sería algo similar a:

array(1) {
  ["XMLWriter"]=>
  &object(ReflectionClass)#2 (1) {
    ["name"]=>
    string(9) "XMLWriter"
  }
}

Ver también

  • ReflectionExtension::getClassNames() - Obtiene nombres de las clases

ReflectionExtension::export
ReflectionExtension::getClassNames
ReflectionExtension


Obtiene nombres de las clases

ReflectionExtension::getClasses
ReflectionExtension::getConstants
ReflectionExtension
PHP Manual

ReflectionExtension::getClassNames

(PHP 5)

ReflectionExtension::getClassNames — Obtiene nombres de las clases

Descripción

public array ReflectionExtension::getClassNames ( void )

Devuelve una lsita de los nombres de las clases que pertenecen a esta extensión.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un array con los nombres de las clases, tal como estuvieran definidos en la extensión. Si no hubiera ninguna clase, se devolvería un array vacío.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionExtension::getClassNames()

<?php
$ext = new ReflectionExtension('XMLWriter');
var_dump($ext->getClassNames());
?>

El resultado del ejemplo sería algo similar a:

array(1) {
  [0]=>
  string(9) "XMLWriter"
}

Ver también

  • ReflectionExtension::getClasses() - Obtiene clases
  • ReflectionExtension::getName() - Obtiene el nombre de la extensión

ReflectionExtension::getClasses
ReflectionExtension::getConstants
ReflectionExtension


Obtiene las constantes

ReflectionExtension::getClassNames
ReflectionExtension::getDependencies
ReflectionExtension
PHP Manual

ReflectionExtension::getConstants

(PHP 5)

ReflectionExtension::getConstants — Obtiene las constantes

Descripción

public array ReflectionExtension::getConstants ( void )

Devuelve las constantes definidas dentro de una extensión.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Array asociativo utilizando los nombres de constantes en las claves.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionExtension::getConstants()

<?php
$ext = new ReflectionExtension('DOM');

print_r($ext->getConstants());
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [XML_ELEMENT_NODE] => 1
    [XML_ATTRIBUTE_NODE] => 2
    [XML_TEXT_NODE] => 3
    [XML_CDATA_SECTION_NODE] => 4
    [XML_ENTITY_REF_NODE] => 5
    [XML_ENTITY_NODE] => 6
    [XML_PI_NODE] => 7
    [XML_COMMENT_NODE] => 8
    [XML_DOCUMENT_NODE] => 9
    [XML_DOCUMENT_TYPE_NODE] => 10
    [XML_DOCUMENT_FRAG_NODE] => 11
    [XML_NOTATION_NODE] => 12
    [XML_HTML_DOCUMENT_NODE] => 13
    [XML_DTD_NODE] => 14
    [XML_ELEMENT_DECL_NODE] => 15
    [XML_ATTRIBUTE_DECL_NODE] => 16
    [XML_ENTITY_DECL_NODE] => 17
    [XML_NAMESPACE_DECL_NODE] => 18
    [XML_LOCAL_NAMESPACE] => 18
    [XML_ATTRIBUTE_CDATA] => 1
    [XML_ATTRIBUTE_ID] => 2
    [XML_ATTRIBUTE_IDREF] => 3
    [XML_ATTRIBUTE_IDREFS] => 4
    [XML_ATTRIBUTE_ENTITY] => 6
    [XML_ATTRIBUTE_NMTOKEN] => 7
    [XML_ATTRIBUTE_NMTOKENS] => 8
    [XML_ATTRIBUTE_ENUMERATION] => 9
    [XML_ATTRIBUTE_NOTATION] => 10
    [DOM_PHP_ERR] => 0
    [DOM_INDEX_SIZE_ERR] => 1
    [DOMSTRING_SIZE_ERR] => 2
    [DOM_HIERARCHY_REQUEST_ERR] => 3
    [DOM_WRONG_DOCUMENT_ERR] => 4
    [DOM_INVALID_CHARACTER_ERR] => 5
    [DOM_NO_DATA_ALLOWED_ERR] => 6
    [DOM_NO_MODIFICATION_ALLOWED_ERR] => 7
    [DOM_NOT_FOUND_ERR] => 8
    [DOM_NOT_SUPPORTED_ERR] => 9
    [DOM_INUSE_ATTRIBUTE_ERR] => 10
    [DOM_INVALID_STATE_ERR] => 11
    [DOM_SYNTAX_ERR] => 12
    [DOM_INVALID_MODIFICATION_ERR] => 13
    [DOM_NAMESPACE_ERR] => 14
    [DOM_INVALID_ACCESS_ERR] => 15
    [DOM_VALIDATION_ERR] => 16
)

Ver también

  • ReflectionExtension::getINIEntries() - Obtiene las entradas INI de la extensión

ReflectionExtension::getClassNames
ReflectionExtension::getDependencies
ReflectionExtension


Obtiene las dependencias

ReflectionExtension::getConstants
ReflectionExtension::getFunctions
ReflectionExtension
PHP Manual

ReflectionExtension::getDependencies

(PHP 5)

ReflectionExtension::getDependencies — Obtiene las dependencias

Descripción

public array ReflectionExtension::getDependencies ( void )

Devuelve las dependencias, listando tanto aquéllas que sean obligatorias, como las conflictivas.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un array asociativo con los nombres de las dependencias como clave, y Required (obligatorio), Optional (opcional) o Conflicts (conflictivo) como valor.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionExtension::getDependencies()

<?php
$dom = new ReflectionExtension('dom');

print_r($dom->getDependencies());
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [libxml] => Required
    [domxml] => Conflicts
)

Ver también

  • ReflectionClass::getVersion()

ReflectionExtension::getConstants
ReflectionExtension::getFunctions
ReflectionExtension


Obtiene las funciones de una extensión

ReflectionExtension::getDependencies
ReflectionExtension::getINIEntries
ReflectionExtension
PHP Manual

ReflectionExtension::getFunctions

(PHP 5)

ReflectionExtension::getFunctions — Obtiene las funciones de una extensión

Descripción

public array ReflectionExtension::getFunctions ( void )

Devuelve las funciones definidas en una extensión.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Array asociativo de objetos ReflectionFunction. Para cada función que haya definida en la extensión, se usará su nombre como valor de clave del array. Si no hubiera ninguna función definida, se devolvería un array vacío.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionExtension::getFunctions()

<?php
$dom = new ReflectionExtension('SimpleXML');

print_r($dom->getFunctions());
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [simplexml_load_file] => ReflectionFunction Object
        (
            [name] => simplexml_load_file
        )

    [simplexml_load_string] => ReflectionFunction Object
        (
            [name] => simplexml_load_string
        )

    [simplexml_import_dom] => ReflectionFunction Object
        (
            [name] => simplexml_import_dom
        )

)

Ver también

  • ReflectionExtension::getClasses() - Obtiene clases
  • get_extension_funcs() - Devuelve una matriz con los nombres de funciones de un módulo

ReflectionExtension::getDependencies
ReflectionExtension::getINIEntries
ReflectionExtension


Obtiene las entradas INI de la extensión

ReflectionExtension::getFunctions
ReflectionExtension::getName
ReflectionExtension
PHP Manual

ReflectionExtension::getINIEntries

(PHP 5)

ReflectionExtension::getINIEntries — Obtiene las entradas INI de la extensión

Descripción

public array ReflectionExtension::getINIEntries ( void )

Devuelve las entradas INI de la extensión.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un array asociativo usando la entrada INI en la clave, y su valor como valor del elemento del array.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionExtension::getINIEntries()

<?php
$ext = new ReflectionExtension('mysql');

print_r($ext->getINIEntries());
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [mysql.allow_persistent] => 1
    [mysql.max_persistent] => -1
    [mysql.max_links] => -1
    [mysql.default_host] =>
    [mysql.default_user] =>
    [mysql.default_password] =>
    [mysql.default_port] =>
    [mysql.default_socket] =>
    [mysql.connect_timeout] => 60
    [mysql.trace_mode] =>
    [mysql.allow_local_infile] => 1
    [mysql.cache_size] => 2000
)

Ver también

  • ini_get_all() - Obtiene todas las opciones de configuración
  • ReflectionExtension::getConstants() - Obtiene las constantes

ReflectionExtension::getFunctions
ReflectionExtension::getName
ReflectionExtension


Obtiene el nombre de la extensión

ReflectionExtension::getINIEntries
ReflectionExtension::getVersion
ReflectionExtension
PHP Manual

ReflectionExtension::getName

(PHP 5)

ReflectionExtension::getName — Obtiene el nombre de la extensión

Descripción

public string ReflectionExtension::getName ( void )

Devuelve el nombre de la extensión.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Nombre de la extensión.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionExtension::getName()

<?php
$ext = new ReflectionExtension('mysqli');
var_dump($ext->getName());
?>

El resultado del ejemplo sería algo similar a:

string(6) "mysqli"

Ver también

  • ReflectionExtension::getClassNames() - Obtiene nombres de las clases

ReflectionExtension::getINIEntries
ReflectionExtension::getVersion
ReflectionExtension


Obtiene la versión de una extensión

ReflectionExtension::getName
ReflectionExtension::info
ReflectionExtension
PHP Manual

ReflectionExtension::getVersion

(PHP 5)

ReflectionExtension::getVersion — Obtiene la versión de una extensión

Descripción

public string ReflectionExtension::getVersion ( void )

Devuelve la versión de la extensión.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Versión de la extensión.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionExtension::getVersion()

<?php
$ext = new ReflectionExtension('mysqli');
var_dump($ext->getVersion());
?>

El resultado del ejemplo sería algo similar a:

string(3) "0.1"

Ver también

  • ReflectionExtension::info() - Imprime información sobre la extensión

ReflectionExtension::getName
ReflectionExtension::info
ReflectionExtension


Imprime información sobre la extensión

ReflectionExtension::getVersion
ReflectionExtension::isPersistent
ReflectionExtension
PHP Manual

ReflectionExtension::info

(PHP 5)

ReflectionExtension::info — Imprime información sobre la extensión

Descripción

public void ReflectionExtension::info ( void )

Imprime el bloque de " phpinfo()" correspondiente a la extensión dada.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Información sobre la extensión.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionExtension::info()

<?php
$ext = new ReflectionExtension('mysqli');
$ext->info();
?>

El resultado del ejemplo sería algo similar a:

mysqli

MysqlI Support => enabled
Client API library version => mysqlnd 5.0.5-dev - 081106 - $Revision: 317797 $
Active Persistent Links => 0
Inactive Persistent Links => 0
Active Links => 0
Persistent cache => enabled
put_hits => 0
put_misses => 0
get_hits => 0
get_misses => 0
size => 2000
free_items => 2000
references => 2

Directive => Local Value => Master Value
mysqli.max_links => Unlimited => Unlimited
mysqli.max_persistent => Unlimited => Unlimited
mysqli.allow_persistent => On => On
mysqli.default_host => no value => no value
mysqli.default_user => no value => no value
mysqli.default_pw => no value => no value
mysqli.default_port => 3306 => 3306
mysqli.default_socket => no value => no value
mysqli.reconnect => Off => Off
mysqli.allow_local_infile => On => On
mysqli.cache_size => 2000 => 2000

Ver también

  • ReflectionExtension::getName() - Obtiene el nombre de la extensión
  • phpinfo() - Muestra información sobre la configuración de PHP

ReflectionExtension::getVersion
ReflectionExtension::isPersistent
ReflectionExtension


Indica si la extensión es persistente

ReflectionExtension::info
ReflectionExtension::isTemporary
ReflectionExtension
PHP Manual

ReflectionExtension::isPersistent

(PHP >= 5.4.0)

ReflectionExtension::isPersistent — Indica si la extensión es persistente

Descripción

public void ReflectionExtension::isPersistent ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si la extensión ha sido cargado por extension, o FALSE en caso contrario.

Ver también

  • ReflectionExtension::isTemporary() - Indica si la extensión es temporal

ReflectionExtension::info
ReflectionExtension::isTemporary
ReflectionExtension


Indica si la extensión es temporal

ReflectionExtension::isPersistent
ReflectionExtension::__toString
ReflectionExtension
PHP Manual

ReflectionExtension::isTemporary

(PHP >= 5.4.0)

ReflectionExtension::isTemporary — Indica si la extensión es temporal

Descripción

public void ReflectionExtension::isTemporary ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE para las extensiones cargadas con dl(), o FALSE en caso contrario.

Ver también

  • ReflectionExtension::isPersistent() - Indica si la extensión es persistente

ReflectionExtension::isPersistent
ReflectionExtension::__toString
ReflectionExtension


Convertir a string

ReflectionExtension::isTemporary
ReflectionFunction
ReflectionExtension
PHP Manual

ReflectionExtension::__toString

(PHP 5)

ReflectionExtension::__toString — Convertir a string

Descripción

public string ReflectionExtension::__toString ( void )

Exporta una extensión reflexionada devolvíendola en forma de string. Es equivalente al método ReflectionExtension::export() estableciendo en el parámetro return el valor TRUE.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la extensión en forma de string, de la misma forma que haría ReflectionExtension::export().

Ver también

  • ReflectionExtension::__construct() - Constructor de los objetos ReflectionExtension
  • ReflectionExtension::export() - Exportar
  • __toString()

ReflectionExtension::isTemporary
ReflectionFunction
ReflectionExtension


Clase ReflectionFunction

(PHP 5)

Introducción

La ReflectionFunction muestra información sobre una función.

Sinopsis de la Clase

ReflectionFunction extends ReflectionFunctionAbstract implements Reflector {
/* Constantes */
const integer IS_DEPRECATED = 262144 ;
/* Propiedades */
public $name ;
/* Métodos */
public __construct ( mixed $name )
public static string export ( string $name [, string $return ] )
public Closure getClosure ( void )
public mixed invoke ([ mixed $parameter [, mixed $... ]] )
public mixed invokeArgs ( array $args )
public bool isDisabled ( void )
public string __toString ( void )
/* Métodos heredados */
final private void ReflectionFunctionAbstract::__clone ( void )
public ReflectionClass ReflectionFunctionAbstract::getClosureScopeClass ( void )
public object ReflectionFunctionAbstract::getClosureThis ( void )
public string ReflectionFunctionAbstract::getDocComment ( void )
public int ReflectionFunctionAbstract::getEndLine ( void )
public ReflectionExtension ReflectionFunctionAbstract::getExtension ( void )
public string ReflectionFunctionAbstract::getExtensionName ( void )
public string ReflectionFunctionAbstract::getFileName ( void )
public string ReflectionFunctionAbstract::getName ( void )
public string ReflectionFunctionAbstract::getNamespaceName ( void )
public int ReflectionFunctionAbstract::getNumberOfParameters ( void )
public int ReflectionFunctionAbstract::getNumberOfRequiredParameters ( void )
public array ReflectionFunctionAbstract::getParameters ( void )
public string ReflectionFunctionAbstract::getShortName ( void )
public int ReflectionFunctionAbstract::getStartLine ( void )
public array ReflectionFunctionAbstract::getStaticVariables ( void )
public bool ReflectionFunctionAbstract::inNamespace ( void )
public bool ReflectionFunctionAbstract::isClosure ( void )
public bool ReflectionFunctionAbstract::isDeprecated ( void )
public bool ReflectionFunctionAbstract::isGenerator ( void )
public bool ReflectionFunctionAbstract::isInternal ( void )
public bool ReflectionFunctionAbstract::isUserDefined ( void )
public bool ReflectionFunctionAbstract::returnsReference ( void )
abstract public void ReflectionFunctionAbstract::__toString ( void )
}

Propiedades

name

Nombre de la función. De sólo lectura, lanza una ReflectionException en el intento de escribir.

Constantes predefinidas

Modificadores ReflectionFunction

ReflectionFunction::IS_DEPRECATED

Indica las funciones obsoletas.

Tabla de contenidos

  • ReflectionFunction::__construct — Contruye un objeto de tipo ReflectionFunction
  • ReflectionFunction::export — Exporta una función
  • ReflectionFunction::getClosure — Genera dinámicamente una función anónima de esta función
  • ReflectionFunction::invoke — Invoca una función
  • ReflectionFunction::invokeArgs — Invoca a la función con argumentos
  • ReflectionFunction::isDisabled — Comprueba si una función está desactivada
  • ReflectionFunction::__toString — Convertir a string
ReflectionExtension::__toString
ReflectionFunction::__construct
Reflexión


Contruye un objeto de tipo ReflectionFunction

ReflectionFunction
ReflectionFunction::export
ReflectionFunction
PHP Manual

ReflectionFunction::__construct

(PHP 5)

ReflectionFunction::__construct — Contruye un objeto de tipo ReflectionFunction

Descripción

public ReflectionFunction::__construct ( mixed $name )

Construye un objeto de tipo ReflectionFunction.

Parámetros

name

Nombre de la función que se desea reflexionar, o una función anónima.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Lanza ReflectionException si el parámetro name no contuviera una función válida.

Historial de cambios

Versión | Descripción
5.3.0 | ahora name puede representar una función anónima.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionFunction::__construct()

<?php
/**
 * Contador sencillo
 *
 * @return    int
 */
function contador1()
{
    static $c = 0;
    return ++$c;
}

/**
 * Otro contador sencillo
 *
 * @return    int
 */
$contador2 = function()
{
    static $d = 0;
    return ++$d;

};

function mostrarFuncionesReflexionadas($func)
{
    // Mostrar información básica
    printf(
        "\n\n===> La función %s '%s'\n".
        "     declarada en %s\n".
        "     líneas %d a %d\n",
        $func->isInternal() ? 'interna' : 'definida por el usuario',
        $func->getName(),
        $func->getFileName(),
        $func->getStartLine(),
        $func->getEndline()
    );

    // Mostrar comentarios de documentación
    printf("---> Documentación:\n %s\n", var_export($func->getDocComment(), 1));

    // Mostrar, si existen, variables estáticas
    if ($statics = $func->getStaticVariables())
    {
        printf("---> Variables estáticas: %s\n", var_export($statics, 1));
    }
}

// Crear una instancia de la clase ReflectionFunction
mostrarFuncionesReflexionadas(new ReflectionFunction('contador1'));
mostrarFuncionesReflexionadas(new ReflectionFunction($contador2));
?>

El resultado del ejemplo sería algo similar a:

===> La función definida por el usuario 'contador1'
     declarada en /Users/chuso/dropme.php
     líneas 7 a 11
---> Documentación:
 '/**
 * Contador sencillo
 *
 * @return    int
 */'
---> Variables estáticas: array (
  'c' => 0,
)

===> La función definida por el usuario '{closure}'
     declarada en /Users/chuso/dropme.php
     líneas 18 a 23
---> Documentación:
 '/**
 * Otro contador sencillo
 *
 * @return    int
 */'
---> Variables estáticas: array (
  'd' => 0,
)

Ver también

  • ReflectionMethod::__construct() - Construye un objeto ReflectionMethod
  • Constructores

ReflectionFunction
ReflectionFunction::export
ReflectionFunction


Exporta una función

ReflectionFunction::__construct
ReflectionFunction::getClosure
ReflectionFunction
PHP Manual

ReflectionFunction::export

(PHP 5)

ReflectionFunction::export — Exporta una función

Descripción

public static string ReflectionFunction::export ( string $name [, string $return ] )

Exporta una función reflexionada.

Parámetros

name

La reflexión a exportar.

return

Configurarlo a TRUE devolverá la exportación, a diferencia de emitirla. Configurarlo a FALSE (el valor por defecto) hará lo contrario.

Valores devueltos

Si el parámetro return es seteado a TRUE, la exportación se devolverá como un string, de lo contrario se retornará NULL.

Ver también

  • ReflectionFunction::invoke() - Invoca una función

ReflectionFunction::__construct
ReflectionFunction::getClosure
ReflectionFunction


Genera dinámicamente una función anónima de esta función

ReflectionFunction::export
ReflectionFunction::invoke
ReflectionFunction
PHP Manual

ReflectionFunction::getClosure

(PHP >= 5.4.0)

ReflectionFunction::getClosure — Genera dinámicamente una función anónima de esta función

Descripción

public Closure ReflectionFunction::getClosure ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un objeto de tipo Closure. En caso de error, devuelve NULL.

ReflectionFunction::export
ReflectionFunction::invoke
ReflectionFunction


Invoca una función

ReflectionFunction::getClosure
ReflectionFunction::invokeArgs
ReflectionFunction
PHP Manual

ReflectionFunction::invoke

(PHP 5)

ReflectionFunction::invoke — Invoca una función

Descripción

public mixed ReflectionFunction::invoke ([ mixed $parameter [, mixed $... ]] )

Invoca una función reflexionada.

Parámetros

args

Lista de argumentos que se pasan a la función. Acepta un número variabel de argumentos, que se pasan a la función de manera similar a como lo hace call_user_func().

Valores devueltos

Devuelve el resultado de llamar a la función invocada.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionFunction::invoke() example

<?php
function titule($titule, $nombre)
{
    return sprintf("%s. %s\r\n", $titulo, $nombre);
}

$funcion = new ReflectionFunction('titule');

echo $funcion->invoke('Sr', 'Pedro');
?>

El resultado del ejemplo sería:

Sr. Pedro

Notas

Nota:

Si la función tiene argumentos que necesitan ser referencias, éstos deben ser referencias en la lista de argumentos pasados.

Ver también

  • ReflectionFunction::export() - Exporta una función
  • __invoke()
  • call_user_func() - Llamar a una llamada de retorno dada por el primer parámetro

ReflectionFunction::getClosure
ReflectionFunction::invokeArgs
ReflectionFunction


Invoca a la función con argumentos

ReflectionFunction::invoke
ReflectionFunction::isDisabled
ReflectionFunction
PHP Manual

ReflectionFunction::invokeArgs

(PHP 5 >= 5.1.0)

ReflectionFunction::invokeArgs — Invoca a la función con argumentos

Descripción

public mixed ReflectionFunction::invokeArgs ( array $args )

Invoca la función y pasa sus argumentos como array.

Parámetros

args

Array con la lista de argumentos que se pasan a la función, similar a cómo funciona call_user_func_array().

Valores devueltos

Devuelve el resultado de la función invocada

Ejemplos

Ejemplo #1 Ejemplo de ReflectionFunction::invokeArgs()

<?php
function titulo($titulo, $nombre)
{
    return sprintf("%s. %s\r\n", $titulo, $nombre);
}

$function = new ReflectionFunction('titulo');

echo $function->invokeArgs(array('Sr', 'Pedro'));
?>

El resultado del ejemplo sería:

Dr. Pedro

Ejemplo #2 Ejemplo de ReflectionFunction::invokeArgs() con argumentos por referencia

<?php
function obtener_condiciones_falsas(array $condiciones, array &$condiciones_falsas)
{
    foreach ($condiciones as $condicion) {
        if (!$condicion) {
            $condiciones_falsas[] = $condicion;
        }
    }
}

$ref_a_funcion     = new ReflectionFunction('obtener_condiciones_falsas');

$condiciones        = array(true, false, -1, 0, 1);
$condiciones_falsas = array();

$ref_a_funcion->invokeArgs(array($condiciones, &$condiciones_falsas));

var_dump($condiciones_falsas);
?>

El resultado del ejemplo sería:

array(2) {
  [0]=>
  bool(false)
  [1]=>
  int(0)
}

Notas

Nota:

Si la función tiene argumentos que necesitan ser referencias, éstos deben ser referencias en la lista de argumentos pasados.

Ver también

  • ReflectionFunction::invoke() - Invoca una función
  • ReflectionFunctionAbstract::getNumberOfParameters() - Obtiene el número total de parámetros
  • __invoke()
  • call_user_func_array() - Llamar a una llamada de retorno un array de parámetros

ReflectionFunction::invoke
ReflectionFunction::isDisabled
ReflectionFunction


Comprueba si una función está desactivada

ReflectionFunction::invokeArgs
ReflectionFunction::__toString
ReflectionFunction
PHP Manual

ReflectionFunction::isDisabled

(PHP 5)

ReflectionFunction::isDisabled — Comprueba si una función está desactivada

Descripción

public bool ReflectionFunction::isDisabled ( void )

Comprueba si una función está desactivada, mediante la directiva disable_functions.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si está desactivadao, o FALSE en caso contrario.

Ver también

  • ReflectionFunctionAbstract::isUserDefined() - Comprueba si es una función definida por un usuario
  • directiva disable_functions

ReflectionFunction::invokeArgs
ReflectionFunction::__toString
ReflectionFunction


Convertir a string

ReflectionFunction::isDisabled
ReflectionFunctionAbstract
ReflectionFunction
PHP Manual

ReflectionFunction::__toString

(PHP 5)

ReflectionFunction::__toString — Convertir a string

Descripción

public string ReflectionFunction::__toString ( void )

Convierte a string.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una salida similar a la de ReflectionFunction::export().

Ejemplos

Ejemplo #1 Ejemplo de ReflectionFunction::__toString()

<?php
function titulo($titulo, $nombre)
{
    return sprintf("%s. %s\r\n", $titulo, $nombre);
}

echo new ReflectionFunction('titulo');
?>

El resultado del ejemplo sería algo similar a:

Function [ <user> function titulo ] {
  @@ Command line code 2 - 5

  - Parameters [2] {
    Parameter #0 [ <required> $titulo ]
    Parameter #1 [ <required> $nombre ]
  }
}

Ver también

  • ReflectionFunction::export() - Exporta una función
  • ReflectionClass::clone()
  • __toString()

ReflectionFunction::isDisabled
ReflectionFunctionAbstract
ReflectionFunction


Clase ReflectionFunctionAbstract

(PHP 5)

Introducción

Clase padre de ReflectionFunction. Lea su descripción para conocer más detalles.

Sinopsis de la Clase

ReflectionFunctionAbstract implements Reflector {
/* Propiedades */
public $name ;
/* Métodos */
final private void __clone ( void )
public ReflectionClass getClosureScopeClass ( void )
public object getClosureThis ( void )
public string getDocComment ( void )
public int getEndLine ( void )
public ReflectionExtension getExtension ( void )
public string getExtensionName ( void )
public string getFileName ( void )
public string getName ( void )
public string getNamespaceName ( void )
public int getNumberOfParameters ( void )
public int getNumberOfRequiredParameters ( void )
public array getParameters ( void )
public string getShortName ( void )
public int getStartLine ( void )
public array getStaticVariables ( void )
public bool inNamespace ( void )
public bool isClosure ( void )
public bool isDeprecated ( void )
public bool isGenerator ( void )
public bool isInternal ( void )
public bool isUserDefined ( void )
public bool returnsReference ( void )
abstract public void __toString ( void )
}

Propiedades

name

Nombre de la función. De sólo lectura, lanza una ReflectionException en el intento de escribir.

Tabla de contenidos

  • ReflectionFunctionAbstract::__clone — Clona una función
  • ReflectionFunctionAbstract::getClosureScopeClass — Devuelve el alcance asociado a la clausura
  • ReflectionFunctionAbstract::getClosureThis — Devuelve una función anónima que apunta a esta función
  • ReflectionFunctionAbstract::getDocComment — Obtiene comentarios de documentación
  • ReflectionFunctionAbstract::getEndLine — Obtiene número de linea final
  • ReflectionFunctionAbstract::getExtension — Obtiene información sobre la extensión
  • ReflectionFunctionAbstract::getExtensionName — Obtiene el nombre de la extensión
  • ReflectionFunctionAbstract::getFileName — Obtiene el nombre del fichero
  • ReflectionFunctionAbstract::getName — Obtiene el nombre de la función
  • ReflectionFunctionAbstract::getNamespaceName — Obtiene el nombre del espacio de nombres
  • ReflectionFunctionAbstract::getNumberOfParameters — Obtiene el número total de parámetros
  • ReflectionFunctionAbstract::getNumberOfRequiredParameters — Obtiene el número de parámetros obligatorios
  • ReflectionFunctionAbstract::getParameters — Obtiene los parámetros
  • ReflectionFunctionAbstract::getShortName — Obtiene el nombre abreviado de la función
  • ReflectionFunctionAbstract::getStartLine — Obtiene el número de la línea de inicio
  • ReflectionFunctionAbstract::getStaticVariables — Obtiene las variable estáticas
  • ReflectionFunctionAbstract::inNamespace — Comprueba si pertenece a un espacio de nombres
  • ReflectionFunctionAbstract::isClosure — Comprueba si es una función anónima
  • ReflectionFunctionAbstract::isDeprecated — Comprueba si está obsoleta
  • ReflectionFunctionAbstract::isGenerator — Devuelve si la función es un generador
  • ReflectionFunctionAbstract::isInternal — Comprueba si la función es interna
  • ReflectionFunctionAbstract::isUserDefined — Comprueba si es una función definida por un usuario
  • ReflectionFunctionAbstract::returnsReference — Comprueba si devuelve una referencia
  • ReflectionFunctionAbstract::__toString — Convertir a texto
ReflectionFunction::__toString
ReflectionFunctionAbstract::__clone
Reflexión


Clona una función

ReflectionFunctionAbstract
ReflectionFunctionAbstract::getClosureScopeClass
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::__clone

(PHP 5)

ReflectionFunctionAbstract::__clone — Clona una función

Descripción

final private void ReflectionFunctionAbstract::__clone ( void )

Clona una función.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Ver también

  • Clonación de objetos

ReflectionFunctionAbstract
ReflectionFunctionAbstract::getClosureScopeClass
ReflectionFunctionAbstract


Devuelve el alcance asociado a la clausura

ReflectionFunctionAbstract::__clone
ReflectionFunctionAbstract::getClosureThis
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getClosureScopeClass

(PHP >= 5.4.0)

ReflectionFunctionAbstract::getClosureScopeClass — Devuelve el alcance asociado a la clausura

Descripción

public ReflectionClass ReflectionFunctionAbstract::getClosureScopeClass ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la clase en caso de éxito o NULL en caso de fallo.

ReflectionFunctionAbstract::__clone
ReflectionFunctionAbstract::getClosureThis
ReflectionFunctionAbstract


Devuelve una función anónima que apunta a esta función

ReflectionFunctionAbstract::getClosureScopeClass
ReflectionFunctionAbstract::getDocComment
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getClosureThis

(PHP >= 5.4.0)

ReflectionFunctionAbstract::getClosureThis — Devuelve una función anónima que apunta a esta función

Descripción

public object ReflectionFunctionAbstract::getClosureThis ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un puntero a $this. En caso de error, devuelve NULL.

ReflectionFunctionAbstract::getClosureScopeClass
ReflectionFunctionAbstract::getDocComment
ReflectionFunctionAbstract


Obtiene comentarios de documentación

ReflectionFunctionAbstract::getClosureThis
ReflectionFunctionAbstract::getEndLine
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getDocComment

(PHP 5 >= 5.1.0)

ReflectionFunctionAbstract::getDocComment — Obtiene comentarios de documentación

Descripción

public string ReflectionFunctionAbstract::getDocComment ( void )

Devuelve los comentarios de documentación de una función.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Si existieran, comentarios de documentación. En caso contrario, FALSE.

Ver también

  • ReflectionFunctionAbstract::getStartLine() - Obtiene el número de la línea de inicio

ReflectionFunctionAbstract::getClosureThis
ReflectionFunctionAbstract::getEndLine
ReflectionFunctionAbstract


Obtiene número de linea final

ReflectionFunctionAbstract::getDocComment
ReflectionFunctionAbstract::getExtension
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getEndLine

(PHP 5)

ReflectionFunctionAbstract::getEndLine — Obtiene número de linea final

Descripción

public int ReflectionFunctionAbstract::getEndLine ( void )

Devuelve el número de linea final.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El número de la línea final de la función definida por el usuario, o FALSE si fuera desconocido.

Ver también

  • ReflectionFunctionAbstract::getStartLine() - Obtiene el número de la línea de inicio

ReflectionFunctionAbstract::getDocComment
ReflectionFunctionAbstract::getExtension
ReflectionFunctionAbstract


Obtiene información sobre la extensión

ReflectionFunctionAbstract::getEndLine
ReflectionFunctionAbstract::getExtensionName
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getExtension

(PHP 5)

ReflectionFunctionAbstract::getExtension — Obtiene información sobre la extensión

Descripción

public ReflectionExtension ReflectionFunctionAbstract::getExtension ( void )

Devuelve información de la extensión a la que pertenece la función.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Información de la extensión, en forma de objeto ReflectionExtension.

Ver también

  • ReflectionFunctionAbstract::getExtensionName() - Obtiene el nombre de la extensión

ReflectionFunctionAbstract::getEndLine
ReflectionFunctionAbstract::getExtensionName
ReflectionFunctionAbstract


Obtiene el nombre de la extensión

ReflectionFunctionAbstract::getExtension
ReflectionFunctionAbstract::getFileName
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getExtensionName

(PHP 5)

ReflectionFunctionAbstract::getExtensionName — Obtiene el nombre de la extensión

Descripción

public string ReflectionFunctionAbstract::getExtensionName ( void )

Devuelve el nombre de la extensión.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Nombre de la extensión.

Ver también

  • ReflectionFunctionAbstract::getExtension() - Obtiene información sobre la extensión

ReflectionFunctionAbstract::getExtension
ReflectionFunctionAbstract::getFileName
ReflectionFunctionAbstract


Obtiene el nombre del fichero

ReflectionFunctionAbstract::getExtensionName
ReflectionFunctionAbstract::getName
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getFileName

(PHP 5)

ReflectionFunctionAbstract::getFileName — Obtiene el nombre del fichero

Descripción

public string ReflectionFunctionAbstract::getFileName ( void )

Obtiene el nombre de fichero que contiene una función definida por el usuario.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Nombre del fichero.

Ver también

  • ReflectionFunctionAbstract::getNamespaceName() - Obtiene el nombre del espacio de nombres

ReflectionFunctionAbstract::getExtensionName
ReflectionFunctionAbstract::getName
ReflectionFunctionAbstract


Obtiene el nombre de la función

ReflectionFunctionAbstract::getFileName
ReflectionFunctionAbstract::getNamespaceName
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getName

(PHP 5)

ReflectionFunctionAbstract::getName — Obtiene el nombre de la función

Descripción

public string ReflectionFunctionAbstract::getName ( void )

Devuelve el nombre de la función.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Nombre de la función.

Ver también

  • ReflectionFunctionAbstract::getExtensionName() - Obtiene el nombre de la extensión
  • ReflectionFunctionAbstract::isUserDefined() - Comprueba si es una función definida por un usuario

ReflectionFunctionAbstract::getFileName
ReflectionFunctionAbstract::getNamespaceName
ReflectionFunctionAbstract


Obtiene el nombre del espacio de nombres

ReflectionFunctionAbstract::getName
ReflectionFunctionAbstract::getNumberOfParameters
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getNamespaceName

(PHP 5 >= 5.3.0)

ReflectionFunctionAbstract::getNamespaceName — Obtiene el nombre del espacio de nombres

Descripción

public string ReflectionFunctionAbstract::getNamespaceName ( void )

Devuelve el nombre del espacio de nombres en el que está definida la clase.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Nombre del espacio de nombres.

Ver también

  • ReflectionFunctionAbstract::getFileName() - Obtiene el nombre del fichero
  • espacios de nombres

ReflectionFunctionAbstract::getName
ReflectionFunctionAbstract::getNumberOfParameters
ReflectionFunctionAbstract


Obtiene el número total de parámetros

ReflectionFunctionAbstract::getNamespaceName
ReflectionFunctionAbstract::getNumberOfRequiredParameters
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getNumberOfParameters

(PHP 5 >= 5.0.3)

ReflectionFunctionAbstract::getNumberOfParameters — Obtiene el número total de parámetros

Descripción

public int ReflectionFunctionAbstract::getNumberOfParameters ( void )

Devuelve el número total de parámetros definidos en una función, ya sean opcionales u obligatorios.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Número de parámetros.

Ver también

  • ReflectionFunctionAbstract::getNumberOfRequiredParameters() - Obtiene el número de parámetros obligatorios
  • func_num_args() - Devuelve el número de argumentos pasados a la función

ReflectionFunctionAbstract::getNamespaceName
ReflectionFunctionAbstract::getNumberOfRequiredParameters
ReflectionFunctionAbstract


Obtiene el número de parámetros obligatorios

ReflectionFunctionAbstract::getNumberOfParameters
ReflectionFunctionAbstract::getParameters
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getNumberOfRequiredParameters

(PHP 5 >= 5.0.3)

ReflectionFunctionAbstract::getNumberOfRequiredParameters — Obtiene el número de parámetros obligatorios

Descripción

public int ReflectionFunctionAbstract::getNumberOfRequiredParameters ( void )

Devuelve el número de parámetros obligatorios definidos en una función.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Número de parámetros obligatorios.

Ver también

  • ReflectionFunctionAbstract::getNumberOfParameters() - Obtiene el número total de parámetros

ReflectionFunctionAbstract::getNumberOfParameters
ReflectionFunctionAbstract::getParameters
ReflectionFunctionAbstract


Obtiene los parámetros

ReflectionFunctionAbstract::getNumberOfRequiredParameters
ReflectionFunctionAbstract::getShortName
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getParameters

(PHP 5)

ReflectionFunctionAbstract::getParameters — Obtiene los parámetros

Descripción

public array ReflectionFunctionAbstract::getParameters ( void )

Devuelve los parámetros en forma de array de ReflectionParameter.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Parámetros, en forma de objetos ReflectionParameter.

Ver también

  • ReflectionFunctionAbstract::getNumberOfParameters() - Obtiene el número total de parámetros
  • func_get_args() - Devuelve una matriz que se compone de una lista de argumentos de función

ReflectionFunctionAbstract::getNumberOfRequiredParameters
ReflectionFunctionAbstract::getShortName
ReflectionFunctionAbstract


Obtiene el nombre abreviado de la función

ReflectionFunctionAbstract::getParameters
ReflectionFunctionAbstract::getStartLine
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getShortName

(PHP 5 >= 5.3.0)

ReflectionFunctionAbstract::getShortName — Obtiene el nombre abreviado de la función

Descripción

public string ReflectionFunctionAbstract::getShortName ( void )

Devuelve el nombre abreviado de la función (sin la parte del espacio de nombres).

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Nombre abreviado de la función.

Ver también

  • ReflectionFunctionAbstract::getNamespaceName() - Obtiene el nombre del espacio de nombres
  • espcios de nombres

ReflectionFunctionAbstract::getParameters
ReflectionFunctionAbstract::getStartLine
ReflectionFunctionAbstract


Obtiene el número de la línea de inicio

ReflectionFunctionAbstract::getShortName
ReflectionFunctionAbstract::getStaticVariables
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getStartLine

(PHP 5)

ReflectionFunctionAbstract::getStartLine — Obtiene el número de la línea de inicio

Descripción

public int ReflectionFunctionAbstract::getStartLine ( void )

Devuelve el número de la línea de inicio de esta función.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Número de la línea de inicio.

Ver también

  • ReflectionFunctionAbstract::getEndLine() - Obtiene número de linea final

ReflectionFunctionAbstract::getShortName
ReflectionFunctionAbstract::getStaticVariables
ReflectionFunctionAbstract


Obtiene las variable estáticas

ReflectionFunctionAbstract::getStartLine
ReflectionFunctionAbstract::inNamespace
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getStaticVariables

(PHP 5)

ReflectionFunctionAbstract::getStaticVariables — Obtiene las variable estáticas

Descripción

public array ReflectionFunctionAbstract::getStaticVariables ( void )

Devuelve las variables estáticas.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

array de variables estáticas.

Ver también

  • ReflectionFunctionAbstract::getParameters() - Obtiene los parámetros

ReflectionFunctionAbstract::getStartLine
ReflectionFunctionAbstract::inNamespace
ReflectionFunctionAbstract


Comprueba si pertenece a un espacio de nombres

ReflectionFunctionAbstract::getStaticVariables
ReflectionFunctionAbstract::isClosure
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::inNamespace

(PHP 5 >= 5.3.0)

ReflectionFunctionAbstract::inNamespace — Comprueba si pertenece a un espacio de nombres

Descripción

public bool ReflectionFunctionAbstract::inNamespace ( void )

Comprueba si la función está definida o no en un espacio de nombres.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si está en un espacio de nombres, o si no FALSE

Ver también

  • ReflectionFunctionAbstract::getNamespaceName() - Obtiene el nombre del espacio de nombres
  • espacios de nombres

ReflectionFunctionAbstract::getStaticVariables
ReflectionFunctionAbstract::isClosure
ReflectionFunctionAbstract


Comprueba si es una función anónima

ReflectionFunctionAbstract::inNamespace
ReflectionFunctionAbstract::isDeprecated
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::isClosure

(PHP 5 >= 5.3.0)

ReflectionFunctionAbstract::isClosure — Comprueba si es una función anónima

Descripción

public bool ReflectionFunctionAbstract::isClosure ( void )

Comprueba si es o no una función anónima.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si es una función anónima, o si no FALSE

Ver también

  • ReflectionFunctionAbstract::()

ReflectionFunctionAbstract::inNamespace
ReflectionFunctionAbstract::isDeprecated
ReflectionFunctionAbstract


Comprueba si está obsoleta

ReflectionFunctionAbstract::isClosure
ReflectionFunctionAbstract::isGenerator
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::isDeprecated

(PHP 5)

ReflectionFunctionAbstract::isDeprecated — Comprueba si está obsoleta

Descripción

public bool ReflectionFunctionAbstract::isDeprecated ( void )

Comprueba si la función está o no obsoleta.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si está obsoleta, o si no FALSE

Ejemplos

Ejemplo #1 Ejemplo de ReflectionFunctionAbstract::isDeprecated()

<?php
$rf = new ReflectionFunction('ereg');
var_dump($rf->isDeprecated());
?>

El resultado del ejemplo sería:

bool(true)

Ver también

  • ReflectionFunctionAbstract::getDocComment() - Obtiene comentarios de documentación

ReflectionFunctionAbstract::isClosure
ReflectionFunctionAbstract::isGenerator
ReflectionFunctionAbstract


Devuelve si la función es un generador

ReflectionFunctionAbstract::isDeprecated
ReflectionFunctionAbstract::isInternal
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::isGenerator

(PHP 5 >= 5.5.0)

ReflectionFunctionAbstract::isGenerator — Devuelve si la función es un generador

Descripción

public bool ReflectionFunctionAbstract::isGenerator ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si la función es un generador, FALSE si no lo es, o NULL en caso de error.

ReflectionFunctionAbstract::isDeprecated
ReflectionFunctionAbstract::isInternal
ReflectionFunctionAbstract


Comprueba si la función es interna

ReflectionFunctionAbstract::isGenerator
ReflectionFunctionAbstract::isUserDefined
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::isInternal

(PHP 5)

ReflectionFunctionAbstract::isInternal — Comprueba si la función es interna

Descripción

public bool ReflectionFunctionAbstract::isInternal ( void )

Comprueba si la función es interna, en contraposición a las funciones definidas por el usuario.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si es interna, o si no FALSE

Ver también

  • ReflectionFunctionAbstract::isUserDefined() - Comprueba si es una función definida por un usuario

ReflectionFunctionAbstract::isGenerator
ReflectionFunctionAbstract::isUserDefined
ReflectionFunctionAbstract


Comprueba si es una función definida por un usuario

ReflectionFunctionAbstract::isInternal
ReflectionFunctionAbstract::returnsReference
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::isUserDefined

(PHP 5)

ReflectionFunctionAbstract::isUserDefined — Comprueba si es una función definida por un usuario

Descripción

public bool ReflectionFunctionAbstract::isUserDefined ( void )

Comprueba si una función está definida por un usuario, en contraposición a las funciones internas.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si está definida por el usuario, y en cualquier otro caso FALSE.

Ver también

  • ReflectionFunctionAbstract::isInternal() - Comprueba si la función es interna

ReflectionFunctionAbstract::isInternal
ReflectionFunctionAbstract::returnsReference
ReflectionFunctionAbstract


Comprueba si devuelve una referencia

ReflectionFunctionAbstract::isUserDefined
ReflectionFunctionAbstract::__toString
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::returnsReference

(PHP 5)

ReflectionFunctionAbstract::returnsReference — Comprueba si devuelve una referencia

Descripción

public bool ReflectionFunctionAbstract::returnsReference ( void )

Comprueba si la función devuelve o no una referencia.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si la función devuelve una referencia, o si no FALSE

Ver también

  • ReflectionFunctionAbstract::isClosure() - Comprueba si es una función anónima

ReflectionFunctionAbstract::isUserDefined
ReflectionFunctionAbstract::__toString
ReflectionFunctionAbstract


Convertir a texto

ReflectionFunctionAbstract::returnsReference
ReflectionMethod
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::__toString

(PHP 5)

ReflectionFunctionAbstract::__toString — Convertir a texto

Descripción

abstract public void ReflectionFunctionAbstract::__toString ( void )

Convierte a texto.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Texto.

Ver también

  • ReflectionClass::clone()
  • __toString()

ReflectionFunctionAbstract::returnsReference
ReflectionMethod
ReflectionFunctionAbstract


La clase ReflectionMethod

(PHP 5)

Introducción

La clase ReflectionMethod muestra información sobre un método.

Sinopsis de la Clase

ReflectionMethod extends ReflectionFunctionAbstract implements Reflector {
/* Constantes */
const integer IS_STATIC = 1 ;
const integer IS_PUBLIC = 256 ;
const integer IS_PROTECTED = 512 ;
const integer IS_PRIVATE = 1024 ;
const integer IS_ABSTRACT = 2 ;
const integer IS_FINAL = 4 ;
/* Propiedades */
public $name ;
public $class ;
/* Métodos */
public __construct ( mixed $class , string $name )
public static string export ( string $class , string $name [, bool $return = false ] )
public Closure getClosure ( string $object )
public ReflectionClass getDeclaringClass ( void )
public int getModifiers ( void )
public ReflectionMethod getPrototype ( void )
public mixed invoke ( object $object [, mixed $parameter [, mixed $... ]] )
public mixed invokeArgs ( object $object , array $args )
public bool isAbstract ( void )
public bool isConstructor ( void )
public bool isDestructor ( void )
public bool isFinal ( void )
public bool isPrivate ( void )
public bool isProtected ( void )
public bool isPublic ( void )
public bool isStatic ( void )
public void setAccessible ( bool $accessible )
public string __toString ( void )
/* Métodos heredados */
final private void ReflectionFunctionAbstract::__clone ( void )
public ReflectionClass ReflectionFunctionAbstract::getClosureScopeClass ( void )
public object ReflectionFunctionAbstract::getClosureThis ( void )
public string ReflectionFunctionAbstract::getDocComment ( void )
public int ReflectionFunctionAbstract::getEndLine ( void )
public ReflectionExtension ReflectionFunctionAbstract::getExtension ( void )
public string ReflectionFunctionAbstract::getExtensionName ( void )
public string ReflectionFunctionAbstract::getFileName ( void )
public string ReflectionFunctionAbstract::getName ( void )
public string ReflectionFunctionAbstract::getNamespaceName ( void )
public int ReflectionFunctionAbstract::getNumberOfParameters ( void )
public int ReflectionFunctionAbstract::getNumberOfRequiredParameters ( void )
public array ReflectionFunctionAbstract::getParameters ( void )
public string ReflectionFunctionAbstract::getShortName ( void )
public int ReflectionFunctionAbstract::getStartLine ( void )
public array ReflectionFunctionAbstract::getStaticVariables ( void )
public bool ReflectionFunctionAbstract::inNamespace ( void )
public bool ReflectionFunctionAbstract::isClosure ( void )
public bool ReflectionFunctionAbstract::isDeprecated ( void )
public bool ReflectionFunctionAbstract::isGenerator ( void )
public bool ReflectionFunctionAbstract::isInternal ( void )
public bool ReflectionFunctionAbstract::isUserDefined ( void )
public bool ReflectionFunctionAbstract::returnsReference ( void )
abstract public void ReflectionFunctionAbstract::__toString ( void )
}

Propiedades

name

Nombre del método

class

Nombre de la clase

Constantes predefinidas

Modificadores ReflectionMethod

ReflectionMethod::IS_STATIC

Indica que el método es estático.

ReflectionMethod::IS_PUBLIC

Indica que el método es público.

ReflectionMethod::IS_PROTECTED

Indica que el método está protegido.

ReflectionMethod::IS_PRIVATE

Indica que el método es privado.

ReflectionMethod::IS_ABSTRACT

Indicates that the method is abstract.

ReflectionMethod::IS_FINAL

Indica que este método es final.

Tabla de contenidos

  • ReflectionMethod::__construct — Construye un objeto ReflectionMethod
  • ReflectionMethod::export — Exporta un objeto de tipo ReflectionMethod
  • ReflectionMethod::getClosure — Devuelve una función anónima de este método creada dinámicamente
  • ReflectionMethod::getDeclaringClass — Obtiene la clase en la que se ha declarado el método
  • ReflectionMethod::getModifiers — Obtiene los modificadores del método
  • ReflectionMethod::getPrototype — Obtiene el prototipo del método (si lo hubiera)
  • ReflectionMethod::invoke — Invoca un método
  • ReflectionMethod::invokeArgs — Invoca un método con argumentos
  • ReflectionMethod::isAbstract — Comprueba si el método es abstracto
  • ReflectionMethod::isConstructor — Comprueba si el método es un constructor
  • ReflectionMethod::isDestructor — Comprueba si el método es un destructor
  • ReflectionMethod::isFinal — Comprueba si el método es final
  • ReflectionMethod::isPrivate — Comprueba si el método es privado
  • ReflectionMethod::isProtected — Comprueba si el método está protegido
  • ReflectionMethod::isPublic — Comprueba si el método es público
  • ReflectionMethod::isStatic — Comprueba si el método es estático
  • ReflectionMethod::setAccessible — Asigna la accesibilidad del método
  • ReflectionMethod::__toString — Devuelve la representación en forma de texto de este objeto
ReflectionFunctionAbstract::__toString
ReflectionMethod::__construct
Reflexión


Construye un objeto ReflectionMethod

ReflectionMethod
ReflectionMethod::export
ReflectionMethod
PHP Manual

ReflectionMethod::__construct

(PHP 5)

ReflectionMethod::__construct — Construye un objeto ReflectionMethod

Descripción

public ReflectionMethod::__construct ( mixed $class , string $name )
public ReflectionMethod::__construct ( string $class_method )

Construye un nuevo objeto de tipo ReflectionMethod.

Parámetros

class

Nombre de clase u objeto (instancia de la clase) a la que pertenece el método.

name

Nombre del método.

class_method

Nombre de la clase y nombre del método delimitados por ::.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Lnaza ReflectionException si no existiera el método.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionMethod::__construct()

<?php
class Contador
{
    private static $c = 0;

    /**
     * Incrementar contador
     *
     * @final
     * @static
     * @access  public
     * @return  int
     */
    final public static function incrementar()
    {
        return ++self::$c;
    }
}

// Crea una instancia de la clase ReflectionMethod
$metodo = new ReflectionMethod('Contador', 'incrementar');

// Muestra información básica
printf(
    "===> El método %s%s%s%s%s%s%s '%s' (que es %s)\n" .
    "     declarado en %s\n" .
    "     líneas %d a %d\n" .
    "     con los modificadores %d[%s]\n",
        $metodo->isInternal() ? 'interno' : 'definido por el usuario',
        $metodo->isAbstract() ? ' abstract' : '',
        $metodo->isFinal() ? ' final' : '',
        $metodo->isPublic() ? ' public' : '',
        $metodo->isPrivate() ? ' private' : '',
        $metodo->isProtected() ? ' protected' : '',
        $metodo->isStatic() ? ' static' : '',
        $metodo->getName(),
        $metodo->isConstructor() ? 'un constructor' : 'un método regular',
        $metodo->getFileName(),
        $metodo->getStartLine(),
        $metodo->getEndline(),
        $metodo->getModifiers(),
        implode(' ', Reflection::getModifierNames($metodo->getModifiers()))
);

// Mostrar comentarios de documentación
printf("---> Documentación:\n %s\n", var_export($metodo->getDocComment(), 1));

// Si existieran, mostrar variables estáticas
if ($statics= $metodo->getStaticVariables()) {
    printf("---> Variables estáticas: %s\n", var_export($statics, 1));
}

// Invocación del método
printf("---> Resultado de la invocación: ");
var_dump($metodo->invoke(NULL));
?>

El resultado del ejemplo sería algo similar a:

===> El método definido por el usuario final public static 'incrementar' (que es un método regular)
     declared in /Users/philip/cvs/phpdoc/test.php
     líneas 14 a 17
     con los modificadores 261[final public static]
---> Documentación:
 '/**
     * Incrementar contador
     *
     * @final
     * @static
     * @access  public
     * @return  int
     */'
---> Resultado de la invocación: int(1)

Ver también

  • ReflectionMethod::export() - Exporta un objeto de tipo ReflectionMethod
  • Constructores

ReflectionMethod
ReflectionMethod::export
ReflectionMethod


Exporta un objeto de tipo ReflectionMethod

ReflectionMethod::__construct
ReflectionMethod::getClosure
ReflectionMethod
PHP Manual

ReflectionMethod::export

(PHP 5)

ReflectionMethod::export — Exporta un objeto de tipo ReflectionMethod

Descripción

public static string ReflectionMethod::export ( string $class , string $name [, bool $return = false ] )

Exportar un ReflectionMethod.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

class

Nombre de la clase.

name

Nombre del método.

return

Configurarlo a TRUE devolverá la exportación, a diferencia de emitirla. Configurarlo a FALSE (el valor por defecto) hará lo contrario.

Valores devueltos

Si el parámetro return es seteado a TRUE, la exportación se devolverá como un string, de lo contrario se retornará NULL.

Ver también

  • ReflectionMethod::__construct() - Construye un objeto ReflectionMethod
  • ReflectionMethod::__toString() - Devuelve la representación en forma de texto de este objeto

ReflectionMethod::__construct
ReflectionMethod::getClosure
ReflectionMethod


Devuelve una función anónima de este método creada dinámicamente

ReflectionMethod::export
ReflectionMethod::getDeclaringClass
ReflectionMethod
PHP Manual

ReflectionMethod::getClosure

(PHP >= 5.4.0)

ReflectionMethod::getClosure — Devuelve una función anónima de este método creada dinámicamente

Descripción

public Closure ReflectionMethod::getClosure ( string $object )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

object

No permitido en métodos estáticos. Obligatorio para el resto de métodos.

Valores devueltos

Devuelve un Closure (función anónima). En caso de error, devuelve NULL.

ReflectionMethod::export
ReflectionMethod::getDeclaringClass
ReflectionMethod


Obtiene la clase en la que se ha declarado el método

ReflectionMethod::getClosure
ReflectionMethod::getModifiers
ReflectionMethod
PHP Manual

ReflectionMethod::getDeclaringClass

(PHP 5)

ReflectionMethod::getDeclaringClass — Obtiene la clase en la que se ha declarado el método

Descripción

public ReflectionClass ReflectionMethod::getDeclaringClass ( void )

Devuelve la clase en la que se ha declarado el método.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Objeto ReflectionClass de la clase a la que pertenece el método reflexionado.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionMethod::getDeclaringClass()

<?php
class HelloWorld {

    protected function sayHelloTo($name) {
        return 'Hello ' . $name;
    }

}

$reflectionMethod = new ReflectionMethod(new HelloWorld(), 'sayHelloTo');
var_dump($reflectionMethod->getDeclaringClass());
?>

El resultado del ejemplo sería:

object(ReflectionClass)#2 (1) {
  ["name"]=>
  string(10) "HolaMundo"
}

Ver también

  • ReflectionMethod::isAbstract() - Comprueba si el método es abstracto

ReflectionMethod::getClosure
ReflectionMethod::getModifiers
ReflectionMethod


Obtiene los modificadores del método

ReflectionMethod::getDeclaringClass
ReflectionMethod::getPrototype
ReflectionMethod
PHP Manual

ReflectionMethod::getModifiers

(PHP 5)

ReflectionMethod::getModifiers — Obtiene los modificadores del método

Descripción

public int ReflectionMethod::getModifiers ( void )

Devuelve un campo de bits de los modificadores de acceso para este método.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Representación numérica de los modificadores enumerados a continuación. El significado de estos modificadores se describe en las constantes predefinidas.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionMethod::getModifiers()

<?php
class Prueba
{
    final public static function foo()
    {
        return;
    }
    public function bar()
    {
        return;
    }
}

$foo = new ReflectionMethod('Prueba', 'foo');

echo "Modificadores del método foo():\n";
echo $foo->getModifiers() . "\n";
echo implode(' ', Reflection::getModifierNames($foo->getModifiers())) . "\n";

$bar = new ReflectionMethod('Prueba', 'bar');

echo "Modificadores del método bar():\n";
echo $bar->getModifiers() . "\n";
echo implode(' ', Reflection::getModifierNames($bar->getModifiers()));
?>

El resultado del ejemplo sería algo similar a:

Modificadores del método foo():
261
final public static
Modificadores del método bar():
65792
public

Ver también

  • Reflection::getModifierNames() - Obtener nombres de modificadores

ReflectionMethod::getDeclaringClass
ReflectionMethod::getPrototype
ReflectionMethod


Obtiene el prototipo del método (si lo hubiera)

ReflectionMethod::getModifiers
ReflectionMethod::invoke
ReflectionMethod
PHP Manual

ReflectionMethod::getPrototype

(PHP 5)

ReflectionMethod::getPrototype — Obtiene el prototipo del método (si lo hubiera)

Descripción

public ReflectionMethod ReflectionMethod::getPrototype ( void )

Devuelve el prototipo del método.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve una instancia de tipo ReflectionMethod del prototipo del método.

Errores/Excepciones

Lanza ReflectionException si el método no tuviera un prototipo.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionMethod::getPrototype()

<?php
class Hola {

    public function saludarA($nombre) {
        return 'Hola ' . $nombre;
    }

}
class HolaMundo extends Hola {

    public function saludarA($nombre) {
        return 'Hola Mundo: ' . $nombre;
    }

}

$metodoReflexionado = new ReflectionMethod('HolaMundo', 'saludarA');
var_dump($metodoReflexionado->getPrototype());
?>

El resultado del ejemplo sería:

object(ReflectionMethod)#2 (2) {
  ["name"]=>
  string(10) "saludarA"
  ["class"]=>
  string(5) "Hola"
}

Ver también

  • ReflectionMethod::getModifiers() - Obtiene los modificadores del método

ReflectionMethod::getModifiers
ReflectionMethod::invoke
ReflectionMethod


Invoca un método

ReflectionMethod::getPrototype
ReflectionMethod::invokeArgs
ReflectionMethod
PHP Manual

ReflectionMethod::invoke

(PHP 5)

ReflectionMethod::invoke — Invoca un método

Descripción

public mixed ReflectionMethod::invoke ( object $object [, mixed $parameter [, mixed $... ]] )

Invoca al método reflexionado.

Parámetros

object

Objeto al que pertenece el método invocado. En métodos estáticos, se podrá introducir null en este parámetro.

parameter

Cero o más parámetros para pasar a este método. Acepta un número variable de parámetros, que se pasarán al método.

Valores devueltos

Devuelve el resultado del método.

Errores/Excepciones

Lanza ReflectionException si el parámetro object no contiene una instancia de la clase en la que se declaró este método.

Lanza ReflectionException si fallara la invocación al método.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionMethod::invoke()

<?php
class HolaMundo {

    public function saludarA($nombre) {
        return 'Hola ' . $nombre;
    }

}

$metodoReflexionado = new ReflectionMethod('HolaMundo', 'saludarA');
echo $metodoReflexionado->invoke(new HolaMundo(), 'Miguel');
?>

El resultado del ejemplo sería:

Hola Miguel

Notas

Nota:

Si la función tiene argumentos que necesitan ser referencias, éstos deben ser referencias en la lista de argumentos pasados.

Ver también

  • ReflectionMethod::invokeArgs() - Invoca un método con argumentos
  • __invoke()
  • call_user_func() - Llamar a una llamada de retorno dada por el primer parámetro

ReflectionMethod::getPrototype
ReflectionMethod::invokeArgs
ReflectionMethod


Invoca un método con argumentos

ReflectionMethod::invoke
ReflectionMethod::isAbstract
ReflectionMethod
PHP Manual

ReflectionMethod::invokeArgs

(PHP 5 >= 5.1.0)

ReflectionMethod::invokeArgs — Invoca un método con argumentos

Descripción

public mixed ReflectionMethod::invokeArgs ( object $object , array $args )

Invoca el método reflejado y pasa sus argumentos como array.

Parámetros

object

Objeto en el que se invoca al método. En caso de métodos estáticos, se podrá introducir null en este parámetro.

args

Argumentos que se pasan a la función, en un array.

Valores devueltos

Devuelve el resultado del método.

Errores/Excepciones

Lanza ReflectionException si el parámetro object no contiene una instancia de la clase en la que está declarado este método.

Lanza ReflectionException si falla la invocación al método.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionMethod::invokeArgs()

<?php
class HolaMundo {

    public function saludarA($nombre) {
        return 'Hola ' . $nombre;
    }

}

$metodoReflexionado = new ReflectionMethod('HolaMundo', 'saludarA');
echo $metodoReflexionado->invokeArgs(new HolaMundo(), array('Miguel'));
?>

El resultado del ejemplo sería:

Hola Miguel

Notas

Nota:

Si la función tiene argumentos que necesitan ser referencias, éstos deben ser referencias en la lista de argumentos pasados.

Ver también

  • ReflectionMethod::invoke() - Invoca un método
  • __invoke()
  • call_user_func_array() - Llamar a una llamada de retorno un array de parámetros

ReflectionMethod::invoke
ReflectionMethod::isAbstract
ReflectionMethod


Comprueba si el método es abstracto

ReflectionMethod::invokeArgs
ReflectionMethod::isConstructor
ReflectionMethod
PHP Manual

ReflectionMethod::isAbstract

(PHP 5)

ReflectionMethod::isAbstract — Comprueba si el método es abstracto

Descripción

public bool ReflectionMethod::isAbstract ( void )

Comprueba si el método es abstracto.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si el método es abstracto, o si no FALSE

Ver también

  • ReflectionMethod::getDeclaringClass() - Obtiene la clase en la que se ha declarado el método

ReflectionMethod::invokeArgs
ReflectionMethod::isConstructor
ReflectionMethod


Comprueba si el método es un constructor

ReflectionMethod::isAbstract
ReflectionMethod::isDestructor
ReflectionMethod
PHP Manual

ReflectionMethod::isConstructor

(PHP 5)

ReflectionMethod::isConstructor — Comprueba si el método es un constructor

Descripción

public bool ReflectionMethod::isConstructor ( void )

Comprueba si el método es un constructor.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si el método es un constructor, o si no FALSE

Ver también

  • ReflectionMethod::__construct() - Construye un objeto ReflectionMethod
  • ReflectionMethod::isAbstract() - Comprueba si el método es abstracto
  • ReflectionMethod::isDestructor() - Comprueba si el método es un destructor

ReflectionMethod::isAbstract
ReflectionMethod::isDestructor
ReflectionMethod


Comprueba si el método es un destructor

ReflectionMethod::isConstructor
ReflectionMethod::isFinal
ReflectionMethod
PHP Manual

ReflectionMethod::isDestructor

(PHP 5)

ReflectionMethod::isDestructor — Comprueba si el método es un destructor

Descripción

public bool ReflectionMethod::isDestructor ( void )

Comprueba si el método es un destructor.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si el método es un destructor, o si no FALSE

Ver también

  • ReflectionMethod::isConstructor() - Comprueba si el método es un constructor

ReflectionMethod::isConstructor
ReflectionMethod::isFinal
ReflectionMethod


Comprueba si el método es final

ReflectionMethod::isDestructor
ReflectionMethod::isPrivate
ReflectionMethod
PHP Manual

ReflectionMethod::isFinal

(PHP 5)

ReflectionMethod::isFinal — Comprueba si el método es final

Descripción

public bool ReflectionMethod::isFinal ( void )

Comprueba si el método es final.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si el método es final, o si no FALSE

Ver también

  • ReflectionMethod::isStatic() - Comprueba si el método es estático

ReflectionMethod::isDestructor
ReflectionMethod::isPrivate
ReflectionMethod


Comprueba si el método es privado

ReflectionMethod::isFinal
ReflectionMethod::isProtected
ReflectionMethod
PHP Manual

ReflectionMethod::isPrivate

(PHP 5)

ReflectionMethod::isPrivate — Comprueba si el método es privado

Descripción

public bool ReflectionMethod::isPrivate ( void )

Comprueba si el método es privado.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si el método es privado, o si no FALSE

Ver también

  • ReflectionMethod::isPublic() - Comprueba si el método es público

ReflectionMethod::isFinal
ReflectionMethod::isProtected
ReflectionMethod


Comprueba si el método está protegido

ReflectionMethod::isPrivate
ReflectionMethod::isPublic
ReflectionMethod
PHP Manual

ReflectionMethod::isProtected

(PHP 5)

ReflectionMethod::isProtected — Comprueba si el método está protegido

Descripción

public bool ReflectionMethod::isProtected ( void )

Comprueba si el método está protegido.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si el método está protegido, o si no FALSE

Ver también

  • ReflectionMethod::isPrivate() - Comprueba si el método es privado

ReflectionMethod::isPrivate
ReflectionMethod::isPublic
ReflectionMethod


Comprueba si el método es público

ReflectionMethod::isProtected
ReflectionMethod::isStatic
ReflectionMethod
PHP Manual

ReflectionMethod::isPublic

(PHP 5)

ReflectionMethod::isPublic — Comprueba si el método es público

Descripción

public bool ReflectionMethod::isPublic ( void )

Comprueba si el método es público.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si el método es público, o si no FALSE

Ver también

  • ReflectionMethod::isPrivate() - Comprueba si el método es privado

ReflectionMethod::isProtected
ReflectionMethod::isStatic
ReflectionMethod


Comprueba si el método es estático

ReflectionMethod::isPublic
ReflectionMethod::setAccessible
ReflectionMethod
PHP Manual

ReflectionMethod::isStatic

(PHP 5)

ReflectionMethod::isStatic — Comprueba si el método es estático

Descripción

public bool ReflectionMethod::isStatic ( void )

Comprueba si el método es estático.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si el método es estático, o si no FALSE

Ver también

  • ReflectionMethod::isFinal() - Comprueba si el método es final

ReflectionMethod::isPublic
ReflectionMethod::setAccessible
ReflectionMethod


Asigna la accesibilidad del método

ReflectionMethod::isStatic
ReflectionMethod::__toString
ReflectionMethod
PHP Manual

ReflectionMethod::setAccessible

(PHP 5 >= 5.3.2)

ReflectionMethod::setAccessible — Asigna la accesibilidad del método

Descripción

public void ReflectionMethod::setAccessible ( bool $accessible )

Marca un método como accesible. Por ejemplo, podría hacer que los métodos protegidos o privados fueran invocados.

Parámetros

accessible

TRUE para permitir que sea accesible, o FALSE.

Valores devueltos

No devuelve ningún valor.

Ver también

  • ReflectionMethod::isPrivate() - Comprueba si el método es privado
  • ReflectionMethod::isProtected() - Comprueba si el método está protegido

ReflectionMethod::isStatic
ReflectionMethod::__toString
ReflectionMethod


Devuelve la representación en forma de texto de este objeto

ReflectionMethod::setAccessible
ReflectionObject
ReflectionMethod
PHP Manual

ReflectionMethod::__toString

(PHP 5)

ReflectionMethod::__toString — Devuelve la representación en forma de texto de este objeto

Descripción

public string ReflectionMethod::__toString ( void )

Devuelve la representación en forma de texto de este objeto.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Representación en forma de texto de esta instancia de ReflectionMethod.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionMethod::__toString()

<?php
class HolaMundo {

    public function saludarA($nombre) {
        return 'Hola ' . $nombre;
    }

}

$metodoReflexionado = new ReflectionMethod('HolaMundo', 'saludarA');
echo $metodoReflexionado;
?>

El resultado del ejemplo sería:

Method [ <user> public method saludarA ] {
  @@ /Users/chuso/Downloads/dropme.php 4 - 6

  - Parameters [1] {
    Parameter #0 [ <required> $nombre ]
  }
}

Ver también

  • ReflectionMethod::export() - Exporta un objeto de tipo ReflectionMethod
  • __toString()

ReflectionMethod::setAccessible
ReflectionObject
ReflectionMethod


Clase ReflectionObject

(PHP 5)

Introducción

La clase ReflectionObject muestra información sobre un object.

Sinopsis de la Clase

ReflectionObject extends ReflectionClass implements Reflector {
/* Constantes */
const integer IS_IMPLICIT_ABSTRACT = 16 ;
const integer IS_EXPLICIT_ABSTRACT = 32 ;
const integer IS_FINAL = 64 ;
/* Propiedades */
public $name ;
/* Métodos */
public __construct ( object $argument )
public static string export ( string $argument [, bool $return ] )
/* Métodos heredados */
public ReflectionClass::__construct ( mixed $argument )
public static string ReflectionClass::export ( mixed $argument [, bool $return = false ] )
public mixed ReflectionClass::getConstant ( string $name )
public array ReflectionClass::getConstants ( void )
public ReflectionMethod ReflectionClass::getConstructor ( void )
public array ReflectionClass::getDefaultProperties ( void )
public string ReflectionClass::getDocComment ( void )
public int ReflectionClass::getEndLine ( void )
public ReflectionExtension ReflectionClass::getExtension ( void )
public string ReflectionClass::getExtensionName ( void )
public string ReflectionClass::getFileName ( void )
public array ReflectionClass::getInterfaceNames ( void )
public array ReflectionClass::getInterfaces ( void )
public ReflectionMethod ReflectionClass::getMethod ( string $name )
public array ReflectionClass::getMethods ([ int $filter ] )
public int ReflectionClass::getModifiers ( void )
public string ReflectionClass::getName ( void )
public string ReflectionClass::getNamespaceName ( void )
public object ReflectionClass::getParentClass ( void )
public array ReflectionClass::getProperties ([ int $filter ] )
public ReflectionProperty ReflectionClass::getProperty ( string $name )
public string ReflectionClass::getShortName ( void )
public int ReflectionClass::getStartLine ( void )
public array ReflectionClass::getStaticProperties ( void )
public mixed ReflectionClass::getStaticPropertyValue ( string $name [, mixed &$def_value ] )
public array ReflectionClass::getTraitAliases ( void )
public array ReflectionClass::getTraitNames ( void )
public array ReflectionClass::getTraits ( void )
public bool ReflectionClass::hasConstant ( string $name )
public bool ReflectionClass::hasMethod ( string $name )
public bool ReflectionClass::hasProperty ( string $name )
public bool ReflectionClass::implementsInterface ( string $interface )
public bool ReflectionClass::inNamespace ( void )
public bool ReflectionClass::isAbstract ( void )
public bool ReflectionClass::isCloneable ( void )
public bool ReflectionClass::isFinal ( void )
public bool ReflectionClass::isInstance ( object $object )
public bool ReflectionClass::isInstantiable ( void )
public bool ReflectionClass::isInterface ( void )
public bool ReflectionClass::isInternal ( void )
public bool ReflectionClass::isIterateable ( void )
public bool ReflectionClass::isSubclassOf ( string $class )
public bool ReflectionClass::isTrait ( void )
public bool ReflectionClass::isUserDefined ( void )
public object ReflectionClass::newInstance ( mixed $args [, mixed $... ] )
public object ReflectionClass::newInstanceArgs ([ array $args ] )
public object ReflectionClass::newInstanceWithoutConstructor ( void )
public void ReflectionClass::setStaticPropertyValue ( string $name , string $value )
public string ReflectionClass::__toString ( void )
}

Propiedades

name

Nombre de la clase del objeto. De sólo lectura, lanza una ReflectionException en el intento de escribir .

Tabla de contenidos

  • ReflectionObject::__construct — Construye un ReflectionObject
  • ReflectionObject::export — Exportación
ReflectionMethod::__toString
ReflectionObject::__construct
Reflexión


Construye un ReflectionObject

ReflectionObject
ReflectionObject::export
ReflectionObject
PHP Manual

ReflectionObject::__construct

(PHP 5)

ReflectionObject::__construct — Construye un ReflectionObject

Descripción

public ReflectionObject::__construct ( object $argument )

Construye un ReflectionObject.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

argument

Una instancia del objeto.

Valores devueltos

No devuelve ningún valor.

Ver también

  • ReflectionObject::export() - Exportación
  • Constructores

ReflectionObject
ReflectionObject::export
ReflectionObject


Exportación

ReflectionObject::__construct
ReflectionParameter
ReflectionObject
PHP Manual

ReflectionObject::export

(PHP 5)

ReflectionObject::export — Exportación

Descripción

public static string ReflectionObject::export ( string $argument [, bool $return ] )

Exportaciones a la reflexión.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

argument

La reflexión a exportar.

return

Configurarlo a TRUE devolverá la exportación, a diferencia de emitirla. Configurarlo a FALSE (el valor por defecto) hará lo contrario.

Valores devueltos

Si el parámetro return es seteado a TRUE, la exportación se devolverá como un string, de lo contrario se retornará NULL.

Ver también

  • ReflectionObject::__construct() - Construye un ReflectionObject

ReflectionObject::__construct
ReflectionParameter
ReflectionObject


La clase ReflectionParameter

(PHP 5)

Introducción

La clase ReflectionParameter recupera información sobre los parámetros de la función o del método.

Para hacer la introspección a los parámetros de la función, primero se crea una instancia de ReflectionFunction o de ReflectionMethod, y entonces se utiliza su método ReflectionFunctionAbstract::getParameters() para obtener un array de los parámetros.

Sinopsis de la Clase

ReflectionParameter implements Reflector {
/* Propiedades */
public $name ;
/* Métodos */
public bool allowsNull ( void )
public bool canBePassedByValue ( void )
final private void __clone ( void )
public __construct ( string $function , string $parameter )
public static string export ( string $function , string $parameter [, bool $return ] )
public ReflectionClass getClass ( void )
public ReflectionClass getDeclaringClass ( void )
public ReflectionFunction getDeclaringFunction ( void )
public mixed getDefaultValue ( void )
public string getDefaultValueConstantName ( void )
public string getName ( void )
public int getPosition ( void )
public bool isArray ( void )
public bool isCallable ( void )
public bool isDefaultValueAvailable ( void )
public bool isDefaultValueConstant ( void )
public bool isOptional ( void )
public bool isPassedByReference ( void )
public string __toString ( void )
}

Propiedades

name

Nombre de el parámetro. De sólo lectura, lanza una ReflectionException en el intento de escribir.

Tabla de contenidos

  • ReflectionParameter::allowsNull — Comprueba si null es permitido
  • ReflectionParameter::canBePassedByValue — Devuelve si este parámetro de puede pasar por valor
  • ReflectionParameter::__clone — Clon
  • ReflectionParameter::__construct — Construct
  • ReflectionParameter::export — Exportar
  • ReflectionParameter::getClass — Obtener clase
  • ReflectionParameter::getDeclaringClass — Obtiene declaración de la clase
  • ReflectionParameter::getDeclaringFunction — Obtiene declaración de función
  • ReflectionParameter::getDefaultValue — Obtiene el valor por omisión del parámetro
  • ReflectionParameter::getDefaultValueConstantName — Devuelve el nombre de la consntante del valor predeterminado si el valor predeterminado es constante o null
  • ReflectionParameter::getName — Obtener el nombre del parámetro
  • ReflectionParameter::getPosition — Obtiene la posición del parámetro
  • ReflectionParameter::isArray — Comprueba si el parámetro espera un array
  • ReflectionParameter::isCallable — Devuelve si el parámetro DEBE ser de tipo callable
  • ReflectionParameter::isDefaultValueAvailable — Comprueba si el valor por omisión está disponible
  • ReflectionParameter::isDefaultValueConstant — Devuelve si el valor predeterminado de este parámetro es constante
  • ReflectionParameter::isOptional — Comprueba si es opcional
  • ReflectionParameter::isPassedByReference — Comprueba si es pasado por referencia
  • ReflectionParameter::__toString — A string
ReflectionObject::export
ReflectionParameter::allowsNull
Reflexión


Comprueba si null es permitido

ReflectionParameter
ReflectionParameter::canBePassedByValue
ReflectionParameter
PHP Manual

ReflectionParameter::allowsNull

(PHP 5)

ReflectionParameter::allowsNull — Comprueba si null es permitido

Descripción

public bool ReflectionParameter::allowsNull ( void )

Comprueba si el parámetro permite NULL.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si NULL es permitido, en caso contrario FALSE

Ver también

  • ReflectionParameter::isOptional() - Comprueba si es opcional

ReflectionParameter
ReflectionParameter::canBePassedByValue
ReflectionParameter


Devuelve si este parámetro de puede pasar por valor

ReflectionParameter::allowsNull
ReflectionParameter::__clone
ReflectionParameter
PHP Manual

ReflectionParameter::canBePassedByValue

(PHP >= 5.4.0)

ReflectionParameter::canBePassedByValue — Devuelve si este parámetro de puede pasar por valor

Descripción

public bool ReflectionParameter::canBePassedByValue ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si el parámetro se puede pasar por valor, de lo contrario FALSE. Retorna NULL en caso de error.

ReflectionParameter::allowsNull
ReflectionParameter::__clone
ReflectionParameter


Clon

ReflectionParameter::canBePassedByValue
ReflectionParameter::__construct
ReflectionParameter
PHP Manual

ReflectionParameter::__clone

(PHP 5)

ReflectionParameter::__clone — Clon

Descripción

final private void ReflectionParameter::__clone ( void )

Clones.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Ver también

  • ReflectionParameter::toString()
  • Clonación de Objetos

ReflectionParameter::canBePassedByValue
ReflectionParameter::__construct
ReflectionParameter


Construct

ReflectionParameter::__clone
ReflectionParameter::export
ReflectionParameter
PHP Manual

ReflectionParameter::__construct

(PHP 5)

ReflectionParameter::__construct — Construct

Descripción

public ReflectionParameter::__construct ( string $function , string $parameter )

Construye una clase ReflectionParameter.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

function

La función a reflejar parámetros.

parameter

El parámetro.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Usando la clase ReflectionParameter

<?php
function foo($a, $b, $c) { }
function bar(Exception $a, &$b, $c) { }
function baz(ReflectionFunction $a, $b = 1, $c = null) { }
function abc() { }

$reflect = new ReflectionFunction('foo');

echo $reflect;

foreach ($reflect->getParameters() as $i => $param) {
    printf(
        "-- Parámetro #%d: %s {\n".
        "   Clase: %s\n".
        "   Permite NULL: %s\n".
        "   Pasado por referencia: %s\n".
        "   ¿Es opcional?: %s\n".
        "}\n",
        $i, // $param->getPosition() puede ser usado desde PHP 5.2.3
        $param->getName(),
        var_export($param->getClass(), 1),
        var_export($param->allowsNull(), 1),
        var_export($param->isPassedByReference(), 1),
        $param->isOptional() ? 'si' : 'no'
    );
}
?>

El resultado del ejemplo sería algo similar a:

Function [ <user> function foo ] {
  @@ /Users/philip/cvs/phpdoc/a 2 - 2

  - Parameters [3] {
    Parameter #0 [ <required> $a ]
    Parameter #1 [ <required> $b ]
    Parameter #2 [ <required> $c ]
  }
}
-- Parámetro #0: a {
   Clase: NULL
   Permite NULL: true
   Pasado por referencia: false
   ¿Es opcional?: no
}
-- Parámetro #1: b {
   Clase: NULL
   Permite NULL: true
   Pasado por referencia: false
   ¿Es opcional?: no
}
-- Parámetro #2: c {
   Clase: NULL
   Permite NULL: true
   Pasado por referencia: false
   ¿Es opcional?: no
}

Ver también

  • ReflectionFunction::__construct() - Contruye un objeto de tipo ReflectionFunction
  • ReflectionMethod::__construct() - Construye un objeto ReflectionMethod
  • Constructores

ReflectionParameter::__clone
ReflectionParameter::export
ReflectionParameter


Exportar

ReflectionParameter::__construct
ReflectionParameter::getClass
ReflectionParameter
PHP Manual

ReflectionParameter::export

(PHP 5)

ReflectionParameter::export — Exportar

Descripción

public static string ReflectionParameter::export ( string $function , string $parameter [, bool $return ] )

Exportar.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

function

El nombre de la función.

parameter

El nombre del parámetro.

return

Configurarlo a TRUE devolverá la exportación, a diferencia de emitirla. Configurarlo a FALSE (el valor por defecto) hará lo contrario.

Valores devueltos

La reflexión exportada.

Ver también

  • ReflectionParameter::toString()

ReflectionParameter::__construct
ReflectionParameter::getClass
ReflectionParameter


Obtener clase

ReflectionParameter::export
ReflectionParameter::getDeclaringClass
ReflectionParameter
PHP Manual

ReflectionParameter::getClass

(PHP 5)

ReflectionParameter::getClass — Obtener clase

Descripción

public ReflectionClass ReflectionParameter::getClass ( void )

Obtener una clase.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un objeto ReflectionClass.

Ver también

  • ReflectionParameter::getDeclaringClass() - Obtiene declaración de la clase

ReflectionParameter::export
ReflectionParameter::getDeclaringClass
ReflectionParameter


Obtiene declaración de la clase

ReflectionParameter::getClass
ReflectionParameter::getDeclaringFunction
ReflectionParameter
PHP Manual

ReflectionParameter::getDeclaringClass

(PHP 5)

ReflectionParameter::getDeclaringClass — Obtiene declaración de la clase

Descripción

public ReflectionClass ReflectionParameter::getDeclaringClass ( void )

Obtiene la declaración de la clase.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un objeto ReflectionClass.

Ver también

  • ReflectionParameter::getClass() - Obtener clase

ReflectionParameter::getClass
ReflectionParameter::getDeclaringFunction
ReflectionParameter


Obtiene declaración de función

ReflectionParameter::getDeclaringClass
ReflectionParameter::getDefaultValue
ReflectionParameter
PHP Manual

ReflectionParameter::getDeclaringFunction

(PHP 5 >= 5.2.3)

ReflectionParameter::getDeclaringFunction — Obtiene declaración de función

Descripción

public ReflectionFunction ReflectionParameter::getDeclaringFunction ( void )

Obtiene declaración de la función.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un objeto ReflectionFunction.

Ver también

  • ReflectionParameter::getDeclaringClass() - Obtiene declaración de la clase

ReflectionParameter::getDeclaringClass
ReflectionParameter::getDefaultValue
ReflectionParameter


Obtiene el valor por omisión del parámetro

ReflectionParameter::getDeclaringFunction
ReflectionParameter::getDefaultValueConstantName
ReflectionParameter
PHP Manual

ReflectionParameter::getDefaultValue

(PHP 5 >= 5.0.3)

ReflectionParameter::getDefaultValue — Obtiene el valor por omisión del parámetro

Descripción

public mixed ReflectionParameter::getDefaultValue ( void )

Obtiene el valor por omisión del parámetro de una función definida por el usuario o en el método. Si el parámetro no es opcional una ReflectionException será lanzada.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El valor de los parámetros por omisión.

Ejemplos

Ejemplo #1 Obtener

<?php
function foo($test, $bar = 'baz')
{
    echo $test . $bar;
}

$function = new ReflectionFunction('foo');

foreach ($function->getParameters() as $param) {
    echo 'Nombre: ' . $param->getName() . PHP_EOL;
    if ($param->isOptional()) {
        echo 'Valor por omisión: ' . $param->getDefaultValue() . PHP_EOL;
    }
    echo PHP_EOL;
}
?>

El resultado del ejemplo sería:

Nombre: test

Nombre: bar
Valor por omisión: baz

Notas

Nota:

Debido a detalles de implementación, no es posible obtener el valor por omisión de una función o método de clases incorporadas. intentar hacer esto una ReflectionException será lanzada.

Ver también

  • ReflectionParameter::isOptional() - Comprueba si es opcional
  • ReflectionParameter::isPassedByReference() - Comprueba si es pasado por referencia

ReflectionParameter::getDeclaringFunction
ReflectionParameter::getDefaultValueConstantName
ReflectionParameter


Devuelve el nombre de la consntante del valor predeterminado si el valor predeterminado es constante o null

ReflectionParameter::getDefaultValue
ReflectionParameter::getName
ReflectionParameter
PHP Manual

ReflectionParameter::getDefaultValueConstantName

(PHP 5 >= 5.4.6)

ReflectionParameter::getDefaultValueConstantName — Devuelve el nombre de la consntante del valor predeterminado si el valor predeterminado es constante o null

Descripción

public string ReflectionParameter::getDefaultValueConstantName ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un string en caso de éxito o NULL en caso de fallo.

ReflectionParameter::getDefaultValue
ReflectionParameter::getName
ReflectionParameter


Obtener el nombre del parámetro

ReflectionParameter::getDefaultValueConstantName
ReflectionParameter::getPosition
ReflectionParameter
PHP Manual

ReflectionParameter::getName

(PHP 5)

ReflectionParameter::getName — Obtener el nombre del parámetro

Descripción

public string ReflectionParameter::getName ( void )

Obtener el nombre de el parámetro.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El nombre del parámetro reflejado.

Ver también

  • ReflectionParameter::getValue()

ReflectionParameter::getDefaultValueConstantName
ReflectionParameter::getPosition
ReflectionParameter


Obtiene la posición del parámetro

ReflectionParameter::getName
ReflectionParameter::isArray
ReflectionParameter
PHP Manual

ReflectionParameter::getPosition

(PHP 5 >= 5.2.3)

ReflectionParameter::getPosition — Obtiene la posición del parámetro

Descripción

public int ReflectionParameter::getPosition ( void )

Obtiene la posición de el parámetro.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La posición de el parámetro, de izquierda a derecha, comenzando en la posición #0.

Ver también

  • ReflectionParameter::getName() - Obtener el nombre del parámetro

ReflectionParameter::getName
ReflectionParameter::isArray
ReflectionParameter


Comprueba si el parámetro espera un array

ReflectionParameter::getPosition
ReflectionParameter::isCallable
ReflectionParameter
PHP Manual

ReflectionParameter::isArray

(PHP 5 >= 5.1.0)

ReflectionParameter::isArray — Comprueba si el parámetro espera un array

Descripción

public bool ReflectionParameter::isArray ( void )

Comprueba si el parámetro espera un array.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si un array es esperado, en caso contrario FALSE.

Ver también

  • ReflectionParameter::isOptional() - Comprueba si es opcional

ReflectionParameter::getPosition
ReflectionParameter::isCallable
ReflectionParameter


Devuelve si el parámetro DEBE ser de tipo callable

ReflectionParameter::isArray
ReflectionParameter::isDefaultValueAvailable
ReflectionParameter
PHP Manual

ReflectionParameter::isCallable

(PHP 5 >= 5.4.0)

ReflectionParameter::isCallable — Devuelve si el parámetro DEBE ser de tipo callable

Descripción

public bool ReflectionParameter::isCallable ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si el parámetro es callable, FALSE si no, o NULL en caso de error.

ReflectionParameter::isArray
ReflectionParameter::isDefaultValueAvailable
ReflectionParameter


Comprueba si el valor por omisión está disponible

ReflectionParameter::isCallable
ReflectionParameter::isDefaultValueConstant
ReflectionParameter
PHP Manual

ReflectionParameter::isDefaultValueAvailable

(PHP 5 >= 5.0.3)

ReflectionParameter::isDefaultValueAvailable — Comprueba si el valor por omisión está disponible

Descripción

public bool ReflectionParameter::isDefaultValueAvailable ( void )

Comprueba si el valor por omisión para el parámetrp está disponible.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si el valor por omisión está disponible, en caso contrario FALSE

Ver también

  • ReflectionParameter::getDefaultValue() - Obtiene el valor por omisión del parámetro
  • ReflectionParameter::getName() - Obtener el nombre del parámetro

ReflectionParameter::isCallable
ReflectionParameter::isDefaultValueConstant
ReflectionParameter


Devuelve si el valor predeterminado de este parámetro es constante

ReflectionParameter::isDefaultValueAvailable
ReflectionParameter::isOptional
ReflectionParameter
PHP Manual

ReflectionParameter::isDefaultValueConstant

(PHP 5 >= 5.4.6)

ReflectionParameter::isDefaultValueConstant — Devuelve si el valor predeterminado de este parámetro es constante

Descripción

public bool ReflectionParameter::isDefaultValueConstant ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si el valor predeterminado es constante, FALSE si no lo es, o NULL en caso de error.

ReflectionParameter::isDefaultValueAvailable
ReflectionParameter::isOptional
ReflectionParameter


Comprueba si es opcional

ReflectionParameter::isDefaultValueConstant
ReflectionParameter::isPassedByReference
ReflectionParameter
PHP Manual

ReflectionParameter::isOptional

(PHP 5 >= 5.0.3)

ReflectionParameter::isOptional — Comprueba si es opcional

Descripción

public bool ReflectionParameter::isOptional ( void )

Comprueba si el parámetro es opcional.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si el parámetro es opcional, en caso contrario FALSE

Ver también

  • ReflectionParameter::getName() - Obtener el nombre del parámetro

ReflectionParameter::isDefaultValueConstant
ReflectionParameter::isPassedByReference
ReflectionParameter


Comprueba si es pasado por referencia

ReflectionParameter::isOptional
ReflectionParameter::__toString
ReflectionParameter
PHP Manual

ReflectionParameter::isPassedByReference

(PHP 5)

ReflectionParameter::isPassedByReference — Comprueba si es pasado por referencia

Descripción

public bool ReflectionParameter::isPassedByReference ( void )

Comprueba si el parámetro es pasado por referencia.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si el parámetro es pasado por referencia, en caso contrario FALSE

Ver también

  • ReflectionParameter::getName() - Obtener el nombre del parámetro

ReflectionParameter::isOptional
ReflectionParameter::__toString
ReflectionParameter


A string

ReflectionParameter::isPassedByReference
ReflectionProperty
ReflectionParameter
PHP Manual

ReflectionParameter::__toString

(PHP 5)

ReflectionParameter::__toString — A string

Descripción

public string ReflectionParameter::__toString ( void )

A string.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Ver también

  • ReflectionParameter::export() - Exportar
  • __toString()

ReflectionParameter::isPassedByReference
ReflectionProperty
ReflectionParameter


Clase ReflectionProperty

(PHP 5)

Introducción

La clase ReflectionProperty muestra información sobre las propiedades de una clase.

Sinopsis de la Clase

ReflectionProperty implements Reflector {
/* Constantes */
const integer IS_STATIC = 1 ;
const integer IS_PUBLIC = 256 ;
const integer IS_PROTECTED = 512 ;
const integer IS_PRIVATE = 1024 ;
/* Propiedades */
public $name ;
public $class ;
/* Métodos */
final private void __clone ( void )
public __construct ( mixed $class , string $name )
public static string export ( mixed $class , string $name [, bool $return ] )
public ReflectionClass getDeclaringClass ( void )
public string getDocComment ( void )
public int getModifiers ( void )
public string getName ( void )
public mixed getValue ( object $object )
public bool isDefault ( void )
public bool isPrivate ( void )
public bool isProtected ( void )
public bool isPublic ( void )
public bool isStatic ( void )
public void setAccessible ( bool $accessible )
public void setValue ( object $object , mixed $value )
public string __toString ( void )
}

Propiedades

name

Nombre de la propiedad. De sólo lectura, lanza una ReflectionException en un intento de escribir.

class

Nombre de la clase donde se define la propiedad. De sólo lectura, lanza una ReflectionException en un intento de escribir.

Constantes predefinidas

Modificadores ReflectionProperty

ReflectionProperty::IS_STATIC

Indica las propiedades static.

ReflectionProperty::IS_PUBLIC

Indica las propiedades public.

ReflectionProperty::IS_PROTECTED

Indica las propiedades protected.

ReflectionProperty::IS_PRIVATE

Indica las propiedades private.

Tabla de contenidos

  • ReflectionProperty::__clone — Clonar
  • ReflectionProperty::__construct — Construye un objeto de tipo ReflectionProperty
  • ReflectionProperty::export — Exportar
  • ReflectionProperty::getDeclaringClass — Obtiene la clase en la que se declaró
  • ReflectionProperty::getDocComment — Obtiene los comentarios de documentación
  • ReflectionProperty::getModifiers — Obtiene los modificadores
  • ReflectionProperty::getName — Obtiene el nombre de la propiedad
  • ReflectionProperty::getValue — Obtiene el valor
  • ReflectionProperty::isDefault — Comprueba si la propiedad es predeterminado
  • ReflectionProperty::isPrivate — Comprueba si una propiedad es privada
  • ReflectionProperty::isProtected — Comprueba si la propiedad está protegida
  • ReflectionProperty::isPublic — Comprueba si la propiedad es pública
  • ReflectionProperty::isStatic — Comprueba si la propiedad es estática
  • ReflectionProperty::setAccessible — Hace accesible una propiedad
  • ReflectionProperty::setValue — Establece el valor de la propiedad
  • ReflectionProperty::__toString — Convertir a texto
ReflectionParameter::__toString
ReflectionProperty::__clone
Reflexión


Clonar

ReflectionProperty
ReflectionProperty::__construct
ReflectionProperty
PHP Manual

ReflectionProperty::__clone

(PHP 5)

ReflectionProperty::__clone — Clonar

Descripción

final private void ReflectionProperty::__clone ( void )

Clonar.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Ver también

  • ReflectionProperty::export() - Exportar
  • Clonación de objetos

ReflectionProperty
ReflectionProperty::__construct
ReflectionProperty


Construye un objeto de tipo ReflectionProperty

ReflectionProperty::__clone
ReflectionProperty::export
ReflectionProperty
PHP Manual

ReflectionProperty::__construct

(PHP 5)

ReflectionProperty::__construct — Construye un objeto de tipo ReflectionProperty

Descripción

public ReflectionProperty::__construct ( mixed $class , string $name )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

class

Nombre de la clase que contiene la propiedad.

name

Nombre de la propiedad que se desea reflexionar.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Si se tratara de consultar o modificar propiedades privadas o protegidas de la clase, se lanzaría una excepción.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionProperty::__construct()

<?php
class Texto
{
    public $longitud = 5;
}

// Crea una instancia de la clase ReflectionProperty
$prop = new ReflectionProperty('Texto', 'longitud');

// Muestra información básica
printf(
    "===> La propiedad %s%s%s%s '%s' (que está %s)\n" .
    "     con los modificadores %s\n",
        $prop->isPublic() ? ' pública' : '',
        $prop->isPrivate() ? ' privada' : '',
        $prop->isProtected() ? ' protegida' : '',
        $prop->isStatic() ? ' estática' : '',
        $prop->getName(),
        $prop->isDefault() ? 'declarada en tiempo de compilación' : 'creada en tiempo de ejecución',
        var_export(Reflection::getModifierNames($prop->getModifiers()), 1)
);

// Crea una instancia de Texto
$obj= new Texto();

// Obtiene el valor actual
printf("---> Valor: ");
var_dump($prop->getValue($obj));

// Cambiar valor
$prop->setValue($obj, 10);
printf("---> Al establecer como valor 10, su nuevo valor es: ");
var_dump($prop->getValue($obj));

// Volcar objeto
var_dump($obj);
?>

El resultado del ejemplo sería algo similar a:

===> La propiedad  pública 'longitud' (que está declarada en tiempo de compilación)
     con los modificadores array (
  0 => 'public',
)
---> Valor: int(5)
---> Al establecer como valor 10, su nuevo valor es: int(10)
object(Texto)#2 (1) {
  ["longitud"]=>
  int(10)
}

Ejemplo #2 Consultar el valor de propiedades privadas y protegidas con la clase ReflectionProperty

<?php

class Foo {
    public $x = 1;
    protected $y = 2;
    private $z = 3;
}

$obj = new Foo;

$prop = new ReflectionProperty('Foo', 'y');
$prop->setAccessible(true); /* Desde PHP 5.3.0 */
var_dump($prop->getValue($obj)); // int(2)

$prop = new ReflectionProperty('Foo', 'z');
$prop->setAccessible(true); /* Desde PHP 5.3.0 */
var_dump($prop->getValue($obj)); // int(2)

?>

El resultado del ejemplo sería algo similar a:

int(2)
int(3)

Ver también

  • ReflectionProperty::getName() - Obtiene el nombre de la propiedad
  • Constructores

ReflectionProperty::__clone
ReflectionProperty::export
ReflectionProperty


Exportar

ReflectionProperty::__construct
ReflectionProperty::getDeclaringClass
ReflectionProperty
PHP Manual

ReflectionProperty::export

(PHP 5)

ReflectionProperty::export — Exportar

Descripción

public static string ReflectionProperty::export ( mixed $class , string $name [, bool $return ] )

Exporta una reflexión.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

argument

La reflexión a exportar.

name

Nombre de la propiedad.

return

Configurarlo a TRUE devolverá la exportación, a diferencia de emitirla. Configurarlo a FALSE (el valor por defecto) hará lo contrario.

Valores devueltos

Ver también

  • ReflectionProperty::toString()

ReflectionProperty::__construct
ReflectionProperty::getDeclaringClass
ReflectionProperty


Obtiene la clase en la que se declaró

ReflectionProperty::export
ReflectionProperty::getDocComment
ReflectionProperty
PHP Manual

ReflectionProperty::getDeclaringClass

(PHP 5)

ReflectionProperty::getDeclaringClass — Obtiene la clase en la que se declaró

Descripción

public ReflectionClass ReflectionProperty::getDeclaringClass ( void )

Devuelve la clase en la que se declaró.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Objeto de tipo ReflectionClass.

Ver también

  • ReflectionProperty::getName() - Obtiene el nombre de la propiedad

ReflectionProperty::export
ReflectionProperty::getDocComment
ReflectionProperty


Obtiene los comentarios de documentación

ReflectionProperty::getDeclaringClass
ReflectionProperty::getModifiers
ReflectionProperty
PHP Manual

ReflectionProperty::getDocComment

(PHP 5 >= 5.1.0)

ReflectionProperty::getDocComment — Obtiene los comentarios de documentación

Descripción

public string ReflectionProperty::getDocComment ( void )

Devuelve los comentarios de documentación.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Comentarios de documentación.

Ver también

  • ReflectionProperty::export() - Exportar

ReflectionProperty::getDeclaringClass
ReflectionProperty::getModifiers
ReflectionProperty


Obtiene los modificadores

ReflectionProperty::getDocComment
ReflectionProperty::getName
ReflectionProperty
PHP Manual

ReflectionProperty::getModifiers

(PHP 5)

ReflectionProperty::getModifiers — Obtiene los modificadores

Descripción

public int ReflectionProperty::getModifiers ( void )

Devuelve los modificadores de la propiedad.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Representación numérica de los modificadores.

Ver también

  • ReflectionProperty::isPrivate() - Comprueba si una propiedad es privada
  • Reflection::getModifierNames() - Obtener nombres de modificadores

ReflectionProperty::getDocComment
ReflectionProperty::getName
ReflectionProperty


Obtiene el nombre de la propiedad

ReflectionProperty::getModifiers
ReflectionProperty::getValue
ReflectionProperty
PHP Manual

ReflectionProperty::getName

(PHP 5)

ReflectionProperty::getName — Obtiene el nombre de la propiedad

Descripción

public string ReflectionProperty::getName ( void )

Devuelve el nombre de la propiedad.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Nombre de la propiedad.

Ver también

  • ReflectionProperty::getValue() - Obtiene el valor

ReflectionProperty::getModifiers
ReflectionProperty::getValue
ReflectionProperty


Obtiene el valor

ReflectionProperty::getName
ReflectionProperty::isDefault
ReflectionProperty
PHP Manual

ReflectionProperty::getValue

(PHP 5)

ReflectionProperty::getValue — Obtiene el valor

Descripción

public mixed ReflectionProperty::getValue ( object $object )
public mixed ReflectionProperty::getValue ( void )

Obtiene el valor de la propiedad.

Parámetros

object

Si la propiedad no fuera estática, se deberá adjuntar un objeto del que obtener la propiedad. Si se deseara obtener las propiedades predeterminadas sin proporcionar ningún objeto, utilice en su lugar ReflectionClass::getDefaultProperties().

Valores devueltos

Valor que contiene la propiedad.

Errores/Excepciones

Lanza ReflectionException si la propiedad no fuera accesible. Una propiedad protegida o privada puede hacerse accesible mediante ReflectionProperty::setAccessible().

Ejemplos

Ejemplo #1 Ejemplo de ReflectionProperty::getValue()

<?php
class Foo {
    public static $staticProperty = 'foobar';

    public $property = 'barfoo';
    protected $privateProperty = 'foofoo';
}

$reflectionClass = new ReflectionClass('Foo');

var_dump($reflectionClass->getProperty('staticProperty')->getValue());
var_dump($reflectionClass->getProperty('property')->getValue(new Foo));

$reflectionProperty = $reflectionClass->getProperty('privateProperty');
$reflectionProperty->setAccessible(true);
var_dump($reflectionProperty->getValue(new Foo));
?>

El resultado del ejemplo sería:

string(6) "foobar"
string(6) "barfoo"
string(6) "foofoo"

Ver también

  • ReflectionProperty::setValue() - Establece el valor de la propiedad
  • ReflectionProperty::setAccessible() - Hace accesible una propiedad
  • ReflectionClass::getDefaultProperties() - Obtener propiedades predeterminadas
  • ReflectionClass::getStaticPropertyValue() - Obtiene el valor de una propiedad estática

ReflectionProperty::getName
ReflectionProperty::isDefault
ReflectionProperty


Comprueba si la propiedad es predeterminado

ReflectionProperty::getValue
ReflectionProperty::isPrivate
ReflectionProperty
PHP Manual

ReflectionProperty::isDefault

(PHP 5)

ReflectionProperty::isDefault — Comprueba si la propiedad es predeterminado

Descripción

public bool ReflectionProperty::isDefault ( void )

Comprueba si la propiedad es o no predeterminada.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si la propiedad se declaró en tiempo de compilación, o FALSE si se creó en tiempo de ejecución.

Ver también

  • ReflectionProperty::getValue() - Obtiene el valor

ReflectionProperty::getValue
ReflectionProperty::isPrivate
ReflectionProperty


Comprueba si una propiedad es privada

ReflectionProperty::isDefault
ReflectionProperty::isProtected
ReflectionProperty
PHP Manual

ReflectionProperty::isPrivate

(PHP 5)

ReflectionProperty::isPrivate — Comprueba si una propiedad es privada

Descripción

public bool ReflectionProperty::isPrivate ( void )

Comprueba si una propiedad es privada.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si la propiedad es privada, o si no FALSE.

Ver también

  • ReflectionProperty::isPublic() - Comprueba si la propiedad es pública

ReflectionProperty::isDefault
ReflectionProperty::isProtected
ReflectionProperty


Comprueba si la propiedad está protegida

ReflectionProperty::isPrivate
ReflectionProperty::isPublic
ReflectionProperty
PHP Manual

ReflectionProperty::isProtected

(PHP 5)

ReflectionProperty::isProtected — Comprueba si la propiedad está protegida

Descripción

public bool ReflectionProperty::isProtected ( void )

Comprueba si la propiedad está protegida.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si la propiedad está protegida, o si no FALSE.

Ver también

  • ReflectionProperty::isPrivate() - Comprueba si una propiedad es privada

ReflectionProperty::isPrivate
ReflectionProperty::isPublic
ReflectionProperty


Comprueba si la propiedad es pública

ReflectionProperty::isProtected
ReflectionProperty::isStatic
ReflectionProperty
PHP Manual

ReflectionProperty::isPublic

(PHP 5)

ReflectionProperty::isPublic — Comprueba si la propiedad es pública

Descripción

public bool ReflectionProperty::isPublic ( void )

Comprueba si la propiedad es pública.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si la propiedad es pública, o si no FALSE.

Ver también

  • ReflectionProperty::isPrivate() - Comprueba si una propiedad es privada

ReflectionProperty::isProtected
ReflectionProperty::isStatic
ReflectionProperty


Comprueba si la propiedad es estática

ReflectionProperty::isPublic
ReflectionProperty::setAccessible
ReflectionProperty
PHP Manual

ReflectionProperty::isStatic

(PHP 5)

ReflectionProperty::isStatic — Comprueba si la propiedad es estática

Descripción

public bool ReflectionProperty::isStatic ( void )

Comprueba si la propiedad es estática.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si la propiedad es estática, o si no FALSE.

Ver también

  • ReflectionProperty::isPrivate() - Comprueba si una propiedad es privada

ReflectionProperty::isPublic
ReflectionProperty::setAccessible
ReflectionProperty


Hace accesible una propiedad

ReflectionProperty::isStatic
ReflectionProperty::setValue
ReflectionProperty
PHP Manual

ReflectionProperty::setAccessible

(PHP 5 >= 5.3.0)

ReflectionProperty::setAccessible — Hace accesible una propiedad

Descripción

public void ReflectionProperty::setAccessible ( bool $accessible )

Hace accesible una propiedad. Por ejemplo, podrá hacer que las propiedades protegidas o privadas sean accesibles.

Parámetros

accessible

TRUE para permitir su acceso, o FALSE.

Valores devueltos

No devuelve ningún valor.

Ver también

  • ReflectionProperty::isPrivate() - Comprueba si una propiedad es privada
  • ReflectionProperty::isProtected() - Comprueba si la propiedad está protegida

ReflectionProperty::isStatic
ReflectionProperty::setValue
ReflectionProperty


Establece el valor de la propiedad

ReflectionProperty::setAccessible
ReflectionProperty::__toString
ReflectionProperty
PHP Manual

ReflectionProperty::setValue

(PHP 5)

ReflectionProperty::setValue — Establece el valor de la propiedad

Descripción

public void ReflectionProperty::setValue ( object $object , mixed $value )
public void ReflectionProperty::setValue ( mixed $value )

Establece (cambia) el valor de la propiedad.

Parámetros

object

Si la propiedad no fuera estática, se deberá proporcionar un objeto sobre el que se cambiará la propiedad. Si la propiedad fuera estática, se omite este parámetro y sólo será necesario completar el value.

value

El nuevo valor.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Lanza ReflectionException si la propiedad no fuera accesible. Si la propiedad fuera de tipo protegido o privado, podrá hacerse accesible mediante ReflectionProperty::setAccessible().

Ejemplos

Ejemplo #1 Ejemplo de ReflectionProperty::setValue()

<?php
class Foo {
    public static $staticProperty;

    public $property;
    protected $privateProperty;
}

$reflectionClass = new ReflectionClass('Foo');

$reflectionClass->getProperty('staticProperty')->setValue('foo');
var_dump(Foo::$staticProperty);

$foo = new Foo;

$reflectionClass->getProperty('property')->setValue($foo, 'bar');
var_dump($foo->property);

$reflectionProperty = $reflectionClass->getProperty('privateProperty');
$reflectionProperty->setAccessible(true);
$reflectionProperty->setValue($foo, 'foobar');
var_dump($reflectionProperty->getValue($foo));
?>

El resultado del ejemplo sería:

string(3) "foo"
string(3) "bar"
string(6) "foobar"

Ver también

  • ReflectionProperty::getValue() - Obtiene el valor
  • ReflectionProperty::setAccessible() - Hace accesible una propiedad
  • ReflectionClass::setStaticPropertyValue() - Establece el valor de una propiedad estática

ReflectionProperty::setAccessible
ReflectionProperty::__toString
ReflectionProperty


Convertir a texto

ReflectionProperty::setValue
Reflector
ReflectionProperty
PHP Manual

ReflectionProperty::__toString

(PHP 5)

ReflectionProperty::__toString — Convertir a texto

Descripción

public string ReflectionProperty::__toString ( void )

Convierte a texto.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Ver también

  • ReflectionProperty::()
  • __toString()

ReflectionProperty::setValue
Reflector
ReflectionProperty


La interfaz Reflector

(PHP 5)

Introducción

Reflector es una interfaz que implementan todas las clases exportables de Reflection.

Sinopsis de la Clase

Reflector {
/* Métodos */
abstract public static string export ( void )
abstract public string __toString ( void )
}

Tabla de contenidos

  • Reflector::export — Exportar
  • Reflector::__toString — Convertir a String
ReflectionProperty::__toString
Reflector::export
Reflexión


Exportar

Reflector
Reflector::__toString
Reflector
PHP Manual

Reflector::export

(PHP 5)

Reflector::export — Exportar

Descripción

abstract public static string Reflector::export ( void )

Exporta.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Ver también

  • Reflection::__toString()

Reflector
Reflector::__toString
Reflector


Convertir a String

Reflector::export
ReflectionException
Reflector
PHP Manual

Reflector::__toString

(PHP 5)

Reflector::__toString — Convertir a String

Descripción

abstract public string Reflector::__toString ( void )

Convierte a String.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Ver también

  • ReflectionProperty::export() - Exportar
  • __toString()

Reflector::export
ReflectionException
Reflector


La clase ReflectionException

(PHP 5)

Introducción

La clase ReflectionException.

Sinopsis de la Clase

ReflectionException extends Exception {
/* Propiedades */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
Reflector::__toString
Manejo de variables
Reflexión


Manejo de variables

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de manejo de variables
    • boolval — Obtener el valor booleano de una variable
    • debug_zval_dump — Vuelca a la salida una cadena con la representación de un valor interno de zend
    • doubleval — Alias de floatval
    • empty — Determina si una variable está vacía
    • floatval — Obtener el valor flotante de una variable
    • get_defined_vars — Devuelve una matriz con todas las variables definidas
    • get_resource_type — Devuelve el tipo de recurso
    • gettype — Obtener el tipo de una variable
    • import_request_variables — Importar variables GET/POST/Cookie en el ámbito global
    • intval — Obtiene el valor entero de una variable
    • is_array — Comprueba si una variable es un array
    • is_bool — Comprueba si una variable es de tipo booleano
    • is_callable — Verificar que los contenidos de una variable puedan ser llamados como una función
    • is_double — Alias de is_float
    • is_float — Comprueba si el tipo de una variable es float
    • is_int — Comprueba si el tipo de una variable es integer
    • is_integer — Alias de is_int
    • is_long — Alias de is_int
    • is_null — Comprueba si una variable es NULL
    • is_numeric — Comprueba si una variable es un número o un string numérico
    • is_object — Comprueba si una variable es un objeto
    • is_real — Alias de is_float
    • is_resource — Comprueba si una variable es un recurso
    • is_scalar — Comprueba si una variable es escalar
    • is_string — Comprueba si una variable es de tipo string
    • isset — Determina si una variable está definida y no es NULL
    • print_r — Imprime información legible para humanos sobre una variable
    • serialize — Genera una representación apta para el almacenamiento de un valor
    • settype — Establece el tipo de una variable
    • strval — Obtiene el valor de cadena de una variable
    • unserialize — Crea un valor PHP a partir de una representación almacenada
    • unset — Destruye una variable especificada
    • var_dump — Muestra información sobre una variable
    • var_export — Imprime o devuelve una representación string de una variable analizable
ReflectionException
Introducción
Extensiones relacionadas con variable y tipo


Introducción

Para obtener información sobre cómo funcionan las variables, vea la entrada Variables dentro de la sección Referencia del lenguaje del manual.

Manejo de variables
Instalación/Configuración
Manejo de variables


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Manejo de variables


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de Configuración de Variables
Nombre | Por defecto | Cambiable | Historial de cambios
unserialize_callback_func | NULL | PHP_INI_ALL | Disponible desde PHP 4.2.0.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

unserialize_callback_func string

La función de llamada de retorno especificada será llamada cuando unserialize() intente usar una clase no definida. Una advertencia aparecerá si la llamada de retorno especificada no está definida o si la función de llamada de retorno falla al intentar definir la clase faltante.

Vea también unserialize() y Autoloading Objects.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Funciones de manejo de variables
Manejo de variables


Funciones de manejo de variables

Tabla de contenidos

  • boolval — Obtener el valor booleano de una variable
  • debug_zval_dump — Vuelca a la salida una cadena con la representación de un valor interno de zend
  • doubleval — Alias de floatval
  • empty — Determina si una variable está vacía
  • floatval — Obtener el valor flotante de una variable
  • get_defined_vars — Devuelve una matriz con todas las variables definidas
  • get_resource_type — Devuelve el tipo de recurso
  • gettype — Obtener el tipo de una variable
  • import_request_variables — Importar variables GET/POST/Cookie en el ámbito global
  • intval — Obtiene el valor entero de una variable
  • is_array — Comprueba si una variable es un array
  • is_bool — Comprueba si una variable es de tipo booleano
  • is_callable — Verificar que los contenidos de una variable puedan ser llamados como una función
  • is_double — Alias de is_float
  • is_float — Comprueba si el tipo de una variable es float
  • is_int — Comprueba si el tipo de una variable es integer
  • is_integer — Alias de is_int
  • is_long — Alias de is_int
  • is_null — Comprueba si una variable es NULL
  • is_numeric — Comprueba si una variable es un número o un string numérico
  • is_object — Comprueba si una variable es un objeto
  • is_real — Alias de is_float
  • is_resource — Comprueba si una variable es un recurso
  • is_scalar — Comprueba si una variable es escalar
  • is_string — Comprueba si una variable es de tipo string
  • isset — Determina si una variable está definida y no es NULL
  • print_r — Imprime información legible para humanos sobre una variable
  • serialize — Genera una representación apta para el almacenamiento de un valor
  • settype — Establece el tipo de una variable
  • strval — Obtiene el valor de cadena de una variable
  • unserialize — Crea un valor PHP a partir de una representación almacenada
  • unset — Destruye una variable especificada
  • var_dump — Muestra información sobre una variable
  • var_export — Imprime o devuelve una representación string de una variable analizable
Constantes predefinidas
boolval
Manejo de variables


Obtener el valor booleano de una variable

Funciones de manejo de variables
debug_zval_dump
Funciones de manejo de variables
PHP Manual

boolval

(PHP 5 >= 5.5.0)

boolval — Obtener el valor booleano de una variable

Descripción

boolean boolval ( mixed $var )

Devuelve el valor boolean de var.

Parámetros

var

El valor escalar a convertir a un boolean.

Valores devueltos

El valor boolean de var.

Ejemplos

Ejemplo #1 Ejemplos de boolval()

<?php
echo '0:        '.(boolval(0) ? 'true' : 'false')."\n";
echo '42:       '.(boolval(42) ? 'true' : 'false')."\n";
echo '0.0:      '.(boolval(0.0) ? 'true' : 'false')."\n";
echo '4.2:      '.(boolval(4.2) ? 'true' : 'false')."\n";
echo '"":       '.(boolval("") ? 'true' : 'false')."\n";
echo '"string": '.(boolval("string") ? 'true' : 'false')."\n";
echo '"0":      '.(boolval("0") ? 'true' : 'false')."\n";
echo '"1":      '.(boolval("1") ? 'true' : 'false')."\n";
echo '[1, 2]:   '.(boolval([1, 2]) ? 'true' : 'false')."\n";
echo '[]:       '.(boolval([]) ? 'true' : 'false')."\n";
echo 'stdClass: '.(boolval(new stdClass) ? 'true' : 'false')."\n";
?>

El resultado del ejemplo sería:

0:        false
42:       true
0.0:      false
4.2:      true
"":       false
"string": true
"0":      false
"1":      true
[1, 2]:   true
[]:       false
stdClass: true

Ver también

  • floatval() - Obtener el valor flotante de una variable
  • intval() - Obtiene el valor entero de una variable
  • strval() - Obtiene el valor de cadena de una variable
  • settype() - Establece el tipo de una variable
  • is_bool() - Comprueba si una variable es de tipo booleano
  • Manipulación de tipos

Funciones de manejo de variables
debug_zval_dump
Funciones de manejo de variables


Vuelca a la salida una cadena con la representación de un valor interno de zend

boolval
doubleval
Funciones de manejo de variables
PHP Manual

debug_zval_dump

(PHP 4 >= 4.2.0, PHP 5)

debug_zval_dump — Vuelca a la salida una cadena con la representación de un valor interno de zend

Descripción

void debug_zval_dump ( mixed $variable [, mixed $... ] )

Volcar a la salida una cadena con la representación de un valor interno de zend.

Parámetros

variable

La variable a ser evaluada

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo debug_zval_dump()

<?php
$var1 = 'Hola Mundo';
$var2 = '';

$var2 =& $var1;

debug_zval_dump(&$var1);
?>

El resultado del ejemplo sería:

&string(11) "Hola Mundo" refcount(3)

Nota: Cuidado con refcount

El valor refcount devuelto por esta función no es evidente en determinadas circunstancias. Por ejemplo, un desarrollador puede esperar que el ejemplo anterior indique un refcount de 2. La tercera referencia se crea cuando se realiza la llamada a debug_zval_dump().

Este comportamiento se agrava aún más cuando una variable no se pasa a debug_zval_dump() por referencia. Para ilustrar esto, considere una versión ligeramente modificada del ejemplo anterior:

<?php
$var1 = 'Hola Mundo';
$var2 = '';

$var2 =& $var1;

debug_zval_dump($var1); // esta vez, no pasada por referencia
?>

El resultado del ejemplo sería:

string(11) "Hola Mundo" refcount(1)

Por qué refcount(1)? Porque una copia de $var1 es realizada, cuando se llama a la función.

Esta función se hace aún más confusa cuando una variable con un refcount de 1 es pasada (por copia/valor):

<?php
$var1 = 'Hola Mundo';

debug_zval_dump($var1);
?>

El resultado del ejemplo sería:

string(11) "Hola Mundo" refcount(2)

Un refcount de 2, aquí, no es extremedamente evidente. Especialmente teniendo en cuenta los ejemplos anteriores. ¿Qué ha ocurrido?

Cuando una variable tiene una sola referencia (como ocurría con $var1 antes de que fuera utilizada como un argumento para debug_zval_dump()), el motor de PHP optimiza la manera en que se pasa a una función. Internamente, PHP trata $var1 como una referencia (en esa refcount se incrementa para el ámbito de esa función), con la salvedad de que si la referencia pasa a ser aprobada por escrito y, una copia es realizada, pero sólo en el momento de la escritura. Esto se conoce como "copiar al escribir."

Así que, si debug_zval_dump() pasa a escribir en su único parámetro (y no lo hace), es entonces cuando se haría una copia. Hasta entonces, el parámetro sigue siendo una referencia, haciendo que refcount sea incrementado a 2 en el ámbito de la función llamada.

Ver también

  • var_dump() - Muestra información sobre una variable
  • debug_backtrace() - Genera un rastreo
  • Explicación de las Referencias
  • » Explicación de las Referencias (por Derick Rethans)

boolval
doubleval
Funciones de manejo de variables


Alias de floatval

debug_zval_dump
empty
Funciones de manejo de variables
PHP Manual

doubleval

(PHP 4, PHP 5)

doubleval — Alias de floatval()

Descripción

Esta función es un alias de: floatval().

Historial de cambios

Versión | Descripción
4.2.0 | doubleval() se convirtió en un alias de floatval(). Anteriormente, sólo existía doubleval().

debug_zval_dump
empty
Funciones de manejo de variables


Determina si una variable está vacía

doubleval
floatval
Funciones de manejo de variables
PHP Manual

empty

(PHP 4, PHP 5)

empty — Determina si una variable está vacía

Descripción

bool empty ( mixed $var )

Determina si una variable es considerada vacía. Una variable se considera vacía si no existe si su valor es igual a FALSE. empty() no genera una advertencia si la variable no existe.

Parámetros

var

La variable que se comprueba

Nota:

Antes de PHP 5.5, empty() sólo soportaba variables; cualquier otra cosa provocaría un error del intérprete. En otras palabras, lo siguiente no funcionaría: empty(trim($nombre)). En su lugar, utilice trim($nombre) == false.

No se genera una advertencia si la variable no existe. Esto significa que empty() es esencialmente el equivalente conciso de !isset($var) || $var == false.

Valores devueltos

Devuelve FALSE si var existe y tiene un valor no vacío, distinto de cero. De otro modo devuelve TRUE.

Las siguientes expresiones son consideradas como vacías:

  • "" (una cadena vacía)
  • 0 (0 como un integer)
  • 0.0 (0 como un float)
  • "0" (0 como un string)
  • NULL
  • FALSE
  • array() (un array vacío)
  • $var; (una variable declarada, pero sin un valor)

Historial de cambios

Versión | Descripción
5.5.0 | empty() ahora soporta expresiones, en vez de únicamente variables.
5.4.0 | Verificación de índices no numéricos de strings devuelve TRUE.
PHP 5.0.0 | Los objetos sin propiedades ya no se consideran vacíos.

Ejemplos

Ejemplo #1 Una simple comparación empty() / isset()

<?php
$var = 0;

// Se evalúa a true ya que $var está vacia
if (empty($var)) {
    echo '$var es o bien 0, vacía, o no se encuentra definida en absoluto';
}

// Se evalúa como true ya que $var está definida
if (isset($var)) {
    echo '$var está definida a pesar que está vacía';
}
?>

Ejemplo #2 empty() en índices de string

PHP 5.4 cambia como empty() se comporta cuando se pasan índices de string.

<?php
$expected_array_got_string = 'somestring';
var_dump(empty($expected_array_got_string['some_key']));
var_dump(empty($expected_array_got_string[0]));
var_dump(empty($expected_array_got_string['0']));
var_dump(empty($expected_array_got_string[0.5]));
var_dump(empty($expected_array_got_string['0.5']));
var_dump(empty($expected_array_got_string['0 Mostel']));
?>

Muestra el ejemplo de arriba en PHP 5.3:

bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)

Muestra el ejemplo de arriba en PHP 5.4:

bool(true)
bool(false)
bool(false)
bool(false)
bool(true)
bool(true)

Notas

Nota: Puesto que esto es una construcción del lenguaje y no una función, no puede ser llamada usando funciones variables.

Nota:

Cuando se utiliza empty() sobre las propiedades de objetos inaccesibles, el método sobrecargado __isset() será llamado, si se declara.

Ver también

  • isset() - Determina si una variable está definida y no es NULL
  • __isset()
  • unset() - Destruye una variable especificada
  • array_key_exists() - Verifica si el índice o clave dada existe en el array
  • count() - Cuenta todos los elementos de un array o en un objeto
  • strlen() - Obtiene la longitud de un string
  • Las tablas de comparación de tipos

doubleval
floatval
Funciones de manejo de variables


Obtener el valor flotante de una variable

empty
get_defined_vars
Funciones de manejo de variables
PHP Manual

floatval

(PHP 4 >= 4.2.0, PHP 5)

floatval — Obtener el valor flotante de una variable

Descripción

float floatval ( mixed $var )

Obtiene el valor valor float de var.

Parámetros

var

Puede ser cualquier tipo escalar. No se puede utilizar floatval() en objetos, si es usado emitirá un error de nivel E_NOTICE y devolverá 1.

Valores devueltos

El valor flotante de la variable dada. Arrays vacios devolverán 0, arrays no vacios devolverán 1.

Las cadenas generalmente devolverán 0, aunque esto depende de los primeros caracteres de la cadena. Las reglas comunes de conversión a flotante se aplican en cualquier caso.

Ejemplos

Ejemplo #1 Ejemplo de floatval()

<?php
 $var = '122.34343El';
 $valor_float_de_var = floatval($var);
 echo $valor_float_de_var; // 122.34343
 ?>

Ver también

  • boolval() - Obtener el valor booleano de una variable
  • intval() - Obtiene el valor entero de una variable
  • strval() - Obtiene el valor de cadena de una variable
  • settype() - Establece el tipo de una variable
  • Conversión de Tipos

empty
get_defined_vars
Funciones de manejo de variables


Devuelve una matriz con todas las variables definidas

floatval
get_resource_type
Funciones de manejo de variables
PHP Manual

get_defined_vars

(PHP 4 >= 4.0.4, PHP 5)

get_defined_vars — Devuelve una matriz con todas las variables definidas

Descripción

array get_defined_vars ( void )

Esta función devuelve una matriz multidimensional que contiene una lista de todas las variables definidas, ya sean variables de entorno, de servidor o definidas por el usuario, en el ámbito que get_defined_vars() es llamado.

Valores devueltos

Una matriz multidimensional con todas las variables.

Ejemplos

Ejemplo #1 Ejemplo de get_defined_vars()

<?php
$b = array(1, 1, 2, 3, 5, 8);

$arr = get_defined_vars();

// imprime $b
print_r($arr["b"]);

/* imprime ruta de acceso al intérprete de PHP (si es usado como CGI)
 * e.g. /usr/local/bin/php */
echo $arr["_"];

// imprime los parámetros de la linea de comandos, si existen
print_r($arr["argv"]);

// imprime todas las variables del servidor
print_r($arr["_SERVER"]);

// imprime todas las claves disponibles para las matrices de variables
print_r(array_keys(get_defined_vars()));
?>

Historial de cambios

Versión | Descripción
5.0.0 | La variable $GLOBALS se incluye en los resultados de la matriz devuelta.

Ver también

  • isset() - Determina si una variable está definida y no es NULL
  • get_defined_functions() - Devuelve una matriz de todas las funciones definidas
  • get_defined_constants() - Devuelve un array asociativo con los nombres de todas las constantes y sus valores

floatval
get_resource_type
Funciones de manejo de variables


Devuelve el tipo de recurso

get_defined_vars
gettype
Funciones de manejo de variables
PHP Manual

get_resource_type

(PHP 4 >= 4.0.2, PHP 5)

get_resource_type — Devuelve el tipo de recurso

Descripción

string get_resource_type ( resource $handle )

Esta función obtiene el tipo del recurso dado.

Parámetros

handle

El gestor de recurso evaluado.

Valores devueltos

Si el dado handle es un recurso esta función devolverá una cadena que representa su tipo. Si el tipo no es identificado por esta función, el valor de retorno será la cadena Unknown.

Está función devolverá FALSE y generará un error si handle no es un resource.

Ejemplos

Ejemplo #1 Ejemplo de get_resource_type()

<?php
// imprime: mysql link
$c = mysql_connect();
echo get_resource_type($c) . "\n";

// imprime: file
$fp = fopen("foo", "w");
echo get_resource_type($fp) . "\n";

// imprime: domxml document
$doc = new_xmldoc("1.0");
echo get_resource_type($doc->doc) . "\n";
?>

get_defined_vars
gettype
Funciones de manejo de variables


Obtener el tipo de una variable

get_resource_type
import_request_variables
Funciones de manejo de variables
PHP Manual

gettype

(PHP 4, PHP 5)

gettype — Obtener el tipo de una variable

Descripción

string gettype ( mixed $var )

Devuelve el tipo de la variable PHP var. Para la comprobación de tipos, utilice las funciones is_*.

Parámetros

var

La variable de la cual queremos comprobar su tipo.

Valores devueltos

Los posibles valores para la cadena devuelta son:

  • "boolean"
  • "integer"
  • "double" (por razones históricas "double" es devuelto en caso de que un valor sea de tipo float, y no simplemente "float")
  • "string"
  • "array"
  • "object"
  • "resource"
  • "NULL"
  • "unknown type"

Ejemplos

Ejemplo #1 Ejemplo de gettype()

<?php

$data = array(1, 1., NULL, new stdClass, 'foo');

foreach ($data as $value) {
    echo gettype($value), "\n";
}

?>

El resultado del ejemplo sería algo similar a:

integer
double
NULL
object
string

Ver también

  • settype() - Establece el tipo de una variable
  • get_class() - Devuelve el nombre de la clase de un objeto
  • is_array() - Comprueba si una variable es un array
  • is_bool() - Comprueba si una variable es de tipo booleano
  • is_float() - Comprueba si el tipo de una variable es float
  • is_int() - Comprueba si el tipo de una variable es integer
  • is_null() - Comprueba si una variable es NULL
  • is_numeric() - Comprueba si una variable es un número o un string numérico
  • is_object() - Comprueba si una variable es un objeto
  • is_resource() - Comprueba si una variable es un recurso
  • is_scalar() - Comprueba si una variable es escalar
  • is_string() - Comprueba si una variable es de tipo string
  • function_exists() - Devuelve TRUE si la función dada ha sido definida
  • method_exists() - Comprueba si existe un método de una clase

get_resource_type
import_request_variables
Funciones de manejo de variables


Importar variables GET/POST/Cookie en el ámbito global

gettype
intval
Funciones de manejo de variables
PHP Manual

import_request_variables

(PHP 4 >= 4.1.0, PHP 5 < 5.4.0)

import_request_variables — Importar variables GET/POST/Cookie en el ámbito global

Descripción

bool import_request_variables ( string $types [, string $prefix ] )

Importa las variables GET/POST/Cookie en el ámbito global. Esto es útil si ha deshabilitado register_globals, pero le gustaría ver algunas variables en el ámbito global.

Si está interesado en importar otras variables en el ámbito global, como $_SERVER, considere el uso de extract().

Advertencia

Esta función ha sido declarada OBSOLETA desde PHP 5.3.0 y ELIMINADA a partir de PHP 5.4.0.

Parámetros

types

Usando el parámetro types, puede especificar cuáles variables de petición deben importarse. Puede usar los caracteres 'G', 'P' y 'C' respectivamente para indicar GET, POST y Cookie. Estos caracteres no son sensibles a mayúsculas o minúsculas, por lo que también puede utilizar cualquier combinación de 'g', 'p' y 'c'. POST incluye la información de archivos cargados mediante POST.

Nota:

Tenga en cuenta que el orden de las letras es importante, ya que cuando se utiliza "GP", las variables POST sobrescribirán las variables GET con el mismo nombre. Cualquier otra letra diferente a GPC es descartada.

prefix

El nombre de variable prefijo, puede ser colocado antes de nombrar a todas las variables importadas en el ámbito global. De modo que si tiene un valor GET llamado "userid", y proporciona un prefijo "pref_", entonces obtendrá una variable global llamada $pref_userid.

Nota:

Aunque el parámetro prefix es opcional, recibirá un error de nivel E_NOTICE si no especifica un prefijo, o especifica una cadena vacía como prefijo. Este es un riesgo potencial de seguridad. La notificación de aviso de errores no es mostrada usando el nivel predeterminado de reporte de errores.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de import_request_variables()

<?php
// Esto importará las variables GET y POST con el prefijo "rvar_"

import_request_variables("gp", "rvar_");

echo $rvar_foo;
?>

Ver también

  • $_REQUEST
  • register_globals
  • Variables Predefinidas
  • extract() - Importar variables a la tabla de símbolos actual desde un array

gettype
intval
Funciones de manejo de variables


Obtiene el valor entero de una variable

import_request_variables
is_array
Funciones de manejo de variables
PHP Manual

intval

(PHP 4, PHP 5)

intval — Obtiene el valor entero de una variable

Descripción

int intval ( mixed $var [, int $base = 10 ] )

Devuelve el valor integer de una var, con la especificada base para la conversión (por defecto es base 10). No debería ser usado en objetos, si es usado emitirá un error de nivel E_NOTICE y devolverá 1.

Parámetros

var

El valor escalar a convertir a un entero

base

La base para la conversión

Nota:

Si base es 0, la base usada estará determinada por el formato de var:

  • si el string incuye el prefijo "0x" (o "0X"), la base se tomará como 16 (hex); si no,
  • si el string comienza con "0", la base se tomará como 8 (octal); si no,
  • la base se toma como 10 (decimal).

Valores devueltos

El valor entero de var en caso de éxito, o 0 en caso de error. Arrays vacíos devuelven 0, arrays no vacíos devuelven 1.

El valor máximo depende del sistema. Los sistemas de 32 bits tienen un rango máximo para un entero con signo que va desde -2147483648 a 2147483647. Así, por ejemplo, en tal sistema, intval('1000000000000') devolverá 2147483647. El valor máximo para un entero con signo en sistemas de 64 bits es 9223372036854775807.

Las cadenas muy probablemente devolverán 0, aunque esto depende de los carácteres del extremo izquierdo de la cadena. Aplican las reglas comunes para moldeado de enteros.

Ejemplos

Ejemplo #1 Ejemplos de intval()

Los siguientes ejemplos se basan en un sistema de 32 bits.

<?php
echo intval(42);                      // 42
echo intval(4.2);                     // 4
echo intval('42');                    // 42
echo intval('+42');                   // 42
echo intval('-42');                   // -42
echo intval(042);                     // 34
echo intval('042');                   // 42
echo intval(1e10);                    // 1410065408
echo intval('1e10');                  // 1
echo intval(0x1A);                    // 26
echo intval(42000000);                // 42000000
echo intval(420000000000000000000);   // 0
echo intval('420000000000000000000'); // 2147483647
echo intval(42, 8);                   // 42
echo intval('42', 8);                 // 34
echo intval(array());                 // 0
echo intval(array('foo', 'bar'));     // 1
?>

Notas

Nota:

El parámetro base no tiene ningún efecto a menos que el parámetro var sea una cadena.

Historial de cambios

Versión | Descripción
5.1.0 | Lanza E_NOTICE y devuelve 1, cuando se pasa un objecto a var.

Ver también

  • boolval() - Obtener el valor booleano de una variable
  • floatval() - Obtener el valor flotante de una variable
  • strval() - Obtiene el valor de cadena de una variable
  • settype() - Establece el tipo de una variable
  • is_numeric() - Comprueba si una variable es un número o un string numérico
  • Manipulación de tipos
  • Funciones matemáticas de precisión arbitraria de BCMath

import_request_variables
is_array
Funciones de manejo de variables


Comprueba si una variable es un array

intval
is_bool
Funciones de manejo de variables
PHP Manual

is_array

(PHP 4, PHP 5)

is_array — Comprueba si una variable es un array

Descripción

bool is_array ( mixed $var )

Comprueba si la variable es un array.

Parámetros

var

La variable a ser evaluada.

Valores devueltos

Devuelve TRUE si var es un array, o de lo contrario FALSE.

Ejemplos

Ejemplo #1 Comprobar que la variable es un array

<?php
$si = array('esto', 'es', 'un array');

echo is_array($si) ? 'Array' : 'No es un array';
echo "\n";

$no = 'esto es un string';

echo is_array($no) ? 'Array' : 'No es un array';
?>

El resultado del ejemplo sería:

Array
No es un array

Ver también

  • is_float() - Comprueba si el tipo de una variable es float
  • is_int() - Comprueba si el tipo de una variable es integer
  • is_string() - Comprueba si una variable es de tipo string
  • is_object() - Comprueba si una variable es un objeto

intval
is_bool
Funciones de manejo de variables


Comprueba si una variable es de tipo booleano

is_array
is_callable
Funciones de manejo de variables
PHP Manual

is_bool

(PHP 4, PHP 5)

is_bool — Comprueba si una variable es de tipo booleano

Descripción

bool is_bool ( mixed $var )

Obtiene si la variable dada es un booleano.

Parámetros

var

La variable a ser evaluada.

Valores devueltos

Devuelve TRUE si var es un boolean, FALSE de lo contrario.

Ejemplos

Ejemplo #1 Ejemplos de is_bool()

<?php
$a = false;
$b = 0;

// Ya que $a es un booleano, devolverá true
if (is_bool($a) === true) {
    echo "Sí, este es un booleano";
}

// Ya que $b no es un booleano, devolverá false
if (is_bool($b) === false) {
    echo "No, este no es un booleano";
}
?>

Ver también

  • is_float() - Comprueba si el tipo de una variable es float
  • is_int() - Comprueba si el tipo de una variable es integer
  • is_string() - Comprueba si una variable es de tipo string
  • is_object() - Comprueba si una variable es un objeto
  • is_array() - Comprueba si una variable es un array

is_array
is_callable
Funciones de manejo de variables


Verificar que los contenidos de una variable puedan ser llamados como una función

is_bool
is_double
Funciones de manejo de variables
PHP Manual

is_callable

(PHP 4 >= 4.0.6, PHP 5)

is_callable — Verificar que los contenidos de una variable puedan ser llamados como una función

Descripción

bool is_callable ( callable $name [, bool $syntax_only = false [, string &$callable_name ]] )

Verifica que los contenidos de una variable puedan ser llamados como una función. Esto permite revisar que los contenidos de una variable contengan el nombre de una función válida, o que un array contenga un objeto adecuadamente codificado y un nombre de función.

Parámetros

nombre

La función de devolución de llamada a revisar

solo_sintaxis

Si es TRUE la función solo verifica que nombre pueda ser una función o un método. Solo rechazará variables simples que no sean cadenas, o un array que no tenga una estructura válida para ser usado como llamada de retorno. Se espera que las matrices válidas tengan solo 2 entradas, la primera de las cuales es un objeto o una cadena, y la segunda una cadena.

nombre_a_llamar

Recibe el "nombre que puede ser llamado". En el ejemplo siguiente aquél es "algunaClase:algunMetodo". Tenga en cuenta, sin embargo, que a pesar de la implicación de que algunaClase::algunMetodo() es un método estático que puede ser llamado, este no es el caso.

Valores devueltos

Devuelve TRUE si nombre puede ser llamado, FALSE de lo contrario.

Ejemplos

Ejemplo #1 Ejemplo de is_callable()

<?php
//  Cómo chequear una variable para ver si puede ser llamada
//  como una función.

//
//  Variable simple que contiene una función
//

function algunaFuncion()
{
}

$variableFuncion = 'algunaFuncion';

var_dump(is_callable($variableFuncion, false, $nombre_a_llamar));  // bool(true)

echo $nombre_a_llamar, "\n";  // algunaFuncion

//
//  Array que contiene un método
//

class algunaClase {

  function algunMetodo()
  {
  }

}

$unObjeto = new algunaClase();

$variableMetodo = array($unObjeto, 'algunMetodo');

var_dump(is_callable($variableMetodo, true, $nombre_a_llamar));  //  bool(true)

echo $nombre_a_llamar, "\n";  //  algunaClase::algunMetodo

?>

Ver también

  • function_exists() - Devuelve TRUE si la función dada ha sido definida
  • method_exists() - Comprueba si existe un método de una clase

is_bool
is_double
Funciones de manejo de variables


Alias de is_float

is_callable
is_float
Funciones de manejo de variables
PHP Manual

is_double

(PHP 4, PHP 5)

is_double — Alias de is_float()

Descripción

Esta función es un alias de: is_float().

is_callable
is_float
Funciones de manejo de variables


Comprueba si el tipo de una variable es float

is_double
is_int
Funciones de manejo de variables
PHP Manual

is_float

(PHP 4, PHP 5)

is_float — Comprueba si el tipo de una variable es float

Descripción

bool is_float ( mixed $var )

Comprueba si el tipo de variable dado es float.

Nota:

Para comprobar si una variable es un número o un string numérico (por ejemplo, un formulario de entrada, que es siempre un string), debe utilizar is_numeric().

Parámetros

var

La variable a ser evaluada.

Valores devueltos

Devuelve TRUE si var es de tipo float, o FALSE de lo contrario.

Ejemplos

Ejemplo #1 Ejemplo de is_float()

<?php
if(is_float(27.25)) {
    echo "es float\n";
}else {
    echo "no es float\n";
}
var_dump(is_float('abc'));
var_dump(is_float(23));
var_dump(is_float(23.5));
var_dump(is_float(1e7));  //Notación Científica
var_dump(is_float(true));
?>

El resultado del ejemplo sería:

es float
bool(false)
bool(false)
bool(true)
bool(true)
bool(false)

Ver también

  • is_bool() - Comprueba si una variable es de tipo booleano
  • is_int() - Comprueba si el tipo de una variable es integer
  • is_numeric() - Comprueba si una variable es un número o un string numérico
  • is_string() - Comprueba si una variable es de tipo string
  • is_array() - Comprueba si una variable es un array
  • is_object() - Comprueba si una variable es un objeto

is_double
is_int
Funciones de manejo de variables


Comprueba si el tipo de una variable es integer

is_float
is_integer
Funciones de manejo de variables
PHP Manual

is_int

(PHP 4, PHP 5)

is_int — Comprueba si el tipo de una variable es integer

Descripción

bool is_int ( mixed $var )

Comprueba si el tipo de variable dado es integer.

Nota:

Para comprobar si una variable es un número o un string numérico (por ejemplo, un formulario de entrada, que es siempre un string), debe utilizar is_numeric().

Parámetros

var

La variable a ser evaluada.

Valores devueltos

Devuelve TRUE si var es de tipo integer, o FALSE de lo contrario.

Ejemplos

Ejemplo #1 Ejemplo de is_int()

<?php
$values = array(23, "23", 23.5, "23.5", null, true, false);
foreach ($values as $value) {
    echo "is_int(";
    var_export($value);
    echo ") = ";
    var_dump(is_int($value));
}
?>

El resultado del ejemplo sería:

is_int(23) = bool(true)
is_int('23') = bool(false)
is_int(23.5) = bool(false)
is_int('23.5') = bool(false)
is_int(NULL) = bool(false)
is_int(true) = bool(false)
is_int(false) = bool(false)

Ver también

  • is_bool() - Comprueba si una variable es de tipo booleano
  • is_float() - Comprueba si el tipo de una variable es float
  • is_numeric() - Comprueba si una variable es un número o un string numérico
  • is_string() - Comprueba si una variable es de tipo string
  • is_array() - Comprueba si una variable es un array
  • is_object() - Comprueba si una variable es un objeto

is_float
is_integer
Funciones de manejo de variables


Alias de is_int

is_int
is_long
Funciones de manejo de variables
PHP Manual

is_integer

(PHP 4, PHP 5)

is_integer — Alias de is_int()

Descripción

Esta función es un alias de: is_int().

is_int
is_long
Funciones de manejo de variables


Alias de is_int

is_integer
is_null
Funciones de manejo de variables
PHP Manual

is_long

(PHP 4, PHP 5)

is_long — Alias de is_int()

Descripción

Esta función es un alias de: is_int().

is_integer
is_null
Funciones de manejo de variables


Comprueba si una variable es NULL

is_long
is_numeric
Funciones de manejo de variables
PHP Manual

is_null

(PHP 4 >= 4.0.4, PHP 5)

is_null — Comprueba si una variable es NULL

Descripción

bool is_null ( mixed $var )

Comprueba si la variable dada es NULL.

Parámetros

var

La variable a ser evaluada

Valores devueltos

Devuelve TRUE si var es null, FALSE de lo contrario.

Ejemplos

Ejemplo #1 Ejemplo is_null()

<?php

error_reporting(E_ALL);

$foo = NULL;
var_dump(is_null($inexistent), is_null($foo));

?>
Aviso: Variable indefinida: inexistente en ...
bool(true)
bool(true)

Ver también

  • El tipo NULL
  • isset() - Determina si una variable está definida y no es NULL
  • is_bool() - Comprueba si una variable es de tipo booleano
  • is_numeric() - Comprueba si una variable es un número o un string numérico
  • is_float() - Comprueba si el tipo de una variable es float
  • is_int() - Comprueba si el tipo de una variable es integer
  • is_string() - Comprueba si una variable es de tipo string
  • is_object() - Comprueba si una variable es un objeto
  • is_array() - Comprueba si una variable es un array

is_long
is_numeric
Funciones de manejo de variables


Comprueba si una variable es un número o un string numérico

is_null
is_object
Funciones de manejo de variables
PHP Manual

is_numeric

(PHP 4, PHP 5)

is_numeric — Comprueba si una variable es un número o un string numérico

Descripción

bool is_numeric ( mixed $var )

Comprueba si la variable dada es numérica. Los string numéricos consisten en un signo opcional, cualquier número de dígitos, una parte decimal opcional y una parte exponencial opcional. En consecuencia, +0123.45e6 es un valor numérico válido. Las notaciones hexadecimal (p.ej. 0xf4c3b00c), binary (p.ej. 0b10100111001), octal (p.ej. 0777) están permitidas pero únicamente sin signo, parte decimal y exponencial.

Parámetros

var

La variable a evaluar.

Valores devueltos

Devuelve TRUE si var es un número o un string numérico, FALSE de lo contrario.

Ejemplos

Ejemplo #1 Ejemplos de is_numeric()

<?php
$pruebas = array(
    "42",
    1337,
    0x539,
    02471,
    0b10100111001,
    1337e0,
    "no numérico",
    array(),
    9.1
);

foreach($pruebas as $element) {
    if(is_numeric($element)) {
        echo "'{$element}' es numérico", PHP_EOL;
    } else {
        echo "'{$element}' NO es numérico", PHP_EOL;
    }
}
?>

El resultado del ejemplo sería:

'42' es numérico
'1337' es numérico
'1337' es numérico
'1337' es numérico
'1337' es numérico
'1337' es numérico
'no numérico' NO es numérico
'Array' NO es numérico
'9.1' es numérico

Ver también

  • ctype_digit() - Chequear posibles caracteres numéricos
  • is_bool() - Comprueba si una variable es de tipo booleano
  • is_null() - Comprueba si una variable es NULL
  • is_float() - Comprueba si el tipo de una variable es float
  • is_int() - Comprueba si el tipo de una variable es integer
  • is_string() - Comprueba si una variable es de tipo string
  • is_object() - Comprueba si una variable es un objeto
  • is_array() - Comprueba si una variable es un array

is_null
is_object
Funciones de manejo de variables


Comprueba si una variable es un objeto

is_numeric
is_real
Funciones de manejo de variables
PHP Manual

is_object

(PHP 4, PHP 5)

is_object — Comprueba si una variable es un objeto

Descripción

bool is_object ( mixed $var )

Comprueba si la variable dada es un objeto.

Parámetros

var

La variable a ser evaluada.

Valores devueltos

Devuelve TRUE si var es un object, o FALSE de lo contrario.

Ejemplos

Ejemplo #1 Ejemplo is_object()

<?php
// Declarar una simple función para devolver un
// array de nuestro objeto
function get_students($obj)
{
    if(!is_object($obj)) {
        return false;
    }

    return $obj->students;
}

// Declara una nueva instancia de clase y rellena
// algunos valores
$obj = new stdClass();
$obj->students = array('Kalle', 'Ross', 'Felipe');

var_dump(get_students(null));
var_dump(get_students($obj));
?>

Notas

Nota:

Esta función devolverá FALSE si se utiliza un objeto unserialized donde la definición de la clase no está presente (a pesar de que gettype() devuelva object).

Ver también

  • is_bool() - Comprueba si una variable es de tipo booleano
  • is_int() - Comprueba si el tipo de una variable es integer
  • is_float() - Comprueba si el tipo de una variable es float
  • is_string() - Comprueba si una variable es de tipo string
  • is_array() - Comprueba si una variable es un array

is_numeric
is_real
Funciones de manejo de variables


Alias de is_float

is_object
is_resource
Funciones de manejo de variables
PHP Manual

is_real

(PHP 4, PHP 5)

is_real — Alias de is_float()

Descripción

Esta función es un alias de: is_float().

is_object
is_resource
Funciones de manejo de variables


Comprueba si una variable es un recurso

is_real
is_scalar
Funciones de manejo de variables
PHP Manual

is_resource

(PHP 4, PHP 5)

is_resource — Comprueba si una variable es un recurso

Descripción

bool is_resource ( mixed $var )

Comprueba si la variable es un recurso.

Parámetros

var

La variable que se evalúa.

Valores devueltos

Devuelve TRUE si var es un resource, FALSE de lo contrario.

Ejemplos

Ejemplo #1 Ejemplo de is_resource()

<?php

$db_link = @mysql_connect('localhost', 'mysql_user', 'mysql_pass');
if (!is_resource($db_link)) {
    die('No pudo realizarse la conexión : ' . mysql_error());
}

?>

Ver también

  • La documentación del tipo recurso
  • get_resource_type() - Devuelve el tipo de recurso

is_real
is_scalar
Funciones de manejo de variables


Comprueba si una variable es escalar

is_resource
is_string
Funciones de manejo de variables
PHP Manual

is_scalar

(PHP 4 >= 4.0.5, PHP 5)

is_scalar — Comprueba si una variable es escalar

Descripción

bool is_scalar ( mixed $var )

Obtiene si la variable dada es escalar.

Las variables escalares son aquellas que contienen un integer, float, string o boolean. Tipos array, object y resource no son escalares.

Nota:

is_scalar() no tiene en cuenta resource como escalares ya que los recursos son tipos de datos abstractos que actualmente se basan en enteros. No debe confiar en este detalle de implementación, ya que puede cambiar.

Nota:

is_scalar() no considera que NULL sea escalar.

Parámetros

var

La variable a ser evaluada.

Valores devueltos

Devuelve TRUE si var es escalar FALSE de lo contrario.

Ejemplos

Ejemplo #1 Ejemplo is_scalar()

<?php
function show_var($var)
{
    if (is_scalar($var)) {
        echo $var;
    } else {
        var_dump($var);
    }
}
$pi = 3.1416;
$proteinas = array("hemoglobina", "citocromo c oxidasa", "ferredoxin");

show_var($pi);
show_var($proteinas)

?>

El resultado del ejemplo sería:

3.1416
array(3) {
  [0]=>
  string(10) "hemoglobina"
  [1]=>
  string(20) "citocromo c oxidasa"
  [2]=>
  string(10) "ferredoxin"
}

Ver también

  • is_float() - Comprueba si el tipo de una variable es float
  • is_int() - Comprueba si el tipo de una variable es integer
  • is_numeric() - Comprueba si una variable es un número o un string numérico
  • is_real() - Alias de is_float
  • is_string() - Comprueba si una variable es de tipo string
  • is_bool() - Comprueba si una variable es de tipo booleano
  • is_object() - Comprueba si una variable es un objeto
  • is_array() - Comprueba si una variable es un array

is_resource
is_string
Funciones de manejo de variables


Comprueba si una variable es de tipo string

is_scalar
isset
Funciones de manejo de variables
PHP Manual

is_string

(PHP 4, PHP 5)

is_string — Comprueba si una variable es de tipo string

Descripción

bool is_string ( mixed $var )

Obtiene si la variable dada es de tipo string.

Parámetros

var

La variable a ser evaluada.

Valores devueltos

Devuelve TRUE si var es de tipo string, FALSE de lo contrario.

Ejemplos

Ejemplo #1 Ejemplo is_string()

<?php
$values = array(false, true, null, 'abc', '23', 23, '23.5', 23.5, '', ' ', '0', 0);
foreach ($values as $value) {
    echo "is_string(";
    var_export($value);
    echo ") = ";
    echo var_dump(is_string($value));
}
?>

El resultado del ejemplo sería:

is_string(false) = bool(false)
is_string(true) = bool(false)
is_string(NULL) = bool(false)
is_string('abc') = bool(true)
is_string('23') = bool(true)
is_string(23) = bool(false)
is_string('23.5') = bool(true)
is_string(23.5) = bool(false)
is_string('') = bool(true)
is_string(' ') = bool(true)
is_string('0') = bool(true)
is_string(0) = bool(false)

Ver también

  • is_float() - Comprueba si el tipo de una variable es float
  • is_int() - Comprueba si el tipo de una variable es integer
  • is_bool() - Comprueba si una variable es de tipo booleano
  • is_object() - Comprueba si una variable es un objeto
  • is_array() - Comprueba si una variable es un array

is_scalar
isset
Funciones de manejo de variables


Determina si una variable está definida y no es NULL

is_string
print_r
Funciones de manejo de variables
PHP Manual

isset

(PHP 4, PHP 5)

isset — Determina si una variable está definida y no es NULL

Descripción

bool isset ( mixed $var [, mixed $... ] )

Determina si una variable está definida y no es NULL.

Si una variable ha sido removida con unset(), esta ya no estará definida. isset() devolverá FALSE si prueba una variable que ha sido definida como NULL. También tenga en cuenta que un byte NULL ("\0") no es equivalente a la constante NULL de PHP.

Si son pasados varios parámetros, entonces isset() devolverá TRUE únicamente si todos los parámetros están definidos. La evaluación se realiza de izquierda a derecha y se detiene tan pronto como se encuentre una variable no definida.

Parámetros

var

La variable a ser evaluada.

...

Otra variable...

Valores devueltos

Devuelve TRUE si var existe y tiene un valor distinto de NULL, FALSE de lo contrario.

Historial de cambios

Versión | Descripción
5.4.0 | Comprobación de indices no numéricos de strings ahora retorna FALSE.

Ejemplos

Ejemplo #1 Ejemplos isset()

<?php

$var = '';

// Esto evaluará a TRUE así que el texto se imprimirá.
if (isset($var)) {
    echo "Esta variable está definida, así que se imprimirá";
}

// En los siguientes ejemplo usaremos var_dump para imprimir
// el valor devuelto por isset().

$a = "prueba";
$b = "otraprueba";

var_dump(isset($a));      // TRUE
var_dump(isset($a, $b)); // TRUE

unset ($a);

var_dump(isset($a));     // FALSE
var_dump(isset($a, $b)); // FALSE

$foo = NULL;
var_dump(isset($foo));   // FALSE

?>

También trabaja con elementos en matrices:

<?php

$a = array ('test' => 1, 'hello' => NULL, 'pie' => array('a' => 'apple'));

var_dump(isset($a['test']));            // TRUE
var_dump(isset($a['foo']));             // FALSE
var_dump(isset($a['hello']));           // FALSE

// La clave 'helo' es igual a NULL así que no se considera definida
// Si desea comprobar los valores NULL clave, intente:
var_dump(array_key_exists('hello', $a)); // TRUE

// Comprobando valores de arrays con más profunidad
var_dump(isset($a['pie']['a']));        // TRUE
var_dump(isset($a['pie']['b']));        // FALSE
var_dump(isset($a['cake']['a']['b']));  // FALSE

?>

Notas

Advertencia

isset() sólo trabaja con variables, ya que pasar cualquier otra cosa dará como resultado un error de intérprete. Para comprobar si se han definidoconstantes use la función defined().

Nota: Puesto que esto es una construcción del lenguaje y no una función, no puede ser llamada usando funciones variables.

Nota:

Cuando se utiliza isset() sobre las propiedades de objetos inaccesibles, el método sobrecargado __isset() será llamado, si se declara.

Ejemplo #2 isset() en indices de String

PHP 5.4 cambia ahora el comportamiendo de isset() cuando son pasados indices de string.

<?php
$expected_array_got_string = 'somestring';
var_dump(isset($expected_array_got_string['some_key']));
var_dump(isset($expected_array_got_string[0]));
var_dump(isset($expected_array_got_string['0']));
var_dump(isset($expected_array_got_string[0.5]));
var_dump(isset($expected_array_got_string['0.5']));
var_dump(isset($expected_array_got_string['0 Mostel']));
?>

Muestra el ejemplo de arriba en PHP 5.3:

bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)

Muestra el ejemplo de arriba en PHP 5.4:

bool(false)
bool(true)
bool(true)
bool(true)
bool(false)
bool(false)

Ver también

  • empty() - Determina si una variable está vacía
  • __isset()
  • unset() - Destruye una variable especificada
  • defined() - Comprueba si existe una constante con nombre dada
  • las tablas de comparación de tipos
  • array_key_exists() - Verifica si el índice o clave dada existe en el array
  • is_null() - Comprueba si una variable es NULL
  • el operador @ de control de errores

is_string
print_r
Funciones de manejo de variables


Imprime información legible para humanos sobre una variable

isset
serialize
Funciones de manejo de variables
PHP Manual

print_r

(PHP 4, PHP 5)

print_r — Imprime información legible para humanos sobre una variable

Descripción

mixed print_r ( mixed $expression [, bool $return = false ] )

print_r() muestra información sobre una variable en una forma que es legible por humanos.

print_r(), var_dump() y var_export() mostrarán también propiedades protegidas y privadas de objetos con PHP 5. Miembros de la clase estática no se mostrarán.

Parámetros

expresión

La expresión a ser impresa.

return

Si desea capturar la salida de print_r(), use el parámetro return. Cuando el parámetro es establecido a TRUE, print_r() devolverá la información en lugar de imprimirla.

Valores devueltos

Si se le da string, integer o float, el valor en sí mismo será impreso. Si le dan un array, los valores serán presentados en un formato que muestra las claves y los elementos. Una notación similar se utiliza para objects.

Cuando el parámetro return es TRUE, esta función devolverá un string. De lo contrario, devolverá TRUE.

Notas

Nota:

Cuando el parámetro return se usa, esta función utiliza el almacenamiento en búfer de salida interno, por lo que no puede usarse dentro de una función de llamada de retorno ob_start().

Historial de cambios

Versión | Descripción
4.3.0 | El parámetro return fué añadido. Si necesita capturar la salida de print_r() con una versión anterior de PHP, utilice las funciones de control de salida.
4.0.4 | Antes de PHP 4.0.4, print_r() continuará ejecutándose indefinidamente si se le entrega una variable tipo array o object contenga una referencia directa o indirecta a sí misma. Un ejemplo es print_r($GLOBALS) ya que la variable $GLOBALS es una variable global que contiene una referencia a sí misma.

Ejemplos

Ejemplo #1 Ejemplo print_r()

<pre>
<?php
$a = array ('a' => 'manzana', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
print_r ($a);
?>
</pre>

El resultado del ejemplo sería:

<pre>
Array
(
    [a] => manzana
    [b] => banana
    [c] => Array
        (
            [0] => x
            [1] => y
            [2] => z
        )
)
</pre>

Ejemplo #2 Ejemplo del parámetro devolver

<?php
$b = array ('m' => 'mono', 'foo' => 'bar', 'x' => array ('x', 'y', 'z'));
$resultados = print_r($b, true); // $resultados contiene ahora la salida de print_r
?>

Ver también

  • ob_start() - Activa el almacenamiento en búfer de salida
  • var_dump() - Muestra información sobre una variable
  • var_export() - Imprime o devuelve una representación string de una variable analizable

isset
serialize
Funciones de manejo de variables


Genera una representación apta para el almacenamiento de un valor

print_r
settype
Funciones de manejo de variables
PHP Manual

serialize

(PHP 4, PHP 5)

serialize — Genera una representación apta para el almacenamiento de un valor

Descripción

string serialize ( mixed $value )

Genera una representación almacenable de un valor.

Esto es útil para el almacenamiento de valores en PHP sin perder su tipo y estructura.

Para recuperar el valor PHP a partir de la cadena seriada, utilice unserialize().

Parámetros

value

El valor a ser serializado. serialize() maneja todos los tipos, excepto el tipo resource. Puede incluso usar serialize() sobre arrays que contienen referencias a ellos mismos. Las referencias circulares encontradas en el array/objeto que que procede a serializar también serán almacenadas. Cualquier otra referencia se perderá.

Cuando seria objetos, PHP intentará llamar a la función miembro __sleep() antes de la serialización. Esto permite que el objeto efectúe limpiezas de último minuto, etc. antes de ser serializado. Del mismo modo, cuando el objeto es recuperado usando unserialize(), la función miembro __wakeup() es llamada.

Nota:

Los miembros privados del objeto tienen el nombre de la clase al comienzo de su nombre; los miembros protegidos tienen un '*' al comienzo de su nombre. estos valores antepuestos tienen bytes nulos a ambos lados.

Valores devueltos

Devuelve una cadena que contiene una representación de flujo de bytes del value que puede ser almacenada en cualquier parte.

Observe que esto es una cadena binaria que puede incluir bytes nulos, y necesita ser almacenada y manipulada como tal. Por ejemplo, la salida de serialize() debe ser generalmente almacenada en un campo de tipo BLOB en la base de datos, en vez de en campos de tipo CHAR o TEXT.

Ejemplos

Ejemplo #1 Ejemplo serialize()

<?php
// $datos_sesion contiene un array multi-dimensional con
// información del usuario actual. Usamos serialize() para
// almacenarla en una base de datos al final de la petición.

$con  = odbc_connect("bd_web", "php", "gallina");
$sent = odbc_prepare($con,
      "UPDATE sesiones SET datos = ? WHERE id = ?");
$datos_sql = array (serialize($datos_sesion), $_SERVER['PHP_AUTH_USER']);

if (!odbc_execute($sent, &$datos_sql)) {
    $sent = odbc_prepare($con,
     "INSERT INTO sesiones (id, datos) VALUES(?, ?)");
    if (!odbc_execute($sent, &$datos_sql)) {
        /* Algo ha fallado.. */
    }
}
?>

Historial de cambios

Versión | Descripción
4.0.7 | El proceso de serialización de objetos fue corregido.

Notas

Nota:

Tenga en cuenta que muchos objetos integrados de PHP no se pueden serializar. Sin embargo, aquellos con esta habilidad o implementan la interfaz Serializable o los métodos mágicos __sleep() y __wakeup(). Si una clase interna no cumple cualquiera de esos requisitos, estas seguramente no puedan ser serializadas.

Hay algunas excepciones históricas a la regla anterior, donde algunos objetos internos podrían ser serializados sin implementar la interfaz o la exposición de los métodos. En particular, la clase ArrayObject anterior a PHP 5.2.0.

Ver también

  • unserialize() - Crea un valor PHP a partir de una representación almacenada
  • var_export() - Imprime o devuelve una representación string de una variable analizable
  • json_encode() - Retorna la representación JSON representation del valor dado
  • Serialización de Objetos
  • __sleep()
  • __wakeup()

print_r
settype
Funciones de manejo de variables


Establece el tipo de una variable

serialize
strval
Funciones de manejo de variables
PHP Manual

settype

(PHP 4, PHP 5)

settype — Establece el tipo de una variable

Descripción

bool settype ( mixed &$var , string $type )

Establece el tipo de la variable var a tipo.

Parámetros

var

La variable a ser convertida.

tipo

Los posibles valores de tipo son:

  • "boolean" (o, desde PHP 4.2.0, "bool")
  • "integer" (o, desde PHP 4.2.0, "int")
  • "float" (únicamente posible desde PHP 4.2.0, para versiones anteriores use la variante obsoleta "double")
  • "string"
  • "array"
  • "object"
  • "null" (desde PHP 4.2.0)

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo settype()

<?php
$foo = "5bar"; // cadena
$bar = true;   // booleano

settype($foo, "integer"); // $foo es ahora 5   (entero)
settype($bar, "string");  // $bar es ahora "1" (cadena)
?>

Notas

Nota:

El máximo valor para "int" es PHP_INT_MAX.

Ver también

  • gettype() - Obtener el tipo de una variable
  • type-casting
  • type-juggling

serialize
strval
Funciones de manejo de variables


Obtiene el valor de cadena de una variable

settype
unserialize
Funciones de manejo de variables
PHP Manual

strval

(PHP 4, PHP 5)

strval — Obtiene el valor de cadena de una variable

Descripción

string strval ( mixed $var )

Obtener el valor de la cadena de una variable. Vea la documentación sobre el tipo de dato string para obtener más información sobre la conversión a cadena.

Esta función no realiza ninguna de formato en el valor devuelto. Si está buscando una manera de dar formato a un valor numérico como una cadena, por favor consulte las funciones sprintf() o number_format().

Parámetros

var

La variable que se está convirtiendo en un string.

var puede ser cualquier tipo escalar o un objeto que implemente el método __toString(). No puede usar strval() en arrays u objetos que no implementen el método __toString().

Valores devueltos

El valor string de var.

Ejemplos

Ejemplo #1 strval() usando el método mágico __toString() de PHP 5

<?php
class StrValTest
{
    public function __toString()
    {
        return __CLASS__;
    }
}

// Imprime 'StrValTest'
echo strval(new StrValTest);
?>

Ver también

  • boolval() - Obtener el valor booleano de una variable
  • floatval() - Obtener el valor flotante de una variable
  • intval() - Obtiene el valor entero de una variable
  • settype() - Establece el tipo de una variable
  • sprintf() - Devuelve un string formateado
  • number_format() - Formatear un número con los miles agrupados
  • Manipulación de Tipos
  • __toString()

settype
unserialize
Funciones de manejo de variables


Crea un valor PHP a partir de una representación almacenada

strval
unset
Funciones de manejo de variables
PHP Manual

unserialize

(PHP 4, PHP 5)

unserialize — Crea un valor PHP a partir de una representación almacenada

Descripción

mixed unserialize ( string $str )

unserialize() toma una variable sencilla serializada y la la convierte de nuevo a su valor PHP.

Parámetros

str

El string serializado.

Si la variable que está siendo convertida de vuelta es un objeto, PHP intentará llamar la función miembro __wakeup() si existe) automáticamente luego de haber recontruido satisfactoriamente el objeto.

Nota: Directiva unserialize_callback_func

Es posible establecer una función-llamada de retorno la cual será llamada si una clase no definida debería ser instanciada durante el proceso de revertir la seriación(para prevenir que se reciba un object incompleto "__PHP_Incomplete_Class".) Use su php.ini, ini_set() o .htaccess para definir 'unserialize_callback_func'. Cada vez que una clase no definida deba ser instanciada, esta función será llamada. Para deshabilitar esta característica simplemente asigne un valor vacío a este parámetro.

Valores devueltos

El valor convertido es retornado, y puede ser un boolean, integer, float, string, array u object.

En caso de que el string pasado no pueda ser procesado para revertir la serialización, se devuelve FALSE y un error de tipo E_NOTICE es generado.

Historial de cambios

Versión | Descripción
4.2.0 | La directiva unserialize_callback_func se encuentra disponible.

Ejemplos

Ejemplo #1 Ejemplo de unserialize()

<?php
// Aquí usamos unserialize() para cargar los datos de sesión
// provenientes de el string seleccionado desde la base de datos en el
// array $datos_sesion. Este ejemplo complementa aquél descrito con
// serialize().

$con  = odbc_connect("bd_web", "php", "gallina");
$sent = odbc_prepare($con, "SELECT datos FROM sesiones WHERE id = ?");
$datos_sql = array($_SERVER['PHP_AUTH_USER']);

if (!odbc_execute($sent, &$datos_sql) || !odbc_fetch_into($sent, &$tmp)) {
    // si la ejecución del comando o la recuperación de datos falla,
    // inicializar una matriz vacía
    $datos_sesion = array();
} else {
    // ahora deberíamos tener los datos serializados en $tmp[0].
    $datos_sesion = unserialize($tmp[0]);
    if (!is_array($datos_sesion)) {
        // algo ha fallado, inicializar un array vacío
        $datos_sesion = array();
    }
}
?>

Ejemplo #2 Ejemplo de unserialize_callback_func

<?php
$objeto_seriado='O:1:"a":1:{s:5:"valor";s:3:"100";}';

// la directiva unserialize_callback_func está disponible a partir de PHP 4.2.0
ini_set('unserialize_callback_func', 'mi_llamada_de_retorno'); // defina su callback_function

function mi_llamada_de_retorno($nombre_clase)
{
    // tan solo incluya un fichero que contenga su definición de clase

    // recibe $nombre_clase para determinar qué definición de
    // clase requiere
}
?>

Notas

Advertencia

FALSE es devuelto tanto en el caso de un error como cuando se convierte el valor seriado FALSE. Es posible atrapar este caso especial comparando str con serialize(false) o atrapando el error E_NOTICE generado.

Advertencia

No proporcione datos no fiables provenientes del usuario a unserialize(). Revertir la serialización puede resultar en que haya código que se cargue y ejecute debido a la instanciación y autocarga de objetos, y un usuario malicioso podría ser capaz de explotar esto. Se debe utilizar un formato de intercambio de datos seguro y estándar, como JSON (a través de json_decode() y json_encode()) si es necesario pasar datos serializados al usuario.

Ver también

  • serialize() - Genera una representación apta para el almacenamiento de un valor
  • Autocarga de objetos
  • unserialize_callback_func
  • __wakeup()

strval
unset
Funciones de manejo de variables


Destruye una variable especificada

unserialize
var_dump
Funciones de manejo de variables
PHP Manual

unset

(PHP 4, PHP 5)

unset — Destruye una variable especificada

Descripción

void unset ( mixed $var [, mixed $... ] )

unset() destruye las variables especificadas.

El comportamiento de unset() dentro de una función puede variar dependiendo de qué tipo de variable que se está tratando de destruir.

Si una variable global es unset() dentro de una función, solo la variable local es destruida. La variable en el entorno de la llamada mantendrá el mismo valor anterior a la llamada a unset().

<?php
function destruir_foo()
{
    global $foo;
    unset($foo);
}

$foo = 'bar';
destruir_foo();
echo $foo;
?>

El resultado del ejemplo sería:

bar

Si desea aplicar unset() a una variable global dentro de una función, puede usar la matriz $GLOBALS para hacerlo:

<?php
function foo()
{
    unset($GLOBALS['bar']);
}

$bar = "algo";
foo();
?>

Si una variable que se pasa POR REFERENCIA es unset() dentro de una función, sólo la variable local es destruida. La variable en el entorno de la llamada mantendrá el mismo valor anterior a la llamada a unset()

<?php
function foo(&$bar)
{
    unset($bar);
    $bar = "blah";
}

$bar = 'algo';
echo "$bar\n";

foo($bar);
echo "$bar\n";
?>

El resultado del ejemplo sería:

something
something

Si una variable estática es unset() dentro de una función, unset() destruye la variable únicamente en el contexto del resto de una función. Las llamadas siguientes recuperarán el valor previo de una variable.

<?php
function foo()
{
    static $bar;
    $bar++;
    echo "Antes de unset: $bar, ";
    unset($bar);
    $bar = 23;
    echo "Después de unset: $bar\n";
}

foo();
foo();
foo();
?>

El resultado del ejemplo sería:

Antes de unset: 1, después de unset: 23
Antes de unset: 2, después de unset: 23
Antes de unset: 3, después de unset: 23

Parámetros

var

La variable a ser destruida.

...

Otra variable...

Valores devueltos

No devuelve ningún valor.

Historial de cambios

Versión | Descripción
4.0.1 | Añadido soporte para múltiples argumentos.

Ejemplos

Ejemplo #1 Ejemplo de unset()

<?php
// destruir una sola variable
unset($foo);

// destruir un solo elemento de una matriz
unset($bar['quux']);

// destruir más de una variable
unset($foo1, $foo2, $foo3);
?>

Ejemplo #2 Usando el forzado a (unset)

El forzado a (unset) a menudo se confunde con la función unset(). El forzado (unset) sólo sirve como una conversión de tipo NULL. Esto no altera la variable que se está forzando.

<?php
$name = 'Felipe';

var_dump((unset) $name);
var_dump($name);
?>

El resultado del ejemplo sería:

NULL
string(6) "Felipe"

Notas

Nota: Puesto que esto es una construcción del lenguaje y no una función, no puede ser llamada usando funciones variables.

Nota:

Es posible remover incluso propiedades de objetos visibles en el contexto actual.

Nota:

No es posible remover $this dentro de un método de objeto a partir de PHP 5.

Nota:

Cuando se utiliza unset() sobre las propiedades de objetos inaccesibles, el método de sobrecarga __unset() será llamado, si se declara.

Ver también

  • isset() - Determina si una variable está definida y no es NULL
  • empty() - Determina si una variable está vacía
  • __unset()
  • array_splice() - Elimina una porción del array y la reemplaza con algo

unserialize
var_dump
Funciones de manejo de variables


Muestra información sobre una variable

unset
var_export
Funciones de manejo de variables
PHP Manual

var_dump

(PHP 4, PHP 5)

var_dump — Muestra información sobre una variable

Descripción

void var_dump ( mixed $expression [, mixed $... ] )

Esta función muestra información estructurada sobre una o más expresiones incluyendo su tipo y valor. Las matrices y los objetos son explorados recursivamente con valores sangrados para mostrar su estructura.

En PHP 5 todas las propiedades públicas, privadas y protegidas de los objetos serán devueltas en la salida.

Sugerencia

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 string.

Parámetros

expresion

La variable que desea vacíar la información.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo var_dump()

<?php
$a = array(1, 2, array("a", "b", "c"));
var_dump($a);
?>

El resultado del ejemplo sería:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  array(3) {
    [0]=>
    string(1) "a"
    [1]=>
    string(1) "b"
    [2]=>
    string(1) "c"
  }
}
<?php

$b = 3.1;
$c = true;
var_dump($b, $c);

?>

El resultado del ejemplo sería:

float(3.1)
bool(true)

Ver también

  • print_r() - Imprime información legible para humanos sobre una variable
  • debug_zval_dump() - Vuelca a la salida una cadena con la representación de un valor interno de zend
  • var_export() - Imprime o devuelve una representación string de una variable analizable

unset
var_export
Funciones de manejo de variables


Imprime o devuelve una representación string de una variable analizable

var_dump
Servicios web
Funciones de manejo de variables
PHP Manual

var_export

(PHP 4 >= 4.2.0, PHP 5)

var_export — Imprime o devuelve una representación string de una variable analizable

Descripción

mixed var_export ( mixed $expression [, bool $return = false ] )

var_export() obtiene información estructurada sobre la variable dada. Es similar a la función var_dump() con una excepción: la representación devuelta es código PHP válido.

Parámetros

expression

La variable que desea exportar.

return

Si es usada y se define como TRUE, var_export() devolverá la representación de la variable en lugar de imprimirla.

Valores devueltos

Devuelve la representación de la variable cuando el parámetro return es utilizado y evaluado como TRUE. En caso contrario, esta función devolverá NULL.

Notas

Nota:

Cuando el parámetro return se usa, esta función utiliza el almacenamiento en búfer de salida interno, por lo que no puede usarse dentro de una función de llamada de retorno ob_start().

Historial de cambios

Versión | Descripción
5.1.0 | Posibilidad de exportar las clases y los arrays que contienen las clases utilizando el método mágico __set_state.

Ejemplos

Ejemplo #1 Ejemplos de var_export()

<?php
$a = array (1, 2, array ("a", "b", "c"));
var_export($a);
?>

El resultado del ejemplo sería:

array (
  0 => 1,
  1 => 2,
  2 =>
  array (
    0 => 'a',
    1 => 'b',
    2 => 'c',
  ),
)
<?php

$b = 3.1;
$v = var_export($b, true);
echo $v;

?>

El resultado del ejemplo sería:

3.1

Ejemplo #2 Exportación de clases a partir de PHP 5.1.0

<?php
class A { public $var; }
$a = new A;
$a->var = 5;
var_export($a);
?>

El resultado del ejemplo sería:

A::__set_state(array(
   'var' => 5,
))

Ejemplo #3 Uso de __set_state (a partir de PHP 5.1.0)

<?php
class A
{
    public $var1;
    public $var2;

    public static function __set_state($una_matriz)
    {
        $obj = new A;
        $obj->var1 = $una_matriz['var1'];
        $obj->var2 = $una_matriz['var2'];
        return $obj;
    }
}

$a = new A;
$a->var1 = 5;
$a->var2 = 'foo';

eval('$b = ' . var_export($a, true) . ';'); // $b = A::__set_state(array(
                                            //    'var1' => 5,
                                            //    'var2' => 'foo',
                                            // ));
var_dump($b);
?>

El resultado del ejemplo sería:

object(A)#2 (2) {
  ["var1"]=>
  int(5)
  ["var2"]=>
  string(3) "foo"
}

Notas

Nota:

Las variables de tipo resource no pueden ser exportadas por esta función.

Nota:

var_export() no maneja referencias circulares ya que sería prácticamente imposible generar código PHP interpretable en tal caso. Si desea trabajar con la representación completa de una matriz u objeto, use serialize().

Advertencia

Cuando var_export() exporta objectos, la barra diagonal no se incluye en el nombre de clases que pertencen a un namespace para mantener compatibilidad.

Ver también

  • print_r() - Imprime información legible para humanos sobre una variable
  • serialize() - Genera una representación apta para el almacenamiento de un valor
  • var_dump() - Muestra información sobre una variable

var_dump
Servicios web
Funciones de manejo de variables


Servicios web

  • OAuth
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de OAuth
    • OAuth — La clase OAuth
    • OAuthProvider — Clase OAuthProvider
    • OAuthException — Clase OAuthException
  • SCA
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de SCA
  • SOAP
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de SOAP
    • SoapClient — La clase SoapClient
    • SoapServer — La clase SoapServer
    • SoapFault — La clase SoapFault
    • SoapHeader — La clase SoapHeader
    • SoapParam — La clase SoapParam
    • SoapVar — La clase SoapVar
  • Yar — Yet Another RPC Framework
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Yar_Server — The Yar_Server class
    • Yar_Client — The Yar_Client class
    • Yar_Concurrent_Client — The Yar_Concurrent_Client class
    • Yar_Server_Exception — The Yar_Server_Exception class
    • Yar_Client_Exception — The Yar_Client_Exception class
  • XML-RPC
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de XML-RPC
var_export
OAuth
Referencia de funciones


OAuth

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • FireEagle
  • Funciones de OAuth
    • oauth_get_sbs — Genera una cadena de firma base
    • oauth_urlencode — Códifica una URI a RFC 3986
  • OAuth — La clase OAuth
    • OAuth::__construct — Crea un nuevo objeto OAuth
    • OAuth::__destruct — El destructor
    • OAuth::disableDebug — Desactiva la depuración detallada
    • OAuth::disableRedirects — Desactiva las redirecciones
    • OAuth::disableSSLChecks — Desactiva la verificación SSL
    • OAuth::enableDebug — Activa la depuración detallada
    • OAuth::enableRedirects — Activa las re-direcciones
    • OAuth::enableSSLChecks — Activa la verificación SSL
    • OAuth::fetch — Obtiene un recurso protegido por OAuth
    • OAuth::generateSignature — Generar una firma
    • OAuth::getAccessToken — Obtiene el token de acceso
    • OAuth::getCAPath — Obtiene la información CA
    • OAuth::getLastResponse — Obtiene la última respuesta
    • OAuth::getLastResponseHeaders — Obtener encabezados de la última respuesta
    • OAuth::getLastResponseInfo — Obtiene la información HTTP sobre la última respuesta
    • OAuth::getRequestHeader — Generar un string de firma de cabecera OAuth
    • OAuth::getRequestToken — Obtiene un token de petición
    • OAuth::setAuthType — Establece el tipo de autorización
    • OAuth::setCAPath — Establece la ruta a CA y su información
    • OAuth::setNonce — Configura el nonce para las solicitudes posteriores
    • OAuth::setRequestEngine — El propósito de setRequestEngine
    • OAuth::setRSACertificate — establece el certificado RSA
    • OAuth::setSSLChecks — Ajustar controles específicos de SSL para las solicitudes
    • OAuth::setTimestamp — Establece el timestamp
    • OAuth::setToken — Establece el token y el secreto
    • OAuth::setVersion — Configura la versión OAuth
  • OAuthProvider — Clase OAuthProvider
    • OAuthProvider::addRequiredParameter — Agregar parámetros necesarios
    • OAuthProvider::callconsumerHandler — Llama al callback consumerNonceHandler
    • OAuthProvider::callTimestampNonceHandler — Llama al callback timestampNonceHandler
    • OAuthProvider::calltokenHandler — Llama al callback tokenNonceHandler
    • OAuthProvider::checkOAuthRequest — Revisa una petición OAuth
    • OAuthProvider::__construct — Construye un nuevo objeto OAuthProvider
    • OAuthProvider::consumerHandler — Establece el manejador callback consumerHandler
    • OAuthProvider::generateToken — Genera un token aleatorio
    • OAuthProvider::is2LeggedEndpoint — is2LeggedEndpoint
    • OAuthProvider::isRequestTokenEndpoint — Establece isRequestTokenEndpoint
    • OAuthProvider::removeRequiredParameter — Remueve un parámetro requerido
    • OAuthProvider::reportProblem — Reportar un problema
    • OAuthProvider::setParam — Establece un parámetro
    • OAuthProvider::setRequestTokenPath — Establece la ruta de petición del token
    • OAuthProvider::timestampNonceHandler — Establece el callback timestampNonceHandler
    • OAuthProvider::tokenHandler — Establece el manejador callback de tokenHandler
  • OAuthException — Clase OAuthException
Servicios web
Introducción
Servicios web


Introducción

Esta extensión provee un cliente y un servicio OAuth. OAuth es un protocolo de autorización basado en HTTP el cual permite a las aplicaciones garantizar el acceso a datos sin tener alojado un nombre de usuario y contraseña.

OAuth
Instalación/Configuración
OAuth


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
OAuth


Requerimientos

PECL/oauth requiere PHP 5.1 o superior, ext/hash y ext/pcre.

PECL/oauth puede requerir opcionalmente libcurl si se selecciona en el momento de compilación. Si se configura con libcurl, debe ser compilado con soporte HTTPS.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pear.php.net/package/oauth

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

La mayoría de estas constantes involucran problemas, los cuales son descritos en la documentación oficial de OAuth » Problem Reporting. Note sin embargo, que estos nombres de constantes son específicos para PHP, aunque el nombre sea similar.

OAUTH_SIG_METHOD_RSASHA1 (string)
Método de firma OAuth RSA-SHA1.
OAUTH_SIG_METHOD_HMACSHA1 (string)

Método de firma OAuth HMAC-SHA1.

OAUTH_SIG_METHOD_HMACSHA256 (string)
Método de firma OAuth HMAC-SHA256 signature method.
OAUTH_AUTH_TYPE_AUTHORIZATION (string)

Esta constante representa los parámetros OAuth en la cabecera de Authorization.

OAUTH_AUTH_TYPE_NONE (string)

Esta constante indica una petición NoAuth OAuth.

OAUTH_AUTH_TYPE_URI (string)

Esta constante representa los parámetros OAuth en la URI de petición.

OAUTH_AUTH_TYPE_FORM (string)

Esta constante representa los parámetros OAuth como una parte del cuerpo HTTP POST.

OAUTH_HTTP_METHOD_GET (string)

Usa el método GET para la petición OAuth.

OAUTH_HTTP_METHOD_POST (string)

Usa el método POST para la petición OAuth.

OAUTH_HTTP_METHOD_PUT (string)

Usa el método PUT para la petición OAuth.

OAUTH_HTTP_METHOD_HEAD (string)

Usa el método HEAD para la petición OAuth.

OAUTH_HTTP_METHOD_DELETE (string)
Usa el método DELETE para la petición OAuth.
OAUTH_REQENGINE_STREAMS (integer)
Utiliza el método OAuth::setRequestEngine() para definir el motor de PHP streams, en lugar de OAUTH_REQENGINE_CURL para Curl.
OAUTH_REQENGINE_CURL (integer)
Utiliza el método OAuth::setRequestEngine() para definir el motor de Curl, en lugar de OAUTH_REQENGINE_STREAMS para PHP streams.
OAUTH_OK (integer)
La vida es bella.
OAUTH_BAD_NONCE (integer)
El valor oauth_nonce que fue usado en una anterior petición, y no se puede utilizar ahora.
OAUTH_BAD_TIMESTAMP (integer)
El valor oauth_timestamp que no fue aceptado por el proveedor de servicio. En este caso, la respuesta deberá estar también contenida en el parámetro oauth_acceptable_timestamps.
OAUTH_CONSUMER_KEY_UNKNOWN (integer)
oauth_consumer_key es temporalmehte inaceptable para el proveedor de servicio. Por ejemplo, el proveedor de servicio se ha sobrecargado.
OAUTH_CONSUMER_KEY_REFUSED (integer)
La clave de cliente ha sido rechazada.
OAUTH_INVALID_SIGNATURE (integer)
La firma oauth_signature es inválida, no coincide la firma del cliente con la del proveedor.
OAUTH_TOKEN_USED (integer)
El oauth_token ha sido consumido. No se puede utilizar más debido a que ya había sido usada en la/s petición/peticiones anterior/es.
OAUTH_TOKEN_EXPIRED (integer)
El oauth_token ha expirado.
OAUTH_TOKEN_REVOKED (integer)
El oauth_token ha sido revocado, y no será aceptado nunca más.
OAUTH_TOKEN_REJECTED (integer)
El oauth_token no fue aceptado por el proveedor de servicio. La razón es desconocida, pero puede deberse a que el token nunca fue usado, ya había sido consumido, ya había expirado, y/o olvidado por el proveedor de servicio.
OAUTH_VERIFIER_INVALID (integer)
El oauth_verifier es incorrecto.
OAUTH_PARAMETER_ABSENT (integer)
Un parámetro no fue recibido. En ese caso, la respuesta debe también contener el parámetro oauth_parameters_absent.
OAUTH_SIGNATURE_METHOD_REJECTED (integer)
El método oauth_signature_method no fue aceptado por el proveedor de servicio.

Tipos de recursos
Ejemplos
OAuth


Ejemplos

Tabla de contenidos

  • FireEagle
Constantes predefinidas
FireEagle
OAuth


FireEagle

<?php
$req_url = 'https://fireeagle.yahooapis.com/oauth/request_token';
$authurl = 'https://fireeagle.yahoo.net/oauth/authorize';
$acc_url = 'https://fireeagle.yahooapis.com/oauth/access_token';
$api_url = 'https://fireeagle.yahooapis.com/api/0.1';
$conskey = 'your_consumer_key';
$conssec = 'your_consumer_secret';

session_start();

// En state=1 la siguiente solicitud debe incluir un oauth_token.
// Si no vuelve a 0 (cero)
if(!isset($_GET['oauth_token']) && $_SESSION['state']==1) $_SESSION['state'] = 0;
try {
  $oauth = new OAuth($conskey,$conssec,OAUTH_SIG_METHOD_HMACSHA1,OAUTH_AUTH_TYPE_URI);
  $oauth->enableDebug();
  if(!isset($_GET['oauth_token']) && !$_SESSION['state']) {
    $request_token_info = $oauth->getRequestToken($req_url);
    $_SESSION['secret'] = $request_token_info['oauth_token_secret'];
    $_SESSION['state'] = 1;
    header('Location: '.$authurl.'?oauth_token='.$request_token_info['oauth_token']);
    exit;
  } else if($_SESSION['state']==1) {
    $oauth->setToken($_GET['oauth_token'],$_SESSION['secret']);
    $access_token_info = $oauth->getAccessToken($acc_url);
    $_SESSION['state'] = 2;
    $_SESSION['token'] = $access_token_info['oauth_token'];
    $_SESSION['secret'] = $access_token_info['oauth_token_secret'];
  }
  $oauth->setToken($_SESSION['token'],$_SESSION['secret']);
  $oauth->fetch("$api_url/user.json");
  $json = json_decode($oauth->getLastResponse());
  print_r($json);
} catch(OAuthException $E) {
  print_r($E);
}
?>

Ejemplos
Funciones de OAuth
Ejemplos


Funciones de OAuth

Tabla de contenidos

  • oauth_get_sbs — Genera una cadena de firma base
  • oauth_urlencode — Códifica una URI a RFC 3986
FireEagle
oauth_get_sbs
OAuth


Genera una cadena de firma base

Funciones de OAuth
oauth_urlencode
Funciones de OAuth
PHP Manual

oauth_get_sbs

(PECL OAuth >=0.99.7)

oauth_get_sbs — Genera una cadena de firma base

Descripción

string oauth_get_sbs ( string $http_method , string $uri [, array $request_parameters ] )

Genera un string de firma base con PECL/OAuth.

Parámetros

http_method

El método HTTP.

uri

La URI a códificar.

request_parameters

Array de parámetros de petición.

Valores devueltos

Devuelve el string de firma base.

Funciones de OAuth
oauth_urlencode
Funciones de OAuth


Códifica una URI a RFC 3986

oauth_get_sbs
OAuth
Funciones de OAuth
PHP Manual

oauth_urlencode

(PECL OAuth >=0.99.2)

oauth_urlencode — Códifica una URI a RFC 3986

Descripción

string oauth_urlencode ( string $uri )

Códifica una URI a » RFC 3986.

Parámetros

uri

URI a codificar.

Valores devueltos

Returns an » RFC 3986 encoded string.

oauth_get_sbs
OAuth
Funciones de OAuth


La clase OAuth

(PECL OAuth >= 0.99.1)

Introducción

La extensión OAuth provee una interfaz simple para interactuar con proveedores de datos usando la especificación HTTP OAuth para proteger los recursos privados.

Sinopsis de la Clase

OAuth {
/* Propiedades */
public $debug ;
public $sslChecks ;
public $debugInfo ;
/* Métodos */
public __construct ( string $consumer_key , string $consumer_secret [, string $signature_method = OAUTH_SIG_METHOD_HMACSHA1 [, int $auth_type = 0 ]] )
public void __destruct ( void )
public bool disableDebug ( void )
public bool disableRedirects ( void )
public bool disableSSLChecks ( void )
public bool enableDebug ( void )
public bool enableRedirects ( void )
public bool enableSSLChecks ( void )
public mixed fetch ( string $protected_resource_url [, array $extra_parameters [, string $http_method [, array $http_headers ]]] )
public string generateSignature ( string $http_method , string $url [, mixed $extra_parameters ] )
public array getAccessToken ( string $access_token_url [, string $auth_session_handle [, string $verifier_token ]] )
public array getCAPath ( void )
public string getLastResponse ( void )
public string getLastResponseHeaders ( void )
public array getLastResponseInfo ( void )
public string getRequestHeader ( string $http_method , string $url [, mixed $extra_parameters ] )
public array getRequestToken ( string $request_token_url [, string $callback_url ] )
public mixed setAuthType ( int $auth_type )
public mixed setCAPath ([ string $ca_path [, string $ca_info ]] )
public mixed setNonce ( string $nonce )
public void setRequestEngine ( int $reqengine )
public mixed setRSACertificate ( string $cert )
public bool setSSLChecks ( int $sslcheck )
public mixed setTimestamp ( string $timestamp )
public bool setToken ( string $token , string $token_secret )
public bool setVersion ( string $version )
}

Propiedades

debug

sslChecks

debugInfo

Tabla de contenidos

  • OAuth::__construct — Crea un nuevo objeto OAuth
  • OAuth::__destruct — El destructor
  • OAuth::disableDebug — Desactiva la depuración detallada
  • OAuth::disableRedirects — Desactiva las redirecciones
  • OAuth::disableSSLChecks — Desactiva la verificación SSL
  • OAuth::enableDebug — Activa la depuración detallada
  • OAuth::enableRedirects — Activa las re-direcciones
  • OAuth::enableSSLChecks — Activa la verificación SSL
  • OAuth::fetch — Obtiene un recurso protegido por OAuth
  • OAuth::generateSignature — Generar una firma
  • OAuth::getAccessToken — Obtiene el token de acceso
  • OAuth::getCAPath — Obtiene la información CA
  • OAuth::getLastResponse — Obtiene la última respuesta
  • OAuth::getLastResponseHeaders — Obtener encabezados de la última respuesta
  • OAuth::getLastResponseInfo — Obtiene la información HTTP sobre la última respuesta
  • OAuth::getRequestHeader — Generar un string de firma de cabecera OAuth
  • OAuth::getRequestToken — Obtiene un token de petición
  • OAuth::setAuthType — Establece el tipo de autorización
  • OAuth::setCAPath — Establece la ruta a CA y su información
  • OAuth::setNonce — Configura el nonce para las solicitudes posteriores
  • OAuth::setRequestEngine — El propósito de setRequestEngine
  • OAuth::setRSACertificate — establece el certificado RSA
  • OAuth::setSSLChecks — Ajustar controles específicos de SSL para las solicitudes
  • OAuth::setTimestamp — Establece el timestamp
  • OAuth::setToken — Establece el token y el secreto
  • OAuth::setVersion — Configura la versión OAuth
oauth_urlencode
OAuth::__construct
OAuth


Crea un nuevo objeto OAuth

OAuth
OAuth::__destruct
OAuth
PHP Manual

OAuth::__construct

(PECL OAuth >= 0.99.1)

OAuth::__construct — Crea un nuevo objeto OAuth

Descripción

public OAuth::__construct ( string $consumer_key , string $consumer_secret [, string $signature_method = OAUTH_SIG_METHOD_HMACSHA1 [, int $auth_type = 0 ]] )

Crea un nuevo objeto OAuth

Parámetros

consumer_key

La clave de lectura proporcionada por el proveedor de servicios.

consumer_secret

El secreto de lectura proporcionada por el proveedor de servicios.

signature_method

Este parámetro es opcional define cual método usar, por omisión es OAUTH_SIG_METHOD_HMACSHA1 (HMAC-SHA1).

auth_type

Este parámetro es opcional define como pasar los parámetros OAuth al lector, por omisión es OAUTH_AUTH_TYPE_AUTHORIZATION (en la cabecerá Authorization).

OAuth
OAuth::__destruct
OAuth


El destructor

OAuth::__construct
OAuth::disableDebug
OAuth
PHP Manual

OAuth::__destruct

(PECL OAuth >= 0.99.9)

OAuth::__destruct — El destructor

Descripción

public void OAuth::__destruct ( void )

El destructor.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ver también

  • OAuth::__construct() - Crea un nuevo objeto OAuth
OAuth::__construct
OAuth::disableDebug
OAuth


Desactiva la depuración detallada

OAuth::__destruct
OAuth::disableRedirects
OAuth
PHP Manual

OAuth::disableDebug

(PECL OAuth >= 0.99.3)

OAuth::disableDebug — Desactiva la depuración detallada

Descripción

public bool OAuth::disableDebug ( void )

Desactiva la solicitud de información detallada (desactivado por omisión). Alternativamente, la propiedad debug puede ser establecida al valor FALSE para desactivar el depurador.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE

Historial de cambios

Versión | Descripción
0.99.8 | La propiedad debug fue agregada.

Ver también

  • OAuth::enableDebug() - Activa la depuración detallada

OAuth::__destruct
OAuth::disableRedirects
OAuth


Desactiva las redirecciones

OAuth::disableDebug
OAuth::disableSSLChecks
OAuth
PHP Manual

OAuth::disableRedirects

(PECL OAuth >= 0.99.9)

OAuth::disableRedirects — Desactiva las redirecciones

Descripción

public bool OAuth::disableRedirects ( void )

Desactiva las redirecciones automáticas, permitiendo que la petición sea manualmente redirigida.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE

Ver también

  • OAuth::enableRedirects() - Activa las re-direcciones
OAuth::disableDebug
OAuth::disableSSLChecks
OAuth


Desactiva la verificación SSL

OAuth::disableRedirects
OAuth::enableDebug
OAuth
PHP Manual

OAuth::disableSSLChecks

(PECL OAuth >= 0.99.5)

OAuth::disableSSLChecks — Desactiva la verificación SSL

Descripción

public bool OAuth::disableSSLChecks ( void )

Desactiva la verificación del certificado y servidor SSL, esto no se recomiendo para entornos en producción. Alternativamente, el miembro sslChecks puede ser puesto FALSE para desactivar la revisión.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE

Historial de cambios

Versión | Descripción
0.99.8 | El miembro sslChecks fue agregado

Ver también

  • OAuth::enableSSLChecks() - Activa la verificación SSL

OAuth::disableRedirects
OAuth::enableDebug
OAuth


Activa la depuración detallada

OAuth::disableSSLChecks
OAuth::enableRedirects
OAuth
PHP Manual

OAuth::enableDebug

(PECL OAuth >= 0.99.3)

OAuth::enableDebug — Activa la depuración detallada

Descripción

public bool OAuth::enableDebug ( void )

Activa la solititud de información detallada útil para depurar, la información de depuración es almacenada en el miembro debugInfo. Alternativamente, el miembro debug puede ser establecido a un valor no-FALSE para activar el depurador.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE

Historial de cambios

Versión | Descripción
0.99.8 | Los miembros debug y debugInfo fueron agregados.

Ver también

  • OAuth::disableDebug() - Desactiva la depuración detallada

OAuth::disableSSLChecks
OAuth::enableRedirects
OAuth


Activa las re-direcciones

OAuth::enableDebug
OAuth::enableSSLChecks
OAuth
PHP Manual

OAuth::enableRedirects

(PECL OAuth >= 0.99.9)

OAuth::enableRedirects — Activa las re-direcciones

Descripción

public bool OAuth::enableRedirects ( void )

Sigue y firma las re-direcciones automáticamente, el cual está en activado por omisión.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE

Ver también

  • OAuth::disableRedirects() - Desactiva las redirecciones
OAuth::enableDebug
OAuth::enableSSLChecks
OAuth


Activa la verificación SSL

OAuth::enableRedirects
OAuth::fetch
OAuth
PHP Manual

OAuth::enableSSLChecks

(PECL OAuth >= 0.99.5)

OAuth::enableSSLChecks — Activa la verificación SSL

Descripción

public bool OAuth::enableSSLChecks ( void )

Activa la verificación del certificado y servidor SSL (activado por omisión). Alternativamente, el miembro sslChecks puede ser puesto a un valor distinto a FALSE para desactivar la revisión.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE

Historial de cambios

Versión | Descripción
0.99.8 | El miembro sslChecks fue agregado

Ver también

  • OAuth::disableSSLChecks() - Desactiva la verificación SSL

OAuth::enableRedirects
OAuth::fetch
OAuth


Obtiene un recurso protegido por OAuth

OAuth::enableSSLChecks
OAuth::generateSignature
OAuth
PHP Manual

OAuth::fetch

(PECL OAuth >= 0.99.1)

OAuth::fetch — Obtiene un recurso protegido por OAuth

Descripción

public mixed OAuth::fetch ( string $protected_resource_url [, array $extra_parameters [, string $http_method [, array $http_headers ]]] )

Obtiene un recurso.

Parámetros

protected_resource_url

URL del recurso OAuth protegio.

extra_parameters

Parámetros adicionales para enviar con la petición del recurso.

http_method

Una de las OAUTH_HTTP_METHOD_* constantes OAUTH, which includes GET, POST, PUT, HEAD, or DELETE.

HEAD (OAUTH_HTTP_METHOD_HEAD) can be useful for discovering information prior to the request (if OAuth credentials are in the Authorization header).

http_headers

Encabezados cliente HTTP (como por ejemplo User-Agent, Accept, etc.)

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
1.0.0 | Antes devolvía NULL en caso de falla, en lugar de FALSE.
0.99.5 | El parámetro http_method fue agregado
0.99.8 | El parámetro http_headers fue agregado

Ejemplos

Ejemplo #1 Ejemplo de OAuth::fetch()

<?php
try {
    $oauth = new OAuth("consumer_key","consumer_secret",OAUTH_SIG_METHOD_HMACSHA1,OAUTH_AUTH_TYPE_AUTHORIZATION);
    $oauth->setToken("access_token","access_token_secret");

    $oauth->fetch("http://photos.example.net/photo?file=vacation.jpg");

    $response_info = $oauth->getLastResponseInfo();
    header("Content-Type: {$response_info["content_type"]}");
    echo $oauth->getLastResponse();
} catch(OAuthException $E) {
    echo "Excepción atrapada!\n";
    echo "Respuesta: ". $E->lastResponse . "\n";
}
?>

Ver también

  • OAuth::getLastResponse() - Obtiene la última respuesta
  • OAuth::getLastResponseInfo() - Obtiene la información HTTP sobre la última respuesta
  • OAuth::setToken() - Establece el token y el secreto

OAuth::enableSSLChecks
OAuth::generateSignature
OAuth


Generar una firma

OAuth::fetch
OAuth::getAccessToken
OAuth
PHP Manual

OAuth::generateSignature

(No hay información de versión disponible, podría estar únicamente en SVN)

OAuth::generateSignature — Generar una firma

Descripción

public string OAuth::generateSignature ( string $http_method , string $url [, mixed $extra_parameters ] )

Generar una firma basada en el método HTTP final, URL y un string/array de parámetros.

Parámetros

http_method

Método HTTP para la solicitud

url

URL de solicitud

extra_parameters

String o array de parámetros adicionales.

Valores devueltos

Un string que contiene la firma generada o FALSE en caso de error

OAuth::fetch
OAuth::getAccessToken
OAuth


Obtiene el token de acceso

OAuth::generateSignature
OAuth::getCAPath
OAuth
PHP Manual

OAuth::getAccessToken

(PECL OAuth >= 0.99.1)

OAuth::getAccessToken — Obtiene el token de acceso

Descripción

public array OAuth::getAccessToken ( string $access_token_url [, string $auth_session_handle [, string $verifier_token ]] )

Obtiene un token de acceso, secreto y cualquier parámetro de respuesta adicional del proveedor de servicio.

Parámetros

access_token_url

URL al token de acceso de la API.

auth_session_handle

El manejador de autorización de sesión, este parámetro no existe en la especificación OAuth 1.0 pero puede ser implementada por muchos proveedores. » Visite ScalableOAuth para más información.

verifier_token

Para los proveedores de servicio que soportan 1.0a, Un parámetro verifier_token debe ser pasado mientras se solicita el token de acceso. Si el parámetro verifier_token está presente en $_GET o $_POST es pasado automáticamente y el solicitante ya no necesita especificar el verifier_token (usualmente el token de acceso es intercambiado en la URL del oauth_callback). » Visite ScalableOAuth para más información.

Valores devueltos

Devuelve un array que contiene las respuestas OAuth analizadas al tener éxito o FALSE al fallar.

Historial de cambios

Versión | Descripción
1.0.0 | Antes devolvía NULL en caso de falla, en lugar de FALSE.
0.99.9 | El parámetro verifier_token fue agregado

Ejemplos

Ejemplo #1 Ejemplo de OAuth::getAccessToken()

<?php
try {
    $oauth = new OAuth(OAUTH_CONSUMER_KEY,OAUTH_CONSUMER_SECRET);
    $oauth->setToken($request_token,$request_token_secret);
    $access_token_info = $oauth->getAccessToken("https://example.com/oauth/access_token");
    if(!empty($access_token_info)) {
        print_r($access_token_info);
    } else {
        print "Falló obteniendo el token de acceso, la respuesta fue: " . $oauth->getLastResponse();
    }
} catch(OAuthException $E) {
    echo "Respuesta: ". $E->lastResponse . "\n";
}
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [oauth_token] => some_token
    [oauth_token_secret] => some_token_secret
)

Ver también

  • OAuth::getLastResponse() - Obtiene la última respuesta
  • OAuth::getLastResponseInfo() - Obtiene la información HTTP sobre la última respuesta
  • OAuth::setToken() - Establece el token y el secreto

OAuth::generateSignature
OAuth::getCAPath
OAuth


Obtiene la información CA

OAuth::getAccessToken
OAuth::getLastResponse
OAuth
PHP Manual

OAuth::getCAPath

(PECL OAuth >= 0.99.8)

OAuth::getCAPath — Obtiene la información CA

Descripción

public array OAuth::getCAPath ( void )

Obtiene la información del certificado de Autoridad, el cual incluye los ca_path y ca_info establecidos por OAuth::setCaPath().

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un array con información del Certificado de Autoridad, específicamente como claves ca_path y ca_info dentro del array asociativo devuelto.

Ver también

  • OAuth::setCAPath() - Establece la ruta a CA y su información
  • OAuth::getLastResponseInfo() - Obtiene la información HTTP sobre la última respuesta
OAuth::getAccessToken
OAuth::getLastResponse
OAuth


Obtiene la última respuesta

OAuth::getCAPath
OAuth::getLastResponseHeaders
OAuth
PHP Manual

OAuth::getLastResponse

(PECL OAuth >= 0.99.1)

OAuth::getLastResponse — Obtiene la última respuesta

Descripción

public string OAuth::getLastResponse ( void )

Obtiene la respuesta original de la más reciente petición.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve la cadena conteniendo la última respuesta.

Ver también

  • OAuth::getLastResponseInfo() - Obtiene la información HTTP sobre la última respuesta
  • OAuth::fetch() - Obtiene un recurso protegido por OAuth

OAuth::getCAPath
OAuth::getLastResponseHeaders
OAuth


Obtener encabezados de la última respuesta

OAuth::getLastResponse
OAuth::getLastResponseInfo
OAuth
PHP Manual

OAuth::getLastResponseHeaders

(No hay información de versión disponible, podría estar únicamente en SVN)

OAuth::getLastResponseHeaders — Obtener encabezados de la última respuesta

Descripción

public string OAuth::getLastResponseHeaders ( void )

Obtiene los encabezados de la última respuesta.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un string que contiene los encabezados de la última respuesta o FALSE en caso de error

OAuth::getLastResponse
OAuth::getLastResponseInfo
OAuth


Obtiene la información HTTP sobre la última respuesta

OAuth::getLastResponseHeaders
OAuth::getRequestHeader
OAuth
PHP Manual

OAuth::getLastResponseInfo

(PECL OAuth >= 0.99.1)

OAuth::getLastResponseInfo — Obtiene la información HTTP sobre la última respuesta

Descripción

public array OAuth::getLastResponseInfo ( void )

Obtiene la información HTTP sobre la última respuesta.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un array conteniendo la información de respuesta de la última petición. Constantes de curl_getinfo() pueden ser usadas.

Ver también

  • OAuth::fetch() - Obtiene un recurso protegido por OAuth
  • OAuth::getLastResponse() - Obtiene la última respuesta

OAuth::getLastResponseHeaders
OAuth::getRequestHeader
OAuth


Generar un string de firma de cabecera OAuth

OAuth::getLastResponseInfo
OAuth::getRequestToken
OAuth
PHP Manual

OAuth::getRequestHeader

(No hay información de versión disponible, podría estar únicamente en SVN)

OAuth::getRequestHeader — Generar un string de firma de cabecera OAuth

Descripción

public string OAuth::getRequestHeader ( string $http_method , string $url [, mixed $extra_parameters ] )

Generar un string de firma de cabecera OAuth basada en el método HTTP final, el URL y los parámetros de string/array

Parámetros

http_method

Método HTTP para la petición.

url

URL para la petición.

extra_parameters

String o array de parámetros adicionales.

Valores devueltos

Un string que contiene la cabecera solicitada generada o FALSE en caso de error

OAuth::getLastResponseInfo
OAuth::getRequestToken
OAuth


Obtiene un token de petición

OAuth::getRequestHeader
OAuth::setAuthType
OAuth
PHP Manual

OAuth::getRequestToken

(PECL OAuth >= 0.99.1)

OAuth::getRequestToken — Obtiene un token de petición

Descripción

public array OAuth::getRequestToken ( string $request_token_url [, string $callback_url ] )

Obtiene un token de petición, secreto y cualquier parámetro adicional de respuesta del proveedor de servicio.

Parámetros

request_token_url

URL al token de solicitud de la API.

callback_url

URL del callback OAuth. Si callback_url es pasado y es un valor vacío, este es puesto a "oob" para satisfacer las exigencias de OAuth 2009.1 advisory.

Valores devueltos

Devuelve un array conteniendo las respuestas OAuth analizadas al tener éxitoo FALSE al fallar.

Historial de cambios

Versión | Descripción
1.0.0 | Antes devolvía NULL en caso de falla, en lugar de FALSE.
0.99.9 | El parámetro callback_url fue agregado

Ejemplos

Ejemplo #1 Ejemplo de OAuth::getRequestToken()

<?php
try {
    $oauth = new OAuth(OAUTH_CONSUMER_KEY,OAUTH_CONSUMER_SECRET);
    $request_token_info = $oauth->getRequestToken("https://example.com/oauth/request_token");
    if(!empty($request_token_info)) {
        print_r($request_token_info);
    } else {
        print "Falló obteniendo el token de petición, la respuesta fue: " . $oauth->getLastResponse();
    }
} catch(OAuthException $E) {
    echo "Respuesta: ". $E->lastResponse . "\n";
}
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [oauth_token] => some_token
    [oauth_token_secret] => some_token_secret
)

Ver también

  • OAuth::getLastResponse() - Obtiene la última respuesta
  • OAuth::getLastResponseInfo() - Obtiene la información HTTP sobre la última respuesta

OAuth::getRequestHeader
OAuth::setAuthType
OAuth


Establece el tipo de autorización

OAuth::getRequestToken
OAuth::setCAPath
OAuth
PHP Manual

OAuth::setAuthType

(PECL OAuth >= 0.99.1)

OAuth::setAuthType — Establece el tipo de autorización

Descripción

public mixed OAuth::setAuthType ( int $auth_type )

Establece donde un parámetro OAuthdebería ser pasado.

Parámetros

auth_type

auth_type puede ser una de las siguientes banderas (in orden descendente de preferencia según OAuth 1.0 sección 5.2):

OAUTH_AUTH_TYPE_AUTHORIZATION
Pasa los parámetros OAuth en la cabecera de Authorization HTTP.
OAUTH_AUTH_TYPE_FORM
Anexa los parámetros OAuth al cuerpo de petición HTTP POST.
OAUTH_AUTH_TYPE_URI
Anexa los parámetros OAuth a la URI de petición.
OAUTH_AUTH_TYPE_NONE
Ninguno.

Valores devueltos

Devuelve TRUE si el parámetro es correctamente establecido, de otra manera FALSE (Ejemplo, si un inválido parámetro auth_type es pasado.)

Historial de cambios

Versión | Descripción
1.0.0 | Antes devolvía NULL en caso de falla, en lugar de FALSE.

OAuth::getRequestToken
OAuth::setCAPath
OAuth


Establece la ruta a CA y su información

OAuth::setAuthType
OAuth::setNonce
OAuth
PHP Manual

OAuth::setCAPath

(PECL OAuth >= 0.99.8)

OAuth::setCAPath — Establece la ruta a CA y su información

Descripción

public mixed OAuth::setCAPath ([ string $ca_path [, string $ca_info ]] )

Establece el Certificado de Autoridad (CA), tanto la ruta como la información.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

ca_path

La ruta CA a ser establecida.

ca_info

La ruta de información CA a ser establecido.

Valores devueltos

Devuelve TRUE al tener éxitos, o FALSE si tanto ca_path o ca_info son considerados como inválidos.

Historial de cambios

Versión | Descripción
1.0.0 | Antes devolvía NULL en caso de falla, en lugar de FALSE.

Ver también

  • OAuth::getCaPath() - Obtiene la información CA
OAuth::setAuthType
OAuth::setNonce
OAuth


Configura el nonce para las solicitudes posteriores

OAuth::setCAPath
OAuth::setRequestEngine
OAuth
PHP Manual

OAuth::setNonce

(PECL OAuth >= 0.99.1)

OAuth::setNonce — Configura el nonce para las solicitudes posteriores

Descripción

public mixed OAuth::setNonce ( string $nonce )

Establece el nonce para todas las solicitudes posteriores.

Parámetros

nonce

El valor para oauth_nonce.

Valores devueltos

Devuelve TRUE si tiene éxito, o FALSE si nonce es considerado como inválido.

Historial de cambios

Versión | Descripción
1.0.0 | Antes devolvía NULL en caso de falla, en lugar de FALSE.

Ver también

  • OAuth::setToken() - Establece el token y el secreto
  • OAuth::setAuthType() - Establece el tipo de autorización
  • OAuth::setVersion() - Configura la versión OAuth

OAuth::setCAPath
OAuth::setRequestEngine
OAuth


El propósito de setRequestEngine

OAuth::setNonce
OAuth::setRSACertificate
OAuth
PHP Manual

OAuth::setRequestEngine

(PECL OAuth >= 1.0.0)

OAuth::setRequestEngine — El propósito de setRequestEngine

Descripción

public void OAuth::setRequestEngine ( int $reqengine )

Establece el motor de peticiones, que estará enviando las peticiones HTTP.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

reqengine

El motor de peticiones deseado. Poner a OAUTH_REQENGINE_STREAMS para usar el Stream PHP, o OAUTH_REQENGINE_CURL para usar Curl.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Emite una excepción OAuthException si un motor de peticiones inválido es escogido.

Ejemplos

Ejemplo #1 Ejemplo de OAuth::setRequestEngine()

<?php
$consumer = new OAuth();

$consumer->setRequestEngine(OAUTH_REQENGINE_STREAMS);
?>

Ver también

  • Curl
  • PHP streams
  • OAuthException
OAuth::setNonce
OAuth::setRSACertificate
OAuth


establece el certificado RSA

OAuth::setRequestEngine
OAuth::setSSLChecks
OAuth
PHP Manual

OAuth::setRSACertificate

(PECL OAuth >= 1.0.0)

OAuth::setRSACertificate — establece el certificado RSA

Descripción

public mixed OAuth::setRSACertificate ( string $cert )

Establece el certificado RSA.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

cert

El certificado RSA.

Valores devueltos

Devuelve TRUE si tiene éxito, o FALSE al fallar (Ejemplo, el certificado RSA no se pudo procesar.)

Historial de cambios

Versión | Descripción
1.0.0 | Antes devolvía NULL en caso de falla, en lugar de FALSE.

Ejemplos

Ejemplo #1 Ejemplo de OAuth::setRsaCertificate()

<?php
$consume = new OAuth('1234', '', OAUTH_SIG_METHOD_RSASHA1);

$consume->setRSACertificate(file_get_contents('test.pem'));
?>

Ver también

  • OAuth::setCaPath() - Establece la ruta a CA y su información
OAuth::setRequestEngine
OAuth::setSSLChecks
OAuth


Ajustar controles específicos de SSL para las solicitudes

OAuth::setRSACertificate
OAuth::setTimestamp
OAuth
PHP Manual

OAuth::setSSLChecks

(No hay información de versión disponible, podría estar únicamente en SVN)

OAuth::setSSLChecks — Ajustar controles específicos de SSL para las solicitudes

Descripción

public bool OAuth::setSSLChecks ( int $sslcheck )

Ajusta controles específicos de SSL para las solicitudes.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

sslcheck

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

OAuth::setRSACertificate
OAuth::setTimestamp
OAuth


Establece el timestamp

OAuth::setSSLChecks
OAuth::setToken
OAuth
PHP Manual

OAuth::setTimestamp

(PECL OAuth >= 1.0.0)

OAuth::setTimestamp — Establece el timestamp

Descripción

public mixed OAuth::setTimestamp ( string $timestamp )

Establece el timestamp de OAuth para las subsecuentes peticiones.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

timestamp

El timestamp.

Valores devueltos

Devuelve TRUE, a menos que timestamp sea inválido, en cuyo caso FALSE será devuelto.

Historial de cambios

Versión | Descripción
1.0.0 | Antes devolvía NULL en caso de falla, en lugar de FALSE.

Ver también

  • OAuth::setNonce() - Configura el nonce para las solicitudes posteriores
OAuth::setSSLChecks
OAuth::setToken
OAuth


Establece el token y el secreto

OAuth::setTimestamp
OAuth::setVersion
OAuth
PHP Manual

OAuth::setToken

(PECL OAuth >= 0.99.1)

OAuth::setToken — Establece el token y el secreto

Descripción

public bool OAuth::setToken ( string $token , string $token_secret )

Establece el token y el secreto para las subsecuentes peticiones.

Parámetros

token

El token OAuth.

token_secret

El secreto OAuth.

Valores devueltos

TRUE

Ejemplos

Ejemplo #1 Ejemplo OAuth::setToken()

<?php
$oauth = new OAuth(OAUTH_CONSUMER_KEY,OAUTH_CONSUMER_SECRET);
$oauth->setToken("token","token-secret");
?>

OAuth::setTimestamp
OAuth::setVersion
OAuth


Configura la versión OAuth

OAuth::setToken
OAuthProvider
OAuth
PHP Manual

OAuth::setVersion

(PECL OAuth >= 0.99.1)

OAuth::setVersion — Configura la versión OAuth

Descripción

public bool OAuth::setVersion ( string $version )

Establece la versión OAuth para las subsecuentes peticiones

Parámetros

version

Versión OAuth, el valor por omisión es siempre "1.0"

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

OAuth::setToken
OAuthProvider
OAuth


Clase OAuthProvider

(PECL OAuth >= 1.0.0)

Introducción

Administra una clase OAuthProvider.

Vea también el tutorial externo llamado » Escribiendo un proveedor de servicios OAuth, Que tiene un enfoque práctico a la prestación de este servicio. También hay » Ejemplos de proveedor OAuth en la fuente de la extensión Oauth.

Sinopsis de la Clase

OAuthProvider {
/* Methods */
final public bool addRequiredParameter ( string $req_params )
public void callconsumerHandler ( void )
public void callTimestampNonceHandler ( void )
public void calltokenHandler ( void )
public void checkOAuthRequest ([ string $uri [, string $method ]] )
public __construct ([ array $params_array ] )
public void consumerHandler ( callable $callback_function )
final public static string generateToken ( int $size [, bool $strong = false ] )
public void is2LeggedEndpoint ( mixed $params_array )
public void isRequestTokenEndpoint ( bool $will_issue_request_token )
final public bool removeRequiredParameter ( string $req_params )
final public static string reportProblem ( string $oauthexception [, bool $send_headers = true ] )
final public bool setParam ( string $param_key [, mixed $param_val ] )
final public bool setRequestTokenPath ( string $path )
public void timestampNonceHandler ( callable $callback_function )
public void tokenHandler ( callable $callback_function )
}

Tabla de contenidos

  • OAuthProvider::addRequiredParameter — Agregar parámetros necesarios
  • OAuthProvider::callconsumerHandler — Llama al callback consumerNonceHandler
  • OAuthProvider::callTimestampNonceHandler — Llama al callback timestampNonceHandler
  • OAuthProvider::calltokenHandler — Llama al callback tokenNonceHandler
  • OAuthProvider::checkOAuthRequest — Revisa una petición OAuth
  • OAuthProvider::__construct — Construye un nuevo objeto OAuthProvider
  • OAuthProvider::consumerHandler — Establece el manejador callback consumerHandler
  • OAuthProvider::generateToken — Genera un token aleatorio
  • OAuthProvider::is2LeggedEndpoint — is2LeggedEndpoint
  • OAuthProvider::isRequestTokenEndpoint — Establece isRequestTokenEndpoint
  • OAuthProvider::removeRequiredParameter — Remueve un parámetro requerido
  • OAuthProvider::reportProblem — Reportar un problema
  • OAuthProvider::setParam — Establece un parámetro
  • OAuthProvider::setRequestTokenPath — Establece la ruta de petición del token
  • OAuthProvider::timestampNonceHandler — Establece el callback timestampNonceHandler
  • OAuthProvider::tokenHandler — Establece el manejador callback de tokenHandler
OAuth::setVersion
OAuthProvider::addRequiredParameter
OAuth


Agregar parámetros necesarios

OAuthProvider
OAuthProvider::callconsumerHandler
OAuthProvider
PHP Manual

OAuthProvider::addRequiredParameter

(PECL OAuth >= 1.0.0)

OAuthProvider::addRequiredParameter — Agregar parámetros necesarios

Descripción

final public bool OAuthProvider::addRequiredParameter ( string $req_params )

Agregar parámetros requeridos por el proveedor OAuth.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

req_params

Los parámetros requeridos.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • OAuthProvider::removeRequiredParameter() - Remueve un parámetro requerido
OAuthProvider
OAuthProvider::callconsumerHandler
OAuthProvider


Llama al callback consumerNonceHandler

OAuthProvider::addRequiredParameter
OAuthProvider::callTimestampNonceHandler
OAuthProvider
PHP Manual

OAuthProvider::callconsumerHandler

(No hay información de versión disponible, podría estar únicamente en SVN)

OAuthProvider::callconsumerHandler — Llama al callback consumerNonceHandler

Descripción

public void OAuthProvider::callconsumerHandler ( void )

Llama al callback del manejador del consumidor registrado, la cual es establecida con OAuthProvider::consumerHandler().

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Muestra un error E_ERROR level si la llamada de retorno no puede ser llamada, o no se especificó.

Ver también

  • OAuthProvider::consumerHandler() - Establece el manejador callback consumerHandler
OAuthProvider::addRequiredParameter
OAuthProvider::callTimestampNonceHandler
OAuthProvider


Llama al callback timestampNonceHandler

OAuthProvider::callconsumerHandler
OAuthProvider::calltokenHandler
OAuthProvider
PHP Manual

OAuthProvider::callTimestampNonceHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::callTimestampNonceHandler — Llama al callback timestampNonceHandler

Descripción

public void OAuthProvider::callTimestampNonceHandler ( void )

Llama a la función callback del timestamp registrado, que fue establecido con OAuthProvider::timestampNonceHandler().

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Muestra un error E_ERROR level si la llamada de retorno no puede ser llamada, o no se especificó.

Ver también

  • OAuthProvider::timestampNonceHandler() - Establece el callback timestampNonceHandler
OAuthProvider::callconsumerHandler
OAuthProvider::calltokenHandler
OAuthProvider


Llama al callback tokenNonceHandler

OAuthProvider::callTimestampNonceHandler
OAuthProvider::checkOAuthRequest
OAuthProvider
PHP Manual

OAuthProvider::calltokenHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::calltokenHandler — Llama al callback tokenNonceHandler

Descripción

public void OAuthProvider::calltokenHandler ( void )

Llama a la función callback del token registrado, que fue establecido con OAuthProvider::tokenHandler().

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Muestra un error E_ERROR level si la llamada de retorno no puede ser llamada, o no se especificó.

Ver también

  • OAuthProvider::tokenHandler() - Establece el manejador callback de tokenHandler
OAuthProvider::callTimestampNonceHandler
OAuthProvider::checkOAuthRequest
OAuthProvider


Revisa una petición OAuth

OAuthProvider::calltokenHandler
OAuthProvider::__construct
OAuthProvider
PHP Manual

OAuthProvider::checkOAuthRequest

(PECL OAuth >= 1.0.0)

OAuthProvider::checkOAuthRequest — Revisa una petición OAuth

Descripción

public void OAuthProvider::checkOAuthRequest ([ string $uri [, string $method ]] )

Revisa una petición OAuth.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

uri

La URI opcional, o punto final.

method

El métodoHTTP. opcionalmente pasar una de las OAUTH_HTTP_METHOD_* Constantes OAuth.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Emite un error E_ERROR si el método HTTP no puede ser detectado.

Ver también

  • OAuthProvider::reportProblem() - Reportar un problema
OAuthProvider::calltokenHandler
OAuthProvider::__construct
OAuthProvider


Construye un nuevo objeto OAuthProvider

OAuthProvider::checkOAuthRequest
OAuthProvider::consumerHandler
OAuthProvider
PHP Manual

OAuthProvider::__construct

(PECL OAuth >= 1.0.0)

OAuthProvider::__construct — Construye un nuevo objeto OAuthProvider

Descripción

public OAuthProvider::__construct ([ array $params_array ] )

Inicia un nuevo object OAuthProvider .

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

params_array

La configuración de estos parámetros opcionales se limita al CLI SAPI.

Valores devueltos

Un object OAuthProvider .

Ejemplos

Ejemplo #1 Ejemplo de OAuthProvider::__construct()

<?php
try {

    $op = new OAuthProvider();

    // Usa funciones callback definidas por el usuario
    $op->consumerHandler(array($this, 'lookupConsumer'));
    $op->timestampNonceHandler(array($this, 'timestampNonceChecker'));
    $op->tokenHandler(array($this, 'myTokenHandler'));

    // Ignora el parámetro foo_uri
    $op->setParam('foo_uri', NULL);

    // No es necesario el token para este punto final
    $op->setRequestTokenPath('/v1/oauth/request_token');

    $op->checkOAuthRequest();

} catch (OAuthException $e) {

    echo OAuthProvider::reportProblem($e);
}
?>

Ver también

  • OAuthProvider::setParam() - Establece un parámetro
OAuthProvider::checkOAuthRequest
OAuthProvider::consumerHandler
OAuthProvider


Establece el manejador callback consumerHandler

OAuthProvider::__construct
OAuthProvider::generateToken
OAuthProvider
PHP Manual

OAuthProvider::consumerHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::consumerHandler — Establece el manejador callback consumerHandler

Descripción

public void OAuthProvider::consumerHandler ( callable $callback_function )

Establece el manejador callback, que más tarde será llamado con OAuthProvider::callConsumerHandler().

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

callback_function

El nombre de la función callable.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo del callback OAuthProvider::consumerHandler()

<?php
function lookupConsumer($provider) {

    if ($provider->consumer_key === 'unknown') {
        return OAUTH_CONSUMER_KEY_UNKNOWN;
    } else if($provider->consumer_key == 'blacklisted' || $provider->consumer_key === 'throttled') {
        return OAUTH_CONSUMER_KEY_REFUSED;
    }

    $provider->consumer_secret = "the_consumers_secret";

    return OAUTH_OK;
}
?>

Ver también

  • OAuthProvider::callConsumerHandler() - Llama al callback consumerNonceHandler
OAuthProvider::__construct
OAuthProvider::generateToken
OAuthProvider


Genera un token aleatorio

OAuthProvider::consumerHandler
OAuthProvider::is2LeggedEndpoint
OAuthProvider
PHP Manual

OAuthProvider::generateToken

(PECL OAuth >= 1.0.0)

OAuthProvider::generateToken — Genera un token aleatorio

Descripción

final public static string OAuthProvider::generateToken ( int $size [, bool $strong = false ] )

Genera una string de bytes pseudo-aleatorios.

Parámetros

size

La longitud The desired token length, in terms of bytes.

strong

Establecer a TRUE significa que /dev/random será usada para la entropía, de lo contrario /dev/urandom será usado. Este parámetro es ignorado en Windows.

Valores devueltos

El token generado, como un string de bytes.

Errores/Excepciones

Si el parámetro strong es TRUE, entonces un error E_WARNING será emitido cuando la implementación rand() sea usada para rellenar los restantes bytes aleatorios (Ejemplo, cuando no suficientes datos aleatorios fueron encontrados, inicialmente).

Ejemplos

Ejemplo #1 Ejemplo de OAuthProvider::generateToken()

<?php
$p = new OAuthProvider();

$t = $p->generateToken(4);

echo strlen($t),  PHP_EOL;
echo bin2hex($t), PHP_EOL;

?>

El resultado del ejemplo sería algo similar a:

4
b6a82c27

Notas

Nota:

Cuando no suficientes datos aleatorios están disponibles para el sistema, esta función llenará los restantes bytes aleatorios usando la implementación interna de PHP rand().

Ver también

  • openssl_random_pseudo_bytes() - Genera una cadena de bytes pseudo-aleatoria
  • mcrypt_create_iv() - Crea un vector de inicialización (IV) desde una fuente aleatoria
OAuthProvider::consumerHandler
OAuthProvider::is2LeggedEndpoint
OAuthProvider


is2LeggedEndpoint

OAuthProvider::generateToken
OAuthProvider::isRequestTokenEndpoint
OAuthProvider
PHP Manual

OAuthProvider::is2LeggedEndpoint

(PECL OAuth >= 1.0.0)

OAuthProvider::is2LeggedEndpoint — is2LeggedEndpoint

Descripción

public void OAuthProvider::is2LeggedEndpoint ( mixed $params_array )

El flujo de 2-piernas, o la suscripción de petición. No requiere token.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

params_array

Valores devueltos

An OAuthProvider object.

Ejemplos

Ejemplo #1 Ejemplo de OAuthProvider::is2LeggedEndpoint()

<?php

$provider = new OAuthProvider();

$provider->is2LeggedEndpoint(true);

?>

Ver también

  • OAuthProvider::__construct() - Construye un nuevo objeto OAuthProvider
OAuthProvider::generateToken
OAuthProvider::isRequestTokenEndpoint
OAuthProvider


Establece isRequestTokenEndpoint

OAuthProvider::is2LeggedEndpoint
OAuthProvider::removeRequiredParameter
OAuthProvider
PHP Manual

OAuthProvider::isRequestTokenEndpoint

(PECL OAuth >= 1.0.0)

OAuthProvider::isRequestTokenEndpoint — Establece isRequestTokenEndpoint

Descripción

public void OAuthProvider::isRequestTokenEndpoint ( bool $will_issue_request_token )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

will_issue_request_token

Establece si emitirá o no una emisión de petición de token, determinando si OAuthProvider::tokenHandler() necesita ser llamado.

Valores devueltos

No devuelve ningún valor.

Ver también

  • OAuthProvider::setRequestTokenPath() - Establece la ruta de petición del token
  • OAuthProvider::reportProblem() - Reportar un problema
OAuthProvider::is2LeggedEndpoint
OAuthProvider::removeRequiredParameter
OAuthProvider


Remueve un parámetro requerido

OAuthProvider::isRequestTokenEndpoint
OAuthProvider::reportProblem
OAuthProvider
PHP Manual

OAuthProvider::removeRequiredParameter

(PECL OAuth >= 1.0.0)

OAuthProvider::removeRequiredParameter — Remueve un parámetro requerido

Descripción

final public bool OAuthProvider::removeRequiredParameter ( string $req_params )

Remueve un parámetro requerido.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

req_params

El parámetro requerido a ser removido.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • OAuthProvider::setParam() - Establece un parámetro
  • OAuthProvider::addRequiredParameter() - Agregar parámetros necesarios
OAuthProvider::isRequestTokenEndpoint
OAuthProvider::reportProblem
OAuthProvider


Reportar un problema

OAuthProvider::removeRequiredParameter
OAuthProvider::setParam
OAuthProvider
PHP Manual

OAuthProvider::reportProblem

(PECL OAuth >= 1.0.0)

OAuthProvider::reportProblem — Reportar un problema

Descripción

final public static string OAuthProvider::reportProblem ( string $oauthexception [, bool $send_headers = true ] )

Sucede en un problema como OAuthException, con posibles problemas listados en la sección OAuth constants.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

oauthexception

La OAuthException.

Valores devueltos

No devuelve ningún valor.

Ver también

  • OAuthProvider::checkOAuthRequest() - Revisa una petición OAuth
  • OAuthProvider::isRequestTokenEndpoint() - Establece isRequestTokenEndpoint
OAuthProvider::removeRequiredParameter
OAuthProvider::setParam
OAuthProvider


Establece un parámetro

OAuthProvider::reportProblem
OAuthProvider::setRequestTokenPath
OAuthProvider
PHP Manual

OAuthProvider::setParam

(PECL OAuth >= 1.0.0)

OAuthProvider::setParam — Establece un parámetro

Descripción

final public bool OAuthProvider::setParam ( string $param_key [, mixed $param_val ] )

Establece un parámetro.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

param_key

La clave del parámetro.

param_val

El valor opcional del parámetro.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • OAuthProvider::addRequiredParameter() - Agregar parámetros necesarios
OAuthProvider::reportProblem
OAuthProvider::setRequestTokenPath
OAuthProvider


Establece la ruta de petición del token

OAuthProvider::setParam
OAuthProvider::timestampNonceHandler
OAuthProvider
PHP Manual

OAuthProvider::setRequestTokenPath

(PECL OAuth >= 1.0.0)

OAuthProvider::setRequestTokenPath — Establece la ruta de petición del token

Descripción

final public bool OAuthProvider::setRequestTokenPath ( string $path )

Establece la ruta de petición del token.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

path

La ruta.

Valores devueltos

TRUE

Ver también

  • OAuthProvider::tokenHandler() - Establece el manejador callback de tokenHandler
OAuthProvider::setParam
OAuthProvider::timestampNonceHandler
OAuthProvider


Establece el callback timestampNonceHandler

OAuthProvider::setRequestTokenPath
OAuthProvider::tokenHandler
OAuthProvider
PHP Manual

OAuthProvider::timestampNonceHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::timestampNonceHandler — Establece el callback timestampNonceHandler

Descripción

public void OAuthProvider::timestampNonceHandler ( callable $callback_function )

Establece el manejador callback timestamp nonce, el cual será llamado luego con OAuthProvider::callTimestampNonceHandler(). Errores relacionados con timestamp/nonce son lanzados a este callback.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

callback_function

El nombre de la función callable.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de OAuthProvider::timestampNonceHandler()

<?php
function timestampNonceChecker($provider) {

    if ($provider->nonce === 'bad') {
        return OAUTH_BAD_NONCE;
    } elseif ($provider->timestamp == '0') {
        return OAUTH_BAD_TIMESTAMP;
    }

    return OAUTH_OK;
}
?>

Ver también

  • OAuthProvider::callTimestampNonceHandler() - Llama al callback timestampNonceHandler
OAuthProvider::setRequestTokenPath
OAuthProvider::tokenHandler
OAuthProvider


Establece el manejador callback de tokenHandler

OAuthProvider::timestampNonceHandler
OAuthException
OAuthProvider
PHP Manual

OAuthProvider::tokenHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::tokenHandler — Establece el manejador callback de tokenHandler

Descripción

public void OAuthProvider::tokenHandler ( callable $callback_function )

Establece el token del callback, que será llamado después con OAuthProvider::callTokenHandler().

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

callback_function

El nombre de la función callable.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo del callback OAuthProvider::tokenHandler()

<?php
function tokenHandler($provider) {

    if ($provider->token === 'rejected') {
        return OAUTH_TOKEN_REJECTED;
    } elseif ($provider->token === 'revoked') {
        return OAUTH_TOKEN_REVOKED;
    }

    $provider->token_secret = "the_tokens_secret";
    return OAUTH_OK;
}
?>

Ver también

  • OAuthProvider::callTokenHandler() - Llama al callback tokenNonceHandler
OAuthProvider::timestampNonceHandler
OAuthException
OAuthProvider


Clase OAuthException

(PECL OAuth >= 0.99.1)

Introducción

Esta excepción es lanzada cuando un error excepcional durante el uso de la extensión OAuth y contiene información útil de depuración.

Sinopsis de la Clase

OAuthException extends Exception {
/* Propiedades */
public $lastResponse ;
public $debugInfo ;
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Propiedades

lastResponse

La respuesta de la excepción ocurrida, si la hubiera

debugInfo

OAuthProvider::tokenHandler
SCA
OAuth


SCA

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • La estructura de un Componente de Servicio
    • Obtener un delegado para otro Componente de Servicio
    • Invocar a otro Componente de Servicio
    • Localizar e invocar a servicios desde un script que no es un Componente SCA
    • Exponer un Componente de Servicio como un servicio web
    • Implementar un componente SCA
    • Obtener el WSDL para un componente SCA que ofrece un Servicio como servicio web
    • Comprender cómo se genera el WSDL
    • Trabajar con estructuras de datos
    • Manejo de errores
  • Funciones de SCA
    • SCA::createDataObject — Crear un SDO
    • SCA::getService — Obtener un delegado para un servicio
    • SCA_LocalProxy::createDataObject — Crear un SDO
    • SCA_SoapProxy::createDataObject — Crear un SDO
OAuthException
Introducción
Servicios web


Introducción

Advertencia

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombres de sus funciones y todo lo documentado sobre esta extensión, puede cambiar en una futura edición de PHP sin previo aviso. El uso de esta extensión queda bajo su propia responsabilidad.

SCA para PHP posibilita a un programador de PHP para escribir componentes reusables, que pueden ser invocados de varias formas, con una interfaz idéntica y con un mínimo de preocupación. Por ahora, los componentes se pueden llamar unos a otros localmente o mediante servicios web, pero en el futuro se espera que sean posibles otras formas. Proporciona al programador una manera de realizar esto, la cual parecerá tan natural como sea posible en PHP.

Los componentes SCA usan anotaciones estilo phpDocumentor (véase http://www.phpdoc.org/) para declarar dependencias sobre otros componentes SCA o servicios Web. El tiempo de ejecución de SCA para PHP resuelve estas dependiencias en tiempo de ejecución en nombre de los componentes, y así permite que el programador de PHP se centre en la lógica de negocio en vez de ubicar y obtener referencias a dependencias.

El modelo de programcación de SCA para PHP se puede ampliar para admitir varios tipos de servicios, como REST y Atompub. Sin embargo, los sevicios web (más exactamente, definidos con WSDL, servicios SOAP/HTTP), son los únicos tipos actualmente especificados.

Los componentes también usan anotaciones para definir la interfaz que exponen como servicio. El tiempo de ejecución de SCA para PHP automáticamete generará WSDL desde estas anotaciones, por lo que un componente SCA se expone con facilidad como un servicio web. Estas anotaciones son una extensión natural de las proporcionadas por phpDocumentor. Implementar un servicio web puede ser tan simple como colocar un componente de PHP bajo la raíz de documentos de un servidor web.

Los componentes también usan anotaciones para especificar estructuras de datos (expresadas usandos tipos complejos de esquemas XML) que son luego manejadas usando Objetos de Datos de Servicio (SDOs).

Un script de PHP que no es un componente SCA y que no contiene anotaciones puede usar los servicios de un componente SCA. Un script o componente de PHP puede realizar llamadas a un servicio web que no sea un componente SCA, pero usando el mismo sistema de llamadas o anotaciones para obtener una referencia.

Primero se mostrará un componente SCA sencillo, ConvertedStockQuote, que ilustra muchas de las características de SCA para PHP. Tiene un método, getQuote(), que, dada una cinta de cotizaciones, obtiene una cotización para tal acción, convertida a la moneda dada. Se usará este ejemplo como base para explicar SCA para PHP a lo largo del resto de este documento.

Ejemplo #1 Un componente SCA sencillo

<?php

include "SCA/SCA.php";

/**
 * Calcular un precio de acción para una clave de pizarra dada en una moneda dada.
 *
 * @service
 * @binding.soap
 */
class ConvertedStockQuote {

    /**
     * El servicio de tasa de cambio de moneda a usar.
     *
     * @reference
     * @binding.php ../ExchangeRate/ExchangeRate.php
     */
    public $exchange_rate;

    /**
     * El servicio de cotización de acciones a usar.
     *
     * @reference
     * @binding.soap ../StockQuote/StockQuote.wsdl
     */
    public $stock_quote;

    /**
     * Obtener una cotización de acción para una clave de pizarra dada en una moneda dada.
     *
     * @param string $ticker La clave de pizarra.
     * @param string $currency La moneda al que converitr el valor.
     * @return float El valor de la acción es la moneda dada.
     */
    function getQuote($ticker, $currency)
    {
        $quote  = $this->stock_quote->getQuote($ticker);
        $rate   = $this->exchange_rate->getRate($currency);
        return  $rate * $quote;
    }
}
?>

En este ejemplo se ve que un componente SCA está implementado por un script que contien una clase de PHP y que incluye SCA.php. La clase contiene una mezcla de lógica de negocio y referencias a otros componentes o servicios. En el método ilustrado getQuote() existe solamente lógica de negocio, aunque cuenta con que las variables de instancia $stock_quote y $exchange_rate hayan sido inicializadas. Estas recurren a otros dos componentes que serán inicializados en el tiempo de ejecución de SCA con delegados para estos dos servicios, siempre que se ejecute este componente. Las anotaciones para estos dos servicios muestran un compoente local, que será invocado dentro del mismo periodo de ejecución de PHP, y un componente remoto que será invocado mediante una petición SOAP. Este componente también expone el método getQuote() localmente y como servicio web, por lo que, por turnos, pueden ser invocados tanto local como remotamente.

SCA
Instalación/Configuración
SCA


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
SCA


Requerimientos

Si se quiere utilizar SCA para consumir o producir servicios Web, es necesario PHP 5.2.0 o posterior, construido con la extensión soap habilitada. Si sólo se quieren utilizar componentes locales y no desean usar los enlaces de servicio Web, esta versión de SCA para PHP también se ejecutará con PHP 5.1.6.

SCA viene junto con SDO en un paquete combinado de PECL. Véase http://www.php.net/sdo#sdo.installation para instalar el paquete SCA_SDO desde PECL. El código de SCA debe estar en la ruta de inclusión de la instalación de PHP, por ejemplo, si está instalado como /usr/local/lib/php/SCA, la directiva include_path debe incluir /usr/local/lib/php

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/sca.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Ejemplos
SCA


Ejemplos

Tabla de contenidos

  • La estructura de un Componente de Servicio
  • Obtener un delegado para otro Componente de Servicio
  • Invocar a otro Componente de Servicio
  • Localizar e invocar a servicios desde un script que no es un Componente SCA
  • Exponer un Componente de Servicio como un servicio web
  • Implementar un componente SCA
  • Obtener el WSDL para un componente SCA que ofrece un Servicio como servicio web
  • Comprender cómo se genera el WSDL
  • Trabajar con estructuras de datos
  • Manejo de errores

Los ejemplos de las secciones subsiguientes ilustran los siguientes aspectos de SCA para PHP:

  • Cómo se usan las anotaciones de PHP para definir clases de PHP como componentes SCA, y cómo se usan las anotaciones para definir los servicios.

  • Cómo un componente SCA puede ser expuesto como un servicio web.

  • Cómo un componente SCA puede consumir un servicio web, ya sea proporcionado por otro componente SCA o por algún otro servicio que no sepa nada de SCA.

  • Cómo un componente SCA puede llamar a otro componete SCA localmente (dentro del mismo proceso en la misma plica de llamadas).

  • Cómo un script cliente que no es un componente SCA puede usar la llamada a getService para optener un delegado para un componente SCA.

  • Cómo las estructuras de datos, tales como Direcciones o Pedidos de Compra, están represetadas como Objetos de Datos de Servicio (SDOs), y son manejadas.

  • Cómo se implementan los componentes SCA, y en particular cómo y cuando se genera WSDL para un servicio.

  • Cómo los parmétros son siempre pasados por valor (y no por referencia) entre componentes, incluso cuando las llamadas son locales. Esto aseguna que la semántica de una llamada no cambie según la ubicación de un componente.

  • Cómo están soportados los parámetros posicionales para un servicio, incluso cuando el WSDL es un documento literal envuelto, y naturalmente admite únicamente parámetros con nombre.

  • Cómo se manejan las excepciones de negocio y en tiempo de ejecución.

Constantes predefinidas
La estructura de un Componente de Servicio
SCA


La estructura de un Componente de Servicio

Un componente de servicio es implementado por una clase. Para identificarlo como un componente de servicio, contiente una anotación @service. El tiempo de ejecución d SCA usará el nombre del fichero del script para determinar el nombre del componente, por convención. La clase y el fichero del script deben, por lo tanto, compartir el mismo nombre.

Los componentes de SCA para PHP siempre exponen un servicio, y no exite otra forma de invocar a un componente sino que sea llamado como un resultado de una petición de servidio web, o llamado directamente desde otro componente o desde un script. Por este motivo, un componente SCA de PHP válido siempre contienen una anotación @service y al menos un método público.

Cada componente SCA requiere que el script SCA.php esté incluido. Además de contener la definición de la clase SCA, el script contiene código de PHP que será ejecutado siempre que el script sea invocado, y que será responsable de hacer que el componente se comporte como sea neceario.

Precaución

Es muy importante que, si el fichero contiene otras inclusiones, estas vengan antes de la inclusión de SCA.php. Si hubieran inclusiones después de la del SCA.php, no serán procesadas cuando el tiempo de ejecución de SCA ejecute la clase.

El ejemplo de abajo ilustra esta estructura en general.

Ejemplo #1 La estructura de un componente SCA para PHP

<?php

// cualquier inclusión

include "SCA/SCA.php";

/**
 * @service
 */

class ConvertedStockQuote {

       // variables de instancia, lógica de negocio, incluyendo al menos un método público

}
?>

Ejemplos
Obtener un delegado para otro Componente de Servicio
Ejemplos


Obtener un delegado para otro Componente de Servicio

Un componente SCA puede llamar al servicio proporcionado por otro componente SCA. El servicio que proporciona un componente está hecho de todos sus métodos públicos. SCA para PHP actualemnte proporciona dos maneras de que un componente llame a otro: localmente (esto es, dentro del mismo tiempo de ejecución de PHP, y sobre la misma pila de llamadas) o remotamente si el componente llamador expone una vinculación de servicio web.

Para que un componente llame a otro, el llamador necesita un delgado para el componente llamado. Este delegado es proporcionado normalmente por una variable de instancia en el componente llamador, aunque los delegados también se pueden obtener con la llamada a SCA::getService(), como se verá más tarde. Cuando se construye un componente, los delegados son construidos para cualquier variable de instancia que recurra a otro componente, ya que estos delegados están "inyectados" en las variables de instancia. Los delegados se usan siempre, ya sea si el componente es local o remoto, para proporcinar un comportamiento de llamada idéntico entre llamadas remotas y locales (por ejemplo, las llamadas locales se hacen siempre para pasar datos por valor). Los delegados saben cómo localizar el componente requerido y pasar las llamadas realizadas sobre ellos.

Las variables de instancia, que tienen por objeto mantener delgeados para servicio, están indicados por dos anotaciones estilo PHPDocumentor, @reference y @binding. Ambas están ubicadas en la sección de documentación de una variable de instancia de clase, como se muestra en el código de abajo.

La anotación @reference antes de una variable de instancia indica que dicha variable se va a inicializar con un delegado a un componente.

La anotación @binding posee dos formas: @binding.php y @binding.soap, e indica qu el delegado es para un componente local o para un servicio web, respectivamente. Para ambas, @binding.php y @binding.soap, la anotación proporciona una URI objetivo.

Por el momento, con el método basado en anotaciones de especificación de dependencias, la única forma de alterar el objetivo planeado de una referencia es alterar la anotación dentro del componente.

En el ejemplo de ConvertedStockQuote, la variable de instancia $exchange_rate estará inicializada con un delegado para el componente local ExchangeRate siempre que se construya una instancia de ConvertedStockQuote.

Ejemplo #1 Obtener un delegado para unca clase local de PHP

<?php
   /**
     * El servicio de tipo de cambio monetario a usar.
     *
     * @reference
     * @binding.php ../ExchangeRate/ExchangeRate.php
     */
    public $exchange_rate;
?>

Para @binding.php, la URI identifica la ubicación del script que contiene la implementación del componente. El componente será invocado localmente. El servicio proporcionado es el conjunto de métodos públicos del componente. La URI debe ser un nombre de ruta simple, ya sea absoluta o relativa. El componente se cargará con la directiva include de PHP, después de comprobar si ya está cargado con class_exists(). Si la URI es una ruta relativa, se resuelve relativa al componente que contiene la anotación. Observe que esto es diferente del comportamiento normal de PHP, donde los scripts deberían buscar por el include_path de PHP. Esto tiene por objeto proporcionar independencia de ubicaciones para referencias de componentes cruzadas.

Si este servicio ExchangeRate fuera remoto y fuese llamad como un servicio web, solamente cambia la línea @binding. En lugar del proporcionar la ubicación de una clase de PHP, proporciona la ubicación del WSDL que describe el servicio web. En el componente del ejemplo, esto está ilustrado por la segunda referencia:

Ejemplo #2 Obtener un delgado para un servicio web

<?php
/**
     * El servicio de cotización de acciones a usar.
     *
     * @reference
     * @binding.soap ../StockQuote/StockQuote.wsdl
     */
    public $stock_quote;
?>

El componente StockQuote será invocado mediante una petición de servicio web. En este caso la URI para el WSDL puede ser un nombre de ruta sencillo, o podría contener una envoltura de PHP y comenzar con, por ejemplo, file:// o http://. En el caso que sea un nombre de ruta sencillo, puede ser absoluto o relativo, y si es relativo será resulto relativo al componente que contiene la anotación. Observe que este comportamiento es como el de @binding.php, pero diferente del comportamiento noraml de PHP donde se buscaría el fichero relativo al directorio de trabajo actual de PHP, el cual sería normalmente al ubicación del primer script a ser llamado. Este comportamiento tiene como objetivo otorgar consistencia a través de las diferentes vinculaciones y proporcionar algo de independencia de ubicación para referencias entre componentes.

La estructura de un Componente de Servicio
Invocar a otro Componente de Servicio
Ejemplos


Invocar a otro Componente de Servicio

El ejemplo ConvertedStockQuote también invoca a los delegados para los dos componentes a los que hace referencia.

Ejemplo #1 Llamar a servicios

<?php
$quote  = $this->stock_quote->getQuote($ticker);
$rate   = $this->exchange_rate->getRate($currency);
?>

La llamada al servicio StockQuote es una llamada a un servicio local; la llamada al servicio ExchangeRate es una llamada a un servicio remoto. Observe que las llamadas se realizan de la misma manera, sin tener en cuenta si la llamada es a un servicio local o a uno remoto.

Los delegados que han sido inyectados se aseguran de que la manera de llamar a los componentes y el comportamiento sea el mismo, ya se trate de un servicio local o de uno remoto, por lo que los componentes no dependen de si una llamada es a un servicio local o a uno remoto. Por ejemplo, el delegado para un servicio local copia los argumentos y únicamente pasa esas copias, para asegurarse de que las llamadas sean por paso por valor, como lo harían para una llamada remota. También, el delegado para un servicio remoto toma los argumentos desde una lista de parámetros posicionales y se asegura de que están empaquetados apropiadamente en una petición SOAP y vueltos a convertir a una lista de parámetros posicionales al final de todo.

En el ejemplo de arriba, $ticker y $currency son claramente tipos escalares de PHP. Los componentes puede pasar los tipos escalares de PHP string, integer, float y boolean, pero las estructuras de datos sobre llamadas a servicios son siempre pasadas como Objetos de Datos de Servicio (SDOs). En un sección posterior se describe cómo un componente puede crear un SDO y pasarlo a una llamada a un servicio local o web, o cómo un componente puede crear un SDO para devolverlo. La documentación de proyecto SDO de PHP describe cómo trabajar con las APIs de SDO (véanse las páginas de SDO).

Obtener un delegado para otro Componente de Servicio
Localizar e invocar a servicios desde un script que no es un Componente SCA
Ejemplos


Localizar e invocar a servicios desde un script que no es un Componente SCA

Los componentes SCA obtienen delegados para otros componentes o servicios como variables de instancia anotadas con @reference, pero esto no es posible para un script que no sea también un componente. Un script cliente que no es un componente debe usar el método estático SCA::getService() para obtener un delegado para un servicio, ya sea local o remoto. El método getService() toma una URI como argumento. Normalmente, esta es la ubicación de un script de PHP local que contiene un componente, o un fichero WSDL, y se usa exactamente de la misma manera que los objetivos de las anotaciones @binding descritas en la sección anterior: esto es, las URIs relativas se resuelven en la ubicación del script cliente y no en el include_path de PHP o en el directorio de trabajo actual.

Por ejemplo, un script que necesite obetener delegados para los servicios ExchangeRate y StockQuote, aunque no un compoentne, usarían el método getService() como sigue:

Ejemplo #1 Obtener un delegado usando getService

<?php
$exchange_rate = SCA::getService('../ExchangeRate/ExchangeRate.php');
$stock_quote   = SCA::getService('../StockQuote/StockQuote.wsdl');
?>

Los métodos en servicios se pueden invocar entonces en el delegado devuelto, tal como se puede en un componente.

Ejemplo #2 Realizar llamadas en el componente

<?php
$quote  = $stock_quote->getQuote($ticker);
$rate   = $exchange_rate->getRate($currency);
?>

Invocar a otro Componente de Servicio
Exponer un Componente de Servicio como un servicio web
Ejemplos


Exponer un Componente de Servicio como un servicio web

SCA para PHP puede generar WSDL desde anotaciones dentro de un componente de servicio, por lo que puede ser fácilmente implementado y expuesto como un servicio web. Para porporcionar a SCA la información que necesita para generar el WSDL, es necesario añadir la anotación @binding.soap bajo la anotación @service, y especificar los parámetros y devolver valores de los métodos usando las anotaciones @param y @return. Estas anotaciones serán leídas cuando el WSDL sea generado, y el orden y tipo de los parámetros determinará el contenido de la sección <schema> del WSDL.

SCA para PHP siempre genera WSDL document/literal envueltos para componentes que exponen un servicio web. Observe que esto no hace que los componentes dejen de consumir servicios web que no son componentes SCA y que estén documentados con WSDL escrito en un estilo diferente.

Los tipos escalares que puede usarse en la anotación @param son los cuatro tipos escalares comunes de PHP: boolean, integer, float y string. Simplemente se hacen corresponder con los tipos del esquema XML del mismo nombre en el WSDL. El ejemplo de abajo, que es una implementación trivial del servicio StockQuote que el componente ConvertedStockQuote llama, ilustra los tipos string y float.

Ejemplo #1 El servicio StockQuote

<?php

include "SCA/SCA.php";

/**
 * Implementación scaffold para un servicio web StockQuote remoto.
 *
 * @service
 * @binding.soap
 *
 */
class StockQuote {

    /**
     * Obtener una cotización de la acción de una clave de pizarra dada.
     *
     * @param string $ticker La clave de pizarra.
     * @return float La cotización de la acción.
     */
    function getQuote($ticker) {
        return 80.9;
  }
}
?>

Se generará WSDL muy parecido a lo siguiente para este servicio (aunque con una ubicación para el servicio distinta de 'localhost', probablemente):

Ejemplo #2 WSDL generado

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xsi:type="tDefinitions"
    xmlns:tns2="http://StockQuote" xmlns:tns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns3="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://StockQuote">
  <types>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
      targetNamespace="http://StockQuote">
      <xs:element name="getQuote">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ticker" type="xs:string"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="getQuoteResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="getQuoteReturn" type="xs:float"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:schema>
  </types>

  <message name="getQuoteRequest">
    <part name="getQuoteRequest" element="tns2:getQuote"/>
  </message>
  <message name="getQuoteResponse">
    <part name="return" element="tns2:getQuoteResponse"/>
  </message>
  <portType name="StockQuotePortType">
    <operation name="getQuote">
      <input message="tns2:getQuoteRequest"/>
      <output message="tns2:getQuoteResponse"/>
    </operation>
  </portType>
  <binding name="StockQuoteBinding" type="tns2:StockQuotePortType">
    <operation name="getQuote">
      <input>
        <tns3:body xsi:type="tBody" use="literal"/>
      </input>
      <output>
        <tns3:body xsi:type="tBody" use="literal"/>
      </output>
      <tns3:operation xsi:type="tOperation" soapAction=""/>
    </operation>
    <tns3:binding xsi:type="tBinding" transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
  </binding>
  <service name="StockQuoteService">
    <port name="StockQuotePort" binding="tns2:StockQuoteBinding">
      <tns3:address xsi:type="tAddress" location="http://localhost/StockQuote/StockQuote.php"/>
    </port>
  </service>
</definitions>

<!-- this line identifies this file as WSDL generated by SCA for PHP. Do not remove -->

Localizar e invocar a servicios desde un script que no es un Componente SCA
Implementar un componente SCA
Ejemplos


Implementar un componente SCA

No son necesarios pasos especiales para implementar un componente SCA para PHP. Es suficiente colocar el script de PHP del componente en su lugar adecuado bajo la raíz de documentos del servidor web, al igual que cualquier otro script de PHP. Es la línea ejecutable SCA::initComponent() dentro de cada componente la que será ejecutada siempre que el script sea invocado, y la que será responsable de hacer que el comoenente responda de la forma adecuada a las llamadas a los servicios web, llamadas locales, o peticiones de WSDL.

Exponer un Componente de Servicio como un servicio web
Obtener el WSDL para un componente SCA que ofrece un Servicio como servicio web
Ejemplos


Obtener el WSDL para un componente SCA que ofrece un Servicio como servicio web

Los componentes SCA que exponen una interfaz de servicio web (esto es, tienen una anotación @binding.soap) devolverán su definición WSDL en respuesta a una petición HTTP con un parámetro 'get' de "wsdl". La forma usual de obtener esto es con "?wsdl" al final de una URL. El ejemplo de abajo utiliza file_get_contents() para obtener WSDL desde un servicio y escribirlo a un fichero temporal antes de obtener un delegado para el servicio de la manera usual. Por supuesto, se podría también obtener el WSDL en un navegador, o mediante otros medios, y guardar el fichero uno mismo.

Ejemplo #1 Generated WSDL

<?php
$wsdl = file_get_contents('http://www.example.com/Services/Example.php?wsdl');
file_put_contents("service.wsdl",$wsdl); //write the wsdl to a file
$service = SCA::getService('service.wsdl');
?>

NOTA: si el wsdl requiere xsds importado, será necesario que este sea obtenido por separado.

Implementar un componente SCA
Comprender cómo se genera el WSDL
Ejemplos


Comprender cómo se genera el WSDL

SCA para PHP genera WSDL para componentes que contienen una anotación @binding.soap después de la anotación @service. Para generar WSDL, el tiempo de ejecución de SCA reflexiona sobre el componente y examina las anotaciones @param y @return para cada método público, así como también cualquier anotación @types dentro del componente. La información desde las anotaciones @param y @return se usa para construir la sección <types> del WSDL. Cualquier anotación @types que especifique un fichero de esquema distinto resultará en un elemento <import> para tal esquema dentro del WSDL.

El atributo 'location' del elemento <service>

Al final del WSDL se encuentra el elmento <service>, que usa el atributo de ubicación 'location' para identificar la URL del servicio. Por ejemplo, esto podría ser como sigue:

Ejemplo #1 El atrubuto 'location'

<service name="ConvertedStockQuote"
...
location="http://localhost/ConvertedStockQuote/ConvertedStockQuote.php"/>

Observe que esta ubicación es relaitva a la raíz de documentos del servidor web, y no puede ser resuelta de antemano. Solamente puede hacerse una vez que el componente esté en su propio lugar bajo un servidor web en ejecución, cuando el nombre de host y el puerto puedan ser conocidos y colocados en el WSDL. Se usan los detalles de la URL que solicita el WSDL, por lo que, por ejemplo, si el WSDL es generado en respuesta a una petición a http://www.example.com:1111/ConvertedStockQuote/ConvertedStockQuote.php?wsdl, se insertará la ubicación http://www.example.com:1111/ConvertedStockQuote/ConvertedStockQuote.php en el atributo 'location' del WSDL.

WSDL document/literal envuelto y parámetros posicionales

SCA para PHP genera WSDL al estilo document/literal envuelto. Este estilo encierra los parámetros y devuelve los tipo de un método en "envolturas" que son nombradas después des método correspondiente. El elemento <types> al incio del WSDL define cada envoltura. Si se considera el método getQuote() del ejemplo ConvertedStockQuote:

Ejemplo #2 Método con dos arguentos

<?php
   /**
     * Obtener la contización de la acción para una clave de pizarra dada en una moneda dada.
     *
     * @param string $ticker La clave de pizarra.
     * @param string $currency A qué moneda convertir el valor.
     * @return float El valor de la acción es la moneda objetivo.
     */
    function getQuote($ticker, $currency)
    {
        $quote  = $this->stock_quote->getQuote($ticker);
        $rate   = $this->exchange_rate->getRate($currency);
        return  $rate * $quote;
    }
?>

El WSDL generado para definir este método nombrará a los métodos y a los parámetros, y proporcionará un tipo de esquema XML para los parámetros. La sección de tipos del WSDL se parecería a esto:

Ejemplo #3 La sección de tipos ilustrando parámetros con nombre

<types>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
      targetNamespace="http://ConvertedStockQuote">
      <xs:element name="getQuote">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ticker" type="xs:string"/>
            <xs:element name="currency" type="xs:string"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="getQuoteResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="getQuoteReturn" type="xs:float"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:schema>
  </types>

El tiempo de ejecución de SCA procesa de manera especial la conversión de las listas de parámetros posicionales de la interfaz a XML que contiene parámetros con nombre en la solicitud soap, y luego vueltas a convertir a listas de parámetros posicionales. Para ver por qué importa esto, considere cómo un script de PHP que usó una interfaz diferente para hace una llamada SOAP necesitaría construir la lista de parámetros. Un script de PHP que use un SoapClient de PHP, por ejemplo, necesitaría pasar al SoapClient un único parámetro proporcionando los valores para "ticker" y "currency", quizás como un array asociativo. Para insistir que los componentes SCA construyen listas de parámetros para hacer llamadas a servicios web de esta manera, sería hacer que las llamadas locales y remotas fueran diferentes, por lo que sería necesario un enfoque diferente.

Cuando SCA genera WSDL para un componente SCA, incluye un comentario en el WSDL que marca dicho WSDL como la interfaz para un componente SCA. En este caso, cuando un componente SCA invoca a otro a través de un servicio web, el tiempo de ejecución de SCA al finalizar la llamada toma la lista de parámetros posicionales desde la llamada y asigna los valores uno a uno a los elementos con nombre del mensaje soap. Por ejemplo, una llamada al método getQuote() definido arriba que pasa los valores 'IBM' y 'USD' podría ser así:

<?php
  $quote = $remote_service->getQuote('IBM','USD');
?>

lo que resultará en un mensaje soap que coteiene los siguiente:

<getQuote>
  <ticker>IBM</ticker>
  <currency>USD</currency>
</getQuote>

Al final de proporcionar el servicio, el tiempo de ejecución de SCA toma los parámetros una a uno desde el mensaje soap y forma una lista de parámetros posicionales a partir de ellos, reformando la lista de argumentos ('IBM','USD').

Precaución

Al finalizar ambos, el tiempo de ejecución de SCA cuenta con que el orden en que aparecen los parámetros en el mensaje soap sea el mismo que el de la lista de parámetros de los métodos objetivo. Esto se determina básicamente por el orden de las anotaciones @param: determina el orden en el que aparacen los parámetros en el WSDL y por lo tanto el orden en que aparacen el el mensaje soap. Así, es esencial que el orden de las anotaciones @param coincida con el de los parámetros de la lista de parámetros del método.

Obtener el WSDL para un componente SCA que ofrece un Servicio como servicio web
Trabajar con estructuras de datos
Ejemplos


Trabajar con estructuras de datos

Los componente SCA pueden pasar y devolver los cuatro tipos escalares de PHP boolean, integer, float y string, pero para pasar o devolver estructuras de datos, los componentes SCA usan Objetos de Datos de Servicio (SDOs). Los SDOs están descritos con más detalle en las páginas de SDO de este manual. Los lectores familiarizados con SDOs sabrán que son adecuados para representar el tipo de datos estructurados y semiestructurados que frecuentemente se modelan en XML, y que serializan de forma muy natural para pasarlos entre componentes remotos, o en servicios web. Los SDOs son actualmente la única manera soportada de pasar y devolver estructuras de datos. No es posible pasar o devolver objetos de PHP, o arrays de PHP.

El tiempo de ejecución de SCA siempre se asegura de que los datos sean pasados por valor, incluso para llamadas locales. Para hacer esto, el tiempo de ejecución de SCA copia cualquier SDO de la lista de parámetros antes de pasarlo, al igual que hace con los tipos escalares.

Cómo se definen estructuras de datos para componentes SCA

Actualemtne, el único mecanismo para especificar la ubicación de una definición de una estructura de datos, es especificar los tipos en un fichero de esquema XML. Sin embargo, en el futuro podría ser posible definir tipos de otra manera, tal como basadas en clases o interfaces de PHP, o basadas en definiciones expresadas como arrays asociativos.

Para ilustrar el uso de SDOs, se introduce un nuevo componente. El servico PortfolioMangement de abajo devuelve un SDO que representa una cartera de acciones para un cliente dado.

Ejemplo #1 Un componente que usa estructuras de datos

<?php

include "SCA/SCA.php";

/**
 * Administrar la cartera para un cliente.
 *
 * @service
 * @binding.soap
 *
 * @types http://www.example.org/Portfolio PortfolioTypes.xsd
 *
 */
class PortfolioManagement {

    /**
     * Obtener la cartera de acciones para un cliente dado.
     *
     * @param integer $customer_id El id del cliente
     * @return Portfolio http://www.example.org/Portfolio The stock portfolio (symbols and quantities)
     */
    function getPortfolio($customer_id) {
        // Pretend we just got this from a database
        $portfolio = SCA::createDataObject('http://www.example.org/Portfolio', 'Portfolio');
        $holding = $portfolio->createDataObject('holding');
        $holding->ticker = 'AAPL';
        $holding->number = 100.5;
        $holding = $portfolio->createDataObject('holding');
        $holding->ticker = 'INTL';
        $holding->number = 100.5;
        $holding = $portfolio->createDataObject('holding');
        $holding->ticker = 'IBM';
        $holding->number = 100.5;
        return $portfolio;
    }

}
?>

La anotación @types:

<?php
@types http://www.example.org/Portfolio PortfolioTypes.xsd
?>

indica que los tipos del espacio de nombres http://www.example.org/Portfolio se encontrarán en el fichero de esquema ubicado en la URI URI PortfolioTypes.xsd. El WSDL generado reproducirá esta información con una sentencia importante, como sigue:

<xs:import schemaLocation="PortfolioTypes.xsd"
                      namespace="http://www.example.org/Portfolio"/>

por lo que la URI, absoluta o relativa, debe ser una que pueda ser resuelta al incluirla en el atributo 'schemaLocation'.

Crear SDOs

Los lectores familiarizados con SDOs sabrán que siempre son creados según una descripción de la estructura permitida (algunas veces llamada como el "esquema" o "modelo") y que, en vez de crearlos usando directamente 'new', es necesaria alguna forma de fábrica de datos. A menudo, se puede usar un objeto de datos existente como la fábrica de datos, pero otras veces, y especialmente para obtener el primer objeto de daots, otra cosa debe actuar como fábrica de datos.

En SCA, tanto la clase en tiempo de ejecución de SCA o los delegados para servicios, ya sean locales o remotos, pueden actuar como las fábricas de datos para SDOs. La elección de cúal usar, y cuando, está descrita en las dos secciones siguientes.

Cambiamos a un nuevo ejemplo para ilustrar la creación de SDOs, para pasarlo a, y ser devuelto por un servicio.

Crear un SDO para pasárselo a un servicio

Un llamador de un servicio que requiera que una estructura de datos le sea pasada, utiliza un delegado para el servicio como la fábrica de datos para los correspondientes SDOs. Por ejemplo, suponga que un componente hace uso de un delegada para un servicio proporcionado por un componente AddressBook local.

<?php
/**
 * @reference
 * @binding.local AddressBook.php
 */
$address_book;
?>

El componente AddressBook que se desea llamar está definido como sigue:

<?php
/**
* @service
* @binding.soap
* @types http://addressbook ../AddressBook/AddressBook.xsd
*/
class AddressBook {

    /**
     * @param personType $person http://addressbook (un objeto person)
     * @return addressType http://addressbook (el objeto address para el objeto person)
     */
    function lookupAddress($person)  {
        ...
    }
}
?>

El componente AddressBook proporciona un método de servicio llamado lookupAddress() que usa los tipos del espacio de nombres http://addressbook namespace. el método lookupAddress toma una estructura de datos personType y devuelve un addressType. Ambos tipos están definido en el fichero de esquema addressbook.xsd.

Una vez que el componente que desea usar el componente AddressBook haya sido construido, de modo que la instancia variable $address_book contiene un delegado para el servicio, el componente llamador puede usar el delegado en $address_book para crear el SDO 'person', tal como se muestra abajo:

<?php
$william_shakespeare        = $address_book->createDataObject('http://addressbook','personType');
$william_shakespeare ->name = "William Shakespeare";
$address                    = $address_book->lookupAddress($william_shakespeare);
?>

Observe que el uso del delegado como el medio de crear el SDO no está limitado a componentes SCA. Si un servicio está siendo llamado desde un script de PHP general, y el delegado fue obtenido con getService(), entonces se usa el mismo enfoque.

<?php
$address_book = SCA::getService('AddressBook.php');
$william_shakespeare = $address_book->createDataObject('http://addressbook','personType');
?>

Crear un SDO SDO para devolverlo desde un componente

Un componente que necesita crear un objeto de datos para devolverlo a un llamador no tendrá un delgado que usar como objeto de datos. En este caso usa el método estático createDataObject() de SCA.php. Por lo tanto, si el componente AddressBook descrito arriba necesita crear un objeto del tipo addressType dentro del espacio de nombres http://addressbook, podría hacerlo como sigue:

<?php
$address = SCA::createDataObject('http://addressbook','addressType');
?>

Comprender cómo se genera el WSDL
Manejo de errores
Ejemplos


Manejo de errores

Esta sección describe cómo se manejan los errores. Existen dos tipos de errores:

  • Las excepciones en tiempo de ejecución de SCA son aquellas que señalan problemas en el manejo de la ejecución de componentes, y en la interacción con servicios remotos. Podrían ocurrir debido a problemas de red o de configuración.

  • Las excpeciones de negocio son aquellas definidas por el programador. Amplían la clase Exception de PHP, y son lanzadas y capturadas deliberadamente como parte de la lógica de negocio.

Manejo de excepciones en tiempo de ejecución

Hay dos tipos de excepciones en tiempo de ejecución de SCA:

  • SCA_RuntimeException - señala un problema encontrado por o quizás ocurrido dentro del tiempo de ejecución de SCA. Puede ser lanzada por varias razones, muchas de las cuales pueden ocurrir sin tener en cuenta si si se ha realizado una conexión a un servicio local o remoto: un error en una de las anotaciones de un componente, un fichero WSDL o php faltante, etc. En el caso de servicios web, una SCA_RuntimeException también puede ser lanzada si se recibe un SoapFault desde un servicio web remoto y el código de error del SoapFault indica que sea improbable que tenga éxito un reintento.

  • SCA_ServiceUnavailableException - esta es una subclase de SCA_RuntimeException y señala un problema al conectarse a, o usar un servicio remoto, aunque podría tener éxito si se reintenta. En el caso de servicios web, esta excepción es lanzada si se recibe un SoapFault con un código de error que indique que un reintento podría tener éxito.

Manejo de excepciones de negocio

Las excepciones de negocio pueden ser definidas y lanzadas por un componente de la manera usual, sin tener en cuenta si el componente ha sido invocado local o remotamente. El tiempo de ejecución de SCA no captura las excepciones de negocio que han sido lanzadas por un componente invocado localmente, por lo que serán devueltas al llamador de la manera usuarl. Por otro lado, si un componente ha sido invocado mediante un servicio web, el tiempo de ejecución de SCA, al final de proporcionar el servicio, captura las excepciones de negocio, y se asegurará de que sean pasadas otra vez al final de la llamada y sena relanzadas. Asumiento que al final de la llamada hay una definición de la excepción (esto es, es capaz de incluir un fichero que contenga la clase de PHP que contenga la excepción) la excepción relanzada contendrá los mismos detalles que la original, por lo que los métodos getLine() y getFile(), por ejemplo, contendrán la ubicación de donde fue lanzada la excepción dentro de la lógica de negocio. La excepción será pasada en el campo 'detail' de un error soap con el código de error "Client".

Trabajar con estructuras de datos
Funciones de SCA
Ejemplos


Manejo de errores
SCA::createDataObject
SCA
PHP Manual

Funciones de SCA

Clases predefinidas

La mayoría de la interfaz de SCA se realiza a través de las anotaciones dentro de componentes de SCA, por lo que hay pocas clases y métodos públicos. Las únicas clases de SCA que los scripts o componentes pueden invocar son la calse SCA misma, y las clases delegadas SCA_LocalProxy y SCA_SoapProxy.

SCA

Mucho del trabajo de la clase SCA se realiza cuando el fichero SCA.php se incluye dentro de un componente SCA. Sin embargo, un script de PHP podría incluir SCA.php y llamar al método getService() de la clase SCA para obtener un delegado para un servicio. Un componente no cecesitará hacer esto ya que los delegados se obtienen en su lugar definiendo una variable de instancia con la anotación @reference.

Los componentes que necesitan crear un SDO para devolver a un llamador necesitarán una factoría de datos que invocar. Para este propósito, la clase SCA soporta el createDataObject() método, el cual creará un SDO según el modelo definido por las anotaciones @types del componente. Los argumentos para createDataObject() son los mismos que los del Servicio de Acceso a Datos de XML de SDO.

Métodos

  • getService - obtener un delegado para un servicio

  • createDataObject - crear un SDO

SCA_LocalProxy

Cuando se invoca a getService() con un componente local de PHP como objetivo,se devuelve un delegado local. Un delegado local también se inyecta en las variables de instancia de un componente que estén definidas con una anotación @reference y una @binding.php. Cuando el script o componente hacen llamadas al delegado local, aquellas son pasadas al componente objetivo mismo.

Los componentes que necesitan crear un SDO para pasarlo a otro componente necesitarán una factoría de datos que invocar. Para este propósito, la clase SCA_LocalProxy soporta el método createDataObject(), el cual creará un SDO según el modelo definido por las anotaciones @types del componente. Los argumentos para createDataObject() son los mismos que los del Servicio de Acceso a Datos de XML de SDO.

Métodos

  • createDataObject - crear un SDO

SCA_SoapProxy

Cuando se invoca a getService() con un fichero WSDL como objetivo, se devuelve un delgado SOAP. Un delegado SOAP también se inyecta a las variables de instancia de un componente que estén definidas con una anotación @reference y una @binding.soap. Cuando el sctipt o componente hacen llamadas al delegado SOAP, aquellas son formadas dentro de las petición de SOAP de servicios web y pasadas al componente objetivo, con la ayuda de la extensión Soap de PHP.

Los componentes que necesitan crear un SDO para pasarlo a otro componente necesitarán una factoría de datos que invocar. Para este propósito, la clase SCA_SoapProxy soporta el método createDataObject(), el cual creará un SDO según el modelo definido dentro de WSDL objetivo. Los argumentos para createDataObject() son los mismos que los del Servicio de Acceso a Datos de XML de SDO.

Métodos

  • createDataObject - crear un SDO

Tabla de contenidos

  • SCA::createDataObject — Crear un SDO
  • SCA::getService — Obtener un delegado para un servicio
  • SCA_LocalProxy::createDataObject — Crear un SDO
  • SCA_SoapProxy::createDataObject — Crear un SDO
Manejo de errores
SCA::createDataObject
SCA
PHP Manual


Crear un SDO

Funciones de SCA
SCA::getService
Funciones de SCA
PHP Manual

SCA::createDataObject

(PECL SDO >= 0.5.0)

SCA::createDataObject — Crear un SDO

Descripción

SDO_DataObject SCA::createDataObject ( string $type_namespace_uri , string $type_name )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Este método se usa dentro de un componente SCA que necesite crear un SDO que devolver. Los parámetros son la URI del espacio de nombres del SDO deseada y el nombre del tipo. El espacio de nombres y el tipo deben estar definidos en uno de los ficheros de esquemas que están especificados en la anotación @types dentro del componente.

Parámetros

type_namespace_uri

El espacio de nombres del tipo.

type_name

El nombre del tipo.

Valores devueltos

Devuelve el recién creado SDO_DataObject.

Errores/Excepciones

SDO_TypeNotFoundException

Lanzada si namespaceURI y typeName no se corresponden con un tipo de ningún fichero de esquemas especificado en las anotaciones @types.

Funciones de SCA
SCA::getService
Funciones de SCA


Obtener un delegado para un servicio

SCA::createDataObject
SCA_LocalProxy::createDataObject
Funciones de SCA
PHP Manual

SCA::getService

(PECL SDO >= 0.5.0)

SCA::getService — Obtener un delegado para un servicio

Descripción

mixed SCA::getService ( string $target [, string $binding [, array $config ]] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Examina el objetivo e inicializa y devuelve un delegado del tipo apropiado. Si el objetivo es para un componente de PHP local, el delegado devuelto será un SCA_LocalProxy. Si el objeitov es para un fichero WSDL, el delegado devuelto será un SCA_SoapProxy.

Parámetros

target

Una ruta absoluta o relativa al servicio objetivo o descripción de servicio (p.ej. una URL a una descripción de un servicio json-rpc, un componente de PHP , un fichero WSDL, etc.). Una ruta relativa, si se especifica, se resuelve relativa a la ubicación del script que emite la llamada a getService(), y no con include_path o el directorio actual de trabajo.

binding

La vinculación (esto es, el protocolo) a usar para comunicarse con el servicio (p.ej. binding.jsonrpc para un servicio json-rpc). Observe que algunos tipos de servicios se pueden deducir del parámetro target (p.ej. si el parámetro target finaliza con .wsdl, SCA asumirá binding.soap). Cualquier vinculación que pueda ser especificada en una anotación se puede especificar aquí. Por ejemplo, 'binding.soap' es equivalente a la anotación '@binding.soap'.

config

Cualquier propiedad de configuración adiciones para la vinculación (p.ej. array('location' => 'http://example.org')). Cualquier configuración de vinculación que pueda ser especificada en una anotación se puede especificar aquí. Por ejemplo, 'location' es equivalente a la anotación '@location' para configurar la ubicación de un servicio soap objetivo.

Valores devueltos

El SCA_LocalProxy o SCA_SoapProxy.

Ejemplos

Ejemplo #1 Un ejemplo de SCA::getService()

Este ejemplo muestra cómo obtener un delegado para un servicio soap de email descrito por EmailService.wsdl y ubicado en http://example.org.

<?php
include 'SCA/SCA.php';
$service = SCA::getService('EmailService.wsdl', 'binding.soap', array('location' => 'http://example.org'));
$service->send(...);
?>

El resultado del ejemplo sería:

SCA::createDataObject
SCA_LocalProxy::createDataObject
Funciones de SCA


Crear un SDO

SCA::getService
SCA_SoapProxy::createDataObject
Funciones de SCA
PHP Manual

SCA_LocalProxy::createDataObject

(PECL SDO >= 0.5.0)

SCA_LocalProxy::createDataObject — Crear un SDO

Descripción

SDO_DataObject SCA_LocalProxy::createDataObject ( string $type_namespace_uri , string $type_name )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Este método se usa dentro de un script de PHP ordinario o un componente SCA que necesita crear un SDO para pasarlo a un servicio local. Los parámetros son la URI del espacio de nombres del SDO deseado deseada y el nombre del tipo. El espacio de nombres y el tipo deben estar definidos en la interfaz del componente que va a ser invocado, por lo que el espacio de nombres y el tipo deben estar definidos en uno de los ficheros de esquemas que están especificados en la anotación @types dentro del componente para el cual el objeto SCA_LocalProxy object es un delegado.

Parámetros

type_namespace_uri

El espacio de nombres del tipo.

type_name

El nombre del tipo.

Valores devueltos

Devuelve el recién creado SDO_DataObject.

Errores/Excepciones

SDO_TypeNotFoundException

Lanzada si namespaceURI y typeName no se corresponden con un tipo de ningún fichero de esquemas especificado en las anotaciones @types dentro del componente para el cual el objeto SCA_LocalProxy es un delegado.

SCA::getService
SCA_SoapProxy::createDataObject
Funciones de SCA


Crear un SDO

SCA_LocalProxy::createDataObject
SOAP
Funciones de SCA
PHP Manual

SCA_SoapProxy::createDataObject

(PECL SDO >= 0.5.0)

SCA_SoapProxy::createDataObject — Crear un SDO

Descripción

SDO_DataObject SCA_SoapProxy::createDataObject ( string $type_namespace_uri , string $type_name )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Este método se usa dentro de un script de PHP ordinario o un componente SCA que necesita crear un SDO para pasarlo a un servicio web. Los parámetros son la URI del espacio de nombres del SDO deseado deseada y el nombre del tipo. El espacio de nombres y el tipo deben estar definidos en la interfaz del componente que va a ser invocado, por lo que el espacio de nombres y el tipo deben estar definidos dentro del WSDL para el servicio web. Si el servicio web también es un componente SCA, los tipos habrán sido definidos dentro de uno de los ficheros de esquemas que están especificados en la anotación @types dentro del componente para el cual el objeto SCA_SoapProxy es un delegado.

Parámetros

type_namespace_uri

El espacio de nombres del tipo.

type_name

El nombre del tipo.

Valores devueltos

Devuelve el recién creado SDO_DataObject.

Errores/Excepciones

SDO_TypeNotFoundException

Lanzada si namespaceURI y typeName no se corresponden con un tipo del WSDL que se usó para inicializar este SCA_SoapProxy.

SCA_LocalProxy::createDataObject
SOAP
Funciones de SCA


SOAP

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de SOAP
    • is_soap_fault — Comprueba si una llamada SOAP ha fallado
    • use_soap_error_handler — Establecer si se desea utilizar el controlador de errores SOAP
  • SoapClient — La clase SoapClient
    • SoapClient::__call — Llama a una función de SOAP (obsoleto)
    • SoapClient::__construct — Constructor de SoapClient
    • SoapClient::__doRequest — Realiza una petición SOAP
    • SoapClient::__getFunctions — Devuelve una lista de todas las funciones SOAP disponibles
    • SoapClient::__getLastRequest — Devuelve la última petición SOAP
    • SoapClient::__getLastRequestHeaders — Devuelve los encabezados SOAP de la última petición
    • SoapClient::__getLastResponse — Devuelve la última respuesta SOAP
    • SoapClient::__getLastResponseHeaders — Devuelve los encabezados SOAP de la última respuesta
    • SoapClient::__getTypes — Devuelve una lista de los tipos SOAP
    • SoapClient::__setCookie — El propósito de __setCookie
    • SoapClient::__setLocation — Define la localización del servicio Web a utilizar
    • SoapClient::__setSoapHeaders — Define los encabezados SOAP para las subsiguentes llamadas
    • SoapClient::__soapCall — Llama a una función SOAP
    • SoapClient::SoapClient — Constructor de SoapClient
  • SoapServer — La clase SoapServer
    • SoapServer::addFunction — Añade una o más funciones al controlador de peticiones SOAP
    • SoapServer::addSoapHeader — Añade un encabezado SOAP a la respuesta
    • SoapServer::__construct — Constructor de SoapServer
    • SoapServer::fault — SoapServer indica que ocurrió un fallo
    • SoapServer::getFunctions — Devuelve una lista de las funciones definidas
    • SoapServer::handle — Controla la petición SOAP
    • SoapServer::setClass — Define la clase que controla las peticiones SOAP
    • SoapServer::setObject — Define el objecto que será usado para controlar las peticiones SOAP
    • SoapServer::setPersistence — Establece el modo de persistencia de SoapServer
    • SoapServer::SoapServer — Constructor de SoapServer
  • SoapFault — La clase SoapFault
    • SoapFault::__construct — Constructor de SoapFault
    • SoapFault::SoapFault — Constructor de SoapFault
    • SoapFault::__toString — Obtiene una representación en formato cadena de SoapFault
  • SoapHeader — La clase SoapHeader
    • SoapHeader::__construct — Constructor de SoapHeader
    • SoapHeader::SoapHeader — Constructor de SoapHeader
  • SoapParam — La clase SoapParam
    • SoapParam::__construct — Constructor de SoapParam
    • SoapParam::SoapParam — Constructor de SoapParam
  • SoapVar — La clase SoapVar
    • SoapVar::__construct — Constructor de SoapVar
    • SoapVar::SoapVar — Constructor de SoapVar
SCA_SoapProxy::createDataObject
Introducción
Servicios web


Introducción

La extensión SOAP se puede utilizar para escribir servidores y clientes SOAP. Admite los subconjuntos de especificaciones » SOAP 1.1, » SOAP 1.2 y » WSDL 1.1.

SOAP
Instalación/Configuración
SOAP


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
SOAP


Requerimientos

Esta extensión requiere la extensión de PHP libxml. Esto significa que también es necesario pasar la opción --enable-libxml , aunque esto se realiza implícitamente debido a que libxml está habilitada de forma predeterminada.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Para habilitar el soporte de SOAP, se ha de configurar PHP con --enable-soap .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de SOAP
Nombre | Por defecto | Cambiable | Historial de cambios
soap.wsdl_cache_enabled | 1 | PHP_INI_ALL |
soap.wsdl_cache_dir | /tmp | PHP_INI_ALL |
soap.wsdl_cache_ttl | 86400 | PHP_INI_ALL |
soap.wsdl_cache | 1 | PHP_INI_ALL |
soap.wsdl_cache_limit | 5 | PHP_INI_ALL |

He aquí una breve explicación de las directivas de configuración.

soap.wsdl_cache_enabled integer

Activa o desactiva la función de almacenamiento en caché de WSDL.

soap.wsdl_cache_dir string

Define el nombre del directorio donde la extensión SOAP guardará los ficheros en caché.

soap.wsdl_cache_ttl integer

Define el número de segundos (tiempo de vida) por los que los ficheros en caché serán usados en lugar de los originales.

soap.wsdl_cache integer

Si la opción soap.wsdl_cache_enabled está activada, este ajuste determina el tipo de almacenamiento en caché. Puede ser cualquiera de estos tipos: WSDL_CACHE_NONE (0), WSDL_CACHE_DISK (1), WSDL_CACHE_MEMORY (2) o WSDL_CACHE_BOTH (3). También puede definirse usando el array options del constructor de SoapClient o de SoapServer.

soap.wsdl_cache_limit integer

Número máximo de ficheros WSDL almacenados en caché de memoria. Si se añaden más ficheros a una caché de memoria llena, se eliminarán los ficheros más antiguos de la misma.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

SOAP constants
Constant | Value | Description
SOAP_1_1 (integer) | 1 |
SOAP_1_2 (integer) | 2 |
SOAP_PERSISTENCE_SESSION (integer) | 1 |
SOAP_PERSISTENCE_REQUEST (integer) | 2 |
SOAP_FUNCTIONS_ALL (integer) | 999 |
SOAP_ENCODED (integer) | 1 |
SOAP_LITERAL (integer) | 2 |
SOAP_RPC (integer) | 1 |
SOAP_DOCUMENT (integer) | 2 |
SOAP_ACTOR_NEXT (integer) | 1 |
SOAP_ACTOR_NONE (integer) | 2 |
SOAP_ACTOR_UNLIMATERECEIVER (integer) | 3 |
SOAP_COMPRESSION_ACCEPT (integer) | 32 |
SOAP_COMPRESSION_GZIP (integer) | 0 |
SOAP_COMPRESSION_DEFLATE (integer) | 16 |
SOAP_AUTHENTICATION_BASIC (integer) | 0 |
SOAP_AUTHENTICATION_DIGEST (integer) | 1 |
SOAP_SSL_METHOD_TLS (integer) | 0 | Desde PHP 5.5.0.
SOAP_SSL_METHOD_SSLv2 (integer) | 1 | Desde PHP 5.5.0.
SOAP_SSL_METHOD_SSLv3 (integer) | 2 | Desde PHP 5.5.0.
SOAP_SSL_METHOD_SSLv23 (integer) | 3 | Desde PHP 5.5.0.
UNKNOWN_TYPE (integer) | 999998 |
XSD_STRING (integer) | 101 |
XSD_BOOLEAN (integer) | 102 |
XSD_DECIMAL (integer) | 103 |
XSD_FLOAT (integer) | 104 |
XSD_DOUBLE (integer) | 105 |
XSD_DURATION (integer) | 106 |
XSD_DATETIME (integer) | 107 |
XSD_TIME (integer) | 108 |
XSD_DATE (integer) | 109 |
XSD_GYEARMONTH (integer) | 110 |
XSD_GYEAR (integer) | 111 |
XSD_GMONTHDAY (integer) | 112 |
XSD_GDAY (integer) | 113 |
XSD_GMONTH (integer) | 114 |
XSD_HEXBINARY (integer) | 115 |
XSD_BASE64BINARY (integer) | 116 |
XSD_ANYURI (integer) | 117 |
XSD_QNAME (integer) | 118 |
XSD_NOTATION (integer) | 119 |
XSD_NORMALIZEDSTRING (integer) | 120 |
XSD_TOKEN (integer) | 121 |
XSD_LANGUAGE (integer) | 122 |
XSD_NMTOKEN (integer) | 123 |
XSD_NAME (integer) | 124 |
XSD_NCNAME (integer) | 125 |
XSD_ID (integer) | 126 |
XSD_IDREF (integer) | 127 |
XSD_IDREFS (integer) | 128 |
XSD_ENTITY (integer) | 129 |
XSD_ENTITIES (integer) | 130 |
XSD_INTEGER (integer) | 131 |
XSD_NONPOSITIVEINTEGER (integer) | 132 |
XSD_NEGATIVEINTEGER (integer) | 133 |
XSD_LONG (integer) | 134 |
XSD_INT (integer) | 135 |
XSD_SHORT (integer) | 136 |
XSD_BYTE (integer) | 137 |
XSD_NONNEGATIVEINTEGER (integer) | 138 |
XSD_UNSIGNEDLONG (integer) | 139 |
XSD_UNSIGNEDINT (integer) | 140 |
XSD_UNSIGNEDSHORT (integer) | 141 |
XSD_UNSIGNEDBYTE (integer) | 142 |
XSD_POSITIVEINTEGER (integer) | 143 |
XSD_NMTOKENS (integer) | 144 |
XSD_ANYTYPE (integer) | 145 |
XSD_ANYXML (integer) | 147 |
APACHE_MAP (integer) | 200 |
SOAP_ENC_OBJECT (integer) | 301 |
SOAP_ENC_ARRAY (integer) | 300 |
XSD_1999_TIMEINSTANT (integer) | 401 |
XSD_NAMESPACE (integer) | http://www.w3.org/2001/XMLSchema |
XSD_1999_NAMESPACE (integer) | http://www.w3.org/1999/XMLSchema |
SOAP_SINGLE_ELEMENT_ARRAYS (integer) | 1 |
SOAP_WAIT_ONE_WAY_CALLS (integer) | 2 |
SOAP_USE_XSI_ARRAY_TYPE (integer) | 4 |
WSDL_CACHE_NONE (integer) | 0 |
WSDL_CACHE_DISK (integer) | 1 |
WSDL_CACHE_MEMORY (integer) | 2 |
WSDL_CACHE_BOTH (integer) | 3 |
Tipos de recursos
Funciones de SOAP
SOAP


Funciones de SOAP

Tabla de contenidos

  • is_soap_fault — Comprueba si una llamada SOAP ha fallado
  • use_soap_error_handler — Establecer si se desea utilizar el controlador de errores SOAP
Constantes predefinidas
is_soap_fault
SOAP


Comprueba si una llamada SOAP ha fallado

Funciones de SOAP
use_soap_error_handler
Funciones de SOAP
PHP Manual

is_soap_fault

(Unknown)

is_soap_fault — Comprueba si una llamada SOAP ha fallado

Descripción

bool is_soap_fault ( mixed $object )

Esta función es útil para comprobar si la llamada SOAP ha fallado, pero sin usar excepciones. Para usarse, cree el objecto SoapClient con la opción exceptions definida a cero o FALSE. En este caso, el método SOAP devolverá un objecto especial SoapFault el qual encapsula los datos del fallo (faultcode, faultstring, faultactor and faultdetails).

Si exceptions no está definido la llamada SOAP lanzará una excepción al producirse un error. is_soap_fault() comprueba si un parametro dado es un objecto SoapFault.

Parámetros

object

El objecto a comprobar.

Valores devueltos

Devolverá TRUE si se produce un error y FALSE en caso contrario.

Ejemplos

Ejemplo #1 Ejemplo de is_soap_fault()

<?php
$client = new SoapClient("some.wsdl", array('exceptions' => 0));
$result = $client->SomeFunction();
if (is_soap_fault($result)) {
    trigger_error("SOAP Fault: (faultcode: {$result->faultcode}, faultstring: {$result->faultstring})", E_USER_ERROR);
}
?>

Ejemplo #2 El método estándar de SOAP para el informe de errores son las excepciones

<?php
try {
    $client = new SoapClient("some.wsdl");
    $result = $client->SomeFunction(/* ... */);
} catch (SoapFault $fault) {
    trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR);
}
?>

Ver también

  • SoapClient::SoapClient() - Constructor de SoapClient
  • SoapFault::SoapFault() - Constructor de SoapFault

Funciones de SOAP
use_soap_error_handler
Funciones de SOAP


Establecer si se desea utilizar el controlador de errores SOAP

is_soap_fault
SoapClient
Funciones de SOAP
PHP Manual

use_soap_error_handler

(Unknown)

use_soap_error_handler — Establecer si se desea utilizar el controlador de errores SOAP

Descripción

bool use_soap_error_handler ([ bool $handler = true ] )

Esta función establece cuando o no usar el controlador de errores SOAP en el servidor SOAP. Devolverá el valor anterior. Si está definido a TRUE, los datos de los errores en una aplicación SoapServer serán enviados a los clientes como un mensaje de fallo SOAP. Si es FALSE, el manejador de errores PHP será usado. El valor predeterminado es utilizar el manejador de errores PHP estándar.

Parámetros

handler

Establecerlo a TRUE para enviar información de los errores al cliente.

Valores devueltos

Devuelve el valor original

Ver también

  • set_error_handler() - Establecer una función de gestión de errores definida por el usuario
  • set_exception_handler() - Establece una función de gestión de excepciones definida por el usuario

is_soap_fault
SoapClient
Funciones de SOAP


La clase SoapClient

(PHP 5 >= 5.0.1)

Introducción

La clase SoapClient proporciona un cliente para servidores » SOAP 1.1, » SOAP 1.2. Puede ser usada en modo WSDL o modo no-WSDL.

Sinopsis de la Clase

SoapClient {
/* Métodos */
public mixed __call ( string $function_name , string $arguments )
public SoapClient ( mixed $wsdl [, array $options ] )
public string __doRequest ( string $request , string $location , string $action , int $version [, int $one_way = 0 ] )
public array __getFunctions ( void )
public string __getLastRequest ( void )
public string __getLastRequestHeaders ( void )
public string __getLastResponse ( void )
public string __getLastResponseHeaders ( void )
public array __getTypes ( void )
public void __setCookie ( string $name [, string $value ] )
public string __setLocation ([ string $new_location ] )
public bool __setSoapHeaders ([ mixed $soapheaders ] )
public mixed __soapCall ( string $function_name , array $arguments [, array $options [, mixed $input_headers [, array &$output_headers ]]] )
public SoapClient ( mixed $wsdl [, array $options ] )
}

Tabla de contenidos

  • SoapClient::__call — Llama a una función de SOAP (obsoleto)
  • SoapClient::__construct — Constructor de SoapClient
  • SoapClient::__doRequest — Realiza una petición SOAP
  • SoapClient::__getFunctions — Devuelve una lista de todas las funciones SOAP disponibles
  • SoapClient::__getLastRequest — Devuelve la última petición SOAP
  • SoapClient::__getLastRequestHeaders — Devuelve los encabezados SOAP de la última petición
  • SoapClient::__getLastResponse — Devuelve la última respuesta SOAP
  • SoapClient::__getLastResponseHeaders — Devuelve los encabezados SOAP de la última respuesta
  • SoapClient::__getTypes — Devuelve una lista de los tipos SOAP
  • SoapClient::__setCookie — El propósito de __setCookie
  • SoapClient::__setLocation — Define la localización del servicio Web a utilizar
  • SoapClient::__setSoapHeaders — Define los encabezados SOAP para las subsiguentes llamadas
  • SoapClient::__soapCall — Llama a una función SOAP
  • SoapClient::SoapClient — Constructor de SoapClient
use_soap_error_handler
SoapClient::__call
SOAP


Llama a una función de SOAP (obsoleto)

SoapClient
SoapClient::__construct
SoapClient
PHP Manual

SoapClient::__call

(PHP 5 >= 5.0.1)

SoapClient::__call — Llama a una función de SOAP (obsoleto)

Descripción

public mixed SoapClient::__call ( string $function_name , string $arguments )

Llamar a este método directamente está obsoleto. Normalmente, las funciones de SOAP pueden ser invocadas como métodos del objeto SoapClient; en situaciones donde esto no es posible o son necesarias opciones adicionales, use SoapClient::__soapCall().

SoapClient
SoapClient::__construct
SoapClient


Constructor de SoapClient

SoapClient::__call
SoapClient::__doRequest
SoapClient
PHP Manual

SoapClient::__construct

(PHP 5 >= 5.0.1)

SoapClient::__construct — Constructor de SoapClient

Descripción

public SoapClient::SoapClient ( mixed $wsdl [, array $options ] )

Esta función es un alias de: SoapClient::SoapClient()

SoapClient::__call
SoapClient::__doRequest
SoapClient


Realiza una petición SOAP

SoapClient::__construct
SoapClient::__getFunctions
SoapClient
PHP Manual

SoapClient::__doRequest

(PHP 5 >= 5.0.1)

SoapClient::__doRequest — Realiza una petición SOAP

Descripción

public string SoapClient::__doRequest ( string $request , string $location , string $action , int $version [, int $one_way = 0 ] )

Realiza una petición SOAP vía HTTP.

Este método puede ser sobreescrito en subclases para implementar diferentes capas de transporte, realizar procesos XML adiciones u otros propósitos.

Parámetros

request

La petición XML SOAP.

location

La URL donde realizar la petición.

action

La acción SOAP.

version

La versión de SOAP.

one_way

Si one_way está defindo a 1, este método no devolverá nada. Use esta opción cuando no se espera una respuesta.

Valores devueltos

La respuesta XML SOAP response.

Historial de cambios

Versión | Descripción
5.1.3 | Se añadió el parámetro one_way.

Ejemplos

Ejemplo #1 Ejemplo de SoapClient::__doRequest()

<?php
function Add($x,$y) {
  return $x+$y;
}

class LocalSoapClient extends SoapClient {

  function __construct($wsdl, $options) {
    parent::__construct($wsdl, $options);
    $this->server = new SoapServer($wsdl, $options);
    $this->server->addFunction('Add');
  }

  function __doRequest($request, $location, $action, $version, $one_way = 0) {
    ob_start();
    $this->server->handle($request);
    $response = ob_get_contents();
    ob_end_clean();
    return $response;
  }

}

$x = new LocalSoapClient(NULL,array('location'=>'test://',
                                   'uri'=>'http://testuri.org'));
var_dump($x->Add(3,4));
?>

SoapClient::__construct
SoapClient::__getFunctions
SoapClient


Devuelve una lista de todas las funciones SOAP disponibles

SoapClient::__doRequest
SoapClient::__getLastRequest
SoapClient
PHP Manual

SoapClient::__getFunctions

(PHP 5 >= 5.0.1)

SoapClient::__getFunctions — Devuelve una lista de todas las funciones SOAP disponibles

Descripción

public array SoapClient::__getFunctions ( void )

Devuelve un array de las funciones descritas en el WSDL del servicio web.

Nota:

Esta función funciona sólo en modo WSDL.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El array de las funciones prototipo de SOAP, que detallan el tipo retornado, el nombre de la función y los parámetros y sus tipos.

Ejemplos

Ejemplo #1 Ejemplo de SoapClient::__getFunctions()

<?php
$client = new SoapClient('http://soap.amazon.com/schemas3/AmazonWebServices.wsdl');
var_dump($client->__getFunctions());
?>

El resultado del ejemplo sería:

array(26) {
  [0]=>
  string(70) "ProductInfo KeywordSearchRequest(KeywordRequest $KeywordSearchRequest)"
  [1]=>
  string(79) "ProductInfo TextStreamSearchRequest(TextStreamRequest $TextStreamSearchRequest)"
  [2]=>
  string(64) "ProductInfo PowerSearchRequest(PowerRequest $PowerSearchRequest)"
...
  [23]=>
  string(107) "ShoppingCart RemoveShoppingCartItemsRequest(RemoveShoppingCartItemsRequest $RemoveShoppingCartItemsRequest)"
  [24]=>
  string(107) "ShoppingCart ModifyShoppingCartItemsRequest(ModifyShoppingCartItemsRequest $ModifyShoppingCartItemsRequest)"
  [25]=>
  string(118) "GetTransactionDetailsResponse GetTransactionDetailsRequest(GetTransactionDetailsRequest $GetTransactionDetailsRequest)"
}

Ver también

  • SoapClient::SoapClient() - Constructor de SoapClient

SoapClient::__doRequest
SoapClient::__getLastRequest
SoapClient


Devuelve la última petición SOAP

SoapClient::__getFunctions
SoapClient::__getLastRequestHeaders
SoapClient
PHP Manual

SoapClient::__getLastRequest

(PHP 5 >= 5.0.1)

SoapClient::__getLastRequest — Devuelve la última petición SOAP

Descripción

public string SoapClient::__getLastRequest ( void )

Devuelve el XML enviado en la última petición SOAP.

Nota:

Este método solo funciona si el objecto SoapClient fue creado con la opción trace establecida a TRUE.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La última petición SOAP, como cadena XML.

Ejemplos

Ejemplo #1 Ejemplo de SoapClient::__getLastRequest()

<?php
$client = SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
echo "REQUEST:\n" . $client->__getLastRequest() . "\n";
?>

Ver también

  • SoapClient::__getLastRequestHeaders() - Devuelve los encabezados SOAP de la última petición
  • SoapClient::__getLastResponse() - Devuelve la última respuesta SOAP
  • SoapClient::__getLastResponseHeaders() - Devuelve los encabezados SOAP de la última respuesta

SoapClient::__getFunctions
SoapClient::__getLastRequestHeaders
SoapClient


Devuelve los encabezados SOAP de la última petición

SoapClient::__getLastRequest
SoapClient::__getLastResponse
SoapClient
PHP Manual

SoapClient::__getLastRequestHeaders

(PHP 5 >= 5.0.1)

SoapClient::__getLastRequestHeaders — Devuelve los encabezados SOAP de la última petición

Descripción

public string SoapClient::__getLastRequestHeaders ( void )

Devuelve los encabezados SOAP de la última petición.

Nota:

Esta función solo funciona si el objecto SoapClient fue creado con la opción trace establecida como TRUE.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La última petición de los encabezados SOAP.

Ejemplos

Ejemplo #1 Ejemplo de SoapClient::__getLastRequest()

<?php
$client = SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
echo "REQUEST HEADERS:\n" . $client->__getLastRequestHeaders() . "\n";
?>

Ver también

  • SoapClient::__getLastResponseHeaders() - Devuelve los encabezados SOAP de la última respuesta
  • SoapClient::__getLastRequest() - Devuelve la última petición SOAP
  • SoapClient::__getLastResponse() - Devuelve la última respuesta SOAP

SoapClient::__getLastRequest
SoapClient::__getLastResponse
SoapClient


Devuelve la última respuesta SOAP

SoapClient::__getLastRequestHeaders
SoapClient::__getLastResponseHeaders
SoapClient
PHP Manual

SoapClient::__getLastResponse

(PHP 5 >= 5.0.1)

SoapClient::__getLastResponse — Devuelve la última respuesta SOAP

Descripción

public string SoapClient::__getLastResponse ( void )

Devuelve el XML recibido en la última respuesta SOAP.

Nota:

Esta función solo funciona si el objecto SoapClient fue creado con la opción trace establecida como TRUE.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La última respuesta SOAP, como cadena XML.

Ejemplos

Ejemplo #1 Ejemplo de SoapClient::__getLastResponse()

<?php
$client = SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
echo "Response:\n" . $client->__getLastResponse() . "\n";
?>

Ver también

  • SoapClient::__getLastResponseHeaders() - Devuelve los encabezados SOAP de la última respuesta
  • SoapClient::__getLastRequest() - Devuelve la última petición SOAP
  • SoapClient::__getLastRequestHeaders() - Devuelve los encabezados SOAP de la última petición

SoapClient::__getLastRequestHeaders
SoapClient::__getLastResponseHeaders
SoapClient


Devuelve los encabezados SOAP de la última respuesta

SoapClient::__getLastResponse
SoapClient::__getTypes
SoapClient
PHP Manual

SoapClient::__getLastResponseHeaders

(PHP 5 >= 5.0.1)

SoapClient::__getLastResponseHeaders — Devuelve los encabezados SOAP de la última respuesta

Descripción

public string SoapClient::__getLastResponseHeaders ( void )

Devuelve los encabezados SOAP de la última respuesta

Nota:

Esta función solo funciona si el objecto SoapClient fue creado con la opción trace establecida como TRUE.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

La última respuesta de los encabezados SOAP.

Ejemplos

Ejemplo #1 Ejemplo de SoapClient::__getLastResponse()

<?php
$client = SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
echo "RESPONSE HEADERS:\n" . $client->__getLastResponseHeaders() . "\n";
?>

Ver también

  • SoapClient::__getLastRequestHeaders() - Devuelve los encabezados SOAP de la última petición
  • SoapClient::__getLastRequest() - Devuelve la última petición SOAP
  • SoapClient::__getLastResponse() - Devuelve la última respuesta SOAP

SoapClient::__getLastResponse
SoapClient::__getTypes
SoapClient


Devuelve una lista de los tipos SOAP

SoapClient::__getLastResponseHeaders
SoapClient::__setCookie
SoapClient
PHP Manual

SoapClient::__getTypes

(PHP 5 >= 5.0.1)

SoapClient::__getTypes — Devuelve una lista de los tipos SOAP

Descripción

public array SoapClient::__getTypes ( void )

Devuelve un array de los tipos descritos en el WSDL para el servicio web.

Nota:

Esta función funciona sólo en modo WSDL.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un array de los tipos SOAP, detallando todas las estructuras y los tipos.

Ejemplos

Ejemplo #1 Ejemplo de SoapClient::__getTypes()

<?php
$client = new SoapClient('http://soap.amazon.com/schemas3/AmazonWebServices.wsdl');
var_dump($client->__getTypes());
?>

El resultado del ejemplo sería:

array(88) {
  [0]=>
  string(30) "ProductLine ProductLineArray[]"
  [1]=>
  string(85) "struct ProductLine {
 string Mode;
 string RelevanceRank;
 ProductInfo ProductInfo;
}"
  [2]=>
  string(105) "struct ProductInfo {
 string TotalResults;
 string TotalPages;
 string ListName;
 DetailsArray Details;
}"
...
  [85]=>
  string(32) "ShortSummary ShortSummaryArray[]"
  [86]=>
  string(121) "struct GetTransactionDetailsRequest {
 string tag;
 string devtag;
 string key;
 OrderIdArray OrderIds;
 string locale;
}"
  [87]=>
  string(75) "struct GetTransactionDetailsResponse {
 ShortSummaryArray ShortSummaries;
}"
}

Ver también

  • SoapClient::SoapClient() - Constructor de SoapClient

SoapClient::__getLastResponseHeaders
SoapClient::__setCookie
SoapClient


El propósito de __setCookie

SoapClient::__getTypes
SoapClient::__setLocation
SoapClient
PHP Manual

SoapClient::__setCookie

(PHP 5 >= 5.0.4)

SoapClient::__setCookie — El propósito de __setCookie

Descripción

public void SoapClient::__setCookie ( string $name [, string $value ] )

Define una cookie a ser enviada conjunto con la peticiones SOAP.

Nota:

Al llamar este método afectará a todas las siguentes llamadas a los métodos SoapClient.

Parámetros

name

El nombre de la cookie.

value

El valor de la cookie. Si no se especifica, la cookie será eliminada.

Valores devueltos

No devuelve ningún valor.

SoapClient::__getTypes
SoapClient::__setLocation
SoapClient


Define la localización del servicio Web a utilizar

SoapClient::__setCookie
SoapClient::__setSoapHeaders
SoapClient
PHP Manual

SoapClient::__setLocation

(PHP 5 >= 5.0.1)

SoapClient::__setLocation — Define la localización del servicio Web a utilizar

Descripción

public string SoapClient::__setLocation ([ string $new_location ] )

Define la URL de conexión que será usada por las siguientes peticiones SOAP. Esto es equivalente a especificar la opción location cuando se construye el SoapClient.

Nota:

Llamar este método es opcional. El SoapClient utiliza la URL de conexión desde el fichero WSDL por defecto.

Parámetros

new_location

La nueva URL de conexión.

Valores devueltos

La anterior URL de conexión.

Ejemplos

Ejemplo #1 Ejemplo de SoapClient::__setLocation()

<?php
$client = new SoapClient('http://example.com/webservice.php?wsdl');

$client->__setLocation('http://www.somethirdparty.com');

$old_location = $client->__setLocation(); // Desactiva la opción location

echo $old_location;

?>

El resultado del ejemplo sería algo similar a:

http://www.somethirdparty.com

Ver también

  • SoapClient::SoapClient() - Constructor de SoapClient

SoapClient::__setCookie
SoapClient::__setSoapHeaders
SoapClient


Define los encabezados SOAP para las subsiguentes llamadas

SoapClient::__setLocation
SoapClient::__soapCall
SoapClient
PHP Manual

SoapClient::__setSoapHeaders

(PHP 5 >= 5.0.5)

SoapClient::__setSoapHeaders — Define los encabezados SOAP para las subsiguentes llamadas

Descripción

public bool SoapClient::__setSoapHeaders ([ mixed $soapheaders ] )

Define los encabezados a enviar en las peticiones SOAP.

Nota:

Llamar este método reemplazará cualquier valor previo.

Parámetros

soapheaders

Encabezados a definir. Puede ser un objecto SoapHeader o un array de objectos SoapHeader. Si no se especifica o se define a NULL, los encabezados serán eliminados.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de SoapClient::__setSoapHeaders()

<?php

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$header = new SoapHeader('http://soapinterop.org/echoheader/',
                            'echoMeStringRequest',
                            'hola mundo');

$client->__setSoapHeaders($header);

$client->__soapCall("echoVoid", null);
?>

Ejemplo #2 Definir múltiples encabezados

<?php

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$headers = array();

$headers[] = new SoapHeader('http://soapinterop.org/echoheader/',
                            'echoMeStringRequest',
                            'hola mundo');

$headers[] = new SoapHeader('http://soapinterop.org/echoheader/',
                            'echoMeStringRequest',
                            'hola mundo otra vez');

$client->__setSoapHeaders($headers);

$client->__soapCall("echoVoid", null);
?>

SoapClient::__setLocation
SoapClient::__soapCall
SoapClient


Llama a una función SOAP

SoapClient::__setSoapHeaders
SoapClient::SoapClient
SoapClient
PHP Manual

SoapClient::__soapCall

(PHP 5 >= 5.0.1)

SoapClient::__soapCall — Llama a una función SOAP

Descripción

public mixed SoapClient::__soapCall ( string $function_name , array $arguments [, array $options [, mixed $input_headers [, array &$output_headers ]]] )

Esta es una función de bajo nivel del API que se utiliza para hacer llamadas SOAP. Usualmente, en modo WSDL, las funciones soap pueden llamarse como métodos del objecto SoapClient. Este método es útil en módo no-WSDL cuando no se conoce la soapaction, la uri es diferente de la por defecto o cuando se envian y/o reciben encabezados SOAP.

Cuando se produce un error, llamar a una función SOAP puede causar a PHP lanzar una excepción o revolver el objecto SoapFault si las excepciones están desactivadas. Para comprobar si la llamada a la función falló capturar las excepciones SoapFault, comprobar el resultado con is_soap_fault().

Parámetros

function_name

Nombre de la función SOAP a llamar.

arguments

Un array de argumentos a pasar a la función. Puede ser bien un array ordenado o asociativo. Tenga en cuenta que la mayoría de los servidores SOAP requieren que los nombres de parámetros sean proveídos, en cuyo caso ha de ser un array asociativo.

options

Un array asociativo de opciones a pasar al cliente.

La opción location es la URL del servicio Web remoto.

La opción uri es el destino del espacio de nombres del servicio SOAP.

La opción soapaction es la acción a llamar.

input_headers

Un array de encabezados a ser enviados con la petición SOAP.

output_headers

Si se proporciona, este array se llenará con los encabezados de la respuesta SOAP.

Valores devueltos

Las funciones SOAP quizá devuelven uno, o múltiples valores. Si solo un valor es devuelto por la función SOAP, el valor retornado de __soapCall será un valor siemple (p.e.j. un integer, un string, etc). Si múltiples valores son retornados, __soapCall devolverá un array asociativo de los nombrados parámetros de salida.

En caso de error, si el objecto SoapClient fue construido con la opción exceptions establecida a FALSE, devolverá un objeto SoapFault.

Ejemplos

Ejemplo #1 Ejemplo de SoapClient::__soapCall()

<?php

$client = new SoapClient("some.wsdl");
$client->SomeFunction($a, $b, $c);

$client->__soapCall("SomeFunction", array($a, $b, $c));
$client->__soapCall("SomeFunction", array($a, $b, $c), NULL,
                    new SoapHeader(), $output_headers);

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$client->SomeFunction($a, $b, $c);
$client->__soapCall("SomeFunction", array($a, $b, $c));
$client->__soapCall("SomeFunction", array($a, $b, $c),
                    array('soapaction' => 'some_action',
                          'uri'        => 'some_uri'));
?>

Ver también

  • SoapClient::SoapClient() - Constructor de SoapClient
  • SoapParam::SoapParam() - Constructor de SoapParam
  • SoapVar::SoapVar() - Constructor de SoapVar
  • SoapHeader::SoapHeader() - Constructor de SoapHeader
  • SoapFault::SoapFault() - Constructor de SoapFault
  • is_soap_fault() - Comprueba si una llamada SOAP ha fallado

SoapClient::__setSoapHeaders
SoapClient::SoapClient
SoapClient


Constructor de SoapClient

SoapClient::__soapCall
SoapServer
SoapClient
PHP Manual

SoapClient::SoapClient

(PHP 5 >= 5.0.1)

SoapClient::SoapClient — Constructor de SoapClient

Descripción

public SoapClient::SoapClient ( mixed $wsdl [, array $options ] )

Este constructor crea objectos SoapClient en modo WSDL o non-WSDL.

Parámetros

wsdl

URI de el fichero WSDL o NULL si funciona en modo non-WSDL.

Nota:

Durante el desarollo, la caché WSDL quizá esté desactivada por el uso de la opción php.ini soap.wsdl_cache_ttl de otro modo los cambios hechos en el fichero WSDL no tendrán efecto hasta que expire soap.wsdl_cache_ttl.

options

Un array de opciones. Si está funcionando en modo WSDL, este parámetro es opciona. Si está funcionando en modo no-WSDL, las opciones location y uri deben ser definidas, donde location es el URL del servidor SOAP donde enviar la petición, y uri es el espacio de nombres destino del servicio SOAP.

Las opciones style y use solo funcionan en modo no-WSDL. En modo WSDL, provienen del fichero WSDL.

La opción soap_version debería ser SOAP_1_1 o SOAP_1_2 para seleccionar SOAP 1.1 o 1.2, respectivamente. Si se omite, se usa 1.1.

Para autenticación HTTP las opciones login y password pueden ser usadas para proporcionar credenciales. para realizar una conexión HTTP a través de un servidor proxy, las opciones proxy_host, proxy_port, proxy_login y proxy_password también están disponibles. Para la autenticación del certificado del cliente HTTPS usar las opciones local_cert y passphrase. También se puede proporcionar autenticación en la opción authentication. El método de autenticación puede ser o bien SOAP_AUTHENTICATION_BASIC (por defecto) o SOAP_AUTHENTICATION_DIGEST.

La opción de compression permite usar compresión en peticiones SOAP HTTP y respuestas.

La opción encoding define la codificación interna de caracteres. Esta opción no cambia la codificación de las peticiones SOAP (pues siempre es utf-8), pero convierte las cadenas en este formato.

La opción trace activa el seguimiento de la petición para que los fallos puedan ser trazados. Por defecto es FALSE

La opción classmap puede ser usada para mapear de algunos tipos WSDL a clases PHP. Esta opción debe ser un array con los tipos WSDL como claves y nombre de las classes PHP como valores.

Definiendo la opción boelana trace activa el uso de
los métodos
SoapClient->__getLastRequest,

 SoapClient->__getLastRequestHeaders,

 SoapClient->__getLastResponse y

 SoapClient->__getLastResponseHeaders.

La opción exceptions es un valor boleano que define si errores soap lanzan excepciones del tipo SoapFault.

La opción connection_timeout define el tiempo de espera en segundos para la conexión del servicio SOAP. Esta opción no define el tiempo de espera para servicios con respuestas lentas. Para limitar el tiempo de espera para finalizar las llamadas, está disponible la opción default_socket_timeout.

La opción typemap es un array de tipos de mapeado. Los tipos de mapeado es un array con claves type_name, type_ns (namespace URI), from_xml (llamada de retorno que acepta un parámetro string) y to_xml (llamada de retorno que acepta un parámetro objeto).

La opción cache_wsdl es una de estas WSDL_CACHE_NONE, WSDL_CACHE_DISK, WSDL_CACHE_MEMORY o WSDL_CACHE_BOTH.

La opción user_agent especifica una cadena a usar en el encabezado User-Agent.

La opción stream_context es un resource para context.

La opción features es un bitmask de SOAP_SINGLE_ELEMENT_ARRAYS, SOAP_USE_XSI_ARRAY_TYPE, SOAP_WAIT_ONE_WAY_CALLS.

La opción keep_alive es un valor booleano que define si enviar la cabecera Connection: Keep-Alive o Connection: close.

La opción ssl_method es una de las constantes SOAP_SSL_METHOD_TLS, SOAP_SSL_METHOD_SSLv2, SOAP_SSL_METHOD_SSLv3 o SOAP_SSL_METHOD_SSLv23.

Errores/Excepciones

SoapClient::SoapClient() generará un error E_ERROR si las opciones location y uri no son proveídas en modo non-WSDL.

Una excepción SoapFault será arrojada si la URI wsdl no puede ser cargada.

Historial de cambios

Versión | Descripción
5.5.0 | Nueva opción ssl_method.
5.4.0 | Nueva opción keep_alive.

Ejemplos

Ejemplo #1 Ejemplo de SoapClient::SoapClient()

<?php

$client = new SoapClient("some.wsdl");

$client = new SoapClient("some.wsdl", array('soap_version'   => SOAP_1_2));

$client = new SoapClient("some.wsdl", array('login'          => "some_name",
                                            'password'       => "some_password"));

$client = new SoapClient("some.wsdl", array('proxy_host'     => "localhost",
                                            'proxy_port'     => 8080));

$client = new SoapClient("some.wsdl", array('proxy_host'     => "localhost",
                                            'proxy_port'     => 8080,
                                            'proxy_login'    => "some_name",
                                            'proxy_password' => "some_password"));

$client = new SoapClient("some.wsdl", array('local_cert'     => "cert_key.pem"));

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/",
                                     'style'    => SOAP_DOCUMENT,
                                     'use'      => SOAP_LITERAL));

$client = new SoapClient("some.wsdl",
  array('compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP));

$server = new SoapClient("some.wsdl", array('encoding'=>'ISO-8859-1'));

class MyBook {
    public $title;
    public $author;
}

$server = new SoapClient("books.wsdl", array('classmap' => array('book' => "MyBook")));

?>

SoapClient::__soapCall
SoapServer
SoapClient


La clase SoapServer

(PHP 5 >= 5.0.1)

Introducción

La clase SoapServer proporciona un servidor para los protocolos » SOAP 1.1 y » SOAP 1.2. Se puede usar con o sin servicio de descripción WSDL.

Sinopsis de la Clase

SoapServer {
/* Métodos */
public void addFunction ( mixed $functions )
public void addSoapHeader ( SoapHeader $object )
public __construct ( mixed $wsdl [, array $options ] )
public void fault ( string $code , string $string [, string $actor [, string $details [, string $name ]]] )
public array getFunctions ( void )
public void handle ([ string $soap_request ] )
public void setClass ( string $class_name [, mixed $args [, mixed $... ]] )
public void setObject ( object $object )
public void setPersistence ( int $mode )
public SoapServer ( mixed $wsdl [, array $options ] )
}

Tabla de contenidos

  • SoapServer::addFunction — Añade una o más funciones al controlador de peticiones SOAP
  • SoapServer::addSoapHeader — Añade un encabezado SOAP a la respuesta
  • SoapServer::__construct — Constructor de SoapServer
  • SoapServer::fault — SoapServer indica que ocurrió un fallo
  • SoapServer::getFunctions — Devuelve una lista de las funciones definidas
  • SoapServer::handle — Controla la petición SOAP
  • SoapServer::setClass — Define la clase que controla las peticiones SOAP
  • SoapServer::setObject — Define el objecto que será usado para controlar las peticiones SOAP
  • SoapServer::setPersistence — Establece el modo de persistencia de SoapServer
  • SoapServer::SoapServer — Constructor de SoapServer
SoapClient::SoapClient
SoapServer::addFunction
SOAP


Añade una o más funciones al controlador de peticiones SOAP

SoapServer
SoapServer::addSoapHeader
SoapServer
PHP Manual

SoapServer::addFunction

(PHP 5 >= 5.0.1)

SoapServer::addFunction — Añade una o más funciones al controlador de peticiones SOAP

Descripción

public void SoapServer::addFunction ( mixed $functions )

Exporta una o más funciones para clientes remotos

Parámetros

functions

Para exportar una función, pasa el nombre de la función en su parámetro como cadena.

Para exportar varias funciones, pasa un array con el nombre de las funciones.

Para exportar todas las funciones, pasa la constante especial SOAP_FUNCTIONS_ALL.

Nota:

Las functions deben recibir todos los argumentos de entrada en el mismo orden que fueron definidos en el fichero WSDL (no deberían recibir ningún parámetro de salida como argumento) y devolver uno o más valores. Para devolver varios valores deben devolver un array con los nombrados parámetros de salida.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplos de SoapServer::addFunction()

<?php

function echoString($inputString)
{
    return $inputString;
}

$server->addFunction("echoString");

function echoTwoStrings($inputString1, $inputString2)
{
    return array("outputString1" => $inputString1,
                 "outputString2" => $inputString2);
}
$server->addFunction(array("echoString", "echoTwoStrings"));

$server->addFunction(SOAP_FUNCTIONS_ALL);

?>

Ver también

  • SoapServer::SoapServer() - Constructor de SoapServer
  • SoapServer::setClass() - Define la clase que controla las peticiones SOAP

SoapServer
SoapServer::addSoapHeader
SoapServer


Añade un encabezado SOAP a la respuesta

SoapServer::addFunction
SoapServer::__construct
SoapServer
PHP Manual

SoapServer::addSoapHeader

(PHP 5 >= 5.0.1)

SoapServer::addSoapHeader — Añade un encabezado SOAP a la respuesta

Descripción

public void SoapServer::addSoapHeader ( SoapHeader $object )

Añade un encabezado SOAP a ser devuelto en la respuesta de la petición actual.

Parámetros

object

El encabezado a ser devuelto.

Valores devueltos

No devuelve ningún valor.

SoapServer::addFunction
SoapServer::__construct
SoapServer


Constructor de SoapServer

SoapServer::addSoapHeader
SoapServer::fault
SoapServer
PHP Manual

SoapServer::__construct

(PHP 5 >= 5.0.1)

SoapServer::__construct — Constructor de SoapServer

Descripción

public SoapServer::__construct ( mixed $wsdl [, array $options ] )

Esta función es un alias de: SoapServer::SoapServer()

SoapServer::addSoapHeader
SoapServer::fault
SoapServer


SoapServer indica que ocurrió un fallo

SoapServer::__construct
SoapServer::getFunctions
SoapServer
PHP Manual

SoapServer::fault

(PHP 5 >= 5.0.1)

SoapServer::fault — SoapServer indica que ocurrió un fallo

Descripción

public void SoapServer::fault ( string $code , string $string [, string $actor [, string $details [, string $name ]]] )

Envía una respuesta al cliente de la petición actual indicando que ocurrió un error.

Nota:

Solo puede ser llamado cuando se está procesando la petición.

Parámetros

code

El código de error a devolver

string

Una breve descripción del fallo

actor

Una cadena identificando el actor qeu causó el fallo.

details

Más información acerca del fallo

name

Nombre del fallo. Puede ser usado para selecionar un nombre desde el fichero WSDL.

Valores devueltos

No devuelve ningún valor.

Ver también

  • SoapFault::SoapFault() - Constructor de SoapFault

SoapServer::__construct
SoapServer::getFunctions
SoapServer


Devuelve una lista de las funciones definidas

SoapServer::fault
SoapServer::handle
SoapServer
PHP Manual

SoapServer::getFunctions

(PHP 5 >= 5.0.1)

SoapServer::getFunctions — Devuelve una lista de las funciones definidas

Descripción

public array SoapServer::getFunctions ( void )

Devuelve una lista de las funciones definidas en el objecto SoapServer. Este método devuelve la lista de todas las funciones añadidas por SoapServer::addFunction() o SoapServer::setClass().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Un array de las funciones definidas.

Ejemplos

Ejemplo #1 Ejemplo de SoapServer::getFunctions()

<?php
$server = new SoapServer(NULL, array("uri" => "http://test-uri"));
$server->addFunction(SOAP_FUNCTIONS_ALL);
if ($_SERVER["REQUEST_METHOD"] == "POST") {
  $server->handle();
} else {
  echo "Este servidor SOAP puede manejar las siguientes funciones: ";
  $functions = $server->getFunctions();
  foreach($functions as $func) {
    echo $func . "\n";
  }
}
?>

Ver también

  • SoapServer::SoapServer() - Constructor de SoapServer
  • SoapServer::addFunction() - Añade una o más funciones al controlador de peticiones SOAP
  • SoapServer::setClass() - Define la clase que controla las peticiones SOAP

SoapServer::fault
SoapServer::handle
SoapServer


Controla la petición SOAP

SoapServer::getFunctions
SoapServer::setClass
SoapServer
PHP Manual

SoapServer::handle

(PHP 5 >= 5.0.1)

SoapServer::handle — Controla la petición SOAP

Descripción

public void SoapServer::handle ([ string $soap_request ] )

Procesa una petición SOAP, llama a las funciones necesarias y envía una respuesta.

Parámetros

soap_request

La petición SOAP. Si se omite este argumento, se asume que la petición está en los datos POST de la petición HTTP.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de SoapServer::handle()

<?php
function test($x)
{
    return $x;
}

$server = new SoapServer(null, array('uri' => "http://test-uri/"));
$server->addFunction("test");
$server->handle();
?>

Ver también

  • SoapServer::SoapServer() - Constructor de SoapServer

SoapServer::getFunctions
SoapServer::setClass
SoapServer


Define la clase que controla las peticiones SOAP

SoapServer::handle
SoapServer::setObject
SoapServer
PHP Manual

SoapServer::setClass

(PHP 5 >= 5.0.1)

SoapServer::setClass — Define la clase que controla las peticiones SOAP

Descripción

public void SoapServer::setClass ( string $class_name [, mixed $args [, mixed $... ]] )

Exporta todos los métodos de una clase específica.

El objecto puede ser persistente durante un determinado período de sesiones PHP con el método SoapServer::setPersistence().

Parámetros

class_name

Nombre de la clase exportada.

args

Estos parámetros opcionales serán pasados al constructor de la clase por defecto durante la creación del objeto.

Valores devueltos

No devuelve ningún valor.

Ver también

  • SoapServer::SoapServer() - Constructor de SoapServer
  • SoapServer::addFunction() - Añade una o más funciones al controlador de peticiones SOAP
  • SoapServer::setPersistence() - Establece el modo de persistencia de SoapServer

SoapServer::handle
SoapServer::setObject
SoapServer


Define el objecto que será usado para controlar las peticiones SOAP

SoapServer::setClass
SoapServer::setPersistence
SoapServer
PHP Manual

SoapServer::setObject

(PHP 5 >= 5.2.0)

SoapServer::setObject — Define el objecto que será usado para controlar las peticiones SOAP

Descripción

public void SoapServer::setObject ( object $object )

Define un objecto específico como controlador para las peticiones SOAP, en lugar de solo una clase como en SoapServer::setClass().

Parámetros

object

El objecto a controlar las peticiones.

Valores devueltos

No devuelve ningún valor.

Ver también

  • SoapServer::setClass() - Define la clase que controla las peticiones SOAP

SoapServer::setClass
SoapServer::setPersistence
SoapServer


Establece el modo de persistencia de SoapServer

SoapServer::setObject
SoapServer::SoapServer
SoapServer
PHP Manual

SoapServer::setPersistence

(PHP 5 >= 5.1.2)

SoapServer::setPersistence — Establece el modo de persistencia de SoapServer

Descripción

public void SoapServer::setPersistence ( int $mode )

Esta función permite cambiar el estado de persistencia de un objeto SoapServer entre peticiones. Esta función permite guardar datos entre peticiones usando sesiones de PHP. Este método solamente tiene efecto en un SoapServer después de exportar funciones utilizando SoapServer::setClass().

Nota:

La persistencia de SOAP_PERSISTENCE_SESSION solamente hace persistentes a los objetos de la clase dad, no los datos estáticos de la clase. En este caso, use $this->bar en lugar de self::$bar.

Nota:

SOAP_PERSISTENCE_SESSION serializa datos en el objeto de clase entre peticiones. Para poder adecuadamente utilizar recursos (p.ej. PDO), deberían usarse los métodos mágicos __wakeup() y __sleep().

Parámetros

mode

Una de las constantes SOAP_PERSISTENCE_XXX.

SOAP_PERSISTENCE_REQUEST - Los datos de SoapServer no persisten entre peticiones. Este es el comportamiento predeterminado de cualquier objeto SoapServer después de llamar a setClass.

SOAP_PERSISTENCE_SESSION - Los datos de SoapServer persisten entre peticiones. Esto se lleva a cabo serializando los datos de la clase SoapServer en $_SESSION['_nombre_sesión_falso'], ya que session_start() debe invocarse antes de establecer este modo de persistencia.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de SoapServer::setPersistence()

<?php
 class MyFirstPersistentSoapServer {
     private $resource; // (Tal como PDO, mysqli, etc..)
     public $mivar1;
     public $mivar2;

     public function __construct() {
         $this->__wakeup(); // Estamos llamando nuestro wakeup para manejar nuestro recurso
     }

     public function __wakeup() {
         $this->resource = CodeToStartOurResourceUp();
     }

     public function __sleep() {
         // Nos aseguramos de omitir $resource aquí, por lo que nuestro datos de sesión persisten
         // Un fallo resultará en el fallo durante la deserialilzación de datos
         // en la próxima petición; por lo tanto, nuestro SoapObject no sería persistente entre peticiones.
         return array('mivar1','mivar2');
     }
 }

 try {
     session_start();
     $server = new SoapServer(null, array('uri' => $_SERVER['REQUEST_URI']));
     $server->setClass('MyFirstPersistentSoapServer');
     // setPersistence DEBE invocarse después de setClass, debido a que el comportamiento
     // de setClass establece SESSION_PERSISTENCE_REQUEST tras promulgar el método.
     $server->setPersistence(SOAP_PERSISTENCE_SESSION);
     $server->handle();
 } catch(SoapFault $e) {
     error_log("SOAP ERROR: ". $e->getMessage());
 }
?>

Ver también

  • SoapServer::setClass() - Define la clase que controla las peticiones SOAP

SoapServer::setObject
SoapServer::SoapServer
SoapServer


Constructor de SoapServer

SoapServer::setPersistence
SoapFault
SoapServer
PHP Manual

SoapServer::SoapServer

(PHP 5 >= 5.0.1)

SoapServer::SoapServer — Constructor de SoapServer

Descripción

public SoapServer::SoapServer ( mixed $wsdl [, array $options ] )

Este constructor permite la creación de objectos SoapServer en modo WSDL o modo no-WSDL.

Parámetros

wsdl

Para usar el SoapServer en modo WSDL, pasa la URI del fichero WSDL. De lo contrario, pasa NULL y define la opción uri a ser el destino del espacio de nombres para el servidor.

options

Permite definir la versión SOAP por defecto (soap_version), la codificación de caracteres interna (encoding), y la URI que actúa (actor).

La opción classmap puede ser usada para mapear de algunos tipos WSDL a clases PHP. Esta opción debe ser un array con los tipos WSDL como claves y nombre de las classes PHP como valores.

La opción typemap es un array de tipos de mapeado. Los tipos de mapeado es un array con claves type_name, type_ns (namespace URI), from_xml (llamada de retorno que acepta un parámetro string) y to_xml (llamada de retorno que acepta un parámetro objeto).

La opción cache_wsdl es una de estas WSDL_CACHE_NONE, WSDL_CACHE_DISK, WSDL_CACHE_MEMORY o WSDL_CACHE_BOTH.

También existe la opción features que puede ser definida a SOAP_WAIT_ONE_WAY_CALLS, SOAP_SINGLE_ELEMENT_ARRAYS, SOAP_USE_XSI_ARRAY_TYPE.

Ejemplos

Ejemplo #1 Ejemplo de SoapServer::SoapServer()

<?php

$server = new SoapServer("some.wsdl");

$server = new SoapServer("some.wsdl", array('soap_version' => SOAP_1_2));

$server = new SoapServer("some.wsdl", array('actor' => "http://example.org/ts-tests/C"));

$server = new SoapServer("some.wsdl", array('encoding'=>'ISO-8859-1'));

$server = new SoapServer(null, array('uri' => "http://test-uri/"));

class MyBook {
    public $title;
    public $author;
}

$server = new SoapServer("books.wsdl", array('classmap' => array('book' => "MyBook")));

?>

Historial de cambios

Versión | Descripción
5.2.0 | Added the typemap option.

Ver también

  • SoapClient::SoapClient() - Constructor de SoapClient

SoapServer::setPersistence
SoapFault
SoapServer


La clase SoapFault

(PHP 5 >= 5.0.1)

Introducción

Representa SOAP fault.

Sinopsis de la Clase

SoapFault extends Exception {
/* Propiedades heredadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos */
__construct ( string $faultcode , string $faultstring [, string $faultactor [, string $detail [, string $faultname [, string $headerfault ]]]] )
SoapFault ( string $faultcode , string $faultstring [, string $faultactor [, string $detail [, string $faultname [, string $headerfault ]]]] )
public string __toString ( void )
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Tabla de contenidos

  • SoapFault::__construct — Constructor de SoapFault
  • SoapFault::SoapFault — Constructor de SoapFault
  • SoapFault::__toString — Obtiene una representación en formato cadena de SoapFault
SoapServer::SoapServer
SoapFault::__construct
SOAP


Constructor de SoapFault

SoapFault
SoapFault::SoapFault
SoapFault
PHP Manual

SoapFault::__construct

(PHP 5 >= 5.0.1)

SoapFault::__construct — Constructor de SoapFault

Descripción

SoapFault::__construct ( string $faultcode , string $faultstring [, string $faultactor [, string $detail [, string $faultname [, string $headerfault ]]]] )

Esta función es un alias de: SoapFault::SoapFault()

SoapFault
SoapFault::SoapFault
SoapFault


Constructor de SoapFault

SoapFault::__construct
SoapFault::__toString
SoapFault
PHP Manual

SoapFault::SoapFault

(PHP 5 >= 5.0.1)

SoapFault::SoapFault — Constructor de SoapFault

Descripción

SoapFault::SoapFault ( string $faultcode , string $faultstring [, string $faultactor [, string $detail [, string $faultname [, string $headerfault ]]]] )

Esta clase es usada para respuestas SOAP con errores desde el controlador de PHP. faultcode, faultstring, faultactor y detail son elementos estándar de SOAP Fault.

Parámetros

faultcode

El código de error de SoapFault.

faultstring

El mensaje de error de SoapFault.

faultactor

Una cadena identificando el actor que causó el error.

detail

Más información sobre lo que causó el error.

faultname

Puede ser usado para selecionar la codificación fault apropiada desde WSDL.

headerfault

Puede ser usado durante el controlador del encabezado SOAP para informar del e rror en la respuesta del encabezado.

Ejemplos

Ejemplo #1 Algunos ejemplos

<?php
function test($x)
{
    return new SoapFault("Server", "Algun mensaje de error");
}

$server = new SoapServer(null, array('uri' => "http://test-uri/"));
$server->addFunction("test");
$server->handle();
?>

Es posible usar el sistema de excepciones de PHP para lanzar un SOAP Fault.

Ejemplo #2 Algunos ejemplos

<?php
function test($x)
{
    throw new SoapFault("Servidor", "Algún mensaje de error");
}

$server = new SoapServer(null, array('uri' => "http://test-uri/"));
$server->addFunction("test");
$server->handle();
?>

Ver también

  • SoapServer::fault() - SoapServer indica que ocurrió un fallo
  • is_soap_fault() - Comprueba si una llamada SOAP ha fallado

SoapFault::__construct
SoapFault::__toString
SoapFault


Obtiene una representación en formato cadena de SoapFault

SoapFault::SoapFault
SoapHeader
SoapFault
PHP Manual

SoapFault::__toString

(PHP 5 >= 5.0.1)

SoapFault::__toString — Obtiene una representación en formato cadena de SoapFault

Descripción

public string SoapFault::__toString ( void )

Devuelve una representación en formato cadena de SoapFault.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Una cadena describiendo el SoapFault.

SoapFault::SoapFault
SoapHeader
SoapFault


La clase SoapHeader

(PHP 5 >= 5.0.1)

Introducción

Representa un SOAP header.

Sinopsis de la Clase

SoapHeader {
/* Métodos */
__construct ( string $namespace , string $name [, mixed $data [, bool $mustunderstand [, string $actor ]]] )
SoapHeader ( string $namespace , string $name [, mixed $data [, bool $mustunderstand = false [, string $actor ]]] )
}

Tabla de contenidos

  • SoapHeader::__construct — Constructor de SoapHeader
  • SoapHeader::SoapHeader — Constructor de SoapHeader
SoapFault::__toString
SoapHeader::__construct
SOAP


Constructor de SoapHeader

SoapHeader
SoapHeader::SoapHeader
SoapHeader
PHP Manual

SoapHeader::__construct

(PHP 5 >= 5.0.1)

SoapHeader::__construct — Constructor de SoapHeader

Descripción

SoapHeader::__construct ( string $namespace , string $name [, mixed $data [, bool $mustunderstand [, string $actor ]]] )

Esta función es un alias de: SoapHeader::SoapHeader()

SoapHeader
SoapHeader::SoapHeader
SoapHeader


Constructor de SoapHeader

SoapHeader::__construct
SoapParam
SoapHeader
PHP Manual

SoapHeader::SoapHeader

(PHP 5 >= 5.0.1)

SoapHeader::SoapHeader — Constructor de SoapHeader

Descripción

SoapHeader::SoapHeader ( string $namespace , string $name [, mixed $data [, bool $mustunderstand = false [, string $actor ]]] )

Construye un nuevo objecto SoapHeader.

Parámetros

namespace

El nombre de espacios del elemento encabezado SOAP.

name

El nombre del objecto SoapHeader.

data

El contenido del encabezado SOAP. Puede ser un valor PHP o un objeto SoapVar.

mustUnderstand

Valor del atributo mustUnderstand del elemento encabezado SOAP.

actor

Valor del atributo actor del elemento encabezado SOAP.

Ejemplos

Ejemplo #1 Ejemplo de SoapHeader::SoapHeader()

<?php
$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$client->__soapCall("echoVoid", null, null,
                new SoapHeader('http://soapinterop.org/echoheader/',
                               'echoMeStringRequest',
                               'hello world'));
?>

Ver también

  • SoapClient::__soapCall() - Llama a una función SOAP
  • SoapVar::SoapVar() - Constructor de SoapVar
  • SoapParam::SoapParam() - Constructor de SoapParam
  • SoapServer::addSoapHeader() - Añade un encabezado SOAP a la respuesta

SoapHeader::__construct
SoapParam
SoapHeader


La clase SoapParam

(PHP 5 >= 5.0.1)

Introducción

Representa el parametro para una llamada a SOAP.

Sinopsis de la Clase

SoapParam {
/* Métodos */
__construct ( mixed $data , string $name )
SoapParam ( mixed $data , string $name )
}

Tabla de contenidos

  • SoapParam::__construct — Constructor de SoapParam
  • SoapParam::SoapParam — Constructor de SoapParam
SoapHeader::SoapHeader
SoapParam::__construct
SOAP


Constructor de SoapParam

SoapParam
SoapParam::SoapParam
SoapParam
PHP Manual

SoapParam::__construct

(PHP 5 >= 5.0.1)

SoapParam::__construct — Constructor de SoapParam

Descripción

SoapParam::__construct ( mixed $data , string $name )

Esta función es un alias de: SoapParam::SoapParam()

SoapParam
SoapParam::SoapParam
SoapParam


Constructor de SoapParam

SoapParam::__construct
SoapVar
SoapParam
PHP Manual

SoapParam::SoapParam

(PHP 5 >= 5.0.1)

SoapParam::SoapParam — Constructor de SoapParam

Descripción

SoapParam::SoapParam ( mixed $data , string $name )

Construye un nuevo objecto SoapParam.

Parámetros

data

Los datos a pasar o devolver. Este parámetro puede ser pasado directamente como valor PHP, pero en este caso será nombrado como paramN y el servicio SOAP quizá no lo entiende.

name

Nombre del parámetro.

Ejemplos

Ejemplo #1 Ejemplo de SoapParam::SoapParam()

<?php
$client = new SoapClient(null,array('location' => "http://localhost/soap.php",
                                    'uri'      => "http://test-uri/"));
$client->SomeFunction(new SoapParam($a, "a"),
                      new SoapParam($b, "b"),
                      new SoapParam($c, "c"));
?>

Ver también

  • SoapClient::__soapCall() - Llama a una función SOAP
  • SoapVar::SoapVar() - Constructor de SoapVar

SoapParam::__construct
SoapVar
SoapParam


La clase SoapVar

(PHP 5 >= 5.0.1)

Introducción

Una clase representando una variable u objecto para usar con los servicios SOAP.

Sinopsis de la Clase

SoapVar {
/* Métodos */
__construct ( string $data , string $encoding [, string $type_name [, string $type_namespace [, string $node_name [, string $node_namespace ]]]] )
SoapVar ( mixed $data , string $encoding [, string $type_name [, string $type_namespace [, string $node_name [, string $node_namespace ]]]] )
}

Tabla de contenidos

  • SoapVar::__construct — Constructor de SoapVar
  • SoapVar::SoapVar — Constructor de SoapVar
SoapParam::SoapParam
SoapVar::__construct
SOAP


Constructor de SoapVar

SoapVar
SoapVar::SoapVar
SoapVar
PHP Manual

SoapVar::__construct

(PHP 5 >= 5.0.1)

SoapVar::__construct — Constructor de SoapVar

Descripción

SoapVar::__construct ( string $data , string $encoding [, string $type_name [, string $type_namespace [, string $node_name [, string $node_namespace ]]]] )

Esta función es un alias de: SoapVar::SoapVar()

SoapVar
SoapVar::SoapVar
SoapVar


Constructor de SoapVar

SoapVar::__construct
Yar
SoapVar
PHP Manual

SoapVar::SoapVar

(PHP 5 >= 5.0.1)

SoapVar::SoapVar — Constructor de SoapVar

Descripción

SoapVar::SoapVar ( mixed $data , string $encoding [, string $type_name [, string $type_namespace [, string $node_name [, string $node_namespace ]]]] )

Construye un nuevo objecto SoapVar.

Parámetros

data

Datos a pasar o devolver.

encoding

ID de codificación, una de las constantes XSD_....

type_name

Tipo de nombre.

type_namespace

Tipo de espacio de nombres.

node_name

Nombre del nodo XML.

node_namespace

Espacio de nombres del nodo XML.

Ejemplos

Ejemplo #1 Ejemplo de SoapVar::SoapVar()

<?php
class SOAPStruct {
    function SOAPStruct($s, $i, $f)
    {
        $this->varString = $s;
        $this->varInt = $i;
        $this->varFloat = $f;
    }
}
$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$struct = new SOAPStruct('arg', 34, 325.325);
$soapstruct = new SoapVar($struct, SOAP_ENC_OBJECT, "SOAPStruct", "http://soapinterop.org/xsd");
$client->echoStruct(new SoapParam($soapstruct, "inputStruct"));
?>

Ver también

  • SoapClient::__soapCall() - Llama a una función SOAP
  • SoapParam::SoapParam() - Constructor de SoapParam

SoapVar::__construct
Yar
SoapVar


Yet Another RPC Framework

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • Yar_Server — The Yar_Server class
    • Yar_Server::__construct — Register a server
    • Yar_Server::handle — Start RPC Server
  • Yar_Client — The Yar_Client class
    • Yar_Client::__call — Call service
    • Yar_Client::__construct — Create a client
    • Yar_Client::setOpt — Set calling contexts
  • Yar_Concurrent_Client — The Yar_Concurrent_Client class
    • Yar_Concurrent_Client::call — Register a concurrent call
    • Yar_Concurrent_Client::loop — Send all calls
  • Yar_Server_Exception — The Yar_Server_Exception class
    • Yar_Server_Exception::getType — The getType purpose
  • Yar_Client_Exception — The Yar_Client_Exception class
    • Yar_Client_Exception::getType — The getType purpose
SoapVar::SoapVar
Introducción
Servicios web


Introducción

Yar is a RPC framework which aims to provide a simple and easy way to do communication between PHP applications It has the ability to concurrently call multiple remote services.

Yar
Instalación/Configuración
Yar


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Yar


Requerimientos

if you want to use msgpack as packager, you need compile Yar by your self with ./configure --enable-msgpack

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/yar.

Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Yar Opciones de configuración
Nombre | Por defecto | Cambiable | Historial de cambios
yar.packager | php | PHP_INI_SYSTEM |
yar.debug | Off | PHP_INI_ALL |
yar.connect_timeout | 1000 | PHP_INI_ALL |
yar.timeout | 5000 | PHP_INI_ALL |
yar.expose_info | On | PHP_INI_SYS |

He aquí una breve explicación de las directivas de configuración.

yar.packager string

it could be php, json, and msgpack(require built with msgpack support)

yar.debug string

yar.connect_timeout integer

timeout in ms

yar.timeout integer

timeout in ms

yar.expose_info bool

whether expose the service info(when access the server via GET)

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

YAR_VERSION (string)
YAR_CLIENT_PROTOCOL_HTTP (integer)
YAR_CLIENT_OPT_PACKAGER (integer)
YAR_CLIENT_OPT_TIMEOUT (integer)
YAR_CLIENT_OPT_CONNECT_TIMEOUT (integer)
YAR_PACKAGER_PHP (string)
YAR_PACKAGER_JSON (string)
YAR_ERR_OKEY (integer)
YAR_ERR_OUTPUT (integer)
YAR_ERR_TRANSPORT (integer)
YAR_ERR_REQUEST (integer)
YAR_ERR_PROTOCOL (integer)
YAR_ERR_PACKAGER (integer)
YAR_ERR_EXCEPTION (integer)

Tipos de recursos
Ejemplos
Yar


Ejemplos

Ejemplo #1 Yar Server Example

<?php

/* assume this page can be accessed by http://example.com/operator.php */

class Operator {

    /**
     * Add two operands
     * @param interge
     * @return interge
     */
    public function add($a, $b) {
        return $this->_add($a, $b);
    }

    /**
     * Sub
     */
    public function sub($a, $b) {
        return $a - $b;
    }

    /**
     * Mul
     */
    public function mul($a, $b) {
        return $a * $b;
    }

    /**
     * Protected methods will not be exposed
     * @param interge
     * @return interge
     */
    protected function _add($a, $b) {
        return $a + $b;
    }
}

$server = new Yar_Server(new Operator());
$server->handle();
?>

Ejemplo #2 Access the server in borwser(GET request)

El resultado del ejemplo sería algo similar a:

Yar Server Info

Ejemplo #3 Yar Client Example

<?php
$client = new yar_client("http://example.com/operator.php");

/* call directly */
var_dump($client->add(1, 2));

/* call via call */
var_dump($client->call("add", array(3, 2)));

/* __add can not be called */
var_dump($client->_add(1, 2));
?>

El resultado del ejemplo sería algo similar a:

int(3)
int(5)
PHP Fatal error:  Uncaught exception 'Yar_Server_Exception' with message 'call to api Operator::_add() failed' in *

Ejemplo #4 Yar Concurrent Client Example

<?php
function callback($ret, $callinfo) {
    echo $callinfo['method'] , " result: ", $ret , "\n";
}

/* register async call to remote services */
Yar_Concurrent_Client::call("http://example.com/operator.php", "add", array(1, 2), "callback");
Yar_Concurrent_Client::call("http://example.com/operator.php", "sub", array(2, 1), "callback");
Yar_Concurrent_Client::call("http://example.com/operator.php", "mul", array(2, 2), "callback");

/* sent all request and wait for response */
Yar_Concurrent_Client::loop();
?>

El resultado del ejemplo sería algo similar a:

mul result: 4
sub result: 1
add result: 3
Constantes predefinidas
Yar_Server
Yar


The Yar_Server class

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Sinopsis de la Clase

Yar_Server {
/* Propiedades */
protected $_executor ;
/* Métodos */
final public __construct ( Object $obj )
public boolean handle ( void )
}

Propiedades

_executor

Tabla de contenidos

  • Yar_Server::__construct — Register a server
  • Yar_Server::handle — Start RPC Server
Ejemplos
Yar_Server::__construct
Yar


Register a server

Yar_Server
Yar_Server::handle
Yar_Server
PHP Manual

Yar_Server::__construct

(PECL yar >= 1.0.0)

Yar_Server::__construct — Register a server

Descripción

final public Yar_Server::__construct ( Object $obj )

Set up a Yar HTTP RPC Server, All the public methods of $obj will be register as a RPC service.

Parámetros

obj

An Object, all public methods of its will be registered as RPC services.

Valores devueltos

An instance of Yar_Server.

Ejemplos

Ejemplo #1 Yar_Server::__construct() example

<?php
class API {
    /**
     * the doc info will be generated automatically into service info page.
     * @params
     * @return
     */
    public function some_method($parameter, $option = "foo") {
         return "some_method";
    }

    protected function client_can_not_see() {
    }
}

$service = new Yar_Server(new API());
$service->handle();
?>

El resultado del ejemplo sería algo similar a:

Ver también

  •  Yar_Server::handle() - Start RPC Server
    •

Yar_Server

Yar_Server::handle

Yar_Server


Start RPC Server

Yar_Server::__construct
Yar_Client
Yar_Server
PHP Manual

Yar_Server::handle

(PECL yar >= 1.0.0)

Yar_Server::handle — Start RPC Server

Descripción

public boolean Yar_Server::handle ( void )

Start a RPC HTTP server, and ready for accpet RPC requests.

Nota:

Usual RPC calls will be issued as HTTP POST requests. If a HTTP GET request is issued to the uri, the service information (commented section above) will be printed on the page

Parámetros

Esta función no tiene parámetros.

Valores devueltos

boolean

Ejemplos

Ejemplo #1 Yar_Server::handle() example

<?php
class API {
    /**
     * the doc info will be generated automatically into service info page.
     * @params
     * @return
     */
    public function some_method($parameter, $option = "foo") {
    }

    protected function client_can_not_see() {
    }
}

$service = new Yar_Server(new API());
$service->handle();
?>

El resultado del ejemplo sería algo similar a:

Ver también

  •  Yar_Server::__construct() - Register a server
    •

Yar_Server::__construct

Yar_Client

Yar_Server


The Yar_Client class

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Sinopsis de la Clase

Yar_Client {
/* Propiedades */
protected $_protocol ;
protected $_uri ;
protected $_options ;
protected $_running ;
/* Métodos */
public void __call ( string $method , array $parameters )
final public __construct ( string $url )
public boolean setOpt ( number $name , mixed $value )
}

Propiedades

_protocol

_uri

_options

_running

Tabla de contenidos

  • Yar_Client::__call — Call service
  • Yar_Client::__construct — Create a client
  • Yar_Client::setOpt — Set calling contexts
Yar_Server::handle
Yar_Client::__call
Yar


Call service

Yar_Client
Yar_Client::__construct
Yar_Client
PHP Manual

Yar_Client::__call

(PECL yar >= 1.0.0)

Yar_Client::__call — Call service

Descripción

public void Yar_Client::__call ( string $method , array $parameters )

Issue a call to remote RPC method.

Parámetros

method

Remote RPC method name.

parameters

Parameters.

Valores devueltos

Ejemplos

Ejemplo #1 Yar_Client::__call() example

<?php

$client = new Yar_Client("http://host/api/");

/* call remote service */
$result = $client->some_method("parameter");
?>

El resultado del ejemplo sería algo similar a:

Ver también

  •  Yar_Client::setOpt() - Set calling contexts
    •

Yar_Client

Yar_Client::__construct

Yar_Client


Create a client

Yar_Client::__call
Yar_Client::setOpt
Yar_Client
PHP Manual

Yar_Client::__construct

(PECL yar >= 1.0.0)

Yar_Client::__construct — Create a client

Descripción

final public Yar_Client::__construct ( string $url )

Create a Yar_Client to a Yar_Server.

Parámetros

url

Yar Server URL.

Valores devueltos

Yar_Client instance.

Ejemplos

Ejemplo #1 Yar_Client::__construct() example

<?php
$client = new Yar_Client("http://host/api/");
?>

El resultado del ejemplo sería algo similar a:

Ver también

  •  Yar_Client::__call() - Call service
    •

  •  Yar_Client::setOpt() - Set calling contexts
    •

Yar_Client::__call

Yar_Client::setOpt

Yar_Client


Set calling contexts

Yar_Client::__construct
Yar_Concurrent_Client
Yar_Client
PHP Manual

Yar_Client::setOpt

(PECL yar >= 1.0.0)

Yar_Client::setOpt — Set calling contexts

Descripción

public boolean Yar_Client::setOpt ( number $name , mixed $value )

Parámetros

name

it can be: YAR_OPT_PACKAGER, YAR_OPT_PERSISTENT (Need server support), YAR_OPT_TIMEOUT, YAR_OPT_CONNECT_TIMEOUT

value

Valores devueltos

Ejemplos

Ejemplo #1 Yar_Client::setOpt() example

<?php

$cient = new Yar_Client("http://host/api/");

//Set timeout to 1s
$client->SetOpt(YAR_OPT_CONNECT_TIMEOUT, 1000);

//Set packager to JSON
$client->SetOpt(YAR_OPT_PACKAGER, "json");

/* call remote service */
$result = $client->some_method("parameter");
?>

El resultado del ejemplo sería algo similar a:

Ver también

  •  Yar_Client::__call() - Call service
    •

Yar_Client::__construct

Yar_Concurrent_Client

Yar_Client


The Yar_Concurrent_Client class

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Sinopsis de la Clase

Yar_Concurrent_Client {
/* Propiedades */
static $_callstack ;
static $_callback ;
static $_error_callback ;
/* Métodos */
public static int call ( string $uri , string $method , array $parameters [, callable $callback ] )
public static boolean loop ([ callable $callback [, callable $error_callback ]] )
}

Propiedades

_callstack

_callback

_error_callback

Tabla de contenidos

  • Yar_Concurrent_Client::call — Register a concurrent call
  • Yar_Concurrent_Client::loop — Send all calls
Yar_Client::setOpt
Yar_Concurrent_Client::call
Yar


Register a concurrent call

Yar_Concurrent_Client
Yar_Concurrent_Client::loop
Yar_Concurrent_Client
PHP Manual

Yar_Concurrent_Client::call

(PECL yar >= 1.0.0)

Yar_Concurrent_Client::call — Register a concurrent call

Descripción

public static int Yar_Concurrent_Client::call ( string $uri , string $method , array $parameters [, callable $callback ] )

Register a RPC call, but won't sent it immediately, it will be send while further call to Yar_Concurrent_Client::loop()

Parámetros

uri

The RPC server URI(http, tcp)

method

Service name(aka the method name)

parameters

Parameters

callback

A function callback, which will be called while the response return.

Valores devueltos

An unique id, can be used to identified which call it is.

Ejemplos

Ejemplo #1 Yar_Concurrent_Client::call() example

<?php
function callback($retval, $callinfo) {
     var_dump($retval);
}

function error_callback($type, $error, $callinfo) {
    error_log($error);
}

Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback");
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"));   // if the callback is not specificed,
                                                                               // callback in loop will be used
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_PACKAGER => "json"));
                                                                               //this server accept json packager
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_TIMEOUT=>1));
                                                                               //custom timeout

//The requests are not sent yet
?>

El resultado del ejemplo sería algo similar a:

Ver también

  •  Yar_Concurrent_Client::loop() - Send all calls
    •

  •  Yar_Server::__construct() - Register a server
    •

  •  Yar_Server::handle() - Start RPC Server
    •

Yar_Concurrent_Client

Yar_Concurrent_Client::loop

Yar_Concurrent_Client


Send all calls

Yar_Concurrent_Client::call
Yar_Server_Exception
Yar_Concurrent_Client
PHP Manual

Yar_Concurrent_Client::loop

(PECL yar >= 1.0.0)

Yar_Concurrent_Client::loop — Send all calls

Descripción

public static boolean Yar_Concurrent_Client::loop ([ callable $callback [, callable $error_callback ]] )

Send all registed remote RPC calls.

Parámetros

callback

If this callback is set, then Yar will call this callback after all calls are sent and before any response return, with a $callinfo NULL.

Then, if user didn't specify callback when registering concurrent call, this callback will be used to handle response, otherwise, the callback specified while registering will be used.

error_callback

If this callback is set, then Yar will call this callback while error occurred.

Valores devueltos

Ejemplos

Ejemplo #1 Yar_Concurrent_Client::loop() example

<?php
function callback($retval, $callinfo) {
     if ($callinfo == NULL) {
        echo "Now, all requests are sent, and no any response available\n";
     } else {
              echo "This is a remote call response, the method name is", $callinfo["method"],
                      ". calling sequence is " , $callinfo["sequence"] , "\n";
        var_dump($retval);
     }
}

function error_callback($type, $error, $callinfo) {
    error_log($error);
}

Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback");
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"));   // if the callback is not specificed,
                                                                               // callback in loop will be used
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_PACKAGER => "json"));
                                                                               //this server accept json packager
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_TIMEOUT=>1));
                                                                               //custom timeout

Yar_Concurrent_Client::loop("callback", "error_callback"); //send the requests,
                                                           //the error_callback is optional
?>

El resultado del ejemplo sería algo similar a:

Now, all requests are sent, and no any response available
This is a remote call response, the method name issome_method. calling sequence is 4
string(11) "some_method"
This is a remote call response, the method name issome_method. calling sequence is 1
string(11) "some_method"
This is a remote call response, the method name issome_method. calling sequence is 2
string(11) "some_method"
This is a remote call response, the method name issome_method. calling sequence is 3
string(11) "some_method"

Ver también

  • Yar_Concurrent_Client::call() - Register a concurrent call
  • Yar_Server::__construct() - Register a server
  • Yar_Server::handle() - Start RPC Server
Yar_Concurrent_Client::call
Yar_Server_Exception
Yar_Concurrent_Client


The Yar_Server_Exception class

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

If service threw exceptions, A Yar_Server_Exception will be threw in client side.

Sinopsis de la Clase

Yar_Server_Exception extends Exception {
/* Propiedades */
protected $_type ;
/* Métodos */
public string getType ( void )
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Propiedades

message

code

file

line

_type

Tabla de contenidos

  • Yar_Server_Exception::getType — The getType purpose
Yar_Concurrent_Client::loop
Yar_Server_Exception::getType
Yar


The getType purpose

Yar_Server_Exception
Yar_Client_Exception
Yar_Server_Exception
PHP Manual

Yar_Server_Exception::getType

(PECL yar >= 1.0.0)

Yar_Server_Exception::getType — The getType purpose

Descripción

public string Yar_Server_Exception::getType ( void )

Get the exception original type threw by server

Parámetros

Esta función no tiene parámetros.

Valores devueltos

string

Ejemplos

Ejemplo #1 Yar_Server_Exception::getType() example

//Server.php
<?php
class Custom_Exception extends Exception {};

class API {
    public function throw_exception($name) {
        throw new Custom_Exception($name);
    }
}

$service = new Yar_Server(new API());
$service->handle();
?>

//Client.php
<?php
$client = new Yar_Client("http://host/api.php");

try {
    $client->throw_exception("client");
} catch (Yar_Server_Exception $e) {
    var_dump($e->getType());
    var_dump($e->getMessage());
}

El resultado del ejemplo sería algo similar a:

string(16) "Custom_Exception"
string(6) "client"

Ver también

Yar_Server_Exception
Yar_Client_Exception
Yar_Server_Exception


The Yar_Client_Exception class

(No hay información de versión disponible, podría estar únicamente en SVN)

Introducción

Sinopsis de la Clase

Yar_Client_Exception extends Exception {
/* Propiedades */
/* Métodos */
public void getType ( void )
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Propiedades

message

code

file

line

Tabla de contenidos

  • Yar_Client_Exception::getType — The getType purpose
Yar_Server_Exception::getType
Yar_Client_Exception::getType
Yar


The getType purpose

Yar_Client_Exception
XML-RPC
Yar_Client_Exception
PHP Manual

Yar_Client_Exception::getType

(PECL yar >= 1.0.0)

Yar_Client_Exception::getType — The getType purpose

Descripción

public void Yar_Client_Exception::getType ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Ejemplos

Ejemplo #1 Yar_Client_Exception::getType() example

<?php

/* ... */

?>

El resultado del ejemplo sería algo similar a:

...

Ver también

Yar_Client_Exception
XML-RPC
Yar_Client_Exception


XML-RPC

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de XML-RPC
    • xmlrpc_decode_request — Decodifica el XML en los tipos de PHP nativos
    • xmlrpc_decode — Decodifica el XML en los tipos de PHP nativos
    • xmlrpc_encode_request — Genera XML para el requerimiento de un método
    • xmlrpc_encode — Genera XML para un valor PHP
    • xmlrpc_get_type — Obtiene el tipo del xmlrpc para un valor PHP
    • xmlrpc_is_fault — Determina si el valor de un arreglo representa una falla del XMLRPC
    • xmlrpc_parse_method_descriptions — Decodifica el XML en una lista de las descripciones del método
    • xmlrpc_server_add_introspection_data — Agrega una documentación introspectiva
    • xmlrpc_server_call_method — Analiza los requerimientos del XML y las llamadas de los métodos
    • xmlrpc_server_create — Crea un servidor xmlrpc
    • xmlrpc_server_destroy — Destruye los recursos del servidor
    • xmlrpc_server_register_introspection_callback — Registra una función PHP para generar la documentación
    • xmlrpc_server_register_method — Registra una función PHP para que el recurso del método coincida con method_name
    • xmlrpc_set_type — Establece el tipo del xmlrpc, base64 o fecha-hora, para un valor de cadena PHP
Yar_Client_Exception::getType
Introducción
Servicios web


Introducción

Estas funciones se pueden usar para escribir servidores y clientes XML-RPC. Se puede encontrar más información acerca de XML-RPC en » http://www.xmlrpc.com/, y más documentación sobre esta extensión y sus funciones en » http://xmlrpc-epi.sourceforge.net/.

Advertencia

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombres de sus funciones y todo lo documentado sobre esta extensión, puede cambiar en una futura edición de PHP sin previo aviso. El uso de esta extensión queda bajo su propia responsabilidad.

XML-RPC
Instalación/Configuración
XML-RPC


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
XML-RPC


Instalación

El XML-RPC soportado en PHP no está activado por defecto. Se necesita usar la opción configuración de --with-xmlrpc[=DIR] cuando es compilado el PHP para activar el soporte a XML-RPC support. Ésta extensión está incluida en PHP a partir de 4.1.0.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

Ésta extensión define un recurso de servicio de XML-RPC devuelto por xmlrpc_server_create().

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Funciones de XML-RPC
XML-RPC


Funciones de XML-RPC

Tabla de contenidos

  • xmlrpc_decode_request — Decodifica el XML en los tipos de PHP nativos
  • xmlrpc_decode — Decodifica el XML en los tipos de PHP nativos
  • xmlrpc_encode_request — Genera XML para el requerimiento de un método
  • xmlrpc_encode — Genera XML para un valor PHP
  • xmlrpc_get_type — Obtiene el tipo del xmlrpc para un valor PHP
  • xmlrpc_is_fault — Determina si el valor de un arreglo representa una falla del XMLRPC
  • xmlrpc_parse_method_descriptions — Decodifica el XML en una lista de las descripciones del método
  • xmlrpc_server_add_introspection_data — Agrega una documentación introspectiva
  • xmlrpc_server_call_method — Analiza los requerimientos del XML y las llamadas de los métodos
  • xmlrpc_server_create — Crea un servidor xmlrpc
  • xmlrpc_server_destroy — Destruye los recursos del servidor
  • xmlrpc_server_register_introspection_callback — Registra una función PHP para generar la documentación
  • xmlrpc_server_register_method — Registra una función PHP para que el recurso del método coincida con method_name
  • xmlrpc_set_type — Establece el tipo del xmlrpc, base64 o fecha-hora, para un valor de cadena PHP
Constantes predefinidas
xmlrpc_decode_request
XML-RPC


Decodifica el XML en los tipos de PHP nativos

Funciones de XML-RPC
xmlrpc_decode
Funciones de XML-RPC
PHP Manual

xmlrpc_decode_request

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_decode_request — Decodifica el XML en los tipos de PHP nativos

Descripción

mixed xmlrpc_decode_request ( string $xml , string &$method [, string $encoding ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Funciones de XML-RPC
xmlrpc_decode
Funciones de XML-RPC


Decodifica el XML en los tipos de PHP nativos

xmlrpc_decode_request
xmlrpc_encode_request
Funciones de XML-RPC
PHP Manual

xmlrpc_decode

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_decode — Decodifica el XML en los tipos de PHP nativos

Descripción

mixed xmlrpc_decode ( string $xml [, string $encoding = "iso-8859-1" ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

xml

La respuesta XML devuelta por el método XMLRPC.

encoding

Entrada de codificación que admite iconv.

Valores devueltos

Devuelve o un arreglo, o un entero, o una cadena, o un booleano conforme a la respuesta devuelta por el método XMLRPC.

Ejemplos

Ver el ejemplo de xmlrpc_encode_request().

Ver también

  • xmlrpc_encode_request() - Genera XML para el requerimiento de un método
  • xmlrpc_is_fault() - Determina si el valor de un arreglo representa una falla del XMLRPC

xmlrpc_decode_request
xmlrpc_encode_request
Funciones de XML-RPC


Genera XML para el requerimiento de un método

xmlrpc_decode
xmlrpc_encode
Funciones de XML-RPC
PHP Manual

xmlrpc_encode_request

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_encode_request — Genera XML para el requerimiento de un método

Descripción

string xmlrpc_encode_request ( string $method , mixed $params [, array $output_options ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

method

El nombre del método a llamar.

params

Los parámetros de los métodos compatibles con la firma del método.

output_options

Las opciones de salida de un arreglo especifico pueden contener (por defecto valores que son enfatizados):

  • output_type: php, xml

  • verbosity: no_white_space, newlines_only, pretty

  • escaping: cdata, non-ascii, non-print, markup (may be a string with one value or an array with multiple values)

  • version: simple, xmlrpc, soap 1.1, auto

  • encoding: iso-8859-1, other character set supported by iconv

Valores devueltos

Devuelve una cadena conteniendo la representación del XML del requerimiento.

Ejemplos

Ejemplo #1 Ejmeplo de las funciones de clietes de XMLRPC

<?php
$request = xmlrpc_encode_request("method", array(1, 2, 3));
$context = stream_context_create(array('http' => array(
    'method' => "POST",
    'header' => "Content-Type: text/xml",
    'content' => $request
)));
$file = file_get_contents("http://www.example.com/xmlrpc", false, $context);
$response = xmlrpc_decode($file);
if ($response && xmlrpc_is_fault($response)) {
    trigger_error("xmlrpc: $response[faultString] ($response[faultCode])");
} else {
    print_r($response);
}
?>

Ver también

  • stream_context_create() - Crear un contexto de flujo
  • file_get_contents() - Transmite un fichero entero a una cadena
  • xmlrpc_decode() - Decodifica el XML en los tipos de PHP nativos

xmlrpc_decode
xmlrpc_encode
Funciones de XML-RPC


Genera XML para un valor PHP

xmlrpc_encode_request
xmlrpc_get_type
Funciones de XML-RPC
PHP Manual

xmlrpc_encode

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_encode — Genera XML para un valor PHP

Descripción

string xmlrpc_encode ( mixed $value )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

xmlrpc_encode_request
xmlrpc_get_type
Funciones de XML-RPC


Obtiene el tipo del xmlrpc para un valor PHP

xmlrpc_encode
xmlrpc_is_fault
Funciones de XML-RPC
PHP Manual

xmlrpc_get_type

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_get_type — Obtiene el tipo del xmlrpc para un valor PHP

Descripción

string xmlrpc_get_type ( mixed $value )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ésta función es específicamente útil para la base64 y las cadenas fecha-hora.

Parámetros

value

valor de PHP

Valores devueltos

Devuelve el tipo de XML-RPC.

Ejemplos

Ejemplo #1 Ejemplo de tipo de XML-RPC

<?php
echo xmlrpc_get_type(null) . "\n"; // base64
echo xmlrpc_get_type(false) . "\n"; // boolean
echo xmlrpc_get_type(1) . "\n"; // int
echo xmlrpc_get_type(1.0) . "\n"; // double
echo xmlrpc_get_type("") . "\n"; // string
echo xmlrpc_get_type(array()) . "\n"; // array
echo xmlrpc_get_type(new stdClass) . "\n"; // array
echo xmlrpc_get_type(STDIN) . "\n"; // int
?>

Ver también

  • xmlrpc_set_type() - Establece el tipo del xmlrpc, base64 o fecha-hora, para un valor de cadena PHP

xmlrpc_encode
xmlrpc_is_fault
Funciones de XML-RPC


Determina si el valor de un arreglo representa una falla del XMLRPC

xmlrpc_get_type
xmlrpc_parse_method_descriptions
Funciones de XML-RPC
PHP Manual

xmlrpc_is_fault

(PHP 4 >= 4.3.0, PHP 5)

xmlrpc_is_fault — Determina si el valor de un arreglo representa una falla del XMLRPC

Descripción

bool xmlrpc_is_fault ( array $arg )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

arg

El arreglo devuelto por xmlrpc_decode().

Valores devueltos

Devuelve TRUE si emabargo si el argumento significa fallo retorna, FALSE. La descripción de la falla o falta está disponible en $arg["faultString"], fault el código está en $arg["faultCode"].

Ejemplos

Ver ejemplo de xmlrpc_encode_request().

Ver también

  • xmlrpc_decode() - Decodifica el XML en los tipos de PHP nativos

xmlrpc_get_type
xmlrpc_parse_method_descriptions
Funciones de XML-RPC


Decodifica el XML en una lista de las descripciones del método

xmlrpc_is_fault
xmlrpc_server_add_introspection_data
Funciones de XML-RPC
PHP Manual

xmlrpc_parse_method_descriptions

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_parse_method_descriptions — Decodifica el XML en una lista de las descripciones del método

Descripción

array xmlrpc_parse_method_descriptions ( string $xml )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

xmlrpc_is_fault
xmlrpc_server_add_introspection_data
Funciones de XML-RPC


Agrega una documentación introspectiva

xmlrpc_parse_method_descriptions
xmlrpc_server_call_method
Funciones de XML-RPC
PHP Manual

xmlrpc_server_add_introspection_data

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_server_add_introspection_data — Agrega una documentación introspectiva

Descripción

int xmlrpc_server_add_introspection_data ( resource $server , array $desc )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

xmlrpc_parse_method_descriptions
xmlrpc_server_call_method
Funciones de XML-RPC


Analiza los requerimientos del XML y las llamadas de los métodos

xmlrpc_server_add_introspection_data
xmlrpc_server_create
Funciones de XML-RPC
PHP Manual

xmlrpc_server_call_method

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_server_call_method — Analiza los requerimientos del XML y las llamadas de los métodos

Descripción

string xmlrpc_server_call_method ( resource $server , string $xml , mixed $user_data [, array $output_options ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

xmlrpc_server_add_introspection_data
xmlrpc_server_create
Funciones de XML-RPC


Crea un servidor xmlrpc

xmlrpc_server_call_method
xmlrpc_server_destroy
Funciones de XML-RPC
PHP Manual

xmlrpc_server_create

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_server_create — Crea un servidor xmlrpc

Descripción

resource xmlrpc_server_create ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

xmlrpc_server_call_method
xmlrpc_server_destroy
Funciones de XML-RPC


Destruye los recursos del servidor

xmlrpc_server_create
xmlrpc_server_register_introspection_callback
Funciones de XML-RPC
PHP Manual

xmlrpc_server_destroy

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_server_destroy — Destruye los recursos del servidor

Descripción

int xmlrpc_server_destroy ( resource $server )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

xmlrpc_server_create
xmlrpc_server_register_introspection_callback
Funciones de XML-RPC


Registra una función PHP para generar la documentación

xmlrpc_server_destroy
xmlrpc_server_register_method
Funciones de XML-RPC
PHP Manual

xmlrpc_server_register_introspection_callback

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_server_register_introspection_callback — Registra una función PHP para generar la documentación

Descripción

bool xmlrpc_server_register_introspection_callback ( resource $server , string $function )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

xmlrpc_server_destroy
xmlrpc_server_register_method
Funciones de XML-RPC


Registra una función PHP para que el recurso del método coincida con method_name

xmlrpc_server_register_introspection_callback
xmlrpc_set_type
Funciones de XML-RPC
PHP Manual

xmlrpc_server_register_method

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_server_register_method — Registra una función PHP para que el recurso del método coincida con method_name

Descripción

bool xmlrpc_server_register_method ( resource $server , string $method_name , string $function )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

xmlrpc_server_register_introspection_callback
xmlrpc_set_type
Funciones de XML-RPC


Establece el tipo del xmlrpc, base64 o fecha-hora, para un valor de cadena PHP

xmlrpc_server_register_method
Extensiones específicas de Windows
Funciones de XML-RPC
PHP Manual

xmlrpc_set_type

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_set_type — Establece el tipo del xmlrpc, base64 o fecha-hora, para un valor de cadena PHP

Descripción

bool xmlrpc_set_type ( string &$value , string $type )

Establece el tipo del xmlrpc, base64 o fecha-hora, para un valor de cadena PHP.

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Parámetros

value

Value to set the type

type

'base64' or 'datetime'

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. If successful, value is converted to an object.

Ejemplos

Ejemplo #1 A xmlrpc_set_type() example

<?php

$params = date("Ymd\TH:i:s", time());
xmlrpc_set_type($params, 'datetime');
echo xmlrpc_encode($params);

?>

El resultado del ejemplo sería algo similar a:

<?xml version="1.0" encoding="utf-8"?>
<params>
<param>
 <value>
  <dateTime.iso8601>20090322T23:43:03</dateTime.iso8601>
 </value>
</param>
</params>

Errores/Excepciones

Issues E_WARNING with type unsupported by XMLRPC.

xmlrpc_server_register_method
Extensiones específicas de Windows
Funciones de XML-RPC


Extensiones específicas de Windows

  • .NET
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de .NET
  • COM — COM y .Net (Windows)
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Errores y manejo de errores
    • Ejemplos
    • COM — La clase COM
    • DOTNET — La clase DOTNET
    • VARIANT — VARIANT class
    • Funciones de COM
  • Printer
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de Impresora
  • W32api
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones W32api
  • win32ps
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones win32ps
  • win32service
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones win32service
xmlrpc_set_type
.NET
Referencia de funciones


.NET

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de .NET
    • dotnet_load — Carga un módulo de DOTNET
Extensiones específicas de Windows
Introducción
Extensiones específicas de Windows


Introducción

Advertencia

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombres de sus funciones y todo lo documentado sobre esta extensión, puede cambiar en una futura edición de PHP sin previo aviso. El uso de esta extensión queda bajo su propia responsabilidad.

.NET
Instalación/Configuración
.NET


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
.NET


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Funciones de .NET
.NET


Funciones de .NET

Tabla de contenidos

  • dotnet_load — Carga un módulo de DOTNET
Constantes predefinidas
dotnet_load
.NET


Carga un módulo de DOTNET

Funciones de .NET
COM
Funciones de .NET
PHP Manual

dotnet_load

(PHP 4)

dotnet_load — Carga un módulo de DOTNET

Descripción

int dotnet_load ( string $assembly_name [, string $datatype_name [, int $codepage ]] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Historial de cambios

Versión | Descripción
4.1.0 | Se añadió el parámetro codepage

Funciones de .NET
COM
Funciones de .NET


COM y .Net (Windows)

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Errores y manejo de errores
  • Ejemplos
    • For Each
    • Arrays y propiedades estilo array de COM
  • COM — La clase COM
  • DOTNET — La clase DOTNET
  • VARIANT — VARIANT class
  • Funciones de COM
    • com_addref — Aumenta el contador de referencia de componentes [obsoleto]
    • com_create_guid — Generar un identificador único globalmente (GUID)
    • com_event_sink — Conectar eventos de un objeto COM a un objeto PHP
    • com_get_active_object — Devuelve un gestor a una instancia de un objeto COM ya en ejecución
    • com_get — Obtiene el valor de una propiedad de un Componente COM Component [obsoleto]
    • com_invoke — Llama a un método de un componente COM [obsoleto]
    • com_isenum — Indica si un objeto COM tiene una interfaz IEnumVariant para iteraciones [obsoleto]
    • com_load_typelib — Carga una biblioteca de tipos
    • com_load — Crea una nueva referencia a un componente COM [obsoleto]
    • com_message_pump — Procesar mensajes COM, durmiendo hata timeoutms milisegundos
    • com_print_typeinfo — Imprime una definición de clase de PHP para una interfaz despachable
    • com_propget — Alias de com_get
    • com_propput — Alias de com_set
    • com_propset — Alias de com_set
    • com_release — Disminuye el contador de referencia de componentes [obsoleto]
    • com_set — Asigna un valor a una propiedad de un componente COM
    • variant_abs — Devuelve el valor absoluto de una variante
    • variant_add — "Suma" dos variantes y devuelve el resultado
    • variant_and — Realiza una operación AND a nivel de bits entre dos variantes
    • variant_cast — Convertir una variante en un nuevo objeto variante de otro tipo
    • variant_cat — Concatena dos valores de variantes y devuelve el resultado
    • variant_cmp — Compara dos variantes
    • variant_date_from_timestamp — Devuelve una representación de variante de fecha de una fecha Unix
    • variant_date_to_timestamp — Convierte un valor de una variante de fecha/hora en una fecha Unix
    • variant_div — Devuelve el resultado de dividir dos variantes
    • variant_eqv — Realiza una equivalencia a nivel de bits en dos variantes
    • variant_fix — Devuelve la parte entera de una variante
    • variant_get_type — Devuelve el tipo de un objeto variante
    • variant_idiv — Convierte variantes a enteros y después devuelve el resultado dividiéndolos
    • variant_imp — Realiza una implicación a nivel de bits de dos variantes
    • variant_int — Devuelve la parte entera de una variante
    • variant_mod — Divide dos variantes y devuelve sólo el resto
    • variant_mul — Multiplica los valores de dos variantes
    • variant_neg — Realiza una negación lógica de una variante
    • variant_not — Realiza una negación NOT a nivel de bits en una variante
    • variant_or — Realiza una disyunción lógica de dos variantes
    • variant_pow — Devuelve el resultado de realizar la exponenciación con dos variantes
    • variant_round — Redondea una variante al número de lugares decimales especificado
    • variant_set_type — Convierte una variante en otro tipo "in situ"
    • variant_set — Asigna un nuevo valor para un objeto variante
    • variant_sub — Resta el valor de la variante derecha del valor de la varienta izquierda
    • variant_xor — Realiza una exclución lógica de dos variantes
dotnet_load
Introducción
Extensiones específicas de Windows


Introducción

COM es un acrónimo de Component Object Model (Modelo de Objetos de Componentes); es una capa orientada a objetos (y servicios asociados) sobre DCE RPC (un estándar abierto) y define una convención de llamada común que habilita al código escrito en cualquier lenguaje para llamar e interoperar con código escrito en cualquier otro lenguaje (siempre que esos lenguajes sean concernientes a COM). El código no sólo puede ser escrito en cualquier lenguaje, sino que incluso no necesita ser parte del mismo ejecutable; el código se puede cargar desde una DLL, encontrarse en otro proceso en ejecución en la misma máquina, o, con DCOM (COM Distribuido), encontrarse en otro proceso en ejecución en una máquina remota, todo sin que el código necesite conocer dónde reside un componente.

Existe un subconjunto de COM, conocido como OLE Automation, que comprende un conjunto de interfaces COM que permiten la vinculación flexible de objetos COM, por lo que pueden ser examinados internamente y llamados en tiempo de ejecución sin tener conocimiento de cómo funcionan los objetos en tiempo de compilación. La extensión COM de PHP utiliza las interfaces de OLE Automation para permitir crear y llamar objetos compatibles desde los scripts. Técnicamente hablando, esta extensión debería llamarse la "Extensión de OLE Automation para PHP", ya que no todos los objetos COM son compatibles con OLE.

Ahora, ¿por qué usar COM? COM es una de las principales formas de casar aplicaciones y componentes en la plataforma Windows; al usar COM, se puede lanzar Microsoft Word, rellenar una plantilla de documento y guardar el resultado como un documento de Word y enviarlo a un visitante de su página web. También se puede usar COM para realizar tareas administrativas en su red y configurar IIS; estos son lo usos más comunes; se puede hacer mucho más con COM.

Desde PHP 5, esta extensión (y su documentación) fue rescrita desde cero y se ha eliminado mucho del código confuso y de mala calidad. Además, se admite la instanciación y creación de ensamblados .Net usando la capa de interoperabilidad de COM proporcionada por Microsoft.

Por favor, lea » este artículo para una visión general de los cambios de esta extensión en PHP 5.

COM
Instalación/Configuración
COM


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
COM


Requerimientos

Las funciones de COM únicamente están disponibles para la versión de Windows de PHP.

El soporte para .Net support requiere PHP 5 y .Net runtime.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

A partir de PHP 5.3.15 / 5.4.5, esta extensión requiere php_com_dotnet.dll para habilitarla dentro de php.ini para poder usar estas funciones. Las versiones anteriores de PHP habilitaban estas extensiones de manera predeterminada.

Usted tienen la responsabilidada de instalar el soporte para los diversos objetos COM que tenga intención de usar (como MS Word); no incluimos ni podemos incluir todos estos con PHP.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de COM
Nombre | Por defecto | Cambiable | Historial de cambios
com.allow_dcom | "0" | PHP_INI_SYSTEM | Disponible desde PHP 4.0.5.
com.autoregister_typelib | "0" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP 4. Disponible desde PHP 4.1.0.
com.autoregister_verbose | "0" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP 4. Disponible desde PHP 4.1.0.
com.autoregister_casesensitive | "1" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP 4. Disponible desde PHP 4.1.0.
com.code_page | "" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
com.typelib_file | "" | PHP_INI_SYSTEM | Disponible desde PHP 4.0.5.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

com.allow_dcom

Cuando está activada, PHP será capaz de operar como un cliente D-COM (COM Distribuido) y permitirá al script de PHP instanciar objetos COM en un servidor remoto.

com.autoregister_typelib

Cuando está activada, PHP intentará registrar constantes desde la biblioteca de tipos de objetos que instancia, si esos objetos implementan las interfaces requeridas para obtener esa información. La sensibilidad a mayúsculas-minúsculas de las constantes que registra está controlada por la directiva de configuración .

com.autoregister_verbose

Cuando está activada, cualquier problema al cargar una biblioteca de tipos durante la instanciación de un objeto será notificada usando el mecanismo de errores de PHP. Por defecto está desactivada, no emitiendo así ninguna indicación de si hubo un error buscando o cargando una biblioteca de tipos.

com.autoregister_casesensitive

Cuando está activada (predeterminado), las constantes encontradas en las bibliotecas de tipos autocargadas serán registradas con sensibilidad a mayúsculas-minúsculas. Véase com_load_typelib() para más detalles.

com.code_page

Controla la página de código predeterminada del conjunto de caracters a usar cuando se pasan cadenas hacia y desde objetos COM. Si está establecid a una cadena vacía, PHP asumirá CP_ACP, que es la página de código ANSI predeterminada del sistema.

Si el texto de sus scripts está codificado usando un conjunto de caracteres/codificación diferente por omision, establecer esta directiva le ahorrará de tener que pasar la página de código como parámetro al constructor de la clase COM. Por favor, observe que al usar esta directiva (como cualquier otra directiva de configuración de PHP), su script de PHP se convierte en menos portable; debería usar el parámetro del constructor de COM siempre que sea posible.

Nota: Esta directiva de configuración se introdujo con PHP 5.

com.typelib_file

Cuando está establecida debería contener la ruta al fichero que contiene una lista de bibliotecas de tipos que deberían ser cargadas al inicio. Cada línea del fichero será tratada como el nombre de una biblioteca de tipos y será cargada como si se llamara a com_load_typelib(). Las constantes serán registradas de forma persistente, por lo que la biblioteca únicamente necesita ser cargada una vez. Si un nombre de una biblioteca de tipos termina con la cadena #cis o #case_insensitive, las constantes de esa biblioteca serán registradas de manera insensible a mayúsculas-minúsculas.

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Esta extension define una referencia a un componente COM devuelto por la obsoleta com_load() (esta función no existe en PHP 5; en su lugar use la clase COM).

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Constantes COM
Constante | Valor | Descripción | Observaciones
CLSCTX_INPROC_SERVER (integer) | 1 | El código que crea y administra objetos de esta clase es una DLL que se ejecuta en el mismo proceso que el llamador a la función especificando el contexto de la clase. |
CLSCTX_INPROC_HANDLER (integer) | 2 | El código que administra objetos de esta clase es un gestor "en-proceso". Es una DLL que se ejecuta en el proceso cliente e implementa estructuras del lado del cliente de esta clase cuando a las instancias de la clase se acceden de forma remota. |
CLSCTX_LOCAL_SERVER (integer) | 4 | El código EXE que crea y administra objetos de esta clase se ejecuta en la misma máquina, pero se carga en un espacio de proceso distinto. |
CLSCTX_REMOTE_SERVER (integer) | 16 | Un contexto remoto. El código que crea y administra objetos de esta clase se ejecuta en un ordenador diferente. |
CLSCTX_SERVER (integer) | 21 | Indica código de servidor, si es "en-proceso", local, o remoto. Esta definición usa el operador OR con CLSCTX_INPROC_SERVER, CLSCTX_LOCAL_SERVER, y CLSCTX_REMOTE_SERVER. |
CLSCTX_ALL (integer) | 23 | Indica todos los contextos de clase. Esta definición usa el operador OR con CLSCTX_INPROC_HANDLER y CLSCTX_SERVER. |
VT_NULL (integer) | 1 | Referencia a un puntero NULL. |
VT_EMPTY (integer) | 0 | Una propiedad con un indicador de tipo VT_EMPTY no tiene información asociada a ella; es decir, el tamaño del valor es cero. |
VT_UI1 (integer) | 17 | Integer sin signo de 1 byte. |
VT_I2 (integer) | 2 | Dos bytes que representan un integer con signo de 2 bytes. |
VT_I4 (integer) | 3 | Valor de tipo integer con signo de 4 bytes. |
VT_R4 (integer) | 4 | Valor de coma flotante IEEE de 32 bits. |
VT_R8 (integer) | 5 | Valor de coma flotante IEEE de 64 bits. |
VT_BOOL (integer) | 11 | Valor boolean. |
VT_ERROR (integer) | 10 | Código de error; contienen el código de estado asociado con el error. |
VT_CY (integer) | 6 | Integer de complemento a dos de 8 bytes (escalado por 10,000). |
VT_DATE (integer) | 7 | Un número de coma flotante de 64 bits que representa el número de días (no segundos) desde el 31 de diciembre de 1899. Por ejemplo, January 1, 1900, es 2.0, January 2, 1900, es 3.0, y así sucesivamente). Se almacena con la misma representación que VT_R8. |
VT_BSTR (integer) | 8 | Puntero a una cadena Unicode finalizada en null. |
VT_DECIMAL (integer) | 14 | Una estructura decimal. |
VT_UNKNOWN (integer) | 13 | Un puntero a un objeto que implementa al interfaz IUnknown. |
VT_DISPATCH (integer) | 9 | Se especificó un puntero a un puntero a un objeto. |
VT_VARIANT (integer) | 12 | Un indicador de tipo seguido del valor correspondiente. VT_VARIANT sólo se puede usar con VT_BYREF. |
VT_I1 (integer) | 16 | Integer con signo de 1 byte. |
VT_UI2 (integer) | 18 | Integer sin signo de 2 bytes. |
VT_UI4 (integer) | 19 | Integer sin signo de 4 bytes. |
VT_INT (integer) | 22 | Valor integer con signo de 4 bytes (equivalente a VT_I4). |
VT_UINT (integer) | 23 | Valor integer sin signo de 4 bytes (equivalente a VT_UI4). |
VT_ARRAY (integer) | 8192 | Si el indicador de tipo se combina con VT_ARRAY mediante un operador OR, el valor es un puntero a un SAFEARRAY. VT_ARRAY puede usar OR con los siguientes tipos de datos: VT_I1, VT_UI1, VT_I2, VT_UI2, VT_I4, VT_UI4, VT_INT, VT_UINT, VT_R4, VT_R8, VT_BOOL, VT_DECIMAL, VT_ERROR, VT_CY, VT_DATE, VT_BSTR, VT_DISPATCH, VT_UNKNOWN y VT_VARIANT. |
VT_BYREF (integer) | 16384 | Si el indicador de tipo se combina con VT_BYREF mediante un operador OR, el valor es una referencia. Los tipos de referencias son interpretados como una referencia a datos, similar al tipo de referencia en C++. |
CP_ACP (integer) | 0 | Por defecto la página de código de ANSI. |
CP_MACCP (integer) | 2 | Página de código de Macintosh. |
CP_OEMCP (integer) | 1 | Por defecto la página de código de OEM. |
CP_UTF7 (integer) | 65000 | Unicode (UTF-7). |
CP_UTF8 (integer) | 65001 | Unicode (UTF-8). |
CP_SYMBOL (integer) | 42 | Traducciones de SYMBOL. |
CP_THREAD_ACP (integer) | 3 | Página de código de ANSI del hilo actual |
VARCMP_LT (integer) | 0 | El bstr izquierdo es menor que el bstr derecho. |
VARCMP_EQ (integer) | 1 | Los dos parámetros son iguales. |
VARCMP_GT (integer) | 2 | El bstr izquierdo es mayor que el bstr derecho. |
VARCMP_NULL (integer) | 3 | Ambas expresiones son NULL. |
NORM_IGNORECASE (integer) | 1 | Ignorar la sensibilidad a mayúsculas-minúsculas. |
NORM_IGNORENONSPACE (integer) | 2 | Ignorar los caracters que no son espacios. |
NORM_IGNORESYMBOLS (integer) | 4 | Ignorar los símbolos. |
NORM_IGNOREWIDTH (integer) | 131072 | Ignorar el ancho de cadena. |
NORM_IGNOREKANATYPE (integer) | 65536 | Ignorar el tipo Kana. |
NORM_IGNOREKASHIDA (integer) | 262144 | Ignorar caractares kashida árabes. | La disponibilidad depende de la biblioteca subyacente.
DISP_E_DIVBYZERO (integer) | -2147352558 | Un error devuelto que indica un error de división por cero. |
DISP_E_OVERFLOW (integer) | -2147352566 | Un error que indica que un valor no puede ser coaccionado a su representación esperada. |
MK_E_UNAVAILABLE (integer) | -2147221021 | Código de estado COM de iMoniker, devuelto en errores donde la llamada a la función falló a causa de no estar disponible. |
Tipos de recursos
Errores y manejo de errores
COM


Errores y manejo de errores

Excepciones (PHP 5)

Esta extensión lanzará instancias de la clase com_exception siempre que haya un error potencialmente fatal notificado por COM. Todas las excepciones de COM tienen una propiedad code bien definida que se corresponde con el valor devuelto HRESULT de diferentes operaciones COM. Puede usar este código para tomar decisiones programáticas de cómo manejar la excepción.

Constantes predefinidas
Ejemplos
COM


Ejemplos

Tabla de contenidos

  • For Each
  • Arrays y propiedades estilo array de COM
Errores y manejo de errores
For Each
COM


For Each

Desde PHP 5 se puede usar la sentencia foreach propia de PHP para iterar sobre el contenido de un COM/OLE IEnumVariant estándar. En términos entendibles, esto significa que se puede usar foreach en lugares donde se podría usar For Each en código VB/ASP.

Ejemplo #1 For Each en ASP

<%
Set domainObject = GetObject("WinNT://Domain")
For Each obj in domainObject
  Response.Write obj.Name & "<br />"
Next
%>

Ejemplo #2 while() ... Next() en PHP 4

<?php
$domainObject = new COM("WinNT://Domain");
while ($obj = $domainObject->Next()) {
   echo $obj->Name . "<br />";
}
?>

Ejemplo #3 foreach en PHP 5

<?php
$domainObject = new COM("WinNT://Domain");
foreach ($domainObject as $obj) {
   echo $obj->Name . "<br />";
}
?>

Ejemplos
Arrays y propiedades estilo array de COM
Ejemplos


Arrays y propiedades estilo array de COM

Muchos objetos COM exponen sus propiedades como arrays, o usan el acceso estilo array. En PHP 4 se puede usar la sintaxis de array de PHP para leer/escribir tales propiedades, pero únicamente se permite una sola dimensión. Si se quiere leer una propiedad multidimensional, en su lugar se podría hacer el acceso a la propiedad dentro de una llamada a una función, cada parámetro representando cada dimensión del acceso al array, pero no hay forma de escribir tal propiedad.

PHP 5 introduce la siguiente característica nueva para hacerle la vida más fácil:

  • Acceder a arrays multidimensionales, o propiedades COM que requieren múltiples parámetros usando la sintaxis de array de PHP. También se puede escribir o establecer propiedades usando esta técnica.

  • Iterar SafeArrays (arrays "verdaderos") usando la estructura de control foreach. Esto funciona ya que SafeArrays incluye información sobre su tamaño. Si una propiedad estilo array implementa IEnumVariant, también se puede usar foreach para esa property; eche un vistazo a For Each para más información sobre este tema.

For Each
COM
Ejemplos


La clase COM

(PHP 4 >= 4.1.0, PHP 5)

Descripción

La clase COM permite crear una instancia de un objeto COM compatible con OLE, llamar sus métodos y aceder sus propiedades.

$obj = new COM("Application.ID")

Métodos

COM::COM ( string $module_name [, mixed $server_name [, int $codepage [, string $typelib ]]] )

Constructor de la clase COM. Los parámetros tienen los siguientes significados:

module_name
Puede ser un ProgID, Class ID o Moniker que tenga el nombre del componente a cargar. Un ProgID tipicamente es el nombre de la aplicación o DLL seguido por un punto, seguido del nombre del objeto, ej.: Word.Application. Un Class ID es el UUID que identifica unívocamente una clase dada. Un Moniker es una forma especial de denominación, similar en concepto a un esquema URL, que identifica un recurso y especifica como debería ser cargado. Como ejemplo, se puede cargar Word y obtener un objeto representando un documento de word especificando el camino completo al documento de word como el nombre del módulo, o puede usar LDAP: como un moniker para usar la interfaz ADSI a LDAP.
server_name
El nombre de un servidor DCOM en donde el componente debería ser cargado y ejecutado. Si es NULL el objeto es ejecutado usando el predeterminado para la aplicación. Lo predeterminado típicamente es ejecutarlo sobre la máquina local, aunque el administrador puede configurar la aplicación para ejecutarlo en una máquina diferente. Si se especifica un valor distinto de NULL para el servidor, PHP se reusará a cargar el objeto a no ser que la opción de configuración sea TRUE.

Si server_name es un array, este debería contener los siguientes elementos (distinguiendo mayúsculas de minúsculas!). Note que son todos opcionales (aunque se necesita especificar Username y Password juntos); si se omite el elemento Server, será usado el servidor predeterminado (como se menciona más arriba), y la creación de la instancia del objeto no será afectada por la directiva .

Nombre de servidor DCOM
server_name clave | Tipo | Descripción
Server | string | Nombre del servidor.
Username | string | El nombre de usuario para conectarse.
Password | string | La clave para Username.
Flags | integer | Una o más de las siguientes constantes, unidas por un OR lógico: CLSCTX_INPROC_SERVER, CLSCTX_INPROC_HANDLER, CLSCTX_LOCAL_SERVER, CLSCTX_REMOTE_SERVER, CLSCTX_SERVER y CLSCTX_ALL. El valor predeterminado si no se especifica aquí es CLSCTX_SERVER si tambien se omitió Server, o CLSCTX_REMOTE_SERVER si se especificó un servidor. Se debe consultar la documentación de Microsoft para CoCreateInstance para más información sobre el significado de estas constantes; típicamente nunca suelen usarse.

codepage
Especifica la página de código que es usada para convertir las cadenas a cadenas unicode y viceversa. La conversión es aplicada cuando una cadena PHP es pasada como parámetro o devuelta desde un método de este objeto COM. La página de código es pegajosa en PHP 5, lo que significa que se propaga a objetos y variantes devueltos por el objeto. Los posibles valores son CP_ACP (Usando la página de código ANSI predeterminada - si este parámetro se omite es lo predeterminado), CP_MACCP, CP_OEMCP, CP_SYMBOL, CP_THREAD_ACP (usando la página de código/localización establecida para el hilo de ejecución actual), CP_UTF7 y CP_UTF8. Tambien puede usar el número de una página de código; consulte la documentación de Microsoft para más detalles sobre los códigos de páginas y sus valores numéricos.

Métodos sobrecargados

El objeto devuelto es un objeto sobrecargado, lo que significa que PHP no ve ningún método fijo como lo hace con las clases regulares; en su lugar, cualquier acceso de propiedad o método son pasados a través de COM.

Comenzando con PHP 5, PHP automáticamente detectará métodos que acepten parámetros por referencia, y automáticamente convertirá las variables regulares de PHP a una forma que pueden ser pasadas por referencia. Esto significa que puede llamar los métodos muy naturalmente; no hay necesidad de ningún esfuerzo extra en su código.

En PHP 4, para pasar parámetros por referencia necesita crear una instancia de la clase VARIANT para envolver los parámetros byref.

Pseudo Métodos

En versiones de PHP anteriores a 5, un número no muy agradables de trucos significaba que los siguientes nombres de métodos no sean pasados a través de COM y fueran directamente controlados por PHP. PHP 5 elimina todo esto; lea los detalles a continuación para determinar como corregir su código. Estos nombres de métodos mágicos son insensible a las mayusculas.

void COM::AddRef ( void )

Agrega artificialmente una referencia de contador al objeto COM.

Advertencia

No debería tener necesidad de usar este método. Existe como un complemento lógico al método Release() a continuación.

void COM::Release ( void )

Remueve artificialmente una referencia de contador al objeto COM.

Advertencia

No debería tener necesidad de usar este método. Su existencia en PHP es un error diseñado para evitar un error que mantiene objetos COM ejecutandose por más tiempo que el debido.

Pseudo Métodos para iterar

Estos pseudo métodos solo estan disponibles si com_isenum() devuelve TRUE, en cuyo caso, esconden cualquier método con los mismos nombres que podrían ser proporcionados por el objeto COM. Estos métodos han sido eliminados en PHP 5, y debería usar For Each en su lugar.

variant COM::All ( void )

Devuelve un variant que representa un SafeArray con 10 elementos; cada elementos será un variant vacío o null. Esta función Returns a variant representing a SafeArray that has 10 elements; each element will be an empty/null variant. This function was supposed to return an array containing all the elements from the iterator, but was never completed. Do not use.

variant COM::Next ( void )

Devuelve un variant representando el siguiente elemento disponible en el iterador, o FALSE cuando no hay más elementos.

variant COM::Prev ( void )

Devuelve un variant representando el elemento anterior disponible en el iterador, o FALSE cuando no hay más elementos.

void COM::Reset ( void )

Retrocede el iterador hasta el principio.

Ejemplos COM

Ejemplo #1 Ejemplo COM (1)

<?php
// Iniciando word
$word = new COM("word.application") or die("No se puede crear la instancia de Word");
echo "Word cargado, versión {$word->Version}\n";

//traerlo al frente
$word->Visible = 1;

//abrir un documento vacío
$word->Documents->Add();

//hacer algunas cosas raras
$word->Selection->TypeText("Esto es una prueba...");
$word->Documents[1]->SaveAs("Prueba inutil.doc");

//cerrando word
$word->Quit();

//liberando el objeto
$word = null;
?>

Ejemplo #2 Ejemplo COM (2)

<?php

$conn = new COM("ADODB.Connection") or die("No se puede iniciar ADO");
$conn->Open("Provider=SQLOLEDB; Data Source=localhost;
Initial Catalog=database; User ID=user; Password=password");

$rs = $conn->Execute("SELECT * FROM sometable");    // Registros

$num_columns = $rs->Fields->Count();
echo $num_columns . "\n";

for ($i=0; $i < $num_columns; $i++) {
    $fld[$i] = $rs->Fields($i);
}

$rowcount = 0;
while (!$rs->EOF) {
    for ($i=0; $i < $num_columns; $i++) {
        echo $fld[$i]->value . "\t";
    }
    echo "\n";
    $rowcount++;            // incrementa rowcount
    $rs->MoveNext();
}

$rs->Close();
$conn->Close();

$rs = null;
$conn = null;

?>

Arrays y propiedades estilo array de COM
DOTNET
COM


La clase DOTNET

(PHP 4 >= 4.1.0, PHP 5)

Descripción

La clase DOTNET le permite instanciar una clase desde un ensamble .Net y poder llamar sus métodos y acceder a sus propiedades.

$obj = new DOTNET("assembly", "classname")

Métodos

DOTNET::DOTNET ( string $assembly_name , string $class_name [, int $codepage ] )

Constructor de la clase DOTNET. El parámetro assembly_name especifica cual ensamble debería ser cargado, y class_name especifica cual clase instanciar en ese ensamble. Opcionalmente puede especificar un parámetro codepage para usar transformaciones de cadena unicode; vea la clase COM para más detalles en las páginas de código.

El objeto devuelto es un objeto sobrecargado, lo que significa que PHP no ve ningún método fijo como lo hace con las clases regulares; en su lugar, cualquier método o propiedad que accede se pasa por medio del COM y de allí a DOTNET. En otras palabras, el objeto .Net es mapeado a través de la capa de interoperabilidad COM provista por el runtime de .Net.

Una vez se ha creado un objeto DOTNET, PHP lo trata idénticamente como cualquier otro objeto COM; se aplican todas las mismas reglas.

Ejemplo #1 Ejemplo DOTNET

<?php
 $stack = new DOTNET("mscorlib", "System.Collections.Stack");
 $stack->Push(".Net");
 $stack->Push("Hello ");
 echo $stack->Pop() . $stack->Pop();
?>

Nota:

Necesita instalar el runtime de .Net en su servidor web para tomar las ventajas de esta característica.

COM
VARIANT
COM


VARIANT class

(PHP 4 >= 4.1.0, PHP 5)

Description

The VARIANT is COM's equivalent of the PHP zval; it is a structure that can contain a value with a range of different possible types. The VARIANT class provided by the COM extension allows you to have more control over the way that PHP passes values to and from COM.

$vVar = new VARIANT($var)

Methods

VARIANT::VARIANT ([ mixed $value [, int $type [, int $codepage ]]] )

VARIANT class constructor. Parameters:

value
initial value. if omitted, or set to NULL an VT_EMPTY object is created.
type
specifies the content type of the VARIANT object. Possible values are one of the VT_XXX Constantes predefinidas. In PHP versions prior to PHP 5, you could force PHP to pass a variant object by reference by OR'ing VT_BYREF with the type. In PHP 5, this hack is not supported; instead, PHP 5 can detect parameters passed by reference automatically; they do not even need to be passed as VARIANT objects. Consult the MSDN library for additional information on the VARIANT type.
codepage
specifies the codepage that is used to convert strings to unicode. See the parameter of the same name in the COM class for more information.

PHP versions prior to PHP 5 define a number of (undocumented) virtual properties for instances of the VARIANT class; these properties have all been removed in PHP 5 in favour of its more natural syntax; these differences are best highlighted by example:

Ejemplo #1 Variant example, PHP 4.x style

<?php
$v = new VARIANT(42);
print "The type is " . $v->type . "<br/>";
print "The value is " . $v->value . "<br/>";
?>

Ejemplo #2 Variant example, PHP 5 style

<?php
$v = new VARIANT(42);
print "The type is " . variant_get_type($v) . "<br/>";
print "The value is " . $v . "<br/>";
?>

The reason for the change is that, internally, the COM extension sees VARIANT, COM and DOTNET classes as the same thing, and the design philosophy for these classes is that all property and member accesses are passed through to COM with no interference. The new syntax is more natural and less effort, and most of the removed virtual properties didn't make any sense in a PHP context in any case.

Nota:

PHP 5 takes a much simpler approach to handling VARIANTs; when returning a value or fetching a variant property, the variant is converted to a PHP value only when there is a direct mapping between the types that would not result in a loss of information. In all other cases, the result is returned as an instance of the VARIANT class. You can force PHP to convert or evaluate the variant as a PHP native type by using a casting operator explicitly, or implicitly casting to a string by printing it. You may use the wide range of variant functions to perform arithmetic operations on variants without forcing a conversion or risking a loss of data.

See also variant_get_type().

DOTNET
Funciones de COM
COM


Funciones de COM

Ver también

Para más información sobre COM lea la » Especificación COM o eche un vistazo a » Yet Another COM Library (YACL) de Don Box. Puede encontrar alguna información adicional útil en nuestra FAQ de PHP y COM. Si está pensando usar aplicaciones de MS Office en el lado del servidor, debería leer la información aquí: » Considerations for Server-Side Automation of Office.

Tabla de contenidos

  • com_addref — Aumenta el contador de referencia de componentes [obsoleto]
  • com_create_guid — Generar un identificador único globalmente (GUID)
  • com_event_sink — Conectar eventos de un objeto COM a un objeto PHP
  • com_get_active_object — Devuelve un gestor a una instancia de un objeto COM ya en ejecución
  • com_get — Obtiene el valor de una propiedad de un Componente COM Component [obsoleto]
  • com_invoke — Llama a un método de un componente COM [obsoleto]
  • com_isenum — Indica si un objeto COM tiene una interfaz IEnumVariant para iteraciones [obsoleto]
  • com_load_typelib — Carga una biblioteca de tipos
  • com_load — Crea una nueva referencia a un componente COM [obsoleto]
  • com_message_pump — Procesar mensajes COM, durmiendo hata timeoutms milisegundos
  • com_print_typeinfo — Imprime una definición de clase de PHP para una interfaz despachable
  • com_propget — Alias de com_get
  • com_propput — Alias de com_set
  • com_propset — Alias de com_set
  • com_release — Disminuye el contador de referencia de componentes [obsoleto]
  • com_set — Asigna un valor a una propiedad de un componente COM
  • variant_abs — Devuelve el valor absoluto de una variante
  • variant_add — "Suma" dos variantes y devuelve el resultado
  • variant_and — Realiza una operación AND a nivel de bits entre dos variantes
  • variant_cast — Convertir una variante en un nuevo objeto variante de otro tipo
  • variant_cat — Concatena dos valores de variantes y devuelve el resultado
  • variant_cmp — Compara dos variantes
  • variant_date_from_timestamp — Devuelve una representación de variante de fecha de una fecha Unix
  • variant_date_to_timestamp — Convierte un valor de una variante de fecha/hora en una fecha Unix
  • variant_div — Devuelve el resultado de dividir dos variantes
  • variant_eqv — Realiza una equivalencia a nivel de bits en dos variantes
  • variant_fix — Devuelve la parte entera de una variante
  • variant_get_type — Devuelve el tipo de un objeto variante
  • variant_idiv — Convierte variantes a enteros y después devuelve el resultado dividiéndolos
  • variant_imp — Realiza una implicación a nivel de bits de dos variantes
  • variant_int — Devuelve la parte entera de una variante
  • variant_mod — Divide dos variantes y devuelve sólo el resto
  • variant_mul — Multiplica los valores de dos variantes
  • variant_neg — Realiza una negación lógica de una variante
  • variant_not — Realiza una negación NOT a nivel de bits en una variante
  • variant_or — Realiza una disyunción lógica de dos variantes
  • variant_pow — Devuelve el resultado de realizar la exponenciación con dos variantes
  • variant_round — Redondea una variante al número de lugares decimales especificado
  • variant_set_type — Convierte una variante en otro tipo "in situ"
  • variant_set — Asigna un nuevo valor para un objeto variante
  • variant_sub — Resta el valor de la variante derecha del valor de la varienta izquierda
  • variant_xor — Realiza una exclución lógica de dos variantes
VARIANT
com_addref
COM


Aumenta el contador de referencia de componentes [obsoleto]

Funciones de COM
com_create_guid
Funciones de COM
PHP Manual

com_addref

(PHP 4 >= 4.1.0)

com_addref — Aumenta el contador de referencia de componentes [obsoleto]

Descripción

void com_addref ( void )

Aumenta el contador de referencia de componentes.

Valores devueltos

No devuelve ningún valor.

Notas

Advertencia

Nunca debería necesitar usar esta función.

Funciones de COM
com_create_guid
Funciones de COM


Generar un identificador único globalmente (GUID)

com_addref
com_event_sink
Funciones de COM
PHP Manual

com_create_guid

(PHP 5)

com_create_guid — Generar un identificador único globalmente (GUID)

Descripción

string com_create_guid ( void )

Genera un identificador único globalmente (GUID: Globally Unique Identifier).

Un GUID es generado de la misma manera que el DCE UUID, excepto que la convención de Microsoft encierra un GUID entre llaves.

Valores devueltos

Devuelve el GUID como cadena.

Ver también

  • uuid_create() en la extensión uuid de PECL

com_addref
com_event_sink
Funciones de COM


Conectar eventos de un objeto COM a un objeto PHP

com_create_guid
com_get_active_object
Funciones de COM
PHP Manual

com_event_sink

(PHP 4 >= 4.2.0, PHP 5)

com_event_sink — Conectar eventos de un objeto COM a un objeto PHP

Descripción

bool com_event_sink ( variant $comobject , object $sinkobject [, mixed $sinkinterface ] )

Ordena a COM que eventos generados por comobject sean absorbidos por el objeto PHP sinkobject.

Tenga cuidado en cómo use esta característica; si está haciendo algo similar al ejemplo de abajo, no tiene sentido ejecutarla en un contexto de servidor web.

Parámetros

comobject

sinkobject

sinkobject debería ser una instancia de una clase con métodos nombrados después de aquellos de la dispinterfaz deseada; se puede usar com_print_typeinfo() para ayudar a generar una clase plantilla para este propósito.

sinkinterface

PHP intentará usar el tipo de dispinterfaz predeterminado especificado por la biblioteca de tipos asociada con comobject, pero se puede sobrescribir esta opción estableciendo sinkinterface al nombre de la dispinterfaz que se desea usar.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de absorción de un evento COM

<?php
class IEEventSinker {
    var $terminated = false;

   function ProgressChange($progress, $progressmax) {
      echo "Download progress: $progress / $progressmax\n";
    }

    function DocumentComplete(&$dom, $url) {
      echo "Document $url complete\n";
    }

    function OnQuit() {
      echo "Quit!\n";
      $this->terminated = true;
    }
}
$ie = new COM("InternetExplorer.Application");
// note that you don't need the & for PHP 5!
$sink = new IEEventSinker();
com_event_sink($ie, $sink, "DWebBrowserEvents2");
$ie->Visible = true;
$ie->Navigate("http://www.example.org");
while(!$sink->terminated) {
  com_message_pump(4000);
}
$ie = null;
?>

Ver también

  • com_print_typeinfo() - Imprime una definición de clase de PHP para una interfaz despachable
  • com_message_pump() - Procesar mensajes COM, durmiendo hata timeoutms milisegundos

com_create_guid
com_get_active_object
Funciones de COM


Devuelve un gestor a una instancia de un objeto COM ya en ejecución

com_event_sink
com_get
Funciones de COM
PHP Manual

com_get_active_object

(PHP 5)

com_get_active_object — Devuelve un gestor a una instancia de un objeto COM ya en ejecución

Descripción

variant com_get_active_object ( string $progid [, int $code_page ] )

com_get_active_object() es similar a crear una nueva instancia de un objeto COM, excepto que sólo devolverá un objeto a su script si el objeto ya está en ejecución. Las aplicaciones OLE usan algo conocido como la "Tabla de Objetos en Ejecución" para permitir a las famosas aplicaciones que se lancen solo una vez; esta función expone la función de la biblioteca COM, GetActiveObject(), para obtener un gestor sobre una instancia en ejecución.

Parámetros

progid

progid puede ser el ProgID o el CLSID del objeto al que se quiere acceder (por ejemplo Word.Application).

code_page

Actúa exactamente de la misma forma que lo hace la clase COM.

Valores devueltos

Si el objeto solicitado está ejecutándose será devuelto a su script al igual que otro objeto COM.

Errores/Excepciones

Existen diversas razones para que esta función pueda fallar, la más común siendo que el objeto no está ejecutándose aún. En esta situación, el código de error de excepción será MK_E_UNAVAILABLE; se puede usar el método getCode del objeto excepción para comprobar el código de excepción.

Notas

Advertencia

Usar com_get_active_object() en un contexto de servidor web no es siempre una idea inteligente. La mayoría de las aplicaciones COM/OLE no están diseñadas para tratar más de un cliente al mismo tiempo, incluso (¡o especialmente!) Microsoft Office. Debería leer » Consideraciones para la Automatización del Lado del Servidor de Office para más información sobre los temas generales involucrados.

com_event_sink
com_get
Funciones de COM


Obtiene el valor de una propiedad de un Componente COM Component [obsoleto]

com_get_active_object
com_invoke
Funciones de COM
PHP Manual

com_get

(PHP 4)

com_get — Obtiene el valor de una propiedad de un Componente COM Component [obsoleto]

Descripción

Obsoleto, use en su lugar la sintaxis OO.

Ejemplo #1 Sintaxis OO

<?php
// haga esto
$var = $obj->propiedad;
// en vez de esto:
$var = com_get($obj, 'propiedad');
?>

Notas

Nota: This function does not exist in PHP 5; instead, you should use the regular and more natural OO syntax to access properties or call methods.

com_get_active_object
com_invoke
Funciones de COM


Llama a un método de un componente COM [obsoleto]

com_get
com_isenum
Funciones de COM
PHP Manual

com_invoke

(PHP 4)

com_invoke — Llama a un método de un componente COM [obsoleto]

Descripción

mixed com_invoke ( resource $com_object , string $function_name [, mixed $function_parameters ] )

com_invoke() invoca el método llamado function_name del componente COM referebciado por com_object. com_invoke() devuelve FALSE en caso de error, devuelve el valor devuelto por function_name en caso de éxito. Todos los parámetro extra function_parameters son pasados al método function_name.

Ejemplo #1 No use com_invoke(), en su lugar usar la sintaxis OO

<?php
// haga esto
$val = $obj->método($uno, $dos);
// en lugar de esto:
$val = com_invoke($obj, 'método', $uno, $dos);
?>

Nota: This function does not exist in PHP 5; instead, you should use the regular and more natural OO syntax to access properties or call methods.

com_get
com_isenum
Funciones de COM


Indica si un objeto COM tiene una interfaz IEnumVariant para iteraciones [obsoleto]

com_invoke
com_load_typelib
Funciones de COM
PHP Manual

com_isenum

(PHP 4 >= 4.1.0)

com_isenum — Indica si un objeto COM tiene una interfaz IEnumVariant para iteraciones [obsoleto]

Descripción

bool com_isenum ( variant $com_module )

Comprueba si un objeto COM; puede ser enumerado usando el método Next(). Véase COM para más detalles sobre estos métodos.

Parámetros

com_module

El objeto COM.

Valores devueltos

Devuelve TRUE si el objeto se puede enumerar, FALSE si no.

Notas

Nota:

Esta función no existe en PHP 5; use la sentencia más natural foreach para iterar sobre el contenido de objetos COM. Véase For Each para más detalles.

com_invoke
com_load_typelib
Funciones de COM


Carga una biblioteca de tipos

com_isenum
com_load
Funciones de COM
PHP Manual

com_load_typelib

(PHP 4 >= 4.1.0, PHP 5)

com_load_typelib — Carga una biblioteca de tipos

Descripción

bool com_load_typelib ( string $typelib_name [, bool $case_insensitive = true ] )

Carga una biblioteca de tipos y registra sus constantes en la máquina, como si fueran definidas usando define().

Observe que es más efectivo usar el ajuste de configuración para pre-cargar y registrar las constantes, aunque no es tan flexible.

Si se ha activado , PHP intenrá registrar automáticamente las constantes asociadas con un objeto COM cuando se instancie. Esto depende de las interfaces proporcionadas por el propio objeto COM, y no siempre puede ser posible.

Parámetros

typelib_name

typelib_name puede ser uno de los siguientes:

  • El nombre de fichero de un fichero .tlb o el módulo ejecutable que contiente la biblioteca de tipos.

  • El GUID de la biblioteca de tipos, seguido de su número de versión, por ejemplo {00000200-0000-0010-8000-00AA006D2EA4},2,0.

  • El nombre de la biblioteca de tipos, p.ej. Microsoft OLE DB ActiveX Data Objects 1.0 Library.

PHP intentará resolver la biblioteca de tipos en este orden, mientras que el proceso se hace más costoso a medida que se baja por la lista; buscar la biblioteca de tipos por nombre se trata físicamente enumerando el registro hasta que se encuentre una coincidencia.

case_insensitive

case_insensitive se comporta de la misma manera que el parámetro con el mismo nombre de la función define().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

com_isenum
com_load
Funciones de COM


Crea una nueva referencia a un componente COM [obsoleto]

com_load_typelib
com_message_pump
Funciones de COM
PHP Manual

com_load

(PHP 4)

com_load — Crea una nueva referencia a un componente COM [obsoleto]

Descripción

Obsoleto, use en su lugar la sintaxis OO.

Ejemplo #1 Sintaxis OO

<?php
// haga esto
$obj = new COM($módulo);
// en lugar de esto:
$obj = com_load($módulo);
?>

Notas

Nota: This function does not exist in PHP 5; instead, you should use the regular and more natural OO syntax to access properties or call methods.

com_load_typelib
com_message_pump
Funciones de COM


Procesar mensajes COM, durmiendo hata timeoutms milisegundos

com_load
com_print_typeinfo
Funciones de COM
PHP Manual

com_message_pump

(PHP 4 >= 4.2.0, PHP 5)

com_message_pump — Procesar mensajes COM, durmiendo hata timeoutms milisegundos

Descripción

bool com_message_pump ([ int $timeoutms = 0 ] )

Esta función duerme hasta timeoutms milisegundos, o hasta que llegue un mensaje a la cola.

El propósito de esta función es guiar las llamadas COM entre departamentos y tratar varios temas de sincronización. Permite a su script esperar de manera eficiente a eventos que van a ser desencadenados, mientras que todavía trata otros evetntos o ejecuta otro código en segundo plano. Debería usarla en un bucle, como se demostró en el ejemplo de la función com_event_sink(), hasta que finalice usando objetos COM de límite de eventos.

Parámetros

timeoutms

El tiempo límite, en milisegundos.

Si no se especifica un valor para timeoutms, se asumirá 0. Un valor de 0 significa que no se realizará ninguna espera; si hay mensajes pendientes serán despachados cuanto antes; si no hay mensajes pendientes, la función devolverá FALSE immediatamente sin dormir.

Valores devueltos

Si un mensaje o mensajes llegan antes del tiempo límite, serán despachados y la función devolverá TRUE. Si se agota el tiempo límite y no se procesaron mensajes, el valor devuelto será FALSE.

com_load
com_print_typeinfo
Funciones de COM


Imprime una definición de clase de PHP para una interfaz despachable

com_message_pump
com_propget
Funciones de COM
PHP Manual

com_print_typeinfo

(PHP 4 >= 4.2.0, PHP 5)

com_print_typeinfo — Imprime una definición de clase de PHP para una interfaz despachable

Descripción

bool com_print_typeinfo ( object $comobject [, string $dispinterface [, bool $wantsink = false ]] )

El propósito de esta función es ayudar a generar una clase esqueleto para usarla como absorción de eventos. También se puede usar para generar una copia de cualquier objeto COM, siempre que soporte lo suficiente las interfaces de introspección, y que usted sepa el nombre de la interfaz que quiere mostrar.

Parámetros

comobject

comobject debería ser una instancia de un objeto COM, o el nombre de una biblioteca de tipos (que será resuelta según el conjunto de reglas de com_load_typelib()).

dispinterface

El nombre de una interfaz descendiente de IDispatch que se quiere mostrar.

wantsink

Si se establece a TRUE, en su lugar se mostrará la interfaz de absorción.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • com_event_sink() - Conectar eventos de un objeto COM a un objeto PHP
  • com_load_typelib() - Carga una biblioteca de tipos

com_message_pump
com_propget
Funciones de COM


Alias de com_get

com_print_typeinfo
com_propput
Funciones de COM
PHP Manual

com_propget

(PHP 4)

com_propget — Alias de com_get()

Descripción

Esta función es un alias de: com_get().

Nota: This function does not exist in PHP 5; instead, you should use the regular and more natural OO syntax to access properties or call methods.

com_print_typeinfo
com_propput
Funciones de COM


Alias de com_set

com_propget
com_propset
Funciones de COM
PHP Manual

com_propput

(PHP 4)

com_propput — Alias de com_set()

Descripción

Esta función es un alias de: com_set().

Nota: This function does not exist in PHP 5; instead, you should use the regular and more natural OO syntax to access properties or call methods.

com_propget
com_propset
Funciones de COM


Alias de com_set

com_propput
com_release
Funciones de COM
PHP Manual

com_propset

(PHP 4)

com_propset — Alias de com_set()

Descripción

Esta función es un alias de: com_set().

Nota: This function does not exist in PHP 5; instead, you should use the regular and more natural OO syntax to access properties or call methods.

com_propput
com_release
Funciones de COM


Disminuye el contador de referencia de componentes [obsoleto]

com_propset
com_set
Funciones de COM
PHP Manual

com_release

(PHP 4 >= 4.1.0)

com_release — Disminuye el contador de referencia de componentes [obsoleto]

Descripción

void com_release ( void )

Disminuye el contador de referencia de componentes.

Valores devueltos

No devuelve ningún valor.

Historial de cambios

Versión | Descripción
5.0.0 | Esta función fue eliminada.

Notas

Advertencia

Nunca debería de necistar usar esta función.

com_propset
com_set
Funciones de COM


Asigna un valor a una propiedad de un componente COM

com_release
variant_abs
Funciones de COM
PHP Manual

com_set

(PHP 4)

com_set — Asigna un valor a una propiedad de un componente COM

Descripción

Obsoleto, use en su lugar la sintaxis OO.

Ejemplo #1 Sintaxis OO

<?php
// haga esto
$obj->propiedad = $propiedad;
// en vez de esto:
com_set($obj, 'propiedad', $propiedad);
?>

Notas

Nota: This function does not exist in PHP 5; instead, you should use the regular and more natural OO syntax to access properties or call methods.

com_release
variant_abs
Funciones de COM


Devuelve el valor absoluto de una variante

com_set
variant_add
Funciones de COM
PHP Manual

variant_abs

(PHP 5)

variant_abs — Devuelve el valor absoluto de una variante

Descripción

mixed variant_abs ( mixed $val )

Devuelve el valor absoluto de una variante.

Parámetros

val

La variante.

Nota:

Al igual que con todas las funciones aritméticas variantes, los parámetros de esta función pueden ser tanto un tipo nativo de PHP (integer, string, de punto flotante, boolean o NULL), o una instancia de una clase COM, VARIANT o DOTNET. Los tipos nativos de PHP serán convertidos en variantes usando las mismas reglas tal como se encuentran en el constructor para la clase VARIANT. Los objetos COM y DOTNET tomarán el valor de sus propiedades predeterminadas adoptadas y lo utilizarán como el valor variante.

Las funciones aritméticas variantes son wrappers alrededor de las funciones con nombres similares en la librería COM; para más información sobre estas funciones, consulte la librería MSDN. Las funciones de PHP tienen nombres ligeramente diferentes; por ejemplo, variant_add() en PHP corresponde a VarAdd() en la documentación MSDN.

Valores devueltos

Devuelve el valor absoluto de val.

Ver también

  • abs() - Valor absoluto

com_set
variant_add
Funciones de COM


"Suma" dos variantes y devuelve el resultado

variant_abs
variant_and
Funciones de COM
PHP Manual

variant_add

(PHP 5)

variant_add — "Suma" dos variantes y devuelve el resultado

Descripción

mixed variant_add ( mixed $left , mixed $right )

Suma left a right usando las siguientes reglas (tomadas de la biblioteca MSDN), que se corresponden a aquellas de Visual Basic:

Reglas de Adición de Variantes
Si | Entonces
Ambas expresiones son de tipo cadena | Concatenación
Una expresión es de tipo cadena y la otra un carácter | Adición
Una expresión es numérica y la otra es una cadena | Adición
Ambas expresiones son numéricas | Adición
Alguna expresión es NULL | Se devuelve NULL
Ambas expresiones están vacías | Se devuelve un subtipo integer

Parámetros

left

El operando izquierdo.

right

El operando derecho.

Nota:

Al igual que con todas las funciones aritméticas variantes, los parámetros de esta función pueden ser tanto un tipo nativo de PHP (integer, string, de punto flotante, boolean o NULL), o una instancia de una clase COM, VARIANT o DOTNET. Los tipos nativos de PHP serán convertidos en variantes usando las mismas reglas tal como se encuentran en el constructor para la clase VARIANT. Los objetos COM y DOTNET tomarán el valor de sus propiedades predeterminadas adoptadas y lo utilizarán como el valor variante.

Las funciones aritméticas variantes son wrappers alrededor de las funciones con nombres similares en la librería COM; para más información sobre estas funciones, consulte la librería MSDN. Las funciones de PHP tienen nombres ligeramente diferentes; por ejemplo, variant_add() en PHP corresponde a VarAdd() en la documentación MSDN.

Valores devueltos

Devuelve el resultado.

Ver también

  • variant_sub() - Resta el valor de la variante derecha del valor de la varienta izquierda

variant_abs
variant_and
Funciones de COM


Realiza una operación AND a nivel de bits entre dos variantes

variant_add
variant_cast
Funciones de COM
PHP Manual

variant_and

(PHP 5)

variant_and — Realiza una operación AND a nivel de bits entre dos variantes

Descripción

mixed variant_and ( mixed $left , mixed $right )

Realiza una operación AND a nivel de bits. Observer que esto difiere ligeramente de una operación AND normal.

Parámetros

left

El operando izquierdo.

right

El operando derecho.

Nota:

Al igual que con todas las funciones aritméticas variantes, los parámetros de esta función pueden ser tanto un tipo nativo de PHP (integer, string, de punto flotante, boolean o NULL), o una instancia de una clase COM, VARIANT o DOTNET. Los tipos nativos de PHP serán convertidos en variantes usando las mismas reglas tal como se encuentran en el constructor para la clase VARIANT. Los objetos COM y DOTNET tomarán el valor de sus propiedades predeterminadas adoptadas y lo utilizarán como el valor variante.

Las funciones aritméticas variantes son wrappers alrededor de las funciones con nombres similares en la librería COM; para más información sobre estas funciones, consulte la librería MSDN. Las funciones de PHP tienen nombres ligeramente diferentes; por ejemplo, variant_add() en PHP corresponde a VarAdd() en la documentación MSDN.

Valores devueltos

Reglas de Aplicar AND a Variantes
Si left es | Si right es | entonces el resultado es
TRUE | TRUE | TRUE
TRUE | FALSE | FALSE
TRUE | NULL | NULL
FALSE | TRUE | FALSE
FALSE | FALSE | FALSE
FALSE | NULL | FALSE
NULL | TRUE | NULL
NULL | FALSE | FALSE
NULL | NULL | NULL

Ver también

  • variant_or() - Realiza una disyunción lógica de dos variantes

variant_add
variant_cast
Funciones de COM


Convertir una variante en un nuevo objeto variante de otro tipo

variant_and
variant_cat
Funciones de COM
PHP Manual

variant_cast

(PHP 5)

variant_cast — Convertir una variante en un nuevo objeto variante de otro tipo

Descripción

variant variant_cast ( variant $variant , int $type )

Esta función hace una copia de variant y realiza una operación de conversión de variante para forzar a la copia a tener el tipo dado por type.

Esta función envuelve VariantChangeType() de la biblioteca COM; consulte MSDN para más información.

Parámetros

variant

La variante.

type

type debería ser una de las constantes VT_XXX.

Valores devueltos

Devuelve una variante VT_DATE.

Ver también

  • variant_set_type() - Convierte una variante en otro tipo "in situ"

variant_and
variant_cat
Funciones de COM


Concatena dos valores de variantes y devuelve el resultado

variant_cast
variant_cmp
Funciones de COM
PHP Manual

variant_cat

(PHP 5)

variant_cat — Concatena dos valores de variantes y devuelve el resultado

Descripción

mixed variant_cat ( mixed $left , mixed $right )

Concatena left con right y devuelve el resultado.

Esta función es en teoría equivalente a $left . $right.

Parámetros

left

El operando izquierdo.

right

El operando derecho.

Nota:

Al igual que con todas las funciones aritméticas variantes, los parámetros de esta función pueden ser tanto un tipo nativo de PHP (integer, string, de punto flotante, boolean o NULL), o una instancia de una clase COM, VARIANT o DOTNET. Los tipos nativos de PHP serán convertidos en variantes usando las mismas reglas tal como se encuentran en el constructor para la clase VARIANT. Los objetos COM y DOTNET tomarán el valor de sus propiedades predeterminadas adoptadas y lo utilizarán como el valor variante.

Las funciones aritméticas variantes son wrappers alrededor de las funciones con nombres similares en la librería COM; para más información sobre estas funciones, consulte la librería MSDN. Las funciones de PHP tienen nombres ligeramente diferentes; por ejemplo, variant_add() en PHP corresponde a VarAdd() en la documentación MSDN.

Valores devueltos

Devuelve el resultado de la concatenación.

Ver también

  • Operadores para strings para el operador de concatenación de cadenas

variant_cast
variant_cmp
Funciones de COM


Compara dos variantes

variant_cat
variant_date_from_timestamp
Funciones de COM
PHP Manual

variant_cmp

(PHP 5)

variant_cmp — Compara dos variantes

Descripción

int variant_cmp ( mixed $left , mixed $right [, int $lcid [, int $flags ]] )

Compara left con right.

Esta fucnión sólo comparará valores escalares, no arrays o registros de variantes.

Parámetros

left

El operando izquierdo.

right

El operando derecho.

lcid

Un Identificador Regional válido a usar cuando se comparan cadenas (esto afecta a la compaginación de cadenas).

flags

flags puede ser uno o más de los siguientes valores usando OR entre ellos, y afecta a la comparación de cadenas:

Banderas de Comparación de Variantes
valor | significado
NORM_IGNORECASE | Comparara de forma insensible a mayúsculas-minúsculas
NORM_IGNORENONSPACE | Ignorar caracteres que no son de espacio
NORM_IGNORESYMBOLS | Ignorar símbolos
NORM_IGNOREWIDTH | Ignorar el ancho de cadena
NORM_IGNOREKANATYPE | Ignorar el tipo Kana
NORM_IGNOREKASHIDA | Ignorar caracteras kashida arábigos

Nota:

Al igual que con todas las funciones aritméticas variantes, los parámetros de esta función pueden ser tanto un tipo nativo de PHP (integer, string, de punto flotante, boolean o NULL), o una instancia de una clase COM, VARIANT o DOTNET. Los tipos nativos de PHP serán convertidos en variantes usando las mismas reglas tal como se encuentran en el constructor para la clase VARIANT. Los objetos COM y DOTNET tomarán el valor de sus propiedades predeterminadas adoptadas y lo utilizarán como el valor variante.

Las funciones aritméticas variantes son wrappers alrededor de las funciones con nombres similares en la librería COM; para más información sobre estas funciones, consulte la librería MSDN. Las funciones de PHP tienen nombres ligeramente diferentes; por ejemplo, variant_add() en PHP corresponde a VarAdd() en la documentación MSDN.

Valores devueltos

Devuelve un valor de los siguientes:

Resultados de la Comparación de Variantes
valor | significado
VARCMP_LT | left es menor que right
VARCMP_EQ | left es igual que right
VARCMP_GT | left es mayor que right
VARCMP_NULL | left o, right o ambos son NULL

variant_cat
variant_date_from_timestamp
Funciones de COM


Devuelve una representación de variante de fecha de una fecha Unix

variant_cmp
variant_date_to_timestamp
Funciones de COM
PHP Manual

variant_date_from_timestamp

(PHP 5)

variant_date_from_timestamp — Devuelve una representación de variante de fecha de una fecha Unix

Descripción

variant variant_date_from_timestamp ( int $timestamp )

Convierte timestamp desde un valor de fecha unix a una variante de tipo VT_DATE. Permite la interpolación más sencilla entre las partes unix de PHP y COM.

Parámetros

timestamp

Una fecha unix.

Valores devueltos

Devuelve una variante VT_DATE.

Ver también

  • variant_date_to_timestamp() - Convierte un valor de una variante de fecha/hora en una fecha Unix
  • mktime() - Obtener la marca de tiempo Unix de una fecha
  • time() - Devuelve la fecha Unix actual

variant_cmp
variant_date_to_timestamp
Funciones de COM


Convierte un valor de una variante de fecha/hora en una fecha Unix

variant_date_from_timestamp
variant_div
Funciones de COM
PHP Manual

variant_date_to_timestamp

(PHP 5)

variant_date_to_timestamp — Convierte un valor de una variante de fecha/hora en una fecha Unix

Descripción

int variant_date_to_timestamp ( variant $variant )

Convierte variant desde un valor VT_DATE (o similar) a una fecha Unix. Permite la interoperabilidad más sencilla entre las partes Unix de PHP y COM.

Parámetros

variant

La variante.

Valores devueltos

Devuelve una fecha unix.

Ver también

  • variant_date_from_timestamp() - Devuelve una representación de variante de fecha de una fecha Unix
  • date() - Dar formato a la fecha/hora local
  • strftime() - Formatea una fecha/hora local según la configuración regional

variant_date_from_timestamp
variant_div
Funciones de COM


Devuelve el resultado de dividir dos variantes

variant_date_to_timestamp
variant_eqv
Funciones de COM
PHP Manual

variant_div

(PHP 5)

variant_div — Devuelve el resultado de dividir dos variantes

Descripción

mixed variant_div ( mixed $left , mixed $right )

Divide left entre right y devuelve el resultado.

Parámetros

left

El operando izquierdo.

right

El operando derecho.

Nota:

Al igual que con todas las funciones aritméticas variantes, los parámetros de esta función pueden ser tanto un tipo nativo de PHP (integer, string, de punto flotante, boolean o NULL), o una instancia de una clase COM, VARIANT o DOTNET. Los tipos nativos de PHP serán convertidos en variantes usando las mismas reglas tal como se encuentran en el constructor para la clase VARIANT. Los objetos COM y DOTNET tomarán el valor de sus propiedades predeterminadas adoptadas y lo utilizarán como el valor variante.

Las funciones aritméticas variantes son wrappers alrededor de las funciones con nombres similares en la librería COM; para más información sobre estas funciones, consulte la librería MSDN. Las funciones de PHP tienen nombres ligeramente diferentes; por ejemplo, variant_add() en PHP corresponde a VarAdd() en la documentación MSDN.

Valores devueltos

Reglas de División de Variantes
Si | Entonces
Ambas expresiones son de tipo cadena, fecha, carácter, booleano | Se devuelve un valor de tipo double
Una expresión es una cadena y la otra un carácter | División y se devuelve un valor de tipo double
Una expresión es numérica y la otra es una cadena | División y se devuelve un valor de tipo double
Ambas expresiones son numéricas | División y se devuelve un valor de tipo double
Alguna de las expresiones es NULL | Se devuelve NULL
right está vacía y left es cualquier otra cosa menos vacía | Se lanza una com_exception con código DISP_E_DIVBYZERO
left está vacía y right es cualquier otra cosa menos vacía | Se devuelve 0 de tipo double
Ambas expresiones están vacías | Se lanza una com_exception con código DISP_E_OVERFLOW

Ver también

  • variant_idiv() - Convierte variantes a enteros y después devuelve el resultado dividiéndolos

variant_date_to_timestamp
variant_eqv
Funciones de COM


Realiza una equivalencia a nivel de bits en dos variantes

variant_div
variant_fix
Funciones de COM
PHP Manual

variant_eqv

(PHP 5)

variant_eqv — Realiza una equivalencia a nivel de bits en dos variantes

Descripción

mixed variant_eqv ( mixed $left , mixed $right )

Realiza una equivalencia a nivel de bits en dos variantes.

Parámetros

left

El operando izquierdo.

right

El operando derecho.

Nota:

Al igual que con todas las funciones aritméticas variantes, los parámetros de esta función pueden ser tanto un tipo nativo de PHP (integer, string, de punto flotante, boolean o NULL), o una instancia de una clase COM, VARIANT o DOTNET. Los tipos nativos de PHP serán convertidos en variantes usando las mismas reglas tal como se encuentran en el constructor para la clase VARIANT. Los objetos COM y DOTNET tomarán el valor de sus propiedades predeterminadas adoptadas y lo utilizarán como el valor variante.

Las funciones aritméticas variantes son wrappers alrededor de las funciones con nombres similares en la librería COM; para más información sobre estas funciones, consulte la librería MSDN. Las funciones de PHP tienen nombres ligeramente diferentes; por ejemplo, variant_add() en PHP corresponde a VarAdd() en la documentación MSDN.

Valores devueltos

Si cada bit de left es igual al bit correspondiente de right se devuelve TRUE, si no se devuelve FALSE.

variant_div
variant_fix
Funciones de COM


Devuelve la parte entera de una variante

variant_eqv
variant_get_type
Funciones de COM
PHP Manual

variant_fix

(PHP 5)

variant_fix — Devuelve la parte entera de una variante

Descripción

mixed variant_fix ( mixed $variant )

Obtiene la parte entera de una variante.

Parámetros

variant

La variante.

Nota:

Al igual que con todas las funciones aritméticas variantes, los parámetros de esta función pueden ser tanto un tipo nativo de PHP (integer, string, de punto flotante, boolean o NULL), o una instancia de una clase COM, VARIANT o DOTNET. Los tipos nativos de PHP serán convertidos en variantes usando las mismas reglas tal como se encuentran en el constructor para la clase VARIANT. Los objetos COM y DOTNET tomarán el valor de sus propiedades predeterminadas adoptadas y lo utilizarán como el valor variante.

Las funciones aritméticas variantes son wrappers alrededor de las funciones con nombres similares en la librería COM; para más información sobre estas funciones, consulte la librería MSDN. Las funciones de PHP tienen nombres ligeramente diferentes; por ejemplo, variant_add() en PHP corresponde a VarAdd() en la documentación MSDN.

Valores devueltos

Si variant es negativo, se devuelve el primer entero negativo mayor o igual que la variante, de otro modo se devuelve la parte entera del valor de variant.

Notas

Advertencia

Esta documentación está basada en la documentación de MSDN; parece que esta función o es la misma que variant_int(), o existe un error en la documentación de MSDN.

Ver también

  • variant_int() - Devuelve la parte entera de una variante
  • variant_round() - Redondea una variante al número de lugares decimales especificado
  • floor() - Redondear fracciones hacia abajo
  • ceil() - Redondear fracciones hacia arriba
  • round() - Redondea un float

variant_eqv
variant_get_type
Funciones de COM


Devuelve el tipo de un objeto variante

variant_fix
variant_idiv
Funciones de COM
PHP Manual

variant_get_type

(PHP 5)

variant_get_type — Devuelve el tipo de un objeto variante

Descripción

int variant_get_type ( variant $variant )

Devuelve el tipo de un objeto variante.

Parámetros

variant

El objeto variante.

Valores devueltos

Esta función devuelve un valor de tipo integer que indica el tipo de variant, que puede ser una instancia de las clases COM, DOTNET o VARIANT. El valor devuelto puede ser comparado con una de las constantes VT_XXX.

El valor devuelto para objetos COM y DOTNET será normalmente VT_DISPATCH; la única razón de que esta función funcione con estas clases es que COM y DOTNET son descendientes de VARIANT.

En versiones de PHP anteriores a 5 se podría obtener esta información ÚNICAMENTE desde instancias de la clase VARIANT, leyendo una propiedad type falsa. Véase la clase VARIANT para más información sobre esto.

variant_fix
variant_idiv
Funciones de COM


Convierte variantes a enteros y después devuelve el resultado dividiéndolos

variant_get_type
variant_imp
Funciones de COM
PHP Manual

variant_idiv

(PHP 5)

variant_idiv — Convierte variantes a enteros y después devuelve el resultado dividiéndolos

Descripción

mixed variant_idiv ( mixed $left , mixed $right )

Convierte left y right a valores de tipo integer, y después realiza la división entera.

Parámetros

left

El operando izquierdo.

right

El operando derecho.

Nota:

Al igual que con todas las funciones aritméticas variantes, los parámetros de esta función pueden ser tanto un tipo nativo de PHP (integer, string, de punto flotante, boolean o NULL), o una instancia de una clase COM, VARIANT o DOTNET. Los tipos nativos de PHP serán convertidos en variantes usando las mismas reglas tal como se encuentran en el constructor para la clase VARIANT. Los objetos COM y DOTNET tomarán el valor de sus propiedades predeterminadas adoptadas y lo utilizarán como el valor variante.

Las funciones aritméticas variantes son wrappers alrededor de las funciones con nombres similares en la librería COM; para más información sobre estas funciones, consulte la librería MSDN. Las funciones de PHP tienen nombres ligeramente diferentes; por ejemplo, variant_add() en PHP corresponde a VarAdd() en la documentación MSDN.

Valores devueltos

Reglas de División Entera de Variantes
Si | Entonces
Ambas expresiones son de tipo cadena, fecha, carácter, booleano | División y se devuelve un entero
Una expresión es de tipo cadena y la otra un carácter | División
Una expresión es numérica y la otra es una cadena | División
Ambas expresiones son numéricas | División
Alguna de las expresiones es NULL | Se devuelve NULL
Ambas expresiones están vacías | Se lanza una com_exception con código DISP_E_DIVBYZERO

Ver también

  • variant_div() - Devuelve el resultado de dividir dos variantes

variant_get_type
variant_imp
Funciones de COM


Realiza una implicación a nivel de bits de dos variantes

variant_idiv
variant_int
Funciones de COM
PHP Manual

variant_imp

(PHP 5)

variant_imp — Realiza una implicación a nivel de bits de dos variantes

Descripción

mixed variant_imp ( mixed $left , mixed $right )

Realiza una operación de implicación a nivel de bits.

Parámetros

left

El operando izquierdo.

right

El operando derecho.

Nota:

Al igual que con todas las funciones aritméticas variantes, los parámetros de esta función pueden ser tanto un tipo nativo de PHP (integer, string, de punto flotante, boolean o NULL), o una instancia de una clase COM, VARIANT o DOTNET. Los tipos nativos de PHP serán convertidos en variantes usando las mismas reglas tal como se encuentran en el constructor para la clase VARIANT. Los objetos COM y DOTNET tomarán el valor de sus propiedades predeterminadas adoptadas y lo utilizarán como el valor variante.

Las funciones aritméticas variantes son wrappers alrededor de las funciones con nombres similares en la librería COM; para más información sobre estas funciones, consulte la librería MSDN. Las funciones de PHP tienen nombres ligeramente diferentes; por ejemplo, variant_add() en PHP corresponde a VarAdd() en la documentación MSDN.

Valores devueltos

Tabla de Implicación de Variantes
Si left es | Si right es | entonces el resultado es
TRUE | TRUE | TRUE
TRUE | FALSE | TRUE
TRUE | NULL | TRUE
FALSE | TRUE | TRUE
FALSE | FALSE | TRUE
FALSE | NULL | TRUE
NULL | TRUE | TRUE
NULL | FALSE | NULL
NULL | NULL | NULL

variant_idiv
variant_int
Funciones de COM


Devuelve la parte entera de una variante

variant_imp
variant_mod
Funciones de COM
PHP Manual

variant_int

(PHP 5)

variant_int — Devuelve la parte entera de una variante

Descripción

mixed variant_int ( mixed $variant )

Obtiene la parte entera de una variante.

Parámetros

variant

La variante.

Nota:

Al igual que con todas las funciones aritméticas variantes, los parámetros de esta función pueden ser tanto un tipo nativo de PHP (integer, string, de punto flotante, boolean o NULL), o una instancia de una clase COM, VARIANT o DOTNET. Los tipos nativos de PHP serán convertidos en variantes usando las mismas reglas tal como se encuentran en el constructor para la clase VARIANT. Los objetos COM y DOTNET tomarán el valor de sus propiedades predeterminadas adoptadas y lo utilizarán como el valor variante.

Las funciones aritméticas variantes son wrappers alrededor de las funciones con nombres similares en la librería COM; para más información sobre estas funciones, consulte la librería MSDN. Las funciones de PHP tienen nombres ligeramente diferentes; por ejemplo, variant_add() en PHP corresponde a VarAdd() en la documentación MSDN.

Valores devueltos

Si variant es negativo, se devuelve el primer entero negativo mayor o igual a la variante, de otro modo se devuelve la parte entera del valor de variant.

Ver también

  • variant_fix() - Devuelve la parte entera de una variante
  • variant_round() - Redondea una variante al número de lugares decimales especificado
  • floor() - Redondear fracciones hacia abajo
  • ceil() - Redondear fracciones hacia arriba
  • round() - Redondea un float

variant_imp
variant_mod
Funciones de COM


Divide dos variantes y devuelve sólo el resto

variant_int
variant_mul
Funciones de COM
PHP Manual

variant_mod

(PHP 5)

variant_mod — Divide dos variantes y devuelve sólo el resto

Descripción

mixed variant_mod ( mixed $left , mixed $right )

Divide left entre right y devuelve el resto.

Parámetros

left

El operando izquierdo.

right

El operando derecho.

Nota:

Al igual que con todas las funciones aritméticas variantes, los parámetros de esta función pueden ser tanto un tipo nativo de PHP (integer, string, de punto flotante, boolean o NULL), o una instancia de una clase COM, VARIANT o DOTNET. Los tipos nativos de PHP serán convertidos en variantes usando las mismas reglas tal como se encuentran en el constructor para la clase VARIANT. Los objetos COM y DOTNET tomarán el valor de sus propiedades predeterminadas adoptadas y lo utilizarán como el valor variante.

Las funciones aritméticas variantes son wrappers alrededor de las funciones con nombres similares en la librería COM; para más información sobre estas funciones, consulte la librería MSDN. Las funciones de PHP tienen nombres ligeramente diferentes; por ejemplo, variant_add() en PHP corresponde a VarAdd() en la documentación MSDN.

Valores devueltos

Devuelve el resto de la división.

Ver también

  • variant_div() - Devuelve el resultado de dividir dos variantes
  • variant_idiv() - Convierte variantes a enteros y después devuelve el resultado dividiéndolos

variant_int
variant_mul
Funciones de COM


Multiplica los valores de dos variantes

variant_mod
variant_neg
Funciones de COM
PHP Manual

variant_mul

(PHP 5)

variant_mul — Multiplica los valores de dos variantes

Descripción

mixed variant_mul ( mixed $left , mixed $right )

Multiplica left por right.

Parámetros

left

El operando izquierdo.

right

El operando derecho.

Los valores booleanos son convertidos a -1 para FALSE y 0 para TRUE.

Nota:

Al igual que con todas las funciones aritméticas variantes, los parámetros de esta función pueden ser tanto un tipo nativo de PHP (integer, string, de punto flotante, boolean o NULL), o una instancia de una clase COM, VARIANT o DOTNET. Los tipos nativos de PHP serán convertidos en variantes usando las mismas reglas tal como se encuentran en el constructor para la clase VARIANT. Los objetos COM y DOTNET tomarán el valor de sus propiedades predeterminadas adoptadas y lo utilizarán como el valor variante.

Las funciones aritméticas variantes son wrappers alrededor de las funciones con nombres similares en la librería COM; para más información sobre estas funciones, consulte la librería MSDN. Las funciones de PHP tienen nombres ligeramente diferentes; por ejemplo, variant_add() en PHP corresponde a VarAdd() en la documentación MSDN.

Valores devueltos

Reglas de Multiplicación de Variantes
Si | Entonces
Ambas expresiones son de tipo cadena, fecha, carácter, boolean | Multiplicación
Una expresión es de tipo cadena y la otra un carácter | Multiplicación
Una expresión es numérica y la otra una cadena | Multiplicación
Ambas expresiones son numéricas | Multiplicación
Alguna de las expresiones es NULL | Se devuelve NULL
Ambas expresiones están vacías | Se devuelve una cadena vacía

Ver también

  • variant_div() - Devuelve el resultado de dividir dos variantes
  • variant_idiv() - Convierte variantes a enteros y después devuelve el resultado dividiéndolos

variant_mod
variant_neg
Funciones de COM


Realiza una negación lógica de una variante

variant_mul
variant_not
Funciones de COM
PHP Manual

variant_neg

(PHP 5)

variant_neg — Realiza una negación lógica de una variante

Descripción

mixed variant_neg ( mixed $variant )

Realiza una negación lógica de variant.

Parámetros

variant

La variante.

Nota:

Al igual que con todas las funciones aritméticas variantes, los parámetros de esta función pueden ser tanto un tipo nativo de PHP (integer, string, de punto flotante, boolean o NULL), o una instancia de una clase COM, VARIANT o DOTNET. Los tipos nativos de PHP serán convertidos en variantes usando las mismas reglas tal como se encuentran en el constructor para la clase VARIANT. Los objetos COM y DOTNET tomarán el valor de sus propiedades predeterminadas adoptadas y lo utilizarán como el valor variante.

Las funciones aritméticas variantes son wrappers alrededor de las funciones con nombres similares en la librería COM; para más información sobre estas funciones, consulte la librería MSDN. Las funciones de PHP tienen nombres ligeramente diferentes; por ejemplo, variant_add() en PHP corresponde a VarAdd() en la documentación MSDN.

Valores devueltos

Devuelve el resultado de la negación lógica.

variant_mul
variant_not
Funciones de COM


Realiza una negación NOT a nivel de bits en una variante

variant_neg
variant_or
Funciones de COM
PHP Manual

variant_not

(PHP 5)

variant_not — Realiza una negación NOT a nivel de bits en una variante

Descripción

mixed variant_not ( mixed $variant )

Realiza una negación NOT a nivel de bits en variant y devuelve el resultado.

Parámetros

variant

La variante.

Nota:

Al igual que con todas las funciones aritméticas variantes, los parámetros de esta función pueden ser tanto un tipo nativo de PHP (integer, string, de punto flotante, boolean o NULL), o una instancia de una clase COM, VARIANT o DOTNET. Los tipos nativos de PHP serán convertidos en variantes usando las mismas reglas tal como se encuentran en el constructor para la clase VARIANT. Los objetos COM y DOTNET tomarán el valor de sus propiedades predeterminadas adoptadas y lo utilizarán como el valor variante.

Las funciones aritméticas variantes son wrappers alrededor de las funciones con nombres similares en la librería COM; para más información sobre estas funciones, consulte la librería MSDN. Las funciones de PHP tienen nombres ligeramente diferentes; por ejemplo, variant_add() en PHP corresponde a VarAdd() en la documentación MSDN.

Valores devueltos

Devuelve la negación NOT a nivel de bits. Si variant es NULL, el resultado también será NULL.

variant_neg
variant_or
Funciones de COM


Realiza una disyunción lógica de dos variantes

variant_not
variant_pow
Funciones de COM
PHP Manual

variant_or

(PHP 5)

variant_or — Realiza una disyunción lógica de dos variantes

Descripción

mixed variant_or ( mixed $left , mixed $right )

Realiza una operación OR a nivel de bits. Observer que esto difiere ligeramente de una operación OR normal.

Parámetros

left

El operando izquierdo.

right

El operando derecho.

Nota:

Al igual que con todas las funciones aritméticas variantes, los parámetros de esta función pueden ser tanto un tipo nativo de PHP (integer, string, de punto flotante, boolean o NULL), o una instancia de una clase COM, VARIANT o DOTNET. Los tipos nativos de PHP serán convertidos en variantes usando las mismas reglas tal como se encuentran en el constructor para la clase VARIANT. Los objetos COM y DOTNET tomarán el valor de sus propiedades predeterminadas adoptadas y lo utilizarán como el valor variante.

Las funciones aritméticas variantes son wrappers alrededor de las funciones con nombres similares en la librería COM; para más información sobre estas funciones, consulte la librería MSDN. Las funciones de PHP tienen nombres ligeramente diferentes; por ejemplo, variant_add() en PHP corresponde a VarAdd() en la documentación MSDN.

Valores devueltos

Reglas del uso de OR de Variantes
Si left es | Si right es | entonces el resultado es
TRUE | TRUE | TRUE
TRUE | FALSE | TRUE
TRUE | NULL | TRUE
FALSE | TRUE | TRUE
FALSE | FALSE | FALSE
FALSE | NULL | NULL
NULL | TRUE | TRUE
NULL | FALSE | NULL
NULL | NULL | NULL

Ver también

  • variant_and() - Realiza una operación AND a nivel de bits entre dos variantes
  • variant_xor() - Realiza una exclución lógica de dos variantes

variant_not
variant_pow
Funciones de COM


Devuelve el resultado de realizar la exponenciación con dos variantes

variant_or
variant_round
Funciones de COM
PHP Manual

variant_pow

(PHP 5)

variant_pow — Devuelve el resultado de realizar la exponenciación con dos variantes

Descripción

mixed variant_pow ( mixed $left , mixed $right )

Devuelve el resultado de left a la potencia de right.

Parámetros

left

El operando izquierdo.

right

El operando derecho.

Nota:

Al igual que con todas las funciones aritméticas variantes, los parámetros de esta función pueden ser tanto un tipo nativo de PHP (integer, string, de punto flotante, boolean o NULL), o una instancia de una clase COM, VARIANT o DOTNET. Los tipos nativos de PHP serán convertidos en variantes usando las mismas reglas tal como se encuentran en el constructor para la clase VARIANT. Los objetos COM y DOTNET tomarán el valor de sus propiedades predeterminadas adoptadas y lo utilizarán como el valor variante.

Las funciones aritméticas variantes son wrappers alrededor de las funciones con nombres similares en la librería COM; para más información sobre estas funciones, consulte la librería MSDN. Las funciones de PHP tienen nombres ligeramente diferentes; por ejemplo, variant_add() en PHP corresponde a VarAdd() en la documentación MSDN.

Valores devueltos

Devuelve el resultado de left a la potencia right.

Ver también

  • pow() - Expresión exponencial

variant_or
variant_round
Funciones de COM


Redondea una variante al número de lugares decimales especificado

variant_pow
variant_set_type
Funciones de COM
PHP Manual

variant_round

(PHP 5)

variant_round — Redondea una variante al número de lugares decimales especificado

Descripción

mixed variant_round ( mixed $variant , int $decimals )

Devuelve el valor de variant redondeado a decimals lugares decimales.

Parámetros

variant

La variante.

decimals

Número de luguras decimales.

Nota:

Al igual que con todas las funciones aritméticas variantes, los parámetros de esta función pueden ser tanto un tipo nativo de PHP (integer, string, de punto flotante, boolean o NULL), o una instancia de una clase COM, VARIANT o DOTNET. Los tipos nativos de PHP serán convertidos en variantes usando las mismas reglas tal como se encuentran en el constructor para la clase VARIANT. Los objetos COM y DOTNET tomarán el valor de sus propiedades predeterminadas adoptadas y lo utilizarán como el valor variante.

Las funciones aritméticas variantes son wrappers alrededor de las funciones con nombres similares en la librería COM; para más información sobre estas funciones, consulte la librería MSDN. Las funciones de PHP tienen nombres ligeramente diferentes; por ejemplo, variant_add() en PHP corresponde a VarAdd() en la documentación MSDN.

Valores devueltos

Devuelve el valor redondeado.

Ver también

  • round() - Redondea un float

variant_pow
variant_set_type
Funciones de COM


Convierte una variante en otro tipo "in situ"

variant_round
variant_set
Funciones de COM
PHP Manual

variant_set_type

(PHP 5)

variant_set_type — Convierte una variante en otro tipo "in situ"

Descripción

void variant_set_type ( variant $variant , int $type )

Esta función es similar a variant_cast() excepto que la variante es modificada "in situ"; no se crea una nueva variante. Los parámetros para esta función tienen significados idénticos para aquellos de variant_cast().

Parámetros

variant

La variante.

type

Valores devueltos

No devuelve ningún valor.

Ver también

  • variant_cast() - Convertir una variante en un nuevo objeto variante de otro tipo

variant_round
variant_set
Funciones de COM


Asigna un nuevo valor para un objeto variante

variant_set_type
variant_sub
Funciones de COM
PHP Manual

variant_set

(PHP 5)

variant_set — Asigna un nuevo valor para un objeto variante

Descripción

void variant_set ( variant $variant , mixed $value )

Convierte value a una variante y lo asigna al objeto variant; no se crean un nuevo objeto variante, y el valor antiguo de variant es liberado.

Parámetros

variant

La variante.

value

Valores devueltos

No devuelve ningún valor.

variant_set_type
variant_sub
Funciones de COM


Resta el valor de la variante derecha del valor de la varienta izquierda

variant_set
variant_xor
Funciones de COM
PHP Manual

variant_sub

(PHP 5)

variant_sub — Resta el valor de la variante derecha del valor de la varienta izquierda

Descripción

mixed variant_sub ( mixed $left , mixed $right )

Resta right de left.

Parámetros

left

El operando izquierdo.

right

El operando derecho.

Nota:

Al igual que con todas las funciones aritméticas variantes, los parámetros de esta función pueden ser tanto un tipo nativo de PHP (integer, string, de punto flotante, boolean o NULL), o una instancia de una clase COM, VARIANT o DOTNET. Los tipos nativos de PHP serán convertidos en variantes usando las mismas reglas tal como se encuentran en el constructor para la clase VARIANT. Los objetos COM y DOTNET tomarán el valor de sus propiedades predeterminadas adoptadas y lo utilizarán como el valor variante.

Las funciones aritméticas variantes son wrappers alrededor de las funciones con nombres similares en la librería COM; para más información sobre estas funciones, consulte la librería MSDN. Las funciones de PHP tienen nombres ligeramente diferentes; por ejemplo, variant_add() en PHP corresponde a VarAdd() en la documentación MSDN.

Valores devueltos

Reglas de Sustracción de Variantes
Si | Entonces
Ambas expresiones son de tipo cadena | Resta
Una expresión es de tipo cadena y la otra un carácter | Resta
Una expresión es numérica y la otra una cadena | Resta
Ambas expresiones son numéricas | Resta
Alguna de las expresiones es NULL | Se devuelve NULL
Ambas expresiones están vacías | Se devuelve una cadena vacía

Ver también

  • variant_add() - "Suma" dos variantes y devuelve el resultado

variant_set
variant_xor
Funciones de COM


Realiza una exclución lógica de dos variantes

variant_sub
Printer
Funciones de COM
PHP Manual

variant_xor

(PHP 5)

variant_xor — Realiza una exclución lógica de dos variantes

Descripción

mixed variant_xor ( mixed $left , mixed $right )

Realiza una exclución lógica.

Parámetros

left

El operando izquierdo.

right

El operando derecho.

Nota:

Al igual que con todas las funciones aritméticas variantes, los parámetros de esta función pueden ser tanto un tipo nativo de PHP (integer, string, de punto flotante, boolean o NULL), o una instancia de una clase COM, VARIANT o DOTNET. Los tipos nativos de PHP serán convertidos en variantes usando las mismas reglas tal como se encuentran en el constructor para la clase VARIANT. Los objetos COM y DOTNET tomarán el valor de sus propiedades predeterminadas adoptadas y lo utilizarán como el valor variante.

Las funciones aritméticas variantes son wrappers alrededor de las funciones con nombres similares en la librería COM; para más información sobre estas funciones, consulte la librería MSDN. Las funciones de PHP tienen nombres ligeramente diferentes; por ejemplo, variant_add() en PHP corresponde a VarAdd() en la documentación MSDN.

Valores devueltos

Reglas de Exclusión de Variantes
Si left es | Si right es | entonces el resultado es
TRUE | TRUE | FALSE
TRUE | FALSE | TRUE
FALSE | TRUE | TRUE
FALSE | FALSE | FALSE
NULL | NULL | NULL

Ver también

  • variant_or() - Realiza una disyunción lógica de dos variantes
  • variant_and() - Realiza una operación AND a nivel de bits entre dos variantes

variant_sub
Printer
Funciones de COM


Printer

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de Impresora
    • printer_abort — Eliminar el archivo de cola de la impresora
    • printer_close — Cerrar una conexión de la impresora abierta
    • printer_create_brush — Crear un nuevo pincel
    • printer_create_dc — Crear un nuevo contexto de dispositivo
    • printer_create_font — Crear una nueva fuente
    • printer_create_pen — Crear una nueva pluma
    • printer_delete_brush — Eliminar un pincel
    • printer_delete_dc — Eliminar un contexto de dispositivo
    • printer_delete_font — Eliminar una fuente
    • printer_delete_pen — Eliminar una pluma
    • printer_draw_bmp — Dibujar un bmp
    • printer_draw_chord — Dibujar un acorde
    • printer_draw_elipse — Dibujar una elipse
    • printer_draw_line — Dibujar una línea
    • printer_draw_pie — Dibujar una gráfica de tarta
    • printer_draw_rectangle — Dibujar un rectángulo
    • printer_draw_roundrect — Dibujar un rectángulo con esquinas redondeadas
    • printer_draw_text — Dibujar texto
    • printer_end_doc — Cerrar el documento
    • printer_end_page — Cerrar la página activa
    • printer_get_option — Recuperar los datos de configuración de impresora
    • printer_list — Devolver una matriz de las impresoras conectadas al servidor
    • printer_logical_fontheight — Obtener la altura lógica de la fuente
    • printer_open — Abrir una conexión a una impresora
    • printer_select_brush — Seleccionar un pincel
    • printer_select_font — Seleccionar una fuente
    • printer_select_pen — Seleccionar una pluma
    • printer_set_option — Configurar la conexión de la impresora
    • printer_start_doc — Iniciar un nuevo documento
    • printer_start_page — Iniciar una nueva página
    • printer_write — Escribir datos a la impresora
variant_xor
Introducción
Extensiones específicas de Windows


Introducción

Estas funciones sólo están disponibles en Windows 9.x, ME, NT4 y 2000. Fueron añadidas en PHP 4.0.4.

Printer
Instalación/Configuración
Printer


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Printer


Instalación

Esta extensión » PECL no está ligada a PHP.

Los usuarios de Windows deben habilitar php_printer.dll en el interior de php.ini para poder utilizar estas funciones. Actualmente, no hay ninguna DLL disponible para esta extensión PECL. Véase también la sección Compilar en Windows .

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de la impresora
Nombre | Por defecto | Cambiable | Historial de cambios
printer.default_printer | "" | PHP_INI_ALL | Disponible desde PHP 4.0.6. Eliminada en PHP 4.1.1.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

Instalación
Tipos de recursos
Instalación/Configuración


Tipos de recursos

Esta extensión define identificadores de una conexión de impresora, de un pincel, de una fuente y de una pluma.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

PRINTER_COPIES (integer)
PRINTER_MODE (integer)
PRINTER_TITLE (integer)
PRINTER_DEVICENAME (integer)
PRINTER_DRIVERVERSION (integer)
PRINTER_OUTPUT_FILE (integer)
PRINTER_RESOLUTION_Y (integer)
PRINTER_RESOLUTION_X (integer)
PRINTER_SCALE (integer)
PRINTER_BACKGROUND_COLOR (integer)
PRINTER_PAPER_LENGTH (integer)
PRINTER_PAPER_WIDTH (integer)
PRINTER_PAPER_FORMAT (integer)
PRINTER_FORMAT_CUSTOM (integer)
PRINTER_FORMAT_LETTER (integer)
PRINTER_FORMAT_LEGAL (integer)
PRINTER_FORMAT_A3 (integer)
PRINTER_FORMAT_A4 (integer)
PRINTER_FORMAT_A5 (integer)
PRINTER_FORMAT_B4 (integer)
PRINTER_FORMAT_B5 (integer)
PRINTER_FORMAT_FOLIO (integer)
PRINTER_ORIENTATION (integer)
PRINTER_ORIENTATION_PORTRAIT (integer)
PRINTER_ORIENTATION_LANDSCAPE (integer)
PRINTER_TEXT_COLOR (integer)
PRINTER_TEXT_ALIGN (integer)
PRINTER_TA_BASELINE (integer)
PRINTER_TA_BOTTOM (integer)
PRINTER_TA_TOP (integer)
PRINTER_TA_CENTER (integer)
PRINTER_TA_LEFT (integer)
PRINTER_TA_RIGHT (integer)
PRINTER_PEN_SOLID (integer)
PRINTER_PEN_DASH (integer)
PRINTER_PEN_DOT (integer)
PRINTER_PEN_DASHDOT (integer)
PRINTER_PEN_DASHDOTDOT (integer)
PRINTER_PEN_INVISIBLE (integer)
PRINTER_BRUSH_SOLID (integer)
PRINTER_BRUSH_CUSTOM (integer)
PRINTER_BRUSH_DIAGONAL (integer)
PRINTER_BRUSH_CROSS (integer)
PRINTER_BRUSH_DIAGCROSS (integer)
PRINTER_BRUSH_FDIAGONAL (integer)
PRINTER_BRUSH_HORIZONTAL (integer)
PRINTER_BRUSH_VERTICAL (integer)
PRINTER_FW_THIN (integer)
PRINTER_FW_ULTRALIGHT (integer)
PRINTER_FW_LIGHT (integer)
PRINTER_FW_NORMAL (integer)
PRINTER_FW_MEDIUM (integer)
PRINTER_FW_BOLD (integer)
PRINTER_FW_ULTRABOLD (integer)
PRINTER_FW_HEAVY (integer)
PRINTER_ENUM_LOCAL (integer)
PRINTER_ENUM_NAME (integer)
PRINTER_ENUM_SHARED (integer)
PRINTER_ENUM_DEFAULT (integer)
PRINTER_ENUM_CONNECTIONS (integer)
PRINTER_ENUM_NETWORK (integer)
PRINTER_ENUM_REMOTE (integer)
Tipos de recursos
Funciones de Impresora
Printer


Funciones de Impresora

Tabla de contenidos

  • printer_abort — Eliminar el archivo de cola de la impresora
  • printer_close — Cerrar una conexión de la impresora abierta
  • printer_create_brush — Crear un nuevo pincel
  • printer_create_dc — Crear un nuevo contexto de dispositivo
  • printer_create_font — Crear una nueva fuente
  • printer_create_pen — Crear una nueva pluma
  • printer_delete_brush — Eliminar un pincel
  • printer_delete_dc — Eliminar un contexto de dispositivo
  • printer_delete_font — Eliminar una fuente
  • printer_delete_pen — Eliminar una pluma
  • printer_draw_bmp — Dibujar un bmp
  • printer_draw_chord — Dibujar un acorde
  • printer_draw_elipse — Dibujar una elipse
  • printer_draw_line — Dibujar una línea
  • printer_draw_pie — Dibujar una gráfica de tarta
  • printer_draw_rectangle — Dibujar un rectángulo
  • printer_draw_roundrect — Dibujar un rectángulo con esquinas redondeadas
  • printer_draw_text — Dibujar texto
  • printer_end_doc — Cerrar el documento
  • printer_end_page — Cerrar la página activa
  • printer_get_option — Recuperar los datos de configuración de impresora
  • printer_list — Devolver una matriz de las impresoras conectadas al servidor
  • printer_logical_fontheight — Obtener la altura lógica de la fuente
  • printer_open — Abrir una conexión a una impresora
  • printer_select_brush — Seleccionar un pincel
  • printer_select_font — Seleccionar una fuente
  • printer_select_pen — Seleccionar una pluma
  • printer_set_option — Configurar la conexión de la impresora
  • printer_start_doc — Iniciar un nuevo documento
  • printer_start_page — Iniciar una nueva página
  • printer_write — Escribir datos a la impresora
Constantes predefinidas
printer_abort
Printer


Eliminar el archivo de cola de la impresora

Funciones de Impresora
printer_close
Funciones de Impresora
PHP Manual

printer_abort

(PECL printer SVN)

printer_abort — Eliminar el archivo de cola de la impresora

Descripción

void printer_abort ( resource $printer_handle )

Esta función elimina el archivo de cola de las impresoras.

Parámetros

printer_handle

El parámetro printer_handle debe ser un identificador válido para una impresora.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de printer_abort()

<?php
$handle = printer_open();
printer_abort($handle);
printer_close($handle);
?>

Funciones de Impresora
printer_close
Funciones de Impresora


Cerrar una conexión de la impresora abierta

printer_abort
printer_create_brush
Funciones de Impresora
PHP Manual

printer_close

(PECL printer SVN)

printer_close — Cerrar una conexión de la impresora abierta

Descripción

void printer_close ( resource $printer_handle )

Esta función cierra la conexión de la impresora. La función printer_close() también se cierra el contexto de dispositivo activo.

Parámetros

printer_handle

El parámetro printer_handle debe ser un identificador válido para una impresora.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de printer_close()

<?php
$handle = printer_open();
printer_close($handle);
?>

printer_abort
printer_create_brush
Funciones de Impresora


Crear un nuevo pincel

printer_close
printer_create_dc
Funciones de Impresora
PHP Manual

printer_create_brush

(PECL printer SVN)

printer_create_brush — Crear un nuevo pincel

Descripción

resource printer_create_brush ( int $style , string $color )

La función crea un nuevo pincel y devuelve un identificador a la misma. Un pincel es utilizado para rellenar formas. Para ver un ejemplo printer_select_brush().

Parámetros

style

El parámetro style debe ser una de las siguientes constantes:

  • PRINTER_BRUSH_SOLID: crea un pincel con un color sólido.
  • PRINTER_BRUSH_DIAGONAL: crea un pincel con un degradado de 45 grados hacia arriba de izquierda a derecha ( / ).
  • PRINTER_BRUSH_CROSS: crea un pincel con una trama ( + ).
  • PRINTER_BRUSH_DIAGCROSS: crea un pincel con 45 tramas ( x ).
  • PRINTER_BRUSH_FDIAGONAL: crea un pincel con una trama de 45 grados hacia abajo de izquierda a derecha ( \ ).
  • PRINTER_BRUSH_HORIZONTAL: crea un pincel con una trama horizontal ( - ).
  • PRINTER_BRUSH_VERTICAL: crea un pincel con una trama vertical ( | ).
  • PRINTER_BRUSH_CUSTOM: crea un pincel personalizado a partir de un fichero BMP. El segundo parámetro se utiliza para especificar el BMP en lugar del código de color RGB.

color

color debe ser de un color en formato hexadecimal RGB, por ejemplo, "000000" para negro.

Valores devueltos

Devuelve un indentificador de pincel o FALSE en caso de error.

printer_close
printer_create_dc
Funciones de Impresora


Crear un nuevo contexto de dispositivo

printer_create_brush
printer_create_font
Funciones de Impresora
PHP Manual

printer_create_dc

(PECL printer SVN)

printer_create_dc — Crear un nuevo contexto de dispositivo

Descripción

void printer_create_dc ( resource $printer_handle )

La función crea un nuevo contexto de dispositivo. Un contexto de dispositivo es utilizado para personalizar los objetos gráficos del documento.

Parámetros

printer_handle

printer_handle debe ser un identificador válido de impresora.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de printer_create_dc()

<?php
$handle = printer_open();
printer_start_doc($handle);
printer_start_page($handle);

printer_create_dc($handle);
/* do some stuff with the dc */
printer_set_option($handle, PRINTER_TEXT_COLOR, "333333");
printer_draw_text($handle, 1, 1, "text");
printer_delete_dc($handle);

/* create another dc */
printer_create_dc($handle);
printer_set_option($handle, PRINTER_TEXT_COLOR, "000000");
printer_draw_text($handle, 1, 1, "text");
/* hacer cosas con el dc */

printer_delete_dc($handle);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_create_brush
printer_create_font
Funciones de Impresora


Crear una nueva fuente

printer_create_dc
printer_create_pen
Funciones de Impresora
PHP Manual

printer_create_font

(PECL printer SVN)

printer_create_font — Crear una nueva fuente

Descripción

resource printer_create_font ( string $face , int $height , int $width , int $font_weight , bool $italic , bool $underline , bool $strikeout , int $orientation )

La función crea una nueva fuente y devuelve un identificador a la misma. Una fuente es utiliza para dibujar texto. Para ver un ejemplo printer_select_font().

Parámetros

face

El parámetro face debe ser una cadena que especifica el tipo de fuente.

height

El parámetro height especifica la altura de la fuente.

width

El parámetro width especifica el ancho de la fuente.

font_weight

El parámetro font_weight especifica el peso de la fuente (400 es normal), y puede ser una de las siguientes constantes predefinidas.

  • PRINTER_FW_THIN: establece el peso de la fuente a fino (100).
  • PRINTER_FW_ULTRALIGHT: establece el peso de la fuente a ultra ligero (200).
  • PRINTER_FW_LIGHT: establece el peso de la fuente a ligero (300).
  • PRINTER_FW_NORMAL: establece el peso de la fuente a normal (400).
  • PRINTER_FW_MEDIUM: establece el peso de la fuente a medio (500).
  • PRINTER_FW_BOLD: establece el peso de la fuente a fuerte (700).
  • PRINTER_FW_ULTRABOLD: establece el peso de la fuente a ultra fuerte (800).
  • PRINTER_FW_HEAVY: establece el peso de la fuente a pesado (900).

italic

El parámetro italic puede ser TRUE o FALSE, y establece si el tipo de letra será cursiva.

underline

El parámetro underline puede ser TRUE o FALSE, y establece si la fuente debe ser subrayada.

strikeout

El parámetro strikeout puede ser TRUE o FALSE, y establece si la fuente debe tener una línea horizontal de tachado.

orientaton

El parámetro orientation especifica una rotación.

Valores devueltos

Devuelve un identificador de fuente en caso de éxito o FALSE en caso de error.

printer_create_dc
printer_create_pen
Funciones de Impresora


Crear una nueva pluma

printer_create_font
printer_delete_brush
Funciones de Impresora
PHP Manual

printer_create_pen

(PECL printer SVN)

printer_create_pen — Crear una nueva pluma

Descripción

resource printer_create_pen ( int $style , int $width , string $color )

La función crea una nueva pluma y devuelve un identificador a la misma. Una pluma es utiliza para dibujar líneas y curvas. Para ver un ejemplo printer_select_pen().

Parámetros

style

El parámetro style debe ser una de las siguientes constantes:

  • PRINTER_PEN_SOLID: crea una pluma sólida.
  • PRINTER_PEN_DASH: crea una pluma de trazos.
  • PRINTER_PEN_DOT: crea una pluma de puntos.
  • PRINTER_PEN_DASHDOT: crea una pluma con rayas y puntos.
  • PRINTER_PEN_DASHDOTDOT: crea una pluma con guiones y puntos dobles.
  • PRINTER_PEN_INVISIBLE: crea una pluma invisible.

width

El parámetro width especifica el ancho de la pluma.

color

El parámetro color debe ser de un color en formato hexadecimal RGB, por ejemplo, "000000" para negro.

Valores devueltos

Devuelve un identificador de pluma o FALSE en caso de error.

printer_create_font
printer_delete_brush
Funciones de Impresora


Eliminar un pincel

printer_create_pen
printer_delete_dc
Funciones de Impresora
PHP Manual

printer_delete_brush

(PECL printer SVN)

printer_delete_brush — Eliminar un pincel

Descripción

void printer_delete_brush ( resource $brush_handle )

La función elimina el pincel seleccionado. Para ver un ejemplo printer_select_brush().

Parámetros

brush_handle

El parámetro brush_handle debe ser un identificador válido de un pincel.

Valores devueltos

No devuelve ningún valor.

printer_create_pen
printer_delete_dc
Funciones de Impresora


Eliminar un contexto de dispositivo

printer_delete_brush
printer_delete_font
Funciones de Impresora
PHP Manual

printer_delete_dc

(PECL printer SVN)

printer_delete_dc — Eliminar un contexto de dispositivo

Descripción

bool printer_delete_dc ( resource $printer_handle )

La función elimina el contexto de dispositivo. Para ver un ejemplo printer_create_dc().

Parámetros

printer_handle

El parámetro printer_handle debe ser un identificador válido de impresora.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

printer_delete_brush
printer_delete_font
Funciones de Impresora


Eliminar una fuente

printer_delete_dc
printer_delete_pen
Funciones de Impresora
PHP Manual

printer_delete_font

(PECL printer SVN)

printer_delete_font — Eliminar una fuente

Descripción

void printer_delete_font ( resource $font_handle )

La función elimina la fuente seleccionada. Para ver un ejemplo printer_select_font().

Parámetros

font_handle

El parámetro font_handle debe ser un identificador válido de una fuente.

Valores devueltos

No devuelve ningún valor.

printer_delete_dc
printer_delete_pen
Funciones de Impresora


Eliminar una pluma

printer_delete_font
printer_draw_bmp
Funciones de Impresora
PHP Manual

printer_delete_pen

(PECL printer SVN)

printer_delete_pen — Eliminar una pluma

Descripción

void printer_delete_pen ( resource $pen_handle )

La función elimina la pluma seleccionada. Para ver un ejemplo printer_select_pen().

Parámetros

pen_handle

El parámetro pen_handle debe ser un identificador válido de una pluma.

Valores devueltos

No devuelve ningún valor.

printer_delete_font
printer_draw_bmp
Funciones de Impresora


Dibujar un bmp

printer_delete_pen
printer_draw_chord
Funciones de Impresora
PHP Manual

printer_draw_bmp

(PECL printer SVN)

printer_draw_bmp — Dibujar un bmp

Descripción

bool printer_draw_bmp ( resource $printer_handle , string $filename , int $x , int $y [, int $width ], int $height )

La función dibuja un bmp.

Parámetros

printer_handle

El parámetro printer_handle debe ser un identificador válido para una impresora.

filename

Ruta de acceso al mapa de bits.

x

El parámetro x es la parte superior izquierda de la coordenada x del mapa de bits.

y

El parámetro y es la parte superior izquierda de la coordenada y del mapa de bits.

width

El ancho de mapa de bits.

height

La altura de mapa de bits.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de printer_draw_bmp()

<?php
$handle = printer_open();
printer_start_doc($handle, "Mi Documento");
printer_start_page($handle);

printer_draw_bmp($handle, "c:\\imagen.bmp", 1, 1);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_delete_pen
printer_draw_chord
Funciones de Impresora


Dibujar un acorde

printer_draw_bmp
printer_draw_elipse
Funciones de Impresora
PHP Manual

printer_draw_chord

(PECL printer SVN)

printer_draw_chord — Dibujar un acorde

Descripción

void printer_draw_chord ( resource $printer_handle , int $rec_x , int $rec_y , int $rec_x1 , int $rec_y1 , int $rad_x , int $rad_y , int $rad_x1 , int $rad_y1 )

La función simplemente dibuja un acorde.

Parámetros

printer_handle

El parámetro printer_handle debe ser un identificador válido de impresora.

rec_x

El parámetro rec_x es la parte superior izquierda de la coordenada x del rectángulo delimitador.

rec_y

El parámetro rec_y es la parte superior izquierda de la coordenada y del rectángulo delimitador.

rec_x1

El parámetro rec_x1 es la parte inferior derecha de la coordenada x del rectángulo delimitador.

rec_y1

El parámetro rec_y1 es la parte inferior derecha de la coordenada y rectángulo delimitador.

rad_x

El parámetro rad_x es la coordenada x de la radial que define el inicio de la cuerda.

rad_y

El parámetro rad_y es la coordenada y de la radial que define el inicio de la cuerda.

rad_x1

El parámetro rad_x1 es la coordenada x de la radial que define el final de la cuerda.

rad_y1

El parámetro rad_y1 es la coordenada y de la radial que define el final de la cuerda.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de printer_draw_chord()

<?php
$handle = printer_open();
printer_start_doc($handle, "Mi Documento");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "2222FF");
printer_select_brush($handle, $brush);

printer_draw_chord($handle, 1, 1, 500, 500, 1, 1, 500, 1);

printer_delete_brush($brush);
printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_draw_bmp
printer_draw_elipse
Funciones de Impresora


Dibujar una elipse

printer_draw_chord
printer_draw_line
Funciones de Impresora
PHP Manual

printer_draw_elipse

(PECL printer SVN)

printer_draw_elipse — Dibujar una elipse

Descripción

void printer_draw_elipse ( resource $printer_handle , int $ul_x , int $ul_y , int $lr_x , int $lr_y )

La función dibuja una elipse.

Parámetros

printer_handle

El parámetro printer_handle debe ser un identificador válido para una impresora.

ul_x

El parámetro ul_x es la parte superior izquierda de la coordenada x de la elipse.

ul_y

El parámetro ul_y es la parte superior izquierda de la coordenada y de la elipse.

lr_x

El parámetro lr_x es la parte inferior derecha de la coordenada x de la elipse.

lr_y

El parámetro lr_y es la parte inferior derecha de la coordenada y de la elipse.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de printer_draw_elipse()

<?php
$handle = printer_open();
printer_start_doc($handle, "Mi Documento");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "2222FF");
printer_select_brush($handle, $brush);

printer_draw_elipse($handle, 1, 1, 500, 500);

printer_delete_brush($brush);
printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_draw_chord
printer_draw_line
Funciones de Impresora


Dibujar una línea

printer_draw_elipse
printer_draw_pie
Funciones de Impresora
PHP Manual

printer_draw_line

(PECL printer SVN)

printer_draw_line — Dibujar una línea

Descripción

void printer_draw_line ( resource $printer_handle , int $from_x , int $from_y , int $to_x , int $to_y )

La función dibuja una línea utilizando la pluma seleccionada.

Parámetros

printer_handle

El parámetro printer_handle debe ser un identificador válido para una impresora.

from_x

El parámetro from_x es la coordenada x del punto de origen.

from_y

El parámetro from_y es la coordenada y del punto de origen.

to_x

El parámetro to_x es la coordenada x del punto de destino.

to_y

El parámetro to_y es la coordenada y del punto de destino.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de printer_draw_line()

<?php
$handle = printer_open();
printer_start_doc($handle, "Mi Documento");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 30, "000000");
printer_select_pen($handle, $pen);

printer_draw_line($handle, 1, 10, 1000, 10);
printer_draw_line($handle, 1, 60, 500, 60);

printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_draw_elipse
printer_draw_pie
Funciones de Impresora


Dibujar una gráfica de tarta

printer_draw_line
printer_draw_rectangle
Funciones de Impresora
PHP Manual

printer_draw_pie

(PECL printer SVN)

printer_draw_pie — Dibujar una gráfica de tarta

Descripción

void printer_draw_pie ( resource $printer_handle , int $rec_x , int $rec_y , int $rec_x1 , int $rec_y1 , int $rad1_x , int $rad1_y , int $rad2_x , int $rad2_y )

La función dibuja una gráfica de tarta.

Parámetros

printer_handle

El parámetro printer_handle debe ser un identificador válido para una impresora.

rec_x

El parámetro rec_x es la parte superior izquierda de la coordenada x del rectángulo delimitador.

rec_y

El parámetro rec_y es la parte superior izquierda de la coordenada y del rectángulo delimitador.

rec_x1

El parámetro rec_x1 es la parte inferior derecha de la coordenada x del rectángulo delimitador.

rec_y1

El parámetro rec_y1 es la parte inferior derecha de la coordenada y rectángulo delimitador.

rad1_x

El parámetro rad1_x es la coordenada x del primer radial final.

rad1_y

El parámetro rad1_y es la coordenada y del primer radial final.

rad2_x

El parámetro rad2_x es la coordenada x del primer radial final.

rad2_y

El parámetro rad2_y es la coordenada y del primer radial final.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de printer_draw_pie()

<?php
$handle = printer_open();
printer_start_doc($handle, "Mi Documento");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "2222FF");
printer_select_brush($handle, $brush);

printer_draw_pie($handle, 1, 1, 500, 500, 1, 1, 500, 1);

printer_delete_brush($brush);
printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_draw_line
printer_draw_rectangle
Funciones de Impresora


Dibujar un rectángulo

printer_draw_pie
printer_draw_roundrect
Funciones de Impresora
PHP Manual

printer_draw_rectangle

(PECL printer SVN)

printer_draw_rectangle — Dibujar un rectángulo

Descripción

void printer_draw_rectangle ( resource $printer_handle , int $ul_x , int $ul_y , int $lr_x , int $lr_y )

La función dibuja un rectángulo.

Parámetros

printer_handle

El parámetro printer_handle debe ser un identificador válido para una impresora.

ul_x

El parámetro ul_x es la parte superior izquierda de la coordenada x del rectángulo.

ul_y

El parámetro ul_y es la parte superior izquierda de la coordenada y del rectángulo.

lr_x

El parámetro lr_x es la parte inferior derecha de la coordenada x del rectángulo.

lr_y

El parámetro lr_y es la parte inferior derecha de la coordenada y del rectángulo.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de printer_draw_rectangle()

<?php
$handle = printer_open();
printer_start_doc($handle, "Mi Documento");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "2222FF");
printer_select_brush($handle, $brush);

printer_draw_rectangle($handle, 1, 1, 500, 500);

printer_delete_brush($brush);
printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_draw_pie
printer_draw_roundrect
Funciones de Impresora


Dibujar un rectángulo con esquinas redondeadas

printer_draw_rectangle
printer_draw_text
Funciones de Impresora
PHP Manual

printer_draw_roundrect

(PECL printer SVN)

printer_draw_roundrect — Dibujar un rectángulo con esquinas redondeadas

Descripción

void printer_draw_roundrect ( resource $printer_handle , int $ul_x , int $ul_y , int $lr_x , int $lr_y , int $width , int $height )

La función dibuja un rectángulo con esquinas redondeadas.

Parámetros

printer_handle

El parámetro printer_handle debe ser un identificador válido para una impresora.

ul_x

El parámetro ul_x es la parte superior izquierda de la coordenada x del rectángulo.

ul_y

El parámetro ul_y es la parte superior izquierda de la coordenada y del rectángulo.

lr_x

El parámetro lr_x es la parte inferior derecha de la coordenada x del rectángulo.

lr_y

El parámetro lr_y es la parte inferior derecha de la coordenada y del rectángulo.

width

El parámetro width es la anchura de la elipse.

height

El parámetro height es la altura de la elipse.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de printer_draw_roundrect()

<?php
$handle = printer_open();
printer_start_doc($handle, "Mi Documento");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "2222FF");
printer_select_brush($handle, $brush);

printer_draw_roundrect($handle, 1, 1, 500, 500, 200, 200);

printer_delete_brush($brush);
printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_draw_rectangle
printer_draw_text
Funciones de Impresora


Dibujar texto

printer_draw_roundrect
printer_end_doc
Funciones de Impresora
PHP Manual

printer_draw_text

(PECL printer SVN)

printer_draw_text — Dibujar texto

Descripción

void printer_draw_text ( resource $printer_handle , string $text , int $x , int $y )

La función dibuja el parámetro text en la posición del parámetro x, y del parámetro y utilizando la fuente seleccionada.

Parámetros

printer_handle

El parámetro printer_handle debe ser un identificador válido de impresora.

text

El texto que se escribirá.

x

El parámetro x es la posición de la coordenada x.

y

El parámetro y es la posición de la coordenada y.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de printer_draw_text()

<?php
$handle = printer_open();
printer_start_doc($handle, "Mi Documento");
printer_start_page($handle);

$font = printer_create_font("Arial", 72, 48, 400, false, false, false, 0);
printer_select_font($handle, $font);
printer_draw_text($handle, "test", 10, 10);
printer_delete_font($font);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_draw_roundrect
printer_end_doc
Funciones de Impresora


Cerrar el documento

printer_draw_text
printer_end_page
Funciones de Impresora
PHP Manual

printer_end_doc

(PECL printer SVN)

printer_end_doc — Cerrar el documento

Descripción

bool printer_end_doc ( resource $printer_handle )

Cierra un nuevo documento en la cola de impresión. El documento ya está listo para imprimir. Véase un ejemplo en la función printer_start_doc().

Parámetros

printer_handle

El parámetro printer_handle debe ser un identificador válido para una impresora.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

printer_draw_text
printer_end_page
Funciones de Impresora


Cerrar la página activa

printer_end_doc
printer_get_option
Funciones de Impresora
PHP Manual

printer_end_page

(PECL printer SVN)

printer_end_page — Cerrar la página activa

Descripción

bool printer_end_page ( resource $printer_handle )

La función cierra la página activa en el documento activo. Véase un ejemplo en la función printer_start_doc().

Parámetros

printer_handle

El parámetro printer_handle debe ser un identificador válido para una impresora.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

printer_end_doc
printer_get_option
Funciones de Impresora


Recuperar los datos de configuración de impresora

printer_end_page
printer_list
Funciones de Impresora
PHP Manual

printer_get_option

(PECL printer SVN)

printer_get_option — Recuperar los datos de configuración de impresora

Descripción

mixed printer_get_option ( resource $printer_handle , string $option )

La función recupera el valor de configuración del parámetro option.

Parámetros

printer_handle

El parámetro printer_handle debe ser un identificador válido de impresora.

option

Eche un vistazo a printer_set_option() para la configuración que pueden ser recuperados, adicionalmente los siguientes ajustes pueden ser recuperados:

  • La constante PRINTER_DEVICENAME devuelve el nombre de dispositivo de la impresora.
  • La constante PRINTER_DRIVERVERSION devuelve la versión del controlador de la impresora.

Valores devueltos

Devuelve el valor del parámetro option.

Ejemplos

Ejemplo #1 Ejemplo de printer_get_option()

<?php
$handle = printer_open();
echo printer_get_option($handle, PRINTER_DRIVERVERSION);
printer_close($handle);
?>

printer_end_page
printer_list
Funciones de Impresora


Devolver una matriz de las impresoras conectadas al servidor

printer_get_option
printer_logical_fontheight
Funciones de Impresora
PHP Manual

printer_list

(PECL printer SVN)

printer_list — Devolver una matriz de las impresoras conectadas al servidor

Descripción

array printer_list ( int $enumtype [, string $name [, int $level ]] )

La función enumera las impresoras disponibles y sus capacidades.

Parámetros

enumtype

El parámetro enumtype debe ser una de las siguientes constantes predefinidas:

  • PRINTER_ENUM_LOCAL: Enumera las impresoras instaladas localmente.
  • PRINTER_ENUM_NAME: Enumera el name de la impresora, puede ser un servidor, dominio o proveedor de impresión.
  • PRINTER_ENUM_SHARED: Este parámetro no puede ser utilizado solo, debe ser utilizado junto con otros parámetros, por ejemplo PRINTER_ENUM_LOCAL para detectar las impresoras compartidas a nivel local.
  • PRINTER_ENUM_DEFAULT: (Solamente para Win9.x) enumera la impresora predeterminada.
  • PRINTER_ENUM_CONNECTIONS: (Solamente para WinNT/2000) enumera las impresoras a las que el usuario ha realizado conexiones.
  • PRINTER_ENUM_NETWORK: (Solamente para WinNT/2000) enumera las impresoras conectadas en red en el dominio de la computadora. Sólo es válido si el parámetro level es 1.
  • PRINTER_ENUM_REMOTE: (Solamente para WinNT/2000) enumera las impresoras conectadas en red y los servidores de impresión en el dominio de la computadora. Sólo es válido si el parámetro level es 1.

name

Se utiliza con PRINTER_ENUM_NAME.

level

El parámetro level establece el nivel de información solitado. Puede ser 1,2,4 o 5.

Valores devueltos

Devuelve una matriz de impresoras.

Ejemplos

Ejemplo #1 Ejemplo de printer_list()

<?php
/* detectar impresora compartida localmente */
var_dump(printer_list(PRINTER_ENUM_LOCAL | PRINTER_ENUM_SHARED));
?>

printer_get_option
printer_logical_fontheight
Funciones de Impresora


Obtener la altura lógica de la fuente

printer_list
printer_open
Funciones de Impresora
PHP Manual

printer_logical_fontheight

(PECL printer SVN)

printer_logical_fontheight — Obtener la altura lógica de la fuente

Descripción

int printer_logical_fontheight ( resource $printer_handle , int $height )

La función calcula la altura lógica de la fuente del parámetro height.

Parámetros

printer_handle

El parámetro printer_handle debe ser un identificador válido de impresora.

height

La altura de la fuente.

Valores devueltos

Devuelve la altura lógica de la fuente o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de printer_logical_fontheight()

<?php
$handle = printer_open();
echo printer_logical_fontheight($handle, 72);
printer_close($handle);
?>

printer_list
printer_open
Funciones de Impresora


Abrir una conexión a una impresora

printer_logical_fontheight
printer_select_brush
Funciones de Impresora
PHP Manual

printer_open

(PECL printer SVN)

printer_open — Abrir una conexión a una impresora

Descripción

resource printer_open ([ string $printername ] )

Esta función intenta abrir una conexión con la impresora determinada.

La función printer_open() también inicia un contexto de dispositivo.

Parámetros

printername

El nombre de la impresora. Si no se establece ningún parámetro esta intentará abrir una una conexión con la impresora por defecto (Si no se especifica en php.ini como printer.default_printer, PHP tratará de detectarla).

Valores devueltos

Devuelve un identificador válido de impresora en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de printer_open()

<?php
$handle = printer_open("HP Deskjet 930c");
$handle = printer_open();
?>

printer_logical_fontheight
printer_select_brush
Funciones de Impresora


Seleccionar un pincel

printer_open
printer_select_font
Funciones de Impresora
PHP Manual

printer_select_brush

(PECL printer SVN)

printer_select_brush — Seleccionar un pincel

Descripción

void printer_select_brush ( resource $printer_handle , resource $brush_handle )

La función selecciona un pincel como objeto de dibujo activo para el entorno de dibujo actual. Un pincel se utiliza para rellenar formas. Si dibuja un rectángulo el pincel se utiliza para rellenar las formas, mientras que la pluma se utiliza para para dibujar el borde de la figura.

Si no ha seleccionado un pincel antes de dibujar formas, la forma no se rellenará.

Parámetros

printer_handle

El parámetro printer_handle debe ser un identificador válido para una impresora.

brush_handle

El parámetro brush_handle debe ser un identificador válido para un pincel.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de printer_select_brush()

<?php
$handle = printer_open();
printer_start_doc($handle, "Mi Documento");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);
$brush = printer_create_brush(PRINTER_BRUSH_CUSTOM, "c:\\brush.bmp");
printer_select_brush($handle, $brush);

printer_draw_rectangle($handle, 1, 1, 500, 500);

printer_delete_brush($brush);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "000000");
printer_select_brush($handle, $brush);
printer_draw_rectangle($handle, 1, 501, 500, 1001);
printer_delete_brush($brush);

printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_open
printer_select_font
Funciones de Impresora


Seleccionar una fuente

printer_select_brush
printer_select_pen
Funciones de Impresora
PHP Manual

printer_select_font

(PECL printer SVN)

printer_select_font — Seleccionar una fuente

Descripción

void printer_select_font ( resource $printer_handle , resource $font_handle )

La función selecciona una fuente para dibujar texto.

Parámetros

printer_handle

El parámetro printer_handle debe ser un identificador válido para una impresora.

font_handle

El parámetro font_handle debe ser un identificador válido para una fuente.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo printer_select_font()

<?php
$handle = printer_open();
printer_start_doc($handle, "Mi Documento");
printer_start_page($handle);

$font = printer_create_font("Arial", 148, 76, PRINTER_FW_MEDIUM, false, false, false, -50);
printer_select_font($handle, $font);
printer_draw_text($handle, "PHP es simplemente genial", 40, 40);
printer_delete_font($font);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_select_brush
printer_select_pen
Funciones de Impresora


Seleccionar una pluma

printer_select_font
printer_set_option
Funciones de Impresora
PHP Manual

printer_select_pen

(PECL printer SVN)

printer_select_pen — Seleccionar una pluma

Descripción

void printer_select_pen ( resource $printer_handle , resource $pen_handle )

La función selecciona una pluma como objeto de dibujo activo para el entorno de dibujo actual. Una pluma se utiliza para dibujar líneas y curvas. Por ejemplo, si dibuja una simple línea la pluma es utilizada. Si dibuja un rectángulo la pluma es utilizada para dibujar los bordes, mientras que el pincel es utilizado para rellenar la forma. Si no selecciona una pluma antes de dibujar figuras, la forma no será trazada.

Parámetros

printer_handle

El parámetro printer_handle debe ser un identificador válido para una impresora.

pen_handle

El parámetro pen_handle debe ser un identificador válido para una pluma.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de printer_select_pen()

<?php
$handle = printer_open();
printer_start_doc($handle, "Mi Documento");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 30, "2222FF");
printer_select_pen($handle, $pen);

printer_draw_line($handle, 1, 60, 500, 60);

printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_select_font
printer_set_option
Funciones de Impresora


Configurar la conexión de la impresora

printer_select_pen
printer_start_doc
Funciones de Impresora
PHP Manual

printer_set_option

(PECL printer SVN)

printer_set_option — Configurar la conexión de la impresora

Descripción

bool printer_set_option ( resource $printer_handle , int $option , mixed $value )

La función establece las opciones para la conexión actual.

Parámetros

printer_handle

El parámetro printer_handle debe ser un identificador válido para una impresora.

option

Option puede ser una de las siguientes constantes:

  • La constante PRINTER_COPIES: establece cuántas copias se deben imprimir, el parámetro value debe ser un entero.
  • La constante PRINTER_MODE: especifica el tipo de dato (texto, raw o emf), el parámetro value debe ser una cadena.
  • La constante PRINTER_TITLE: especifica el nombre del documento, el parámetro value debe ser una cadena.
  • La constante PRINTER_ORIENTATION: especifica la orientación del papel, el parámetro value puede ser PRINTER_ORIENTATION_PORTRAIT o PRINTER_ORIENTATION_LANDSCAPE
  • La constante PRINTER_RESOLUTION_Y: especifica la resolución-y en DPI, el parámetro value debe ser un entero.
  • La constante PRINTER_RESOLUTION_X: especifica la resolución-x en DPI, el parámetro value debe ser un entero.
  • La constante PRINTER_PAPER_FORMAT: especifica un formato de papel predefinido, establezca el parámetro value a la constante PRINTER_FORMAT_CUSTOM si desea especificar un formato personalizado con PRINTER_PAPER_WIDTH y PRINTER_PAPER_LENGTH. El parámetro value puede ser una de las siguientes constantes.
    • La constante PRINTER_FORMAT_CUSTOM: le permite especificar un formato de papel personalizado.
    • La constante PRINTER_FORMAT_LETTER: especifica el formato de letra estándar (8 1/2 - por 11 pulgadas).
    • La constante PRINTER_FORMAT_LEGAL: especifica el formato legal standard (8 1/2 - por 14 pulgadas).
    • La constante PRINTER_FORMAT_A3: especifica el formato estándar A3 (297 - 420-milímetros).
    • La constante PRINTER_FORMAT_A4: especifica el formato estándar A4 (210 - por 297 milímetros).
    • La constante PRINTER_FORMAT_A5: especifica formato normal A5 (148 - por 210 milímetros).
    • La constante PRINTER_FORMAT_B4: especifica el formato estándar B4 (250 - por 354 milímetros).
    • La constante PRINTER_FORMAT_B5: especifica el formato B5 estándar (182 - por 257 milímetros).
    • La constante PRINTER_FORMAT_FOLIO: especifica el formato FOLIO estándar (8 1/2 - por 13 pulgadas).
  • La constante PRINTER_PAPER_LENGTH: si PRINTER_PAPER_FORMAT se establece en PRINTER_FORMAT_CUSTOM, PRINTER_PAPER_LENGTH especifica una longitud de papel personalizado en mm, el parámetro value debe ser un entero.
  • La constante PRINTER_PAPER_WIDTH: si PRINTER_PAPER_FORMAT se establece en PRINTER_FORMAT_CUSTOM, PRINTER_PAPER_WIDTH especifica un ancho de papel personalizado en mm, el parámetro value debe ser un entero.
  • La constante PRINTER_SCALE: especifica el factor por el que el resultado impreso será escalado. el tamaño de página se escala del tamaño de la página física en un factor de escala/100. por ejemplo, si establece la escala a 50, la salida sería la mitad de su tamaño original. El parámetro value debe ser un entero.
  • La constante PRINTER_BACKGROUND_COLOR: specifies the background color for the actual device context, el parámetro value debe ser una cadena que contenga la información RGB en formato hexadecimal, por ejemplo: "005533".
  • La constante PRINTER_TEXT_COLOR: especifica el color del texto para el entorno de dibujo actual, el parámetro value debe ser una cadena que contenga la información RGB en formato hexadecimal, por ejemplo: "005533".
  • La constante PRINTER_TEXT_ALIGN: especifica la alineación del texto para el entorno de dibujo actual, el parámetro value se puede combinar junto con otras de las siguientes constantes:
    • La constante PRINTER_TA_BASELINE: alineará el texto en la línea de base.
    • La constante PRINTER_TA_BOTTOM: alineará el texto en la parte inferior.
    • La constante PRINTER_TA_TOP: alineará el texto en la parte superior.
    • La constante PRINTER_TA_CENTER: alineará el texto en el centro.
    • La constante PRINTER_TA_LEFT: alineará el texto a la izquierda.
    • PRINTER_TA_RIGHT: alineará el texto a la derecha.

value

El valor del parámetro option.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de printer_set_option()

<?php
$handle = printer_open();
printer_set_option($handle, PRINTER_SCALE, 75);
printer_set_option($handle, PRINTER_TEXT_ALIGN, PRINTER_TA_LEFT);
printer_close($handle);
?>

printer_select_pen
printer_start_doc
Funciones de Impresora


Iniciar un nuevo documento

printer_set_option
printer_start_page
Funciones de Impresora
PHP Manual

printer_start_doc

(PECL printer SVN)

printer_start_doc — Iniciar un nuevo documento

Descripción

bool printer_start_doc ( resource $printer_handle [, string $document ] )

La función crea un nuevo documento en la cola de impresión. Un documento puede contener varias páginas, se utiliza para programar el trabajo de impresión en la cola de impresión.

Parámetros

printer_handle

El parámetro printer_handle debe ser un identificador válido para una impresora.

document

El parámetro opcional document se puede utilizar para definir un nombre de documento alternativo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de printer_start_doc()

<?php
$handle = printer_open();
printer_start_doc($handle, "Mi Documento");
printer_start_page($handle);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_set_option
printer_start_page
Funciones de Impresora


Iniciar una nueva página

printer_start_doc
printer_write
Funciones de Impresora
PHP Manual

printer_start_page

(PECL printer SVN)

printer_start_page — Iniciar una nueva página

Descripción

bool printer_start_page ( resource $printer_handle )

La función crea una nueva página en el documento activo. Véase un ejemplo en printer_start_doc().

Parámetros

printer_handle

El parámetro printer_handle debe ser un identificador válido para una impresora.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

printer_start_doc
printer_write
Funciones de Impresora


Escribir datos a la impresora

printer_start_page
W32api
Funciones de Impresora
PHP Manual

printer_write

(PECL printer SVN)

printer_write — Escribir datos a la impresora

Descripción

bool printer_write ( resource $printer_handle , string $content )

Escribe el parámetro content directamente a la impresora.

Parámetros

printer_handle

El parámetro printer_handle debe ser un identificador válido para una impresora.

content

Los datos que se escribirán.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de printer_write()

<?php
$handle = printer_open();
printer_write($handle, "Texto a imprimir");
printer_close($handle);
?>

printer_start_page
W32api
Funciones de Impresora


W32api

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Ejemplos de w32api
  • Funciones W32api
    • w32api_deftype — Define un tipo para usarlo con otras funciones w32api
    • w32api_init_dtype — Crea una instancia del tipo de información typename y la rellena con los valores pasados
    • w32api_invoke_function — Invoca a la función funcname con los argumentos pasados después del nombre de la función
    • w32api_register_function — Registra la función function_name desde la biblioteca con PHP
    • w32api_set_call_method — Establecer el método de llamada usado
printer_write
Introducción
Extensiones específicas de Windows


Introducción

Esta extensión es una extensión genérica API a DLLs. Fue escrita originalmente para permitir el acceso a la API de Win32 desde PHP, aunque también se puede acceder a otras funciones exportadas mediante otras DLLs.

Los tipos soportados actualmente son tipos de PHP genéricos (strings, booleans, floats, integers y nulls) y tipos que puede definir con w32api_deftype().

Nota:

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.1.0.

Advertencia

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombres de sus funciones y todo lo documentado sobre esta extensión, puede cambiar en una futura edición de PHP sin previo aviso. El uso de esta extensión queda bajo su propia responsabilidad.

W32api
Instalación/Configuración
W32api


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
W32api


Requerimientos

Esta extensión sólo funciona en sistemas Windows.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión se considera no mantenida y muerta. Sin embargo, el código fuente para esta extensión sigue estando disponible dentro de PECL SVN aquí: » http://svn.php.net/viewvc/pecl/w32api.

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.1.0

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

Esta extensión define un tipo de recurso, usado para los tipos definidos por el usuario. El nombre de este recurso es "dynaparm".

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

DC_MICROSOFT (integer)
DC_BORLAND (integer)
DC_CALL_CDECL (integer)
DC_CALL_STD (integer)
DC_RETVAL_MATH4 (integer)
DC_RETVAL_MATH8 (integer)
DC_CALL_STD_BO (integer)
DC_CALL_STD_MS (integer)
DC_CALL_STD_M8 (integer)
DC_FLAG_ARGPTR (integer)
Tipos de recursos
Ejemplos
W32api


Ejemplos

Tabla de contenidos

  • Ejemplos de w32api
Constantes predefinidas
Ejemplos de w32api
W32api


Ejemplos de w32api

Este ejemplo obtiene la cantidad de tiempo que el sistema ha estado ejecutándose y lo muestra en un cuadro de mensaje.

Ejemplo #1 Obtener el tiempo de funcionamiento y mostrarlo en un cuadro de mensaje

<?php
// Definir las constantes necesarias, tomadas de
// Visual Studio/Tools/Winapi/WIN32API.txt
define("MB_OK", 0);

// Cargar la extensión en
dl("php_w32api.dll");

// Registrar la función GetTickCount desde kernel32.dll
w32api_register_function("kernel32.dll",
                         "GetTickCount",
                         "long");

// Registrar la función MessageBoxA desde User32.dll
w32api_register_function("User32.dll",
                         "MessageBoxA",
                         "long");

// Obtener la información del tiempo de funcionamiento
$ticks = GetTickCount();

// Convertirlo a un texto mostrable más amable
$segs  = floor($ticks / 1000);
$mins  = floor($segs / 60);
$horas = floor($mins / 60);

$str = sprintf("Ha estado usando su ordenador durante:" .
                "\r\n %d Milisegundos, o \r\n %d Segundos" .
                "o \r\n %d minutos o\r\n %d horas %d minutos.",
                $ticks,
                $segs,
                $mins,
                $horas,
                $mins - ($horas*60));

// Mostrar el cuadro de mensaje con sólo un botón OK y el texto de tiempo de funcionamiento
MessageBoxA(NULL,
            $str,
            "Información del Tiempo de Funcionamiento",
            MB_OK);
?>
Ejemplos
Funciones W32api
Ejemplos


Funciones W32api

Tabla de contenidos

  • w32api_deftype — Define un tipo para usarlo con otras funciones w32api
  • w32api_init_dtype — Crea una instancia del tipo de información typename y la rellena con los valores pasados
  • w32api_invoke_function — Invoca a la función funcname con los argumentos pasados después del nombre de la función
  • w32api_register_function — Registra la función function_name desde la biblioteca con PHP
  • w32api_set_call_method — Establecer el método de llamada usado
Ejemplos de w32api
w32api_deftype
W32api


Define un tipo para usarlo con otras funciones w32api

Funciones W32api
w32api_init_dtype
Funciones W32api
PHP Manual

w32api_deftype

(PHP 4 >= 4.2.0)

w32api_deftype — Define un tipo para usarlo con otras funciones w32api

Descripción

bool w32api_deftype ( string $typename , string $member1_type , string $member1_name [, string $... [, string $... ]] )

Necesita llamar a esta función si quiere definir un tipo para una llamada w32api.

Parámetros

typename

El nombre del tipo.

member1_type

Un tipo de miembro puede ser un tipo definido por el usuario. Todos los nombres de los tipos son sensibles a mayúsculas-minúsculas. Los nombres de los tipos incluidos deberían ser proporcionados en minúsculas.

member1_name

El nombre del miembro de member1_type.

...

...

Esta función toma 2n+1 argumentos, donde n es el número de miembros que tiene el tipo. Después de esto está el tipo del miembro seguido de los nombres de los miembros (por parejas).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Funciones W32api
w32api_init_dtype
Funciones W32api


Crea una instancia del tipo de información typename y la rellena con los valores pasados

w32api_deftype
w32api_invoke_function
Funciones W32api
PHP Manual

w32api_init_dtype

(PHP 4 >= 4.2.0)

w32api_init_dtype — Crea una instancia del tipo de información typename y la rellena con los valores pasados

Descripción

resource w32api_init_dtype ( string $typename , mixed $value [, mixed $... ] )

Esta función crea una instancia del tipo de información llamado typename, rellenándola con los valores del tipo de información.

Parámetros

typename

El parámetro typename es sensible a mayúsculas-minúsculas.

value

Debería dar los valores en el mismo orden en que definió el tipo de información con w32api_deftype().

...

Valores devueltos

Devuelve un recurso dynaparm.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

w32api_deftype
w32api_invoke_function
Funciones W32api


Invoca a la función funcname con los argumentos pasados después del nombre de la función

w32api_init_dtype
w32api_register_function
Funciones W32api
PHP Manual

w32api_invoke_function

(PHP 4 >= 4.2.0)

w32api_invoke_function — Invoca a la función funcname con los argumentos pasados después del nombre de la función

Descripción

mixed w32api_invoke_function ( string $funcname , mixed $argument [, mixed $... ] )

w32api_invoke_function() intenta encontrar la función previamente registrada, pasando los argumentos que se proporcionen.

Parámetros

funcname

El nombre de la función.

argument

Cualesquiera de los argumentos puede ser de cualquier tipo de PHP o del tipo definido por w32api_deftype(), como sea necesario.

...

Valores devueltos

El tipo devuelto es el que se estableció cuando se registró la función, el valor es el que devolvió la función misma.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

w32api_init_dtype
w32api_register_function
Funciones W32api


Registra la función function_name desde la biblioteca con PHP

w32api_invoke_function
w32api_set_call_method
Funciones W32api
PHP Manual

w32api_register_function

(PHP 4 >= 4.2.0)

w32api_register_function — Registra la función function_name desde la biblioteca con PHP

Descripción

bool w32api_register_function ( string $library , string $function_name , string $return_type )

Esta función intenta encontrar la función function_name en library, e intenta importarla a PHP.

Parámetros

library

El nombre de la biblioteca, como cadena.

function_name

El nombre de la función, como cadena.

return_type

La función será registrada con el tipo return_type dado. Este tipo puede ser un tipo genérico de PHP, o un tipo definido con w32api_deftype(). Todos los nombres de los tipos son sensibles a mayúsculas-minúsculas. Los nombres de los tipos incluidos deberían ser proporcionados en minúsculas.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

w32api_invoke_function
w32api_set_call_method
Funciones W32api


Establecer el método de llamada usado

w32api_register_function
win32ps
Funciones W32api
PHP Manual

w32api_set_call_method

(PHP 4 >= 4.2.0)

w32api_set_call_method — Establecer el método de llamada usado

Descripción

void w32api_set_call_method ( int $method )

Esta función establece el tipo de método de llamada.

Parámetros

method

Puede ser DC_CALL_CDECL o DC_CALL_STD (la extensión por defecto).

Valores devueltos

No devuelve ningún valor.

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

w32api_register_function
win32ps
Funciones W32api


win32ps

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Ejemplos de Win32ps
  • Funciones win32ps
    • win32_ps_list_procs — Listar los procesos en ejecución
    • win32_ps_stat_mem — Estadísticas de utilización de memoria
    • win32_ps_stat_proc — Estadísticas de un proceso
w32api_set_call_method
Introducción
Extensiones específicas de Windows


Introducción

La extensión win32ps es una extensión específica de Windows que permite a PHP recuperar las estadísticas sobre procesos y utilizacion de memoria.

win32ps
Instalación/Configuración
win32ps


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
win32ps


Requerimientos

Windows NT, Windows 2000, Windows XP o Windows Server 2003. Cualquier versión de Windows derivada de Windows NT debería ser compatible.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/win32ps.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Ejemplos
win32ps


Ejemplos

Tabla de contenidos

  • Ejemplos de Win32ps
Constantes predefinidas
Ejemplos de Win32ps
win32ps


Ejemplos de Win32ps

Ejemplo #1 Estadísticas sobre el proceso de PHP actual

<?php
print_r(win32_ps_stat_proc());
/*
    Array
    (
        [pid] => 936
        [exe] => D:\Daten\Source\php-5.1\Debug_TS\php.exe
        [mem] => Array
            (
                [page_fault_count] => 2062
                [peak_working_set_size] => 8396800
                [working_set_size] => 8396800
                [quota_peak_paged_pool_usage] => 32080
                [quota_paged_pool_usage] => 31876
                [quota_peak_non_paged_pool_usage] => 4240
                [quota_non_paged_pool_usage] => 3888
                [pagefile_usage] => 5865472
                [peak_pagefile_usage] => 5865472
            )

        [tms] => Array
            (
                [created] => 0.093
                [kernel] => 0.015
                [user] => 0.062
            )

    )
*/
?>

Ejemplo #2 Estadísticas sobre la utilización de memoria global

<?php
print_r(win32_ps_stat_mem());
/*
    Array
    (
        [load] => 37
        [unit] => 1024
        [total_phys] => 1048096
        [avail_phys] => 649960
        [total_pagefile] => 2521368
        [avail_pagefile] => 2237940
        [total_virtual] => 2097024
        [avail_virtual] => 2057848
    )
*/
?>

Ejemplos
Funciones win32ps
Ejemplos


Funciones win32ps

Tabla de contenidos

  • win32_ps_list_procs — Listar los procesos en ejecución
  • win32_ps_stat_mem — Estadísticas de utilización de memoria
  • win32_ps_stat_proc — Estadísticas de un proceso
Ejemplos de Win32ps
win32_ps_list_procs
win32ps


Listar los procesos en ejecución

Funciones win32ps
win32_ps_stat_mem
Funciones win32ps
PHP Manual

win32_ps_list_procs

(PECL win32ps >= 1.0.1)

win32_ps_list_procs — Listar los procesos en ejecución

Descripción

array win32_ps_list_procs ( void )

Recupera las estadísticas sobre todos los procesos en ejecución.

Valores devueltos

Devuelve FALSE si falló, o una matriz consistente en las estadísticas de los procesos como devuelve win32_ps_stat_proc() para todos los procesos en ejecución si se tuvo éxito.

Ver también

  • win32_ps_stat_proc() - Estadísticas de un proceso

Funciones win32ps
win32_ps_stat_mem
Funciones win32ps


Estadísticas de utilización de memoria

win32_ps_list_procs
win32_ps_stat_proc
Funciones win32ps
PHP Manual

win32_ps_stat_mem

(PECL win32ps >= 1.0.1)

win32_ps_stat_mem — Estadísticas de utilización de memoria

Descripción

array win32_ps_stat_mem ( void )

Recupera información sobre la utilización de memoria global.

Valores devueltos

Devuelve FALSE si falló, o una matriz consistente en la siguiente información si se tuvo éxito:

load

La carga de memoria actual en tanto por ciento de memoria física.

unit

Esto siempre es 1024, e indica que los siguientes valores son el cómputo de 1024 bytes.

total_phys

La cantidad de memoria física total.

avail_phys

La cantidad de memoria física disponible aún.

total_pagefile

La cantidad de memoria de paginación (memoria física + archivo de paginación).

avail_pagefile

La cantidad de memoria de paginación disponible aún (memoria física + archivo de paginación).

total_virtual

La cantidad de memoria virtual total para un proceso.

avail_virtual

La cantidad de memoria virtual disponible aún para un proceso.

win32_ps_list_procs
win32_ps_stat_proc
Funciones win32ps


Estadísticas de un proceso

win32_ps_stat_mem
win32service
Funciones win32ps
PHP Manual

win32_ps_stat_proc

(PECL win32ps >= 1.0.1)

win32_ps_stat_proc — Estadísticas de un proceso

Descripción

array win32_ps_stat_proc ([ int $pid = 0 ] )

Recupera las estadísticas sobre el proceso con el id de proceso pid.

Parámetros

pid

El id de proceso del proceso del que se van a obtener las estadísticas. Si se omite, el id del proceso actual.

Valores devueltos

Devuelve FALSE si falló, o una matriz consistente en la siguiente información si se tuvo éxito:

pid

El id del proceso.

exe

La ruta de la imagen ejecutable.

mem

Una matriz que contiene información sobre los siguientes indicadores de utilización de memoria: page_fault_count, peak_working_set_size, working_set_size, quota_peak_paged_pool_usage, quota_paged_pool_usage, quota_peak_non_paged_pool_usage, quota_non_paged_pool_usage, pagefile_usage y peak_pagefile_usage.

tms

Una matriz que contiene información sobre los siguientes indicadores de utilización de tiempo de CPU: created, kernel y user.

Ver también

  • win32_ps_list_procs() - Listar los procesos en ejecución

win32_ps_stat_mem
win32service
Funciones win32ps


win32service

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
    • Máscara de Bits de Tipo Servicio de Win32Service
    • Constantes de Estado de Servicio de Win32Service
    • Constantes de Mensajes de Control de Servicio de Win32Service
    • Máscaras de Bits Aceptadas de Mensajes de Control de Servicio de Win32Service
    • Constantes de Tipo Inicio de Servicio de Win32Service
    • Constantes de Control de Errores de Servicio de Win32Service
    • Constantes de Banderas de Servicio de Win32Service
    • Códigos de Error de Win32
    • Clases base de prioridad Win32
  • Ejemplos
  • Funciones win32service
    • win32_continue_service — Reanuda un servicio pausado
    • win32_create_service — Crea una nueva entrada de servicio en la base de datos del ACS
    • win32_delete_service — Borra una entrada de servicio de la base de datos del ACS
    • win32_get_last_control_message — Devuelve el último mensaje de control que fue enviado a este servicio
    • win32_pause_service — Pausa un servicio
    • win32_query_service_status — Pregunta sobre el estado de un servicio
    • win32_set_service_status — Actualiza el estado del servicio
    • win32_start_service_ctrl_dispatcher — Registra el script con el ACS, por lo que puede actuar como el servicio con el nombre dado
    • win32_start_service — Inicia un servicio
    • win32_stop_service — Detiene un servicio
win32_ps_stat_proc
Introducción
Extensiones específicas de Windows


Introducción

La extensión win32service es una extensión específica de Windows que permite a PHP comunicarse con el Administrador de Control de Servicios para iniciar, detener, registrar y dejar de registrar servicios, e incluso permite a los scripts de PHP ejecutarse como un servicio.

win32service
Instalación/Configuración
win32service


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
win32service


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/win32service

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Tabla de contenidos

  • Máscara de Bits de Tipo Servicio de Win32Service
  • Constantes de Estado de Servicio de Win32Service
  • Constantes de Mensajes de Control de Servicio de Win32Service
  • Máscaras de Bits Aceptadas de Mensajes de Control de Servicio de Win32Service
  • Constantes de Tipo Inicio de Servicio de Win32Service
  • Constantes de Control de Errores de Servicio de Win32Service
  • Constantes de Banderas de Servicio de Win32Service
  • Códigos de Error de Win32
  • Clases base de prioridad Win32

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Tipos de recursos
Máscara de Bits de Tipo Servicio de Win32Service
win32service


Máscara de Bits de Tipo Servicio de Win32Service

Constantes predefinidas
Constantes de Estado de Servicio de Win32Service
Constantes predefinidas
PHP Manual
Máscara de Bits de Tipo Servicio de Win32Service
Constante | Valor | Descripción
WIN32_SERVICE_WIN32_OWN_PROCESS | 0x00000010 | El servicio se ejecuta en su propio proceso.
WIN32_SERVICE_INTERACTIVE_PROCESS | 0x00000100 | El servicio puede interactuar con el escritorio. Esta opción no está disponible en Windows Vista o posterior.
WIN32_SERVICE_WIN32_OWN_PROCESS_INTERACTIVE | 0x00000110 | El servicio se ejecuta en su propio procso y puede interactuar con el escritorio. Esta opción no está disponible en Windows Vista o posterior.
Constantes predefinidas
Constantes de Estado de Servicio de Win32Service
Constantes predefinidas


Constantes de Estado de Servicio de Win32Service

Máscara de Bits de Tipo Servicio de Win32Service
Constantes de Mensajes de Control de Servicio de Win32Service
Constantes predefinidas
PHP Manual
Constantes de Estado de Servicio de Win32Service
Constante | Valor | Descripción
WIN32_SERVICE_CONTINUE_PENDING | 0x00000005 | La continuación del servicio está pendiente.
WIN32_SERVICE_PAUSE_PENDING | 0x00000006 | La pausa del servicio está pendiente.
WIN32_SERVICE_PAUSED | 0x00000007 | El servicio está pausado.
WIN32_SERVICE_RUNNING | 0x00000004 | El servicio está en ejecución.
WIN32_SERVICE_START_PENDING | 0x00000002 | El servicio está iniciado.
WIN32_SERVICE_STOP_PENDING | 0x00000003 | El servicio está detenido.
WIN32_SERVICE_STOPPED | 0x00000001 | El servicio no está en ejecución.
Máscara de Bits de Tipo Servicio de Win32Service
Constantes de Mensajes de Control de Servicio de Win32Service
Constantes predefinidas


Constantes de Mensajes de Control de Servicio de Win32Service

Constantes de Estado de Servicio de Win32Service
Máscaras de Bits Aceptadas de Mensajes de Control de Servicio de Win32Service
Constantes predefinidas
PHP Manual
Constantes de Mensajes de Control de Servicio de Win32Service
Constante | Valor | Descripción
WIN32_SERVICE_CONTROL_CONTINUE | 0x00000003 | Notifica a un servicio pausado que debería reanudarse.
WIN32_SERVICE_CONTROL_INTERROGATE | 0x00000004 | Notifica a un servicio que debería informar de su información de estado al administrador de control de servicios.
WIN32_SERVICE_CONTROL_PAUSE | 0x00000002 | Notifica a un servicio que debería pausarse.
WIN32_SERVICE_CONTROL_PRESHUTDOWN | 0x0000000F | Notifica a un servicio que el sistema se apagará. Un servicio que maneja esta notificación bloquea el apagado del systema hasta que el servicio se detenga o el intervalo de tiempo límite de pre-apagado expira. Este valor no está soportado por Windows Server 2003 y Windows XP/2000.
WIN32_SERVICE_CONTROL_SHUTDOWN | 0x00000005 | Notifica a un servicio que el sistema se está apagando, por lo que el servicio puede realizar tareas de limpieza. Si un servicio acepta este código de cotrol, debe detenerse después de realizar sus tareas de limpieza. Después de que el SCM envíe este código de control, no se enviarán otros códigos de control al servicio.
WIN32_SERVICE_CONTROL_STOP | 0x00000001 | Notifica a un servicio que debería detenerse.
Constantes de Estado de Servicio de Win32Service
Máscaras de Bits Aceptadas de Mensajes de Control de Servicio de Win32Service
Constantes predefinidas


Máscaras de Bits Aceptadas de Mensajes de Control de Servicio de Win32Service

Constantes de Mensajes de Control de Servicio de Win32Service
Constantes de Tipo Inicio de Servicio de Win32Service
Constantes predefinidas
PHP Manual
Máscaras de Bits Aceptadas de Mensajes de Control de Servicio de Win32Service
Constante | Valor | Descripción
WIN32_SERVICE_ACCEPT_PAUSE_CONTINUE | 0x00000002 | El servicio puede ser pausado y continuado. Este código de control permite al servicio recibir notificaciones WIN32_SERVICE_CONTROL_PAUSE y WIN32_SERVICE_CONTROL_CONTINUE.
WIN32_SERVICE_ACCEPT_PRESHUTDOWN | 0x00000100 | El servicio puede realizar tareas de pre-apagado. Este código de control habilita al servicio a recibir notificaciones WIN32_SERVICE_CONTROL_PRESHUTDOWN. Este valor no está soportado por Windows Server 2003 y Windows XP/2000.
WIN32_SERVICE_ACCEPT_SHUTDOWN | 0x00000004 | El servicio es notificado cuando sucede el apagado del systema. Este código de control permite al servicio recibir notificaciones WIN32_SERVICE_CONTROL_SHUTDOWN.
WIN32_SERVICE_ACCEPT_STOP | 0x00000001 | El servicio puede ser detenido. Este código de control permite al servicio recibir notificaciones WIN32_SERVICE_CONTROL_STOP.
Constantes de Mensajes de Control de Servicio de Win32Service
Constantes de Tipo Inicio de Servicio de Win32Service
Constantes predefinidas


Constantes de Tipo Inicio de Servicio de Win32Service

Máscaras de Bits Aceptadas de Mensajes de Control de Servicio de Win32Service
Constantes de Control de Errores de Servicio de Win32Service
Constantes predefinidas
PHP Manual
Constantes de Tipo Inicio de Servicio de Win32Service
Constante | Valor | Descripción
WIN32_SERVICE_AUTO_START | 0x00000002 | Un servicio iniciado automáticamente por el administrador de control de servicios durante el inicio del sistema.
WIN32_SERVICE_DEMAND_START | 0x00000003 | Un servicio iniciado por el administrador de control de servicios cuando un proceso llama a la función StartService.
WIN32_SERVICE_DISABLED | 0x00000004 | Un servicio que no puede ser iniciado. Intentar iniciar el servicio resulta en el código de error WIN32_ERROR_SERVICE_DISABLED.
Máscaras de Bits Aceptadas de Mensajes de Control de Servicio de Win32Service
Constantes de Control de Errores de Servicio de Win32Service
Constantes predefinidas


Constantes de Control de Errores de Servicio de Win32Service

Constantes de Tipo Inicio de Servicio de Win32Service
Constantes de Banderas de Servicio de Win32Service
Constantes predefinidas
PHP Manual
Constantes de Control de Errores de Servicio de Win32Service
Constante | Valor | Descripción
WIN32_SERVICE_ERROR_IGNORE | 0x00000000 | El programa de inicio ignora el error y continua la operación de inicio.
WIN32_SERVICE_ERROR_NORMAL | 0x00000001 | El programa de inicio registra el error en el registro de sucesos pero continua la operación de inicio.
Constantes de Tipo Inicio de Servicio de Win32Service
Constantes de Banderas de Servicio de Win32Service
Constantes predefinidas


Constantes de Banderas de Servicio de Win32Service

Constantes de Control de Errores de Servicio de Win32Service
Códigos de Error de Win32
Constantes predefinidas
PHP Manual
Constantes de Banderas de Servicio de Win32Service
Constante | Valor | Descripción
WIN32_SERVICE_RUNS_IN_SYSTEM_PROCESS | 0x00000001 | El servicio de ejecuta en un proceso de sistema que siempre debe estar ejecutándose.
Constantes de Control de Errores de Servicio de Win32Service
Códigos de Error de Win32
Constantes predefinidas


Códigos de Error de Win32

Constantes de Banderas de Servicio de Win32Service
Clases base de prioridad Win32
Constantes predefinidas
PHP Manual
Códigos de Error de Win32
Constante | Valor | Descripción
WIN32_ERROR_ACCESS_DENIED | 0x00000005 | El gestor a la base de datos de SCM no tiene los derechos de acceso apropiados.
WIN32_ERROR_CIRCULAR_DEPENDENCY | 0x00000423 | Se especificó una dependencia de servicio circular.
WIN32_ERROR_DATABASE_DOES_NOT_EXIST | 0x00000429 | La base de datos especificada no existe.
WIN32_ERROR_DEPENDENT_SERVICES_RUNNING | 0x0000041B | El servicio no puede ser detenido porque otros servicios en ejecución dependen de él.
WIN32_ERROR_DUPLICATE_SERVICE_NAME | 0x00000436 | El nombre mostrado ya existe en la base de datos del administrador de control de servicios como nombre de servicio o como otro nombre mostrado.
WIN32_ERROR_FAILED_SERVICE_CONTROLLER_CONNECT | 0x00000427 | El error es devuelto si el programa está siendo ejecutado como aplicación de consola en vez de como servicio. Si el programa será ejecutado como aplicación de consola para propósitos de depuración, estructúrelo de tal manera que el código específico de servicio no sea llamado.
WIN32_ERROR_INSUFFICIENT_BUFFER | 0x0000007A | El buffer es demasiado pequeño para la estructura de estado del servicio. No se escribió nada a la estructura.
WIN32_ERROR_INVALID_DATA | 0x0000000D | La estructura de estado del servicio especificado no es válida.
WIN32_ERROR_INVALID_HANDLE | 0x00000006 | El gestor a la base de datos del administrador de control de servicios especificada no es válida.
WIN32_ERROR_INVALID_LEVEL | 0x0000007C | El parámetro InfoLevel contiene un valor no soportado.
WIN32_ERROR_INVALID_NAME | 0x0000007B | El nombre del servicio especificado no es válido.
WIN32_ERROR_INVALID_PARAMETER | 0x00000057 | Se especificó un parámetro no válido.
WIN32_ERROR_INVALID_SERVICE_ACCOUNT | 0x00000421 | El nombre de cuenta de usuario especificado en el parámero user no existe. Véase win32-create_service().
WIN32_ERROR_INVALID_SERVICE_CONTROL | 0x0000041C | El código de control solicitado no es válido, o es inaceptable para el servicio.
WIN32_ERROR_PATH_NOT_FOUND | 0x00000003 | No se pudo encontrar el fichero binario del servicio.
WIN32_ERROR_SERVICE_ALREADY_RUNNING | 0x00000420 | Ya se está ejecutando una instancia del servicio.
WIN32_ERROR_SERVICE_CANNOT_ACCEPT_CTRL | 0x00000425 | El código de control solicitado no puede ser enviado al servicio porque el estado del servicio es WIN32_SERVICE_STOPPED, WIN32_SERVICE_START_PENDING, o WIN32_SERVICE_STOP_PENDING.
WIN32_ERROR_SERVICE_DATABASE_LOCKED | 0x0000041F | La base de datos está bloqueada.
WIN32_ERROR_SERVICE_DEPENDENCY_DELETED | 0x00000433 | El servicio depende de un servicio que no existe o que ha sido marcado para su eleminación.
WIN32_ERROR_SERVICE_DEPENDENCY_FAIL | 0x0000042C | El servicio depende de otro servicio que falló al iniciarse.
WIN32_ERROR_SERVICE_DISABLED | 0x00000422 | El servicio ha sido deshabilitado.
WIN32_ERROR_SERVICE_DOES_NOT_EXIST | 0x00000424 | El servicio especificado no existe como servicio instalado.
WIN32_ERROR_SERVICE_EXISTS | 0x00000431 | El servicio especificado ya existe en esta base de datos.
WIN32_ERROR_SERVICE_LOGON_FAILED | 0x0000042D | El servicio no se inició debeido a un fallo de identificación. Este error sucede si el servicio está configurado para ejecutarse bajo una cuenta que no tiene el derecho "Log on as a service".
WIN32_ERROR_SERVICE_MARKED_FOR_DELETE | 0x00000430 | El servicio especificado ya ha sido marcado para su eliminación.
WIN32_ERROR_SERVICE_NO_THREAD | 0x0000041E | No se pudo crear un hilo para el servicio.
WIN32_ERROR_SERVICE_NOT_ACTIVE | 0x00000426 | El servicio no ha sido iniciado.
WIN32_ERROR_SERVICE_REQUEST_TIMEOUT | 0x0000041D | El proceso para el servicio se inició, pero no llamó a StartServiceCtrlDispatcher, o el hilo que llamó a StartServiceCtrlDispatcher puede estar bloqueado en una función de gestor de control.
WIN32_ERROR_SHUTDOWN_IN_PROGRESS | 0x0000045B | El sistema se está apagando; esta función no puede ser llamada.
WIN32_NO_ERROR | 0x00000000 | Sin error.
Constantes de Banderas de Servicio de Win32Service
Clases base de prioridad Win32
Constantes predefinidas


Clases base de prioridad Win32

Códigos de Error de Win32
Ejemplos
Constantes predefinidas
PHP Manual
Clases base de prioridad Win32
Constante | Valor | Descripción
WIN32_ABOVE_NORMAL_PRIORITY_CLASS | 0x00008000 | Procesos que tienen una prioridad superior a WIN32_NORMAL_PRIORITY_CLASS pero inferior a WIN32_HIGH_PRIORITY_CLASS.
WIN32_BELOW_NORMAL_PRIORITY_CLASS | 0x00004000 | Procesos que tienen una prioridad superior a WIN32_IDLE_PRIORITY_CLASS pero inferior a WIN32_NORMAL_PRIORITY_CLASS.
WIN32_HIGH_PRIORITY_CLASS | 0x00000080 | Procesos que realizan tareas de tiempo crítico que deben ser ejecutadas inmediatamente. Los hilos de procesos anticipan a los hilos normales o procesos inactivos. Un ejemplo es la lista de procesos, que debe responder rápidamente cuando es llamado por el usuario, sin importar la carga del sistema operativo. Tenga mucho cuidado cuando use clases de procesos de alta prioridad, debido aque puede requerir un alto consumo de CPU disponible todo el tiempo.
WIN32_IDLE_PRIORITY_CLASS | 0x00000040 | Procesos cuyos hilos de ejecución corren sólo cuando el sistema está inactivo. Los hilo del proceso son antepuestos por los hilos de cualquier otro proceso corriendo en una clase de prioridad superior. Un ejemplo es el Protector de Pantallas. La clase de prioridad inactiva es heredado por sus procesos derivados.
WIN32_NORMAL_PRIORITY_CLASS | 0x00000020 | Procesos sin necesidad de establecer prioridades especiales.
WIN32_REALTIME_PRIORITY_CLASS | 0x00000100 | Procesos que tienen la mayor prioridad posible. Los hilos del proceso se anteponen a los hilos de todas los otros procesos, incluyendo los procesos del sistema operativo para realizar tareas importantes. Por ejemplo, un proceso en tiempo real que ejecuta por más que un breve intervalo puede causar que el cache del disco no se vacíe o provoque que el ratón no responda.
Códigos de Error de Win32
Ejemplos
Constantes predefinidas


Ejemplos

Ejemplo #1 Registrar un script de PHP para ejecutarlo como un servicio

<?php
win32_create_service(array(
    'service'     => 'dummyphp',                                          # el nombre de su servicio
    'display'     => 'ejemplo de servicio PHP',                           # descripción abreviada
    'description' => 'Este es un servicio de Windows creado usando PHP.', # descripción larga
    'params'      => '"' . __FILE__ . '"  run',                           # ruta del script y parámetros
));
?>

Ejemplo #2 Dejar de registrar un servicio

<?php
win32_delete_service('dummyphp');
?>

Ejemplo #3 Ejecutar como un servicio

<?php
if ($argv[1] == 'run') {
  win32_start_service_ctrl_dispatcher('dummyphp');

  while (WIN32_SERVICE_CONTROL_STOP != win32_get_last_control_message()) {
    # hacer su trabajo aquí.
    # intente no tomar más de 30 segundos antes de ejecutar de nuevo
    # el bucle
  }
}
?>

Clases base de prioridad Win32
Funciones win32service
win32service


Funciones win32service

Tabla de contenidos

  • win32_continue_service — Reanuda un servicio pausado
  • win32_create_service — Crea una nueva entrada de servicio en la base de datos del ACS
  • win32_delete_service — Borra una entrada de servicio de la base de datos del ACS
  • win32_get_last_control_message — Devuelve el último mensaje de control que fue enviado a este servicio
  • win32_pause_service — Pausa un servicio
  • win32_query_service_status — Pregunta sobre el estado de un servicio
  • win32_set_service_status — Actualiza el estado del servicio
  • win32_start_service_ctrl_dispatcher — Registra el script con el ACS, por lo que puede actuar como el servicio con el nombre dado
  • win32_start_service — Inicia un servicio
  • win32_stop_service — Detiene un servicio
Ejemplos
win32_continue_service
win32service


Reanuda un servicio pausado

Funciones win32service
win32_create_service
Funciones win32service
PHP Manual

win32_continue_service

(PECL win32service SVN)

win32_continue_service — Reanuda un servicio pausado

Descripción

int win32_continue_service ( string $servicename [, string $machine ] )

Reanua un servicio pausado nominado. Se necesitan privilegios administrativos.

Parámetros

servicename

El nombre corto del servicio.

machine

Nombre opcional de la máquina. Si se omite, se usa el nombre de la máquina local.

Valores devueltos

Devuelve WIN32_NO_ERROR en caso de éxito, FALSE si hay un problema con los parámetros o Código de error Win32 en caso de error.

Ver también

  • win32_start_service() - Inicia un servicio
  • Códigos de Error Win32

Funciones win32service
win32_create_service
Funciones win32service


Crea una nueva entrada de servicio en la base de datos del ACS

win32_continue_service
win32_delete_service
Funciones win32service
PHP Manual

win32_create_service

(PECL win32service SVN)

win32_create_service — Crea una nueva entrada de servicio en la base de datos del ACS

Descripción

mixed win32_create_service ( array $details [, string $machine ] )

Parámetros

details

Una matriz con los detalles del servicio:

service

El nombre corto del servicio. Éste es el nombre que se debe usar para controlar el servicio utilizando el comando net. El servicio debe ser único (dos servicios no pueden compartir el mismo nombre), y lo ideal sería evitar que el nombre contenga espacios.

display

El nombre para mostrar del servicio. Éste es el nombre que se verá en la Aplicación de Servicios.

description

La descripción larga del servicio. Ésta es la descripción que verá en el Services Applet.

user

El nombre de la cuenta de usuario bajo la cuál se quiere ejecutar el servicio. Si se omite, el servicio se ejecutará como la cuenta LocalSystem. Si se especifica el nombre de usuario, también se debe proporcionar una contraseña.

password

La contraseña que se corresponde con user.

path

La ruta completa de módulo ejecutable que será lanzado cuando el servicio es iniciado. Si se omite, se usará la ruta del proceso de PHP actual.

params

Parámetros de línea de comandos a pasar al servicio cuando se inicia. Si quiere ejecutar un script de PHP como un servicio, el primer parámetro debería ser la ruta completa del script de PHP que intenta ejecutar. Si el nombre del script o la ruta contiene espacios encierre la ruta completa del script PHP con ".

load_order

Controla el orden de carga. Ésto aún no está completamente soportado.

svc_type

Establece el tipo de servicio. Si se omite, el valor por defecto es WIN32_SERVICE_WIN32_OWN_PROCESS. No cambie esto a menos que sepa lo que está haciendo.

start_type

Especifica cómo debería iniciarse el servicio. Por defecto es WIN32_SERVICE_AUTO_START lo que significa que el servicio será lanzado cuando se encienda la máquina.

error_control

Informa al ACS qué debería hacer cuando detecta un problema con el servicio. Por defecto es WIN32_SERVER_ERROR_IGNORE. El cambio de este valor no está aún soportado completamente.

delayed_start

Si delayed_start está establecido a TRUE, informará al SCM que este servicio debería ser iniciado después que otros servicios con autoinicio, más una pequeña demora.

Cualquier servicio puede ser marcado como un servicio con autoinicio demorado; sin embargo este ajuste no tiene efecto a menos que el parámetro start_type del servicio sea WIN32_SERVICE_AUTO_START.

Este ajuste sólo es aplicable en Windows Vista y Windows Server 2008 o superior.

base_priority

Para reducir el impacto en el uso del procesador, puede ser necesario para establecer una prioridad base más baja de lo normal.

base_priority puede establecerse a una de las constantes definidas en Clases de Prioridad Base de Win32.

machine

El nombre opcional de la máquina en la que quiere crear el servicio. Si se omite, se usará la máquina local.

Valores devueltos

Devuelve WIN32_NO_ERROR en caso de éxito, FALSE si hay un problema con los parámetros o Código de error Win32 en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de win32_create_service()

Crear un servicio con el nombre abreviado 'dummyphp'.

<?php
$x = win32_create_service(array(
    'service'     => 'dummyphp',                                          # el nombre de su servicio
    'display'     => 'ejemplo de servicio PHP',                           # descripción abreviada
    'description' => 'Este es un servicio de Windows creado usando PHP.', # descripción larga
    'params'      => '"' . __FILE__ . '"  run',                           # ruta del script y parámetros
));
debug_zval_dump($x);
?>

Ver también

  • win32_delete_service() - Borra una entrada de servicio de la base de datos del ACS
  • Clases de Prioridad Base de Win32
  • Códigos de Error de Win32

win32_continue_service
win32_delete_service
Funciones win32service


Borra una entrada de servicio de la base de datos del ACS

win32_create_service
win32_get_last_control_message
Funciones win32service
PHP Manual

win32_delete_service

(PECL win32service SVN)

win32_delete_service — Borra una entrada de servicio de la base de datos del ACS

Descripción

mixed win32_delete_service ( string $servicename [, string $machine ] )

Intenta borrar un servicio de la base de datos del ACS. Se necesitan privilegios adminstrativos para que esto suceda.

Esta función en realidad marca el servicio para su eliminación. Si otro proceso (tal como la Aplicación de Servicios) está abierto, el borrado será aplazado hasta que tales aplicaciones se cierren. Si un servicio es marcado para su eliminación, más intentos de borrarlo fallarán, y los intentos de crear un nuevo servicio con ese nombre también fallarán.

Parámetros

servicename

El nombre corto del servicio.

machine

El nombre opcional de la máquina. Si se omite, será usada la máquina local.

Valores devueltos

Devuelve WIN32_NO_ERROR en caso de éxito, FALSE si hay un problema con los parámetros o Código de error Win32 en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de win32_delete_service()

Borra el servicio dummyphp.

<?php
win32_delete_service('dummyphp');
?>

Ver también

  • win32_create_service() - Crea una nueva entrada de servicio en la base de datos del ACS
  • Códigos de Error de Win32

win32_create_service
win32_get_last_control_message
Funciones win32service


Devuelve el último mensaje de control que fue enviado a este servicio

win32_delete_service
win32_pause_service
Funciones win32service
PHP Manual

win32_get_last_control_message

(PECL win32service SVN)

win32_get_last_control_message — Devuelve el último mensaje de control que fue enviado a este servicio

Descripción

int win32_get_last_control_message ( void )

Devuelve el código de control que fue el último enviado a este proceso de servicio. Cuando se ejecuta como un servicio lo debería comprobar periódicamente para determinar si su servicio necesita detenerse.

Valores devueltos

Devuelve una constante de control que puede ser una de las Constantes de Mensajes de Control de Servicio de Win32Service: WIN32_SERVICE_CONTROL_CONTINUE, WIN32_SERVICE_CONTROL_INTERROGATE, WIN32_SERVICE_CONTROL_PAUSE, WIN32_SERVICE_CONTROL_PRESHUTDOWN, WIN32_SERVICE_CONTROL_SHUTDOWN, WIN32_SERVICE_CONTROL_STOP.

Ver también

  • win32_start_service_ctrl_dispatcher() - Registra el script con el ACS, por lo que puede actuar como el servicio con el nombre dado
  • Constantes de Mensajes de Control de Servicio de Win32Service

win32_delete_service
win32_pause_service
Funciones win32service


Pausa un servicio

win32_get_last_control_message
win32_query_service_status
Funciones win32service
PHP Manual

win32_pause_service

(PECL win32service SVN)

win32_pause_service — Pausa un servicio

Descripción

int win32_pause_service ( string $servicename [, string $machine ] )

Pausa un servicio nominado. Se necesitan privilegios administrativos.

Parámetros

servicename

El nombre corto del servicio.

machine

Nombre opcional de la máquina. Si se omite, se usa el nombre de la máquina local.

Valores devueltos

Devuelve WIN32_NO_ERROR en caso de éxito, FALSE si hay un problema con los parámetros o Código de error Win32 en caso de error.

Ver también

  • win32_start_service() - Inicia un servicio
  • Códigos de Error Win32

win32_get_last_control_message
win32_query_service_status
Funciones win32service


Pregunta sobre el estado de un servicio

win32_pause_service
win32_set_service_status
Funciones win32service
PHP Manual

win32_query_service_status

(PECL win32service SVN)

win32_query_service_status — Pregunta sobre el estado de un servicio

Descripción

mixed win32_query_service_status ( string $servicename [, string $machine ] )

Pregunta sobre el estado actual de un servicio, devolviendo una matriz de información.

Parámetros

servicename

El nombre corto del servicio.

machine

El nombre opcional de la máquina. Si se omite, será usada la máquina local.

Valores devueltos

Devuelve una matriz que consiste en la sigiente información sobre , FALSE si hay un problema con los parámetros o Código de error Win32 en caso de error.

ServiceType

El dwServiceType. Véase Máscaras de Bits de Tipo Servicio de Win32Service.

CurrentState

El dwCurrentState. Véase Constantes de Estado de Servicio de Win32Service.

ControlsAccepted

Qué controles de servicio son aceptados por el servicio. Véase Máscaras de Bits Aceptadas de Mensajes de Control de Servicios de Win32Service.

Win32ExitCode

Si se sale del servicio, el código de retorno del proceso.

ServiceSpecificExitCode

Si se sale del servicio con una condición de error, el código específico de servicio que es registrado en el registro de eventos es visible aquí.

CheckPoint

Si el servicio se apaga, mantiene el número del punto de control actual. Ésto es usado por el ACS como un tipo de pulso para detectar un proceso de servicio estancado. El valor del punto de control se interpreta mejor junto con el valor WaitHint.

WaitHint

Si el servicio se apaga se establecerá WaitHint a un valor del punto de control que indicará 100% de finalización. Esto se puede usar para implementar un indicador de progreso.

ProcessId

El indentificador de proceso de Windows. Si es 0, el proceso no se está ejecutando.

ServiceFlags

El dwServiceFlags. Véase Constantes de Banderas de Servicio de Win32Service.

Ver también

  • Constantes Predefinidas de Win32Service

win32_pause_service
win32_set_service_status
Funciones win32service


Actualiza el estado del servicio

win32_query_service_status
win32_start_service_ctrl_dispatcher
Funciones win32service
PHP Manual

win32_set_service_status

(PECL win32service SVN)

win32_set_service_status — Actualiza el estado del servicio

Descripción

bool win32_set_service_status ( int $status [, int $checkpoint = 0 ] )

Informa al ACS del estado actual de un servicio que se está ejecutado. Esta llamada sólo es válida para un proceso de servicio que se esté ejecutando.

Parámetros

status

El código de estado de servicio, uno de los siguientes: WIN32_SERVICE_RUNNING, WIN32_SERVICE_STOPPED, WIN32_SERVICE_STOP_PENDING, WIN32_SERVICE_START_PENDING, WIN32_SERVICE_CONTINUE_PENDING, WIN32_SERVICE_PAUSE_PENDING, WIN32_SERVICE_PAUSED.

checkpoint

El valor del punto de control del servicio aumenta periódicamente para notificar su progreso durante una operación prolongada de inicio, parada, pausa o continuación. Por ejemplo, el servicio debería aumentar este valor al completar cada paso de su inicialización cuando se inicia.

checkpoint sólo es válido cuando status es WIN32_SERVICE_STOP_PENDING, WIN32_SERVICE_START_PENDING, WIN32_SERVICE_CONTINUE_PENDING o WIN32_SERVICE_PAUSE_PENDING.

Valores devueltos

Devuelve TRUE en caso de éxito, FALSE si hay un problema con los parámetros o Código de error Win32 en caso de error.

Ver también

  • win32_start_service_ctrl_dispatcher() - Registra el script con el ACS, por lo que puede actuar como el servicio con el nombre dado
  • Constantes de Estado de Servicio de Win32Service

win32_query_service_status
win32_start_service_ctrl_dispatcher
Funciones win32service


Registra el script con el ACS, por lo que puede actuar como el servicio con el nombre dado

win32_set_service_status
win32_start_service
Funciones win32service
PHP Manual

win32_start_service_ctrl_dispatcher

(PECL win32service SVN)

win32_start_service_ctrl_dispatcher — Registra el script con el ACS, por lo que puede actuar como el servicio con el nombre dado

Descripción

mixed win32_start_service_ctrl_dispatcher ( string $name )

Cuando de lanza mediante el Administrador de Control de Servicios, se requiere un porceso de servicio para "registralo" con él para establecer la supervisión del servicio y las características de comunicación. Esta función lleva a cabo el registro produciendo un hilo para manejar la comunicación a bajo nivel con el adminstrador de control de servicios.

Una vez iniciado, el proceso de servicio debería hacer 2 cosas. La primera es llamar al Administrador de Control de Servicios que esté ejecutando el servicio. Esto se lleva a cabo llamando a win32_set_service_status() con la constante WIN32_SERVICE_RUNNING. Si necesita realizar algún proceso prolongado antes de que el servicio esté realmente ejecutándose, puede usar la constante WIN32_SERVICE_START_PENDING. Lo segundo es continuar registrando con el administrador de control de servicios por lo que puede determinar si debería finalizarse. Esto se lleva a cabo llamando periódicamente a win32_get_last_control_message() y manteniendo el código devuelto de manera apropiada.

Parámetros

name

El nombre corto del servicio, como se registró mediante win32_create_service().

Valores devueltos

Devuelve TRUE en caso de éxito, FALSE si hay un problema con los parámetros o Código de error Win32 en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de win32_start_service_ctrl_dispatcher()

Comprobar si el servicio se está ejecutando bajo el ACS.

<?php
if (!win32_start_service_ctrl_dispatcher('dummyphp')) {
  die("Probablemente no esté ejecutándome bajo el administrador de control de servicios");
}

win32_set_service_status(WIN32_SERVICE_START_PENDING);

// Algún proceso prolongado para levantar este servicio y ejecutar.

win32_set_service_status(WIN32_SERVICE_RUNNING);

while (WIN32_SERVICE_CONTROL_STOP != win32_get_last_control_message()) {
  # hacer su trabajo aquí, intentando no tomar más de 30 segundos
  # antes de ejecutar de nuevo el bucle
}
?>

Ver también

  • win32_set_service_status() - Actualiza el estado del servicio
  • win32_get_last_control_message() - Devuelve el último mensaje de control que fue enviado a este servicio
  • Códigos de Error de Win32

win32_set_service_status
win32_start_service
Funciones win32service


Inicia un servicio

win32_start_service_ctrl_dispatcher
win32_stop_service
Funciones win32service
PHP Manual

win32_start_service

(PECL win32service SVN)

win32_start_service — Inicia un servicio

Descripción

int win32_start_service ( string $servicename [, string $machine ] )

Intenta iniciar un servicio con nombre. Normalmente requiere privilegios administrativos.

Parámetros

servicename

El nombre corto del servicio.

machine

El nombre opcional de la máquina. Si se omite, será usada la máquina local.

Valores devueltos

Devuelve WIN32_NO_ERROR en caso de éxito, FALSE si hay un problema con los parámetros o Código de error Win32 en caso de error.

Ver también

  • win32_stop_service() - Detiene un servicio
  • Códigos de Error de Win32

win32_start_service_ctrl_dispatcher
win32_stop_service
Funciones win32service


Detiene un servicio

win32_start_service
Manipulación XML
Funciones win32service
PHP Manual

win32_stop_service

(PECL win32service SVN)

win32_stop_service — Detiene un servicio

Descripción

int win32_stop_service ( string $servicename [, string $machine ] )

Detiene un servicio con nombre. Requiere privilegios administrativos.

Parámetros

servicename

El nombre corto del servicio.

machine

El nombre opcional de la máquina. Si se omite, se usa la máquina local.

Valores devueltos

Devuelve WIN32_NO_ERROR en caso de éxito, FALSE si hay un problema con los parámetros o Código de error Win32 en caso de error.

Ver también

  • win32_start_service() - Inicia un servicio
  • Códigos de Error de Win32

win32_start_service
Manipulación XML
Funciones win32service


Manipulación XML

  • DOM — Modelo de Objetos de Documento
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • DOMAttr — La clase DOMAttr
    • DOMCdataSection — La clase DOMCdataSection
    • DOMCharacterData — Clase DOMCharacterData
    • DOMComment — Clase DOMComment
    • DOMDocument — Clase DOMDocument
    • DOMDocumentFragment — La clase DOMDocumentFragment
    • DOMDocumentType — La clase DOMDocumentType
    • DOMElement — La clase DOMElement
    • DOMEntity — La clase DOMEntity
    • DOMEntityReference — La clase DOMEntityReference
    • DOMException — La clase DOMException
    • DOMImplementation — La clase DOMImplementation
    • DOMNamedNodeMap — La clase DOMNamedNodeMap
    • DOMNode — La clase DOMNode
    • DOMNodeList — La clase DOMNodeList
    • DOMNotation — La clase DOMNotation
    • DOMProcessingInstruction — La clase DOMProcessingInstruction
    • DOMText — La clase DOMText
    • DOMXPath — La clase DOMXPath
    • Funciones de DOM
  • libxml
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • libXMLError — La clase libXMLError
    • Funciones de libxml
  • qtdom
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de qtdom
  • SDO — Objetos de Datos de Servicio
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Limitaciones
    • Ejemplos
    • Funciones de SDO
  • DAS-Relacional de SDO — Servicio de Acceso a Datos Relacionales de SDO
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Limitations
    • Funciones del SDO-DAS-Relacional
  • DAS XML de SDO — Servicio de Acceso a Datos XML de SDO
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones del DAS XML de SDO
  • SimpleXML
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • SimpleXMLElement — Clase SimpleXMLElement
    • SimpleXMLIterator — La clase SimpleXMLIterator
    • Funciones de SimpleXML
  • WDDX
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Funciones de WDDX
  • XMLDiff — XML diff and merge
    • Introducción
    • Instalación/Configuración
    • XMLDiff\Base — The XMLDiff\Base class
    • XMLDiff\DOM — The XMLDiff\DOM class
    • XMLDiff\Memory — The XMLDiff\Memory class
    • XMLDiff\File — The XMLDiff\File class
  • Analizador XML
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Manejadores de eventos
    • Case Folding
    • Error Codes
    • Codificación de caracteres
    • Ejemplos
    • Funciones del Intérprete XML
  • XMLReader
    • Introducción
    • Instalación/Configuración
    • XMLReader — The XMLReader class
  • XMLWriter
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de XMLWriter
  • XSL
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • XSLTProcessor — Clase XSLTProcessor
  • XSLT (PHP 4)
    • Introducción
    • Instalación/Configuración
    • Constantes predefinidas
    • Funciones de XSLT (PHP 4)
win32_stop_service
DOM
Referencia de funciones


Modelo de Objetos de Documento

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • DOMAttr — La clase DOMAttr
    • DOMAttr::__construct — Crea un nuevo objeto DOMAttr
    • DOMAttr::isId — Verifica si un atributo es un ID definido.
  • DOMCdataSection — La clase DOMCdataSection
    • DOMCdataSection::__construct — Construye un nuevo objeto DOMCdataSection
  • DOMCharacterData — Clase DOMCharacterData
    • DOMCharacterData::appendData — Anexa la cadena de caracteres al final de los datos de caracter del nodo.
    • DOMCharacterData::deleteData — Remueve un rango de caracteres del nodo.
    • DOMCharacterData::insertData — Inserta una cadena en la posición de 16-bit especificada
    • DOMCharacterData::replaceData — Reemplaza una subcadena dentro de un nodo DOMCharacterData
    • DOMCharacterData::substringData — Extrae un rango de data del nodo
  • DOMComment — Clase DOMComment
    • DOMComment::__construct — Crea un nuevo objeto DOMComment
  • DOMDocument — Clase DOMDocument
    • DOMDocument::__construct — Crea un nuevo objeto DOMDocument
    • DOMDocument::createAttribute — Crear nuevo attribute
    • DOMDocument::createAttributeNS — Crea un nuevo nodo atributo con un namespace asociado.
    • DOMDocument::createCDATASection — Crea un nuevo nodo cdata
    • DOMDocument::createComment — Crea un nuevo nodo de comentario
    • DOMDocument::createDocumentFragment — Crea un nuevo fragmento de documento
    • DOMDocument::createElement — Crea un nuevo nodo elemento
    • DOMDocument::createElementNS — Crea un nuevo nodo elemento con el nombre de espacio asociado
    • DOMDocument::createEntityReference — Create new entity reference node
    • DOMDocument::createProcessingInstruction — Crea un nuevo nodo PI
    • DOMDocument::createTextNode — Crea un nuevo nodo de texto
    • DOMDocument::getElementById — Busca un elemento con cierto id
    • DOMDocument::getElementsByTagName — Busca todos los elementos con el nombre de etiqueta local dado
    • DOMDocument::getElementsByTagNameNS — Busca todos los elementos con el nombre de etiqueta dado en el espacio de nombre especificado.
    • DOMDocument::importNode — Importa un nodo dentro del documento actual
    • DOMDocument::load — Cargar un documento XML de un archivo.
    • DOMDocument::loadHTML — Cargar HTML de una cadena
    • DOMDocument::loadHTMLFile — Cargar HTML desde un fichero
    • DOMDocument::loadXML — Cargar XML desde una cadena
    • DOMDocument::normalizeDocument — Normaliza el documento
    • DOMDocument::registerNodeClass — Registra una clase extendida usada para crear tipos de nodos base
    • DOMDocument::relaxNGValidate — Realiza una validación relaxNG del documento
    • DOMDocument::relaxNGValidateSource — Realiza una validación relaxNG del documento
    • DOMDocument::save — Copia el árbol XML interno a un archivo
    • DOMDocument::saveHTML — Copia el documento interno a una cadena usando el formato HTML
    • DOMDocument::saveHTMLFile — Copia el documento interno a un fichero usando el formato HTML
    • DOMDocument::saveXML — Copia el arbol XML interno a un string
    • DOMDocument::schemaValidate — Valida un documento basado en un esquema
    • DOMDocument::schemaValidateSource — Valida un documento basado en un esquema
    • DOMDocument::validate — Valida el documento basado en su DTD
    • DOMDocument::xinclude — Sustituye XIncludes en un objeto DOMDocument
  • DOMDocumentFragment — La clase DOMDocumentFragment
    • DOMDocumentFragment::appendXML — Añade información XML sin formato
  • DOMDocumentType — La clase DOMDocumentType
  • DOMElement — La clase DOMElement
    • DOMElement::__construct — Crea un nuevo objeto DOMElement
    • DOMElement::getAttribute — Devuelve el valor de un atributo
    • DOMElement::getAttributeNode — Devuelve el nodo de un atributo
    • DOMElement::getAttributeNodeNS — Devuelve el nodo de un atributo
    • DOMElement::getAttributeNS — Devuelve el valor de un atributo
    • DOMElement::getElementsByTagName — Obtiene los elementos por nombre de etiqueta
    • DOMElement::getElementsByTagNameNS — Obtener los elementos por la URI del espacio de nombres y el nombre local
    • DOMElement::hasAttribute — Comprueba si existe un atributo
    • DOMElement::hasAttributeNS — Comprueba si un atributo existe
    • DOMElement::removeAttribute — Elimina un atributo
    • DOMElement::removeAttributeNode — Elimina un atributo
    • DOMElement::removeAttributeNS — Elimina un atributo
    • DOMElement::setAttribute — Añade un nuevo atributo
    • DOMElement::setAttributeNode — Añade un nuevo nodo de atributo al elemento
    • DOMElement::setAttributeNodeNS — Aña de un nuevo nodo de atributo al elemento
    • DOMElement::setAttributeNS — Añade un nuevo atributo
    • DOMElement::setIdAttribute — Declara el atributo especificado por su nombre como de tipo ID
    • DOMElement::setIdAttributeNode — Declara el atributo especificado por su nodo como de tipo ID
    • DOMElement::setIdAttributeNS — Declara el atributo especificado por su nombre local y su URI del espacio de nombres como de tipo ID
  • DOMEntity — La clase DOMEntity
  • DOMEntityReference — La clase DOMEntityReference
    • DOMEntityReference::__construct — Crea un nuevo objeto DOMEntityReference
  • DOMException — La clase DOMException
  • DOMImplementation — La clase DOMImplementation
    • DOMImplementation::__construct — Crea un nuevo objeto DOMImplementation
    • DOMImplementation::createDocument — Crea un objeto DOMDocument del tipo especificado con su elemento documento
    • DOMImplementation::createDocumentType — Crear un objeto DOMDocumentType vacío
    • DOMImplementation::hasFeature — Comprueba si la implementación de DOM implementa una característica específica
  • DOMNamedNodeMap — La clase DOMNamedNodeMap
    • DOMNamedNodeMap::getNamedItem — Recupera un nodo especificado por su nombre
    • DOMNamedNodeMap::getNamedItemNS — Recupera un nodo especificado por el nombre local y la URI del espacio de nombres
    • DOMNamedNodeMap::item — Recupera un nodo especificado por su índice
  • DOMNode — La clase DOMNode
    • DOMNode::appendChild — Añade un nuevo hijo al final de los hijos
    • DOMNode::C14N — Canonizar nodos a una cadena
    • DOMNode::C14NFile — Canonizar nodos a un fichero
    • DOMNode::cloneNode — Clona un nodo
    • DOMNode::getLineNo — Obtener el número de línea de un nodo
    • DOMNode::getNodePath — Obtener un XPath de un nodo
    • DOMNode::hasAttributes — Comprueba si un nodo tiene atributos
    • DOMNode::hasChildNodes — Comprueba si el nodo tiene hijos
    • DOMNode::insertBefore — Añade un nuevo hijo antes del nodo de referencia
    • DOMNode::isDefaultNamespace — Comprueba si la URI del espacio de nombres especificada es el espacio de nombres predeterminado
    • DOMNode::isSameNode — Indica si dos nodos son el mismo nodo
    • DOMNode::isSupported — Comprueba si una característica está soportada para la versión especificada
    • DOMNode::lookupNamespaceURI — Obtiene la URI del espacio de nombres del nodo basado en el prefijo
    • DOMNode::lookupPrefix — Obtiene el prefijo del espacio de nombres del nodo basándoes en la URI del espacio de nombres
    • DOMNode::normalize — Normaliza el nodo
    • DOMNode::removeChild — Elimina un hijo de la lista de hijos.
    • DOMNode::replaceChild — Reemplaza un hijo
  • DOMNodeList — La clase DOMNodeList
    • DOMNodelist::item — Recupera un nodo especificado por un índice
  • DOMNotation — La clase DOMNotation
  • DOMProcessingInstruction — La clase DOMProcessingInstruction
    • DOMProcessingInstruction::__construct — Crea un nuevo objeto DOMProcessingInstruction
  • DOMText — La clase DOMText
    • DOMText::__construct — Crea un nuevo objeto DOMText
    • DOMText::isWhitespaceInElementContent — Indica si este nodo de texto contiene espacios en blanco
    • DOMText::splitText — Rompe este nodo en dos nodos en el índice especificado
  • DOMXPath — La clase DOMXPath
    • DOMXPath::__construct — Crea un nuevo objeto DOMXPath
    • DOMXPath::evaluate — Evalúa la expresión XPath dada y devuelve un resultado escrito si es posible
    • DOMXPath::query — Evalúa la expresión XPath dada
    • DOMXPath::registerNamespace — Registra el espacio de nombres con el objeto DOMXPath
    • DOMXPath::registerPhpFunctions — Registra funciones de PHP como funciones XPath
  • Funciones de DOM
    • dom_import_simplexml — Obtiene un objeto DOMElement desde un objeto SimpleXMLElement
Manipulación XML
Introducción
Manipulación XML


Introducción

La extension DOM (siglas en inglés de Document Object Model) permite manipular documentos XML mediante la API DOM con PHP 5.

Nota: PHP 4 ofrece una extensión más antigua domxml.

Nota:

La extensión DOM utiliza la codificación UTF-8. Use utf8_encode() y utf8_decode() para trabajar con textos codificados con ISO-8859-1 o Iconv para otras codificaciones.

DOM
Instalación/Configuración
DOM


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
DOM


Instalación

Esta extensión está habilitada por defecto. Se puede inhabilitar usando la siguiente opción al momento de compilar: --disable-dom

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Constantes XML
Constante | Valor | Descripción
XML_ELEMENT_NODE (integer) | 1 | Nodo es un DOMElement
XML_ATTRIBUTE_NODE (integer) | 2 | Nodo es un DOMAttr
XML_TEXT_NODE (integer) | 3 | Nodo es un DOMText
XML_CDATA_SECTION_NODE (integer) | 4 | Nodo es un DOMCharacterData
XML_ENTITY_REF_NODE (integer) | 5 | Nodo es un DOMEntityReference
XML_ENTITY_NODE (integer) | 6 | Nodo es un DOMEntity
XML_PI_NODE (integer) | 7 | Nodo es un DOMProcessingInstruction
XML_COMMENT_NODE (integer) | 8 | Nodo es un DOMComment
XML_DOCUMENT_NODE (integer) | 9 | Nodo es un DOMDocument
XML_DOCUMENT_TYPE_NODE (integer) | 10 | Nodo es un DOMDocumentType
XML_DOCUMENT_FRAG_NODE (integer) | 11 | Nodo es un DOMDocumentFragment
XML_NOTATION_NODE (integer) | 12 | Nodo es un DOMNotation
XML_HTML_DOCUMENT_NODE (integer) | 13 |
XML_DTD_NODE (integer) | 14 |
XML_ELEMENT_DECL_NODE (integer) | 15 |
XML_ATTRIBUTE_DECL_NODE (integer) | 16 |
XML_ENTITY_DECL_NODE (integer) | 17 |
XML_NAMESPACE_DECL_NODE (integer) | 18 |
XML_ATTRIBUTE_CDATA (integer) | 1 |
XML_ATTRIBUTE_ID (integer) | 2 |
XML_ATTRIBUTE_IDREF (integer) | 3 |
XML_ATTRIBUTE_IDREFS (integer) | 4 |
XML_ATTRIBUTE_ENTITY (integer) | 5 |
XML_ATTRIBUTE_NMTOKEN (integer) | 7 |
XML_ATTRIBUTE_NMTOKENS (integer) | 8 |
XML_ATTRIBUTE_ENUMERATION (integer) | 9 |
XML_ATTRIBUTE_NOTATION (integer) | 10 |
DOMException constantes
Constante | Valor | Descripción
DOM_PHP_ERR (integer) | 0 | El código de Error no forma parte de la especificación DOM. Significado para errores PHP.
DOM_INDEX_SIZE_ERR (integer) | 1 | Si el índice o el tamaño es negativo, o mayor que el valor permitido.
DOMSTRING_SIZE_ERR (integer) | 2 | Si el rango especificado de texto no cabe en un DOMString.
DOM_HIERARCHY_REQUEST_ERR (integer) | 3 | Si un nodo es insertado en un lugar al que no pertenece
DOM_WRONG_DOCUMENT_ERR (integer) | 4 | Si un nodo es usado en un documento diferente al que lo creó.
DOM_INVALID_CHARACTER_ERR (integer) | 5 | Si un carácter ilegal o inválido es especificado, como en un nombre.
DOM_NO_DATA_ALLOWED_ERR (integer) | 6 | Si la data es especificada para un nodo que no la soporta.
DOM_NO_MODIFICATION_ALLOWED_ERR (integer) | 7 | Si se intenta modificar un objeto donde las modificaciones no están permitidas.
DOM_NOT_FOUND_ERR (integer) | 8 | Si se intenta referenciar un nodo en un contexto en el que no existe.
DOM_NOT_SUPPORTED_ERR (integer) | 9 | Si la implementación no soporta el tipo de objeto u operación solicitado.
DOM_INUSE_ATTRIBUTE_ERR (integer) | 10 | Si se intenta agregar un atributo que esta siendo usado en otro lugar.
DOM_INVALID_STATE_ERR (integer) | 11 | Si se intenta utilizar un objeto que no es o ha dejado de ser usable.
DOM_SYNTAX_ERR (integer) | 12 | Si una cadena ilegal o inválida es especificada.
DOM_INVALID_MODIFICATION_ERR (integer) | 13 | Si se intenta modificar el tipo de dato del objeto subyacente.
DOM_NAMESPACE_ERR (integer) | 14 | Si se intenta crear o modificar un objeto de una manera que es incorrecta con respecto a su espacio de nombre (namespace).
DOM_INVALID_ACCESS_ERR (integer) | 15 | Si un parámetro u operación no es soportado por el objeto subyacente.
DOM_VALIDATION_ERR (integer) | 16 | Si la llamada a un método como insertBefore o removeChild invalidará el Nodo con respecto a la "validez parcial", esta excepción sera lanzada y la operación no se realizará.
Tipos de recursos
Ejemplos
DOM


Ejemplos

Muchos ejemplos en esta referencia requieren un fichero XML. Utilizaremos book.xml que contiene lo siguiente:

Ejemplo #1 book.xml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
]>
<book id="listing">
 <title>Mis listas</title>
 <chapter id="books">
  <title>Mis libros</title>
  <para>
   <informaltable>
    <tgroup cols="4">
     <thead>
      <row>
       <entry>Título</entry>
       <entry>Autor</entry>
       <entry>Idioma</entry>
       <entry>ISBN</entry>
      </row>
     </thead>
     <tbody>
      <row>
       <entry>The Grapes of Wrath</entry>
       <entry>John Steinbeck</entry>
       <entry>en</entry>
       <entry>0140186409</entry>
      </row>
      <row>
       <entry>The Pearl</entry>
       <entry>John Steinbeck</entry>
       <entry>en</entry>
       <entry>014017737X</entry>
      </row>
      <row>
       <entry>Samarcande</entry>
       <entry>Amine Maalouf</entry>
       <entry>fr</entry>
       <entry>2253051209</entry>
      </row>
      <!-- TODO: Tengo muchos libros pendientes de añadir.. -->
     </tbody>
    </tgroup>
   </informaltable>
  </para>
 </chapter>
</book>

Constantes predefinidas
DOMAttr
DOM


La clase DOMAttr

(PHP 5)

Introducción

DOMAttr representa un atributo en el objeto DOMElement.

Sinopsis de la Clase

DOMAttr extends DOMNode {
/* Propiedades */
public readonly string $name ;
public readonly DOMElement $ownerElement ;
public readonly bool $schemaTypeInfo ;
public readonly bool $specified ;
public string $value ;
/* Métodos */
public __construct ( string $name [, string $value ] )
public bool isId ( void )
/* Métodos heredados */
public DOMNode DOMNode::appendChild ( DOMNode $newnode )
public string DOMNode::C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public int DOMNode::C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
public bool DOMNode::hasAttributes ( void )
public bool DOMNode::hasChildNodes ( void )
public DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
public bool DOMNode::isDefaultNamespace ( string $namespaceURI )
public bool DOMNode::isSameNode ( DOMNode $node )
public bool DOMNode::isSupported ( string $feature , string $version )
public string DOMNode::lookupNamespaceURI ( string $prefix )
public string DOMNode::lookupPrefix ( string $namespaceURI )
public void DOMNode::normalize ( void )
public DOMNode DOMNode::removeChild ( DOMNode $oldnode )
public DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Propiedades

name

El nombre del atributo.

ownerElement

El elemento que contiene el atributo.

schemaTypeInfo

Aún no implementado, siempre es NULL

specified

Aún no implementado, siempre es NULL

value

El valor del atributo.

Ver también

  • » Especificación W3C de Attr

Tabla de contenidos

  • DOMAttr::__construct — Crea un nuevo objeto DOMAttr
  • DOMAttr::isId — Verifica si un atributo es un ID definido.
Ejemplos
DOMAttr::__construct
DOM


Crea un nuevo objeto DOMAttr

DOMAttr
DOMAttr::isId
DOMAttr
PHP Manual

DOMAttr::__construct

(PHP 5)

DOMAttr::__construct — Crea un nuevo objeto DOMAttr

Descripción

public DOMAttr::__construct ( string $name [, string $value ] )

Crea un nuevo objeto DOMAttr. Este objeto es de sólo lectura. Puede ser anexado a un documento, pero no se le podrán anexar nodos adicionales a este hasta que sea asociado con un documento. Para crear un nodo modificable utilice DOMDocument::createAttribute.

Parámetros

name

El nombre de etiqueta del atributo.

value

El valor de atributo.

Ejemplos

Ejemplo #1 Creación de un nuevo objeto DOMAttr

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$attr = $element->setAttributeNode(new DOMAttr('attr', 'attrvalue'));
echo $dom->saveXML();

?>

El resultado del ejemplo sería:

<?xml version="1.0" encoding="utf-8"?>
<root attr="attrvalue" />

Ver también

  • DOMDocument::createAttribute() - Crear nuevo attribute

DOMAttr
DOMAttr::isId
DOMAttr


Verifica si un atributo es un ID definido.

DOMAttr::__construct
DOMCdataSection
DOMAttr
PHP Manual

DOMAttr::isId

(PHP 5)

DOMAttr::isId — Verifica si un atributo es un ID definido.

Descripción

public bool DOMAttr::isId ( void )

Esta función verifica si el atributo es un ID definido.

De acuerdo al estándar DOM esto requiere una DTD que defina que el atributo ID sea de tipo ID. Necesitará validar su documento con DOMDocument::validate o DOMDocument::validateOnParse antes de utilizar esta función.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de DOMAttr::isId()

<?php

$doc = new DomDocument;

// Necesitaremos validar nuestro documento antes de referir el id
$doc->validateOnParse = true;
$doc->Load('book.xml');

// Devolvemos el atributo llamado id del elemento chapter
$attr = $doc->getElementsByTagName('chapter')->item(0)->getAttributeNode('id');

var_dump($attr->isId()); // bool(true)

?>

DOMAttr::__construct
DOMCdataSection
DOMAttr


La clase DOMCdataSection

(PHP 5)

Introducción

DOMCdataSection hereda de DOMText para la representación textural de constructores CData.

Sinopsis de la Clase

DOMCdataSection extends DOMText {
/* Métodos */
public __construct ( string $value )
/* Métodos heredados */
public bool DOMText::isWhitespaceInElementContent ( void )
public DOMText DOMText::splitText ( int $offset )
}

Tabla de contenidos

  • DOMCdataSection::__construct — Construye un nuevo objeto DOMCdataSection
DOMAttr::isId
DOMCdataSection::__construct
DOM


Construye un nuevo objeto DOMCdataSection

DOMCdataSection
DOMCharacterData
DOMCdataSection
PHP Manual

DOMCdataSection::__construct

(PHP 5)

DOMCdataSection::__construct — Construye un nuevo objeto DOMCdataSection

Descripción

public DOMCdataSection::__construct() ( string $value )

Construye un nuevo nodo CDATA. Funciona igual que la clase DOMText.

Parámetros

value

El valor del nodo CDATA. Si no se proporciona, se crea un nodo CDATA vacío.

Ejemplos

Ejemplo #1 Crear un nuevo objeto DOMCdataSection

<?php

$dom = new DOMDocument('1.0', 'utf-8');
$elemento = $dom->appendChild(new DOMElement('root'));
$texto = $elemento->appendChild(new DOMCdataSection('root value'));
echo $dom->saveXML();

?>

El resultado del ejemplo sería:

<?xml version="1.0" encoding="utf-8"?>
<root><![CDATA[root value]]></root>

Ver también

  • DOMText::__construct() - Crea un nuevo objeto DOMText
  • DOMDocument::createTextNode() - Crea un nuevo nodo de texto

DOMCdataSection
DOMCharacterData
DOMCdataSection


Clase DOMCharacterData

(PHP 5)

Introducción

Representa nodos con datos de caracteres. Ningún nodo corresponde directamente a esta clase pero otros nodos pueden heredar de ella.

Sinopsis de la Clase

DOMCharacterData extends DOMNode {
/* Propiedades */
public string $data ;
readonly public int $length ;
/* Métodos */
void appendData ( string $data )
void deleteData ( int $offset , int $count )
void insertData ( int $offset , string $data )
void replaceData ( int $offset , int $count , string $data )
string substringData ( int $offset , int $count )
/* Métodos heredados */
public DOMNode DOMNode::appendChild ( DOMNode $newnode )
public string DOMNode::C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public int DOMNode::C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
public bool DOMNode::hasAttributes ( void )
public bool DOMNode::hasChildNodes ( void )
public DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
public bool DOMNode::isDefaultNamespace ( string $namespaceURI )
public bool DOMNode::isSameNode ( DOMNode $node )
public bool DOMNode::isSupported ( string $feature , string $version )
public string DOMNode::lookupNamespaceURI ( string $prefix )
public string DOMNode::lookupPrefix ( string $namespaceURI )
public void DOMNode::normalize ( void )
public DOMNode DOMNode::removeChild ( DOMNode $oldnode )
public DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Propiedades

data

El contenido del nodo.

length

La longitud del contenido.

Ver también

  • » Especificacion W3C specificatión de CharacterData

Tabla de contenidos

  • DOMCharacterData::appendData — Anexa la cadena de caracteres al final de los datos de caracter del nodo.
  • DOMCharacterData::deleteData — Remueve un rango de caracteres del nodo.
  • DOMCharacterData::insertData — Inserta una cadena en la posición de 16-bit especificada
  • DOMCharacterData::replaceData — Reemplaza una subcadena dentro de un nodo DOMCharacterData
  • DOMCharacterData::substringData — Extrae un rango de data del nodo
DOMCdataSection::__construct
DOMCharacterData::appendData
DOM


Anexa la cadena de caracteres al final de los datos de caracter del nodo.

DOMCharacterData
DOMCharacterData::deleteData
DOMCharacterData
PHP Manual

DOMCharacterData::appendData

(PHP 5)

DOMCharacterData::appendData — Anexa la cadena de caracteres al final de los datos de caracter del nodo.

Descripción

void DOMCharacterData::appendData ( string $data )

Anexa la cadena de caracteresdata al final de la data caracter del nodo.

Parámetros

data

La cadena de caracteres a anexar.

Valores devueltos

No devuelve ningún valor.

Ver también

  • DOMCharacterData::deleteData() - Remueve un rango de caracteres del nodo.
  • DOMCharacterData::insertData() - Inserta una cadena en la posición de 16-bit especificada
  • DOMCharacterData::replaceData() - Reemplaza una subcadena dentro de un nodo DOMCharacterData
  • DOMCharacterData::substringData() - Extrae un rango de data del nodo

DOMCharacterData
DOMCharacterData::deleteData
DOMCharacterData


Remueve un rango de caracteres del nodo.

DOMCharacterData::appendData
DOMCharacterData::insertData
DOMCharacterData
PHP Manual

DOMCharacterData::deleteData

(PHP 5)

DOMCharacterData::deleteData — Remueve un rango de caracteres del nodo.

Descripción

void DOMCharacterData::deleteData ( int $offset , int $count )

Elimina count caracteres comenzando desde la posición offset.

Parámetros

offset

El índice desde el cual se comenzará a remover.

count

La cantidad de caracteres a eliminar. Si la suma de offset y count excede la longitud, entonces todos los caracteres al final de la data son eliminados.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

DOM_INDEX_SIZE_ERR

Lanzada si offset es negativo o mayor que el número de unidades de 16-bit en la data, o si count es negativo.

Ver también

  • DOMCharacterData::appendData() - Anexa la cadena de caracteres al final de los datos de caracter del nodo.
  • DOMCharacterData::insertData() - Inserta una cadena en la posición de 16-bit especificada
  • DOMCharacterData::replaceData() - Reemplaza una subcadena dentro de un nodo DOMCharacterData
  • DOMCharacterData::substringData() - Extrae un rango de data del nodo

DOMCharacterData::appendData
DOMCharacterData::insertData
DOMCharacterData


Inserta una cadena en la posición de 16-bit especificada

DOMCharacterData::deleteData
DOMCharacterData::replaceData
DOMCharacterData
PHP Manual

DOMCharacterData::insertData

(PHP 5)

DOMCharacterData::insertData — Inserta una cadena en la posición de 16-bit especificada

Descripción

void DOMCharacterData::insertData ( int $offset , string $data )

Inserta la cadena data en la posición offset.

Parámetros

offset

La posición en la cual se insertará.

data

La cadena a insertar.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

DOM_INDEX_SIZE_ERR

Lanzado si offset es negativo o mayor que el número de unidades de 16-bit en la data.

Ver también

  • DOMCharacterData::appendData() - Anexa la cadena de caracteres al final de los datos de caracter del nodo.
  • DOMCharacterData::deleteData() - Remueve un rango de caracteres del nodo.
  • DOMCharacterData::replaceData() - Reemplaza una subcadena dentro de un nodo DOMCharacterData
  • DOMCharacterData::substringData() - Extrae un rango de data del nodo

DOMCharacterData::deleteData
DOMCharacterData::replaceData
DOMCharacterData


Reemplaza una subcadena dentro de un nodo DOMCharacterData

DOMCharacterData::insertData
DOMCharacterData::substringData
DOMCharacterData
PHP Manual

DOMCharacterData::replaceData

(PHP 5)

DOMCharacterData::replaceData — Reemplaza una subcadena dentro de un nodo DOMCharacterData

Descripción

void DOMCharacterData::replaceData ( int $offset , int $count , string $data )

Reemplaza count caracteres comenzando en la posicion offset con data.

Parámetros

offset

La posición inicial a partir de la cual se iniciara el reemplazo.

count

El número de carácteres a reemplazar. Si la suma de offset y count excede la longitud, entonces todos los carácteres al final de la data son reemplazados.

data

La cadena con la cual el rango debe ser reemplazado.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

DOM_INDEX_SIZE_ERR

Lanzado si offset es negativo o mayor que el número de unidades de 16-bit en la data, o si count es negativo.

Ver también

  • DOMCharacterData::appendData() - Anexa la cadena de caracteres al final de los datos de caracter del nodo.
  • DOMCharacterData::deleteData() - Remueve un rango de caracteres del nodo.
  • DOMCharacterData::insertData() - Inserta una cadena en la posición de 16-bit especificada
  • DOMCharacterData::substringData() - Extrae un rango de data del nodo

DOMCharacterData::insertData
DOMCharacterData::substringData
DOMCharacterData


Extrae un rango de data del nodo

DOMCharacterData::replaceData
DOMComment
DOMCharacterData
PHP Manual

DOMCharacterData::substringData

(PHP 5)

DOMCharacterData::substringData — Extrae un rango de data del nodo

Descripción

string DOMCharacterData::substringData ( int $offset , int $count )

Devuelve la subcadena especificada.

Parámetros

offset

Posición de inicio de la subcadena a extraer.

count

El número de carácteres a extraer.

Valores devueltos

La subcadena especificada. Si la suma de offset y count excede la longitud, entonces todas las unidades de 16-bit hasta el final de la cadena son devueltas.

Errores/Excepciones

DOM_INDEX_SIZE_ERR

Lanzado si offset es negativo o mayor que el numero de unidades de 16-bit en la data, o si count es negativo.

Ver también

  • DOMCharacterData::appendData() - Anexa la cadena de caracteres al final de los datos de caracter del nodo.
  • DOMCharacterData::deleteData() - Remueve un rango de caracteres del nodo.
  • DOMCharacterData::insertData() - Inserta una cadena en la posición de 16-bit especificada
  • DOMCharacterData::replaceData() - Reemplaza una subcadena dentro de un nodo DOMCharacterData

DOMCharacterData::replaceData
DOMComment
DOMCharacterData


Clase DOMComment

(PHP 5)

Introducción

Representa nodos comentario, caracteres delimitados por <!-- y -->.

Sinopsis de la Clase

DOMComment extends DOMCharacterData {
/* Métodos */
public __construct ([ string $value ] )
/* Métodos heredados */
void DOMCharacterData::appendData ( string $data )
void DOMCharacterData::deleteData ( int $offset , int $count )
void DOMCharacterData::insertData ( int $offset , string $data )
void DOMCharacterData::replaceData ( int $offset , int $count , string $data )
string DOMCharacterData::substringData ( int $offset , int $count )
public DOMNode DOMNode::appendChild ( DOMNode $newnode )
public string DOMNode::C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public int DOMNode::C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
public bool DOMNode::hasAttributes ( void )
public bool DOMNode::hasChildNodes ( void )
public DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
public bool DOMNode::isDefaultNamespace ( string $namespaceURI )
public bool DOMNode::isSameNode ( DOMNode $node )
public bool DOMNode::isSupported ( string $feature , string $version )
public string DOMNode::lookupNamespaceURI ( string $prefix )
public string DOMNode::lookupPrefix ( string $namespaceURI )
public void DOMNode::normalize ( void )
public DOMNode DOMNode::removeChild ( DOMNode $oldnode )
public DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Ver también

  • » Especificación W3C de Comment

Tabla de contenidos

  • DOMComment::__construct — Crea un nuevo objeto DOMComment
DOMCharacterData::substringData
DOMComment::__construct
DOM


Crea un nuevo objeto DOMComment

DOMComment
DOMDocument
DOMComment
PHP Manual

DOMComment::__construct

(PHP 5)

DOMComment::__construct — Crea un nuevo objeto DOMComment

Descripción

public DOMComment::__construct ([ string $value ] )

Crea un nuevo objeto DOMComment . Este objeto es de solo lectura. Puede ser anexado a un documento, pero nodos adicionales no pueden ser anexados a este nodo hasta tando no haya sido asociado con un documento. Para crear un nodo modificable utilice DOMDocument::createComment.

Parámetros

value

El valor del comentario.

Ejemplos

Ejemplo #1 Creando un nuevo DOMComment

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$comment = $element->appendChild(new DOMComment('root comment'));
echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?><root><!--root comment--></root> */

?>

Ver también

  • DOMDocument::createComment() - Crea un nuevo nodo de comentario

DOMComment
DOMDocument
DOMComment


Clase DOMDocument

(PHP 4 >= 4.1.0)

Introducción

Representa un documento HTML o XML en su totalidad; sirve como raíz del árbol de documento.

Sinopsis de la Clase

DOMDocument extends DOMNode {
/* Propiedades */
readonly public string $actualEncoding ;
readonly public DOMConfiguration $config ;
readonly public DOMDocumentType $doctype ;
readonly public DOMElement $documentElement ;
public string $documentURI ;
public string $encoding ;
public bool $formatOutput ;
readonly public DOMImplementation $implementation ;
public bool $preserveWhiteSpace = true ;
public bool $recover ;
public bool $resolveExternals ;
public bool $standalone ;
public bool $strictErrorChecking = true ;
public bool $substituteEntities ;
public bool $validateOnParse = false ;
public string $version ;
readonly public string $xmlEncoding ;
public bool $xmlStandalone ;
public string $xmlVersion ;
/* Métodos */
public __construct ([ string $version [, string $encoding ]] )
public DOMAttr createAttribute ( string $name )
public DOMAttr createAttributeNS ( string $namespaceURI , string $qualifiedName )
public DOMCDATASection createCDATASection ( string $data )
public DOMComment createComment ( string $data )
public DOMDocumentFragment createDocumentFragment ( void )
public DOMElement createElement ( string $name [, string $value ] )
public DOMElement createElementNS ( string $namespaceURI , string $qualifiedName [, string $value ] )
public DOMEntityReference createEntityReference ( string $name )
public DOMProcessingInstruction createProcessingInstruction ( string $target [, string $data ] )
public DOMText createTextNode ( string $content )
public DOMElement getElementById ( string $elementId )
public DOMNodeList getElementsByTagName ( string $name )
public DOMNodeList getElementsByTagNameNS ( string $namespaceURI , string $localName )
public DOMNode importNode ( DOMNode $importedNode [, bool $deep ] )
public mixed load ( string $filename [, int $options = 0 ] )
public bool loadHTML ( string $source [, int $options = 0 ] )
public bool loadHTMLFile ( string $filename [, int $options = 0 ] )
public mixed loadXML ( string $source [, int $options = 0 ] )
public void normalizeDocument ( void )
public bool registerNodeClass ( string $baseclass , string $extendedclass )
public bool relaxNGValidate ( string $filename )
public bool relaxNGValidateSource ( string $source )
public int save ( string $filename [, int $options ] )
public string saveHTML ([ DOMNode $node = NULL ] )
public int saveHTMLFile ( string $filename )
public string saveXML ([ DOMNode $node [, int $options ]] )
public bool schemaValidate ( string $filename [, int $flags ] )
public bool schemaValidateSource ( string $source [, int $flags ] )
public bool validate ( void )
public int xinclude ([ int $options ] )
/* Métodos heredados */
public DOMNode DOMNode::appendChild ( DOMNode $newnode )
public string DOMNode::C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public int DOMNode::C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
public bool DOMNode::hasAttributes ( void )
public bool DOMNode::hasChildNodes ( void )
public DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
public bool DOMNode::isDefaultNamespace ( string $namespaceURI )
public bool DOMNode::isSameNode ( DOMNode $node )
public bool DOMNode::isSupported ( string $feature , string $version )
public string DOMNode::lookupNamespaceURI ( string $prefix )
public string DOMNode::lookupPrefix ( string $namespaceURI )
public void DOMNode::normalize ( void )
public DOMNode DOMNode::removeChild ( DOMNode $oldnode )
public DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Propiedades

actualEncoding

Obsoleto. Codificación actual del documento, es el equivalente de solo lectura de encoding.

config

Obsoleto. Configuración utilizada cuando DOMDocument::normalizeDocument() es invocado.

doctype

La declaración de tipo de documento asociada con este documento.

documentElement

Este es un atributo de conveniencia que permite acceso directo al nodo hijo que es el elemento documento del documento.

documentURI

La ubicación del documento o NULL si es indefinida.

encoding

Codificación del documento, como ha sido especificada en la declaración XML. Este atributo no está presente en la especificación DOM Nivel 3, pero es la única manera de manipular la codificación de un documento XML en esta implementación.

formatOutput

Da formato a la salida con identación y espacios extra.

implementation

El objeto DOMImplementation que maneja este documento.

preserveWhiteSpace

No remover espacios en blanco redundantes. Predeterminado a TRUE.

recover

Proprietario. Activa el modo de recuperación. Ejemplo: intentar analizar documentos mal formados. Este atributo no es parte de la especificación DOM y es especifica para libxml.

resolveExternals

Asigne TRUE para cargar entidades externas a una declaración doctype. Es útil para incluir entidades de caracteres en su documento XML.

standalone

Obsoleto. Si este documento es o no independiente, tal como ha sido especificado por la declaración XML, corresponde a xmlStandalone.

strictErrorChecking

Lanzar DOMException en caso de errores. Predeterminado a TRUE.

substituteEntities

Proprietario.Si se substituyen o no las entidades. Este atributo no forma parte de la especificación DOM y es específico para libxml.

validateOnParse

Cargar y validar contra la DTD. Predeterminado a FALSE.

version

Obsoleto. Versión de XML, corresponde a xmlVersion.

xmlEncoding

Un atributo que forma parte de la declaración XML y especifica la codificación de este documento. Es NULL cuando no ha sido especificado o se desconoce, como cuando el documento fue creado en memoria.

xmlStandalone

Un atributo que forma parte de la declaración XML y especifica cuando este documento es independiente. Es FALSE cuando no ha sido especificado.

xmlVersion

Un atributo que forma parte de la declaracion XML y especifica el número de versión de este documento. Si no hay declaración y este documento soporta la característica "XML" el valor es "1.0".

Notas

Nota:

La extensión DOM utiliza la codificación UTF-8. Use utf8_encode() y utf8_decode() para trabajar con textos con codificación ISO-8859-1 o Iconv para otras codificaciones.

Ver también

  • » Especificación W3C para Document

Tabla de contenidos

  • DOMDocument::__construct — Crea un nuevo objeto DOMDocument
  • DOMDocument::createAttribute — Crear nuevo attribute
  • DOMDocument::createAttributeNS — Crea un nuevo nodo atributo con un namespace asociado.
  • DOMDocument::createCDATASection — Crea un nuevo nodo cdata
  • DOMDocument::createComment — Crea un nuevo nodo de comentario
  • DOMDocument::createDocumentFragment — Crea un nuevo fragmento de documento
  • DOMDocument::createElement — Crea un nuevo nodo elemento
  • DOMDocument::createElementNS — Crea un nuevo nodo elemento con el nombre de espacio asociado
  • DOMDocument::createEntityReference — Create new entity reference node
  • DOMDocument::createProcessingInstruction — Crea un nuevo nodo PI
  • DOMDocument::createTextNode — Crea un nuevo nodo de texto
  • DOMDocument::getElementById — Busca un elemento con cierto id
  • DOMDocument::getElementsByTagName — Busca todos los elementos con el nombre de etiqueta local dado
  • DOMDocument::getElementsByTagNameNS — Busca todos los elementos con el nombre de etiqueta dado en el espacio de nombre especificado.
  • DOMDocument::importNode — Importa un nodo dentro del documento actual
  • DOMDocument::load — Cargar un documento XML de un archivo.
  • DOMDocument::loadHTML — Cargar HTML de una cadena
  • DOMDocument::loadHTMLFile — Cargar HTML desde un fichero
  • DOMDocument::loadXML — Cargar XML desde una cadena
  • DOMDocument::normalizeDocument — Normaliza el documento
  • DOMDocument::registerNodeClass — Registra una clase extendida usada para crear tipos de nodos base
  • DOMDocument::relaxNGValidate — Realiza una validación relaxNG del documento
  • DOMDocument::relaxNGValidateSource — Realiza una validación relaxNG del documento
  • DOMDocument::save — Copia el árbol XML interno a un archivo
  • DOMDocument::saveHTML — Copia el documento interno a una cadena usando el formato HTML
  • DOMDocument::saveHTMLFile — Copia el documento interno a un fichero usando el formato HTML
  • DOMDocument::saveXML — Copia el arbol XML interno a un string
  • DOMDocument::schemaValidate — Valida un documento basado en un esquema
  • DOMDocument::schemaValidateSource — Valida un documento basado en un esquema
  • DOMDocument::validate — Valida el documento basado en su DTD
  • DOMDocument::xinclude — Sustituye XIncludes en un objeto DOMDocument
DOMComment::__construct
DOMDocument::__construct
DOM


Crea un nuevo objeto DOMDocument

DOMDocument
DOMDocument::createAttribute
DOMDocument
PHP Manual

DOMDocument::__construct

(PHP 5)

DOMDocument::__construct — Crea un nuevo objeto DOMDocument

Descripción

public DOMDocument::__construct ([ string $version [, string $encoding ]] )

Crea un nuevo objeto DOMDocument .

Parámetros

version

El numero de versión del documento como parte de la declaración XML.

encoding

La codificación del documento como parte de la declaración XML.

Ejemplos

Ejemplo #1 Creando un nuevo DOMDocument

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');

echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?> */

?>

Ver también

  • DOMImplementation::createDocument() - Crea un objeto DOMDocument del tipo especificado con su elemento documento

DOMDocument
DOMDocument::createAttribute
DOMDocument


Crear nuevo attribute

DOMDocument::__construct
DOMDocument::createAttributeNS
DOMDocument
PHP Manual

DOMDocument::createAttribute

(PHP 5)

DOMDocument::createAttribute — Crear nuevo attribute

Descripción

public DOMAttr DOMDocument::createAttribute ( string $name )

Esta función crea una nueva instancia de la clase DOMAttr. Este nodo no se mostrará en el documento a no ser que sea insertado con (p.e.j.) DOMNode::appendChild().

Parámetros

name

El nombre del atributo.

Valores devueltos

El nuevo DOMAttr o FALSE si ha ocurrido un error.

Errores/Excepciones

DOM_INVALID_CHARACTER_ERR

Lanzado si name contiene un carácter inválido.

Ver también

  • DOMNode::appendChild() - Añade un nuevo hijo al final de los hijos
  • DOMDocument::createAttributeNS() - Crea un nuevo nodo atributo con un namespace asociado.
  • DOMDocument::createCDATASection() - Crea un nuevo nodo cdata
  • DOMDocument::createComment() - Crea un nuevo nodo de comentario
  • DOMDocument::createDocumentFragment() - Crea un nuevo fragmento de documento
  • DOMDocument::createElement() - Crea un nuevo nodo elemento
  • DOMDocument::createElementNS() - Crea un nuevo nodo elemento con el nombre de espacio asociado
  • DOMDocument::createEntityReference() - Create new entity reference node
  • DOMDocument::createProcessingInstruction() - Crea un nuevo nodo PI
  • DOMDocument::createTextNode() - Crea un nuevo nodo de texto

DOMDocument::__construct
DOMDocument::createAttributeNS
DOMDocument


Crea un nuevo nodo atributo con un namespace asociado.

DOMDocument::createAttribute
DOMDocument::createCDATASection
DOMDocument
PHP Manual

DOMDocument::createAttributeNS

(PHP 5)

DOMDocument::createAttributeNS — Crea un nuevo nodo atributo con un namespace asociado.

Descripción

public DOMAttr DOMDocument::createAttributeNS ( string $namespaceURI , string $qualifiedName )

Esta función crea una nueva instancia de la clase DOMAttr. Este nodo no se mostrará en el documento a no ser que sea insertado con (p.e.j.) DOMNode::appendChild().

Parámetros

namespaceURI

El URI del namespace.

qualifiedName

El nombre de etiqueta y prefijo del atributo, como prefix:tagname.

Valores devueltos

El nuevo DOMAttr o FALSE si ha ocurrido un error.

Errores/Excepciones

DOM_INVALID_CHARACTER_ERR

Lanzado siqualifiedName contiene un carácter inválido.

DOM_NAMESPACE_ERR

Lanzado si qualifiedName es un nombre calificado mal formado , o si qualifiedName tiene un prefijo y namespaceURI es NULL.

Ver también

  • DOMNode::appendChild() - Añade un nuevo hijo al final de los hijos
  • DOMDocument::createAttribute() - Crear nuevo attribute
  • DOMDocument::createCDATASection() - Crea un nuevo nodo cdata
  • DOMDocument::createComment() - Crea un nuevo nodo de comentario
  • DOMDocument::createDocumentFragment() - Crea un nuevo fragmento de documento
  • DOMDocument::createElement() - Crea un nuevo nodo elemento
  • DOMDocument::createElementNS() - Crea un nuevo nodo elemento con el nombre de espacio asociado
  • DOMDocument::createEntityReference() - Create new entity reference node
  • DOMDocument::createProcessingInstruction() - Crea un nuevo nodo PI
  • DOMDocument::createTextNode() - Crea un nuevo nodo de texto

DOMDocument::createAttribute
DOMDocument::createCDATASection
DOMDocument


Crea un nuevo nodo cdata

DOMDocument::createAttributeNS
DOMDocument::createComment
DOMDocument
PHP Manual

DOMDocument::createCDATASection

(PHP 5)

DOMDocument::createCDATASection — Crea un nuevo nodo cdata

Descripción

public DOMCDATASection DOMDocument::createCDATASection ( string $data )

Esta función crea una nueva instancia de la clase DOMCDATASection. Este nodo no se mostrará en el documento a no ser que sea insertado con (p.e.j.) DOMNode::appendChild().

Parámetros

data

El contenido del cdata.

Valores devueltos

El nuevo DOMCDATASection o FALSE si ha ocurrido un error.

Ver también

  • DOMNode::appendChild() - Añade un nuevo hijo al final de los hijos
  • DOMDocument::createAttribute() - Crear nuevo attribute
  • DOMDocument::createAttributeNS() - Crea un nuevo nodo atributo con un namespace asociado.
  • DOMDocument::createComment() - Crea un nuevo nodo de comentario
  • DOMDocument::createDocumentFragment() - Crea un nuevo fragmento de documento
  • DOMDocument::createElement() - Crea un nuevo nodo elemento
  • DOMDocument::createElementNS() - Crea un nuevo nodo elemento con el nombre de espacio asociado
  • DOMDocument::createEntityReference() - Create new entity reference node
  • DOMDocument::createProcessingInstruction() - Crea un nuevo nodo PI
  • DOMDocument::createTextNode() - Crea un nuevo nodo de texto

DOMDocument::createAttributeNS
DOMDocument::createComment
DOMDocument


Crea un nuevo nodo de comentario

DOMDocument::createCDATASection
DOMDocument::createDocumentFragment
DOMDocument
PHP Manual

DOMDocument::createComment

(PHP 5)

DOMDocument::createComment — Crea un nuevo nodo de comentario

Descripción

public DOMComment DOMDocument::createComment ( string $data )

Esta función crea una nueva instancia de la clase DOMComment. Este nodo no se mostrará en el documento a no ser que sea insertado con (p.e.j.) DOMNode::appendChild().

Parámetros

data

El contenido del comentario.

Valores devueltos

El nuevo DOMComment o FALSE si ha ocurrido un error.

Ver también

  • DOMNode::appendChild() - Añade un nuevo hijo al final de los hijos
  • DOMDocument::createAttribute() - Crear nuevo attribute
  • DOMDocument::createAttributeNS() - Crea un nuevo nodo atributo con un namespace asociado.
  • DOMDocument::createCDATASection() - Crea un nuevo nodo cdata
  • DOMDocument::createDocumentFragment() - Crea un nuevo fragmento de documento
  • DOMDocument::createElement() - Crea un nuevo nodo elemento
  • DOMDocument::createElementNS() - Crea un nuevo nodo elemento con el nombre de espacio asociado
  • DOMDocument::createEntityReference() - Create new entity reference node
  • DOMDocument::createProcessingInstruction() - Crea un nuevo nodo PI
  • DOMDocument::createTextNode() - Crea un nuevo nodo de texto

DOMDocument::createCDATASection
DOMDocument::createDocumentFragment
DOMDocument


Crea un nuevo fragmento de documento

DOMDocument::createComment
DOMDocument::createElement
DOMDocument
PHP Manual

DOMDocument::createDocumentFragment

(PHP 5)

DOMDocument::createDocumentFragment — Crea un nuevo fragmento de documento

Descripción

public DOMDocumentFragment DOMDocument::createDocumentFragment ( void )

Esta función crea una nueva instancia de la clase DOMDocumentFragment. Este nodo no se mostrará en el documento a no ser que sea insertado con (p.e.j.) DOMNode::appendChild().

Valores devueltos

El nuevo DOMDocumentFragment o FALSE si ha ocurrido un error.

Ver también

  • DOMNode::appendChild() - Añade un nuevo hijo al final de los hijos
  • DOMDocument::createAttribute() - Crear nuevo attribute
  • DOMDocument::createAttributeNS() - Crea un nuevo nodo atributo con un namespace asociado.
  • DOMDocument::createCDATASection() - Crea un nuevo nodo cdata
  • DOMDocument::createComment() - Crea un nuevo nodo de comentario
  • DOMDocument::createElement() - Crea un nuevo nodo elemento
  • DOMDocument::createElementNS() - Crea un nuevo nodo elemento con el nombre de espacio asociado
  • DOMDocument::createEntityReference() - Create new entity reference node
  • DOMDocument::createProcessingInstruction() - Crea un nuevo nodo PI
  • DOMDocument::createTextNode() - Crea un nuevo nodo de texto

DOMDocument::createComment
DOMDocument::createElement
DOMDocument


Crea un nuevo nodo elemento

DOMDocument::createDocumentFragment
DOMDocument::createElementNS
DOMDocument
PHP Manual

DOMDocument::createElement

(PHP 5)

DOMDocument::createElement — Crea un nuevo nodo elemento

Descripción

public DOMElement DOMDocument::createElement ( string $name [, string $value ] )

Esta función crea una nueva instancia de la clase DOMElement. Este nodo no se mostrará en el documento a no ser que sea insertado con (p.e.j.) DOMNode::appendChild().

Parámetros

name

El nombre de etiqueta del elemento.

value

El valor del elemento. De manera predeterminada se creará un elemento vacio. El valor también puede ser asignado más tarde con DOMElement::$nodeValue.

Valores devueltos

Devuelve una nueva instanca de la clase DOMElement o FALSE si ha ocurrido un error.

Errores/Excepciones

DOM_INVALID_CHARACTER_ERR

Lanzado si name contiene un carácter inválido.

Ejemplos

Ejemplo #1 Crear un nuevo elemento e insertarlo como raíz

<?php

$dom = new DOMDocument('1.0', 'utf-8');

$element = $dom->createElement('test', 'This is the root element!');

// Insertamos el nuevo elemento como raíz (hijo del documento)
$dom->appendChild($element);

echo $dom->saveXML();
?>

El resultado del ejemplo sería:

<?xml version="1.0" encoding="utf-8"?>
<test>This is the root element!</test>

Notas

Nota:

El parámetro value no será escapado. Utilice DOMDocument::createTextNode() para crear un nodo de texto con soporte para escape de carácteres.

Ver también

  • DOMNode::appendChild() - Añade un nuevo hijo al final de los hijos
  • DOMDocument::createAttribute() - Crear nuevo attribute
  • DOMDocument::createAttributeNS() - Crea un nuevo nodo atributo con un namespace asociado.
  • DOMDocument::createCDATASection() - Crea un nuevo nodo cdata
  • DOMDocument::createComment() - Crea un nuevo nodo de comentario
  • DOMDocument::createDocumentFragment() - Crea un nuevo fragmento de documento
  • DOMDocument::createElementNS() - Crea un nuevo nodo elemento con el nombre de espacio asociado
  • DOMDocument::createEntityReference() - Create new entity reference node
  • DOMDocument::createProcessingInstruction() - Crea un nuevo nodo PI
  • DOMDocument::createTextNode() - Crea un nuevo nodo de texto

DOMDocument::createDocumentFragment
DOMDocument::createElementNS
DOMDocument


Crea un nuevo nodo elemento con el nombre de espacio asociado

DOMDocument::createElement
DOMDocument::createEntityReference
DOMDocument
PHP Manual

DOMDocument::createElementNS

(PHP 5)

DOMDocument::createElementNS — Crea un nuevo nodo elemento con el nombre de espacio asociado

Descripción

public DOMElement DOMDocument::createElementNS ( string $namespaceURI , string $qualifiedName [, string $value ] )

Esta función crea un nuevo nodo elemento con el nombre de espacio asociado. Este nodo no se mostrará en el documento a no ser que sea insertado con (p.e.j.) DOMNode::appendChild().

Parámetros

namespaceURI

El URI del nombre de espacio.

qualifiedName

Elo nombre cualificado del elemento, como prefix:tagname.

value

El valor del elemento. De manera predeterminada se creará un elemento vacio. El valor también puede ser asignado más tarde con DOMElement::$nodeValue.

Valores devueltos

El nuevo DOMElement o FALSE si ha ocurrido un error.

Errores/Excepciones

DOM_INVALID_CHARACTER_ERR

Lanzado si qualifiedName contiene un carácter inválido.

DOM_NAMESPACE_ERR

Lanzado si qualifiedName es un nombre cualificado mal formado.

Ejemplos

Ejemplo #1 Crear un nuevo elemento e insertarlo como raíz

<?php

$dom = new DOMDocument('1.0', 'utf-8');

$element = $dom->createElementNS('http://www.example.com/XFoo', 'xfoo:test', 'This is the root element!');

// Insertamos el nuevo elemento como raíz (hijo del documento)
$dom->appendChild($element);

echo $dom->saveXML();
?>

El resultado del ejemplo sería:

<?xml version="1.0" encoding="utf-8"?>
<xfoo:test xmlns:xfoo="http://www.example.com/XFoo">This is the root element!</xfoo:test>

Ejemplo #2 Un ejemplo de prefijo de nombre de espacio

<?php
$doc  = new DOMDocument('1.0', 'utf-8');
$doc->formatOutput = true;
$root = $doc->createElementNS('http://www.w3.org/2005/Atom', 'element');
$doc->appendChild($root);
$root->setAttributeNS('http://www.w3.org/2000/xmlns/' ,'xmlns:g', 'http://base.google.com/ns/1.0');
$item = $doc->createElementNS('http://base.google.com/ns/1.0', 'g:item_type', 'house');
$root->appendChild($item);

echo $doc->saveXML(), "\n";

echo $item->namespaceURI, "\n"; // Outputs: http://base.google.com/ns/1.0
echo $item->prefix, "\n";       // Outputs: g
echo $item->localName, "\n";    // Outputs: item_type
?>

El resultado del ejemplo sería:

<?xml version="1.0" encoding="utf-8"?>
<element xmlns="http://www.w3.org/2005/Atom" xmlns:g="http://base.google.com/ns/1.0">
  <g:item_type>house</g:item_type>
</element>

http://base.google.com/ns/1.0
g
item_type

Ver también

  • DOMNode::appendChild() - Añade un nuevo hijo al final de los hijos
  • DOMDocument::createAttribute() - Crear nuevo attribute
  • DOMDocument::createAttributeNS() - Crea un nuevo nodo atributo con un namespace asociado.
  • DOMDocument::createCDATASection() - Crea un nuevo nodo cdata
  • DOMDocument::createComment() - Crea un nuevo nodo de comentario
  • DOMDocument::createDocumentFragment() - Crea un nuevo fragmento de documento
  • DOMDocument::createElement() - Crea un nuevo nodo elemento
  • DOMDocument::createEntityReference() - Create new entity reference node
  • DOMDocument::createProcessingInstruction() - Crea un nuevo nodo PI
  • DOMDocument::createTextNode() - Crea un nuevo nodo de texto

DOMDocument::createElement
DOMDocument::createEntityReference
DOMDocument


Create new entity reference node

DOMDocument::createElementNS
DOMDocument::createProcessingInstruction
DOMDocument
PHP Manual

DOMDocument::createEntityReference

(PHP 5)

DOMDocument::createEntityReference — Create new entity reference node

Descripción

public DOMEntityReference DOMDocument::createEntityReference ( string $name )

Esta función crea una nueva instancia de la clase DOMEntityReference. Este nodo no se mostrará en el documento a no ser que sea insertado con (p.e.j.) DOMNode::appendChild().

Parámetros

name

El contenido de la entidad referencia, p.ej. la entidad referencia menos los carácteres & inicial y el ; final.

Valores devueltos

El nuevo DOMEntityReference o FALSE si ha ocurrido un error.

Errores/Excepciones

DOM_INVALID_CHARACTER_ERR

Lanzado si name contiene un carácter inválido.

Ver también

  • DOMNode::appendChild() - Añade un nuevo hijo al final de los hijos
  • DOMDocument::createAttribute() - Crear nuevo attribute
  • DOMDocument::createAttributeNS() - Crea un nuevo nodo atributo con un namespace asociado.
  • DOMDocument::createCDATASection() - Crea un nuevo nodo cdata
  • DOMDocument::createComment() - Crea un nuevo nodo de comentario
  • DOMDocument::createDocumentFragment() - Crea un nuevo fragmento de documento
  • DOMDocument::createElement() - Crea un nuevo nodo elemento
  • DOMDocument::createElementNS() - Crea un nuevo nodo elemento con el nombre de espacio asociado
  • DOMDocument::createProcessingInstruction() - Crea un nuevo nodo PI
  • DOMDocument::createTextNode() - Crea un nuevo nodo de texto

DOMDocument::createElementNS
DOMDocument::createProcessingInstruction
DOMDocument


Crea un nuevo nodo PI

DOMDocument::createEntityReference
DOMDocument::createTextNode
DOMDocument
PHP Manual

DOMDocument::createProcessingInstruction

(PHP 5)

DOMDocument::createProcessingInstruction — Crea un nuevo nodo PI

Descripción

public DOMProcessingInstruction DOMDocument::createProcessingInstruction ( string $target [, string $data ] )

Esta función crea una nueva instancia de la clase DOMProcessingInstruction. Este nodo no se mostrará en el documento a no ser que sea insertado con (p.e.j.) DOMNode::appendChild().

Parámetros

target

El objetivo de la instrucción de procesamiento.

data

El contenido de la instrucción de procesamiento.

Valores devueltos

El nuevo DOMProcessingInstruction o FALSE si ha ocurrido un error.

Errores/Excepciones

DOM_INVALID_CHARACTER_ERR

Lanzado si target contiene un carácter inválido.

Ver también

  • DOMNode::appendChild() - Añade un nuevo hijo al final de los hijos
  • DOMDocument::createAttribute() - Crear nuevo attribute
  • DOMDocument::createAttributeNS() - Crea un nuevo nodo atributo con un namespace asociado.
  • DOMDocument::createCDATASection() - Crea un nuevo nodo cdata
  • DOMDocument::createComment() - Crea un nuevo nodo de comentario
  • DOMDocument::createDocumentFragment() - Crea un nuevo fragmento de documento
  • DOMDocument::createElement() - Crea un nuevo nodo elemento
  • DOMDocument::createElementNS() - Crea un nuevo nodo elemento con el nombre de espacio asociado
  • DOMDocument::createEntityReference() - Create new entity reference node
  • DOMDocument::createTextNode() - Crea un nuevo nodo de texto

DOMDocument::createEntityReference
DOMDocument::createTextNode
DOMDocument


Crea un nuevo nodo de texto

DOMDocument::createProcessingInstruction
DOMDocument::getElementById
DOMDocument
PHP Manual

DOMDocument::createTextNode

(PHP 5)

DOMDocument::createTextNode — Crea un nuevo nodo de texto

Descripción

public DOMText DOMDocument::createTextNode ( string $content )

Esta función crea una nueva instancia de la clase DOMText. Este nodo no se mostrará en el documento a no ser que sea insertado con (p.e.j.) DOMNode::appendChild().

Parámetros

content

El contenido del texto.

Valores devueltos

El nuevo DOMText o FALSE si ha ocurrido un error.

Ver también

  • DOMNode::appendChild() - Añade un nuevo hijo al final de los hijos
  • DOMDocument::createAttribute() - Crear nuevo attribute
  • DOMDocument::createAttributeNS() - Crea un nuevo nodo atributo con un namespace asociado.
  • DOMDocument::createCDATASection() - Crea un nuevo nodo cdata
  • DOMDocument::createComment() - Crea un nuevo nodo de comentario
  • DOMDocument::createDocumentFragment() - Crea un nuevo fragmento de documento
  • DOMDocument::createElement() - Crea un nuevo nodo elemento
  • DOMDocument::createElementNS() - Crea un nuevo nodo elemento con el nombre de espacio asociado
  • DOMDocument::createEntityReference() - Create new entity reference node
  • DOMDocument::createProcessingInstruction() - Crea un nuevo nodo PI

DOMDocument::createProcessingInstruction
DOMDocument::getElementById
DOMDocument


Busca un elemento con cierto id

DOMDocument::createTextNode
DOMDocument::getElementsByTagName
DOMDocument
PHP Manual

DOMDocument::getElementById

(PHP 5)

DOMDocument::getElementById — Busca un elemento con cierto id

Descripción

public DOMElement DOMDocument::getElementById ( string $elementId )

Esta función es similar a DOMDocument::getElementsByTagNamepero busca un elemento con el id dado.

Para que esta función trabaje, necesitará asignar algunos atributos ID con DOMElement::setIdAttribute o un DTD que defina un atributo de tipo ID. En el último caso necesitará validar el documento con DOMDocument::validate o DOMDocument::$validateOnParse antes de utilizar esta función.

Parámetros

elementId

El valor de id único para un elemento.

Valores devueltos

Devuelve el DOMElement o NULL si el elemento no ha sido encontrado.

Ejemplos

Ejemplo #1 Ejemplo de DOMDocument::getElementById()

Los siguientes ejemplos usan book.xml, cuyo contenido es el siguiente:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE books [
  <!ELEMENT books   (book+)>
  <!ELEMENT book    (title, author+, xhtml:blurb?)>
  <!ELEMENT title   (#PCDATA)>
  <!ELEMENT blurb   (#PCDATA)>
  <!ELEMENT author  (#PCDATA)>
  <!ATTLIST books   xmlns        CDATA  #IMPLIED>
  <!ATTLIST books   xmlns:xhtml  CDATA  #IMPLIED>
  <!ATTLIST book    id           ID     #IMPLIED>
  <!ATTLIST author  email        CDATA  #IMPLIED>
]>
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
<books xmlns="http://books.php/" xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <book id="php-basics">
    <title>PHP Basics</title>
    <author email="jim.smith@basics.php">Jim Smith</author>
    <author email="jane.smith@basics.php">Jane Smith</author>
    <xhtml:blurb><![CDATA[
<p><em>PHP Basics</em> provides an introduction to PHP.</p>
]]></xhtml:blurb>
  </book>
  <book id="php-advanced">
    <title>PHP Advanced Programming</title>
    <author email="jon.doe@advanced.php">Jon Doe</author>
  </book>
</books>
<?php

$doc = new DomDocument;

// We need to validate our document before refering to the id
$doc->validateOnParse = true;
$doc->Load('book.xml');

echo "The element whose id is 'php-basics' is: " . $doc->getElementById('php-basics')->tagName . "\n";

?>

El resultado del ejemplo sería:

The element whose id is 'php-basics' is: book

Ver también

  • DOMDocument::getElementsByTagName() - Busca todos los elementos con el nombre de etiqueta local dado

DOMDocument::createTextNode
DOMDocument::getElementsByTagName
DOMDocument


Busca todos los elementos con el nombre de etiqueta local dado

DOMDocument::getElementById
DOMDocument::getElementsByTagNameNS
DOMDocument
PHP Manual

DOMDocument::getElementsByTagName

(PHP 5)

DOMDocument::getElementsByTagName — Busca todos los elementos con el nombre de etiqueta local dado

Descripción

public DOMNodeList DOMDocument::getElementsByTagName ( string $name )

Esta función devuelve una nueva instancia de la clase DOMNodeList que contiene los elementos con el nombre de etiqueta local buscado.

Parámetros

name

El nombre local (sin namespace) de la etiqueta con el cual se hará comparación. El valor especial * coincindirá con todas las etiquetas.

Valores devueltos

Un nuevo objeto DOMNodeList que contiene todos los elementos coincidentes.

Ejemplos

Ejemplo #1 Ejemplo de uso básico

<?php
$xml = <<< XML
<?xml version="1.0" encoding="utf-8"?>
<books>
 <book>Patrones de Arquitectura de Aplicaciones Empresariales</book>
 <book>Patrones de diseño: elementos de diseño de software reutilizable</book>
 <book>Código limpio</book>
</books>
XML;

$dom = new DOMDocument;
$dom->loadXML($xml);
$books = $dom->getElementsByTagName('book');
foreach ($books as $book) {
    echo $book->nodeValue, PHP_EOL;
}
?>

El resultado del ejemplo sería:

Patrones de Arquitectura de Aplicaciones Empresariales
Patrones de diseño: elementos de diseño de software reutilizable
Código limpio

Ver también

  • DOMDocument::getElementsByTagNameNS() - Busca todos los elementos con el nombre de etiqueta dado en el espacio de nombre especificado.

DOMDocument::getElementById
DOMDocument::getElementsByTagNameNS
DOMDocument


Busca todos los elementos con el nombre de etiqueta dado en el espacio de nombre especificado.

DOMDocument::getElementsByTagName
DOMDocument::importNode
DOMDocument
PHP Manual

DOMDocument::getElementsByTagNameNS

(PHP 5)

DOMDocument::getElementsByTagNameNS — Busca todos los elementos con el nombre de etiqueta dado en el espacio de nombre especificado.

Descripción

public DOMNodeList DOMDocument::getElementsByTagNameNS ( string $namespaceURI , string $localName )

Devuelve un DOMNodeList de todos los elementos con el nombre local dado y el URI del espacio de nombre.

Parámetros

namespaceURI

El URI del espacio de nombre de los elementos en los que se buscara. El valor especial * coincide con todos los espacios de nombre.

localName

El nombre local de los elementos buscados. El valor especial * coincide con todos los nombres locales.

Valores devueltos

Un nuevo objeto DOMNodeList que contiene todos los elementos coincidentes.

Ejemplos

Ejemplo #1 Obtener todos los elementos XInclude

<?php

$xml = <<<EOD
<?xml version="1.0" ?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Books of the other guy..</title>
<para>
 <xi:include href="book.xml">
  <xi:fallback>
   <error>xinclude: book.xml not found</error>
  </xi:fallback>
 </xi:include>
 <include>
  This is another namespace
 </include>
</para>
</chapter>
EOD;
$dom = new DOMDocument;

// load the XML string defined above
$dom->loadXML($xml);

foreach ($dom->getElementsByTagNameNS('http://www.w3.org/2001/XInclude', '*') as $element) {
    echo 'local name: ', $element->localName, ', prefix: ', $element->prefix, "\n";
}
?>

El resultado del ejemplo sería:

local name: include, prefix: xi
local name: fallback, prefix: xi

Ver también

  • DOMDocument::getElementsByTagName() - Busca todos los elementos con el nombre de etiqueta local dado

DOMDocument::getElementsByTagName
DOMDocument::importNode
DOMDocument


Importa un nodo dentro del documento actual

DOMDocument::getElementsByTagNameNS
DOMDocument::load
DOMDocument
PHP Manual

DOMDocument::importNode

(PHP 5)

DOMDocument::importNode — Importa un nodo dentro del documento actual

Descripción

public DOMNode DOMDocument::importNode ( DOMNode $importedNode [, bool $deep ] )

Esta función devuelve una copia del nodo a importar y le asocia con el documento actual.

Parámetros

importedNode

El nodo que desea importar

deep

Si se establece en TRUE, este método importará de forma recursiva el subárbol bajo el importedNode.

Nota:

Para copiar los atributos de los nodos deep debe establecerse a TRUE

Valores devueltos

El nodo copiado o FALSE, si no puede ser copiado.

Errores/Excepciones

DOMException es lanzado si el nodo no puede ser importado.

Ejemplos

Ejemplo #1 DOMDocument::importNode() ejemplo

Copiando nodos entre documentos.

<?php

$orgdoc = new DOMDocument;
$orgdoc->loadXML("<root><element><child>text in child</child></element></root>");

// El nodo que se quiere importar al nuevo documento
$node = $orgdoc->getElementsByTagName("element")->item(0);

// Crear un nuevo documento
$newdoc = new DOMDocument;
$newdoc->formatOutput = true;

// Agregar marcado
$newdoc->loadXML("<root><someelement>text in some element</someelement></root>");

echo "The 'new document' before copying nodes into it:\n";
echo $newdoc->saveXML();

// Importar el nodo y todos sus hijos al documento
$node = $newdoc->importNode($node, true);
// y entonces anexarlo a el nodo "<root>"
$newdoc->documentElement->appendChild($node);

echo "\nThe 'new document' after copying the nodes into it:\n";
echo $newdoc->saveXML();
?>

El resultado del ejemplo sería:

The 'new document' before copying nodes into it:
<?xml version="1.0"?>
<root>
  <someelement>text in some element</someelement>
</root>

The 'new document' after copying the nodes into it:
<?xml version="1.0"?>
<root>
  <someelement>text in some element</someelement>
  <element>
    <child>text in child</child>
  </element>
</root>

DOMDocument::getElementsByTagNameNS
DOMDocument::load
DOMDocument


Cargar un documento XML de un archivo.

DOMDocument::importNode
DOMDocument::loadHTML
DOMDocument
PHP Manual

DOMDocument::load

(PHP 5)

DOMDocument::load — Cargar un documento XML de un archivo.

Descripción

public mixed DOMDocument::load ( string $filename [, int $options = 0 ] )

Carga un documento XML de un archivo.

Advertencia

Rutas tipo Unix con barras inclinadas hacia a delante, pueden causar una degradacion significativa de rendimiento en sistemas Windows, si es el caso, asegúrese de llamar realpath().

Parámetros

filename

La ruta al documento XML.

options

Bitwise OR de las constantes de opción libxml.constants.html.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Si se llama estáticamente, devuelve un DOMDocument o FALSE en caso de error.

Errores/Excepciones

Si una cadena vacia es pasada como el filename o se pasa el nombre de un archivo vacío, se generará una advertencia. Esta advertencia no es generada por libxml y no puede ser manejada utilizando las funciones de manejo de erro de libxml.

Este método puede ser llamado de forma estática, pero lanzará un error E_STRICT.

Ejemplos

Ejemplo #1 Creando un Documento

<?php
$doc = new DOMDocument();
$doc->load('book.xml');
echo $doc->saveXML();
?>

Ver también

  • DOMDocument::loadXML() - Cargar XML desde una cadena
  • DOMDocument::save() - Copia el árbol XML interno a un archivo
  • DOMDocument::saveXML() - Copia el arbol XML interno a un string

DOMDocument::importNode
DOMDocument::loadHTML
DOMDocument


Cargar HTML de una cadena

DOMDocument::load
DOMDocument::loadHTMLFile
DOMDocument
PHP Manual

DOMDocument::loadHTML

(PHP 5)

DOMDocument::loadHTML — Cargar HTML de una cadena

Descripción

public bool DOMDocument::loadHTML ( string $source [, int $options = 0 ] )

Esta funcion procesa el HTML contenido en la cadena source. De manera distinta a cargar XML, HTML no tiene que estar bien formado para cargarse. Esta funcion tembien puede llamarse estaticamente para cargar y crear un objeto DOMDocument. La invocación estática puede utilizarse aun cuando ninguna propiedad de DOMDocument haya sido establecida antes de la lectura.

Parámetros

source

La cadena HTML.

options

Desde PHP 5.4.0 y Libxml 2.6.0, se puede usar el parámetro options para especificar parámetros de Libxml adicionales.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Si es llamada de manera estática devuelve un objeto DOMDocument o FALSE en caso de error.

Errores/Excepciones

Si una cadena vacia es pasada como el source o se pasa el nombre de un archivo vacío, se generará una advertencia. Esta advertencia no es generada por libxml y no puede ser manejada utilizando las funciones de manejo de erro de libxml.

Este método puede ser llamado de forma estática, pero lanzará un error E_STRICT.

Aunque el HTML malformado debería cargar con éxito, esta función puede generar errores E_WARNING al encontrarse con marcado erróneo. Se pueden usar las funciones de manejo de errores de libxml para manejar estos errores.

Ejemplos

Ejemplo #1 Creando un Documento

<?php
$doc = new DOMDocument();
$doc->loadHTML("<html><body>Test<br></body></html>");
echo $doc->saveHTML();
?>

Historial de cambios

Versión | Descripción
5.4.0 | Se añadió el parámero options.

Ver también

  • DOMDocument::loadHTMLFile() - Cargar HTML desde un fichero
  • DOMDocument::saveHTML() - Copia el documento interno a una cadena usando el formato HTML
  • DOMDocument::saveHTMLFile() - Copia el documento interno a un fichero usando el formato HTML

DOMDocument::load
DOMDocument::loadHTMLFile
DOMDocument


Cargar HTML desde un fichero

DOMDocument::loadHTML
DOMDocument::loadXML
DOMDocument
PHP Manual

DOMDocument::loadHTMLFile

(PHP 5)

DOMDocument::loadHTMLFile — Cargar HTML desde un fichero

Descripción

public bool DOMDocument::loadHTMLFile ( string $filename [, int $options = 0 ] )

Esta función analiza el documento HTML del fichero llamado filename. A diferencia de cargar XML, HTML no tiene que estar bien formado para cargarse.

Parámetros

filename

La ruta al fichero HTML.

options

Desde PHP 5.4.0 y Libxml 2.6.0, se puede usar el parámetro options para especificar parámetros de Libxml adicionales.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Si se llama estáticamente, devuelve un DOMDocument o FALSE en caso de error.

Errores/Excepciones

Si se pasa una cadena vacía a filename o se nombra un fichero vacío, se generará una advertencia. Esta advertencia no es generada por libxml y no se puede tratar usando funciones de manejo de errores de libxml.

Este método puede ser llamado de forma estática, pero lanzará un error E_STRICT.

Aunque el HTML malformado debería cargar con éxito, esta función puede generar errores E_WARNING al encontrarse con marcado erróneo. Se pueden usar las funciones de manejo de errores de libxml para manejar estos errores.

Ejemplos

Ejemplo #1 Crear un Documento

<?php
$doc = new DOMDocument();
$doc->loadHTMLFile("filename.html");
echo $doc->saveHTML();
?>

Historial de cambios

Versión | Descripción
5.4.0 | Se añadió el parámero options.

Ver también

  • DOMDocument::loadHTML() - Cargar HTML de una cadena
  • DOMDocument::saveHTML() - Copia el documento interno a una cadena usando el formato HTML
  • DOMDocument::saveHTMLFile() - Copia el documento interno a un fichero usando el formato HTML

DOMDocument::loadHTML
DOMDocument::loadXML
DOMDocument


Cargar XML desde una cadena

DOMDocument::loadHTMLFile
DOMDocument::normalizeDocument
DOMDocument
PHP Manual

DOMDocument::loadXML

(PHP 5)

DOMDocument::loadXML — Cargar XML desde una cadena

Descripción

public mixed DOMDocument::loadXML ( string $source [, int $options = 0 ] )

Carga un documento XML desde una cadena.

Parámetros

source

La cadena que contiene el XML.

options

Operador a nivel de bits OR de las constantes de opciones libxml.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Si se llama estáticamente, devuelve un DOMDocument o FALSE en caso de error.

Errores/Excepciones

Si se pasa una cadena vacía a source, se generará una advertencia. Esta advertencia no es generada por libxml y no puede ser tratada usando funciones de manejo de errores de libxml.

Ejemplos

Ejemplo #1 Crear un Documento

<?php
$doc = new DOMDocument();
$doc->loadXML('<root><node/></root>');
echo $doc->saveXML();
?>

Ejemplo #2 Invocación estática de loadXML

<?php
$doc = DOMDocument::loadXML('<root><node/></root>');
echo $doc->saveXML();
?>

Ver también

  • DOMDocument::load() - Cargar un documento XML de un archivo.
  • DOMDocument::save() - Copia el árbol XML interno a un archivo
  • DOMDocument::saveXML() - Copia el arbol XML interno a un string

DOMDocument::loadHTMLFile
DOMDocument::normalizeDocument
DOMDocument


Normaliza el documento

DOMDocument::loadXML
DOMDocument::registerNodeClass
DOMDocument
PHP Manual

DOMDocument::normalizeDocument

(PHP 5)

DOMDocument::normalizeDocument — Normaliza el documento

Descripción

public void DOMDocument::normalizeDocument ( void )

Este método actúa como si guardara y después cargara el documento, poniendo el el documento en una forma "normal".

Valores devueltos

No devuelve ningún valor.

Ver también

  • » La Especificación DOM
  • DOMNode::normalize() - Normaliza el nodo

DOMDocument::loadXML
DOMDocument::registerNodeClass
DOMDocument


Registra una clase extendida usada para crear tipos de nodos base

DOMDocument::normalizeDocument
DOMDocument::relaxNGValidate
DOMDocument
PHP Manual

DOMDocument::registerNodeClass

(PHP 5 >= 5.2.0)

DOMDocument::registerNodeClass — Registra una clase extendida usada para crear tipos de nodos base

Descripción

public bool DOMDocument::registerNodeClass ( string $baseclass , string $extendedclass )

Este método permite registrar su propia clase DOM extendida para usarla después por la extensión DOM de PHP.

Este método no es parte del estándar DOM.

Parámetros

baseclass

La clase DOM que se quiere extender. Se puede encontrar una lista de estas clases en el capítulo introducción.

extendedclass

El nombre de la clase extendida. Si se proporciona NULL, cualquier clase registrada previamente que extienda baseclass será eliminada.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.2.2 | Antes de 5.2.2, una extendedclass previamente registrada teniá que ser desregistrada antes de poder registrar una nueva clase que extendiese a la misma baseclass.

Ejemplos

Ejemplo #1 Añadir un nuevo método a DOMElement para facilitar su código

<?php

class myElement extends DOMElement {
   function appendElement($name) {
      return $this->appendChild(new myElement($name));
   }
}

class myDocument extends DOMDocument {
   function setRoot($name) {
      return $this->appendChild(new myElement($name));
   }
}

$doc = new myDocument();
$doc->registerNodeClass('DOMElement', 'myElement');

// A partir de ahora, ¡ añadir un elemento a otro sólo cuesta una llamada al método !
$root = $doc->setRoot('root');
$child = $root->appendElement('child');
$child->setAttribute('foo', 'bar');

echo $doc->saveXML();

?>

El resultado del ejemplo sería:

<?xml version="1.0"?>
<root><child foo="bar"/></root>

Ejemplo #2 Recuperar elementos como clase personalizada

<?php
class myElement extends DOMElement {
    public function __toString() {
        return $this->nodeValue;
    }
}

$doc = new DOMDocument;
$doc->loadXML("<root><element><child>text in child</child></element></root>");
$doc->registerNodeClass("DOMElement", "myElement");

$element = $doc->getElementsByTagName("child")->item(0);
var_dump(get_class($element));

// Y tomar ventaja del método __toString ...
echo $element;
?>

El resultado del ejemplo sería:

string(9) "myElement"
text in child

Ejemplo #3 Recuperar un propio documento

Al instanciar un DOMDocument personalizado, la propiedad ownerDocument se referirá a la clase instanciada, lo que significa que no hay necesidad (y de hecho no es posible) de usar DOMDocument::registerNodeClass() con DOMDocument

<?php
class myDOMDocument extends DOMDocument {
}

class myOtherDOMDocument extends DOMDocument {
}

// Crear myDOMDocument con algo de XML
$doc = new myDOMDocument;
$doc->loadXML("<root><element><child>text in child</child></element></root>");

$child = $doc->getElementsByTagName("child")->item(0);

// El actual propietario del nodo es myDOMDocument
var_dump(get_class($child->ownerDocument));

// Importar un nodo desde myDOMDocument
$newdoc = new myOtherDOMDocument;
$child = $newdoc->importNode($child);

// El propietario del nodo ha cambiado a myOtherDOMDocument
var_dump(get_class($child->ownerDocument));
?>

El resultado del ejemplo sería:

string(13) "myDOMDocument"
string(18) "myOtherDOMDocument"

DOMDocument::normalizeDocument
DOMDocument::relaxNGValidate
DOMDocument


Realiza una validación relaxNG del documento

DOMDocument::registerNodeClass
DOMDocument::relaxNGValidateSource
DOMDocument
PHP Manual

DOMDocument::relaxNGValidate

(PHP 5)

DOMDocument::relaxNGValidate — Realiza una validación relaxNG del documento

Descripción

public bool DOMDocument::relaxNGValidate ( string $filename )

Realiza una validación » relaxNG del documento basándose en el esquema RNG dado.

Parámetros

filename

El fichero RNG.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • DOMDocument::relaxNGValidateSource() - Realiza una validación relaxNG del documento
  • DOMDocument::schemaValidate() - Valida un documento basado en un esquema
  • DOMDocument::schemaValidateSource() - Valida un documento basado en un esquema
  • DOMDocument::validate() - Valida el documento basado en su DTD

DOMDocument::registerNodeClass
DOMDocument::relaxNGValidateSource
DOMDocument


Realiza una validación relaxNG del documento

DOMDocument::relaxNGValidate
DOMDocument::save
DOMDocument
PHP Manual

DOMDocument::relaxNGValidateSource

(PHP 5)

DOMDocument::relaxNGValidateSource — Realiza una validación relaxNG del documento

Descripción

public bool DOMDocument::relaxNGValidateSource ( string $source )

Realiza una validación » relaxNG del documento basándose en la fuente RNG dada.

Parámetros

source

Una cadena que contiene el esquema RNG.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • DOMDocument::relaxNGValidate() - Realiza una validación relaxNG del documento
  • DOMDocument::schemaValidate() - Valida un documento basado en un esquema
  • DOMDocument::schemaValidateSource() - Valida un documento basado en un esquema
  • DOMDocument::validate() - Valida el documento basado en su DTD

DOMDocument::relaxNGValidate
DOMDocument::save
DOMDocument


Copia el árbol XML interno a un archivo

DOMDocument::relaxNGValidateSource
DOMDocument::saveHTML
DOMDocument
PHP Manual

DOMDocument::save

(PHP 5)

DOMDocument::save — Copia el árbol XML interno a un archivo

Descripción

public int DOMDocument::save ( string $filename [, int $options ] )

Crea un documento XML desde la representación DOM. Esta función normalmente se llama después de construir un nuevo documento desde ceros, como en el ejemplo de abajo.

Parámetros

filename

La ruta al documento XML guardado.

options

Opciones Adicionales. Actualmente sólo está soportada LIBXML_NOEMPTYTAG.

Valores devueltos

Devuelve el número de bytes escritos o FALSE si ocurrió un error.

Historial de cambios

Versión | Descripción
5.1.0 | Se añadió el parámetro options

Ejemplos

Ejemplo #1 Guardar un árbol DOM en un fichero

<?php

$doc = new DOMDocument('1.0');
// queremos una impresión buena
$doc->formatOutput = true;

$root = $doc->createElement('book');
$root = $doc->appendChild($root);

$title = $doc->createElement('title');
$title = $root->appendChild($title);

$text = $doc->createTextNode('Este es el título');
$text = $title->appendChild($text);

echo 'Escrito: ' . $doc->save("/tmp/test.xml") . ' bytes'; // Escrito: 72 bytes

?>

Ver también

  • DOMDocument::saveXML() - Copia el arbol XML interno a un string
  • DOMDocument::load() - Cargar un documento XML de un archivo.
  • DOMDocument::loadXML() - Cargar XML desde una cadena

DOMDocument::relaxNGValidateSource
DOMDocument::saveHTML
DOMDocument


Copia el documento interno a una cadena usando el formato HTML

DOMDocument::save
DOMDocument::saveHTMLFile
DOMDocument
PHP Manual

DOMDocument::saveHTML

(PHP 5)

DOMDocument::saveHTML — Copia el documento interno a una cadena usando el formato HTML

Descripción

public string DOMDocument::saveHTML ([ DOMNode $node = NULL ] )

Crea un documento HTML desde la representación DOM. Esta función normalmente se llama después de construir un nuevo documento desde cero, como en el ejemplo de abajo.

Parámetros

node

Parámetro opcional que devuelve una parte del documento.

Valores devueltos

Devuelve el HTML, o FALSE si ocurrió un error.

Historial de cambios

Versión | Descripción
5.3.6 | El parámetro node fue añadido.

Ejemplos

Ejemplo #1 Salvar un árbol HTML en una cadena

<?php

$doc = new DOMDocument('1.0');

$root = $doc->createElement('html');
$root = $doc->appendChild($root);

$head = $doc->createElement('head');
$head = $root->appendChild($head);

$title = $doc->createElement('title');
$title = $head->appendChild($title);

$text = $doc->createTextNode('Este es el título');
$text = $title->appendChild($text);

echo $doc->saveHTML();

?>

Ver también

  • DOMDocument::saveHTMLFile() - Copia el documento interno a un fichero usando el formato HTML
  • DOMDocument::loadHTML() - Cargar HTML de una cadena
  • DOMDocument::loadHTMLFile() - Cargar HTML desde un fichero

DOMDocument::save
DOMDocument::saveHTMLFile
DOMDocument


Copia el documento interno a un fichero usando el formato HTML

DOMDocument::saveHTML
DOMDocument::saveXML
DOMDocument
PHP Manual

DOMDocument::saveHTMLFile

(PHP 5)

DOMDocument::saveHTMLFile — Copia el documento interno a un fichero usando el formato HTML

Descripción

public int DOMDocument::saveHTMLFile ( string $filename )

Crea un documento HTML desde la representación DOM. Esta función normalmente se llama después de construir un nuevo documento desde cero, como en el ejemplo de abajo.

Parámetros

filename

La ruta al documento HTML guardado.

Valores devueltos

Devuelve el número de bytes escritos o FALSE si ocurrió un error.

Ejemplos

Ejemplo #1 Guardar un árbol HTML en un archivo

<?php

$doc = new DOMDocument('1.0');
// queremos una impresión buena
$doc->formatOutput = true;

$root = $doc->createElement('html');
$root = $doc->appendChild($root);

$head = $doc->createElement('head');
$head = $root->appendChild($head);

$title = $doc->createElement('title');
$title = $head->appendChild($title);

$text = $doc->createTextNode('Este es el título');
$text = $title->appendChild($text);

echo 'EScrito: ' . $doc->saveHTMLFile("/tmp/test.html") . ' bytes'; // Escrito: 129 bytes

?>

Ver también

  • DOMDocument::saveHTML() - Copia el documento interno a una cadena usando el formato HTML
  • DOMDocument::loadHTML() - Cargar HTML de una cadena
  • DOMDocument::loadHTMLFile() - Cargar HTML desde un fichero

DOMDocument::saveHTML
DOMDocument::saveXML
DOMDocument


Copia el arbol XML interno a un string

DOMDocument::saveHTMLFile
DOMDocument::schemaValidate
DOMDocument
PHP Manual

DOMDocument::saveXML

(PHP 5)

DOMDocument::saveXML — Copia el arbol XML interno a un string

Descripción

public string DOMDocument::saveXML ([ DOMNode $node [, int $options ]] )

Crea un documento XML desde la representación DOM. Esta función normalmente se llama después de construir un nuevo documento desde cero, como en el ejemplo de abajo.

Parámetros

node

Use este parámetro para imprimir sólo un nodo especifico sin la declaración XML en vez del documento completo.

options

Opciones Adicionales. Actualmente sólo está soportada LIBXML_NOEMPTYTAG.

Valores devueltos

Devuelve el XML, o FALSE en caso de error.

Errores/Excepciones

DOM_WRONG_DOCUMENT_ERR

Lanzado si node es de otro documento.

Historial de cambios

Versión | Descripción
5.1.0 | Se añadió el parámetro options

Ejemplos

Ejemplo #1 Guardar un árbol DOM en un string

<?php

$doc = new DOMDocument('1.0');
// queremos una impresión buena
$doc->formatOutput = true;

$root = $doc->createElement('book');
$root = $doc->appendChild($root);

$title = $doc->createElement('title');
$title = $root->appendChild($title);

$text = $doc->createTextNode('Este es el título');
$text = $title->appendChild($text);

echo "Guardando todo el documento:\n";
echo $doc->saveXML() . "\n";

echo "Guardando sólo la parte del título:\n";
echo $doc->saveXML($title);

?>

El resultado del ejemplo sería:

Guardando todo el documento:
<?xml version="1.0"?>
<book>
  <title>Este es el título</title>
</book>

Guardando sólo la parte del título:
<title>Este es el título</title>

Ver también

  • DOMDocument::save() - Copia el árbol XML interno a un archivo
  • DOMDocument::load() - Cargar un documento XML de un archivo.
  • DOMDocument::loadXML() - Cargar XML desde una cadena

DOMDocument::saveHTMLFile
DOMDocument::schemaValidate
DOMDocument


Valida un documento basado en un esquema

DOMDocument::saveXML
DOMDocument::schemaValidateSource
DOMDocument
PHP Manual

DOMDocument::schemaValidate

(PHP 5)

DOMDocument::schemaValidate — Valida un documento basado en un esquema

Descripción

public bool DOMDocument::schemaValidate ( string $filename [, int $flags ] )

Valida un documento basado en el fichero de esquema dado.

Parámetros

filename

La ruto al esquema.

flags

Una máscara de bits de banderas de validación de esquemas de Libxml. Actualmente el único valor admitido es LIBXML_SCHEMA_CREATE. Disponible desde PHP 5.5.2 y Libxml 2.6.14.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.5.2 | Se añadió el parámetro flags

Ver también

  • DOMDocument::schemaValidateSource() - Valida un documento basado en un esquema
  • DOMDocument::relaxNGValidate() - Realiza una validación relaxNG del documento
  • DOMDocument::relaxNGValidateSource() - Realiza una validación relaxNG del documento
  • DOMDocument::validate() - Valida el documento basado en su DTD

DOMDocument::saveXML
DOMDocument::schemaValidateSource
DOMDocument


Valida un documento basado en un esquema

DOMDocument::schemaValidate
DOMDocument::validate
DOMDocument
PHP Manual

DOMDocument::schemaValidateSource

(PHP 5)

DOMDocument::schemaValidateSource — Valida un documento basado en un esquema

Descripción

public bool DOMDocument::schemaValidateSource ( string $source [, int $flags ] )

Valida un documento basado en un esquema definido en la cadena dada.

Parámetros

source

Una cadena que contiene el esquema.

flags

Una máscara de bits de banderas de validación de esquemas de Libxml. Actualmente el único valor admitido es LIBXML_SCHEMA_CREATE. Disponible desde PHP 5.5.2 y Libxml 2.6.14.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.5.2 | Se añadió el parámetro flags

Ver también

  • DOMDocument::schemaValidate() - Valida un documento basado en un esquema
  • DOMDocument::relaxNGValidate() - Realiza una validación relaxNG del documento
  • DOMDocument::relaxNGValidateSource() - Realiza una validación relaxNG del documento
  • DOMDocument::validate() - Valida el documento basado en su DTD

DOMDocument::schemaValidate
DOMDocument::validate
DOMDocument


Valida el documento basado en su DTD

DOMDocument::schemaValidateSource
DOMDocument::xinclude
DOMDocument
PHP Manual

DOMDocument::validate

(PHP 5)

DOMDocument::validate — Valida el documento basado en su DTD

Descripción

public bool DOMDocument::validate ( void )

Valida el documento basado en su DTD.

También se puede usar la propiedad validateOnParse de DOMDocument para realizar la validación de DTD.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Si el documento no tiene el DTD adjunto, este método devolverá FALSE.

Ejemplos

Ejemplo #1 Ejemplo de validación de DTD

<?php
$dom = new DOMDocument;
$dom->Load('book.xml');
if ($dom->validate()) {
    echo "¡Este documento es válido!\n";
}
?>

También se puede validar un fichero XML mientras se carga:

<?php
$dom = new DOMDocument;
$dom->validateOnParse = true;
$dom->Load('book.xml');
?>

Ver también

  • DOMDocument::schemaValidate() - Valida un documento basado en un esquema
  • DOMDocument::schemaValidateSource() - Valida un documento basado en un esquema
  • DOMDocument::relaxNGValidate() - Realiza una validación relaxNG del documento
  • DOMDocument::relaxNGValidateSource() - Realiza una validación relaxNG del documento

DOMDocument::schemaValidateSource
DOMDocument::xinclude
DOMDocument


Sustituye XIncludes en un objeto DOMDocument

DOMDocument::validate
DOMDocumentFragment
DOMDocument
PHP Manual

DOMDocument::xinclude

(PHP 5)

DOMDocument::xinclude — Sustituye XIncludes en un objeto DOMDocument

Descripción

public int DOMDocument::xinclude ([ int $options ] )

Este método sustituye » XIncludes en un objeto DOMDocument.

Nota:

Debido a que libxml2 resuelve automáticamente entidades, este método producirá resultados inesperados si el fichero XML incluido tiene un DTD adjunto.

Parámetros

options

Parámetros de libxml. Disponible desde PHP 5.1.0 y Libxml 2.6.7.

Valores devueltos

Devuelve el número de XIncludes del documento, -1 si falló algún proceso, o FALSE si no hubo sustituciones.

Ejemplos

Ejemplo #1 Ejemplo de DOMDocument::xinclude()

<?php

$xml = <<<EOD
<?xml version="1.0" ?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
 <title>Books of the other guy..</title>
 <para>
  <xi:include href="book.xml">
   <xi:fallback>
    <error>xinclude: book.xml not found</error>
   </xi:fallback>
  </xi:include>
 </para>
</chapter>
EOD;

$dom = new DOMDocument;

// vamos a tener una impresión buena
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;

// cargar la cadena XML definida arriba
$dom->loadXML($xml);

// sustituir xincludes
$dom->xinclude();

echo $dom->saveXML();

?>

El resultado del ejemplo sería algo similar a:

<?xml version="1.0"?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
  <title>Books of the other guy..</title>
  <para>
    <row xml:base="/home/didou/book.xml">
       <entry>The Grapes of Wrath</entry>
       <entry>John Steinbeck</entry>
       <entry>en</entry>
       <entry>0140186409</entry>
      </row>
    <row xml:base="/home/didou/book.xml">
       <entry>The Pearl</entry>
       <entry>John Steinbeck</entry>
       <entry>en</entry>
       <entry>014017737X</entry>
      </row>
    <row xml:base="/home/didou/book.xml">
       <entry>Samarcande</entry>
       <entry>Amine Maalouf</entry>
       <entry>fr</entry>
       <entry>2253051209</entry>
      </row>
  </para>
</chapter>

DOMDocument::validate
DOMDocumentFragment
DOMDocument


La clase DOMDocumentFragment

(PHP 5)

Sinopsis de la Clase

DOMDocumentFragment extends DOMNode {
/* Propiedades */
/* Métodos */
public bool appendXML ( string $data )
/* Métodos heredados */
public DOMNode DOMNode::appendChild ( DOMNode $newnode )
public string DOMNode::C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public int DOMNode::C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
public bool DOMNode::hasAttributes ( void )
public bool DOMNode::hasChildNodes ( void )
public DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
public bool DOMNode::isDefaultNamespace ( string $namespaceURI )
public bool DOMNode::isSameNode ( DOMNode $node )
public bool DOMNode::isSupported ( string $feature , string $version )
public string DOMNode::lookupNamespaceURI ( string $prefix )
public string DOMNode::lookupPrefix ( string $namespaceURI )
public void DOMNode::normalize ( void )
public DOMNode DOMNode::removeChild ( DOMNode $oldnode )
public DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Tabla de contenidos

  • DOMDocumentFragment::appendXML — Añade información XML sin formato
DOMDocument::xinclude
DOMDocumentFragment::appendXML
DOM


Añade información XML sin formato

DOMDocumentFragment
DOMDocumentType
DOMDocumentFragment
PHP Manual

DOMDocumentFragment::appendXML

(PHP 5 >= 5.1.0)

DOMDocumentFragment::appendXML — Añade información XML sin formato

Descripción

public bool DOMDocumentFragment::appendXML ( string $data )

Añade información XML sin formato a un DOMDocumentFragment.

Este método no es parte del estándar DOM. Fue creado como enfoque más sencillo para añadir un DocumentFragment de XML a un DOMDocument.

Si quiere mantener los estándares, tendrá que crear un DOMDocument temporal con una raíz cualquiera y después ir a través de los nodos hijo de la raíz de su información XML para añadirlos.

Parámetros

data

XML a añadir.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Añadir información XML a su documento

<?php
$doc = new DOMDocument();
$doc->loadXML("<root/>");
$f = $doc->createDocumentFragment();
$f->appendXML("<foo>text</foo><bar>text2</bar>");
$doc->documentElement->appendChild($f);
echo $doc->saveXML();
?>

El resultado del ejemplo sería:

<?xml version="1.0"?>
<root><foo>text</foo><bar>text2</bar></root>

DOMDocumentFragment
DOMDocumentType
DOMDocumentFragment


La clase DOMDocumentType

(PHP 4 >= 4.1.0)

Introducción

Cada DOMDocument tiene un atributo doctype cuyo valor es NULL o un objeto DOMDocumentType.

Sinopsis de la Clase

DOMDocumentType extends DOMNode {
/* Propiedades */
readonly public string $publicId ;
readonly public string $systemId ;
readonly public string $name ;
readonly public DOMNamedNodeMap $entities ;
readonly public DOMNamedNodeMap $notations ;
readonly public string $internalSubset ;
/* Métodos heredados */
public DOMNode DOMNode::appendChild ( DOMNode $newnode )
public string DOMNode::C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public int DOMNode::C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
public bool DOMNode::hasAttributes ( void )
public bool DOMNode::hasChildNodes ( void )
public DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
public bool DOMNode::isDefaultNamespace ( string $namespaceURI )
public bool DOMNode::isSameNode ( DOMNode $node )
public bool DOMNode::isSupported ( string $feature , string $version )
public string DOMNode::lookupNamespaceURI ( string $prefix )
public string DOMNode::lookupPrefix ( string $namespaceURI )
public void DOMNode::normalize ( void )
public DOMNode DOMNode::removeChild ( DOMNode $oldnode )
public DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Propiedades

publicId

El identificador público del subconjunto externo.

systemId

El identificador de sistema del subconjunto externo. Puede ser o no una URI absoluta.

name

El nombre del DTD; es decir, el nombre que siguie inmediatemante a la palabra clave DOCTYPE.

entities

Un objeto DOMNamedNodeMap que contiene las entidades generales, externas e internas, declaradas en el DTD.

notations

Un objeto DOMNamedNodeMap que contiene las notaciones declaradas en el DTD.

internalSubset

El subconjunto interno como cadena, o null si no hay ninguno. No contiene los corchetes delimitadores.

DOMDocumentFragment::appendXML
DOMElement
DOM


La clase DOMElement

(PHP 4 >= 4.1.0)

Sinopsis de la Clase

DOMElement extends DOMNode {
/* Propiedades */
readonly public bool $schemaTypeInfo ;
readonly public string $tagName ;
/* Métodos */
public __construct ( string $name [, string $value [, string $namespaceURI ]] )
public string getAttribute ( string $name )
public DOMAttr getAttributeNode ( string $name )
public DOMAttr getAttributeNodeNS ( string $namespaceURI , string $localName )
public string getAttributeNS ( string $namespaceURI , string $localName )
public DOMNodeList getElementsByTagName ( string $name )
public DOMNodeList getElementsByTagNameNS ( string $namespaceURI , string $localName )
public bool hasAttribute ( string $name )
public bool hasAttributeNS ( string $namespaceURI , string $localName )
public bool removeAttribute ( string $name )
public bool removeAttributeNode ( DOMAttr $oldnode )
public bool removeAttributeNS ( string $namespaceURI , string $localName )
public DOMAttr setAttribute ( string $name , string $value )
public DOMAttr setAttributeNode ( DOMAttr $attr )
public DOMAttr setAttributeNodeNS ( DOMAttr $attr )
public void setAttributeNS ( string $namespaceURI , string $qualifiedName , string $value )
public void setIdAttribute ( string $name , bool $isId )
public void setIdAttributeNode ( DOMAttr $attr , bool $isId )
public void setIdAttributeNS ( string $namespaceURI , string $localName , bool $isId )
/* Métodos heredados */
public DOMNode DOMNode::appendChild ( DOMNode $newnode )
public string DOMNode::C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public int DOMNode::C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
public bool DOMNode::hasAttributes ( void )
public bool DOMNode::hasChildNodes ( void )
public DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
public bool DOMNode::isDefaultNamespace ( string $namespaceURI )
public bool DOMNode::isSameNode ( DOMNode $node )
public bool DOMNode::isSupported ( string $feature , string $version )
public string DOMNode::lookupNamespaceURI ( string $prefix )
public string DOMNode::lookupPrefix ( string $namespaceURI )
public void DOMNode::normalize ( void )
public DOMNode DOMNode::removeChild ( DOMNode $oldnode )
public DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Propiedades

schemaTypeInfo

Aún no implementado, siempre devuelve NULL

tagName

El nombre del elemento

Notas

Nota:

La extensión DOM utiliza la codificación UTF-8. Use utf8_encode() y utf8_decode() para trabajar con textos con codificación ISO-8859-1 o Iconv para otras codificaciones.

Tabla de contenidos

  • DOMElement::__construct — Crea un nuevo objeto DOMElement
  • DOMElement::getAttribute — Devuelve el valor de un atributo
  • DOMElement::getAttributeNode — Devuelve el nodo de un atributo
  • DOMElement::getAttributeNodeNS — Devuelve el nodo de un atributo
  • DOMElement::getAttributeNS — Devuelve el valor de un atributo
  • DOMElement::getElementsByTagName — Obtiene los elementos por nombre de etiqueta
  • DOMElement::getElementsByTagNameNS — Obtener los elementos por la URI del espacio de nombres y el nombre local
  • DOMElement::hasAttribute — Comprueba si existe un atributo
  • DOMElement::hasAttributeNS — Comprueba si un atributo existe
  • DOMElement::removeAttribute — Elimina un atributo
  • DOMElement::removeAttributeNode — Elimina un atributo
  • DOMElement::removeAttributeNS — Elimina un atributo
  • DOMElement::setAttribute — Añade un nuevo atributo
  • DOMElement::setAttributeNode — Añade un nuevo nodo de atributo al elemento
  • DOMElement::setAttributeNodeNS — Aña de un nuevo nodo de atributo al elemento
  • DOMElement::setAttributeNS — Añade un nuevo atributo
  • DOMElement::setIdAttribute — Declara el atributo especificado por su nombre como de tipo ID
  • DOMElement::setIdAttributeNode — Declara el atributo especificado por su nodo como de tipo ID
  • DOMElement::setIdAttributeNS — Declara el atributo especificado por su nombre local y su URI del espacio de nombres como de tipo ID
DOMDocumentType
DOMElement::__construct
DOM


Crea un nuevo objeto DOMElement

DOMElement
DOMElement::getAttribute
DOMElement
PHP Manual

DOMElement::__construct

(PHP 5)

DOMElement::__construct — Crea un nuevo objeto DOMElement

Descripción

public DOMElement::__construct ( string $name [, string $value [, string $namespaceURI ]] )

Crea un nuevo objeto DOMElement. Este objeto es de sólo lectura. Puede ser añadido a un documento, pero no se pueden añadir nodos adicionales a este nodo hasta que el nodo esté asociado con un documento. Para crear un nodo modificable, use DOMDocument::createElement o DOMDocument::createElementNS.

Parámetros

name

El nombre de la etiqueta del elemento. Cuando también se pasa en namespaceURI, el nombre del elemento puede tomar un prefijo para asociarlo con la URI.

value

El valor del elemento.

namespaceURI

Una URI del espacio de nombres para crear el elemento dentro de un espacio de nombres especificado.

Ejemplos

Ejemplo #1 Crear un nuevo objeto DOMElement

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$element_ns = new DOMElement('pr:node1', 'thisvalue', 'http://xyz');
$element->appendChild($element_ns);
echo $dom->saveXML(); /* <?xml version="1.0" encoding="utf-8"?>
<root><pr:node1 xmlns:pr="http://xyz">thisvalue</pr:node1></root> */

?>

Ver también

  • DOMDocument::createElement() - Crea un nuevo nodo elemento
  • DOMDocument::createElementNS() - Crea un nuevo nodo elemento con el nombre de espacio asociado

DOMElement
DOMElement::getAttribute
DOMElement


Devuelve el valor de un atributo

DOMElement::__construct
DOMElement::getAttributeNode
DOMElement
PHP Manual

DOMElement::getAttribute

(PHP 5)

DOMElement::getAttribute — Devuelve el valor de un atributo

Descripción

public string DOMElement::getAttribute ( string $name )

Obtiene el valor del atributo de nombre name para el nodo actual.

Parámetros

name

El nombre del atributo.

Valores devueltos

El valor del atributo, o una cadena vacía si no se encuentra un atributo con el nombre dado por name.

Ver también

  • DOMElement::hasAttribute() - Comprueba si existe un atributo
  • DOMElement::setAttribute() - Añade un nuevo atributo
  • DOMElement::removeAttribute() - Elimina un atributo

DOMElement::__construct
DOMElement::getAttributeNode
DOMElement


Devuelve el nodo de un atributo

DOMElement::getAttribute
DOMElement::getAttributeNodeNS
DOMElement
PHP Manual

DOMElement::getAttributeNode

(PHP 5)

DOMElement::getAttributeNode — Devuelve el nodo de un atributo

Descripción

public DOMAttr DOMElement::getAttributeNode ( string $name )

Devuelve el nodo del atributo con nombre name para el elemento actual.

Parámetros

name

El nombre del atributo.

Valores devueltos

El nodo del atributo.

Ver también

  • DOMElement::hasAttribute() - Comprueba si existe un atributo
  • DOMElement::setAttributeNode() - Añade un nuevo nodo de atributo al elemento
  • DOMElement::removeAttributeNode() - Elimina un atributo

DOMElement::getAttribute
DOMElement::getAttributeNodeNS
DOMElement


Devuelve el nodo de un atributo

DOMElement::getAttributeNode
DOMElement::getAttributeNS
DOMElement
PHP Manual

DOMElement::getAttributeNodeNS

(PHP 5)

DOMElement::getAttributeNodeNS — Devuelve el nodo de un atributo

Descripción

public DOMAttr DOMElement::getAttributeNodeNS ( string $namespaceURI , string $localName )

Devuelve el nodo del atributo en el espacio de nombres namespaceURI con el nombre local localName para el nodo actual.

Parámetros

namespaceURI

La URI del espacio de nombres.

localName

El nombre local.

Valores devueltos

El nodo del atributo.

Ver también

  • DOMElement::hasAttributeNS() - Comprueba si un atributo existe
  • DOMElement::setAttributeNodeNS() - Aña de un nuevo nodo de atributo al elemento
  • DOMElement::removeAttributeNode() - Elimina un atributo

DOMElement::getAttributeNode
DOMElement::getAttributeNS
DOMElement


Devuelve el valor de un atributo

DOMElement::getAttributeNodeNS
DOMElement::getElementsByTagName
DOMElement
PHP Manual

DOMElement::getAttributeNS

(PHP 5)

DOMElement::getAttributeNS — Devuelve el valor de un atributo

Descripción

public string DOMElement::getAttributeNS ( string $namespaceURI , string $localName )

Obtiene el valor del atributo en el espacio de nombres namespaceURI con el nombre local localName para el nodo actual.

Parámetros

namespaceURI

La URI del espacio de nombres.

localName

El nombre local.

Valores devueltos

El valor del atributo, o una cadena vacía si no se ecuentra el atributo con los localName y namespaceURI dados.

Ver también

  • DOMElement::hasAttributeNS() - Comprueba si un atributo existe
  • DOMElement::setAttributeNS() - Añade un nuevo atributo
  • DOMElement::removeAttributeNS() - Elimina un atributo

DOMElement::getAttributeNodeNS
DOMElement::getElementsByTagName
DOMElement


Obtiene los elementos por nombre de etiqueta

DOMElement::getAttributeNS
DOMElement::getElementsByTagNameNS
DOMElement
PHP Manual

DOMElement::getElementsByTagName

(PHP 5)

DOMElement::getElementsByTagName — Obtiene los elementos por nombre de etiqueta

Descripción

public DOMNodeList DOMElement::getElementsByTagName ( string $name )

Esta función devuelve una nueva instancia de la clase DOMNodeList con todos los elementos descendientes con un nombre de etitqueta dado por name, en el orden en que fueron encontrados en un recorrido preorden de este elemento árbol.

Parámetros

name

El nombre de la etiqueta. Use * para devolver todos los elementos dentro del elemento árbol.

Valores devueltos

Esta función devuelve una nueva instancia de la clase DOMNodeList con todos los elementos coincidentes.

Ver también

  • DOMElement::getElementsByTagNameNS() - Obtener los elementos por la URI del espacio de nombres y el nombre local

DOMElement::getAttributeNS
DOMElement::getElementsByTagNameNS
DOMElement


Obtener los elementos por la URI del espacio de nombres y el nombre local

DOMElement::getElementsByTagName
DOMElement::hasAttribute
DOMElement
PHP Manual

DOMElement::getElementsByTagNameNS

(PHP 5)

DOMElement::getElementsByTagNameNS — Obtener los elementos por la URI del espacio de nombres y el nombre local

Descripción

public DOMNodeList DOMElement::getElementsByTagNameNS ( string $namespaceURI , string $localName )

Esta función trae todos los elementos descendientes con unos localName y namespaceURI dados.

Parámetros

namespaceURI

La URI del espacio de nombres.

localName

EL nombre local. Use * para devolver todos los elementos dentro del elemento árbol.

Valores devueltos

Esta función devuelve una nueva instancia de la clase DOMNodeList con todos los elementos coincidentes en el orden en que fueron encontrados en un recorriendo en preorden este elemento árbol.

Ver también

  • DOMElement::getElementsByTagName() - Obtiene los elementos por nombre de etiqueta

DOMElement::getElementsByTagName
DOMElement::hasAttribute
DOMElement


Comprueba si existe un atributo

DOMElement::getElementsByTagNameNS
DOMElement::hasAttributeNS
DOMElement
PHP Manual

DOMElement::hasAttribute

(PHP 5)

DOMElement::hasAttribute — Comprueba si existe un atributo

Descripción

public bool DOMElement::hasAttribute ( string $name )

Indica si un atributo llamado name existe como miembro del elemento.

Parámetros

name

El nombre del atributo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • DOMElement::hasAttributeNS() - Comprueba si un atributo existe
  • DOMElement::getAttribute() - Devuelve el valor de un atributo
  • DOMElement::setAttribute() - Añade un nuevo atributo
  • DOMElement::removeAttribute() - Elimina un atributo

DOMElement::getElementsByTagNameNS
DOMElement::hasAttributeNS
DOMElement


Comprueba si un atributo existe

DOMElement::hasAttribute
DOMElement::removeAttribute
DOMElement
PHP Manual

DOMElement::hasAttributeNS

(PHP 5)

DOMElement::hasAttributeNS — Comprueba si un atributo existe

Descripción

public bool DOMElement::hasAttributeNS ( string $namespaceURI , string $localName )

Indica si un atributo en el espacio de nombres namespaceURI llamado localName existe como miembro del elemento.

Parámetros

namespaceURI

La URI del espacio de nombres.

localName

El nombre local.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • DOMElement::hasAttribute() - Comprueba si existe un atributo
  • DOMElement::getAttributeNS() - Devuelve el valor de un atributo
  • DOMElement::setAttributeNS() - Añade un nuevo atributo
  • DOMElement::removeAttributeNS() - Elimina un atributo

DOMElement::hasAttribute
DOMElement::removeAttribute
DOMElement


Elimina un atributo

DOMElement::hasAttributeNS
DOMElement::removeAttributeNode
DOMElement
PHP Manual

DOMElement::removeAttribute

(PHP 5)

DOMElement::removeAttribute — Elimina un atributo

Descripción

public bool DOMElement::removeAttribute ( string $name )

Elimina el atributo llamado name del elemento.

Parámetros

name

El nombre del atributo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

DOM_NO_MODIFICATION_ALLOWED_ERR

Lanzado si el nodo es de sólo lectura.

Ver también

  • DOMElement::hasAttribute() - Comprueba si existe un atributo
  • DOMElement::getAttribute() - Devuelve el valor de un atributo
  • DOMElement::setAttribute() - Añade un nuevo atributo

DOMElement::hasAttributeNS
DOMElement::removeAttributeNode
DOMElement


Elimina un atributo

DOMElement::removeAttribute
DOMElement::removeAttributeNS
DOMElement
PHP Manual

DOMElement::removeAttributeNode

(PHP 5)

DOMElement::removeAttributeNode — Elimina un atributo

Descripción

public bool DOMElement::removeAttributeNode ( DOMAttr $oldnode )

Elimina el atributo oldnode del elemento.

Parámetros

oldnode

El nodo atributo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

DOM_NO_MODIFICATION_ALLOWED_ERR

Lanzado si el nodo es de sólo lectura.

DOM_NOT_FOUND_ERROR

Lanzado si oldnode no es un atributo del elemento.

Ver también

  • DOMElement::hasAttribute() - Comprueba si existe un atributo
  • DOMElement::getAttributeNode() - Devuelve el nodo de un atributo
  • DOMElement::setAttributeNode() - Añade un nuevo nodo de atributo al elemento

DOMElement::removeAttribute
DOMElement::removeAttributeNS
DOMElement


Elimina un atributo

DOMElement::removeAttributeNode
DOMElement::setAttribute
DOMElement
PHP Manual

DOMElement::removeAttributeNS

(PHP 5)

DOMElement::removeAttributeNS — Elimina un atributo

Descripción

public bool DOMElement::removeAttributeNS ( string $namespaceURI , string $localName )

Elimina el atributo cuyo espacio de nombres es namespaceURI llamado localName del elemento.

Parámetros

namespaceURI

La URI del espacio de nombres.

localName

El nombre local.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

DOM_NO_MODIFICATION_ALLOWED_ERR

Lanzado si el nodo es de sólo lectura.

Ver también

  • DOMElement::hasAttributeNS() - Comprueba si un atributo existe
  • DOMElement::getAttributeNS() - Devuelve el valor de un atributo
  • DOMElement::setAttributeNS() - Añade un nuevo atributo

DOMElement::removeAttributeNode
DOMElement::setAttribute
DOMElement


Añade un nuevo atributo

DOMElement::removeAttributeNS
DOMElement::setAttributeNode
DOMElement
PHP Manual

DOMElement::setAttribute

(PHP 5)

DOMElement::setAttribute — Añade un nuevo atributo

Descripción

public DOMAttr DOMElement::setAttribute ( string $name , string $value )

Establece un atributo con nombre name al valor dado. Si el atributo no existe, se creará.

Parámetros

name

El nombre del atributo.

value

El valor del atributo.

Valores devueltos

El nuevo objeto DOMAttr o FALSE si ocurrió un error.

Errores/Excepciones

DOM_NO_MODIFICATION_ALLOWED_ERR

Lanzado si el nodo es de sólo lectura.

Ejemplos

Ejemplo #1 Establecer un atributo

<?php
$doc = new DOMDocument("1.0");
$node = $doc->createElement("para");
$newnode = $doc->appendChild($node);
$newnode->setAttribute("align", "left");
?>

Ver también

  • DOMElement::hasAttribute() - Comprueba si existe un atributo
  • DOMElement::getAttribute() - Devuelve el valor de un atributo
  • DOMElement::removeAttribute() - Elimina un atributo

DOMElement::removeAttributeNS
DOMElement::setAttributeNode
DOMElement


Añade un nuevo nodo de atributo al elemento

DOMElement::setAttribute
DOMElement::setAttributeNodeNS
DOMElement
PHP Manual

DOMElement::setAttributeNode

(PHP 5)

DOMElement::setAttributeNode — Añade un nuevo nodo de atributo al elemento

Descripción

public DOMAttr DOMElement::setAttributeNode ( DOMAttr $attr )

Añade el nuevo nodo de atributo dado por attr al elemento.

Parámetros

attr

El nodo de atributo.

Valores devueltos

Devuelve el nodo antiguo si el atributo ha sido reemplazado o NULL.

Errores/Excepciones

DOM_NO_MODIFICATION_ALLOWED_ERR

Lanzado si el nodo es de sólo lectura.

Ver también

  • DOMElement::hasAttribute() - Comprueba si existe un atributo
  • DOMElement::getAttributeNode() - Devuelve el nodo de un atributo
  • DOMElement::removeAttributeNode() - Elimina un atributo

DOMElement::setAttribute
DOMElement::setAttributeNodeNS
DOMElement


Aña de un nuevo nodo de atributo al elemento

DOMElement::setAttributeNode
DOMElement::setAttributeNS
DOMElement
PHP Manual

DOMElement::setAttributeNodeNS

(PHP 5)

DOMElement::setAttributeNodeNS — Aña de un nuevo nodo de atributo al elemento

Descripción

public DOMAttr DOMElement::setAttributeNodeNS ( DOMAttr $attr )

Añade el nuevo nodo atributo attr al elemento.

Parámetros

attr

El nodo atributo.

Valores devueltos

Devuelve el antiguo nodo si el atributo ya sido reemplazado.

Errores/Excepciones

DOM_NO_MODIFICATION_ALLOWED_ERR

Lanzado si el nodo es de sólo lectura.

Ver también

  • DOMElement::hasAttributeNS() - Comprueba si un atributo existe
  • DOMElement::getAttributeNodeNS() - Devuelve el nodo de un atributo
  • DOMElement::removeAttributeNode() - Elimina un atributo

DOMElement::setAttributeNode
DOMElement::setAttributeNS
DOMElement


Añade un nuevo atributo

DOMElement::setAttributeNodeNS
DOMElement::setIdAttribute
DOMElement
PHP Manual

DOMElement::setAttributeNS

(PHP 5)

DOMElement::setAttributeNS — Añade un nuevo atributo

Descripción

public void DOMElement::setAttributeNS ( string $namespaceURI , string $qualifiedName , string $value )

Establece un atributo con el espacio de nombres namespaceURI y el nombre name al valor dado. Si el atributo no existe, se creará.

Parámetros

namespaceURI

La URI del espacio de nombres.

qualifiedName

El nombre cualificado del atributo, como prefijo:nombre_etiqueta.

value

El valor del atributo.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

DOM_NO_MODIFICATION_ALLOWED_ERR

Lanzado si el nodo es de sólo lectura.

DOM_NAMESPACE_ERR

Lanzado si qualifiedName es un nombre cualificado malformado, o si qualifiedName tienen un prefijo y namespaceURI es NULL.

Ver también

  • DOMElement::hasAttributeNS() - Comprueba si un atributo existe
  • DOMElement::getAttributeNS() - Devuelve el valor de un atributo
  • DOMElement::removeAttributeNS() - Elimina un atributo

DOMElement::setAttributeNodeNS
DOMElement::setIdAttribute
DOMElement


Declara el atributo especificado por su nombre como de tipo ID

DOMElement::setAttributeNS
DOMElement::setIdAttributeNode
DOMElement
PHP Manual

DOMElement::setIdAttribute

(PHP 5)

DOMElement::setIdAttribute — Declara el atributo especificado por su nombre como de tipo ID

Descripción

public void DOMElement::setIdAttribute ( string $name , bool $isId )

Declara el atributo name como de tipo ID.

Parámetros

name

El nombre del atributo.

isId

Establecer a TRUE si se quiere que name sea de tipo ID, FALSE si no.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

DOM_NO_MODIFICATION_ALLOWED_ERR

Lanzado si el nodo es de sólo lectura.

DOM_NOT_FOUND

Lanzado si name no es un atributo de este elemento.

Ver también

  • DOMDocument::getElementById() - Busca un elemento con cierto id
  • DOMElement::setIdAttributeNode() - Declara el atributo especificado por su nodo como de tipo ID
  • DOMElement::setIdAttributeNS() - Declara el atributo especificado por su nombre local y su URI del espacio de nombres como de tipo ID

DOMElement::setAttributeNS
DOMElement::setIdAttributeNode
DOMElement


Declara el atributo especificado por su nodo como de tipo ID

DOMElement::setIdAttribute
DOMElement::setIdAttributeNS
DOMElement
PHP Manual

DOMElement::setIdAttributeNode

(PHP 5)

DOMElement::setIdAttributeNode — Declara el atributo especificado por su nodo como de tipo ID

Descripción

public void DOMElement::setIdAttributeNode ( DOMAttr $attr , bool $isId )

Declara el atributo especificado por attr como de tipo ID.

Parámetros

attr

El nodo atributo.

isId

Establecer a TRUE si se quiere que name sea de tipo ID, FALSE si no.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

DOM_NO_MODIFICATION_ALLOWED_ERR

Lanzado si el nodo es de sólo lectura.

DOM_NOT_FOUND

Lanzado si name no es un atributo de este elemento.

Ver también

  • DOMDocument::getElementById() - Busca un elemento con cierto id
  • DOMElement::setIdAttribute() - Declara el atributo especificado por su nombre como de tipo ID
  • DOMElement::setIdAttributeNS() - Declara el atributo especificado por su nombre local y su URI del espacio de nombres como de tipo ID

DOMElement::setIdAttribute
DOMElement::setIdAttributeNS
DOMElement


Declara el atributo especificado por su nombre local y su URI del espacio de nombres como de tipo ID

DOMElement::setIdAttributeNode
DOMEntity
DOMElement
PHP Manual

DOMElement::setIdAttributeNS

(PHP 5)

DOMElement::setIdAttributeNS — Declara el atributo especificado por su nombre local y su URI del espacio de nombres como de tipo ID

Descripción

public void DOMElement::setIdAttributeNS ( string $namespaceURI , string $localName , bool $isId )

Declara el atributo especificado por localName y namespaceURI como de tipo ID.

Parámetros

namespaceURI

La URI del espacio de nombres del atributo.

localName

El nombre local del atributo, como prefijo:nombre_etiqueta.

isId

Establecer a TRUE si se quiere que name sea de tipo ID, FALSE si no.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

DOM_NO_MODIFICATION_ALLOWED_ERR

Lanzado si el nodo es de sólo lectura.

DOM_NOT_FOUND

Lanzado si name no es un atributo de este elemento.

Ver también

  • DOMDocument::getElementById() - Busca un elemento con cierto id
  • DOMElement::setIdAttribute() - Declara el atributo especificado por su nombre como de tipo ID
  • DOMElement::setIdAttributeNode() - Declara el atributo especificado por su nodo como de tipo ID

DOMElement::setIdAttributeNode
DOMEntity
DOMElement


La clase DOMEntity

(PHP 5)

Introducción

Esta interfaz representa una entidad conocida, analizada o sin analizar, de un documento XML.

Sinopsis de la Clase

DOMEntity extends DOMNode {
/* Propiedades */
readonly public string $publicId ;
readonly public string $systemId ;
readonly public string $notationName ;
public string $actualEncoding ;
readonly public string $encoding ;
readonly public string $version ;
/* Métodos heredados */
public DOMNode DOMNode::appendChild ( DOMNode $newnode )
public string DOMNode::C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public int DOMNode::C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
public bool DOMNode::hasAttributes ( void )
public bool DOMNode::hasChildNodes ( void )
public DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
public bool DOMNode::isDefaultNamespace ( string $namespaceURI )
public bool DOMNode::isSameNode ( DOMNode $node )
public bool DOMNode::isSupported ( string $feature , string $version )
public string DOMNode::lookupNamespaceURI ( string $prefix )
public string DOMNode::lookupPrefix ( string $namespaceURI )
public void DOMNode::normalize ( void )
public DOMNode DOMNode::removeChild ( DOMNode $oldnode )
public DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Propiedades

publicId

El identificador público asociado con la entidad si se especifica, y si no NULL.

systemId

El identificador de sistema asociado con la entidad si se especifica, y si no NULL. Puede ser o no una URI absoluta.

notationName

Para entidades no analizadas, el nombre de la notación de la entidad. Para entidades analizadas es NULL.

actualEncoding

Un atributo que especifica la codificación usada para esta entidad en el momento de analizar, cuando es una entidad analizada externa. Es NULL si es una entidad de un subconjunto interno o si es desconocida.

encoding

Un atributo que especifica, como parte de la declaración de texto, la codificación de esta entirdad, cuando es una entidad analizada externa. Si no, es NULL.

version

Un atributo que especifica, como parte de la declaración de texto, el número de versión de esta entidad, cuando es una entidad analizada externa. Si no, es NULL.

DOMElement::setIdAttributeNS
DOMEntityReference
DOM


La clase DOMEntityReference

(PHP 5)

Sinopsis de la Clase

DOMEntityReference extends DOMNode {
/* Propiedades */
/* Métodos */
public __construct ( string $name )
/* Métodos heredados */
public DOMNode DOMNode::appendChild ( DOMNode $newnode )
public string DOMNode::C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public int DOMNode::C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
public bool DOMNode::hasAttributes ( void )
public bool DOMNode::hasChildNodes ( void )
public DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
public bool DOMNode::isDefaultNamespace ( string $namespaceURI )
public bool DOMNode::isSameNode ( DOMNode $node )
public bool DOMNode::isSupported ( string $feature , string $version )
public string DOMNode::lookupNamespaceURI ( string $prefix )
public string DOMNode::lookupPrefix ( string $namespaceURI )
public void DOMNode::normalize ( void )
public DOMNode DOMNode::removeChild ( DOMNode $oldnode )
public DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Tabla de contenidos

  • DOMEntityReference::__construct — Crea un nuevo objeto DOMEntityReference
DOMEntity
DOMEntityReference::__construct
DOM


Crea un nuevo objeto DOMEntityReference

DOMEntityReference
DOMException
DOMEntityReference
PHP Manual

DOMEntityReference::__construct

(PHP 5)

DOMEntityReference::__construct — Crea un nuevo objeto DOMEntityReference

Descripción

public DOMEntityReference::__construct ( string $name )

Crea un nuevo objeto DOMEntityReference.

Parámetros

name

El nombre de la referencia de entidad.

Ejemplos

Ejemplo #1 Crear un nuevo objeto DOMEntityReference

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$elemento = $dom->appendChild(new DOMElement('root'));
$entidad = $elemento->appendChild(new DOMEntityReference('nbsp'));
echo $dom->saveXML(); /* <?xml version="1.0" encoding="utf-8"?><root></root> */

?>

Ver también

  • DOMDocument::createEntityReference() - Create new entity reference node

DOMEntityReference
DOMException
DOMEntityReference


La clase DOMException

(PHP 5)

Introducción

Las operaciones DOM lanzan excepciones bajo circunstancias particulares, esto es, cuando es imposible de realizar una operación por razones lógicas.

Véase también Excepciones.

Sinopsis de la Clase

DOMException extends Exception {
/* Propiedades */
readonly public int $code ;
/* Métodos heredados */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Propiedades

code

Un integer que indica el tipo de error generado

DOMEntityReference::__construct
DOMImplementation
DOM


La clase DOMImplementation

(PHP 5)

Introducción

La interfaz DOMImplementation proporciona varios métodos para realizar operaciones que son independientes de cualquier instancia en particular del modelo de objetos del documento.

Sinopsis de la Clase

DOMImplementation {
/* Propiedades */
/* Métodos */
__construct ( void )
public DOMDocument createDocument ([ string $namespaceURI = NULL [, string $qualifiedName = NULL [, DOMDocumentType $doctype = NULL ]]] )
public DOMDocumentType createDocumentType ([ string $qualifiedName = NULL [, string $publicId = NULL [, string $systemId = NULL ]]] )
public bool hasFeature ( string $feature , string $version )
}

Tabla de contenidos

  • DOMImplementation::__construct — Crea un nuevo objeto DOMImplementation
  • DOMImplementation::createDocument — Crea un objeto DOMDocument del tipo especificado con su elemento documento
  • DOMImplementation::createDocumentType — Crear un objeto DOMDocumentType vacío
  • DOMImplementation::hasFeature — Comprueba si la implementación de DOM implementa una característica específica
DOMException
DOMImplementation::__construct
DOM


Crea un nuevo objeto DOMImplementation

DOMImplementation
DOMImplementation::createDocument
DOMImplementation
PHP Manual

DOMImplementation::__construct

(PHP 5)

DOMImplementation::__construct — Crea un nuevo objeto DOMImplementation

Descripción

DOMImplementation::__construct ( void )

Crea un nuevo objeto DOMImplementation.

DOMImplementation
DOMImplementation::createDocument
DOMImplementation


Crea un objeto DOMDocument del tipo especificado con su elemento documento

DOMImplementation::__construct
DOMImplementation::createDocumentType
DOMImplementation
PHP Manual

DOMImplementation::createDocument

(PHP 5)

DOMImplementation::createDocument — Crea un objeto DOMDocument del tipo especificado con su elemento documento

Descripción

public DOMDocument DOMImplementation::createDocument ([ string $namespaceURI = NULL [, string $qualifiedName = NULL [, DOMDocumentType $doctype = NULL ]]] )

Crea un objeto DOMDocument del tipo especificado con su elemento documento.

Parámetros

namespaceURI

La URI del espacio de nombres del elemento documento a crear.

qualifiedName

El nombre cualificado del elemento documento a crear.

doctype

El tipo de documento a crear o NULL.

Valores devueltos

Un nuevo objeto DOMDocument. Si namespaceURI, qualifiedName, y doctype son null, el DOMDocument devuelto está vacío sin elemento documento

Errores/Excepciones

DOM_WRONG_DOCUMENT_ERR

Lanzado si doctype ya ha sido usado con un documento diferente o fue creado desde una implementación diferente.

DOM_NAMESPACE_ERR

Lanzado si hay un error con el espacio de nombres, como determina namespaceURI y qualifiedName.

Este método puede ser llamado de forma estática, pero lanzará un error E_STRICT.

Ver también

  • DOMDocument::__construct() - Crea un nuevo objeto DOMDocument
  • DOMImplementation::createDocumentType() - Crear un objeto DOMDocumentType vacío

DOMImplementation::__construct
DOMImplementation::createDocumentType
DOMImplementation


Crear un objeto DOMDocumentType vacío

DOMImplementation::createDocument
DOMImplementation::hasFeature
DOMImplementation
PHP Manual

DOMImplementation::createDocumentType

(PHP 5)

DOMImplementation::createDocumentType — Crear un objeto DOMDocumentType vacío

Descripción

public DOMDocumentType DOMImplementation::createDocumentType ([ string $qualifiedName = NULL [, string $publicId = NULL [, string $systemId = NULL ]]] )

Crea un objeto DOMDocumentType vacío. Las declaraciones de entidades y las notaciones no están disponibles. Las expansiones de referencias de entidades y la adición de atributos por defecto no ocurren.

Parámetros

qualifiedName

El nombre cualificado del tipo de documente a crear.

publicId

El identificador público del subconjunto externo.

systemId

El identificador de sistema del subconjunto externo.

Valores devueltos

Un nuevo nodo DOMDocumentType con su ownerDocument establecido a NULL.

Errores/Excepciones

DOM_NAMESPACE_ERR

Se produce si hay un error con el espacio de nombres, como determina qualifiedName.

Este método puede ser llamado de forma estática, pero lanzará un error E_STRICT.

Ejemplos

Ejemplo #1 Crear un documento con un DTD adjunto

<?php

// Crear una instancia de la clase DOMImplementation
$imp = new DOMImplementation;

// Crear una instancia de DOMDocumentType
$dtd = $imp->createDocumentType('graph', '', 'graph.dtd');

// Crear una instancia de DOMDocument
$dom = $imp->createDocument("", "", $dtd);

// Establecer otras propiedades
$dom->encoding = 'UTF-8';
$dom->standalone = false;

// Crear un elemento vacío
$element = $dom->createElement('graph');

// Añadir el elemento
$dom->appendChild($element);

// Retrieve and print the document
echo $dom->saveXML();

?>

El resultado del ejemplo sería:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE graph SYSTEM "graph.dtd">
<graph/>

Ver también

  • DOMImplementation::createDocument() - Crea un objeto DOMDocument del tipo especificado con su elemento documento

DOMImplementation::createDocument
DOMImplementation::hasFeature
DOMImplementation


Comprueba si la implementación de DOM implementa una característica específica

DOMImplementation::createDocumentType
DOMNamedNodeMap
DOMImplementation
PHP Manual

DOMImplementation::hasFeature

(PHP 5)

DOMImplementation::hasFeature — Comprueba si la implementación de DOM implementa una característica específica

Descripción

public bool DOMImplementation::hasFeature ( string $feature , string $version )

Comprueba si la implementación de DOM implementa una característica específica dada por feature.

Se puede encontrar una lista de todas las características en la sección » Conformance de la especificación DOM.

Parámetros

feature

La característica a comprobar.

version

El número de versión de feature a comprobar. En el nivel 2 puede ser 2.0 o 1.0.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Este método puede ser llamado de forma estática, pero lanzará un error E_STRICT.

Ejemplos

Ejemplo #1 Comprobar su Implementación DOM

<?php

$features = array(
  'Core'           => 'Core module',
  'XML'            => 'XML module',
  'HTML'           => 'HTML module',
  'Views'          => 'Views module',
  'Stylesheets'    => 'Style Sheets module',
  'CSS'            => 'CSS module',
  'CSS2'           => 'CSS2 module',
  'Events'         => 'Events module',
  'UIEvents'       => 'User interface Events module',
  'MouseEvents'    => 'Mouse Events module',
  'MutationEvents' => 'Mutation Events module',
  'HTMLEvents'     => 'HTML Events module',
  'Range'          => 'Range module',
  'Traversal'      => 'Traversal module'
);

foreach ($features as $clave => $nombre) {
  if (DOMImplementation::hasFeature($clave, '2.0')) {
    echo "Tiene la característica $nombre\n";
  } else {
    echo "Falta la característica $nombre\n";
  }
}

?>

Ver también

  • DOMNode::isSupported() - Comprueba si una característica está soportada para la versión especificada

DOMImplementation::createDocumentType
DOMNamedNodeMap
DOMImplementation


La clase DOMNamedNodeMap

(PHP 5)

Sinopsis de la Clase

DOMNamedNodeMap implements Traversable {
/* Propiedades */
readonly public int $length ;
/* Métodos */
DOMNode getNamedItem ( string $name )
DOMNode getNamedItemNS ( string $namespaceURI , string $localName )
DOMNode item ( int $index )
}

Propiedades

length

El número de nodos del mapa. El rango de los índice del nodo hijo válido es de 0 a length - 1 inclusive.

Tabla de contenidos

  • DOMNamedNodeMap::getNamedItem — Recupera un nodo especificado por su nombre
  • DOMNamedNodeMap::getNamedItemNS — Recupera un nodo especificado por el nombre local y la URI del espacio de nombres
  • DOMNamedNodeMap::item — Recupera un nodo especificado por su índice
DOMImplementation::hasFeature
DOMNamedNodeMap::getNamedItem
DOM


Recupera un nodo especificado por su nombre

DOMNamedNodeMap
DOMNamedNodeMap::getNamedItemNS
DOMNamedNodeMap
PHP Manual

DOMNamedNodeMap::getNamedItem

(PHP 5)

DOMNamedNodeMap::getNamedItem — Recupera un nodo especificado por su nombre

Descripción

DOMNode DOMNamedNodeMap::getNamedItem ( string $name )

Recupera un nodo especificado por su nodeName.

Parámetros

name

El nodeName del nodo a recuperar.

Valores devueltos

Un nodo (de cualquier tipo) con el nodeName especificado, o NULL si no se encuentra ningún nodo.

Ver también

  • DOMNamedNodeMap::getNamedItemNS() - Recupera un nodo especificado por el nombre local y la URI del espacio de nombres

DOMNamedNodeMap
DOMNamedNodeMap::getNamedItemNS
DOMNamedNodeMap


Recupera un nodo especificado por el nombre local y la URI del espacio de nombres

DOMNamedNodeMap::getNamedItem
DOMNamedNodeMap::item
DOMNamedNodeMap
PHP Manual

DOMNamedNodeMap::getNamedItemNS

(PHP 5)

DOMNamedNodeMap::getNamedItemNS — Recupera un nodo especificado por el nombre local y la URI del espacio de nombres

Descripción

DOMNode DOMNamedNodeMap::getNamedItemNS ( string $namespaceURI , string $localName )

Recupera un nodo especificado por localName y namespaceURI.

Parámetros

namespaceURI

La URI del espacio de nombres del nodo a recuperar.

localName

El nombre local del nodo a recuperar.

Valores devueltos

Un nodo (de cualquier tipo) con el nombre local y la URI del espacio de nombres especificados, o NULL si no se encuentra ningún nodo.

Ver también

  • DOMNamedNodeMap::getNamedItem() - Recupera un nodo especificado por su nombre

DOMNamedNodeMap::getNamedItem
DOMNamedNodeMap::item
DOMNamedNodeMap


Recupera un nodo especificado por su índice

DOMNamedNodeMap::getNamedItemNS
DOMNode
DOMNamedNodeMap
PHP Manual

DOMNamedNodeMap::item

(PHP 5)

DOMNamedNodeMap::item — Recupera un nodo especificado por su índice

Descripción

DOMNode DOMNamedNodeMap::item ( int $index )

Recupera un nodo especificado por index dentro del objeto DOMNamedNodeMap.

Parámetros

index

Índice dentro de este mapa.

Valores devueltos

El nodo en la posición marcada por index en el mapa, o NULL si no es un índice válido (mayor o igual que el número de nodos de este mapa).

DOMNamedNodeMap::getNamedItemNS
DOMNode
DOMNamedNodeMap


La clase DOMNode

(PHP 4 >= 4.1.0)

Sinopsis de la Clase

DOMNode {
/* Propiedades */
public readonly string $nodeName ;
public string $nodeValue ;
public readonly int $nodeType ;
public readonly DOMNode $parentNode ;
public readonly DOMNodeList $childNodes ;
public readonly DOMNode $firstChild ;
public readonly DOMNode $lastChild ;
public readonly DOMNode $previousSibling ;
public readonly DOMNode $nextSibling ;
public readonly DOMNamedNodeMap $attributes ;
public readonly DOMDocument $ownerDocument ;
public readonly string $namespaceURI ;
public string $prefix ;
public readonly string $localName ;
public readonly string $baseURI ;
public readonly string $textContent ;
/* Métodos */
public DOMNode appendChild ( DOMNode $newnode )
public string C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public int C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public DOMNode cloneNode ([ bool $deep ] )
public int getLineNo ( void )
public string getNodePath ( void )
public bool hasAttributes ( void )
public bool hasChildNodes ( void )
public DOMNode insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
public bool isDefaultNamespace ( string $namespaceURI )
public bool isSameNode ( DOMNode $node )
public bool isSupported ( string $feature , string $version )
public string lookupNamespaceURI ( string $prefix )
public string lookupPrefix ( string $namespaceURI )
public void normalize ( void )
public DOMNode removeChild ( DOMNode $oldnode )
public DOMNode replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Propiedades

nodeName

Devuelve el nombre más exacto del tipo de nodo actual

nodeValue

El valor de este nodo, dependiendo de su tipo

nodeType

Obtiene el tipo del nodo. Una de las constantes XML_xxx_NODE predefinidas

parentNode

El padre de este nodo

childNodes

Un objeto DOMNodeList que contiene todos los hijos de este nodo. Si no existieran hijos, es un objeto DOMNodeList vacío.

firstChild

El primer hijo de este nodo. Si no existiera tal nodo devuelve NULL.

lastChild

El último hijo de este nodo. Si no existiera tal nodo devuelve NULL.

previousSibling

El nodo que precede inmediatamente a este ndo. Si no existiera tal nodo devuelve NULL.

nextSibling

El nodo siguiente inmediato a este nodo. Si no existiera tal nodo devuelve NULL.

attributes

Un objeto DOMNamedNodeMap que contiene los atributos de este nodo (si es un objeto DOMElement), o de lo contrario NULL.

ownerDocument

El objeto DOMDocument asociado con este nodo.

namespaceURI

El URI del espacio de nombres de este nodo, o NULL si no está especificado.

prefix

El prefijo del espacio de nombres de este nodo, o NULL si no está especificado.

localName

Devuelve la parte local del nombre cualificado de este nodo.

baseURI

El URI base absoluto de este nodo o NULL si la implementación no fue capaz de obtener un URI absoluto.

textContent

Este atributo devuelve el contenido de texto de este nodo y sus descendientes.

Notas

Nota:

La extensión DOM utiliza la codificación UTF-8. Use utf8_encode() y utf8_decode() para trabajar con textos con codificación ISO-8859-1 o Iconv para otras codificaciones.

Ver también

  • » Especificaión de Nodo del W3C

Tabla de contenidos

  • DOMNode::appendChild — Añade un nuevo hijo al final de los hijos
  • DOMNode::C14N — Canonizar nodos a una cadena
  • DOMNode::C14NFile — Canonizar nodos a un fichero
  • DOMNode::cloneNode — Clona un nodo
  • DOMNode::getLineNo — Obtener el número de línea de un nodo
  • DOMNode::getNodePath — Obtener un XPath de un nodo
  • DOMNode::hasAttributes — Comprueba si un nodo tiene atributos
  • DOMNode::hasChildNodes — Comprueba si el nodo tiene hijos
  • DOMNode::insertBefore — Añade un nuevo hijo antes del nodo de referencia
  • DOMNode::isDefaultNamespace — Comprueba si la URI del espacio de nombres especificada es el espacio de nombres predeterminado
  • DOMNode::isSameNode — Indica si dos nodos son el mismo nodo
  • DOMNode::isSupported — Comprueba si una característica está soportada para la versión especificada
  • DOMNode::lookupNamespaceURI — Obtiene la URI del espacio de nombres del nodo basado en el prefijo
  • DOMNode::lookupPrefix — Obtiene el prefijo del espacio de nombres del nodo basándoes en la URI del espacio de nombres
  • DOMNode::normalize — Normaliza el nodo
  • DOMNode::removeChild — Elimina un hijo de la lista de hijos.
  • DOMNode::replaceChild — Reemplaza un hijo
DOMNamedNodeMap::item
DOMNode::appendChild
DOM


Añade un nuevo hijo al final de los hijos

DOMNode
DOMNode::C14N
DOMNode
PHP Manual

DOMNode::appendChild

(PHP 5)

DOMNode::appendChild — Añade un nuevo hijo al final de los hijos

Descripción

public DOMNode DOMNode::appendChild ( DOMNode $newnode )

Esta función agrega un hijo a una lista existente de hijos o crea una nueva lista de hijos. El hijo se puede crear con, p.ej., DOMDocument::createElement(), DOMDocument::createTextNode() etc. o simplemente usando cualquier otro nodo.

Parámetros

newnode

El hijo añadido.

Valores devueltos

El nodo añadido.

Errores/Excepciones

DOM_NO_MODIFICATION_ALLOWED_ERR

Lanzado si este nodo es de sólo lectura o si el padre previo del nodo a ser insertado es de sólo lectura.

DOM_HIERARCHY_REQUEST_ERR

Lanzado si este nodo es de un tipo de no permite hijos del tipo del nodo newnode, o si el nodo a añadir es uno de los progenitores del nodo o si es el nodo en sí.

DOM_WRONG_DOCUMENT_ERR

Lanzado si newnode fue creado desde un documento diferente del que creó este nodo.

Ejemplos

El siguiente ejemplo añadirá un nuevo nodo elemento a un nuevo documento.

Ejemplo #1 Añadiendo un hijo

<?php

$doc = new DOMDocument;

$nodo = $doc->createElement("para");
$nuevo_nodo = $doc->appendChild($nodo);

echo $doc->saveXML();
?>

Ver también

  • DOMNode::insertBefore() - Añade un nuevo hijo antes del nodo de referencia
  • DOMNode::removeChild() - Elimina un hijo de la lista de hijos.
  • DOMNode::replaceChild() - Reemplaza un hijo

DOMNode
DOMNode::C14N
DOMNode


Canonizar nodos a una cadena

DOMNode::appendChild
DOMNode::C14NFile
DOMNode
PHP Manual

DOMNode::C14N

(PHP 5 >= 5.2.0)

DOMNode::C14N — Canonizar nodos a una cadena

Descripción

public string DOMNode::C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )

Canoniza nodos a una cadena

Parámetros

exclusive

Habilita el análisis exclusivo de los nodos que coincidan únicamente con el xpath o los prefijos de nombres de espacio proporcionados.

with_comments

Conservar los comentarios en la salida.

xpath

Un array de xpaths por los que filtrar los nodos.

ns_prefixes

Un array de prefijos de nombres de espacio por los que filtrar los nodos.

Valores devueltos

Devuelve los nodos canonizados como cadenas o FALSE en caso de error

Ver también

  • DOMNode::C14NFile() - Canonizar nodos a un fichero

DOMNode::appendChild
DOMNode::C14NFile
DOMNode


Canonizar nodos a un fichero

DOMNode::C14N
DOMNode::cloneNode
DOMNode
PHP Manual

DOMNode::C14NFile

(PHP 5 >= 5.2.0)

DOMNode::C14NFile — Canonizar nodos a un fichero

Descripción

public int DOMNode::C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )

Canoniza nodos a un fichero

Parámetros

uri

La ruta en la que escribir la salida.

exclusive

Habilita el análisis exclusivo de los nodos que coincidan únicamente con el xpath o los prefijos de nombres de espacio proporcionados.

with_comments

Conservar los comentarios en la salida.

xpath

Un array de xpaths por los que filtrar los nodos.

ns_prefixes

Un array de prefijos de nombres de espacio por los que filtrar los nodos.

Valores devueltos

El número de bytes escritos o FALSE en caso de error

Ver también

  • DOMNode::C14N() - Canonizar nodos a una cadena

DOMNode::C14N
DOMNode::cloneNode
DOMNode


Clona un nodo

DOMNode::C14NFile
DOMNode::getLineNo
DOMNode
PHP Manual

DOMNode::cloneNode

(PHP 5)

DOMNode::cloneNode — Clona un nodo

Descripción

public DOMNode DOMNode::cloneNode ([ bool $deep ] )

Crea una copia del nodo.

Parámetros

deep

Indica si copiar todos los nodos descendientes. Este parámetro es FALSE de manera predeterminada.

Valores devueltos

El nodo clonado.

DOMNode::C14NFile
DOMNode::getLineNo
DOMNode


Obtener el número de línea de un nodo

DOMNode::cloneNode
DOMNode::getNodePath
DOMNode
PHP Manual

DOMNode::getLineNo

(PHP 5 >= 5.3.0)

DOMNode::getLineNo — Obtener el número de línea de un nodo

Descripción

public int DOMNode::getLineNo ( void )

Obtiene el número de línea donde está definido el nodo.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Siempre devuelve el número de línea donde está definido el nodo.

Ejemplos

Ejemplo #1 Ejemplo de DOMNode::getLineNo()

<?php
// XML dump for below example
$xml = <<<XML
<?xml version="1.0" encoding="utf-8"?>
<root>
    <node />
</root>
XML;

// Crear una nueva instancia de DOMDocument
$dom = new DOMDocument;

// Cargar el XML
$dom->loadXML($xml);

// Imprimir la línea donde el elemento 'node' fue definido
printf('La etiqueta <node> está definida en la línea %d', $dom->getElementsByTagName('node')->item(0)->getLineNo());
?>

El resultado del ejemplo sería:

La etiqueta <node> está definida en la línea 3

DOMNode::cloneNode
DOMNode::getNodePath
DOMNode


Obtener un XPath de un nodo

DOMNode::getLineNo
DOMNode::hasAttributes
DOMNode
PHP Manual

DOMNode::getNodePath

(PHP 5 >= 5.2.0)

DOMNode::getNodePath — Obtener un XPath de un nodo

Descripción

public string DOMNode::getNodePath ( void )

Obtiene una ruta de ubicación XPath del nodo.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un string que contiene el XPath, o NULL en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de DOMNode::getNodePath()

<?php
// Crear una nueva instancia de DOMDocument
$dom = new DOMDocument;

// Cargar el XML
$dom->loadXML('
<frutas>
 <manzanas>
  <manzana>braeburn</manzana>
  <manzana>granny smith</manzana>
 </manzanas>
 <peras>
  <pera>conference</pera>
 </peras>
</frutas>
');

// Imprimir el XPath para cada elemento
foreach ($dom->getElementsByTagName('*') as $nodo) {
    echo $nodo->getNodePath() . "\n";
}
?>

El resultado del ejemplo sería:

/frutas
/frutas/manzanas
/frutas/manzanas/manzana[1]
/frutas/manzanas/manzana[2]
/frutas/peras
/frutas/peras/pera

Ver también

  • DOMXPath

DOMNode::getLineNo
DOMNode::hasAttributes
DOMNode


Comprueba si un nodo tiene atributos

DOMNode::getNodePath
DOMNode::hasChildNodes
DOMNode
PHP Manual

DOMNode::hasAttributes

(PHP 5)

DOMNode::hasAttributes — Comprueba si un nodo tiene atributos

Descripción

public bool DOMNode::hasAttributes ( void )

Este método comprueba si el nodo tiene atributos. El nodo comprobado tiene que ser un XML_ELEMENT_NODE.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • DOMNode::hasChildNodes() - Comprueba si el nodo tiene hijos

DOMNode::getNodePath
DOMNode::hasChildNodes
DOMNode


Comprueba si el nodo tiene hijos

DOMNode::hasAttributes
DOMNode::insertBefore
DOMNode
PHP Manual

DOMNode::hasChildNodes

(PHP 5)

DOMNode::hasChildNodes — Comprueba si el nodo tiene hijos

Descripción

public bool DOMNode::hasChildNodes ( void )

Esta función comprueba si el nodo tiene hijos.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • DOMNode::hasAttributes() - Comprueba si un nodo tiene atributos

DOMNode::hasAttributes
DOMNode::insertBefore
DOMNode


Añade un nuevo hijo antes del nodo de referencia

DOMNode::hasChildNodes
DOMNode::isDefaultNamespace
DOMNode
PHP Manual

DOMNode::insertBefore

(PHP 5)

DOMNode::insertBefore — Añade un nuevo hijo antes del nodo de referencia

Descripción

public DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )

Esta función inserta un nuevo nodo justo antes que el nodo de referencia. Si planea hacer modificaciones posteriores al hijo añadido debe usar el nodo devuelto.

Parámetros

newnode

El nuevo nodo.

refnode

El nodo de referencia. Si no se proporciona, newnode es añadido al hijo.

Valores devueltos

El nodo insertado.

Errores/Excepciones

DOM_NO_MODIFICATION_ALLOWED_ERR

Lanzado si este nodo es de sólo lectura o si el padre previo del nodo que va a ser insertado es de sólo lectura.

DOM_HIERARCHY_REQUEST_ERR

Lanzado si este nodo es de un tipo de no permite hijos del tipo del nodo newnode, o si el nodo a añadir es uno de los progenitores del nodo o si es el nodo en sí.

DOM_WRONG_DOCUMENT_ERR

Lanzado si newnode fue creado desde un documento diferente del que creó este nodo.

DOM_NOT_FOUND

Lanzado si refnode no es un hijo de este nodo.

Ver también

  • DOMNode::appendChild() - Añade un nuevo hijo al final de los hijos

DOMNode::hasChildNodes
DOMNode::isDefaultNamespace
DOMNode


Comprueba si la URI del espacio de nombres especificada es el espacio de nombres predeterminado

DOMNode::insertBefore
DOMNode::isSameNode
DOMNode
PHP Manual

DOMNode::isDefaultNamespace

(PHP 5)

DOMNode::isDefaultNamespace — Comprueba si la URI del espacio de nombres especificada es el espacio de nombres predeterminado

Descripción

public bool DOMNode::isDefaultNamespace ( string $namespaceURI )

Indica si namespaceURI es el espacio de nombres especificado.

Parámetros

namespaceURI

La URI del espacio de nombres a buscar.

Valores devueltos

Devuelve TRUE si namespaceURI es el espacio de nombres predeterminado, FALSE si no.

DOMNode::insertBefore
DOMNode::isSameNode
DOMNode


Indica si dos nodos son el mismo nodo

DOMNode::isDefaultNamespace
DOMNode::isSupported
DOMNode
PHP Manual

DOMNode::isSameNode

(PHP 5)

DOMNode::isSameNode — Indica si dos nodos son el mismo nodo

Descripción

public bool DOMNode::isSameNode ( DOMNode $node )

Esta función indica si dos nodos son el mismo nodo. La comparación no está basada en el contenido

Parámetros

node

El nodo comparado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

DOMNode::isDefaultNamespace
DOMNode::isSupported
DOMNode


Comprueba si una característica está soportada para la versión especificada

DOMNode::isSameNode
DOMNode::lookupNamespaceURI
DOMNode
PHP Manual

DOMNode::isSupported

(PHP 5)

DOMNode::isSupported — Comprueba si una característica está soportada para la versión especificada

Descripción

public bool DOMNode::isSupported ( string $feature , string $version )

Comprueba si la característica solicitada dada por feature está soportada para la versión especificada dada por version.

Parámetros

feature

La característica a comprobar. Véase el ejemplo de DOMImplementation::hasFeature() para una lista de características.

version

El número de versión de feature a comprobar.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • DOMImplementation::hasFeature() - Comprueba si la implementación de DOM implementa una característica específica

DOMNode::isSameNode
DOMNode::lookupNamespaceURI
DOMNode


Obtiene la URI del espacio de nombres del nodo basado en el prefijo

DOMNode::isSupported
DOMNode::lookupPrefix
DOMNode
PHP Manual

DOMNode::lookupNamespaceURI

(PHP 5)

DOMNode::lookupNamespaceURI — Obtiene la URI del espacio de nombres del nodo basado en el prefijo

Descripción

public string DOMNode::lookupNamespaceURI ( string $prefix )

Obtiene la URI del espacio de nombres del nodo basado en prefix.

Parámetros

prefix

El prefijo del espacio de nombres.

Valores devueltos

La URI del espacio de nombres del nodo.

Ver también

  • DOMNode::lookupPrefix() - Obtiene el prefijo del espacio de nombres del nodo basándoes en la URI del espacio de nombres

DOMNode::isSupported
DOMNode::lookupPrefix
DOMNode


Obtiene el prefijo del espacio de nombres del nodo basándoes en la URI del espacio de nombres

DOMNode::lookupNamespaceURI
DOMNode::normalize
DOMNode
PHP Manual

DOMNode::lookupPrefix

(PHP 5)

DOMNode::lookupPrefix — Obtiene el prefijo del espacio de nombres del nodo basándoes en la URI del espacio de nombres

Descripción

public string DOMNode::lookupPrefix ( string $namespaceURI )

Obtiene el prefijo del espacio de nombres del nodo basándoes en la URI del espacio de nombres.

Parámetros

namespaceURI

La URI del espacio de nombres.

Valores devueltos

El prefijo del espacio de nombres.

Ver también

  • DOMNode::lookupNamespaceURI() - Obtiene la URI del espacio de nombres del nodo basado en el prefijo

DOMNode::lookupNamespaceURI
DOMNode::normalize
DOMNode


Normaliza el nodo

DOMNode::lookupPrefix
DOMNode::removeChild
DOMNode
PHP Manual

DOMNode::normalize

(PHP 5)

DOMNode::normalize — Normaliza el nodo

Descripción

public void DOMNode::normalize ( void )

Elimina nodos de texto vacíos y une nodos de texto adyacentes en este nodo y todos sus hijos.

Valores devueltos

No devuelve ningún valor.

Ver también

  • » La Especificación DOM
  • DOMDocument::normalizeDocument() - Normaliza el documento

DOMNode::lookupPrefix
DOMNode::removeChild
DOMNode


Elimina un hijo de la lista de hijos.

DOMNode::normalize
DOMNode::replaceChild
DOMNode
PHP Manual

DOMNode::removeChild

(PHP 5)

DOMNode::removeChild — Elimina un hijo de la lista de hijos.

Descripción

public DOMNode DOMNode::removeChild ( DOMNode $oldnode )

Esta función elimina un hijo de la lista de hijos.

Parámetros

oldnode

El hijo eliminado.

Valores devueltos

Si el hijo ha podido ser eliminado la función devuelve el hijo antiguo.

Errores/Excepciones

DOM_NO_MODIFICATION_ALLOWED_ERR

Lanzado si el nodo es de sólo lectura.

DOM_NOT_FOUND

Lanzado si oldnode no es un hijo de este nodo.

Ejemplos

El siguiente ejemplo eliminará el elemento chapter de nuestro documento XML.

Ejemplo #1 Eliminar un hijo

<?php

$doc = new DOMDocument;
$doc->load('book.xml');

$book = $doc->documentElement;

// recuperamos el capítulo y lo eliminamos del libro
$chapter = $book->getElementsByTagName('chapter')->item(0);
$oldchapter = $book->removeChild($chapter);

echo $doc->saveXML();
?>

El resultado del ejemplo sería:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
          "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<book id="listing">
 <title>My lists</title>

</book>

Ver también

  • DOMNode::appendChild() - Añade un nuevo hijo al final de los hijos
  • DOMNode::replaceChild() - Reemplaza un hijo

DOMNode::normalize
DOMNode::replaceChild
DOMNode


Reemplaza un hijo

DOMNode::removeChild
DOMNodeList
DOMNode
PHP Manual

DOMNode::replaceChild

(PHP 5)

DOMNode::replaceChild — Reemplaza un hijo

Descripción

public DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )

Esta función reemplaza el hijo oldnode con es nuevo nodo pasado. Si el nuevo nodo ya es un hijo no será añadido una segunda vez. Si el reemplazo tiene éxito se devuelve el nodo antiguo.

Parámetros

newnode

El nuevo nodo. Debe ser un miembro del documento objetivo, es decir, creado con uno de los métodos DOMDocument->createXXX() o importado al documento por DOMDocument::importNode.

oldnode

El nodo antiguo.

Valores devueltos

El nodo antiguo o FALSE si ocurrió un error.

Errores/Excepciones

DOM_NO_MODIFICATION_ALLOWED_ERR

Lanazado si este nodo es de sólo lectura o si el padre anterior del nodo al que va a ser insertado es de sólo lectura.

DOM_HIERARCHY_REQUEST_ERR

Lanzado si el nodo es de un tipo que no permite hijos del tipo del nodo newnode, o si el nodo a colocar es uno de los progenitores de este nodo o es este nodo en sí.

DOM_WRONG_DOCUMENT_ERR

Lanzado si newnode fue creado desde un documento diferente que el que creó este nodo.

DOM_NOT_FOUND

Lanzado si oldnode no es un hijo de este nodo.

Ver también

  • DOMNode::appendChild() - Añade un nuevo hijo al final de los hijos
  • DOMNode::removeChild() - Elimina un hijo de la lista de hijos.

DOMNode::removeChild
DOMNodeList
DOMNode


La clase DOMNodeList

(PHP 5)

Sinopsis de la Clase

DOMNodeList implements Traversable {
/* Propiedades */
readonly public int $length ;
/* Métodos */
DOMNode DOMNodelist::item ( int $index )
}

Propiedades

length

El número de nodos de la lista. El rango de índices válidos de nodo hijo es de 0 a length - 1, ambos inclusive.

Ver también

  • » Especificación W3C de NodeList

Tabla de contenidos

  • DOMNodelist::item — Recupera un nodo especificado por un índice
DOMNode::replaceChild
DOMNodelist::item
DOM


Recupera un nodo especificado por un índice

DOMNodeList
DOMNotation
DOMNodeList
PHP Manual

DOMNodelist::item

(PHP 5)

DOMNodelist::item — Recupera un nodo especificado por un índice

Descripción

DOMNode DOMNodelist::item ( int $index )

Recupera un nodo especificado por index dentro del objeto DOMNodeList.

Sugerencia

Si necesita conocer el número de nodos de la colección, use la propiedad length del objeto DOMNodeList.

Parámetros

index

Índice del nodo de la colección.

Valores devueltos

El nodo en la posición marcada por index del objeto DOMNodeList, o NULL si no es un índice válido.

Ejemplos

Ejemplo #1 Atravesar todas las entradas de una tabla

<?php

$doc = new DOMDocument;
$doc->load('book.xml');

$items = $doc->getElementsByTagName('entry');

for ($i = 0; $i < $items->length; $i++) {
    echo $items->item($i)->nodeValue . "\n";
}

?>

De manera alternativa, se puede usar foreach, que es una manera mucho más conveniente:

<?php

foreach ($items as $item) {
    echo $item->nodeValue . "\n";
}

?>

El resultado del ejemplo sería:

Title
Author
Language
ISBN
The Grapes of Wrath
John Steinbeck
en
0140186409
The Pearl
John Steinbeck
en
014017737X
Samarcande
Amine Maalouf
fr
2253051209

DOMNodeList
DOMNotation
DOMNodeList


La clase DOMNotation

(PHP 5)

Sinopsis de la Clase

DOMNotation extends DOMNode {
/* Propiedades */
readonly public string $publicId ;
readonly public string $systemId ;
/* Métodos heredados */
public DOMNode DOMNode::appendChild ( DOMNode $newnode )
public string DOMNode::C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public int DOMNode::C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
public bool DOMNode::hasAttributes ( void )
public bool DOMNode::hasChildNodes ( void )
public DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
public bool DOMNode::isDefaultNamespace ( string $namespaceURI )
public bool DOMNode::isSameNode ( DOMNode $node )
public bool DOMNode::isSupported ( string $feature , string $version )
public string DOMNode::lookupNamespaceURI ( string $prefix )
public string DOMNode::lookupPrefix ( string $namespaceURI )
public void DOMNode::normalize ( void )
public DOMNode DOMNode::removeChild ( DOMNode $oldnode )
public DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Propiedades

publicId

systemId

DOMNodelist::item
DOMProcessingInstruction
DOM


La clase DOMProcessingInstruction

(PHP 4 >= 4.1.0)

Sinopsis de la Clase

DOMProcessingInstruction extends DOMNode {
/* Propiedades */
readonly public string $target ;
public string $data ;
/* Métodos */
public __construct ( string $name [, string $value ] )
/* Métodos heredados */
public DOMNode DOMNode::appendChild ( DOMNode $newnode )
public string DOMNode::C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public int DOMNode::C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
public bool DOMNode::hasAttributes ( void )
public bool DOMNode::hasChildNodes ( void )
public DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
public bool DOMNode::isDefaultNamespace ( string $namespaceURI )
public bool DOMNode::isSameNode ( DOMNode $node )
public bool DOMNode::isSupported ( string $feature , string $version )
public string DOMNode::lookupNamespaceURI ( string $prefix )
public string DOMNode::lookupPrefix ( string $namespaceURI )
public void DOMNode::normalize ( void )
public DOMNode DOMNode::removeChild ( DOMNode $oldnode )
public DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Propiedades

target

data

Tabla de contenidos

  • DOMProcessingInstruction::__construct — Crea un nuevo objeto DOMProcessingInstruction
DOMNotation
DOMProcessingInstruction::__construct
DOM


Crea un nuevo objeto DOMProcessingInstruction

DOMProcessingInstruction
DOMText
DOMProcessingInstruction
PHP Manual

DOMProcessingInstruction::__construct

(PHP 5)

DOMProcessingInstruction::__construct — Crea un nuevo objeto DOMProcessingInstruction

Descripción

public DOMProcessingInstruction::__construct ( string $name [, string $value ] )

Crea un nuevo objeto DOMProcessingInstruction. Este objeto es de sólo lectura. Se puede añadir a un documento, pero no se pueden añadir nodos adicionales a este nodo hata que el nodo esté asociado con un documento. Para crear un nodo modificable, use DOMDocument::createProcessingInstruction.

Parámetros

name

El nombre de la etiqueta de la instrucción en proceso.

value

El valor de la intrucción en proceso.

Ejemplos

Ejemplo #1 Crear un nuevo objeto DOMProcessingInstruction

<?php

$dom = new DOMDocument('1.0', 'UTF-8');
$html = $dom->appendChild(new DOMElement('html'));
$body = $html->appendChild(new DOMElement('body'));
$pinode = new DOMProcessingInstruction('php', 'echo "Hola Mundo"; ');
$body->appendChild($pinode);
echo $dom->saveXML();

?>

El resultado del ejemplo sería:

<?xml version="1.0" encoding="UTF-8"?>
<html><body><?php echo "Hola Mundo"; ?></body></html>

Ver también

  • DOMDocument::createProcessingInstruction() - Crea un nuevo nodo PI

DOMProcessingInstruction
DOMText
DOMProcessingInstruction


La clase DOMText

(PHP 5)

Introducción

La clase DOMText hereda de DOMCharacterData y representa el contenido textual de un objeto DOMElement o DOMAttr.

Sinopsis de la Clase

DOMText extends DOMCharacterData {
/* Propiedades */
readonly public string $wholeText ;
/* Métodos */
public __construct ([ string $value ] )
public bool isWhitespaceInElementContent ( void )
public DOMText splitText ( int $offset )
/* Métodos heredados */
public DOMNode DOMNode::appendChild ( DOMNode $newnode )
public string DOMNode::C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public int DOMNode::C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
public bool DOMNode::hasAttributes ( void )
public bool DOMNode::hasChildNodes ( void )
public DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
public bool DOMNode::isDefaultNamespace ( string $namespaceURI )
public bool DOMNode::isSameNode ( DOMNode $node )
public bool DOMNode::isSupported ( string $feature , string $version )
public string DOMNode::lookupNamespaceURI ( string $prefix )
public string DOMNode::lookupPrefix ( string $namespaceURI )
public void DOMNode::normalize ( void )
public DOMNode DOMNode::removeChild ( DOMNode $oldnode )
public DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Propiedades

wholeText

Mantiene todo el texto de los nodos Text adyacentes de forma lógica (sin estar separados por Element, Comment o Processing Instruction).

Tabla de contenidos

  • DOMText::__construct — Crea un nuevo objeto DOMText
  • DOMText::isWhitespaceInElementContent — Indica si este nodo de texto contiene espacios en blanco
  • DOMText::splitText — Rompe este nodo en dos nodos en el índice especificado
DOMProcessingInstruction::__construct
DOMText::__construct
DOM


Crea un nuevo objeto DOMText

DOMText
DOMText::isWhitespaceInElementContent
DOMText
PHP Manual

DOMText::__construct

(PHP 5)

DOMText::__construct — Crea un nuevo objeto DOMText

Descripción

public DOMText::__construct() ([ string $value ] )

Crea un nuevo objeto DOMText.

Parámetros

value

El valor del nodo de texto. Si no se proporciona, se crea un nodo de texto vacío.

Ejemplos

Ejemplo #1 Crear un nuevo objeto DOMText

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$text = $element->appendChild(new DOMText('root value'));
echo $dom->saveXML(); /* <?xml version="1.0" encoding="utf-8"?><root>root value</root> */

?>

Ver también

  • DOMDocument::createTextNode() - Crea un nuevo nodo de texto

DOMText
DOMText::isWhitespaceInElementContent
DOMText


Indica si este nodo de texto contiene espacios en blanco

DOMText::__construct
DOMText::splitText
DOMText
PHP Manual

DOMText::isWhitespaceInElementContent

(PHP 5)

DOMText::isWhitespaceInElementContent — Indica si este nodo de texto contiene espacios en blanco

Descripción

public bool DOMText::isWhitespaceInElementContent ( void )

Indica si este nodo de texto contiene únicamente espacios en blanco o si está vacío. El nodo de texto está determinado a contener espacios en blanco en el contenido del elemento durante la carga del documento.

Valores devueltos

Devuelve TRUE si el nodo contiene cero o más carecteres espacio en blanco y nada más. De lo contrario deveulve FALSE.

DOMText::__construct
DOMText::splitText
DOMText


Rompe este nodo en dos nodos en el índice especificado

DOMText::isWhitespaceInElementContent
DOMXPath
DOMText
PHP Manual

DOMText::splitText

(PHP 5)

DOMText::splitText — Rompe este nodo en dos nodos en el índice especificado

Descripción

public DOMText DOMText::splitText ( int $offset )

Rompe este nodo en dos nodos en el índice especificado por offset, manteniéndolos en el árbol como hermanos.

Después de la separación, este nodo contendrá todos el contenido hata offset. Si el nodo original tenía un nodo padre, el nuevo nodo se inserta como el hermano siguiente del nodo original. Cuando offset es igual a la longitud de este nodo, el nuevo nodo no tendrá información.

Parámetros

offset

El índice en el que se hace la separación, comenzando en 0.

Valores devueltos

El nuevo nodo del mismo tipo, que contiene todo el contenido desde y después de offset.

DOMText::isWhitespaceInElementContent
DOMXPath
DOMText


La clase DOMXPath

(PHP 5)

Introducción

Soporta XPath 1.0

Sinopsis de la Clase

DOMXPath {
/* Propiedades */
public DOMDocument $document ;
/* Métodos */
public __construct ( DOMDocument $doc )
public mixed evaluate ( string $expression [, DOMNode $contextnode [, bool $registerNodeNS = true ]] )
public DOMNodeList query ( string $expression [, DOMNode $contextnode [, bool $registerNodeNS = true ]] )
public bool registerNamespace ( string $prefix , string $namespaceURI )
public void registerPhpFunctions ([ mixed $restrict ] )
}

Propiedades

document

Tabla de contenidos

  • DOMXPath::__construct — Crea un nuevo objeto DOMXPath
  • DOMXPath::evaluate — Evalúa la expresión XPath dada y devuelve un resultado escrito si es posible
  • DOMXPath::query — Evalúa la expresión XPath dada
  • DOMXPath::registerNamespace — Registra el espacio de nombres con el objeto DOMXPath
  • DOMXPath::registerPhpFunctions — Registra funciones de PHP como funciones XPath
DOMText::splitText
DOMXPath::__construct
DOM


Crea un nuevo objeto DOMXPath

DOMXPath
DOMXPath::evaluate
DOMXPath
PHP Manual

DOMXPath::__construct

(PHP 5)

DOMXPath::__construct — Crea un nuevo objeto DOMXPath

Descripción

public DOMXPath::__construct ( DOMDocument $doc )

Crea un nuevo objeto DOMXPath.

Parámetros

doc

El objeto DOMDocument asociado con el objeto DOMXPath.

DOMXPath
DOMXPath::evaluate
DOMXPath


Evalúa la expresión XPath dada y devuelve un resultado escrito si es posible

DOMXPath::__construct
DOMXPath::query
DOMXPath
PHP Manual

DOMXPath::evaluate

(PHP 5 >= 5.1.0)

DOMXPath::evaluate — Evalúa la expresión XPath dada y devuelve un resultado escrito si es posible

Descripción

public mixed DOMXPath::evaluate ( string $expression [, DOMNode $contextnode [, bool $registerNodeNS = true ]] )

Ejecuta la expresión XPath dada por expression y devuelve un resultado escrito si es posible.

Parámetros

expression

La expresión XPath a ejecutar.

contextnode

El parámetro opcional contextnode se puede especificar para hacer consultas XPath relativas. Por omisión, las consultas son relativas al elemento raíz.

registerNodeNS

El parámetro opcional registerNodeNS puede ser especificado para deshabilitar el registro automático del nodo de contexto.

Valores devueltos

Devuelve un resultado escrito si es posible o un objeto DOMNodeList que contiene todos los nodos coincidentes con la expresión XPath dada por expression.

Si el parámetro expression está malformado o el parámetro contextnode es inválido, DOMXPath::evaluate() devuelve FALSE.

Historial de cambios

Versión | Descripción
5.3.3 | Se añadió el parámetro registerNodeNS.

Ejemplos

Ejemplo #1 Obtener el número de todos los libros en inglés

<?php

$doc = new DOMDocument;

$doc->load('book.xml');

$xpath = new DOMXPath($doc);

$tbody = $doc->getElementsByTagName('tbody')->item(0);

// nuestra consulta es relativa al nodo tbody
$consulta = 'count(row/entry[. = "en"])';

$entradas = $xpath->evaluate($consulta, $tbody);
echo "Hay $entradas libros en inglés\n";

?>

El resultado del ejemplo sería:

Hay 2 libros en inglés

Ver también

  • DOMXPath::query() - Evalúa la expresión XPath dada

DOMXPath::__construct
DOMXPath::query
DOMXPath


Evalúa la expresión XPath dada

DOMXPath::evaluate
DOMXPath::registerNamespace
DOMXPath
PHP Manual

DOMXPath::query

(PHP 5)

DOMXPath::query — Evalúa la expresión XPath dada

Descripción

public DOMNodeList DOMXPath::query ( string $expression [, DOMNode $contextnode [, bool $registerNodeNS = true ]] )

Ejecuta la expresión XPath dada por expression.

Parámetros

expression

La expresión XPath a ejecutar.

contextnode

El parámetro opcional contextnode se puede especificar para hacer consultas XPath relativas. Por omisión, las consultas son relativas al elemento raíz.

registerNodeNS

El parámetro opcional registerNodeNS puede ser especificado para deshabilitar el registro automático del nodo de contexto.

Valores devueltos

Devuelve un objeto DOMNodeList que contiene todos los nodos coincidentes con la expresión XPath dada por expression. Cualquier expresión que no devuelva nodos devolverá un objeto DOMNodeList vacío.

Si el parámetro expression está malformado o el parámetro contextnode es inválido, DOMXPath::query() devuelve FALSE.

Historial de cambios

Versión | Descripción
5.3.3 | Se añadió el parámetro registerNodeNS.

Ejemplos

Ejemplo #1 Obtener todos los libros en inglés

<?php

$doc = new DOMDocument;

// No queremos molestar con espacios en blanco
$doc->preserveWhiteSpace = false;

$doc->Load('book.xml');

$xpath = new DOMXPath($doc);

// Empezamos desde el elemento root
$consulta = '//book/chapter/para/informaltable/tgroup/tbody/row/entry[. = "en"]';

$entradas = $xpath->query($consulta);

foreach ($entradas as $entrada) {
    echo "Se encotró {$entrada->previousSibling->previousSibling->nodeValue}," .
         " por {$entrada->previousSibling->nodeValue}\n";
}
?>

El resultado del ejemplo sería:

Se encontró The Grapes of Wrath, por John Steinbeck
Se encontró The Pearl, por John Steinbeck

También podemos usar el parámetro contextnode para acortar nuestra expresión:

<?php

$doc = new DOMDocument;
$doc->preserveWhiteSpace = false;

$doc->load('book.xml');

$xpath = new DOMXPath($doc);

$tbody = $doc->getElementsByTagName('tbody')->item(0);

// nuestra consulta es relativa al nodo tbody
$consulta = 'row/entry[. = "en"]';

$entradas = $xpath->query($consulta, $tbody);

foreach ($entradas as $entrada) {
    echo "Se encontró {$entrada->previousSibling->previousSibling->nodeValue}," .
         " por {$entrada->previousSibling->nodeValue}\n";
}
?>

Ver también

  • DOMXPath::evaluate() - Evalúa la expresión XPath dada y devuelve un resultado escrito si es posible

DOMXPath::evaluate
DOMXPath::registerNamespace
DOMXPath


Registra el espacio de nombres con el objeto DOMXPath

DOMXPath::query
DOMXPath::registerPhpFunctions
DOMXPath
PHP Manual

DOMXPath::registerNamespace

(PHP 5)

DOMXPath::registerNamespace — Registra el espacio de nombres con el objeto DOMXPath

Descripción

public bool DOMXPath::registerNamespace ( string $prefix , string $namespaceURI )

Registra namespaceURI y prefix con el objeto DOMXPath.

Parámetros

prefix

El prefijo.

namespaceURI

La URI del espacio de nombres.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

DOMXPath::query
DOMXPath::registerPhpFunctions
DOMXPath


Registra funciones de PHP como funciones XPath

DOMXPath::registerNamespace
Funciones de DOM
DOMXPath
PHP Manual

DOMXPath::registerPhpFunctions

(PHP 5 >= 5.3.0)

DOMXPath::registerPhpFunctions — Registra funciones de PHP como funciones XPath

Descripción

public void DOMXPath::registerPhpFunctions ([ mixed $restrict ] )

Este método habilita la capacidad de usar funciones de PHP dentro de expresiones XPath.

Parámetros

restrict

Use este parámetro para permitir solamente que ciertas funciones sean llamadas desde XPath.

Este parámetro puede ser un string (un nombre de función) o un array de nombres de funciones.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Los siguientes ejemplos usan book.xml que contiene lo siguiente:

Ejemplo #1 book.xml

<?xml version="1.0" encoding="UTF-8"?>
<books>
 <book>
  <title>PHP Basics</title>
  <author>Jim Smith</author>
  <author>Jane Smith</author>
 </book>
 <book>
  <title>PHP Secrets</title>
  <author>Jenny Smythe</author>
 </book>
 <book>
  <title>XML basics</title>
  <author>Joe Black</author>
 </book>
</books>

Ejemplo #2 DOMXPath::registerPHPFunctions() con php:functionString

<?php
$doc = new DOMDocument;
$doc->load('book.xml');

$xpath = new DOMXPath($doc);

// Registrar el espacio de nombres php: namespace (requerido)
$xpath->registerNamespace("php", "http://php.net/xpath");

// Registrar funciones de PHP (sin restricciones)
$xpath->registerPHPFunctions();

// Llamar a la función substr en el título del libro
$nodos = $xpath->query('//book[php:functionString("substr", title, 0, 3) = "PHP"]');

echo "Se encontró {$nodos->length} libros que empiezan con 'PHP':\n";
foreach ($nodos as $nodo) {
    $title  = $nodo->getElementsByTagName("title")->item(0)->nodeValue;
    $author = $nodo->getElementsByTagName("author")->item(0)->nodeValue;
    echo "$title por $author\n";
}

?>

El resultado del ejemplo sería algo similar a:

Se encontró 2 libros que empiezan con 'PHP':
PHP Basics por Jim Smith
PHP Secrets por Jenny Smythe

Ejemplo #3 DOMXPath::registerPHPFunctions() con php:function

<?php
$doc = new DOMDocument;
$doc->load('book.xml');

$xpath = new DOMXPath($doc);

// Registrar el espacio de nombres php: namespace (requerido)
$xpath->registerNamespace("php", "http://php.net/xpath");

// Registrar funciones de PHP (sólo has_multiple)
$xpath->registerPHPFunctions("has_multiple");

function has_multiple($nodos) {
    // Return true if more than one author
    return count($nodos) > 1;
}
// Filtrar libros con múltiples autores
$libros = $xpath->query('//book[php:function("has_multiple", author)]');

echo "Libros con múltiples autores:\n";
foreach ($libros as $libro) {
    echo $libro->getElementsByTagName("title")->item(0)->nodeValue . "\n";
}

?>

El resultado del ejemplo sería algo similar a:

Libros con múltiples autores:
PHP Basics

Ver también

  • DOMXPath::registerNamespace() - Registra el espacio de nombres con el objeto DOMXPath
  • DOMXPath::query() - Evalúa la expresión XPath dada
  • DOMXPath::evaluate() - Evalúa la expresión XPath dada y devuelve un resultado escrito si es posible

DOMXPath::registerNamespace
Funciones de DOM
DOMXPath


Funciones de DOM

Tabla de contenidos

  • dom_import_simplexml — Obtiene un objeto DOMElement desde un objeto SimpleXMLElement
DOMXPath::registerPhpFunctions
dom_import_simplexml
DOM


Obtiene un objeto DOMElement desde un objeto SimpleXMLElement

Funciones de DOM
libxml
Funciones de DOM
PHP Manual

dom_import_simplexml

(PHP 5)

dom_import_simplexml — Obtiene un objeto DOMElement desde un objeto SimpleXMLElement

Descripción

DOMElement dom_import_simplexml ( SimpleXMLElement $node )

Esta función toma el nodo node de la clase SimpleXML y lo convierte en un nodod DOMElement. Este nuevo objeto se puede usar como un nodo DOMElement nativo.

Parámetros

node

El nodo SimpleXMLElement.

Valores devueltos

El nodo DOMElement añdido o FALSE si ocurrió un error.

Ejemplos

Ejemplo #1 Importar SimpleXML a DOM con dom_import_simplexml()

<?php

$sxe = simplexml_load_string('<books><book><title>blah</title></book></books>');

if ($sxe === false) {
    echo 'Error al analizar el documento';
    exit;
}

$dom_sxe = dom_import_simplexml($sxe);
if (!$dom_sxe) {
    echo 'Error al convertir a XML';
    exit;
}

$dom = new DOMDocument('1.0');
$dom_sxe = $dom->importNode($dom_sxe, true);
$dom_sxe = $dom->appendChild($dom_sxe);

echo $dom->saveXML();

?>

Ver también

  • simplexml_import_dom() - Obtiene un objeto SimpleXMLElement de un nodo DOM

Funciones de DOM
libxml
Funciones de DOM


libxml

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • libXMLError — La clase libXMLError
  • Funciones de libxml
    • libxml_clear_errors — Limpia el buffer de errores de libxml
    • libxml_disable_entity_loader — Deshabilita la capacidad de cargar entidades externas
    • libxml_get_errors — Recupera un array de errores
    • libxml_get_last_error — Recupera el último error de libxml
    • libxml_set_external_entity_loader — Cambia el cargador externo por defecto de entidades
    • libxml_set_streams_context — Configura el contexto de flujo para el próximo documento libxml cargado o escrito
    • libxml_use_internal_errors — Deshabilita errores libxml y permite al usuario extraer información de errores según sea necesario
dom_import_simplexml
Introducción
Manipulación XML


Introducción

Estas funciones/constantes están disponibles a partir de PHP 5.1.0, y las siguientes extensiones del núcleo dependen de esta extensión libxml: DOM, libxml, SimpleXML, SOAP, WDDX, XSL, XSLT, XML, XMLReader, XMLRPC y XMLWriter.

libxml
Instalación/Configuración
libxml


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
libxml


Requerimientos

Esta estensión requiere » libxml >= 2.6.0.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

La extensión libxml está habilitada por defecto, aún asi es posible deshabilitarla con la directiva --disable-libxml .

La directiva --with-libxml-dir opcional es utilizada para especificar la ubicación de libxml dentro del sistema en el que PHP está siendo compilado, de lo contrario solo las ubicaciones por defecto son escaneadas. El proceso configure chequea por libxml (específicamente, xml2-config) en el siguiente orden:

  1. La ubicación ([DIR]) especificada con --with-libxml-dir ([DIR]=/bin/xml2-config)

  2. /usr/local/bin/xml2-config

  3. /usr/bin/xml2-config

Si configure no puede encontrar xml2-config en el directorio especificado por --with-libxml-dir , entonces continuará y comprobará las ubicaciones por defecto.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

LIBXML_COMPACT (integer)
Activa la optimización de asignación de nodos pequeños. Esto puede acelerar la aplicación sin la necesidad de cambiar el código.

Nota:

Solo disponible en Libxml >= 2.6.21

LIBXML_DTDATTR (integer)
Atributos DTD por defecto
LIBXML_DTDLOAD (integer)
Carga el subconjunto externo
LIBXML_DTDVALID (integer)
Valida con el DTD
LIBXML_NOBLANKS (integer)
Elimina nodos en blanco
LIBXML_NOCDATA (integer)
Combina CDATA como nodos de texto
LIBXML_NOEMPTYTAG (integer)
Expande etiquetas vacías (por ej. de <br/> a <br></br>)

Nota:

Esta opción está actualmente disponible solo en las funciones DOMDocument::save y DOMDocument::saveXML.

LIBXML_NOENT (integer)
Sustituye entidades
LIBXML_NOERROR (integer)
Suprime reportes de errores
LIBXML_NONET (integer)
Deshabilita el acceso a red cuando se cargan documentos
LIBXML_NOWARNING (integer)
Suprime reportes de advertencias
LIBXML_NOXMLDECL (integer)
Omite la declaración XML cuando se guarda un documento

Nota:

Solo disponible en Libxml >= 2.6.21

LIBXML_NSCLEAN (integer)
Eliminar declaraciones de nombre de espacios redundantes
LIBXML_PARSEHUGE (integer)
Establece la bandera XML_PARSE_HUGE, que hace más flexible cualquier límite hardcode del analizador. Esto afecta a los límites tales como la profundidad máxima de un documento o la recursión de entidades, así como los límites de tamaño de los nodos de texto.

Nota:

Solamente está disponible en Libxml >= 2.7.0 (a partir de PHP >= 5.3.2 y PHP >= 5.2.12)

LIBXML_XINCLUDE (integer)
Implementa la sustitución XInclude
LIBXML_ERR_ERROR (integer)
Un error recuperable
LIBXML_ERR_FATAL (integer)
Un error fatal
LIBXML_ERR_NONE (integer)
Sin errores
LIBXML_ERR_WARNING (integer)
Una simple advertencia
LIBXML_VERSION (integer)
La versión de libxml, como 20605 o 20617
LIBXML_DOTTED_VERSION (string)
La versión de libxml, como 2.6.5 o 2.6.17
LIBXML_SCHEMA_CREATE (integer)
Crear nodos de valor predeterminado/fijo durante la validación del esquema XSD

Nota:

Solamente disponible en Libxml >= 2.6.14 (a partir de PHP >= 5.5.2)

Tipos de recursos
libXMLError
libxml


La clase libXMLError

(PHP 5 >= 5.1.0)

Introducción

Contiene diversa información sobre los errores lanzados por libxml. Los códigos de error son descritos en la » documentación de la API xmlError oficial.

Sinopsis de la Clase

libXMLError {
/* Propiedades */
public int $level ;
public int $code ;
public int $column ;
public string $message ;
public string $file ;
public int $line ;
}

Propiedades

level

La gravedad del error (una de las siguientes constantes: LIBXML_ERR_WARNING, LIBXML_ERR_ERROR o LIBXML_ERR_FATAL)

code

El código del error.

column

La columna donde ocurrió el error.

Nota:

Esta propiedad no está completamente implementada en libxml y por tanto a menudo devuelve 0.

message

El mensaje del error, si es que hay.

file

El nombre del fichero, o vacio si el XML fue cargado desde una cadena.

line

La línea en la que ocurrió el error.

Constantes predefinidas
Funciones de libxml
libxml


Funciones de libxml

Tabla de contenidos

  • libxml_clear_errors — Limpia el buffer de errores de libxml
  • libxml_disable_entity_loader — Deshabilita la capacidad de cargar entidades externas
  • libxml_get_errors — Recupera un array de errores
  • libxml_get_last_error — Recupera el último error de libxml
  • libxml_set_external_entity_loader — Cambia el cargador externo por defecto de entidades
  • libxml_set_streams_context — Configura el contexto de flujo para el próximo documento libxml cargado o escrito
  • libxml_use_internal_errors — Deshabilita errores libxml y permite al usuario extraer información de errores según sea necesario
libXMLError
libxml_clear_errors
libxml


Limpia el buffer de errores de libxml

Funciones de libxml
libxml_disable_entity_loader
Funciones de libxml
PHP Manual

libxml_clear_errors

(PHP 5 >= 5.1.0)

libxml_clear_errors — Limpia el buffer de errores de libxml

Descripción

void libxml_clear_errors ( void )

libxml_clear_errors() limpia el buffer de errores de libxml.

Valores devueltos

No devuelve ningún valor.

Ver también

  • libxml_get_errors() - Recupera un array de errores
  • libxml_get_last_error() - Recupera el último error de libxml

Funciones de libxml
libxml_disable_entity_loader
Funciones de libxml


Deshabilita la capacidad de cargar entidades externas

libxml_clear_errors
libxml_get_errors
Funciones de libxml
PHP Manual

libxml_disable_entity_loader

(PHP 5 >= 5.2.11)

libxml_disable_entity_loader — Deshabilita la capacidad de cargar entidades externas

Descripción

bool libxml_disable_entity_loader ([ bool $disable = true ] )

Habilita/deshabilita la capacidad de cargar entidades externas.

Parámetros

disable

Deshabilita (TRUE) o habilita (FALSE) extensiones libxml (tal como DOM, XMLWriter y XMLReader) para cargar entidades externas.

Valores devueltos

Devuelve el valor anterior.

Ver también

  • libxml_use_internal_errors() - Deshabilita errores libxml y permite al usuario extraer información de errores según sea necesario
  • La constante LIBXML_NONET

libxml_clear_errors
libxml_get_errors
Funciones de libxml


Recupera un array de errores

libxml_disable_entity_loader
libxml_get_last_error
Funciones de libxml
PHP Manual

libxml_get_errors

(PHP 5 >= 5.1.0)

libxml_get_errors — Recupera un array de errores

Descripción

array libxml_get_errors ( void )

Recupera un array de errores.

Valores devueltos

Recupera un array con objetos de tipo LibXMLError si hay errores en el buffer, o un array vacío en caso contrario.

Ejemplos

Ejemplo #1 Ejemplo de libxml_get_errors()

Este ejemplo demuestra cómo contruir un gestor de errores libxml simple.

<?php

libxml_use_internal_errors(true);

$xmlstr = <<< XML
<?xml version='1.0' standalone='yes'?>
<movies>
 <movie>
  <titles>PHP: Detrás del analizador sintáctico</title>
 </movie>
</movies>
XML;

$doc = simplexml_load_string($xmlstr);
$xml = explode("\n", $xmlstr);

if (!$doc) {
    $errors = libxml_get_errors();

    foreach ($errors as $error) {
        echo display_xml_error($error, $xml);
    }

    libxml_clear_errors();
}

function display_xml_error($error, $xml)
{
    $return  = $xml[$error->line - 1] . "\n";
    $return .= str_repeat('-', $error->column) . "^\n";

    switch ($error->level) {
        case LIBXML_ERR_WARNING:
            $return .= "Warning $error->code: ";
            break;
         case LIBXML_ERR_ERROR:
            $return .= "Error $error->code: ";
            break;
        case LIBXML_ERR_FATAL:
            $return .= "Fatal Error $error->code: ";
            break;
    }

    $return .= trim($error->message) .
               "\n  Line: $error->line" .
               "\n  Column: $error->column";

    if ($error->file) {
        $return .= "\n  File: $error->file";
    }

    return "$return\n\n--------------------------------------------\n\n";
}

?>

El resultado del ejemplo sería:

  <titles>PHP: Detrás del analizador sintáctico</title>
----------------------------------------------^
Fatal Error 76: Opening and ending tag mismatch: titles line 4 and title
  Line: 4
  Column: 46

--------------------------------------------

Ver también

  • libxml_get_last_error() - Recupera el último error de libxml
  • libxml_clear_errors() - Limpia el buffer de errores de libxml

libxml_disable_entity_loader
libxml_get_last_error
Funciones de libxml


Recupera el último error de libxml

libxml_get_errors
libxml_set_external_entity_loader
Funciones de libxml
PHP Manual

libxml_get_last_error

(PHP 5 >= 5.1.0)

libxml_get_last_error — Recupera el último error de libxml

Descripción

LibXMLError libxml_get_last_error ( void )

Recupera el último error de libxml.

Valores devueltos

Devuelve un objeto de tipo LibXMLError si hay algún error en el buffer, o FALSE en caso contrario.

Ver también

  • libxml_get_errors() - Recupera un array de errores
  • libxml_clear_errors() - Limpia el buffer de errores de libxml

libxml_get_errors
libxml_set_external_entity_loader
Funciones de libxml


Cambia el cargador externo por defecto de entidades

libxml_get_last_error
libxml_set_streams_context
Funciones de libxml
PHP Manual

libxml_set_external_entity_loader

(PHP 5 >= 5.4.0)

libxml_set_external_entity_loader — Cambia el cargador externo por defecto de entidades

Descripción

void libxml_set_external_entity_loader ( callable $resolver_function )

Cambia el cargador externo por defecto de entidades.

Parámetros

resolver_function

Un callable que acepte tres argumentos. Dos strings: una id pública y una id de sistema, y un contexto (un array con cuatro elementos) como tercer argumento. Este callback debe devolver un resource, una cadena a partir de la cual s epueda abrir un resource, o NULL.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de libxml_set_external_entity_loader()

<?php
$xml = <<<XML
<!DOCTYPE foo PUBLIC "-//FOO/BAR" "http://example.com/foobar">
<foo>bar</foo>
XML;

$dtd = <<<DTD
<!ELEMENT foo (#PCDATA)>
DTD;

libxml_set_external_entity_loader(
    function ($public, $system, $context) use($dtd) {
        var_dump($public);
        var_dump($system);
        var_dump($context);
        $f = fopen("php://temp", "r+");
        fwrite($f, $dtd);
        rewind($f);
        return $f;
    }
);

$dd = new DOMDocument;
$r  = $dd->loadXML($xml);

var_dump($dd->validate());
?>

El resultado del ejemplo sería:

string(10) "-//FOO/BAR"
string(25) "http://example.com/foobar"
array(4) {
    ["directory"]    => NULL
    ["intSubName"]   => NULL
    ["extSubURI"]    => NULL
    ["extSubSystem"] => NULL
}
bool(true)

Ver también

  • libxml_disable_entity_loader() - Deshabilita la capacidad de cargar entidades externas

libxml_get_last_error
libxml_set_streams_context
Funciones de libxml


Configura el contexto de flujo para el próximo documento libxml cargado o escrito

libxml_set_external_entity_loader
libxml_use_internal_errors
Funciones de libxml
PHP Manual

libxml_set_streams_context

(PHP 5)

libxml_set_streams_context — Configura el contexto de flujo para el próximo documento libxml cargado o escrito

Descripción

void libxml_set_streams_context ( resource $streams_context )

Configura el contexto de flujo para el próximo documento libxml cargado o escrito.

Parámetros

streams_context

El contexto de flujo de tipo resource (creado con la función stream_context_create())

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de libxml_set_streams_context()

<?php

$opts = array(
    'http' => array(
        'user_agent' => 'PHP libxml agent',
    )
);

$context = stream_context_create($opts);
libxml_set_streams_context($context);

// peticiona un archivo a través de HTTP
$doc = DOMDocument::load('http://www.example.com/file.xml');

?>

Ver también

  • stream_context_create() - Crear un contexto de flujo

libxml_set_external_entity_loader
libxml_use_internal_errors
Funciones de libxml


Deshabilita errores libxml y permite al usuario extraer información de errores según sea necesario

libxml_set_streams_context
qtdom
Funciones de libxml
PHP Manual

libxml_use_internal_errors

(PHP 5 >= 5.1.0)

libxml_use_internal_errors — Deshabilita errores libxml y permite al usuario extraer información de errores según sea necesario

Descripción

bool libxml_use_internal_errors ([ bool $use_errors = false ] )

libxml_use_internal_errors() permite deshabilitar errores libxml estándares y habilitar el manejo de errores del usuario.

Parámetros

use_errors

Habilita (TRUE) o deshabilita (FALSE) el manejo de errores por parte del usuario. La deshabilitación también borrará cualquier error libxml existente.

Valores devueltos

Esta función devuelve el valor anterior de use_errors.

Ejemplos

Ejemplo #1 Ejemplo de libxml_use_internal_errors()

Este ejemplo demuestra el uso básico de los errores libxml y el valor devuelto por esta función.

<?php

// habilita el manejo de errores del usuario
var_dump(libxml_use_internal_errors(true));

// carga el documento
$doc = new DOMDocument;

if (!$doc->load('file.xml')) {
    foreach (libxml_get_errors() as $error) {
        // Aquí se manejan los errores
    }

    libxml_clear_errors();
}

?>

El resultado del ejemplo sería:

bool(false)

Ver también

  • libxml_clear_errors() - Limpia el buffer de errores de libxml
  • libxml_get_errors() - Recupera un array de errores

libxml_set_streams_context
qtdom
Funciones de libxml


qtdom

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de qtdom
    • qdom_error — Devuelve el mensaje de error de la última operación QDOM o FALSE si no ocurrieron errores
    • qdom_tree — Crea un árbol de la cadena XML
libxml_use_internal_errors
Introducción
Manipulación XML


Introducción

Advertencia

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombres de sus funciones y todo lo documentado sobre esta extensión, puede cambiar en una futura edición de PHP sin previo aviso. El uso de esta extensión queda bajo su propia responsabilidad.

Nota: Esta extensión no está disponible en plataformas Windows.

Nota:

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.0.0.

qtdom
Instalación/Configuración
qtdom


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
qtdom


Requerimientos

Se necesita la Qt-library >=2.2.0

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión se considera no mantenida y muerta. Sin embargo, el código fuente para esta extensión sigue estando disponible dentro de PECL SVN aquí: » http://svn.php.net/viewvc/pecl/qtdom.

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.0.0

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Funciones de qtdom
qtdom


Funciones de qtdom

Tabla de contenidos

  • qdom_error — Devuelve el mensaje de error de la última operación QDOM o FALSE si no ocurrieron errores
  • qdom_tree — Crea un árbol de la cadena XML
Constantes predefinidas
qdom_error
qtdom


Devuelve el mensaje de error de la última operación QDOM o FALSE si no ocurrieron errores

Funciones de qtdom
qdom_tree
Funciones de qtdom
PHP Manual

qdom_error

(PHP 4 >= 4.0.5)

qdom_error — Devuelve el mensaje de error de la última operación QDOM o FALSE si no ocurrieron errores

Descripción

string qdom_error ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Funciones de qtdom
qdom_tree
Funciones de qtdom


Crea un árbol de la cadena XML

qdom_error
SDO
Funciones de qtdom
PHP Manual

qdom_tree

(PHP 4 >= 4.0.4)

qdom_tree — Crea un árbol de la cadena XML

Descripción

QDomDocument qdom_tree ( string $doc )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

qdom_error
SDO
Funciones de qtdom


Objetos de Datos de Servicio

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Limitaciones
  • Ejemplos
    • Uso básico
    • Establecer y obtener valores de propiedades
    • Trabajar con objetos de datos secuenciados
    • Reflexión sobre Objetos de Datos de Servicio
  • Funciones de SDO
    • SDO_DAS_ChangeSummary::beginLogging — Comenzar a registrar los cambios
    • SDO_DAS_ChangeSummary::endLogging — Terminar de registrar cambios
    • SDO_DAS_ChangeSummary::getChangeType — Obtener el tipo de cambio hecho a un SDO_DataObject
    • SDO_DAS_ChangeSummary::getChangedDataObjects — Obtener los objetos de datos cambiados de un resumen de cambios
    • SDO_DAS_ChangeSummary::getOldContainer — Obtener el contenedor antiguo de un SDO_DataObject eliminado
    • SDO_DAS_ChangeSummary::getOldValues — Obtener los valores antiguos de un SDO_DataObject cambiado dado
    • SDO_DAS_ChangeSummary::isLogging — Comprobar si el registro de cambios está activado
    • SDO_DAS_DataFactory::addPropertyToType — Añadir una propiedad a un tipo
    • SDO_DAS_DataFactory::addType — Añadir un nuevo tipo a un modelo
    • SDO_DAS_DataFactory::getDataFactory — Obtener una instancia de una fábrica de datos
    • SDO_DAS_DataObject::getChangeSummary — Obtener un resumen de cambios de un objeto de datos
    • SDO_DAS_Setting::getListIndex — Obtener el índice de la lista de una propiedad polievaluada cambiada
    • SDO_DAS_Setting::getPropertyIndex — Obtener el índice de propiedad de una propiedad cambiada
    • SDO_DAS_Setting::getPropertyName — Obtener el nombre de propiedad de una propiedad cambiada
    • SDO_DAS_Setting::getValue — Obtener el valor antiguo de una propiedad cambiada
    • SDO_DAS_Setting::isSet — Comprobar si una propiedad estaba establecida antes de ser modificada
    • SDO_DataFactory::create — Crear un SDO_DataObject
    • SDO_DataObject::clear — Limpiar las propiedades de un SDO_DataObject
    • SDO_DataObject::createDataObject — Crear un SDO_DataObject hijo
    • SDO_DataObject::getContainer — Obtener el contenedor de un objeto de datos
    • SDO_DataObject::getSequence — Obtener la secuencia de un objeto de datos
    • SDO_DataObject::getTypeName — Devolver el nombre del tipo de un objeto de datos
    • SDO_DataObject::getTypeNamespaceURI — Devolver el URI del espacio de nombre del tipo de un objeto de datos.
    • SDO_Exception::getCause — Obtener la causa de la excepción.
    • SDO_List::insert — Insertar en una lista
    • SDO_Model_Property::getContainingType — Obtener el SDO_Model_Type que contiene esta propiedad
    • SDO_Model_Property::getDefault — Obtener el valor predeterminado de la propiedad
    • SDO_Model_Property::getName — Obtener el nombre del SDO_Model_Property
    • SDO_Model_Property::getType — Obtener el SDO_Model_Type de la propiedad
    • SDO_Model_Property::isContainment — Comprobar si la propiedad define una relación de contención
    • SDO_Model_Property::isMany — Comprobar si la propiedad es polievaluada
    • SDO_Model_ReflectionDataObject::__construct — Contruir un SDO_Model_ReflectionDataObject
    • SDO_Model_ReflectionDataObject::export — Obtener una cadena que describe el SDO_DataObject.
    • SDO_Model_ReflectionDataObject::getContainmentProperty — Obtener la propiedad que define la relación de contención del objeto de datos
    • SDO_Model_ReflectionDataObject::getInstanceProperties — Obtener las propiedades de instancia del SDO_DataObject
    • SDO_Model_ReflectionDataObject::getType — Obtener el SDO_Model_Type del SDO_DataObject
    • SDO_Model_Type::getBaseType — Obtener el tipo base de este tipo
    • SDO_Model_Type::getName — Obtener el nombre del tipo
    • SDO_Model_Type::getNamespaceURI — Obtener el URI del espacio de nombres del tipo
    • SDO_Model_Type::getProperties — Obtener los objetos SDO_Model_Property definidos en el tipo
    • SDO_Model_Type::getProperty — Obtener un SDO_Model_Property del tipo
    • SDO_Model_Type::isAbstractType — Comprobar si este SDO_Model_Type es un tipo de datos abstracto
    • SDO_Model_Type::isDataType — Comprobar si este SDO_Model_Type es un tipo de datos primitivo
    • SDO_Model_Type::isInstance — Comprobar si un SDO_DataObject es una instancia de este SDO_Model_Type
    • SDO_Model_Type::isOpenType — Comprobar si este tipo es un tipo abierto
    • SDO_Model_Type::isSequencedType — Comprobar si este tipo es un tipo secuenciado
    • SDO_Sequence::getProperty — Devolver una propiedad para el índice de secuencia especificado.
    • SDO_Sequence::insert — Insertar en una secuencia
    • SDO_Sequence::move — Mover un elemento a otra posición de la secuencia
qdom_tree
Introducción
Manipulación XML


Introducción

Los Objetos de Datos de Servicio (en inglés Service Data Objects - SDOs) habilitan a las aplicaciones de PHP para trabajar con datos de diferentes orígenes (como una consulta de base de datos, un fichero XML, y una hoja de cálculo) usando una única interfaz.

Cada tipo diferente de origen de datos necesita un Servicio de Acceso a Datos (en inglés Data Access Service - DAS) para proporcionar acceso a los datos en el origen de datos. En una aplicación de PHP se usa un DAS para crear una instancia de SDO que representa alguna información del origen de datos. Se puede entonces establecer y obtener valores en la instancia del SDO usando la interfaz estándar de SDO. Finalmente se usa un DAS para volver a escribir los datos modificados en un origen de datos, normalmente el mismo.

Véase la lista de Servicios de Acceso a Datos para los detalles de los que están actualmente disponibles. Además de los DAS proporcionados, SDO también proporciona interfaces para que sean implementados otros (véase la sección sobre la Interfaz de Servicios de Acceso a Datos de SDO para más detalles).

Esta extensión deriva de conceptos tomados de la » especificación de Objetos de Datos de Servicio. Incluye una versión del SDO de » Apache Tuscany para proyectos C++.

La escrutctura de un Objeto de Datos de Servicio

Una instancia de un Objeto de Datos de Servicio se compone de un árbol de objetos de datos. El árbol está definido por relaciones de contención entre los objetos de datos. Por ejemplo, un objeto de datos Compañía podría consistir en varios objetos de datos Departamento y, así, la Compañía tendría una relación de contención con los Departamentos.

Un SDO también puede tener referencias de no contención entre objetos de datos del árbol. Por ejemplo, un objeto de datos Empleado podría hacer referencia a otro empleado para identificar un mentor de profesión.

Además de existir referencias entre los objetos de datos, estos también pueden tener propiedades primitivas. Por ejemplo, el objeto de datos Compañía podría tener una propiedad llamada "nombre" de tipo string, para contener el nombre de la compañía (por ejemplo, "Acme").

Cada una de estas propiedades de un objeto de datos (relaciones de contención, referencias de no contención, o propiedades primitivas) pueden ser polievaluadas o monoevaluadas. En el ejemplo de arriba, Departamentos es polievaluada y el nombre de la Compañía es monoevaluada.

En PHP, cada objeto de datos de SDO es representado como un objeto de PHP. Se pueden acceder a las propiedades del objeto de datos usando la sintaxis de objeto o la sintaxis de array asociativo. Se verán algunos ejemplos de esto más tarde.

SDO
Instalación/Configuración
SDO


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
SDO


Requerimientos

La extensión SDO requiere la versión 5.1.0 o superior de PHP. También requiere la biblioteca libxml2. Normalmente libxml2 ya estará instalada, pero si no lo está, se puede descargar desde » http://www.xmlsoft.org/.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/sca_sdo.

Nota:

Las versiones antiguas de la extensión SDO necesitaban una biblioteca compartida aparte para el DAS de XML. Esto ahora está obsoleto y cualquier referencia a php_sdo_das_xml.dll o sdo_das_xml.so debería ser eliminada de fichero php.ini.

Sistemas Unix

  1. Los tres componentes de SDO -el núcleo de SDO, el DAS de XML y el DAS Relacional- están empaquetados juntos con la Arquitectura de Componentes de Servicio (en inglés Service Component Architecture - SCA) dentro de un proyecto de PECL, SCA_SDO, por lo que se puede descargar SCA y las tres partes del SDO con el comando:

    pecl install SCA_SDO

    Este comando construirá la biblioteca compartida SDO además de instalar los ficheros de PHP que componen SCA y el DAS Relacional de SDO.

    Si se quiere usar la última versión beta, ejecute en su lugar:

    pecl install SCA_SDO-beta

  2. El comando pecl instala automáticamente el módulo SDO dentro del directorio de extensiones de PHP. Para habilitar la extensión SDO se debe añadir la siguiente línea al fichero php.ini:

    extension=sdo.so

    Para más información sobre la construcción de paquetes PECL, consulte la sección Instalación de PECL del manual.

Construir SDO bajo Linux

Esta sección describe cómo construir el núcleo de SDO y el DAS de XML bajo Linux. Solamente sería necesario saber hacer esto si se desea contruir una versión reciente que se haya verificado en SVN.

  1. Cambie al directorio de extensiones principal: cd < donde está el código de sdo >

  2. Ejecute phpize, que configurará el entorno para compilar SDO.

  3. Lo siguiente es ejecutar ./configure; make; make install. Observe que podría ser necesario identificarse como root para instalar la extensión.

  4. Asegúrese de que el módulo es cargado por PHP, añadiendo extension=sdo.so al fichero php.ini.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

SDO_DAS_ChangeSummary::NONE=0 (integer)
Representa un tipo de cambio de 'none'.
SDO_DAS_ChangeSummary::MODIFICATION=1 (integer)
Representa un tipo de cambio de 'modification'.
SDO_DAS_ChangeSummary::ADDITION=2 (integer)
Representa un tipo de cambio de 'addition'.
SDO_DAS_ChangeSummary::DELETION=3 (integer)
Representa un tipo de cambio de 'deletion'.
Tipos de recursos
Limitaciones
SDO


Limitaciones

Limitaciones de la implementación

Las siguientes son las limintaciones de la implementación actual de SDO:

  1. No existe soporte para conjuntos de caracteres multibyte. Esto será considerado, dependiendo de los requisitos de la comunidad, en una versión de PHP habilitada para Unicode.

Limitaciones de SDO

Los siguientes conceptos de SDO 2.0 no están soportados en la implementación actual de PHP. No es necesariamente el caso de que todas sean añadidas en el futuro. Su inclusión dependerá de los requisitos de la comunidad.

  1. Relaciones bidireccionales.

  2. Nombres de tipos y de alias de propiedades.

  3. Propiedades de sólo lectura.

  4. Las clases de Ayuda (Helper) definidas en SDO 2.0 no están directamente implementadas. Sin embargo se proporcionan funciones equivalentes en una forma más natural para PHP. Por ejemplo, la funcion de CopyHelper::copy() es proporcionada aplicando la palabra clave de PHP clone a un objeto de datos.

Constantes predefinidas
Ejemplos
SDO


Ejemplos

Tabla de contenidos

  • Uso básico
  • Establecer y obtener valores de propiedades
  • Trabajar con objetos de datos secuenciados
  • Reflexión sobre Objetos de Datos de Servicio
Limitaciones
Uso básico
SDO


Uso básico

En los ejemplos de abajo se asume un SDO creado con el esquema y la información de ejemplo mostrados abajo, usando el Servicio de Acceso a Datos de XML.

El documento de ejemplo de abajo describe una compañía única, llamada 'MegaCorp', la cual contiene un único departamento, llamado 'Tecnologías Avanzadas'. El departamento de Tecnologías Avanzadas contiene tres empleados. El empleadoDelMes de la compañía hace referencia al segundo empleado, 'Jane Doe'.

<?xml version="1.0" encoding="UTF-8" ?>
<compañía xmlns="ENCompañía" nombre="MegaCorp"
  empleadoDelMes="E0003">
  <departamentos nombre="Tecnologías Avanzadas" ubicación="NY" número="123">
    <empleados nombre="John Jones" NS="E0001"/>
    <empleados nombre="Jane Doe" NS="E0003"/>
    <empleados nombre="Al Smith" NS="E0004" director="true"/>
  </departamentos>
</compañía>

El elemento raíz del esquema es una compañía. La compañía contiene departamentos, y cada departamento contiene empleados. Cada elemento tiene varios atributos para almacenar cosas como el nombre, el número de serie, etc. Finalmente, la compañía también tiene el atributo IDREF que identifica uno de los empleados como el 'empleadoDelMes'.

<xsd:schema
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:sdo="commonj.sdo"
  xmlns:sdoxml="commonj.sdo/xml"
  xmlns:compañía="ENCompañía"
  targetNamespace="ENCompañía">
  <xsd:element name="compañía" type="compañía:TipoCompañía"/>
  <xsd:complexType name="TipoCompañía">
    <xsd:sequence>
      <xsd:element name="departamentos" type="compañía:TipoDepartamento"
        maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attribute name="nombre" type="xsd:string"/>
    <xsd:attribute name="empleadoDelMes" type="xsd:IDREF"
      sdoxml:propertyType="compañía:TipoEmpleado"/>
  </xsd:complexType>
  <xsd:complexType name="TipoDepartamento">
    <xsd:sequence>
      <xsd:element name="empleados" type="compañía:TipoEmpleado"
        maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attribute name="nombre" type="xsd:string"/>
    <xsd:attribute name="ubicación" type="xsd:string"/>
    <xsd:attribute name="número" type="xsd:int"/>
  </xsd:complexType>
  <xsd:complexType name="TipoEmpleado">
    <xsd:attribute name="nombre" type="xsd:string"/>
    <xsd:attribute name="NS" type="xsd:ID"/>
    <xsd:attribute name="director" type="xsd:boolean"/>
  </xsd:complexType>
</xsd:schema>

El Servicio de Acceso a Datos XML hace que el esquema se corresponda con un SDO. Los atributos como "nombre" se convierten en propiedades primitivas, la secuencia de empleados se convierte en una relación de contención polievaluada, etc. Observe que las relaciones de contención están expresadas como un tipo complejo dentro de otro, mientras que las referencias de no contención están expresadas en términos de ID e IDREF, con un atributo especial, sdoxml:propertyType, que especifica el tipo de la referencia de no contención.

Ejemplos
Establecer y obtener valores de propiedades
Ejemplos


Establecer y obtener valores de propiedades

En los siguientes ejemplos se asume que $compañía es la raíz de un árbol de objetos de datos creados desde el esquema y el documento de ejemplo mostrado arriba.

Ejemplo #1 Acceso mediante el nombre de la propiedad

Se puede acceder a las propiedades de los objetos de datos usando la sintaxis de acceso de la propiedad del objeto. Lo siguiente esteblece el nombre de la compañía a 'Acme'.

<?php
$compañía->nombre = 'Acme';
?>

Ejemplo #2 Acceso mediante el nombre de la propiedad como índice de array

También se puede acceder a las propiedades usando la sintaxis de array asociativo. La forma más sencilla utiliza el nombre de la propiedad como índice del array. Por ejemplo, lo siguiente establece el nombre de la compañía y obtiene el empleadoDelMes.

<?php
$compañía['nombre'] = 'UltraCorp';
$edm = $compañía['empleadoDelMes'];
?>

Ejemplo #3 Iteración sobre objetos de datos

Se pueden recorrer las propiedades de un objeto de datos usando foreach. Lo siguiente recorre las propiedades del empleado del mes.

<?php
  $edm = $compañía->empleadoDelMes;
  foreach ($edm as $nombre => $valor) {
      echo "$nombre: $valor\n";
  }
?>

lo que imprimirá:

nombre: Jane Doe
NS: E0003

La propiedad 'director' no se muestra porque no ha sido establecida.

Ejemplo #4 Acceso a propiedades polievaluadas mediante el nombre

Se puede acceder a las propiedaes polievaluadas de un objeto de datos usando la sintaxis de nombre de la propiedad del objeto. Lo siguiente obtiene la lista de departamentos.

<?php
$departamentos = $compañía->departamentos;
?>

Ejemplo #5 Acceso a elementos de propiedades polievaluadas

Se puede acceder a elementos de propiedades polievaluadas usando la sintaxis de array. Lo siguiente accede al primer departamento de la compañía.

<?php
$dpto_ta = $compañía->departamentos[0];
?>

Ejemplo #6 Iteración sobre propiedades polievaluadas

Las propiedades polievaluadas también se pueden recorrer usando foreach. Lo siguiente recorre los departamentos de la compañía.

<?php
  foreach ($compañía->departamentos as $departamento) {
    // ...
  }
?>

Cada iteración asignará el siguiente departamento de la lista a la variable $departamento.

Ejemplo #7 Acceso a propiedades encadenadas

Se pueden encadenar referencias a propiedades en una única línea. Lo siguiente establece y obtiene el nombre del primer departamento.

<?php
  $compañía->departamentos[0]->nombre = 'Tecnologías Emergentes';
  $nombre_dpto = $compañía->departamentos[0]->nombre;
?>

Usando la sintaxis de array asociativo, lo anterior es equivalente a

<?php
  $compañía['departamentos'][0]['nombre'] = 'Tecnologías Emergentes';
  $nombre_dpto = $compañía['departamentos'][0]['nombre'];
?>

En cualquier caso, la variable nombre_dpto es establecida a 'Tecnologías Emergentes'.

Ejemplo #8 Navegación mediante XPath

El índice de un array asociativo puede ser una expresión como la usada con XPath. Las expresiones válidas están definidas por un subconjunto incrementado de XPath.

Están admitidas las dos formas de indexar propiedades polievaluadas. La primera es la sintaxis de array estándar de XPath con el índice comenzando por uno, la segunda es una extensión de SDO para XPath con un índice comenzando por cero. La sintaxis estándar es:

<?php
  $jane_doe = $compañía["departamentos[1]/empleados[2]"];
?>

y la sintaxis de extensión para XPath de SDO es:

<?php
  $jane_doe = $compañía["departamentos.0/empleados.1"];
?>

Ambos ejemplos obtienen el segundo empleado del primer departamento.

Ejemplo #9 Consulta mediante XPath

Se puede usar XPath para consultar e identificar partes de un objeto de datos basados en datos de instancia. Lo siguiente recupera el director del departamento 'Tecnologías Avanzadas'.

<?php
 $director_ta =
  $compañía["departamentos[nombre='Tecnologías Avanzadas']/empleados[director=true]"];
?>

Ejemplo #10 Crear objetos de datos hijos

Un objeto de datos puede ser una fábrica para sus objetos de datos hijos. Un objeto de datos hijo es automáticamente parte del grafo de datos. Lo siguiente añade un nuevo empleado al departamento 'Tecnologías Avanzadas'.

<?php
  $dpto_ta = $compañía["departamentos[nombre='Tecnologías Avanzadas']"];
  $nuevo_contrato = $dpto_ta->createDataObject('empleados');
  $nuevo_contrato->nombre = 'John Johnson';
  $nuevo_contrato->NS = 'E0005';
  $nuevo_contrato->director = false;
?>

Ejemplo #11 Desestablecer una propiedad primitiva

Se pueden usar las funciones isset() y unset() para comprobar y eliminar elementos de un objeto de datos.

Lo siguiente limpia el nombre del primer departamento.

<?php
  unset($compañía->departamentos[0]->nombre);
?>

Ejemplo #12 Desestablecer un objeto de datos

unset también se puede usar para eliminar un objeto de datos de un árbol. El siguiente ejemplo muestra a John Jones abandonando la compañía.

<?php
  unset($compañía->departamentos[0]->empleados[0]);
?>

Ejemplo #13 Desestablecer una referencia a un objeto de datos

Lo siguiente elimina el 'empleadoDelMes' de la compañía. Si este fuera una relación de contención, el empleado sería eliminado de la compañía (¡probablemente no sería una buena idea echar al mejor empleado de cada mes!), pero ya que es una referencia de no contención, el empleado al que hace referencia permanecerá en el departamento de la compañía, pero ya no será accesible mediante la propiedad empleadoDelMes.

<?php
  if (isset($compañía->empleadoDelMes)) {
    unset($compañía->empleadoDelMes);
  }
?>

Ejemplo #14 Acceso mediante el índice de propiedad

Se pueden acceder a las propiedades de objetos de datos mediante sus índices de propiedad usando la sintaxis de array. El índice de propiedad es la posición en la que la definición de la propiedad aparece en el modelo (en este caso el esquema xml). Se puede ver en el esquema de arriba que el atributo del nombre de la compañía es la segunda propiedad de la compañía (la interfaz de SDO no hace distinción entre atributos XML y elementos). Lo siguiente establece el nombre de la compañía a 'Acme', con el mismo resultado que en el Acceso mediante el nombre de la propiedad

<?php
  $compañía[1] = 'Acme';
?>

Usar directamente el índice de esta manera puede ser delicado. Normalmente se debería prefereir la sintaxis de nombre de propiedad, aunque el índice de propiedad puede ser necesario en casos especiales.

Uso básico
Trabajar con objetos de datos secuenciados
Ejemplos


Trabajar con objetos de datos secuenciados

Los objetos de datos sencuenciados son SDOs que pueden rastrear el orden de las propiedades de un objeto de datos. También pueden contener elementos de texto no estructurado (un elemento de texto que no pertenece a ninguna de las propiedades del SDO). Los objetos de datos secuenciados son útiles para trabajar con documentos XML que permiten texto no estructurado (es decir, mixed=true) o si los elementos pueden estar intercalados (

<A/><B/><A/>
). Esto puede ocurrir, por ejemplo, cuando el esquema define maxOccurs>1 en un elemento que es de tipo complejo (complexType) con un indicador de orden de elección.

En los ejemplos de abajo se asume que existe un SDO creado con el siguiente esquema y la siguiente información de ejemplo, usando el Servicio de Acceso a Datos XML.

El esquema de abajo describe el formato de una carta. La carta puede contener opcionalmente tres propiedades: fecha, nombre, y apellido. El estado del esquema es mixed="true", lo que significa que se puede intercalar texto no estructurado entre las tres propiedades.

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:carta="http://esquemaCarta"
  targetNamespace="http://esquemaCarta">
  <xsd:element name="cartas" type="carta:ModeloCarta"/>
  <xsd:complexType name="ModeloCarta" mixed="true">
    <xsd:sequence>
      <xsd:element name="fecha" minOccurs="0" type="xsd:string"/>
      <xsd:element name="nombre" minOccurs="0" type="xsd:string"/>
      <xsd:element name="apellido" minOccurs="0" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>

Lo siguiente es un documento carta de ejemplo. Contiene las tres propiedades de la carta: fecha, nombre y apellido; y tiene elementos de texto no esctrucrado para la dirección y el cuerpo de la carta.

<carta:cartas xmlns:carta="http://esquemaCarta">
  <fecha>1 de marzo de 2005</fecha>
  Mutual of Omaha
  Wild Kingdom, USA
  Querida
  <nombre>Casy</nombre>
  <apellido>Crocodile</apellido>
  Por favor, compre más repelente de tiburones.
  Su prima ha vencido.
</carta:cartas>

Cuando se carga, el objeto de datos carta tendrá la secuencia y los índices de propiedades mostrados en la tabla de abajo:

Índice de Secuencia | Índice de Propiedad:Nombre | Valor
0 | 0:fecha | 1 de marzo de 2005
1 | - | Mutual of Omaha
2 | - | Wild Kingdom, USA
3 | - | Querida
4 | 1:nombre | Casy
5 | 2:apellido | Crocodile
6 | - | Por favor, compre más repelente de tiburones.
7 | - | Su prima ha vencido.

Para asegurarse de que los índices de secuencia se mantienen, los objetos de datos secuenciados deberían ser manipulados mediante la interfaz SDO_Sequence. Esto permite que los datos de instancias de objetos de datos sean manipulados en términos de índice de secuencia en lugar de índice de propiedad (mostrado en la tabla de arriba). En los siguientes ejemplos se asume que la carta de ejemplo ha sido cargada en un objeto de datos al que hace referencia la variable $carta.

Ejemplo #1 Obtener la interfaz SDO_Sequence

Se obtiene una secuencia de objetos de datos usando el método getSequence(). Lo siguiente obtiene la secuencia para el objeto de datos carta.

<?php
  $secuencia_carta = $carta->getSequence();
?>

En todos los ejemplos subsiguientes se asume que la variable $secuencia_carta ha sido asignada a la secuencia del objeto de datos carta.

Ejemplo #2 Obtener/establecer valores de secuencias

Se pueden obtener y establecer valores individuales (incluyendo texto no estructurado) usando el índice de secuencia. Lo siguiente establece el nombre a 'Snappy' y obtiene los últimos valores de la secuencia (el texto no estructurado, 'Su prima ha vencido.').

<?php
  $secuencia_carta[4] = 'Snappy';
  $texto = $secuencia_carta[count($secuencia_carta) - 1];
?>

Ejemplo #3 Iteración sobre secuencias

Se pueden recorrer valores individuales de la secuencia usando foreach. Lo siguiente recorre los valores individuales en el orden de la secuencia.

<?php
foreach ($carta->getSequence() as $valor) {
    // ...
}
?>

Ejemplo #4 Secuencias contra Objetos de Datos

Al establecer valores a través de la interfaz del objeto de datos, puede resultar que el valor no sea parte de la secuencia. Un valor establecido a través del objeto de datos sólo será accesible a través de la secuencia si la propiedad ya era parte de la secuencia. El siguiente ejemplo establece el apellido a través del objeto de datos y lo obtiene a través de la secuencia. Esto es correcto, ya que apellido ya existe en la secuencia. Si no se hubiera establecido anteriormente, apellido sería establecido a 'Smith', pero no sería parte de la secuencia.

<?php
  $carta[2] = 'Smith';
  $apellido = $secuencia_carta[5];
?>

Ejemplo #5 Añadir elementos a una secuencia

Se pueden añadir nuevos valores a una secuencia usando el método SDO_Sequence::insert(). En los siguientes ejemplos se asume que las propiedades 'nombre' y 'apellido' no estaban establecidas inicialmente.

<?php
  // Añadir un valor de nombre a la secuencia
  // valor: 'Smith'
  // índice de secuencia: NULL (añadido)
  // identificador de propiedad: 1 (índice de la propiedad nombre)
  $secuencia_carta->insert('Smith', NULL, 1);

  // Añadir un valor de apellido a la secuencia
  // valor: 'Jones'
  // índice de secuencia: NULL (añadido)
  // identificador de propiedad: 'apellido' (nombre de la propiedad apellido)
  $secuencia_carta->insert('Jones', NULL, 'apellido');

  // Añadir texto no estructurado
  // valor: 'Cancelar suscripción.'
  // índice de secuencia: ausente (añadido)
  // identificador de propiedad: ausente (texto no estructurado)
  $secuencia_carta->insert('Cancelar suscripción.');

  // Insertar nuevo texto no estructurado. Los valores de secuencia subsiguientes
  // son aumentados.
  // valor: 'Por medio de:'
  // índice de secuencia: 1 (insertado como segundo elemento)
  // identificador de propiedad: ausente (texto no estructurado)
  $secuencia_carta->insert('Por medio de:', 1);
?>

Ejemplo #6 Eliminar elementos de una secuencia

Se pueden usar las funciones isset() y unset() para comprobar y eliminar elementos de una secuencia (Nota: unset() actualmente deja los valores del objeto de datos, pero este comportamiento es probable que se cambie para que tambíen se eliminen los datos del mismo). Una secuencia se comporta como una lista contigua; por lo tanto, eliminar elementos de la mitad de la lista moverá hacia abajo las entradas en índices más altos. El siguiente ejemplo comprueba si el primer elemento de la secuencia está establecido, en cuyo caso los desestablece.

<?php
  if (isset($secuencia_carta[0])) {
    unset($secuencia_carta[0]);
  }
?>

Establecer y obtener valores de propiedades
Reflexión sobre Objetos de Datos de Servicio
Ejemplos


Reflexión sobre Objetos de Datos de Servicio

Los SDOs son conscientes de la estructura que representan y para la que fueron creados (el modelo). Por ejemplo, un SDO Compañía creado usando el esquema XML Compañía de arriba solamente le estaría permitido contener objetos de datos TipoDepartamento, los cuales a su vez sólo pueden contener objetos de datos TipoEmpleado.

A veces es útil poder acceder a la información del modelo en tiempo de ejecución. Por ejemplo, para generar automáticamente una interfaz de usuario y rellenar un objeto de datos. A la información del modelo se accede usando reflexión.

Ejemplo #1 Reflexión sobre un objeto de datos

El siguiente ejemplo muestra cómo se puede usar la reflexión en un objeto de datos Empleado vacío.

<?php
  // Crear el objeto de datos empleado (p.ej. desde un Servicio de Acceso a Datos XML)
  $empleado = ...;
  $reflexión = new SDO_Model_ReflectionDataObject($empleado);
  print($reflexión);
?>

El resultado del ejemplo sería:

object(SDO_Model_ReflectionDataObject)#4 { - ROOT OBJECT - Type {
ENCompañía:TipoEmpleado[3] { commonj.sdo:String $nombre;
commonj.sdo:String $NS; commonj.sdo:Boolean $director; } }

Al usar print con SDO_Model_ReflectionDataObject se escribe el modelo del objeto de datos. Se puede observar que el tipo ENCompañía:TipoEmpleado tiene tres propiedades, y que pueden verse sus nombres junto con sus tipos. Observe que los tipos primitivos están enumerados como tipos de SDO (p.ej. espacio de nombres commonj.sdo, tipo String). Esto es nada más y nada menos que el modelo del SDO, y cuando estos tipos aparecen en una aplicación, pueden ser tratados como sus tipos equivalentes de PHP (p.ej., string y booleano).

Ejemplo #2 Acceder a la información del tipo

Se puede consultar la información del tipo de un objeto de datos usando reflexión. El siguiente ejemplo comprueba el tipo que corresponde a un objeto de datos, en vez de un tipo primitivo, y luego recorre las propiedades del tipo, escribiendo el nombre de cada propiedad ($tipo y $propiedad son objetos SDO_Model_Type y SDO_Model_Property, respectivamente).

<?php
  // Crear el objeto de datos empleado (p.ej. desde un Servicio de Acceso a Datos XML)
    $empleado = ...;
    $reflexión = new SDO_Model_ReflectionDataObject($empleado);
    $tipo = $reflexión->getType();
    if (! $tipo->isDataType()) {
        foreach ($tipo->getProperties() as $propiedad) {
            print $propiedad->getName() . "\n";
        }
    }
?>

El resultado del ejemplo sería:

nombre
NS
director

Trabajar con objetos de datos secuenciados
Funciones de SDO
Ejemplos


Funciones de SDO

Servicios de Acceso a Datos

La tabla de abajo enumera los Servicios de Acceso a Datos (DAS) de SDO proporcionados actualmente:

Nombre del DAS | Descripción
SDO_DAS_XML | Un Servicio de Acceso a Datos XML que admite la lectura/escritura de SDOs como documentos XML.
SDO_DAS_Relational | Un Servicio de Acceso a Datos basado en PDO que admite la lectura/escritura de SDOs de bases de datos relacionales. Implementa una política de concurrencia optimista para actualizaciones.

Clases predefinidas

SDO consiste en tres conjuntos de interfaces. El primer conjunto cubre aquellas interfaces usadas por las aplicaciones SDO típicas. Están identificadas por el prefijo de paquete 'SDO_'. El segundo conjunto son aquellas usadas para reflejar, y trabajar con, el modelo de un objeto de datos. Están identificadas por el prefijo de paquete 'SDO_Model_'. Finalmente, el tercer conunto son aquellas usadas por las implementaciones de Servicio de Acceso a Datos y están identificadas por el prefijo de paquete 'SDO_DAS_'. La mayoría de los usuarios de SDO no necesitarán usar o comprender las interfaces 'SDO_Model_' y 'SDO_DAS_'.

Interfaz del Programador de Aplicaciones SDO

SDO_DataObject

Es la interfaz principal a través de la cual se manipulan los objetos de datos. Además de los métodos de abajo, SDO_DataObject amplía las interfaces ArrayAccess, SDO_PropertyAccess (define los métodos __get() / __set() para la sobrecarga de acceso a propiedades), Iterator, y Countable.

Métodos

  • getSequence - obtener la secuencia para el objeto de datos

  • createDataObject - crear un objeto de datos hijo

  • clear - desestablecer las propiedades de un objeto de datos

  • getContainer - obtener el contenedor (también conocido como 'padre') de este objeto de datos

  • getTypeName - obtener el nombre del tipo de este objeto de datos

  • getTypeNamespaceURI - obtener el URI del espacio de nombres del tipo de este objeto de datos

SDO_Sequence

Es la interfaz a través de la cual se puede acceder a los objetos de datos para mantener el orden de las propiedades de los objetos de datos y permitir texto no estructurado. SDO_Sequence mantiene los índices contiguos y, por consiguiente, al insertar o eliminar elementos, puede mover otros elementos hacia arriba o hacia abajo. Además de los métodos de abajo, SDO_Sequence amplía las interfaces ArrayAccess, Iterator y Countable.

Métodos

  • getProperty - obtener la propiedad de un índice de secuencia dado

  • move - mover un elemento desde un índice de propiedad a otro

  • insert - insertar un nuevo valor en la secuencia

SDO_List

Es la interfaz a través de la cual se manipulan las propiedades polievaluadas. Además de los métodos definidos abajo, SDO_List amplía ArrayAccess, Iterator y Countable. SDO_List mantiene los índices contiguos y, por consiguiente, al insertar o eliminar elementos, puede mover otros elementos hacia arriba o hacia abajo.

Métodos

  • insert - insertar un nuevo valor en la lista

SDO_DataFactory

Es la interfaz a través de la cual se pueden crear objetos de datos. Un Servicio de Acceso a Datos es el responsable de rellenar el modelo (esto es, configurar la fábrica de datos con la información de tipo y estructura de los objetos de datos que puede crear) para la fábrica y puede opcionalmente devolver una instancia de, o implementar, la interfaz SDO_DataFactory.

Métodos

  • create - crear un nuevo objeto de datos

SDO_Exception

Una SDO_Exception es lanzada cuando no se puede completar la solicitud del llamador. Las subclases de SDO_Exception son:

  • SDO_PropertyNotSetException - la propiedad especificada existe pero no ha sido establecida o no tiene un valor predeterminado.

  • SDO_PropertyNotFoundException - la propiedad especificada no es parte del tipo de objeto de datos

  • SDO_TypeNotFoundException - el URI del espacio de nombres o el nombre del tipo es desconocido

  • SDO_InvalidConversionException - la conversión entre los tipos de la asignación no es posible

  • SDO_IndexOutOfBoundsException - el índice numérico de un objeto de datos, la secuencia o la lista no están en el rango válido

  • SDO_UnsupportedOperationException - la petición no puede ser completada debido a que no está permitida, por ejemplo, un intento de establecer una propiedad de sólo lectura.

Métodos

Se añade un método a aquellas clases que heredan de la clase interna Exception:

  • getCause - obtener la causa de esta SDO_Exception

Interfaces del Programador de Aplicaciones de Reflexión de SDO

SDO_Model_ReflectionDataObject

Es la interfaz principal usada para reflejar una instancia de un objeto de datos para obtener la informaición de su tipo de modelo y propiedades. Está diseñada para seguir el patrón de reflexión introducido en PHP 5.

Constructor

  • __construct - construir un nuevo SDO_Model_ReflectionDataObject.

Métodos

  • export - obtener un string que describe el objeto de datos.

  • getType - obtener el SDO_Model_Type del objeto de datos.

  • getInstanceProperties - obtener las propiedades de la instancia del objeto de datos.

  • getContainmentProperty - obtener la propiedad que define la relación de contención del objeto de datos.

SDO_Model_Type

Es la interfaz a través de al cual se puede recuperar la información del tipo de un objeto de datos. Esta interfaz se puede usar para averiguar el nombre del tipo y el URI del espacio de nombres del tipo, si el tipo permite contenido abierto, etc.

Métodos

  • getName - obtener el nombre del tipo.

  • getNamespaceURI - obtener el URI del espacio de nombres del tipo.

  • isInstance - comprobar que un objeto de datos es una instancia del tipo.

  • getProperties - obtener las propiedades del tipo.

  • getProperty - obtener una propiedad del tipo.

  • isDataType - comprobar si este tipo es un tipo escalar primitivo.

  • isSequencedType - comprobar si éste es un tipo secuenciado.

  • isOpenType - comprobar si éste es un tipo abierto.

  • isAbstractType - comprobar si éste es un tipo abstracto.

  • getBaseType - obtener el tipo base de este tipo (si existe uno).

SDO_Model_Property

Es la interfaz a través de la cual se puede recuperar la información de las propiedades de un objeto de datos. Esta interfaz se puede usar para averiguar el tipo de una propiedad, si una propiedad tiene un valor predeterminado, si la propiedad está contenida o hace referencia a su padre, su cardinalidad, etc.

Métodos

  • getName - obtener el nombre de la propiedad.

  • getType - obtener el tipo de la propiedad.

  • isMany - comprobar si la propiedad es polievaluada.

  • isContainment - comprobar si la propiedad describe una relación de contención.

  • getContainingType - obtener el tipo que contiene esta propiedad.

  • getDefault - obtener el valor predeterminado de una propiedad.

Interfaces del Desarrollador de Servicios de Acceso a Datos de SDO

SDO_DAS_DataObject

Es la interfaz a través de la cual un Servicio de Acceso a Datos puede acceder al SDO_DAS_ChangeSummary de un objeto de datos. El resumen de cambios es usado por el Servicio de Acceso a Datos para comprobar si hay conflictos al aplicar los cambios a una fuente de datos.

Métodos

  • getChangeSummary - obtener el resumen de cambios de un objeto de datos

SDO_DAS_ChangeSummary

Es la interfaz a través de la cual se accede al historial de cambios de un objeto de datos. El resumen de cambios contiene información de cualquier modificación hecha a un objeto de datos que suceda desde que la identificación fue activada. En el caso de eliminaciones y modificaciones, los valores antiguos también están contenidos en el resumen de cambios.

Si la identificación ya no está activa, el resumen de cambios sólo contendrá los cambios hechos hasta el punto donde la identificación fue desactivada. La reactivación de la identificación limpia el resumen de cambios. Esto es útil cuado un conjunto de cambios ha sido escrito por un DAS y el objeto de datos va a ser reusado.

Métodos

  • beginLogging - comenzar a registrar los cambios hechos en un objeto de datos

  • endLogging - finalizar de registrar los cambios hechos en un objeto de datos

  • isLogging - comprobar si el registro de cambios está activad

  • getChangedDataObjects - obtener una lista de los objetos de datos que han sido cambiados

  • getChangeType - obtener el tipo de cambio hecho a un objeto de datos

  • getOldValues - obtener una lista de los valores antiguos de un objeto de datos

  • getOldContainer - obtener el objeto de datos contenedor antiguo de un objeto de datos eliminado

SDO_DAS_Setting

Es la interfaz a través de la cual se accede al valor antiguo de una propiedad. El método de resumen de cambios getOldValues devuelve una lista.

Métodos

  • getPropertyIndex - obtener el índice de la propiedad cambiada

  • getPropertyName - obtener el nombre de la propiedad cambiada

  • getValue - obtener el valor antiguo de la propiedad cambiada

  • getListIndex - obtener el índice de la lista del valor antiguo si era parte de una propiedad polievaluada.

  • isSet - comprobar si la propiedad estaba establecida antes de ser modificada

SDO_DAS_DataFactory

Es la interfaz para contruir el modelo de un SDO_DataObject. SDO_DAS_DataFactory es una clase abstracta que proporciona un método estático que devuelve una implementación de fábrica de datos concreta. La implementación es usada por los Servicios de Acceso a Datos para crear un modelo SDO a partir de su modelo. Por ejemplo, un Servicio de Acceso a Datos Relacionales podría crear y rellenar un modelo SDO_DAS_DataFactory basado en un esquema de una base de datos relacional.

Métodos

  • getDataFactory - método estático para obtener una instancia de una fábrica de datos concreta

  • addType - añadir un nuevo tipo al modelo SDO

  • addPropertyToType - añadir una nueva propiedad a una definición de tipo en el modelo SDO

Tabla de contenidos

  • SDO_DAS_ChangeSummary::beginLogging — Comenzar a registrar los cambios
  • SDO_DAS_ChangeSummary::endLogging — Terminar de registrar cambios
  • SDO_DAS_ChangeSummary::getChangeType — Obtener el tipo de cambio hecho a un SDO_DataObject
  • SDO_DAS_ChangeSummary::getChangedDataObjects — Obtener los objetos de datos cambiados de un resumen de cambios
  • SDO_DAS_ChangeSummary::getOldContainer — Obtener el contenedor antiguo de un SDO_DataObject eliminado
  • SDO_DAS_ChangeSummary::getOldValues — Obtener los valores antiguos de un SDO_DataObject cambiado dado
  • SDO_DAS_ChangeSummary::isLogging — Comprobar si el registro de cambios está activado
  • SDO_DAS_DataFactory::addPropertyToType — Añadir una propiedad a un tipo
  • SDO_DAS_DataFactory::addType — Añadir un nuevo tipo a un modelo
  • SDO_DAS_DataFactory::getDataFactory — Obtener una instancia de una fábrica de datos
  • SDO_DAS_DataObject::getChangeSummary — Obtener un resumen de cambios de un objeto de datos
  • SDO_DAS_Setting::getListIndex — Obtener el índice de la lista de una propiedad polievaluada cambiada
  • SDO_DAS_Setting::getPropertyIndex — Obtener el índice de propiedad de una propiedad cambiada
  • SDO_DAS_Setting::getPropertyName — Obtener el nombre de propiedad de una propiedad cambiada
  • SDO_DAS_Setting::getValue — Obtener el valor antiguo de una propiedad cambiada
  • SDO_DAS_Setting::isSet — Comprobar si una propiedad estaba establecida antes de ser modificada
  • SDO_DataFactory::create — Crear un SDO_DataObject
  • SDO_DataObject::clear — Limpiar las propiedades de un SDO_DataObject
  • SDO_DataObject::createDataObject — Crear un SDO_DataObject hijo
  • SDO_DataObject::getContainer — Obtener el contenedor de un objeto de datos
  • SDO_DataObject::getSequence — Obtener la secuencia de un objeto de datos
  • SDO_DataObject::getTypeName — Devolver el nombre del tipo de un objeto de datos
  • SDO_DataObject::getTypeNamespaceURI — Devolver el URI del espacio de nombre del tipo de un objeto de datos.
  • SDO_Exception::getCause — Obtener la causa de la excepción.
  • SDO_List::insert — Insertar en una lista
  • SDO_Model_Property::getContainingType — Obtener el SDO_Model_Type que contiene esta propiedad
  • SDO_Model_Property::getDefault — Obtener el valor predeterminado de la propiedad
  • SDO_Model_Property::getName — Obtener el nombre del SDO_Model_Property
  • SDO_Model_Property::getType — Obtener el SDO_Model_Type de la propiedad
  • SDO_Model_Property::isContainment — Comprobar si la propiedad define una relación de contención
  • SDO_Model_Property::isMany — Comprobar si la propiedad es polievaluada
  • SDO_Model_ReflectionDataObject::__construct — Contruir un SDO_Model_ReflectionDataObject
  • SDO_Model_ReflectionDataObject::export — Obtener una cadena que describe el SDO_DataObject.
  • SDO_Model_ReflectionDataObject::getContainmentProperty — Obtener la propiedad que define la relación de contención del objeto de datos
  • SDO_Model_ReflectionDataObject::getInstanceProperties — Obtener las propiedades de instancia del SDO_DataObject
  • SDO_Model_ReflectionDataObject::getType — Obtener el SDO_Model_Type del SDO_DataObject
  • SDO_Model_Type::getBaseType — Obtener el tipo base de este tipo
  • SDO_Model_Type::getName — Obtener el nombre del tipo
  • SDO_Model_Type::getNamespaceURI — Obtener el URI del espacio de nombres del tipo
  • SDO_Model_Type::getProperties — Obtener los objetos SDO_Model_Property definidos en el tipo
  • SDO_Model_Type::getProperty — Obtener un SDO_Model_Property del tipo
  • SDO_Model_Type::isAbstractType — Comprobar si este SDO_Model_Type es un tipo de datos abstracto
  • SDO_Model_Type::isDataType — Comprobar si este SDO_Model_Type es un tipo de datos primitivo
  • SDO_Model_Type::isInstance — Comprobar si un SDO_DataObject es una instancia de este SDO_Model_Type
  • SDO_Model_Type::isOpenType — Comprobar si este tipo es un tipo abierto
  • SDO_Model_Type::isSequencedType — Comprobar si este tipo es un tipo secuenciado
  • SDO_Sequence::getProperty — Devolver una propiedad para el índice de secuencia especificado.
  • SDO_Sequence::insert — Insertar en una secuencia
  • SDO_Sequence::move — Mover un elemento a otra posición de la secuencia
Reflexión sobre Objetos de Datos de Servicio
SDO_DAS_ChangeSummary::beginLogging
SDO


Comenzar a registrar los cambios

Funciones de SDO
SDO_DAS_ChangeSummary::endLogging
Funciones de SDO
PHP Manual

SDO_DAS_ChangeSummary::beginLogging

(^)

SDO_DAS_ChangeSummary::beginLogging — Comenzar a registrar los cambios

Descripción

void SDO_DAS_ChangeSummary::beginLogging ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Comienza a registrar los cambio hecho en el SDO_DataObject.

Parámetros

Ninguno.

Valores devueltos

Ninguno.

Funciones de SDO
SDO_DAS_ChangeSummary::endLogging
Funciones de SDO


Terminar de registrar cambios

SDO_DAS_ChangeSummary::beginLogging
SDO_DAS_ChangeSummary::getChangeType
Funciones de SDO
PHP Manual

SDO_DAS_ChangeSummary::endLogging

(^)

SDO_DAS_ChangeSummary::endLogging — Terminar de registrar cambios

Descripción

void SDO_DAS_ChangeSummary::endLogging ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Termina de registrar los cambios hechos a un SDO_DataObject.

Parámetros

Ninguno.

Valores devueltos

Ninguno.

SDO_DAS_ChangeSummary::beginLogging
SDO_DAS_ChangeSummary::getChangeType
Funciones de SDO


Obtener el tipo de cambio hecho a un SDO_DataObject

SDO_DAS_ChangeSummary::endLogging
SDO_DAS_ChangeSummary::getChangedDataObjects
Funciones de SDO
PHP Manual

SDO_DAS_ChangeSummary::getChangeType

(^)

SDO_DAS_ChangeSummary::getChangeType — Obtener el tipo de cambio hecho a un SDO_DataObject

Descripción

int SDO_DAS_ChangeSummary::getChangeType ( SDO_DataObject $dataObject )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Obtiene el tipo de cambio que ha sido hecho al SDO_DataObject proporcionado.

Parámetros

dataObject

El SDO_DataObject que ha sido cambiado.

Valores devueltos

El tipo de cambio que ha sido hecho. El tipo de cambio está expresado como una enumeración y será uno de los siguientes cuatro valores:

  • SDO_DAS_ChangeSummary::NONE

  • SDO_DAS_ChangeSummary::MODIFICATION

  • SDO_DAS_ChangeSummary::ADDITION

  • SDO_DAS_ChangeSummary::DELETION

SDO_DAS_ChangeSummary::endLogging
SDO_DAS_ChangeSummary::getChangedDataObjects
Funciones de SDO


Obtener los objetos de datos cambiados de un resumen de cambios

SDO_DAS_ChangeSummary::getChangeType
SDO_DAS_ChangeSummary::getOldContainer
Funciones de SDO
PHP Manual

SDO_DAS_ChangeSummary::getChangedDataObjects

(^)

SDO_DAS_ChangeSummary::getChangedDataObjects — Obtener los objetos de datos cambiados de un resumen de cambios

Descripción

SDO_List SDO_DAS_ChangeSummary::getChangedDataObjects ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Obtiene una SDO_List de los SDO_DataObjects que han sido cambiados. Estos objetos de datos pueden ser usados para identificar los tipos de cambios hechos, junto con los valores antigos.

Parámetros

Ninguno.

Valores devueltos

Devuelve una SDO_List de SDO_DataObjects.

SDO_DAS_ChangeSummary::getChangeType
SDO_DAS_ChangeSummary::getOldContainer
Funciones de SDO


Obtener el contenedor antiguo de un SDO_DataObject eliminado

SDO_DAS_ChangeSummary::getChangedDataObjects
SDO_DAS_ChangeSummary::getOldValues
Funciones de SDO
PHP Manual

SDO_DAS_ChangeSummary::getOldContainer

(^)

SDO_DAS_ChangeSummary::getOldContainer — Obtener el contenedor antiguo de un SDO_DataObject eliminado

Descripción

SDO_DataObject SDO_DAS_ChangeSummary::getOldContainer ( SDO_DataObject $data_object )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Obtiene el contenedor antiguo (SDO_DataObject) de un SDO_DataObject eliminado.

Parámetros

data_object

El SDO_DataObject que ha sido eliminado y cuyo contenedor se desea identificar.

Valores devueltos

El objeto de datos contenedor antiguo del SDO_DataObject eliminado.

SDO_DAS_ChangeSummary::getChangedDataObjects
SDO_DAS_ChangeSummary::getOldValues
Funciones de SDO


Obtener los valores antiguos de un SDO_DataObject cambiado dado

SDO_DAS_ChangeSummary::getOldContainer
SDO_DAS_ChangeSummary::isLogging
Funciones de SDO
PHP Manual

SDO_DAS_ChangeSummary::getOldValues

(^)

SDO_DAS_ChangeSummary::getOldValues — Obtener los valores antiguos de un SDO_DataObject cambiado dado

Descripción

SDO_List SDO_DAS_ChangeSummary::getOldValues ( SDO_DataObject $data_object )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Obtiene una lista de los valores antiguos de un SDO_DataObject cambiado dado. Devuelve una lista de SDO_DAS_Settings que describe los valores antiguos de las propiedades cambiadas del SDO_DataObject.

Parámetros

data_object

El objeto de datos que ha sido cambiado.

Valores devueltos

Una lista de SDO_DAS_Settings que describe los valores antiguos de las propiedades cambiadas del SDO_DataObject. Si el tipo de cambio es SDO_DAS_ChangeSummary::ADDITION, esta lista estará vacía.

SDO_DAS_ChangeSummary::getOldContainer
SDO_DAS_ChangeSummary::isLogging
Funciones de SDO


Comprobar si el registro de cambios está activado

SDO_DAS_ChangeSummary::getOldValues
SDO_DAS_DataFactory::addPropertyToType
Funciones de SDO
PHP Manual

SDO_DAS_ChangeSummary::isLogging

(^)

SDO_DAS_ChangeSummary::isLogging — Comprobar si el registro de cambios está activado

Descripción

bool SDO_DAS_ChangeSummary::isLogging ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Comprueba si el registro de cambios está activado.

Parámetros

None.

Valores devueltos

Devuelve TRUE si el registro de cambios está activado, si no, devuelve FALSE.

SDO_DAS_ChangeSummary::getOldValues
SDO_DAS_DataFactory::addPropertyToType
Funciones de SDO


Añadir una propiedad a un tipo

SDO_DAS_ChangeSummary::isLogging
SDO_DAS_DataFactory::addType
Funciones de SDO
PHP Manual

SDO_DAS_DataFactory::addPropertyToType

(^)

SDO_DAS_DataFactory::addPropertyToType — Añadir una propiedad a un tipo

Descripción

void SDO_DAS_DataFactory::addPropertyToType ( string $parent_type_namespace_uri , string $parent_type_name , string $property_name , string $type_namespace_uri , string $type_name [, array $options ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Añade una propiedad a un tipo. El tipo debe ser conocido por SDO_DAS_DataFactory (esto es, ha sido añadido usando addType()). La propiedad se convierte en un propiedad del tipo. Así es como se construye el modelo de grafo para la esctructura de un SDO_DataObject.

Parámetros

parent_type_namespace_uri

El URI del espacio de nombres del tipo padre.

parent_type_name

El nombre del tipo del tipo padre.

property_name

El nombre por el cual la propiedad será conocida en el tipo padre.

type_namespace_uri

El URI del espacio de nombres del tipo de la propiedad.

type_name

El nombre del tipo del tipo de la propiedad.

options

Este array contiene uno o más pares clave=>valor para establecer los valores de los atributos de la propiedad. Las palabras clave opcionales son:

many

Una bandera para indicar si la propiedad es polievaluada. Un valor de 'true' añade la propiedad como una propiedad polievaluada (por defecto es 'false').

readOnly

Una bandera para indicar si la propiedad es de sólo lectura. Un valor de 'true' significa que el valor de la propiedad no puede ser modificado a través de las APIs de la aplicación de SDO APIs (por defecto es 'false').

containment

Una bandera que indica si la propiedad está contenida por el padre. Un valor de 'true' significa que la propiedad está contenida por el padre. Un valore de 'false' resulta en una referencia de no contención (por defecto es 'true'). Esta bandera sólo es interpretada al añadir propiedades que son tipos de objetos de datos, de otro modo es ignorada.

default

Un valor por defecto para la propiedad. La omisión de esta clave significa que la propiedad no tiene un valor por defecto. Una propiedad puede tener un valor por defecto si es un tipo de datos monoevaluado (primitivo).

Valores devueltos

None.

Historial de cambios

Versión | Descripción
0.5.2 | Los parámetros opcionales many, readOnly, and containment declarados obsoletos en favor del array options.

Ejemplos

Ejemplo #1 Un ejemplo de SDO_DAS_DataFactory::addPropertyToType()

Lo siguiente añade una propiedad 'addressline' a un tipo Persona (Person). El tipo persona es identificado por su espacio de nombres, 'PersonNS', y por su nombre de tipo, 'PersonType'. El tipo de la propiedad 'addressline' es un tipo de datos SDO polievaluada (primitiva) con el espacio de nombres 'commonj.sdo' y el nombre del tipo 'String'.

<?php
  $df->addPropertyToType('PersonNS', 'PersonType',
    'addressline', 'commonj.sdo', 'String', array('many'=>true));
?>

SDO_DAS_ChangeSummary::isLogging
SDO_DAS_DataFactory::addType
Funciones de SDO


Añadir un nuevo tipo a un modelo

SDO_DAS_DataFactory::addPropertyToType
SDO_DAS_DataFactory::getDataFactory
Funciones de SDO
PHP Manual

SDO_DAS_DataFactory::addType

(^)

SDO_DAS_DataFactory::addType — Añadir un nuevo tipo a un modelo

Descripción

void SDO_DAS_DataFactory::addType ( string $type_namespace_uri , string $type_name [, array $options ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Añade un nuevo tipo al SDO_DAS_DataFactory, definido por su espacio de nombres y nombre de tipo. El tipo se convierte en parte del modelo de los objetos de datos que la fábriva de datos puede crear.

Parámetros

type_namespace_uri

El espacio de nombres del tipo

type_name

El nombre del tipo.

options

Este array contiene un o más pares clave=>valor para establecer valores de atributos del tipo. Las palabras clave opcionales son:

open

Una bandera para indicar si el tipo es abierto. Un objeto SDO_DataObject cuyo tipo es abierto puede tener propiedades añadidas a ellas que no están descritas por el tipo. Este capacidad se usa para el soporte para trabajar con documentos XML documents cuyo esquema soporta contenido abierto como el descrito por un elemento <xsd:any>. El valor por defecto es 'false'.

sequenced

Una bandera para indicar si el tipo es secuenciado. Los tipos secuenciados tienen el orden de las propiedades preservado y pueden contener texto no estructurado. El valor por defecto es 'false'. Para más información sobre tipos secuenciados véase la sección sobre Trabajar con Objetos de Datos Secuenciados.

basetype

Si se especifica, un array de URIs de espacios de nombres y cadenas de nombres de tipo del tipo desde el cual deriva este tipo. Un ejemplo del uso de tipos básicos es cuando un tipo deriva de un esquema XML que hereda de otro tipo usando <extension base="...">.

Valores devueltos

None.

Ejemplos

Ejemplo #1 Un ejemplo de SDO_DAS_DataFactory::addType()

Lo siguiente añade un nuevo tipo de objeto de datos 'CompanyType' donde ese tipo pertenece al espacio de nombres 'CompanyNS'.

<?php
  $df->addType('CompanyNS', 'CompanyType');
?>

SDO_DAS_DataFactory::addPropertyToType
SDO_DAS_DataFactory::getDataFactory
Funciones de SDO


Obtener una instancia de una fábrica de datos

SDO_DAS_DataFactory::addType
SDO_DAS_DataObject::getChangeSummary
Funciones de SDO
PHP Manual

SDO_DAS_DataFactory::getDataFactory

(^)

SDO_DAS_DataFactory::getDataFactory — Obtener una instancia de una fábrica de datos

Descripción

SDO_DAS_DataFactory SDO_DAS_DataFactory::getDataFactory ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Método estático para obtener una instancia de un SDO_DAS_DataFactory. Esta instancia está configurada inicialmente con los tipos básicos de SDO. Un Servicio de Acceso a Datos (DAS) es el responsable de rellenar el modelo de fábrica de datos y permitir a las aplicaciones de PHP crear SDOs basados en el modelo a través de la interfaz SDO_DataFactory. Las aplicaciones de PHP deberían siempre obtener una fábrica de datos desde un Servicio de Acceso a Datos configurado, no a través de esta interfaz.

Parámetros

None.

Valores devueltos

Devuelve un SDO_DAS_DataFactory.

SDO_DAS_DataFactory::addType
SDO_DAS_DataObject::getChangeSummary
Funciones de SDO


Obtener un resumen de cambios de un objeto de datos

SDO_DAS_DataFactory::getDataFactory
SDO_DAS_Setting::getListIndex
Funciones de SDO
PHP Manual

SDO_DAS_DataObject::getChangeSummary

(^)

SDO_DAS_DataObject::getChangeSummary — Obtener un resumen de cambios de un objeto de datos

Descripción

SDO_DAS_ChangeSummary SDO_DAS_DataObject::getChangeSummary ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Obtiene el SDO_DAS_ChangeSummary de un SDO_DAS_DataObject, o NULL si no tiene un resumen de cambios.

Parámetros

Ninguno.

Valores devueltos

Devuelve el SDO_DAS_ChangeSummary de un SDO_DAS_DataObject, o NULL si no tiene un registro de cambios.

SDO_DAS_DataFactory::getDataFactory
SDO_DAS_Setting::getListIndex
Funciones de SDO


Obtener el índice de la lista de una propiedad polievaluada cambiada

SDO_DAS_DataObject::getChangeSummary
SDO_DAS_Setting::getPropertyIndex
Funciones de SDO
PHP Manual

SDO_DAS_Setting::getListIndex

(^)

SDO_DAS_Setting::getListIndex — Obtener el índice de la lista de una propiedad polievaluada cambiada

Descripción

int SDO_DAS_Setting::getListIndex ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Obtiene el índice de la lista de una modificación hecha a un elemento de una propiedad polievaluada. Por ejemplo, se se modifica el tercer elemento de una propiedad polievaluada se podría obtener un SDO_DAS_Setting desde el resumen de cambios correspondiente a esa modificación. Una llamada a getListIndex() sobre ese marco devolvería el valor 2 (las listas están indexadas desde cero).

Parámetros

None.

Valores devueltos

El índice de la lista del elemento de la propiedad polievaluada que ha sido cambiado.

SDO_DAS_DataObject::getChangeSummary
SDO_DAS_Setting::getPropertyIndex
Funciones de SDO


Obtener el índice de propiedad de una propiedad cambiada

SDO_DAS_Setting::getListIndex
SDO_DAS_Setting::getPropertyName
Funciones de SDO
PHP Manual

SDO_DAS_Setting::getPropertyIndex

(^)

SDO_DAS_Setting::getPropertyIndex — Obtener el índice de propiedad de una propiedad cambiada

Descripción

int SDO_DAS_Setting::getPropertyIndex ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Devuelve el índice de propiedad de una propiedad cambiada. Este índice identifica la propiedad que fue modificada en el objeto de datos.

Parámetros

Ninguno.

Valores devueltos

El índice de propiedad de una propiedad cambiada.

SDO_DAS_Setting::getListIndex
SDO_DAS_Setting::getPropertyName
Funciones de SDO


Obtener el nombre de propiedad de una propiedad cambiada

SDO_DAS_Setting::getPropertyIndex
SDO_DAS_Setting::getValue
Funciones de SDO
PHP Manual

SDO_DAS_Setting::getPropertyName

(^)

SDO_DAS_Setting::getPropertyName — Obtener el nombre de propiedad de una propiedad cambiada

Descripción

string SDO_DAS_Setting::getPropertyName ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Devuelve el nombre de propiedad de la propiedad cambiada. Este nombre identifica la propiedad que fue modificada en el objeto de datos.

Parámetros

Ninguno.

Valores devueltos

El nombre de propiedad de una propiedad cambiada.

SDO_DAS_Setting::getPropertyIndex
SDO_DAS_Setting::getValue
Funciones de SDO


Obtener el valor antiguo de una propiedad cambiada

SDO_DAS_Setting::getPropertyName
SDO_DAS_Setting::isSet
Funciones de SDO
PHP Manual

SDO_DAS_Setting::getValue

(^)

SDO_DAS_Setting::getValue — Obtener el valor antiguo de una propiedad cambiada

Descripción

mixed SDO_DAS_Setting::getValue ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Devuelve el valor antiguo de la propiedad cambiada. Puede ser usado por un Servicio de Acceso a Datos (DAS)cuando se escriben actualizaciones en un origen de datos. El DAS utiliza el valor antiguo para detectar conflictos comparándolo con el valor actual del origen de datos. Si no coinciden, el origen de datos ha sido actualizado ya que el objeto de datos fue rellenado originalmente, y así al escribir cualquier nueva actualización se arriesga el compromiso de integridad de datos.

Parámetros

Ninguno.

Valores devueltos

Devuelve el valor antiguo de una propiedad cambiada.

SDO_DAS_Setting::getPropertyName
SDO_DAS_Setting::isSet
Funciones de SDO


Comprobar si una propiedad estaba establecida antes de ser modificada

SDO_DAS_Setting::getValue
SDO_DataFactory::create
Funciones de SDO
PHP Manual

SDO_DAS_Setting::isSet

(^)

SDO_DAS_Setting::isSet — Comprobar si una propiedad estaba establecida antes de ser modificada

Descripción

bool SDO_DAS_Setting::isSet ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Comprueba si una propiedad estaba establecida antes de ser modificada. Si lo estaba, el SDO_DAS_Setting también contendrá el valor antiguo.

Parámetros

Ninguno.

Valores devueltos

Devuelve TRUE si la propiedad estaba establecida antes de ser modificada, si no, devuelve FALSE.

SDO_DAS_Setting::getValue
SDO_DataFactory::create
Funciones de SDO


Crear un SDO_DataObject

SDO_DAS_Setting::isSet
SDO_DataObject::clear
Funciones de SDO
PHP Manual

SDO_DataFactory::create

(^)

SDO_DataFactory::create — Crear un SDO_DataObject

Descripción

void SDO_DataFactory::create ( string $type_namespace_uri , string $type_name )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Crea un nuevo SDO_DataObject dados el URI del espacio de nombres y el nombre del tipo del objeto de datos.

Parámetros

type_namespace_uri

El espacio de nombres del tipo.

type_name

El nombre del tipo.

Valores devueltos

Devuelve el recién creado SDO_DataObject.

Errores/Excepciones

SDO_TypeNotFoundException

Es lanzada siel URI del espacio de nombres y el nombre del tipo no se corresponden con un tipo conocido de esta fábrica de datos.

SDO_DAS_Setting::isSet
SDO_DataObject::clear
Funciones de SDO


Limpiar las propiedades de un SDO_DataObject

SDO_DataFactory::create
SDO_DataObject::createDataObject
Funciones de SDO
PHP Manual

SDO_DataObject::clear

(^)

SDO_DataObject::clear — Limpiar las propiedades de un SDO_DataObject

Descripción

void SDO_DataObject::clear ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Limpia las propiedades de un SDO_DataObject. Las propiedades de sólo lectura no son afectadas. Las subsiguientes llamadas a isset() para el objeto de datos devolverán FALSE.

Parámetros

Ninguno.

Valores devueltos

No devuelve ningún valor.

SDO_DataFactory::create
SDO_DataObject::createDataObject
Funciones de SDO


Crear un SDO_DataObject hijo

SDO_DataObject::clear
SDO_DataObject::getContainer
Funciones de SDO
PHP Manual

SDO_DataObject::createDataObject

(^)

SDO_DataObject::createDataObject — Crear un SDO_DataObject hijo

Descripción

SDO_DataObject SDO_DataObject::createDataObject ( mixed $identifier )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Crea un SDO_DataObject hijo del tipo predeterminado para la propiedad identificada. El objeto de datos es insertado automáticamente en el árbol y se devuelve una referencia a él.

Parámetros

identifier

Identifica la propiedad para el tipo de objeto de datos a ser creado. Puede ser un nombre de propiedad (string), un índice de propiedad (int), o un SDO_Model_Property.

Valores devueltos

Devuelve el recién creado SDO_DataObject.

Errores/Excepciones

SDO_PropertyNotFoundException

Es lanzada si el identificador no se corresponde con una propiedad del objeto de datos.

SDO_DataObject::clear
SDO_DataObject::getContainer
Funciones de SDO


Obtener el contenedor de un objeto de datos

SDO_DataObject::createDataObject
SDO_DataObject::getSequence
Funciones de SDO
PHP Manual

SDO_DataObject::getContainer

(^)

SDO_DataObject::getContainer — Obtener el contenedor de un objeto de datos

Descripción

SDO_DataObject SDO_DataObject::getContainer ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Obtiene el objeto de datos que contiene este objeto de datos.

Parámetros

Ninguno.

Valores devueltos

Devuelve el SDO_DataObject que contiene este SDO_DataObject, o NULL si éste es un SDO_DataObject raíz (es decir, no tiene contenedor).

SDO_DataObject::createDataObject
SDO_DataObject::getSequence
Funciones de SDO


Obtener la secuencia de un objeto de datos

SDO_DataObject::getContainer
SDO_DataObject::getTypeName
Funciones de SDO
PHP Manual

SDO_DataObject::getSequence

(^)

SDO_DataObject::getSequence — Obtener la secuencia de un objeto de datos

Descripción

SDO_Sequence SDO_DataObject::getSequence ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Devuelve la SDO_Sequence para este SDO_DataObject. El acceso al SDO_DataObject a través de la interfaz SDO_Sequence actúa sobre los mismos datos de la instancia SDO_DataObject, pero preserva el orden de las propiedades.

Parámetros

None.

Valores devueltos

La SDO_Sequence para este SDO_DataObject, o NULL si el SDO_DataObject no es un tipo que pueda tener una secuencia.

SDO_DataObject::getContainer
SDO_DataObject::getTypeName
Funciones de SDO


Devolver el nombre del tipo de un objeto de datos

SDO_DataObject::getSequence
SDO_DataObject::getTypeNamespaceURI
Funciones de SDO
PHP Manual

SDO_DataObject::getTypeName

(^)

SDO_DataObject::getTypeName — Devolver el nombre del tipo de un objeto de datos

Descripción

string SDO_DataObject::getTypeName ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Devuelve elnombre del tipo de un objeto de datos. Es un método conveniente correspondiente a SDO_Model_ReflectionDataObject::getType().getName().

Parámetros

Ninguno.

Valores devueltos

El nombre del tipo del objeto de datos.

SDO_DataObject::getSequence
SDO_DataObject::getTypeNamespaceURI
Funciones de SDO


Devolver el URI del espacio de nombre del tipo de un objeto de datos.

SDO_DataObject::getTypeName
SDO_Exception::getCause
Funciones de SDO
PHP Manual

SDO_DataObject::getTypeNamespaceURI

(^)

SDO_DataObject::getTypeNamespaceURI — Devolver el URI del espacio de nombre del tipo de un objeto de datos.

Descripción

string SDO_DataObject::getTypeNamespaceURI ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Devuelve el URI del espacio de nombres del tipo de un objeto de datos. Un método conveniente correspondiente a SDO_Model_ReflectionDataObject::getType().getNamespaceURI().

Parámetros

Ninguno.

Valores devueltos

El URI del espacio de nombres del tipo del objeto de datos

SDO_DataObject::getTypeName
SDO_Exception::getCause
Funciones de SDO


Obtener la causa de la excepción.

SDO_DataObject::getTypeNamespaceURI
SDO_List::insert
Funciones de SDO
PHP Manual

SDO_Exception::getCause

(^)

SDO_Exception::getCause — Obtener la causa de la excepción.

Descripción

mixed SDO_Exception::getCause ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Devuelve la causa de esta excepción o NULL si la causa no existe o es desconocida. Normalmente la causa será un objeto SDO_CPPException, el cual puede usarse para obtener información adicional de diagnóstico.

Parámetros

Ninguno.

Valores devueltos

Devuelve la causa de esta excepción o NULL si la causa no existe o es desconocida.

SDO_DataObject::getTypeNamespaceURI
SDO_List::insert
Funciones de SDO


Insertar en una lista

SDO_Exception::getCause
SDO_Model_Property::getContainingType
Funciones de SDO
PHP Manual

SDO_List::insert

(^)

SDO_List::insert — Insertar en una lista

Descripción

void SDO_List::insert ( mixed $value [, int $index ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Inserta un nuevo elemento en la posición especificada de la lista. Todos los elementos subsiguientes son movidos hacia arriba.

Parámetros

value

El nuevo valor a insertar. Puede ser un primitivo o un SDO_DataObject.

index

La posición en la que insertar el nuevo elemento. Si este argumento no se especifica el nuevo valor será añadido al final.

Valores devueltos

None.

Errores/Excepciones

SDO_IndexOutOfBoundsException

Lanzada si el índice de la lista es menor que cero o mayor que el tamaño de la lista.

SDO_InvalidConversionException

Lanzada si el tipo del nuevo valor no coincide con el tipo de la lista (p.ej. el tipo de la propiedad polievaluada que la lista representa).

SDO_Exception::getCause
SDO_Model_Property::getContainingType
Funciones de SDO


Obtener el SDO_Model_Type que contiene esta propiedad

SDO_List::insert
SDO_Model_Property::getDefault
Funciones de SDO
PHP Manual

SDO_Model_Property::getContainingType

(^)

SDO_Model_Property::getContainingType — Obtener el SDO_Model_Type que contiene esta propiedad

Descripción

SDO_Model_Type SDO_Model_Property::getContainingType ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Devuelve el SDO_Model_Type que contiene esta propiedad.

Parámetros

Ninguno.

Valores devueltos

Devuelve el SDO_Model_Type que contiene esta propiedad.

SDO_List::insert
SDO_Model_Property::getDefault
Funciones de SDO


Obtener el valor predeterminado de la propiedad

SDO_Model_Property::getContainingType
SDO_Model_Property::getName
Funciones de SDO
PHP Manual

SDO_Model_Property::getDefault

(^)

SDO_Model_Property::getDefault — Obtener el valor predeterminado de la propiedad

Descripción

mixed SDO_Model_Property::getDefault ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Devuelve el valor predeterminado de la propiedad. Sólo las propiedades de tipos de datos primitivos pueden tener valores predeterminados.

Parámetros

Ninguno.

Valores devueltos

Devuelve el valor predeterminado de la propiedad.

SDO_Model_Property::getContainingType
SDO_Model_Property::getName
Funciones de SDO


Obtener el nombre del SDO_Model_Property

SDO_Model_Property::getDefault
SDO_Model_Property::getType
Funciones de SDO
PHP Manual

SDO_Model_Property::getName

(^)

SDO_Model_Property::getName — Obtener el nombre del SDO_Model_Property

Descripción

string SDO_Model_Property::getName ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Devuelve el nombre del SDO_Model_Property.

Parámetros

Ninguno.

Valores devueltos

Devuelve el nombre del SDO_Model_Property.

SDO_Model_Property::getDefault
SDO_Model_Property::getType
Funciones de SDO


Obtener el SDO_Model_Type de la propiedad

SDO_Model_Property::getName
SDO_Model_Property::isContainment
Funciones de SDO
PHP Manual

SDO_Model_Property::getType

(^)

SDO_Model_Property::getType — Obtener el SDO_Model_Type de la propiedad

Descripción

SDO_Model_Type SDO_Model_Property::getType ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Obtiene el SDO_Model_Type de la propiedad. El SDO_Model_Type describe la información de tipo de la propiedad, como su nombre de tipo, URI del espacio de nombres, si es un tipo de datos primitivo, etc.

Parámetros

Ninguno.

Valores devueltos

Devuelve el SDO_Model_Type que describe la información del tipo de propiedad.

SDO_Model_Property::getName
SDO_Model_Property::isContainment
Funciones de SDO


Comprobar si la propiedad define una relación de contención

SDO_Model_Property::getType
SDO_Model_Property::isMany
Funciones de SDO
PHP Manual

SDO_Model_Property::isContainment

(^)

SDO_Model_Property::isContainment — Comprobar si la propiedad define una relación de contención

Descripción

bool SDO_Model_Property::isContainment ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Comprueba si la propiedad se corresponde con una relación de contención. Devuelve TRUE si la propiedad define una relación de contención, o FALSE si es referencia.

Parámetros

Ninguno.

Valores devueltos

Devuelve TRUE si la propiedad define una relación de contención, o FALSE si es referencia.

SDO_Model_Property::getType
SDO_Model_Property::isMany
Funciones de SDO


Comprobar si la propiedad es polievaluada

SDO_Model_Property::isContainment
SDO_Model_ReflectionDataObject::__construct
Funciones de SDO
PHP Manual

SDO_Model_Property::isMany

(^)

SDO_Model_Property::isMany — Comprobar si la propiedad es polievaluada

Descripción

bool SDO_Model_Property::isMany ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Comprueba si la propiedad es polievaluada. Devuelve TRUE si ésta es una propiedad polievaluada, o si no, devuelve FALSE.

Parámetros

Ninguno.

Valores devueltos

Devuelve TRUE si ésta es una propiedad polievaluada, o si no, devuelve FALSE.

SDO_Model_Property::isContainment
SDO_Model_ReflectionDataObject::__construct
Funciones de SDO


Contruir un SDO_Model_ReflectionDataObject

SDO_Model_Property::isMany
SDO_Model_ReflectionDataObject::export
Funciones de SDO
PHP Manual

SDO_Model_ReflectionDataObject::__construct

(^)

SDO_Model_ReflectionDataObject::__construct — Contruir un SDO_Model_ReflectionDataObject

Descripción

SDO_Model_ReflectionDataObject::__construct ( SDO_DataObject $data_object )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Construye un SDO_Model_ReflectionDataObject para reflejar un SDO_DataObject. La reflexión sobre un SDO_DataObject proporciona acceso a información sobre su modelo. El modelo contiene informacion tal como el tipo del objeto de datos, y si ese tipo es secuenciado (preservando el orden de las propiedades) o abierto (cada instancia puede tener su modelo extendido). El modelo también contiene información sobre las propiedaes del objeto de datos, cualquier valor predeterminado que pueda tener, etc.

Parámetros

data_object

El SDO_DataObject sobre el que se va a reflejar.

Valores devueltos

None.

SDO_Model_Property::isMany
SDO_Model_ReflectionDataObject::export
Funciones de SDO


Obtener una cadena que describe el SDO_DataObject.

SDO_Model_ReflectionDataObject::__construct
SDO_Model_ReflectionDataObject::getContainmentProperty
Funciones de SDO
PHP Manual

SDO_Model_ReflectionDataObject::export

(^)

SDO_Model_ReflectionDataObject::export — Obtener una cadena que describe el SDO_DataObject.

Descripción

mixed SDO_Model_ReflectionDataObject::export ( SDO_Model_ReflectionDataObject $rdo [, bool $return ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Obtiene una cadena que describe el SDO_DataObject. El comportamiento predeterminado es imprimir la salida, pero si se especifica TRUE para el parámetro return, lo devuelve como una cadena.

Parámetros

rdo

Un SDO_Model_ReflectionDataObject.

return

Si es TRUE, devuelve la salida como una cadena, de otro modo la imprime.

Valores devueltos

Devuelve la salida si se especeifica TRUE en el parámetro return, de otro modo devuelve NULL.

SDO_Model_ReflectionDataObject::__construct
SDO_Model_ReflectionDataObject::getContainmentProperty
Funciones de SDO


Obtener la propiedad que define la relación de contención del objeto de datos

SDO_Model_ReflectionDataObject::export
SDO_Model_ReflectionDataObject::getInstanceProperties
Funciones de SDO
PHP Manual

SDO_Model_ReflectionDataObject::getContainmentProperty

(^)

SDO_Model_ReflectionDataObject::getContainmentProperty — Obtener la propiedad que define la relación de contención del objeto de datos

Descripción

SDO_Model_Property SDO_Model_ReflectionDataObject::getContainmentProperty ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Obtiene el SDO_Model_Property que contiene el SDO_DataObject. Este método se usa para navegar hasta la propiedad padre que contiene el objeto de datos que ha sido reflejado.

Parámetros

Ninguno.

Valores devueltos

Devuelve el SDO_Model_Property conteneder que referencia al SDO_DataObject, o NULL si es un SDO_DataObject raíz.

SDO_Model_ReflectionDataObject::export
SDO_Model_ReflectionDataObject::getInstanceProperties
Funciones de SDO


Obtener las propiedades de instancia del SDO_DataObject

SDO_Model_ReflectionDataObject::getContainmentProperty
SDO_Model_ReflectionDataObject::getType
Funciones de SDO
PHP Manual

SDO_Model_ReflectionDataObject::getInstanceProperties

(^)

SDO_Model_ReflectionDataObject::getInstanceProperties — Obtener las propiedades de instancia del SDO_DataObject

Descripción

array SDO_Model_ReflectionDataObject::getInstanceProperties ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Obtiene las propiedades de instancia del SDO_DataObject. Las propiedades de instancia consisten en todas las propiedades definidas en el tipo del objeto de datos, más cualquier propiedad de instancia del contenido abierto (si el objeto de datos es de tipo abierto).

Parámetros

Ninguno.

Valores devueltos

Un array de objetos SDO_Model_Property.

SDO_Model_ReflectionDataObject::getContainmentProperty
SDO_Model_ReflectionDataObject::getType
Funciones de SDO


Obtener el SDO_Model_Type del SDO_DataObject

SDO_Model_ReflectionDataObject::getInstanceProperties
SDO_Model_Type::getBaseType
Funciones de SDO
PHP Manual

SDO_Model_ReflectionDataObject::getType

(^)

SDO_Model_ReflectionDataObject::getType — Obtener el SDO_Model_Type del SDO_DataObject

Descripción

SDO_Model_Type SDO_Model_ReflectionDataObject::getType ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Devuelve el SDO_Model_Type del SDO_DataObject. El SDO_Model_Type contiene toda la información sobre el tipo del objeto de datos, como el URI del espacio de nombres, nombre de tipo, si es un tipo de datos primitivo, etc.

Parámetros

Ninguno.

Valores devueltos

Devuelve el SDO_Model_Type del SDO_DataObject.

SDO_Model_ReflectionDataObject::getInstanceProperties
SDO_Model_Type::getBaseType
Funciones de SDO


Obtener el tipo base de este tipo

SDO_Model_ReflectionDataObject::getType
SDO_Model_Type::getName
Funciones de SDO
PHP Manual

SDO_Model_Type::getBaseType

(^)

SDO_Model_Type::getBaseType — Obtener el tipo base de este tipo

Descripción

SDO_Model_Type SDO_Model_Type::getBaseType ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Obtiene el tipo base de este tipo. Devuelve el SDO_Model_Type del tipo base si este tipo hereda de otro, si no, devuelve NULL. Un ejemplo de cuándo se producen lo tipos base es cuando un tipo definido en el esquema XML hereda de otro tipo usando

<extension base="...">
.

Parámetros

Ninguno.

Valores devueltos

Devuelve el SDO_Model_Type del tipo base si este tipo hereda de otro, si no, devuelve NULL.

SDO_Model_ReflectionDataObject::getType
SDO_Model_Type::getName
Funciones de SDO


Obtener el nombre del tipo

SDO_Model_Type::getBaseType
SDO_Model_Type::getNamespaceURI
Funciones de SDO
PHP Manual

SDO_Model_Type::getName

(^)

SDO_Model_Type::getName — Obtener el nombre del tipo

Descripción

string SDO_Model_Type::getName ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Devuelve el nombre del tipo. La combinación del nombre del tipo y el URI del espacio de nombre se usa para identificar el tipo de manera única.

Parámetros

Ninguno.

Valores devueltos

Devuelve el nombre del tipo.

SDO_Model_Type::getBaseType
SDO_Model_Type::getNamespaceURI
Funciones de SDO


Obtener el URI del espacio de nombres del tipo

SDO_Model_Type::getName
SDO_Model_Type::getProperties
Funciones de SDO
PHP Manual

SDO_Model_Type::getNamespaceURI

(^)

SDO_Model_Type::getNamespaceURI — Obtener el URI del espacio de nombres del tipo

Descripción

string SDO_Model_Type::getNamespaceURI ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Devuelve el URI del espacio de nombres del tipo. La combinación del URI del espacio de nombres y el nombre del tipo se usa para identificar el tipo de manera única.

Parámetros

Ninguno.

Valores devueltos

Devuelve el URI del espacio de nombres del tipo.

SDO_Model_Type::getName
SDO_Model_Type::getProperties
Funciones de SDO


Obtener los objetos SDO_Model_Property definidos en el tipo

SDO_Model_Type::getNamespaceURI
SDO_Model_Type::getProperty
Funciones de SDO
PHP Manual

SDO_Model_Type::getProperties

(^)

SDO_Model_Type::getProperties — Obtener los objetos SDO_Model_Property definidos en el tipo

Descripción

array SDO_Model_Type::getProperties ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Obtiene un array de objetos SDO_Model_Property que describe las propiedades definidas en el SDO_Model_Type. Cada SDO_Model_Property contiene información tal como el nombre de propiedad, el valor predeterminado, etc.

Parámetros

Ninguno.

Valores devueltos

Devuelve un array de objetos SDO_Model_Property.

SDO_Model_Type::getNamespaceURI
SDO_Model_Type::getProperty
Funciones de SDO


Obtener un SDO_Model_Property del tipo

SDO_Model_Type::getProperties
SDO_Model_Type::isAbstractType
Funciones de SDO
PHP Manual

SDO_Model_Type::getProperty

(^)

SDO_Model_Type::getProperty — Obtener un SDO_Model_Property del tipo

Descripción

SDO_Model_Property SDO_Model_Type::getProperty ( mixed $identifier )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Obtiene un SDO_Model_Property del tipo, identificado por su índice de propiedad o su nombre de propiedad.

Parámetros

identifier

El índice de propiedada o el nombre de propiedad.

Valores devueltos

Devuelve el SDO_Model_Property.

SDO_Model_Type::getProperties
SDO_Model_Type::isAbstractType
Funciones de SDO


Comprobar si este SDO_Model_Type es un tipo de datos abstracto

SDO_Model_Type::getProperty
SDO_Model_Type::isDataType
Funciones de SDO
PHP Manual

SDO_Model_Type::isAbstractType

(^)

SDO_Model_Type::isAbstractType — Comprobar si este SDO_Model_Type es un tipo de datos abstracto

Descripción

bool SDO_Model_Type::isAbstractType ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Comprueba si este SDO_Model_Type es un tipo de datos abtracto. Devuelve TRUE si este tipo es abstracto, esto es, no se puede instanciar un SDO_DataObject de este tipo, aunque otros tipos puedan heredar de él.

Parámetros

Ninguno.

Valores devueltos

Devuelve TRUE si este tipo es un tipo de datos abstracto, si no, devuelve FALSE.

SDO_Model_Type::getProperty
SDO_Model_Type::isDataType
Funciones de SDO


Comprobar si este SDO_Model_Type es un tipo de datos primitivo

SDO_Model_Type::isAbstractType
SDO_Model_Type::isInstance
Funciones de SDO
PHP Manual

SDO_Model_Type::isDataType

(^)

SDO_Model_Type::isDataType — Comprobar si este SDO_Model_Type es un tipo de datos primitivo

Descripción

bool SDO_Model_Type::isDataType ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Comprueba si este SDO_Model_Type es un tipo de datos primitivo. Devuelve TRUE si este tipo es un tipo de datos primitivo, si no, devuelve FALSE.

Parámetros

Ninguno.

Valores devueltos

Devuelve TRUE si este tipo es un tipo de datos primitivo, si no, devuelve FALSE.

SDO_Model_Type::isAbstractType
SDO_Model_Type::isInstance
Funciones de SDO


Comprobar si un SDO_DataObject es una instancia de este SDO_Model_Type

SDO_Model_Type::isDataType
SDO_Model_Type::isOpenType
Funciones de SDO
PHP Manual

SDO_Model_Type::isInstance

(^)

SDO_Model_Type::isInstance — Comprobar si un SDO_DataObject es una instancia de este SDO_Model_Type

Descripción

bool SDO_Model_Type::isInstance ( SDO_DataObject $data_object )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Comprueba si un SDO_DataObject es una instancia de este SDO_Model_Type. Devuelve TRUE si el SDO_DataObject proporcionado es una instancia de este SDO_Model_Type, o un tipo derivado, si no, devuelve FALSE.

Parámetros

data_object

El SDO_DataObject a ser comprobado.

Valores devueltos

Devuelve TRUE si el SDO_DataObject proporcionado es una instancia de este SDO_Model_Type, o un tipo derivado, si no, devuelve FALSE.

SDO_Model_Type::isDataType
SDO_Model_Type::isOpenType
Funciones de SDO


Comprobar si este tipo es un tipo abierto

SDO_Model_Type::isInstance
SDO_Model_Type::isSequencedType
Funciones de SDO
PHP Manual

SDO_Model_Type::isOpenType

(^)

SDO_Model_Type::isOpenType — Comprobar si este tipo es un tipo abierto

Descripción

bool SDO_Model_Type::isOpenType ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Comrpuebas si este tipo es un tipo abierto. Devuelve TRUE si este tipo es abierto, si no, devuelve FALSE. Un SDO_DataObject cuyo tipo es abierto puede tener propiedades añadidas que no están descritas por el tipo. Esta capacidad se usa para soportar trabajar con documentos XML cuyo esquema soporta contenido abierto, tal como el definido por un elemento

<xsd:any>
.

Parámetros

None.

Valores devueltos

Devuelve TRUE si este tipo es abierto, si no, devuelve FALSE.

SDO_Model_Type::isInstance
SDO_Model_Type::isSequencedType
Funciones de SDO


Comprobar si este tipo es un tipo secuenciado

SDO_Model_Type::isOpenType
SDO_Sequence::getProperty
Funciones de SDO
PHP Manual

SDO_Model_Type::isSequencedType

(^)

SDO_Model_Type::isSequencedType — Comprobar si este tipo es un tipo secuenciado

Descripción

bool SDO_Model_Type::isSequencedType ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Comprueba si este tipo es un tipo secuenciado. Devuelve TRUE si este tipo e secuenciado, si no, devuelve FALSE. Los tipos secuenciado pueden tener el orden de las propiedades preservado y pueden contener texto no estructurado. Para más información sobre tipos secuenciados véase la sección sobre Trabajar con Objetos de Datos Secuenciados.

Parámetros

Ninguno.

Valores devueltos

Devuelve TRUE si este tipo es secuenciado, si no, devuelve FALSE.

SDO_Model_Type::isOpenType
SDO_Sequence::getProperty
Funciones de SDO


Devolver una propiedad para el índice de secuencia especificado.

SDO_Model_Type::isSequencedType
SDO_Sequence::insert
Funciones de SDO
PHP Manual

SDO_Sequence::getProperty

(^)

SDO_Sequence::getProperty — Devolver una propiedad para el índice de secuencia especificado.

Descripción

SDO_Model_Property SDO_Sequence::getProperty ( int $sequence_index )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Devuelve la propiedad del índice de secuencia especificado.

Parámetros

sequence_index

La posición del elemento en la secuencia.

Valores devueltos

Una SDO_Model_Property. Un valor devuelto de NULL significa que el elemento de la secuencia no pertence a una propiedad y por lo tanto debe ser texto no estructurado.

Errores/Excepciones

SDO_IndexOutOfBoundsException

Lanzada si el índice de la secuencia es menor que cero o mayor que el tamaño de la secuencia.

SDO_Model_Type::isSequencedType
SDO_Sequence::insert
Funciones de SDO


Insertar en una secuencia

SDO_Sequence::getProperty
SDO_Sequence::move
Funciones de SDO
PHP Manual

SDO_Sequence::insert

(^)

SDO_Sequence::insert — Insertar en una secuencia

Descripción

void SDO_Sequence::insert ( mixed $value [, int $sequenceIndex [, mixed $propertyIdentifier ]] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Inserta un nuevo elemento en la posición especificada de la secuencia. Todos los elementos subsiguientes son movidos hacia arriba.

Parámetros

value

El nuevo valor a insertar. Esto puede ser un primitivo o un SDO_DataObject.

sequenceIndex

La posición en la que insertar el nuevo elemento. Por imisión es NULL, lo que resulta en que el nuevo valor es añadido al final de la secuencia.

propertyIdentifier

Un índice de propiedad, un nombre de propiedada o un SDO_Model_Property, usado para identificar una propiedad en el SDO_DataObject correspondiente de la secuencia. Un valor de NULL significa texto no estructurado.

Valores devueltos

None.

Errores/Excepciones

SDO_IndexOutOfBoundsException

Lanzada si el índice de la secuencia es menor que cero o mayor que el tamaño de la secuencia.

SDO_InvalidConversionException

Lanzada si el tipo del nuevo valor no coincide con el tipo de la propiedad especificada del objeto de datos.

SDO_Sequence::getProperty
SDO_Sequence::move
Funciones de SDO


Mover un elemento a otra posición de la secuencia

SDO_Sequence::insert
DAS-Relacional de SDO
Funciones de SDO
PHP Manual

SDO_Sequence::move

(^)

SDO_Sequence::move — Mover un elemento a otra posición de la secuencia

Descripción

void SDO_Sequence::move ( int $toIndex, int $fromIndex )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Modifica la posición del elemento en la secuencia, sin alterar el valor de la propiedad del SDO_DataObject.

Parámetros

toIndex

El índice destino de la secuencia. Si este índice es menor que cero o mayor que el tamaño de la secuencia, el valor es añadido al final.

fromIndex

El índice origen de la secuencia.

Valores devueltos

Ninguno.

Errores/Excepciones

SDO_IndexOutOfBoundsException

Lanzada si el índice fromIndex de la secuencia es menor que cero o mayor que el tamaño de la secuencia.

SDO_Sequence::insert
DAS-Relacional de SDO
Funciones de SDO


Servicio de Acceso a Datos Relacionales de SDO

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Crear, recuperar, actualizar y borrar datos
    • Especificar los metadatos
    • Ejemplos con una tabla
    • Ejemplos con dos tablas
    • Ejemplos con tres tablas
  • Limitations
  • Funciones del SDO-DAS-Relacional
    • SDO_DAS_Relational::applyChanges — Aplicar los cambios hechos a un grafo de datos en la base de datos.
    • SDO_DAS_Relational::__construct — Crea una instancia de un Servicio de Acceso a Datos Relacional
    • SDO_DAS_Relational::createRootDataObject — Devuelve el objeto raíz especial en un grafo de datos en principio vacío. Usado para crear un grafo de datos desde cero.
    • SDO_DAS_Relational::executePreparedQuery — Ejecuta una consulta SQL pasada como una sentencia preparada, con una lista de valores para sustituir los parámetros de sustitución, y devuelve los resultados como un grafo de datos normalizado.
    • SDO_DAS_Relational::executeQuery — Ejecutar una consulta SQL dada en una base de datos relacional y devolver los resultados como un grafo de datos normalizado.
SDO_Sequence::move
Introducción
Manipulación XML


Introducción

Advertencia

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombres de sus funciones y todo lo documentado sobre esta extensión, puede cambiar en una futura edición de PHP sin previo aviso. El uso de esta extensión queda bajo su propia responsabilidad.

Para poder usar el Servicio de Acceso a Datos Relacional con Objetos de Datos de Servicio (SDOs), se necesitan comprender algunos de los conceptos que están bajo un SDO: el grafo de datos, el objeto de datos, la manera desconectada de trabajar, el resumen de cambios, XPath y expresiones de propiedad, etc. Si estas ideas no le son familiares, debería mirar primero en la sección sobre SDO. Además, el DAS Relacional hace uso de la extensión PDO para aislarse a sí misma de especificaciones de diferentes bases de datos relacionales subyacentes. Para poder usar el DAS Relacional se necesita poder crear y pasar una conexión a base de datos PDO; por esta razión se debería echar un vistazo a la sección sobre PDO.

La tarea del DAS Relacional es mover datos entre la aplicación y una base de datos relacional. Para poder hacer esto necesita ser informado de la referenciación entre las entidades de la base de datos - tabla, columnas, claves primarias y foráneas - y los elementos del modelo del SDO - tipes, propiedades, relaciones de contención, etc. Se especifica esta información como metadatos al contruir el DAS Relacional.

Información general sobre la operación

  1. El primer paso es llamar al constructor del DAS Relacional, pasando los metadatos que definen la referenciación entre la base de datos y el modelo del SDO. Hay ejemplo de esto más adelante.

  2. El siguiente paso podría ser llamar al método executeQuery() o executePreparedQuery() sobre el DAS Relacional, pasando una sentencia SQL literal al DAS para preparar y ejecutar, o una sentencia preparada con parámetros de sustitución y una lista de valores a insertar. También es necesario especificar una pequeña cantidad de metadatos sobre el consulta en sí, por lo que el DAS Relacional pueda conocer exactamente qué columnas serán devueltas desde la base de datos y en qué orden. También se necesitará pasar una conxión a base de datos de PDO.

    El valor devuelto por executeQuery() o executePreparedQuery() es un grafo de datos normalizado que contiene todos los datos del conjunto de resultados. Para una consulta que devuelva datos obtenidos de varias tablas, este grafo contendrá varios objetos de datos, enlazados por relaciones de contención de SDO. También pueden haber referencias de no contención de SDO con los datos.

    Una vez que la consulta ha sido ejecutada y el grafo de datos construido, ya no hay necesidad de la insntacia del DAS Relacional o de la conexión a la base de datos. the database connection. No existen bloqueos sobre la base de datos. El DAS Relacional y la conexión a base de datos de PDO pueden ponerse en el recolector de basura.

  3. Posiblemente los datos del grafo de datos experimentarán varias modificaciones. El grafo de datos puede ser serializado dentro de la sesión de PHP y por lo tanto puede tener un tiempo de vida superior a una interacción cliente-servidor. Los objetos de datos se puede crear y añadir al grafo, los objetos de datos ya existentes en el grafo se pueden borrar, y los objetos de datos del grafo pueden ser modificados.

  4. Finalmente, los cambios hechos al grafo de datos pueden volver a ser aplicados a la base de datos usando el método applyChanges() del DAS Relacional. Para esto, se debe construir otra instancia del DAS Relacional, usando la misma metainformación, y se debe obtener otra conexión a la base de datos. La conexión y el grafo de datos son pasados a applyChanges(). En este punto el DAS Relacional examina el registro de cambios y genera las sentencias SQL INSERT, UPDATE y DELETE necesarias para aplicar los cambios. Cualquier sentencia UPDATE y DELETE está cualificada con los valores originales de los datos, por lo que deberían ser detectados los datos cambiados en la base de datos por el momento. Asumiendo que no ocurren tales colisiones, los cambios serán consignados a la base de datos. La aplicación puede entonces continuar para trabajar con el grafo de datos, hacer más cambios y aplicarlos, o puede descartarlos.

Existen otras maneras de trabajar con los datos de una base de datos: es posible crear objetos de datos y escribirlos en la base de datos sin una llamada preliminar a executeQuery(), por ejemplo. Este escenario y otros son explorados en la sección Ejemplos de abajo.

DAS-Relacional de SDO
Instalación/Configuración
DAS-Relacional de SDO


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
DAS-Relacional de SDO


Requerimientos

El DAS Relacional requiere que la extensión SDO esté instalada. La extensión SDO requiere una versión de PHP 5.1, y el DAS Relacional requiere una versión reciente que contenga un arreglo importante para PDO. La información más actualizada sobre los niveles requeridos de PHP deberían entcontrarse en el registro de cambis del paquete PECL. Sin embargo, en el momento de escribir esto, el DAS Relacional requiere el nivel beta más reciente de PHP 5.1, esto es PHP 5.1.0.

El DAS Relacional usa PDO para acceder a la base de datos relacional, y por lo tanto debería ejecutarse con variedad de bases de datos relacionales diferentes. En el momento de escribir esto ha sido testeado en las siguientes configuraciones

  • MySQL 4.1.14, en Windows. El DAS Relacional opera correctamente con el controlador php_pdo_mysql que viene con los binarios preincluidos para PHP 5.1.0.

  • MySQL 4.1.13, en Linux. Es necesario tener el controlador de PDO más actualizado para MySQL, el cual viene incluido con PHP 5.1.0. Puede que sea necesario desinstalar el controlador usual que viene con PECL usando pear uninstall pdo_mysql. Se necesitará configurar PHP con al opción --with-pdo-mysql.

  • DB2 8.2 Personal Edition, en Windows. El DAS Relacional opera correctamente con el controlador php_pdo_odbc que viene con los binarios preincluidos para PHP 5.1.0.

  • DB2 8.2 Personal Developer's Edition, en Linux. La Developer's Edition es necesaria ya que contiene ficheros necesarios cuando PHP es configurado y construido. Se necesitará configurar PHP con la opción --with-pdo-odbc=ibm-db2.

El DAS Relacional aplica cambios a una base de datos dentro de una transacción delimitada por el usuario: esto es, emitirá una llamda a PDO::beginTransaction() antes de empezar a aplicar cambios, y PDO::commit() o PDO::rollback() al completar. Sea cual sea la base de datos elegida, ésta y el controlador PDO para la base de datos deben soportar estas llamadas.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Las instrucciones para la instalación de todos los componentes de SDO están en la sección Instalación de la documentación de SDO.

En cualquier caso, los hechos esenciales son que el DAS Relacional está escrito en PHP y debería colocarse en algún lugar del include_path de PHP.

La aplicación necesitará por supuesto incluir el DAS Relacioinal con una sentencia como esta:

<?php
require_once 'SDO/DAS/Relational.php';
?>

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración definidas en php.ini.

Rastreo

Puede interesar ver las sentencias SQL generadas para poder aplicar cambios en la base de datos. Al principio del SDO/DAS/Relational.php se encontrarán varias constantes que controlan si el proceso de construcción y ejecución de sentencias SQL es rastreado. Intente establecer DEBUG_EXECUTE_PLAN a TRUE para ver las sentencias SQL generadas.

Instalación
Tipos de recursos
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

El DAS relacional no introduce constantes predefinidas.

Tipos de recursos
Ejemplos
DAS-Relacional de SDO


Ejemplos

Tabla de contenidos

  • Crear, recuperar, actualizar y borrar datos
  • Especificar los metadatos
  • Ejemplos con una tabla
  • Ejemplos con dos tablas
  • Ejemplos con tres tablas
Constantes predefinidas
Crear, recuperar, actualizar y borrar datos
DAS-Relacional de SDO


Crear, recuperar, actualizar y borrar datos

Esta sección ilustra cómo se puede usar el DAS Relacional para crear, recuperar, actualizar y borrar datos de una base de datos relacional. La mayoría de los ejemplos están ilustrados con un base de datos de tres tablas que contienen compañías, departamentos dentro de esas compañías, y empleados que trabajan para esos departamentos. Este ejemplo se usa en varios puntos de la literatura de SDO. Vea la sección de ejemplos de la » especificación de Objetos de Datos de Servicio o la sección Ejemplos de la documentación de la extensión SDO.

El DAS Relacional se construye con metadatos que definen la base de datos relacional y cómo deberían ser referenciados a SDO. La amplia sección que sigue describe estos metadatos y cómo construir el DAS Relacional. Los ejemplos que le siguen asumen que estos metadatos son un fichero php incluido.

Los ejemplos de abajo y otros se pueden encontrar en el directorio Scenarios del paquete del DAS Relacional.

El DAS Relacional lanza excepciones en el momento que encuentre errores en los metadatos o errores al ejecutar sentencias SQL en la base de datos. Por brevedad, los ejemplos de abajo omiten es uso de bloques try/catch en las llamadas al DAS Relacional.

Todos estos ejemplos difieren del uso esperadode SDO en dos aspectos importantes.

Primero, muestran todas las interacciones con la base de datos completadas con un script. En este aspecto estos escenarios no son realistas aunque se han elegido para ilustrar el uso del DAS Relacional. Se espera que las interacciones con la base de datos sean separadas con el tiempo y el grafo de datos sea serializado y deserializado en la sesión de PHP una o más veces al interactuar la aplicación con un usuario final.

Segundo, todas las consultas ejecutadas en la base de datos usan consultas 'hard-coded' sin variables de sustittución. En este case es seguro usar la simple llamada executeQuery(), y esto es lo que muestran los ejemplos. Sin embargo, en la práctica es improbable que la sentencia SQL sea conocida enteramente con anticipación. Para permitir que las variables sean sustituidas de forma segura en las consultas SQL, sin correr el riesgo de inyectar SQL con efectos desconocidos, es más seguro usar el método executePreparedQuery() el cual toma una sentencia SQL preparada que contiene parámetros de sustitución y una lista de valores a ser sustituidos.

Ejemplos
Especificar los metadatos
Ejemplos


Especificar los metadatos

Esta primera amplia sección describe en detalle cómo los metadatos describen la base de datos y cómo se proporciona el modelo SDO requerido al DAS Relaiconal.

Cuando se invoca al constructor del DAS Relacional, es necesario pasarle varias piezas de información. El volumen de información, pasado como un array asociativo al primer argumento del constructor, indica al DAS Relacional qué necesita conocer sobre la base de datos relacional. Describe los nombres de las tablas, columnas, claves primarias y claves foráneas. and foreign keys. Debería ser bastante sencillo comprender los que se requiere, y una vez escrito se puede colocar en un fichero PHP e incluido cuando sea necesario. El resto de información, pasada en el segundo y tercer parámetros al constructor, indica al DAS Relacional qué necesita conocer sobre las relaciones entre objetos y la forma del grafo de datos; en última instancia determina cómo se van a normalizar los datos de la base de dtaos en un grafo.

Medatos de la base de datos

El primer argumento del constructor describe la base de datos relacional objetivo.

Cada tabla se describe por un array asociativo con hasta cuatro claves.

Clave | Valor
name | El nombre de la tabla.
columns | Un array listando los nombres de las columnas, en cualquier orden.
PK | El nombre de la columna que contiene la clave primaria.
FK | Un array con dos entradas, 'from' (desde) y 'to' (hacia), que define una columna de que contiene una clave foránea, y una tabla hacia la que apunta la clave foránea. Si no existen claves foráneas en la tabla, no es necesario especificar la entrada 'FK'. Sólo se puede especificar una clave foránea. Sólo se puede especificar una clave foránea que apunte a la clave primaria de la tabla.

<?php
/*****************************************************************
* METADATOS QUE DEFINEN LA BASE DE DATOS
******************************************************************/
$tabla_compañía = array (
  'name' => 'compañía',
  'columns' => array('id', 'nombre',  'empleado_del_mes'),
  'PK' => 'id',
  'FK' => array (
      'from' => 'empleado_del_mes',
      'to' => 'empleado',
      ),
  );
$tabla_departamento = array (
  'name' => 'departamento',
  'columns' => array('id', 'nombre', 'ubicación', 'número', 'id_comp'),
  'PK' => 'id',
  'FK' => array (
      'from' => 'id_comp',
      'to' => 'compañía',
      )
  );
$employee_table = array (
  'name' => 'empleado',
  'columns' => array('id', 'nombre', 'NS', 'director', 'id_dept'),
  'PK' => 'id',
  'FK' => array (
      'from' => 'id_dept',
      'to' => 'departamento',
      )
  );
$metadatos_bd = array($tabla_compañía, $tabla_departamento, $employee_table);
?>

Estos metadatos corresponden a una base de datos relacional que podría haber sido definida para MySQL como:

create table compañía (
 id integer auto_increment,
 nombre char(20),
 empleado_del_mes integer,
 primary key(id)
);
create table departamento (
 id integer auto_increment,
 nombre char(20),
 ubicación char(10),
 número integer(3),
 id_comp integer,
 primary key(id)
);
create table empleado (
 id integer auto_increment,
 nombre char(20),
 NS char(4),
 director tinyint(1),
 id_dept integer,
 primary key(id)
);

o para DB2 como:

create table compañía ( \
  id integer not null generated by default as identity,  \
  nombre varchar(20), \
  empleado_del_mes integer, \
  primary key(id) )
create table departamento ( \
  id integer not null generated by default as identity, \
  nombre varchar(20), \
  ubicación varchar(10), \
  número integer, \
  id_comp integer, \
  primary key(id) )
create table empleado ( \
  id integer not null generated by default as identity, \
  nombre varchar(20), \
  NS char(4), \
  director smallint, \
  id_dept integer, \
  primary key(id) )

Observe que aunque en este ejemplo no existen claves foráneas especificadas en la base de datos y por lo tanto no se espera que la base de datos fuerce la integridad referencial, la intención de la columna id_comp de la tabla departamento y la columna id_dept de la table empleado es que deberían contener la clave primaria de su compañía contenedora o el registro del departamento, respectivamente. Así, estas dos columnas están actuando como claves forámeas.

Existe una tercera clave foránes en este ejemplo, que proviene de la columna empleado_del_mes del registro de la compañía a una única fila de la tabla empleado. Observe que la diferencia a propósito entre esta clave foránea y las otras dos. La columna employee_of_the_month representa una relación monoevaluada: sólo puede existir un empleado del mes para una compañía dada. Las columnas id_comp e id_dept representan relaciones polievaluadas: una compañía puede contener muchos departamentos y un departamento puede contener muchos empleados. Esta distinción será evidente cuando el resto de los metadatos identifiquen las relaciones compañia-departamento y departamento-empleado como relaciones de contención.

Existen unas pocas sencillas reglas a seguir al construir los metadatos de la base de datos:

  • Todas las tablas deben tener claves primarias, y las claves primarias deben ser especificadas en los metadatos. Sin claves primarias no es posible seguir la pista de identidades de objetos. Como se puede obcervar con las sentencias SQL que crean las tablas, las claves primarias pueden ser autogeneradas, esto es, generadas y asignadas por la base de datos cuando se inserta un registro. En este caso la clave primaria autogenerada se obtiene de la base de datos y es insertada en el objeto de datos inmediatamente después que insertar la fila en la base de datos.

  • No es necesario especificar en los metadatos todas las columnas que existen en la base de datos, solamente aquellas que serán usadas. Por ejemplo, si la compañía tuviera otra columna con la que la aplicación no quiere acceder con SDO, no es necesario que sea especificada en los metadatos. Por otra parte, tampoco sería perjudicial especificarla: si se especifica en los metadatos pero nunca se recupera,o se asigna mediante la aplicación, la columna no usada no afectará a nada.

  • En los metadatos de la base de datos observe que las definiciones de la clave foránea no identifican la columna destino en la tabla a la que apunta, sino a la tabla misma. Estrictamente, el modelo relacional permite que el destino de una clave foránea sea una clave no primaria. Solo las claves foráneas que apuntes a una clave primaria son útiles para construir el modelo SDO, por lo que los metadatos especifican el nombre de la table. Se entiende que la clave foránea apunte a la clave primaria de la tabla dada.

Dadas estas reglas, y dadas las sentencias SQL que definen la base de datos, debería ser fácil construir los metadatos de la base de datos.

Qué hace el DAS Relacional con los metadatos

El DAS Relacional usa los metadatos de la base de datos para formar la mayoría del modelo SDO. Para cada table de los metadatos de la base de datos se define un tipo SDO. Cada columna que pueda representar un valor primitivo (las columnas que no están definidas como claves foráneas) se añade como una propiedad del tipo SDO.

A todas las propiedades primitivas se les da un tipo string en el modelo SDO, sin tener en cuenta su tipo SQL. Cuando se vuelve a escribir valores en la base de datos, el DAS Relacional creará sentencias SQL que tratan los valores como string, y la base de datos los convertirá al tipo apropiado.

Las claves foráneas son interpretadas en una de dos formas, dependiendo de los metadatos del tercer argumento del constructor que define las relaciones de contención de SDO. Por lo tanto se aplaza una discusión de esto hasta la sección sobre relaciones de contención de SDO más abajo.

Especificar el tipo raíz de la aplicación

El segundo argumento del constructor es el tipo raíz de la aplicación. La verdadera raíz de cada grafo de datos es un objeto de un tipo raíz especial y todos los objetos de datos de la aplicación están en algún lugar por debajo de él. De los varios tipos de aplicación del modelo SDO, uno tiene que ser el tipo de aplicación inmediatemente por debajo de la raíz del grafo de datos. Si solo existe una tabla en los metadatos de la base de datos, el tipo raíz de la aplicación puede ser deducido, y este argumento se puede omitir.

Especificar las relaciones de contención de SDO

El tercer argumento del constructor define cómo van a ser vinculados los tipos del modelo entre ellos para formar un grafo. Identifica las relaciones padre-hijo entre los tipos que colectivamente forman un grafo. Las relaciones necesitan ser soportadas por claves foráneas para ser encontradas en los datos, de una forma descrita dentro de poco.

Los metadatos son un array que contiene uno o más arrays asociativos, cada uno identificando un padre y un hijo. El ejemplo de abajo muestra una relación padre-hijo desde la compañía hacia el departamento, y otra desde el departamento hacia el empleado. Cada una se convertirá en una propiedad SDO que define una relación de contención polievaluada del modelo SDO.

<?php
$contenedor_departamento = array( 'parent' => 'compañía', 'child' => 'departamento');
$contenedor_empleado = array( 'parent' => 'departamento', 'child' => 'empleado');

$metadatos_contenedor_SDO = array($contenedor_departamento, $contenedor_empleado);
?>

Las claves foráneas de los metadatos de la base de datos son interpretadas como propiedades con relaciones de contención polievaluadas o referencias de no contención monoevaluadas, dependiendo de si tienen una relación de contención correspondiente especificada en los metadatos. En el ejemplo, las claves foráneas desde el departamento a la compañía (la columna id_comp de la tabla departamento) y desde el empleado al departamento (la columna id_dept de la tabla empleado) son interpretadas como soportando las relaciones de contención de SDO. Cada relación de contención mencionada en los metadatos de las relaciones de contención de SDO deben tener una clave foránea correspondiente presente en la base de datos y ser definidas en los metadatos de la base de datos. Los valores de las columnas de clave foránea para las relaciones de contención no aparecen en los objetos de datos, en su lugar cada uno es representado por una relación de contención desde el padra al hijo. Así, la columna id_comp de la fila departamento de la base de datos, por ejemplo, no aparece como una propieadad del tipo departamento, sino como una relación de contención llamada departamento en el tipo compañía. Observe que la clave foránea y la relación padre-hijo parecen tener significados opuestos: la clave foránea apunta desde el departamento hacia la compañía, mientras que la relación padre-hijo apunta desde la compañía hacia el departamento.

La tercera clave foránea de este ejemplo, el empleado_del_mes , es tratada de forma diferente. No es mencionadaen los metadatos de las relaciones de contención de SDO. Como consecuencia es interpretada de la segunda forma: se convierte en una referencia de no contención monoevaluada del objeto compañía, a la que se le pueden asignar referencias a objetos de datos de SDO del tipo empleado. No aparece como una propiedad del tipo compañía. La forma de asignarle un valor en el grafo de datos SDO es tener un grafo que contenga un objeto empleado a través de las relaciones de contención, y asignarle el objeto. Esto es ilustrado en los ejemplos de más de abajo.

Crear, recuperar, actualizar y borrar datos
Ejemplos con una tabla
Ejemplos


Ejemplos con una tabla

El conjunto siguiente de ejemplos usa el DAS Relacional para trabajar con un grafo de datos que contiene sólo un objeto de datos de aplicación, una sóla compañía y los datos que se encuentran en la tabla compañía. Estos ejemplos no ejercitan el poder de SDO o del DAS Relacional y, por supuesto, se podría lograr el mismo resultado de forma más económica con sentencias SQL directas, pero su intención es ilustrar cómo funcionan con el DAS Relacional.

Para este sencillísimo escenario sería posible simplificar los metadatos de la base de datos para incluir sólo la tabla compañía - si se hiciera, el segundo y tercer argumento del constructor y el especificador de columna usado en el ejemplo de consulta serían opcionales.

Ejemplo #1 Crear un objeto de datos

El ejemplo más simple es crear un único objeto de datos y escribirlo en la base de datos. En este ejemplo se crea un único objeto compañía, su nombre se establece a 'Acme', y se llama al DAS Relacional para escribir los cambios en la base de datos. El nombre de la compañía se establece aquí usando el método de nombre de propiedad. Véase la sección Ejemplos en la extensión SDO para otras maneras de acceder a las propiedades de un objeto.

Sin embargo, los objetos de datos solo se pueden crear cuando se tiene un objeto de datos con el que empezar. Es por esta razón que la primera llamada al DAS Relacional aquí sea para obtener un objeto raíz. Este es, en efecto, cómo preguntar por un grafo de datos vacío - El objeto raíz especial es la raíz verdadera del árbol. El objeto de datos compañía es entonces creado con una llamada a createDataObject() sobre el objeto raíz. Esto crea el objeto de datos compañía y lo inserta en el grafo insertando en una propiedad de contención polievaluada en el objeto raíz llamado 'compañía'.

Cuando se llama al DAS Relacional para aplicar los cambios se construirá y ejecutará una única sentencia de inserción insert statement 'INSERT INTO compañía (name) VALUES ("Acme");', La clave primaria autogenerada se establecerá en el objeto de datos y el resumen de cambios será reiniciado, por lo que sería posible continuar trabajando con el mismo objeto de datos, modificarlo, y aplicar los nuevos cambios una segunda vez.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
* Construir el DAS con los metadatos
***************************************************************/
$das = new SDO_DAS_Relational ($metadatos_bd,'compañía',$metadatos_contenedor_SDO);

/**************************************************************
* Obtener un objeto raíz y crear un objeto compañía bajo él.
* Realizar un único cambio al objeto de datos.
***************************************************************/
$raíz = $das  -> createRootDataObject();
$acme = $raíz -> createDataObject('compañía');

$acme->name = "Acme";

/**************************************************************
* Obtener una conexión a la base de datos y escribir el objeto en ella
***************************************************************/
$gbd = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$das -> applyChanges($gbd, $raíz);
?>

Ejemplo #2 Recuperar un objeto de datos

En este ejemplo se recupera un único objeto de datos de la base de datos - o posiblemente más de uno si existe más de una compañía llamada 'Acme'. Se utiliza echo con las propiedades nombre e id por cada compañía devuelta.

En este ejemplo, el tercer argumento de executeQuery(), el especificador de columna es necesario ya que existen otras tablas en los metadatos con nombre de columnas nombre e id. Si no hubiera posibilidad de ambigüedad se podría omitir.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
* Construir el DAS con los metadatos
***************************************************************/
$das = new SDO_DAS_Relational ($metadatos_bd,'company',$metadatos_contenedor_SDO);

/**************************************************************
* Obtener una conexión a la base de datos
***************************************************************/
$gbd = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

/**************************************************************
* Emitir una consulta para obtener un objeto compañía - posiblemente más si existen
***************************************************************/
$raíz = $das->executeQuery($gbd,
         'select nombre, id from compañía where nombre="Acme"',
          array('compañía.name', 'compañía.id') );

/**************************************************************
* Usar echo con el nombre y el id
***************************************************************/
foreach ($raíz['compañía'] as $compañía) {
  echo "La compañía obtenida de la base de datos tiene como nombre = " .
  $compañía['nombre'] . " e id " . $compañía['id'] . "\n";
}
?>

Ejemplo #3 Actualizar un objeto de datos

Este ejemplo combina los dos anteriores, en el sentido de que para que sea actualizado, el objeto debe primero ser recuperado. El código de la aplicación invierte el nombre de la compañía (así, 'Acme' se convierte en 'emcA') y luego se escriben los cambios en la base de datos de la misma forma que estuvieran cuando el objeto fue creado. Ya que la consulta busca el nombre de ambas maneras, el programa puede ejecutarse repetidamente para encontrar la compañía e invertir su nombre cada vez.

En este ejemplo se reutiliza la misma instancia del DAS Relacional para el método applyChanges(), ya que es el gestor de la base de datos de PDO. Esto es completamente correcto; también es correcto permitir a las instancias anteriores que sean puestas en el recolector de basura y obtener nuevas instancias. El DAS Relacional no contiene datos de estado en lo que se refiere al grafo una vez que ha sido devuelto un grafo de datos a la aplicación. Todos los datos necesarios están dentro del grafo en sí, o se pueden reconstruir desde los metadatos.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
* Construir el DAS con los metadatos
***************************************************************/
$das = new SDO_DAS_Relational ($metadatos_bd,'compañía',$metadatos_contenedor_SDO);

/**************************************************************
* Obtener una conexión a la base de datos
***************************************************************/
$gbd = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

/**************************************************************
* Emitir una consulta para obtener un objeto compañía - posiblemente más si existen
***************************************************************/
$raíz = $das->executeQuery($gbd,
  'select nombre, id from compañía where nombre="Acme" or nombre="emcA"',
  array('compañía.nombre', 'compañía.id') );

/**************************************************************
* Cambiar el nombre de la primera compañía unicamente
***************************************************************/
$compañía = $raíz['compañía'][0];
echo "obtenida una compañía con el nombre " . $compañía->nombre . "\n";
$compañía->nombre = strrev($compañía->nombre);

/**************************************************************
* Escribir los cambios
***************************************************************/
$das->applyChanges($dbh,$raíz);
?>

Ejemplo #4 Borrar un objeto de datos

Se recuperan cualesquiera compañías llamadas 'Acme' o su inverso 'emcA'. Entonces son borradas del grafo con unset.

En este ejemplo todas son borradas de una sola vez desestableciendo la propiedad de contención (la propiedad que define la relación de contención). También es posible borrarlas individualmente.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
* Construir el DAS con los metadatos
***************************************************************/
$das = new SDO_DAS_Relational ($metadatos_bd,'compañía',$metadatos_contenedor_SDO);

/**************************************************************
* Obtener una conexión a la base de datos
***************************************************************/
$gbd = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

/**************************************************************
* Emitir una consulta para obtener un objeto compañía - posiblemente más si existen
***************************************************************/
$raíz = $das->executeQuery($gbd,
  'select nombre, id from compañía where nombre="Acme" or nombre="emcA"',
  array('compañía.nombre', 'compañía.id') );

/**************************************************************
* Borrar cualquier compañía encontrada del grafo de datos
***************************************************************/
unset($raíz['compañía']);

/**************************************************************
* Escribir el/los /cambio/s
***************************************************************/
$das->applyChanges($gbd,$raíz);
?>

Especificar los metadatos
Ejemplos con dos tablas
Ejemplos


Ejemplos con dos tablas

El siguiente conjunto de ejemplos usa dos tablas de la base de datos compañía: las tables compañía y departamento. Estos ejemplos ejercitan más la función del DAS Relacional.

En esta serie de ejemplos se crean, se recuperan, se actualizan y finalmente se borran una compañía y un departamento. Esto ilustra el ciclo de vida de un grafo de datos que contiene más de un objeto. Observe que estos ejemplos limpian las tablas compañía y departamento al inicio por lo que se pueden saber los resultados exactos de las consultas.

Se pueden encontrar estos ejemplos combinados en un script llamado 1cd-CRUD en el direcorio Scenarios del paquete del DAS Relacional.

Ejemplo #1 Una compañía, un departamento - Crear

Como en el anterior ejemplo de crear solo un objeto de datos compañía, la primera acción después de construir el DAS Relacional es llamar a createRootDataObject() para obtener el objeto raíz especial del grafo de datos en principio vacío. El objeto compañía se crea entonces como un hijo del objeto raíz, y el objeto departamento como un hijo del objeto compañía.

Cuando se aplican los cambios, el DAS Relacional tiene que llevar a cabo un procesamiento especial para mantener las claves foráneas que soportan las relaciones de contención, especialmente están involucradas claves primarias autogeneradas. En este ejemplo, la relación entre la clave primaria autogenerada id de la tabla compañía y la columna id_comp de la tabla departamento se debe mantener. La primera vez que se inserta una compañía y un departamento, el DAS Relacional tiene que insertar primero la fila de lacompañía, luego llamar al método getLastInsertId() de PDO para obtener la clave primaria autogenerada, y luego añadir tal valor de la columna id_comp al insertar la fila del departamento.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/*************************************************************************************
* Vaciar las dos tablas
*************************************************************************************/
$gbd = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$sentencia_pdo = $gbd->prepare('DELETE FROM COMPAÑÍA;');
$filas_afectadas = $sentencia_pdo->execute();
$sentencia_pdo = $gbd->prepare('DELETE FROM DEPARTAMENTO;');
$filas_afectadas = $sentencia_pdo->execute();

/**************************************************************
* Crear una compañía de nombre Acme y un departamento, el departamento de Zapatos
***************************************************************/
$gbd = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$das = new SDO_DAS_Relational ($metadatos_bd,'compañía',$metadatos_contenedor_SDO);

$raíz = $das -> createRootDataObject();

$acme = $raíz -> createDataObject('compañía');
$acme -> nombre = "Acme";

$zapatos = $acme->createDataObject('departamento');
$zapatos->nombre = 'Zapatos';

$das -> applyChanges($gbd, $raíz);

?>

Ejemplo #2 Una compañía, un departamento - Recuperar y actualizar

En este caso, la consulta SQL pasada a executeQuery() realiza una unión interna para unir los datos de las tablas compañía y departamento. Las claves primarias de ambas tablas deben incluirse en la consulta. El conjunto de resultados es renormalizado para formar un grafo de datos normalizado. Observe que se proporciona un especificador de columna como tercer argumento a la llamada a executeQuery(), habilitando al DAS Relacional para conocer cual es cada columna en el conjunto de resultados.

Observe que, aunque la columna id_comp se usa en la consulta, no es necesaria en el conjunto de resultados. Para poder comprender lo que el DAS Relacional hace cuando construye el grafo de datos, puede ser de ayuda visualizar a lo que se asemeja el conjunto de resultados. Aunque los datos de la base de datos estén normalizados, por los que varias filas de departamentos puedan apuntar a través de sus claves foráneas a una fila de compañía, los datos del conjunto de resultados no están normalizados, esto es, si existe una compañía y múltiples departamentos, los valores de la compañía se repiten en cada fila. El DAS Relacional tiene que invertir este proceso y volver a convertir el conjunto de resultados en un grafo de datos normalizado, con sólo un objeto compañía.

En este ejemplo el DAS Relacional examinará el conjunto de resultados y el especificador de columna, buscará datos para las tablas compañía y departamento, buscará claves primarias para ambas tablas, e interpretará cada fila como contenedora de datos de un departamento y su compañía madre. Si no encontró datos para esa compañía antes (usa la clave primaria para comprobarlo), crea un objeto compañía y luego un objeto departamento bajo él. Si ya encontró datos para esa compañía antes y ya creó el objeto compañía, entonces creará el objeto departamento bajo ella.

De esta forma, el DAS Relacional puede recuperar y renormalizar datos para múltiples compañías y múltiples departamentos bajo ellas.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
* Recuperar la compañía y el departamento Zapatos, luego borrar Zapatos y añadir TI
***************************************************************/
$gbd = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$das = new SDO_DAS_Relational ($metadatos_bd,'compañía',$metadatos_contenedor_SDO);

$raíz = $das->executeQuery($gbd,
'select c.id, c.nombre, d.id, d.nombre from compañía c, departamento d where d.id_comp = c.id',
array('compañía.id','compañía.nombre','departamento.id','departamento.nombre'));

$acme = $raíz['compañía'][0];            // obtener la primera compañía - será 'Acme'
$zapatos = $acme['departamento'][0];     // obtener el primer departamento bajo ella - será 'Zapatos'

unset($acme['departamento'][0]);

$ti = $acme->createDataObject('departamento');
$ti->nombre = 'TI';

$das -> applyChanges($gbd, $raíz);
?>

Ejemplo #3 Una compañía, dos departamentos - Recuperar y eliminar

En este ejemplo la compañía y el departamento son recuperados y luego eliminados. No es necesario eliminarlos individualmente (aunque sería posible) - al eliminar el objeto compañía del grafo de datos también se elimina cualquier departamento bajo él.

Observe la manera en que el objeto compañía es eliminado realmente usando la llamada a unset de PHP. unset se ha de realizar sobre la propiedad de contención que, en este caso, es la propiedad compañía del objeto raíz especial. Se debe usar:

<?php
unset($raíz['compañía'][0]);
?>
y no:
<?php
unset($acme); //ERRÓNEO
?>
Al usar unset con $acme destruiría la variable, pero dejaría los daos del grafo de datos intactos.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
* Recuperar la compañía y el departamento TI, luego borrar la compañía completa
***************************************************************/
$gbd = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$das = new SDO_DAS_Relational ($metadatos_bd,'compañía',$metadatos_contenedor_SDO);

$raíz = $das->executeQuery($gbd,
'select c.id, c.nombre, d.id, d.nombre from compañía c, departamento d where d.id_comp = c.id',
array('compañía.id','compañía.nombre','departamento.id','departamento.nombre'));

$acme = $raíz['compañía'][0];
$ti = $acme['departamento'][0];

unset($raíz['compañía'][0]);

$das -> applyChanges($gbd, $raíz);

?>

Ejemplos con una tabla
Ejemplos con tres tablas
Ejemplos


Ejemplos con tres tablas

Los siguientes ejemplos usan tres tablas de la base de datos compañía: las tablas compañía, departamento y empleado. Estas introducen la pieza final de la función no ejercitada por los ejemplo anteriores: la referencia de no contención empleado_del_mes.

Al igual que en los ejemplo de arraiba para la compañía y el departamento, este conjunto de ejemplos intentan ilustrar el ciclo de vida completo de un grafo de datos.

Ejemplo #1 Una compañía, un departamento, un empleado - Crear

En este ejemplo se crea una compañía que contiene un departamento y sólo un empleado. Observe que este ejemplo limpia las tres tablas al inicio, por lo que se conocerán los resultados exactos de las consultas.

Observe cómo una vez ha sido creados la compañía, el departamento y el empleado, se puede hacer que la propiedad empleado_del_mes de la compañía apunte al nuevo empleado. Ya que esta propiedad es una referencia de no contención, no puede hacerse hasta que el objeto empleado haya sido creado dentro del grafo. Las referencias de no contención necesitan ser manejadas cuidadosamente. Por ejemplo, si el empleado ahora fuera eliminado del departamento al que pertenece, no sería correcto intentar guardar el grafo sin primero limpiar o reasignar la propiedad empleado_del_mes . La regla de cierre de los grafos de datos de SDO requiere que cualquier objeto que sea apuntado por una referencia de no contención también debe ser alcanzable por relaciones de contención.

Cuando se va a insertar el grafo en la base de datos, el procedimiento es similar al ejemplo de insertar la compañía y el departamento, excepto que empleado_del_mes introduce complejidad extra. El DAS Relacional necesita insertar los objetos bajando por el árbol formado por las relaciones de contención, compañía, luego departamento, y luego empleado. Esto es necesario por lo que siempre tiene la clave primaria autogenerada de un padre a mano para incluir una fila hija. Pero cuando se inserta la fila de la compañía, el empleado que es empleado del mes aún no ha sido insertado y la clave primaria no se conoce. El procedimiento es que después de insertar el registro del empleado y se conoce su clave primaria, se lleva a cabo un paso final en el que el registro de la compañía se actualiza con la clave primaria del empleado.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/*************************************************************************************
* Empty out the three tables
*************************************************************************************/
$gbd = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$sentencia_pdo = $gbd->prepare('DELETE FROM COMPAÑÍA;');
$filas_afectadas = $sentencia_pdo->execute();
$sentencia_pdo = $gbd->prepare('DELETE FROM DEPARTAMENTO;');
$filas_afectadas = $sentencia_pdo->execute();
$sentencia_pdo = $gbd->prepare('DELETE FROM EMPLEADO;');
$filas_afectadas = $sentencia_pdo->execute();

/*************************************************************************************
* Crear una diminuta pero completa compañía.
* El nombre de la compañía es Acme.
* Existe un departamento, Zapatos.
* Existe un empleado, Sue.
* El empleado del mes es Sue.
*************************************************************************************/
$das = new SDO_DAS_Relational ($metadatos_bd,'compañía',$metadatos_contenedor_SDO);
$gbd = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

$raíz                 = $das  -> createRootDataObject();
$acme                 = $raíz -> createDataObject('compañía');
$acme -> nombre       = "Acme";
$zapatos              = $acme -> createDataObject('departamento');
$zapatos -> nombre    = 'Zapatos';
$zapatos -> ubicación = 'A-block';
$sue                  = $zapatos -> createDataObject('employee');
$sue -> nombre        = 'Sue';
$acme -> empleado_del_mes = $sue;

$das -> applyChanges($gbd, $raíz);

echo "Escritos Acme con un departamento y un empleado\n";
?>

Ejemplo #2 Una compañía, un departamento, un empleado - Recuperar y actualizar

La sentencia SQL pasada al DAS Relacional esta vez es una unión interna que recupera datos de las tres tablas. De otro modo este ejemplo no introduciría nada que ya no apareciera en los ejemplos anteriores.

El grafo se actualiza por la adición de un nuevo departamento y un nuevo empleado, y algunas alteraciones en las propiedades nombre de los objetos existentes en el grafo. Los cambios combinados son luego escritos. El DAS Relacional procesará y aplicará una mezcla arbitraria de adicioines, modificaciones y eliminaciones hacia y desde el grafo de datos.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/*************************************************************************************
* Buscar otra vez la compañía y cambiar varios aspectos.
* Cambiar el nombre de la compañía, del departamento y del empleado.
* Añadir un segundo departamento y un nuevo empleado.
* Cambiar el empleado del mes.
*************************************************************************************/
$das = new SDO_DAS_Relational ($metadatos_bd,'compañía',$metadatos_contenedor_SDO);
$gbd = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

$raíz = $das->executeQuery($gbd,
  "select c.id, c.nombre, c.empleado_del_mes, d.id, d.nombre, e.id, e.nombre " .
  "from compañía c, departamento d, empleado e " .
  "where e.id_dept = d.id and d.id_comp = c.id and c.nombre='Acme'",
   array('compañía.id','compañía.nombre','compañía.empleado_del_mes',
   'departamento.id','departamento.nombre','empleado.id','empleado.nombre'));
$acme            = $raíz['compañía'][0];

$zapatos         = $acme->departamento[0];
$sue             = $zapatos -> employee[0];

$ti              = $acme->createDataObject('departamento');
$ti->nombre      = 'TI';
$ti->ubicación   = 'G-block';
$billy           = $ti->createDataObject('empleado');
$billy->nombre   = 'Billy';

$acme->nombre    = 'MegaCorp';
$zapatos->nombre = 'Calzado';
$sue->nombre     = 'Susan';

$acme->empleado_del_mes = $billy;
$das -> applyChanges($gbd, $raíz);
echo "Escritos la compañía con un departamento y un empleado extras y cambiados los nombres (Megacorp/Calzado/Susan)\n";

?>

Ejemplo #3 Una compañía, dos departamentos, dos empleados - Recuperar y eliminar

La compañía se recupera como un grafo de datos completo que contiene cinco objetos de datos - la compañía, dos departamentos y dos empleados. Se eliminan todos eliminando el objeto compañía. Al eliminar un objeto de grafo se eliminan todos los objetos bajo él en el grafo. Se generarán y ejecutarán cinco sentencias DELETE de SQL. Ya que siempre estarán cualificadas con una cláusula WHERE que contiene todos los campos que fueron recuperados, cualquier actualización en los datos de la base de datos en el transcurso de otro proceso será detectada.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/*************************************************************************************
* Ahora leerla una vez más y eliminarla.
* Se puede eliminar parte, aplicar los cambios, y luego seguir trabajando con el mismo
* grafo, pero se ha de tener cuidado de mantener el cierre - no se puede eliminar el
* empleado que es emplado del mes sin reasignar. Por seguridad, aquí se elimina la
* compañía de una sola vez.
*************************************************************************************/
$das = new SDO_DAS_Relational ($metadatos_bd,'compañía',$metadatos_contenedor_SDO);
$gbd = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

$raíz = $das->executeQuery($gbd,
  "select c.id, c.nombre, c.empleado_del_mes, d.id, d.nombre, e.id, e.nombre " .
  "from compañía c, departamento d, empleado e " .
  "where e.id_dept = d.id and d.id_comp = c.id and c.nombre='MegaCorp';",
   array('compañía.id','compañía.nombre','compañía.empleado_del_mes',
   'departamento.id','departamento.nombre','empleado.id','empleado.nombre'));
$megacorp = $raíz['compañía'][0];

unset($raíz['compañía']);
$das -> applyChanges($gbd, $raíz);

echo "Eliminados la compañía, departamentos y empleados de una sola vez.\n";

?>

Ejemplos con dos tablas
Limitations
Ejemplos


Limitations

Existen las siguientes limitaciones en la versión actual del DAS Relacional:

  • No hay soporte para nulls. No existe soporte para el tipo NULL de SQL. No es lícito asignar un NULL de PHP a una propiedad de un objeto de datos y el DAS Relacional no lo escribirá como NULL en la base de datos. Si se encuentran nulls en la base de datos en una consulta, la propiedad permanecerá sin establecer.

  • Sólo dos tipos de relaciones SDO. La metainformación descrita abajo permite al DAS Relacional modelar sólo dos tipo de relación SDO: relaciones de contención polievaluadas y referencias de no contención monoevaluadas. En SDO, si una propiedad describe una relación mono o polievaluada, y si es de contención o de no contención, es idenpendiente. El rango completo de posibilidades que SDO permite no puede ser definido. Pueden existir relaciones que serían útiles modelar pero cuya implementación no se puede administrar. Un ejemplo es una relación de contención monoevaluada.

  • No hay soporte para el rango completo de tipos de datos de SDO. El DAS Relacional define todos las propiedades primitivas en el modelo SDO como de tipo string. SDO define un conjunto más rico de tipos que contiene tipos integer, float, booleano y fecha y hora. String es adecuado para los propósitos del DAS Relacional porque la combinación de PHP, PDO y la base de datos asegurará que los valores pasados como cadenas serán convertidos al tipo apropiado antes de ser puestos en la base de datos. Esto afecta a algunos escenarios en los que el DAS Relacional tiene que trabajar con un grafo de datos que proviene o se dirige a un DAS diferente.

  • Sólo una clave foránea por tabla. La metainformación solamente proporciona los medios para especificar una clave foránea por tabla. Esta clave foránea puede ser referenciada a uno de los dos tipos de relación SDO soportados. Obviamente existen algunos escenarios que no se pueden describir bajo esta limitación - no es posible tener dos referencias de no contención desde una tabla a otra, por ejemplo.

Ejemplos con tres tablas
Funciones del SDO-DAS-Relacional
DAS-Relacional de SDO


Funciones del SDO-DAS-Relacional

Clases predefinidas

El DAS Relacional proporciona dos clases: el DAS Relacional mismo y la subclase de Exception que puede ser lanzada. El DAS Relacional posee cuatro llamadas públicamente útiles: el constructor, la llamada createRootDataObject() para obtener el objeto raíz de un grafo de datos vacío, la llamada executeQuery() para obtener el grafo de datos que contiene datos de una base de datos relacional, y la llamada applyChanges() para escribir los cambios realizados al grafo de datos en la base de datos relacional.

SDO_DAS_Relational

El único objeto, aparte de una excepción SDO_DAS_Relational_Exception, con el que la aplicación interactuará.

Métodos

  • __construct - construir el DAS Relacional con un modelo derivado de los metadatos pasados

  • createRootDataObject - obtener un grafo de datos vacío que contiene solamente el objeto raíz especial

  • executeQuery - executar una consulta SQL pasada como un literal y devolver los resultados como un grafo de datos normalizado

  • executePreparedQuery - executar una consulta SQL pasada como una sentencia preparada, con una lista de valores para sustituir los parámetros de sustitución, y devolver los resultados como un grafo de datos normalizado

  • applyChanges - examinar el resumen de cambios del grafo de datos y aplicar aquellos a la base de datos, sujeto a una suposición de concurrencia optimista

SDO_DAS_Relational_Exception

Es una subclase de la clase Exception de PHP. No añade nuevo comportamiento a Exception. Lanzada, con texto descriptivo útil, para errores de señales en los metadatos o para fallos inerperados al realizar operaciones SQL.

Tabla de contenidos

  • SDO_DAS_Relational::applyChanges — Aplicar los cambios hechos a un grafo de datos en la base de datos.
  • SDO_DAS_Relational::__construct — Crea una instancia de un Servicio de Acceso a Datos Relacional
  • SDO_DAS_Relational::createRootDataObject — Devuelve el objeto raíz especial en un grafo de datos en principio vacío. Usado para crear un grafo de datos desde cero.
  • SDO_DAS_Relational::executePreparedQuery — Ejecuta una consulta SQL pasada como una sentencia preparada, con una lista de valores para sustituir los parámetros de sustitución, y devuelve los resultados como un grafo de datos normalizado.
  • SDO_DAS_Relational::executeQuery — Ejecutar una consulta SQL dada en una base de datos relacional y devolver los resultados como un grafo de datos normalizado.
Limitations
SDO_DAS_Relational::applyChanges
DAS-Relacional de SDO


Aplicar los cambios hechos a un grafo de datos en la base de datos.

Funciones del SDO-DAS-Relacional
SDO_DAS_Relational::__construct
Funciones del SDO-DAS-Relacional
PHP Manual

SDO_DAS_Relational::applyChanges

(^)

SDO_DAS_Relational::applyChanges — Aplicar los cambios hechos a un grafo de datos en la base de datos.

Descripción

void SDO_DAS_Relational::applyChanges ( PDO $database_handle , SDODataObject $root_data_object )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Dado un gestor de bases de datos PDO y el objeto especial raíz de un grafo de datos, examina el resumen de cambios del grafo de datos y aplica los cambios a la base de datos. Los cambios que puede aplicar pueden ser creaciones de objetos de datos, eliminación de objetos de datos, y modificaciones de propiedades de objetos de datos.

Parámetros

PDO_database_handle

Construido usando la extensión PDO. Una línea típica para construir un gestor de bases de datos PDO podría parecerse a esta:

$dbh = new PDO("mysql:dbname=COMPANYDB;host=localhost",DATABASE_USER,DATABASE_PASSWORD);

root_data_object

El objeto especial raíz que está en el nivel más alto del grafo de datos SDO.

Valores devueltos

Ninguno. Observe, sin embargo, que el grafo de datos que fue pasado aún está intacto y utilizable. Además, si los objetos de datos fueron creados y vueltos a escribir en una tabla con claves primarias autogeneradas, esas claves primarias serán ahora establecidas en los objetos de datos. Si los cambios fueron escritos con éxito, el resumen de cambios asiciado con el grafo de datos tendrá que ser limpiado, por lo que es posible ahora hacer más cambios al grafo de datos y aplicar esos cambios por turno. De esta manera es posible trabajar con el mismo grafo de datos y aplicar los cambios repetidamente.

Errores/Excepciones

SDO_DAS_Relational::applyChanges() puede lanzar una excepción SDO_DAS_Relational_Exception si no es capaz de aplicar todos los cambios correctamente.

El DAS Relacional inicia una transacción de base de datos antes de empezar a aplicar los cambios, y consignará la transacción solamente si todos tienen éxito. El DAS Relacional genera actualización cualificada y las sentencias delete que contienen una cláusula where que especifica que la fila que va a ser actualizada o eliminada debe contener los mismos valores que tenía cuando los datos fueron recuperados por primera vez. Así es como la concurrencia optimista está implementada. Si cualquiera de las sentencias de actualización o eliminación cualificadas falla al actualizar o al eliminar su fila objetivo, pueder ser a causa de que los datos han sido alterados en la base de datos en el transcurso. En cualquier evento, si cualquier actualización falla por cualquier razón, la transacción se retrotrae y se lanza una excepción. La excepción contendrá la sentencia SQL generada que falló.

El DAS Relacional también captura cualquier excepción de PDO y obtiene información de diagnóstico de PSO que se incluye en una SDO_DAS_Relational_Exception, la cual luego es lanzada.

Ejemplos

Por favor, véase la sección Ejemplos en la información general sobre los DAS Relacionales para más ejemplos de llamar a este método. Véase tambíen la sección sobre Rastreo para ver qué sentencias SQL son generadas por el DAS Relacional.

Funciones del SDO-DAS-Relacional
SDO_DAS_Relational::__construct
Funciones del SDO-DAS-Relacional


Crea una instancia de un Servicio de Acceso a Datos Relacional

SDO_DAS_Relational::applyChanges
SDO_DAS_Relational::createRootDataObject
Funciones del SDO-DAS-Relacional
PHP Manual

SDO_DAS_Relational::__construct

(^)

SDO_DAS_Relational::__construct — Crea una instancia de un Servicio de Acceso a Datos Relacional

Descripción

SDO_DAS_Relational::__construct ( array $database_metadata [, string $application_root_type [, array $SDO_containment_references_metadata ]] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Construye una instancia de un Servicio de Acceso a Datos Relacional dede la metainformación pasada.

Parámetros

database_metadata

Un array que contiene una o más definiciones de tablas, donde cada una es un array asociativo que contiene las claves name, columns, PK, y opcionalemente, FK. Para una discusión completa de la metainformación, véase la sección metainformación de la información general sobre el DAS Relacional.

application_root_type

La raíz de cada grafo de datos es un objeto de un tipo de raíz especial y los objetos de datos de apliacación vienen debajo de él. De los varios tipos de apliación en el modelo SDO, uno tiene que ser el tipo de aplicación inmediatamente por debajo de la raíz del grafo de datos. Si sólo existe una tabla en la metainformación de la base de datos, por lo que se puede deducir el tipo raíz de apliación, este argumento puede ser omitido.

SDO_containment_references_metadata

Un array que contiene una o más definiciones de una relación de contención, donde cada una es un array asociativo que contiene las claves parent y child. Las relaciones de contención describen cómo están conectados los tipos en el modelo para formal un árbol. El tipo especificado como el tipo raíz de aplicación debe estar presente como uno de los tipos padre de las referencias de contención. Si la aplicación sólo necesita trabajar con una tabla a la vez, y no existen relaciones de contención en el modelo, este argumento puede ser omitido. Para una discusión completa de la metainformación, véase la sección metainformación de la información general sobre el DAS Relacional.

Valores devueltos

Devuelve un objeto SDO_DAS_Relational en caso de éxito.

Errores/Excepciones

SDO_DAS_Relational::__construct() lanza una excepción SDO_DAS_Relational_Exception si se encuentra cualquier problema en la metainformación.

Ejemplos

Para una discusión completa de la metainformación, véase la sección metainformación de la información general sobre el DAS Relacional.

SDO_DAS_Relational::applyChanges
SDO_DAS_Relational::createRootDataObject
Funciones del SDO-DAS-Relacional


Devuelve el objeto raíz especial en un grafo de datos en principio vacío. Usado para crear un grafo de datos desde cero.

SDO_DAS_Relational::__construct
SDO_DAS_Relational::executePreparedQuery
Funciones del SDO-DAS-Relacional
PHP Manual

SDO_DAS_Relational::createRootDataObject

(^)

SDO_DAS_Relational::createRootDataObject — Devuelve el objeto raíz especial en un grafo de datos en principio vacío. Usado para crear un grafo de datos desde cero.

Descripción

SDODataObject SDO_DAS_Relational::createRootDataObject ( void )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Devuelve el objeto raíz especial del inicio de un grafo de datos en principio vacío. Esta llamada se usa cuando una aplicación quiere crear un grafo de datos desde cero, sin tener que llamar a executeQuery() para crear un grafo de datos.

El objeto raíz especial tiene una propiedad de contención polievaluada, con un nombre del tipo raíz de aplicación que fue pasado cuando se construtó el DAS Relacional. La propiedad solo puede tomar valores de ese tipo. Lo único que la aplicación puede hacer de manera útil con el tipo raíz es llamar a createDataObject() sobre él, pasando el nombre del tipo raíz de aplicación, para crear un objeto de datos de su propio tipo de aplicación.

Parámetros

Ninguno.

Valores devueltos

El objeto raíz.

Errores/Excepciones

Ninguno.

Ejemplos

Vea la sección de Ejemplos en la información general sobre el DAS Relacional para varios ejemplos de llamar a este método.

SDO_DAS_Relational::__construct
SDO_DAS_Relational::executePreparedQuery
Funciones del SDO-DAS-Relacional


Ejecuta una consulta SQL pasada como una sentencia preparada, con una lista de valores para sustituir los parámetros de sustitución, y devuelve los resultados como un grafo de datos normalizado.

SDO_DAS_Relational::createRootDataObject
SDO_DAS_Relational::executeQuery
Funciones del SDO-DAS-Relacional
PHP Manual

SDO_DAS_Relational::executePreparedQuery

(^)

SDO_DAS_Relational::executePreparedQuery — Ejecuta una consulta SQL pasada como una sentencia preparada, con una lista de valores para sustituir los parámetros de sustitución, y devuelve los resultados como un grafo de datos normalizado.

Descripción

SDODataObject SDO_DAS_Relational::executePreparedQuery ( PDO $database_handle , PDOStatement $prepared_statement , array $value_list [, array $column_specifier ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ejecuta una consulta dada en una base de datos relacional, usando el gestor de bases de datos proporcionado. Difiere del método más simle executeQuery() en que toma una sentencia preparada y una lista de valores. Esta es la llamada apropiada a usar cuando la sentencia se ejecuta varias veces con diferentes argumentos, y por lo tanto existe un beneficio de rendimiento a tener en cuenta de preparar la sentencia sólo una vez, o cuando la sentencia SQL contiene varios valores tomados de un origen que en el que no se puede confiar completamente. En este último caso puede no ser seguro construir la sentencia SQL simplemente concatenando las partes de la sentencia, ya que los valores pueden contener piezas de SQL. Para evitar esto, el llamado ataque de inyección SQL, es más seguro preparar la sentencia SQL con parámetros de sustitución (también conocidos como marcadores de parámetros, denotados por '?') y proporcionar una lista de valores a ser sustituidos como un argumento aparte. En principio, esta función es la misma que executeQuery() en el hecho que usa el modelo construye desde los metadatos para interpretar el conjunto de resultados y devolver un grafo de datos.

Parámetros

PDO_database_handle

Construido usando la extensión PDO. Una típica línea para construir un gestor de bases de datos PDO podría parecerse a esta:

$dbh = new PDO("mysql:dbname=COMPANYDB;host=localhost",DATABASE_USER,DATABASE_PASSWORD);

prepared_statement

Una sentencia SQL preparada para ser ejecutada en la base de datos. Habrá sido preparada por el método prepare() de PDO.

value_list

Un array con los valores a ser sustituidos en la sentencia SQL en lugar de los parámetros de sustitución. En el caso de que no existan parámetros de sustitución o marcadores de parámetros en la sentencia SQL, este argumento se puede especificar como NULL o como un array vacío.

column_specifier

El DAS Relacional necesita examinar el conjunto de resultados y, para cada columna, conocer de qué tabla y de qué columna de esa tabla proviene. En algunas circunstancias puede encontrar esta información por sí mismo, pero otras veces no puede. En estos casos se necesita un especificador de columna, el cual es un array que identifica las columnas. Cada entrada del array es siplemente una cadena de la forma nombre-tabla.nombre_columna.

El especificador de columna es necesario cuando existen nombres de comlumnas duplicadas en los metadatos de la base de datos, Por ejemplo, en la base de datos usada en los ejemplos, todas las tablas tienen una columna id y una columna nombre. Cuando el DAS Relacional obtiene el conjunto de resultados desde PDO, puede realizar esto con el atributo PDO_FETCH_ASSOC, el cual causará que las columnas del conjunto de resultados sean etiquetadas con el nombre de columna, pero no distinguirá duplicados. Así que esto solamente funcionará cuando no existan dupicados posibles en el conjunto de resultados.

En resumen, se ha de especificar un array de especificadores de columnas siempre que exista cualquier duda sobre qué columna podría pertenecer qué tabla y solamente omitirlo cuando cada nombre de columna de los metadatos de la base de datos sea único.

Todos los ejemplos de la sección Ejemplos utilizan un especificador de columna. Hay un ejemplo en el directorio Scenarios de la instalación que no lo usa: aquel que trabaja con la tabla empleados solamente, y ya que trabaja con una sola table, no pueden existir nombre de columnas duplicados.

Valores devueltos

Devuelve un grafor de datos. Específicamente, devuelve un objeto raíz de un tipo especial. Bajo esta raíz estarán los datos del conjunto de resultados. El objeto raíz tendrá una propiedad de contención polievaluada con el mismo nombre que el tipo raíz de la aplicación especificado en el constructor, y esa propiedad contendrá uno o más objetos de datos del tipo raíz de la aplicación.

En el caso en que la consulta no devuelve datos, aún se devolverá el objeto raíz de la aplicación, pero la propiedad de contención para el tipo raíz de la aplicación estará vacía.

Errores/Excepciones

SDO_DAS_Relational::executePreparedQuery() puede lanzar una SDO_DAS_Relational_Exception si no puede construir el grafo de datos correctamente. Esto puede suceder por varias razones: por ejemplo, si encuentra que el no tiene claves primarias en el conjunto de resultados para todos los objetos. También captura cualquer excepción de PDO y obtiene información de deiagnóstico de PDO, que incluye una SDO_DAS_Relational_Exception que lanza después.

Ejemplos

Ejemplo #1 Recuperar un objeto de datos usando executePreparedQuery()

En este ejemplo se recupera un único objeto de datos desde la base de datos - o posiblemente más de uno si existe una compañía llamada 'Acme'. Se utiliza echo con las propiedades nombre e id por cada compañía devuelta.

Se pueden encontrar otros ejemplo del uso de executePreparedQuery() en el código de ejemplo proporcionado nen sdo/DAS/Relational/Scenarios.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
 * Construir el DAS con los metadatos
 ***************************************************************/
$das = new SDO_DAS_Relational ($metadatos_bd,'compañía',$metadatos_referencia_SDO);

/**************************************************************
 * Obtener una conexión a la base de datos
 ***************************************************************/
$gbd = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

/**************************************************************
 * Emitir una consulta para obtener un objeto compañía - posiblemente más si existen
 * Usar una consulta preparada con un parámetro de sustitución.
 ***************************************************************/
$nombre = 'Acme';
$sentencia_pdo = $gbd->prepare('select nombre, id from compañía where nombre=?');
$root = $das->executePreparedQuery(
    $gbd,
    $sentencia_pdo,
    array($nombre),
    array('compañía.nombre', 'compañía.id'));

/**************************************************************
 * Usar echo con el nombre y el id
 ***************************************************************/
foreach ($root['compañía'] as $compañía) {
    echo "La compañía obtenida de la base de datos tiene como nombre = " .
    $compañía['nombre'] . " e id " . $compañía['id'] . "\n";
}
?>

SDO_DAS_Relational::createRootDataObject
SDO_DAS_Relational::executeQuery
Funciones del SDO-DAS-Relacional


Ejecutar una consulta SQL dada en una base de datos relacional y devolver los resultados como un grafo de datos normalizado.

SDO_DAS_Relational::executePreparedQuery
DAS XML de SDO
Funciones del SDO-DAS-Relacional
PHP Manual

SDO_DAS_Relational::executeQuery

(^)

SDO_DAS_Relational::executeQuery — Ejecutar una consulta SQL dada en una base de datos relacional y devolver los resultados como un grafo de datos normalizado.

Descripción

SDODataObject SDO_DAS_Relational::executeQuery ( PDO $database_handle , string $SQL_statement [, array $column_specifier ] )
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.

Ejecuta una consulta dada en una base de datos relacional, utilizando el gestor de bases de datos PDO proporcionado. Usa el modelo que construye desde los metadatos para interpretar el conjunto de resultados. Devuelve un grafo de datos.

Parámetros

PDO_database_handle

Construido utilizando la extensión PDO. Una línea típica para construir un gestor de bases de datos PDO puede ser así:

$dbh = new PDO("mysql:dbname=COMPANYDB;host=localhost",DATABASE_USER,DATABASE_PASSWORD);

SQL_statement

La sentencia SQL a ejecutar en la base de datos.

column_specifier

El DAS Relacional para examinar el conjunto de resultados y para cada columna, conocer de qué tabla y de qué columna de esa tabla proviene. En algunas circunstancias puede encontrar esta información por sí mismo, pero en otras no puede. En estos casos es necesario una especificador de columna, el cual es un array que identifica las columnas. Cada entrada del array es simplemente una cadena en la forma nombre-tabla.nombre_columna.

El especificador de columna es necesario cuando existen nombre de columnas duplicados en los metadatos de la base de datos. Por ejemplo, en la base de datos usada en los ejemplos, todas las tablas tienen una columna id y una name. Cuando el DAS Relacional recupera el conjunto de resultados desde PDO, éste puede hacerlo con el atributo PDO_FETCH_ASSOC, lo que causará que las columnas del conjunto de resultados sean etiquetadas con el nombre de columna, pero no distinguitá duplicados. Por lo tanto, esto solamente funcionará cuando no haya posibles duplicados en el conjunto de resultados.

Para resumir, se ha de especificar un especificador de columna siempre que exista cualquier duda sobre cuales columnas pertenecen a cual tabla y solamente omitirlo cuando cada nombre de columna de los metadatos de la base de datos sea único.

Todos los ejemplo en la sección Ejemplos usan un especificador de columna. Existe un ejemplo en el directorio Escenarios de la instalación que no lo hace: aquél que trabajo simplemente con la tabla empleado, y ya que trabaja con sólo una tabla, no pueden existir nombres de columnas duplicados.

Valores devueltos

Devuelve un grafo de datos. Especialmente, devuelve un objeto raíz de un tipo especial. Bajo este objeto raíz estarán los datos del conjunto de resultados. El objeto raíz tendrá una propiedad de contención polievaluada con el mismo nombre que el tipo raíz de la aplicación especificado en el constructor, y esa propiedad contendrá uno o más objetos de datos del tipo raíz de la aplicación.

En el caso en que la consulta no devuelva datos, aún se devolverá el objeto raíz especial pero la propiedad de contención del tipo raíz de la aplicación estará vacía.

Errores/Excepciones

SDO_DAS_Relational::executeQuery() puede lanzar una excepción SDO_DAS_Relational_Exception si no es capaz de construir el grafo de datos correctamente. Esto puede suceder por varias razones: por ejemplo, si encuentra que no tiene claves primarias en el conjunto de resultados para todos los objetos. También atrapa cualquer excepción de PDO y obtiene información de diagnóstico de PDO, la cual incluye en una excepción SDO_DAS_Relational_Exception que entoces lanza.

Ejemplos

Véase la sección Ejemplos de la información general sobre el DAS Relacional para muchos ejemplos de invocar a este método.

SDO_DAS_Relational::executePreparedQuery
DAS XML de SDO
Funciones del SDO-DAS-Relacional


Servicio de Acceso a Datos XML de SDO

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
  • Funciones del DAS XML de SDO
    • SDO_DAS_XML::addTypes — Para cargar un segundo o subsiguiente fichero de esquema en un objteo SDO_DAS_XML
    • SDO_DAS_XML::create — Para crar un objeto SDO_DAS_XML para un fichero de esquema dado
    • SDO_DAS_XML::createDataObject — Crea un objeto SDO_DataObject dados un URI de espacio de nombres y un nombre de tipo
    • SDO_DAS_XML::createDocument — Crea un objeto Documento XML desde cero, sin la necesidad de cargar un documento desde un fichero o una cadena
    • SDO_DAS_XML::loadFile — Devuelve un objeto SDO_DAS_XML_Document para la ruta dada al documento de instancia xml
    • SDO_DAS_XML::loadString — Devuelve un SDO_DAS_XML_Document para una cadena de instancia xml dada
    • SDO_DAS_XML::saveFile — Guarda el objeto SDO_DAS_XML_Document en un fichero
    • SDO_DAS_XML::saveString — Guarda el objeto the SDO_DAS_XML_Document en una cadena
    • SDO_DAS_XML_Document::getRootDataObject — Devuelve el SDO_DataObject raíz
    • SDO_DAS_XML_Document::getRootElementName — Devuelve el nombre del elemento raíz
    • SDO_DAS_XML_Document::getRootElementURI — Devuelve la cadena del URI del elemento raíz
    • SDO_DAS_XML_Document::setEncoding — Establece la cadena dada como codificación
    • SDO_DAS_XML_Document::setXMLDeclaration — Establece la declaración de xml
    • SDO_DAS_XML_Document::setXMLVersion — Establece la cadena dada como versión de xml
SDO_DAS_Relational::executeQuery
Introducción
Manipulación XML


Introducción

Para poder usar el Servicio de Acceso a Datos XML de los Objetos de Datos de Servicio (SDO), se necesitará comprender algunos de los conceptos de SDO: el grafo de datos, el objeto de datos, XPath expresiones de propiedad, etc. Si no está familiarizado con estas ideas, debería ver primero la sección sobre SDO.

El trabajo del DAS XML es mover datos entre la aplicación y el origen de datos XML, el cual puede ser un fichero o un URL. Los SDOs siempre son creados y mantenidos según un modelo que define no nombres de los tipos y qué nombres de propiedad puede tener cada tipo. Para datos que provienen de XML, este modelo SDO se construye desde un fichero esquema escrito en el lenguaje de esquema XML (un fichero xsd). Este fichero de esquema se pasa normalmente al método create cuando se inicializa el DAS XML. La » especificación de SDO 2.0 define la referenciación entre los tipos XML y los tipos SDO. Existen varias pequeñas limitaciones en el soporte de PHP - no todo lo que está en la especificación puede hacerse - y estas limitaciones están resumidas en una sección posterior.

DAS XML de SDO
Instalación/Configuración
DAS XML de SDO


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
DAS XML de SDO


Requerimientos

El Servicio de Acceso a Datos XML de SDO requiere PHP 5.1.0 o superior. Está empaquetado con la extensión SDO y requiere SDO para que sea instalado. Véase las instrucciones de instalación de SDO para los detalles de cómo realizarla.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Es Servicio de Acceso a Datos XML está empaquetado e instalado como parte de la extensión SDO. Consulte las instrucciones de instalación de SDO.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Ejemplos
DAS XML de SDO


Ejemplos

Varios de los siguientes ejemplos están basados en el ejemplo de la carta descrito en la documentación de SDO. En los ejemplos se asume que el Esquema XML de la carta está contenido en el fichero carta.xsd y la instancia de la carta está en el fichero carta.xml. Estos dos ficheros se reproducen aquí:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:carta="http://esquemaCarta"
  targetNamespace="http://esquemaCarta">
  <xsd:element name="cartas" type="carta:ModeloCarta"/>
  <xsd:complexType name="ModeloCarta" mixed="true">
    <xsd:sequence>
      <xsd:element name="fecha" minOccurs="0" type="xsd:string"/>
      <xsd:element name="nombre" minOccurs="0" type="xsd:string"/>
      <xsd:element name="apellido" minOccurs="0" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>

<carta:cartas xmlns:carta="http://esquemaCarta">
  <fecha>March 1, 2005</fecha>
  Mutual of Omaha
  Wild Kingdom, USA
  Estimado/a
  <nombre>Casy</nombre>
  <apellido>Crocodile</apellido>
  Por favor, compre más repelente de tiburones.
  Su prima ha vencido.
</carta:cartas>

Ejemplo #1 Cargar, alterar, y guardar un documento XML

El siguiente ejemplo muestra cómo un documento XML se puede cargar desde un fichero, alterar, y volver a escribir.

<?php
/**
 * Cargar, actualizar, y guardar un documento XML
 */
try {
   $dasxml = SDO_DAS_XML::create("carta.xsd");
   $documento = $dasxml->loadFile("carta.xml");
   $objeto_datos_raíz = $documento->getRootDataObject();
   $objeto_datos_raíz->fecha = "September 03, 2004";
   $objeto_datos_raíz->nombre = "Anantoju";
   $objeto_datos_raíz->apellido = "Madhu";
   $dasxml->saveFile($documento, "salida-carta.xml");
   echo "Se ha escrito un nuevo fichero:\n";
   print file_get_contents("salida-carta.xml");
} catch (SDO_Exception $e) {
   print($e->getMessage());
}
?>

Una instancia del DAS XML se obtiene primero desde el método SDO_DAS_XML::create(), que es un método estático de la clase SDO_DAS_XML. Se pasa la ubicación del xsd como un parámetro. Una vez que se tiene inicializada la instancia del DAS XML con un esquema dado, se puede usar para cargar el documento instancia usando el método loadFile(). Existe tambíen un método loadString() si se quiere cargar un un documento instancia XML desde una cadena. Si el documento instancia se carga con éxito, se devolverá un objeto de tipo SDO_DAS_XML_Document, sobre el que se puede llamar al método getRootDataObject() para obtener el objeto de datos SDO que es el raíz del grafo de datos SDO. También se pueden usar operaciones SDO para cambiar el grafo. En este ejemplo se alteran las propiedades fecha, nombre, y apellido. Después se utiliza el método saveFile() para escribir el documento cambiado en el sistema de ficheros. El método saveFile tiene unargumento extra opcional de tipo integer que si se especifica hará que el DAS XML dé formato al XML, uando este integer como la cantidad a indentar cada vez que ocurra un cambio de nivel en el documento.

Esto escribirá lo siguiente en salida-carta.xml.

<?xml version="1.0" encoding="UTF-8"?>
<ModeloCarta xmlns="http://esquemaCarta" xsi:type="ModeloCarta" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <fecha>September 03, 2004</fecha>
  Mutual of Omaha
  Wild Kingdom, USA
  Estimado/a
  <nombre>Anantoju</nombre>
  <apellido>Madhu</apellido>
  Por favor, compre más repelente de tiburones.
  Su prima ha vencido.
</ModeloCarta>

Ejemplo #2 Crear un nuevo documento XML

El ejemplo anterior cargaba el documento desde un fichero. Este ejemplo muestra cómo crar un grafo de datos SDO en memoria. En este ejemplo, luego es guardado en una cadena XML. Además, ya que la letra contiene contenido estructurado y no estructurado, usa la API Sequence así como asignaciones a propiedades para construir el grafo de datos.

<?php
/**
 * Crear un documento XML desde cero
 */
try {
   $dasxml = SDO_DAS_XML::create("carta.xsd");
   try {
       $doc = $dasxml->createDocument();
       $odr = $doc->getRootDataObject();
       $sec = $odr->getSequence();
       $sec->insert("April 09, 2005", NULL, 'fecha');
       $sec->insert("Acme Inc. ", NULL, NULL);
       $sec->insert("United Kingdom. ");
       $sec->insert("Estimado/a", NULL, NULL);
       $sec->insert("Tarun", NULL, "nombre");
       $sec->insert("Nayaraaa", NULL, "apellido");
       $odr->apellido = "Nayar";
       $sec->insert("Porfavor, observe que su pedido número ");
       $sec->insert(12345);
       $sec->insert(" ha sido enviado hoy. Gracias por hacer negocios con nosotros.");
       print($dasxml->saveString($doc));
   } catch (SDO_Exception $e) {
       print($e);
   }
} catch (SDO_Exception $e) {
   print("Problema creando un documento XML: " . $e->getMessage());
}
?>

El método createDocument() del DAS XML devuelve un objeto documento con un único objeto raíz que corresponde a un elemento de documento vacío. El nombre de elemento del elemento documento es conocido desde el fichero de esquema. Si existiera ambigüedad sobre cuál es el elemento documento, ya que pueden haber más cuando se ha cargado más de un esquema en el mismos DAS XML, se pueden pasar el nombre del elemento y el URI del espacio de nombres al método createDocument().

Esto emitirá la siguiente salida (se han insertado saltos de línea para una mejor legibilidad):

<?xml version="1.0" encoding="UTF-8"?>
<ModeloCarta xmlns="http://esquemaCarta" xsi:type="ModeloCarta"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<fecha>April 09, 2005</fecha>
Acme Inc. United Kingdom.
Estimado/a
<nombre>Tarun</nombre>
<apellido>Nayar</apellido>
Porfavor, observe que su pedido número 12345 ha sido
enviado hoy. Gracias por hacer negocios con nosotros.
</ModeloCarta>

Ejemplo #3 Establecer las propiedades del documento XML

Este tercer ejemplo muestra cómo establecer la versión de XML y y la codificación del objeto documento. Serán usados cuando se escriba el XML. Si no se desea ninguna declaración XML (quizás quiera generar el XML como cadena para embeberlo en algo) se puede usar el método setXMLDeclaration() para suprimirla.

<?php
/**
 * Ilustrar las llamadas que controlan la declaración XML
 */
   $dasxml = SDO_DAS_XML::create("carta.xsd");
   $documento = $dasxml->loadFile("carta.xml");
   $documento->setXMLVersion("1.1");
   $documento->setEncoding("ISO-8859-1");
   print($dasxml->saveString($documento));
?>

La versión de XML y la codificación son establecidas en la declaración XML al inicio del documento XML.

<?xml version="1.1" encoding="utf-8"?>
.../...

Ejemplo #4 Utilizar un tipo abierto

Este cuarto ejemplo ilustra el uso de un tipo abierto de SDO y el uso del método createDataObject(). Para este ejemplo se usan los dos siguientes esquemas:

<schema
  xmlns="http://www.w3.org/2001/XMLSchema">

  <element name="jungla">
    <complexType>
      <sequence>
        <any minOccurs="0" maxOccurs="unbounded"/>
      </sequence>
    </complexType>
  </element>

</schema>

Observe la presencia del elemento any en la definición. El primer esquema define el tipo complejo jungla como contendor de una secuencia de cualquier otro tipo. Los otros tipos que usará el ejemplo están definidos en un segundo fichero de esquema:

<schema xmlns= "http://www.w3.org/2001/XMLSchema">

   <complexType name="tipoSerpiente">
     <sequence>
       <element name= "nombre" type="string"/>
       <element name= "longitud" type="positiveInteger" />
     </sequence>
   </complexType>

   <complexType name="tipoOso">
     <sequence>
       <element name= "nombre" type="string"/>
       <element name= "peso" type="positiveInteger" />
     </sequence>
   </complexType>

   <complexType name="tipoPantera">
     <sequence>
       <element name= "nombre" type="string"/>
       <element name= "color" type="string" />
     </sequence>
   </complexType>

</schema>

Aquí está el código de PHP de ejemplo que utiliza estos dos ficheros de esquema:

<?php

/**
 * Ilustrar tipos abiertos y el uso del método addTypes()
 */

$dasxml = SDO_DAS_XML::create();
$dasxml->addTypes("jungla.xsd"); // este es un tipo abierto, es decir, el xsd especifica que pueden contener cualquier ("any") tipo
$dasxml->addTypes('tiposAnimales.xsd');

$baloo            = $dasxml->createDataObject('','tipoOso');
$baloo->nombre    = "Baloo";
$baloo->peso    = 800;

$bagheera         = $dasxml->createDataObject('','tipoPantera');
$bagheera->nombre = "Bagheera";
$bagheera->color  = 'negro';

$kaa              = $dasxml->createDataObject('','tipoSerpiente');
$kaa->nombre      = "Kaa";
$kaa->longitud    = 25;

$documento        = $dasxml->createDocument();
$od               = $documento->getRootDataObject();
$od->oso          = $baloo;
$od->pantera      = $bagheera;
$od->serpiente    = $kaa;

print($dasxml->saveString($documento,2));

?>

Estos dos fichero de esquemas son cargados primero en el DAS XMLThese con los métodos create() y addTypes(). El método createDataObject() se usa para crear tres objetos por separado. En cada caso se pasan el URI del espacio de nombres y el nombre del tipo al método createDataObject(): en este ejemplo el URI del espacio de nombres está enblanco ya que no se usa un espacio de nombres en el esquema. Una vez que los tres objetos de datos - que representan un oso, una pantera y una serpiente - han sido creados, se crea un objeto documento con el método createDocument(). En este caso no existen ambigüedad sobre lo que debería ser el elemento documento del documento - ya que el segundo fichero de esquema sólo define tipos complejos, por lo que el elemento documento solo puede ser el elemento global jungla definido en el primer esquema. Este documento tendrá un único objeto de datos raíz que se corresponde con un elemento documento vacío jungla. Ya que es un tipo abierto, las propiedades se pueden añadir a voluntad. Cuando la primera asignación se hace a $od->oso, se añade una propiedad oso al objeto de datos raíz: lo mismo ocurre con las dos asignaciones siguientes. Cual el documento es escrito por el método saveString(), el documento resultante es:

<?xml version="1.0" encoding="UTF-8"?>
<jungla xsi:type="jungla" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <oso xsi:type="tipoOso">
    <nombre>Baloo</nombre>
    <peso>800</peso>
  </oso>
  <pantera xsi:type="tipoPantera">
    <nombre>Bagheera</nombre>
    <color>negro</color>
  </pantera>
  <serpiente xsi:type="tipoSerpiente">
    <nombre>Kaa</nombre>
    <longitud>25</longitud>
  </serpiente>
</jungla>

Ejemplo #5 Averiguar lo que se desee del documento

Con este ejemplo se pretende ilustrar cómo encontrar el nombre del elemento y el espacio de nombre del elemento documento desde el Objeto Documento XML, y el typo de SDO y el espacio de nombre desde el objeto de datos raíz del objeto de datos XML, y cómo se relacionan entre ellos. Esto puede ser difícil de entender debido a que exsten cuatro llamadas a métodos: dos se pueden realizar sobre el objeto Documento, y las otras dos se puede realizar sobre cualquier objeto de datos incluyendo el objeto de datos raíz. Debido a que las reglas que definen cómo deriva el modelo SDO del modelo XML, cuando el objeto de datos concerniente es el objeto raíz que representa el objeto documento para el documento, only three possible values can come back from these four method calls.

Las dos llamadas a métodos que se pueden hacer en el documento son getRootElementName() y getRootEelementURI(). Devuelven el nombre de elemento y el espacio de nombres del elemento documento, respectivamente.

Las dos llamadas a métodos que se pueden hacer en el objeto de datos son getTypeName() y getTypeNamespaceURI(). Devuelve el nombre del tipo SDO y el espacio de nombres del tipo del objeto de datos, respectivamente.

Siempre que se llame a getRootElementURI() sobre el objeto documento devolverá el mismo valor que si se llama a getNamespaceURI() sobre el objeto de datos raíz. Esencialmente, la información está derivada de las primeras líneas del fichero de esquema, donde existen tres piezas distintas de información. Para ilustrarlo, aquí están de nuevo las primeras líneas de carta.xsd que se usaron arriba.

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:carta="http://esquemaCarta"
            targetNamespace="http://esquemaCarta">

  <xsd:element name="cartas" type="carta:ModeloCarta"/>

  <xsd:complexType name="ModeloCarta" mixed="true">
    .../...

Los tres valores más importantes son:

  • cartas, el nombre del elemento documento

  • ModeloCarta, el nombre del tipo complejo del elemento documento. También es el nombre del tipo de SDO del objeto de datos raíz.

  • http://esquemaCarta, el espacio de nombres al que pertenece el elemento documento. Tabién es el URI del espacio de nombres del tipo de SDO del objeto de datos raíz.

Es trabajo de las reglas de referenciación XML-SDO que cuando el model SDO se construye desde el fichero de esquema, el nombre de tipo y el URI del espacio de nombres del elemento raíz sean tomados del tipo complejo del elemento documento, si existiera. Por lo tanto, en este ejemplo el nombre de tipo del objeto de datos raíz es ModeloCarta. En el caso de que no exista una definición aparte del tipo complejo para el elemento documento, cuando el tipo es está definido en línea y es anónimo, el nombr del tipo SDO será el mismo que el nombre del elemento.

El siguiente programa carga el documento carta document y comprueba los valores devueltos de cada una de las cuatro llamadas.

<?php
/**
 * Averiguar lo que se desee sobre el documento y el elemento documento
 * Esto puede ser difícil de entender debido a que exsten cuatro llamadas
 * Dos llamadas se realizan sobre el documento
 * Dos llamadas se realizan sobre el objeto de datos raíz y su modelo
 * Debido a las reglas de referenciación SDO-XML y a cómo es derivado el modelo SDO
 * del modelo XML, only three possible values can come back from these four calls.
 * Siempre, $documento->getRootElementURI() == (tipo del objeto de datos raíz)->namespaceURI
 * Esencialmente, todas provienen de las primeras líneas del xsd:
 * <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 *   xmlns:carta="http://esquemaCarta"
 *   targetNamespace="http://esquemaCarta">
 *   <xsd:element name="cartas" type="carta:ModeloCarta"/>
 */

$dasxml = SDO_DAS_XML::create("carta.xsd");
$documento = $dasxml->loadFile("carta.xml");
$od_raíz = $documento->getRootDataObject();

/**
 * El "nombre del elemento raíz" es el nombre de elemento del elemento documento
 * en este caso 'cartas'
 * Coincide con el atributo 'nombre' del elemento documento en el xsd y también
 * con el nombre de elemetno del xml
 */
echo "El nombre del elemento documento es " . $documento->getRootElementName() . "\n";
assert($documento->getRootElementName() == 'cartas'); // una propiedad del documento

/**
 * El "URI del elemento raíz" es la parte del espacio de nombres del nombre de elemento del elemento documento
 * en este caso 'http://esquemaCarta' ya que 'cartas' está en ese espacio de nombres
 * Se toma des xsd y coincide con el espacio de nombres tomado del xml
 */
echo "El elemento documento está en el espacio de nombres " . $documento->getRootElementURI() . "\n";
assert($documento->getRootElementURI() == 'http://esquemaCarta'); // una propiedad del documento

/**
 * El nombre de tipo es tomado del modelo SDO
 * Las reglas de referenciación XML-SDO realizan esto:
 *   El nombre del tipo complejo si existe uno (en este caso existe)
 *   El nombre del elemento documento si no hay tipo comlejo
 * Esto es tomado del xsd
 */
echo "El nombre del tipo del objeto de datos raíz es " . $od_raíz->getTypeName() . "\n";
assert($od_raíz->getTypeName() == 'ModeloCarta');

/**
 * El URI del espacio de nombres es tomado del modelo SDO
 * Las reglas de referenciación XML-SDO se aseguran de que siempre sea el mismo que
 * el URI del espacio de nombres del elemento documento
 */
echo "El URI del espacion de nombres del objeto de datos raíz es " . $od_raíz->getTypeNamespaceURI() . "\n";
assert($od_raíz->getTypeNamespaceURI() == 'http://esquemaCarta');

?>

The output from this program is as follows:

El nombre del elemento documento es cartas
El elemento documento está en el espacio de nombres http://esquemaCarta
El nombre del tipo del objeto de datos raíz es ModeloCarta
El URI del espacion de nombres del objeto de datos raíz es http://esquemaCarta

Ejemplo #6 Imprimir el modelo SDO

El DAS XML proporciona un sencillo medio para ver los tipo y propiedades que has sido cargador. La instrucción de PHP "print" o "echo" imprimirá los tipos y las propiedades.

<?php
/**
 * Ilustrar la impresión del modelo
 */

$dasxml = SDO_DAS_XML::create("carta.xsd");
print $dasxml;

?>

The output from this program is as follows:

object(SDO_XML_DAS)#1 {
18 types have been defined. The types and their properties are::
1. commonj.sdo:BigDecimal
2. commonj.sdo:BigInteger
3. commonj.sdo:Boolean
4. commonj.sdo:Byte
5. commonj.sdo:Bytes
6. commonj.sdo:ChangeSummary
7. commonj.sdo:Character
8. commonj.sdo:DataObject
9. commonj.sdo:Date
10. commonj.sdo:Double
11. commonj.sdo:Float
12. commonj.sdo:Integer
13. commonj.sdo:Long
14. commonj.sdo:Short
15. commonj.sdo:String
16. commonj.sdo:URI
17. http://esquemaCarta:ModeloCarta
    - fecha (commonj.sdo:String)
    - nombre (commonj.sdo:String)
    - apellido (commonj.sdo:String)
18. http://esquemaCarta:RootType
    - cartas (http://esquemaCarta:ModeloCarta)
Constantes predefinidas
Funciones del DAS XML de SDO
DAS XML de SDO


Funciones del DAS XML de SDO

Clases predefinidas

El DAS XML proporciona dos clases principales. La primera es SDO_DAS_XML, la cual es la clase principal usada para obtener los datos de la fuente XML y para volver a escribir los datos. La segunda es la clase SDO_DAS_XML_Document, que representa los datos del documento XML.

También hay algunas clases de excepciones que pueden ser lanzadas si se encuentran errores al buscar o analizar los ficheros xsd o xml.

SDO_DAS_XML

Esta es la clase principal del DAS XML, que se utiliza para obtener los datos de la fuente xml así como para volver a escribir los datos. Y sus métodos para cargar y guardar ficheros xml:

Métodos

  • create Este es un método estático disponible en la clase SDO_DAS_XML. Usado para construir un objeto SDO_DAS_XML.

  • addTypes Funciona casi de la misma manera que create() pero se usa para añadir el contenido de un segundo o subsiguiente fichero de esquema a un DAS XML que ya ha sido creado.

  • createDataObject Se puede usar para construir un objeto de datos SDO de un tipo dado.

  • createDocument Se puede usar para construir un objeto Documento XML desde cero.

  • loadFile Carga el documento de instancia de xml desde un fichero. Este fichero puede estar en el sistema de ficheros local o en un host remoto.

  • loadString Lo mismo que el método de arriba. Carga la instancia xml que está disponible como cadena.

  • saveFile Guarda un objeto SDO_DAS_XML_Document como un fichero xml.

  • saveString Guarda un objeto SDO_DAS_XML_Document como una cadena xml.

SDO_DAS_XML_Document

Esta clase se usa para obtener el nombre y el espacio de nombres del elemento documento, y para obtener el objeto de datos raíz del documento. Por último, también se usa para establecer la versión de XML y la codificación de un documento en la salida.

Métodos

  • getRootDataObject Obtiene el DataObject raíz.

  • getRootElementName Obtiene el nombre del DataObject raíz.

  • getRootElementURI Obtiene el URI del DataObject raíz.

  • setEncoding Establece la cadena de codificaicon con el valor dado.

  • setXMLDeclaraion Para establecer/desestablecer la declaración xml.

  • setXMLVersion Establece la versión de cml con el valor dado.

SDO_DAS_XML_ParserException

Es una subclase de SDO_Exception. Lanzada por cualquier error de análisis al cargar el fichero xsd/xml.

SDO_DAS_XML_FileException

Es una subclase de SDO_Exception. Lanzada por cualquier método que carga datos desde un fichero, cuando no se puede encontrar el fichero.

Limitaciones en comparación con la especificación 2.0 de SDO

La » especificación 2.0 de SDO define la referenciación entre los tipos XML y los tipos SDO. Con SDO de Java, esta referenciación es implementada por XMLHelper. Con SDO para PHP, esta referenciación es implementada por el Servicio de Acceso a Datos XML. El DAS XML implementa la referenciación descrita en la especificación 2.0 de SDO con algunas restricciones. Una lista detallada de las limitaciones es:

Tipos Simpes de XML

  1. Tipo Simple con sdoJava:instanceClass - no se proporciona un equivalente con PHP.

  2. Tipo Simple con sdoJava:extendedInstanceClass - no se proporciona un equivalente con PHP.

  3. Tipo Simple con lista de itemType.

  4. Tipo Simple con unión.

Tipos Complejos de XML

  1. Tipo Complejo con sdo:aliasName - no hay soporte de PHP para alias de Tipo SDO.

XSD Attribute

  1. Atributo con sdo:aliasName - no hay soporte de PHP para alias de propiedades SDO.

  2. Atribuo con valor predeterminado - no hay soporte de PHP para valores predeterminados de propiedades SDO.

  3. Atributo con valor fijo - no hay soporte de PHP para propiedades de sólo lectura o valores predeterminados de SDO.

  4. Atributo referenciando a DataObject con sdo:propertyType - ho hay soporte para sdo:propertyType="...".

  5. Atributo con propiedad bidireccional para un DataObject con sdo:oppositeProperty y sdo:propertyType - no hay soporte de PHP para opuestos SDO.

Elementos XSD

  1. Elemento con sdo:aliasName - no hay soporte de PHP para alias de propiedades SDO.

  2. Elemento con grupo de sustitución.

Elementos XSD con Tipo Simple

  1. Elemento de Tipo Simple con valor predeterminado - no hay soporte de PHP para valores predeterminados SDO.

  2. Elemento de Tipo Simple con valor fijo - no hay soporte de PHP para propiedades de sólo lectura o valores predeterminados de SDO.

  3. Elemento de Tipo Simple con sdo:string - no hay soporte para sdo:string="true".

  4. Elemento referenciando un DataObject con sdo:propertyType - no hay soporte para sdo:propertyType="..."

  5. Elemento con referencia bidireccional a un DataObject con sdo:oppositeProperty and sdo:propertyType - no hay soporte de PHP para opuestos SDO.

Tabla de contenidos

  • SDO_DAS_XML::addTypes — Para cargar un segundo o subsiguiente fichero de esquema en un objteo SDO_DAS_XML
  • SDO_DAS_XML::create — Para crar un objeto SDO_DAS_XML para un fichero de esquema dado
  • SDO_DAS_XML::createDataObject — Crea un objeto SDO_DataObject dados un URI de espacio de nombres y un nombre de tipo
  • SDO_DAS_XML::createDocument — Crea un objeto Documento XML desde cero, sin la necesidad de cargar un documento desde un fichero o una cadena
  • SDO_DAS_XML::loadFile — Devuelve un objeto SDO_DAS_XML_Document para la ruta dada al documento de instancia xml
  • SDO_DAS_XML::loadString — Devuelve un SDO_DAS_XML_Document para una cadena de instancia xml dada
  • SDO_DAS_XML::saveFile — Guarda el objeto SDO_DAS_XML_Document en un fichero
  • SDO_DAS_XML::saveString — Guarda el objeto the SDO_DAS_XML_Document en una cadena
  • SDO_DAS_XML_Document::getRootDataObject — Devuelve el SDO_DataObject raíz
  • SDO_DAS_XML_Document::getRootElementName — Devuelve el nombre del elemento raíz
  • SDO_DAS_XML_Document::getRootElementURI — Devuelve la cadena del URI del elemento raíz
  • SDO_DAS_XML_Document::setEncoding — Establece la cadena dada como codificación
  • SDO_DAS_XML_Document::setXMLDeclaration — Establece la declaración de xml
  • SDO_DAS_XML_Document::setXMLVersion — Establece la cadena dada como versión de xml
Ejemplos
SDO_DAS_XML::addTypes
DAS XML de SDO


Para cargar un segundo o subsiguiente fichero de esquema en un objteo SDO_DAS_XML

Funciones del DAS XML de SDO
SDO_DAS_XML::create
Funciones del DAS XML de SDO
PHP Manual

SDO_DAS_XML::addTypes

(^)

SDO_DAS_XML::addTypes — Para cargar un segundo o subsiguiente fichero de esquema en un objteo SDO_DAS_XML

Descripción

void SDO_DAS_XML::addTypes ( string $xsd_file )

Carga un segundo o subsiguiente fichero de esquema en un DAS XML que ya ha sido creado con el método estático create(). Aunque el fichero puede ser cualquier fichero de esquema válido, una posible razón para usar este método es para añadir un fichero de esquema que contenga definiciones de tipos complejos extra, de ahí su nombre. Véase el Ejemplo 4 de documento padre para un ejemplo.

Parámetros

xsd_file

Ruta al fichero de esquema XSD.

Valores devueltos

Ninguno si tiene éxito, de otro modo lanza una excepción tal como se describe abajo.

Errores/Excepciones

SDO_TypeNotFoundException

Lanzada si un tipo no está definido en el modelo subyacente.

SDO_DAS_XML_ParserException

Lanzada por cualqier problema al analizar el fichero XSD dado.

SDO_DAS_XML_FileException

Lanzada si el fichero especificado no se puede encontrar.

Funciones del DAS XML de SDO
SDO_DAS_XML::create
Funciones del DAS XML de SDO


Para crar un objeto SDO_DAS_XML para un fichero de esquema dado

SDO_DAS_XML::addTypes
SDO_DAS_XML::createDataObject
Funciones del DAS XML de SDO
PHP Manual

SDO_DAS_XML::create

(^)

SDO_DAS_XML::create — Para crar un objeto SDO_DAS_XML para un fichero de esquema dado

Descripción

SDO_DAS_XML SDO_DAS_XML::create ([ mixed $xsd_file [, string $key ]] )

Este es el único método estático de la clase SDO_DAS_XML. Se usa para instanciar objetos SDO_DAS_XML.

Parámetros

xsd_file

Ruta al fichero de esquema XSD. Este parámetro es opcional. Si se omite se creará un DAS que tiene únicamente los tipos base de SDO definidos. Lo ficheros de esquema se pueden cargar entonces con el método addTypes(). Puede ser una cadena o un array de valores.

key

Valores devueltos

Devuelve un objeto SDO_DAS_XML en caso de éxito, o de otro modo lanza una excepción tal como se describe abajo.

Errores/Excepciones

SDO_TypeNotFoundException

Lanzada si un tipo no está definido en el modelo subyacente.

SDO_DAS_XML_ParserException

Lanzada por cualqier problema al analizar el fichero XSD dado.

SDO_DAS_XML_FileException

Lanzada si el fichero especificado no se puede encontrar.

SDO_DAS_XML::addTypes
SDO_DAS_XML::createDataObject
Funciones del DAS XML de SDO


Crea un objeto SDO_DataObject dados un URI de espacio de nombres y un nombre de tipo

SDO_DAS_XML::create
SDO_DAS_XML::createDocument
Funciones del DAS XML de SDO
PHP Manual

SDO_DAS_XML::createDataObject

(^)

SDO_DAS_XML::createDataObject — Crea un objeto SDO_DataObject dados un URI de espacio de nombres y un nombre de tipo

Descripción

SDO_DataObject SDO_DAS_XML::createDataObject ( string $namespace_uri , string $type_name )

Crea un objeto SDO_DataObject dados un URI de espacio de nombres y un nombre de tipo. El tipo debería estar definido en el modelo subyacente, o de lo contrario se lanzará una SDO_TypeNotFoundException.

Parámetros

namespace_uri

El URI del espacion de nombres del nombre del tipo.

type_name

El nombre del tipo.

Valores devueltos

Devuelve un objeto SDO_DataObject en caso de éxito.

Errores/Excepciones

SDO_TypeNotFoundException

Lanzada si un tipo no está definido en el modelo subyacente.

SDO_DAS_XML::create
SDO_DAS_XML::createDocument
Funciones del DAS XML de SDO


Crea un objeto Documento XML desde cero, sin la necesidad de cargar un documento desde un fichero o una cadena

SDO_DAS_XML::createDataObject
SDO_DAS_XML::loadFile
Funciones del DAS XML de SDO
PHP Manual

SDO_DAS_XML::createDocument

(^)

SDO_DAS_XML::createDocument — Crea un objeto Documento XML desde cero, sin la necesidad de cargar un documento desde un fichero o una cadena

Descripción

SDO_DAS_XML_Document SDO_DAS_XML::createDocument ([ string $document_element_name ] )
SDO_DAS_XML_Document SDO_DAS_XML::createDocument ( string $document_element_namespace_URI , string $document_element_name [, SDO_DataObject $dataobject ] )

Crea un objeto Documento XML. Contrendrá un único elemento raíz vacío en el que no se han establecido ninguna de las propiedades. El propósito de esta llamada es permitir a una aplicación crear un documento XML desde cero sin la necesidad de cargar un documento desde un fichero o una cadena. El documento que se crea será como si un documento que ha sido cargado contuviera un único elemento documento vacío sin atributos establecidos o elementos dentro de él.

Puede ser necesario indicarle a createDocument() cuál es el elemento documento. Esto no será necesario en casos sencillos. Cuando no exista ambigüedad no será necesario pasar ningún parámetro al método. Sin embargo, es posible cargar más un fichero de esquema en el mismo DAS XML, y en este caso puede haber más de un elemento documento posible definido: además, incluso es posible que hayan dos elementos documentos posibles que difieran únicamente en el espacio de nombres. Para lidiar con estos casos es posible especificar al médoto el nombre del elemento documento, o éste y el espacio de nombres.

Parámetros

document_element_name

El nombre del elemento documento. Sólo es necesario si existe más de una posibilidad.

document_element_namespace_URI

La parte del espacio de nombre del nombre del elemento documento. Sólo es necesario si existe más de un elemento documento posible con el mismo nombre.

dataobject

Valores devueltos

Devuelve un objeto SDO_XML_DAS_Document en caso de éxito.

Errores/Excepciones

SDO_UnsupportedOperationException

Lanzada si se pasa un nombre de elemento, o éste y un URI de espacio de nombres, pero no se encuentra en el modelo subyacente.

SDO_DAS_XML::createDataObject
SDO_DAS_XML::loadFile
Funciones del DAS XML de SDO


Devuelve un objeto SDO_DAS_XML_Document para la ruta dada al documento de instancia xml

SDO_DAS_XML::createDocument
SDO_DAS_XML::loadString
Funciones del DAS XML de SDO
PHP Manual

SDO_DAS_XML::loadFile

(^)

SDO_DAS_XML::loadFile — Devuelve un objeto SDO_DAS_XML_Document para la ruta dada al documento de instancia xml

Descripción

SDO_XMLDocument SDO_DAS_XML::loadFile ( string $xml_file )

Construye el árbol de of SDO_DataObjects desde la dirección dada al documento de instancia xml. Devuelve un objeto SDO_DAS_XML_Document. Use el método SDO_DAS_XML_Document::getRootDataObject para obtener el objeto de datos raíz.

Parámetros

xml_file

La ruta al documento instancia. Puede ser una ruta a un fichero local o un URL.

Valores devueltos

Devuelve un objeto SDO_DAS_XML_Document en caso de éxito o lanza una excepción como se describe abajo.

Errores/Excepciones

SDO_TypeNotFoundException

Lanzada si un tipo no está definido en el modelo subyacente.

SDO_PropertyNotFoundException

Lanzada si una propiedad dentro de un tipo no está definida en el modelo subyacente.

SDO_DAS_XML_ParserException

Lanzada por cualquier problema al analizar el fichero XSD dado.

SDO_DAS_XML_FileException

Lanzada si el fichero especificado no se puede encontrar.

SDO_DAS_XML::createDocument
SDO_DAS_XML::loadString
Funciones del DAS XML de SDO


Devuelve un SDO_DAS_XML_Document para una cadena de instancia xml dada

SDO_DAS_XML::loadFile
SDO_DAS_XML::saveFile
Funciones del DAS XML de SDO
PHP Manual

SDO_DAS_XML::loadString

(^)

SDO_DAS_XML::loadString — Devuelve un SDO_DAS_XML_Document para una cadena de instancia xml dada

Descripción

SDO_DAS_XML_Document SDO_DAS_XML::loadString ( string $xml_string )

Cunstruye el árbol of SDO_DataObjects desde la cadena de instancia xml dada. Devuelve un objeto SDO_DAS_XML_Document. Use el método SDO_DAS_XML_Document::getRootDataObject para obtener el objeto de datos raíz.

Parámetros

xml_string

xml string.

Valores devueltos

Devuelve un SDO_DAS_XML_Document en caso de éxito o lanza una excepción como se describe abajo.

Errores/Excepciones

SDO_TypeNotFoundException

Lanzada si un tipo no está definido en el modelo subyacente.

SDO_PropertyNotFoundException

Lanzada si una propiedad dentro de un tipo no está definida en el modelo subyacente.

SDO_DAS_XML_ParserException

Lanzada por cualquier problema al analizar el fichero XSD dado.

SDO_DAS_XML::loadFile
SDO_DAS_XML::saveFile
Funciones del DAS XML de SDO


Guarda el objeto SDO_DAS_XML_Document en un fichero

SDO_DAS_XML::loadString
SDO_DAS_XML::saveString
Funciones del DAS XML de SDO
PHP Manual

SDO_DAS_XML::saveFile

(^)

SDO_DAS_XML::saveFile — Guarda el objeto SDO_DAS_XML_Document en un fichero

Descripción

void SDO_DAS_XML::saveFile ( SDO_XMLDocument $xdoc , string $xml_file [, int $indent ] )

Guarda el objeto SDO_DAS_XML_Document en un fichero.

Parámetros

xdoc

El objeto SDO_DAS_XML_Document.

xml_file

El fichero xml.

indent

Argumento opcional para especificar que el xml será formateado. Un valor entero no negativo es la cantidad de indentación de cada nivel del xml. Así, el entero 2, por ejemplo, indentará el xml, por lo que cada elemento contenido estará dos espacios a la derecha que su elemento contenedor. El entero 0 causará que el xml esté completamente alieado a la izquierda. El entero -1 significa sin formato - el xml saldrá como una única línea larga.

Valores devueltos

Ninguno.

Errores/Excepciones

SDO_DAS_XML_FileException

Lanzada si el fichero especificado no se puede encontrar.

SDO_DAS_XML::loadString
SDO_DAS_XML::saveString
Funciones del DAS XML de SDO


Guarda el objeto the SDO_DAS_XML_Document en una cadena

SDO_DAS_XML::saveFile
SDO_DAS_XML_Document::getRootDataObject
Funciones del DAS XML de SDO
PHP Manual

SDO_DAS_XML::saveString

(^)

SDO_DAS_XML::saveString — Guarda el objeto the SDO_DAS_XML_Document en una cadena

Descripción

string SDO_DAS_XML::saveString ( SDO_XMLDocument $xdoc [, int $indent ] )

Guarda el objeto the SDO_DAS_XML_Document en una cadena.

Parámetros

xdoc

El objeto SDO_DAS_XML_Document.

indent

Argumento opcional para especificar que el xml será formateado. Un valor entero no negativo es la cantidad de indentación de cada nivel del xml. Así, el entero 2, por ejemplo, indentará el xml, por lo que cada elemento contenido estará dos espacios a la derecha que su elemento contenedor. El entero 0 causará que el xml esté completamente alieado a la izquierda. El entero -1 significa sin formato - el xml saldrá como una única línea larga.

Valores devueltos

Una cadena xml.

SDO_DAS_XML::saveFile
SDO_DAS_XML_Document::getRootDataObject
Funciones del DAS XML de SDO


Devuelve el SDO_DataObject raíz

SDO_DAS_XML::saveString
SDO_DAS_XML_Document::getRootElementName
Funciones del DAS XML de SDO
PHP Manual

SDO_DAS_XML_Document::getRootDataObject

(^)

SDO_DAS_XML_Document::getRootDataObject — Devuelve el SDO_DataObject raíz

Descripción

SDO_DataObject SDO_DAS_XML_Document::getRootDataObject ( void )

Devuelve el SDO_DataObject raíz.

Parámetros

Valores devueltos

Devuelve el SDO_DataObject raíz.

SDO_DAS_XML::saveString
SDO_DAS_XML_Document::getRootElementName
Funciones del DAS XML de SDO


Devuelve el nombre del elemento raíz

SDO_DAS_XML_Document::getRootDataObject
SDO_DAS_XML_Document::getRootElementURI
Funciones del DAS XML de SDO
PHP Manual

SDO_DAS_XML_Document::getRootElementName

(^)

SDO_DAS_XML_Document::getRootElementName — Devuelve el nombre del elemento raíz

Descripción

string SDO_DAS_XML_Document::getRootElementName ( void )

Devuelve el nombre del elemento raíz.

Parámetros

Valores devueltos

Devuelve el nombre del elemento raíz.

SDO_DAS_XML_Document::getRootDataObject
SDO_DAS_XML_Document::getRootElementURI
Funciones del DAS XML de SDO


Devuelve la cadena del URI del elemento raíz

SDO_DAS_XML_Document::getRootElementName
SDO_DAS_XML_Document::setEncoding
Funciones del DAS XML de SDO
PHP Manual

SDO_DAS_XML_Document::getRootElementURI

(^)

SDO_DAS_XML_Document::getRootElementURI — Devuelve la cadena del URI del elemento raíz

Descripción

string SDO_DAS_XML_Document::getRootElementURI ( void )

Devuelve la cadena del URI del elemento raíz.

Parámetros

Valores devueltos

Devuelve la cadena del URI del elemento raíz.

SDO_DAS_XML_Document::getRootElementName
SDO_DAS_XML_Document::setEncoding
Funciones del DAS XML de SDO


Establece la cadena dada como codificación

SDO_DAS_XML_Document::getRootElementURI
SDO_DAS_XML_Document::setXMLDeclaration
Funciones del DAS XML de SDO
PHP Manual

SDO_DAS_XML_Document::setEncoding

(^)

SDO_DAS_XML_Document::setEncoding — Establece la cadena dada como codificación

Descripción

void SDO_DAS_XML_Document::setEncoding ( string $encoding )

Establece la cadena dada como codificación.

Parámetros

encoding

La cadena de codificación.

Valores devueltos

Ninguno.

SDO_DAS_XML_Document::getRootElementURI
SDO_DAS_XML_Document::setXMLDeclaration
Funciones del DAS XML de SDO


Establece la declaración de xml

SDO_DAS_XML_Document::setEncoding
SDO_DAS_XML_Document::setXMLVersion
Funciones del DAS XML de SDO
PHP Manual

SDO_DAS_XML_Document::setXMLDeclaration

(^)

SDO_DAS_XML_Document::setXMLDeclaration — Establece la declaración de xml

Descripción

void SDO_DAS_XML_Document::setXMLDeclaration ( bool $xmlDeclatation )

Controla si una declaración XML será generada al inicio del documento XML. Establézcalo a TRUE para generar la declaración XML, orFALSE para omitirla.

Parámetros

xmlDeclatation

Un valor booleano para establecer la declaración XML.

Valores devueltos

Ninguno.

SDO_DAS_XML_Document::setEncoding
SDO_DAS_XML_Document::setXMLVersion
Funciones del DAS XML de SDO


Establece la cadena dada como versión de xml

SDO_DAS_XML_Document::setXMLDeclaration
SimpleXML
Funciones del DAS XML de SDO
PHP Manual

SDO_DAS_XML_Document::setXMLVersion

(^)

SDO_DAS_XML_Document::setXMLVersion — Establece la cadena dada como versión de xml

Descripción

void SDO_DAS_XML_Document::setXMLVersion ( string $xmlVersion )

Establece la cadena dada como versión de xml.

Parámetros

xmlVersion

La cadena de versión de xml.

Valores devueltos

Ninguna.

SDO_DAS_XML_Document::setXMLDeclaration
SimpleXML
Funciones del DAS XML de SDO


SimpleXML

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Uso básico de SimpleXML
    • Lidiar con los errores XML
  • SimpleXMLElement — Clase SimpleXMLElement
    • SimpleXMLElement::addAttribute — Añade un atributo al elemento SimpleXML
    • SimpleXMLElement::addChild — Añade un elemento hijo al nodo XML
    • SimpleXMLElement::asXML — Retorna un string XML correcto basado en un elemento SimpleXML
    • SimpleXMLElement::attributes — Identifica el atributo de un elemento
    • SimpleXMLElement::children — Encuentra los hijos del nodo dado
    • SimpleXMLElement::__construct — Crea un nuevo objeto SimpleXMLElement
    • SimpleXMLElement::count — Cuenta los hijos de un elemento
    • SimpleXMLElement::getDocNamespaces — Retorna los namespaces declarados en el documento
    • SimpleXMLElement::getName — Retorna el nombre del elemento XML
    • SimpleXMLElement::getNamespaces — Retorna los namespaces usados en el documento
    • SimpleXMLElement::registerXPathNamespace — Crea un contexto prefijo/ns para la siguiente petición XPath
    • SimpleXMLElement::saveXML — Alias de SimpleXMLElement::asXML
    • SimpleXMLElement::__toString — Returns the string content
    • SimpleXMLElement::xpath — Ejecuta una petición XPath sobre los datos XML
  • SimpleXMLIterator — La clase SimpleXMLIterator
    • SimpleXMLIterator::current — Devuelve el elemento actual
    • SimpleXMLIterator::getChildren — Devuelve los sub elementos de el elemento actual
    • SimpleXMLIterator::hasChildren — Comprueba si el elemento actual tiene subelementos
    • SimpleXMLIterator::key — Devuelve la clave actual
    • SimpleXMLIterator::next — Mueve al siguiente elemento
    • SimpleXMLIterator::rewind — Rebobina hasta el primer elemento
    • SimpleXMLIterator::valid — Comprueba si el elemento actual es válido
  • Funciones de SimpleXML
    • simplexml_import_dom — Obtiene un objeto SimpleXMLElement de un nodo DOM
    • simplexml_load_file — Interpreta un fichero XML en un objeto
    • simplexml_load_string — Interpreta un string de XML en un objeto
SDO_DAS_XML_Document::setXMLVersion
Introducción
Manipulación XML


Introducción

La extensión SimpleXML proporciona un conjunto de herramientas muy simple y fácil de usar para convertir XML a un objeto que pueda ser procesado con selectores de propiedades normales e iteradores de arrays.

SimpleXML
Instalación/Configuración
SimpleXML


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
SimpleXML


Requerimientos

Esta extensión requiere la extensión de PHP libxml. Esto significa que también es necesario pasar la opción --enable-libxml , aunque esto se realiza implícitamente debido a que libxml está habilitada de forma predeterminada.

La extensión SimpleXML requiere PHP 5.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión está habilitada por defecto. Se puede inhabilitar usando la siguiente opción al momento de compilar: --disable-simplexml

Nota: Para versiones anteriores a PHP 5.1.2, es necesario usar --enable-simplexml para activar esta extensión.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Ejemplos
SimpleXML


Ejemplos

Tabla de contenidos

  • Uso básico de SimpleXML
  • Lidiar con los errores XML
Constantes predefinidas
Uso básico de SimpleXML
SimpleXML


Uso básico de SimpleXML

Muchos ejemplos en esta referencia requieren un string XML. En vez de repetir este string en cada ejemplo, se ha puesto en un fichero que se incluye en cada ejemplo. Este fichero se muestra en la siguiente sección de ejemplo. Alternativamente, puede crearse un document XML y leerlo con simplexml_load_file().

Ejemplo #1 ejemplo.php, fichero a incluir con el string XML

<?php
$xmlstr = <<<XML
<?xml version='1.0' standalone='yes'?>
<peliculas>
 <pelicula>
  <titulo>PHP: Tras el Parser</titulo>
  <personajes>
   <personaje>
    <nombre>Srta. Programadora</nombre>
    <actor>Onlivia Actora</actor>
   </personaje>
   <personaje>
    <nombre>Sr. Programador</nombre>
    <actor>El Actor</actor>
   </personaje>
  </personajes>
  <argumento>
   Así que, este lenguaje. Es como, un lenguaje de programación. ¿O es un
   lenguaje interpretado? Lo descubrirás en esta intrigante y temible parodia
   de un documental.
  </argumento>
  <grandes-lineas>
   <linea>PHP soluciona todos los problemas web</linea>
  </grandes-lineas>
  <puntuacion tipo="pulgares">7</puntuacion>
  <puntuacion tipo="estrellas">5</puntuacion>
 </pelicula>
</peliculas>
XML;
?>

La simplicidad de SimpleXML se ve claramente cuando se extrae un string o un número de un documento XMl básico.

Ejemplo #2 Obteniendo <argumento>

<?php
include 'ejemplo.php';

$peliculas = new SimpleXMLElement($xmlstr);

echo $peliculas->pelicula[0]->argumento;
?>

El resultado del ejemplo sería:

   Así que, este lenguaje. Es como, un lenguaje de programación. ¿O es un
   lenguaje interpretado? Lo descubrirás en esta intrigante y temible parodia
   de un documental.

El acceso a elementos dentro de un documento XML que contienen caracteres no permitidos por la convención de nombres de PHP (por ejemplo, el guión) puede realizarse encapsulando el nombre del elemento dentro de un par de llaves y comillas simples.

Ejemplo #3 Obteniendo <linea>

<?php
include 'example.php';

$peliculas = new SimpleXMLElement($xmlstr);

echo $peliculas->pelicula->{'grandes-lineas'}->linea;
?>

El resultado del ejemplo sería:

PHP soluciona todos los problemas web

Ejemplo #4 Accediendo a elementos no únicos en SimpleXML

Cuando existen múltiples instancias de un elemento como hijos de un único elemento padre, se aplican las técnicas normales de iteración.

<?php
include 'example.php';

$peliculas = new SimpleXMLElement($xmlstr);

/* Para cada <personaje>, mostramos cada <nombre>. */
foreach ($peliculas->pelicula->personajes->personaje as $personaje) {
   echo $personaje->nombre, ' interpretado por ', $personaje->actor, PHP_EOL;
}

?>

El resultado del ejemplo sería:

Srta. Programadora interpretado por Onlivia Actora
Sr. Programador interpretado por El Actor

Nota:

Las propiedades ($peliculas->pelicula en el ejemplo anterior) no son arrays. Son objetos iterables y accesibles.

Ejemplo #5 Usando atributos

Hasta aquí, únicamente se ha cubierto el trabajo de leer nombres de elementos y sus valores. SimpleXML puede también acceder a los atributos de los elementos. Para acceder a ellos, se realiza de la misma forma que si fuesen elementos de un array.

<?php
include 'example.php';

$peliculas = new SimpleXMLElement($xmlstr);

/* Acceso a los nodos <puntuacion> de la primera película.
 * Mostramos la escala (tipo) también. */
foreach ($peliculas->pelicula[0]->puntuacion as $puntuacion) {
    switch((string) $puntuacion['tipo']) { // Toma los atributos como índices del elemento
    case 'pulgares':
        echo $puntuacion, ' votos positivos';
        break;
    case 'estrellas':
        echo $puntuacion, ' estrellas';
        break;
    }
}
?>

El resultado del ejemplo sería:

7 votos positivos5 estrellas

Ejemplo #6 Comparando elementos y atributos con texto

Para comparar un elemento o atributo con un string o pasarlo a una función que requiera un string, debe realizarse un cast a string usando (string). Si no se realiza de esta forma, PHP trata al elementos como un objeto.

<?php
include 'example.php';

$peliculas = new SimpleXMLElement($xmlstr);

if ((string) $peliculas->pelicula->titulo == 'PHP: Tras el Parser') {
    print 'Mi película favorita.';
}

echo htmlentities((string) $peliculas->pelicula->titulo);
?>

El resultado del ejemplo sería:

Mi película favorita.PHP: Tras el Parser

Ejemplo #7 Comparando dos elementos

Dos SimpleXMLElements son considerados distintos aún cuando ambos apuntan al mismo elemento desde PHP 5.2.0.

<?php
include 'example.php';

$pelicula1 = new SimpleXMLElement($xmlstr);
$pelicula2 = new SimpleXMLElement($xmlstr);
var_dump($pelicula1 == $pelicula2); // false desde PHP 5.2.0
?>

El resultado del ejemplo sería:

bool(false)

Ejemplo #8 Usando XPath

SimpleXML incorpora soprote XPath. Para encontrar todos los elementos <personaje>:

<?php
include 'example.php';
$peliculas = new SimpleXMLElement($xmlstr);

foreach ($peliculas->xpath('//personaje') as $personaje) {
    echo $personaje->nombre . ' interpretado por ' . $personaje->actor, PHP_EOL;
}
?>

'//' actúa un comodín. Para especificar una ruta absoluta, hay que omitir una de las dos barras.

El resultado del ejemplo sería:

Srta. Programadora interpretado por Onlivia Actora
Sr. Programador interpretado por El Actor

Ejemplo #9 Estableciendo valores

Los datos en SimpleXML no tienen que ser constantes. El objeto permite que se manipulen todos sus elementos.

<?php
include 'example.php';
$peliculas = new SimpleXMLElement($xmlstr);

$peliculas->pelicula[0]->personajes->personaje[0]->nombre = 'Señorita Programadora';

echo $peliculas->asXML();
?>

El resultado del ejemplo sería:

<?xml version="1.0" standalone="yes"?>
<peliculas>
 <pelicula>
  <titulo>PHP: Tras el Parser</titulo>
  <personajes>
   <personaje>
    <nombre>Srta. Programadora</nombre>
    <actor>Onlivia Actora</actor>
   </personaje>
   <personaje>
    <nombre>Sr. Programador</nombre>
    <actor>El Actor</actor>
   </personaje>
  </personajes>
  <argumento>
   Así que, este lenguaje. Es como, un lenguaje de programación. ¿O es un
   lenguaje interpretado? Lo descubrirás en esta intrigante y temible parodia
   de un documental.
  </argumento>
  <grandes-lineas>
   <linea>PHP soluciona todos los problemas web</linea>
  </grandes-lineas>
  <puntuacion tipo="pulgares">7</puntuacion>
  <puntuacion tipo="estrellas">5</puntuacion>
 </pelicula>
</peliculas>
+

Ejemplo #10 Añadiendo elementos y atributos

Desde PHP 5.1.3, SimpleXML tiene la capacidad de añadir fácilmente hijos y atributos.

<?php
include 'example.php';
$peliculas = new SimpleXMLElement($xmlstr);

$character = $peliculas->pelicula[0]->personajes->addChild('personaje');
$character->addChild('nombre', 'Sr. Parser');
$character->addChild('actor', 'John Doe');

$rating = $peliculas->pelicula[0]->addChild('puntuacion', 'Todos los públicos');
$rating->addAttribute('tipo', 'clasificación');

echo $peliculas->asXML();
?>

El resultado del ejemplo sería:

<?xml version="1.0" standalone="yes"?>
<peliculas>
 <pelicula>
  <titulo>PHP: Tras el Parser</titulo>
  <personajes>
   <personaje>
    <nombre>Srta. Programadora</nombre>
    <actor>Onlivia Actora</actor>
   </personaje>
   <personaje>
    <nombre>Sr. Programador</nombre>
    <actor>El Actor</actor>
   </personaje>
  </personajes>
  <argumento>
   Así que, este lenguaje. Es como, un lenguaje de programación. ¿O es un
   lenguaje interpretado? Lo descubrirás en esta intrigante y temible parodia
   de un documental.
  </argumento>
  <grandes-lineas>
   <linea>PHP soluciona todos los problemas web</linea>
  </grandes-lineas>
  <puntuacion tipo="pulgares">7</puntuacion>
  <puntuacion tipo="estrellas">5</puntuacion>
 </pelicula>
</peliculas>

Ejemplo #11 Interoperatibilidad DOM

PHP tiene un mecanismo para convertor nodos XML entre los formatos SimpleXML y DOM. Este ejemplo muestra como cambiar un elemento DOM a SimpleXML.

<?php
$dom = new DOMDocument;
$dom->loadXML('<libros><libro><titulo>blah</titulo></libro></libros>');
if (!$dom) {
    echo 'Error al analizar el documento');
    exit;
}

$s = simplexml_import_dom($dom);

echo $s->libro[0]->titulo;
?>

El resultado del ejemplo sería:

blah

Ejemplos
Lidiar con los errores XML
Ejemplos


Lidiar con los errores XML

Lidiar con los errores XML cuando se cargan documentos es una tarea muy sencilla. Usando la funcionalidad libxml es posible suprimir todos los errores XML cuando se carga un documento y entonces, iterar sobre ellos.

El objeto libXMLError, retornado por libxml_get_errors(), contiene varias propiedades incluyendo el mensaje, línea y columna (posición) del error.

Ejemplo #1 Cargando un string XML erróneo

<?php
libxml_use_internal_errors(true);
$sxe = simplexml_load_string("<?xml version='1.0'><roto><xml></roto>");
if ($sxe === false) {
    echo "Error cargando XML\n";
    foreach(libxml_get_errors() as $error) {
        echo "\t", $error->message;
    }
}
?>

El resultado del ejemplo sería:

Error cargando XML
    Blank needed here
    parsing XML declaration: '?>' expected
    Opening and ending tag mismatch: xml line 1 and broken
    Premature end of data in tag broken line 1

Ver también

  • libxml_use_internal_errors()
  • libxml_get_errors()
  • libXMLError

Uso básico de SimpleXML
SimpleXMLElement
Ejemplos


Clase SimpleXMLElement

(PHP 5 >= 5.0.1)

Introducción

Representa un elemento en un documento XML.

Sinopsis de la Clase

SimpleXMLElement {
/* Métodos */
final public __construct ( string $data [, int $options = 0 [, bool $data_is_url = false [, string $ns = "" [, bool $is_prefix = false ]]]] )
public void addAttribute ( string $name [, string $value [, string $namespace ]] )
public SimpleXMLElement addChild ( string $name [, string $value [, string $namespace ]] )
public mixed asXML ([ string $filename ] )
public SimpleXMLElement attributes ([ string $ns = NULL [, bool $is_prefix = false ]] )
public SimpleXMLElement children ([ string $ns [, bool $is_prefix = false ]] )
public int count ( void )
public array getDocNamespaces ([ bool $recursive = false [, bool $from_root = true ]] )
public string getName ( void )
public array getNamespaces ([ bool $recursive = false ] )
public bool registerXPathNamespace ( string $prefix , string $ns )
public string __toString ( void )
public array xpath ( string $path )
}

Tabla de contenidos

  • SimpleXMLElement::addAttribute — Añade un atributo al elemento SimpleXML
  • SimpleXMLElement::addChild — Añade un elemento hijo al nodo XML
  • SimpleXMLElement::asXML — Retorna un string XML correcto basado en un elemento SimpleXML
  • SimpleXMLElement::attributes — Identifica el atributo de un elemento
  • SimpleXMLElement::children — Encuentra los hijos del nodo dado
  • SimpleXMLElement::__construct — Crea un nuevo objeto SimpleXMLElement
  • SimpleXMLElement::count — Cuenta los hijos de un elemento
  • SimpleXMLElement::getDocNamespaces — Retorna los namespaces declarados en el documento
  • SimpleXMLElement::getName — Retorna el nombre del elemento XML
  • SimpleXMLElement::getNamespaces — Retorna los namespaces usados en el documento
  • SimpleXMLElement::registerXPathNamespace — Crea un contexto prefijo/ns para la siguiente petición XPath
  • SimpleXMLElement::saveXML — Alias de SimpleXMLElement::asXML
  • SimpleXMLElement::__toString — Returns the string content
  • SimpleXMLElement::xpath — Ejecuta una petición XPath sobre los datos XML
Lidiar con los errores XML
SimpleXMLElement::addAttribute
SimpleXML


Añade un atributo al elemento SimpleXML

SimpleXMLElement
SimpleXMLElement::addChild
SimpleXMLElement
PHP Manual

SimpleXMLElement::addAttribute

(PHP 5 >= 5.1.3)

SimpleXMLElement::addAttribute — Añade un atributo al elemento SimpleXML

Descripción

public void SimpleXMLElement::addAttribute ( string $name [, string $value [, string $namespace ]] )

Añade un atributo al elemento SimpleXML.

Parámetros

name

El nombre del atributo a añadir.

value

El valor del atributo.

namespace

Si se especifica, indica el namespace al que pertenece el atributo.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Nota:

Los ejemplos listados quizá incluyen example.php, que hacen referencia a la cadena XML encontrada en el primer ejemplo de la guía de uso básico.

Ejemplo #1 Añade atributos e hijos a un elemento SimpleXML

<?php

include 'example.php';

$sxe = new SimpleXMLElement($xmlstr);
$sxe->addAttribute('tipo', 'documental');

$pelicula = $sxe->addChild('pelicula');
$pelicula->addChild('titulo', 'PHP2: Más historias del Parser');
$pelicula->addChild('argumento', 'Todo sobre la gente que lo hace funcionar.');

$personajes = $pelicula->addChild('personajes');
$personaje  = $personajes->addChild('personaje');
$personaje->addChild('nombre', 'Sr. Parser');
$personaje->addChild('actor', 'John Doe');

$puntuacion = $pelicula->addChild('puntuacion', '5');
$puntuacion->addAttribute('tipo', 'estrellas');

echo $sxe->asXML();

?>

El resultado del ejemplo sería algo similar a:

<?xml version="1.0" standalone="yes"?>
<peliculas tipo="documental">
 <pelicula>
  <titulo>PHP: Tras el Parser</titulo>
  <personajes>
   <personaje>
    <nombre>Srta. Programadora</nombre>
    <actor>Onlivia Actora</actor>
   </personaje>
   <personaje>
    <nombre>Sr. Programador</nombre>
    <actor>El Actor</actor>
   </personaje>
  </personajes>
  <argumento>
   Así que, este lenguaje. Es como, un lenguaje de programación. ¿O es un
   lenguaje interpretado? Lo descubrirás en esta intrigante y temible parodia
   de un documental.
  </argumento>
  <grandes-lineas>
   <linea>PHP soluciona todos los problemas web</linea>
  </grandes-lineas>
  <puntuacion tipo="pulgares">7</puntuacion>
  <puntuacion tipo="estrellas">5</puntuacion>
 </pelicula>
 <pelicula>
  <titulo>PHP2: Más historias del Parser</titulo>
  <argumento>Todo sobre la gente que lo hace funcionar.</argumento>
  <personajes>
   <personaje>
    <nombre>Sr. Parser</nombre>
    <actor>John Doe</actor>
   </personaje>
  </personajes>
  <puntuacion type="estrellas">5</puntuacion>
 </pelicula>
</peliculas>

Ver también

  • SimpleXMLElement::addChild() - Añade un elemento hijo al nodo XML
  • Uso básico de SimpleXML

SimpleXMLElement
SimpleXMLElement::addChild
SimpleXMLElement


Añade un elemento hijo al nodo XML

SimpleXMLElement::addAttribute
SimpleXMLElement::asXML
SimpleXMLElement
PHP Manual

SimpleXMLElement::addChild

(PHP 5 >= 5.1.3)

SimpleXMLElement::addChild — Añade un elemento hijo al nodo XML

Descripción

public SimpleXMLElement SimpleXMLElement::addChild ( string $name [, string $value [, string $namespace ]] )

Añade un elemento hijo al nodo y retorna un SimpleXMLElement del hijo.

Parámetros

name

Nombre del elemento hijo a añadir.

value

Si se especifica, valor del elemento hijo.

namespace

Si se especifica, el namespace al que pertenece el elemento hijo.

Valores devueltos

El método addChild retorna un objeto SimpleXMLElement representando el hijo añadido al nodo XML.

Ejemplos

Nota:

Los ejemplos listados quizá incluyen example.php, que hacen referencia a la cadena XML encontrada en el primer ejemplo de la guía de uso básico.

Ejemplo #1 Añade atributos e hijos a un elemento SimpleXML

<?php
include 'example.php';

$sxe = new SimpleXMLElement($xmlstr);
$sxe->addAttribute('tipo', 'documental');

$pelicula = $sxe->addChild('pelicula');
$pelicula->addChild('titulo', 'PHP2: Más historias sobre Parser');
$pelicula->addChild('argumento', 'Todo sobre las personas que hacen que funcione.');

$personajes = $pelicula->addChild('personajes');
$personaje  = $personajes->addChild('personaje');
$personaje->addChild('nombre', 'Sr. Parser');
$personaje->addChild('actor', 'John Doe');

$puntuacion = $pelicula->addChild('puntuacion', '5');
$puntuacion->addAttribute('tipo', 'estrellas');

echo $sxe->asXML();

?>

El resultado del ejemplo sería algo similar a:

<?xml version="1.0" standalone="yes"?>
<peliculas tipo="documental">
 <pelicula>
  <titulo>PHP: Tras el Parser</titulo>
  <personajes>
   <personaje>
    <nombre>Srta. Programadora</nombre>
    <actor>Onlivia Actora</actor>
   </personaje>
   <personaje>
    <nombre>Sr. Programador</nombre>
    <actor>El Actor</actor>
   </personaje>
  </personajes>
  <argumento>
   Así que, este lenguaje. Es como, un lenguaje de programación. ¿O es un
   lenguaje interpretado? Lo descubrirás en esta intrigante y temible parodia
   de un documental.
  </argumento>
  <grandes-lineas>
   <linea>PHP soluciona todos los problemas web</linea>
  </grandes-lineas>
  <puntuacion tipo="pulgares">7</puntuacion>
  <puntuacion tipo="estrellas">5</puntuacion>
 </pelicula>
 <pelicula>
  <titulo>PHP2: Más historias del Parser</titulo>
  <argumento>Todo sobre la gente que lo hace funcionar.</argumento>
  <personajes>
   <personaje>
    <nombre>Sr. Parser</nombre>
    <actor>John Doe</actor>
   </personaje>
  </personajes>
  <puntuacion type="estrellas">5</puntuacion>
 </pelicula>
</peliculas>

Ver también

  • SimpleXMLElement::addAttribute() - Añade un atributo al elemento SimpleXML
  • Uso básico de SimpleXML

SimpleXMLElement::addAttribute
SimpleXMLElement::asXML
SimpleXMLElement


Retorna un string XML correcto basado en un elemento SimpleXML

SimpleXMLElement::addChild
SimpleXMLElement::attributes
SimpleXMLElement
PHP Manual

SimpleXMLElement::asXML

(PHP 5 >= 5.0.1)

SimpleXMLElement::asXML — Retorna un string XML correcto basado en un elemento SimpleXML

Descripción

public mixed SimpleXMLElement::asXML ([ string $filename ] )

El método asXML formatea los datos del objeto padre en XML versión 1.0.

Parámetros

filename

Si se especifica, la función escribe los datos al fichero en vez de retornarlo.

Valores devueltos

Si no se especifica filename, esta función retorna un string si no hay errores y FALSE si lo hay. Si se especifica el parámetro, retorna TRUE si el fichero se escribió correctamente y FALSE en caso contrario.

Ejemplos

Ejemplo #1 Retornar XML

<?php
$string = <<<XML
<a>
 <b>
  <c>texto</c>
  <c>cosas</c>
 </b>
 <d>
  <c>codigo</c>
 </d>
</a>
XML;

$xml = new SimpleXMLElement($string);

echo $xml->asXML();

?>

El resultado del ejemplo sería:

<?xml version="1.0"?>
<a>
 <b>
  <c>texto</c>
  <c>cosas</c>
 </b>
 <d>
  <c>codigo</c>
 </d>
</a>

asXML también trabaja con resultados Xpath:

Ejemplo #2 Usando asXML() en resultados SimpleXMLElement::xpath()

<?php
// Continuación del ejemplo XML anterior.

/* Buscar <a><b><c> */
$resultado = $xml->xpath('/a/b/c');

while(list( , $nodo) = each($resultado)) {
    echo $nodo->asXML(); // <c>texto</c> and <c>cosas</c>
}
?>

El resultado del ejemplo sería:

<c>texto</c><c>cosas</c>

Ver también

  • SimpleXMLElement::__toString() - Returns the string content
  • Uso básico de SimpleXML

SimpleXMLElement::addChild
SimpleXMLElement::attributes
SimpleXMLElement


Identifica el atributo de un elemento

SimpleXMLElement::asXML
SimpleXMLElement::children
SimpleXMLElement
PHP Manual

SimpleXMLElement::attributes

(PHP 5 >= 5.0.1)

SimpleXMLElement::attributes — Identifica el atributo de un elemento

Descripción

public SimpleXMLElement SimpleXMLElement::attributes ([ string $ns = NULL [, bool $is_prefix = false ]] )

Esta función provee de los atributos y valores definidos dentro de una etiqueta XML.

Nota: SimpleXML ha desarrollado una regla para el añadido de propiedades iterativas a la mayoría de métodos. No pueden ser examinados usando var_dump() ni con cualquier otra función que examine objetos.

Parámetros

ns

Un namespace opcional para los atributos recuperados

is_prefix

Por defecto FALSE

Valores devueltos

Devuelve un objeto SimpleXMLElement que puede ser iterado a través de los atributos en la etiqueta.

Devuelve NULL si se invoca sobre un objeto SimpleXMLElement que ya representa un atributo y no una etiqueta.

Ejemplos

Ejemplo #1 Interpreta un string XML

<?php
$string = <<<XML
<a>
 <prueba nombre="uno" juego="solitario">1</prueba>
</a>
XML;

$xml = simplexml_load_string($string);
foreach($xml->prueba[0]->attributes() as $a => $b) {
    echo $a,'="',$b,"\"\n";
}
?>

El resultado del ejemplo sería:

nombre="uno"
juego="solitario"

Ver también

  • Uso básico de SimpleXML

SimpleXMLElement::asXML
SimpleXMLElement::children
SimpleXMLElement


Encuentra los hijos del nodo dado

SimpleXMLElement::attributes
SimpleXMLElement::__construct
SimpleXMLElement
PHP Manual

SimpleXMLElement::children

(PHP 5 >= 5.0.1)

SimpleXMLElement::children — Encuentra los hijos del nodo dado

Descripción

public SimpleXMLElement SimpleXMLElement::children ([ string $ns [, bool $is_prefix = false ]] )

Este método encuentra el hijo de un elemento. El resultado cumple las reglas normales de iteración.

Nota: SimpleXML ha desarrollado una regla para el añadido de propiedades iterativas a la mayoría de métodos. No pueden ser examinados usando var_dump() ni con cualquier otra función que examine objetos.

Parámetros

ns

Un nombre de espacio XML.

is_prefix

Si is_prefix es TRUE, ns será considerado como un prefijo. Si es FALSE ns será considerado como un espacio de nombres URL.

Valores devueltos

Devuelve un elemento SimpleXMLElement, tanto si el nodo tiene hijos o no.

Historial de cambios

Versión | Descripción
5.2.0 | Se añade el parámetro opcional is_prefix.

Ejemplos

Ejemplo #1 Recorre el pseudo-array children()

<?php
$xml = new SimpleXMLElement(
'<persona>
 <hijo rol="hijo">
  <hijo rol="hija"/>
 </hijo>
 <hijo rol="hija">
  <hijo rol="hijo">
   <hijo rol="hijo"/>
  </hijo>
 </hijo>
</persona>');

foreach ($xml->children() as $segunda_gen) {
    echo 'La persona engendra un/a ' . $segunda_gen['role'];

    foreach ($second_gen->children() as $tercera_gen) {
        echo ' quien engendra un/a ' . $tercera_gen['role'] . ';';

        foreach ($tercera_gen->children() as $cuarta_gen) {
            echo ' y ese/a ' . $tercera_gen['role'] .
                ' engendra un/a ' . $cuarta_gen['role'];
        }
    }
}
?>

El resultado del ejemplo sería:

La persona engendra un/a hijo quien engendra un/a hija; La persona engendra
un/a hija quien engendra a un/a hijo; y ese/a hijo engendra un/a hijo

Ejemplo #2 Usando espacio de nombres

<?php
$xml = '<example xmlns:foo="my.foo.urn">
  <foo:a>Apple</foo:a>
  <foo:b>Banana</foo:b>
  <c>Cherry</c>
</example>';

$sxe = new SimpleXMLElement($xml);

$kids = $sxe->children('foo');
var_dump(count($kids));

$kids = $sxe->children('foo', TRUE);
var_dump(count($kids));

$kids = $sxe->children('my.foo.urn');
var_dump(count($kids));

$kids = $sxe->children('my.foo.urn', TRUE);
var_dump(count($kids));

$kids = $sxe->children();
var_dump(count($kids));
?>
int(0)
int(2)
int(2)
int(0)
int(1)

Notas

SimpleXMLElement::children() devuleve un nodo de objeto no impotando si el nodo actuali tiene un hijo o no. Use SimpleXMLElement::count() en el valor retornado para comprobar si hay algún hijo. Como en PHP 5.3.0, SimpleXMLElement::count() puede usarse en su lugar.

Ver también

  • SimpleXMLElement::count() - Cuenta los hijos de un elemento
  • count() - Cuenta todos los elementos de un array o en un objeto

SimpleXMLElement::attributes
SimpleXMLElement::__construct
SimpleXMLElement


Crea un nuevo objeto SimpleXMLElement

SimpleXMLElement::children
SimpleXMLElement::count
SimpleXMLElement
PHP Manual

SimpleXMLElement::__construct

(PHP 5 >= 5.0.1)

SimpleXMLElement::__construct — Crea un nuevo objeto SimpleXMLElement

Descripción

final public SimpleXMLElement::__construct() ( string $data [, int $options = 0 [, bool $data_is_url = false [, string $ns = "" [, bool $is_prefix = false ]]]] )

Crea un nuevo objeto SimpleXMLElement.

Parámetros

data

Un string XML correcto o la ruta o URL a un documento XML si data_is_url es TRUE.

options

Usado para especificar additionalLibxml parameters opcionales.

data_is_url

Por defecto, data_is_url es FALSE. Usar TRUE para precisar que data es una ruta o URL a un documento XML en vez de un string de datos.

ns

Prefijo de espacio de nombres o URI.

is_prefix

TRUE si ns es un prefijo, FALSE si es una URI; por omisión, FALSE.

Valores devueltos

Retorna un objeto SimpleXMLElement representando data.

Errores/Excepciones

Produce un mensaje de error E_WARNING por cada error encontrado en los datos XML y adicionalmente lanza una Exception si no se han podido analizar correctamente los datos XML.

Sugerencia

Debe usarse libxml_use_internal_errors() para eliminar todos los errores XML y libxml_get_errors() para iterar sobre ellos después.

Ejemplos

Nota:

Los ejemplos listados quizá incluyen example.php, que hacen referencia a la cadena XML encontrada en el primer ejemplo de la guía de uso básico.

Ejemplo #1 Crea un objeto SimpleXMLElement

<?php

include 'example.php';

$sxe = new SimpleXMLElement($xmlstr);
echo $sxe->pelicula[0]->titulo;

?>

El resultado del ejemplo sería:

PHP: Tras el Parser

Ejemplo #2 Crea un objeto SimpleXMLElement a partir de una URL

<?php

$sxe = new SimpleXMLElement('http://example.org/document.xml', NULL, TRUE);
echo $sxe->asXML();

?>

Historial de cambios

Versión | Descripción
5.2.0 | Se añadieron los parámetros ns y is_prefix.
5.1.2 | Se añadieron los parámetros options y data_is_url.

Ver también

  • Uso básico de SimpleXML
  • simplexml_load_string() - Interpreta un string de XML en un objeto
  • simplexml_load_file() - Interpreta un fichero XML en un objeto
  • Lidiar con los errores XML
  • libxml_use_internal_errors() - Deshabilita errores libxml y permite al usuario extraer información de errores según sea necesario

SimpleXMLElement::children
SimpleXMLElement::count
SimpleXMLElement


Cuenta los hijos de un elemento

SimpleXMLElement::__construct
SimpleXMLElement::getDocNamespaces
SimpleXMLElement
PHP Manual

SimpleXMLElement::count

(PHP 5 >= 5.3.0)

SimpleXMLElement::count — Cuenta los hijos de un elemento

Descripción

public int SimpleXMLElement::count ( void )

Este método cuenta el número de hijos de un elemento.

Valores devueltos

Devuelve el número de elementos de un elemento.

Ejemplos

Ejemplo #1 Cuenta el número de hijos

<?php
$xml = <<<EOF
<people>
 <person name="Persona 1">
  <child/>
  <child/>
  <child/>
 </person>
 <person name="Persona 2">
  <child/>
  <child/>
  <child/>
  <child/>
  <child/>
 </person>
</people>
EOF;

$elem = new SimpleXMLElement($xml);

foreach ($elem as $person) {
    printf("%s tiene %d hijos.\n", $person['name'], $person->count());
}
?>

El resultado del ejemplo sería:

Persona 1 tiene 3 hijos.
Persona 2 tiene 5 hijos.

Ver también

  • SimpleXMLElement::children() - Encuentra los hijos del nodo dado

SimpleXMLElement::__construct
SimpleXMLElement::getDocNamespaces
SimpleXMLElement


Retorna los namespaces declarados en el documento

SimpleXMLElement::count
SimpleXMLElement::getName
SimpleXMLElement
PHP Manual

SimpleXMLElement::getDocNamespaces

(PHP 5 >= 5.1.2)

SimpleXMLElement::getDocNamespaces — Retorna los namespaces declarados en el documento

Descripción

public array SimpleXMLElement::getDocNamespaces ([ bool $recursive = false [, bool $from_root = true ]] )

Retorna los namespaces declarados en el documento

Parámetros

recursive

Si se especifica, retorna todos los namespaces declarados en los nodos padre e hijos. De lo contrario, retorna únicamente el namespace declarado en el nodo raíz.

from_root

Permite comprobar recursivamente espacios de nombres bajo un nodo hijo en lugar de desde la raíz del documento XML.

Valores devueltos

El método getDocNamespaces retorna un array de nombres de namespaces con sus URIs asociadas.

Ejemplos

Ejemplo #1 Obtener los namespaces del documento

<?php

$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<gente xmlns:p="http://example.org/ns">
    <p:persona id="1">John Doe</p:persona>
    <p:persona id="2">Susie Q. Public</p:persona>
</gente>
XML;

$sxe = new SimpleXMLElement($xml);

$namespaces = $sxe->getDocNamespaces();
var_dump($namespaces);

?>

El resultado del ejemplo sería:

array(1) {
   ["p"]=>
   string(21) "http://example.org/ns"
}

Ejemplo #2 Trabajando con múltiples namespaces

<?php

$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<gente xmlns:p="http://example.org/ns" xmlns:t="http://example.org/test">
    <p:persona t:id="1">John Doe</p:persona>
    <p:persona t:id="2" a:direccion="Calle 123" xmlns:a="http://example.org/addr">
        Susie Q. Public
    </p:person>
</gente>
XML;

$sxe = new SimpleXMLElement($xml);

$namespaces = $sxe->getDocNamespaces(TRUE);
var_dump($namespaces);

?>

El resultado del ejemplo sería:

array(3) {
  ["p"]=>
  string(21) "http://example.org/ns"
  ["t"]=>
  string(23) "http://example.org/test"
  ["a"]=>
  string(23) "http://example.org/addr"
}

Historial de cambios

Versión | Descripción
5.4.0 | Se añadió el parámetro from_root.

Ver también

  • SimpleXMLElement::getNamespaces() - Retorna los namespaces usados en el documento
  • SimpleXMLElement::registerXPathNamespace() - Crea un contexto prefijo/ns para la siguiente petición XPath

SimpleXMLElement::count
SimpleXMLElement::getName
SimpleXMLElement


Retorna el nombre del elemento XML

SimpleXMLElement::getDocNamespaces
SimpleXMLElement::getNamespaces
SimpleXMLElement
PHP Manual

SimpleXMLElement::getName

(PHP 5 >= 5.1.3)

SimpleXMLElement::getName — Retorna el nombre del elemento XML

Descripción

public string SimpleXMLElement::getName ( void )

Retorna el nombre del elemento XML.

Valores devueltos

El método getName retorna como string el nombre de la etiqueta XML referenciada por el objeto SimpleXMLElement.

Ejemplos

Nota:

Los ejemplos listados quizá incluyen example.php, que hacen referencia a la cadena XML encontrada en el primer ejemplo de la guía de uso básico.

Ejemplo #1 Retornar el nombre del elemento XML

<?php

include 'example.php';
$sxe = new SimpleXMLElement($xmlstr);

echo $sxe->getName() . "\n";

foreach ($sxe->children() as $hijo)
{
    echo $hijo->getName() . "\n";
}

?>

El resultado del ejemplo sería:

peliculas
pelicula

SimpleXMLElement::getDocNamespaces
SimpleXMLElement::getNamespaces
SimpleXMLElement


Retorna los namespaces usados en el documento

SimpleXMLElement::getName
SimpleXMLElement::registerXPathNamespace
SimpleXMLElement
PHP Manual

SimpleXMLElement::getNamespaces

(PHP 5 >= 5.1.2)

SimpleXMLElement::getNamespaces — Retorna los namespaces usados en el documento

Descripción

public array SimpleXMLElement::getNamespaces ([ bool $recursive = false ] )

Retorna los namespaces usados en el documento

Parámetros

recursive

Si se especifica, retorna todos los namespaces usados en los nodos padre e hijos. De lo contrario, retorna sólo los namespaces usados en el nodo raíz.

Valores devueltos

El método getNamespaces retorna un array de nombres de namespaces con sus URIs asociadas.

Ejemplos

Ejemplo #1 Obtener el namespace del documento en uso

<?php

$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<gente xmlns:p="http://example.org/ns" xmlns:t="http://example.org/test">
    <p:persona id="1">John Doe</p:persona>
    <p:persona id="2">Susie Q. Public</p:persona>
</gente>
XML;

$sxe = new SimpleXMLElement($xml);

$namespaces = $sxe->getNamespaces(true);
var_dump($namespaces);

?>

El resultado del ejemplo sería:

array(1) {
  ["p"]=>
  string(21) "http://example.org/ns"
}

Ver también

  • SimpleXMLElement::getDocNamespaces() - Retorna los namespaces declarados en el documento
  • SimpleXMLElement::registerXPathNamespace() - Crea un contexto prefijo/ns para la siguiente petición XPath

SimpleXMLElement::getName
SimpleXMLElement::registerXPathNamespace
SimpleXMLElement


Crea un contexto prefijo/ns para la siguiente petición XPath

SimpleXMLElement::getNamespaces
SimpleXMLElement::saveXML
SimpleXMLElement
PHP Manual

SimpleXMLElement::registerXPathNamespace

(PHP 5 >= 5.2.0)

SimpleXMLElement::registerXPathNamespace — Crea un contexto prefijo/ns para la siguiente petición XPath

Descripción

public bool SimpleXMLElement::registerXPathNamespace ( string $prefix , string $ns )

Crea un contexto de prefijo/ns para la siguiente petición XPath. En particular, ésto es útil si el proveedor del documento XML proporcionado altera los prefijos del namespace. registerXPathNamespace creará un prefijo para el namespace asociado, permitiendo el acceso a los nodos en ese namespace sin necesidad de cambiar el código a los nuevos prefijos dictados por el proveedor.

Parámetros

prefix

El prefijo del namespace a usar en la petición XPath para el namespace dado en ns.

ns

El namespace a usar para la petición XPath. Debe coincidir con un namespace en uso por el documento XML o la petición XPath usando prefix no retornará ningún resultado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Estableciendo un prefijo para el namespace a usar en una petición XPath

<?php

$xml = <<<EOD
<book xmlns:chap="http://example.org/titulo-capitulo">
    <title>My Book</title>
    <chapter id="1">
        <chap:titulo>Chapter 1</chap:titulo>
        <para>Donec velit. Nullam eget tellus vitae tortor gravida scelerisque.
            In orci lorem, cursus imperdiet, ultricies non, hendrerit et, orci.
            Nulla facilisi. Nullam velit nisl, laoreet id, condimentum ut,
            ultricies id, mauris.</para>
    </chapter>
    <chapter id="2">
        <chap:titulo>Chapter 2</chap:titulo>
        <para>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin
            gravida. Phasellus tincidunt massa vel urna. Proin adipiscing quam
            vitae odio. Sed dictum. Ut tincidunt lorem ac lorem. Duis eros
            tellus, pharetra id, faucibus eu, dapibus dictum, odio.</para>
    </chapter>
</book>
EOD;

$sxe = new SimpleXMLElement($xml);

$sxe->registerXPathNamespace('c', 'http://example.org/titulo-capitulo');
$resultado = $sxe->xpath('//c:titulo');

foreach ($resultado as $titulo) {
  echo $titulo . "\n";
}

?>

El resultado del ejemplo sería:

Chapter 1
Chapter 2

Notar como el documento XML mostrado en el ejemplo establece un namespace con un prefijo de chap. En el caso de que este documento (u otro como este) hubiera usado un prefijo de c, como este ha cambiado, la petición XPath no retornará los resultados adecuados y la petición requerirá modificación. Usando registerXPathNamespace evita futuras modificaciones de la petición incluso si el proveedor cambia el prefijo del namespace.

Ver también

  • SimpleXMLElement::xpath() - Ejecuta una petición XPath sobre los datos XML
  • SimpleXMLElement::getDocNamespaces() - Retorna los namespaces declarados en el documento
  • SimpleXMLElement::getNamespaces() - Retorna los namespaces usados en el documento

SimpleXMLElement::getNamespaces
SimpleXMLElement::saveXML
SimpleXMLElement


Alias de SimpleXMLElement::asXML

SimpleXMLElement::registerXPathNamespace
SimpleXMLElement::__toString
SimpleXMLElement
PHP Manual

SimpleXMLElement::saveXML

(PHP 5 >= 5.2.0)

SimpleXMLElement::saveXML — Alias de SimpleXMLElement::asXML()

Descripción

Este método es un alias de: SimpleXMLElement::asXML()

SimpleXMLElement::registerXPathNamespace
SimpleXMLElement::__toString
SimpleXMLElement


Returns the string content

SimpleXMLElement::saveXML
SimpleXMLElement::xpath
SimpleXMLElement
PHP Manual

SimpleXMLElement::__toString

(No hay información de versión disponible, podría estar únicamente en SVN)

SimpleXMLElement::__toString — Returns the string content

Descripción

public string SimpleXMLElement::__toString ( void )

Returns text content that is directly in this element. Does not return text content that is inside this element's children.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns the string content on success or an empty string on failure.

Ejemplos

Ejemplo #1 Get string content

<?php
$xml = new SimpleXMLElement('<a>1 <b>2 </b>3</a>');
echo $xml;
?>

El resultado del ejemplo sería:

1 3

Ver también

  • SimpleXMLElement::asXML() - Retorna un string XML correcto basado en un elemento SimpleXML

SimpleXMLElement::saveXML
SimpleXMLElement::xpath
SimpleXMLElement


Ejecuta una petición XPath sobre los datos XML

SimpleXMLElement::__toString
SimpleXMLIterator
SimpleXMLElement
PHP Manual

SimpleXMLElement::xpath

(PHP 5 >= 5.2.0)

SimpleXMLElement::xpath — Ejecuta una petición XPath sobre los datos XML

Descripción

public array SimpleXMLElement::xpath ( string $path )

El método xpath busca el nodo SimpleXML para los hijos que cumplan la path XPath.

Parámetros

path

Una ruta XPath

Valores devueltos

Retorna un array de objetos SimpleXMLElement o FALSE en caso de error.

Ejemplos

Ejemplo #1 Xpath

<?php
$string = <<<XML
<a>
 <b>
  <c>texto</c>
  <c>cosas</c>
 </b>
 <d>
  <c>código</c>
 </d>
</a>
XML;

$xml = new SimpleXMLElement($string);

/* Busca <a><b><c> */
$resultado = $xml->xpath('/a/b/c');

while(list( , $nodo) = each($resultado)) {
    echo '/a/b/c: ',$nodo,"\n";
}

/* Rutas relativas también funcionan... */
$resultado = $xml->xpath('b/c');

while(list( , $nodo) = each($resultado)) {
    echo 'b/c: ',$nodo,"\n";
}
?>

El resultado del ejemplo sería:

/a/b/c: texto
/a/b/c: cosas
b/c: texto
b/c: cosas

Notar que los dos resultados son iguales.

Ver también

  • SimpleXMLElement::registerXPathNamespace() - Crea un contexto prefijo/ns para la siguiente petición XPath
  • SimpleXMLElement::getDocNamespaces() - Retorna los namespaces declarados en el documento
  • SimpleXMLElement::getNamespaces() - Retorna los namespaces usados en el documento
  • Uso básico de SimpleXML

SimpleXMLElement::__toString
SimpleXMLIterator
SimpleXMLElement


La clase SimpleXMLIterator

(PHP 5 >= 5.1.0)

Introducción

El clase SimpleXMLIterator proporciona una iteración recursiva sobre todos los nodos de un objeto SimpleXMLElement.

Sinopsis de la Clase

SimpleXMLIterator extends SimpleXMLElement implements RecursiveIterator , Countable {
/* Métodos */
public mixed current ( void )
public SimpleXMLIterator getChildren ( void )
public bool hasChildren ( void )
public mixed key ( void )
public void next ( void )
public void rewind ( void )
public bool valid ( void )
/* Métodos heredados */
final public SimpleXMLElement::__construct ( string $data [, int $options = 0 [, bool $data_is_url = false [, string $ns = "" [, bool $is_prefix = false ]]]] )
public void SimpleXMLElement::addAttribute ( string $name [, string $value [, string $namespace ]] )
public SimpleXMLElement SimpleXMLElement::addChild ( string $name [, string $value [, string $namespace ]] )
public mixed SimpleXMLElement::asXML ([ string $filename ] )
public SimpleXMLElement SimpleXMLElement::attributes ([ string $ns = NULL [, bool $is_prefix = false ]] )
public SimpleXMLElement SimpleXMLElement::children ([ string $ns [, bool $is_prefix = false ]] )
public int SimpleXMLElement::count ( void )
public array SimpleXMLElement::getDocNamespaces ([ bool $recursive = false [, bool $from_root = true ]] )
public string SimpleXMLElement::getName ( void )
public array SimpleXMLElement::getNamespaces ([ bool $recursive = false ] )
public bool SimpleXMLElement::registerXPathNamespace ( string $prefix , string $ns )
public string SimpleXMLElement::__toString ( void )
public array SimpleXMLElement::xpath ( string $path )
}

Tabla de contenidos

  • SimpleXMLIterator::current — Devuelve el elemento actual
  • SimpleXMLIterator::getChildren — Devuelve los sub elementos de el elemento actual
  • SimpleXMLIterator::hasChildren — Comprueba si el elemento actual tiene subelementos
  • SimpleXMLIterator::key — Devuelve la clave actual
  • SimpleXMLIterator::next — Mueve al siguiente elemento
  • SimpleXMLIterator::rewind — Rebobina hasta el primer elemento
  • SimpleXMLIterator::valid — Comprueba si el elemento actual es válido
SimpleXMLElement::xpath
SimpleXMLIterator::current
SimpleXML


Devuelve el elemento actual

SimpleXMLIterator
SimpleXMLIterator::getChildren
SimpleXMLIterator
PHP Manual

SimpleXMLIterator::current

(PHP 5 >= 5.1.0)

SimpleXMLIterator::current — Devuelve el elemento actual

Descripción

public mixed SimpleXMLIterator::current ( void )

Este método devuelve el elemento actual como un objeto SimpleXMLIterator o NULL.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el elemento actual como un objeto SimpleXMLIterator o NULL en caso de error.

Ejemplos

Ejemplo #1 Devuelve el elemento actual

<?php
$xmlIterator = new SimpleXMLIterator('<books><book>PHP básico</book><book>XML básico</book></books>');
var_dump($xmlIterator->current());

$xmlIterator->rewind(); // reiniciar al primer elemento
var_dump($xmlIterator->current());
?>

El resultado del ejemplo sería:

NULL
object(SimpleXMLIterator)#2 (1) {
  [0]=>
  string(10) "PHP básico"
}

Ver también

  • SimpleXMLIterator::key() - Devuelve la clave actual
  • SimpleXMLIterator::next() - Mueve al siguiente elemento
  • SimpleXMLIterator::rewind() - Rebobina hasta el primer elemento
  • SimpleXMLIterator::valid() - Comprueba si el elemento actual es válido
  • SimpleXMLElement

SimpleXMLIterator
SimpleXMLIterator::getChildren
SimpleXMLIterator


Devuelve los sub elementos de el elemento actual

SimpleXMLIterator::current
SimpleXMLIterator::hasChildren
SimpleXMLIterator
PHP Manual

SimpleXMLIterator::getChildren

(PHP 5 >= 5.1.0)

SimpleXMLIterator::getChildren — Devuelve los sub elementos de el elemento actual

Descripción

public SimpleXMLIterator SimpleXMLIterator::getChildren ( void )

Este método devuelve un objeto SimpleXMLIterator que contiene sub elementos de el elemento SimpleXMLIterator actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un objeto SimpleXMLIterator que contiene los sub elementos de el elemento actual.

Ejemplos

Ejemplo #1 Devuelve los sub elementos de el elemento actual

<?php
$xml = <<<XML
<books>
    <book>
        <title>PHP Básico</title>
        <author>Jim Smith</author>
    </book>
    <book>XML básico</book>
</books>
XML;

$xmlIterator = new SimpleXMLIterator($xml);
for( $xmlIterator->rewind(); $xmlIterator->valid(); $xmlIterator->next() ) {
    foreach($xmlIterator->getChildren() as $name => $data) {
    echo "El $name es '$data' de la clase " . get_class($data) . "\n";
    }
}
?>

El resultado del ejemplo sería:

El título es 'PHP Básico' de la clase SimpleXMLIterator
El autor es 'Jim Smith' de la clase SimpleXMLIterator

SimpleXMLIterator::current
SimpleXMLIterator::hasChildren
SimpleXMLIterator


Comprueba si el elemento actual tiene subelementos

SimpleXMLIterator::getChildren
SimpleXMLIterator::key
SimpleXMLIterator
PHP Manual

SimpleXMLIterator::hasChildren

(PHP 5 >= 5.1.0)

SimpleXMLIterator::hasChildren — Comprueba si el elemento actual tiene subelementos

Descripción

public bool SimpleXMLIterator::hasChildren ( void )

Este método comprueba si el elemento SimpleXMLIterator actual tiene sub elementos.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

TRUE si el elemento actual tiene sub elementos, en caso contrario FALSE

Ejemplos

Ejemplo #1 Comprobar si el elemento actual tiene sub elementos

<?php
$xml = <<<XML
<books>
    <book>
        <title>PHP Básico</title>
        <author>Jim Smith</author>
    </book>
    <book>XML básico</book>
</books>
XML;

$xmlIterator = new SimpleXMLIterator( $xml );
for( $xmlIterator->rewind(); $xmlIterator->valid(); $xmlIterator->next() ) {
    if($xmlIterator->hasChildren()) {
        var_dump($xmlIterator->current());
    }
}
?>

El resultado del ejemplo sería:

object(SimpleXMLIterator)#2 (2) {
  ["title"]=>
  string(10) "PHP Básico"
  ["author"]=>
  string(9) "Jim Smith"
}

SimpleXMLIterator::getChildren
SimpleXMLIterator::key
SimpleXMLIterator


Devuelve la clave actual

SimpleXMLIterator::hasChildren
SimpleXMLIterator::next
SimpleXMLIterator
PHP Manual

SimpleXMLIterator::key

(PHP 5 >= 5.1.0)

SimpleXMLIterator::key — Devuelve la clave actual

Descripción

public mixed SimpleXMLIterator::key ( void )

Este método obtiene el nombre de la etiqueta XML del elemento actual.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el nombre de la etiqueta XML del elemento referenciado por el objeto SimpleXMLIterator actual o FALSE

Ejemplos

Ejemplo #1 Obtener la clave actual de etiquetas XML

<?php
$xmlIterator = new SimpleXMLIterator('<books><book>PHP básico</book><book>XML básico</book></books>');

echo var_dump($xmlIterator->key());
$xmlIterator->rewind(); // rebobinar hasta el primer elemento
echo var_dump($xmlIterator->key());

?>

El resultado del ejemplo sería:

bool(false)
string(4) "book"

SimpleXMLIterator::hasChildren
SimpleXMLIterator::next
SimpleXMLIterator


Mueve al siguiente elemento

SimpleXMLIterator::key
SimpleXMLIterator::rewind
SimpleXMLIterator
PHP Manual

SimpleXMLIterator::next

(PHP 5 >= 5.1.0)

SimpleXMLIterator::next — Mueve al siguiente elemento

Descripción

public void SimpleXMLIterator::next ( void )

Este método mueve el SimpleXMLIterator a el siguiente elemento.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Mover a el siguiente elemento

<?php
$xmlIterator = new SimpleXMLIterator('<books><book>PHP Básico</book><book>XML básico</book></books>');
$xmlIterator->rewind(); // rebobinar hasta el primer elemento
$xmlIterator->next();

var_dump($xmlIterator->current());
?>

El resultado del ejemplo sería:

object(SimpleXMLIterator)#2 (1) {
  [0]=>
  string(10) "XML básico"
}

SimpleXMLIterator::key
SimpleXMLIterator::rewind
SimpleXMLIterator


Rebobina hasta el primer elemento

SimpleXMLIterator::next
SimpleXMLIterator::valid
SimpleXMLIterator
PHP Manual

SimpleXMLIterator::rewind

(PHP 5 >= 5.1.0)

SimpleXMLIterator::rewind — Rebobina hasta el primer elemento

Descripción

public void SimpleXMLIterator::rewind ( void )

Este método rebobina el SimpleXMLIterator a el primer elemento.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Rebobinar hasta el primer elemento

<?php
$xmlIterator = new SimpleXMLIterator('<books><book>PHP Básico</book><book>XML Básico</book></books>');
$xmlIterator->rewind();

var_dump($xmlIterator->current());
?>

El resultado del ejemplo sería:

object(SimpleXMLIterator)#2 (1) {
  [0]=>
  string(10) "PHP Básico"
}

SimpleXMLIterator::next
SimpleXMLIterator::valid
SimpleXMLIterator


Comprueba si el elemento actual es válido

SimpleXMLIterator::rewind
Funciones de SimpleXML
SimpleXMLIterator
PHP Manual

SimpleXMLIterator::valid

(PHP 5 >= 5.1.0)

SimpleXMLIterator::valid — Comprueba si el elemento actual es válido

Descripción

public bool SimpleXMLIterator::valid ( void )

Este mñetodo comprueba si el elemento actual es válido después de llamar a SimpleXMLIterator::rewind() o SimpleXMLIterator::next().

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si el elemento actual es válido, en caso contrario FALSE

Ejemplos

Ejemplo #1 Comprobar si el elemento actual es válido

<?php
$xmlIterator = new SimpleXMLIterator('<books><book>SQL Básico</book></books>');

$xmlIterator->rewind(); // rebobinar hasta el primer elemento
echo var_dump($xmlIterator->valid()); // bool(true)

$xmlIterator->next(); // avanzar al siguiente elemento
echo var_dump($xmlIterator->valid()); // bool(false) porque sólo hay un elemento
?>

SimpleXMLIterator::rewind
Funciones de SimpleXML
SimpleXMLIterator


Funciones de SimpleXML

Tabla de contenidos

  • simplexml_import_dom — Obtiene un objeto SimpleXMLElement de un nodo DOM
  • simplexml_load_file — Interpreta un fichero XML en un objeto
  • simplexml_load_string — Interpreta un string de XML en un objeto
SimpleXMLIterator::valid
simplexml_import_dom
SimpleXML


Obtiene un objeto SimpleXMLElement de un nodo DOM

Funciones de SimpleXML
simplexml_load_file
Funciones de SimpleXML
PHP Manual

simplexml_import_dom

(PHP 5)

simplexml_import_dom — Obtiene un objeto SimpleXMLElement de un nodo DOM

Descripción

SimpleXMLElement simplexml_import_dom ( DOMNode $node [, string $class_name = "SimpleXMLElement" ] )

Esta función toma un nodo de un documento DOM y lo convierte en un nodo SimpleXML. Este nuevo objeto puede ser usado como un elemento SimpleXML nativo.

Parámetros

node

Un nodo del elemento DOM

class_name

Este parámetro opcional debe usarse cuando se necesite que simplexml_import_dom() retorne un objeto de la clase indicada. Esa clase debe extender de la clase SimpleXMLElement.

Valores devueltos

Retorna un SimpleXMLElement o FALSE en caso de error.

Ejemplos

Ejemplo #1 Importando desde DOM

<?php
$dom = new DOMDocument;
$dom->loadXML('<libros><libro><titulo>blah</titulo></libro></libros>');
if (!$dom) {
    echo 'Error analizando el documento';
    exit;
}

$s = simplexml_import_dom($dom);

echo $s->libro[0]->titulo;
?>

El resultado del ejemplo sería:

blah

Ver también

  • dom_import_simplexml() - Obtiene un objeto DOMElement desde un objeto SimpleXMLElement
  • Uso básico de SimpleXML

Funciones de SimpleXML
simplexml_load_file
Funciones de SimpleXML


Interpreta un fichero XML en un objeto

simplexml_import_dom
simplexml_load_string
Funciones de SimpleXML
PHP Manual

simplexml_load_file

(PHP 5)

simplexml_load_file — Interpreta un fichero XML en un objeto

Descripción

SimpleXMLElement simplexml_load_file ( string $filename [, string $class_name = "SimpleXMLElement" [, int $options = 0 [, string $ns = "" [, bool $is_prefix = false ]]]] )

Convierte el documento correcto XML del fichero dado en un objeto.

Parámetros

filename

Ruta al fichero XML

Nota:

Libxml 2 no escapa la URI, así que si es necesario pasar, por ejemplo b&c, como parámetro a de la URI, hay que llamar a simplexml_load_file(rawurlencode('http://example.com/?a=' . urlencode('b&c'))). Desde PHP 5.1.0 no es necesario hacer esto porque PHP lo hará automáticamente.

class_name

Este parámetro opcional puede ser usado cuando se necesita que simplexml_load_file() retorne un objeto de la clase especificada. Esa clase debe extender de la clase SimpleXMLElement.

options

Desde PHP 5.1.0 y Libxml 2.6.0 puede usarse options para especificar parámetros Libxml adicionales.

ns

El prefijo del espacio de nombres o un URI.

is_prefix

TRUE si ns es un prefijo, FALSE si es un URI; por defecto es FALSE.

Valores devueltos

Retorna un object de tipo SimpleXMLElement cuyas propiedades contienen los datos del documento XML, o FALSE en caso de error.

Errores/Excepciones

Produce un mensaje de error E_WARNING para cada error encontrado en los datos XML.

Sugerencia

Usar libxml_use_internal_errors() para suprimir todos los errores XML y libxml_get_errors() para iterar sobre cada uno de ellos posteriormente.

Ejemplos

Ejemplo #1 Interpreta un documento XML

<?php
// El fichero test.xml contiene un documento XML con un elemento raíz y, al
// menos, un elemento /[raiz]/titulo.

if (file_exists('test.xml')) {
    $xml = simplexml_load_file('test.xml');

    print_r($xml);
} else {
    exit('Error abriendo test.xml.');
}
?>

Este script mostrará, si no hay errores:

SimpleXMLElement Object
(
  [titulo] => Título ejemplo
  ...
)

En este punto, se puede seguir recorriendo usando $xml->titulo y cualquier otro elemento.

Ver también

  • simplexml_load_string() - Interpreta un string de XML en un objeto
  • SimpleXMLElement::__construct() - Crea un nuevo objeto SimpleXMLElement
  • Lidiar con los errores XML
  • libxml_use_internal_errors() - Deshabilita errores libxml y permite al usuario extraer información de errores según sea necesario
  • Uso básico de SimpleXML

simplexml_import_dom
simplexml_load_string
Funciones de SimpleXML


Interpreta un string de XML en un objeto

simplexml_load_file
WDDX
Funciones de SimpleXML
PHP Manual

simplexml_load_string

(PHP 5)

simplexml_load_string — Interpreta un string de XML en un objeto

Descripción

SimpleXMLElement simplexml_load_string ( string $data [, string $class_name = "SimpleXMLElement" [, int $options = 0 [, string $ns = "" [, bool $is_prefix = false ]]]] )

Toma un string XML correcto y lo retorna como objeto.

Parámetros

data

Un string XML correcto

class_name

Este parámetro opcional puede ser usado cuando se necesita que simplexml_load_file() retorne un objeto de la clase especificada. Esa clase debe extender de la clase SimpleXMLElement.

options

Desde PHP 5.1.0 y Libxml 2.6.0 puede usarse options para especificar parámetros Libxml adicionales.

ns

El prefijo del espacio de nombres o un URI.

is_prefix

TRUE si ns es un prefijo, FALSE si es un URI; por defecto es FALSE.

Valores devueltos

Retorna un object de tipo SimpleXMLElement cuyas propiedades contienen los datos del documento XML, o FALSE en caso de error.

Errores/Excepciones

Produce un mensaje de error E_WARNING para cada error encontrado en los datos XML.

Sugerencia

Usar libxml_use_internal_errors() para suprimir todos los errores XML y libxml_get_errors() para iterar sobre cada uno de ellos posteriormente.

Ejemplos

Ejemplo #1 Interpreta un string XML

<?php
$string = <<<XML
<?xml version='1.0'?>
<document>
 <title>¿Cuarenta qué?</title>
 <from>Joe</from>
 <to>Jane</to>
 <body>
  Sé que esa es la respuesta pero, ¿cuál es la pregunta?
 </body>
</document>
XML;

$xml = simplexml_load_string($string);

print_r($xml);
?>

El resultado del ejemplo sería:

SimpleXMLElement Object
(
  [titulo] => ¿Cuarenta qué?
  [de] => Joe
  [para] => Jane
  [mensaje] => Sé que esa es la respuesta pero, ¿cuál es la pregunta?
)

En este punto, se puede usar $xml->mensaje y similares.

Ver también

  • simplexml_load_file() - Interpreta un fichero XML en un objeto
  • SimpleXMLElement::__construct() - Crea un nuevo objeto SimpleXMLElement
  • Lidiar con los errores XML
  • libxml_use_internal_errors() - Deshabilita errores libxml y permite al usuario extraer información de errores según sea necesario
  • Uso básico de SimpleXML

simplexml_load_file
WDDX
Funciones de SimpleXML


WDDX

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Ejemplos de wddx
  • Funciones de WDDX
    • wddx_add_vars — Agrega variables a un paquete WDDX con un ID específico
    • wddx_deserialize — Deserializa un packet WDDX
    • wddx_packet_end — Finaliza un paquete WDDX con un ID específico
    • wddx_packet_start — Inicia un nuevo paquete WDDX con una estructura a dentro
    • wddx_serialize_value — Serializa una simple valor dentro de un paquete WDDX
    • wddx_serialize_vars — Serializa variables en un paquete WDDX
simplexml_load_string
Introducción
Manipulación XML


Introducción

Estas funciones están previstas para trabajar con » WDDX.

WDDX
Instalación/Configuración
WDDX


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
WDDX


Requerimientos

Esta extensión requiere la extensión de PHP libxml. Esto significa que también es necesario pasar la opción --enable-libxml , aunque esto se realiza implícitamente debido a que libxml está habilitada de forma predeterminada.

A fin de utilizar WDDX, se necesita instalar la librería expat (la cual viene con Apache 1.3.7 o superior).

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Despúes de instalar la librería requerida expat, compile PHP con --enable-wddx , y use --with-libexpat-dir para expat.

La versión de PHP para Windows tiene soporte nativo para esta extensión. No se requiere cargar extensiones adicionales para utilizar estas funciones.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

Esta extensión define un identificador de paquete WDDX devuelto por wddx_packet_start().

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Ejemplos
WDDX


Ejemplos

Tabla de contenidos

  • Ejemplos de wddx
Constantes predefinidas
Ejemplos de wddx
WDDX


Ejemplos de wddx

Todas las funciones que serializan variables utilizan el primer elemento de un array para determinar si el array ha sido serializado en una estructura o un array. Si el primer elemento tiene una cadena como llave, entonces es serializado como estructura, de lo contrario, en un array.

Ejemplo #1 Serializando un simple valor con WDDX

<?php
echo wddx_serialize_value("PHP to WDDX packet example", "PHP packet");
?>

Este ejemplo producirá:

<wddxPacket version='1.0'><header comment='PHP packet'/><data>
<string>PHP to WDDX packet example</string></data></wddxPacket>

Ejemplo #2 Usando paquetes incrementales con WDDX

<?php
$pi = 3.1415926;
$packet_id = wddx_packet_start("PHP");
wddx_add_vars($packet_id, "pi");

/* Suppose $cities came from database */
$cities = array("Austin", "Novato", "Seattle");
wddx_add_vars($packet_id, "cities");

$packet = wddx_packet_end($packet_id);
echo $packet;
?>

Este ejemplo producirá:

<wddxPacket version='1.0'><header comment='PHP'/><data><struct>
<var name='pi'><number>3.1415926</number></var><var name='cities'>
<array length='3'><string>Austin</string><string>Novato</string>
<string>Seattle</string></array></var></struct></data></wddxPacket>

Nota:

Si se desea serializar caracteres distintos al ASCII se debe convertir los datos a UTF-8 primero (ver utf8_encode() e iconv()).

Ejemplos
Funciones de WDDX
Ejemplos


Funciones de WDDX

Tabla de contenidos

  • wddx_add_vars — Agrega variables a un paquete WDDX con un ID específico
  • wddx_deserialize — Deserializa un packet WDDX
  • wddx_packet_end — Finaliza un paquete WDDX con un ID específico
  • wddx_packet_start — Inicia un nuevo paquete WDDX con una estructura a dentro
  • wddx_serialize_value — Serializa una simple valor dentro de un paquete WDDX
  • wddx_serialize_vars — Serializa variables en un paquete WDDX
Ejemplos de wddx
wddx_add_vars
WDDX


Agrega variables a un paquete WDDX con un ID específico

Funciones de WDDX
wddx_deserialize
Funciones de WDDX
PHP Manual

wddx_add_vars

(PHP 4, PHP 5)

wddx_add_vars — Agrega variables a un paquete WDDX con un ID específico

Descripción

bool wddx_add_vars ( resource $packet_id , mixed $var_name [, mixed $... ] )

Serializa las variables pasadas y agrega el resultado al paquete determinado.

Parámetros

Esta función toma un número variable de parámetros.

packet_id

Un paquete WDDX, devuelto por wddx_packet_start().

var_name

Pude ser una cadena, una variable o un array conteniendo una cadena, una variable u otro array, etc.

...

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Funciones de WDDX
wddx_deserialize
Funciones de WDDX


Deserializa un packet WDDX

wddx_add_vars
wddx_packet_end
Funciones de WDDX
PHP Manual

wddx_deserialize

(PHP 4, PHP 5)

wddx_deserialize — Deserializa un packet WDDX

Descripción

mixed wddx_deserialize ( string $packet )

Deserializa un packet WDDX.

Parámetros

packet

Un paquete WDDX, como un string o cadena.

Valores devueltos

Devuelve un valor deserializado que puede ser una cadena, un número o un array. Note que las estructuras son deserializadas en arrays asociativos.

wddx_add_vars
wddx_packet_end
Funciones de WDDX


Finaliza un paquete WDDX con un ID específico

wddx_deserialize
wddx_packet_start
Funciones de WDDX
PHP Manual

wddx_packet_end

(PHP 4, PHP 5)

wddx_packet_end — Finaliza un paquete WDDX con un ID específico

Descripción

string wddx_packet_end ( resource $packet_id )

Finaliza y devuelve el paquete WDDX.

Parámetros

packet_id

Un paquete WDDX, devuelto por wddx_packet_start().

Valores devueltos

Devuelve la cadena que contiene el paquete WDDX.

wddx_deserialize
wddx_packet_start
Funciones de WDDX


Inicia un nuevo paquete WDDX con una estructura a dentro

wddx_packet_end
wddx_serialize_value
Funciones de WDDX
PHP Manual

wddx_packet_start

(PHP 4, PHP 5)

wddx_packet_start — Inicia un nuevo paquete WDDX con una estructura a dentro

Descripción

resource wddx_packet_start ([ string $comment ] )

Inicia un nuevo paquete WDDX para adición incremental de variables. Crea una definición de estructura automáticamente dentro del paquete para almacenar variables.

Parámetros

comment

Una cadena de comentario opcional.

Valores devueltos

Devuelve un ID de paquete para usar en funciones posteriores, o FALSE en caso de error.

wddx_packet_end
wddx_serialize_value
Funciones de WDDX


Serializa una simple valor dentro de un paquete WDDX

wddx_packet_start
wddx_serialize_vars
Funciones de WDDX
PHP Manual

wddx_serialize_value

(PHP 4, PHP 5)

wddx_serialize_value — Serializa una simple valor dentro de un paquete WDDX

Descripción

string wddx_serialize_value ( mixed $var [, string $comment ] )

Crea un paquete WDDX a partir de un simple valor.

Parámetros

var

El valor que será serializado

comment

Una cadena opcional de comentario que aparecerá en la cabecera del paquete.

Valores devueltos

Devuelve el paquete WDDX, o FALSE en caso de error.

wddx_packet_start
wddx_serialize_vars
Funciones de WDDX


Serializa variables en un paquete WDDX

wddx_serialize_value
XMLDiff
Funciones de WDDX
PHP Manual

wddx_serialize_vars

(PHP 4, PHP 5)

wddx_serialize_vars — Serializa variables en un paquete WDDX

Descripción

string wddx_serialize_vars ( mixed $var_name [, mixed $... ] )

Crea un paquete WDDX con una estructura que contiene la representación serializada de las variables pasadas.

Parámetros

Esta función toma un número variables de parámetros.

var_name

Pude ser una cadena, una variable o un array conteniendo una cadena, una variable u otro array, etc.

...

Valores devueltos

Devuelve el paquete WDDX, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo wddx_serialize_vars()

<?php
$a = 1;
$b = 5.5;
$c = array("blue", "orange", "violet");
$d = "colors";

$clvars = array("c", "d");
echo wddx_serialize_vars("a", "b", $clvars);
?>

El resultado del ejemplo sería:

<wddxPacket version='1.0'><header/><data><struct><var name='a'><number>1</number></var>
<var name='b'><number>5.5</number></var><var name='c'><array length='3'>
<string>blue</string><string>orange</string><string>violet</string></array></var>
<var name='d'><string>colors</string></var></struct></data></wddxPacket>

wddx_serialize_value
XMLDiff
Funciones de WDDX


XML diff and merge

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
  • XMLDiff\Base — The XMLDiff\Base class
    • XMLDiff\Base::__construct — Constructor
    • XMLDiff\Base::diff — Produce diff of two XML documents
    • XMLDiff\Base::merge — Produce new XML document based on diff
  • XMLDiff\DOM — The XMLDiff\DOM class
    • XMLDiff\DOM::diff — Diff two DOMDocument objects
    • XMLDiff\DOM::merge — Produce merged DOMDocument
  • XMLDiff\Memory — The XMLDiff\Memory class
    • XMLDiff\Memory::diff — Diff two XML documents
    • XMLDiff\Memory::merge — Produce merged XML document
  • XMLDiff\File — The XMLDiff\File class
    • XMLDiff\File::diff — Diff two XML files
    • XMLDiff\File::merge — Produce merged XML document
wddx_serialize_vars
Introducción
Manipulación XML


Introducción

The extension is able to produce diffs of two XML documents and then to apply the difference to the source document. The diff is a XML document containing copy/insert/delete instruction nodes in human readable format. DOMDocument objects, local files and strings in memory can be processed.

XMLDiff
Instalación/Configuración
XMLDiff


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
Introducción
Requerimientos
XMLDiff


Requerimientos

libdiffmark - version 0.10 is bundled with the extension. If diffmark is available from your system packages, it's usage is strongly encouraged.

libxml extension

DOM extension

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión » PECL no se distribuye con PHP.

Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » http://pecl.php.net/package/xmldiff.

A DLL for this PECL extension is available under » http://windows.php.net/downloads/pecl/releases/xmldiff/.

Requerimientos
XMLDiff\Base
Instalación/Configuración


The XMLDiff\Base class

(PECL xmldiff >= 0.8.0)

Introducción

Base abstract class for all the comparsion classes in the extension.

Sinopsis de la Clase

XMLDiff\Base {
/* Métodos */
public __construct ( string $nsname )
abstract public mixed diff ( mixed $from , mixed $to )
abstract public mixed merge ( mixed $src , mixed $diff )
}

Tabla de contenidos

  • XMLDiff\Base::__construct — Constructor
  • XMLDiff\Base::diff — Produce diff of two XML documents
  • XMLDiff\Base::merge — Produce new XML document based on diff
Instalación
XMLDiff\Base::__construct
XMLDiff


Constructor

XMLDiff\Base
XMLDiff\Base::diff
XMLDiff\Base
PHP Manual

XMLDiff\Base::__construct

(PECL xmldiff >= 0.8.0)

XMLDiff\Base::__construct — Constructor

Descripción

public XMLDiff\Base::__construct ( string $nsname )

Base constructor for all the worker classes in the xmldiff extension.

Parámetros

nsname

Custom namespace name for the diff document. The default namespace is http://www.locus.cz/diffmark and that's enough to avoid namespace conflicts. Use this parameter if you want to change it for some reason.

Valores devueltos

XMLDiff\Base
XMLDiff\Base::diff
XMLDiff\Base


Produce diff of two XML documents

XMLDiff\Base::__construct
XMLDiff\Base::merge
XMLDiff\Base
PHP Manual

XMLDiff\Base::diff

(PECL xmldiff >= 0.8.0)

XMLDiff\Base::diff — Produce diff of two XML documents

Descripción

abstract public mixed XMLDiff\Base::diff ( mixed $from , mixed $to )

Abstract diff method to be implemented by inheriting classes.

The basic purpose of this method is to produce diff of the two documents. The param order matters and will produce different output.

Parámetros

from

Source XML document.

to

Target XML document.

Valores devueltos

Implementation dependent.

XMLDiff\Base::__construct
XMLDiff\Base::merge
XMLDiff\Base


Produce new XML document based on diff

XMLDiff\Base::diff
XMLDiff\DOM
XMLDiff\Base
PHP Manual

XMLDiff\Base::merge

(PECL xmldiff >= 0.8.0)

XMLDiff\Base::merge — Produce new XML document based on diff

Descripción

abstract public mixed XMLDiff\Base::merge ( mixed $src , mixed $diff )

Abstract merge method to be implemented by inheriting classes.

Basically the method purpose is to produce a new XML document based on the diff information.

Parámetros

src

Source XML document.

diff

Document produced by the diff method.

Valores devueltos

Implementation dependent.

XMLDiff\Base::diff
XMLDiff\DOM
XMLDiff\Base


The XMLDiff\DOM class

(PECL xmldiff >= 0.8.0)

Introducción

Sinopsis de la Clase

XMLDiff\DOM extends XMLDiff\Base {
/* Métodos */
public DOMDocument diff ( DOMDocument $from , DOMDocument $to )
public DOMDocument merge ( DOMDocument $src , DOMDocument $diff )
/* Métodos heredados */
public XMLDiff\Base::__construct ( string $nsname )
abstract public mixed XMLDiff\Base::diff ( mixed $from , mixed $to )
abstract public mixed XMLDiff\Base::merge ( mixed $src , mixed $diff )
}

Tabla de contenidos

  • XMLDiff\DOM::diff — Diff two DOMDocument objects
  • XMLDiff\DOM::merge — Produce merged DOMDocument
XMLDiff\Base::merge
XMLDiff\DOM::diff
XMLDiff


Diff two DOMDocument objects

XMLDiff\DOM
XMLDiff\DOM::merge
XMLDiff\DOM
PHP Manual

XMLDiff\DOM::diff

(PECL xmldiff >= 0.8.0)

XMLDiff\DOM::diff — Diff two DOMDocument objects

Descripción

public DOMDocument XMLDiff\DOM::diff ( DOMDocument $from , DOMDocument $to )

Diff two DOMDocument instances and produce the new one containing the diff information.

Parámetros

from

Source DOMDocument object.

to

Target DOMDocument object.

Valores devueltos

DOMDocument with the diff information or NULL.

XMLDiff\DOM
XMLDiff\DOM::merge
XMLDiff\DOM


Produce merged DOMDocument

XMLDiff\DOM::diff
XMLDiff\Memory
XMLDiff\DOM
PHP Manual

XMLDiff\DOM::merge

(PECL xmldiff >= 0.8.0)

XMLDiff\DOM::merge — Produce merged DOMDocument

Descripción

public DOMDocument XMLDiff\DOM::merge ( DOMDocument $src , DOMDocument $diff )

Create new DOMDocument based on the diff.

Parámetros

src

Source DOMDocument object.

diff

DOMDocument object containing the diff information.

Valores devueltos

Merged DOMDocument or NULL.

XMLDiff\DOM::diff
XMLDiff\Memory
XMLDiff\DOM


The XMLDiff\Memory class

(PECL xmldiff >= 0.8.0)

Introducción

Sinopsis de la Clase

XMLDiff\Memory extends XMLDiff\Base {
/* Métodos */
public string diff ( string $from , string $to )
public string merge ( string $src , string $diff )
/* Métodos heredados */
public XMLDiff\Base::__construct ( string $nsname )
abstract public mixed XMLDiff\Base::diff ( mixed $from , mixed $to )
abstract public mixed XMLDiff\Base::merge ( mixed $src , mixed $diff )
}

Tabla de contenidos

  • XMLDiff\Memory::diff — Diff two XML documents
  • XMLDiff\Memory::merge — Produce merged XML document
XMLDiff\DOM::merge
XMLDiff\Memory::diff
XMLDiff


Diff two XML documents

XMLDiff\Memory
XMLDiff\Memory::merge
XMLDiff\Memory
PHP Manual

XMLDiff\Memory::diff

(PECL xmldiff >= 0.8.0)

XMLDiff\Memory::diff — Diff two XML documents

Descripción

public string XMLDiff\Memory::diff ( string $from , string $to )

Diff two strings containing XML documents and produce the diff information.

Parámetros

from

Source XML document.

to

Target XML document.

Valores devueltos

String with the XML document containing the diff information or NULL.

XMLDiff\Memory
XMLDiff\Memory::merge
XMLDiff\Memory


Produce merged XML document

XMLDiff\Memory::diff
XMLDiff\File
XMLDiff\Memory
PHP Manual

XMLDiff\Memory::merge

(PECL xmldiff >= 0.8.0)

XMLDiff\Memory::merge — Produce merged XML document

Descripción

public string XMLDiff\Memory::merge ( string $src , string $diff )

Create new XML document based on diffs and source document.

Parámetros

src

Source XML document.

diff

XML document containing diff information.

Valores devueltos

String with the new XML document or NULL.

XMLDiff\Memory::diff
XMLDiff\File
XMLDiff\Memory


The XMLDiff\File class

(PECL xmldiff >= 0.8.0)

Introducción

Sinopsis de la Clase

XMLDiff\File extends XMLDiff\Base {
/* Métodos */
public string diff ( string $from , string $to )
public string merge ( string $src , string $diff )
/* Métodos heredados */
public XMLDiff\Base::__construct ( string $nsname )
abstract public mixed XMLDiff\Base::diff ( mixed $from , mixed $to )
abstract public mixed XMLDiff\Base::merge ( mixed $src , mixed $diff )
}

Tabla de contenidos

  • XMLDiff\File::diff — Diff two XML files
  • XMLDiff\File::merge — Produce merged XML document
XMLDiff\Memory::merge
XMLDiff\File::diff
XMLDiff


Diff two XML files

XMLDiff\File
XMLDiff\File::merge
XMLDiff\File
PHP Manual

XMLDiff\File::diff

(PECL xmldiff >= 0.8.0)

XMLDiff\File::diff — Diff two XML files

Descripción

public string XMLDiff\File::diff ( string $from , string $to )

Diff two local XML files and produce string with the diff information.

Parámetros

from

Path to the source document.

to

Path to the target document.

Valores devueltos

String with the XML document containing the diff information or NULL.

XMLDiff\File
XMLDiff\File::merge
XMLDiff\File


Produce merged XML document

XMLDiff\File::diff
Analizador XML
XMLDiff\File
PHP Manual

XMLDiff\File::merge

(PECL xmldiff >= 0.8.0)

XMLDiff\File::merge — Produce merged XML document

Descripción

public string XMLDiff\File::merge ( string $src , string $diff )

Create new XML document based on diffs and source document.

Parámetros

src

Path to the source XML document.

diff

Path to the XML document with the diff information.

Valores devueltos

String with the new XML document or NULL.

XMLDiff\File::diff
Analizador XML
XMLDiff\File


Analizador XML

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Manejadores de eventos
  • Case Folding
  • Error Codes
  • Codificación de caracteres
  • Ejemplos
    • Ejemplo de estructura de XML
    • Ejemplo de asignación de etiquetas XML
    • Ejemplo de entidades XML externas
  • Funciones del Intérprete XML
    • utf8_decode — Convierte una cadena con los caracteres codificados ISO-8859-1 con UTF-8 a un sencillo byte ISO-8859-1
    • utf8_encode — Codifica una cadena ISO-8859-1 a UTF-8
    • xml_error_string — Obtiene la cadena de un error dado en un intérprete XML
    • xml_get_current_byte_index — Obtiene la indexación del byte actual en un intérprete XML
    • xml_get_current_column_number — Obtiene el número de columna actual para un intérprete XML
    • xml_get_current_line_number — Obtiene el número de línea actual para un intérprete XML
    • xml_get_error_code — Obtiene un código de error en un intérprete XML
    • xml_parse_into_struct — Interpreta datos XML en una estructura de array
    • xml_parse — Inicia un intérprete sobre un documento XML
    • xml_parser_create_ns — Crea un analizador XML con soporte para espacios de nombres
    • xml_parser_create — Crea un intérprete XML
    • xml_parser_free — Liberar una analizador XML
    • xml_parser_get_option — Obtiene el valor de las opciones de un intérprete XML
    • xml_parser_set_option — Configura las opciones en un intérprete XML
    • xml_set_character_data_handler — Configura el manejador de los datos de caracteres
    • xml_set_default_handler — Configura el manejador predeterminado
    • xml_set_element_handler — Configura los manejadores para los elementos de inicio y final
    • xml_set_end_namespace_decl_handler — Configura el manejador de declaración de final del namespace
    • xml_set_external_entity_ref_handler — Configura el manejador de referencia a entidades externas
    • xml_set_notation_decl_handler — Configura el manejador de declaraciones de notación
    • xml_set_object — Usa un intérprete XML Parser dentro de un objeto
    • xml_set_processing_instruction_handler — Configura el manejador de instrucciones de proceso (PI)
    • xml_set_start_namespace_decl_handler — Configura el manejador de declaración de inicio del namespace
    • xml_set_unparsed_entity_decl_handler — Configura el manejador de declaración de entidades no analizadas
XMLDiff\File::merge
Introducción
Manipulación XML


Introducción

XML (eXtensible Markup Language) es un formato de datos para el intercambio en la web de documentos estructurados. Es un estándar definido por el World Wide Web consortium (W3C). Se puede encontrar más información sobre XML y tecnologías relacionadas en » http://www.w3.org/XML/.

Esta extensión de PHP implementa el soporte para expat de James Clark en PHP. Este conjunto de herramientas permite analizar, pero no validar, documentos XML. Es compatible con tres codificaciones de caracteres fuente, también proporcionadas por PHP: US-ASCII, ISO-8859-1 y UTF-8. No está soportada UTF-16.

Esta extensión permite crear analizadores XML y luego definir gestores para los diferentes eventos XML. Cada analizador XML también tiene algunos parámetros que se pueden ajustar.

Analizador XML
Instalación/Configuración
Analizador XML


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
Analizador XML


Requerimientos

Esta extensión requiere la extensión de PHP libxml. Esto significa que también es necesario pasar la opción --enable-libxml , aunque esto se realiza implícitamente debido a que libxml está habilitada de forma predeterminada.

Esta extensión usa una capa de compatibilidad expat por defecto. También puede usarse expat,el cual puede encontrarse en » http://www.jclark.com/xml/expat.html. El Makefile que viene con expat no construye una libreria por defecto, puede utilizar esta regla para hacerlo:

libexpat.a: $(OBJS)
    ar -rc $@ $(OBJS)
    ranlib $@
Se puede encontrar un paquete RPM de expat en » http://sourceforge.net/projects/expat/.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

Esta extensión está habilitada por defecto. Se puede inhabilitar usando la siguiente opción al momento de compilar: --disable-xml

Estas funciones estan activadas por defecto, usando la libreria incluida de expat. Se puede desactivar el soporte XML con --disable-xml . Si se compila PHP como un módulo para Apache 1.3.9 o superior, PHP automaticamente usará la libreria incluida de expat desde Apache. Para no usar la libreria incluida de expat se configura PHP con --with-expat-dir=DIR , donde DIR apunta al directorio base de instalación de expat expat.

La versión de PHP para Windows tiene soporte nativo para esta extensión. No se requiere cargar extensiones adicionales para utilizar estas funciones.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

El recurso xml tal y como lo devuelve xml_parser_create() y xml_parser_create_ns() hace referencia a una instancia de intérprete xml para ser usado con las funciones provistas por esta extensión.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

XML_ERROR_NONE (integer)
XML_ERROR_NO_MEMORY (integer)
XML_ERROR_SYNTAX (integer)
XML_ERROR_NO_ELEMENTS (integer)
XML_ERROR_INVALID_TOKEN (integer)
XML_ERROR_UNCLOSED_TOKEN (integer)
XML_ERROR_PARTIAL_CHAR (integer)
XML_ERROR_TAG_MISMATCH (integer)
XML_ERROR_DUPLICATE_ATTRIBUTE (integer)
XML_ERROR_JUNK_AFTER_DOC_ELEMENT (integer)
XML_ERROR_PARAM_ENTITY_REF (integer)
XML_ERROR_UNDEFINED_ENTITY (integer)
XML_ERROR_RECURSIVE_ENTITY_REF (integer)
XML_ERROR_ASYNC_ENTITY (integer)
XML_ERROR_BAD_CHAR_REF (integer)
XML_ERROR_BINARY_ENTITY_REF (integer)
XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF (integer)
XML_ERROR_MISPLACED_XML_PI (integer)
XML_ERROR_UNKNOWN_ENCODING (integer)
XML_ERROR_INCORRECT_ENCODING (integer)
XML_ERROR_UNCLOSED_CDATA_SECTION (integer)
XML_ERROR_EXTERNAL_ENTITY_HANDLING (integer)
XML_OPTION_CASE_FOLDING (integer)
XML_OPTION_TARGET_ENCODING (integer)
XML_OPTION_SKIP_TAGSTART (integer)
XML_OPTION_SKIP_WHITE (integer)
XML_SAX_IMPL (string)
Guarda el método de implementación de SAX. Puede ser libxml o expat .
Tipos de recursos
Manejadores de eventos
Analizador XML


Manejadores de eventos

Los manejadores XML de eventos definidos son:

Manejadores XML soportados
Función PHP para configurar el manejador | Descripción del evento
xml_set_element_handler() | Los eventos de elemento se producen cada vez que el intérprete XML encuentra etiquetas de inicio o de final. Hay manejadores separados para etiquetas de inicio y final.
xml_set_character_data_handler() | Por definición los datos de caracteres es todo el contenido no marcado de los documentos XML, incluidos los espacios en blanco entre etiquetas. Tenga en cuenta que el intérprete XML no añade o elimina ningún espacio en blanco, eso depende de la aplicación (usted) decidir si el espacio en blanco es significativo.
xml_set_processing_instruction_handler() | Los programadores de PHP ya deberían estar familiarizados con las instrucciones de procesado (PI). <?php ?> es una instrucción de procesado, donde php se denomina "PI destino". El manejo de ellos es específico para cada aplicación, excepto los PI destinos que empiecen con "XML", ya que estan reservados.
xml_set_default_handler() | Lo que no va a otro manejador va al manejador predeterminado. En el controlador predeterminado se obtendran cosas como el XML y las declaraciones de tipo de documento.
xml_set_unparsed_entity_decl_handler() | Este manejador será llamado para la declaración de una entidad no analizada (NDATA).
xml_set_notation_decl_handler() | Este manejador es llamado para la declaración de una notación.
xml_set_external_entity_ref_handler() | Este manejador es llamado cuando el intérprete XML encuentra una referencia a una entidad general externa analizada. Por ejemplo puede ser una referencia a un fichero o una URL. Ver el ejemplo de entidad externa para una demostración.
xml_set_start_namespace_decl_handler() | Este manejador es llamado al principio de una declaración de namespace.
xml_set_end_namespace_decl_handler() | Este manejador es llamado al fin de un espacio de una declaración de namespace. Tenga en cuenta que este evento NO es bajo LibXML.

Constantes predefinidas
Case Folding
Analizador XML


Case Folding

Las funciones manejadoras de elementos pueden obtener sus nombres de elementos "case-folded". Case folding se define como "un proceso aplicado a una secuencia de caracteres", en el cual aquellos que son identificados como no-mayúsculas son reemplazados por sus equivalentes en mayúsculas". En otras palabras, cuando se trata de XML, case folding simplemente significa poner en mayúsculas.

Por defecto, todos los nombres de elementos que son pasados al manejador de funciones son pasados a mayúsculas. Este comportamiento puede ser consultado y controlado por el intérprete XML mediante las funciones xml_parser_get_option() y xml_parser_set_option() respectivamente.

Manejadores de eventos
Error Codes
Analizador XML


Error Codes

Las siguientes constantes se definen para códigos de error XML (como los que devuelve xml_parse ()):

  • XML_ERROR_NONE
  • XML_ERROR_NO_MEMORY
  • XML_ERROR_SYNTAX
  • XML_ERROR_NO_ELEMENTS
  • XML_ERROR_INVALID_TOKEN
  • XML_ERROR_UNCLOSED_TOKEN
  • XML_ERROR_PARTIAL_CHAR
  • XML_ERROR_TAG_MISMATCH
  • XML_ERROR_DUPLICATE_ATTRIBUTE
  • XML_ERROR_JUNK_AFTER_DOC_ELEMENT
  • XML_ERROR_PARAM_ENTITY_REF
  • XML_ERROR_UNDEFINED_ENTITY
  • XML_ERROR_RECURSIVE_ENTITY_REF
  • XML_ERROR_ASYNC_ENTITY
  • XML_ERROR_BAD_CHAR_REF
  • XML_ERROR_BINARY_ENTITY_REF
  • XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF
  • XML_ERROR_MISPLACED_XML_PI
  • XML_ERROR_UNKNOWN_ENCODING
  • XML_ERROR_INCORRECT_ENCODING
  • XML_ERROR_UNCLOSED_CDATA_SECTION
  • XML_ERROR_EXTERNAL_ENTITY_HANDLING

Case Folding
Codificación de caracteres
Analizador XML


Codificación de caracteres

La extensión de PHP XML es compatible con el conjunto de caracteres » Unicode a través de diferentes codificaciones de caracteres. Hay dos tipos de codificaciones de caracteres: la codificación fuente y la codificación de destino. La representación interna de PHP del documento está siempre codificada con UTF-8.

La codificación fuente se hace cuando un documento XML es analizado. Una vez creado un intérprete XML, la codificación fuente puede ser especificada (esta codificación no puede ser cambiada más adelante en la vida del intérprete XML). Las codificaciones fuente soportadas son ISO-8859-1, US-ASCII y UTF-8. Las dos primeras son codificaciones de un solo byte, lo cual significa que cada caracter se representa por un solo byte. UTF-8 puede codificar caracteres compuestos por un número variable de bits (hasta 21) de uno a cuatro bytes. La codificación fuente por defecto usada por PHP es ISO-8859-1.

La codificación de destino se hace cuando PHP pasa datos al controlador XML de funciones. Cuando un intérprete XML se ha creado, la codificación de destino se establece igual que la que tenga la codificación fuente, pero esta puede ser cambiada en cualquier punto. La codificación de destino afectará a los caracteres de los datos como también a los nombres de etiquetas y las intrucciones de procesamiento de destino.

Si el intérprete XML encuentra caracteres fuera de rango que su codificación fuente es capaz de representar, devolverá un error.

Si PHP encuentra caracteres en el documento XML analizado que no pueden ser representados en la codificación de destino escogida, los caracteres problemáticos seran "degradados". Actualmente esto significa que tales caracteres seran reemplazados por un signo de interrogación.

Error Codes
Ejemplos
Analizador XML


Ejemplos

Tabla de contenidos

  • Ejemplo de estructura de XML
  • Ejemplo de asignación de etiquetas XML
  • Ejemplo de entidades XML externas
Codificación de caracteres
Ejemplo de estructura de XML
Analizador XML


Ejemplo de estructura de XML

Este primer ejemplo muestra la estructura de los elementos en un documento con indentación.

Ejemplo #1 Mostrar la estructura de elementos XML

<?php
$file = "data.xml";
$depth = array();

function startElement($parser, $name, $attrs)
{
    global $depth;
    for ($i = 0; $i < $depth[$parser]; $i++) {
        echo "  ";
    }
    echo "$name\n";
    $depth[$parser]++;
}

function endElement($parser, $name)
{
    global $depth;
    $depth[$parser]--;
}

$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
if (!($fp = fopen($file, "r"))) {
    die("could not open XML input");
}

while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {
        die(sprintf("XML error: %s at line %d",
                    xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}
xml_parser_free($xml_parser);
?>

Ejemplos
Ejemplo de asignación de etiquetas XML
Ejemplos


Ejemplo de asignación de etiquetas XML

Ejemplo #1 Asignar XML a HTML

Este ejemplo asigna las etiquetas en un documento XML directamente a etiquetas HTML. Los elementos que no sean encontrados en el "map array" son ignorados. Por supuesto, este ejemplo solo funcionará con un tipo específico de documento XML.

<?php
$file = "data.xml";
$map_array = array(
    "BOLD"     => "B",
    "EMPHASIS" => "I",
    "LITERAL"  => "TT"
);

function startElement($parser, $name, $attrs)
{
    global $map_array;
    if (isset($map_array[$name])) {
        echo "<$map_array[$name]>";
    }
}

function endElement($parser, $name)
{
    global $map_array;
    if (isset($map_array[$name])) {
        echo "</$map_array[$name]>";
    }
}

function characterData($parser, $data)
{
    echo $data;
}

$xml_parser = xml_parser_create();
// use case-folding so we are sure to find the tag in $map_array
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, true);
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
if (!($fp = fopen($file, "r"))) {
    die("could not open XML input");
}

while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {
        die(sprintf("XML error: %s at line %d",
                    xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}
xml_parser_free($xml_parser);
?>

Ejemplo de estructura de XML
Ejemplo de entidades XML externas
Ejemplos


Ejemplo de entidades XML externas

Este ejemplo resalta el código XML. Muestra como usar un gestor de referencia de entidades externas para incluir y analizar otros documentos, así como cuantos PIs pueden ser procesados, y una manera de determinar "confianza" para PIs que contienen código.

Los documentos XML que pueden ser usados para este ejemplo se pueden encontrar debajo del código del ejemplo (xmltest.xml y xmltest2.xml.)

Ejemplo #1 Ejemplo de entidades XML externas

<?php
$file = "xmltest.xml";

function trustedFile($file)
{
    // only trust local files owned by ourselves
    if (!preg_match("@^([a-z]+)\:\/\/@i", $file)
        && fileowner($file) == getmyuid()) {
            return true;
    }
    return false;
}

function startElement($parser, $name, $attribs)
{
    echo "&lt;<font color=\"#0000cc\">$name</font>";
    if (count($attribs)) {
        foreach ($attribs as $k => $v) {
            echo " <font color=\"#009900\">$k</font>=\"<font
                   color=\"#990000\">$v</font>\"";
        }
    }
    echo "&gt;";
}

function endElement($parser, $name)
{
    echo "&lt;/<font color=\"#0000cc\">$name</font>&gt;";
}

function characterData($parser, $data)
{
    echo "<b>$data</b>";
}

function PIHandler($parser, $target, $data)
{
    switch (strtolower($target)) {
        case "php":
            global $parser_file;
            // If the parsed document is "trusted", we say it is safe
            // to execute PHP code inside it.  If not, display the code
            // instead.
            if (trustedFile($parser_file[$parser])) {
                eval($data);
            } else {
                printf("Untrusted PHP code: <i>%s</i>",
                        htmlspecialchars($data));
            }
            break;
    }
}

function defaultHandler($parser, $data)
{
    if (substr($data, 0, 1) == "&" && substr($data, -1, 1) == ";") {
        printf('<font color="#aa00aa">%s</font>',
                htmlspecialchars($data));
    } else {
        printf('<font size="-1">%s</font>',
                htmlspecialchars($data));
    }
}

function externalEntityRefHandler($parser, $openEntityNames, $base, $systemId,
                                  $publicId) {
    if ($systemId) {
        if (!list($parser, $fp) = new_xml_parser($systemId)) {
            printf("Could not open entity %s at %s\n", $openEntityNames,
                   $systemId);
            return false;
        }
        while ($data = fread($fp, 4096)) {
            if (!xml_parse($parser, $data, feof($fp))) {
                printf("XML error: %s at line %d while parsing entity %s\n",
                       xml_error_string(xml_get_error_code($parser)),
                       xml_get_current_line_number($parser), $openEntityNames);
                xml_parser_free($parser);
                return false;
            }
        }
        xml_parser_free($parser);
        return true;
    }
    return false;
}

function new_xml_parser($file)
{
    global $parser_file;

    $xml_parser = xml_parser_create();
    xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, 1);
    xml_set_element_handler($xml_parser, "startElement", "endElement");
    xml_set_character_data_handler($xml_parser, "characterData");
    xml_set_processing_instruction_handler($xml_parser, "PIHandler");
    xml_set_default_handler($xml_parser, "defaultHandler");
    xml_set_external_entity_ref_handler($xml_parser, "externalEntityRefHandler");

    if (!($fp = @fopen($file, "r"))) {
        return false;
    }
    if (!is_array($parser_file)) {
        settype($parser_file, "array");
    }
    $parser_file[$xml_parser] = $file;
    return array($xml_parser, $fp);
}

if (!(list($xml_parser, $fp) = new_xml_parser($file))) {
    die("could not open XML input");
}

echo "<pre>";
while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {
        die(sprintf("XML error: %s at line %d\n",
                    xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}
echo "</pre>";
echo "parse complete\n";
xml_parser_free($xml_parser);

?>

Ejemplo #2 xmltest.xml

<?xml version='1.0'?>
<!DOCTYPE chapter SYSTEM "/just/a/test.dtd" [
<!ENTITY plainEntity "FOO entity">
<!ENTITY systemEntity SYSTEM "xmltest2.xml">
]>
<chapter>
 <TITLE>Title &plainEntity;</TITLE>
 <para>
  <informaltable>
   <tgroup cols="3">
    <tbody>
     <row><entry>a1</entry><entry morerows="1">b1</entry><entry>c1</entry></row>
     <row><entry>a2</entry><entry>c2</entry></row>
     <row><entry>a3</entry><entry>b3</entry><entry>c3</entry></row>
    </tbody>
   </tgroup>
  </informaltable>
 </para>
 &systemEntity;
 <section id="about">
  <title>About this Document</title>
  <para>
   <!-- this is a comment -->
   <?php echo 'Hi!  This is PHP version ' . phpversion(); ?>
  </para>
 </section>
</chapter>

Este fichero se incluye desde xmltest.xml:

Ejemplo #3 xmltest2.xml

<?xml version="1.0"?>
<!DOCTYPE foo [
<!ENTITY testEnt "test entity">
]>
<foo>
   <element attrib="value"/>
   &testEnt;
   <?php echo "This is some more PHP code being executed."; ?>
</foo>

Ejemplo de asignación de etiquetas XML
Funciones del Intérprete XML
Ejemplos


Funciones del Intérprete XML

Tabla de contenidos

  • utf8_decode — Convierte una cadena con los caracteres codificados ISO-8859-1 con UTF-8 a un sencillo byte ISO-8859-1
  • utf8_encode — Codifica una cadena ISO-8859-1 a UTF-8
  • xml_error_string — Obtiene la cadena de un error dado en un intérprete XML
  • xml_get_current_byte_index — Obtiene la indexación del byte actual en un intérprete XML
  • xml_get_current_column_number — Obtiene el número de columna actual para un intérprete XML
  • xml_get_current_line_number — Obtiene el número de línea actual para un intérprete XML
  • xml_get_error_code — Obtiene un código de error en un intérprete XML
  • xml_parse_into_struct — Interpreta datos XML en una estructura de array
  • xml_parse — Inicia un intérprete sobre un documento XML
  • xml_parser_create_ns — Crea un analizador XML con soporte para espacios de nombres
  • xml_parser_create — Crea un intérprete XML
  • xml_parser_free — Liberar una analizador XML
  • xml_parser_get_option — Obtiene el valor de las opciones de un intérprete XML
  • xml_parser_set_option — Configura las opciones en un intérprete XML
  • xml_set_character_data_handler — Configura el manejador de los datos de caracteres
  • xml_set_default_handler — Configura el manejador predeterminado
  • xml_set_element_handler — Configura los manejadores para los elementos de inicio y final
  • xml_set_end_namespace_decl_handler — Configura el manejador de declaración de final del namespace
  • xml_set_external_entity_ref_handler — Configura el manejador de referencia a entidades externas
  • xml_set_notation_decl_handler — Configura el manejador de declaraciones de notación
  • xml_set_object — Usa un intérprete XML Parser dentro de un objeto
  • xml_set_processing_instruction_handler — Configura el manejador de instrucciones de proceso (PI)
  • xml_set_start_namespace_decl_handler — Configura el manejador de declaración de inicio del namespace
  • xml_set_unparsed_entity_decl_handler — Configura el manejador de declaración de entidades no analizadas
Ejemplo de entidades XML externas
utf8_decode
Analizador XML


Convierte una cadena con los caracteres codificados ISO-8859-1 con UTF-8 a un sencillo byte ISO-8859-1

Funciones del Intérprete XML
utf8_encode
Funciones del Intérprete XML
PHP Manual

utf8_decode

(PHP 4, PHP 5)

utf8_decode — Convierte una cadena con los caracteres codificados ISO-8859-1 con UTF-8 a un sencillo byte ISO-8859-1

Descripción

string utf8_decode ( string $data )

Ésta función decodifica los data, asumidos a ser codificados por UTF-8, a ISO-8859-1.

Parámetros

data

Una cadena codificada UTF-8.

Valores devueltos

Devuelve la traducción ISO-8859-1 de los data.

Ver también

  • utf8_encode() - Codifica una cadena ISO-8859-1 a UTF-8 (contiene una explicación de la codificación UTF-8)

Funciones del Intérprete XML
utf8_encode
Funciones del Intérprete XML


Codifica una cadena ISO-8859-1 a UTF-8

utf8_decode
xml_error_string
Funciones del Intérprete XML
PHP Manual

utf8_encode

(PHP 4, PHP 5)

utf8_encode — Codifica una cadena ISO-8859-1 a UTF-8

Descripción

string utf8_encode ( string $data )

Ésta función codifica la cadena de los data a UTF-8, y devuelve una versión codificada. UTF-8 es una mecanismo estándarusado por Unicode para la codificación de los valores de wide character dentro de una corriete del byte. UTF-8 es transparente para planear caracteres ASCII, es auto-sincronizada (significa que es posible para un programa averiguar donde empiezan los caracteres de la corriente de byte) y puede ser usada con las función de comparación normal para ordenar y otros. PHP codifica los caracteres UTF-8 sobre los cuatro bytes, así:

UTF-8 encoding
bytes | bits | representation
1 | 7 | 0bbbbbbb
2 | 11 | 110bbbbb 10bbbbbb
3 | 16 | 1110bbbb 10bbbbbb 10bbbbbb
4 | 21 | 11110bbb 10bbbbbb 10bbbbbb 10bbbbbb
Cada b representa un bit que puede ser usado para almacenar los caracteres de datos.

Parámetros

data

Una cadena ISO-8859-1.

Valores devueltos

Devuelve la traducción UTF-8 de los data.

utf8_decode
xml_error_string
Funciones del Intérprete XML


Obtiene la cadena de un error dado en un intérprete XML

utf8_encode
xml_get_current_byte_index
Funciones del Intérprete XML
PHP Manual

xml_error_string

(PHP 4, PHP 5)

xml_error_string — Obtiene la cadena de un error dado en un intérprete XML

Descripción

string xml_error_string ( int $code )

Obtiene la cadena asociada a un error code dado en un intérprete XML.

Parámetros

code

Código de error como el obtenido desde xml_get_error_code().

Valores devueltos

Devuelve un string con una descripción textual del error code, o FALSE si no se ha encontrado una descripción asociada a ese código de error.

Ver también

  • xml_get_error_code() - Obtiene un código de error en un intérprete XML

utf8_encode
xml_get_current_byte_index
Funciones del Intérprete XML


Obtiene la indexación del byte actual en un intérprete XML

xml_error_string
xml_get_current_column_number
Funciones del Intérprete XML
PHP Manual

xml_get_current_byte_index

(PHP 4, PHP 5)

xml_get_current_byte_index — Obtiene la indexación del byte actual en un intérprete XML

Descripción

int xml_get_current_byte_index ( resource $parser )

Obtiene la indexación del byte actual en un intérprete XML dado.

Parámetros

parser

Identificador del recurso del intérprete XML sobre el que se va a obtener la indexación del byte actual.

Valores devueltos

Devuelve cual es la indexación del byte en el que se haya actualmente el intérprete en el buffer de datos (empieza siendo 0), o devuelve FALSE si parser no se refiere a un intérprete válido.

Notas

Advertencia

Esta función devuelve la indexación de bytes de acuerdo a la codificación de texto UTF-8 texto sin tener en cuenta si la entrada está en otra codificación.

Ver también

  • xml_get_current_column_number() - Obtiene el número de columna actual para un intérprete XML
  • xml_get_current_line_number() - Obtiene el número de línea actual para un intérprete XML

xml_error_string
xml_get_current_column_number
Funciones del Intérprete XML


Obtiene el número de columna actual para un intérprete XML

xml_get_current_byte_index
xml_get_current_line_number
Funciones del Intérprete XML
PHP Manual

xml_get_current_column_number

(PHP 4, PHP 5)

xml_get_current_column_number — Obtiene el número de columna actual para un intérprete XML

Descripción

int xml_get_current_column_number ( resource $parser )

Obtiene el número de columna actual para el intérprete XML dado.

Parámetros

parser

Identificador del recurso del intérprete XML sobre el que se va a obtener el número de columna.

Valores devueltos

Devuelve el número de columna en la línea actual (como la dada de xml_get_current_line_number()) en la que se haya el intérprete en el buffer de datos, o devuelve FALSE si parser no se refiere a un intérprete válido.

Ver también

  • xml_get_current_byte_index() - Obtiene la indexación del byte actual en un intérprete XML
  • xml_get_current_line_number() - Obtiene el número de línea actual para un intérprete XML

xml_get_current_byte_index
xml_get_current_line_number
Funciones del Intérprete XML


Obtiene el número de línea actual para un intérprete XML

xml_get_current_column_number
xml_get_error_code
Funciones del Intérprete XML
PHP Manual

xml_get_current_line_number

(PHP 4, PHP 5)

xml_get_current_line_number — Obtiene el número de línea actual para un intérprete XML

Descripción

int xml_get_current_line_number ( resource $parser )

Obtiene el número de línea actual para el intérprete XML dado.

Parámetros

parser

Identificador del recurso del intérprete XML sobre el que se va a obtener el número de línea.

Valores devueltos

Devuelve el número de línea en el que se haya el intérprete actualmente en el buffer de datos, o devuelve FALSE si parser no se refiere a un intérprete válido.

Ver también

  • xml_get_current_column_number() - Obtiene el número de columna actual para un intérprete XML
  • xml_get_current_byte_index() - Obtiene la indexación del byte actual en un intérprete XML

xml_get_current_column_number
xml_get_error_code
Funciones del Intérprete XML


Obtiene un código de error en un intérprete XML

xml_get_current_line_number
xml_parse_into_struct
Funciones del Intérprete XML
PHP Manual

xml_get_error_code

(PHP 4, PHP 5)

xml_get_error_code — Obtiene un código de error en un intérprete XML

Descripción

int xml_get_error_code ( resource $parser )

Obtiene un código de error dado en un intérprete XML.

Parámetros

parser

Identificador del recurso del intérprete XML sobre el que se va a obtener el valor de la opción.

Valores devueltos

Esta función devuelve FALSE si parser no se refiere a un intérprete válido, si no devuelve un error de la lista: error codes section.

Ver también

  • xml_error_string() - Obtiene la cadena de un error dado en un intérprete XML

xml_get_current_line_number
xml_parse_into_struct
Funciones del Intérprete XML


Interpreta datos XML en una estructura de array

xml_get_error_code
xml_parse
Funciones del Intérprete XML
PHP Manual

xml_parse_into_struct

(PHP 4, PHP 5)

xml_parse_into_struct — Interpreta datos XML en una estructura de array

Descripción

int xml_parse_into_struct ( resource $parser , string $data , array &$values [, array &$index ] )

Esta función interpreta una cadena XML en dos estructuras paralelas de array, una (index) que contiene punteros a la ubicación de los valores adecuados en el array values. Estos dos últimos parámetros deben ser pasados por referencia.

Parámetros

parser

Una referencia para el interprete de XML.

data

Una cadena que contiene los datos XML.

values

Un array que contiene los valores de los datos XML.

index

Un array que contiene apuntadores hacia la ubicación de los valores apropiados en $values.

Valores devueltos

xml_parse_into_struct() retorna 0 cuando falla y 1 si es exitoso. Esto no es lo mismo que FALSE y TRUE, tener cuidado con operadores tales como ===.

Ejemplos

A continuación se muestra un ejemplo que ilustra la estructura interna de los arrays que se generan por la función. Se usa una etiqueta simple note incrustada dentro de una etiqueta para y entonces esto se interpreta y se muestran las estructuras generadas:

Ejemplo #1 Ejemplo de xml_parse_into_struct()

<?php
$simple = "<para><note>Nota Simple</note></para>";
$p = xml_parser_create();
xml_parse_into_struct($p, $simple, $vals, $index);
xml_parser_free($p);
echo "Index array\n";
print_r($index);
echo "\nVals array\n";
print_r($vals);
?>

Cuando se ejecuta este código, la salida será:

Index array
Array
(
    [PARA] => Array
        (
            [0] => 0
            [1] => 2
        )

    [NOTE] => Array
        (
            [0] => 1
        )

)

Vals array
Array
(
    [0] => Array
        (
            [tag] => PARA
            [type] => open
            [level] => 1
        )

    [1] => Array
        (
            [tag] => NOTE
            [type] => complete
            [level] => 2
            [value] => simple note
        )

    [2] => Array
        (
            [tag] => PARA
            [type] => close
            [level] => 1
        )

)

El análisis por eventos (basado en la biblioteca expat) puede ser más complicado cuando se tiene un documento XML que es complejo. Esta función no produce un objeto de estilo DOM, pero genera estructuras susceptibles de ser transversionadas en forma de árbol. Por lo tanto, se pueden crear objetos que representan los datos en el archivo XML con facilidad. Considere el siguiente archivo XML que representa una pequeña base de datos con información de aminoácidos:

Ejemplo #2 moldb.xml - pequeña base de datos de información molecular

<?xml version="1.0"?>
<moldb>

  <molecule>
      <name>Alanine</name>
      <symbol>ala</symbol>
      <code>A</code>
      <type>hydrophobic</type>
  </molecule>

  <molecule>
      <name>Lysine</name>
      <symbol>lys</symbol>
      <code>K</code>
      <type>charged</type>
  </molecule>

</moldb>
Y algo de código para interpretar el documento y generar los objetos adecuados:

Ejemplo #3 parsemoldb.php - interpreta moldb.xml dentro de un array de objetos moleculares

<?php

class AminoAcid {
    var $name;  // nombre aa
    var $symbol;    // símbolo de tres letras
    var $code;  // código de una letra
    var $type;  // hidrofóbico, cargado or neutral

    function AminoAcid ($aa)
    {
        foreach ($aa as $k=>$v)
            $this->$k = $aa[$k];
    }
}

function readDatabase($filename)
{
    // read the XML database of aminoacids
    $data = implode("", file($filename));
    $parser = xml_parser_create();
    xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
    xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
    xml_parse_into_struct($parser, $data, $values, $tags);
    xml_parser_free($parser);

    // repetir a través de las extructuras
    foreach ($tags as $key=>$val) {
        if ($key == "molecule") {
            $molranges = $val;
            // cada par contiguo de netradas de array son los
            // rangos altos y bajos para cada definición de molécula
            for ($i=0; $i < count($molranges); $i+=2) {
                $offset = $molranges[$i] + 1;
                $len = $molranges[$i + 1] - $offset;
                $tdb[] = parseMol(array_slice($values, $offset, $len));
            }
        } else {
            continue;
        }
    }
    return $tdb;
}

function parseMol($mvalues)
{
    for ($i=0; $i < count($mvalues); $i++) {
        $mol[$mvalues[$i]["tag"]] = $mvalues[$i]["value"];
    }
    return new AminoAcid($mol);
}

$db = readDatabase("moldb.xml");
echo "** Database of AminoAcid objects:\n";
print_r($db);

?>
Después de ejecutar parsemoldb.php, la variable $db contiene un array de objetos de AminoAcid y la salida del script confirma que:
** Base de datos de objetos AminoÁcidos:
Array
(
    [0] => Objeto aminoácido
        (
            [name] => Alanine
            [symbol] => ala
            [code] => A
            [type] => hydrophobic
        )

    [1] => Objeto aminoácido
        (
            [name] => Lysine
            [symbol] => lys
            [code] => K
            [type] => charged
        )

)

xml_get_error_code
xml_parse
Funciones del Intérprete XML


Inicia un intérprete sobre un documento XML

xml_parse_into_struct
xml_parser_create_ns
Funciones del Intérprete XML
PHP Manual

xml_parse

(PHP 4, PHP 5)

xml_parse — Inicia un intérprete sobre un documento XML

Descripción

int xml_parse ( resource $parser , string $data [, bool $is_final = false ] )

xml_parse() analiza un documento XML. Los manejadores para los eventos configurados son llamados tantas veces como sea necesario.

Parámetros

parser

Identificador del recurso del intérprete XML que se va a usar.

data

Conjunto de información que se analizará. Un documento puede ser analizado por trozos llamando varias veces con nuevos trozos a xml_parse(), siempre que se establezca el parámetro is_final y sea TRUE cuando el último dato sea analizado.

is_final

Si existe y es TRUE, data es el último fragmento de datos enviados en este intérprete.

Valores devueltos

Devuelve 1 si el análisis se realiza con éxito o 0 en caso de error.

Para análisis fallidos, se puede recuperar información del error con
   xml_get_error_code(),
   xml_error_string(),
   xml_get_current_line_number(),
   xml_get_current_column_number() and
   xml_get_current_byte_index().

Nota:

Los errores de entidades son reportados al final de los datos, solo si is_final existe y es TRUE.

xml_parse_into_struct
xml_parser_create_ns
Funciones del Intérprete XML


Crea un analizador XML con soporte para espacios de nombres

xml_parse
xml_parser_create
Funciones del Intérprete XML
PHP Manual

xml_parser_create_ns

(PHP 4 >= 4.0.5, PHP 5)

xml_parser_create_ns — Crea un analizador XML con soporte para espacios de nombres

Descripción

resource xml_parser_create_ns ([ string $encoding [, string $separator = ':' ]] )

xml_parser_create_ns() crea un nuevo analizador XML con soporte para espacios de nombres XML y devuelve un gestor de recurso que hace referencia al mismo, para poder utilizarlo con las demás funciones de XML.

Parámetros

encoding

El parámetro opcional encoding especifica la codificación de caracteres para la entrada y salida en PHP4. A partir de PHP5, la codificación de entrada es detectada automáticamente, así que el parámetro encoding especifica sólo la codificación de salida. En PHP 4, la codificación de salida predeterminada es la misma que la del juego de caracteres de la entrada. En PHP 5.0.0 y 5.0.1, el juego de caracteres predeterminado es ISO-8859-1, mientras que en PHP 5.0.2 y posterior es UTF-8. Las codificaciones soportadas son ISO-8859-1, UTF-8 y US-ASCII.

separator

Con un analizador que tiene en cuenta los espacios de nombres, los parámetros de etiquetas pasados a las diferentes funciones gestoras consistirán en el espacio de nombres y el nombre de la etiqueta separado por el string especificado en separator.

Valores devueltos

Devuelve un gestor de recurso para el nuevo analizador XML.

Ver también

  • xml_parser_create() - Crea un intérprete XML
  • xml_parser_free() - Liberar una analizador XML

xml_parse
xml_parser_create
Funciones del Intérprete XML


Crea un intérprete XML

xml_parser_create_ns
xml_parser_free
Funciones del Intérprete XML
PHP Manual

xml_parser_create

(PHP 4, PHP 5)

xml_parser_create — Crea un intérprete XML

Descripción

resource xml_parser_create ([ string $encoding ] )

xml_parser_create() crea un nuevo intérprete XML y devuelve un identificador del recurso al que hace referencia, para ser usado por otras funciones XML.

Parámetros

encoding

El parámetro opcional encoding especifica la codificación de caracteres para entrada y salida en PHP4. A partir de PHP5, la codificación de entrada se detecta automaticamente, así que el parámetro encoding especifica solo la codificación de salida. En PHP 4, la codificación por defecto de salida es la misma que la del juego de caracteres de la entrada. Si se le pasa una cadena vacia, el intérprete intenta identificar cual es la codificación del documento mirando los 3 o 4 primeros bytes. En PHP 5.0.0 y 5.0.1, el juego de caracteres por defecto es ISO-8859-1, mientras que en PHP 5.0.2 y superior es UTF-8. Las codificaciones soportadas son ISO-8859-1, UTF-8 y US-ASCII.

Valores devueltos

Devuelve un identificador del recurso para el nuevo intérprete XML.

Ver también

  • xml_parser_create_ns() - Crea un analizador XML con soporte para espacios de nombres
  • xml_parser_free() - Liberar una analizador XML

xml_parser_create_ns
xml_parser_free
Funciones del Intérprete XML


Liberar una analizador XML

xml_parser_create
xml_parser_get_option
Funciones del Intérprete XML
PHP Manual

xml_parser_free

(PHP 4, PHP 5)

xml_parser_free — Liberar una analizador XML

Descripción

bool xml_parser_free ( resource $parser )

Liberar el parser XML dado.

Parámetros

parser
Una referencia a el analizador a liberar.

Valores devueltos

Ésta función devuelve FALSE si parser no refiere a un analizador valido, o sino lo libera al analizador y devuelve TRUE.

xml_parser_create
xml_parser_get_option
Funciones del Intérprete XML


Obtiene el valor de las opciones de un intérprete XML

xml_parser_free
xml_parser_set_option
Funciones del Intérprete XML
PHP Manual

xml_parser_get_option

(PHP 4, PHP 5)

xml_parser_get_option — Obtiene el valor de las opciones de un intérprete XML

Descripción

mixed xml_parser_get_option ( resource $parser , int $option )

Obtiene el valor de una opción de un intérprete XML.

Parámetros

parser
Identificador del recurso del intéprete XML sobre el que se va a obtener el valor de la opción.
option
Indica cual es la opción para ir a buscar. Estan disponibles XML_OPTION_CASE_FOLDING y XML_OPTION_TARGET_ENCODING. Para su descripción ver xml_parser_set_option() .

Valores devueltos

Devuelve el valor de la opción. Puede devolver FALSE si: parser no se refiere a un intérprete válido o si option no es válido, también generará un E_WARNING en ambos casos.

xml_parser_free
xml_parser_set_option
Funciones del Intérprete XML


Configura las opciones en un intérprete XML

xml_parser_get_option
xml_set_character_data_handler
Funciones del Intérprete XML
PHP Manual

xml_parser_set_option

(PHP 4, PHP 5)

xml_parser_set_option — Configura las opciones en un intérprete XML

Descripción

bool xml_parser_set_option ( resource $parser , int $option , mixed $value )

Configura una opción en un intérprete XML.

Parámetros

parser

Identificador del recurso del intérprete XML sobre el que se va a configurar el valor de la opción.

option

Cual es la opción para configurar. Véase más abajo.

Estan disponibles las siguientes opciones:

Opciones del intérprete XML
Option constant | Data type | Description
XML_OPTION_CASE_FOLDING | integer | Controla si case-folding está activada para este intérprete XML. Por defecto activado.
XML_OPTION_SKIP_TAGSTART | integer | Especifica el número de caracteres que seran omitidos al principio del nombre de una etiqueta.
XML_OPTION_SKIP_WHITE | integer | Especifica si hay que omitir los valores que consistan en espacios en blanco.
XML_OPTION_TARGET_ENCODING | string | Configura cual será el target encoding (codificación de caracteres de salida) para usar en este intérprete XML. Por defecto se establece la misma codificación de la fuente fuente usada por xml_parser_create(). Las codificaciones de destino soportadas son ISO-8859-1, US-ASCII y UTF-8.

value

El nuevo valor para la opción.

Valores devueltos

Devuelve TRUE si se ha establecido el nuevo valor para la opción. Puede devolver FALSE si: parser no se refiere a un intérprete válido, o si la opción no se ha podido configurar.

xml_parser_get_option
xml_set_character_data_handler
Funciones del Intérprete XML


Configura el manejador de los datos de caracteres

xml_parser_set_option
xml_set_default_handler
Funciones del Intérprete XML
PHP Manual

xml_set_character_data_handler

(PHP 4, PHP 5)

xml_set_character_data_handler — Configura el manejador de los datos de caracteres

Descripción

bool xml_set_character_data_handler ( resource $parser , callable $handler )

Configura la función del manejador de los datos de caracteres para el intérprete XML parser.

Parámetros

parser

Identificador del recurso del intérprete XML para el que se va a configurar la función del manejador de datos de caracteres.

handler

handler es un string que contiene el nombre de una función que debe existir cuando xml_parse() es llamado por parser.

La función llamada mediante handler debe aceptar dos parámetros:

handler ( resource $parser , string $data )
parser
El primer parámetro, parser, hace referencia al intérprete XML que llama al manejador.
data
El segundo parámetro, data, contiene los datos de caracteres como un string.

El manejador de datos de caracteres es llamado para cada pieza de un texto en el documento XML. Puede ser llamado multiples veces dentro de cada fragmento (por ejemplo, para strings que no son ASCII).

Si la función del manejador se configura como una cadena vacia, o FALSE, el manejador en cuestión se deshabilita.

Nota: En lugar del nombre de una función, se puede asignar un array que contenga la referencia a un objeto o el nombre de un método.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

xml_parser_set_option
xml_set_default_handler
Funciones del Intérprete XML


Configura el manejador predeterminado

xml_set_character_data_handler
xml_set_element_handler
Funciones del Intérprete XML
PHP Manual

xml_set_default_handler

(PHP 4, PHP 5)

xml_set_default_handler — Configura el manejador predeterminado

Descripción

bool xml_set_default_handler ( resource $parser , callable $handler )

Configura la función del manejador predeterminado para el intérprete XML parser.

Parámetros

parser

Identificador del recurso del intérprete XML para el que se va a configurar la función del manejador predeterminado.

handler

handler es un string que contiene el nombre de una función que debe existir cuando xml_parse() es llamado por parser.

La función llamada mediante handler debe aceptar dos parámetros:

handler ( resource $parser , string $data )
parser
El primer parámetro, parser, hace referencia al intérprete XML que llama al manejador.
data
El segundo parámetro, data, contiene los datos de carateres. Esto puede ser la declaración XML, las declaraciones DOCTYPE, entidades u otros datos para los cuales no exista otro manejador.

Si la función del manejador se configura como una cadena vacia, o FALSE, el manejador en cuestión se deshabilita.

Nota: En lugar del nombre de una función, se puede asignar un array que contenga la referencia a un objeto o el nombre de un método.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

xml_set_character_data_handler
xml_set_element_handler
Funciones del Intérprete XML


Configura los manejadores para los elementos de inicio y final

xml_set_default_handler
xml_set_end_namespace_decl_handler
Funciones del Intérprete XML
PHP Manual

xml_set_element_handler

(PHP 4, PHP 5)

xml_set_element_handler — Configura los manejadores para los elementos de inicio y final

Descripción

bool xml_set_element_handler ( resource $parser , callable $start_element_handler , callable $end_element_handler )

Configura las funciones de los manejadores de elementos. start_element_handler y end_element_handler son strings que contienen los nombres de funciones que deben existir cuando xml_parse() sea llamado por parser.

Parámetros

parser

Identificador del recurso del intérprete XML para el que se van a configurar las funciones del manejador de elementos de inicio y final.

start_element_handler

La función llamada mediante start_element_handler debe aceptar tres parámetros:

start_element_handler ( resource $parser , string $name , array $attribs )
parser
El primer parámetro, parser, hace referencia al intérprete XML que llama al manejador.
name
El segundo parámetro, name, contiene el nombre del elemento por el cual el manejador es llamado. Si case-folding está activado para este intérprete, el elemento name estará en letras mayúsculas.
attribs
El tercer parámetroattribs, contiene un array asociativo con los atributos del elemento (si hay alguno). Las claves de este array son los nombres de atributo, los valores son los valores de los atributos. Los nombres de los atributos están en mayúsculas case-folded siguiendo el mismo criterio que los nombres de los elementos. Los valores de los atributos no sufren las consecuencias de case-folding. El orden original de los atributos puede ser recuperado recorriendo attribs de manera normal, usando each(). La primera clave en el array es el primer atributo, y así sucesivamente.

Nota: En lugar del nombre de una función, se puede asignar un array que contenga la referencia a un objeto o el nombre de un método.

end_element_handler

La función llamada mediante end_element_handler debe aceptar dos parámetros:

end_element_handler ( resource $parser , string $name )
parser
El primer parámetro, parser, hace referencia al intérprete XML que llama al manejador.
name
El segundo parámetro, name, contiene el nombre del elemento por el cual el manejador es llamado. Si case-folding está activado para este intérprete, el elemento name estará en letras mayúsculas.

Si la función del manejador se configura como una cadena vacia, o FALSE, el manejador en cuestión se deshabilita.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

xml_set_default_handler
xml_set_end_namespace_decl_handler
Funciones del Intérprete XML


Configura el manejador de declaración de final del namespace

xml_set_element_handler
xml_set_external_entity_ref_handler
Funciones del Intérprete XML
PHP Manual

xml_set_end_namespace_decl_handler

(PHP 4 >= 4.0.5, PHP 5)

xml_set_end_namespace_decl_handler — Configura el manejador de declaración de final del namespace

Descripción

bool xml_set_end_namespace_decl_handler ( resource $parser , callable $handler )

Configura un manejador para ser llamado cuando se salga del alcance de una declaración de namespace. Se llamará por cada declaración de namespace, después del manejador de etiqueta final del elemento en el cual el namespace fue declarado.

Parámetros

parser

Identificador del recurso del intérprete XML.

handler

handler es una cadena que contiene el nombre de una función que debe existir cuando xml_parse() es llamado por parser.

La función llamada mediante handler debe aceptar dos parámetros, y deberia devolver un número entero. Si el valor devuelto desde el manejador es FALSE (lo cual ocurrirá si no se devulve un valor), el intérprete XML detendrá el analizado y xml_get_error_code() devolverá XML_ERROR_EXTERNAL_ENTITY_HANDLING.

handler ( resource $parser , string $prefix )
parser
El primer parámetro, parser, es una referencia al intérprete XML que llama al manejador.
prefix
El prefijo es una cadena que se utiliza para hacer referencia al namespace dentro de un objeto XML.

Si la función del manejador se configura como una cadena vacía, o FALSE, el manejador en cuestión es deshabilitado.

Nota: En lugar del nombre de una función, se puede asignar un array que contenga la referencia a un objeto o el nombre de un método.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota:

Este evento no es soportado bajo LibXML.

Ver también

  • xml_set_start_namespace_decl_handler() - Configura el manejador de declaración de inicio del namespace

xml_set_element_handler
xml_set_external_entity_ref_handler
Funciones del Intérprete XML


Configura el manejador de referencia a entidades externas

xml_set_end_namespace_decl_handler
xml_set_notation_decl_handler
Funciones del Intérprete XML
PHP Manual

xml_set_external_entity_ref_handler

(PHP 4, PHP 5)

xml_set_external_entity_ref_handler — Configura el manejador de referencia a entidades externas

Descripción

bool xml_set_external_entity_ref_handler ( resource $parser , callable $handler )

Configura la función del manejador de referencia a entidades externas para el intérprete XML parser.

Parámetros

parser

Identificador del recurso del intérprete XML para el que se va a configurar la función del manejador de referencia a entidades externas

handler

handler es un string que contiene el nombre de una función que debe existir cuando xml_parse() es llamado por parser.

La función llamada mediante handler debe aceptar cinco parámetros, y deberia devolver un número entero. Si el valor devuelto desde el manejador es FALSE (lo cual ocurrirá si no se devulve un valor), el intérprete XML detendrá el analizado y xml_get_error_code() devolverá XML_ERROR_EXTERNAL_ENTITY_HANDLING.

handler ( resource $parser , string $open_entity_names , string $base , string $system_id , string $public_id )
parser
El primer parámetro, parser, hace referencia al intérprete XML que llama al manejador.
open_entity_names
El segundo parámetro, open_entity_names, es una lista separada por espacios de los nombres de las entidades que estan abiertas para el análisis de esta entidad (incluyendo el nombre de la entidad referenciada).
base
Esta es la base para resolver el identificador de sistema (system_id) de la declaración de notación. Actualmente este parámetro siempre se establecerá como una cadena vacia.
system_id
El cuarto parámetro, system_id, es el identificador de sistema tal como se especifica en la declaración de entidad.
public_id
El quinto parámetro, public_id, es el identificador público tal como se especifica en la declaración de entidad, o una cadena vacia si no se habia especificado; en el identificador público el espacio en blanco se habrá normalizado como lo requerido mediante las especificaciones XML.

Si la función del manejador se configura como una cadena vacia, o FALSE, el manejador en cuestión se deshabilita.

Nota: En lugar del nombre de una función, se puede asignar un array que contenga la referencia a un objeto o el nombre de un método.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

xml_set_end_namespace_decl_handler
xml_set_notation_decl_handler
Funciones del Intérprete XML


Configura el manejador de declaraciones de notación

xml_set_external_entity_ref_handler
xml_set_object
Funciones del Intérprete XML
PHP Manual

xml_set_notation_decl_handler

(PHP 4, PHP 5)

xml_set_notation_decl_handler — Configura el manejador de declaraciones de notación

Descripción

bool xml_set_notation_decl_handler ( resource $parser , callable $handler )

Configura la función del manejador de declaraciones de notación (NOTATION) para el intérprete XML parser.

Una declaración de notación es parte del DTD del documento y tiene el siguiente formato:

<!NOTATION <parameter>name</parameter>
      { <parameter>systemId</parameter> | <parameter>publicId</parameter>?>
Para la definición de declaraciones de notación ver » sección 4.7 de las especificaciones XML 1.0 .

Parámetros

parser

Identificador del recurso del intérprete XML para el que se va a configurar la función del manejador de declaración de notación.

handler

handler es un string que contiene el nombre de una función que debe existir cuando xml_parse() es llamado por parser.

La función llamada mediante handler debe aceptar cinco parámetros:

handler ( resource $parser , string $notation_name , string $base , string $system_id , string $public_id )
parser
El primer parámetro, parser, hace referencia al intérprete XML que llama al manejador.
notation_name
Esto es el name de la notación, como se describió arriba en el formato de notación.
base
Esta es la base para resolver el identificador de sistema (system_id) de la declaración de notación. Actualmente este parámetro siempre se establecerá como una cadena vacia.
system_id
Identificador de sistema de la declaración de notación externa.
public_id
Identificador público de la declaración de notación externa.

Si la función del manejador se configura como una cadena vacia, o FALSE, el manejador en cuestión se deshabilita.

Nota: En lugar del nombre de una función, se puede asignar un array que contenga la referencia a un objeto o el nombre de un método.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

xml_set_external_entity_ref_handler
xml_set_object
Funciones del Intérprete XML


Usa un intérprete XML Parser dentro de un objeto

xml_set_notation_decl_handler
xml_set_processing_instruction_handler
Funciones del Intérprete XML
PHP Manual

xml_set_object

(PHP 4, PHP 5)

xml_set_object — Usa un intérprete XML Parser dentro de un objeto

Descripción

bool xml_set_object ( resource $parser , object &$object )

Esta función permite usar parser dentro de object. Todas las funciones de retorno se podrian establecer con xml_set_element_handler(), etc y asumirlas como métodos de object.

Parámetros

parser

Identificador del recurso del intérprete XML para usar dentro del objeto.

object

El objeto donde usar el intérprete XML.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo xml_set_object()

<?php
class xml  {
    var $parser;

    function xml()
    {
        $this->parser = xml_parser_create();

        xml_set_object($this->parser, $this);
        xml_set_element_handler($this->parser, "tag_open", "tag_close");
        xml_set_character_data_handler($this->parser, "cdata");
    }

    function parse($data)
    {
        xml_parse($this->parser, $data);
    }

    function tag_open($parser, $tag, $attributes)
    {
        var_dump($parser, $tag, $attributes);
    }

    function cdata($parser, $cdata)
    {
        var_dump($parser, $cdata);
    }

    function tag_close($parser, $tag)
    {
        var_dump($parser, $tag);
    }

} // end of class xml

$xml_parser = new xml();
$xml_parser->parse("<A ID='hallo'>PHP</A>");
?>

xml_set_notation_decl_handler
xml_set_processing_instruction_handler
Funciones del Intérprete XML


Configura el manejador de instrucciones de proceso (PI)

xml_set_object
xml_set_start_namespace_decl_handler
Funciones del Intérprete XML
PHP Manual

xml_set_processing_instruction_handler

(PHP 4, PHP 5)

xml_set_processing_instruction_handler — Configura el manejador de instrucciones de proceso (PI)

Descripción

bool xml_set_processing_instruction_handler ( resource $parser , callable $handler )

Configura la función del manejador de instrucciones de proceso para el intérprete XML. parser.

Una instrucción de proceso tiene el siguiente formato:

<?
target data
?>
Se puede poner código PHP dentro de esa etiqueta, pero ser consciente de una limitación: en un XML PI, la etiqueta de cierre PI tag (?>) no puede ser entrecomillada, por lo que esta secuencia de caracteres no deberia aparecer en el código PHP embebido con PIs en documentos XML. Si esto sucede, el resto del código PHP, así como la etiqueta de cierre de PI "real", serán tratados como datos de caracteres.

Parámetros

parser

Identificador del recurso del intérprete XML para el que se va a configurar la función del manejador de instrucción de proceso.

handler

handler es un string que contiene el nombre de una función que debe existir cuando xml_parse() es llamado por parser.

La función llamada mediante handler debe aceptar tres parámetros:

handler ( resource $parser , string $target , string $data )
parser
El primer parámetro, parser, hace referencia al intérprete XML que llama al manejador.
target
El segundo parámetro, target, contiene el PI destino.
data
El tercer parámetro, data, contiene los datos del PI

Si la función del manejador se configura como una cadena vacia, o FALSE, el manejador en cuestión se deshabilita.

Nota: En lugar del nombre de una función, se puede asignar un array que contenga la referencia a un objeto o el nombre de un método.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

xml_set_object
xml_set_start_namespace_decl_handler
Funciones del Intérprete XML


Configura el manejador de declaración de inicio del namespace

xml_set_processing_instruction_handler
xml_set_unparsed_entity_decl_handler
Funciones del Intérprete XML
PHP Manual

xml_set_start_namespace_decl_handler

(PHP 4 >= 4.0.5, PHP 5)

xml_set_start_namespace_decl_handler — Configura el manejador de declaración de inicio del namespace

Descripción

bool xml_set_start_namespace_decl_handler ( resource $parser , callable $handler )

Configura un manejador para ser llamado cuando un namespace es declarado. La declaración de namespace ocurre dentro de las etiquetas de inicio. Sin embargo, el manejador inicial de declaración del namespace es llamado antes del manejador de etiqueta inicial para cada namespace declarado en esa etiqueta de inicio.

Parámetros

parser

Identificador del recurso del intérprete XML.

handler

handler es una cadena que contiene el nombre de una función que debe existir cuando xml_parse() es llamado por parser.

La función llamada mediante handler debe aceptar tres parámetros, y deberia devolver un número entero. Si el valor devuelto desde el manejador es FALSE (lo cual ocurrirá si no se devulve un valor), el intérprete XML detendrá el analizado y xml_get_error_code() devolverá XML_ERROR_EXTERNAL_ENTITY_HANDLING.

handler ( resource $parser , string $prefix , string $uri )
parser
El primer parámetro, parser, es una referencia al intérprete XML que llama al manejador.
prefix
El prefijo es una cadena que se utiliza para hacer referencia al namespace dentro de un objeto XML.
uri
Identificador de Recurso Uniforme (URI, por sus siglas en inglés) del namespace.

Si una función del manejador se configura como una cadena vacía, o FALSE, el manejador en cuestión es deshabilitado.

Nota: En lugar del nombre de una función, se puede asignar un array que contenga la referencia a un objeto o el nombre de un método.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • xml_set_end_namespace_decl_handler() - Configura el manejador de declaración de final del namespace

xml_set_processing_instruction_handler
xml_set_unparsed_entity_decl_handler
Funciones del Intérprete XML


Configura el manejador de declaración de entidades no analizadas

xml_set_start_namespace_decl_handler
XMLReader
Funciones del Intérprete XML
PHP Manual

xml_set_unparsed_entity_decl_handler

(PHP 4, PHP 5)

xml_set_unparsed_entity_decl_handler — Configura el manejador de declaración de entidades no analizadas

Descripción

bool xml_set_unparsed_entity_decl_handler ( resource $parser , callable $handler )

Configura la función del manejador de declaración de entidades no analizadas para el intérprete XML parser.

El handler será llamado si el intérprete XML encuentra una declaración de entidad externa con una declaración NDATA, como la siguiente:

<!ENTITY <parameter>name</parameter> {<parameter>publicId</parameter> | <parameter>systemId</parameter>}
        NDATA <parameter>notationName</parameter>

Para la definición de notación de NDATA ver » sección 4.2.2 de las especificaciones XML 1.0.

Parámetros

parser

Identificador del recurso del intérprete XML para el que se va a configurar la función del manejador de declaración de entidades no analizadas.

handler

handler es un string que contiene el nombre de una función que debe existir cuando xml_parse() es llamado por parser.

La función llamada mediante handler debe aceptar seis parámetros:

handler ( resource $parser , string $entity_name , string $base , string $system_id , string $public_id , string $notation_name )
parser
El primer parámetro, parser, hace referencia al intérprete XML que llama al manejador.
entity_name
El nombre de la entidad que está a punto de definirse.
base
Esta es la base para resolver el identificador de sistema (system_id) de la declaración de notación. Actualmente este parámetro siempre se establecerá como una cadena vacia.
system_id
Identificador de sistema de la declaración de notación externa.
public_id
Identificador público de la declaración de notación externa.
notation_name
Nombre de la notación de esta entidad (ver xml_set_notation_decl_handler()).

Si la función del manejador se configura como una cadena vacia, o FALSE, el manejador en cuestión se deshabilita.

Nota: En lugar del nombre de una función, se puede asignar un array que contenga la referencia a un objeto o el nombre de un método.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

xml_set_start_namespace_decl_handler
XMLReader
Funciones del Intérprete XML


XMLReader

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • XMLReader — The XMLReader class
    • XMLReader::close — Cierra la entrada del XMLReader
    • XMLReader::expand — Devuelve una copia del actual nodo como un objeto DOM
    • XMLReader::getAttribute — Obtiener el valor del atributo nombrado
    • XMLReader::getAttributeNo — Obtiene el valor de un atributo por el indice
    • XMLReader::getAttributeNs — Obtiene el valor de un atributo por su nombre local y URI
    • XMLReader::getParserProperty — Indica si la porpiedad especificada ha sido establecida
    • XMLReader::isValid — Indica si el documento analizado es válido
    • XMLReader::lookupNamespace — Busca el namespace para un prefijo
    • XMLReader::moveToAttribute — Mueve el cursor a un atributo nombrado
    • XMLReader::moveToAttributeNo — Mueve el cursor a un atributo por su índice
    • XMLReader::moveToAttributeNs — Mover el cursor a un atributo dado
    • XMLReader::moveToElement — Posiciona el cursor en el eleménto padre del actual atributo
    • XMLReader::moveToFirstAttribute — Posiciona el cursor en el primer atributo
    • XMLReader::moveToNextAttribute — Posiciona el cursor en el siguiente atributo
    • XMLReader::next — Mueve el cursor al siguiente nodo saltandose todos los subárboles
    • XMLReader::open — Establece el URI conteniendo el XML a analizar
    • XMLReader::read — Se mueve al siguiente nodo en el documento
    • XMLReader::readInnerXML — Recupera el XML del actual nodo
    • XMLReader::readOuterXML — Recupera el XML del actual nodo, incluyendo él mismo
    • XMLReader::readString — Lee el contenido del nodo actual como string
    • XMLReader::setParserProperty — Establecer las opciones del analizador
    • XMLReader::setRelaxNGSchema — Establece el nomb re del archivo o el URI para un esquema RelaxNG
    • XMLReader::setRelaxNGSchemaSource — Establece los datos contenidos en un esquema RelaxNG
    • XMLReader::setSchema — Valida el documento en contra del XSD
    • XMLReader::XML — Establece el contenido del XML a analizar
xml_set_unparsed_entity_decl_handler
Introducción
Manipulación XML


Introducción

La extensión XMLReader es un analizador de XML. El lector actúa como un cursor yendo hacia delante en el flujo del documento y deteniéndose en cada nodo del camino.

Codificación

Es importante observar que, internamente, libxml usa la codificación UTF-8, y por lo tanto, la codificación de los contenidos recuperados estará siempre en la codificación UTF-8.

XMLReader
Instalación/Configuración
XMLReader


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
XMLReader


Instalación

La extensión XMLReader inicialmente era una extensión PECL para PHP 5. Posteriormente se movió al código fuente de PHP a partir de PHP 5.1.0, y se habilitó de forma predeterminada a partir de PHP 5.1.2.

Esta extensión está habilitada por defecto. Se puede inhabilitar usando la siguiente opción al momento de compilar: --disable-xmlreader

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Configuración en tiempo de ejecución
XMLReader
Instalación/Configuración


The XMLReader class

(PHP 5 >= 5.1.0)

Introducción

La extensión XMLReader es un analizador de XML. El lector actúa como un cursor yendo hacia adelante en la corriente del documento y deteniéndose en cada nodo del camino.

Sinopsis de la Clase

XMLReader {
/* Constantes */
const int NONE = 0 ;
const int ELEMENT = 1 ;
const int ATTRIBUTE = 2 ;
const int TEXT = 3 ;
const int CDATA = 4 ;
const int ENTITY_REF = 5 ;
const int ENTITY = 6 ;
const int PI = 7 ;
const int COMMENT = 8 ;
const int DOC = 9 ;
const int DOC_TYPE = 10 ;
const int DOC_FRAGMENT = 11 ;
const int NOTATION = 12 ;
const int WHITESPACE = 13 ;
const int SIGNIFICANT_WHITESPACE = 14 ;
const int END_ELEMENT = 15 ;
const int END_ENTITY = 16 ;
const int XML_DECLARATION = 17 ;
const int LOADDTD = 1 ;
const int DEFAULTATTRS = 2 ;
const int VALIDATE = 3 ;
const int SUBST_ENTITIES = 4 ;
/* Propiedades */
public readonly int $attributeCount ;
public readonly string $baseURI ;
public readonly int $depth ;
public readonly bool $hasAttributes ;
public readonly bool $hasValue ;
public readonly bool $isDefault ;
public readonly bool $isEmptyElement ;
public readonly string $localName ;
public readonly string $name ;
public readonly string $namespaceURI ;
public readonly int $nodeType ;
public readonly string $prefix ;
public readonly string $value ;
public readonly string $xmlLang ;
/* Métodos */
public bool close ( void )
public DOMNode expand ([ DOMNode $basenode ] )
public string getAttribute ( string $name )
public string getAttributeNo ( int $index )
public string getAttributeNs ( string $localName , string $namespaceURI )
public bool getParserProperty ( int $property )
public bool isValid ( void )
public bool lookupNamespace ( string $prefix )
public bool moveToAttribute ( string $name )
public bool moveToAttributeNo ( int $index )
public bool moveToAttributeNs ( string $localName , string $namespaceURI )
public bool moveToElement ( void )
public bool moveToFirstAttribute ( void )
public bool moveToNextAttribute ( void )
public bool next ([ string $localname ] )
public bool open ( string $URI [, string $encoding [, int $options = 0 ]] )
public bool read ( void )
public string readInnerXML ( void )
public string readOuterXML ( void )
public string readString ( void )
public bool setParserProperty ( int $property , bool $value )
public bool setRelaxNGSchema ( string $filename )
public bool setRelaxNGSchemaSource ( string $source )
public bool setSchema ( string $filename )
public bool xml ( string $source [, string $encoding [, int $options = 0 ]] )
}

Propiedades

attributeCount

El número de atributos en el nodo

baseURI

La base URI del nodo

depth

La profundidad del nodo en el árbol, empezando en 0

hasAttributes

Indica si el nodo tiene atributos

hasValue

Indica si el nodo tiene un valor de texto

isDefault

Indica si el atributo está por defecto del DTD

isEmptyElement

Indica si el nodo es un elemento vacio de etiqueta

localName

El nombre local del nodo

name

El nombre calificado del nodo

namespaceURI

El URI del namespace asociado con el nodo

nodeType

El tipo de nodo para el nodo

prefix

El prefijo del namespace asociado con el nodo

value

El valor de texto del nodo

xmlLang

El xml: El lang scope el cual el nodo reside

Constantes predefinidas

XMLReader Node Types

XMLReader::NONE

Sin tipo de nodo

XMLReader::ELEMENT

Empieza el eleménto

XMLReader::ATTRIBUTE

El atributo del nodo

XMLReader::TEXT

El nodo de texto

XMLReader::CDATA

El CDATA del nodo

XMLReader::ENTITY_REF

La entidad de refencia del nodo

XMLReader::ENTITY

La entidad de declaración del nodo

XMLReader::PI

La instrucción de proceso del nodo

XMLReader::COMMENT

El comentario del nodo

XMLReader::DOC

El documento del nodo

XMLReader::DOC_TYPE

El tipo de documento del nodo

XMLReader::DOC_FRAGMENT

El fragmento del documento del nodo

XMLReader::NOTATION

La notación del nodo

XMLReader::WHITESPACE

El espacio en blanco del nodo

XMLReader::SIGNIFICANT_WHITESPACE

El espacio en blanco significante del nodo

XMLReader::END_ELEMENT

El fin del eleménto

XMLReader::END_ENTITY

La entidad final

XMLReader::XML_DECLARATION

La declaración XML del nodo

XMLReader Parser Options

XMLReader::LOADDTD

Carga el DTD pero no lo valida

XMLReader::DEFAULTATTRS

Carga el DTD y los atributos por defecto pero no los valida

XMLReader::VALIDATE

Carga el DTD y valida el analizado en blanco

XMLReader::SUBST_ENTITIES

Substituye las entidades y expande las referencias

Tabla de contenidos

  • XMLReader::close — Cierra la entrada del XMLReader
  • XMLReader::expand — Devuelve una copia del actual nodo como un objeto DOM
  • XMLReader::getAttribute — Obtiener el valor del atributo nombrado
  • XMLReader::getAttributeNo — Obtiene el valor de un atributo por el indice
  • XMLReader::getAttributeNs — Obtiene el valor de un atributo por su nombre local y URI
  • XMLReader::getParserProperty — Indica si la porpiedad especificada ha sido establecida
  • XMLReader::isValid — Indica si el documento analizado es válido
  • XMLReader::lookupNamespace — Busca el namespace para un prefijo
  • XMLReader::moveToAttribute — Mueve el cursor a un atributo nombrado
  • XMLReader::moveToAttributeNo — Mueve el cursor a un atributo por su índice
  • XMLReader::moveToAttributeNs — Mover el cursor a un atributo dado
  • XMLReader::moveToElement — Posiciona el cursor en el eleménto padre del actual atributo
  • XMLReader::moveToFirstAttribute — Posiciona el cursor en el primer atributo
  • XMLReader::moveToNextAttribute — Posiciona el cursor en el siguiente atributo
  • XMLReader::next — Mueve el cursor al siguiente nodo saltandose todos los subárboles
  • XMLReader::open — Establece el URI conteniendo el XML a analizar
  • XMLReader::read — Se mueve al siguiente nodo en el documento
  • XMLReader::readInnerXML — Recupera el XML del actual nodo
  • XMLReader::readOuterXML — Recupera el XML del actual nodo, incluyendo él mismo
  • XMLReader::readString — Lee el contenido del nodo actual como string
  • XMLReader::setParserProperty — Establecer las opciones del analizador
  • XMLReader::setRelaxNGSchema — Establece el nomb re del archivo o el URI para un esquema RelaxNG
  • XMLReader::setRelaxNGSchemaSource — Establece los datos contenidos en un esquema RelaxNG
  • XMLReader::setSchema — Valida el documento en contra del XSD
  • XMLReader::XML — Establece el contenido del XML a analizar
Tipos de recursos
XMLReader::close
XMLReader


Cierra la entrada del XMLReader

XMLReader
XMLReader::expand
XMLReader
PHP Manual

XMLReader::close

(PHP 5 >= 5.1.0)

XMLReader::close — Cierra la entrada del XMLReader

Descripción

public bool XMLReader::close ( void )

Cierra la entrada del objeto XMLReader que es actualmente análizado.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLReader::open() - Establece el URI conteniendo el XML a analizar
  • XMLReader::xml() - Establece el contenido del XML a analizar

XMLReader
XMLReader::expand
XMLReader


Devuelve una copia del actual nodo como un objeto DOM

XMLReader::close
XMLReader::getAttribute
XMLReader
PHP Manual

XMLReader::expand

(PHP 5 >= 5.1.0)

XMLReader::expand — Devuelve una copia del actual nodo como un objeto DOM

Descripción

public DOMNode XMLReader::expand ([ DOMNode $basenode ] )

Éste metodo copia el nodo actual y devuelve el apropiado objeto DOM.

Valores devueltos

El resultante DOMNode o FALSE en caso de error.

XMLReader::close
XMLReader::getAttribute
XMLReader


Obtiener el valor del atributo nombrado

XMLReader::expand
XMLReader::getAttributeNo
XMLReader
PHP Manual

XMLReader::getAttribute

(PHP 5 >= 5.1.0)

XMLReader::getAttribute — Obtiener el valor del atributo nombrado

Descripción

public string XMLReader::getAttribute ( string $name )

Devuelve el valor del atributo nombrado o NULL si el atributo no existe o no está posicionado en un eleménto del nodo.

Parámetros

name

El nombre del atributo.

Valores devueltos

El valor del atributo, o NULL si no se encuetra un atributo con el nombre dado por name o no está posicionado en un nodo de elemento.

Historial de cambios

Versión | Descripción
5.1.3 | Devuelve NULL si no se encuentra ningún atributo. Antes, devolvía una cadena de texto vacía.

Ver también

  • XMLReader::getAttributeNo() - Obtiene el valor de un atributo por el indice
  • XMLReader::getAttributeNs() - Obtiene el valor de un atributo por su nombre local y URI

XMLReader::expand
XMLReader::getAttributeNo
XMLReader


Obtiene el valor de un atributo por el indice

XMLReader::getAttribute
XMLReader::getAttributeNs
XMLReader
PHP Manual

XMLReader::getAttributeNo

(PHP 5 >= 5.1.0)

XMLReader::getAttributeNo — Obtiene el valor de un atributo por el indice

Descripción

public string XMLReader::getAttributeNo ( int $index )

Devuelve el valor de un atributo basado en su posición o una cadena vacia si el atributo no existe o no está posicionado en un eleménto del nodo.

Parámetros

index

La posición del atributo.

Valores devueltos

El valor del atributo, o una cadena vacia si el atributo no existe en el index o no está posicionado en el eleménto.

Ver también

  • XMLReader::getAttribute() - Obtiener el valor del atributo nombrado
  • XMLReader::getAttributeNs() - Obtiene el valor de un atributo por su nombre local y URI

XMLReader::getAttribute
XMLReader::getAttributeNs
XMLReader


Obtiene el valor de un atributo por su nombre local y URI

XMLReader::getAttributeNo
XMLReader::getParserProperty
XMLReader
PHP Manual

XMLReader::getAttributeNs

(PHP 5 >= 5.1.0)

XMLReader::getAttributeNs — Obtiene el valor de un atributo por su nombre local y URI

Descripción

public string XMLReader::getAttributeNs ( string $localName , string $namespaceURI )

Devuelve el valor de un atributo por su nombre y URI del namespace o una cadena vacia si el atributo no existe o no está posicionado en el eleménto.

Parámetros

localName

El nombre local.

namespaceURI

El URI del namespace.

Valores devueltos

El valor del atributo, o una cadena vacia si ningun atributo con el localName dado y el namespaceURI es encontrado o no está posicionado en el eleménto.

Ver también

  • XMLReader::getAttribute() - Obtiener el valor del atributo nombrado
  • XMLReader::getAttributeNo() - Obtiene el valor de un atributo por el indice

XMLReader::getAttributeNo
XMLReader::getParserProperty
XMLReader


Indica si la porpiedad especificada ha sido establecida

XMLReader::getAttributeNs
XMLReader::isValid
XMLReader
PHP Manual

XMLReader::getParserProperty

(PHP 5 >= 5.1.0)

XMLReader::getParserProperty — Indica si la porpiedad especificada ha sido establecida

Descripción

public bool XMLReader::getParserProperty ( int $property )

Indica si la porpiedad especificada ha sido establecida.

Parámetros

property

Una de las constantes analizadoras de opción.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLReader::setParserProperty() - Establecer las opciones del analizador

XMLReader::getAttributeNs
XMLReader::isValid
XMLReader


Indica si el documento analizado es válido

XMLReader::getParserProperty
XMLReader::lookupNamespace
XMLReader
PHP Manual

XMLReader::isValid

(PHP 5 >= 5.1.0)

XMLReader::isValid — Indica si el documento analizado es válido

Descripción

public bool XMLReader::isValid ( void )

Devuelve un booleano indicando si el documento siendo analizado es actualmente válido.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Validando el XML

<?php
$xml = XMLReader::open('test.xml');

// Se debe usar
$xml->setParserProperty(XMLReader::VALIDATE, true);

var_dump($xml->isValid());
?>

Ver también

  • XMLReader::setParserProperty() - Establecer las opciones del analizador
  • XMLReader::setRelaxNGSchema() - Establece el nomb re del archivo o el URI para un esquema RelaxNG
  • XMLReader::setRelaxNGSchemaSource() - Establece los datos contenidos en un esquema RelaxNG
  • XMLReader::setSchema() - Valida el documento en contra del XSD

XMLReader::getParserProperty
XMLReader::lookupNamespace
XMLReader


Busca el namespace para un prefijo

XMLReader::isValid
XMLReader::moveToAttribute
XMLReader
PHP Manual

XMLReader::lookupNamespace

(PHP 5 >= 5.1.0)

XMLReader::lookupNamespace — Busca el namespace para un prefijo

Descripción

public bool XMLReader::lookupNamespace ( string $prefix )

Busca el ámbito del namespace para un prefijo dado.

Parámetros

prefix

La cadena conteniendo el prefijo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

XMLReader::isValid
XMLReader::moveToAttribute
XMLReader


Mueve el cursor a un atributo nombrado

XMLReader::lookupNamespace
XMLReader::moveToAttributeNo
XMLReader
PHP Manual

XMLReader::moveToAttribute

(PHP 5 >= 5.1.0)

XMLReader::moveToAttribute — Mueve el cursor a un atributo nombrado

Descripción

public bool XMLReader::moveToAttribute ( string $name )

Posciciona el cursor a un atributo nombrado.

Parámetros

name

El nombre del atributo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLReader::moveToElement() - Posiciona el cursor en el eleménto padre del actual atributo
  • XMLReader::moveToAttributeNo() - Mueve el cursor a un atributo por su índice
  • XMLReader::moveToAttributeNs() - Mover el cursor a un atributo dado
  • XMLReader::moveToFirstAttribute() - Posiciona el cursor en el primer atributo

XMLReader::lookupNamespace
XMLReader::moveToAttributeNo
XMLReader


Mueve el cursor a un atributo por su índice

XMLReader::moveToAttribute
XMLReader::moveToAttributeNs
XMLReader
PHP Manual

XMLReader::moveToAttributeNo

(PHP 5 >= 5.1.0)

XMLReader::moveToAttributeNo — Mueve el cursor a un atributo por su índice

Descripción

public bool XMLReader::moveToAttributeNo ( int $index )

Coloca el cursor en el atributo en función de su posición.

Parámetros

index

La posición de el atributo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLReader::moveToElement() - Posiciona el cursor en el eleménto padre del actual atributo
  • XMLReader::moveToAttribute() - Mueve el cursor a un atributo nombrado
  • XMLReader::moveToAttributeNs() - Mover el cursor a un atributo dado
  • XMLReader::moveToFirstAttribute() - Posiciona el cursor en el primer atributo

XMLReader::moveToAttribute
XMLReader::moveToAttributeNs
XMLReader


Mover el cursor a un atributo dado

XMLReader::moveToAttributeNo
XMLReader::moveToElement
XMLReader
PHP Manual

XMLReader::moveToAttributeNs

(PHP 5 >= 5.1.0)

XMLReader::moveToAttributeNs — Mover el cursor a un atributo dado

Descripción

public bool XMLReader::moveToAttributeNs ( string $localName , string $namespaceURI )

Posiciona el cursor en el atributo dado en el espacio de nombres especificado.

Parámetros

localName

El nombre local.

namespaceURI

El URI namespace.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLReader::moveToElement() - Posiciona el cursor en el eleménto padre del actual atributo
  • XMLReader::moveToAttribute() - Mueve el cursor a un atributo nombrado
  • XMLReader::moveToAttributeNo() - Mueve el cursor a un atributo por su índice
  • XMLReader::moveToFirstAttribute() - Posiciona el cursor en el primer atributo

XMLReader::moveToAttributeNo
XMLReader::moveToElement
XMLReader


Posiciona el cursor en el eleménto padre del actual atributo

XMLReader::moveToAttributeNs
XMLReader::moveToFirstAttribute
XMLReader
PHP Manual

XMLReader::moveToElement

(PHP 5 >= 5.1.0)

XMLReader::moveToElement — Posiciona el cursor en el eleménto padre del actual atributo

Descripción

public bool XMLReader::moveToElement ( void )

Posiciona el cursor en el eleménto padre del actual atributo.

Valores devueltos

Devuelve TRUE si es satisfactorio y FALSE si falla o no está posicionado en el atributo cuando éste método es llamado.

Ver también

  • XMLReader::moveToAttribute() - Mueve el cursor a un atributo nombrado
  • XMLReader::moveToAttributeNo() - Mueve el cursor a un atributo por su índice
  • XMLReader::moveToAttributeNs() - Mover el cursor a un atributo dado
  • XMLReader::moveToFirstAttribute() - Posiciona el cursor en el primer atributo

XMLReader::moveToAttributeNs
XMLReader::moveToFirstAttribute
XMLReader


Posiciona el cursor en el primer atributo

XMLReader::moveToElement
XMLReader::moveToNextAttribute
XMLReader
PHP Manual

XMLReader::moveToFirstAttribute

(PHP 5 >= 5.1.0)

XMLReader::moveToFirstAttribute — Posiciona el cursor en el primer atributo

Descripción

public bool XMLReader::moveToFirstAttribute ( void )

Mueve el cursor al primer atributo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLReader::moveToElement() - Posiciona el cursor en el eleménto padre del actual atributo
  • XMLReader::moveToAttribute() - Mueve el cursor a un atributo nombrado
  • XMLReader::moveToAttributeNo() - Mueve el cursor a un atributo por su índice
  • XMLReader::moveToAttributeNs() - Mover el cursor a un atributo dado
  • XMLReader::moveToNextAttribute() - Posiciona el cursor en el siguiente atributo

XMLReader::moveToElement
XMLReader::moveToNextAttribute
XMLReader


Posiciona el cursor en el siguiente atributo

XMLReader::moveToFirstAttribute
XMLReader::next
XMLReader
PHP Manual

XMLReader::moveToNextAttribute

(PHP 5 >= 5.1.0)

XMLReader::moveToNextAttribute — Posiciona el cursor en el siguiente atributo

Descripción

public bool XMLReader::moveToNextAttribute ( void )

Posiciona el cursor en el siguiente atributo si se encuentra en un atributo o lo mueve al primer atributo si se encuentrae un eleménto.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLReader::moveToElement() - Posiciona el cursor en el eleménto padre del actual atributo
  • XMLReader::moveToAttribute() - Mueve el cursor a un atributo nombrado
  • XMLReader::moveToAttributeNo() - Mueve el cursor a un atributo por su índice
  • XMLReader::moveToAttributeNs() - Mover el cursor a un atributo dado
  • XMLReader::moveToFirstAttribute() - Posiciona el cursor en el primer atributo

XMLReader::moveToFirstAttribute
XMLReader::next
XMLReader


Mueve el cursor al siguiente nodo saltandose todos los subárboles

XMLReader::moveToNextAttribute
XMLReader::open
XMLReader
PHP Manual

XMLReader::next

(PHP 5 >= 5.1.0)

XMLReader::next — Mueve el cursor al siguiente nodo saltandose todos los subárboles

Descripción

public bool XMLReader::next ([ string $localname ] )

Posiciona el cursor al siguiente nodo saltandose todos los subárboles.

Parámetros

localname

El nodo del siguiente nodoa mover el cursor.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLReader::moveToNextAttribute() - Posiciona el cursor en el siguiente atributo
  • XMLReader::moveToElement() - Posiciona el cursor en el eleménto padre del actual atributo
  • XMLReader::moveToAttribute() - Mueve el cursor a un atributo nombrado

XMLReader::moveToNextAttribute
XMLReader::open
XMLReader


Establece el URI conteniendo el XML a analizar

XMLReader::next
XMLReader::read
XMLReader
PHP Manual

XMLReader::open

(PHP 5 >= 5.1.0)

XMLReader::open — Establece el URI conteniendo el XML a analizar

Descripción

public bool XMLReader::open ( string $URI [, string $encoding [, int $options = 0 ]] )

Establece el URI que contiene el XML a ser analizado.

Parámetros

URI

El URI señalado para el documento.

encoding

El documento codificado o NULL.

options

Una mascara de bit de las contantes de LIBXML_*.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Si es llamado de forma estática, devuelve un XMLReader o FALSE en caso de error.

Errores/Excepciones

Este método puede ser llamado de forma estática, pero lanzará un error E_STRICT.

Historial de cambios

Versión | Descripción
5.2.0 | encoding y options fueron agregadas.

Ver también

  • XMLReader::xml() - Establece el contenido del XML a analizar
  • XMLReader::close() - Cierra la entrada del XMLReader

XMLReader::next
XMLReader::read
XMLReader


Se mueve al siguiente nodo en el documento

XMLReader::open
XMLReader::readInnerXML
XMLReader
PHP Manual

XMLReader::read

(PHP 5 >= 5.1.0)

XMLReader::read — Se mueve al siguiente nodo en el documento

Descripción

public bool XMLReader::read ( void )

Mueve el cursor al siguiente nodo en el documento.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLReader::moveToElement() - Posiciona el cursor en el eleménto padre del actual atributo
  • XMLReader::moveToAttribute() - Mueve el cursor a un atributo nombrado
  • XMLReader::next() - Mueve el cursor al siguiente nodo saltandose todos los subárboles

XMLReader::open
XMLReader::readInnerXML
XMLReader


Recupera el XML del actual nodo

XMLReader::read
XMLReader::readOuterXML
XMLReader
PHP Manual

XMLReader::readInnerXML

(PHP 5 >= 5.2.0)

XMLReader::readInnerXML — Recupera el XML del actual nodo

Descripción

public string XMLReader::readInnerXML ( void )

Lee el contenido del actual nodo, incluyendo notas pequeñas y marcado.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Returns the contents of the current node as a string. Empty string on failure.

Notas

Precaución

Esta función sólo esta disponible cuando PHP ha sido compilado con libxml 20620 o superior.

Ver también

  • XMLReader::readString() - Lee el contenido del nodo actual como string
  • XMLReader::readOuterXML() - Recupera el XML del actual nodo, incluyendo él mismo
  • XMLReader::expand() - Devuelve una copia del actual nodo como un objeto DOM

XMLReader::read
XMLReader::readOuterXML
XMLReader


Recupera el XML del actual nodo, incluyendo él mismo

XMLReader::readInnerXML
XMLReader::readString
XMLReader
PHP Manual

XMLReader::readOuterXML

(PHP 5 >= 5.2.0)

XMLReader::readOuterXML — Recupera el XML del actual nodo, incluyendo él mismo

Descripción

public string XMLReader::readOuterXML ( void )

Lee el contenido del actual nodo, incluyendo el nodo mismo.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el contenido del actual nodo, incluyendo el de él mismo, como una cadena. Cadena vacía en fallo.

Notas

Precaución

Esta función sólo esta disponible cuando PHP ha sido compilado con libxml 20620 o superior.

Ver también

  • XMLReader::readString() - Lee el contenido del nodo actual como string
  • XMLReader::readInnerXML() - Recupera el XML del actual nodo
  • XMLReader::expand() - Devuelve una copia del actual nodo como un objeto DOM

XMLReader::readInnerXML
XMLReader::readString
XMLReader


Lee el contenido del nodo actual como string

XMLReader::readOuterXML
XMLReader::setParserProperty
XMLReader
PHP Manual

XMLReader::readString

(PHP 5 >= 5.2.0)

XMLReader::readString — Lee el contenido del nodo actual como string

Descripción

public string XMLReader::readString ( void )

Lee el contenido del nodo actual como string.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el contenido del nodo actual como cadena. En caso de error devuelve una cadena vacía.

Notas

Precaución

Esta función sólo esta disponible cuando PHP ha sido compilado con libxml 20620 o superior.

Ver también

  • XMLReader::readOuterXML() - Recupera el XML del actual nodo, incluyendo él mismo
  • XMLReader::readInnerXML() - Recupera el XML del actual nodo
  • XMLReader::expand() - Devuelve una copia del actual nodo como un objeto DOM

XMLReader::readOuterXML
XMLReader::setParserProperty
XMLReader


Establecer las opciones del analizador

XMLReader::readString
XMLReader::setRelaxNGSchema
XMLReader
PHP Manual

XMLReader::setParserProperty

(PHP 5 >= 5.1.0)

XMLReader::setParserProperty — Establecer las opciones del analizador

Descripción

public bool XMLReader::setParserProperty ( int $property , bool $value )

Establece las opciones del analizador. Las opciones deben ser establecidas después de
llamar a  XMLReader::open() o
a  XMLReader::xml(), y antes
de la primera llamada a  XMLReader::read().

Parámetros

property

Una de las constantes de opción del analizador.

value

Si se establece a TRUE la opción será habilitada, de otra manera será deshabilitada.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

XMLReader::readString
XMLReader::setRelaxNGSchema
XMLReader


Establece el nomb re del archivo o el URI para un esquema RelaxNG

XMLReader::setParserProperty
XMLReader::setRelaxNGSchemaSource
XMLReader
PHP Manual

XMLReader::setRelaxNGSchema

(PHP 5 >= 5.2.0)

XMLReader::setRelaxNGSchema — Establece el nomb re del archivo o el URI para un esquema RelaxNG

Descripción

public bool XMLReader::setRelaxNGSchema ( string $filename )

Establece el nomb re del archivo o el URI para un esquema RelaxNG a usar para validación.

Parámetros

filename

El nombre del archivo o apuntador URI a un esquema RelaxNG.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLReader::setRelaxNGSchemaSource() - Establece los datos contenidos en un esquema RelaxNG
  • XMLReader::setSchema() - Valida el documento en contra del XSD
  • XMLReader::isValid() - Indica si el documento analizado es válido

XMLReader::setParserProperty
XMLReader::setRelaxNGSchemaSource
XMLReader


Establece los datos contenidos en un esquema RelaxNG

XMLReader::setRelaxNGSchema
XMLReader::setSchema
XMLReader
PHP Manual

XMLReader::setRelaxNGSchemaSource

(PHP 5 >= 5.1.0)

XMLReader::setRelaxNGSchemaSource — Establece los datos contenidos en un esquema RelaxNG

Descripción

public bool XMLReader::setRelaxNGSchemaSource ( string $source )

Establece los datos contenidos en un esquema RelaxNG a usar para validación.

Parámetros

source

SCadena que contiene el esquema RelaxNG.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLReader::setRelaxNGSchema() - Establece el nomb re del archivo o el URI para un esquema RelaxNG
  • XMLReader::setSchema() - Valida el documento en contra del XSD
  • XMLReader::isValid() - Indica si el documento analizado es válido

XMLReader::setRelaxNGSchema
XMLReader::setSchema
XMLReader


Valida el documento en contra del XSD

XMLReader::setRelaxNGSchemaSource
XMLReader::XML
XMLReader
PHP Manual

XMLReader::setSchema

(PHP 5 >= 5.2.0)

XMLReader::setSchema — Valida el documento en contra del XSD

Descripción

public bool XMLReader::setSchema ( string $filename )

Usa el esquema W3C XSD para validar el documento como es procesado. La activación solo es posible antes de la primera lectura o Read().

Parámetros

filename

El nombre del archivo del esquema XSD.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Errores/Excepciones

Las cuestiones E_WARNING si la libxml fue construida sin el esquema de soporte, el esquema contiene errores si el XMLReader::read() ya ha sido llamado.

Notas

Precaución

Esta función sólo esta disponible cuando PHP ha sido compilado con libxml 20620 o superior.

Ver también

  • XMLReader::setRelaxNGSchema() - Establece el nomb re del archivo o el URI para un esquema RelaxNG
  • XMLReader::setRelaxNGSchemaSource() - Establece los datos contenidos en un esquema RelaxNG
  • XMLReader::isValid() - Indica si el documento analizado es válido

XMLReader::setRelaxNGSchemaSource
XMLReader::XML
XMLReader


Establece el contenido del XML a analizar

XMLReader::setSchema
XMLWriter
XMLReader
PHP Manual

XMLReader::XML

(PHP 5 >= 5.1.0)

XMLReader::XML — Establece el contenido del XML a analizar

Descripción

public bool XMLReader::xml ( string $source [, string $encoding [, int $options = 0 ]] )

Establece el contenido del XML a analizar.

Parámetros

source

La cadena que contiene el XML a ser analizado.

encoding

La codificación del documento o NULL.

options

Una mascara bit de la constante LIBXML_*.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Si es llamado de forma estática, devuelve un XMLReader o FALSE en caso de error.

Errores/Excepciones

Este método puede ser llamado de forma estática, pero lanzará un error E_STRICT.

Historial de cambios

Versión | Descripción
5.2.0 | encoding ay options fueron agregados.

Ver también

  • XMLReader::open() - Establece el URI conteniendo el XML a analizar
  • XMLReader::close() - Cierra la entrada del XMLReader

XMLReader::setSchema
XMLWriter
XMLReader


XMLWriter

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de XMLWriter
    • XMLWriter::endAttribute — Fin del atributo
    • XMLWriter::endCData — Fin del actual CDATA
    • XMLWriter::endComment — Crea un comentario final
    • XMLWriter::endDocument — Finaliza el actual documento
    • XMLWriter::endDTDAttlist — Finaliza la actual attList DTD
    • XMLWriter::endDTDElement — Finaliza el actual elemento DTD
    • XMLWriter::endDTDEntity — Finaliza el actual ente DTD
    • XMLWriter::endDTD — Finaliza la actual DTD
    • XMLWriter::endElement — Finaliza el actual elemento
    • XMLWriter::endPI — Finaliza el actual IP
    • XMLWriter::flush — Vacía el búfer actual
    • XMLWriter::fullEndElement — Fin del elemento actual
    • XMLWriter::openMemory — Crea un nuevo xmlwriter usando memoria para el string de salida
    • XMLWriter::openURI — Crea un nuevo xmlwriter usando una fuente uri para la salida
    • XMLWriter::outputMemory — Devuelve el actual buffer
    • XMLWriter::setIndentString — Establece una cadena usada para la identidad
    • XMLWriter::setIndent — Cambia la sangria de encendida/apagada
    • XMLWriter::startAttributeNS — Crea el atributo de inicio del namespaced
    • XMLWriter::startAttribute — Crea un atributo inicial
    • XMLWriter::startCData — Crea la etiqueta de inicio de CDATA
    • XMLWriter::startComment — Crea un comentario inicial
    • XMLWriter::startDocument — Crea un etiqueta del documento
    • XMLWriter::startDTDAttlist — Crea el DTD AttList inicial
    • XMLWriter::startDTDElement — Crea un elemento DTD inicial
    • XMLWriter::startDTDEntity — Crea un ente DTD inicial
    • XMLWriter::startDTD — Crea la etiqueta DTD inicial
    • XMLWriter::startElementNS — Crea la etiqueta del elemento de espacio de nombres inicial
    • XMLWriter::startElement — Crea la etiqueta del elemento inicial
    • XMLWriter::startPI — Crea la etiqueta PI inicial
    • XMLWriter::text — Escribe el texto
    • XMLWriter::writeAttributeNS — Escribe un atributo full de namespaced
    • XMLWriter::writeAttribute — Escribe un atributo completo
    • XMLWriter::writeCData — Escribe una etiqueta completa del CDATA
    • XMLWriter::writeComment — EScribe la etiqueta del comentario completa
    • XMLWriter::writeDTDAttlist — Escribe la etiqueta completa del DTD AttList
    • XMLWriter::writeDTDElement — Escribe la etiqueta completa de un elemento DTD
    • XMLWriter::writeDTDEntity — Escribe una etiqueta completa de un ente DTD
    • XMLWriter::writeDTD — Escribe una etiqueta completa del DTD
    • XMLWriter::writeElementNS — Escribe una etiqueta completa del elemento
    • XMLWriter::writeElement — Escribe una etiqueta completa del elemento
    • XMLWriter::writePI — Escribe un IP
    • XMLWriter::writeRaw — Escribe un texto sin formato del XML
XMLReader::XML
Introducción
Manipulación XML


Introducción

Esta es la extensión XMLWriter. Envuelve a la API xmlWriter de libxml.

Esta extensión representa un escritor que provee medios no almacenados en caché de sólo avance para la generación de flujos o ficheros con datos XML.

Esta extensión se puede usar con el estilo orientado a objetos o con el prodecimental. Cada método documentado describe la llamada procedimental alternativa.

XMLWriter
Instalación/Configuración
XMLWriter


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
XMLWriter


Instalación

La extensión XMLWriter inicialmente era una extensión PECL para PHP 5. Posteriormente se añadió al código fuente de PHP a partir de PHP 5.1.2. Esta extensión está habilitada de forma predeterminada.

Esta extensión está habilitada por defecto. Se puede inhabilitar usando la siguiente opción al momento de compilar: --disable-xmlwriter

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

Hay un recurso usado por la versión procedimental de la extensión XMLWriter: el devuelto por xmlwriter_open_memory() o xmlwriter_open_uri().

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tipos de recursos
Funciones de XMLWriter
XMLWriter


Funciones de XMLWriter

Tabla de contenidos

  • XMLWriter::endAttribute — Fin del atributo
  • XMLWriter::endCData — Fin del actual CDATA
  • XMLWriter::endComment — Crea un comentario final
  • XMLWriter::endDocument — Finaliza el actual documento
  • XMLWriter::endDTDAttlist — Finaliza la actual attList DTD
  • XMLWriter::endDTDElement — Finaliza el actual elemento DTD
  • XMLWriter::endDTDEntity — Finaliza el actual ente DTD
  • XMLWriter::endDTD — Finaliza la actual DTD
  • XMLWriter::endElement — Finaliza el actual elemento
  • XMLWriter::endPI — Finaliza el actual IP
  • XMLWriter::flush — Vacía el búfer actual
  • XMLWriter::fullEndElement — Fin del elemento actual
  • XMLWriter::openMemory — Crea un nuevo xmlwriter usando memoria para el string de salida
  • XMLWriter::openURI — Crea un nuevo xmlwriter usando una fuente uri para la salida
  • XMLWriter::outputMemory — Devuelve el actual buffer
  • XMLWriter::setIndentString — Establece una cadena usada para la identidad
  • XMLWriter::setIndent — Cambia la sangria de encendida/apagada
  • XMLWriter::startAttributeNS — Crea el atributo de inicio del namespaced
  • XMLWriter::startAttribute — Crea un atributo inicial
  • XMLWriter::startCData — Crea la etiqueta de inicio de CDATA
  • XMLWriter::startComment — Crea un comentario inicial
  • XMLWriter::startDocument — Crea un etiqueta del documento
  • XMLWriter::startDTDAttlist — Crea el DTD AttList inicial
  • XMLWriter::startDTDElement — Crea un elemento DTD inicial
  • XMLWriter::startDTDEntity — Crea un ente DTD inicial
  • XMLWriter::startDTD — Crea la etiqueta DTD inicial
  • XMLWriter::startElementNS — Crea la etiqueta del elemento de espacio de nombres inicial
  • XMLWriter::startElement — Crea la etiqueta del elemento inicial
  • XMLWriter::startPI — Crea la etiqueta PI inicial
  • XMLWriter::text — Escribe el texto
  • XMLWriter::writeAttributeNS — Escribe un atributo full de namespaced
  • XMLWriter::writeAttribute — Escribe un atributo completo
  • XMLWriter::writeCData — Escribe una etiqueta completa del CDATA
  • XMLWriter::writeComment — EScribe la etiqueta del comentario completa
  • XMLWriter::writeDTDAttlist — Escribe la etiqueta completa del DTD AttList
  • XMLWriter::writeDTDElement — Escribe la etiqueta completa de un elemento DTD
  • XMLWriter::writeDTDEntity — Escribe una etiqueta completa de un ente DTD
  • XMLWriter::writeDTD — Escribe una etiqueta completa del DTD
  • XMLWriter::writeElementNS — Escribe una etiqueta completa del elemento
  • XMLWriter::writeElement — Escribe una etiqueta completa del elemento
  • XMLWriter::writePI — Escribe un IP
  • XMLWriter::writeRaw — Escribe un texto sin formato del XML
Constantes predefinidas
XMLWriter::endAttribute
XMLWriter


Fin del atributo

Funciones de XMLWriter
XMLWriter::endCData
Funciones de XMLWriter
PHP Manual

XMLWriter::endAttribute

xmlwriter_end_attribute

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endAttribute -- xmlwriter_end_attribute — Fin del atributo

Descripción

Estilo orientado a objetos

bool XMLWriter::endAttribute ( void )

Estilo por procedimientos

bool xmlwriter_end_attribute ( resource $xmlwriter )

Finaliza el actual atributo.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::startAttribute() - Crea un atributo inicial
  • XMLWriter::startAttributeNS() - Crea el atributo de inicio del namespaced
  • XMLWriter::writeAttribute() - Escribe un atributo completo
  • XMLWriter::writeAttributeNS() - Escribe un atributo full de namespaced

Funciones de XMLWriter
XMLWriter::endCData
Funciones de XMLWriter


Fin del actual CDATA

XMLWriter::endAttribute
XMLWriter::endComment
Funciones de XMLWriter
PHP Manual

XMLWriter::endCData

xmlwriter_end_cdata

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endCData -- xmlwriter_end_cdata — Fin del actual CDATA

Descripción

Estilo orientado a objetos

bool XMLWriter::endCData ( void )

Estilo por procedimientos

bool xmlwriter_end_cdata ( resource $xmlwriter )

Finaliza la actual sección CDATA.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::startCData() - Crea la etiqueta de inicio de CDATA
  • XMLWriter::writeCData() - Escribe una etiqueta completa del CDATA

XMLWriter::endAttribute
XMLWriter::endComment
Funciones de XMLWriter


Crea un comentario final

XMLWriter::endCData
XMLWriter::endDocument
Funciones de XMLWriter
PHP Manual

XMLWriter::endComment

xmlwriter_end_comment

(PHP 5 >= 5.1.2, PECL xmlwriter >= 1.0.0)

XMLWriter::endComment -- xmlwriter_end_comment — Crea un comentario final

Descripción

Estilo orientado a objetos

bool XMLWriter::endComment ( void )

Estilo por procedimientos

bool xmlwriter_end_comment ( resource $xmlwriter )

Crea un comentario final.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::startComment() - Crea un comentario inicial
  • XMLWriter::writeComment() - EScribe la etiqueta del comentario completa

XMLWriter::endCData
XMLWriter::endDocument
Funciones de XMLWriter


Finaliza el actual documento

XMLWriter::endComment
XMLWriter::endDTDAttlist
Funciones de XMLWriter
PHP Manual

XMLWriter::endDocument

xmlwriter_end_document

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endDocument -- xmlwriter_end_document — Finaliza el actual documento

Descripción

Estilo orientado a objetos

bool XMLWriter::endDocument ( void )

Estilo por procedimientos

bool xmlwriter_end_document ( resource $xmlwriter )

Finaliza el actual documento.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::startDocument() - Crea un etiqueta del documento

XMLWriter::endComment
XMLWriter::endDTDAttlist
Funciones de XMLWriter


Finaliza la actual attList DTD

XMLWriter::endDocument
XMLWriter::endDTDElement
Funciones de XMLWriter
PHP Manual

XMLWriter::endDTDAttlist

xmlwriter_end_dtd_attlist

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endDTDAttlist -- xmlwriter_end_dtd_attlist — Finaliza la actual attList DTD

Descripción

Estilo orientado a objetos

bool XMLWriter::endDTDAttlist ( void )

Estilo por procedimientos

bool xmlwriter_end_dtd_attlist ( resource $xmlwriter )

Finaliza la actual attList DTD.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::startDTDAttlist() - Crea el DTD AttList inicial
  • XMLWriter::writeDTDAttlist() - Escribe la etiqueta completa del DTD AttList

XMLWriter::endDocument
XMLWriter::endDTDElement
Funciones de XMLWriter


Finaliza el actual elemento DTD

XMLWriter::endDTDAttlist
XMLWriter::endDTDEntity
Funciones de XMLWriter
PHP Manual

XMLWriter::endDTDElement

xmlwriter_end_dtd_element

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endDTDElement -- xmlwriter_end_dtd_element — Finaliza el actual elemento DTD

Descripción

Estilo orientado a objetos

bool XMLWriter::endDTDElement ( void )

Estilo por procedimientos

bool xmlwriter_end_dtd_element ( resource $xmlwriter )

Finaliza el actual elemento DTD.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::startDTDElement() - Crea un elemento DTD inicial
  • XMLWriter::writeDTDElement() - Escribe la etiqueta completa de un elemento DTD

XMLWriter::endDTDAttlist
XMLWriter::endDTDEntity
Funciones de XMLWriter


Finaliza el actual ente DTD

XMLWriter::endDTDElement
XMLWriter::endDTD
Funciones de XMLWriter
PHP Manual

XMLWriter::endDTDEntity

xmlwriter_end_dtd_entity

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endDTDEntity -- xmlwriter_end_dtd_entity — Finaliza el actual ente DTD

Descripción

Estilo orientado a objetos

bool XMLWriter::endDTDEntity ( void )

Estilo por procedimientos

bool xmlwriter_end_dtd_entity ( resource $xmlwriter )

Finaliza el actual ente DTD.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::startDTDEntity() - Crea un ente DTD inicial
  • XMLWriter::writeDTDEntity() - Escribe una etiqueta completa de un ente DTD

XMLWriter::endDTDElement
XMLWriter::endDTD
Funciones de XMLWriter


Finaliza la actual DTD

XMLWriter::endDTDEntity
XMLWriter::endElement
Funciones de XMLWriter
PHP Manual

XMLWriter::endDTD

xmlwriter_end_dtd

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endDTD -- xmlwriter_end_dtd — Finaliza la actual DTD

Descripción

Estilo orientado a objetos

bool XMLWriter::endDTD ( void )

Estilo por procedimientos

bool xmlwriter_end_dtd ( resource $xmlwriter )

Finaliza la actual DTD del documento.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::startDTD() - Crea la etiqueta DTD inicial
  • XMLWriter::writeDTD() - Escribe una etiqueta completa del DTD

XMLWriter::endDTDEntity
XMLWriter::endElement
Funciones de XMLWriter


Finaliza el actual elemento

XMLWriter::endDTD
XMLWriter::endPI
Funciones de XMLWriter
PHP Manual

XMLWriter::endElement

xmlwriter_end_element

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endElement -- xmlwriter_end_element — Finaliza el actual elemento

Descripción

Estilo orientado a objetos

bool XMLWriter::endElement ( void )

Estilo por procedimientos

bool xmlwriter_end_element ( resource $xmlwriter )

Finaliza el actual elemento.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::startElement() - Crea la etiqueta del elemento inicial
  • XMLWriter::writeElement() - Escribe una etiqueta completa del elemento

XMLWriter::endDTD
XMLWriter::endPI
Funciones de XMLWriter


Finaliza el actual IP

XMLWriter::endElement
XMLWriter::flush
Funciones de XMLWriter
PHP Manual

XMLWriter::endPI

xmlwriter_end_pi

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endPI -- xmlwriter_end_pi — Finaliza el actual IP

Descripción

Estilo orientado a objetos

bool XMLWriter::endPI ( void )

Estilo por procedimientos

bool xmlwriter_end_pi ( resource $xmlwriter )

Finaliza la actual instrucción de procesamiento.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::startPI() - Crea la etiqueta PI inicial
  • XMLWriter::writePI() - Escribe un IP

XMLWriter::endElement
XMLWriter::flush
Funciones de XMLWriter


Vacía el búfer actual

XMLWriter::endPI
XMLWriter::fullEndElement
Funciones de XMLWriter
PHP Manual

XMLWriter::flush

xmlwriter_flush

(PHP 5 >= 5.1.2, PECL xmlwriter >= 1.0.0)

XMLWriter::flush -- xmlwriter_flush — Vacía el búfer actual

Descripción

Estilo orientado a objetos

mixed XMLWriter::flush ([ bool $empty = true ] )

Estilo por procedimientos

mixed xmlwriter_flush ( resource $xmlwriter [, bool $empty = true ] )

Vacía el buffer actual.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

empty

Cuando vaciar el buffer o no. Por omisión es TRUE.

Valores devueltos

Si se abrió el documento en memoria, ésta función devolverá el buffer XML generado, Además, si se usa URI, esta función va a escribir el buffer y devolver el número de bytes escritos.

XMLWriter::endPI
XMLWriter::fullEndElement
Funciones de XMLWriter


Fin del elemento actual

XMLWriter::flush
XMLWriter::openMemory
Funciones de XMLWriter
PHP Manual

XMLWriter::fullEndElement

xmlwriter_full_end_element

(PHP 5 >= 5.2.0, PECL xmlwriter >= 2.0.4)

XMLWriter::fullEndElement -- xmlwriter_full_end_element — Fin del elemento actual

Descripción

Estilo orientado a objetos

bool XMLWriter::fullEndElement ( void )

Estilo por procedimientos

bool xmlwriter_full_end_element ( resource $xmlwriter )

Fin del elemento XML actual. Escribe una etiqueta final aun si el elemento está vacío.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::endElement() - Finaliza el actual elemento

XMLWriter::flush
XMLWriter::openMemory
Funciones de XMLWriter


Crea un nuevo xmlwriter usando memoria para el string de salida

XMLWriter::fullEndElement
XMLWriter::openURI
Funciones de XMLWriter
PHP Manual

XMLWriter::openMemory

xmlwriter_open_memory

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::openMemory -- xmlwriter_open_memory — Crea un nuevo xmlwriter usando memoria para el string de salida

Descripción

Estilo orientado a objetos

bool XMLWriter::openMemory ( void )

Estilo por procedimientos

resource xmlwriter_open_memory ( void )

Crea un nuevo XMLWriter usando memoria para el string de salida.

Parámetros

Valores devueltos

Estilo orientado a objetos: Devuelve TRUE en caso de éxito o FALSE en caso de error.

Estilo por procedimientos: Devuelve un nuevo recurso xmlwriter para luego usarlo con las funciones de xmlwriter en caso de éxito, y FALSE en caso de error.

Ver también

  • XMLWriter::openURI() - Crea un nuevo xmlwriter usando una fuente uri para la salida

XMLWriter::fullEndElement
XMLWriter::openURI
Funciones de XMLWriter


Crea un nuevo xmlwriter usando una fuente uri para la salida

XMLWriter::openMemory
XMLWriter::outputMemory
Funciones de XMLWriter
PHP Manual

XMLWriter::openURI

xmlwriter_open_uri

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::openURI -- xmlwriter_open_uri — Crea un nuevo xmlwriter usando una fuente uri para la salida

Descripción

Estilo orientado a objetos

bool XMLWriter::openURI ( string $uri )

Estilo por procedimientos

resource xmlwriter_open_uri ( string $uri )

Crea un nuevo XMLWriter usando uri para la salida.

Parámetros

uri

El recurso de URI para la salida.

Valores devueltos

Estilo orientado a objetos: Devuelve TRUE en caso de éxito o FALSE en caso de error.

Estilo por procedimientos: Devuelve un nuevo xmlwriter recurso para usarlo después con las funciones xmlwriter en caso de éxito, FALSE en caso de error.

Ver también

  • XMLWriter::openMemory() - Crea un nuevo xmlwriter usando memoria para el string de salida

XMLWriter::openMemory
XMLWriter::outputMemory
Funciones de XMLWriter


Devuelve el actual buffer

XMLWriter::openURI
XMLWriter::setIndentString
Funciones de XMLWriter
PHP Manual

XMLWriter::outputMemory

xmlwriter_output_memory

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::outputMemory -- xmlwriter_output_memory — Devuelve el actual buffer

Descripción

Estilo orientado a objetos

string XMLWriter::outputMemory ([ bool $flush = true ] )

Estilo por procedimientos

string xmlwriter_output_memory ( resource $xmlwriter [, bool $flush = true ] )

Devuelve el buffer actual.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

flush

Si se mantiene la salida del buffer o no. Por omisión es TRUE.

Valores devueltos

Devuelve el buffer actual como un string.

Ver también

  • XMLWriter::flush() - Vacía el búfer actual

XMLWriter::openURI
XMLWriter::setIndentString
Funciones de XMLWriter


Establece una cadena usada para la identidad

XMLWriter::outputMemory
XMLWriter::setIndent
Funciones de XMLWriter
PHP Manual

XMLWriter::setIndentString

xmlwriter_set_indent_string

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::setIndentString -- xmlwriter_set_indent_string — Establece una cadena usada para la identidad

Descripción

Estilo orientado a objetos

bool XMLWriter::setIndentString ( string $indentString )

Estilo por procedimientos

bool xmlwriter_set_indent_string ( resource $xmlwriter , string $indentString )

Establece el string el cual va a ser usado para sangrar cada elemento/atributo del resultado xml.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

indentString

El string de sangría.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::setIndent() - Cambia la sangria de encendida/apagada

XMLWriter::outputMemory
XMLWriter::setIndent
Funciones de XMLWriter


Cambia la sangria de encendida/apagada

XMLWriter::setIndentString
XMLWriter::startAttributeNS
Funciones de XMLWriter
PHP Manual

XMLWriter::setIndent

xmlwriter_set_indent

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::setIndent -- xmlwriter_set_indent — Cambia la sangria de encendida/apagada

Descripción

Estilo orientado a objetos

bool XMLWriter::setIndent ( bool $indent )

Estilo por procedimientos

bool xmlwriter_set_indent ( resource $xmlwriter , bool $indent )

Cambia la sangría a encendida o apagada

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

indent

Si la sangría está activada.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::setIndentString() - Establece una cadena usada para la identidad

XMLWriter::setIndentString
XMLWriter::startAttributeNS
Funciones de XMLWriter


Crea el atributo de inicio del namespaced

XMLWriter::setIndent
XMLWriter::startAttribute
Funciones de XMLWriter
PHP Manual

XMLWriter::startAttributeNS

xmlwriter_start_attribute_ns

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startAttributeNS -- xmlwriter_start_attribute_ns — Crea el atributo de inicio del namespaced

Descripción

Estilo orientado a objetos

bool XMLWriter::startAttributeNS ( string $prefix , string $name , string $uri )

Estilo por procedimientos

bool xmlwriter_start_attribute_ns ( resource $xmlwriter , string $prefix , string $name , string $uri )

Inicia un atributo de namespaced.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

prefix

El prefijo del namespace.

name

El atributo del nombre.

uri

El URI del namespaced.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::startAttribute() - Crea un atributo inicial
  • XMLWriter::endAttribute() - Fin del atributo
  • XMLWriter::writeAttribute() - Escribe un atributo completo
  • XMLWriter::writeAttributeNS() - Escribe un atributo full de namespaced

XMLWriter::setIndent
XMLWriter::startAttribute
Funciones de XMLWriter


Crea un atributo inicial

XMLWriter::startAttributeNS
XMLWriter::startCData
Funciones de XMLWriter
PHP Manual

XMLWriter::startAttribute

xmlwriter_start_attribute

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startAttribute -- xmlwriter_start_attribute — Crea un atributo inicial

Descripción

Estilo orientado a objetos

bool XMLWriter::startAttribute ( string $name )

Estilo por procedimientos

bool xmlwriter_start_attribute ( resource $xmlwriter , string $name )

Inicia un atributo.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

name

El nombre del atributo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::startAttributeNS() - Crea el atributo de inicio del namespaced
  • XMLWriter::endAttribute() - Fin del atributo
  • XMLWriter::writeAttribute() - Escribe un atributo completo
  • XMLWriter::writeAttributeNS() - Escribe un atributo full de namespaced

XMLWriter::startAttributeNS
XMLWriter::startCData
Funciones de XMLWriter


Crea la etiqueta de inicio de CDATA

XMLWriter::startAttribute
XMLWriter::startComment
Funciones de XMLWriter
PHP Manual

XMLWriter::startCData

xmlwriter_start_cdata

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startCData -- xmlwriter_start_cdata — Crea la etiqueta de inicio de CDATA

Descripción

Estilo orientado a objetos

bool XMLWriter::startCData ( void )

Estilo por procedimientos

bool xmlwriter_start_cdata ( resource $xmlwriter )

Inicia un CDATA.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::endCData() - Fin del actual CDATA
  • XMLWriter::writeCData() - Escribe una etiqueta completa del CDATA

XMLWriter::startAttribute
XMLWriter::startComment
Funciones de XMLWriter


Crea un comentario inicial

XMLWriter::startCData
XMLWriter::startDocument
Funciones de XMLWriter
PHP Manual

XMLWriter::startComment

xmlwriter_start_comment

(PHP 5 >= 5.1.2, PECL xmlwriter >= 1.0.0)

XMLWriter::startComment -- xmlwriter_start_comment — Crea un comentario inicial

Descripción

Estilo orientado a objetos

bool XMLWriter::startComment ( void )

Estilo por procedimientos

bool xmlwriter_start_comment ( resource $xmlwriter )

Inicia un comentario.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::endComment() - Crea un comentario final
  • XMLWriter::writeComment() - EScribe la etiqueta del comentario completa

XMLWriter::startCData
XMLWriter::startDocument
Funciones de XMLWriter


Crea un etiqueta del documento

XMLWriter::startComment
XMLWriter::startDTDAttlist
Funciones de XMLWriter
PHP Manual

XMLWriter::startDocument

xmlwriter_start_document

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startDocument -- xmlwriter_start_document — Crea un etiqueta del documento

Descripción

Estilo orientado a objetos

bool XMLWriter::startDocument ([ string $version = 1.0 [, string $encoding = NULL [, string $standalone ]]] )

Estilo por procedimientos

bool xmlwriter_start_document ( resource $xmlwriter [, string $version = 1.0 [, string $encoding = NULL [, string $standalone ]]] )

Inicia un documento.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

version

La versión numerica del documento como parte de la declaración XML.

encoding

La codificación del documento como parte de la declaración XML.

standalone

yes o no.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::endDocument() - Finaliza el actual documento

XMLWriter::startComment
XMLWriter::startDTDAttlist
Funciones de XMLWriter


Crea el DTD AttList inicial

XMLWriter::startDocument
XMLWriter::startDTDElement
Funciones de XMLWriter
PHP Manual

XMLWriter::startDTDAttlist

xmlwriter_start_dtd_attlist

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startDTDAttlist -- xmlwriter_start_dtd_attlist — Crea el DTD AttList inicial

Descripción

Estilo orientado a objetos

bool XMLWriter::startDTDAttlist ( string $name )

Estilo por procedimientos

bool xmlwriter_start_dtd_attlist ( resource $xmlwriter , string $name )

Inicia una lista de atributo DTD.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

name

El nombre de la lista de atributos.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::endDTDAttlist() - Finaliza la actual attList DTD
  • XMLWriter::writeDTDAttlist() - Escribe la etiqueta completa del DTD AttList

XMLWriter::startDocument
XMLWriter::startDTDElement
Funciones de XMLWriter


Crea un elemento DTD inicial

XMLWriter::startDTDAttlist
XMLWriter::startDTDEntity
Funciones de XMLWriter
PHP Manual

XMLWriter::startDTDElement

xmlwriter_start_dtd_element

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startDTDElement -- xmlwriter_start_dtd_element — Crea un elemento DTD inicial

Descripción

Estilo orientado a objetos

bool XMLWriter::startDTDElement ( string $qualifiedName )

Estilo por procedimientos

bool xmlwriter_start_dtd_element ( resource $xmlwriter , string $qualifiedName )

Inicia un elemento DTD.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

qualifiedName

El nombre calificado del tipo de documento a crear.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::endDTDElement() - Finaliza el actual elemento DTD
  • XMLWriter::writeDTDElement() - Escribe la etiqueta completa de un elemento DTD

XMLWriter::startDTDAttlist
XMLWriter::startDTDEntity
Funciones de XMLWriter


Crea un ente DTD inicial

XMLWriter::startDTDElement
XMLWriter::startDTD
Funciones de XMLWriter
PHP Manual

XMLWriter::startDTDEntity

xmlwriter_start_dtd_entity

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startDTDEntity -- xmlwriter_start_dtd_entity — Crea un ente DTD inicial

Descripción

Estilo orientado a objetos

bool XMLWriter::startDTDEntity ( string $name , bool $isparam )

Estilo por procedimientos

bool xmlwriter_start_dtd_entity ( resource $xmlwriter , string $name , bool $isparam )

Inicia un ente DTD.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

name

El nombre de la entidad.

isparam

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::endDTDEntity() - Finaliza el actual ente DTD
  • XMLWriter::writeDTDEntity() - Escribe una etiqueta completa de un ente DTD

XMLWriter::startDTDElement
XMLWriter::startDTD
Funciones de XMLWriter


Crea la etiqueta DTD inicial

XMLWriter::startDTDEntity
XMLWriter::startElementNS
Funciones de XMLWriter
PHP Manual

XMLWriter::startDTD

xmlwriter_start_dtd

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startDTD -- xmlwriter_start_dtd — Crea la etiqueta DTD inicial

Descripción

Estilo orientado a objetos

bool XMLWriter::startDTD ( string $qualifiedName [, string $publicId [, string $systemId ]] )

Estilo por procedimientos

bool xmlwriter_start_dtd ( resource $xmlwriter , string $qualifiedName [, string $publicId [, string $systemId ]] )

Inicia un DTD.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

qualifiedName

El nombre calificado del tipo de documento a crear.

publicId

El identificador externo del subconjunto publico.

systemId

El identificador externo del subconjunto del sistema.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::endDTD() - Finaliza la actual DTD
  • XMLWriter::writeDTD() - Escribe una etiqueta completa del DTD

XMLWriter::startDTDEntity
XMLWriter::startElementNS
Funciones de XMLWriter


Crea la etiqueta del elemento de espacio de nombres inicial

XMLWriter::startDTD
XMLWriter::startElement
Funciones de XMLWriter
PHP Manual

XMLWriter::startElementNS

xmlwriter_start_element_ns

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startElementNS -- xmlwriter_start_element_ns — Crea la etiqueta del elemento de espacio de nombres inicial

Descripción

Estilo orientado a objetos

bool XMLWriter::startElementNS ( string $prefix , string $name , string $uri )

Estilo por procedimientos

bool xmlwriter_start_element_ns ( resource $xmlwriter , string $prefix , string $name , string $uri )

Inicia un elemento de espacio de nombres.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

prefix

El prefijo del namespace.

name

El elemento del nombre.

uri

El namespace de URI.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::endElement() - Finaliza el actual elemento
  • XMLWriter::writeElementNS() - Escribe una etiqueta completa del elemento

XMLWriter::startDTD
XMLWriter::startElement
Funciones de XMLWriter


Crea la etiqueta del elemento inicial

XMLWriter::startElementNS
XMLWriter::startPI
Funciones de XMLWriter
PHP Manual

XMLWriter::startElement

xmlwriter_start_element

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startElement -- xmlwriter_start_element — Crea la etiqueta del elemento inicial

Descripción

Estilo orientado a objetos

bool XMLWriter::startElement ( string $name )

Estilo por procedimientos

bool xmlwriter_start_element ( resource $xmlwriter , string $name )

Inicia un elemento.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

name

El nombre del elemento.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::endElement() - Finaliza el actual elemento
  • XMLWriter::writeElement() - Escribe una etiqueta completa del elemento

XMLWriter::startElementNS
XMLWriter::startPI
Funciones de XMLWriter


Crea la etiqueta PI inicial

XMLWriter::startElement
XMLWriter::text
Funciones de XMLWriter
PHP Manual

XMLWriter::startPI

xmlwriter_start_pi

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startPI -- xmlwriter_start_pi — Crea la etiqueta PI inicial

Descripción

Estilo orientado a objetos

bool XMLWriter::startPI ( string $target )

Estilo por procedimientos

bool xmlwriter_start_pi ( resource $xmlwriter , string $target )

Inicia una etiqueta para la instrucción de procesamiento.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

target

El objetivo de la instrucción de procesamiento.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::endPI() - Finaliza el actual IP
  • XMLWriter::writePI() - Escribe un IP

XMLWriter::startElement
XMLWriter::text
Funciones de XMLWriter


Escribe el texto

XMLWriter::startPI
XMLWriter::writeAttributeNS
Funciones de XMLWriter
PHP Manual

XMLWriter::text

xmlwriter_text

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::text -- xmlwriter_text — Escribe el texto

Descripción

Estilo orientado a objetos

bool XMLWriter::text ( string $content )

Estilo por procedimientos

bool xmlwriter_text ( resource $xmlwriter , string $content )

Escribe el texto.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

content

El contenido del texto.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

XMLWriter::startPI
XMLWriter::writeAttributeNS
Funciones de XMLWriter


Escribe un atributo full de namespaced

XMLWriter::text
XMLWriter::writeAttribute
Funciones de XMLWriter
PHP Manual

XMLWriter::writeAttributeNS

xmlwriter_write_attribute_ns

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeAttributeNS -- xmlwriter_write_attribute_ns — Escribe un atributo full de namespaced

Descripción

Estilo orientado a objetos

bool XMLWriter::writeAttributeNS ( string $prefix , string $name , string $uri , string $content )

Estilo por procedimientos

bool xmlwriter_write_attribute_ns ( resource $xmlwriter , string $prefix , string $name , string $uri , string $content )

Escribe un atributo de espacio de nombres completo.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

prefix

el prefijo del namespace.

name

El nombre del atributo.

uri

El namespace de URI.

content

El valor del atributo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::writeAttribute() - Escribe un atributo completo
  • XMLWriter::startAttribute() - Crea un atributo inicial
  • XMLWriter::startAttributeNS() - Crea el atributo de inicio del namespaced
  • XMLWriter::endAttribute() - Fin del atributo

XMLWriter::text
XMLWriter::writeAttribute
Funciones de XMLWriter


Escribe un atributo completo

XMLWriter::writeAttributeNS
XMLWriter::writeCData
Funciones de XMLWriter
PHP Manual

XMLWriter::writeAttribute

xmlwriter_write_attribute

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeAttribute -- xmlwriter_write_attribute — Escribe un atributo completo

Descripción

Estilo orientado a objetos

bool XMLWriter::writeAttribute ( string $name , string $value )

Estilo por procedimientos

bool xmlwriter_write_attribute ( resource $xmlwriter , string $name , string $value )

Escribe un atributo completo.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

name

El nombre del atributo.

value

El valor del atributo.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::writeAttributeNS() - Escribe un atributo full de namespaced
  • XMLWriter::startAttribute() - Crea un atributo inicial
  • XMLWriter::startAttributeNS() - Crea el atributo de inicio del namespaced
  • XMLWriter::endAttribute() - Fin del atributo

XMLWriter::writeAttributeNS
XMLWriter::writeCData
Funciones de XMLWriter


Escribe una etiqueta completa del CDATA

XMLWriter::writeAttribute
XMLWriter::writeComment
Funciones de XMLWriter
PHP Manual

XMLWriter::writeCData

xmlwriter_write_cdata

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeCData -- xmlwriter_write_cdata — Escribe una etiqueta completa del CDATA

Descripción

Estilo orientado a objetos

bool XMLWriter::writeCData ( string $content )

Estilo por procedimientos

bool xmlwriter_write_cdata ( resource $xmlwriter , string $content )

Escribe un CDATA completo.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

content

El contenido del CDATA.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::startCData() - Crea la etiqueta de inicio de CDATA
  • XMLWriter::endCData() - Fin del actual CDATA

XMLWriter::writeAttribute
XMLWriter::writeComment
Funciones de XMLWriter


EScribe la etiqueta del comentario completa

XMLWriter::writeCData
XMLWriter::writeDTDAttlist
Funciones de XMLWriter
PHP Manual

XMLWriter::writeComment

xmlwriter_write_comment

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeComment -- xmlwriter_write_comment — EScribe la etiqueta del comentario completa

Descripción

Estilo orientado a objetos

bool XMLWriter::writeComment ( string $content )

Estilo por procedimientos

bool xmlwriter_write_comment ( resource $xmlwriter , string $content )

Escribe un comentario completo.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

content

El contenido del comentario.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::startComment() - Crea un comentario inicial
  • XMLWriter::endComment() - Crea un comentario final

XMLWriter::writeCData
XMLWriter::writeDTDAttlist
Funciones de XMLWriter


Escribe la etiqueta completa del DTD AttList

XMLWriter::writeComment
XMLWriter::writeDTDElement
Funciones de XMLWriter
PHP Manual

XMLWriter::writeDTDAttlist

xmlwriter_write_dtd_attlist

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeDTDAttlist -- xmlwriter_write_dtd_attlist — Escribe la etiqueta completa del DTD AttList

Descripción

Estilo orientado a objetos

bool XMLWriter::writeDTDAttlist ( string $name , string $content )

Estilo por procedimientos

bool xmlwriter_write_dtd_attlist ( resource $xmlwriter , string $name , string $content )

Escribe una lista del DTD.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

name

El nombre de la lista del atributo del DTD.

content

El contenido de la lista del atributo del DTD.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::startDTDAttlist() - Crea el DTD AttList inicial
  • XMLWriter::endDTDAttlist() - Finaliza la actual attList DTD

XMLWriter::writeComment
XMLWriter::writeDTDElement
Funciones de XMLWriter


Escribe la etiqueta completa de un elemento DTD

XMLWriter::writeDTDAttlist
XMLWriter::writeDTDEntity
Funciones de XMLWriter
PHP Manual

XMLWriter::writeDTDElement

xmlwriter_write_dtd_element

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeDTDElement -- xmlwriter_write_dtd_element — Escribe la etiqueta completa de un elemento DTD

Descripción

Estilo orientado a objetos

bool XMLWriter::writeDTDElement ( string $name , string $content )

Estilo por procedimientos

bool xmlwriter_write_dtd_element ( resource $xmlwriter , string $name , string $content )

Escribe un elemento completo DTD.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

name

El nombre del elemento DTD.

content

El contenido del elemento.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::startDTDElement() - Crea un elemento DTD inicial
  • XMLWriter::endDTDElement() - Finaliza el actual elemento DTD

XMLWriter::writeDTDAttlist
XMLWriter::writeDTDEntity
Funciones de XMLWriter


Escribe una etiqueta completa de un ente DTD

XMLWriter::writeDTDElement
XMLWriter::writeDTD
Funciones de XMLWriter
PHP Manual

XMLWriter::writeDTDEntity

xmlwriter_write_dtd_entity

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeDTDEntity -- xmlwriter_write_dtd_entity — Escribe una etiqueta completa de un ente DTD

Descripción

Estilo orientado a objetos

bool XMLWriter::writeDTDEntity ( string $name , string $content , bool $pe , string $pubid , string $sysid , string $ndataid )

Estilo por procedimientos

bool xmlwriter_write_dtd_entity ( resource $xmlwriter , string $name , string $content , bool $pe , string $pubid , string $sysid , string $ndataid )

Escribe un ente completo DTD.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

name

El nombre del ente.

content

El contenido del ente.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::startDTDEntity() - Crea un ente DTD inicial
  • XMLWriter::endDTDEntity() - Finaliza el actual ente DTD

XMLWriter::writeDTDElement
XMLWriter::writeDTD
Funciones de XMLWriter


Escribe una etiqueta completa del DTD

XMLWriter::writeDTDEntity
XMLWriter::writeElementNS
Funciones de XMLWriter
PHP Manual

XMLWriter::writeDTD

xmlwriter_write_dtd

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeDTD -- xmlwriter_write_dtd — Escribe una etiqueta completa del DTD

Descripción

Estilo orientado a objetos

bool XMLWriter::writeDTD ( string $name [, string $publicId [, string $systemId [, string $subset ]]] )

Estilo por procedimientos

bool xmlwriter_write_dtd ( resource $xmlwriter , string $name [, string $publicId [, string $systemId [, string $subset ]]] )

Escribe un completo DTD.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

name

El nombre del DTD.

publicId

El identificador del subcojunto externo publico.

systemId

El identificador externo del subconjunto del sistema.

subset

El contenido del DTD.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::startDTD() - Crea la etiqueta DTD inicial
  • XMLWriter::endDTD() - Finaliza la actual DTD

XMLWriter::writeDTDEntity
XMLWriter::writeElementNS
Funciones de XMLWriter


Escribe una etiqueta completa del elemento

XMLWriter::writeDTD
XMLWriter::writeElement
Funciones de XMLWriter
PHP Manual

XMLWriter::writeElementNS

xmlwriter_write_element_ns

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeElementNS -- xmlwriter_write_element_ns — Escribe una etiqueta completa del elemento

Descripción

Estilo orientado a objetos

bool XMLWriter::writeElementNS ( string $prefix , string $name , string $uri [, string $content ] )

Estilo por procedimientos

bool xmlwriter_write_element_ns ( resource $xmlwriter , string $prefix , string $name , string $uri [, string $content ] )

Escribe una etiqueta completa del elemento.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

prefix

El nombre del prefijo.

name

El nombre del elemento.

uri

El URI del namespace.

content

Los contenidos del elemento.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.2.3 | El parámetro content se convierte en opcional.

Ver también

  • XMLWriter::startElementNS() - Crea la etiqueta del elemento de espacio de nombres inicial
  • XMLWriter::endElement() - Finaliza el actual elemento
  • XMLWriter::writeElement() - Escribe una etiqueta completa del elemento

XMLWriter::writeDTD
XMLWriter::writeElement
Funciones de XMLWriter


Escribe una etiqueta completa del elemento

XMLWriter::writeElementNS
XMLWriter::writePI
Funciones de XMLWriter
PHP Manual

XMLWriter::writeElement

xmlwriter_write_element

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeElement -- xmlwriter_write_element — Escribe una etiqueta completa del elemento

Descripción

Estilo orientado a objetos

bool XMLWriter::writeElement ( string $name [, string $content ] )

Estilo por procedimientos

bool xmlwriter_write_element ( resource $xmlwriter , string $name [, string $content ] )

Escribe una etiqueta completa del elemento.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

name

El nombre del elemento.

content

Los contenidos del elemento.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Historial de cambios

Versión | Descripción
5.2.3 | El parámetro content se convierte en opcional.

Ver también

  • XMLWriter::startElement() - Crea la etiqueta del elemento inicial
  • XMLWriter::endElement() - Finaliza el actual elemento
  • XMLWriter::writeElementNS() - Escribe una etiqueta completa del elemento

XMLWriter::writeElementNS
XMLWriter::writePI
Funciones de XMLWriter


Escribe un IP

XMLWriter::writeElement
XMLWriter::writeRaw
Funciones de XMLWriter
PHP Manual

XMLWriter::writePI

xmlwriter_write_pi

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writePI -- xmlwriter_write_pi — Escribe un IP

Descripción

Estilo orientado a objetos

bool XMLWriter::writePI ( string $target , string $content )

Estilo por procedimientos

bool xmlwriter_write_pi ( resource $xmlwriter , string $target , string $content )

Escribe una instrucción de procesamiento.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

target

El objetivo de la instrucción de procesamiento.

content

El contenido de la instrucción de procesamiento.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::startPI() - Crea la etiqueta PI inicial
  • XMLWriter::endPI() - Finaliza el actual IP

XMLWriter::writeElement
XMLWriter::writeRaw
Funciones de XMLWriter


Escribe un texto sin formato del XML

XMLWriter::writePI
XSL
Funciones de XMLWriter
PHP Manual

XMLWriter::writeRaw

xmlwriter_write_raw

(PHP 5 >= 5.2.0, PECL xmlwriter >= 2.0.4)

XMLWriter::writeRaw -- xmlwriter_write_raw — Escribe un texto sin formato del XML

Descripción

Estilo orientado a objetos

bool XMLWriter::writeRaw ( string $content )

Estilo por procedimientos

bool xmlwriter_write_raw ( resource $xmlwriter , string $content )

Escribe un texto sin formato del XML.

Parámetros

xmlwriter

Sólo para llamadas por procedimientos. El resource XMLWriter que está siendo modificado. Este recurso proviene de una llamada a xmlwriter_open_uri() o xmlwriter_open_memory().

content

El string a escribir.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XMLWriter::text() - Escribe el texto

XMLWriter::writePI
XSL
Funciones de XMLWriter


XSL

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Ejemplos
    • Ficheros collection.xml y collection.xsl de ejemplo
  • XSLTProcessor — Clase XSLTProcessor
    • XSLTProcessor::__construct — Crea un nuevo objeto XSLTProcessor
    • XSLTProcessor::getParameter — Obtiene el valor de un parámetro
    • XsltProcessor::getSecurityPrefs — Obtiene las opciones de seguridad
    • XSLTProcessor::hasExsltSupport — Determina si PHP tiene soporte para EXSLT
    • XSLTProcessor::importStylesheet — Importa una hoja de estilos
    • XSLTProcessor::registerPHPFunctions — Activa la capacidad de usar funciones PHP como funciones XSLT
    • XSLTProcessor::removeParameter — Elimina un parámetro
    • XSLTProcessor::setParameter — Establece el valor para uno o varios parámetros
    • XSLTProcessor::setProfiling — Establece el fichero de salida para la información resultado del proceso
    • XsltProcessor::setSecurityPrefs — Establece las opciones de seguridad
    • XSLTProcessor::transformToDoc — Transforma en un DOMDocument
    • XSLTProcessor::transformToUri — Transformar a URI
    • XSLTProcessor::transformToXML — Transforma a XML
XMLWriter::writeRaw
Introducción
Manipulación XML


Introducción

La extensión XSL implementa el estándar XSL, realizando » transformaciones XSLT usando la » biblioteca libxslt

XSL
Instalación/Configuración
XSL


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
XSL


Requerimientos

Esta extensión requiere la extensión de PHP libxml. Esto significa que también es necesario pasar la opción --enable-libxml , aunque esto se realiza implícitamente debido a que libxml está habilitada de forma predeterminada.

Esta extensión usa libxslt disponible en » http://xmlsoft.org/XSLT/. Se requiere una versión de libxslt 1.1.0 o superior.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

PHP 5 incluye la extensión XSL por defecto y puede ser activada añadiendo el argumento --with-xsl[=DIR] en la línea de configuración. DIR es el directorio donde está instalado libxslt.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

XSL_CLONE_AUTO (integer)
XSL_CLONE_NEVER (integer)
XSL_CLONE_ALWAYS (integer)
LIBXSLT_VERSION (integer)
Versión de libxslt con formato similar a 10117. Disponible desde PHP 5.1.2.
LIBXSLT_DOTTED_VERSION (string)
Versión de libxslt con formato similar a 1.1.17. Disponible desde PHP 5.1.2.
LIBEXSLT_VERSION (integer)
Versión de libexslt con formato similar a 813. Disponible desde PHP 5.1.2.
LIBEXSLT_DOTTED_VERSION (string)
Versión de libexslt con formato similar a 1.1.17. Disponible desde PHP 5.1.2.
XSL_SECPREF_READ_FILE (integer)
XSL_SECPREF_WRITE_FILE (integer)
XSL_SECPREF_CREATE_DIRECTORY (integer)
XSL_SECPREF_READ_NETWORK (integer)
XSL_SECPREF_WRITE_NETWORK (integer)
Tipos de recursos
Ejemplos
XSL


Ejemplos

Tabla de contenidos

  • Ficheros collection.xml y collection.xsl de ejemplo
Constantes predefinidas
Ficheros collection.xml y collection.xsl de ejemplo
XSL


Ficheros collection.xml y collection.xsl de ejemplo

Muchos ejemplos en esta referencia requieren tanto un fichero XML como un XSL. Se usará collection.xml y collection.xsl que contienen el siguiente código:

Ejemplo #1 collection.xml

<collection>
 <cd>
  <title>Fight for your mind</title>
  <artist>Ben Harper</artist>
  <year>1995</year>
 </cd>
 <cd>
  <title>Electric Ladyland</title>
  <artist>Jimi Hendrix</artist>
  <year>1997</year>
 </cd>
</collection>

Ejemplo #2 collection.xsl

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:param name="owner" select="'Nicolas Eliaszewicz'"/>
 <xsl:output method="html" encoding="iso-8859-1" indent="no"/>
 <xsl:template match="collection">
  Hey! Welcome to <xsl:value-of select="$owner"/>'s sweet CD collection!
  <xsl:apply-templates/>
 </xsl:template>
 <xsl:template match="cd">
  <h1><xsl:value-of select="title"/></h1>
  <h2>by <xsl:value-of select="artist"/> - <xsl:value-of select="year"/></h2>
  <hr />
 </xsl:template>
</xsl:stylesheet>

Ejemplos
XSLTProcessor
Ejemplos


Clase XSLTProcessor

(PHP 5)

Introducción

Sinopsis de la Clase

XSLTProcessor {
/* Métodos */
string getParameter ( string $namespaceURI , string $localName )
public int XsltProcessor::getSecurityPrefs ( void )
bool hasExsltSupport ( void )
void importStylesheet ( object $stylesheet )
void registerPHPFunctions ([ mixed $restrict ] )
bool removeParameter ( string $namespaceURI , string $localName )
bool setParameter ( string $namespace , string $name , string $value )
bool setProfiling ( string $filename )
public int XsltProcessor::setSecurityPrefs ( int $securityPrefs )
DOMDocument transformToDoc ( DOMNode $doc )
int transformToURI ( DOMDocument $doc , string $uri )
string transformToXML ( DOMDocument $doc )
}

Tabla de contenidos

  • XSLTProcessor::__construct — Crea un nuevo objeto XSLTProcessor
  • XSLTProcessor::getParameter — Obtiene el valor de un parámetro
  • XsltProcessor::getSecurityPrefs — Obtiene las opciones de seguridad
  • XSLTProcessor::hasExsltSupport — Determina si PHP tiene soporte para EXSLT
  • XSLTProcessor::importStylesheet — Importa una hoja de estilos
  • XSLTProcessor::registerPHPFunctions — Activa la capacidad de usar funciones PHP como funciones XSLT
  • XSLTProcessor::removeParameter — Elimina un parámetro
  • XSLTProcessor::setParameter — Establece el valor para uno o varios parámetros
  • XSLTProcessor::setProfiling — Establece el fichero de salida para la información resultado del proceso
  • XsltProcessor::setSecurityPrefs — Establece las opciones de seguridad
  • XSLTProcessor::transformToDoc — Transforma en un DOMDocument
  • XSLTProcessor::transformToUri — Transformar a URI
  • XSLTProcessor::transformToXML — Transforma a XML
Ficheros collection.xml y collection.xsl de ejemplo
XSLTProcessor::__construct
XSL


Crea un nuevo objeto XSLTProcessor

XSLTProcessor
XSLTProcessor::getParameter
XSLTProcessor
PHP Manual

XSLTProcessor::__construct

(PHP 5)

XSLTProcessor::__construct — Crea un nuevo objeto XSLTProcessor

Descripción

XSLTProcessor::__construct() ( void )

Crea un nuevo objeto XSLTProcessor.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Creando un XSLTProcessor

<?php

$doc = new DOMDocument();
$xsl = new XSLTProcessor();

$doc->load($xsl_filename);
$xsl->importStyleSheet($doc);

$doc->load($xml_filename);
echo $xsl->transformToXML($doc);

?>

XSLTProcessor
XSLTProcessor::getParameter
XSLTProcessor


Obtiene el valor de un parámetro

XSLTProcessor::__construct
XsltProcessor::getSecurityPrefs
XSLTProcessor
PHP Manual

XSLTProcessor::getParameter

(PHP 5)

XSLTProcessor::getParameter — Obtiene el valor de un parámetro

Descripción

string XSLTProcessor::getParameter ( string $namespaceURI , string $localName )

Obtiene un parámetro si ha sido previamente establecido por XSLTProcessor::setParameter().

Parámetros

namespaceURI

La URI del namespace del parámetro XSLT.

localName

El nombre local del parámetro XSLT.

Valores devueltos

El valor del parámetro (como un string), o FALSE si no está definido.

Ver también

  • XSLTProcessor::setParameter() - Establece el valor para uno o varios parámetros
  • XSLTProcessor::removeParameter() - Elimina un parámetro

XSLTProcessor::__construct
XsltProcessor::getSecurityPrefs
XSLTProcessor


Obtiene las opciones de seguridad

XSLTProcessor::getParameter
XSLTProcessor::hasExsltSupport
XSLTProcessor
PHP Manual

XsltProcessor::getSecurityPrefs

(PHP >= 5.4.0)

XsltProcessor::getSecurityPrefs — Obtiene las opciones de seguridad

Descripción

public int XsltProcessor::getSecurityPrefs ( void )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

XSLTProcessor::getParameter
XSLTProcessor::hasExsltSupport
XSLTProcessor


Determina si PHP tiene soporte para EXSLT

XsltProcessor::getSecurityPrefs
XSLTProcessor::importStylesheet
XSLTProcessor
PHP Manual

XSLTProcessor::hasExsltSupport

(PHP 5 >= 5.0.4)

XSLTProcessor::hasExsltSupport — Determina si PHP tiene soporte para EXSLT

Descripción

bool XSLTProcessor::hasExsltSupport ( void )

Este método determina si PHP se compiló con la » librería EXSLT.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Comprobando si tiene EXSLT

<?php

$proc = new XSLTProcessor;
if (!$proc->hasExsltSupport()) {
    die('EXSLT no disponible');
}

// aquí las líneas de código con EXSLT..

?>

XsltProcessor::getSecurityPrefs
XSLTProcessor::importStylesheet
XSLTProcessor


Importa una hoja de estilos

XSLTProcessor::hasExsltSupport
XSLTProcessor::registerPHPFunctions
XSLTProcessor
PHP Manual

XSLTProcessor::importStylesheet

(PHP 5)

XSLTProcessor::importStylesheet — Importa una hoja de estilos

Descripción

void XSLTProcessor::importStylesheet ( object $stylesheet )

Este método importa la hoja de estilos a XSLTProcessor para realizar transformaciones.

Parámetros

stylesheet

La hoja de estilos importada como objeto DOMDocument o SimpleXMLElement.

Valores devueltos

No devuelve ningún valor.

Historial de cambios

Versión | Descripción
5.2.8 | Acepta SimpleXMLElement de nuevo; no funcionaba desde PHP 5.2.6.

XSLTProcessor::hasExsltSupport
XSLTProcessor::registerPHPFunctions
XSLTProcessor


Activa la capacidad de usar funciones PHP como funciones XSLT

XSLTProcessor::importStylesheet
XSLTProcessor::removeParameter
XSLTProcessor
PHP Manual

XSLTProcessor::registerPHPFunctions

(PHP 5 >= 5.0.4)

XSLTProcessor::registerPHPFunctions — Activa la capacidad de usar funciones PHP como funciones XSLT

Descripción

void XSLTProcessor::registerPHPFunctions ([ mixed $restrict ] )

Este método activa la capacidad de usar funciones PHP como funciones XSLT dentro de las hojas de estilo XSL.

Parámetros

restrict

Usar este parámetro para acceder únicamente a ciertas funciones a ser llamadas desde XSLT.

Este parámetro puede ser tanto un string (nombre de la función) como un array de funciones.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Sencilla llamada a una función de PHP desde una hoja de estilos

<?php
$xml = <<<EOB
<allusers>
 <user>
  <uid>bob</uid>
 </user>
 <user>
  <uid>joe</uid>
 </user>
</allusers>
EOB;
$xsl = <<<EOB
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     xmlns:php="http://php.net/xsl">
<xsl:output method="html" encoding="utf-8" indent="yes"/>
 <xsl:template match="allusers">
  <html><body>
    <h2>Users</h2>
    <table>
    <xsl:for-each select="user">
      <tr><td>
        <xsl:value-of
             select="php:function('ucfirst',string(uid))"/>
      </td></tr>
    </xsl:for-each>
    </table>
  </body></html>
 </xsl:template>
</xsl:stylesheet>
EOB;
$xmldoc = DOMDocument::loadXML($xml);
$xsldoc = DOMDocument::loadXML($xsl);

$proc = new XSLTProcessor();
$proc->registerPHPFunctions();
$proc->importStyleSheet($xsldoc);
echo $proc->transformToXML($xmldoc);
?>

Historial de cambios

Versión | Descripción
5.1.0 | Se añadió el parámetro restrict.

XSLTProcessor::importStylesheet
XSLTProcessor::removeParameter
XSLTProcessor


Elimina un parámetro

XSLTProcessor::registerPHPFunctions
XSLTProcessor::setParameter
XSLTProcessor
PHP Manual

XSLTProcessor::removeParameter

(PHP 5)

XSLTProcessor::removeParameter — Elimina un parámetro

Descripción

bool XSLTProcessor::removeParameter ( string $namespaceURI , string $localName )

Elimina un parámetro, si ya existía. Esto hará que el procesador use el valor por defecto para el parámetro como está especificado en la hoja de estilos.

Parámetros

namespaceURI

La URI del namespace para el parámetro XSLT.

localName

Nombre local del parámetro XSLT.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

  • XSLTProcessor::setParameter() - Establece el valor para uno o varios parámetros
  • XSLTProcessor::getParameter() - Obtiene el valor de un parámetro

XSLTProcessor::registerPHPFunctions
XSLTProcessor::setParameter
XSLTProcessor


Establece el valor para uno o varios parámetros

XSLTProcessor::removeParameter
XSLTProcessor::setProfiling
XSLTProcessor
PHP Manual

XSLTProcessor::setParameter

(PHP 5)

XSLTProcessor::setParameter — Establece el valor para uno o varios parámetros

Descripción

bool XSLTProcessor::setParameter ( string $namespace , string $name , string $value )
bool XSLTProcessor::setParameter ( string $namespace , array $options )

Establece el valor para uno o más parámetros a ser usado en las siguientes transformaciones con XSLTProcessor. Si el parámetro no existe en la hoja de estilos, será ignorado.

Parámetros

namespace

La URI para el namespace del parámetro XSLT.

name

Nombre local del parámetro XSLT.

value

Nuevo valor para el parámetro XSLT.

options

Un array de parejas nombre => valor. Esta sintaxis está disponible desde PHP 5.1.0.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Changing the owner before the transformation

<?php

$collections = array(
    'Marc Rutkowski' => 'marc',
    'Olivier Parmentier' => 'olivier'
);

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Configuración del procesador
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // asociamos las reglas xsl

foreach ($collections as $name => $file) {
    // Cargamos el XML origen
    $xml = new DOMDocument;
    $xml->load('collection_' . $file . '.xml');

    $proc->setParameter('', 'owner', $name);
    $proc->transformToURI($xml, 'file:///tmp/' . $file . '.html');
}

?>

Ver también

  • XSLTProcessor::getParameter() - Obtiene el valor de un parámetro
  • XSLTProcessor::removeParameter() - Elimina un parámetro

XSLTProcessor::removeParameter
XSLTProcessor::setProfiling
XSLTProcessor


Establece el fichero de salida para la información resultado del proceso

XSLTProcessor::setParameter
XsltProcessor::setSecurityPrefs
XSLTProcessor
PHP Manual

XSLTProcessor::setProfiling

(PHP >= 5.3.0)

XSLTProcessor::setProfiling — Establece el fichero de salida para la información resultado del proceso

Descripción

bool XSLTProcessor::setProfiling ( string $filename )

Establece el nombre del fichero de salida para la información generada del propio procesado de la hoja de estilos.

Parámetros

filename

Ruta al fichero donde volcar la información.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de salida de información

<?php
// Load the XML source
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Configuración del procesador
$proc = new XSLTProcessor;
$proc->setProfiling('profiling.txt');
$proc->importStyleSheet($xsl); // adjunta las reglas xsl

echo trim($proc->transformToDoc($xml)->firstChild->wholeText);
?>

Este código generará la siguiente información en el fichero profiling.txt:

number               match                name      mode  Calls Tot 100us Avg

    0                   cd                                    2      3      1
    1           collection                                    1      1      1

                         Total                                3      4

XSLTProcessor::setParameter
XsltProcessor::setSecurityPrefs
XSLTProcessor


Establece las opciones de seguridad

XSLTProcessor::setProfiling
XSLTProcessor::transformToDoc
XSLTProcessor
PHP Manual

XsltProcessor::setSecurityPrefs

(PHP >= 5.4.0)

XsltProcessor::setSecurityPrefs — Establece las opciones de seguridad

Descripción

public int XsltProcessor::setSecurityPrefs ( int $securityPrefs )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

XSLTProcessor::setProfiling
XSLTProcessor::transformToDoc
XSLTProcessor


Transforma en un DOMDocument

XsltProcessor::setSecurityPrefs
XSLTProcessor::transformToUri
XSLTProcessor
PHP Manual

XSLTProcessor::transformToDoc

(PHP 5)

XSLTProcessor::transformToDoc — Transforma en un DOMDocument

Descripción

DOMDocument XSLTProcessor::transformToDoc ( DOMNode $doc )

Transforma el nodo origen en un DOMDocument aplicando las hojas de estilo dadas por el método XSLTProcessor::importStylesheet().

Parámetros

doc

El nodo a transformar.

Valores devueltos

El DOMDocument resultante o FALSE en caso de error.

Ejemplos

Ejemplo #1 Transformando en un DOMDocument

<?php

// Carga del fichero origen XML
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Configuración del procesador
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // adjunta las reglas xsl

echo trim($proc->transformToDoc($xml)->firstChild->wholeText);

?>

El resultado del ejemplo sería:

Hey! Welcome to Nicolas Eliaszewicz's sweet CD collection!

Ver también

  • XSLTProcessor::transformToUri() - Transformar a URI
  • XSLTProcessor::transformToXml() - Transforma a XML

XsltProcessor::setSecurityPrefs
XSLTProcessor::transformToUri
XSLTProcessor


Transformar a URI

XSLTProcessor::transformToDoc
XSLTProcessor::transformToXML
XSLTProcessor
PHP Manual

XSLTProcessor::transformToUri

(PHP 5)

XSLTProcessor::transformToUri — Transformar a URI

Descripción

int XSLTProcessor::transformToURI ( DOMDocument $doc , string $uri )

Transforma el nodo origen a una URI aplicando la hoja de estilos dada por el metodo XSLTProcessor::importStylesheet().

Parámetros

doc

El documento a transformar.

uri

Devuelve la ubicación URI para la transformación.

Valores devueltos

Retorna el número de bytes escritos o FALSE en caso de error.

Ejemplos

Ejemplo #1 Transformando a un fichero HTML

<?php

// Carga el fichero XML origen
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Configura el procesador
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // adjunta las reglas xsl

$proc->transformToURI($xml, 'file:///tmp/out.html');

?>

Ver también

  • XSLTProcessor::transformToDoc() - Transforma en un DOMDocument
  • XSLTProcessor::transformToXml() - Transforma a XML

XSLTProcessor::transformToDoc
XSLTProcessor::transformToXML
XSLTProcessor


Transforma a XML

XSLTProcessor::transformToUri
XSLT (PHP 4)
XSLTProcessor
PHP Manual

XSLTProcessor::transformToXML

(PHP 5)

XSLTProcessor::transformToXML — Transforma a XML

Descripción

string XSLTProcessor::transformToXML ( DOMDocument $doc )

Transforma el nodo origen a un string aplicando la hoja de estilos dada por el método xsltprocessor::importStylesheet().

Parámetros

doc

El documento transformado.

Valores devueltos

Resultado de la transformación a string o FALSE en caso de error.

Ejemplos

Ejemplo #1 Transformando a un string

<?php

// Carga el fichero XML origen
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Configura el procesador
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // adjunta las reglas XSL

echo $proc->transformToXML($xml);

?>

El resultado del ejemplo sería:

Hey! Welcome to Nicolas Eliaszewicz's sweet CD collection!

<h1>Fight for your mind</h1><h2>by Ben Harper - 1995</h2><hr>
<h1>Electric Ladyland</h1><h2>by Jimi Hendrix - 1997</h2><hr>

Ver también

  • XSLTProcessor::transformToDoc() - Transforma en un DOMDocument
  • XSLTProcessor::transformToUri() - Transformar a URI

XSLTProcessor::transformToUri
XSLT (PHP 4)
XSLTProcessor


XSLT (PHP 4)

  • Introducción
  • Instalación/Configuración
    • Requerimientos
    • Instalación
    • Configuración en tiempo de ejecución
    • Tipos de recursos
  • Constantes predefinidas
  • Funciones de XSLT (PHP 4)
    • xslt_backend_info — Devuelve la información sobre las opciones de compilación del servidor
    • xslt_backend_name — Devuelve el nombre del backend
    • xslt_backend_version — Devuelve el número de versión de Sablotron
    • xslt_create — Crear un nuevo procesador de XSLT
    • xslt_errno — Devuelve un número de error
    • xslt_error — Devuelve una cadena de errores
    • xslt_free — Libera el procesador de XSLT
    • xslt_getopt — Obtener las opciones de un procesador XSL dado
    • xslt_process — Perform an XSLT transformation
    • xslt_set_base — Establecer el URI base para todas las transformaciones XSLT
    • xslt_set_encoding — Establecer la codificación para el análisis de documentos XML
    • xslt_set_error_handler — Establecer un manejador de error para un procesador XSLT
    • xslt_set_log — Set the log file to write log messages to
    • xslt_set_object — Establece el objeto en que resolver funciones de devolución de llamada
    • xslt_set_sax_handler — Establecer manejadores SAX para un procesador XSLT
    • xslt_set_sax_handlers — Establecer los manejadores SAX que se llamará cuando el documento XML se procesa
    • xslt_set_scheme_handler — Establecer manejadores de esquema para un procesador XSLT
    • xslt_set_scheme_handlers — Set the scheme handlers for the XSLT processor
    • xslt_setopt — Set options on a given XSLT processor
XSLTProcessor::transformToXML
Introducción
Manipulación XML


Introducción

This PHP extension provides a processor independent API to XSLT transformations. Currently this extension only supports the Sablotron library from the Ginger Alliance. Support is planned for other libraries, such as the Xalan library or the libxslt library.

XSLT (Extensible Stylesheet Language (XSL) Transformations) is a language for transforming XML documents into other XML documents. It is a standard defined by The World Wide Web Consortium (W3C). Information about XSLT and related technologies can be found at » http://www.w3.org/TR/xslt.

Nota: This extension is different than the sablotron extension distributed with versions of PHP prior to PHP 4.1.0, currently only the new XSLT extension in PHP 4.1.0 is supported. If you need support for the old extension, please ask your questions on the PHP mailing lists.

Nota:

Esta extensión se ha movido al repositorio de » PECL y ya no es más distribuída con PHP a partir de PHP 5.0.0.

Nota: If you need xslt support with PHP 5 you can use the XSL extension.

XSLT (PHP 4)
Instalación/Configuración
XSLT (PHP 4)


Instalación/Configuración

Tabla de contenidos

  • Requerimientos
  • Instalación
  • Configuración en tiempo de ejecución
  • Tipos de recursos
Introducción
Requerimientos
XSLT (PHP 4)


Requerimientos

Esta extensión requiere la extensión de PHP libxml. Esto significa que también es necesario pasar la opción --enable-libxml , aunque esto se realiza implícitamente debido a que libxml está habilitada de forma predeterminada.

This extension uses Sablotron and expat, which can both be found at » http://sablotron.sourceforge.net/. Binaries are provided as well as source.

Enable by using the --with-xslt option with PHP 4.

Instalación/Configuración
Instalación
Instalación/Configuración


Instalación

On Unix, run configure with the --enable-xslt --with-xslt-sablot options. The Sablotron library should be installed somewhere your compiler can find it.

Make sure you have the same libraries linked to the Sablotron library as those, which are linked with PHP. The configuration options: --with-expat-dir=DIR --with-iconv-dir=DIR are there to help you specify them. When asking for support, always mention these directives, and whether there are other versions of those libraries installed on your system somewhere. Naturally, provide all the version numbers.

Precaución

Be sure your Sablotron library is linked to -lstdc++ as otherwise your configure will fail, or PHP will fail to run or load.

Nota: JavaScript E-XSLT support
If you compiled Sablotron with JavaScript support, you must specify the option: --with-sablot-js=DIR .

Nota: Note to Win32 Users

Para que esta extensión funcione, hay unos ficheros DLL que deben estar disponibles en el sistema de Windows PATH. Para más información en como hacer esto, vea la FAQ titulada "Como añadir mi directorio PHP en el PATH de Windows". Aunque copiar los ficheros DLL desde el directorio PHP al directorio del sistema de Windows también funciona (porque el directorio del sistema por defecto es el PATH del sistema), esto no se recomienda. Esta extensión requiere que los siguientes ficheros esten en el PATH: sablot.dll, expat.dll, and iconv.dll

For PHP <= 4.2.0, the file iconv.dll is not required.

Requerimientos
Configuración en tiempo de ejecución
Instalación/Configuración


Tipos de recursos

This extension defines a XSLT processor resource returned by xslt_create().

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

XSLT_OPT_SILENT (integer)
Drop all logging and error reporting. This is a generic option for all backends that may be added in the future.
XSLT_SABOPT_PARSE_PUBLIC_ENTITIES (integer)

Tell Sablotron to parse public entities. By default this has been turned off.

XSLT_SABOPT_DISABLE_ADDING_META (integer)

Do not add the meta tag "Content-Type" for HTML output. The default is set during compilation of Sablotron.

XSLT_SABOPT_DISABLE_STRIPPING (integer)
Suppress the whitespace stripping (on data files only).
XSLT_SABOPT_IGNORE_DOC_NOT_FOUND (integer)
Consider unresolved documents (the document() function) non-lethal.
XSLT_SABOPT_FILES_TO_HANDLER (integer)
XSLT_ERR_UNSUPPORTED_SCHEME (integer)
Error return code, for scheme handlers.
Tipos de recursos
Funciones de XSLT (PHP 4)
XSLT (PHP 4)


Funciones de XSLT (PHP 4)

Tabla de contenidos

  • xslt_backend_info — Devuelve la información sobre las opciones de compilación del servidor
  • xslt_backend_name — Devuelve el nombre del backend
  • xslt_backend_version — Devuelve el número de versión de Sablotron
  • xslt_create — Crear un nuevo procesador de XSLT
  • xslt_errno — Devuelve un número de error
  • xslt_error — Devuelve una cadena de errores
  • xslt_free — Libera el procesador de XSLT
  • xslt_getopt — Obtener las opciones de un procesador XSL dado
  • xslt_process — Perform an XSLT transformation
  • xslt_set_base — Establecer el URI base para todas las transformaciones XSLT
  • xslt_set_encoding — Establecer la codificación para el análisis de documentos XML
  • xslt_set_error_handler — Establecer un manejador de error para un procesador XSLT
  • xslt_set_log — Set the log file to write log messages to
  • xslt_set_object — Establece el objeto en que resolver funciones de devolución de llamada
  • xslt_set_sax_handler — Establecer manejadores SAX para un procesador XSLT
  • xslt_set_sax_handlers — Establecer los manejadores SAX que se llamará cuando el documento XML se procesa
  • xslt_set_scheme_handler — Establecer manejadores de esquema para un procesador XSLT
  • xslt_set_scheme_handlers — Set the scheme handlers for the XSLT processor
  • xslt_setopt — Set options on a given XSLT processor
Constantes predefinidas
xslt_backend_info
XSLT (PHP 4)


Devuelve la información sobre las opciones de compilación del servidor

Funciones de XSLT (PHP 4)
xslt_backend_name
Funciones de XSLT (PHP 4)
PHP Manual

xslt_backend_info

(PHP 4 >= 4.3.0)

xslt_backend_info — Devuelve la información sobre las opciones de compilación del servidor

Descripción

string xslt_backend_info ( void )

xslt_backend_info() Obtiene la información sobre las opciones de compilación del servidor.

Valores devueltos

Devuelve una cadena con la información sobre la compilación de la configuración del servidor o una cadena de errores cuando no hay información disponible.

Ver también

  • xslt_backend_name() - Devuelve el nombre del backend
  • xslt_backend_version() - Devuelve el número de versión de Sablotron

Funciones de XSLT (PHP 4)
xslt_backend_name
Funciones de XSLT (PHP 4)


Devuelve el nombre del backend

xslt_backend_info
xslt_backend_version
Funciones de XSLT (PHP 4)
PHP Manual

xslt_backend_name

(PHP 4 >= 4.3.0)

xslt_backend_name — Devuelve el nombre del backend

Descripción

string xslt_backend_name ( void )

xslt_backend_name() obtiene el nombre del servidor.

Valores devueltos

Devuelve Sablotron.

Ejemplos

Ejemplo #1 xslt_backend_name() ejemplo

<?php

echo xslt_backend_name(); // Sablotron

?>

Ver también

  • xslt_backend_info() - Devuelve la información sobre las opciones de compilación del servidor
  • xslt_backend_version() - Devuelve el número de versión de Sablotron

xslt_backend_info
xslt_backend_version
Funciones de XSLT (PHP 4)


Devuelve el número de versión de Sablotron

xslt_backend_name
xslt_create
Funciones de XSLT (PHP 4)
PHP Manual

xslt_backend_version

(PHP 4 >= 4.3.0)

xslt_backend_version — Devuelve el número de versión de Sablotron

Descripción

string xslt_backend_version ( void )

xslt_backend_version() obtiene el número de la versión Sablotron.

Valores devueltos

Devuelve el número de versión, o FALSE si no está disponible.

Ejemplos

Ejemplo #1 xslt_backend_version() ejemplo

<?php

echo xslt_backend_version(); // 0.98 for example

?>

Ver también

  • xslt_backend_info() - Devuelve la información sobre las opciones de compilación del servidor
  • xslt_backend_name() - Devuelve el nombre del backend

xslt_backend_name
xslt_create
Funciones de XSLT (PHP 4)


Crear un nuevo procesador de XSLT

xslt_backend_version
xslt_errno
Funciones de XSLT (PHP 4)
PHP Manual

xslt_create

(PHP 4 >= 4.0.3)

xslt_create — Crear un nuevo procesador de XSLT

Descripción

resource xslt_create ( void )

Crea y devuelve un nuevo recurso de procesador de XSLT para la manipulación de las otras funciones de XSLT.

Valores devueltos

Devuelve un identificador de enlace de procesador de XSLT en caso de éxito, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de xslt_create()

<?php
function xml2html($xmldata, $xsl)
{
    /* $xmldata -> el XML */
    /* $xsl -> fichero XSLT */

    $path = 'include';
    $arguments = array('/_xml' => $xmldata);
    $xsltproc = xslt_create();
    xslt_set_encoding($xsltproc, 'ISO-8859-1');
    $html =
        xslt_process($xsltproc, 'arg:/_xml', "$path/$xsl", NULL, $arguments);

    if (empty($html)) {
       die('XSLT processing error: '. xslt_error($xsltproc));
    }
    xslt_free($xsltproc);
    return $html;
}
?>

Ver también

  • xslt_free() - Libera el procesador de XSLT

xslt_backend_version
xslt_errno
Funciones de XSLT (PHP 4)


Devuelve un número de error

xslt_create
xslt_error
Funciones de XSLT (PHP 4)
PHP Manual

xslt_errno

(PHP 4 >= 4.0.3)

xslt_errno — Devuelve un número de error

Descripción

int xslt_errno ( resource $xh )

Devuelve un código de error que describe el último error que ocurrió en el procesador XSLT proporcionado.

Parámetros

xh

El identificador de enlace del procesador XSLT, creado con xslt_create().

Valores devueltos

Devuelve el código de error, como un entero.

Ver también

  • xslt_error() - Devuelve una cadena de errores

xslt_create
xslt_error
Funciones de XSLT (PHP 4)


Devuelve una cadena de errores

xslt_errno
xslt_free
Funciones de XSLT (PHP 4)
PHP Manual

xslt_error

(PHP 4 >= 4.0.3)

xslt_error — Devuelve una cadena de errores

Descripción

string xslt_error ( resource $xh )

Devuelve una cadena que describe el último error que ocurrió en el procesador XSLT proporcionado.

Parámetros

xh

El identificador de enlace del procesador XSLT, creado con xslt_create().

Valores devueltos

Devuelve el mensaje de error, como una cadena.

Ejemplos

Ejemplo #1 Manejo de errores utilizando las funciones xslt_error() y xslt_errno().

<?php

$xh = xslt_create();
$result = xslt_process($xh, 'dog.xml', 'pets.xsl');
if (!$result) {
    die(sprintf("No se pudo procesar el documente XSLT [%d]: %s",
                xslt_errno($xh), xslt_error($xh)));
}

echo $result;

xslt_free($xh);
?>

Ver también

  • xslt_errno() - Devuelve un número de error

xslt_errno
xslt_free
Funciones de XSLT (PHP 4)


Libera el procesador de XSLT

xslt_error
xslt_getopt
Funciones de XSLT (PHP 4)
PHP Manual

xslt_free

(PHP 4 >= 4.0.3)

xslt_free — Libera el procesador de XSLT

Descripción

void xslt_free ( resource $xh )

Libera el procesador de XSLT identificado por el manejador dado.

Parámetros

xh

El identificador de enlace del procesador XSLT, creado con xslt_create().

Valores devueltos

No devuelve ningún valor.

Ver también

  • xslt_create() - Crear un nuevo procesador de XSLT

xslt_error
xslt_getopt
Funciones de XSLT (PHP 4)


Obtener las opciones de un procesador XSL dado

xslt_free
xslt_process
Funciones de XSLT (PHP 4)
PHP Manual

xslt_getopt

(PHP 4 >= 4.3.0)

xslt_getopt — Obtener las opciones de un procesador XSL dado

Descripción

int xslt_getopt ( resource $processor )

xslt_getopt() devuelve las opciones del procesador dado por processor.

Parámetros

processor

El identificador de enlace del procesador XSLT, creado con xslt_create().

Valores devueltos

Devuelve las opciones, una máscara de bits construida con las constantes XSLT_SABOPT_XXX.

Ver también

  • xslt_setopt() - Set options on a given XSLT processor

xslt_free
xslt_process
Funciones de XSLT (PHP 4)


Perform an XSLT transformation

xslt_getopt
xslt_set_base
Funciones de XSLT (PHP 4)
PHP Manual

xslt_process

(PHP 4 >= 4.0.3)

xslt_process — Perform an XSLT transformation

Descripción

mixed xslt_process ( resource $xh , string $xmlcontainer , string $xslcontainer [, string $resultcontainer [, array $arguments [, array $parameters ]]] )

The xslt_process() function is the crux of the XSLT extension. It allows you to perform an XSLT transformation using almost any type of input source - the containers. This is accomplished through the use of argument buffers -- a concept taken from the Sablotron XSLT processor (currently the only XSLT processor this extension supports). The input containers default to a filename 'containing' the document to be processed.

Parámetros

xh

El identificador de enlace del procesador XSLT, creado con xslt_create().

xmlcontainer

Path to XML file or placeholder for the XML argument.

xslcontainer

Path to XSL file or placeholder for the XML argument.

resultcontainer

The result container defaults to a filename for the transformed document. If the result container is not specified - i.e. NULL - than the result is returned.

arguments

Instead of files as the XML and XSLT arguments to the xslt_process() function, you can specify "argument place holders" which are then substituted by values given in the arguments array.

parameters

An array for any top-level parameters that will be passed to the XSLT document. These parameters can then be accessed within your XSL files using the <xsl:param name="parameter_name"> instruction. The parameters must be UTF-8 encoded and their values will be interpreted as strings by the Sablotron processor. In other words - you cannot pass node-sets as parameters to the XSLT document.

Containers can also be set via the arguments array (see below).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. If the result container is not specified - i.e. NULL - than the result is returned.

Historial de cambios

Versión | Descripción
4.0.6 | This function no longer takes XML strings in xmlcontainer or xslcontainer. Passing a string containing XML to either of these parameters will result in a segmentation fault in Sablotron versions up to and including version 0.95.

Ejemplos

The simplest type of transformation with the xslt_process() function is the transformation of an XML file with an XSLT file, placing the result in a third file containing the new XML (or HTML) document. Doing this with Sablotron is really quite easy...

Ejemplo #1 Using the xslt_process() to transform an XML file and a XSL file to a new XML file

<?php

// Allocate a new XSLT processor
$xh = xslt_create();

// Process the document
if (xslt_process($xh, 'sample.xml', 'sample.xsl', 'result.xml')) {
    echo "SUCCESS, sample.xml was transformed by sample.xsl into result.xml";
    echo ", result.xml has the following contents\n<br />\n";
    echo "<pre>\n";
    readfile('result.xml');
    echo "</pre>\n";
} else {
    echo "Sorry, sample.xml could not be transformed by sample.xsl into";
    echo "  result.xml the reason is that " . xslt_error($xh) . " and the ";
    echo "error code is " . xslt_errno($xh);
}

xslt_free($xh);

?>

While this functionality is great, many times, especially in a web environment, you want to be able to print out your results directly. Therefore, if you omit the third argument to the xslt_process() function (or provide a NULL value for the argument), it will automatically return the value of the XSLT transformation, instead of writing it to a file...

Ejemplo #2 Using the xslt_process() to transform an XML file and a XSL file to a variable containing the resulting XML data

<?php

// Allocate a new XSLT processor
$xh = xslt_create();

// Process the document, returning the result into the $result variable
$result = xslt_process($xh, 'sample.xml', 'sample.xsl');
if ($result) {
    echo "SUCCESS, sample.xml was transformed by sample.xsl into the \$result";
    echo " variable, the \$result variable has the following contents\n<br />\n";
    echo "<pre>\n";
    echo $result;
    echo "</pre>\n";
} else {
    echo "Sorry, sample.xml could not be transformed by sample.xsl into";
    echo "  the \$result variable the reason is that " . xslt_error($xh);
    echo " and the error code is " . xslt_errno($xh);
}

xslt_free($xh);

?>

The above two cases are the two simplest cases there are when it comes to XSLT transformation and I'd dare say that they are the most common cases, however, sometimes you get your XML and XSLT code from external sources, such as a database or a socket. In these cases you'll have the XML and/or XSLT data in a variable -- and in production applications the overhead of dumping these to file may be too much. This is where XSLT's "argument" syntax, comes to the rescue. Instead of files as the XML and XSLT arguments to the xslt_process() function, you can specify "argument place holders" which are then substituted by values given in the arguments array (5th parameter to the xslt_process() function). The following is an example of processing XML and XSLT into a result variable without the use of files at all.

Ejemplo #3 Using the xslt_process() to transform a variable containing XML data and a variable containing XSL data into a variable containing the resulting XML data

<?php
// $xml and $xsl contain the XML and XSL data

$arguments = array(
     '/_xml' => $xml,
     '/_xsl' => $xsl
);

// Allocate a new XSLT processor
$xh = xslt_create();

// Process the document
$result = xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments);
if ($result) {
    echo "SUCCESS, sample.xml was transformed by sample.xsl into the \$result";
    echo " variable, the \$result variable has the following contents\n<br />\n";
    echo "<pre>\n";
    echo $result;
    echo "</pre>\n";
} else {
    echo "Sorry, sample.xml could not be transformed by sample.xsl into";
    echo "  the \$result variable the reason is that " . xslt_error($xh);
    echo " and the error code is " . xslt_errno($xh);
}
xslt_free($xh);
?>

Ejemplo #4 Passing PHP variables to XSL files

<?php

// XML string
$xml = '<?xml version="1.0"?>
<para>
 change me
</para>';

// XSL string
$xsl = '
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="ISO-8859-1" indent="no"
 omit-xml-declaration="yes"  media-type="text/html"/>
 <xsl:param name="myvar"/>
 <xsl:param name="mynode"/>
 <xsl:template match="/">
My PHP variable : <xsl:value-of select="$myvar"/><br />
My node set : <xsl:value-of select="$mynode"/>
 </xsl:template>
</xsl:stylesheet>';

$xh = xslt_create();

// the second parameter will be interpreted as a string
$parameters = array (
  'myvar' => 'test',
  'mynode' => '<foo>bar</foo>'
);

$arguments = array (
  '/_xml' => $xml,
  '/_xsl' => $xsl
);

echo xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments, $parameters);

?>

El resultado del ejemplo sería:

My PHP variable : test<br>
My node set : &lt;foo&gt;bar&lt;/foo&gt;

Notas

Nota:

Por favor note que se necesita file:// adelante de la ruta cuando utiliza Windows.

xslt_getopt
xslt_set_base
Funciones de XSLT (PHP 4)


Establecer el URI base para todas las transformaciones XSLT

xslt_process
xslt_set_encoding
Funciones de XSLT (PHP 4)
PHP Manual

xslt_set_base

(PHP 4 >= 4.0.5)

xslt_set_base — Establecer el URI base para todas las transformaciones XSLT

Descripción

void xslt_set_base ( resource $xh , string $uri )

Establecer el URI base para todas las transformaciones XSLT, el URI base es usado con instrucciones Xpath para resolver document() y otros comandos que acceden a recursos externos. También se utiliza para resolver a URIs para los elementos <xsl:include> y <xsl:import>.

Parámetros

xh

El identificador de enlace del procesador XSLT, creado con xslt_create().

uri

El URI base a ser utilizado.

Valores devueltos

No devuelve ningún valor.

Historial de cambios

Versión | Descripción
4.3.0 | A partir de PHP 4.3.0, el URI base por defecto está en el directorio de el script de ejecución. En efecto, es el valor de nombre del directorio de la constante __FILE__. El valor por defecto del URI base es menos predecible con versiones anteriores.

Notas

Nota:

Por favor note que se necesita file:// adelante de la ruta cuando utiliza Windows.

xslt_process
xslt_set_encoding
Funciones de XSLT (PHP 4)


Establecer la codificación para el análisis de documentos XML

xslt_set_base
xslt_set_error_handler
Funciones de XSLT (PHP 4)
PHP Manual

xslt_set_encoding

(PHP 4 >= 4.0.5)

xslt_set_encoding — Establecer la codificación para el análisis de documentos XML

Descripción

void xslt_set_encoding ( resource $xh , string $encoding )

Establecer la codificación de salida para las transformaciones XSLT. Cuando se utiliza el backend Sablotron, Esta opción sólo está disponible cuando se compila Sablotron con soporte de codificación.

Parámetros

xh

El identificador de enlace del procesador XSLT, creado con xslt_create().

encoding

Una codificación de salida, p.e.j. iso-8859-1.

Valores devueltos

No devuelve ningún valor.

xslt_set_base
xslt_set_error_handler
Funciones de XSLT (PHP 4)


Establecer un manejador de error para un procesador XSLT

xslt_set_encoding
xslt_set_log
Funciones de XSLT (PHP 4)
PHP Manual

xslt_set_error_handler

(PHP 4 >= 4.0.4)

xslt_set_error_handler — Establecer un manejador de error para un procesador XSLT

Descripción

void xslt_set_error_handler ( resource $xh , mixed $handler )

Establece una función de manejador de error para el procesador XSLT dado por xh, Esta función se llamará cuando se produce un error en la transformación XSLT (esta función también es llamada para avisos).

Parámetros

xh

El identificador de enlace del procesador XSLT, creado con xslt_create().

handler

La función de usuario necesita aceptar cuatro parámetros: el procesador XSLT, el nivel de error, el código de error y un array de mensajes. La función se puede mostrar como:

error_handler ( resource $xh , int $error_level , int $error_code , array $messages )

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de xslt_set_error_handler()

<?php

// Nuestro manejador de errores XSLT
function xslt_error_handler($handler, $errno, $level, $info)
{
  // por ahora, vamos a ver sólo los argumentos
  var_dump(func_get_args());
}

// Contenido XML :
$xml='<?xml version="1.0"?>
<para>
 oops, escrita mal la etiqueta de cierre
</pata>';

// Contenido XSL :
$xsl='<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
   <strong><xsl:value-of select="para"/></strong>
</xsl:template>
</xsl:stylesheet>';

$xh = xslt_create();

xslt_set_error_handler($xh, "xslt_error_handler");

echo xslt_process($xh, 'arg:/_xml', 'arg:/_xsl',
                  NULL, array("/_xml" => $xml, "/_xsl" => $xsl));

?>

El resultado del ejemplo sería algo similar a:

array(4) {
  [0]=>
  resource(1) of type (XSLT Processor)
  [1]=>
  int(3)
  [2]=>
  int(0)
  [3]=>
  array(6) {
    ["msgtype"]=>
    string(5) "error"
    ["code"]=>
    string(1) "2"
    ["module"]=>
    string(9) "Sablotron"
    ["URI"]=>
    string(9) "arg:/_xml"
    ["line"]=>
    string(1) "4"
    ["msg"]=>
    string(34) "XML parser error 7: mismatched tag"
  }
}

Ver también

  • xslt_set_object() - Establece el objeto en que resolver funciones de devolución de llamada Si desea utilizar un método de objeto como manejador

xslt_set_encoding
xslt_set_log
Funciones de XSLT (PHP 4)


Set the log file to write log messages to

xslt_set_error_handler
xslt_set_object
Funciones de XSLT (PHP 4)
PHP Manual

xslt_set_log

(PHP 4 >= 4.0.6)

xslt_set_log — Set the log file to write log messages to

Descripción

void xslt_set_log ( resource $xh [, mixed $log ] )

This function allows you to set the file in which you want XSLT log messages to, XSLT log messages are different than error messages, in that log messages are not actually error messages but rather messages related to the state of the XSLT processor. They are useful for debugging XSLT, when something goes wrong.

By default logging is disabled, in order to enable logging you must first call xslt_set_log() with a boolean parameter which enables logging, then if you want to set the log file to debug to, you must then pass it a string containing the filename.

Parámetros

xh

El identificador de enlace del procesador XSLT, creado con xslt_create().

log

This parameter is either a boolean value which toggles logging on and off, or a string containing the logfile in which log errors too.

Valores devueltos

No devuelve ningún valor.

Notas

Nota:

Por favor note que se necesita file:// adelante de la ruta cuando utiliza Windows.

Ejemplos

Ejemplo #1 Using the XSLT Logging features

<?php

$xh = xslt_create();
xslt_set_log($xh, true);
xslt_set_log($xh, getcwd() . '/myfile.log');

$result = xslt_process($xh, 'dog.xml', 'pets.xsl');
echo $result;

xslt_free($xh);
?>

xslt_set_error_handler
xslt_set_object
Funciones de XSLT (PHP 4)


Establece el objeto en que resolver funciones de devolución de llamada

xslt_set_log
xslt_set_sax_handler
Funciones de XSLT (PHP 4)
PHP Manual

xslt_set_object

(PHP 4 >= 4.3.0)

xslt_set_object — Establece el objeto en que resolver funciones de devolución de llamada

Descripción

bool xslt_set_object ( resource $processor , object &$obj )

Esta función permite usar el processor dentro de un object y resolver todas las funciones de devolución de llamada en el mismo.

las funciones de devolución de llamada pueden ser declaradas con xslt_set_sax_handlers(), xslt_set_scheme_handlers() o xslt_set_error_handler() y se supone que son los métodos de object.

Parámetros

processor

El identificador de enlace del procesador XSLT, creado con xslt_create().

obj

Un objeto.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Usando su propio manejador de errores como un método

<?php

class my_xslt_processor {

    var $_xh; // nuestro procesador XSLT

    function my_xslt_processor()
    {
        $this->_xh = xslt_create();

        // Hacer que el objeto $this resuelva la devolución de llamada
        xslt_set_object($this->_xh, $this);

        // Vamos a manejar los errores
        xslt_set_error_handler($this->_xh, "my_xslt_error_handler");
    }

    function my_xslt_error_handler($handler, $errno, $level, $info)
    {
        // por ahora, vamos a ver sólo los argumentos
        var_dump(func_get_args());
    }
}

?>
xslt_set_log
xslt_set_sax_handler
Funciones de XSLT (PHP 4)


Establecer manejadores SAX para un procesador XSLT

xslt_set_object
xslt_set_sax_handlers
Funciones de XSLT (PHP 4)
PHP Manual

xslt_set_sax_handler

(PHP 4 >= 4.0.3)

xslt_set_sax_handler — Establecer manejadores SAX para un procesador XSLT

Descripción

void xslt_set_sax_handler ( resource $xh , array $handlers )

Establece manejadores SAX handlers en el manejador de recursos dado por xh.

Parámetros

xh

El identificador de enlace del procesador XSLT, creado con xslt_create().

handlers

Los manejadores SAX deben ser dos array bidimensional con el formato (todos los elementos de nivel superior son opcionales):

array(
[document] =>
    array(
        inicio del manejador de documentos,
        fin del manejador de documentos
    ),
[element] =>
    array(
        inicio del manejador de elemento,
        fin del manejador de elemento
    ),
[namespace] =>
    array(
        inicio del manejador de namespace,
        fin del manejador de namespace
    ),
[comment] => manejador de comentario,
[pi] => manejador de instrucción de procesamiento,
[character] => manejador de datos de carácter
)

Valores devueltos

No devuelve ningún valor.

xslt_set_object
xslt_set_sax_handlers
Funciones de XSLT (PHP 4)


Establecer los manejadores SAX que se llamará cuando el documento XML se procesa

xslt_set_sax_handler
xslt_set_scheme_handler
Funciones de XSLT (PHP 4)
PHP Manual

xslt_set_sax_handlers

(PHP 4 >= 4.0.6)

xslt_set_sax_handlers — Establecer los manejadores SAX que se llamará cuando el documento XML se procesa

Descripción

void xslt_set_sax_handlers ( resource $processor , array $handlers )

xslt_set_sax_handlers() registra el SAX handlers para el documento, dado un XSLT recurso processor.

El uso de xslt_set_sax_handlers() no se ve muy diferente a ejecutar un analizador SAX como xml_parse() sobre el resultado de una transformación. xslt_process().

Parámetros

processor

El identificador de enlace del procesador XSLT, creado con xslt_create().

handlers

handlers debe ser una matriz en el siguiente formato:

<?php

$handlers = array(

  "document" => array(
    "start_doc",
    "end_doc"),

  "element"  => array(
    "start_element",
    "end_element"),

  "namespace" => array(
    "start_namespace",
    "end_namespace"),

  "comment"   => "comment",

  "pi"        => "pi",

  "character" => "characters"

);
?>
Cuando las funciones siguen la sintaxis descrita para las funciones esquema de controlador.

Nota:

El vector no tiene por qué contener todos los diferentes elementos de la guía SAX (aunque se puede), pero sólo tiene que ajustarse a el formato "handler" => "function" descrito anteriormente.

Cada una de las funciones individuales del controlador SAX se encuentran en el siguiente formato:

  • start_doc ( resource $processor )

  • end_doc ( resource $processor )

  • start_element ( resource $processor , string $name , array $attributes )

  • end_element ( resource $processor , string $name )

  • start_namespace ( resource $processor , string $prefix , string $uri )

  • end_namespace ( resource $processor , string $prefix )

  • comment ( resource $processor , string $contents )

  • pi ( resource $processor , string $target , string $contents )

  • characters ( resource $processor , string $contents )

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de xslt_set_sax_handlers()

<?php
// From ohlesbeauxjours at yahoo dot fr
// Here's a simple example that applies strtoupper() on
// the content of every <auteur> tag and then displays the
// resulting XML tree:

$xml='<?xml version="1.0"?>
<books>
 <book>
  <title>Mme Bovary</title>
  <author>Gustave Flaubert</author>
 </book>
 <book>
  <title>Mrs Dalloway</title>
  <author>Virginia Woolf</author>
 </book>
</books>';

$xsl='<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="ISO-8859-1" indent="no" omit-xml-declaration="yes"/>
<xsl:template match="/">
 <xsl:for-each select="books/book">
  <livre>
   <auteur><xsl:value-of select="author/text()"/></auteur>
  </livre>
 </xsl:for-each>
</xsl:template>
</xsl:stylesheet>';

// Handlers :
function start_document()
{
  // start reading the document
}

function end_document()
{
  // end reading the document
}

function start_element($parser, $name, $attributes)
{
  global $result,$tag;
  $result .= "<". $name . ">";
  $tag = $name;
}

function end_element($parser, $name)
{
  global $result;
  $result .= "</" . $name . ">";
}

function characters($parser, $data)
{
  global $result,$tag;
  if ($tag == "auteur" ) {
    $data = strtoupper($data);
  }
  $result .= $data;
}

// Transformation :
$xh = xslt_create();
$handlers = array("document" => array("start_document","end_document"),
   "element" => array("start_element","end_element"),
   "character" => "characters");

xslt_set_sax_handlers($xh, $handlers);
xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, array("/_xml"=>$xml, "/_xsl"=>$xsl));
xslt_free($xh);
?>

También se puede utilizar xslt_set_object() si quiere aplicar los controladores en un objeto.

Ejemplo #2 Guía de orientación a objetos

<?php
// This is the object oriented version of the previous example
class data_sax_handler {

  var $buffer, $tag, $attrs;

  var $_xh;

  function data_sax_handler($xml, $xsl)
  {
      // our xslt resource
      $this->_xh = xslt_create();

      xslt_set_object($this->_xs, $this);

      // configure sax handlers
      $handlers = array(
        "document" => array('start_document', 'end_document'),
        "element" => array('start_element', 'end_element'),
        "character" => 'characters'
      );

      xslt_set_sax_handlers($this->_xh, $handlers);

      xslt_process($this->_xh, 'arg:/_xml', 'arg:/_xsl', NULL, array("/_xml"=>$xml, "/_xsl"=>$xsl));
      xslt_free($this->_xh);

  }

  function start_document()
  {
        // start reading the document
  }

  function end_document() {
        // complete reading the document
  }

  function start_element($parser, $name, $attributes) {
        $this->tag = $name;
        $this->buffer .= "<" . $name . ">";
        $this->attrs = $attributes;
  }

  function end_element($parser, $name)
  {
        $this->tag = '';
        $this->buffer .= "</" . $name . ">";
  }

  function characters($parser, $data)
  {
    if ($this->tag == 'auteur') {
          $data = strtoupper($data);
    }
    $this->buffer .= $data;
  }

  function get_buffer() {
    return $this->buffer;
  }

}

$exec = new data_sax_handler($xml, $xsl);

?>

Salida de ambos ejemplos:

<livre>
   <auteur>GUSTAVE FLAUBERT</auteur>
</livre>
<livre>
   <auteur>VIRGINIA WOOLF</auteur>
</livre>
xslt_set_sax_handler
xslt_set_scheme_handler
Funciones de XSLT (PHP 4)


Establecer manejadores de esquema para un procesador XSLT

xslt_set_sax_handlers
xslt_set_scheme_handlers
Funciones de XSLT (PHP 4)
PHP Manual

xslt_set_scheme_handler

(PHP 4 >= 4.0.5)

xslt_set_scheme_handler — Establecer manejadores de esquema para un procesador XSLT

Descripción

void xslt_set_scheme_handler ( resource $xh , array $handlers )

Establece manejadores de esquema en el manejador de recursos dado por xh.

Parámetros

xh

El identificador de enlace del procesador XSLT, creado con xslt_create().

handlers

Los manejadores de esquema deben ser un array con el formato (todos los elementos son opcionales):

array(
[get_all] => obtener todos los manejadores,
[open] => abrir manejador,
[get] => obtener manejador,
[put] => poner el manejador,
[close] => cerrar el manejador
)

Valores devueltos

No devuelve ningún valor.

xslt_set_sax_handlers
xslt_set_scheme_handlers
Funciones de XSLT (PHP 4)


Set the scheme handlers for the XSLT processor

xslt_set_scheme_handler
xslt_setopt
Funciones de XSLT (PHP 4)
PHP Manual

xslt_set_scheme_handlers

(PHP 4 >= 4.0.6)

xslt_set_scheme_handlers — Set the scheme handlers for the XSLT processor

Descripción

void xslt_set_scheme_handlers ( resource $xh , array $handlers )

Registers the scheme handlers (XPath handlers) for the document.

Parámetros

xh

El identificador de enlace del procesador XSLT, creado con xslt_create().

handlers

An array with the following keys: "get_all", "open", "get", "put", and "close".

Every entry must be a function name or an array in the following format: array($obj, "method").

Note that the given array does not need to contain all of the different scheme handler elements (although it can), but it only needs to conform to the "handler" => "function" format described above.

Each of the individual scheme handler functions called are in the formats below:

string   get_all(resource processor, string scheme, string rest)
resource open(resource processor, string scheme, string rest)
int      get(resource processor, resource fp, string &data)
int      put(resource processor, resource fp, string data)
void     close(resource processor, resource fp)

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 xslt_set_scheme_handlers() example

For example, here is an implementation of the "file_exists()" PHP function.

<?php

// Definition of the handler
function mySchemeHandler($processor, $scheme, $rest)
{
    $rest = substr($rest,1);    // to remove the first / automatically added by the engine
    if ($scheme == 'file_exists') {
        // result is embedded in a small xml string
        return '<?xml version="1.0" encoding="UTF-8"?><root>' . (file_exists($rest) ? 'true' : 'false') . '</root>';
    }
}

$SchemeHandlerArray = array('get_all' => 'mySchemeHandler');

// Start the engine
$params = array();
$xh = xslt_create();

xslt_set_scheme_handlers($xh, $SchemeHandlerArray);

$result = xslt_process($xh, "myFile.xml", "myFile.xsl", NULL, array(), $params);
xslt_free($xh);

echo $result;

?>

Then, inside the stylesheet, you can test whether a certain file exists with:

<xsl:if test="document('file_exists:anotherXMLfile.xml')/root='true'">
 <!-- The file exist -->
</xsl:if>

Ver también

  • xslt_set_scheme_handler() - Establecer manejadores de esquema para un procesador XSLT

xslt_set_scheme_handler
xslt_setopt
Funciones de XSLT (PHP 4)


Set options on a given XSLT processor

xslt_set_scheme_handlers
El núcleo de PHP: Guía del Hacker
Funciones de XSLT (PHP 4)
PHP Manual

xslt_setopt

(PHP 4 >= 4.3.0)

xslt_setopt — Set options on a given XSLT processor

Descripción

mixed xslt_setopt ( resource $processor , int $newmask )

xslt_setopt() sets the options specified by newmask on the given processor.

Parámetros

processor

El identificador de enlace del procesador XSLT, creado con xslt_create().

newmask

newmask is a bitmask constructed with the following constants:

  • XSLT_SABOPT_PARSE_PUBLIC_ENTITIES - Tell the processor to parse public entities. By default this has been turned off.

  • XSLT_SABOPT_DISABLE_ADDING_META - Do not add the meta tag "Content-Type" for HTML output. The default is set during the compilation of the processor.

  • XSLT_SABOPT_DISABLE_STRIPPING - Suppress the whitespace stripping (on data files only).

  • XSLT_SABOPT_IGNORE_DOC_NOT_FOUND - Consider unresolved documents (the document() function) non-lethal.

Valores devueltos

Returns the number of previous mask is possible, TRUE otherwise, FALSE in case of an error.

Ejemplos

Ejemplo #1 xslt_setopt() Example

<?php

$xh = xslt_create();

// Tell Sablotron to process public entities
xslt_setopt($xh, XSLT_SABOPT_PARSE_PUBLIC_ENTITIES);

// Let's also ask it to suppress whitespace stripping
xslt_setopt($xh, xslt_getopt($xh) | XSLT_SABOPT_DISABLE_STRIPPING);

?>

Ver también

  • xslt_getopt() - Obtener las opciones de un procesador XSL dado

xslt_set_scheme_handlers
El núcleo de PHP: Guía del Hacker
Funciones de XSLT (PHP 4)


El núcleo de PHP: Guía del Hacker

  • Preface
  • Memory management
    • Basic memory management
    • Data persistence
    • Thread-Safe Resource Manager
  • Working with Variables
    • Introduction to Variables
    • Working with Arrays
    • Working with HashTable
    • Working with Objects
  • Writing Functions
  • Writing Classes
  • Working with Resources
  • Working with INI settings
  • Trabajar con flujos
  • The "counter" Extension - A Continuing Example
    • Instalación/Configuración
    • Constantes predefinidas
    • Ejemplos
    • Counter — The Counter class
    • Basic — The basic interface
    • Extended — The extended interface
  • The PHP 5 build system
    • Building PHP for extension development
    • The ext_skel script
    • Talking to the UNIX build system: config.m4
    • Talking to the Windows build system: config.w32
  • Extension structure
    • Files which make up an extension
    • Basic constructs
    • The zend_module structure
    • Extension globals
    • Life cycle of an extension
    • Testing an extension
  • PDO Driver How-To
    • Prerequisites
    • Preparation and Housekeeping
    • Fleshing out your skeleton
    • Building
    • Testing
    • Packaging and distribution
    • pdo_dbh_t definition
    • pdo_stmt_t definition
    • Constants
    • Error handling
  • Extension FAQs
  • Zend Engine 2 API reference
  • Zend Engine 2 Opcodes
    • Opcode Descriptions and Examples
  • Zend Engine 1
    • Old introduction
    • API de Flujos para Autores de Extensiones de PHP
    • La API Zend: Hackeando el núcleo de PHP
    • TSRM API
xslt_setopt
Preface
Manual de PHP


Preface

This section of the manual is written for the Hacker: someone thinking about getting their hands dirty, someone who wants an understanding of internals in order to advance their PHP skills, or maybe someone looking to write the next best extension. Whatever the reason, this section will seek to provide a good understanding of the internals of PHP, how to write extensions, how to understand existing code containing mystical macros. All of the important internal functionality is documented here, enough anyway to convince you to read the source.

Out of neceesity, this section assumes the reader has a working knowledge of the C programming language, and associated tools, like compilers and terminal emulaters and the like. You don't need to be the next Alan Turing, but a working knowledge is none the less essential for this section to be of any use. With just that working knowledge, this section should be enough to get you well on the way to earning the title Hacker, and you do have to earn it.

The documentation in this section is current as of PHP 5.3.3, deviations in API functionality are duly noted in the appropriate sections.

Advertencia

This documentation is still under development. The original Zend documentation is preserved in its entirety in the Zend Engine 1 section for those who need it before this documentation is completed.

El núcleo de PHP: Guía del Hacker
Memory management
El núcleo de PHP: Guía del Hacker


Memory management

Tabla de contenidos

  • Basic memory management
  • Data persistence
  • Thread-Safe Resource Manager

Memory management in the Zend Engine is deceptively simple. There are some APIs to learn, and some concepts behind them to understand, but that's about all.

Preface
Basic memory management
El núcleo de PHP: Guía del Hacker


Basic memory management

The engine's memory management is implemented with features important to a system like PHP. The exact functionality of the engine's memory management and the optmizations performed are out of the scope of this document. However, a good understanding of its functionality provides a basis for a good understanding of the rest of the Hacker's Guide, and introduce you to terminology and functionality used throughout PHP.

The most important of its features for the Hacker, and the first thing to mention is tracking allocations. Tracking allocations allow the memory manager to avoid leaks, a thorn in the side of most Hackers. When PHP is built in debug mode (--enable-debug), detected leaks are reported, in a perfect world they would never get to deployment.

While tracking allocations is an important, and highly useful feature, the Hacker should not become lazy! Always attempt to resolve leaks before deploying your code, a memory leak in a SAPI environment can become a very big problem, very quickly.

Another, perhaps more incidental but still noteworthy, feature is that the memory manager is the part that allows a hard limit on memory usage for each instance of PHP. As we all know, there is no such thing as unlimited. If some code is running out of memory, it is likely to be written wrong, either by the Hacker, or the programmer of PHP. Limiting the memory therefore is not a restriction on the language that is supposed to be experienced in production, it is simply a way from stopping development environments from spiraling out of control when mistakes are made, and equally, when bugs are found in production.

From the Hacker's perspective, the memory management API looks very much like libc's (or whoever the Hacker prefers !) malloc implementation.

Main memory APIs
Prototype | Description
void *emalloc(size_t size) | Allocate size bytes of memory.
void *ecalloc(size_t nmemb, size_t size) | Allocate a buffer for nmemb elements of size bytes and makes sure it is initialized with zeros.
void *erealloc(void *ptr, size_t size) | Resize the buffer ptr, which was allocated using emalloc to hold size bytes of memory.
void efree(void *ptr) | Free the buffer pointed by ptr. The buffer had to be allocated by emalloc.
void *safe_emalloc(size_t nmemb, size_t size, size_t offset) | Allocate a buffer for holding nmemb blocks of each size bytes and an additional offset bytes. This is similar to emalloc(nmemb * size + offset) but adds a special protection against overflows.
char *estrdup(const char *s) | Allocate a buffer that can hold the NULL-terminated string s and copy the s into that buffer.
char *estrndup(const char *s, unsigned int length) | Similar to estrdup while the length of the NULL-terminated string is already known.

Nota: The engines memory management functions do not return NULL upon failure, if memory cannot be allocated at runtime, the engine bails and raises an error.

Precaución

Always use valgrind before deploying code and as a normal part of the Hacker's process. The engine can only report and detect leaks where it has allocated the memory. All of PHP is only a thin wrapper around third parties, those third parties do not use the engines memory management. Additionally, valgrind will catch errors that do not always halt or even have an apparent effect at execution time, it is just as important that there should be no errors, as it is important that avoidable leaks should be avoided.

Nota: Some leaks are unavoidable, some libraries rely on the end of a process to free some of their structures, this is normal under some circumstances and acceptable where it is out of the Hacker's control.

While executing in a debug environment, configured with --enable-debug, the leak function used in the next example is actually implemented by the engine and is available to call in userland.

Ejemplo #1 Leak Detection in Action

ZEND_FUNCTION(leak)
{
    long leakbytes = 3;

    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|l", &leakbytes) == FAILURE) {
        return;
    }

    emalloc(leakbytes);
}

El resultado del ejemplo sería algo similar a:

[Thu Oct 22 02:14:57 2009]  Script:  '-'
/home/johannes/src/PHP_5_3/Zend/zend_builtin_functions.c(1377) :  Freeing 0x088888D4 (3 bytes), script=-
=== Total 1 memory leaks detected ===

Nota: USE_ZEND_ALLOC=0 in the environment will stop the memory manager from functioning, all allocations fall back on the default system allocators which can be useful for debugging leaks.

Memory management
Data persistence
Memory management


Data persistence

In this context, data persistence is taken to mean any data that is intended to survive the current request. The memory management within the engine is very focused on request bound allocations, but this is not always practical or appropriate. Persistent memory is sometimes required in order to satisfy requirements of external libraries, it can also be useful while Hacking.

A common use of persistent memory is to enable persistent SQL server connections, though this practice is frowned upon, it is none the less the most common use of this feature.

Nota: All of the following functions take the additional persistent parameter, should this be false, the engine will use its regular allocators (emalloc) and the memory should not be considered persistent. Where memory is allocated as persistent, system allocators are invoked, under most circumstances they are still not able to return NULL pointers just as the Main memory APIs.

Persistent memory APIs
Prototype | Description
void *pemalloc(size_t size, zend_bool persistent) | Allocate size bytes of memory.
void *pecalloc(size_t nmemb, size_t size, zend_bool persistent) | Allocate a buffer for nmemb elements of size bytes and makes sure it is initialized with zeros.
void *perealloc(void *ptr, size_t size, zend_bool persistent) | Resize the buffer ptr, which was allocated using emalloc to hold size bytes of memory.
void pefree(void *ptr, zend_bool persistent) | Free the buffer pointed by ptr. The buffer had to be allocated by pemalloc.
void *safe_pemalloc(size_t nmemb, size_t size, size_t offset, zend_bool persistent) | Allocate a buffer for holding nmemb blocks of each size bytes and an additional offset bytes. This is similar to pemalloc(nmemb * size + offset) but adds a special protection against overflows.
char *pestrdup(const char *s, zend_bool persistent) | Allocate a buffer that can hold the NULL-terminated string s and copy the s into that buffer.
char *pestrndup(const char *s, unsigned int length, zend_bool persistent) | Similar to pestrdup while the length of the NULL-terminated string is already known.
Precaución

It is important to remember that memory allocated to be persistent is not optimized or tracked by the engine; it is not subject to memory_limit, additionally, all variables that are created by the Hacker for the engine must not use persistent memory.

Basic memory management
Thread-Safe Resource Manager
Memory management


Thread-Safe Resource Manager

When PHP is built with Thread Safety enabled, the engine requires a way to isolate contexts from one another, such that the threads of a process may service individual requests without interference. TSRM is omnipitent within PHP, extension authors have to do very little in order to make sure their extensions can function in both a Thread Safe and Non Thread Safe architecture.

Ejemplo #1 Accessor macros for per-module globals

#ifdef ZTS
#define COUNTER_G(v) TSRMG(counter_globals_id, zend_counter_globals *, v)
#else
#define COUNTER_G(v) (counter_globals.v)
#endif

The snippet above shows how an extension author is expected to define their global accessors. The TSRMG macro takes an identifier, type cast and element name. The identifier is assigned by TSRM during initialization of the module. Declaring global accessors in this way ensures that an extension can operate safely in a Thread Safe and Non Thread Safe architecture using the same logic.

TSRM manages the isolation and safety of all global structures within PHP, from executor globals to extension globals, a pointer to the isolated storage is also passed around with most, or many of the API functions. The macros TSRMLS_C and TSRMLS_CC translate to "thread safe local storage" and "thread safe local storage prefixed with a comma" respectively.

If a function requires a pointer to TSRM, it is declared with the macro TSRMLS_D or TSRMLS_DC in it's prototype, wihch translates to "thread safe local storage only" and "thread safe local storage prefixed with a comma" respectively. Many macros within the engine reference TSRM, so it is a good idea to declare most things to accept TSRM, such that if they need to call upon TSRM they do not have to fetch a pointer during execution.

Because TSRM is thread local, and some functions (for compatibility reasons) are not able to accept TSRM directly, the macro TSRMLS_FETCH exists, which requests that TSRM fetches the pointer to the thread local storage. This should be avoided wherever it can be, as it is not without cost in a Thread Safe setup.

Nota: While developing extensions, build errors that contain "tsrm_ls is undefined" or errors to that effect stem from the fact that TSRMLS is undefined in the current scope, to fix this, declare the function to accept TSRMLS with the appropriate macro, if the prototype of the function in question cannot be changed, you must call TSRMLS_FETCH within the function body.

The functionality documented hereafter is aimed at advanced use of TSRM. It is not ordinary for extensions to have to interact with TSRM directly, the pecl programmer should use API's above TSRM such as the Module Globals API.

TSRM Internals
Prototype | Description
typedef int ts_rsrc_id | The type definition to represent a resource by numeric identifiers
int tsrm_startup(int expected_threads, int expected_resources, int debug_level, char *debug_filename) | expected_threads and expected_resources are not hard limits. debug_level and debug_filename only have an effect on windows in Debug mode or when TSRM_DEBUG is defined. Called once per process in ZTS mode during server startup.
void tsrm_shutdown(void) | Should be the last thing called in the process to destroy and free all storage TSRM storage in ZTS mode.
ts_rsrc_id ts_allocate_id(ts_rsrc_id *rsrc_id, size_t size, ts_allocate_ctor ctor, ts_allocate_dtor dtor) | Allocates and thread safe pointer of size bytes, calling ctor on the pointer, assigning (and returning) the id to rsrc_id, the dtor is called when the resource is free'd. Module globals are isolated in ZTS mode using this API.
void *ts_resource_ex(ts_rsrc_id id, THREAD_T *th_id) | Fetches a resource by previously allocated id from the entries created by the specified thread identifed by th_id.
void *ts_resource(ts_rsrc_id id) | Fetches a resource by previously allocated id from the entries created by the calling thread.
void ts_free_thread(void) | Destroys and frees the entries for the calling thread, currently this API is only used by ISAPI module.
void ts_free_id(ts_rsrc_id id) | Destroys the resource identified by previously allocated id. Module globals are cleaned up in ZTS mode using this API.

Nota: There are more TSRM API functions to enable the creation and destruction of interpreter contexts, the usage of such functionality is out of the scope of this documentation, please see TSRM/TSRM.h for more information.

TSRM Mutex API
Prototype | Description
MUTEX_T tsrm_mutex_alloc(void) | Allocates and returns a suitable MUTEX_T for the environment.
int tsrm_mutex_lock(MUTEX_T mutexp) | Locks mutexp for the calling thread.
int tsrm_mutex_unlock(MUTEX_T mutexp) | Unlocks mutexp for the calling thread.
void tsrm_mutex_free(MUTEX_T mutexp); | Destroys and frees the (unlocked) and previously allocated mutexp.

Nota: The mutex API is exposed by TSRM. However, its internal usage is far too wide to document usefully here, none the less, basic functionality and prototypes are documented here.

Data persistence
Working with Variables
Memory management


Working with Variables

Tabla de contenidos

  • Introduction to Variables
  • Working with Arrays
  • Working with HashTable
  • Working with Objects
Thread-Safe Resource Manager
Introduction to Variables
El núcleo de PHP: Guía del Hacker


Introduction to Variables

A good understanding of how variables are stored and manipulated is essential to becoming a Hacker. The engine attempts to cover up the complexity of the concept of a variable that can be any type by providing a uniform and intuitive set of macros for accessing the structures various fields. As the Hacker works through this chapter, they should become comfortable with the terminology and concepts involved with Variables in PHP.

Nota:

PHP is a dynamic, loosely typed language, that uses copy-on-write and reference counting.

To clarify what exactly is meant by the statement above: PHP is a high level language, weak typing is implicit of the engines preference to convert, or coerce variables into the required type at execution type. Reference counting is the means by which the engine can deduce when a variable no longer has any references in the users code, and so is able to free the structures associated with the variable.

All variables in PHP are represented by one structure, the zval:

typedef struct _zval_struct {
    zvalue_value value;        /* variable value */
    zend_uint refcount__gc;    /* reference counter */
    zend_uchar type;           /* value type */
    zend_uchar is_ref__gc;     /* reference flag */
} zval;

The zval_value is a union which can represent all types a variable may hold:

typedef union _zvalue_value {
    long lval;                 /* long value */
    double dval;               /* double value */
    struct {
        char *val;
        int len;               /* this will always be set for strings */
    } str;                     /* string (always has length) */
    HashTable *ht;             /* an array */
    zend_object_value obj;     /* stores an object store handle, and handlers */
} zvalue_value;

It should be clear from the structures above that a variable can be of one type, the variable data is represented by the appropriate field in the zval_value union. The zval itself holds the type, reference count and a flag to indicate if a variable is a reference.

Native Type Constants
Constant | Mapping
IS_NULL | no value is set in this case
IS_LONG | lval
IS_DOUBLE | dval
IS_BOOL | lval
IS_RESOURCE | lval
IS_STRING | str
IS_ARRAY | ht
IS_OBJECT | obj

Nota:

There are additional constants that help to identify internal types such as constant arrays and callable objects, their usage is outside the scope of this part of the documentation.

The following table defines the macros exposed by the engine for working with zval values:

Accessor Macros
Prototype | Accesses | Description
zend_uchar Z_TYPE(zval zv) | type | returns the type of the value
long Z_LVAL(zval zv) | value.lval |
zend_bool Z_BVAL(zval zv) | value.lval | cast long value to zend_bool
double Z_DVAL(zval zv) | value.dval |
long Z_RESVAL(zval zv) | value.lval | returns the resource list identifier for value
char* Z_STRVAL(zval zv) | value.str.val | return the string value
int Z_STRLEN(zval zv) | value.str.len | return the length of the string value
HashTable* Z_ARRVAL(zval zv) | value.ht | return the HashTable (array) value
zend_object_value Z_OBJVAL(zval zv) | value.obj | returns object value
uint Z_OBJ_HANDLE(zval zv) | value.obj.handle | returns the object handle for object value
zend_object_handlers* Z_OBJ_HT_P(zval zv) | value.obj.handlers | returns the handler table for object value
zend_class_entry* Z_OBJCE(zval zv) | value.obj | returns the class entry for object value
HashTable* Z_OBJPROP(zval zv) | value.obj | returns the properties of object value
HashTable* Z_OBJPROP(zval zv) | value.obj | returns the properties of object value
HashTable* Z_OBJDEBUG(zval zv) | value.obj | if an object has the get_debug_info handler set, it is called, else Z_OBJPROP is called

Please check the Introducción a la Cuenta de Referencias chapter for details how reference counting and references work in detail.

Reference Count Manipulation
Prototype | Description
zend_uint Z_REFCOUNT(zval zv) | returns the reference count of the value
zend_uint Z_SET_REFCOUNT(zval zv) | sets the reference count of the value, returning it
zend_uint Z_ADDREF(zval zv) | pre-increments the reference count of value, returning it
zend_uint Z_DELREF(zval zv) | pre-decrements the reference count of value, returning it
zend_bool Z_ISREF(zval zv) | tells if the zval is a reference
void Z_UNSET_ISREF(zval zv) | set is_ref__gc to 0
void Z_SET_ISREF(zval zv) | set is_ref__gc to 1
void Z_SET_ISREF_TO(zval zv, zend_uchar to) | set is_ref__gc to to

Nota:

The Z_* macros above all take a zval, they are all defined again suffixed with _P to take a pointer to a zval, for example zend_uchar Z_TYPE_P(zval* pzv), and again suffixed with _PP to take a pointer to a pointer to a zval, for example zend_uchar Z_TYPE_PP(zval** ppzv)

Creation, Destruction, Separation and Copying
Prototype | Description
ALLOC_ZVAL(zval* pzval) | emallocs pzval
ALLOC_INIT_ZVAL(zval* pzval) | emallocs pzval, and points pzval at a null typed zval for sanity
MAKE_STD_ZVAL(zval* pzval) | emallocs pzval, setting the refcount to 1
ZVAL_COPY_VALUE(zval* dst, zval* src) | sets the value and type of dst from the value and type of src
INIT_PZVAL_COPY(zval* dst, zval*dst) | performs ZVAL_COPY_VALUE, setting refcount of dst to 1, and setting is_ref__gc to 0
SEPARATE_ZVAL(zval** ppzval) | if the refcount of ppzval is >1, redirects *ppzval to a newly emalloc'd, copied, and constructed zval of the same type and value
SEPARATE_ZVAL_IF_NOT_REF(zval** ppzval) | if *ppzval is not a reference, will perform SEPARATE_ZVAL on ppzval
SEPARATE_ZVAL_TO_MAKE_IS_REF(zval** ppzval) | if *ppzval is not a reference, performs SEPARATE_ZVAL then Z_SET_ISREF_PP on ppzval
COPY_PZVAL_TO_ZVAL(zval dst, zval** src) | results in dst being a copy of src without affecting the refcount of src
MAKE_COPY_ZVAL(zval** src, zval* dst) | performs INIT_PZVAL_COPY, then zval_copy_ctor on the new zval
void zval_copy_ctor(zval** pzval) | performs maintenance of reference counts, used widely throughout the engine
void zval_ptr_dtor(zval* pzval) | decrements the refcount for the variable, if no refcounts remain the variable is destroyed
FREE_ZVAL(zval* pzval) | efrees pzval

Nota:

Objects and Resources have a reference count as part of their respective structures, when zval_ptr_dtor is called on either, their appropriate del_ref method is executed. See Working with Objects and Working with Resources for more information.

If the Hacker only has room to remember two more functions, they should be zval_copy_ctor and zval_ptr_dtor, these are at the basis of the engines reference counting mechanisms and it is important to note that zval_copy_ctor does not actually result in any copying occuring under normal circumstances, it simply increases the reference count. By the same token, zval_ptr_dtor only really destroys a variable when there are no references remaining to it and the refcount is at 0.

PHP is weakly typed, as such the engine provides API functions for converting variables from one type to another.

Type Conversion
Prototype
void convert_to_long(zval* pzval)
void convert_to_double(zval* pzval)
void convert_to_long_base(zval* pzval, int base)
void convert_to_null(zval* pzval)
void convert_to_boolean(zval* pzval)
void convert_to_array(zval* pzval)
void convert_to_object(zval* pzval)
void convert_object_to_type(zval* pzval, convert_func_t converter)

Nota:

convert_func_t functions should have the prototype (void) (zval* pzval)

By now you should have a good understanding of: the types that are native to the engine, how to detect types and read zval values, how to manipulate refcounts, and other zval flags

Working with Variables
Working with Arrays
Working with Variables


Working with Arrays

Arrays are stored in HashTable strucures, and have the zval type IS_ARRAY. The API functions for creating, destroying and manipulating these structures as variables are documented here and can be found in Zend/zend_API.h

HashTable as Variable API
Prototype | Description
void array_init(zval* pzval) | initializes the variable as a HashTable, setting type and appropriate destructor function for the HashTable
void array_init_size(zval* pzval) | initializes the variable as array_init with a minimum of size buckets

Nota:

Do not squint too hard looking for array_destroy: to destroy a variable array you should call zval_ptr_dtor on the variable, if there are no other references to the variable it will result in the array being destroyed.

Indexed Arrays API
Prototype
int add_index_long(zval* pzval, ulong index, long value)
int add_index_null(zval* pzval, ulong index)
int add_index_bool(zval* pzval, ulong index, zend_bool value)
int add_index_bool(zval* pzval, ulong index, zend_bool value)
int add_index_resource(zval* pzval, ulong index, uint value)
int add_index_double(zval* pzval, ulong index, double value)
int add_index_string(zval* pzval, ulong index, char* string, zend_bool duplicate)
int add_index_stringl(zval* pzval, ulong index, char* string, uint length, zend_bool duplicate)
int add_index_zval(zval* pzval, ulong index, zval* value)
int add_next_index_long(zval* pzval, long value)
int add_next_index_null(zval* pzval)
int add_next_index_bool(zval* pzval, zend_bool value)
int add_next_index_resource(zval* pzval, uint value)
int add_next_index_double(zval* pzval, double value)
int add_next_index_string(zval* pzval, const char* string, zend_bool dulpicate)
int add_next_index_stringl(zval* pzval, const char* string, uint length, zend_bool duplicate)
int add_next_index_zval(zval* pzval, zval* value)
Associative Arrays API
Prototype
int add_assoc_long(zval* pzval, const char* key, long value)
int add_assoc_long_ex(zval* pzval, const char* key, uint klen, long value)
int add_assoc_null(zval* pzval, const char* key)
int add_assoc_null_ex(zval* pzval, const char* key, uint klen)
int add_assoc_bool(zval* pzval, const char* key, zend_bool value)
int add_assoc_bool(zval* pzval, const char* key, zend_bool value)
int add_assoc_bool_ex(zval* pzval, const char* key, uint klen, zend_bool value)
int add_assoc_resource(zval* pzval, const char* key, uint value)
int add_assoc_resource_ex(zval* pzval, const char* key, uint klen, uint value)
int add_assoc_double(zval* pzval, const char* key, double value)
int add_assoc_double_ex(zval* pzval, const char* key, uint klen, double value)
int add_assoc_string(zval* pzval, const char* key, const char* value)
int add_assoc_string_ex(zval* pzval, const char* key, uint klen, const char* value)
int add_assoc_stringl(zval* pzval, const char* key, const char* value, uint vlen, zend_bool duplicate)
int add_assoc_stringl_ex(zval* pzval, const char* key, uint klen, const char* value, uint vlen, zend_bool duplicate)
int add_assoc_zval(zval* pzval, const char* key, zval* value)
int add_assoc_zval_ex(zval* pzval, const char* key, uint klen, zval* value)

Nota:

add_*_string functions that accept a parameter named duplicate, will duplicate the string with estrndup when duplicate is true

Nota:

add_*_zval functions do not adjust the refcount of the value parameter

To perform more advanced operations on array variables we must use the HashTable API directly.

Introduction to Variables
Working with HashTable
Working with Variables


Working with HashTable

The HashTable structure serves many purposes in PHP and can be found everywhere, a good understanding of it's functionality is a preqrequisite of being a good Hacker.

The HashTable implemented by the engine is a standard HashTable, that is to say, a key => value based store, where the keys are always strings, whose hashes are calculated with a built in hashing algorithm zend_inline_hash_func(const char* key, uint length), which results in good distribution, and reasonable usage.

The internal structure and exact operation of HashTable is out of the scope of this document, this document serves to inform you of the API's available and how best to use them. For a more detailed picture of the HashTable see Zend/zend_hash.h.

Unless otherwise stated, these functions all return FAILURE if the requested opeation fails for any reason, otherwise SUCCESS is returned.

Nota:

It is important to remember that ordinarily HashTable API functions expect key lengths to be the length of the null terminated string, including the null termination, in other words they expect strlen(key) + 1

Below are some typedefs you should know when interacting with HashTable. They are mostly self explanitory and will allow the Hacker to fully understand the prototypes below properly.

typedef ulong (*hash_func_t)(const char *arKey, uint nKeyLength); /* mostly redundant */
typedef int  (*compare_func_t)(const void *, const void * TSRMLS_DC); /* comparison function */
typedef void (*sort_func_t)(void *, size_t, register size_t, compare_func_t TSRMLS_DC); /* sorting function */
typedef void (*dtor_func_t)(void *pDest); /* destructor function */
typedef void (*copy_ctor_func_t)(void *pElement); /* copy constructor */
typedef void (*copy_ctor_param_func_t)(void *pElement, void *pParam); /* copy with argument constructor */
typedef int (*apply_func_t)(void *pDest TSRMLS_DC); /* apply function */
typedef int (*apply_func_arg_t)(void *pDest, void *argument TSRMLS_DC); /* apply with argument function */
typedef int (*apply_func_args_t)(void *pDest TSRMLS_DC, int num_args, va_list args, zend_hash_key *hash_key); /* apply with multiple arguments function */
HashTable API
int zend_hash_init(HashTable* ht, uint size, hash_func_t hash, dtor_func_t destructor, zend_bool persistent)
Initializes the hash table to hold at least size elements, hash exists for historical reasons and is always ignored, zend_inline_hash_func is always used as the hashing function. destructor may be NULL.
int zend_hash_add(HashTable* ht, const char* key, uint klen, void* data, uint dlen, void** dest)
adds data to the table using the specified key, where the key is length bytes long (and will be copied from key to the table). If the key is set FAILURE will be returned.
int zend_hash_update(HashTable* ht, const char* key, uint klen, void* data, uint dlen, void** dest)
adds data to the table using the specified key, where the key is length bytes long (and will be copied from key to the table). If the key has been set previously the old data has dtor_func_t called on it and the existing data is replaced with data
int zend_hash_find(HashTable* ht, const char* key, uint klen, void** data)
searches the table for key, setting *data and returning SUCCESS if it is found.
zend_bool zend_hash_exists(HashTable* ht, const char* key, uint klen)
returns positively if key is found in ht
int zend_hash_del(HashTable* ht, const char* key, uint klen)
removes the entry identified by key from the table if found
int zend_hash_index_update(HashTable* ht, ulong index, void* data, uint dsize, void** dest)
updates the entry at index in ht, with the data at data
int zend_hash_index_del(HashTable* ht, ulong index)
deletes the entry at index from ht
int zend_hash_index_find(HashTable* ht, ulong index, void** data)
redirects *data to the data identified by index in ht
int zend_hash_index_exists(HashTable* ht, ulong index)
returns positively if index is found in ht
ulong zend_hash_next_free_element(HashTable* ht)
returns the index of the next free element in ht
Precaución

zend_hash_* functions that accept void* data should normally cast it to (void**) (ie, (void**) &data)

Traversing the HashTable is often necessary, to do this you provide a pointer to a HashTable, with an optional HashPosition - a structure internal to the HashTable API that allows traversal not to affect the internal position of HashTable. The following traversal functions are provided, and an example usage found below.

HashTable Traversal API
int zend_hash_internal_pointer_reset(HashTable* ht)
resets the internal pointer of ht to the start
int zend_hash_internal_pointer_reset_ex(HashTable* ht, HashPosition position)
sets position the the start of ht
int zend_hash_get_current_data(HashTable* ht, void* data)
gets the data at the current position in ht, data should be cast to void**, ie: (void**) &data
int zend_hash_get_current_data_ex(HashTable* ht, void* data, HashPosition position)
sets data to the data at position in ht
int zend_hash_get_current_key(HashTable* ht, void* data, char**key, uint klen, ulong index, zend_bool duplicate)
sets key, klen, and index from the key information at the current position. The possible return values HASH_KEY_IS_STRING and HASH_KEY_IS_LONG are indicative of the kind of key found at the current posision.
int zend_hash_get_current_key_ex(HashTable* ht, void* data, char**key, uint klen, ulong index, zend_bool duplicate, HashPosition position)
sets key, klen, and index from the key information at position. The possible return values HASH_KEY_IS_STRING and HASH_KEY_IS_LONG are indicative of the kind of key found at position.
int zend_hash_move_forward(HashTable* ht)
moves the internal pointer of ht to the next entry in ht
int zend_hash_move_forward_ex(HashTable* ht, HashPosition position)
moves position to the next entry in ht

The functions above allow traversal over a HashTable to be much like a normal loop, which will look something like:

HashPosition position;
zval **data = NULL;

for (zend_hash_internal_pointer_reset_ex(ht, &position);
     zend_hash_get_current_data_ex(ht, (void**) &data, &position) == SUCCESS;
     zend_hash_move_forward_ex(ht, &position)) {

     /* by now we have data set and can use Z_ macros for accessing type and variable data */

     char *key = NULL;
     uint  klen;
     ulong index;

     if (zend_hash_get_current_key_ex(ht, &key, &klen, &index, 0, &position) == HASH_KEY_IS_STRING) {
         /* the key is a string, key and klen will be set */
     } else {
         /* we assume the key to be long, index will be set */
     }
}

Nota:

If a HashTable has been passed into the engine, it is a good idea to use the zend_hash_*_ex API to avoid unexpected behaviour in userland.

Nota:

If a duplicate of the key is requested and HAS_KEY_IS_STRING is returned the caller must efree the duplicated key

In addition to traversal, the engine provides API functions for merging, copying, and comparing HashTables. These are all concepts that the Hacker should be familiar with. A concept possibly not in the repertoire of the Hacker is applying, which is lamens terms is functionality of the HashTable API allowing the Hacker to pass a callback function to be executed on every entry in a HashTable.

Copying, Merging and Sorting
void zend_hash_copy(HashTable *target, HashTable *source, copy_ctor_func_t pCopyConstructor, void *tmp, uint size)
Copies the contents of source to target. tmp should be an unallocated temporary pointer of the appropriate type, used during copying. size is the size of each element.
void zend_hash_merge(HashTable *target, HashTable *source, copy_ctor_func_t pCopyConstructor, void *tmp, uint size, zend_bool overwrite)
Merges the contents of source into destination, replacing existing entries only where overwrite is true.
void int zend_hash_sort(HashTable *ht, sort_func_t sort_func, compare_func_t compare_func, int renumber TSRMLS_DC)
renumber controls if indexes should be preserved, see the typedefs at the start of this section for more information

Nota:

When a function accepts a copy_ctor_func_t pCopyConstructor, the function passed with be executed upon creation of every new entry in the HashTable. The most common copy constructor used within the engine is a wrapper around zval_copy_ctor, the macro ZVAL_COPY_CTOR.

Working with Arrays
Working with Objects
Working with Variables


Working with Objects

Working with HashTable
Writing Functions
Working with Variables


Writing Functions

Functions and Methods in PHP take much the same form, a method is simply a function with a specific scope; the scope of their class entry. The Hacker will read about class entries in other sections of the Hacker's guide. The purpose of this section is to introduce the Hacker to the anatomy of a function or method; the Hacker will learn how to define functions, how to accept variables and how to return variables to the programmer of PHP.

The anatomy of a function could not be simpler:

PHP_FUNCTION(hackers_function) {
  /* your accepted arguments here */
  long number;

  /* accepting arguments */
  if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &number) != SUCCESS) {
      return;
  }

  /* do some work on the input */
  number *= 2;

  /* set return value */
  RETURN_LONG(number);
}

The PHP_FUNCTION(hackers_function) preprocessor instruction will result in the following declaration:

void zif_hackers_function(INTERNAL_FUNCTION_PARAMETERS)

INTERNAL_FUNCTION_PARAMETERS is defined as a macro and explained in the following table:

INTERNAL_FUNCTION_PARAMETERS
Name and type | Description | Access macros
int ht | Number of actual parameters passed by user | ZEND_NUM_ARGS()
zval *return_value | Pointer to a PHP variable that can be filled with the return value passed to the user. The default type is IS_NULL. | RETVAL_*, RETURN_*
zval **return_value_ptr | When returning references to PHP set this to a pointer to your variable. It is not suggested to return references. |
zval *this_ptr | If this is a method call, points to the PHP variable holding the $this object. | getThis()
int return_value_used | Flag indicating whether the returned value will be used by the caller. |

For clarity, the fully expanded declaration for PHP_FUNCTION(hackers_function) looks like:

void zif_hackers_function(int ht, zval* return_value, zval** return_value_ptr, zval* this_ptr, int return_value_used)

The precense of this_ptr may be confusing, classes are covered in detail in later sections, suffice to say that PHP_METHOD(MyClass, hackersFunction) would result in the following declaration:

void zim_MyClass_hackersFunction(INTERNAL_FUNCTION_PARAMETERS)

hackers_function doesn't do anything useful, it accepts a number using the zend_parse_parameters API, doubles it, and returns it to the engine. It is obvious that a normal function would have to do something more complex than double the input, for the purposes of education we are keeping it simple. On entry to the function return_value is allocated and initialized to null, making null the default return value of any function in PHP.

If zend_parse_parameters does not recieve what is specified by the Hacker as the correct arguments, and the arguments recieved cannot be converted to conform with type_spec an error will be raised, and by convention, the Hacker should return immediately.

Nota:

Arrays, Objects, and Resources cannot be converted.

Parsing Parameters Prototypes
int zend_parse_parameters(int num_args TSRMLS_DC, char *type_spec, ...)
int zend_parse_parameters_ex(int flags, int num_args TSRMLS_DC, char *type_spec, ...)
int zend_parse_parameter(int flags, int arg_num TSRMLS_DC, zval **arg, const char *spec, ...)

Nota:

zend_parse_parameter is available from version 5.5, it behaves like zend_parse_parameters_ex except that instead of reading the arguments from the stack, it receives a single zval to convert, which may be changed in place.

Nota:

flags is intended to be a mask, currently only ZEND_PARSE_PARAMS_QUIET will have any impact (supress warnings)

The variable arguments recieved by these API functions are expected to be the address of C variables, and should be considered the output of the zend_parse_parameters API functions.

Type Specifiers
Spec | Type | Locals
a | array | zval*
A | array or object | zval*
b | boolean | zend_bool
C | class | zend_class_entry*
d | double | double
f | function | zend_fcall_info*, zend_fcall_info_cache*
h | array | HashTable*
H | array or object | HashTable*
l | long | long
L | long (limits out-of-range LONG_MAX/LONG_MIN) | long
o | object | zval*
O | object (of specified zend_class_entry) | zval*, zend_class_entry*
p | string (a valid path) | char*, int
r | resource | char*
s | string | char*, uint
z | mixed | zval*
Z | mixed | zval**

Nota:

Where the type specifier is O, the local zend_class_entry* is to be considered input (part of the type spec) to zend_parse_parameter

Advanced Type Specifiers
Spec | Description
* | a variable number of argument of the preceeding type, 0 or more
+ | a variable number of argument of the preceeding type, 1 or more
| | indicates that the remaining parameters are optional
/ | SEPARATE_ZVAL_IF_NOT_REF on the parameter it follows
! | the preceeding parameter can be of the specified type or null For 'b', 'l' and 'd', an extra argument of type zend_bool* must be passed after the corresponding bool*, long* or double* addresses which will be set true if null is recieved.

Nota:

Consult README.PARAMETER_PARSING_API included in source distributions for more information on parsing parameters

Once the Hacker's function has executed whatever it was implemented to execute, it is time to set the return_value for the engine. The RETURN_ and RETVAL_ macros are just wrappers around Z_*_P macros that work with return_value.

Nota:

RETURN_ macros cause execution to leave the function immediately (ie: return;), while RETVAL_ macros allow execution to continue after return_value has been set.

The Hacker should now have a reasonable understanding of the anatomy of a function, and to some degree, the anatomy of a method.

Working with Objects
Writing Classes
El núcleo de PHP: Guía del Hacker


Writing Classes

Writing Functions
Working with Resources
El núcleo de PHP: Guía del Hacker


Working with Resources

This section will serve to introduce the Hacker to the concept and usage of Resources in PHP.

Writing Classes
Working with INI settings
El núcleo de PHP: Guía del Hacker


Working with INI settings

Working with Resources
Trabajar con flujos
El núcleo de PHP: Guía del Hacker


Trabajar con flujos

Nota:

Se puede encontrar información sobre el uso de flujos dentro de código fuente de PHP en la referencia de la API de Flujos para Autores de Extensiones de PHP.

Working with INI settings
The "counter" Extension - A Continuing Example
El núcleo de PHP: Guía del Hacker


The "counter" Extension - A Continuing Example

Tabla de contenidos

  • Instalación/Configuración
  • Constantes predefinidas
  • Ejemplos
  • Counter
  • Basic
  • Extended

Preface

Throughout this Zend documentation, references are made to an example module in order to illustrate various concepts. The "counter" extension is this example, a fictional yet functional Zend module which strives to use as much of the Zend API as is reasonably possible. This short chapter describes the userland interface to the completed extension.

Nota: "counter" serves no practical purpose whatsoever, as the functionality it provides is far more effectively implemented by appropriate userland code.

Trabajar con flujos
Instalación/Configuración
El núcleo de PHP: Guía del Hacker


Instalación/Configuración

Tabla de contenidos

  • Introducción
  • Configuración en tiempo de ejecución
  • Tipos de recursos
The "counter" Extension - A Continuing Example
Introducción
The "counter" Extension - A Continuing Example


Introducción

The "counter" extension provides any number of counters to PHP code using it which reset at times determined by the caller.

There are three interfaces to "counter": basic, extended, and objective. The basic interface provides a single counter controlled by INI settings and function calls. The extended interface provides an arbitrary number of named counter resources which may optionally persist beyond the lifetime of a single PHP request. The objective interface combines both the basic and extended interfaces into a Counter class.

Instalación/Configuración
Configuración en tiempo de ejecución
Instalación/Configuración


Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Counter configuration options
Name | Default | Changeable | Changelog
counter.reset_time | COUNTER_RESET_PER_REQUEST | PHP_INI_ALL |
counter.save_path | "" | PHP_INI_ALL |
counter.initial_value | "0" | PHP_INI_ALL |

Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

counter.reset_time integer
counter.reset_time tells "counter" to reset the counter used by the basic interface. It may be any of the COUNTER_RESET_* constants (see below).
counter.save_path string
Tells "counter" where to save data that has to persist between invocations of PHP (i.e. any counter that has COUNTER_RESET_NEVER or COUNTER_FLAG_SAVE). A file will be created at this path, which must be readable and writable to whatever user PHP is running as.
counter.initial_value integer
Sets the initial value of the counter used by the basic interface whenever it is reset.
Introducción
Tipos de recursos
Instalación/Configuración


Tipos de recursos

The "counter" extension defines one resource type: a counter.

Configuración en tiempo de ejecución
Constantes predefinidas
Instalación/Configuración


Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

COUNTER_FLAG_PERSIST (integer)
A counter with this flag will be created as a persistent resource.
COUNTER_FLAG_SAVE (integer)
A counter with this flag will be saved between invocations of PHP.
COUNTER_FLAG_NO_OVERWRITE (integer)
This flag causes counter_create() to avoid overwriting an existing named counter with a new one.
COUNTER_META_NAME (string)
Pass this constant to get the name of a counter resource or object.
COUNTER_META_IS_PERISTENT (string)
Pass this constant to determine whether a counter resource or object is persistent (has the COUNTER_FLAG_PERSIST flag).
COUNTER_RESET_NEVER (integer)
The counter will never be reset.
COUNTER_RESET_PER_LOAD (integer)
The counter will be reset on each invocation of PHP.
COUNTER_RESET_PER_REQUEST (integer)
The counter will be reset on each request.
Tipos de recursos
Ejemplos
The "counter" Extension - A Continuing Example


Ejemplos

Tabla de contenidos

  • Basic interface
  • Extended interface
  • Objective interface
Constantes predefinidas
Basic interface
The "counter" Extension - A Continuing Example


Basic interface

The basic interface provides three simple functions, illustrated here:

Ejemplo #1 "counter"'s basic interface

<?php
$starting_counter_value = counter_get();
counter_bump(1);
$second_counter_value = counter_get();
counter_reset();
$final_counter_value = counter_get();
printf("%3d %3d %3d", $starting_counter_value, $second_counter_value, $final_counter_value);
?>

El resultado del ejemplo sería:

  0   1   0

The basic interface also provides a number of INI settings.

Ejemplos
Extended interface
Ejemplos


Extended interface

The extended interface provides a small suite of functions that allow the user to define an arbitrary number of named counters with unique settings. The basic interface can be used in parallel with the extended interface.

Ejemplo #1 "counter"'s extended interface

<?php
function print_counter_info($counter)
{
    if (is_resource($counter)) {
        printf("Counter's name is '%s' and is%s persistent. Its current value is %d.\n",
            counter_get_meta($counter, COUNTER_META_NAME),
            counter_get_meta($counter, COUNTER_META_IS_PERSISTENT) ? '' : ' not',
            counter_get_value($counter));
    } else {
      print "Not a valid counter!\n";
    }
}

if (($counter_one = counter_get_named("one")) === NULL) {
    $counter_one = counter_create("one", 0, COUNTER_FLAG_PERSIST);
}
counter_bump_value($counter_one, 2);
$counter_two = counter_create("two", 5);
$counter_three = counter_get_named("three");
$counter_four = counter_create("four", 2, COUNTER_FLAG_PERSIST | COUNTER_FLAG_SAVE | COUNTER_FLAG_NO_OVERWRITE);
counter_bump_value($counter_four, 1);

print_counter_info($counter_one);
print_counter_info($counter_two);
print_counter_info($counter_three);
print_counter_info($counter_four);
?>

When run once, the above example outputs:

Counter's name is 'one' and is persistent. Its current value is 2.
Counter's name is 'two' and is not persistent. Its current value is 5.
Not a valid counter!
Counter's name is 'four' and is persistent. Its current value is 3.

If run a second time within the same instance of PHP, it outputs:

Counter's name is 'one' and is persistent. Its current value is 4.
Counter's name is 'two' and is not persistent. Its current value is 5.
Not a valid counter!
Counter's name is 'four' and is persistent. Its current value is 4.

If then run a third time in a different instance of PHP, it outputs:

Counter's name is 'one' and is persistent. Its current value is 2.
Counter's name is 'two' and is not persistent. Its current value is 5.
Not a valid counter!
Counter's name is 'four' and is persistent. Its current value is 5.
Basic interface
Objective interface
Ejemplos


Objective interface

The objective interface provides an object-oriented way to access the extended interfaces. The following example shows how the above one would be implemented using the objective interface. The output of this example is exactly the same, except that instead of printing "Not a valid counter!", this will instead issue a PHP warning that the variable $counter_three is not an object. This example shows that it is possible to subclass the Counter class defined by the extension, as well as that the counter's value is maintained using an instance variable rather than method access.

Ejemplo #1 "counter"'s objective interface

<?php
class MyCounter extends Counter
{
    public function printCounterInfo() {
        printf("Counter's name is '%s' and is%s persistent. Its current value is %d.\n",
            $this->getMeta(COUNTER_META_NAME),
            $this->getMeta(COUNTER_META_IS_PERSISTENT) ? '' : ' not',
            $this->value);
    }
}

Counter::setCounterClass("MyCounter");
if (($counter_one = Counter::getNamed("one")) === NULL) {
    $counter_one = new Counter("one", 0, COUNTER_FLAG_PERSIST);
}
$counter_one->bumpValue(2); // we aren't allowed to "set" the value directly
$counter_two = new Counter("two", 5);
$counter_three = Counter::getNamed("three");
$counter_four = new Counter("four", 2, COUNTER_FLAG_PERSIST | COUNTER_FLAG_SAVE | COUNTER_FLAG_NO_OVERWRITE);
$counter_four->bumpValue(1);

$counter_one->printCounterInfo();
$counter_two->printCounterInfo();
$counter_three->printCounterInfo();
$counter_four->printCounterInfo();
?>
Extended interface
Counter
Ejemplos


The Counter class

Introducción

Represents a single counter object.

Sinopsis de la Clase

Counter {
__construct ( string $name [, integer $initial_value [, integer $flags ]] )
integer getValue ( void )
bumpValue ( integer $offset )
void resetValue ( void )
mixed getMeta ( integer $attribute )
static Counter getNamed ( string $name )
static void setCounterClass ( string $name )
}

Tabla de contenidos

  • Counter::__construct — Creates an instance of a Counter which maintains a single numeric value.
  • Counter::getValue — Get the current value of a counter.
  • Counter::bumpValue — Change the current value of a counter.
  • Counter::resetValue — Reset the current value of a counter.
  • Counter::getMeta — Return a piece of metainformation about a counter.
  • Counter::getNamed — Retrieve an existing named counter.
  • Counter::setCounterClass — Set the class returned by Counter::getNamed.
Objective interface
Counter::__construct
The "counter" Extension - A Continuing Example


Creates an instance of a Counter which maintains a single numeric value.

Counter
Counter::getValue
Counter
PHP Manual

Counter::__construct

Counter::__construct — Creates an instance of a Counter which maintains a single numeric value.

Descripción

Counter::__construct() ( string $name [, integer $initial_value [, integer $flags ]] )

Creates an instance of a Counter which maintains a single numeric value.

Parámetros

name
The new counter's name.
initial_value
The initial value of the counter. Defaults to zero (0).
flags
Flags for the new counter, chosen from the COUNTER_FLAG_* constants.

Valores devueltos

Returns a Counter object on success.

Errores/Excepciones

Counter::__construct() throws an Exception if something goes wrong.

Counter
Counter::getValue
Counter


Get the current value of a counter.

Counter::__construct
Counter::bumpValue
Counter
PHP Manual

Counter::getValue

Counter::getValue — Get the current value of a counter.

Descripción

integer Counter::getValue ( void )

Counter::getValue() returns the current value of a counter.

Valores devueltos

Counter::getValue() returns an integer.

Ver también

  • Counter::bumpValue() - Change the current value of a counter.
  • Counter::resetValue() - Reset the current value of a counter.
Counter::__construct
Counter::bumpValue
Counter


Change the current value of a counter.

Counter::getValue
Counter::resetValue
Counter
PHP Manual

Counter::bumpValue

Counter::bumpValue — Change the current value of a counter.

Descripción

Counter::bumpValue ( integer $offset )

Counter::bumpValue() updates the current value of a counter.

Parámetros

offset
The amount by which to change the counter's value. Can be negative.

Ver también

  • Counter::getValue() - Get the current value of a counter.
  • Counter::resetValue() - Reset the current value of a counter.
Counter::getValue
Counter::resetValue
Counter


Reset the current value of a counter.

Counter::bumpValue
Counter::getMeta
Counter
PHP Manual

Counter::resetValue

Counter::resetValue — Reset the current value of a counter.

Descripción

void Counter::resetValue ( void )

Counter::resetValue() resets the current value of a counter to its original initial value.

Ver también

  • Counter::getValue() - Get the current value of a counter.
  • Counter::bumpValue() - Change the current value of a counter.
Counter::bumpValue
Counter::getMeta
Counter


Return a piece of metainformation about a counter.

Counter::resetValue
Counter::getNamed
Counter
PHP Manual

Counter::getMeta

Counter::getMeta — Return a piece of metainformation about a counter.

Descripción

mixed Counter::getMeta ( integer $attribute )

Counter::getMeta() returns metainformation about a counter.

Parámetros

attribute
The metainformation to retrieve.

Valores devueltos

Counter::getMeta() returns values of varying types based on which metainformation was requested.

Counter::resetValue
Counter::getNamed
Counter


Retrieve an existing named counter.

Counter::getMeta
Counter::setCounterClass
Counter
PHP Manual

Counter::getNamed

Counter::getNamed — Retrieve an existing named counter.

Descripción

static Counter Counter::getNamed ( string $name )

Counter::getNamed() returns an existing counter by name if that name exists, or NULL otherwise. This is a static function.

Parámetros

name
The counter name to search for.

Valores devueltos

Counter::getNamed() returns an existing counter by name if that name exists, or NULL otherwise.

Counter::getMeta
Counter::setCounterClass
Counter


Set the class returned by Counter::getNamed.

Counter::getNamed
Basic
Counter
PHP Manual

Counter::setCounterClass

Counter::setCounterClass — Set the class returned by Counter::getNamed().

Descripción

static void Counter::setCounterClass ( string $name )

Counter::setCounterClass() changes the class of objects returned by Counter::getNamed(). The class being set must not have a public constructor and must be a subclass of Counter. If these conditions are not met, a fatal error is raised. This is a static function.

Parámetros

name
The name of the class to use.
Counter::getNamed
Basic
Counter


The basic interface

Tabla de contenidos

  • counter_get — Get the current value of the basic counter.
  • counter_bump — Update the current value of the basic counter.
  • counter_reset — Reset the current value of the basic counter.
Counter::setCounterClass
counter_get
The "counter" Extension - A Continuing Example


Get the current value of the basic counter.

Basic
counter_bump
Basic
PHP Manual

counter_get

counter_get — Get the current value of the basic counter.

Descripción

integer counter_get ( void )

counter_get() returns the current value of the basic interface's counter.

Valores devueltos

counter_get() returns an integer.

Ver también

  • counter_bump() - Update the current value of the basic counter.
  • counter_reset() - Reset the current value of the basic counter.
Basic
counter_bump
Basic


Update the current value of the basic counter.

counter_get
counter_reset
Basic
PHP Manual

counter_bump

counter_bump — Update the current value of the basic counter.

Descripción

void counter_bump ( integer $offset )

counter_bump() updates the current value of the basic interface's counter.

Parámetros

offset
The amount by which to change the counter's value. Can be negative.

Ver también

  • counter_get() - Get the current value of the basic counter.
  • counter_reset() - Reset the current value of the basic counter.
counter_get
counter_reset
Basic


Reset the current value of the basic counter.

counter_bump
Extended
Basic
PHP Manual

counter_reset

counter_reset — Reset the current value of the basic counter.

Descripción

void counter_reset ( void )

counter_reset() resets the current value of the basic interface's counter to its original initial value.

Ver también

  • counter_get() - Get the current value of the basic counter.
  • counter_bump() - Update the current value of the basic counter.
counter_bump
Extended
Basic


The extended interface

Tabla de contenidos

  • counter_create — Creates a counter which maintains a single numeric value.
  • counter_get_value — Get the current value of a counter resource.
  • counter_bump_value — Change the current value of a counter resource.
  • counter_reset_value — Reset the current value of a counter resource.
  • counter_get_meta — Return a piece of metainformation about a counter resource.
  • counter_get_named — Retrieve an existing named counter as a resource.
counter_reset
counter_create
The "counter" Extension - A Continuing Example


Creates a counter which maintains a single numeric value.

Extended
counter_get_value
Extended
PHP Manual

counter_create

counter_create — Creates a counter which maintains a single numeric value.

Descripción

resource counter_create ( string $name [, integer $initial_value [, integer $flags ]] )

Creates a counter which maintains a single numeric value.

Parámetros

name
The new counter's name.
initial_value
The initial value of the counter. Defaults to zero (0).
flags
Flags for the new counter, chosen from the COUNTER_FLAG_* constants.

Valores devueltos

Returns a counter resource.

Extended
counter_get_value
Extended


Get the current value of a counter resource.

counter_create
counter_bump_value
Extended
PHP Manual

counter_get_value

counter_get_value — Get the current value of a counter resource.

Descripción

integer counter_get_value ( resource $counter )

counter_get_value() returns the current value of a counter resource.

Parámetros

counter
The counter resource to operate on.

Valores devueltos

counter_get_value() returns an integer.

Ver también

  • counter_bump_value() - Change the current value of a counter resource.
  • counter_reset_value() - Reset the current value of a counter resource.
counter_create
counter_bump_value
Extended


Change the current value of a counter resource.

counter_get_value
counter_reset_value
Extended
PHP Manual

counter_bump_value

counter_bump_value — Change the current value of a counter resource.

Descripción

void counter_bump_value ( resource $counter , integer $offset )

counter_bump_value() updates the current value of a counter resource.

Parámetros

counter
The counter resource to operate on.
offset
The amount by which to change the counter's value. Can be negative.

Ver también

  • counter_get_value() - Get the current value of a counter resource.
  • counter_reset_value() - Reset the current value of a counter resource.
counter_get_value
counter_reset_value
Extended


Reset the current value of a counter resource.

counter_bump_value
counter_get_meta
Extended
PHP Manual

counter_reset_value

counter_reset_value — Reset the current value of a counter resource.

Descripción

void counter_reset_value ( resource $counter )

counter_reset_value() resets the current value of a counter resource to its original initial value.

Parámetros

counter
The counter resource to operate on.

Ver también

  • counter_get_value() - Get the current value of a counter resource.
  • counter_bump_value() - Change the current value of a counter resource.
counter_bump_value
counter_get_meta
Extended


Return a piece of metainformation about a counter resource.

counter_reset_value
counter_get_named
Extended
PHP Manual

counter_get_meta

counter_get_meta — Return a piece of metainformation about a counter resource.

Descripción

mixed counter_get_meta ( resource $counter , integer $attribute )

counter_get_meta() returns metainformation about a counter resource.

Parámetros

counter
The counter resource to operate on.
attribute
The metainformation to retrieve.

Valores devueltos

counter_get_meta() returns values of varying types based on which metainformation was requested.

counter_reset_value
counter_get_named
Extended


Retrieve an existing named counter as a resource.

counter_get_meta
The PHP 5 build system
Extended
PHP Manual

counter_get_named

counter_get_named — Retrieve an existing named counter as a resource.

Descripción

resource Counter::getNamed ( string $name )

counter_get_named() returns an existing counter by name if that name exists, or NULL otherwise.

Parámetros

name
The counter name to search for.

Valores devueltos

counter_get_name() returns an existing counter by name if that name exists, or NULL otherwise.

counter_get_meta
The PHP 5 build system
Extended


The PHP 5 build system

Tabla de contenidos

  • Building PHP for extension development
  • The ext_skel script
  • Talking to the UNIX build system: config.m4
  • Talking to the Windows build system: config.w32

With all the functionality and flexibility available in PHP 5, it is no surprise that it consists of several thousand files and over one million lines of source code. Equally unsurprising is the necessity of a build system to manage so much data. This section describes how to set PHP up for extension development, the layout of an extension within the PHP source tree, and how to interface your extension with the build system.

counter_get_named
Building PHP for extension development
El núcleo de PHP: Guía del Hacker


Building PHP for extension development

In a typical PHP installation, the need for high performance almost always results in optimization at the cost of debugging facilities. This is a reasonable tradeoff for production use, but when developing an extension it falls short. What we need is a build of PHP which will give us some hints what has gone wrong when something does.

The Zend Engine provides a memory manager which is capable of tracking memory leaks in extensions and providing detailed debugging information. This tracking is disabled by default, as is thread-safety. To turn them on, pass the --enable-debug and --enable-maintainer-zts options to configure, along with whatever options you typically use. For instructions on building PHP from source, see the instructions at Consideraciones generales de instalación. A typical configure line might look like this:

$ ./configure --prefix=/where/to/install/php --enable-debug --enable-maintainer-zts --enable-cgi --enable-cli --with-mysql=/path/to/mysql

The PHP 5 build system
The ext_skel script
The PHP 5 build system


The ext_skel script

A PHP extension is composed of several files common to all extensions. As the details of many of those files are similar from extension to extension, it can be laborious to duplicate the content for each one. Fortunately, there is a script which can do all of the initial setup for you. It's called ext_skel, and it's been distributed with PHP since 4.0.

Running ext_skel with no parameters produces this output in PHP 5.2.2:

php-5.2.2/ext$ ./ext_skel
./ext_skel --extname=module [--proto=file] [--stubs=file] [--xml[=file]]
           [--skel=dir] [--full-xml] [--no-help]

  --extname=module   module is the name of your extension
  --proto=file       file contains prototypes of functions to create
  --stubs=file       generate only function stubs in file
  --xml              generate xml documentation to be added to phpdoc-cvs
  --skel=dir         path to the skeleton directory
  --full-xml         generate xml documentation for a self-contained extension
                     (not yet implemented)
  --no-help          don't try to be nice and create comments in the code
                     and helper functions to test if the module compiled
Generally, when developing a new extension the only parameters you will be interested in are --extname and --no-help. Unless you are already experienced with the structure of an extension, you will not want to use --no-help; specifying it causes ext_skel to leave out many helpful comments in the files it generates.

This leaves you with --extname, which tells ext_skel what the name of your extension is. This "name" is an all-lowercase identifier containing only letters and underscores which is unique among everything in the ext/ folder of your PHP distribution.

The --proto option is intended to allow the developer to specify a header file from which a set of PHP functions will be created, ostensibly for the purpose of developing an extension based on a library, but it often functions poorly with most modern header files. A test run on the zlib.h header resulted in a very large number of empty and nonsense prototypes in the ext_skel output files. The --xml and --full-xml options are entirely nonfunctional thus far. The --skel option can be used to specify a modified set of skeleton files to work from, a topic which is beyond the scope of this section.

Building PHP for extension development
Talking to the UNIX build system: config.m4
The PHP 5 build system


Talking to the UNIX build system: config.m4

The config.m4 file for an extension tells the UNIX build system what configure options your extension supports, what external libraries and includes you require, and what source files are to be compiled as part of it. A reference to all the commonly used autoconf macros, both PHP-specific and those built into autoconf, is given in the Zend Engine 2 API reference section.

Sugerencia

The version of autoconf you have installed makes a difference when developing an extension. For PHP 5.3 and earlier, you will have the best results with autoconf version 2.13 but versions up to and including 2.59 will work. For PHP 5.4 and later the oldest autoconf version you can use is 2.59 and you will have better results with later versions.

Ejemplo #1 An example config.m4 file

dnl $Id$
dnl config.m4 for extension example
PHP_ARG_WITH(example, for example support,
[  --with-example[=FILE]       Include example support. File is the optional path to example-config])
PHP_ARG_ENABLE(example-debug, whether to enable debugging support in example,
[  --enable-example-debug        example: Enable debugging support in example], no, no)
PHP_ARG_WITH(example-extra, for extra libraries for example,
[  --with-example-extra=DIR      example: Location of extra libraries for example], no, no)

dnl Check whether the extension is enabled at all
if test "$PHP_EXAMPLE" != "no"; then

  dnl Check for example-config. First try any path that was given to us, then look in $PATH
  AC_MSG_CHECKING([for example-config])
  EXAMPLE_CONFIG="example-config"
  if test "$PHP_EXAMPLE" != "yes"; then
    EXAMPLE_PATH=$PHP_EXAMPLE
  else
    EXAMPLE_PATH=`$php_shtool path $EXAMPLE_CONFIG`
  fi

  dnl If a usable example-config was found, use it
  if test -f "$EXAMPLE_PATH" && test -x "$EXAMPLE_PATH" && $EXAMPLE_PATH --version > /dev/null 2>&1; then
    AC_MSG_RESULT([$EXAMPLE_PATH])
    EXAMPLE_LIB_NAME=`$EXAMPLE_PATH --libname`
    EXAMPLE_INCDIRS=`$EXAMPLE_PATH --incdirs`
    EXAMPLE_LIBS=`$EXAMPLE_PATH --libs`

    dnl Check that the library works properly
    PHP_CHECK_LIBRARY($EXAMPLE_LIB_NAME, example_critical_function,
    [
      dnl Add the necessary include dirs
      PHP_EVAL_INCLINE($EXAMPLE_INCDIRS)
      dnl Add the necessary libraries and library dirs
      PHP_EVAL_LIBLINE($EXAMPLE_LIBS, EXAMPLE_SHARED_LIBADD)
    ],[
      dnl Bail out
      AC_MSG_ERROR([example library not found. Check config.log for more information.])
    ],[$EXAMPLE_LIBS]
    )
  else
    dnl No usable example-config, bail
    AC_MSG_RESULT([not found])
    AC_MSG_ERROR([Please check your example installation.])
  fi

  dnl Check whether to enable debugging
  if test "$PHP_EXAMPLE_DEBUG" != "no"; then
    dnl Yes, so set the C macro
    AC_DEFINE(USE_EXAMPLE_DEBUG,1,[Include debugging support in example])
  fi

  dnl Check for the extra support
  if test "$PHP_EXAMPLE_EXTRA" != "no"; then
    if test "$PHP_EXAMPLE_EXTRA" == "yes"; then
      AC_MSG_ERROR([You must specify a path when using --with-example-extra])
    fi

    PHP_CHECK_LIBRARY(example-extra, example_critical_extra_function,
    [
      dnl Add the neccessary paths
      PHP_ADD_INCLUDE($PHP_EXAMPLE_EXTRA/include)
      PHP_ADD_LIBRARY_WITH_PATH(example-extra, $PHP_EXAMPLE_EXTRA/lib, EXAMPLE_SHARED_LIBADD)
      AC_DEFINE(HAVE_EXAMPLEEXTRALIB,1,[Whether example-extra support is present and requested])
      EXAMPLE_SOURCES="$EXAMPLE_SOURCES example_extra.c"
    ],[
      AC_MSG_ERROR([example-extra lib not found. See config.log for more information.])
    ],[-L$PHP_EXAMPLE_EXTRA/lib]
    )
  fi

  dnl Finally, tell the build system about the extension and what files are needed
  PHP_NEW_EXTENSION(example, example.c $EXAMPLE_SOURCES, $ext_shared)
  PHP_SUBST(EXAMPLE_SHARED_LIBADD)
fi

A short introduction to autoconf syntax

config.m4 files are written using the GNU autoconf syntax. It can be described in a nutshell as shell scripting augmented by a powerful macro language. Comments are delimited by the string dnl, and strings are quoted using left and right brackets (e.g. [ and ]). Quoting of strings can be nested as many times as needed. A full reference to the syntax can be found in the autoconf manual at » http://www.gnu.org/software/autoconf/manual/.

PHP_ARG_*: Giving users the option

The very first thing seen in the example config.m4 above, aside from a couple of comments, are three lines using PHP_ARG_WITH() and PHP_ARG_ENABLE(). These provide configure with the options and help text seen when running ./configure --help. As the names suggest, the difference between the two is whether they create a --with-* option or an --enable-* option. Every extension should provide at least one or the other with the extension name, so that users can choose whether or not to build the extension into PHP. By convention, PHP_ARG_WITH() is used for an option which takes a parameter, such as the location of a library or program required by an extension, while PHP_ARG_ENABLE() is used for an option which represents a simple flag.

Ejemplo #2 Sample configure output

$ ./configure --help
...
  --with-example[=FILE]       Include example support. FILE is the optional path to example-config
  --enable-example-debug        example: Enable debugging support in example
  --with-example-extra=DIR      example: Location of extra libraries for example
...

$ ./configure --with-example=/some/library/path/example-config --disable-example-debug --with-example-extra=/another/library/path
...
checking for example support... yes
checking whether to enable debugging support in example... no
checking for extra libraries for example... /another/library/path
...

Nota:

Regardless of the order in which options are specified on the command line when configure is called, the checks will be run in the order they are specified in config.m4.

Processing the user's choices

Now that config.m4 can provide the user with some choices of what to do, it's time to act upon those choices. In the example above, the obvious default for all three options, if any of them are unspecified, is "no". As a matter of convention, it is best to use this as the default for the option which enables the extension, as it will be overridden by phpize for extensions built separately, and should not clutter the extension space by default when being built into PHP. The code to process the three options is by far the most complicated.

Handling the --with-example[=FILE] option

The first check made of the --with-example[=FILE] option is whether it was set at all. As this option controls the inclusion of the entire extension, if it was unspecified, given in the negative form (--without-example ), or given the value "no", nothing else is done at all. In the example above, it is specified with the value /some/library/path/example-config, so the first test succeeds.

Next, the code calls AC_MSG_CHECKING(), an autoconf macro which outputs a standard "checking for something" line, and checks whether the user gave an explicit path to the fictional example-config. In this example, PHP_EXAMPLE got the value /some/library/path/example-config, which is now copied into the EXAMPLE_PATH variable. Had the user specified only --with-example , the code would have executed $php_shtool path $EXAMPLE_CONFIG, which would try to guess the location of example-config using the user's current PATH. Either way, the next step is to check whether the chosen EXAMPLE_PATH is a regular file, is executable, and can be run successfully. If so, AC_MSG_RESULT() is called, which completes the output line started by AC_MSG_CHECKING(). Otherwise, AC_MSG_ERROR() is called, which prints the given message and halts configure immediately.

The code now determines some site-specific configuration information by running example-config several times. The next call is to PHP_CHECK_LIBRARY(), a macro provided by the PHP buildsystem as a wrapper around autoconf's AC_CHECK_LIB(). PHP_CHECK_LIBRARY() attempts to compile, link, and run a program which calls the symbol specified by the second parameter in the library specified by the first, using the string given in the fifth as extra linker options. If the attempt succeeds, the script given in the third parameter is run. This script tells the PHP buildsystem to extract include paths, library paths, and library names from the raw option strings example-config provided. If the attempt fails, the script in the fourth parameter is run instead. In this case, AC_MSG_ERROR() is called to stop processing.

Handling the --enable-example-debug option

Processing the --enable-example-debug is much simpler. A simple check for its truth value is performed. If that check succeeds, AC_DEFINE() is called to make the C macro USE_EXAMPLE_DEBUG available to the source of the extension. The third parameter is a comment string for config.h; it is safe to leave this empty, and often is.

Handling the --with-example-extra=DIR option

For the sake of this example, the fictional "extra" functionality requested by the --with-example-extra=DIR option does not share the fictional example-config program, nor does it have any default paths to search. Therefore, the user is required to provide the installation prefix of the necessary library. This setup is somewhat unlikely in a real-world extension, but is considered illustrative.

The code begins in a now-familiar way by checking the truth value of PHP_EXAMPLE_EXTRA. If a negative form was provided, no further processing is done; the user did not request extra functionality. If a positive form was provided without a parameter, AC_MSG_ERROR() is called to halt processing. The next step is another invocation of PHP_CHECK_LIBRARY(). This time, since there is no set of predefined compiler options provided, PHP_ADD_INCLUDE() and PHP_ADD_LIBRARY_WITH_PATH() are used to construct the necessary include paths, library paths, and library flags for the extra functionality. AC_DEFINE() is also called to indicate to the code that the extra functionality was both requested and available, and a variable is set to tell later code that there are extra source files to build. If the check fails, the familiar AC_MSG_ERROR() is called. A different way to handle the failure would have been to call AC_MSG_WARNING() instead, e.g.:

AC_MSG_WARNING([example-extra lib not found. example will be built without extra functionality.])

In this case, configure would print a warning message rather than an error, and continue processing. Which way such failures are handled is a design decision left to the extension developer.

Telling the buildsystem what was decided

With all the necessary includes and libraries specified, with all the options processed and macros defined, one more thing remains to be done: The build system must be told to build the extension itself, and which files are to be used for that. To do this, the PHP_NEW_EXTENSION() macro is called. The first parameter is the name of the extension, which is the same as the name of the directory containing it. The second parameter is the list of all source files which are part of the extension. See PHP_ADD_BUILD_DIR() for information about adding source files in subdirectories to the build process. The third parameter should always be $ext_shared, a value which was determined by configure when PHP_ARG_WITH() was called for --with-example[=FILE] . The fourth parameter specifies a "SAPI class", and is only useful for extensions which require the CGI or CLI SAPIs specifically. It should be left empty in all other cases. The fifth parameter specifies a list of flags to be added to CFLAGS while building the extension; the sixth is a boolean value which, if "yes", will force the entire extension to be built using $CXX instead of $CC. All parameters after the third are optional. Finally, PHP_SUBST() is called to enable shared builds of the extension. See Extension FAQs for more information on disabling support for building an extension in shared mode.

The counter extension's config.m4 file

The counter extension previously documented has a much simpler config.m4 file than that described above, as it doesn't make use of many buildsystem features. This is a preferred method of operation for any extension that doesn't use an external or bundled library.

Ejemplo #3 counter's config.m4 file

dnl
$
Id$
dnl config.m4 for extension counter

PHP_ARG_ENABLE(counter, for counter support,
[  --enable-counter            Include counter support])

dnl Check whether the extension is enabled at all
if test "$PHP_COUNTER" != "no"; then
  dnl Finally, tell the build system about the extension and what files are needed
  PHP_NEW_EXTENSION(counter, counter.c counter_util.c, $ext_shared)
  PHP_SUBST(COUNTER_SHARED_LIBADD)
fi
The ext_skel script
Talking to the Windows build system: config.w32
The PHP 5 build system


Talking to the Windows build system: config.w32

An extension's config.w32 file is similar in usage to the config.m4 file, with two critical differences: first, it is used for Windows builds, and second, it is written in JavaScript. This section makes no attempt to cover JavaScript syntax. For the moment, this section is incomplete in lieu of a Win32 testbed, and an experimental-only port of the example config.m4 is the only example provided.

Ejemplo #1 An example config.w32 file

// $Id$
// vim:ft=javascript
ARG_WITH("example", "for example support", "no");
ARG_ENABLE("example-debug", "for debugging support in example", "no")
ARG_WITH("example-extra", "for extra functionality in example", "no")
if (PHP_EXAMPLE != "no") {
    if (CHECK_LIB("libexample.lib", "example", PHP_EXAMPLE) &&
        CHECK_HEADER_ADD_INCLUDE("example.h", "CFLAGS_EXAMPLE", PHP_EXAMPLE + "\\include")) {

        if (PHP_EXAMPLE_DEBUG != "no") {
            AC_DEFINE('USE_EXAMPLE_DEBUG', 1, 'Debug support in example');
        }

        if (PHP_EXAMPLE_EXTRA != "no" &&
            CHECK_LIB("libexample-extra.lib", "example", PHP_EXAMPLE) &&
            CHECK_HEADER_ADD_INCLUDE("example-extra.h", "CFLAGS_EXAMPLE", PHP_EXAMPLE + ";" + PHP_PHP_BUILD + "\\include") {
            AC_DEFINE('HAVE_EXAMPLEEXTRA', 1, 'Extra functionality in example');
            HAVE_EXTRA = 1;
        } else {
            WARNING( "extra example functionality not enabled, lib not found" );
        }

        EXTENSION("example", "example.c");
        if (HAVE_EXTRA == 1) {
            ADD_SOURCES("example-extra.c");
        }
    } else {
        WARNING( "example not enabled; libraries not found" );
    }
}

The counter extension's config.w32 file

The counter extension previously documented has a much simpler config.w32 file than that described above, as it doesn't make use of many buildsystem features.

Ejemplo #2 counter's config.w32 file

// $Id$
// vim:ft=javascript
ARG_ENABLE("counter", "for counter support", "no");
if (PHP_COUNTER != "no") {
    EXTENSION("counter", "counter.c");
    ADD_SOURCE("counter-util.c");
}
Talking to the UNIX build system: config.m4
Extension structure
The PHP 5 build system


Extension structure

Tabla de contenidos

  • Files which make up an extension
  • Basic constructs
  • The zend_module structure
  • Extension globals
  • Life cycle of an extension
  • Testing an extension

Many extension-writing guides focus on simple examples first and ignore the requirements of more complex implementations until later. Often such guides must repeat themselves over and over in order to describe these new features. This section describes extension structure from the perspective of a mature, practical implementation, in order to prepare users for needs and issues they will almost always encounter in the process of extension development.

Talking to the Windows build system: config.w32
Files which make up an extension
El núcleo de PHP: Guía del Hacker


Files which make up an extension

Whether created by hand, using ext_skel, or by an alternate extension generator, such as » CodeGen, all extensions will have at least four files:

config.m4

UNIX build system configuration (see Talking to the UNIX build system: config.m4)

config.w32

Windows buildsystem configuration (see Talking to the Windows build system: config.w32)

php_counter.h

When building an extension as static module into the PHP binary the build system expects a header file with php_ prepended to the extension name which includes a declaration for a pointer to the extension's module structure. This file usually contains additional macros, prototypes, and globals, just like any header.

counter.c

Main extension source file. By convention, the name of this file is the extension name, but this is not a requirement. This file contains the module structure declaration, INI entries, management functions, userspace functions, and other requirements of an extension.

The buildsystem files are discussed elsewhere; this section concentrates on the rest. These four files make up the bare minimum for an extension, which may also contain any number of headers, source files, unit tests, and other support files. The list of files in the counter extension might look like this:

Ejemplo #1 Files in the counter extension, in no particular order

ext/
 counter/
  .svnignore
  config.m4
  config.w32
  counter_util.h
  counter_util.c
  php_counter.h
  counter.c
  package.xml
  CREDITS
  tests/
   critical_function_001.phpt
   critical_function_002.phpt
   optional_function_001.phpt
   optional_function_002.phpt

Non-source files

The .svnignore file is used for extensions which are checked into the PHP Subversion repository (usually » PECL); the one generated by ext_skel contains:

.deps
*.lo
*.la

These lines tell Subversion to ignore interim files generated by the PHP buildsystem. This is only a convenience, and can be omitted completely without ill effect.

The CREDITS file lists the contributors and/or maintainers of the extension in plain text format. The main purpose of this file is generating the credits information for bundled extensions as used by phpcredits(). By convention the first line of the file should hold the name of the extension, the second a comma separated list of contributors. The contributors are usually ordered by the chronological order of their contributions. In a » PECL package, this information is already maintained in package.xml, for example. This is another file which can be omitted without ill effect.

The package.xml file is specific to » PECL-based extensions; it is a metainformation file which gives details about an extension's dependencies, authors, installation requirements, and other tidbits. In an extension not being hosted in » PECL, this file is extraneous.

Extension structure
Basic constructs
Extension structure


Basic constructs

C is a very low-level language by modern definitions. This means that it has no built-in support for many features that PHP takes for granted, such as reflection, dynamic module loading, bounds checking, threadsafe data management and various useful data structures including linked lists and hash tables. At the same time, C is a common denominator of language support and functionality. Given enough work, none of these concepts are impossible; the Zend Engine uses them all.

A lot of effort has gone into making the Zend API both extensible and understandable, but C forces certain necessary declarations upon any extension that to an inexperienced eye seem redundant or plain unnecessary. All of those constructs, detailed in this section, are "write once and forget" in Zend Engine 2 and 3. Here are some excerpts from the pre-generated php_counter.h and counter.c files created by PHP 5.3's ext_skel, showing the pre-generated declarations:

Nota: The astute reader will notice that there are several declarations in the real files that aren't shown here. Those declarations are specific to various Zend subsystems and are discussed elsewhere as appropriate.

extern zend_module_entry counter_module_entry;
#define phpext_counter_ptr &counter_module_entry

#ifdef PHP_WIN32
#    define PHP_COUNTER_API __declspec(dllexport)
#elif defined(__GNUC__) && __GNUC__ >= 4
#    define PHP_COUNTER_API __attribute__ ((visibility("default")))
#else
#    define PHP_COUNTER_API
#endif

#ifdef ZTS
#include "TSRM.h"
#endif

#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

#include "php.h"
#include "php_ini.h"
#include "ext/standard/info.h"
#include "php_counter.h"

/* ... */

#ifdef COMPILE_DL_COUNTER
ZEND_GET_MODULE(counter)
#endif
  • The lines concerning counter_module_entry declare a global variable, and a macroed pointer to it, which contains the zend_module_entry for the extension. Despite the later discussion regarding the drawbacks of "true" globals, this usage is intentional; Zend takes precautions to avoid misusing this variable.
  • PHP_COUNTER_API is declared for use by non-PHP functions the module intends to export for the use of other modules. The counter extension doesn't declare any of these, and in the final version of the header file, this macro has been removed. The PHPAPI macro is declared identically elsewhere and is used by the standard extension to make the phpinfo() utility functions available to other extensions.
  • The include of TSRM.h is skipped if PHP, or the extension, isn't being compiled with thread-safety, since in that case TSRM isn't used.
  • A standard list of includes, especially the extension's own php_counter.h, is given. config.h gives the extension access to determinations made by configure. php.h is the gateway to the entire PHP and Zend APIs. php_ini.h adds the APIs for runtime configuration (INI) entries. Not all extensions will use this. Finally, ext/standard/info.h imports the aforementioned phpinfo() utility API.
  • COMPILE_DL_COUNTER will only be defined by configure if the counter extension is both enabled and wants to be built as a dynamically loadable module instead of being statically linked into PHP. ZEND_GET_MODULE defines a tiny function which Zend can use to get the extension's zend_module_entry at runtime.

    Nota: The astute reader who has peeked into main/php_config.h after trying to build with the counter module enabled statically may have noticed that there is also a HAVE_COUNTER constant defined that the source code doesn't check for. There's a simple reason this check isn't done: It's unnecessary. If the extension isn't enabled, the source file will never be compiled.

Files which make up an extension
The zend_module structure
Extension structure


The zend_module structure

The main source file of a PHP extension contains several new constructs for a C programmer. The most important of these, the one touched first when starting a new extension, is the zend_module structure. This structure contains a wealth of information that tells the Zend Engine about the extension's dependencies, version, callbacks, and other critical data. The structure has mutated considerably over time; this section will focus on the structure as it has appeared since PHP 5.2, and will identify the very few parts which have changed in PHP 5.3.

The zend_module declaration from counter.c looks like this before any code has been written. The example file was generated by ext_skel --extname=counter, with some obsolete constructs removed:

Ejemplo #1 zend_module declaration in the counter extension

/* {{{ counter_module_entry
 */
zend_module_entry counter_module_entry = {
    STANDARD_MODULE_HEADER,
    "counter",
    counter_functions,
    PHP_MINIT(counter),
    PHP_MSHUTDOWN(counter),
    PHP_RINIT(counter),        /* Replace with NULL if there's nothing to do at request start */
    PHP_RSHUTDOWN(counter),    /* Replace with NULL if there's nothing to do at request end */
    PHP_MINFO(counter),
    "0.1", /* Replace with version number for your extension */
    STANDARD_MODULE_PROPERTIES
};
/* }}} */

This may look a bit daunting at first glance, but most of it is very simple to understand. Here's the declaration of zend_module from zend_modules.h in PHP 5.3:

Ejemplo #2 zend_module definition in PHP 5.3

struct _zend_module_entry {
    unsigned short size;
    unsigned int zend_api;
    unsigned char zend_debug;
    unsigned char zts;
    const struct _zend_ini_entry *ini_entry;
    const struct _zend_module_dep *deps;
    const char *name;
    const struct _zend_function_entry *functions;
    int (*module_startup_func)(INIT_FUNC_ARGS);
    int (*module_shutdown_func)(SHUTDOWN_FUNC_ARGS);
    int (*request_startup_func)(INIT_FUNC_ARGS);
    int (*request_shutdown_func)(SHUTDOWN_FUNC_ARGS);
    void (*info_func)(ZEND_MODULE_INFO_FUNC_ARGS);
    const char *version;
    size_t globals_size;
#ifdef ZTS
    ts_rsrc_id* globals_id_ptr;
#else
    void* globals_ptr;
#endif
    void (*globals_ctor)(void *global TSRMLS_DC);
    void (*globals_dtor)(void *global TSRMLS_DC);
    int (*post_deactivate_func)(void);
    int module_started;
    unsigned char type;
    void *handle;
    int module_number;
};

Many of these fields will never be touched by an extension writer. There are a number of standard macros that set them to their proper values automatically. The macro STANDARD_MODULE_HEADER fills in everything up to the deps field. Alternatively, the STANDARD_MODULE_HEADER_EX will leave the deps field empty for the developer's use. The developer is always responsible for everything from name to version. After that, the STANDARD_MODULE_PROPERTIES macro will fill in the rest of the structure, or the STANDARD_MODULE_PROPERTIES_EX macro can be used to leave the extension globals and post-deactivation function fields unfilled. Most modern extensions will make use of module globals.

Nota:

This table gives the values that each field would have if the developer were to fill in the structure entirely by hand, without recourse to any of the shortcut macros. This is not recommended. The "correct" values for many fields may change. Use the macros whenever possible.

Module structure field values
Field | Value | Description
size [1] [2] [3] | sizeof(zend_module_entry) | The size in bytes of the structure.
zend_api [1] [2] [3] | ZEND_MODULE_API_NO | The version of the Zend API this module was compiled against.
zend_debug [1] [2] [3] | ZEND_DEBUG | A flag indicating whether the module was compiled with debugging turned on.
zts [1] [2] [3] | USING_ZTS | A flag indicating whether the module was compiled with ZTS (TSRM) enabled (see Memory management).
ini_entry [1] [3] | NULL | This pointer is used internally by Zend to keep a non-local reference to any INI entries declared for the module.
deps [3] | NULL | A pointer to a list of dependencies for the module.
name | "mymodule" | The name of the module. This is the short name, such as "spl" or "standard".
functions | mymodule_functions | A pointer to the module's function table, which Zend uses to expose functions in the module to user space.
module_startup_func | PHP_MINIT(mymodule) | A callback function that Zend will call the first time a module is loaded into a particular instance of PHP.
module_shutdown_func | PHP_MSHUTDOWN(mymodule) | A callback function that Zend will call the when a module is unloaded from a particular instance of PHP, typically during final shutdown.
request_startup_func | PHP_RINIT(mymodule) | A callback function that Zend will call at the beginning of each request. This should be as short as possible or NULL as calling this has costs on every request.
request_shutdown_func | PHP_RSHUTDOWN(mymodule) | A callback function that Zend will call at the end of each request. This should be as short as possible or NULL as calling this has costs on every request.
info_func | PHP_MINFO(mymodule) | A callback function that Zend will call when the phpinfo() function is called.
version | NO_VERSION_YET | A string giving the version of the module, as specified by the module developer. It is recommended that the version number be either in the format expected by version_compare() (e.g. "1.0.5-dev"), or a CVS or SVN revision number (e.g. "$Rev: 322138 $").
globals_size [1] [4] [5] [6] | sizeof(zend_mymodule_globals) | The size of the data structure containing the module's globals, if any.
globals_id_ptr [1] [4] [5] [6] [7] | &mymodule_globals_id | Only one of these two fields will exist, depending upon whether the USING_ZTS constant is TRUE. The former is an index into TSRM's allocation table for the module's globals, and the latter is a pointer directly to the globals.
globals_ptr [1] [4] [5] [6] [8] | &mymodule_globals
globals_ctor [4] [5] [6] | PHP_GINIT(mymodule) | This funtion is called to initialize a module's globals before any module_startup_func.
globals_dtor [4] [5] [6] | PHP_GSHUTDOWN(mymodule) | This funtion is called to deallocate a module's globals after any module_shutdown_func.
post_deactivate_func [4] | ZEND_MODULE_POST_ZEND_DEACTIVATE_N(mymodule) | This function is called by Zend after request shutdown. It is rarely used.
module_started [1] [9] [4] | 0 | These fields are used for Zend's internal tracking information.
type [1] [9] [4] | 0
handle [1] [9] [4] | NULL
module_number [1] [9] [4] | 0
[1] This field is not intended for use by module developers. [2] This field is filled in by STANDARD_MODULE_HEADER_EX. [3] This field is filled in by STANDARD_MODULE_HEADER. [4] This field is filled in by STANDARD_MODULE_PROPERTIES. [5] This field is filled in by NO_MODULE_GLOBALS. [6] This field is filled in by PHP_MODULE_GLOBALS. [7] This field only exists when USING_ZTS is TRUE. [8] This field only exists when USING_ZTS is FALSE. [9] This field is filled in by STANDARD_MODULE_PROPERTIES_EX.

Filling in the structure in a practical situation

With all these fields to play with, it can be confusing to know which to use for what purpose. Here is the zend_module definition from the "counter" example extension after updating it to its final form.

Ejemplo #3 Counter extension module definition

/* {{{ counter_module_entry
 */
zend_module_entry counter_module_entry = {
    STANDARD_MODULE_HEADER,
    "counter",
    counter_functions,
    PHP_MINIT(counter),
    PHP_MSHUTDOWN(counter),
    PHP_RINIT(counter),
    PHP_RSHUTDOWN(counter),
    PHP_MINFO(counter),
    NO_VERSION_YET,
    PHP_MODULE_GLOBALS(counter),
    PHP_GINIT(counter),
    PHP_GSHUTDOWN(counter),
    NULL,
    STANDARD_MODULE_PROPERTIES_EX
};
/* }}} */
  • STANDARD_MODULE_HEADER is used since this module doesn't define any dependencies.
  • "counter" is the extension's name, and is used to define the various callback functions the module passes to Zend. "counter" uses module, globals, and request functions at startup and shutdown times, and provides information to phpinfo(), so all seven callbacks are defined.
  • It is assumed that there is a variable of type zend_function_entry * named counter_functions earlier in the file that contains the module definition, listing the functions the module exports to userspace.
  • NO_VERSION_YET is a particularly nice way of telling Zend the module doesn't have a version. It might have been more correct to place "1.0" here instead in a real module.
  • "counter" uses per-module globals, so PHP_MODULE_GLOBALS is used
  • This module has no post-deactivate function, so NULL is used.
  • Since this module does use globals, STANDARD_MODULE_PROPERTIES_EX is used to finish the structure.

What's changed between 5.2 and 5.3?

Nothing. The only differences in the zend_module structure between PHP 5.2 and PHP 5.3 are a few const keywords.

Basic constructs
Extension globals
Extension structure


Extension globals

Introduction to globals in a PHP extension

In a language such as C, a "global" variable is a variable that can be accessed from any function without any extra declaration. These traditional globals have a few drawbacks:

  • Barring any special options passed to the compiler, a global variable can be accessed and changed by any piece of code anywhere in the program, whether or not that code should be doing so.
  • A typical global variable is not thread safe.
  • The names of global variables are as global as the variables themselves.

A PHP extension's globals are more properly called the "extension state", since most modules must remember what they're doing between function calls. The "counter" extension is a perfect example of this need: The basic interface calls for a counter with a persistent value. A programmer new to Zend and PHP might do something like this in counter.c to store that value:

Ejemplo #1 The wrong way to store the basic counter interface's value

/* ... */
static long basic_counter_value;

/* ... */

PHP_FUNCTION(counter_get)
{
    RETURN_LONG(basic_counter_value);
}

On the surface this appears a viable solution, and indeed in a simple test it would function correctly. However, there are a number of situations in which more than one copy of PHP is running in the same thread, which means more than one instance of the counter module. Suddenly these multiple threads are sharing the same counter value, which is clearly undesirable. Another problem shows itself when considering that another extension might someday happen to have a global with the same name, and due to the rules of C scoping, this has the potential to cause a compile failure, or worse, a runtime error. Something more elaborate is needed, and so exists Zend's support for thread-safe per-module globals.

Declaring module globals

Whether a module uses only a single global or dozens, they must be defined in a structure, and that structure must be declared. There are some macros that assist with doing so in a way that avoids name conflicts between modules: ZEND_BEGIN_MODULE_GLOBALS(), ZEND_END_MODULE_GLOBALS(), and ZEND_DECLARE_MODULE_GLOBALS(). All three take as a parameter the short name of the module, which in the case of the counter module is simply "counter". Here is the global structure declaration from php_counter.h:

Ejemplo #2 The counter module's globals

ZEND_BEGIN_MODULE_GLOBALS(counter)
    long        basic_counter_value;
ZEND_END_MODULE_GLOBALS(counter)

And this is the declaration from counter.c:

Ejemplo #3 The counter module's global structure declaration

ZEND_DECLARE_MODULE_GLOBALS(counter)

Accessing module globals

As discussed above, per-module globals are declared inside a C structure whose name is obscured by Zend macros. As a result, the ideal way to access members of this structure is by the use of further macros. Accordingly, most if not all extensions which have globals have a declaration like this somewhere in their header file:

Ejemplo #4 Accessor macros for per-module globals

#ifdef ZTS
#define COUNTER_G(v) TSRMG(counter_globals_id, zend_counter_globals *, v)
#else
#define COUNTER_G(v) (counter_globals.v)
#endif

Nota: This could have been generalized into a macro of its own by the Zend API, but as of PHP 5.3 (and PHP 6 at the time of this writing), that hasn't happened. The global accessor construct is written into the header by ext_skel and thus is generally left alone by extension writers, unless they wish to change the name of the accessor macro.

Nota: COUNTER_G was the name given to the macro by ext_skel, but it's not necessary for it to have that name and could just as easily be called FOO instead.

Any code in the counter extension that accesses a global must thus wrap it in the macro COUNTER_G.

Advertencia

Any function which accesses globals must either be declared by Zend macros, have TSRMLS_DC as its last argument, or call the macro TSRMLS_FETCH before accessing the globals. See the TSRM documentation for more information.

So with all of that in mind, here is our new version of the counter_get():

Ejemplo #5 The right way to store the basic counter interface's value

/* php_counter.h */
ZEND_BEGIN_MODULE_GLOBALS(counter)
    long        basic_counter_value;
ZEND_END_MODULE_GLOBALS(counter)

#ifdef ZTS
#define COUNTER_G(v) TSRMG(counter_globals_id, zend_counter_globals *, v)
#else
#define COUNTER_G(v) (counter_globals.v)
#endif

/* counter.c */
ZEND_DECLARE_MODULE_GLOBALS(counter)

/* ... */

PHP_FUNCTION(counter_get)
{
    RETURN_LONG(COUNTER_G(basic_counter_value));
}

This is a correct implementation. It is not, however, a complete one. The section Life cycle of an extension explains why.

The zend_module structure
Life cycle of an extension
Extension structure


Life cycle of an extension

A PHP extension goes through several phases during its lifetime. All of these phases are opportunities for the developer to perform various initialization, termination, or informational functions. The Zend API allows for hooks into five separate phases of an extension's existence, apart from calls by PHP functions.

Loading, unloading, and requests

As the Zend engine runs, it processes one or more "requests" from its client. In the traditional CGI implementation, this corresponds to one execution of a process. However, many other implementations, most notably the Apache module, can map many requests onto a single PHP process. A PHP extension may thus see many requests in its lifetime.

Overview

  • In the Zend API, a module is loaded into memory only once when the associated PHP process starts up. Each module receives a call to the "module initialization" function specified in its zend_module structure as it is loaded.
  • Whenever the associated PHP process starts to handle a request from its client - i.e. whenever the PHP interpreter is told to start working - each module receives a call to the "request initialization" function specified in its zend_module structure.
  • Whenever the associated PHP process is done handling a request, each module receives a call to the "request termination" function specified in its zend_module structure.
  • A given module is unloaded from memory when its associated PHP process is shut down in an orderly manner. The module receives a call to the "module termination" function specified in its zend_module structure at this time.

What to do, and when to do it

There are many tasks that might be performed at any of these four points. This table details where many common initialization and termination tasks belong.

What to do, and when to do it
Module initialization/termination | Request initialization/termination
Allocate/deallocate and initialize module global variables | Allocate/deallocate and initialize request-specific variables
Register/unregister class entries |
Register/unregister INI entries |
Register constants |

The phpinfo() callback

Aside from globals initialization and certain rarely-used callbacks, there is one more part of a module's lifecycle to examine: A call to phpinfo(). The output a user sees from this call, whether text or HTML or anything else, is generated by each individual extension that is loaded into the PHP interpreter at the time the call is made.

To provide for format-neutral output, the header "ext/standard/info.h" provides an array of functions to produce standardized display elements. Specifically, several functions which create the familiar tables exist:

php_info_print_table_start()
Open a table in phpinfo() output. Takes no parameters.
php_info_print_table_header()
Print a table header in phpinfo() output. Takes one parameter, the number of columns, plus the same number of char * parameters which are the texts for each column heading.
php_info_print_table_row()
Print a table row in phpinfo() output. Takes one parameter, the number of columns, plus the same number of char * parameters which are the texts for each column content.
php_info_print_table_end()
Close a table formerly opened by php_info_print_table_start(). Takes no parameters.

Using these four functions, it is possible to produce status information for nearly any combination of features in an extension. Here is the information callback from the counter extension:

Ejemplo #1 counter's PHP_MINFO function

/* {{{ PHP_MINFO(counter) */
PHP_MINFO_FUNCTION(counter)
{
    char        buf[10];

    php_info_print_table_start();
    php_info_print_table_row(2, "counter support", "enabled");
    snprintf(buf, sizeof(buf), "%ld", COUNTER_G(basic_counter_value));
    php_info_print_table_row(2, "Basic counter value", buf);
    php_info_print_table_end();
}
/* }}} */
Extension globals
Testing an extension
Extension structure


Testing an extension

One of the accepted requirements of good programming is testing. PHP provides a test harness for unit regression tests, in the form of a script called run-tests.php.

Tests for a particular module are stored in the tests/ subdirectory of the module's folder, and have a .phpt extension. For details of the PHPT format, see » http://qa.php.net/.

Life cycle of an extension
PDO Driver How-To
Extension structure


PDO Driver How-To

Tabla de contenidos

  • Prerequisites
  • Preparation and Housekeeping
  • Fleshing out your skeleton
  • Building
  • Testing
  • Packaging and distribution
  • pdo_dbh_t definition
  • pdo_stmt_t definition
  • Constants
  • Error handling

The purpose of this How-To is to provide a basic understanding of the steps required to write a database driver that interfaces with the PDO layer. Please note that this is still an evolving API and as such, subject to change. This document was prepared based on version 0.3 of PDO. The learning curve is steep; expect to spend a lot of time on the prerequisites.

Testing an extension
Prerequisites
El núcleo de PHP: Guía del Hacker


Prerequisites

The following is list of prerequisites and assumptions needed for writing a PDO database driver:

  1. A working target database, examples, demos, etc. working as per vendor specifications;

  2. A working development environment:

    1. Linux: standard development tools, gcc, ld, make, autoconf, automake, etc., versions dependent on distribution;

    2. Other Unix: standard development tools supplied by vendor plus the GNU development tool set;

    3. Win32: Visual Studio compiler suite;

  3. A working PHP environment version 5.0.3 or higher with a working PEAR extension version 1.3.5 or higher;

  4. A working PDO environment (can be installed using 'sudo pecl install PDO'), including the headers which will be needed to access the PDO type definitions and function declarations;

  5. A good working knowledge of the C programming language;

  6. A good working knowledge of the way to write a PHP extension; George Schlossnagle's Advanced PHP Programming (published by Developer's Library, chapters 21 and 22) is recommended;

  7. Finally, a familiarity with the Zend API that forms the heart of PHP, in particular paying attention to the memory management aspects.

PDO Driver How-To
Preparation and Housekeeping
PDO Driver How-To


Preparation and Housekeeping

Source directory layout

The source directory for a typical PDO driver is laid out as follows, where SKEL represents a shortened form of the name of the database that the driver is going to connect to. Even though SKEL is presented here in uppercase (for clarity), the convention is to use lowercase characters.

pdo_SKEL/
  config.m4                  # unix build script
  config.w32                 # win32 build script
  CREDITS
  package.xml                # meta information about the package
  pdo_SKEL.c                 # standard PHP extension glue
  php_pdo_SKEL.h
  php_pdo_SKEL_int.h         # driver private header
  SKEL_dbh.c                 # contains the implementation of the PDO driver interface
  SKEL_stmt.c                # contains the implementation of the PDO statement interface
  tests/

The contents of these files are defined later in this document.

Creating a skeleton

The easiest way to get started is to use the ext_skel shell script found in the PHP build tree in the ext directory. This will build a skeleton directory containing a lot of the files listed above. It can be build by executing the following command from within the ext directory:

./ext_skel --extname=pdo_SKEL

This will generate a directory called pdo_SKEL containing the skeleton files that you can then modify. This directory should then be moved out of the php extension directory. PDO is a PECL extension and should not be included in the standard extension directory. As long as you have PHP and PDO installed, you should be able to build from any directory.

Standard Includes

Build Specific Headers

The header file config.h is generated by the configure process for the platform for the which the driver is being built. If this header is present, the HAVE_CONFIG_H compiler variable is set. This variable should be tested for and if set, the file config.h should be included in the compilation unit.

PHP Headers

The following standard public php headers should be included in each source module:

  1. php.h

  2. php_ini.h

  3. ext/standard/info.h

PDO Interface Headers

The following standard public PDO header files are also included in each source module:

pdo/php_pdo.h

This header file contains definitions of the initialization and shutdown functions in the main driver as well as definitions of global PDO variables.

pdo/php_pdo_driver.h

This header contains the types and API contracts that are used to write a PDO driver. It also contains method signature for calling back into the PDO layer and registering/unregistering your driver with PDO. Most importantly, this header file contains the type definitions for PDO database handles and statements. The two main structures a driver has to deal with, pdo_dbh_t and pdo_stmt_t, are described in more detail in Appendix A and B.

Driver Specific Headers

The typical PDO driver has two header files that are specific to the database implementation. This does not preclude the use of more depending on the implementation. The following two headers are, by convention, standard:

php_pdo_SKEL.h

This header file is virtually an exact duplicate in functionality and content of the previously defined pdo/php_pdo.h that has been specifically tailored for your database. If your driver requires the use of global variables they should be defined using the ZEND_BEGIN_MODULE_GLOBALS and ZEND_END_MODULE_GLOBALS macros. Macros are then used to access these variables. This macro is usually named PDO_SKEL_G(v) where v is global variable to be accessed. Consult the Zend programmer documentation for more information.

php_pdo_SKEL_int.h

This header file typically contains type definitions and function declarations specific to the driver implementation. It also should contain the db specific definitions of a pdo_SKEL_handle and pdo_SKEL_stmt structures. These are the names of the private data structures that are then referenced by the driver_data members of the handle and statement structures.

Optional Headers

Depending on the implementation details for a particular driver it may be necessary to include the following header:

#include <zend_exceptions.h>
Prerequisites
Fleshing out your skeleton
PDO Driver How-To


Fleshing out your skeleton

Major Structures and Attributes

The major structures, pdo_dbh_t and pdo_stmt_t are defined and explained in Appendix A and B respectively. Database and Statement attributes are defined in Appendix C. Error handling is explained in Appendix D.

pdo_SKEL.c: PHP extension glue

function entries

static function_entry pdo_SKEL_functions[] = {
  { NULL, NULL, NULL }
};

This structure is used to register functions into the global php function namespace. PDO drivers should try to avoid doing this, so it is recommended that you leave this structure initialized to NULL, as shown in the synopsis above.

Module entry

/* {{{ pdo_SKEL_module_entry */
#if ZEND_EXTENSION_API_NO >= 220050617
static zend_module_dep pdo_SKEL_deps[] = {
    ZEND_MOD_REQUIRED("pdo")
    {NULL, NULL, NULL}
};
#endif
/* }}} */

zend_module_entry pdo_SKEL_module_entry = {
#if ZEND_EXTENSION_API_NO >= 220050617
    STANDARD_MODULE_HEADER_EX, NULL,
    pdo_SKEL_deps,
#else
    STANDARD_MODULE_HEADER,
#endif
    "pdo_SKEL",
    pdo_SKEL_functions,
    PHP_MINIT(pdo_SKEL),
    PHP_MSHUTDOWN(pdo_SKEL),
    NULL,
    NULL,
    PHP_MINFO(pdo_SKEL),
    PHP_PDO_<DB>_MODULE_VERSION,
    STANDARD_MODULE_PROPERTIES
};
/* }}} */

#ifdef COMPILE_DL_PDO_<DB>
ZEND_GET_MODULE(pdo_db)
#endif

A structure of type zend_module_entry called pdo_SKEL_module_entry must be declared and should include reference to the pdo_SKEL_functions table defined previously.

Standard PHP Module Extension Functions

PHP_MINIT_FUNCTION
/* {{{ PHP_MINIT_FUNCTION */
PHP_MINIT_FUNCTION(pdo_SKEL)
{
    return php_pdo_register_driver(&pdo_SKEL_driver);
}
/* }}} */

This standard PHP extension function should be used to register your driver with the PDO layer. This is done by calling the php_pdo_register_driver() function passing a pointer to a structure of type pdo_driver_t typically named pdo_SKEL_driver. A pdo_driver_t contains a header that is generated using the PDO_DRIVER_HEADER(SKEL) macro and pdo_SKEL_handle_factory() function pointer. The actual function is described during the discussion of the SKEL_dbh.c unit.

PHP_MSHUTDOWN_FUNCTION
/* {{{ PHP_MSHUTDOWN_FUNCTION */
PHP_MSHUTDOWN_FUNCTION(pdo_SKEL)
{
    php_pdo_unregister_driver(&pdo_SKEL_driver);
    return SUCCESS;
}
/* }}} */

This standard PHP extension function is used to unregister your driver from the PDO layer. This is done by calling the php_pdo_unregister_driver() function, passing the same pdo_SKEL_driver structure that was passed in the init function above.

PHP_MINFO_FUNCTION

This is again a standard PHP extension function. Its purpose is to display information regarding the module when the phpinfo() is called from a script. The convention is to display the version of the module and also what version of the db you are dependent on, along with any other configuration style information that might be relevant.

SKEL_driver.c: Driver implementation

This unit implements all of the database handling methods that support the PDO database handle object. It also contains the error fetching routines. All of these functions will typically need to access the global variable pool. Therefore, it is necessary to use the Zend macro TSRMLS_DC macro at the end of each of these statements. Consult the Zend programmer documentation for more information on this macro.

pdo_SKEL_error

static int pdo_SKEL_error(pdo_dbh_t *dbh,
  pdo_stmt_t *stmt, const char *file, int line TSRMLS_DC)

The purpose of this function is to be used as a generic error handling function within the driver. It is called by the driver when an error occurs within the driver. If an error occurs that is not related to SQLSTATE, the driver should set either dbh->error_code or stmt->error_code to an SQLSTATE that most closely matches the error or the generic SQLSTATE error "HY000". The file pdo_sqlstate.c in the PDO source contains a table of commonly used SQLSTATE codes that the PDO code explicitly recognizes. This setting of the error code should be done prior to calling this function.; This function should set the global pdo_err variable to the error found in either the dbh or the stmt (if the variable stmt is not NULL).

dbh

Pointer to the database handle initialized by the handle factory

stmt

Pointer to the current statement or NULL. If NULL, the error is derived by error code found in the dbh.

file

The source file where the error occurred or NULL if not available.

line

The line number within the source file if available.

If the dbh member methods is NULL (which implies that the error is being raised from within the PDO constructor), this function should call the zend_throw_exception_ex() function otherwise it should return the error code. This function is usually called using a helper macro that customizes the calling sequence for either database handling errors or statement handling errors.

Ejemplo #1 Example macros for invoking pdo_SKEL_error

#define pdo_SKEL_drv_error(what) \
    pdo_SKEL_error(dbh, NULL, what, __FILE__, __LINE__ TSRMLS_CC)
#define pdo_SKEL_drv_error(what) \
    pdo_SKEL_error(dbh, NULL, what, __FILE__, __LINE__ TSRMLS_CC)

For more info on error handling, see Error handling.

Nota:

Despite being documented here, the PDO driver interface does not specify that this function be present; it is merely a convenient way to handle errors, and it just happens to be equally convenient for the majority of database client library APIs to structure your driver implementation in this way.

pdo_SKEL_fetch_error_func

static int pdo_SKEL_fetch_error_func(pdo_dbh_t *dbh, pdo_stmt_t *stmt,
    zval *info TSRMLS_DC)

The purpose of this function is to obtain additional information about the last error that was triggered. This includes the driver specific error code and a human readable string. It may also include additional information if appropriate. This function is called as a result of the PHP script calling the PDO::errorInfo() method.

dbh

Pointer to the database handle initialized by the handle factory

stmt

Pointer to the most current statement or NULL. If NULL, the error translated is derived by error code found in the dbh.

info

A hash table containing error codes and messages.

The error_func should return two pieces of information as successive array elements. The first item is expected to be a numeric error code, the second item is a descriptive string. The best way to set this item is by using add_next_index. Note that the type of the first argument need not be long; use whichever type most closely matches the error code returned by the underlying database API.

/* now add the error information. */
/* These need to be added in a specific order */
add_next_index_long(info, error_code);   /* driver specific error code */
add_next_index_string(info, message, 0); /* readable error message */

This function should return 1 if information is available, 0 if the driver does not have additional info.

SKEL_handle_closer

static int SKEL_handle_closer(pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to close an open database.

dbh

Pointer to the database handle initialized by the handle factory

This should do whatever database specific activity that needs to be accomplished to close the open database. PDO ignores the return value from this function.

SKEL_handle_preparer

static int SKEL_handle_preparer(pdo_dbh_t *dbh, const char *sql,
long sql_len, pdo_stmt_t *stmt, zval *driver_options TSRMLS_DC)

This function will be called by PDO in response to PDO::query() and PDO::prepare() calls from the PHP script. The purpose of the function is to prepare raw SQL for execution, storing whatever state is appropriate into the stmt that is passed in.

dbh

Pointer to the database handle initialized by the handle factory

sql

Pointer to a character string containing the SQL statement to be prepared.

sql_len

The length of the SQL statement.

Stmt

Pointer to the returned statement or NULL if an error occurs.

driver_options

Any driver specific/defined options.

This function is essentially the constructor for a stmt object. This function is responsible for processing statement options, and setting driver-specific option fields in the pdo_stmt_t structure.

PDO does not process any statement options on the driver's behalf before calling the preparer function. It is your responsibility to process them before you return, raising an error for any unknown options that are passed.

One very important responsibility of this function is the processing of SQL statement parameters. At the time of this call, PDO does not know if your driver supports binding parameters into prepared statements, nor does it know if it supports named or positional parameter naming conventions.

Your driver is responsible for setting stmt->supports_placeholders as appropriate for the underlying database. This may involve some run-time determination on the part of your driver, if this setting depends on the version of the database server to which it is connected. If your driver doesn't directly support both named and positional parameter conventions, you should use the pdo_parse_params() API to have PDO rewrite the query to take advantage of the support provided by your database.

Ejemplo #2 Using pdo_parse_params

int ret;
    char *nsql = NULL;
    int nsql_len = 0;

    /* before we prepare, we need to peek at the query; if it uses named parameters,
     * we want PDO to rewrite them for us */
    stmt->supports_placeholders = PDO_PLACEHOLDER_POSITIONAL;
    ret = pdo_parse_params(stmt, (char*)sql, sql_len, &nsql, &nsql_len TSRMLS_CC);

    if (ret == 1) {
        /* query was re-written */
        sql = nsql;
    } else if (ret == -1) {
        /* couldn't grok it */
        strcpy(dbh->error_code, stmt->error_code);
        return 0;
    }

    /* now proceed to prepare the query in "sql" */

Possible values for supports_placeholders are: PDO_PLACEHOLDER_NAMED, PDO_PLACEHOLDER_POSITIONAL and PDO_PLACEHOLDER_NONE. If the driver doesn't support prepare statements at all, then this function should simply allocate any state that it might need, and then return:

Ejemplo #3 Implementing preparer for drivers that don't support native prepared statements

static int SKEL_handle_preparer(pdo_dbh_t *dbh, const char *sql,
    long sql_len, pdo_stmt_t *stmt, zval *driver_options TSRMLS_DC)
{
    pdo_SKEL_db_handle *H = (pdo_SKEL_db_handle *)dbh->driver_data;
    pdo_SKEL_stmt *S = ecalloc(1, sizeof(pdo_SKEL_stmt));

    S->H = H;
    stmt->driver_data = S;
    stmt->methods = &SKEL_stmt_methods;
    stmt->supports_placeholders = PDO_PLACEHOLDER_NONE;

    return 1;
}

This function returns 1 on success or 0 on failure.

SKEL_handle_doer

static long SKEL_handle_doer(pdo_dbh_t *dbh, const char *sql, long sql_len TSRMLS_DC)

This function will be called by PDO to execute a raw SQL statement. No pdo_stmt_t is created.

dbh

Pointer to the database handle initialized by the handle factory

sql

Pointer to a character string containing the SQL statement to be prepared.

sql_len

The length of the SQL statement.

This function returns 1 on success or 0 on failure.

SKEL_handle_quoter

static int SKEL_handle_quoter(pdo_dbh_t *dbh, const char *unquoted,
  int unquoted_len, char **quoted, int quoted_len, enum pdo_param_type param_type TSRMLS_DC)

This function will be called by PDO to turn an unquoted string into a quoted string for use in a query.

dbh

Pointer to the database handle initialized by the handle factory

unquoted

Pointer to a character string containing the string to be quoted.

unquoted_len

The length of the string to be quoted.

quoted

Pointer to the address where a pointer to the newly quoted string will be returned.

quoted_len

The length of the new string.

param_type

A driver specific hint for driver that have alternate quoting styles

This function is called in response to a call to PDO::quote() or when the driver has set supports_placeholder to PDO_PLACEHOLDER_NONE. The purpose is to quote a parameter when building SQL statements.

If your driver does not support native prepared statements, implementation of this function is required.

This function returns 1 if the quoting process reformatted the string, and 0 if it was not necessary to change the string. The original string will be used unchanged with a 0 return.

SKEL_handle_begin

static int SKEL_handle_begin(pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to begin a database transaction.

dbh

Pointer to the database handle initialized by the handle factory

This should do whatever database specific activity that needs to be accomplished to begin a transaction. This function returns 1 for success or 0 if an error occurred.

SKEL_handle_commit

static int SKEL_handle_commit(pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to end a database transaction.

dbh

Pointer to the database handle initialized by the handle factory

This should do whatever database specific activity that needs to be accomplished to commit a transaction. This function returns 1 for success or 0 if an error occurred.

SKEL_handle_rollback

static int SKEL_handle_rollback( pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to rollback a database transaction.

dbh

Pointer to the database handle initialized by the handle factory

This should do whatever database specific activity that needs to be accomplished to rollback a transaction. This function returns 1 for success or 0 if an error occurred.

SKEL_handle_get_attribute

static int SKEL_handle_get_attribute(pdo_dbh_t *dbh, long attr, zval *return_value TSRMLS_DC)

This function will be called by PDO to retrieve a database attribute.

dbh

Pointer to the database handle initialized by the handle factory

attr

long value of one of the PDO_ATTR_xxxx types. See Database and Statement Attributes Table for valid attributes.

return_value

The returned value for the attribute.

It is up to the driver to decide which attributes will be supported for a particular implementation. It is not necessary for a driver to supply this function. PDO driver handles the PDO_ATTR_PERSISTENT, PDO_ATTR_CASE, PDO_ATTR_ORACLE_NULLS, and PDO_ATTR_ERRMODE attributes directly.

This function returns 1 on success or 0 on failure.

SKEL_handle_set_attribute

static int SKEL_handle_set_attribute(pdo_dbh_t *dbh, long attr, zval *val TSRMLS_DC)

This function will be called by PDO to set a database attribute, usually in response to a script calling PDO::setAttribute().

dbh

Pointer to the database handle initialized by the handle factory

attr

long value of one of the PDO_ATTR_xxxx types. See Database and Statement Attributes Table for valid attributes.

val

The new value for the attribute.

It is up to the driver to decide which attributes will be supported for a particular implementation. It is not necessary for a driver to provide this function if it does not need to support additional attributes. The PDO driver handles the PDO_ATTR_CASE, PDO_ATTR_ORACLE_NULLS, and PDO_ATTR_ERRMODE attributes directly.

This function returns 1 on success or 0 on failure.

SKEL_handle_last_id

static char * SKEL_handle_last_id(pdo_dbh_t *dbh, const char *name, unsigned int len TSRMLS_DC)

This function will be called by PDO to retrieve the ID of the last inserted row.

dbh

Pointer to the database handle initialized by the handle factory

name

string representing a table or sequence name.

len

the length of the name parameter.

This function returns a character string containing the id of the last inserted row on success or NULL on failure. This is an optional function.

SKEL_check_liveness

static int SKEL_check_liveness(pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to test whether or not a persistent connection to a database is alive and ready for use.

dbh

Pointer to the database handle initialized by the handle factory

This function returns 1 if the database connection is alive and ready for use, otherwise it should return 0 to indicate failure or lack of support.

Nota:

This is an optional function.

SKEL_get_driver_methods

static function_entry *SKEL_get_driver_methods(pdo_dbh_t *dbh, int kind TSRMLS_DC)

This function will be called by PDO in response to a call to any method that is not a part of either the PDO or PDOStatement classes. It's purpose is to allow the driver to provide additional driver specific methods to those classes.

dbh

Pointer to the database handle initialized by the handle factory

kind

One of the following:

PDO_DBH_DRIVER_METHOD_KIND_DBH

Set when the method call was attempted on an instance of the PDO class. The driver should return a pointer a function_entry table for any methods it wants to add to that class, or NULL if there are none.

PDO_DBH_DRIVER_METHOD_KIND_STMT

Set when the method call was attempted on an instance of the PDOStatement class. The driver should return a pointer to a function_entry table for any methods it wants to add to that class, or NULL if there are none.

This function returns a pointer to the function_entry table requested, or NULL there are no driver specific methods.

SKEL_handle_factory

static int SKEL_handle_factory(pdo_dbh_t *dbh, zval *driver_options TSRMLS_DC)

This function will be called by PDO to create a database handle. For most databases this involves establishing a connection to the database. In some cases, a persistent connection may be requested, in other cases connection pooling may be requested. All of these are database/driver dependent.

dbh

Pointer to the database handle initialized by the handle factory

driver_options

An array of driver options, keyed by integer option number. See Database and Statement Attributes Table for a list of possible attributes.

This function should fill in the passed database handle structure with its driver specific information on success and return 1, otherwise it should return 0 to indicate failure.

PDO processes the AUTOCOMMIT and PERSISTENT driver options before calling the handle_factory. It is the handle factory's responsibility to process other options.

Driver method table

A static structure of type pdo_dbh_methods named SKEL_methods must be declared and initialized to the function pointers for each defined function. If a function is not supported or not implemented the value for that function pointer should be set to NULL.

pdo_SKEL_driver

A structure of type pdo_driver_t named pdo_SKEL_driver should be declared. The PDO_DRIVER_HEADER(SKEL) macro should be used to declare the header and the function pointer to the handle factory function should set.

SKEL_statement.c: Statement implementation

This unit implements all of the database statement handling methods that support the PDO statement object.

SKEL_stmt_dtor

static int SKEL_stmt_dtor(pdo_stmt_t *stmt TSRMLS_DC)

This function will be called by PDO to destroy a previously constructed statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

This should do whatever is necessary to free up any driver specific storage allocated for the statement. The return value from this function is ignored.

SKEL_stmt_execute

static int SKEL_stmt_execute(pdo_stmt_t *stmt TSRMLS_DC)

This function will be called by PDO to execute the prepared SQL statement in the passed statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_fetch

static int SKEL_stmt_fetch(pdo_stmt_t *stmt, enum pdo_fetch_orientation ori,
   long offset TSRMLS_DC)

This function will be called by PDO to fetch a row from a previously executed statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

ori

One of PDO_FETCH_ORI_xxx which will determine which row will be fetched.

offset

If ori is set to PDO_FETCH_ORI_ABS or PDO_FETCH_ORI_REL, offset represents the row desired or the row relative to the current position, respectively. Otherwise, this value is ignored.

The results of this fetch are driver dependent and the data is usually stored in the driver_data member of the pdo_stmt_t object. The ori and offset parameters are only meaningful if the statement represents a scrollable cursor. This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_param_hook

static int SKEL_stmt_param_hook(pdo_stmt_t *stmt,
  struct pdo_bound_param_data *param, enum pdo_param_event event_type TSRMLS_DC)

This function will be called by PDO for handling of both bound parameters and bound columns.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

param

The structure describing either a statement parameter or a bound column.

event_type

The type of event to occur for this parameter, one of the following:

PDO_PARAM_EVT_ALLOC

Called when PDO allocates the binding. Occurs as part of PDOStatement::bindParam(), PDOStatement::bindValue() or as part of an implicit bind when calling PDOStatement::execute(). This is your opportunity to take some action at this point; drivers that implement native prepared statements will typically want to query the parameter information, reconcile the type with that requested by the script, allocate an appropriately sized buffer and then bind the parameter to that buffer. You should not rely on the type or value of the zval at param->parameter at this point in time.

PDO_PARAM_EVT_FREE

Called once per parameter as part of cleanup. You should release any resources associated with that parameter now.

PDO_PARAM_EXEC_PRE

Called once for each parameter immediately before calling SKEL_stmt_execute; take this opportunity to make any final adjustments ready for execution. In particular, you should note that variables bound via PDOStatement::bindParam() are only legal to touch now, and not any sooner.

PDO_PARAM_EXEC_POST

Called once for each parameter immediately after calling SKEL_stmt_execute; take this opportunity to make any post-execution actions that might be required by your driver.

PDO_PARAM_FETCH_PRE

Called once for each parameter immediately prior to calling SKEL_stmt_fetch.

PDO_PARAM_FETCH_POST

Called once for each parameter immediately after calling SKEL_stmt_fetch.

This hook will be called for each bound parameter and bound column in the statement. For ALLOC and FREE events, a single call will be made for each parameter or column. The param structure contains a driver_data field that the driver can use to store implementation specific information about each of the parameters.

For all other events, PDO may call you multiple times as the script issues PDOStatement::execute() and PDOStatement::fetch() calls.

If this is a bound parameter, the is_param flag in the param structure is set, otherwise the param structure refers to a bound column.

This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_describe_col

static int SKEL_stmt_describe_col(pdo_stmt_t *stmt, int colno TSRMLS_DC)

This function will be called by PDO to query information about a particular column.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

colno

The column number to be queried.

The driver should populate the pdo_stmt_t member columns(colno) with the appropriate information. This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_get_col_data

static int SKEL_stmt_get_col_data(pdo_stmt_t *stmt, int colno,
  char **ptr, unsigned long *len, int *caller_frees TSRMLS_DC)

This function will be called by PDO to retrieve data from the specified column.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

colno

The column number to be queried.

ptr

Pointer to the retrieved data.

len

The length of the data pointed to by ptr.

caller_frees

If set, ptr should point to emalloc'd memory and the main PDO driver will free it as soon as it is done with it. Otherwise, it will be the responsibility of the driver to free any allocated memory as a result of this call.

The driver should return the resultant data and length of that data in the ptr and len variables respectively. It should be noted that the main PDO driver expects the driver to manage the lifetime of the data. This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_set_attr

static int SKEL_stmt_set_attr(pdo_stmt_t *stmt, long attr, zval *val TSRMLS_DC)

This function will be called by PDO to allow the setting of driver specific attributes for a statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

attr

long value of one of the PDO_ATTR_xxxx types. See Database and Statement Attributes Table for valid attributes.

val

The new value for the attribute.

This function is driver dependent and allows the driver the capability to set database specific attributes for a statement. This function returns 1 for success or 0 in the event of failure. This is an optional function. If the driver does not support additional settable attributes, it can be NULLed in the method table. The PDO driver does not handle any settable attributes on the database driver's behalf.

SKEL_stmt_get_attr

static int SKEL_stmt_get_attr(pdo_stmt_t *stmt, long attr, zval
   *return_value TSRMLS_DC)

This function will be called by PDO to allow the retrieval of driver specific attributes for a statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

attr

long value of one of the PDO_ATTR_xxxx types. See Database and Statement Attributes Table for valid attributes.

return_value

The returned value for the attribute.

This function is driver dependent and allows the driver the capability to retrieve a previously set database specific attribute for a statement. This function returns 1 for success or 0 in the event of failure. This is an optional function. If the driver does not support additional gettable attributes, it can be NULLed in the method table. The PDO driver does not handle any settable attributes on the database driver's behalf.

SKEL_stmt_get_col_meta

static int SKEL_stmt_get_col_meta(pdo_stmt_t *stmt, int colno,
   zval *return_value TSRMLS_DC)
Advertencia

This function is not well defined and is subject to change.

This function will be called by PDO to retrieve meta data from the specified column.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

colno

The column number for which data is to be retrieved.

return_value

Holds the returned meta data.

The driver author should consult the documentation for this function that can be found in the php_pdo_driver.h header as this will be the most current. This function returns 1 for success or 0 in the event of failure. The database driver does not need to provide this function.

Statement handling method table

A static structure of type pdo_stmt_methods named SKEL_stmt_methods should be declared and initialized to the function pointers for each defined function. If a function is not supported or not implemented the value for that function pointer should be set to NULL.

Preparation and Housekeeping
Building
PDO Driver How-To


Building

The build process is designed to work with PEAR (see » http://pear.php.net/ for more information about PEAR). There are two files that are used to assist in configuring your package for building. The first is config.m4 which is the autoconf configuration file for all platforms except Win32. The second is config.w32 which is a build configuration file for use on Win32. Skeleton files for these are built for you when you first set up your project. You then need to customize them to fit the needs of your project. Once you've customized your config files, you can build your driver using the following sequence of commands:

Before first build:

$ sudo pecl install PDO

For each build:

$ cd pdo_SKEL
$ phpize
$ ./configure
$ make
$ sudo make install

The process can then be repeated as necessary during the development process.

Fleshing out your skeleton
Testing
PDO Driver How-To


Testing

PDO has a set of "core" tests that all drivers should pass before being released. They're designed to run from the PHP source distribution, so running the tests for your driver requires moving things around a bit. The suggested procedure is to obtain the latest PHP 5.1 snapshot and perform the following step:

$ cp -r pdo_SKEL /path/to/php-5.1/ext

This will allow the test harness to run your tests. The next thing you need to do is create a test that will redirect into the PDO common core tests. The convention is to name this file common.phpt; it should be placed in the tests subdirectory that was created by ext_skel when you created your extension skeleton. The content of this file should look something like the following:

--TEST--
SKEL
--SKIPIF--
<?php # vim:ft=php
if (!extension_loaded('pdo_SKEL')) print 'skip'; ?>
--REDIRECTTEST--
if (false !== getenv('PDO_SKEL_TEST_DSN')) {
# user set them from their shell
   $config['ENV']['PDOTEST_DSN'] = getenv('PDO_SKEL_TEST_DSN');
   $config['ENV']['PDOTEST_USER'] = getenv('PDO_SKEL_TEST_USER');
   $config['ENV']['PDOTEST_PASS'] = getenv('PDO_SKEL_TEST_PASS');
   if (false !== getenv('PDO_SKEL_TEST_ATTR')) {
      $config['ENV']['PDOTEST_ATTR'] = getenv('PDO_SKEL_TEST_ATTR');
   }
   return $config;
}
return array(
   'ENV' => array(
           'PDOTEST_DSN' => 'SKEL:dsn',
           'PDOTEST_USER' => 'username',
           'PDOTEST_PASS' => 'password'
       ),
   'TESTS' => 'ext/pdo/tests'
   );

This will cause the common core tests to be run, passing the values of PDOTEST_DSN, PDOTEST_USER and PDOTEST_PASS to the PDO constructor as the dsn, username and password parameters. It will first check the environment, so that appropriate values can be passed in when the test harness is run, rather than hard-coding the database credentials into the test file.

The test harness can be invoked as follows:

$ cd /path/to/php-5.1
$ make TESTS=ext/pdo_SKEL/tests PDO_SKEL_TEST_DSN="skel:dsn" \
 PDO_SKEL_TEST_USER=user PDO_SKEL_TEST_PASS=pass test
Building
Packaging and distribution
PDO Driver How-To


Packaging and distribution

Creating a package

PDO drivers are released via PECL; all the usual rules for PECL extensions apply. Packaging is accomplished by creating a valid package.xml file and then running:

$ pecl package

This will create a tarball named PDO_SKEL-X.Y.Z.tgz.

Before releasing the package, you should test that it builds correctly; if you've made a mistake in your config.m4 or package.xml files, the package may not function correctly. You can test the build, without installing anything, using the following invocation:

$ pecl build package.xml

Once this is proven to work, you can test installation:

$ pecl package
$ sudo pecl install PDO_SKEL-X.Y.X.tgz

Full details about package.xml can be found in the PEAR Programmer's documentation (» http://pear.php.net/manual/).

Releasing the package

A PDO driver is released via the PHP Extension Community Library (PECL). Information about PECL can be found at » http://pecl.php.net/.

Testing
pdo_dbh_t definition
PDO Driver How-To


pdo_dbh_t definition

All fields should be treated as read-only by the driver, unless explicitly stated otherwise.

pdo_dbh_t

/* represents a connection to a database */
struct _pdo_dbh_t {
    /* driver specific methods */
    struct pdo_dbh_methods *methods;
*
/* driver specific data */
    void *driver_data;
**
/* credentials */
    char *username, *password;
***
/* if true, then data stored and pointed at by this handle must all be
     * persistently allocated */
    unsigned is_persistent:1;
****
/* if true, driver should act as though a COMMIT were executed between
     * each executed statement; otherwise, COMMIT must be carried out manually
     * */
    unsigned auto_commit:1;
*****
/* if true, the driver requires that memory be allocated explicitly for
     * the columns that are returned */
    unsigned alloc_own_columns:1;
******
/* if true, commit or rollBack is allowed to be called */
    unsigned in_txn:1;

    /* max length a single character can become after correct quoting */
    unsigned max_escaped_char_length:3;
*******
/* data source string used to open this handle */
    const char *data_source;
********
unsigned long data_source_len;

    /* the global error code. */
    pdo_error_type error_code;
*********
enum pdo_case_conversion native_case
**********
, desired_case;
};
*

The driver must set this during SKEL_handle_factory().

**

This item is for use by the driver; the intended usage is to store a pointer (during SKEL_handle_factory()) to whatever instance data is required to maintain a connection to the database.

***

The username and password that were passed into the PDO constructor. The driver should use these values when it initiates a connection to the database.

****

If this is set to 1, then any data that is referenced by the dbh, including whatever structure your driver allocates, MUST be allocated persistently. This is easy to achieve; rather than using the usual emalloc() simply use pemalloc() and pass the value of this flag as the last parameter. Failure to use the appropriate kind of memory can lead to serious memory faults, resulting (in the best case) a hard crash, and in the worst case, an exploitable memory problem.

If, for whatever reason, your driver is not suitable to run persistently, you MUST check this flag in your SKEL_handle_factory() and raise an appropriate error.

*****

You should check this value in your SKEL_handle_doer() and SKEL_stmt_execute() functions; if it evaluates to true, you must attempt to commit the query now. Most database implementations offer an auto-commit mode that handles this automatically.

******

If your database client library API operates by fetching data into a caller-supplied buffer, you should set this flag to 1 during your SKEL_handle_factory(). When set, PDO will call your SKEL_stmt_describer() earlier than it would otherwise. This early call allows you to determine those buffer sizes and issue appropriate calls to the database client library.

If your database client library API simply returns pointers to its own internal buffers for you to copy after each fetch call, you should leave this value set to 0.

*******

If your driver doesn't support native prepared statements (supports_placeholders is set to PDO_PLACEHOLDER_NONE), you must set this value to the maximum length that can be taken up by a single character when it is quoted by your SKEL_handle_quoter() function. This value is used to calculate the amount of buffer space required when PDO executes the statement.

********

This holds the value of the DSN that was passed into the PDO constructor. If your driver implementation needed to modify the DSN for whatever reason, it should update this member during SKEL_handle_factory(). Modifying this member should be avoided. If you do change it, you must ensure that data_source_len is also correct.

*********

Whenever an error occurs during a call to one of your driver methods, you should set this member to the SQLSTATE code that best describes the error and return an error. In this HOW-TO, the suggested practice is to call SKEL_handle_error() when an error is detected, and have it set the error code.

**********

Your driver should set this during SKEL_handle_factory(); the value should reflect how the database returns the names of the columns in result sets. If the name matches the case that was used in the query, set it to PDO_CASE_NATURAL (this is actually the default). If the column names are always returned in upper case, set it to PDO_CASE_UPPER. If the column names are always returned in lower case, set it to PDO_CASE_LOWER. The value you set is used to determine if PDO should perform case folding when the user sets the PDO_ATTR_CASE attribute.

Packaging and distribution
pdo_stmt_t definition
PDO Driver How-To


pdo_stmt_t definition

All fields should be treated as read-only unless explicitly stated otherwise.

pdo_stmt_t

/* represents a prepared statement */
struct _pdo_stmt_t {
    /* driver specifics */
    struct pdo_stmt_methods *methods;
*
void *driver_data;
**
/* if true, we've already successfully executed this statement at least
     * once */
    unsigned executed:1;
***
/* if true, the statement supports placeholders and can implement
     * bindParam() for its prepared statements, if false, PDO should
     * emulate prepare and bind on its behalf */
    unsigned supports_placeholders:2;
****
/* the number of columns in the result set; not valid until after
     * the statement has been executed at least once.  In some cases, might
     * not be valid until fetch (at the driver level) has been called at least once.
     * */
    int column_count;
*****
struct pdo_column_data *columns;
******
/* points at the dbh that this statement was prepared on */
    pdo_dbh_t *dbh;

    /* keep track of bound input parameters.  Some drivers support
     * input/output parameters, but you can't rely on that working */
    HashTable *bound_params;
    /* When rewriting from named to positional, this maps positions to names */
    HashTable *bound_param_map;
    /* keep track of PHP variables bound to named (or positional) columns
     * in the result set */
    HashTable *bound_columns;

    /* not always meaningful */
    long row_count;

    /* used to hold the statement's current query */
    char *query_string;
    int query_stringlen;

    /* the copy of the query with expanded binds ONLY for emulated-prepare drivers */
    char *active_query_string;
    int active_query_stringlen;

    /* the cursor specific error code. */
    pdo_error_type error_code;

    /* used by the query parser for driver specific
     * parameter naming (see pgsql driver for example) */
    const char *named_rewrite_template;
};
* | The driver must set this during SKEL_handle_preparer().
** | This item is for use by the driver; the intended usage is to store a pointer (during SKEL_handle_factory()) to whatever instance data is required to maintain a connection to the database.
*** | This is set by PDO after the statement has been executed for the first time. Your driver can inspect this value to determine if it can skip one-time actions as an optimization.
**** | Discussed in more detail in SKEL_handle_preparer.
***** | Your driver is responsible for setting this field to the number of columns available in a result set. This is usually set during SKEL_stmt_execute() but with some database implementations, the column count may not be available until SKEL_stmt_fetch() has been called at least once. Drivers that implement SKEL_stmt_next_rowset() should update the column count when a new rowset is available.
****** | PDO will allocate this field based on the value that you set for the column count. You are responsible for populating each column during SKEL_stmt_describe(). You must set the precision, maxlen, name, namelen and param_type members for each column. The name is expected to be allocated using emalloc(); PDO will call efree() at the appropriate time.
pdo_dbh_t definition
Constants
PDO Driver How-To


Constants

Database and Statement Attributes Table

Attribute

Valid value(s)

PDO_ATTR_AUTOCOMMIT

BOOL

TRUE if autocommit is set, FALSE otherwise.

dbh->auto_commit contains value. Processed by PDO directly.

PDO_ATTR_PREFETCH

LONG

Value of the prefetch size in drivers that support it.

PDO_ATTR_TIMEOUT

LONG

How long to wait for a db operation before timing out.

PDO_ATTR_ERRMODE

LONG

Processed and handled by PDO

PDO_ATTR_SERVER_VERSION

STRING

The "human-readable" string representing the Server/Version this driver is currently connected to.

PDO_ATTR_CLIENT_VERSION

STRING

The "human-readable" string representing the Client/Version this driver supports.

PDO_ATTR_SERVER_INFO

STRING

The "human-readable" description of the Server.

PDO_ATTR_CONNECTION_STATUS

LONG

Values not yet defined

PDO_ATTR_CASE

LONG

Processed and handled by PDO.

PDO_ATTR_CURSOR_NAME

STRING

String representing the name for a database cursor for use in "where current in <name>" SQL statements.

PDO_ATTR_CURSOR

LONG

PDO_CURSOR_FWDONLY

Forward only cursor

PDO_CURSOR_SCROLL

Scrollable cursor

The values for the attributes above are all defined in terms of the Zend API. The Zend API contains macros that can be used to convert a *zval to a value. These macros are defined in the Zend header file, zend_API.h in the Zend directory of your PHP build directory. Some of these attributes can be used with the statement attribute handlers such as the PDO_ATTR_CURSOR and PDO_ATTR_CURSOR_NAME. See the statement attribute handling functions for more information.

pdo_stmt_t definition
Error handling
PDO Driver How-To


Error handling

Error handling is implemented using a hand-shaking protocol between PDO and the database driver code. The database driver code signals PDO that an error has occurred via a failure (0) return from any of the interface functions. If a zero is returned, set the field error_code in the control block appropriate to the context (either the pdo_dbh_t or pdo_stmt_t block). In practice, it is probably a good idea to set the field in both blocks to the same value to ensure the correct one is getting used.

The error_mode field is a six-byte field containing a 5 character ASCIIZ SQLSTATE identifier code. This code drives the error message process. The SQLSTATE code is used to look up an error message in the internal PDO error message table (see pdo_sqlstate.c for a list of error codes and their messages). If the code is not known to PDO, a default "Unknown Message" value will be used.

In addition to the SQLSTATE code and error message, PDO will call the driver-specific fetch_err() routine to obtain supplemental data for the particular error condition. This routine is passed an array into which the driver may place additional information. This array has slot positions assigned to particular types of supplemental info:

  1. A native error code. This will frequently be an error code obtained from the database API.

  2. A descriptive string. This string can contain any additional information related to the failure. Database drivers typically include information such as an error message, code location of the failure, and any additional descriptive information the driver developer feels worthy of inclusion. It is generally a good idea to include all diagnostic information obtainable from the database interface at the time of the failure. For driver-detected errors (such as memory allocation problems), the driver developer can define whatever error information that seems appropriate.

Constants
Extension FAQs
PDO Driver How-To


Extension FAQs

Error handling
Zend Engine 2 API reference
El núcleo de PHP: Guía del Hacker


Zend Engine 2 API reference

Extension FAQs
Zend Engine 2 Opcodes
El núcleo de PHP: Guía del Hacker


Zend Engine 2 Opcodes

Tabla de contenidos

  • Opcode Descriptions and Examples

When parsing PHP files, Zend Engine 2 generates a series of operation codes, commonly known as "opcodes", representing the function of the code. This part of the manual details those opcodes and their behaviour.

Opcodes may be dumped for a given PHP file using the vld extension (see » http://pecl.php.net/package/vld).

Opcode List
Number | Name | Has sample code?
0 | NOP | yes
1 | ADD | yes
2 | SUB | yes
3 | MUL | yes
4 | DIV | yes
5 | MOD | yes
6 | SL | yes
7 | SR | yes
8 | CONCAT | yes
9 | BW_OR | yes
10 | BW_AND | yes
11 | BW_XOR | yes
12 | BW_NOT | yes
13 | BOOL_NOT | yes
14 | BOOL_XOR | yes
15 | IS_IDENTICAL | yes
16 | IS_NOT_IDENTICAL | yes
17 | IS_EQUAL | yes
18 | IS_NOT_EQUAL | yes
19 | IS_SMALLER | yes
20 | IS_SMALLER_OR_EQUAL | yes
21 | CAST | yes
22 | QM_ASSIGN | yes
23 | ASSIGN_ADD | yes
24 | ASSIGN_SUB | yes
25 | ASSIGN_MUL | yes
26 | ASSIGN_DIV | yes
27 | ASSIGN_MOD | yes
28 | ASSIGN_SL | yes
29 | ASSIGN_SR | yes
30 | ASSIGN_CONCAT | yes
31 | ASSIGN_BW_OR | yes
32 | ASSIGN_BW_AND | yes
33 | ASSIGN_BW_XOR | yes
34 | PRE_INC | yes
35 | PRE_DEC | yes
36 | POST_INC | yes
37 | POST_DEC | yes
38 | ASSIGN | yes
39 | ASSIGN_REF | yes
40 | ECHO | yes
41 | PRINT | yes
42 | JMP | yes
43 | JMPZ | yes
44 | JMPNZ | yes
45 | JMPZNZ | yes
46 | JMPZ_EX | yes
47 | JMPNZ_EX | yes
48 | CASE | yes
49 | SWITCH_FREE | yes
50 | BRK | yes
51 | CONT | yes
52 | BOOL | yes
53 | INIT_STRING | yes
54 | ADD_CHAR | yes
55 | ADD_STRING | yes
56 | ADD_VAR | yes
57 | BEGIN_SILENCE | yes
58 | END_SILENCE | yes
59 | INIT_FCALL_BY_NAME | yes
60 | DO_FCALL | yes
61 | DO_FCALL_BY_NAME | yes
62 | RETURN | yes
63 | RECV | yes
64 | RECV_INIT | yes
65 | SEND_VAL | yes
66 | SEND_VAR | yes
67 | SEND_REF | yes
68 | NEW | yes
69 | INIT_NS_FCALL_BY_NAME | no
70 | FREE | yes
71 | INIT_ARRAY | yes
72 | ADD_ARRAY_ELEMENT | yes
73 | INCLUDE_OR_EVAL | yes
74 | UNSET_VAR | yes
75 | UNSET_DIM | yes
76 | UNSET_OBJ | yes
77 | FE_RESET | yes
78 | FE_FETCH | yes
79 | EXIT | yes
80 | FETCH_R | yes
81 | FETCH_DIM_R | yes
82 | FETCH_OBJ_R | yes
83 | FETCH_W | yes
84 | FETCH_DIM_W | yes
85 | FETCH_OBJ_W | yes
86 | FETCH_RW | yes
87 | FETCH_DIM_RW | yes
88 | FETCH_OBJ_RW | yes
89 | FETCH_IS | yes
90 | FETCH_DIM_IS | no
91 | FETCH_OBJ_IS | no
92 | FETCH_FUNC_ARG | yes
93 | FETCH_DIM_FUNC_ARG | yes
94 | FETCH_OBJ_FUNC_ARG | yes
95 | FETCH_UNSET | no
96 | FETCH_DIM_UNSET | no
97 | FETCH_OBJ_UNSET | no
98 | FETCH_DIM_TMP_VAR | yes
99 | FETCH_CONSTANT | yes
100 | GOTO | no
101 | EXT_STMT | yes
102 | EXT_FCALL_BEGIN | no
103 | EXT_FCALL_END | no
104 | EXT_NOP | no
105 | TICKS | yes
106 | SEND_VAR_NO_REF | no
107 | CATCH | yes
108 | THROW | yes
109 | FETCH_CLASS | yes
110 | CLONE | yes
111 | RETURN_BY_REF | no
112 | INIT_METHOD_CALL | yes
113 | INIT_STATIC_METHOD_CALL | yes
114 | ISSET_ISEMPTY_VAR | yes
115 | ISSET_ISEMPTY_DIM_OBJ | yes
116 | not documented | no
117 | not documented | no
118 | not documented | no
119 | not documented | no
120 | not documented | no
121 | not documented | no
122 | not documented | no
123 | not documented | no
124 | not documented | no
125 | not documented | no
126 | not documented | no
127 | not documented | no
128 | not documented | no
129 | not documented | no
130 | not documented | no
131 | not documented | no
132 | PRE_INC_OBJ | yes
133 | PRE_DEC_OBJ | yes
134 | POST_INC_OBJ | yes
135 | POST_DEC_OBJ | yes
136 | ASSIGN_OBJ | yes
137 | not documented | no
138 | INSTANCEOF | yes
139 | DECLARE_CLASS | yes
140 | DECLARE_INHERITED_CLASS | yes
141 | DECLARE_FUNCTION | yes
142 | RAISE_ABSTRACT_ERROR | yes
143 | DECLARE_CONST | no
144 | ADD_INTERFACE | no
145 | DECLARE_INHERITED_CLASS_DELAYED | no
146 | VERIFY_ABSTRACT_CLASS | no
147 | ASSIGN_DIM | yes
148 | ISSET_ISEMPTY_PROP_OBJ | yes
149 | HANDLE_EXCEPTION | yes
150 | USER_OPCODE | no
152 | ZEND_JMP_SET | no
153 | ZEND_DECLARE_LAMBDA_FUNCTION | no
Zend Engine 2 API reference
Opcode Descriptions and Examples
El núcleo de PHP: Guía del Hacker


Opcode Descriptions and Examples

Tabla de contenidos

  • ADD
  • ADD_ARRAY_ELEMENT
  • ADD_CHAR
  • ADD_INTERFACE
  • ADD_STRING
  • ADD_VAR
  • ASSIGN
  • ASSIGN_ADD
  • ASSIGN_BW_AND
  • ASSIGN_BW_OR
  • ASSIGN_BW_XOR
  • ASSIGN_CONCAT
  • ASSIGN_DIM
  • ASSIGN_DIV
  • ASSIGN_MOD
  • ASSIGN_MUL
  • ASSIGN_OBJ
  • ASSIGN_REF
  • ASSIGN_SL
  • ASSIGN_SR
  • ASSIGN_SUB
  • BEGIN_SILENCE
  • BOOL
  • BOOL_NOT
  • BOOL_XOR
  • BRK
  • BW_AND
  • BW_NOT
  • BW_OR
  • BW_XOR
  • CASE
  • CAST
  • CATCH
  • CLONE
  • CONCAT
  • CONT
  • DECLARE_CLASS
  • DECLARE_CONST
  • DECLARE_FUNCTION
  • DECLARE_INHERITED_CLASS
  • DECLARE_INHERITED_CLASS_DELAYED
  • DIV
  • DO_FCALL
  • DO_FCALL_BY_NAME
  • ECHO
  • END_SILENCE
  • EXIT
  • EXT_FCALL_BEGIN
  • EXT_FCALL_END
  • EXT_NOP
  • EXT_STMT
  • FE_FETCH
  • FE_RESET
  • FETCH_CLASS
  • FETCH_CONSTANT
  • FETCH_DIM_FUNC_ARG
  • FETCH_DIM_IS
  • FETCH_DIM_R
  • FETCH_DIM_RW
  • FETCH_DIM_TMP_VAR
  • FETCH_DIM_UNSET
  • FETCH_DIM_W
  • FETCH_FUNC_ARG
  • FETCH_IS
  • FETCH_OBJ_FUNC_ARG
  • FETCH_OBJ_IS
  • FETCH_OBJ_R
  • FETCH_OBJ_RW
  • FETCH_OBJ_UNSET
  • FETCH_OBJ_W
  • FETCH_R
  • FETCH_RW
  • FETCH_UNSET
  • FETCH_W
  • FREE
  • GOTO
  • HANDLE_EXCEPTION
  • INCLUDE_OR_EVAL
  • INIT_ARRAY
  • INIT_FCALL_BY_NAME
  • INIT_METHOD_CALL
  • INIT_NS_FCALL_BY_NAME
  • INIT_STATIC_METHOD_CALL
  • INIT_STRING
  • INSTANCEOF
  • IS_EQUAL
  • IS_IDENTICAL
  • IS_NOT_EQUAL
  • IS_NOT_IDENTICAL
  • IS_SMALLER
  • IS_SMALLER_OR_EQUAL
  • ISSET_ISEMPTY_DIM_OBJ
  • ISSET_ISEMPTY_PROP_OBJ
  • ISSET_ISEMPTY_VAR
  • JMP
  • JMPNZ
  • JMPNZ_EX
  • JMPZ
  • JMPZ_EX
  • JMPZNZ
  • MOD
  • MUL
  • NEW
  • NOP
  • POST_DEC
  • POST_DEC_OBJ
  • POST_INC
  • POST_INC_OBJ
  • PRE_DEC
  • PRE_DEC_OBJ
  • PRE_INC
  • PRE_INC_OBJ
  • PRINT
  • QM_ASSIGN
  • RAISE_ABSTRACT_ERROR
  • RECV
  • RECV_INIT
  • RETURN
  • RETURN_BY_REF
  • SEND_REF
  • SEND_VAL
  • SEND_VAR
  • SEND_VAR_NO_REF
  • SL
  • SR
  • SUB
  • SWITCH_FREE
  • THROW
  • TICKS
  • UNSET_DIM
  • UNSET_OBJ
  • UNSET_VAR
  • USER_OPCODE
  • VERIFY_ABSTRACT_CLASS
  • ZEND_DECLARE_LAMBDA_FUNCTION
  • ZEND_JMP_SET
Zend Engine 2 Opcodes
ADD
Zend Engine 2 Opcodes


ADD

PHP code

<?php
/*
 * Adds "value1" to "value2" and stores the result into "result".
 * opcode number: 1
 */
echo 1 + 2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | ADD |  |  | ~0 | 1,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
Opcode Descriptions and Examples
ADD_ARRAY_ELEMENT
Opcode Descriptions and Examples


ADD_ARRAY_ELEMENT

PHP code

<?php
/*
 * Add elem-value as an element to array-value
 * opcode number: 72
 */
$a = array(1,2,3);
print_r($a);
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | SEND_VAR |  |  |  | !0
 | 5 | DO_FCALL |  | 1 |  | 'print_r'
8 | 6 | RETURN |  |  |  | 1
ADD
ADD_CHAR
Opcode Descriptions and Examples


ADD_CHAR

PHP code

<?php
/*
 * add character value2 to string value1 and store in result
 * opcode number: 54
 */
echo "hello\ world";
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | ECHO |  |  |  | 'hello%5C+world'
7 | 1 | RETURN |  |  |  | 1
ADD_ARRAY_ELEMENT
ADD_INTERFACE
Opcode Descriptions and Examples


ADD_INTERFACE

PHP code

<?php
/*
 *
 * opcode number: 144
 * No sample PHP yet */
?>
ADD_CHAR
ADD_STRING
Opcode Descriptions and Examples


ADD_STRING

PHP code

<?php
/*
 * add string value2 to string value2 and store in result
 * opcode number: 55
 */
echo "hello$a world";
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ADD_STRING |  |  | ~0 | 'hello'
 | 1 | ADD_VAR |  |  | ~0 | ~0,!0
 | 2 | ADD_STRING |  |  | ~0 | ~0,'+world'
 | 3 | ECHO |  |  |  | ~0
7 | 4 | RETURN |  |  |  | 1
ADD_INTERFACE
ADD_VAR
Opcode Descriptions and Examples


ADD_VAR

PHP code

<?php
/*
 * add contents of variable in value2 to string value1 and store in result
 * opcode number: 56
 */
echo "hello$a world";
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ADD_STRING |  |  | ~0 | 'hello'
 | 1 | ADD_VAR |  |  | ~0 | ~0,!0
 | 2 | ADD_STRING |  |  | ~0 | ~0,'+world'
 | 3 | ECHO |  |  |  | ~0
7 | 4 | RETURN |  |  |  | 1
ADD_STRING
ASSIGN
Opcode Descriptions and Examples


ASSIGN

PHP code

<?php
/*
 * assigns value1 to result
 * opcode number: 38
 */
$a=1;
$a='a';
$a=new A();
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,1
7 | 1 | ASSIGN |  |  |  | !0,'a'
8 | 2 | ZEND_FETCH_CLASS |  |  | :2 | 'A'
 | 3 | NEW |  |  | $3 | :2
 | 4 | DO_FCALL_BY_NAME |  | 0 |  |
 | 5 | ASSIGN |  |  |  | !0,$3
9 | 6 | RETURN |  |  |  | 1
ADD_VAR
ASSIGN_ADD
Opcode Descriptions and Examples


ASSIGN_ADD

PHP code

<?php
/*
 * Add value1 to value2 and store in variable indicated by value1
 * opcode number: 23
 */
$a+=3;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_ADD |  |  |  | !0,3
7 | 1 | RETURN |  |  |  | 1
ASSIGN
ASSIGN_BW_AND
Opcode Descriptions and Examples


ASSIGN_BW_AND

PHP code

<?php
/*
 * Performs binary AND on result and value1 and stores in variable indicated by result.
 * opcode number: 32
 */
$a &= 64;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_BW_AND |  |  |  | !0,64
7 | 1 | RETURN |  |  |  | 1
ASSIGN_ADD
ASSIGN_BW_OR
Opcode Descriptions and Examples


ASSIGN_BW_OR

PHP code

<?php
/*
 * Performs binary OR on result and value1 and stores in variable indicated by result.
 * opcode number: 31
 */
$a |= 64;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_BW_OR |  |  |  | !0,64
7 | 1 | RETURN |  |  |  | 1
ASSIGN_BW_AND
ASSIGN_BW_XOR
Opcode Descriptions and Examples


ASSIGN_BW_XOR

PHP code

<?php
/*
 * Performs binary XOR on result and value1and stores in variable indicated by result.
 * opcode number: 33
 */
$a ^= 64;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_BW_XOR |  |  |  | !0,64
7 | 1 | RETURN |  |  |  | 1
ASSIGN_BW_OR
ASSIGN_CONCAT
Opcode Descriptions and Examples


ASSIGN_CONCAT

PHP code

<?php
/*
 * Concats string values result and value1 and store in variable indicated by result
 * opcode number: 30
 */
$a .= 'z';
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_CONCAT |  |  |  | !0,'z'
7 | 1 | RETURN |  |  |  | 1
ASSIGN_BW_XOR
ASSIGN_DIM
Opcode Descriptions and Examples


ASSIGN_DIM

PHP code

<?php
/*
 *
 * opcode number: 147
 */
$b = 1;
$a[1][2] = $b;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$b, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,1
7 | 1 | FETCH_DIM_W |  |  | $1 | !1,1
 | 2 | ZEND_ASSIGN_DIM |  |  |  | $1,2
 | 3 | ZEND_OP_DATA |  |  |  | !0,$3
8 | 4 | RETURN |  |  |  | 1
ASSIGN_CONCAT
ASSIGN_DIV
Opcode Descriptions and Examples


ASSIGN_DIV

PHP code

<?php
/*
 * Divide result by value1and store in variable indicated by result.
 * opcode number: 26
 */
$a/=3;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_DIV |  |  |  | !0,3
7 | 1 | RETURN |  |  |  | 1
ASSIGN_DIM
ASSIGN_MOD
Opcode Descriptions and Examples


ASSIGN_MOD

PHP code

<?php
/*
 * Perform result mod value1 and store in variable indicated by result
 * opcode number: 27
 */
$a %= 3;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_MOD |  |  |  | !0,3
7 | 1 | RETURN |  |  |  | 1
ASSIGN_DIV
ASSIGN_MUL
Opcode Descriptions and Examples


ASSIGN_MUL

PHP code

<?php
/*
 * Multiply result by value1 and store in variable indicated by result
 * opcode number: 25
 */
$a*=3;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_MUL |  |  |  | !0,3
7 | 1 | RETURN |  |  |  | 1
ASSIGN_MOD
ASSIGN_OBJ
Opcode Descriptions and Examples


ASSIGN_OBJ

PHP code

<?php
/*
 *
 * opcode number: 136
 */
$obj->a = $otherobj;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj, !1=$otherobj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_ASSIGN_OBJ |  |  |  | !0,'a'
 | 1 | ZEND_OP_DATA |  |  |  | !1
7 | 2 | RETURN |  |  |  | 1
ASSIGN_MUL
ASSIGN_REF
Opcode Descriptions and Examples


ASSIGN_REF

PHP code

<?php
/*
 * indicates that variable indicated by value1 is to be treated in the global scope for the remainder of the current scope.
 * opcode number: 39
 */
global $a;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | FETCH_W | globallock |  | $0 | 'a'
 | 1 | ASSIGN_REF |  |  |  | !0,$0
7 | 2 | RETURN |  |  |  | 1
ASSIGN_OBJ
ASSIGN_SL
Opcode Descriptions and Examples


ASSIGN_SL

PHP code

<?php
/*
 * Shift result by value1 bits to left and store in variable indicated by result
 * opcode number: 28
 */
$a <<= 3;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_SL |  |  |  | !0,3
7 | 1 | RETURN |  |  |  | 1
ASSIGN_REF
ASSIGN_SR
Opcode Descriptions and Examples


ASSIGN_SR

PHP code

<?php
/*
 * Shift result by value1 bits to right and store in variable indicated by result
 * opcode number: 29
 */
$a >>= 3;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_SR |  |  |  | !0,3
7 | 1 | RETURN |  |  |  | 1
ASSIGN_SL
ASSIGN_SUB
Opcode Descriptions and Examples


ASSIGN_SUB

PHP code

<?php
/*
 * Subtract value1 from value2 and store in variable indicated by value1
 * opcode number: 24
 */
$a-=3;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_SUB |  |  |  | !0,3
7 | 1 | RETURN |  |  |  | 1
ASSIGN_SR
BEGIN_SILENCE
Opcode Descriptions and Examples


BEGIN_SILENCE

PHP code

<?php
/*
 * prepare to perform function call without displaying error messages
 * opcode number: 57
 */
/* Intentional file error */
$my_file = @file ('non_existent_file') or
   die ("error:'$php_errormsg'");
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$my_file, !1=$php_errormsg

line | # | op | fetch | ext | return | operands
7 | 0 | BEGIN_SILENCE |  |  | ~0 |
 | 1 | SEND_VAL |  |  |  | 'non_existent_file'
 | 2 | DO_FCALL |  | 1 |  | 'file'
 | 3 | END_SILENCE |  |  |  | ~0
 | 4 | ASSIGN |  |  | $2 | !0,$1
 | 5 | JMPNZ_EX |  |  | ~3 | $2,->11
8 | 6 | ADD_STRING |  |  | ~4 | 'error%3A%27'
 | 7 | ADD_VAR |  |  | ~4 | ~4,!1
 | 8 | ADD_CHAR |  |  | ~4 | ~4,39
 | 9 | EXIT |  |  |  | ~4
 | 10 | BOOL |  |  | ~3 | true
 | 11 | FREE |  |  |  | ~3
9 | 12 | RETURN |  |  |  | 1
ASSIGN_SUB
BOOL
Opcode Descriptions and Examples


BOOL

PHP code

<?php
/*
 * convert value1 to boolean and store in result??????????
 * opcode number: 52
 */
if (1 || 2 || 1) echo "foo";
//$a = true;
//if($a) echo "foo";
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | JMPNZ_EX |  |  | ~0 | 1,->2
 | 1 | BOOL |  |  | ~0 | 2
 | 2 | JMPNZ_EX |  |  | ~0 | ~0,->4
 | 3 | BOOL |  |  | ~0 | 1
 | 4 | JMPZ |  |  |  | ~0,->7
 | 5 | ECHO |  |  |  | 'foo'
 | 6 | JMP |  |  |  | ->7
9 | 7 | RETURN |  |  |  | 1
BEGIN_SILENCE
BOOL_NOT
Opcode Descriptions and Examples


BOOL_NOT

PHP code

<?php
/*
 * Boolean (logical) not of "value"
 * opcode number: 13
 */
echo !1;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BOOL_NOT |  |  | ~0 | 1
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
BOOL
BOOL_XOR
Opcode Descriptions and Examples


BOOL_XOR

PHP code

<?php
/*
 * Boolean (logical) xor of value1
 * opcode number: 14
 */
echo 1 xor 2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BOOL_XOR |  |  | ~0 | 1,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
BOOL_NOT
BRK
Opcode Descriptions and Examples


BRK

PHP code

<?php
/*
 * ???  End of a case block exists the current switch block.  Followed by JMP?
 * opcode number: 50
 */
$x = 0;
while(1) {
    if($x == 0) break;
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,0
7 | 1 | JMPZ |  |  |  | 1,->7
8 | 2 | IS_EQUAL |  |  | ~1 | !0,0
 | 3 | JMPZ |  |  |  | ~1,->6
 | 4 | BRK |  |  |  | 1
 | 5 | JMP |  |  |  | ->6
9 | 6 | JMP |  |  |  | ->1
10 | 7 | RETURN |  |  |  | 1
BOOL_XOR
BW_AND
Opcode Descriptions and Examples


BW_AND

PHP code

<?php
/*
 * Bit-wise and of value1 and value2
 * opcode number: 10
 */
echo 1&2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BW_AND |  |  | ~0 | 1,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
BRK
BW_NOT
Opcode Descriptions and Examples


BW_NOT

PHP code

<?php
/*
 * Bit-wise not of "value"
 * opcode number: 12
 */
echo ~15;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BW_NOT |  |  | ~0 | 15
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
BW_AND
BW_OR
Opcode Descriptions and Examples


BW_OR

PHP code

<?php
/*
 * Bit-wise or of value1 and value2
 * opcode number: 9
 */
echo 1|2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BW_OR |  |  | ~0 | 1,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
BW_NOT
BW_XOR
Opcode Descriptions and Examples


BW_XOR

PHP code

<?php
/*
 * Bit-wise xor of value1 and value2
 * opcode number: 11
 */
echo 1^2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BW_XOR |  |  | ~0 | 1,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
BW_OR
CASE
Opcode Descriptions and Examples


CASE

PHP code

<?php
/*
 * Set result to true if value1 equals value2.  The value2 must be a constant value?
 * opcode number: 48
 */
$i=0;
switch ($i) {
   case 0:
         echo "i=0";
         break;
   case 1:
         echo "i=1";
         break;
   case 2:
         echo "i=2";
         break;
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$i

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,0
8 | 1 | CASE |  |  | ~1 | !0,0
 | 2 | JMPZ |  |  |  | ~1,->6
9 | 3 | ECHO |  |  |  | 'i%3D0'
10 | 4 | BRK |  |  |  | 1
11 | 5 | JMP |  |  |  | ->8
 | 6 | CASE |  |  | ~1 | !0,1
 | 7 | JMPZ |  |  |  | ~1,->11
12 | 8 | ECHO |  |  |  | 'i%3D1'
13 | 9 | BRK |  |  |  | 1
14 | 10 | JMP |  |  |  | ->13
 | 11 | CASE |  |  | ~1 | !0,2
 | 12 | JMPZ |  |  |  | ~1,->16
15 | 13 | ECHO |  |  |  | 'i%3D2'
16 | 14 | BRK |  |  |  | 1
17 | 15 | JMP |  |  |  | ->16
18 | 16 | RETURN |  |  |  | 1
BW_XOR
CAST
Opcode Descriptions and Examples


CAST

PHP code

<?php
/*
 * casts value1 as type value2 (?? Not certain about arguments ??)
 * opcode number: 21
 */
echo (int)1;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | CAST |  |  | ~0 | 1
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
CASE
CATCH
Opcode Descriptions and Examples


CATCH

PHP code

<?php
/*
 *
 * opcode number: 107
 */
try {
    $error = 'Always throw this error';
    throw new Exception($error);

    // Code following an exception is not executed.
    echo 'Never executed';

} catch (Exception $e) {
    echo 'Caught exception: ',  $e->getMessage(), "\n";
}

// Continue execution
echo 'Hello World';
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$error, !1=$e

line | # | op | fetch | ext | return | operands
7 | 0 | ASSIGN |  |  |  | !0,'Always+throw+this+error'
8 | 1 | ZEND_FETCH_CLASS |  |  | :1 | 'Exception'
 | 2 | NEW |  |  | $2 | :1
 | 3 | SEND_VAR |  |  |  | !0
 | 4 | DO_FCALL_BY_NAME |  | 1 |  |
 | 5 | ZEND_THROW |  | 0 |  | $2
11 | 6 | ECHO |  |  |  | 'Never+executed'
13 | 7 | JMP |  |  |  | ->15
 | 8 | ZEND_FETCH_CLASS |  |  | :4 | 'Exception'
 | 9 | ZEND_CATCH |  | 15 |  | $4,!1
14 | 10 | ECHO |  |  |  | 'Caught+exception%3A+'
 | 11 | ZEND_INIT_METHOD_CALL |  |  |  | !1,'getMessage'
 | 12 | DO_FCALL_BY_NAME |  | 0 |  |
 | 13 | ECHO |  |  |  | $6
 | 14 | ECHO |  |  |  | '%0A'
18 | 15 | ECHO |  |  |  | 'Hello+World'
19 | 16 | RETURN |  |  |  | 1
CAST
CLONE
Opcode Descriptions and Examples


CLONE

PHP code

<?php
/*
 *
 * opcode number: 110
 */
$obj = new A();
$copy = clone $obj;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj, !1=$copy

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ZEND_CLONE |  |  | $4 | !0
 | 5 | ASSIGN |  |  |  | !1,$4
8 | 6 | RETURN |  |  |  | 1
CATCH
CONCAT
Opcode Descriptions and Examples


CONCAT

PHP code

<?php
/*
 * Concats string values string1 and string2
 * opcode number: 8
 */
echo "hello" . "world";
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | CONCAT |  |  | ~0 | 'hello','world'
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
CLONE
CONT
Opcode Descriptions and Examples


CONT

PHP code

<?php
/*
 * Continue next iteration of current loop level
 * opcode number: 51
 */
$foo = false;
while(!$foo) {
    $foo = true;
    continue;
}
?>

PHP opcodes

Function name: (null)

compiled vars: !0 = $foo

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0, false
7 | 1 | BOOL_NOT |  |  | ~1 | !0
 | 2 | JMPZ |  |  |  | ~1, ->5
8 | 3 | ASSIGN |  |  |  | !0, true
9 | 4 | CONT |  |  |  | 1
10 | 5 | JMP |  |  |  | ->1
12 | 6 | RETURN |  |  |  | 1
CONCAT
DECLARE_CLASS
Opcode Descriptions and Examples


DECLARE_CLASS

PHP code

<?php
/*
 * Declare a class with the name of class-name as the implementation specified by ID.
 * opcode number: 139
 */
class A {
    function methodA(){
        echo "hello world";
    }
}
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
11 | 1 | RETURN |  |  |  | 1

Function name: methodA

Compiled variables: none

line | # | op | fetch | ext | return | operands
8 | 0 | ECHO |  |  |  | 'hello+world'
9 | 1 | RETURN |  |  |  | null
CONT
DECLARE_CONST
Opcode Descriptions and Examples


DECLARE_CONST

PHP code

<?php
/*
 *
 * opcode number: 143
 * No sample PHP yet */
?>
DECLARE_CLASS
DECLARE_FUNCTION
Opcode Descriptions and Examples


DECLARE_FUNCTION

PHP code

<?php
/*
 *
 * opcode number: 141
 */
class A{
 function funcA(){
 }
}
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
10 | 1 | RETURN |  |  |  | 1

Function name: funcA

Compiled variables: none

line | # | op | fetch | ext | return | operands
8 | 0 | RETURN |  |  |  | null
DECLARE_CONST
DECLARE_INHERITED_CLASS
Opcode Descriptions and Examples


DECLARE_INHERITED_CLASS

PHP code

<?php
/*
 *
 * opcode number: 140
 */
 if($b){
 class Foo {
  public static $my_static = 'foo';
  public function staticValue() {
    return self::$my_static;
  }
 }

 class Bar extends Foo {
  public function fooStatic() {
     echo parent::$my_static;
  }
 }
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$b

line | # | op | fetch | ext | return | operands
6 | 0 | JMPZ |  |  |  | !0,->5
7 | 1 | ZEND_DECLARE_CLASS |  |  | $0 | '%00foo%2Fmnt%2Fworkspace%2Fws_phpscripts%2FPHPopcodes%2Fphpsamples%2FDECLARE_INHERITED_CLASS.php0xb7be503b','foo'
14 | 2 | ZEND_FETCH_CLASS |  |  | :1 | 'Foo'
 | 3 | ZEND_DECLARE_INHERITED_CLASS |  |  | $2 | '%00bar%2Fmnt%2Fworkspace%2Fws_phpscripts%2FPHPopcodes%2Fphpsamples%2FDECLARE_INHERITED_CLASS.php0xb7be50bc','bar'
19 | 4 | JMP |  |  |  | ->5
20 | 5 | RETURN |  |  |  | 1

Function name: staticValue

Compiled variables: !0=$my_static

line | # | op | fetch | ext | return | operands
10 | 0 | ZEND_FETCH_CLASS |  |  |  |
 | 1 | FETCH_R | staticmember |  | $1 | 'my_static'
 | 2 | RETURN |  |  |  | $1
11 | 3 | RETURN |  |  |  | null

Function name: fooStatic

Compiled variables: !0=$my_static

line | # | op | fetch | ext | return | operands
16 | 0 | ZEND_FETCH_CLASS |  |  | :0 |
 | 1 | FETCH_R | staticmember |  | $1 | 'my_static'
 | 2 | ECHO |  |  |  | $1
17 | 3 | RETURN |  |  |  | null
DECLARE_FUNCTION
DECLARE_INHERITED_CLASS_DELAYED
Opcode Descriptions and Examples


DECLARE_INHERITED_CLASS_DELAYED

PHP code

<?php
/*
 *
 * opcode number: 145
 * No sample PHP yet */
?>
DECLARE_INHERITED_CLASS
DIV
Opcode Descriptions and Examples


DIV

PHP code

<?php
/*
 * Divides "value1" by "value2" and stores the result into "result".
 * opcode number: 4
 */
echo 6/3;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | DIV |  |  | ~0 | 6,3
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
DECLARE_INHERITED_CLASS_DELAYED
DO_FCALL
Opcode Descriptions and Examples


DO_FCALL

PHP code

<?php
/*
 * Call a function.  Following multiple SEND_VAL, SEND_VAR or SEND_REF.
 * opcode number: 60
 */
$a = phpinfo();
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | DO_FCALL |  | 0 |  | 'phpinfo'
 | 1 | ASSIGN |  |  |  | !0,$0
7 | 2 | RETURN |  |  |  | 1
DIV
DO_FCALL_BY_NAME
Opcode Descriptions and Examples


DO_FCALL_BY_NAME

PHP code

<?php
/*
 * Call a function by name.  Following INIT_FCALL_BY_NAME and multiple SEND_VAL, SEND_VAR or SEND_REF.
 * opcode number: 61
 */
$x = 'phpinfo';
$a = $x();
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,'phpinfo'
7 | 1 | INIT_FCALL_BY_NAME |  |  |  | !0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !1,$1
8 | 4 | RETURN |  |  |  | 1
DO_FCALL
ECHO
Opcode Descriptions and Examples


ECHO

PHP code

<?php
/*
 * Dump text
 * opcode number: 40
 */
echo "hello world";
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | ECHO |  |  |  | 'hello+world'
7 | 1 | RETURN |  |  |  | 1
DO_FCALL_BY_NAME
END_SILENCE
Opcode Descriptions and Examples


END_SILENCE

PHP code

<?php
/*
 * no longer surpress error messages
 * opcode number: 58
 */
$my_file = @file ('non_existent_file') or
   die ("error:'$php_errormsg'");
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$my_file, !1=$php_errormsg

line | # | op | fetch | ext | return | operands
6 | 0 | BEGIN_SILENCE |  |  | ~0 |
 | 1 | SEND_VAL |  |  |  | 'non_existent_file'
 | 2 | DO_FCALL |  | 1 |  | 'file'
 | 3 | END_SILENCE |  |  |  | ~0
 | 4 | ASSIGN |  |  | $2 | !0,$1
 | 5 | JMPNZ_EX |  |  | ~3 | $2,->11
7 | 6 | ADD_STRING |  |  | ~4 | 'error%3A%27'
 | 7 | ADD_VAR |  |  | ~4 | ~4,!1
 | 8 | ADD_CHAR |  |  | ~4 | ~4,39
 | 9 | EXIT |  |  |  | ~4
 | 10 | BOOL |  |  | ~3 | true
 | 11 | FREE |  |  |  | ~3
8 | 12 | RETURN |  |  |  | 1
ECHO
EXIT
Opcode Descriptions and Examples


EXIT

PHP code

<?php
/*
 * Exit running after dumping "message".
 * opcode number: 79
 */
die("foobar");
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | EXIT |  |  |  | 'foobar'
7 | 1 | RETURN |  |  |  | 1
END_SILENCE
EXT_FCALL_BEGIN
Opcode Descriptions and Examples


EXT_FCALL_BEGIN

PHP code

<?php
/*
 *
 * opcode number: 102
 * No sample PHP yet */
?>
EXIT
EXT_FCALL_END
Opcode Descriptions and Examples


EXT_FCALL_END

PHP code

<?php
/*
 *
 * opcode number: 103
 * No sample PHP yet */
?>
EXT_FCALL_BEGIN
EXT_NOP
Opcode Descriptions and Examples


EXT_NOP

PHP code

<?php
/*
 *
 * opcode number: 104
 * No sample PHP yet */
?>
EXT_FCALL_END
EXT_STMT
Opcode Descriptions and Examples


EXT_STMT

PHP code

<?php
/*
 *
 * opcode number: 101
 */
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
7 | 0 | EXT_STMT |  |  |  |
8 | 1 | RETURN |  |  |  | 1
EXT_NOP
FE_FETCH
Opcode Descriptions and Examples


FE_FETCH

PHP code

<?php
/*
 * Fetch an element from iterator.  If no element is available, jump to address.  Followed by OP_DATA?
 * opcode number: 78
 */
$a = array(1,2,3);
foreach($a as $num){
    print $num;
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a, !1=$num

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | FE_RESET |  |  | $2 | !0,->11
 | 5 | FE_FETCH |  |  | $3 | $2,->11
 | 6 | ZEND_OP_DATA |  |  |  |
 | 7 | ASSIGN |  |  |  | !1,$3
8 | 8 | PRINT |  |  | ~5 | !1
 | 9 | FREE |  |  |  | ~5
9 | 10 | JMP |  |  |  | ->5
 | 11 | SWITCH_FREE |  |  |  | $2
10 | 12 | RETURN |  |  |  | 1
EXT_STMT
FE_RESET
Opcode Descriptions and Examples


FE_RESET

PHP code

<?php
/*
 * Initialize an iterator on array-value.  If the array is empty, jump to address.  Followed by FE_FETCH.
 * opcode number: 77
 */
$a = array(1,2,3);
foreach($a as $num){
    print $num;
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a, !1=$num

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | FE_RESET |  |  | $2 | !0,->11
 | 5 | FE_FETCH |  |  | $3 | $2,->11
 | 6 | ZEND_OP_DATA |  |  |  |
 | 7 | ASSIGN |  |  |  | !1,$3
8 | 8 | PRINT |  |  | ~5 | !1
 | 9 | FREE |  |  |  | ~5
9 | 10 | JMP |  |  |  | ->5
 | 11 | SWITCH_FREE |  |  |  | $2
10 | 12 | RETURN |  |  |  | 1
FE_FETCH
FETCH_CLASS
Opcode Descriptions and Examples


FETCH_CLASS

PHP code

<?php
/*
 *
 * opcode number: 109
 */
$obj = new A();
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | RETURN |  |  |  | 1
FE_RESET
FETCH_CONSTANT
Opcode Descriptions and Examples


FETCH_CONSTANT

PHP code

<?php
/*
 * Fetch the constant value bound to the specified name (name) and stores it into a variable (result).
 * opcode number: 99
 */
define("FOO", "something");
echo FOO;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | SEND_VAL |  |  |  | 'FOO'
 | 1 | SEND_VAL |  |  |  | 'something'
 | 2 | DO_FCALL |  | 2 |  | 'define'
7 | 3 | FETCH_CONSTANT |  |  | ~1 | 'FOO'
 | 4 | ECHO |  |  |  | ~1
8 | 5 | RETURN |  |  |  | 1
FETCH_CLASS
FETCH_DIM_FUNC_ARG
Opcode Descriptions and Examples


FETCH_DIM_FUNC_ARG

PHP code

<?php
/*
 *
 * opcode number: 93
 */

function foo(&$x)
{
  print($x);
}

$x = array(0, 1, 2, 3, 4, 5);
$z = "foo";

$z($x[0]);

?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$z

line | # | op | fetch | ext | return | operands
7 | 0 | NOP |  |  |  |
12 | 1 | INIT_ARRAY |  |  | ~0 | 0
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 1
 | 3 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 4 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 5 | ADD_ARRAY_ELEMENT |  |  | ~0 | 4
 | 6 | ADD_ARRAY_ELEMENT |  |  | ~0 | 5
 | 7 | ASSIGN |  |  |  | !0,~0
13 | 8 | ASSIGN |  |  |  | !1,'foo'
15 | 9 | INIT_FCALL_BY_NAME |  |  |  | !1
 | 10 | FETCH_DIM_FUNC_ARG |  |  | $3 | !0,0
 | 11 | SEND_VAR |  |  |  | $3
 | 12 | DO_FCALL_BY_NAME |  | 1 |  |
17 | 13 | RETURN |  |  |  | 1

Function name: foo

Compiled variables: !0=$x

line | # | op | fetch | ext | return | operands
7 | 0 | RECV |  |  |  | 1
9 | 1 | PRINT |  |  | ~0 | !0
 | 2 | FREE |  |  |  | ~0
10 | 3 | RETURN |  |  |  | null
FETCH_CONSTANT
FETCH_DIM_IS
Opcode Descriptions and Examples


FETCH_DIM_IS

PHP code

<?php
/*
 *
 * opcode number: 90
 * No sample PHP yet */
?>
FETCH_DIM_FUNC_ARG
FETCH_DIM_R
Opcode Descriptions and Examples


FETCH_DIM_R

PHP code

<?php
/*
 * Fetch the value of the element at "index" in "array-value" to store it in "result".  Read-only?
 * opcode number: 81
 */
$x = array(1,2,3);
$a = 'x';
echo $$a[0];
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | ASSIGN |  |  |  | !1,'x'
8 | 5 | FETCH_DIM_R |  |  | $3 | !1,0
 | 6 | FETCH_R | local |  | $4 | $3
 | 7 | ECHO |  |  |  | $4
9 | 8 | RETURN |  |  |  | 1
FETCH_DIM_IS
FETCH_DIM_RW
Opcode Descriptions and Examples


FETCH_DIM_RW

PHP code

<?php
/*
 * Fetch the value of the element at "index" in "array-value" to store it in "result".
 * opcode number: 87
 */
$x = array(1,2,3);
$a = 'x';
$$a[0]++;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | ASSIGN |  |  |  | !1,'x'
8 | 5 | FETCH_DIM_R |  |  | $3 | !1,0
 | 6 | FETCH_RW | local |  | $4 | $3
 | 7 | POST_INC |  |  | ~5 | $4
 | 8 | FREE |  |  |  | ~5
9 | 9 | RETURN |  |  |  | 1
FETCH_DIM_R
FETCH_DIM_TMP_VAR
Opcode Descriptions and Examples


FETCH_DIM_TMP_VAR

PHP code

<?php
/*
 * Fetch an entry of an array from a temporal variable?
 * opcode number: 98
 */
list($x) = array("X");
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 'X'
 | 1 | FETCH_DIM_TMP_VAR |  |  | $1 | ~0,0
 | 2 | ASSIGN |  |  |  | !0,$1
 | 3 | FREE |  |  |  | ~0
7 | 4 | RETURN |  |  |  | 1
FETCH_DIM_RW
FETCH_DIM_UNSET
Opcode Descriptions and Examples


FETCH_DIM_UNSET

PHP code

<?php
/*
 * Fetch an entry of an array variable for the purpose of unset() operation.
 * opcode number: 96
 * No sample PHP yet */
?>
FETCH_DIM_TMP_VAR
FETCH_DIM_W
Opcode Descriptions and Examples


FETCH_DIM_W

PHP code

<?php
/*
 * Fetch the value of the element at "index" in "array-value" to store it in "result".  Write-only?
 * opcode number: 84
 */
$a = 1;
while($a > 0){
    $a = 0;
}
/*$input =array(1,2,3);
while (list($var,) = @each($input)){
    unset($$var);
}*/
/*$a = array(1,2,3);
$x = 'a';
$$x[0] = 1;*/

/*while ($b = each($a)) {
  print $b;
}*/

?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,1
7 | 1 | IS_SMALLER |  |  | ~1 | 0,!0
 | 2 | JMPZ |  |  |  | ~1,->5
8 | 3 | ASSIGN |  |  |  | !0,0
9 | 4 | JMP |  |  |  | ->1
23 | 5 | RETURN |  |  |  | 1
FETCH_DIM_UNSET
FETCH_FUNC_ARG
Opcode Descriptions and Examples


FETCH_FUNC_ARG

PHP code

<?php
/*
 *
 * opcode number: 92
 */
function foo($x)
{
}

$x = 1;
$y = "x";
$z = "foo";

$z($$y);

?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$y, !2=$z

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
10 | 1 | ASSIGN |  |  |  | !0,1
11 | 2 | ASSIGN |  |  |  | !1,'x'
12 | 3 | ASSIGN |  |  |  | !2,'foo'
14 | 4 | INIT_FCALL_BY_NAME |  |  |  | !2
 | 5 | FETCH_FUNC_ARG | local |  | $3 | !1
 | 6 | SEND_VAR |  |  |  | $3
 | 7 | DO_FCALL_BY_NAME |  | 1 |  |
16 | 8 | RETURN |  |  |  | 1

Function name: foo

Compiled variables: !0=$x

line | # | op | fetch | ext | return | operands
6 | 0 | RECV |  |  |  | 1
8 | 1 | RETURN |  |  |  | null
FETCH_DIM_W
FETCH_IS
Opcode Descriptions and Examples


FETCH_IS

PHP code

<?php
/*
 * Fetch the value from variable which is to be used to test if it is set or not, through isset()/isempty().
 * opcode number: 89
 */
echo isset($_SESSION['userid']);
echo isset($_SESSION['userid'][1]);
echo isset($_SESSION->prop->prop);
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | FETCH_IS |  |  | $0 | '_SESSION'
 | 1 | ZEND_ISSET_ISEMPTY_DIM_OBJ |  | 1 | ~1 | $0,'userid'
 | 2 | ECHO |  |  |  | ~1
7 | 3 | FETCH_IS |  |  | $2 | '_SESSION'
 | 4 | FETCH_DIM_IS |  |  | $3 | $2,'userid'
 | 5 | ZEND_ISSET_ISEMPTY_DIM_OBJ |  | 1 | ~4 | $3,1
 | 6 | ECHO |  |  |  | ~4
8 | 7 | FETCH_IS |  |  | $5 | '_SESSION'
 | 8 | FETCH_OBJ_IS |  |  | $6 | $5,'prop'
 | 9 | ZEND_ISSET_ISEMPTY_PROP_OBJ |  |  | ~7 | $6,'prop'
 | 10 | ECHO |  |  |  | ~7
9 | 11 | RETURN |  |  |  | 1
FETCH_FUNC_ARG
FETCH_OBJ_FUNC_ARG
Opcode Descriptions and Examples


FETCH_OBJ_FUNC_ARG

PHP code

<?php
/*
 *
 * opcode number: 94
 */
include './classA.php';

function foo(&$x)
{
  print($x);
}

$z = "foo";

$obj = new A();
print $obj->num;
$z($obj->num);

?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$z, !1=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | INCLUDE_OR_EVAL |  |  |  | '.%2FclassA.php',INCLUDE
8 | 1 | NOP |  |  |  |
13 | 2 | ASSIGN |  |  |  | !0,'foo'
15 | 3 | ZEND_FETCH_CLASS |  |  | :2 | 'A'
 | 4 | NEW |  |  | $3 | :2
 | 5 | DO_FCALL_BY_NAME |  | 0 |  |
 | 6 | ASSIGN |  |  |  | !1,$3
16 | 7 | FETCH_OBJ_R |  |  | $6 | !1,'num'
 | 8 | PRINT |  |  | ~7 | $6
 | 9 | FREE |  |  |  | ~7
17 | 10 | INIT_FCALL_BY_NAME |  |  |  | !0
 | 11 | FETCH_OBJ_FUNC_ARG |  |  | $8 | !1,'num'
 | 12 | SEND_VAR |  |  |  | $8
 | 13 | DO_FCALL_BY_NAME |  | 1 |  |
19 | 14 | RETURN |  |  |  | 1

Function name: foo

Compiled variables: !0=$x

line | # | op | fetch | ext | return | operands
8 | 0 | RECV |  |  |  | 1
10 | 1 | PRINT |  |  | ~0 | !0
 | 2 | FREE |  |  |  | ~0
11 | 3 | RETURN |  |  |  | null

Function name: foo

Compiled variables: !0=$x

line | # | op | fetch | ext | return | operands
8 | 0 | RECV |  |  |  | 1
10 | 1 | PRINT |  |  | ~0 | !0
 | 2 | FREE |  |  |  | ~0
11 | 3 | RETURN |  |  |  | null
FETCH_IS
FETCH_OBJ_IS
Opcode Descriptions and Examples


FETCH_OBJ_IS

PHP code

<?php
/*
 *
 * opcode number: 91
 * No sample PHP yet */
?>
FETCH_OBJ_FUNC_ARG
FETCH_OBJ_R
Opcode Descriptions and Examples


FETCH_OBJ_R

PHP code

<?php
/*
 * Fetch the "prop-name" property value of this object.  Read-only?
 * opcode number: 82
 */
$x = new A();
$a = 'x';
echo $$a->num;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ASSIGN |  |  |  | !1,'x'
8 | 5 | FETCH_R | local |  | $5 | !1
 | 6 | FETCH_OBJ_R |  |  | $6 | $5,'num'
 | 7 | ECHO |  |  |  | $6
9 | 8 | RETURN |  |  |  | 1
FETCH_OBJ_IS
FETCH_OBJ_RW
Opcode Descriptions and Examples


FETCH_OBJ_RW

PHP code

<?php
/*
 * Fetch the "prop-name" property value of this object.
 * opcode number: 88
 */
$x = new A();
$a = 'x';
$$a->num++;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ASSIGN |  |  |  | !1,'x'
8 | 5 | FETCH_RW | local |  | $5 | !1
 | 6 | ZEND_POST_INC_OBJ |  |  | ~7 | $5,'num'
 | 7 | FREE |  |  |  | ~7
9 | 8 | RETURN |  |  |  | 1
FETCH_OBJ_R
FETCH_OBJ_UNSET
Opcode Descriptions and Examples


FETCH_OBJ_UNSET

PHP code

<?php
/*
 * Fetch a property of an object variable for the purpose of unset() operation.
 * opcode number: 97
 * No sample PHP yet */
?>
FETCH_OBJ_RW
FETCH_OBJ_W
Opcode Descriptions and Examples


FETCH_OBJ_W

PHP code

<?php
/*
 * Fetch an object from the property of this object and write to the property of the fectched object.
 * opcode number: 85
 */
$foo = new stdclass;
$foo->bar = new stdclass;
$foo->bar->baz = 'quix';
?>

PHP opcodes

Function name: (null)

Compiled variables: !0 = $foo

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  | 4 | :0 | 'stdclass'
 | 1 | NEW |  |  |  | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0
7 | 4 | ZEND_FETCH_CLASS |  | 4 | :5 | 'stdclass'
 | 5 | NEW |  |  |  | :5
 | 6 | DO_FCALL_BY_NAME |  | 0 |  |
 | 7 | ZEND_ASSIGN_OBJ |  |  |  | !0, 'bar'
 | 8 | ZEND_OP_DATA |  |  |  |
8 | 9 | FETCH_OBJ_W |  |  |  | !0, 'bar'
 | 10 | ZEND_ASSIGN_OBJ |  |  |  | 'baz'
 | 11 | ZEND_OP_DATA |  |  |  | 'quix'
9 | 12 | RETURN |  |  |  | 1
FETCH_OBJ_UNSET
FETCH_R
Opcode Descriptions and Examples


FETCH_R

PHP code

<?php
/*
 * Fetch the value of the varible of "name" to assign it to a variable?  Read-only?
 * opcode number: 80
 */
$x = 1;
$a = 'x';
echo $$a;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,1
7 | 1 | ASSIGN |  |  |  | !1,'x'
8 | 2 | FETCH_R | local |  | $2 | !1
 | 3 | ECHO |  |  |  | $2
9 | 4 | RETURN |  |  |  | 1
FETCH_OBJ_W
FETCH_RW
Opcode Descriptions and Examples


FETCH_RW

PHP code

<?php
/*
 * Fetch the value of the varible of "name" to assign it to a variable?
 * opcode number: 86
 */
$x = 1;
$a = 'x';
$$a++;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,1
7 | 1 | ASSIGN |  |  |  | !1,'x'
8 | 2 | FETCH_RW | local |  | $2 | !1
 | 3 | POST_INC |  |  | ~3 | $2
 | 4 | FREE |  |  |  | ~3
9 | 5 | RETURN |  |  |  | 1
FETCH_R
FETCH_UNSET
Opcode Descriptions and Examples


FETCH_UNSET

PHP code

<?php
/*
 * Fetch a variable for the purpose of unset() operation.
 * opcode number: 95
 * No sample PHP yet */
?>
FETCH_RW
FETCH_W
Opcode Descriptions and Examples


FETCH_W

PHP code

<?php
/*
 * Fetch the value of the varible of "name" to assign it to a variable?  Write-only?
 * opcode number: 83
 */
$x = 1;
$a = 'x';
$$a = 2;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,1
7 | 1 | ASSIGN |  |  |  | !1,'x'
8 | 2 | FETCH_W | local |  | $2 | !1
 | 3 | ASSIGN |  |  |  | $2,2
9 | 4 | RETURN |  |  |  | 1
FETCH_UNSET
FREE
Opcode Descriptions and Examples


FREE

PHP code

<?php
/*
 * Release the allocated space of the value.
 * opcode number: 70
 */
 print "Hello World";
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | PRINT |  |  | ~0 | 'Hello+World'
 | 1 | FREE |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
FETCH_W
GOTO
Opcode Descriptions and Examples


GOTO

PHP code

<?php
/*
 *
 * opcode number: 100
 * No sample PHP yet */
?>
FREE
HANDLE_EXCEPTION
Opcode Descriptions and Examples


HANDLE_EXCEPTION

PHP code

<?php
/*
 *
 * opcode number: 149
 */
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | RETURN |  |  |  | 1
GOTO
INCLUDE_OR_EVAL
Opcode Descriptions and Examples


INCLUDE_OR_EVAL

PHP code

<?php
/*
 * Include the file specified by filename and eval it.
 * opcode number: 73
 */
include("test.php");
eval("test.php");
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | INCLUDE_OR_EVAL |  |  |  | 'test.php',INCLUDE
7 | 1 | INCLUDE_OR_EVAL |  |  |  | 'test.php',EVAL
8 | 2 | RETURN |  |  |  | 1

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
2 | 0 | DO_FCALL |  | 0 |  | 'phpinfo'
3 | 1 | RETURN |  |  |  | 1
HANDLE_EXCEPTION
INIT_ARRAY
Opcode Descriptions and Examples


INIT_ARRAY

PHP code

<?php
/*
 * Allocate a new array with elem-value as the first element of the array.  Followed by ADD_ARRAY_ELEMENT.
 * opcode number: 71
 */
$a = array(1,2,3);
print_r($a);
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | SEND_VAR |  |  |  | !0
 | 5 | DO_FCALL |  | 1 |  | 'print_r'
8 | 6 | RETURN |  |  |  | 1
INCLUDE_OR_EVAL
INIT_FCALL_BY_NAME
Opcode Descriptions and Examples


INIT_FCALL_BY_NAME

PHP code

<?php
/*
 * prepare for a function call to function value1
 * opcode number: 59
 */
$x = 'phpinfo';
$a = $x();
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,'phpinfo'
7 | 1 | INIT_FCALL_BY_NAME |  |  |  | !0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !1,$1
8 | 4 | RETURN |  |  |  | 1
INIT_ARRAY
INIT_METHOD_CALL
Opcode Descriptions and Examples


INIT_METHOD_CALL

PHP code

<?php
/*
 * Prepare for a method call.  Followed by DO_FCALL.
 * opcode number: 112
 */
class A {
  var $num;
    function incrementNum(){
    $num++;
  }
}

$obj = new A();
$obj->incrementNum();

?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
13 | 1 | ZEND_FETCH_CLASS |  |  | :1 | 'A'
 | 2 | NEW |  |  | $2 | :1
 | 3 | DO_FCALL_BY_NAME |  | 0 |  |
 | 4 | ASSIGN |  |  |  | !0,$2
14 | 5 | ZEND_INIT_METHOD_CALL |  |  |  | !0,'incrementNum'
 | 6 | DO_FCALL_BY_NAME |  | 0 |  |
16 | 7 | RETURN |  |  |  | 1

Function name: incrementNum

Compiled variables: !0=$num

line | # | op | fetch | ext | return | operands
9 | 0 | POST_INC |  |  | ~0 | !0
 | 1 | FREE |  |  |  | ~0
10 | 2 | RETURN |  |  |  | null
INIT_FCALL_BY_NAME
INIT_NS_FCALL_BY_NAME
Opcode Descriptions and Examples


INIT_NS_FCALL_BY_NAME

PHP code

<?php
/*
 *
 * opcode number: 69
 * No sample PHP yet */
?>
INIT_METHOD_CALL
INIT_STATIC_METHOD_CALL
Opcode Descriptions and Examples


INIT_STATIC_METHOD_CALL

PHP code

<?php
/*
 *
 * opcode number: 113
 */
class Foo {
    public static function aStaticMethod() {
            echo "hello world\n";
    }
}

Foo::aStaticMethod();
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
12 | 1 | ZEND_INIT_STATIC_METHOD_CALL |  |  |  | 'Foo','aStaticMethod'
 | 2 | ZEND_OP_DATA |  |  |  | 'foo%3A%3Aastaticmethod'
 | 3 | DO_FCALL_BY_NAME |  | 0 |  |
13 | 4 | RETURN |  |  |  | 1

Function name: aStaticMethod

Compiled variables: none

line | # | op | fetch | ext | return | operands
8 | 0 | ECHO |  |  |  | 'hello+world%0A'
9 | 1 | RETURN |  |  |  | null
INIT_NS_FCALL_BY_NAME
INIT_STRING
Opcode Descriptions and Examples


INIT_STRING

PHP code

<?php
/*
 * appears to create a string variable in result
 * opcode number: 53
 */
echo "hello$a world";
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ADD_STRING |  |  | ~0 | 'hello'
 | 1 | ADD_VAR |  |  | ~0 | ~0,!0
 | 2 | ADD_STRING |  |  | ~0 | ~0,'+world'
 | 3 | ECHO |  |  |  | ~0
7 | 4 | RETURN |  |  |  | 1
INIT_STATIC_METHOD_CALL
INSTANCEOF
Opcode Descriptions and Examples


INSTANCEOF

PHP code

<?php
/*
 *
 * opcode number: 138
 */
$obj = new A();

if ($obj instanceof A) {
   echo 'A';
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
8 | 4 | ZEND_FETCH_CLASS |  |  | :4 | 'A'
 | 5 | ZEND_INSTANCEOF |  |  | ~5 | !0,$4
 | 6 | JMPZ |  |  |  | ~5,->9
9 | 7 | ECHO |  |  |  | 'A'
10 | 8 | JMP |  |  |  | ->9
11 | 9 | RETURN |  |  |  | 1
INIT_STRING
IS_EQUAL
Opcode Descriptions and Examples


IS_EQUAL

PHP code

<?php
/*
 * compares if value1 and value2 are equal
 * opcode number: 17
 */
echo (1 == 1);
echo (1 == 'c');
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | IS_EQUAL |  |  | ~0 | 1,1
 | 1 | ECHO |  |  |  | ~0
7 | 2 | IS_EQUAL |  |  | ~1 | 1,'c'
 | 3 | ECHO |  |  |  | ~1
8 | 4 | RETURN |  |  |  | 1
INSTANCEOF
IS_IDENTICAL
Opcode Descriptions and Examples


IS_IDENTICAL

PHP code

<?php
/*
 * Compares value1 and value2 to see if they are equal AND have the same type
 * opcode number: 15
 */
echo (1===1);
echo (1==='a');
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | IS_IDENTICAL |  |  | ~0 | 1,1
 | 1 | ECHO |  |  |  | ~0
7 | 2 | IS_IDENTICAL |  |  | ~1 | 1,'a'
 | 3 | ECHO |  |  |  | ~1
8 | 4 | RETURN |  |  |  | 1
IS_EQUAL
IS_NOT_EQUAL
Opcode Descriptions and Examples


IS_NOT_EQUAL

PHP code

<?php
/*
 * compares if value1 and value2 are not equal
 * opcode number: 18
 */
echo (1 != 1);
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | IS_NOT_EQUAL |  |  | ~0 | 1,1
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
IS_IDENTICAL
IS_NOT_IDENTICAL
Opcode Descriptions and Examples


IS_NOT_IDENTICAL

PHP code

<?php
/*
 * compares value1 and value2 to see if they are unequal or of different types
 * opcode number: 16
 */
echo (1 !== 1);
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | IS_NOT_IDENTICAL |  |  | ~0 | 1,1
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
IS_NOT_EQUAL
IS_SMALLER
Opcode Descriptions and Examples


IS_SMALLER

PHP code

<?php
/*
 * compares if value1 is less than value2
 * opcode number: 19
 */
echo (1 < 2);
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | IS_SMALLER |  |  | ~0 | 1,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
IS_NOT_IDENTICAL
IS_SMALLER_OR_EQUAL
Opcode Descriptions and Examples


IS_SMALLER_OR_EQUAL

PHP code

<?php
/*
 * compares if value1 is less than or equal to value2
 * opcode number: 20
 */
echo (1 >= 2);
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | IS_SMALLER_OR_EQUAL |  |  | ~0 | 2,1
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
IS_SMALLER
ISSET_ISEMPTY_DIM_OBJ
Opcode Descriptions and Examples


ISSET_ISEMPTY_DIM_OBJ

PHP code

<?php
/*
 * Tests if the entry of an array is set or not.
 * opcode number: 115
 */
if(isset($a[0])) return 0;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_ISSET_ISEMPTY_DIM_OBJ |  | 1 | ~0 | !0,0
 | 1 | JMPZ |  |  |  | ~0,->4
 | 2 | RETURN |  |  |  | 0
 | 3 | JMP |  |  |  | ->4
7 | 4 | RETURN |  |  |  | 1
IS_SMALLER_OR_EQUAL
ISSET_ISEMPTY_PROP_OBJ
Opcode Descriptions and Examples


ISSET_ISEMPTY_PROP_OBJ

PHP code

<?php
/*
 *
 * opcode number: 148
 */
$obj = new A();
if(empty($obj->num)) return 0;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ZEND_ISSET_ISEMPTY_PROP_OBJ |  |  | ~4 | !0,'num'
 | 5 | JMPZ |  |  |  | ~4,->8
 | 6 | RETURN |  |  |  | 0
 | 7 | JMP |  |  |  | ->8
8 | 8 | RETURN |  |  |  | 1
ISSET_ISEMPTY_DIM_OBJ
ISSET_ISEMPTY_VAR
Opcode Descriptions and Examples


ISSET_ISEMPTY_VAR

PHP code

<?php
/*
 * Tests if the value of a variable is set or not.
 * opcode number: 114
 */
if(isset($a)){ return 0;}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_ISSET_ISEMPTY_VAR |  | 5 | ~0 | !0
 | 1 | JMPZ |  |  |  | ~0,->4
 | 2 | RETURN |  |  |  | 0
 | 3 | JMP |  |  |  | ->4
7 | 4 | RETURN |  |  |  | 1
ISSET_ISEMPTY_PROP_OBJ
JMP
Opcode Descriptions and Examples


JMP

PHP code

<?php
/*
 * Unconditonally jump to the address
 * opcode number: 42
 */
$foo = false;
while(!$foo) {
    $foo = true;
}
?>

PHP opcodes

Function name: (null)

compiled vars: !0 = $foo

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0, false
7 | 1 | BOOL_NOT |  |  | ~1 | !0
 | 2 | JMPZ |  |  |  | ~1, ->5
8 | 3 | ASSIGN |  |  |  | !0, true
9 | 4 | JMP |  |  |  | ->1
11 | 5 | RETURN |  |  |  | 1
ISSET_ISEMPTY_VAR
JMPNZ
Opcode Descriptions and Examples


JMPNZ

PHP code

<?php
/*
 * Jump to the address if the value is not zero
 * opcode number: 44
 */
for($i=0; $i<3; $i++){
    echo "hi";
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$i

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,0
 | 1 | IS_SMALLER |  |  | ~1 | !0,3
 | 2 | JMPZNZ |  | 6 |  | ~1,->8
 | 3 | POST_INC |  |  | ~2 | !0
 | 4 | FREE |  |  |  | ~2
 | 5 | JMP |  |  |  | ->1
7 | 6 | ECHO |  |  |  | 'hi'
8 | 7 | JMP |  |  |  | ->3
9 | 8 | RETURN |  |  |  | 1
JMP
JMPNZ_EX
Opcode Descriptions and Examples


JMPNZ_EX

PHP code

<?php
/*
 * Jump to the address if the xor of value1 and value2 is zero .. ???
 * opcode number: 47
 */
if(1^2) return;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BW_XOR |  |  | ~0 | 1,2
 | 1 | JMPZ |  |  |  | ~0,->4
 | 2 | RETURN |  |  |  | null
 | 3 | JMP |  |  |  | ->4
7 | 4 | RETURN |  |  |  | 1
JMPNZ
JMPZ
Opcode Descriptions and Examples


JMPZ

PHP code

<?php
/*
 * Jump to the address if the value is zero
 * opcode number: 43
 */
if($a != 0) echo "foo";
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | IS_NOT_EQUAL |  |  | ~0 | !0,0
 | 1 | JMPZ |  |  |  | ~0,->4
 | 2 | ECHO |  |  |  | 'foo'
 | 3 | JMP |  |  |  | ->4
7 | 4 | RETURN |  |  |  | 1
JMPNZ_EX
JMPZ_EX
Opcode Descriptions and Examples


JMPZ_EX

PHP code

<?php
/*
 * Jump to the address if the xor of value1 and value2 is zero .. ???
 * opcode number: 46
 */

?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
7 | 0 | RETURN |  |  |  | 1
JMPZ
JMPZNZ
Opcode Descriptions and Examples


JMPZNZ

PHP code

<?php
/*
 * Jump to the address if the value is .. ???
 * opcode number: 45
 */
for($i=0; $i<3; $i++){
    echo "hi";
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$i

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,0
 | 1 | IS_SMALLER |  |  | ~1 | !0,3
 | 2 | JMPZNZ |  | 6 |  | ~1,->8
 | 3 | POST_INC |  |  | ~2 | !0
 | 4 | FREE |  |  |  | ~2
 | 5 | JMP |  |  |  | ->1
7 | 6 | ECHO |  |  |  | 'hi'
8 | 7 | JMP |  |  |  | ->3
9 | 8 | RETURN |  |  |  | 1
JMPZ_EX
MOD
Opcode Descriptions and Examples


MOD

PHP code

<?php
/*
 * Makes the value of "result" congruent to "value1" modulo "value2".
 * opcode number: 5
 */
echo 6 % 3;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | MOD |  |  | ~0 | 6,3
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
JMPZNZ
MUL
Opcode Descriptions and Examples


MUL

PHP code

<?php
/*
 * Multiplys "value1" by "value2" and stores the result into "result".
 * opcode number: 3
 */
echo 2*3;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | MUL |  |  | ~0 | 2,3
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
MOD
NEW
Opcode Descriptions and Examples


NEW

PHP code

<?php
/*
 * Construct an instance of "type" and store the reference to the object into "result".
 * opcode number: 68
 */
$obj = new A();
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | RETURN |  |  |  | 1
MUL
NOP
Opcode Descriptions and Examples


NOP

PHP code

<?php
/*
 * no operation
 * opcode number: 0
 */
function A(){};
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
7 | 1 | RETURN |  |  |  | 1

Function name: A

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | RETURN |  |  |  | null
NEW
POST_DEC
Opcode Descriptions and Examples


POST_DEC

PHP code

<?php
/*
 * decrements variable indicated by value1 by 1 (after performing other operations) and stores in result
 * opcode number: 37
 */
$a--;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | POST_DEC |  |  | ~0 | !0
 | 1 | FREE |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
NOP
POST_DEC_OBJ
Opcode Descriptions and Examples


POST_DEC_OBJ

PHP code

<?php
/*
 *
 * opcode number: 135
 */
$obj = new A();
$obj->num--;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ZEND_POST_DEC_OBJ |  |  | ~5 | !0,'num'
 | 5 | FREE |  |  |  | ~5
8 | 6 | RETURN |  |  |  | 1
POST_DEC
POST_INC
Opcode Descriptions and Examples


POST_INC

PHP code

<?php
/*
 * increments variable indicated by value1 by 1 (after performing other operations) and stores in result
 * opcode number: 36
 */
$a++;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | POST_INC |  |  | ~0 | !0
 | 1 | FREE |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
POST_DEC_OBJ
POST_INC_OBJ
Opcode Descriptions and Examples


POST_INC_OBJ

PHP code

<?php
/*
 * Increment the property value specified by prop-name and store the original value into result.
 * opcode number: 134
 */
$obj = new A();
$obj->num++;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ZEND_POST_INC_OBJ |  |  | ~5 | !0,'num'
 | 5 | FREE |  |  |  | ~5
8 | 6 | RETURN |  |  |  | 1
POST_INC
PRE_DEC
Opcode Descriptions and Examples


PRE_DEC

PHP code

<?php
/*
 * decrements variable indicated by value1 by 1 (before performing other operations) and stores in results
 * opcode number: 35
 */
--$a;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | PRE_DEC |  |  |  | !0
7 | 1 | RETURN |  |  |  | 1
POST_INC_OBJ
PRE_DEC_OBJ
Opcode Descriptions and Examples


PRE_DEC_OBJ

PHP code

<?php
/*
 *
 * opcode number: 133
 */
$obj = new A();
--$obj->num;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ZEND_PRE_DEC_OBJ |  |  |  | !0,'num'
8 | 5 | RETURN |  |  |  | 1
PRE_DEC
PRE_INC
Opcode Descriptions and Examples


PRE_INC

PHP code

<?php
/*
 * increments variable indicated by value1 by 1 (before performing other operations) and stores in result
 * opcode number: 34
 */
++$a;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | PRE_INC |  |  |  | !0
7 | 1 | RETURN |  |  |  | 1
PRE_DEC_OBJ
PRE_INC_OBJ
Opcode Descriptions and Examples


PRE_INC_OBJ

PHP code

<?php
/*
 *
 * opcode number: 132
 */
$obj = new A();
++$obj->num;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ZEND_PRE_INC_OBJ |  |  |  | !0,'num'
8 | 5 | RETURN |  |  |  | 1
PRE_INC
PRINT
Opcode Descriptions and Examples


PRINT

PHP code

<?php
/*
 *
 * opcode number: 41
 */
print "Hello World";
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | PRINT |  |  | ~0 | 'Hello+World'
 | 1 | FREE |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
PRE_INC_OBJ
QM_ASSIGN
Opcode Descriptions and Examples


QM_ASSIGN

PHP code

<?php
/*
 * Question Mark Assign, used twice inside a question mark assign to temporarily assign result as value1  (this is followed up with an ASSIGN bytecode)
 * opcode number: 22
 */
function A(){
 echo 1?2:3;
}

function B(){
 $b = 0;
 $a = $b > 1 ? 10: 11;
}
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
10 | 1 | NOP |  |  |  |
14 | 2 | RETURN |  |  |  | 1

Function name: A

Compiled variables: none

line | # | op | fetch | ext | return | operands
7 | 0 | JMPZ |  |  |  | 1,->3
 | 1 | QM_ASSIGN |  |  | ~0 | 2
 | 2 | JMP |  |  |  | ->4
 | 3 | QM_ASSIGN |  |  | ~0 | 3
 | 4 | ECHO |  |  |  | ~0
8 | 5 | RETURN |  |  |  | null

Function name: B

Compiled variables: !0=$b, !1=$a

line | # | op | fetch | ext | return | operands
11 | 0 | ASSIGN |  |  |  | !0,0
12 | 1 | IS_SMALLER |  |  | ~1 | 1,!0
 | 2 | JMPZ |  |  |  | ~1,->5
 | 3 | QM_ASSIGN |  |  | ~2 | 10
 | 4 | JMP |  |  |  | ->6
 | 5 | QM_ASSIGN |  |  | ~2 | 11
 | 6 | ASSIGN |  |  |  | !1,~2
13 | 7 | RETURN |  |  |  | null
PRINT
RAISE_ABSTRACT_ERROR
Opcode Descriptions and Examples


RAISE_ABSTRACT_ERROR

PHP code

<?php
/*
 *
 * opcode number: 142
 */

abstract class fail {
    abstract function show();
}

class pass extends fail {
    function show() {
        echo "Call to function show()\n";
    }
}

$t2 = new pass();
$t2->show();

$t = new fail();
$t->show();

echo "Done\n"; // shouldn't be displayed
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$t2, !1=$t

line | # | op | fetch | ext | return | operands
7 | 0 | NOP |  |  |  |
11 | 1 | NOP |  |  |  |
 | 2 | NOP |  |  |  |
17 | 3 | ZEND_FETCH_CLASS |  |  | :3 | 'pass'
 | 4 | NEW |  |  | $4 | :3
 | 5 | DO_FCALL_BY_NAME |  | 0 |  |
 | 6 | ASSIGN |  |  |  | !0,$4
18 | 7 | ZEND_INIT_METHOD_CALL |  |  |  | !0,'show'
 | 8 | DO_FCALL_BY_NAME |  | 0 |  |
20 | 9 | ZEND_FETCH_CLASS |  |  | :9 | 'fail'
 | 10 | NEW |  |  | $10 | :9
 | 11 | DO_FCALL_BY_NAME |  | 0 |  |
 | 12 | ASSIGN |  |  |  | !1,$10
21 | 13 | ZEND_INIT_METHOD_CALL |  |  |  | !1,'show'
 | 14 | DO_FCALL_BY_NAME |  | 0 |  |
23 | 15 | ECHO |  |  |  | 'Done%0A'
24 | 16 | RETURN |  |  |  | 1

Function name: show

Compiled variables: none

line | # | op | fetch | ext | return | operands
8 | 0 | ZEND_RAISE_ABSTRACT_ERROR |  |  |  |
 | 1 | RETURN |  |  |  | null

Function name: show

Compiled variables: none

line | # | op | fetch | ext | return | operands
13 | 0 | ECHO |  |  |  | 'Call+to+function+show%28%29%0A'
14 | 1 | RETURN |  |  |  | null
QM_ASSIGN
RECV
Opcode Descriptions and Examples


RECV

PHP code

<?php
/*
 * Receive a functoin argument of "argument-number" and store the argument value into a variable of "argument-number".  (e.g. $1 for 1)
 * opcode number: 63
 */
function hello($a){}
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
7 | 1 | RETURN |  |  |  | 1

Function name: hello

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | RECV |  |  |  | 1
 | 1 | RETURN |  |  |  | null
RAISE_ABSTRACT_ERROR
RECV_INIT
Opcode Descriptions and Examples


RECV_INIT

PHP code

<?php
/*
 * Initialize a function argument with "value" if not received from caller.  Otherwise same as RECV.
 * opcode number: 64
 */
function hello($a=5){}
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
7 | 1 | RETURN |  |  |  | 1

Function name: hello

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | RECV_INIT |  |  |  | 1,5
 | 1 | RETURN |  |  |  | null
RECV
RETURN
Opcode Descriptions and Examples


RETURN

PHP code

<?php
/*
 * Return value from a funciton.
 * opcode number: 62
 */
return 1;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | RETURN |  |  |  | 1
7 | 1 | RETURN |  |  |  | 1
RECV_INIT
RETURN_BY_REF
Opcode Descriptions and Examples


RETURN_BY_REF

PHP code

<?php
/*
 *
 * opcode number: 111
 * No sample PHP yet */
?>
RETURN
SEND_REF
Opcode Descriptions and Examples


SEND_REF

PHP code

<?php
/*
 * Pass the reference value as an actual parameter to a function.  DO_FCALL follows.
 * opcode number: 67
 */
@each($input);
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BEGIN_SILENCE |  |  | ~0 |
 | 1 | FETCH_W | local |  | $1 | 'input'
 | 2 | SEND_REF |  |  |  | $1
 | 3 | DO_FCALL |  | 1 |  | 'each'
 | 4 | END_SILENCE |  |  |  | ~0
7 | 5 | RETURN |  |  |  | 1
RETURN_BY_REF
SEND_VAL
Opcode Descriptions and Examples


SEND_VAL

PHP code

<?php
/*
 * Pass the constant value as an actual parameter to a function.  DO_FCALL follows.
 * opcode number: 65
 */
function funcA($msg){
    print $msg;
}

funcA('HELLO');

defined('IN_PHPBB');
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
10 | 1 | SEND_VAL |  |  |  | 'HELLO'
 | 2 | DO_FCALL |  | 1 |  | 'funca'
12 | 3 | SEND_VAL |  |  |  | 'IN_PHPBB'
 | 4 | DO_FCALL |  | 1 |  | 'defined'
13 | 5 | RETURN |  |  |  | 1

Function name: funcA

Compiled variables: !0=$msg

line | # | op | fetch | ext | return | operands
6 | 0 | RECV |  |  |  | 1
7 | 1 | PRINT |  |  | ~0 | !0
 | 2 | FREE |  |  |  | ~0
8 | 3 | RETURN |  |  |  | null
SEND_REF
SEND_VAR
Opcode Descriptions and Examples


SEND_VAR

PHP code

<?php
/*
 * Pass the variable value as an actual parameter to a function.  DO_FCALL follows.
 * opcode number: 66
 */
$a = array(1,2,3);
if(is_array($a)){ return 0; }
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | SEND_VAR |  |  |  | !0
 | 5 | DO_FCALL |  | 1 |  | 'is_array'
 | 6 | JMPZ |  |  |  | $2,->9
 | 7 | RETURN |  |  |  | 0
 | 8 | JMP |  |  |  | ->9
8 | 9 | RETURN |  |  |  | 1
SEND_VAL
SEND_VAR_NO_REF
Opcode Descriptions and Examples


SEND_VAR_NO_REF

PHP code

<?php
/*
 *
 * opcode number: 106
 * No sample PHP yet */
?>
SEND_VAR
SL
Opcode Descriptions and Examples


SL

PHP code

<?php
/*
 * Shift value1 by balue2 bits to left
 * opcode number: 6
 */
echo 8 << 2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | SL |  |  | ~0 | 8,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
SEND_VAR_NO_REF
SR
Opcode Descriptions and Examples


SR

PHP code

<?php
/*
 * Shift bits to right
 * opcode number: 7
 */
echo 8 >> 2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | SR |  |  | ~0 | 8,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
SL
SUB
Opcode Descriptions and Examples


SUB

PHP code

<?php
/*
 * Subtracts "value2" from "value1" and stores the result into "result".
 * opcode number: 2
 */
echo 1-2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | SUB |  |  | ~0 | 1,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
SR
SWITCH_FREE
Opcode Descriptions and Examples


SWITCH_FREE

PHP code

<?php
/*
 * Release the allocated space of "value"?
 * opcode number: 49
 */
$a = array(1,2,3);
foreach($a as $num){
    print $num;
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a, !1=$num

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | FE_RESET |  |  | $2 | !0,->11
 | 5 | FE_FETCH |  |  | $3 | $2,->11
 | 6 | ZEND_OP_DATA |  |  |  |
 | 7 | ASSIGN |  |  |  | !1,$3
8 | 8 | PRINT |  |  | ~5 | !1
 | 9 | FREE |  |  |  | ~5
9 | 10 | JMP |  |  |  | ->5
 | 11 | SWITCH_FREE |  |  |  | $2
10 | 12 | RETURN |  |  |  | 1
SUB
THROW
Opcode Descriptions and Examples


THROW

PHP code

<?php
/*
 *
 * opcode number: 108
 */
try {
    $error = 'Always throw this error';
    throw new Exception($error);

    // Code following an exception is not executed.
    echo 'Never executed';

} catch (Exception $e) {
    echo 'Caught exception: ',  $e->getMessage(), "\n";
}

// Continue execution
echo 'Hello World';
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$error, !1=$e

line | # | op | fetch | ext | return | operands
7 | 0 | ASSIGN |  |  |  | !0,'Always+throw+this+error'
8 | 1 | ZEND_FETCH_CLASS |  |  | :1 | 'Exception'
 | 2 | NEW |  |  | $2 | :1
 | 3 | SEND_VAR |  |  |  | !0
 | 4 | DO_FCALL_BY_NAME |  | 1 |  |
 | 5 | ZEND_THROW |  | 0 |  | $2
11 | 6 | ECHO |  |  |  | 'Never+executed'
13 | 7 | JMP |  |  |  | ->15
 | 8 | ZEND_FETCH_CLASS |  |  | :4 | 'Exception'
 | 9 | ZEND_CATCH |  | 15 |  | $4,!1
14 | 10 | ECHO |  |  |  | 'Caught+exception%3A+'
 | 11 | ZEND_INIT_METHOD_CALL |  |  |  | !1,'getMessage'
 | 12 | DO_FCALL_BY_NAME |  | 0 |  |
 | 13 | ECHO |  |  |  | $6
 | 14 | ECHO |  |  |  | '%0A'
18 | 15 | ECHO |  |  |  | 'Hello+World'
19 | 16 | RETURN |  |  |  | 1
SWITCH_FREE
TICKS
Opcode Descriptions and Examples


TICKS

PHP code

<?php
/*
 *
 * opcode number: 105
 */
// A function that records the time when it is called
function profile()
{
   echo "profile function is called\n";
}

// Set up a tick handler
register_tick_function("profile");

// Initialize the function before the declare block
profile();

// Run a block of code, throw a tick every 2nd statement
declare(ticks=2) {
   for ($x = 0; $x < 10; ++$x) {
         echo "hello world\n";
   }
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x

line | # | op | fetch | ext | return | operands
7 | 0 | NOP |  |  |  |
13 | 1 | SEND_VAL |  |  |  | 'profile'
 | 2 | DO_FCALL |  | 1 |  | 'register_tick_function'
16 | 3 | DO_FCALL |  | 0 |  | 'profile'
20 | 4 | ASSIGN |  |  |  | !0,0
 | 5 | IS_SMALLER |  |  | ~3 | !0,10
 | 6 | JMPZNZ |  | 9 |  | ~3,->13
 | 7 | PRE_INC |  |  |  | !0
 | 8 | JMP |  |  |  | ->5
21 | 9 | ECHO |  |  |  | 'hello+world%0A'
 | 10 | TICKS |  |  |  | 2
22 | 11 | TICKS |  |  |  | 2
 | 12 | JMP |  |  |  | ->7
 | 13 | TICKS |  |  |  | 2
23 | 14 | TICKS |  |  |  | 2
24 | 15 | RETURN |  |  |  | 1

Function name: profile

Compiled variables: none

line | # | op | fetch | ext | return | operands
9 | 0 | ECHO |  |  |  | 'profile+function+is+called%0A'
10 | 1 | RETURN |  |  |  | null
THROW
UNSET_DIM
Opcode Descriptions and Examples


UNSET_DIM

PHP code

<?php
/*
 * Unset the entry of array-value, which is specified by index, and store the original element value into "result".
 * opcode number: 75
 */
$a = array(1,2,3);
unset($a[0]);
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | UNSET_DIM |  |  | $2 | !0,0
8 | 5 | RETURN |  |  |  | 1
TICKS
UNSET_OBJ
Opcode Descriptions and Examples


UNSET_OBJ

PHP code

<?php
/*
 * Unset the property of the current object (this) and store the original value into "result".
 * opcode number: 76
 */
$obj = new A();
unset($obj->num);
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | UNSET_OBJ |  |  | $4 | !0,'num'
8 | 5 | RETURN |  |  |  | 1
UNSET_DIM
UNSET_VAR
Opcode Descriptions and Examples


UNSET_VAR

PHP code

<?php
/*
 * Unset the variable and store the original value into "result".
 * opcode number: 74
 */
$x = 1;
$a='x';
unset($$a);
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,1
7 | 1 | ASSIGN |  |  |  | !1,'x'
8 | 2 | UNSET_VAR |  |  | $2 | !1
9 | 3 | RETURN |  |  |  | 1
UNSET_OBJ
USER_OPCODE
Opcode Descriptions and Examples


USER_OPCODE

PHP code

<?php
/*
 *
 * opcode number: 150
 * No sample PHP yet */
?>
UNSET_VAR
VERIFY_ABSTRACT_CLASS
Opcode Descriptions and Examples


VERIFY_ABSTRACT_CLASS

PHP code

<?php
/*
 *
 * opcode number: 146
 * No sample PHP yet */
?>
USER_OPCODE
ZEND_DECLARE_LAMBDA_FUNCTION
Opcode Descriptions and Examples


ZEND_DECLARE_LAMBDA_FUNCTION

PHP code

<?php
/*
 *
 * opcode number: 153
 * No sample PHP yet */
?>
VERIFY_ABSTRACT_CLASS
ZEND_JMP_SET
Opcode Descriptions and Examples


ZEND_JMP_SET

PHP code

<?php
/*
 *
 * opcode number: 152
 * No sample PHP yet */
?>
ZEND_DECLARE_LAMBDA_FUNCTION
Zend Engine 1
Opcode Descriptions and Examples


Zend Engine 1

Tabla de contenidos

  • Old introduction
  • API de Flujos para Autores de Extensiones de PHP
  • La API Zend: Hackeando el núcleo de PHP
  • TSRM API

Zend Engine 1 is the internal engine used by PHP for the entire version 4 release line. It is no longer considered active, but the old ZE1 documentation is preserved here exactly as it was.

ZEND_JMP_SET
Old introduction
El núcleo de PHP: Guía del Hacker


Old introduction

If you are about to begin developing PHP or Zend extensions, you need to prepare yourself for the programming environment provided by the various APIs. This part of the documentation tries to introduce the APIs provided by the different PHP and Zend Engine versions available. Since most of the information available here is somewhat outdated, you'll want to read various files found in the PHP source, files such as README.SELF-CONTAINED-EXTENSIONS and README.EXT_SKEL in addition to the manual.

Zend Engine 1
API de Flujos para Autores de Extensiones de PHP
Zend Engine 1


API de Flujos para Autores de Extensiones de PHP

Nota:

Las funciones de este capítulo son para usarlas en el código fuente de PHP y no son funciones de PHP. Se puede encontrar información sobre las funciones de flujos del entorno de usuario en la Referencia de Flujos.

Visión General

La API de Flujos de PHP introduce una aproximación unificada para el manejo de archivos y sockets de extensiones de PHP. Usando una API única con funciones estándar para operaciones comunes, la API de flujos permite a sus extensiones acceder a archivos, sockets, URLs, memoria y objetos definidos en scripts. Streams (Flujos) es una API extensible en tiempo de ejecución que permite la carga dinámica de módulos (¡y scripts!) para registrar nuevos flujos.

El objetivo de la API de Flujos es hacerla confortable para desarrolladores para abrir ficheros, URLs y otras fuentes de datos que se pueden utilizar como flujos con una API unificada que es fácil de entender. La API está más o menos basada en la familia de funciones stdio de ANSI C (con semántica idéntica para la mayoría de las funciones principales), por lo que los programadores de C estarán familiarizados con los flujos.

La API de flujos opera en dos niveles diferentes: en el nivel básico, la API define objetos php_stream para representar fuentes de datos que se pueden usar como flujos. En un nivel ligeramente superior, la API define objetos php_stream_wrapper que "envuelven" al nivel inferior de la API para proporcionar soporte para recuperar información y meta-información desde URLs. Un parámetro adicional, context, aceptado por la mayoría de las funciones de creación de flujos, es pasado al método stream_opener de la envoltura para mejorar el comportamiento de la envoltura.

Un flujo, una vez abierto, también puede tener cualquier número de filtros aplicados a él, que procesan la información que es leída desde/escrita en el flujo.

Los flujos pueden ser convertidos (cast) en otros tipos de gestores de archivos, por lo que se pueden usar con bibliotecas de terceros sin grandes dificultades. Esto permite a estas bibliotecas acceder a la información directamente desde fuentes de URL. Si su sistema tiene la función fopencookie() o funopen(), ¡puede incluso pasar cualquier flujo de PHP a cualquier biblioteca de use stdio de ANSI!

Flujos: lo básico

Usar flujos es muy parecido a usar las funciones de stdio de ANSI. La principal diferencia está en la manera en de obtiener el gestor de flujo para empezar con él. En la mayoría de los casos se usará php_stream_open_wrapper() para obtener el gestor de flujo. Esta función trabaja de manera similar a fopen, como se puede ver en el ejemplo de abajo:

Ejemplo #1 ejemplo sencillo de flujo que muestra la página de inicio de PHP

php_stream * stream = php_stream_open_wrapper("http://www.php.net", "rb", REPORT_ERRORS, NULL);
if (stream) {
    while(!php_stream_eof(stream)) {
        char buf[1024];

        if (php_stream_gets(stream, buf, sizeof(buf))) {
            printf(buf);
        } else {
            break;
        }
    }
    php_stream_close(stream);
}

La tabla de abajo muestra la equivalencia entre Flujos y las funciones stdio de ANSI más comunes. A menos que se anote lo contrario, la semántica de las funciones son idénticas.

Funciones stdio de ANSI equivalentes en la API de Flujos
Función Stdio de ANSI | Función de Flujos de PHP | Notas
fopen | php_stream_open_wrapper | Los Flujos incluyen parámetros adicionales
fclose | php_stream_close |
fgets | php_stream_gets |
fread | php_stream_read | El parámetro nmemb se asume que tiene un valor de 1, por lo que el prototipo se parece más a read(2)
fwrite | php_stream_write | El parámetro nmemb se asume que tiene un valor de 1, por lo que el prototipo se parece más a write(2)
fseek | php_stream_seek |
ftell | php_stream_tell |
rewind | php_stream_rewind |
feof | php_stream_eof |
fgetc | php_stream_getc |
fputc | php_stream_putc |
fflush | php_stream_flush |
puts | php_stream_puts | La misma semántica que puts, NO fputs
fstat | php_stream_stat | Los flujos tienen una estructura de estadísticas más abundante

Flojos como Recursos

Todos los flujos están registrados como recursos cuando son creados. Esto asegura que serán limpiados de manera apropiada incluso si hubiera un error fatal. Todas las funciones de sistema de archivos de PHP operan sobre recursos de flujos - esto significa que sus extensiones pueden aceptar punteros a archivos de PHP habituales como parámetros, y devovler flujos desde sus funciones. La API de flujos realiza este proceso de la forma más sencilla posible:

Ejemplo #2 Cómo aceptar un flujo como parámetro

PHP_FUNCTION(example_write_hello)
{
    zval *zstream;
    php_stream *stream;

    if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &zstream))
        return;

    php_stream_from_zval(stream, &zstream);

    /* ahora se puede usar el flujo. Sin embargo, usted no es el "propietario" del
        flujo; lo es el script. Esto significa que NO DEBE cerrar el
        flujo, ¡ya que causaría que PHP se colgara! */

    php_stream_write(stream, "hello\n");

    RETURN_TRUE();
}

Ejemplo #3 Cómo devolver un flujo desde una función

PHP_FUNCTION(example_open_php_home_page)
{
    php_stream *stream;

    stream = php_stream_open_wrapper("http://www.php.net", "rb", REPORT_ERRORS, NULL);

    php_stream_to_zval(stream, return_value);

    /* después de este punto, el flujo es "propiedad" del script.
        ¡Si lo cierra ahora PHP se colgará! */
}

Ya que los flujos se limpian automáticamente, es tentador pensar que podemos zafarnos y ser unos programadores descuidados y no molestarnos en cerrar los flujos cuando hayamos terminado con ellos. Aunque tal enfoque podría funcionar, no es una buena idea por varias razones: los flujos permanecen bloqueados en los recursos del sistema mientras están abiertos, por lo que dejar un archivo abierto después de que se haya terminado con él podría impedir que otros procesos accedan al mismo. Si un script trata con un gran número de archivos, la acumulación de recursos usados, tanto en términos de memoria como en el número de archivos abiertos, puede causar que las peticiones al servidor web fallen. Suena mal, ¿verdad? La API de flujos incluye algo de magia que le puede ayudar a mantener su código limpio - si un flujo es cerrado por su código cuando debería hacerlo, puede encontrar alguna información de depuración útil en el registro de errores de su servidor web.

Nota: Use siempre uan construcción de depuración de PHP al desarrollar una extensión (--enable-debug cuando se ejecute configure), ya que se ha realizado un mucho esfuerzo para advertirle de filtraciones de memoria y flujos.

En algunos casos es útil mantener un flujo abierto durante una petición, para actuar como un archivo de registro o de seguimiento, por ejemplo. Escribir código para limpiar de forma segura un flujo no es difícil, pero requiere varias líneas de código que no son estrictamente necesarias. Para ahorrarse el problema de escribir el código puede marcar un flujo como OK para su autolimpieza. Esto significa que la API de flujos no emitirá una advertencia cuando es hora de autolimpiar un flujo. Para hacer esto puede usar php_stream_auto_cleanup().

Opciones de apertura de flujos

Estas constantes afectan a la operación de funciones de flujos de fábrica.

IGNORE_PATH
Esta es la opción predeterminada para los flujos; solicita que no se va a buscar en include_path el archivo pedido.
USE_PATH
Solicita que el archivo pedido se va a buscar en include_path.
IGNORE_URL
Solicita que las envolturas de URL registradas van a ser ignoradas cuando se abra el flujo. Las envolturas distintas de URL se tomarán en consideración cuando se decodifique la ruta. No hay una bandera opuesta a esta; la API de flujos usará todas las envolturas registradas por omisión.
IGNORE_URL_WIN
Es sistemas Windows esto es equivalente a IGNORE_URL. En los demás sistemas esta bandera no tiene efecto.
ENFORCE_SAFE_MODE
Solicita que la implementación de flujo subyacente realice una comprobación de safe_mode en el archivo antes de abrirlo. Si se omite esta bandera se saltará la comprobación de safe_mode y permitirá la apertura de cualquier archivo que el proceso de PHP tenga derecho a acceder.
REPORT_ERRORS
Si esta bandera está establecida y hubo un error durante la apertura del archivo o URL, la API de flujos llamará a la función php_error por usted. Esto es útil porque la ruta puede contener información sobre nombre de usuario/contraseña que no debería ser mostrada en la salida del navegador (sería un riesgo de seguridad hacerlo). Cuando la API de flujos provoca el error, primero elimina la información sobre el nombre de usuario/contraseña de la ruta, haciendo que el mensaje de error sea seguro para mostrarlo en el navegador.
STREAM_MUST_SEEK
Esta bandera es útil cuando su extensión realmente debe ser capaz de buscar aleatoriamente en un flujo. Algunos flujos pueden no ser "buscables" en su forma nativa, por lo que esta bandera pregunta a la API de flujos para verificar si el flujo soporta la búsqueda. Si no la soporta, copiará el flujo a un lugar temporalmente (que puede ser un archivo temporal o un flujo de memoria) que soporta búsquedas. Por favor, observe que esta bandera no es útil cuando se quiere buscar el flujo y escribir en él, ya que el flujo al que se está accediendo no debería estar limitado al recurso real que se registró.

Nota: Si el recurso solicitado está basado en una red, esta bandera causará que el abridor bloquee hasta que el contenido completo haya sido descargado.

STREAM_WILL_CAST
Si su extensión está usando una biblioteca de terceros que supone un FILE* o descriptor de archivo, se puede usar esta bandera para solicitar a la API de flujos que abra el recurso pero que evite almacenarlo en el buffer. Entonces se puede usar php_stream_cast() para recuperar el FILE* o descriptor de archivo que la biblioteca necesita. Esto es particularmente útil cuando se accede a URLs de HTTP donde el inicio de la información del flujo real se encuentra despuiés de un índice indeterminado dentro del flujo. Ya que esta opción deshabilita el uso del buffer al nivel de la API de flujos, se puede experimentar una bajada de rendimiento cuando se usan funciones de flujos sobre el flujo; esto es aceptable ya que se le tiene que indicar a los flujos que se usarán las funciones para comparar al implementación del flujo subyacente. Sólo use esta opción cuando esté seguro de que la necesita.

Old introduction
La API Zend: Hackeando el núcleo de PHP
Zend Engine 1


La API Zend: Hackeando el núcleo de PHP

Introduction

Those who know don't talk.

Those who talk don't know.

Sometimes, PHP "as is" simply isn't enough. Although these cases are rare for the average user, professional applications will soon lead PHP to the edge of its capabilities, in terms of either speed or functionality. New functionality cannot always be implemented natively due to language restrictions and inconveniences that arise when having to carry around a huge library of default code appended to every single script, so another method needs to be found for overcoming these eventual lacks in PHP.

As soon as this point is reached, it's time to touch the heart of PHP and take a look at its core, the C code that makes PHP go.

Advertencia

This information is currently rather outdated, parts of it only cover early stages of the ZendEngine 1.0 API as it was used in early versions of PHP 4.

More recent information may be found in the various README files that come with the PHP source and the » Internals section on the Zend website.

Overview

"Extending PHP" is easier said than done. PHP has evolved to a full-fledged tool consisting of a few megabytes of source code, and to hack a system like this quite a few things have to be learned and considered. When structuring this chapter, we finally decided on the "learn by doing" approach. This is not the most scientific and professional approach, but the method that's the most fun and gives the best end results. In the following sections, you'll learn quickly how to get the most basic extensions to work almost instantly. After that, you'll learn about Zend's advanced API functionality. The alternative would have been to try to impart the functionality, design, tips, tricks, etc. as a whole, all at once, thus giving a complete look at the big picture before doing anything practical. Although this is the "better" method, as no dirty hacks have to be made, it can be very frustrating as well as energy- and time-consuming, which is why we've decided on the direct approach.

Note that even though this chapter tries to impart as much knowledge as possible about the inner workings of PHP, it's impossible to really give a complete guide to extending PHP that works 100% of the time in all cases. PHP is such a huge and complex package that its inner workings can only be understood if you make yourself familiar with it by practicing, so we encourage you to work with the source.

What Is Zend? and What Is PHP?

The name Zend refers to the language engine, PHP's core. The term PHP refers to the complete system as it appears from the outside. This might sound a bit confusing at first, but it's not that complicated ( see below). To implement a Web script interpreter, you need three parts:

  1. The interpreter part analyzes the input code, translates it, and executes it.

  2. The functionality part implements the functionality of the language (its functions, etc.).

  3. The interface part talks to the Web server, etc.

Zend takes part 1 completely and a bit of part 2; PHP takes parts 2 and 3. Together they form the complete PHP package. Zend itself really forms only the language core, implementing PHP at its very basics with some predefined functions. PHP contains all the modules that actually create the language's outstanding capabilities.
The internal structure of PHP.

The following sections discuss where PHP can be extended and how it's done.

Extension Possibilities

As shown above, PHP can be extended primarily at three points: external modules, built-in modules, and the Zend engine. The following sections discuss these options.

External Modules

External modules can be loaded at script runtime using the function dl(). This function loads a shared object from disk and makes its functionality available to the script to which it's being bound. After the script is terminated, the external module is discarded from memory. This method has both advantages and disadvantages, as described in the following table:

Advantages | Disadvantages
External modules don't require recompiling of PHP. | The shared objects need to be loaded every time a script is being executed (every hit), which is very slow.
The size of PHP remains small by "outsourcing" certain functionality. | External additional files clutter up the disk.
 |  | Every script that wants to use an external module's functionality has to specifically include a call to dl(), or the extension tag in php.ini needs to be modified (which is not always a suitable solution).
To sum up, external modules are great for third-party products, small additions to PHP that are rarely used, or just for testing purposes. To develop additional functionality quickly, external modules provide the best results. For frequent usage, larger implementations, and complex code, the disadvantages outweigh the advantages.

Third parties might consider using the extension tag in php.ini to create additional external modules to PHP. These external modules are completely detached from the main package, which is a very handy feature in commercial environments. Commercial distributors can simply ship disks or archives containing only their additional modules, without the need to create fixed and solid PHP binaries that don't allow other modules to be bound to them.

Built-in Modules

Built-in modules are compiled directly into PHP and carried around with every PHP process; their functionality is instantly available to every script that's being run. Like external modules, built-in modules have advantages and disadvantages, as described in the following table:

Advantages | Disadvantages
No need to load the module specifically; the functionality is instantly available. | Changes to built-in modules require recompiling of PHP.
No external files clutter up the disk; everything resides in the PHP binary. | The PHP binary grows and consumes more memory.
Built-in modules are best when you have a solid library of functions that remains relatively unchanged, requires better than poor-to-average performance, or is used frequently by many scripts on your site. The need to recompile PHP is quickly compensated by the benefit in speed and ease of use. However, built-in modules are not ideal when rapid development of small additions is required.

The Zend Engine

Of course, extensions can also be implemented directly in the Zend engine. This strategy is good if you need a change in the language behavior or require special functions to be built directly into the language core. In general, however, modifications to the Zend engine should be avoided. Changes here result in incompatibilities with the rest of the world, and hardly anyone will ever adapt to specially patched Zend engines. Modifications can't be detached from the main PHP sources and are overridden with the next update using the "official" source repositories. Therefore, this method is generally considered bad practice and, due to its rarity, is not covered in this book.

Source Layout

Nota:

Prior to working through the rest of this chapter, you should retrieve clean, unmodified source trees of your favorite Web server. We're working with Apache (available at » http://httpd.apache.org/) and, of course, with PHP (available at » http://www.php.net/ - does it need to be said?).

Make sure that you can compile a working PHP environment by yourself! We won't go into this issue here, however, as you should already have this most basic ability when studying this chapter.

Before we start discussing code issues, you should familiarize yourself with the source tree to be able to quickly navigate through PHP's files. This is a must-have ability to implement and debug extensions.

The following table describes the contents of the major directories.

Directory | Contents
php-src | Main PHP source files and main header files; here you'll find all of PHP's API definitions, macros, etc. (important). Everything else is below this directory.
php-src/ext | Repository for dynamic and built-in modules; by default, these are the "official" PHP modules that have been integrated into the main source tree. From PHP 4.0, it's possible to compile these standard extensions as dynamic loadable modules (at least, those that support it).
php-src/main | This directory contains the main php macros and definitions. (important)
php-src/pear | Directory for the PHP Extension and Application Repository. This directory contains core PEAR files.
php-src/sapi | Contains the code for the different server abstraction layers.
TSRM | Location of the "Thread Safe Resource Manager" (TSRM) for Zend and PHP.
ZendEngine2 | Location of the Zend Engine files; here you'll find all of Zend's API definitions, macros, etc. (important).

Discussing all the files included in the PHP package is beyond the scope of this chapter. However, you should take a close look at the following files:

  • php-src/main/php.h, located in the main PHP directory. This file contains most of PHP's macro and API definitions.

  • php-src/Zend/zend.h, located in the main Zend directory. This file contains most of Zend's macros and definitions.

  • php-src/Zend/zend_API.h, also located in the Zend directory, which defines Zend's API.

You should also follow some sub-inclusions from these files; for example, the ones relating to the Zend executor, the PHP initialization file support, and such. After reading these files, take the time to navigate around the package a little to see the interdependencies of all files and modules - how they relate to each other and especially how they make use of each other. This also helps you to adapt to the coding style in which PHP is authored. To extend PHP, you should quickly adapt to this style.

Extension Conventions

Zend is built using certain conventions; to avoid breaking its standards, you should follow the rules described in the following sections.

Macros

For almost every important task, Zend ships predefined macros that are extremely handy. The tables and figures in the following sections describe most of the basic functions, structures, and macros. The macro definitions can be found mainly in zend.h and zend_API.h. We suggest that you take a close look at these files after having studied this chapter. (Although you can go ahead and read them now, not everything will make sense to you yet.)

Memory Management

Resource management is a crucial issue, especially in server software. One of the most valuable resources is memory, and memory management should be handled with extreme care. Memory management has been partially abstracted in Zend, and you should stick to this abstraction for obvious reasons: Due to the abstraction, Zend gets full control over all memory allocations. Zend is able to determine whether a block is in use, automatically freeing unused blocks and blocks with lost references, and thus prevent memory leaks. The functions to be used are described in the following table:

Function | Description
emalloc() | Serves as replacement for malloc().
efree() | Serves as replacement for free().
estrdup() | Serves as replacement for strdup().
estrndup() | Serves as replacement for strndup(). Faster than estrdup() and binary-safe. This is the recommended function to use if you know the string length prior to duplicating it.
ecalloc() | Serves as replacement for calloc().
erealloc() | Serves as replacement for realloc().
emalloc(), estrdup(), estrndup(), ecalloc(), and erealloc() allocate internal memory; efree() frees these previously allocated blocks. Memory handled by the e*() functions is considered local to the current process and is discarded as soon as the script executed by this process is terminated.
Advertencia

To allocate resident memory that survives termination of the current script, you can use malloc() and free(). This should only be done with extreme care, however, and only in conjunction with demands of the Zend API; otherwise, you risk memory leaks.

Zend also features a thread-safe resource manager to provide better native support for multithreaded Web servers. This requires you to allocate local structures for all of your global variables to allow concurrent threads to be run. Because the thread-safe mode of Zend was not finished back when this was written, it is not yet extensively covered here.

Directory and File Functions

The following directory and file functions should be used in Zend modules. They behave exactly like their C counterparts, but provide virtual working directory support on the thread level.

Zend Function | Regular C Function
V_GETCWD() | getcwd()
V_FOPEN() | fopen()
V_OPEN() | open()
V_CHDIR() | chdir()
V_GETWD() | getwd()
V_CHDIR_FILE() | Takes a file path as an argument and changes the current working directory to that file's directory.
V_STAT() | stat()
V_LSTAT() | lstat()

String Handling

Strings are handled a bit differently by the Zend engine than other values such as integers, Booleans, etc., which don't require additional memory allocation for storing their values. If you want to return a string from a function, introduce a new string variable to the symbol table, or do something similar, you have to make sure that the memory the string will be occupying has previously been allocated, using the aforementioned e*() functions for allocation. (This might not make much sense to you yet; just keep it somewhere in your head for now - we'll get back to it shortly.)

Complex Types

Complex types such as arrays and objects require different treatment. Zend features a single API for these types - they're stored using hash tables.

Nota:

To reduce complexity in the following source examples, we're only working with simple types such as integers at first. A discussion about creating more advanced types follows later in this chapter.

PHP's Automatic Build System

PHP 4 features an automatic build system that's very flexible. All modules reside in a subdirectory of the ext directory. In addition to its own sources, each module consists of a config.m4 file, for extension configuration. (for example, see » http://www.gnu.org/software/m4/)

All these stub files are generated automatically, along with .cvsignore, by a little shell script named ext_skel that resides in the ext directory. As argument it takes the name of the module that you want to create. The shell script then creates a directory of the same name, along with the appropriate stub files.

Step by step, the process looks like this:

:~/cvs/php4/ext:> ./ext_skel --extname=my_module
Creating directory my_module
Creating basic files: config.m4 .cvsignore my_module.c php_my_module.h CREDITS EXPERIMENTAL tests/001.phpt my_module.php [done].

To use your new extension, you will have to execute the following steps:

1.  $ cd ..
2.  $ vi ext/my_module/config.m4
3.  $ ./buildconf
4.  $ ./configure --[with|enable]-my_module
5.  $ make
6.  $ ./php -f ext/my_module/my_module.php
7.  $ vi ext/my_module/my_module.c
8.  $ make

Repeat steps 3-6 until you are satisfied with ext/my_module/config.m4 and
step 6 confirms that your module is compiled into PHP. Then, start writing
code and repeat the last two steps as often as necessary.
This instruction creates the aforementioned files. To include the new module in the automatic configuration and build process, you have to run buildconf, which regenerates the configure script by searching through the ext directory and including all found config.m4 files.

The default config.m4 shown in The default config.m4. is a bit more complex:

Ejemplo #1 The default config.m4.

dnl $Id: build.xml 297078 2010-03-29 16:25:51Z degeberg $
dnl config.m4 for extension my_module

dnl Comments in this file start with the string 'dnl'.
dnl Remove where necessary. This file will not work
dnl without editing.

dnl If your extension references something external, use with:

dnl PHP_ARG_WITH(my_module, for my_module support,
dnl Make sure that the comment is aligned:
dnl [  --with-my_module             Include my_module support])

dnl Otherwise use enable:

dnl PHP_ARG_ENABLE(my_module, whether to enable my_module support,
dnl Make sure that the comment is aligned:
dnl [  --enable-my_module           Enable my_module support])

if test "$PHP_MY_MODULE" != "no"; then
  dnl Write more examples of tests here...

  dnl # --with-my_module -> check with-path
  dnl SEARCH_PATH="/usr/local /usr"     # you might want to change this
  dnl SEARCH_FOR="/include/my_module.h"  # you most likely want to change this
  dnl if test -r $PHP_MY_MODULE/; then # path given as parameter
  dnl   MY_MODULE_DIR=$PHP_MY_MODULE
  dnl else # search default path list
  dnl   AC_MSG_CHECKING([for my_module files in default path])
  dnl   for i in $SEARCH_PATH ; do
  dnl     if test -r $i/$SEARCH_FOR; then
  dnl       MY_MODULE_DIR=$i
  dnl       AC_MSG_RESULT(found in $i)
  dnl     fi
  dnl   done
  dnl fi
  dnl
  dnl if test -z "$MY_MODULE_DIR"; then
  dnl   AC_MSG_RESULT([not found])
  dnl   AC_MSG_ERROR([Please reinstall the my_module distribution])
  dnl fi

  dnl # --with-my_module -> add include path
  dnl PHP_ADD_INCLUDE($MY_MODULE_DIR/include)

  dnl # --with-my_module -> chech for lib and symbol presence
  dnl LIBNAME=my_module # you may want to change this
  dnl LIBSYMBOL=my_module # you most likely want to change this

  dnl PHP_CHECK_LIBRARY($LIBNAME,$LIBSYMBOL,
  dnl [
  dnl   PHP_ADD_LIBRARY_WITH_PATH($LIBNAME, $MY_MODULE_DIR/lib, MY_MODULE_SHARED_LIBADD)
  dnl   AC_DEFINE(HAVE_MY_MODULELIB,1,[ ])
  dnl ],[
  dnl   AC_MSG_ERROR([wrong my_module lib version or lib not found])
  dnl ],[
  dnl   -L$MY_MODULE_DIR/lib -lm -ldl
  dnl ])
  dnl
  dnl PHP_SUBST(MY_MODULE_SHARED_LIBADD)

  PHP_NEW_EXTENSION(my_module, my_module.c, $ext_shared)
fi

If you're unfamiliar with M4 files (now is certainly a good time to get familiar), this might be a bit confusing at first; but it's actually quite easy.

Note: Everything prefixed with dnl is treated as a comment and is not parsed.

The config.m4 file is responsible for parsing the command-line options passed to configure at configuration time. This means that it has to check for required external files and do similar configuration and setup tasks.

The default file creates two configuration directives in the configure script: --with-my_module and --enable-my_module. Use the first option when referring external files (such as the --with-apache directive that refers to the Apache directory). Use the second option when the user simply has to decide whether to enable your extension. Regardless of which option you use, you should uncomment the other, unnecessary one; that is, if you're using --enable-my_module, you should remove support for --with-my_module, and vice versa.

By default, the config.m4 file created by ext_skel accepts both directives and automatically enables your extension. Enabling the extension is done by using the PHP_EXTENSION macro. To change the default behavior to include your module into the PHP binary when desired by the user (by explicitly specifying --enable-my_module or --with-my_module), change the test for $PHP_MY_MODULE to == "yes":

if test "$PHP_MY_MODULE" == "yes"; then dnl
    Action.. PHP_EXTENSION(my_module, $ext_shared)
    fi
This would require you to use --enable-my_module each time when reconfiguring and recompiling PHP.

Note: Be sure to run buildconf every time you change config.m4!

We'll go into more details on the M4 macros available to your configuration scripts later in this chapter. For now, we'll simply use the default files.

Creating Extensions

We'll start with the creation of a very simple extension at first, which basically does nothing more than implement a function that returns the integer it receives as parameter. A simple extension. shows the source.

Ejemplo #2 A simple extension.

/* include standard header */
#include "php.h"

/* declaration of functions to be exported */
ZEND_FUNCTION(first_module);

/* compiled function list so Zend knows what's in this module */
zend_function_entry firstmod_functions[] =
{
    ZEND_FE(first_module, NULL)
    {NULL, NULL, NULL}
};

/* compiled module information */
zend_module_entry firstmod_module_entry =
{
    STANDARD_MODULE_HEADER,
    "First Module",
    firstmod_functions,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NO_VERSION_YET,
    STANDARD_MODULE_PROPERTIES
};

/* implement standard "stub" routine to introduce ourselves to Zend */
#if COMPILE_DL_FIRST_MODULE
ZEND_GET_MODULE(firstmod)
#endif

/* implement function that is meant to be made available to PHP */
ZEND_FUNCTION(first_module)
{
    long parameter;

    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &parameter) == FAILURE) {
        return;
    }

    RETURN_LONG(parameter);
}

This code contains a complete PHP module. We'll explain the source code in detail shortly, but first we'd like to discuss the build process. (This will allow the impatient to experiment before we dive into API discussions.)

Nota:

The example source makes use of some features introduced with the Zend version used in PHP 4.1.0 and above, it won't compile with older PHP 4.0.x versions.

Compiling Modules

There are basically two ways to compile modules:

  • Use the provided "make" mechanism in the ext directory, which also allows building of dynamic loadable modules.

  • Compile the sources manually.

The first method should definitely be favored, since, as of PHP 4.0, this has been standardized into a sophisticated build process. The fact that it is so sophisticated is also its drawback, unfortunately - it's hard to understand at first. We'll provide a more detailed introduction to this later in the chapter, but first let's work with the default files.

The second method is good for those who (for some reason) don't have the full PHP source tree available, don't have access to all files, or just like to juggle with their keyboard. These cases should be extremely rare, but for the sake of completeness we'll also describe this method.

Compiling Using Make

To compile the sample sources using the standard mechanism, copy all their subdirectories to the ext directory of your PHP source tree. Then run buildconf, which will create an updated configure script containing appropriate options for the new extension. By default, all the sample sources are disabled, so you don't have to fear breaking your build process.

After you run buildconf, configure --help shows the following additional modules:

  --enable-array_experiments   BOOK: Enables array experiments
  --enable-call_userland       BOOK: Enables userland module
  --enable-cross_conversion    BOOK: Enables cross-conversion module
  --enable-first_module        BOOK: Enables first module
  --enable-infoprint           BOOK: Enables infoprint module
  --enable-reference_test      BOOK: Enables reference test module
  --enable-resource_test       BOOK: Enables resource test module
  --enable-variable_creation   BOOK: Enables variable-creation module

The module shown earlier in A simple extension. can be enabled with --enable-first_module or --enable-first_module=yes.

Compiling Manually

To compile your modules manually, you need the following commands:

Action | Command
Compiling | cc -fpic -DCOMPILE_DL_FIRST_MODULE=1 -I/usr/local/include -I. -I.. -I../Zend -c -o <your_object_file> <your_c_file>
Linking | cc -shared -L/usr/local/lib -rdynamic -o <your_module_file> <your_object_file(s)>
The command to compile the module simply instructs the compiler to generate position-independent code (-fpic shouldn't be omitted) and additionally defines the constant COMPILE_DL_FIRST_MODULE to tell the module code that it's compiled as a dynamically loadable module (the test module above checks for this; we'll discuss it shortly). After these options, it specifies a number of standard include paths that should be used as the minimal set to compile the source files.

Note: All include paths in the example are relative to the directory ext. If you're compiling from another directory, change the pathnames accordingly. Required items are the PHP directory, the Zend directory, and (if necessary), the directory in which your module resides.

The link command is also a plain vanilla command instructing linkage as a dynamic module.

You can include optimization options in the compilation command, although these have been omitted in this example (but some are included in the makefile template described in an earlier section).

Note: Compiling and linking manually as a static module into the PHP binary involves very long instructions and thus is not discussed here. (It's not very efficient to type all those commands.)

Using Extensions

Depending on the build process you selected, you should either end up with a new PHP binary to be linked into your Web server (or run as CGI), or with an .so (shared object) file. If you compiled the example file first_module.c as a shared object, your result file should be first_module.so. To use it, you first have to copy it to a place from which it's accessible to PHP. For a simple test procedure, you can copy it to your htdocs directory and try it with the source in A test file for first_module.so.. If you compiled it into the PHP binary, omit the call to dl(), as the module's functionality is instantly available to your scripts.

Advertencia

For security reasons, you should not put your dynamic modules into publicly accessible directories. Even though it can be done and it simplifies testing, you should put them into a separate directory in production environments.

Ejemplo #3 A test file for first_module.so.

<?php

// remove next comment if necessary
// dl("first_module.so");

$param = 2;
$return = first_module($param);

print("We sent '$param' and got '$return'");

?>

Calling this PHP file should output the following:

We sent '2' and got '2'

If required, the dynamic loadable module is loaded by calling the dl() function. This function looks for the specified shared object, loads it, and makes its functions available to PHP. The module exports the function first_module(), which accepts a single parameter, converts it to an integer, and returns the result of the conversion.

If you've gotten this far, congratulations! You just built your first extension to PHP.

Troubleshooting

Actually, not much troubleshooting can be done when compiling static or dynamic modules. The only problem that could arise is that the compiler will complain about missing definitions or something similar. In this case, make sure that all header files are available and that you specified their path correctly in the compilation command. To be sure that everything is located correctly, extract a clean PHP source tree and use the automatic build in the ext directory with the fresh files; this will guarantee a safe compilation environment. If this fails, try manual compilation.

PHP might also complain about missing functions in your module. (This shouldn't happen with the sample sources if you didn't modify them.) If the names of external functions you're trying to access from your module are misspelled, they'll remain as "unlinked symbols" in the symbol table. During dynamic loading and linkage by PHP, they won't resolve because of the typing errors - there are no corresponding symbols in the main binary. Look for incorrect declarations in your module file or incorrectly written external references. Note that this problem is specific to dynamic loadable modules; it doesn't occur with static modules. Errors in static modules show up at compile time.

Source Discussion

Now that you've got a safe build environment and you're able to include the modules into PHP files, it's time to discuss how everything works.

Module Structure

All PHP modules follow a common structure:

  • Header file inclusions (to include all required macros, API definitions, etc.)

  • C declaration of exported functions (required to declare the Zend function block)

  • Declaration of the Zend function block

  • Declaration of the Zend module block

  • Implementation of get_module()

  • Implementation of all exported functions

Header File Inclusions

The only header file you really have to include for your modules is php.h, located in the PHP directory. This file makes all macros and API definitions required to build new modules available to your code.

Tip: It's good practice to create a separate header file for your module that contains module-specific definitions. This header file should contain all the forward definitions for exported functions and include php.h. If you created your module using ext_skel you already have such a header file prepared.

Declaring Exported Functions

To declare functions that are to be exported (i.e., made available to PHP as new native functions), Zend provides a set of macros. A sample declaration looks like this:

ZEND_FUNCTION ( my_function );

ZEND_FUNCTION declares a new C function that complies with Zend's internal API. This means that the function is of type void and accepts INTERNAL_FUNCTION_PARAMETERS (another macro) as parameters. Additionally, it prefixes the function name with zif. The immediately expanded version of the above definitions would look like this:

void zif_my_function ( INTERNAL_FUNCTION_PARAMETERS );
Expanding INTERNAL_FUNCTION_PARAMETERS results in the following:
void zif_my_function( int ht
                    , zval * return_value
                    , zval * this_ptr
                    , int return_value_used
                    , zend_executor_globals * executor_globals
                    );

Since the interpreter and executor core have been separated from the main PHP package, a second API defining macros and function sets has evolved: the Zend API. As the Zend API now handles quite a few of the responsibilities that previously belonged to PHP, a lot of PHP functions have been reduced to macros aliasing to calls into the Zend API. The recommended practice is to use the Zend API wherever possible, as the old API is only preserved for compatibility reasons. For example, the types zval and pval are identical. zval is Zend's definition; pval is PHP's definition (actually, pval is an alias for zval now). As the macro INTERNAL_FUNCTION_PARAMETERS is a Zend macro, the above declaration contains zval. When writing code, you should always use zval to conform to the new Zend API.

The parameter list of this declaration is very important; you should keep these parameters in mind (see Zend's Parameters to Functions Called from PHP for descriptions).

Zend's Parameters to Functions Called from PHP
Parameter | Description
ht | The number of arguments passed to the Zend function. You should not touch this directly, but instead use ZEND_NUM_ARGS() to obtain the value.
return_value | This variable is used to pass any return values of your function back to PHP. Access to this variable is best done using the predefined macros. For a description of these see below.
this_ptr | Using this variable, you can gain access to the object in which your function is contained, if it's used within an object. Use the function getThis() to obtain this pointer.
return_value_used | This flag indicates whether an eventual return value from this function will actually be used by the calling script. 0 indicates that the return value is not used; 1 indicates that the caller expects a return value. Evaluation of this flag can be done to verify correct usage of the function as well as speed optimizations in case returning a value requires expensive operations (for an example, see how array.c makes use of this).
executor_globals | This variable points to global settings of the Zend engine. You'll find this useful when creating new variables, for example (more about this later). The executor globals can also be introduced to your function by using the macro TSRMLS_FETCH().

Declaration of the Zend Function Block

Now that you have declared the functions to be exported, you also have to introduce them to Zend. Introducing the list of functions is done by using an array of zend_function_entry. This array consecutively contains all functions that are to be made available externally, with the function's name as it should appear in PHP and its name as defined in the C source. Internally, zend_function_entry is defined as shown in Internal declaration of zend_function_entry..

Ejemplo #4 Internal declaration of zend_function_entry.

typedef struct _zend_function_entry {
    char *fname;
    void (*handler)(INTERNAL_FUNCTION_PARAMETERS);
    unsigned char *func_arg_types;
} zend_function_entry;
Entry | Description
fname | Denotes the function name as seen in PHP (for example, fopen, mysql_connect, or, in our example, first_module).
handler | Pointer to the C function responsible for handling calls to this function. For example, see the standard macro INTERNAL_FUNCTION_PARAMETERS discussed earlier.
func_arg_types | Allows you to mark certain parameters so that they're forced to be passed by reference. You usually should set this to NULL.
In the example above, the declaration looks like this:
zend_function_entry firstmod_functions[] =
{
    ZEND_FE(first_module, NULL)
    {NULL, NULL, NULL}
};
You can see that the last entry in the list always has to be {NULL, NULL, NULL}. This marker has to be set for Zend to know when the end of the list of exported functions is reached.

Nota:

You cannot use the predefined macros for the end marker, as these would try to refer to a function named "NULL"!

The macro ZEND_FE (short for 'Zend Function Entry') simply expands to a structure entry in zend_function_entry. Note that these macros introduce a special naming scheme to your functions - your C functions will be prefixed with zif_, meaning that ZEND_FE(first_module) will refer to a C function zif_first_module(). If you want to mix macro usage with hand-coded entries (not a good practice), keep this in mind.

Tip: Compilation errors that refer to functions named zif_*() relate to functions defined with ZEND_FE.

Macros for Defining Functions shows a list of all the macros that you can use to define functions.

Macros for Defining Functions
Macro Name | Description
ZEND_FE(name, arg_types) | Defines a function entry of the name name in zend_function_entry. Requires a corresponding C function. arg_types needs to be set to NULL. This function uses automatic C function name generation by prefixing the PHP function name with zif_. For example, ZEND_FE("first_module", NULL) introduces a function first_module() to PHP and links it to the C function zif_first_module(). Use in conjunction with ZEND_FUNCTION.
ZEND_NAMED_FE(php_name, name, arg_types) | Defines a function that will be available to PHP by the name php_name and links it to the corresponding C function name. arg_types needs to be set to NULL. Use this function if you don't want the automatic name prefixing introduced by ZEND_FE. Use in conjunction with ZEND_NAMED_FUNCTION.
ZEND_FALIAS(name, alias, arg_types) | Defines an alias named alias for name. arg_types needs to be set to NULL. Doesn't require a corresponding C function; refers to the alias target instead.
PHP_FE(name, arg_types) | Old PHP API equivalent of ZEND_FE.
PHP_NAMED_FE(runtime_name, name, arg_types) | Old PHP API equivalent of ZEND_NAMED_FE.

Note: You can't use ZEND_FE in conjunction with PHP_FUNCTION, or PHP_FE in conjunction with ZEND_FUNCTION. However, it's perfectly legal to mix ZEND_FE and ZEND_FUNCTION with PHP_FE and PHP_FUNCTION when staying with the same macro set for each function to be declared. But mixing is not recommended; instead, you're advised to use the ZEND_* macros only.

Declaration of the Zend Module Block

This block is stored in the structure zend_module_entry and contains all necessary information to describe the contents of this module to Zend. You can see the internal definition of this module in Internal declaration of zend_module_entry..

Ejemplo #5 Internal declaration of zend_module_entry.

typedef struct _zend_module_entry zend_module_entry;

    struct _zend_module_entry {
    unsigned short size;
    unsigned int zend_api;
    unsigned char zend_debug;
    unsigned char zts;
    char *name;
    zend_function_entry *functions;
    int (*module_startup_func)(INIT_FUNC_ARGS);
    int (*module_shutdown_func)(SHUTDOWN_FUNC_ARGS);
    int (*request_startup_func)(INIT_FUNC_ARGS);
    int (*request_shutdown_func)(SHUTDOWN_FUNC_ARGS);
    void (*info_func)(ZEND_MODULE_INFO_FUNC_ARGS);
    char *version;

[ Rest of the structure is not interesting here ]

};
Entry | Description
size, zend_api, zend_debug and zts | Usually filled with the "STANDARD_MODULE_HEADER", which fills these four members with the size of the whole zend_module_entry, the ZEND_MODULE_API_NO, whether it is a debug build or normal build (ZEND_DEBUG) and if ZTS is enabled (USING_ZTS).
name | Contains the module name (for example, "File functions", "Socket functions", "Crypt", etc.). This name will show up in phpinfo(), in the section "Additional Modules."
functions | Points to the Zend function block, discussed in the preceding section.
module_startup_func | This function is called once upon module initialization and can be used to do one-time initialization steps (such as initial memory allocation, etc.). To indicate a failure during initialization, return FAILURE; otherwise, SUCCESS. To mark this field as unused, use NULL. To declare a function, use the macro ZEND_MINIT.
module_shutdown_func | This function is called once upon module shutdown and can be used to do one-time deinitialization steps (such as memory deallocation). This is the counterpart to module_startup_func(). To indicate a failure during deinitialization, return FAILURE; otherwise, SUCCESS. To mark this field as unused, use NULL. To declare a function, use the macro ZEND_MSHUTDOWN.
request_startup_func | This function is called once upon every page request and can be used to do one-time initialization steps that are required to process a request. To indicate a failure here, return FAILURE; otherwise, SUCCESS. Note: As dynamic loadable modules are loaded only on page requests, the request startup function is called right after the module startup function (both initialization events happen at the same time). To mark this field as unused, use NULL. To declare a function, use the macro ZEND_RINIT.
request_shutdown_func | This function is called once after every page request and works as counterpart to request_startup_func(). To indicate a failure here, return FAILURE; otherwise, SUCCESS. Note: As dynamic loadable modules are loaded only on page requests, the request shutdown function is immediately followed by a call to the module shutdown handler (both deinitialization events happen at the same time). To mark this field as unused, use NULL. To declare a function, use the macro ZEND_RSHUTDOWN.
info_func | When phpinfo() is called in a script, Zend cycles through all loaded modules and calls this function. Every module then has the chance to print its own "footprint" into the output page. Generally this is used to dump environmental or statistical information. To mark this field as unused, use NULL. To declare a function, use the macro ZEND_MINFO.
version | The version of the module. You can use NO_VERSION_YET if you don't want to give the module a version number yet, but we really recommend that you add a version string here. Such a version string can look like this (in chronological order): "2.5-dev", "2.5RC1", "2.5" or "2.5pl3".
Remaining structure elements | These are used internally and can be prefilled by using the macro STANDARD_MODULE_PROPERTIES_EX. You should not assign any values to them. Use STANDARD_MODULE_PROPERTIES_EX only if you use global startup and shutdown functions; otherwise, use STANDARD_MODULE_PROPERTIES directly.

In our example, this structure is implemented as follows:

zend_module_entry firstmod_module_entry =
{
    STANDARD_MODULE_HEADER,
    "First Module",
    firstmod_functions,
    NULL, NULL, NULL, NULL, NULL,
    NO_VERSION_YET,
    STANDARD_MODULE_PROPERTIES,
};
This is basically the easiest and most minimal set of values you could ever use. The module name is set to First Module, then the function list is referenced, after which all startup and shutdown functions are marked as being unused.

For reference purposes, you can find a list of the macros involved in declared startup and shutdown functions in Macros to Declare Startup and Shutdown Functions. These are not used in our basic example yet, but will be demonstrated later on. You should make use of these macros to declare your startup and shutdown functions, as these require special arguments to be passed (INIT_FUNC_ARGS and SHUTDOWN_FUNC_ARGS), which are automatically included into the function declaration when using the predefined macros. If you declare your functions manually and the PHP developers decide that a change in the argument list is necessary, you'll have to change your module sources to remain compatible.

Macros to Declare Startup and Shutdown Functions
Macro | Description
ZEND_MINIT(module) | Declares a function for module startup. The generated name will be zend_minit_<module> (for example, zend_minit_first_module). Use in conjunction with ZEND_MINIT_FUNCTION.
ZEND_MSHUTDOWN(module) | Declares a function for module shutdown. The generated name will be zend_mshutdown_<module> (for example, zend_mshutdown_first_module). Use in conjunction with ZEND_MSHUTDOWN_FUNCTION.
ZEND_RINIT(module) | Declares a function for request startup. The generated name will be zend_rinit_<module> (for example, zend_rinit_first_module). Use in conjunction with ZEND_RINIT_FUNCTION.
ZEND_RSHUTDOWN(module) | Declares a function for request shutdown. The generated name will be zend_rshutdown_<module> (for example, zend_rshutdown_first_module). Use in conjunction with ZEND_RSHUTDOWN_FUNCTION.
ZEND_MINFO(module) | Declares a function for printing module information, used when phpinfo() is called. The generated name will be zend_info_<module> (for example, zend_info_first_module). Use in conjunction with ZEND_MINFO_FUNCTION.

Creation of get_module()

This function is special to all dynamic loadable modules. Take a look at the creation via the ZEND_GET_MODULE macro first:

#if COMPILE_DL_FIRSTMOD
     ZEND_GET_MODULE(firstmod)
#endif

The function implementation is surrounded by a conditional compilation statement. This is needed since the function get_module() is only required if your module is built as a dynamic extension. By specifying a definition of COMPILE_DL_FIRSTMOD in the compiler command (see above for a discussion of the compilation instructions required to build a dynamic extension), you can instruct your module whether you intend to build it as a dynamic extension or as a built-in module. If you want a built-in module, the implementation of get_module() is simply left out.

get_module() is called by Zend at load time of the module. You can think of it as being invoked by the dl() call in your script. Its purpose is to pass the module information block back to Zend in order to inform the engine about the module contents.

If you don't implement a get_module() function in your dynamic loadable module, Zend will compliment you with an error message when trying to access it.

Implementation of All Exported Functions

Implementing the exported functions is the final step. The example function in first_module looks like this:

ZEND_FUNCTION(first_module)
{
    long parameter;

    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &parameter) == FAILURE) {
        return;
    }

    RETURN_LONG(parameter);
}
The function declaration is done using ZEND_FUNCTION, which corresponds to ZEND_FE in the function entry table (discussed earlier).

After the declaration, code for checking and retrieving the function's arguments, argument conversion, and return value generation follows (more on this later).

Summary

That's it, basically - there's nothing more to implementing PHP modules. Built-in modules are structured similarly to dynamic modules, so, equipped with the information presented in the previous sections, you'll be able to fight the odds when encountering PHP module source files.

Now, in the following sections, read on about how to make use of PHP's internals to build powerful extensions.

Accepting Arguments

One of the most important issues for language extensions is accepting and dealing with data passed via arguments. Most extensions are built to deal with specific input data (or require parameters to perform their specific actions), and function arguments are the only real way to exchange data between the PHP level and the C level. Of course, there's also the possibility of exchanging data using predefined global values (which is also discussed later), but this should be avoided by all means, as it's extremely bad practice.

PHP doesn't make use of any formal function declarations; this is why call syntax is always completely dynamic and never checked for errors. Checking for correct call syntax is left to the user code. For example, it's possible to call a function using only one argument at one time and four arguments the next time - both invocations are syntactically absolutely correct.

Determining the Number of Arguments

Since PHP doesn't have formal function definitions with support for call syntax checking, and since PHP features variable arguments, sometimes you need to find out with how many arguments your function has been called. You can use the ZEND_NUM_ARGS macro in this case. In previous versions of PHP, this macro retrieved the number of arguments with which the function has been called based on the function's hash table entry, ht, which is passed in the INTERNAL_FUNCTION_PARAMETERS list. As ht itself now contains the number of arguments that have been passed to the function, ZEND_NUM_ARGS has been stripped down to a dummy macro (see its definition in zend_API.h). But it's still good practice to use it, to remain compatible with future changes in the call interface. Note: The old PHP equivalent of this macro is ARG_COUNT.

The following code checks for the correct number of arguments:

if(ZEND_NUM_ARGS() != 2) WRONG_PARAM_COUNT;
If the function is not called with two arguments, it exits with an error message. The code snippet above makes use of the tool macro WRONG_PARAM_COUNT, which can be used to generate a standard error message like:
"Warning: Wrong parameter count for firstmodule() in /home/www/htdocs/firstmod.php on line 5"

This macro prints a default error message and then returns to the caller. Its definition can also be found in zend_API.h and looks like this:

ZEND_API void wrong_param_count(void);

#define WRONG_PARAM_COUNT { wrong_param_count(); return; }
As you can see, it calls an internal function named wrong_param_count() that's responsible for printing the warning. For details on generating customized error messages, see the later section "Printing Information."

Retrieving Arguments

Nota: New parameter parsing API

This chapter documents the new Zend parameter parsing API introduced by Andrei Zmievski. It was introduced in the development stage between PHP 4.0.6 and 4.1.0.

Parsing parameters is a very common operation and it may get a bit tedious. It would also be nice to have standardized error checking and error messages. Since PHP 4.1.0, there is a way to do just that by using the new parameter parsing API. It greatly simplifies the process of receiving parameters, but it has a drawback in that it can't be used for functions that expect variable number of parameters. But since the vast majority of functions do not fall into those categories, this parsing API is recommended as the new standard way.

The prototype for parameter parsing function looks like this:

int zend_parse_parameters(int num_args TSRMLS_DC, char *type_spec, ...);
The first argument to this function is supposed to be the number of actual parameters passed to your function, so ZEND_NUM_ARGS() can be used for that. The second parameter should always be TSRMLS_CC macro. The third argument is a string that specifies the number and types of arguments your function is expecting, similar to how printf format string specifies the number and format of the output values it should operate on. And finally the rest of the arguments are pointers to variables which should receive the values from the parameters.

zend_parse_parameters() also performs type conversions whenever possible, so that you always receive the data in the format you asked for. Any type of scalar can be converted to another one, but conversions between complex types (arrays, objects, and resources) and scalar types are not allowed.

If the parameters could be obtained successfully and there were no errors during type conversion, the function will return SUCCESS, otherwise it will return FAILURE. The function will output informative error messages, if the number of received parameters does not match the requested number, or if type conversion could not be performed.

Here are some sample error messages:

Warning - ini_get_all() requires at most 1 parameter, 2 given
Warning - wddx_deserialize() expects parameter 1 to be string, array given
Of course each error message is accompanied by the filename and line number on which it occurs.

Here is the full list of type specifiers:

  • l - long

  • d - double

  • s - string (with possible null bytes) and its length

  • b - boolean

  • r - resource, stored in zval*

  • a - array, stored in zval*

  • o - object (of any class), stored in zval*

  • O - object (of class specified by class entry), stored in zval*

  • z - the actual zval*

The following characters also have a meaning in the specifier string:

  • | - indicates that the remaining parameters are optional. The storage variables corresponding to these parameters should be initialized to default values by the extension, since they will not be touched by the parsing function if the parameters are not passed.

  • / - the parsing function will call SEPARATE_ZVAL_IF_NOT_REF() on the parameter it follows, to provide a copy of the parameter, unless it's a reference.

  • ! - the parameter it follows can be of specified type or NULL (only applies to a, o, O, r, and z). If NULL value is passed by the user, the storage pointer will be set to NULL.

The best way to illustrate the usage of this function is through examples:

/* Gets a long, a string and its length, and a zval. */
long l;
char *s;
int s_len;
zval *param;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
                          "lsz", &l, &s, &s_len, &param) == FAILURE) {
    return;
}

/* Gets an object of class specified by my_ce, and an optional double. */
zval *obj;
double d = 0.5;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
                          "O|d", &obj, my_ce, &d) == FAILURE) {
    return;
}

/* Gets an object or null, and an array.
   If null is passed for object, obj will be set to NULL. */
zval *obj;
zval *arr;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O!a", &obj, &arr) == FAILURE) {
    return;
}

/* Gets a separated array. */
zval *arr;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a/", &arr) == FAILURE) {
    return;
}

/* Get only the first three parameters (useful for varargs functions). */
zval *z;
zend_bool b;
zval *r;
if (zend_parse_parameters(3, "zbr!", &z, &b, &r) == FAILURE) {
    return;
}

Note that in the last example we pass 3 for the number of received parameters, instead of ZEND_NUM_ARGS(). What this lets us do is receive the least number of parameters if our function expects a variable number of them. Of course, if you want to operate on the rest of the parameters, you will have to use zend_get_parameters_array_ex() to obtain them.

The parsing function has an extended version that allows for an additional flags argument that controls its actions.

int zend_parse_parameters_ex(int flags, int num_args TSRMLS_DC, char *type_spec, ...);

The only flag you can pass currently is ZEND_PARSE_PARAMS_QUIET, which instructs the function to not output any error messages during its operation. This is useful for functions that expect several sets of completely different arguments, but you will have to output your own error messages.

For example, here is how you would get either a set of three longs or a string:

long l1, l2, l3;
char *s;
if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET,
                             ZEND_NUM_ARGS() TSRMLS_CC,
                             "lll", &l1, &l2, &l3) == SUCCESS) {
    /* manipulate longs */
} else if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET,
                                    ZEND_NUM_ARGS(), "s", &s, &s_len) == SUCCESS) {
    /* manipulate string */
} else {
    php_error(E_WARNING, "%s() takes either three long values or a string as argument",
              get_active_function_name(TSRMLS_C));
    return;
}

With all the abovementioned ways of receiving function parameters you should have a good handle on this process. For even more example, look through the source code for extensions that are shipped with PHP - they illustrate every conceivable situation.

Old way of retrieving arguments (deprecated)

Nota: Deprecated parameter parsing API

This API is deprecated and superseded by the new ZEND parameter parsing API.

After having checked the number of arguments, you need to get access to the arguments themselves. This is done with the help of zend_get_parameters_ex():

zval **parameter;

if(zend_get_parameters_ex(1, &parameter) != SUCCESS)
  WRONG_PARAM_COUNT;
All arguments are stored in a zval container, which needs to be pointed to twice. The snippet above tries to retrieve one argument and make it available to us via the parameter pointer.

zend_get_parameters_ex() accepts at least two arguments. The first argument is the number of arguments to retrieve (which should match the number of arguments with which the function has been called; this is why it's important to check for correct call syntax). The second argument (and all following arguments) are pointers to pointers to pointers to zvals. (Confusing, isn't it?) All these pointers are required because Zend works internally with **zval; to adjust a local **zval in our function, zend_get_parameters_ex() requires a pointer to it.

The return value of zend_get_parameters_ex() can either be SUCCESS or FAILURE, indicating (unsurprisingly) success or failure of the argument processing. A failure is most likely related to an incorrect number of arguments being specified, in which case you should exit with WRONG_PARAM_COUNT.

To retrieve more than one argument, you can use a similar snippet:

zval **param1, **param2, **param3, **param4;

if(zend_get_parameters_ex(4, &param1, &param2, &param3, &param4) != SUCCESS)
    WRONG_PARAM_COUNT;

zend_get_parameters_ex() only checks whether you're trying to retrieve too many parameters. If the function is called with five arguments, but you're only retrieving three of them with zend_get_parameters_ex(), you won't get an error but will get the first three parameters instead. Subsequent calls of zend_get_parameters_ex() won't retrieve the remaining arguments, but will get the same arguments again.

Dealing with a Variable Number of Arguments/Optional Parameters

If your function is meant to accept a variable number of arguments, the snippets just described are sometimes suboptimal solutions. You have to create a line calling zend_get_parameters_ex() for every possible number of arguments, which is often unsatisfying.

For this case, you can use the function zend_get_parameters_array_ex(), which accepts the number of parameters to retrieve and an array in which to store them:

zval **parameter_array[4];

/* get the number of arguments */
argument_count = ZEND_NUM_ARGS();

/* see if it satisfies our minimal request (2 arguments) */
/* and our maximal acceptance (4 arguments) */
if(argument_count < 2 || argument_count > 4)
    WRONG_PARAM_COUNT;

/* argument count is correct, now retrieve arguments */
if(zend_get_parameters_array_ex(argument_count, parameter_array) != SUCCESS)
    WRONG_PARAM_COUNT;
First, the number of arguments is checked to make sure that it's in the accepted range. After that, zend_get_parameters_array_ex() is used to fill parameter_array with valid pointers to the argument values.

A very clever implementation of this can be found in the code handling PHP's fsockopen() located in ext/standard/fsock.c, as shown in PHP's implementation of variable arguments in fsockopen().. Don't worry if you don't know all the functions used in this source yet; we'll get to them shortly.

Ejemplo #6 PHP's implementation of variable arguments in fsockopen().

pval **args[5];
int *sock=emalloc(sizeof(int));
int *sockp;
int arg_count=ARG_COUNT(ht);
int socketd = -1;
unsigned char udp = 0;
struct timeval timeout = { 60, 0 };
unsigned short portno;
unsigned long conv;
char *key = NULL;
FLS_FETCH();

if (arg_count > 5 || arg_count < 2 || zend_get_parameters_array_ex(arg_count,args)==FAILURE) {
    CLOSE_SOCK(1);
    WRONG_PARAM_COUNT;
}

switch(arg_count) {
    case 5:
        convert_to_double_ex(args[4]);
        conv = (unsigned long) (Z_DVAL_PP(args[4]) * 1000000.0);
        timeout.tv_sec = conv / 1000000;
        timeout.tv_usec = conv % 1000000;
        /* fall-through */
    case 4:
        if (!PZVAL_IS_REF(*args[3])) {
            php_error(E_WARNING,"error string argument to fsockopen not passed by reference");
        }
        pval_copy_constructor(*args[3]);
        ZVAL_EMPTY_STRING(*args[3]);
        /* fall-through */
    case 3:
        if (!PZVAL_IS_REF(*args[2])) {
            php_error(E_WARNING,"error argument to fsockopen not passed by reference");
            return;
        }
        ZVAL_LONG(*args[2], 0);
        break;
}

convert_to_string_ex(args[0]);
convert_to_long_ex(args[1]);
portno = (unsigned short) Z_LVAL_P(args[1]);

key = emalloc(Z_STRLEN_P(args[0]) + 10);

fsockopen() accepts two, three, four, or five parameters. After the obligatory variable declarations, the function checks for the correct range of arguments. Then it uses a fall-through mechanism in a switch() statement to deal with all arguments. The switch() statement starts with the maximum number of arguments being passed (five). After that, it automatically processes the case of four arguments being passed, then three, by omitting the otherwise obligatory break keyword in all stages. After having processed the last case, it exits the switch() statement and does the minimal argument processing needed if the function is invoked with only two arguments.

This multiple-stage type of processing, similar to a stairway, allows convenient processing of a variable number of arguments.

Accessing Arguments

To access arguments, it's necessary for each argument to have a clearly defined type. Again, PHP's extremely dynamic nature introduces some quirks. Because PHP never does any kind of type checking, it's possible for a caller to pass any kind of data to your functions, whether you want it or not. If you expect an integer, for example, the caller might pass an array, and vice versa - PHP simply won't notice.

To work around this, you have to use a set of API functions to force a type conversion on every argument that's being passed (see Argument Conversion Functions).

Note: All conversion functions expect a **zval as parameter.

Argument Conversion Functions
Function | Description
convert_to_boolean_ex() | Forces conversion to a Boolean type. Boolean values remain untouched. Longs, doubles, and strings containing 0 as well as NULL values will result in Boolean 0 (FALSE). Arrays and objects are converted based on the number of entries or properties, respectively, that they have. Empty arrays and objects are converted to FALSE; otherwise, to TRUE. All other values result in a Boolean 1 (TRUE).
convert_to_long_ex() | Forces conversion to a long, the default integer type. NULL values, Booleans, resources, and of course longs remain untouched. Doubles are truncated. Strings containing an integer are converted to their corresponding numeric representation, otherwise resulting in 0. Arrays and objects are converted to 0 if empty, 1 otherwise.
convert_to_double_ex() | Forces conversion to a double, the default floating-point type. NULL values, Booleans, resources, longs, and of course doubles remain untouched. Strings containing a number are converted to their corresponding numeric representation, otherwise resulting in 0.0. Arrays and objects are converted to 0.0 if empty, 1.0 otherwise.
convert_to_string_ex() | Forces conversion to a string. Strings remain untouched. NULL values are converted to an empty string. Booleans containing TRUE are converted to "1", otherwise resulting in an empty string. Longs and doubles are converted to their corresponding string representation. Arrays are converted to the string "Array" and objects to the string "Object".
convert_to_array_ex(value) | Forces conversion to an array. Arrays remain untouched. Objects are converted to an array by assigning all their properties to the array table. All property names are used as keys, property contents as values. NULL values are converted to an empty array. All other values are converted to an array that contains the specific source value in the element with the key 0.
convert_to_object_ex(value) | Forces conversion to an object. Objects remain untouched. NULL values are converted to an empty object. Arrays are converted to objects by introducing their keys as properties into the objects and their values as corresponding property contents in the object. All other types result in an object with the property scalar , having the corresponding source value as content.
convert_to_null_ex(value) | Forces the type to become a NULL value, meaning empty.

Nota:

You can find a demonstration of the behavior in cross_conversion.php on the accompanying CD-ROM.

Cross-conversion behavior of PHP.

Using these functions on your arguments will ensure type safety for all data that's passed to you. If the supplied type doesn't match the required type, PHP forces dummy contents on the resulting value (empty strings, arrays, or objects, 0 for numeric values, FALSE for Booleans) to ensure a defined state.

Following is a quote from the sample module discussed previously, which makes use of the conversion functions:

zval **parameter;

if((ZEND_NUM_ARGS() != 1) || (zend_get_parameters_ex(1, &parameter) != SUCCESS))
{
    WRONG_PARAM_COUNT;
}

convert_to_long_ex(parameter);

RETURN_LONG(Z_LVAL_P(parameter));
After retrieving the parameter pointer, the parameter value is converted to a long (an integer), which also forms the return value of this function. Understanding access to the contents of the value requires a short discussion of the zval type, whose definition is shown in PHP/Zend zval type definition..

Ejemplo #7 PHP/Zend zval type definition.

typedef pval zval;

typedef struct _zval_struct zval;

typedef union _zvalue_value {
    long lval;                 /* long value */
    double dval;               /* double value */
    struct {
        char *val;
        int len;
    } str;
    HashTable *ht;             /* hash table value */
    struct {
        zend_class_entry *ce;
        HashTable *properties;
    } obj;
} zvalue_value;

struct _zval_struct {
    /* Variable information */
    zvalue_value value;        /* value */
    unsigned char type;        /* active type */
    unsigned char is_ref;
    short refcount;
};

Actually, pval (defined in php.h) is only an alias of zval (defined in zend.h), which in turn refers to _zval_struct. This is a most interesting structure. _zval_struct is the "master" structure, containing the value structure, type, and reference information. The substructure zvalue_value is a union that contains the variable's contents. Depending on the variable's type, you'll have to access different members of this union. For a description of both structures, see Zend zval Structure, Zend zvalue_value Structure and Zend Variable Type Constants.

Zend zval Structure
Entry | Description
value | Union containing this variable's contents. See Zend zvalue_value Structure for a description.
type | Contains this variable's type. For a list of available types, see Zend Variable Type Constants.
is_ref | 0 means that this variable is not a reference; 1 means that this variable is a reference to another variable.
refcount | The number of references that exist for this variable. For every new reference to the value stored in this variable, this counter is increased by 1. For every lost reference, this counter is decreased by 1. When the reference counter reaches 0, no references exist to this value anymore, which causes automatic freeing of the value.
Zend zvalue_value Structure
Entry | Description
lval | Use this property if the variable is of the type IS_LONG, IS_BOOLEAN, or IS_RESOURCE.
dval | Use this property if the variable is of the type IS_DOUBLE.
str | This structure can be used to access variables of the type IS_STRING. The member len contains the string length; the member val points to the string itself. Zend uses C strings; thus, the string length contains a trailing 0x00.
ht | This entry points to the variable's hash table entry if the variable is an array.
obj | Use this property if the variable is of the type IS_OBJECT.
Zend Variable Type Constants
Constant | Description
IS_NULL | Denotes a NULL (empty) value.
IS_LONG | A long (integer) value.
IS_DOUBLE | A double (floating point) value.
IS_STRING | A string.
IS_ARRAY | Denotes an array.
IS_OBJECT | An object.
IS_BOOL | A Boolean value.
IS_RESOURCE | A resource (for a discussion of resources, see the appropriate section below).
IS_CONSTANT | A constant (defined) value.

To access a long you access zval.value.lval, to access a double you use zval.value.dval, and so on. Because all values are stored in a union, trying to access data with incorrect union members results in meaningless output.

Accessing arrays and objects is a bit more complicated and is discussed later.

Dealing with Arguments Passed by Reference

If your function accepts arguments passed by reference that you intend to modify, you need to take some precautions.

What we didn't say yet is that under the circumstances presented so far, you don't have write access to any zval containers designating function parameters that have been passed to you. Of course, you can change any zval containers that you created within your function, but you mustn't change any zvals that refer to Zend-internal data!

We've only discussed the so-called *_ex() API so far. You may have noticed that the API functions we've used are called zend_get_parameters_ex() instead of zend_get_parameters(), convert_to_long_ex() instead of convert_to_long(), etc. The *_ex() functions form the so-called new "extended" Zend API. They give a minor speed increase over the old API, but as a tradeoff are only meant for providing read-only access.

Because Zend works internally with references, different variables may reference the same value. Write access to a zval container requires this container to contain an isolated value, meaning a value that's not referenced by any other containers. If a zval container were referenced by other containers and you changed the referenced zval, you would automatically change the contents of the other containers referencing this zval (because they'd simply point to the changed value and thus change their own value as well).

zend_get_parameters_ex() doesn't care about this situation, but simply returns a pointer to the desired zval containers, whether they consist of references or not. Its corresponding function in the traditional API, zend_get_parameters(), immediately checks for referenced values. If it finds a reference, it creates a new, isolated zval container; copies the referenced data into this newly allocated space; and then returns a pointer to the new, isolated value.

This action is called zval separation (or pval separation). Because the *_ex() API doesn't perform zval separation, it's considerably faster, while at the same time disabling write access.

To change parameters, however, write access is required. Zend deals with this situation in a special way: Whenever a parameter to a function is passed by reference, it performs automatic zval separation. This means that whenever you're calling a function like this in PHP, Zend will automatically ensure that $parameter is being passed as an isolated value, rendering it to a write-safe state:

my_function(&$parameter);

But this is not the case with regular parameters! All other parameters that are not passed by reference are in a read-only state.

This requires you to make sure that you're really working with a reference - otherwise you might produce unwanted results. To check for a parameter being passed by reference, you can use the macro PZVAL_IS_REF. This macro accepts a zval* to check if it is a reference or not. Examples are given in in Testing for referenced parameter passing..

Ejemplo #8 Testing for referenced parameter passing.

zval *parameter;

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &parameter) == FAILURE)
    return;

/* check for parameter being passed by reference */
if (!PZVAL_IS_REF(parameter)) {
{
    zend_error(E_WARNING, "Parameter wasn't passed by reference");
    RETURN_NULL();
}

/* make changes to the parameter */
ZVAL_LONG(parameter, 10);
Testing for referenced parameter passing

Assuring Write Safety for Other Parameters

You might run into a situation in which you need write access to a parameter that's retrieved with zend_get_parameters_ex() but not passed by reference. For this case, you can use the macro SEPARATE_ZVAL, which does a zval separation on the provided container. The newly generated zval is detached from internal data and has only a local scope, meaning that it can be changed or destroyed without implying global changes in the script context:

zval **parameter;

/* retrieve parameter */
zend_get_parameters_ex(1, &parameter);

/* at this stage, <parameter> still is connected */
/* to Zend's internal data buffers */

/* make <parameter> write-safe */
SEPARATE_ZVAL(parameter);

/* now we can safely modify <parameter> */
/* without implying global changes */
SEPARATE_ZVAL uses emalloc() to allocate the new zval container, which means that even if you don't deallocate this memory yourself, it will be destroyed automatically upon script termination. However, doing a lot of calls to this macro without freeing the resulting containers will clutter up your RAM.

Note: As you can easily work around the lack of write access in the "traditional" API (with zend_get_parameters() and so on), this API seems to be obsolete, and is not discussed further in this chapter.

Creating Variables

When exchanging data from your own extensions with PHP scripts, one of the most important issues is the creation of variables. This section shows you how to deal with the variable types that PHP supports.

Overview

To create new variables that can be seen "from the outside" by the executing script, you need to allocate a new zval container, fill this container with meaningful values, and then introduce it to Zend's internal symbol table. This basic process is common to all variable creations:

zval *new_variable;

/* allocate and initialize new container */
MAKE_STD_ZVAL(new_variable);

/* set type and variable contents here, see the following sections */

/* introduce this variable by the name "new_variable_name" into the symbol table */
ZEND_SET_SYMBOL(EG(active_symbol_table), "new_variable_name", new_variable);

/* the variable is now accessible to the script by using $new_variable_name */

The macro MAKE_STD_ZVAL allocates a new zval container using ALLOC_ZVAL and initializes it using INIT_ZVAL. As implemented in Zend at the time of this writing, initializing means setting the reference count to 1 and clearing the is_ref flag, but this process could be extended later - this is why it's a good idea to keep using MAKE_STD_ZVAL instead of only using ALLOC_ZVAL. If you want to optimize for speed (and you don't have to explicitly initialize the zval container here), you can use ALLOC_ZVAL, but this isn't recommended because it doesn't ensure data integrity.

ZEND_SET_SYMBOL takes care of introducing the new variable to Zend's symbol table. This macro checks whether the value already exists in the symbol table and converts the new symbol to a reference if so (with automatic deallocation of the old zval container). This is the preferred method if speed is not a crucial issue and you'd like to keep memory usage low.

Note that ZEND_SET_SYMBOL makes use of the Zend executor globals via the macro EG. By specifying EG(active_symbol_table), you get access to the currently active symbol table, dealing with the active, local scope. The local scope may differ depending on whether the function was invoked from within a function.

If you need to optimize for speed and don't care about optimal memory usage, you can omit the check for an existing variable with the same value and instead force insertion into the symbol table by using zend_hash_update():

zval *new_variable;

/* allocate and initialize new container */
MAKE_STD_ZVAL(new_variable);

/* set type and variable contents here, see the following sections */

/* introduce this variable by the name "new_variable_name" into the symbol table */
zend_hash_update(
    EG(active_symbol_table),
    "new_variable_name",
    strlen("new_variable_name") + 1,
    &new_variable,
    sizeof(zval *),
    NULL
);
This is actually the standard method used in most modules.

The variables generated with the snippet above will always be of local scope, so they reside in the context in which the function has been called. To create new variables in the global scope, use the same method but refer to another symbol table:

zval *new_variable;

// allocate and initialize new container
MAKE_STD_ZVAL(new_variable);

//
// set type and variable contents here
//

// introduce this variable by the name "new_variable_name" into the global symbol table
ZEND_SET_SYMBOL(&EG(symbol_table), "new_variable_name", new_variable);
The macro ZEND_SET_SYMBOL is now being called with a reference to the main, global symbol table by referring EG(symbol_table).

Note: The active_symbol_table variable is a pointer, but symbol_table is not. This is why you have to use EG(active_symbol_table) and &EG(symbol_table) as parameters to ZEND_SET_SYMBOL - it requires a pointer.

Similarly, to get a more efficient version, you can hardcode the symbol table update:

zval *new_variable;

// allocate and initialize new container
MAKE_STD_ZVAL(new_variable);

//
// set type and variable contents here
//

// introduce this variable by the name "new_variable_name" into the global symbol table
zend_hash_update(
    &EG(symbol_table),
    "new_variable_name",
    strlen("new_variable_name") + 1,
    &new_variable,
    sizeof(zval *),
    NULL
);
Creating variables with different scopes. shows a sample source that creates two variables - local_variable with a local scope and global_variable with a global scope (see Figure 9.7). The full example can be found on the CD-ROM.

Note: You can see that the global variable is actually not accessible from within the function. This is because it's not imported into the local scope using global $global_variable; in the PHP source.

Ejemplo #9 Creating variables with different scopes.

ZEND_FUNCTION(variable_creation)
{
    zval *new_var1, *new_var2;

    MAKE_STD_ZVAL(new_var1);
    MAKE_STD_ZVAL(new_var2);

    ZVAL_LONG(new_var1, 10);
    ZVAL_LONG(new_var2, 5);

    ZEND_SET_SYMBOL(EG(active_symbol_table), "local_variable", new_var1);
    ZEND_SET_SYMBOL(&EG(symbol_table), "global_variable", new_var2);

    RETURN_NULL();

}
Creating variables with different scopes

Longs (Integers)

Now let's get to the assignment of data to variables, starting with longs. Longs are PHP's integers and are very simple to store. Looking at the zval.value container structure discussed earlier in this chapter, you can see that the long data type is directly contained in the union, namely in the lval field. The corresponding type value for longs is IS_LONG (see Creation of a long.).

Ejemplo #10 Creation of a long.

zval *new_long;

MAKE_STD_ZVAL(new_long);

new_long-&gt;type = IS_LONG;
new_long-&gt;value.lval = 10;
Alternatively, you can use the macro ZVAL_LONG:
zval *new_long;

MAKE_STD_ZVAL(new_long);
ZVAL_LONG(new_long, 10);

Doubles (Floats)

Doubles are PHP's floats and are as easy to assign as longs, because their value is also contained directly in the union. The member in the zval.value container is dval; the corresponding type is IS_DOUBLE.

zval *new_double;

MAKE_STD_ZVAL(new_double);

new_double-&gt;type = IS_DOUBLE;
new_double-&gt;value.dval = 3.45;
Alternatively, you can use the macro ZVAL_DOUBLE:
zval *new_double;

MAKE_STD_ZVAL(new_double);
ZVAL_DOUBLE(new_double, 3.45);

Strings

Strings need slightly more effort. As mentioned earlier, all strings that will be associated with Zend's internal data structures need to be allocated using Zend's own memory-management functions. Referencing of static strings or strings allocated with standard routines is not allowed. To assign strings, you have to access the structure str in the zval.value container. The corresponding type is IS_STRING:

zval *new_string;
char *string_contents = "This is a new string variable";

MAKE_STD_ZVAL(new_string);

new_string-&gt;type = IS_STRING;
new_string-&gt;value.str.len = strlen(string_contents);
new_string-&gt;value.str.val = estrdup(string_contents);
Note the usage of Zend's estrdup() here. Of course, you can also use the predefined macro ZVAL_STRING:
zval *new_string;
char *string_contents = "This is a new string variable";

MAKE_STD_ZVAL(new_string);
ZVAL_STRING(new_string, string_contents, 1);
ZVAL_STRING accepts a third parameter that indicates whether the supplied string contents should be duplicated (using estrdup()). Setting this parameter to 1 causes the string to be duplicated; 0 simply uses the supplied pointer for the variable contents. This is most useful if you want to create a new variable referring to a string that's already allocated in Zend internal memory.

If you want to truncate the string at a certain position or you already know its length, you can use ZVAL_STRINGL(zval, string, length, duplicate), which accepts an explicit string length to be set for the new string. This macro is faster than ZVAL_STRING and also binary-safe.

To create empty strings, set the string length to 0 and use empty_string as contents:

new_string-&gt;type = IS_STRING;
new_string-&gt;value.str.len = 0;
new_string-&gt;value.str.val = empty_string;
Of course, there's a macro for this as well (ZVAL_EMPTY_STRING):
MAKE_STD_ZVAL(new_string);
ZVAL_EMPTY_STRING(new_string);

Booleans

Booleans are created just like longs, but have the type IS_BOOL. Allowed values in lval are 0 and 1:

zval *new_bool;

MAKE_STD_ZVAL(new_bool);

new_bool-&gt;type = IS_BOOL;
new_bool-&gt;value.lval = 1;
The corresponding macros for this type are ZVAL_BOOL (allowing specification of the value) as well as ZVAL_TRUE and ZVAL_FALSE (which explicitly set the value to TRUE and FALSE, respectively).

Arrays

Arrays are stored using Zend's internal hash tables, which can be accessed using the zend_hash_*() API. For every array that you want to create, you need a new hash table handle, which will be stored in the ht member of the zval.value container.

There's a whole API solely for the creation of arrays, which is extremely handy. To start a new array, you call array_init().

zval *new_array;

MAKE_STD_ZVAL(new_array);

array_init(new_array);
array_init() always returns SUCCESS.

To add new elements to the array, you can use numerous functions, depending on what you want to do. Zend's API for Associative Arrays, Zend's API for Indexed Arrays, Part 1 and Zend's API for Indexed Arrays, Part 2 describe these functions. All functions return FAILURE on failure and SUCCESS on success.

Zend's API for Associative Arrays
Function | Description
add_assoc_long(zval *array, char *key, long n);() | Adds an element of type long.
add_assoc_unset(zval *array, char *key);() | Adds an unset element.
add_assoc_bool(zval *array, char *key, int b);() | Adds a Boolean element.
add_assoc_resource(zval *array, char *key, int r);() | Adds a resource to the array.
add_assoc_double(zval *array, char *key, double d);() | Adds a floating-point value.
add_assoc_string(zval *array, char *key, char *str, int duplicate);() | Adds a string to the array. The flag duplicate specifies whether the string contents have to be copied to Zend internal memory.
add_assoc_stringl(zval *array, char *key, char *str, uint length, int duplicate); () | Adds a string with the desired length length to the array. Otherwise, behaves like add_assoc_string().
add_assoc_zval(zval *array, char *key, zval *value);() | Adds a zval to the array. Useful for adding other arrays, objects, streams, etc...
Zend's API for Indexed Arrays, Part 1
Function | Description
add_index_long(zval *array, uint idx, long n);() | Adds an element of type long.
add_index_unset(zval *array, uint idx);() | Adds an unset element.
add_index_bool(zval *array, uint idx, int b);() | Adds a Boolean element.
add_index_resource(zval *array, uint idx, int r);() | Adds a resource to the array.
add_index_double(zval *array, uint idx, double d);() | Adds a floating-point value.
add_index_string(zval *array, uint idx, char *str, int duplicate);() | Adds a string to the array. The flag duplicate specifies whether the string contents have to be copied to Zend internal memory.
add_index_stringl(zval *array, uint idx, char *str, uint length, int duplicate);() | Adds a string with the desired length length to the array. This function is faster and binary-safe. Otherwise, behaves like add_index_string().
add_index_zval(zval *array, uint idx, zval *value);() | Adds a zval to the array. Useful for adding other arrays, objects, streams, etc...
Zend's API for Indexed Arrays, Part 2
Function | Description
add_next_index_long(zval *array, long n);() | Adds an element of type long.
add_next_index_unset(zval *array);() | Adds an unset element.
add_next_index_bool(zval *array, int b);() | Adds a Boolean element.
add_next_index_resource(zval *array, int r);() | Adds a resource to the array.
add_next_index_double(zval *array, double d);() | Adds a floating-point value.
add_next_index_string(zval *array, char *str, int duplicate);() | Adds a string to the array. The flag duplicate specifies whether the string contents have to be copied to Zend internal memory.
add_next_index_stringl(zval *array, char *str, uint length, int duplicate);() | Adds a string with the desired length length to the array. This function is faster and binary-safe. Otherwise, behaves like add_index_string().
add_next_index_zval(zval *array, zval *value);() | Adds a zval to the array. Useful for adding other arrays, objects, streams, etc...

All these functions provide a handy abstraction to Zend's internal hash API. Of course, you can also use the hash functions directly - for example, if you already have a zval container allocated that you want to insert into an array. This is done using zend_hash_update() for associative arrays (see Adding an element to an associative array.) and zend_hash_index_update() for indexed arrays (see Adding an element to an indexed array.):

Ejemplo #11 Adding an element to an associative array.

zval *new_array, *new_element;
char *key = "element_key";

MAKE_STD_ZVAL(new_array);
MAKE_STD_ZVAL(new_element);

array_init(new_array);

ZVAL_LONG(new_element, 10);

if(zend_hash_update(new_array-&gt;value.ht, key, strlen(key) + 1, (void *)&new_element, sizeof(zval *), NULL) == FAILURE)
{
    // do error handling here
}

Ejemplo #12 Adding an element to an indexed array.

zval *new_array, *new_element;
int key = 2;

MAKE_STD_ZVAL(new_array);
MAKE_STD_ZVAL(new_element);

array_init(new_array);

ZVAL_LONG(new_element, 10);

if(zend_hash_index_update(new_array-&gt;value.ht, key, (void *)&new_element, sizeof(zval *), NULL) == FAILURE)
{
    // do error handling here
}

To emulate the functionality of add_next_index_*(), you can use this:

zend_hash_next_index_insert(ht, zval **new_element, sizeof(zval *), NULL)

Note: To return arrays from a function, use array_init() and all following actions on the predefined variable return_value (given as argument to your exported function; see the earlier discussion of the call interface). You do not have to use MAKE_STD_ZVAL on this.

Tip: To avoid having to write new_array->value.ht every time, you can use HASH_OF(new_array), which is also recommended for compatibility and style reasons.

Objects

Since objects can be converted to arrays (and vice versa), you might have already guessed that they have a lot of similarities to arrays in PHP. Objects are maintained with the same hash functions, but there's a different API for creating them.

To initialize an object, you use the function object_init():

zval *new_object;

MAKE_STD_ZVAL(new_object);

if(object_init(new_object) != SUCCESS)
{
    // do error handling here
}
You can use the functions described in Zend's API for Object Creation to add members to your object.

Zend's API for Object Creation
Function | Description
add_property_long(zval *object, char *key, long l);() | Adds a long to the object.
add_property_unset(zval *object, char *key);() | Adds an unset property to the object.
add_property_bool(zval *object, char *key, int b);() | Adds a Boolean to the object.
add_property_resource(zval *object, char *key, long r);() | Adds a resource to the object.
add_property_double(zval *object, char *key, double d);() | Adds a double to the object.
add_property_string(zval *object, char *key, char *str, int duplicate);() | Adds a string to the object.
add_property_stringl(zval *object, char *key, char *str, uint length, int duplicate);() | Adds a string of the specified length to the object. This function is faster than add_property_string() and also binary-safe.
add_property_zval(zval *obect, char *key, zval *container):() | Adds a zval container to the object. This is useful if you have to add properties which aren't simple types like integers or strings but arrays or other objects.

Resources

Resources are a special kind of data type in PHP. The term resources doesn't really refer to any special kind of data, but to an abstraction method for maintaining any kind of information. Resources are kept in a special resource list within Zend. Each entry in the list has a correspondending type definition that denotes the kind of resource to which it refers. Zend then internally manages all references to this resource. Access to a resource is never possible directly - only via a provided API. As soon as all references to a specific resource are lost, a corresponding shutdown function is called.

For example, resources are used to store database links and file descriptors. The de facto standard implementation can be found in the MySQL module, but other modules such as the Oracle module also make use of resources.

Nota:

In fact, a resource can be a pointer to anything you need to handle in your functions (e.g. pointer to a structure) and the user only has to pass a single resource variable to your function.

To create a new resource you need to register a resource destruction handler for it. Since you can store any kind of data as a resource, Zend needs to know how to free this resource if its not longer needed. This works by registering your own resource destruction handler to Zend which in turn gets called by Zend whenever your resource can be freed (whether manually or automatically). Registering your resource handler within Zend returns you the resource type handle for that resource. This handle is needed whenever you want to access a resource of this type later and is most of time stored in a global static variable within your extension. There is no need to worry about thread safety here because you only register your resource handler once during module initialization.

The Zend function to register your resource handler is defined as:

ZEND_API int zend_register_list_destructors_ex(rsrc_dtor_func_t ld, rsrc_dtor_func_t pld, char *type_name, int module_number);

There are two different kinds of resource destruction handlers you can pass to this function: a handler for normal resources and a handler for persistent resources. Persistent resources are for example used for database connection. When registering a resource, either of these handlers must be given. For the other handler just pass NULL.

zend_register_list_destructors_ex() accepts the following parameters:

ld | Normal resource destruction handler callback
pld | Pesistent resource destruction handler callback
type_name | A string specifying the name of your resource. It's always a good thing to specify a unique name within PHP for the resource type so when the user for example calls var_dump($resource); he also gets the name of the resource.
module_number | The module_number is automatically available in your PHP_MINIT_FUNCTION function and therefore you just pass it over.
The return value is a unique integer ID for your resource type.

The resource destruction handler (either normal or persistent resources) has the following prototype:

void resource_destruction_handler(zend_rsrc_list_entry *rsrc TSRMLS_DC);
The passed rsrc is a pointer to the following structure:
typedef struct _zend_rsrc_list_entry {

    void *ptr;
    int type;
    int refcount;

} zend_rsrc_list_entry;
The member void *ptr is the actual pointer to your resource.

Now we know how to start things, we define our own resource we want register within Zend. It is only a simple structure with two integer members:

typedef struct {

    int resource_link;
    int resource_type;

} my_resource;
Our resource destruction handler is probably going to look something like this:
void my_destruction_handler(zend_rsrc_list_entry *rsrc TSRMLS_DC) {

    // You most likely cast the void pointer to your structure type

    my_resource *my_rsrc = (my_resource *) rsrc->ptr;

    // Now do whatever needs to be done with you resource. Closing
    // Files, Sockets, freeing additional memory, etc.
    // Also, don't forget to actually free the memory for your resource too!

    do_whatever_needs_to_be_done_with_the_resource(my_rsrc);
}

Nota:

One important thing to mention: If your resource is a rather complex structure which also contains pointers to memory you allocated during runtime you have to free them before freeing the resource itself!

Now that we have defined

  1. what our resource is and

  2. our resource destruction handler

we can go on and do the rest of the steps:

  1. create a global variable within the extension holding the resource ID so it can be accessed from every function which needs it

  2. define the resource name

  3. write the resource destruction handler

  4. and finally register the handler

// Somewhere in your extension, define the variable for your registered resources.
    // If you wondered what 'le' stands for: it simply means 'list entry'.
    static int le_myresource;

    // It's nice to define your resource name somewhere
    #define le_myresource_name  "My type of resource"

    [...]

    // Now actually define our resource destruction handler
    void my_destruction_handler(zend_rsrc_list_entry *rsrc TSRMLS_DC) {

        my_resource *my_rsrc = (my_resource *) rsrc->ptr;
        do_whatever_needs_to_be_done_with_the_resource(my_rsrc);
    }

    [...]

    PHP_MINIT_FUNCTION(my_extension) {

        // Note that 'module_number' is already provided through the
        // PHP_MINIT_FUNCTION() function definition.

        le_myresource = zend_register_list_destructors_ex(my_destruction_handler, NULL, le_myresource_name, module_number);

        // You can register additional resources, initialize
        // your global vars, constants, whatever.
    }

To actually register a new resource you use can either use the zend_register_resource() function or the ZEND_REGISTER_RESOURE() macro, both defined in zend_list.h. Although the arguments for both map 1:1 it's a good idea to always use macros to be upwards compatible:

int ZEND_REGISTER_RESOURCE(zval *rsrc_result, void *rsrc_pointer, int rsrc_type);
rsrc_result | This is an already initialized zval * container.
rsrc_pointer | Your resource pointer you want to store.
rsrc_type | The type which you received when you registered the resource destruction handler. If you followed the naming scheme this would be le_myresource.
The return value is a unique integer identifier for that resource.

What is really going on when you register a new resource is it gets inserted in an internal list in Zend and the result is just stored in the given zval * container:

rsrc_id = zend_list_insert(rsrc_pointer, rsrc_type);

    if (rsrc_result) {
        rsrc_result->value.lval = rsrc_id;
        rsrc_result->type = IS_RESOURCE;
    }

    return rsrc_id;
The returned rsrc_id uniquely identifies the newly registered resource. You can use the macro RETURN_RESOURE to return it to the user:
    RETURN_RESOURCE(rsrc_id)

Nota:

It is common practice that if you want to return the resource immediately to the user you specify the return_value as the zval * container.

Zend now keeps track of all references to this resource. As soon as all references to the resource are lost, the destructor that you previously registered for this resource is called. The nice thing about this setup is that you don't have to worry about memory leakages introduced by allocations in your module - just register all memory allocations that your calling script will refer to as resources. As soon as the script decides it doesn't need them anymore, Zend will find out and tell you.

Now that the user got his resource, at some point he is passing it back to one of your functions. The value.lval inside the zval * container contains the key to your resource and thus can be used to fetch the resource with the following macro: ZEND_FETCH_RESOURCE:

ZEND_FETCH_RESOURCE(rsrc, rsrc_type, rsrc_id, default_rsrc_id, resource_type_name, resource_type)
rsrc | This is your pointer which will point to your previously registered resource.
rsrc_type | This is the typecast argument for your pointer, e.g. myresource *.
rsrc_id | This is the address of the zval *container the user passed to your function, e.g. &z_resource if zval *z_resource is given.
default_rsrc_id | This integer specifies the default resource ID if no resource could be fetched or -1.
resource_type_name | This is the name of the requested resource. It's a string and is used when the resource can't be found or is invalid to form a meaningful error message.
resource_type | The resource_type you got back when registering the resource destruction handler. In our example this was le_myresource.
This macro has no return value. It is for the developers convenience and takes care of TSRMLS arguments passing and also does check if the resource could be fetched. It throws a warning message and returns the current PHP function with NULL if there was a problem retrieving the resource.

To force removal of a resource from the list, use the function zend_list_delete(). You can also force the reference count to increase if you know that you're creating another reference for a previously allocated value (for example, if you're automatically reusing a default database link). For this case, use the function zend_list_addref(). To search for previously allocated resource entries, use zend_list_find(). The complete API can be found in zend_list.h.

Macros for Automatic Global Variable Creation

In addition to the macros discussed earlier, a few macros allow easy creation of simple global variables. These are nice to know in case you want to introduce global flags, for example. This is somewhat bad practice, but Table Macros for Global Variable Creation describes macros that do exactly this task. They don't need any zval allocation; you simply have to supply a variable name and value.

Macros for Global Variable Creation
Macro | Description
SET_VAR_STRING(name, value) | Creates a new string.
SET_VAR_STRINGL(name, value, length) | Creates a new string of the specified length. This macro is faster than SET_VAR_STRING and also binary-safe.
SET_VAR_LONG(name, value) | Creates a new long.
SET_VAR_DOUBLE(name, value) | Creates a new double.

Creating Constants

Zend supports the creation of true constants (as opposed to regular variables). Constants are accessed without the typical dollar sign ($) prefix and are available in all scopes. Examples include TRUE and FALSE, to name just two.

To create your own constants, you can use the macros in Macros for Creating Constants. All the macros create a constant with the specified name and value.

You can also specify flags for each constant:

  • CONST_CS - This constant's name is to be treated as case sensitive.

  • CONST_PERSISTENT - This constant is persistent and won't be "forgotten" when the current process carrying this constant shuts down.

To use the flags, combine them using a inary OR:
 // register a new constant of type "long"
     REGISTER_LONG_CONSTANT("NEW_MEANINGFUL_CONSTANT", 324, CONST_CS |
     CONST_PERSISTENT);
There are two types of macros - REGISTER_*_CONSTANT andREGISTER_MAIN_*_CONSTANT. The first type creates constants bound to the current module. These constants are dumped from the symbol table as soon as the module that registered the constant is unloaded from memory. The second type creates constants that remain in the symbol table independently of the module.

Macros for Creating Constants
Macro | Description
REGISTER_LONG_CONSTANT(name, value, flags) REGISTER_MAIN_LONG_CONSTANT(name, value, flags) | Registers a new constant of type long.
REGISTER_DOUBLE_CONSTANT(name, value, flags) REGISTER_MAIN_DOUBLE_CONSTANT(name, value, flags) | Registers a new constant of type double.
REGISTER_STRING_CONSTANT(name, value, flags) REGISTER_MAIN_STRING_CONSTANT(name, value, flags) | Registers a new constant of type string. The specified string must reside in Zend's internal memory.
REGISTER_STRINGL_CONSTANT(name, value, length, flags) REGISTER_MAIN_STRINGL_CONSTANT(name, value, length, flags) | Registers a new constant of type string. The string length is explicitly set to length. The specified string must reside in Zend's internal memory.

Duplicating Variable Contents: The Copy Constructor

Sooner or later, you may need to assign the contents of one zval container to another. This is easier said than done, since the zval container doesn't contain only type information, but also references to places in Zend's internal data. For example, depending on their size, arrays and objects may be nested with lots of hash table entries. By assigning one zval to another, you avoid duplicating the hash table entries, using only a reference to them (at most).

To copy this complex kind of data, use the copy constructor. Copy constructors are typically defined in languages that support operator overloading, with the express purpose of copying complex types. If you define an object in such a language, you have the possibility of overloading the "=" operator, which is usually responsible for assigning the contents of the rvalue (result of the evaluation of the right side of the operator) to the lvalue (same for the left side).

Overloading means assigning a different meaning to this operator, and is usually used to assign a function call to an operator. Whenever this operator would be used on such an object in a program, this function would be called with the lvalue and rvalue as parameters. Equipped with that information, it can perform the operation it intends the "=" operator to have (usually an extended form of copying).

This same form of "extended copying" is also necessary for PHP's zval containers. Again, in the case of an array, this extended copying would imply re-creation of all hash table entries relating to this array. For strings, proper memory allocation would have to be assured, and so on.

Zend ships with such a function, called zend_copy_ctor() (the previous PHP equivalent was pval_copy_constructor()).

A most useful demonstration is a function that accepts a complex type as argument, modifies it, and then returns the argument:

zval *parameter;

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &parameter) == FAILURE)
   return;
}

// do modifications to the parameter here

// now we want to return the modified container:
*return_value = *parameter;
zval_copy_ctor(return_value);

The first part of the function is plain-vanilla argument retrieval. After the (left out) modifications, however, it gets interesting: The container of parameter is assigned to the (predefined) return_value container. Now, in order to effectively duplicate its contents, the copy constructor is called. The copy constructor works directly with the supplied argument, and the standard return values are FAILURE on failure and SUCCESS on success.

If you omit the call to the copy constructor in this example, both parameter and return_value would point to the same internal data, meaning that return_value would be an illegal additional reference to the same data structures. Whenever changes occurred in the data that parameter points to, return_value might be affected. Thus, in order to create separate copies, the copy constructor must be used.

The copy constructor's counterpart in the Zend API, the destructor zval_dtor(), does the opposite of the constructor.

Returning Values

Returning values from your functions to PHP was described briefly in an earlier section; this section gives the details. Return values are passed via the return_value variable, which is passed to your functions as argument. The return_value argument consists of a zval container (see the earlier discussion of the call interface) that you can freely modify. The container itself is already allocated, so you don't have to run MAKE_STD_ZVAL on it. Instead, you can access its members directly.

To make returning values from functions easier and to prevent hassles with accessing the internal structures of the zval container, a set of predefined macros is available (as usual). These macros automatically set the correspondent type and value, as described in Predefined Macros for Returning Values from a Function and Predefined Macros for Setting the Return Value of a Function.

Nota:

The macros in Predefined Macros for Returning Values from a Function automatically return from your function, those in Predefined Macros for Setting the Return Value of a Function only set the return value; they don't return from your function.

Predefined Macros for Returning Values from a Function
Macro | Description
RETURN_RESOURCE(resource) | Returns a resource.
RETURN_BOOL(bool) | Returns a Boolean.
RETURN_NULL() | Returns nothing (a NULL value).
RETURN_LONG(long) | Returns a long.
RETURN_DOUBLE(double) | Returns a double.
RETURN_STRING(string, duplicate) | Returns a string. The duplicate flag indicates whether the string should be duplicated using estrdup().
RETURN_STRINGL(string, length, duplicate) | Returns a string of the specified length; otherwise, behaves like RETURN_STRING. This macro is faster and binary-safe, however.
RETURN_EMPTY_STRING() | Returns an empty string.
RETURN_FALSE | Returns Boolean false.
RETURN_TRUE | Returns Boolean true.
Predefined Macros for Setting the Return Value of a Function
Macro | Description
RETVAL_RESOURCE(resource) | Sets the return value to the specified resource.
RETVAL_BOOL(bool) | Sets the return value to the specified Boolean value.
RETVAL_NULL | Sets the return value to NULL.
RETVAL_LONG(long) | Sets the return value to the specified long.
RETVAL_DOUBLE(double) | Sets the return value to the specified double.
RETVAL_STRING(string, duplicate) | Sets the return value to the specified string and duplicates it to Zend internal memory if desired (see also RETURN_STRING).
RETVAL_STRINGL(string, length, duplicate) | Sets the return value to the specified string and forces the length to become length (see also RETVAL_STRING). This macro is faster and binary-safe, and should be used whenever the string length is known.
RETVAL_EMPTY_STRING | Sets the return value to an empty string.
RETVAL_FALSE | Sets the return value to Boolean false.
RETVAL_TRUE | Sets the return value to Boolean true.

Complex types such as arrays and objects can be returned by using array_init() and object_init(), as well as the corresponding hash functions on return_value. Since these types cannot be constructed of trivial information, there are no predefined macros for them.

Printing Information

Often it's necessary to print messages to the output stream from your module, just as print would be used within a script. PHP offers functions for most generic tasks, such as printing warning messages, generating output for phpinfo(), and so on. The following sections provide more details. Examples of these functions can be found on the CD-ROM.

zend_printf()

zend_printf() works like the standard printf(), except that it prints to Zend's output stream.

zend_error()

zend_error() can be used to generate error messages. This function accepts two arguments; the first is the error type (see zend_errors.h), and the second is the error message.

zend_error(E_WARNING, "This function has been called with empty arguments");
Zend's Predefined Error Messages. shows a list of possible values (see below). These values are also referred to in php.ini. Depending on which error type you choose, your messages will be logged.
Zend's Predefined Error Messages.
Error | Description
E_ERROR | Signals an error and terminates execution of the script immediately.
E_WARNING | Signals a generic warning. Execution continues.
E_PARSE | Signals a parser error. Execution continues.
E_NOTICE | Signals a notice. Execution continues. Note that by default the display of this type of error messages is turned off in php.ini.
E_CORE_ERROR | Internal error by the core; shouldn't be used by user-written modules.
E_COMPILE_ERROR | Internal error by the compiler; shouldn't be used by user-written modules.
E_COMPILE_WARNING | Internal warning by the compiler; shouldn't be used by user-written modules.
Display of warning messages in the browser.

Including Output in phpinfo()

After creating a real module, you'll want to show information about the module in phpinfo() (in addition to the module name, which appears in the module list by default). PHP allows you to create your own section in the phpinfo() output with the ZEND_MINFO() function. This function should be placed in the module descriptor block (discussed earlier) and is always called whenever a script calls phpinfo().

PHP automatically prints a section in phpinfo() for you if you specify the ZEND_MINFO function, including the module name in the heading. Everything else must be formatted and printed by you.

Typically, you can print an HTML table header using php_info_print_table_start() and then use the standard functions php_info_print_table_header() and php_info_print_table_row(). As arguments, both take the number of columns (as integers) and the column contents (as strings). Source code and screenshot for output in phpinfo. shows a source example and its output. To print the table footer, use php_info_print_table_end().

Ejemplo #13 Source code and screenshot for output in phpinfo().

php_info_print_table_start();
php_info_print_table_header(2, "First column", "Second column");
php_info_print_table_row(2, "Entry in first row", "Another entry");
php_info_print_table_row(2, "Just to fill", "another row here");
php_info_print_table_end();
Output of phpinfo()

Execution Information

You can also print execution information, such as the current file being executed. The name of the function currently being executed can be retrieved using the function get_active_function_name(). This function returns a pointer to the function name and doesn't accept any arguments. To retrieve the name of the file currently being executed, use zend_get_executed_filename(). This function accesses the executor globals, which are passed to it using the TSRMLS_C macro. The executor globals are automatically available to every function that's called directly by Zend (they're part of the INTERNAL_FUNCTION_PARAMETERS described earlier in this chapter). If you want to access the executor globals in another function that doesn't have them available automatically, call the macro TSRMLS_FETCH() once in that function; this will introduce them to your local scope.

Finally, the line number currently being executed can be retrieved using the function zend_get_executed_lineno(). This function also requires the executor globals as arguments. For examples of these functions, see Printing execution information..

Ejemplo #14 Printing execution information.

zend_printf("The name of the current function is %s&lt;br&gt;", get_active_function_name(TSRMLS_C));
zend_printf("The file currently executed is %s&lt;br&gt;", zend_get_executed_filename(TSRMLS_C));
zend_printf("The current line being executed is %i&lt;br&gt;", zend_get_executed_lineno(TSRMLS_C));
Printing execution information

Startup and Shutdown Functions

Startup and shutdown functions can be used for one-time initialization and deinitialization of your modules. As discussed earlier in this chapter (see the description of the Zend module descriptor block), there are module, and request startup and shutdown events.

The module startup and shutdown functions are called whenever a module is loaded and needs initialization; the request startup and shutdown functions are called every time a request is processed (meaning that a file is being executed).

For dynamic extensions, module and request startup/shutdown events happen at the same time.

Declaration and implementation of these functions can be done with macros; see the earlier section "Declaration of the Zend Module Block" for details.

Calling User Functions

You can call user functions from your own modules, which is very handy when implementing callbacks; for example, for array walking, searching, or simply for event-based programs.

User functions can be called with the function call_user_function_ex(). It requires a hash value for the function table you want to access, a pointer to an object (if you want to call a method), the function name, return value, number of arguments, argument array, and a flag indicating whether you want to perform zval separation.

ZEND_API int call_user_function_ex(HashTable *function_table, zval *object,
zval *function_name, zval **retval_ptr_ptr,
int param_count, zval **params[],
int no_separation);

Note that you don't have to specify both function_table and object; either will do. If you want to call a method, you have to supply the object that contains this method, in which case call_user_function()automatically sets the function table to this object's function table. Otherwise, you only need to specify function_table and can set object to NULL.

Usually, the default function table is the "root" function table containing all function entries. This function table is part of the compiler globals and can be accessed using the macro CG. To introduce the compiler globals to your function, call the macro TSRMLS_FETCH once.

The function name is specified in a zval container. This might be a bit surprising at first, but is quite a logical step, since most of the time you'll accept function names as parameters from calling functions within your script, which in turn are contained in zval containers again. Thus, you only have to pass your arguments through to this function. This zval must be of type IS_STRING.

The next argument consists of a pointer to the return value. You don't have to allocate memory for this container; the function will do so by itself. However, you have to destroy this container (using zval_dtor()) afterward!

Next is the parameter count as integer and an array containing all necessary parameters. The last argument specifies whether the function should perform zval separation - this should always be set to 0. If set to 1, the function consumes less memory but fails if any of the parameters need separation.

Calling user functions. shows a small demonstration of calling a user function. The code calls a function that's supplied to it as argument and directly passes this function's return value through as its own return value. Note the use of the constructor and destructor calls at the end - it might not be necessary to do it this way here (since they should be separate values, the assignment might be safe), but this is bulletproof.

Ejemplo #15 Calling user functions.

zval **function_name;
zval *retval;

if((ZEND_NUM_ARGS() != 1) || (zend_get_parameters_ex(1, &function_name) != SUCCESS))
{
    WRONG_PARAM_COUNT;
}

if((*function_name)->type != IS_STRING)
{
    zend_error(E_ERROR, "Function requires string argument");
}

TSRMSLS_FETCH();

if(call_user_function_ex(CG(function_table), NULL, *function_name, &retval, 0, NULL, 0) != SUCCESS)
{
    zend_error(E_ERROR, "Function call failed");
}

zend_printf("We have %i as type\n", retval->type);

*return_value = *retval;
zval_copy_ctor(return_value);
zval_ptr_dtor(&retval);

<?php

dl("call_userland.so");

function test_function()
{
    echo "We are in the test function!\n";
    return 'hello';
}

$return_value = call_userland("test_function");

echo "Return value: '$return_value'";
?>

El resultado del ejemplo sería:

We are in the test function!
We have 3 as type
Return value: 'hello'

Initialization File Support

PHP 4 features a redesigned initialization file support. It's now possible to specify default initialization entries directly in your code, read and change these values at runtime, and create message handlers for change notifications.

To create an .ini section in your own module, use the macros PHP_INI_BEGIN() to mark the beginning of such a section and PHP_INI_END() to mark its end. In between you can use PHP_INI_ENTRY() to create entries.

PHP_INI_BEGIN()
PHP_INI_ENTRY("first_ini_entry",  "has_string_value", PHP_INI_ALL, NULL)
PHP_INI_ENTRY("second_ini_entry", "2",                PHP_INI_SYSTEM, OnChangeSecond)
PHP_INI_ENTRY("third_ini_entry",  "xyz",              PHP_INI_USER, NULL)
PHP_INI_END()
The PHP_INI_ENTRY() macro accepts four parameters: the entry name, the entry value, its change permissions, and a pointer to a change-notification handler. Both entry name and value must be specified as strings, regardless of whether they really are strings or integers.

The permissions are grouped into three sections:PHP_INI_SYSTEM allows a change only directly in the php.ini file; PHP_INI_USER allows a change to be overridden by a user at runtime using additional configuration files, such as .htaccess; and PHP_INI_ALL allows changes to be made without restrictions. There's also a fourth level, PHP_INI_PERDIR, for which we couldn't verify its behavior yet.

The fourth parameter consists of a pointer to a change-notification handler. Whenever one of these initialization entries is changed, this handler is called. Such a handler can be declared using the PHP_INI_MH macro:

PHP_INI_MH(OnChangeSecond);             // handler for ini-entry "second_ini_entry"

// specify ini-entries here

PHP_INI_MH(OnChangeSecond)
{

    zend_printf("Message caught, our ini entry has been changed to %s&lt;br&gt;", new_value);

    return(SUCCESS);

}
The new value is given to the change handler as string in the variable new_value. When looking at the definition of PHP_INI_MH, you actually have a few parameters to use:
#define PHP_INI_MH(name) int name(php_ini_entry *entry, char *new_value,
                                  uint new_value_length, void *mh_arg1,
                                  void *mh_arg2, void *mh_arg3)
All these definitions can be found in php_ini.h. Your message handler will have access to a structure that contains the full entry, the new value, its length, and three optional arguments. These optional arguments can be specified with the additional macros PHP_INI_ENTRY1 (allowing one additional argument), PHP_INI_ENTRY2 (allowing two additional arguments), and PHP_INI_ENTRY3 (allowing three additional arguments).

The change-notification handlers should be used to cache initialization entries locally for faster access or to perform certain tasks that are required if a value changes. For example, if a constant connection to a certain host is required by a module and someone changes the hostname, automatically terminate the old connection and attempt a new one.

Access to initialization entries can also be handled with the macros shown in Macros to Access Initialization Entries in PHP.

Macros to Access Initialization Entries in PHP
Macro | Description
INI_INT(name) | Returns the current value of entry name as integer (long).
INI_FLT(name) | Returns the current value of entry name as float (double).
INI_STR(name) | Returns the current value of entry name as string. Note: This string is not duplicated, but instead points to internal data. Further access requires duplication to local memory.
INI_BOOL(name) | Returns the current value of entry name as Boolean (defined as zend_bool, which currently means unsigned char).
INI_ORIG_INT(name) | Returns the original value of entry name as integer (long).
INI_ORIG_FLT(name) | Returns the original value of entry name as float (double).
INI_ORIG_STR(name) | Returns the original value of entry name as string. Note: This string is not duplicated, but instead points to internal data. Further access requires duplication to local memory.
INI_ORIG_BOOL(name) | Returns the original value of entry name as Boolean (defined as zend_bool, which currently means unsigned char).

Finally, you have to introduce your initialization entries to PHP. This can be done in the module startup and shutdown functions, using the macros REGISTER_INI_ENTRIES() and UNREGISTER_INI_ENTRIES():

ZEND_MINIT_FUNCTION(mymodule)
{

    REGISTER_INI_ENTRIES();

}

ZEND_MSHUTDOWN_FUNCTION(mymodule)
{

    UNREGISTER_INI_ENTRIES();

}

Where to Go from Here

You've learned a lot about PHP. You now know how to create dynamic loadable modules and statically linked extensions. You've learned how PHP and Zend deal with internal storage of variables and how you can create and access these variables. You know quite a set of tool functions that do a lot of routine tasks such as printing informational texts, automatically introducing variables to the symbol table, and so on.

Even though this chapter often had a mostly "referential" character, we hope that it gave you insight on how to start writing your own extensions. For the sake of space, we had to leave out a lot; we suggest that you take the time to study the header files and some modules (especially the ones in the ext/standard directory and the MySQL module, as these implement commonly known functionality). This will give you an idea of how other people have used the API functions - particularly those that didn't make it into this chapter.

Reference: Some Configuration Macros

config.m4

The file config.m4 is processed by buildconf and must contain all the instructions to be executed during configuration. For example, these can include tests for required external files, such as header files, libraries, and so on. PHP defines a set of macros that can be used in this process, the most useful of which are described in M4 Macros for config.m4.

M4 Macros for config.m4
Macro | Description
AC_MSG_CHECKING(message) | Prints a "checking <message>" text during configure.
AC_MSG_RESULT(value) | Gives the result to AC_MSG_CHECKING; should specify either yes or no as value.
AC_MSG_ERROR(message) | Prints message as error message during configure and aborts the script.
AC_DEFINE(name,value,description) | Adds #define to php_config.h with the value of value and a comment that says description (this is useful for conditional compilation of your module).
AC_ADD_INCLUDE(path) | Adds a compiler include path; for example, used if the module needs to add search paths for header files.
AC_ADD_LIBRARY_WITH_PATH(libraryname,librarypath) | Specifies an additional library to link.
AC_ARG_WITH(modulename,description,unconditionaltest,conditionaltest) | Quite a powerful macro, adding the module with description to the configure --help output. PHP checks whether the option --with-<modulename> is given to the configure script. If so, it runs the script unconditionaltest (for example, --with-myext=yes), in which case the value of the option is contained in the variable $withval. Otherwise, it executes conditionaltest.
PHP_EXTENSION(modulename, [shared]) | This macro is a must to call for PHP to configure your extension. You can supply a second argument in addition to your module name, indicating whether you intend compilation as a shared module. This will result in a definition at compile time for your source as COMPILE_DL_<modulename>.

API Macros

A set of macros was introduced into Zend's API that simplify access to zval containers (see API Macros for Accessing zval Containers).

API Macros for Accessing zval Containers
Macro | Refers to
Z_LVAL(zval) | (zval).value.lval
Z_DVAL(zval) | (zval).value.dval
Z_STRVAL(zval) | (zval).value.str.val
Z_STRLEN(zval) | (zval).value.str.len
Z_ARRVAL(zval) | (zval).value.ht
Z_LVAL_P(zval) | (*zval).value.lval
Z_DVAL_P(zval) | (*zval).value.dval
Z_STRVAL_P(zval_p) | (*zval).value.str.val
Z_STRLEN_P(zval_p) | (*zval).value.str.len
Z_ARRVAL_P(zval_p) | (*zval).value.ht
Z_LVAL_PP(zval_pp) | (**zval).value.lval
Z_DVAL_PP(zval_pp) | (**zval).value.dval
Z_STRVAL_PP(zval_pp) | (**zval).value.str.val
Z_STRLEN_PP(zval_pp) | (**zval).value.str.len
Z_ARRVAL_PP(zval_pp) | (**zval).value.ht
API de Flujos para Autores de Extensiones de PHP
TSRM API
Zend Engine 1


TSRM API

La API Zend: Hackeando el núcleo de PHP
FAQ
Zend Engine 1


FAQ: Preguntas frequentes

  • Información general
  • Listas de correos
  • Consiguiendo PHP
  • Problemas con bases de datos
  • Instalación
  • Problemas de Compilación
  • Usando PHP
  • Hash de Contraseñas — Hash de contraseñas seguro
  • PHP y HTML
  • PHP y COM
  • Migración de PHP 4 a PHP 5
  • Preguntas Varias
TSRM API
Información general
Manual de PHP


Información general

Esta sección contiene las preguntas más generales sobre PHP: Qué es y lo que hace.

  1. ¿Qué es PHP?
  2. ¿Qué significa PHP?
  3. ¿Cuál es la relación entre las versiones?
  4. ¿Puedo usar varias versiones de PHP al mismo tiempo?
  5. ¿Cuáles son las diferencias entre PHP 4 y PHP 5?
  6. Creo que he encontrado un error! ¿A quién debo informarle?
¿Qué es PHP?

Según el prefacio del manual:

PHP es un lenguaje de scripting, el cual puede ser embebido dentro de páginas HTML. Gran parte de su sintaxis fue tomada de C, Java y Perl con un par de características específicas propias de PHP. El objetivo del lenguaje es permitir a Desarrolladores Web escribir páginas generadas dinámicamente con rapidez.

¿Qué significa PHP?

PHP significa PHP: Hypertext Preprocessor. Esto confunde a mucha gente porque la primer palabra del acrónimo es el acrónimo. Este tipo de acrónimo se denomina acrónimo recursivo. Para más información, los curiosos pueden visitar » El Diccionario de Informática On-Line Gratuito ó la » entrada de acrónimo recursivo en Wikipedia.

¿Cuál es la relación entre las versiones?

PHP/FI 2.0 es una de las primeras y ya fuera de desarrollo versiones de PHP. PHP 3 es el sucesor de PHP/FI 2.0 y es mucho más agradable. PHP 5 es la generación actual de PHP, la cual usa el » Zend engine 2 que, entre otras cosas, ofrece muchas características OOP adicionales.

¿Puedo usar varias versiones de PHP al mismo tiempo?

Si. Vea el archivo INSTALL que se incluye en la distribución del código fuente de PHP.

¿Cuáles son las diferencias entre PHP 4 y PHP 5?

A pesar de que PHP 5 fue diseñado con la intención de ser tan compatible como fuese posible con versiones anteriores, hay algunos cambios significativos. Algunos de estos incluyen:

  • Un nuevo modelo OOP basado en el Zend Engine 2.0
  • Una nueva extensión que mejora el soporte MySQL
  • Soporte nativo integrado para SQLite
  • Una nueva constante de reporte de errores, E_STRICT, para sugerencias en ejecución sobre código.
  • Una serie de nuevas funciones para simplificar la escritura de código (y reducir la necesidad de escribir sus propias funciones para procedimientos comunes)
Para información más detallada, por favor vea la sección Migrando de PHP 4 a PHP 5 y la sección Cambios Incompatibles con Versiones Anteriores.

Creo que he encontrado un error! ¿A quién debo informarle?

Debería ir a la Base de Datos de Errores de PHP y asegurarse que no sea un error ya descubierto. Si no lo encuentra en la Base de Datos, use el formulario de reporte para reportar el error. Es importante que utilice Base de Datos de Errores en vez de tan sólo enviar un email a una de las listas de correo porque será posible asignarle un número de seguimiento a ese error y luego podrá volver y chequear el estado de dicho error. La Base de Datos de Errores de PHP se encuentra en » http://bugs.php.net/.

FAQ
Listas de correos
FAQ


Listas de correos

Esta sección contiene preguntas acerca de cómo ponerse en contacto con la comunidad de PHP. La mejor forma es a través de las listas de correos.

  1. ¿Existen listas de correos de PHP?
  2. ¿Existen otras comunidades?
  3. ¿Puedo crear mi propia lista de correos de PHP?
  4. ¡Ayuda! ¡Aparentemente no puedo iniciar/cancelar suscripciones en una de las listas de correos!
  5. ¿Existe un archivo de las listas de correos en alguna parte?
  6. ¿Qué puedo preguntar en la lista de correos?
  7. ¿Qué información debo incluir cuando envío mensajes a las listas de correos?
¿Existen listas de correos de PHP?

¡Por supuesto! Hay listas de correos para diferentes asuntos. Las listas de correos más comunes de la comunidad se pueden encontrar en nuestra página de » Listas de correos.

La lista de correos más general es php-general. Para suscribirse, envíe un correo electrónico en blanco a » php-general-subscribe@lists.php.net. Para anular su suscripción, envíe un correo electrónico en blanco a » php-general-unsubscribe@lists.php.net.

También puede iniciar y cancelar suscripciones usando la interfaz web de nuestra página » Listas de correos. También se incluyen instrucciones para darse de baja al final de cada mensaje de las listas de correos.

¿Existen otras comunidades?

Hay un sinnúmero de comunidades de PHP alrededor del mundo, y tenemos vínculos con algunos de estos recursos (asi como información sobre cómo averiguar más) en nuestra página de » Soporte.

¿Puedo crear mi propia lista de correos de PHP?

¡Absolutamente! De hecho, no sólo lo permitimos libremente, lo apoyamos! Ayudando a otros compartiendo su conocimiento y experiencia sobre PHP ayuda a fomentar el crecimiento y desarrollo de la comunidad mundial de PHP y del lenguaje en sí.

¡Ayuda! ¡Aparentemente no puedo iniciar/cancelar suscripciones en una de las listas de correos!

Si tiene problemas con la suscripción o la baja de una suscripción en una lista de correos, puede ser porque el software de la lista de correos no entiende la correcta dirección de e-mail a utilizar. Si su dirección es joeblow@example.com, y está intentando suscribirse a php-general, puede enviar su solicitud de suscripción a php-general-subscribe-joeblow=example.com@lists.php.net, o su solicitud de baja a php-general-unsubscribe-joeblow=example.com@lists.php.net. Use direcciones similares para otras listas de correos.

La causa más común por la que la gente tiene problemas a la hora de darse de baja de nuestras listas de correos se debe al reenvío de correos. Por ejemplo, si su e-mail es danbrown@example.com, pero se suscribió a la lista de correos con el redireccionador php-lists@example.com y reenvía eso a danbrown@example.com, intentar dar de baja a danbrown@example.com no funcionará, ya que esa dirección no existe en nuestros sistemas. En cambio, necesitará dar de baja la dirección de la que haya sido enviado el correo de suscripción - en este caso, php-lists@example.com.

¿Existe un archivo de las listas de correos en alguna parte?

Si, encontrará vínculos a algunos sitios que mantienen archivos en la sección » Listas de correos. También encontrará decenas de Sitios que archivan y/o sindican el contenido de nuestra lista de correos usando su Motor de Búsqueda de Internet favorito y buscando "archivos de la lista de correos de php".

Todos los artículos de las listas de correos son también archivados como noticias. Puede acceder al servidor de noticias en » news://news.php.net/ con un cliente de este servicio. También existe una interfaz web experimental para el servidor de noticias en » http://news.php.net/

¿Qué puedo preguntar en la lista de correos?

Dado que PHP está creciendo más y más cada día, el tráfico en la lista de correos php-general se ha incrementado, yendo de 75 a 200 o más mensajes por día. Debido a esto, es del interés de todos que sólo use la lista como último recurso, una vez haya probado todos los demás caminos.

Antes de enviar su consulta a la lista por favor eche un vistazo a esta FAQ y al manual para ver si puede encontrar ayuda en tales sitios. Si no encuentra nada, pruebe con los archivos de las listas de correos (vea más arriba). Si tiene problemas con la instalación o configuración de PHP, por favor lea en su totalidad la documentación incluida y los documentos README. Si todavía no puede encontrar información alguna que le ayude, es más que bienvenido para usar la lista de correos apropiada.

Para asegurarse de que reciba las mejores respuestas (y recudir la probabilidad de frustrar a sus compañeros), por favor tenga en cuenta enviar la pregunta a la lista correspondiente. Por ejemplo, si está teniendo dificultades instalando PHP, debería enviar su consulta a la lista de correos php-install. Una advertencia: algunas listas tienen nombres similares y usos totalmente diferentes; una consulta respecto scripts PHP en Windows debería ser dirigida a la lista de usuarios de PHP en Windows, no a la lista del Funcionamiento Interno de Windows.

Antes de consultar, puede que sea de su interés leer el artículo » Cómo formular preguntas inteligentemente, ya que es una buena idea para todos.

¿Qué información debo incluir cuando envío mensajes a las listas de correos?

Mensajes como "¡No logro que PHP funcione! ¡Ayúdenme! ¿Qué está mal?" son absolutamente inútiles para todos. Si está sufriendo dificultades con la ejecución y configuración de PHP debe incluir el sistema operativo que está usando, la versión de PHP que está tratando de utilizar, de qué forma adquirió el software (pre-compilada, Git, RPM, etc.), qué ha hecho hasta el momento, y el mensaje de error exacto o el resultado actual.

Esto se aplica también para cualquier otro problema: debe incluir una explicación de qué ha hecho, qué está tratando de hacer, y algún mensaje de error encontrado en el proceso. Si tiene problemas con su código fuente, debería incluir la parte del código que no funciona, indicando en que línea se encuentra el error mediante un comentario apropiadamente situado. ¡No incluya más código del necesario! Eso hace al mensaje difícil de leer, y mayoría puede simplemente ignorarlo por esta razón. Si no está seguro de cuánta información debería ser incluida, envie lo que crea de relevancia significativa a su problema actual, y preparese para dar más datos sobre su solicitud.

Otro punto importante a tener en mente es hacer un resumen de su problema en el asunto del mensaje. Un asunto como "AYUUDAAAA!!!" o "¿Cuál es el problema aquí?" será ignorado por la mayoría de los lectores.

Y por último, es recomendable que lea el artículo » Cómo formular preguntas inteligentemente, debido a que será de gran ayuda para todos, especialmente para Ud. mismo.

Información general
Consiguiendo PHP
FAQ


Consiguiendo PHP

Esta sección contiene detalles sobre las ubicaciones de descarga de PHP, y asuntos específicos a diferentes sistemas operativos.

  1. ¿Donde puedo conseguir PHP?
  2. ¿Hay versiones binarias pre-compiladas disponibles?
  3. ¿Donde consigo las bibliotecas requeridas para compilar algunas de las extensiones opcionales de PHP?
  4. ¿Cómo hago para que esas bibliotecas funcionen?
  5. He conseguido la última versión del código fuente de PHP desde el repositorio Git en mi máquina Windows, ¿Qué necesito para su compilación?
  6. ¿Dónde consigo el Archivo de Capacidades del Explorador?
  7. ¿Que significa thread safety cuando se descarga PHP?
¿Donde puedo conseguir PHP?

Se puede descargar PHP desde cualquier miembro de la red de Sitios de PHP. Estos se pueden encontrar en » http://www.php.net/. También puede utilizar Git anónimo para conseguir la última versión del código fuente. Para mayor información, visite » http://www.php.net/git.php.

¿Hay versiones binarias pre-compiladas disponibles?

Nosotros solo distribuímos binarios pre-compilados para sistemas Windows, debido a que no tenemos la capacidad de compilar PHP para cada plataforma popular Linux/Unix con todas las combinaciones de extensiones. También tenga en cuenta que muchas distribuciones Linux actualmente vienen con PHP integrado. Los binarios para Windows pueden ser descargados desde nuestra página de » Descargas. Para binarios de Linux, por favor visite el sitio de su distribución.

¿Donde consigo las bibliotecas requeridas para compilar algunas de las extensiones opcionales de PHP?

Nota: Aquellas marcadas con * no son seguras a nivel de hilos; no se recomienda su uso en entornos multihilo.

  • » LDAP (Unix).
  • » LDAP (Unix/Win) : Directorio de Mozilla (LDAP) SDK
  • » free LDAP server.
  • » Berkeley DB2 (Unix/Win) : http://www.sleepycat.com/.
  • » SNMP* (Unix): .
  • » GD (Unix/Win).
  • » mSQL* (Unix).
  • » PostgreSQL (Unix).
  • » IMAP* (Win/Unix).
  • » Sybase-CT* (Linux, libc5) : Disponible localmente.
  • » FreeType (libttf):.
  • » ZLib (Unix/Win32).
  • » expat XML parser (Unix/Win32).
  • » PDFLib.
  • » mcrypt.
  • » mhash.
  • » t1lib.
  • » dmalloc.
  • » aspell.
  • » readline.

¿Cómo hago para que esas bibliotecas funcionen?

Necesitará seguir las instrucciones provistas en la biblioteca. Algunas de estas bibliotecas son detectadas automáticamente cuando ejecuta el script 'configure' de PHP (tal como la biblioteca GD), y otras tendran que ser habilitadas usando opciones '--with-EXTENSION' con 'configure'. Ejecute 'configure --help' para una lista de estas opciones.

He conseguido la última versión del código fuente de PHP desde el repositorio Git en mi máquina Windows, ¿Qué necesito para su compilación?

Ver la sección del manual dedicada a la compilación de PHP desde el código fuente en Windows.

¿Dónde consigo el Archivo de Capacidades del Explorador?

Se puede encontrar el archivo browscap.ini en » http://tempdownloads.browserscap.com/.

¿Que significa thread safety cuando se descarga PHP?

Thread Safety significa que el binario puede funcionar en un servidor multi-hilo como por ejemplo bajo Apache 2 para windows.Thread Safety funciona creando una copia local de almacenamiento para cada hilo, de manera que los datos no colisionarán con otros hilos.

Entonces ¿que necesito? Si se elige ejecutar PHP como binario CGI, entonces no se necesita thread safety, por que el binario es invocado en cada petición. Para servidores multi-hilo, como IIS5 y IIS6 se debe utilizar la versión threaded de PHP.

Listas de correos
Problemas con bases de datos
FAQ


Problemas con bases de datos

Esta sección contiene preguntas comunes sobre la relación entre PHP y bases de datos. Sí, PHP puede acceder a prácticamente cualquier base de datos disponible hoy en día.

  1. He escuchado que es posible acceder a Microsoft SQL Server desde PHP. ¿Cómo?
  2. ¿Puedo acceder a bases de datos Microsoft Access?
  3. ¿Por qué el uso de la extensión MySQL (ext/mysql), que he utilizado durante más de 10 años, está desaconsejado? ¿Está obsoleta? ¿Qué utilizo en su lugar? ¿Cómo puedo migrar?
  4. PHP 5 ya no incluye bibliotecas cliente de MySQL, ¿qué representa esto para mí? ¿Aun puedo usar MySQL con PHP? Intento usar MySQL y obtengo errores de tipo "function undefined", ¿qué pasa?
  5. Después de instalar el soporte de MySQL compartido, Apache produce un volcado de memoria tan pronto libphp4.so se carga. ¿Puede solucionarse esto?
  6. ¿Porqué recibo un error que luce algo así: "Warning: 0 is not a MySQL result index in <archivo> on line <x>" o "Warning: Supplied argument is not a valid MySQL result resource in <archivo> on line <x>"?
He escuchado que es posible acceder a Microsoft SQL Server desde PHP. ¿Cómo?

En máquinas Windows, puede simplemente usar el soporte ODBC incluido y el controlador ODBC apropiado.

En máquinas Unix, es posible usar el controlador Sybase-CT para acceder a Servidores Microsoft SQL ya que son compatibles (en su mayoría) al nivel del protocolo. Sybase ha creado una » versión gratuita de las bibliotecas necesarias para sistemas Linux. Para otros sistemas operativos Unix, necesita ponerse en contacto con Sybase para obtener las bibliotecas correctas. Consulte también la respuesta a la siguiente pregunta.

¿Puedo acceder a bases de datos Microsoft Access?

Si. Usted ya dispone de todas las herramientas necesarias si está corriendo enteramente bajo Windows 9x/Me, o NT/2000, en donde es posible utilizar ODBC y los controladores ODBC para bases de datos Microsoft Access.

Si está corriendo PHP en una máquina Unix y desea comunicarse con MS Access en una máquina Windows, necesitará controladores ODBC para Unix. » OpenLink Software tiene controladores ODBC basados en Unix que tienen esa capacidad.

Otra alternativa consiste en usar un servidor SQL que tenga controladores ODBC Windows y usarlo para almacenar los datos, a los cuales puede acceder desde Microsoft Access (usando ODBC) y PHP (usando los controladores incorporados), o usar un formato de archivo intermedio que Access y PHP entiendan, como archivos planos o bases de datos dBase. Sobre este punto, Tim Hayes de OpenLink Software escribe:

Usar otra base de datos como intermediario no es una buena idea, cuando es posible usar ODBC desde PHP directamente a su base de datos - es decir, con los controladores de OpenLink. Si realmente necesita usar un formato de archivo intermedio, OpenLink ha lanzado ahora Virtuoso (un motor de bases de datos virtual) para NT, Linux y otras plataformas Unix. Por favor visite nuestro » sitio web para una descarga gratuita.

Una opción que ha sido probada con éxito es usar MySQL y sus controladores MyODBC en Windows y sincronizar las bases de datos. Steve Lawrence escribe:

  • Instale MySQL en su plataforma de acuerdo a las instrucciones de MySQL. La última versión disponible se encuentra en » http://www.mysql.com/. No se requiere ninguna configuración especial, exceptuando al momento de configurar una base de datos, y al configurar la cuenta de usuario, debe poner % en el campo de host, o el nombre del host del equipo Windows desde el que desea acceder a MySQL. Anote su nombre de servidor, nombre de usuario y contraseña.
  • Descargue el controlador MyODBC para Windows desde el sitio de MySQL. Instálelo en su equipo Windows. Es posible probar su operación con las utilidades incluidas con este programa.
  • Cree un usuario o dsn de sistema en su administrador de ODBC, ubicado en el panel de control. Cree un nombre dsn, ingrese su nombre de host, nombre de usuario, contraseña, puerto, etc. para su base de datos MySQL configurada en el paso 1.
  • Instale Access usando la instalación completa, esto asegura que tenga las elementos adicionales apropiados... por lo menos requerirá el soporte ODBC y el gestor de tablas enlazadas.
  • ¡Ahora la parte divertida! Cree una nueva base de datos Access. En la ventana de tabla use el clic derecho y seleccione Enlazar Tablas, o bajo la opción del menú de archivo, seleccione Obtener Datos Externos y luego Enlazar Tablas. Cuando el cuadro de navegación de archivos aparezca, seleccione archivos de tipo: ODBC. Seleccione dsn de Sistema y el nombre de su dsn creado en el paso 3. Seleccione la tabla a enlazar, presione Aceptar, y ¡listo! ¡Ahora es posible abrir la tabla y agregar/eliminar/editar datos en su servidor MySQL! También es posible construir consultas, importar/exportar tablas a MySQL, construir formularios y reportes, etc.

Consejos y Trucos:

  • Es posible construir sus tablas en Access y exportarlas a MySQL, y luego enlazarlas de vuelta. Esto facilita la rápida creación de tablas.
  • Cuando se crean tablas en Access, es necesario tener una clave primaria definida para tener acceso de escritura a la tabla en Access. Asegúrese de crear una clave primaria en MySQL antes de enlazar en Access.
  • Si modifica una tabla en MySQL, es necesario re-enlazarla en Access. Diríjase a Herramientas>Adiciones>Gestor de Tablas Enlazadas, vaya a su DSN ODBC, y seleccione la tabla a re-enlazar desde allí. También es posible transladar su fuente dsn allí, simplemente active el cuadro de verificación "siempre preguntar por una ubicación nueva" antes de presionar Aceptar.

¿Por qué el uso de la extensión MySQL (ext/mysql), que he utilizado durante más de 10 años, está desaconsejado? ¿Está obsoleta? ¿Qué utilizo en su lugar? ¿Cómo puedo migrar?

Existen tres extensiones de MySQL, como está descrito en la sección Elegir una API de MySQL API. No se debería usar la API antigua, ya que un día será obsoleta y eliminada eventualmente de PHP. Es una extensión popular, por lo que éste será un proceso lento, pero se recomienda encarecidamente escribir todo el código nuevo con mysqli o PDO_MySQL.

La migración de los scripts no está disponible por el momento, aunque la API mysqli API contiene tanto una API procedimental como una API POO, siendo la versión procedimental similar a ext/mysql.

No es posible mezclar extensiones. Así, por ejemplo, pasar una conexión mysqli a PDO_MySQL o ext/mysql no funcionará.

PHP 5 ya no incluye bibliotecas cliente de MySQL, ¿qué representa esto para mí? ¿Aun puedo usar MySQL con PHP? Intento usar MySQL y obtengo errores de tipo "function undefined", ¿qué pasa?

Si. Siempre habrá soporte MySQL en PHP de una u otra forma. El único cambio en PHP 5 es que ya no distribuimos la biblioteca cliente como tal. Algunas razones, sin orden alguno en particular:

  • La mayoría de sistemas en la actualidad ya tienen la biblioteca cliente instalada.

  • Dado lo anterior, tener versiones múltiples de la biblioteca puede causar problemas. Por ejemplo, si enlaza mod_auth_mysql contra una versión y PHP contra otra, y luego habilita ambos en Apache, obtendrá un bonito y gordo fallo. Asimismo, la biblioteca distribuida no siempre interactuaba bien con la versión del servidor instalada. El síntoma más obvio de esta situación es el desacuerdo sobre el lugar en donde encontrar el archivo de sockets de dominio Unix mysql.socket.

  • Su mantenimiento era un poco laxo y estaba quedándose cada vez más atrás de la versiones lanzadas.

  • Las versiones futuras de la biblioteca están bajo la GPL y por lo tanto no contamos con una ruta de actualización, ya que no podemos distribuir una biblioteca GPL en un proyecto con licencia tipo BSD/Apache. Un corte limpio en PHP 5 parecía la mejor opción.

Esto en realidad no afectará a muchos. Los usuarios de Unix, por lo menos aquellos que saben lo que están haciendo, tienden a compilar siempre PHP contra sus bibliotecas de sistema libmysqlclient agregando la opción --with-mysql=/usr cuando se compila PHP. Los usuarios de Windows pueden habilitar la extensión php_mysql.dll dentro de php.ini. Para más detalles, vea la Referencia de MySQL sobre las instrucciones de instalación. También, asegúrese de que libmysql.dll se encuentre disponible en el PATH del sistema. Para más detalles sobre el cómo, lea el FAQ sobre configurar el valor PATH en sistemas Windows. Dado que libmysql.dll (y varios otros archivos de PHP relacionados) existen en la carpeta de PHP, usted querrá agregar la carpeta de PHP al PATH del sistema.

Después de instalar el soporte de MySQL compartido, Apache produce un volcado de memoria tan pronto libphp4.so se carga. ¿Puede solucionarse esto?

Si sus bibliotecas de MySQL están enlazadas contra pthreads ocurrirá esto. Verifique usando ldd. Si lo están, obtenga las fuentes de MySQL y compile desde allí, o re-compile desde la fuente rpm y elimine el conmutador en el archivo spec que habilita el código de cliente con hilos. Cualquiera de estas sugerencias solucionará el problema. Luego recompile PHP con las nuevas bibliotecas MySQL.

¿Porqué recibo un error que luce algo así: "Warning: 0 is not a MySQL result index in <archivo> on line <x>" o "Warning: Supplied argument is not a valid MySQL result resource in <archivo> on line <x>"?

Está intentando usar un identificador de resultado que es 0. El 0 indica que su consulta falló por alguna razón. Necesita verificar errores después de enviar una consulta y antes de que intente usar el identificador de resultado devuelto. La manera apropiada de hacerlo es con un código similar al siguiente:

<?php

$resultado = mysql_query("SELECT * FROM tablas_priv");
if (!$resultado) {
    echo mysql_error();
    exit;
}
?>
o
<?php

$resultado = mysql_query("SELECT * FROM tablas_priv")
    or die("Consulta fallida: " . mysql_error());
?>

Consiguiendo PHP
Instalación
FAQ


Instalación

Esta sección contiene preguntas comunes sobre la forma de instalar PHP. PHP está disponible para casi cualquier OS (excepto para MacOS antes de OSX), y casi todos los servidores web.

Para instalar PHP, siga las instrucciones en Instalación y configuración.

  1. ¿Porqué Apache2 no debería ser utilizado con un MPM en un entorno de producción?
  2. Unix/Windows: ¿Donde debería ubicarse mi fichero php.ini?
  3. Unix: Instalé PHP, ¡pero con cada documento cargado recibo el mensaje 'Document Contains No Data'! ¿Qué está pasando aquí?
  4. Unix: Instalé PHP usando RPMS, ¡pero Apache no procesa los los documentos PHP! ¿Qué está sucediendo aquí?
  5. Unix: Apache fue parchado con el parche de extensiones de FrontPage, y de pronto PHP dejó de funcionar. ¿Acaso PHP es incompatible con las extensiones de FrontPage para Apache?
  6. Unix/Windows: Instalé PHP, pero cuando intento acceder a archivos PHP a través de mi navegador, obtengo la pantalla en blanco.
  7. Unix/Windows: Instalé PHP, pero cuando intento acceder a archivos PHP a través de mi navegador, obtengo el error de servidor HTTP 500.
  8. Varios sistemas operativos: Instalé PHP sin errores, pero cuando intento iniciar Apache, obtengo errores de símbolos indefinidos: [mybox:user /src/php5] root# apachectl configtest apachectl: /usr/local/apache/bin/httpd Undefined symbols: _compress _uncompress
  9. Windows: Instalé PHP, pero cuando intento acceder a archivos PHP a través de mi navegador, obtengo el error: cgi error: The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:
  10. Windows: Seguí todas las instrucciones, ¡pero todavía no puedo hacer que PHP y el IIS funcionen juntos!
  11. Cuando ejecuto PHP como CGI con IIS, PWS, OmniHTTPD o Xitami, obtengo el siguiente error: Security Alert! PHP CGI cannot be accessed directly..
  12. ¿Cómo tengo la certeza de que mi php.ini está siendo encontrado y correctamente leído? Pareciera que no porque mis cambios no están siendo implementados.
  13. ¿Cómo agrego mi directorio de PHP a PATH en Windows?
  14. ¿Cómo hago al archivo php.ini disponible para PHP en Windows?
  15. ¿Es posible usar la negociación de contenidos de Apache (opción MultiViews) con PHP?
  16. ¿PHP se limita a procesar sólo métodos de peticiones GET y POST?
¿Porqué Apache2 no debería ser utilizado con un MPM en un entorno de producción?

PHP es pegamento. Es el pegamento utilizado para desarrollar buenas aplicaciones web uniendo docenas de bibliotecas 3rd-party y haciéndolas aparentar como una coherente a través de una interfaz lingual, intuitiva y fácil de estudiar. La flexibilidad y poder de PHP reside en la estabilidad y robustez de la plataforma en la que corre. REquiere de un OS, de un servidor web y de bibliotecas 3rd-party (todos correctamente funcionando) para combinarlos. Cuando cualquiera de estos deja de funcionar, PHP necesita formas de identificar los problemas y arreglarlos rápidamente. Cuando el marco de referencia base se hace más complejo al no tener las tareas de ejecución y los segmentos de memoria completamente separados y un fuerte entorno de pruebas por cada instancia a cubrir, apareceran deficiencias en el sistema de PHP.

Si desea utilizar un MPM por hilos, considere una configuración de FastCGI donde PHP este corriendo en su propio espacio de memoria.

Unix/Windows: ¿Donde debería ubicarse mi fichero php.ini?

Por defecto en Unix debería ser en /usr/local/lib lo que es igual a <install-path>/lib. Mucha gente querrá cambia resto al momento de compilar con el flag --with-config-file-path. Debería ser seteado, por ejemplo, con algo parecido:

--with-config-file-path=/etc
Y luego se copiaría el php.ini-development de la distribución a /etc/php.ini y sería editado acorde a los cambios locales deseados.

--with-config-file-scan-dir=PATH

En Windows la ruta predeterminada para el fichero php.ini es el directorio Windows. Si está usando el servidor web Apache, php.ini es buscado en principio en el directorio de instalación de Apaches, por ej.C:\Archivos de programa\Apache Group\Apache. De esta forma se pueden utilizar distintos ficheros php.ini para diferentes versiones de Apache en la misma máquina.

Vea también el capítulo sobre el fichero de configuración.

Unix: Instalé PHP, ¡pero con cada documento cargado recibo el mensaje 'Document Contains No Data'! ¿Qué está pasando aquí?

Esto probablemente signifique que PHP está teniendo algún tipo de problema y realiza un volcado de memoria. Revise en el log de errores de su servidor para ver si éste es el caso, y después intente reproducir el problema con una pequeña prueba. Si sabe cómo usar 'gdb', será de gran ayuda cuando un backtrace pueda ser incluido en su reporte de bug para ayudar a los desarrolladores a localizar el problema. Si PHP es utilizado como módulo de Apache intente algo como:

  • Detener sus procesos httpd

  • gdb httpd

  • Detener sus procesos httpd

  • > Ejecute -X -f /path/to/httpd.conf

  • Luego indique la URL que causa el problema con su explorador

  • > Ejecute -X -f /path/to/httpd.conf

  • Si resulta en un volcado de memoria, gdb debería informárselo al instante

  • escriba: bt

  • Debería incluir su backtrace en su reporte de bug, el cual debería ser enviado a » http://bugs.php.net/

Si su script utiliza las funciones de expresiones regulares ( preg_match() y similares), debería sersionarse que PHP y Apache fueron compilados con los mismos paquetes de expresiones regulares. Esto debería ocurrir automáticamente con PHP y Apache 1.3.x

Unix: Instalé PHP usando RPMS, ¡pero Apache no procesa los los documentos PHP! ¿Qué está sucediendo aquí?

Asumiendo que instaló tanto Apache como PHP desde paquetes RPM, se necesita descomentar, o agregar algunas o todas de las siguientes líneas en su fichero httpd.conf:

# Extra Modules
AddModule mod_php.c
AddModule mod_perl.c

# Extra Modules
LoadModule php_module         modules/mod_php.so
LoadModule php5_module        modules/libphp5.so
LoadModule perl_module        modules/libperl.so
Y agregar:
AddType application/x-httpd-php .php
... a las propiedades globales, o a las propiedades del VirtualDomain que desee que tenga añadido el soporte para PHP.

Unix: Apache fue parchado con el parche de extensiones de FrontPage, y de pronto PHP dejó de funcionar. ¿Acaso PHP es incompatible con las extensiones de FrontPage para Apache?

No, PHP trabaja bien con las extensiones de FrontPage. El problema radica en que dicho parche modifica varias estructuras de Apache en las que PHP confía. La recompilación de PHP (usando 'make clean ; make') luego de que el parche haya sido aplicado debería resolver el problema.

Unix/Windows: Instalé PHP, pero cuando intento acceder a archivos PHP a través de mi navegador, obtengo la pantalla en blanco.

Ejecute 'ver código fuente' en el navegador web y probablemente encontrará que puede ver el código fuente de su archivo PHP. Esto significa que el servidor web no envió el script PHP para su interpretación. Algo está mal en la configuración del servidor - chequéelo tantas veces sea necesario respecto de las instrucciones de instalación de PHP.

Unix/Windows: Instalé PHP, pero cuando intento acceder a archivos PHP a través de mi navegador, obtengo el error de servidor HTTP 500.

Algo falla cuando el servidor intenta ejecutar PHP. Para obtener un mensaje de error detallado, desde la línea de comandos, cambie al directorio que tiene el ejecutable de PHP (php.exe en Windows) y ejecute php -i. Si PHP tiene problemas al correr, el correspondiente error será impreso en pantalla, el cual le dará una pista sobre lo que debe hacer a continuación. Si obtiene una pantalla completa de códigos HTML (la salida de la función phpinfo()) es porque PHP está funcionando, y su problema puede estar relacionado a la configuración de su servidor, la cual debería corroborar.

Varios sistemas operativos: Instalé PHP sin errores, pero cuando intento iniciar Apache, obtengo errores de símbolos indefinidos:
[mybox:user /src/php5] root# apachectl configtest
 apachectl: /usr/local/apache/bin/httpd Undefined symbols:
  _compress
  _uncompress

Esto, en realidad, no tiene nada que ver con PHP, sino con las bibliotecas de cliente MySQL. Algunas necesitan --with-zlib , otras no. Esto también se trata en la FAQ de MySQL.

Windows: Instalé PHP, pero cuando intento acceder a archivos PHP a través de mi navegador, obtengo el error:
cgi error:
 The specified CGI application misbehaved by not
 returning a complete set of HTTP headers.
 The headers it did return are:

Este mensaje de error significa que PHP falló al intentar producir un retorno. Para poder ver un mensaje de error detallado, desde la línea de comandos, cambie al directorio que tiene el ejecutable de PHP (php.exe en Windows) y ejecute php -i. Si PHP tiene problemas al correr, el correspondiente error será impreso en pantalla, el cual le dará una pista sobre lo que debe hacer a continuación. Si obtiene una pantalla completa de códigos HTML (la salida de la función phpinfo()) es porque PHP está funcionando.

Una vez que PHP esté funcionando desde la línea de comandos, intente acceder al archivo PHP a través de su navegador nuevamente. Si continúa fallando podría ser por una de las siguientes razones:

  • Permisos de archivo en su script PHP, php.exe, php5ts.dll, php.ini o cualquier extensión PHP que esté intentando cargar son de tal que el usuario anónimo de internet ISUR_<machinename> no puede acceder a ellos.
  • El archivo no existe (o posiblememte no está donde cree, lo que es relativo a su directorio web raíz). Note que para IIS se puede tildar la casilla 'comprobar si el archivo existe' cuando setea el mapeo de scripts en el Administrador de Servicios de Internet para darse cuenta si eso es lo que realmente sucede. Si un archivo no existe, entonces el servidor devolverá un error HTTP 404. El IIS también brinda el beneficio adicional de encargarse de cualquier autenticación requerida por Ud., basado en los permisos NTLanMan en su archivo.
Windows: Seguí todas las instrucciones, ¡pero todavía no puedo hacer que PHP y el IIS funcionen juntos!

¡Asegúrese de que todos los usuarios que necesiten ejecutar PHP tengan los permisos para ejecutar php.exe! IIS utiliza un usuario anónimo que se crea en el momento en que éste es instalado. Este usuario necesita permisos para php.exe. Además, cualquier usuario autenticado necesitará permisos para poder ejecutar php.exe. Y para IIS4 se necesita indicarle que PHP es un intérprete. También le interesará leer esta FAQ.

Cuando ejecuto PHP como CGI con IIS, PWS, OmniHTTPD o Xitami, obtengo el siguiente error: Security Alert! PHP CGI cannot be accessed directly..

La directiva cgi.force_redirect debe equivaler a 0. Por defecto equivale a 1 por lo que debe asegurarse de que no este comentada (con un ;). Como todas las directivas, esto se configura en php.ini

Debido a que por defecto es 1, es crítico que esté seguro al 100% que se está leyendo el archivo php.ini correcto. Por favor lea esta FAQ para detalles.

¿Cómo tengo la certeza de que mi php.ini está siendo encontrado y correctamente leído? Pareciera que no porque mis cambios no están siendo implementados.

Para asegurarse que PHP está leyendo su php.ini, realice una llamada a phpinfo(). Cerca de la parte superior, habrá una lista llamada Configuration File (php.ini). Allí figurará en qué parte PHP está buscando php.ini y si se está leyendo o no. Si existe sólo el directorio de la ruta, entonces PHP no está leyéndolo, y debería moverlo dentro de dicho directorio. Si php.ini está incluido dentro de la ruta indicada, está siendo leído.

Si php.ini está siendo leído y PHP está corriendo como un módulo, entonces deberá reiniciar su servidor web luego de aplicar los cambios a php.ini

Vea también php_ini_loaded_file().

¿Cómo agrego mi directorio de PHP a PATH en Windows?

En Windows NT+ y Windows Server 2000+:

  • Vaya a Panel de Control y abra el icono Sistema (Inicio -> Configuración -> Panel de Control -> Sistema, o directamente Inicio -> Panel de Control -> Sistema para Windows XP/2003+)

  • Vaya a la pestaña Avanzado

  • Clic en el botón 'Variables de Entorno'

  • Revise la parte de 'Variables de Sistema'

  • Encuentre la entrada Path (de seguro tendrá que desplazarse para encontrarla)

  • Doble clic en la entrada Path

  • Ingrese su directorio de PHP al final de todo, con un ';' antes (por ej., ;C:\php)

  • Presione OK

En Windows 98/Me necesita editar el archivo autoexec.bat:

  • Abra el Bloc de Notas (Inicio -> Ejecutar y escriba notepad)

  • Abra el archivo C:\autoexec.bat

  • Localice la línea con PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;..... y agregue: ;C:\php en el final de la línea

  • Guarde el archivo y reinicie la máquina

Nota: Asegúrese de reiniciar luego de seguir los pasos de arriba para garantizar que los cambios a PATH se apliquen.

El manual de PHP solía promover el copiado de archivos dentro del directorio de sistema de Windows, esto es porque este directorio (C:\Windows, C:\WINNT, etc.) está por defecto en los sistemas de PATH. Copiar archivos dentro del directorio de sistema de Windows hace tiempo que ya no se utiliza y puede causar problemas.

¿Cómo hago al archivo php.ini disponible para PHP en Windows?

Hay varias formas de hacer esto. Si está usando Apache, lea sus instrucciones específicas de instalación (Apache 1, Apache 2), a menos que deba configurar la variable de entorno PHPRC:

En Windows NT, 2000, XP y 2003:

  • Vaya a Panel de Control y abra el icono Sistema (Inicio -> Configuración -> Panel de Control -> Sistema, o directamente Inicio -> Panel de Control -> Sistema para Windows XP/2003)

  • Vaya a la pestaña Avanzado

  • Clic en el botón 'Variables de Entorno'

  • Revise la parte de 'Variables de Sistema'

  • Clic en 'Nuevo' e ingrese 'PHPRC' como el nombre de variable y el directorio donde php.ini se encuentra como el valor de variable (por ej., C:\php)

  • Presione OK y reinicie la máquina

En Windows 98/Me necesita editar el archivo autoexec.bat:

  • Abra el Bloc de Notas (Inicio -> Ejecutar y escriba notepad)

  • Abra el archivo C:\autoexec.bat

  • Agregue una nueva línea al final del archivo: set PHPRC=C:\php (reemplace C:\php con el directorio donde se encuentre php.ini). Por favor note que la ruta no puede contener espacios. Por ejemplo, si instaló PHP en C:\Archivos de programa\PHP, debería ingresar C:\ARCHIV~1\PHP en su lugar.

  • Guarde el archivo y reinicie la máquina

¿Es posible usar la negociación de contenidos de Apache (opción MultiViews) con PHP?

Si los enlaces a archivos PHP incluyen la extensión, todo funciona perfectamente. Esta FAQ es sólo para aquellos casos en los que los enlaces a archivos PHP no incluyen la extensión y desea utilizar la negociación de contenidos para elegir archivos PHP desde una URL sin extensión. En este caso, reemplace la línea AddType application/x-httpd-php .php con:

AddHandler php5-script php
AddType text/html php
Esta solución no funciona para Apache 1 ya que el módulo de PHP no capta php-script.

¿PHP se limita a procesar sólo métodos de peticiones GET y POST?

No, es posible manejar cualquier método de peticiones, por, ej., CONNECT. El estado de respuesta apropiado puede ser enviado con header(). Si sólo los métodos GET y POST deberían ser manejados, se puede lograr con la siguiente configuración de Apache:

<LimitExcept GET POST>
Deny from all
</LimitExcept>

Problemas con bases de datos
Problemas de Compilación
FAQ


Problemas de Compilación

Esta sección reune la mayoría de errores que ocurren al momento de compilar.

  1. Tengo la última versión de PHP usando el servicio anónimo Git, pero no hay un script de configuración.
  2. Tengo problemas configurando PHP para que trabaje con Apache. Dice que no puede encontrar el httpd.h, pero esta justo donde digo que esta!
  3. Mientras se configura PHP (./configure), se devuelve un error similar al siguiente: checking lex output file root... ./configure: lex: command not found configure: error: cannot find output from lex; giving up
  4. Cuando intento iniciar Apache, obtengo el siguiente mensaje: fatal: relocation error: file /path/to/libphp4.so: symbol ap_block_alarms: referenced symbol not found
  5. Cuando ejecuto la configuración, dice que no puede encontrar los archivos o librerías para GD, gdbm, o algún otro paquete!
  6. Cuando se esta compilando el archivo language-parser.tab.c, da errores así yytname undeclared.
  7. Cuando ejecuto make, parece que se ejecuta bien, pero luego falla cuando intenta enlazar la aplicación final quejandose de que faltan algunos archivos.
  8. Cuando se enlaza PHP, se queja del número de referencias indefenidas.
  9. No puedo encontrar la manera de compilar PHP con Apache 1.3.
  10. He seguido todos los pasos para instalar la versión del módulo de Apache en Unix, y cuando mis scripts de PHP aparecen se me pregunta por guardar el archivo.
  11. Dice que use: --activate-module=src/modules/php4/libphp4.a, pero ese archivo no existe, asi que lo cambie a --activate-module=src/modules/php4/libmodphp4.a y no funciona!? que esta pasando?
  12. Cuando intento compilar Apache con PHP como un módulo estatico usando --activate-module=src/modules/php4/libphp4.a me dice que mi compilador no es compatible con ANSI.
  13. Cuando intento compilar PHP usando --with-apxs obtengo mensajes de error extraños.
  14. Durante el make, obtengo errores sobre microtime, y muchas cosas de RUSAGE_.
  15. Cuando compilo PHP con MySQL, la configuración se ejecuta bien, pero durante el make obtengo un error similar al siguiente: ext/mysql/ libmysqlclient /my_tempnam.o(.text+0x46): In function my_tempnam': /php4/ext/mysql/ libmysqlclient /my_tempnam.c:103: the use of tempnam' is dangerous, better use mkstemp', ¿Qué esta mal?
  16. Si deseo actualizar mi PHP. ¿Donde puedo encontrar la línea ./configure que fue usada para compilar mi instalación actual de PHP?
  17. Cuando compilo PHP con la librería GD, también da errores raros de compilación o segfaults en la ejecución.
  18. Cuando compilo PHP parece que recibo errores al azar, como si se colgara. Estoy usando Solaris si eso importa.
Tengo la última versión de PHP usando el servicio anónimo Git, pero no hay un script de configuración.

Se tiene que tener el paquete autoconf de GNU instalado y así se podrá generar el script de configuración desde configure.in. Solo se ejecuta ./buildconf en el directorio de nivel superior después de obtener los fuentes desde el servidor Git. (También, a menos que se ejecute configure con la opción --enable-maintainer-mode, el script de configuración no se recompilará automaticamente cuando el archivo configure.in es actualizado, así que debe de asegurarse que se hace manualmente cuando se note que configure.in haya cambiado. Un sintoma de esto es encontrar cosas como @VARIABLE@ en el archivo Makefile después de configurar o ejecutar config.status).

Tengo problemas configurando PHP para que trabaje con Apache. Dice que no puede encontrar el httpd.h, pero esta justo donde digo que esta!

Se necesita decirle al script configure/setup de apache la ubicación del nivel superior del árbol origen. Esto significa que se debe especificar --with-apache=/path/to/apache y no --with-apache=/path/to/apache/src .

Mientras se configura PHP (./configure), se devuelve un error similar al siguiente:

checking lex output file root... ./configure: lex: command not found
configure: error: cannot find output from lex; giving up

Se debe asegurar de leer cuidadosamente las instrucciones installation y notar que se necesita flex y bison instalados para compilar PHP. Dependiendo de la configuración, se necesitará instalar bison y flex desde el paquete de origen, como un RPM

Cuando intento iniciar Apache, obtengo el siguiente mensaje:

fatal: relocation error: file /path/to/libphp4.so:
symbol ap_block_alarms: referenced symbol not found

Este error usualmente se da cuando un programa del núcleo de Apache se compila como una librería DS0 para uso compartido. Se debe reconfigurar apache, asegurándose de usar al menos una de los siguientes flags:

--enable-shared=max --enable-rule=SHARED_CORE

Para mas información, leer el archivo de nivel superior de Apache INSTALL o las páginas del manual de Apache » DSO manual.

Cuando ejecuto la configuración, dice que no puede encontrar los archivos o librerías para GD, gdbm, o algún otro paquete!

Se puede configurar el script para que busque los archivos de encabezados y librerías en ubicaciones no estándar para especificar flags adicionales para ser pasados al preprocesador y compilador C, como:

    CPPFLAGS=-I/path/to/include LDFLAGS=-L/path/to/library ./configure
Si se esta usando una variante de csh como login shell (por qué?), debería de ser:
    env CPPFLAGS=-I/path/to/include LDFLAGS=-L/path/to/library ./configure

Cuando se esta compilando el archivo language-parser.tab.c, da errores así yytname undeclared.

Se debe actualizar la versión de Bison. Se puede encontrar la ultima versión en » http://www.gnu.org/software/bison/bison.html.

Cuando ejecuto make, parece que se ejecuta bien, pero luego falla cuando intenta enlazar la aplicación final quejandose de que faltan algunos archivos.

Algunas versiones antiguas de make no colocan correctamente las versiones compiladas de archivos y funciones de directorio en el mismo directorio. Se debe intentar ejecutar las funciones cp *.o y entonces re-ejecutar make para ver si eso ayuda. Si no lo hace, realmente se debería actualizar a la versión más reciente de GNU Make.

Cuando se enlaza PHP, se queja del número de referencias indefenidas.

Hay que mirar la linea del enlace y asegurarse de que todas las librerías apropiadas han sido incluidas al final. Las mas comunes que podrían estar perdidas son las '-ldl' y librerías requeridas como soporte por cualquier base de datos que se haya incluido.

Algunas personas han reportado que han tenido que adicionar '-ldl' inmediatamente seguido por libphp4.a cuando enlazan con Apache.

No puedo encontrar la manera de compilar PHP con Apache 1.3.

Esto es muy fácil actualmente. Siga cuidadosamente estos pasos:

  • Obtener la ultima distribución de Apache 1.3 desde » http://httpd.apache.org/download.cgi.
  • Descomprimir el archivo en alguna parte, por ejemplo /usr/local/src/apache-1.3.
  • Compilar PHP para la primera ejecución ./configure --with-apache=/<path>/apache-1.3 (sustituir <path> por la ruta actual del directorio de apache-1.3).
  • Escribir make seguido por make install para compilar PHP y copiar los archivos necesarios al árbol de la distribución de Apache.
  • Cambiar los directorios en el directorio /<path>/apache-1.3/src y editar el archivo de Configuration. Adicionar al archivo: AddModule modules/php4/libphp4.a.
  • Escribir: ./configure seguido por make.
  • Se debería tener ahora un httpd binario con PHP habilitado!

Nota:Se puede usar también el nuevo script ./configure. Ver las instrucciones en el archivo README.configure el cual es parte de la distribución de Apache. También se puede hechar una mirada al archivo INSTALL en la distribución de PHP.

He seguido todos los pasos para instalar la versión del módulo de Apache en Unix, y cuando mis scripts de PHP aparecen se me pregunta por guardar el archivo.

Esto significa que el módulo de PHP no esta siendo invocado por alguna razón. Hay tres cosas que chequear antes de pedir ayuda:

  • Asegurarse que el binario del httpd que se esta ejecutando es el nuevo binario httpd que se acaba de hacer. Para ver esto, se debe intentar ejecutar: /path/to/binary/httpd -l Si no se ve mod_php4.c listado, entonces no se esta ejecutando el binario correcto. Hay que encontrarlo e instalar el binario correcto.
  • Asegurarse de que es agregado el Mime Type correcto en uno de los archivos de Apache .conf. Debería de ser: AddType application/x-httpd-php .php También asegurarse que esta línea AddType no esta oculta dentro de un bloque de <Virtualhost> o uno de <Directory> el cual podría evitar que se aplique en el lugar donde se prueba el script.
  • Por último, el lugar por defecto de los archivos de configuración de Apache cambio entre Apache 1.2 y Apache 1.3. Se debería chequear que el archivo de configuración al cual se le agrega la línea AddType esta siendo leído actualmente. Se puede poner un error de sintaxis obvio dentro del archivo httpd.conf o algún otro cambio que pueda decir si el archivo esta siendo leído de forma correcta.

Dice que use: --activate-module=src/modules/php4/libphp4.a, pero ese archivo no existe, asi que lo cambie a --activate-module=src/modules/php4/libmodphp4.a y no funciona!? que esta pasando?

Hay que tener en cuenta que el archivo libphp4.a no se supone que exista. El proceso de apache sera creado!.

Cuando intento compilar Apache con PHP como un módulo estatico usando --activate-module=src/modules/php4/libphp4.a me dice que mi compilador no es compatible con ANSI.

Este es un mensaje de error equivocado de Apache que ha sido corregido en las versiones mas recientes.

Cuando intento compilar PHP usando --with-apxs obtengo mensajes de error extraños.

Hay 3 cosas que chequear aqui. Primero, por alguna razón cuando Apache compila el script de Perl apxs, algunas veces termina compilandose sin el compilador apropiado y sin los flags correspondientes. Hay que encontrar el script apxs (intentar con el comando which apxs), algunas veces se encuentra en /usr/local/apache/bin/apxs o /usr/sbin/apxs. Abrirlo y revisar las líneas similares a estas:

my $CFG_CFLAGS_SHLIB  = ' ';          # substituted via Makefile.tmpl
my $CFG_LD_SHLIB      = ' ';          # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = ' ';          # substituted via Makefile.tmpl
Si esto es lo que se ve, se ha encontrado el problema. Podrían contener espacios u otros valores incorrectos, como 'q()'. Hay que cambiar esas linas para que digan:
my $CFG_CFLAGS_SHLIB  = '-fpic -DSHARED_MODULE'; # substituted via Makefile.tmpl
my $CFG_LD_SHLIB      = 'gcc';                   # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = q(-shared);              # substituted via Makefile.tmpl
El segundo problema posible podría ser un caso único en Red Hat 6.1 y 6.2. El script apxs de Red Hat esta malo. Hay que ver esta línea:
my $CFG_LIBEXECDIR    = 'modules';         # substituted via APACI install
Si se ve como la línea anterior, hay que cambiarla por:
my $CFG_LIBEXECDIR    = '/usr/lib/apache'; # substituted via APACI install
Por último, si se reconfigura/reinstala Apache, hay que agregar un make clean al proceso después de ./configure y antes de make.

Durante el make, obtengo errores sobre microtime, y muchas cosas de RUSAGE_.

Durante la parte de la instalación de make, si se encuentran problemas que se vean similares a esto:

microtime.c: In function `php_if_getrusage':
microtime.c:94: storage size of `usg' isn't known
microtime.c:97: `RUSAGE_SELF' undeclared (first use in this function)
microtime.c:97: (Each undeclared identifier is reported only once
microtime.c:97: for each function it appears in.)
microtime.c:103: `RUSAGE_CHILDREN' undeclared (first use in this function)
make[3]: *** [microtime.lo] Error 1
make[3]: Leaving directory `/home/master/php-4.0.1/ext/standard'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/master/php-4.0.1/ext/standard'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/master/php-4.0.1/ext'
make: *** [all-recursive] Error 1

Significa que el sistema esta mal. Se necesita corregir los archivos /usr/include instalando el paquete glibc-devel que coincida con tu glibc. Esto no tiene nada que ver con PHP. Para comprobar esto, hay que hacer esta simple prueba:

$ cat >test.c <<X
#include <sys/resource.h>
X
$ gcc -E test.c >/dev/null
Si esto produce errores, se sabrá que los archivos incluidos están mal.

Cuando compilo PHP con MySQL, la configuración se ejecuta bien, pero durante el make obtengo un error similar al siguiente: ext/mysql/ libmysqlclient /my_tempnam.o(.text+0x46): In function my_tempnam': /php4/ext/mysql/ libmysqlclient /my_tempnam.c:103: the use of tempnam' is dangerous, better use mkstemp', ¿Qué esta mal?

Primero, es importante darse cuenta que esto es un Warning y no un error fatal. Debido a que esto es la última salida vista durante el make, podría verse como un error fatal pero no lo es. Por supuesto, si se ha puesto el compilador a que pare en los Warnings, lo hará. También hay que tener en mente que el soporte por MySQL es habilitado por defecto.

Nota:

Como en PHP 4.3.2, se verá el siguiente texto después de que se complete la compilación (make):

Build complete.
(Es seguro hacer caso omiso de las advertencias sobre tempnam y tmpnam).

Si deseo actualizar mi PHP. ¿Donde puedo encontrar la línea ./configure que fue usada para compilar mi instalación actual de PHP?

Si se mira el archivo config.nice, en el árbol origen de la instalación actual de PHP o, si esto no esta disponible, simplemente se debe ejecutar un script con

<?php phpinfo(); ?>
Al inicio de la salida se mostrará la línea ./configure que fue usada para compilar la instalación de PHP.

Cuando compilo PHP con la librería GD, también da errores raros de compilación o segfaults en la ejecución.

Hay que asegurar que la librería GD y PHP estan enlazados contra las mismas librerías dependientes (ej: libpng).

Cuando compilo PHP parece que recibo errores al azar, como si se colgara. Estoy usando Solaris si eso importa.

Usando utilidades no-GNU mientras se compila PHP podría causar problemas. Hay que asegurarse de usar herramientas GNU para estar seguros que la compilación de PHP funcionará. Por ejemplo, en Solaris, usando el SunOS BSD-compatible o versiones de Solaris de sed no funcionará, pero usando las versiones GNU o Sun POSIX (xpg4) de sed hará que funcione. Enlaces: » GNU sed, » GNU flex, y » GNU bison.

Instalación
Usando PHP
FAQ


Usando PHP

Esta sección reune varios errores comunes a los que se puede enfrentar mientras se escriben scripts en PHP.

  1. No puedo recordar el orden de los parámetros de las funciones de PHP, ¿son aleatorias?
  2. Me gustaría escribir un script genérico en PHP que pueda usar datos en cualquier formato. ¿Cómo puedo saber que variables pasadas por el método POST están disponibles?
  3. Necesito convertir todas las comillas simples (') a barras invertidas seguidas de comillas simples (\'). ¿Cómo puedo hacer esto con expresiones regulares? También me gustaría convertir " a \" y \ a \\.
  4. Todas mis " se convirtieron en \" y mis ' en \', ¿cómo puedo deshacerme de todas esas barras no deseadas? ¿Cómo y porqué están ahí?
  5. ¿Cómo afecta la directiva register_globals de PHP?
  6. Cuando hago lo siguiente, la salida se muestra en el orden equivocado: <?php function myfunc($argument) { echo $argument + 10; } $variable = 10; echo "myfunc($variable) = " . myfunc($variable); ?> ¿Qué está pasando?
  7. ¿Hey, qué le pasa a mis líneas nuevas? <pre> <?php echo "Esto debería ser la primer línea."; ?> <?php echo "Esto debería mostrarse después de la línea anterior."; ?> </pre>
  8. Recibo el mensaje 'Warning: Cannot send session cookie - headers already sent...' o 'Cannot add header information - headers already sent...'.
  9. Necesito accesar a información en las solicitudes de encabezados directamente. ¿Cómo puedo hacerlo?
  10. Cuando intento usar autenticación con IIS obtengo 'No Input file specified'. (no hay archivo de entrada especificado).
  11. Windows: No puedo accesar archivos compartidos en otra computadora usando IIS
  12. ¿Cómo se supone que mezclaría XML y PHP? no le parecen mis tags <?xml!
  13. ¿Dónde puedo encontrar una lista completa de variables disponibles en PHP?
  14. ¿Cómo puedo generar archivos PDF sin usar librerías no libres o librerías comerciales como PDFLib? Me gustaría algo que sea libre y no necesite librerías PDF externas.
  15. Estoy intentando accesar a una de las variables estándar CGI (como $DOCUMENT_ROOT o $HTTP_REFERER) en una función definida por el usuario, y parece que no puede encontrarla. ¿Qué está mal?
  16. Algunas directivas de PHP podrían recibir valores en bytes, en lugar de solo valores enteros. Cuales son las opciones de bytes disponibles? Y ¿puedo usarlas fuera de php.ini?
  17. En Windows: Tengo problemas intermitentes para conectar cuando utilizo localhost, "127.0.0.1" funciona?
No puedo recordar el orden de los parámetros de las funciones de PHP, ¿son aleatorias?

PHP es un pegamento que une cientos de librerías externas y esto a veces lo complica. Por eso, una simple regla de oro es la siguiente:

Los parámetros de una función Array están ordenados como "aguja, pajar" mientras que las funciones de Cadena son lo contrario, "pajar, aguja".

Me gustaría escribir un script genérico en PHP que pueda usar datos en cualquier formato. ¿Cómo puedo saber que variables pasadas por el método POST están disponibles?

PHP ofrece muchas variables predefinidas, como la variable superglobal $_POST. Se puede recorrer la variable $_POST como un array ya que es un array asociativo de todos los valores POSTeados. Por ejemplo, vamos a recorrer simplemente con foreach, revisar los valores vacíos(), e mostrarlos todos.

<?php
$empty = $post = array();
foreach ($_POST as $varname => $varvalue) {
    if (empty($varvalue)) {
        $empty[$varname] = $varvalue;
    } else {
        $post[$varname] = $varvalue;
    }
}

print "<pre>";
if (empty($empty)) {
    print "Ninguno de los valores POSTeados esta vacío, se envió:\n";
    var_dump($post);
} else {
    print "Tenemos " . count($empty) . " valores vacíos\n";
    print "posteados:\n"; var_dump($post);
    print "Vacíos:\n";  var_dump($empty);
    exit;
}
?>

Nota: Nota de disponibilidad de Superglobals

Los arrays Superglobal como $_GET, $_POST y $_SERVER, etc. están disponibles desde PHP 4.1.0. Para más información, lea la sección del manual en superglobals

Necesito convertir todas las comillas simples (') a barras invertidas seguidas de comillas simples (\'). ¿Cómo puedo hacer esto con expresiones regulares? También me gustaría convertir " a \" y \ a \\.

Asumiendo que esto es para una base de datos, se puede usar el mecanismo que viene con ésta. Por ejemplo, usar la función mysql_real_escape_string() con MYSQL y pg_escape_string() con PostgreSQL. Hay también funciones genéricas como addslashes() y stripslashes(), que son más comunes en código PHP antiguo.

Nota: Nota de la directiva: magic_quotes_gpc

La directiva PHP magic_quotes_gpc tiene por defecto el valor on. Básicamente ejecuta addslashes() en los datos obtenidos por GET, POST, y COOKIE. Se puede usar stripslashes() para quitarlos.

Todas mis " se convirtieron en \" y mis ' en \', ¿cómo puedo deshacerme de todas esas barras no deseadas? ¿Cómo y porqué están ahí?

Lo más probable es que esas barras invertidas existan porque la directiva de PHP magic_quotes_gpc está activada. Esta es una característica antigua de PHP, y debería deshabilitarse y no usarse más. Pero, la función stripslashes() podría usarse para eliminar las barras invertidas de un string.

Nota: Nota de la directiva: magic_quotes_gpc

La directiva PHP magic_quotes_gpc tiene por defecto el valor on. Básicamente ejecuta addslashes() en los datos obtenidos por GET, POST, y COOKIE. Se puede usar stripslashes() para quitarlos.

¿Cómo afecta la directiva register_globals de PHP?
Advertencia

Esta característica ha sido declarada OBSOLETA desde PHP 5.3.0 y ELIMINADA a partir de PHP 5.4.0.

En primer lugar, una explicación de lo que hace la configuración ini. Digamos que la siguiente URL esta siendo usada: http://example.com/foo.php?animal=cat y en el archivo foo.php tuviéramos el siguiente código PHP:

<?php
//Es preferible usar $_GET aqui
echo $_GET['animal'];

// para que la variable $animal exista, register_globlas debe estar en ON
// NO SE DEBE HACER ESTO
echo $animal;

// Esto aplica a todas las variables, inclusve a las variables $_SERVER
echo $_SERVER['PHP_SELF'];

// de nuevo, para que $PHP_SELF exista, register_globals debe estar en ON
// NO SE DEBE HACER ESTO
echo $PHP_SELF;
?>

El código anterior demuestra como register_globals crea varias variables. Por años este tipo de código ha sido mal visto, y también ha sido deshabilitado por defecto. Así que aunque la mayoría de hosting deshabilitan register_globals, aun hay artículos desactualizados, tutoriales y libros que lo requieren habilitado.

Ver también los siguientes recursos para información adicional:

  • La directiva register_globals
  • El capítulo de seguridad acerca de register globals
  • Manejando variables externas
  • Usar superglobals en su lugar

Nota:

En el ejemplo anterior, usamos una URL que contiene un QUERY_STRING. El paso de la información se hace a través de una solicitud HTTP GET, y es esta la razón por la que se usa la variables superglobal $_GET.

Cuando hago lo siguiente, la salida se muestra en el orden equivocado:
<?php
function myfunc($argument)
{
    echo $argument + 10;
}
$variable = 10;
echo "myfunc($variable) = " . myfunc($variable);
?>
¿Qué está pasando?

Para habilitar que las funciones entreguen como resultado expresiones (como concatenarse con otras cadenas como en el ejemplo anterior), se necesita el valor return, no la función echo.

¿Hey, qué le pasa a mis líneas nuevas?
<pre>
<?php echo "Esto debería ser la primer línea."; ?>
<?php echo "Esto debería mostrarse después de la línea anterior."; ?>
</pre>

"?>\n" (donde \n significa una nueva línea). Entonces, en el En PHP, el fin para un bloque de código es o bien "?>" o ejemplo anterior, las sentencias a las que se les dio el echo estarán en una línea, porque PHP omite las líneas nuevas después del final de un bloque. Esto significa que se necesita agregar una línea extra después de cada bloque de código PHP para lograr que se imprima una nueva línea.

¿Porqué PHP hace esto? por que cuando se formatea HTML normal, esto normalmente hace la vida más fácil por que no se quiere esa nueva línea, pero se tendrían que crear líneas extremadamente largas o en otro caso hacer el código fuente de la pagina ilegible para que tenga efecto.

Recibo el mensaje 'Warning: Cannot send session cookie - headers already sent...' o 'Cannot add header information - headers already sent...'.

Las funciones header(), setcookie(), y las funciones de sesión necesitan agregar encabezados (headers) a la salida pero los encabezados solo pueden enviarse antes que cualquier otro contenido. No deben de haber salidas antes de usar esas funciones, salidas como HTML. La función headers_sent() chequeará si tu script ya ha enviado los headers y mirará también las Funciones de control de salidas.

Necesito accesar a información en las solicitudes de encabezados directamente. ¿Cómo puedo hacerlo?

La función getallheaders() hará esto si se ésta ejecutando PHP como un módulo de Apache. Entonces, el siguiente código mostrará todas las peticiones a los encabezados:

<?php
$headers = getallheaders();
foreach ($headers as $name => $content) {
    echo "headers[$name] = $content<br />\n";
}
?>

Ver también
 apache_lookup_uri(),
 apache_response_headers(), y
 fsockopen()

Cuando intento usar autenticación con IIS obtengo 'No Input file specified'. (no hay archivo de entrada especificado).

El modelo de seguridad de IIS falla aquí. Este es un problema común de todos los programas CGI que se ejecutan bajo IIS. Una solución es crear un archivo plano HTML (no interpretado por PHP) como la página de entrada en el directorio autenticado. Entonces usa el tag META para direccionar a la página en PHP, o ten un enlace a la página en PHP. Entonces PHP reconocerá la autenticación correctamente. Con el módulo ISAPI, esto no es un problema. Esto no debería afectar otros servidores web NT. Para más información, ver: » http://support.microsoft.com/kb/q160422/ y la sección del manual Autenticación HTTP.

Windows: No puedo accesar archivos compartidos en otra computadora usando IIS

Se tiene que cambiar el Go to Internet Information Services. Se debe localizar el archivo PHP e ir a sus propiedades. Luego ir al tab Seguridad de Archivos y, Editar -< Acceso anónimo y control de autenticación.

Se puede corregir el problema ya sea deshabilitando Acceso anónimo y dejando Autenticación Integrada de Windows marcado, o, marcando Acceso anónimo y editando al usuario ya que no tendría que tener acceso.

¿Cómo se supone que mezclaría XML y PHP? no le parecen mis tags <?xml!

Con el fin de integrar directamente <?xml en el código PHP, se tiene que deshabilitar los tags cortos en la directiva de PHP short_open_tags poniéndolo a 0. No se puede establecer esta directiva con ini_set(). Independientemente de que short_open_tags este On u Off, se puede hacer algo como: <?php echo '<?xml'; ?>. La directiva por defecto es On.

¿Dónde puedo encontrar una lista completa de variables disponibles en PHP?

Leer la página del manual variables predefinidas el cual incluye una lista parcial de variables predefinidas disponibles para tu script. Una lista completa de variables disponibles (y mucha mas información) puede ser vista llamando a la función phpinfo(). Hay que asegurarse de leer la sección del manual variables desde fuera de PHP el cuál describe escenarios comunes para variables externas, como por ejemplo desde un formulario HTML, una Cookie, y una URL.

Nota: register_globals: Observación importante

Desde PHP 4.2.0, el valor por defecto de la directiva register_globals es off. La comunidad de PHP desaconseja el uso de esta directiva y sugiere el uso de otras formas como superglobals.

¿Cómo puedo generar archivos PDF sin usar librerías no libres o librerías comerciales como PDFLib? Me gustaría algo que sea libre y no necesite librerías PDF externas.

Hay algunas alternativas escritas en PHP como » FPDF y » TCPDF.

También esta la extensión Haru que usa la librería externa libHaru.

Estoy intentando accesar a una de las variables estándar CGI (como $DOCUMENT_ROOT o $HTTP_REFERER) en una función definida por el usuario, y parece que no puede encontrarla. ¿Qué está mal?

Es importante realizar que la directiva de PHP register_globals tenga efectos en el servidor y las variables del entorno. Cuando register_globals = off (el valor por defecto desde PHP 4.2.0), $DOCUMENT_ROOT no existe. En su lugar, se debe usar $_SERVER['DOCUMENT_ROOT']. Si register_globals = on entonces las variables $DOCUMENT_ROOT y $GLOBALS['DOCUMENT_ROOT'] también existirán.

Si se está seguro de que register_globals = on y se pregunta porque $DOCUMENT_ROOT no esta disponible para las funciones, es por que son como las otras variables y requerirán la variable global $DOCUMENT_ROOT dentro de la función. Ver también la página del manual en ámbito de las variables. Es preferible hacer el código con register_globals = off.

Nota: Nota de disponibilidad de Superglobals

Los arrays Superglobal como $_GET, $_POST y $_SERVER, etc. están disponibles desde PHP 4.1.0. Para más información, lea la sección del manual en superglobals

Algunas directivas de PHP podrían recibir valores en bytes, en lugar de solo valores enteros. Cuales son las opciones de bytes disponibles? Y ¿puedo usarlas fuera de php.ini?

Las opciones disponibles son K (por Kilobytes), M (por Megabytes) y G (por Gigabytes; disponibles desde PHP 5.1.0), ellos son sensibles a mayúsculas y minúsculas. Cualquier otra cosa, asume bytes. 1M es igual a un Megabyte o 1048576 bytes. 1K es igual a un Kilobyte o 1024 bytes. No se debería usar esas abreviaciones fuera de php.ini, en su lugar se usa un valor entero de bytes. Ver la documentación de ini_get() para ver un ejemplo de como convertir esos valores.

Nota: kilobyte versus kibibyte

La notación de PHP describe que un kilobyte equivale a 1024 bytes, mientras que el estándar IEC considera que debe ser un kibibyte. Resumiendo: k y K = 1024 bytes.

En Windows: Tengo problemas intermitentes para conectar cuando utilizo localhost, "127.0.0.1" funciona?

Antes de PHP 5.3.4, existía un bug en el código de resolución de red dentro de PHP que causaba errores usando localhost en todas las situaciones relacionadas con streaming si IPv6 estaba habilitado. Para solucionar este problema se puede usar tanto "127.0.0.1" como deshabilitar el resolver usando IPv6 en el fichero hosts.

Problemas de Compilación
Hash de Contraseñas
FAQ


Hash de contraseñas seguro

Esta sección explica las razones que justifican el uso de funciones hash para proteger las contraseñas. También se explica cómo hacerlo de un modo efectivo.

  1. ¿Por qué debo usar hash en las contraseñas de los usuarios de mi aplicación?
  2. ¿Por qué las funciones hash más comunes como md5 y sha1 no son adecuadas para las contraseñas?
  3. ¿Qué hash debo aplicar a mis contraseñas, si las funciones hash más comunes no son adecuadas?
  4. ¿Qué es el salt?
¿Por qué debo usar hash en las contraseñas de los usuarios de mi aplicación?

El hash de contraseñas es una de las consideraciones de seguridad más elementales que se deben llevar a la práctica al diseñar una aplicación que acepte contraseñas de los usuarios. Sin hashing, cualquier contraseña que se almacene en la base de datos de la aplicación podrá ser robada si la base de datos se ve comprometida, con lo que inmediatamente no sólo estaría comprometida la aplicación, sino también las cuentas de otros servicios de nuestros usuarios, siempre y cuando no utilicen contraseñas distintas.

Si aplicamos un algoritmo hash a las contraseñas antes de almacenarlas en la base de datos, dificultamos al atacante el determinar la contraseña original, pese a que en un futuro podrá comparar el hash resultanente con la contraseña original.

Sin embargo, es importante tener en cuenta que el hecho de aplicar hash a las contraseñas sólo protege de que se vean comprometidas las contraseñas almacenadas, pero no las proteje necesariamente de ser interceptadas por un código malicioso inyectado en la propia aplicación.

¿Por qué las funciones hash más comunes como md5() y sha1() no son adecuadas para las contraseñas?

Los algoritmos hash como MD5, SHA1 o SHA256 están diseñados para ser muy rápidos y eficientes. Con las técnicas y equipos modernos, es algo trivial extraer por fuerza bruta la salida de estos algoritmos, para determinar los datos de entrada originales.

Dada la velocidad con que los ordenadores actuales pueden "invertir" estos algoritmos hash, muchos profesionales de la seguridad recomiendan encarecidamente no utilizarlas como funciones hash para contraseñas.

¿Qué hash debo aplicar a mis contraseñas, si las funciones hash más comunes no son adecuadas?

Al aplicar un algoritmo hash, los dos factores más importantes son el coste computacional y el salt. Cuanto más cueste aplicar un algoritmo hash, más costará analizar su salida por fuerza bruta.

PHP incluye dos funciones que pueden aplicar hash usando el algoritmo que se le especifique.

La primera función hash es crypt(), que de forma nativa soporta varios algoritmos hash. Al usar esta función, tendremos garantías de que el algoritmo elegido estará disponible, ya que PHP trae una implementación nativa de cada uno de los algoritmos soportados, en caso de que alguna de estas funciones no estén incluídas en el sistema.

La segunda función es hash(), que soporta muchos más algoritmos y variantes que crypt(), pero no soporta a alguno de los algoritmos que crypt() sí. La extensión hash está incluída en PHP, puede se puedes deshabilitar en tiempo de compilación, por lo que no se garantiza su disponibilidad, mientras que la de crypt() sí, ya que forma parte del nucleo de PHP.

El algoritmo recompendad para usar al hacer hash en contraseñas es Blowfish, ya que es significativamente más caro computacionalmente que MD5 o SHA1, a la vez que es escalable.

¿Qué es el salt?

Un salt criptográfico es un dato que se utiliza durante el proceso de hash para eliminar la posibilidad de que el resultado pueda buscarse a partir de una lista de pares precalculados de hash y sus entradas originales, conocidas como tablas rainbow.

Es decir, un salt es un pequeño dato añadido que hace que los hash sean significantemente más difíciles de crackear. Existe un gran número de servicios online que ofrecen grandes listas de códigos hash precalculados, junto con sus datos de entrada originales. El uso de salt hace muy difícil o imposible encontrar el hash resultante en cualquiera de estas listas.

Usando PHP
PHP y HTML
FAQ


PHP y HTML

PHP y HTML interactúan mucho: PHP puede generar HTML, y HTML puede pasar información a PHP. Antes de leer esta sección, es importante que aprenda cómo recuperar variables desde fuentes externas. La página del manual sobre este tema incluye muchos ejemplos también. Preste atención especialmente a lo que register_globals representa para usted.

  1. ¿Qué codificación/decodificación es necesaria al pasar un valor a través de un formulario/URL?
  2. Estoy intentando usar una etiqueta <input type="image">, pero las variables $foo.x y $foo.y no están disponibles. $_GET['foo.x'] tampoco existe. ¿Dónde están?
  3. ¿Cómo creo arrays en un <form> de HTML?
  4. ¿Cómo obtengo todos los resultados de una etiqueta de selección múltiple en HTML?
  5. ¿Cómo puedo pasar una variable de Javascript a PHP?
¿Qué codificación/decodificación es necesaria al pasar un valor a través de un formulario/URL?

Existen varios escenarios en los que la codificación es importante. Asumiendo que se tiene un valor $datos de tipo string, el cual contiene la cadena que desea pasar sin codificar, existen los escenarios relevantes:

  • Interpretación de HTML. Para especificar una cadena aleatoria, es necesario incluirla entre comillas dobles, y aplicar htmlspecialchars() sobre el valor completo.

  • URL: Un URL consta de varias partes. Si los datos han de ser interpretados como un elemento, es necesario codificarlo con urlencode().

Ejemplo #1 Un elemento oculto de un formulario HTML

<?php
    echo '<input type="hidden" value="' . htmlspecialchars($datos) . '" />'."\n";
?>

Nota: No es correcto aplicar urlencode() sobre $datos, ya que es responsabilidad de los navegadores codificar los datos. Todos los navegadores populares lo realizan correctamente. Observe que esto ocurrirá independientemente del método (es decir, GET o POST). Aunque solo se observará esto en el caso de una petición GET, ya que las peticiones POST normalmente están ocultas.

Ejemplo #2 Datos a editar por el usuario

<?php
    echo "<textarea name='misdatos'>\n";
    echo htmlspecialchars($datos)."\n";
    echo "</textarea>";
?>

Nota: Los datos son mostrados en el navegador como se esperaba, ya que el navegador interpretará los símbolos HTML escapados. Durante el envío, ya sea mediante GET o POST, los datos serám codificados por el navegador para su transferencia, y serán decodificados directamente por PHP. Por lo tanto, no será neceario realizar ninguna codificación/decodificación, todo es manejado automáticamente.

Ejemplo #3 En un URL

<?php
    echo '<a href="' . htmlspecialchars("/siguientepagina.php?etapa=23&datos=" .
        urlencode($datos)) . '">'."\n";
?>

Nota: De hecho, se está imitando una petición GET de HTML, por lo que no es necesario aplicar urlencode() manualmente a los datos.

Nota: Es necesario usar htmlspecialchars() sobre el URL completo, ya que el URL se da como un valor de un atributo HTML. En este caso, el navegador primero reemplazará los caracteres HTML especiales por los caracteres correctos del valor, y luego pasará el URL. PHP entenderá el URL correctamente, ya que ya se utilizó urlencode() sobre los datos. Se observará que el caracter & en el URL es reemplazado por &amp;. Aunque la mayoría de navegadores entenderán el carácter si se olvida esto, no siempre es posible que ocurra. Así que, incluso si un URL no es dinámico, es necesario usar htmlspecialchars() sobre el URL.

Estoy intentando usar una etiqueta <input type="image">, pero las variables $foo.x y $foo.y no están disponibles. $_GET['foo.x'] tampoco existe. ¿Dónde están?

Cuando se envía un formulario, es posible usar una imagen en lugar del botón de envío estándar con una etiqueta como esta:

<input type="image" src="imagen.gif" name="foo" />
Cuando un usuario pulsa sobre la imagen, el formulario al que pertenece será transmitido al servidor con dos variables adicionales: foo.x y foo.y.

Dado que foo.x y foo.y habrían representado nombres de variable inválidos en PHP, éstas son convertidas automáticamente a foo_x y foo_y. Es decir, los puntos son reemplazados con caracteres de subrayado. Por lo tanto, es posible acceder a estas variables como cualquier otra descrita en la sección sobre la recuperación de variables desde fuentes externas. Por ejemplo, $_GET['foo_x'].

Nota:

Los espacios en nombres de variables de petición son convertidos a caracteres de subrayado.

¿Cómo creo arrays en un <form> de HTML?

Para hacer que el resultado de <form> sea enviado como un array a un script de PHP, se deben nombrar los elementos <input>, <select> o <textarea> de esta forma:

<input name="MiArray[]" />
<input name="MiArray[]" />
<input name="MiArray[]" />
<input name="MiArray[]" />
Observe los corchetes después del nombre de la variable; ellos son los que la convierten en un array. Es posible agrupar los elementos en diferentes arrays asignando el mismo nombre a elementos diferentes:
<input name="MiArray[]" />
<input name="MiArray[]" />
<input name="MiOtroArray[]" />
<input name="MiOtroArray[]" />
Esto produce dos array, MiArray y MiOtroArray, que son enviados al script PHP. También es posible asignar claves específicas a los arrays:
<input name="OtroArray[]" />
<input name="OtroArray[]" />
<input name="OtroArray[email]" />
<input name="OtroArray[telefono]" />
El array OtroArray ahora tendrá las claves 0, 1, email y telefono.

Nota:

La especificación de claves de arrays es opcional en HTML. Si no se especifican las claves, el array será rellenado en el orden en que aparecen los elementos en el formulario. Nuestro primer ejemplo contendrá las claves 0, 1, 2 y 3.

Véase también Funciones de arrays y Variables desde fuentes externas.

¿Cómo obtengo todos los resultados de una etiqueta de selección múltiple en HTML?

La etiqueta de selección múltiple en una construcción HTML permite a los usuarios elegir varios elementos de una lista. Estos elementos son pasados entonces al gestor de la acción del formulario. El problema es que todos son pasados con el mismo nombre de control. Es decir,

<select name="var" multiple="yes">
Cada opción elegida llegará al gestor de la acción como:
var=opcion1
var=opcion2
var=opcion3
Cada opción sobrescribirá el contenido de la variable $var anterior. La solución es usar la característica "array desde un elemento de formulario" de PHP. Debería usarse la siguiente forma:
<select name="var[]" multiple="yes">
Esto le indica a PHP que debe tratar $var como un array y que cada asignación de un valor a var[] añade un elemento al array. El primer elemento se convierte en $var[0], el siguiente en $var[1], etc. La función count() puede usarse para determinar cuántas opciones fueron seleccionadas, y la función sort() puede usarse para ordenar el array de opciones si fuera necesario.

Observe que si se está usando JavaScript, los caracteres [] en el nombre del elemento podrían causar problemas al intentar referirse al elemento por su nombre. Use el ID numérico del elemento del formulario en su lugar, o encierre el nombre de la variable entre comillas simples y úselo como índice del array de elementos, por ejemplo:

variable = documents.forms[0].elements['var[]'];

¿Cómo puedo pasar una variable de Javascript a PHP?

Ya que Javascript es una tecnología (usualmente) del lado del cliente, y PHP es (usualmente) una tecnología del lado del servidor, y dado que HTTP es un protocolo "sin estados", los dos lenguajes no pueden compartir variables directamente.

Sin embargo, es posible pasar variables entre los dos. Una forma de hacerlo es generar código Javascript con PHP, y hacer que el navegador se refresque a sí mismo, volviendo a pasar variables específicas al script de PHP. El ejemplo de abajo muestra precisamente cómo hacer esto; permite que el código de PHP capture el alto y el ancho de la pantalla, algo que normalmente sólo es posible en el lado del cliente.

Ejemplo #4 Generación de Javascript con PHP

<?php
if (isset($_GET['ancho']) AND isset($_GET['alto'])) {
  // imprimir las variables de geometría
  echo "El ancho de la pantalla es: ". $_GET['ancho'] ."<br />\n";
  echo "El alto de la pantalla es: ". $_GET['alto'] ."<br />\n";
} else {
  // pasar las variables de geometría
  // (preservar la cadena de consulta original
  //   -- las variables post deberán ser manejadas de otra forma)

  echo "<script language='javascript'>\n";
  echo "  location.href=\"${_SERVER['SCRIPT_NAME']}?${_SERVER['QUERY_STRING']}"
            . "&ancho=\" + screen.width + \"&alto=\" + screen.height;\n";
  echo "</script>\n";
  exit();
}
?>

Hash de Contraseñas
PHP y COM
FAQ


PHP y COM

PHP puede ser usado para acceder a objetos COM y DCOM en plataformas Win32.

  1. He compilado un DLL para calcular algo. ¿Hay alguna forma de ejecutar ese DLL bajo PHP?
  2. ¿Qué quiere decir 'Unsupported variant type: xxxx (0xxxxx)'?
  3. ¿Es posible manipular objetos visuales en PHP?
  4. ¿Puedo almacenar un objeto COM en una sesión?
  5. ¿Cómo puedo atrapar errores de COM?
  6. ¿Puedo generar archivos DLL desde scripts PHP como puedo en Perl?
  7. ¿Qué quiere decir 'Unable to obtain IDispatch interface for CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}'?
  8. ¿Cómo puedo ejecutar un objeto COM desde un servidor remoto?
  9. Recibo 'DCOM is disabled in C:\ruta...\nombre_script.php on line 6', ¿qué puedo hacer?
  10. ¿Es posible leer/manipular un objeto ActiveX en una página con PHP?
  11. ¿Es posible obtener una instancia en ejecución de un componente?
  12. ¿Hay una forma de manejar un evento enviado desde un objeto COM?
  13. Estoy teniendo problemas al intentar invocar un método de un objeto COM el cual expone más de una interfaz. ¿Qué puedo hacer?
  14. Así que PHP funciona con COM, ¿qué hay de COM+?
  15. Si PHP puede manipular objetos COM, ¿podemos imaginar el uso de MTS para manejar recursos de componentes, en conjunto con PHP?
He compilado un DLL para calcular algo. ¿Hay alguna forma de ejecutar ese DLL bajo PHP?

Si se trata de un DLL simple no hay forma aun de ejecutarlo desde PHP. Si el archivo DLL contiene un servidor COM es posible que pueda acceder a él si implementa la interfaz IDispatch.

¿Qué quiere decir 'Unsupported variant type: xxxx (0xxxxx)'?

Existen docenas de tipos VARIANT y combinaciones de ellos. La mayoría de ellos son soportados pero algunos aun deben ser implementados. Las matrices no están completamente soportadas. Solo las matrices uni-dimensionales de índice pueden ser pasadas entre PHP y COM. Si encuentra otros tipos que no sean soportados, por favor repórtelos como un bug (si aun no han sido reportados) y ofrezca tanta información como tenga disponible.

¿Es posible manipular objetos visuales en PHP?

En general es posible, pero ya que PHP es usado frecuentemente como un lenguaje de scripting web, corre en el contexto de servidores web, por lo que objetos visuales nunca aparecerán en el escritorio de los servidores. Si usa PHP para una aplicación de scripting, p.ej. en conjunto con PHP-GTK, no hay limitaciones al acceder y manipular objetos visuales a través de COM.

¿Puedo almacenar un objeto COM en una sesión?

No, no puede. Las instancias COM son tratadas como recursos y por lo tanto sólo están disponibles en el contexto de un script único.

¿Cómo puedo atrapar errores de COM?

En PHP 5, la extensión COM arroja excepciones com_exception, las cuales puede atrapar y luego inspeccionar el miembro code para determinar el siguiente paso.

En PHP 4 no es posible atrapar errores COM más allá de los métodos ofrecidos por PHP mismo (@, track_errors, ..).

¿Puedo generar archivos DLL desde scripts PHP como puedo en Perl?

No, desafortunadamente no existe una herramienta de ese tipo disponible para PHP.

¿Qué quiere decir 'Unable to obtain IDispatch interface for CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}'?

Este error puede tener varias razones:

  • el valor CLSID es incorrecto
  • el archivo DLL solicitado no existe
  • el componente solicitado no implementa la interfaz IDispatch

¿Cómo puedo ejecutar un objeto COM desde un servidor remoto?

Exactamente como ejecuta objetos locales. Tan solo debe pasar la IP de la máquina remota como segundo parámetro al constructor COM.

Asegúrese de que ha definido com.allow_dcom =TRUE en su php.ini.

Recibo 'DCOM is disabled in C:\ruta...\nombre_script.php on line 6', ¿qué puedo hacer?

Edite su archivo php.ini y defina com.allow_dcom =TRUE.

¿Es posible leer/manipular un objeto ActiveX en una página con PHP?

Esto no tiene nada que ver con PHP. Los objetos ActiveX son cargados en el lado del cliente si son solicitados por el documento HTML. No hay relación con el script PHP y por lo tanto no hay una interacción directa posible con el lado del servidor.

¿Es posible obtener una instancia en ejecución de un componente?

Esto es posible con la ayuda de monikers. Si desea obtener múltiples referencias a la misma instancia de word, puede crear esa instancia como se muestra:

<?php
$word = new COM("C:\docs\word.doc");
?>

Esto creará una nueva instancia si no hay una instancia en ejecución disponible, o devolverá un gestor a la instancia en ejecución, si existe.

¿Hay una forma de manejar un evento enviado desde un objeto COM?

Puede definir el receptor de un evento y asociarlo usando com_event_sink(). Es posible usar com_print_typeinfo() para que PHP genere un esqueleto para la clase receptora del evento.

Estoy teniendo problemas al intentar invocar un método de un objeto COM el cual expone más de una interfaz. ¿Qué puedo hacer?

La respuesta es tan simple como poco satisfactoria. No estamos seguros pero parece que no es posible hacer nada. Si alguien tiene información específica al respecto, por favor » infórmenos :)

Así que PHP funciona con COM, ¿qué hay de COM+?

COM+ extiende COM mediante un marco para administrar componentes a través de MTS y MSMQ pero no hay nada especial que PHP deba soportar para usar tales componentes.

Si PHP puede manipular objetos COM, ¿podemos imaginar el uso de MTS para manejar recursos de componentes, en conjunto con PHP?

PHP por sí mismo no maneja transacciones aun. Por lo tanto si un error ocurre no se inicia un proceso rollback. Si usa componentes que soporten transacciones tendrá que implementar la gestión de transacciones usted mismo.

PHP y HTML
Migración de PHP 4 a PHP 5
FAQ


Migración de PHP 4 a PHP 5

Esta sección de la FAQ lo ayudará a migrar de PHP 4 a PHP 5.

  1. Migración de PHP 4 a PHP 5
  2. ¿MySQL funciona con PHP 5? Pareciera que ya no.
  3. He oído que PHP 5 tiene un modelo OOP totalmente renovado, ¿Mi código OOP existente seguirá funcionando? ¿Dónde encuentro información sobre las nuevas características del modelo OOP?
  4. Entonces, además del nuevo modelo OOP, ¿Qué más cambió en PHP 5? ¿También hay una versión específica del manual correspondiente a PHP 5?
Migración de PHP 4 a PHP 5

A pesar de que PHP 5 ofrece muchas características nuevas, fue diseñado para ser tan compatible como fuese posible con versiones anteriores con pequeñas funcionalidades arruinadas en el proceso.

Asegúrese de leer el apropiado Apéndice de migración a PHP 5 de este manual ya que contiene aún más información en el tema de migrar a PHP 5.

¿MySQL funciona con PHP 5? Pareciera que ya no.

MySQL es soportado con la única diferencia que dicho soporte ya no está habilitado por defecto en PHP 5. Esto esencialmente significa que PHP no incluye la opción --with-mysql en la línea configure para que se deba agregar manualmente a la hora de compilar PHP. Los usuarios de Windows tendrán que editar php.ini y habilitar la DLL php_mysql.dll. En PHP 4 esa DLL no existía, sino que simplemente estaba incorporada en los binarios de PHP para Windows.

También, las bibliotecas de cliente MySQL ya no están incluidas con PHP. Más detalles sobre este tema son desarrollados en la siguiente FAQ y asegúrese de leer la sección de MySQL para detalles sobre la instalación de MySQL. Un ejemplo de línea configure sería --with-mysql=/usr mientras que usuarios de Windows necesitarán tener disponible libmySQL.dll

He oído que PHP 5 tiene un modelo OOP totalmente renovado, ¿Mi código OOP existente seguirá funcionando? ¿Dónde encuentro información sobre las nuevas características del modelo OOP?

El principal cambio en PHP 5 es el modelo OOP ya que PHP 5 ahora utiliza el Zend Engine 2.0. La directiva zend.ze1_compatibility_mode habilita compatibilidad con el Zend Engine 1.0 (PHP 4).

El nuevo modelo OOP está documentado en las secciones Referencia del lenguaje - OOP y Apéndice de migración - OOP.

Entonces, además del nuevo modelo OOP, ¿Qué más cambió en PHP 5? ¿También hay una versión específica del manual correspondiente a PHP 5?

Existen otros pocos cambios, vea el Apéndice de migración a PHP 5 para detalles. No habrá una versión específica del manual correspondiente a PHP 5 puesto que mayoritariamente PHP permanece igual.

PHP y COM
Preguntas Varias
FAQ


Preguntas Varias

Puede que existan algunas preguntas que no podemos colocar en otras categorías. Este es el lugar en donde puede encontrarlas.

  1. ¿Cómo puedo manipular los manuales comprimidos mediante bz2 en Windows?
  2. ¿Qué significa un signo & al lado de un argumento en la declaración de una función, como p.ej. asort?
  3. ¿Cómo manejo el parámetro register_globals?
¿Cómo puedo manipular los manuales comprimidos mediante bz2 en Windows?

Si no cuenta con una herramienta de archivación que pueda manejar archivos bz2, » descargue la herramienta de línea de comandos de RedHat (por favor refiérase a la inforamción presentada más adelante).

Si no desea usar una herramienta de línea de comandos, puede probar herramientas gratuitas como » Stuffit Expander, » UltimateZip, » 7-Zip, o » Quick Zip. Si dispone de herramientas como » WinRAR o » Power Archiver, puede descomprimir fácilmente archivos bz2 con ellas. Si usa Total Commander (anteriormente Windows Commander), un módulo adicional para ese programa se encuentra disponible de forma gratuita desde el sitio de » Total Commander.

La herramienta bzip2 de línea de comandos por Redhat:

Los usuarios de Win2k Sp2 deben obtener la versión más reciente, 1.0.2, todos los demás usuarios de Windows deben obtener la versión 1.00. Después de la descarga, renombre el ejecutable a bzip2.exe. Para mayor conveniencia, colóquelo en un directorio que sea parte de sus rutas predeterminadas, p.ej. C:\Windows, en donde C representa la unidad en donde se encuentra su instalación de Windows.

Nota: lang representa su lenguaje, y x el formato deseado, p.ej: pdf. Para descomprimir el archivo php_manual_lang.x.bz2 siga las siguientes instrucciones:

  • abra una ventana con el intérprete de comandos
  • cambie de directorio hacia la carpeta en donde almacenó el archivo php_manual_lang.x.bz2 descargado
  • invoque bzip2 -d php_manual_lang.x.bz2, extrayendo de este modo php_manual_lang.x en la misma carpeta

En caso de que haya descargado el archivo php_manual_lang.tar.bz2 con varios archivos html en su interior, el procedimiento es el mismo. La única diferencia es que recibe un archivo php_manual_lang.tar. Se conoce que el formato tar es tratado por la mayoría de archivadores en Windows, como por ejemplo » WinZip.

¿Qué significa un signo & al lado de un argumento en la declaración de una función, como p.ej. asort()?

Quiere decir que el argumento es pasado por referencia y es probable que la función modifique el argumento de acuerdo con la documentación. Sólo puede pasar variables de este modo y no necesita pasarlas con el signo & en la llamada de la función (tal cosa es considerada obsoleta).

¿Cómo manejo el parámetro register_globals?

Para información sobre las implicaciones de seguridad de register_globals, lea el capítulo de seguridad sobre el Uso de register_globals.

Es recomendable usar superglobales, en lugar de depender en la activación de register_globals.

Si se encuentra en un servidor compartido con register_globals desactivado y necesita usar aplicaciones antiguas, que requieren que esta opción esté activada, o se encuentra en algún servidor de hospedaje en donde esta característica está habilitada, pero quisiera eliminar los riesgos de seguridad, puede que necesite emular el valor opuesto en PHP. Siempre es buena idea preguntar primero si es posible cambiar la opción de alguna forma en la configuración de PHP, pero si no es posible, entonces puede usar estos segmentos de compatibilidad.

Ejemplo #1 Emulación de Register Globals

Esto emula el comportamiento de register_globals On. Si ha alterado la directiva variables_order, considere modificar $superglobales acordemente.

<?php
// Emular register_globals on
if (!ini_get('register_globals')) {
    $superglobales = array($_SERVER, $_ENV,
        $_FILES, $_COOKIE, $_POST, $_GET);
    if (isset($_SESSION)) {
        array_unshift($superglobales, $_SESSION);
    }
    foreach ($superglobales as $superglobal) {
        extract($superglobal, EXTR_SKIP);
    }
}
?>

Esto emula register_globals Off. Tenga en cuenta que este código debe ser llamado al comienzo absoluto de su script, o después de session_start(), si usa esa función para comenzar su sesión.

<?php
// Emular register_globals off
function retirar_registros_GLOBALS()
{
    if (!ini_get('register_globals')) {
        return;
    }

    // Puede que desee cambiar esto por un error más amigable
    if (isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS'])) {
        die('Se ha detectado un intento de sobreescritura en GLOBALS');
    }

    // Variables que no deben ser eliminadas
    $noEliminar = array('GLOBALS',  '_GET',
                        '_POST',    '_COOKIE',
                        '_REQUEST', '_SERVER',
                        '_ENV',     '_FILES');

    $entrada = array_merge($_GET,    $_POST,
                           $_COOKIE, $_SERVER,
                           $_ENV,    $_FILES,
                           isset($_SESSION) && is_array($_SESSION) ? $_SESSION : array());

    foreach ($entrada as $c => $v) {
        if (!in_array($c, $noEliminar) && isset($GLOBALS[$c])) {
            unset($GLOBALS[$c]);
        }
    }
}

retirar_registros_GLOBALS();

?>

Migración de PHP 4 a PHP 5
Apéndices
FAQ


Apéndices

  • Historia de PHP y Proyectos Relacionados
    • Historia de PHP
    • Historia de los proyectos relacionados con PHP
    • Libros sobre PHP
    • Publicaciones sobre PHP
  • Migrar de PHP 5.4.x a PHP 5.5.x
    • Lo que ha cambiado en PHP 5.5.x
    • Cambios incompatibles con versiones anteriores
    • Nuevas caracteristicas
    • Deprecated features in PHP 5.5.x
    • Changed Functions
    • New Functions
    • New Classes and Interfaces
    • New Methods
    • Other changes to extensions
    • New Global Constants
    • Changes to INI file handling
    • Changes to PHP Internals
  • Migrando de PHP 5.3.x hacia PHP 5.4.x
    • ¿Qué ha cambiado en PHP 5.4.x?
    • Cambios con versiones incompatibles
    • Nuevas características
    • Cambios en el módulo de SAPI
    • Características obsoletas en PHP 5.4.x
    • Funciones cambiadas
    • Nuevas funciones
    • Nuevas clases e interfaces
    • Métodos nuevos
    • Extensiones eliminadas
    • Otros cambios a extensiones
    • Nuevas constantes globales
    • Cambios en el manejo del fichero INI
    • Other changes
  • Migrando de PHP 5.2.x a PHP 5.3.x
    • Qué ha cambiado en PHP 5.3.x
    • Incompatibilidades con versiones anteriores
    • Nuevas funcionalidades
    • Cambios relativos al soporte en Windows
    • Cambios en módulos SAPI
    • Funcionalidades obsoletas en PHP 5.3.x
    • Funcionalidades que ya no son obsoletas en PHP 5.3.x
    • Nuevos parámetros
    • Nuevas Funciones
    • Nuevas envolturas de flujos
    • Nuevos filtros de flujos
    • Nuevas Constantes de Clases
    • Nuevos métodos
    • Nuevas Extensiones
    • Extensiones Eliminadas
    • Otros cambios en las extensiones
    • Nuevas Clases
    • Nuevas Constantes Globales
    • Cambios en el manejo del fichero INI
    • Otros cambios
  • Migración de PHP 5.1.x a PHP 5.2.x
    • Qué ha cambiado en PHP 5.2.x
    • Incompatibilidades con versiones anteriores
    • Nuevos Mensajes de Error
    • Cambios en el soporte PHP para datetime
    • Nuevos Parámetros
    • Nuevas Funciones
    • Nuevos Métodos
    • Extensiones eliminadas
    • Nuevas Extensiones
    • Nuevas Clases
    • Nuevas Constantes Globales
    • Nuevas Constantes de Clase
    • Nuevas Directivas de Configuración INI
    • Reportes de Error
    • Otras mejoras
  • Migración de PHP 5.0.x a PHP 5.1.x
    • Funcionalidades clave de PHP 5.1.x
    • Cambios en el control de referencias
    • Leyendo []
    • Valores enteros en los parámetros de funciones
    • Cambios en clases y objetos
    • Extensiones
    • Soporte de fecha/hora
    • Cambios en el soporte a base de datos
    • Comprobación de E_STRICT
  • Migración desde PHP 4 a PHP 5.0.x
    • ¿Qué ha cambiado en PHP 5.0.x?
    • Cambios Incompatibles entre versiones
    • CLI y CGI
    • Migración de ficheros de configuración
    • Funciones nuevas
    • Nuevas directivas
    • Bases de datos
    • Nuevo Modelo de Objetos
    • Informe de errores
  • Clases y Objetos (PHP 4)
    • class
    • extends
    • Constructores
    • Operador de Resolución de Alcance (::)
    • parent
    • Serialización de objetos - objetos en las sesiones
    • Las funciones mágicas __sleep y __wakeup
    • Referencias dentro del constructor
    • Comparando objects
  • Depuración en PHP
    • Sobre la depuración en PHP
  • Opciones de configuración
    • Listado de opciones de configuración del núcleo
  • Directivas de php.ini
    • Lista de directivas de php.ini
    • Lista de secciones de php.ini
    • Descripción de las directivas del núcleo de php.ini
  • Categorización de Extensiones
    • Alfabética
    • Incorporación
    • Estado
  • Listado de funciones alias
  • Lista de palabras reservadas
    • Lista de palabras reservadas
    • Clases predefinidas
    • Constantes predefinidas
  • Lista de Tipos de Recurso
  • Lista de Filtros Disponibles
    • Filtros de Cadena
    • Filtros de Conversión
    • Filtros de Compresión
    • Filtros de Encripción
  • Lista de Transportes de Sockets Soportados
    • Dominio de Internet: TCP, UDP, SSL, y TLS
    • Dominio Unix: Unix y UDG
  • Tablas de comparación de tipos de PHP
  • Lista de componentes léxicos del analizador
  • Guia de Entorno de Usuario para Nombres
    • Global Namespace
    • Reglas
    • Tips
  • Acerca del manual
    • Formatos
    • Acerca de los comentarios de usuarios
    • Como interpretar la definición de una función (prototipo)
    • Versiones de PHP documentadas en este manual
    • Cómo encontrar más información sobre PHP
    • Como ayudar a mejorar la documentación
    • Como generamos los formatos
    • Traducciones
  • Creative Commons Attribution 3.0
  • Listado de índices
    • Listado de Funciones y Métodos
    • Listado de ejemplos
  • Registro de cambios
Preguntas Varias
Historia de PHP y Proyectos Relacionados
Manual de PHP


Historia de PHP y Proyectos Relacionados

Tabla de contenidos

  • Historia de PHP
  • Historia de los proyectos relacionados con PHP
  • Libros sobre PHP
  • Publicaciones sobre PHP

PHP ha recorrido un largo camino desde su nacimiento a mediados de los 90. Desde sus humildes comienzos hasta ser uno de los más importantes lenguajes de programación web, la evolución de PHP es un cuento de hadas para "geeks". Pero ojo, un crecimiento explosivo como tal no era una tarea fácil. Aquellos de ustedes que estén interesados en ver brevemente cómo PHP creció hasta convertirse en lo que es hoy, lean. Si le gustaría tocar una pieza de la historia de Internet, puede encontrar versiones antiguas de PHP en el » Museo de PHP.

Apéndices
Historia de PHP
Apéndices


Historia de PHP

PHP Tools, FI, Equipo de Construcción, y PHP/FI

PHP tal y como se conoce hoy en día es en realidad el sucesor de un producto llamado PHP/FI. Creado en 1994 por Rasmus Lerdorf, la primera encarnación de PHP era un conjunto simple de ficheros binarios Common Gateway Interface (CGI) escritos en el lenguaje de programación C. Originalmente utilizado para rastrear visitas de su currículum online, llamó al conjunto de scripts "Personal Home Page Tools", más frecuentemente referenciado como "PHP Tools". Con el paso del tiempo se quiso más funcionalidad, y Rasmus reescribió PHP Tools, produciendo una implementación más grande y rica. Este nuevo modelo fue capaz de interaccionar con bases de datos, y mucho más, proporcionando un entorno de trabajo sobre cuyos usuarios podían desarrollar aplicaciones web dinámicas sencillas tales como libros de visitas. En junio de 1995, Rasmus » publicó el codigo fuente de PHP Tools, lo que permitió a los desarrolladores usarlo como considerasen apropiado. Esto también permitió -y animó- a los usuarios a proporcionar soluciones a los errores del código, y generalmente a mejorarlo.

En septiembre de ese mismo año, Rasmus amplió PHP y -por un corto periodo de tiempo- abandonó el nombre de PHP. Ahora, refiriéndose a las herramientas como FI (abreviatura de "Forms Interpreter"), la nueva implementación incluía algunas de las funciones básicas de PHP tal y como la conocemos hoy. Tenía variables como las de Perl, interpretación automática de variables de formulario y sintaxis incrustada HTML. La sintaxis por sí misma era similar a la de Perl, aunque mucho más limitada, simple y algo inconsistente. De hecho, para embeber el código en un fichero HTML, los desarrolladores tenían que usar comentarios de HTML. Aunque este método no era completamente bien recibido, FI continuó gozando de expansión y aceptación como una herramienta CGI --- pero todavía no completamente como lenguaje. Sin embargo, esto comenzó a cambiar al mes siguiente; en octubre de 1995 Rasmus publicó una versión nueva del código. Recordando el nombre PHP, ahora era llamado (resumidamente) "Personal Home Page Construction Kit," y fue la primera versión que presumía de ser, en aquel momento, considerada como una interfaz de scripts avanzada. El lenguaje fue deliberadamente diseñado para asemejarse a C en estructura, haciéndolo una adopción sencilla para desarrolladores familiarizados con C, Perl, y lenguajes similares. Habiendo sido así bastante limitado a sistemas UNIX y compatibles con POSIX, el potencial para una implementación de Windows NT estaba siendo explorada.

El código fue completamente rehecho de nuevo, y en abril de 1996, combinando los nombres de versiones anteriores, Rasmus introdujo PHP/FI. Esta implementación de segunda generación comenzó realmente a desarrollar PHP desde un conjunto de herramientas dentro de un lenguaje de programación de derecho propio. Incluía soporte interno para DBM, mSQL, y bases de datos Postgres95, cookies, soporte para funciones definidas por el usuario, y mucho más. Ese mes de junio, PHP/FI brindó una versión 2.0. Sin embargo, un interesante hecho sobre esto, es que sólo había una única versión completa de PHP 2.0. Cuando finalmente pasó de la versión beta en noviembre de 1997, el motor de análisis subyacente ya estaba siendo reescrito por completo.

Aunque vivió una corta vida de desarrollo, continuó gozando de un crecimiento de popularidad en el aún joven mundo del desarrollo. En 1997 y 1998, PHP/FI tenía un culto de varios miles de usuarios en todo el mundo. Una encuesta de Netcraft en mayo de 1998 indicó que cerca de 60,000 dominios reportaron que tenían cabeceras que contenían "PHP", indicando en efecto que el servidor host lo tenía instalado. Este número se correspondía con aproximadamente el 1% de todos los dominios de Internet del momento. A pesar de estas impresionantes cifras, la maduración de PHP/FI estaba condenada por limitaciones; mientras habían varios contribuidores menores, aún era desarrollado principalmente por un individuo.

Ejemplo #1 Ejemplo de Código PHP/FI

<!--include /text/header.html-->

<!--getenv HTTP_USER_AGENT-->
<!--ifsubstr $exec_result Mozilla-->
  Hey, ¡está usando Netscape!<p>
<!--endif-->

<!--sql database select * from table where user='$username'-->
<!--ifless $numentries 1-->
  Lo siento, esta entrada no existe<p>
<!--endif exit-->
  Bienvenido <!--$user-->!<p>
  Le quedan <!--$index:0--> créditos en su cuenta.<p>

<!--include /text/footer.html-->

PHP 3

PHP 3.0 fue la primera versión que más se parecía al PHP que existe hoy. Encontrando todavía PHP/FI 2.0 ineficiente y falto de las características que necesitaban para impulsar una aplicación de comercio electrónico que estaban desarrollando para un proyecto de universidad, Andi Gutmans y Zeev Suraski, de Tel Aviv, Israel, comenzaron otra nueva versión del analizador subyacente en 1997. Proponiendo Rasmus online, discutieron varios aspectos de la implementación actual y su redesarrollo de PHP. En un esfuerzon para mejorar el motor y comenzar a construir sobre la base de usuario de PHP/FI existente, Andi, Rasmus y Zeev decidieron colaborar en el desarrollo de un nuevo e independiente lenguaje de programación. Este lenguaje completamente nuevo fue publicado bajo un nuevo nombre, que eliminó la implicación del uso limitado personal que el nombre PHP/FI tenía. Fue renombrado simplemente como 'PHP', con el significado de un acrónimo recursivo - PHP: Hypertext Preprocessor.

Una de las mejores características de PHP 3.0 era su gran extensibilidad. Además de proveer a los usuarios finales de una interfaz madura para múltiplies bases de datos, protocolos, y APIs, la sencillez de ampliar el lenguaje mismo atrajo a docenas de desarrolladores que presentaron variedad de módulos. Podría decirse que esta fue la clave para el tremendo éxito de PHP 3.0. Otras características clave introducidas en PHP 3.0 incluían el soporte para programación orientada a objetos y una sintaxis de lenguaje mucho más potente y consistente.

En junio de 1998, con muchos nuevos desarrolladores de todo el mundo unidos al esfuerzon, PHP 3.0 fue anunciado por el nuevo Equipo de Desarrollo de PHP como el sucesor oficial de PHP/FI 2.0. El desarrollo activo de PHP/FI 2.0, que estaba casi parado desde noviembre del año anterior, fue oficialmente finalizado. Después de aproximadamente nueve meses de pruebas públicas, cuando el anuncio de la versión oficial de PHP 3.0 vino, ya estaba instalado en más de 70,000 dominios de todo el mundo, y ya no estaba limitado a sistemas operativos compatibles con POSIX. Una relativamente pequeña parte de de los dominios que tenían instalado PHP estaban albergados en servidores que ejecutaban Windows 95, 98, y NT, y Macintosh. En este punto, PHP 3.0 estaba instalado en aproximadamente el 10% de los servidores web de Internet.

PHP 4

En el invierno de 1998, poco después del lanzamiento oficial de PHP 3.0, Andi Gutmans y Zeev Suraski comenzaron a trabajar en una nueva versión del núcleo de PHP. Los objetivos de diseño fueron mejorar la ejecución de aplicaciones complejas y mejorar la modularidad del código base de PHP. Estas aplicaciones se hicieron posibles por las nuevas características de PHP 3.0 y el apoyo de una gran variedad de bases de datos y APIs de terceros, pero PHP 3.0 no estaba diseñado para un mantenimiento tan complejo de aplicaciones eficientemente.

El nuevo motor, apodado 'Motor Zend' (proviene de sus nombres de pila, Zeev y Andi), alcanzó estos objetivos de diseño satisfactoriamente, y se introdujo por primera vez a mediados de 1999. PHP 4.0, basado en este motor, y asociado con un gran rango de nuevas características adicionales, fue oficialmente publicado en Mayo del 2000, casi dos años después que su predecesor. Además de la mejora de rendimiento de esta versión, PHP 4.0 incluía otras características clave como el soporte para la mayoría de los servidores Web, sesiones HTTP, buffers de salida, formas más seguras de controlar las entradas de usuario y muchas nuevas construcciones de lenguaje.

PHP 5

PHP 5 fué lanzado en Julio del 2004 después de un largo desarrollo y varios pre-releases. Está básicamente impulsado por su núcleo, Zend Engine 2.0 que contiene un nuevo modelo de objectos y docenas de nuevas opciones.

El equipo de desarrollo de PHP incuye docenas de desarrolladores, así como docenas de otras personas trabajando en proyectos relacionados y de soporte para PHP, como PEAR, PECL, y documentación, y una infraestructura en red subyacente de más de cien servidores web individuales en seis de los siete continentes del mundo. Aunque es solo una estimación basada en estadísticas de años ateriores, es seguro suponer que PHP ahora está instalado en diez o quizá cien millones de dominios en todo el mundo.

Historia de PHP y Proyectos Relacionados
Historia de los proyectos relacionados con PHP
Historia de PHP y Proyectos Relacionados


Historia de los proyectos relacionados con PHP

PEAR

» PEAR, la extensión de PHP y repositorio de aplicaciones (originalmente, extensión de PHP y repositorio add-on) es la base de clases para PHP y en un futuro seguramente será la forma de distribuir extensiones PHP entre desarrolladores.

PEAR nació de las discusiones mantenidas en el PHP Developers' Meeting (PDM) transcurrido en Enero de 2000 en Tel Aviv. Fue creado por Stig S. Bakken, y lo dedicó a su primogénita, Malin Bakken.

Hasta principios de 2000, PEAR fue creciendo hasta ser un gran y significativo proyecto con un gran número de programadores trabajando en la implementación común, funcionalidad reutilizable para el beneficio de toda la comunidad PHP. PEAR hoy incluye una gran variedad de clases de infraestructura para acceso a bases de datos, caché de contenido, cálculos matemáticos, comercio electrónico y mucho más.

Más información sobre PEAR se puede encontrar en » el manual.

Garantía de calidad de PHP

La » Iniciativa para la Garantía de Calidad de PHP se configuró en el verano de 2000 en respuesta a los que criticaban que las versiones de PHP se liberaban sin que fueran comprobadas suficientemente para entornos de producción. El equipo ahora consiste en un grupo central de desarrolladores con un buen entendimiento del código base de PHP. Estos desarrolladores están mucho tiempo localizando y solucionando problemas con PHP. Además, hay muchos miembros de otros equipos que testean y prueban estas soluciones usando una gran variedad de plataformas.

PHP-GTK

» PHP-GTK es la solución PHP para escribir las aplicaciones GUI del lado del cliente. Andrei Zmievski nos recuerda la planificación y la creación del proceso de PHP-GTK:

Programar GUI siempre ha estado entre mis intereses, y he encontrado que Gtk+ es una herramienta muy buena, salvo que programar con ella en C es algo tedioso. Tras presenciar las implementaciones de PyGtk y GTK-Perl, decidí ver si PHP se podría hacer con la interfaz Gtk+, incluso mínimamente. En Agosto de 2000 empecé a tener más tiempo libre, con lo que comencé a experimentar. Mi principal guía fue la implementación PyGtk con características completas bastante buenas y con un buen interfaz orientado a objetos. James Henstridge, el autor de PyGtk, proveyó mucha ayuda adicional durante esos estados iniciales.

Escribir las interfaces de todas las funciones Gtk+ estaba fuera de cuestión, por lo que mantuve la idea de generador de código, similar a cómo PyGtk lo hizo. El generador de código es un programa PHP que lee un conjunto de ficheros .defs que contienen las clases Gtk+, constantes e información de métodos y genera código C que interactúa PHP con ellos. Lo que no se puede generar automáticamente puede escribirse a mano en ficheros .overrides.

Trabajar en el generador de código y la infraestructura llevó algo de tiempo, porque pude dedicar poco tiempo a PHP-GTK durante el otoño de 2000. Después mostré PHP-GTK a Frank Kromann, que se interesó y empezó a ayudarme con el trabajo del generador de código y con la implementación para Win32. Cuando escribimos el primer programa Hola Mundo y funcionó, fue extremadamente excitante. Llevó un par de meses más llevar el proyecto a una condición presentable y la versión inicial se liberó el 1 de Marzo de 2001. La historia rápidamente llegó a SlashDot.

Dándome cuenta que PHP-GTK podría extenderse, configuré listas de correo separadas y repositorios CVS para ello, así como el sitio web gtk.php.net con la ayuda de Colin Viebrock. La documentación también tenía que hacerse y James Moore se únio al proyecto para ayudar en esto.

Desde su lanzamiento PHP-GTK fue ganando popularidad. Tenemos nuestro propio equipo de documentación, el manual sigue mejorando, la gente ha comenzado a escribir extensiones para PHP-GTK, y con ello más y mejores aplicaciones.

Historia de PHP
Libros sobre PHP
Historia de PHP y Proyectos Relacionados


Libros sobre PHP

Según crecía PHP, empezó a ser reconocido como una popular plataforma de desarrollo web. Una de las más interesantes formas de ver esta tendencia fué observando los libros de PHP que han ido publicando a lo largo de los años.

Por lo que nosotros sabemos, el primer libro dedicado a PHP fue 'PHP - tvorba interaktivních internetových aplikací' (PHP - Creando aplicaciones interactivas en internet) - un libro checo publicado en 1999, cuyo autor fue Jirka Koseksiendo. Al mes siguiente le siguió un libro alemán cuyos autores fueron Egon Schmid, Christian Cartus y Richard Blume. El primer libro en Inglés sobre PHP se publicó poco después, y fue 'Core PHP Programming' de Leon Atkinson. Los dos libros cubrían PHP 3.0.

Mientras estos libros fueron los primeros de su tipo - fueron seguidos por un gran número de libros de una multitud de autores y editores. ¡Existen más 400 libros en inglés, 100 libros en alemán, y más de 50 libros en francés o español! Además, se pueden encontrar libros sobre PHP en la mayoría de las demás lenguas, incluyendo coreano, japonés y hebreo.

Evidentemente, este gran número de libros, escritos por diferentes autores, publicados por muchos editores, y su disponibilidad en tantas lenguas - son un fuerte testimonio del éxito mundial de PHP.

Historia de los proyectos relacionados con PHP
Publicaciones sobre PHP
Historia de PHP y Proyectos Relacionados


Publicaciones sobre PHP

Por lo que sabemos, el primer artículo sobre PHP en una revista impresa se publicó en la version checa de Computerworld en la primavera de 1998, y cubría PHP 3.0. Como con los libros, fue el primero en una serie de muchos artículos publicados sobre PHP en varias revistas importantes.

Artículos sobre PHP han aparecido en Dr. Dobbs, Linux Enterprise, Linux Magazine y muchas otras. Artículos sobre migración de aplicaciones basadas en PHP bajo Windows ¡han aparecido incluso en el MSDN de Microsoft!

Libros sobre PHP
Migrar de PHP 5.4.x a PHP 5.5.x
Historia de PHP y Proyectos Relacionados


Migrar de PHP 5.4.x a PHP 5.5.x

Tabla de contenidos

  • Lo que ha cambiado en PHP 5.5.x
  • Cambios incompatibles con versiones anteriores
  • Nuevas caracteristicas
  • Deprecated features in PHP 5.5.x
  • Changed Functions
  • New Functions
  • New Classes and Interfaces
  • New Methods
  • Other changes to extensions
  • New Global Constants
  • Changes to INI file handling
  • Changes to PHP Internals

Vea también guías de migración para versiones de PHP 5.0.x, 5.1.x, 5.2.x, 5.3.x y 5.4.x.

Publicaciones sobre PHP
Lo que ha cambiado en PHP 5.5.x
Apéndices


Lo que ha cambiado en PHP 5.5.x

La mayoria de las mejoras de PHP 5.5.x no tienen impacto en el código existente. Existen varias incompatibilidades y nuevas características que deberían ser consideradas, ya que el código debería probarse antes de cambiar de versión de PHP en ambientes de producción.

Para sistemas que se actualicen desde una versión anterior de PHP, la documentación correspondiente está disponible en:

  • Notas de actualización para PHP 5.4.x.
  • Notas de actualización para PHP 5.3.x.
  • Notas de actualización para PHP 5.2.x.
  • Notas de actualización para PHP 5.1.x.
  • Migrar de PHP 4 a PHP 5.
Migrar de PHP 5.4.x a PHP 5.5.x
Cambios incompatibles con versiones anteriores
Migrar de PHP 5.4.x a PHP 5.5.x


Cambios incompatibles con versiones anteriores

Aunque la mayoría del código de PHP 5 existente debería funtionar sin cambios, se ha de tomar nota de algunos cambios incompatibles con versiones anteriores:

Eliminado el soporte para Windows XP y 2003

El soporte para Windows XP y 2003 ha sido eliminado. Las construcciones de PHP para Windows ahora requieren Windows Vista o superior.

La no consideración de mayúsculas/minúsculas ya no es específica de la configuración regional

Todas las comparaciones que no estiman las mayúsculas/minúsculas de funciones, clases y nombres de constantes, ahora se realizar de una manera independiente de la configuración regional según las reglas de ASCII. Esto mejora el soporte para idiomas que usan el alfabeto latino con reglas de cotejamiento no usuales, tales como el turco o el azerí.

Esto podría causar problemas para el código que usa comparaciones que no consideran las mayúsculas/minúsculas para caracteres distintos a los de ASCII en conjuntos de caracteres multibyte (incluyendo UTF-8), como carecteres acentuados en muchos idiomas europeos. Si se tiene un código base distinto del inglés y que no sea ASCII, se necesitará probar que no se está confiando inadvertidamente en este comportamiento antes de utilizar PHP 5.5 para sistemas de producción.

Cambios de pack() y unpack()

Se introdujeron cambios en pack() y unpack() para hacerlos mas compatibles con Perl:

  • pack() ahora admite el código de formato "Z", el cual tiene un comportamiento idéntico al de "a".
  • unpack() ahora admite el códio de formato "Z" para cadenas con relleno NULL, y se comporta como lo hacía "a" en versiones anteriores: eliminará los bytes NULL sobrantes.
  • unpack() ahora mantiene los bytes NULL sobrantes cuando se usa el código de formato "a".
  • unpack() ahora elimina los espacios en blanco ASCII sobrantes cuando se usa el código de formato "A".

Escribir código retrocompatible que use el código de formato "a" con unpack() requiere el uso de version_compare(), debido a la rotura de retrocompatibilidad.

Por ejemplo:

<?php
// Código anterior:
$data = unpack('a5', $packed);

// Código nuevo:
if (version_compare(PHP_VERSION, '5.5.0-dev', '>=')) {
  $data = unpack('Z5', $packed);
} else {
  $data = unpack('a5', $packed);
}
?>

self, parent y static ahora nunca consideran las mayúsculas/minúsculas

Antes de PHP 5.5, existían casos donde las palabras clave self, parent, y static eran tratadas de forma que consideraban las mayúsculas/minúsculas. Ahora se ha solucionado, y esta palabras clave siempre son manejadas para no considerarlas: SELF::CONSTANT ahora es tratada de forma idéntica a self::CONSTANT.

Eliminados los GUIDs de logos de PHP

Los GUIDs que anteriormente resultaban en la generación de PHP de varios logos han sido eliminados. Esto incluye la eliminación de las funciones que devuelven esots GUIDs. Las funciones eliminadas son:

  • php_logo_guid()
  • php_egg_logo_guid()
  • php_real_logo_guid()
  • zend_logo_guid()

Cambios en la ejecución interna

Los autores de extensiones debería observar que la función zend_execute() ya no puede ser sobrescrita, y que se han hecho numerosos cambios a la estructura execute_data y funciones y métodos relacionados que manejan códigos de operaciones.

A la mayoría de los autores de extensiones esto no les afecta, pero aquellos que escriban extensiones que dependan fuertemente del Motor Zend deberían leer las notas sobre estos cambios.

Lo que ha cambiado en PHP 5.5.x
Nuevas caracteristicas
Migrar de PHP 5.4.x a PHP 5.5.x


Nuevas caracteristicas

Se han añadido los Generadores

El soporte para generadores ha sido añadido mediante la palabra clave yield. Los generadores proporcionan una manera sencilla de implementar iteradores simples sin la carga adicional o la complejidad de implementar una clase que implemente la interfaz Iterator.

Un ejemplo sencillo que reimplementa la función range() como un generador (al menos para valores positivos de step):

<?php
function xrange($start, $limit, $step = 1) {
    for ($i = $start; $i <= $limit; $i += $step) {
        yield $i;
    }
}

echo 'Single digit odd numbers: ';

/*
 * Note that an array is never created or returned,
 * which saves memory.
 */
foreach (xrange(1, 9, 2) as $number) {
    echo "$number ";
}

echo "\n";
?>

El resultado del ejemplo sería:

Single digit odd numbers: 1 3 5 7 9

finally keyword added

try-catch blocks now support a finally block for code that should be run regardless of whether an exception has been thrown or not.

New password hashing API

A new password hashing API that makes it easier to securely hash and manage passwords using the same underlying library as crypt() in PHP has been added. See the documentation for password_hash() for more detail.

foreach now supports list()

The foreach control structure now supports unpacking nested arrays into separate variables via the list() construct. For example:

<?php
$array = [
    [1, 2],
    [3, 4],
];

foreach ($array as list($a, $b)) {
    echo "A: $a; B: $b\n";
}
?>

El resultado del ejemplo sería:

A: 1; B: 2
A: 3; B: 4

Further documentation is available on the foreach manual page.

empty() supports arbitrary expressions

Passing an arbitrary expression instead of a variable to empty() is now supported. For example:

<?php
function always_false() {
    return false;
}

if (empty(always_false())) {
    echo "This will be printed.\n";
}

if (empty(true)) {
    echo "This will not be printed.\n";
}
?>

El resultado del ejemplo sería:

This will be printed.

array and string literal dereferencing

Array and string literals can now be dereferenced directly to access individual elements and characters:

<?php
echo 'Array dereferencing: ';
echo [1, 2, 3][0];
echo "\n";

echo 'String dereferencing: ';
echo 'PHP'[0];
echo "\n";
?>

El resultado del ejemplo sería:

Array dereferencing: 1
String dereferencing: P

Class name resolution via ::class

It is possible to use ClassName::class to get a fully qualified name of class ClassName. For example:

<?php
namespace Name\Space;
class ClassName {}

echo ClassName::class;

echo "\n";
?>

El resultado del ejemplo sería:

Name\Space\ClassName

OPcache extension added

The Zend Optimiser+ opcode cache has been added to PHP as the new OPcache extension. OPcache improves PHP performance by storing precompiled script bytecode in shared memory, thereby removing the need for PHP to load and parse scripts on each request. See the installation instructions for more detail on enabling and using OPcache.

foreach now supports non-scalar keys

foreach now supports keys of any type. While non-scalar keys cannot occur in native PHP arrays, it is possible for Iterator::key() to return a value of any type, and this will now be handled correctly.

Apache 2.4 handler supported on Windows

The Apache 2.4 handler SAPI is now supported on Windows.

Improvements to GD

Various improvements have been made to the GD extension, these include:

  • Flipping support using the new imageflip() function.
  • Advanced cropping support using the imagecrop() & imagecropauto() functions.
  • WebP read and write support using imagecreatefromwebp() & imagewebp() respectively.
Cambios incompatibles con versiones anteriores
Deprecated features in PHP 5.5.x
Migrar de PHP 5.4.x a PHP 5.5.x


Deprecated features in PHP 5.5.x

ext/mysql deprecation

The original MySQL extension is now deprecated, and will generate E_DEPRECATED errors when connecting to a database. Instead, use the MySQLi or PDO_MySQL extensions.

preg_replace() /e modifier

The preg_replace() /e modifier is now deprecated. Instead, use the preg_replace_callback() function.

intl deprecations

 IntlDateFormatter::setTimeZoneID() and
 datefmt_set_timezone_id() are now deprecated. Instead,
use the  IntlDateFormatter::setTimeZone() method and
 datefmt_set_timezone() function, respectively.

mcrypt deprecations

The following functions have been deprecated:

  • mcrypt_cbc()
  • mcrypt_cfb()
  • mcrypt_ecb()
  • mcrypt_ofb()
Nuevas caracteristicas
Changed Functions
Migrar de PHP 5.4.x a PHP 5.5.x


Changed Functions

PHP Core

  • set_error_handler() can now be called with NULL as an argument to reset the error handler.
  • When called with NULL, set_error_handler() and set_exception_handler() now return the previous error or exception handler, respectively.
  • json_encode() now accepts depth parameter.
  • The behaviour of pack() and unpack() with the "a" and "A" format codes has changed. Detailed notes on these changes are available.

intl

  • MessageFormatter::format() and related functions now accept named arguments and mixed numeric and named arguments when PHP is linked to ICU 4.8 or later.
  • MessageFormatter::format() and related functions no longer error when an insufficient number of arguments have been provided. Instead, the placeholders will not be substituted.
  • MessageFormatter::format() and MessageFormatter::parse() are no longer limited to second precision when dealing with times.
  • IntlDateFormatter::__construct() and datefmt_create() now accept IntlTimeZone and DateTimeZone objects for the timezone argument, and IntlCalendar objects for the calendar argument. Furthermore, if the time zone is omitted and the calendar doesn't specify a time zone, PHP's default time zone from date_default_timezone_get() is now used instead of the default ICU time zone.
  • IntlDateFormatter::getCalendar() and datefmt_get_calendar() return false if the IntlDateFormatter object was created with an IntlCalendar instance instead of one of the IntlDateFormatter constants.
  • IntlDateFormatter::setCalendar() and datefmt_set_calendar() now accept IntlCalendar objects in addition to the IntlDateFormatter constants.
  • IntlDateFormatter::format() and datefmt_format() now accept IntlCalendar objects.
Deprecated features in PHP 5.5.x
New Functions
Migrar de PHP 5.4.x a PHP 5.5.x


New Functions

PHP Core

  • array_column()
  • boolval()
  • json_last_error_msg()
  • password_get_info()
  • password_hash()
  • password_needs_rehash()
  • password_verify()

Hash

  • hash_pbkdf2()

OpenSSL

  • openssl_pbkdf2()

cURL

  • curl_escape()
  • curl_file_create()
  • curl_multi_setopt()
  • curl_multi_strerror()
  • curl_pause()
  • curl_reset()
  • curl_share_close()
  • curl_share_init()
  • curl_share_setopt()
  • curl_strerror()
  • curl_unescape()

GD

  • imageaffinematrixconcat()
  • imageaffinematrixget()
  • imagecrop()
  • imagecropauto()
  • imageflip()
  • imagepalettetotruecolor()
  • imagescale()

MySQLi

  • mysqli_begin_transaction()
  • mysqli_release_savepoint()
  • mysqli_savepoint()

PostgreSQL

  • pg_escape_literal()
  • pg_escape_identifier()

Sockets

  • socket_sendmsg()
  • socket_recvmsg()
  • socket_cmsg_space()

CLI

  • cli_get_process_title()
  • cli_set_process_title()

Intl

  • datefmt_format_object()
  • datefmt_get_calendar_object()
  • datefmt_get_timezone()
  • datefmt_set_timezone()
  • datefmt_get_calendar_object()
  • intlcal_create_instance()
  • intlcal_get_keyword_values_for_locale()
  • intlcal_get_now()
  • intlcal_get_available_locales()
  • intlcal_get()
  • intlcal_get_time()
  • intlcal_set_time()
  • intlcal_add()
  • intlcal_set_time_zone()
  • intlcal_after()
  • intlcal_before()
  • intlcal_set()
  • intlcal_roll()
  • intlcal_clear()
  • intlcal_field_difference()
  • intlcal_get_actual_maximum()
  • intlcal_get_actual_minimum()
  • intlcal_get_day_of_week_type()
  • intlcal_get_first_day_of_week()
  • intlcal_get_greatest_minimum()
  • intlcal_get_least_maximum()
  • intlcal_get_locale()
  • intlcal_get_maximum()
  • intlcal_get_minimal_days_in_first_week()
  • intlcal_get_minimum()
  • intlcal_get_time_zone()
  • intlcal_get_type()
  • intlcal_get_weekend_transition()
  • intlcal_in_daylight_time()
  • intlcal_is_equivalent_to()
  • intlcal_is_lenient()
  • intlcal_is_set()
  • intlcal_is_weekend()
  • intlcal_set_first_day_of_week()
  • intlcal_set_lenient()
  • intlcal_equals()
  • intlcal_get_repeated_wall_time_option()
  • intlcal_get_skipped_wall_time_option()
  • intlcal_set_repeated_wall_time_option()
  • intlcal_set_skipped_wall_time_option()
  • intlcal_from_date_time()
  • intlcal_to_date_time()
  • intlcal_get_error_code()
  • intlcal_get_error_message()
  • intlgregcal_create_instance()
  • intlgregcal_set_gregorian_change()
  • intlgregcal_get_gregorian_change()
  • intlgregcal_is_leap_year()
  • intltz_create_time_zone()
  • intltz_create_default()
  • intltz_get_id()
  • intltz_get_gmt()
  • intltz_get_unknown()
  • intltz_create_enumeration()
  • intltz_count_equivalent_ids()
  • intltz_create_time_zone_id_enumeration()
  • intltz_get_canonical_id()
  • intltz_get_region()
  • intltz_get_tz_data_version()
  • intltz_get_equivalent_id()
  • intltz_use_daylight_time()
  • intltz_get_offset()
  • intltz_get_raw_offset()
  • intltz_has_same_rules()
  • intltz_get_display_name()
  • intltz_get_dst_savings()
  • intltz_from_date_time_zone()
  • intltz_to_date_time_zone()
  • intltz_get_error_code()
  • intltz_get_error_message()

SPL

  • SplFixedArray::__wakeup()
Changed Functions
New Classes and Interfaces
Migrar de PHP 5.4.x a PHP 5.5.x


New Classes and Interfaces

cURL

  • CURLFile

Date and Time

  • DateTimeImmutable
  • DateTimeInterface

Intl

  • IntlCalendar
  • IntlGregorianCalendar
  • IntlTimeZone
  • IntlBreakIterator
  • IntlRuleBasedBreakIterator
  • IntlCodePointBreakIterator
New Functions
New Methods
Migrar de PHP 5.4.x a PHP 5.5.x


New Methods

MySQLi

  • mysqli::begin_transaction()
  • mysqli::release_savepoint()
  • mysqli::savepoint()

Intl

  • IntlDateFormatter::formatObject()
  • IntlDateFormatter::getCalendarObject()
  • IntlDateFormatter::getTimeZone()
  • IntlDateFormatter::setTimeZone()
New Classes and Interfaces
Other changes to extensions
Migrar de PHP 5.4.x a PHP 5.5.x


Other changes to extensions

Intl

The intl extension now requires ICU 4.0 or later.

New Methods
New Global Constants
Migrar de PHP 5.4.x a PHP 5.5.x


New Global Constants

GD

  • IMG_AFFINE_TRANSLATE
  • IMG_AFFINE_SCALE
  • IMG_AFFINE_ROTATE
  • IMG_AFFINE_SHEAR_HORIZONTAL
  • IMG_AFFINE_SHEAR_VERTICAL
  • IMG_CROP_DEFAULT
  • IMG_CROP_TRANSPARENT
  • IMG_CROP_BLACK
  • IMG_CROP_WHITE
  • IMG_CROP_SIDES
  • IMG_FLIP_BOTH
  • IMG_FLIP_HORIZONTAL
  • IMG_FLIP_VERTICAL
  • IMG_BELL
  • IMG_BESSEL
  • IMG_BICUBIC
  • IMG_BICUBIC_FIXED
  • IMG_BLACKMAN
  • IMG_BOX
  • IMG_BSPLINE
  • IMG_CATMULLROM
  • IMG_GAUSSIAN
  • IMG_GENERALIZED_CUBIC
  • IMG_HERMITE
  • IMG_HAMMING
  • IMG_HANNING
  • IMG_MITCHELL
  • IMG_POWER
  • IMG_QUADRATIC
  • IMG_SINC
  • IMG_NEAREST_NEIGHBOUR
  • IMG_WEIGHTED4
  • IMG_TRIANGLE

MySQLi

The MYSQLI_SERVER_PUBLIC_KEY option has been added for use with mysqli_options().

Other changes to extensions
Changes to INI file handling
Migrar de PHP 5.4.x a PHP 5.5.x


Changes to INI file handling

Intl

The intl.use_exceptions configuration directive has been added, which controls the behaviour of intl when global errors occur in conjunction with the already extant intl.error_level configuration directive.

MySQLnd

The mysqlnd.sha256_server_public_key configuration directive has been added to allow mysqli to use the new MySQL authentication protocol.

New Global Constants
Changes to PHP Internals
Migrar de PHP 5.4.x a PHP 5.5.x


Changes to PHP Internals

  • Extensions cannot override zend_execute() any more and should override zend_execute_ex() instead. EG(current_execute_data) is already initialized in zend_execute_ex(), so for compatibility extensions may need to use EG(current_execute_data)->prev_execute_data instead.
  • Removed EG(arg_types_stack), EX(fbc), EX(called_scope) and EX(current_object).
  • Added op_array->nested_calls, which is calculated at compile time.
  • Added EX(call_slots), which is an array to store information about syntaticaly nested calls (e.g. foo(bar())) and is preallocated together with execute_data.
  • Added EX(call), which is a pointer to a current calling function, and is an element of EX(call_slots).
  • Opcodes INIT_METHOD_CALL, ZEND_INIT_STATIC_METHOD_CALL, ZEND_INIT_FCALL_BY_NAME and ZEND_INIT_NS_FCALL_BY_NAME use result.num as an index in EX(call_slots).
  • Opcode ZEND_NEW uses extended_value as an index in EX(call_slots).
  • Opcodes ZEND_DO_FCALL and ZEND_DO_FCALL_BY_NAME use op2.num as an index in EX(call_slots).
  • Added op_array->used_stack, which is calculated at compile time; the corresponding stack space is preallocated together with execute_data. As a result, the ZEND_SEND* and ZEND_DO_FCALL* opcodes no longer need to check for stack overflow.
  • Removed execute_data->Ts field. The VM temporary variables are always allocated immediately before the execute_data structure, and are now accessed by their offset from the execute_data base pointer instead of via execute_data->Ts. The compiler stores new offsets in op_array->opcodes[*].op?.num. The EX_TMP_VAR() and EX_TMP_VAR_NUM() macros can be used to access temporary variables by offset or number. You can convert the number to an offset using EX_TMP_VAR_NUM(0, num) or offset to number using (EX_TMP_VAR_NUM(0,0)-EX_TMP_VAR(0,offset)).
  • Removed the execute_data->CVs field. The VM compiled variables are always allocated immediately after the execute_data structure, and are now accessed by the offset from the execute_data base pointer instead of via execute_data->CVs. You can use the EX_CV_NUM() macro to access compiled variables by number.
Changes to INI file handling
Migrando de PHP 5.3.x hacia PHP 5.4.x
Migrar de PHP 5.4.x a PHP 5.5.x


Migrando de PHP 5.3.x hacia PHP 5.4.x

Tabla de contenidos

  • ¿Qué ha cambiado en PHP 5.4.x?
  • Cambios con versiones incompatibles
  • Nuevas características
  • Cambios en el módulo de SAPI
  • Características obsoletas en PHP 5.4.x
  • Funciones cambiadas
  • Nuevas funciones
  • Nuevas clases e interfaces
  • Métodos nuevos
  • Extensiones eliminadas
  • Otros cambios a extensiones
  • Nuevas constantes globales
  • Cambios en el manejo del fichero INI
  • Other changes

Vea también guías de migración para versiones de PHP 5.0.x, 5.1.x, 5.2.x, 5.3.x y 5.5.x.

Changes to PHP Internals
¿Qué ha cambiado en PHP 5.4.x?
Apéndices


¿Qué ha cambiado en PHP 5.4.x?

La mayoría de las mejoras en PHP 5.4.x no tienen ningún impacto sobre el código existente. Existen unas pocas incompatibilidades y nuevas características que deberían ser consideradas, y debería de comprobarse el código antes de cambiar las versiones de PHP en entornos de producción.

Para los sistemas que sean actualizados desde una versión anterior de PHP, la documentación relevante está disponible en:

  • Notas de Actualización de PHP 5.3.x.
  • Notas de Actualización de PHP 5.2.x.
  • Notas de Actualización de PHP 5.1.x.
  • Migración desde PHP 4 hacia PHP 5.
Migrando de PHP 5.3.x hacia PHP 5.4.x
Cambios con versiones incompatibles
Migrando de PHP 5.3.x hacia PHP 5.4.x


Cambios con versiones incompatibles

Aunque la mayoría del código existente en PHP 5 debería funcionar sin muchos cambios, por favor tome nota de algunas incompatibilidades con versiones anteriores:

  • El modo seguro ya no es soportado. Cualquier aplicación que dependa del modo seguro puede necesitar ajustes, en términos de seguridad.
  • Las comillas mágicas han sido eliminadas. Las aplicaciones que dependan de esta característica pueden necesitar ser actualizadas, para evitar cuestiones de seguridad. get_magic_quotes_gpc() y get_magic_quotes_runtime() ahora siempre devuelven FALSE. set_magic_quotes_runtime() emite un error de nivel E_CORE_ERROR al intentar habilitar las Comillas mágicas.
  • Las directivas de php.ini register_globals y register_long_arrays han sido eliminadas.
  • El paso por referencia en tiempo de llamada ha sido eliminado.
  • Las sentencias break y continue ya no aceptan argumentos variables (p.ej., break 1 + foo() * $bar;). Los argumentos estáticos aún funcionan, como break 2;. Como efecto secundario de este cambio break 0; y continue 0; ya no están permitidos.
  • En la extensión de fecha y hora, la zona horaria ya no puede ser establecida usando la variable de entorno TZ. En su lugar se tiene que especificar una zona horaria usando la opción de php.ini date.timezone o la función date_default_timezone_set(). PHP ya no intentará adivinar la zona horaria, y en su lugar recurrirá a "UTC" y emitirá un error de nivel E_WARNING.
  • Los índices de cadenas no numericos - p.ej. $a['foo'] donde $a es una cadena - ahora devuelven false sobre isset() y true sobre empty(), y producen un error de nivel E_WARNING si se intenta usarlos. Los índices de los tipo double, bool y null producen un error de nivel E_NOTICE. Las cadenas numéricas (p.ej. $a['2']) aún funcionan como antes. Observe que los índices como '12.3' y '5 foobar' son considerados no numéricos y producen un error de nivel E_WARNING, aunque son convertidos a 12 y 5 respectivamente, por razones de retrocompatibilidad. Nota: El siguiente código devuelve resultados diferentes. $str='abc';var_dump(isset($str['x'])); // false para PHP 5.4 o posterior, pero true para 5.3 o anterior
  • Ahora, convertir un array a cadena genera un error de nivel E_NOTICE, aunque el resultado de la conversión aún será la cadena "Array".
  • Convertir NULL, FALSE, o una cadena vacía en un objeto añadiendo una propiedad ahora emitirá un error de nivel E_WARNING, en lugar de nivel E_STRICT.
  • Los nombres de parámetros que cubren super globales ahora causan un error fatal. Esto prohíbe código como function foo($_GET, $_POST) {}.
  • Los algoritmos hash Salsa10 y Salsa20 han sido eliminados.
  • array_combine() ahora devuelve array() en lugar de FALSE cuando se proporcionan dos arrays vacíos como parámetros.
  • Si se utiliza htmlentities() con conjuntos de caracteres asiáticos, funcion como htmlspecialchars() - este siempre ha sido el caso en versiones de PHP anteriores, pero ahora se emite un error de nivel E_STRICT.
  • El tercer parámetro de ob_start() se cambió de boolean erase a integer flags. Observe que el código que establezca explícitamente erase a FALSE ya no se comportará como se esperaba en PHP 5.4: siga este ejemplo para escribir código que sea compatible con PHP 5.3 y 5.4.

Las siguientes palabras clave ahora son reservadas, por lo que no se pueden usar como nombres de funciones, clases, etc.

  • trait
  • callable
  • insteadof

Las siguientes funciones han sido eliminadas de PHP:

  • define_syslog_variables()
  • import_request_variables()
  • session_is_registered(), session_register() y session_unregister().
  • Los alias
 mysqli_bind_param(),  mysqli_bind_result(),
 mysqli_client_encoding(),  mysqli_fetch(),
 mysqli_param_count(),  mysqli_get_metadata(),
 mysqli_send_long_data(), mysqli::client_encoding() y mysqli_stmt::stmt().
¿Qué ha cambiado en PHP 5.4.x?
Nuevas características
Migrando de PHP 5.3.x hacia PHP 5.4.x


Nuevas características

PHP 5.4.0 ofrece un gran rango de nuevas características:

  • Se ha añadido soporte para traits.
  • Se ha añadido la sintaxis corta de array, e.g. $a = [1, 2, 3, 4]; o $a = ['uno' => 1, 'dos' => 2, 'tres' => 3, 'cuatro' => 4];.
  • Se ha añadido la derreferenciación de función de array, p.ej. foo()[0].
  • Los cierres ahora soportan $this.
  • <?= ahora esetá siempre disponible, sin tener en cuenta la opción de php.ini short_open_tag.
  • Se ha añadido el acceso a miembro de clase en la instanciación, p.ej. (new Foo)->bar().
  • Ahora está soportada la sintaxis Clase::{expr}().
  • Se ha añadido el formato de número binario, p.ej. 0b001001101.
  • Se han mejorado los mensajes de error de análisis y las advertencias de argumentos incompatibes.
  • La extensión de sesiones ahora puede rastrear el progreso de subida de ficheros.
  • Desarrollo interno de servidor web en modo CLI.
Cambios con versiones incompatibles
Cambios en el módulo de SAPI
Migrando de PHP 5.3.x hacia PHP 5.4.x


Cambios en el módulo de SAPI

  • Ahora está disponible un nuevo módulo de SAPI llamado cli-server.
  • Se ha añadido la opción CLI --rz que muestra información de la llamada extensión Zend.
  • Se ha añadido el atajo #ajusteini=valor para cambiar configuraciones de php.ini en tiempo de ejecución para readline de CLI interactivo.
  • Se han añadido funciones compatibles con apache: apache_child_terminate(), getallheaders(), apache_request_headers() y apache_response_headers() para la SAPI FastCGI.
  • PHP-FPM: Se ha añadido el ajuste process.max para controlar el número de procesos que FPM puede bifurcar.
Nuevas características
Características obsoletas en PHP 5.4.x
Migrando de PHP 5.3.x hacia PHP 5.4.x


Características obsoletas en PHP 5.4.x

Funciones obsoletas:

  • mcrypt_generic_end()
  • mysql_list_dbs()
Cambios en el módulo de SAPI
Funciones cambiadas
Migrando de PHP 5.3.x hacia PHP 5.4.x


Funciones cambiadas

Varias funciones con parámetros opcionales nuevos en PHP 5.4:

PHP Core:

  • Se ha añadido el parámetro opcional limit a debug_backtrace() y debug_print_backtrace(), para limitar la cantidad de marcos de pila devueltos.
  • is_link() ahora funciona apropiadamente con enlaces simbólicos en Windows Vista o posterior. Los sistemas anteriores no soportan enlaces simbólicos.
  • parse_url() ahora reconoce el host al omitir el esquema y está presente un separador componentes está presente al inicio. A partir de PHP 5.4.7.

OpenSSL:

  • Se ha añadido una opción de no relleno a las funciones openssl_encrypt() y openssl_decrypt().

Intl:

  • idn_to_ascii() y idn_to_utf8() ahora toman dos parámetros extra, uno indicando la variante (IDNA 2003 o UTS #46) y otro, pasado por referencia, para devolver detalles sobre la operación en el caso de que se elija UTS #46.
Características obsoletas en PHP 5.4.x
Nuevas funciones
Migrando de PHP 5.3.x hacia PHP 5.4.x


Nuevas funciones

PHP 5.4 introduce algunas funciones nuevas:

PHP Core:

  • hex2bin()
  • http_response_code()
  • get_declared_traits()
  • getimagesizefromstring()
  • stream_set_chunk_size()
  • socket_import_stream()
  • trait_exists()
  • header_register_callback()

SPL:

  • class_uses()

Session:

  • session_status()
  • session_register_shutdown()

Mysqli:

  • mysqli_error_list()
  • mysqli_stmt_error_list()

Libxml:

  • libxml_set_external_entity_loader()

LDAP:

  • ldap_control_paged_result()
  • ldap_control_paged_result_response()

Intl:

  • transliterator_create()
  • transliterator_create_from_rules()
  • transliterator_create_inverse()
  • transliterator_get_error_code()
  • transliterator_get_error_message()
  • transliterator_list_ids()
  • transliterator_transliterate()

Zlib:

  • zlib_decode()
  • zlib_encode()
Funciones cambiadas
Nuevas clases e interfaces
Migrando de PHP 5.3.x hacia PHP 5.4.x


Nuevas clases e interfaces

Las siguientes clases se han introducido en PHP 5.4.0:

SPL:

  • CallbackFilterIterator
  • RecursiveCallbackFilterIterator

Reflection:

  • ReflectionZendExtension

Json:

  • JsonSerializable

Session:

  • SessionHandler
  • SessionHandlerInterface

Snmp:

  • SNMP

Intl:

  • Transliterator
  • Spoofchecker
Nuevas funciones
Métodos nuevos
Migrando de PHP 5.3.x hacia PHP 5.4.x


Métodos nuevos

Se han introducido nuevos métodos en 5.4.0:

XSL:

  • XsltProcessor::setSecurityPrefs()
  • XsltProcessor::getSecurityPrefs()

SPL:

  • RegexIterator::getRegex()
  • SplObjectStorage::getHash()
  • DirectoryIterator::getExtension()
  • SplDoublyLinkedList::serialize()
  • SplDoublyLinkedList::unserialize()
  • SplFileInfo::getExtension()
  • SplFileObject::fputcsv()
  • SplQueue::serialize()
  • SplQueue::unserialize()
  • SplStack::serialize()
  • SplStack::unserialize()
  • SplTempFileObject::fputcsv()

Reflection:

  • ReflectionExtension::isPersistent()
  • ReflectionExtension::isTemporary()
  • ReflectionClass::isCloneable()

Closure:

  • Closure::bind()
  • Closure::bindTo()

PDO_dblib:

  • PDO::newRowset()

StreamWrapper:

  • StreamWrapper::stream_metadata()
  • StreamWrapper::stream_truncate()
Nuevas clases e interfaces
Extensiones eliminadas
Migrando de PHP 5.3.x hacia PHP 5.4.x


Extensiones eliminadas

Estas extensiones han sido movidas a PECL y ya no son parte de la distribución de PHP. Las versiones de los paquetes PECL de estas extensiones serán creadas según la demanda de los usuarios.

  • sqlite - Observe que ext/sqlite3 y ext/pdo_sqlite no son afectadas
Métodos nuevos
Otros cambios a extensiones
Migrando de PHP 5.3.x hacia PHP 5.4.x


Otros cambios a extensiones

Cambios en el comportamiento de la extensión, y nuevas características:

  • mysqli - mysqli_result ahora implementa Traversable
  • pdo_mysql - Eliminado el soporte para la vinculación de bibliotecas cliente de MySQL anteriores que 4.1
  • Las extensiones de MySQL mysql, mysqli y PDO_mysql utilizan ahora mysqlnd como la biblioteca predeterminada. Aún es posible usar libmysqlclient especificando una ruta en las opciones de configuración.
  • mysqlnd - Se ha añadido soporte para tuberías con nombre
Extensiones eliminadas
Nuevas constantes globales
Migrando de PHP 5.3.x hacia PHP 5.4.x


Nuevas constantes globales

Núcleo de PHP:

  • ENT_DISALLOWED
  • ENT_HTML401
  • ENT_HTML5
  • ENT_SUBSTITUTE
  • ENT_XML1
  • ENT_XHTML
  • IPPROTO_IP
  • IPPROTO_IPV6
  • IPV6_MULTICAST_HOPS
  • IPV6_MULTICAST_IF
  • IPV6_MULTICAST_LOOP
  • IP_MULTICAST_IF
  • IP_MULTICAST_LOOP
  • IP_MULTICAST_TTL
  • MCAST_JOIN_GROUP
  • MCAST_LEAVE_GROUP
  • MCAST_BLOCK_SOURCE
  • MCAST_UNBLOCK_SOURCE
  • MCAST_JOIN_SOURCE_GROUP
  • MCAST_LEAVE_SOURCE_GROUP

Curl:

  • CURLOPT_MAX_RECV_SPEED_LARGE
  • CURLOPT_MAX_SEND_SPEED_LARGE

LibXML:

  • LIBXML_HTML_NODEFDTD
  • LIBXML_HTML_NOIMPLIED
  • LIBXML_PEDANTIC

OpenSSL:

  • OPENSSL_CIPHER_AES_128_CBC
  • OPENSSL_CIPHER_AES_192_CBC
  • OPENSSL_CIPHER_AES_256_CBC
  • OPENSSL_RAW_DATA
  • OPENSSL_ZERO_PADDING

Buffer de salida:

  • PHP_OUTPUT_HANDLER_CLEAN
  • PHP_OUTPUT_HANDLER_CLEANABLE
  • PHP_OUTPUT_HANDLER_DISABLED
  • PHP_OUTPUT_HANDLER_FINAL
  • PHP_OUTPUT_HANDLER_FLUSH
  • PHP_OUTPUT_HANDLER_FLUSHABLE
  • PHP_OUTPUT_HANDLER_REMOVABLE
  • PHP_OUTPUT_HANDLER_STARTED
  • PHP_OUTPUT_HANDLER_STDFLAGS
  • PHP_OUTPUT_HANDLER_WRITE

Sesiones:

  • PHP_SESSION_ACTIVE
  • PHP_SESSION_DISABLED
  • PHP_SESSION_NONE

Flujos:

  • STREAM_META_ACCESS
  • STREAM_META_GROUP
  • STREAM_META_GROUP_NAME
  • STREAM_META_OWNER
  • STREAM_META_OWNER_NAME
  • STREAM_META_TOUCH

Zlib:

  • ZLIB_ENCODING_DEFLATE
  • ZLIB_ENCODING_GZIP
  • ZLIB_ENCODING_RAW

Intl:

  • U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR
  • IDNA_CHECK_BIDI
  • IDNA_CHECK_CONTEXTJ
  • IDNA_NONTRANSITIONAL_TO_ASCII
  • IDNA_NONTRANSITIONAL_TO_UNICODE
  • INTL_IDNA_VARIANT_2003
  • INTL_IDNA_VARIANT_UTS46
  • IDNA_ERROR_EMPTY_LABEL
  • IDNA_ERROR_LABEL_TOO_LONG
  • IDNA_ERROR_DOMAIN_NAME_TOO_LONG
  • IDNA_ERROR_LEADING_HYPHEN
  • IDNA_ERROR_TRAILING_HYPHEN
  • IDNA_ERROR_HYPHEN_3_4
  • IDNA_ERROR_LEADING_COMBINING_MARK
  • IDNA_ERROR_DISALLOWED
  • IDNA_ERROR_PUNYCODE
  • IDNA_ERROR_LABEL_HAS_DOT
  • IDNA_ERROR_INVALID_ACE_LABEL
  • IDNA_ERROR_BIDI
  • IDNA_ERROR_CONTEXTJ

Json:

  • JSON_PRETTY_PRINT
  • JSON_UNESCAPED_SLASHES
  • JSON_NUMERIC_CHECK
  • JSON_UNESCAPED_UNICODE
  • JSON_BIGINT_AS_STRING
Otros cambios a extensiones
Cambios en el manejo del fichero INI
Migrando de PHP 5.3.x hacia PHP 5.4.x


Cambios en el manejo del fichero INI

Se han eliminado las siguientes directivas de php.ini:

  • register_globals y register_long_arrays
  • magic_quotes_gpc, magic_quotes_runtime, y magic_quotes_sybase
  • allow_call_time_pass_reference
  • define_syslog_variables
  • highlight.bg
  • session.bug_compat_42 y session.bug_compat_warn
  • y2k_compliance
  • safe_mode, safe_mode_gid, safe_mode_include_dir, safe_mode_exec_dir, safe_mode_allowed_env_vars, y safe_mode_protected_env_vars

Se han añadido las siguientes directivas de php.ini:

  • cli.pager y cli.prompt para la SAPI CLI usando readline en modo interactivo.
  • cli_server.color para habilitar el servidro web de desarrollo interno para usar códigos de color ANSI en la salida de terminales.
  • max_input_vars - especifica cuantas variables de entrada GET/POST/COOKIE se pueden aceptar.
  • zend.multibyte - para controlar el nuevo soporte multibyte.
  • zend.script_encoding - Este valor será usado a menos que aparezca una directiva "declare(encoding=...)" al inicio del scritp.
  • zend.signal_check - para comprobar gestores de señales reemplazados en el cierre.
  • session.upload_progress.enabled, session.upload_progress.cleanup, session.upload_progress.prefix, session.upload_progress.name, session.upload_progress.freq, session.upload_progress.min_freq
  • enable_post_data_reading - Cuando está deshabilitado, los datos de POST no se leen (y tampoco se procesan)
  • windows_show_crt_warning - Esta directiva muestra las advertencias CRT de Windows cuando está habilitada. Estas advertencias eran mostradas por omisión hasta ahora.

Has sido cambiadas las siguientes directivas de php.ini:

  • El valor predeterminado de session.entropy_file ahora es /dev/random o /dev/urandom dependiendo de lo que haya sido estimado en tiempo de compilación.
  • El valor predeterminado de session.entropy_length ahora es 32.
Nuevas constantes globales
Other changes
Migrando de PHP 5.3.x hacia PHP 5.4.x


Other changes

  • El conjunto de caracteres predeterminado para htmlspecialchars() y htmlentities() ahora es UTF-8, en lugar de ISO-8859-1. Observe que si se cambia el conjunto de caracteres de salida mediante el ajuste de configuración default_charset no afecta a htmlspecialchars/htmlentities a menos que se proporcione "" (una cadena vacía) como parámetro de codificación a las llamadas a htmlspecialchars()/ htmlentities(). Generealmente no se recomienda hacer esto ya que se debería de poder cambiar el conjunto de caracteres de salida sin afectar al conjunto de caracteres en tiempo de ejecución usado por estas funciones.these functions. El enfoque más rápido es establecer explícitamente el conjunto de caracteres en cada llamada a htmlspecialchars() y htmlentities().
  • E_ALL ahora incluye los errores de nivel E_STRICT en la directiva de configuración error_reporting.
  • SNMP ahora tiene una API para POO. Las funciones ahora devuelven FALSE en cada condición de error incluyendo las relacionadas con SNMP (no existe tal instancia, fin de MIB, etc). Así, en particular, se rompe con el comportamiento de que las funciones get/walk devuelvan una cadena vacía en errores relacionados con SNMP. Las consultas multi-OID get/getnext/set ahora son soportadas. Compatibilidad con código Dropped UCD-SNMP, considere actualizar a net-snmp v5.3+, y se requiere Net-SNMP v5.4+ para la versión de Windows. Ahora el soporte para la resolución de nombres DNS de IPv6 DNS de agentes SNMP remotos SNMP (pares) se realiza por extensión, y ya no por la biblioteca Net-SNMP.
  • OpenSSL ahora soporta AES.
  • La SAPI CLI ya no finaliza con errores fatales al usar el modo interactivo con soporte de readline.
  • Se ha añadido $_SERVER['REQUEST_TIME_FLOAT'] para incluir una precisión de microsegundos.
  • Se ha añadido nuevos algoritmos hash: fnv132, fnv164, joaat
  • Los índices encadencados de strings - p.ej. $a[0][0] donde $a es un string - ahora funcionan.
  • La conversión de arrays desde SimpleXMLElement ahora siempre contiene todos los nodos en lugar del sólo el primero nodo coincidente. Todos los hijos de SimpleXMLElement ahora siempre se imprimen al usar var_dump(), var_export() y print_r().
  • Ahora es posible forzar los argumentos de __construct de una clase en un constructor abstracto en la clase base.
Cambios en el manejo del fichero INI
Migrando de PHP 5.2.x a PHP 5.3.x
Migrando de PHP 5.3.x hacia PHP 5.4.x


Migrando de PHP 5.2.x a PHP 5.3.x

Tabla de contenidos

  • Qué ha cambiado en PHP 5.3.x
  • Incompatibilidades con versiones anteriores
  • Nuevas funcionalidades
  • Cambios relativos al soporte en Windows
  • Cambios en módulos SAPI
  • Funcionalidades obsoletas en PHP 5.3.x
  • Funcionalidades que ya no son obsoletas en PHP 5.3.x
  • Nuevos parámetros
  • Nuevas Funciones
  • Nuevas envolturas de flujos
  • Nuevos filtros de flujos
  • Nuevas Constantes de Clases
  • Nuevos métodos
  • Nuevas Extensiones
  • Extensiones Eliminadas
  • Otros cambios en las extensiones
  • Nuevas Clases
  • Nuevas Constantes Globales
  • Cambios en el manejo del fichero INI
  • Otros cambios

Vea también guías de migración para versiones de PHP 5.0.x, 5.1.x, 5.2.x, 5.4.x y 5.5.x.

Other changes
Qué ha cambiado en PHP 5.3.x
Apéndices


Qué ha cambiado en PHP 5.3.x

La mayoría de las mejoras de PHP 5.3.x no tienen impacto en códigos existentes. Hay unas cuantas incompatibilidades y nuevas funcionalidades que se deben tener en cuenta, y en entornos de producción se debe someter a pruebas el código antes de actualizar su versión de PHP.

Revise la siguiente documentación para actualizar sistemas desde versiones anteriores de PHP:

  • Notas de actualización para PHP 5.2.x.
  • Notas de actualización para PHP 5.1.x.
  • Migrando desde PHP 4 a PHP 5.
Migrando de PHP 5.2.x a PHP 5.3.x
Incompatibilidades con versiones anteriores
Migrando de PHP 5.2.x a PHP 5.3.x


Incompatibilidades con versiones anteriores

Si bien casi todo el código existente en PHP5 debe funcionar sin realizar cambios, por favor, tenga en cuenta las siguientes incompatibiidades con respecto a versiones anteriores:

  • La nueva API encargada de interpretar parámetros internos ha sido aplicada en todas las extensiones que incluye PHP 5.3.x. Esta API de interpretación de parámetros provoca que las funciones devuelvan NULL cuando se le proporcionen parámetros incompatibles. Existen algunas excepciones a esta regla, como la función get_class(), que seguirá devolviendo FALSE en caso de error.
  • clearstatcache() ya no limpia por omisión la caché de la ruta real.
  • realpath() ahora es completamente independiente de la plataforma. Como consecuencia, las rutas relativas inválidas como por ejemplo __FILE__ . "/../x" ya no funcionan.
  • La familia de funciones call_user_func() ahora propagan $this incluso en llamadas desde clases padre.
  • Las funciones de array  natsort(),
 natcasesort(),  usort(),
 uasort(),  uksort(),
 array_flip(), y  array_unique() ya
no aceptan objetos como parámetros. Para poder realizarlo, primero debe
convertir el objeto en un array.
  • Ha cambiado el comportamiento de funciones con parámetros por referencia llamados por valor. Donde antes se aceptaban parámetros por valor, ahora se emite un error fatal. Todo código anterior que proporcionara constantes o valores literales a funciones que esperan variables por referencia, necesitarán modificarse para asignar el valor a una variable antes de llamar a la función.
  • La nueva biblioteca mysqlnd necesita el uso del nuevo formato de contraseñas de 41 bytes de MySQL 4.1. Si se continua usando las antiguas contraseñas de 16 bytes, mysql_connect() y otras funciones similares emitiran el error, "mysqlnd cannot connect to MySQL 4.1+ using old authentication."
  • La nueva biblioteca mysqlnd no lee el fichero de configuración de mysql (my.cnf/my.ini), tal y como hacía la anterior biblioteca de libmysqlclient. Si su código depende de los ajustes de dicho fichero de configuración, puede cargarlo explícitamente con la función mysqli_options(). Tenga en cuenta que esto significa que las constantes específicas de PDO PDO::MYSQL_ATTR_READ_DEFAULT_FILE y PDO::MYSQL_ATTR_READ_DEFAULT_GROUP no estarán definidas si el soporte de MySQL en PDO está compilado con mysqlnd.
  • La / final se ha eliminado de la clase SplFileInfo y de otras clases de directorios relacionadas.
  • El método mágico __toString ya no acepta parámetros.
  • Los métodos mágicos __get, __set, __isset, __unset,y __call deben ser siempre públicos, y ya no pueden ser estáticos. La definición de estos métodos es obligatoria.
  • Ahora se invoca al método mágico __call cuando se accede a métodos privados y protegidos.
  • func_get_arg(), func_get_args() y func_num_args() ya no pueden ser llamados desde el ámbito de un fichero que se ha incluido llamando a include o require desde una función desde el fichero llamado.
  • Se ha añadido una capa que emula la extensión MHASH para envolver la extensión Hash. En cualquier caso, no cubre todos los algoritmos, a destacar el algoritmo de hash s2k. Esto significa que desde PHP 5.3.0 ya no está disponible el hash con s2k.

Las siguientes palabras clave son ahora reservadas y no se pueden utilizar ni en nombres defunciones, ni de clases, etc.

  • goto
  • namespace
Qué ha cambiado en PHP 5.3.x
Nuevas funcionalidades
Migrando de PHP 5.2.x a PHP 5.3.x


Nuevas funcionalidades

PHP 5.3.0 ofrece un amplio rango de nuevas funcionalidades:

  • Se ha añadido suporte para espacios de nombres.
  • Se ha añadido soporte para Enlaces Estáticos en Tiempo de ejecución.
  • Se ha añadido soporte para etiquetas de saltos (goto limitado).
  • Se ha añadido soporte nativo para Funciones Anónimas (funciones Lambda).
  • Hay dos nuevos métodos mágicos, __callStatic y __invoke.
  • Ahora hay soporte para sintaxis Nowdoc, similar a la sintaxis Heredoc, pero con comillas simples.
  • Ahora es posible utilizar Heredoc para inicializar tanto variables estáticas como propiedades/constantes de clases.
  • Ahora se pueden declarar Heredocs usando comillas dobles, complementando la sintaxis de Nowdoc.
  • Ahora se pueden declarar Constants desde fuera de una clase utilizando la palabra clave const.
  • El operador ternario tiene una forma abreviada: ?:.
  • La envoltura para flujos HTTP ahora considera los códigos de estado del 200 al 399 como éxito.
  • Ahora es posible el acceso dinámico a métodos estáticos:
    <?php
    class C {
       public static     $foo = 123;
    }

    $a = "C";
    echo     $a::$foo;
    ?>

    El resultado del ejemplo sería:

    123
  • Ahora se pueden anidar Excepciones:
    <?php
    class MyCustomException extends Exception {}

    try {
        throw new     MyCustomException("Exceptional", 112);
    } catch (    Exception $e) {
            /* Observe el uso del tercer parámetro al pasar $e
         * a RuntimeException. */
            throw new RuntimeException("Rethrowing", 911, $e);
    }
    ?>
  • Se ha añadido un recolector de basura para referencias circulares, y está activado de forma predeterminada.
  • La función mail() ahora admite registros de correos enviados mediante la directiva de configuración mail.log. (Nota: Esto sólo se aplica a correos enviados mediante esta función.)
Incompatibilidades con versiones anteriores
Cambios relativos al soporte en Windows
Migrando de PHP 5.2.x a PHP 5.3.x


Cambios relativos al soporte en Windows

Cambios respecto a las ediciones de Windows:

  • La versión mínima de Windows es ahora Windows XP SP3; Windows 98, ME, 2000 y NT4 ya no están soportados.
  • Ahora se realizan binarios de Windows i586 y posteriores. Ya no se soporta ni i386 ni i486.
  • Ahora hay soporte experimental para PHP en versiones x64 de Windows.
  • Ahora hay soporte para el compilador Visual C++ 9 (VC9), usando Visual Studio 2008. Tanto las snapshots como las releases estarán ahora disponibles para VC9. Al igual que con VC9, los antiguos binarios que utilizan VC6 siguen estando soportados y lanzados.
  • La biblioteca PDO_OCI php_pdo_oci8.dll (para usar con la versión 8 de las bibliotecas clientes de Oracle) ya no se construyen. En su lugar, utilice php_pdo_oci.dll (sin el '8') con las bibliotecas clientes de Oracle 10 o 11. Todavía se soporta las conexiones a otras bases de datos.
  • Para la extensión OCI8, está disponible la nueva biblioteca php_oci8_11g.dll además de php_oci8.dll. Sólo puede haber una activa a la vez. Utilice php_oci8.dll con la biblioteca cliente de Oracle 10.2. Utilice php_oci8_11g.dll con Oracle 11 o bibliotecas cliente posteriores. Todavía se admiten conexiones a otras versiones de bases de datos.

Se ha añadido soporte para Windows en la siguientes funciones:

  • checkdnsrr()
  • dns_get_record()
  • fnmatch()
  • getmxrr()
  • getopt()
  • imagecolorclosesthwb()
  • inet_ntop()
  • inet_pton()
  • link()
  • linkinfo()
  • mcrypt_create_iv()
  • readlink()
  • socket_create_pair() - Esta función estuvo disponible anteriormente en Windows, pero se desactivó en PHP 4.3.0 debido a un error de programación.
  • stream_socket_pair()
  • symlink()
  • time_nanosleep()
  • time_sleep_until()

Otros cambios:

  • Mejorada la portabilidad de las funciones stat(), touch(), filemtime(), filesize(), y de otras funciones similares (100% portable para los datos disponibles).
  • Ahora es posible crear enlaces duros en Windows utilizando la función link(), y también enlaces simbólicos utiliza la función symlink(). Los enlaces duros están disponibles desde Windows 2000, y los enlaces simbólicos desde Windows Vista.
  • Las versiones de PHP para Windows ahora declaran un conjunto de constantes con el prefijo PHP_WINDOWS_*. Puede encontrar una lista de estas constantes y sobre su uso en Constantes predefinidas.
Advertencia

Se ha eliminado el soporte para el módulo ISAPI. En su lugar, utilice el módulo mejorado FastCGI SAPI.

Nota: Ahora hay un nuevo sitio dedicado a PHP en Windows, incluyendo descargas, versiones candidatas, y versiones estables en varias formas (seguridad-en-hilos/sin-seguridad-en-hilos, VC6/VC9, x86/x64). La URL de este sitio es » http://windows.php.net/.

Nuevas funcionalidades
Cambios en módulos SAPI
Migrando de PHP 5.2.x a PHP 5.3.x


Cambios en módulos SAPI

  • Hay un nuevo módulo sabe llamado litespeed.
  • Ahora siempre está activado el soporte para FastCGI en el SAPI CGI, y no se puede desactivar. Revise sapi/cgi/CHANGES para más detalles.
  • La nueva opción de CGI SAPI, -T, se puede usar para medir de forma repetida los tiempos de ejecución de un script.
  • Ahora CGI/FastCGI ahora tiene soporte para ficheros php.ini definidos por usuario al estilo de .htaccess.
  • La función dl() ahora está desactivada por omisión, y está ahora disponible en CLI, CGI, y en en las SAPI incluidas.
Cambios relativos al soporte en Windows
Funcionalidades obsoletas en PHP 5.3.x
Migrando de PHP 5.2.x a PHP 5.3.x


Funcionalidades obsoletas en PHP 5.3.x

PHP 5.3.0 introduce dos nuevos niveles de error: E_DEPRECATED y E_USER_DEPRECATED. El nivel de error E_DEPRECATED se usa para indicar que una función o funcionalidad está obsoleto. El nivel de error E_USER_DEPRECATED tiene por objetivo indicar las funcionalidades obsoletas en el código de usuario, de forma similar a los niveles de error E_USER_ERROR y E_USER_WARNING.

La siguiente es una lista de directivas INI obsoletas. El uso de cualquiera de estas directivas INI provocará un error E_DEPRECATED al arrancar.

  • define_syslog_variables
  • register_globals
  • register_long_arrays
  • safe_mode
  • magic_quotes_gpc
  • magic_quotes_runtime
  • magic_quotes_sybase
  • Ahora están obsoletos los comentarios en ficheros .INI que comienzan con '#'.

Funciones obsoletas:

  • call_user_method() (utilice en su lugar call_user_func())
  • call_user_method_array() (utilice en su lugar call_user_func_array())
  • define_syslog_variables()
  • dl()
  • ereg() (utilice en su lugar preg_match())
  • ereg_replace() (utilice preg_replace() en su lugar)
  • eregi() (utilice en su lugar preg_match() con el modificador 'i')
  • eregi_replace() (utilice en su lugar preg_replace() con el modificador 'i')
  • set_magic_quotes_runtime() y su alias, magic_quotes_runtime()
  • session_register() (utilice en su lugar la superglobal $_SESSION)
  • session_unregister() (utilice en su lugar la superglobal $_SESSION)
  • session_is_registered() (utilice en su lugar la superglobal $_SESSION)
  • set_socket_blocking() (utilice en su lugar stream_set_blocking())
  • split() (utilice en su lugar preg_split())
  • spliti() (utilice en su lugar preg_split() con el modificador 'i')
  • sql_regcase()
  • mysql_db_query() (utilice mysql_select_db() y mysql_query() en su lugar)
  • mysql_escape_string() (utilice en su lugar mysql_real_escape_string())
  • Ahora está obsoleto pasar nombres de categoría local como strings. Utilice la familia de constantes LC_* en su lugar.
  • El parámetro is_dst para mktime(). Utilice en su lugar las funciones de manejo de zonas horarias.

Funcionalidades obsoletas:

  • Ahora está obsoleto asignar el valor devuelto por new por referencia.
  • Ha quedado obsoleto el paso por referencia en tiempo de llamada.
Cambios en módulos SAPI
Funcionalidades que ya no son obsoletas en PHP 5.3.x
Migrando de PHP 5.2.x a PHP 5.3.x


Funcionalidades que ya no son obsoletas en PHP 5.3.x

La función is_a() vuelve a estar soportado por petición popular; ya no lanzará un error E_STRICT.

Funcionalidades obsoletas en PHP 5.3.x
Nuevos parámetros
Migrando de PHP 5.2.x a PHP 5.3.x


Nuevos parámetros

Se han añadido nuevos parámetros opcionales a algunas funciones en PHP 5.3:

Nucleo de PHP:

  • clearstatcache() - Añadido clear_realpath_cache y filename.
  • copy() - Añadido un parámetro del contexto de flujo de datos, context.
  • fgetcsv() - Añadido escape.
  • ini_get_all() - Añadido details.
  • nl2br() - Añadido is_xhtml.
  • parse_ini_file() - Añadido scanner_mode.
  • round() - Añadido mode.
  • stream_context_create() - Añadido params.
  • strstr() y stristr() - Añadido before_needle.

json:

  • json_encode() - Añadido options.
  • json_decode() - Añadido depth.

Flujos:

  •  stream_select(),
 stream_set_blocking(),
 stream_set_timeout(), y
 stream_set_write_buffer() Ahora trabajan con
envolturas de flujos de datos definidos por el usuario.

sybase_ct:

  • sybase_connect() - Añadido new.

Nuevos parámetros de métodos en PHP 5.3.0:

Núcleo de PHP:

  • Exception::__construct() - Añadido previous.
Funcionalidades que ya no son obsoletas en PHP 5.3.x
Nuevas Funciones
Migrando de PHP 5.2.x a PHP 5.3.x


Nuevas Funciones

PHP 5.3 añade algunas nuevas funciones:

Nuevo de PHP:

  • array_replace() - Remplaza los elementos de los arrays pasados en el primer array.
  • array_replace_recursive() - Reemplaza los elementos de los arrays pasados al primer array de forma recursiva.
  • class_alias() - Crea un alias para una clase.
  • forward_static_call() - Llamar a un método estático.
  • forward_static_call_array() - Llamar a un método estático y pasar los argumentos como matriz.
  • gc_collect_cycles() - Fuerza la recolección de un ciclo de basura.
  • gc_disable() - Desactiva la recolección de referencias circulares.
  • gc_enable() - Activa la recolección de referencias circulares.
  • gc_enabled() - Devuelve el estado de la recolección de referencias circulares.
  • get_called_class() - Obtiene el nombre de la clase desde la que se llama al método estático.
  • gethostname() - Obtiene el nombre de host de la máquina local.
  • header_remove() - Elimina las cabeceras HTTP asignadas anteriormente usando la función header().
  • lcfirst() - Convierte a minúscula el primer caracter de un string.
  • parse_ini_string() - Analiza un string de configuración.
  • quoted_printable_encode() - Convierte un string de 8 bits a un string a codificación QP.
  • str_getcsv() - Convierte una cadena CSV en un array.
  • stream_context_set_default() - Establece el flujo de contexto por omisión.
  • stream_supports_lock() - Indica si el flujo soporta bloqueo.
  • stream_context_get_params() - Recuperar los parámetros de un contexto.
  • streamWrapper::stream_cast() - Recuperar el recurso subyacente.
  • streamWrapper::stream_set_option() - Cambiar las opciones de flujo.

Fecha/Hora:

  • date_add() - Añade una cantidad de días, meses, años, horas, minutos y segundos a un objeto DateTime.
  • date_create_from_format() - Devuelve un nuevo objeto DateTime formateado según el formato especificado.
  • date_diff() - Devuelve la diferencia entre dos objetos DateTime.
  • date_get_last_errors() - Devuelve las advertencias y errores de la última operación de fecha/hora.
  • date_parse_from_format() - Devuelve información de una fecha.
  • date_sub() - Sustrae una cantidad de días, meses, años, horas, minutos y segundos de un objeto DateTime.
  • timezone_version_get() - Obtiene la versión de la base de datos timezonedb.

GMP:

  • gmp_testbit() - Comprueba si un bit está establecido.

Hash:

  • hash_copy() - Copia el contexto de Hash.

IMAP:

  • imap_gc() - Limpia la caché de IMAP.
  • imap_utf8_to_mutf7() - Codifica una cadena UTF-8 a UTF-7 modificado.
  • imap_mutf7_to_utf8() - Decodifica de UTF-7 modificado a una cadena UTF-8.

JSON:

  • json_last_error() - Obtiene el último error de JSON que ocurrió.

Extensión mejorada de MySQL:

  • mysqli_fetch_all() - Extrae todos los resultados en un array asociativo, en un array numérico, o en ambos.
  • mysqli_get_connection_stats() - Obtiene estadísticas sobre la conexión cliente.
  • mysqli_poll() - Apila conexiones.
  • mysqli_reap_async_query() - Obtiene resultados de una consulta asíncrona.

OpenSSL:

  • openssl_random_pseudo_bytes() - Devuelve una cadena de la longitud especificada, rellenada con bytes pseudo-aleatorios.

PCNTL:

  • pcntl_signal_dispatch() - Realiza una llamada a los manejadores de señales para las señales pendientes.
  • pcntl_sigprocmask() - Establece y obtiene las señales bloqueadas.
  • pcntl_sigtimedwait() - Realiza una espera a señales con un tiempo de expiración.
  • pcntl_sigwaitinfo() - Espera a una señal.

PCRE:

  • preg_filter() - Realiza búsquedas y reemplazos por expresiones regulares, devolviendo solo los resultados que coincidan con el patrón.

Semáforos:

  • msg_queue_exists() - Comprueba si existe una cola de mensajes o no.
  • shm_has_var() - Comprueba si existe o no una clave específica en un segmento de memoria compartida.

Las siguientes funciones están ahora disponibles de forma nativa, de modo que están disponibles en todos los sistemas operativos que puedan ejecutar PHP:

  • acosh()
  • asinh()
  • atanh()
  • expm1()
  • log1p()
Nuevos parámetros
Nuevas envolturas de flujos
Migrando de PHP 5.2.x a PHP 5.3.x


Nuevas envolturas de flujos

Las siguientes envolturas de flujos se introdujeron en la versión 5.3.0:

  • glob://
  • phar://
Nuevas Funciones
Nuevos filtros de flujos
Migrando de PHP 5.2.x a PHP 5.3.x


Nuevos filtros de flujos

Los siguientes filtros de flujos se introdujeron en la versión 5.3.0:

  • dechunk (invierte la codificación fragmentada HTTP)
  • El filtro bz2.decompress ahora soporta concatenaciones.
Nuevas envolturas de flujos
Nuevas Constantes de Clases
Migrando de PHP 5.2.x a PHP 5.3.x


Nuevas Constantes de Clases

Se introdujeron varias constantes de clases nuevas en la versión 5.3.0:

PDO_FIREBIRD:

  • PDO::FB_ATTR_DATE_FORMAT - Establece el formato de fechas.
  • PDO::FB_ATTR_TIME_FORMAT - Establece el formato de horas.
  • PDO::FB_ATTR_TIMESTAMP_FORMAT - Establece el formato de fecha Unix.
Nuevos filtros de flujos
Nuevos métodos
Migrando de PHP 5.2.x a PHP 5.3.x


Nuevos métodos

Se han introducido varios métodos nuevos en la versión 5.3.0:

Fecha/Hora:

  • DateTime::add() - Añade una cantidad de días, meses, años, horas, minutos y segundos al objeto DateTime.
  • DateTime::createFromFormat() - Devuelve un nuevo objeto DateTime formateado según el formato especificado.
  • DateTime::diff() - Devuelve la diferencia entres dos objetos DateTime.
  • DateTime::getLastErrors() - Devuelve las advertencias y los errores de la última operación de fecha/hora.
  • DateTime::sub() - Sustrae una cantidad de días, meses, años, horas, minutos y segundos de un objeto DateTime.

Excepciones:

  • Exception::getPrevious() - Obtiene la excepción anterior.

DOM:

  • DOMNode::getLineNo() - Obtiene el número de línea del nodo analizado.

PDO_FIREBIRD:

  • PDO::setAttribute() - Establece un atributo.

Reflection:

  • ReflectionClass::getNamespaceName() - Obtiene el nombre espacio de nombres en el que esta clase está definida.
  • ReflectionClass::getShortName() - Devuelve el nombre reducido de esta clase (sin el espacio de nombres).
  • ReflectionClass::inNamespace() - Comprueba si esta clase está definida dentro de un espacio de nombres.
  • ReflectionFunction::getNamespaceName() - Obtiene el nombre del espacio de nombres en el que esta función está definida.
  • ReflectionFunction::getShortName() - Devuelve el nombre reducido de esta función (sin el espacio de nombres).
  • ReflectionFunction::inNamespace() - Comprueba si esta función está definida dentro de un espacio de nombres.
  • ReflectionProperty::setAccessible() - Establece si se pueden requerir propiedades no públicas.

SPL:

  • SplObjectStorage::addAll() - Añade todos los elementos de otro objeto SplObjectStorage.
  • SplObjectStorage::removeAll() - Eliminar todos los elementos de otro objeto SplObjectStorage.

XSL:

  • XSLTProcessor::setProfiling() - Asigna el fichero de salida de información.
Nuevas Constantes de Clases
Nuevas Extensiones
Migrando de PHP 5.2.x a PHP 5.3.x


Nuevas Extensiones

Se han añadido (por omisión) las siguientes nuevas extensiones en PHP 5.3.0:

  • Enchant - Una capa que abstrae sobre varias bibliotecas ortográficas.
  • Fileinfo - Un reemplazo mejorado y más solido, para la extensión Mimetype, la cual ha sido eliminada.
  • INTL - Extensión de Internacionalización. INTL es una envoltura de la biblioteca » ICU.
  • Phar - Implementación de los ficheros PHP-Archive.
  • SQLite3 - Soporte para bases de datos SQLite versión 3.

mysqlnd es una nueva biblioteca del nucleo distribuida con PHP. Es un reemplazo específico de PHP para libmysqlclient. mysqlnd se utilizará para construir las extensiones mysql, mysqli y PDO_MySQL si no se encontrara libmysqlclient en el sistema. También se puede utilizar en lugar de libmysqlclient incluso cuando ésta esté presente. Por razones de rendimiento, se recomienda mysqlnd en todas las instalaciones de PHP.

Nuevos métodos
Extensiones Eliminadas
Migrando de PHP 5.2.x a PHP 5.3.x


Extensiones Eliminadas

Estas extensiones han sido movidas a PECL y ya no son parte de la distribución de PHP. Las versiones de los paquetes PECL de estas extensiones serán creadas de acuerdo a la demanda de los usuarios.

  • dbase - Ya no se mantiene
  • fbsql - Ya no se mantiene
  • fdf - Mantenida
  • ming - Mantenida
  • msql - Ya no se mantiene
  • ncurses - Mantenida
  • sybase - Discontinuada; utilice en su lugar la extensión sybase_ct
  • mhash - Discontinuada; utiliza en su lugar la extensión hash. hash tiene compatibilidad con mhash completa; todas las aplicaciones que utilicen las funciones antiguas seguirán funcionando.
Nuevas Extensiones
Otros cambios en las extensiones
Migrando de PHP 5.2.x a PHP 5.3.x


Otros cambios en las extensiones

Las siguientes extensiones ya no se pueden desactivar al generar la configuración:

  • PCRE
  • Reflection
  • SPL

Cambios en el comportamiento de extensiones, y nuevas funcionalidades:

  • Fecha y Hora - Ya no se usa la variable de entorno TZ para extraer la zona horaria
  • cURL - Ahora cURL soporta SSH
  • Network - dns_check_record() devuelve ahora un índice extra de "entradas", que contiene los elementos TXT.
  • Hash - Ahora se soportan los algoritmos hash SHA-224 y salsa.
  • mbstring - Ahora se soporta la codificación CP850.
  • OCI8 - Ahora, una llamada a oci_close() en una conexión persistente, o una variable referenciando a una conexión persistente fuera de ámbito, deshará todas las transacciones no validadas. Para evitar comportamientos inesperados, realice una validación explícita o deshaga según sus necesidad. Puede activar el comportamiento antiguo con la directiva INI oci8.old_oci_close_semantics. Ahora hay soporte para la Pila de Conexiones Residentes de Bases de datos (DRCP) y para Notificaciones de Aplicación Rápidas (FAN). Ahora hay soporte para Autenticación Externa en Oracle (salvo en Windows). La función oci_bind_by_name() ahora tiene soporte para SQLT_AFC (es decir, el tipo de datos CHAR).
  • OpenSSL - Ahora hay soporte para las funciones digest y cipher de OpenSSL. También es ahora posible acceder a los valores internos de las claves DSA, RSA y DH.
  • Manejo de Sesiones - Las sesiones ya no almacenan sus ficheros en "/tmp" cuando se aplique la restricción open_basedir, a no ser que se añada explícitamente "/tmp" a la lista de rutas permitidas.
  • SOAP Ahora permite enviar cabeceras HTTP facilitadas por el usuario.
  • MySQLi Ahora tiene soporte para conexiones persistentes, anteponiendo al nombre de host el prefijo "p:".
  • Procesado de Imágenes y GD El índice de "JPG Support" devuelto por gd_info() ha sido renombrado a "JPEG Support".
Extensiones Eliminadas
Nuevas Clases
Migrando de PHP 5.2.x a PHP 5.3.x


Nuevas Clases

Se han introducido las siguientes clases en PHP 5.3.0:

Fecha/Hora:

  • DateInterval
  • DatePeriod

Phar:

  • Phar
  • PharData
  • PharException
  • PharFileInfo

SPL:

  • FilesystemIterator
  • GlobIterator
  • MultipleIterator
  • RecursiveTreeIterator
  • SplDoublyLinkedList
  • SplFixedArray
  • SplHeap
  • SplMaxHeap
  • SplMinHeap
  • SplPriorityQueue
  • SplQueue
  • SplStack
Otros cambios en las extensiones
Nuevas Constantes Globales
Migrando de PHP 5.2.x a PHP 5.3.x


Nuevas Constantes Globales

Núcleo de PHP:

  • __DIR__
  • __NAMESPACE__
  • E_DEPRECATED
  • E_USER_DEPRECATED
  • INI_SCANNER_NORMAL
  • INI_SCANNER_RAW
  • PHP_MAXPATHLEN
  • PHP_WINDOWS_NT_DOMAIN_CONTROLLER
  • PHP_WINDOWS_NT_SERVER
  • PHP_WINDOWS_NT_WORKSTATION
  • PHP_WINDOWS_VERSION_BUILD
  • PHP_WINDOWS_VERSION_MAJOR
  • PHP_WINDOWS_VERSION_MINOR
  • PHP_WINDOWS_VERSION_PLATFORM
  • PHP_WINDOWS_VERSION_PRODUCTTYPE
  • PHP_WINDOWS_VERSION_SP_MAJOR
  • PHP_WINDOWS_VERSION_SP_MINOR
  • PHP_WINDOWS_VERSION_SUITEMASK

cURL:

  • CURLOPT_PROGRESSFUNCTION

GD:

  • IMG_FILTER_PIXELATE

JSON:

  • JSON_ERROR_CTRL_CHAR
  • JSON_ERROR_DEPTH
  • JSON_ERROR_NONE
  • JSON_ERROR_STATE_MISMATCH
  • JSON_ERROR_SYNTAX
  • JSON_FORCE_OBJECT
  • JSON_HEX_TAG
  • JSON_HEX_AMP
  • JSON_HEX_APOS
  • JSON_HEX_QUOT

LDAP:

  • LDAP_OPT_NETWORK_TIMEOUT

libxml:

  • LIBXML_LOADED_VERSION

PCRE:

  • PREG_BAD_UTF8_OFFSET_ERROR

PCNTL:

  • BUS_ADRALN
  • BUS_ADRERR
  • BUS_OBJERR
  • CLD_CONTIUNED
  • CLD_DUMPED
  • CLD_EXITED
  • CLD_KILLED
  • CLD_STOPPED
  • CLD_TRAPPED
  • FPE_FLTDIV
  • FPE_FLTINV
  • FPE_FLTOVF
  • FPE_FLTRES
  • FPE_FLTSUB
  • FPE_FLTUND
  • FPE_INTDIV
  • FPE_INTOVF
  • ILL_BADSTK
  • ILL_COPROC
  • ILL_ILLADR
  • ILL_ILLOPC
  • ILL_ILLOPN
  • ILL_ILLTRP
  • ILL_PRVOPC
  • ILL_PRVREG
  • POLL_ERR
  • POLL_HUP
  • POLL_IN
  • POLL_MSG
  • POLL_OUT
  • POLL_PRI
  • SEGV_ACCERR
  • SEGV_MAPERR
  • SI_ASYNCIO
  • SI_KERNEL
  • SI_MESGQ
  • SI_NOINFO
  • SI_QUEUE
  • SI_SIGIO
  • SI_TIMER
  • SI_TKILL
  • SI_USER
  • SIG_BLOCK
  • SIG_SETMASK
  • SIG_UNBLOCK
  • TRAP_BRKPT
  • TRAP_TRACE
Nuevas Clases
Cambios en el manejo del fichero INI
Migrando de PHP 5.2.x a PHP 5.3.x


Cambios en el manejo del fichero INI

PHP 5.3.0 ha mejorado significativamente el rendimiento y el análisis de ficheros INI, y añade funcionalidades sintácticas nuevas.

  • Los ficheros php.ini estándar han sido reorganizados y renombrados. php.ini-development contiene ajustes recomendados para usar en entornos de desarrollos. php.ini-production contiene los ajustes recomendados para usar en entornos de producción.
  • Ahora hay soporte para dos secciones especiales: [PATH=/opt/httpd/www.example.com/] y [HOST=www.example.com]. Las directivas que se establezcan en estas secciones, no podrá ser sobrescritas en los ficheros INI definidos por el usuario ni en tiempo de ejecución. Puede encontrar mas información aquí.
  • Se han elminado zend_extension_debug, zend_extension_debug_ts and zend_extension_ts. Utilice la directiva zend_extension para cargar todas las Extensiones Zend.
  • Se ha eliminado zend.ze1_compatibility_mode. Si esta directiva INI está asignada a On, se emitirá un error E_ERROR al arrancar.
  • Ahora es posible utilizar la ruta completa para cargar módulos usando la directiva extension.
  • Ahora se pueden usar "variables-ini" en cualquier punto de un fichero php.ini.
  • Las restricciones de open_basedir ahora se pueden endurecer en tiempo de ejecución, y la directiva ahora es PHP_INI_ALL.
  • Ahora es posuble utilizar índices alfanuméricos o variables en los arrays de opciones INI.
  • get_cfg_var() puede ahora devolver un "array" de opciones INI.
  • Se han añadido dos nuevas directivas de correo: mail.add_x_header y mail.log.

Se han añadido las siguientes directivas ini:

  • user_ini.filename y user_ini.cache_ttl se han añadido para controlar el uso de ficheros INI de usuario.
  • exit_on_timeout se ha añadido para forzar a un subproceso de Apache 1.x a salir si expira la ejecución de PHP.
  • Se ha añadido mbstring.http_output_conv_mimetype. Esta directiva especifica el patron de expresión regular para tipos de contenidos para los cuales mb_output_handler() está activado.
  • Añadido request_order. Permite controlar qué variables externas estarán disponibles en $_REQUEST.

Las siguientes directivas ini tienen nuevos valores por omisión:

  • session.use_only_cookies está ahora establecido a "1" (activado) por omisión.
  • oci8.default_prefetch ha cambiado de "10" a "100".
Nuevas Constantes Globales
Otros cambios
Migrando de PHP 5.2.x a PHP 5.3.x


Otros cambios

  • SplFileInfo::getpathinfo() ahora devuelve información sobre el nombre de la ruta.
  • SplObjectStorage tiene ahora soporte para ArrayAccess. Ahora también es posible almacenar información asociativa con objetos en SplObjectStorage.
  • Ahora, en la extensión GD, hay disponible soporte para pixelación mediante la función imagefilter().
  • La salida de var_dump() ahora incluye las propiedades de objeto privadas.
  • session_start() devuelve ahora FALSE cuando falla el inicio de sesión.
  • property_exists() comprueba ahora la existencia de una propiedad, independientemente de su accesibilidad (al igual que method_exists()).
  • Envolturas de Flujos. include_path puede ahora utilizar
  • El parámetro initial de array_reduce() puede ser ahora de cualquier tipo.
  • Las funciones de directorios opendir(), scandir(), y dir() utiliza ahora el contexto de flujo por omisión si no se proporciona un contexto explícitamente.
  • crypt() tiene ahora soporte para Blowfish y extended DES, y las funcionalidades de crypt() son ahora 100% portables. PHP tiene ahora su propia implementación interna de crypt, la cual toma lugar cuando no se encuentra soporte ni para crypt ni para crypt_r.
  • getopt() now accepts "long options" on all platforms. Optional values and = as a separator for short options are now supported.
  • fopen() tiene ahora un nueva opción de modo (n), que pasa O_NONBLOCK a la llamada del sistema subyacente open().Tenga en cuenta que este modo no tiene actualmente soporte en Windows.
  • getimagesize() tiene ahora soporte para ficheros de iconos (.ico).
  • La extensión mhash se ha movido a PECL, pero se ha modificado la extensión Hash para que tenga soporte para mhash en caso de que PHP se compile con --with-mhash. Tenga en cuenta que la extensión Hash no requiere que la biblioteca mhash esté disponible, tanto si la emulación mhash está activada como si no.
Cambios en el manejo del fichero INI
Migración de PHP 5.1.x a PHP 5.2.x
Migrando de PHP 5.2.x a PHP 5.3.x


Migración de PHP 5.1.x a PHP 5.2.x

Tabla de contenidos

  • Qué ha cambiado en PHP 5.2.x
  • Incompatibilidades con versiones anteriores
  • Nuevos Mensajes de Error
  • Cambios en el soporte PHP para datetime
  • Nuevos Parámetros
  • Nuevas Funciones
  • Nuevos Métodos
  • Extensiones eliminadas
  • Nuevas Extensiones
  • Nuevas Clases
  • Nuevas Constantes Globales
  • Nuevas Constantes de Clase
  • Nuevas Directivas de Configuración INI
  • Reportes de Error
  • Otras mejoras

Vea también guías de migración para versiones de PHP 5.0.x, 5.1.x, 5.3.x, 5.4.x y 5.5.x.

Otros cambios
Qué ha cambiado en PHP 5.2.x
Apéndices


Qué ha cambiado en PHP 5.2.x

La mayoría de las mejoras en PHP 5.2.x no tienen impacto en códigos existentes. Existen algunas incompatibilidades y nuevos mensajes de error que deberían ser considerados, y el código debería ser probado antes de hacer el cambio de versión de PHP en ambientes de producción.

Si el sistema está siendo actualizado desde PHP 5.0.x, también debería leer la sección del manual Migración de PHP 5.0.x a PHP 5.1.x.

De la misma forma, si el sistema está siendo actualizado desde PHP 4, debería leer la sección del manual Migración desde PHP 4 a PHP 5.0.x.

Migración de PHP 5.1.x a PHP 5.2.x
Incompatibilidades con versiones anteriores
Migración de PHP 5.1.x a PHP 5.2.x


Incompatibilidades con versiones anteriores

Si bien la mayoría del código PHP 5 existente debería funcionar sin necesidad de hacer ningún cambio, debe prestarse atención a las siguientes incompatibilidades con versiones anteriores:

  • getrusage() devuelve NULL cuando se pasan argumentos incompatibles a partir de PHP 5.2.1.
  • ZipArchive::setCommentName() devuelve TRUE en caso de éxito a partir de PHP 5.2.1.
  • ZipArchive::setCommentIndex() devuelve TRUE en caso de éxito a partir de PHP 5.2.1.
  • SplFileObject::getFilename() devuelve el nombre del fichero, no ruta/relativa/al/fichero, a partir de PHP 5.2.1.
  • Ha cambiado la prioridad de la variable de entorno PHPRC en Win32 La variable de entorno PHPRC ahora tiene prioridad sobre la ruta de acceso almacenada en el registro de Windows.
  • CLI SAPI ya no busca por los ficheros php.ini o php-cli.ini en el directorio de trabajo actual. En PHP 5.1.x fue agregada una característica no documentada que hizo que el interprete CLI chequeara de forma binaria el directorio de trabajo actual en busca de un fichero de configuración de PHP, esto puede conducir a un comportamiento impredecible si un fichero de configuración inesperado fuera leído. Esta funcionalidad se quitó en 5.2.0, y PHP ya no buscará en el directorio de trabajo actual por la presencia de los ficheros php.ini o php-cli.ini. Ver también la sección de línea de comandos del manual.
  • Se ha añadido una advertencia al realizar operaciones de módulo 0. En versiones anteriores de PHP, realizar entero % 0 no emitía ningún mensaje de advertencia, en su lugar solamente devolvía el valor inesperado FALSE. A partir de PHP 5.2.0, esta operación emitirá un E_WARNING, así como en todos los casos donde se realize una división por cero.
    <?php
    print 10 % 0;
    /* Warning:  Division by zero in filename on line n */
    ?>
  • __toString() ha sido cambiado para poder ser llamado donde sea aplicable. El método mágico __toString() ahora será llamado en un contexto de cadena, así de simple, en cualquier lugar donde un objeto sea usado como una cadena. La alternativa de devolver una cadena que contiene el identificador del objeto fue quitada en PHP 5.2.0. Se convirtió en un problema debido a que un identificador de objeto no puede ser considerado único. Este cambio significará un daño en aplicaciones que confían en el identificador de objeto como valor de retorno. Un intento de utilizar ese valor como una cadena resultará ahora en un error fatal capturable.
    <?php
    class foo {}
    $foo = new foo;
    print     $foo;
    /* Catchable fatal error:  Object of class foo could
       not be converted to string in filename on line n */
    ?>
    Incluso con __toString(), los objetos no pueden ser usados como índices o claves de array. Podemos agregar soporte integrado hash para esto más adelante, pero a partir de PHP 5.2.x necesitará proporcionar su propio hashing o usar la nueva función SPL spl_object_hash(). No pueden ser lanzadas excepciones desde métodos __toString().
    <?php
    class foo {
        public function     __toString() {
            throw new     Exception;
        }
    }

    try {
        print new     foo;
            /* Fatal error:  Method foo::__toString() must
           not throw an exception in filename on line n */
    } catch(Exception $e) {}
    ?>
  • Quitadas funciones de clase abstractas estáticas. Debido a un descuido, PHP 5.0.x y 5.1.x permiten funciones abstractas estáticas en las clases. A partir de PHP 5.2.x, sólo las interfaces pueden tenerlas.
    <?php
    abstract class foo {
        abstract static function     bar();
            /* Strict Standards:  Static function foo::bar()
           should not be abstract in filename on line n */
    }
    ?>
  • La Extensión Oracle requiere al menos Oracle 10 en Windows.
  • Agregado soporte RFC2397 (flujos data:). La introducción del esquema URL 'data' tiene el potencial de dar lugar a un cambio de comportamiento bajo Windows. Si se está trabajando con un sistema de ficheros NTFS y haciendo uso de meta flujos en la aplicación, y si sólo se está utilizando un fichero con el nombre 'data:' al que se accede sin ningún tipo de información de la ruta - esta ya no funcionará más. La solución es utilizar el protocolo 'file:' cuando se accede a él. Ver también » RFC 2397
    <?php
    /* when allow_url_include is OFF (default) */
    include "data:;base64,PD9waHAgcGhwaW5mbygpOz8+";
    /* Warning:  include(): URL file-access is disabled
       in the server configuration in filename on line n */
    ?>
  • Regresión en patrones glob() En la versión 5.2.4 una corrección de seguridad provocó una regresión para patrones de la forma "/foo/*/bar/*". Desde la versión 5.2.5 en lugar de emitir una advertencia la función glob() devolverá FALSE cuando se violan las restricciones openbase_dir.
Qué ha cambiado en PHP 5.2.x
Nuevos Mensajes de Error
Migración de PHP 5.1.x a PHP 5.2.x


Nuevos Mensajes de Error

A continuación se presentan los nuevos mensajes de error que no han sido discutidos en otras partes de este documento.

Ejemplo #1 En el núcleo de PHP

<?php
echo " ";
session_regenerate_id();
/*  Warning:  session_regenerate_id(): Cannot regenerate
    session id - headers already sent in filename on line n */

str_word_count("string", 4);
/* Warning:  str_word_count(): Invalid format value 4
   in filename on line n */

strripos("foo", "f", 4);
/* Notice:  strripos(): Offset is greater than the
   length of haystack string in filename on line n */

strrpos("foo", "f", 4);
/* Notice:  strrpos(): Offset is greater than the
   length of haystack string in filename on line n */

/* As of PHP 5.2.1, when allow_url_include is OFF (default) */
include "php://input";
/* Warning:  include(): URL file-access is disabled
   in the server configuration in filename on line n */
?>

Ejemplo #2 Código Orientado a Objetos en el núcleo de PHP

<?php
interface foo {
}
class bar implements foo, foo {
}
/* Fatal error: Class bar cannot implement previously
   implemented interface foo in filename on line n */

class foo {
    public $bar;
    function __get($var)
    {
        return $this->bar;
    }
}

$foo = new foo;
$bar =& $foo->prop;
/* Notice: Indirect modification of overloaded property
   foo::$prop has no effect in filename on line n */

class foo implements iterator {
    public function current() {
    }
    public function next() {
    }
    public function key() {
    }
    public function valid() {
    }
    public function rewind() {
    }
}

$foo = new foo();
foreach($foo as &$ref) {}
/* Fatal error: An iterator cannot be used with foreach
   by reference in filename on line n */

class foo {
    private function __construct() {
    }
}
class bar extends foo {
    public function __construct() {
        parent::__construct();
        /* Fatal error:  Cannot call private
           foo::__construct() in filename on line n */
    }
}
new bar;

stream_filter_register("", "class");
/* Warning:  stream_filter_register(): Filter name
   cannot be empty in filename on line n */

stream_filter_register("filter", "");
/* Warning:  stream_filter_register(): Class name
   cannot be empty in filename on line n */
?>

Ejemplo #3 En la Extensión bzip2

<?php
bzopen("", "w");
/* Warning:  bzopen(): filename cannot be empty
   in filename on line n */

bzopen("foo", "a");
/* Warning:  bzopen(): 'a' is not a valid mode for
   bzopen(). Only 'w' and 'r' are supported in
   filename on line n */

$fp = fopen("foo", "w");
bzopen($fp, "r");
/* Warning:  bzopen(): cannot read from a stream
   opened in write only mode in filename on line n */
?>

Ejemplo #4 En la Extensión datetime

<?php
strtotime("today", "now");
/* Warning:  strtotime() expects parameter 2 to be
   long, string given in filename on line n */

/* A partir de PHP 5.2.1 */
new DateTime(new stdclass);
/* Fatal error: Uncaught exception 'Exception' with
   message 'DateTime::__construct() expects parameter
   1 to be string, object given' in filename:n */
?>

Ejemplo #5 En la Extensión dBase

<?php
dbase_open("foo", -1);
/* Warning: Invalid access mode -1 in filename on line n */

/* A partir de PHP 5.2.1 */
dbase_open("foo", null);
/* Warning: The filename cannot be empty in filename on line n */
?>

Ejemplo #6 En la Extensión mcrypt

<?php
$key = "esto es una clave secreta";
$td = mcrypt_module_open('tripledes', '', 'ecb', '');
$iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td),
                        MCRYPT_RAND);
mcrypt_generic_init($td, $key, $iv);
$encrypted_data = mcrypt_generic($td, "");
/* Warning: mcrypt_generic(): An empty string was
   passed in filename on line n */
?>

Ejemplo #7 En la Extensión oci8

<?php
oci_connect("usuario", "clave", "db", "charset_invalido");
/* Warning: Invalid character set name:
   charset_invalido in filename on line n */

$oci = oci_connect("usuario", "clave", "db");
oci_password_change($oci, "", "clave_antigua", "clave_nueva");
/* Warning: username cannot be empty in filename
   on line n */

oci_password_change($oci, "usuario", "", "clave_nueva");
/* Warning: old password cannot be empty in filename
   on line n */

oci_password_change($oci, "usuario", "clave_antigua", "");
/* Warning: new password cannot be empty in filename
   on line n */
?>

Ejemplo #8 En la Extensión SPL

<?php
$obj = new SplFileObject(__FILE__);
$obj->fgetcsv("foo");
/* Warning:  SplFileObject::fgetcsv(): delimiter must
   be a character in filename on line n */

$obj->fgetcsv(",", "foo");
/* Warning:  SplFileObject::fgetcsv(): enclosure must
   be a character in filename on line n */
?>

Ejemplo #9 En la Extensión Semaphore (sysvmsg)

<?php
/* Warning:  maximum size of the message has to be
   greater then zero in filename on line n */
?>

Ejemplo #10 Un ejemplo Zip 5.2.1+

<?php
$obj = new ZipArchive();
$obj->open('archive.zip');
$obj->setCommentName('', 'comment');
/* Notice:  ZipArchive::setCommentName(): Empty string
   as entry name in filename on line n */

/* A partir de PHP 5.2.1 */
$obj->getCommentName('');
/* Notice:  ZipArchive::getCommentName(): Empty string
   as entry name in filename on line n */
?>

Incompatibilidades con versiones anteriores
Cambios en el soporte PHP para datetime
Migración de PHP 5.1.x a PHP 5.2.x


Cambios en el soporte PHP para datetime

Desde PHP 5.1.0 ha existido una extensión llamada date en el núcleo de PHP. Esta es una nueva implementación del soporte PHP para fecha y hora. A pesar de que tratará de adivinar la configuración de zona horaria de su sistema, debe establecer la zona horaria manualmente. Puede hacerlo de cualquiera de las siguientes tres maneras:

  • en php.ini usando la directiva INI date.timezone
  • en el sistema, usando la variable de entorno TZ
  • desde un script, usando la función date_default_timezone_set()

Todas las zonas horarias soportadas se encuentran listadas en el Manual de PHP.

Con la llegada de PHP 5.2.x, hay objetos para representar la fecha y la zona horaria, llamadas DateTime y DateTimeZone respectivamente. Los métodos trazan a funciones procesales de date existentes.

Nuevos Mensajes de Error
Nuevos Parámetros
Migración de PHP 5.1.x a PHP 5.2.x


Nuevos Parámetros

Algunas funciones recibieron nuevos parámetros opcionales en PHP 5.2.x:

Núcleo de PHP:

  • htmlentities() - añadido double_encode en PHP 5.2.3.
  • htmlspecialchars() - añadido double_encode en PHP 5.2.3.
  • base64_decode() - añadido strict
  • setcookie() - añadido httponly
  • setrawcookie() - añadido httponly
  • session_set_cookie_params() - añadido httponly
  • memory_get_usage() - añadido real_usage
  • get_loaded_extensions() - añadido zend_extensions en PHP 5.2.4

curl:

  • curl_multi_info_read() - añadido msgs_in_queue

datetime

  • date() - añadido carácter de formato "u" (milisegundos) en PHP 5.2.2

imap:

  • imap_open() - añadido n_retries
  • imap_reopen() - añadido n_retries

mbstring:

  • mb_strrpos() - añadido offset
    Advertencia

    El parámetro offset se puso en la posición en la que se encontraba el parámetro encoding. Se ha proporcionado compatibilidad con versiones anteriores al permitir que se especifique la codificación (encoding) como tercer parámetro. No se recomienda el uso de este modo de compatibilidad debido a que será removido en futuros lanzamientos de PHP.

ming:

  • SWFMovie::streamMP3() - añadido skip en PHP 5.2.1

openssl:

  • openssl_verify() - añadido signature_algo

pgsql:

  • pg_escape_bytea() - añadido connection
  • pg_escape_string() - añadido connection

simplexml:

  • SimpleXMLElement::__construct() - añadido is_prefix
  • SimpleXMLElement::attributes() - añadido is_prefix
  • SimpleXMLElement::children() - añadido is_prefix
  • simplexml_load_file() - añadido is_prefix
  • simplexml_load_string() - añadido is_prefix

spl:

  • array iterator_to_array(Traversable iterator [, bool use_keys = true]) - fue añadido use_keys en PHP 5.2.1

xmlreader:

  • XMLReader::open() - añadidos encoding y options
  • XMLReader::XML() - añadidos encoding y options

XMLWriter:

  • xmlwriter_write_element() - el parámetro content se hizo opcional en PHP 5.2.3
  • xmlwriter_write_element_ns() - el parámetro content se hizo opcional en PHP 5.2.3
Cambios en el soporte PHP para datetime
Nuevas Funciones
Migración de PHP 5.1.x a PHP 5.2.x


Nuevas Funciones

PHP 5.2.x incorpora algunas nuevas funciones:

PHP Core:

  • array_fill_keys() - Crea un array usando los elementos del primer parámetro como claves, con cada elemento inicializado con valor val
  • error_get_last() - Obtiene el último error ocurrido como array asociativo. Devuelve NULL si aún no se ha producido ningún error.
  • image_type_to_extension() - Obtiene la extensión de fichero para tipo de imagen retornado por getimagesize(), exif_read_data(), exif_thumbnail(), exif_imagetype()
  • memory_get_peak_usage() - Devuelve el máximo asignado por memoria de PHP
  • sys_get_temp_dir() - Devuelve la ruta al directorio usado para ficheros temporales (Agregado en 5.2.1)
  • timezone_abbreviations_list() - Devuelve matriz asociativa que contiene horario de verano, la compensación y el nombre de zona horaria
  • timezone_identifiers_list() - Devuelve una matriz indexada numéricamente con todos los identificadores de zona horaria
  • timezone_name_from_abbr() - Devuelve el nombre de zona horaria a partir de su abreviatura.
  • stream_socket_shutdown() - Causa que toda o parte de una conexión full-duplex en el socket asociado con flujo se cierre. A partir de PHP 5.2.1.

Image:

  • imagegrabscreen() - Realiza una captura de pantalla de toda la pantalla. A partir de PHP 5.2.2.
  • imagegrabwindow() - Captura una ventana. A partir de PHP 5.2.2.

libXML:

  • libxml_disable_entity_loader() - Deshabilita la capacidad de cargar entidades externas. A partir de PHP 5.2.11.

mbstring:

  • mb_stripos() - Encuentra la posición de la primer aparición de una cadena dentro de otra, sin diferenciar entre mayúsculas y minúsculas.
  • mb_stristr() - Encuentra la primer aparición de una cadena dentro de otra, sin diferenciar entre mayúsculas y minúsculas.
  • mb_strrchr() - Encuentra la última aparición de un carácter en una cadena dentro de otra.
  • mb_strrichr() - Encuentra la última aparición de un carácter en una cadena dentro de otra, sin diferenciar entre mayúsculas y minúsculas.
  • mb_strripos() - Encuentra la posición de la última aparición de una cadena dentro de otra, sin diferenciar entre mayúsculas y minúsculas.
  • mb_strstr() - Encuentra la primer aparición de una cadena dentro de otra.

ming (A partir de PHP 5.2.1):

  • void ming_setSWFCompression(int num) - Establece la compresión de salida
  • void swfmovie::namedanchor(string name) - Crea ancla
  • void swfmovie::protect([string password]) - Protege

openssl:

  • openssl_csr_get_public_key() - Extrae llave pública de un certificado y la prepara para su uso
  • openssl_csr_get_subject() - Devuelve el asunto de un certificado
  • openssl_pkey_get_details() - Devuelve una matriz con los detalles de la clave (bits, pkey, type)

spl:

  • spl_object_hash() - Devuelve el hash id para un objeto dado
  • int iterator_apply(Traversable iterator, mixed function [, mixed params]) - Llama una función para cada elemento en un iterador

pcre:

  • preg_last_error() - Devuelve el código de error de la última ejecución regex

pgsql:

  • pg_field_table() - Devuelve el nombre del campo de la tabla a la que pertenece, o el oid de la tabla si oid_only es TRUE

posix:

  • posix_initgroups() - Calcular el grupo de lista de acceso para el usuario especificado en nombre

gmp:

  • gmp_nextprime() - Encuentra el siguiente número primo

xmlwriter:

  • xmlwriter_full_end_element() - Finaliza elemento actual - retorna FALSE en caso de error
  • xmlwriter_write_raw() - Escribe texto - retorna FALSE en caso de error
  • xmlwriter_start_dtd_entity() - Crea inicio de Entidad DTD - retorna FALSE en caso de error
  • xmlwriter_end_dtd_entity() - Finaliza la Entidad DTD actual - retorna FALSE en caso de error
  • xmlwriter_write_dtd_entity() - Escribe una etiqueta completa de una Entidad DTD - retorna FALSE en caso de error
Nuevos Parámetros
Nuevos Métodos
Migración de PHP 5.1.x a PHP 5.2.x


Nuevos Métodos

Nuevos métodos introducidos en 5.2.0:

dom:

  • DOMDocument::registerNodeClass() - Registra la clase extendida usada para crear el tipo de nodo base
  • DOMElement::setIDAttribute() - Declara el atributo especificado por su nombre para ser de tipo ID
  • DOMElement::setIDAttributeNode() - Declara el atributo especificado por nodo para ser de tipo ID
  • DOMElement::setIDAttributeNS() - Declara el atributo especificado por el nombre local y URI de espacio de nombre para ser de tipo ID
  • DOMNode::C14N()([bool exclusive [, bool with_comments [, array xpath [, array ns_prefixes]]]]) - Canónicaliza nodos a una cadena
  • DOMNode::C14NFile()(string uri [, bool exclusive [, bool with_comments [, array xpath [, array ns_prefixes]]]]) - Canónicaliza nodos a un fichero
  • DOMNode::getNodePath()() - Obtiene un xpath para un nodo

soap:

  • SoapServer::setObject()(object obj) - Fija el objeto que manejará las peticiones SOAP

spl:

  • int ArrayObject::asort()(void) - Ordena las entradas por valores
  • int ArrayObject::ksort()(void) - Ordena las entradas por clave
  • int ArrayObject::natcasesort()(void) - Ordena las entradas por clave usando un algoritmo de "orden natural" sin diferenciación entre mayúsculas y minúsculas.
  • int ArrayObject::natsort()(void) - Ordena las entradas por valor usando un algoritmo de "orden natural".
  • int ArrayObject::uasort()(callback cmp_function) - Ordena las entradas por valor usando una función definida por el usuario.
  • int ArrayObject::uksort()(callback cmp_function) - Ordena las entradas por clave usando una función definida por el usuario.
  • ArrayIterator AppendIterator::getArrayIterator()() - Obtiene acceso al ArrayIterator interno
  • int AppendIterator::getIteratorIndex()() - Obtiene el índice del iterator
  • bool CachingIterator::getCache()() - Devuelve el caché
  • int CachingIterator::getFlags()() - Devuelve las banderas internas
  • bool CachingIterator::offsetExists()(mixed index) - Devuelve TRUE si el índice solicitado existe
  • string CachingIterator::offsetGet()(mixed index) - Devuelve el caché interno si es usado
  • void CachingIterator::offsetSet()(mixed index, mixed newval) - Fija el índice dado en caché
  • void CachingIterator::offsetUnset()(mixed index) - Destruye el índice dado en caché
  • void CachingIterator::setFlags()() - Fija las banderas internas
  • array("delimiter" =>, "enclosure" =>) SplFileObject::getCsvControl()(void) - Obtiene el delimitador y carácter de cierre de campo usado en fgetcsv()
  • void SplFileObject::setCsvControl()([string delimiter = ',' [, string enclosure = '"']]) - Fija el delimitador y carácter de cierre de campo usado en fgetcsv()

Tidy

  • tidyNode tidyNode::getParent()() - Devuelve el nodo padre del nodo actual (Añadido en PHP 5.2.2)

XMLReader

  • boolean XMLReader::setSchema() - Utiliza el esquema XSD de W3C para validar el documento mientras se procesa. Sólo es posible su activación antes de la primer llamada a XMLReader::read()

zip:

  • ZipArchive::addEmptyDir()() - Crea un directorio vacío en el fichero
Nuevas Funciones
Extensiones eliminadas
Migración de PHP 5.1.x a PHP 5.2.x


Extensiones eliminadas

Estas extensiones han sido movidas a PECL y ya no forman parte de la distribución de PHP. La versión del paquete PECL de estas extensiones se creará de acuerdo a la demanda del usuario.

  • filePro
  • Hyperwave API
Nuevos Métodos
Nuevas Extensiones
Migración de PHP 5.1.x a PHP 5.2.x


Nuevas Extensiones

Los siguientes son nuevas extensiones agregadas (por defecto) a partir de PHP 5.2.0:

  • Filter - valida y filtra datos, y está diseñado para ser usado con datos inseguros como ser los ingresados por el usuario. Esta extensión está activada de forma predeterminada; el modo predeterminado RAW no afecta los datos de entrada de ninguna manera.
  • JSON - implementa el formato de intercambio de datos 'JavaScript Object Notation' (JSON). Esta extensión está activada por defecto.
  • Zip - permite leer y escribir de forma transparente archivos comprimidos con ZIP y los ficheros dentro de ellos.
Extensiones eliminadas
Nuevas Clases
Migración de PHP 5.1.x a PHP 5.2.x


Nuevas Clases

Las siguientes clases fueron añadidas en PHP 5.2.0:

  • DateTime
  • DateTimeZone
  • RegexIterator - extiende de FilterIterator; implementa Iterator, Traversable, OuterIterator Constantes:
    • RegexIterator::ALL_MATCHES
    • RegexIterator::GET_MATCH
    • RegexIterator::MATCH
    • RegexIterator::REPLACE
    • RegexIterator::SPLIT
    • RegexIterator::USE_KEY
    Propiedades:
    • public replacement
    Métodos:
    • RegexIterator::__construct(Iterator it, string regex [, int mode [, int flags [, int preg_flags]]]) - Crea un objeto RegexIterator desde otro iterador y una expresión regular
    • bool RegexIterator::accept() - Realiza una comparación entre (string)current() y una expresión regular
    • bool RegexIterator::getFlags() - Devuelve las banderas de la operación actual
    • bool RegexIterator::getMode() - Devuelve el modo de la operación actual
    • bool RegexIterator::getPregFlags() - Devuelve las banderas actuales PREG (si está en uso o NULL)
    • bool RegexIterator::setFlags(int new_flags) - Fija banderas de la operación
    • bool RegexIterator::setMode(int new_mode) - Fija el nuevo modo de la operación
    • bool RegexIterator::setPregFlags(int new_flags) - Fija banderas PREG
  • RecursiveRegexIterator Constantes:
    • RecursiveRegexIterator::ALL_MATCHES
    • RecursiveRegexIterator::GET_MATCH
    • RecursiveRegexIterator::MATCH
    • RecursiveRegexIterator::REPLACE
    • RecursiveRegexIterator::SPLIT
    • RecursiveRegexIterator::USE_KEY
    Métodos:
    • RecursiveRegexIterator::__construct(RecursiveIterator iterator, string regex [, int mode [, int flags [, int preg_flags]]]) - Crea un objeto RecursiveRegexIterator desde otro iterador recursivo y una expresión regular
    • RecursiveRegexIterator RecursiveRegexIterator::getChildren() - Devuelve los hijos del iterador interno contenido en un RecursiveRegexIterator
    • bool RecursiveRegexIterator::hasChildren() - Comprueba si el elemento actual del iterador interno tiene hijos
Nuevas Extensiones
Nuevas Constantes Globales
Migración de PHP 5.1.x a PHP 5.2.x


Nuevas Constantes Globales

Núcleo de PHP:

  • M_EULER
  • M_LNPI
  • M_SQRT3
  • M_SQRTPI
  • PATHINFO_FILENAME
  • PREG_BACKTRACK_LIMIT_ERROR
  • PREG_BAD_UTF8_ERROR
  • PREG_INTERNAL_ERROR
  • PREG_NO_ERROR
  • PREG_RECURSION_LIMIT_ERROR
  • UPLOAD_ERR_EXTENSION
  • STREAM_SHUT_RD
  • STREAM_SHUT_WR
  • STREAM_SHUT_RDWR

curl:

  • CURLE_FILESIZE_EXCEEDED
  • CURLE_FTP_SSL_FAILED
  • CURLE_LDAP_INVALID_URL
  • CURLFTPAUTH_DEFAULT
  • CURLFTPAUTH_SSL
  • CURLFTPAUTH_TLS
  • CURLFTPSSL_ALL
  • CURLFTPSSL_CONTROL
  • CURLFTPSSL_NONE
  • CURLFTPSSL_TRY
  • CURLOPT_FTP_SSL
  • CURLOPT_FTPSSLAUTH
  • CURLOPT_TCP_NODELAY Añadido en PHP 5.2.1.
  • CURLOPT_TIMEOUT_MS Añadido en PHP 5.2.3
  • CURLOPT_CONNECTTIMEOUT_MS Añadido en PHP 5.2.3

GMP:

  • GMP_VERSION Añadido en PHP 5.2.2.

ming:

  • SWFTEXTFIELD_USEFONT
  • SWFTEXTFIELD_AUTOSIZE
  • SWF_SOUND_NOT_COMPRESSED
  • SWF_SOUND_ADPCM_COMPRESSED
  • SWF_SOUND_MP3_COMPRESSED
  • SWF_SOUND_NOT_COMPRESSED_LE
  • SWF_SOUND_NELLY_COMPRESSED
  • SWF_SOUND_5KHZ
  • SWF_SOUND_11KHZ
  • SWF_SOUND_22KHZ
  • SWF_SOUND_44KHZ
  • SWF_SOUND_8BITS
  • SWF_SOUND_16BITS
  • SWF_SOUND_MONO
  • SWF_SOUND_STEREO

openssl:

  • OPENSSL_VERSION_NUMBER
  • OPENSSL_VERSION_TEXT

snmp:

  • SNMP_OID_OUTPUT_FULL
  • SNMP_OID_OUTPUT_NUMERIC

Semaphore:

  • MSG_EAGAIN
  • MSG_ENOMSG
Nuevas Clases
Nuevas Constantes de Clase
Migración de PHP 5.1.x a PHP 5.2.x


Nuevas Constantes de Clase

pdo:

  • PDO::ATTR_DEFAULT_FETCH_MODE
  • PDO::FETCH_PROPS_LATE
  • PDO::FETCH_KEY_PAIR Recupera un resultado de 2 columnas hacia una matriz asociativa. (Añadido en PHP 5.2.3)

spl:

  • CachingIterator::FULL_CACHE
  • CachingIterator::TOSTRING_USE_INNER
  • SplFileObject::READ_AHEAD
  • SplFileObject::READ_CSV
  • SplFileObject::SKIP_EMPTY
Nuevas Constantes Globales
Nuevas Directivas de Configuración INI
Migración de PHP 5.1.x a PHP 5.2.x


Nuevas Directivas de Configuración INI

Nuevas directivas php.ini introducidas en PHP 5.2.0:

  • allow_url_include Esta útil opción hace posible distinguir entre las operaciones de ficheros estándar en ficheros remotos, y la inclusión de ficheros remotos. Mientras que el anterior es generalmente deseable, este último puede ser un riesgo para la seguridad si se usa de forma ingenua. Comenzando con PHP 5.2.0, es posible habilitar operaciones sobre ficheros remotos mientras que rechaza la inclusión de ficheros remotos en scripts locales. De hecho, ésta es la configuración de defecto.
  • pcre.backtrack_limit Límite de marcha atrás de PCRE.
  • pcre.recursion_limit Límite de recursividad de PCRE. Tenga en cuenta que si establece este valor a un número elevado puede consumir toda la pila de procesos disponible y, finalmente, colapsar PHP (porque ha alcanzado el límite de tamaño de pila impuestas por el sistema operativo).
  • session.cookie_httponly Marca la cookie como accesible únicamente a través del protocolo HTTP. Esto significa que la cookie no será accesible por lenguajes de scripting, como JavaScript. Esta configuración puede efectivamente ayudar a reducir el robo de identidad a través de ataques XSS (aunque no es compatible con todos los navegadores).

Nuevas directivas en PHP 5.2.2:

  • max_input_nesting_level Limita que tan profundo pueden ser jerarquizadas las variables de entrada, por defecto es 64.
Nuevas Constantes de Clase
Reportes de Error
Migración de PHP 5.1.x a PHP 5.2.x


Reportes de Error

Algunas de las condiciones existentes de E_ERROR se han convertido en algo que se puede capturado por un manejador de errores definido por el usuario. Si un E_RECOVERABLE_ERROR no es dirigido al manejador, se comportará de la misma forma que E_ERROR se comporta en todas las versiones del PHP. Los errores de este tipo se registran como Catchable fatal error.

Este cambio significa que el valor de la constante para error_reporting E_ALL ahora es 6143, cuando el valor anterior era 2047. Debido a las constantes de PHP no tiene significado fuera de PHP, en algunos casos el valor entero se utiliza en su lugar por lo que estos tendrán que ser ajustados. Así, por ejemplo estableciendo el modo error_reporting, ya sea desde httpd.conf o ficheros .htaccess, el valor tiene que ser cambiado en consecuencia. Lo mismo se aplica cuando valores numéricos son utilizados en lugar de las constantes en scripts PHP.

Como efecto secundario de un cambio realizado para prevenir mensajes de error duplicados, cuando track_errors están On, es ahora necesario que los manejadores de error definidos por el usuario devuelvan FALSE para propagar $php_errormsg. Esto proporciona un control muy detallado sobre los niveles de mensajes almacenados.

Nuevas Directivas de Configuración INI
Otras mejoras
Migración de PHP 5.1.x a PHP 5.2.x


Otras mejoras

  • Se ha mejorado el administrador de memoria y ampliado el límite de memoria predeterminado. El nuevo administrador de memoria asigna menos memoria y funciona más rápido que la representación anterior. Este asigna memoria del sistema en grandes bloques, y luego administra lo acumulado. El valor de memory_limit es comprobado en php.ini, no para cada llamada a emalloc() (como antes), pero si para los bloques concretos solicitados al sistema. Esto significa que memory_limit es mucho más preciso de lo que solía ser, ya que el antiguo administrador de memoria no calculaba todos los gastos de memoria utilizada por la biblioteca malloc. Gracias a esta reciente exactitud puede parecer que el uso de memoria se ha incrementado, aunque en realidad no es así. Para dar cabida a este aparente aumento, el valor predeterminado para memory_limit fue incrementado también - de 8 a 16 megabytes.
  • Añadido soporte para constructores en interfaces para forzar la comprobación de firma del constructor en implementaciones. A partir de PHP 5.2.0, las interfaces pueden tener constructores. Sin embargo, si se opta por declarar un constructor en una interface, cada clase que la implementa DEBE incluir un constructor con una firma que se corresponda con la del constructor de la interface base. Por 'firma' nos referimos a las definiciones de tipos sugeridos de parámetros y de retorno, esto aplica para cualquier tipo sugerido e incluye si los datos se pasan por referencia o por valor.
Reportes de Error
Migración de PHP 5.0.x a PHP 5.1.x
Migración de PHP 5.1.x a PHP 5.2.x


Migración de PHP 5.0.x a PHP 5.1.x

Tabla de contenidos

  • Funcionalidades clave de PHP 5.1.x
  • Cambios en el control de referencias
  • Leyendo []
  • Valores enteros en los parámetros de funciones
  • Cambios en clases y objetos
  • Extensiones
  • Soporte de fecha/hora
  • Cambios en el soporte a base de datos
  • Comprobación de E_STRICT

Vea también guías de migración para versiones de PHP 5.0.x, 5.2.x, 5.3.x, 5.4.x y 5.5.x.

Otras mejoras
Funcionalidades clave de PHP 5.1.x
Apéndices


Funcionalidades clave de PHP 5.1.x

Algunas de las funcionalidades clave de PHP 5.1.x son:

  • Rescritura completa del código de manejo de fechas, mejorando el soporte de zonas horarias.

  • Mejoras significativas de rendimiento respecto a PHP 5.0.X.

  • La extensión PDO está ahora habilitada por omisión.

  • Alrededor de 30 nuevas funciones, entre varias extensiones y funcionalidades del nucleo.

  • Alrededor de 400 errores corregidos.

Migración de PHP 5.0.x a PHP 5.1.x
Cambios en el control de referencias
Migración de PHP 5.0.x a PHP 5.1.x


Cambios en el control de referencias

  • Resumen

  • Código que funcionaba en PHP 4.3.x, y ahora falla

  • Código que funcionaba en PHP 4.3.x, y ahora lanza un error

  • Código que fallaba en PHP 4.3.x, y ahora funciona

  • Código que debería haber funcionado en PHP 5.0.x

  • Alertas que vienen y van

Resumen

Desde el punto de vista del lector de scripts PHP, el cambio que más impacto tendrá a la hora de mantener el código compatible, es la forma en que se manejan las referencias en las versiones de PHP posteriores a 4.4.0.

Hasta PHP 4.3, incluida ésta, era posible enviar, asignar o devolver variables por referencia que realmente tenían que devolver un valor, como una constante, un valor temporal (p.ej. el resultado de una expresión), o el resultado de una función que ha devuelto sí misma como valor, como aquí:

<?php
$foo = "123";

function return_value() {
    global $foo;
    return $foo;
}

$bar = &return_value();
?>

Aunque este código normalmente funcionará en PHP 4.3 como cabe esperar, en general el resultado es indefinido. El Zend Engin podría no actuar correctamente con estos valores como referencia. Este error podría llevar a problemas de memorias corruptas difíciles de reproducir, en especial cuando el código base es muy largo.

En PHP 4.4.0, PHP 5.0.4, y posterior, el motor Zend se ha corregido para que 'sepa' cuándo una operación por referencia se usa en un valor que no debería referenciarse. En estos casos se utiliza el valor real, y se emite una alerta. Esta alerta es en forma de E_NOTICE en PHP 4.4.0 y superior, y de E_STRICT en PHP 5.0.4 y superior.

Los códigos que podrían producir corrupciones en memoria ya no podrán hacerlo. Sin embargo, hay códigos fuente que podrían funcionar de forma distinta a la esperada.

Código que funcionaba en PHP 4.3, pero ahora falla

<?php
function func(&$arraykey) {
    return $arraykey; // ¡la función devuelve un valor!
}

$array = array('a', 'b', 'c');
foreach (array_keys($array) as $key) {
    $y = &func($array[$key]);
    $z[] =& $y;
}

var_dump($z);
?>
<

Al ejecutar el script superior en alguna versión de PHP anterior a la corrección del error, producirá la siguiente salida:

array(3) {
  [0]=>
  &string(1) "a"
  [1]=>
  &string(1) "b"
  [2]=>
  &string(1) "c"
}

Y tras corregir el error de referencias, el mismo código resultará en:

array(3) {
  [0]=>
  &string(1) "c"
  [1]=>
  &string(1) "c"
  [2]=>
  &string(1) "c"
}

Esto es porque, de acuerdo a los cambios, la asignación en func() se hace por valor. El valor de $y se reasigna, y se impide enlazar por referencia a $z. Antes de la corrección, se asignaba el valor por referencia, dando lugar a que $y se revinculara en cada asignación. El intento de enlazar a un valor temporal por referencia era la causa de la memoria corrupta.

Dicho código se puede rescribir para funcionar de forma idéntica en ambas versiones. La definición de func() se puede modificar para devolver valores por referencia, o se podría eliminar la asignación por referencia del resultado de func().

<?php
function func() {
    return 'devolución de la function';
}

$x = 'valor original';
$y =& $x;
$y = &func();
echo $x;
?>

En PHP 4.3 $x será 'valor original', mientras que tras los cambios será 'devolución de la función' - recuerde que como la función no devuelve el valor por referencia, la asignación por referencia se convierte a una asignación convencional. De nuevo, esto puede se llevar a un comportamiento común, o bien forzando a que func() devuelva el valor por referencia o eliminando la asignación por referencia.

Código que funcionaba en PHP 4.3.x, pero ahora lanza un error

<?php
class Foo {

    function getThis() {
        return $this;
    }

    function destroyThis() {
        $baz =& $this->getThis();
    }
}

$bar = new Foo();
$bar->destroyThis();
var_dump($bar);
?>

En PHP 5.0.3, $bar se evaluaba a NULL en lugar de devolver un objeto. Esto sucedía porque getThis() devuelve por valor, pero el valor aquí se asigna por referencia. A pesar de que funciona de la forma esperada, esto es en realidad un código inválido que lanzará un E_NOTICE en PHP 4.4 o un E_STRICT en PHP 5.0.4 y superior.

Código que fallaba en PHP 4.3.x, pero ahora funciona

<?php
function &f() {
    $x = "foo";
    var_dump($x);
    print "$x\n";
    return($a);
}

for ($i = 0; $i < 3; $i++) {
    $h = &f();
}
?>

En PHP 4.3 la tercera llamada a var_dump() produce NULL, debido a la memoria corrupta provocada tras devolver por referencia un valor no inicializado. Este código es valido en PHP 5.0.4 y superior, pero lanza errores en versiones de PHP anteriores.

<?php
$arr = array('a1' => array('alfa' => 'ok'));
$arr =& $arr['a1'];
echo '-'.$arr['alfa']."-\n";
?>

Hasta PHP 5.0.5, no era posible asignar un array por referencia de esta forma. Ahora sí.

Código que debería haber funcionado en PHP 5.0.x

Hay un par de de errores en PHP 5.0, anteriores a que se corrigiera el problema de referencias, que ahora 'funcionan'. Sin embargo, en ambos casos los errores se emiten en PHP 5.1.x, porque en primer lugar, el código era inválido. Devolver un valor por referencia usando self:: ahora, en términos generales, funciona pero emite una alerta E_STRICT, y se emitirá un E_ERROR cuando se asigne por referencia un objeto sobrecargado, incluso cuando parezca que la asignación ha funcionado.

Alertas que vienen y van

Las llamadas anidadas a funciones que devuelven por valores por referencia son válidas tanto en PHP 4.3.x como en PHP 5.1.x, pero emiten E_NOTICE o E_STRICT en las versiones de PHP intermedias.

<?php
function & foo() {
    $var = 'ok';
    return $var;
}

function & bar() {
    return foo();
}

$a =& bar();
echo "$a\n";
?>
Funcionalidades clave de PHP 5.1.x
Leyendo []
Migración de PHP 5.0.x a PHP 5.1.x


Leyendo []

<?php
class XmlTest {

    function test_ref(&$test) {
        $test = "ok";
    }

    function test($test) { }

    function run() {
        $ar = array();
        $this->test_ref($ar[]);
        var_dump($ar);
        $this->test($ar[]);
    }
}

$o = new XmlTest();
$o->run();
?>

Esto debería haber emitido un error fatal E_ERROR, ya que [] no se puede usar para leer en PHP. Es un código inválido en PHP 4.4.2, PHP 5.0.5 y superior.

Cambios en el control de referencias
Valores enteros en los parámetros de funciones
Migración de PHP 5.0.x a PHP 5.1.x


Valores enteros en los parámetros de funciones

Con la llegada de PHP 5.0.x, se introdujo una nueva API de análisis de parámetros que se usa por un gran número de funciones PHP. El control de valores enteros en las versiones de PHP entre 5.0.x y 5.1.x era muy estricto y cuando una función PHP esperaba un valor entero, se hubiera rechazado cualquier valor numérico malformado. Se han suavizado estas comprobaciones para permitir valores numéricos malformados como " 123" o "123 ", de forma que ya no fallará tal y como ocurría en PHP 5.0.x. En cualquier caso, para apostar por un código seguro y para validar las entradas, las funciones PHP emitirán un E_NOTICE cuando se pasen textos de ese tipo como enteros.

Leyendo []
Cambios en clases y objetos
Migración de PHP 5.0.x a PHP 5.1.x


Cambios en clases y objetos

  • instanceof, is_a(), is_subclass_of() y catch

  • Métodos privados abstractos

  • Modificadores de acceso en interfaces

  • Cambios en las reglas de herencia

  • Constantes de clases

instanceof, is_a(), is_subclass_of() y catch

En PHP 5.0, is_a() quedó obsoleto en favor del operador instanceof. Había algunos problemas con la implementación inicial de instanceof, que dependía de __autoload() para localizar las clases no encontradas. Si no se localizara la clase, instanceof emitiría un error fatal E_ERROR ya que __autoload() fallaría al ubicar la clase. Este mismo comportamiento tenía lugar con el operador catch y con la función is_subclass_of(), por la misma razón.

En PHP 5.1.x ninguna de estas funciones y operadores llama a __autoload(), y los trucos tipo class_exists() que se usaban con PHP 5.0.x, pese a que no provocan problemas, ya no serán necesarios.

Métodos privados abstractos

Los métodos privados abstractos estaban permitidos entre PHP 5.0.0 y PHP 5.0.4, pero se prohibió su uso ya que los comportamientos de private y abstract son mutuamente excluyentes.

Modificadores de acceso en interfaces

En PHP 5.0, las declaraciones de funciones en interfaces se trataban de la misma manera que las declaraciones de funciones en clases. Desde octubre de 2004 esto no es así, fecha a partir de la cual se permite el modificador de acceso public en la declaración de funciones en interfaces. Desde abril de 2005 - fecha de la edición de PHP 5.0b1 - se permitió usar también el modificador static. Pero los modificadores protected y private ahora emiten un error E_ERROR, tal y como pasa con abstract. Debe tenerse en cuenta que este cambio no afectará al código ya existente, ya que ninguno de estos modificadores tiene, en ningún caso, sentido en un contexto de interfaces.

Cambios en reglas de herencia

En PHP 5.0 era posible redeclarar una función, en una clase derivada, que no coincidera con la declaración de esa misma función de la clase base, por ejemplo:

Este código provocará un error E_STRICT en PHP 5.1.x.

<?php
class Base {
    function &return_by_ref() {
        $r = 1;
        return $r;
    }
}

class Derived extends Base {
    function return_by_ref() {
        return 1;
    }
}
?>

Constantes de clase

En PHP 5.0.x, el siguiente código era inválido:

En PHP 5.1.x, si se redefine una constante de clase se lanzará un error fatal E_ERROR.

<?php
class test {
    const foobar = 'foo';
    const foobar = 'bar';
}

?>
Valores enteros en los parámetros de funciones
Extensiones
Migración de PHP 5.0.x a PHP 5.1.x


Extensiones

  • Extensiones que se sacan del núcleo de PHP

  • Constantes de clase nuevas en extensiones de PHP 5.1.x

Extensiones que se sacan del núcleo de PHP

Una de las primeras cosas de las que uno se percata al descargar PHP 5.1.x es que muchas de las anteriores extensiones han desaparecido. Estas extensiones, que todavía tienen un mantenimiento activo, están disponibles en la Biblioteca de la Comunidad de Extensiones PHP (PECL), en » http://pecl.php.net/.

Extensiones eliminadas
Extension | Alternativa/Estado
ext/cpdf | pecl/pdflib
ext/dbx | pecl/dbx
ext/dio | pecl/dio
ext/fam | Sin mantenimiento activo
ext/ingres_ii | pecl/ingres
ext/ircg | Sin mantenimiento activo
ext/mcve | pecl/mcve
ext/mnogosearch | Sin mantenimiento activo
ext/oracle | ext/oci8 or ext/pdo_oci
ext/ovrimos | Sin mantenimiento activo
ext/pfpro | Sin mantenimiento activo
ext/w32api | » pecl/ffi
ext/yp | Sin mantenimiento activo
ext/activescript | » pecl/activescript

Los módulos de PECL que no están en mantenimiento activo (es decir, no han recibido suporte durante un tiempo, no tienen un mantenedor activo trabajando en él actualmente, y no tiene ninguna edición de paquete PECL), todavía están disponibles por SVN en » http://svn.php.net/viewvc/pecl. Sin embargo, los módulos de PHP no liberados están, dada su naturaleza, no soportados, por lo que esto podrá afectar a la decisión de instalarlos o usarlos.

Constantes de clase nuevas en extensiones de PHP 5.1.x

La API de Zend Engine 2.1 API permite a los desarrolladores de extensiones declarar constantes de clases en las extensiones orientadas a objetos. Las nuevas extensiones escritas para PHP 5.1.x, incluyendo SPL, PDO, XMLReader y date, tienen sus constantes en formato PDO::CLASS_CONSTANT en lugar de en formato C PDO_CLASS_CONSTANT para evitar contaminar el espacio de nombres global de PHP.

Cambios en clases y objetos
Soporte de fecha/hora
Migración de PHP 5.0.x a PHP 5.1.x


Soporte de fecha/hora

Se ha rescrito completamente el soporte de fecha/hora en PHP 5.1.x, y ya no se utiliza la configuración del sistema para 'conocer' la zona horaria en que se opera. En su lugar, se averigua a partir de (en orden):

  • Zona horaria definida usando la función date_default_timezone_set() (si se hubiera hecho)

  • La variable de entorno TZ (si no estuviera vacía)

  • Suposición "mágica" (si lo permite el sistema operativo)

  • Si ninguna de las opciones de arriba funciona, se usa UTC

Para asegurar la precisión (y evitar una alerta E_STRICT), se debe definir la zona horaria en el fichero php.ini usando el siguiente formato:

date.timezone = Europe/London

Las zonas horarias soportadas se listan, en este formato, en el apéndice de zonas horarias.

Tenga en cuenta que ahora strtotime() devuelve FALSE en caso de error, en lugar de -1.

Extensiones
Cambios en el soporte a base de datos
Migración de PHP 5.0.x a PHP 5.1.x


Cambios en el soporte a base de datos

  • Sobre PDO

  • Cambios de soporte en MySQL

  • Cambios de soporte en SQLite

Sobre PDO

Los Objetos de Datos PHP (PDO) se introdujeron como extensión PECL en PHP 5.0, y comenzó a formar parte del núcleo de PHP en PHP 5.1.x. La extensión PDO ofrece una interfaz consistente de acceso a bases de datos, y funciona en conjunción con drivers PDO específicos a cada bases de datos. Cada driver puede además tener funciones específicas de su propia base de datos, pero las funcionalidades básicas de acceso, tal como hacer consultas o capturar dato, se realizan por las funciones de PDO, usando el driver que se haya indicado al llamar a PDO::__construct().

Tenga en cuenta que la extensión PDO y sus drivers están pensados para construirse como extensiones compartidas. Esto permite facilitar el proceso de actualización desde PECL, sin tener que reconstruir todo PHP.

Desde el punto de vista de la versión de PHP 5.1.x, PDO está completamente preparado para probarlo y puede utilizarse en la mayoría de escenarios. Sin embargo, es importante entender que tanto PDO como sus drivers no son una herramienta madura y pueden carecer de funcionalidades específicas de un motor de bases de datos; se debe analizar cuidadosamente PDO antes de usarse en nuevos proyectos.

Por norma general, el código fuente de versiones anteriores dependerá de las extensiones de base de datos preexistentes, las cuales seguirán siendo mantenidas.

Cambios de soporte en MySQL

En PHP 4, había soporte incorporado para MySQL 3. Con la llegada de PHP 5.0 había dos extensiones de MySQL, 'mysql' y 'mysqli', diseñadas para funcionar con MySQL < 4.1 y MySQL 4.1 o superior, respectivamente. Con la llegada de PDO, que proporciona una interfaz muy rápida a las APIs de las bases de datos soportadas por PHP, el driver PDO_MYSQL puede funcionar con cualquiera de las versiones (MySQL 3, 4 or 5) en códigos escritos para PDO, dependiendo de la versión de la biblioteca MySQL usada al compilarlo. La extensión de MySQL anterior continua disponible por retrocompatibilidad, pero no viene habilitada por omisión.

Cambios de soporte en SQLite

En PHP 5.0.x, el soporte para SQLite 2 venía incorporado por omisión con la extensión sqlite, también disponible como extensión PECL para PHP 4.3 y para PHP 4.4. Con la llegada de PDO, la extensión sqlite pasa a actuar como driver 'sqlite2' de PDO; es por esto que la extensión sql de PHP 5.1.x depende de la extensión PDO.

PHP 5.1.x incorpora numerosas interfaces alternativas para sqlite:

La extensión sqlite ofrece la "clásica" API procedural/OO a sqlite que se usaba en versiones anteriores de PHP. También contiene el driver PDO 'sqlite2', que permite acceder a bases de datos SQLite 2 usando la API de PDO.

PDO_SQLITE ofrece la versión 3 del driver 'sqlite'. La versión 3 de SQLite es muy superior a la 2, y el formato de ficheros de estas dos versiones no son compatibles.

Si un proyecto basado en SQLite estuviera escrito y funcionando con una versión de PHP anterior, se podrá seguir usando ext/sqlite sin ningún problema, pero se deberá habilitar explícitamente tanto PDO como sqlite. Los nuevos proyectos deben usar PDO y el driver (versión 3) de 'sqlite', ya que es más rápido que SQLite 2, mejora la concurrencia, y soporta tanto sentencias preparadas, como columnas binarias, de forma nativa.

Se puede habilitar PDO usando la extensión SQLite. Si se deseara construir la extensión PDO como extensión compartida, se deberá construir SQLite también compartido, tal y como sucede con cualquier extensión que contenga un driver PDO.

Soporte de fecha/hora
Comprobación de E_STRICT
Migración de PHP 5.0.x a PHP 5.1.x


Comprobación de E_STRICT

Si sólo se va a comprobar un único script, se pueden consultar los errores E_STRICT usando la utilidad de línea de comandos de PHP:

php -d error_reporting=4095 -l script_to_check.php

En proyectos de mayor tamaño, el siguiente script de consola realizará la misma tarea:

#!/bin/sh

directory=$1

shift

# Se comprueban estas extensiones
extensions="php inc"

check_file ()
{
  echo -ne "Doing PHP syntax check on $1 ..."

  # Opciones:
  ERRORS=`/www/php/bin/php -d display_errors=1 -d html_errors=0 -d error_prepend_string=" " -d error_append_string=" " -d error_reporting=4095 -l $1 | grep -v "No syntax errors detected"`

  if test -z "$ERRORS"; then
    echo -ne "OK."
  else
    echo -e "Errors found!\n$ERRORS"
  fi

  echo
}

# recorrer por el resto de parámetros de fichero
for FILE in "$@" ; do
  for ext in $extensions; do
     if echo $FILE | grep "\.$ext$" > /dev/null; then
       if test -f $FILE; then
         check_file "$FILE"
       fi
     fi
  done
done
Cambios en el soporte a base de datos
Migración desde PHP 4 a PHP 5.0.x
Migración de PHP 5.0.x a PHP 5.1.x


Migración desde PHP 4 a PHP 5.0.x

Tabla de contenidos

  • ¿Qué ha cambiado en PHP 5.0.x?
  • Cambios Incompatibles entre versiones
  • CLI y CGI
  • Migración de ficheros de configuración
  • Funciones nuevas
  • Nuevas directivas
  • Bases de datos
  • Nuevo Modelo de Objetos
  • Informe de errores

Vea también guías de migración para versiones de PHP 5.1.x, 5.2.x, 5.3.x, 5.4.x y 5.5.x.

Comprobación de E_STRICT
¿Qué ha cambiado en PHP 5.0.x?
Apéndices


¿Qué ha cambiado en PHP 5.0.x?

Tanto PHP 5, como Zend Engine 2, han mejorado mucho el rendimiento y las capacidades de PHP, pero se ha tenido especial cuidado en hacer que el código existente fuera tan compatibles como fuera posible. De modo que migrar un código de PHP 4 a 5 debería de ser muy fácil. La mayoria de código PHP 4 existente debería estar listo para ejecutarse sin cambios, pero aún así deben conocerse las pequeñas diferencias y tomar las precauciones necesarias para comprobar el código antes de cambiar de versión en un entorno en producción.

Migración desde PHP 4 a PHP 5.0.x
Cambios Incompatibles entre versiones
Migración desde PHP 4 a PHP 5.0.x


Cambios Incompatibles entre versiones

Aunque la mayoría del código existente en PHP 4 debe de correr sin modificaciones, se debe de prestar atención a los siguientes cambios incompatibles entre versiones:

  • Hay algunas palabras reservadas nuevas.
  • strrpos() y strripos() ahora utilizan todo el string como cadena de búsqueda.
  • El uso ilegal de los índices de las cadenas emite E_ERROR en lugar de E_WARNING. Un ejemplo de uso ilegal es: $str = 'abc'; unset($str[0]);.
  • array_merge() ha sido modificado para que sólo acepte matrices. Si se pasara una variable que no es un array, se emitiría un E_WARNING por cada parámetro. Debe tenerse cuidado para que un código no comience a emitir E_WARNING de la nada.
  • La variable de servidor PATH_TRANSLATED ya no se establece implicitamente en Apache2 SAPI tal como sucedía en PHP 4, donde se establecía el mismo valor que contenía la variable de servidor SCRIPT_FILENAME cuando ésta no estaba completada por Apache. Este cambio fue realizada para cumplir con las » Especificación CGI/1.1. Por favor consulte » bug #23610 para más información, vea tambien la descripción de $_SERVER['PATH_TRANSLATED'] en el manual. Este problema también afecta las versiones de PHP >= 4.3.2.
  • La constante T_ML_COMMENT ya no se define por la extensión Tokenizer. Si se configura error_reporting a E_ALL, PHP emitirá un aviso. Aunque T_ML_COMMENT no llegó a usarse, estaba definido en PHP 4. Tanto en PHP 4 y PHP 5 // y /* */ se resuelven a la constante T_COMMENT. En cualquier caso los comentarios tipo PHPDoc /** */, introducidos en PHP 5, son interpretados por PHP, y son reconocidos como T_DOC_COMMENT.
  • $_SERVER se genera con argc y argv si la directiva variables_order contiene la "S". Si se hubiera configurado el sistema explícitamente para no crear $_SERVER, entonces no se generará. El cambio se hizo para hacer que tanto argc como argv estuvieran siempre disponibles en la versión CLI independientemente del valor de la directiva variables_order. Por tanto, la versión CLI ahora siempre generará la variables globales $argc y $argv.
  • Ya no se considera a un objeto sin propiedades como "vacío".
  • En algunos casos, las clases se deben declarar antes de usarse. Sólo sucede sucede al usar algunas funcionalidades de PHP (como por ejemplo interfaces). En cualquier otro caso, se aplica el funcionamiento antiguo.
  • Ahora get_class(), get_parent_class() y get_class_methods() devuelven el nombre de las clases/métodos tal como se definieron (respetando máyúsculas) lo cual puede provocar errores en scripts antiguos que dependen de este comportamiento (se devolvían los nombres de clases/métodos en minúsculas). Una posible solución pasa por buscar estas funciones en los scripts, y emplear strtolower(). Este cambio en sensibilidad a mayúsculas también se aplica a las constantes predefinidas __CLASS__, __METHOD__, y __FUNCTION__. Se devuelven los valores exactamente como se declararon (sensible a mayúsculas).
  • ip2long() devuelve ahora FALSE cuando se proporciona una IP inválida como argumento a la función, y no -1.
  • Si hubiera funciones definidas en el fichero que se incluye, podrán usarse en el fichero principal, independientemente de si están antes o después del return. Si se incluye dos veces el mismo fichero, PHP5 emite un error fatal ya que las funciones están declaradas, mientras que PHP4 no lo hacía. Se recomienda usar include_once en su lugar para comprobar si el fichero ya se había incluido.
  • include_once y require_once en primer lugar normalizan la ruta del fichero incluido en Windows de forma que incluir A.php y a.php incluyen sólo una vez el fichero.
  • Al pasar un array por valor a una función ya no se reinicia el puntero interno del array para los acceso a éste dentro de la función. En otras palabras, en PHP 4 cuando se pasaba una array a una función, su puntero interno dentro de la función se reiniciaba, mientras que en PHP 5, cuando se pasa un array a una función, su puntero de array dentro de la función será cualesquiera fuera cuando se pasó a la función.

Ejemplo #1 strrpos() y strripos() ahora usan todo el string como cadena de búsqueda

<?php
var_dump(strrpos('ABCDEF','DEF')); //int(3)

var_dump(strrpos('ABCDEF','DAF')); //bool(false)
?>

Ejemplo #2 Ya no se considera "vacío" un objeto sin propiedades

<?php
class test { }
$t = new test();

var_dump(empty($t)); // echo bool(false)

if ($t) {
    // Se ejecutará
}
?>

Ejemplo #3 En algunos casos, se deben definir las clases antes de usarlas

<?php

//Funciona sin errores:
$a = new a();
class a {
}

//lanza un error:
$a = new b();

interface c{
}
class b implements c {
}

?>

¿Qué ha cambiado en PHP 5.0.x?
CLI y CGI
Migración desde PHP 4 a PHP 5.0.x


CLI y CGI

En PHP 5 hubo algunos cambios en los nombres de ficheros CLI y CGI. En PHP 5, se renombró la versión CGI a php-cgi.exe (anteriormente php.exe) y ahora la versión CLI se encuentra en el directorio principal (anteriormente cli/php.exe).

En PHP 5 también se introdujo un nuevo modo: php-win.exe. Es igual que la versión CLI, excepto que php-win no muestra ninguna salida, y por tanto no lanza una consola (no lanza una ventana "dos"). Es un comportamiento similar al de php-gtk.

En PHP 5, la versión CLI siempre crea las variables globales $argv y $argc independientemente de cualquier directiva en php.ini. Incluso si se tuviera register_argc_argv en off, no afectaría a CLI.

Revise también el manual de referencia en línea de comandos.

Cambios Incompatibles entre versiones
Migración de ficheros de configuración
Migración desde PHP 4 a PHP 5.0.x


Migración de ficheros de configuración

Dado que los módulos ISAPI cambiaron sus nombres, de php4xxx a php5xxx, es necesario hacer algunos cambios en los ficheros de configuración. Hubo también cambios en los nombres de ficheros de CLI y CGI. Por favor, revise la sección correspondiente para más información.

Migrar la configuración de Apache es muy sencillo. Vea el ejemplo de abajo para conocer qué cambios realizar:

Ejemplo #1 Migración en Apache de la configuración de PHP 5

# cambie esta línea:
LoadModule php4_module /php/sapi/php4apache2.dll

# por esta otra:
LoadModule php5_module /php/php5apache2.dll

Si el servidor web está ejecutando PHP en modo CGI, debe tenerse en cuenta que la versión CGI ha cambiado su nombre de php.exe a php-cgi.exe. En Apache se debe hacer algo tal que así:

Ejemplo #2 Migración en Apache de la configuración a PHP 5 en modo CGI

# cambie esta línea:
Action application/x-httpd-php "/php/php.exe"

# por esta otra:
Action application/x-httpd-php "/php/php-cgi.exe"

En otros servidores web se debe cambiar el nombre del CGI o del módulo ISAPI correspondiente.

CLI y CGI
Funciones nuevas
Migración desde PHP 4 a PHP 5.0.x


Funciones nuevas

En PHP 5 hay algunas nuevas funciones. Se trata de las siguientes:

Arrays:

  • array_combine() - Crea un array usando uno como claves y otro para los valores
  • array_diff_uassoc() - Calcula la diferencia entre arrays con un chequeo adicional de índices que se realiza por una función de devolución de llamada suministrada por el usuario
  • array_udiff() - Computa la diferencia entre arrays, usando una llamada de retorno para la comparación de datos
  • array_udiff_assoc() - Computes the difference of arrays with additional index check. The data is compared by using a callback function
  • array_udiff_uassoc() - Computa la diferencia entre arrays con una comprobación de indices adicional, compara la información mediante una función de llamada de retorno
  • array_walk_recursive() - Aplicar una función de usuario recursivamente a cada miembro de un array
  • array_uintersect_assoc() - Computa la intersección de arrays con una comprobación de índices adicional, compara la información mediante una función de llamada de retorno
  • array_uintersect_uassoc() - Computa la intersección de arrays con una comprobación de índices adicional, compara la información y los índices mediante funciones de llamada de retorno
  • array_uintersect() - omputa una intersección de arrays, compara la información mediante una función de llamada de retorno

InterBase:

  • ibase_affected_rows() - Devuelve el número de filas que se vieron afectadas por la consulta anterior
  • ibase_backup() - Inicia una tarea de copia de seguridad en el administrador de servicios, y retirna el control inmediatamente
  • ibase_commit_ret() - Ejecuta una transacción sin cerrarla
  • ibase_db_info() - Petición de estadísticas sobre una base de datos
  • ibase_drop_db() - Elimina una base de datos
  • ibase_errcode() - Devuelve un código de error
  • ibase_free_event_handler() - Cancela un manejador de eventos registrado
  • ibase_gen_id() - Incrementa el generador de nombres y devuelve su nuevo valor
  • ibase_maintain_db() - Ejecuta un comando de mantenimiento en el servidor de bases de datos
  • ibase_name_result() - Asigna un nombre a un juego de resultados
  • ibase_num_params() - Devuelve el número de parámetros de una consulta preparada
  • ibase_param_info() - Devuelve información sobre un parámetro en una consulta preparada
  • ibase_restore() - Inicia una tarea de restauración en el administrador de servicios y retorna el control inmediatamente
  • ibase_rollback_ret() - Deshace una transacción y conserva su contexto
  • ibase_server_info() - Petición de estadísticas sobre un servidor de bases de datos
  • ibase_service_attach() - Conecta al administrador de servicios
  • ibase_service_detach() - Desconecta del administrador de servicios
  • ibase_set_event_handler() - Registra una función callback a la que invocar cuando se emita un evento
  • ibase_wait_event() - Espera a que se emita un evento por el servidor de bases de datos

iconv:

  • iconv_mime_decode() - Decodifica un campo de la cabecera MIME
  • iconv_mime_decode_headers() - Decodifica varios campos de cabeceras MIME en la misma llamada
  • iconv_mime_encode() - Compone un campo de cabecera MIME
  • iconv_strlen() - Retorna el número de caracteres de un string
  • iconv_strpos() - Busca la posición de la primera aparición de un string dado
  • iconv_strrpos() - Busca la última aparición de un string
  • iconv_substr() - Elimina parte de un string

Flujos:

  • stream_copy_to_stream() - Copia datos de un flujo a otro
  • stream_get_line() - Obtiene una línea del recurso de flujo hasta un delimitador dado
  • stream_socket_accept() - cepta una conexión sobre un socket creado por stream_socket_server()
  • stream_socket_client() - Abrir una conexión de socket de dominio de Internet o Unix
  • stream_socket_get_name() - Recuperar el nombre de los sockets locales o remotos
  • stream_socket_recvfrom() - Recibir información de un socket, conectado o no
  • stream_socket_sendto() - nvía un mensaje a un socket, ya esté conectado o no
  • stream_socket_server() - Crear un socket de servidor de dominio de Internet o de Unix

Relacionados con fecha y hora:

  • idate() - Formatea una fecha/hora local como un entero
  • date_sunset() - Devuelve la hora de la puesta de sol de un día y ubicación dados
  • date_sunrise() - Devuelve la hora de la salida del sol de un día y ubicación dados
  • time_nanosleep() - Retrasar por un número de segundos y nanosegundos

Strings:

  • str_split() - Convertir un string en un array
  • strpbrk() - Buscar una cadena por cualquiera de los elementos de un conjunto de caracteres
  • substr_compare() - Comparación segura, opcionalmente sensible a mayúsculas, de dos strings a partir de una posición, hasta un determinado número de caracteres

Otras:

  • convert_uudecode() - decodifica un string uuencoded
  • convert_uuencode() - aplica uuencode a un string
  • curl_copy_handle() - Copiar un manejador cURL junto con todas sus preferencias
  • dba_key_split() - Dividir en claves una representación de texto en una representación en array
  • dbase_get_header_info() - Consultar información de cabeceras de una base de datos dBase
  • dbx_fetch_row() - Extraer las filas de una consulta-resultado que tiene la bandera DBX_RESULT_UNBUFFERED habilitada
  • fbsql_set_password() - Cambiar la contraseña de un determinado ususario
  • file_put_contents() - Escribir un texto en un fichero
  • ftp_alloc() - Reservar espacio para subir un fichero
  • get_declared_interfaces() - Devuelve un array con todas las interfaces declaradas
  • get_headers() - Extrae las cabeceras enviadas por el servidor en respuesta a una petición HTTP
  • headers_list() - Devuelve una lista de las cabeceras de respuesta enviadas (o listas para enviar)
  • http_build_query() - Genera una cadena en codificación URL
  •  image_type_to_extension() - Obtiene la extensión de tipo imagen
devuelta por  getimagesize(),
 exif_read_data(),
 exif_thumbnail(),
 exif_imagetype()
  • imagefilter() - Aplica un filtro a una imagen utilizando parámetros personalizados
  • imap_getacl() - Consultar el ACL para un buzón de correos concreto
  • ldap_sasl_bind() - Atar a un directorio LDAP usando SASL
  • mb_list_encodings() - Devuelve un array con todas las codificaciones soportadas
  • pcntl_getpriority() - Consultar prioridad de cualquier proceso
  • pcntl_wait() - Espera a, o devuelve, el código de estado de un nuevo hijo tal como se define en la llamada al sistema waitpid()
  • pg_version() - Devuelve un array que contiene el cliente, el protocolo y versión de servidor (cuando sea posible)
  • php_check_syntax() - Comprueba la sintaxis del fichero especificado
  • php_strip_whitespace() - Devuelve el código fuente eliminando espacios y comentarios
  • proc_nice() - Modifica la prioridad del proceso en ejecución
  • pspell_config_data_dir() - Cambia la ubicación de los ficheros de datos de idiomas
  • pspell_config_dict_dir() - Cambia la ubicación del listado principal de palabras
  • setrawcookie() - Envia una cookie sin aplicar codificación URL al valor
  • scandir() - Lista los ficheros y directorios pertenecientes a la ruta especificada
  • snmp_read_mib() - Lee y analiza un fichero MIB dentro del árbol MIB activo
  • sqlite_fetch_column_types() - Devuelve un array con los tipos de columnas para una tabla en particular

Nota:

La extensión Tidy ha cambiado también toda su API al completo.

Migración de ficheros de configuración
Nuevas directivas
Migración desde PHP 4 a PHP 5.0.x


Nuevas directivas

Hay algunas nuevas directivas en php.ini introducidas en PHP 5. Algunas de ellas son:

  • mail.force_extra_parameters - Obliga a añadir el parámetro especificado como parámetro extra al binario sendmail. Estos parámetros reemplazarán el valor del quinto parámetro de mail(), incluso en el modo seguro
  • register_long_arrays - permite/impide a PHP la variable obsoleta $HTTP_*_VARS
  • session.hash_function - selecciona una función hash (MD5 o SHA-1)
  • session.hash_bits_per_character - define cuántos bits se almacenan en cada caracter al convertirlo los datos binarios del hash a algo legible (de 4 a 6)
  • zend.ze1_compatibility_mode - Habilitada el modo compatible con Zend Engine 1 (PHP 4)
Funciones nuevas
Bases de datos
Migración desde PHP 4 a PHP 5.0.x


Bases de datos

Hubo algunos cambios en PHP 5 relacionados con bases de datos (MySQL y SQLite).

En PHP 5 las bibliotecas de cliente MySQL no se incorporan, debido a problemas de licencias y otros. Para más información revise las preguntas frecuentes.

Hay también una nueva extensión, MySQLi (MySQL mejorado), diseñada para funcionar con MySQL 4.1 y superior.

A partir de PHP 5, la extensión SQLite viene incorporada en PHP. SQLite es un motor de bases de datos empotrable. No es una biblioteca cliente que se use para conectar a un gran servidor de bases de datos (como MySQL o PostgreSQL). La biblioteca SQLite lee y escribe directamente a y de la base de datos en el disco.

Nuevas directivas
Nuevo Modelo de Objetos
Migración desde PHP 4 a PHP 5.0.x


Nuevo Modelo de Objetos

En PHP 5 hay un nuevo Modelo de Objetos. El manejo de PHP de objetos ha sido completamente rescrito, permitiendo un mejor rendimiento y más funcionalidades. En versiones anteriores de PHP, los objetos eran manejados como si se tratara de tipos primitivos (como enteros o strings). Como consecuencia, se copiaba semánticamente todo el objeto cuando se asignaba una variable, o cuando se pasaba como parámetro a un método. En el nuevo enfoque, a los objetos se los referencia por manejador, y no por valor (podría interpretarse al manejador como un identificador del objeto).

Muchos programadores de PHP todavía no están al tanto de las peculiaridades del antiguo modelo de objetos, y, por tanto, la mayoría de las aplicaciones PHP funcionarán sin cambios, o con muy pocas modificaciones.

El nuevo Modelo de Objetos está documentado en laReferencia del Lenguaje.

En PHP 5, las funciones que tengan el nombre de la clases, se las invoca como constructor sólo si se definen en la misma clase. En PHP 4, se llamaban incluso si estando definidas en la clase padre.

Revise también la directiva zend.ze1_compatibility_mode para conocer la compatibilidad con PHP 4.

Bases de datos
Informe de errores
Migración desde PHP 4 a PHP 5.0.x


Informe de errores

Desde PHP 5, la constante de informe de error E_STRICT queda disponible, con el valor 2048. Cuando se habilite, se emitirán mensajes para alertar del uso de código que ha quedado obsoleto o que podría quedarlo en un futuro.

Nota: E_ALL no incluye E_STRICT, de modo que no está habilitado por omisión. Se puede incluir el nivel de error E_STRICT explícitamente para poder ver sus mensajes.

Revise las Constantes Predefinidas para más información.

Nuevo Modelo de Objetos
Clases y Objetos (PHP 4)
Migración desde PHP 4 a PHP 5.0.x


Clases y Objetos (PHP 4)

Tabla de contenidos

  • class
  • extends
  • Constructores
  • Operador de Resolución de Alcance (::)
  • parent
  • Serialización de objetos - objetos en las sesiones
  • Las funciones mágicas __sleep y __wakeup
  • Referencias dentro del constructor
  • Comparando objects
Informe de errores
class
Apéndices


class

Una clase es una colección de variables y funciones que trabajan con estas variables. Las variables se definen utilizando var y las funciones utilizando function. Una clase se define empleando la siguiente sintáxis:

<?php
class Cart {
    var $items;  // Objetos en nuestro carrito de compras

    // Agregar $num artículos de $artnr al carrito

    function add_item($artnr, $num) {
        $this->items[$artnr] += $num;
    }

    // Sacar $num artículos de $artnr fuera del carrito

    function remove_item($artnr, $num) {
        if ($this->items[$artnr] > $num) {
            $this->items[$artnr] -= $num;
            return true;
        } elseif ($this->items[$artnr] == $num) {
            unset($this->items[$artnr]);
            return true;
        } else {
            return false;
        }
    }
}
?>

Esto define una clase llamada Cart que consiste de una matriz asociativa de artículos en el carrito y dos funciones para agregar y quitar elementos de este carrito.

Advertencia

NO se puede separar una definición de clase en múltiples ficheros. Tampoco es posible separar una definición de clase en múltiples bloques PHP, a menos que la división sea dentro de una declaración de método. Lo siguiente no funcionará:

<?php
class test {
?>
<?php
    function test() {
        print 'OK';
    }
}
?>

Sin embargo, lo siguiente es permitido:

<?php
class test {
    function test() {
        ?>
        <?php
        print 'OK';
    }
}
?>

Las siguientes notas de precaución son válidas para PHP 4.

Precaución

El nombre stdClass es usado internamente por Zend y está reservado. No es posible tener una clase llamada stdClass en PHP.

Precaución

Los nombres de función __sleep y __wakeup son mágicos en las clases de PHP. No se puede tener funciones con estos nombres en ninguna clase a menos que se desee la funcionalidad mágica asociada con ellas. Ver abajo para más información.

Precaución

PHP reserva todos los nombres de función que empiezan con __ como mágicos. Se recomienda que no se utilicen nombres de función con __ en PHP a menos que se quiera alguna funcionalidad mágica que esté documentada.

En PHP 4, para variables var solamente se permiten inicializadores constantes. Para inicializar variables con valores no constantes, se requiere una función de inicialización que es invocada automáticamente cuando un objeto se está construyendo a partir de la clase. Tal función es llamada un constructor (ver más abajo).

<?php
class Cart {
    /* Ninguno de estos funcionará en PHP 4. */
    var $todays_date = date("Y-m-d");
    var $name = $firstname;
    var $owner = 'Fred ' . 'Jones';
    /* Pero matrices que contengan valores constantes, si lo harán. */
    var $items = array("VCR", "TV");
}

/* Esta es la manera en que debería hacerse. */
class Cart {
    var $todays_date;
    var $name;
    var $owner;
    var $items = array("VCR", "TV");

    function Cart() {
        $this->todays_date = date("Y-m-d");
        $this->name = $GLOBALS['firstname'];
        /* etc. . . */
    }
}
?>

Las clases son tipos, es decir, son planos para las variables de verdad. Se tiene que crear una variable del tipo deseado con el operador new.

<?php
$cart = new Cart;
$cart->add_item("10", 1);

$another_cart = new Cart;
$another_cart->add_item("0815", 3);
?>

Esto crea los objetos $cart y $another_cart, ambos de la clase Cart. La función add_item() del objeto $cart es invocada para agregar 1 elemento del artículo 10 a $cart. 3 elementos del artículo número 0815 son agregados a $another_cart.

Ambos, $cart y $another_cart, tienen las funciones add_item(), remove_item() y una variable items. Estas son funciones y variables distintas. Se puede pensar en los objetos como algo semejante a directorios en un sistema de ficheros. En un sistema de ficheros se pueden tener dos diferentes ficheros llamados README.TXT, siempre y cuando éstos, estén en directorios distintos. Tal como con los directorios donde se tiene que teclear la trayectoria de nombre completa para poder alcanzar cada fichero desde el directorio de nivel máximo, se tiene que especificar el nombre completo de la función que se desea invocar: en términos de PHP, el directorio de nivel máximo sería el espacio de nombres global, y el separador en las trayectorias de nombre sería ->. Así, los nombres $cart->items y $another_cart->items nombran a dos variables distintas. Nótese que la variable se llama $cart->items, y no $cart->$items, es decir, un nombre de variable en PHP tiene únicamente un sólo signo de dólar ($).

<?php
// correcto, solamente un $
$cart->items = array("10" => 1);

// inválido, porque $cart->$items se vuelve $cart->""
$cart->$items = array("10" => 1);

// correcto, pero podría ser o no lo que se pretendía:
// $cart->$myvar se vuelve $cart->items
$myvar = 'items';
$cart->$myvar = array("10" => 1);
?>

Dentro de una definición de clase, no se conoce bajo que nombre el objeto será accesible dentro del programa: al momento en que la clase Cart fue escrita, se desconocía si el objeto sería nombrado $cart, $another_cart, o algo distinto posteriormente. Siendo así, no se puede escribir $cart->items dentro de la clase Cart propiamente. En cambio, para ser capáz de acceder a sus propias funciones y variables desde el interior de una clase, es posible utilizar la pseudovariable $this que puede ser leída como 'lo mío' u 'objeto actual'. Así, '$this->items[$artnr] += $num' puede leerse como 'agregar $num al contador $artnr de mi propia matriz de artículos' o 'agregar $num al contador $artnr de la matriz de artículos dentro del objeto actual'.

Nota:

La pseudovariable $this normalmente no está definida si el método en el que se encuentra alojada es invocado de manera estática. Pero, ésta, no es una regla estricta: $this está definida si un método es invocado estáticamente desde el interior de otro objeto. En este caso, el valor de $this será aquel del objeto que realiza la invocación. Esto se ilustra en el siguiente ejemplo:

<?php
class A
{
    function foo()
    {
        if (isset($this)) {
            echo '$this is defined (';
            echo get_class($this);
            echo ")\n";
        } else {
            echo "\$this is not defined.\n";
        }
    }
}

class B
{
    function bar()
    {
        A::foo();
    }
}

$a = new A();
$a->foo();
A::foo();
$b = new B();
$b->bar();
B::bar();
?>

El resultado del ejemplo sería:

$this is defined (a)
$this is not defined.
$this is defined (b)
$this is not defined.

Nota:

Existen algunas funciones apropiadas para manejar clases y objetos. Quizas se quiera echar un vistazo al las Funciones Clase/Objeto.

Clases y Objetos (PHP 4)
extends
Clases y Objetos (PHP 4)


extends

Frecuentemente son necesarias clases con variables y funciones semejantes a los de otra clase ya existente. De hecho, es una buena práctica definir una clase genérica que pueda ser utilizada en todos sus proyectos y adaptar esta clase a las necesidades de cada uno de sus proyectos específicos. Para facilitar esto, las clases pueden ser extensiones de otras clases. La clase extendida o derivada tiene todas las variables y funciones de la clase base (esto es llamado 'herencia' a pesar del hecho de que nadie ha muerto) y aquello que se agregue en la definición extendida. No es posible disminuir una clase, es decir, remover la definición de cualquier función o variable existente. Una clase extendida siempre es dependiente de una sóla clase base, es decir, la herencia múltiple no está soportada. Las clases son extendidas utilizando la palabra clave 'extends'.

<?php
class Named_Cart extends Cart {
    var $owner;

    function set_owner ($name) {
        $this->owner = $name;
    }
}
?>

Esto define una clase llamada Named_Cart que contiene todas las variables y funciones de Cart más una variable adicional $owner y una función adicional set_owner(). Se crea un carrito con nombre de la manera habitual y ahora se puede indicar y obtener el dueño del carrito. Aún se pueden utilizar las funciones de carrito normal en los carritos con nombre:

<?php
$ncart = new Named_Cart;    // Crear un carrito con nombre
$ncart->set_owner("kris");  // Nombrar el carrito
print $ncart->owner;        // imprimir el nombre del dueño del carrito
$ncart->add_item("10", 1);  // (funcionalidad heredada de cart)
?>

Esto también es llamado una relación "padre-hijo". Se crea una clase, el padre, y se utiliza extends para crear una nueva clase basada en la clase padre: la clase hijo. Es posible incluso utilizar esta nueva clase hijo y crear otra clase basada en esta clase hijo.

Nota:

¡Las clases deben de estar definidas antes de ser utilizadas! Si se desea que la clase Named_Cart extienda a la clase Cart, se tendrá que definir primero la clase Cart. Si se quiere crear otra clase llamada Yellow_named_cart basada en la clase Named_Cart se tiene que definir primero Named_Cart. Para resumir: el orden en que las clases se definen es importante.

class
Constructores
Clases y Objetos (PHP 4)


Constructores

Los constructores son funciones en una clase que son invocadas automáticamente cuando se crea una nueva instancia de una clase con new. Una función se vuelve un constructor, cuando tiene el mismo nombre que la clase. Si una clase no tiene constructor, el constructor de la clase base será invocado, si es que existe.

<?php
class Auto_Cart extends Cart {
    function Auto_Cart() {
        $this->add_item("10", 1);
    }
}
?>

Esto define una clase Auto_Cart que es una Cart más un constructor que inicializa el carrito con un elemento del artículo número "10" en cada ocasión que un nuevo Auto_Cart es creado con "new". Los constructores pueden llevar argumentos y estos argumentos pueden ser opcionales, lo que los hace mucho más útiles. Para poder seguir utilizando la clase sin parámetros, todos los parámetros para los constructores deben hacerse opcionales proporcionando los valores por omisión.

<?php
class Constructor_Cart extends Cart {
    function Constructor_Cart($item = "10", $num = 1) {
        $this->add_item ($item, $num);
    }
}

// Comprar las mismas cosas aburridas de siempre.
$default_cart = new Constructor_Cart;

// Comprar en serio...
$different_cart = new Constructor_Cart("20", 17);
?>

También se puede utilizar el operador @ para callar los errores que ocurren en el constructor, para ejemplo @new.

<?php
class A
{
    function A()
    {
        echo "I am the constructor of A.<br />\n";
    }

    function B()
    {
        echo "I am a regular function named B in class A.<br />\n";
        echo "I am not a constructor in A.<br />\n";
    }
}

class B extends A
{
}

// Esto invocará a B() como un constructor
$b = new B;
?>

La función B() en la clase A repentinamente se volverá un constructor en la clase B, aunque nunca fue la intención que lo fuera. A PHP 4 no le importa si la función ha sido definida en la clase B, o si ha sido heredada.

Precaución

PHP no llama automáticamente a los constructores de la clase base desde un constructor de una clase derivada. Es su responsabilidad propagar la llamada a los constructores en la jerarquía superior cuando sea apropiado.

Los destructores son funciones que son invocadas automáticamente cuando un objeto es destruido, ya sea con unset() o simplemente al salir del alcance. No existen destructores en PHP. En cambio, se puede utilizar register_shutdown_function() para simular la mayoría de los efectos de los destructores.

extends
Operador de Resolución de Alcance (::)
Clases y Objetos (PHP 4)


Operador de Resolución de Alcance (::)

Precaución

Lo siguiente es válido para PHP 4 y posteriores únicamente.

Algunas veces es útil hacer referencia a funciones y variables en las clases base o hacer referencia a funciones que se encuentran en clases que aún no tienen ninguna instancia. El operador :: es utilizado para realizar esto.

<?php
class A {
    function example() {
        echo "I am the original function A::example().<br />\n";
    }
}

class B extends A {
    function example() {
        echo "I am the redefined function B::example().<br />\n";
        A::example();
    }
}

// no hay objetos de la clase A.
// esto imprimirá
//   I am the original function A::example().<br />
A::example();

// crear un objeto de clase B.
$b = new B;

// esto imprimirá
//   I am the redefined function B::example().<br />
//   I am the original function A::example().<br />
$b->example();
?>

El ejemplo de arriba invoca a la función example() en la clase A, pero no hay un objeto de la clase A, así que no es posible escribir $a->example() o algo semejante. En vez de ello se invoca example() como una 'función de clase', es decir, como una función de la clase misma, no de un objeto de esa clase.

Existen funciones de clase, pero no existen variables de clase. De hecho, no existe objeto alguno en el momento de la invocación. Siendo así, una función de clase no puede utilizar ninguna variable de objeto (pero puede utilizar variables locales y globales), y no puede utilizar $this para nada.

En el ejemplo anterior, la clase B vuelve a definir la función example(). La definición original en la clase A queda desplazada y ya no se encuentra disponible, a menos que se haga referencia específicamente a la implementación de example() en la clase A empleando el operador ::. Se escribe A::example() para realizar esto (de hecho, se debe escribir parent::example(), tal como se muestra en la siguiente sección).

En este contexto, existe un objeto actual y puede tener variables de objeto. Así, cuando se usen desde el INTERIOR de una función de objeto, se puede utilizar $this y las variables de objeto.

Constructores
parent
Clases y Objetos (PHP 4)


parent

Se puede encontrar que se escribe código que hace referencia a variables y funciones en las clases base. Esto es particularmente cierto si la clase derivada es un refinamiento o especialización de código en la clase base.

En vez de utilizar el nombre de la clase base en el código, debe utilizarse el nombre especial parent, que hace referencia al nombre de la clase base tal como se especifica en la declaración extends de la clase. Al hacer esto, se evita utilizar el nombre de la clase base en más de una ubicación. Si el árbol de herencia llegase a cambiar durante la implementación, el cambio puede llevarse a cabo con facilidad simplemente cambiando la declaración extends de la clase.

<?php
class A {
    function example() {
        echo "I am A::example() and provide basic functionality.<br />\n";
    }
}

class B extends A {
    function example() {
        echo "I am B::example() and provide additional functionality.<br />\n";
        parent::example();
    }
}

$b = new B;

// Este ejemplo invocará a B::example(), que a su vez invocará a A::example().
$b->example();
?>
Operador de Resolución de Alcance (::)
Serialización de objetos - objetos en las sesiones
Clases y Objetos (PHP 4)


Serialización de objetos - objetos en las sesiones

serialize() devuelve un string conteniendo una representación de flujo de bytes de cualquier valor que pueda ser almacenado en PHP. unserialize() puede utilizar este string para recrear los valores originales de la variable. Al utilizar serialize para guardar un objeto, se guardarán todas las variables en el objeto. Las las funciones en un objeto no serán guardadas, solamente el nombre de la clase.

Para poder utilizar unserialize() en un objeto, la clase de ese objeto necesita estar definida. Es decir, si se tiene un objeto $a de la clase A en page1.php y se serializa éste, se obtiene un string que hace referencia a la clase A y que contiene todos los valores de las variables contenidas en $a. Si se desea ser capáz de revertir la serialización de esto en page2.php, recreando $a de la clase A, la definición de la clase A debe estar presente en page2.php. Esto puede hacerse por ejemplo al colocar la definición de clase de la clase A en un fichero de include e incluyendo este fichero en ambas páginas page1.php y en page2.php.

<?php
// classa.inc:

  class A {
      var $one = 1;

      function show_one() {
          echo $this->one;
      }
  }

// page1.php:

  include("classa.inc");

  $a = new A;
  $s = serialize($a);
  // almacenar $s en algún lado donde page2.php pueda encontrarle.
  $fp = fopen("store", "w");
  fwrite($fp, $s);
  fclose($fp);

// page2.php:

  // esto es necesario para que unserialize funcione apropiadamente.
  include("classa.inc");

  $s = implode("", @file("store"));
  $a = unserialize($s);

  // ahora utilizar la función show_one() del objeto $a.
  $a->show_one();
?>

Si se están utilizando sesiones y se emplea session_register() para registrar objetos, estos objetos son serializados automáticamente al final de cada página de PHP, y la serialización les es revertida automáticamente en en cada una de las páginas siguientes. Esto significa básicamente que estos objetos pueden aparecer en cualquiera de las páginas una vez que se vuelven parte de la sesión.

Es recomendado enfáticamente que se incluyan las definiciones de clase de semejantes objetos en todas las páginas, aun si no se usan estas clases en todas las páginas. Si no se hace y a un objeto se le revierte la serialización sin que su definición de clase esté presente, perderá su asociacón de clase y se volverá un objeto de la clase __PHP_Incomplete_Class_Name sin ninguna función disponible por completo, es decir, se volverá bastante inútil.

Así que si en el ejemplo anterior $a se volviese parte de una sesión al ejecutar session_register("a"), se debería incluir el fichero classa.inc en todas las páginas, no sólo en page1.php y en page2.php.

parent
Las funciones mágicas __sleep y __wakeup
Clases y Objetos (PHP 4)


Las funciones mágicas __sleep y __wakeup

serialize() revisa si la clase tiene una función con el nombre mágico __sleep. Si es así, esa función es ejecutada antes de cualquier serialización. Puede limpiar el objeto y se supone que devuelva una matriz con los nombres de todas las variables de ese objeto que deberán ser serializadas. Si el método no devuelve nada, entonces NULL es serializado y E_NOTICE es emitida.

La intención de utilizar __sleep es asentar datos pendientes o realizar tareas similares de limpieza. También la función es útil si se tienen objetos muy grandes que no necesitan ser guardados completamente.

De manera correspondiente, unserialize() revisa la presencia de una función con el nombre mágico de __wakeup. Si está presente, esta función puede reconstruir cualesquiera recursos que el objeto pueda tener.

El propósito de utilizar __wakeup es reestablecer cualquier conexión a bases de datos que se pudiese haber perdido durante la serialización y realizar otras tareas de reinicialización.

Serialización de objetos - objetos en las sesiones
Referencias dentro del constructor
Clases y Objetos (PHP 4)


Referencias dentro del constructor

Crear referencias dentro del cosntructor puede llevar a resultados confusos. Esta sección a manera de guía ayuda a evitar problemas.

<?php
class Foo {
    function Foo($name) {
        // crear una referencia dentro de la matriz global $globalref
        global $globalref;
        $globalref[] = &$this;
        // hacer que el nombre sea el valor que ha sido pasado
        $this->setName($name);
        // y mostrarlo
        $this->echoName();
    }

    function echoName() {
        echo "<br />", $this->name;
    }

    function setName($name) {
        $this->name = $name;
    }
}
?>

Revisar si hay alguna diferencia entre $bar1 que ha sido creada usando el operador de copiado = y $bar2 que ha sido creada utilzando el operador de referencia =&...

<?php
$bar1 = new Foo('set in constructor');
$bar1->echoName();
$globalref[0]->echoName();

/* salida:
set in constructor
set in constructor
set in constructor */

$bar2 =& new Foo('set in constructor');
$bar2->echoName();
$globalref[1]->echoName();

/* salida:
set in constructor
set in constructor
set in constructor */
?>

Aparentemente no hay diferencia, pero de hecho existe una muy significativa: $bar1 y $globalref[0] _NO_ están referenciadas, NO son la misma variable. Esto es porque "new" no devuelve una referencia por omisión, en vez de ello devuelve una copia.

Nota: No hay pérdida de desempeño (ya que PHP 4 y superiores utilizan conteo de referencias) al devolver copias en vez de referencias. Al contrario la mayor parte del tiempo es mejor simplemente trabajar con copias en vez de referencias, porque crear referencias toma algo de tiempo mientras que crear copias virtualmente no toma tiempo (a menos que una de ellas sea un objeto o matriz grande y una de ellas es cambiada y la(las) otra(s) subsecuentemente también, entonces sería sabio usar referencias para cambiarlas a todas concurrentemente).

Para probar lo que esta escrito aquí arriba observar el código siguiente.
<?php
// ahora se cambiará el nombre. ¿Qué esperabas?
// se podría esperar que $bar1 y $globalref[0] ambas cambien sus nombres...
$bar1->setName('set from outside');

// como se mencionó antes este no es el caso.
$bar1->echoName();
$globalref[0]->echoName();

/* salida:
set from outside
set in constructor */

// veamos que es diferente con $bar2 y $globalref[1]
$bar2->setName('set from outside');

// afortunadamente no sólo son iguales, son la misma variable
// así $bar2->name y $globalref[1]->name son las mismas también
$bar2->echoName();
$globalref[1]->echoName();

/* salida:
set from outside
set from outside */
?>

Otro ejemplo final, intente comprenderlo.

<?php
class A {
    function A($i) {
        $this->value = $i;
        // intente entender por qué no es necesaria una referencia aquí
        $this->b = new B($this);
    }

    function createRef() {
        $this->c = new B($this);
    }

    function echoValue() {
        echo "<br />","class ",get_class($this),': ',$this->value;
    }
}

class B {
    function B(&$a) {
        $this->a = &$a;
    }

    function echoValue() {
        echo "<br />","class ",get_class($this),': ',$this->a->value;
    }
}

// intente entender por qué usar una copia simple aquí terminaría
// en un resultado no deseado en la línea marcada con *
$a =& new A(10);
$a->createRef();

$a->echoValue();
$a->b->echoValue();
$a->c->echoValue();

$a->value = 11;

$a->echoValue();
$a->b->echoValue(); // *
$a->c->echoValue();

?>

El resultado del ejemplo sería:

class A: 10
class B: 10
class B: 10
class A: 11
class B: 11
class B: 11

Las funciones mágicas __sleep y __wakeup
Comparando objects
Clases y Objetos (PHP 4)


Comparando objects

En PHP 4, los objetos se comparan de una manera muy sencilla, entiéndase: Dos instancias de objeto son iguales si tienen los mismos atributos y valores, y son instancias de la misma clase. Reglas semejantes se aplican cuando se comparan dos objetos utilizando el operador de identidad (===).

Si se fuese a ejecutar el código en el ejemplo siguiente:

Ejemplo #1 Ejemplo de comparación de objetos en PHP 4

<?php
function bool2str($bool) {
    if ($bool === false) {
            return 'FALSE';
    } else {
            return 'TRUE';
    }
}

function compareObjects(&$o1, &$o2) {
    echo 'o1 == o2 : '.bool2str($o1 == $o2)."\n";
    echo 'o1 != o2 : '.bool2str($o1 != $o2)."\n";
    echo 'o1 === o2 : '.bool2str($o1 === $o2)."\n";
    echo 'o1 !== o2 : '.bool2str($o1 !== $o2)."\n";
}

class Flag {
    var $flag;

    function Flag($flag=true) {
            $this->flag = $flag;
    }
}

class SwitchableFlag extends Flag {

    function turnOn() {
        $this->flag = true;
    }

    function turnOff() {
        $this->flag = false;
    }
}

$o = new Flag();
$p = new Flag(false);
$q = new Flag();

$r = new SwitchableFlag();

echo "Compare instances created with the same parameters\n";
compareObjects($o, $q);

echo "\nCompare instances created with different parameters\n";
compareObjects($o, $p);

echo "\nCompare an instance of a parent class with one from a subclass\n";
compareObjects($o, $r);
?>

El resultado del ejemplo sería:

Compare instances created with the same parameters
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : TRUE
o1 !== o2 : FALSE

Compare instances created with different parameters
o1 == o2 : FALSE
o1 != o2 : TRUE
o1 === o2 : FALSE
o1 !== o2 : TRUE

Compare an instance of a parent class with one from a subclass
o1 == o2 : FALSE
o1 != o2 : TRUE
o1 === o2 : FALSE
o1 !== o2 : TRUE
El cual es el resultado que se esperaría obtener dadas las reglas de comparación anteriores. Unicamente instancias con los mismos valores para sus atributos y de la misma clase son consideradas como iguales e idénticas.

Aun en casos en donde se tiene composición de objetos, se aplican las mismas reglas de comparación. En el ejemplo siguiente se crea una clase contenedora que almacena una matriz asociativa de objetos Flag.

Ejemplo #2 Comparaciones de objetos compuestos en PHP 4

<?php
class FlagSet {
    var $set;

    function FlagSet($flagArr = array()) {
        $this->set = $flagArr;
    }

    function addFlag($name, $flag) {
        $this->set[$name] = $flag;
    }

    function removeFlag($name) {
        if (array_key_exists($name, $this->set)) {
            unset($this->set[$name]);
        }
    }
}

$u = new FlagSet();
$u->addFlag('flag1', $o);
$u->addFlag('flag2', $p);
$v = new FlagSet(array('flag1'=>$q, 'flag2'=>$p));
$w = new FlagSet(array('flag1'=>$q));

echo "\nComposite objects u(o,p) and v(q,p)\n";
compareObjects($u, $v);

echo "\nu(o,p) and w(q)\n";
compareObjects($u, $w);
?>

El resultado del ejemplo sería:

Composite objects u(o,p) and v(q,p)
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : TRUE
o1 !== o2 : FALSE

u(o,p) and w(q)
o1 == o2 : FALSE
o1 != o2 : TRUE
o1 === o2 : FALSE
o1 !== o2 : TRUE

Referencias dentro del constructor
Depuración en PHP
Clases y Objetos (PHP 4)


Depuración en PHP

Tabla de contenidos

  • Sobre la depuración en PHP
Comparando objects
Sobre la depuración en PHP
Apéndices


Sobre la depuración en PHP

PHP no cuenta con una herramienta de depuración interna. Aun así, puede usar uno de los depuradores externos. El » entorno integrado de desarrollo Zend incluye un depurador, y existen también algunas extensiones de depuración gratuitas como DBG en » http://www.php-debugger.com/dbg/, el » Depurador Avanzado de PHP (APD, por sus siglas en Inglés) o » Xdebug.

Depuración en PHP
Opciones de configuración
Depuración en PHP


Opciones de configuración

Tabla de contenidos

  • Listado de opciones de configuración del núcleo
Sobre la depuración en PHP
Listado de opciones de configuración del núcleo
Apéndices


Listado de opciones de configuración del núcleo

A continuación se muestra una lista de parte de las opciones de configuración usadas por el script configure de PHP cuando se compila en sistemas tipo UNIX. La mayoría de las opciones de configuración para extensiones están listadas en su ubicación apropiada en las páginas de referencia de cada extensión y no aquí. Para una lista actualizada de las opciones de configuración, ejecute ./configure --help en el directorio origen de PHP después de ejecutar autoconf (vea también el Capítulo de Instalación). También puede interesarle leer la documentación » GNU configure para mayor información en otras opciones de configure tales como --prefix=PREFIX.

Nota:

Estas opciones se utilizan únicamente en tiempo de compilación. Si desea alterar la configuración en tiempo de ejecución de PHP, por favor vea el capítulo sobre Configuración en tiempo de ejecución.

  • Misceláneo
  • Comportamiento PHP
  • Servidor

Opciones de configuración en PHP 4

Nota:

Estas opciones son sólo usadas en PHP, tal como PHP 4.1.0. Algunas también están disponibles en versiones anteriores. Si quiere compilar una versión anterior, muy probablemente algunas opciones no estarán disponibles.

Opciones Misceláneas

--enable-debug

Compilar con símbolos de rastreo de errores (debugging).

--with-layout=TYPE

Establece como los ficheros instalados serán presentados. El tipo uno es de PHP (valor por defecto) o GNU.

--with-pear=DIR

Instala PEAR en DIR (valor por defecto PREFIX/lib/php).

--without-pear

No instala PEAR.

--enable-sigchild

Establece el propio manejador SIGCHLD de PHP.

--disable-rpath

Deshabilita pasar trayectorias de búsqueda de librerias de tiempo de ejecución adicionales.

--enable-libgcc

Habilita explícitamente el ligado con libgcc.

--enable-php-streams

Incluye streams PHP experimentales. ¡No se use a menos que este probando el código!.

--with-zlib-dir[=DIR]

Defina la localización del directorio de instalación de zlib.

--enable-trans-sid

Habilita la propagación transparente del ID de sesión. Válido sólo para PHP 4.1.2 or inferior. A partir de PHP 4.2.0, la característica trans-id está siempre disponible.

--with-tsrm-pthreads

Usa threads de POSIX (valor por defecto).

--enable-shared[=PKGS]

Construye librerías compartidas [default=yes].

--enable-static[=PKGS]

Construye librerias estáticas [default=yes].

--enable-fast-install[=PKGS]

Optimiza para una rápida instalación [default=yes].

--with-gnu-ld

Asume que el compilador de C usa GNU Id [default=no].

--disable-libtool-lock

Evita bloqueos (debe romper compilaciones paralelas).

--with-pic

Intenta usar sólo objetos PIC/non-PIC [default=use both].

--enable-memory-limit

Compila con soporte de limite de memoria.

--disable-url-fopen-wrapper

Deshabilita empaquetador fopen que abre URLs, que permite accesar ficheros vía HTTP o FTP. (No disponible desde PHP 5.2.5)

--enable-versioning

Exporta sólo los símbolos requeridos. Vea INSTALL para más información.

Opciones de PHP

--enable-maintainer-mode

Habilita las reglas y dependencias de Make, que no son útiles (y en ocasiones son confusas) para el usuario habitual.

--with-config-file-path=PATH

Establece la ruta a seguir para php.ini, el valor por defecto es /PREFIX/lib.

--enable-safe-mode

Habilita safe mode por defecto.

Advertencia

Esta característica ha sido declarada OBSOLETA desde PHP 5.3.0 y ELIMINADA a partir de PHP 5.4.0.

--with-exec-dir[=DIR]

Solo permite ejecutables en DIR cuando safe mode está por defecto a /usr/local/php/bin.

Advertencia

Esta característica ha sido declarada OBSOLETA desde PHP 5.3.0 y ELIMINADA a partir de PHP 5.4.0.

--enable-magic-quotes

Habilita magic quotes por defecto.

Advertencia

Esta característica ha sido declarada OBSOLETA desde PHP 5.3.0 y ELIMINADA a partir de PHP 5.4.0.

--disable-short-tags

Deshabilita la forma corta de la etiqueta de inicio php <? por defecto.

--enable-zend-multibyte

Habilita código multibyte en el analizador y el escáner de lenguaje PHP para ser ejecutado. Cuando PHP se compila con esta opción, también habilita la directiva encoding en el constructor declare.

Advertencia

Esta característica ha sido declarada OBSOLETA desde PHP 5.3.0 y ELIMINADA a partir de PHP 5.4.0.

--with-libdir

Especifica el directorio en el que están las librerías para compilar PHP en un sistema Unix. Para sistemas de 64 bits, es necesario especificar este argumento para poder usar el directorio lib64: --with-libdir=lib64.

Opciones SAPI

La siguiente lista contiene los SAPI&s disponibles ( Server Application Programming Interface) para PHP.

--with-aolserver=DIR

Especifica la ruta donde está AOLserver.

--with-apxs[=FILE]

Crea un módulo compartido de Apache. FILE es la ruta opcional de la herramienta Apache apxs, por defecto a apxs. Asegúrese de especificar la versión de apxs que está instalada en su sistema y NO la que está en los fuentes de Apache.

--with-apache[=DIR]

Crea un módulo estático de Apache. DIR es el directorio de Apache, por defecto es /usr/local/apache.

--with-mod_charset

Habilita la tranferencia de tablas para mod_charset (Apache en Ruso).

--with-apxs2[=FILE]

Crea un módulo compartido de Apache 2.0. FILE es la ruta opcional a la herramienta apxs, por defecto a apxs.

--with-caudium=DIR

Crea PHP como un módulo Pike para ser usado con Caudium. DIR es el directorio del servidor Caudium, con el valor por defecto /usr/local/caudium/server.

--disable-cli

Disponible con PHP 4.3.0. Deshabilita la versión CLI de PHP (esto fuerza--without-pear). Para mayor información, vea la sección acerca de Usando PHP desde la línea de comando.

--enable-embed[=TYPE]

Habilita la creación de la librería SAPI. TYPE es shared o static, el valor por defecto es shared. Disponible con PHP 4.3.0.

--with-fhttpd[=DIR]

Crea el módulo fhttpd. DIR es el directorio fuente de fhttpd, que es por defecto /usr/local/src/fhttpd. Ya no está disponible desde PHP 4.3.0.

--with-isapi=DIR

Crea PHP como un módulo ISAPI para ser usado con Zeus.

--with-nsapi=DIR

Especifica la ruta para el servidor web instalado Netscape/iPlanet/SunONE.

--with-phttpd=DIR

No hay información disponible.

--with-pi3web=DIR

Crea PHP como un módulo para ser usado con Pi3Web.

--with-roxen=DIR

Crea PHP como un módulo Pike. DIR es el directorio base de Roxen, normalmente /usr/local/roxen/server.

--enable-roxen-zts

Crea el modulo Roxen usando Zend Thread Safety..

--with-servlet[=DIR]

Incluye soporte para servlet. DIR es el directorio base de instalación de JDSK. Este SAPI requiere que la extensión de java sea creada como un dl compartido.

--with-thttpd=SRCDIR

Crea PHP como un modulo thttpd.

--with-tux=MODULEDIR

Crea PHP como un módulo TUX (solo Linux).

--with-webjames=SRCDIR

Crea PHP como un módulo WebJames (solo RISC OS).

--disable-cgi

Desabilita la creación CGI de PHP. Disponible con PHP 4.3.0.

Desde PHP 5.3.0 este argumento habilita FastCGI mientras que anteriormente se tenía que activar usando --enable-fastcgi.

--enable-force-cgi-redirect

Habilita el chequeo de seguridad para redirecciones internas del servidor. Debe usar esta opción si esta ejecutando la versión CGI con Apache.

Desde PHP 5.3.0 este argumento está habilitado por defecto y ya no existe. Para deshabilitarlo se debe definir la directiva ini cgi.force_redirect a 0.

--enable-discard-path

Si esta opción está habilitada, el binario CGI de PHP puede, de manera segura, ser puesto fuera de la trayectoria web y los usuarios no podrán evitar la seguridad de .htaccess.

Desde PHP 5.3.0 este argumento está deshabilitado por defecto y ya no existe. Para activar esta opción la directiva ini cgi.discard_path debe estar definida como 1.

--with-fastcgi

Crea PHP como una aplicación FastCGI. Ya no está disponibles desde PHP 4.3.0, en lugar de esta debe usar --enable-fastcgi .

--enable-fastcgi

Si esta opción está activada, el modulo CGI será construido también con soporte para FastCGI. Disponible desde PHP 4.3.0

Desde PHP 5.3.0 este argumento ya no existe y debe ser habilitado usando --enable-cgi en su lugar.

--disable-path-info-check

Si esta opción esta deshabilitada, las rutas, tales como /info.php/test?a=b fallarán. Disponible desde PHP 4.3.0. Para mas información vea el » Manual de Apache.

Opciones de configuración
Directivas de php.ini
Opciones de configuración


Directivas de php.ini

Tabla de contenidos

  • Lista de directivas de php.ini
  • Lista de secciones de php.ini
  • Descripción de las directivas del núcleo de php.ini
Listado de opciones de configuración del núcleo
Lista de directivas de php.ini
Apéndices


Lista de directivas de php.ini

Este listado incluye las directivas de php.ini que se pueden establecer en el fichero de configuración de PHP.

La columna "Cambiable" muestra los modos que determinan cuándo y dónde una directiva puede ser establecida. Véase la sección Valores de modo cambiable para sus definiciones.

Opciones de configuración
Nombre | Por defecto | Cambiable | Historial de cambios
allow_call_time_pass_reference | "1" | PHP_INI_PERDIR | PHP_INI_ALL en PHP 4.0.0. Eliminada en PHP 5.4.0.
allow_url_fopen | "1" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 4.3.4.
allow_url_include | "0" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP 5. Disponible desde PHP 5.2.0.
always_populate_raw_post_data | "0" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3. Disponible desde PHP 4.1.0.
apc.cache_by_default | "1" | PHP_INI_ALL | PHP_INI_SYSTEM en APC <= 3.0.12. Disponible desde APC 3.0.0.
apc.enabled | "1" | PHP_INI_SYSTEM | PHP_INI_SYSTEM en APC 2. PHP_INI_ALL en APC <= 3.0.12.
apc.enable_cli | "0" | PHP_INI_SYSTEM | Disponible desde APC 3.0.7.
apc.file_update_protection | "2" | PHP_INI_SYSTEM | Disponible desde APC 3.0.6.
apc.filters | NULL | PHP_INI_SYSTEM |
apc.gc_ttl | "3600" | PHP_INI_SYSTEM |
apc.include_once_override | "0" | PHP_INI_SYSTEM | Disponible desde APC 3.0.12.
apc.localcache | "0" | PHP_INI_SYSTEM | Disponible desde APC 3.0.14.
apc.localcache.size | "512" | PHP_INI_SYSTEM | Disponible desde APC 3.0.14.
apc.max_file_size | "1M" | PHP_INI_SYSTEM | Disponible desde APC 3.0.7.
apc.mmap_file_mask | NULL | PHP_INI_SYSTEM |
apc.num_files_hint | "1000" | PHP_INI_SYSTEM |
apc.optimization | "0" | PHP_INI_ALL | PHP_INI_SYSTEM en APC 2. Eliminada en APC 3.0.13.
apc.report_autofilter | "0" | PHP_INI_SYSTEM | Disponible desde APC 3.0.11.
apc.rfc1867 | "0" | PHP_INI_SYSTEM | Disponible desde APC 3.0.13.
apc.rfc1867_freq | "0" | PHP_INI_SYSTEM |
apc.rfc1867_name | "APC_UPLOAD_PROGRESS" | PHP_INI_SYSTEM |
apc.rfc1867_prefix | "upload_" | PHP_INI_SYSTEM |
apc.shm_segments | "1" | PHP_INI_SYSTEM |
apc.shm_size | "30" | PHP_INI_SYSTEM |
apc.slam_defense | "0" | PHP_INI_SYSTEM | Disponible desde APC 3.0.0.
apc.stat | "1" | PHP_INI_SYSTEM | Disponible desde APC 3.0.10.
apc.stat_ctime | "0" | PHP_INI_SYSTEM | Disponible desde APC 3.0.13.
apc.ttl | "0" | PHP_INI_SYSTEM | Disponible desde APC 3.0.0.
apc.user_entries_hint | "4096" | PHP_INI_SYSTEM | Disponible desde APC 3.0.0.
apc.user_ttl | "0" | PHP_INI_SYSTEM | Disponible desde APC 3.0.0.
apc.write_lock | "1" | PHP_INI_SYSTEM | Disponible desde APC 3.0.11.
apd.bitmask | "0" | PHP_INI_ALL | Eliminada en apd 0.9.
apd.dumpdir | NULL | PHP_INI_ALL |
apd.statement_tracing | "0" | PHP_INI_ALL | Disponible desde apd 0.9.
arg_separator | "&" | PHP_INI_ALL | Eliminada en PHP 4.0.6.
arg_separator.input | "&" | PHP_INI_PERDIR | Disponible desde PHP 4.0.5.
arg_separator.output | "&" | PHP_INI_ALL | Disponible desde PHP 4.0.5.
asp_tags | "0" | PHP_INI_PERDIR | PHP_INI_ALL en PHP 4.0.0.
assert.active | "1" | PHP_INI_ALL |
assert.bail | "0" | PHP_INI_ALL |
assert.callback | NULL | PHP_INI_ALL |
assert.quiet_eval | "0" | PHP_INI_ALL |
assert.warning | "1" | PHP_INI_ALL |
async_send | "0" | PHP_INI_ALL | Disponible desde PHP 4.2.0. Eliminada en PHP 4.3.0.
auto_append_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3.
auto_detect_line_endings | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
auto_globals_jit | "1" | PHP_INI_PERDIR | Disponible desde PHP 5.0.0.
auto_prepend_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3.
axis2.client_home | "~/work/axisc/c/deply" | PHP_INI_ALL |
axis2.enable_exception | "1" | PHP_INI_ALL |
axis2.enable_trace | "1" | PHP_INI_ALL |
axis2.log_path | "/tmp" | PHP_INI_ALL |
bcmath.scale | "0" | PHP_INI_ALL |
bcompiler.enabled | "1" | PHP_INI_ALL | Disponible desde bcompiler 0.8.
blenc.key_file | "/usr/local/etc/blenckeys" | PHP_INI_ALL |
browscap | NULL | PHP_INI_SYSTEM |
cgi.check_shebang_line | "1" | PHP_INI_SYSTEM | Disponible desde PHP 5.2.1.
cgi.discard_path | "0" | PHP_INI_SYSTEM | Disponible desde PHP 5.3.0.
cgi.fix_pathinfo | "1" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 5.2.0. Disponible desde PHP 4.3.0.
cgi.force_redirect | "1" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 5.2.0. Disponible desde PHP 4.2.0.
cgi.nph | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.5.
cgi.redirect_status_env | NULL | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 5.2.0. Disponible desde PHP 4.2.0.
cgi.rfc2616_headers | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
child_terminate | "0" | PHP_INI_ALL | Disponible desde PHP 4.0.5.
cli.pager | "" | PHP_INI_ALL | Disponible desde PHP 5.4.0.
cli.prompt | "\\b \\> " | PHP_INI_ALL | Disponible desde PHP 5.4.0.
cli_server.color | "0" | PHP_INI_ALL | Disponible desde PHP 5.4.0.
coin_acceptor.autoreset | "On" | PHP_INI_ALL | Eliminada en coin_acceptor 0.2.
coin_acceptor.auto_initialize | "Off" | PHP_INI_ALL | Disponible desde coin_acceptor 0.2.
coin_acceptor.auto_reset | "On" | PHP_INI_ALL | Disponible desde coin_acceptor 0.2.
coin_acceptor.command_function | "Off" | PHP_INI_ALL | Disponible desde coin_acceptor 0.3.
coin_acceptor.delay | "53132" | PHP_INI_ALL | Eliminada en coin_acceptor 0.2.
coin_acceptor.delay_coins | "53132" | PHP_INI_ALL | Disponible desde coin_acceptor 0.2.
coin_acceptor.delay_prom | "55748" | PHP_INI_ALL | Disponible desde coin_acceptor 0.2.
coin_acceptor.device | "/dev/ttyS1" | PHP_INI_ALL | Eliminada en coin_acceptor 0.2.
coin_acceptor.lock_on_close | "Off" | PHP_INI_ALL | Disponible desde coin_acceptor 0.2.
coin_acceptor.start_unlocked | "On" | PHP_INI_ALL | Disponible desde coin_acceptor 0.2.
com.allow_dcom | "0" | PHP_INI_SYSTEM | Disponible desde PHP 4.0.5.
com.autoregister_casesensitive | "1" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP 4. Disponible desde PHP 4.1.0.
com.autoregister_typelib | "0" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP 4. Disponible desde PHP 4.1.0.
com.autoregister_verbose | "0" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP 4. Disponible desde PHP 4.1.0.
com.code_page | "" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
com.typelib_file | "" | PHP_INI_SYSTEM | Disponible desde PHP 4.0.5.
crack.default_dictionary | NULL | PHP_INI_PERDIR | PHP_INI_SYSTEM en crack <= 0.2. Disponible desde PHP 4.0.5. Eliminada en PHP 5.0.0.
curl.cainfo | NULL | PHP_INI_SYSTEM | Disponible desde PHP 5.3.7.
daffodildb.default_host | "localhost" | PHP_INI_ALL |
daffodildb.default_password | "daffodil" | PHP_INI_ALL |
daffodildb.default_socket | NULL | PHP_INI_ALL |
daffodildb.default_user | "DAFFODIL" | PHP_INI_ALL |
daffodildb.port | "3456" | PHP_INI_ALL |
date.default_latitude | "31.7667" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
date.default_longitude | "35.2333" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
date.sunrise_zenith | "90.583333" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
date.sunset_zenith | "90.583333" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
date.timezone | "" | PHP_INI_ALL | Disponible desde PHP 5.1.0.
dba.default_handler | "" | PHP_INI_ALL | Disponible desde PHP 4.3.3.
dbx.colnames_case | "unchanged" | PHP_INI_SYSTEM | Disponible desde PHP 4.3.0. Eliminada en PHP 5.1.0.
default_charset | "" | PHP_INI_ALL |
default_mimetype | "text/html" | PHP_INI_ALL |
default_socket_timeout | "60" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
define_syslog_variables | "0" | PHP_INI_ALL | Eliminada en PHP 5.4.0.
detect_unicode | "1" | PHP_INI_ALL | Disponible desde PHP 5.1.0. Esta característica obsoleta será eliminada con certeza en el futuro.
disable_classes | "" | php.ini only | Disponible desde PHP 4.3.2.
disable_functions | "" | php.ini only | Disponible desde PHP 4.0.1.
display_errors | "1" | PHP_INI_ALL |
display_startup_errors | "0" | PHP_INI_ALL | Disponible desde PHP 4.0.3.
docref_ext | "" | PHP_INI_ALL | Disponible desde PHP 4.3.2.
docref_root | "" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
doc_root | NULL | PHP_INI_SYSTEM |
enable_dl | "1" | PHP_INI_SYSTEM | Esta característica obsoleta será eliminada con certeza en el futuro.
enable_post_data_reading | On | PHP_INI_PERDIR | Disponible desde PHP 5.4.0.
engine | "1" | PHP_INI_ALL | Disponible desde PHP 4.0.5.
error_append_string | NULL | PHP_INI_ALL |
error_log | NULL | PHP_INI_ALL |
error_prepend_string | NULL | PHP_INI_ALL |
error_reporting | NULL | PHP_INI_ALL |
exif.decode_jis_intel | "JIS" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
exif.decode_jis_motorola | "JIS" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
exif.decode_unicode_intel | "UCS-2LE" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
exif.decode_unicode_motorola | "UCS-2BE" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
exif.encode_jis | "" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
exif.encode_unicode | "ISO-8859-15" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
exit_on_timeout | "" | PHP_INI_ALL | Disponible desde PHP 5.3.0
expect.logfile | "" | PHP_INI_ALL |
expect.loguser | "1" | PHP_INI_ALL |
expect.timeout | "10" | PHP_INI_ALL |
expose_php | "1" | php.ini only |
extension | NULL | php.ini only |
extension_dir | "/path/to/php" | PHP_INI_SYSTEM |
fastcgi.impersonate | "0" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 5.2.0. Disponible desde PHP 4.3.0.
fastcgi.logging | "1" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 5.2.0. Disponible desde PHP 4.4.0.
fbsql.allow_persistant | "1" | PHP_INI_SYSTEM | Disponible desde PHP 4.0.6. Eliminada en PHP 4.2.0.
fbsql.allow_persistent | "1" | PHP_INI_SYSTEM | Disponible desde PHP 4.2.0.
fbsql.autocommit | "1" | PHP_INI_SYSTEM | Disponible desde PHP 4.0.6.
fbsql.batchSize | "1000" | PHP_INI_SYSTEM | Disponible desde PHP 4.2.0. Eliminada en PHP 5.1.0.
fbsql.batchsize | "1000" | PHP_INI_ALL | Disponible desde PHP 5.1.0.
fbsql.default_database | "" | PHP_INI_SYSTEM | Disponible desde PHP 4.0.6.
fbsql.default_database_password | "" | PHP_INI_SYSTEM | Disponible desde PHP 4.0.6.
fbsql.default_host | NULL | PHP_INI_SYSTEM | Disponible desde PHP 4.0.6.
fbsql.default_password | "" | PHP_INI_SYSTEM | Disponible desde PHP 4.0.6.
fbsql.default_user | "_SYSTEM" | PHP_INI_SYSTEM | Disponible desde PHP 4.0.6.
fbsql.generate_warnings | "0" | PHP_INI_SYSTEM | Disponible desde PHP 4.0.6.
fbsql.max_connections | "128" | PHP_INI_SYSTEM | Disponible desde PHP 4.0.6.
fbsql.max_links | "128" | PHP_INI_SYSTEM | Disponible desde PHP 4.0.6.
fbsql.max_persistent | "-1" | PHP_INI_SYSTEM | Disponible desde PHP 4.0.6.
fbsql.max_results | "128" | PHP_INI_SYSTEM | Disponible desde PHP 4.0.6.
fbsql.mbatchSize | "1000" | PHP_INI_SYSTEM | Disponible desde PHP 4.0.6. Eliminada en PHP 4.2.0.
fbsql.show_timestamp_decimals | "0" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.5.
file_uploads | "1" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 4.2.3. Disponible desde PHP 4.0.3.
filter.default | "unsafe_raw" | PHP_INI_PERDIR | PHP_INI_ALL en filter <= 0.9.4. Disponible desde PHP 5.2.0.
filter.default_flags | NULL | PHP_INI_PERDIR | PHP_INI_ALL en filter <= 0.9.4. Disponible desde PHP 5.2.0.
from | "" | PHP_INI_ALL |
gd.jpeg_ignore_warning | "0" | PHP_INI_ALL | Disponible desde PHP 5.1.3.
geoip.custom_directory | NULL | PHP_INI_ALL | Disponible desde geoip 1.0.1.
geoip.database_standard | "GeoIP.dat" | PHP_INI_ALL | Eliminada en geoip 1.0.1.
gpc_order | "GPC" | PHP_INI_ALL | Eliminada en PHP 5.0.0.
hidef.ini_path | (char*)default_ini_path | PHP_INI_SYSTEM |
highlight.bg | "#FFFFFF" | PHP_INI_ALL | Eliminada en PHP 5.4.0.
highlight.comment | "#FF8000" | PHP_INI_ALL |
highlight.default | "#0000BB" | PHP_INI_ALL |
highlight.html | "#000000" | PHP_INI_ALL |
highlight.keyword | "#007700" | PHP_INI_ALL |
highlight.string | "#DD0000" | PHP_INI_ALL |
html_errors | "1" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP <= 4.2.3. Disponible desde PHP 4.0.2.
htscanner.config_file | ".htaccess" | PHP_INI_SYSTEM |
htscanner.default_docroot | "/" | PHP_INI_SYSTEM |
htscanner.default_ttl | "300" | PHP_INI_SYSTEM | Disponible desde htscanner 0.6.0.
htscanner.stop_on_error | "0" | PHP_INI_SYSTEM | Disponible desde htscanner 0.7.0.
http.allowed_methods | "" | PHP_INI_ALL | Disponible desde pecl_http 0.4.0. Eliminada en pecl_http 1.0.0.
http.allowed_methods_log | "" | PHP_INI_ALL | Disponible desde pecl_http 0.12.0. Eliminada en pecl_http 1.0.0.
http.cache_log | "" | PHP_INI_ALL | Disponible desde pecl_http 0.8.0. Eliminada en pecl_http 1.0.0.
http.composite_log | "" | PHP_INI_ALL | Disponible desde pecl_http 0.12.0. Eliminada en pecl_http 1.0.0.
http.etag.mode | "MD5" | PHP_INI_ALL | Disponible desde pecl_http 1.0.0.
http.etag_mode | "MD5" | PHP_INI_ALL | Disponible desde pecl_http 0.12.0. Eliminada en pecl_http 1.0.0.
http.force_exit | "1" | PHP_INI_ALL | Disponible desde pecl_http 0.18.0.
http.log.allowed_methods | "" | PHP_INI_ALL | Disponible desde pecl_http 1.0.0.
http.log.cache | "" | PHP_INI_ALL | Disponible desde pecl_http 1.0.0.
http.log.composite | "" | PHP_INI_ALL | Disponible desde pecl_http 1.0.0.
http.log.not_found | "" | PHP_INI_ALL | Disponible desde pecl_http 1.0.0.
http.log.redirect | "" | PHP_INI_ALL | Disponible desde pecl_http 1.0.0.
http.ob_deflate_auto | "0" | PHP_INI_PERDIR | Disponible desde pecl_http 0.21.0. Eliminada en pecl_http 1.0.0.
http.ob_deflate_flags | "0" | PHP_INI_ALL | Disponible desde pecl_http 0.21.0. Eliminada en pecl_http 1.0.0.
http.ob_inflate_auto | "0" | PHP_INI_PERDIR | Disponible desde pecl_http 0.21.0. Eliminada en pecl_http 1.0.0.
http.ob_inflate_flags | "0" | PHP_INI_ALL | Disponible desde pecl_http 0.21.0. Eliminada en pecl_http 1.0.0.
http.only_exceptions | "0" | PHP_INI_ALL | Disponible desde pecl_http 0.11.0.
http.persistent.handles.ident | "GLOBAL" | PHP_INI_ALL | Disponible desde pecl_http 1.5.0.
http.persistent.handles.limit | "-1" | PHP_INI_SYSTEM | Disponible desde pecl_http 1.5.0.
http.redirect_log | "" | PHP_INI_ALL | Disponible desde pecl_http 0.12.0. Eliminada en pecl_http 1.0.0.
http.request.datashare.connect | "0" | PHP_INI_SYSTEM | Disponible desde pecl_http 1.3.0.
http.request.datashare.cookie | "0" | PHP_INI_SYSTEM | Disponible desde pecl_http 1.3.0.
http.request.datashare.dns | "1" | PHP_INI_SYSTEM | Disponible desde pecl_http 1.3.0.
http.request.datashare.ssl | "0" | PHP_INI_SYSTEM | Disponible desde pecl_http 1.3.0.
http.request.methods.allowed | "" | PHP_INI_ALL | Disponible desde pecl_http 1.0.0.
http.request.methods.custom | "" | PHP_INI_PERDIR | Disponible desde pecl_http 1.0.0.
http.send.deflate.start_auto | "0" | PHP_INI_PERDIR | Disponible desde pecl_http 1.0.0.
http.send.deflate.start_flags | "0" | PHP_INI_ALL | Disponible desde pecl_http 1.0.0.
http.send.inflate.start_auto | "0" | PHP_INI_PERDIR | Disponible desde pecl_http 1.0.0.
http.send.inflate.start_flags | "0" | PHP_INI_ALL | Disponible desde pecl_http 1.0.0.
http.send.not_found_404 | "1" | PHP_INI_ALL | Disponible desde pecl_http 1.0.0.
hyerwave.allow_persistent | "0" | PHP_INI_SYSTEM | Eliminada en PHP 4.3.2.
hyperwave.allow_persistent | "0" | PHP_INI_SYSTEM | Disponible desde PHP 4.3.2. Eliminada en PHP 5.0.0.
hyperwave.default_port | "418" | PHP_INI_ALL | Eliminada en PHP 5.0.0.
ibase.allow_persistent | "1" | PHP_INI_SYSTEM |
ibase.dateformat | "%Y-%m-%d" | PHP_INI_ALL |
ibase.default_charset | NULL | PHP_INI_ALL | Disponible desde PHP 5.0.0.
ibase.default_db | NULL | PHP_INI_SYSTEM | Disponible desde PHP 5.0.0.
ibase.default_password | NULL | PHP_INI_ALL |
ibase.default_user | NULL | PHP_INI_ALL |
ibase.max_links | "-1" | PHP_INI_SYSTEM |
ibase.max_persistent | "-1" | PHP_INI_SYSTEM |
ibase.timeformat | "%H:%M:%S" | PHP_INI_ALL |
ibase.timestampformat | "%Y-%m-%d %H:%M:%S" | PHP_INI_ALL |
ibm_db2.binmode | "1" | PHP_INI_ALL |
ibm_db2.i5_all_pconnect | "0" | PHP_INI_SYSTEM | Disponible desde ibm_db2 1.6.5.
ibm_db2.i5_allow_commit | "0" | PHP_INI_SYSTEM | Disponible desde ibm_db2 1.4.9.
ibm_db2.i5_dbcs_alloc | "0" | PHP_INI_SYSTEM | Disponible desde ibm_db2 1.5.0.
ibm_db2.instance_name | NULL | PHP_INI_SYSTEM | Disponible desde ibm_db2 1.0.2.
ibm_db2.i5_ignore_userid | "0" | PHP_INI_SYSTEM | Disponible desde ibm_db2 1.8.0.
iconv.input_encoding | "ISO-8859-1" | PHP_INI_ALL | Disponible desde PHP 4.0.5.
iconv.internal_encoding | "ISO-8859-1" | PHP_INI_ALL | Disponible desde PHP 4.0.5.
iconv.output_encoding | "ISO-8859-1" | PHP_INI_ALL | Disponible desde PHP 4.0.5.
ifx.allow_persistent | "1" | PHP_INI_SYSTEM | Eliminada en PHP 5.2.1.
ifx.blobinfile | "1" | PHP_INI_ALL | Eliminada en PHP 5.2.1.
ifx.byteasvarchar | "0" | PHP_INI_ALL | Eliminada en PHP 5.2.1.
ifx.charasvarchar | "0" | PHP_INI_ALL | Eliminada en PHP 5.2.1.
ifx.default_host | NULL | PHP_INI_SYSTEM | Eliminada en PHP 5.2.1.
ifx.default_password | NULL | PHP_INI_SYSTEM | Eliminada en PHP 5.2.1.
ifx.default_user | NULL | PHP_INI_SYSTEM | Eliminada en PHP 5.2.1.
ifx.max_links | "-1" | PHP_INI_SYSTEM | Eliminada en PHP 5.2.1.
ifx.max_persistent | "-1" | PHP_INI_SYSTEM | Eliminada en PHP 5.2.1.
ifx.nullformat | "0" | PHP_INI_ALL | Eliminada en PHP 5.2.1.
ifx.textasvarchar | "0" | PHP_INI_ALL | Eliminada en PHP 5.2.1.
ignore_repeated_errors | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
ignore_repeated_source | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
ignore_user_abort | "0" | PHP_INI_ALL |
imlib2.font_cache_max_size | "524288" | PHP_INI_ALL |
imlib2.font_path | "/usr/share/php/fonts/" | PHP_INI_ALL |
implicit_flush | "0" | PHP_INI_ALL | PHP_INI_PERDIR en PHP <= 4.2.3.
include_path | ".;/path/to/php/pear" | PHP_INI_ALL |
intl.default_locale | "" | PHP_INI_ALL | Disponible desde PHP 5.3.0.
intl.error_level | "0" | PHP_INI_ALL | Disponible desde PHP 5.3.0.
intl.use_exceptions | "0" | PHP_INI_ALL | Disponible desde PHP 5.3.0.
ingres.allow_persistent | "1" | PHP_INI_SYSTEM | Disponible desde ingres 1.0.0
ingres.array_index_start | "1" | PHP_INI_ALL | Disponible desde ingres 1.4.0
ingres.auto | "1" | PHP_INI_ALL | Disponible desde ingres 2.0.0.
ingres.blob_segment_length | "4096" | PHP_INI_ALL | Disponible desde ingres 1.2.0.
ingres.cursor_mode | "0" | PHP_INI_ALL | Disponible desde ingres 1.1.0.
ingres.default_database | NULL | PHP_INI_ALL | Disponible desde ingres 1.0.0
ingres.default_password | NULL | PHP_INI_ALL | Disponible desde ingres 1.0.0
ingres.default_user | NULL | PHP_INI_ALL | Disponible desde ingres 1.0.0
ingres.describe | 1 | PHP_INI_ALL | Disponible desde ingres 2.1.0
ingres.fetch_buffer_size | 100 | PHP_INI_ALL | Disponible desde ingres 2.1.0
ingres.max_links | "-1" | PHP_INI_SYSTEM | Disponible desde ingres 1.0.0
ingres.max_persistent | "-1" | PHP_INI_SYSTEM | Disponible desde ingres 1.0.0
ingres.reuse_connection | "1" | PHP_INI_ALL | Disponible desde ingres 2.0.0
ingres.scrollable | "1" | PHP_INI_ALL | Disponible desde ingres 2.0.0.
ingres.trace | "0" | PHP_INI_ALL | Disponible desde ingres 2.0.0.
ingres.trace_connect | "0" | PHP_INI_ALL | Disponible desde ingres 1.2.1.
ingres.utf8 | "1" | PHP_INI_ALL | Disponible desde ingres 2.0.0.
last_modified | "0" | PHP_INI_ALL | Disponible desde PHP 4.0.5.
ldap.base_dn | NULL | PHP_INI_ALL | Eliminada en PHP 4.2.0.
ldap.max_links | "-1" | PHP_INI_SYSTEM |
log.dbm_dir | "" | PHP_INI_ALL | Eliminada en PHP 4.0.1.
log_errors | "0" | PHP_INI_ALL |
log_errors_max_len | "1024" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
magic_quotes_gpc | "1" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3. Obsoleta en PHP 5.3.0. Eliminada en PHP 5.4.0.
magic_quotes_runtime | "0" | PHP_INI_ALL | Eliminada en PHP 5.4.0.
magic_quotes_sybase | "0" | PHP_INI_ALL | Eliminada en PHP 5.4.0.
mail.add_x_header | "0" | PHP_INI_PERDIR | Disponible desde PHP 5.3.0.
mail.force_extra_parameters | NULL | php.ini only | Disponible desde PHP 5.0.0.
mail.log | "" | PHP_INI_PERDIR | Disponible desde PHP 5.3.0 (PHP_INI_SYSTEM|PHP_INI_PERDIR).
mailparse.def_charset | "us-ascii" | PHP_INI_ALL | Disponible desde PHP 4.1.0. Eliminada en PHP 4.2.0.
maxdb.default_db | NULL | PHP_INI_ALL |
maxdb.default_host | NULL | PHP_INI_ALL |
maxdb.default_pw | NULL | PHP_INI_ALL |
maxdb.default_user | NULL | PHP_INI_ALL |
maxdb.long_readlen | "200" | PHP_INI_ALL |
max_execution_time | "30" | PHP_INI_ALL |
max_input_nesting_level | "64" | PHP_INI_PERDIR | Disponible desde PHP 4.4.8 y PHP 5.2.3.
max_input_vars | 1000 | PHP_INI_PERDIR | Disponible desde PHP 5.3.9.
max_input_time | "-1" | PHP_INI_PERDIR | Disponible desde PHP 4.3.0.
mbstring.detect_order | NULL | PHP_INI_ALL | Disponible desde PHP 4.0.6.
mbstring.encoding_translation | "0" | PHP_INI_PERDIR | Disponible desde PHP 4.3.0.
mbstring.func_overload | "0" | PHP_INI_SYSTEM | PHP_INI_SYSTEM en PHP <= 4.2.3; INI_SYSTEM | INI_PERDIR from PHP 4.3 through 5.2.6. Disponible desde PHP 4.2.0.
mbstring.http_input | "pass" | PHP_INI_ALL | Disponible desde PHP 4.0.6.
mbstring.http_output | "pass" | PHP_INI_ALL | Disponible desde PHP 4.0.6.
mbstring.internal_encoding | NULL | PHP_INI_ALL | Disponible desde PHP 4.0.6.
mbstring.language | "neutral" | PHP_INI_ALL | Disponible desde PHP 4.3.0.; INI_PERDIR en PHP <= 5.2.6
mbstring.script_encoding | NULL | PHP_INI_ALL | Disponible desde PHP 4.3.0.
mbstring.http_output_conv_mimetypes | "^(text/|application/xhtml\+xml)" | PHP_INI_ALL | Disponible desde PHP 5.3.0.
mbstring.strict_detection | "0" | PHP_INI_ALL | Disponible desde PHP 5.1.2.
mbstring.substitute_character | NULL | PHP_INI_ALL | Disponible desde PHP 4.0.6.
mcrypt.algorithms_dir | NULL | PHP_INI_ALL | Disponible desde PHP 4.0.2.
mcrypt.modes_dir | NULL | PHP_INI_ALL | Disponible desde PHP 4.0.2.
memcache.allow_failover | "1" | PHP_INI_ALL | Disponible desde memcache 2.0.2.
memcache.chunk_size | "8192" | PHP_INI_ALL | Disponible desde memcache 2.0.2.
memcache.default_port | "11211" | PHP_INI_ALL | Disponible desde memcache 2.0.2.
memcache.hash_function | "crc32" | PHP_INI_ALL | Disponible desde memcache 2.2.0.
memcache.hash_strategy | "standard" | PHP_INI_ALL | Disponible desde memcache 2.2.0.
memcache.max_failover_attempts | "20" | PHP_INI_ALL | Disponible desde memcache 2.1.0.
memory_limit | "128M" | PHP_INI_ALL |
mime_magic.debug | "0" | PHP_INI_SYSTEM | Disponible desde PHP 5.0.0.
mime_magic.magicfile | "/path/to/php/magic.mime" | PHP_INI_SYSTEM | Disponible desde PHP 4.3.0.
mongo.allow_empty_keys | 0 | PHP_INI_ALL |
mongo.allow_persistent | 1 | PHP_INI_ALL | Eliminado en 1.2.0
mongo.chunk_size | 262144 | PHP_INI_ALL |
mongo.cmd | "$" | PHP_INI_ALL |
mongo.default_host | "localhost" | PHP_INI_ALL |
mongo.default_port | 27017 | PHP_INI_ALL |
mongo.is_master_interval | 15 | PHP_INI_ALL | Añadido en 1.2.10, antes de 1.3.0 el valor predeterminado era 60.
mongo.long_as_object | o | PHP_INI_ALL |
mongo.native_long | 0* | PHP_INI_ALL |
mongo.ping_interval | 5 | PHP_INI_ALL | Añadido en 1.2.10
mongo.utf8 | 1 | PHP_INI_ALL |
msql.allow_persistent | "1" | PHP_INI_ALL |
msql.max_links | "-1" | PHP_INI_ALL |
msql.max_persistent | "-1" | PHP_INI_ALL |
mssql.allow_persistent | "1" | PHP_INI_SYSTEM |
mssql.batchsize | "0" | PHP_INI_ALL | Disponible desde PHP 4.0.4.
mssql.charset | "" | PHP_INI_ALL | Disponible desde PHP 5.1.2.
mssql.compatability_mode | "0" | PHP_INI_ALL |
mssql.connect_timeout | "5" | PHP_INI_ALL |
mssql.datetimeconvert | "1" | PHP_INI_ALL | Disponible desde PHP 4.2.0.
mssql.max_links | "-1" | PHP_INI_SYSTEM |
mssql.max_persistent | "-1" | PHP_INI_SYSTEM |
mssql.max_procs | "-1" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
mssql.min_error_severity | "10" | PHP_INI_ALL |
mssql.min_message_severity | "10" | PHP_INI_ALL |
mssql.secure_connection | "0" | PHP_INI_SYSTEM | Disponible desde PHP 4.3.0.
mssql.textlimit | "-1" | PHP_INI_ALL |
mssql.textsize | "-1" | PHP_INI_ALL |
mssql.timeout | "60" | PHP_INI_ALL | Disponible desde PHP 4.1.0.
mysql.allow_local_infile | "1" | PHP_INI_SYSTEM |
mysql.allow_persistent | "1" | PHP_INI_SYSTEM |
mysql.max_persistent | "-1" | PHP_INI_SYSTEM |
mysql.max_links | "-1" | PHP_INI_SYSTEM |
mysql.trace_mode | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
mysql.default_port | NULL | PHP_INI_ALL |
mysql.default_socket | NULL | PHP_INI_ALL | Disponible desde PHP 4.0.1.
mysql.default_host | NULL | PHP_INI_ALL |
mysql.default_user | NULL | PHP_INI_ALL |
mysql.default_password | NULL | PHP_INI_ALL |
mysql.connect_timeout | "60" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP <= 4.3.2. Disponible desde PHP 4.3.0.
mysqli.allow_local_infile | "1" | PHP_INI_SYSTEM | Disponible desde PHP 5.2.4.
mysqli.allow_persistent | "1" | PHP_INI_SYSTEM | Disponible desde PHP 5.3.0.
mysqli.max_persistent | "-1" | PHP_INI_SYSTEM | Disponible desde PHP 5.3.0.
mysqli.max_links | "-1" | PHP_INI_SYSTEM | Disponible desde PHP 5.0.0.
mysqli.default_port | "3306" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
mysqli.default_socket | NULL | PHP_INI_ALL | Disponible desde PHP 5.0.0.
mysqli.default_host | NULL | PHP_INI_ALL | Disponible desde PHP 5.0.0.
mysqli.default_user | NULL | PHP_INI_ALL | Disponible desde PHP 5.0.0.
mysqli.default_pw | NULL | PHP_INI_ALL | Disponible desde PHP 5.0.0.
mysqli.reconnect | "0" | PHP_INI_SYSTEM | Disponible desde PHP 4.3.5.
mysqli.cache_size | "2000" | PHP_INI_SYSTEM | Disponible desde PHP 5.3.0.
mysqlnd.collect_memory_statistics | "0" | PHP_INI_SYSTEM | Disponible desde PHP 5.3.0.
mysqlnd.collect_statistics | "1" | PHP_INI_ALL | Available since PHP 5.3.0.
mysqlnd.debug | "" | PHP_INI_SYSTEM | Disponible desde PHP 5.3.0.
mysqlnd.log_mask | "0" | PHP_INI_ALL | Disponible desde PHP 5.4.0.
mysqlnd.mempool_default_size | "16000" | PHP_INI_ALL | Disponible desde PHP 5.4.0.
mysqlnd.net_cmd_buffer_size | "4096" | PHP_INI_ALL | Disponible desde PHP 5.4.0.
mysqlnd.net_read_buffer_size | "32768" | PHP_INI_ALL | Disponible desde PHP 5.3.0.
mysqlnd.net_read_timeout | "31536000" | PHP_INI_SYSTEM | Disponible desde PHP 5.4.0.
mysqlnd.sha256_server_public_key | "" | PHP_INI_PERDIR | Disponible desde PHP 5.5.0.
mysqlnd.trace_alloc | "" | PHP_INI_SYSTEM | Disponible desde PHP 5.5.0.
mysqlnd_memcache.enable | 1 | PHP_INI_SYSTEM | Available since 1.0.0
mysqlnd_ms.enable | 0 | PHP_INI_SYSTEM |
mysqlnd_ms.force_config_usage | 0 | PHP_INI_SYSTEM |
mysqlnd_ms.ini_file | "" | PHP_INI_SYSTEM |
mysqlnd_ms.config_file | "" | PHP_INI_SYSTEM |
mysqlnd_ms.collect_statistics | 0 | PHP_INI_SYSTEM |
mysqlnd_ms.multi_master | 0 | PHP_INI_SYSTEM |
mysqlnd_ms.disable_rw_split | 0 | PHP_INI_SYSTEM |
mysqlnd_mux.enable | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.enable_qc | 1 | PHP_INI_SYSTEM |
mysqlnd_qc.ttl | 30 | PHP_INI_ALL |
mysqlnd_qc.cache_by_default | 0 | PHP_INI_ALL |
mysqlnd_qc.cache_no_table | 0 | PHP_INI_ALL |
mysqlnd_qc.use_request_time | 0 | PHP_INI_ALL |
mysqlnd_qc.time_statistics | 1 | PHP_INI_ALL |
mysqlnd_qc.collect_statistics | 0 | PHP_INI_ALL |
mysqlnd_qc.collect_statistics_log_file | /tmp/mysqlnd_qc.stats | PHP_INI_SYSTEM |
mysqlnd_qc.collect_query_trace | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.query_trace_bt_depth | 3 | PHP_INI_SYSTEM |
mysqlnd_qc.collect_normalized_query_trace | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.ignore_sql_comments | 1 | PHP_INI_ALL |
mysqlnd_qc.slam_defense | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.slam_defense_ttl | 30 | PHP_INI_SYSTEM |
mysqlnd_qc.std_data_copy | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.apc_prefix | qc_ | PHP_INI_ALL |
mysqlnd_qc.memc_server | 127.0.0.1 | PHP_INI_ALL |
mysqlnd_qc.memc_port | 11211 | PHP_INI_ALL |
mysqlnd_qc.sqlite_data_file | :memory: | PHP_INI_ALL |
mysqlnd_uh.enable | 1 | PHP_INI_SYSTEM |
mysqlnd_uh.report_wrong_types | 1 | PHP_INI_ALL |
nsapi.read_timeout | "60" | PHP_INI_ALL | Disponible desde PHP 4.3.3.
oci8.connection_class | "" | PHP_INI_ALL | Disponible desde PHP 5.3 (PECL OCI8 1.3).
oci8.default_prefetch | "10" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.2.
oci8.events | Off | PHP_INI_SYSTEM | Disponible desde PHP 5.3 (PECL OCI8 1.3).
oci8.max_persistent | "-1" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.2.
oci8.old_oci_close_semantics | "0" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.2.
oci8.persistent_timeout | "-1" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.2.
oci8.ping_interval | "60" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.2.
oci8.privileged_connect | "0" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.2.
oci8.statement_cache_size | "20" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.2.
odbc.allow_persistent | "1" | PHP_INI_SYSTEM |
odbc.check_persistent | "1" | PHP_INI_SYSTEM |
odbc.defaultbinmode | "1" | PHP_INI_ALL |
odbc.defaultlrl | "4096" | PHP_INI_ALL |
odbc.default_db | NULL | PHP_INI_ALL |
odbc.default_cursortype | "3" | PHP_INI_ALL | Disponible desde PHP 5.3.0.
odbc.default_pw | NULL | PHP_INI_ALL |
odbc.default_user | NULL | PHP_INI_ALL |
odbc.max_links | "-1" | PHP_INI_SYSTEM |
odbc.max_persistent | "-1" | PHP_INI_SYSTEM |
odbtp.datetime_format | "object" | PHP_INI_ALL |
odbtp.detach_default_queries | "0" | PHP_INI_ALL |
odbtp.guid_format | "string" | PHP_INI_ALL | Disponible desde odbtp 1.1.3.
odbtp.interface_file | "/usr/local/share/odbtp.conf" | PHP_INI_ALL |
odbtp.truncation_errors | "1" | PHP_INI_ALL |
opendirectory.default_separator | "/" | PHP_INI_ALL | Eliminada en opendirectory 0.2.2.
opendirectory.max_refs | "-1" | PHP_INI_ALL |
opendirectory.separator | "/" | PHP_INI_ALL | Disponible desde opendirectory 0.2.2.
open_basedir | NULL | PHP_INI_ALL | PHP_INI_SYSTEM en PHP < 5.2.3.
oracle.allow_persistent | "-1" | PHP_INI_ALL | Eliminada en PHP 5.1.0.
oracle.max_links | "-1" | PHP_INI_ALL | Eliminada en PHP 5.1.0.
oracle.max_persistent | "-1" | PHP_INI_ALL | Eliminada en PHP 5.1.0.
output_buffering | "0" | PHP_INI_PERDIR |
output_handler | NULL | PHP_INI_PERDIR | Disponible desde PHP 4.0.4.
pam.servicename | "php" | PHP_INI_ALL |
pcre.backtrack_limit | "1000000" | PHP_INI_ALL | Disponible desde PHP 5.2.0.
pcre.recursion_limit | "100000" | PHP_INI_ALL | Disponible desde PHP 5.2.0.
pdo.dsn.* |  | php.ini only | Disponible desde PHP 5.1.0.
pdo_odbc.connection_pooling | "strict" | PHP_INI_ALL | Disponible desde PHP 5.1.0.
pdo_odbc.db2_instance_name | NULL | PHP_INI_SYSTEM | Disponible desde PHP 5.1.1. Esta característica obsoleta será eliminada con certeza en el futuro.
pfpro.defaulthost | "test-payflow.verisign.com" | PHP_INI_ALL | Disponible desde PHP 4.0.2. Eliminada en PHP 5.1.0.
pfpro.defaultport | "443" | PHP_INI_ALL | Disponible desde PHP 4.0.2. Eliminada en PHP 5.1.0.
pfpro.defaulttimeout | "30" | PHP_INI_ALL | Disponible desde PHP 4.0.2. Eliminada en PHP 5.1.0.
pfpro.proxyaddress | "" | PHP_INI_ALL | Disponible desde PHP 4.0.2. Eliminada en PHP 5.1.0.
pfpro.proxylogon | "" | PHP_INI_ALL | Disponible desde PHP 4.0.2. Eliminada en PHP 5.1.0.
pfpro.proxypassword | "" | PHP_INI_ALL | Disponible desde PHP 4.0.2. Eliminada en PHP 5.1.0.
pfpro.proxyport | "" | PHP_INI_ALL | Disponible desde PHP 4.0.2. Eliminada en PHP 5.1.0.
pgsql.allow_persistent | "1" | PHP_INI_SYSTEM |
pgsql.auto_reset_persistent | "0" | PHP_INI_SYSTEM | Disponible desde PHP 4.2.0.
pgsql.ignore_notice | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
pgsql.log_notice | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
pgsql.max_links | "-1" | PHP_INI_SYSTEM |
pgsql.max_persistent | "-1" | PHP_INI_SYSTEM |
phar.cache_list | "" | PHP_INI_SYSTEM | Disponible desde PHP 5.4.0.
phar.extract_list | "" | PHP_INI_ALL | Disponible desde phar 1.1.0.
phar.readonly | "1" | PHP_INI_ALL |
phar.require_hash | "1" | PHP_INI_ALL |
post_max_size | "8M" | PHP_INI_PERDIR | PHP_INI_SYSTEM en PHP <= 4.2.3. Disponible desde PHP 4.0.3.
precision | "14" | PHP_INI_ALL |
printer.default_printer | "" | PHP_INI_ALL | Disponible desde PHP 4.0.6. Eliminada en PHP 4.1.1.
python.append_path | "" | PHP_INI_ALL |
python.prepend_path | "." | PHP_INI_ALL |
realpath_cache_size | "16K" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.0.
realpath_cache_ttl | "120" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.0.
register_argc_argv | "1" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3.
register_globals | "0" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3. Obsoleta en PHP 5.3.0. Eliminada en PHP 5.4.0.
register_long_arrays | "1" | PHP_INI_PERDIR | Disponible desde PHP 5.0.0. Obsoleta en PHP 5.3.0. Eliminada en PHP 5.4.0.
report_memleaks | "1" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
report_zend_debug | "1" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
request_order | "" | PHP_INI_PERDIR | Added en PHP 5.3.0
runkit.internal_override | "0" | PHP_INI_SYSTEM |
runkit.superglobal | "" | PHP_INI_PERDIR |
safe_mode | "0" | PHP_INI_SYSTEM | Eliminada en PHP 5.4.0.
safe_mode_allowed_env_vars | "" | PHP_INI_SYSTEM | Eliminada en PHP 5.4.0.
safe_mode_exec_dir | "" | PHP_INI_SYSTEM | Eliminada en PHP 5.4.0.
safe_mode_gid | "0" | PHP_INI_SYSTEM | Disponible desde PHP 4.1.0. Eliminada en PHP 5.4.0.
safe_mode_include_dir | NULL | PHP_INI_SYSTEM | Disponible desde PHP 4.1.0. Eliminada en PHP 5.4.0.
safe_mode_protected_env_vars | "LD_LIBRARY_PATH" | PHP_INI_SYSTEM | Eliminada en PHP 5.4.0.
sendmail_from | NULL | PHP_INI_ALL |
sendmail_path | "/usr/sbin/sendmail -t -i" | PHP_INI_SYSTEM |
serialize_precision | "17" | PHP_INI_ALL | Disponible desde PHP 4.3.2. Hasta PHP 5.3.5, el valor predeterminado era 100.
session.auto_start | "0" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 5.4.19 y en PHP <= 5.5.1.
session.bug_compat_42 | "1" | PHP_INI_ALL | Disponible desde PHP 4.3.0. Eliminada en PHP 5.4.0.
session.bug_compat_warn | "1" | PHP_INI_ALL | Disponible desde PHP 4.3.0. Eliminada en PHP 5.4.0.
session.cache_expire | "180" | PHP_INI_ALL |
session.cache_limiter | "nocache" | PHP_INI_ALL |
session.cookie_domain | "" | PHP_INI_ALL |
session.cookie_httponly | "" | PHP_INI_ALL | Disponible desde PHP 5.2.0.
session.cookie_lifetime | "0" | PHP_INI_ALL |
session.cookie_path | "/" | PHP_INI_ALL |
session.cookie_secure | "" | PHP_INI_ALL | Disponible desde PHP 4.0.4.
session.entropy_file | "" | PHP_INI_ALL |
session.entropy_length | "0" | PHP_INI_ALL |
session.gc_dividend | "100" | PHP_INI_ALL | Disponible desde PHP 4.3.0. Eliminada en PHP 4.3.2.
session.gc_divisor | "100" | PHP_INI_ALL | Disponible desde PHP 4.3.2.
session.gc_maxlifetime | "1440" | PHP_INI_ALL |
session.gc_probability | "1" | PHP_INI_ALL |
session.hash_bits_per_character | "4" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
session.hash_function | "0" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
session.name | "PHPSESSID" | PHP_INI_ALL |
session.referer_check | "" | PHP_INI_ALL |
session.save_handler | "files" | PHP_INI_ALL |
session.save_path | "" | PHP_INI_ALL |
session.serialize_handler | "php" | PHP_INI_ALL |
session.upload_progress.cleanup | "1" | PHP_INI_PERDIR | Disponible desde PHP 5.4.0.
session.upload_progress.enabled | "1" | PHP_INI_PERDIR | Disponible desde PHP 5.4.0.
session.upload_progress.freq | "1%" | PHP_INI_PERDIR | Disponible desde PHP 5.4.0.
session.upload_progress.min_freq | "1" | PHP_INI_PERDIR | Disponible desde PHP 5.4.0.
session.upload_progress.name | "PHP_SESSION_UPLOAD_PROGRESS" | PHP_INI_PERDIR | Disponible desde PHP 5.4.0.
session.upload_progress.prefix | "upload_progress_" | PHP_INI_PERDIR | Disponible desde PHP 5.4.0.
session.use_strict_mode | "0" | PHP_INI_ALL | Disponible desde PHP 5.5.2.
session.use_cookies | "1" | PHP_INI_ALL |
session.use_only_cookies | "1" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
session.use_trans_sid | "0" | PHP_INI_ALL | PHP_INI_ALL en PHP <= 4.2.3. INI_PERDIR en PHP < 5. Disponible desde PHP 4.0.3.
session_pgsql.create_table | "1" | PHP_INI_SYSTEM |
session_pgsql.db | "host=localhost dbname=session user=nobody" | PHP_INI_SYSTEM |
session_pgsql.disable | "0" | PHP_INI_SYSTEM |
session_pgsql.failover_mode | "0" | PHP_INI_SYSTEM |
session_pgsql.gc_interval | "3600" | PHP_INI_SYSTEM |
session_pgsql.keep_expired | "0" | PHP_INI_SYSTEM |
session_pgsql.sem_file_name | "/tmp/session_pgsql" | PHP_INI_SYSTEM |
session_pgsql.serializable | "0" | PHP_INI_SYSTEM |
session_pgsql.short_circuit | "0" | PHP_INI_SYSTEM |
session_pgsql.use_app_vars | "0" | PHP_INI_SYSTEM |
session_pgsql.vacuum_interval | "21600" | PHP_INI_SYSTEM |
short_open_tag | "1" | PHP_INI_PERDIR | PHP_INI_ALL en PHP 4.0.0. PHP_INI_PERDIR en PHP >= 4.0.1.
SMTP | "localhost" | PHP_INI_ALL |
smtp_port | "25" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
soap.wsdl_cache | "1" | PHP_INI_ALL | Disponible desde PHP 5.1.5.
soap.wsdl_cache_dir | "/tmp" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
soap.wsdl_cache_enabled | "1" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
soap.wsdl_cache_limit | "5" | PHP_INI_ALL | Disponible desde PHP 5.1.5.
soap.wsdl_cache_ttl | "86400" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
sql.safe_mode | "0" | PHP_INI_SYSTEM |
sqlite.assoc_case | "0" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
sqlite3.extension_dir | "" | PHP_INI_SYSTEM | Disponible desde PHP 5.3.11.
sybase.allow_persistent | "1" | PHP_INI_ALL | PHP_INI_ALL en PHP <= 4.0.2. INI_SYSTEM en PHP <= 4.0.3.
sybase.hostname | NULL | PHP_INI_ALL | Eliminada en PHP 4.0.2.
sybase.interface_file | "" | PHP_INI_ALL |
sybase.login_timeout | "0" | PHP_INI_ALL | Eliminada en PHP 4.0.2.
sybase.max_links | "-1" | PHP_INI_ALL | PHP_INI_ALL en PHP <= 4.0.2. INI_SYSTEM en PHP <= 4.0.3.
sybase.max_persistent | "-1" | PHP_INI_ALL | PHP_INI_ALL en PHP <= 4.0.2. INI_SYSTEM en PHP <= 4.0.3.
sybase.min_client_severity | "10" | PHP_INI_ALL | Eliminada en PHP 4.0.2.
sybase.min_error_severity | "10" | PHP_INI_ALL |
sybase.min_message_severity | "10" | PHP_INI_ALL |
sybase.min_server_severity | "10" | PHP_INI_ALL | Eliminada en PHP 4.0.2.
sybase.timeout | "0" | PHP_INI_ALL | Eliminada en PHP 4.0.2.
sybct.allow_persistent | "1" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 4.0.2. Disponible desde PHP 4.0.2. Eliminada en PHP 4.0.3.
sybct.deadlock_retry_count | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
sybct.hostname | NULL | PHP_INI_ALL | Disponible desde PHP 4.0.2. Eliminada en PHP 4.0.3.
sybct.login_timeout | "-1" | PHP_INI_ALL | Disponible desde PHP 4.0.2.
sybct.max_links | "-1" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 4.0.2. Disponible desde PHP 4.0.2. Eliminada en PHP 4.0.3.
sybct.max_persistent | "-1" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 4.0.2. Disponible desde PHP 4.0.2. Eliminada en PHP 4.0.3.
sybct.min_client_severity | "10" | PHP_INI_ALL | Disponible desde PHP 4.0.2. Eliminada en PHP 4.0.3.
sybct.min_server_severity | "10" | PHP_INI_ALL | Disponible desde PHP 4.0.2. Eliminada en PHP 4.0.3.
sybct.packet_size | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.5.
sybct.timeout | "0" | PHP_INI_ALL | Disponible desde PHP 4.0.2.
sys_temp_dir | "" | PHP_INI_SYSTEM | Disponible desde PHP 5.5.0.
sysvshm.init_mem | "10000" | PHP_INI_ALL |
tidy.clean_output | "0" | PHP_INI_USER | PHP_INI_PERDIR en PHP 5. Disponible desde PHP 5.0.0.
tidy.default_config | "" | PHP_INI_SYSTEM | Disponible desde PHP 5.0.0.
track_errors | "0" | PHP_INI_ALL |
track_vars | "1" | PHP_INI_ALL | Eliminada en PHP 4.0.3.
unserialize_callback_func | NULL | PHP_INI_ALL | Disponible desde PHP 4.2.0.
uploadprogress.file.filename_template | "/tmp/upt_%s.txt" | PHP_INI_ALL |
upload_max_filesize | "2M" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3.
max_file_uploads | 20 | PHP_INI_SYSTEM | Disponible desde PHP 5.2.12.
upload_tmp_dir | NULL | PHP_INI_SYSTEM |
url_rewriter.tags | "a=href,area=href,frame=src,form=,fieldset=" | PHP_INI_ALL | Disponible desde PHP 4.0.4.
user_agent | NULL | PHP_INI_ALL | Disponible desde PHP 4.3.0.
user_dir | NULL | PHP_INI_SYSTEM |
user_ini.cache_ttl | "300" | PHP_INI_SYSTEM | Disponible desde PHP 5.3.0.
user_ini.filename | ".user.ini" | PHP_INI_SYSTEM | Disponible desde PHP 5.3.0.
valkyrie.auto_validate | "0" | PHP_INI_ALL |
valkyrie.config_path | NULL | PHP_INI_ALL |
variables_order | "EGPCS" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 5.0.5.
vld.active | "0" | PHP_INI_SYSTEM |
vld.execute | "1" | PHP_INI_SYSTEM | Disponible desde vld 0.8.0.
vld.skip_append | "0" | PHP_INI_SYSTEM | Disponible desde vld 0.8.0.
vld.skip_prepend | "0" | PHP_INI_SYSTEM | Disponible desde vld 0.8.0.
windows.show_crt_warning | "0" | PHP_INI_ALL | Disponible desde PHP 5.5.0.
windows_show_crt_warning | "0" | PHP_INI_ALL | Disponible desde PHP 5.4.0.
xbithack | "0" | PHP_INI_ALL | Disponible desde PHP 4.0.5.
xdebug.auto_profile | "0" | PHP_INI_ALL | Eliminada en Xdebug 2.0.0.
xdebug.auto_profile_mode | "0" | PHP_INI_ALL | Eliminada en Xdebug 2.0.0.
xdebug.auto_trace | "0" | PHP_INI_ALL |
xdebug.collect_includes | "1" | PHP_INI_ALL | Disponible desde Xdebug 2.0.0.
xdebug.collect_params | "0" | PHP_INI_ALL |
xdebug.collect_return | "0" | PHP_INI_ALL | Disponible desde Xdebug 2.0.0.
xdebug.collect_vars | "0" | PHP_INI_ALL | Disponible desde Xdebug 2.0.0.
xdebug.default_enable | "1" | PHP_INI_ALL | PHP_INI_SYSTEM en Xdebug 1.
xdebug.dump.COOKIE | NULL | PHP_INI_ALL |
xdebug.dump.ENV | NULL | PHP_INI_ALL |
xdebug.dump.FILES | NULL | PHP_INI_ALL |
xdebug.dump.GET | NULL | PHP_INI_ALL |
xdebug.dump.POST | NULL | PHP_INI_ALL |
xdebug.dump.REQUEST | NULL | PHP_INI_ALL |
xdebug.dump.SERVER | NULL | PHP_INI_ALL |
xdebug.dump.SESSION | NULL | PHP_INI_ALL |
xdebug.dump_globals | "1" | PHP_INI_ALL | Disponible desde Xdebug 2.0.0.
xdebug.dump_once | "1" | PHP_INI_ALL |
xdebug.dump_undefined | "0" | PHP_INI_ALL |
xdebug.extended_info | "1" | PHP_INI_SYSTEM | Disponible desde Xdebug 2.0.0.
xdebug.idekey | "" | PHP_INI_ALL | Disponible desde Xdebug 2.0.0.
xdebug.manual_url | "http://www.php.net" | PHP_INI_ALL |
xdebug.max_nesting_level | "100" | PHP_INI_ALL |
xdebug.output_dir | "/tmp" | PHP_INI_PERDIR | PHP_INI_SYSTEM en Xdebug <= 1.2.0. Eliminada en Xdebug 2.0.0.
xdebug.profiler_aggregate | "0" | PHP_INI_PERDIR | Disponible desde Xdebug 2.0.0.
xdebug.profiler_append | "0" | PHP_INI_PERDIR | Disponible desde Xdebug 2.0.0.
xdebug.profiler_enable | "0" | PHP_INI_PERDIR | Disponible desde Xdebug 2.0.0.
xdebug.profiler_enable_trigger | "0" | PHP_INI_PERDIR | Disponible desde Xdebug 2.0.0.
xdebug.profiler_output_dir | "/tmp" | PHP_INI_PERDIR | Disponible desde Xdebug 2.0.0.
xdebug.profiler_output_name | "cachegrind.out.%p" | PHP_INI_PERDIR | Disponible desde Xdebug 2.0.0.
xdebug.remote_autostart | "0" | PHP_INI_ALL | Disponible desde Xdebug 2.0.0.
xdebug.remote_enable | "0" | PHP_INI_PERDIR |
xdebug.remote_handler | "dbgp" | PHP_INI_ALL |
xdebug.remote_host | "localhost" | PHP_INI_ALL |
xdebug.remote_log | "" | PHP_INI_ALL | Disponible desde Xdebug 2.0.0.
xdebug.remote_mode | "req" | PHP_INI_ALL |
xdebug.remote_port | "9000" | PHP_INI_ALL |
xdebug.show_exception_trace | "0" | PHP_INI_ALL | Disponible desde Xdebug 2.0.0.
xdebug.show_local_vars | "0" | PHP_INI_ALL | Disponible desde Xdebug 2.0.0.
xdebug.show_mem_delta | "0" | PHP_INI_ALL | Disponible desde Xdebug 2.0.0.
xdebug.trace_format | "0" | PHP_INI_ALL | Disponible desde Xdebug 2.0.0.
xdebug.trace_options | "0" | PHP_INI_ALL | Disponible desde Xdebug 2.0.0.
xdebug.trace_output_dir | "/tmp" | PHP_INI_ALL | Disponible desde Xdebug 2.0.0.
xdebug.trace_output_name | "trace.%c" | PHP_INI_ALL | Disponible desde Xdebug 2.0.0.
xdebug.var_display_max_children | "128" | PHP_INI_ALL | Disponible desde Xdebug 2.0.0.
xdebug.var_display_max_data | "512" | PHP_INI_ALL | Disponible desde Xdebug 2.0.0.
xdebug.var_display_max_depth | "3" | PHP_INI_ALL | Disponible desde Xdebug 2.0.0.
xmlrpc_errors | "0" | PHP_INI_SYSTEM | Disponible desde PHP 4.1.0.
xmlrpc_error_number | "0" | PHP_INI_ALL | Disponible desde PHP 4.1.0.
xmms.path | "/usr/bin/xmms" | PHP_INI_ALL |
xmms.session | "0" | PHP_INI_ALL |
xsl.security_prefs | "44" | PHP_INI_ALL | Disponible desde PHP 5.5.0.
y2k_compliance | "1" | PHP_INI_ALL | Eliminada en PHP 5.4.0.
yami.response.timeout | "5" | PHP_INI_ALL | Disponible desde yami 1.0.1.
yaz.keepalive | "120" | PHP_INI_ALL |
yaz.log_file | NULL | PHP_INI_ALL | Disponible desde PHP 4.3.0. Eliminada en PHP 5.0.0.
yaz.log_mask | NULL | PHP_INI_ALL | Disponible desde yaz 1.0.3.
yaz.max_links | "100" | PHP_INI_ALL | Disponible desde PHP 4.3.0. Eliminada en PHP 5.0.0.
zend.detect_unicode | "1" | PHP_INI_ALL | Disponible desde PHP 5.4.0.
zend.enable_gc | "1" | PHP_INI_ALL | Disponible desde PHP 5.3.0.
zend.multibyte | "0" | PHP_INI_PERDIR | Disponible desde PHP 5.4.0.
zend.script_encoding | NULL | PHP_INI_ALL | Disponible desde PHP 5.4.0
zend.signal_check | "0" | PHP_INI_SYSTEM | Disponible desde PHP 5.4.0
zend.ze1_compatibility_mode | "0" | PHP_INI_ALL | Disponible desde PHP 5.0.0. Eliminada en PHP 5.3.0.
zend_extension | NULL | Solamente en php.ini |
zend_extension_debug | NULL | Solamente en php.ini |
zend_extension_debug_ts | NULL | Solamente en php.ini |
zend_extension_ts | NULL | Solamente en php.ini |
zlib.output_compression | "0" | PHP_INI_ALL | Disponible desde PHP 4.0.5.
zlib.output_compression_level | "-1" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
zlib.output_handler | "" | PHP_INI_ALL | Disponible desde PHP 4.3.0.

Directivas de php.ini
Lista de secciones de php.ini
Directivas de php.ini


Lista de secciones de php.ini

Esta lista incluye las secciones de php.ini que se pueden establecer para configurar los ajustes de PHP en base a cada servidor o ruta. Estas secciones son opcionales.

Estas secciones no afectan directamente a PHP. Se utilizan para agrupar otras directivas de php.ini y hacerlas funcionar para un servidor o ruta determinados.

Estas secciones solo se utilizan en modo CGI/FastCGI y no pueden configurar directivas de extensión ni de zend_extension.

Secciones
Nombre | Cambiable | Historial de cambios
[HOST=] | PHP_INI_SYSTEM | Añadida en PHP 5.3.0.
[PATH=] | PHP_INI_SYSTEM | Añadida en PHP 5.3.0.

He aquí una breve explicación de las directivas de configuración.

[HOST=<host>]

Esta sección permite definir un conjunto de directivas de php.ini que afectarán solamente al servidor designado.

Ejemplo #1 Activar la notificación completa de errores por pantalla para el dominio dev.

[HOST=dev.site.com]
error_reporting = E_ALL
display_errors = On

[PATH=<path>]

Esta sección permite definir un conjunto de directivas de php.ini que tomarán efecto al ejecutar un script en la ruta designada.

Ejemplo #2 Añadir un script de seguridad para aréas protegidas

[PATH=/home/site/public/secure]
auto_prepend_file=security.php

Lista de directivas de php.ini
Descripción de las directivas del núcleo de php.ini
Directivas de php.ini


Descripción de las directivas del núcleo de php.ini

Esta lista incluye las directivas del núcleo de php.ini que se pueden establecer para la configuración de PHP. Las directivas manejadas por extensiones están enumeradas y detalladas en las páginas de la documentación respectivas de cada extensión. La información sobre las directivas de sesión, por ejemplo, se puede encontrar en la página de sesiones.

Nota:

Las opciones predeterminadas enumeradas aquí se usan cuando php.ini no está cargado; los valores para el php.ini de producción y desarrollo podrían variar.

Opciones de Httpd

Opciones de Httpd
Nombre | Por defecto | Cambiable | Historial de cambios
async_send | "0" | PHP_INI_ALL |

Opciones de lenguaje

Opciones de lenguaje y configuración variada
Nombre | Por defecto | Cambiable | Historial de cambios
short_open_tag | "1" | PHP_INI_PERDIR | PHP_INI_ALL en PHP 4.0.0. PHP_INI_PERDIR en PHP >= 4.0.1.
asp_tags | "0" | PHP_INI_PERDIR | PHP_INI_ALL en PHP 4.0.0.
precision | "14" | PHP_INI_ALL |
serialize_precision | "17" | PHP_INI_ALL | Disponible desde PHP 4.3.2. Hasta PHP 5.3.5, el valor predeterminado era 100.
y2k_compliance | "1" | PHP_INI_ALL | Eliminado en PHP 5.4.0.
allow_call_time_pass_reference | "1" | PHP_INI_PERDIR | PHP_INI_ALL en PHP en 4.0.0. Eliminada en PHP 5.4.0.
disable_functions | "" | Sólo en PHP_INI_SYSTEM | Disponible desde PHP 4.0.1.
disable_classes | "" | Sólo en php.ini | Disponible desde PHP 4.3.2.
exit_on_timeout | "" | INI_ALL | Disponible desde PHP 5.3.0.
expose_php | "1" | Sólo en php.ini |
zend.multibyte | "0" | PHP_INI_ALL | Disponible desde PHP 5.4.0
zend.script_encoding | NULL | PHP_INI_ALL | Disponible desde PHP 5.4.0
zend.signal_check | "0" | PHP_INI_SYSTEM | Disponible desde PHP 5.4.0
zend.ze1_compatibility_mode | "0" | PHP_INI_ALL | Disponible desde PHP 5.0.0. Eliminada en PHP 5.3.0
detect_unicode | "1" | PHP_INI_ALL | Disponible desde PHP 5.1.0. Esta característica obsoleta será eliminada con certeza en el futuro.

He aquí una breve explicación de las directivas de configuración.

short_open_tag boolean

Indica a PHP si debería permitirse la forma abreviada de las etiquetas de apertura de PHP (<? ?>). Si se quiere utilizar PHP junto con XML, se puede desactivar esta opción para poder usar <?xml ?> en línea. Si no, puede imprimirse con PHP, por ejemplo: <?php echo '<?xml version="1.0"?>'; ?>. Además, si está desactivada, se debe usar siempre la forma no abreviada de la etiqueta de apertura de PHP (<?php ?>).

Nota:

Esta directiva también afecta a la abreviatura <?= en versiones anteriores a PHP 5.4.0, la cual es lo mismo que <? echo. El uso de esta abreviatura requería que short_open_tag estuviese activada. Desde PHP 5.4.0, <?= siempre está disponible.

asp_tags boolean
Activa el uso de las etiquetas estilo ASP (<% %>) además de las normales (<?php ?>). Esto incluye la abreviatura de variable-valor <%= $valor %>. Para más información, véase Salir de HTML.
precision integer
El número de dígitos significativos que se muestran en números de punto flotante.
serialize_precision integer
El número de dígitos significativos almacenados durante la serialización de números de punto flotante.
y2k_compliance boolean
Asegura la compatibilidad con el año 2000 (causará problemas con navegadores no compatibles)
allow_call_time_pass_reference boolean

Sirve para avisar cuándo los argumentos son pasados por referencia al llamar a una función. El método recomendado para especificar los argumentos que deberían parsarse por referencia es en la declaración de la función. Se anima a probar y desactivar esta opción para asegurarse de que los scripts funcionen adecuadamente también en futuras versiones del lenguaje (si está característica está desactivada, se mostrará una advertencia cada vez que se utilice).

El paso de argumentos por referencia en el momento de llamar a una función quedó obsoleto por razones de limpieza en el código. Una función puede modificar sus argumentos de una manera no documentada si no declaró que dichos argumentos deberían ser pasados por referencia. Para evitar efectos secundarios, es mejor especificar qué argumentos son pasados por referencia solamente en la declaración de la función.

Véase también Explicación de las referencias.

Registro de cambios de allow_call_time_pass_reference
Versión | Descripción
5.4.0 | Eliminada de PHP.
5.3.0 | Emite un error de nivel E_DEPRECATED.
5.0.0 | Obsoleta, y genera un error de nivel E_COMPILE_WARNING.

expose_php boolean

Expone al mundo que PHP está instalado en el servidor, lo que incluye la versión de PHP en la cabecera HTTP (p.ej., X-Powered-By: PHP/5.3.7). Antes de PHP 5.5.0, los GUIDs del logotipo de PHP también eran expuestos, por lo que al añadirlos a la URL de un script de PHP, se mostraba el logotipo correspondiente (p.ej., » http://www.php.net/?=PHPE9568F34-D428-11d2-A769-00AA001ACF42). Esto también afectaba a la salida de phpinfo(), ya que cuando estaba desactivada, no se mostraban el logotipo de PHP y la información de los créditos.

Nota:

Desde PHP 5.5.0, estos GUIDs y la función php_logo_guid() han sido eliminados de PHP, y los GUIDs han sido reemplazados en su lugar con URIs de datos. Por lo tanto, ya no funciona el acceso al logotipo de PHP mediante la adición del GUID a la URL. Similarmente, desactivar expose_php no afectará a la visualización del logotipo de PHP en phpinfo().

Véase también php_logo_guid() y phpcredits().

disable_functions string

Esta directiva permite desactivar ciertas funciones por razones de seguridad. Requiere una lista con los nombres de las funciones delimitados por comas. disable_functions no se ve afectada por el Modo Seguro.

Solamente las funciones internas pueden ser desactivadas usando esta directiva. Las funciones definidas por el usuario no se ven afectadas.

Esta directiva debe ser establecida en el fichero php.ini. Por ejemplo, no puede establecerse en httpd.conf.

disable_classes string
Esta directiva permite desactivar ciertas clases por razones de seguridad. Requiere una lista con los nombres de las clases delimitados por comas. disable_classes no se ve afectada por el Modo Seguro. Esta directiva debe ser establecida en el fichero php.ini. Por ejemplo, no puede establecerse en httpd.conf.

Nota: Sobre la disponibilidad
Esta directiva se encuentra disponible en PHP 4.3.2

zend.ze1_compatibility_mode boolean

Activa el modo de compatibilidad con El Motor Zend 1 (PHP 4). Esto afecta a la clonación, conversión (los objectos sin propiedades son convertidos a FALSE o 0), y comparación de objetos. En este modo, los objetos son pasados por valor en lugar de por referencia de forma predeterminada.

Véase también la sección titulada Migración de PHP 4 a PHP 5.

Advertencia

Esta característica ha quedado OBSOLETA y fue ELIMINADA a partir de PHP 5.3.0.

zend.multibyte boolean

Permite el análisis de ficheros de código fuente en codificaciones multibyte.

zend.script_encoding string

Este valor será usado a menos que una directiva declare(encoding=...) aparezca al principio del script.

zend.signal_check boolean

Para verficar gestores de señales reemplazados en el cierre.

detect_unicode boolean

Verifica el BOM (Byte Order Mark) y comprueba si el fichero contiene caracteres multibyte válidos. La detección se hace antes del proceso de __halt_compiler(). Está disponible solamente en modo Zend Multibyte.

exit_on_timeout boolean

Esta es una directiva mod_php-only de Apache1 que fuerza a un subproceso de Apache a salir si expiró el tiempo de ejecución de PHP. Este tiempo de espera provoca una llamada interna a longjmp() en Apache1, que puede dejar algunas extensiones en un estado de incoherencia. Al terminar el proceso, será limpiado cualquier bloqueo pendiente o la memoria.

Límite de recursos

Límite de recursos
Nombre | Por defecto | Cambiable | Historial de cambios
memory_limit | "128M" | PHP_INI_ALL | "8M" antes de PHP 5.2.0, "16M" en PHP 5.2.0

He aquí una breve explicación de las directivas de configuración.

memory_limit integer

Establece el máximo de memoria en bytes que un script puede consumir. Ayuda a prevenir que scripts mal programados consuman toda la memoria disponible en el servidor. Observe que para no tener límite de memoria, se ha de establecer esta directiva a -1.

En versiones anteriores a PHP 5.2.1, esta directiva tenía que estar habilitada en tiempo de compilación usando --enable-memory-limit en la línea de configuración. Esta bandera en tiempo de compilación también se requería para definir las funciones memory_get_usage() y memory_get_peak_usage() en versiones anteriores a PHP 5.2.1.

Cuando se usa un integer, el valor del mismo es medido en bytes. También se puede usar la notación reducida, tal como se describe en esta FAQ.

Véase también: max_execution_time.

Ajuste del rendimiento

Ajuste del rendimiento
Nombre | Por defecto | Cambiable | Historial de cambios
realpath_cache_size | "16K" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.0.
realpath_cache_ttl | "120" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.0.

He aquí una breve explicación de las directivas de configuración.

realpath_cache_size integer

Determina el tamaño de la caché de realpath que va a ser usada por PHP. Este valor debe ser incrementado en sistemas donde PHP abra muchos ficheros, para reflejar la cantidad de operaciones realizadas con ficheros.

El tamaño representa el número total de bytes de los strings de rutas almacenadas, más el tamaño de los datos asociados con la entrada de la caché. Esto significa que para poder almacenar rutas mayores en la caché, el tamaño de esta debe ser mayor. Este valor no controla directamente el número de rutas distintas que pueden ser almacenadas en caché.

El tamaño requerido para los datos de entrada de la caché depende del sistema.

realpath_cache_ttl integer

Tiempo (en segundos) durante el cual almacenar en caché información de realpath para un determinado fichero o directorio. Para sistemas que raramente cambian ficheros, considere incrementar este valor.

Manejo de datos

Opciones de configuración de manejo de datos
Nombre | Por defecto | Cambiable | Historial de cambios
track_vars | "On" | PHP_INI_?? |
arg_separator.output | "&" | PHP_INI_ALL | Disponible desde PHP 4.0.5.
arg_separator.input | "&" | PHP_INI_PERDIR | Disponible desde PHP 4.0.5.
variables_order | "EGPCS" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 5.0.5.
request_order | "" | PHP_INI_PERDIR | Disponible desde PHP 5.3.0
auto_globals_jit | "1" | PHP_INI_PERDIR | Disponible desde PHP 5.0.0.
register_globals | "0" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3. Eliminada en PHP 5.4.0.
register_argc_argv | "1" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3.
register_long_arrays | "1" | PHP_INI_PERDIR | Disponible desde PHP 5.0.0. Obsoleta en PHP 5.3.0. Eliminada en PHP 5.4.0.
enable_post_data_reading | "1" | PHP_INI_PERDIR | Disponible desde PHP 5.4.0
post_max_size | "8M" | PHP_INI_PERDIR | PHP_INI_SYSTEM en PHP <= 4.2.3. Disponible desde PHP 4.0.3.
gpc_order | "GPC" | PHP_INI_ALL | Eliminada en PHP 5.0.0.
auto_prepend_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3.
auto_append_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3.
default_mimetype | "text/html" | PHP_INI_ALL |
default_charset | "" | PHP_INI_ALL |
always_populate_raw_post_data | "0" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3. Disponible desde PHP 4.1.0.

He aquí una breve explicación de las directivas de configuración.

track_vars boolean

Si está activada, las variables de entorno, GET, POST, Cookie y variables de servidor pueden encontrarse en los arrays asociativos globales $_ENV, $_GET, $_POST, $_COOKIE, y $_SERVER.

Observe que desde PHP 4.0.3, track_vars siempre está activado.

arg_separator.output string

El separador usado en PHP para distinguir argumentos en las URLs generadas.

arg_separator.input string

Lista de separador(es) usados por PHP para convertir datos de URLs en variables.

Nota:

¡Cada carácter de esta directiva es considerado un separador!

variables_order string

Establece el orden de interpretación de variables EGPCS (Entorno, Get, Post, Cookie, y Servidor). Por ejemplo, si variables_order es "SP", PHP creará las superglobals $_SERVER y $_POST, pero no creará $_ENV, $_GET, y $_COOKIE. Si se establece a "", las variables superglobals no estarán disponibles.

Si la directiva obsoleta register_globals está activada, entonces variables_order también configura el orden en que las variables ENV, GET, POST, COOKIE y SERVER son rellenadas en el ambito global. Por ejemplo, si variables_order está establecido a "EGPCS", register_globals está activada, y $_GET['acción'] y $_POST['acción'] están establecidos, entonces $acción contendrá el valor de $_POST['acción'] ya que P está después de G en el ejemplo que se muestra.

Advertencia

En ambas SAPIs, CGI y FastCGI, $_SERVER también es rellenada con los valores de entorno; S siempre es equivalente a ES independientemente de la posición de E en esta directiva.

Nota:

El contenido y el orden de $_REQUEST también se ve afectado por esta directiva.

request_order string

Esta directiva describe el orden en que PHP registra las variables GET, POST y Cookie en el array _REQUEST. El registro se hace de izquierda a derecha; los nuevos valores reemplazan los valores más antiguos.

Si esta directiva no está definida, variables_order se usa para el contenido de $_REQUEST.

Observe que la distribución predeterminada de los ficheros php.ini no contienen 'C' para cookies, por motivos de seguridad.

auto_globals_jit boolean

Cuando está activada, las variables SERVER y EVN son creadas la primera vez que se necesitan ("Just In Time") en lugar de hacerlo cuando el script se inicia. Si estas variables no son usadas en un script, el tener esta directiva activada resultará en una mejora del rendimiento.

Las directivas PHP register_globals, register_long_arrays, y register_argc_argv deben estar desactivadas para que esta directiva tenga efecto. Desde PHP 5.1.3 no es necesario que esté desactivada register_argc_argv.

Advertencia

El uso de las variables SERVER y ENV se comprueba durante el tiempo de compilación, por lo que utilizarlas a través de, por ejemplo, variables variables no causará su inicialización.

register_globals boolean

Si registrar o no las variables EGPCS (Entorno, GET, POST, Cookie, Servidor) como variables globales.

A partir de » PHP 4.2.0, el valor predeterminado de esta directiva es off.

Para información relacionada, por favor lea el capítulo de seguridad Utilizar register_globals.

Por favor, observe que register_globals no puede ser establecida en tiempo de ejecución ( ini_set()). Aún así, puede usar .htaccess si el servidor lo permite, tal como se muestra abajo. Un ejemplo de una entrada de .htaccess: php_flag register_globals off.

Nota:

register_globals se ve afectada por la directiva variables_order.

Advertencia

Esta característica ha sido declarada OBSOLETA desde PHP 5.3.0. Su uso está totalmente desaconsejado.

register_argc_argv boolean
Indica a PHP si debe declarar las variables argv y argc (que pueden que contengan la información de GET). Véase también la línea de comandos.
register_long_arrays boolean
Indica a PHP si registrar o no las obsoletas variables predefinidas del tipo $HTTP_*_VARS. Cuando esté activada (predeterminado), las variables largas predefinidas de PHP, como $HTTP_GET_VARS, estarán definidas. Si no se utilizan, se recomienda desactivarlas por razones de rendimiento. En su lugar, use los arrays superglobales, como $_GET. Esta directiva empezó a estar disponible en PHP 5.0.0.
Advertencia

Esta característica ha sido declarada OBSOLETA desde PHP 5.3.0. Su uso está totalmente desaconsejado.

enable_post_data_reading boolean
Al deshabilitar esta opción hace que $_POST y $_FILES no sean rellenados. La única manera de leer datos de POST será a través de la envoltura de flujo php://input. Esto puede ser útil en peticiones de proxys o para procesar los datos de POST de una manera efeciente en cuestión de memoria.
post_max_size integer
Define el tamaño máximo de datos de POST permitidos. Esta opción también afecta a la subida de ficheros. Para subir ficheros grandes, este valor debe ser mayor que upload_max_filesize. Si el límite de memoria está activado por un script de configuración, memory_limit también afecta la subida de ficheros. Por norma general, memory_limit debe ser mayor que post_max_size. Cuando se usa un integer, el valor del mismo es medido en bytes. También se puede usar la notación reducida, tal como se describe en esta FAQ. Si el tamaño de los datos de POST es mayor que post_max_size, las superglobales $_POST y $_FILES estarán vacías. Esto se puede rastrear de varias maneras, por ejemplo, pasando la variable $_GET al script que procesa los datos, esto es, <form action="edit.php?procesado=1">, y luego comprobar si la variable $_GET['procesado'] existe.

Nota:

PHP acepta abreviaturas para algunos valores, incluyendo K (kilo), M (mega) y G (giga). PHP hará las conversión automaticamente si utiliza cualesquiera de estas abreviaturas. Tenga cuidado de no execeder el límite de los enteros con signo de 32 bits (si está usando veriones de 32 bits), puesto que hará que el script falle.

gpc_order string

Establece el orden de análisis de las variables GET/POST/COOKIE. Por omisión, esta directiva está establecida a "GPC". Al establecerla a "GP", por ejemplo, PHP ignorará completamente las cookies y sobreescribirá cualquier variable del método GET con variables del método POST que tengan el mismo nombre.

Nota:

Esta opción fue eliminada en PHP 5.0.0. Utilice variables_order en su lugar.

auto_prepend_file string

Especifica el nombre del fichero que será analizado automáticamente antes del fichero principal. El fichero es incluido como si fuera llamado con la función require, por lo que se usa include_path.

El valor especial none desactiva esta directiva.

auto_append_file string

Especifica el nombre del fichero que será analizado automaticamente después del fichero principal. El fichero es incluido como si fuera llamado con la función require, por que se utiliza include_path.

El valor especial none desactiva el esta directiva.

Nota: Si el script finaliza con exit(), está funcionalidad no será llevada a cabo.

default_mimetype string

default_charset string

PHP siempre muestra el tipo de codificación de caracteres de forma predeterminada en la cabecera Content-type:. Para desactivar el envío del conjunto de caracteres, simplemente deje esta directiva vacía.

always_populate_raw_post_data boolean

Rellenar siempre la variable $HTTP_RAW_POST_DATA con el contenido sin tratar de los datos de POST. De lo contrario, la variable contendrá solamente tipos MIME no reconocidos. De todas formas, el mejor método para acceder a los datos sin tratar de POST es mediante php://input. $HTTP_RAW_POST_DATA no está disponible con enctype="multipart/form-data".

Véase también: magic_quotes_gpc, magic_quotes_runtime, y magic_quotes_sybase.

Rutas y directorios

Opciones de configuración de rutas y directorios
Nombre | Por defecto | Cambiable | Historial de cambios
include_path | ".;/path/to/php/pear" | PHP_INI_ALL |
open_basedir | NULL | PHP_INI_ALL | PHP_INI_SYSTEM en PHP < 5.3.0
doc_root | NULL | PHP_INI_SYSTEM |
user_dir | NULL | PHP_INI_SYSTEM |
extension_dir | "/path/to/php" | PHP_INI_SYSTEM |
extension | NULL | Solamente en php.ini |
zend_extension | NULL | Solamente en php.ini |
zend_extension_debug | NULL | Solamente en php.ini | Disponible antes de PHP 5.3.0.
zend_extension_debug_ts | NULL | Solamente en php.ini | Disponible antes de PHP 5.3.0.
zend_extension_ts | NULL | Solamente en php.ini | Disponible antes de PHP 5.3.0.
cgi.check_shebang_line | "1" | PHP_INI_SYSTEM | Disponible desde PHP 5.2.0.
cgi.fix_pathinfo | "1" | PHP_INI_SYSTEM | Disponible desde PHP 4.3.0. PHP_INI_ALL antes de PHP 5.2.1.
cgi.force_redirect | "1" | PHP_INI_SYSTEM | Disponible desde PHP 4.2.0. PHP_INI_ALL antes de PHP 5.2.1.
cgi.redirect_status_env | NULL | PHP_INI_SYSTEM | Disponible desde PHP 4.2.0. PHP_INI_ALL antes de PHP 5.2.1.
cgi.rfc2616_headers | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
fastcgi.impersonate | "0" | PHP_INI_SYSTEM | Disponible desde PHP 4.3.0. PHP_INI_ALL antes de PHP 5.2.1.
fastcgi.logging | "1" | PHP_INI_SYSTEM | Disponible desde PHP 4.3.0. PHP_INI_ALL antes de PHP 5.2.1.

He aquí una breve explicación de las directivas de configuración.

include_path string

Especifica la lista de directorios donde las funciones require, include, fopen(), file(), readfile() y file_get_contents() buscarán ficheros. El formato es como la variable de entorno PATH del sistema: una lista de directorios separados por dos puntos en Unix o separados por punto y coma en Windows.

PHP considera cada entrada de la ruta de inclusión por separado cuando está buscando ficheros a incluir. Primero buscará en la primera ruta, y si no lo encuentra ahí, buscará en la siguiente, hasta que encuentre el fichero incluido, o devuelva una advertencia o un error. Se puede modificar o establecer una ruta de incluición propia en tiempo de ejecucción usando set_include_path().

Ejemplo #1 include_path en Unix

include_path=".:/php/includes"

Ejemplo #2 include_path en Windows

include_path=".;c:\php\includes"

El uso de . en la ruta de inclusión permite el uso de inclusiones relativas, ya que significa el directorio actual. Sin embargo, es más eficiente usar explícitamente include './fichero' que hacer que PHP compruebe siempre el directorio actual para cada inclusión.

Nota:

Las variables ENV también son accesibles en ficheros .ini. Por lo tanto, es posible hacer referencia al directorio raíz utilizando ${LOGIN} y ${USER}.

Las variables de entorno podrían variar entre APIs de servidores, ya que sus entornos pueden ser diferentes.

Ejemplo #3 include_path en Unix usando la variable de entorno ${USER}

include_path = ".:${USER}/pear/php"

open_basedir string

El límite de los ficheros a los que PHP puede acceder en el árbol de directorios especificado, incluyendo el fichero en sí. Esta directiva NO se ve afectada si el Modo Seguro está activado (On) o desactivado (Off).

Cuando un script intenta acceder al sistema de ficheros, por ejemplo, usando include, o fopen(), se comprueba la ubicación del fichero. Cuando el fichero está fuera del árbol de directorio especificado, PHP rechazará acceder a él. Todos los enlaces simbólicos se resuelven, por lo que no es posible evitar esta restricción con un enlace simbólico. Si el fichero no existe, el enlace simbólico no podría ser resuelto, por lo que el nombre de fichero se compara con (uno resuelto) open_basedir .

open_basedir puede afectar no sólo a las funciones del sistema de ficheros; por ejemplo, si MySQL está configurado para usar los controladores de mysqlnd, LOAD DATA INFILE se verá afectado por open_basedir . Mucha de la funcionalidad ampliada de PHP usa open_basedir de esta manera.

El valor especial . indica que el directorio de trabajo del script será usado como directorio base. Esto es, sin embargo, un poco peligroso, ya que el directorio de trabajo del script puede ser fácilmente cambiado con la función chdir().

En httpd.conf, se puede desactivar open_basedir (p.ej. para algunos servidores virtuales) de la misma manera que cualquier otra directiva de configuración con "php_admin_value open_basedir none".

Bajo Windows, los directorios se han de separar con punto y coma. En cualquier otro sistema, se ha de hacer con dos puntos. Como módulo de Apache, las rutas de open_basedir de los directorios superiores se heredan automáticamente.

La restricción especificada en open_basedir es un nombre de directorio desde PHP 5.2.16 y 5.3.4. Las versiones anteriores lo usaban como un prefijo. Esto quiere decir que "open_basedir = /dir/incl" también tiene acceso a "/dir/include" y "/dir/incls, si existen. Cuando se quiera restringir el acceso solamente a un directorio específico, se ha de finalizar con una barra. Por ejemplo: open_basedir = /dir/incl/

El valor predeterminado permite abrir cualquier fichero.

Nota:

A partir de PHP 5.3.0, open_basedir puede usarse en tiempo de ejecución. Esto significa que si open_basedir está establecido como /www/ en php.ini, un script puede reforzar la configuración a /www/tmp/ en tiempo de ejecución con ini_set(). Cuando se enumeran varios directorios, se puede usar la constante PATH_SEPARATOR como separador, independientemente del sistema operativo.

doc_root string

El "directorio raíz" de PHP en el servidor. Solamente usada si no está vacía. Si PHP está configurado con safe mode, ningún otro fichero fuera de este directorio será servido. Si PHP no se compiló con FORCE_REDIRECT, debería establecerse doc_root si se está usando PHP como CGI bajo cualquier tipo de servidor (que no sea IIS). La alternativa es usar la configuación de cgi.force_redirect de más abajo.

user_dir string

El nombre base del directorio usado en un directorio principal de usuario para ficheros PHP, por ejemplo public_html .

extension_dir string

En qué directorio debería buscar PHP extensiones que se pueden cargar dinámicamente. Véase también: enable_dl, y dl().

extension string

Qué extensiones se cargarán dinámicamente cuando se inicie PHP.

zend_extension string

La ruta absoluta donde cargar una extensión Zend dinámica (por ejemplo APD) cuando se inicie PHP.

zend_extension_debug string

Variante de zend_extension para extensiones compiladas con información de depuración antes de PHP 5.3.0.

zend_extension_debug_ts string

Variante de zend_extension para extensiones compiladas con información de depuración y subprocesamiento seguro antes de PHP 5.3.0.

zend_extension_ts string

Variante de zend_extension para extensiones compiladas con subprocesamiento seguro antes de PHP 5.3.0.

cgi.check_shebang_line boolean

Controla si PHP en modo CGI comprueba líneas que empiezan por #! (shebang) en el inicio del script que se está ejecutando. Esta línea podría ser necesaria si el script admite su ejecución tanto como un script independiente como mediante el modo CGI de PHP. El modo CGI de PHP omite esta línea e ignora su contenido si esta directiva si está activada.

cgi.fix_pathinfo boolean

Proporciona soporte real de PATH_INFO / PATH_TRANSLATED para CGI. El comportamiento anterior de PHP era establecer PATH_TRANSLATED a SCRIPT_FILENAME, por lo que no comprendía lo que era PATH_INFO. Para más información sobre PATH_INFO, véanse las especificaciones de CGI. Si se establece el valor de esta directiva a 1, el modo CGI de PHP corregirá sus rutas conforme a las especificaciones. Si se establece a cero, funcionará como anteriormente. Esta directiva está activada de forma predeterminada. Debería corregir sus scripts para que utilicen SCRIPT_FILENAME en lugar de PATH_TRANSLATED.

cgi.force_redirect boolean

cgi.force_redirect es necesario para proporcionar seguridad al ejecutar PHP como CGI bajo la mayoría de servidores web. Si no se define, PHP activa esta directiva de forma predeterminada. Puede desactivarla bajo su propia responsabilidad.

Nota:

Para usuarios de Windows: Al usar IIS, esta ocpción debe estar desactivada. Para OmniHTTPD o Xitami se aplica lo mismo.

cgi.redirect_status_env string

Si cgi.force_redirect está activada, y no se están usando servidores web Apache o Netscape (iPlanet), podría ser necesario establecer el nombre de una variable de entorno que PHP buscará para saber que se puede continuar con la ejecucción.

Nota:

Establecer esta variable podría causar problemas de seguridad, no la cambie a no ser que sepa lo que está haciendo.

cgi.rfc2616_headers int

Le indica a PHP qué tipo de encabezados usar cuando envía el código de respuesta HTTP. Si está establecida a 0, PHP envía una cabecera "Status:" » RFC 3875 la cual es admitida por Apache y otros servidores web. Cuando esta opción está establecida a 1, PHP enviará encabezados compatibles con la » RFC 2616.

Si esta opción está habiltada, y está ejecutándose PHP en un entorno CGI (p.ej. PHP-FPM) no se deberían usar las cabeceras de respuesta de estado HTTP estilo estándar RFC 2616, se debería usar en su lugar sus equivalentes RFC 3875, p.ej., en lugar de header("HTTP/1.0 404 Not found"); se debería usar header("Status: 404 Not Found");

Déjelo establecido a 0 a menos que sepa lo que está haciendo.

fastcgi.impersonate string

FastCGI bajo IIS (en SO basados en WINNT) admite la capacidad de imitar tokens de seguridad del cliente que llama. Esto permite a IIS definir el contexto de seguridad en el que la petición se ejecuta. mod_fastgci bajo Apache actualmente no admite esta característica (17/03/2002). Establézcalo a 1 si usa IIS. El valor predeterminado es cero.

fastcgi.logging boolean

Activa la identificación de la SAPI cuando se usa FastCGI. El valor predeterminado es habilitar la identificación.

Subida de ficheros

Opciones de configuración de subida de ficheros
Nombre | Por defecto | Cambiable | Historial de cambios
file_uploads | "1" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 4.2.3. Disponible desde PHP 4.0.3.
upload_tmp_dir | NULL | PHP_INI_SYSTEM |
max_input_nesting_level | 64 | PHP_INI_PERDIR | Disponible desde PHP 5.3.9.
max_input_vars | 1000 | PHP_INI_PERDIR | Disponible desde PHP 5.3.9.
upload_max_filesize | "2M" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3.
max_file_uploads | 20 | PHP_INI_SYSTEM | Disponible desde PHP 5.2.12.

He aquí una breve explicación de las directivas de configuración.

file_uploads boolean

Si permitir o no la subida de ficheros mediante HTTP. Véanse también las directivas upload_max_filesize, upload_tmp_dir, y post_max_size.

upload_tmp_dir string

El directorio temporal usado para almacenar ficheros durante el proceso de subida. Es necesario tener permisos de escritura para el usuario que está ejecutando PHP. Si no está especificado, PHP usará el predeterminado del sistema.

Si el directorio especificado no tiene permisos de escritura, PHP recurrirá al directorio temporal predeterminado del sistema. Si la directiva open_basedir está activada, al directorio predeterminado del sistema se le ha de permitir la subida de ficheros para que funcione.

upload_max_filesize integer

El tamaño máximo de un fichero subido.

Cuando se usa un integer, el valor del mismo es medido en bytes. También se puede usar la notación reducida, tal como se describe en esta FAQ.
max_file_uploads integer

El número máximo de ficheros a subir permitidos de forma simultánea. A partir de PHP 5.3.4, los campos de subida de ficheros dejados en blanco en el momento del envío no cuentan en este límite.

Configuración de SQL en general

Opciones de configuración de SQL en general
Nombre | Por defecto | Cambiable | Historial de cambios
sql.safe_mode | "0" | PHP_INI_SYSTEM |

He aquí una breve explicación de las directivas de configuración.

sql.safe_mode boolean

Si está activado, las funciones de conexión a bases de datos que especifiquen valores predeterminados, usarán dichos valores en lugar de los argumentos proporcionados. Los valores predeterminados de dichas funciones se pueden ver en sus respectivas documentaciones.

Específico de Windows

Opciones de configuración específicas de Windows
Nombre | Por defecto | Cambiable | Historial de cambios
windows_show_crt_warning | "0" | PHP_INI_ALL | Disponibe desde PHP 5.4.0.

He aquí una breve explicación de las directivas de configuración.

windows_show_crt_warning boolean

Esta directiva muestra las advertencias CRT de Windows cuando está establecida. Estas advertencias eran mostradas de forma predeterminada hasta PHP 5.4.0.

Lista de secciones de php.ini
Categorización de Extensiones
Directivas de php.ini


Categorización de Extensiones

Tabla de contenidos

  • Alfabética
  • Incorporación
  • Estado

Este apéndice categoriza más de 150 extensiones documentadas en el manual de PHP, de acuerdo a varios criterios.

Descripción de las directivas del núcleo de php.ini
Alfabética
Apéndices


Alfabética

  • PCMA
  • Apache
  • APC
  • APD
  • Arrays
  • BBCode
  • BC Math
  • bcompiler
  • Bzip2
  • Cairo
  • Calendario
  • chdb
  • Classkit
  • Clases/Objetos
  • COM
  • Crack
  • Ctype
  • CUBRID
  • cURL
  • Cyrus
  • Fecha/Hora
  • DBA
  • dBase
  • DB++
  • dbx
  • Direct IO
  • Directorios
  • DOM
  • .NET
  • Eio
  • Enchant
  • Manejo de errores
  • Ev
  • Event
  • Ejecución de programas
  • Exif
  • Expect
  • FAM
  • FrontBase
  • FDF
  • Fileinfo
  • filePro
  • Sistema de Ficheros
  • Filter
  • FriBiDi
  • FTP
  • Manejo de Funciones
  • Gearman
  • Gender
  • GeoIP
  • Gettext
  • Gmagick
  • GMP
  • GnuPG
  • Gupnp
  • haru
  • Hash
  • htscanner
  • HTTP
  • Hyperwave
  • API Hyperwave
  • Firebird/InterBase
  • IBM DB2
  • iconv
  • ID3
  • Informix
  • IIS
  • GD
  • ImageMagick
  • IMAP
  • inclued
  • Opciones/Info de PHP
  • Ingres
  • Inotify
  • intl
  • Java
  • JSON
  • Judy
  • KADM5
  • KTaglib
  • Lapack
  • LDAP
  • Libevent
  • libxml
  • Lua
  • LZF
  • Mail
  • Mailparse
  • Math
  • MaxDB
  • Cadenas de caracteres multibyte
  • Mcrypt
  • MCVE
  • Memcache
  • Memcached
  • Memtrack
  • Mhash
  • Mimetype
  • Ming
  • Misc.
  • mnoGoSearch
  • Mongo
  • mqseries
  • Msession
  • mSQL
  • Mssql
  • Mysql
  • Mysqli
  • Mysqlnd
  • mysqlnd_memcache
  • mysqlnd_ms
  • mysqlnd_mux
  • mysqlnd_qc
  • mysqlnd_uh
  • Ncurses
  • Gopher
  • Network
  • Newt
  • YP/NIS
  • Lotus Notes
  • NSAPI
  • OAuth
  • Object Aggregation
  • OCI8
  • oggvorbis
  • OpenAL
  • OpenSSL
  • Control de la salida
  • Ovrimos SQL
  • Paradox
  • Parsekit
  • Hash de contraseñas
  • PCNTL
  • PCRE
  • PDF
  • PDO
  • 4D (PDO)
  • CUBRID (PDO)
  • MS SQL Server (PDO)
  • Firebird (PDO)
  • IBM (PDO)
  • Informix (PDO)
  • MySQL (PDO)
  • Oracle (PDO)
  • ODBC y DB2 (PDO)
  • PostgreSQL (PDO)
  • SQLite (PDO)
  • MS SQL Server (PDO)
  • PostgreSQL
  • Phar
  • POSIX
  • Printer
  • Proctitle
  • PS
  • Pspell
  • pthreads
  • qtdom
  • Quickhash
  • Radius
  • Rar
  • Readline
  • Recode
  • Reflexión
  • Expresiones Regulares POSIX
  • Lector RPM
  • RRD
  • runkit
  • SAM
  • SCA
  • scream
  • SDO
  • DAS XML de SDO
  • DAS-Relacional de SDO
  • Semaphore
  • Sesiones
  • Session PgSQL
  • Memoria compartida
  • SimpleXML
  • SNMP
  • SOAP
  • Sockets
  • Solr
  • Sphinx
  • SPL
  • Tipos de datos SPL
  • SPPLUS
  • SQLite
  • SQLite3
  • SQLSRV
  • ssdeep
  • SSH2
  • Estadísticas
  • Stomp
  • Flujos
  • Strings
  • SVM
  • SVN
  • SWF
  • Swish
  • Sybase
  • Taint
  • TCP
  • Tidy
  • Tokenizer
  • tokyo_tyrant
  • Trader
  • ODBC
  • URLs
  • V8js
  • Manejo de variables
  • Varnish
  • vpopmail
  • W32api
  • WDDX
  • Weakref
  • win32ps
  • win32service
  • WinCache
  • xattr
  • xdiff
  • Xhprof
  • Analizador XML
  • XMLReader
  • XML-RPC
  • XMLWriter
  • XSL
  • XSLT (PHP 4)
  • Yaf
  • Yaml
  • YAZ
  • Zip
  • Zlib
Categorización de Extensiones
Incorporación
Categorización de Extensiones


Incorporación

Extensiones del núcleo

No son extensiones realmente. Son parte del núcleo de PHP y no pueden omitirse en un binario de PHP con opciones de compilación.

  • Arrays

  • Clases/Objetos

  • Fecha/Hora

  • Directorios

  • Manejo de errores

  • Ejecución de programas

  • Sistema de Ficheros

  • Filter

  • Manejo de Funciones

  • Hash

  • Opciones/Info de PHP

  • Mail

  • Math

  • Misc.

  • Network

  • Control de la salida

  • Hash de contraseñas

  • Phar

  • Reflexión

  • Expresiones Regulares POSIX

  • Sesiones

  • SPL

  • Flujos

  • Strings

  • Tokenizer

  • URLs

  • Manejo de variables

Bundled

Extensiones incorporadas en PHP.

  • Apache

  • BC Math

  • Calendario

  • COM

  • Ctype

  • DBA

  • .NET

  • Exif

  • Fileinfo

  • FTP

  • iconv

  • GD

  • intl

  • JSON

  • Cadenas de caracteres multibyte

  • NSAPI

  • Object Aggregation

  • PCNTL

  • PCRE

  • PDO

  • POSIX

  • Semaphore

  • Memoria compartida

  • Sockets

  • SQLite3

  • XML-RPC

  • Zlib

Extensiones externas

Estas extensiones vienen con PHP, pero para poder compilarlas, se requieren bibliotecas externas.

  • Bzip2

  • cURL

  • dBase

  • DOM

  • Enchant

  • FrontBase

  • Gettext

  • GMP

  • Firebird/InterBase

  • Informix

  • IMAP

  • LDAP

  • libxml

  • Mcrypt

  • Mhash

  • mSQL

  • Mssql

  • Mysql

  • Mysqli

  • Mysqlnd

  • OCI8

  • OpenSSL

  • MS SQL Server (PDO)

  • Firebird (PDO)

  • MySQL (PDO)

  • Oracle (PDO)

  • ODBC y DB2 (PDO)

  • PostgreSQL (PDO)

  • SQLite (PDO)

  • PostgreSQL

  • Pspell

  • Readline

  • Recode

  • SimpleXML

  • SNMP

  • SOAP

  • Sybase

  • Tidy

  • ODBC

  • WDDX

  • Analizador XML

  • XMLReader

  • XMLWriter

  • XSL

  • Zip

Extensiones PECL

Estas extensiones están disponibles desde » PECL. Seguramente requieren bibliotecas externas. Existen más extensiones PECL pero no están documentadas aún en el manual.

  • PCMA

  • APC

  • APD

  • BBCode

  • bcompiler

  • Cairo

  • chdb

  • Classkit

  • Crack

  • CUBRID

  • Cyrus

  • DB++

  • dbx

  • Direct IO

  • Eio

  • Ev

  • Event

  • Expect

  • FAM

  • FDF

  • filePro

  • FriBiDi

  • Gearman

  • Gender

  • GeoIP

  • Gmagick

  • GnuPG

  • Gupnp

  • haru

  • htscanner

  • HTTP

  • Hyperwave

  • API Hyperwave

  • IBM DB2

  • ID3

  • IIS

  • ImageMagick

  • inclued

  • Ingres

  • Inotify

  • Java

  • Judy

  • KADM5

  • KTaglib

  • Lapack

  • Libevent

  • Lua

  • LZF

  • Mailparse

  • MaxDB

  • MCVE

  • Memcache

  • Memcached

  • Memtrack

  • Mimetype

  • Ming

  • mnoGoSearch

  • Mongo

  • mqseries

  • Msession

  • mysqlnd_memcache

  • mysqlnd_ms

  • mysqlnd_mux

  • mysqlnd_qc

  • mysqlnd_uh

  • Ncurses

  • Gopher

  • Newt

  • YP/NIS

  • Lotus Notes

  • OAuth

  • oggvorbis

  • OpenAL

  • Ovrimos SQL

  • Paradox

  • Parsekit

  • PDF

  • 4D (PDO)

  • CUBRID (PDO)

  • IBM (PDO)

  • Informix (PDO)

  • MS SQL Server (PDO)

  • Printer

  • Proctitle

  • PS

  • pthreads

  • qtdom

  • Quickhash

  • Radius

  • Rar

  • Lector RPM

  • RRD

  • runkit

  • SAM

  • SCA

  • scream

  • SDO

  • DAS XML de SDO

  • DAS-Relacional de SDO

  • Session PgSQL

  • Solr

  • Sphinx

  • Tipos de datos SPL

  • SPPLUS

  • SQLite

  • SQLSRV

  • ssdeep

  • SSH2

  • Estadísticas

  • Stomp

  • SVM

  • SVN

  • SWF

  • Swish

  • Taint

  • TCP

  • tokyo_tyrant

  • Trader

  • V8js

  • Varnish

  • vpopmail

  • W32api

  • Weakref

  • win32ps

  • win32service

  • WinCache

  • xattr

  • xdiff

  • Xhprof

  • XSLT (PHP 4)

  • Yaf

  • Yaml

  • YAZ

Alfabética
Estado
Categorización de Extensiones


Estado

Esta sección lista las extensiones que no son recomendables para su uso en producción - son demasiado "viejas" (obsoletas) o "nuevas" (experimentales).

Extensiones obsoletas

Estas extensiones han sido marcadas como obsoletas, por lo general han sido reemplazadas por otras extensiones.

  • Memtrack

  • Mimetype

Extensiones experimentales

El comportamiento de estas extensiones - incluyendo los nombres de sus funciones y cualquier otra cosa documentada sobre estas extensiones - puede cambiar sin previo aviso en una futura versión de PHP. Use estas extensiones bajo su propio riesgo.

  • bcompiler

  • DB++

  • .NET

  • haru

  • Hash

  • ImageMagick

  • Java

  • Ming

  • Ncurses

  • Newt

  • Lotus Notes

  • Object Aggregation

  • Paradox

  • MS SQL Server (PDO)

  • Firebird (PDO)

  • Oracle (PDO)

  • PS

  • qtdom

  • SCA

  • DAS-Relacional de SDO

  • Swish

  • vpopmail

  • W32api

  • XML-RPC

Incorporación
Listado de funciones alias
Categorización de Extensiones


Listado de funciones alias

Hay unas cuantas funciones en PHP que puede llamar con más de un nombre. En algunos de los casos no hay ningún nombre preferido de entre los múltiples nombres, is_int() e is_integer() son un buen ejemplo. Sin embargo hay funciones que cambiaron de nombre a causa de una limpieza del API o alguna otra razón y los nombres antiguos solo se preservan como alias para mantener la compatibilidad con versiones anteriores. Suele ser mala idea usar este tipo de alias, ya que pueden quedar obsoletos o que cambien de nombre, y hacer imposible la portabilidad del script. Esta lista se facilita para ayudar a las personas que quieren actualizar su código antiguo a una nueva sintaxis.

Alias
Alias | Función maestra | Extensión
_ | gettext() | Gettext
add | swfmovie_add() | Ming (flash)
add | swfsprite_add() | Ming (flash)
add_root | domxml_add_root() |
addaction | swfbutton_addAction() | Ming (flash)
addcolor | swfdisplayitem_addColor() | Ming (flash)
addentry | swfgradient_addEntry() | Ming (flash)
addfill | swfshape_addfill() | Ming (flash)
addshape | swfbutton_addShape() | Ming (flash)
addstring | swftext_addString() | Ming (flash)
addstring | swftextfield_addString() | Ming (flash)
align | swftextfield_align() | Ming (flash)
attributes | domxml_attributes() |
children | domxml_children() |
chop | rtrim() | Sintaxis base
close | closedir() | Sintaxis base
com_get | com_propget() | COM
com_propset | com_propput() | COM
com_set | com_propput() | COM
die | exit() | Funciones misceláneas
dir | getdir() | Sintaxis base
diskfreespace | disk_free_space() | Sistema de ficheros
domxml_getattr | domxml_get_attribute() |
domxml_setattr | domxml_set_attribute() |
doubleval | floatval() | Sintaxis base
drawarc | swfshape_drawarc() | Ming (flash)
drawcircle | swfshape_drawcircle() | Ming (flash)
drawcubic | swfshape_drawcubic() | Ming (flash)
drawcubicto | swfshape_drawcubicto() | Ming (flash)
drawcurve | swfshape_drawcurve() | Ming (flash)
drawcurveto | swfshape_drawcurveto() | Ming (flash)
drawglyph | swfshape_drawglyph() | Ming (flash)
drawline | swfshape_drawline() | Ming (flash)
drawlineto | swfshape_drawlineto() | Ming (flash)
dtd | domxml_intdtd() |
dumpmem | domxml_dumpmem() |
fbsql | fbsql_db_query() | FrontBase
fputs | fwrite() | Sintaxis base
get_attribute | domxml_get_attribute() |
getascent | swffont_getAscent() | Ming (flash)
getascent | swftext_getAscent() | Ming (flash)
getattr | domxml_get_attribute() |
getdescent | swffont_getDescent() | Ming (flash)
getdescent | swftext_getDescent() | Ming (flash)
getheight | swfbitmap_getHeight() | Ming (flash)
getleading | swffont_getLeading() | Ming (flash)
getleading | swftext_getLeading() | Ming (flash)
getshape1 | swfmorph_getShape1() | Ming (flash)
getshape2 | swfmorph_getShape2() | Ming (flash)
getwidth | swfbitmap_getWidth() | Ming (flash)
getwidth | swffont_getWidth() | Ming (flash)
getwidth | swftext_getWidth() | Ming (flash)
gzputs | gzwrite() | Zlib
i18n_convert | mb_convert_encoding() | Multi-bytes Strings
i18n_discover_encoding | mb_detect_encoding() | Multi-bytes Strings
i18n_http_input | mb_http_input() | Multi-bytes Strings
i18n_http_output | mb_http_output() | Multi-bytes Strings
i18n_internal_encoding | mb_internal_encoding() | Multi-bytes Strings
i18n_ja_jp_hantozen | mb_convert_kana() | Multi-bytes Strings
i18n_mime_header_decode | mb_decode_mimeheader() | Multi-bytes Strings
i18n_mime_header_encode | mb_encode_mimeheader() | Multi-bytes Strings
imap_create | imap_createmailbox() | IMAP
imap_fetchtext | imap_body() | IMAP
imap_getmailboxes | imap_list_full() | IMAP
imap_getsubscribed | imap_lsub_full() | IMAP
imap_header | imap_headerinfo() | IMAP
imap_listmailbox | imap_list() | IMAP
imap_listsubscribed | imap_lsub() | IMAP
imap_rename | imap_renamemailbox() | IMAP
imap_scan | imap_listscan() | IMAP
imap_scanmailbox | imap_listscan() | IMAP
ini_alter | ini_set() | Sintaxis base
is_double | is_float() | Sintaxis base
is_integer | is_int() | Sintaxis base
is_long | is_int() | Sintaxis base
is_real | is_float() | Sintaxis base
is_writeable | is_writable() | Sintaxis base
join | implode() | Sintaxis base
key_exists | array_key_exists() | Sintaxis base
labelframe | swfmovie_labelFrame() | Ming (flash)
labelframe | swfsprite_labelFrame() | Ming (flash)
last_child | domxml_last_child() |
lastchild | domxml_last_child() |
ldap_close | ldap_unbind() | LDAP
magic_quotes_runtime | set_magic_quotes_runtime() | Sintaxis base
mbstrcut | mb_strcut() | Multi-bytes Strings
mbstrlen | mb_strlen() | Multi-bytes Strings
mbstrpos | mb_strpos() | Multi-bytes Strings
mbstrrpos | mb_strrpos() | Multi-bytes Strings
mbsubstr | mb_substr() | Multi-bytes Strings
ming_setcubicthreshold | ming_setCubicThreshold() | Ming (flash)
ming_setscale | ming_setScale() | Ming (flash)
move | swfdisplayitem_move() | Ming (flash)
movepen | swfshape_movepen() | Ming (flash)
movepento | swfshape_movepento() | Ming (flash)
moveto | swfdisplayitem_moveTo() | Ming (flash)
moveto | swffill_moveTo() | Ming (flash)
moveto | swftext_moveTo() | Ming (flash)
msql | msql_db_query() | mSQL
msql_createdb | msql_create_db() | mSQL
msql_dbname | msql_result() | mSQL
msql_dropdb | msql_drop_db() | mSQL
msql_fieldflags | msql_field_flags() | mSQL
msql_fieldlen | msql_field_len() | mSQL
msql_fieldname | msql_field_name() | mSQL
msql_fieldtable | msql_field_table() | mSQL
msql_fieldtype | msql_field_type() | mSQL
msql_freeresult | msql_free_result() | mSQL
msql_listdbs | msql_list_dbs() | mSQL
msql_listfields | msql_list_fields() | mSQL
msql_listtables | msql_list_tables() | mSQL
msql_numfields | msql_num_fields() | mSQL
msql_numrows | msql_num_rows() | mSQL
msql_regcase | sql_regcase() | mSQL
msql_selectdb | msql_select_db() | mSQL
msql_tablename | msql_result() | mSQL
mssql_affected_rows | sybase_affected_rows() | Sybase
mssql_affected_rows | sybase_affected_rows() | Sybase
mssql_close | sybase_close() | Sybase
mssql_close | sybase_close() | Sybase
mssql_connect | sybase_connect() | Sybase
mssql_connect | sybase_connect() | Sybase
mssql_data_seek | sybase_data_seek() | Sybase
mssql_data_seek | sybase_data_seek() | Sybase
mssql_fetch_array | sybase_fetch_array() | Sybase
mssql_fetch_array | sybase_fetch_array() | Sybase
mssql_fetch_field | sybase_fetch_field() | Sybase
mssql_fetch_field | sybase_fetch_field() | Sybase
mssql_fetch_object | sybase_fetch_object() | Sybase
mssql_fetch_object | sybase_fetch_object() | Sybase
mssql_fetch_row | sybase_fetch_row() | Sybase
mssql_fetch_row | sybase_fetch_row() | Sybase
mssql_field_seek | sybase_field_seek() | Sybase
mssql_field_seek | sybase_field_seek() | Sybase
mssql_free_result | sybase_free_result() | Sybase
mssql_free_result | sybase_free_result() | Sybase
mssql_get_last_message | sybase_get_last_message() | Sybase
mssql_get_last_message | sybase_get_last_message() | Sybase
mssql_min_client_severity | sybase_min_client_severity() | Sybase
mssql_min_error_severity | sybase_min_error_severity() | Sybase
mssql_min_message_severity | sybase_min_message_severity() | Sybase
mssql_min_server_severity | sybase_min_server_severity() | Sybase
mssql_num_fields | sybase_num_fields() | Sybase
mssql_num_fields | sybase_num_fields() | Sybase
mssql_num_rows | sybase_num_rows() | Sybase
mssql_num_rows | sybase_num_rows() | Sybase
mssql_pconnect | sybase_pconnect() | Sybase
mssql_pconnect | sybase_pconnect() | Sybase
mssql_query | sybase_query() | Sybase
mssql_query | sybase_query() | Sybase
mssql_result | sybase_result() | Sybase
mssql_result | sybase_result() | Sybase
mssql_select_db | sybase_select_db() | Sybase
mssql_select_db | sybase_select_db() | Sybase
multcolor | swfdisplayitem_multColor() | Ming (flash)
mysql | mysql_db_query() | MySQL
mysql_createdb | mysql_create_db() | MySQL
mysql_db_name | mysql_result() | MySQL
mysql_dbname | mysql_result() | MySQL
mysql_dropdb | mysql_drop_db() | MySQL
mysql_fieldflags | mysql_field_flags() | MySQL
mysql_fieldlen | mysql_field_len() | MySQL
mysql_fieldname | mysql_field_name() | MySQL
mysql_fieldtable | mysql_field_table() | MySQL
mysql_fieldtype | mysql_field_type() | MySQL
mysql_freeresult | mysql_free_result() | MySQL
mysql_listdbs | mysql_list_dbs() | MySQL
mysql_listfields | mysql_list_fields() | MySQL
mysql_listtables | mysql_list_tables() | MySQL
mysql_numfields | mysql_num_fields() | MySQL
mysql_numrows | mysql_num_rows() | MySQL
mysql_selectdb | mysql_select_db() | MySQL
mysql_tablename | mysql_result() | MySQL
name | domxml_attrname() |
new_child | domxml_new_child() |
new_xmldoc | domxml_new_xmldoc() |
nextframe | swfmovie_nextFrame() | Ming (flash)
nextframe | swfsprite_nextFrame() | Ming (flash)
node | domxml_node() |
ociassignelem | OCI-Collection::assignElem | OCI8
ocibindbyname | oci_bind_by_name() | OCI8
ocicancel | oci_cancel() | OCI8
ocicloselob | OCI-Lob::close | OCI8
ocicollappend | OCI-Collection::append | OCI8
ocicollassign | OCI-Collection::assign | OCI8
ocicollmax | OCI-Collection::max | OCI8
ocicollsize | OCI-Collection::size | OCI8
ocicolltrim | OCI-Collection::trim | OCI8
ocicolumnisnull | oci_field_is_null() | OCI8
ocicolumnname | oci_field_name() | OCI8
ocicolumnprecision | oci_field_precision() | OCI8
ocicolumnscale | oci_field_scale() | OCI8
ocicolumnsize | oci_field_size() | OCI8
ocicolumntype | oci_field_type() | OCI8
ocicolumntyperaw | oci_field_type_raw() | OCI8
ocicommit | oci_commit() | OCI8
ocidefinebyname | oci_define_by_name() | OCI8
ocierror | oci_error() | OCI8
ociexecute | oci_execute() | OCI8
ocifetch | oci_fetch() | OCI8
ocifetchinto | oci_fetch_array(), oci_fetch_row(), oci_fetch_assoc(), oci_fetch_object() | OCI8
ocifetchstatement | oci_fetch_all() | OCI8
ocifreecollection | OCI-Collection::free | OCI8
ocifreecursor | oci_free_statement() | OCI8
ocifreedesc | oci_free_descriptor() | OCI8
ocifreestatement | oci_free_statement() | OCI8
ocigetelem | OCI-Collection::getElem | OCI8
ociinternaldebug | oci_internal_debug() | OCI8
ociloadlob | OCI-Lob::load | OCI8
ocilogon | oci_connect() | OCI8
ocinewcollection | oci_new_collection() | OCI8
ocinewcursor | oci_new_cursor() | OCI8
ocinewdescriptor | oci_new_descriptor() | OCI8
ocinlogon | oci_new_connect() | OCI8
ocinumcols | oci_num_fields() | OCI8
ociparse | oci_parse() | OCI8
ocipasswordchange | oci_password_change() | OCI8
ociplogon | oci_pconnect() | OCI8
ociresult | oci_result() | OCI8
ocirollback | oci_rollback() | OCI8
ocisavelob | OCI-Lob::save | OCI8
ocisavelobfile | OCI-Lob::import | OCI8
ociserverversion | oci_server_version() | OCI8
ocisetprefetch | oci_set_prefetch() | OCI8
ocistatementtype | oci_statement_type() | OCI8
ociwritelobtofile | OCI-Lob::export | OCI8
ociwritetemporarylob | OCI-Lob::writeTemporary | OCI8
odbc_do | odbc_exec() | ODBC
odbc_field_precision | odbc_field_len() | ODBC
output | swfmovie_output() | Ming (flash)
parent | domxml_parent() |
pdf_add_outline | pdf_add_bookmark() | PDF
pg_clientencoding | pg_client_encoding() | PostgreSQL
pg_setclientencoding | pg_set_client_encoding() | PostgreSQL
pos | current() | Sintaxis base
recode | recode_string() | Recode
remove | swfmovie_remove() | Ming (flash)
remove | swfsprite_remove() | Ming (flash)
rewind | rewinddir() | Sintaxis base
root | domxml_root() |
rotate | swfdisplayitem_rotate() | Ming (flash)
rotateto | swfdisplayitem_rotateTo() | Ming (flash)
rotateto | swffill_rotateTo() | Ming (flash)
save | swfmovie_save() | Ming (flash)
savetofile | swfmovie_saveToFile() | Ming (flash)
scale | swfdisplayitem_scale() | Ming (flash)
scaleto | swfdisplayitem_scaleTo() | Ming (flash)
scaleto | swffill_scaleTo() | Ming (flash)
set_attribute | domxml_set_attribute() |
set_content | domxml_set_content() |
setaction | swfbutton_setAction() | Ming (flash)
setattr | domxml_set_attribute() |
setbackground | swfmovie_setBackground() | Ming (flash)
setbounds | swftextfield_setBounds() | Ming (flash)
setcolor | swftext_setColor() | Ming (flash)
setcolor | swftextfield_setColor() | Ming (flash)
setdepth | swfdisplayitem_setDepth() | Ming (flash)
setdimension | swfmovie_setDimension() | Ming (flash)
setdown | swfbutton_setDown() | Ming (flash)
setfont | swftext_setFont() | Ming (flash)
setfont | swftextfield_setFont() | Ming (flash)
setframes | swfmovie_setFrames() | Ming (flash)
setframes | swfsprite_setFrames() | Ming (flash)
setheight | swftext_setHeight() | Ming (flash)
setheight | swftextfield_setHeight() | Ming (flash)
sethit | swfbutton_setHit() | Ming (flash)
setindentation | swftextfield_setIndentation() | Ming (flash)
setleftfill | swfshape_setleftfill() | Ming (flash)
setleftmargin | swftextfield_setLeftMargin() | Ming (flash)
setline | swfshape_setline() | Ming (flash)
setlinespacing | swftextfield_setLineSpacing() | Ming (flash)
setmargins | swftextfield_setMargins() | Ming (flash)
setmatrix | swfdisplayitem_setMatrix() | Ming (flash)
setname | swfdisplayitem_setName() | Ming (flash)
setname | swftextfield_setName() | Ming (flash)
setover | swfbutton_setOver() | Ming (flash)
setrate | swfmovie_setRate() | Ming (flash)
setratio | swfdisplayitem_setRatio() | Ming (flash)
setrightfill | swfshape_setrightfill() | Ming (flash)
setrightmargin | swftextfield_setRightMargin() | Ming (flash)
setspacing | swftext_setSpacing() | Ming (flash)
setup | swfbutton_setUp() | Ming (flash)
show_source | highlight_file() | Sintaxis base
sizeof | count() | Sintaxis base
skewx | swfdisplayitem_skewX() | Ming (flash)
skewxto | swfdisplayitem_skewXTo() | Ming (flash)
skewxto | swffill_skewXTo() | Ming (flash)
skewy | swfdisplayitem_skewY() | Ming (flash)
skewyto | swfdisplayitem_skewYTo() | Ming (flash)
skewyto | swffill_skewYTo() | Ming (flash)
snmpwalkoid | snmprealwalk() | SNMP
strchr | strstr() | Sintaxis base
streammp3 | swfmovie_streamMp3() | Ming (flash)
swfaction | swfaction_init() | Ming (flash)
swfbitmap | swfbitmap_init() | Ming (flash)
swfbutton | swfbutton_init() | Ming (flash)
swffill | swffill_init() | Ming (flash)
swffont | swffont_init() | Ming (flash)
swfgradient | swfgradient_init() | Ming (flash)
swfmorph | swfmorph_init() | Ming (flash)
swfmovie | swfmovie_init() | Ming (flash)
swfshape | swfshape_init() | Ming (flash)
swfsprite | swfsprite_init() | Ming (flash)
swftext | swftext_init() | Ming (flash)
swftextfield | swftextfield_init() | Ming (flash)
unlink | domxml_unlink_node() |
xptr_new_context | xpath_new_context() |

Estado
Lista de palabras reservadas
Apéndices


Lista de palabras reservadas
Apéndices
PHP Manual

Lista de palabras reservadas

Tabla de contenidos

  • Lista de palabras reservadas
  • Clases predefinidas
  • Constantes predefinidas

A continuación se muestra un listado de los identificadores predefinidos en PHP. Ninguno de estos identificadores se puede usar como identificador en los scripts. Estas listas incluyen tanto palabras reservadas como variables predefinidas, constantes, y nombres de clases. Estas listas no son ni exhaustivas ni completas.

Listado de funciones alias
Lista de palabras reservadas
Apéndices


Lista de palabras reservadas
Clases predefinidas
Lista de palabras reservadas
PHP Manual

Lista de palabras reservadas

Estas palabras tienen un significado especial en PHP. Algunas representan cosas que se parecen a funciones, otras se parecen a constantes, etc.; pero no lo son en realidad: son constructores del lenguaje. No se puede usar ninguna de las siguientes palabras como constantes, nombres de clases, nombres de funciones o métodos. Se pueden usar como nombres de variables, pero podría dar lugar a confusiones.

Palabras reservadas de PHP
__halt_compiler() | abstract | and | array() | as
break | callable (a partir de PHP 5.4) | case | catch | class
clone | const | continue | declare | default
die() | do | echo | else | elseif
empty() | enddeclare | endfor | endforeach | endif
endswitch | endwhile | eval() | exit() | extends
final | finally (a partir de PHP 5.5) | for | foreach | function
global | goto (a partir de PHP 5.3) | if | implements | include
include_once | instanceof | insteadof (a partir de PHP 5.4) | interface | isset()
list() | namespace (a partir de PHP 5.3) | new | or | print
private | protected | public | require | require_once
return | static | switch | throw | trait (a partir de PHP 5.4)
try | unset() | use | var | while
xor | yield (a partir de PHP 5.5) |  |  |
Constantes en tiempo de compilación
__CLASS__ | __DIR__ (a partir de PHP 5.3) | __FILE__ | __FUNCTION__ | __LINE__ | __METHOD__
__NAMESPACE__ (a partir de PHP 5.3) | __TRAIT__ (a partir de PHP 5.4) |  |  |  |
Lista de palabras reservadas
Clases predefinidas
Lista de palabras reservadas
PHP Manual


Clases predefinidas

Esta sección enumera las clases predefinidas estándar. Varias extensiones definen otras clases, las cuales se describen en sus respectivas secciones.

Clases definidas estándar

Estas clases están definidas en el conjunto estándar de funciones que se incluyen en la compilación de PHP.

Directory
Creada por dir().
stdClass
Creada en la conversión al tipo object.
__PHP_Incomplete_Class
Posiblemente creada por unserialize().

Clases predefinidas a partir de PHP 5

Estas clases predefinidas adicionales se introdujeron en PHP 5.0.0.

Exception
ErrorException
Disponible desde PHP 5.1.0.
php_user_filter

Closure

La clase final predefinida Closure fue introducida en PHP 5.5.0. Se usa para representar funciones anónimas.

Para más información, véase la página de su clase.

Generator

La clase final predefinida Generator fue introducida en PHP 5.5.0. Se usa para representar generadores.

Para más información, véase la página de su clase.

Clases especiales

Los siguientes identificadores no se pueden usar como nombres de clase, dado que tienen un propósito especial.

self
Clase actual.
static
Clase actual en tiempo de ejecución.
parent
Clase madre.
Lista de palabras reservadas
Constantes predefinidas
Lista de palabras reservadas


Constantes predefinidas

Constantes predefinidas del núcleo

Estas constantes están definidas por el núcleo de PHP. Esto incluye PHP, el motor Zend, y los módulos SAPI.

PHP_VERSION (string)
La versión actual de PHP en notación "mayor.menor.edición[extra]".
PHP_MAJOR_VERSION (integer)
La versión "mayor" actual de PHP como valor integer (p.ej., int(5) en la versión "5.2.7-extra"). Disponible desde PHP 5.2.7.
PHP_MINOR_VERSION (integer)
La versión "menor" actual de PHP como valor integer (p.ej, int(2) en la versión "5.2.7-extra"). Disponible desde PHP 5.2.7.
PHP_RELEASE_VERSION (integer)
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"). Disponible desde PHP 5.2.7.
PHP_VERSION_ID (integer)
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"). Disponible desde PHP 5.2.7.
PHP_EXTRA_VERSION (string)
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. Disponible desde PHP 5.2.7.
PHP_ZTS (integer)
Disponible desde PHP 5.2.7.
PHP_DEBUG (integer)
Disponible desde PHP 5.2.7.
PHP_MAXPATHLEN (integer)
La longitud máxima de los nombres de ficheros (incluyendo directorios) soportada por la compilación de PHP. Disponible desde PHP 5.3.0.
PHP_OS (string)
PHP_SAPI (string)
La API del servidor de la compilación de PHP. Disponible desde PHP 4.2.0. Vea también php_sapi_name().
PHP_EOL (string)
El símbolo 'Fin De Línea' correcto de la plataforma en uso. Disponible desde PHP 4.3.10 y PHP 5.0.2
PHP_INT_MAX (integer)
El valor integer más grande soportado en esta compilación de PHP. Normalmente int(2147483647). Disponible desde PHP 4.4.0 y PHP 5.0.5
PHP_INT_SIZE (integer)
Disponible desde PHP 4.4.0 y PHP 5.0.5
DEFAULT_INCLUDE_PATH (string)
PEAR_INSTALL_DIR (string)
PEAR_EXTENSION_DIR (string)
PHP_EXTENSION_DIR (string)
PHP_PREFIX (string)
El valor de "--prefix" usado en la configuración. Disponible desde PHP 4.3.0.
PHP_BINDIR (string)
Especifica dónde se instalaron los binarios.
PHP_BINARY (string)
Especifica la ruta de los binarios de PHP durante la ejecución del script. Disponible desde PHP 5.4.
PHP_MANDIR (string)
Especifica dónde están instalados los manuales. Disponible desde PHP 5.3.7.
PHP_LIBDIR (string)
PHP_DATADIR (string)
PHP_SYSCONFDIR (string)
PHP_LOCALSTATEDIR (string)
PHP_CONFIG_FILE_PATH (string)
PHP_CONFIG_FILE_SCAN_DIR (string)
PHP_SHLIB_SUFFIX (string)
Sufijo de las bibliotecas compartidas de la plataforma de compilación, como "so" (mayoría de plataformas Unix) o "dll" (Windows). Disponible desde PHP 4.3.0
E_ERROR (integer)
Constante de informe de error
E_WARNING (integer)
E_PARSE (integer)
E_NOTICE (integer)
E_CORE_ERROR (integer)
E_CORE_WARNING (integer)
E_COMPILE_ERROR (integer)
E_COMPILE_WARNING (integer)
E_USER_ERROR (integer)
E_USER_WARNING (integer)
E_USER_NOTICE (integer)
E_DEPRECATED (integer)
Disponible desde PHP 5.3.0
E_USER_DEPRECATED (integer)
Disponible desde PHP 5.3.0
E_ALL (integer)
E_STRICT (integer)
Disponible desde PHP 5.0.0
__COMPILER_HALT_OFFSET__ (integer)
Disponible desde PHP 5.1.0
TRUE (boolean)
Ver también Booleanos.
FALSE (boolean)
Ver también Booleanos.
NULL (boolean)
Ver también Null.

Vea también: Constantes mágicas.

Constantes predefinidas estándar

Todas las constantes de extensiones del núcleo están definidas en PHP de manera predeterminada.

Clases predefinidas
Lista de Tipos de Recurso
Lista de palabras reservadas


Lista de Tipos de Recurso

La siguiente es una lista de las funciones que crean, usan o destruyen recursos PHP. La función is_resource() se puede usar para determinar si una variable es un recurso, y get_resource_type() devolverá el tipo de recurso que es.

Tipos de recursos
Nombre del tipo de recurso | Creado por | Usado por | Destruido por | Definición
aspell | aspell_new() | aspell_check(), aspell_check_raw(), aspell_suggest() | Nadie | Diccionario aspell
bzip2 | bzopen() | bzerrno(), bzerror(), bzerrstr(), bzflush(), bzread(), bzwrite() | bzclose() | Fichero bzip2
COM | com_load() | com_invoke(), com_propget(), com_get(), com_propput(), com_set(), com_propput() | Nadie | Referencia a objeto COM
VARIANT
cpdf | cpdf_open() | cpdf_page_init(), cpdf_finalize_page(), cpdf_finalize(), cpdf_output_buffer(), cpdf_save_to_file(), cpdf_set_current_page(), cpdf_begin_text(), cpdf_end_text(), cpdf_show(), cpdf_show_xy(), cpdf_text(), cpdf_set_font(), cpdf_set_leading(), cpdf_set_text_rendering(), cpdf_set_horiz_scaling(), cpdf_set_text_rise(), cpdf_set_text_matrix(), cpdf_set_text_pos(), cpdf_set_text_pos(), cpdf_set_word_spacing(), cpdf_continue_text(), cpdf_stringwidth(), cpdf_save(), cpdf_translate(), cpdf_restore(), cpdf_scale(), cpdf_rotate(), cpdf_setflat(), cpdf_setlinejoin(), cpdf_setlinecap(), cpdf_setmiterlimit(), cpdf_setlinewidth(), cpdf_setdash(), cpdf_moveto(), cpdf_rmoveto(), cpdf_curveto(), cpdf_lineto(), cpdf_rlineto(), cpdf_circle(), cpdf_arc(), cpdf_rect(), cpdf_closepath(), cpdf_stroke(), cpdf_closepath_fill_stroke(), cpdf_fill_stroke(), cpdf_clip(), cpdf_fill(), cpdf_setgray_fill(), cpdf_setgray_stroke(), cpdf_setgray(), cpdf_setrgbcolor_fill(), cpdf_setrgbcolor_stroke(), cpdf_setrgbcolor(), cpdf_add_outline(), cpdf_set_page_animation(), cpdf_import_jpeg(), cpdf_place_inline_image(), cpdf_add_annotation() | cpdf_close() | Documento PDF con la biblioteca CPDF
cpdf outline
cubrid connection | cubrid_connect() cubrid_connect_with_url() | cubrid_col_get() cubrid_col_size() cubrid_commit() cubrid_drop() cubrid_execute() cubrid_get_autocommit() cubrid_get_charset() cubrid_get_class_name() cubrid_get_db_parameter() cubrid_get_server_info() cubrid_get() cubrid_insert_id() cubrid_is_instance() cubrid_lob_export() cubrid_lob_get() cubrid_lob_send() cubrid_lock_read() cubrid_lock_write() cubrid_prepare() cubrid_put() cubrid_rollback() cubrid_schema() cubrid_seq_drop() cubrid_seq_insert() cubrid_seq_put() cubrid_set_add() cubrid_set_autocommit() cubrid_set_db_parameter() cubrid_set_drop() cubrid_affected_rows() cubrid_client_encoding() cubrid_errno() cubrid_error() cubrid_list_dbs() cubrid_ping() cubrid_query() cubrid_real_escape_string() | cubrid_close() cubrid_disconnect() | Conexión a una base de datos de CUBRID
persistent cubrid connection | cubrid_pconnect() cubrid_pconnect_with_url() | cubrid_col_get() cubrid_col_size() cubrid_commit() cubrid_drop() cubrid_execute() cubrid_get_autocommit() cubrid_get_charset() cubrid_get_class_name() cubrid_get_db_parameter() cubrid_get_server_info() cubrid_get() cubrid_insert_id() cubrid_is_instance() cubrid_lob_export() cubrid_lob_get() cubrid_lob_send() cubrid_lock_read() cubrid_lock_write() cubrid_prepare() cubrid_put() cubrid_rollback() cubrid_schema() cubrid_seq_drop() cubrid_seq_insert() cubrid_seq_put() cubrid_set_add() cubrid_set_autocommit() cubrid_set_db_parameter() cubrid_set_drop() cubrid_affected_rows() cubrid_client_encoding() cubrid_errno() cubrid_error() cubrid_list_dbs() cubrid_ping() cubrid_query() cubrid_real_escape_string() cubrid_lob2_new() | Conexión persistente a una base de datos de CUBRID
cubrid request | cubrid_prepare() cubrid_execute() cubrid_query() cubrid_unbuffered_query() | cubrid_bind() cubrid_column_names() cubrid_column_types() cubrid_current_oid() cubrid_execute() cubrid_free_result() cubrid_get_query_timeout() cubrid_move_cursor() cubrid_next_result() cubrid_num_cols() cubrid_num_rows() cubrid_set_query_timeout() cubrid_data_seek() cubrid_fetch_array() cubrid_fetch_assoc() cubrid_fetch_field() cubrid_fetch_lengths() cubrid_fetch_object() cubrid_fetch_row() cubrid_field_flags() cubrid_field_len() cubrid_field_name() cubrid_field_seek() cubrid_field_table() cubrid_field_type() cubrid_num_fields() cubrid_result() cubrid_lob2_bind() | cubrid_close_prepare() cubrid_close_request() | Solicitud de CUBRID
cubrid lob | cubrid_lob_get() | cubrid_lob_export() cubrid_lob_send() cubrid_lob_size() | cubrid_lob_close() | Nadie
cubrid lob2 | cubrid_lob2_new() cubrid_fetch() cubrid_fetch_row() cubrid_fetch_array() cubrid_fetch_assoc() cubrid_fetch_object() | cubrid_lob2_export() cubrid_lob2_import() cubrid_lob2_read() cubrid_lob2_write() cubrid_lob2_tell() cubrid_lob2_tell64() cubrid_lob2_seek() cubrid_lob2_seek64() cubrid_lob2_size() cubrid_lob2_size64() | cubrid_lob2_close() | Nadie
curl | curl_copy_handle(), curl_init() | curl_copy_handle(), curl_errno(), curl_error(), curl_exec(), curl_getinfo(), curl_setopt() | curl_close() | Sesión de curl
dbm | dbmopen() | dbmexists(), dbmfetch(), dbminsert(), dbmreplace(), dbmdelete(), dbmfirstkey(), dbmnextkey() | dbmclose() | Enlace a una base de datos DBM
dba | dba_open() | dba_delete(), dba_exists(), dba_fetch(), dba_firstkey(), dba_insert(), dba_nextkey(), dba_optimize(), dba_replace(), dba_sync() | dba_close() | Enlace a una base de datos DBA
dba persistent | dba_popen() | dba_delete(), dba_exists(), dba_fetch(), dba_firstkey(), dba_insert(), dba_nextkey(), dba_optimize(), dba_replace(), dba_sync() | Nadie | Enlace persistente a una base de datos DBA
dbase | dbase_open() | dbase_pack(), dbase_add_record(), dbase_replace_record(), dbase_delete_record(), dbase_get_record(), dbase_get_record_with_names(), dbase_numfields(), dbase_numrecords() | dbase_close() | Enlace a una base de datos Dbase
dbx_link_object | dbx_connect() | dbx_query() | dbx_close() | dbx connection
dbx_result_object | dbx_query() | Nadie | Resultado dbx
domxml attribute
domxml document
domxml node
xpath context
xpath object
fbsql link | fbsql_change_user(), fbsql_connect() | fbsql_autocommit(), fbsql_blob_size(), fbsql_clob_size(), fbsql_commit(), fbsql_change_user(), fbsql_create_blob(), fbsql_create_db(), fbsql_create_clob(), fbsql_data_seek(), fbsql_database_password(), fbsql_database(), fbsql_db_query(), fbsql_db_status(), fbsql_drop_db(), fbsql_errno(), fbsql_error(), fbsql_get_autostart_info(), fbsql_hostname(), fbsql_insert_id(), fbsql_list_dbs(), fbsql_password(), fbsql_read_blob(), fbsql_read_clob(), fbsql_rollback(), fbsql_select_db(), fbsql_set_password(), fbsql_set_transaction(), fbsql_start_db(), fbsql_stop_db(), fbsql_username() | fbsql_close() | Enlace a una base de datos fbsql
fbsql plink | fbsql_change_user(), fbsql_pconnect() | fbsql_autocommit(), fbsql_change_user(), fbsql_create_db(), fbsql_data_seek(), fbsql_db_query(), fbsql_drop_db(), fbsql_select_db(), fbsql_errno(), fbsql_error(), fbsql_insert_id(), fbsql_list_dbs() | Nadie | Enlace persistente a una base de datos fbsql
fbsql result | fbsql_db_query(), fbsql_list_dbs(), fbsql_query(), fbsql_list_fields(), fbsql_list_tables(), fbsql_tablename() | fbsql_affected_rows(), fbsql_fetch_array(), fbsql_fetch_assoc(), fbsql_fetch_field(), fbsql_fetch_lengths(), fbsql_fetch_object(), fbsql_fetch_row(), fbsql_field_flags(), fbsql_field_name(), fbsql_field_len(), fbsql_field_seek(), fbsql_field_table(), fbsql_field_type(), fbsql_next_result(), fbsql_num_fields(), fbsql_num_rows(), fbsql_result(), fbsql_num_rows() | fbsql_free_result() | Resultado de fbsql
fdf | fdf_open() | fdf_create(), fdf_save(), fdf_get_value(), fdf_set_value(), fdf_next_field_name(), fdf_set_ap(), fdf_set_status(), fdf_get_status(), fdf_set_file(), fdf_get_file(), fdf_set_flags(), fdf_set_opt(), fdf_set_submit_form_action(), fdf_set_javascript_action() | fdf_close() | Fichero FDF
ftp | ftp_connect(), ftp_ssl_connect() | ftp_login(), ftp_pwd(), ftp_cdup(), ftp_chdir(), ftp_mkdir(), ftp_rmdir(), ftp_nlist(), ftp_rawlist(), ftp_systype(), ftp_pasv(), ftp_get(), ftp_fget(), ftp_put(), ftp_fput(), ftp_size(), ftp_mdtm(), ftp_rename(), ftp_delete(), ftp_site(), ftp_alloc(), ftp_chmod(), ftp_exec(), ftp_get_option(), ftp_nb_continue(), ftp_nb_fget(), ftp_nb_fput(), ftp_nb_get(), ftp_nb_put(), ftp_raw(), ftp_set_option() | ftp_close() | Flujo FTP
gd | imagecreate(), imagecreatefromgd(), imagecreatefromgd2(), imagecreatefromgd2part(), imagecreatefromgif(), imagecreatefromjpeg(), imagecreatefrompng(), imagecreatefromwbmp(), imagecreatefromstring(), imagecreatefromxbm(), imagecreatefromxpm(), imagecreatetruecolor(), imagerotate() | imagearc(), imagechar(), imagecharup(), imagecolorallocate(), imagecolorat(), imagecolorclosest(), imagecolorexact(), imagecolorresolve(), imagegammacorrect(), imagegammacorrect(), imagecolorset(), imagecolorsforindex(), imagecolorstotal(), imagecolortransparent(), imagecopy(), imagecopyresized(), imagedashedline(), imagefill(), imagefilledpolygon(), imagefilledrectangle(), imagefilltoborder(), imagegif(), imagepng(), imagejpeg(), imagewbmp(), imageinterlace(), imageline(), imagepolygon(), imagepstext(), imagerectangle(), imagerotate(), imagesetpixel(), imagestring(), imagestringup(), imagesx(), imagesy(), imagettftext(), imagefilledarc(), imageellipse(), imagefilledellipse(), imagecolorclosestalpha(), imagecolorexactalpha(), imagecolorresolvealpha(), imagecopymerge(), imagecopymergegray(), imagecopyresampled(), imagetruecolortopalette(), imagesetbrush(), imagesettile(), imagesetthickness(), image2wbmp(), imagealphablending(), imageantialias(), imagecolorallocatealpha(), imagecolorclosesthwb(), imagecolordeallocate(), imagecolormatch(), imagefilter(), imagefttext(), imagegd(), imagegd2(), imageistruecolor(), imagelayereffect(), imagepalettecopy(), imagesavealpha(), imagesetstyle(), imagexbm() | imagedestroy() | Imagen GD
gd font | imageloadfont() | imagechar(), imagecharup(), imagefontheight() | Nadie | Tipo de letra para GD
gd PS encoding
gd PS font | imagepsloadfont() | imagepstext(), imagepsslantfont(), imagepsextendfont(), imagepsencodefont(), imagepsbbox() | imagepsfreefont() | Tipo de letra PS para GD
GMP integer | gmp_init() | gmp_intval(), gmp_strval(), gmp_add(), gmp_sub(), gmp_mul(), gmp_div_q(), gmp_div_r(), gmp_div_qr(), gmp_div(), gmp_mod(), gmp_divexact(), gmp_cmp(), gmp_neg(), gmp_abs(), gmp_sign(), gmp_fact(), gmp_sqrt(), gmp_sqrtrm(), gmp_perfect_square(), gmp_pow(), gmp_powm(), gmp_prob_prime(), gmp_gcd(), gmp_gcdext(), gmp_invert(), gmp_legendre(), gmp_jacobi(), gmp_random(), gmp_and(), gmp_or(), gmp_xor(), gmp_setbit(), gmp_clrbit(), gmp_scan0(), gmp_scan1(), gmp_popcount(), gmp_hamdist() | Nadie | Número GMP
hyperwave document | hw_cp(), hw_docbyanchor(), hw_getremote(), hw_getremotechildren() | hw_children(), hw_childrenobj(), hw_getparents(), hw_getparentsobj(), hw_getchildcoll(), hw_getchildcollobj(), hw_getremote(), hw_getsrcbydestobj(), hw_getandlock(), hw_gettext(), hw_getobjectbyquerycoll(), hw_getobjectbyquerycollobj(), hw_getchilddoccoll(), hw_getchilddoccollobj(), hw_getanchors(), hw_getanchorsobj(), hw_inscoll(), hw_pipedocument(), hw_unlock() | hw_deleteobject() | Objeto hyperwave
hyperwave link | hw_connect() | hw_children(), hw_childrenobj(), hw_cp(), hw_deleteobject(), hw_docbyanchor(), hw_docbyanchorobj(), hw_errormsg(), hw_edittext(), hw_error(), hw_getparents(), hw_getparentsobj(), hw_getchildcoll(), hw_getchildcollobj(), hw_getremote(), hw_getremotechildren(), hw_getsrcbydestobj(), hw_getobject(), hw_getandlock(), hw_gettext(), hw_getobjectbyquery(), hw_getobjectbyqueryobj(), hw_getobjectbyquerycoll(), hw_getobjectbyquerycollobj(), hw_getchilddoccoll(), hw_getchilddoccollobj(), hw_getanchors(), hw_getanchorsobj(), hw_mv(), hw_incollections(), hw_info(), hw_inscoll(), hw_insdoc(), hw_insertdocument(), hw_insertobject(), hw_mapid(), hw_modifyobject(), hw_pipedocument(), hw_unlock(), hw_who(), hw_getusername() | hw_close(), hw_free_document() | Enlace a un servidor Hyperwave
hyperwave link persistent | hw_pconnect() | hw_children(), hw_childrenobj(), hw_cp(), hw_deleteobject(), hw_docbyanchor(), hw_docbyanchorobj(), hw_errormsg(), hw_edittext(), hw_error(), hw_getparents(), hw_getparentsobj(), hw_getchildcoll(), hw_getchildcollobj(), hw_getremote(), hw_getremotechildren(), hw_getsrcbydestobj(), hw_getobject(), hw_getandlock(), hw_gettext(), hw_getobjectbyquery(), hw_getobjectbyqueryobj(), hw_getobjectbyquerycoll(), hw_getobjectbyquerycollobj(), hw_getchilddoccoll(), hw_getchilddoccollobj(), hw_getanchors(), hw_getanchorsobj(), hw_mv(), hw_incollections(), hw_info(), hw_inscoll(), hw_insdoc(), hw_insertdocument(), hw_insertobject(), hw_mapid(), hw_modifyobject(), hw_pipedocument(), hw_unlock(), hw_who(), hw_getusername() | Nadie | Enlace persistente a un servidor Hyperwave
icap | icap_open() | icap_fetch_event(), icap_list_events(), icap_store_event(), icap_snooze(), icap_list_alarms(), icap_delete_event() | icap_close() | Enlace a un servidor icap
imap | imap_open() | imap_append(), imap_body(), imap_check(), imap_createmailbox(), imap_delete(), imap_deletemailbox(), imap_expunge(), imap_fetchbody(), imap_fetchstructure(), imap_headerinfo(), imap_header(), imap_headers(), imap_listmailbox(), imap_getmailboxes(), imap_get_quota(), imap_status(), imap_listsubscribed(), imap_set_quota(), imap_set_quota(), imap_getsubscribed(), imap_mail_copy(), imap_mail_move(), imap_num_msg(), imap_num_recent(), imap_ping(), imap_renamemailbox(), imap_reopen(), imap_subscribe(), imap_undelete(), imap_unsubscribe(), imap_scanmailbox(), imap_mailboxmsginfo(), imap_fetchheader(), imap_uid(), imap_msgno(), imap_search(), imap_fetch_overview() | imap_close() | Enlace a un servidor IMAP, POP3
imap chain persistent
imap persistent
ingres | ingres_connect() | ingres_query(), ingres_num_rows(), ingres_num_fields(), ingres_field_name(), ingres_field_type(), ingres_field_nullable(), ingres_field_length(), ingres_field_precision(), ingres_field_scale(), ingres_fetch_array(), ingres_fetch_row(), ingres_fetch_object(), ingres_rollback(), ingres_commit(), ingres_autocommit() | ingres_close() | Enlace a un base de datos ingresII
ingres persistent | ingres_pconnect() | ingres_query(), ingres_num_rows(), ingres_num_fields(), ingres_field_name(), ingres_field_type(), ingres_field_nullable(), ingres_field_length(), ingres_field_precision(), ingres_field_scale(), ingres_fetch_array(), ingres_fetch_row(), ingres_fetch_object(), ingres_rollback(), ingres_commit(), ingres_autocommit() | Nadie | Enlace persistente a una base de datos ingresII
interbase blob
interbase link | ibase_connect() | ibase_query(), ibase_prepare(), ibase_trans() | ibase_close() | Enlace a una base de datos Interbase
interbase link persistent | ibase_pconnect() | ibase_query(), ibase_prepare(), ibase_trans() | Nadie | Enlace persistente a una base de datos Interbase
interbase query | ibase_prepare() | ibase_execute() | ibase_free_query() | Consulta de Interbase
interbase result | ibase_query() | ibase_fetch_row(), ibase_fetch_object(), ibase_field_info(), ibase_num_fields() | ibase_free_result() | Resultado de Interbase
interbase transaction | ibase_trans() | ibase_commit() | ibase_rollback() | Transacción de Interbase
java
ldap link | ldap_connect(), ldap_search() | ldap_count_entries(), ldap_first_attribute(), ldap_first_entry(), ldap_get_attributes(), ldap_get_dn(), ldap_get_entries(), ldap_get_values(), ldap_get_values_len(), ldap_next_attribute(), ldap_next_entry() | ldap_close() | Conexión de ldap
ldap result | ldap_read() | ldap_add(), ldap_compare(), ldap_bind(), ldap_count_entries(), ldap_delete(), ldap_errno(), ldap_error(), ldap_first_attribute(), ldap_first_entry(), ldap_get_attributes(), ldap_get_dn(), ldap_get_entries(), ldap_get_values(), ldap_get_values_len(), ldap_get_option(), ldap_list(), ldap_modify(), ldap_mod_add(), ldap_mod_replace(), ldap_next_attribute(), ldap_next_entry(), ldap_mod_del(), ldap_set_option(), ldap_unbind() | ldap_free_result() | Resultado de búsqueda de ldap
ldap result entry
mcal | mcal_open(), mcal_popen() | mcal_create_calendar(), mcal_rename_calendar(), mcal_rename_calendar(), mcal_delete_calendar(), mcal_fetch_event(), mcal_list_events(), mcal_append_event(), mcal_store_event(), mcal_delete_event(), mcal_list_alarms(), mcal_event_init(), mcal_event_set_category(), mcal_event_set_title(), mcal_event_set_description(), mcal_event_set_start(), mcal_event_set_end(), mcal_event_set_alarm(), mcal_event_set_class(), mcal_next_recurrence(), mcal_event_set_recur_none(), mcal_event_set_recur_daily(), mcal_event_set_recur_weekly(), mcal_event_set_recur_monthly_mday(), mcal_event_set_recur_monthly_wday(), mcal_event_set_recur_yearly(), mcal_fetch_current_stream_event(), mcal_event_add_attribute(), mcal_expunge() | mcal_close() | Enlace a un servidor de calendario
SWFAction
SWFBitmap
SWFButton
SWFDisplayItem
SWFFill
SWFFont
SWFGradient
SWFMorph
SWFMovie
SWFShape
SWFSprite
SWFText
SWFTextField
mnogosearch agent
mnogosearch result
msql link | msql_connect() | msql(), msql_create_db(), msql_createdb(), msql_drop_db(), msql_drop_db(), msql_select_db(), msql_select_db() | msql_close() | Enlace a una base de datos mSQL
msql link persistent | msql_pconnect() | msql(), msql_create_db(), msql_createdb(), msql_drop_db(), msql_drop_db(), msql_select_db(), msql_select_db() | Nadie | Enlace persistente a mSQL
msql query | msql_db_query(), msql_list_dbs(), msql_list_fields(), msql_list_tables(), msql_query() | msql(), msql_affected_rows(), msql_data_seek(), msql_dbname(), msql_fetch_array(), msql_fetch_field(), msql_fetch_object(), msql_fetch_row(), msql_field_seek(), msql_field_table(), msql_field_flags(), msql_field_len(), msql_field_name(), msql_field_type(), msql_num_fields(), msql_num_rows(), msql_numfields(), msql_numrows(), msql_result() | msql_free_result(), msql_free_result() | Resultado de mSQL
mssql link | mssql_connect() | mssql_query(), mssql_select_db() | mssql_close() | Enlace a una base de datos Microsoft SQL Server
mssql link persistent | mssql_pconnect() | mssql_query(), mssql_select_db() | Nadie | Enlace persistente a Microsoft SQL Server
mssql result | mssql_query() | mssql_data_seek(), mssql_fetch_array(), mssql_fetch_field(), mssql_fetch_object(), mssql_fetch_row(), mssql_field_length(), mssql_field_name(), mssql_field_seek(), mssql_field_type(), mssql_num_fields(), mssql_num_rows(), mssql_result() | mssql_free_result() | Rasultado de Microsoft SQL Server
mysql link | mysql_connect() | mysql_affected_rows(), mysql_change_user(), mysql_create_db(), mysql_data_seek(), mysql_db_name(), mysql_db_query(), mysql_drop_db(), mysql_errno(), mysql_error(), mysql_insert_id(), mysql_list_dbs(), mysql_list_fields(), mysql_list_tables(), mysql_query(), mysql_result(), mysql_select_db(), mysql_tablename(), mysql_get_host_info(), mysql_get_proto_info(), mysql_get_server_info() | mysql_close() | Enlace a una base de datos MySQL
mysql link persistent | mysql_pconnect() | mysql_affected_rows(), mysql_change_user(), mysql_create_db(), mysql_data_seek(), mysql_db_name(), mysql_db_query(), mysql_drop_db(), mysql_errno(), mysql_error(), mysql_insert_id(), mysql_list_dbs(), mysql_list_fields(), mysql_list_tables(), mysql_query(), mysql_result(), mysql_select_db(), mysql_tablename(), mysql_get_host_info(), mysql_get_proto_info(), mysql_get_server_info() | Nadie | Enlace persistente a una base de datos MySQL
mysql result | mysql_db_query(), mysql_list_dbs(), mysql_list_fields(), mysql_list_processes(), mysql_list_tables(), mysql_query(), mysql_unbuffered_query() | mysql_data_seek(), mysql_db_name(), mysql_fetch_array(), mysql_fetch_assoc(), mysql_fetch_field(), mysql_fetch_lengths(), mysql_fetch_object(), mysql_fetch_row(), mysql_fetch_row(), mysql_field_flags(), mysql_field_name(), mysql_field_len(), mysql_field_seek(), mysql_field_table(), mysql_field_type(), mysql_num_fields(), mysql_num_rows(), mysql_result(), mysql_tablename() | mysql_free_result() | Resultado de MySQL
oci8 collection | oci_new_collection() | OCI-Collection::append(), OCI-Collection::assign(), OCI-Collection::assignElem(), OCI-Collection::getElem(), OCI-Collection::max(), OCI-Collection::size(), OCI-Collection::trim() | OCI-Collection::free() | Colección de Oracle
oci8 connection | oci_connect(), oci_pconnect(), oci_new_connect() | oci_commit(), oci_error(), oci_new_cursor(), oci_parse(), oci_password_change(), oci_rollback(), oci_server_version(), oci_set_action(), oci_set_client_identifier(), oci_set_client_info(), oci_set_module_name() | oci_close() | Conexiión a base de datos de Oracle
oci8 lob | oci_new_descriptor() | OCI-Lob::append(), OCI-Lob::close(), OCI-Lob::eof(), OCI-Lob::erase(), OCI-Lob::export(), OCI-Lob::flush(), OCI-Lob::getBuffering(), OCI-Lob::import(), OCI-Lob::load(), OCI-Lob::read(), OCI-Lob::rewind(), OCI-Lob::save(), OCI-Lob::saveFile(), OCI-Lob::seek(), OCI-Lob::setBuffering(), OCI-Lob::size(), OCI-Lob::tell(), OCI-Lob::truncate(), OCI-Lob::write(), OCI-Lob::writeTemporary(), OCI-Lob::writeToFile(), oci_lob_copy(), oci_lob_is_equal() | OCI-Lob::free() | Objetos grandes de Oracle
oci8 statement | oci_parse(), oci_new_cursor() | oci_bind_array_by_name(), oci_bind_by_name(), oci_cancel(), oci_define_by_name(), oci_error() oci_execute(), oci_fetch_all(), oci_fetch_array(), oci_fetch_assoc(), oci_fetch_object(), oci_fetch_row(), oci_fetch(), oci_field_is_null(), oci_field_name(), oci_field_precision(), oci_field_scale(), oci_field_size(), oci_field_type_raw(), oci_field_type(), oci_num_fields(), oci_num_rows(), oci_result(), oci_set_prefetch(), oci_statement_type() | oci_free_statement() | Cursor de Oracle
odbc link | odbc_connect() | odbc_autocommit(), odbc_commit(), odbc_error(), odbc_errormsg(), odbc_exec(), odbc_tables(), odbc_tableprivileges(), odbc_do(), odbc_prepare(), odbc_columns(), odbc_columnprivileges(), odbc_procedurecolumns(), odbc_specialcolumns(), odbc_rollback(), odbc_setoption(), odbc_gettypeinfo(), odbc_primarykeys(), odbc_foreignkeys(), odbc_procedures(), odbc_statistics() | odbc_close() | Enlace a una base de datos ODBC
odbc link persistent | odbc_pconnect() | odbc_autocommit(), odbc_commit(), odbc_error(), odbc_errormsg(), odbc_exec(), odbc_tables(), odbc_tableprivileges(), odbc_do(), odbc_prepare(), odbc_columns(), odbc_columnprivileges(), odbc_procedurecolumns(), odbc_specialcolumns(), odbc_rollback(), odbc_setoption(), odbc_gettypeinfo(), odbc_primarykeys(), odbc_foreignkeys(), odbc_procedures(), odbc_statistics() | Nadie | Enlace persistente a una base de datos ODBC
odbc result | odbc_prepare() | odbc_binmode(), odbc_cursor(), odbc_execute(), odbc_fetch_into(), odbc_fetch_row(), odbc_field_name(), odbc_field_num(), odbc_field_type(), odbc_field_len(), odbc_field_precision(), odbc_field_scale(), odbc_longreadlen(), odbc_num_fields(), odbc_num_rows(), odbc_result(), odbc_result_all(), odbc_setoption() | odbc_free_result() | Resultado de ODBC
birdstep link
birdstep result
OpenSSL key | openssl_get_privatekey(), openssl_get_publickey() | openssl_sign(), openssl_seal(), openssl_open(), openssl_verify() | openssl_free_key() | Clave OpenSSL
OpenSSL X.509 | openssl_x509_read() | openssl_x509_parse(), openssl_x509_checkpurpose() | openssl_x509_free() | Clave pública
pdf document | pdf_new() | pdf_add_bookmark(), pdf_add_launchlink(), pdf_add_locallink(), pdf_add_note(), pdf_add_pdflink(), pdf_add_weblink(), pdf_arc(), pdf_attach_file(), pdf_begin_page(), pdf_circle(), pdf_clip(), pdf_closepath(), pdf_closepath_fill_stroke(), pdf_closepath_stroke(), pdf_concat(), pdf_continue_text(), pdf_curveto(), pdf_end_page(), pdf_endpath(), pdf_fill(), pdf_fill_stroke(), pdf_findfont(), pdf_get_buffer(), pdf_get_image_height(), pdf_get_image_width(), pdf_get_parameter(), pdf_get_value(), pdf_lineto(), pdf_moveto(), pdf_open_ccitt(), pdf_open_file(), pdf_open_image_file(), pdf_place_image(), pdf_rect(), pdf_restore(), pdf_rotate(), pdf_save(), pdf_scale(), pdf_setdash(), pdf_setflat(), pdf_setfont(), pdf_setgray(), pdf_setgray_fill(), pdf_setgray_stroke(), pdf_setlinecap(), pdf_setlinejoin(), pdf_setlinewidth(), pdf_setmiterlimit(), pdf_setpolydash(), pdf_setrgbcolor(), pdf_setrgbcolor_fill(), pdf_setrgbcolor_stroke(), pdf_set_border_color(), pdf_set_border_dash(), pdf_set_border_style(), pdf_set_char_spacing(), pdf_set_duration(), pdf_set_font(), pdf_set_horiz_scaling(), pdf_set_parameter(), pdf_set_text_pos(), pdf_set_text_rendering(), pdf_set_value(), pdf_set_word_spacing(), pdf_show(), pdf_show_boxed(), pdf_show_xy(), pdf_skew(), pdf_stringwidth(), pdf_stroke(), pdf_translate(), pdf_add_thumbnail(), pdf_arcn(), pdf_begin_pattern(), pdf_begin_template(), pdf_end_pattern(), pdf_end_template(), pdf_initgraphics(), pdf_makespotcolor(), pdf_set_info(), pdf_setcolor(), pdf_setmatrix(), pdf_open_memory_image() | pdf_close(), pdf_delete() | Documento PDF
pdf image | pdf_open_image(), pdf_open_image_file(), pdf_open_memory_image() | pdf_get_image_height(), pdf_get_image_width(), pdf_open_CCITT(), pdf_place_image() | pdf_close_image() | Imagen en un fichero PDF
pdf object
pdf outline
pgsql large object | pg_lo_open() | pg_lo_open(), pg_lo_create(), pg_lo_read(), pg_lo_read_all(), pg_lo_seek(), pg_lo_tell(), pg_lo_unlink(), pg_lo_write() | pg_lo_close() | Objeto Grande de PostgreSQL
pgsql link | pg_connect() | pg_affected_rows(), pg_query(), pg_send_query(), pg_get_result(), pg_connection_busy(), pg_connection_reset(), pg_connection_status(), pg_last_error(), pg_last_notice(), pg_lo_create(), pg_lo_export(), pg_lo_import(), pg_lo_open(), pg_lo_unlink(), pg_host(), pg_port(), pg_dbname(), pg_options(), pg_copy_from(), pg_copy_to(), pg_end_copy(), pg_put_line(), pg_tty(), pg_trace(), pg_untrace(), pg_set_client_encoding(), pg_client_encoding(), pg_metadata(), pg_convert(), pg_insert(), pg_select(), pg_delete(), pg_update() | pg_close() | Enlace a una base de datos PostgreSQL
pgsql link persistent | pg_pconnect() | pg_affected_rows(), pg_query(), pg_send_query(), pg_get_result(), pg_connection_busy(), pg_connection_reset(), pg_connection_status(), pg_last_error(), pg_last_notice(), pg_lo_create(), pg_lo_export(), pg_lo_import(), pg_lo_open(), pg_lo_unlink(), pg_host(), pg_port(), pg_dbname(), pg_options(), pg_copy_from(), pg_copy_to(), pg_end_copy(), pg_put_line(), pg_tty(), pg_trace(), pg_untrace(), pg_set_client_encoding(), pg_client_encoding(), pg_metadata(), pg_convert(), pg_insert(), pg_select(), pg_delete(), pg_update() | Nadie | Enlace persistente a una base de datos PostgreSQL
pgsql result | pg_execute(), pg_query(), pg_query_params(), pg_get_result() | pg_fetch_array(), pg_fetch_object(), pg_fetch_result(), pg_fetch_row(), pg_field_is_null(), pg_field_name(), pg_field_num(), pg_field_prtlen(), pg_field_size(), pg_field_type(), pg_last_oid(), pg_num_fields(), pg_num_rows(), pg_result_error(), pg_result_status() | pg_free_result() | Resultado de PostgreSQL
pgsql string
printer
printer brush
printer font
printer pen
pspell | pspell_new(), pspell_new_config(), pspell_new_personal() | pspell_add_to_personal(), pspell_add_to_session(), pspell_check(), pspell_clear_session(), pspell_config_ignore(), pspell_config_mode(), pspell_config_personal(), pspell_config_repl(), pspell_config_runtogether(), pspell_config_save_repl(), pspell_save_wordlist(), pspell_store_replacement(), pspell_suggest() | Nadie | Diccionario pspell
pspell config | pspell_config_create() | pspell_new_config() | Nadie | Configuración de pspell
Sablotron XSLT | xslt_create() | xslt_closelog(), xslt_openlog(), xslt_run(), xslt_set_sax_handler(), xslt_errno(), xslt_error(), xslt_fetch_result(), xslt_free() | xslt_free() | Analizador sintáctico XSLT
shmop | shmop_open() | shmop_read(), shmop_write(), shmop_size(), shmop_delete() | shmop_close()
sockets file descriptor set | socket() | accept_connect(), bind(), connect(), listen(), read(), write() | close() | Socket
sockets i/o vector
stream | opendir() | readdir(), rewinddir() | closedir() | Gestor de directorio
stream | fopen(), tmpfile() | feof(), fflush(), fgetc(), fgetcsv(), fgets(), fgetss(), flock(), fpassthru(), fputs(), fwrite(), fread(), fseek(), ftell(), fstat(), ftruncate(), set_file_buffer(), rewind() | fclose() | Gestor de fichero
stream | popen(), fsockopen(), pfsockopen() | feof(), fflush(), fgetc(), fgetcsv(), fgets(), fgetss(), fpassthru(), fputs(), fwrite(), fread() | pclose() | Gestor de proceso
socket | fflush(), fgetc(), fgetcsv(), fgets(), fgetss(), fpassthru(), fputs(), fwrite(), fread() | fclose() | Gestor de socket
sybase-db link | sybase_connect() | sybase_query(), sybase_select_db() | sybase_close() | Enlace a una base de datos Sybase usando la biblioteca DB
sybase-db link persistent | sybase_pconnect() | sybase_query(), sybase_select_db() | Nadie | Enlace persistente a una base de datos Sybase usando la biblioteca DB
sybase-db result | sybase_query(), sybase_unbuffered_query() | sybase_data_seek(), sybase_fetch_array(), sybase_fetch_field(), sybase_fetch_object(), sybase_fetch_row(), sybase_field_seek(), sybase_num_fields(), sybase_num_rows(), sybase_result() | sybase_free_result() | Resultado de Sybase usando la biblioteca DB
sybase-ct link | sybase_connect() | sybase_affected_rows(), sybase_query(), sybase_select_db() | sybase_close() | Enlace a una base de datos Sybase usando la biblioteca CT
sybase-ct link persistent | sybase_pconnect() | sybase_affected_rows(), sybase_query(), sybase_select_db() | Nadie | Enlace persistente a una base de datos Sybase usando la biblioteca CT
sybase-ct result | sybase_query() | sybase_data_seek(), sybase_fetch_array(), sybase_fetch_field(), sybase_fetch_object(), sybase_fetch_row(), sybase_field_seek(), sybase_num_fields(), sybase_num_rows(), sybase_result() | sybase_free_result() | Resultado de Sybase usando la biblioteca CT
sysvsem | sem_get() | sem_acquire() | sem_release() | Semáforo de System V
sysvshm | shm_attach() | shm_remove(), shm_put_var(), shm_get_var(), shm_remove_var() | shm_detach() | Memoria compartida de System V
wddx | wddx_packet_start() | wddx_add_vars() | wddx_packet_end() | Paquete WDDX
xml | xml_parser_create(), xml_parser_create_ns(), | xml_set_object(), xml_set_element_handler(), xml_set_character_data_handler(), xml_set_processing_instruction_handler(), xml_set_default_handler(), xml_set_unparsed_entity_decl_handler(), xml_set_notation_decl_handler(), xml_set_external_entity_ref_handler(), xml_parse(), xml_get_error_code(), xml_error_string(), xml_get_current_line_number(), xml_get_current_column_number(), xml_get_current_byte_index(), xml_parse_into_struct(), xml_parser_set_option(), xml_parser_get_option() | xml_parser_free() | Analizador sintáctico XML
zlib | gzopen() | gzeof(), gzgetc(), gzgets(), gzgetss(), gzpassthru(), gzputs(), gzread(), gzrewind(), gzseek(), gztell(), gzwrite() | gzclose() | Fichero comprimido gz

Constantes predefinidas
Lista de Filtros Disponibles
Apéndices


Lista de Filtros Disponibles

Tabla de contenidos

  • Filtros de Cadena
  • Filtros de Conversión
  • Filtros de Compresión
  • Filtros de Encripción

La siguiente es una lista de unos cuantos filtros de secuencia integrados que puede usar con stream_filter_append(). Su versión de PHP puede tener más (o menos) filtros de los que son listados aquí.

Vale la pena anotar una ligera asimetría entre stream_filter_append() y stream_filter_prepend(). Cada secuencia en PHP contiene un pequeño búfer de lectura en donde almacena los bloques de datos recibidos desde el sistema de archivos u otro recurso para procesar los datos de la forma más eficiente. Tan pronto como los datos son tomados del recurso y colocados en el búfer interno de la secuencia, éstos son procesados inmediatamente a través de cualquier filtro adjunto sin importar que la aplicación PHP esté lista para los datos o no. Si los datos están en el búfer de lectura cuando un filtro es añadido al final, los datos serán procesados inmediatamente a través del filtro haciendo parecer que el proceso fuera transparente. Sin embargo, si los datos están en el búfer de lectura cuando un filtro es adjuntado al comienzo, los datos NO serán procesados a través del filtro. En su lugar esperará a que el siguiente bloque de datos sea recuperado del recurso.

Para una lista de filtros instalados en su versión de PHP, use stream_get_filters().

Lista de Tipos de Recurso
Filtros de Cadena
Apéndices


Filtros de Cadena

Cada uno de estos filtros hace precisamente lo que sus nombres implican y corresponden al comportamiento de una función de manipulación de cadenas que hace parte de php. Para más información sobre un filtro dado, refiérase a la página del manual de la función correspondiente.

string.rot13 (a partir de PHP 4.3.0) El uso de este filtro es equivalente a procesar todos los datos de la secuencia a través de la función str_rot13().

Ejemplo #1 string.rot13

<?php
$da = fopen('php://output', 'w');
stream_filter_append($da, 'string.rot13');
fwrite($da, "Esto es una prueba.\n");
/* Imprime:  Rfgb rf han cehron. */
?>

string.toupper (a partir de PHP 5.0.0) El uso de este filtro es equivalente a procesar todos los datos de la secuencia a través de la función strtoupper().

Ejemplo #2 string.toupper

<?php
$da = fopen('php://output', 'w');
stream_filter_append($da, 'string.toupper');
fwrite($da, "Esto es una prueba.\n");
/* Imprime:  ESTO ES UNA PRUEBA.   */
?>

string.tolower (a partir de PHP 5.0.0) El uso de este filtro es equivalente a procesar todos los datos de la secuencia a través de la función strtolower().

Ejemplo #3 string.tolower

<?php
$da = fopen('php://output', 'w');
stream_filter_append($da, 'string.tolower');
fwrite($da, "Esto es una prueba.\n");
/* Imprime:  esto es una prueba.   */
?>

string.strip_tags (a partir de PHP 5.0.0) El uso de este filtro es equivalente a procesar todos los datos de la secuencia a través de la función strip_tags(). Acepta parámetros en una de dos formas: Ya sea como una cadena que contiene una lista de etiquetas, similar al segundo parámetro de la función strip_tags(), o como una matriz de nombres de etiqueta.

Ejemplo #4 string.strip_tags

<?php
$da = fopen('php://output', 'w');
stream_filter_append($da, 'string.strip_tags', STREAM_FILTER_WRITE, "<b><i><u>");
fwrite($da, "<b>texto en negrilla</b> llevado a <h1>nivel de cabecera 1</h1>\n");
fclose($da);
/* Imprime:  <b>texto en negrilla</b> llevado a nivel de cabecera 1   */

$da = fopen('php://output', 'w');
stream_filter_append($da, 'string.strip_tags', STREAM_FILTER_WRITE, array('b','i','u'));
fwrite($da, "<b>texto en negrilla</b> llevado a <h1>nivel de cabecera 1</h1>\n");
fclose($da);
/* Imprime:  <b>texto en negrilla</b> llevado a nivel de cabecera 1   */
?>
Lista de Filtros Disponibles
Filtros de Conversión
Lista de Filtros Disponibles


Filtros de Conversión

De forma similar a los filtros string.*, los filtros convert.* realizan acciones semejantes a sus nombres. Los filtros de conversión fueron agregados en PHP 5.0.0. Para más información sobre un filtro dado, refiérase a la página del manual sobre la función correspondiente.

convert.base64-encode y convert.base64-decode El uso de estos filtros es equivalente a procesar todos los datos de la secuencia a través de las funciones base64_encode() y base64_decode() respectivamente. convert.base64-encode soporta el uso de parámetros entregados como una matriz asociativa. Si se usa longitud-linea, la salida base64 será separada en paquetes de longitud-linea caracteres cada uno. Si se usa caracteres-final-de-linea, cada paquete será delimitado por los caracteres dados. Estos parámetros ofrecen el mismo efecto que usar base64_encode() con chunk_split().

Ejemplo #1 convert.base64-encode y convert.base64-decode

<?php
$da = fopen('php://output', 'w');
stream_filter_append($da, 'convert.base64-encode');
fwrite($da, "Esto es una prueba.\n");
fclose($da);
/* Imprime:  RXN0byBlcyB1bmEgcHJ1ZWJhLgo=  */

$param = array('line-length' => 8, 'line-break-chars' => "\r\n");
$da = fopen('php://output', 'w');
stream_filter_append($da, 'convert.base64-encode', STREAM_FILTER_WRITE, $param);
fwrite($da, "Esto es una prueba.\n");
fclose($da);
/* Imprime:  RXN0byBl
          :  cyB1bmEg
          :  cHJ1ZWJh
          :  Lgo=  */

$da = fopen('php://output', 'w');
stream_filter_append($da, 'convert.base64-decode');
fwrite($da, "RXN0byBlcyB1bmEgcHJ1ZWJhLgo=");
fclose($da);
/* Imprime:  Esto es una prueba.  */
?>

convert.quoted-printable-encode y convert.quoted-printable-decode El uso de la versión de docedificación de este filtro es equivalente a procesar todos los datos de la secuencia a través de la función quoted_printable_decode(). No existe una función equivalente a convert.quoted-printable-encode. convert.quoted-printable-encode soporta el uso de parámetros dados como una matriz asociativa. Adicionalmente a los parámetros soportados por convert.base64-encode, convert.quoted-printable-encode soporta también los argumentos booleanos binary y force-encode-first. convert.base64-decode soporta únicamente el parámetro line-break-chars como una sugerencia del tipo para eliminar del material codificado.

Ejemplo #2 convert.quoted-printable-encode y convert.quoted-printable-decode

<?php
$da = fopen('php://output', 'w');
stream_filter_append($da, 'convert.quoted-printable-encode');
fwrite($da, "Esto es una prueba.\n");
/* Imprime:  =Esto es una prueba.=0A  */
?>
Filtros de Cadena
Filtros de Compresión
Lista de Filtros Disponibles


Filtros de Compresión

Aunque las Envolturas de Compresión ofrecen una forma de crear archivos compatibles con gzip y bz2 en el sistema de archivos local, no ofrecen un método de compresión generalizado sobre secuencias de red, ni ofrecen la forma de comenzar con una secuencia no-comprimida y trasladarse a una comprimida. Para esto, un filtro de compresión puede ser aplicado sobre cualquier recurso de secuencia en cualquier momento.

Nota: Los filtros de compresión no generan cabeceras ni caracteres finales usados por utilidades de la línea de comandos como gzip. Sólo comprimen y descomprimen las porciones significativas de las secuencias de datos comprimidas.

zlib.deflate (compresión) y zlib.inflate (descompresión) son implementaciones de los métodos de compresión descritos en » RFC 1951. El filtro deflate recibe hasta tres parámetros pasados como una matriz asociativa. level describe la intensidad de compresión (1-9). Números más grandes producen, por lo general, resultados más pequeños, al costo de tiempo de procesamiento adicional. Dos niveles de compresión especiales existen también: 0 (para no-compresión), y -1 (el valor predeterminado de zlib -- actualmente 6). window es el registro en base-2 del tamaño de ventana del circuito cerrado de compresión. Valores más altos (de hasta 15 -- 32768 bytes) producen mejor compresión al costo de más memoria, mientras valores más bajos (alrededor de 9 -- 512 bytes) producen una compresión inferior en un espacio de memoria más pequeño. El tamaño de window es actualmente 15. memory es una escala que indica cuánta memoria debería ser reservada. Los valores válidos están en el rango de 1 (reserva mínima) a 9 (reserva máxima). Esta reserva de memoria afecta únicamente la repidez y no tiene impacto en el tamaño del resultado generado.

Nota: Dado que el nivel de compresión es el parámetro usado con mayor frecuencia, puede indicarse alternativamente como un valor entero simple (en lugar de un elemento tipo matriz).

Los filtros de compresión zlib.* están disponibles con PHP desde la versión 5.1.0 si el soporte de zlib se encuentra habilitado. También están disponibles como una característica portada de vuelta en la versión 5.0.x, instalando el paquete » zlib_filter desde » PECL. Estos filtros no están disponibles para PHP 4.

Ejemplo #1 zlib.deflate y zlib.inflate

<?php
$params = array('level' => 6, 'window' => 15, 'memory' => 9);

$texto_original = "Esto es una prueba.\nEsto es solo una prueba.\nEsta no es una cadena importante.\n";
echo "El texto original tiene " . strlen($texto_original) . " caracteres.\n";

$da = fopen('test.deflated', 'w');
stream_filter_append($da, 'zlib.deflate', STREAM_FILTER_WRITE, $params);
fwrite($da, $texto_original);
fclose($da);

echo "El archivo comprimido tiene " . filesize('test.deflated') . " bytes.\n";
echo "El texto original era:\n";
/* Use readfile y zlib.inflate para descomprimir al vuelo */
readfile('php://filter/zlib.inflate/resource=test.deflated');

/* Genera la salida:

El texto original tiene 79 caracteres.
El archivo comprimido tiene 59 bytes.
El texto original era:
Esto es una prueba.
Esto es solo una prueba.
Esta no es una cadena importante.

 */
?>

Ejemplo #2 zlib.deflate simple

<?php
$texto_original = "Esto es una prueba.\nEsto es solo una prueba.\nEsta no es una cadena importante.\n";
echo "El texto original tiene " . strlen($texto_original) . " caracteres.\n";

$da = fopen('test.deflated', 'w');
/* Aqui "6" indica el nivel 6 de compresion */
stream_filter_append($da, 'zlib.deflate', STREAM_FILTER_WRITE, 6);
fwrite($da, $texto_original);
fclose($da);

echo "El archivo comprimido tiene " . filesize('test.deflated') . " bytes.\n";

/* Genera la salida:

El texto original tiene 79 caracteres.
El archivo comprimido tiene 53 bytes.

 */
?>

bzip2.compress y bzip2.decompress funcionan de la misma forma que los filtros zlib descritos anteriormente. El filtro bzip2.compress acepta hasta dos parámetros dados como elementos de una matriz asociativa: blocks es un valor entero desde 1 hasta 9 que indica el número de bloques de 100kbytes de memoria a reservar para el espacio de trabajo. work es también un valor entero que va desde 0 a 250, e indica cuánto esfuerzo debe invertirse para expandir usando el método de compresión normal antes de caer en un método más lento pero más confiable. Modificar este parámetro afecta únicamente la rapidez de compresién. Ni el tamaño de la salida comprimida ni el uso de memoria se modifican por este valor. Un factor de trabajo de 0 le indica a la biblioteca bzip que debe usar el valor interno predeterminado. El filtro bzip2.decompress sólo acepta un parámetro, el cual puede ser pasado como un valor booleano ordinario, o como el elemento small de una matriz asociativa. small, cuando se define a un valor TRUE, le indica a la biblioteca bzip de realice una descompresión con una cantidad de memoria mínima, al costo de la rapidez.

Las filtros de compresión bzip2.* se encuentran disponibles con PHP desde la versión 5.1.0 si el soporte de bz2 se encuentra habilitado. También se encuentran disponibles como una característica portada hacia atrás en la versión 5.0.x, instalando el paquete » bz2_filter desde » PECL. Estos filtros no se encuentran disponibles para PHP 4.

Ejemplo #3 bzip2.compress y bzip2.decompress

<?php
$param = array('blocks' => 9, 'work' => 0);

echo "El archivo original tiene " . filesize('LICENSE') . " bytes.\n";

$da = fopen('LICENSE.compressed', 'w');
stream_filter_append($da, 'bzip2.compress', STREAM_FILTER_WRITE, $param);
fwrite($da, file_get_contents('LICENSE'));
fclose($da);

echo "El archivo comprimido tiene " . filesize('LICENSE.compressed') . " bytes.\n";

/* Genera la salida:

El archivo original tiene 3288 bytes.
El archivo comprimido tiene 1488 bytes.

 */
?>
Filtros de Conversión
Filtros de Encripción
Lista de Filtros Disponibles


Filtros de Encripción

mcrypt.* y mdecrypt.* ofrecen encripción y desencripción simétrica usando libmcrypt. Ambos conjuntos de filtros soportan los mismos algoritmos disponibles a la extensión mcrypt en la forma de mcrypt.ciphername, en donde ciphername es el nombre del cifrado que debe ser pasado a mcrypt_module_open(). Los siguientes cinco parámetros se encuentran disponibles también:

parámetros del filtro mcrypt
Parámetro | ¿Requerido? | Predeterminado | Ejemplos
mode | Opcional | cbc | cbc, cfb, ecb, nofb, ofb, stream
algorithms_dir | Opcional | ini_get('mcrypt.algorithms_dir') | Ubicación de los módulos de los algoritmos
modes_dir | Opcional | ini_get('mcrypt.modes_dir') | Ubicación de los módulos de los modos
iv | Requerido | N/A | Usualmente 8, 16, o 32 bytes de datos binarios. Depende del cifrado
key | Requerido | N/A | Usualmente 8, 16, o 32 bytes de datos binarios. Depende del cifrado

Ejemplo #1 Encripción de la salida usando 3DES

<?php
$frase_secreta = 'Mi secreto';

/* Convertir una frase legible en una pareja iv/llave reproducible
 */
$iv = substr(md5('iv'.$frase_secreta, true), 0, 8);
$llave = substr(md5('contrasenya1'.$frase_secreta, true) .
               md5('contrasenya2'.$frase_secreta, true), 0, 24);
$opciones = array('iv'=>$iv, 'key'=>$key);

$da = fopen('archivo-secreto.enc', 'wb');
stream_filter_append($da, 'mcrypt.tripledes', STREAM_FILTER_WRITE, $opciones);
fwrite($da, 'Datos muy muy muy secretos');
fclose($da);
?>

Ejemplo #2 Lectura de un archivo encriptado

<?php
$frase_secreta = 'Mi secreto';

/* Convertir una frase legible en una pareja iv/llave reproducible
 */
$iv = substr(md5('iv'.$frase_secreta, true), 0, 8);
$llave = substr(md5('contrasenya1'.$frase_secreta, true) .
               md5('contrasenya2'.$frase_secreta, true), 0, 24);
$opciones = array('iv'=>$iv, 'key'=>$llave);

$da = fopen('archivo-secreto.enc', 'rb');
stream_filter_append($fp, 'mdecrypt.tripledes', STREAM_FILTER_READ, $opciones);
$datos = rtrim(stream_get_contents($da));
fclose($da);

echo $datos;
?>
Filtros de Compresión
Lista de Transportes de Sockets Soportados
Lista de Filtros Disponibles


Lista de Transportes de Sockets Soportados

Tabla de contenidos

  • Dominio de Internet: TCP, UDP, SSL, y TLS
  • Dominio Unix: Unix y UDG

La siguiente es una lista de los varios transportes de socket estilo URL que PHP tiene integrados para su uso con funciones de sockets basados en secuencias, tales como fsockopen(), y stream_socket_client(). Estos transportes no se aplican a la Extensión de Sockets.

Para una lista de transportes instalados con su versión de PHP use stream_get_transports().

Filtros de Encripción
Dominio de Internet: TCP, UDP, SSL, y TLS
Apéndices


Dominio de Internet: TCP, UDP, SSL, y TLS

PHP 4, PHP 5. ssl:// y tls:// a partir de PHP 4.3.0, sslv2:// y sslv3:// a partir de PHP 5.0.2

Nota: Si no se especifica un transporte, se asumirá tcp://

  • 127.0.0.1
  • fe80::1
  • www.example.com
  • tcp://127.0.0.1
  • tcp://fe80::1
  • tcp://www.example.com
  • udp://www.example.com
  • ssl://www.example.com
  • sslv2://www.example.com
  • sslv3://www.example.com
  • tls://www.example.com

Los sockets del Dominio de Internet esperan un número de puerto junto con una dirección de destino. En el caso de fsockopen(), éste es especificado en un segundo parámetro y por lo tanto no tiene impacto sobre el formato de la URL de transporte. Sin embargo, en el caso de stream_socket_client() y funciones relacionadas, así como ocurre con URLs tradicionales, el número de puerto se especifica como un sufijo del URL de transporte delimitado con el signo dos puntos.

  • tcp://127.0.0.1:80
  • tcp://[fe80::1]:80
  • tcp://www.example.com:80

Nota: Direcciones IPv6 numéricas con números de puerto
En el segundo ejemplo anterior, mientras que los ejemplos IPv4 y con nombre de dominio fueron modificados solo ligeramente con la adición de sus dos puntos y número de puerto, la dirección IPv6 es rodeada por corchetes cuadrados: [fe80::1]. Esto es para poder distinguir entre los dos puntos usados en una dirección IPv6 y aquellos usados para delimitar el número de puerto.

Los transportes ssl:// y tls:// (disponibles únicamente cuando se compila el soporte para openssl con PHP) son extensiones del transporte tcp:// el cual incluye encripción SSL. A partir de PHP 4.3.0 el soporte OpenSSL debe ser compilado estáticamente con PHP, a partir de PHP 5.0.0 puede ser compilado como módulo o estáticamente.

ssl:// intentará negociar una conexión SSL V2 o SSL V3 dependiendo de las capacidades y preferencias del host remoto. sslv2:// y sslv3:// seleccionarán el protocolo SSL V2 o SSL V3 explícitamente.

Lista de Transportes de Sockets Soportados
Dominio Unix: Unix y UDG
Lista de Transportes de Sockets Soportados


Dominio Unix: Unix y UDG

unix:// y udg:// (udg:// a partir de PHP 5).

  • unix:///tmp/misock
  • udg:///tmp/misock

unix:// provee acceso a una conexión secuencial de sockets en el dominio Unix. udg:// provee un transporte alternativo a un socket del dominio Unix, usando el protocolo de datagramas de usuario.

Los sockets de dominio Unix, a diferencia de los sockets del dominio de Internet, no esperan un número de puerto. En el caso de fsockopen(), el parámetro num_puerto debe ser definido como 0.

Dominio de Internet: TCP, UDP, SSL, y TLS
Tablas de comparación de tipos de PHP
Lista de Transportes de Sockets Soportados


Tablas de comparación de tipos de PHP

Las siguientes tablas demuestran los comportamientos de los tipos en PHP y los operadores de comparación, tanto para comparaciones flexibles como estrictas. Este suplemento se encuentra relacionado también con la sección del manual sobre manipulación de tipos. La inspiración proviene de varios comentarios de usuarios, y del trabajo realizado en » BlueShoes.

Antes de usar estas tablas, es importante entender los tipos y sus significados. Por ejemplo, "42" es string mientras que 42 es un integer. FALSE es un boolean mientras "false" es string.

Nota:

Los Formularios HTML no pasan enteros, reales, o valores booleanos; solo pasan cadenas. Para saber si una cadena es numérica, puede usar is_numeric().

Nota:

Hacer un simple if ($x) while $x si no está definido, generará un error de nivel E_NOTICE. En lugar de esto, considere el uso de empty() o isset(), o inicialice sus variables.

Nota:

Algunas representaciones numéricas pueden resultar en un valor representado por la constante NAN. Cualquier pérdida o comparaciones estrictas de este valor contra cualquier otro tipo de valor, incluyendo a si mismo, tendrá un resultado FALSE. (p.e. NAN != NAN y NAN !== NAN) Ejemplos de operaciones que producen NAN incluyen sqrt(-1), asin(2), y asinh(0).

Comparaciones de $x con funciones PHP
Expresión | gettype() | empty() | is_null() | isset() | boolean : if($x)
$x = ""; | string | TRUE | FALSE | TRUE | FALSE
$x = null; | NULL | TRUE | TRUE | FALSE | FALSE
var $x; | NULL | TRUE | TRUE | FALSE | FALSE
$x no definido | NULL | TRUE | TRUE | FALSE | FALSE
$x = array(); | array | TRUE | FALSE | TRUE | FALSE
$x = false; | boolean | TRUE | FALSE | TRUE | FALSE
$x = true; | boolean | FALSE | FALSE | TRUE | TRUE
$x = 1; | integer | FALSE | FALSE | TRUE | TRUE
$x = 42; | integer | FALSE | FALSE | TRUE | TRUE
$x = 0; | integer | TRUE | FALSE | TRUE | FALSE
$x = -1; | integer | FALSE | FALSE | TRUE | TRUE
$x = "1"; | string | FALSE | FALSE | TRUE | TRUE
$x = "0"; | string | TRUE | FALSE | TRUE | FALSE
$x = "-1"; | string | FALSE | FALSE | TRUE | TRUE
$x = "php"; | string | FALSE | FALSE | TRUE | TRUE
$x = "true"; | string | FALSE | FALSE | TRUE | TRUE
$x = "false"; | string | FALSE | FALSE | TRUE | TRUE

Comparaciones flexibles con ==
 | TRUE | FALSE | 1 | 0 | -1 | "1" | "0" | "-1" | NULL | array() | "php" | ""
TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE
FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE
1 | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
0 | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE
-1 | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE
"1" | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
"0" | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE
"-1" | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE
NULL | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE
array() | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE
"php" | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE
"" | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE

Comparaciones estrictas con ===
 | TRUE | FALSE | 1 | 0 | -1 | "1" | "0" | "-1" | NULL | array() | "php" | ""
TRUE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
1 | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
0 | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
-1 | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
"1" | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
"0" | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE
"-1" | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE
NULL | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE
array() | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE
"php" | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE
"" | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE

Dominio Unix: Unix y UDG
Lista de componentes léxicos del analizador
Apéndices


Lista de componentes léxicos del analizador

Algunas partes del lenguaje PHP son representadas internamente por tipos como T_SR. PHP produce identificadores como este a la hora de analizar errores, como "Parse error: unexpected T_SR, expecting ',' or ';' in script.php on line 10." ("Error de análisis: T_SR inesperado, se esperaba ',' o ';' en script.php en la línea 10.")

Se supone que debería de saberse qué significa T_SR. Para todo aquél que no lo sepa, se muestra una tabla con esos identificadores, la sintaxis de PHP y referencias al apartado apropiado del manual.

Nota: Uso de las constantes T_*

Todos los componentes léxicos (o tokens) listados abajo también están definidos como constantes de PHP. Sus valores son automáticamente generados basándose en la infraestructura del analizador subyacente de PHP. Esto significa que el valor concreto de un componenete léxico puede cambiar entre dos versiones de PHP. Por ejemplo, la constante T_FILE es 365 en PHP 5.3, mientras que el mismo valor se refiere ahora a T_TRAIT en PHP 5.4, y el valor de T_FILE es 369. Esto sigifica que el código no debería nunca depender directamente de los valores originales de las constantes T_* tomadas de la versión X.Y.Z de PHP, para proporcionar cierta compatibildad entre múltiples versiones PHP. En su lugar, el código debería utilizar valores personalizados (usando números grandes como 10000) y una estrategia apropiada que funcione tanto con las versiones de PHP como con los valores de las constantes T_*.

Componente léxico
Elemento | Sintaxis | Referencia
T_ABSTRACT | abstract | Abstracción de clases (disponible desde PHP 5.0.0)
T_AND_EQUAL | &= | operadores de asignación
T_ARRAY | array() | array(), sintaxis de array
T_ARRAY_CAST | (array) | conversión de tipos
T_AS | as | foreach
T_BAD_CHARACTER |  | todo lo que haya por debajo de ASCII 32 excepto \t (0x09), \n (0x0a) y \r (0x0d)
T_BOOLEAN_AND | && | operadores lógios
T_BOOLEAN_OR | || | operadores lógicos
T_BOOL_CAST | (bool) o (boolean) | conversión de tipos
T_BREAK | break | break
T_CALLABLE | callable | callable
T_CASE | case | switch
T_CATCH | catch | Excepciones (disponible desde PHP 5.0.0)
T_CHARACTER |  | ya no se utiliza
T_CLASS | class | clases y objetos
T_CLASS_C | __CLASS__ | constantes mágicas (disponible desde PHP 4.3.0)
T_CLONE | clone | clases y objetos (disponible desde PHP 5.0.0)
T_CLOSE_TAG | ?> o %> | salir de HTML
T_COMMENT | // o #, y /* */ en PHP 5 | comentarios
T_CONCAT_EQUAL | .= | operadores de asignación
T_CONST | const | constantes
T_CONSTANT_ENCAPSED_STRING | "foo" o 'bar' | sintaxis de string
T_CONTINUE | continue | continue
T_CURLY_OPEN | {$ | sintaxis compleja
T_DEC | -- | operadores de incremento/decremento
T_DECLARE | declare | declare
T_DEFAULT | default | switch
T_DIR | __DIR__ | constantes mágicas (disponible desde PHP 5.3.0)
T_DIV_EQUAL | /= | operadores de asignación
T_DNUMBER | 0.12, etc | números de punto flotante
T_DOC_COMMENT | /** */ | comentarios tipo PHPDoc (disponible desde PHP 5.0.0)
T_DO | do | do..while
T_DOLLAR_OPEN_CURLY_BRACES | ${ | sintaxis compleja
T_DOUBLE_ARROW | => | sintaxis de array
T_DOUBLE_CAST | (real), (double) o (float) | conversión de tipos
T_DOUBLE_COLON | :: | véase T_PAAMAYIM_NEKUDOTAYIM más abajo
T_ECHO | echo | echo
T_ELSE | else | else
T_ELSEIF | elseif | elseif
T_EMPTY | empty | empty()
T_ENCAPSED_AND_WHITESPACE | " $a" | parte constante de un string con variables
T_ENDDECLARE | enddeclare | declare, sintaxis alternativa
T_ENDFOR | endfor | for, sintaxis alternativa
T_ENDFOREACH | endforeach | foreach, sintaxis alternativa
T_ENDIF | endif | if, sintaxis alternativa
T_ENDSWITCH | endswitch | switch, sintaxis alternativa
T_ENDWHILE | endwhile | while, sintaxis alternativa
T_END_HEREDOC |  | sintaxis de heredoc
T_EVAL | eval() | eval()
T_EXIT | exit o die | exit(), die()
T_EXTENDS | extends | extends, clases y objetos
T_FILE | __FILE__ | constantes mágicas
T_FINAL | final | Palabra clave Final (disponible desde PHP 5.0.0)
T_FINALLY | finally | Excepciones (disponible desde PHP 5.5.0)
T_FOR | for | for
T_FOREACH | foreach | foreach
T_FUNCTION | function o cfunction | funciones
T_FUNC_C | __FUNCTION__ | constantes mágicas (disponible desde PHP 4.3.0)
T_GLOBAL | global | ámbito de las variables
T_GOTO | goto | (disponible desde PHP 5.3.0)
T_HALT_COMPILER | __halt_compiler() | __halt_compiler (disponible desde PHP 5.1.0)
T_IF | if | if
T_IMPLEMENTS | implements | Interfaces de objetos (disponible desde PHP 5.0.0)
T_INC | ++ | operadores de incremento/decremento
T_INCLUDE | include() | include
T_INCLUDE_ONCE | include_once() | include_once
T_INLINE_HTML |  | texto fuera de PHP
T_INSTANCEOF | instanceof | operadores de tipo (disponible desde PHP 5.0.0)
T_INSTEADOF | insteadof | Traits (disponible desde PHP 5.4.0)
T_INT_CAST | (int) o (integer) | conversión de tipos
T_INTERFACE | interface | Interfaces de objetos (disponible desde PHP 5.0.0)
T_ISSET | isset() | isset()
T_IS_EQUAL | == | operadores de comparación
T_IS_GREATER_OR_EQUAL | >= | operadores de comparación
T_IS_IDENTICAL | === | operadores de comparación
T_IS_NOT_EQUAL | != o <> | operadores de comparación
T_IS_NOT_IDENTICAL | !== | operadores de comparación
T_IS_SMALLER_OR_EQUAL | <= | operadores de comparación
T_LINE | __LINE__ | constantes mágicas
T_LIST | list() | list()
T_LNUMBER | 123, 012, 0x1ac, etc. | números enteros
T_LOGICAL_AND | and | operadores lógicos
T_LOGICAL_OR | or | operadores lógicos
T_LOGICAL_XOR | xor | operadores lógicos
T_METHOD_C | __METHOD__ | constantes mágicas (disponible desde PHP 5.0.0)
T_MINUS_EQUAL | -= | operadores de asignación
T_ML_COMMENT | /* y */ | comentarios (sólo en PHP 4)
T_MOD_EQUAL | %= | operadores de asignación
T_MUL_EQUAL | *= | operadores de asignación
T_NAMESPACE | namespace | espacios de nombres (disponible desde PHP 5.3.0)
T_NS_C | __NAMESPACE__ | espacios de nombres (disponible desde PHP 5.3.0)
T_NS_SEPARATOR | \ | espacios de nombres (disponible desde PHP 5.3.0)
T_NEW | new | clases y objectos
T_NUM_STRING | "$a[0]" | array de índice numérico dentro de un string
T_OBJECT_CAST | (object) | conversión de tipos
T_OBJECT_OPERATOR | -> | clases y objetos
T_OLD_FUNCTION | old_function | (Sólo en PHP 4)
T_OPEN_TAG | <?php, <? o <% | salir de HTML
T_OPEN_TAG_WITH_ECHO | <?= o <%= | salir de HTML
T_OR_EQUAL | |= | operadores de asignación
T_PAAMAYIM_NEKUDOTAYIM | :: | ::. También se define como T_DOUBLE_COLON.
T_PLUS_EQUAL | += | operadores de asignación
T_PRINT | print() | print
T_PRIVATE | private | clases y objetos (disponible desde PHP 5.0.0)
T_PUBLIC | public | clases y objetos (disponible desde PHP 5.0.0)
T_PROTECTED | protected | clases y objetos (disponible desde PHP 5.0.0)
T_REQUIRE | require() | require
T_REQUIRE_ONCE | require_once() | require_once
T_RETURN | return | valores de retorno
T_SL | << | operadores a nivel de bits
T_SL_EQUAL | <<= | operadores de asignación
T_SR | >> | operadores a nivel de bits
T_SR_EQUAL | >>= | operadores de asignación
T_START_HEREDOC | <<< | sintaxis de heredoc
T_STATIC | static | ámbito de las variables
T_STRING | parent, true etc. | se comparan identificadores, p.ej. palabras clave como parent y self, nombres de funciones, nombres de clases y más. Véase también T_CONSTANT_ENCAPSED_STRING.
T_STRING_CAST | (string) | conversión de tipos
T_STRING_VARNAME | "${a | sintaxis compleja
T_SWITCH | switch | switch
T_THROW | throw | Excepciones (disponible desde PHP 5.0.0)
T_TRAIT | trait | Traits (disponible desde PHP 5.4.0)
T_TRAIT_C | __TRAIT__ | __TRAIT__ (disponible desde PHP 5.4.0)
T_TRY | try | Excepciones (disponible desde PHP 5.0.0)
T_UNSET | unset() | unset()
T_UNSET_CAST | (unset) | conversión de tipos (disponible desde PHP 5.0.0)
T_USE | use | espacios de nombres (disponible desde PHP 5.3.0; reservada desde PHP 4.0.0)
T_VAR | var | clases y objetos
T_VARIABLE | $foo | variables
T_WHILE | while | while, do..while
T_WHITESPACE | \t \r\n |
T_XOR_EQUAL | ^= | operadores de asignación
T_YIELD | yield | generadores (disponible desde PHP 5.5.0)

Véase también token_name().

Tablas de comparación de tipos de PHP
Guia de Entorno de Usuario para Nombres
Apéndices


Guia de Entorno de Usuario para Nombres

Tabla de contenidos

  • Global Namespace
  • Reglas
  • Tips

Lo siguiente es una guía para saber cómo elegir el mejor nombre para los identificadores del código del entorno del usuario PHP. Cuando se eligen nombres para cualquier código que crea símbolos en el global namespace, es importante tener en cuenta los siguientes lineamientos para evitar que en futuras versiones de PHP estos choquen con los símbolos elegidos.

Lista de componentes léxicos del analizador
Global Namespace
Apéndices


Global Namespace

He aquí un panorama de codigo constructor que va en el global namespace:

  • Funciones

  • clases

  • interfaces

  • constantes (no constanstes de clase)

  • variables definidas fuera de las funciones/métodos

Guia de Entorno de Usuario para Nombres
Reglas
Guia de Entorno de Usuario para Nombres


Reglas

La siguiente lista da un panorama de cuales derechos se reserva el proyecto PHP para si mismo, cuando elige los nombres para los nuevos identificadores internos. La guía definitiva es la oficial » NORMAS DE CODIFICACION:

  • PHP es el propietario de el namespace de nivel superior, pero trata de encontrar una descripción decente de nombres y evitar así futuros choques.

  • Los nombres de función usan guión bajo entre palabras, mientras que los nombres de las clases usan las reglas camelCase o PascalCase.

  • PHP prefijará cualquier símbolo global de una extensión con el nombre de la extensión. (En el pasado, han habido numerosas excepciones a esta regla.) Ejemplos:

    • curl_close()

    • mysql_query()

    • PREG_SPLIT_DELIM_CAPTURE

    • new DOMDocument()

    • strpos() (ejemplo de un error del pasado)

    • new SplFileObject()

  • Iteradores y Excepciones son como siempre, simplemente postfijados con "Iterator" y Exception." Ejemplos:

    • ArrayIterator

    • LogicException

  • PHP se reserva todos los simbolos que comienzan con __ como magicos. Es recomendado que no se creen simbolos que comiencen con __ en PHP a menos que se quiera usar una funcionalidad magica documentada. Ejemplos:

    • __get()

    • __autoload()

Global Namespace
Tips
Guia de Entorno de Usuario para Nombres


Tips

Con el fin de escribir código de prueba a futuro, es recomendado que se prefijen (o sufijen) cualquier cosa que vaya en el global namespace con 3-4 letras no comúnes prefijadas (o sufijadas) separadas con un guión bajo. Es recomendado que en orden de evitar choques de namespace con otro código de entornos de usuarios que en sus proyectos investiguen la existencia de prefijos (o sufijos) usados en otros proyectos y anuncien sus prefijos (o sufijos) elegidos apropiadamente. Ejemplos

  • MyPx_someFunc()

  • Foo_Date

  • $asdf_dbh

Reglas
Acerca del manual
Guia de Entorno de Usuario para Nombres


Acerca del manual

Tabla de contenidos

  • Formatos
  • Acerca de los comentarios de usuarios
  • Como interpretar la definición de una función (prototipo)
  • Versiones de PHP documentadas en este manual
  • Cómo encontrar más información sobre PHP
  • Como ayudar a mejorar la documentación
  • Como generamos los formatos
  • Traducciones
Tips
Formatos
Apéndices


Formatos

El manual de PHP se encuentra disponible en diferentes formatos. Estos formatos se pueden dividir en dos grupos: formato accesible online y ficheros descargables.

Nota:

Algunas editoriales han publicado versiones impresas de este manual. No podemos recomendar ninguna de ellas, ya que suelen quedarse obsoletas rápidamente.

El manual puede ser leído online en » sitio web de PHP.net y en numerosos mirrors. Para un mejor funcionamiento, debería utilizar el mirror más cercano. La versión online del manual PHP tiene dos hojas de estilos CSS CSS, una para web y la otra para imprimir.

La ventaja del manual online sobre la mayoría de formatos offline es que contiene los comentarios/notas de usuarios y los » enlaces URL que pueden ser usados para llegar rápidamente hasta las partes deseadas del manual. Y obviamente, la desventaja es que se requiere estár online para ver este manual.

Existen varios formatos offline. El más apropiado para cada usuario depende del sistema operativo que use y de sus preferencias a la hora de leer. La información sobre como el manual es generado en tantos formatos diferentes se puede obtener en la sección de este apéndice titulada 'Cómo generamos los diferentes formatos' sección de su apéndice.

El formato más accesible desde diferentes plataformas es la versión HTML. Este manual se ofrece como un único fichero en HTML o como un paquete que contiene un fichero HTML por cada sección (colección de varios cientos de ficheros). Se proporcionan estas versiones de forma comprimida, por tanto, se require una utilidad para obtener los ficheros desde el archivo comprimido.

Para plataformas Windows, la versión Windows HTML Help Workshop mejora la versión del manual en HTML, al poder usar la aplicación Windows HTML Help Workshop. Esta versión proporciona: búsqueda completa de texto, índice completo y favoritos. Muchos entornos de desarrollo para PHP incorporan esta versión de la documentación para proporcionar un acceso fácil . También hay visores CHM disponibles para Linux. Dale un vistazo a » xCHM o » GnoCHM.

También está disponible la » versión extendida de CHM , la cual se actualiza menos frecuentemente, pero proporciona otras muchas opciones. Solamente funciona con Microsoft Windows debido a la tecnología utilizada para crear estas páginas de ayuda.

Acerca del manual
Acerca de los comentarios de usuarios
Acerca del manual


Acerca de los comentarios de usuarios

Los comentarios de los usuarios juegan un papel muy importante en el desarrollo de este manual. Permitir a los lectores del manual contribuir con ejemplos y aclaraciones desde su navegador, hace que podamos mejorar el manual. Y mientras los comentarios no formen parte del manual, podrán ser consultados online y también en algunos de los soportes offline.

Nota:

Los comentarios de los usuarios no son moderados antes de ser publicados online, así que la calidad de lo escrito como los ejemplos o incluso la veracidad de lo expuesto en el comentario no podrá ser garantizada. (Tampoco hay ninguna garantía de la calidad o exactitud del texto del manual).

Nota:

Por propósito de la cobertura de la licencia, los comentarios contribuidos por los usuarios son considerados partes del manual PHP, y tienen el mismo tipo de licencia que la documentación (por el momento Creative Commons Attribution) Para más información vea la página Copyright del Manual

Formatos
Como interpretar la definición de una función (prototipo)
Acerca del manual


Como interpretar la definición de una función (prototipo)

Cada función en el manual está documentada para obtener una referencia rápida. Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar, todo el mundo debería saber como interpretar una definición de funciones (prototipos). Empecemos:

Nota: Prerrequisitos: Comprensión básica de los diferentes tipos

Aunque PHP es un lenguaje de programación relajado (en lo referente a los tipos de variables/valores), es importante entender, básicamente, estos diferentes tipos, ya que son importantes.

Las definiciones de funciones nos dicen que tipo de valores son valores de retorno. Usemos la definición de la función strlen() en nuestro primer ejemplo:

strlen

(PHP 4, PHP 5)
strlen -- Obtiene longitud de un string

Descripción
int strlen ( string $string )

Devuelve longitud de un string

Explicación de la definición de una función
Parte | Descripción
strlen | El nombre de la función.
(PHP 4, PHP 5) | strlen() está disponible en todas las versiones de PHP 4, PHP 5
int | Tipo de valor devuelto por esta función, en este caso un entero (ejemplo: la longitud de un string se mide en números).
( string $string ) | El primer (sólo para este caso) parámetro o argumento para esta función se llama string, y es de tipo string.

Podríamos escribir la definición de esta función de un modo genérico:

      tipo de retorno    nombre función    ( tipo de parámetro   nombre parámetro )

Muchas funciones tiene múltiples parametros, por ejemplo in_array(). Su prototipo sería:

      boleano in_array ( mixto $aguja, array $pajar [, boleano $estricto])

¿Que significa? in_array() devuelve un valor booleano, TRUE si termina con éxito (Si la aguja fué encontrada en el pajar) o FALSE en caso de error (si la aguja no fué encontrada en el pajar). El primer parámetro se llama aguja y puede ser de muchos tipos, así que lo llamamos "mixto". Este mixtoaguja (que es lo que estamos buscando) bien puede ser un valor escalar (string, integer, o float), o un array. El pajar (el array en el que buscamos) es el segundo parámetro. El tercero es un parámetro opcional y lo llamamos estricto. Todos los parámetros opcionales están entre [ paréntesis ]. El manual muestra que el parámetro estricto es por defecto booleano FALSE. Vea la página del manual de cada función para informarse de cómo funcionan.

También hay funciones con información PHP mucho más compleja. Toma html_entity_decode() como ejemplo:

(PHP 4 >= 4.3.0, PHP 5)

Esto significa que esta función solo está disponible desde la versión PHP 4.3.0.

Acerca de los comentarios de usuarios
Versiones de PHP documentadas en este manual
Acerca del manual


Versiones de PHP documentadas en este manual

Este manual contiene información sobre anteriores, actuales y futuras versiones de PHP. Cambios en el comportamiento están documentados como notas, changelogs y texto en las páginas del manual. La versión más antigua documentada es PHP 4.1.0, mientras que la última es PHP 5.x.x.

Cuando existe documentación sobre la última versión (no lanzada) en desarrollo de PHP, será etiquetada como "disponible en Git" o "versión de desarrollo". Y si bien estos cambios se deben planificar, en casos raros pueden cambiar.

Todo el desarrollo se lleva a cabo en Git y puede ser corroborado como se describe en la página » acceso anónimo a Git. O las mismas fuentes puedes ser descargadas como » snapshots de PHP, los cuales están disponibles para las ramas más activas de PHP.

Y para aclarar, el manual se referirá a lanzamientos generales, secundarios y específicos PHP. Tomemos PHP 5.3.1 como ejemplo, entonces el 5 hace referencia a la versión general, el 3 a la secundaria, y el 1 es el lanzamiento específico. Normalmente PHP sólo añade nuevas características a los lanzamientos generales y secundarios, y corrige bugs en los específicos. Sin embargo, Esta convención no siempre es cierta.

También tome en cuenta que el manual de PHP está escrito en presente, no en futuro, incluso para documentar características que todavía no están disponibles. La razón de esto es que el manual puede superar la prueba del tiempo, por lo que no requiere de tediosas actualizaciones gramáticas con cada lanzamiento.

Muchas veces el manual de PHP muestra "valores por defecto" para las directivas PHP. Estos valores están basados en cómo actúa PHP sin un archivo de configuración php.ini, y por tanto pueden diferir de los valores encontrados en los archivos php.ini-development y php.ini-production distribuidos. también hacen referencia a la última versión de PHP, aunque las entradas de changelog hacen mención de valores antiguos. Vea el Apéndice de directivas PHP para detalles con respecto a estos valores y sus cambios.

Como interpretar la definición de una función (prototipo)
Cómo encontrar más información sobre PHP
Acerca del manual


Cómo encontrar más información sobre PHP

Este manual no pretende dar prácticas de programación en general. Si es su primera vez o es un principiante, seguramente encontrará difícil aprender como programar con PHP usando solamente este manual. Busque mejor un libro orientado a principiantes.

Hay un gran número de listas de correo activas para discutir cualquier aspecto relacionado con la programación con PHP. Si se queda bloqueado con un problema, puede usar estas listas para obtener ayuda. Para ver las opciones de soporte, incluidas listas de correo, ver » Página de soporte de PHP.net. Además hay una lista de sitios web dedicados a artículos de PHP, forums, y galerias de código en » página de enlaces de PHP.net.

Versiones de PHP documentadas en este manual
Como ayudar a mejorar la documentación
Acerca del manual


Como ayudar a mejorar la documentación

Hay tres formas en la que todo el mundo puede ayudar a mejorar esta documentación.

Si hay un error en el manual, en cualquier idioma, por favor infórmenos usando el sistema de informe de errores » http://bugs.php.net/. Clasifique el error como "Documentation Problem". Cualquier problema relacionado con la documentación, incluyendo manuales en diferentes formatos, deben ser envidados como bug.

Nota:

Por favor, no abusar del sistema de informes de errores mandando peticiones de ayuda. En su lugar, utilice las listas de correos y recursos mencionados anteriormente. » soporte de PHP.

Contribuyendo con comentarios, se pueden dar ejemplos, advertencias y aclaraciones para otros lectores. Pero por favor no utilice el sistema de informe de errores, utilice el sistema de comentarios. Para más información, vea la sección titulada 'Acerca de comentarios de los usuarios'.

El manual de PHP es traducido a muchos otros idiomas. Si sabe inglés y otro idioma extranjero puede ayudar a mejorar el manual de PHP trabajando con el equipo de traducción. Para más información de como empezar una nueva traducción o ayudar con la traducción, por favor lea » https://wiki.php.net/doc/howto.

El proyecto de la documentación de PHP también tiene un canal de IRC donde muchos de los autores se reúnen. Pase por #php.doc o irc.efnet.org y podremos discutir formas de mejorar la documentación de PHP.

Cómo encontrar más información sobre PHP
Como generamos los formatos
Acerca del manual


Como generamos los formatos

Este manual está escrito en XML usando » DocBook XML DTD, y » PhD (El render [D]ocBook basado en[PH]P ) para el mantenimiento y formato.

Usamos XML como base, para generar diferentes formatos, centralizando un solo código fuente para todos los diferentes formatos del manual. Utilizamos la herramienta » PhD para crear las páginas del manual online. También usamos » Microsoft HTML Help Workshop para generar el formato de ayuda Windows HTML y por supuesto usamos PHP para crear algunas conversiones adicionales y formateado.

El manual de PHP es generado en varios idiomas y formatos, ver » http://www.php.net/docs.php para más información. El código fuente XML puede ser descargado desde SVN y visualizado en » http://svn.php.net/viewvc/. La documentación se encuentra en el módulo phpdoc.

Como ayudar a mejorar la documentación
Traducciones
Acerca del manual


Traducciones

El manual de PHP no solamente está disponible en diferentes formatos, tambien se encuentra en diferentes idiomas. El manual es escrito primero en inglés y luego grupos de traductores de todo el mundo se encargan de mantener la traducción a su idioma sincronizada con la versión inglesa. Si la traducción de algún apartado del manual no ha sido realizada todavía por el equipo de traductores, este aparecerá en inglés hasta que sea traducido.

Las personas involucradas en las traducciones, utilizan el código fuente en XML disponible en » http://svn.php.net/viewvc/ y lo traducen a su idioma. No utilizan las versiones generadas (como HTML o texto plano) Es el sistema de generación de formatos el que se encarga de producirlos a partir de XML a formatos de lectura legibles por humanos.

Nota:

Si le interesa ayudar o participar en la traducción de la documentación a su idioma, póngase en contacto con el equipo de traducción/documentación apuntándose a la lista de correo phpdoc. Mande un mensaje vacio a » phpdoc-subscribe@lists.php.net. La dirección de la esta lista de correo es phpdoc@lists.php.net. Explique que está interesado en traducir el manual a un idioma y nos pondremos en contacto con usted. Le mandaremos información para que pueda empezar una nueva traducción o para que pase a formar parte del equipo de traducción de su idioma, si este ya existe.

Por el momento el idioma está disponible, parcialmente o no, en 10 idiomas.

Puede ser descargado desde: » http://www.php.net/docs.php.

Como generamos los formatos
Creative Commons Attribution 3.0
Acerca del manual


Creative Commons Attribution 3.0

THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.

BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.

1. Definitions

  1. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License.
  2. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License.
  3. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership.
  4. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License.
  5. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
  6. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
  7. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
  8. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.

2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.

3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:

  1. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections;
  2. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified.";
  3. to Distribute and Publicly Perform the Work including as incorporated in Collections; and,
  4. to Distribute and Publicly Perform Adaptations.

  5. For the avoidance of doubt:

    1. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;
    2. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and,
    3. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License.

The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved.

4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:

  1. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(b), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(b), as requested.
  2. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv) , consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4 (b) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.
  3. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise.

5. Representations, Warranties and Disclaimer

UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.

6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

7. Termination.

  1. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
  2. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.

8. Miscellaneous

  1. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
  2. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
  3. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
  4. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent
  5. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
  6. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.
Traducciones
Listado de índices
Apéndices


Listado de índices

Tabla de contenidos

  • Listado de Funciones y Métodos
  • Listado de ejemplos
Creative Commons Attribution 3.0
Listado de Funciones y Métodos
Apéndices


Listado de Funciones y Métodos

Lista todas las funciones y métodos del manual

a b c d e f g h i j k l m n o p q r s t u v w x y z _

  • a
    • abs - Valor absoluto
    • acos - Arco coseno
    • acosh - Arco coseno hiperbólico
    • addcslashes - Escapa una cadena al estilo de C
    • addslashes - Escapa un string con barras invertidas
    • aggregate - Dynamic class and object aggregation of methods and properties
    • aggregate_info - Gets aggregation information for a given object
    • aggregate_methods - Dynamic class and object aggregation of methods
    • aggregate_methods_by_list - Selective dynamic class methods aggregation to an object
    • aggregate_methods_by_regexp - Selective class methods aggregation to an object using a regular expression
    • aggregate_properties - Dynamic aggregation of class properties to an object
    • aggregate_properties_by_list - Selective dynamic class properties aggregation to an object
    • aggregate_properties_by_regexp - Selective class properties aggregation to an object using a regular expression
    • aggregation_info - Alias de aggregate_info
    • AMQPChannel::commitTransaction - Cometer una transación pendiente
    • AMQPChannel::isConnected - Comprueba la conexión del canal
    • AMQPChannel::qos - Establece las opciones de Quality Of Service del canal proporcinado
    • AMQPChannel::rollbackTransaction - Deshacer una transación
    • AMQPChannel::setPrefetchCount - Establece el número de mensajes a precapturar desde el broker
    • AMQPChannel::setPrefetchSize - Estable el tamaño de ventana a precapturar desde el broker
    • AMQPChannel::startTransaction - Inicia una transacción
    • AMQPChannel::__construct - Crea una instancia de un objecto AMQPChannel
    • AMQPConnection::connect - Establece una conexión con el Servidor AMQP
    • AMQPConnection::disconnect - Cierra la conexión con el Servidor AMQP
    • AMQPConnection::getHost - Obtiene el host configurado
    • AMQPConnection::getLogin - Obtiene el login configurado
    • AMQPConnection::getPassword - Obtiene la contraseña configurada
    • AMQPConnection::getPort - Obtiene el puerto configurado
    • AMQPConnection::getTimeout - Obtiene el tiempo de espera configurado
    • AMQPConnection::getVhost - Obtiene el vhost configurado
    • AMQPConnection::isConnected - Determina si el objeto AMQPConnection está conectado al corredor
    • AMQPConnection::reconnect - Cierra cualquier conexión abierta y crea una nueva conexión con el Servidor AMQP
    • AMQPConnection::setHost - Establece el host AMQP
    • AMQPConnection::setLogin - Establece el login
    • AMQPConnection::setPassword - Establece la contraseña
    • AMQPConnection::setPort - Establece el puerto
    • AMQPConnection::setTimeout - Establecer el tiempo de espera
    • AMQPConnection::setVhost - Establece el host virtual de amqp
    • AMQPConnection::__construct - Crear una instancia de Conexión de PCMA (AMQP)
    • AMQPEnvelope::getAppId - Obtiene el id de la aplicación del mensaje
    • AMQPEnvelope::getBody - Obtiene el cuerpo del mensaje
    • AMQPEnvelope::getContentEncoding - Obtiene el content encoding del mensaje
    • AMQPEnvelope::getContentType - Obtiene el content type del mensaje
    • AMQPEnvelope::getCorrelationId - Obtiene el correlation id del mensaje
    • AMQPEnvelope::getDeliveryTag - Obtiene el mensaje delivery tag
    • AMQPEnvelope::getExchange - Obtiene el mensaje exchange
    • AMQPEnvelope::getExpiration - Obtiene la caducidad del mensaje
    • AMQPEnvelope::getHeader - Obtiene un encabezado específico del mensaje
    • AMQPEnvelope::getHeaders - Obtiene los encabezados del mensaje
    • AMQPEnvelope::getMessageId - Obtiene el id del mensaje
    • AMQPEnvelope::getPriority - Obtiene la prioridad del mensaje
    • AMQPEnvelope::getReplyTo - Obtiene el reply to del mensaje
    • AMQPEnvelope::getRoutingKey - Obtiene el routing key del mensaje
    • AMQPEnvelope::getTimeStamp - Obtiene el timestamp del mensaje
    • AMQPEnvelope::getType - Obtiene el tipo del mensaje
    • AMQPEnvelope::getUserId - Obtiene el id de usuario del mensaje
    • AMQPEnvelope::isRedelivery - Si se trata de un reenvio del mensaje
    • AMQPExchange::bind - Enlazar a otro intercambio
    • AMQPExchange::declare - Declarar un nuevo intercambio en el corredor
    • AMQPExchange::delete - Eliminar el intercambio del corredor.
    • AMQPExchange::getArgument - Obtiene el argumento asociado con la clave proporcionada
    • AMQPExchange::getArguments - Get all arguments set on the given exchange
    • AMQPExchange::getFlags - Get the flag bitmask
    • AMQPExchange::getName - Get the configured name
    • AMQPExchange::getType - Get the configured type
    • AMQPExchange::publish - Publica un mensaje a un intercambio
    • AMQPExchange::setArgument - Establecer el valor para clave dada
    • AMQPExchange::setArguments - Establecer todos los argumentos sobre el intercambio
    • AMQPExchange::setFlags - Establecer los flags en un intercambio
    • AMQPExchange::setName - Establecer el nombre del intercambio
    • AMQPExchange::setType - Establecer el tipo de intercambio
    • AMQPExchange::__construct - Crea una instancia de AMQPExchange
    • AMQPQueue::ack - Reconoce la recepción de un mensaje
    • AMQPQueue::bind - Enlaza la cola dada a un enrutamiento clave en un intercambio
    • AMQPQueue::cancel - Cancela una cola enlaza
    • AMQPQueue::consume - Consume mensajes de una cola
    • AMQPQueue::declare - Declarar una nueva cola
    • AMQPQueue::delete - Borra una cola y su contenido
    • AMQPQueue::get - Recupera el mensaje siguiente de la cola
    • AMQPQueue::getArgument - Obtiene el argumento asociado con la clave proporcionada
    • AMQPQueue::getArguments - Obtiene todos los argumentos que se encuentran en la cola dada
    • AMQPQueue::getFlags - Get the flag bitmask
    • AMQPQueue::getName - Obtener el nombre configurado
    • AMQPQueue::nack - Mark a message as explicitly not acknowledged.
    • AMQPQueue::purge - Purga los contenidos de una cola
    • AMQPQueue::setArgument - Establecer el valor de la clave dada
    • AMQPQueue::setArguments - Establecer todos los argumentos en la cola
    • AMQPQueue::setFlags - Set the queue flags
    • AMQPQueue::setName - Establecer el nombre de cola
    • AMQPQueue::unbind - Desata la cola de una clave de enrutamiento
    • AMQPQueue::__construct - Crea una instancia de un objeto AMQPQueue
    • apache_child_terminate - Finaliza un proceso de Apache después de esta llamada
    • apache_getenv - Obtiene una variable del entorno subprocess_env de Apache
    • apache_get_modules - Obtiene una lista de los módulos cargados en el servidor Apache
    • apache_get_version - Obtiene la versión del servidor Apache
    • apache_lookup_uri - Realiza una petición parcial por la URI especificada y devuelve toda la información sobre ella
    • apache_note - Obtiene y establece las notas de petición de apache
    • apache_request_headers - Obtiene todas las cabeceras HTTP
    • apache_reset_timeout - Restaura el temporizador de Apache
    • apache_response_headers - Obtiene todas las cabeceras HTTP de respuesta
    • apache_setenv - Establece una variable subprocess_env de Apache
    • APCIterator::current - Obtener el elemento actual
    • APCIterator::getTotalCount - Obtener la cuenta total
    • APCIterator::getTotalHits - Obtener el total de éxitos de la caché
    • APCIterator::getTotalSize - Obtener el tamaño total de la caché
    • APCIterator::key - Obtener la clave del iterador
    • APCIterator::next - Mover el puntero al siguiente elemento
    • APCIterator::rewind - Rebobina el iterator
    • APCIterator::valid - Comprueba si la posición acutal es válida
    • APCIterator::__construct - Construye un objeto iterador APCIterator
    • apc_add - Poner una nueva variable en caché en el almacén de datos
    • apc_bin_dump - Obtener una copia binaria de los ficheros y variables de usuario dados
    • apc_bin_dumpfile - Imprimir a un fichero una copia binaria de los ficheros y variables de usuario almacenados en caché
    • apc_bin_load - Cargar una copia binaria en la caché de archivo/usuario de APC
    • apc_bin_loadfile - Cargar una copia binaria desde un fichero a la caché de fichero/usuario de APC
    • apc_cache_info - Recupera información que hay en caché del almacén de datos de APC
    • apc_cas - Actualiza un valor anterior por un nuevo valor
    • apc_clear_cache - Limpia la caché de APC
    • apc_compile_file - Almacena un archivo en la caché de código de byte, evitando todos los filtros
    • apc_dec - Disminuye un número almacenado
    • apc_define_constants - Define un conjunto de constantes para recuperación y definición en masa
    • apc_delete - Elimina una variable almacenada de la caché
    • apc_delete_file - Borra archivos de la caché del código de operación
    • apc_exists - Comprobar si existe una clave de APC
    • apc_fetch - Traer una variable almacenada desde la caché
    • apc_inc - Aumentar un número almacenado
    • apc_load_constants - Carga un conjunto de constantes de la caché
    • apc_sma_info - Recupera la información de la Asignación de Memoria Compartida de APC
    • apc_store - Guardar una variable en caché en el almacén de datos
    • apd_breakpoint - Detiene el interpretador y espera en un CR desde el socket
    • apd_callstack - Retorna la actual pila de llamado como una matriz
    • apd_clunk - Lanza una advertencia y una pila de llamado
    • apd_continue - Reinicia el interpretador
    • apd_croak - Lanza un error, una pila de lamado y entonces sale
    • apd_dump_function_table - Muestra la tabla de funciones actual
    • apd_dump_persistent_resources - Retorna todos los recursos persistentes como una matriz
    • apd_dump_regular_resources - Retorna todos los recursos regulares actuales como una matriz
    • apd_echo - Echo hacia el socket de depurado
    • apd_get_active_symbols - Obtener una matriz con los nombres de las variables actuales en el ámbito local
    • apd_set_pprof_trace - Inicia la sesión de depurado
    • apd_set_session - Cambia o configura el nivel actual de depurado
    • apd_set_session_trace - Inicia la sesión de depurado
    • apd_set_session_trace_socket - Inicia la sesión remota de depurado
    • AppendIterator::append - Añade un iterador
    • AppendIterator::current - Obtiene el valor actual
    • AppendIterator::getArrayIterator - Obtiene el getArrayIterator
    • AppendIterator::getInnerIterator - Obtiene el iterador interno
    • AppendIterator::getIteratorIndex - Obtiene un índice de iteradores
    • AppendIterator::key - Obtiene la clave actual
    • AppendIterator::next - Desplazarse al siguiente elemento
    • AppendIterator::rewind - Rebobina el iterador
    • AppendIterator::valid - Comprueba la validación del elemento actual
    • AppendIterator::__construct - Construye un AppendIterator
    • array - Crea un array
    • ArrayAccess::offsetExists - Comprobar si existe o no un índice
    • ArrayAccess::offsetGet - Offset para recuperar
    • ArrayAccess::offsetSet - Inicializa un offset
    • ArrayAccess::offsetUnset - Destruye un offset
    • ArrayIterator::append - Añade un elemento
    • ArrayIterator::asort - Ordena array por sus valores
    • ArrayIterator::count - Cuenta elementos
    • ArrayIterator::current - Devuelve la entrada actual del array
    • ArrayIterator::getArrayCopy - Obtener copia de un array
    • ArrayIterator::getFlags - Obtener opciones
    • ArrayIterator::key - Devuelve la clave actual del array
    • ArrayIterator::ksort - Ordena un array por sus claves
    • ArrayIterator::natcasesort - Ordena un array de forma natural, sensible a mayúsculas
    • ArrayIterator::natsort - Ordena un array de forma natural
    • ArrayIterator::next - Desplaza a la siguiente entrada
    • ArrayIterator::offsetExists - Compruebar si el índice existe
    • ArrayIterator::offsetGet - Obtener el valor de un índice
    • ArrayIterator::offsetSet - Establece el valor para un índice
    • ArrayIterator::offsetUnset - Destruye el valor de un índice
    • ArrayIterator::rewind - Rebobinar array al inicio
    • ArrayIterator::seek - Buscar la posición
    • ArrayIterator::serialize - Serializar
    • ArrayIterator::setFlags - Definir opciones de comportamiento
    • ArrayIterator::uasort - Ordenado definido por el usuario
    • ArrayIterator::uksort - Ordenado definido por el usuario
    • ArrayIterator::unserialize - Deserializar
    • ArrayIterator::valid - Comprueba si un array contiene más entradas
    • ArrayIterator::__construct - Construye un ArrayIterator
    • ArrayObject::append - Añade un valor
    • ArrayObject::asort - Ordena las entradas por valor
    • ArrayObject::count - Obtener el número de propiedades públicas en la clase ArrayObject
    • ArrayObject::exchangeArray - Intercambia el array por otro
    • ArrayObject::getArrayCopy - Crea una copia de la clase ArrayObject
    • ArrayObject::getFlags - Obtiene las flags de comportamiento
    • ArrayObject::getIterator - Crear un nuevo iterador desde una instancia ArrayObject
    • ArrayObject::getIteratorClass - Obtiene el nombre de clase iterador para ArrayObject
    • ArrayObject::ksort - Ordena las entradas por clave
    • ArrayObject::natcasesort - Ordena un array usando un algoritmo orden natural
    • ArrayObject::natsort - Ordena entradas usando un algoritmo de orden natural
    • ArrayObject::offsetExists - Devuelve si el índice solicitado existe
    • ArrayObject::offsetGet - Devuelve el valor del índice especificado
    • ArrayObject::offsetSet - Establece el valor en el índice especificado
    • ArrayObject::offsetUnset - Destruye el valor para el índice especificado
    • ArrayObject::serialize - Serializa un ArrayObject
    • ArrayObject::setFlags - Establece las flags de comportamiento
    • ArrayObject::setIteratorClass - Establece el nombre de clase iterador para ArrayObject
    • ArrayObject::uasort - Ordena las entradas con una función de comparación definida por el usuario y mantiene asociación de claves
    • ArrayObject::uksort - Ordena las entradas por clave usando una función de comparación definida por el usuario
    • ArrayObject::unserialize - Deserializar el objeto ArrayObject
    • ArrayObject::__construct - Construir un nuevo objeto Array
    • array_change_key_case - Cambia a mayúsculas o minúsculas todas las claves en un array
    • array_chunk - Divide un array en fragmentos
    • array_column - Devuelve los valores de una única columna del array de entrada
    • array_combine - Crea un nuevo array, usando una matriz para las claves y otra para sus valores
    • array_count_values - Cuenta todos los valores de un array
    • array_diff - Calcula la diferencia entre arrays
    • array_diff_assoc - Calcula la diferencia entre arrays con un chequeo adicional de índices
    • array_diff_key - Calcula la diferencia entre arrays usando las keys para la comparación
    • array_diff_uassoc - Calcula la diferencia entre arrays con un chequeo adicional de índices que se realiza por una función de devolución de llamada suministrada por el usuario
    • array_diff_ukey - Calcula la diferencia entre arrays usando una función de devolución de llamada en las keys para comparación
    • array_fill - Llena un array con valores
    • array_fill_keys - Llena un array con valores, especificando las keys
    • array_filter - Filtra elementos de un array usando una función de devolución de llamada
    • array_flip - Intercambia todas las keys con sus valores asociados en un array
    • array_intersect - Calcula la intersección de arrays
    • array_intersect_assoc - Calcula la intersección de arrays con un chequeo adicional de índices
    • array_intersect_key - Calcula la intersección de arrays usando las keys para la comparación
    • array_intersect_uassoc - Calcula la intersección de arrays con un chequeo adicional de índices que se realiza por una función de devolución de llamada
    • array_intersect_ukey - Calcula la intersección de arrays usando una función de devolución de llamada en las keys para la comparación
    • array_keys - Devuelve todas las claves de un array o un subconjunto de claves de un array
    • array_key_exists - Verifica si el índice o clave dada existe en el array
    • array_map - Aplica la llamada de retorno especificada a los elementos de cada array
    • array_merge - Combina dos o más arrays
    • array_merge_recursive - Une dos o más arrays recursivamente
    • array_multisort - Ordena múltiples arrays, o arrays multi-dimensionales
    • array_pad - Rellena un array a la longitud especificada con un valor
    • array_pop - Extrae el último elemento del final del array
    • array_product - Calcula el producto de los valores de un array
    • array_push - Inserta uno o más elementos al final de un array
    • array_rand - Selecciona una o más entradas aleatorias de un array
    • array_reduce - Reduce iterativamente una matriz a un solo valor usando una función llamada de retorno
    • array_replace - Reemplaza los elementos de los arrays pasados en el primer array
    • array_replace_recursive - Reemplaza los elementos de los arrays pasados al primer array de forma recursiva
    • array_reverse - Devuelve un array con los elementos en orden inverso
    • array_search - Busca un valor determinado en un array y devuelve la clave correspondiente en caso de éxito
    • array_shift - Quita un elemento del principio del array
    • array_slice - Extrae una parte de un array
    • array_splice - Elimina una porción del array y la reemplaza con algo
    • array_sum - Calcula la suma de los valores en un array
    • array_udiff - Computa la diferencia entre arrays, usando una llamada de retorno para la comparación de datos
    • array_udiff_assoc - Computa la diferencia entre arrays con una comprobación de indices adicional, compara la información mediante una función de llamada de retorno
    • array_udiff_uassoc - Computa la diferencia entre arrays con una verificación de índices adicional, compara la información y los índices mediante una función de llamada de retorno
    • array_uintersect - Computa una intersección de arrays, compara la información mediante una función de llamada de retorno
    • array_uintersect_assoc - Computa la intersección de arrays con una comprobación de índices adicional, compara la información mediante una función de llamada de retorno
    • array_uintersect_uassoc - Computa la intersección de arrays con una comprobación de índices adicional, compara la información y los índices mediante funciones de llamada de retorno
    • array_unique - Elimina valores duplicados de un array
    • array_unshift - Añadir al inicio de un array uno a más elementos
    • array_values - Devuelve todos los valores de un array
    • array_walk - Aplicar una función de usuario a cada miembro de un array
    • array_walk_recursive - Aplicar una función de usuario recursivamente a cada miembro de un array
    • arsort - Ordena un array en orden inverso y mantiene la asociación de índices
    • asin - Arco seno
    • asinh - Arco seno hiperbólico
    • asort - Ordena un array y mantiene la asociación de índices
    • assert - Checks if assertion is FALSE
    • assert_options - Establecer/obtener valores de las directivas relacionadas con las aserciones
    • atan - Arco tangente
    • atan2 - Arco tangente de dos variables
    • atanh - Arco tangente hiperbólica
  • b
    • base64_decode - Decodifica datos codificados con MIME base64
    • base64_encode - Codifica datos con MIME base64
    • basename - Devuelve el componente de nombre de rastreo de la ruta
    • base_convert - Convertir un número entre bases arbitrarias
    • bbcode_add_element - Añade un elemento bbcode
    • bbcode_add_smiley - Añade un smiley al analizador
    • bbcode_create - Crea un resource de BBCode
    • bbcode_destroy - Cierra un recurso BBCode_container
    • bbcode_parse - Analiza un string siguiendo el set de reglas dado
    • bbcode_set_arg_parser - Añade otro analizador para usar otro set de reglas para analizar argumentos
    • bbcode_set_flags - Establece o cambia las opciones del analizador
    • bcadd - Añade dos números de precisión arbitrária
    • bccomp - Compara dos números de precisión arbitraria
    • bcdiv - Divide dos números de precisión arbitraria
    • bcmod - Obtiene el módulo de un número de precisión arbitraria
    • bcmul - Multiplica dos números de precisión arbitraria
    • bcompiler_load - Lee y crea clases desde un archivo comprimido con bz
    • bcompiler_load_exe - Lee y crea clases desde un archivo exe de bcompiler
    • bcompiler_parse_class - Lee el código de bytes de una clase y realiza una llamada de retorno a una función de usuario
    • bcompiler_read - Lee y crea clases ded un gestor de archivo
    • bcompiler_write_class - Escribe una clase definida como código de bytes
    • bcompiler_write_constant - Escribe una constante definida como código de bytes
    • bcompiler_write_exe_footer - Escribe la posición de inicio y la firma al final de un archivo de tipo exe
    • bcompiler_write_file - EScribe un archivo fuente de php como código de bytes
    • bcompiler_write_footer - Escribe el carácter \x00 para indicar el Final de los datos compilados
    • bcompiler_write_function - Escribe una función definida como código de bytes
    • bcompiler_write_functions_from_file - Escribe todas las funciones definidas en un archivo como código de bytes
    • bcompiler_write_header - Escribe la cabecera de bcompiler
    • bcompiler_write_included_filename - Escribe un archivo incluido como código de bytes
    • bcpow - Elevar un número de precisión arbitraria a otro
    • bcpowmod - Eleva un número de precisión arbitraria a otro, reducido por un módulo especificado
    • bcscale - Establece los parametros de scale por defecto para todas las funciones matemáticas de bc
    • bcsqrt - Obtiene la raiz cuadrada de un número de precisión arbitraria
    • bcsub - Resta un número de precisión arbitraria de otro
    • bin2hex - Convierte datos binarios en su representación hexadecimal
    • bindec - Binario a decimal
    • bindtextdomain - Establece la ruta del dominio
    • bind_textdomain_codeset - Especifica el juego de caracteres en que los mensajes del catálogo del dominio serán devueltos
    • blenc_encrypt - Encripta un script PHP con BLENC.
    • boolval - Obtener el valor booleano de una variable
    • bson_decode - Decodifica un objecto BSON a un array PHP
    • bson_encode - Serializa una variable PHP a un string BSON
    • bzclose - Cierra un fichero bzip2
    • bzcompress - Comprime una cadena en datos codificados en bzip2
    • bzdecompress - Descomprime datos codificados con bzip2
    • bzerrno - Devuelve el número de erro de bzip2
    • bzerror - Devuelve el número de error y la cadena del error de bzip2 en un array
    • bzerrstr - Devuelve una cadena de error de bzip2
    • bzflush - Fuerza la escritura de todos los datos del búfer
    • bzopen - Abre un fichero comprimido con bzip2
    • bzread - Lectura segura de ficheros bzip2
    • bzwrite - Escribe en un fichero bzip2 de forma segura binariamente
  • c
    • CachingIterator::count - El número de elementos en el iterador
    • CachingIterator::current - Devuelve el elemento actual
    • CachingIterator::getCache - El propósito de getCache
    • CachingIterator::getFlags - Obtiene las opciones usadas
    • CachingIterator::getInnerIterator - Devuelve el iterador interno
    • CachingIterator::hasNext - Comprueba que el iterador interno tenga un elemento siguiente válido
    • CachingIterator::key - Devuelve la clave del elemento actual
    • CachingIterator::next - Desplaza el iterador adelante
    • CachingIterator::offsetExists - Comprobar existencia de un índice
    • CachingIterator::offsetGet - El propósito offsetGet
    • CachingIterator::offsetSet - El propósito offsetSet
    • CachingIterator::offsetUnset - El propósito offsetUnset
    • CachingIterator::rewind - Rebobina el iterador
    • CachingIterator::setFlags - El propósito setFlags
    • CachingIterator::valid - Comprueba que el elemento actual sea válido
    • CachingIterator::__construct - Construye un nuevo objeto CachingIterator para el iterador
    • CachingIterator::__toString - Devolver la representación en formato cadena del elemento actual
    • Cairo::availableFonts - Recupera los tipos de fuente disponibles
    • Cairo::availableSurfaces - Recupera todas las superficies disponibles
    • Cairo::statusToString - Recupera el estado acutal como cadena
    • Cairo::version - Recupera la versión de la biblioteca cairo
    • Cairo::versionString - Recupera la versión de cairo como cadena
    • CairoContext::appendPath - Añade un trazado al trazado actual
    • CairoContext::arc - Añade un arco circular
    • CairoContext::arcNegative - Añade un arco negativo
    • CairoContext::clip - Establece una nueva región de recorte
    • CairoContext::clipExtents - Computa el área dentro del recorte actual
    • CairoContext::clipPreserve - Establce una nueva región de recorte desde el recorte actual
    • CairoContext::clipRectangleList - Recupera el recorte actual como una lista de rectángulos
    • CairoContext::closePath - Cierra el trazado actual
    • CairoContext::copyPage - Emite la página actual
    • CairoContext::copyPath - Crea una copia del trazado actual
    • CairoContext::copyPathFlat - Obtiene una copia aplanada del trazado actual
    • CairoContext::curveTo - Añade una curva
    • CairoContext::deviceToUser - Transforma una coordenada
    • CairoContext::deviceToUserDistance - Transformar una distancia
    • CairoContext::fill - Rellena el trazado actual
    • CairoContext::fillExtents - Cumputa el área rellenada
    • CairoContext::fillPreserve - Rellena y conserva el trazado actual
    • CairoContext::fontExtents - Obtener el alcance de una fuente
    • CairoContext::getAntialias - Recupera el modo de antialias actual
    • CairoContext::getCurrentPoint - El propósito de getCurrentPoint
    • CairoContext::getDash - El propósito de getDash
    • CairoContext::getDashCount - El propósito de getDashCount
    • CairoContext::getFillRule - El propósito de getFillRule
    • CairoContext::getFontFace - El propósito de getFontFace
    • CairoContext::getFontMatrix - El propósito de getFontMatrix
    • CairoContext::getFontOptions - El propósito de getFontOptions
    • CairoContext::getGroupTarget - El propósito de getGroupTarget
    • CairoContext::getLineCap - El propósito de getLineCap
    • CairoContext::getLineJoin - El propósito de getLineJoin
    • CairoContext::getLineWidth - El propósito de getLineWidth
    • CairoContext::getMatrix - El propósito de getMatrix
    • CairoContext::getMiterLimit - El propósito de getMiterLimit
    • CairoContext::getOperator - El propósito de getOperator
    • CairoContext::getScaledFont - El propósito de getScaledFont
    • CairoContext::getSource - El propósito de getSource
    • CairoContext::getTarget - El propósito de getTarget
    • CairoContext::getTolerance - El propósito de getTolerance
    • CairoContext::glyphPath - El propósito de glyphPath
    • CairoContext::hasCurrentPoint - El propósito de hasCurrentPoint
    • CairoContext::identityMatrix - El propósito de identityMatrix
    • CairoContext::inFill - El propósito de inFill
    • CairoContext::inStroke - El propósito de inStroke
    • CairoContext::lineTo - El propósito de lineTo
    • CairoContext::mask - El propósito de mask
    • CairoContext::maskSurface - El propósito de maskSurface
    • CairoContext::moveTo - El propósito de moveTo
    • CairoContext::newPath - El propósito de newPath
    • CairoContext::newSubPath - El propósito de newSubPath
    • CairoContext::paint - El propósito de paint
    • CairoContext::paintWithAlpha - El propósito de paintWithAlpha
    • CairoContext::pathExtents - El propósito de pathExtents
    • CairoContext::popGroup - El propósito de popGroup
    • CairoContext::popGroupToSource - El propósito de popGroupToSource
    • CairoContext::pushGroup - El propósito de pushGroup
    • CairoContext::pushGroupWithContent - El propósito de pushGroupWithContent
    • CairoContext::rectangle - El propósito de rectangle
    • CairoContext::relCurveTo - El propósito de relCurveTo
    • CairoContext::relLineTo - El propósito de relLineTo
    • CairoContext::relMoveTo - El propósito de relMoveTo
    • CairoContext::resetClip - El propósito de resetClip
    • CairoContext::restore - El propósito de restore
    • CairoContext::rotate - El propósito de rotate
    • CairoContext::save - El propósito de save
    • CairoContext::scale - El propósito de scale
    • CairoContext::selectFontFace - El propósito de selectFontFace
    • CairoContext::setAntialias - El propósito de setAntialias
    • CairoContext::setDash - El propósito de setDash
    • CairoContext::setFillRule - El propósito de setFillRule
    • CairoContext::setFontFace - El propósito de setFontFace
    • CairoContext::setFontMatrix - El propósito de setFontMatrix
    • CairoContext::setFontOptions - El propósito de setFontOptions
    • CairoContext::setFontSize - El propósito de setFontSize
    • CairoContext::setLineCap - El propósito de setLineCap
    • CairoContext::setLineJoin - El propósito de setLineJoin
    • CairoContext::setLineWidth - El propósito de setLineWidth
    • CairoContext::setMatrix - El propósito de setMatrix
    • CairoContext::setMiterLimit - El propósito de setMiterLimit
    • CairoContext::setOperator - El propósito de setOperator
    • CairoContext::setScaledFont - El propósito de setScaledFont
    • CairoContext::setSource - El propósito de setSource
    • CairoContext::setSourceRGB - El propósito de setSourceRGB
    • CairoContext::setSourceRGBA - El propósito de setSourceRGBA
    • CairoContext::setSourceSurface - El propósito de setSourceSurface
    • CairoContext::setTolerance - El propósito de setTolerance
    • CairoContext::showPage - El propósito de showPage
    • CairoContext::showText - El propósito de showText
    • CairoContext::status - El propósito de status
    • CairoContext::stroke - El propósito de stroke
    • CairoContext::strokeExtents - El propósito de strokeExtents
    • CairoContext::strokePreserve - El propósito de strokePreserve
    • CairoContext::textExtents - El propósito de textExtents
    • CairoContext::textPath - El propósito de textPath
    • CairoContext::transform - El propósito de transform
    • CairoContext::translate - El propósito de translate
    • CairoContext::userToDevice - El propósito de userToDevice
    • CairoContext::userToDeviceDistance - El propósito de userToDeviceDistance
    • CairoContext::__construct - Crea un nuevo CairoContext
    • CairoFontFace::getType - Recupera el tipo de familia de fuentes
    • CairoFontFace::status - Compruba errores de CairoFontFace
    • CairoFontFace::__construct - Crea un nuevo objeto CairoFontFace
    • CairoFontOptions::equal - El propósito de equal
    • CairoFontOptions::getAntialias - El propósito de getAntialias
    • CairoFontOptions::getHintMetrics - El propósito de getHintMetrics
    • CairoFontOptions::getHintStyle - El propósito de getHintStyle
    • CairoFontOptions::getSubpixelOrder - El propósito de getSubpixelOrder
    • CairoFontOptions::hash - El propósito de hash
    • CairoFontOptions::merge - El propósito de merge
    • CairoFontOptions::setAntialias - El propósito de setAntialias
    • CairoFontOptions::setHintMetrics - El propósito de setHintMetrics
    • CairoFontOptions::setHintStyle - El propósito de setHintStyle
    • CairoFontOptions::setSubpixelOrder - El propósito de setSubpixelOrder
    • CairoFontOptions::status - El propósito de status
    • CairoFontOptions::__construct - El propósito de __construct
    • CairoFormat::strideForWidth - Proporciona un intervalo de paso apropiado a usar
    • CairoGradientPattern::addColorStopRgb - El propósito de addColorStopRgb
    • CairoGradientPattern::addColorStopRgba - El propósito de addColorStopRgba
    • CairoGradientPattern::getColorStopCount - El propósito de getColorStopCount
    • CairoGradientPattern::getColorStopRgba - El propósito de getColorStopRgba
    • CairoGradientPattern::getExtend - El propósito de getExtend
    • CairoGradientPattern::setExtend - El propósito de setExtend
    • CairoImageSurface::createForData - El propósito de createForData
    • CairoImageSurface::createFromPng - Crea una nueva CairoImageSurface desde un archivo de imagen png
    • CairoImageSurface::getData - Obtiene la información de la imagen como cadena
    • CairoImageSurface::getFormat - Obtener el formato de imagen
    • CairoImageSurface::getHeight - Recupera el alto del CairoImageSurface
    • CairoImageSurface::getStride - El propósito de getStride
    • CairoImageSurface::getWidth - Recupera el ancho del CairoImageSurface
    • CairoImageSurface::__construct - Crea una nueva CairoImageSurface
    • CairoLinearGradient::getPoints - El propósito de getPoints
    • CairoLinearGradient::__construct - El propósito de __construct
    • CairoMatrix::initIdentity - Crea una nueva matriz de identidad
    • CairoMatrix::initRotate - Crea una nueva matriz rotada
    • CairoMatrix::initScale - Crea una nueva matriz de escala
    • CairoMatrix::initTranslate - Crea una nueva matriz de traducción
    • CairoMatrix::invert - El propósito de invert
    • CairoMatrix::multiply - El propósito de multiply
    • CairoMatrix::rotate - El propósito de rotate
    • CairoMatrix::scale - Aplica escala a una matriz
    • CairoMatrix::transformDistance - El propósito de transformDistance
    • CairoMatrix::transformPoint - El propósito de transformPoint
    • CairoMatrix::translate - El propósito de translate
    • CairoMatrix::__construct - Crea un nuevo objeto CairoMatrix
    • CairoPattern::getMatrix - El propósito de getMatrix
    • CairoPattern::getType - El propósito de getType
    • CairoPattern::setMatrix - El propósito de setMatrix
    • CairoPattern::status - El propósito de status
    • CairoPattern::__construct - El propósito de __construct
    • CairoPdfSurface::setSize - El propósito de setSize
    • CairoPdfSurface::__construct - El propósito de __construct
    • CairoPsSurface::dscBeginPageSetup - El propósito de dscBeginPageSetup
    • CairoPsSurface::dscBeginSetup - El propósito de dscBeginSetup
    • CairoPsSurface::dscComment - El propósito de dscComment
    • CairoPsSurface::getEps - El propósito de getEps
    • CairoPsSurface::getLevels - El propósito de getLevels
    • CairoPsSurface::levelToString - El propósito de levelToString
    • CairoPsSurface::restrictToLevel - El propósito de restrictToLevel
    • CairoPsSurface::setEps - El propósito de setEps
    • CairoPsSurface::setSize - El propósito de setSize
    • CairoPsSurface::__construct - El propósito de __construct
    • CairoRadialGradient::getCircles - El propósito de getCircles
    • CairoRadialGradient::__construct - El propósito de __construct
    • CairoScaledFont::extents - El propósito de extents
    • CairoScaledFont::getCtm - El propósito de getCtm
    • CairoScaledFont::getFontFace - El propósito de getFontFace
    • CairoScaledFont::getFontMatrix - El propósito de getFontMatrix
    • CairoScaledFont::getFontOptions - El propósito de getFontOptions
    • CairoScaledFont::getScaleMatrix - El propósito de getScaleMatrix
    • CairoScaledFont::getType - El propósito de getType
    • CairoScaledFont::glyphExtents - El propósito de glyphExtents
    • CairoScaledFont::status - El propósito de status
    • CairoScaledFont::textExtents - El propósito de textExtents
    • CairoScaledFont::__construct - El propósito de __construct
    • CairoSolidPattern::getRgba - El propósito de getRgba
    • CairoSolidPattern::__construct - El propósito de __construct
    • CairoSurface::copyPage - El propósito de copyPage
    • CairoSurface::createSimilar - El propósito de createSimilar
    • CairoSurface::finish - El propósito de finish
    • CairoSurface::flush - El propósito de flush
    • CairoSurface::getContent - El propósito de getContent
    • CairoSurface::getDeviceOffset - El propósito de getDeviceOffset
    • CairoSurface::getFontOptions - El propósito de getFontOptions
    • CairoSurface::getType - El propósito de getType
    • CairoSurface::markDirty - El propósito de markDirty
    • CairoSurface::markDirtyRectangle - El propósito de markDirtyRectangle
    • CairoSurface::setDeviceOffset - El propósito de setDeviceOffset
    • CairoSurface::setFallbackResolution - El propósito de setFallbackResolution
    • CairoSurface::showPage - El propósito de showPage
    • CairoSurface::status - El propósito de status
    • CairoSurface::writeToPng - El propósito de writeToPng
    • CairoSurface::__construct - El propósito de __construct
    • CairoSurfacePattern::getExtend - El propósito de getExtend
    • CairoSurfacePattern::getFilter - El propósito de getFilter
    • CairoSurfacePattern::getSurface - El propósito de getSurface
    • CairoSurfacePattern::setExtend - El propósito de setExtend
    • CairoSurfacePattern::setFilter - El propósito de setFilter
    • CairoSurfacePattern::__construct - El propósito de __construct
    • CairoSvgSurface::getVersions - Usado para recuperar una lista de versiones de SVG soportadas
    • CairoSvgSurface::restrictToVersion - El propósito de restrictToVersion
    • CairoSvgSurface::versionToString - El propósito de versionToString
    • CairoSvgSurface::__construct - El propósito de __construct
    • cairo_create - Devuelve un nuevo objeto CairoContext en la superficie requerida
    • cairo_font_face_get_type - Descripción
    • cairo_font_options_create - Descripción
    • cairo_font_options_equal - Descripción
    • cairo_font_options_get_antialias - Descripción
    • cairo_font_options_get_hint_metrics - Descripción
    • cairo_font_options_get_hint_style - Descripción
    • cairo_font_options_get_subpixel_order - Descripción
    • cairo_font_options_hash - Descripción
    • cairo_font_options_merge - Descripción
    • cairo_font_options_set_antialias - Descripción
    • cairo_font_options_set_hint_metrics - Descripción
    • cairo_font_options_set_hint_style - Descripción
    • cairo_font_options_set_subpixel_order - Descripción
    • cairo_font_options_status - Descripción
    • cairo_format_stride_for_width - Descripción
    • cairo_image_surface_create - Descripción
    • cairo_image_surface_create_for_data - Descripción
    • cairo_image_surface_create_from_png - Descripción
    • cairo_image_surface_get_data - Descripción
    • cairo_image_surface_get_format - Descripción
    • cairo_image_surface_get_height - Descripción
    • cairo_image_surface_get_stride - Descripción
    • cairo_image_surface_get_width - Descripción
    • cairo_matrix_create_translate - Alias de CairoMatrix::initTranslate
    • cairo_matrix_invert - Descripción
    • cairo_matrix_multiply - Descripción
    • cairo_matrix_rotate - Descripción
    • cairo_matrix_transform_distance - Descripción
    • cairo_matrix_transform_point - Descripción
    • cairo_matrix_translate - Descripción
    • cairo_pattern_add_color_stop_rgb - Descripción
    • cairo_pattern_add_color_stop_rgba - Descripción
    • cairo_pattern_create_for_surface - Descripción
    • cairo_pattern_create_linear - Descripción
    • cairo_pattern_create_radial - Descripción
    • cairo_pattern_create_rgb - Descripción
    • cairo_pattern_create_rgba - Descripción
    • cairo_pattern_get_color_stop_count - Descripción
    • cairo_pattern_get_color_stop_rgba - Descripción
    • cairo_pattern_get_extend - Descripción
    • cairo_pattern_get_filter - Descripción
    • cairo_pattern_get_linear_points - Descripción
    • cairo_pattern_get_matrix - Descripción
    • cairo_pattern_get_radial_circles - Descripción
    • cairo_pattern_get_rgba - Descripción
    • cairo_pattern_get_surface - Descripción
    • cairo_pattern_get_type - Descripción
    • cairo_pattern_set_extend - Descripción
    • cairo_pattern_set_filter - Descripción
    • cairo_pattern_set_matrix - Descripción
    • cairo_pattern_status - Descripción
    • cairo_pdf_surface_create - Descripción
    • cairo_pdf_surface_set_size - Descripción
    • cairo_ps_get_levels - Descripción
    • cairo_ps_level_to_string - Descripción
    • cairo_ps_surface_create - Descripción
    • cairo_ps_surface_dsc_begin_page_setup - Descripción
    • cairo_ps_surface_dsc_begin_setup - Descripción
    • cairo_ps_surface_dsc_comment - Descripción
    • cairo_ps_surface_get_eps - Descripción
    • cairo_ps_surface_restrict_to_level - Descripción
    • cairo_ps_surface_set_eps - Descripción
    • cairo_ps_surface_set_size - Descripción
    • cairo_scaled_font_create - Descripción
    • cairo_scaled_font_extents - Descripción
    • cairo_scaled_font_get_ctm - Descripción
    • cairo_scaled_font_get_font_face - Descripción
    • cairo_scaled_font_get_font_matrix - Descripción
    • cairo_scaled_font_get_font_options - Descripción
    • cairo_scaled_font_get_scale_matrix - Descripción
    • cairo_scaled_font_get_type - Descripción
    • cairo_scaled_font_glyph_extents - Descripción
    • cairo_scaled_font_status - Descripción
    • cairo_scaled_font_text_extents - Descripción
    • cairo_surface_copy_page - Descripción
    • cairo_surface_create_similar - Descripción
    • cairo_surface_finish - Descripción
    • cairo_surface_flush - Descripción
    • cairo_surface_get_content - Descripción
    • cairo_surface_get_device_offset - Descripción
    • cairo_surface_get_font_options - Descripción
    • cairo_surface_get_type - Descripción
    • cairo_surface_mark_dirty - Descripción
    • cairo_surface_mark_dirty_rectangle - Descripción
    • cairo_surface_set_device_offset - Descripción
    • cairo_surface_set_fallback_resolution - Descripción
    • cairo_surface_show_page - Descripción
    • cairo_surface_status - Descripción
    • cairo_surface_write_to_png - Descripción
    • cairo_svg_surface_create - Descripción
    • cairo_svg_surface_restrict_to_version - Descripción
    • cairo_svg_version_to_string - Descripción
    • calculhmac - Obtener una clave HMAC (necesita 2 argumentos)
    • calcul_hmac - Obtener una clave HMAC (necesita 8 argumentos)
    • CallbackFilterIterator::accept - Llama la llamada de retorno con el valor actual, la clave actual y el iterador interior como argumentos
    • CallbackFilterIterator::__construct - Crear un iterador filtrado desde otro iterador
    • call_user_func - Llamar a una llamada de retorno dada por el primer parámetro
    • call_user_func_array - Llamar a una llamada de retorno un array de parámetros
    • call_user_method - Llamar a un método de usuario sobre un objeto específico [obsoleto]
    • call_user_method_array - LLamar a un método de usuario dado con una matriz de parámetros [obsoleto]
    • cal_days_in_month - Devolver el número de días de un mes para un año y un calendario dados
    • cal_from_jd - Convierte de una Fecha Juliana a un calendario soportado
    • cal_info - Devuelve información sobre un calendario en particular
    • cal_to_jd - Convertir un calendario soportado a la Fecha Juliana
    • ceil - Redondear fracciones hacia arriba
    • chdb::get - Obtiene el valor asociado con una clave
    • chdb::__construct - Crea una instancia de chdb
    • chdb_create - Crea un archivo chdb
    • chdir - Cambia de directorio
    • checkdate - Validar una fecha gregoriana
    • checkdnsrr - Comprueba registros DNS correspondientes a un nombre de host de Internet dado o dirección IP
    • chgrp - Cambia el grupo del archivo
    • chmod - Cambia el modo de archivo
    • chop - Alias de rtrim
    • chown - Cambia el propietario del archivo
    • chr - Devuelve un caracter específico
    • chroot - Cambia el directorio raíz
    • chunk_split - Divide una cadena en trozos más pequeños
    • classkit_import - Importar nuevas definiciones de métodos de clase desde un archivo
    • classkit_method_add - Añade dinámicamente un nuevo método una clase dada
    • classkit_method_copy - Copia un método de una clase a otra
    • classkit_method_redefine - Cambia dinámicamente el código del método dado
    • classkit_method_remove - Elimina dinámicamente el método dado
    • classkit_method_rename - Cambia dinámicamente el nombre del método dado
    • class_alias - Crea un alias para una clase
    • class_exists - Verifica si la clase ha sido definida
    • class_implements - Devuelve las interfaces que son implementadas en la clase dada
    • class_parents - Devuelve las clases padre de la clase dada.
    • class_uses - Devolver los "traits" usados por la clase dada
    • clearstatcache - Limpia la caché de estado de un archivo
    • cli_get_process_title - Returns the current process title
    • cli_set_process_title - Sets the process title
    • closedir - Cierra un gestor de directorio
    • closelog - Cerrar conexión al log del sistema
    • Closure::bind - Duplicar un cierre con un objeto vinculado y ámbito de clase especificados
    • Closure::bindTo - Duplicar el cierre con un objeto vinculado y ámbito de clase nuevos
    • Closure::__construct - Constructor que anula la instanciación
    • Collator::asort - Ordenar un array manteniendo la relación de índices
    • Collator::compare - Comparar dos cadenas Unicode
    • Collator::create - Crear un cotejador
    • Collator::getAttribute - Obtener el valor de un atributo de cotejo
    • Collator::getErrorCode - Obtener el último código de error del cotejeador
    • Collator::getErrorMessage - Obtener el texto del último código de error del cotejador
    • Collator::getLocale - Obtener el nombre de la configuración regional del cotejador
    • Collator::getSortKey - Obtener la clave de ordenación de una cadena
    • Collator::getStrength - Obtener la fuerza de cotejo actual
    • Collator::setAttribute - Establecer el atributo de cotejo
    • Collator::setStrength - Establecer la fuerza (strength) de un cotejo
    • Collator::sort - Ordenar un array usando cotejador especificado
    • Collator::sortWithSortKeys - Ordenar un array usando el cotejador y las claves de ordenación especificados
    • Collator::__construct - Crear un objeto Collator
    • compact - Crear un array que contiene variables y sus valores
    • com_addref - Aumenta el contador de referencia de componentes [obsoleto]
    • com_create_guid - Generar un identificador único globalmente (GUID)
    • com_event_sink - Conectar eventos de un objeto COM a un objeto PHP
    • com_get - Obtiene el valor de una propiedad de un Componente COM Component [obsoleto]
    • com_get_active_object - Devuelve un gestor a una instancia de un objeto COM ya en ejecución
    • com_invoke - Llama a un método de un componente COM [obsoleto]
    • com_isenum - Indica si un objeto COM tiene una interfaz IEnumVariant para iteraciones [obsoleto]
    • com_load - Crea una nueva referencia a un componente COM [obsoleto]
    • com_load_typelib - Carga una biblioteca de tipos
    • com_message_pump - Procesar mensajes COM, durmiendo hata timeoutms milisegundos
    • com_print_typeinfo - Imprime una definición de clase de PHP para una interfaz despachable
    • com_propget - Alias de com_get
    • com_propput - Alias de com_set
    • com_propset - Alias de com_set
    • com_release - Disminuye el contador de referencia de componentes [obsoleto]
    • com_set - Asigna un valor a una propiedad de un componente COM
    • Cond::broadcast - Broadcast a Condition
    • Cond::create - Create a Condition
    • Cond::destroy - Destroy a Condition
    • Cond::signal - Signal a Condition
    • Cond::wait - Wait for Condition
    • connection_aborted - Verifica si el cliente se desconectó
    • connection_status - Devuelve el campo de bits de status de conexión
    • connection_timeout - Verificar si el script ha alcanzado su tiempo de espera máximo
    • constant - Devuelve el valor de una constante
    • Constantes para PDO_4D - Constantes para PDO_4D
    • Contexto parámetros - Listado de parámetros de contexto
    • convert_cyr_string - Convierte de un juego de caracteres cirílico a otro juego de caracteres cirílico
    • convert_uudecode - Descodifica una cadena codificada mediante uuencode
    • convert_uuencode - Codifica, mediante uuencode, una cadena
    • copy - Copia archivos
    • cos - Coseno
    • cosh - Coseno hiperbólico
    • count - Cuenta todos los elementos de un array o en un objeto
    • Countable::count - Cuenta los elementos de un objeto
    • Counter::bumpValue - Change the current value of a counter.
    • Counter::getMeta - Return a piece of metainformation about a counter.
    • Counter::getNamed - Retrieve an existing named counter.
    • Counter::getValue - Get the current value of a counter.
    • Counter::resetValue - Reset the current value of a counter.
    • Counter::setCounterClass - Set the class returned by Counter::getNamed.
    • Counter::__construct - Creates an instance of a Counter which maintains a single numeric value.
    • counter_bump - Update the current value of the basic counter.
    • counter_bump_value - Change the current value of a counter resource.
    • counter_create - Creates a counter which maintains a single numeric value.
    • counter_get - Get the current value of the basic counter.
    • counter_get_meta - Return a piece of metainformation about a counter resource.
    • counter_get_named - Retrieve an existing named counter as a resource.
    • counter_get_value - Get the current value of a counter resource.
    • counter_reset - Reset the current value of the basic counter.
    • counter_reset_value - Reset the current value of a counter resource.
    • count_chars - Devuelve información sobre los caracteres usados en una cadena
    • crack_check - Realiza una comprobación de la dificultad de crackear la contraseña proporcionada
    • crack_closedict - Cierra un diccionario abierto de CrackLib
    • crack_getlastmessage - Devuelve el mensaje de la última comprobación realizada
    • crack_opendict - Abre un diccionario nuevo de CrackLib
    • crc32 - Calcula el polinomio crc32 de una cadena
    • create_function - Crear una función anónima (estilo lambda)
    • crypt - Hashing de una sola vía de un string
    • ctype_alnum - Chequear posibles caracteres alfanuméricos
    • ctype_alpha - Chequear posibles caracteres alfabéticos
    • ctype_cntrl - Chequear posibles caracteres de control
    • ctype_digit - Chequear posibles caracteres numéricos
    • ctype_graph - Chequear posibles caracteres imprimibles, con excepción de los espacios
    • ctype_lower - Chequear posibles caracteres en minúscula
    • ctype_print - Chequear posibles caracteres imprimibles
    • ctype_punct - Chequear posibles caracteres imprimibles que no son ni espacios en blanco ni caracteres alfanuméricos
    • ctype_space - Chequear posibles caracteres de espacio en blanco
    • ctype_upper - Chequear posibles caracteres en mayúscula
    • ctype_xdigit - Chequear posibles caracteres que representen un dígito hexadecimal
    • cubrid_affected_rows - Devolver el número de filas afectadas por la última sentencia SQL
    • cubrid_bind - Vincular variables para una sentencia preparada como parámetros
    • cubrid_client_encoding - Devuelve el actual conjunto de caracteres de la conexión a CUBRID
    • cubrid_close - Cerrar la conexión de CUBRID
    • cubrid_close_prepare - Cerrar el gestor de solicitud
    • cubrid_close_request - Cerrar el gestor de solicitud
    • cubrid_column_names - Obtener los nombres de las columnas del resultado
    • cubrid_column_types - Obtener los tipos de columnas del resultado
    • cubrid_col_get - Obtener el contenido de la columna del tipo de colecctión usando OID
    • cubrid_col_size - Obtener el número de elementos de la columna del tipo de colección usando OID
    • cubrid_commit - Consigna una transacción
    • cubrid_connect - Abrir una conexión al servidor CUBRID
    • cubrid_connect_with_url - Establecer el entorno para la conexión al servidor de CUBRID
    • cubrid_current_oid - Obtener el OID de la posición del cursor actual
    • cubrid_data_seek - Mueve el puntero interno de la fila del resultado CUBRID
    • cubrid_db_name - Obtener el nombre de la base de datos desde los resultados de cubrid_list_dbs
    • cubrid_disconnect - Cerrar una conexión a una base de datos
    • cubrid_drop - Borrar una instancia usando OID
    • cubrid_errno - Devuelve el valor numérico del mensaje de error de la operación de CUBRID previa
    • cubrid_error - Se usa para obtener el mensaje de error
    • cubrid_error_code - Obtener el código de error de la llamada a una función más reciente
    • cubrid_error_code_facility - Obtener el código de error del dispositivo
    • cubrid_error_msg - Obtener el último mensaje de error de la llamada a la función más reciente
    • cubrid_execute - Ejecutar una sentencia SQL preparada
    • cubrid_fetch - Obtener la siguiente fila de un conjunto de resultados
    • cubrid_fetch_array - Extrae una fila como array asociativo, numérico o ambos
    • cubrid_fetch_assoc - Devuelve un array asociativo que se corresponde con la fila obtenida
    • cubrid_fetch_field - Devuelve un objeto con ciertas propiedades
    • cubrid_fetch_lengths - Devuelve una matriz con las longitudes de los valores de cada campo de la fila actual
    • cubrid_fetch_object - Devuelve un objeto con los nombres de las columnas
    • cubrid_fetch_row - Devuelve un array numérico con los valores de la fila actual
    • cubrid_field_flags - Devuelve una cadena con las banderas del índice del campo dado
    • cubrid_field_len - Devuelve la longitud máxima del campo especificado
    • cubrid_field_name - Devuelve el nombre del índice del campo especificado
    • cubrid_field_seek - Mueve el cursor del conjunto de resultados al índece del campo especificado
    • cubrid_field_table - Devuelve el nombre de la tabla del campo especificado
    • cubrid_field_type - Devuelve el tipo de columna que se corresponde con el índice del campo dado
    • cubrid_free_result - Liberar la memoria ocupada por los datos del resultado
    • cubrid_get - Obtener una columna usando OID
    • cubrid_get_autocommit - Devuelve el modo auto-commit de la conexión
    • cubrid_get_charset - Devolver el conjunto de caracteres de la conexión CUBRID actual
    • cubrid_get_class_name - Obtener el nombre de la clase usando OID
    • cubrid_get_client_info - Devolver la versión de la biblioteca cliente
    • cubrid_get_db_parameter - Devuelve los parámetros de la base de datos CUBRID
    • cubrid_get_query_timeout - Obtener el valor del tiempo de espera de consulta de la petición
    • cubrid_get_server_info - Devolver la versión del servidor CUBRID
    • cubrid_insert_id - Devuelve el ID generado por la última columna actualizada AUTO_INCREMENT
    • cubrid_is_instance - Comprobar si existe la instancia apuntada por OID
    • cubrid_list_dbs - Devuelve una matriz con la lista de todas las bases de datos Cubrid existentes
    • cubrid_load_from_glo - Leer información de una instancia GLO y guardarla en un fichero
    • cubrid_lob2_bind - Vincula un objeto LOB o un string como un objeto LOB a una sentencia preparada como parámetros
    • cubrid_lob2_close - Cierra un objeto LOB
    • cubrid_lob2_export - Exporta un objeto LOB a un fichero
    • cubrid_lob2_import - Importa datos BLOB/CLOB desde un fichero
    • cubrid_lob2_new - Crea un objeto LOB
    • cubrid_lob2_read - Lee desde datos BLOB/CLOB
    • cubrid_lob2_seek - Mueve el cursor de un objeto LOB
    • cubrid_lob2_seek64 - Mueve el cursor de un objeto LOB
    • cubrid_lob2_size - Obtiene el tamaño de un objeto LOB
    • cubrid_lob2_size64 - Obtiene el tamaño de un objeto LOB
    • cubrid_lob2_tell - Indica la posición del cursor de un objeto LOB
    • cubrid_lob2_tell64 - Indica la posición del cursor de un objeto LOB
    • cubrid_lob2_write - Escribe en un objeto LOB
    • cubrid_lob_close - Cerrar información BLOB/CLOB
    • cubrid_lob_export - Exportar datos BLOB/CLOB a un fichero
    • cubrid_lob_get - Obtener información BLOB/CLOB
    • cubrid_lob_send - Leer información BLOB/CLOB y enviarla directamente al navegador
    • cubrid_lob_size - Obtener el tamaño de datos BLOB/CLOB
    • cubrid_lock_read - Establecer un bloqueo de lectura sobre el OID dado
    • cubrid_lock_write - Establecer un bloqueo de escritura para el OID dado
    • cubrid_move_cursor - Mover el cursor en el resultado
    • cubrid_new_glo - Crear una instancia glo
    • cubrid_next_result - Obtiene el resultado de la siguiente consulta cuando se ejecutan multiples sentencias SQL
    • cubrid_num_cols - Devolver el número de columnas del conjunto de resultados
    • cubrid_num_fields - Devuelve el número de columnas del conjunto de resultados
    • cubrid_num_rows - Obtener el número de filas del conjunto de resultados
    • cubrid_pconnect - Abrir una conexión persistente a un servidor CUBRID
    • cubrid_pconnect_with_url - Abrir una conexión persistente al servidor CUBRID
    • cubrid_ping - Hacer ping en una conexión al servidor o reconectar si no hay conexión
    • cubrid_prepare - Preparar una sentencia SQL para su ejecución
    • cubrid_put - Actualizar un atributo usando OID
    • cubrid_query - Enviar una consulta CUBRID
    • cubrid_real_escape_string - Escapar caracteres especiales en una cadena para usarla en una sentencia SQL
    • cubrid_result - Devuelve el valor de un campo específico de una fila específica
    • cubrid_rollback - Retroceder una transacción
    • cubrid_save_to_glo - Guardar el fichero solicitado en una instancia GLO
    • cubrid_schema - Obtener la información del esquema solicitado
    • cubrid_send_glo - Leer información de un glo y enviarla a la salida estándar
    • cubrid_seq_drop - Borrar un elemento de una columna tipo secuencia usando OID
    • cubrid_seq_insert - Insertar un elemento en una columna tipo secuencia usando OID
    • cubrid_seq_put - Actualizar el valor del elemento de la columna de tipo secuencia usando OID
    • cubrid_set_add - Insertar un único elemento en la columna del tipo de conjunto usando OID
    • cubrid_set_autocommit - Establece el modo de confirmación automática de la conexión
    • cubrid_set_db_parameter - Configura los parámetros de la base de datos CUBRID
    • cubrid_set_drop - Borrar un elemento de la columna del tipo de conjunto usando OID
    • cubrid_set_query_timeout - Establecer el tiempo de espera de la ejecución de consultas
    • cubrid_unbuffered_query - Realiza una consulta sin traer los resultados a memoria
    • cubrid_version - Obtener la versión del módulo de PHP de CUBRID
    • CURLFile::getFilename - Recupera el nombre de un fichero
    • CURLFile::getMimeType - Recupera el tipo MIME
    • CURLFile::getPostFilename - Recupera el nombre de fichero para POST
    • CURLFile::setMimeType - Configura el tipo MIME
    • CURLFile::setPostFilename - Define el nombre de fichero para POST
    • CURLFile::__construct - Crear un objeto CURLFile
    • CURLFile::__wakeup - Gestor de deserialización
    • curl_close - Cierra una sesión cURL
    • curl_copy_handle - Copia el recurso cURL junto con todas sus preferencias
    • curl_errno - Devuelve el último número de error
    • curl_error - Devuelve una cadena que contiene el último error de la sesión actual
    • curl_escape - Función URL que codifica el string dado
    • curl_exec - Establece una sesión cURL
    • curl_getinfo - Obtiene información relativa a una transferencia específica
    • curl_init - Inicia sesión cURL
    • curl_multi_add_handle - Añade un recurso cURL a un grupo de recursos cURL
    • curl_multi_close - Cierra un grupo de recursos cURL
    • curl_multi_exec - Ejecuta las sub-conexiones del recurso cURL actual
    • curl_multi_getcontent - Devuelve el contenido del recurso cURL si CURLOPT_RETURNTRANSFER está activado
    • curl_multi_info_read - Obtiene información de las transferencias en curso
    • curl_multi_init - Devuelve un nuevo multi recurso cURL
    • curl_multi_remove_handle - Elimina un multi recurso de un conjunto de recursos cURL
    • curl_multi_select - Espera actividad en cualquier conexión en curl_multi
    • curl_multi_setopt - Configura una opción para el multi gestor cURL
    • curl_multi_strerror - Devuelve un string con la descripción del código de error
    • curl_pause - Pausa y reanuda una conexión
    • curl_reset - Reinicializa todas las opciones de un gestor de sesión libcurl
    • curl_setopt - Configura una opción para una transferencia cURL
    • curl_setopt_array - Configura múltiples opciones para una transferencia cURL
    • curl_share_close - Cierra un gestor cURL compartido
    • curl_share_init - Inicializar un gestor cURL compartido
    • curl_share_setopt - Configura una opción para un gestor cURL compartido
    • curl_strerror - Devuelve un string que describe el código de error dado
    • curl_unescape - Descodifica un string codificado de URL
    • curl_version - Obtiene la información de la versión de cURL
    • current - Devuelve el elemento actual en un array
    • cyrus_authenticate - Autenticarse contra un servidor IMAP Cyrus
    • cyrus_bind - Enlaza llamadas de retorno a una conexión IMAP Cyrus
    • cyrus_close - Cierra la conexión con el servidor IMAP Cyrus
    • cyrus_connect - Conecta a un servidor IMAP Cyrus
    • cyrus_query - Envía una petición a un servidor IMAP Cyrus
    • cyrus_unbind - Desenlaza
  • d
    • data:// - Data (RFC 2397)
    • date - Dar formato a la fecha/hora local
    • DateInterval::createFromDateString - Establece un objeto DateInterval desde las partes relativas de una cadena
    • DateInterval::format - Formatea el intervalo
    • DateInterval::__construct - Crea un nuevo objeto DateInterval
    • DatePeriod::__construct - Crea un nuevo objeto DatePeriod
    • DateTime::add - Añade una cantidad de días, meses, años, horas, minutos y segundos al objeto DateTime
    • DateTime::createFromFormat - Devuelve un nuevo objeto DateTime formateado según el formato especificado
    • DateTime::diff - Devuelve la diferencia entre dos objetos DateTime
    • DateTime::format - Devuelve la fecha formateada según el formato dado
    • DateTime::getLastErrors - Devuelve las advertencias y los errores
    • DateTime::getOffset - Devuelve el índice de la zona horaria
    • DateTime::getTimestamp - Obtiene la marca de tiempo Unix
    • DateTime::getTimezone - Develve la zona horaria relativa al objeto DateTime dado
    • DateTime::modify - Altera la marca de tiempo
    • DateTime::setDate - Establece la fecha
    • DateTime::setISODate - Establece la fecha ISO
    • DateTime::setTime - Establece la hora
    • DateTime::setTimestamp - Establece la fecha y la hora basadas en una fecha Unix
    • DateTime::setTimezone - Establece la zona horaria para el objeto DateTime
    • DateTime::sub - Sustrae una cantidad de días, meses, años, horas, minutos y segundos de un objeto DateTime
    • DateTime::__construct - Devuelve un nuevo objeto DateTime
    • DateTime::__set_state - El gestor __set_state
    • DateTime::__wakeup - El gestor __wakeup
    • DateTimeImmutable::add - Añade una cantidad de días, meses, años, horas, minutos y segundos
    • DateTimeImmutable::createFromFormat - Devuelve un nuevo objeto DateTimeImmutable formateado según el formato especificado
    • DateTimeImmutable::getLastErrors - Devuelve las advertencias y errores
    • DateTimeImmutable::modify - Altera la marca de tiempo
    • DateTimeImmutable::setDate - Establece la fecha
    • DateTimeImmutable::setISODate - Establece la fecha ISO
    • DateTimeImmutable::setTime - Establece la hora
    • DateTimeImmutable::setTimestamp - Establece la fecha y hora basadas en una marca de tiempo Unix
    • DateTimeImmutable::setTimezone - Establece la zona horaria
    • DateTimeImmutable::sub - Sustrae una cantidad de días, meses, años, horas, minutos y segundos
    • DateTimeImmutable::__construct - Devuelve un nuevo objeto DateTimeImmutable
    • DateTimeImmutable::__set_state - El gestor __set_state
    • DateTimeZone::getLocation - Devuelve la información de la ubicación para una zona horaria
    • DateTimeZone::getName - Devuelve el nombre de la zona horaria
    • DateTimeZone::getOffset - Devuelve el índice de la zona horaria de GMT
    • DateTimeZone::getTransitions - Devuelve todas las transiciones para una zona horaria
    • DateTimeZone::listAbbreviations - Devuelve una matriz asociativa que contiene el horario de verano (dst), el índice y el nombre de la zona horaria
    • DateTimeZone::listIdentifiers - Devuelve un array indexado numéricamente que contiene todos los identificadores de zonas horarias definidos
    • DateTimeZone::__construct - Crea un nuevo objeto DateTimeZone
    • date_add - Alias de DateTime::add
    • date_create - Alias de DateTime::__construct
    • date_create_from_format - Alias de DateTime::createFromFormat
    • date_create_immutable - Alias de DateTimeImmutable::__construct
    • date_create_immutable_from_format - Alias de DateTimeImmutable::createFromFormat
    • date_date_set - Alias de DateTime::setDate
    • date_default_timezone_get - Obtiene la zona horaria predeterminada usada por todas las funciones de fecha/hora en un script
    • date_default_timezone_set - Establece la zona horaria predeterminada usada por todas las funciones de fecha/hora en un script
    • date_diff - Alias de DateTime::diff
    • date_format - Alias de DateTime::format
    • date_get_last_errors - Alias de DateTime::getLastErrors
    • date_interval_create_from_date_string - Alias de DateInterval::createFromDateString
    • date_interval_format - Alias de DateInterval::format
    • date_isodate_set - Alias de DateTime::setISODate
    • date_modify - Alias de DateTime::modify
    • date_offset_get - Alias de DateTime::getOffset
    • date_parse - Devuelve una matriz asociativa con información detallada acerca de una fecha dada
    • date_parse_from_format - Obtiene información de una fecha dada formateada de acuerdo al formato especificado
    • date_sub - Alias de DateTime::sub
    • date_sunrise - Devuelve la hora de la salida del sol de un día y ubicación dados
    • date_sunset - Devuelve la hora de la puesta de sol de un día y ubicación dados
    • date_sun_info - Devuelve una matriz con información sobre la puesta/salida del sol y el comienzo/final del crepúsculo
    • date_timestamp_get - Alias de DateTime::getTimestamp
    • date_timestamp_set - Alias de DateTime::setTimestamp
    • date_timezone_get - Alias de DateTime::getTimezone
    • date_timezone_set - Alias de DateTime::setTimezone
    • date_time_set - Alias de DateTime::setTime
    • db2_autocommit - Devuelve o establece el estado de AUTOCOMMIT en una conexión de bases de datos
    • db2_bind_param - Vincula una variable PHP a un parámetro de una sentencia SQL
    • db2_client_info - Devuelve un objeto cuyas propiedades describen cliente de una base de datos DB2
    • db2_close - Cierra una conexión a base de datos
    • db2_columns - Devuelve los campos de una tabla y sus metadatos asociados.
    • db2_column_privileges - Obtiene la lista de columnas y permisos asociados a una tabla
    • db2_commit - Commits a transaction
    • db2_connect - Returns a connection to a database
    • db2_conn_error - Returns a string containing the SQLSTATE returned by the last connection attempt
    • db2_conn_errormsg - Returns the last connection error message and SQLCODE value
    • db2_cursor_type - Returns the cursor type used by a statement resource
    • db2_escape_string - Used to escape certain characters
    • db2_exec - Executes an SQL statement directly
    • db2_execute - Executes a prepared SQL statement
    • db2_fetch_array - Returns an array, indexed by column position, representing a row in a result set
    • db2_fetch_assoc - Returns an array, indexed by column name, representing a row in a result set
    • db2_fetch_both - Returns an array, indexed by both column name and position, representing a row in a result set
    • db2_fetch_object - Returns an object with properties representing columns in the fetched row
    • db2_fetch_row - Sets the result set pointer to the next row or requested row
    • db2_field_display_size - Returns the maximum number of bytes required to display a column
    • db2_field_name - Returns the name of the column in the result set
    • db2_field_num - Returns the position of the named column in a result set
    • db2_field_precision - Returns the precision of the indicated column in a result set
    • db2_field_scale - Returns the scale of the indicated column in a result set
    • db2_field_type - Returns the data type of the indicated column in a result set
    • db2_field_width - Returns the width of the current value of the indicated column in a result set
    • db2_foreign_keys - Returns a result set listing the foreign keys for a table
    • db2_free_result - Frees resources associated with a result set
    • db2_free_stmt - Frees resources associated with the indicated statement resource
    • db2_get_option - Retrieves an option value for a statement resource or a connection resource
    • db2_last_insert_id - Returns the auto generated ID of the last insert query that successfully executed on this connection
    • db2_lob_read - Gets a user defined size of LOB files with each invocation
    • db2_next_result - Requests the next result set from a stored procedure
    • db2_num_fields - Returns the number of fields contained in a result set
    • db2_num_rows - Returns the number of rows affected by an SQL statement
    • db2_pclose - Closes a persistent database connection
    • db2_pconnect - Returns a persistent connection to a database
    • db2_prepare - Prepara un comando SQL para su ejecución
    • db2_primary_keys - Returns a result set listing primary keys for a table
    • db2_procedures - Returns a result set listing the stored procedures registered in a database
    • db2_procedure_columns - Returns a result set listing stored procedure parameters
    • db2_result - Returns a single column from a row in the result set
    • db2_rollback - Rolls back a transaction
    • db2_server_info - Returns an object with properties that describe the DB2 database server
    • db2_set_option - Set options for connection or statement resources
    • db2_special_columns - Returns a result set listing the unique row identifier columns for a table
    • db2_statistics - Returns a result set listing the index and statistics for a table
    • db2_stmt_error - Returns a string containing the SQLSTATE returned by an SQL statement
    • db2_stmt_errormsg - Returns a string containing the last SQL statement error message
    • db2_tables - Returns a result set listing the tables and associated metadata in a database
    • db2_table_privileges - Returns a result set listing the tables and associated privileges in a database
    • dbase_add_record - Añade un registro a una base de datos
    • dbase_close - Cierra una base de datos
    • dbase_create - Crea una base de datos
    • dbase_delete_record - Borra un registro de una base de datos
    • dbase_get_header_info - Obtiene la información de cabecera de una base de datos
    • dbase_get_record - Obtiene un registro de una base de datos como una matriz indexada
    • dbase_get_record_with_names - Obtiene un registro de una base de datos como una matriz asociativa
    • dbase_numfields - Obtiene el número de campos de una base de datos
    • dbase_numrecords - Obtener el número de registros de una base de datos
    • dbase_open - Abre una base de datos
    • dbase_pack - Empaquetar una base de datos
    • dbase_replace_record - Reemplaza un registro en una base de datos
    • dba_close - Cerrar una base de datos DBA
    • dba_delete - Elimina una entrada DBA especificada por clave
    • dba_exists - Verificar si la clave existe
    • dba_fetch - Recuperar datos especificados por clave
    • dba_firstkey - Recuperar la primera clave
    • dba_handlers - Listar todos los gestores disponibles
    • dba_insert - Insertar entrada
    • dba_key_split - Separa una clave en representación de cadena en representación de array
    • dba_list - Listar todos los archivos de base de datos abiertos
    • dba_nextkey - Recuperar la siguiente clave
    • dba_open - Abrir una base de datos
    • dba_optimize - Optimizar base de datos
    • dba_popen - Abrir una base de datos de forma persistente
    • dba_replace - Reemplazar o insertar una entrada
    • dba_sync - Sincronizar base de datos
    • dbplus_add - Añade una tupla a una relación
    • dbplus_aql - Realizar una consulta AQL
    • dbplus_chdir - Obtener/Estabecer el directorio virtual actual de la base de datos
    • dbplus_close - Cierra una relación
    • dbplus_curr - Get current tuple from relation
    • dbplus_errcode - Obtener la cadena de error de un código de error dado o del último error
    • dbplus_errno - Obtener el código de error de la última operación
    • dbplus_find - Establecer una restricción en una relación
    • dbplus_first - Obtener la primera tupla de una relación
    • dbplus_flush - Vuelca todos los cambios hechos en una relación
    • dbplus_freealllocks - Liberar todos los bloqueos mantenidos por este cliente
    • dbplus_freelock - Libera el bloqueo de escritura en una tupla
    • dbplus_freerlocks - Liberar todos los bloqueos de una relación dada
    • dbplus_getlock - Obtener un bloqueo de escritura en una tupla
    • dbplus_getunique - Obtener un único número de identificación para una relación
    • dbplus_info - Obtener información sobre una relación
    • dbplus_last - Obtener la última tupla de una relación
    • dbplus_lockrel - Solictar un bloqueo de escritura en una relación
    • dbplus_next - Obtener la siguiente tupla de una relación
    • dbplus_open - Abre un archivo de relación
    • dbplus_prev - Obtener la tupla previa de una relación
    • dbplus_rchperm - Cambiar los permisos de una relación
    • dbplus_rcreate - Crea una nueva relación de DB++
    • dbplus_rcrtexact - Crea una copia exacta pero vacía de una relación incluyendo los índices
    • dbplus_rcrtlike - Crea una copia vacía de una relación con los índeces predeterminados
    • dbplus_resolve - Resuelve la información del host de la relación
    • dbplus_restorepos - Restablece la posición
    • dbplus_rkeys - Especificar una nueva clave primaria para un relaición
    • dbplus_ropen - Abrir un archivo local de relación
    • dbplus_rquery - Realizar una consulta AQL local (en bruto)
    • dbplus_rrename - Renombrar una relación
    • dbplus_rsecindex - Crear un nuevo índice secundario para una relación
    • dbplus_runlink - Eliminar una relación del sistema de archivos
    • dbplus_rzap - Eliminar todas las tuplas de una relación
    • dbplus_savepos - Guardar la posición
    • dbplus_setindex - Establecer el índice
    • dbplus_setindexbynumber - Establecer el índice por número
    • dbplus_sql - Realiza una consulta SQL
    • dbplus_tcl - Ejecutar código TCL en el lado del servidor
    • dbplus_tremove - Eliminar una tupla y devolver la nueva tupla actual
    • dbplus_undo - Deshacer
    • dbplus_undoprepare - Preparara deshacer
    • dbplus_unlockrel - Liberar un bloqueo de escritura en una relación
    • dbplus_unselect - Eliminar una restricción de una relación
    • dbplus_update - Actualizar la tupla especificada en la relación
    • dbplus_xlockrel - Solicitar un bloqueo exclusivo de una relación
    • dbplus_xunlockrel - Liberar un bloqueo exclusivo en una relación
    • dbx_close - Cierra una conexión/base de datos abierta
    • dbx_compare - Comparar dos filas con propósitos de ordenación
    • dbx_connect - Abrir una conexión/base de datos
    • dbx_error - Reporta un mensaje de error de la última llamada a la función en el módulo
    • dbx_escape_string - Escapar una cadena para que pueda ser usada de forma segura en una declaración sql
    • dbx_fetch_row - Traer filas de un resultado de una consulta que tuvo la bandera DBX_RESULT_UNBUFFERED establecida
    • dbx_query - Enviar una consulta y traer todos los resultado (si hubo alguno)
    • dbx_sort - Ordenar un resultado de una llamada a dbx_query mediante una función de ordenación personalizada
    • dcgettext - Sobrescribe el dominio de la búsqueda única del mensaje
    • dcngettext - Versión plural de dcgettext
    • deaggregate - Removes the aggregated methods and properties from an object
    • debug_backtrace - Genera un rastreo
    • debug_print_backtrace - Muestra un rastreo
    • debug_zval_dump - Vuelca a la salida una cadena con la representación de un valor interno de zend
    • decbin - Decimal a binario
    • dechex - Decimal a hexadecimal
    • decoct - Decimal a octal
    • define - Define una constante con nombre
    • defined - Comprueba si existe una constante con nombre dada
    • define_syslog_variables - Initializes all syslog related variables
    • deg2rad - Convierte el número en grados a su equivalente en radianes
    • delete - Véase unlink o unset
    • dgettext - Sobrescribe el dominio actual
    • die - Equivalente a exit
    • dio_close - Cierra el descriptor de fichero fd
    • dio_fcntl - Lleva a cabo la función fcntl de la biblioteca C en el fichero fd
    • dio_open - Abre (crea si fuera necesario) un fichero a un nivel más bajo que el permitido por flujos de entrada y salida de las bibliotecas en C.
    • dio_read - Leer bytes de un descriptor de fichero
    • dio_seek - Salta a una posición del descriptor de fichero desde donde proceda
    • dio_stat - Consulta información de estado del descriptor de fichero fd
    • dio_tcsetattr - Establece los atributos terminales y la tasa de baudios del puerto serie
    • dio_truncate - Trunca un descriptor de fichero fd a un determinado número de bytes
    • dio_write - Escribe datos en el descriptor de fichero con un truncado opcional
    • dir - Devuelve una instancia de la clase Directory
    • Directory::close - Cierra un gestor de directorio
    • Directory::read - Lee una entrada desde el controlador de directorio
    • Directory::rewind - Rebobina el manejador de directorio
    • DirectoryIterator::current - Devuelve el elemento actual de DirectoryIterator
    • DirectoryIterator::getATime - Obtener el último acceso del elemento actual DirectoryIterator
    • DirectoryIterator::getBasename - Obtener el nombre base del elemento actual DirectoryIterator
    • DirectoryIterator::getCTime - Obtiene el cambio de tiempo del inodo para el elemento actual DirectoryIterator
    • DirectoryIterator::getExtension - Obtiene la extensión de un fichero
    • DirectoryIterator::getFilename - Devuelve el nombre del fichero del elemento actual DirectoryIterator
    • DirectoryIterator::getGroup - Obtiene el grupo para el elemento actual DirectoryIterator
    • DirectoryIterator::getInode - Obtiene el inodo para el elemento actual DirectoryIterator
    • DirectoryIterator::getMTime - Obtiene la última modificación para el elemento actual DirectoryIterator
    • DirectoryIterator::getOwner - Obtiene el dueño del elemento actual DirectoryIterator
    • DirectoryIterator::getPath - Obtiene la ruta del elemento iterador actual sin nombre de fichero
    • DirectoryIterator::getPathname - Devuelve la ruta y nombre de fichnero del elemento actual DirectoryIterator
    • DirectoryIterator::getPerms - Obtiene los permisos del elemento actual DirectoryIterator
    • DirectoryIterator::getSize - obtiene el tamaño de el elemento actual DirectoryIterator
    • DirectoryIterator::getType - Determina el tipo del elemento actual DirectoryIterator
    • DirectoryIterator::isDir - Determina si el elemento actual DirectoryIterator es un directorio
    • DirectoryIterator::isDot - Determina si el elemento actual DirectoryIterator es '.' o '..'
    • DirectoryIterator::isExecutable - Determina si el emento actual DirectoryIterator es ejecutable
    • DirectoryIterator::isFile - Determina si el elemento actual DirectoryIterator es un fichero
    • DirectoryIterator::isLink - Determina si el elemento actual DirectoryIterator es un enlace simbólico
    • DirectoryIterator::isReadable - Determina si el elemento actual DirectoryIterator puede ser leído
    • DirectoryIterator::isWritable - Determina si el elemento actual DirectoryIterator se puede escribir
    • DirectoryIterator::key - Devuelve la clave del elemento actual DirectoryIterator
    • DirectoryIterator::next - Avanza al siguiente elemento DirectoryIterator
    • DirectoryIterator::rewind - Robobina DirectoryIterator hasta volver al inicio
    • DirectoryIterator::seek - Mueve el apuntador interno del elemento DirectoryIterator
    • DirectoryIterator::valid - Comprueba si la actual posición de DirectoryIterator es un fichero válido
    • DirectoryIterator::__construct - Construye un iterador nuevo directorio de una ruta
    • DirectoryIterator::__toString - Obtiene el nombre del fichero como un string
    • dirname - Devuelve el directorio padre de la ruta
    • diskfreespace - Alias de disk_free_space
    • disk_free_space - Devuelve el espacio disponible de un sistema de archivos o partición de disco
    • disk_total_space - Devuelve el tamaño total de un sistema de archivos o partición de disco
    • dl - Carga una extensión PHP en tiempo de ejecucción
    • dngettext - Versión plural de dgettext
    • dns_check_record - Alias de checkdnsrr
    • dns_get_mx - Alias de getmxrr
    • dns_get_record - Fetch DNS Resource Records associated with a hostname
    • DOMAttr::isId - Verifica si un atributo es un ID definido.
    • DOMAttr::__construct - Crea un nuevo objeto DOMAttr
    • DOMCdataSection::__construct - Construye un nuevo objeto DOMCdataSection
    • DOMCharacterData::appendData - Anexa la cadena de caracteres al final de los datos de caracter del nodo.
    • DOMCharacterData::deleteData - Remueve un rango de caracteres del nodo.
    • DOMCharacterData::insertData - Inserta una cadena en la posición de 16-bit especificada
    • DOMCharacterData::replaceData - Reemplaza una subcadena dentro de un nodo DOMCharacterData
    • DOMCharacterData::substringData - Extrae un rango de data del nodo
    • DOMComment::__construct - Crea un nuevo objeto DOMComment
    • DOMDocument::createAttribute - Crear nuevo attribute
    • DOMDocument::createAttributeNS - Crea un nuevo nodo atributo con un namespace asociado.
    • DOMDocument::createCDATASection - Crea un nuevo nodo cdata
    • DOMDocument::createComment - Crea un nuevo nodo de comentario
    • DOMDocument::createDocumentFragment - Crea un nuevo fragmento de documento
    • DOMDocument::createElement - Crea un nuevo nodo elemento
    • DOMDocument::createElementNS - Crea un nuevo nodo elemento con el nombre de espacio asociado
    • DOMDocument::createEntityReference - Create new entity reference node
    • DOMDocument::createProcessingInstruction - Crea un nuevo nodo PI
    • DOMDocument::createTextNode - Crea un nuevo nodo de texto
    • DOMDocument::getElementById - Busca un elemento con cierto id
    • DOMDocument::getElementsByTagName - Busca todos los elementos con el nombre de etiqueta local dado
    • DOMDocument::getElementsByTagNameNS - Busca todos los elementos con el nombre de etiqueta dado en el espacio de nombre especificado.
    • DOMDocument::importNode - Importa un nodo dentro del documento actual
    • DOMDocument::load - Cargar un documento XML de un archivo.
    • DOMDocument::loadHTML - Cargar HTML de una cadena
    • DOMDocument::loadHTMLFile - Cargar HTML desde un fichero
    • DOMDocument::loadXML - Cargar XML desde una cadena
    • DOMDocument::normalizeDocument - Normaliza el documento
    • DOMDocument::registerNodeClass - Registra una clase extendida usada para crear tipos de nodos base
    • DOMDocument::relaxNGValidate - Realiza una validación relaxNG del documento
    • DOMDocument::relaxNGValidateSource - Realiza una validación relaxNG del documento
    • DOMDocument::save - Copia el árbol XML interno a un archivo
    • DOMDocument::saveHTML - Copia el documento interno a una cadena usando el formato HTML
    • DOMDocument::saveHTMLFile - Copia el documento interno a un fichero usando el formato HTML
    • DOMDocument::saveXML - Copia el arbol XML interno a un string
    • DOMDocument::schemaValidate - Valida un documento basado en un esquema
    • DOMDocument::schemaValidateSource - Valida un documento basado en un esquema
    • DOMDocument::validate - Valida el documento basado en su DTD
    • DOMDocument::xinclude - Sustituye XIncludes en un objeto DOMDocument
    • DOMDocument::__construct - Crea un nuevo objeto DOMDocument
    • DOMDocumentFragment::appendXML - Añade información XML sin formato
    • DOMElement::getAttribute - Devuelve el valor de un atributo
    • DOMElement::getAttributeNode - Devuelve el nodo de un atributo
    • DOMElement::getAttributeNodeNS - Devuelve el nodo de un atributo
    • DOMElement::getAttributeNS - Devuelve el valor de un atributo
    • DOMElement::getElementsByTagName - Obtiene los elementos por nombre de etiqueta
    • DOMElement::getElementsByTagNameNS - Obtener los elementos por la URI del espacio de nombres y el nombre local
    • DOMElement::hasAttribute - Comprueba si existe un atributo
    • DOMElement::hasAttributeNS - Comprueba si un atributo existe
    • DOMElement::removeAttribute - Elimina un atributo
    • DOMElement::removeAttributeNode - Elimina un atributo
    • DOMElement::removeAttributeNS - Elimina un atributo
    • DOMElement::setAttribute - Añade un nuevo atributo
    • DOMElement::setAttributeNode - Añade un nuevo nodo de atributo al elemento
    • DOMElement::setAttributeNodeNS - Aña de un nuevo nodo de atributo al elemento
    • DOMElement::setAttributeNS - Añade un nuevo atributo
    • DOMElement::setIdAttribute - Declara el atributo especificado por su nombre como de tipo ID
    • DOMElement::setIdAttributeNode - Declara el atributo especificado por su nodo como de tipo ID
    • DOMElement::setIdAttributeNS - Declara el atributo especificado por su nombre local y su URI del espacio de nombres como de tipo ID
    • DOMElement::__construct - Crea un nuevo objeto DOMElement
    • DOMEntityReference::__construct - Crea un nuevo objeto DOMEntityReference
    • DOMImplementation::createDocument - Crea un objeto DOMDocument del tipo especificado con su elemento documento
    • DOMImplementation::createDocumentType - Crear un objeto DOMDocumentType vacío
    • DOMImplementation::hasFeature - Comprueba si la implementación de DOM implementa una característica específica
    • DOMImplementation::__construct - Crea un nuevo objeto DOMImplementation
    • DOMNamedNodeMap::getNamedItem - Recupera un nodo especificado por su nombre
    • DOMNamedNodeMap::getNamedItemNS - Recupera un nodo especificado por el nombre local y la URI del espacio de nombres
    • DOMNamedNodeMap::item - Recupera un nodo especificado por su índice
    • DOMNode::appendChild - Añade un nuevo hijo al final de los hijos
    • DOMNode::C14N - Canonizar nodos a una cadena
    • DOMNode::C14NFile - Canonizar nodos a un fichero
    • DOMNode::cloneNode - Clona un nodo
    • DOMNode::getLineNo - Obtener el número de línea de un nodo
    • DOMNode::getNodePath - Obtener un XPath de un nodo
    • DOMNode::hasAttributes - Comprueba si un nodo tiene atributos
    • DOMNode::hasChildNodes - Comprueba si el nodo tiene hijos
    • DOMNode::insertBefore - Añade un nuevo hijo antes del nodo de referencia
    • DOMNode::isDefaultNamespace - Comprueba si la URI del espacio de nombres especificada es el espacio de nombres predeterminado
    • DOMNode::isSameNode - Indica si dos nodos son el mismo nodo
    • DOMNode::isSupported - Comprueba si una característica está soportada para la versión especificada
    • DOMNode::lookupNamespaceURI - Obtiene la URI del espacio de nombres del nodo basado en el prefijo
    • DOMNode::lookupPrefix - Obtiene el prefijo del espacio de nombres del nodo basándoes en la URI del espacio de nombres
    • DOMNode::normalize - Normaliza el nodo
    • DOMNode::removeChild - Elimina un hijo de la lista de hijos.
    • DOMNode::replaceChild - Reemplaza un hijo
    • DOMNodelist::item - Recupera un nodo especificado por un índice
    • DOMProcessingInstruction::__construct - Crea un nuevo objeto DOMProcessingInstruction
    • DOMText::isWhitespaceInElementContent - Indica si este nodo de texto contiene espacios en blanco
    • DOMText::splitText - Rompe este nodo en dos nodos en el índice especificado
    • DOMText::__construct - Crea un nuevo objeto DOMText
    • DOMXPath::evaluate - Evalúa la expresión XPath dada y devuelve un resultado escrito si es posible
    • DOMXPath::query - Evalúa la expresión XPath dada
    • DOMXPath::registerNamespace - Registra el espacio de nombres con el objeto DOMXPath
    • DOMXPath::registerPhpFunctions - Registra funciones de PHP como funciones XPath
    • DOMXPath::__construct - Crea un nuevo objeto DOMXPath
    • dom_import_simplexml - Obtiene un objeto DOMElement desde un objeto SimpleXMLElement
    • dotnet_load - Carga un módulo de DOTNET
    • doubleval - Alias de floatval
    • DSN de PDO_4D - Conectarse a un servidor de 4D SQL
    • DSN de PDO_CUBRID - Conectar con bases de datos de CUBRID
    • DSN de PDO_IBM - Conectarse a bases de datos de IBM
    • DSN de PDO_INFORMIX - Conectarse a bases de datos de Informix
    • DSN de PDO_OCI - Conectar a bases de datos de Oracle
    • DSN de PDO_ODBC - Conectarse a bases de datos de ODBC o de DB2
    • DSN de PDO_SQLSRV - Conectar a bases de datos de MS SQL Server y de SQL Azure
  • e
    • each - Devolver el par clave/valor actual de un array y avanzar el cursor del array
    • easter_date - Obtener la fecha Unix para la medianoche de Pascua de un año dado
    • easter_days - Obtener el número de días despúes del 21 de marzo en el cuál cae Pascua para un año dado
    • echo - Muestra una o más cadenas
    • eio_busy - Incrementar artificialmente la carga. Podría ser útil en pruebas, evaluaciones comparativas
    • eio_cancel - Cancelar una petición
    • eio_chmod - Cambiar los permisos de fichero/directorio
    • eio_chown - Cambiar los permisos de un fichero/directorio
    • eio_close - Cerrar un fichero
    • eio_custom - Ejecutar una petición personalizada como cualquier otra llamada eio_*
    • eio_dup2 - Duplicar un descriptor de fichero
    • eio_event_loop - Monitorizar libeio hasta que todas las peticiones sean procesadas
    • eio_fallocate - Permitir al llamador manipular directamente el espacio de disco asignado a un fichero
    • eio_fchmod - Cambiar los permisos de un fichero
    • eio_fchown - Cambiar el propietario del fichero
    • eio_fdatasync - Sincronizar el estado de ficheros que están en memoria con un dispositivo de almacenamiento
    • eio_fstat - Obtener el estado de un fichero
    • eio_fstatvfs - Obtener las estadísticas del sistema de ficheros
    • eio_fsync - Sincronizar el estado de un fichero en memoria con un dispositivo de almacenamiento
    • eio_ftruncate - Truncar un fichero
    • eio_futime - Cambiar los momentos de último y acceso y modificación de un fichero
    • eio_get_event_stream - Obtiene un flujo que representa una variable usada en comnunicaciones internas con libeio
    • eio_get_last_error - Devuelve un string que describe el último error asociado con un recurso de petición
    • eio_grp - Crear un grupo de peticiones
    • eio_grp_add - Añadir una petición al grupo de peticiones
    • eio_grp_cancel - Cancelar un grupo de peticiones
    • eio_grp_limit - Establecer el límite de un grupo
    • eio_init - (Re-)inicializa Eio
    • eio_link - Crear un enlace duro par un fichero
    • eio_lstat - Obtener el estado de un fichero
    • eio_mkdir - Crear un directorio
    • eio_mknod - Crear un fichero especial u ordinario
    • eio_nop - No hace nada, sólo recorre el ciclo de peticiones entero
    • eio_npending - Devolver el número de peticiones, excepto las no manejadas
    • eio_nready - Devolver el número de peticiones aún no tratadas
    • eio_nreqs - Devuelve el número de peticiones a ser procesadas
    • eio_nthreads - Devuelve el número de hilos actualmente en uso
    • eio_open - Abrir un fichero
    • eio_poll - Puede ser llamada siempre que existan peticiones pendientes que necesitan ser finalizadas
    • eio_read - Leer de un descriptor de fichero en un índice dado
    • eio_readahead - Perform file readahead into page cache
    • eio_readdir - Leer un directorio al completo
    • eio_readlink - Leer el valor de un enlace simbólico
    • eio_realpath - Obtener el nombre de ruta absoluto canonizado
    • eio_rename - Cambiar el nombre o la ubicación de un fichero
    • eio_rmdir - Eliminar un directorio
    • eio_seek - Reposiciona el índice del fichero abierto asociado con el argumento fd al argumento offset según la directiva whence
    • eio_sendfile - Transferir información entre descriptores de ficheros
    • eio_set_max_idle - Establecer el número máximo de hilos parados
    • eio_set_max_parallel - Esteblecer el máximo de hilos paralelos
    • eio_set_max_poll_reqs - Establecer el máximo número de peticiones procesadas en una monitorización
    • eio_set_max_poll_time - Establecer el tiempo máximo de monitorización
    • eio_set_min_parallel - Esteblecer el número de hilos paralelos mínimo
    • eio_stat - Obtener el estado de un fichero
    • eio_statvfs - Obtener las estadísticas del sistema de ficheros
    • eio_symlink - Crear un enlace simbólico
    • eio_sync - Consignar el caché de buffer cache al disco
    • eio_syncfs - Realizar una llamada al sistema de syncfs de Linux si está disponible
    • eio_sync_file_range - Sincornizar un segmento de fichero con el disco
    • eio_truncate - Truncar un fichero
    • eio_unlink - Borrar un nombre y posiblemente el fichero al que se refiere
    • eio_utime - Cambiar los momentos de último y acceso y modificación de un fichero
    • eio_write - Escribir en un fichero
    • Ejemplos con PDO_4D - Ejemplos con PDO_4D
    • empty - Determina si una variable está vacía
    • EmptyIterator::current - El método current()
    • EmptyIterator::key - El método key()
    • EmptyIterator::next - El método next()
    • EmptyIterator::rewind - El método rewind()
    • EmptyIterator::valid - El método valid()
    • enchant_broker_describe - Enumera los proveedores de Enchant
    • enchant_broker_dict_exists - Si existe o no un diccionario. Usando una etiqueta no vacía
    • enchant_broker_free - Liberar el recurso de agente y sus diccionarios
    • enchant_broker_free_dict - Liberar un recurso de diccionario
    • enchant_broker_get_error - Devuelve el último error del agente
    • enchant_broker_init - Crear un nuevo objeto agente capaz de hacer peticiones
    • enchant_broker_list_dicts - Devuelve una lista de los diccionarios disponibles
    • enchant_broker_request_dict - Crear un diccionario usanto una etiqueta
    • enchant_broker_request_pwl_dict - Crea un diccionario usando un archivo PWL
    • enchant_broker_set_ordering - Declara una preferencia de diccionarios a usar para el lenguaje
    • enchant_dict_add_to_personal - Añadir una palabra a una lista personal de palabras
    • enchant_dict_add_to_session - Añadir una palabra a esta sesión ortográfica
    • enchant_dict_check - Comprobar si una palabra está correctamente escrita o no
    • enchant_dict_describe - Describe un diccionario individual
    • enchant_dict_get_error - Devuelve el último error de la sesión ortográfica actual
    • enchant_dict_is_in_session - Si existe o no una palabra en esta sesión ortográfica
    • enchant_dict_quick_check - Verifica si la palabra está correctamente escrita y proporciona sugerencias
    • enchant_dict_store_replacement - Añadir una corrección a una palabra
    • enchant_dict_suggest - Devolverá una lista de valores si no se reúnen esas pre-condiciones
    • end - Establece el puntero intero de un array a su último elemento
    • ereg - Comparación de una expresión regular
    • eregi - Comparación de una expresión regular de forma insensible a mayúsculas-minúsculas
    • eregi_replace - Sustituye una expresión regular de forma insensible a mayúsculas-minúsculas
    • ereg_replace - Sustituye una expresión regular
    • ErrorException::getSeverity - Obtiene la severidad de la excepción
    • ErrorException::__construct - Constructor de la Excepción
    • error_get_last - Obtener el último error que ocurrió
    • error_log - Enviar un mensaje de error a las rutinas de manejo de errores definidas
    • error_reporting - Establece cuáles errores de PHP son notificados
    • escapeshellarg - Escapar una cadena a ser usada como argumento del intérprete de comandos
    • escapeshellcmd - Escapar meta-caracteres del intérprete de comandos
    • Ev::backend - Devuelve un entero que describe el back-end utilizado por libev
    • Ev::depth - Devuelve la profundidad de la recursividad
    • Ev::embeddableBackends - Returns the set of backends that are embeddable in other event loops.
    • Ev::feedSignal - Feed a signal event info Ev
    • Ev::feedSignalEvent - Feed signal event into the default loop
    • Ev::iteration - Return the number of times the default event loop has polled for new events.
    • Ev::now - Returns the time when the last iteration of the default event loop has started.
    • Ev::nowUpdate - Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress.
    • Ev::recommendedBackends - Returns a bit mask of recommended backends for current platform.
    • Ev::resume - Resume previously suspended default event loop
    • Ev::run - Begin checking for events and calling callbacks for the default loop
    • Ev::sleep - Block the process for the given number of seconds.
    • Ev::stop - Stops the default event loop
    • Ev::supportedBackends - Returns the set of backends supported by current libev configuration.
    • Ev::suspend - Suspend the default event loop
    • Ev::time - Returns the current time in fractional seconds since the epoch.
    • Ev::verify - Performs internal consistency checks(for debugging)
    • eval - Evaluar una cadena como código PHP
    • EvCheck::createStopped - Create instance of a stopped EvCheck watcher
    • EvCheck::__construct - Constructs the EvCheck watcher object
    • EvChild::createStopped - Create instance of a stopped EvCheck watcher
    • EvChild::set - Configures the watcher
    • EvChild::__construct - Constructs the EvChild watcher object
    • EvEmbed::createStopped - Create stopped EvEmbed watcher object
    • EvEmbed::set - Configures the watcher
    • EvEmbed::sweep - Make a single, non-blocking sweep over the embedded loop.
    • EvEmbed::__construct - Constructs the EvEmbed object
    • Event::add - Makes event pending
    • Event::addSignal - Makes signal event pending
    • Event::addTimer - Makes timer event pending
    • Event::del - Makes event non-pending
    • Event::delSignal - Makes signal event non-pending
    • Event::delTimer - Makes timer event non-pending
    • Event::free - Make event non-pending and free resources allocated for this event.
    • Event::getSupportedMethods - Returns array with of the names of the methods supported in this version of Libevent
    • Event::pending - Detects whether event is pending or scheduled
    • Event::set - Re-configures event
    • Event::setPriority - Set event priority
    • Event::setTimer - Re-configures timer event
    • Event::signal - Constructs signal event object
    • Event::timer - Constructs timer event object
    • Event::__construct - Constructs Event object
    • EventBase::dispatch - Despacha eventos pendientes
    • EventBase::exit - Detiene el envío de los eventos
    • EventBase::getFeatures - Devuelve una máscara de bits de funcionalidades soportadas
    • EventBase::getMethod - Devuelve el método de evento utilizado
    • EventBase::getTimeOfDayCached - Devuelve el tiempo del evento base actual
    • EventBase::gotExit - Verifica si se ha indicado al bucle del evento de salir
    • EventBase::gotStop - Verifica si se ha indicado al bucle del evento de salir
    • EventBase::loop - Despacha eventos pendientes
    • EventBase::priorityInit - Define el número de prioridades por evento base
    • EventBase::reInit - Reinicializa el evento base (después de un 'fork')
    • EventBase::stop - Solicita a event_base que detenga la emisión de eventos
    • EventBase::__construct - Construye un objeto EventBase
    • EventBuffer::add - Añade datos al final de un buffer de eventos
    • EventBuffer::addBuffer - Mueve todos los datos de un buffer a la instancia actual de EventBuffer
    • EventBuffer::appendFrom - Mueve el número de bytes especificados desde un buffer fuente, al final del buffer actual
    • EventBuffer::copyout - Copia un número específico de bytes del principio del buffer
    • EventBuffer::drain - Elimina un número específico de bytes del principio del buffer sin copiarlo a ningún lugar
    • EventBuffer::enableLocking - Descripción
    • EventBuffer::expand - Reserva espacio en el buffer
    • EventBuffer::freeze - Evita que las llamadas puedan modificar un buffer de eventos
    • EventBuffer::lock - Bloquea un buffer
    • EventBuffer::prepend - Prepend data to the front of the buffer
    • EventBuffer::prependBuffer - Moves all data from source buffer to the front of current buffer
    • EventBuffer::pullup - Linearizes data within buffer and returns it's contents as a string
    • EventBuffer::read - Read data from an evbuffer and drain the bytes read
    • EventBuffer::readFrom - Read data from a file onto the end of the buffer
    • EventBuffer::readLine - Extracts a line from the front of the buffer
    • EventBuffer::search - Scans the buffer for an occurrence of a string
    • EventBuffer::searchEol - Scans the buffer for an occurrence of an end of line
    • EventBuffer::substr - Substracts a portion of the buffer data
    • EventBuffer::unfreeze - Re-enable calls that modify an event buffer
    • EventBuffer::unlock - Releases lock acquired by EventBuffer::lock
    • EventBuffer::write - Write contents of the buffer to a file or socket
    • EventBuffer::__construct - Construye el objeto EventBuffer
    • EventBufferEvent::connect - Connect buffer event's file descriptor to given address or UNIX socket
    • EventBufferEvent::connectHost - Connects to a hostname with optionally asyncronous DNS resolving
    • EventBufferEvent::createPair - Creates two buffer events connected to each other
    • EventBufferEvent::disable - Disable events read, write, or both on a buffer event.
    • EventBufferEvent::enable - Enable events read, write, or both on a buffer event.
    • EventBufferEvent::free - Free a buffer event
    • EventBufferEvent::getDnsErrorString - Returns string describing the last failed DNS lookup attempt
    • EventBufferEvent::getEnabled - Returns bitmask of events currently enabled on the buffer event
    • EventBufferEvent::getInput - Returns underlying input buffer associated with current buffer event
    • EventBufferEvent::getOutput - Returns underlying output buffer associated with current buffer event
    • EventBufferEvent::read - Read buffer's data
    • EventBufferEvent::readBuffer - Drains the entire contents of the input buffer and places them into buf
    • EventBufferEvent::setCallbacks - Assigns read, write and event(status) callbacks
    • EventBufferEvent::setPriority - Assign a priority to a bufferevent
    • EventBufferEvent::setTimeouts - Set the read and write timeout for a buffer event
    • EventBufferEvent::setWatermark - Adjusts read and/or write watermarks
    • EventBufferEvent::sslError - Returns most recent OpenSSL error reported on the buffer event
    • EventBufferEvent::sslFilter - Crea un nuevo evento búfer SSL búfer para enviar sus datos a otro evento búfer
    • EventBufferEvent::sslRenegotiate - Tells a bufferevent to begin SSL renegotiation.
    • EventBufferEvent::sslSocket - Creates a new SSL buffer event to send its data over an SSL on a socket
    • EventBufferEvent::write - Adds data to a buffer event's output buffer
    • EventBufferEvent::writeBuffer - Adds contents of the entire buffer to a buffer event's output buffer
    • EventBufferEvent::__construct - Constructs EventBufferEvent object
    • EventConfig::avoidMethod - Tells libevent to avoid specific event method
    • EventConfig::requireFeatures - Enters a required event method feature that the application demands
    • EventConfig::setMaxDispatchInterval - Prevents priority inversion
    • EventConfig::__construct - Constructs EventConfig object
    • EventDnsBase::addNameserverIp - Adds a nameserver to the DNS base
    • EventDnsBase::addSearch - Adds a domain to the list of search domains
    • EventDnsBase::clearSearch - Removes all current search suffixes
    • EventDnsBase::countNameservers - Gets the number of configured nameservers
    • EventDnsBase::loadHosts - Loads a hosts file (in the same format as /etc/hosts) from hosts file
    • EventDnsBase::parseResolvConf - Scans the resolv.conf-formatted file
    • EventDnsBase::setOption - Set the value of a configuration option
    • EventDnsBase::setSearchNdots - Set the 'ndots' parameter for searches
    • EventDnsBase::__construct - Constructs EventDnsBase object
    • EventHttp::accept - Makes an HTTP server accept connections on the specified socket stream or resource
    • EventHttp::addServerAlias - Adds a server alias to the HTTP server object
    • EventHttp::bind - Binds an HTTP server on the specified address and port
    • EventHttp::removeServerAlias - Removes server alias
    • EventHttp::setAllowedMethods - Sets the what HTTP methods are supported in requests accepted by this server, and passed to user callbacks
    • EventHttp::setCallback - Sets a callback for specified URI
    • EventHttp::setDefaultCallback - Sets default callback to handle requests that are not caught by specific callbacks
    • EventHttp::setMaxBodySize - Sets maximum request body size
    • EventHttp::setMaxHeadersSize - Sets maximum HTTP header size
    • EventHttp::setTimeout - Sets the timeout for an HTTP request
    • EventHttp::__construct - Constructs EventHttp object(the HTTP server)
    • EventHttpConnection::getBase - Returns event base associated with the connection
    • EventHttpConnection::getPeer - Gets the remote address and port associated with the connection
    • EventHttpConnection::makeRequest - Makes an HTTP request over the specified connection
    • EventHttpConnection::setCloseCallback - Set callback for connection close
    • EventHttpConnection::setLocalAddress - Sets the IP address from which HTTP connections are made
    • EventHttpConnection::setLocalPort - Sets the local port from which connections are made
    • EventHttpConnection::setMaxBodySize - Sets maximum body size for the connection
    • EventHttpConnection::setMaxHeadersSize - Sets maximum header size
    • EventHttpConnection::setRetries - Sets the retry limit for the connection
    • EventHttpConnection::setTimeout - Sets the timeout for the connection
    • EventHttpConnection::__construct - Constructs EventHttpConnection object
    • EventHttpRequest::addHeader - Adds an HTTP header to the headers of the request
    • EventHttpRequest::cancel - Cancels a pending HTTP request
    • EventHttpRequest::clearHeaders - Removes all output headers from the header list of the request
    • EventHttpRequest::closeConnection - Closes associated HTTP connection
    • EventHttpRequest::findHeader - Finds the value belonging a header
    • EventHttpRequest::free - Frees the object and removes associated events
    • EventHttpRequest::getBufferEvent - Returns EventBufferEvent object
    • EventHttpRequest::getCommand - Returns the request command(method)
    • EventHttpRequest::getConnection - Returns EventHttpConnection object
    • EventHttpRequest::getHost - Returns the request host
    • EventHttpRequest::getInputBuffer - Returns the input buffer
    • EventHttpRequest::getInputHeaders - Returns associative array of the input headers
    • EventHttpRequest::getOutputBuffer - Returns the output buffer of the request
    • EventHttpRequest::getOutputHeaders - Returns associative array of the input headers
    • EventHttpRequest::getResponseCode - Returns the the response code
    • EventHttpRequest::getUri - Returns the request URI
    • EventHttpRequest::removeHeader - Removes an HTTP header from the headers of the request
    • EventHttpRequest::sendError - Send an HTML error message to the client
    • EventHttpRequest::sendReply - Send an HTML reply to the client
    • EventHttpRequest::sendReplyChunk - Send another data chunk as part of an ongoing chunked reply
    • EventHttpRequest::sendReplyEnd - Complete a chunked reply, freeing the request as appropriate
    • EventHttpRequest::sendReplyStart - Initiate a chunked reply
    • EventHttpRequest::__construct - Constructs EventHttpRequest object
    • EventListener::disable - Disables an event connect listener object
    • EventListener::enable - Enables an event connect listener object
    • EventListener::getBase - Returns event base associated with the event listener
    • EventListener::getSocketName - Retreives the current address to which the listener's socket is bound.
    • EventListener::setCallback - The setCallback purpose
    • EventListener::setErrorCallback - Set event listener's error callback
    • EventListener::__construct - Creates new connection listener associated with an event base
    • EventSslContext::__construct - Constructs an OpenSSL context for use with Event classes
    • EventUtil::getLastSocketErrno - Returns the most recent socket error number
    • EventUtil::getLastSocketError - Returns the most recent socket error
    • EventUtil::getSocketFd - Returns numeric file descriptor of a socket, or stream
    • EventUtil::getSocketName - Retreives the current address to which the socket is bound.
    • EventUtil::setSocketOption - Sets socket options
    • EventUtil::sslRandPoll - Generates entropy by means of OpenSSL's RAND_poll()
    • EventUtil::__construct - The abstract constructor
    • event_base_free - Destruye una base de eventos
    • event_base_loop - Gestiona eventos
    • event_base_loopbreak - Aborta un bucle de eventos
    • event_base_loopexit - Sale del bucle después de un tiempo
    • event_base_new - Crea e inicializa una nueva base de eventos
    • event_base_priority_init - Configura el número de niveles de prioridad de los eventos
    • event_base_set - Asocia una base de eventos con un evento
    • event_buffer_base_set - Asocia el evento en un buffer con una base de eventos
    • event_buffer_disable - Desactiva un evento que se encuentra en el buffer
    • event_buffer_enable - Activar un evento almacenado en el buffer
    • event_buffer_fd_set - Cambia el descriptor de fichero de un evento almacenado en el buffer
    • event_buffer_free - Destruye el evento almacenado en el buffer
    • event_buffer_new - Crea un evento en el buffer
    • event_buffer_priority_set - Asigna una prioridad a un evento en el buffer
    • event_buffer_read - Lee datos de un evento buferizado
    • event_buffer_set_callback - Configura o reconfigura llamadas para un evento buferizado
    • event_buffer_timeout_set - Configura los timeouts de lectura y escritura para un evento buferizado
    • event_buffer_watermark_set - Configura las marcas para eventos de lectura y escritura
    • event_buffer_write - Escribe datos en un evento buferizado
    • event_new - Crea un nuevo evento
    • EvFork::createStopped - Creates a stopped instance of EvFork watcher class
    • EvFork::__construct - Constructs the EvFork watcher object
    • EvIdle::createStopped - Creates instance of a stopped EvIdle watcher object
    • EvIdle::__construct - Constructs the EvIdle watcher object
    • EvIo::createStopped - Create stopped EvIo watcher object
    • EvIo::set - Configures the watcher
    • EvIo::__construct - Constructs EvIo watcher object
    • EvLoop::backend - Returns an integer describing the backend used by libev.
    • EvLoop::check - Creates EvCheck object associated with the current event loop instance
    • EvLoop::child - Creates EvChild object associated with the current event loop
    • EvLoop::defaultLoop - Returns or creates the default event loop.
    • EvLoop::embed - Creates an instance of EvEmbed watcher associated with the current EvLoop object.
    • EvLoop::fork - Creates EvFork watcher object associated with the current event loop instance
    • EvLoop::idle - Creates EvIdle watcher object associated with the current event loop instance
    • EvLoop::invokePending - Invoke all pending watchers while resetting their pending state
    • EvLoop::io - Create EvIo watcher object associated with the current event loop instance
    • EvLoop::loopFork - Must be called after a fork
    • EvLoop::now - Returns the current "event loop time"
    • EvLoop::nowUpdate - Establishes the current time by querying the kernel, updating the time returned by EvLoop::now in the progress.
    • EvLoop::periodic - Creates EvPeriodic watcher object associated with the current event loop instance
    • EvLoop::prepare - Creates EvPrepare watcher object associated with the current event loop instance
    • EvLoop::resume - Resume previously suspended default event loop
    • EvLoop::run - Begin checking for events and calling callbacks for the loop
    • EvLoop::signal - Creates EvSignal watcher object associated with the current event loop instance
    • EvLoop::stat - Creates EvStat watcher object associated with the current event loop instance
    • EvLoop::stop - Stops the event loop
    • EvLoop::suspend - Suspend the loop
    • EvLoop::timer - Creates EvTimer watcher object associated with the current event loop instance
    • EvLoop::verify - Performs internal consistency checks(for debugging)
    • EvLoop::__construct - Constructs the event loop object
    • EvPeriodic::again - Simply stops and restarts the periodic watcher again.
    • EvPeriodic::at - Returns the absolute time that this watcher is supposed to trigger next
    • EvPeriodic::createStopped - Create a stopped EvPeriodic watcher
    • EvPeriodic::set - Configures the watcher
    • EvPeriodic::__construct - Constructs EvPeriodic watcher object
    • EvPrepare::createStopped - Creates a stopped instance of EvPrepare watcher
    • EvPrepare::__construct - Constructs EvPrepare watcher object
    • EvSignal::createStopped - Create stopped EvSignal watcher object
    • EvSignal::set - Configures the watcher
    • EvSignal::__construct - Constructs EvPeriodic watcher object
    • EvStat::attr - Returns the values most recently detected by Ev
    • EvStat::createStopped - Create a stopped EvStat watcher object
    • EvStat::prev - Returns the previous set of values returned by EvStat::attr
    • EvStat::set - Configures the watcher
    • EvStat::stat - Initiates the stat call
    • EvStat::__construct - Constructs EvStat watcher object
    • EvTimer::again - Restarts the timer watcher
    • EvTimer::createStopped - Creates EvTimer stopped watcher object
    • EvTimer::set - Configures the watcher
    • EvTimer::__construct - Constructs an EvTimer watcher object
    • EvWatcher::clear - Clear watcher pending status
    • EvWatcher::feed - Feeds the given revents set into the event loop
    • EvWatcher::getLoop - Returns the loop responsible for the watcher
    • EvWatcher::invoke - Invokes the watcher callback with the given received events bit mask
    • EvWatcher::keepalive - Configures whether to keep the loop from returning
    • EvWatcher::setCallback - Sets new callback for the watcher
    • EvWatcher::start - Starts the watcher
    • EvWatcher::stop - Stops the watcher
    • EvWatcher::__construct - Abstract constructor of a watcher object
    • Exception::getCode - Obtiene el código de Excepción
    • Exception::getFile - Obtiene el fichero en el que ocurrió la excepción
    • Exception::getLine - Obtiene la línea en donde ocurrió la excepción
    • Exception::getMessage - Obtiene el mensaje de Excepción
    • Exception::getPrevious - Devuelve la excepción anterior
    • Exception::getTrace - Obtiene el seguimiento de la pila
    • Exception::getTraceAsString - Obtiene el stack trace como cadena
    • Exception::__clone - Clona la excepción
    • Exception::__construct - Constructor de la excepción
    • Exception::__toString - Representación de la excepción en formato cadena
    • exec - Ejecutar un programa externo
    • exif_imagetype - Determinar el tipo de una imagen
    • exif_read_data - Lee las cabeceras EXIF desde un JPEG o un TIFF
    • exif_tagname - Obtener el nombre de la cabecera de un índice
    • exif_thumbnail - Recuperar la miniatura embebida de una imagen TIFF o JPEG
    • exit - Imprime un mensaje y termina el script actual
    • exp - Calcula la exponencial de e
    • expect:// - Flujos de Interacción de Procesos
    • expect_expectl - Espera a que la salida de un proceso coincida con un patrón, se supere un determinado periodo de tiempo, o se alcance un EOF
    • expect_popen - Ejecuta comandos por la shell Bourne, y abre el flujo PTY al proceso
    • explode - Divide una cadena en varias cadenas
    • expm1 - Devuelve exp(numero)-1, calculado de tal forma que no pierde precisión incluso cuando el valor del numero se aproxima a cero.
    • extension_loaded - Encontrar si una extensión está cargada
    • extract - Importar variables a la tabla de símbolos actual desde un array
    • ezmlm_hash - Calcula el valor hash que necesita EZMLM
  • f
    • fam_cancel_monitor - Detiene el monitor
    • fam_close - Cierra la conexión FAM
    • fam_monitor_collection - Vigila los cambios en una colección de archivos de un directorio
    • fam_monitor_directory - Vigila cambios en un directorio
    • fam_monitor_file - Vigila cambios en un archivo regular
    • fam_next_event - Obtiene el próximo evento FAM en espera
    • fam_open - Abre una conexión al demonio FAM
    • fam_pending - Verifica si hay eventos FAM pendientes
    • fam_resume_monitor - Reactiva un monitoreo suspendido
    • fam_suspend_monitor - Suspende temporalmente un monitoreo
    • FANNConnection::getFromNeuron - Returns the postions of starting neuron.
    • FANNConnection::getToNeuron - Returns the postions of terminating neuron
    • FANNConnection::getWeight - Returns the connection weight
    • FANNConnection::setWeight - Sets the connections weight
    • FANNConnection::__construct - The connection constructor
    • fann_cascadetrain_on_data - Trains on an entire dataset, for a period of time using the Cascade2 training algorithm
    • fann_cascadetrain_on_file - Trains on an entire dataset read from file, for a period of time using the Cascade2 training algorithm.
    • fann_clear_scaling_params - Clears scaling parameters
    • fann_copy - Creates a copy of a fann structure
    • fann_create_from_file - Constructs a backpropagation neural network from a configuration file
    • fann_create_shortcut - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
    • fann_create_shortcut_array - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
    • fann_create_sparse - Creates a standard backpropagation neural network, which is not fully connected
    • fann_create_sparse_array - Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes
    • fann_create_standard - Creates a standard fully connected backpropagation neural network
    • fann_create_standard_array - Creates a standard fully connected backpropagation neural network using an array of layer sizes
    • fann_create_train - Creates an empty training data struct
    • fann_create_train_from_callback - Creates the training data struct from a user supplied function
    • fann_descale_input - Scale data in input vector after get it from ann based on previously calculated parameters
    • fann_descale_output - Scale data in output vector after get it from ann based on previously calculated parameters
    • fann_descale_train - Descale input and output data based on previously calculated parameters
    • fann_destroy - Destroys the entire network and properly freeing all the associated memory
    • fann_destroy_train - Destructs the training data
    • fann_duplicate_train_data - Returns an exact copy of a fann train data
    • fann_get_activation_function - Returns the activation function
    • fann_get_activation_steepness - Returns the activation steepness for supplied neuron and layer number
    • fann_get_bias_array - Get the number of bias in each layer in the network
    • fann_get_bit_fail - The number of fail bits
    • fann_get_bit_fail_limit - Returns the bit fail limit used during training
    • fann_get_cascade_activation_functions - Returns the cascade activation functions
    • fann_get_cascade_activation_functions_count - Returns the number of cascade activation functions
    • fann_get_cascade_activation_steepnesses - Returns the cascade activation steepnesses
    • fann_get_cascade_activation_steepnesses_count - The number of activation steepnesses
    • fann_get_cascade_candidate_change_fraction - Returns the cascade candidate change fraction
    • fann_get_cascade_candidate_limit - Return the candidate limit
    • fann_get_cascade_candidate_stagnation_epochs - Returns the number of cascade candidate stagnation epochs
    • fann_get_cascade_max_cand_epochs - Returns the maximum candidate epochs
    • fann_get_cascade_max_out_epochs - Returns the maximum out epochs
    • fann_get_cascade_min_cand_epochs - Returns the minimum candidate epochs
    • fann_get_cascade_min_out_epochs - Returns the minimum out epochs
    • fann_get_cascade_num_candidates - Returns the number of candidates used during training
    • fann_get_cascade_num_candidate_groups - Returns the number of candidate groups
    • fann_get_cascade_output_change_fraction - Returns the cascade output change fraction
    • fann_get_cascade_output_stagnation_epochs - Returns the number of cascade output stagnation epochs
    • fann_get_cascade_weight_multiplier - Returns the weight multiplier
    • fann_get_connection_array - Get connections in the network
    • fann_get_connection_rate - Get the connection rate used when the network was created
    • fann_get_errno - Returns the last error number
    • fann_get_errstr - Returns the last errstr
    • fann_get_layer_array - Get the number of neurons in each layer in the network
    • fann_get_learning_momentum - Returns the learning momentum
    • fann_get_learning_rate - Returns the learning rate
    • fann_get_MSE - Reads the mean square error from the network
    • fann_get_network_type - Get the type of neural network it was created as
    • fann_get_num_input - Get the number of input neurons
    • fann_get_num_layers - Get the number of layers in the neural network
    • fann_get_num_output - Get the number of output neurons
    • fann_get_quickprop_decay - Returns the decay which is a factor that weights should decrease in each iteration during quickprop training
    • fann_get_quickprop_mu - Returns the mu factor
    • fann_get_rprop_decrease_factor - Returns the increase factor used during RPROP training
    • fann_get_rprop_delta_max - Returns the maximum step-size
    • fann_get_rprop_delta_min - Returns the minimum step-size
    • fann_get_rprop_delta_zero - Returns the initial step-size
    • fann_get_rprop_increase_factor - Returns the increase factor used during RPROP training
    • fann_get_sarprop_step_error_shift - Returns the sarprop step error shift
    • fann_get_sarprop_step_error_threshold_factor - Returns the sarprop step error threshold factor
    • fann_get_sarprop_temperature - Returns the sarprop temperature
    • fann_get_sarprop_weight_decay_shift - Returns the sarprop weight decay shift
    • fann_get_total_connections - Get the total number of connections in the entire network
    • fann_get_total_neurons - Get the total number of neurons in the entire network
    • fann_get_training_algorithm - Returns the training algorithm
    • fann_get_train_error_function - Returns the error function used during training
    • fann_get_train_stop_function - Returns the the stop function used during training
    • fann_init_weights - Initialize the weights using Widrow + Nguyen’s algorithm
    • fann_length_train_data - Returns the number of training patterns in the train data
    • fann_merge_train_data - Merges the train data
    • fann_num_input_train_data - Returns the number of inputs in each of the training patterns in the train data
    • fann_num_output_train_data - Returns the number of outputs in each of the training patterns in the train data
    • fann_print_error - Prints the error string
    • fann_randomize_weights - Give each connection a random weight between min_weight and max_weight
    • fann_read_train_from_file - Reads a file that stores training data
    • fann_reset_errno - Resets the last error number
    • fann_reset_errstr - Resets the last error string
    • fann_reset_MSE - Resets the mean square error from the network
    • fann_run - Will run input through the neural network
    • fann_save - Saves the entire network to a configuration file
    • fann_save_train - Save the training structure to a file
    • fann_scale_input - Scale data in input vector before feed it to ann based on previously calculated parameters
    • fann_scale_input_train_data - Scales the inputs in the training data to the specified range
    • fann_scale_output - Scale data in output vector before feed it to ann based on previously calculated parameters
    • fann_scale_output_train_data - Scales the outputs in the training data to the specified range
    • fann_scale_train - Scale input and output data based on previously calculated parameters
    • fann_scale_train_data - Scales the inputs and outputs in the training data to the specified range
    • fann_set_activation_function - Sets the activation function for supplied neuron and layer
    • fann_set_activation_function_hidden - Sets the activation function for all of the hidden layers
    • fann_set_activation_function_layer - Sets the activation function for all the neurons in the supplied layer.
    • fann_set_activation_function_output - Sets the activation function for the output layer
    • fann_set_activation_steepness - Sets the activation steepness for supplied neuron and layer number
    • fann_set_activation_steepness_hidden - Sets the steepness of the activation steepness for all neurons in the all hidden layers
    • fann_set_activation_steepness_layer - Sets the activation steepness for all of the neurons in the supplied layer number
    • fann_set_activation_steepness_output - Sets the steepness of the activation steepness in the output layer
    • fann_set_bit_fail_limit - Set the bit fail limit used during training
    • fann_set_callback - Sets the callback function for use during training
    • fann_set_cascade_activation_functions - Sets the array of cascade candidate activation functions
    • fann_set_cascade_activation_steepnesses - Sets the array of cascade candidate activation steepnesses
    • fann_set_cascade_candidate_change_fraction - Sets the cascade candidate change fraction
    • fann_set_cascade_candidate_limit - Sets the candidate limit
    • fann_set_cascade_candidate_stagnation_epochs - Sets the number of cascade candidate stagnation epochs
    • fann_set_cascade_max_cand_epochs - Sets the max candidate epochs
    • fann_set_cascade_max_out_epochs - Sets the maximum out epochs
    • fann_set_cascade_min_cand_epochs - Sets the min candidate epochs
    • fann_set_cascade_min_out_epochs - Sets the minimum out epochs
    • fann_set_cascade_num_candidate_groups - Sets the number of candidate groups
    • fann_set_cascade_output_change_fraction - Sets the cascade output change fraction
    • fann_set_cascade_output_stagnation_epochs - Sets the number of cascade output stagnation epochs
    • fann_set_cascade_weight_multiplier - Sets the weight multiplier
    • fann_set_error_log - Sets where the errors are logged to
    • fann_set_input_scaling_params - Calculate input scaling parameters for future use based on training data
    • fann_set_learning_momentum - Sets the learning momentum
    • fann_set_learning_rate - Sets the learning rate
    • fann_set_output_scaling_params - Calculate output scaling parameters for future use based on training data
    • fann_set_quickprop_decay - Sets the quickprop decay factor
    • fann_set_quickprop_mu - Sets the quickprop mu factor
    • fann_set_rprop_decrease_factor - Sets the decrease factor used during RPROP training
    • fann_set_rprop_delta_max - Sets the maximum step-size
    • fann_set_rprop_delta_min - Sets the minimum step-size
    • fann_set_rprop_delta_zero - Sets the initial step-size
    • fann_set_rprop_increase_factor - Sets the increase factor used during RPROP training
    • fann_set_sarprop_step_error_shift - Sets the sarprop step error shift
    • fann_set_sarprop_step_error_threshold_factor - Sets the sarprop step error threshold factor
    • fann_set_sarprop_temperature - Sets the sarprop temperature
    • fann_set_sarprop_weight_decay_shift - Sets the sarprop weight decay shift
    • fann_set_scaling_params - Calculate input and output scaling parameters for future use based on training data
    • fann_set_training_algorithm - Sets the training algorithm
    • fann_set_train_error_function - Sets the error function used during training
    • fann_set_train_stop_function - Sets the stop function used during training
    • fann_set_weight - Set a connection in the network
    • fann_set_weight_array - Set connections in the network
    • fann_shuffle_train_data - Shuffles training data, randomizing the order
    • fann_subset_train_data - Returns an copy of a subset of the train data
    • fann_test - Test with a set of inputs, and a set of desired outputs
    • fann_test_data - Test a set of training data and calculates the MSE for the training data
    • fann_train - Train one iteration with a set of inputs, and a set of desired outputs
    • fann_train_epoch - Train one epoch with a set of training data
    • fann_train_on_data - Trains on an entire dataset for a period of time
    • fann_train_on_file - Trains on an entire dataset, which is read from file, for a period of time
    • fastcgi_finish_request - Flushes all response data to the client
    • fbsql_affected_rows - Obtiene el numero de filas afectadas en la anterior operación de FrontBase
    • fbsql_autocommit - Activa o desactiva el autocommit
    • fbsql_blob_size - Obtiene el tamaño de un BLOB
    • fbsql_change_user - Cambia el usuario logueado en la conexión activa
    • fbsql_clob_size - Obtiene el tamaño de un CLOB
    • fbsql_close - Cierra la conexión FrontBase
    • fbsql_commit - Ejecuta un commit de la transacción sobre la base de datos
    • fbsql_connect - Abre una conexión a un servidor FrontBase
    • fbsql_create_blob - Crea un BLOB
    • fbsql_create_clob - Crea un CLOB
    • fbsql_create_db - Crea una base de datos FrontBase
    • fbsql_database - Obtiene o especifica la base de datos usada por la conexión
    • fbsql_database_password - Asigna o recupera el password de una base de datos FrontBase
    • fbsql_data_seek - Mueve el puntero interno de resultado
    • fbsql_db_query - Ejecuta una consulta a FrontBase
    • fbsql_db_status - Obtiene el estado de una base de datos dada
    • fbsql_drop_db - Elimina (drop) una base de datos FrontBase
    • fbsql_errno - Devuelve el número de error de la última operación
    • fbsql_error - Devuelve el mensaje de error de la última operación
    • fbsql_fetch_array - Obtiene una fila de resultados como array asociativo, array numérico, o ambos
    • fbsql_fetch_assoc - Obtiene una fila de resultados como array asociativo
    • fbsql_fetch_field - Obtiene información de columnas de un resultado y la devuelve como objeto
    • fbsql_fetch_lengths - Obtiene la longitud de cada salida en un resultado
    • fbsql_fetch_object - Obtiene una fila de resultados como objeto
    • fbsql_fetch_row - Obtiene una fila de resultados como array enumerado
    • fbsql_field_flags - Obtiene los flags de un campo especificado en un resultado
    • fbsql_field_len - Devuleve la longitud de un campo especificado
    • fbsql_field_name - Obtiene el nombre de un campo especificado en un resultado
    • fbsql_field_seek - Mueve el puntero interno de resultado al campo con la posición especificada
    • fbsql_field_table - Obtiene el nombre de la tabla donde se encuentra el campo especificado
    • fbsql_field_type - Obtiene el tipo de campo especificado en un resultado
    • fbsql_free_result - Libera la memoria de resultados
    • fbsql_get_autostart_info - Descripción
    • fbsql_hostname - Obtiene o establece el nombre host de una conexión
    • fbsql_insert_id - Obtiene el valor id generado por la anterior operación INSERT
    • fbsql_list_dbs - Lista las bases de datos disponibles en un servidor FrontBase
    • fbsql_list_fields - Lista los campos de un resultado de FrontBase
    • fbsql_list_tables - Lista las tablas de una base de datos FrontBase
    • fbsql_next_result - Mover el puntero del resultado interno por el resultado de al lado
    • fbsql_num_fields - Obtener el número de campos del resultado
    • fbsql_num_rows - Obtener el número de filas del resultado
    • fbsql_password - Obtiene o asigna el password usado en una conexión
    • fbsql_pconnect - Abrir una conexión persistente a un servidor FrontBase
    • fbsql_query - Realiza una consulta FrontBase
    • fbsql_read_blob - Lee un BLOB de la base de datos
    • fbsql_read_clob - Lee un CLOB de la base de datos
    • fbsql_result - Obtiene los datos de resultado
    • fbsql_rollback - Retrocede una transacción a la base de datos
    • fbsql_rows_fetched - Obtiene el número de filas afectadas por la última consulta
    • fbsql_select_db - Selecciona una base de datos FrontBase
    • fbsql_set_characterset - Cambia el juego de caracteres de entrada/salida
    • fbsql_set_lob_mode - Asigna el modo de recuperación LOB para un set de resultados FrontBase
    • fbsql_set_password - Cambia la contraseña para el usuario especificado
    • fbsql_set_transaction - Asigna el bloqueo y aislamiento de la transacción
    • fbsql_start_db - Inicia una base de datos en un servidor local o remoto
    • fbsql_stop_db - Detiene una base de datos en un servidor local o remoto
    • fbsql_tablename - Alias de fbsql_table_name
    • fbsql_table_name - Obtiene el nombre de una tabla
    • fbsql_username - Obtiene o asigna el nombre de usuario de la conexión
    • fbsql_warnings - Activa o desactiva los warnings de FrontBase
    • fclose - Cierra un puntero a un archivo abierto
    • fdf_add_doc_javascript - Añadir código javascript al documento FDF
    • fdf_add_template - Añadir una plantilla al documento FDF
    • fdf_close - Cierra un documento FDF
    • fdf_create - Crear un nuevo documento FDF
    • fdf_enum_values - Invocar una función definida por el usuario por cada dato del documento
    • fdf_errno - Devuelve el código de error de la última operación sobre fdf
    • fdf_error - Consultar la descripción de un código de error FDF
    • fdf_get_ap - Consultar la publicación de un campo
    • fdf_get_attachment - Extraer un fichero subido por FDF
    • fdf_get_encoding - Consultar el valor de la clave /Encoding
    • fdf_get_file - Obtener el valor de la clave /F
    • fdf_get_flags - Consultar banderas de un campo
    • fdf_get_opt - Consultar un valor del array de opciones de un campo
    • fdf_get_status - Obtener el valor de la clave /STATUS
    • fdf_get_value - Obtener el valor de un campo
    • fdf_get_version - Consulta el número de versión de la API o de un fichero FDF
    • fdf_header - Establecer cabeceras de salida específicas de FDF
    • fdf_next_field_name - Obtener el siguiente nombre de campo
    • fdf_open - Abrir un documento FDF
    • fdf_open_string - Consulta un documento FDF a partir de un string
    • fdf_remove_item - Asignar contenedor para el formulario
    • fdf_save - Guardar un documento FDF
    • fdf_save_string - Devuelve el documento FDF en forma de string
    • fdf_set_ap - Establecer la apariencia de un campo
    • fdf_set_encoding - Asignar codificación de caracteres de FDF
    • fdf_set_file - Establecer el documento PDF en donde desplegar datos FDF
    • fdf_set_flags - Establecer banderas de un campo
    • fdf_set_javascript_action - Añadir una acción javascript a un campo
    • fdf_set_on_import_javascript - Añadir código javascript para ejecutar cuando Acrobat abra el FDF
    • fdf_set_opt - Establecer una opción sobre un campo
    • fdf_set_status - Establecer el valor de la clave /STATUS
    • fdf_set_submit_form_action - Asignar acción a un campo de formulario al enviarse
    • fdf_set_target_frame - Definir contenedor en el que mostrar el formulario
    • fdf_set_value - Establecer el valor de un campo
    • fdf_set_version - Asignar número de versión a un fichero FDF
    • feof - Comprueba si el puntero a un archivo está al final del archivo
    • fflush - Vuelca la salida a un archivo
    • fgetc - Obtiene un carácter de un puntero a un archivo
    • fgetcsv - Obtiene una línea del puntero a un archivo y la examina para tratar campos CSV
    • fgets - Obtiene una línea desde el puntero a un fichero
    • fgetss - Obtiene un línea desde un puntero a un archivo y elimina las etiquetas HTML
    • file - Transfiere un fichero completo a un array
    • file:// - Acceso al sistema de ficheros local
    • fileatime - Obtiene el momento del último acceso a un archivo
    • filectime - Obtiene el momento del último cambio del i-nodo de un archivo
    • filegroup - Obtiene el grupo de un archivo
    • fileinode - Obtiene el i-nodo del archivo
    • filemtime - Obtiene el momento de la última modificación de un archivo
    • fileowner - Obtiene el propietario de un archivo
    • fileperms - Obtiene los permisos de un archivo
    • filepro - Lee y verifica el mapa del fichero
    • filepro_fieldcount - Encuentra cuantos campos hay en una base de datos filePro
    • filepro_fieldname - Obtiene el nombre de un campo
    • filepro_fieldtype - Obtiene el tipo de campo
    • filepro_fieldwidth - Obtiene el ancho de un campo
    • filepro_retrieve - Obtiene datos de una base de datos filePro
    • filepro_rowcount - Averigüa cuantas filas hay en una base de datos filePro
    • filesize - Obtiene el tamaño de un fichero
    • FilesystemIterator::current - El fichero actual
    • FilesystemIterator::getFlags - Obtiene el manejo de flags
    • FilesystemIterator::key - Recupera la clave del fichero actual
    • FilesystemIterator::next - Moverse al siguiente fichero
    • FilesystemIterator::rewind - Rebobina hasta volver al inicio
    • FilesystemIterator::setFlags - Establece las flags de manejo
    • FilesystemIterator::__construct - Construye un nuevo iterador filesystem
    • filetype - Obtiene el tipo de fichero
    • file_exists - Comprueba si existe un fichero o directorio
    • file_get_contents - Transmite un fichero entero a una cadena
    • file_put_contents - Escribe una cadena a un fichero
    • FilterIterator::accept - Comprueba si el elemento actual del iterador es aceptable
    • FilterIterator::current - Obtiene el valor del elemento actual
    • FilterIterator::getInnerIterator - Obtiene el iterador interno
    • FilterIterator::key - Obtiene la clave actual
    • FilterIterator::next - Mueve el iterador a la siguiente posición
    • FilterIterator::rewind - Rebobina el iterador
    • FilterIterator::valid - Comprueba si el elemento actual es válido
    • FilterIterator::__construct - Construye un filterIterator
    • filter_has_var - Comprueba si existe una variable de un tipo concreto existe
    • filter_id - Indica el ID del nombre de filtro que se indique
    • filter_input - Toma una variable externa concreta por nombre y opcionalmente la filtra
    • filter_input_array - Obtiene variables externas y opcionalmente las filtra
    • filter_list - Devuelve una lista de todos los filtros soportados
    • filter_var - Filtra una variable con el filtro que se indique
    • filter_var_array - Retorna múltiple variables y opcionalmente las filtra
    • finfo_buffer - Devuelve información sobre el búfer en formato string
    • finfo_close - Cierra el recurso fileinfo
    • finfo_file - Devuelve información sobre un fichero
    • finfo_open - Crea un nuevo recurso fileinfo
    • finfo_set_flags - Opciones de configuración de libmagic
    • floatval - Obtener el valor flotante de una variable
    • flock - Bloqueo de archivos asesorado portable
    • floor - Redondear fracciones hacia abajo
    • flush - Vaciar el búfer de salida
    • fmod - Devuelve el residuo de punto flotante (módulo) de la división de los argumentos
    • fnmatch - Compara un nombre de fichero con un patrón
    • fopen - Abre un fichero o una URL
    • forward_static_call - Llamar a un método estático
    • forward_static_call_array - Llamar a un método estático y pasar los argumentos como matriz
    • fpassthru - Escribe toda la información restante de un puntero a un archivo
    • fprintf - Escribir una cadena con formato a una secuencia
    • fputcsv - Da formato a una línea como CSV y la escribe en un puntero a un archivo
    • fputs - Alias de fwrite
    • fread - Lectura de un fichero en modo binario seguro
    • FrenchToJD - Convierte una fecha desde el Calendario Republicano Francés a la Fecha Juliana
    • fribidi_log2vis - Convierte una cadena de texto lógica a una visual
    • fscanf - Analiza la entrada desde un archivo de acuerdo a un formato
    • fseek - Busca sobre un puntero a un fichero
    • fsockopen - Abre una conexión vía sockets a Internet o a un dominio Unix
    • fstat - Obtiene información acerca de un archivo usando un puntero al archivo abierto
    • ftell - Devuelve la posición de lectura/escritura actual del puntero a un fichero
    • ftok - Convertir un nombre de ruta y un identificador de proyecto a una clave IPC de System V
    • ftp:// - Acceso a URLs por FTP(s)
    • ftp_alloc - Reserva espacio para que un archivo sea cargado
    • ftp_cdup - Vuelve al directorio padre
    • ftp_chdir - Cambia el directorio actual en un servidor FTP
    • ftp_chmod - Establecer permisos en un archivo via FTP
    • ftp_close - Cierra una conexión FTP
    • ftp_connect - Abre una conexión FTP
    • ftp_delete - Elimina un archivo en el servidor FTP
    • ftp_exec - Solicita la ejecución de un comando en el servidor FTP
    • ftp_fget - Descarga un archivo desde el servidor FTP y lo guarda en un archivo abierto
    • ftp_fput - Carga un archivo abierto en el servidor FTP
    • ftp_get - Descarga un archivo desde el servidor FTP
    • ftp_get_option - Recupera varios comportamientos de tiempo de ejecución de la secuencia FTP actual
    • ftp_login - Inicia sesión en una conexión FTP
    • ftp_mdtm - Devuelve el tiempo de la última modificación del archivo dado
    • ftp_mkdir - Crea un directorio
    • ftp_nb_continue - Continúa recuperando/enviando un archivo (modo no-bloqueo)
    • ftp_nb_fget - Recupera un archivo desde el servidor FTP y lo escribe en un archivo abierto (modo no-bloqueo)
    • ftp_nb_fput - Almacena un archivo desde un archivo abierto en el servidor FTP (modo no-bloqueo)
    • ftp_nb_get - Recupera un archivo desde el servidor FTP y lo escribe en un archivo local (modo no-bloqueo)
    • ftp_nb_put - Almacena un archivo en el servidor FTP (modo no-bloqueo)
    • ftp_nlist - Devuelve una lista de los archivos que se encuentran en el directorio especificado
    • ftp_pasv - Activa o desactiva el modo pasivo
    • ftp_put - Carga un archivo al servidor FTP
    • ftp_pwd - Devuelve el nombre del directorio actual
    • ftp_quit - Alias de ftp_close
    • ftp_raw - Envía un comando arbitrario a un servidor FTP
    • ftp_rawlist - Devuelve una lista detallada de archivos en el directorio especificado
    • ftp_rename - Renombra un archivo o un directorio en el servidor FTP
    • ftp_rmdir - Elimina un directorio
    • ftp_set_option - Establecer varias opciones FTP de tiempo de ejecución
    • ftp_site - Envía un comando SITE al servidor
    • ftp_size - Devuelve el tamaño del archivo dado
    • ftp_ssl_connect - Abre una conexión segura SSL-FTP
    • ftp_systype - Devuelve el identificador del tipo de sistema del servidor FTP remoto
    • ftruncate - Trunca un archivo a una longitud dada
    • function_exists - Devuelve TRUE si la función dada ha sido definida
    • func_get_arg - Devuelve un elemento de una lista de argumentos
    • func_get_args - Devuelve una matriz que se compone de una lista de argumentos de función
    • func_num_args - Devuelve el número de argumentos pasados a la función
    • fwrite - Escritura de un archivo en modo binario seguro
  • g
    • gc_collect_cycles - Las fuerzas de la colección de todos los ciclos de basura existentes
    • gc_disable - Desactiva el recolector de referencia circular
    • gc_enable - Activa el colector de referencia circular
    • gc_enabled - Devuelve el estado del colector de referencia circular
    • gd_info - Reúne información acerca de la biblioteca GD instalada actualmente
    • GearmanClient::addOptions - Añade opciones al cliente
    • GearmanClient::addServer - Añade un servidor de trabajos al cliente
    • GearmanClient::addServers - Añade una lista de servidores de trabajos al cliente
    • GearmanClient::addTask - Añade una tarea para ser ejecutada en paralelo
    • GearmanClient::addTaskBackground - Ejecuta una tarea en segundo plano para ser ejecutada en paralelo
    • GearmanClient::addTaskHigh - Añade una tarea de alta prioridad para ser ejecutada en paralelo
    • GearmanClient::addTaskHighBackground - Añade una tarea de alta prioridad ejecutada en segundo plano y en paralelo
    • GearmanClient::addTaskLow - Añade una tarea de baja prioridad para ejecutar en paralelo
    • GearmanClient::addTaskLowBackground - Añade una tarea de baja prioridad en segundo plano para ser ejecutada en paralelo
    • GearmanClient::addTaskStatus - Añade una tarea para obtener el estado
    • GearmanClient::clearCallbacks - Elimina todas las funciones de retorno de llamada
    • GearmanClient::clone - Crea una copia de un objeto GearmanClient
    • GearmanClient::context - Obtiene el contexto de la aplicación
    • GearmanClient::data - Retorna los datos de aplicación (obsoleto)
    • GearmanClient::do - Ejecuta una sola tarea y retorna el resultado [obsoleto]
    • GearmanClient::doBackground - Ejecuta una tarea en segundo plano
    • GearmanClient::doHigh - Ejecuta una tarea de prioridad alta
    • GearmanClient::doHighBackground - Ejecuta una tarea de alta prioridad en segundo plano
    • GearmanClient::doJobHandle - Obtiene el manejador de trabajo para la tarea en ejecución
    • GearmanClient::doLow - Ejecuta una tarea de baja prioridad
    • GearmanClient::doLowBackground - Ejecuta una tarea de prioridad baja en segundo plano
    • GearmanClient::doNormal - Ejecutar una única tarea y devolver un resultado
    • GearmanClient::doStatus - Obtiene el estado de la tarea en ejecución
    • GearmanClient::echo - Envía datos a todos los servidores de trabajo para ver si retornan [obsoleto]
    • GearmanClient::error - Retorna un string con el último error encontrado
    • GearmanClient::getErrno - Obtiene un valor errno
    • GearmanClient::jobStatus - Obtiene el estado de un trabajo en segundo plano
    • GearmanClient::ping - Envar datos a todos los servidores de trabajo para ver si los repiten
    • GearmanClient::removeOptions - Elimina opciones del cliente
    • GearmanClient::returnCode - Obtiene el último código de retorno de Gearman
    • GearmanClient::runTasks - Ejecuta una lista de tareas en paralelo
    • GearmanClient::setClientCallback - Función de llamada de retorno cuando hay un paquete de datos para una tarea (obsoleto)
    • GearmanClient::setCompleteCallback - Especifica una función a ser llamada cuando se complete una tarea
    • GearmanClient::setContext - Establece el contexto de la aplicación
    • GearmanClient::setCreatedCallback - Establece una llamada de retornopara cuando se encola una tarea
    • GearmanClient::setData - Establece los datos de aplicación (obsoleto)
    • GearmanClient::setDataCallback - Función de llamada de retorno para cuando hay un paquete de datos para la tarea
    • GearmanClient::setExceptionCallback - Establece una llamada de retorno para excepciones del trabajador
    • GearmanClient::setFailCallback - Establece una llamada de retorno para cuando falla un trabajo
    • GearmanClient::setOptions - Establece opciones del cliente
    • GearmanClient::setStatusCallback - Establece una llamada de retorno para obtener el estado de una tarea
    • GearmanClient::setTimeout - Establece el tiempo máximo de inactividad para actividad de entrada/salida en el socket
    • GearmanClient::setWarningCallback - Establece una llamada de retorno para los warnings del trabajador
    • GearmanClient::setWorkloadCallback - Establece una llamada de retorno para aceptar actualizaciones incrementales de datos
    • GearmanClient::timeout - Obtiene el tiempo máximo de inactividad de entrada/salida para el socket
    • GearmanClient::__construct - Crea una instancia de GearmanClient
    • GearmanJob::complete - Envía el resultado y el estado completo (obsoleto)
    • GearmanJob::data - Envía datos para un trabajo en ejecución (obsoleto)
    • GearmanJob::exception - Envía una excepción para un trabajo en ejecución (obsoleto)
    • GearmanJob::fail - Envía el estado de fallo (obsoleto)
    • GearmanJob::functionName - Retorna el nombre de la función
    • GearmanJob::handle - Retorna el manejador para el trabajo
    • GearmanJob::returnCode - Obtiene el último código de retorno
    • GearmanJob::sendComplete - Envía el resultado y el estado completado
    • GearmanJob::sendData - Envía datos para un trabajo en ejecución
    • GearmanJob::sendException - Envía una excepción para un trabajo en ejecución
    • GearmanJob::sendFail - Envía el estado de fallo
    • GearmanJob::sendStatus - Envía el estado
    • GearmanJob::sendWarning - Envía una advertencia
    • GearmanJob::setReturn - Establece el valor de retorno
    • GearmanJob::status - Envía el estado (obsoleto)
    • GearmanJob::unique - Obtiene el identificador único
    • GearmanJob::warning - Envía un aviso (obsoleto)
    • GearmanJob::workload - Obtiene la carga de trabajo
    • GearmanJob::workloadSize - Obtiene el tamaño de la carga de trabajo
    • GearmanJob::__construct - Crea una instancia de GearmanJob
    • GearmanTask::create - Crea una tarea (obsoleto)
    • GearmanTask::data - Obtiene los datos retornados para una tarea
    • GearmanTask::dataSize - Obtiene el tamaño de la información retornada
    • GearmanTask::function - Obtiene el nombre de la función asociada (obsoleto)
    • GearmanTask::functionName - Retorna el nombre de la función asociada
    • GearmanTask::isKnown - Determina si la tarea es conocida
    • GearmanTask::isRunning - Comprueba si la tarea está siendo ejecutada
    • GearmanTask::jobHandle - Retorna el manejador del trabajo
    • GearmanTask::recvData - Guarda un trabajo o los datos resultantes de una tarea en un buffer
    • GearmanTask::returnCode - Retorna el último código de error
    • GearmanTask::sendData - Envía datos a una tarea (obsoleto)
    • GearmanTask::sendWorkload - Envía datos a una tarea
    • GearmanTask::taskDenominator - Obtiene el denominador del porcentaje de tarea completada
    • GearmanTask::taskNumerator - Retorna el numerador del tanto por ciento completado de la tarea, expresado como una fracción
    • GearmanTask::unique - Obtiene el identificador único de una tarea
    • GearmanTask::uuid - Obtiene el identificador único de una tarea (obsoleto)
    • GearmanTask::__construct - Crea una instancia de GearmanTask
    • GearmanWorker::addFunction - Registra y añade una función de retorno
    • GearmanWorker::addOptions - Añade opciones al trabajador
    • GearmanWorker::addServer - Añade un servidor de trabajo
    • GearmanWorker::addServers - Añade servidores de trabajo
    • GearmanWorker::clone - Crea una copia del trabajador
    • GearmanWorker::echo - Comprueba la respuesta de un servidor de trabajo
    • GearmanWorker::error - Retorna el último error que ha ocurrido
    • GearmanWorker::getErrno - Obtiene el código de error
    • GearmanWorker::options - Retorna las opciones del trabajador
    • GearmanWorker::register - Registra una función en el servidor de trabajo
    • GearmanWorker::removeOptions - Elimina las opciones del trabajador
    • GearmanWorker::returnCode - Obtiene el último código de retorno de Gearman
    • GearmanWorker::setId - Asigna un identificador al trabajador de tal forma que pueda ser rastreado cuando se solicite a gearmand la lista de los trabajadores disponibles
    • GearmanWorker::setOptions - Establece las opciones del trabajador
    • GearmanWorker::setTimeout - Establece un tiempo de espera máximo para actividad de entrada/salida del socket
    • GearmanWorker::timeout - Retorna el tiempo máximo de espera para actividad de entrada/salida del socket
    • GearmanWorker::unregister - Elimina el registro del nombre de una función en los servidores de trabajo
    • GearmanWorker::unregisterAll - Elimina el registro de todas los nombres de funciones en los servidores de trabajo
    • GearmanWorker::wait - Espera cualquier actividad de uno de los servidores de trabajo
    • GearmanWorker::work - Espera y realiza un trabajo
    • GearmanWorker::__construct - Crea una instancia GearmanWorker
    • Gender\Gender::connect - Conecta con un diccionario de nombres externo
    • Gender\Gender::country - Obtener la representación textual de un país
    • Gender\Gender::get - Obtener el género de un nombre
    • Gender\Gender::isNick - Comprueba si name0 es un alias de name1
    • Gender\Gender::similarNames - Obtener nombres similares
    • Gender\Gender::__construct - Construye un objeto Gender
    • Generator::current - Get the yielded value
    • Generator::key - Get the yielded key
    • Generator::next - Resume execution of the generator
    • Generator::rewind - Rewind the iterator
    • Generator::send - Send a value to the generator
    • Generator::throw - Throw an exception into the generator
    • Generator::valid - Check if the iterator has been closed
    • Generator::__wakeup - Serialize callback
    • geoip_continent_code_by_name - Obtiene la abreviación de dos letras del continente
    • geoip_country_code3_by_name - Obtiene la abreviación de tres letras del país
    • geoip_country_code_by_name - Obtiene la abreviación de dos letras del país
    • geoip_country_name_by_name - Obtiene el nombre del país completo
    • geoip_database_info - Obtener información de la base de datos GeoIP
    • geoip_db_avail - Determina si la base de datos GeoIP está disponible
    • geoip_db_filename - Devuelve el nombre del fichero correspondiente a la base de datos de GeoIP
    • geoip_db_get_all_info - Devuelve información detallada sobre todos los tipos de bases de datos GeoIP
    • geoip_id_by_name - Obtiene el tipo de conexión a Internet
    • geoip_isp_by_name - Obtiene el nombre del proveedor de servicios de Internet (ISP)
    • geoip_org_by_name - Consultar nombre de la organización
    • geoip_record_by_name - Devuelve información detallada de la Ciudad encontrada en la base de datos de GeoIP
    • geoip_region_by_name - Consultar el código de país y de región
    • geoip_region_name_by_code - Devuelve, a partir de una combinación de código de país y de región, el nombre de región
    • geoip_time_zone_by_country_and_region - Devuelve, a partir de una combinación de país y región, la zona horaria
    • getallheaders - Recupera todas las cabeceras de petición HTTP
    • getcwd - Obtiene el directorio actual en donde se esta trabajando
    • getdate - Obtener información de la fecha/hora
    • getenv - Obtiene el valor de una variable de entorno
    • gethostbyaddr - Obtener el nombre del host de Internet correspondiente a una dirección IP dada
    • gethostbyname - Obtener la dirección IPv4 que corresponde a un nombre de host de Internet dado
    • gethostbynamel - Obtener una lista de direcciones IPv4 que corresponde a un nombre de host de Internet dado
    • gethostname - Obtiene el nombre de host
    • getimagesize - Obtiene el tamaño de una imagen
    • getimagesizefromstring - Obtener el tamaño de una imagen desde una cadena
    • getlastmod - Obtiene la hora de la última modificación de la página
    • getmxrr - Get MX records corresponding to a given Internet host name
    • getmygid - Obtener el GID del dueño del script PHP
    • getmyinode - Obtiene el inode del script actual
    • getmypid - Obtiene el ID del proceso PHP
    • getmyuid - Obtiene el UID del dueño del script PHP
    • getopt - Obtiene las opciones de la lista de argumentos de la línea de comandos
    • getprotobyname - Obtener el número de protocolo asociado con el nombre de protocolo
    • getprotobynumber - Obtiene el nombre de protocolo asociado con un número de protocolo
    • getrandmax - Mostrar el mayor valor aleatorio posible
    • getrusage - Obtiene el uso de los recursos actuales
    • getservbyname - Obtener el número de puerto asociado con un servicio y protocolo de Internet
    • getservbyport - Obtener el servicio de Internet que corresponde con el puerto y protocolo
    • gettext - Consultar un mensaje en el dominio actual
    • gettimeofday - Obtener la hora actual
    • gettype - Obtener el tipo de una variable
    • get_browser - Indica de lo que es capaz el navegador del usuario
    • get_called_class - El nombre de la clase "Vinculante Static Última"
    • get_cfg_var - Obtiene el valor de una opción de configuración de PHP
    • get_class - Devuelve el nombre de la clase de un objeto
    • get_class_methods - Obtiene los nombres de los métdos de una clase
    • get_class_vars - Obtener las propiedades predeterminadas de una clase
    • get_current_user - Obtiene el nombre del propietario del script PHP actual
    • get_declared_classes - Devuelve una matriz con los nombres de las clases definidas
    • get_declared_interfaces - Devuelve un array con todas las interfaces declaradas
    • get_declared_traits - Devuelve un array de todos los traits declarados
    • get_defined_constants - Devuelve un array asociativo con los nombres de todas las constantes y sus valores
    • get_defined_functions - Devuelve una matriz de todas las funciones definidas
    • get_defined_vars - Devuelve una matriz con todas las variables definidas
    • get_extension_funcs - Devuelve una matriz con los nombres de funciones de un módulo
    • get_headers - Recupera todas las cabeceras enviadas por el servidor en respuesta a una petición HTTP
    • get_html_translation_table - Devuelve la tabla de traducción utilizada por htmlspecialchars y htmlentities
    • get_included_files - Devuelve un array con los nombres de los archivos incluidos o requeridos
    • get_include_path - Obtiene la opción de configuración include_path actual
    • get_loaded_extensions - Devuelve un array con los nombres de todos los módulos compilados y cargados
    • get_magic_quotes_gpc - Obtiene el valor actual de configuración de magic_quotes_gpc
    • get_magic_quotes_runtime - Obtiene el valor de configuración activo actual de magic_quotes_runtime
    • get_meta_tags - Extrae todo el contenido de atributos de etiquetas meta de un archivo y devuelve un array
    • get_object_vars - Obtiene las propiedades del objeto dado
    • get_parent_class - Recupera el nombre de la clase padre de un objeto o clase
    • get_required_files - Alias de get_included_files
    • get_resource_type - Devuelve el tipo de recurso
    • glob - Busca coincidencias de nombres de ruta con un patrón
    • glob:// - Encuentra las rutas que coincidan con el patrón
    • GlobIterator::count - Obtiene el número de directorios y ficheros
    • GlobIterator::__construct - Construye un nuevo directorio usando glob
    • Gmagick::addimage - Añade una nueva imagen a la lista de imágenes del objeto Gmagick
    • Gmagick::addnoiseimage - Añade ruido aleatorio a la imagen
    • Gmagick::annotateimage - Anota una imagen con texto
    • Gmagick::blurimage - Añade un filtro de borrosidad a la imagen
    • Gmagick::borderimage - Rodea la imagen con un borde
    • Gmagick::charcoalimage - Simula un dibujo a carboncillo
    • Gmagick::chopimage - Elimina una región de una imagen y la recorta
    • Gmagick::clear - Limpia todos los recursos asociados con el objeto Gmagick
    • Gmagick::commentimage - Añade un comentario a una imagen
    • Gmagick::compositeimage - Compone una imagen en otra
    • Gmagick::cropimage - Extrae una región de la imagen
    • Gmagick::cropthumbnailimage - Crea una miniatura recortada
    • Gmagick::current - Devuelve la refencia al objeto Gmagick acutal
    • Gmagick::cyclecolormapimage - Desplaza un mapa de color de una imagen
    • Gmagick::deconstructimages - Devuelve ciertas diferencias de píxeles entre imágenes
    • Gmagick::despeckleimage - Reduce el ruido granular de una imagen
    • Gmagick::destroy - Destruye un objeto Gmagick
    • Gmagick::drawimage - Renderiza el objeto GmagickDraw en la imagen actual
    • Gmagick::edgeimage - Mejora los bordes dentro de una imagen
    • Gmagick::embossimage - Devuelve una imagen en escala de grises con un efecto tridimensional
    • Gmagick::enhanceimage - Mejora la calidad de una imagen con ruido
    • Gmagick::equalizeimage - Ecualiza el histograma de la imagen
    • Gmagick::flipimage - Crea una imagen espejo vertical
    • Gmagick::flopimage - Crea una imagen espejo horizontal
    • Gmagick::frameimage - Añade un borde tridimensional simulado
    • Gmagick::gammaimage - Corrección gamma de una imagen
    • Gmagick::getcopyright - Devuelve el copyright de la API GraphicsMagick como una cadena
    • Gmagick::getfilename - El nombre de archivo asociado a una secuencia de imágenes
    • Gmagick::getimagebackgroundcolor - Devuelve el color de fondo de la imagen
    • Gmagick::getimageblueprimary - Devuelve el punto primario azul de la cromaticidad
    • Gmagick::getimagebordercolor - Devuelve el color del borde de la imagen
    • Gmagick::getimagechanneldepth - Obtiene la profundidad de un canal de imagen en particular
    • Gmagick::getimagecolors - Devuelve el color del índice del mapa de color especificado
    • Gmagick::getimagecolorspace - Obtiene el espacio de colores de la imagen
    • Gmagick::getimagecompose - Devuelve el operador de composición asociado a la imagen
    • Gmagick::getimagedelay - Obetiene el retraso de la imagen
    • Gmagick::getimagedepth - Obtiene la profundidad de la imagen
    • Gmagick::getimagedispose - Obtiene el método de disposición de la imagen
    • Gmagick::getimageextrema - Obtiene los extremos de la imagen
    • Gmagick::getimagefilename - Devuelve el nombre de archivo de una imagen en particular de una secuencia
    • Gmagick::getimageformat - Devuelve el formato de una imagen en particular de una secuencia
    • Gmagick::getimagegamma - Obtiene el valor gamma de la imagen
    • Gmagick::getimagegreenprimary - Devuelve el punto primario verde de la cromaticidad
    • Gmagick::getimageheight - Devuelve el alto de la imagen
    • Gmagick::getimagehistogram - Obtiene el histograma de la imagen
    • Gmagick::getimageindex - Obtiene el índice de la imagen activa actual
    • Gmagick::getimageinterlacescheme - Obtiene la combinación de entrelazado de la imagen
    • Gmagick::getimageiterations - Obtiene las iteraciones de la imagen
    • Gmagick::getimagematte - Devuelve si la imagen tiene un canal mate
    • Gmagick::getimagemattecolor - Devuelve el color mate de la imagen
    • Gmagick::getimageprofile - Devuelve el perfil nominado de la imagen
    • Gmagick::getimageredprimary - Devuelve el punto primario rojo de la cromaticidad
    • Gmagick::getimagerenderingintent - Obtiene la propuesta de renderización de la imagen
    • Gmagick::getimageresolution - Obtiene la resolución X e Y de la imagen
    • Gmagick::getimagescene - Obtiene la escena de la imagen
    • Gmagick::getimagesignature - Genera un resumen de un mensaje SHA-256
    • Gmagick::getimagetype - Obtiene el tipo de imagen potencial.
    • Gmagick::getimageunits - Obtiene las unidades de resolución de la imagen
    • Gmagick::getimagewhitepoint - Devuelve el punto blanco de la cromaticidad
    • Gmagick::getimagewidth - Devuelve el ancho de la imagen
    • Gmagick::getpackagename - Devuelve el nombre del paquete de GraphicsMagick
    • Gmagick::getquantumdepth - Obtiene la profundidad de la cuantía de Gmagick como una cadena
    • Gmagick::getreleasedate - Devuelve la fecha de distribución de GraphicsMagick como una cadena
    • Gmagick::getsamplingfactors - Obtiene el factor de muestreo horizontal y vertical
    • Gmagick::getsize - Devuelve el tamaño asociado con el objeto Gmagick
    • Gmagick::getversion - Devuelve la versión de la API GraphicsMagick
    • Gmagick::hasnextimage - Comprueba si el objeto tiene más imágenes
    • Gmagick::haspreviousimage - Verifica si el objeto tiene una imagen previa
    • Gmagick::implodeimage - Crea una nueva imagen como una copia
    • Gmagick::labelimage - Añade una etiqueta a una imagen
    • Gmagick::levelimage - Ajusta los niveles de la imagen
    • Gmagick::magnifyimage - Escala una imagen x2 proporcionalmente
    • Gmagick::mapimage - Reemplaza los colores de una imagen con el color más cercano de una imagen de referencia
    • Gmagick::medianfilterimage - Aplica un filtro digital
    • Gmagick::minifyimage - Escala una imagen proporcionalmente a la mitad de su tamaño
    • Gmagick::modulateimage - Controla el brillo, la saturación y el tono
    • Gmagick::motionblurimage - Simula borrosidad en movimiento
    • Gmagick::newimage - Crea una nueva imagen
    • Gmagick::nextimage - Se mueve a la siguiente imagen
    • Gmagick::normalizeimage - Mejora el contraste de una imagen a color
    • Gmagick::oilpaintimage - Simula una pintura al óleo
    • Gmagick::previousimage - Se mueve a la imagen previa del objeto
    • Gmagick::profileimage - Añade o elimina un perfil de una imagen
    • Gmagick::quantizeimage - Analiza los colores dentro de una imagen de referencia
    • Gmagick::quantizeimages - Analiza los colores dentro de una secuencia de imágenes
    • Gmagick::queryfontmetrics - Devuelve una matriz que representa las métricas de la fuente
    • Gmagick::queryfonts - Devuelve las fuentes configuradas
    • Gmagick::queryformats - Devuelve los formatos soportados por Gmagick
    • Gmagick::radialblurimage - Hace borrosa de forma radial una imagen
    • Gmagick::raiseimage - Crea un efecto de botón en 3D simulado
    • Gmagick::read - Lee una imagen desde un nombre de archivo
    • Gmagick::readimage - Lee una imagen desde un nombre de archivo
    • Gmagick::readimageblob - Lee una imagen desde una cadena binaria
    • Gmagick::readimagefile - Lee una imagen desde un descriptor de archivo abierto
    • Gmagick::reducenoiseimage - Suaviza los contornos de una imagen
    • Gmagick::removeimage - Elimina una imagen de la lista de imágenes
    • Gmagick::removeimageprofile - Elimina el perfil nominado de la imagen y lo devuelve
    • Gmagick::resampleimage - Re-muestrea la imagen a la resolución deseada
    • Gmagick::resizeimage - Escala una imagen
    • Gmagick::rollimage - Compensa una imagen
    • Gmagick::rotateimage - Rota una imagen
    • Gmagick::scaleimage - Escala el tamaño de una imagen
    • Gmagick::separateimagechannel - Separa un canal de la imagen
    • Gmagick::setfilename - Establece el nombre de archivo antes de que se lea o escriba una imagen
    • Gmagick::setimagebackgroundcolor - Establece el color de fondo de la imagen
    • Gmagick::setimageblueprimary - Establece el punto primario azul de la cromaticidad de la imagen
    • Gmagick::setimagebordercolor - Establece el color de borde de la imagen
    • Gmagick::setimagechanneldepth - Establece la profundidad de una canal de imagen en particular
    • Gmagick::setimagecolorspace - Establece el espacio de color de una imagen
    • Gmagick::setimagecompose - Establece el operador de composción de una imagen
    • Gmagick::setimagedelay - Establece el retardo de una imagen
    • Gmagick::setimagedepth - Establece la profundidad de una imagen
    • Gmagick::setimagedispose - Establece el método de disposición de una imagen
    • Gmagick::setimagefilename - Establece el nombre de archivo de una imagen en particular en una secuencia
    • Gmagick::setimageformat - Establece el formato de una imagen en particular
    • Gmagick::setimagegamma - Establece el valor gamma de la imagen
    • Gmagick::setimagegreenprimary - Establece el punto primario verde de la cromaticidad de la imagen
    • Gmagick::setimageindex - Establece la posición del iterador en la lista de imágenes especificada con el parámetro index
    • Gmagick::setimageinterlacescheme - Establece la combinación de entrelazado de la imagen
    • Gmagick::setimageiterations - Establece las iteraciones de la imagen
    • Gmagick::setimageprofile - Añade un perfil nominado al objeto Gmagick
    • Gmagick::setimageredprimary - Establece el punto primario rojo de la cromaticidad de la imagen
    • Gmagick::setimagerenderingintent - Establece el propósito de renderización de la imagen
    • Gmagick::setimageresolution - Establece la resolución de la imagen
    • Gmagick::setimagescene - Establece la escena de la imagen
    • Gmagick::setimagetype - Establece el tipo de imagen
    • Gmagick::setimageunits - Establece las unidades de resolución de la imagen
    • Gmagick::setimagewhitepoint - Establece el punto blanco de cromaticidad de la imagen
    • Gmagick::setsamplingfactors - Establece los factores de muestreo de la imagen
    • Gmagick::setsize - Establece el tamaño del objeto Gmagick
    • Gmagick::shearimage - Crea un paralelogramo
    • Gmagick::solarizeimage - Aplica un efecto de solarización a la imagen
    • Gmagick::spreadimage - Despalza aleatoriamente cada píxel en un bloque
    • Gmagick::stripimage - Elimina todos los perfiles y comentarios de una imagen
    • Gmagick::swirlimage - Arremolina los píxeles desde el centro de la imagen
    • Gmagick::thumbnailimage - Cambia el tamaño de una imagen
    • Gmagick::trimimage - Elimina los extremos de la imagen
    • Gmagick::write - Escribe una imagen al nombre de archivo especificado
    • Gmagick::writeimage - Escribe una imagen al nombre de archivo especificado
    • Gmagick::__construct - El constructor Gmagick
    • GmagickDraw::annotate - Dibuja texto en la imagen
    • GmagickDraw::arc - Dibuja un arco
    • GmagickDraw::bezier - Dibuja una curva Bézier
    • GmagickDraw::ellipse - Dibuja una elipse en la imagen
    • GmagickDraw::getfillcolor - Devuelve el color de relleno
    • GmagickDraw::getfillopacity - Devuelve la opacidad usada cuando se dibuja
    • GmagickDraw::getfont - Devuelve la fuente
    • GmagickDraw::getfontsize - Devuelve el tamaño de punto de la fuente
    • GmagickDraw::getfontstyle - Devuelve el estilo de fuente
    • GmagickDraw::getfontweight - Devuelve el peso de la fuente
    • GmagickDraw::getstrokecolor - Devuelve el color usado para contornear perfiles de objetos
    • GmagickDraw::getstrokeopacity - Devuelve la opacidad de los perfiles del objeto contorneado
    • GmagickDraw::getstrokewidth - Devuelve el ancho del contorno usado para dibular perfiles del objeto
    • GmagickDraw::gettextdecoration - Devuelve la decoración del texto
    • GmagickDraw::gettextencoding - Devuelve el conjunto de codificación usado para anotaciones de texto
    • GmagickDraw::line - Dibuja una línea en la imagen
    • GmagickDraw::point - Dibuja un punto
    • GmagickDraw::polygon - Dibuja un polígono
    • GmagickDraw::polyline - Dibuja una polilínea
    • GmagickDraw::rectangle - Dibuja un rectángulo
    • GmagickDraw::rotate - Aplica la rotación especificada al espacio de coordenadas actual
    • GmagickDraw::roundrectangle - Dibuja un rectángulo redondeado
    • GmagickDraw::scale - Ajusta el factor de escala
    • GmagickDraw::setfillcolor - Establece el color de relleno a usar cuando se dibujan objetos rellenos
    • GmagickDraw::setfillopacity - Establece la opacidad del relleno
    • GmagickDraw::setfont - Establece la fuente especificada completamente a usar cuando se anota texto
    • GmagickDraw::setfontsize - Establece el tamaño de punto de la fuente a usar cuando se anota texto
    • GmagickDraw::setfontstyle - Establece el estilo de fuente a usar cuando se anota texto
    • GmagickDraw::setfontweight - Establece el peso de la fuente
    • GmagickDraw::setstrokecolor - Establece el color usado para contornear los perfiles del objeto.
    • GmagickDraw::setstrokeopacity - Especifica la opacidad del los perfiles del objeto contorneado
    • GmagickDraw::setstrokewidth - Establece el ancho del contorno usado para dibujar los perfiles del objeto.
    • GmagickDraw::settextdecoration - Especifica una decoración
    • GmagickDraw::settextencoding - Especifica el conjunto de codificación del texto
    • GmagickPixel::getcolor - Devuelve el color
    • GmagickPixel::getcolorcount - Devuelve la cuenta de color asociada a este color
    • GmagickPixel::getcolorvalue - Obtiene el valor normalizado del canal de color proporcionado
    • GmagickPixel::setcolor - Establece el color
    • GmagickPixel::setcolorvalue - Establece el valor normalizado de uno de los canales
    • GmagickPixel::__construct - El constructor GmagickPixel
    • gmdate - Formatea una fecha/hora GMT/UTC
    • gmmktime - Obtener la marca de tiempo Unix para una fecha GMT
    • gmp_abs - Valor absoluto
    • gmp_add - Agrega números
    • gmp_and - Nivel de bit AND
    • gmp_clrbit - Limpia un bit
    • gmp_cmp - Compara los números
    • gmp_com - Calcula uno de los complementos
    • gmp_div - Alias de gmp_div_q
    • gmp_divexact - División exacta de números
    • gmp_div_q - Divide los números
    • gmp_div_qr - Divide los números y obtiene el cociente y resto
    • gmp_div_r - El resto de la división de los números
    • gmp_fact - Factorial
    • gmp_gcd - Calcula el máximo común divisor
    • gmp_gcdext - Calcula el máximo común divisor y multiplicadores
    • gmp_hamdist - Distancia Hamming
    • gmp_init - Crea un número GMP
    • gmp_intval - Convertir un número GMP a entero
    • gmp_invert - Inverso del modulo
    • gmp_jacobi - Símbolo Jacobi
    • gmp_legendre - Símbolo Legendre
    • gmp_mod - Modulo de operación
    • gmp_mul - Multiplicación de números
    • gmp_neg - Número negativo
    • gmp_nextprime - Encuentra el siguiente número primo
    • gmp_or - Nivel de bit OR
    • gmp_perfect_square - Comprueba el cuadrado perfecto
    • gmp_popcount - Cuenta la población
    • gmp_pow - Aumenta el número a la potencia
    • gmp_powm - Eleva un número a la potencia con modulo
    • gmp_prob_prime - Revisa si el número es "probablemente primo"
    • gmp_random - Numero al azar
    • gmp_scan0 - Escanear para 0
    • gmp_scan1 - Escanear para 1
    • gmp_setbit - Establece el bit
    • gmp_sign - El símbolo del número
    • gmp_sqrt - Calcula la raíz cuadrada
    • gmp_sqrtrem - Raíz cuadrada con resto
    • gmp_strval - Convierte un número GMP a cadena
    • gmp_sub - Resta los números
    • gmp_testbit - Prueba si un bit es establecido
    • gmp_xor - Nivel de bit XOR
    • gmstrftime - Formatear una fecha/hora GMT/UTC según la configuración regional
    • gnupg_adddecryptkey - Añade una llave para desencriptar
    • gnupg_addencryptkey - Añade una llave para encriptar
    • gnupg_addsignkey - Añade una llave para firmar
    • gnupg_cleardecryptkeys - Elimina todas las llaves establecidas anteriormente para desencriptar
    • gnupg_clearencryptkeys - Elimina todas las llaves establecidas anteriormente paraencriptar
    • gnupg_clearsignkeys - Elimina todas las llaves establecidas anteriormente para firmar
    • gnupg_decrypt - Desencripta un texto dado
    • gnupg_decryptverify - Desencripta y verifica un texto dado
    • gnupg_encrypt - Encripta el texto dado
    • gnupg_encryptsign - Encripta y firma un texto dado
    • gnupg_export - Exporta una llave
    • gnupg_geterror - Retorna el texto de error si una función falla
    • gnupg_getprotocol - Retorna el protocolo activo actualmente para todas las operaciones
    • gnupg_import - Importa una llave
    • gnupg_init - Inicializa una conexión
    • gnupg_keyinfo - Retorna un array con información sobre todas las llaves que coinciden con un patrón dado
    • gnupg_setarmor - Activa o desactiva la salida blindada
    • gnupg_seterrormode - Fija el modo para error_reporting
    • gnupg_setsignmode - Fija el modo para firmar
    • gnupg_sign - Firma un texto dado
    • gnupg_verify - Verifica un texto firmado
    • gopher_parsedir - Traducir una entrada de directorios con formato gopher a un array asociativo
    • grapheme_extract - Función para extraer una secuencia de un clúster de grafemas predeterminados desde un buffer de texto, que puede estar codificado en UTF-8
    • grapheme_stripos - Buscar la posición (en unidades de grafema) de la primera coincidencia de una cadena insensible a mayúsculas-minúsculas
    • grapheme_stristr - Devolver parte de la cadena "pajar" desde la primera coincidencia de la cadena "aguja" insensible a mayúsculas-minúsculas hasta el final de "pajar"
    • grapheme_strlen - Obtener la longitud de una cadena en unidades de grafema
    • grapheme_strpos - Buscar la posición (en unidades de grafema) de la primera ocurrencia de una cadena
    • grapheme_strripos - Buscar la posición (en unidades de grafema) de la última coincidencia de una cadena insensible a mayúsculas-minúsculas
    • grapheme_strrpos - Buscar la posición (en unidades de grafema) de la última coincidencia de una cadena
    • grapheme_strstr - Devolver parte de la cadena "pajar" desde la primera coincidencia de la cadena "aguja" hasta el final de "pajar"
    • grapheme_substr - Devolver parte de una cadena
    • GregorianToJD - Convierte una fecha Gregoriana en Fecha Juliana
    • gupnp_context_get_host_ip - Obtiene la dirección IP
    • gupnp_context_get_port - Obtiene el puerto
    • gupnp_context_get_subscription_timeout - Obtiene el tiempo de espera de la suscripción de eventos
    • gupnp_context_host_path - Inicio de Alojamiento
    • gupnp_context_new - Crea un nuevo contexto
    • gupnp_context_set_subscription_timeout - Establece el timpo de espera del suscriptor de eventos
    • gupnp_context_timeout_add - Establece una función a ser llamada en intervalos regulares
    • gupnp_context_unhost_path - Detiene alojamiento
    • gupnp_control_point_browse_start - Comienza la navegación
    • gupnp_control_point_browse_stop - Detiene la navegación
    • gupnp_control_point_callback_set - Establece el punto de control callback
    • gupnp_control_point_new - Crea un nuevo punto de control
    • gupnp_device_action_callback_set - Establece una función callback a un dispositivo
    • gupnp_device_info_get - Obtiene información del dispositivo raíz
    • gupnp_device_info_get_service - Obtiene el servicio con el tipo
    • gupnp_root_device_get_available - Comprueba si un dispositivo raíz está disponible
    • gupnp_root_device_get_relative_location - Obtiene la ubicación relativa del dispositivo raíz
    • gupnp_root_device_new - Crea un nuevo dispositivo raíz
    • gupnp_root_device_set_available - Establece si un dispositivo raíz estará disponible o no
    • gupnp_root_device_start - Inicio el bucle principal
    • gupnp_root_device_stop - Detiene el bucle principal
    • gupnp_service_action_get - Recupera los argumentos de la acción especificada
    • gupnp_service_action_return - Devuelve con éxito
    • gupnp_service_action_return_error - Devuelve el código de error
    • gupnp_service_action_set - Establece el valor de retorno de una acción especificada
    • gupnp_service_freeze_notify - Congela las nuevas notificaciónes
    • gupnp_service_info_get - Obtiene toda la información del servicio
    • gupnp_service_info_get_introspection - Obtiene el recurso de introspección de un servicio
    • gupnp_service_introspection_get_state_variable - Devuelve el estado de la variable de datos
    • gupnp_service_notify - Lanza notificación a los clientes en escucha
    • gupnp_service_proxy_action_get - Envía la acción al servicio y obtiene el valor
    • gupnp_service_proxy_action_set - Envía la acción al servicio y establece el valor
    • gupnp_service_proxy_add_notify - Establece un callback de notificación de cambios en variables
    • gupnp_service_proxy_callback_set - Establece un callback de servicio proxy por señal
    • gupnp_service_proxy_get_subscribed - Check whether subscription is valid to the service
    • gupnp_service_proxy_remove_notify - Cancela la notificación de cambios de variable
    • gupnp_service_proxy_send_action - Envía la acción con múltiples parámetros de forma sincronizada
    • gupnp_service_proxy_set_subscribed - (De-)suscribe al servicio
    • gupnp_service_thaw_notify - Envía cualquier notificación pendiente y detiene la cola de espera de nuevas notificaciones
    • gzclose - Cierra el apuntador de un archivo gz abierto
    • gzcompress - Comprime una cadena
    • gzdecode - Decodifica una cadena comprimida con gzip
    • gzdeflate - Comprime una cadena
    • gzencode - Crea una cadena comprimida con gzip
    • gzeof - Prueba de apuntador para EOF de archivo gz
    • gzfile - Lee un archivo gz completo en una matriz
    • gzgetc - Obtiene el caracter donde está el apuntador al archivo gz
    • gzgets - Obtiene la línea del apuntador al archivo
    • gzgetss - Obtiene la línea del apuntador al archivo gz y retira las etiquetas HTML
    • gzinflate - Descomprime una cadena comprimida
    • gzopen - Abre un archivo gz
    • gzpassthru - Muestra todos los datos restantes a partir del apuntador al achivo gz
    • gzputs - Alias de gzwrite
    • gzread - Lectura de archivo gz segura a nivel binario
    • gzrewind - Reinicia la posición del apuntador a un archivo gz
    • gzseek - Ubica el apuntador a un archivo gz
    • gztell - Indica la posición de lectura/escritura del apuntador al archivo gz
    • gzuncompress - Descomprime una cadena comprimida
    • gzwrite - Escritura en un archivo gz, segura a nivel binario
  • h
    • HaruAnnotation::setBorderStyle - Define el estilo de borde de la anotación
    • HaruAnnotation::setHighlightMode - Define el modo destacado de la anotación
    • HaruAnnotation::setIcon - Define el estilo del icono de la anotación
    • HaruAnnotation::setOpened - Define el estado inicial de la anotación
    • HaruDestination::setFit - Define la apariencia de la página para ajustarse a la ventana
    • HaruDestination::setFitB - Define la apariencia de la página para ajustarse a la delimitación de la caja ubicada dentro de la página en la ventana
    • HaruDestination::setFitBH - Define la apariencia de la página para ajustarse al ancho de la delimitación de la caja
    • HaruDestination::setFitBV - Define la apariencia de la página para ajustarse al alto de la delimitación de la caja
    • HaruDestination::setFitH - Define la apariencia de la página para ajustarse al ancho de la ventana
    • HaruDestination::setFitR - Define la apariencia de la página para ajustarse al rectángulo especificado
    • HaruDestination::setFitV - Define la apariencia de la página para ajustarse al alto de la ventana
    • HaruDestination::setXYZ - Define la apariencia de la página
    • HaruDoc::addPage - Agrega una nueva página al documento
    • HaruDoc::addPageLabel - Establece el estilo de numeración para el rango especificado de páginas
    • HaruDoc::createOutline - Crea una nueva instancia de HaruOutline
    • HaruDoc::getCurrentEncoder - Obteniene la HaruEncoder actualmente usada en el documento
    • HaruDoc::getCurrentPage - Devuelve la página corriente del documento
    • HaruDoc::getEncoder - Obtiene una instancia de HaruEncoder para el codificador especificado
    • HaruDoc::getFont - Obtiene una instancia de HaruFont
    • HaruDoc::getInfoAttr - Colocar al corriente los valores de los atributos en documentos especificados
    • HaruDoc::getPageLayout - Colocar al corriente la disposición de la página
    • HaruDoc::getPageMode - Coloca al corriente el modo de la página
    • HaruDoc::getStreamSize - Obtiene el tamaño de la secuencia temporal
    • HaruDoc::insertPage - Inserta una nueva página solo antes de la página especificada
    • HaruDoc::loadJPEG - Carga una imagen JPEG
    • HaruDoc::loadPNG - Carga y devuelve una imagen PNGHaruImage instance
    • HaruDoc::loadRaw - Carga una imagen RAW
    • HaruDoc::loadTTC - Carga la fuente con el indice especificado del archivo TTC
    • HaruDoc::loadTTF - Carga fichero de fuente TTF
    • HaruDoc::loadType1 - Carga fuente Type1
    • HaruDoc::output - Escribe los datos del documento a la salida del buffer
    • HaruDoc::readFromStream - Lee los datos de la corriente temporal
    • HaruDoc::resetError - Reinicia el estado de error de el documento manejado
    • HaruDoc::resetStream - Rebobina la secuencia temporal
    • HaruDoc::save - Guarda el documento en el fichero especificado
    • HaruDoc::saveToStream - Guarda el documento en una secuencia temporal
    • HaruDoc::setCompressionMode - Establece el modo de compresión para el documento
    • HaruDoc::setCurrentEncoder - Establece el codificador actual para el documento
    • HaruDoc::setEncryptionMode - Establece el modo de cifrado para el documento
    • HaruDoc::setInfoAttr - Define el atributo info del documento
    • HaruDoc::setInfoDateAttr - Establecer los atributos datetime info del documento
    • HaruDoc::setOpenAction - Definir en qué página se muestra cuando se abre el documento
    • HaruDoc::setPageLayout - Indica cómo deben mostrarse las páginas
    • HaruDoc::setPageMode - Indica cómo se debe mostrar el documento
    • HaruDoc::setPagesConfiguration - Establece el número de páginas que contiene cada conjunto de páginas
    • HaruDoc::setPassword - Establecer propietario y contraseñas de usuarios para el documento
    • HaruDoc::setPermission - Establece los permisos para el documento
    • HaruDoc::useCNSEncodings - Habilita las codificaciones Chinas simplificadas
    • HaruDoc::useCNSFonts - Habilita la incorporación de fuentes Chinas simplificadas
    • HaruDoc::useCNTEncodings - Habilita las codificaciones Chinas tradicionales
    • HaruDoc::useCNTFonts - Habilita la incorporación de fuentes Chinas tradicionales
    • HaruDoc::useJPEncodings - Habilita las codificaciones Japonesas
    • HaruDoc::useJPFonts - Habilita la incorporación de fuentes Japonesas
    • HaruDoc::useKREncodings - Habilita las codificaciones Coreanas
    • HaruDoc::useKRFonts - Habilita la incorporación de fuentes Coreanas
    • HaruDoc::__construct - Construye una nueva instancia de HaruDoc
    • HaruEncoder::getByteType - Obtiene el tipo de byte en el texto
    • HaruEncoder::getType - Obtiene el tipo del decodificador
    • HaruEncoder::getUnicode - Convierte el carácter especificado a Unicode
    • HaruEncoder::getWritingMode - Obtiene el modo de escritura del codificador
    • HaruFont::getAscent - Obtiene el ascenso vertical de la fuente
    • HaruFont::getCapHeight - Obtiene la distancia de la línea de base de las letras en mayúsculas
    • HaruFont::getDescent - Obtiene el descenso vertical de la fuente
    • HaruFont::getEncodingName - Obtiene el nombre del codificador
    • HaruFont::getFontName - Obtiene el nombre de la fuente
    • HaruFont::getTextWidth - Obtiene el ancho total del texto, número de caracteres, numero de palabras y número de espacios
    • HaruFont::getUnicodeWidth - Obtiene el ancho de los caracteres en la fuente
    • HaruFont::getXHeight - Obtiene la distancia de la línea de base de las letras en minúsculas
    • HaruFont::measureText - Calcula el número de caracteres los cuales puede ser incluidos dentro de un ancho especificado
    • HaruImage::getBitsPerComponent - Obtiene el número de bits usados para describir cada componente de color de la imagen
    • HaruImage::getColorSpace - Obtiene el nombre del espacio del color
    • HaruImage::getHeight - Obtiene la altura de la imagen
    • HaruImage::getSize - Obtiene el tamaño de la imagen
    • HaruImage::getWidth - Obtiene el ancho de la imagen
    • HaruImage::setColorMask - Establece el color de mascara de la imagen
    • HaruImage::setMaskImage - Establece la mascara de la imagen
    • HaruOutline::setDestination - Define el destino para el esquema
    • HaruOutline::setOpened - Define el estado inicial del esquema
    • HaruPage::arc - Anexa un arco a la ruta corriente
    • HaruPage::beginText - Empieza un objeto de texto y establece la posición corriente del texto a (0,0)
    • HaruPage::circle - Anexa un círculo a la ruta corriente
    • HaruPage::closePath - Anexa una línea recta del punto corriente al inicio del punto de la ruta
    • HaruPage::concat - Concatena la matriz corriente de transformación de la página y la matriz especificada
    • HaruPage::createDestination - Crea una nueva instancia de HaruDestination
    • HaruPage::createLinkAnnotation - Crea una nueva instancia de HaruAnnotation
    • HaruPage::createTextAnnotation - Crea una nueva instancia de HaruAnnotation
    • HaruPage::createURLAnnotation - Crea una nueva instancia de HaruAnnotation
    • HaruPage::curveTo - Anexa una curva Bezier para la ruta corriente
    • HaruPage::curveTo2 - Anexar una curva Bezier a la ruta actual
    • HaruPage::curveTo3 - Anexar una curva Bezier a la ruta actual
    • HaruPage::drawImage - Mostrar una imagen en la página
    • HaruPage::ellipse - Anexar una elipse a la ruta actual
    • HaruPage::endPath - Fin actual de la ruta del objeto sin operaciones de llenado y pintado
    • HaruPage::endText - Fin actual en el texto del objeto
    • HaruPage::eofill - Relleno actual de la ruta usadando la regla even-odd
    • HaruPage::eoFillStroke - Rellenar la ruta actual usando la regla even-odd, luego se pinta la ruta
    • HaruPage::fill - Llena la ruta actual usando la regla del número de vueltas diferentes a cero
    • HaruPage::fillStroke - Rellenar la ruta actual utilizando la regla de zigzagueo de número distinto de cero, luego colorea la ruta
    • HaruPage::getCharSpace - Obtiene el valor actual del carácter espaciado
    • HaruPage::getCMYKFill - Obtiene el color de relleno actual
    • HaruPage::getCMYKStroke - Obtiene el color actual del trazo
    • HaruPage::getCurrentFont - Obtiene la actual fuente usada
    • HaruPage::getCurrentFontSize - Obtiene el tamaño de la fuente actual
    • HaruPage::getCurrentPos - Obtiene la posición actual para la ruta de impresión
    • HaruPage::getCurrentTextPos - Obtiene la posición actual para la impresión del texto
    • HaruPage::getDash - Obtiene el actual patrón guía
    • HaruPage::getFillingColorSpace - Obtiene el espacio actual del color de relleno
    • HaruPage::getFlatness - Obtiene la categoría de la página
    • HaruPage::getGMode - Obtiene el modo de grafico actual
    • HaruPage::getGrayFill - Obtiene el color de relleno actual
    • HaruPage::getGrayStroke - Obtiene el color actual del trazo
    • HaruPage::getHeight - Obtiene la altura de la página
    • HaruPage::getHorizontalScaling - Obtiene el valor actual de la escala horizontal
    • HaruPage::getLineCap - Obtiene el estilo actual del extremo de línea
    • HaruPage::getLineJoin - Obtiene el estilo de la línea de unión
    • HaruPage::getLineWidth - Obtiene el ancho actual de la línea
    • HaruPage::getMiterLimit - Obtiene el valor del límite del inglete
    • HaruPage::getRGBFill - Obtiene el color actual de relleno
    • HaruPage::getRGBStroke - Obtiene el color actual del trazo
    • HaruPage::getStrokingColorSpace - Obtiene el color actual del espacio del trazado
    • HaruPage::getTextLeading - Obtiene el valor actual de la línea espaciada
    • HaruPage::getTextMatrix - Obtiene la transformación actual de la matriz de la página
    • HaruPage::getTextRenderingMode - Obtiene el texto actual de modo de interpretación
    • HaruPage::getTextRise - Obtiene el valor actual del texto saliente
    • HaruPage::getTextWidth - Obtiene el ancho del tamaño de la fuente usada en el texto actual, el caracter y la letra espaciada
    • HaruPage::getTransMatrix - Obtiene la transformación actual de la matriz de la página
    • HaruPage::getWidth - Obtiene el ancho de la página
    • HaruPage::getWordSpace - Obtiene el valor actual del espaciado de la palabra
    • HaruPage::lineTo - Dibuja una línea del punto actual al especificado
    • HaruPage::measureText - Calcula el número de caracteres los cuales pueden ser incluidos dentro del ancho especificado
    • HaruPage::moveTextPos - Mueve la posición del texto al desplazamiento especificado
    • HaruPage::moveTo - Establece el punto de inicio para la nueva ruta de dibujo
    • HaruPage::moveToNextLine - Mueve la posición del texto al inicio de la siguiente línea
    • HaruPage::rectangle - Anexa un rectángulo a la ruta actual
    • HaruPage::setCharSpace - Establece el espaciado de carácter de la página
    • HaruPage::setCMYKFill - Establece el color de relleno para la página
    • HaruPage::setCMYKStroke - Establece el color de trazo de la página
    • HaruPage::setDash - Establece el patrón de guía para la página
    • HaruPage::setFlatness - Establecer la planicie para la página
    • HaruPage::setFontAndSize - Establece la fuente y el tamaño de la misma para la página
    • HaruPage::setGrayFill - Establece el color de relleno para la página
    • HaruPage::setGrayStroke - Establece el color de trazo para la página
    • HaruPage::setHeight - Establece el alto de la página
    • HaruPage::setHorizontalScaling - Establece la escala horizontal para la página
    • HaruPage::setLineCap - Establece la forma a ser usada en el final de las líneas
    • HaruPage::setLineJoin - Establece el estilo de la línea de unión para la página
    • HaruPage::setLineWidth - Establece el ancho de la línea para la página
    • HaruPage::setMiterLimit - Establece el valor actual del inglete limite de la página
    • HaruPage::setRGBFill - Establece el color de relleno para la página
    • HaruPage::setRGBStroke - Establece el color de trazo para la página
    • HaruPage::setRotate - Establece la rotación del ángulo de la página
    • HaruPage::setSize - Define el tamaño y la dirección de la página
    • HaruPage::setSlideShow - Establece el de estilo de transición de la página
    • HaruPage::setTextLeading - Establece el texto guía (línea de espacio) para la página
    • HaruPage::setTextMatrix - Establece la matriz de la transformación actual del texto de la página
    • HaruPage::setTextRenderingMode - Establece el modo de interpretación del texto para la página
    • HaruPage::setTextRise - Establece el valor actual del aumento del texto
    • HaruPage::setWidth - Establece el ancho de la página
    • HaruPage::setWordSpace - Establece el espacio de la palabra para la página
    • HaruPage::showText - Imprime el texto en la posición actual de la página
    • HaruPage::showTextNextLine - Mueve la posición actual a el inicio de la línea siguiente y imprime el texto
    • HaruPage::stroke - Imprime una ruta actual
    • HaruPage::textOut - Imprime el texto en la posición especificada
    • HaruPage::textRect - Imprime el texto dentro de la región especificada
    • hash - Genera un valor cifrado en base a un string
    • hash_algos - Devuelve una lista con los algoritmos de cifrado soportados
    • hash_copy - Copia un recurso de contexto de cifrado
    • hash_file - Genera un valor cifrado usando el contenido de un fichero dado
    • hash_final - Finaliza un contexto incremental y devuelve el resultado cifrado
    • hash_hmac - Genera un valor cifrado mediante una clave especificada usando el método HMAC
    • hash_hmac_file - Genera un valor cifrado mediante una clave especificada usando el método HMAC y el contenido de un fichero dado
    • hash_init - Inicializa un contexto incremental para cifrar
    • hash_pbkdf2 - Genera una derivación de clave PBKDF2 de una contraseña proporcionada
    • hash_update - Pega más datos en un contexto incremental de cifrado activo
    • hash_update_file - Inyecta datos en un contexto de cifrado activo desde un fichero
    • hash_update_stream - Pega datos en un contexto de cifrado activo desde un flujo de datos abierto
    • header - Enviar encabezado sin formato HTTP
    • headers_list - Devuelve una lista de encabezados de respuesta enviados (o listos para enviar)
    • headers_sent - Comprueba si o donde han enviado cabeceras
    • header_register_callback - Llamar a una función de cabecera
    • header_remove - Elimina encabezados previamente establecidos
    • hebrev - Convierte texto hebreo lógico a texto visual
    • hebrevc - Convertir texto de hebreo lógico a texto visual con conversión de línea nueva
    • hex2bin - Decodifica una cadena binaria codificada hexadecimalmente
    • hexdec - Hexadecimal a decimal
    • highlight_file - Remarcado de la sintaxis de un fichero
    • highlight_string - Remarcado de sintaxis de una cadena
    • htmlentities - Convierte todos los caracteres aplicables a entidades HTML
    • htmlspecialchars - Convierte caracteres especiales en entidades HTML
    • htmlspecialchars_decode - Convierte entidades HTML especiales de nuevo en caracteres
    • html_entity_decode - Convierte todas las entidades HTML a sus caracteres correspondientes
    • http:// - Acceso a URLS en HTTP(s)
    • HttpDeflateStream::factory - Factoría de la clase HttpDeflateStream
    • HttpDeflateStream::finish - Termina la secuencia de compresión deflate
    • HttpDeflateStream::flush - Vuelca la secuencia de compresión deflate
    • HttpDeflateStream::update - Actualiza la secuencia de compresión deflate
    • HttpDeflateStream::__construct - Constructor de la clase HttpDeflateStream
    • HttpInflateStream::factory - Factoría de la clase HttpInflateStream
    • HttpInflateStream::finish - Termina la secuencia de descompresión inflate
    • HttpInflateStream::flush - Vuelca la secuencia de descompresión inflate
    • HttpInflateStream::update - Actualiza la secuencia de descompresión inflate
    • HttpInflateStream::__construct - Constructor de la clase HttpInflateStream
    • HttpMessage::addHeaders - Añadir encabezados HTTP
    • HttpMessage::detach - Seperar HttpMessage
    • HttpMessage::factory - Crear un objecto HttpMessage a partir de un string
    • HttpMessage::fromEnv - Crear un objeto HttpMessage a partir del entorno
    • HttpMessage::fromString - Crear un HttpMessage a partir de un string
    • HttpMessage::getBody - Consultar cuerpo del mensaje
    • HttpMessage::getHeader - Consultar cabecera
    • HttpMessage::getHeaders - Consultar cabeceras del mensaje
    • HttpMessage::getHttpVersion - Consultar versión de HTTP
    • HttpMessage::getParentMessage - Consultar mensaje padre
    • HttpMessage::getRequestMethod - Consultar método de petición
    • HttpMessage::getRequestUrl - Consultar URL de la petición
    • HttpMessage::getResponseCode - Consultar código de respuesta
    • HttpMessage::getResponseStatus - Consultar estado de la respuesta
    • HttpMessage::getType - Consultar tipo de mensaje
    • HttpMessage::guessContentType - Averiguar el tipo de contenido
    • HttpMessage::prepend - Añadir mensaje/s en la primera posición
    • HttpMessage::reverse - Invertir cadena de mensajes
    • HttpMessage::send - Enviar mensaje
    • HttpMessage::setBody - Establecer cuerpo del mensaje
    • HttpMessage::setHeaders - Establecer cabeceras
    • HttpMessage::setHttpVersion - Establecer versión de HTTP
    • HttpMessage::setRequestMethod - Establecer método de petición
    • HttpMessage::setRequestUrl - Establecer URL de petición
    • HttpMessage::setResponseCode - Establecer código de respuesta
    • HttpMessage::setResponseStatus - Establecer Estado de Respuesta
    • HttpMessage::setType - Establecer tipo de mensaje
    • HttpMessage::toMessageTypeObject - Crear un objeto HTTP de acuerdo al tipo de mensaje
    • HttpMessage::toString - Representación en formato string
    • HttpMessage::__construct - HttpMessage constructor
    • HttpQueryString::get - Obtener (parte de) una consulta
    • HttpQueryString::mod - Modifica una copia de una consulta
    • HttpQueryString::set - Añade un parámetro a una consulta
    • HttpQueryString::singleton - Singleton HttpQueryString
    • HttpQueryString::toArray - Obtiene el query string como array
    • HttpQueryString::toString - Obtener string de la consulta
    • HttpQueryString::xlate - Cambia el juego de caracteres de la consulta
    • HttpQueryString::__construct - Constructor de HttpQueryString
    • HttpRequest::addCookies - Añadir cookies
    • HttpRequest::addHeaders - Añadir cabeceras
    • HttpRequest::addPostFields - Añadir campos post
    • HttpRequest::addPostFile - Añadir ficheros por post
    • HttpRequest::addPutData - Añadir datos en PUT
    • HttpRequest::addQueryData - Añadir datos a consulta
    • HttpRequest::addRawPostData - Añadir datos binarios en POST
    • HttpRequest::addSslOptions - Añadir opciones de certificados digitales
    • HttpRequest::clearHistory - Eliminar histórico
    • HttpRequest::enableCookies - Habilitar cookies
    • HttpRequest::getContentType - Obtener el tipo de contenido
    • HttpRequest::getCookies - Obtener cookies
    • HttpRequest::getHeaders - Obtener cabceras
    • HttpRequest::getHistory - Obtener histórico
    • HttpRequest::getMethod - Obtener método
    • HttpRequest::getOptions - Obtener opciones
    • HttpRequest::getPostFields - Obtener campost POST
    • HttpRequest::getPostFiles - Obtener ficheros POST
    • HttpRequest::getPutData - Obtener datos PUT
    • HttpRequest::getPutFile - Obtener un fichero PUT
    • HttpRequest::getQueryData - Obtener datos de la consulta
    • HttpRequest::getRawPostData - Obtener datos binarios de POST
    • HttpRequest::getRawRequestMessage - Obtener mensaje de petición binaria
    • HttpRequest::getRawResponseMessage - Obtener mensajes de respuestas binarias
    • HttpRequest::getRequestMessage - Obtener mensaje de petición
    • HttpRequest::getResponseBody - Obtener el cuerpo de la respuesta
    • HttpRequest::getResponseCode - Obtener el código de la respuesta
    • HttpRequest::getResponseCookies - Obtener las cookie/s de la respuesta
    • HttpRequest::getResponseData - Obtener los datos de la respuesta
    • HttpRequest::getResponseHeader - Obtener las cabecera/s de la respuesta
    • HttpRequest::getResponseInfo - Obtener información de la respuesta
    • HttpRequest::getResponseMessage - Obtener mensaje de la respuesta
    • HttpRequest::getResponseStatus - Obtener estado de la respuesta
    • HttpRequest::getSslOptions - Obtener opciones de los certificados digitales
    • HttpRequest::getUrl - Obtener URL
    • HttpRequest::resetCookies - Reiniciar las cookies
    • HttpRequest::send - Enviar petición
    • HttpRequest::setBody - Establece el cotenido de la petición a enviar, sobreescribiendo el contenido de la petición anterior
    • HttpRequest::setContentType - Establecer el tipo de contenido
    • HttpRequest::setCookies - Establecer las cookies
    • HttpRequest::setHeaders - Establecer las cabeceras
    • HttpRequest::setMethod - Establecer método
    • HttpRequest::setOptions - Establecer las opciones
    • HttpRequest::setPostFields - Establecer campos POST
    • HttpRequest::setPostFiles - Establecer los ficheros POST
    • HttpRequest::setPutData - Establecer datos de PUT
    • HttpRequest::setPutFile - Establecer un fichero PUT
    • HttpRequest::setQueryData - Establecer datos de la consulta
    • HttpRequest::setRawPostData - Establecer datos POST binarios
    • HttpRequest::setSslOptions - Establecer las opciones de certificados digitales
    • HttpRequest::setUrl - Establecer la URL
    • HttpRequest::__construct - Constructor del objeto HttpRequest
    • HttpRequestPool::attach - Apilar un objeto HttpRequest
    • HttpRequestPool::detach - Desapilar un objeto HttpRequest
    • HttpRequestPool::getAttachedRequests - Consultar peticiones apiladas
    • HttpRequestPool::getFinishedRequests - Consultar peticiones finalizadas
    • HttpRequestPool::reset - Reiniciar pila de peticiones
    • HttpRequestPool::send - Enviar todas las peticiones
    • HttpRequestPool::socketPerform - Realiza acciones de socket
    • HttpRequestPool::socketSelect - Realiza una selección de socket
    • HttpRequestPool::__construct - Constructor de HttpRequestPool
    • HttpRequestPool::__destruct - Destructor de HttpRequestPool
    • HttpResponse::capture - Capturar salida de script
    • HttpResponse::getBufferSize - Consultar tamaño de buffer
    • HttpResponse::getCache - Consultar caché
    • HttpResponse::getCacheControl - Consultar Cache-Control
    • HttpResponse::getContentDisposition - Consultar Content-Disposition
    • HttpResponse::getContentType - Consultar Content-Type
    • HttpResponse::getData - Consultar datos
    • HttpResponse::getETag - Consultar ETag
    • HttpResponse::getFile - Consultar fichero
    • HttpResponse::getGzip - Obtener gzip
    • HttpResponse::getHeader - Consultar cabecera
    • HttpResponse::getLastModified - Consultar Last-Modified
    • HttpResponse::getRequestBody - Consultar el cuerpo de la petición
    • HttpResponse::getRequestBodyStream - Consultar el flujo del cuerpo de la petición
    • HttpResponse::getRequestHeaders - Consultar cabeceras de la petición
    • HttpResponse::getStream - Consultar flujo
    • HttpResponse::getThrottleDelay - Consultar regulación de intervalos
    • HttpResponse::guessContentType - Averiguar tipo de contenido
    • HttpResponse::redirect - Redireccionar
    • HttpResponse::send - Enviar respuesta
    • HttpResponse::setBufferSize - Establecer tamaño de buffer
    • HttpResponse::setCache - Establecer caché
    • HttpResponse::setCacheControl - Establecer Cache-Control
    • HttpResponse::setContentDisposition - Establecer Content-Disposition
    • HttpResponse::setContentType - Establecer la cabecera Content-Type
    • HttpResponse::setData - Asignar datos
    • HttpResponse::setETag - Establecer ETag
    • HttpResponse::setFile - Asignar fichero
    • HttpResponse::setGzip - Establecer gzip
    • HttpResponse::setHeader - Establecer header
    • HttpResponse::setLastModified - Establecer Last-Modified
    • HttpResponse::setStream - Asignar flujo
    • HttpResponse::setThrottleDelay - Establecer regulación de intervalos
    • HttpResponse::status - Envía un código de estado HTTP
    • http_build_cookie - Construir el string de una cookie
    • http_build_query - Generar una cadena de consulta codificada estilo URL
    • http_build_str - Construir un string de consulta
    • http_build_url - Construir una URL
    • http_cache_etag - Guardando en caché a partir de ETag
    • http_cache_last_modified - Guardando en caché por última modificación
    • http_chunked_decode - Decodifica datos fragmentados
    • http_date - Compone una fecha HTTP compatible con el RFC
    • http_deflate - Comprimir datos
    • http_get - Realizar una petición GET
    • http_get_request_body - Consultar cuerpo de petición como string
    • http_get_request_body_stream - Consultar cuerpo de la petición como un flujo
    • http_get_request_headers - Obtener cabeceras de petición como array
    • http_head - Realizar una petición HEAD
    • http_inflate - Descomprimir datos
    • http_match_etag - Comprobar si coincide el ETag
    • http_match_modified - Comprobar si coincide la última modificación
    • http_match_request_header - Comprobar si coincide cualquier cabecera
    • http_negotiate_charset - Negociar el conjunto de caracteres preferido por los clientes
    • http_negotiate_content_type - Negociar el tipo de contenido preferido por los clientes
    • http_negotiate_language - Negociar el idioma preferido de los clientes
    • http_parse_cookie - Analizar una cookie HTTP
    • http_parse_headers - Convierte cabeceras HTTP
    • http_parse_message - Analizar mensajes HTTP
    • http_parse_params - Analizar lista de parámetros
    • http_persistent_handles_clean - Cierra el control de persistencia
    • http_persistent_handles_count - Estadísticas del control del persistencias
    • http_persistent_handles_ident - Obtener/modificar el identificador del control de persistencia
    • http_post_data - Realizar una petición POST con datos pre-codificados
    • http_post_fields - Realizar una petición POST con datos a codificar
    • http_put_data - Realizar una petición PUT con datos
    • http_put_file - Realizar una petición PUT con un fichero
    • http_put_stream - Realizar una petición PUT a partir de un flujo
    • http_redirect - Realiza una redirección HTTP
    • http_request - Realizar una petición personalizada
    • http_request_body_encode - Codificar el contenido de una petición
    • http_request_method_exists - Comprueba si existe un método de petición
    • http_request_method_name - Obtener nombre de método de petición
    • http_request_method_register - Da de alta un método de petición
    • http_request_method_unregister - Dar de baja un método de petición
    • http_response_code - Get or Set the HTTP response code
    • http_send_content_disposition - Enviar la cabecera Content-Disposition
    • http_send_content_type - Enviar cabecera Content-Type
    • http_send_data - Enviar datos arbitrarios
    • http_send_file - Enviar un fichero
    • http_send_last_modified - Enviar cabecera Last-Modified
    • http_send_status - Enviar código de estado HTTP
    • http_send_stream - Enviar flujo
    • http_support - Comprueba el soporte HTTP integrado
    • http_throttle - Aceleración de HTTP
    • hwapi_attribute_new - Crea una instancia de la clase hw_api_attribute
    • hwapi_content_new - Crea una nueva instancia de la clase hw_api_content
    • hwapi_hgcsp - Devuelve un objeto de la clase hw_api
    • hwapi_object_new - Crea una nueva instancia de la clase hwapi_object_new
    • hw_api::checkin - Registra un objeto
    • hw_api::checkout - Verifica un objeto
    • hw_api::children - Devuelve los hijos de un objeto
    • hw_api::content - Devuelve el contenido de un objeto
    • hw_api::copy - Copia físicamente
    • hw_api::dbstat - Devuelve estadísticas sobre el servidor de base de datos
    • hw_api::dcstat - Devuelve estadísticas sobre el servidor de caché de documentos
    • hw_api::dstanchors - Devuelve una lista de todas las anclas de destino
    • hw_api::dstofsrcanchor - Devuelve el destino de un ancla fuente
    • hw_api::find - Busca objetos
    • hw_api::ftstat - Devuelve estadísticas sobre el servidor Fulltext
    • hw_api::hwstat - Devuelve estadísticas sobre el servidor Hyperwave
    • hw_api::identify - Conectarse al Servidor Hyperwave
    • hw_api::info - Devuelve información sobre la configuración del servidor
    • hw_api::insert - Inserta un objeto nuevo
    • hw_api::insertanchor - Inserta un objeto nuevo de tipo 'anchor'
    • hw_api::insertcollection - Inserta un objeto nuevo de tipo 'collection'
    • hw_api::insertdocument - Inserta un objeto nuevo de tipo 'document'
    • hw_api::link - Crea un link a un objeto
    • hw_api::lock - Bloquea un objeto
    • hw_api::move - Mueve un objeto de una colección a otra
    • hw_api::object - Recupera información de los atributos de un objeto
    • hw_api::objectbyanchor - Retorna el objeto propietario de un ancla
    • hw_api::parents - Devuelve los padres de un objeto
    • hw_api::remove - Eliminar un objeto
    • hw_api::replace - Reemplaza un objeto
    • hw_api::setcommittedversion - Consolida (commit) una versión diferente que la última versión
    • hw_api::srcanchors - Devuelve una lista de todas las anclas fuente
    • hw_api::srcsofdst - Devuelve la fuente de un objeto de destino
    • hw_api::unlock - Desbloquea un objeto bloqueado
    • hw_api::user - Devuelve el propietario de un objeto
    • hw_api::userlist - Devuelve la lista de todos los usuarios conectados
    • hw_api_attribute::key - Returns key of the attribute
    • hw_api_attribute::langdepvalue - Devuelve el valor de un atributo en un idioma determinado
    • hw_api_attribute::value - Devuelve el valor del atributo
    • hw_api_attribute::values - Devuelve todos los valores del atributo
    • hw_api_content::mimetype - Devuelve el tipo MIME
    • hw_api_content::read - Lee el contenido
    • hw_api_error::count - Devuelve el número de errores
    • hw_api_error::reason - Devuelve el primer motivo de error
    • hw_api_object::assign - Clona objeto
    • hw_api_object::attreditable - Comprueba si un atributo es editable
    • hw_api_object::count - Devuelve el número de atributos
    • hw_api_object::insert - Inserta un nuevo atributo
    • hw_api_object::remove - Elimina un atributo
    • hw_api_object::title - Devuelve el atributo title
    • hw_api_object::value - Devuelve el valor de un atributo
    • hw_api_reason::description - Devuelve la descripción de la razón
    • hw_api_reason::type - Devuelve el tipo de la razón
    • hw_Array2Objrec - Convierte los atributos de un array de objetos a un registro de objetos
    • hw_changeobject - Cambia los atributos de un objetos (obsoleto)
    • hw_Children - Ids de objetos de los hijos
    • hw_ChildrenObj - Registro de objetos de los hijos
    • hw_Close - Cierra la conexión a Hyperwave
    • hw_Connect - Abre una conexión
    • hw_connection_info - Imprimie información sobre la conexión al servidor Hyperwave
    • hw_cp - Copia un objeto
    • hw_Deleteobject - Borra un objeto
    • hw_DocByAnchor - Id del objeto que pertenece a un ancla
    • hw_DocByAnchorObj - Registro de objetos al que pertenece un ancla
    • hw_Document_Attributes - Registro de objetos de hw_document
    • hw_Document_BodyTag - Etiqueta BODY de hw_document
    • hw_Document_Content - Devuelve el contenido de hw_document
    • hw_Document_SetContent - Establece/reemplaza el contenido de hw_document
    • hw_Document_Size - Tamaño de hw_document
    • hw_dummy - Función dummy de Hyperwave
    • hw_EditText - Recuperar un documento de texto
    • hw_Error - Número de error
    • hw_ErrorMsg - Devuelve un mensaje de error
    • hw_Free_Document - Libera un hw_document
    • hw_GetAnchors - Ids de objetos de anclas de documento
    • hw_GetAnchorsObj - Registros de objetos de anclas de documento
    • hw_GetAndLock - Devuelve un registro de objetos y bloquea el objeto
    • hw_GetChildColl - Ids de objetos de colecciones hijas
    • hw_GetChildCollObj - Registros de objetos de colecciones hijas
    • hw_GetChildDocColl - Ids de documentos hijos de una colección
    • hw_GetChildDocCollObj - Registros de objetos de documentos hijos de una colección
    • hw_GetObject - Registro de objetos
    • hw_GetObjectByQuery - Búsqueda de objetos
    • hw_GetObjectByQueryColl - Buscar objetos en una colección
    • hw_GetObjectByQueryCollObj - Búsqueda de objetos en una colección
    • hw_GetObjectByQueryObj - Búsqueda de objetos
    • hw_GetParents - Ids de objetos de padres
    • hw_GetParentsObj - Registros de objetos de padres
    • hw_getrellink - Obtener un enlace desde la fuente al destino relativo al id raíz
    • hw_GetRemote - Obtiene un documento remoto
    • hw_getremotechildren - Obtener los hijos de un documento remoto
    • hw_GetSrcByDestObj - Devuelve las anclas que apuntan a un objeto
    • hw_GetText - Recuperar documentos de texto
    • hw_getusername - Nombre de usuario actualmente identificado
    • hw_Identify - Identifica un usuario
    • hw_InCollections - Comprobar si ids de objetos están en colecciones
    • hw_Info - Información sobre la conexión
    • hw_InsColl - Insertar colecciones
    • hw_InsDoc - Insertar documetos
    • hw_insertanchors - Inserta únicamente anclas en texto
    • hw_InsertDocument - Cargar cualquier documento
    • hw_InsertObject - Inserta un registro de objetos
    • hw_mapid - Mapea un id global en un id local virtual
    • hw_Modifyobject - Modifica un registro de objetos
    • hw_mv - Mueve objetos
    • hw_New_Document - Crear un nuevo documento
    • hw_objrec2array - Convertir atributos de un registro de objetos a un array de objetos
    • hw_Output_Document - Imprime un hw_document
    • hw_pConnect - Realizar una conexión persistente a la base de datos
    • hw_PipeDocument - Recuperar cualquier documento
    • hw_Root - Id del objeto raíz
    • hw_setlinkroot - Establecer el id cuyos enlaces son calculados
    • hw_stat - Devuelve la cadena de estado
    • hw_Unlock - Desbloquear un objeto
    • hw_Who - Lista de los usuarios actualmente identificados
    • hypot - Calcula la longitud de la hipotenusa de un triángulo de ángulo recto
  • i
    • ibase_add_user - Añade un usuario a una base de datos segura
    • ibase_affected_rows - Devuelve el número de columnas afectadas por la última consulta
    • ibase_backup - Inicia la tarea de copia de seguridad en el administrador de servicios y devuelve el control inmediatamente
    • ibase_blob_add - Añade datos a un nuevo blob
    • ibase_blob_cancel - Cancela la creación de un blob
    • ibase_blob_close - Cierra un blob
    • ibase_blob_create - Crea un nuevo blob al que añadir datos
    • ibase_blob_echo - Imprime el contenido de un blob
    • ibase_blob_get - Consulta un determinado número de bytes de un blob
    • ibase_blob_import - Crea un blob, copia un fichero en él, y lo cierra
    • ibase_blob_info - Devuelve el tamaño de un blob y otra información útil
    • ibase_blob_open - Abre un blob para su consulta
    • ibase_close - Cerrar una conexión con una base de datos InterBase
    • ibase_commit - Lleva a cabo una transacción
    • ibase_commit_ret - Lleva a cabo una transacción sin cerrarla
    • ibase_connect - Abrir una conexión a una base de datos
    • ibase_db_info - Consulta estadísticas de una base de datos
    • ibase_delete_user - Elimina un usuario de una base de datos segura
    • ibase_drop_db - Elimina una base de datos
    • ibase_errcode - Devuelve un código de error
    • ibase_errmsg - Devuelve un mensaje de error
    • ibase_execute - Ejecutar una consulta previamente preparada
    • ibase_fetch_assoc - Extra una fila en forma de array asociativo de una consulta
    • ibase_fetch_object - Consulta un objeto de una base de datos InterBase
    • ibase_fetch_row - Recuperar una fila desde una base de datos InterBase
    • ibase_field_info - Consulta información sobre un determinado campo
    • ibase_free_event_handler - Cancela un manejador de eventos ya registrado
    • ibase_free_query - Liberar la memoria reservada por una consulta preparada
    • ibase_free_result - Liberar un conjunto de resultados
    • ibase_gen_id - Incrementa el generador de nombres y devuelve su nuevo valor
    • ibase_maintain_db - Lleva a cabo una tarea de mantenimiento en el servidor de bases de datos
    • ibase_modify_user - Modifica un usuario en una base de datos segura
    • ibase_name_result - Asigna un nombre a un juego de resultados
    • ibase_num_fields - Consulta el número de campos de un resultado
    • ibase_num_params - Devuelve el número de parámetros de una sentencia preparada
    • ibase_param_info - Devuelve información sobre un parámetro de una sentencia preparada
    • ibase_pconnect - Abrir una conexión persistente con una base de datos InterBase
    • ibase_prepare - Preparar una consulta para su asociación con parámetros de sustitución y ejecución posterior
    • ibase_query - Ejecutar una consulta en una base de datos InterBase
    • ibase_restore - Inicia una tarea de restauración en el administrador de servicios y devuelve el control inmediatamente
    • ibase_rollback - Deshace una transacción
    • ibase_rollback_ret - Deshace una transacción sin cerrarla
    • ibase_server_info - Solicita información sobre un servidor de bases de datos
    • ibase_service_attach - Conecta al administrador de servicios
    • ibase_service_detach - Desconecta del administrador de servicios
    • ibase_set_event_handler - Registra una función manejadora de un determinado evento
    • ibase_trans - Comienza una transacción
    • ibase_wait_event - Espera a que la base de datos emita un determinado evento
    • iconv - Convierte un string a la codificación de caracteres indicada
    • iconv_get_encoding - Recupera variables de configuración interna de la extensión iconv
    • iconv_mime_decode - Decodifica un campo de la cabecera MIME
    • iconv_mime_decode_headers - Decodifica varios campos de cabeceras MIME en la misma llamada
    • iconv_mime_encode - Compone un campo de cabecera MIME
    • iconv_set_encoding - Establece las opciones para la conversión de codificación de caracteres
    • iconv_strlen - Retorna el número de caracteres de un string
    • iconv_strpos - Encuentra la posición de la primera aparición de una aguja en un pajar
    • iconv_strrpos - Busca la última aparición de un string
    • iconv_substr - Elimina parte del string
    • id3_get_frame_long_name - Obtiene el nombre largo de un marco ID3v2
    • id3_get_frame_short_name - Obtiene el nombre corto de un marco ID3v2
    • id3_get_genre_id - Obtiene el id correspondiente para un género musical
    • id3_get_genre_list - Obtiene todos los valores posibles para la etiqueta género
    • id3_get_genre_name - Obtiene el nombre del género correspondiente a un id
    • id3_get_tag - Obtiene toda la información almacenada en una etiqueta ID3
    • id3_get_version - Obtiene la versión de una etiqueta ID3
    • id3_remove_tag - Elimina una etiqueta ID3 existente
    • id3_set_tag - Actualiza la información almacenada en una etiqueta ID3
    • idate - Formatea una fecha/hora local como un entero
    • idn_to_ascii - Convierte un nombre de dominio a formato IDNA ASCII
    • idn_to_unicode - Alias de idn_to_utf8
    • idn_to_utf8 - Convierte un nombre de dominio de IDNA ASCII a Unicode
    • ifxus_close_slob - Deletes the slob object
    • ifxus_create_slob - Creates an slob object and opens it
    • ifxus_free_slob - Deletes the slob object
    • ifxus_open_slob - Opens an slob object
    • ifxus_read_slob - Reads nbytes of the slob object
    • ifxus_seek_slob - Sets the current file or seek position
    • ifxus_tell_slob - Returns the current file or seek position
    • ifxus_write_slob - Writes a string into the slob object
    • ifx_affected_rows - Get number of rows affected by a query
    • ifx_blobinfile_mode - Establece el modo predeterminado de blob en todas las consultas de selección
    • ifx_byteasvarchar - Establece el modo predeterminado byte
    • ifx_close - Cerrar conexión Informix
    • ifx_connect - Abrir conexión con el servidor Informix
    • ifx_copy_blob - Duplica el objeto blob
    • ifx_create_blob - Crea un objeto Blob
    • ifx_create_char - Crea un objeto char
    • ifx_do - Execute a previously prepared SQL-statement
    • ifx_error - Returns error code of last Informix call
    • ifx_errormsg - Returns error message of last Informix call
    • ifx_fetch_row - Get row as an associative array
    • ifx_fieldproperties - List of SQL fieldproperties
    • ifx_fieldtypes - List of Informix SQL fields
    • ifx_free_blob - Elimina el objeto blob
    • ifx_free_char - Elimina el objeto char
    • ifx_free_result - Libera recursos de la consulta
    • ifx_getsqlca - Get the contents of sqlca.sqlerrd[0..5] after a query
    • ifx_get_blob - Devolver el contenido de un objeto blob
    • ifx_get_char - Devolver el contenido del objeto char
    • ifx_htmltbl_result - Formatea todas las filas de una consulta en una tabla HTML
    • ifx_nullformat - Sets the default return value on a fetch row
    • ifx_num_fields - Returns the number of columns in the query
    • ifx_num_rows - Count the rows already fetched from a query
    • ifx_pconnect - Open persistent Informix connection
    • ifx_prepare - Prepare an SQL-statement for execution
    • ifx_query - Send Informix query
    • ifx_textasvarchar - Set the default text mode
    • ifx_update_blob - Updates the content of the blob object
    • ifx_update_char - Updates the content of the char object
    • ignore_user_abort - Establecer si la desconexión de un cliente debería abortar la ejecución del script
    • iis_add_server - Crea un nuevo servidor web virtual
    • iis_get_dir_security - Obtiene la Seguridad de Directorio
    • iis_get_script_map - Obtiene el mapeado de scripts en un directorio virtual para una extensión específica
    • iis_get_server_by_comment - Devuelve el número de instancia asociado con Comment
    • iis_get_server_by_path - Devuelve el número de instancia asociado con Path
    • iis_get_server_rights - Obtiene los derechos del servidor
    • iis_get_service_state - Devuelve es estado del servicio definido por ServiceId
    • iis_remove_server - Elimina el servidor web virtual indicado por ServerInstance
    • iis_set_app_settings - Crea un ámbito de aplicación para un directorio virtual
    • iis_set_dir_security - Establece la Seguridad de Directorio
    • iis_set_script_map - Establece el mapeado de scripts en un directorio virtual
    • iis_set_server_rights - Establece los derechos del servidor
    • iis_start_server - Inicia el servidor web virtual
    • iis_start_service - Inicia el servicio definido por ServiceId
    • iis_stop_server - Detiene el servidor virtual web
    • iis_stop_service - Detiene el servicio definido por ServiceId
    • image2wbmp - Exportar la imagen al navegador o a un fichero
    • imageaffine - Devuelve la imagen que contiene la imagen fuente transformada afín, usando un área de recorte opcional
    • imageaffinematrixconcat - Concatena dos matrices (como al hacer muchas opciones de una vez)
    • imageaffinematrixget - Devuelve la imagen que contiene la imagen fuente transformada afín, usando un área de recorte opcional
    • imagealphablending - Establece el modo de mezcla para una imagen
    • imageantialias - Permite o no el uso de funciones antialias
    • imagearc - Dibujar un arco
    • imagechar - Dibujar un carácter horizontalmente
    • imagecharup - Dibujar un carácter verticalmente
    • imagecolorallocate - Asigna un color para una imagen
    • imagecolorallocatealpha - Asigna un color para una imagen
    • imagecolorat - Obtener el índice del color de un píxel
    • imagecolorclosest - Obtener el índice del color más próximo al color especificado
    • imagecolorclosestalpha - Obtener el índice del color más próximo al color + alpha especificado
    • imagecolorclosesthwb - Obtener el índice del color que tiene el tono, blancura y negrura
    • imagecolordeallocate - Desasignar un color de una imagen
    • imagecolorexact - Obtener el índice del color especificado
    • imagecolorexactalpha - Obtener el índice del color + alpha especificado
    • imagecolormatch - Hacer que los colores de la versión de la paleta de una imagen coincidan más estrechamente con la versión de color verdadero
    • imagecolorresolve - Obtener el índice del color especificado o su alternativa más próxima posible
    • imagecolorresolvealpha - Obtener el índice del color + alpha especificado o su alternativa más próxima posible
    • imagecolorset - Establecer el color para el índice de paleta especificada
    • imagecolorsforindex - Obtener los colores de un índice
    • imagecolorstotal - Averiguar el número de colores de la paleta de una imagen
    • imagecolortransparent - Definir un color como transparente
    • imageconvolution - Aplicar una matriz de convolución de 3x3, usando coeficiente e índice
    • imagecopy - Copiar parte de una imagen
    • imagecopymerge - Copiar y fusionar parte de una imagen
    • imagecopymergegray - Copiar y fusionar parte de una imagen con escala de grises
    • imagecopyresampled - Copia y cambia el tamaño de parte de una imagen redimensionándola
    • imagecopyresized - Copia y cambia el tamaño de parte de una imagen
    • imagecreate - Crea una nueva imagen basada en paleta
    • imagecreatefromgd - Crear una imagen nueva desde un archivo GD o una URL
    • imagecreatefromgd2 - Crear una imagen nueva desde un archivo GD2 o una URL
    • imagecreatefromgd2part - Crear una nueva imagen desde una parte dada de un archivo GD2 o una URL
    • imagecreatefromgif - Crea una nueva imagen a partir de un fichero o de una URL
    • imagecreatefromjpeg - Crea una nueva imagen a partir de un fichero o de una URL
    • imagecreatefrompng - Crea una nueva imagen a partir de un fichero o de una URL
    • imagecreatefromstring - Crear una imagen nueva desde el flujo de imagen de la cadena
    • imagecreatefromwbmp - Crea una nueva imagen a partir de un fichero o de una URL
    • imagecreatefromwebp - Crea una nueva imagen a partir de un fichero o de una URL
    • imagecreatefromxbm - Crea una nueva imagen a partir de un fichero o de una URL
    • imagecreatefromxpm - Crea una nueva imagen a partir de un fichero o de una URL
    • imagecreatetruecolor - Crear una nueva imagen de color verdadero
    • imagecrop - Recorta una imagen usando las coordenadas, el tamaño, x, y, ancho y alto dados
    • imagecropauto - Recorta una imagen automáticamente usando uno de los modos disponibles
    • imagedashedline - Dibujar una línea discontinua
    • imagedestroy - Destruir una imagen
    • imageellipse - Dibujar una elipse
    • imagefill - Rellenar
    • imagefilledarc - Dibujar un arco parcial y rellenarlo
    • imagefilledellipse - Dibujar una elipse con relleno
    • imagefilledpolygon - Dibujar un polígono con relleno
    • imagefilledrectangle - Dibujar un rectángulo con relleno
    • imagefilltoborder - Rellenar con un color específico
    • imagefilter - Aplica un filtro a una imagen
    • imageflip - Flips an image using a given mode
    • imagefontheight - Obtener el alto de la fuente
    • imagefontwidth - Obtener el ancho de la fuente
    • imageftbbox - Devolver la caja circundante de un texto usando fuentes mediante FreeType 2
    • imagefttext - Escribir texto en la imagen usando fuentes mediante FreeType 2
    • imagegammacorrect - Aplicar una corrección gamma a la imagen GD
    • imagegd - Imprime una imagen GD2 a un navegador o archivo
    • imagegd2 - Imprime una imagen GD2 a un navegador o archivo
    • imagegif - Exportar la imagen al navegador o a un fichero
    • imagegrabscreen - Capturar la pantalla completa
    • imagegrabwindow - Capturar una ventana
    • imageinterlace - Habilitar o deshabilitar en entrelazamiento
    • imageistruecolor - Averiguar si una imagen es de color verdadero
    • imagejpeg - Exportar la imagen al navegador o a un fichero
    • imagelayereffect - Establecer la bandera de mezcla alfa para usar los efectos de capa de la biblioteca gd incluida
    • imageline - Dibujar una línea
    • imageloadfont - Cargar una nueva fuente
    • imagepalettecopy - Copiar la paleta de una imagen a otra
    • imagepalettetotruecolor - Convierte una imagen basada en paleta a color verdadero
    • imagepng - Imprimir una imagen PNG al navegador o a un archivo
    • imagepolygon - Dibujar un polígono
    • imagepsbbox - Devolver la caja circundante de un rectángulo de texto usando fuentes PostScript Type1
    • imagepsencodefont - Cambiar el vector de codificación del caráter de una fuente
    • imagepsextendfont - Extender o condensar una fuente
    • imagepsfreefont - Liberar la memoria usada por una fuente PostScript Type 1
    • imagepsloadfont - Cargar una fuente PostScript Type 1 desde un archivo
    • imagepsslantfont - Inclinar una fuente
    • imagepstext - Dibujar un texto sobre una imagen usando fuentes PostScript Type1
    • imagerectangle - Dibuja un rectángulo
    • imagerotate - Rotar una imagen con un ángulo dado
    • imagesavealpha - Establecer la bandera para guardar la información completa del canal alfa (como oposición a la transparencia de un simple color) cuando se guardan imágenes PNG
    • imagescale - Redimensiona una imagen usando un nuevo ancho y alto
    • imagesetbrush - Establecer la imagen de pincel para el dibujo de líneas
    • imagesetinterpolation - Establecer el método de interpolación
    • imagesetpixel - Establecer un simple píxel
    • imagesetstyle - Establecer el estilo para el dibujo de líneas
    • imagesetthickness - Establecer el grosor para el dibujo de líneas
    • imagesettile - Establecer la imagen de tesela para rellenos
    • imagestring - Dibujar una cadena horizontalmente
    • imagestringup - Dibujar una cadena verticalmente
    • imagesx - Obtener el ancho de una imagen
    • imagesy - Obtener el alto de una imagen
    • imagetruecolortopalette - Convertir una imagen de color verdadero en una imagen de paleta
    • imagettfbbox - Devuelve la caja circundante de un texto usando fuentes TrueType
    • imagettftext - Escribir texto en la imagen usando fuentes TrueType
    • imagetypes - Devolver los tipos de imagen soportados por la versión actual de PHP
    • imagewbmp - Exportar la imagen al navegador o a un fichero
    • imagewebp - Imprimer una imagen WebP al navegador o fichero
    • imagexbm - Imprimir una imagen XBM al navegador o a una archivo
    • image_type_to_extension - Obtiene la extensión de un tipo de imagen
    • image_type_to_mime_type - Obtiene el tipo Mime de un tipo de imagen devuelto por getimagesize, exif_read_data, exif_thumbnail, exif_imagetype
    • Imagick::adaptiveBlurImage - Añade un filtro de borrosidad adaptativo a la imagen
    • Imagick::adaptiveResizeImage - Redimensiona una imagen adaptativamente con información dependiente de la triangulación
    • Imagick::adaptiveSharpenImage - Afila la imagen adaptativamente
    • Imagick::adaptiveThresholdImage - Selecciona un umbral para cada píxel basado en un rango de intensidad
    • Imagick::addImage - Añade una nueva imagen a la lista de imágenes del objeto Imagick
    • Imagick::addNoiseImage - Añade ruido aleatorio a la imagen
    • Imagick::affineTransformImage - Transforma una imagen
    • Imagick::animateImages - Anima una imagen o imágenes
    • Imagick::annotateImage - Anota una imagen con texto
    • Imagick::appendImages - Añade un conjunto de imágenes
    • Imagick::averageImages - Calcula la media de un conjunto de imágenes
    • Imagick::blackThresholdImage - Fuerza a todos los píxeles bajo un umbral a ser negros
    • Imagick::blurImage - Añade un filtro de borrosidad a la imagen
    • Imagick::borderImage - Rodea la imagen con un borde
    • Imagick::charcoalImage - Simula un dibujo a carboncillo
    • Imagick::chopImage - Borra una región de una imagen y la recorta
    • Imagick::clear - Borra todos los recursos asociados con un objeto Imagick
    • Imagick::clipImage - Recorta a lo largo del primer trazado desde un perfil 8BIM
    • Imagick::clipPathImage - Recorta a lo largo de trazados nominados desde un perfil 8BIM
    • Imagick::clone - Hace una copia exacta de un objeto Imagick
    • Imagick::clutImage - Reemplaza los colores de una imagen
    • Imagick::coalesceImages - Compone un conjunto de imágenes
    • Imagick::colorFloodfillImage - Cambia el valor del color de cualquier píxel que coincida con el objetivo
    • Imagick::colorizeImage - Mezcla el color de relleno con la imagen
    • Imagick::combineImages - Combina una o más imágenes en una sóla imagen
    • Imagick::commentImage - Añade un comentario a la imagen
    • Imagick::compareImageChannels - Devuelve la diferencia entre una o más imágenes
    • Imagick::compareImageLayers - Devuelve la región circundante máxima entre imágenes
    • Imagick::compareImages - Compara una imagen con una imagen reconstruida
    • Imagick::compositeImage - Compone una imagen en otra
    • Imagick::contrastImage - Cambia el contraste de una imagen
    • Imagick::contrastStretchImage - Mejora el contraste de una imagen en color
    • Imagick::convolveImage - Aplica una semilla de convolución a medida a la imagen
    • Imagick::cropImage - Extrae una región de la imagen
    • Imagick::cropThumbnailImage - Crea una miniatura recortada
    • Imagick::current - Devuelve una referencia del objeto Imagick actual
    • Imagick::cycleColormapImage - Desplaza el mapa de colores de una imagen
    • Imagick::decipherImage - Descifra una imagen
    • Imagick::deconstructImages - Devuelve ciertas diferencias de píxeles entre imágenes
    • Imagick::deleteImageArtifact - Borra un artefacto de imagen
    • Imagick::deskewImage - Elimina la torción de la imagen
    • Imagick::despeckleImage - Reduce el ruido granular de una imagen
    • Imagick::destroy - Destruye un objeto Imagick
    • Imagick::displayImage - Muestra una imagen
    • Imagick::displayImages - Muestra una imagen o una secuencia de imágenes
    • Imagick::distortImage - Deforma una imagen utilizando varios métodos de distorsión
    • Imagick::drawImage - Renderiza el objeto ImagickDraw a la imagen actual
    • Imagick::edgeImage - Mejora los bordes de la imagen
    • Imagick::embossImage - Devuelve una imagen en escala de grises con un efecto tridimensional
    • Imagick::encipherImage - Cifra una imagen
    • Imagick::enhanceImage - Mejora la calidad de una imagen con ruido
    • Imagick::equalizeImage - Ecualiza el histograma de la imagen
    • Imagick::evaluateImage - Aplica una expresión a una imagen
    • Imagick::exportImagePixels - Exporta píxeles de imagen en bruto
    • Imagick::extentImage - Establecer el tamaño de la imagen
    • Imagick::flattenImages - Fusiona una secuencia de imágenes
    • Imagick::flipImage - Crea una imagen espejo vertical
    • Imagick::floodFillPaintImage - Cambia el valor del color de cualquier píxel que coincida con el objetivo
    • Imagick::flopImage - Crea una imagen espejo horizontal
    • Imagick::frameImage - Añade un borde tridimensional simulado
    • Imagick::functionImage - Aplica una función a la imagen
    • Imagick::fxImage - Evalúa una expresión por cada píxel de la imagen
    • Imagick::gammaImage - Corrección gamma de una imagen
    • Imagick::gaussianBlurImage - Hace borrosa una imagen
    • Imagick::getColorspace - Obtiene el espacio de color
    • Imagick::getCompression - Obtiene el tipo de compresión del objeto
    • Imagick::getCompressionQuality - Obtiene la calidad de compresión del objeto
    • Imagick::getCopyright - Devuelve el copyright de la API ImageMagick como una cadena
    • Imagick::getFilename - El nombre de archivo asociado a una secuencia de imágenes
    • Imagick::getFont - Obtiene la fuente
    • Imagick::getFormat - Devuelve el formato de un objeto Imagick
    • Imagick::getGravity - Obtiene la gravedad
    • Imagick::getHomeURL - Devuelve la URL de inicio de ImageMagick
    • Imagick::getImage - Devuelve un nuevo objeto Imagick
    • Imagick::getImageAlphaChannel - Obtiene el canal alfa de una imagen
    • Imagick::getImageArtifact - Obtener el artefacto de imagen
    • Imagick::getImageBackgroundColor - Devuelve el color de fondo de la imagen
    • Imagick::getImageBlob - Devuelve la secuencia de imágenes como un valor de tipo blob
    • Imagick::getImageBluePrimary - Devuelve el punto primario azul de la cromaticidad
    • Imagick::getImageBorderColor - Devuelve el color del borde de la imagen
    • Imagick::getImageChannelDepth - Obtiene la profundidad de un canal de imagen en particular
    • Imagick::getImageChannelDistortion - Compara los canales de imagen de una imagen con una imagen reconstruida
    • Imagick::getImageChannelDistortions - Obtiene las distorsiones del canal
    • Imagick::getImageChannelExtrema - Obtiene los extremos de uno o más canales de imagen
    • Imagick::getImageChannelKurtosis - Obtiene la curtosis y la asimetría estadística de un canal específico
    • Imagick::getImageChannelMean - Obtiene la media y la desviación estándar
    • Imagick::getImageChannelRange - Obtiene el rango del canal
    • Imagick::getImageChannelStatistics - Devuelve las estadísticas de cada canal de la imagen
    • Imagick::getImageClipMask - Obtiene la máscara de recorte de la imagen
    • Imagick::getImageColormapColor - Devuelve el color del índice del mapa de colores especficado
    • Imagick::getImageColors - Obtiene el número de colores únicos de la imagen
    • Imagick::getImageColorspace - Obtiene el espacio de colores de la imagen
    • Imagick::getImageCompose - Devuelve el operador de composición asociado a la imagen
    • Imagick::getImageCompression - Obtiene el tipo de compresión de la imagen actual
    • Imagick::getImageCompressionQuality - Obtiene la calidad de compresión de la imagen actual
    • Imagick::getImageDelay - Obtiene el retraso de la imagen
    • Imagick::getImageDepth - Obtiene la profundidad de la imagen
    • Imagick::getImageDispose - Obtiene el método de disposición de la imagen
    • Imagick::getImageDistortion - Compara una imagen con una imagen reconstruida
    • Imagick::getImageExtrema - Obtiene los extremos de la imagen
    • Imagick::getImageFilename - Devuelve el nombre de archivo de una imagen en particular de una secuencia
    • Imagick::getImageFormat - Devuelve el formato de una imagen en particular de una secuencia
    • Imagick::getImageGamma - Obtiene el valor gamma de la imagen
    • Imagick::getImageGeometry - Obtiene el ancho y el alto como un array asociativo
    • Imagick::getImageGravity - Obtiene la gravedad de la imagen
    • Imagick::getImageGreenPrimary - Devuelve el punto primario verde de la cromaticidad
    • Imagick::getImageHeight - Devuelve el alto de la imagen
    • Imagick::getImageHistogram - Obtiene el histograma de la imagen
    • Imagick::getImageIndex - Obtiene el índice de la imagen activa actual
    • Imagick::getImageInterlaceScheme - Obtiene la combinación de entrelazado de la imagen
    • Imagick::getImageInterpolateMethod - Devuelve el método de interpolación
    • Imagick::getImageIterations - Obtiene las iteraciones de la imagen
    • Imagick::getImageLength - Devuelve la longitud de la imagen en bytes
    • Imagick::getImageMagickLicense - Devuelve un string que contiene la licencia de ImageMagick
    • Imagick::getImageMatte - Devuelve si la imagen tiene un canal mate
    • Imagick::getImageMatteColor - Devuelve el color mate de la imagen
    • Imagick::getImageOrientation - Obtiene la orientación de la imagen
    • Imagick::getImagePage - Devuelve la geometría de la página
    • Imagick::getImagePixelColor - Devuelve el color del píxel especificado
    • Imagick::getImageProfile - Devuelve el perfil nominado de la imagen
    • Imagick::getImageProfiles - Devuelve los perfiles de la imagen
    • Imagick::getImageProperties - Devuelve las propiedades de la imagen
    • Imagick::getImageProperty - Devuelve la propiedad nominada de la imagen
    • Imagick::getImageRedPrimary - Devuelve el punto primario rojo de la cromaticidad
    • Imagick::getImageRegion - Extrae una región de la imagen
    • Imagick::getImageRenderingIntent - Obtiene el propósito de renderización de la imagen
    • Imagick::getImageResolution - Obtiene la resolución X e Y de la imagen
    • Imagick::getImagesBlob - Devuelve todas las secuencias de imágenes como un blob
    • Imagick::getImageScene - Obtiene la escena de la imagen
    • Imagick::getImageSignature - Genera un resumen de un mensaje SHA-256
    • Imagick::getImageSize - Devuelve la longitud de la imagen en bytes
    • Imagick::getImageTicksPerSecond - Obtiene los pulsos por segundo de la imagen
    • Imagick::getImageTotalInkDensity - Obtiene la densidad de tinta total de la imagen
    • Imagick::getImageType - Obtiene el tipo de imagen potencial
    • Imagick::getImageUnits - Obtiene las unidades de resolución de la imagen
    • Imagick::getImageVirtualPixelMethod - Devuelve el método de píxel virtual
    • Imagick::getImageWhitePoint - Devuelve el punto blanco de la cromaticidad
    • Imagick::getImageWidth - Devuelve el ancho de la imagen
    • Imagick::getInterlaceScheme - Obtiene la combinación de entrelazado de un objeto
    • Imagick::getIteratorIndex - Obtiene el índice de la imagen activa actual
    • Imagick::getNumberImages - Devuelve el número de imágenes del objeto
    • Imagick::getOption - Devuelve un valor asociado con la clave especificada
    • Imagick::getPackageName - Devuelve el nombre del paquete de ImageMagick
    • Imagick::getPage - Devuelve la geometría de la página
    • Imagick::getPixelIterator - Devuelve un objeto MagickPixelIterator
    • Imagick::getPixelRegionIterator - Obtinene un objeto ImagickPixelIterator de una sección de imagen
    • Imagick::getPointSize - Obtiene el tamaño de punto
    • Imagick::getQuantumDepth - Obtiene la profundidad de la cuantía
    • Imagick::getQuantumRange - Devuelve el rango de cuantía de Imagick
    • Imagick::getReleaseDate - Devuelve la fecha de distribución de ImageMagick
    • Imagick::getResource - Devuelve el uso de memoria del recurso especificado
    • Imagick::getResourceLimit - Devuelve el límite del recurso especificado
    • Imagick::getSamplingFactors - Obtiene el factor de muestreo horizontal y vertical
    • Imagick::getSize - Devuelve el tamaño asociado con el objeto Imagick
    • Imagick::getSizeOffset - Devuelve el índice de tamaño
    • Imagick::getVersion - Devuelve la versión de la API ImageMagick
    • Imagick::haldClutImage - Reemplaza los colores de la imagen
    • Imagick::hasNextImage - Comprueba si el objeto tiene más imágenes
    • Imagick::hasPreviousImage - Verifica si el objeto tiene una imagen previa
    • Imagick::identifyImage - Identifica una imagen y obtiene sus atributos
    • Imagick::implodeImage - Crea una nueva imagen como una copia
    • Imagick::importImagePixels - Imoprta los píxeles de una imagen
    • Imagick::labelImage - Añade una etiqueta a una imagen
    • Imagick::levelImage - Ajusta los niveles de la imagen
    • Imagick::linearStretchImage - Estrecha con saturación la intensidad de la imagen
    • Imagick::liquidRescaleImage - Anima una imagen o imágenes
    • Imagick::magnifyImage - Escala una imagen x2 proporcionalmente
    • Imagick::mapImage - Reemplaza los colores de una imagen con el color más cercano de una imagen de referencia
    • Imagick::matteFloodfillImage - Cambia el valor de transparencia de un color
    • Imagick::medianFilterImage - Aplica un filtro digital
    • Imagick::mergeImageLayers - Fusiona las capas de una imagen
    • Imagick::minifyImage - Escala una imagen proporcionalmente a la mitad de su tamaño
    • Imagick::modulateImage - Controla el brillo, la saturación y el tono
    • Imagick::montageImage - Crea una imagen compuesta
    • Imagick::morphImages - Metamorfosea un conjunto de imágenes
    • Imagick::mosaicImages - Forma un mosaico de imágenes
    • Imagick::motionBlurImage - Simula borrosidad en movimiento
    • Imagick::negateImage - Invierte los colores en la imagen de referencia
    • Imagick::newImage - Crea una nueva imagen
    • Imagick::newPseudoImage - Crea una nueva imagen
    • Imagick::nextImage - Se mueve a la siguiente imagen
    • Imagick::normalizeImage - Mejora el contraste de una imagen a color
    • Imagick::oilPaintImage - Simula una pintura al óleo
    • Imagick::opaquePaintImage - Cambia el color de cualquier píxel que coincida con el objetivo
    • Imagick::optimizeImageLayers - Elimina porciones repetidas de imágenes para optimizarlas
    • Imagick::orderedPosterizeImage - Realiza un entramado ordenado
    • Imagick::paintFloodfillImage - Cambia el valor del color de cualquier píxel que coincida con el objetivo
    • Imagick::paintOpaqueImage - Cambia cualquier píxel que coincida con el color
    • Imagick::paintTransparentImage - Cambia cualquier píxel que coincida con el color definido para el relleno
    • Imagick::pingImage - Trae los atributos básicos de una imagen
    • Imagick::pingImageBlob - Traer los atributos rápidamente
    • Imagick::pingImageFile - Obtener los atrbutos básicos de la imagen de una manera liviana
    • Imagick::polaroidImage - Simula una fotografía Polaroid
    • Imagick::posterizeImage - Reduce la imagen a un número limitado de niveles de color
    • Imagick::previewImages - Precisa rápidamente los parámetros apropiados para el procesamiento de la imagen
    • Imagick::previousImage - Se mueve a la imagen previa del objeto
    • Imagick::profileImage - Añade o elimina un perfil de una imagen
    • Imagick::quantizeImage - Analiza los colores dentro de una imagen de referencia
    • Imagick::quantizeImages - Analiza los colores dentro de una secuencia de imágenes
    • Imagick::queryFontMetrics - Devuelve una matriz que representa las métricas de la fuente
    • Imagick::queryFonts - Devuelve las fuentes configuradas
    • Imagick::queryFormats - Devuelve los formatos soportados por Imagick
    • Imagick::radialBlurImage - Hace borrosa de forma radial una imagen
    • Imagick::raiseImage - Crea un efecto de botón en 3D simulado
    • Imagick::randomThresholdImage - Crea una imagen de alto contraste y dos colores
    • Imagick::readImage - Lee una imagen desde un nombre de fichero
    • Imagick::readImageBlob - Lee una imagen desde un string binario
    • Imagick::readImageFile - Lee una imagen desde un gestor de fichero abierto
    • Imagick::recolorImage - Re-colorea una imagen
    • Imagick::reduceNoiseImage - Suaviza los contornos de una imagen
    • Imagick::remapImage - Re-mapea los colores de una imagen
    • Imagick::removeImage - Quita una imagen de la lista de imágenes
    • Imagick::removeImageProfile - Elimina el perfil nominado de la imagen y lo devuelve
    • Imagick::render - Renderiza todos los comandos de dibujo precedentes
    • Imagick::resampleImage - Re-muestrea la imagen a la resolución deseada
    • Imagick::resetImagePage - Reinicia una página de imagen
    • Imagick::resizeImage - Escala una imagen
    • Imagick::rollImage - Compensa una imagen
    • Imagick::rotateImage - Rota una imagen
    • Imagick::roundCorners - Redondea las esquinas de una imagen
    • Imagick::sampleImage - Escala una imagen con un muestreo de píxeles
    • Imagick::scaleImage - Escala el tamaño de una imagen
    • Imagick::segmentImage - Segmenta una imagen
    • Imagick::separateImageChannel - Separa un canal de la imagen
    • Imagick::sepiaToneImage - Pone una imagen en tono sepia
    • Imagick::setBackgroundColor - Establece el color de fondo por omisión del objeto
    • Imagick::setColorspace - Establecer el espacio de color
    • Imagick::setCompression - Establece el tipo de compresión predeterminado del objeto
    • Imagick::setCompressionQuality - Establece la calidad de compresión predeterminda del objeto
    • Imagick::setFilename - Establece el nombre de archivo antes de que se lea o escriba una imagen
    • Imagick::setFirstIterator - Establece el iterador Imagick para la primera imagen
    • Imagick::setFont - Establece la fuente
    • Imagick::setFormat - Establece el formato del objeto Imagick
    • Imagick::setGravity - Establece la gravedad
    • Imagick::setImage - Reemplaza una imagen en el objeto
    • Imagick::setImageAlphaChannel - Establece el canal alfa de la imagen
    • Imagick::setImageArtifact - Establecer un artefacto de imagen
    • Imagick::setImageBackgroundColor - Establece el color de fondo de la imagen
    • Imagick::setImageBias - Establece el sesgo de la imagen para cualquier método que convolucione una imagen
    • Imagick::setImageBluePrimary - Establece el punto primario azul de la cromaticidad de la imagen
    • Imagick::setImageBorderColor - Establece el color de borde de la imagen
    • Imagick::setImageChannelDepth - Establece la profundidad de una canal de imagen en particular
    • Imagick::setImageClipMask - Establece la máscara de recorte de una imagen
    • Imagick::setImageColormapColor - Establece el color de un índice de mapa de color especificado
    • Imagick::setImageColorspace - Establece el espacio de color de una imagen
    • Imagick::setImageCompose - Establece el operador de composción de una imagen
    • Imagick::setImageCompression - Establece la compresión de una imagen
    • Imagick::setImageCompressionQuality - Establece la calidad de compresión de una imagen
    • Imagick::setImageDelay - Establece el retardo de una imagen
    • Imagick::setImageDepth - Establece la profundidad de una imagen
    • Imagick::setImageDispose - Establece el método de disposición de una imagen
    • Imagick::setImageExtent - Establece el tamaño de una imagen
    • Imagick::setImageFilename - Establece el nombre de archivo de una imagen en particular
    • Imagick::setImageFormat - Establece el formato de una imagen en particular
    • Imagick::setImageGamma - Establece el valor gamma de la imagen
    • Imagick::setImageGravity - Establece la gravedad de la imagen
    • Imagick::setImageGreenPrimary - Establece el punto primario verde de la cromaticidad de la imagen
    • Imagick::setImageIndex - Establece la posición del iterador
    • Imagick::setImageInterlaceScheme - Establece la compresión de la imagen
    • Imagick::setImageInterpolateMethod - Establece el método de interpolación de píxeles
    • Imagick::setImageIterations - Establece las iteraciones de una imagen
    • Imagick::setImageMatte - Establece el canal mate de la imagen
    • Imagick::setImageMatteColor - Establece el color mate de la imagen
    • Imagick::setImageOpacity - Establece el nivel de opacidad de la imagen
    • Imagick::setImageOrientation - Establece la orientación de la imagen
    • Imagick::setImagePage - Establece la geometría de la página de la imagen
    • Imagick::setImageProfile - Añade un perfil nominado al objeto Imagick
    • Imagick::setImageProperty - Establece una propiedad de la imagen
    • Imagick::setImageRedPrimary - Establece el punto primario rojo de la cromaticidad de la imagen
    • Imagick::setImageRenderingIntent - Establece el propósito de renderización de la imagen
    • Imagick::setImageResolution - Establece la resolución de la imagen
    • Imagick::setImageScene - Establece la escena de la imagen
    • Imagick::setImageTicksPerSecond - Establece los ticks por segundo de la imagen
    • Imagick::setImageType - Establece el tipo de imagen
    • Imagick::setImageUnits - Establece las unidades de resolución de la imagen
    • Imagick::setImageVirtualPixelMethod - Establece el método de píxel virtual de la imagen
    • Imagick::setImageWhitePoint - Establece el punto blanco de cromaticidad de la imagen
    • Imagick::setInterlaceScheme - Establece la compresión de la imagen
    • Imagick::setIteratorIndex - Establece la posición del iterador
    • Imagick::setLastIterator - Establece el iterador de Imagick a la última imagen
    • Imagick::setOption - Establece una opción
    • Imagick::setPage - Establece la geometría de página del objeto Imagick
    • Imagick::setPointSize - Establece el tamaño del punto
    • Imagick::setResolution - Establece la resolución de la imagen
    • Imagick::setResourceLimit - Establece el límite de un recurso en particular en megabytes
    • Imagick::setSamplingFactors - Establece los factores de muestreo de la imagen
    • Imagick::setSize - Establece el tamaño del objeto Imagick
    • Imagick::setSizeOffset - Establece el tamaño y el índice del objeto Imagick
    • Imagick::setType - Establece el atributo tipo de imagen
    • Imagick::shadeImage - Crea un efecto en 3D
    • Imagick::shadowImage - Simula una sombra de imagen
    • Imagick::sharpenImage - Afila una imagen
    • Imagick::shaveImage - Recorta píxeles de los extremos de la imagen
    • Imagick::shearImage - Crea un paralelogramo
    • Imagick::sigmoidalContrastImage - Ajusta el contraste de una imagen
    • Imagick::sketchImage - Simula el bosquejo de un lapiz
    • Imagick::solarizeImage - Aplica un efecto de solarización a la imagen
    • Imagick::sparseColorImage - Interpola colores
    • Imagick::spliceImage - Une un color sólido en la imagen
    • Imagick::spreadImage - Despalza aleatoriamente cada píxel en un bloque
    • Imagick::steganoImage - Oculta una marca de agua digital dentro de la imagen
    • Imagick::stereoImage - Compone dos imágenes
    • Imagick::stripImage - Elimina todos los perfiles y comentarios de una imagen
    • Imagick::swirlImage - Arremolina los píxeles desde el centro de la imagen
    • Imagick::textureImage - Reviste repetidamente la textura de la imagen
    • Imagick::thresholdImage - Cambia el valor de píexeles individuales basdos en un umbral
    • Imagick::thumbnailImage - Cambia el tamaño de una imagen
    • Imagick::tintImage - Aplica un vector de color a cada píxel en la imagen
    • Imagick::transformImage - Método conveniente para establecer el tamaño del recorte y la geometría de la imagen
    • Imagick::transparentPaintImage - Pinta píxeles transparentes
    • Imagick::transposeImage - Crea una imagen espejo vertical
    • Imagick::transverseImage - Crea una imagen espejo horizontal
    • Imagick::trimImage - Elimina los extremos de la imagen
    • Imagick::uniqueImageColors - Desecha todos los colores de los píxeles excepto uno
    • Imagick::unsharpMaskImage - Afila una imagen
    • Imagick::valid - Comprueba si el elemento actual es válido
    • Imagick::vignetteImage - Añade un filtro de viñeta a la imagen
    • Imagick::waveImage - Aplica un filtro de onda a la imagen
    • Imagick::whiteThresholdImage - Fuerza a todos los píxeles por encima del umbral a ser blancos
    • Imagick::writeImage - Escribe una imagen al nombre de fichero especificado
    • Imagick::writeImageFile - Escribe una imagen a un gestor de archivo
    • Imagick::writeImages - Escribe una imagen o secuencia de imágenes
    • Imagick::writeImagesFile - Escribe fotogramas al gestor de archivo
    • Imagick::__construct - El constructor Imagick
    • ImagickDraw::affine - Ajusta la matriz de transformación afín actual
    • ImagickDraw::annotation - Dibuja texto en la imagen
    • ImagickDraw::arc - Dibuja un arco
    • ImagickDraw::bezier - Dibuja una curva de Bézier
    • ImagickDraw::circle - Dibuja un círculo
    • ImagickDraw::clear - Borra el objeto ImagickDraw
    • ImagickDraw::clone - Hace una copia exacta del objeto ImagickDraw especificado
    • ImagickDraw::color - Dibuja color en una imagen
    • ImagickDraw::comment - Añade un comentario
    • ImagickDraw::composite - Compone una imagen dentro de la imagen actual
    • ImagickDraw::destroy - Libera todos los recursos asociados
    • ImagickDraw::ellipse - Dibuja una elipse en la imagen
    • ImagickDraw::getClipPath - Obtiene el ID del trazado de recorte actual
    • ImagickDraw::getClipRule - Devuelve la regla de relleno de un polígono actual
    • ImagickDraw::getClipUnits - Devuelve la interpretación de unidades del trazado de recorte
    • ImagickDraw::getFillColor - Devuelve el color de relleno
    • ImagickDraw::getFillOpacity - Devuelve la opacidad usada cuando se dibuja
    • ImagickDraw::getFillRule - Devuelve la regla de relleno
    • ImagickDraw::getFont - Devuelve la fuente
    • ImagickDraw::getFontFamily - Devuelve la familia de la fuente
    • ImagickDraw::getFontSize - Devuelve el tamaño de punto de la fuente
    • ImagickDraw::getFontStyle - Devuelve el estilo de fuente
    • ImagickDraw::getFontWeight - Devuelve el peso de la fuente
    • ImagickDraw::getGravity - Devuelve la gravedad de emplazamiento del texto
    • ImagickDraw::getStrokeAntialias - Devuelve la configuración de antialias de contorno actual
    • ImagickDraw::getStrokeColor - Devuelve el color usado por los perfiles de objetos contorneados
    • ImagickDraw::getStrokeDashArray - Devuelve un array que representa el patrón de rayas y huecos usado por trazados contorneados
    • ImagickDraw::getStrokeDashOffset - Devuelve el índice dentro del patrón de discontinuidad para iniciar la discontinuidad
    • ImagickDraw::getStrokeLineCap - Devuelve la forma que se va a usar al final de los subtrazados abiertos cuando están contorneados
    • ImagickDraw::getStrokeLineJoin - Devuelve la forma que se va a usar en la esquinas de los trazados cuando están contorneados
    • ImagickDraw::getStrokeMiterLimit - Devuelve el límite del inglete del contorno
    • ImagickDraw::getStrokeOpacity - Devuelve la opacidad del perfil de objetos contorneados
    • ImagickDraw::getStrokeWidth - Devuelve al ancho del contorno usado para dibujar contornos de objetos
    • ImagickDraw::getTextAlignment - Devuelve la alineación del texto
    • ImagickDraw::getTextAntialias - Devuelve la configuración de antialias del texto actual
    • ImagickDraw::getTextDecoration - Devuelve la decoración del texto
    • ImagickDraw::getTextEncoding - Devuelve la codificación usada para anotaciones de texto
    • ImagickDraw::getTextUnderColor - Devuelve el color debajo del texto
    • ImagickDraw::getVectorGraphics - Devuelve una cadena que contiene gráficos vectoriales
    • ImagickDraw::line - Dibuja una línea
    • ImagickDraw::matte - Pinta sobre el canal de opacidad de la imagen
    • ImagickDraw::pathClose - Añade un elemento de trazado al trazado actual
    • ImagickDraw::pathCurveToAbsolute - Dibuja una curva cúbica de Bézier
    • ImagickDraw::pathCurveToQuadraticBezierAbsolute - Dibuja una curva Bézier cuadrática
    • ImagickDraw::pathCurveToQuadraticBezierRelative - Dibuja una curva Bézier cuadrática
    • ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute - Dibuja una curva Bézier cuadrática
    • ImagickDraw::pathCurveToQuadraticBezierSmoothRelative - Dibuja una curva Bézier cuadrática
    • ImagickDraw::pathCurveToRelative - Dibuja una curva cúbica de Bézier
    • ImagickDraw::pathCurveToSmoothAbsolute - Dibuja una curva cúbica de Bézier
    • ImagickDraw::pathCurveToSmoothRelative - Dibuja una curva cúbica de Bézier
    • ImagickDraw::pathEllipticArcAbsolute - Dibuja un arco elíptico
    • ImagickDraw::pathEllipticArcRelative - Dibuja un arco elíptico
    • ImagickDraw::pathFinish - Finaliza el trazado actual
    • ImagickDraw::pathLineToAbsolute - Dibuja un trazado de línea
    • ImagickDraw::pathLineToHorizontalAbsolute - Dibuja un trazado de línea horizontal
    • ImagickDraw::pathLineToHorizontalRelative - Dibuja una línea horizontal
    • ImagickDraw::pathLineToRelative - Dibuja un trazado de línea
    • ImagickDraw::pathLineToVerticalAbsolute - Dibuja un línea vertical
    • ImagickDraw::pathLineToVerticalRelative - Dibuja un trazado de línea vertical
    • ImagickDraw::pathMoveToAbsolute - Inicia un nuevo sub-trazado
    • ImagickDraw::pathMoveToRelative - Inicia un nuevo sub-trazado
    • ImagickDraw::pathStart - Declara el inicio de una lista de dibujo de trazados
    • ImagickDraw::point - Dibuja un punto
    • ImagickDraw::polygon - Dibuja un polígono
    • ImagickDraw::polyline - Dibuja una poli-línea
    • ImagickDraw::pop - Destruye el objeto ImagickDraw actual de la pila, y lo devuelve al objeto ImagickDraw previamente metido
    • ImagickDraw::popClipPath - Finaliza una definición de un trazado de recorte
    • ImagickDraw::popDefs - Finaliza una lista de definiciones
    • ImagickDraw::popPattern - Finaliza una definición de patrón
    • ImagickDraw::push - Clona el objeto ImagickDraw actual y lo mete en la pila
    • ImagickDraw::pushClipPath - Inicia la definición de un trazado de recorte
    • ImagickDraw::pushDefs - Indica que los siguientes comandos crean elementos con nombre para un procesamiento previo
    • ImagickDraw::pushPattern - Indica que los comandos subsiguientes hasta un comando ImagickDraw::opPattern() comprenden la definición de un patrón nominado
    • ImagickDraw::rectangle - Dibuja un rectángulo
    • ImagickDraw::render - Renderiza todos los comandos de dibujo precedentes en la imagen
    • ImagickDraw::rotate - Aplica la rotación especificada al espacio de coordenadas actual
    • ImagickDraw::roundRectangle - Dibuja un rectángulo redondeado
    • ImagickDraw::scale - Ajusta el factor de escala
    • ImagickDraw::setClipPath - Asocia un trazado de recorte nominado con la imagen
    • ImagickDraw::setClipRule - Establece la regla de relleno de polígonos a usar por el trazado de recorte
    • ImagickDraw::setClipUnits - Establece la interpretación de las unidades de un trazado de recorte
    • ImagickDraw::setFillAlpha - Establece la opacidad a usar cuando se dibuja utilizando el color de relleno o la textura de relleno
    • ImagickDraw::setFillColor - Establece el color de relleno que se va a usar para dibujar objetos rellenos
    • ImagickDraw::setFillOpacity - Establece la opacidad para usarla cuando se dibuja utilizando el color de relleno o la textura de relleno
    • ImagickDraw::setFillPatternURL - Establece la URL a usar como un patrón de relleno para objetos rellenos
    • ImagickDraw::setFillRule - Establece la regla de relleno a usar mientras se dibujan polígonos
    • ImagickDraw::setFont - Establece la fuente especificada completamente para usarla cuando se escribe texto
    • ImagickDraw::setFontFamily - Establece la familia de fuentes para usarla cuando se escribe texto
    • ImagickDraw::setFontSize - Establece el tamaño de punto de la fuente para usarlo cuando se escribe texto
    • ImagickDraw::setFontStretch - Establece el estiramiento de la fuente para usarla cuando se escribe texto
    • ImagickDraw::setFontStyle - Establece el estilo de fuente para usarlo cuando se escribe texto
    • ImagickDraw::setFontWeight - Establece el peso de fuente
    • ImagickDraw::setGravity - Establece la gravedad de ubicación del texto
    • ImagickDraw::setStrokeAlpha - Especifica la opacidad de los perfiles de los objetos contorneados
    • ImagickDraw::setStrokeAntialias - Controla si los perfiles contorneados tiene antialias
    • ImagickDraw::setStrokeColor - Establece el color usado por los perfiles de objetos contorneados
    • ImagickDraw::setStrokeDashArray - Especifica el patrón de rayas y huecos usado por los trazados de contorno
    • ImagickDraw::setStrokeDashOffset - Especifica el índice dentro del patrón de discontinuidad para iniciar la discontinuidad
    • ImagickDraw::setStrokeLineCap - Especifica la forma que se va a usar al final de los subtrazados abiertos cuando están contorneados
    • ImagickDraw::setStrokeLineJoin - Especifica la forma que se va a usar en la esquinas de los trazados cuando están contorneados
    • ImagickDraw::setStrokeMiterLimit - Especifica el límite del inglete
    • ImagickDraw::setStrokeOpacity - Especifica la opacidad de los perfiles de los objetos contorneados
    • ImagickDraw::setStrokePatternURL - Establece el patrón usado para los perfiles de objetos contorneados
    • ImagickDraw::setStrokeWidth - Establece el ancho del contorno a usar para dibujar perfiles de objetos
    • ImagickDraw::setTextAlignment - Especifica una alineación de texto
    • ImagickDraw::setTextAntialias - Controla si el texto tiene antialias
    • ImagickDraw::setTextDecoration - Especifica una decoración
    • ImagickDraw::setTextEncoding - Especifica el conjunto de codificación del texto
    • ImagickDraw::setTextUnderColor - Especifica el color de un rectángulo de fondo
    • ImagickDraw::setVectorGraphics - Establece los gráficos vectoriales
    • ImagickDraw::setViewbox - Establece el tamaño de todos los lienzos
    • ImagickDraw::skewX - Tuerce el sistema de coordenadas actual en la dirección horizontal
    • ImagickDraw::skewY - Tuerce el sistema de coordenadas actual en la dirección vertical
    • ImagickDraw::translate - Aplica una traslación del sistema de coordenadas actual
    • ImagickDraw::__construct - El constructor ImagickDraw
    • ImagickPixel::clear - Borra los recursos asociados con este objeto
    • ImagickPixel::destroy - Desasigna los recursos asociados con este objeto
    • ImagickPixel::getColor - Devuelve el color
    • ImagickPixel::getColorAsString - Devuelve el color como string
    • ImagickPixel::getColorCount - Devuelve la cuenta de color asociada con este color
    • ImagickPixel::getColorValue - Obtiene el valor normalizado del canal de color proporcionado
    • ImagickPixel::getHSL - Devuelve el color HSL normalizado del objeto ImagickPixel
    • ImagickPixel::isPixelSimilar - Check the distance between this color and another
    • ImagickPixel::isSimilar - Comprobar la distancia entre este color y otro
    • ImagickPixel::setColor - Establece el color
    • ImagickPixel::setColorValue - Establece el valor normalizado de uno de los canales
    • ImagickPixel::setHSL - Establece el color HSL normalizado
    • ImagickPixel::__construct - El constructor ImagickPixel
    • ImagickPixelIterator::clear - Borra los recursos asociados con un objeto PixelIterator
    • ImagickPixelIterator::destroy - Desasigna los recursos asociacdos con un objeto PixelIterator
    • ImagickPixelIterator::getCurrentIteratorRow - Devuelve la fila actual de objetos ImagickPixel
    • ImagickPixelIterator::getIteratorRow - Devuelve la fila actual del iterador de píxel
    • ImagickPixelIterator::getNextIteratorRow - Devuelve la fila siguiente del iterador de píxel
    • ImagickPixelIterator::getPreviousIteratorRow - Devuelve la fila previa
    • ImagickPixelIterator::newPixelIterator - Devuelve un nuevo iterador de píxel
    • ImagickPixelIterator::newPixelRegionIterator - Devuelve un nuevo iterador de píxel
    • ImagickPixelIterator::resetIterator - Reinicia el iterador de píxel
    • ImagickPixelIterator::setIteratorFirstRow - Establece el iterador de píxel a la primera fila de píxeles
    • ImagickPixelIterator::setIteratorLastRow - Establece el iterador de píxel a la última fila de píxeles
    • ImagickPixelIterator::setIteratorRow - Establecer la fila del iterador de píxel
    • ImagickPixelIterator::syncIterator - Sincornizar el iterador de píxel
    • ImagickPixelIterator::__construct - El constructor ImagickPixelIterator
    • imap_8bit - Convertir una cadena 8bit a una cadena quoted-printable
    • imap_alerts - Devuelve todos los mensajes de alerte de IMAP que han sucedido
    • imap_append - Añadir un mensaje de cadena a un buzón especificado
    • imap_base64 - Decodificar un texto cifrado con BASE64
    • imap_binary - Convertir una cadena 8bit a una cadena base64
    • imap_body - Leer el cuerpo del mensaje
    • imap_bodystruct - Leer la estructura de una sección del cuerpo especificado de un mensaje especificado
    • imap_check - Comprobar el buzón actual
    • imap_clearflag_full - Limpia las banderas de mensajes
    • imap_close - Cerrar una secuencia IMAP
    • imap_create - Alias de imap_createmailbox
    • imap_createmailbox - Crear un nuevo buzón de correo
    • imap_delete - Marcar un mensaje para su borrado del buzón actual
    • imap_deletemailbox - Elimina un buzón
    • imap_errors - Devuelve todos los errores de IMAP que han ocurrido
    • imap_expunge - Borra todos los mensajes marcados para eliminación
    • imap_fetchbody - Traer una sección en particular del cuerpo del mensaje
    • imap_fetchheader - Devolver la cabecera de un mensaje
    • imap_fetchmime - Obtener las cabeceras MIME para una sección en particular del mensaje
    • imap_fetchstructure - Leer la estructura de un mensaje en particular
    • imap_fetchtext - Alias de imap_body
    • imap_fetch_overview - Leer una visión general de la información de las cabeceras del mensaje dado
    • imap_gc - Limpia la caché de IMAP
    • imap_getacl - Obtiene el ACL para un buzón dado
    • imap_getmailboxes - Leer la lista de buzones, devolviendo información detallada de cada uno
    • imap_getsubscribed - Listar todos los buzones suscritos
    • imap_get_quota - Obtener la cuota de ajustes por usuario, y las estadísticas de uso por buzón
    • imap_get_quotaroot - Obtener la cuota de ajustes por usuario
    • imap_header - Alias de imap_headerinfo
    • imap_headerinfo - Leer la cabecera del mensaje
    • imap_headers - Devuelve las cabeceras de todos los mensajes de un buzón
    • imap_last_error - Obtiene el último error de IMAP que ocurrió durante esta petición de página
    • imap_list - Leer la lista de buzones
    • imap_listmailbox - Alias de imap_list
    • imap_listscan - Devuelve la lista de buzones que coinciden con el texto dado
    • imap_listsubscribed - Alias de imap_lsub
    • imap_lsub - Listar todos los buzones suscritos
    • imap_mail - Enviar un mensaje de correo electrónico
    • imap_mailboxmsginfo - Obtener información sobre el buzón actual
    • imap_mail_compose - Crear un mensaje MIME basado en las secciones sobre y cuerpo
    • imap_mail_copy - Copiar los mensajes especificados a un buzón
    • imap_mail_move - Mover los mensajes especificados a un buzón
    • imap_mime_header_decode - Decodificar los elementos de la cabecera MIME
    • imap_msgno - Obtiene el número de secuencia de mensaje para el UID dado
    • imap_num_msg - Obtiene el número de mensajes del buzón actual
    • imap_num_recent - Obtiene el número de mensajes recientes en el buzón actual
    • imap_open - Abrir un flujo IMAP a un buzón
    • imap_ping - Comprobar si el flujo de IMAP está aún activo
    • imap_qprint - Convertir una cadena imprimible entrecomillada a una cadena de 8 bits
    • imap_rename - Alias de imap_renamemailbox
    • imap_renamemailbox - Renombrar un buzón antiguo a un buzón nuevo
    • imap_reopen - Reabrir un flujo IMAP hacia un nuevo buzón
    • imap_rfc822_parse_adrlist - Analiza una cadena de dirección
    • imap_rfc822_parse_headers - Analizar cabeceras de correo desde una cadena
    • imap_rfc822_write_address - Devuelve una dirección de correo correctamente formateada dados el buzón, host e información personal
    • imap_savebody - Guardar una sección del cuerpo específica en un fichero
    • imap_scan - Alias de imap_listscan
    • imap_scanmailbox - Alias de imap_listscan
    • imap_search - Esta función devuelve un array de mensajes que coinciden con el criterio de búsqueda dado
    • imap_setacl - Establece el ACL para el buzón dado
    • imap_setflag_full - Establece banderas en mensajes
    • imap_set_quota - Establece una cuota para un buzón dado
    • imap_sort - Obtiene y ordena mensajes
    • imap_status - Devuelve la información de estado de un buzón
    • imap_subscribe - Suscribirse a un buzón
    • imap_thread - Devuelve un árbol de mensajes hilados
    • imap_timeout - Establece o obtiene el tiempo de espera de imap
    • imap_uid - Esta función devuelve el UID del número de secuencia del mensaje dado
    • imap_undelete - Desmarcar el mensaje que está marcado para borrar
    • imap_unsubscribe - Cancelar la inscripción de un buzón
    • imap_utf7_decode - Decodifica una cadena codificada con UTF-7 modificado
    • imap_utf7_encode - Convierte una cadena ISO-8859-1 a un texto UTF-7 modifiicado
    • imap_utf8 - Convierte texto codificado MIME en UTF-8
    • implode - Une elementos de un array en un string
    • import_request_variables - Importar variables GET/POST/Cookie en el ámbito global
    • inclued_get_data - Obtener la información de inclued
    • inet_ntop - Converts a packed internet address to a human readable representation
    • inet_pton - Converts a human readable IP address to its packed in_addr representation
    • InfiniteIterator::next - Mueve el iterador interno hacía adelante o se rebobina
    • InfiniteIterator::__construct - Construye un InfiniteIterator
    • ingres_autocommit - Activa o desactiva la autoconsigna
    • ingres_autocommit_state - Comprueba si la conexión usa la autoconsigna
    • ingres_charset - Devuelve el conjunto de caracteres de la instalación
    • ingres_close - Cierra una conexión a una base de datos de Ingres
    • ingres_commit - Consigna una trasacción
    • ingres_connect - Abre una conexión a una base de datos de Ingres
    • ingres_cursor - Obtiene el nombre de un cursor de un recurso de resultados dado
    • ingres_errno - Obtiene el número del último error generado de Ingres
    • ingres_error - Obtener un mensaje de error coherente del último error generado
    • ingres_errsqlstate - Obtiene el código del último error SQLSTATE generado
    • ingres_escape_string - Escapa caracteres especiales para usuarlos en una consulta
    • ingres_execute - Ejecuta una consulta preparada
    • ingres_fetch_array - Obtiene una fila de resultados en un array
    • ingres_fetch_assoc - Obtienen una fila de resultados en un array asociativo
    • ingres_fetch_object - Obtiene una fila de resultados en un objeto
    • ingres_fetch_proc_return - Obtiene el valor de retorno de una llamada a un procedimiento
    • ingres_fetch_row - Obtiene una fila de resultados en un array enumerado
    • ingres_field_length - Obtiene la longitud de un campo
    • ingres_field_name - Obtiene el nombre de un campo de un resultado de una consulta
    • ingres_field_nullable - Comprueba si un campo puede contener valores null
    • ingres_field_precision - Obtiene la precisión de un campo
    • ingres_field_scale - Obtiene la escala de un campo
    • ingres_field_type - Obtiene el tipo de un campo de un resultado de una consulta
    • ingres_free_result - Libera los recursos asociados a un identificador de resultados
    • ingres_next_error - Obtiene el siguiente error de Ingres
    • ingres_num_fields - Obtiene el número de campos devueltos por la última consulta
    • ingres_num_rows - Obtener el número de filas afectadas o devueltas por una consulta
    • ingres_pconnect - Abre una conexión persistente a una base de datos de Ingres
    • ingres_prepare - Prepara una consulta para su ejecución posterior
    • ingres_query - Envía una consulta SQL a Ingres
    • ingres_result_seek - Establece la posición de una fila antes de obtener datos
    • ingres_rollback - Revierte una transacción
    • ingres_set_environment - Establece las características de entorno que controlan las opciones de salida
    • ingres_unbuffered_query - Envía una consulta SQL no almacenada en búfer a Ingres
    • ini_alter - Alias de ini_set
    • ini_get - Devuelve el valor de una directiva de configuración
    • ini_get_all - Obtiene todas las opciones de configuración
    • ini_restore - Restablece el valor de una opción de configuración
    • ini_set - Establece el valor de una directiva de configuración
    • inotify_add_watch - Añade un seguimiento a una instancia inotify inicializada
    • inotify_init - Inicializa una instancia inotify
    • inotify_queue_len - Devuelve un número superior a cero si hay eventos pendientes
    • inotify_read - Lee eventos de una instancia inotify
    • inotify_rm_watch - Elimina un seguimiento existente de una instancia inotify
    • interface_exists - Comprueba si una interfaz ha sido definida
    • IntlBreakIterator::createCharacterInstance - Create break iterator for boundaries of combining character sequences
    • IntlBreakIterator::createCodePointInstance - Create break iterator for boundaries of code points
    • IntlBreakIterator::createLineInstance - Create break iterator for logically possible line breaks
    • IntlBreakIterator::createSentenceInstance - Create break iterator for sentence breaks
    • IntlBreakIterator::createTitleInstance - Create break iterator for title-casing breaks
    • IntlBreakIterator::createWordInstance - Create break iterator for word breaks
    • IntlBreakIterator::current - Get index of current position
    • IntlBreakIterator::first - Set position to the first character in the text
    • IntlBreakIterator::following - Advance the iterator to the first boundary following specified offset
    • IntlBreakIterator::getErrorCode - Get last error code on the object
    • IntlBreakIterator::getErrorMessage - Get last error message on the object
    • IntlBreakIterator::getLocale - Get the locale associated with the object
    • IntlBreakIterator::getPartsIterator - Create iterator for navigating fragments between boundaries
    • IntlBreakIterator::getText - Get the text being scanned
    • IntlBreakIterator::isBoundary - Tell whether an offset is a boundaryʼs offset
    • IntlBreakIterator::last - Set the iterator position to index beyond the last character
    • IntlBreakIterator::next - Advance the iterator the next boundary
    • IntlBreakIterator::preceding - Set the iterator position to the first boundary before an offset
    • IntlBreakIterator::previous - Set the iterator position to the boundary immediately before the current
    • IntlBreakIterator::setText - Set the text being scanned
    • IntlBreakIterator::__construct - Private constructor for disallowing instantiation
    • IntlCalendar::add - Add a (signed) amount of time to a field
    • IntlCalendar::after - Whether this objectʼs time is after that of the passed object
    • IntlCalendar::before - Whether this objectʼs time is before that of the passed object
    • IntlCalendar::clear - Clear a field or all fields
    • IntlCalendar::createInstance - Create a new IntlCalendar
    • IntlCalendar::equals - Compare time of two IntlCalendar objects for equality
    • IntlCalendar::fieldDifference - Calculate difference between given time and this objectʼs time
    • IntlCalendar::fromDateTime - Create an IntlCalendar from a DateTime object or string
    • IntlCalendar::get - Get the value for a field
    • IntlCalendar::getActualMaximum - The maximum value for a field, considering the objectʼs current time
    • IntlCalendar::getActualMinimum - The minimum value for a field, considering the objectʼs current time
    • IntlCalendar::getAvailableLocales - Get array of locales for which there is data
    • IntlCalendar::getDayOfWeekType - Tell whether a day is a weekday, weekend or a day that has a transition between the two
    • IntlCalendar::getErrorCode - Get last error code on the object
    • IntlCalendar::getErrorMessage - Get last error message on the object
    • IntlCalendar::getFirstDayOfWeek - Get the first day of the week for the calendarʼs locale
    • IntlCalendar::getGreatestMinimum - Get the largest local minimum value for a field
    • IntlCalendar::getKeywordValuesForLocale - Get set of locale keyword values
    • IntlCalendar::getLeastMaximum - Get the smallest local maximum for a field
    • IntlCalendar::getLocale - Get the locale associated with the object
    • IntlCalendar::getMaximum - Get the global maximum value for a field
    • IntlCalendar::getMinimalDaysInFirstWeek - Get minimal number of days the first week in a year or month can have
    • IntlCalendar::getMinimum - Get the global minimum value for a field
    • IntlCalendar::getNow - Get number representing the current time
    • IntlCalendar::getRepeatedWallTimeOption - Get behavior for handling repeating wall time
    • IntlCalendar::getSkippedWallTimeOption - Get behavior for handling skipped wall time
    • IntlCalendar::getTime - Get time currently represented by the object
    • IntlCalendar::getTimeZone - Get the objectʼs timezone
    • IntlCalendar::getType - Get the calendar type
    • IntlCalendar::getWeekendTransition - Get time of the day at which weekend begins or ends
    • IntlCalendar::inDaylightTime - Whether the objectʼs time is in Daylight Savings Time
    • IntlCalendar::isEquivalentTo - Whether another calendar is equal but for a different time
    • IntlCalendar::isLenient - Whether date/time interpretation is in lenient mode
    • IntlCalendar::isSet - Whether a field is set
    • IntlCalendar::isWeekend - Whether a certain date/time is in the weekend
    • IntlCalendar::roll - Add value to field without carrying into more significant fields
    • IntlCalendar::set - Set a time field or several common fields at once
    • IntlCalendar::setFirstDayOfWeek - Set the day on which the week is deemed to start
    • IntlCalendar::setLenient - Set whether date/time interpretation is to be lenient
    • IntlCalendar::setRepeatedWallTimeOption - Set behavior for handling repeating wall times at negative timezone offset transitions
    • IntlCalendar::setSkippedWallTimeOption - Set behavior for handling skipped wall times at positive timezone offset transitions
    • IntlCalendar::setTime - Set the calendar time in milliseconds since the epoch
    • IntlCalendar::setTimeZone - Set the timezone used by this calendar
    • IntlCalendar::toDateTime - Convert an IntlCalendar into a DateTime object
    • IntlCalendar::__construct - Private constructor for disallowing instantiation
    • IntlCodePointBreakIterator::getLastCodePoint - Get last code point passed over after advancing or receding the iterator
    • IntlDateFormatter::create - Crear un formateador de fechas
    • IntlDateFormatter::format - Formatear el valor fecha/hora como una cadena
    • IntlDateFormatter::formatObject - Formatea un objeto
    • IntlDateFormatter::getCalendar - Obtener el tipo de calendario usado por el objeto IntlDateFormatter
    • IntlDateFormatter::getCalendarObject - Obtener una copia del objeto calendario del formateador
    • IntlDateFormatter::getDateType - Obtener el tipo de fecha usada por un formateador de IntlDateFormatter
    • IntlDateFormatter::getErrorCode - Obtener el código del error de la última operación
    • IntlDateFormatter::getErrorMessage - Obtener el texto del error de la última operación
    • IntlDateFormatter::getLocale - Obtener la configuración regional usada por un formateador
    • IntlDateFormatter::getPattern - Obtener el patrón utilizado por un formateador de IntlDateFormatter
    • IntlDateFormatter::getTimeType - Obtener el tipo de hora usada por un formateador de IntlDateFormatter
    • IntlDateFormatter::getTimeZone - Obtener la zona horaria del formateador
    • IntlDateFormatter::getTimeZoneId - Obtener el ID de la zona horario usada por un formateador de IntlDateFormatter
    • IntlDateFormatter::isLenient - Obtener la tolerancia usada por un formateador de IntlDateFormatter
    • IntlDateFormatter::localtime - Convertir una cadena en un valor de marca de tiempo basado en un campo
    • IntlDateFormatter::parse - Convertir una cadena en un valor de marca de tiempo
    • IntlDateFormatter::setCalendar - Establecer el tipo de calendario usado por el formateador
    • IntlDateFormatter::setLenient - Establecer la tolerancia del analizador
    • IntlDateFormatter::setPattern - Establecer el patrón utilizado por el formateador de IntlDateFormatter
    • IntlDateFormatter::setTimeZone - Establece la zona horaria del formateador
    • IntlDateFormatter::setTimeZoneId - Establecer la zona horaria a usar
    • IntlIterator::current - Get the current element
    • IntlIterator::key - Get the current key
    • IntlIterator::next - Move forward to the next element
    • IntlIterator::rewind - Rewind the iterator to the first element
    • IntlIterator::valid - Check if curent position is valid
    • IntlPartsIterator::getBreakIterator - Get IntlBreakIterator backing this parts iterator
    • IntlRuleBasedBreakIterator::getBinaryRules - Get the binary form of compiled rules
    • IntlRuleBasedBreakIterator::getRules - Get the rule set used to create this object
    • IntlRuleBasedBreakIterator::getRuleStatus - Get the largest status value from the break rules that determined the current break position
    • IntlRuleBasedBreakIterator::getRuleStatusVec - Get the status values from the break rules that determined the current break position
    • IntlRuleBasedBreakIterator::__construct - Create iterator from ruleset
    • IntlTimeZone::countEquivalentIDs - Get the number of IDs in the equivalency group that includes the given ID
    • IntlTimeZone::createDefault - Create a new copy of the default timezone for this host
    • IntlTimeZone::createEnumeration - Get an enumeration over time zone IDs associated with the given country or offset
    • IntlTimeZone::createTimeZone - Create a timezone object for the given ID
    • IntlTimeZone::fromDateTimeZone - Create a timezone object from DateTimeZone
    • IntlTimeZone::getCanonicalID - Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID
    • IntlTimeZone::getDisplayName - Get a name of this time zone suitable for presentation to the user
    • IntlTimeZone::getDSTSavings - Get the amount of time to be added to local standard time to get local wall clock time
    • IntlTimeZone::getEquivalentID - Get an ID in the equivalency group that includes the given ID
    • IntlTimeZone::getErrorCode - Get last error code on the object
    • IntlTimeZone::getErrorMessage - Get last error message on the object
    • IntlTimeZone::getGMT - Create GMT (UTC) timezone
    • IntlTimeZone::getID - Get timezone ID
    • IntlTimeZone::getOffset - Get the time zone raw and GMT offset for the given moment in time
    • IntlTimeZone::getRawOffset - Get the raw GMT offset (before taking daylight savings time into account
    • IntlTimeZone::getTZDataVersion - Get the timezone data version currently used by ICU
    • IntlTimeZone::hasSameRules - Check if this zone has the same rules and offset as another zone
    • IntlTimeZone::toDateTimeZone - Convert to DateTimeZone object
    • IntlTimeZone::useDaylightTime - Check if this time zone uses daylight savings time
    • intl_error_name - Obtiene un nombre simbólico a partir de un código de error dado
    • intl_get_error_code - Obtiene el último código de error
    • intl_get_error_message - Obtener una descripción del último error
    • intl_is_failure - Comprueba si el código de error dado indica un fallo
    • intval - Obtiene el valor entero de una variable
    • in_array - Comprueba si un valor existe en un array usando comparación flexible
    • ip2long - Convierte una cadena que contiene una dirección con puntos del Protocolo de Internet (IPv4) en una dirección apropiada
    • iptcembed - Incluir información IPTC binaria en una imagen JPEG
    • iptcparse - Conviertir un bloque IPTC binario en simples etiquetas
    • isset - Determina si una variable está definida y no es NULL
    • is_a - Comprueba si un objeto es de una clase o tiene esta clase como una de sus madres
    • is_array - Comprueba si una variable es un array
    • is_bool - Comprueba si una variable es de tipo booleano
    • is_callable - Verificar que los contenidos de una variable puedan ser llamados como una función
    • is_dir - Indica si el nombre de archivo es un directorio
    • is_double - Alias de is_float
    • is_executable - Indica si el nombre de archivo es ejecutable
    • is_file - Indica si el nombre de fichero es un fichero normal
    • is_finite - Encuentra si un valor es un número finito legal
    • is_float - Comprueba si el tipo de una variable es float
    • is_infinite - Encuentra si un valor es infinito
    • is_int - Comprueba si el tipo de una variable es integer
    • is_integer - Alias de is_int
    • is_link - Indica si el nombre de archivo es un enlace simbólico
    • is_long - Alias de is_int
    • is_nan - Encuentra si un valor no es un número
    • is_null - Comprueba si una variable es NULL
    • is_numeric - Comprueba si una variable es un número o un string numérico
    • is_object - Comprueba si una variable es un objeto
    • is_readable - Indica si un fichero existe y es legible
    • is_real - Alias de is_float
    • is_resource - Comprueba si una variable es un recurso
    • is_scalar - Comprueba si una variable es escalar
    • is_soap_fault - Comprueba si una llamada SOAP ha fallado
    • is_string - Comprueba si una variable es de tipo string
    • is_subclass_of - Verifica si el objeto tiene esta clase como uno de sus padres
    • is_tainted - Comprobar si un string está corrompido
    • is_uploaded_file - Indica si el archivo fue subido mediante HTTP POST
    • is_writable - Indica si un archivo existe y es escribible
    • is_writeable - Alias de is_writable
    • Iterator::current - Devuelve el elemento actual
    • Iterator::key - Devuelve la clave del elemento actual
    • Iterator::next - Avanza al siguiente elemento
    • Iterator::rewind - Rebobine la Iterator al primer elemento
    • Iterator::valid - Comprueba si la posición actual es válido
    • IteratorAggregate::getIterator - Recuperar un Iterator externo
    • IteratorIterator::current - Obtener el valor actual
    • IteratorIterator::getInnerIterator - Obtener el iterador interno
    • IteratorIterator::key - Obtener la clave del elemento actual
    • IteratorIterator::next - Avanzar al siguiente elemento
    • IteratorIterator::rewind - Rebobinar al primer elemento
    • IteratorIterator::valid - Comprobar si el iterador es válido
    • IteratorIterator::__construct - Crear un iterador de cualquier cosa que se pueda recorrer
    • iterator_apply - Llama una función para cada elemento en un iterador
    • iterator_count - Contar los elementos en un iterador
    • iterator_to_array - Copia el iterador en un array
  • j
    • java_last_exception_clear - Borrar la última excepción de Java
    • java_last_exception_get - Obtener la última excepción de Java
    • JDDayOfWeek - Devuelve el día de la semana
    • JDMonthName - Devuelve el nombre de un mes
    • JDToFrench - Convierte una Fecha Juliana al Calendario Republicano Francés
    • JDToGregorian - Convierte una Fecha Juliana en una fecha Gregoriana
    • jdtojewish - Convierte una Fecha Juliana a una fecha del Calendario Judío
    • JDToJulian - Convierte una Fecha Juliana a una fecha del Calendario Juliano
    • jdtounix - Convierte una Fecha Juliana a una fecha Unix
    • JewishToJD - Convierte una fecha del Calendario Judío a una Fecha Juliana
    • join - Alias de implode
    • jpeg2wbmp - Convertir un archiov de imagen JPEG a un archivo de imagen WBMP
    • JsonSerializable::jsonSerialize - Especifica los datos que deberían serializarse para JSON
    • json_decode - Decodifica un string JSON
    • json_encode - Retorna la representación JSON representation del valor dado
    • json_last_error - Devuelve el último error que ocurrió
    • json_last_error_msg - Devuelve el string con el error de la última llamada a json_encode() o a json_decode()
    • Judy::byCount - Localiza el enésimo indice presente en el array Judy
    • Judy::count - Cuenta el número de elementos en el array Judy
    • Judy::first - Busca el primer índice del array Judy
    • Judy::firstEmpty - Búsqueda de la primera ausencia de índice en el array Judy
    • Judy::free - Libera todo el array Judy
    • Judy::getType - Devuelve el tipo del array actual Judy
    • Judy::last - Busca el último índice en el array Judy
    • Judy::lastEmpty - Search for the last absent index in the Judy array
    • Judy::memoryUsage - Devuelve la memoria usada por el array Judy
    • Judy::next - Busca por el índice siguiente en el array Judy
    • Judy::nextEmpty - Search for the next absent index in the Judy array
    • Judy::offsetExists - Comprueba si existe un índice
    • Judy::offsetGet - Offset a recuperar
    • Judy::offsetSet - Offset a establecer
    • Judy::offsetUnset - Offset a destruir
    • Judy::prev - Busca el índice anterior en el array Judy
    • Judy::prevEmpty - Search for the previous absent index in the Judy array
    • Judy::size - Devuelve el tamaño actual del array Judy
    • Judy::__construct - Construye un nuevo objeto Judy
    • Judy::__destruct - Destruye un objeto Judy
    • judy_type - Devuelve el tipo de un array de Judy
    • judy_version - Devolver o imprimir la versión actual Judy de PHP
    • JulianToJD - Convierte una fecha del Calendario Juliano a una Fecha Juliana
  • k
    • kadm5_chpass_principal - Changes the principal's password
    • kadm5_create_principal - Creates a kerberos principal with the given parameters
    • kadm5_delete_principal - Deletes a kerberos principal
    • kadm5_destroy - Closes the connection to the admin server and releases all related resources
    • kadm5_flush - Flush all changes to the Kerberos database
    • kadm5_get_policies - Gets all policies from the Kerberos database
    • kadm5_get_principal - Gets the principal's entries from the Kerberos database
    • kadm5_get_principals - Gets all principals from the Kerberos database
    • kadm5_init_with_password - Opens a connection to the KADM5 library
    • kadm5_modify_principal - Modifies a kerberos principal with the given parameters
    • key - Obtiene una clave de un array
    • key_exists - Alias de array_key_exists
    • krsort - Ordena un array por clave en orden inverso
    • ksort - Ordena un array por clave
    • KTaglib_ID3v2_AttachedPictureFrame::getDescription - Devuelve una descripción de la imagen en un marco de fotos
    • KTaglib_ID3v2_AttachedPictureFrame::getMimeType - Devuelve el tipo mime de la imagen
    • KTaglib_ID3v2_AttachedPictureFrame::getType - Devuelve el tipo de la imagen
    • KTaglib_ID3v2_AttachedPictureFrame::savePicture - Guarda la imagen en un archivo
    • KTaglib_ID3v2_AttachedPictureFrame::setMimeType - Establece el tipo mime de la imagen
    • KTaglib_ID3v2_AttachedPictureFrame::setPicture - Establece el marco de la imagen a la imagen dada
    • KTaglib_ID3v2_AttachedPictureFrame::setType - Establecer el tipo de la imagen
    • KTaglib_ID3v2_Frame::getSize - Devuelve el tamaño de el frame en bytes
    • KTaglib_ID3v2_Frame::__toString - Devuelve un string de representación de el frame
    • KTaglib_ID3v2_Tag::addFrame - Agregar un frame a la etiqueta ID3v2
    • KTaglib_ID3v2_Tag::getFrameList - Devuelve un array de frames ID3v2, asociados con la etiqueta ID3v2
    • KTaglib_MPEG_AudioProperties::getBitrate - Devuelve el bitrate del archivo MPEG
    • KTaglib_MPEG_AudioProperties::getChannels - Devuelve la cantidad de canales de un archivo MPEG
    • KTaglib_MPEG_AudioProperties::getLayer - Devuelve la capa de un archivo MPEG
    • KTaglib_MPEG_AudioProperties::getLength - Devuelve la duración de un archivo MPEG
    • KTaglib_MPEG_AudioProperties::getSampleBitrate - Devuelve la frecuencia de muestreo o tasa de bits de un archivo MPEG
    • KTaglib_MPEG_AudioProperties::getVersion - Devuelve la versión de un archivo MPEG
    • KTaglib_MPEG_AudioProperties::isCopyrighted - Devuelve el estado de derecho de autor de un archivo MPEG
    • KTaglib_MPEG_AudioProperties::isOriginal - Devuelve si el archivo está marcado como el archivo original
    • KTaglib_MPEG_AudioProperties::isProtectionEnabled - Devuelve si los mecanismos de protección de un archivo MPEG están habilitados
    • KTaglib_MPEG_File::getAudioProperties - Devuelve un objeto que proporciona acceso a las propiedades de audio
    • KTaglib_MPEG_File::getID3v1Tag - Devuelve un objeto que representa una etiqueta ID3v1
    • KTaglib_MPEG_File::getID3v2Tag - Devuelve un objeto ID3v2
    • KTaglib_MPEG_File::__construct - Abre un fichero nuevo
    • KTaglib_Tag::getAlbum - Devuelve la cadena álbum de una etiqueta ID3
    • KTaglib_Tag::getArtist - Devuelve la cadena artista de una etiqueta ID3
    • KTaglib_Tag::getComment - Devuelve el comentario de una etiqueta ID3
    • KTaglib_Tag::getGenre - Devuelve el género de una etiqueta ID3
    • KTaglib_Tag::getTitle - Devuelve la cadena de título de una etiqueta ID3
    • KTaglib_Tag::getTrack - Devuelve el número de pista de una etiqueta ID3
    • KTaglib_Tag::getYear - Devuelve el año de una etiqueta ID3
    • KTaglib_Tag::isEmpty - Devuelve true si la etiqueta está vacía
  • l
    • Lapack::eigenValues - Esta función devuelve los valores propios de una matriz cuadrada dada
    • Lapack::identity - Devuelve una matriz identidad
    • Lapack::leastSquaresByFactorisation - Calcula la solución de mínimos cuadrados lineal de una matriz usando la factorización QR
    • Lapack::leastSquaresBySVD - Resuelve un problema de mínimos cuadrados lineal, usando la descomposición en valores singulares
    • Lapack::pseudoInverse - Calcula la inversa de una matriz
    • Lapack::singularValues - Calcula los valores singulares de una matriz
    • Lapack::solveLinearEquation - Resuelve un sistema de ecuaciones lineales
    • lcfirst - Pasa a minúscula el primer caracter de un string
    • lcg_value - Generador lineal congruente combinado
    • lchgrp - Cambia el grupo de un enlace simbólico
    • lchown - Cambia el propietario de un enlace simbólico
    • ldap_8859_to_t61 - Traducir caracteres 8859 a caracteres t61
    • ldap_add - Agregar entradas al directorio de LDAP
    • ldap_bind - Realiza la autenticación con un servidor LDAP
    • ldap_close - Alias de ldap_unbind
    • ldap_compare - Comparar el valor del atributo encontrado en la entrada que se especificó con un DN
    • ldap_connect - Abre una conexión a un servidor LDAP
    • ldap_control_paged_result - Send LDAP pagination control
    • ldap_control_paged_result_response - Retrieve the LDAP pagination cookie
    • ldap_count_entries - Contar el número de entradas en una búsqueda
    • ldap_delete - Eliminar una entrada de un directorio
    • ldap_dn2ufn - Convertir un DN a un formato de nombramiento amigable al usuario
    • ldap_err2str - Convertir un número de error de LDAP a una cadena con un mensaje de error
    • ldap_errno - Devuelve el número de error LDAP del último comando LDAP
    • ldap_error - Devuelve el mensaje de error de LDAP del último comando LDAP
    • ldap_explode_dn - Divide un DN en sus partes componentes
    • ldap_first_attribute - Devolver el primer atributo
    • ldap_first_entry - Devolver el primer resultado de identificación
    • ldap_first_reference - Devolver la primera referencia
    • ldap_free_result - Liberar la memoria de resultado
    • ldap_get_attributes - Obtener atributos de una entrada de búsqueda de resultados
    • ldap_get_dn - Get the DN of a result entry
    • ldap_get_entries - Obtener todas las entradas de los resultados
    • ldap_get_option - Obtener el valor actual para la opción dada
    • ldap_get_values - Obtener todos los valores de una entrada de resultados
    • ldap_get_values_len - Obtener todos los valores binarios desde una entrada de resultados
    • ldap_list - Búsqueda de un solo nivel
    • ldap_modify - Modificar una entrada de LDAP
    • ldap_mod_add - Agregar valores de atributo a los atributos actuales
    • ldap_mod_del - Borrar valores de atributo de los atributos actuales
    • ldap_mod_replace - Reemplazar valores de atributos con valores nuevos
    • ldap_next_attribute - Obtener el siguiente atributo en un resultado
    • ldap_next_entry - Obtener el siguiente resultado de entrada
    • ldap_next_reference - Obtener la siguiente referencia
    • ldap_parse_reference - Extraer información de la entrada de referencia
    • ldap_parse_result - Extraer información del resultado
    • ldap_read - Leer una entrada
    • ldap_rename - Modificar el nombre de una entrada
    • ldap_sasl_bind - Unirse a un directorio LDAP utilizando SASL
    • ldap_search - Buscar el árbol LDAP
    • ldap_set_option - Establecer el valor de la opción proporcionada
    • ldap_set_rebind_proc - Establece una función de devolución de llamada para realizar revinculaciones en el rastreo referencial
    • ldap_sort - Clasificar entradas de resultados de LDAP
    • ldap_start_tls - Inciar TLS
    • ldap_t61_to_8859 - Traduce del conjunto de caracteres t61 al conjunto de caracteres 8859
    • ldap_unbind - Desenlazar de directorio LDAP
    • levenshtein - Cálculo de la distancia Levenshtein entre dos strings
    • libxml_clear_errors - Limpia el buffer de errores de libxml
    • libxml_disable_entity_loader - Deshabilita la capacidad de cargar entidades externas
    • libxml_get_errors - Recupera un array de errores
    • libxml_get_last_error - Recupera el último error de libxml
    • libxml_set_external_entity_loader - Cambia el cargador externo por defecto de entidades
    • libxml_set_streams_context - Configura el contexto de flujo para el próximo documento libxml cargado o escrito
    • libxml_use_internal_errors - Deshabilita errores libxml y permite al usuario extraer información de errores según sea necesario
    • LimitIterator::current - Obtiene el elemento actual
    • LimitIterator::getInnerIterator - Obtiene el iterador interno
    • LimitIterator::getPosition - Devuelve la posición actual
    • LimitIterator::key - Obtiene la clave actual
    • LimitIterator::next - Mueve el iterador a la siguiente posición
    • LimitIterator::rewind - Rebobina el iterador a un punto específicado
    • LimitIterator::seek - Mueve el apuntador interno a la posición dada
    • LimitIterator::valid - Comprobar si el elemento actual es válido
    • LimitIterator::__construct - Construye un LimitIterator
    • link - Crea un enlace duro
    • linkinfo - Obtiene información acerca de un enlace
    • list - Asigna variables como si fuera un array
    • Locale::acceptFromHttp - Intentar encontrar la mejor configuración regional basada en la cabecera "Accept-Language" de HTTP
    • Locale::canonicalize - Canonicalize the locale string
    • Locale::composeLocale - Devolver un ID regional correctamente ordenado y delimitado
    • Locale::filterMatches - Comprobar si unfiltro de etiquetas de lenguaje coincide con una configuración regional
    • Locale::getAllVariants - Obtener las variantes de la configuración regional de entrada
    • Locale::getDefault - Obtener el valor de la configuración regional predeterminada del identificador global 'default_locale' de INTL
    • Locale::getDisplayLanguage - Devolver un nombre manifiesto debidamente localizado del lenguaje de la configuración regional de entrada
    • Locale::getDisplayName - Devolver un nombre manifiesto debidamente localizado de la configuración regional de entrada
    • Locale::getDisplayRegion - Devolver un nombre manifiesto debidamente localizado de la región de la configuración regional de entrada
    • Locale::getDisplayScript - Devolver un nombre manifiesto debidamente localizado de la escritura de la configuración regional de entrada
    • Locale::getDisplayVariant - Devolver un nombre manifiesto debidamente localizado de las variantes de la configuración regional de entrada
    • Locale::getKeywords - Obtener las palabras clave de la configuración regional de entrada
    • Locale::getPrimaryLanguage - Obtener el lenguaje principal de la configuración regional de entrada
    • Locale::getRegion - Obtener la región de la configuración local de entrada
    • Locale::getScript - Obtener la escritura de la configuración regional de entrada
    • Locale::lookup - Buscar en la lista de etiquetas de lenguaje la mejor coincidencia para el lenguaje
    • Locale::parseLocale - Devolver un array de claves-valores de los elementos de las subetiquetas del ID regional
    • Locale::setDefault - Establecer la configuración regional predeterminada en tiempo de ejecución
    • localeconv - Obtener información sobre el formato numérico
    • localtime - Obtiene fecha y hora local
    • log - Logaritmo natural
    • log1p - Devuelve log(1 + numero), calculado de tal forma que no pierde precisión incluso cuando el valor del numero se aproxima a cero.
    • log10 - Logaritmo en base 10
    • long2ip - Convierte una dirección de red (IPv4) en una cadena de texto en formato con puntos estándar de internet
    • lstat - Da información acerca de un archivo o enlace simbólico
    • ltrim - Retira espacios en blanco (u otros caracteres) del inicio de un string
    • Lua::assign - Asigna una variable de PHP a Lua
    • Lua::call - Llama funciones de Lua
    • Lua::eval - Evalúa una cadena de texto como código Lua
    • Lua::getVersion - Obtiene la versión
    • Lua::include - Analiza un fichero script Lua
    • Lua::registerCallback - Registra una función PHP en Lua
    • Lua::__construct - Constructor de Lua
    • LuaClosure::__invoke - invoke luaclosure
    • lzf_compress - Compresión LZF
    • lzf_decompress - Descompresión LZF
    • lzf_optimized_for - Determina para qué fue optimizada la extensión LZF
  • m
    • magic_quotes_runtime - Alias de set_magic_quotes_runtime
    • mail - Enviar correo
    • mailparse_determine_best_xfer_encoding - Obtiene la mejor forma de codificar
    • mailparse_msg_create - Crea un recurso de correo mime
    • mailparse_msg_extract_part - Extrae/decodifica una sección de mensaje
    • mailparse_msg_extract_part_file - Extrae/decodifica una sección de mensaje
    • mailparse_msg_extract_whole_part_file - Extrae una sección del mensaje incluyendo cabeceras sin descodificar la transferencia codificada
    • mailparse_msg_free - Libera un recurso MIME
    • mailparse_msg_get_part - Devuelve un gestor sobre una sección dada en un mensaje mime
    • mailparse_msg_get_part_data - Devuelve una matriz asociativa de información sobre el mensaje
    • mailparse_msg_get_structure - Devuelve una matriz de nombres de sección mime en el mensaje dado
    • mailparse_msg_parse - Procesar datos incrementalmente sobre un búfer
    • mailparse_msg_parse_file - Procesa un archivo
    • mailparse_rfc822_parse_addresses - Procesa direcciones compatibles con RFC 822
    • mailparse_stream_encode - Secuencia datos desde un apuntador de archivo, codifica y escribe a fp_destino
    • mailparse_uudecode_all - Procesa los datos desde un apuntador a archivo y extrae cada archivo embebido con codificación uu
    • main - Función main falsa
    • max - Encontrar el valor más alto
    • maxdb_affected_rows - Gets the number of affected rows in a previous MaxDB operation
    • maxdb_autocommit - Turns on or off auto-commiting database modifications
    • maxdb_bind_param - Alias de maxdb_stmt_bind_param
    • maxdb_bind_result - Alias de maxdb_stmt_bind_result
    • maxdb_change_user - Changes the user of the specified database connection
    • maxdb_character_set_name - Returns the default character set for the database connection
    • maxdb_client_encoding - Alias de maxdb_character_set_name
    • maxdb_close - Cierra una conexión de base de datos previamente abierta
    • maxdb_close_long_data - Alias de maxdb_stmt_close_long_data
    • maxdb_commit - Commits the current transaction
    • maxdb_connect - Open a new connection to the MaxDB server
    • maxdb_connect_errno - Returns the error code from last connect call
    • maxdb_connect_error - Returns a string description of the last connect error
    • maxdb_data_seek - Adjusts the result pointer to an arbitary row in the result
    • maxdb_debug - Performs debugging operations
    • maxdb_disable_reads_from_master - Disable reads from master
    • maxdb_disable_rpl_parse - Disable RPL parse
    • maxdb_dump_debug_info - Dump debugging information into the log
    • maxdb_embedded_connect - Open a connection to an embedded MaxDB server
    • maxdb_enable_reads_from_master - Enable reads from master
    • maxdb_enable_rpl_parse - Enable RPL parse
    • maxdb_errno - Returns the error code for the most recent function call
    • maxdb_error - Returns a string description of the last error
    • maxdb_escape_string - Alias de maxdb_real_escape_string
    • maxdb_execute - Alias de maxdb_stmt_execute
    • maxdb_fetch - Alias de maxdb_stmt_fetch
    • maxdb_fetch_array - Fetch a result row as an associative, a numeric array, or both
    • maxdb_fetch_assoc - Fetch a result row as an associative array
    • maxdb_fetch_field - Returns the next field in the result set
    • maxdb_fetch_fields - Returns an array of resources representing the fields in a result set
    • maxdb_fetch_field_direct - Fetch meta-data for a single field
    • maxdb_fetch_lengths - Returns the lengths of the columns of the current row in the result set
    • maxdb_fetch_object - Returns the current row of a result set as an object
    • maxdb_fetch_row - Get a result row as an enumerated array
    • maxdb_field_count - Returns the number of columns for the most recent query
    • maxdb_field_seek - Set result pointer to a specified field offset
    • maxdb_field_tell - Get current field offset of a result pointer
    • maxdb_free_result - Frees the memory associated with a result
    • maxdb_get_client_info - Returns the MaxDB client version as a string
    • maxdb_get_client_version - Get MaxDB client info
    • maxdb_get_host_info - Returns a string representing the type of connection used
    • maxdb_get_metadata - Alias de maxdb_stmt_result_metadata
    • maxdb_get_proto_info - Returns the version of the MaxDB protocol used
    • maxdb_get_server_info - Returns the version of the MaxDB server
    • maxdb_get_server_version - Returns the version of the MaxDB server as an integer
    • maxdb_info - Retrieves information about the most recently executed query
    • maxdb_init - Initializes MaxDB and returns an resource for use with maxdb_real_connect
    • maxdb_insert_id - Returns the auto generated id used in the last query
    • maxdb_kill - Disconnects from a MaxDB server
    • maxdb_master_query - Enforce execution of a query on the master in a master/slave setup
    • maxdb_more_results - Check if there any more query results from a multi query
    • maxdb_multi_query - Performs a query on the database
    • maxdb_next_result - Prepare next result from multi_query
    • maxdb_num_fields - Get the number of fields in a result
    • maxdb_num_rows - Gets the number of rows in a result
    • maxdb_options - Set options
    • maxdb_param_count - Alias de maxdb_stmt_param_count
    • maxdb_ping - Pings a server connection, or tries to reconnect if the connection has gone down
    • maxdb_prepare - Prepare an SQL statement for execution
    • maxdb_query - Performs a query on the database
    • maxdb_real_connect - Opens a connection to a MaxDB server
    • maxdb_real_escape_string - Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
    • maxdb_real_query - Execute an SQL query
    • maxdb_report - Enables or disables internal report functions
    • maxdb_rollback - Rolls back current transaction
    • maxdb_rpl_parse_enabled - Check if RPL parse is enabled
    • maxdb_rpl_probe - RPL probe
    • maxdb_rpl_query_type - Returns RPL query type
    • maxdb_select_db - Selects the default database for database queries
    • maxdb_send_long_data - Alias de maxdb_stmt_send_long_data
    • maxdb_send_query - Send the query and return
    • maxdb_server_end - Shut down the embedded server
    • maxdb_server_init - Initialize embedded server
    • maxdb_set_opt - Alias de maxdb_options
    • maxdb_sqlstate - Returns the SQLSTATE error from previous MaxDB operation
    • maxdb_ssl_set - Used for establishing secure connections using SSL
    • maxdb_stat - Gets the current system status
    • maxdb_stmt_affected_rows - Returns the total number of rows changed, deleted, or inserted by the last executed statement
    • maxdb_stmt_bind_param - Binds variables to a prepared statement as parameters
    • maxdb_stmt_bind_result - Binds variables to a prepared statement for result storage
    • maxdb_stmt_close - Closes a prepared statement
    • maxdb_stmt_close_long_data - Ends a sequence of maxdb_stmt_send_long_data
    • maxdb_stmt_data_seek - Seeks to an arbitray row in statement result set
    • maxdb_stmt_errno - Returns the error code for the most recent statement call
    • maxdb_stmt_error - Returns a string description for last statement error
    • maxdb_stmt_execute - Executes a prepared Query
    • maxdb_stmt_fetch - Fetch results from a prepared statement into the bound variables
    • maxdb_stmt_free_result - Frees stored result memory for the given statement handle
    • maxdb_stmt_init - Initializes a statement and returns an resource for use with maxdb_stmt_prepare
    • maxdb_stmt_num_rows - Return the number of rows in statements result set
    • maxdb_stmt_param_count - Returns the number of parameter for the given statement
    • maxdb_stmt_prepare - Prepare an SQL statement for execution
    • maxdb_stmt_reset - Resets a prepared statement
    • maxdb_stmt_result_metadata - Returns result set metadata from a prepared statement
    • maxdb_stmt_send_long_data - Send data in blocks
    • maxdb_stmt_sqlstate - Returns SQLSTATE error from previous statement operation
    • maxdb_stmt_store_result - Transfers a result set from a prepared statement
    • maxdb_store_result - Transfers a result set from the last query
    • maxdb_thread_id - Returns the thread ID for the current connection
    • maxdb_thread_safe - Devuelve si la seguridad de enlace se le da o no
    • maxdb_use_result - Initiate a result set retrieval
    • maxdb_warning_count - Returns the number of warnings from the last query for the given link
    • mb_check_encoding - Comprueba si el string es válido para a la codificación especificada
    • mb_convert_case - Realiza una conversión a mayúsculas/minúsculas de un string
    • mb_convert_encoding - Convierte una codificación de caracteres
    • mb_convert_kana - Convierte un "kana" a otro ("zen-kaku", "han-kaku" y más)
    • mb_convert_variables - Convierte códigos de caracteres a variable/s
    • mb_decode_mimeheader - Decodifica un string en el campo de cabecera MIME
    • mb_decode_numericentity - Decodifica referencias a string numéricas de HTML en caracteres
    • mb_detect_encoding - Detecta la codificación de caracteres
    • mb_detect_order - Establece/obtiene el orden de detección de codificaciones de caracteres
    • mb_encode_mimeheader - Codifica un string para la cabecera MIME
    • mb_encode_numericentity - Convierte caracteres a referencias de string numéricas de HTML
    • mb_encoding_aliases - Obtiene los alias de un tipo de codificación conocido
    • mb_ereg - Comparación de expresiones regulares con soporte multibyte
    • mb_eregi - Comparación de expresiones regulares ignorando mayúsculas/minúsculas con soporte multibyte
    • mb_eregi_replace - Reemplaza una expresión regular con soprte multibyte ignorando mayúsculas/minúsculas
    • mb_ereg_match - Compararción de expresiones regulares para strings multibyte
    • mb_ereg_replace - Reemplaza una expresión regular con soprte multibyte
    • mb_ereg_replace_callback - Realiza una búsqueda y sustitución de una expresión regular con soporte multibyte usando una llamada de retorno
    • mb_ereg_search - Comparación de expresiones regulares multibyte para un string multibyte predefinido
    • mb_ereg_search_getpos - Devuelve la posición de inicio para la siguiente comparación de una expresión regular
    • mb_ereg_search_getregs - Recupera el resultado de la última comparación de expresión regular multibyte
    • mb_ereg_search_init - Configura el string y la expresión regular para una comparación de expresiones regulares multibyte
    • mb_ereg_search_pos - Devuelve la posición y la longitud de una parte coincidente de la expresión regular multibyte para un string multibyte predefinido
    • mb_ereg_search_regs - Devuelve la parte coincidente de una expresión regular multibyte
    • mb_ereg_search_setpos - Establece el punto de inicio de la siguiente comparación de una expresión regular
    • mb_get_info - Obtiene la configuración interna de mbstring
    • mb_http_input - Detecta la codificación de caracteres de entrada HTTP
    • mb_http_output - Establece/obtiene la codificación de caracteres de salida HTTP
    • mb_internal_encoding - Establece/obtiene la codificación de caracteres interna
    • mb_language - Establece/obtiene el idioma actual
    • mb_list_encodings - Devuelve un array con todos los tipos de codificaciones admitidas
    • mb_output_handler - Función de llamada de retorno que convierte la codificación de caracteres en búfer de salida
    • mb_parse_str - Analiza datos GET/POST/COOKIE y establece varialbes globales
    • mb_preferred_mime_name - Obtener un string del conjunto de caracteres del MIME
    • mb_regex_encoding - Establece/obtiene la codificación de caracteres para expresiones regulares multibyte
    • mb_regex_set_options - Establece/obtiene las opciones predeterminadas para las funciones mbregex
    • mb_send_mail - Envía un correo codificado
    • mb_split - Divide cadenas de caracteres multibyte usando una expresión regular
    • mb_strcut - Obtener parte de un string
    • mb_strimwidth - Obtiene un string truncado con el ancho especificado
    • mb_stripos - Busca la posición de la primera ocurrencia de un string dentro de otro, insensible a mayúsculas/minúsculas
    • mb_stristr - Busca la primera ocurrencia de un string dentro de otro, insensible a mayúsculas/minúsculas
    • mb_strlen - Obtiene la longitud de una cadena de caracteres
    • mb_strpos - Busca la posición de la primera ocurrencia de un string en otro string
    • mb_strrchr - Busca la última ocurrencia de un carácter de un string dentro de otro
    • mb_strrichr - Busca la última ocurrencia de un carácter de un string dentro de otro, insensible a mayúsculas/minúsculas
    • mb_strripos - Busca la posicion de la última ocurrencia de un string dentro de otro string, insensible a mayúsculas/minúsculas
    • mb_strrpos - Busca la posicion de la última ocurrencia de un string en otro string
    • mb_strstr - Busca la primera ocurrencia de un string dentro de otro
    • mb_strtolower - Convierte una cadena de caracteres a minúsculas
    • mb_strtoupper - Convierte un string en mayúsculas
    • mb_strwidth - Deuelve el ancho de un string
    • mb_substitute_character - Establece/obtiene un carácter de sustitución
    • mb_substr - Obtiene parte de una cadena de caracteres
    • mb_substr_count - Cuenta el número de ocurrencias de un substring
    • mcrypt_cbc - Encripta/decripta datos en modo CBC
    • mcrypt_cfb - Encripta/decripta datos en modo CFB
    • mcrypt_create_iv - Crea un vector de inicialización (IV) desde una fuente aleatoria
    • mcrypt_decrypt - Desencripta texto cifrado con los parámetros dados
    • mcrypt_ecb - Obsoleto: Encripta/decripta datos en modo ECB
    • mcrypt_encrypt - Cifra texto plano con los parámetros dados
    • mcrypt_enc_get_algorithms_name - Devuelve el nombre del algoritmo abierto
    • mcrypt_enc_get_block_size - Devuelve el tamaño del bloque del algoritmo abierto
    • mcrypt_enc_get_iv_size - Devuelve el tamaño del IV del algoritmo abierto
    • mcrypt_enc_get_key_size - Devuelve el tamaño de clave máximo soportado por el modo abierto
    • mcrypt_enc_get_modes_name - Devuelve el nombre del modo abierto
    • mcrypt_enc_get_supported_key_sizes - Devuelve un array con los tamaños de clave soportados por el algoritmo abierto
    • mcrypt_enc_is_block_algorithm - Chequea si el algoritmo del modo abierto es un algoritmo por bloques
    • mcrypt_enc_is_block_algorithm_mode - Chequea si el cifrado del modo abierto trabaja sobre bloques
    • mcrypt_enc_is_block_mode - Chequea si el modo abierto retorna bloques
    • mcrypt_enc_self_test - Ejecuta una prueba automática sobre el módulo abierto
    • mcrypt_generic - Esta función encripta datos
    • mcrypt_generic_deinit - Esta función deinicializa un módulo de cifrado
    • mcrypt_generic_end - Esta función termina el cifrado
    • mcrypt_generic_init - Esta función inicializa todos los buffers requeridos para el cifrado
    • mcrypt_get_block_size - Toma el tamaño del bloque del cifrador especificado
    • mcrypt_get_cipher_name - Toma el nombre del cifrador especificado
    • mcrypt_get_iv_size - Devuelve el tamaño del IV perteneciente a una combinación cifrador/modo específica
    • mcrypt_get_key_size - Toma el tamaño de clave del cifrador especificado
    • mcrypt_list_algorithms - Obtiene un array con todos los cifradores soportados
    • mcrypt_list_modes - Obtiene un array con todos los modos soportados
    • mcrypt_module_close - Cierra el módulo mcrypt
    • mcrypt_module_get_algo_block_size - Devuelve el tamaño de bloque del algoritmo especificado
    • mcrypt_module_get_algo_key_size - Devuelve el tamaño de clave máximo soportado por el modo abierto
    • mcrypt_module_get_supported_key_sizes - Devuelve un array con los tamaños de clave soportados del algoritmo abierto
    • mcrypt_module_is_block_algorithm - Esta función chequea si el algoritmo especificado es un algoritmo por bloques
    • mcrypt_module_is_block_algorithm_mode - Devuelve si el módulo especificado es un algoritmo por bloques o no
    • mcrypt_module_is_block_mode - Devuelve si el modo especificado retorna bloques o no
    • mcrypt_module_open - Abre el módulo del algoritmo y el modo a ser utilizados
    • mcrypt_module_self_test - Esta función ejecuta una prueba automática sobre el módulo especificado
    • mcrypt_ofb - Encripta/desencripta datos en modo OFB
    • md5 - Calcula el hash md5 de un string
    • md5_file - Calcula el resumen criptográfico md5 de un archivo dado
    • mdecrypt_generic - Desencripta datos
    • Memcache::add - Añadir un valor en el servidor
    • Memcache::addServer - Añadir servidor memcache al grupo de conexiones
    • Memcache::close - Cierra la conexión al servidor memcached
    • Memcache::connect - Abre una conexión al servidor memcached
    • Memcache::decrement - Decrementa numéricamente un valor
    • Memcache::delete - Elimina un valor del servidor
    • Memcache::flush - Limpia todos los valores existentes en el servidor
    • Memcache::get - Obtener valor del servidor
    • Memcache::getExtendedStats - Obtener estadísticas de todos los servidores en el grupo
    • Memcache::getServerStatus - Devuelve el estado del servidor
    • Memcache::getStats - Obtiene estadísticas del servidor
    • Memcache::getVersion - Devuelve la versión del servidor
    • Memcache::increment - Incrementa numéricamente un valor
    • Memcache::pconnect - Abre una conexión persistente a memcached
    • Memcache::replace - Reemplaza el valor de un valor existente
    • Memcache::set - Guarda datos en el servidor
    • Memcache::setCompressThreshold - Activa compresión automática de valores con datos largos
    • Memcache::setServerParams - Cambia parámetros del servidor y estado en tiempo de ejecucción
    • Memcached::add - Añade un nuevo ítem asociado a una nueva clave
    • Memcached::addByKey - Añade un ítem asociado a una nueva clave en un servidor determinado
    • Memcached::addServer - Añade un servidor al conjunto de servidores
    • Memcached::addServers - Añadir múltiple servidores al grupo de servidores
    • Memcached::append - Añadir datos a un ítem existente
    • Memcached::appendByKey - Añadir datos a un ítem existente en un servidor específico
    • Memcached::cas - Comparar e intercambiar un ítem
    • Memcached::casByKey - Comparar y cambiar un ítem en un servidor específico
    • Memcached::decrement - Decrementar de forma numérica el valor de un ítem
    • Memcached::decrementByKey - Disminuir el valor del elemento numérico, almacenado en un servidor específico
    • Memcached::delete - Eliminar un ítem
    • Memcached::deleteByKey - Eliminar una clave de un servidor específico
    • Memcached::deleteMulti - Delete multiple items
    • Memcached::deleteMultiByKey - Delete multiple items from a specific server
    • Memcached::fetch - Obtener el siguiente resultado
    • Memcached::fetchAll - Obtener todos los resultados restantes
    • Memcached::flush - Invalidar todos los ítems en la caché
    • Memcached::get - Obtener un ítem
    • Memcached::getAllKeys - Gets the keys stored on all the servers
    • Memcached::getByKey - Obtiene un ítem de un servidor específico
    • Memcached::getDelayed - Obtener varios ítems
    • Memcached::getDelayedByKey - Solicitar múltiples ítems de un servidor específico
    • Memcached::getMulti - Obtener múltiples ítems
    • Memcached::getMultiByKey - Obtener múltiple ítems de un servidor específico
    • Memcached::getOption - Obtener el valor de una opción Memcached
    • Memcached::getResultCode - Devuelve el código de respuesta de la última operación
    • Memcached::getResultMessage - Devolver un mensaje describiendo el resultado de la última operación
    • Memcached::getServerByKey - Hacer corresponder una clave con un servidor
    • Memcached::getServerList - Obtiene la lista de servidores del conjunto
    • Memcached::getStats - Obtiene estadísticas de un grupo de servidores
    • Memcached::getVersion - Obtiene la información de la versión del grupo de servidores
    • Memcached::increment - Incrementa el valor númerico del ítem
    • Memcached::incrementByKey - Increment numeric item's value, stored on a specific server
    • Memcached::isPersistent - Check if a persitent connection to memcache is being used
    • Memcached::isPristine - Check if the instance was recently created
    • Memcached::prepend - Anteponer datos a un ítem existente
    • Memcached::prependByKey - Antepone datos en un ítem existente en un servidor específico
    • Memcached::quit - Cerrar las Conexiones abiertas
    • Memcached::replace - Reemplaza un ítem bajo una clave ya existente
    • Memcached::replaceByKey - Reemplaza un ítem bajo una clave existente en un servidor específico
    • Memcached::resetServerList - Limpiar todos los servidores de la lista de servidores
    • Memcached::set - Guarda un ítem
    • Memcached::setByKey - Guardar un ítem en un servidor específico
    • Memcached::setMulti - Guarda múltiples ítems
    • Memcached::setMultiByKey - Guarda múltiple ítems en un servidor específico
    • Memcached::setOption - Establece una opción Memcached
    • Memcached::setOptions - Set Memcached options
    • Memcached::setSaslAuthData - Set the credentials to use for authentication
    • Memcached::touch - Establecer una nueva fecha de vencimiento en un elemento
    • Memcached::touchByKey - Set a new expiration on an item on a specific server
    • Memcached::__construct - Crear una instancia de Memcached
    • memcache_debug - Activa/desactiva debug output
    • memory_get_peak_usage - Devuelve el máximo de memoria asignada por PHP
    • memory_get_usage - Devuelve la cantidad de memoria asignada a PHP
    • MessageFormatter::create - Construir un nuevo Formateador de Mensajes
    • MessageFormatter::format - Dar formato al mensaje
    • MessageFormatter::formatMessage - Formateo rápido de un mensaje
    • MessageFormatter::getErrorCode - Obtener el código de error de la última operación
    • MessageFormatter::getErrorMessage - Obtener el texto del error de la última operación
    • MessageFormatter::getLocale - Obtener la configuración regional desde la que se creó el formateador
    • MessageFormatter::getPattern - Obtener el patrón usado por el formateador
    • MessageFormatter::parse - Procesar la cadena de entrada según un patrón
    • MessageFormatter::parseMessage - Procesar rápidamente una cadena de entrada
    • MessageFormatter::setPattern - Establecer el patrón usado por el formateador
    • metaphone - Calcula la clave metaphone de un string
    • method_exists - Comprueba si existe un método de una clase
    • mhash - Calcula el hash
    • mhash_count - Toma el mayor ID de hash disponible
    • mhash_get_block_size - Toma el tamaño de bloque del algoritmo hash especificado
    • mhash_get_hash_name - Toma el nombre del algoritmo hash especificado
    • mhash_keygen_s2k - Genera una clave
    • microtime - Devuelve la fecha Unix actual con microsegundos
    • mime_content_type - Detecta el MIME Content-type para un fichero (función obsoleta)
    • min - Encontrar el valor más bajo
    • ming_keypress - Devuelve la bandera de acción para keyPress(char)
    • ming_setcubicthreshold - Establecer un umbral cúbico
    • ming_setscale - Establecer el factor de escala global.
    • ming_setswfcompression - EStablece la comprensión de salida de SWF
    • ming_useconstants - Usar la agrupación de constantes
    • ming_useswfversion - Establece la versión de SWF
    • mkdir - Crea un directorio
    • mktime - Obtener la marca de tiempo Unix de una fecha
    • money_format - Da formato a un número como un string de moneda
    • Mongo::connectUtil - Conecta con un servidor de bases de datos
    • Mongo::getPoolSize - Obtener el tamaño de las agrupaciones de conexiones
    • Mongo::getSlave - Devuelve la dirección usada por las lecturas de slaveOkay
    • Mongo::getSlaveOkay - Obtiene el valor de slaveOkay de esta conexión
    • Mongo::poolDebug - Devuelve información sobre todas las agrupaciones de conexiones
    • Mongo::setPoolSize - Establecer el tamaño para futuras agrupaciones de conexiones
    • Mongo::setSlaveOkay - Cambia el valor de slaveOkay para esta conexión
    • Mongo::switchSlave - Elije un nuevo secundario para lecturas slaveOkay
    • Mongo::__construct - El propósito de __construct
    • MongoBinData::__construct - Crea un nuevo objeto de datos binarios
    • MongoBinData::__toString - Representación en forma de string de este objeto de datos binarios
    • MongoClient::close - Cierra esta conexión
    • MongoClient::connect - Conecta a un servidor de bases de datos
    • MongoClient::dropDB - Elimina una base de datos [obsoleto]
    • MongoClient::getConnections - Devuelve información sobre todas las conexiones abiertas
    • MongoClient::getHosts - Actualiza el estado de todos los hosts asociados
    • MongoClient::getReadPreference - Obtener la preferencia de lectura para esta conexión
    • MongoClient::killCursor - Elimina un cursor específico del servidor
    • MongoClient::listDBs - Enumera todas las bases de datos disponibles
    • MongoClient::selectCollection - Obtiene una colección de bases de datos
    • MongoClient::selectDB - Obtiene una base de datos
    • MongoClient::setReadPreference - Establece la preferencia de lectura para esta conexión
    • MongoClient::__construct - Crea un nuevo objeto de conexión a base de datos
    • MongoClient::__get - Obtiene una base de datos
    • MongoClient::__toString - Representación de cadena de esta conexión
    • MongoCode::__construct - Crea un nuevo objeto de código
    • MongoCode::__toString - Devuelve este código en forma de texto
    • MongoCollection::aggregate - Realiza una acumulación usando el framework de acumulación
    • MongoCollection::batchInsert - Inerta múltiples documentos en esta colección
    • MongoCollection::count - Cuenta el número de documentos de esta colección
    • MongoCollection::createDBRef - Crea una referencia a una base de datos
    • MongoCollection::deleteIndex - Elimina un índice de esta colección
    • MongoCollection::deleteIndexes - Elimina todos los índices de esta colección
    • MongoCollection::distinct - Recupera una lista de valores distintos para una clave dada a través de una colección
    • MongoCollection::drop - Borra esta colección
    • MongoCollection::ensureIndex - Crea un índice en el/los campo/s dado/s, o si el índice ya existe, no realiza nada
    • MongoCollection::find - Consulta esta colección, devolviendo un objeto MongoCursor para el conjunto de resultados
    • MongoCollection::findAndModify - Actualizar un documento y devolverlo
    • MongoCollection::findOne - Realiza una consulta a esta colección, devolviendo sólo un elemento
    • MongoCollection::getDBRef - Captura el documento al que apunta una referencia de base de datos
    • MongoCollection::getIndexInfo - Devuelve información sobre los índices de esta colección
    • MongoCollection::getName - Devuelve el nombre de esta colección
    • MongoCollection::getReadPreference - Obtener la preferencia de lectura de esta colección
    • MongoCollection::getSlaveOkay - Consulta el valor de slaveOkay de esta colección
    • MongoCollection::group - Lleva a cabo una operación similar al comando GROUP BY de SQL
    • MongoCollection::insert - Inserta un documento en la colección
    • MongoCollection::remove - Eliminar registros de esta colección
    • MongoCollection::save - Guarda un documento en esta colección
    • MongoCollection::setReadPreference - Establecer la preferencia de lectura para esta colección
    • MongoCollection::setSlaveOkay - Cambia el valor de slaveOkay de esta colección
    • MongoCollection::toIndexString - Convierte claves especificando un índice para su cadena de identificación
    • MongoCollection::update - Actualizar registros basándose en los criterios proporcionados
    • MongoCollection::validate - Valida esta colección
    • MongoCollection::__construct - Crea una nueva colección
    • MongoCollection::__get - Obtiene una colección
    • MongoCollection::__toString - Representación en forma de string de esta colección
    • MongoCursor::addOption - Añade un par clave/valor de alto nivel a una consulta
    • MongoCursor::awaitData - Establece si el cursor esperará un momento a que un cursor de seguimiento devuelva más datos
    • MongoCursor::batchSize - Limita el número de elementos devueltos en un lote
    • MongoCursor::count - Cuenta el número de resultados de esta consulta
    • MongoCursor::current - Devuelve el elemento actual
    • MongoCursor::dead - Comprueba si hay documentos que no han sido enviados aún de la base de datos para este cursor
    • MongoCursor::doQuery - Ejecutar un sentencia
    • MongoCursor::explain - Devuelve una explicación de la consulta, útil para la optimización y depuración
    • MongoCursor::fields - Establece los campos para una consulta
    • MongoCursor::getNext - Devuelve el siguiente objeto al que apunta este cursor, y avanza el cursor
    • MongoCursor::getReadPreference - Obtener la preferencia de lectura para esta consulta
    • MongoCursor::hasNext - Comprueba si existe algún elemento más en este cursor
    • MongoCursor::hint - Da a la base de datos un indicio sobre la consulta
    • MongoCursor::immortal - Establece si este cursor expirará
    • MongoCursor::info - Obtiene la consulta, los campos, el límete, y las omisiones de este cursor
    • MongoCursor::key - Devuelve el _id del resultado actual
    • MongoCursor::limit - Limita el número de resultados devueltos
    • MongoCursor::next - Hace avanzar el cursor al siguiente resultado
    • MongoCursor::partial - Si esta consulta debería obtener resultados parciales de mongos si un trozo ha caído
    • MongoCursor::reset - Limpia el cursor
    • MongoCursor::rewind - Devuelve el cursor al inicio del conjunto de resultados
    • MongoCursor::setFlag - Establece banderas arbitrarias en caso de que no haya métodos disponibles para una bandera específica
    • MongoCursor::setReadPreference - Establece la preferencia de lectura para esta consulta
    • MongoCursor::skip - Omite un número de resultados
    • MongoCursor::slaveOkay - Establece si esta consulta puede realizarse en un secundario
    • MongoCursor::snapshot - Usar el modo 'snapshot' para la consulta
    • MongoCursor::sort - Ordena los resultados por el campo que se indique
    • MongoCursor::tailable - Establece si este cursor se dejará abierto después de obtener los últimos resultados
    • MongoCursor::timeout - Establece un tiempo de espera en el lado del cliente para esta consulta
    • MongoCursor::valid - Comprueba si el cursor está leyendo un resultado válido
    • MongoCursor::__construct - Crea un nuevo cursor
    • MongoCursorException::getHost - El nombre de host del servidor que encontró el error
    • MongoDate::__construct - Crea un nuevo objeto fecha
    • MongoDate::__toString - Devuelve una representación en forma de texto de esta fecha
    • MongoDB::authenticate - Iniciar sesión en esta base de datos
    • MongoDB::command - Ejecuta un comando de base de datos
    • MongoDB::createCollection - Crea una colección
    • MongoDB::createDBRef - Crea una referencia a base de datos
    • MongoDB::drop - Borra esta base de datos
    • MongoDB::dropCollection - Borra una colección [obsoleto]
    • MongoDB::execute - Ejecuta código JavaScript en el servidor de bases de datos
    • MongoDB::forceError - Crea un error de base de datos
    • MongoDB::getCollectionNames - Obtener todas las colecciones de esta base de datos
    • MongoDB::getDBRef - Captura el documento que está siendo apuntado por una referencia de base de datos
    • MongoDB::getGridFS - Obtiene un objeto para trabajar con ficheros almacenados en esta base de datos
    • MongoDB::getProfilingLevel - Obtiene el nivel de perfilado (profiling) de la base de datos
    • MongoDB::getReadPreference - Obtener la preferencia de lectura para esta base de datos
    • MongoDB::getSlaveOkay - Devuelve el valor de slaveOkay de esta base de datos
    • MongoDB::lastError - Comprueba si hubo un error en la última operación de base de datos llevada a cabo
    • MongoDB::listCollections - Obtiene un array con todas las MongoCollection para esta base de datos
    • MongoDB::prevError - Comprueba el último error emitido durante una operación de base de datos
    • MongoDB::repair - Repara y compacta esta base de datos
    • MongoDB::resetError - Limpia cualquier error de la base de datos que se haya apuntado
    • MongoDB::selectCollection - Obtiene una colección
    • MongoDB::setProfilingLevel - Establece el nivel de perfilado (profiling) de la base de datos
    • MongoDB::setReadPreference - Establece la preferencia de lectura para esta base de datos
    • MongoDB::setSlaveOkay - Cambiar el valor de slaveOkay de esta base de datos
    • MongoDB::__construct - Crea una nueva base de datos
    • MongoDB::__get - Obtiene una colección
    • MongoDB::__toString - Nombre de esta base de datos
    • MongoDBRef::create - Crea una nueva referencia de base de datos
    • MongoDBRef::get - Captura el objeto al que apunta la referencia
    • MongoDBRef::isRef - Comprueba si un array es una referencia en la base de datos
    • MongoGridFS::delete - Elimina un fichero de la base de datos
    • MongoGridFS::drop - Da de baja una colección de ficheros y de bloques
    • MongoGridFS::find - Selecciona ficheros
    • MongoGridFS::findOne - Devuelve el fichero que cumpla las condiciones
    • MongoGridFS::get - Obtiene un fichero de la base de datos
    • MongoGridFS::put - Almacena un fichero en la base de datos
    • MongoGridFS::remove - Elimina ficheros de las colecciones
    • MongoGridFS::storeBytes - Almacena una cadena de bytes en la base de datos
    • MongoGridFS::storeFile - Almacena un fichero en la base de datos
    • MongoGridFS::storeUpload - Almacena un fichero subido en la base de datos
    • MongoGridFS::__construct - Crea una nueva colección de ficheros
    • MongoGridFSCursor::current - Devuelve el fichero actual
    • MongoGridFSCursor::getNext - Devuelve el siguiente fichero al que apunta este cursor, y avanza el cursor
    • MongoGridFSCursor::key - Devuelve el nombre de fichero del resultado actual
    • MongoGridFSCursor::__construct - Crea un nuevo cursor
    • MongoGridFSFile::getBytes - Devuelve el contenido de este fichero en forma de string de bytes
    • MongoGridFSFile::getFilename - Devuelve el nombre de este fichero
    • MongoGridFSFile::getResource - Devuelve un recurso que puede usarse para leer el fichero almacenado
    • MongoGridFSFile::getSize - Devuelve el tamaño de este fichero
    • MongoGridFSFile::write - Escribe este fichero en disco
    • MongoGridfsFile::__construct - Crea un nuevo fichero GridFS
    • MongoId::getHostname - Obtiene el nombre de host que se usa para el id de esta máquina
    • MongoId::getInc - Obtiene el valor incremental usado para crear este id
    • MongoId::getPID - Obtiene el ID del proceso
    • MongoId::getTimestamp - Devuelve el número de segundos desde la fecha de referencia con el que se creó este id
    • MongoId::__construct - Crea un nuevo id
    • MongoId::__set_state - Create a dummy MongoId
    • MongoId::__toString - Devuelve la representación hexadecimal de este id
    • MongoInt32::__construct - Crea un nuevo entero de 32 bits
    • MongoInt32::__toString - Devuelve al representación en forma de texto de este entero de 32 bits
    • MongoInt64::__construct - Crea un nuevo entero de 64 bits
    • MongoInt64::__toString - Devuelve la representación en forma de texto de este entero de 64 bits
    • MongoLog::getCallback - Recupera el nombre de la función de llamada de retorno establecida anteriormente
    • MongoLog::getLevel - Obtiene el nivel de registro
    • MongoLog::getModule - Devuelve los módulos que están actualmente se están registrando
    • MongoLog::setCallback - Establece una función de llamada de retorno para ser invocada en eventos
    • MongoLog::setLevel - Establece el nivel de informe de mensajes
    • MongoLog::setModule - Establece de qué funcionalidades se deben notificar eventos
    • MongoPool::getSize - Devuelve el tamaño actual de un agrupamiento de conexiones
    • MongoPool::info - Devuelve información sobre todos los agrupamientos de conexiones
    • MongoPool::setSize - Establece el tamaño de los nuevos agrupamientos de conexiones
    • MongoRegex::__construct - Crea una nueva expresión regular
    • MongoRegex::__toString - Representación en forma de texto de esta expresión regular
    • MongoResultException::getDocument - Recupera el documento resultante completo
    • MongoTimestamp::__construct - Crea un nuevo timestamp
    • MongoTimestamp::__toString - Devuelve la representación en forma de texto de este timestamp
    • move_uploaded_file - Mueve un archivo subido a una nueva ubicación
    • mqseries_back - MQSeries MQBACK
    • mqseries_begin - MQseries MQBEGIN
    • mqseries_close - MQSeries MQCLOSE
    • mqseries_cmit - MQSeries MQCMIT
    • mqseries_conn - MQSeries MQCONN
    • mqseries_connx - MQSeries MQCONNX
    • mqseries_disc - MQSeries MQDISC
    • mqseries_get - MQSeries MQGET
    • mqseries_inq - MQSeries MQINQ
    • mqseries_open - MQSeries MQOPEN
    • mqseries_put - MQSeries MQPUT
    • mqseries_put1 - MQSeries MQPUT1
    • mqseries_set - MQSeries MQSET
    • mqseries_strerror - Returns the error message corresponding to a result code (MQRC).
    • msession_connect - Conecta un servidor msession
    • msession_count - Obtiene el número de sesiones
    • msession_create - Crea una sesión
    • msession_destroy - Elimina una sesión
    • msession_disconnect - Cierra conexión al servidor msession
    • msession_find - Busca todas la sesiones con el nombre y el valor
    • msession_get - Obtiene el valor de la sesión
    • msession_get_array - Obtiene array de variables msession
    • msession_get_data - Obtiene datos de sesión no estructurados
    • msession_inc - Incrementa valor en la sesión
    • msession_list - Lista todas las sesiones
    • msession_listvar - Lista sesiones con variable
    • msession_lock - Bloquea una sesión
    • msession_plugin - Llama una función de escape con el personality plugin de msession
    • msession_randstr - Obtiene cadena aleatoria
    • msession_set - Establece valor en sesión
    • msession_set_array - Establece array de variables msession
    • msession_set_data - Establece en los datos de la sesión datos no estructurados
    • msession_timeout - Establece/obtiene tiempo de expiración de la sesión
    • msession_uniq - Obtiene id único
    • msession_unlock - Desbloquea una sesión
    • msg_get_queue - Crear o adjuntar a una cola de mensajes
    • msg_queue_exists - Verificar si una cola de mensajes existe
    • msg_receive - Recibir un mensaje de la cola de mensajes
    • msg_remove_queue - Destruir una cola de mensajes
    • msg_send - Eviar un mensaje a una cola de mensajes
    • msg_set_queue - Establecer información en la estructura de datos de la cola de mensajes
    • msg_stat_queue - Devuelve información desde la estructura de datos de la cola de mensajes
    • msql - Alias de msql_db_query
    • msql_affected_rows - Devuelve el número de filas afectadas
    • msql_close - Cierra la conexión mSQL
    • msql_connect - Abre una conexión mSQL
    • msql_createdb - Alias de msql_create_db
    • msql_create_db - Crear una base de datos mSQL
    • msql_data_seek - Mueve el puntero de fila interno
    • msql_dbname - Alias de msql_result
    • msql_db_query - Envía una consulta mSQL
    • msql_drop_db - Borra una base de datos mSQL
    • msql_error - Devuelve un mensaje de error de la última llamada msql
    • msql_fetch_array - Extraer una fila como array
    • msql_fetch_field - Extraer información de campo
    • msql_fetch_object - Extraer la fila como un objeto
    • msql_fetch_row - Extrae la fila como un array ordenado
    • msql_fieldflags - Alias de msql_field_flags
    • msql_fieldlen - Alias de msql_field_len
    • msql_fieldname - Alias de msql_field_name
    • msql_fieldtable - Alias de msql_field_table
    • msql_fieldtype - Alias de msql_field_type
    • msql_field_flags - Obtener banderas de campo
    • msql_field_len - Ontener longitud del campo
    • msql_field_name - Obtiene el nombre del campo especificado en un resultado
    • msql_field_seek - Determina el desplazamiento de campo
    • msql_field_table - Obtiene el nombre de la tabla del campo
    • msql_field_type - Obtiene el tipo de campo
    • msql_free_result - Liberar memoria de un resultado
    • msql_list_dbs - Lista las bases de datos mSQL del servidor
    • msql_list_fields - Lista los campos resultantes
    • msql_list_tables - Lista las tablas en una base de datos mSQL
    • msql_numfields - Alias de msql_num_fields
    • msql_numrows - Alias de msql_num_rows
    • msql_num_fields - Obtiene el número de campos en el resultado
    • msql_num_rows - Obtiene el número de filas en el resultado
    • msql_pconnect - Abrir una conexión mSQL persistente
    • msql_query - Enviar una petición mSQL
    • msql_regcase - Alias de sql_regcase
    • msql_result - Obtención de datos del resultado
    • msql_select_db - Selecciona una base de datos mSQL
    • msql_tablename - Alias de msql_result
    • mssql_bind - Añade un parámetro a un stored procedure (procedimiento almacenado) MSSQL (local o remoto)
    • mssql_close - Cierra una conexión MS SQL Server
    • mssql_connect - Establece una conexión a un servidor MS SQL
    • mssql_data_seek - Desplaza el apuntador interno de fila
    • mssql_execute - Ejecuta un stored procedure (procedimiento almacenado) en una base de datos del servidor MS SQL
    • mssql_fetch_array - Devuelve una fila del resultado como array asociativo, numérico o ambos
    • mssql_fetch_assoc - Devuelve un array asociativo con la fila actual en el resultado del MS SQL Server
    • mssql_fetch_batch - Devuelve el siguiente lote de registros
    • mssql_fetch_field - Obtiene información del campo
    • mssql_fetch_object - Devuelve una fila de la consulta MS SQL, como un objeto
    • mssql_fetch_row - Lee una línea del resultado de la consulta MS SQL dentro de un array numérico
    • mssql_field_length - Devuelve la longitud de un campo
    • mssql_field_name - Devuelve el nombre de un campo
    • mssql_field_seek - Apunta al número de campo especificado
    • mssql_field_type - Devuelve el tipo de un campo
    • mssql_free_result - Liberar la memoria del recurso resultado de MS SQL
    • mssql_free_statement - Liberar la memoria ocupada por la sentencia MS SQL
    • mssql_get_last_message - Devuelve el último mensaje de error generado por el servidor MSSQL
    • mssql_guid_string - Convierte un GUID (Globally Unique Identifier-Identificador globalmente único) binario de 16 bytes en un string
    • mssql_init - Inicializa un stored procedure (procedimiento almacenado) local o remoto
    • mssql_min_error_severity - Fija el nivel mínimo de severidad de los errores
    • mssql_min_message_severity - Fija el nivel mínimo de severidad de los mensajes
    • mssql_next_result - Mover el puntero interno del resultado al siguiente resultado
    • mssql_num_fields - Devuelve el número de campos del resultado
    • mssql_num_rows - Devuelve el número de filas que hay en un resultado
    • mssql_pconnect - Abre una conexión MS SQL persistente
    • mssql_query - Enviar una consulta MS SQL
    • mssql_result - Obtiene los datos de resultado
    • mssql_rows_affected - Devuelve el número de registros afectado por la sentencia SQL de escritura
    • mssql_select_db - Selecciona la base de datos MS SQL
    • mt_getrandmax - Mostrar el mayor valor aleatorio posible
    • mt_rand - Genera un mejor número entero aleatorio
    • mt_srand - Genera el mejor número aleatorio a partir de una semilla
    • MultipleIterator::attachIterator - Adjunta información al iterador
    • MultipleIterator::containsIterator - Comprueba si un iterador adjuntado
    • MultipleIterator::countIterators - Obtiene el número de instancias de iterador adjuntadas
    • MultipleIterator::current - Obtiene las instancias registradas del iterador
    • MultipleIterator::detachIterator - Desasocia un iterador
    • MultipleIterator::getFlags - Obtiene información de las flags
    • MultipleIterator::key - Obtiene las instancias registradas del iterador
    • MultipleIterator::next - Mueve todas las instancias de iterador adjuntadas hacía la siguiente
    • MultipleIterator::rewind - Rebobina todas las instancias de iterador adjuntadas
    • MultipleIterator::setFlags - Establece las flags
    • MultipleIterator::valid - Comprueba la validez de los sub iteradores
    • MultipleIterator::__construct - Construye un nuevo MultipleIterator
    • Mutex::create - Create a Mutex
    • Mutex::destroy - Destroy Mutex
    • Mutex::lock - Acquire Mutex
    • Mutex::trylock - Attempt to Acquire Mutex
    • Mutex::unlock - Release Mutex
    • mysqli::$affected_rows - Obtiene el número de filas afectadas en la última operación MySQL
    • mysqli::$client_info - Obtiene información de la versión cliente de MySQL
    • mysqli::$connect_errno - Devuelve el código de error de la última llamada
    • mysqli::$connect_error - Devuelve una cadena con la descripción del último error de conexión
    • mysqli::$errno - Devuelve el código del error de la última función llamada
    • mysqli::$error - Devuelve una cadena que describe el último error
    • mysqli::$error_list - Devuelve una lista de errores desde el último comando ejecutado
    • mysqli::$field_count - Devuelve el número de columnas para la consulta más reciente
    • mysqli::$host_info - Devuelve una cadena que representa el tipo de conexión usada
    • mysqli::$info - Obtiene la información de la última consulta ejecutada
    • mysqli::$insert_id - Devuelve el id autogenerado que se utilizó en la última consulta
    • mysqli::$protocol_version - Devuelve la versión del protocolo MySQL utilizada
    • mysqli::$server_info - Devuelve la versión del servidor MySQL
    • mysqli::$server_version - Devuelve la versión del servidor MySQL como un valor entero
    • mysqli::$sqlstate - Devuelve el error SQLSTATE de la operación de MySQL previa
    • mysqli::$thread_id - Deveulve el ID del hilo de la conexión actual
    • mysqli::$warning_count - Devuelve el número de mensajes de advertencia de la última consulta para un enlace dado
    • mysqli::autocommit - Activa o desactiva las modificaciones de la base de datos autoconsignadas
    • mysqli::begin_transaction - Inicia una transacción
    • mysqli::change_user - Cambia el usuario de la conexión de bases de datos especificada
    • mysqli::character_set_name - Devuelve el juego de caracteres predeterminado para la conexión a la base de datos
    • mysqli::close - Cierra una conexión a base de datos previamente abierta
    • mysqli::commit - Realiza un "commit" de la transacción actual
    • mysqli::debug - Realiza operaciones de depuración
    • mysqli::dump_debug_info - Volcado de información de depuración en el registro
    • mysqli::get_charset - Devuelve un objeto que contiene el conjunto de caracteres
    • mysqli::get_client_info - Obtiene información de la biblioteca cliente de MySQL
    • mysqli::get_connection_stats - Devuelve estadísticas sobre la conexión del cliente
    • mysqli::get_warnings - Obtiene el resultado de SHOW WARNINGS
    • mysqli::init - Inicializa y devuelve un recurso para utilizarlo con mysqli_real_connect()
    • mysqli::kill - Pide al servidor matar una hebra de MySQL
    • mysqli::more_results - Comprueba si hay más resultados de una multi consulta
    • mysqli::multi_query - Realiza una consulta a la base de datos
    • mysqli::next_result - Prepara el siguiente resultado de multi_query
    • mysqli::options - Establecer opciones
    • mysqli::ping - Comprueba la conexión al servidor, o trata de reconectar si se perdió la conexión
    • mysqli::poll - Almacena en caché conexiones
    • mysqli::prepare - Prepara una sentencia SQL para su ejecución
    • mysqli::query - Realiza una consulta a la Base de Datos
    • mysqli::real_connect - Abre una conexión a un servidor mysql
    • mysqli::real_escape_string - Escapa los caracteres especiales de una cadena para usarla en una sentencia SQL, tomando en cuenta el conjunto de caracteres actual de la conexión
    • mysqli::real_query - Ejecuta una consulta SQL
    • mysqli::reap_async_query - Obtiene el resultado de una consulta asincrónica
    • mysqli::refresh - Refresca
    • mysqli::release_savepoint - Revierte una transacción hasta un punto salvado previamente, con un nombre determinado
    • mysqli::rollback - Revierte la transacción actual
    • mysqli::rpl_query_type - Devuelve un tipo de consulta RPL
    • mysqli::savepoint - Define el nombre de un punto de salvaguarda de la transacción
    • mysqli::select_db - Selecciona la base de datos por defecto para realizar las consultas
    • mysqli::send_query - Enviar una consulta y devolver
    • mysqli::set_charset - Establece el conjunto de caracteres predeterminado del cliente
    • mysqli::set_local_infile_default - Desestablece el gestor definido por el usuario para un comando load local infile
    • mysqli::set_local_infile_handler - Establecer la llamada de retorno para el comando LOAD DATA LOCAL INFILE
    • mysqli::set_opt - Alias de mysqli_options
    • mysqli::ssl_set - Usada para establece conexiones seguras usando SSL
    • mysqli::stat - Obtiene el estado actual del sistema
    • mysqli::stmt_init - Inicializa una sentencia y devuelve un objeto para usarlo con mysqli_stmt_prepare
    • mysqli::store_result - Transfiere un conjunto de resulados de la última consulta
    • mysqli::thread_safe - Devuelve si la seguridad a nivel de hilos está dada o no
    • mysqli::use_result - Inicia la resuperación de un conjunto de resultados
    • mysqli::__construct - Abre una nueva conexión al servidor de MySQL
    • mysqli_bind_param - Alias de mysqli_stmt_bind_param
    • mysqli_bind_result - Alias de mysqli_stmt_bind_result
    • mysqli_client_encoding - Alias de mysqli_character_set_name
    • mysqli_connect - Alias de mysqli::__construct
    • mysqli_disable_reads_from_master - Deshabilita las lecturas desde el maestro
    • mysqli_disable_rpl_parse - Deshabilita el interprete RPL
    • mysqli_driver::$report_mode - Habilita o desabilita las funciones internas de notificación
    • mysqli_driver::embedded_server_end - Detener el servidor incrustado
    • mysqli_driver::embedded_server_start - Inicializa e inicia el servidor embebido
    • mysqli_enable_reads_from_master - Activa las lecturas desde el maestro
    • mysqli_enable_rpl_parse - Habilita el interprete RPL
    • mysqli_escape_string - Alias de mysqli_real_escape_string
    • mysqli_execute - Alias para mysqli_stmt_execute
    • mysqli_fetch - Alias de mysqli_stmt_fetch
    • mysqli_get_cache_stats - Devuelve el caché de estadísticas Zval del cliente
    • mysqli_get_client_stats - Devuelve estadísticas de clientes por proceso
    • mysqli_get_client_version - Devuelve la versión clientes de MySQL como valor de tipo integer
    • mysqli_get_metadata - Alias de mysqli_stmt_result_metadata
    • mysqli_master_query - Fuerza la ejecución de una cosulta en un maestro en una configuración maestro/esclavo
    • mysqli_param_count - Alias de mysqli_stmt_param_count
    • mysqli_report - Alias de of mysqli_driver->report_mode
    • mysqli_result::$current_field - Obtener posición del campo actual de un puntero a un resultado
    • mysqli_result::$field_count - Obtiene el número de campos de un resultado
    • mysqli_result::$lengths - Retorna los largos de las columnas de la fila actual en el resultset
    • mysqli_result::$num_rows - Obtiene el número de filas de un resultado
    • mysqli_result::data_seek - Ajustar el puntero de resultado a una fila arbitraria del resultado
    • mysqli_result::fetch_all - Obtener todas las filas en un array asociativo, numérico, o en ambos
    • mysqli_result::fetch_array - Obtiene una fila de resultados como un array asociativo, numérico, o ambos
    • mysqli_result::fetch_assoc - Obtiene una fila de resultado como un array asociativo
    • mysqli_result::fetch_field - Retorna el próximo campo del resultset
    • mysqli_result::fetch_fields - Devuelve un array de objetos que representan los campos de un conjunto de resultados
    • mysqli_result::fetch_field_direct - Obtener los metadatos de un único campo
    • mysqli_result::fetch_object - Devuelve la fila actual de un conjunto de resultados como un objeto
    • mysqli_result::fetch_row - Obtener una fila de resultados como un array enumerado
    • mysqli_result::field_seek - Establecer el puntero del resultado al índice del campo especificado
    • mysqli_result::free - Libera la memoria asociada a un resultado
    • mysqli_rpl_parse_enabled - Verifica si está habilitado el interprete RPL
    • mysqli_rpl_probe - Exploración RPL
    • mysqli_send_long_data - Alias de mysqli_stmt_send_long_data
    • mysqli_slave_query - Fuerza la ejecución de una cosulta en un esclavo en una configuración maestro/esclavo
    • mysqli_stmt::$affected_rows - Devuelve el número total de filas cambiadas, borradas, o insertadas por la última sentencia ejecutada
    • mysqli_stmt::$errno - Devuelve el código de error de la llamada de la sentencia más reciente
    • mysqli_stmt::$error - Devuelve una descripción como cadena del último error de una sentencia
    • mysqli_stmt::$error_list - Devuelve una lista de errores de la última sentencia ejecutada
    • mysqli_stmt::$field_count - Devuelve el número de campos de la sentencia dada
    • mysqli_stmt::$insert_id - Obtener el ID generado en la operación INSERT anterior
    • mysqli_stmt::$num_rows - Devuelve el número de filas de un conjunto de resultados de una sentencia
    • mysqli_stmt::$param_count - Devuelve el número de parámetros de la sentencia dada
    • mysqli_stmt::$sqlstate - Devuelve el error SQLSTATE de la operación de sentencia previa
    • mysqli_stmt::attr_get - Se utiliza para obtener el valor actual de un atributo de la sentencia
    • mysqli_stmt::attr_set - Se utiliza para modificar el comportamiento de una sentencia preparada
    • mysqli_stmt::bind_param - Agrega variables a una sentencia preparada como parámetros
    • mysqli_stmt::bind_result - Vincula variables a una sentencia preparada para el almacenamiento de resultados
    • mysqli_stmt::close - Cierra una sentencia preparada
    • mysqli_stmt::data_seek - Busca una fila arbitraria en un conjunto de resultados de una sentencia
    • mysqli_stmt::execute - Ejecuta una consulta preparada
    • mysqli_stmt::fetch - Obtiene los resultados de una sentencia preparadas en las variables vinculadas
    • mysqli_stmt::free_result - Libera la memoria de los resultados almacenados del gestor de sentencia dado
    • mysqli_stmt::get_result - Obtiene un conjunto de resultados de una sentencia preparada
    • mysqli_stmt::get_warnings - Obtener los resultados de SHOW WARNINGS
    • mysqli_stmt::more_results - Comprobar si existen más resultados de una consulta de consultas múltiples
    • mysqli_stmt::next_result - Lee el siguiente resultado de una consulta múltiple
    • mysqli_stmt::prepare - Preparar una sentencia SQL para su ejecución
    • mysqli_stmt::reset - Reinicia una sentencia preparada
    • mysqli_stmt::result_metadata - Devuelve los metadatos del conjunto de resultados de una sentencia preparada
    • mysqli_stmt::send_long_data - Enviar datos en bloques
    • mysqli_stmt::store_result - Transfiere un conjunto de resultados desde una sentencia preparada
    • mysqli_warning::next - El propósito next
    • mysqli_warning::__construct - El propósito __construct
    • MysqlndUhConnection::changeUser - Cambia el usuario de la conexión de la base de datos de mysqlnd especificada
    • MysqlndUhConnection::charsetName - Devuelve el conjunto de caracters predeterminado de la conexión de la base de datos
    • MysqlndUhConnection::close - Cierra una conexión a una base de datos abierta previamente
    • MysqlndUhConnection::connect - Abre una nueva conexión al servidor MySQL
    • MysqlndUhConnection::endPSession - Finaliza una conexión persistente
    • MysqlndUhConnection::escapeString - Escapa los caracteres especiales en una cadena para usarla en una sentencia SQL, tomando en cuenta el conjunto de caracteres actual de la conexión
    • MysqlndUhConnection::getAffectedRows - Obtiene el número de filas afectadas en una operación de MySQL anterior
    • MysqlndUhConnection::getErrorNumber - Devuelve el código de error de la llamada más reciente a una función
    • MysqlndUhConnection::getErrorString - Devuelve una descripción del último error
    • MysqlndUhConnection::getFieldCount - Devuelve el número de columnas de la consulta más reciente
    • MysqlndUhConnection::getHostInformation - Devuelve una representación de tipo string del tipo de conexión usada
    • MysqlndUhConnection::getLastInsertId - Devuelve el id autogenerado en la última consulta
    • MysqlndUhConnection::getLastMessage - Recupera información sobre la consulta ejecutadamás recientemente
    • MysqlndUhConnection::getProtocolInformation - Devuelve la versión del protocolo de MySQL usado
    • MysqlndUhConnection::getServerInformation - Devuelve la versión del servidor MySQL
    • MysqlndUhConnection::getServerStatistics - Obtiene el estado actual del sistema
    • MysqlndUhConnection::getServerVersion - Devuelve la versión del servidor MySQL en forma de entero
    • MysqlndUhConnection::getSqlstate - Devuelve el error SQLSTATE de la operación anterior de MySQL
    • MysqlndUhConnection::getStatistics - Devuelve estadísticas sobre la conexión cliente
    • MysqlndUhConnection::getThreadId - Devuelve el ID del hilo de la conexión en uso
    • MysqlndUhConnection::getWarningCount - Devuelve el número de advertencias de la última consulta para el enlace dado
    • MysqlndUhConnection::init - Iniciliza una conexión de mysqlnd
    • MysqlndUhConnection::killConnection - Pregunta al servidor para matar un subproceso de MySQL
    • MysqlndUhConnection::listFields - Enumera los campos de una tabla de MySQL
    • MysqlndUhConnection::listMethod - Envoltura para comandos de listas desordenadas
    • MysqlndUhConnection::moreResults - Comprueba si existen más resultados de consultas en una multiconsulta
    • MysqlndUhConnection::nextResult - Prepara el siguiente resultado de multi_query
    • MysqlndUhConnection::ping - Comprueba una conexión al servidor, o intenta reconectar si la conexión ha caído
    • MysqlndUhConnection::query - Realiza una consulta en la base de datos
    • MysqlndUhConnection::queryReadResultsetHeader - Lee una cabecera del conjunto de resultados
    • MysqlndUhConnection::reapQuery - Obtiene el resultado de una consulta asicrónica
    • MysqlndUhConnection::refreshServer - Vacía o reinicia las tablas y las cachés
    • MysqlndUhConnection::restartPSession - Reinicializa una conexión persistente a mysqlnd
    • MysqlndUhConnection::selectDb - Selecciona la base de datos predeterminada para su consulta
    • MysqlndUhConnection::sendClose - Envía un comando de cierre a MySQL
    • MysqlndUhConnection::sendQuery - Envía una consulta a MySQL
    • MysqlndUhConnection::serverDumpDebugInformation - Vierte la información de depuración en el registro para el servidor MySQL
    • MysqlndUhConnection::setAutocommit - Activa o desactiva la autoconsigna de las modificaciones de la base de datos
    • MysqlndUhConnection::setCharset - Establece el conjunto de caracteres predeterminado del cliente
    • MysqlndUhConnection::setClientOption - Establece una opción del cliente
    • MysqlndUhConnection::setServerOption - Establece una opción del servidor
    • MysqlndUhConnection::shutdownServer - The shutdownServer purpose
    • MysqlndUhConnection::simpleCommand - Envía un comando COM_* básico
    • MysqlndUhConnection::simpleCommandHandleResponse - Procesa una respuesta para un comando COM_* básico enviado al cliente
    • MysqlndUhConnection::sslSet - Usado para establecer conexiones seguras con SSL
    • MysqlndUhConnection::stmtInit - Iniciliza una sentencia y devuelve un recurso para usarlo con mysqli_statement::prepare
    • MysqlndUhConnection::storeResult - Transfiere un conjunto de resultados de la última consulta
    • MysqlndUhConnection::txCommit - Consigna la transacción en uso
    • MysqlndUhConnection::txRollback - Revierte la transacción en uso
    • MysqlndUhConnection::useResult - Inicia una recuperación de un conjunto de resultados
    • MysqlndUhConnection::__construct - The __construct purpose
    • MysqlndUhPreparedStatement::execute - Ejecuta una consulta preparada
    • MysqlndUhPreparedStatement::prepare - Prepara una sentencia SQL para su ejecución
    • MysqlndUhPreparedStatement::__construct - The __construct purpose
    • mysqlnd_memcache_get_config - Returns information about the plugin configuration
    • mysqlnd_memcache_set - Associate a MySQL connection with a Memcache connection
    • mysqlnd_ms_get_last_gtid - Devuelve el último ID de transacciones global
    • mysqlnd_ms_get_last_used_connection - Devuelve un array que describe la última conexión usada
    • mysqlnd_ms_get_stats - Devuelve la distribución consultas y las estadísticas de conexión
    • mysqlnd_ms_match_wild - Comprueba si el nombre de una tabla coincide con un patrón comodín
    • mysqlnd_ms_query_is_select - Comprueba si se envía la conslta al servidor maestro, al esclavo, o al último servidor MySQL usado
    • mysqlnd_ms_set_qos - Establece la calidad de servicio necesaria de un clúster
    • mysqlnd_ms_set_user_pick_server - Establece una llamada de retorno para la división de lectura/escritura definida por el usuario
    • mysqlnd_qc_clear_cache - Vacía todo el contenido de la caché
    • mysqlnd_qc_get_available_handlers - Devuelve una lista de los gestores de almacenamiento disponibles
    • mysqlnd_qc_get_cache_info - Devuelve información sobre el gestor en uso, el número de entradas de la caché y sobre las entradas de la caché, si está disponible
    • mysqlnd_qc_get_core_stats - Estadísticas recopiladas por el núcleo de la caché de consultas
    • mysqlnd_qc_get_normalized_query_trace_log - Devuelve un registro de rastreo de consultas normalizadas para cada consulta inspeccionada por la caché de consultas
    • mysqlnd_qc_get_query_trace_log - Devuelve información de rastreo para cada consulta inspeccionada por la caché de consultas
    • mysqlnd_qc_set_cache_condition - Establece las condiciones para el almacenamiento en caché automático
    • mysqlnd_qc_set_is_select - Instala una llamada de retorno que decide si una sentencia es almacenada en caché
    • mysqlnd_qc_set_storage_handler - Cambia el gestor de almacenamiento en uso
    • mysqlnd_qc_set_user_handlers - Establece las funciones de llamada de retorno para un gestor de almacenamiento procedimental definido por el usuario
    • mysqlnd_uh_convert_to_mysqlnd - Convierte un gestor de conexión de MySQL a uno de mysqlnd
    • mysqlnd_uh_set_connection_proxy - Instala un proxy para las conexiones de mysqlnd
    • mysqlnd_uh_set_statement_proxy - Instala un proxy para sentencias de mysqlnd
    • mysql_affected_rows - Obtiene el número de filas afectadas en la anterior operación de MySQL
    • mysql_client_encoding - Devuelve el nombre del conjunto de caracteres
    • mysql_close - Cierra una conexión de MySQL
    • mysql_connect - Abre una conexión al servidor MySQL
    • mysql_create_db - Crea una base de datos MySQL
    • mysql_data_seek - Mueve el puntero de resultados interno
    • mysql_db_name - Recupera el nombre de la base de datos desde una llamada a mysql_list_dbs
    • mysql_db_query - Selecciona una base de datos y ejecuta una consulta sobre la misma
    • mysql_drop_db - Elimina (DROP) una base de datos MySQL
    • mysql_errno - Devuelve el valor numérico del mensaje de error de la última operación MySQL
    • mysql_error - Devuelve el texto del mensaje de error de la operación MySQL anterior
    • mysql_escape_string - Escapa una cadena para ser usada en mysql_query
    • mysql_fetch_array - Recupera una fila de resultados como un array asociativo, un array numérico o como ambos
    • mysql_fetch_assoc - Recupera una fila de resultados como un array asociativo
    • mysql_fetch_field - Obtiene la información de una columna de un resultado y la devuelve como un objeto
    • mysql_fetch_lengths - Obtiene la longitud de cada salida en un resultado
    • mysql_fetch_object - Recupera una fila de resultados como un objeto
    • mysql_fetch_row - Obtiene una fila de resultados como un array numérico
    • mysql_field_flags - Obtiene las banderas asociadas al campo especificado de un resultado
    • mysql_field_len - Devuelve la longitud del campo especificado
    • mysql_field_name - Obtiene el nombre del campo especificado de un resultado
    • mysql_field_seek - Establece el puntero del resultado en un índice de campo específicado
    • mysql_field_table - Obtiene el nombre de la tabla en la que está el campo especificado
    • mysql_field_type - Obtiene el tipo del campo especificado de un resultado
    • mysql_free_result - Libera la memoria del resultado
    • mysql_get_client_info - Obtiene información del cliente MySQL
    • mysql_get_host_info - Obtener información del anfitrión de MySQL
    • mysql_get_proto_info - Obtener información del protocolo MySQL
    • mysql_get_server_info - Obtiene información del servidor MySQL
    • mysql_info - Obtiene información sobre la consulta más reciente
    • mysql_insert_id - Obtiene el ID generado en la última consulta
    • mysql_list_dbs - Lista las bases de datos disponibles en un servidor MySQL
    • mysql_list_fields - Lista los campos de una tabla de MySQL
    • mysql_list_processes - Lista los procesos de MySQL
    • mysql_list_tables - Lista las tablas de una base de datos MySQL
    • mysql_num_fields - Obtiene el número de campos de un resultado
    • mysql_num_rows - Obtener el número de filas de un conjunto de resultados
    • mysql_pconnect - Abre una conexión persistente a un servidor MySQL
    • mysql_ping - Efectuar un chequeo de respuesta (ping) sobre una conexión al servidor o reconectarse si no hay conexión
    • mysql_query - Enviar una consulta MySQL
    • mysql_real_escape_string - Escapa caracteres especiales en un string para su uso en una sentencia SQL
    • mysql_result - Obtener datos de resultado
    • mysql_select_db - Seleccionar una base de datos MySQL
    • mysql_set_charset - Establece el conjunto de caracteres del cliente
    • mysql_stat - Obtiene el estado actual del sistema
    • mysql_tablename - Obtiene el nombre de la tabla de un campo
    • mysql_thread_id - Devuelve el ID del hilo actual
    • mysql_unbuffered_query - Envía una consulta SQL a MySQL, sin recuperar ni almacenar en búfer las filas de resultados
    • m_checkstatus - Comprueba si una transacción se ha completado
    • m_completeauthorizations - Número de autorizaciones completas en cola, devolviendo un array de sus identificadores
    • m_connect - Establecer la conexión con MCVE
    • m_connectionerror - Obtener una representación textual del por qué de un error de conexión
    • m_deletetrans - Eliminar transacciones específicas de la estructura MCVE_CONN
    • m_destroyconn - Destruir la conexión y estructura MCVE_CONN
    • m_destroyengine - Liberar la memoria asociada con conectividad IP / SSL
    • m_getcell - Obtener una celda específica de una respuesta delimitada por coma mediante el nombre de columna
    • m_getcellbynum - Obtener una celda específica de una respuesta delimitada por comas mediante el número de columna
    • m_getcommadelimited - Obtener la información RAW delimitada por comas devuelta desde MCVE
    • m_getheader - Obtener el nombre de la columna de una respuesta delimitada por comas
    • m_initconn - Crear e inicializar una estructura MCVE_CONN
    • m_initengine - Preparar el cliente para la comunicación IP / SSL
    • m_iscommadelimited - Comprueba si la respuesta es delimitada por comas
    • m_maxconntimeout - La cantidad máxima de tiempo que el API se intenta conectar con MCVE
    • m_monitor - Realizar la comunicación con MCVE (envío / recepción de datos) sin bloqueo
    • m_numcolumns - Número de columnas devueltas en una respuesta delimitado por comas
    • m_numrows - Número de filas devueltas en una respuesta delimitado por comas
    • m_parsecommadelimited - Analizar la respuesta delimitado por comas para m_getcell, etc
    • m_responsekeys - Devuelve un array de cadenas que representa las claves que se pueden utilizar para los parámetros de respuesta en esta transacción
    • m_responseparam - Obtener un parámetro de respuesta personalizado
    • m_returnstatus - Comprueba si la operación fue un éxito
    • m_setblocking - Establecer el modo de bloqueo / no-bloqueo para la conexión
    • m_setdropfile - Establecer la conexión para el método Drop-File
    • m_setip - Establecer la conexión para el método IP
    • m_setssl - Establecer el método de conexión a SSL
    • m_setssl_cafile - Establecer SSL CA (Autoridad de Certificación de archivos) para la verificación del certificado de servidor
    • m_setssl_files - Establecer los ficheros clave y los certificados si el servidor requiere una verificación de certificado
    • m_settimeout - Establecer el tiempo máximo por transacción
    • m_sslcert_gen_hash - Generar hash para verificación de certificado de cliente SSL
    • m_transactionssent - Comprueba si el buffer de salida está limpio
    • m_transinqueue - Número de transacciones en la cola del cliente
    • m_transkeyval - Añadir pareja clave / valor a una transacción. Sustituye transParam() obsoleto
    • m_transnew - Iniciar una nueva transacción
    • m_transsend - Finalizar y enviar la transacción
    • m_uwait - Esperar x microsegundos
    • m_validateidentifier - Si validar el identificador pasado a una transacción
    • m_verifyconnection - Establecer si debe o no conectar a PING upon para verificar la conexión
    • m_verifysslcert - Establecer si se debe o no verificar el certificado del servidor SSL
  • n
    • natcasesort - Ordenar un array usando un algoritmo de "orden natural" insensible a mayúsculas-minúsculas
    • natsort - Ordena un array usando un algoritmo de "orden natural"
    • ncurses_addch - Agregar un caracter en la posición actual y avanzar el cursor
    • ncurses_addchnstr - Agregar cadena con atributos y longitud especificada en la posición actual
    • ncurses_addchstr - Agregar una cadena con atributos en la posición actual
    • ncurses_addnstr - Agregar una cadena con la longitud especificada en la posición actual
    • ncurses_addstr - Imprimir texto en la posición actual
    • ncurses_assume_default_colors - Definir colores predeterminados para el color 0
    • ncurses_attroff - Deshabilitar los atributos dados
    • ncurses_attron - Habilitar los atributos dados
    • ncurses_attrset - Establecer los atributos dados
    • ncurses_baudrate - Devuelve la tasa de baudios de la terminal
    • ncurses_beep - Producir un beep en la terminal
    • ncurses_bkgd - Establecer la propiedad de segundo plano para la pantalla de la terminal
    • ncurses_bkgdset - Controla el segundo plano de la pantalla
    • ncurses_border - Dibujar un borde alrededor de la pantalla usando caracteres con atributos
    • ncurses_bottom_panel - Mueve un panel visible al fondo de la pila
    • ncurses_can_change_color - Comprobar si las definiciones de color del terminal se pueden cambiar
    • ncurses_cbreak - Desactivar el buffer de entrada
    • ncurses_clear - Limpiar la pantalla
    • ncurses_clrtobot - Limpiar la pantalla desde la posición actual al final
    • ncurses_clrtoeol - Limpiar la pantalla desde la posición actual al final de la línea
    • ncurses_color_content - Obtiene los componentes RGB de un color
    • ncurses_color_set - Establecer los colores de primer plano y fondo activos
    • ncurses_curs_set - Establecer el estado del cursor
    • ncurses_define_key - Definir un código de tecla
    • ncurses_def_prog_mode - Guarda los modos de terminal (programa)
    • ncurses_def_shell_mode - Guarda los modos de terminal (intérprete de comandos)
    • ncurses_delay_output - Retrasar la salida en la terminal usando caracteres de relleno
    • ncurses_delch - Eliminar un caracter en la posición actual, mover el resto de la línea hacia la izquierda
    • ncurses_deleteln - Eliminar una línea en la posición actual, mover el resto de la pantalla hacia arriba
    • ncurses_delwin - Eliminar una ventana ncurses
    • ncurses_del_panel - Remover un panel de la pila y eliminarlo (pero no la ventana asociada)
    • ncurses_doupdate - Escribir todas las actualizaciones preparadas sobre la terminal
    • ncurses_echo - Activar la repetición de entrada del teclado
    • ncurses_echochar - Salida de un caracter sencillo, incluyendo actualización
    • ncurses_end - Dejar de usar ncurses, limpiar la pantalla
    • ncurses_erase - Limpiar pantalla de terminal
    • ncurses_erasechar - Devuelve el caracter de borrado actual
    • ncurses_filter - Definir LINES para iniscr() y newterm() a 1
    • ncurses_flash - Relampaguear la pantalla de terminal (campana visual)
    • ncurses_flushinp - Volcar el búfer de entrada de teclado
    • ncurses_getch - Leer un caracter desde el teclado
    • ncurses_getmaxyx - Devuelve el tamaño de una ventana
    • ncurses_getmouse - Lee los eventos del ratón
    • ncurses_getyx - Devuelve la posición de cursor actual para una ventana
    • ncurses_halfdelay - Colocar la terminal en modo de medio retraso
    • ncurses_has_colors - Comprueba si el terminal tiene capacidades de color
    • ncurses_has_ic - Chequear por el soporte de inserción y borrado
    • ncurses_has_il - Chequea el soporte de inserción y borrado
    • ncurses_has_key - Chequear por la presencia de una tecla de función en el teclado de la terminal
    • ncurses_hide_panel - Remover un panel de la pila, haciéndolo invisible
    • ncurses_hline - Dibujar una línea horizontal en la posición actual usando un caracter con atributos, y de máximo n caracteres de largo
    • ncurses_inch - Obtener el caracter y los atributos de la posición actual
    • ncurses_init - Inicializar ncurses
    • ncurses_init_color - Definir un color de termimal
    • ncurses_init_pair - Definir una pareja de colores
    • ncurses_insch - Insertar un caracter, moviendo el resto de la línea, incluyendo el caracter en la posición actual
    • ncurses_insdelln - Insertar líneas antes de la línea actual, desplazando hacia abajo (los números negativos eliminan líneas y desplazan hacia arriba)
    • ncurses_insertln - Insertar una línea, mover el resto de la pantalla hacia abajo
    • ncurses_insstr - Insertar cadena en la posición actual, moviendo el resto de la línea hacia la derecha
    • ncurses_instr - Lee una cadena desde la pantalla de terminal
    • ncurses_isendwin - Ncurses está en modo endwin, se puede realizar una salida normal por pantalla
    • ncurses_keyok - Habilitar o deshabilitar un código de tecla
    • ncurses_keypad - Activa o desactiva el teclado numérico
    • ncurses_killchar - Devuelve el caracter de eliminación de línea actual
    • ncurses_longname - Devuelve la descripción de la terminal
    • ncurses_meta - Habilita/deshabilita la meta-información de 8-bits de tecla
    • ncurses_mouseinterval - Establecer el tiempo de espera para clics de botón del mouse
    • ncurses_mousemask - Establece las opciones del ratón
    • ncurses_mouse_trafo - Transforma coordenadas
    • ncurses_move - Mover la posición de salida
    • ncurses_move_panel - Mueve un panel de modo que su esquina superior izquierda se encuentre en [comienzo_x, comienzo_y]
    • ncurses_mvaddch - Mover la posición actual y agregar un caracter
    • ncurses_mvaddchnstr - Mover la posición y agregar una cadena con atributos con la longitud especificada
    • ncurses_mvaddchstr - Mover la posición y agregar una cadena con atributos
    • ncurses_mvaddnstr - Mover la posición y agregar una cadena con la longitud especificada
    • ncurses_mvaddstr - Mover la posición y agregar una cadena
    • ncurses_mvcur - Mover el cursor inmediatamente
    • ncurses_mvdelch - Mover la posición y eliminar un caracter, desplazar el resto de la línea hacia la izquierda
    • ncurses_mvgetch - Mover la posición y obtener el caracter en la nueva posición
    • ncurses_mvhline - Establecer una nueva posición y dibujar una línea horizontal usando un caracter con atributos y una longitud máxima de n caracteres
    • ncurses_mvinch - Mover la posición y obtener el caracter con atributos en la nueva posición
    • ncurses_mvvline - Establecer una nueva posición y dibujar una línea vertical usando un caracter con atributos y una longitud máxima de n caracteres
    • ncurses_mvwaddstr - Añadir una cadena en una posicón nueva de la ventana
    • ncurses_napms - Dormir
    • ncurses_newpad - Crea un nuevo pad (ventana)
    • ncurses_newwin - Crear una nueva ventana
    • ncurses_new_panel - Crear un nuevo panel y asociarlo con una ventana
    • ncurses_nl - Traducir línea nueva y retorno de carro / alimentación de línea
    • ncurses_nocbreak - Cambiar la terminal a modo normal (cooked)
    • ncurses_noecho - Desactivar la repetición de entrada del teclado
    • ncurses_nonl - No traducir línea nueva y retorno de carro / alimentación de línea
    • ncurses_noqiflush - No realizar volcados en caracteres de señales
    • ncurses_noraw - Salir del modo puro en la terminal
    • ncurses_pair_content - Obtiene los colores de primer plano y fondo de una pareja de colores
    • ncurses_panel_above - Devuelve el panel encima del panel indicado
    • ncurses_panel_below - Devuelve el panel por debajo del panel indicado
    • ncurses_panel_window - Devuelve la ventana asociada con el panel
    • ncurses_pnoutrefresh - Copia una región desde un pad a la pantalla virtual
    • ncurses_prefresh - Copia una región desde un pad a la pantalla virtual
    • ncurses_putp - Aplicar la información de márgenes a la cadena e imprimirla
    • ncurses_qiflush - Producir volcado en caracteres de señales
    • ncurses_raw - Colocar la terminal en modo puro
    • ncurses_refresh - Refrescar la pantalla
    • ncurses_replace_panel - Reemplaza la ventana asociada con el panel
    • ncurses_resetty - Restablece el estado guardado de la terminal
    • ncurses_reset_prog_mode - Restablece el modo de programa guardado por def_prog_mode
    • ncurses_reset_shell_mode - Restablece el modo de intérprete de comandos guardado por def_shell_mode
    • ncurses_savetty - Guarda el estado de la terminal
    • ncurses_scrl - Desplazar el contenido de la ventana hacia arriba o abajo sin cambiar la posición actual
    • ncurses_scr_dump - Vuelca el contenido de la pantalla en un archivo
    • ncurses_scr_init - Inicializar la pantalla desde un volcado en un archivo
    • ncurses_scr_restore - Recuperar la pantalla desde un volcado en un archivo
    • ncurses_scr_set - Heredar la pantalla de un volcado en un archivo
    • ncurses_show_panel - Coloca un panel invisible al comienzo de la pila, haciéndola visible
    • ncurses_slk_attr - Devuelve el atributo de la etiqueta suave de teclado
    • ncurses_slk_attroff - Deshabilitar los atributos dados para las etiquetas suaves de teclado
    • ncurses_slk_attron - Habilitar los atributos dados para las etiquetas suaves de funciones de teclado
    • ncurses_slk_attrset - Definir los atributos dados para las etiquetas suaves de funciones de teclado
    • ncurses_slk_clear - Limpia las etiquetas suaves de la pantalla
    • ncurses_slk_color - Establece el color para las etiquetas suaves de teclado
    • ncurses_slk_init - Inicializa las funciones de tecla de etiquetación suave
    • ncurses_slk_noutrefresh - Copia las etiquetas suaves de teclado a la pantalla virtual
    • ncurses_slk_refresh - Copia las etiquetas suaves de teclado a la pantalla
    • ncurses_slk_restore - Recupera las etiquetas suaves de teclado
    • ncurses_slk_set - Establece las etiquetas de teclado
    • ncurses_slk_touch - Obliga a que se produzca salida cuando se ejecute ncurses_slk_noutrefresh
    • ncurses_standend - Dejar de usar el atributo 'standout'
    • ncurses_standout - Comenzar a usar el atributo 'standout'
    • ncurses_start_color - Inicializa la funcionalidad de color
    • ncurses_termattrs - Devuelve un valor OR lógico de todas las banderas de atributos soportados por la terminal
    • ncurses_termname - Devuelve el nombre (corto) de la terminal
    • ncurses_timeout - Establecer el tiempo de espera para secuencias especiales de teclas
    • ncurses_top_panel - Mueve un panel visible al tope de la pila
    • ncurses_typeahead - Especificar un descriptor de archivo diferente para el chequeo de escritura siguiente
    • ncurses_ungetch - Colocar un caracter de vuelta en la secuencia de entrada
    • ncurses_ungetmouse - Coloca un evento de mouse en la cola
    • ncurses_update_panels - Refresca la pantalla virtual, para reflejar las relaciones entre los paneles en la pila
    • ncurses_use_default_colors - Asignar los colores predeterminados de la terminal al id de color -1
    • ncurses_use_env - Controlar el uso de información del entorno sobre el tamaño de la terminal
    • ncurses_use_extended_names - Controlar el uso de nombres extendidos en descripciones de información de terminal
    • ncurses_vidattr - Desplegar la cadena en la terminal con el atributo de modo de video
    • ncurses_vline - Dibujar una línea vertical en la posición actual usando un caracter con atributos y una longitud máxima de n caracteres
    • ncurses_waddch - Agrega un caracter en la posición actual de una ventana y avanza el cursor
    • ncurses_waddstr - Imprime un texto en la posición actual de una ventana
    • ncurses_wattroff - Deshabilita los atributos para una ventana
    • ncurses_wattron - Habilita los atributos para una ventana
    • ncurses_wattrset - Establecer los atributos para una ventana
    • ncurses_wborder - Dibuja un borde alrededor de la ventana usando caracteres con atributos
    • ncurses_wclear - Limpia la ventana
    • ncurses_wcolor_set - Establece parejas de colores en la ventana
    • ncurses_werase - Eliminar los contenidos de la ventana
    • ncurses_wgetch - Lee un caracter desde el teclado (en la ventana)
    • ncurses_whline - Dibuja una línea horizontal en una ventana en la posición actual usando un caracter con atributos y un largo máximo de n caracteres
    • ncurses_wmouse_trafo - Transforma coordenadas de ventana/stdscr
    • ncurses_wmove - Mueve la posición de salida de la ventana
    • ncurses_wnoutrefresh - Copia la ventana a la pantalla virtual
    • ncurses_wrefresh - Refrescar la ventana en la pantalla de terminal
    • ncurses_wstandend - Finaliza el modo standout para una ventana
    • ncurses_wstandout - Ingresar a modo standout en una ventana
    • ncurses_wvline - Dibuja una línea vertical en una ventana en la posición actual usando un caracter con atributos y una longitud máxima de n caracteres
    • newt_bell - Enviar sonido bip a la terminal
    • newt_button - Crear un nuevo botón
    • newt_button_bar - Esta función devuelve una tabla que contiene los botones creados
    • newt_centered_window - Abrir una ventana centrada de un tamaño específico
    • newt_checkbox - Descripción
    • newt_checkbox_get_value - Obtener el valor del recurso checkbox
    • newt_checkbox_set_flags - Configura el recurso checkbox
    • newt_checkbox_set_value - Establece el valor de la checkbox
    • newt_checkbox_tree - Descripción
    • newt_checkbox_tree_add_item - Añade un nuevo ítem al árbol checkbox
    • newt_checkbox_tree_find_item - Busca un elemento en el árbol de casillas de verificación
    • newt_checkbox_tree_get_current - Devuelve el elemento seleccionado del árbol de casillas de verificación
    • newt_checkbox_tree_get_entry_value - Descripción
    • newt_checkbox_tree_get_multi_selection - Descripción
    • newt_checkbox_tree_get_selection - Descripción
    • newt_checkbox_tree_multi - Descripción
    • newt_checkbox_tree_set_current - Descripción
    • newt_checkbox_tree_set_entry - Descripción
    • newt_checkbox_tree_set_entry_value - Descripción
    • newt_checkbox_tree_set_width - Descripción
    • newt_clear_key_buffer - Desecha el contenido del búfer de entrada del terminal sin esperar a entradas adicionales
    • newt_cls - Descripción
    • newt_compact_button - Descripción
    • newt_component_add_callback - Descripción
    • newt_component_takes_focus - Descripción
    • newt_create_grid - Descripción
    • newt_cursor_off - Descripción
    • newt_cursor_on - Descripción
    • newt_delay - Descripción
    • newt_draw_form - Descripción
    • newt_draw_root_text - Muestra el texto de cadena en la posición indicada
    • newt_entry - Descripción
    • newt_entry_get_value - Descripción
    • newt_entry_set - Descripción
    • newt_entry_set_filter - Descripción
    • newt_entry_set_flags - Descripción
    • newt_finished - Desinicializa la interfaz de newt
    • newt_form - Crea un formulario
    • newt_form_add_component - Añade un único componente al formulario
    • newt_form_add_components - Añade varios componentes al formulario
    • newt_form_add_hot_key - Descripción
    • newt_form_destroy - Destruye un formulario
    • newt_form_get_current - Descripción
    • newt_form_run - Ejecuta un formulario
    • newt_form_set_background - Descripción
    • newt_form_set_height - Descripción
    • newt_form_set_size - Descripción
    • newt_form_set_timer - Descripción
    • newt_form_set_width - Descripción
    • newt_form_watch_fd - Descripción
    • newt_get_screen_size - Rellena las referencias pasadas con el tamaño actual del terminal
    • newt_grid_add_components_to_form - Descripción
    • newt_grid_basic_window - Descripción
    • newt_grid_free - Descripción
    • newt_grid_get_size - Descripción
    • newt_grid_h_close_stacked - Descripción
    • newt_grid_h_stacked - Descripción
    • newt_grid_place - Descripción
    • newt_grid_set_field - Descripción
    • newt_grid_simple_window - Descripción
    • newt_grid_v_close_stacked - Descripción
    • newt_grid_v_stacked - Descripción
    • newt_grid_wrapped_window - Descripción
    • newt_grid_wrapped_window_at - Descripción
    • newt_init - Inicializa newt
    • newt_label - Descripción
    • newt_label_set_text - Descripción
    • newt_listbox - Descripción
    • newt_listbox_append_entry - Descripción
    • newt_listbox_clear - Descripción
    • newt_listbox_clear_selection - Descripción
    • newt_listbox_delete_entry - Descripción
    • newt_listbox_get_current - Descripción
    • newt_listbox_get_selection - Descripción
    • newt_listbox_insert_entry - Descripción
    • newt_listbox_item_count - Descripción
    • newt_listbox_select_item - Descripción
    • newt_listbox_set_current - Descripción
    • newt_listbox_set_current_by_key - Descripción
    • newt_listbox_set_data - Descripción
    • newt_listbox_set_entry - Descripción
    • newt_listbox_set_width - Descripción
    • newt_listitem - Descripción
    • newt_listitem_get_data - Descripción
    • newt_listitem_set - Descripción
    • newt_open_window - Abre una ventana con el tamaño y posición especificados
    • newt_pop_help_line - Reemplaza la línea actual de ayuda con la procedente de la pila
    • newt_pop_window - Elimina la ventana superior de la exposición
    • newt_push_help_line - Guarda la línea actual de ayuda en una pila, y muestra la nueva línea
    • newt_radiobutton - Descripción
    • newt_radio_get_current - Descripción
    • newt_redraw_help_line - Descripción
    • newt_reflow_text - Descripción
    • newt_refresh - Actualiza las porciones modificadas de la pantalla
    • newt_resize_screen - Descripción
    • newt_resume - Reanudación usando la interfaz de newt después de llamar a newt_suspend
    • newt_run_form - Ejecuta un formulario
    • newt_scale - Descripción
    • newt_scale_set - Descripción
    • newt_scrollbar_set - Descripción
    • newt_set_help_callback - Descripción
    • newt_set_suspend_callback - Establece una función de llamada de retorno que se invoca cuando el usuario presiona la tecla de suspensión
    • newt_suspend - Indica a newt que devuelva el terminal a su estado inicial
    • newt_textbox - Descripción
    • newt_textbox_get_num_lines - Descripción
    • newt_textbox_reflowed - Descripción
    • newt_textbox_set_height - Descripción
    • newt_textbox_set_text - Descripción
    • newt_vertical_scrollbar - Descripción
    • newt_wait_for_key - No devolver hasta que se pulse una tecla
    • newt_win_choice - Descripción
    • newt_win_entries - Descripción
    • newt_win_menu - Descripción
    • newt_win_message - Descripción
    • newt_win_messagev - Descripción
    • newt_win_ternary - Descripción
    • next - Avanza el puntero interno de un array
    • ngettext - Versión plural de gettext
    • nl2br - Inserta saltos de línea HTML antes de todas las nuevas líneas de un string
    • nl_langinfo - Consulta información sobre el idioma y la configuración regional
    • NoRewindIterator::current - Obtener el valor actual
    • NoRewindIterator::getInnerIterator - Obtiene el iterador interno
    • NoRewindIterator::key - Obtiene la clave actual
    • NoRewindIterator::next - Avanza al siguiente elemento
    • NoRewindIterator::rewind - Evita la operación de rebobinado en el iterador interno
    • NoRewindIterator::valid - Valida el iterador
    • NoRewindIterator::__construct - Construye un NoRewindIterator
    • Normalizer::isNormalized - Comprobar si la cadena proporcionada ya está en la forma de normalización especificada.
    • Normalizer::normalize - Normaliza la entrada provista y devuelve la cadena normalizada
    • notes_body - Abre el mensaje msg_number en el buzón indicado del servidor especificado
    • notes_copy_db - Copia a una base de datos de Lotus Notes
    • notes_create_db - Crea una base de datos de Lotus Notes
    • notes_create_note - Crea una nota usando el formulario form_name
    • notes_drop_db - Borra una base de datos de Lotus Notes
    • notes_find_note - Devuelve el ID de la nota encontrado en database_name
    • notes_header_info - Abre el mensaje msg_number en el buzón indicado del servidor especificado
    • notes_list_msgs - Devuelve las notas del database_name seleccionado
    • notes_mark_read - Marca una note_id como leída por el usuario user_name
    • notes_mark_unread - Marca una note_id como no leída por el usuario user_name
    • notes_nav_create - Crea un nombre de navegador, en database_name
    • notes_search - Encuentra notas que conciden con las palabras clave en database_name
    • notes_unread - Devuelve los ID de las notas no leídas para el actual usuario user_name
    • notes_version - Obtiene la versión de Lotus Notes
    • nsapi_request_headers - Obtiene todas las cabeceras de petición HTTP
    • nsapi_response_headers - Obtiene todas las cabeceras de respuesta HTTP
    • nsapi_virtual - Realiza una sub-petición NSAPI
    • nthmac - Obtener una clave de nthmac (necesita dos argumentos)
    • NumberFormatter::create - Crear un formateador de números
    • NumberFormatter::format - Dar formato a un número
    • NumberFormatter::formatCurrency - Dar formato a un valor monetario
    • NumberFormatter::getAttribute - Obtener un atributo
    • NumberFormatter::getErrorCode - Obtener el último código de error del formateador
    • NumberFormatter::getErrorMessage - Obtener el último mensaje de error del formateador
    • NumberFormatter::getLocale - Obtener la configuración regional de un formateador
    • NumberFormatter::getPattern - Obtener el patrón del formateador
    • NumberFormatter::getSymbol - Obtener el valor de un símbolo
    • NumberFormatter::getTextAttribute - Obtiene un atributo de texto
    • NumberFormatter::parse - Analiza un número
    • NumberFormatter::parseCurrency - Procesa un número monetario
    • NumberFormatter::setAttribute - Establecer un atributo
    • NumberFormatter::setPattern - Establecer el patrón de un formateador
    • NumberFormatter::setSymbol - Establecer un valor de símbolo
    • NumberFormatter::setTextAttribute - Set a text attribute
    • number_format - Formatear un número con los miles agrupados
  • o
    • OAuth::disableDebug - Desactiva la depuración detallada
    • OAuth::disableRedirects - Desactiva las redirecciones
    • OAuth::disableSSLChecks - Desactiva la verificación SSL
    • OAuth::enableDebug - Activa la depuración detallada
    • OAuth::enableRedirects - Activa las re-direcciones
    • OAuth::enableSSLChecks - Activa la verificación SSL
    • OAuth::fetch - Obtiene un recurso protegido por OAuth
    • OAuth::generateSignature - Generar una firma
    • OAuth::getAccessToken - Obtiene el token de acceso
    • OAuth::getCAPath - Obtiene la información CA
    • OAuth::getLastResponse - Obtiene la última respuesta
    • OAuth::getLastResponseHeaders - Obtener encabezados de la última respuesta
    • OAuth::getLastResponseInfo - Obtiene la información HTTP sobre la última respuesta
    • OAuth::getRequestHeader - Generar un string de firma de cabecera OAuth
    • OAuth::getRequestToken - Obtiene un token de petición
    • OAuth::setAuthType - Establece el tipo de autorización
    • OAuth::setCAPath - Establece la ruta a CA y su información
    • OAuth::setNonce - Configura el nonce para las solicitudes posteriores
    • OAuth::setRequestEngine - El propósito de setRequestEngine
    • OAuth::setRSACertificate - establece el certificado RSA
    • OAuth::setSSLChecks - Ajustar controles específicos de SSL para las solicitudes
    • OAuth::setTimestamp - Establece el timestamp
    • OAuth::setToken - Establece el token y el secreto
    • OAuth::setVersion - Configura la versión OAuth
    • OAuth::__construct - Crea un nuevo objeto OAuth
    • OAuth::__destruct - El destructor
    • OAuthProvider::addRequiredParameter - Agregar parámetros necesarios
    • OAuthProvider::callconsumerHandler - Llama al callback consumerNonceHandler
    • OAuthProvider::callTimestampNonceHandler - Llama al callback timestampNonceHandler
    • OAuthProvider::calltokenHandler - Llama al callback tokenNonceHandler
    • OAuthProvider::checkOAuthRequest - Revisa una petición OAuth
    • OAuthProvider::consumerHandler - Establece el manejador callback consumerHandler
    • OAuthProvider::generateToken - Genera un token aleatorio
    • OAuthProvider::is2LeggedEndpoint - is2LeggedEndpoint
    • OAuthProvider::isRequestTokenEndpoint - Establece isRequestTokenEndpoint
    • OAuthProvider::removeRequiredParameter - Remueve un parámetro requerido
    • OAuthProvider::reportProblem - Reportar un problema
    • OAuthProvider::setParam - Establece un parámetro
    • OAuthProvider::setRequestTokenPath - Establece la ruta de petición del token
    • OAuthProvider::timestampNonceHandler - Establece el callback timestampNonceHandler
    • OAuthProvider::tokenHandler - Establece el manejador callback de tokenHandler
    • OAuthProvider::__construct - Construye un nuevo objeto OAuthProvider
    • oauth_get_sbs - Genera una cadena de firma base
    • oauth_urlencode - Códifica una URI a RFC 3986
    • ob_clean - Limpiar (eliminar) el búfer de salida
    • ob_deflatehandler - Comprimir el manejador de salidas
    • ob_end_clean - Limpiar (eliminar) el búfer de salida y deshabilitar el almacenamiento en el mismo
    • ob_end_flush - Volcar (enviar) el búfer de salida y deshabilitar el almacenamiento en el mismo
    • ob_etaghandler - Manejador de salida de ETag
    • ob_flush - Vaciar (enviar) el búfer de salida
    • ob_get_clean - Obtener el contenido del búfer actual y eliminar el búfer de salida actual
    • ob_get_contents - Devolver el contenido del búfer de salida
    • ob_get_flush - Volcar el búfer de salida, devolverlo como una cadena de caracteres y deshabilitar el almacenamiento en el búfer de salida
    • ob_get_length - Devolver la longitud del búfer de salida
    • ob_get_level - Devolver el nivel de anidamiento del mecanismo de almacenamiento en el búfer de salida
    • ob_get_status - Obtener el estado de los búferes de salida
    • ob_gzhandler - Función de llamada de retorno de ob_start para comprimir el búfer de salida con gzip
    • ob_iconv_handler - Convierte la codificación de caracteres al manejador del buffer de salida
    • ob_implicit_flush - Habilitar/deshabilitar el volcado implícito
    • ob_inflatehandler - Descromprimir el Manejador de salidas
    • ob_list_handlers - Enumerar todos los gestores de salida en uso
    • ob_start - Activa el almacenamiento en búfer de salida
    • ob_tidyhandler - Función callback de ob_start para reparar el buffer
    • OCI-Collection::append - Añade un elemento a la colección
    • OCI-Collection::assign - Asigna un valor a la colección desde otra colección existente
    • OCI-Collection::assignElem - Asigna un valor a un elemento de la colección
    • OCI-Collection::free - Libera los recursos asociados con el objeto colección
    • OCI-Collection::getElem - Devuelve el valor de un elemento
    • OCI-Collection::max - Devuelve el número máximo de elementos de la colección
    • OCI-Collection::size - Devuelve el tamaño de la colección
    • OCI-Collection::trim - Elimina elementos del final de la colección
    • OCI-Lob::append - Añade datos a un objeto grande (LOB) desde otro
    • OCI-Lob::close - Cierra un descriptor de LOB
    • OCI-Lob::eof - Comprueba la marca de final de fichero en un descriptor de objetos grandes
    • OCI-Lob::erase - Borra la porción especificada de los datos internos de un LOB
    • OCI-Lob::export - Exporta el contenido de un LOB a un fichero
    • OCI-Lob::flush - Vacía/escribe el búfer de un LOB al servidor
    • OCI-Lob::free - Libera los recursos asociados con el descriptor del LOB
    • OCI-Lob::getBuffering - Devuelve el estado actual del uso del búfer para un objeto grande
    • OCI-Lob::import - Importa datos de un fichero a un LOB
    • OCI-Lob::load - Devuelve el contenido de un objeto grande
    • OCI-Lob::read - Lee parte del objeto grande
    • OCI-Lob::rewind - Mueve el puntero interno al comienzo de un objeto grande
    • OCI-Lob::save - Guarda datos en un objeto grande
    • OCI-Lob::saveFile - Alias de OCI-Lob::import
    • OCI-Lob::seek - Ubica el puntero interno de un objeto grande
    • OCI-Lob::setBuffering - Cambia el estado actual del uso del búfer para objetos grandes
    • OCI-Lob::size - Devuelve el tamaño de un objeto grande
    • OCI-Lob::tell - Devuelve la posición actual del puntero interno de un objeto grande
    • OCI-Lob::truncate - Trunca un objeto grande
    • OCI-Lob::write - Escribe datos en un objeto grande
    • OCI-Lob::writeTemporary - Escribe un objeto grande temporal
    • OCI-Lob::writeToFile - Alias de OCI-Lob::export
    • ocibindbyname - Alias de oci_bind_by_name
    • ocicancel - Alias de oci_cancel
    • ocicloselob - Alias de OCI-Lob::close
    • ocicollappend - Alias de OCI-Collection::append
    • ocicollassign - Alias de OCI-Collection::assign
    • ocicollassignelem - Alias de OCI-Collection::assignElem
    • ocicollgetelem - Alias de OCI-Collection::getElem
    • ocicollmax - Alias de OCI-Collection::max
    • ocicollsize - Alias de OCI-Collection::size
    • ocicolltrim - Alias de OCI-Collection::trim
    • ocicolumnisnull - Alias de oci_field_is_null
    • ocicolumnname - Alias de oci_field_name
    • ocicolumnprecision - Alias de oci_field_precision
    • ocicolumnscale - Alias de oci_field_scale
    • ocicolumnsize - Alias de oci_field_size
    • ocicolumntype - Alias de oci_field_type
    • ocicolumntyperaw - Alias de oci_field_type_raw
    • ocicommit - Alias de oci_commit
    • ocidefinebyname - Alias de oci_define_by_name
    • ocierror - Alias de oci_error
    • ociexecute - Alias de oci_execute
    • ocifetch - Alias de oci_fetch
    • ocifetchinto - Variante obsoleta de oci_fetch_array, oci_fetch_object, oci_fetch_assoc y oci_fetch_row
    • ocifetchstatement - Alias de oci_fetch_all
    • ocifreecollection - Alias de OCI-Collection::free
    • ocifreecursor - Alias de oci_free_statement
    • ocifreedesc - Alias de OCI-Lob::free
    • ocifreestatement - Alias de oci_free_statement
    • ociinternaldebug - Alias de oci_internal_debug
    • ociloadlob - Alias de OCI-Lob::load
    • ocilogoff - Alias de oci_close
    • ocilogon - Alias de oci_connect
    • ocinewcollection - Alias de oci_new_collection
    • ocinewcursor - Alias de oci_new_cursor
    • ocinewdescriptor - Alias de oci_new_descriptor
    • ocinlogon - Alias de oci_new_connect
    • ocinumcols - Alias de oci_num_fields
    • ociparse - Alias de oci_parse
    • ociplogon - Alias de oci_pconnect
    • ociresult - Alias de oci_result
    • ocirollback - Alias de oci_rollback
    • ocirowcount - Alias de oci_num_rows
    • ocisavelob - Alias de OCI-Lob::save
    • ocisavelobfile - Alias de OCI-Lob::import
    • ociserverversion - Alias de oci_server_version
    • ocisetprefetch - Alias de oci_set_prefetch
    • ocistatementtype - Alias de oci_statement_type
    • ociwritelobtofile - Alias de OCI-Lob::export
    • ociwritetemporarylob - Alias de OCI-Lob::writeTemporary
    • oci_bind_array_by_name - Vincula un array de PHP con un parámetro de un array de Oracle PL/SQL
    • oci_bind_by_name - Vincula una variable de PHP a un parámetro de sustitución de Oracle
    • oci_cancel - Cancela la lectura del cursor
    • oci_client_version - Devuelve la versión de la biblioteca cliente de Oracle
    • oci_close - Cierra una conexión a Oracle
    • oci_commit - Consigna la transacción pendiente de la base de datos
    • oci_connect - Conecta a una base de datos de Oracle
    • oci_define_by_name - Asocia una variable de PHP con una columna para la obtención de consultas
    • oci_error - Devuelve el último error encontrado
    • oci_execute - Ejecuta una sentencia
    • oci_fetch - Coloca la siguiente fila de una consulta en los búferes internos
    • oci_fetch_all - Obtiene múltiples filas de una consulta y las ubica en un array bidimiensional
    • oci_fetch_array - Devuelve la siguiente fila de una consulta como un array asociativo o numérico
    • oci_fetch_assoc - Devuelve la siguiente fila de una consulta como un array asociativo
    • oci_fetch_object - Devuelve la siguiente fila de una consulta como un objeto
    • oci_fetch_row - Devuelve la siguiente fila de una consulta como un array numérico
    • oci_field_is_null - Comprueba si el campo es NULL
    • oci_field_name - Devuelve el nombre de un campo de una sentencia
    • oci_field_precision - Indica la precisión de un campo
    • oci_field_scale - Indica la escala de un campo
    • oci_field_size - Devuelve el tamaño de un campo
    • oci_field_type - Devuelve el tipo de datos de un campo
    • oci_field_type_raw - Indica el tipo de datos sin tratar de Oracle de un campo
    • oci_free_descriptor - Libera un descriptor
    • oci_free_statement - Libera todos los recursos asociados con una sentencia o cursor
    • oci_get_implicit_resultset - Devuelve el siguiente recurso de sentencia hija desde un recurso de sentencia padre que posee Conjuntos de resultados implícitos de Oracle Database 12c
    • oci_internal_debug - Habilita o deshabilita la salida de la depuración interna
    • oci_lob_copy - Copia objetos grandes
    • oci_lob_is_equal - Compara dos localizadores LOB/FILE
    • oci_new_collection - Asigna un nuevo objeto colección
    • oci_new_connect - Conectar al servidor de Oracle usando una conexión única
    • oci_new_cursor - Asigna y devuelve un nuevo cursor (gestor de sentencia)
    • oci_new_descriptor - Inicializa un nuevo descriptor vacío LOB o FILE
    • oci_num_fields - Devuelve el número de columnas del resultado de una sentencia
    • oci_num_rows - Devuelve el número de filas afectadas durante la ejecución de una sentencia
    • oci_parse - Prepara una sentencia de Oracle para su ejecución
    • oci_password_change - Cambia la contraseña de un usuario de Oracle
    • oci_pconnect - Conectar a una base de datos de Oracle usando una conexión persistente
    • oci_result - Devuelve el valor de un campo de la fila obtenida
    • oci_rollback - Revierte la transacción pendiente de la base de datos
    • oci_server_version - Devuelve la versión de Oracle Database
    • oci_set_action - Establece el nombre de una acción
    • oci_set_client_identifier - Establece el identificador del cliente
    • oci_set_client_info - Establece la información del cliente
    • oci_set_edition - Establece la edición de la base de datos
    • oci_set_module_name - Establece el nombre de un módulo
    • oci_set_prefetch - Establece el número de filas a precargar mediante consultas
    • oci_statement_type - Devuelve el tipo de una sentencia
    • octdec - Octal a decimal
    • odbc_autocommit - Activa el comportamiento automático de envío
    • odbc_binmode - Manejo de información de columna binaria
    • odbc_close - Cerrar una conexión ODBC
    • odbc_close_all - Cerrar todas las conexiones ODBC
    • odbc_columnprivileges - Lista las columnas y los privilegios asociados para la tabla dada
    • odbc_columns - Lista los nombres de columnas de la tabla especificada
    • odbc_commit - Envía una transacción ODBC
    • odbc_connect - Conectar a una fuente de datos
    • odbc_cursor - Obtener el nombre del cursor
    • odbc_data_source - Devuelve información sobre una conexión actual
    • odbc_do - Alias de odbc_exec
    • odbc_error - Obtener el último código de error
    • odbc_errormsg - Obtener el último mensaje de error
    • odbc_exec - Preparar y ejecutar una sentencia SQL
    • odbc_execute - Ejecutar una declaración preparada
    • odbc_fetch_array - Traer una fila de resultados como una matriz asociativa
    • odbc_fetch_into - Traer una fila de resultados en una matriz
    • odbc_fetch_object - Traer una fila de resultados como un objeto
    • odbc_fetch_row - Traer una fila
    • odbc_field_len - Obtener la longitud (precisión) de un campo
    • odbc_field_name - Obtener el nombre de una columna
    • odbc_field_num - Devolver el número de columna
    • odbc_field_precision - Alias de odbc_field_len
    • odbc_field_scale - Obtener la escala de un campo
    • odbc_field_type - Tipo de datos de un campo
    • odbc_foreignkeys - Recupera información de una lista de claves extranjeras
    • odbc_free_result - Liberar los recursos asociados con un resultado
    • odbc_gettypeinfo - Recupera información sobre los tipos de datos soportados por la fuente de datos
    • odbc_longreadlen - Manejo de columnas LONG
    • odbc_next_result - Verifica si están disponibles múltiples resultados
    • odbc_num_fields - Número de columnas de un resultado
    • odbc_num_rows - Número de filas de un resultado
    • odbc_pconnect - Abrir una conexión persistente a una base de datos
    • odbc_prepare - Prepara una declaración para su ejecución
    • odbc_primarykeys - Obtiene las claves primarias de una tabla
    • odbc_procedurecolumns - Recuperar información sobre los parámetros a procedimientos
    • odbc_procedures - Obtener la lista de procedimientos almacenados en una fuente de datos específica
    • odbc_result - Obtener información de resultado
    • odbc_result_all - Imprimir el resultado como una tabla HTML
    • odbc_rollback - Reanuda una transacción
    • odbc_setoption - Ajustar la configuración de ODBC
    • odbc_specialcolumns - Recupera columnas especiales
    • odbc_statistics - Recuperar las estadísticas de un tabla
    • odbc_tableprivileges - Lista las tablas y los privilegios asociados con cada tabla
    • odbc_tables - Obtener la lista de los nombres de las tablas almacenados en una fuente de datos específica
    • ogg:// - Flujos de audio
    • opcache_compile_file - Compiles and caches a PHP script without executing it
    • opcache_get_configuration - Get configuration information about the cache
    • opcache_get_status - Get status information about the cache
    • opcache_invalidate - Invalidates a cached script
    • opcache_reset - Resets the contents of the opcode cache
    • Opciones de contexto de HTTP - Lista de opciones de contexto de HTTP
    • Opciones de contexto de sockets - Listado de opciones de contexto de sockets
    • Opciones de contexto para CURL - Listado de opciones de contexto para CURL
    • Opciones de contexto para FTP - Listado de opciones de contexto para FTP
    • Opciones de contexto para SSL - Listado de opciones de contexto para SSL
    • Opciones de contexto Phar - Listado de opciones de contexto Phar
    • openal_buffer_create - Genera un buffer OpenAL
    • openal_buffer_data - Carga un buffer con datos
    • openal_buffer_destroy - Destruye un buffer OpenAL
    • openal_buffer_get - Recupera una propiedad del buffer OpenAL
    • openal_buffer_loadwav - Carga un archivo .wav dentro de un buffer
    • openal_context_create - Crea un contexto de procesamiento de audio
    • openal_context_current - Crea el corriente contexto especificado
    • openal_context_destroy - Destruye un contexto
    • openal_context_process - Procesa un contexto especificado
    • openal_context_suspend - Suspende el contexto especificado
    • openal_device_close - Cierra un dispositivo OpenAL
    • openal_device_open - Inicia la capa de audio del OpenAL
    • openal_listener_get - Devuelve una propiedad de oyente
    • openal_listener_set - Establece una propiedad de oyente
    • openal_source_create - Genera una fuente de recursos
    • openal_source_destroy - Destruye una fuente de recursos
    • openal_source_get - Recupera una propiedad de una fuente del OpenAL
    • openal_source_pause - Pausa la fuente
    • openal_source_play - Empieza la reproducción de la fuente
    • openal_source_rewind - Rebobina la fuente
    • openal_source_set - Establece la propiedad de la fuente
    • openal_source_stop - Detiene la reproducción de la fuente
    • openal_stream - Empieza la salida de una fuente
    • opendir - Abre un gestor de directorio
    • openlog - Open connection to system logger
    • openssl_cipher_iv_length - Obtener la longitud del IV de Cipher
    • openssl_csr_export - Exporta una CSR como una cadena
    • openssl_csr_export_to_file - Exporta una CSR a un archivo
    • openssl_csr_get_public_key - Devuelve la clave púbilca de un CERT
    • openssl_csr_get_subject - Devuelve el sujeto de un CERT
    • openssl_csr_new - Genera una CSR
    • openssl_csr_sign - Firmar una CSR con otro certificado (o autofirmar) y generar un certificado
    • openssl_decrypt - Desencripta datos
    • openssl_dh_compute_key - Computa el secreto compartido para un valor público de una clave DH remota y una clave DH local
    • openssl_digest - Computa un método de resumen
    • openssl_encrypt - Encripta datos
    • openssl_error_string - Devolver un mensaje de error openSSL
    • openssl_free_key - Liberar el recurso de clave
    • openssl_get_cipher_methods - Obtiene los métodos de cifrado disponibles
    • openssl_get_md_methods - Obtener los métodos de resumen disponibles
    • openssl_get_privatekey - Alias de openssl_pkey_get_private
    • openssl_get_publickey - Alias de openssl_pkey_get_public
    • openssl_open - Abre información sellada
    • openssl_pbkdf2 - Genera un string PKCS5 v2 PBKDF2, predeterminado a SHA-1
    • openssl_pkcs7_decrypt - Desencripta un mensaje S/MIME encriptado
    • openssl_pkcs7_encrypt - Encriptar un mensaje S/MIME
    • openssl_pkcs7_sign - Firma un mensaje S/MIME
    • openssl_pkcs7_verify - Verifica la firma de un mensaje S/MIME firmado
    • openssl_pkcs12_export - Exporta un Archivo de Almacén de Certificado Compatible con PKCS#12 a una variable
    • openssl_pkcs12_export_to_file - Exporta un Archivo de Almacén de Certificado Compatible con PKCS#12
    • openssl_pkcs12_read - Convierte un Almacén de Certificado PKCS#12 a una matriz
    • openssl_pkey_export - Obtiene una representación de una clave exportable a una cadena
    • openssl_pkey_export_to_file - Obtiene una representación de una clave exportable a un archivo
    • openssl_pkey_free - Libera una clave privada
    • openssl_pkey_get_details - Devuelve una matriz con los detalles de la clave
    • openssl_pkey_get_private - Obtener una clave privada
    • openssl_pkey_get_public - Extrae la clave pública del certificado y la prepara para usarla
    • openssl_pkey_new - Genera una clave privada nueva
    • openssl_private_decrypt - Desencripta información con la clave privada
    • openssl_private_encrypt - Encripta información con la clave privada
    • openssl_public_decrypt - Desencripta información con la clave pública
    • openssl_public_encrypt - Encripta información con una clave pública
    • openssl_random_pseudo_bytes - Genera una cadena de bytes pseudo-aleatoria
    • openssl_seal - Sellar (encriptar) información
    • openssl_sign - Generar una firma
    • openssl_verify - Verificar una firma
    • openssl_x509_checkpurpose - Verifica si un certificado se puede usar para un propósito en particular
    • openssl_x509_check_private_key - Comprueba si una clave privada se corresponde a un certificado
    • openssl_x509_export - Exporta un certificado como una cadena
    • openssl_x509_export_to_file - Exporta un certificado a un archivo
    • openssl_x509_free - Liberar un recurso de certificado
    • openssl_x509_parse - Analiza un certificado X509 y devuelve la información como un matriz
    • openssl_x509_read - Analiza un certificado X.509 y devuelve un identificador de recurso para él
    • ord - devuelve el valor ASCII de una caracter
    • OuterIterator::getInnerIterator - Devuelve el iterador interno de la entrada actual
    • output_add_rewrite_var - Aladir valores al mecanismo de reescritura de URLs
    • output_reset_rewrite_vars - Restablecer los valores del mecanismo de reescritura de URLs
    • override_function - Pasa por alto funciones integradas
    • ovrimos_close - Cierra la conexión con ovrimos
    • ovrimos_commit - Confirma la transacción
    • ovrimos_connect - Conectarse a una base de datos especificada
    • ovrimos_cursor - Devuelve el nombre del cursor
    • ovrimos_exec - Ejecuta un SQL statement
    • ovrimos_execute - Ejecuta una sentencia SQL preparada
    • ovrimos_fetch_into - Obtiene una fila del resultado
    • ovrimos_fetch_row - Fetches a row from the result set
    • ovrimos_field_len - Returns the length of the output column
    • ovrimos_field_name - Returns the output column name
    • ovrimos_field_num - Returns the (1-based) index of the output column
    • ovrimos_field_type - Returns the type of the output column
    • ovrimos_free_result - Frees the specified result_id
    • ovrimos_longreadlen - Specifies how many bytes are to be retrieved from long datatypes
    • ovrimos_num_fields - Returns the number of columns
    • ovrimos_num_rows - Devuelve el número de filas afectadas en la operación update
    • ovrimos_prepare - Prepares an SQL statement
    • ovrimos_result - Retrieves the output column
    • ovrimos_result_all - Prints the whole result set as an HTML table
    • ovrimos_rollback - Rolls back the transaction
  • p
    • pack - Empaqueta información a una cadena binaria
    • ParentIterator::accept - Determina aceptabilidad
    • ParentIterator::getChildren - Devuelve los iteradores hijo contenidos en un ParentIterator
    • ParentIterator::hasChildren - Comprueba si los iteradores internos del elemento actual tiene un hijos
    • ParentIterator::next - Mueve el iterador a la siguiente posición
    • ParentIterator::rewind - Rebobina el iterador
    • ParentIterator::__construct - Construye un ParentIterator
    • parsekit_compile_file - Compilar una cadena de código PHP y devolver el array op resultante
    • parsekit_compile_string - Compilar una cadena de código PHP y devolver el array op resultante
    • parsekit_func_arginfo - Devolver información respectoa a/ a los argumento/s de una función
    • parse_ini_file - Analiza un archivo de configuración
    • parse_ini_string - Analiza una cadena de configuración
    • parse_str - Interpreta el string en variables
    • parse_url - Analiza una URL y devolver sus componentes
    • passthru - Ejecuta un programa externo y muestra la salida en bruto
    • password_get_info - Devuelve información sobre el hash proporcionado
    • password_hash - Crea un nuevo hash de contraseña
    • password_needs_rehash - Comprueba si el hash facilitado coincide con las opciones proporcionadas
    • password_verify - Comprueba que la contraseña coincida con un hash
    • pathinfo - Devuelve información acerca de la ruta de un fichero
    • pclose - Cierra un proceso de un puntero a un archivo
    • pcntl_alarm - Set an alarm clock for delivery of a signal
    • pcntl_errno - Alias de pcntl_strerror
    • pcntl_exec - Executes specified program in current process space
    • pcntl_fork - Forks the currently running process
    • pcntl_getpriority - Get the priority of any process
    • pcntl_get_last_error - Retrieve the error number set by the last pcntl function which failed
    • pcntl_setpriority - Change the priority of any process
    • pcntl_signal - Installs a signal handler
    • pcntl_signal_dispatch - Calls signal handlers for pending signals
    • pcntl_sigprocmask - Sets and retrieves blocked signals
    • pcntl_sigtimedwait - Waits for signals, with a timeout
    • pcntl_sigwaitinfo - Waits for signals
    • pcntl_strerror - Retrieve the system error message associated with the given errno
    • pcntl_wait - Waits on or returns the status of a forked child
    • pcntl_waitpid - Waits on or returns the status of a forked child
    • pcntl_wexitstatus - Returns the return code of a terminated child
    • pcntl_wifexited - Checks if status code represents a normal exit
    • pcntl_wifsignaled - Checks whether the status code represents a termination due to a signal
    • pcntl_wifstopped - Checks whether the child process is currently stopped
    • pcntl_wstopsig - Returns the signal which caused the child to stop
    • pcntl_wtermsig - Returns the signal which caused the child to terminate
    • PDF_activate_item - Activar un elemendo de estructura u otro elemento de contenido
    • PDF_add_annotation - Añadir una anotación [obsoleta]
    • PDF_add_bookmark - Añadir un marcador a la página actual [obsoleta]
    • PDF_add_launchlink - Añadir una anotación de lanzamiento a la página actual [obsoleta]
    • PDF_add_locallink - Añadir una anotación de enlace a la página actual [obsoleta]
    • PDF_add_nameddest - Crear un destino con nombre
    • PDF_add_note - Establecer una anotación para la página actual [obsoleta]
    • PDF_add_outline - Añadir un marcador a la página actual [obsoleta]
    • PDF_add_pdflink - Añadir una anotación de enlace de página a la página actual [obsoleta]
    • PDF_add_table_cell - Añadir una celda a una tabla nueva o ya existente
    • PDF_add_textflow - Crear un Textflow o añadir texto al Textflow existente
    • PDF_add_thumbnail - Añadir una imagen en miniatura a la página actual
    • PDF_add_weblink - Añadir un enlace web a la página actual [obsoleta]
    • PDF_arc - Dibujar un segmento de arco circular en el sentido contrario a las agujas del reloj
    • PDF_arcn - Dibujar un segmento de arco circular en el sentido de las agujas del reloj
    • PDF_attach_file - Añadir un documento adjunto a la página actual [obsoleta]
    • PDF_begin_document - Crear un nuevo archivo PDF
    • PDF_begin_font - Iniciar una definición de una fuente Type 3
    • PDF_begin_glyph - Iniciar la definición de un glifo para una fuente Type 3
    • PDF_begin_item - Abrir un elemento de estructura u otro elemento de contenido
    • PDF_begin_layer - Iniciar una capa
    • PDF_begin_page - Iniciar una nueva página [obsoleta]
    • PDF_begin_page_ext - Inicia una nueva página
    • PDF_begin_pattern - Iniciar una definición de patrón
    • PDF_begin_template - Inicia la definición de plantilla [obsoleta]
    • PDF_begin_template_ext - Iniciar una definición de plantilla
    • PDF_circle - Dibujar un círculo
    • PDF_clip - Recortar el trazado actual
    • PDF_close - Cerrar un recurso pdf [obsoleta]
    • PDF_closepath - Cerrar el trazado actual
    • PDF_closepath_fill_stroke - Cerrar, rellenar y contornear el trazado actual
    • PDF_closepath_stroke - Cerrar y contornear un trazado
    • PDF_close_image - Cerrar un imagen
    • PDF_close_pdi - Cerrar el documento PDF de entrada [obsoleta]
    • PDF_close_pdi_page - Cerrar un gestor de página
    • PDF_concat - Concatenar una matriz a la CTM
    • PDF_continue_text - Imprimir texto en la siguiente línea
    • PDF_create_3dview - Crear una vista 3D
    • PDF_create_action - Crear una acción para objetos o eventos
    • PDF_create_annotation - Crear una anotación rectangular
    • PDF_create_bookmark - Crear un marcador
    • PDF_create_field - Crear un campo de formulario
    • PDF_create_fieldgroup - Crear un grupo de campos de formulario
    • PDF_create_gstate - Crear un objeto de estado
    • PDF_create_pvf - Crear un archivo virtual PDFlib
    • PDF_create_textflow - Crear un objeto textflow
    • PDF_curveto - Dibujar una curva de Bézier
    • PDF_define_layer - Crear una definición de capa
    • PDF_delete - Borrar un objeto PDFlib
    • PDF_delete_pvf - Borrar un archivo PDFlib virtual
    • PDF_delete_table - Borrar un objeto tabla
    • PDF_delete_textflow - Borrar un objeto textflow
    • PDF_encoding_set_char - Añadir un nombre de glifo y/o un valor Unicode
    • PDF_endpath - Finalizar el trazado actual
    • PDF_end_document - Cerrar un archivo PDF
    • PDF_end_font - Finalizar la definición de una fuente Type 3
    • PDF_end_glyph - Finalizar la definición de un glifo para una fuente Type 3
    • PDF_end_item - Cerrar un elemento de estructura u otro elemento de contenido
    • PDF_end_layer - Desactivar todas las capas activas
    • PDF_end_page - Finalizar un página
    • PDF_end_page_ext - Finalizar una página
    • PDF_end_pattern - Finalizar un patrón
    • PDF_end_template - Finalizar una plantilla
    • PDF_fill - Rellenar el trazado actual
    • PDF_fill_imageblock - Rellenar un bloque de imagen con información variable
    • PDF_fill_pdfblock - Rellenar un bloque PDF con información variable
    • PDF_fill_stroke - Rellenar y contornear un trazado
    • PDF_fill_textblock - Rellenar un bloque de texto con infomación variable
    • PDF_findfont - Preparar una fuente para un uso posterior [obsoleta]
    • PDF_fit_image - Colocar una imagen o plantilla
    • PDF_fit_pdi_page - Colocar una página PDF importada
    • PDF_fit_table - Colocar una tabla en una página
    • PDF_fit_textflow - Formatear un textflow en un área rectangular
    • PDF_fit_textline - Colocar una simple línea de texto
    • PDF_get_apiname - Obtener el nombre de una función API que falló
    • PDF_get_buffer - Obtener el buffer de salida de PDF
    • PDF_get_errmsg - Obtener el texto del error
    • PDF_get_errnum - Obtener el número de error
    • PDF_get_font - Obtener una fuente [obsoleta]
    • PDF_get_fontname - Obtener el nombre de una fuente [obsoleta]
    • PDF_get_fontsize - Manejo de fuentes [obsoleta]
    • PDF_get_image_height - Obtener el alto de una imagen [obsoleta]
    • PDF_get_image_width - Obtener el ancho de una imagen [obsoleta]
    • PDF_get_majorversion - Obtener el número de la versión mayor [obsoleta]
    • PDF_get_minorversion - Obtener el número de versión menor [obsoleta]
    • PDF_get_parameter - Obtener un parámetro de cadena
    • PDF_get_pdi_parameter - Obtener un parámetro de cadena de un PDI [obsoleta]
    • PDF_get_pdi_value - Obtener un parámetro númerico de un PDI [obsoleta]
    • PDF_get_value - Obtener un parámetro numérico
    • PDF_info_font - Preguntar información detallada acerca de una fuente cargada
    • PDF_info_matchbox - Preguntar sobre la información de un matchbox
    • PDF_info_table - Recuperar la información de una tabla
    • PDF_info_textflow - Preguntar por el estado de un textflow
    • PDF_info_textline - Llevar a cabo el formateo textline y preguntar por las métricas
    • PDF_initgraphics - Reiniciar el estado de un gráfico
    • PDF_lineto - Dibujar una línea
    • PDF_load_3ddata - Cargar un modelo 3D
    • PDF_load_font - Buscar y preparar una fuente
    • PDF_load_iccprofile - Buscar y preparar un perfil ICC
    • PDF_load_image - Abrir un archivo de imagen
    • PDF_makespotcolor - Crea un color de impresión
    • PDF_moveto - Establecer el punto actual
    • PDF_new - Crear un objeto PDFlib
    • PDF_open_ccitt - Abrir una imagen CCITT en bruto [obsoleta]
    • PDF_open_file - Crear un archivo PDF [obsoleta]
    • PDF_open_gif - Abrir una imagen GIF [obsoleta]
    • PDF_open_image - Usar información de una imagen [obsoleta]
    • PDF_open_image_file - Leer una imagen desde un archivo [obsoleta]
    • PDF_open_jpeg - Abrir una imagen JPEG [obsoleta]
    • PDF_open_memory_image - Abrir una imagen creada con las funciones de imagen de PHP [no soportada]
    • PDF_open_pdi - Abrir un archivo PDF [obsoleta]
    • PDF_open_pdi_document - Preparar un documento pdi
    • PDF_open_pdi_page - Preparar una página
    • PDF_open_tiff - Abrir una imagen TIFF [obsoleta]
    • PDF_pcos_get_number - Obtener el valor de una ruta pCOS con el tipo number o boolean
    • PDF_pcos_get_stream - Obtener el contenido de una ruta pCOS con el tipo stream, fstream, o string
    • PDF_pcos_get_string - Obtener el valor de una ruta pCOS con el tipo name, string, o boolean
    • PDF_place_image - Colocar una imagen en una página [obsoleta]
    • PDF_place_pdi_page - Colocar una página PDF [obsoleta]
    • PDF_process_pdi - Procesar un documento PDF importado
    • PDF_rect - Dibujar un rectángulo
    • PDF_restore - Restablecer el estado de gráficos
    • PDF_resume_page - Reanudar un página
    • PDF_rotate - Rotar el sistema de coordenadas
    • PDF_save - Guardar el estado de gráficos
    • PDF_scale - Escalar el sistema de coordenadas
    • PDF_setcolor - Establecer el color de relleno y contorno
    • PDF_setdash - Establecer el patrón de discontinuidad simple
    • PDF_setdashpattern - Establecer el patrón de discontinuidad
    • PDF_setflat - Establecer el parámetro flatness
    • PDF_setfont - Establecer un fuente
    • PDF_setgray - Establecer el color a gris [obsoleta]
    • PDF_setgray_fill - Establecer el color de relleno a gris [obsoleta]
    • PDF_setgray_stroke - Establecer el color de contorno a gris [obsoleta]
    • PDF_setlinecap - Establecer el parámetro linecap
    • PDF_setlinejoin - Establecer el parámetro linejoin
    • PDF_setlinewidth - Establecer el ancho de línea
    • PDF_setmatrix - Establecer la matriz de transformación actual
    • PDF_setmiterlimit - Establecer el límite del inglete
    • PDF_setpolydash - Establecer un patrón de discontinuidad complicado [obsoleta]
    • PDF_setrgbcolor - Establecer los valores de color rgb del relleno y del contorno [obsoleta]
    • PDF_setrgbcolor_fill - Establecer los valores de color rgb del relleno [obsoleta]
    • PDF_setrgbcolor_stroke - Establecer los valores de color rgb del contorno [obsoleta]
    • PDF_set_border_color - Establecer el color del borde de las anotaciones [obsoleta]
    • PDF_set_border_dash - Establecer el estilo de borde discontinuo de las anotaciones [obsoleta]
    • PDF_set_border_style - Establecer el estilo de borde de las anotaciones [obsoleta]
    • PDF_set_char_spacing - Establecer el espacio entre caracteres [obsoleta]
    • PDF_set_duration - Establecer la duración entre páginas [obsoleta]
    • PDF_set_gstate - Activar un objeto de estado de gráficos
    • PDF_set_horiz_scaling - Establecer la escala de texto horizontal [obsoleta]
    • PDF_set_info - Rellenar el campo de información de un documento
    • PDF_set_info_author - Rellenar el campo de información del autor de un documento [obsoleta]
    • PDF_set_info_creator - Rellenar el campo de información del creador de un documento [obsoleta]
    • PDF_set_info_keywords - Rellenar el campo de información de las palabras clave de un documento [obsoleta]
    • PDF_set_info_subject - Rellenar el campo de información del asunto de un documento [obsoleta]
    • PDF_set_info_title - Rellenar el campo de información del título de un documento [obsoleta]
    • PDF_set_layer_dependency - Definir la relación entre capas
    • PDF_set_leading - Esteblecer la distancia entre líneas de texto [obsoleta]
    • PDF_set_parameter - Establecer un parámetro de cadena
    • PDF_set_text_matrix - Establecer la matriz del texto [obsoleta]
    • PDF_set_text_pos - Establecer la posición del texto
    • PDF_set_text_rendering - Determinar la renderización del texto [obsoleta]
    • PDF_set_text_rise - Establecer la elevación de texto [obsoleta]
    • PDF_set_value - Establecer un parámetro numérico
    • PDF_set_word_spacing - Establecer el espacio entre palabras [obsoleta]
    • PDF_shading - Definir un mezcla
    • PDF_shading_pattern - Definir un patrón de sombreado
    • PDF_shfill - Rellenar un área con sombreado
    • PDF_show - Imrpimir un texto en la posición actual
    • PDF_show_boxed - Imprimir un texto en una caja [obsoleta]
    • PDF_show_xy - Imprimir un texto en una posición dada
    • PDF_skew - Torcer el sistema de coordenadas
    • PDF_stringwidth - Devolver el ancho de un texto
    • PDF_stroke - Contornear un trazado
    • PDF_suspend_page - Suspender una página
    • PDF_translate - Establecer el origen del sistema de coordenadas
    • PDF_utf8_to_utf16 - Convertir una cadena de UTF-8 a UTF-16
    • PDF_utf16_to_utf8 - Convertir una cadena de UTF-16 a UTF-8
    • PDF_utf32_to_utf16 - Convertir una cadena de UTF-32 a UTF-16
    • PDO::beginTransaction - Inicia una transacción
    • PDO::commit - Consigna una transacción
    • PDO::cubrid_schema - Obtiene la información del esquema solicitada
    • PDO::errorCode - Obtiene un SQLSTATE asociado con la última operación en el manejador de la base de datos
    • PDO::errorInfo - Obtiene información extendida del error asociado con la última operación del manejador de la base de datos
    • PDO::exec - Ejecuta una sentencia SQL y devuelve el número de filas afectadas
    • PDO::getAttribute - Devuelve un atributo de la conexión a la base de datos
    • PDO::getAvailableDrivers - Devuelve un array con los controladores de PDO disponibles
    • PDO::inTransaction - Comprueba si una transacción está activa
    • PDO::lastInsertId - Devuelve el ID de la última fila o secuencia insertada
    • PDO::pgsqlLOBCreate - Crea un nuevo objeto grande
    • PDO::pgsqlLOBOpen - Abre un flujo de un objeto grande existente
    • PDO::pgsqlLOBUnlink - Elimina un objeto grande
    • PDO::prepare - Prepara una sentencia para su ejecución y devuelve un objeto sentencia
    • PDO::query - Ejecuta una sentencia SQL, devolviendo un conjunto de resultados como un objeto PDOStatement
    • PDO::quote - Entrecomilla una cadena de caracteres para usarla en una consulta
    • PDO::rollBack - Revierte una transacción
    • PDO::setAttribute - Establece un atributo
    • PDO::sqliteCreateAggregate - Registra una función acumuladora definida por el usuario para usarla en sentencias SQL
    • PDO::sqliteCreateFunction - Registra una función definida por el usuario para utilizarla en sentencias SQL
    • PDO::__construct - Crea una instancia de PDO que representa una conexión a una base de datos
    • PDOStatement::bindColumn - Vincula una columna a una variable de PHP
    • PDOStatement::bindParam - Vincula un parámetro al nombre de variable especificado
    • PDOStatement::bindValue - Vincula un valor a un parámetro
    • PDOStatement::closeCursor - Cierra un cursor, habilitando a la sentencia para que sea ejecutada otra vez
    • PDOStatement::columnCount - Devuelve el número de columnas de un conjunto de resultados
    • PDOStatement::debugDumpParams - Vuelca un comando preparado de SQL
    • PDOStatement::errorCode - Obtiene el SQLSTATE asociado con la última operación del gestor de sentencia
    • PDOStatement::errorInfo - Obtiene información ampliada del error asociado con la última operación del gestor de sentencia
    • PDOStatement::execute - Ejecuta una sentencia preparada
    • PDOStatement::fetch - Obtiene la siguiente fila de un conjunto de resultados
    • PDOStatement::fetchAll - Devuelve un array que contiene todas las filas del conjunto de resultados
    • PDOStatement::fetchColumn - Devuelve una única columna de la siguiente fila de un conjunto de resultados
    • PDOStatement::fetchObject - Obtiene la siguiente fila y la devuelve como un objeto
    • PDOStatement::getAttribute - Recupera un atributo de sentencia
    • PDOStatement::getColumnMeta - Devuelve metadatos de una columna de un conjunto de resultados
    • PDOStatement::nextRowset - Avanza hasta el siguiente conjunto de filas de un gestor de sentencia multiconjunto de filas
    • PDOStatement::rowCount - Devuelve el número de filas afectadas por la última sentencia SQL
    • PDOStatement::setAttribute - Establece un atributo de sentencia
    • PDOStatement::setFetchMode - Establece el modo de obtención para esta sentencia
    • PDO_DBLIB DSN - Conectarse a bases de datos de Microsoft SQL Server y Sybase
    • PDO_FIREBIRD DSN - Conectarse a bases de datos de Firebird
    • PDO_MYSQL DSN - Conectarse a bases de datos de MySQL
    • PDO_PGSQL DSN - Conectarse a bases de datos PostgreSQL
    • PDO_SQLITE DSN - Conectar a las bases de datos de SQLite
    • pfsockopen - Abre Internet persistente o conexión de socket de dominio Unix
    • pg_affected_rows - Devuelve el número de registros afectados (filas)
    • pg_cancel_query - Cancelar una consulta asíncrona
    • pg_client_encoding - Obtiene la codificación del cliente
    • pg_close - Cierra una conexión PostgreSQL
    • pg_connect - Abrir una conexión a PostgreSQL
    • pg_connection_busy - Permite saber si la conexión esta ocupada o no
    • pg_connection_reset - Restablece conexión (reconectar)
    • pg_connection_status - Obtener estado de la conexión
    • pg_convert - convierte los valores de un array asociativo en valores adecuandolos para su uso en una sentencia SQL
    • pg_copy_from - Insertar registros dentro de una tabla desde un array
    • pg_copy_to - Copiar una tabla a un array
    • pg_dbname - Obtiene el nombre de la base de datos
    • pg_delete - Borra registros
    • pg_end_copy - Sincronizar con PostgreSQL
    • pg_escape_bytea - Escapar un string para insertarlo en un campo bytea
    • pg_escape_identifier - Escape a identifier for insertion into a text field
    • pg_escape_literal - Escape a literal for insertion into a text field
    • pg_escape_string - Escape a string for query
    • pg_execute - Envía una solicitud para ejecutar una setencia preparada con parámetros dados, y espera el resultado
    • pg_fetch_all - Fetches all rows from a result as an array
    • pg_fetch_all_columns - Fetches all rows in a particular result column as an array
    • pg_fetch_array - Fetch a row as an array
    • pg_fetch_assoc - Fetch a row as an associative array
    • pg_fetch_object - Fetch a row as an object
    • pg_fetch_result - Returns values from a result resource
    • pg_fetch_row - Get a row as an enumerated array
    • pg_field_is_null - Test if a field is SQL NULL
    • pg_field_name - Returns the name of a field
    • pg_field_num - Returns the field number of the named field
    • pg_field_prtlen - Returns the printed length
    • pg_field_size - Returns the internal storage size of the named field
    • pg_field_table - Returns the name or oid of the tables field
    • pg_field_type - Returns the type name for the corresponding field number
    • pg_field_type_oid - Returns the type ID (OID) for the corresponding field number
    • pg_free_result - Free result memory
    • pg_get_notify - Gets SQL NOTIFY message
    • pg_get_pid - Gets the backend's process ID
    • pg_get_result - Get asynchronous query result
    • pg_host - Returns the host name associated with the connection
    • pg_insert - Insert array into table
    • pg_last_error - Get the last error message string of a connection
    • pg_last_notice - Returns the last notice message from PostgreSQL server
    • pg_last_oid - Returns the last row's OID
    • pg_lo_close - Close a large object
    • pg_lo_create - Create a large object
    • pg_lo_export - Export a large object to file
    • pg_lo_import - Import a large object from file
    • pg_lo_open - Open a large object
    • pg_lo_read - Read a large object
    • pg_lo_read_all - Reads an entire large object and send straight to browser
    • pg_lo_seek - Seeks position within a large object
    • pg_lo_tell - Returns current seek position a of large object
    • pg_lo_unlink - Delete a large object
    • pg_lo_write - Write to a large object
    • pg_meta_data - Get meta data for table
    • pg_num_fields - Returns the number of fields in a result
    • pg_num_rows - Returns the number of rows in a result
    • pg_options - Get the options associated with the connection
    • pg_parameter_status - Looks up a current parameter setting of the server.
    • pg_pconnect - Open a persistent PostgreSQL connection
    • pg_ping - Ping a conexión de base de datos
    • pg_port - Devuelve el número de puerto asociado con la conexión
    • pg_prepare - Submits a request to create a prepared statement with the given parameters, and waits for completion.
    • pg_put_line - Send a NULL-terminated string to PostgreSQL backend
    • pg_query - Execute a query
    • pg_query_params - Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text.
    • pg_result_error - Get error message associated with result
    • pg_result_error_field - Returns an individual field of an error report.
    • pg_result_seek - Set internal row offset in result resource
    • pg_result_status - Get status of query result
    • pg_select - Select records
    • pg_send_execute - Sends a request to execute a prepared statement with given parameters, without waiting for the result(s).
    • pg_send_prepare - Sends a request to create a prepared statement with the given parameters, without waiting for completion.
    • pg_send_query - Sends asynchronous query
    • pg_send_query_params - Submits a command and separate parameters to the server without waiting for the result(s).
    • pg_set_client_encoding - Set the client encoding
    • pg_set_error_verbosity - Determines the verbosity of messages returned by pg_last_error and pg_result_error.
    • pg_trace - Enable tracing a PostgreSQL connection
    • pg_transaction_status - Returns the current in-transaction status of the server.
    • pg_tty - Return the TTY name associated with the connection
    • pg_unescape_bytea - Unescape binary for bytea type
    • pg_untrace - Disable tracing of a PostgreSQL connection
    • pg_update - Update table
    • pg_version - Devuelve un array con el cliente, protocolo y versión del servidor (si está disponible)
    • phar:// - Archivo PHP
    • Phar::addEmptyDir - Añadir un directorio vacío al archvo phar
    • Phar::addFile - Añadir un fichero desde el sistema de ficheros al archivo phar
    • Phar::addFromString - Añadir un fichero desde el sistema de ficheros al archivo phar
    • Phar::apiVersion - Devolver la versión de la API
    • Phar::buildFromDirectory - Construir un archivo phar desde los ficheros de un directorio
    • Phar::buildFromIterator - Construir un archivo phar desde un iterador
    • Phar::canCompress - Devuelve si la extensión phar soporta la compresión usando zlib o bzip2
    • Phar::canWrite - Devolver si la extensión phar soporta la escritura y creación de archivos phar
    • Phar::compress - Comprimir el archivo Phar entero usando la compresión Gzip o Bzip2
    • Phar::compressAllFilesBZIP2 - Comprimir todos los ficheros del archivo Phar actual usando la compresión Bzip2
    • Phar::compressAllFilesGZ - Comprimir todos los ficheros del archivo Phar actual usando la compresión Gzip
    • Phar::compressFiles - Comprime todos los ficheros del archivo Phar actual
    • Phar::convertToData - Convertir un archivo phar en un fichero tar o zip no ejecutable
    • Phar::convertToExecutable - Convertir un archivo phar en otro formato de archivo phar ejecutable
    • Phar::copy - Copiar un fichero interno de un archivo phar a otro fichero nuevo dentro del phar
    • Phar::count - Devuelve el número de entradas (ficheros) en el archivo Phar
    • Phar::createDefaultStub - Crear una rutina de interoperabilidad específica del formato de fichero phar
    • Phar::decompress - Descomprimir un archivo Phar entero
    • Phar::decompressFiles - Descomprimir todos los ficheros del archivo Phar actual
    • Phar::delete - Borrar un fichero dentro de un archivo phar
    • Phar::delMetadata - Eliminar la metainformación global del phar
    • Phar::extractTo - Extraer el contenido de un archivo phar a un directorio
    • Phar::getMetadata - Devolver la metainformación de un archivo phar
    • Phar::getModified - Devolver si el phar fue modificado
    • Phar::getSignature - Devolver la firma MD5/SHA1/SHA256/SHA512/OpenSSL de un archivo Phar
    • Phar::getStub - Devolver el cargador de PHP o la rutina de interoperabilidad de un archivo Phar
    • Phar::getSupportedCompression - Devolver un array de los algoritmos de compresión soportados
    • Phar::getSupportedSignatures - Devolver un array con los tipos de firmas soportados
    • Phar::getVersion - Devolver información de la versión del archivo Phar
    • Phar::hasMetadata - Devolver si el phar tiene metainformación global
    • Phar::interceptFileFuncs - Ordenar a phar interceptar fopen, file_get_contents, opendir, y todas las funciones relacionadas con estadísticas
    • Phar::isBuffering - Determinar si las operaciones de escritura de Phar está siendo almacenadas en buffer, o están siendo volcadas directamente al disco
    • Phar::isCompressed - Devuelve Phar::GZ oPHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.)
    • Phar::isFileFormat - Devolver true si el archivo phar está basado en el formato de fichero tar/phar/zip dependiendo del parámetro
    • Phar::isValidPharFilename - Devolver si el nombre de fichero dado es un nombre de fichero phar válido
    • Phar::isWritable - Devolver si el archivo phar se puede modificar
    • Phar::loadPhar - Cargar cualquier archivo phar con un alias
    • Phar::mapPhar - Leer el fichero (un phar) que está en ejecución y registrar su manifiesto
    • Phar::mount - Montar un fichero o ruta externos en una ubicación virtual dentro de un archivo phar
    • Phar::mungServer - Definir una lista de hasta 4 variables $_SERVER que debería ser modificadas para la ejecución
    • Phar::offsetExists - Determina si un fichero existe en un phar
    • Phar::offsetGet - Obtener un objeto de la clase PharFileInfo para un fichero específico
    • Phar::offsetSet - Establecer el contenido de un fichero interno a aquel de un fichero externo
    • Phar::offsetUnset - Eliminar un fichero de un phar
    • Phar::running - Devolover la ruta completa del disco o el URL completo de phar del archivo Phar que está en ejecución
    • Phar::setAlias - Establecer el alias para un archivo Phar
    • Phar::setDefaultStub - Establecer el cargador o la rutina de interoperabilidad de un archivo Phar al cargador predeterminado
    • Phar::setMetadata - Establecer la metainformación de un archivo phar
    • Phar::setSignatureAlgorithm - Establecer el algoritmo de firma para un phar y aplicarlo
    • Phar::setStub - Establecer el cargador de PHP o la rutina de interoperabilidad de un archivo Phar
    • Phar::startBuffering - Iniciar las operaciones de escritura en buffer de Phar, no modifica el objeto Phar del disco
    • Phar::stopBuffering - Detener las peticiones de escritura en buffer del archivo Phar, y guardar los cambios en disco
    • Phar::uncompressAllFiles - Descomprimir todos los ficheros del archivo Phar actual
    • Phar::unlinkArchive - Elimiar completamente un archivo phar del disco y de la memoria
    • Phar::webPhar - mapPhar para archivos phar basados en web. Controlador principal para aplicaciones web
    • Phar::__construct - Construir un objeto de archivo Phar
    • PharData::addEmptyDir - Añadir un directorio vacío al archivo tar/zip
    • PharData::addFile - Añadir un fichero desde el sistema de ficheros al archivo tar/zip
    • PharData::addFromString - Añadir un fichero desde el sistema de ficheros al archivo tar/zip
    • PharData::buildFromDirectory - Construir un archivo tar/zip desde los ficheros de un directorio
    • PharData::buildFromIterator - Construir un archivo tar o zip desde un iterador
    • PharData::compress - Comprimir el archivo tar/zip entero usando la compresión Gzip o Bzip2
    • PharData::compressFiles - Comprime todos los ficheros del archivo tar/zip actual
    • PharData::convertToData - Convertir un archivo phar en un fichero tar o zip no ejecutable
    • PharData::convertToExecutable - Convertir un archivo tar/zip no ejecutable en un archivo phar ejecutable
    • PharData::copy - Copiar un fichero interno de un archivo phar a otro fichero nuevo dentro del phar
    • PharData::decompress - Descomprimir un archivo Phar entero
    • PharData::decompressFiles - Descomprimir todos los ficheros del archivo zip actual
    • PharData::delete - Borrar un fichero dentro de un archivo tar/zip
    • PharData::delMetadata - Eliminar la metainformación global de un archivo zip
    • PharData::extractTo - Extraer el contenido de un archivo tar/zip a un directorio
    • PharData::isWritable - Devolver si el archivo tar/zip se puede modificar
    • PharData::offsetSet - Establecer el contenido de un fichero dentro de un tar/zip a aquel de un fichero o cadena externos
    • PharData::offsetUnset - Eliminar un ficerho de un archivo tar/zip
    • PharData::setAlias - función sin sentido (Phar::setAlias no es válido para PharData)
    • PharData::setDefaultStub - función sin sentido (Phar::setStub no es válido para PharData)
    • PharData::setStub - función sin sentido (Phar::setStub no es válido para PharData)
    • PharData::__construct - Construir un objeto de archivo tar o zip no ejecutable
    • PharException - La clase PharException ofrece una excepción de clase específica de phar para bloques try/catch
    • PharFileInfo::chmod - Esteblecer los bits de permiso específicos del fichero
    • PharFileInfo::compress - Comprimir la entrada del Phar actual con la compresión zlib o bzip2
    • PharFileInfo::decompress - Descomprimir la entrada Phar actual dentro del phar
    • PharFileInfo::delMetadata - Eliminar la metainformación de una entrada
    • PharFileInfo::getCompressedSize - Devolver el tamaño real de un fichero (con compresión) dentro de un archivo Phar
    • PharFileInfo::getCRC32 - Devolver el códido CRC32 o lanzar una exepción si la CRC no ha sido verificado
    • PharFileInfo::getMetadata - Devolver la metainformación específica de un fichero almacenada con un fichero
    • PharFileInfo::getPharFlags - Devolver las banderas de una entrada de fichero
    • PharFileInfo::hasMetadata - Devolver la metainformación de una entrada
    • PharFileInfo::isCompressed - Devolver si la entrada está comprimida
    • PharFileInfo::isCompressedBZIP2 - Devolver si la entrada está comprimida con bzip2
    • PharFileInfo::isCompressedGZ - Devolver si la entrada está comprimida con gz
    • PharFileInfo::isCRCChecked - Devolver si la entrada de fichero tiene su CRC verificada
    • PharFileInfo::setCompressedBZIP2 - Comprimir la entrada actual de un Phar dentro del phar usando la compresión Bzip2
    • PharFileInfo::setCompressedGZ - Comprimir la entrada actual de un Phar dentro del phar usando la compresión gz
    • PharFileInfo::setMetadata - Establecer la metainformación específica de un fichero almacenda con un fichero
    • PharFileInfo::setUncompressed - Descomprimir la entrada actual del Phar dentro del phar, si está comprimida
    • PharFileInfo::__construct - Construir un objeto de entrada Phar
    • php:// - Acceso a distintos flujos de E/S
    • phpcredits - Imprime los créditos de PHP
    • phpinfo - Muestra información sobre la configuración de PHP
    • phpversion - Obtiene la versión de PHP
    • php_check_syntax - Verifica la sintaxis PHP del archivo especificado (y lo ejecuta)
    • php_ini_loaded_file - Recupera la ruta de acceso al archivo php.ini cargado
    • php_ini_scanned_files - Devuelve una lista de ficheros .ini procesados del directorio adicional ini dir
    • php_logo_guid - Obtiene el valor guid del logo
    • php_sapi_name - Devuelve el tipo de interfaz que hay entre PHP y el servidor
    • php_strip_whitespace - Devuelve el código fuente sin los comentarios y espacios blancos
    • php_uname - Devuelve información sobre el sistema operativo en que se está ejecutando PHP
    • php_user_filter::filter - Llamado cuando se aplica un filtro
    • php_user_filter::onClose - Llamado cuando se cierra el filtro
    • php_user_filter::onCreate - Llamado cuando se crea el filtro
    • pi - Obtener valor de pi
    • png2wbmp - Convertir un archivo de imagen PNG a un archivo de imagen WBMP
    • popen - Abre un proceso de un puntero a un archivo
    • pos - Alias de current
    • posix_access - Determinar la accesibilidad de un archivo
    • posix_ctermid - Obtener el nombre de la ruta del terminal controlador
    • posix_errno - Alias de posix_get_last_error
    • posix_getcwd - Nombre de la ruta del directorio actual
    • posix_getegid - Devuelve el ID efectivo de grupo del proceso actual
    • posix_geteuid - Devolver el ID efectivo de usuario del proceso actual
    • posix_getgid - Devuelve el ID real de grupo del proceso actual
    • posix_getgrgid - Devolver información sobre un grupo mediante un id de grupo
    • posix_getgrnam - Devolver información sobre un grupo mediante su nombre
    • posix_getgroups - Devolver el conjunto de grupos del proceso actual
    • posix_getlogin - Devuelve el nombre del inicio de sesión
    • posix_getpgid - Obtener el id del grupo de procesos para un control de trabajo
    • posix_getpgrp - Devolver el identificador de grupo de proceso actual
    • posix_getpid - Devolver el identificador del proceso actual
    • posix_getppid - Devolver el identificador del proceso padre
    • posix_getpwnam - Devolver información sobre un usuario mediante su nombre de usuario
    • posix_getpwuid - Devolver información sobre un usuario mediante el id de usuario
    • posix_getrlimit - Devolver información sobre los límites de recursos del sistema
    • posix_getsid - Obtener el sid actual del proceos
    • posix_getuid - Devolver el ID real de usuario del proceso actual
    • posix_get_last_error - Recuperar el número de error establecido por la última función posix que ha fallado
    • posix_initgroups - Calcular la lista de acceso al grupo
    • posix_isatty - Determinar si un descriptor de archivo es una terminal interactiva
    • posix_kill - Enviar una señal a un proceso
    • posix_mkfifo - Crear un archivo especial fifo (un pipe con nombre)
    • posix_mknod - Crear un fichero especial u ordinario (POSIX.1)
    • posix_setegid - Establecer el GID efectivo del proceso actual
    • posix_seteuid - Establecer el UID efectivo del proceso actual
    • posix_setgid - Establecer el GID de proceso actual
    • posix_setpgid - Establecer el id de grupo de procesos para el control de trabajo
    • posix_setsid - Hacer del proceso actual un líder de sesión
    • posix_setuid - Establecer el UID del proceso actual
    • posix_strerror - Recuperar el mensaje de error del sistema asociado con el errno dado
    • posix_times - Obtener los tiempos de procesos
    • posix_ttyname - Determinar el nombre del dispositivo terminal
    • posix_uname - Obtener el nombre del sistema
    • pow - Expresión exponencial
    • preg_filter - Realiza una búsqueda y sustitución de una expresión regular
    • preg_grep - Devuelve entradas de matriz que coinciden con el patrón
    • preg_last_error - Devuelve el código de error de la última ejecución de expresión regular PCRE
    • preg_match - Realiza una comparación con una expresión regular
    • preg_match_all - Realiza una comparación global de una expresión regular
    • preg_quote - Escapar caracteres en una expresión regular
    • preg_replace - Realiza una búsqueda y sustitución de una expresión regular
    • preg_replace_callback - Realiza una búsqueda y sustitución de una expresión regular usando una llamada de retorno
    • preg_split - Divide un string mediante una expresión regular
    • prev - Rebobina el puntero interno del array
    • print - Mostrar una cadena
    • printer_abort - Eliminar el archivo de cola de la impresora
    • printer_close - Cerrar una conexión de la impresora abierta
    • printer_create_brush - Crear un nuevo pincel
    • printer_create_dc - Crear un nuevo contexto de dispositivo
    • printer_create_font - Crear una nueva fuente
    • printer_create_pen - Crear una nueva pluma
    • printer_delete_brush - Eliminar un pincel
    • printer_delete_dc - Eliminar un contexto de dispositivo
    • printer_delete_font - Eliminar una fuente
    • printer_delete_pen - Eliminar una pluma
    • printer_draw_bmp - Dibujar un bmp
    • printer_draw_chord - Dibujar un acorde
    • printer_draw_elipse - Dibujar una elipse
    • printer_draw_line - Dibujar una línea
    • printer_draw_pie - Dibujar una gráfica de tarta
    • printer_draw_rectangle - Dibujar un rectángulo
    • printer_draw_roundrect - Dibujar un rectángulo con esquinas redondeadas
    • printer_draw_text - Dibujar texto
    • printer_end_doc - Cerrar el documento
    • printer_end_page - Cerrar la página activa
    • printer_get_option - Recuperar los datos de configuración de impresora
    • printer_list - Devolver una matriz de las impresoras conectadas al servidor
    • printer_logical_fontheight - Obtener la altura lógica de la fuente
    • printer_open - Abrir una conexión a una impresora
    • printer_select_brush - Seleccionar un pincel
    • printer_select_font - Seleccionar una fuente
    • printer_select_pen - Seleccionar una pluma
    • printer_set_option - Configurar la conexión de la impresora
    • printer_start_doc - Iniciar un nuevo documento
    • printer_start_page - Iniciar una nueva página
    • printer_write - Escribir datos a la impresora
    • printf - Imprimir una cadena con formato
    • print_r - Imprime información legible para humanos sobre una variable
    • proc_close - Cierra un proceso abierto mediante proc_open y devuelve el códido de salida de tal proceso
    • proc_get_status - Obtiene información sobre un proceso abierto por proc_open
    • proc_nice - Modificar la prioridad del proceso actual
    • proc_open - Ejecuta un comando y abre un puntero de fichero para entrada/salida
    • proc_terminate - Mata un proceso abierto mediante proc_open
    • property_exists - Comprueba si el objeto o la clase tienen una propiedad
    • pspell_add_to_personal - Añadir una palabra a la lista personal de palabras
    • pspell_add_to_session - Añadir la palabra a la lista de palabras en la sesión actual
    • pspell_check - Verificar una palabra
    • pspell_clear_session - Limpia la sesión actual
    • pspell_config_create - Crear una configuración usada para abrir un diccionario
    • pspell_config_data_dir - Ubicación de los ficheros de información de lenguaje
    • pspell_config_dict_dir - Ubicación de la lista principal de palabras
    • pspell_config_ignore - Ignorar palabras con menos de N caracteres
    • pspell_config_mode - Cambiar el modo de número de sugerencias devueltas
    • pspell_config_personal - Establecer un fichero que contiene una lista personal de palabras
    • pspell_config_repl - Establecer un fichero que contiene pares de sustitución
    • pspell_config_runtogether - Considerar las palabras unidas como compuestos válidos
    • pspell_config_save_repl - Deterinar si se guarda una lista de pares de sustitución junto con la lista de palabras
    • pspell_new - Cargar un nuevo diccionario
    • pspell_new_config - Cargar un nuevo diccionario con ajustes basados en una configuración dada
    • pspell_new_personal - Cargar un nuevo diccionario con una lista personal de palabras
    • pspell_save_wordlist - Guardar la lista de palabras personal a un fichero
    • pspell_store_replacement - Almacenar un par de sustitución de una palabra
    • pspell_suggest - Sugerir ortografías de una palabra
    • ps_add_bookmark - Añadir un marcapáginas a la página actual
    • ps_add_launchlink - Añadir un vínculo que lance un fichero
    • ps_add_locallink - Añadir un vínculo hacia una página del mismo documento
    • ps_add_note - Añadir una nota a la página actual
    • ps_add_pdflink - Añadir un vínculo hacia una página de un segundo documento PDF
    • ps_add_weblink - Añadir un vínculo hacia una ubicación web
    • ps_arc - Dibujar un arco en el sentido contrario a las agujas del reloj
    • ps_arcn - Dibujar un arco en el sentido de las agujas del reloj
    • ps_begin_page - Empezar una nueva página
    • ps_begin_pattern - Iniciar un nuevo patrón
    • ps_begin_template - Iniciar una nueva plantilla
    • ps_circle - Dibujar un círculo
    • ps_clip - Realizar un recorte utilizando el trazado actual
    • ps_close - Cerrar un documento PostScript
    • ps_closepath - Cerrar un trazado
    • ps_closepath_stroke - Cerrar y contornear un trazado
    • ps_close_image - Cerrar una imagen y liberar memoria
    • ps_continue_text - Continuar el texto en la siguiente línea
    • ps_curveto - Dibujar una curva
    • ps_delete - Borrar todos los recursos de un documento PostScript
    • ps_end_page - Finalizar una página
    • ps_end_pattern - Finalizar un patrón
    • ps_end_template - Finalizar una plantilla
    • ps_fill - Rellenar el trazado actual
    • ps_fill_stroke - Rellenar y contornear el trazado actual
    • ps_findfont - Cargar una fuente
    • ps_get_buffer - Obtener el buffer completo que contiene la información generada de PS
    • ps_get_parameter - Obtener ciertos parámetros
    • ps_get_value - Obtener ciertos valores
    • ps_hyphenate - Particionar silábicamente una palabra
    • ps_include_file - Leer un fichero externo con código PostScript sin tratar
    • ps_lineto - Dibujar una línea
    • ps_makespotcolor - Crear un color directo
    • ps_moveto - Establecer el punto actual
    • ps_new - Crear un nuevo objeto de documento PostScript
    • ps_open_file - Abrir un fichero para su impresión
    • ps_open_image - Leer una imagen para su colocación posterior
    • ps_open_image_file - Abre una imagen desde un fichero
    • ps_open_memory_image - Tomar una imagen de GD y devolverla como una imagen para colcarla en un documento PS
    • ps_place_image - Colocar una imágen en la página
    • ps_rect - Dibujar un rectángulo
    • ps_restore - Restaurar un contexto previamente guardado
    • ps_rotate - Establecer el factor de rotación
    • ps_save - Guardar el contexto actual
    • ps_scale - Estalecer el factor de escala
    • ps_setcolor - Establecer el color actual
    • ps_setdash - Establecer la apariencia de una línea discontinua
    • ps_setflat - Establecer la planicidad
    • ps_setfont - Establecer la fuente a usar para la siguiente impresión
    • ps_setgray - Establecer el valor de gris
    • ps_setlinecap - Establecer la apariencia de los extremos de línea
    • ps_setlinejoin - Establecer cómo están unidas las líneas conectadas
    • ps_setlinewidth - Establecer el ancho de una línea
    • ps_setmiterlimit - Establecer el límite del inglete
    • ps_setoverprintmode - Establecer el modo de sobreimpresión
    • ps_setpolydash - Establecer la apariencia de una línea discontinua
    • ps_set_border_color - Establecer el color del borde de las anotaciones
    • ps_set_border_dash - Establece la longitud de las rayas del borde de las anotaciones
    • ps_set_border_style - Establecer el estilo del borde de las anotaciones
    • ps_set_info - Establecer los campos de información del documento
    • ps_set_parameter - Establecer ciertos parámetros
    • ps_set_text_pos - Establecer la posición de la salida de texto
    • ps_set_value - Establecer ciertos valores
    • ps_shading - Crear un sombreado para su uso posterior
    • ps_shading_pattern - Crear un patrón basado en un sombreado
    • ps_shfill - Rellenar un área con un sombreado
    • ps_show - Imprimir texto
    • ps_show2 - Imprimir texto en la posición actual
    • ps_show_boxed - Imprimir texto en una caja
    • ps_show_xy - Imprimir texto en una posición dada
    • ps_show_xy2 - Imprimir texto en una posición
    • ps_stringwidth - Obtener el ancho de una cadena
    • ps_string_geometry - Establecer la geometría de una cadena de caracteres
    • ps_stroke - Dibujar el trazado actual
    • ps_symbol - Imprimir un glifo
    • ps_symbol_name - Obtener el nombre de un glifo
    • ps_symbol_width - Obtener el ancho de un glifo
    • ps_translate - Establecer una traslación
    • putenv - Establece el valor de una variable de entorno
    • px_close - Cerrar una base de datos paradox
    • px_create_fp - Crear una nueva base de datos paradox
    • px_date2string - Convierte una fecha en una cadena.
    • px_delete - Eliminar los recursos de la base de datos paradox
    • px_delete_record - Eliminar los registros de base de datos paradox
    • px_get_field - Devuelve la especificación de un solo campo
    • px_get_info - Devuelve una gran cantidad de información sobre un archivo paradox
    • px_get_parameter - Obtener un parámetro
    • px_get_record - Devuelve registro de base de datos paradox
    • px_get_schema - Devuelve la definición de la base de datos (schema)
    • px_get_value - Obtener un valor
    • px_insert_record - Inserta registro en base de datos paradox
    • px_new - Crear un nuevo objeto paradox
    • px_numfields - Devuelve el número de campos en una base de datos
    • px_numrecords - Devuelve el número de registros en una base de datos
    • px_open_fp - Abrir base de datos paradox
    • px_put_record - Almacenar registro en la base de datos paradox
    • px_retrieve_record - Devolver registro de base de datos paradox
    • px_set_blob_file - Establecer el archivo desde donde los blobs se van a leer
    • px_set_parameter - Establecer un parámetro
    • px_set_tablename - Establecer el nombre de una tabla (obsoleto)
    • px_set_targetencoding - Establecer la codificación de los campos de caracteres (obsoleto)
    • px_set_value - Establecer un valor
    • px_timestamp2string - Convertir la fecha y la hora en una cadena.
    • px_update_record - Actualizar el registro en la base de datos paradox
  • q
    • qdom_error - Devuelve el mensaje de error de la última operación QDOM o FALSE si no ocurrieron errores
    • qdom_tree - Crea un árbol de la cadena XML
    • QuickHashIntHash::add - Este método añade una nueva entrada al hash
    • QuickHashIntHash::delete - Este método elimina una entrada de un hash
    • QuickHashIntHash::exists - Este método comprueba si la clave es parte del hash
    • QuickHashIntHash::get - Este método recupera un valor a partir del hash por su clave
    • QuickHashIntHash::getSize - Devuelve el número de elementos de un hash
    • QuickHashIntHash::loadFromFile - Este método de fabricación crea un hash desde un fichero
    • QuickHashIntHash::loadFromString - Este método de fabricación crea un hash dedsde una cadena de caracteres
    • QuickHashIntHash::saveToFile - Este método almacena un hash en memoria en disco
    • QuickHashIntHash::saveToString - Este método devuelve una versión serializada del hash
    • QuickHashIntHash::set - Este método actualiza una entrada del hash con un nuevo valor, o añade una nueva si la entrada no existe
    • QuickHashIntHash::update - Este método actualiza una entrada del hash con un nuevo valor
    • QuickHashIntHash::__construct - Crea un nuevo objeto QuickHashIntHash
    • QuickHashIntSet::add - Este método añade una nuevas entrada al conjunto
    • QuickHashIntSet::delete - Este método elimina una entrada de un conjunto
    • QuickHashIntSet::exists - Este método comprueba si una clave es parte de un conjunto
    • QuickHashIntSet::getSize - Devuelve el número de elementos del conjunto
    • QuickHashIntSet::loadFromFile - Este método de fabricación crear un conjunto desde un fichero
    • QuickHashIntSet::loadFromString - Este método de fabricación crea un conjunto desde una cadena de caracteres
    • QuickHashIntSet::saveToFile - Este método almacena un conjunto que está en la memoria en el disco
    • QuickHashIntSet::saveToString - Este método devuelve una versión serializada del conjunto
    • QuickHashIntSet::__construct - Crea un nuevo objeto QuickHashIntSet
    • QuickHashIntStringHash::add - Este método añade una nueva entrada a un hash
    • QuickHashIntStringHash::delete - Este método elimina una entrada del hash
    • QuickHashIntStringHash::exists - Este método comprueba si una clave es parte de un hash
    • QuickHashIntStringHash::get - Este método recupera un valor de un hash mediante su clave
    • QuickHashIntStringHash::getSize - Devuelve el número de elementos de un hash
    • QuickHashIntStringHash::loadFromFile - Este método de fabricación crea un hash desde un fichero
    • QuickHashIntStringHash::loadFromString - Este método de fabricación crea un hash desde una cadena de caracteres
    • QuickHashIntStringHash::saveToFile - Este método almacena un hash que esté en memoria en el disco
    • QuickHashIntStringHash::saveToString - Este método devuelve una versión serializada del hash
    • QuickHashIntStringHash::set - Este método actualiza una entrada de un hash con un nuevo valor, o añade una nueva si la entrada no existe
    • QuickHashIntStringHash::update - Este método actualiza una entrada de un hash con un nuevo valor
    • QuickHashIntStringHash::__construct - Crea un nuevo objeto QuickHashIntStringHash
    • QuickHashStringIntHash::add - Este método añade una nueva entrada a un hash
    • QuickHashStringIntHash::delete - Este método elimina una entrada del hash
    • QuickHashStringIntHash::exists - Este método comprueba si una clave es parte de un hash
    • QuickHashStringIntHash::get - Este método recupera un valor de un hash mediante su clave
    • QuickHashStringIntHash::getSize - Devuelve el número de elementos de un hash
    • QuickHashStringIntHash::loadFromFile - Este método de fabricación crea un hash desde un fichero
    • QuickHashStringIntHash::loadFromString - Este método de fabricación crea un hash desde una cadena de caracteres
    • QuickHashStringIntHash::saveToFile - This method stores an in-memory hash to disk
    • QuickHashStringIntHash::saveToString - Este método devuelve una versión serializada del hash
    • QuickHashStringIntHash::set - Este método actualiza una entrada de un hash con un nuevo valor, o añade una nueva si la entrada no existe
    • QuickHashStringIntHash::update - Este método actualiza una entrada de un hash con un nuevo valor
    • QuickHashStringIntHash::__construct - Crea un nuevo objeto QuickHashStringIntHash
    • quoted_printable_decode - Convierte un string quoted-printable en un string de 8 bits
    • quoted_printable_encode - Convierte un string de 8 bits en un string quoted-printable
    • quotemeta - Escapa meta caracteres
  • r
    • rad2deg - Convierte el número en radianes a su equivalente en grados
    • radius_acct_open - Crea un manejador Radius para el conteo
    • radius_add_server - Adds a server
    • radius_auth_open - Crea un identificador de Radius para la autenticación
    • radius_close - Frees all ressources
    • radius_config - Causes the library to read the given configuration file
    • radius_create_request - Create accounting or authentication request
    • radius_cvt_addr - Converts raw data to IP-Address
    • radius_cvt_int - Converts raw data to integer
    • radius_cvt_string - Converts raw data to string
    • radius_demangle - Demangles data
    • radius_demangle_mppe_key - Derives mppe-keys from mangled data
    • radius_get_attr - Extracts an attribute
    • radius_get_tagged_attr_data - Extracts the data from a tagged attribute
    • radius_get_tagged_attr_tag - Extracts the tag from a tagged attribute
    • radius_get_vendor_attr - Extracts a vendor specific attribute
    • radius_put_addr - Attaches an IP address attribute
    • radius_put_attr - Attaches a binary attribute
    • radius_put_int - Attaches an integer attribute
    • radius_put_string - Attaches a string attribute
    • radius_put_vendor_addr - Attaches a vendor specific IP address attribute
    • radius_put_vendor_attr - Attaches a vendor specific binary attribute
    • radius_put_vendor_int - Attaches a vendor specific integer attribute
    • radius_put_vendor_string - Attaches a vendor specific string attribute
    • radius_request_authenticator - Returns the request authenticator
    • radius_salt_encrypt_attr - Salt-encrypts a value
    • radius_send_request - Sends the request and waites for a reply
    • radius_server_secret - Returns the shared secret
    • radius_strerror - Devuelve un mensaje de error
    • rand - Genera un número entero aleatorio
    • range - Crear un array que contiene un rango de elementos
    • rar:// - RAR
    • RarArchive::close - Cerrar archivo RAR y liberar todos los recursos
    • RarArchive::getComment - Obtener comentarios de texto desde el archivo RAR
    • RarArchive::getEntries - Obtener la lista completa de entradas del archivo RAR
    • RarArchive::getEntry - Obtener el objeto entrada desde el archivo RAR
    • RarArchive::isBroken - Comprobar si un archivo está dañado (incompleto)
    • RarArchive::isSolid - Comprueba si el archivo RAR es sólido
    • RarArchive::open - Abre un archivo RAR
    • RarArchive::setAllowBroken - Determina si la apertura de archivos dañados se permite
    • RarArchive::__toString - Obtener representación de texto
    • RarEntry::extract - Extraer entrada del archivo
    • RarEntry::getAttr - Obtener los atributos de la entrada
    • RarEntry::getCrc - Obtener el CRC de la entrada
    • RarEntry::getFileTime - Devolver entrada última fecha de modificación
    • RarEntry::getHostOs - Obtener sistema operativo anfitrión del archivo de entrada
    • RarEntry::getMethod - Obtener método pack de la entrada
    • RarEntry::getName - Obtener el nombre de la entrada
    • RarEntry::getPackedSize - Obtiene el tamaño empaquetado de la entrada
    • RarEntry::getStream - Obtener manejador de archivo para entrada
    • RarEntry::getUnpackedSize - Obtener el tamaño descomprimido de la entrada
    • RarEntry::getVersion - Obtener la versión mínima del programa RAR requerida para desempaquetar la entrada
    • RarEntry::isDirectory - Comprobar si una entrada representa un directorio
    • RarEntry::isEncrypted - Comprobar si una entrada está cifrada
    • RarEntry::__toString - Obtener texto representación de entrada
    • RarException::isUsingExceptions - Comprobar si el manejador de errores con excepciones está en uso
    • RarException::setUsingExceptions - Activar y desactivar el manejador de errores con excepciones
    • rar_wrapper_cache_stats - Caché de aciertos y errores del URL wrapper
    • rawurldecode - Decodificar cadenas codificadas estilo URL
    • rawurlencode - Codificar estilo URL de acuerdo al RFC 3986
    • readdir - Lee una entrada desde un gestor de directorio
    • readfile - Realizar la salida de un fichero
    • readgzfile - Muestra un archivo gz
    • readline - Reads a line
    • readline_add_history - Agrega una línea a la historia
    • readline_callback_handler_install - Initializes the readline callback interface and terminal, prints the prompt and returns immediately
    • readline_callback_handler_remove - Removes a previously installed callback handler and restores terminal settings
    • readline_callback_read_char - Reads a character and informs the readline callback interface when a line is received
    • readline_clear_history - Clears the history
    • readline_completion_function - Registers a completion function
    • readline_info - Gets/sets various internal readline variables
    • readline_list_history - Lists the history
    • readline_on_new_line - Inform readline that the cursor has moved to a new line
    • readline_read_history - Reads the history
    • readline_redisplay - Redibuja la vista
    • readline_write_history - Writes the history
    • readlink - Devuelve el objetivo de un enlace simbólico
    • read_exif_data - Alias de exif_read_data
    • realpath - Devuelve el nombre de la ruta absoluta canonizado
    • realpath_cache_get - Obtiene las entradas de la caché de la ruta real
    • realpath_cache_size - Obtiene el tamaño de la caché de la ruta real
    • recode - Alias de recode_string
    • recode_file - Recodificar de fichero a fichero según la petición de recoficación
    • recode_string - Recodifica un string según una petición de recodificación
    • RecursiveArrayIterator::getChildren - Devuelve un iterador para la entrada actual si este es un array o un object
    • RecursiveArrayIterator::hasChildren - Devuelve si la entrada actual es un array o un objeto
    • RecursiveCachingIterator::getChildren - Devuelve los iteradores internos hijos como un RecursiveCachingIterator
    • RecursiveCachingIterator::hasChildren - Comprueba si el elemento actual de un iterador interno tiene hijos
    • RecursiveCachingIterator::__construct - Construct
    • RecursiveCallbackFilterIterator::getChildren - D3evuelve los iteradores internos hijos contenidos en un RecursiveCallbackFilterIterator
    • RecursiveCallbackFilterIterator::hasChildren - Comprueba si los iteradores internos del elemento actual tiene hijos
    • RecursiveCallbackFilterIterator::__construct - Crear un RecursiveCallbackFilterIterator desde un RecursiveIterator
    • RecursiveDirectoryIterator::getChildren - Devuelve un iterador de la entrada actual si se trata de un directorio
    • RecursiveDirectoryIterator::getSubPath - Obtener la sub ruta
    • RecursiveDirectoryIterator::getSubPathname - Obtiene la sub ruta y nombre de fichero
    • RecursiveDirectoryIterator::hasChildren - Devuelve si la entrada actual es un directorio y no '.' o '..'
    • RecursiveDirectoryIterator::key - Devuelve la ruta y nombre de fichero del directorio
    • RecursiveDirectoryIterator::next - Mover a la siguiente entrada
    • RecursiveDirectoryIterator::rewind - Rebobina el directorio hasta el inicio
    • RecursiveDirectoryIterator::__construct - Construye un RecursiveDirectoryIterator
    • RecursiveFilterIterator::getChildren - Devuelve los iteradores internos hijo contenidos en un RecursiveFilterIterator
    • RecursiveFilterIterator::hasChildren - Comprueba si el iterador interno del elemento actual tiene hijos
    • RecursiveFilterIterator::__construct - Crear un RecursiveFilterIterator a partir de un RecursiveIterator
    • RecursiveIterator::getChildren - Devuelve un iterador para la entrada actual
    • RecursiveIterator::hasChildren - Retorna si un iterador puede ser creado para la entrada actual
    • RecursiveIteratorIterator::beginChildren - Inicio del hijo
    • RecursiveIteratorIterator::beginIteration - Inicio de la iteración
    • RecursiveIteratorIterator::callGetChildren - Obtener hijo
    • RecursiveIteratorIterator::callHasChildren - Comprueba si tiene hijos
    • RecursiveIteratorIterator::current - Acceder al valor del elemento actual
    • RecursiveIteratorIterator::endChildren - Final de los hijos
    • RecursiveIteratorIterator::endIteration - Final de la iteración
    • RecursiveIteratorIterator::getDepth - Obtener la profundidad actual de la iteración recursiva
    • RecursiveIteratorIterator::getInnerIterator - Obtener el iterador interno
    • RecursiveIteratorIterator::getMaxDepth - Obtener el máximo de profundidad
    • RecursiveIteratorIterator::getSubIterator - El subiterador activo actual
    • RecursiveIteratorIterator::key - Acceder a la clave actual
    • RecursiveIteratorIterator::next - Moverse al siguiente elemento
    • RecursiveIteratorIterator::nextElement - Siguiente elemento
    • RecursiveIteratorIterator::rewind - Rebobina el iterador al primer elemento al nivel superior del iterador interno
    • RecursiveIteratorIterator::setMaxDepth - Establecer el máximo de profundidad
    • RecursiveIteratorIterator::valid - Comprueba si la posición actual es válida
    • RecursiveIteratorIterator::__construct - Construir un objeto RecursiveIteratorIterator
    • RecursiveRegexIterator::getChildren - Devuelve un iterador para la entrada actual
    • RecursiveRegexIterator::hasChildren - Retorna si un iterador puede ser obtenido de la entrada actual
    • RecursiveRegexIterator::__construct - Crea un nuevo RecursiveRegexIterator
    • RecursiveTreeIterator::beginChildren - Inicio de los hijos
    • RecursiveTreeIterator::beginIteration - Inicio de la iteración
    • RecursiveTreeIterator::callGetChildren - Obtener los hijos
    • RecursiveTreeIterator::callHasChildren - Comprobar si tiene hijos
    • RecursiveTreeIterator::current - Obtener el elemento actual
    • RecursiveTreeIterator::endChildren - Final de los hijos
    • RecursiveTreeIterator::endIteration - Fin de la iteración
    • RecursiveTreeIterator::getEntry - obtener la entrada actual
    • RecursiveTreeIterator::getPostfix - Obtiener el postfijo
    • RecursiveTreeIterator::getPrefix - Obtener el prefijo
    • RecursiveTreeIterator::key - Obtiene la clave de el elemento actual
    • RecursiveTreeIterator::next - Mover al siguiente elemento
    • RecursiveTreeIterator::nextElement - Comprueba si hay un siguiente elemento
    • RecursiveTreeIterator::rewind - Rebobina el iterador
    • RecursiveTreeIterator::setPrefixPart - Establece la parte de el prefijo
    • RecursiveTreeIterator::valid - Comprueba la validez
    • RecursiveTreeIterator::__construct - Construye un nuevo RecursiveTreeIterator
    • Reflection::export - Exportar
    • Reflection::getModifierNames - Obtener nombres de modificadores
    • ReflectionClass::export - Exporta una clase
    • ReflectionClass::getConstant - Obtener una constante definida
    • ReflectionClass::getConstants - Obtener constantes
    • ReflectionClass::getConstructor - Obtiene el constructor de una clase
    • ReflectionClass::getDefaultProperties - Obtener propiedades predeterminadas
    • ReflectionClass::getDocComment - Obtener los comentarios de documentación
    • ReflectionClass::getEndLine - Consultar línea final
    • ReflectionClass::getExtension - Obtiene un objeto ReflectionExtension para la extensión que definió la clase
    • ReflectionClass::getExtensionName - Obtiene el nombre de la extensión que definió una clase
    • ReflectionClass::getFileName - Obtiene el nombre de fichero en el que está definida la clase
    • ReflectionClass::getInterfaceNames - Obtiene nombres de las interfaces
    • ReflectionClass::getInterfaces - Obtiene las interfaces
    • ReflectionClass::getMethod - Obtiene un objeto ReflectionMethod para un método de una clase
    • ReflectionClass::getMethods - Obtiene un array de métodos
    • ReflectionClass::getModifiers - Obtiene modificadores
    • ReflectionClass::getName - Obtiene el nombre de la clase
    • ReflectionClass::getNamespaceName - Obtiene el nombre del espacio de nombres
    • ReflectionClass::getParentClass - Obtiene la clase padre
    • ReflectionClass::getProperties - Obtiene las propiedades
    • ReflectionClass::getProperty - Obtiene un objeto ReflectionProperty para una propiedad de una clase
    • ReflectionClass::getShortName - Obtiene el nombre abreviado
    • ReflectionClass::getStartLine - Obtiene el número de linea de inicio
    • ReflectionClass::getStaticProperties - Obtiene las propiedades estáticas
    • ReflectionClass::getStaticPropertyValue - Obtiene el valor de una propiedad estática
    • ReflectionClass::getTraitAliases - Obtiene un array con los alias usados con los traits
    • ReflectionClass::getTraitNames - Devuelve un array con los nombres de los traits usados por esta clase
    • ReflectionClass::getTraits - Obtiene un array con los traits que utiliza esta clase
    • ReflectionClass::hasConstant - Comprueba si una constante está o no definida
    • ReflectionClass::hasMethod - Comprueba si un método está o no definido
    • ReflectionClass::hasProperty - Comprueba si una propiedad está o no definida
    • ReflectionClass::implementsInterface - Comprueba si se implementa una determinada interfaz
    • ReflectionClass::inNamespace - Comprueba si pertenece a un determinado espacio de nombres
    • ReflectionClass::isAbstract - Comprueba si la clase es abstracta
    • ReflectionClass::isCloneable - Comprueba si la clase es o no clonable
    • ReflectionClass::isFinal - Comprueba si la clase es o no final
    • ReflectionClass::isInstance - Comprueba si un objeto es instancia de la clase
    • ReflectionClass::isInstantiable - Comprueba si una clase es instanciable
    • ReflectionClass::isInterface - Comprueba una la clase es una interfaz
    • ReflectionClass::isInternal - Comprueba si una clase está definida internamente por una extensión o por el núcleo
    • ReflectionClass::isIterateable - Comprueba si es iterable
    • ReflectionClass::isSubclassOf - Comprueba si es una subclase
    • ReflectionClass::isTrait - Comprueba si es un trait
    • ReflectionClass::isUserDefined - Comprueba si es una clase definida por el usuario
    • ReflectionClass::newInstance - Crea una nueva instancia de clase a partir de la lista de parámetros dados
    • ReflectionClass::newInstanceArgs - Crea una nueva instancia de clase a partir de los argumentos dados
    • ReflectionClass::newInstanceWithoutConstructor - Crea una nueva clase sin invocar al constructor
    • ReflectionClass::setStaticPropertyValue - Establece el valor de una propiedad estática
    • ReflectionClass::__construct - Construye un objeto de tipo ReflectionClass
    • ReflectionClass::__toString - Devuelve la representación en forma de string del objeto ReflectionClass
    • ReflectionExtension::export - Exportar
    • ReflectionExtension::getClasses - Obtiene clases
    • ReflectionExtension::getClassNames - Obtiene nombres de las clases
    • ReflectionExtension::getConstants - Obtiene las constantes
    • ReflectionExtension::getDependencies - Obtiene las dependencias
    • ReflectionExtension::getFunctions - Obtiene las funciones de una extensión
    • ReflectionExtension::getINIEntries - Obtiene las entradas INI de la extensión
    • ReflectionExtension::getName - Obtiene el nombre de la extensión
    • ReflectionExtension::getVersion - Obtiene la versión de una extensión
    • ReflectionExtension::info - Imprime información sobre la extensión
    • ReflectionExtension::isPersistent - Indica si la extensión es persistente
    • ReflectionExtension::isTemporary - Indica si la extensión es temporal
    • ReflectionExtension::__clone - Clonar
    • ReflectionExtension::__construct - Constructor de los objetos ReflectionExtension
    • ReflectionExtension::__toString - Convertir a string
    • ReflectionFunction::export - Exporta una función
    • ReflectionFunction::getClosure - Genera dinámicamente una función anónima de esta función
    • ReflectionFunction::invoke - Invoca una función
    • ReflectionFunction::invokeArgs - Invoca a la función con argumentos
    • ReflectionFunction::isDisabled - Comprueba si una función está desactivada
    • ReflectionFunction::__construct - Contruye un objeto de tipo ReflectionFunction
    • ReflectionFunction::__toString - Convertir a string
    • ReflectionFunctionAbstract::getClosureScopeClass - Devuelve el alcance asociado a la clausura
    • ReflectionFunctionAbstract::getClosureThis - Devuelve una función anónima que apunta a esta función
    • ReflectionFunctionAbstract::getDocComment - Obtiene comentarios de documentación
    • ReflectionFunctionAbstract::getEndLine - Obtiene número de linea final
    • ReflectionFunctionAbstract::getExtension - Obtiene información sobre la extensión
    • ReflectionFunctionAbstract::getExtensionName - Obtiene el nombre de la extensión
    • ReflectionFunctionAbstract::getFileName - Obtiene el nombre del fichero
    • ReflectionFunctionAbstract::getName - Obtiene el nombre de la función
    • ReflectionFunctionAbstract::getNamespaceName - Obtiene el nombre del espacio de nombres
    • ReflectionFunctionAbstract::getNumberOfParameters - Obtiene el número total de parámetros
    • ReflectionFunctionAbstract::getNumberOfRequiredParameters - Obtiene el número de parámetros obligatorios
    • ReflectionFunctionAbstract::getParameters - Obtiene los parámetros
    • ReflectionFunctionAbstract::getShortName - Obtiene el nombre abreviado de la función
    • ReflectionFunctionAbstract::getStartLine - Obtiene el número de la línea de inicio
    • ReflectionFunctionAbstract::getStaticVariables - Obtiene las variable estáticas
    • ReflectionFunctionAbstract::inNamespace - Comprueba si pertenece a un espacio de nombres
    • ReflectionFunctionAbstract::isClosure - Comprueba si es una función anónima
    • ReflectionFunctionAbstract::isDeprecated - Comprueba si está obsoleta
    • ReflectionFunctionAbstract::isGenerator - Devuelve si la función es un generador
    • ReflectionFunctionAbstract::isInternal - Comprueba si la función es interna
    • ReflectionFunctionAbstract::isUserDefined - Comprueba si es una función definida por un usuario
    • ReflectionFunctionAbstract::returnsReference - Comprueba si devuelve una referencia
    • ReflectionFunctionAbstract::__clone - Clona una función
    • ReflectionFunctionAbstract::__toString - Convertir a texto
    • ReflectionMethod::export - Exporta un objeto de tipo ReflectionMethod
    • ReflectionMethod::getClosure - Devuelve una función anónima de este método creada dinámicamente
    • ReflectionMethod::getDeclaringClass - Obtiene la clase en la que se ha declarado el método
    • ReflectionMethod::getModifiers - Obtiene los modificadores del método
    • ReflectionMethod::getPrototype - Obtiene el prototipo del método (si lo hubiera)
    • ReflectionMethod::invoke - Invoca un método
    • ReflectionMethod::invokeArgs - Invoca un método con argumentos
    • ReflectionMethod::isAbstract - Comprueba si el método es abstracto
    • ReflectionMethod::isConstructor - Comprueba si el método es un constructor
    • ReflectionMethod::isDestructor - Comprueba si el método es un destructor
    • ReflectionMethod::isFinal - Comprueba si el método es final
    • ReflectionMethod::isPrivate - Comprueba si el método es privado
    • ReflectionMethod::isProtected - Comprueba si el método está protegido
    • ReflectionMethod::isPublic - Comprueba si el método es público
    • ReflectionMethod::isStatic - Comprueba si el método es estático
    • ReflectionMethod::setAccessible - Asigna la accesibilidad del método
    • ReflectionMethod::__construct - Construye un objeto ReflectionMethod
    • ReflectionMethod::__toString - Devuelve la representación en forma de texto de este objeto
    • ReflectionObject::export - Exportación
    • ReflectionObject::__construct - Construye un ReflectionObject
    • ReflectionParameter::allowsNull - Comprueba si null es permitido
    • ReflectionParameter::canBePassedByValue - Devuelve si este parámetro de puede pasar por valor
    • ReflectionParameter::export - Exportar
    • ReflectionParameter::getClass - Obtener clase
    • ReflectionParameter::getDeclaringClass - Obtiene declaración de la clase
    • ReflectionParameter::getDeclaringFunction - Obtiene declaración de función
    • ReflectionParameter::getDefaultValue - Obtiene el valor por omisión del parámetro
    • ReflectionParameter::getDefaultValueConstantName - Devuelve el nombre de la consntante del valor predeterminado si el valor predeterminado es constante o null
    • ReflectionParameter::getName - Obtener el nombre del parámetro
    • ReflectionParameter::getPosition - Obtiene la posición del parámetro
    • ReflectionParameter::isArray - Comprueba si el parámetro espera un array
    • ReflectionParameter::isCallable - Devuelve si el parámetro DEBE ser de tipo callable
    • ReflectionParameter::isDefaultValueAvailable - Comprueba si el valor por omisión está disponible
    • ReflectionParameter::isDefaultValueConstant - Devuelve si el valor predeterminado de este parámetro es constante
    • ReflectionParameter::isOptional - Comprueba si es opcional
    • ReflectionParameter::isPassedByReference - Comprueba si es pasado por referencia
    • ReflectionParameter::__clone - Clon
    • ReflectionParameter::__construct - Construct
    • ReflectionParameter::__toString - A string
    • ReflectionProperty::export - Exportar
    • ReflectionProperty::getDeclaringClass - Obtiene la clase en la que se declaró
    • ReflectionProperty::getDocComment - Obtiene los comentarios de documentación
    • ReflectionProperty::getModifiers - Obtiene los modificadores
    • ReflectionProperty::getName - Obtiene el nombre de la propiedad
    • ReflectionProperty::getValue - Obtiene el valor
    • ReflectionProperty::isDefault - Comprueba si la propiedad es predeterminado
    • ReflectionProperty::isPrivate - Comprueba si una propiedad es privada
    • ReflectionProperty::isProtected - Comprueba si la propiedad está protegida
    • ReflectionProperty::isPublic - Comprueba si la propiedad es pública
    • ReflectionProperty::isStatic - Comprueba si la propiedad es estática
    • ReflectionProperty::setAccessible - Hace accesible una propiedad
    • ReflectionProperty::setValue - Establece el valor de la propiedad
    • ReflectionProperty::__clone - Clonar
    • ReflectionProperty::__construct - Construye un objeto de tipo ReflectionProperty
    • ReflectionProperty::__toString - Convertir a texto
    • ReflectionZendExtension::export - Exportar
    • ReflectionZendExtension::getAuthor - Consultar autor
    • ReflectionZendExtension::getCopyright - Consultar los derechos de copia
    • ReflectionZendExtension::getName - Obtiene el nombre
    • ReflectionZendExtension::getURL - Obtiene la URL
    • ReflectionZendExtension::getVersion - Obtiene la versión
    • ReflectionZendExtension::__clone - Clon de controlador
    • ReflectionZendExtension::__construct - Constructor
    • ReflectionZendExtension::__toString - Convierte a texto
    • Reflector::export - Exportar
    • Reflector::__toString - Convertir a String
    • RegexIterator::accept - Obtener el estado de aceptación
    • RegexIterator::getFlags - Obtener flags
    • RegexIterator::getMode - Devuelve el modo de operación
    • RegexIterator::getPregFlags - Devuelve las flags de expresión regular
    • RegexIterator::getRegex - Devuelve la expresión regular actual
    • RegexIterator::setFlags - Establece las flags
    • RegexIterator::setMode - Establece el modo de operación
    • RegexIterator::setPregFlags - Establece las flags de expresión regular
    • RegexIterator::__construct - Crea un nuevo RegexIterator
    • register_shutdown_function - Registrar una función para que sea ejecutada al cierre
    • register_tick_function - Registrar una función para que sea ejecutada en cada tick
    • rename - Renombra un archivo o directorio
    • rename_function - Renombra original_name como new_name en la tabla global de funciones
    • reset - Establece el puntero interno de un array a su primer elemento
    • ResourceBundle::count - Obtener el número de elementos de un paquete
    • ResourceBundle::create - Crear un paquete de recursos
    • ResourceBundle::get - Obtener datos de un paquete
    • ResourceBundle::getErrorCode - Obtener el códido del último error del paquete
    • ResourceBundle::getErrorMessage - Obtener el mensaje del último error del paquete
    • ResourceBundle::getLocales - Obtener las configuraciones regionales soportadas
    • restore_error_handler - Recupera la función de gestión de errores previa
    • restore_exception_handler - Restaura la función de gestión de excepciones previamente definida
    • restore_include_path - Restablece el valor de la opción de configuración include_path
    • rewind - Rebobina la posción de un puntero a un archivo
    • rewinddir - Regresar el gestor de directorio
    • rmdir - Elimina un directorio
    • round - Redondea un float
    • rpm_close - Cierra un fichero RPM
    • rpm_get_tag - Obtiene la etiqueta del encabezado de un fichero RPM
    • rpm_is_valid - Comprueba si un fichero RPM es válido
    • rpm_open - Abre un fichero RPM
    • rpm_version - Devuelve una cadena de texto con la versión actual de la extensión de rpmreader
    • RRDCreator::addArchive - Añade RRA - archivo de valores de datos para cada fuente de datos
    • RRDCreator::addDataSource - Añade definición de origen de datos para la base de datos RRD
    • RRDCreator::save - Guarda la base de datos RRD en un archivo
    • RRDCreator::__construct - Crea una nueva instancia RRDCreator
    • RRDGraph::save - Guarda el resultado de la consulta en la imagen
    • RRDGraph::saveVerbose - Guarda la consulta de la bases de datos RRD en la imagen y devuelve la información detallada acerca de gráfico generado.
    • RRDGraph::setOptions - Establece las opciones para la exportación gráfica rrd
    • RRDGraph::__construct - Crea una nueva instancia RRDGraph
    • RRDUpdater::update - Actualiza el archivo de base de datos RRD
    • RRDUpdater::__construct - Crea una nueva instancia RRDUpdater
    • rrd_create - Crea un archivo de base de datos rrd
    • rrd_error - Obtener el último mensaje de error
    • rrd_fetch - Recuperar los datos de gráfico como un array
    • rrd_first - Obtiene la marca de tiempo UNIX de la primera muestra desde el archivo rrd
    • rrd_graph - Crea la imagen de un conjunto de datos
    • rrd_info - Obtiene información sobre el archivo rrd
    • rrd_last - Obtiene la marca de tiempo UNIX de la última muestra
    • rrd_lastupdate - Obtiene información sobre los últimos datos actualizados
    • rrd_restore - Restaura el archivo RRD desde el XML dump
    • rrd_tune - Cambia algunas opciones de cabecera del archivo de base de datos RRD database
    • rrd_update - Actualizar la base de datos RRD
    • rrd_version - Obtiene información acerca de la biblioteca subyacente rrdtool
    • rrd_xport - Exporta la información acerca de la base de datos RRD
    • rsort - Ordena un array en orden inverso
    • rtrim - Retira los espacios en blanco (u otros caracteres) del final de un string
    • runkit_class_adopt - Convertir una clase base en una clase heredada, añadiendo métodos ancestrales cuando sea apropiado
    • runkit_class_emancipate - Convertir una clase heredada en una clase base, eliminando cualquier método cuyo ámbito sea ancestral
    • runkit_constant_add - Similar a define(), excepto que también permite definir en definiciones de clase
    • runkit_constant_redefine - Redefinir una constante ya definida
    • runkit_constant_remove - Eliminar/Borrar una constante ya definida
    • runkit_function_add - Añadir una nueva función, similar a create_function
    • runkit_function_copy - Copiar una función a un nombre de función nuevo
    • runkit_function_redefine - Reemplazar una definición de función con una nueva implementación
    • runkit_function_remove - Eliminar una definición de función
    • runkit_function_rename - Cambiar el nombre de una función
    • runkit_import - Procesar un archivo PHP importando definiciones de funciones y clases, sobrescribiendo cuando sea apropiado
    • runkit_lint - Verificar la sintaxis PHP del código php especificado
    • runkit_lint_file - Verificar la sintaxis PHP del archivo especificado
    • runkit_method_add - Añadir dinámicamente un nuevo método a una clase dada
    • runkit_method_copy - Copia un método de una clase a otra
    • runkit_method_redefine - Cambiar dinámicamente el código del método dado
    • runkit_method_remove - Eliminar dinámicamente el método dado
    • runkit_method_rename - Cambiar dinámicamente el nombre del método dado
    • runkit_return_value_used - Determina si se usarán los valores devueltos por las funciones actuales
    • Runkit_Sandbox - La Clase Runkit Sandbox -- Máquina Virtual de PHP
    • runkit_sandbox_output_handler - Especificar una función para capturar y/o procesar la salida de un aislamiento de procesos de runkit
    • Runkit_Sandbox_Parent - Clase Runkit Anti-Sandbox
    • runkit_superglobals - Devolver el array indexado numéricamente de las superglobales registradas
  • s
    • SAMConnection::commit - Hace el commit (consolida) la unidad de trabajo actual.
    • SAMConnection::connect - Establece una conexión a un servidor de mensajería
    • SAMConnection::disconnect - Desconecta de un Servidor de Mensajería
    • SAMConnection::errno - Contiene el código de error numérico de la última operación SAM ejecutada
    • SAMConnection::error - Contiene el texto con la descripción de la última operación SAM fallida
    • SAMConnection::isConnected - Consulta si se ha establecido conexión a un Servidor de Mensajería
    • SAMConnection::peek - Lectura de un mensaje de una cola sin eliminarlo de la cola.
    • SAMConnection::peekAll - Lectura de uno o más mensajes de una cola, sin eliminarlo de la cola.
    • SAMConnection::receive - Recibir un mensaje de una cola o de una suscripción.
    • SAMConnection::remove - Elimina un mensaje de una cola
    • SAMConnection::rollback - Cancela (revierte) una unidad de trabajo pendiente de ser consolidada.
    • SAMConnection::send - Envía un mensaje a una cola o lo publica en un asunto.
    • SAMConnection::setDebug - Activa o desactiva la información adicional de depuración.
    • SAMConnection::subscribe - Crea una suscripción a un tema específico.
    • SAMConnection::unsubscribe - Cancela una suscripción a un tema específico.
    • SAMConnection::__construct - Crea una nueva conexión a un Servidor de Mensajería
    • SAMMessage::body - El cuerpo del mensaje.
    • SAMMessage::header - Las propiedades en la cabecera del mensaje.
    • SAMMessage::__construct - Crea un nuevo objeto de mensaje
    • SCA::createDataObject - Crear un SDO
    • SCA::getService - Obtener un delegado para un servicio
    • scandir - Enumera los ficheros y directorios ubicados en la ruta especificada
    • SCA_LocalProxy::createDataObject - Crear un SDO
    • SCA_SoapProxy::createDataObject - Crear un SDO
    • SDO_DAS_ChangeSummary::beginLogging - Comenzar a registrar los cambios
    • SDO_DAS_ChangeSummary::endLogging - Terminar de registrar cambios
    • SDO_DAS_ChangeSummary::getChangedDataObjects - Obtener los objetos de datos cambiados de un resumen de cambios
    • SDO_DAS_ChangeSummary::getChangeType - Obtener el tipo de cambio hecho a un SDO_DataObject
    • SDO_DAS_ChangeSummary::getOldContainer - Obtener el contenedor antiguo de un SDO_DataObject eliminado
    • SDO_DAS_ChangeSummary::getOldValues - Obtener los valores antiguos de un SDO_DataObject cambiado dado
    • SDO_DAS_ChangeSummary::isLogging - Comprobar si el registro de cambios está activado
    • SDO_DAS_DataFactory::addPropertyToType - Añadir una propiedad a un tipo
    • SDO_DAS_DataFactory::addType - Añadir un nuevo tipo a un modelo
    • SDO_DAS_DataFactory::getDataFactory - Obtener una instancia de una fábrica de datos
    • SDO_DAS_DataObject::getChangeSummary - Obtener un resumen de cambios de un objeto de datos
    • SDO_DAS_Relational::applyChanges - Aplicar los cambios hechos a un grafo de datos en la base de datos.
    • SDO_DAS_Relational::createRootDataObject - Devuelve el objeto raíz especial en un grafo de datos en principio vacío. Usado para crear un grafo de datos desde cero.
    • SDO_DAS_Relational::executePreparedQuery - Ejecuta una consulta SQL pasada como una sentencia preparada, con una lista de valores para sustituir los parámetros de sustitución, y devuelve los resultados como un grafo de datos normalizado.
    • SDO_DAS_Relational::executeQuery - Ejecutar una consulta SQL dada en una base de datos relacional y devolver los resultados como un grafo de datos normalizado.
    • SDO_DAS_Relational::__construct - Crea una instancia de un Servicio de Acceso a Datos Relacional
    • SDO_DAS_Setting::getListIndex - Obtener el índice de la lista de una propiedad polievaluada cambiada
    • SDO_DAS_Setting::getPropertyIndex - Obtener el índice de propiedad de una propiedad cambiada
    • SDO_DAS_Setting::getPropertyName - Obtener el nombre de propiedad de una propiedad cambiada
    • SDO_DAS_Setting::getValue - Obtener el valor antiguo de una propiedad cambiada
    • SDO_DAS_Setting::isSet - Comprobar si una propiedad estaba establecida antes de ser modificada
    • SDO_DAS_XML::addTypes - Para cargar un segundo o subsiguiente fichero de esquema en un objteo SDO_DAS_XML
    • SDO_DAS_XML::create - Para crar un objeto SDO_DAS_XML para un fichero de esquema dado
    • SDO_DAS_XML::createDataObject - Crea un objeto SDO_DataObject dados un URI de espacio de nombres y un nombre de tipo
    • SDO_DAS_XML::createDocument - Crea un objeto Documento XML desde cero, sin la necesidad de cargar un documento desde un fichero o una cadena
    • SDO_DAS_XML::loadFile - Devuelve un objeto SDO_DAS_XML_Document para la ruta dada al documento de instancia xml
    • SDO_DAS_XML::loadString - Devuelve un SDO_DAS_XML_Document para una cadena de instancia xml dada
    • SDO_DAS_XML::saveFile - Guarda el objeto SDO_DAS_XML_Document en un fichero
    • SDO_DAS_XML::saveString - Guarda el objeto the SDO_DAS_XML_Document en una cadena
    • SDO_DAS_XML_Document::getRootDataObject - Devuelve el SDO_DataObject raíz
    • SDO_DAS_XML_Document::getRootElementName - Devuelve el nombre del elemento raíz
    • SDO_DAS_XML_Document::getRootElementURI - Devuelve la cadena del URI del elemento raíz
    • SDO_DAS_XML_Document::setEncoding - Establece la cadena dada como codificación
    • SDO_DAS_XML_Document::setXMLDeclaration - Establece la declaración de xml
    • SDO_DAS_XML_Document::setXMLVersion - Establece la cadena dada como versión de xml
    • SDO_DataFactory::create - Crear un SDO_DataObject
    • SDO_DataObject::clear - Limpiar las propiedades de un SDO_DataObject
    • SDO_DataObject::createDataObject - Crear un SDO_DataObject hijo
    • SDO_DataObject::getContainer - Obtener el contenedor de un objeto de datos
    • SDO_DataObject::getSequence - Obtener la secuencia de un objeto de datos
    • SDO_DataObject::getTypeName - Devolver el nombre del tipo de un objeto de datos
    • SDO_DataObject::getTypeNamespaceURI - Devolver el URI del espacio de nombre del tipo de un objeto de datos.
    • SDO_Exception::getCause - Obtener la causa de la excepción.
    • SDO_List::insert - Insertar en una lista
    • SDO_Model_Property::getContainingType - Obtener el SDO_Model_Type que contiene esta propiedad
    • SDO_Model_Property::getDefault - Obtener el valor predeterminado de la propiedad
    • SDO_Model_Property::getName - Obtener el nombre del SDO_Model_Property
    • SDO_Model_Property::getType - Obtener el SDO_Model_Type de la propiedad
    • SDO_Model_Property::isContainment - Comprobar si la propiedad define una relación de contención
    • SDO_Model_Property::isMany - Comprobar si la propiedad es polievaluada
    • SDO_Model_ReflectionDataObject::export - Obtener una cadena que describe el SDO_DataObject.
    • SDO_Model_ReflectionDataObject::getContainmentProperty - Obtener la propiedad que define la relación de contención del objeto de datos
    • SDO_Model_ReflectionDataObject::getInstanceProperties - Obtener las propiedades de instancia del SDO_DataObject
    • SDO_Model_ReflectionDataObject::getType - Obtener el SDO_Model_Type del SDO_DataObject
    • SDO_Model_ReflectionDataObject::__construct - Contruir un SDO_Model_ReflectionDataObject
    • SDO_Model_Type::getBaseType - Obtener el tipo base de este tipo
    • SDO_Model_Type::getName - Obtener el nombre del tipo
    • SDO_Model_Type::getNamespaceURI - Obtener el URI del espacio de nombres del tipo
    • SDO_Model_Type::getProperties - Obtener los objetos SDO_Model_Property definidos en el tipo
    • SDO_Model_Type::getProperty - Obtener un SDO_Model_Property del tipo
    • SDO_Model_Type::isAbstractType - Comprobar si este SDO_Model_Type es un tipo de datos abstracto
    • SDO_Model_Type::isDataType - Comprobar si este SDO_Model_Type es un tipo de datos primitivo
    • SDO_Model_Type::isInstance - Comprobar si un SDO_DataObject es una instancia de este SDO_Model_Type
    • SDO_Model_Type::isOpenType - Comprobar si este tipo es un tipo abierto
    • SDO_Model_Type::isSequencedType - Comprobar si este tipo es un tipo secuenciado
    • SDO_Sequence::getProperty - Devolver una propiedad para el índice de secuencia especificado.
    • SDO_Sequence::insert - Insertar en una secuencia
    • SDO_Sequence::move - Mover un elemento a otra posición de la secuencia
    • SeekableIterator::seek - Mueve la posición del apuntador interno
    • sem_acquire - Adquirir un semáforo
    • sem_get - Obtener el id de un semáforo
    • sem_release - Liberar un semáforo
    • sem_remove - Eliminar un semáforo
    • Serializable::serialize - Representación en formato cadena de un objeto
    • Serializable::unserialize - Construye el objeto
    • serialize - Genera una representación apta para el almacenamiento de un valor
    • SessionHandler::close - Cerrar la sesión
    • SessionHandler::destroy - Destruir una sesión
    • SessionHandler::gc - Eliminar las sesiones antiguas
    • SessionHandler::open - Inicializar una sesión
    • SessionHandler::read - Leer información de la sesión
    • SessionHandler::write - Escribir información de sesión
    • SessionHandlerInterface::close - Cerrar la sesión
    • SessionHandlerInterface::destroy - Destruir una sesión
    • SessionHandlerInterface::gc - Limpieza de sesiones antiguas
    • SessionHandlerInterface::open - Inicializar una sesión
    • SessionHandlerInterface::read - Leer información de sesión
    • SessionHandlerInterface::write - Escribir información de sesión
    • session_cache_expire - Devuelve la caducidad de la caché actual
    • session_cache_limiter - Obtener y/o establecer el limitador de caché actual
    • session_commit - Alias de session_write_close
    • session_decode - Decodifica la información de sesión desde una cadena de sesión codificada
    • session_destroy - Destruye toda la información registrada de una sesión
    • session_encode - Codifica los datos de la sesión actual como un string codificado de sesión
    • session_get_cookie_params - Obtener los parámetros de la cookie de sesión
    • session_id - Obtener y/o establecer el id de sesión actual
    • session_is_registered - Averiguar si una variable global está registrada en una sesión
    • session_module_name - Obtiene y/o establece el módulo de sesión actual
    • session_name - Obtener y/o establecer el nombre de la sesión actual
    • session_pgsql_add_error - Increments error counts and sets last error message
    • session_pgsql_get_error - Returns number of errors and last error message
    • session_pgsql_get_field - Get custom field value
    • session_pgsql_reset - Reset connection to session database servers
    • session_pgsql_set_field - Set custom field value
    • session_pgsql_status - Get current save handler status
    • session_regenerate_id - Actualiza el id de sesión actual con uno generado más reciente
    • session_register - Registrar una o más variables globales con la sesión actual
    • session_register_shutdown - Función de cierre de sesiones
    • session_save_path - Obtener y/o establecer la ruta de almacenamiento de la sesión actual
    • session_set_cookie_params - Establecer los parámetros de la cookie de sesión
    • session_set_save_handler - Establece funciones de almacenamiento de sesiones a nivel de usuario
    • session_start - Iniciar una nueva sesión o reanudar la existente
    • session_status - Devuelve el estado de la sesión actual
    • session_unregister - Deja de registrar una variable global de la sesión actual
    • session_unset - Libera todas las variables de sesión
    • session_write_close - Escribir información de sesión y finalizar la sesión
    • setcookie - Enviar una cookie
    • setlocale - Establecer la información de la configuración regional
    • setproctitle - Establecer el título de proceso
    • setrawcookie - Enviar una cookie sin codificar su valor
    • setthreadtitle - Set the thread title
    • settype - Establece el tipo de una variable
    • set_error_handler - Establecer una función de gestión de errores definida por el usuario
    • set_exception_handler - Establece una función de gestión de excepciones definida por el usuario
    • set_file_buffer - Alias de stream_set_write_buffer
    • set_include_path - Establece la opción de configuración include_path
    • set_magic_quotes_runtime - Establece el valor de configuración activo actual de magic_quotes_runtime
    • set_socket_blocking - Alias de stream_set_blocking
    • set_time_limit - Limita el tiempo máximo de ejecución
    • sha1 - Calcula el hash sha1 de un string
    • sha1_file - Calcula el hash sha1 de un archivo
    • shell_exec - Ejecutar un comando mediante el intérprete de comandos y devolver la salida completa como una cadena
    • shmop_close - Cerrar un segmento de memoria compartida
    • shmop_delete - Borrar segmento de memoria compartida
    • shmop_open - Crea o abre un segmento de memoria compartida
    • shmop_read - Leer datos desde un segmento de memoria compartida
    • shmop_size - Obtiene el tamaño de un segmento de memoria compartida
    • shmop_write - Escribir datos en un segmento de memoria compartida
    • shm_attach - Crea o abre un segmento de memoria compartida
    • shm_detach - Desconectarse del segmento de memoria compartida
    • shm_get_var - Devuelve una variable desde la memoria compartida
    • shm_has_var - Verificar si existe una entrada específica
    • shm_put_var - Inserta o actualiza una variable en la memoria compartida
    • shm_remove - Elimina la memoria compartida de sistemas Unix
    • shm_remove_var - Eliminar una variable de la memoria compartida
    • show_source - Alias de highlight_file
    • shuffle - Mezcla un array
    • signeurlpaiement - Obtener la url de pago (las necesidades de dos argumentos)
    • similar_text - Calcula la similitud entre dos strings
    • SimpleXMLElement::addAttribute - Añade un atributo al elemento SimpleXML
    • SimpleXMLElement::addChild - Añade un elemento hijo al nodo XML
    • SimpleXMLElement::asXML - Retorna un string XML correcto basado en un elemento SimpleXML
    • SimpleXMLElement::attributes - Identifica el atributo de un elemento
    • SimpleXMLElement::children - Encuentra los hijos del nodo dado
    • SimpleXMLElement::count - Cuenta los hijos de un elemento
    • SimpleXMLElement::getDocNamespaces - Retorna los namespaces declarados en el documento
    • SimpleXMLElement::getName - Retorna el nombre del elemento XML
    • SimpleXMLElement::getNamespaces - Retorna los namespaces usados en el documento
    • SimpleXMLElement::registerXPathNamespace - Crea un contexto prefijo/ns para la siguiente petición XPath
    • SimpleXMLElement::saveXML - Alias de SimpleXMLElement::asXML
    • SimpleXMLElement::xpath - Ejecuta una petición XPath sobre los datos XML
    • SimpleXMLElement::__construct - Crea un nuevo objeto SimpleXMLElement
    • SimpleXMLElement::__toString - Returns the string content
    • SimpleXMLIterator::current - Devuelve el elemento actual
    • SimpleXMLIterator::getChildren - Devuelve los sub elementos de el elemento actual
    • SimpleXMLIterator::hasChildren - Comprueba si el elemento actual tiene subelementos
    • SimpleXMLIterator::key - Devuelve la clave actual
    • SimpleXMLIterator::next - Mueve al siguiente elemento
    • SimpleXMLIterator::rewind - Rebobina hasta el primer elemento
    • SimpleXMLIterator::valid - Comprueba si el elemento actual es válido
    • simplexml_import_dom - Obtiene un objeto SimpleXMLElement de un nodo DOM
    • simplexml_load_file - Interpreta un fichero XML en un objeto
    • simplexml_load_string - Interpreta un string de XML en un objeto
    • sin - Seno
    • sinh - Seno hiperbólico
    • sizeof - Alias de count
    • sleep - Retrasar la ejecución
    • snmp2_get - Fetch an SNMP object
    • snmp2_getnext - Fetch the SNMP object which follows the given object id
    • snmp2_real_walk - Return all objects including their respective object ID within the specified one
    • snmp2_set - Set the value of an SNMP object
    • snmp2_walk - Fetch all the SNMP objects from an agent
    • snmp3_get - Fetch an SNMP object
    • snmp3_getnext - Fetch the SNMP object which follows the given object id
    • snmp3_real_walk - Return all objects including their respective object ID within the specified one
    • snmp3_set - Set the value of an SNMP object
    • snmp3_walk - Fetch all the SNMP objects from an agent
    • SNMP::close - Cerrar sesión SNMP
    • SNMP::get - Fetch an SNMP object
    • SNMP::getErrno - Get last error code
    • SNMP::getError - Obtiene el último mensaje de error
    • SNMP::getnext - Fetch an SNMP object which follows the given object id
    • SNMP::set - Set the value of an SNMP object
    • SNMP::setSecurity - Configures security-related SNMPv3 session parameters
    • SNMP::walk - Fetch SNMP object subtree
    • SNMP::__construct - Creates SNMP instance representing session to remote SNMP agent
    • snmpget - Fetch an SNMP object
    • snmpgetnext - Fetch the SNMP object which follows the given object id
    • snmprealwalk - Return all objects including their respective object ID within the specified one
    • snmpset - Set the value of an SNMP object
    • snmpwalk - Fetch all the SNMP objects from an agent
    • snmpwalkoid - Query for a tree of information about a network entity
    • snmp_get_quick_print - Fetches the current value of the UCD library's quick_print setting
    • snmp_get_valueretrieval - Return the method how the SNMP values will be returned
    • snmp_read_mib - Reads and parses a MIB file into the active MIB tree
    • snmp_set_enum_print - Return all values that are enums with their enum value instead of the raw integer
    • snmp_set_oid_numeric_print - Set the OID output format
    • snmp_set_oid_output_format - Set the OID output format
    • snmp_set_quick_print - Set the value of quick_print within the UCD SNMP library
    • snmp_set_valueretrieval - Specify the method how the SNMP values will be returned
    • SoapClient::SoapClient - Constructor de SoapClient
    • SoapClient::__call - Llama a una función de SOAP (obsoleto)
    • SoapClient::__construct - Constructor de SoapClient
    • SoapClient::__doRequest - Realiza una petición SOAP
    • SoapClient::__getFunctions - Devuelve una lista de todas las funciones SOAP disponibles
    • SoapClient::__getLastRequest - Devuelve la última petición SOAP
    • SoapClient::__getLastRequestHeaders - Devuelve los encabezados SOAP de la última petición
    • SoapClient::__getLastResponse - Devuelve la última respuesta SOAP
    • SoapClient::__getLastResponseHeaders - Devuelve los encabezados SOAP de la última respuesta
    • SoapClient::__getTypes - Devuelve una lista de los tipos SOAP
    • SoapClient::__setCookie - El propósito de __setCookie
    • SoapClient::__setLocation - Define la localización del servicio Web a utilizar
    • SoapClient::__setSoapHeaders - Define los encabezados SOAP para las subsiguentes llamadas
    • SoapClient::__soapCall - Llama a una función SOAP
    • SoapFault::SoapFault - Constructor de SoapFault
    • SoapFault::__construct - Constructor de SoapFault
    • SoapFault::__toString - Obtiene una representación en formato cadena de SoapFault
    • SoapHeader::SoapHeader - Constructor de SoapHeader
    • SoapHeader::__construct - Constructor de SoapHeader
    • SoapParam::SoapParam - Constructor de SoapParam
    • SoapParam::__construct - Constructor de SoapParam
    • SoapServer::addFunction - Añade una o más funciones al controlador de peticiones SOAP
    • SoapServer::addSoapHeader - Añade un encabezado SOAP a la respuesta
    • SoapServer::fault - SoapServer indica que ocurrió un fallo
    • SoapServer::getFunctions - Devuelve una lista de las funciones definidas
    • SoapServer::handle - Controla la petición SOAP
    • SoapServer::setClass - Define la clase que controla las peticiones SOAP
    • SoapServer::setObject - Define el objecto que será usado para controlar las peticiones SOAP
    • SoapServer::setPersistence - Establece el modo de persistencia de SoapServer
    • SoapServer::SoapServer - Constructor de SoapServer
    • SoapServer::__construct - Constructor de SoapServer
    • SoapVar::SoapVar - Constructor de SoapVar
    • SoapVar::__construct - Constructor de SoapVar
    • socket_accept - Acepta una conexión de un socket
    • socket_bind - Vincula un nombre a un socket
    • socket_clear_error - Limpia el error del socket o el último código de error
    • socket_close - Cierra un recurso socket
    • socket_cmsg_space - Calcular el tamaño del búfer de mensajes
    • socket_connect - Inicia una conexión sobre un socket
    • socket_create - Crear un socket (extremo de comunicación)
    • socket_create_listen - Abre un socket en un puerto para aceptar conxiones
    • socket_create_pair - Crea un par de sockets indistinguibles y los almacena en una matriz
    • socket_getpeername - Pregunta a la parte remota del socket dado que puede resultar en un host/puerto o en una ruta de sistema de archivos Unix, dependiendo de su tipo
    • socket_getsockname - Preguntar a la parte local del socket dado que puede resultar en un host/puerto o en una ruta de sistema de archivos Unix, dependiendo de su tipo
    • socket_get_option - Obtiene las opciones de socket para el socket
    • socket_get_status - Alias de stream_get_meta_data
    • socket_import_stream - Importar un flujo a stream
    • socket_last_error - Devuelve el último error sobre un socket
    • socket_listen - Escucha una conexión sobre un socket
    • socket_read - Lee un máximo de longitud de bytes desde un socket
    • socket_recv - REcibe información desde un socket conectado
    • socket_recvfrom - Recibe información desde un socket que esté o no orientado a conexión
    • socket_recvmsg - Leer un mensaje
    • socket_select - Ejecuta la llamada a select() del sistema sobre las matrices de sockets dadas con un tiempo límite especificado
    • socket_send - Envía información a un socket conectado
    • socket_sendmsg - Enviar un mensaje
    • socket_sendto - Envía un mensaje a un socket, ya esté conectado o no
    • socket_set_block - Establece el modo de bloqueo de un recurso socket
    • socket_set_blocking - Alias de stream_set_blocking
    • socket_set_nonblock - Establece el modo de no-bloqueo para el descriptor de archivo fd
    • socket_set_option - Establece las opciones de socket para el socket
    • socket_set_timeout - Alias de stream_set_timeout
    • socket_shutdown - Cierra un socket para dejar de recibir, enviar, o ambos
    • socket_strerror - Devuelve una cadena que describe un error de socket
    • socket_write - Escribir en un socket
    • SolrClient::addDocument - Añade un documento al índice
    • SolrClient::addDocuments - Añade una colección de instancias de SolrInputDocument al índice
    • SolrClient::commit - Finaliza todas las añadiduras/eliminaciones hechas al índice
    • SolrClient::deleteById - Eliminar por Id
    • SolrClient::deleteByIds - Elimina mediante Ids
    • SolrClient::deleteByQueries - Elimina todos los documentos que coincidan con cualquiera de las consultas
    • SolrClient::deleteByQuery - Elimina todos los documentos que coincidan con la consulta dada
    • SolrClient::getDebug - Devuelve la información de depuración para el último intento de conexión
    • SolrClient::getOptions - Devuelve las opciones de cliente establecidas internamente
    • SolrClient::optimize - Defragmenta el índice
    • SolrClient::ping - Comprueba si el servidor Solr está todavía activo
    • SolrClient::query - Envía una consulta al servidor
    • SolrClient::request - Envía una petición de actualización sin formato
    • SolrClient::rollback - Revierte todos los añadidos/eliminados hechos en el índice desde el último envío
    • SolrClient::setResponseWriter - Establece el autor de la respuesta usado para preparar la respuesta de Solr
    • SolrClient::setServlet - Cambia el servlet especificado a un nuevo valor
    • SolrClient::threads - Verifica el estado de los hilos
    • SolrClient::__construct - Constructor para el objeto SolrClient
    • SolrClient::__destruct - Destructor para SolrClient
    • SolrClientException::getInternalInfo - Devuelve información interna de donde se lanzó la excepción
    • SolrDocument::addField - añade un campo al documento
    • SolrDocument::clear - Borra todos los campos del documento
    • SolrDocument::current - Recupera el campo actual
    • SolrDocument::deleteField - Elimina un campo del documento
    • SolrDocument::fieldExists - Comprueba si existe un campo en el documento
    • SolrDocument::getField - Recupera un campo según su nombre
    • SolrDocument::getFieldCount - Devuelve el número de campos de este documento
    • SolrDocument::getFieldNames - Devuelve una matriz con los nombres de campos del documento
    • SolrDocument::getInputDocument - Devuelve un SolrInputDocument equivalente al objeto
    • SolrDocument::key - Recupera la clave actual
    • SolrDocument::merge - Fusiona la fuente con el objeto SolrDocument actual
    • SolrDocument::next - Mueve el puntero interno al siguiente campo
    • SolrDocument::offsetExists - Comprueba si existe un campo en particular
    • SolrDocument::offsetGet - Recupera un campo
    • SolrDocument::offsetSet - Añade un campo al documento
    • SolrDocument::offsetUnset - Elimina un campo
    • SolrDocument::reset - Este es un alias de SolrDocument::clear()
    • SolrDocument::rewind - Reinicia el puntero interno al principio
    • SolrDocument::serialize - Usado para serialización personalizada
    • SolrDocument::sort - Ordena los campos del documento
    • SolrDocument::toArray - Devuelve una matriz como representación de un documento
    • SolrDocument::unserialize - Serialización personalizada de objetos SolrDocument
    • SolrDocument::valid - Comprueba si la posición actual del puntero interno es aún válida
    • SolrDocument::__clone - Crea una copia de un objeto SolrDocument
    • SolrDocument::__construct - Constructor
    • SolrDocument::__destruct - Destructor
    • SolrDocument::__get - Acceder al campo como una propiedad
    • SolrDocument::__isset - Comprueba si existe un campo
    • SolrDocument::__set - Añade otro campo al documento
    • SolrDocument::__unset - Elimina un campo del documento
    • SolrDocumentField::__construct - Constructor
    • SolrDocumentField::__destruct - Destructor
    • SolrException::getInternalInfo - Devuelve información interna de donde se lanzó la excepción
    • SolrGenericResponse::__construct - Constructor
    • SolrGenericResponse::__destruct - Destructor
    • SolrIllegalArgumentException::getInternalInfo - Devuelve información interna de donde se lanzó la excepción
    • SolrIllegalOperationException::getInternalInfo - Devuelve información interna de donde se lanzó la excepción
    • SolrInputDocument::addField - Añade un campo al documento
    • SolrInputDocument::clear - Restablece el documento de entrada
    • SolrInputDocument::deleteField - Elimina un campo del documento
    • SolrInputDocument::fieldExists - Comprueba si existe un campo
    • SolrInputDocument::getBoost - Recupera el valor boost actual del documento
    • SolrInputDocument::getField - Recupera un campo por su nombre
    • SolrInputDocument::getFieldBoost - Recupera el valor boost de un campo en particular
    • SolrInputDocument::getFieldCount - Devuelve el número de campos del documento
    • SolrInputDocument::getFieldNames - Devuelve una matriz que contiene todos los campos del documento
    • SolrInputDocument::merge - Fusiona un documento con otro
    • SolrInputDocument::reset - Este es un alias de SolrInputDocument::clear
    • SolrInputDocument::setBoost - Establece el valor boost de este documento
    • SolrInputDocument::setFieldBoost - Establece el valor boost de tiempo del índice de un campo
    • SolrInputDocument::sort - Ordena los campos dentro de un documento
    • SolrInputDocument::toArray - Devuelve una matriz como representación del documento de entrada
    • SolrInputDocument::__clone - Crea una copia de un objeto SolrDocument
    • SolrInputDocument::__construct - Constructor
    • SolrInputDocument::__destruct - Destructor
    • SolrModifiableParams::__construct - Constructor
    • SolrModifiableParams::__destruct - Destructor
    • SolrObject::getPropertyNames - Devuelve una matriz de todos los nombres de las propiedades
    • SolrObject::offsetExists - Comprueba si la propiedad existe
    • SolrObject::offsetGet - Usado para recuperar una propiedad
    • SolrObject::offsetSet - Establece el valor de una propiedad
    • SolrObject::offsetUnset - Establece el valor para la propiedad
    • SolrObject::__construct - Crea un objeto Solr
    • SolrObject::__destruct - Destructor
    • SolrParams::add - Esto es un alias de SolrParams::addParam
    • SolrParams::addParam - Añade un parámetro al objeto
    • SolrParams::get - Este es una alias de SolrParams::getParam
    • SolrParams::getParam - Devuelve el valor de un parámetro
    • SolrParams::getParams - Devuelve una matriz de parámetros URL no codificados
    • SolrParams::getPreparedParams - Devuelve una matriz de parámetros URL codificados
    • SolrParams::serialize - Usado para serialización personalizada
    • SolrParams::set - Un alas de SolrParams::setParam
    • SolrParams::setParam - Establece el parámetro al valor especificado
    • SolrParams::toString - Devuelve todos los parámetros de los pares nombre-valor del objeto
    • SolrParams::unserialize - Usado para serialización personalizada
    • SolrPingResponse::getResponse - Devuelve la respuesta del servidor
    • SolrPingResponse::__construct - Constructor
    • SolrPingResponse::__destruct - Destructor
    • SolrQuery::addFacetDateField - Mapea a facet.date
    • SolrQuery::addFacetDateOther - Añade otro parámetro facet.date.other
    • SolrQuery::addFacetField - Añade otro campo a la faceta
    • SolrQuery::addFacetQuery - Añade una consulta de faceta
    • SolrQuery::addField - Especifica qué campos devolver en el resultado
    • SolrQuery::addFilterQuery - Especifica una consulta de filtro
    • SolrQuery::addHighlightField - Mapea a hl.fl
    • SolrQuery::addMltField - Establece un campo para usarlo para similitud
    • SolrQuery::addMltQueryField - Mapea a mlt.qf
    • SolrQuery::addSortField - Usado para controlar cómo deberían ordenarse los resultados
    • SolrQuery::addStatsFacet - Recupera una devolución de subresultados para valores dentro de la faceta dada
    • SolrQuery::addStatsField - Mapea al parámetro stats.field
    • SolrQuery::getFacet - Devuelve el valor del parámetro facet
    • SolrQuery::getFacetDateEnd - Devuelve el valor del parámetro facet.date.end
    • SolrQuery::getFacetDateFields - Devuelve todos los campos de facet.date
    • SolrQuery::getFacetDateGap - Devuelve el valor del parámetro facet.date.gap
    • SolrQuery::getFacetDateHardEnd - Devuelve el valor del parámetro facet.date.hardend
    • SolrQuery::getFacetDateOther - Devuelve el valor del parámetro facet.date.other
    • SolrQuery::getFacetDateStart - Devuelve el límite inferior del primer rango de datos para todas las facetas de fecha de este campo
    • SolrQuery::getFacetFields - Devuelve todos los campos facet
    • SolrQuery::getFacetLimit - Devuelve el número máximo de restricciones que deberían ser devueltas por los campos facet
    • SolrQuery::getFacetMethod - Devuelve el valor del parámetro facet.method
    • SolrQuery::getFacetMinCount - Devuelve el mínimo de facetas que deberían ser incluidas en la respuesta
    • SolrQuery::getFacetMissing - Devuelve el estado acutual del parámetro facet.missing
    • SolrQuery::getFacetOffset - Devuelve un índice dentro de la lista de restricciones para ser usado en paginación
    • SolrQuery::getFacetPrefix - Devuelve el prefijo de faceta
    • SolrQuery::getFacetQueries - Devuelve todas las consultas de facetas
    • SolrQuery::getFacetSort - Devuelve el tipo de ordenación de la faceta
    • SolrQuery::getFields - Devuelve la lista de campos que serán devueltos en la respuesta
    • SolrQuery::getFilterQueries - Devuelve una matriz de consultas de filtro
    • SolrQuery::getHighlight - Devuelve el estado del parámtero hl
    • SolrQuery::getHighlightAlternateField - Devuelve el campo remarcado para usarlo como copia de seguridad o como predeterminado
    • SolrQuery::getHighlightFields - Devuelve todos los campos que Solr debería generar para remarcación de trozos
    • SolrQuery::getHighlightFormatter - Devuelve el formateador de la salida remarcada
    • SolrQuery::getHighlightFragmenter - Devuelve el generador de trozos de texto para el texto remarcado
    • SolrQuery::getHighlightFragsize - Devuelve el número de caracteres de fragmentos a considerar para remarcación
    • SolrQuery::getHighlightHighlightMultiTerm - Devuelve si habilitar o no la remarcación de consultas range/wildcard/fuzzy/prefix
    • SolrQuery::getHighlightMaxAlternateFieldLength - Devuelve el número máximo de caracteres del campo a devolver
    • SolrQuery::getHighlightMaxAnalyzedChars - Devuelve el número máximo de caracteres de un documento para buscar trozos adecuados
    • SolrQuery::getHighlightMergeContiguous - Devuelve si colapsar o no fragmentos contiguos en un único fragmento
    • SolrQuery::getHighlightRegexMaxAnalyzedChars - Devuelve el número máximo de caracteres de un campo cuando se usa el fragmentador de expresiones regulares
    • SolrQuery::getHighlightRegexPattern - Devuelve la expresión regular para la fragmentación
    • SolrQuery::getHighlightRegexSlop - Devuelve el factor de desviación del tamaño de fragmento ideal
    • SolrQuery::getHighlightRequireFieldMatch - Devuelve si un campo será remarcado solamente si la consulta coincide con este campo en particular
    • SolrQuery::getHighlightSimplePost - Devuelve el texto que aparece después de un término remarcado
    • SolrQuery::getHighlightSimplePre - Devuelve el texto que aparece antes de un término remarcado
    • SolrQuery::getHighlightSnippets - Devuelve el número máximo de trozos remarcados a generar por campo
    • SolrQuery::getHighlightUsePhraseHighlighter - Devuelve el estado del parámetro hl.usePhraseHighlighter
    • SolrQuery::getMlt - Devuelve si los resultados MoreLikeThis deberían o no ser habilitados
    • SolrQuery::getMltBoost - Devuelve si la consulta será impulsada (boost) o no mediante la relevancia del térmido de interés
    • SolrQuery::getMltCount - Devuelve el número de documentos similares a devolver para cada resultado
    • SolrQuery::getMltFields - Devuelve todos los campos a usar para similitud
    • SolrQuery::getMltMaxNumQueryTerms - Devuelve el número máximo de términos de consultas que serán incluidos en cualquier consulta generada
    • SolrQuery::getMltMaxNumTokens - Devuelve el número máximo de tokens a analizar en cada campo del documento que no esté almacenado con soporte TermVector
    • SolrQuery::getMltMaxWordLength - Devuelve la longitud máxima de palabra de las palabras que serán ignoradas
    • SolrQuery::getMltMinDocFrequency - Devuelve el umbral de frecuencia en el que las palabras que no ocurran en por lo menos tantos documentos como este serán ignoradas
    • SolrQuery::getMltMinTermFrequency - Devuelve la frecuencia bajo la cual los términos serán ignorados en el documento fuente
    • SolrQuery::getMltMinWordLength - Devuelve la longitud máxima de palabra bajo la cual las palabras serán ignoradas
    • SolrQuery::getMltQueryFields - Devuelve los campos de consultas y sus boosts
    • SolrQuery::getQuery - Devuelve la consulta principal
    • SolrQuery::getRows - Devuelve el número máximo de documentos
    • SolrQuery::getSortFields - Devuelve todos los campos de ordenación
    • SolrQuery::getStart - Devuelve el índice del conjunto de resultados completo
    • SolrQuery::getStats - Devuelve si están habilitadas o no las estadísticas
    • SolrQuery::getStatsFacets - Devuelve todas las estadísticas de las facetas que fueron establecidas
    • SolrQuery::getStatsFields - Devuelve todas las estadísticas de los campos
    • SolrQuery::getTerms - Devuelve si está habilitado o no TermsComponent
    • SolrQuery::getTermsField - Devuelve el campo desde el cuál los términos son recuperados
    • SolrQuery::getTermsIncludeLowerBound - Devuelve si incluir o no el límite inferior en el conjunto de resultados
    • SolrQuery::getTermsIncludeUpperBound - Devuelve si incluir o no el término de límite superior en el conjunto de resultados
    • SolrQuery::getTermsLimit - Devuelve el número máximo de términos que debería devolver Solr
    • SolrQuery::getTermsLowerBound - Devuelve el término en el que comenzar
    • SolrQuery::getTermsMaxCount - Devuelve la frecuencia de documento máxima
    • SolrQuery::getTermsMinCount - Devuelve la frecuencia de documento mínima a devolver para ser incluido
    • SolrQuery::getTermsPrefix - Devuelve el prefijo del término
    • SolrQuery::getTermsReturnRaw - Si devolver o no caracteres en bruto
    • SolrQuery::getTermsSort - Devuelve un entero indicando cómo son ordenados los términos
    • SolrQuery::getTermsUpperBound - Devuelve el término en donde parar
    • SolrQuery::getTimeAllowed - Devuelve el tiempo en milisegundos permitido para que la consulta finalice
    • SolrQuery::removeFacetDateField - Elimina uno de los campos de faceta de fecha
    • SolrQuery::removeFacetDateOther - Elimina uno de los parámetros facet.date.other
    • SolrQuery::removeFacetField - Elimina uno de los parámetros facet.date
    • SolrQuery::removeFacetQuery - Elimina uno de los parámetros facet.query
    • SolrQuery::removeField - Elimina un campo de la lista de campos
    • SolrQuery::removeFilterQuery - Elimina una consulta de filtro
    • SolrQuery::removeHighlightField - Elimina uno de los campos usados para remarcación
    • SolrQuery::removeMltField - Elimina uno de los campos moreLikeThis
    • SolrQuery::removeMltQueryField - Elimina uno de los campos de consulta moreLikeThis
    • SolrQuery::removeSortField - Elimina uno de los campos de ordenación
    • SolrQuery::removeStatsFacet - Elimina uno de los parámetros stats.facet
    • SolrQuery::removeStatsField - Elimina uno de los parámetros stats.field
    • SolrQuery::setEchoHandler - Conmuta el parámetro echoHandler
    • SolrQuery::setEchoParams - Determina qué tipo de parámetros incluir en la respuesta
    • SolrQuery::setExplainOther - Establece el parámetro de consulta común explainOther
    • SolrQuery::setFacet - Mapea al parámetro facet. Habilita o deshabilta las facetas
    • SolrQuery::setFacetDateEnd - Mapea a facet.date.end
    • SolrQuery::setFacetDateGap - Mapea a facet.date.gap
    • SolrQuery::setFacetDateHardEnd - Mapea a facet.date.hardend
    • SolrQuery::setFacetDateStart - Mapea a facet.date.start
    • SolrQuery::setFacetEnumCacheMinDefaultFrequency - Establece la frecuencia de documento mínima usada para determinar la cuenta de términos
    • SolrQuery::setFacetLimit - Mapea a facet.limit
    • SolrQuery::setFacetMethod - Especifica el tipo de algoritmo a usar cuando se hace una faceta a un campo
    • SolrQuery::setFacetMinCount - Mapea a facet.mincount
    • SolrQuery::setFacetMissing - Mapea a facet.missing
    • SolrQuery::setFacetOffset - Establece el índice de la lista de restricciones para permitir la paginación
    • SolrQuery::setFacetPrefix - Especifica un prefijo de cadena con el que limitar los términos a los que hacer una faceta
    • SolrQuery::setFacetSort - Determina el orden de las restricciones de campos de faceta
    • SolrQuery::setHighlight - Habilita o deshabilita la remarcación
    • SolrQuery::setHighlightAlternateField - Especifica el campo de copia de seguridad a usar
    • SolrQuery::setHighlightFormatter - Especifica un formateador para la salida remarcada
    • SolrQuery::setHighlightFragmenter - Establece el generador de trozos de código para texto remarcado
    • SolrQuery::setHighlightFragsize - El tamaño de los fragmentos a considerara para remarcación
    • SolrQuery::setHighlightHighlightMultiTerm - Usa SpanScorer para remarcar términos de frases
    • SolrQuery::setHighlightMaxAlternateFieldLength - Establece el número máximo de caracteres del campo a devolver
    • SolrQuery::setHighlightMaxAnalyzedChars - Especifica el número de caracteres de un documento para buscar trozos apropiados
    • SolrQuery::setHighlightMergeContiguous - Si colapsar o no fragmentos contiguos en un único fragmento
    • SolrQuery::setHighlightRegexMaxAnalyzedChars - Especifica el número máximo de caracteres a analizar
    • SolrQuery::setHighlightRegexPattern - Especifica la expresión regular para la fragmentación
    • SolrQuery::setHighlightRegexSlop - Establece el factor por el que el fragmentador de expresiones regulares puede desviarse del tamaño de fragmento ideal
    • SolrQuery::setHighlightRequireFieldMatch - Requerir la coincicencia de campos durante el remarcado
    • SolrQuery::setHighlightSimplePost - Establece el texto que aparece antes de un término remarcado
    • SolrQuery::setHighlightSimplePre - Establece el texto que aparece antes de un término remarcado
    • SolrQuery::setHighlightSnippets - Establece el número máximo de trozos remarcados para generar por campo
    • SolrQuery::setHighlightUsePhraseHighlighter - Si remarcar o no términos de frases sólo cuando aparecen en la frase de consulta
    • SolrQuery::setMlt - Habilita o deshabilita moreLikeThis
    • SolrQuery::setMltBoost - Establecer si la consulta será impulsada (boost) por la relevancia del término de interés
    • SolrQuery::setMltCount - Establece el número de documentos similares a devolver en cada resultado
    • SolrQuery::setMltMaxNumQueryTerms - Establece el número máximo de términos de consulta incluidos
    • SolrQuery::setMltMaxNumTokens - Especifica el número máximo de tokens a analizar
    • SolrQuery::setMltMaxWordLength - Establece la longitud de palabra máxima
    • SolrQuery::setMltMinDocFrequency - Establece la frecuencia de mltMinDoc
    • SolrQuery::setMltMinTermFrequency - Establece la frecuencia bajo la cual los términos serán ignorados en los documentos fuente
    • SolrQuery::setMltMinWordLength - Establece la longitud de palabra mínima
    • SolrQuery::setOmitHeader - Excluye la cabecera de los resultados devueltos
    • SolrQuery::setQuery - Establece la consulta de búsqueda
    • SolrQuery::setRows - Especifica el número máximo de filas a devolver en el resultado
    • SolrQuery::setShowDebugInfo - Bandera para mostrar información de depuración
    • SolrQuery::setStart - Especifica el número de filas que se van a saltar
    • SolrQuery::setStats - Habilita o deshablita el componente de estadísticas
    • SolrQuery::setTerms - Habilita o deshablita TermsComponent
    • SolrQuery::setTermsField - Establece el nombre del campo del que obtener los términos
    • SolrQuery::setTermsIncludeLowerBound - Incluir el término de límite inferior en el conjunto de resultados
    • SolrQuery::setTermsIncludeUpperBound - Incluir el término de límite superior en el conjunto de resultados
    • SolrQuery::setTermsLimit - Establece el número máximo de términos a devolver
    • SolrQuery::setTermsLowerBound - Especifica el término de donde empezar
    • SolrQuery::setTermsMaxCount - Establece la frecuencia máxima de documentos
    • SolrQuery::setTermsMinCount - Establece la frecuencia mínima de documentos
    • SolrQuery::setTermsPrefix - Restringe las coincidencias de términos que comienzan con el prefijo
    • SolrQuery::setTermsReturnRaw - Devuelve los caracteres en bruto del término indexado
    • SolrQuery::setTermsSort - Especifica cómo ordenar los términos devueltos
    • SolrQuery::setTermsUpperBound - Establece el término en el que parar
    • SolrQuery::setTimeAllowed - El tiempo permitido para que la búsqueda finalice
    • SolrQuery::__construct - Constructor
    • SolrQuery::__destruct - Destructor
    • SolrQueryResponse::__construct - Constructor
    • SolrQueryResponse::__destruct - Destructor
    • SolrResponse::getDigestedResponse - Devuelve la respueste XML como información de PHP serializada
    • SolrResponse::getHttpStatus - Devuelve el estado HTTP de la respuesta
    • SolrResponse::getHttpStatusMessage - Devuelve más detalles del estado HTTP
    • SolrResponse::getRawRequest - Devuelve la respuesta en bruto enviada al servidor Solr
    • SolrResponse::getRawRequestHeaders - Devuelve las cabeceras de respuesta sin tratar enviadas al servidor Solr
    • SolrResponse::getRawResponse - Devuelve la respuesta sin tratar del servidor
    • SolrResponse::getRawResponseHeaders - Devuelve las cabeceras de respuesta sin tratar del servidor
    • SolrResponse::getRequestUrl - Devuelve la URL completa a la que se envió la respuesta
    • SolrResponse::getResponse - Devuelve un objeto SolrObject que representa la respuesta XML del servidor
    • SolrResponse::setParseMode - Establece el modo de análisis
    • SolrResponse::success - ¿Tuvo éxito la petición?
    • SolrUpdateResponse::__construct - Constructor
    • SolrUpdateResponse::__destruct - Destructor
    • SolrUtils::digestXmlResponse - Convierte una cadena de respuesta XML a un objeto SolrObject
    • SolrUtils::escapeQueryChars - Escapa una cadena de consulta lucene
    • SolrUtils::getSolrVersion - Devuelve la versión actual de la extensión Solr
    • SolrUtils::queryPhrase - Prepara una frase desde una cadena lucene sin escapar
    • solr_get_version - Devuelve la versión actual de la extensión Apache Solr
    • sort - Ordena un array
    • soundex - Calcula la clave soundex de un string
    • SphinxClient::addQuery - Add query to multi-query batch
    • SphinxClient::buildExcerpts - Build text snippets
    • SphinxClient::buildKeywords - Extraer las palabras clave de una consulta
    • SphinxClient::close - Cierra conexión persistente previamente abierta
    • SphinxClient::escapeString - Escapa caracteres especiales
    • SphinxClient::getLastError - Obtener el último mensaje de error
    • SphinxClient::getLastWarning - Obtener la última advertencia
    • SphinxClient::open - Abre una conexión persistente con el servidor
    • SphinxClient::query - Execute search query
    • SphinxClient::resetFilters - Clear all filters
    • SphinxClient::resetGroupBy - Clear all group-by settings
    • SphinxClient::runQueries - Ejecutar un lote de consultas de búsqueda
    • SphinxClient::setArrayResult - Change the format of result set array
    • SphinxClient::setConnectTimeout - Establecer el tiempo de conexión
    • SphinxClient::setFieldWeights - Set field weights
    • SphinxClient::setFilter - Add new integer values set filter
    • SphinxClient::setFilterFloatRange - Add new float range filter
    • SphinxClient::setFilterRange - Add new integer range filter
    • SphinxClient::setGeoAnchor - Set anchor point for a geosphere distance calculations
    • SphinxClient::setGroupBy - Set grouping attribute
    • SphinxClient::setGroupDistinct - Set attribute name for per-group distinct values count calculations
    • SphinxClient::setIDRange - Set a range of accepted document IDs
    • SphinxClient::setIndexWeights - Set per-index weights
    • SphinxClient::setLimits - Set offset and limit of the result set
    • SphinxClient::setMatchMode - Set full-text query matching mode
    • SphinxClient::setMaxQueryTime - Establecer el tiempo máximo de consulta
    • SphinxClient::setOverride - Sets temporary per-document attribute value overrides
    • SphinxClient::setRankingMode - Set ranking mode
    • SphinxClient::setRetries - Set retry count and delay
    • SphinxClient::setSelect - Set select clause
    • SphinxClient::setServer - Set searchd host and port
    • SphinxClient::setSortMode - Set matches sorting mode
    • SphinxClient::status - Queries searchd status
    • SphinxClient::updateAttributes - Actualizar los atributos del documento
    • SphinxClient::__construct - Crea un nuevo objeto SphinxClient
    • SplDoublyLinkedList::bottom - Ver el nodo de el comienzo de la lista doblemente enlazada
    • SplDoublyLinkedList::count - Cuenta el número de elementos en la lista doblemente enlazada
    • SplDoublyLinkedList::current - Devuelve la entrada del array actual
    • SplDoublyLinkedList::getIteratorMode - Devuelve el modo de la iteración
    • SplDoublyLinkedList::isEmpty - Comprueba si la lista doblemente enlazada está vacía
    • SplDoublyLinkedList::key - Devuelve el índice del nodo actual
    • SplDoublyLinkedList::next - Mover a la siguiente entrada
    • SplDoublyLinkedList::offsetExists - Devuelve si el índice solicitado existe
    • SplDoublyLinkedList::offsetGet - Devuelve el valor del índice específicado
    • SplDoublyLinkedList::offsetSet - Establece el valor en el índice específicado
    • SplDoublyLinkedList::offsetUnset - Destruir el valor de el índice específicado
    • SplDoublyLinkedList::pop - Extrae un nodo del final de la lista doblementa enlazada
    • SplDoublyLinkedList::prev - Mueve a la entrada anterior
    • SplDoublyLinkedList::push - Inserta un elemento al final de la lista doblemente enlazada
    • SplDoublyLinkedList::rewind - Rebobina el iterador hasta el inicio
    • SplDoublyLinkedList::serialize - Serializa el almacenamiento
    • SplDoublyLinkedList::setIteratorMode - Establece el modo de iteración
    • SplDoublyLinkedList::shift - Quita un nodo del inicio de la lista doblemente enlazada
    • SplDoublyLinkedList::top - Obtener el nodo de el final de la lista doblemente enlazada
    • SplDoublyLinkedList::unserialize - Deserializa el almacenamiento
    • SplDoublyLinkedList::unshift - Añade un elemento al inicio de la lista doblemente enlazada
    • SplDoublyLinkedList::valid - Comprueba si la lista doblemente enlazada contiene más nodos
    • SplDoublyLinkedList::__construct - Construye una nueva lista doblemente enlazada
    • SplEnum::getConstList - Devuelve todas las constantes (o valores posibles) como un array
    • SplFileInfo::getATime - Obtiene la hora del último acceso al fichero
    • SplFileInfo::getBasename - Obtiene el nombre base del fichero
    • SplFileInfo::getCTime - Obtiene el i-nodo de el cambio de tiempo
    • SplFileInfo::getExtension - Obtiene la extensión del fichero
    • SplFileInfo::getFileInfo - Obtiene un objeto SplFileInfo para el fichero
    • SplFileInfo::getFilename - Obtiene el nombre del fichero
    • SplFileInfo::getGroup - Obtiene el grupo de el fichero
    • SplFileInfo::getInode - Obtiene el i-nodo de el fichero
    • SplFileInfo::getLinkTarget - Obtiene el destino de un enlace del sistema de ficheros
    • SplFileInfo::getMTime - Obtiene la fecha de la última modificación
    • SplFileInfo::getOwner - Obtiene el dueño de el fichero
    • SplFileInfo::getPath - Obtiene la ruta sin el nombre de fichero
    • SplFileInfo::getPathInfo - Obtiene un objeto SplFileInfo para la ruta
    • SplFileInfo::getPathname - Obtiene la ruta de un fichero
    • SplFileInfo::getPerms - Obtiene los permisos del fichero
    • SplFileInfo::getRealPath - Obtiene la ruta absoluta al fichero
    • SplFileInfo::getSize - Obtiene el tamaño de el fichero
    • SplFileInfo::getType - Obtiene el tipo del fichero
    • SplFileInfo::isDir - Dice si el fichero es un directorio
    • SplFileInfo::isExecutable - Comprueba si el fichero es ejecutable
    • SplFileInfo::isFile - Dice is el objeto hace referencia a un fichero normal
    • SplFileInfo::isLink - Comprueba si el fichero es un link
    • SplFileInfo::isReadable - Comprueba si el fichero se puede leer
    • SplFileInfo::isWritable - Comprueba si se puede escribir en el fichero
    • SplFileInfo::openFile - Obtiene un objeto SplFileObject para el fichero
    • SplFileInfo::setFileClass - Establece el nombre ee clase usado con SplFileInfo::openFile
    • SplFileInfo::setInfoClass - Establece la clase usada con getFileInfo y getPathInfo
    • SplFileInfo::__construct - Construir un objeto nuevo SplFileInfo
    • SplFileInfo::__toString - Devuelve la ruta de el fichero como un string
    • SplFileObject::current - Recupera la línea actual del fichero
    • SplFileObject::eof - Comprueba si es el final del fichero
    • SplFileObject::fflush - Vuelca el resultado en el fichero
    • SplFileObject::fgetc - Obtiene un caracter del fichero
    • SplFileObject::fgetcsv - Obtiene la línea de el fichero y analiza como campos CSV
    • SplFileObject::fgets - Obtener la línea de el fichero
    • SplFileObject::fgetss - Obtiene la línea de el fichero y elimina etiquetas HTML
    • SplFileObject::flock - Bloqueo de archivos portable
    • SplFileObject::fpassthru - Imprimir todos los datos restantes en un apuntador de fichero
    • SplFileObject::fputcsv - Escribe una array de campos línea CSV
    • SplFileObject::fscanf - Analiza la entrada de un fichero de acuerdo a un formato
    • SplFileObject::fseek - Mueve el apuntador interno a una posición
    • SplFileObject::fstat - Obtiene información de el fichero
    • SplFileObject::ftell - Devuelve la posición del fichero actual
    • SplFileObject::ftruncate - Trunca el archivo a una longitud dada
    • SplFileObject::fwrite - Escribe en el fichero
    • SplFileObject::getChildren - Ningún propósito
    • SplFileObject::getCsvControl - Obtiene el carácter delimitador y de encerrado del CSV
    • SplFileObject::getCurrentLine - Alias de SplFileObject::fgets
    • SplFileObject::getFlags - Obtener las flags de SplFileObject
    • SplFileObject::getMaxLineLen - Obtener la longitud máxima de línea
    • SplFileObject::hasChildren - SplFileObject no tiene hijos
    • SplFileObject::key - Obtiene el número de línea
    • SplFileObject::next - Leer la siguiente línea
    • SplFileObject::rewind - Rebobina el fichero hasta la primera línea
    • SplFileObject::seek - Mueve el apuntador interno a la línea específicada
    • SplFileObject::setCsvControl - Establece el delimitador y caracter de encierro del CSV
    • SplFileObject::setFlags - Establece flags para el SplFileObject
    • SplFileObject::setMaxLineLen - Establecer la longitud máxima de una línea
    • SplFileObject::valid - Comprueba si el final del finchero ha sido alcanzado
    • SplFileObject::__construct - Construye un nuevo objeto de fichero
    • SplFileObject::__toString - Alias de SplFileObject::current
    • SplFixedArray::count - Devuelve el tamaño del array
    • SplFixedArray::current - Devuelve la entrada del array actual
    • SplFixedArray::fromArray - Importa un array PHP en una instancia SplFixedArray
    • SplFixedArray::getSize - Obtiene el tamaño de el array
    • SplFixedArray::key - Devuelve los índices del array actual
    • SplFixedArray::next - Mover a la siguiente entrada
    • SplFixedArray::offsetExists - Devuelve si el índice solicitado existe
    • SplFixedArray::offsetGet - Devuelve el valor en el índice específicado
    • SplFixedArray::offsetSet - Establece un nuevo valor para el índice específicado
    • SplFixedArray::offsetUnset - Destruye el valor en el índice específicado
    • SplFixedArray::rewind - Rebobina el iterador hasta el inicio
    • SplFixedArray::setSize - Cambiar el tamaño de un array
    • SplFixedArray::toArray - Devuelve un array PHP de un array fijo
    • SplFixedArray::valid - Comprueba si el array contiene más elementos
    • SplFixedArray::__construct - Construye un nuevo array fijo
    • SplFixedArray::__wakeup - Reinicializar el array después de ser deserializado
    • SplHeap::compare - Compara elementos con el fin de colocarlos correctamente en el montón en la parte de arriba
    • SplHeap::count - Cuenta el número de elementos en el montón
    • SplHeap::current - Devuelve el nodo actual señalado por el iterador
    • SplHeap::extract - Extrae un nodo de la parte superior del montón
    • SplHeap::insert - Inserta un elemento en el montón
    • SplHeap::isEmpty - Comprueba si el montón actual está vacío
    • SplHeap::key - Devuelve el índice de el nodo actual
    • SplHeap::next - Mover al siguiente nodo
    • SplHeap::recoverFromCorruption - Recuperarse de un estado dañado y permitir un mayor número de acciones en el montón
    • SplHeap::rewind - Rebobina el iterador al comienzo
    • SplHeap::top - Observar el nodo desde el comienzo del montón
    • SplHeap::valid - Comprueba si el montón contiene más nodos
    • SplHeap::__construct - Construye un nuevo heap vacío
    • split - Divide una cadena en una matriz mediante una expresión regular
    • spliti - Divide una cadena en una matriz mediante una expresión regular insensible a mayúsculas-minúsculas
    • SplMaxHeap::compare - Compara elementos con el fin de colocarlos correctamente en el montón en la parte de arriba
    • SplMinHeap::compare - Comparar elementos con el fin de colocarlos correctamente en el montón em la parte de arriba
    • SplObjectStorage::addAll - Agrega todos los objetos de otro almacenamiento
    • SplObjectStorage::attach - Agrega un objeto en el almacenamiento
    • SplObjectStorage::contains - Comprueba si el almacenamiento contiene un objeto específico
    • SplObjectStorage::count - Devuelve el número de objetos en el almacenamiento
    • SplObjectStorage::current - Devuelve la entrada actual de almacenamiento
    • SplObjectStorage::detach - Quita un object de el almacenamiento
    • SplObjectStorage::getHash - Calcular un identificador único (hash) para los objetos contenidos
    • SplObjectStorage::getInfo - Devuelve los datos asociados con la entrada del iterador actual
    • SplObjectStorage::key - Devuelve el índice en el que se encuentra el iterador actualmente
    • SplObjectStorage::next - Mover a la siguiente entrada
    • SplObjectStorage::offsetExists - Comprueba si un objeto existe en el almacenamiento
    • SplObjectStorage::offsetGet - Devuelve los datos asociados con un object
    • SplObjectStorage::offsetSet - Asocia datos a un objeto en el almacenamiento
    • SplObjectStorage::offsetUnset - Quita un objeto de el almacenamiento
    • SplObjectStorage::removeAll - Remover objetos contenidos en otro almacenamiento de el almacenamiento actual
    • SplObjectStorage::removeAllExcept - Remover objetos excepto los contenidos en otro almacenamiento del almacenamiento actual
    • SplObjectStorage::rewind - Rebobina el iterador a el primer elemento de el almacenamiento
    • SplObjectStorage::serialize - Serializa el almacenamiento
    • SplObjectStorage::setInfo - Establece los datos asociados con el iterador de la entrada actual
    • SplObjectStorage::unserialize - Deserializa un almacenamiento desde su representación string
    • SplObjectStorage::valid - Comprobar si la entrada actual del iterador es válida
    • SplObserver::update - Recibe actualizaciones de sujeto
    • SplPriorityQueue::compare - Comparar las prioridades con el fin de colocar los elementos correctamente en el montón, mientras que tamizar arriba
    • SplPriorityQueue::count - Cuenta el número de elementos en la cola
    • SplPriorityQueue::current - Volver nodo actual que apunta el iterador
    • SplPriorityQueue::extract - Extrae un nodo de la parte superior de la pila y filtra hacía arriba
    • SplPriorityQueue::insert - Inserta un elemento en la cola en la parte de arriba
    • SplPriorityQueue::isEmpty - Comprueba si la cola está vacía
    • SplPriorityQueue::key - Devuelve el índice del nodo actual
    • SplPriorityQueue::next - Pasar a la siguiente nodo
    • SplPriorityQueue::recoverFromCorruption - Recuperar desde la condición corrupta y permitir acciones más en la cola
    • SplPriorityQueue::rewind - Rebobinar iterador de vuelta al inicio (no-op)
    • SplPriorityQueue::setExtractFlags - Establece el modo de extracción
    • SplPriorityQueue::top - Mira en el nodo de la parte superior de la cola
    • SplPriorityQueue::valid - Comprobar si la cola contiene más nodos
    • SplPriorityQueue::__construct - Construye una nueva cola vacía
    • SplQueue::dequeue - Quita un nodo de la cola
    • SplQueue::enqueue - Añade un elemento a la cola
    • SplQueue::setIteratorMode - Establece el modo de iteración
    • SplQueue::__construct - Construye una nueva cola implementada usando una lista doblemente enlazada
    • SplStack::setIteratorMode - Establece el modo de iteración
    • SplStack::__construct - Construye una nueva pila implementada mediante una lista doblemente enlazada
    • SplSubject::attach - Adjuntar un SplObserver
    • SplSubject::detach - Separa un observador
    • SplSubject::notify - Notificar un observador
    • SplTempFileObject::__construct - Construir un nuevo objeto de fichero temporal
    • SplType::__construct - Crea un valor nuevo de algún tipo de dato
    • spl_autoload - Implementación predeterminada para __autoload()
    • spl_autoload_call - Probar todos las funciones registradas __autoload() para cargar la clase solicitada
    • spl_autoload_extensions - Registrar y devolver las extensiones de ficheros predeterminadas para spl_autoload
    • spl_autoload_functions - Devolver todas las funciones __autoload() registradas
    • spl_autoload_register - Registrar las funciones dadas como implementación de __autoload()
    • spl_autoload_unregister - Desregistrar una función dada como implementadión de __autoload()
    • spl_classes - Devuelve las clases SPL disponibles
    • spl_object_hash - Devuelve el hash id del objeto dado
    • Spoofchecker::areConfusable - Comprobar si un texto dado contiene carateres que pueden ser confusos
    • Spoofchecker::isSuspicious - Comprobar si un texto dad contiene caracteres sospechosos
    • Spoofchecker::setAllowedLocales - Las configuraciones regionales a usar cuando se ejecutan las comprobaciones
    • Spoofchecker::setChecks - Establecer las comprobaciones a ejecutar
    • Spoofchecker::__construct - Constructor
    • sprintf - Devuelve un string formateado
    • SQL aceptado por 4D - PDO y SQL 4D
    • SQLite3::busyTimeout - Establecer el gestor de conexión ocupado
    • SQLite3::changes - Devolver el número de filas de la base de datos que fueron cambiadas (o insertadas, o eliminadas) por la sentencia SQL más reciente
    • SQLite3::close - Cerrar la conexión a la base de datos
    • SQLite3::createAggregate - Registrar una función de PHP para usarla como una función totalizadora de SQL
    • SQLite3::createCollation - Registra una función PHP para ser utilizada como una función SQL de ordenación específica
    • SQLite3::createFunction - Registrar una función de PHP para usarla como una función escalar de SQL
    • SQLite3::escapeString - Devolver una cadena que ha sido debidamente escapada
    • SQLite3::exec - Ejecutar una consulta que no devuelve resultados en una base de datos dada
    • SQLite3::lastErrorCode - Devolver el código numérico del resultado de la petición SQLite que falló más recientemente
    • SQLite3::lastErrorMsg - Devolver texto en inglés describiendo la petición SQLite que falló más recientemente
    • SQLite3::lastInsertRowID - Devolver el ID de la fila de la sentencia INSERT más reciente realizada en la base de datos
    • SQLite3::loadExtension - Intentar cargar una biblioteca de extensiones de SQLite
    • SQLite3::open - Abrir una base de datos SQLite
    • SQLite3::prepare - Preparar una sentencia SQL para su ejecución
    • SQLite3::query - Ejecutar una consulta SQL
    • SQLite3::querySingle - Ejecutar una consulta y devolver un único resultado
    • SQLite3::version - Devolver la versión de la biblioteca SQLite3 como una constante de cadena y como un número
    • SQLite3::__construct - Instanciar un objeto de la clase SQLite3 y abrir una base de datos de SQLite 3
    • SQLite3Result::columnName - Devolver el nombre de la columna n-ésima
    • SQLite3Result::columnType - Devolver el tipo de la columna n-ésima
    • SQLite3Result::fetchArray - Obtener una fila de resultados en forma de un array asociativo o indexado o ambos
    • SQLite3Result::finalize - Cerrar el conjunto de resultados
    • SQLite3Result::numColumns - Devolver el número de columnas del conjunto de resultados
    • SQLite3Result::reset - Reiniciar el conjunto de resultados a la primera fila
    • SQLite3Stmt::bindParam - Vincular un parámetro a una variable de sentencia
    • SQLite3Stmt::bindValue - Vincular el valor de un parámetro a una variable de sentencia
    • SQLite3Stmt::clear - Limpiar todos los parámetros vinculados actuales
    • SQLite3Stmt::close - Cerrar una sentencia preparada
    • SQLite3Stmt::execute - Ejecutar una sentencia preparada y devuolver un objeto de conjunto de resultados
    • SQLite3Stmt::paramCount - Devolver el número de parámetros dentro de la sentencia preparada
    • SQLite3Stmt::reset - Reiniciar la sentencia preparada
    • sqlite_array_query - Ejecutar una consulta en una base de datos dada y devolver un array
    • sqlite_busy_timeout - Establecer la duración del tiempo de espera de ocupación, o deshabilitar los gestores ocupados
    • sqlite_changes - Devuelve el número de filas que han sido cambiadas mediante la sentencia SQL más reciente.
    • sqlite_close - Cierra un base de datos SQLite abierta
    • sqlite_column - Obtiene una columna de la fila actual de un conjunto de resultados
    • sqlite_create_aggregate - Registrar FDU totalizadora para usarla en sentencias SQL
    • sqlite_create_function - Registra una función "regular" definida por el usuario para ser usada en sentencias SQL
    • sqlite_current - Obtiene la fila actual como un array de un conjunto de resultado
    • sqlite_error_string - Devuelve la descripción de un código de error
    • sqlite_escape_string - Escapa una cadena para ser usada como un parámetro para una consulta
    • sqlite_exec - Ejecutar una consulta sin resultado en una base de datos dada
    • sqlite_factory - Abrir una base de datos SQLite y devolver un objeto SQLiteDatabase
    • sqlite_fetch_all - Recupera todas las filas de un conjunto de resultados como un array de arrays
    • sqlite_fetch_array - Recupera la siguiente fila de un conjunto de resultados como un array
    • sqlite_fetch_column_types - Devuelve un array con los tipos de columna de una tabla en particular
    • sqlite_fetch_object - Recupera la siguiente fila de un conjunto de resultados como un objeto
    • sqlite_fetch_single - Recupera la primera columna de un conjunto de resultados como cadena
    • sqlite_fetch_string - Alias de sqlite_fetch_single
    • sqlite_field_name - Devuelve el nombre de un campo en particular
    • sqlite_has_more - Comprueba si están o no disponibles más filas
    • sqlite_has_prev - Comprueba si está o no disponible una fila anterior
    • sqlite_key - Devuelve el índice de la fila actual
    • sqlite_last_error - Devuelve el código de error del último error de una base de datos
    • sqlite_last_insert_rowid - Devuelve el ID fila de la fila insertada más recientemente
    • sqlite_libencoding - Devuelve la codificación de la biblioteca SQLite vinculada
    • sqlite_libversion - Devuelve la versión de la biblioteca SQLite vinculada
    • sqlite_next - Busca el número de fila siguiente
    • sqlite_num_fields - Devolver el número de campos de un conjunto de resultados
    • sqlite_num_rows - Devolver el número de filas de un conjunto de resultados almacenado en buffer
    • sqlite_open - Abrir una base de datos SQLite y crear la base de datos si no existe
    • sqlite_popen - Abrir un gestor persistente a una base de datos SQLite y crearla si no existe
    • sqlite_prev - Busca el número de fila anterior de un conjunto de resultados
    • sqlite_query - Ejecutar una consulta en una base de datos dada y devolver un gestor de resultados
    • sqlite_rewind - Busca el primer número de fila
    • sqlite_seek - Busca un número de fila en particular en un conjunto de resultados almacenado en buffer
    • sqlite_single_query - Ejecuta una consulta y devuelve un array para cada colúmna única o el valor de la primera fila
    • sqlite_udf_decode_binary - Decodificar datos binarios pasados como parámetros a una FDU
    • sqlite_udf_encode_binary - Codificar datos binarios antes de devolverlos desde una UDF
    • sqlite_unbuffered_query - Ejecutar una consulta que no precargue ni almacene en buffer toda la información
    • sqlite_valid - Devuelve si están disponibles más filas
    • sqlsrv_begin_transaction - Inicia una transacción de base de datos
    • sqlsrv_cancel - Cancela una sentencia de base de datos
    • sqlsrv_client_info - Devuelve información sobre el cliente y la conexión especificada
    • sqlsrv_close - Cierra una conexión abierta y libera los recursos asociados a la conexión
    • sqlsrv_commit - Consolida una transacción que se inició con sqlsrv_begin_transaction
    • sqlsrv_configure - Cambia la configuración de los drivers del gestionador de errores y de log
    • sqlsrv_connect - Abre una conexión a una base de datos Microsoft SQL Server
    • sqlsrv_errors - Devuelve información de errores y alertas (warnings) de la última operación SQLSRV realizada
    • sqlsrv_execute - Ejecuta una sentencia preparada con sqlsrv_prepare
    • sqlsrv_fetch - Hace que esté disponible para ser leída la siguiente fila del conjunto de resultado
    • sqlsrv_fetch_array - Devuelve una fila como un array
    • sqlsrv_fetch_object - Devuelve la siguiente fila de datos de un conjunto resultado como un objeto
    • sqlsrv_field_metadata - Obtiene la metadata de los campos de una consulta preparada por sqlsrv_prepare o sqlsrv_query
    • sqlsrv_free_stmt - Frees all resources for the specified statement
    • sqlsrv_get_config - Returns the value of the specified configuration setting
    • sqlsrv_get_field - Gets field data from the currently selected row
    • sqlsrv_has_rows - Indicates whether the specified statement has rows
    • sqlsrv_next_result - Makes the next result of the specified statement active
    • sqlsrv_num_fields - Retrieves the number of fields (columns) on a statement
    • sqlsrv_num_rows - Retrieves the number of rows in a result set
    • sqlsrv_prepare - Prepares a query for execution
    • sqlsrv_query - Prepares and executes a query.
    • sqlsrv_rollback - Rolls back a transaction that was begun with sqlsrv_begin_transaction
    • sqlsrv_rows_affected - Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed
    • sqlsrv_send_stream_data - Sends data from parameter streams to the server
    • sqlsrv_server_info - Returns information about the server
    • sql_regcase - Produce una expresión regular para la comparación insensible a mayúscuas-minúsculas
    • sqrt - Raíz cuadrada
    • srand - Genera un número aleatorio a partir de una semilla
    • sscanf - Interpreta un string de entrada de acuerdo con un formato
    • ssdeep_fuzzy_compare - Calculates the match score between two fuzzy hash signatures
    • ssdeep_fuzzy_hash - Create a fuzzy hash from a string
    • ssdeep_fuzzy_hash_filename - Create a fuzzy hash from a file
    • ssh2:// - Secure Shell 2
    • ssh2_auth_agent - Authenticate over SSH using the ssh agent
    • ssh2_auth_hostbased_file - Authenticate using a public hostkey
    • ssh2_auth_none - Authenticate as "none"
    • ssh2_auth_password - Authenticate over SSH using a plain password
    • ssh2_auth_pubkey_file - Authenticate using a public key
    • ssh2_connect - Connect to an SSH server
    • ssh2_exec - Execute a command on a remote server
    • ssh2_fetch_stream - Fetch an extended data stream
    • ssh2_fingerprint - Retrieve fingerprint of remote server
    • ssh2_methods_negotiated - Return list of negotiated methods
    • ssh2_publickey_add - Add an authorized publickey
    • ssh2_publickey_init - Initialize Publickey subsystem
    • ssh2_publickey_list - List currently authorized publickeys
    • ssh2_publickey_remove - Remove an authorized publickey
    • ssh2_scp_recv - Request a file via SCP
    • ssh2_scp_send - Send a file via SCP
    • ssh2_sftp - Initialize SFTP subsystem
    • ssh2_sftp_chmod - Changes file mode
    • ssh2_sftp_lstat - Stat a symbolic link
    • ssh2_sftp_mkdir - Create a directory
    • ssh2_sftp_readlink - Return the target of a symbolic link
    • ssh2_sftp_realpath - Resolve the realpath of a provided path string
    • ssh2_sftp_rename - Rename a remote file
    • ssh2_sftp_rmdir - Remove a directory
    • ssh2_sftp_stat - Stat a file on a remote filesystem
    • ssh2_sftp_symlink - Create a symlink
    • ssh2_sftp_unlink - Delete a file
    • ssh2_shell - Request an interactive shell
    • ssh2_tunnel - Open a tunnel through a remote server
    • Stackable::chunk - Manipulation
    • Stackable::isRunning - State Detection
    • Stackable::isTerminated - State Detection
    • Stackable::isWaiting - State Detection
    • Stackable::lock - Synchronization
    • Stackable::merge - Manipulation
    • Stackable::notify - Synchronization
    • Stackable::pop - Manipulation
    • Stackable::run - Execution
    • Stackable::shift - Manipulation
    • Stackable::synchronized - Synchronization
    • Stackable::unlock - Synchronization
    • Stackable::wait - Synchronization
    • stat - Da información acerca de un fichero
    • stats_absolute_deviation - Devuelve la desviación media de una matriz de valores
    • stats_cdf_beta - Calcula un parámetro de la distribución beta según los valores dados a los otros
    • stats_cdf_binomial - Calcula un parámetro de la distribución binomial según los valores dados a los otros
    • stats_cdf_cauchy - No documentada
    • stats_cdf_chisquare - Calcula un parámetro de la distribución ji-cuadrado según los valores dados a los otros
    • stats_cdf_exponential - No documentada
    • stats_cdf_f - Calcula un parámetro de la distribución F según los valores dados a los otros
    • stats_cdf_gamma - Calcula un parámetro de la distribución gamma según los valores dados a los otros
    • stats_cdf_laplace - No documentada
    • stats_cdf_logistic - No documentada
    • stats_cdf_negative_binomial - Calcula un parámetro de la distribución binomial negativa según los valores dados a los otros
    • stats_cdf_noncentral_chisquare - Calcula un parámetro de la distribución ji-cuadrado no central según los valores dados a los otros
    • stats_cdf_noncentral_f - Calcula un parámetro de la distribución F no central según los valores dados a los otros
    • stats_cdf_poisson - Calcula un parámetro de la distribución de Poisson según los valores dados a los otros
    • stats_cdf_t - Calcula un parámetro de la distribución T según los valores dados a los otros
    • stats_cdf_uniform - No documentada
    • stats_cdf_weibull - No documentada
    • stats_covariance - Computa la covarianza de dos conjuntos de datos
    • stats_dens_beta - No documentada
    • stats_dens_cauchy - No documentada
    • stats_dens_chisquare - No documentada
    • stats_dens_exponential - No documentada
    • stats_dens_f - Descripción
    • stats_dens_gamma - No documentada
    • stats_dens_laplace - No documentada
    • stats_dens_logistic - No documentada
    • stats_dens_negative_binomial - No documentada
    • stats_dens_normal - No documentada
    • stats_dens_pmf_binomial - No documentada
    • stats_dens_pmf_hypergeometric - Descripción
    • stats_dens_pmf_poisson - No documentada
    • stats_dens_t - No documentada
    • stats_dens_weibull - No documentada
    • stats_den_uniform - No documentada
    • stats_harmonic_mean - Devuelve la media armónica de una matriz de valores
    • stats_kurtosis - Computa la curtosis de la información de la matriz
    • stats_rand_gen_beta - Genera una desviación aleatoria beta
    • stats_rand_gen_chisquare - Genera una desviación aleatorio desde una distribución ji-cuadrado con "df" grados de libertad de variable aleatoria
    • stats_rand_gen_exponential - Genera una desviación aleatoria sencilla desde una distribución exponencial con media "av"
    • stats_rand_gen_f - Genera una desviación aleatoria
    • stats_rand_gen_funiform - Genera números de coma flotante uniformes entretes low (exclusive) y high (exclusive)
    • stats_rand_gen_gamma - Genera desviaciones aleatorias desde una distribución gamma
    • stats_rand_gen_ibinomial - Genera una desviación sencilla desde una distribución binomial cuyo número de pruebas es "n" (n >= 0) y cuya probabilidad de un suceso en cada prueba es "pp" ([0;1]). Método : algoritmo BTPE
    • stats_rand_gen_ibinomial_negative - Generates una desviación aleatoria sencilla desde una distribución binomial negativa. Argumentos : n - el número de pruebas de la distribución binomial negativa desde la cuál se va a generar una desviación aleatoria (n > 0), p - la probabilidad de un suceso (0 < p < 1))
    • stats_rand_gen_int - Genera enteros aleatorios entre 1 y 2147483562
    • stats_rand_gen_ipoisson - Genera una desviación aleatoria sencilla desde una distribución Poisson con media "mu" (mu >= 0.0)
    • stats_rand_gen_iuniform - Genera enteros uniformemente distribuidos entre LOW (inclusive) y HIGH (inclusive)
    • stats_rand_gen_noncenral_chisquare - Genera una desviación aleatoria desde una distribución ji-cuadrado no central con "df" grados de libertad y el parámetro no central "xnonc". d debe ser >= 1.0, xnonc debe sert >= 0.0
    • stats_rand_gen_noncentral_f - Genera una desviación aleatoria desde una distribución F no central (ratio de varianza) con "dfn" grados de libertad en el numerador y "dfd" grados de libertad en el denominador, y parámetro no central "xnonc". Método : genera directamente el ratio de la desviación ji-cuadrado de numerador no central hasta la variación ji-cuadrado de denominador central
    • stats_rand_gen_noncentral_t - Genera una desviación aleatoria sencilla desde una distribución T no central
    • stats_rand_gen_normal - Genera una desviación aleatoria sencilla desde una distribución normal con media av, y desviación estándar sd (sd >= 0). Método : Renombra SNORM desde TOMS ya que está ligeramente modificado por BWB para usar RANF en lugar de SUNIF
    • stats_rand_gen_t - Genera una desviación aleatoria sencilla desde una distribución T
    • stats_rand_get_seeds - No documentada
    • stats_rand_phrase_to_seeds - Generar dos semillas para el generador de números aleatorios RGN
    • stats_rand_ranf - Devuelve un número de coma flotante desde una distribución uniforme sobre 0 - 1 (los extremos de este intervalo no son devueltos) usando el generador actual
    • stats_rand_setall - No documentada
    • stats_skew - Computa la oblicuidad de los datos de una matriz
    • stats_standard_deviation - Devuelve la desviación estándar
    • stats_stat_binomial_coef - No documentada
    • stats_stat_correlation - No documentada
    • stats_stat_gennch - No documentada
    • stats_stat_independent_t - No documentada
    • stats_stat_innerproduct - Descripción
    • stats_stat_noncentral_t - Calcula un parámetro de la distribución T no central según los valores dados a los otros
    • stats_stat_paired_t - No documentada
    • stats_stat_percentile - No documentada
    • stats_stat_powersum - No documentada
    • stats_variance - Devuelve la varianza de población
    • Stomp::abort - Deshacer una transacción en curso
    • Stomp::ack - Confirmar la recepción y el consumo de un mensaje
    • Stomp::begin - Iniciar una transacción
    • Stomp::commit - Validar una transacción en curso
    • Stomp::error - Obtiene el último error stomp
    • Stomp::getReadTimeout - Obtener la lectura del tiempo de espera de la solicitud
    • Stomp::getSessionId - Obtiene el identificador de sesión actual stomp
    • Stomp::hasFrame - Indica si existe o no una trama lista para leer
    • Stomp::readFrame - Leer la siguiente trama
    • Stomp::send - Envía un mensaje
    • Stomp::setReadTimeout - Establecer el tiempo de espera de lectura
    • Stomp::subscribe - Registrarse para escuchar a un destino dado
    • Stomp::unsubscribe - Dar de baja una suscripción existente
    • Stomp::__construct - Abre una conexión
    • Stomp::__destruct - Cierra una conexión stomp
    • StompException::getDetails - Obtener detalles de la excepción
    • StompFrame::__construct - Constructor
    • stomp_connect_error - Devuelve una cadena descripción de el último error al conectar
    • stomp_version - Obtiene la versión actual de la extensión stomp
    • strcasecmp - Comparación de string segura a nivel binario e insensible a mayúsculas y minúsculas
    • strchr - Alias de strstr
    • strcmp - Comparación de string segura a nivel binario
    • strcoll - Comparación de cadenas basada en la localidad
    • strcspn - Encuentra la longitud del segmento inicial que no coincida con la máscara
    • streamWrapper::dir_closedir - Cerrar un gestor de directorio
    • streamWrapper::dir_opendir - Abrir un gestor de directorio
    • streamWrapper::dir_readdir - Leer una entrada desde el gestor de directorio
    • streamWrapper::dir_rewinddir - Rebobina el gestor de directorio
    • streamWrapper::mkdir - Crear un directorio
    • streamWrapper::rename - Renombra un archivo o directorio
    • streamWrapper::rmdir - Elimina un directorio
    • streamWrapper::stream_cast - Recuperar el recurso subyacente
    • streamWrapper::stream_close - Cerrar un recurso
    • streamWrapper::stream_eof - Comprueba si un puntero a un archivo está en el final del archivo (EOF)
    • streamWrapper::stream_flush - Vuelca la salida
    • streamWrapper::stream_lock - Bloqueo de archivos asesorado
    • streamWrapper::stream_metadata - Cambiar las opciones del flujo
    • streamWrapper::stream_open - Abre un archivo o una URL
    • streamWrapper::stream_read - Leer un flujo
    • streamWrapper::stream_seek - Busca la ubicación específica en un flujo
    • streamWrapper::stream_set_option - Cambiar las opciones del flujo
    • streamWrapper::stream_stat - Recuperar información sobre un recurso de archivo
    • streamWrapper::stream_tell - Recuperar la posición actual de un flujo
    • streamWrapper::stream_truncate - Truncar un flujo
    • streamWrapper::stream_write - Escribir en un flujo
    • streamWrapper::unlink - Borrar un archivo
    • streamWrapper::url_stat - Recuperar información sobre un archivo
    • streamWrapper::__construct - Construye una nueva envoltura de flujo
    • streamWrapper::__destruct - Destruye una envoltura de flujo existente
    • stream_bucket_append - Añade un recipiente a una cadena de recipientes
    • stream_bucket_make_writeable - Devuelve un objeto recipiente desde una cadena de recipientes para operarar con él
    • stream_bucket_new - Crear un nuevo recipiente para usarlo en el flujo actual
    • stream_bucket_prepend - Añade un recipiente al principio de una cadena de recipientes
    • stream_context_create - Crear un contexto de flujo
    • stream_context_get_default - Recuperar el contexto de flujo predeterminado
    • stream_context_get_options - Recuperar las opciones para un flujo/envoltura/contexto
    • stream_context_get_params - Recuperar los parámetros de un contexto
    • stream_context_set_default - Establecer el contexto de flujo predeterminado
    • stream_context_set_option - Establece una opción para un flujo/envoltura/contexto
    • stream_context_set_params - Establecer parámetros para un flujo/envoltura/contexto
    • stream_copy_to_stream - Copia información desde un flujo a otro
    • stream_encoding - Establecer el conjunto de caracteres para la codificación del flujo
    • stream_filter_append - Enlaza un filtro a un flujo
    • stream_filter_prepend - Enlaza un filtro a un flujo
    • stream_filter_register - Registrar un filtro de flujo definido por el usuario
    • stream_filter_remove - Elimina un filtro de un flujo
    • stream_get_contents - Transfiere el resto de un flujo a una cadena
    • stream_get_filters - Recuperar la lista de los filtros registrados
    • stream_get_line - Obtiene una línea del recurso de flujo hasta un delimitador dado
    • stream_get_meta_data - Recuperar meta-información o de cabecera de punteros a flujos/archivo
    • stream_get_transports - Recuperar la lista de transportes de socket registrados
    • stream_get_wrappers - Recupera la lista de los flujos registrados
    • stream_is_local - Comprueba si un flujo es un flujo local
    • stream_notification_callback - Una función de llamada de retorno para el parámetro de contexto de notificación
    • stream_register_wrapper - Alias de stream_wrapper_register
    • stream_resolve_include_path - Resuelve el nombre de archivo en la ruta incluida
    • stream_select - Ejecuta el equivalente de la llamada al sistema select() sobre las matrices de flujos dadas con un tiempo de espera especificado por tv_sec y tv_usec
    • stream_set_blocking - Establecer el modo bloqueo/no-bloqueo en un flujo
    • stream_set_chunk_size - Establecer el tamaño de trozo de flujo
    • stream_set_read_buffer - Establece el búfer de lectura de archivos en el flujo dado
    • stream_set_timeout - Establecer un perido de tiempo de espera en un flujo
    • stream_set_write_buffer - Establece el búfer para escritura de archivos en el flujo dado
    • stream_socket_accept - Acepta una conexión sobre un socket creado por stream_socket_server
    • stream_socket_client - Abrir una conexión de socket de dominio de Internet o Unix
    • stream_socket_enable_crypto - Activa/desactiva la encriptación en un socket ya conectado
    • stream_socket_get_name - Recuperar el nombre de los sockets locales o remotos
    • stream_socket_pair - Crea un pareja de flujos de socket conectados e indistinguibles
    • stream_socket_recvfrom - Recibir información de un socket, conectado o no
    • stream_socket_sendto - Envía un mensaje a un socket, ya esté conectado o no
    • stream_socket_server - Crear un socket de servidor de dominio de Internet o de Unix
    • stream_socket_shutdown - Cerrar una conexión full-duplex
    • stream_supports_lock - Indica si el flujo soporta bloqueo
    • stream_wrapper_register - Registra una envoltura de URL implementada como una clase de PHP
    • stream_wrapper_restore - Restablece una envoltura incluida que se dejó de registrar previamente
    • stream_wrapper_unregister - Deja de registrar una envoltura de URL
    • strftime - Formatea una fecha/hora local según la configuración regional
    • stripcslashes - Desmarca la cadena marcada con addcslashes
    • stripos - Encuentra la posición de la primera aparición de un substring insensible a mayúsculas y minúsculas en in string
    • stripslashes - Quita las barras de un string con comillas escapadas
    • strip_tags - Retira las etiquetas HTML y PHP de un string
    • stristr - strstr insensible a mayúsculas y minúsculas
    • strlen - Obtiene la longitud de un string
    • strnatcasecmp - Comparación de strings, insensible a mayúsculas y minúsculas, utilizando un algoritmo de "orden natural"
    • strnatcmp - Comparación de strings utilizando un algoritmo de "orden natural"
    • strncasecmp - Comparación de los primeros n caracteres de cadenas, segura con material binario e insensible a mayúsculas y minúsculas
    • strncmp - Comparación segura a nivel binario de los primeros n caracteres entre strings
    • strpbrk - Buscar una cadena por cualquiera de los elementos de un conjunto de caracteres
    • strpos - Encuentra la posición de la primera ocurrencia de un substring en un string
    • strptime - Analiza una fecha/hora generada con strftime
    • strrchr - Encuentra la última aparición de un caracter en un string
    • strrev - Invierte una string
    • strripos - Encuentra la posición de la última aparición de un substring insensible a mayúsculas y minúsculas en un string
    • strrpos - Encuentra la posición de la última aparición de un substring en un string
    • strspn - Encuentra la longitud del segmento inicial de un string que consista únicamente en caracteres contenidos dentro de una máscara dada.
    • strstr - Encuentra la primera aparición de un string
    • strtok - Tokeniza string
    • strtolower - Convierte una cadena a minúsculas
    • strtotime - Convierte una descripción de fecha/hora textual en Inglés a una fecha Unix
    • strtoupper - Convierte un string a mayúsculas
    • strtr - Convierte caracteres o reemplaza substrings
    • strval - Obtiene el valor de cadena de una variable
    • str_getcsv - Interpreta un string de CSV en un array
    • str_ireplace - Versión insensible a mayúsculas y minúsculas de str_replace
    • str_pad - Rellena un string hasta una longitud determinada con otro string
    • str_repeat - Repite un string
    • str_replace - Reemplaza todas las apariciones del string buscado con el string de reemplazo
    • str_rot13 - Realizar la transformación rot13 sobre una cadena
    • str_shuffle - Reordena aleatoriamente una cadena
    • str_split - Convierte un string en un array
    • str_word_count - Devuelve información sobre las palabras utilizadas en un string
    • substr - Devuelve parte de una cadena
    • substr_compare - Comparación segura a nivel binario de dos o más cadenas desde un índice, hasta una longitud dada de caracteres
    • substr_count - Cuenta el número de apariciones del substring
    • substr_replace - Reemplaza el texto dentro de una porción de un string
    • SVM::crossvalidate - Test training params on subsets of the training data.
    • SVM::getOptions - Return the current training parameters
    • SVM::setOptions - Set training parameters
    • SVM::train - Create a SVMModel based on training data
    • SVM::__construct - Construir un nuevo objeto SVM
    • SVMModel::checkProbabilityModel - Returns true if the model has probability information
    • SVMModel::getLabels - Get the labels the model was trained on
    • SVMModel::getNrClass - Returns the number of classes the model was trained with
    • SVMModel::getSvmType - Get the SVM type the model was trained with
    • SVMModel::getSvrProbability - Get the sigma value for regression types
    • SVMModel::load - Cargar un modelo SVM guardado
    • SVMModel::predict - Predict a value for previously unseen data
    • SVMModel::predict_probability - Return class probabilities for previous unseen data
    • SVMModel::save - Guardar un modelo en un archivo
    • SVMModel::__construct - Construct a new SVMModel
    • svn_add - Programa la adición de un artículo en un directorio de trabajo
    • svn_auth_get_parameter - Recupera un parámetros de autenticación
    • svn_auth_set_parameter - Establece un parámetro de autenticación
    • svn_blame - Obtiene las acusaciones SVN de un archivo
    • svn_cat - Devuelve el contenido de un fichero en un repositorio
    • svn_checkout - Descarga una copia de trabajo desde el repositorio
    • svn_cleanup - Limpieza recursiva del directorio de trabajo, finalizando operaciones no completadas y eliminado bloqueos
    • svn_client_version - Devuelve la versión de las librerias del cliente SVN
    • svn_commit - Envía los cambios desde el directorio local de trabajo al repositorio
    • svn_delete - Elimina ítems de una copia de trabajo o repositorio
    • svn_diff - Compara dos rutas de acceso recursivamente
    • svn_export - Exporta el contenido de un directorio SVN
    • svn_fs_abort_txn - Cancelar una transacción, devuelve true si todo está bien, false de lo contrario
    • svn_fs_apply_text - Crea y devuelve una secuencia que se utilizará para reemplazar
    • svn_fs_begin_txn2 - Crear una nueva transacción
    • svn_fs_change_node_prop - Retorna verdadero si todo está ok, falso en caso contrario
    • svn_fs_check_path - Determina que tipo de elemento está apuntado por una ruta de acceso determinada, en un repositorio fsroot
    • svn_fs_contents_changed - Devuelve verdadero si el contenido es diferente, falso en caso contrario
    • svn_fs_copy - Copia un fichero o un directorio, devuelve true en caso de éxito, de lo contrario devuelve false
    • svn_fs_delete - Elimina un fichero o directorio, devuelve true en caso de éxito, en caso contrario devuele false
    • svn_fs_dir_entries - Enumera los directorios que hay bajo una ruta de acceso determinada; devuelve un array con los nombres de los directorios
    • svn_fs_file_contents - Devuelve un flujo de acceso al contenido de un fichero para una versión del sistema de ficheros dada
    • svn_fs_file_length - Devuelve la longitud de un fichero para una versión dada de sistema de ficheros
    • svn_fs_is_dir - Devuelve true si la ruta apunta a un directorio, false en caso contrario
    • svn_fs_is_file - Devuelve true si la ruta apunta a un fichero, falso en caso contrario
    • svn_fs_make_dir - Crea un nuevo directorio vacío, devuelve true en caso de éxito, en caso contrario devuelve false
    • svn_fs_make_file - Crea un nuevo fichero vacío, devuelve true en caso de éxito, false en caso contrario
    • svn_fs_node_created_rev - Devuelve la revisión en la que la ruta de acceso bajo fsroot fue creado
    • svn_fs_node_prop - Devuelve el valor de una propiedad de un nodo
    • svn_fs_props_changed - Devuelve verdadero si las propiedades son diferentes, falso en caso contrario
    • svn_fs_revision_prop - Recupera el valor de una propiedad con determinado nombre
    • svn_fs_revision_root - Obtiene un gestor en una versión específica del repositorio 'root'
    • svn_fs_txn_root - Crea y retorna una transacción 'root'
    • svn_fs_youngest_rev - Devuelve el número de la revisión más reciente del sistema de ficheros
    • svn_import - Importa una ruta de acceso sin versión, dentro de un repositorio
    • svn_log - Devuelve el log histórico de mensajes de un repositorio URL
    • svn_ls - Devuelve una lista del contenido del directorio en el repositorio URL, opcionalmente el número de revisión
    • svn_mkdir - Crea un directorio en la copia de trabajo actual o repositorio
    • svn_repos_create - Crea un nuevo repositorio de subversión
    • svn_repos_fs - Obtiene un gestor del sistema de ficheros para un repositorio
    • svn_repos_fs_begin_txn_for_commit - Crea una nueva transacción
    • svn_repos_fs_commit_txn - Consolida una transacción y devuelve la nueva revisión
    • svn_repos_hotcopy - Realiza una copia en caliente del repositorio en pathrepospath; y lo copia en destpath
    • svn_repos_open - Abre una cerradura compartida en un repositorio
    • svn_repos_recover - Ejecuta los procesos de recuperación en el repositorio localizado en un path determinado
    • svn_revert - Deshace los cambios en la copia de trabajo
    • svn_status - Devuelve el estado de la copia de trabajo de los ficheros y directorios
    • svn_update - Actualiza la copia de trabajo
    • SWFAction::__construct - Crea un nuevo SWFAction
    • SWFBitmap::getHeight - Devuelve el alto del mapa de bits
    • SWFBitmap::getWidth - Devuelve el ancho del mapa de bits
    • SWFBitmap::__construct - Carga un objeto de mapa de bits
    • SWFButton::addAction - Añade una acción
    • SWFButton::addASound - Asocia un sonido con una transición de botón
    • SWFButton::addShape - Añade una forma a un botón
    • SWFButton::setAction - Establece la acción
    • SWFButton::setDown - Alias de addShape(shape, SWFBUTTON_DOWN)
    • SWFButton::setHit - Alias de addShape(shape, SWFBUTTON_HIT)
    • SWFButton::setMenu - Habilitar la pista como comportamiento de botón de menú
    • SWFButton::setOver - Alias de addShape(shape, SWFBUTTON_OVER)
    • SWFButton::setUp - Aliad de addShape(shape, SWFBUTTON_UP)
    • SWFButton::__construct - Crea un nuevo botón
    • SWFDisplayItem::addAction - Añade esta instancia de SWFAction a la instancia SWFSprite dada
    • SWFDisplayItem::addColor - Añade el color dado a esta transformación de color del elemento
    • SWFDisplayItem::endMask - Otra manera de definir una capa MASK
    • SWFDisplayItem::getRot - Descripción
    • SWFDisplayItem::getX - Descripción
    • SWFDisplayItem::getXScale - Descripción
    • SWFDisplayItem::getXSkew - Descripción
    • SWFDisplayItem::getY - Descripción
    • SWFDisplayItem::getYScale - Descripción
    • SWFDisplayItem::getYSkew - Descripción
    • SWFDisplayItem::move - Mueve el objeto en coordenadas relativas
    • SWFDisplayItem::moveTo - Mueve el objeto en coordenadas globales
    • SWFDisplayItem::multColor - Multiplica la transformación de color del objeto
    • SWFDisplayItem::remove - Elimina el objeto de la película
    • SWFDisplayItem::rotate - Rota en coordenadas relativas
    • SWFDisplayItem::rotateTo - Rota el objeto en coordenadas globales
    • SWFDisplayItem::scale - Escala el objeto en coordenadas relativas
    • SWFDisplayItem::scaleTo - Escala el objeto en coordenadas globales
    • SWFDisplayItem::setDepth - Establece el orden z
    • SWFDisplayItem::setMaskLevel - Define una capa MASK a nivel
    • SWFDisplayItem::setMatrix - Establece la matriz de transformación del elemento
    • SWFDisplayItem::setName - Establece el nombre del objeto
    • SWFDisplayItem::setRatio - Establece el ratio del objeto
    • SWFDisplayItem::skewX - Establece la oblicuidad X
    • SWFDisplayItem::skewXTo - Establece la oblicuidad X
    • SWFDisplayItem::skewY - Establece la oblicuidad Y
    • SWFDisplayItem::skewYTo - Establece la oblicuidad Y
    • SWFFill::moveTo - Mueve el origen del relleno
    • SWFFill::rotateTo - Establece la rotación del relleno
    • SWFFill::scaleTo - Establece la escala del relleno
    • SWFFill::skewXTo - Establece la oblicuidad x
    • SWFFill::skewYTo - Establece la oblicuidad y
    • SWFFont::getAscent - Devuelve el ascenso de la fuente, o 0 si no está disponible
    • SWFFont::getDescent - Devuelve la ascendencia de la fuente, o 0 si no está disponible
    • SWFFont::getLeading - Devuelve la descendencia de la fuente, o 0 si no está disponible
    • SWFFont::getShape - Devuelve la forma de glifo de un carácter como una cadena de texto
    • SWFFont::getUTF8Width - Calcula el ancho de la cadena dada en esta fuente a altura completa
    • SWFFont::getWidth - Devuelve el ancho de la cadena
    • SWFFont::__construct - Carga una definición de fuente
    • SWFFontChar::addChars - Añade caracteres a una fuente para la fuente de exportación
    • SWFFontChar::addUTF8Chars - Añade caracteres a una fuente para la fuente de exportación
    • SWFGradient->addEntry - Añade una entrada a la lista de gradientes
    • SWFGradient::__construct - Crea un objeto de gradiente
    • SWFMorph::getShape1 - Obtiene un gestor para la forma inicial
    • SWFMorph::getShape2 - Obtiene un gestor para la forma final
    • SWFMorph::__construct - Crea un nuevo objeto SWFMorph
    • SWFMovie::add - Añade cualquier tipo de información a un película
    • SWFMovie::addExport - Descripción
    • SWFMovie::addFont - Descripción
    • SWFMovie::importChar - Descripción
    • SWFMovie::importFont - Descripción
    • SWFMovie::labelFrame - Etiqueta un fotograma
    • SWFMovie::nextFrame - Va al siguiente fotograma de la animación
    • SWFMovie::output - Vuelca su película preparada con cariño
    • SWFMovie::remove - Elimina la instancia del objeto de la lista de muestras
    • SWFMovie::save - Guarda la película SWF en un archivo
    • SWFMovie::saveToFile - Descripción
    • SWFMovie::setbackground - Establece el color de fondo
    • SWFMovie::setDimension - Establece el ancho y alto de la película
    • SWFMovie::setFrames - Establece el número total de fotogramas de la animación
    • SWFMovie::setRate - Establece la velocidad de animación de los fotogramas
    • SWFMovie::startSound - Descripción
    • SWFMovie::stopSound - Descripción
    • SWFMovie::streamMP3 - Transfiere un archivo MP3
    • SWFMovie::writeExports - Descripción
    • SWFMovie::__construct - Crea un nuevo objeto película, representando una película SWF versión 4
    • SWFPrebuiltClip::__construct - Devuelve un objeto SWFPrebuiltClip
    • SWFShape->setLeftFill - Establece el color de rasterización izquierdo
    • SWFShape::addFill - Añade un relleno sólido a la forma
    • SWFShape::drawArc - Dibuja un arco de radio r con centro en la ubicación actual, desde el ángulo startAngle hasta el ángulo endAngle medido en el sentido de las agujas del reloj desde las 12 en punto
    • SWFShape::drawCircle - Dibuja un círculo de radio r con centro en la ubicación actual, en sentido contrario al de las agujas del reloj
    • SWFShape::drawCubic - Dibuja una curva bezier cúbica usando la posición actual y los tres puntos dados como puntos de control
    • SWFShape::drawCubicTo - Dibuja una curva cúbica bezier usando la posición actual y los tres puntos dados como puntos de control
    • SWFShape::drawCurve - Dibuja una curva (relativo)
    • SWFShape::drawCurveTo - Dibuja una curva
    • SWFShape::drawGlyph - Dibuja el primer carácter de la cadena dada en la forma usando la definición de glifo de la fuente dada
    • SWFShape::drawLine - Dibuja una línea (relativo)
    • SWFShape::drawLineTo - Dibuja una línea
    • SWFShape::movePen - Mueve la pluma de la forma (relativo)
    • SWFShape::movePenTo - Mueve la pluma de la forma
    • SWFShape::setLine - Establece el estilo de línea de la forma
    • SWFShape::setRightFill - Establece el color de rasterización derecho
    • SWFShape::__construct - Crea un nuevo objeto forma
    • SWFSound::__construct - Devuelve un nuevo objeto SWFSound desde un archivo dado
    • SWFSoundInstance::loopCount - Descripción
    • SWFSoundInstance::loopInPoint - Descripción
    • SWFSoundInstance::loopOutPoint - Descripción
    • SWFSoundInstance::noMultiple - Descripción
    • SWFSprite::add - Añade un objeto a un sprite
    • SWFSprite::labelFrame - Etiqueta un fotograma
    • SWFSprite::nextFrame - Va al siguiente fotograma de la animación
    • SWFSprite::remove - Elimina un objeto de un sprite
    • SWFSprite::setFrames - Establece el número total de fotogramas de la animación
    • SWFSprite::startSound - Descripción
    • SWFSprite::stopSound - Descripción
    • SWFSprite::__construct - Crea un clip de película (un sprite)
    • SWFText::addString - Dibuja una string
    • SWFText::addUTF8String - Escribe el texto dado en este objeto SWFText en la posición actual de la pluma, usando la fuente, alto, espaciado y color actuales
    • SWFText::getAscent - Devuelve el ascenso de la fuente actual en su tamaño actual, o 0 si no está disponible
    • SWFText::getDescent - Devuelve el descenso de la fuente actual en su tamaño actual, o 0 si no está disponible
    • SWFText::getLeading - Devuelve el interlineado de la funete actual en su tamaño actual, o 0 si no está disponible
    • SWFText::getUTF8Width - Calcula el ancho de la cadena dada de la fuente y tamaño actuales de este objeto texto
    • SWFText::getWidth - Computa el ancho de una cadena
    • SWFText::moveTo - Mueve la pluma
    • SWFText::setColor - Establece el color de texto actual
    • SWFText::setFont - Establece la fuente actual
    • SWFText::setHeight - Establece el alto de fuente actual
    • SWFText::setSpacing - Establece el espaciado de fuente
    • SWFText::__construct - Crea un nuevo objeto SWFText
    • SWFTextField::addChars - Añade caracteres a una fuente que estará disponible dentro de un campo de texto
    • SWFTextField::addString - Concatena la cadena dada al campo de texto
    • SWFTextField::align - Establece la alineación del campo de texto
    • SWFTextField::setBounds - Establece el ancho y el alto del campo de texto
    • SWFTextField::setColor - Establece el color del campo de texto
    • SWFTextField::setFont - Establece la fuente del campo de texto
    • SWFTextField::setHeight - Establece el alto de la fuente de este campo de texto
    • SWFTextField::setIndentation - Establece la indentación de la primera línea
    • SWFTextField::setLeftMargin - Establece el ancho del margen izquierdo del campo de texto
    • SWFTextField::setLineSpacing - Establece el espaciado entre líneas de un campo de texto
    • SWFTextField::setMargins - Establece el ancho de los márgenes del campo de texto
    • SWFTextField::setName - Establece el nombre de la variable
    • SWFTextField::setPadding - Establece el relleno de este campo de texto
    • SWFTextField::setRightMargin - Establece el ancho del margen derecho del campo de texto
    • SWFTextField::__construct - Crea un objeto campo de texto
    • SWFVideoStream::getNumFrames - Devuelve el número de fotogramas del video
    • SWFVideoStream::setDimension - Establece las dimensiones del video
    • SWFVideoStream::__construct - Devuelve un objeto SWFVideoStream
    • swf_actiongeturl - Obtiene una dirección URL de una película de Shockwave Flash
    • swf_actiongotoframe - Va a un fotograma y a continuación se detiene
    • swf_actiongotolabel - Mostrará un cuadro con la etiqueta especificada
    • swf_actionnextframe - Avanza al siguiente fotograma
    • swf_actionplay - Inicia la reproducción de la película flash en el fotograma actual
    • swf_actionprevframe - Va hacia atrás un fotograma
    • swf_actionsettarget - Establecer el contenido para las acciones
    • swf_actionstop - Detener la película flash en el fotograma actual
    • swf_actiontogglequality - Alternar entre alta y baja calidad
    • swf_actionwaitforframe - Saltar las acciones en caso de que un fotograma no haya sido cargado
    • swf_addbuttonrecord - Controlar la ubicación, el aspecto y el área activa del botón actual
    • swf_addcolor - Establecer la global añadir color al valor rgba especificado
    • swf_closefile - Cerrar el archivo actual Shockwave de Flash
    • swf_definebitmap - Definir un mapa de bits
    • swf_definefont - Definir una fuente
    • swf_defineline - Definir una línea
    • swf_definepoly - Definir un polígono
    • swf_definerect - Definir un rectángulo
    • swf_definetext - Definir una cadena de texto
    • swf_endbutton - Finalizar la definición del botón actual
    • swf_enddoaction - Finalizar la acción actual
    • swf_endshape - Completa la definición de la figura actual
    • swf_endsymbol - Finalizar la definición de un símbolo
    • swf_fontsize - Cambiar el tamaño de fuente
    • swf_fontslant - Ajustar la inclinación de fuente
    • swf_fonttracking - Establecer el tracking de la fuente actual
    • swf_getbitmapinfo - Obtener información sobre un bitmap
    • swf_getfontinfo - Obtener información de fuentes
    • swf_getframe - Obtener el número del fotograma actual
    • swf_labelframe - Poner una etiqueta al fotograma actual
    • swf_lookat - Definir una transformación de la vista de imagen
    • swf_modifyobject - Modificar un objeto
    • swf_mulcolor - Establecer la global multiplicar color al valor rgba especificado
    • swf_nextid - Devolver la siguiente id del siguiente objeto libre
    • swf_oncondition - Describir una transición que sirve para desencadenar una lista de acciones
    • swf_openfile - Abrir un nuevo archivo de Shockwave Flash
    • swf_ortho - Definir un mapeo ortográfico de coordenadas de usuario en la ventana gráfica actual
    • swf_ortho2 - Definir un mapeo de dos dimensiones ortográfica de coordenadas de usuario en la ventana gráfica actual
    • swf_perspective - Definir una transformación de proyección perspectiva
    • swf_placeobject - Colocar un objeto en la pantalla
    • swf_polarview - Definir la posición del espectador con coordenadas polares
    • swf_popmatrix - Restaurar el estado anterior de una matriz de transformación
    • swf_posround - Activar o desactivar el redondeo del traslado cuando los objetos se colocan o se mueven
    • swf_pushmatrix - Salvar la actual transformación de la matriz en la pila
    • swf_removeobject - Eliminar un objeto
    • swf_rotate - Girar la actual transformación
    • swf_scale - Escalar la actual transformación
    • swf_setfont - Cambiar la fuente actual
    • swf_setframe - Cambiar a un fotograma especificado
    • swf_shapearc - Dibujar un arco circular
    • swf_shapecurveto - Dibujar una curva cuadrática de bézier entre dos puntos
    • swf_shapecurveto3 - Dibujar una curva bézier cúbica
    • swf_shapefillbitmapclip - Establecer el modo de relleno a bitmap clipeado
    • swf_shapefillbitmaptile - Establecer el modo de relleno actual a bitmap tileado
    • swf_shapefilloff - Desactivar el relleno
    • swf_shapefillsolid - Establecer el estilo de relleno actual al color especificado
    • swf_shapelinesolid - Establecer el estilo de línea actual
    • swf_shapelineto - Trazar una línea
    • swf_shapemoveto - Mover la posición actual
    • swf_showframe - Mostrar el fotograma actual
    • swf_startbutton - Iniciar la definición de un botón
    • swf_startdoaction - Iniciar una descripción de una lista de acciones para el fotograma actual
    • swf_startshape - Iniciar una figura compleja
    • swf_startsymbol - Definir un símbolo
    • swf_textwidth - Obtener el ancho de una cadena
    • swf_translate - Trasladar la transformación actual
    • swf_viewport - Seleccionar un área para futuros dibujos
    • Swish::getMetaList - Obtener la lista de meta entradas para el índice
    • Swish::getPropertyList - Obtener la lista de propiedades para el índice
    • Swish::prepare - Preparar una consulta de búsqueda
    • Swish::query - Realizar una consulta y devolver el objeto de resultados
    • Swish::__construct - Construye un nuevo objeto Swish
    • SwishResult::getMetaList - Obtiene una lista de entradas meta
    • SwishResult::stem - Reduce una palabra dada a su lexema (raíz)
    • SwishResults::getParsedWords - Obtener un array de palabras irrelevantes
    • SwishResults::getRemovedStopwords - Obtener un array de palabras irrelevantes de la consulta
    • SwishResults::nextResult - Obtener el siguiente resultado de la búsqueda
    • SwishResults::seekResult - Establecer el actual puntero de búsqueda a la posición dada
    • SwishSearch::execute - Ejecutar la búsqueda y obtener los resultados
    • SwishSearch::resetLimit - Restablecer los límites de búsqueda
    • SwishSearch::setLimit - Establecer los límites de la búsqueda
    • SwishSearch::setPhraseDelimiter - Establecer delimitador de frase
    • SwishSearch::setSort - Establecer el tipo de orden
    • SwishSearch::setStructure - Establecer el indicador de estructura en el objeto de la búsqueda
    • sybase_affected_rows - Obtiene el número de filas afectadas en la última operación
    • sybase_close - Cierra una conexión Sybase
    • sybase_connect - Establece una conexión a un servidor Sybase
    • sybase_data_seek - Desplaza el apuntador de filas interno
    • sybase_deadlock_retry_count - Devuelve el número de reintentos en caso de bloqueo (deadlock)
    • sybase_fetch_array - Devuelve una fila de Sybase como un array
    • sybase_fetch_assoc - Carga una fila resultante de Sybase como un array asociativo
    • sybase_fetch_field - Obtiene información de un campo de resultado Sybase
    • sybase_fetch_object - Devuelve una fila Sybase como un objeto
    • sybase_fetch_row - Devuelve una fila Sybase como un array indexado numéricamente
    • sybase_field_seek - Modifica el índice de un campo Sybase
    • sybase_free_result - Libera la memoria que ocupa un resultado Sybase
    • sybase_get_last_message - Devuelve el último mensaje del servidor
    • sybase_min_client_severity - Fija la severidad mínima del cliente Sybase
    • sybase_min_error_severity - Fija la severidad mínima del cliente para los errores
    • sybase_min_message_severity - Fija la severidad mínima del cliente para los mensajes
    • sybase_min_server_severity - Fija la severidad mínima del servidor Sybase
    • sybase_num_fields - Devuelve el número de campos que hay en un resultado Sybase
    • sybase_num_rows - Devuelve el número de filas que hay en un resultado Sybase
    • sybase_pconnect - Abre una conexión persistente a un servidor Sybase
    • sybase_query - Envía una consulta a una base Sybase
    • sybase_result - Obtiene un valor dentro de un resultado Sybase
    • sybase_select_db - Selecciona una base de datos Sybase
    • sybase_set_message_handler - Configura el gestor de mensajes Sybase cuando se genera un mensaje de servidor
    • sybase_unbuffered_query - Envía una consulta a Sybase query y no bloquea
    • symlink - Crea un enlace simbólico
    • syslog - Genera un mensaje log de sistema
    • system - Ejecutar un programa externo y mostrar su salida
    • sys_getloadavg - Obtiene la carga media del sistema
    • sys_get_temp_dir - Devuelve la ruta del directorio para archivos temporales
  • t
    • taint - Taint a string
    • tan - Tangente
    • tanh - Tangente hiperbólica
    • tcpwrap_check - Performs a tcpwrap check
    • tempnam - Crea un archivo con un nombre de archivo único
    • textdomain - Establece el dominio actual
    • Thread::chunk - Manipulation
    • Thread::getCreatorId - Identification
    • Thread::getThreadId - Identification
    • Thread::isJoined - State Detection
    • Thread::isRunning - State Detection
    • Thread::isStarted - State Detection
    • Thread::isTerminated - State Detection
    • Thread::isWaiting - State Detection
    • Thread::join - Synchronization
    • Thread::lock - Synchronization
    • Thread::merge - Manipulation
    • Thread::notify - Synchronization
    • Thread::pop - Manipulation
    • Thread::run - Execution
    • Thread::shift - Manipulation
    • Thread::start - Execution
    • Thread::synchronized - Synchronization
    • Thread::unlock - Synchronization
    • Thread::wait - Synchronization
    • tidy::$errorBuffer - Devuelve advertencias y errores que ocurrieron al analizar el documento especificado
    • tidy::body - Devuelve un objeto tidyNode empezando con la etiqueta <body>
    • tidy::cleanRepair - Ejecuta una operación de limpieza y reparación de las etiquetas HTML
    • tidy::diagnose - Ejecuta un diagnóstico sobre documento analizado y reparado
    • tidy::getConfig - Obtiene la configuración actual de Tidy
    • tidy::getHtmlVer - Obtiene la versión detectada de HTML en un documento especificado
    • tidy::getOpt - Devuelve el valor de la opción de configuración especificada para el documento tidy
    • tidy::getoptdoc - Devuelve la documentación correspondiente a un nombre de opción dado
    • tidy::getRelease - Obtiene la fecha de lanzamiento (versión) de la librería Tidy
    • tidy::getStatus - Obtiene el status de un documento especificado
    • tidy::head - Devuelve un objeto tidyNode empezando con la etiqueta <head>
    • tidy::html - Devuelve un objeto tidyNode empezando con la etiqueta <html>
    • tidy::isXhtml - Indica si el documento es XHTML
    • tidy::isXml - Indica si el documento es XML (no HTML/XHTML)
    • tidy::parseFile - Analiza las etiquetas de un fichero o URI
    • tidy::parseString - Analiza un documento almacenado en una cadena
    • tidy::repairFile - Repara un archivo y lo devuelve como una cadena
    • tidy::repairString - Repara una cadena HTML usando un archivo de configuración opcional
    • tidy::root - Devuelve un objeto tidyNode que representa la raíz del árbol analizado por tidy
    • tidy::__construct - Construye un nuevo objeto tidy
    • tidyNode::getParent - Devuelve el nodo padre del nodo actual
    • tidyNode::hasChildren - Indica si un nodo tiene hijos
    • tidyNode::hasSiblings - Indica si un nodo tiene hermanos
    • tidyNode::isAsp - Comprueba si el nodo es ASP
    • tidyNode::isComment - Comprueba el nodo actual es un comentario
    • tidyNode::isHtml - Comprueba si el nodo es parte de un documento HTML
    • tidyNode::isJste - Comprueba si el nodo es JSTE
    • tidyNode::isPhp - Comprueba si el nodo es PHP
    • tidyNode::isText - Comprueba si un nodo representa un texto (no HTML)
    • tidy_access_count - Devuelve el número de alertas de accesibilidad Tidy encontradas en un documento dado
    • tidy_config_count - Devuelve el número de errores de configuración Tidy encontrados en un documento dado
    • tidy_error_count - Devuelve el número de errores Tidy encontrados en un documento dado
    • tidy_get_output - Devuelve una cadena que contiene las etiquetas analizadas por Tidy
    • tidy_load_config - Carga un archivo de configuración ASCII Tidy con la codificación especificada
    • tidy_reset_config - Restaura la configuración Tidy a sus valores por omisión
    • tidy_save_config - Guarda la configuración actual en un archivo
    • tidy_setopt - Modifica los ajustes de configuración Tidy para el documento especificado
    • tidy_set_encoding - establece el juego de caracteres de entrada/salida del analizador de etiquetas
    • tidy_warning_count - Devuelve el número de alertas encontradas en un documendo dado
    • time - Devuelve la fecha Unix actual
    • timezone_abbreviations_list - Alias de DateTimeZone::listAbbreviations
    • timezone_identifiers_list - Alias de DateTimeZone::listIdentifiers
    • timezone_location_get - Alias de DateTimeZone::getLocation
    • timezone_name_from_abbr - Devuelve el nombre de la zona horaria desde su abreviatura
    • timezone_name_get - Alias de DateTimeZone::getName
    • timezone_offset_get - Alias de DateTimeZone::getOffset
    • timezone_open - Alias de DateTimeZone::__construct
    • timezone_transitions_get - Alias de DateTimeZone::getTransitions
    • timezone_version_get - Obtiene la versión de la base de datos timezonedb
    • time_nanosleep - Retrasar por un número de segundos y nanosegundos
    • time_sleep_until - Hacer que el script duerma hasta el momento especificado
    • Tipos de SQL con PDO_4D y PHP - Tipos de SQL con PDO_4D y PHP
    • tmpfile - Crea un archivo temporal
    • token_get_all - Divide la fuente dada en tokens PHP
    • token_name - Obtiene el nombre simbólico de un token PHP dado
    • TokyoTyrant::add - Adds to a numeric key
    • TokyoTyrant::connect - Connect to a database
    • TokyoTyrant::connectUri - Connects to a database
    • TokyoTyrant::copy - Copies the database
    • TokyoTyrant::ext - Execute a remote script
    • TokyoTyrant::fwmKeys - Returns the forward matching keys
    • TokyoTyrant::get - The get purpose
    • TokyoTyrant::getIterator - Get an iterator
    • TokyoTyrant::num - Number of records in the database
    • TokyoTyrant::out - Removes records
    • TokyoTyrant::put - Puts values
    • TokyoTyrant::putCat - Concatenates to a record
    • TokyoTyrant::putKeep - Puts a record
    • TokyoTyrant::putNr - Puts value
    • TokyoTyrant::putShl - Concatenates to a record
    • TokyoTyrant::restore - Restore the database
    • TokyoTyrant::setMaster - Set the replication master
    • TokyoTyrant::size - Returns the size of the value
    • TokyoTyrant::stat - Get statistics
    • TokyoTyrant::sync - Synchronize the database
    • TokyoTyrant::tune - Tunes connection values
    • TokyoTyrant::vanish - Empties the database
    • TokyoTyrant::__construct - Construct a new TokyoTyrant object
    • TokyoTyrantIterator::current - Get the current value
    • TokyoTyrantIterator::key - Returns the current key
    • TokyoTyrantIterator::next - Move to next key
    • TokyoTyrantIterator::rewind - Rewinds the iterator
    • TokyoTyrantIterator::valid - Rewinds the iterator
    • TokyoTyrantIterator::__construct - Construct an iterator
    • TokyoTyrantQuery::addCond - Adds a condition to the query
    • TokyoTyrantQuery::count - Counts records
    • TokyoTyrantQuery::current - Returns the current element
    • TokyoTyrantQuery::hint - Get the hint string of the query
    • TokyoTyrantQuery::key - Returns the current key
    • TokyoTyrantQuery::metaSearch - Retrieve records with multiple queries
    • TokyoTyrantQuery::next - Moves the iterator to next entry
    • TokyoTyrantQuery::out - Removes records based on query
    • TokyoTyrantQuery::rewind - Rewinds the iterator
    • TokyoTyrantQuery::search - Searches records
    • TokyoTyrantQuery::setLimit - Limit results
    • TokyoTyrantQuery::setOrder - Orders results
    • TokyoTyrantQuery::valid - Checks the validity of current item
    • TokyoTyrantQuery::__construct - Construct a new query
    • TokyoTyrantTable::add - Adds a record
    • TokyoTyrantTable::genUid - Generate unique id
    • TokyoTyrantTable::get - Get a row
    • TokyoTyrantTable::getIterator - Get an iterator
    • TokyoTyrantTable::getQuery - Get a query object
    • TokyoTyrantTable::out - Remove records
    • TokyoTyrantTable::put - Store a row
    • TokyoTyrantTable::putCat - Concatenates to a row
    • TokyoTyrantTable::putKeep - Put a new record
    • TokyoTyrantTable::putNr - Puts value
    • TokyoTyrantTable::putShl - Concatenates to a record
    • TokyoTyrantTable::setIndex - Sets index
    • touch - Establece el momento de acceso y modificación de un archivo
    • trader_acos - Arcocoseno trigonométrico de vectores
    • trader_ad - Línea A/D Chaikin
    • trader_add - Suma aritmética de vectores
    • trader_adosc - Oscilador A/D Chaikin
    • trader_adx - Índice de movimiento direccional medio
    • trader_adxr - Tasación del índice de movimiento direccional medio
    • trader_apo - Oscilador de precio absoluto
    • trader_aroon - Aroon
    • trader_aroonosc - Oscilador Aroon
    • trader_asin - Arcoseno trigonométrico de vectores
    • trader_atan - Arcotangente trigonométrica de vectores
    • trader_atr - Rango verdadero medio
    • trader_avgprice - Precio medio
    • trader_bbands - Bandas de Bollinger
    • trader_beta - Beta
    • trader_bop - Equilibrio de poder
    • trader_cci - Índice de Canal de Comodidad
    • trader_cdl2crows - Dos Cuervos
    • trader_cdl3blackcrows - Tres Cuervos Negros
    • trader_cdl3inside - Tres Velas Interiores Alcistas/Bajistas
    • trader_cdl3linestrike - Triple Golpe
    • trader_cdl3outside - Tres Velas Exteriores Alcistas/Bajistas
    • trader_cdl3starsinsouth - Tres Estrellas en el Sur
    • trader_cdl3whitesoldiers - Tres Soldados Blancos Avanzando
    • trader_cdlabandonedbaby - Bebé Abandonado
    • trader_cdladvanceblock - Avance en Bloque
    • trader_cdlbelthold - Belt-hold
    • trader_cdlbreakaway - Escape
    • trader_cdlclosingmarubozu - Vela Cerrada Marubozu
    • trader_cdlconcealbabyswall - Pequeña Golondrina Escondida
    • trader_cdlcounterattack - Contraataque
    • trader_cdldarkcloudcover - Cubierta de Nube Oscura
    • trader_cdldoji - Doji
    • trader_cdldojistar - Estrella Doji
    • trader_cdldragonflydoji - Doji Libélula
    • trader_cdlengulfing - Patrón envolvente
    • trader_cdleveningdojistar - Estrella Vespertina Doji
    • trader_cdleveningstar - Estrella de Atardecer
    • trader_cdlgapsidesidewhite - Velas blancas paralelas de hueco alcista/bajista
    • trader_cdlgravestonedoji - Doji Lápida
    • trader_cdlhammer - Martillo
    • trader_cdlhangingman - Hombre Colgado
    • trader_cdlharami - Patrón Harami
    • trader_cdlharamicross - Patrón Cruz Harami
    • trader_cdlhighwave - Vela de Onda Alta
    • trader_cdlhikkake - Patrón Hikkake
    • trader_cdlhikkakemod - Patrón Hikkake Modificado
    • trader_cdlhomingpigeon - Paloma Mensajera
    • trader_cdlidentical3crows - Tres Cuervos Idénticos
    • trader_cdlinneck - Patrón Formación en el cuello
    • trader_cdlinvertedhammer - Martilllo Invertido
    • trader_cdlkicking - Patada
    • trader_cdlkickingbylength - Patada - alza/baja determinada por el marubozu más largo
    • trader_cdlladderbottom - Suelo de escalera
    • trader_cdllongleggeddoji - Doji Zancudo
    • trader_cdllongline - Vela de Línea Larga
    • trader_cdlmarubozu - Marubozu
    • trader_cdlmatchinglow - Mínimos coincidentes
    • trader_cdlmathold - Mat Hold
    • trader_cdlmorningdojistar - Lucero del Alba Doji
    • trader_cdlmorningstar - Lucero del Alba
    • trader_cdlonneck - Patrón Sobre el cuello
    • trader_cdlpiercing - Patrón penetrante
    • trader_cdlrickshawman - Calesero
    • trader_cdlrisefall3methods - Triple Formación Alcista/Bajista
    • trader_cdlseparatinglines - Lineas Separadas
    • trader_cdlshootingstar - Estrella Fugaz
    • trader_cdlshortline - Vela de Línea Corta
    • trader_cdlspinningtop - Peonza
    • trader_cdlstalledpattern - Patrón Añejo
    • trader_cdlsticksandwich - Bocadillo
    • trader_cdltakuri - Takuri (Libélula Doji con sombra muy larga)
    • trader_cdltasukigap - Hueco Tasuki
    • trader_cdlthrusting - Patrón de empuje
    • trader_cdltristar - Patrón de tres estrellas
    • trader_cdlunique3river - Tres ríos únicos
    • trader_cdlupsidegap2crows - Dos Cuervos tras un Huevo al Alza
    • trader_cdlxsidegap3methods - Métodos de Tres Huevos al Alza/Baja
    • trader_ceil - Redondeo hacia arriba de vectores
    • trader_cmo - Oscilador de momento de Chande
    • trader_correl - Coeficiente de correlación de Pearson (r)
    • trader_cos - Coseno trigonométrico de vectores
    • trader_cosh - Coseno hiperbólico de un vector
    • trader_dema - Media móvil exponencial doble
    • trader_div - División aritmética de vectores
    • trader_dx - Índice de movimiento direccional
    • trader_ema - Media móvil exponencial
    • trader_errno - Obtener el código de error
    • trader_exp - Exponencial aritmética de vectores
    • trader_floor - Redondeo hacia abajo de vectores
    • trader_get_compat - Obtiene el modo de compatibilidad
    • trader_get_unstable_period - Obtiene el periodo inestable
    • trader_ht_dcperiod - Transformación de Hilbert - Período de ciclo dominante
    • trader_ht_dcphase - Transformación de Hilbert - Fase de ciclo dominante
    • trader_ht_phasor - Transformación de Hilbert - Componentes de un fasor
    • trader_ht_sine - Transformación de Hilbert - Sinusoide
    • trader_ht_trendline - Transformación de Hilbert - Línea de tendencia instantánea
    • trader_ht_trendmode - Transformación de Hilbert - Tendencia vs Modo de ciclo
    • trader_kama - Media móvil adaptativa de Kaufman
    • trader_linearreg - Regresión lineal
    • trader_linearreg_angle - Ángulo de regresión lineal
    • trader_linearreg_intercept - Intercepción de regresión lineal
    • trader_linearreg_slope - Pendiente de regresión lineal
    • trader_ln - Logaritmo natural de vectores
    • trader_log10 - Logaritmo en base 10 de vectores
    • trader_ma - Media móvil
    • trader_macd - Convergencia/divergencia de la media móvil
    • trader_macdext - MACD con tipo MA controlable
    • trader_macdfix - Convergencia/divergencia fija 12/26 de la media móvil
    • trader_mama - Media móvil adaptativa MESA
    • trader_mavp - Media móvil con periodo variable
    • trader_max - Valor mayor sobre un periodo especificado
    • trader_maxindex - Índice del valor mayor sobre un periodo especificado
    • trader_medprice - Precio medio
    • trader_mfi - Índice de flujo de dinero
    • trader_midpoint - Punto medio sobre un periodo
    • trader_midprice - Precio de punto medio sobre un periodo
    • trader_min - Valor más bajo sobre un periodo especificado
    • trader_minindex - Índice del valor más bajo sobre un periodo especificado
    • trader_minmax - Valores más altos y bajos sobre un periodo especificado
    • trader_minmaxindex - Índices de los valores más bajos y altos sobre un periodo especificado
    • trader_minus_di - Indicador direccional menos
    • trader_minus_dm - Movimiento direccional menos
    • trader_mom - Momentum
    • trader_mult - Multiplicación aritmética de vectores
    • trader_natr - Rango verdadero de la media normalizada
    • trader_obv - Volumen sobre balance
    • trader_plus_di - Indicador direccional más
    • trader_plus_dm - Movimiento direccional más
    • trader_ppo - Oscilador de precio porcentual
    • trader_roc - Ritmo de cambio : ((precio/precioAnterior)-1)*100
    • trader_rocp - Porcentaje del ritmo de cabio: (precio-precioAnterior)/precioAnterior
    • trader_rocr - Ratio del ritmo de cambio: (precio/precioAnterior)
    • trader_rocr100 - Ratio del ritmo de cambio en escala 100: (precio/precioAnterior)*100
    • trader_rsi - Índice de fuerza relativa
    • trader_sar - Sistema parabólico
    • trader_sarext - Sistema parabólico - Extendido
    • trader_set_compat - Establece el modo de compatibilidad
    • trader_set_unstable_period - Establece el perido inestable
    • trader_sin - Seno trigonométrico de vectores
    • trader_sinh - Seno hiperbólico de vectores
    • trader_sma - Media móvil simple
    • trader_sqrt - Raíz cuadrada de vectores
    • trader_stddev - Desviación estándar
    • trader_stoch - Estocástico
    • trader_stochf - Estocástico rápido
    • trader_stochrsi - Índice de fuerza relativa estocástica
    • trader_sub - Sustracción artimética de vectores
    • trader_sum - Sumatorio
    • trader_t3 - Media móvil exponencial triple (T3)
    • trader_tan - Tangente trigonométrica de vectores
    • trader_tanh - Tangente hiperbólica trigonométrica de vectores
    • trader_tema - Media móvil exponencial triple
    • trader_trange - Rango verdadero
    • trader_trima - Media móvil triangular
    • trader_trix - Ritmo de cambio de 1 día (RDC) de una MME suave triple
    • trader_tsf - Previsión de series de tiempo
    • trader_typprice - Precio típico
    • trader_ultosc - Oscilador final
    • trader_var - Varianza
    • trader_wclprice - Precio de cierre ponderado
    • trader_willr - %R de Williams
    • trader_wma - Media móvil ponderada
    • trait_exists - Comprobar si el trait existe
    • Transliterator::create - Crear un transliterador
    • Transliterator::createFromRules - Crear un transliterador desdes normas
    • Transliterator::createInverse - Cerar una transliteración inversa
    • Transliterator::getErrorCode - Obtener el código del último error
    • Transliterator::getErrorMessage - Obtener el mensaje del último error
    • Transliterator::listIDs - Obtener los IDs de los transliterardores
    • Transliterator::transliterate - Transliterar una cadena
    • Transliterator::__construct - Constructor privado para denegar la instanciación
    • trigger_error - Generar un mensaje de error/advertencia/aviso de nivel de usuario
    • trim - Elimina espacio en blanco (u otro tipo de caracteres) del inicio y el final de la cadena
  • u
    • uasort - Ordena un array con una función de comparación definida por el usuario y mantiene la asociación de índices
    • ucfirst - Convierte el primer caracter de una cadena a mayúsculas
    • UConverter::convert - Convert string from one charset to another
    • UConverter::fromUCallback - Default "from" callback function
    • UConverter::getAliases - Get the aliases of the given name
    • UConverter::getAvailable - Get the available canonical converter names
    • UConverter::getDestinationEncoding - Get the destination encoding
    • UConverter::getDestinationType - Get the destination converter type
    • UConverter::getErrorCode - Get last error code on the object
    • UConverter::getErrorMessage - Get last error message on the object
    • UConverter::getSourceEncoding - Get the source encoding
    • UConverter::getSourceType - Get the source convertor type
    • UConverter::getStandards - Get standards associated to converter names
    • UConverter::getSubstChars - Get substitution chars
    • UConverter::reasonText - Get string representation of the callback reason
    • UConverter::setDestinationEncoding - Set the destination encoding
    • UConverter::setSourceEncoding - Set the source encoding
    • UConverter::setSubstChars - Set the substitution chars
    • UConverter::toUCallback - Default "to" callback function
    • UConverter::transcode - Convert string from one charset to another
    • UConverter::__construct - Create UConverter object
    • ucwords - Convierte a mayúsculas el primer caracter de cada palabra en una cadena
    • udm_add_search_limit - Add various search limits
    • udm_alloc_agent - Allocate mnoGoSearch session
    • udm_alloc_agent_array - Allocate mnoGoSearch session
    • udm_api_version - Get mnoGoSearch API version
    • udm_cat_list - Get all the categories on the same level with the current one
    • udm_cat_path - Get the path to the current category
    • udm_check_charset - Check if the given charset is known to mnogosearch
    • udm_check_stored - Check connection to stored
    • udm_clear_search_limits - Clear all mnoGoSearch search restrictions
    • udm_close_stored - Close connection to stored
    • udm_crc32 - Devuelve el CRC32 checksum del string dado
    • udm_errno - Get mnoGoSearch error number
    • udm_error - Get mnoGoSearch error message
    • udm_find - Perform search
    • udm_free_agent - Liberar sesión mnoGoSearch
    • udm_free_ispell_data - Free memory allocated for ispell data
    • udm_free_res - Libera result mnoGoSearch
    • udm_get_doc_count - Obtener el número total de documentos en la base de datos
    • udm_get_res_field - Fetch a result field
    • udm_get_res_param - Get mnoGoSearch result parameters
    • udm_hash32 - Devuelve el Hash32 checksum del string dado
    • udm_load_ispell_data - Load ispell data
    • udm_open_stored - Conexión abierta a guardar
    • udm_set_agent_param - Set mnoGoSearch agent session parameters
    • uksort - Ordena un array según sus claves usando una función de comparación definida por el usuario
    • umask - Cambia la máscara de usuario actual
    • uniqid - Generar un ID único
    • unixtojd - Convertir una fecha Unix en una Fecha Juliana
    • unlink - Borra un archivo
    • unpack - Desempaqueta datos de una cadena binaria
    • unregister_tick_function - Dejar de registrar una función para su ejecución en cada tick
    • unserialize - Crea un valor PHP a partir de una representación almacenada
    • unset - Destruye una variable especificada
    • untaint - Untaint strings
    • urldecode - Decodifica una cadena cifrada como URL
    • urlencode - Codifica como URL una cadena
    • user_error - Alias de trigger_error
    • use_soap_error_handler - Establecer si se desea utilizar el controlador de errores SOAP
    • usleep - Retrasar la ejecución en microsegundos
    • usort - Ordena un array según sus valores usando una función de comparación definida por el usuario
    • utf8_decode - Convierte una cadena con los caracteres codificados ISO-8859-1 con UTF-8 a un sencillo byte ISO-8859-1
    • utf8_encode - Codifica una cadena ISO-8859-1 a UTF-8
  • v
    • V8Js::executeString - Execute a string as Javascript code
    • V8Js::getExtensions - Devolver un array de extensiones registradas
    • V8Js::getPendingException - Return pending uncaught Javascript exception
    • V8Js::registerExtension - Register Javascript extensions for V8Js
    • V8Js::__construct - Construct a new V8Js object
    • V8JsException::getJsFileName - El propósito getJsFileName
    • V8JsException::getJsLineNumber - El propósito getJsLineNumber
    • V8JsException::getJsSourceLine - El propósito getJsSourceLine
    • V8JsException::getJsTrace - El propósito getJsTrace
    • variant_abs - Devuelve el valor absoluto de una variante
    • variant_add - "Suma" dos variantes y devuelve el resultado
    • variant_and - Realiza una operación AND a nivel de bits entre dos variantes
    • variant_cast - Convertir una variante en un nuevo objeto variante de otro tipo
    • variant_cat - Concatena dos valores de variantes y devuelve el resultado
    • variant_cmp - Compara dos variantes
    • variant_date_from_timestamp - Devuelve una representación de variante de fecha de una fecha Unix
    • variant_date_to_timestamp - Convierte un valor de una variante de fecha/hora en una fecha Unix
    • variant_div - Devuelve el resultado de dividir dos variantes
    • variant_eqv - Realiza una equivalencia a nivel de bits en dos variantes
    • variant_fix - Devuelve la parte entera de una variante
    • variant_get_type - Devuelve el tipo de un objeto variante
    • variant_idiv - Convierte variantes a enteros y después devuelve el resultado dividiéndolos
    • variant_imp - Realiza una implicación a nivel de bits de dos variantes
    • variant_int - Devuelve la parte entera de una variante
    • variant_mod - Divide dos variantes y devuelve sólo el resto
    • variant_mul - Multiplica los valores de dos variantes
    • variant_neg - Realiza una negación lógica de una variante
    • variant_not - Realiza una negación NOT a nivel de bits en una variante
    • variant_or - Realiza una disyunción lógica de dos variantes
    • variant_pow - Devuelve el resultado de realizar la exponenciación con dos variantes
    • variant_round - Redondea una variante al número de lugares decimales especificado
    • variant_set - Asigna un nuevo valor para un objeto variante
    • variant_set_type - Convierte una variante en otro tipo "in situ"
    • variant_sub - Resta el valor de la variante derecha del valor de la varienta izquierda
    • variant_xor - Realiza una exclución lógica de dos variantes
    • VarnishAdmin::auth - Authenticate on a varnish instance
    • VarnishAdmin::ban - Ban URLs using a VCL expression
    • VarnishAdmin::banUrl - Ban an URL using a VCL expression
    • VarnishAdmin::clearPanic - Clear varnish instance panic messages
    • VarnishAdmin::connect - Connect to a varnish instance administration interface
    • VarnishAdmin::disconnect - Disconnect from a varnish instance administration interface
    • VarnishAdmin::getPanic - Get the last panic message on a varnish instance
    • VarnishAdmin::getParams - Fetch current varnish instance configuration parameters
    • VarnishAdmin::isRunning - Check if the varnish slave process is currently running
    • VarnishAdmin::setCompat - Set the class compat configuration param
    • VarnishAdmin::setHost - Set the class host configuration param
    • VarnishAdmin::setIdent - Set the class ident configuration param
    • VarnishAdmin::setParam - Set configuration param on the current varnish instance
    • VarnishAdmin::setPort - Set the class port configuration param
    • VarnishAdmin::setSecret - Set the class secret configuration param
    • VarnishAdmin::setTimeout - Set the class timeout configuration param
    • VarnishAdmin::start - Start varnish worker process
    • VarnishAdmin::stop - Stop varnish worker process
    • VarnishAdmin::__construct - VarnishAdmin constructor
    • VarnishLog::getLine - Obtiene la siguiente línea de registro
    • VarnishLog::getTagName - Obtener la etiqueta de registro representada por su índice
    • VarnishLog::__construct - Constructor de Varnishlog
    • VarnishStat::getSnapshot - Obtener la instantánea actual de las estadísticas de instancia varnish
    • VarnishStat::__construct - Constructor VarnishStat
    • var_dump - Muestra información sobre una variable
    • var_export - Imprime o devuelve una representación string de una variable analizable
    • version_compare - Compara dos números de versiones estandarizados de PHP
    • vfprintf - Escribe un string con formato en un flujo
    • virtual - Realiza una sub-petición de Apache
    • vpopmail_add_alias_domain - Agrega un alias a un dominio virtual
    • vpopmail_add_alias_domain_ex - Agrega un alias a un dominio virtual existente
    • vpopmail_add_domain - Agrega un nuevo dominio virtual
    • vpopmail_add_domain_ex - Agega un nuevo dominio virtual
    • vpopmail_add_user - Agrega un nuevo usuario al dominio virtual indicado
    • vpopmail_alias_add - Inserta un alias virtual
    • vpopmail_alias_del - Borra todos los alias virtuales de un usuario
    • vpopmail_alias_del_domain - Borra todos los alias virtuales de un dominio
    • vpopmail_alias_get - Obtiene todas las líneas de un alias de un dominio dado
    • vpopmail_alias_get_all - Obtiene todas las líneas de un alias de un dominio dado
    • vpopmail_auth_user - Intenta validar un usuario/dominio/contraseña
    • vpopmail_del_domain - Borra un dominio virtual
    • vpopmail_del_domain_ex - Borra un dominio virtual
    • vpopmail_del_user - Borra un usuario de un dominio virtual
    • vpopmail_error - Obtiene en texto el último mensaje de error de vpopmail
    • vpopmail_passwd - Cambia la contraseña de un usuario virtual
    • vpopmail_set_user_quota - Establece la cuota a un usuario virtual
    • vprintf - Muestra una cadena con formato
    • vsprintf - Devuelve una cadena con formato
  • w
    • w32api_deftype - Define un tipo para usarlo con otras funciones w32api
    • w32api_init_dtype - Crea una instancia del tipo de información typename y la rellena con los valores pasados
    • w32api_invoke_function - Invoca a la función funcname con los argumentos pasados después del nombre de la función
    • w32api_register_function - Registra la función function_name desde la biblioteca con PHP
    • w32api_set_call_method - Establecer el método de llamada usado
    • wddx_add_vars - Agrega variables a un paquete WDDX con un ID específico
    • wddx_deserialize - Deserializa un packet WDDX
    • wddx_packet_end - Finaliza un paquete WDDX con un ID específico
    • wddx_packet_start - Inicia un nuevo paquete WDDX con una estructura a dentro
    • wddx_serialize_value - Serializa una simple valor dentro de un paquete WDDX
    • wddx_serialize_vars - Serializa variables en un paquete WDDX
    • WeakMap::count - Cuenta el número de entradas vivas de un mapa
    • WeakMap::current - Devuelve el valor actual de la iteración
    • WeakMap::key - Devuelve la clave actual de la iteración
    • WeakMap::next - Avanza al siguiente elemento del mapa
    • WeakMap::offsetExists - Comprueba si un cierto objeto está en un mapa
    • WeakMap::offsetGet - Devuelve el valor apuntado por un cierto objeto
    • WeakMap::offsetSet - Actualiza el mapa con un nuevo par clave-valor
    • WeakMap::offsetUnset - Elimina una entrada del mapa
    • WeakMap::rewind - Sitúa el iterador al comienzo del mapa
    • WeakMap::valid - Devuelve si el iterador aún está sobre un elemento válido de un mapa
    • WeakMap::__construct - Construye un nuevo mapa
    • Weakref::acquire - Adquiere una referencia fuerte de un objeto
    • Weakref::get - Devuelve el objeto apuntado por una referencia débil
    • Weakref::release - Libera una referencia previmente adquirida
    • Weakref::valid - Comprueba si el objeto referenciado aún existe
    • Weakref::__construct - Construye una nueva referencia débil
    • win32_continue_service - Reanuda un servicio pausado
    • win32_create_service - Crea una nueva entrada de servicio en la base de datos del ACS
    • win32_delete_service - Borra una entrada de servicio de la base de datos del ACS
    • win32_get_last_control_message - Devuelve el último mensaje de control que fue enviado a este servicio
    • win32_pause_service - Pausa un servicio
    • win32_ps_list_procs - Listar los procesos en ejecución
    • win32_ps_stat_mem - Estadísticas de utilización de memoria
    • win32_ps_stat_proc - Estadísticas de un proceso
    • win32_query_service_status - Pregunta sobre el estado de un servicio
    • win32_set_service_status - Actualiza el estado del servicio
    • win32_start_service - Inicia un servicio
    • win32_start_service_ctrl_dispatcher - Registra el script con el ACS, por lo que puede actuar como el servicio con el nombre dado
    • win32_stop_service - Detiene un servicio
    • wincache_fcache_fileinfo - Retrieves information about files cached in the file cache
    • wincache_fcache_meminfo - Recupera información sobre el uso de memoria caché de ficheros
    • wincache_lock - Acquires an exclusive lock on a given key
    • wincache_ocache_fileinfo - Retrieves information about files cached in the opcode cache
    • wincache_ocache_meminfo - Retrieves information about opcode cache memory usage
    • wincache_refresh_if_changed - Refreshes the cache entries for the cached files
    • wincache_rplist_fileinfo - Retrieves information about resolve file path cache
    • wincache_rplist_meminfo - Retrieves information about memory usage by the resolve file path cache
    • wincache_scache_info - Retrieves information about files cached in the session cache
    • wincache_scache_meminfo - Recupera información sobre el uso de memoria caché de sesión
    • wincache_ucache_add - Adds a variable in user cache only if variable does not already exist in the cache
    • wincache_ucache_cas - Compara la variable con el valor antiguo y le asigna un nuevo valor a este
    • wincache_ucache_clear - Elimina todo el contenido de la caché del usuario
    • wincache_ucache_dec - Disminuye el valor asociado a la clave
    • wincache_ucache_delete - Elimina las variables de la memoria caché del usuario
    • wincache_ucache_exists - Comprueba si una variable existe en la caché del usuario
    • wincache_ucache_get - Obtiene una variable almacenada en la caché del usuario
    • wincache_ucache_inc - Incrementa el valor asociado a la clave
    • wincache_ucache_info - Recupera información sobre los datos almacenados en la caché del usuario
    • wincache_ucache_meminfo - Recupera información sobre el uso de memoria caché de usuario
    • wincache_ucache_set - Adds a variable in user cache and overwrites a variable if it already exists in the cache
    • wincache_unlock - Libera un bloqueo exclusivo sobre una clave dada
    • wordwrap - Ajusta un string hasta un número dado de caracteres
    • Worker::chunk - Manipulation
    • Worker::getCreatorId - Identification
    • Worker::getStacked - Stack Analysis
    • Worker::getThreadId - Identification
    • Worker::isShutdown - State Detection
    • Worker::isWorking - State Detection
    • Worker::merge - Manipulation
    • Worker::pop - Manipulation
    • Worker::run - Execution
    • Worker::shift - Manipulation
    • Worker::shutdown - Synchronization
    • Worker::stack - Stacking
    • Worker::start - Execution
    • Worker::unstack - Stacking
  • x
    • xattr_get - Obtener un atributo extendido
    • xattr_list - Obtener una lista de atributos extendidos
    • xattr_remove - Elimina un atributo extendido
    • xattr_set - Establece un atributo extendido
    • xattr_supported - Comprueba si soporta los atributos extendidos del sistema de archivos
    • xdiff_file_bdiff - Realiza una diferencia binaria de dos archivos
    • xdiff_file_bdiff_size - Lee el tamaño de un archivo creado tras aplicar una diferencia binaria
    • xdiff_file_bpatch - Parchea un archivo con una diferencia binaria
    • xdiff_file_diff - Hacer un diff unificado de dos archivos
    • xdiff_file_diff_binary - Alias de xdiff_file_bdiff
    • xdiff_file_merge3 - Une 3 archivos en uno
    • xdiff_file_patch - Parchea un archivo con un diff unificado
    • xdiff_file_patch_binary - Alias de xdiff_file_bpatch
    • xdiff_file_rabdiff - Hacer una diferencia binaria de dos archivos utilizando el algoritmo polinomial de huella digital (fingerprinting) de Rabin
    • xdiff_string_bdiff - Hacer una diferencia binaria de dos cadenas
    • xdiff_string_bdiff_size - Lee el tamaño de un archivo creado tras aplicar una diferencia binaria
    • xdiff_string_bpatch - Parchear una cadena con una diferencia binaria
    • xdiff_string_diff - Hacer un diff unificado de dos cadenas
    • xdiff_string_diff_binary - Alias de xdiff_string_bdiff
    • xdiff_string_merge3 - Unir tres cadenas en una
    • xdiff_string_patch - Parchear una cadena con un diff unificado
    • xdiff_string_patch_binary - Alias de xdiff_string_bpatch
    • xdiff_string_rabdiff - Hacer una diferencia binaria de dos cadenas utilizando el algoritmo polinomial de huella digital (fingerprinting) de Rabin
    • xhprof_disable - Detiene el perfilador xhprof
    • xhprof_enable - Inicia perfil xhprof
    • xhprof_sample_disable - Detiene la muestra del perfilador xhprof
    • xhprof_sample_enable - Descripción
    • XMLDiff\Base::diff - Produce diff of two XML documents
    • XMLDiff\Base::merge - Produce new XML document based on diff
    • XMLDiff\Base::__construct - Constructor
    • XMLDiff\DOM::diff - Diff two DOMDocument objects
    • XMLDiff\DOM::merge - Produce merged DOMDocument
    • XMLDiff\File::diff - Diff two XML files
    • XMLDiff\File::merge - Produce merged XML document
    • XMLDiff\Memory::diff - Diff two XML documents
    • XMLDiff\Memory::merge - Produce merged XML document
    • XMLReader::close - Cierra la entrada del XMLReader
    • XMLReader::expand - Devuelve una copia del actual nodo como un objeto DOM
    • XMLReader::getAttribute - Obtiener el valor del atributo nombrado
    • XMLReader::getAttributeNo - Obtiene el valor de un atributo por el indice
    • XMLReader::getAttributeNs - Obtiene el valor de un atributo por su nombre local y URI
    • XMLReader::getParserProperty - Indica si la porpiedad especificada ha sido establecida
    • XMLReader::isValid - Indica si el documento analizado es válido
    • XMLReader::lookupNamespace - Busca el namespace para un prefijo
    • XMLReader::moveToAttribute - Mueve el cursor a un atributo nombrado
    • XMLReader::moveToAttributeNo - Mueve el cursor a un atributo por su índice
    • XMLReader::moveToAttributeNs - Mover el cursor a un atributo dado
    • XMLReader::moveToElement - Posiciona el cursor en el eleménto padre del actual atributo
    • XMLReader::moveToFirstAttribute - Posiciona el cursor en el primer atributo
    • XMLReader::moveToNextAttribute - Posiciona el cursor en el siguiente atributo
    • XMLReader::next - Mueve el cursor al siguiente nodo saltandose todos los subárboles
    • XMLReader::open - Establece el URI conteniendo el XML a analizar
    • XMLReader::read - Se mueve al siguiente nodo en el documento
    • XMLReader::readInnerXML - Recupera el XML del actual nodo
    • XMLReader::readOuterXML - Recupera el XML del actual nodo, incluyendo él mismo
    • XMLReader::readString - Lee el contenido del nodo actual como string
    • XMLReader::setParserProperty - Establecer las opciones del analizador
    • XMLReader::setRelaxNGSchema - Establece el nomb re del archivo o el URI para un esquema RelaxNG
    • XMLReader::setRelaxNGSchemaSource - Establece los datos contenidos en un esquema RelaxNG
    • XMLReader::setSchema - Valida el documento en contra del XSD
    • XMLReader::XML - Establece el contenido del XML a analizar
    • xmlrpc_decode - Decodifica el XML en los tipos de PHP nativos
    • xmlrpc_decode_request - Decodifica el XML en los tipos de PHP nativos
    • xmlrpc_encode - Genera XML para un valor PHP
    • xmlrpc_encode_request - Genera XML para el requerimiento de un método
    • xmlrpc_get_type - Obtiene el tipo del xmlrpc para un valor PHP
    • xmlrpc_is_fault - Determina si el valor de un arreglo representa una falla del XMLRPC
    • xmlrpc_parse_method_descriptions - Decodifica el XML en una lista de las descripciones del método
    • xmlrpc_server_add_introspection_data - Agrega una documentación introspectiva
    • xmlrpc_server_call_method - Analiza los requerimientos del XML y las llamadas de los métodos
    • xmlrpc_server_create - Crea un servidor xmlrpc
    • xmlrpc_server_destroy - Destruye los recursos del servidor
    • xmlrpc_server_register_introspection_callback - Registra una función PHP para generar la documentación
    • xmlrpc_server_register_method - Registra una función PHP para que el recurso del método coincida con method_name
    • xmlrpc_set_type - Establece el tipo del xmlrpc, base64 o fecha-hora, para un valor de cadena PHP
    • XMLWriter::endAttribute - Fin del atributo
    • XMLWriter::endCData - Fin del actual CDATA
    • XMLWriter::endComment - Crea un comentario final
    • XMLWriter::endDocument - Finaliza el actual documento
    • XMLWriter::endDTD - Finaliza la actual DTD
    • XMLWriter::endDTDAttlist - Finaliza la actual attList DTD
    • XMLWriter::endDTDElement - Finaliza el actual elemento DTD
    • XMLWriter::endDTDEntity - Finaliza el actual ente DTD
    • XMLWriter::endElement - Finaliza el actual elemento
    • XMLWriter::endPI - Finaliza el actual IP
    • XMLWriter::flush - Vacía el búfer actual
    • XMLWriter::fullEndElement - Fin del elemento actual
    • XMLWriter::openMemory - Crea un nuevo xmlwriter usando memoria para el string de salida
    • XMLWriter::openURI - Crea un nuevo xmlwriter usando una fuente uri para la salida
    • XMLWriter::outputMemory - Devuelve el actual buffer
    • XMLWriter::setIndent - Cambia la sangria de encendida/apagada
    • XMLWriter::setIndentString - Establece una cadena usada para la identidad
    • XMLWriter::startAttribute - Crea un atributo inicial
    • XMLWriter::startAttributeNS - Crea el atributo de inicio del namespaced
    • XMLWriter::startCData - Crea la etiqueta de inicio de CDATA
    • XMLWriter::startComment - Crea un comentario inicial
    • XMLWriter::startDocument - Crea un etiqueta del documento
    • XMLWriter::startDTD - Crea la etiqueta DTD inicial
    • XMLWriter::startDTDAttlist - Crea el DTD AttList inicial
    • XMLWriter::startDTDElement - Crea un elemento DTD inicial
    • XMLWriter::startDTDEntity - Crea un ente DTD inicial
    • XMLWriter::startElement - Crea la etiqueta del elemento inicial
    • XMLWriter::startElementNS - Crea la etiqueta del elemento de espacio de nombres inicial
    • XMLWriter::startPI - Crea la etiqueta PI inicial
    • XMLWriter::text - Escribe el texto
    • XMLWriter::writeAttribute - Escribe un atributo completo
    • XMLWriter::writeAttributeNS - Escribe un atributo full de namespaced
    • XMLWriter::writeCData - Escribe una etiqueta completa del CDATA
    • XMLWriter::writeComment - EScribe la etiqueta del comentario completa
    • XMLWriter::writeDTD - Escribe una etiqueta completa del DTD
    • XMLWriter::writeDTDAttlist - Escribe la etiqueta completa del DTD AttList
    • XMLWriter::writeDTDElement - Escribe la etiqueta completa de un elemento DTD
    • XMLWriter::writeDTDEntity - Escribe una etiqueta completa de un ente DTD
    • XMLWriter::writeElement - Escribe una etiqueta completa del elemento
    • XMLWriter::writeElementNS - Escribe una etiqueta completa del elemento
    • XMLWriter::writePI - Escribe un IP
    • XMLWriter::writeRaw - Escribe un texto sin formato del XML
    • xml_error_string - Obtiene la cadena de un error dado en un intérprete XML
    • xml_get_current_byte_index - Obtiene la indexación del byte actual en un intérprete XML
    • xml_get_current_column_number - Obtiene el número de columna actual para un intérprete XML
    • xml_get_current_line_number - Obtiene el número de línea actual para un intérprete XML
    • xml_get_error_code - Obtiene un código de error en un intérprete XML
    • xml_parse - Inicia un intérprete sobre un documento XML
    • xml_parser_create - Crea un intérprete XML
    • xml_parser_create_ns - Crea un analizador XML con soporte para espacios de nombres
    • xml_parser_free - Liberar una analizador XML
    • xml_parser_get_option - Obtiene el valor de las opciones de un intérprete XML
    • xml_parser_set_option - Configura las opciones en un intérprete XML
    • xml_parse_into_struct - Interpreta datos XML en una estructura de array
    • xml_set_character_data_handler - Configura el manejador de los datos de caracteres
    • xml_set_default_handler - Configura el manejador predeterminado
    • xml_set_element_handler - Configura los manejadores para los elementos de inicio y final
    • xml_set_end_namespace_decl_handler - Configura el manejador de declaración de final del namespace
    • xml_set_external_entity_ref_handler - Configura el manejador de referencia a entidades externas
    • xml_set_notation_decl_handler - Configura el manejador de declaraciones de notación
    • xml_set_object - Usa un intérprete XML Parser dentro de un objeto
    • xml_set_processing_instruction_handler - Configura el manejador de instrucciones de proceso (PI)
    • xml_set_start_namespace_decl_handler - Configura el manejador de declaración de inicio del namespace
    • xml_set_unparsed_entity_decl_handler - Configura el manejador de declaración de entidades no analizadas
    • XSLTProcessor::getParameter - Obtiene el valor de un parámetro
    • XsltProcessor::getSecurityPrefs - Obtiene las opciones de seguridad
    • XSLTProcessor::hasExsltSupport - Determina si PHP tiene soporte para EXSLT
    • XSLTProcessor::importStylesheet - Importa una hoja de estilos
    • XSLTProcessor::registerPHPFunctions - Activa la capacidad de usar funciones PHP como funciones XSLT
    • XSLTProcessor::removeParameter - Elimina un parámetro
    • XSLTProcessor::setParameter - Establece el valor para uno o varios parámetros
    • XSLTProcessor::setProfiling - Establece el fichero de salida para la información resultado del proceso
    • XsltProcessor::setSecurityPrefs - Establece las opciones de seguridad
    • XSLTProcessor::transformToDoc - Transforma en un DOMDocument
    • XSLTProcessor::transformToUri - Transformar a URI
    • XSLTProcessor::transformToXML - Transforma a XML
    • XSLTProcessor::__construct - Crea un nuevo objeto XSLTProcessor
    • xslt_backend_info - Devuelve la información sobre las opciones de compilación del servidor
    • xslt_backend_name - Devuelve el nombre del backend
    • xslt_backend_version - Devuelve el número de versión de Sablotron
    • xslt_create - Crear un nuevo procesador de XSLT
    • xslt_errno - Devuelve un número de error
    • xslt_error - Devuelve una cadena de errores
    • xslt_free - Libera el procesador de XSLT
    • xslt_getopt - Obtener las opciones de un procesador XSL dado
    • xslt_process - Perform an XSLT transformation
    • xslt_setopt - Set options on a given XSLT processor
    • xslt_set_base - Establecer el URI base para todas las transformaciones XSLT
    • xslt_set_encoding - Establecer la codificación para el análisis de documentos XML
    • xslt_set_error_handler - Establecer un manejador de error para un procesador XSLT
    • xslt_set_log - Set the log file to write log messages to
    • xslt_set_object - Establece el objeto en que resolver funciones de devolución de llamada
    • xslt_set_sax_handler - Establecer manejadores SAX para un procesador XSLT
    • xslt_set_sax_handlers - Establecer los manejadores SAX que se llamará cuando el documento XML se procesa
    • xslt_set_scheme_handler - Establecer manejadores de esquema para un procesador XSLT
    • xslt_set_scheme_handlers - Set the scheme handlers for the XSLT processor
  • y
    • Yaf_Action_Abstract::execute - Punto de entrada de una acción
    • Yaf_Action_Abstract::getController - Recupera el objeto controlador
    • Yaf_Application::app - Recuperar una instancia de la clase Application
    • Yaf_Application::bootstrap - Llamar al arranque
    • Yaf_Application::clearLastError - Limpiar la información del último error
    • Yaf_Application::environ - Recuperar el entorno
    • Yaf_Application::execute - Ejecutar una llamada de retorno
    • Yaf_Application::getAppDirectory - Obtener el directorio de la aplicación
    • Yaf_Application::getConfig - Recuperar la instancia de configuración
    • Yaf_Application::getDispatcher - Obtener la instancia de la clase Yaf_Dispatcher
    • Yaf_Application::getLastErrorMsg - Obtener el mensaje del último error ocurrido
    • Yaf_Application::getLastErrorNo - Pbetner el código del último error ocurrido
    • Yaf_Application::getModules - Obtener los nombres de los modulos definidos
    • Yaf_Application::run - Iniciar una instancia de la clase Yaf_Application
    • Yaf_Application::setAppDirectory - Cambiar el directorio de la aplicación
    • Yaf_Application::__clone - Un objeto de la clase Yaf_Application no puede ser clonado
    • Yaf_Application::__construct - El constructor de la clase Yaf_Application
    • Yaf_Application::__destruct - El propósito de __destruct
    • Yaf_Application::__sleep - Una instancia de la clase Yaf_Application no puede ser serializada
    • Yaf_Application::__wakeup - Una instancia de la clase Yaf_Application no puede ser deserializada
    • Yaf_Config_Abstract::get - Consultor
    • Yaf_Config_Abstract::readonly - Buscar si una configuración es de sólo lectura
    • Yaf_Config_Abstract::set - Modificador
    • Yaf_Config_Abstract::toArray - Convertir en un array
    • Yaf_Config_Ini::count - El propósito de count
    • Yaf_Config_Ini::current - El propósito de current
    • Yaf_Config_Ini::key - El propósito de key
    • Yaf_Config_Ini::next - El propósito de next
    • Yaf_Config_Ini::offsetExists - El propósito de offsetExists
    • Yaf_Config_Ini::offsetGet - El propósito de offsetGet
    • Yaf_Config_Ini::offsetSet - El propósito de offsetSet
    • Yaf_Config_Ini::offsetUnset - El propósito de offsetUnset
    • Yaf_Config_Ini::readonly - El propósito de readonly
    • Yaf_Config_Ini::rewind - El propósito de rewind
    • Yaf_Config_Ini::toArray - Devuelve un array de PHP
    • Yaf_Config_Ini::valid - El propósito de valid
    • Yaf_Config_Ini::__construct - Constructor de Yaf_Config_Ini
    • Yaf_Config_Ini::__get - El propósito de __get
    • Yaf_Config_Ini::__isset - El propósito de __isset
    • Yaf_Config_Ini::__set - El propósito de __set
    • Yaf_Config_Simple::count - El propósito de count
    • Yaf_Config_Simple::current - El propósito de current
    • Yaf_Config_Simple::key - El propósito de key
    • Yaf_Config_Simple::next - El propósito de next
    • Yaf_Config_Simple::offsetExists - El propósito de offsetExists
    • Yaf_Config_Simple::offsetGet - El propósito de offsetGet
    • Yaf_Config_Simple::offsetSet - El propósito de offsetSet
    • Yaf_Config_Simple::offsetUnset - El propósito de offsetUnset
    • Yaf_Config_Simple::readonly - El propósito de readonly
    • Yaf_Config_Simple::rewind - El propósito de rewind
    • Yaf_Config_Simple::toArray - Devuelve un array de PHP
    • Yaf_Config_Simple::valid - El propósito de valid
    • Yaf_Config_Simple::__construct - El propósito de __construct
    • Yaf_Config_Simple::__get - El propósito de __get
    • Yaf_Config_Simple::__isset - El propósito de __isset
    • Yaf_Config_Simple::__set - El propósito de __set
    • Yaf_Controller_Abstract::display - El propósito de display
    • Yaf_Controller_Abstract::forward - Avanza a la siguiente acción
    • Yaf_Controller_Abstract::getInvokeArg - El propósito de getInvokeArg
    • Yaf_Controller_Abstract::getInvokeArgs - El propósito de getInvokeArgs
    • Yaf_Controller_Abstract::getModuleName - Obtiene el nombre del módulo
    • Yaf_Controller_Abstract::getRequest - Recupera el objeto petición actual
    • Yaf_Controller_Abstract::getResponse - Recupera el objeto respuesta actual
    • Yaf_Controller_Abstract::getView - Recupera el motor de vistas
    • Yaf_Controller_Abstract::getViewpath - El propósito de getViewpath
    • Yaf_Controller_Abstract::init - Inicializador del controlador
    • Yaf_Controller_Abstract::initView - El propósito de initView
    • Yaf_Controller_Abstract::redirect - Redirige a un URL
    • Yaf_Controller_Abstract::render - Interpreta una plantilla de vista
    • Yaf_Controller_Abstract::setViewpath - El propósito de setViewpath
    • Yaf_Controller_Abstract::__clone - Una instancia de la clase Yaf_Controller_Abstract no puede ser clonada
    • Yaf_Controller_Abstract::__construct - Constructor de Yaf_Controller_Abstract
    • Yaf_Dispatcher::autoRender - Activa/desactiva la autointerpretación
    • Yaf_Dispatcher::catchException - Activar/desactivar la captura de excepciones
    • Yaf_Dispatcher::disableView - Deshabilita la interpretación de vistas
    • Yaf_Dispatcher::dispatch - Despachar una petición
    • Yaf_Dispatcher::enableView - Habilita la interpretación de vistas
    • Yaf_Dispatcher::flushInstantly - Activa/desactiva el vaciado instantáneo
    • Yaf_Dispatcher::getApplication - Recupera la aplicación
    • Yaf_Dispatcher::getInstance - Recupeara la instancia despachadora
    • Yaf_Dispatcher::getRequest - Recupera la instancia de petición
    • Yaf_Dispatcher::getRouter - Recuperar la instancia de envío
    • Yaf_Dispatcher::initView - Inicializa una vista y la devuelve
    • Yaf_Dispatcher::registerPlugin - Registra un complemento
    • Yaf_Dispatcher::returnResponse - El propósito de returnResponse
    • Yaf_Dispatcher::setDefaultAction - Cambia el nombre de la acción predeterminada
    • Yaf_Dispatcher::setDefaultController - Cambia el nombre del controlador predeterminado
    • Yaf_Dispatcher::setDefaultModule - Cambia el nombre del módulo predeterminado
    • Yaf_Dispatcher::setErrorHandler - Establece el gestor de errores
    • Yaf_Dispatcher::setRequest - El propósito de setRequest
    • Yaf_Dispatcher::setView - Establecer un motor de vistas personalizado
    • Yaf_Dispatcher::throwException - Activa/desactiva el lanzamiento de excepciones
    • Yaf_Dispatcher::__clone - Una instancia de la clase Yaf_Dispatcher no se puede clonar
    • Yaf_Dispatcher::__construct - Constructor de la clase Yaf_Dispatcher
    • Yaf_Dispatcher::__sleep - Una instancia de la clase Yaf_Dispatcher no puede ser serializada
    • Yaf_Dispatcher::__wakeup - Una instancia de la clase Yaf_Dispatcher no puede ser desserializada
    • Yaf_Exception::getPrevious - El propósito de getPrevious
    • Yaf_Exception::__construct - El propósito de __construct
    • Yaf_Loader::autoload - El propósito de autoload
    • Yaf_Loader::clearLocalNamespace - El propósito de clearLocalNamespace
    • Yaf_Loader::getInstance - El propósito de getInstance
    • Yaf_Loader::getLibraryPath - El propósito de getLibraryPath
    • Yaf_Loader::getLocalNamespace - El propósito de getLocalNamespace
    • Yaf_Loader::import - El propósito de import
    • Yaf_Loader::isLocalName - El propósito de isLocalName
    • Yaf_Loader::registerLocalNamespace - Registra un prefijo de clase local
    • Yaf_Loader::setLibraryPath - Cmabiar la ruta de la biblioteca
    • Yaf_Loader::__clone - El propósito de __clone
    • Yaf_Loader::__construct - El propósito de __construct
    • Yaf_Loader::__sleep - El propósito de __sleep
    • Yaf_Loader::__wakeup - El propósito de __wakeup
    • Yaf_Plugin_Abstract::dispatchLoopShutdown - El propósito de dispatchLoopShutdown
    • Yaf_Plugin_Abstract::dispatchLoopStartup - El propósito de dispatchLoopStartup
    • Yaf_Plugin_Abstract::postDispatch - El propósito de postDispatch
    • Yaf_Plugin_Abstract::preDispatch - El propósito de preDispatch
    • Yaf_Plugin_Abstract::preResponse - El propósito de preResponse
    • Yaf_Plugin_Abstract::routerShutdown - El propósito de routerShutdown
    • Yaf_Plugin_Abstract::routerStartup - Enganche deEl propósito de routerStartup
    • Yaf_Registry::del - Elimina un elemento del registro
    • Yaf_Registry::get - Recupera un elemento del registro
    • Yaf_Registry::has - Comprueba si existe un elemento
    • Yaf_Registry::set - Añade un elemento al registro
    • Yaf_Registry::__clone - El propósito de __clone
    • Yaf_Registry::__construct - Yaf_Registry implementa singleton
    • Yaf_Request_Abstract::getActionName - El propósito de getActionName
    • Yaf_Request_Abstract::getBaseUri - El propósito de getBaseUri
    • Yaf_Request_Abstract::getControllerName - El propósito de getControllerName
    • Yaf_Request_Abstract::getEnv - Recupera la variable ENV
    • Yaf_Request_Abstract::getException - El propósito de getException
    • Yaf_Request_Abstract::getLanguage - El propósito de getLanguage
    • Yaf_Request_Abstract::getMethod - El propósito de getMethod
    • Yaf_Request_Abstract::getModuleName - El propósito de getModuleName
    • Yaf_Request_Abstract::getParam - El propósito de getParam
    • Yaf_Request_Abstract::getParams - El propósito de getParams
    • Yaf_Request_Abstract::getRequestUri - El propósito de getRequestUri
    • Yaf_Request_Abstract::getServer - Recupera la variable SERVER
    • Yaf_Request_Abstract::isCli - El propósito de isCli
    • Yaf_Request_Abstract::isDispatched - El propósito de isDispatched
    • Yaf_Request_Abstract::isGet - El propósito de isGet
    • Yaf_Request_Abstract::isHead - El propósito de isHead
    • Yaf_Request_Abstract::isOptions - El propósito de isOptions
    • Yaf_Request_Abstract::isPost - El propósito de isPost
    • Yaf_Request_Abstract::isPut - El propósito de isPut
    • Yaf_Request_Abstract::isRouted - El propósito de isRouted
    • Yaf_Request_Abstract::isXmlHttpRequest - El propósito de isXmlHttpRequest
    • Yaf_Request_Abstract::setActionName - El propósito de setActionName
    • Yaf_Request_Abstract::setBaseUri - Establecer el URI base
    • Yaf_Request_Abstract::setControllerName - El propósito de setControllerName
    • Yaf_Request_Abstract::setDispatched - El propósito de setDispatched
    • Yaf_Request_Abstract::setModuleName - El propósito de setModuleName
    • Yaf_Request_Abstract::setParam - El propósito de setParam
    • Yaf_Request_Abstract::setRequestUri - El propósito de setRequestUri
    • Yaf_Request_Abstract::setRouted - El propósito de setRouted
    • Yaf_Request_Http::get - Recupera una variable del cliente
    • Yaf_Request_Http::getCookie - Recupera una varible de Cookie
    • Yaf_Request_Http::getFiles - El propósito de getFiles
    • Yaf_Request_Http::getPost - Recupera una variable de POST
    • Yaf_Request_Http::getQuery - Obtiene un parámetro de una consulta
    • Yaf_Request_Http::getRequest - El propósito de getRequest
    • Yaf_Request_Http::isXmlHttpRequest - Comprueba si una consulta es de Ajax
    • Yaf_Request_Http::__clone - El propósito de __clone
    • Yaf_Request_Http::__construct - El propósito de __construct
    • Yaf_Request_Simple::get - El propósito de get
    • Yaf_Request_Simple::getCookie - El propósito de getCookie
    • Yaf_Request_Simple::getFiles - El propósito de getFiles
    • Yaf_Request_Simple::getPost - El propósito de getPost
    • Yaf_Request_Simple::getQuery - El propósito de getQuery
    • Yaf_Request_Simple::getRequest - El propósito de getRequest
    • Yaf_Request_Simple::isXmlHttpRequest - El propósito de isXmlHttpRequest
    • Yaf_Request_Simple::__clone - El propósito de __clone
    • Yaf_Request_Simple::__construct - El propósito de __construct
    • Yaf_Response_Abstract::appendBody - Añadir contenido al cuerpo
    • Yaf_Response_Abstract::clearBody - El propósito de clearBody
    • Yaf_Response_Abstract::clearHeaders - El propósito de clearHeaders
    • Yaf_Response_Abstract::getBody - Recupera un contenido existente
    • Yaf_Response_Abstract::getHeader - El propósito de getHeader
    • Yaf_Response_Abstract::prependBody - El propósito de prependBody
    • Yaf_Response_Abstract::response - Envía una respuesta
    • Yaf_Response_Abstract::setAllHeaders - El propósito de setAllHeaders
    • Yaf_Response_Abstract::setBody - Establece el contenido de una respuesta
    • Yaf_Response_Abstract::setHeader - El propósito de setHeader
    • Yaf_Response_Abstract::setRedirect - El propósito de setRedirect
    • Yaf_Response_Abstract::__clone - El propósito de __clone
    • Yaf_Response_Abstract::__construct - El propósito de __construct
    • Yaf_Response_Abstract::__destruct - El propósito de __destruct
    • Yaf_Response_Abstract::__toString - El propósito de __toString
    • Yaf_Router::addConfig - Añadir rutas definidas en configuración al Enrutador
    • Yaf_Router::addRoute - Añadir una nueva ruta al Enrutador
    • Yaf_Router::getCurrentRoute - Obtener el nombre de la ruta efectiva
    • Yaf_Router::getRoute - Recupera una ruta por su nombre
    • Yaf_Router::getRoutes - Recupera las rutas registradas
    • Yaf_Router::route - El propósito de route
    • Yaf_Router::__construct - El constructor de Yaf_Router
    • Yaf_Route_Interface::route - Enruta una petición
    • Yaf_Route_Map::route - El propósito de route
    • Yaf_Route_Map::__construct - El propósito de __construct
    • Yaf_Route_Regex::route - El propósito de route
    • Yaf_Route_Regex::__construct - El propósito de __construct
    • Yaf_Route_Rewrite::route - El propósito de route
    • Yaf_Route_Rewrite::__construct - Constructor de Yaf_Route_Rewrite
    • Yaf_Route_Simple::route - Enviar una petición
    • Yaf_Route_Simple::__construct - El constructor de la clase Yaf_Route_Simple
    • Yaf_Route_Static::match - El propósito de match
    • Yaf_Route_Static::route - Enviar una petición
    • Yaf_Route_Supervar::route - El propósito de route
    • Yaf_Route_Supervar::__construct - El propósito de __construct
    • Yaf_Session::count - El propósito de count
    • Yaf_Session::current - El propósito de current
    • Yaf_Session::del - El propósito de del
    • Yaf_Session::getInstance - El propósito de getInstance
    • Yaf_Session::has - El propósito de has
    • Yaf_Session::key - El propósito de key
    • Yaf_Session::next - El propósito de next
    • Yaf_Session::offsetExists - El propósito de offsetExists
    • Yaf_Session::offsetGet - El propósito de offsetGet
    • Yaf_Session::offsetSet - El propósito de offsetSet
    • Yaf_Session::offsetUnset - El propósito de offsetUnset
    • Yaf_Session::rewind - El propósito de rewind
    • Yaf_Session::start - El propósito de start
    • Yaf_Session::valid - El propósito de valid
    • Yaf_Session::__clone - El propósito de __clone
    • Yaf_Session::__construct - El propósito de __construct
    • Yaf_Session::__get - El propósito de __get
    • Yaf_Session::__isset - El propósito de __isset
    • Yaf_Session::__set - El propósito de __set
    • Yaf_Session::__sleep - El propósito de __sleep
    • Yaf_Session::__unset - El propósito de __unset
    • Yaf_Session::__wakeup - El propósito de __wakeup
    • Yaf_View_Interface::assign - Asignar valores al motor de Vistas
    • Yaf_View_Interface::display - Interpretar e imprimir una plantilla
    • Yaf_View_Interface::getScriptPath - El propósito de getScriptPath
    • Yaf_View_Interface::render - Interpretar una plantilla
    • Yaf_View_Interface::setScriptPath - El propósito de setScriptPath
    • Yaf_View_Simple::assign - Asignar valores
    • Yaf_View_Simple::assignRef - El propósito de assignRef
    • Yaf_View_Simple::clear - Limpiar valores asignados
    • Yaf_View_Simple::display - Interpretar y mostrar
    • Yaf_View_Simple::eval - Interpreta una plantilla
    • Yaf_View_Simple::getScriptPath - Obtiene el directorio de plantillas
    • Yaf_View_Simple::render - Interpreta una plantilla
    • Yaf_View_Simple::setScriptPath - Establece el directorio de plantillas
    • Yaf_View_Simple::__construct - El constructor de Yaf_View_Simple
    • Yaf_View_Simple::__get - Recupera una variable asignada
    • Yaf_View_Simple::__isset - El propósito de __isset
    • Yaf_View_Simple::__set - Establece el valor para el motor
    • yaml_emit - Devuelve la representación de un valor YAML
    • yaml_emit_file - Enviar la representación YAML de un valor a un fichero
    • yaml_parse - Analiza una secuencia de texto en formato YAML
    • yaml_parse_file - Analiza una secuencia de texto en formato YAML desde un fichero
    • yaml_parse_url - Analiza una secuencia de texto Yaml desde una URL
    • Yar_Client::setOpt - Set calling contexts
    • Yar_Client::__call - Call service
    • Yar_Client::__construct - Create a client
    • Yar_Client_Exception::getType - The getType purpose
    • Yar_Concurrent_Client::call - Register a concurrent call
    • Yar_Concurrent_Client::loop - Send all calls
    • Yar_Server::handle - Start RPC Server
    • Yar_Server::__construct - Register a server
    • Yar_Server_Exception::getType - The getType purpose
    • yaz_addinfo - Devuelve un error adicional de información
    • yaz_ccl_conf - Configura el analizador CCL
    • yaz_ccl_parse - Inviocar el analizador Invoke CCL
    • yaz_close - Close YAZ connection
    • yaz_connect - Prepara una conexión a un servidor Z39.50
    • yaz_database - Especifica las bases de datos dentro de una sesión
    • yaz_element - Especifica el nombre del elemento establecido para recuperar
    • yaz_errno - Devuelve el número de error
    • yaz_error - Devuelve la descripción del error
    • yaz_es - Prepara para una solicitud de servicio extendido
    • yaz_es_result - Resulados de Servicios Extendidos de Inspección
    • yaz_get_option - Devuelve el valor de opción para la conexión
    • yaz_hits - Devuelve el número de éxitos de la última búsqueda
    • yaz_itemorder - Prepara para la solicitud Z39.50 Item Order con el paquete ILL-Request
    • yaz_present - Se prepara para la recuperación (Z39.50 presente)
    • yaz_range - Específica un rango de registros a recuperar
    • yaz_record - Devuelve un registro
    • yaz_scan - Prepara para un escaneo YAZ
    • yaz_scan_result - Devuelve el resultado de un escaneado
    • yaz_schema - Especifica el esquema para la recuperación
    • yaz_search - Prepara una búsqueda
    • yaz_set_option - Configura una o más opciones de la conexión
    • yaz_sort - Configura los criterios de búsqueda
    • yaz_syntax - Especifica la sintaxis de registro preferida para la recuperación
    • yaz_wait - Espera que las peticiones Z39.50 se completeten
    • yp_all - Recorre el mapa y ejecuta una función por cada entrada
    • yp_cat - Devuelve un array conteniendo todo el mapa
    • yp_errno - Devuelve el código de error de la operación más reciente
    • yp_err_string - Devuelve la cadena de error asociada con el código de error dado
    • yp_first - Devuelve el primer par clave-valor del mapa indicado
    • yp_get_default_domain - Obtiene el dominio NIS por defecto
    • yp_master - Devuelve el nombre de máquina del servidor NIS maestro de un mapa dado
    • yp_match - Devuelve la línea asociada
    • yp_next - Devuelve el siguiente par clave-valor en el mapa indicado
    • yp_order - Devuelve el número de pedido de un mapa
  • z
    • zend_logo_guid - Obtiene el valor guid de Zend
    • zend_thread_id - Devuelve un identificador único del thread actual
    • zend_version - Obtiene la versión del motor Zend actual
    • ZipArchive::addEmptyDir - Añadir un nuevo directorio
    • ZipArchive::addFile - Añade un fichero al archivo ZIP para la ruta dada
    • ZipArchive::addFromString - Añadir un fichero al archivo ZIP usando su contenido
    • ZipArchive::addGlob - Añadir ficheros de un directorio mediante un patrón glob
    • ZipArchive::addPattern - Añade ficheros de un directorio a partir de un patrón PCRE
    • ZipArchive::close - Cierra el fichero activo (abierto o el nuevo creado)
    • ZipArchive::deleteIndex - Elimina una entrada en el archivo usando su índice
    • ZipArchive::deleteName - Elimina una entrada en el archivo por su nombre
    • ZipArchive::extractTo - Extraer el contenido del archivo
    • ZipArchive::getArchiveComment - Devuelve el comentario del archivo ZIP
    • ZipArchive::getCommentIndex - Devuelve el comentario de una entrada usando la entrada díndice
    • ZipArchive::getCommentName - Devuelve el comentario de una entrada usando el nombre de la entrada
    • ZipArchive::getFromIndex - Devuelve el contenido de la entrada usando su índice
    • ZipArchive::getFromName - Devuelve el contenido de la entrada utilizando su nombre
    • ZipArchive::getNameIndex - Devuelve el nombre de una entrada utilizando su índice
    • ZipArchive::getStatusString - Devuelve mensajes de: estado de error, de sistema y/o mensajes de zip
    • ZipArchive::getStream - Obtener un manejador de fichero para la entrada definido por su nombre (sólo lectura)
    • ZipArchive::locateName - Devuelve el índice de la entrada en el archivo
    • ZipArchive::open - Abrir un fichero de archivo en formato ZIP
    • ZipArchive::renameIndex - Renombra una entrada definida por su índice
    • ZipArchive::renameName - Renombra una entrada definida por su nombre
    • ZipArchive::setArchiveComment - Establece el comentario de un archivo ZIP
    • ZipArchive::setCommentIndex - Establece el comentario de una entrada definido por su índice
    • ZipArchive::setCommentName - Establece el comentario de una entrada definido por su nombre
    • ZipArchive::statIndex - Obtiene los detalles de una entrada definida por su índice
    • ZipArchive::statName - Obtener los detalles de una entrada definida por su nombre
    • ZipArchive::unchangeAll - Deshacer todos los cambios hechos en el archivo
    • ZipArchive::unchangeArchive - Revertir todos los cambios globales hechos en el archivo
    • ZipArchive::unchangeIndex - Revertir todos los cambios hechos a una entrada en el índice dado
    • ZipArchive::unchangeName - Deshace todos los cambios realizados a una entrada con un nombre dado
    • zip_close - Cierra un fichero ZIP
    • zip_entry_close - Cierra la entrada a un directorio
    • zip_entry_compressedsize - Obtiene el tamaño comprimido de una entrada de directorio
    • zip_entry_compressionmethod - Devuelve el método de compresión de una entrada de directorio
    • zip_entry_filesize - Devuelve el tamaño del fichero actual de una entrada de directorio
    • zip_entry_name - Devuelve el nombre de la entrada de un directorio
    • zip_entry_open - Abrir una entrada de directorio para lectura
    • zip_entry_read - Leer desde una entrada de directorio abierta
    • zip_open - Abre un fichero ZIP
    • zip_read - Leer la siguiente entrada en el fichero ZIP
    • zlib:// - Flujos de compresión
    • zlib_decode - Descomprime datos codificados en craw/gzip/zlib
    • zlib_encode - Comprime datos con la codificación especificada
    • zlib_get_coding_type - Retorna el tipo de codificación utilizada para hacer la compresión
    • ZMQ::__construct - ZMQ constructor
    • ZMQContext::getOpt - Get context option
    • ZMQContext::getSocket - Create a new socket
    • ZMQContext::isPersistent - Whether the context is persistent
    • ZMQContext::setOpt - Set a socket option
    • ZMQContext::__construct - Construct a new ZMQContext object
    • ZMQDevice::getIdleTimeout - Get the idle timeout
    • ZMQDevice::getTimerTimeout - Get the timer timeout
    • ZMQDevice::run - Run the new device
    • ZMQDevice::setIdleCallback - Set the idle callback function
    • ZMQDevice::setIdleTimeout - Set the idle timeout
    • ZMQDevice::setTimerCallback - Set the timer callback function
    • ZMQDevice::setTimerTimeout - Set the timer timeout
    • ZMQDevice::__construct - Construct a new device
    • ZMQPoll::add - Add item to the poll set
    • ZMQPoll::clear - Clear the poll set
    • ZMQPoll::count - Count items in the poll set
    • ZMQPoll::getLastErrors - Get poll errors
    • ZMQPoll::poll - Poll the items
    • ZMQPoll::remove - Remove item from poll set
    • ZMQSocket::bind - Bind the socket
    • ZMQSocket::connect - Connect the socket
    • ZMQSocket::disconnect - Disconnect a socket
    • ZMQSocket::getEndpoints - Get list of endpoints
    • ZMQSocket::getPersistentId - Get the persistent id
    • ZMQSocket::getSocketType - Get the socket type
    • ZMQSocket::getSockOpt - Get socket option
    • ZMQSocket::isPersistent - Whether the socket is persistent
    • ZMQSocket::recv - Receives a message
    • ZMQSocket::recvMulti - Receives a multipart message
    • ZMQSocket::send - Sends a message
    • ZMQSocket::sendmulti - Sends a multipart message
    • ZMQSocket::setSockOpt - Set a socket option
    • ZMQSocket::unbind - Unbind the socket
    • ZMQSocket::__construct - Construct a new ZMQSocket
  • _
    • __autoload - Intenta cargar una clase sin definir
    • __halt_compiler - Detiene la ejecución del compilador
Listado de índices
Listado de ejemplos
Listado de índices


Listado de ejemplos

Lista todos los ejemplos del manual

  • Example#0 - Un ejemplo introductorio
  • Example#1 - Nuestro primer script de PHP: hola.php
  • Example#2 - Obtener la información del sistema desde PHP
  • Example#3 - Imprimir una variable (elemento de array)
  • Example#4 - Ejemplo usando estructuras de control y functiones
  • Example#5 - Mezcla de los modos HTML y PHP
  • Example#6 - Un formulario HTML sencillo
  • Example#7 - Mostrar información de nuestro formulario
  • Example#8 - Instrucciones de instalación (Versión de módulo compartido de Apache) para PHP
  • Example#9 - Instrucciones de instalación (Instalación de módulo estático para Apache) para PHP
  • Example#10 - Comandos de ejemplo para reiniciar Apache
  • Example#11 -
  • Example#12 -
  • Example#13 -
  • Example#14 -
  • Example#15 -
  • Example#16 -
  • Example#17 -
  • Example#18 -
  • Example#19 -
  • Example#20 -
  • Example#21 -
  • Example#22 -
  • Example#23 -
  • Example#24 -
  • Example#25 -
  • Example#26 - Extracto de lighttpd.conf
  • Example#27 - Lanzando oyentes FastCGI
  • Example#28 - Conexión a instancias de php-fastcgi remotas
  • Example#29 - Ejemplo de instalación de paquete de OpenBSD
  • Example#30 - Ejemplo de Instalación en Debian con Apache 2
  • Example#31 - Deteniendo e iniciando Apache una vez que PHP está instalado
  • Example#32 - Métodos para listar paquetes relacionados con PHP 5
  • Example#33 - Instalar PHP con MySQL, cURL
  • Example#34 - PHP 5 paquete de estructura
  • Example#35 - Configuración CGI y FastCGI en php.ini
  • Example#36 - Configuración de la extensión FastCGI para manejar las solicitudes de PHP
  • Example#37 - Configuración del fichero de los permisos de acceso
  • Example#38 - Configuración FastCGI y reciclaje PHP
  • Example#39 - Configuración de los ajustes de tiempo de espera FastCGI
  • Example#40 - Cambiar la ubicación del fichero php.ini
  • Example#41 - CGI y FastCGI en la configuración php.ini
  • Example#42 - >Creación del proceso del grupo IIS FastCGI
  • Example#43 - Creación de mapas manejador de peticiones PHP
  • Example#44 - La determinación de la cuenta utilizada como IIS identidad anónima
  • Example#45 - Configuración de archivo de los permisos de acceso
  • Example#46 - Establecer index.php como un documento predeterminado en IIS
  • Example#47 - Configuración de PHP FastCGI y el reciclaje
  • Example#48 - Configuración de los ajustes de tiempo de espera FastCGI
  • Example#49 - Cambiar la ubicación del fichero php.ini
  • Example#50 - PHP como módulo de Apache 1.3.x
  • Example#51 - PHP y Apache 1.3.x como CGI
  • Example#52 - PHP and Apache 2.x como controlador
  • Example#53 -
  • Example#54 - PHP y Apache 2.x como CGI
  • Example#55 - Configurar Apache para ejecutar PHP como FastCGI
  • Example#56 - Configuracion de Sambar ISAPI
  • Example#57 - Habilitar la extensión Bzip2 para PHP-Windows
  • Example#58 - Registro de cambios
  • Example#59 - Pasando variables de entorno y ajustando las configuraciones de PHP por grupos
  • Example#60 - Establecer ajustes PHP en nginx.conf
  • Example#61 - llamada a phpinfo
  • Example#62 - Variables de entorno de php.ini
  • Example#63 - Ejemplo de php.ini
  • Example#64 - Ejemplo de configuración de Apache
  • Example#65 -
  • Example#66 - Salida avanzada usando condiciones
  • Example#67 - Etiquetas de apertura y de cierre de PHP
  • Example#68 - Enteros literales
  • Example#69 - Octal raros
  • Example#70 - Desbordamiento de enteros en sistemas 32-bits
  • Example#71 - Desbordamiento de enteros en sistemas 64-bits
  • Example#72 - Ejemplo no válido
  • Example#73 - Ejemplo de entrecomillado de string Heredoc
  • Example#74 - Ejemplo de Heredoc como argumento
  • Example#75 - Usando Heredoc para inicializar valores estáticos
  • Example#76 - Empleando comillas dobles en Heredoc
  • Example#77 - Ejemplo de entrecomillado de string Nowdoc
  • Example#78 - Ejemplo de datos estáticos
  • Example#79 - Ejemplo de sintaxis simple
  • Example#80 - Algunos ejemplos de cadenas
  • Example#81 - Diferencias entre PHP 5.3 y PHP 5.4
  • Example#82 - Un array simple
  • Example#83 - Ejemplo de moldeado de tipo y sobrescritura
  • Example#84 - Claves mixtas integer y string
  • Example#85 - Arrays indexados sin clave
  • Example#86 - Claves no en todos los elementos
  • Example#87 - Acceso a elementos de array
  • Example#88 - Hacer referencia al resultado array de funciones
  • Example#89 - Uso de array()
  • Example#90 - Colección
  • Example#91 - Cambiando elemento en el bucle
  • Example#92 - Índice con base 1
  • Example#93 - Llenado de un array
  • Example#94 - Ordenado de un array
  • Example#95 - Arrays recursivos y multi-dimensionales
  • Example#96 - Ejemplos de funciones de llamadas de retorno
  • Example#97 - Ejemplo de llamada de retorno utilizando una clausura
  • Example#98 - Valores predeterminados en variables sin inicializar
  • Example#99 - Uso de global
  • Example#100 - Uso de $GLOBALS en lugar de global
  • Example#101 - Ejemplo que demuestra las superglobales y el ámbito
  • Example#102 - Ejemplo que demuestra la necesidad de variables estáticas
  • Example#103 - Ejemplo del uso de variables estáticas
  • Example#104 - Variables estáticas con funciones recursivas
  • Example#105 - Declaración de variables estáticas
  • Example#106 - Ejemplo de propiedad variable
  • Example#107 - Variables de formulario simples
  • Example#108 - Acceso a datos de un formulario simple HTML POST
  • Example#109 - Variables de formulario más complejas
  • Example#110 - Un ejemplo de setcookie
  • Example#111 - Nombres de constantes correctos e incorrectos
  • Example#112 - Definiendo constantes
  • Example#113 - Definiendo constantes usando el keyword const
  • Example#114 - Asociatividad
  • Example#115 - Orden de evaluación no definido
  • Example#116 - Asignación por referencia
  • Example#117 - Operaciones AND, OR y XOR bit a bit sobre integers
  • Example#118 - Operaciones XOR bit a bit sobre strings
  • Example#119 - Desplazamiento de bits sobre integers
  • Example#120 - Comparación boolean/null
  • Example#121 - Transcripción de la comparación estándar de arrays
  • Example#122 - Asignación de un valor predeterminado
  • Example#123 - Comportamiento Ternario poco obvio
  • Example#124 - Operaciones aritméticas sobre variables de caracteres
  • Example#125 - Los operadores lógicos ilustrados
  • Example#126 - Comparando arrays
  • Example#127 - Utilizando instanceof con clases
  • Example#128 - Utilizando instanceof con clases heredadas
  • Example#129 - Utilizando instanceof para verificar si un objeto no es una instancia de una clase
  • Example#130 - Utilizando instanceof para la clase
  • Example#131 - Utilizando instanceof con otras variables
  • Example#132 - Usar instanceof para comprobar otras variables
  • Example#133 - Evitando búsquedas del nombre de clase y errores fatales con instanceof en PHP 5.0
  • Example#134 - Estructura switch
  • Example#135 - Estrutura switch permite el uso de strings
  • Example#136 - Ejemplo de uso del tick
  • Example#137 - Ejemplo de uso de ticks
  • Example#138 - Declarando un encoding para el script
  • Example#139 - Ejemplo básico de include
  • Example#140 - Incluyendo dentro de funciones
  • Example#141 - include por medio de HTTP
  • Example#142 - Comparando el valor de retorno de include
  • Example#143 - include y la sentencia return
  • Example#144 - Usando buffering de salida para incluir un archivo PHP dentro de una cadena
  • Example#145 - include_once con un SO insensible a mayúsculas y minúsculas en PHP 4
  • Example#146 - Ejemplo de goto
  • Example#147 - Ejemplo de goto en un bucle
  • Example#148 - Esto no funcionará
  • Example#149 - Pseudo código para demostrar el uso de funciones
  • Example#150 - Funciones condicionales
  • Example#151 - Funciones dentro de funciones
  • Example#152 - Funciones recursivas
  • Example#153 - Pasar arrays a funciones
  • Example#154 - Pasar parámetros de una función por referencia
  • Example#155 - Uso de parámetros predeterminados en funciones
  • Example#156 - Usar tipos no escalares como valores predeterminados
  • Example#157 - Uso incorrecto de argumentos predeterminados en una función
  • Example#158 - Uso correcto de argumentos predeterminados en una función
  • Example#159 - Uso de return
  • Example#160 - Devolver un array para obtener múltiples valores
  • Example#161 - Devolver una referencia desde una función
  • Example#162 - Ejemplo de función variable
  • Example#163 - Ejemplo de método variable
  • Example#164 - Ejemplo de método variable con propiedades estáticas
  • Example#165 - Ejemplo de función anónima
  • Example#166 - Ejemplo de asignación de variable de una función anónima
  • Example#167 - Clausuras y ámbito
  • Example#168 - Definición simple de una clase
  • Example#169 - Algunos ejemplo de la pseudo-variable $this
  • Example#170 - Creación de una instancia
  • Example#171 - Asignación de objetos
  • Example#172 - Creando nuevos objetos
  • Example#173 - Herencia simple de clases
  • Example#174 - Resolución de nombres de clases
  • Example#175 - Declaración de propiedades
  • Example#176 - Ejemplo del uso de nowdoc para inicializar una propiedad
  • Example#177 - Definición y uso de una constante
  • Example#178 - Ejemplo de datos estáticos
  • Example#179 - Ejemplo de autocarga
  • Example#180 - Otro ejemplo de autocarga
  • Example#181 - Autocarga con manejo de excepciones para 5.3.0+
  • Example#182 - Autocarga con manejo de excepciones para 5.3.0+ - Excepción personalizada ausente
  • Example#183 - Utilización de nuevos constructores unificados
  • Example#184 - Constructores en clases pertenecientes a un nombre de espacios
  • Example#185 - Ejemplo de Destructor
  • Example#186 - Declaración de propiedades
  • Example#187 - Declaración de métodos
  • Example#188 - Accediendo a miembros private del mismo tipo de objeto
  • Example#189 - Ejemplo de herencia
  • Example#190 - :: desde el exterior de la definición de la clase
  • Example#191 - :: desde el interior de la definición de la clase
  • Example#192 - Invocando a un método parent
  • Example#193 - Ejemplo de propiedad estática
  • Example#194 - Ejemplo de método estático
  • Example#195 - Ejemplo de clase abstracta
  • Example#196 - Ejemplo de clase abstracta
  • Example#197 - Ejemplo de interfaz
  • Example#198 - Interfaces extensibles
  • Example#199 - Herencia múltiple de interfaces
  • Example#200 - Interfaces con constantes
  • Example#201 - Ejemplo de trait
  • Example#202 - Ejemplo de Orden de Precedencia
  • Example#203 - Ejemplo de Orden de Precedencia #2
  • Example#204 - Uso de Múltiples Traits
  • Example#205 - Resolución de Conflictos
  • Example#206 - Modificar la Visibilidad de un Método
  • Example#207 - Traits compuestos de traits
  • Example#208 - Expresar Resquisitos con Métodos Abstractos
  • Example#209 - Variables estáticas
  • Example#210 - Métodos Estáticos
  • Example#211 - Definir Propiedades
  • Example#212 - Resolución de Conflictos
  • Example#213 - Sobrecarga de propiedades mediante los métodos __get(), __set(), __isset() y __unset()
  • Example#214 - Sobrecarga de métodos mediante los métodos __call() and __callStatic()
  • Example#215 - Iteración simple de objeto
  • Example#216 - Iteración de objeto implementando Iterator
  • Example#217 - Iteración de objeto implementando IteratorAggregate
  • Example#218 - Sleep y wakeup
  • Example#219 - Ejemplo simple
  • Example#220 - Uso de __invoke()
  • Example#221 - Uso de __set_state() (desde PHP 5.1.0)
  • Example#222 - Ejemplo de métodos Final
  • Example#223 - Ejemplo de clase Final
  • Example#224 - Clonación de un objeto
  • Example#225 - Ejemplo de comparación de objetos en PHP 5
  • Example#226 - Ejemplos de Implicación de Tipos
  • Example#227 - Uso de self::
  • Example#228 - Uso básico de static::
  • Example#229 - Uso de static:: en un contexto no estático
  • Example#230 - Llamadas que propagan y que no propagan
  • Example#231 - Referencias y Objetos
  • Example#232 - Ejemplo de sintaxis de espacios de nombres
  • Example#233 - Declarar un único espacio de nombres
  • Example#234 - Declarar un único espacio de nombres
  • Example#235 - Declarar un único espacio de nombres con jerarquía
  • Example#236 - Declarar múltiples espacios de nombres, sintaxis de combinación simple
  • Example#237 - Declarar múltiples espacios de nombres, sintaxis de llaves
  • Example#238 - Declarar múltiples espacios de nombres y código que no es de espacio de nombres
  • Example#239 - Declarar múltiples espacios de nombres y código que no es de espacio de nombres
  • Example#240 - Acceder a clases, funciones y constantes globales desde un espacio de nombres
  • Example#241 - Acceder dinámicamente a elementos
  • Example#242 - Acceder dinámicamente a elementos de un espacio de nombres
  • Example#243 - Ejemplo de __NAMESPACE__, código de espacio de nombres
  • Example#244 - Ejemplo de __NAMESPACE__, código global
  • Example#245 - usar __NAMESPACE__ para la construcción dinámica de nombres
  • Example#246 - El operador namespace, dentro de un espacio de nombres
  • Example#247 - El operador namespace, en código global
  • Example#248 - Importar/apodar con el operador use
  • Example#249 - Importar/apodar con el operador use, múltiples sentencias use combinadas
  • Example#250 - La importación y los nombres dinámicos
  • Example#251 - La importación y los nombres completamente cualificados
  • Example#252 - Regla de importación ilegal
  • Example#253 - Usar la especificación de espacio global
  • Example#254 - Acceder a clases globales dentro de un espacio de nombres
  • Example#255 - Recurrir a funciones/constantes globales dentro de un espacio de nombres
  • Example#256 - Las resoluciones de nombres ilustradas
  • Example#257 - Acceder a clases globales fuera de un espacio de nombres
  • Example#258 - Acceder a clases globales fuera de un espacio de nombres
  • Example#259 - Acceder a clases internas en espacios de nombres
  • Example#260 - Acceder a clases, funciones o constantes internas en un espacio de nombres
  • Example#261 - Nombres Completamente Cualificados
  • Example#262 - Nombres Cualificados
  • Example#263 - Nombres de clases no cualificados
  • Example#264 - Nombres de funciones o constantes no cualificados
  • Example#265 - Peligros de usar nombres de espacios de nombres dentro de una cadena entre comillas dobles
  • Example#266 - Constantes no definidas
  • Example#267 - Constantes no definidas
  • Example#268 - Lanzar una Excepción
  • Example#269 - Manejo de excepciones con un bloque finally
  • Example#270 - Excepciones Anidadas
  • Example#271 - La clase Exception Interna
  • Example#272 - Extender la clase Exception (PHP 5.3.0+)
  • Example#273 - Implementando range como generador
  • Example#274 - Ejemplo sencillo de facilitar valores con yield
  • Example#275 - Facilitar un par clave-valor
  • Example#276 - Yielding NULLs
  • Example#277 - Facilitar valores por referencia
  • Example#278 - Usar referencias con variables no definidas
  • Example#279 - Refenciar variables globales dentro de funciones
  • Example#280 - Referencias y la sentencia foreach
  • Example#281 - Ejemplo de $GLOBALS
  • Example#282 - Ejemplo de $_SERVER
  • Example#283 - Ejemplo de $_GET
  • Example#284 - Ejemplo de $_POST
  • Example#285 - Ejemplo de $_ENV
  • Example#286 - Ejemplo de $_COOKIE
  • Example#287 - Ejemplo de $php_errormsg
  • Example#288 - Ejemplo de $http_response_header
  • Example#289 - Ejemplo de $argc
  • Example#290 - Ejemplo de $argv
  • Example#291 - Ejemplo de Exception::getMessage
  • Example#292 - Ejemplo de Exception::getPrevious
  • Example#293 - Ejemplo de Exception::getCode
  • Example#294 - Ejemplo de Exception::getFile
  • Example#295 - Ejemplo de Exception::getLine
  • Example#296 - Exception::getTrace example
  • Example#297 - Ejemplo de Exception::getTraceAsString
  • Example#298 - Ejemplo de Exception::__toString
  • Example#299 - Use set_error_handler para convertir mensajes de error en objetos ErrorException.
  • Example#300 - Ejemplo de ErrorException::getSeverity
  • Example#301 - Uso básico
  • Example#302 - Uso básico
  • Example#303 - Uso básico
  • Example#304 - Ejemplo de ArrayAccess::offsetExists
  • Example#305 - Uso básico
  • Example#306 - Ejemplo de Closure::bind
  • Example#307 - Ejemplo de Closure::bindTo
  • Example#308 - Using Generator::send to inject values
  • Example#309 - Throwing an exception into a generator
  • Example#310 - Ejemplo de uso básico de bindto
  • Example#311 - Captura una página y envía datos POST
  • Example#312 - Ignora las redirecciones per captura las cabeceras y el contenido
  • Example#313 - Obtener una página y enviar datos POST
  • Example#314 - Detectar la URL en la que se finaliza tras las redirecciones
  • Example#315 - php://temp/maxmemory
  • Example#316 - php://filter/resource=<flujo a filtrar>
  • Example#317 - php://filter/read=<lista de filtros a aplicar a la cadena de lectura>
  • Example#318 - php://filter/write=<lista de filtros a aplicar a la cadena de escritura>
  • Example#319 - Mostrar contenidos de data://
  • Example#320 - Obtener el Tipo de Medio
  • Example#321 - Uso básico
  • Example#322 - Abriendo un flujo a partir de una conexión activa
  • Example#323 - ¡La variable $session debe permanecer disponible!
  • Example#324 - Recorriendo un archivo RAR
  • Example#325 - Abriendo un fichero encriptado (encriptación de cabeceras)
  • Example#326 - Un control pobre puede llevar a ....
  • Example#327 - ... Un ataque al sistema de archivos
  • Example#328 - Comprobación más segura del nombre de archivo
  • Example#329 - Comprobación más segura del nombre de archivo
  • Example#330 - Script vulnerable a bytes nulos
  • Example#331 - Validando correctamente la entrada
  • Example#332 - Utilizando campos de contraseña con hash
  • Example#333 - Dividiendo el conjunto de resultados en páginas ... y haciendo super usuarios (PostgreSQL)
  • Example#334 - Listando nuestros artículos ... y algunas contraseñas (de cualquier servidor de base de datos)
  • Example#335 - Desde re-establecer una contraseña ... hasta ganar más privilegios (en cualquier servidor de bases de datos)
  • Example#336 - Atacando el sistema operativo que hospeda la base de datos (Servidor MSSQL)
  • Example#337 - Una forma más segura de redactar una consulta para paginación
  • Example#338 - Atacando variables con una página HTML personalizada
  • Example#339 - Explotando variables comunes de depuración
  • Example#340 - Buscando variables peligrosas con E_ALL
  • Example#341 - Ejemplo de uso incorrecto con register_globals = on
  • Example#342 - Ejemplo de uso de sesiones con register_globals on u off
  • Example#343 - Detección de envenenamiento simple de variables
  • Example#344 - Uso Peligroso de Variables
  • Example#345 - Deshabilitar comillas mágicas en el servidor
  • Example#346 - Deshabilitar las comillas mágicas en tiempo de ejecución
  • Example#347 - Ocultando PHP como si fuera otro lenguaje
  • Example#348 - Utilizando tipos desconocidos para extensiones de PHP
  • Example#349 - Utilizando tipos HTML para extensiones de PHP
  • Example#350 - Ejemplo de Autenticación HTTP Basic
  • Example#351 - Ejemplo de Autenticación HTTP Digest
  • Example#352 - Ejemplo de Autenticación HTTP forzando a un nuevo usuario/password
  • Example#353 - Un formulario simple de búsqueda con XForms
  • Example#354 - Usando un Xform para rellenar $_POST
  • Example#355 - Formulario para la carga de archivos
  • Example#356 - Validación de la carga de archivos
  • Example#357 - Cargando un array de archivos
  • Example#358 - Subida de múltiples archivos
  • Example#359 - Guardando archivos HTTP PUT
  • Example#360 - Obteniendo el titulo de una página remota
  • Example#361 - Almacenando datos en un servidor remoto
  • Example#362 - Ejemplo que muestra las diferencias respecto a CGI SAPI:
  • Example#363 -
  • Example#364 - Muestra los módulos PHP y Zend incorporados (y habilitados)
  • Example#365 - Obteniendo un error sintáctico usando comillas dobles
  • Example#366 - Usando comillas simples para prevenir la sustitución de variables de la consola
  • Example#367 - Usando las opciones -B, -R y -E para contar el número de líneas de un proyecto.
  • Example#368 - Al usar -v obtenemos el nombre de la SAPI y la versión de PHP y Zend
  • Example#369 - Ejemplo de --ini
  • Example#370 - Uso básico de --rf
  • Example#371 - Ejemplo de --rc
  • Example#372 - Ejemplo de --re
  • Example#373 - Ejemplo de --ri
  • Example#374 - Ejecutando un script PHP como un script de consola
  • Example#375 - Script destinado a ejecutarse desde la línea de comandos (script.php)
  • Example#376 - Fichero por lotes para ejecutar un script PHP en línea de comandos (script.bat)
  • Example#377 - Ejecutando código desde la consola interactiva
  • Example#378 - Autocompletado con el tabulador
  • Example#379 - Estableciendo configuraciones de php.ini en la shell interactiva
  • Example#380 - Iniciando el servidor web
  • Example#381 - Iniciando con una raíz de documentos específica
  • Example#382 - Utilizando un Script enrutador
  • Example#383 - Revisión del uso de la CLI del servidor web
  • Example#384 - Manejando tipos de ficheros no soportados
  • Example#385 - Accediendo a la CLI del servidor web desde máquinas remotas
  • Example#386 - Creación de un nuevo contenedor zval
  • Example#387 - Mostrar información zval
  • Example#388 - Incremento del refcount de zval
  • Example#389 - Decremento del refcount de zval
  • Example#390 - Creando un zval de tipo array
  • Example#391 - Añadiendo un elemento existente a un array
  • Example#392 - Eliminar un elemento de un array
  • Example#393 - Añadiendo al propio array como elemento de sí mismo
  • Example#394 - Eliminando $a
  • Example#395 - Ejemplo de uso de memoria
  • Example#396 - Influencia en rendimiento de Recolector de Basuras
  • Example#397 - Ejecutando el script anterior
  • Example#398 - Recompilando PHP para habilitar el análisis del Recolector de Basuras
  • Example#399 - Estadísticas de Recolección de Basuras
  • Example#400 - all_probes.d para monitorizar todos los Śondeos Estáticos en PHP con DTrace
  • Example#401 - all_probes.stp para monitorizar todas los Sondeos Estáticos de PHP con SystemTap
  • Example#402 - Un ejemplo de apc.rfc1867
  • Example#403 - Un ejemplo de apc_add
  • Example#404 - Ejemplo de apc_bin_load
  • Example#405 - Un ejemplo de apc_cache_info
  • Example#406 - Ejemplo de apc_cas
  • Example#407 - Ejemplo de apc_dec
  • Example#408 - Ejemplo de apc_define_constants
  • Example#409 - Ejemplo de apc_delete_file
  • Example#410 - Un ejemplo apc_delete
  • Example#411 - Ejemplo de apc_exists
  • Example#412 - Un ejemplo de apc_fetch
  • Example#413 - Ejemplo de apc_inc
  • Example#414 - Ejemplo de apc_load_constants
  • Example#415 - Un ejemplo de apc_sma_info
  • Example#416 - Un ejemplo de apc_store
  • Example#417 - Ejemplo de APCIterator::__construct
  • Example#418 - Sesión típica usando tcplisten
  • Example#419 - apd_callstack ejemplo
  • Example#420 - apd_clunk ejemplo
  • Example#421 - apd_continue ejemplo
  • Example#422 - apd_croak ejemplo
  • Example#423 - apd_dump_function_table ejemplo
  • Example#424 - apd_dump_persistent_resources ejemplo
  • Example#425 - apd_dump_regular_resources ejemplo
  • Example#426 - apd_echo ejemplo
  • Example#427 - apd_get_active_symbols ejemplo
  • Example#428 - apd_set_pprof_trace ejemplo
  • Example#429 - apd_set_session_trace_socket ejemplo
  • Example#430 - apd_set_session_trace ejemplo
  • Example#431 - apd_set_session ejemplo
  • Example#432 - override_function ejemplo
  • Example#433 - rename_function ejemplo
  • Example#434 - Ejemplo de bcompiler_load_exe
  • Example#435 - Ejemplo de bcompiler_load
  • Example#436 - Ejemplo de bcompiler_parse_class
  • Example#437 - Ejemplo de bcompiler_read
  • Example#438 - Ejemplo de bcompiler_write_class
  • Example#439 - Ejemplo de bcompiler_write_constant
  • Example#440 - Ejemplo de bcompiler_write_exe_footer
  • Example#441 - Ejemplo de bcompiler_write_file
  • Example#442 - Ejemplo de bcompiler_write_footer
  • Example#443 - Ejemplo de bcompiler_write_function
  • Example#444 - Ejemplo de bcompiler_write_functions_from_file
  • Example#445 - Ejemplo de bcompiler_write_header
  • Example#446 - Ejemplo con blenc_encrypt
  • Example#447 - Usar el manejo de errores en un script
  • Example#448 - Ejemplo de debug_backtrace
  • Example#449 - Ejemplo de debug_print_backtrace
  • Example#450 - Un ejemplo de error_get_last
  • Example#451 - Ejemplos de error_log
  • Example#452 - Ejemplos de error_reporting
  • Example#453 - Ejemplo de restore_error_handler
  • Example#454 - Ejemplo de restore_exception_handler
  • Example#455 - Manejo de errores con set_error_handler y trigger_error
  • Example#456 - Ejemplo de set_exception_handler
  • Example#457 - Ejemplo de trigger_error
  • Example#458 - Obtener la información dentro de la aplicación misma de PHP (función)
  • Example#459 - Ejemplo de uso de gengraph.php
  • Example#460 - Listar información mediante volcados (configuración)
  • Example#461 - Ejemplo de inclued_get_data
  • Example#462 - Crear una matriz grande en una función
  • Example#463 - Ejemplo de Control de la salida
  • Example#464 - Ejemplo de ob_end_clean
  • Example#465 - Ejemplo de ob_end_flush
  • Example#466 - Un ejemplo sencillo de ob_get_clean
  • Example#467 - Un ejemplo sencillo de ob_get_contents
  • Example#468 - Ejemplo de ob_get_flush
  • Example#469 - Un ejemplo sencillo de ob_get_length
  • Example#470 - Ejemplo de ob_gzhandler
  • Example#471 - Ejemplo de ob_list_handlers
  • Example#472 - Ejemplo de una función de llamada de retorno definida por el usuario
  • Example#473 - Crear un búfer de salida imborrable de forma compatible con PHP 5.3 y 5.4
  • Example#474 - Ejemplo de output_add_rewrite_var
  • Example#475 - Ejemplo de output_reset_rewrite_vars
  • Example#476 - Ejemplo de assert_options
  • Example#477 - Handle a failed assertion with a custom handler
  • Example#478 - Using a custom handler to print a description
  • Example#479 - cli_get_process_title example
  • Example#480 - cli_set_process_title example
  • Example#481 - Ejemplos de dl
  • Example#482 - Ejemplo de extension_loaded
  • Example#483 - Ejemplo de gc_enabled
  • Example#484 - get_current_user ejemplo
  • Example#485 - Ejemplo de get_defined_constants
  • Example#486 - Imprime las funciones XML
  • Example#487 - Ejemplo de get_include_path
  • Example#488 - Ejemplo de get_included_files
  • Example#489 - get_loaded_extensions
  • Example#490 - Ejemplo de get_magic_quotes_gpc
  • Example#491 - get_magic_quotes_runtime ejemplo
  • Example#492 - Ejemplo de getenv
  • Example#493 - Ejemplo de getlastmod
  • Example#494 - Ejemplo de getopt
  • Example#495 - Ejemplo 2 de getopt
  • Example#496 - Ejemplo 3 de getopt
  • Example#497 - getrusage ejemplo
  • Example#498 - ini_get_all ejemplos
  • Example#499 - Disabling details
  • Example#500 - Unos cuantos ejemplos de la función ini_get
  • Example#501 - ini_restore ejemplo
  • Example#502 - Establece una opción ini
  • Example#503 - A memory_get_usage ejemplo
  • Example#504 - php_ini_loaded_file ejemplo
  • Example#505 - Un ejemplo simple para listar los archivos ini devueltos
  • Example#506 - Ejemplo de php_logo_guid
  • Example#507 - Ejemplo de php_sapi_name
  • Example#508 - Algúnos ejemplos de php_uname
  • Example#509 - Algunos ejemplos de las constantes relacionadas al SO
  • Example#510 - Imprimir los créditos generales
  • Example#511 - Imprimir los desarrolladores principales y el grupo de documentación
  • Example#512 - Imprimir todos los créditos
  • Example#513 - Ejemplo de phpinfo
  • Example#514 - phpversion Ejemplo básico
  • Example#515 - PHP_VERSION_ID Ejemplo y uso
  • Example#516 - Definición de una variable de entorno
  • Example#517 - Ejemplo de restore_include_path
  • Example#518 - Ejemplo de set_include_path
  • Example#519 - Añadir a la ruta de inclusión
  • Example#520 - set_magic_quotes_runtime ejemplo
  • Example#521 - sys_get_temp_dir example
  • Example#522 - Ejemplos de version_compare
  • Example#523 - Ejemplo de zend_logo_guid
  • Example#524 - Ejemplo de zend_thread_id
  • Example#525 - Ejemplo de zend_version
  • Example#526 - Superglobales personalizadas con runkit.superglobal=_FOO,_BAR en php.ini
  • Example#527 - Instanciar un entorno de aislamiento de procesos (sandbox) restringido
  • Example#528 - Trabajar con variables en un entorno de aislamiento de procesos (sandbox)
  • Example#529 - Llamar a funciones del aislamiento de procesos
  • Example#530 - Pasar agumentos a las funciones del aislamiento de procesos
  • Example#531 - Trabajar con variables en un aislamiento de procesos (sandbox)
  • Example#532 - Acceder a las varibales padre
  • Example#533 - Un ejemplo de runkit_class_adopt
  • Example#534 - Un ejemplo de runkit_class_emancipate
  • Example#535 - Un ejemplo de runkit_function_add
  • Example#536 - Un ejemplo de runkit_function_copy
  • Example#537 - Un ejemplo de runkit_function_redefine
  • Example#538 - Ejemplo de runkit_method_add
  • Example#539 - Ejemplo de runkit_method_copy
  • Example#540 - Ejemplo de runkit_method_redefine
  • Example#541 - Ejemplo de runkit_method_remove
  • Example#542 - Ejemplo derunkit_method_rename
  • Example#543 - Ejemplo de runkit_return_value_used
  • Example#544 - Introducir la salida en una variable
  • Example#545 - Activando y desactivando scream en tiempo de ejecución
  • Example#546 - Ejemplo de uso de Weakref
  • Example#547 - Ejemplo de uso de WeakRef
  • Example#548 - Ejemplo de Weakref::acquire
  • Example#549 - Ejemplo de acquire/release anidados
  • Example#550 - Ejemplo de Weakref::__construct
  • Example#551 - Ejemplo de Weakref::release
  • Example#552 - Ejemplo de uso de Weakmap
  • Example#553 - wincache.ignorelist example
  • Example#554 - Authentication configuration for wincache.php
  • Example#555 - Enabling WinCache session handler
  • Example#556 - Enabling WinCache functions reroutes
  • Example#557 - Reroute.ini file content
  • Example#558 - A wincache_fcache_fileinfo example
  • Example#559 - Un ejemplo de wincache_fcache_meminfo
  • Example#560 - Using wincache_lock
  • Example#561 - A wincache_ocache_fileinfo example
  • Example#562 - A wincache_ocache_meminfo example
  • Example#563 - A wincache_refresh_if_changed example
  • Example#564 - A wincache_rplist_fileinfo example
  • Example#565 - A wincache_rplist_meminfo example
  • Example#566 - A wincache_scache_info example
  • Example#567 - Ejemplo de wincache_scache_meminfo
  • Example#568 - wincache_ucache_add with key as a string
  • Example#569 - wincache_ucache_add with key as an array
  • Example#570 - Usando wincache_ucache_cas
  • Example#571 - Usando wincache_ucache_clear
  • Example#572 - Usando wincache_ucache_dec
  • Example#573 - Usando wincache_ucache_delete con key como un string
  • Example#574 - Usingwincache_ucache_delete con key como un array
  • Example#575 - Using wincache_ucache_delete con key como un array donde algunos elementos no se pueden eliminar
  • Example#576 - Usando wincache_ucache_exists
  • Example#577 - wincache_ucache_get con key como un string
  • Example#578 - wincache_ucache_get con key como un array
  • Example#579 - Usando wincache_ucache_inc
  • Example#580 - Usar wincache_ucache_info
  • Example#581 - Ejemplo de wincache_ucache_meminfo
  • Example#582 - wincache_ucache_set with key as a string
  • Example#583 - wincache_ucache_set with key as an array
  • Example#584 - Usar wincache_unlock
  • Example#585 - Ejemplo Xhprof con interfaz gráfica de usuario opcional
  • Example#586 - xhprof_disable ejemplo
  • Example#587 - Ejemplos de xhprof_enable
  • Example#588 - Ejemplo de xhprof_sample_disable
  • Example#589 - Ejemplo de id3_get_frame_long_name
  • Example#590 - Ejemplo de id3_get_frame_short_name
  • Example#591 - Ejemplo de id3_get_genre_id
  • Example#592 - Ejemplo de id3_get_genre_list
  • Example#593 - Ejemplo de id3_get_genre_name
  • Example#594 - Ejemplo de id3_get_tag
  • Example#595 - Ejemplo de id3_get_tag
  • Example#596 - Ejemplo de id3_get_version
  • Example#597 - Ejemplo de id3_remove_tag
  • Example#598 - Ejemplo de id3_set_tag
  • Example#599 - Abre un fichero MP3 nuevo y lee el título
  • Example#600 - Leer un fichero OGG/Vorbis
  • Example#601 - Codificar un fichero de audio a OGG/Vorbis
  • Example#602 -
  • Example#603 - Example of changing principal's password
  • Example#604 - Example of principal's creation
  • Example#605 - kadm5_delete_principal example
  • Example#606 - kadm5_get_policies example
  • Example#607 - kadm5_get_principal example
  • Example#608 - kadm5_get_principals example
  • Example#609 - KADM5 initialization example
  • Example#610 - Example of modifying principal
  • Example#611 - Using CHAP passwords
  • Example#612 - radius_acct_open example
  • Example#613 - radius_add_server example
  • Example#614 - Ejemplo de radius_auth_open
  • Example#615 - radius_create_request example
  • Example#616 - radius_cvt_addr example
  • Example#617 - radius_cvt_int example
  • Example#618 - radius_cvt_string example
  • Example#619 - radius_get_attr example
  • Example#620 - radius_get_tagged_attr_data example
  • Example#621 - radius_get_tagged_attr_tag example
  • Example#622 - radius_get_vendor_attr example
  • Example#623 - radius_put_attr example
  • Example#624 - radius_put_int example
  • Example#625 - radius_put_string example
  • Example#626 - radius_put_vendor_attr example
  • Example#627 - Writing a string with a specified color to the screen
  • Example#628 - Ejemplo de ncurses_getmouse
  • Example#629 - Escribir una cadena con un color especificado en la pantalla
  • Example#630 - Escrivir una cadena con un color especificado en la pantalla
  • Example#631 - Ejemplo de ncurses_mousemask
  • Example#632 - Writing a string with a specified color to the screen
  • Example#633 - Ejemplo de uso de newt
  • Example#634 - Ejemplo de newt_button
  • Example#635 - Un ejemplo de newt_draw_root_text
  • Example#636 - Un ejemplo de newt_form_add_component
  • Example#637 - Un ejemplo de newt_form_add_components
  • Example#638 - Un ejemplo de newt_form
  • Example#639 - Un ejemplo de newt_get_screen_size
  • Example#640 - A newt_win_entries example
  • Example#641 - Readline Callback Interface Example
  • Example#642 - readline Example
  • Example#643 - Pequeño ejemplo de bzip2
  • Example#644 - Comprimiendo datos
  • Example#645 - Descompresión de un String
  • Example#646 - Ejemplo de bzerror
  • Example#647 - Ejemplo de bzopen
  • Example#648 - ejemplo de bzread
  • Example#649 - Ejemplo de bzwrite
  • Example#650 - Utilizar un fichero externo
  • Example#651 - Utilizar un fichero dentro de un archivo phar
  • Example#652 - Convertir un archivo phar, desde phar al formato de fichero tar
  • Example#653 - phar.extract_list usage example
  • Example#654 - Ejemplo de uso de phar.cache_list
  • Example#655 - Un ejemplo de Phar::addEmptyDir
  • Example#656 - Un ejemplo de Phar::addFile
  • Example#657 - Un ejemplo de Phar::addFromString
  • Example#658 - Un ejemplo de Phar::apiVersion
  • Example#659 - Un ejemplo de Phar::buildFromDirectory
  • Example#660 - Un ejemplo de Phar::buildFromIterator con SplFileInfo
  • Example#661 - Un ejemplo de Phar::buildFromIterator con otros iteradores
  • Example#662 - Un ejemplo de Phar::canCompress
  • Example#663 - Un ejemplo de Phar::canWrite
  • Example#664 - Un ejemplo de Phar::compress
  • Example#665 - Un ejemplo de Phar::compressAllFilesBZIP2
  • Example#666 - Un ejemplo de Phar::compressAllFilesGZ
  • Example#667 - Un ejemplo de Phar::compressFiles
  • Example#668 - Un ejemplo de Phar::__construct
  • Example#669 - Un ejemplo de Phar::convertToData
  • Example#670 - Un ejemplo de Phar::convertToExecutable
  • Example#671 - Un ejemplo de Phar::copy
  • Example#672 - Phar::count ejemplo
  • Example#673 - Un ejemplo de Phar::createDefaultStub
  • Example#674 - Un ejemplo de Phar::decompress
  • Example#675 - Un ejemplo de Phar::decompressFiles
  • Example#676 - Un ejemplo de Phar::delMetaData
  • Example#677 - Un ejemplo de Phar::delete
  • Example#678 - Un ejemplo de Phar::extractTo
  • Example#679 - Un ejemplo de Phar::getMetadata
  • Example#680 - Un ejemplo de Phar::getStub
  • Example#681 - Un ejemplo de Phar::hasMetadata
  • Example#682 - Un ejemplo de Phar::interceptFileFuncs
  • Example#683 - Un ejemplo de Phar::interceptFileFuncs
  • Example#684 - Un ejemplo de Phar::isBuffering
  • Example#685 - Un ejemplo de Phar::isCompressed
  • Example#686 - Un ejemplo de Phar::loadPhar
  • Example#687 - Un ejemplo de Phar::mapPhar
  • Example#688 - Un ejemplo de Phar::mount
  • Example#689 - Un ejemplo de Phar::mungServer
  • Example#690 - Un ejemplo de Phar::offsetExists
  • Example#691 - Ejemplo de Phar::offsetGet
  • Example#692 - Un ejemplo de Phar::offsetSet
  • Example#693 - Un ejemplo de Phar::offsetUnset
  • Example#694 - Un ejemplo de Phar::running
  • Example#695 - Un ejemplo de Phar::setAlias
  • Example#696 - Un ejemplo de Phar::setDefaultStub
  • Example#697 - Un ejemplo de Phar::setMetadata
  • Example#698 - Un ejemplo de Phar::setStub
  • Example#699 - Un ejemplo de Phar::startBuffering
  • Example#700 - Un ejemplo de Phar::stopBuffering
  • Example#701 - Un ejemplo de Phar::uncompressAllFiles
  • Example#702 - Un ejemplo de Phar::unlinkArchive
  • Example#703 - Un ejemplo de Phar::webPhar
  • Example#704 - Un ejemplo de PharData::addEmptyDir
  • Example#705 - Un ejemplo de PharData::addFile
  • Example#706 - Un ejemplo de PharData::addFromString
  • Example#707 - Un ejemplo de PharData::buildFromDirectory
  • Example#708 - Un ejemplo de PharData::buildFromIterator con SplFileInfo
  • Example#709 - Un ejemplo de PharData::buildFromIterator con otros iteradores
  • Example#710 - Un ejemplo de PharData::compress
  • Example#711 - Un ejemplo de PharData::compressFiles
  • Example#712 - Un ejemplo de PharData::__construct
  • Example#713 - Un ejemplo de PharData::convertToData
  • Example#714 - Un ejemplo de PharData::convertToExecutable
  • Example#715 - Un ejemplo de Phar::copy
  • Example#716 - Un ejemplo de PharData::decompress
  • Example#717 - Un ejemplo de PharData::decompressFiles
  • Example#718 - Un ejemplo de PharData::delMetaData
  • Example#719 - Un ejemplo de PharData::delete
  • Example#720 - Un ejemplo de PharData::extractTo
  • Example#721 - Un ejemplo de PharData::offsetSet
  • Example#722 - Un ejemplo de PharData::offsetUnset
  • Example#723 - Un ejemplo de Phar::setMetadata
  • Example#724 - Un ejemplo de PharFileInfo::chmod
  • Example#725 - Un ejemplo de PharFileInfo::compress
  • Example#726 - Un ejemplo de PharFileInfo::__construct
  • Example#727 - Un ejemplo de PharFileInfo::decompress
  • Example#728 - Un ejemplo de PharFileInfo::delMetaData
  • Example#729 - Un ejemplo de PharFileInfo::getCRC32
  • Example#730 - Un ejemplo de PharFileInfo::getCompressedSize
  • Example#731 - Un ejemplo de PharFileInfo::getMetadata
  • Example#732 - Un ejemplo de PharFileInfo::getPharFlags
  • Example#733 - Un ejemplo de PharFileInfo::isCRCChecked
  • Example#734 - Un ejemplo de PharFileInfo::isCompressed
  • Example#735 - Un ejemplo de PharFileInfo::isCompressedBZIP2
  • Example#736 - Un ejemplo de PharFileInfo::isCompressedGZ
  • Example#737 - Un ejemplo de PharFileInfo::setCompressedBZIP2
  • Example#738 - Un ejemplo de PharFileInfo::setCompressedGZ
  • Example#739 - Un ejemplo de PharFileInfo::setMetadata
  • Example#740 - Un ejemplo de PharFileInfo::setUncompressed
  • Example#741 - Instalación Rar
  • Example#742 - Descompresión "al vuelo"
  • Example#743 - Ejemplo de sistema de extracción de archivos Rar
  • Example#744 - Estilo orientado a objetos
  • Example#745 - Estilo por procedimientos
  • Example#746 - Estilo orientado a objetos
  • Example#747 - Estilo por procedimientos
  • Example#748 - Estilo orientado a objetos
  • Example#749 - Estilo por procedimientos
  • Example#750 - Estilo orientado a objetos
  • Example#751 - Estilo por procedimientos
  • Example#752 - Estilo orientado a objetos
  • Example#753 - Estilo por procedimientos
  • Example#754 - Estilo orientado a objetos
  • Example#755 - Estilo por procedimientos
  • Example#756 - Estilo orientado a objetos
  • Example#757 - Estilo por procedimientos
  • Example#758 - Volume Callback
  • Example#759 - Estilo orientado a objetos
  • Example#760 - Estilo por procedimientos
  • Example#761 - Ejemplo de RarArchive::__toString
  • Example#762 - Ejemplo de RarEntry::extract
  • Example#763 - ¿Cómo extraer todos los archivos en archivo?:
  • Example#764 - Ejemplo de RarEntry::getAttr
  • Example#765 - Ejemplo de RarEntry::getHostOs (version >= 2.0.0)
  • Example#766 - RarEntry::getHostOs example (version <= 1.0.0)
  • Example#767 - Ejemplo de RarEntry::getMethod
  • Example#768 - Ejemplo de RarEntry::getName
  • Example#769 - Ejemplo de RarEntry::getPackedSize
  • Example#770 - Ejemplo de RarEntry::getStream
  • Example#771 - Ejemplo de RarEntry::getUnpackedSize
  • Example#772 - Ejemplo de RarEntry::getVersion
  • Example#773 - Ejemplo de RarException::isUsingExceptions
  • Example#774 - Ejemplo de RarException::setUsingExceptions
  • Example#775 - Crear un fichero Zip
  • Example#776 - Volcar la información del archivo y listarlos
  • Example#777 - Usando contenedor Zip, leer meta info de OpenOffice
  • Example#778 - Ejemplo del uso de Zip
  • Example#779 - Crea un nuevo directorio en un archivo
  • Example#780 - Abrir y extraer
  • Example#781 - Añade una entrada al nuevo fichero
  • Example#782 - Añade un fichero en un directorio dentro de un archivo
  • Example#783 - Ejemplo con ZipArchive::addGlob
  • Example#784 - Ejemplo con ZipArchive::addPattern
  • Example#785 - Elimina el fichero desde el archivo usando su índice
  • Example#786 - Eliminado un fichero y un directorio desde un archivo, usando nombres
  • Example#787 - Extraer todas las entradas
  • Example#788 - Extraer dos entradas
  • Example#789 - Vuelca el comentario del archivo
  • Example#790 - Vuelca el comentario de la entrada
  • Example#791 - Vuelca el comentario de la entrada
  • Example#792 - Obtener el contenido del fichero
  • Example#793 - Obtener el contenido de los ficheros
  • Example#794 - Convierte una imagen desde una entrada de fichero zip
  • Example#795 - Ejemplo de ZipArchive::getNameIndex
  • Example#796 - Obtiene los contenidos de entrada con fread y lo almacena
  • Example#797 - Lo mismo como el ejemplo anterior pero con fopen y el envoltorio de flujo de zip
  • Example#798 - El flujo de envoltorio y la imagen, también pueden ser utilizados con la función xml
  • Example#799 - Crear un archivo y luego utilizarlo con ZipArchive::locateName
  • Example#800 - Abrir y extraer
  • Example#801 - Crear un archivo
  • Example#802 - Renombra una entrada
  • Example#803 - Renombra una entrada
  • Example#804 - Crear un archivo y establecer un comentario
  • Example#805 - Abrir un archivo y establecer un comentario para una entrada
  • Example#806 - Abrir un archivo y establecer un comentario para una entrada
  • Example#807 - Volcar la información estadística de una entrada
  • Example#808 - Volcar la información estadística de una entrada
  • Example#809 - Pequeño Ejemplo de Zlib
  • Example#810 - Ejemplo de gzclose
  • Example#811 - Ejemplo de gzcompress
  • Example#812 - Ejemplo de gzdeflate
  • Example#813 - Creando un archivo gzip
  • Example#814 - Ejemplo de gzeof
  • Example#815 - Ejemplo de gzfile
  • Example#816 - Ejemplo de gzgetc
  • Example#817 - Ejemplo de gzgets
  • Example#818 - Ejemplo de gzgetss
  • Example#819 - Ejemplo de gzinflate
  • Example#820 - Ejemplo de gzopen
  • Example#821 - Ejemplo de gzpassthru
  • Example#822 - Ejemplo de gzread
  • Example#823 - Ejamplo de gzseek
  • Example#824 - Ejemplo de gzuncompress
  • Example#825 - Ejemplo de gzwrite
  • Example#826 - Ejemplo CrackLib
  • Example#827 - hash_algos ejemplo
  • Example#828 - Ejemplo de hash_copy
  • Example#829 - Usando hash_file
  • Example#830 - Ejemplo de hash_final
  • Example#831 - Ejemplo de hash_hmac_file
  • Example#832 - hash_hmac example
  • Example#833 - Ejemplo de contexto incremental para cifrado
  • Example#834 - Ejemplo de uso básico de hash_pbkdf2
  • Example#835 - Ejemplo de hash_update_stream
  • Example#836 - Un ejemplo de hash
  • Example#837 - Cifrar un valor de entrada con TripleDES bajo 2.4.x y superiores en modo ECB
  • Example#838 - Ejemplo de mcrypt_create_iv
  • Example#839 - Ejemplo de mcrypt_enc_get_algorithms_name
  • Example#840 - Ejemplo de mcrypt_enc_get_modes_name
  • Example#841 - Ejemplo de mcrypt_enc_get_supported_key_sizes
  • Example#842 - Ejemplo de mcrypt_encrypt
  • Example#843 - Ejemplo de mcrypt_get_block_size
  • Example#844 - Ejemplo de mcrypt_get_cipher_name
  • Example#845 - Ejemplo de mcrypt_get_iv_size
  • Example#846 - Ejemplo de mcrypt_get_key_size
  • Example#847 - Ejemplo de mcrypt_list_algorithms
  • Example#848 - Ejemplo de mcrypt_list_modes
  • Example#849 - Ejemplo de mcrypt_module_open
  • Example#850 - Utilizando mcrypt_module_open en el proceso de cifrado
  • Example#851 - Ejemplo de mcrypt_module_self_test
  • Example#852 - Ejemplo de mdecrypt_generic
  • Example#853 - Calcula el MD5 y el hmac, y lo imprime como hexadecimal
  • Example#854 - Atravesando todos los hash
  • Example#855 - Ejemplo de mhash_get_block_size
  • Example#856 - Ejemplo de mhash_get_hash_name
  • Example#857 - Ejemplo de openssl_cipher_iv_length
  • Example#858 - Crear un certificado autofirmado
  • Example#859 - Ejemplo de openssl_csr_sign - firmar una CSR (cómo implementar su propia AC)
  • Example#860 - Ejemplo de openssl_error_string
  • Example#861 - Ejemplo de openssl_get_cipher_methods
  • Example#862 - Ejemplo de openssl_get_md_methods
  • Example#863 - Ejemplo de openssl_open
  • Example#864 - Ejemplo de openssl_pkcs7_decrypt
  • Example#865 - Ejemplo de openssl_pkcs7_encrypt
  • Example#866 - Ejemplo de openssl_pkcs7_sign
  • Example#867 - Ejemplo de openssl_random_pseudo_bytes
  • Example#868 - Ejemplo de openssl_seal
  • Example#869 - Ejemplo de openssl_sign
  • Example#870 - Ejemplo de openssl_verify
  • Example#871 - Ejemplo de password_hash
  • Example#872 - Ejemplo de password_hash estableciendo el coste manualmente
  • Example#873 - Ejemplo de password_hash estableciendo la sal manualmente
  • Example#874 - Ejemplo de password_hash buscando un buen coste
  • Example#875 - Ejemplo de password_verify
  • Example#876 - Ejemplo de DBA
  • Example#877 - Atravesar una base de datos
  • Example#878 - Ejemplo de dba_handlers
  • Example#879 - Ejemplo de dbx_close
  • Example#880 - Ejemplo de dbx_compare
  • Example#881 - Ejemplo de dbx_connect
  • Example#882 - Ejemplo de dbx_error
  • Example#883 - Ejemplo de dbx_escape_string
  • Example#884 - Cómo tratar el valor devuelto
  • Example#885 - listar cada nombre de campo y tipo
  • Example#886 - imprimir el contenido de la propiedad data en una tabla HTML
  • Example#887 - Cómo tratar las consultas UNBUFFERED
  • Example#888 - Cómo tratar el valor devuelto
  • Example#889 - Ejemplo de dbx_sort
  • Example#890 - Conexiones sin DSN
  • Example#891 - Ejemplo de odbc_execute y odbc_prepare
  • Example#892 - Ejemplos de odbc_fetch_into
  • Example#893 - odbc_next_result
  • Example#894 - Ejemplo de odbc_execute y odbc_prepare
  • Example#895 - Ejemplos de odbc_result
  • Example#896 - Ejemplos de odbc_setoption
  • Example#897 - Usar PDO::ATTR_DRIVER_NAME
  • Example#898 - Conectarse a MySQL
  • Example#899 - Manejo de errores de conexión
  • Example#900 - Cerrar una conexión
  • Example#901 - Conexiones persistentes
  • Example#902 - Ejecución de un lote en una transacción
  • Example#903 - Inserciones reiteradas usando sentencias preparadas
  • Example#904 - Inserciones reiteradas usando sentencias preparadas
  • Example#905 - Obtener datos usando sentencias preparadas
  • Example#906 - Llamar a un procedimiento almacenado con un parámetro de salida
  • Example#907 - Llamar a un procedimiento almacenado con un parámetro de entrada/salida
  • Example#908 - Uso inválido de un parámetro de sustitución
  • Example#909 - Crear una instancia de PDO y establecer el modo de error
  • Example#910 - Crear una instancia PDO y establecer el modo de error desde el constructor
  • Example#911 - Mostrar una imagen desde una base de datos
  • Example#912 - Insertar una imagen en una base de datos
  • Example#913 - Insertar una imagen en una base de datos: Oracle
  • Example#914 - Revertir una transacción
  • Example#915 - Consignar una transacción básica
  • Example#916 - Consignar una transacción DDL
  • Example#917 - Crear una instancia PDO a través de una invocación al controlador
  • Example#918 - Crear una instancia PDO a través de una invocación a la URI
  • Example#919 - Crear una instancia de PDO usando un alias
  • Example#920 - Recuperación de un código SQLSTATE
  • Example#921 - Muestra los campos de errorInfo() para una conexión PDO_ODBC a una base de datos DB2
  • Example#922 - Ejecutando una sentencia DELETE
  • Example#923 - Obtiene los atributos de la conexión a la base de datos
  • Example#924 - Un ejemplo de PDO::getAvailableDrivers
  • Example#925 - Prepara una sentencia SQL con parámetros de sustitución nombrados
  • Example#926 - Prepara una sentencia SQL con parámetros de signos de interrogación
  • Example#927 - Demostración de PDO::query
  • Example#928 - Entrecomillar una cadena de caracteres normal
  • Example#929 - Entrecomillar una cadena peligrosa
  • Example#930 - Entrecomillar una cadena compleja
  • Example#931 - Revertir una transacción
  • Example#932 - Vincular la salida de un conjunto de resultados a variables de PHP
  • Example#933 - Ejecutar una sentencia preparada con parámetros de sustitución con nombre
  • Example#934 - Ejecutar una sentencia preparada con parámetros de sustitución de signos de interrogación
  • Example#935 - Llamar a un procedimiento almacenado con un parámetro INOUT
  • Example#936 - Ejecutar una sentencia preparada con parámetros de sustitución con nombre
  • Example#937 - Ejecutar una sentencia preparada con parámetros de sustitución de signos de interrogación
  • Example#938 - Un ejemplo de PDOStatement::closeCursor
  • Example#939 - Contar columnas
  • Example#940 - Ejemplo de PDOStatement::debugDumpParams con parámetros con nombre
  • Example#941 - Ejemplo de PDOStatement::debugDumpParams con parámetros sin nombre
  • Example#942 - Recuperar un código SQLSTATE
  • Example#943 - Mostrar los campos de errorInfo() para una conexión PDO_ODBC a una base de datos de DB2
  • Example#944 - Ejecutar una sentencia preparada con variables vinculadas
  • Example#945 - Ejecutar una sentencia preparada con un array de valores de inserción (parámetros con nombre)
  • Example#946 - Ejecutar una sentencia preparada con un array de valores de inserción (parámetros de sustitución)
  • Example#947 - Ejecutar una senetencia preparada con parámetros de sustitución de signos de interrogación
  • Example#948 - Ejecutar una sentencia preparada usando un array para la cláusula IN
  • Example#949 - Obtención de filas usando diferentes tipos de obtención
  • Example#950 - Obtener filas con un cursor desplazable
  • Example#951 - Obtener todas las filas restantes de un conjunto de resultados
  • Example#952 - Obtener todos los valores de una única columna de un conjunto de resultados
  • Example#953 - Agrupar todos los valores según una única columna
  • Example#954 - Instanciar una clase para cada resultado
  • Example#955 - Invocar a una función por cada resultado
  • Example#956 - Devolver la primera columna de la siguiente fila
  • Example#957 - Recuperar metadatos de una columna
  • Example#958 - Obtener múltiples conjuntos de filas devueltas por un procedimiento almacenado
  • Example#959 - Devolver el número de filas eliminadas
  • Example#960 - Contar las filas devueltas por una sentencia SELECT
  • Example#961 - Establece el modo de obtención
  • Example#962 - Insertar LOBs en CUBRID PDO
  • Example#963 - Obtener LOBs en CUBRID PDO
  • Example#964 - Insertar un conjunto en CUBRID PDO con el tipo de datos predeterminado.
  • Example#965 - Especificar un tipo de datos al insertar un conjunto en CUBRID PDO
  • Example#966 - Ejemplos de DSN de PDO_CUBRID
  • Example#967 - Un ejemplo de PDO::cubrid_schema
  • Example#968 - PDO_DBLIB DSN examples
  • Example#969 - Ejemplo de DSN de PDO_FIREBIRD DSN con ruta
  • Example#970 - Ejemplo de DSN de PDO_FIREBIRD DSN con puerto y ruta
  • Example#971 - Ejemplo de DSN de PDO_FIREBIRD con localhost y ruta hacia empleado.fdb en un sistema Debian
  • Example#972 - Ejemplo de DSN de PDO_IBM DSN usando db2cli.ini
  • Example#973 - Ejemplo de DSN de PDO_IBM usando una cadena de conexión
  • Example#974 - Ejemplo de DSN de PDO_INFORMIX usando odbc.ini
  • Example#975 - Ejemplo de DSN de PDO_INFORMIX usando una cadena de conexión
  • Example#976 - Forzar consultas para que sean guardadas en el búfer en mysql
  • Example#977 - Establecer el juego de caracteres de la conexión a UTF-8, antes de PHP 5.3.6
  • Example#978 - ejemplos PDO_MYSQL DSN
  • Example#979 - Ejemplos de DSN de PDO_SQLSRV
  • Example#980 - Ejemplos del DSN de PDO_OCI
  • Example#981 - Ejemplo de DSN de PDO_ODBC (administrador de controladores de ODBC)
  • Example#982 - Ejemplo de DSN de PDO_ODBC (conexión no catalogada de IBM DB2)
  • Example#983 - Ejemplo de DSN de PDO_ODBC (conexión no catalogada de Microsoft Access)
  • Example#984 - Ejemplos PDO_PGSQL DSN
  • Example#985 - Un ejemplo de PDO::pgsqlLOBCreate
  • Example#986 - Un ejemplo de PDO::pgsqlLOBOpen
  • Example#987 - Un ejemplo de PDO::pgsqlLOBUnlink
  • Example#988 - Ejemplos de PDO_SQLITE DSN
  • Example#989 - Ejemplo de función acumuladora max_length
  • Example#990 - Ejemplo de PDO::sqliteCreateFunction
  • Example#991 - Ejemplo de DSN para PDO_4D
  • Example#992 - Ejemplo básico con PDO_4D
  • Example#993 - Acceder al lenguaje de 4D desde pdo_4d
  • Example#994 - Escapar nombres de tablas de 4D
  • Example#995 - Ejemplo de Recuperación de Datos
  • Example#996 - Ejemplo de Inserción de Datos
  • Example#997 - Ejemplo de cubrid_bind
  • Example#998 - Ejemplo de BLOB/CLOB de cubrid_bind
  • Example#999 - Ejemplo de BLOB/CLOB de cubrid_bind
  • Example#1000 - Ejemplo de cubrid_close_prepare
  • Example#1001 - Ejemplo de cubrid_close_request
  • Example#1002 - Ejemplo de cubrid_col_get
  • Example#1003 - Ejemplo de cubrid_col_size
  • Example#1004 - Ejemplo de cubrid_column_names
  • Example#1005 - Ejemplo de cubrid_column_types
  • Example#1006 - Ejemplo de cubrid_commit
  • Example#1007 - Ejemplo de cubrid_connect_with_url, url sin propiedades
  • Example#1008 - Ejemplo de cubrid_connect_with_url, url con propiedades
  • Example#1009 - Ejemplo de cubrid_connect
  • Example#1010 - Ejemplo de cubrid_current_oid
  • Example#1011 - Ejemplo de cubrid_disconnect
  • Example#1012 - Ejemplo de cubrid_drop
  • Example#1013 - Ejemplo de cubrid_error_code_facility
  • Example#1014 - Ejemplo de cubrid_error_code
  • Example#1015 - Ejemplo de cubrid_error_msg
  • Example#1016 - Ejemplo de cubrid_execute
  • Example#1017 - Ejemplo de cubrid_fetch
  • Example#1018 - Ejemplo de cubrid_free_result
  • Example#1019 - Ejemplo de cubrid_get_charset
  • Example#1020 - Ejemplo de cubrid_get_class_name
  • Example#1021 - Ejemplo de cubrid_get_client_info
  • Example#1022 - Ejemplo de cubrid_get_db_parameter
  • Example#1023 - Ejemplo de cubrid_get_query_timeout
  • Example#1024 - Ejemplo de cubrid_get_server_info
  • Example#1025 - Ejemplo de cubrid_get
  • Example#1026 - Ejemplo de cubrid_insert_id
  • Example#1027 - Ejemplo de cubrid_is_instance
  • Example#1028 - Ejemplo de cubrid_lob_close
  • Example#1029 - Ejemplo de cubrid_lob_export
  • Example#1030 - Ejemplo de cubrid_lob_get
  • Example#1031 - Ejemplo de cubrid_lob_send
  • Example#1032 - Ejemplo de cubrid_lob_size
  • Example#1033 - Ejemplo de cubrid_lob2_bind
  • Example#1034 - Ejemplo de cubrid_lob2_export
  • Example#1035 - Ejemplo de cubrid_lob2_export
  • Example#1036 - Ejemplo 1 de cubrid_lob2_read
  • Example#1037 - Ejemplo 2 cubrid_lob2_read
  • Example#1038 - Ejemplo de cubrid_lob2_seek64
  • Example#1039 - Ejemplo de cubrid_lob2_seek
  • Example#1040 - Ejemplo 1 de cubrid_lob2_write
  • Example#1041 - Ejemplo 2 de cubrid_lob2_write
  • Example#1042 - Ejemplo de cubrid_lock_read
  • Example#1043 - Ejemplo de cubrid_lock_write
  • Example#1044 - Ejemplo de cubrid_move_cursor
  • Example#1045 - cubrid_next_result ejemplo
  • Example#1046 - Ejemplo de cubrid_num_cols
  • Example#1047 - Ejemplo de cubrid_num_rows
  • Example#1048 - Ejemplo de url de cubrid_pconnect_with_url sin propiedades
  • Example#1049 - Ejemplo de url de cubrid_pconnect_with_url con propiedades
  • Example#1050 - Ejemplo de cubrid_pconnect
  • Example#1051 - Ejemplo de cubrid_prepare
  • Example#1052 - Ejemplo de cubrid_put
  • Example#1053 - Ejemplo de cubrid_rollback
  • Example#1054 - Ejemplo de cubrid_schema
  • Example#1055 - Ejemplo de cubrid_seq_drop
  • Example#1056 - Ejemplo de cubrid_seq_insert
  • Example#1057 - Ejemplo de cubrid_seq_put
  • Example#1058 - Ejemplo de cubrid_set_add
  • Example#1059 - Ejemplo de cubrid_get_db_parameter
  • Example#1060 - Ejemplo de cubrid_set_drop
  • Example#1061 - Ejemplo de cubrid_version
  • Example#1062 - Ejemplo de cubrid_affected_rows
  • Example#1063 - Ejemplo de cubrid_client_encoding
  • Example#1064 - Ejemplo de cubrid_close
  • Example#1065 - Ejemplo de cubrid_data_seek
  • Example#1066 - Ejemplo de cubrid_db_name
  • Example#1067 - Ejemplo de cubrid_errno
  • Example#1068 - Ejemplo de cubrid_error
  • Example#1069 - Ejemplo de cubrid_fetch_array
  • Example#1070 - Ejemplo de cubrid_fetch_assoc
  • Example#1071 - Ejemplo de cubrid_fetch_field
  • Example#1072 - Ejemplo de cubrid_fetch_lengths
  • Example#1073 - Ejemplo de cubrid_fetch_object
  • Example#1074 - Ejemplo de cubrid_fetch_row
  • Example#1075 - Ejemplo de cubrid_field_flags
  • Example#1076 - Ejemplo de cubrid_field_len
  • Example#1077 - Ejemplo de cubrid_field_name
  • Example#1078 - Ejemplo de cubrid_field_seek
  • Example#1079 - Ejemplo de cubrid_field_table
  • Example#1080 - Ejemplo de cubrid_field_type
  • Example#1081 - Ejemplo de cubrid_list_dbs
  • Example#1082 - Ejemplo de cubrid_num_fields
  • Example#1083 - Ejemplo de cubrid_ping
  • Example#1084 - Consulta No Válida
  • Example#1085 - Consulta Válida
  • Example#1086 - Ejemplo de cubrid_real_escape_string
  • Example#1087 - Ejemplo de cubrid_result
  • Example#1088 - Ejemplo de cubrid_unbuffered_query
  • Example#1089 - Ejemplo de cubrid_load_from_glo
  • Example#1090 - Ejemplo de cubrid_new_glo
  • Example#1091 - Ejemplo de cubrid_save_to_glo
  • Example#1092 - Ejemplo de cubrid_send_glo
  • Example#1093 - Insertar un registro en una base de datos dBase
  • Example#1094 - Cerrar un archivo de base de datos de dBase
  • Example#1095 - Crear un archivo de base de datos dBase
  • Example#1096 - Mostrar la información de cabecera de un archivo de base de datos dBase
  • Example#1097 - Listar todos los miembros registrados en la base de datos
  • Example#1098 - Ejemplo de dbase_numfields
  • Example#1099 - Recorrer todos los registros de la base de datos
  • Example#1100 - Abrir un archivo de base de datos de dBase
  • Example#1101 - Vaciar una base de datos dBase
  • Example#1102 - Actualizar un registro en la base de datos
  • Example#1103 - Ejemplo de ibase_blob_get
  • Example#1104 - Ejemplo de ibase_blob_import
  • Example#1105 - Ejemplo de ibase_connect
  • Example#1106 - Ejemplo de ibase_execute
  • Example#1107 - Ejemplo de ibase_fetch_object
  • Example#1108 - Ejemplo de ibase_field_info
  • Example#1109 - Ejemplo de ibase_name_result
  • Example#1110 - Ejemplo de ibase_num_fields
  • Example#1111 - Ejemplo de ibase_query
  • Example#1112 - Ejemplo de ibase_set_event_handler
  • Example#1113 - Ejemplo de fbsql_close
  • Example#1114 - Ejemplo de fbsql_connect
  • Example#1115 - Ejemplo de fbsql_create_blob
  • Example#1116 - fbsql_create_clob example
  • Example#1117 - Ejemplo de fbsql_create_db.
  • Example#1118 - fbsql_data_seek example
  • Example#1119 - Ejemplo de fbsql_database_password
  • Example#1120 - Ejemplo de fbsql_errno
  • Example#1121 - Ejemplo de fbsql_error
  • Example#1122 - Ejemplo de fbsql_fetch_array
  • Example#1123 - fbsql_fetch_assoc example
  • Example#1124 - Ejemplo de fbsql_fetch_field
  • Example#1125 - Ejemplo de fbsql_fetch_object
  • Example#1126 - Ejemplo de fbsql_field_name
  • Example#1127 - Ejemplo de fbsql_field_type
  • Example#1128 - Ejemplo de fbsql_list_dbs
  • Example#1129 - fbsql_list_fields example
  • Example#1130 - fbsql_next_result ejemplo
  • Example#1131 - Ejemplo de fbsql_num_rows
  • Example#1132 - Ejemplo fbsql_query
  • Example#1133 - Ejemplo fbsql_query
  • Example#1134 - Ejemplo de fbsql_read_blob
  • Example#1135 - Ejemplo de fbsql_read_clob
  • Example#1136 - Ejemplo de fbsql_table_name
  • Example#1137 - Consultando el valor de AUTOCOMMIT de una conexión
  • Example#1138 - Asignando el valor de AUTOCOMMIT en una conexión
  • Example#1139 - Vinculando variables PHP a sentencias preparadas
  • Example#1140 - Llamada a procedimientos almacenados con parámetros de Entrada y Salida
  • Example#1141 - Insertando un objeto extenso binario (BLOB) directamente desde un fichero
  • Example#1142 - Ejemplo de db2_client_info
  • Example#1143 - Cierre de una conexión
  • Example#1144 - Retrieving an SQLSTATE value for a failed connection attempt
  • Example#1145 - Retrieving the error message returned by a failed connection attempt
  • Example#1146 - Creating a cataloged connection
  • Example#1147 - Creating an uncataloged connection
  • Example#1148 - Creating a connection with autocommit off by default
  • Example#1149 - i5/OS best performance
  • Example#1150 - Using trusted context
  • Example#1151 - A db2_escape_string example
  • Example#1152 - Creating a table with db2_exec
  • Example#1153 - Executing a SELECT statement with a scrollable cursor
  • Example#1154 - Returning XML data as an SQL ResultSet
  • Example#1155 - Performing a "JOIN" with XML data
  • Example#1156 - Returning SQL data as part of a larger XML document
  • Example#1157 - Preparing and executing an SQL statement with parameter markers
  • Example#1158 - Calling a stored procedure with an OUT parameter
  • Example#1159 - Returning XML data as an SQL ResultSet
  • Example#1160 - Performing a "JOIN" with XML data
  • Example#1161 - Returning SQL data as part of a larger XML document
  • Example#1162 - Iterating through a forward-only cursor
  • Example#1163 - Retrieving specific rows with db2_fetch_array from a scrollable cursor
  • Example#1164 - Iterating through a forward-only cursor
  • Example#1165 - Retrieving specific rows with db2_fetch_assoc from a scrollable cursor
  • Example#1166 - Iterating through a forward-only cursor
  • Example#1167 - Retrieving specific rows with db2_fetch_both from a scrollable cursor
  • Example#1168 - A db2_fetch_object example
  • Example#1169 - Iterating through a result set
  • Example#1170 - i5/OS recommended alternatives to db2_fetch_row/db2_result
  • Example#1171 - Setting and retrieving parameters through a connection resource
  • Example#1172 - A db2_last_insert_id example
  • Example#1173 - Iterating through different types of data
  • Example#1174 - Calling a stored procedure that returns multiple result sets
  • Example#1175 - Retrieving the number of fields in a result set
  • Example#1176 - Closing a persistent connection
  • Example#1177 - A db2_pconnect example
  • Example#1178 - Using trusted context
  • Example#1179 - Preparando y ejecutando un comando SQL con marcadores de parámetros.
  • Example#1180 - A db2_result example
  • Example#1181 - Rolling back a DELETE statement
  • Example#1182 - A db2_server_info example
  • Example#1183 - Setting one parameter with a connection resource
  • Example#1184 - Setting multiple parameters with a connection resource
  • Example#1185 - Setting multiple parameters with an invalid key
  • Example#1186 - Setting multiple parameters with an invalid value
  • Example#1187 - Setting multiple parameters with a connection resource and the wrong type
  • Example#1188 - Setting multiple parameters with the wrong resource
  • Example#1189 - Putting it all together
  • Example#1190 - i5/OS cursors are read-only
  • Example#1191 - Informix affected rows
  • Example#1192 - Closing a Informix connection
  • Example#1193 - Conectarse a una base de datos Informix
  • Example#1194 - ifx_do Example
  • Example#1195 - ifx_errormsg example
  • Example#1196 - Informix fetch rows
  • Example#1197 - Informix SQL fieldproperties
  • Example#1198 - Fieldnames and SQL fieldtypes
  • Example#1199 - Retrieve Informix sqlca.sqlerrd[x] values
  • Example#1200 - Informix resultados como tabla HTML
  • Example#1201 - ifx_num_fields Example
  • Example#1202 - Show all rows of the "orders" table as a HTML table
  • Example#1203 - Insert some values into the "catalog" table
  • Example#1204 - Ejemplo de uso de PassEnv para Ingres
  • Example#1205 - Simple Ingres Example
  • Example#1206 - ingres_charset - Obtener el conjunto de caracteres de la instalación
  • Example#1207 - Abrir una conexión a un base de datos de Ingres
  • Example#1208 - Obtener el nombre del cursor para un recurso de consultas
  • Example#1209 - Obtener el númeor del último error generado de Ingres
  • Example#1210 - Obtener un mensaje del último error generado
  • Example#1211 - Obtener el código del último error SQLSTATE generado
  • Example#1212 - Escape special characters for use in a query
  • Example#1213 - Obtener una fila de resultados en un array
  • Example#1214 - Obtener una fila en un array asociativo
  • Example#1215 - Obtener una fila en un objeto
  • Example#1216 - Obtener el valor de retorno de una llamada a un procedimiento
  • Example#1217 - Obttener una fila de resultados en un array enumerado
  • Example#1218 - Liberar un recurso de resultados
  • Example#1219 - Enviar un simple select
  • Example#1220 - Pasar parámetros de consulta a ingres_query
  • Example#1221 - Insertar datos BLOB con tipos de parámetros
  • Example#1222 - Posicionar el cursor a la 3ª fila
  • Example#1223 - Establecer el formato de fecha a ISO4
  • Example#1224 - Set timezone to HONG-KONG
  • Example#1225 - Ejecutar un SELECT sencillo no almacenado en búfer
  • Example#1226 - Passing query parameters to ingres_unbuffered_query
  • Example#1227 - Insertar datos BLOB con tipos de parámetros
  • Example#1228 - MaxDB extension overview example
  • Example#1229 - Ejemplo para usar sentencias SELECT INTO
  • Example#1230 - Ejemplo de uso de procesimientos de una base de datos
  • Example#1231 - Estilo orientado a objetos
  • Example#1232 - Estilo por procedimientos
  • Example#1233 - Estilo orientado a objetos
  • Example#1234 - Estilo por procedimientos
  • Example#1235 - Estilo orientado a objetos
  • Example#1236 - Estilo por procedimientos
  • Example#1237 - Estilo orientado a objetos
  • Example#1238 - Estilo por procedimientos
  • Example#1239 - Estilo orientado a objetos
  • Example#1240 - Estilo por procedimientos
  • Example#1241 - maxdb_connect_errno sample
  • Example#1242 - maxdb_connect_error sample
  • Example#1243 - Estilo orientado a objetos
  • Example#1244 - Estilo por procedimientos
  • Example#1245 - Estilo orientado a objetos
  • Example#1246 - Estilo por procedimientos
  • Example#1247 - Estilo por procedimientos
  • Example#1248 - Estilo orientado a objetos
  • Example#1249 - Estilo por procedimientos
  • Example#1250 - Estilo orientado a objetos
  • Example#1251 - Estilo por procedimientos
  • Example#1252 - Estilo orientado a objetos
  • Example#1253 - Estilo por procedimientos
  • Example#1254 - Estilo orientado a objetos
  • Example#1255 - Estilo por procedimientos
  • Example#1256 - Estilo orientado a objetos
  • Example#1257 - Estilo por procedimientos
  • Example#1258 - Estilo orientado a objetos
  • Example#1259 - Estilo por procedimientos
  • Example#1260 - Estilo orientado a objetos
  • Example#1261 - Estilo por procedimientos
  • Example#1262 - Estilo orientado a objetos
  • Example#1263 - Estilo por procedimientos
  • Example#1264 - Estilo orientado a objetos
  • Example#1265 - Estilo por procedimientos
  • Example#1266 - Estilo orientado a objetos
  • Example#1267 - Estilo por procedimientos
  • Example#1268 - Estilo orientado a objetos
  • Example#1269 - Estilo por procedimientos
  • Example#1270 - Estilo orientado a objetos
  • Example#1271 - Estilo por procedimientos
  • Example#1272 - Estilo orientado a objetos
  • Example#1273 - Estilo por procedimientos
  • Example#1274 - maxdb_get_client_info
  • Example#1275 - maxdb_get_client_version
  • Example#1276 - Estilo orientado a objetos
  • Example#1277 - Estilo por procedimientos
  • Example#1278 - Estilo orientado a objetos
  • Example#1279 - Estilo por procedimientos
  • Example#1280 - Estilo orientado a objetos
  • Example#1281 - Estilo por procedimientos
  • Example#1282 - Estilo orientado a objetos
  • Example#1283 - Estilo por procedimientos
  • Example#1284 - Estilo orientado a objetos
  • Example#1285 - Estilo por procedimientos
  • Example#1286 - Estilo orientado a objetos
  • Example#1287 - Estilo por procedimientos
  • Example#1288 - Estilo orientado a objetos
  • Example#1289 - Estilo por procedimientos
  • Example#1290 - Estilo orientado a objetos
  • Example#1291 - Estilo por procedimientos
  • Example#1292 - Estilo orientado a objetos
  • Example#1293 - Estilo por procedimientos
  • Example#1294 - Estilo orientado a objetos
  • Example#1295 - Estilo por procedimientos
  • Example#1296 - Estilo orientado a objetos
  • Example#1297 - Estilo por procedimientos
  • Example#1298 - Estilo orientado a objetos
  • Example#1299 - Estilo por procedimientos
  • Example#1300 - Estilo orientado a objetos
  • Example#1301 - Estilo por procedimientos
  • Example#1302 - Estilo orientado a objetos
  • Example#1303 - Estilo por procedimientos
  • Example#1304 - Estilo orientado a objetos
  • Example#1305 - Estilo por procedimientos
  • Example#1306 - Estilo por procedimientos
  • Example#1307 - Estilo orientado a objetos
  • Example#1308 - Estilo por procedimientos
  • Example#1309 - Estilo orientado a objetos
  • Example#1310 - Estilo por procedimientos
  • Example#1311 - Estilo orientado a objetos
  • Example#1312 - Estilo por procedimientos
  • Example#1313 - Estilo orientado a objetos
  • Example#1314 - Estilo por procedimientos
  • Example#1315 - Estilo orientado a objetos
  • Example#1316 - Estilo por procedimientos
  • Example#1317 - Estilo orientado a objetos
  • Example#1318 - Estilo por procedimientos
  • Example#1319 - Estilo por procedimientos (SELECT INTO)
  • Example#1320 - Estilo por procedimientos (DB procedure)
  • Example#1321 - Estilo orientado a objetos (extended syntax)
  • Example#1322 - Estilo orientado a objetos
  • Example#1323 - Estilo por procedimientos
  • Example#1324 - Estilo orientado a objetos
  • Example#1325 - Estilo por procedimientos
  • Example#1326 - Estilo orientado a objetos
  • Example#1327 - Estilo por procedimientos
  • Example#1328 - Estilo orientado a objetos
  • Example#1329 - Estilo por procedimientos
  • Example#1330 - Estilo orientado a objetos
  • Example#1331 - Estilo por procedimientos
  • Example#1332 - Estilo orientado a objetos
  • Example#1333 - Estilo por procedimientos
  • Example#1334 - Estilo orientado a objetos
  • Example#1335 - Estilo por procedimientos
  • Example#1336 - Estilo orientado a objetos
  • Example#1337 - Estilo por procedimientos
  • Example#1338 - Estilo orientado a objetos
  • Example#1339 - Estilo por procedimientos
  • Example#1340 - Estilo orientado a objetos
  • Example#1341 - Estilo por procedimientos
  • Example#1342 - Estilo orientado a objetos
  • Example#1343 - Estilo por procedimientos
  • Example#1344 - Estilo orientado a objetos
  • Example#1345 - Estilo por procedimientos
  • Example#1346 - Estilo orientado a objetos
  • Example#1347 - Estilo por procedimientos
  • Example#1348 - Estilo orientado a objetos
  • Example#1349 - Estilo por procedimientos
  • Example#1350 - Estilo orientado a objetos
  • Example#1351 - Estilo por procedimientos
  • Example#1352 -
  • Example#1353 -
  • Example#1354 -
  • Example#1355 -
  • Example#1356 -
  • Example#1357 -
  • Example#1358 -
  • Example#1359 -
  • Example#1360 -
  • Example#1361 -
  • Example#1362 -
  • Example#1363 -
  • Example#1364 -
  • Example#1365 -
  • Example#1366 -
  • Example#1367 - Preferencias de lectura de URI de coneción con sintaxis de cadena de consulta
  • Example#1368 - Establecer las preferencias de lectura con sintaxis de array para conjuntos de etiquetas
  • Example#1369 - Pasar un WriteConcern a una operación de escritura
  • Example#1370 - WriteConcerns en cadena de conexión
  • Example#1371 - MongoDB::setWriteConcern y MongoCollection::setWriteConcern
  • Example#1372 - Asunto de escritura no reconocido, seguido de una escritura reconocida
  • Example#1373 - Escrituras reconocidas
  • Example#1374 - Escritura reconocida por la mayoría
  • Example#1375 - Escritura reconocida y esctrita en el diario
  • Example#1376 - Autenticación en la base de datos "admin"
  • Example#1377 - Autenticación en bases de datos normales
  • Example#1378 - Lista de semillas de ReplicaSet
  • Example#1379 - Duplicación errónea de un nombre de un conjunto de réplica
  • Example#1380 - Uso correcto de dos nombres de conjuntos de réplica
  • Example#1381 -
  • Example#1382 -
  • Example#1383 -
  • Example#1384 -
  • Example#1385 -
  • Example#1386 - Heredar ReadPreferences del nivel de la base de datos hacia el Cursor
  • Example#1387 -
  • Example#1388 -
  • Example#1389 -
  • Example#1390 -
  • Example#1391 -
  • Example#1392 -
  • Example#1393 -
  • Example#1394 - Uso básido de MongoClient
  • Example#1395 - Ejemplo de MongoClient::close
  • Example#1396 - Ejemplo de conjunto de réplica con MongoClient::__construct
  • Example#1397 - Conectarse a un socket de dominio
  • Example#1398 - Ejemplo de autenticación con MongoClient::__construct
  • Example#1399 - Ejemplo de preferencia de lectura con MongoClient::__construct
  • Example#1400 - Ejemplo de opciones de MongoClient::__construct
  • Example#1401 - Ejemplo de preferencia de lectura de MongoClient::__construct
  • Example#1402 - Ejemplo de MongoClient::getConnections
  • Example#1403 - Ejemplo de valor devuelto por MongoClient::getReadPreference
  • Example#1404 - Ejemplo de MongoClient::killCursor
  • Example#1405 - Ejemplo de MongoClient::listDBs
  • Example#1406 - Ejemplo de MongoClient::selectCollection
  • Example#1407 - Ejemplo de sintaxis de array de conjunto de etiquetas con MongoClient::setReadPreference
  • Example#1408 - Seleccionar una base de datos
  • Example#1409 - Ejemplo de MongoDB::command con "distinct"
  • Example#1410 - Ejemplo de MongoDB::command con "distinct"
  • Example#1411 - Ejemplo de MongoDB::command con MapReduce
  • Example#1412 - Ejemplo de MongoDB::command con "textSearch"
  • Example#1413 - Ejemplo de MongoDB::command con "geoNear"
  • Example#1414 - Ejemplo de MongoDB::createCollection para colección de tamaño fijo
  • Example#1415 - Ejemplo de MongoDB::createDBRef
  • Example#1416 - Ejemplo de MongoDB::createDBRef
  • Example#1417 - Ejemplo de MongoDB::drop
  • Example#1418 - Ejemplo sencillo de MongoDB::execute
  • Example#1419 - Ejemplo de parámetros en MongoDB::execute
  • Example#1420 - Ejemplo de ámbito
  • Example#1421 - Ejemplo de MongoDB::getCollectionNames
  • Example#1422 - Ejemplo de MongoDB::getDBRef
  • Example#1423 - Ejemplo de MongoDB::getGridFS
  • Example#1424 - Ejemplo de valor devuelto de MongoDB::getReadPreference
  • Example#1425 - Ejemplo de error NULL de MongoDB::lastError
  • Example#1426 - Ejemplo de error de clave duplicada con MongoDB::lastError
  • Example#1427 - Ejemplo de MongoDB::listCollections
  • Example#1428 - Ejemplo de MongoDB::repair
  • Example#1429 - Ejemplo de sintaxis de array de conjunto de etiquetas MongoDB::setReadPreference
  • Example#1430 - Ejemplo de MongoCollection::aggregate
  • Example#1431 - Ejemplo de MongoCollection::aggregate
  • Example#1432 - Ejemplo de MongoCollection::aggregate
  • Example#1433 - Ejemplo de MongoCollection::batchInsert
  • Example#1434 - Ejemplo de MongoCollection::batchInsert ignorando errores
  • Example#1435 - Ejemplo de MongoCollection::count
  • Example#1436 - Ejemplo de MongoCollection::createDBRef
  • Example#1437 - Ejemplo de MongoCollection::deleteIndex
  • Example#1438 - Ejemplo de MongoCollection::deleteIndexes
  • Example#1439 - Ejemplo de MongoCollection::distinct
  • Example#1440 - Ejemplo de MongoCollection::distinct sobre un documento embebido
  • Example#1441 - MongoCollection::drop example
  • Example#1442 - Ejemplo de MongoCollection::ensureIndex
  • Example#1443 - Ejemplo de borrado de duplicados
  • Example#1444 - Indexación Geoespacial
  • Example#1445 - Ejemplo de MongoCollection::find
  • Example#1446 - Ejemplo de MongoCollection::find
  • Example#1447 - Ejemplo de MongoCollection::find usando $where
  • Example#1448 - Ejemplo de MongoCollection::find usando $in
  • Example#1449 - Obtener resultados en forma de array
  • Example#1450 - Ejemplo de MongoCollection::findAndModify
  • Example#1451 - Manejo de errores de MongoCollection::findAndModify
  • Example#1452 - Ejemplo de MongoCollection::findOne buscando por id.
  • Example#1453 - Ejemplo de MongoCollection::findOne a partir de una condición.
  • Example#1454 - Ejemplo de MongoCollection::getDBRef
  • Example#1455 - Ejemplo de MongoCollection::getIndexInfo
  • Example#1456 - Ejemplo de MongoCollection::getName
  • Example#1457 - Ejemplo de valor devueto por MongoCollection::getReadPreference
  • Example#1458 - Ejemplo de MongoCollection::group
  • Example#1459 - Ejemplo de MongoCollection::group
  • Example#1460 - Pasando una función a keys
  • Example#1461 - Ejemplo de MongoCollection::insert con _id
  • Example#1462 - Ejemplo de escritura aceptada con MongoCollection::insert
  • Example#1463 - Ejemplo de MongoCollection::remove con justOne
  • Example#1464 - Ejemplo de MongoCollection::save
  • Example#1465 - Ejemplo de sintaxis de array de conjunto de etiquetas con MongoCollection::setReadPreference
  • Example#1466 - Ejemplo de MongoCollection::toIndexString
  • Example#1467 - Ejemplo de MongoCollection::__toString
  • Example#1468 - MongoCollection::update
  • Example#1469 - Ejemplos de MongoCollection::update con upsert
  • Example#1470 - Ejemplo de múltiples MongoCollection::update
  • Example#1471 - Uso básico de MongoCursor
  • Example#1472 - Iterar sobre MongoCursor
  • Example#1473 - Añadir opciones a MongoCursor
  • Example#1474 - Ejemplo de MongoCursor::addOption
  • Example#1475 - Ejemplo de MongoCursor::awaitData
  • Example#1476 - MongoCursor::batchSize y combinaciones con MongoCursor::limit
  • Example#1477 - Ejemplo de MongoCursor::count
  • Example#1478 - Ejemplo de MongoCursor::doQuery
  • Example#1479 - Ejemplo de MongoCursor::explain
  • Example#1480 - Ejemplo de valor devuelto de MongoCursor::getReadPreference
  • Example#1481 - Ejemplo de MongoCursor::info
  • Example#1482 - Ejemplo de MongoCursor::setFlag
  • Example#1483 - Ejemplo de sintaxis de array de conjunto de etiquetas con MongoCursor::setReadPreference
  • Example#1484 - Ejemplo de MongoCursor::slaveOkay
  • Example#1485 - Ejemplo de MongoCursor::sort
  • Example#1486 - Ejemplo de MongoCursor::tailable
  • Example#1487 - Ejemplo de MongoCursor::timeout
  • Example#1488 - MongoId::__construct example
  • Example#1489 - Ejemplo con parámetros
  • Example#1490 - Ejemplo de MongoId::__toString
  • Example#1491 - Ejemplo de MongoCode::__construct
  • Example#1492 - Usando MongoCode con $where
  • Example#1493 - Ejemplo de MongoCode::__toString
  • Example#1494 - Almacenar datos con MongoDate
  • Example#1495 - Ejemplo de MongoDate::__construct
  • Example#1496 - Patrón de expresión regular
  • Example#1497 - Ejemplo de MongoRegex::__construct
  • Example#1498 - Ejemplo de MongoRegex::__toString
  • Example#1499 -
  • Example#1500 - Vincular documentos
  • Example#1501 - Crear vínculos MongoDBRef
  • Example#1502 - Ejemplo de MongoDBRef::create
  • Example#1503 - Ejemplo de MongoCollection::createDBRef
  • Example#1504 - Ejemplo de MongoGridFS::findOne
  • Example#1505 - MongoGridFS::storeBytes com metadatos adicionales
  • Example#1506 - MongoGridFS::storeFile con metadatos adicionales
  • Example#1507 - Ejemplo de forumulario HTML con MongoGridFS::storeUpload
  • Example#1508 - Ejemplo de MongoGridFSFile::getBytes
  • Example#1509 - Ejemplo de MongoGridFSFile::getResource
  • Example#1510 - Ejemplo de MongoGridFSFile::write
  • Example#1511 - Ejemplo de MongoLog::setCallback
  • Example#1512 - Cambiar el tamaño de un agrupamiento
  • Example#1513 - Ejemplo de Mongo::setPoolSize
  • Example#1514 - Cambiar el tamaño de la agrupación
  • Example#1515 - Ejemplo de Mongo::setPoolSize
  • Example#1516 - Ejemplo de uso de mSQL
  • Example#1517 - msql_fetch_array ejemplo
  • Example#1518 - msql_fetch_object ejemplo
  • Example#1519 - msql_fetch_row ejemplo
  • Example#1520 - msql_query ejemplo
  • Example#1521 - Ejemplo con mssql_bind
  • Example#1522 - Ejemplo con mssql_close
  • Example#1523 - Ejemplo con mssql_connect
  • Example#1524 - mssql_data_seek example
  • Example#1525 - mssql_execute example
  • Example#1526 - Ejemplo de mssql_fetch_array
  • Example#1527 - mssql_fetch_assoc example
  • Example#1528 - Ejemplo con mssql_fetch_batch
  • Example#1529 - mssql_fetch_field example
  • Example#1530 - Ejemplo con mssql_fetch_object
  • Example#1531 - Ejemplo con mssql_fetch_row
  • Example#1532 - Ejemplo con mssql_field_length
  • Example#1533 - mssql_field_name example
  • Example#1534 - Ejemplo de uso de mssql_field_seek para mssql_fetch_field
  • Example#1535 - mssql_field_type example
  • Example#1536 - Ejemplo de mssql_free_result
  • Example#1537 - Ejemplo de mssql_free_statement
  • Example#1538 - mssql_get_last_message example
  • Example#1539 - Ejemplo de mssql_guid_string
  • Example#1540 - Ejemplo de mssql_init
  • Example#1541 - Ejemplo de mssql_min_error_severity
  • Example#1542 - mssql_min_message_severity example
  • Example#1543 - Ejemplo de mssql_next_result
  • Example#1544 - Ejemplo de mssql_num_fields
  • Example#1545 - Ejemplo de mssql_num_rows
  • Example#1546 - mssql_pconnect usando el parámetro new_link
  • Example#1547 - Ejemplo con mssql_query
  • Example#1548 - mssql_result example
  • Example#1549 - Alternativa más rápida que el ejemplo anterior
  • Example#1550 - Ejemplo de mssql_rows_affected
  • Example#1551 - Ejemplo con mssql_select_db
  • Example#1552 - Indicar el nombre de la base de datos entre corchetes
  • Example#1553 - Comparación de las tres APIs de MySQL
  • Example#1554 - Comandos de configuración para usar mysqlnd o libmysqlclient
  • Example#1555 - Ejemplo de consulta no almacenada en buffer: mysqli
  • Example#1556 - Ejemplo de consulta no almacenada en buffer: pdo_mysql
  • Example#1557 - Ejemplo de consulta no almacenada en buffer: mysql
  • Example#1558 - Problemas al establecer el conjunto de caracteres con SQL
  • Example#1559 - Ejemplo para establecer el conjunto de caracteres: mysqli
  • Example#1560 - Ejemplo para establecer el conjunto de caracteres: pdo_mysql
  • Example#1561 - Ejemplo para establecer el conjunto de caracteres: mysql
  • Example#1562 - Ejemplo general de la extensión MySQL
  • Example#1563 - Ejemplo de mysql_affected_rows
  • Example#1564 - Ejemplo de mysql_affected_rows al utilizar transacciones
  • Example#1565 - Ejemplo de mysql_client_encoding
  • Example#1566 - Ejemplo de mysql_close
  • Example#1567 - Ejemplo de mysql_connect
  • Example#1568 - Ejemplo de mysql_connect usando la sintaxis nombre_anfitrión:puerto
  • Example#1569 - Ejemplo de mysql_connect usando la sintaxis ":/rota/al/socket"
  • Example#1570 - Ejemplo alternativo de mysql_create_db
  • Example#1571 - Ejemplo de mysql_data_seek
  • Example#1572 - Ejemplo de mysql_db_name
  • Example#1573 - Ejemplo alternativo de mysql_db_query
  • Example#1574 - Ejemplo alternativo de mysql_drop_db
  • Example#1575 - Ejemplo de mysql_errno
  • Example#1576 - Ejemplo de mysql_error
  • Example#1577 - Ejemplo de mysql_escape_string
  • Example#1578 - Consulta con nombres de campos duplicados con alias
  • Example#1579 - mysql_fetch_array con MYSQL_NUM
  • Example#1580 - mysql_fetch_array con MYSQL_ASSOC
  • Example#1581 - mysql_fetch_array con MYSQL_BOTH
  • Example#1582 - Un ejemplo desarrolado de mysql_fetch_assoc
  • Example#1583 - Ejemplo de mysql_fetch_field
  • Example#1584 - Un ejemplo de mysql_fetch_lengths
  • Example#1585 - Ejemplo de mysql_fetch_object
  • Example#1586 - Ejemplo de mysql_fetch_object
  • Example#1587 - Recuperar una fila con mysql_fetch_row
  • Example#1588 - Un ejemplo de mysql_field_flags
  • Example#1589 - Ejemplo de mysql_field_len
  • Example#1590 - Ejemplo de mysql_field_name
  • Example#1591 - Un ejemplo de mysql_field_table
  • Example#1592 - Ejemplo de mysql_field_type
  • Example#1593 - Un ejemplo de mysql_free_result
  • Example#1594 - Ejemplo de mysql_get_client_info
  • Example#1595 - Ejemplo de mysql_get_host_info
  • Example#1596 - Ejemplo de mysql_get_proto_info
  • Example#1597 - Ejemplo de mysql_get_server_info
  • Example#1598 - Sentencias MySQL Relevantes
  • Example#1599 - Ejemplo de mysql_insert_id
  • Example#1600 - Ejemplo de mysql_list_dbs
  • Example#1601 - Alternativa para la obsoleta mysql_list_fields
  • Example#1602 - Ejemplo de mysql_list_processes
  • Example#1603 - Ejemplo alternativo de mysql_list_tables
  • Example#1604 - Un ejemplo de mysql_num_fields
  • Example#1605 - Ejemplo de mysql_num_rows
  • Example#1606 - Un ejemplo de mysql_ping
  • Example#1607 - Consulta inválida
  • Example#1608 - Consulta válida
  • Example#1609 - Ejemplo sencillo de mysql_real_escape_string
  • Example#1610 - Un ejemplo de ataque de inyección SQL
  • Example#1611 - Ejemplo de mysql_result
  • Example#1612 - Ejemplo mysql_select_db
  • Example#1613 - Ejemplo de mysql_stat
  • Example#1614 - Ejemplo alternativo de mysql_stat
  • Example#1615 - Ejemplo de mysql_tablename
  • Example#1616 - Ejemplo de mysql_thread_id
  • Example#1617 - Migración sencilla desde la antigua extensión mysql
  • Example#1618 - Interfaz orientada a objetos y procedimental
  • Example#1619 - Estilo de codificación malo
  • Example#1620 - Significado especia de localhost
  • Example#1621 - Configuración predeterminada
  • Example#1622 - Conectando a MySQL
  • Example#1623 - Navegación a través de resultados almacenados en buffer
  • Example#1624 - Navegación a través de resultados no almacenados en buffer
  • Example#1625 - El protocolo de texto devuelve cadenas de manera predeterminado
  • Example#1626 - Tipos de datos nativos con mysqlnd y la opción de conexión
  • Example#1627 - Primera etapa: prepación
  • Example#1628 - Segunda etapa: vincular y ejecutar
  • Example#1629 - INSERT preparada una vez, ejecutada múltiples veces
  • Example#1630 - Menos viajes de ida y vuelta usando SQL multi-INSERT
  • Example#1631 - Tipos de datos nativos
  • Example#1632 - Vinculación de variables de salida
  • Example#1633 - Usar mysqli_result para obtener los resultados
  • Example#1634 - Conjunto de resultados almacenado en buffer para la lectura flexible
  • Example#1635 - Llamar a un procedimiento almacenado
  • Example#1636 - Usar variables de sesión
  • Example#1637 - Obtener los resultados de procedimientos almacenados
  • Example#1638 - Procedimientos Almacenados y Sentencias Preparadas
  • Example#1639 - Procedimientos Almacenados y Sentencias Preparadas usando la API de vinculación
  • Example#1640 - Sentencias múltiples
  • Example#1641 - Inyección SQL
  • Example#1642 - Establecer el modo de autoconsignación con SQL y a través de la API
  • Example#1643 - Consignación y reinicio
  • Example#1644 - Acceder a los metadatos de un conjunto de resultados
  • Example#1645 - Metadatos de sentencias preparadas
  • Example#1646 - Ejemplo de $mysqli->affected_rows
  • Example#1647 - Ejemplo de mysqli::autocommit
  • Example#1648 - Ejemplo del método mysqli::change_user
  • Example#1649 - Ejemplo de mysqli::character_set_name
  • Example#1650 - mysqli_get_client_info
  • Example#1651 - mysqli_get_client_version
  • Example#1652 - Ejemplo de mysqli::commit
  • Example#1653 - $mysqli->connect_errno example
  • Example#1654 - Ejemplo de $mysqli->connect_error
  • Example#1655 - Ejemplo de mysqli::__construct
  • Example#1656 - Generando un fichero de prueba (traza)
  • Example#1657 - Ejemplo de $mysqli->errno
  • Example#1658 - Ejemplo de $mysqli->error_list
  • Example#1659 - Ejemplo de $mysqli->error
  • Example#1660 - Ejemplo de $mysqli->field_count
  • Example#1661 - mysqli::get_charset example
  • Example#1662 - mysqli_get_client_info
  • Example#1663 - A mysqli_get_client_stats example
  • Example#1664 - mysqli_get_client_version
  • Example#1665 - Un ejemplo de mysqli_get_connection_stats
  • Example#1666 - Ejemplo de $mysqli->host_info
  • Example#1667 - Ejemplo de $mysqli->protocol_version
  • Example#1668 - Ejemplo de $mysqli->server_info
  • Example#1669 - Ejemplo de $mysqli->server_version
  • Example#1670 - Ejemplo de $mysqli->info
  • Example#1671 - Ejemplo de $mysqli->insert_id
  • Example#1672 - Ejemplo de mysqli::kill
  • Example#1673 - Ejemplo de mysqli::multi_query
  • Example#1674 - Ejemplo de mysqli::ping
  • Example#1675 - Un ejemplo de mysqli_poll
  • Example#1676 - Ejemplo de mysqli::prepare
  • Example#1677 - Ejemplo de mysqli::query
  • Example#1678 - Ejemplo de mysqli::real_connect
  • Example#1679 - Ejemplo de mysqli::real_escape_string
  • Example#1680 - Ejemplo de mysqli::rollback
  • Example#1681 - Ejemplo de mysqli::select_db
  • Example#1682 - Ejemplo de mysqli::set_charset
  • Example#1683 - Ejemplo de mysqli::set_local_infile_handler
  • Example#1684 - Ejemplo de $mysqli->sqlstate
  • Example#1685 - Ejemplo de mysqli::stat
  • Example#1686 - Ejemplo $mysqli->thread_id
  • Example#1687 - Ejemplo de mysqli::use_result
  • Example#1688 - Ejemplo de $mysqli->warning_count
  • Example#1689 - Estilo orientado a objetos
  • Example#1690 - Estilo por procedimientos
  • Example#1691 - Estilo orientado a objetos
  • Example#1692 - Estilo por procedimientos
  • Example#1693 - Estilo orientado a objetos
  • Example#1694 - Estilo por procedimientos
  • Example#1695 - Estilo orientado a objetos
  • Example#1696 - Estilo por procedimientos
  • Example#1697 - Estilo orientado a objetos
  • Example#1698 - Estilo por procedimientos
  • Example#1699 - Estilo orientado a objetos
  • Example#1700 - Estilo por procedimientos
  • Example#1701 - Estilo orientado a objetos
  • Example#1702 - Estilo por procedimientos
  • Example#1703 - Estilo orientado a objetos
  • Example#1704 - Estilo por procedimientos
  • Example#1705 - Estilo orientado a objetos
  • Example#1706 - Estilo por procedimientos
  • Example#1707 - Estilo orientado a objetos
  • Example#1708 - Estilo por procedimientos
  • Example#1709 - Estilo orientado a objetos
  • Example#1710 - Estilo por procedimientos
  • Example#1711 - Estilo orientado a objetos
  • Example#1712 - Estilo por procedimientos
  • Example#1713 - Estilo orientado a objetos
  • Example#1714 - Estilo por procedimientos
  • Example#1715 - Estilo orientado a objetos
  • Example#1716 - Estilo por procedimientos
  • Example#1717 - Estilo orientado a objetos
  • Example#1718 - Estilo orientado a objetos
  • Example#1719 - Estilo por procedimientos
  • Example#1720 - Estilo orientado a objetos
  • Example#1721 - Estilo por procedimientos
  • Example#1722 - Estilo orientado a objetos
  • Example#1723 - Estilo por procedimientos
  • Example#1724 - Estilo orientado a objetos
  • Example#1725 - Estilo por procedimientos
  • Example#1726 - Estilo orientado a objetos
  • Example#1727 - Estilo por procedimientos
  • Example#1728 - Estilo orientado a objetos
  • Example#1729 - Estilo por procedimientos
  • Example#1730 - Un ejemplo de mysqli_result comparando iterator usage
  • Example#1731 - Estilo orientado a objetos
  • Example#1732 - Estilo por procedimientos
  • Example#1733 - Estilo orientado a objetos
  • Example#1734 - Estilo por procedimientos
  • Example#1735 - Estilo orientado a objetos
  • Example#1736 - Estilo por procedimientos
  • Example#1737 - Estilo orientado a objetos
  • Example#1738 - Estilo por procedimientos
  • Example#1739 - Estilo orientado a objetos
  • Example#1740 - Estilo por procedimientos
  • Example#1741 - Estilo orientado a objetos
  • Example#1742 - Estilo por procedimientos
  • Example#1743 - Estilo orientado a objetos
  • Example#1744 - Estilo por procedimientos
  • Example#1745 - Estilo orientado a objetos
  • Example#1746 - Estilo por procedimientos
  • Example#1747 - Estilo orientado a objetos
  • Example#1748 - Estilo por procedimientos
  • Example#1749 - Estilo orientado a objetos
  • Example#1750 - Estilo por procedimientos
  • Example#1751 - Ejemplo de mysqli_get_cache_stats
  • Example#1752 - Habilitar el complemento (php.ini)
  • Example#1753 - Fichero de configuración mínima específico del complemento (mysqlnd_ms_plugin.ini)
  • Example#1754 - Configuración mínima recomendada específica del complemento (mysqlnd_ms_plugin.ini)
  • Example#1755 - Usar un servidor como maestro y esclavo (¡solamente para pruebas!)
  • Example#1756 - Fichero de configuración específico del complemento (mysqlnd_ms_plugin.ini)
  • Example#1757 - Abrir una conexión con equilibrado de carga
  • Example#1758 - Ejecutar sentencias
  • Example#1759 - Configuración del complemento con un esclavo y un maestro
  • Example#1760 - Problema: estado de conexión y variables SQL de usuario
  • Example#1761 - Configuración del complemento con un esclavo y un maestro
  • Example#1762 - Sugerencias SQL para evitar el intercambio de conexión
  • Example#1763 - Enfrentarse a la demora de replicación
  • Example#1764 - Creación de una tabla en un esclavo
  • Example#1765 - Configuración del complemento con un esclavo y un maestro
  • Example#1766 - Usar sugerencias SQL para transacciones
  • Example#1767 - Equilibrado de carga considerando transacciones: el ajuste trx_stickiness
  • Example#1768 - Consideración de transacciones
  • Example#1769 - Consistencia de sesión: lectura de sus escrituras
  • Example#1770 - Solicitud de consistencia de sesión
  • Example#1771 - Edad máxima/demora del esclavo
  • Example#1772 - Limitar la demora del esclavo
  • Example#1773 - La tolerancia a fallos no está establecida
  • Example#1774 - No hay esclavos dentro del límite de tiempo
  • Example#1775 - Crear una tabla contador en el maestro
  • Example#1776 - Configuración del complemento: SQL para la inyección del GTID en el lado del cliente
  • Example#1777 - Inyección transparente del ID de transacciones global
  • Example#1778 - Configuración del complemento: SQL para obtener el GTID
  • Example#1779 - Obtener el GTID después de la ejecución
  • Example#1780 - Configuración del complemento: comprobar un GTID en particular
  • Example#1781 - Nivel de servicio de consistencia de sesión y GTID combinados
  • Example#1782 - Configuración de complemento: usar la característica del GTID interna de MySQL 5.6.5-m8
  • Example#1783 - Resumen: calidad del servicio para solicitar la lectura de sus escrituras
  • Example#1784 - Configuración del complemento: sin entradas especiales para la caché
  • Example#1785 - Almacenar en caché una petición a un servidor
  • Example#1786 - Lectura de sus escrituras y almacenamiento en la caché combinados
  • Example#1787 - Tolerancia a fallos manual, opcional automáticia
  • Example#1788 - Tolerancia a fallos manual
  • Example#1789 - Clúster de grupos de nodos
  • Example#1790 - Particionamiento manual usando sugerencias SQL
  • Example#1791 - Provocar un error de conexión
  • Example#1792 - Error de conexión en la ejecución de una consulta
  • Example#1793 - Provocar un error de conexión
  • Example#1794 - Tolerancia a fallos más básica
  • Example#1795 - Provocar un error transitorio
  • Example#1796 - Bucle de reintentos del error transitorio
  • Example#1797 - Habilitar el complemento (php.ini)
  • Example#1798 - Configuración básica del complemento (mysqlnd_ms_plugin.ini) para la Replicación de MySQL
  • Example#1799 - Múltiples primarios - multimaestro (php.ini)
  • Example#1800 - Copia primaria con múltiples primarios y particionamiento
  • Example#1801 - Múltiples primarios - multimaestro (php.ini)
  • Example#1802 - Clúster de actualización en cualquier sitio sincrónico
  • Example#1803 - Convertir un array de PHP (hash) al formato JSON
  • Example#1804 - Ejemplo del uso de nombres de sección
  • Example#1805 - Lista de esclavos anónimos
  • Example#1806 - Lista de maestros usando nombres simbólicos
  • Example#1807 - Palabras clave para configurar un servidor
  • Example#1808 - El nuevo filtro roundrobin, funcionalidad antigua
  • Example#1809 - El filtro user reemplaza a mysqlnd_ms_set_user_pick_server
  • Example#1810 - Mensaje de error común en caso de problemas con el fichero de configuración (hasta la versión 1.5.0)
  • Example#1811 - Validación mejorada del fichero de configuración desde 1.5.0
  • Example#1812 - Error posiblemente más preciso debido a mysqlnd_ms.force_config_usage=1
  • Example#1813 - Secuencia de filtros inválida
  • Example#1814 - Equilibrado de carga aleatorio con el filtro random
  • Example#1815 - Equilibrado de carga "aleatoria una vez" con el filtro random
  • Example#1816 - Error de referencia
  • Example#1817 - Asignar weight para el equilibrado de carga
  • Example#1818 - Filtro roundrobin
  • Example#1819 - Establecer una llamada de retorno
  • Example#1820 - Utilizar una llamada de retorno
  • Example#1821 - Devolver maestros y esclavos aleatorios
  • Example#1822 - Particionamiento manual
  • Example#1823 - Límite global de la demora de los esclavos
  • Example#1824 - Tolerancia a fallos opcional en el maestro al fallar una conexión a un esclavo
  • Example#1825 - Nueva sintaxis desde 1.4.0
  • Example#1826 - Deshabilitar las conexiones retardadas
  • Example#1827 - Escapado de cadenas de texto sobre un gestor de conexiones retardadas
  • Example#1828 - master_on_write para lecturas consistentes
  • Example#1829 - Utilizar el maestro para ejecutar transacciones
  • Example#1830 - Sin tolerancia a fallos automáticia, inconveniente al manejar errores
  • Example#1831 - Bucle de reintentos para errores transitorios
  • Example#1832 - Ejemplo del uso de nombres de sección
  • Example#1833 - Sintaxis de lista
  • Example#1834 - Comprobar la actividad del complemento en un modelo de desarrollo sin hilos
  • Example#1835 - Registrar las estadístcias durante el cierre
  • Example#1836 - Ejemplo demostrando el uso de constantes de mysqlnd_ms
  • Example#1837 - Ejemplo de mysqlnd_ms_get_last_gtid
  • Example#1838 - Ejemplo de mysqlnd_ms_get_last_used_connection
  • Example#1839 - Ejemplo de mysqlnd_ms_get_stats
  • Example#1840 - Ejemplo de mysqlnd_ms_match_wild
  • Example#1841 - Ejemplo de mysqlnd_ms_query_is_select
  • Example#1842 - Ejemplo de mysqlnd_ms_set_qos
  • Example#1843 - Ejemplo de mysqlnd_ms_set_user_pick_server
  • Example#1844 - Habilitar el complemento (php.ini)
  • Example#1845 - Usar la sugerencia SQL MYSQLND_QC_ENABLE_SWITCH
  • Example#1846 - Usar la sugerencia SQL MYSQLND_QC_DISABLE_SWITCH
  • Example#1847 - Ejemplo que muestra qué tipos de sentencias no son almacenadas en la caché
  • Example#1848 - Habilitar el almacenamiento en caché de todas las sentencias usando el ajuste ini mysqlnd_qc.cache_no_table
  • Example#1849 - Establecer el TTL con el ajuste ini mysqlnd_qc.ttl
  • Example#1850 - Establecer el TTL con sugerencias SQL
  • Example#1851 - Establecer una llamada de retorno con mysqlnd_qc_set_is_select
  • Example#1852 - Habilitar el mecanismo de defensa de cierre
  • Example#1853 - Recopilar un rastreo de consulta
  • Example#1854 - Establecer la profundidad de la búsqueda de rastros con el ajuste ini mysqlnd_qc.query_trace_bt_depth
  • Example#1855 - Recopilar datos de estadísticas con el ajuste ini mysqlnd_qc.time_statistics
  • Example#1856 - Ejemplo del uso de mysqlnd_qc_get_cache_info
  • Example#1857 - Ejemplo del uso de mysqlnd_qc_get_normalized_query_trace_log
  • Example#1858 - Utilizar un gestor de almacenamiento definido por el usuario
  • Example#1859 - Usar constantes de sugerencias SQL
  • Example#1860 - Ejemplo del uso de mysqlnd_qc_set_cache_condition
  • Example#1861 - Ejemplo de mysqlnd_qc_get_available_handlers
  • Example#1862 - Ejemplo de mysqlnd_qc_get_cache_info
  • Example#1863 - Ejemplo de mysqlnd_qc_get_core_stats
  • Example#1864 - Ejemplo de mysqlnd_qc_get_normalized_query_trace_log
  • Example#1865 - Ejemplo de mysqlnd_qc_get_query_trace_log
  • Example#1866 - Ejemplo de mysqlnd_qc_set_cache_condition
  • Example#1867 - Ejemplo de mysqlnd_qc_set_is_select
  • Example#1868 - Ejemplo de mysqlnd_qc_set_storage_handler
  • Example#1869 - Habilitar el complemento (php.ini)
  • Example#1870 - Pseudocódigo: qué hace la clase interna
  • Example#1871 - Instalar un proxy
  • Example#1872 - Registro del proxy, mysqlnd_uh.enable=1
  • Example#1873 - La instalación del proxy deshabilitada
  • Example#1874 - Proxy de conexión
  • Example#1875 - Proxy de sentencia preparada
  • Example#1876 - Monitorización básica
  • Example#1877 - Ejemplo de MysqlndUhConnection::changeUser
  • Example#1878 - Ejemplo de MysqlndUhConnection::charsetName
  • Example#1879 - Ejemplo de MysqlndUhConnection::close
  • Example#1880 - Ejemplo de MysqlndUhConnection::connect
  • Example#1881 - Ejemplo de MysqlndUhConnection::endPSession
  • Example#1882 - Ejemplo de MysqlndUhConnection::escapeString
  • Example#1883 - Ejemplo de MysqlndUhConnection::getAffectedRows
  • Example#1884 - Ejemplo de MysqlndUhConnection::getErrorNumber
  • Example#1885 - Ejemplo de MysqlndUhConnection::getErrorString
  • Example#1886 - Ejemplo de MysqlndUhConnection::getFieldCount
  • Example#1887 - Ejemplo de MysqlndUhConnection::getHostInformation
  • Example#1888 - Ejemplo de MysqlndUhConnection::getLastInsertId
  • Example#1889 - Ejemplo de MysqlndUhConnection::getLastMessage
  • Example#1890 - Ejemplo de MysqlndUhConnection::getProtocolInformation
  • Example#1891 - Ejemplo de MysqlndUhConnection::getServerInformation
  • Example#1892 - Ejemplo de MysqlndUhConnection::getServerStatistics
  • Example#1893 - Ejemplo de MysqlndUhConnection::getServerVersion
  • Example#1894 - Ejemplo de MysqlndUhConnection::getSqlstate
  • Example#1895 - Ejemplo de MysqlndUhConnection::getStatistics
  • Example#1896 - Ejemplo de MysqlndUhConnection::getThreadId
  • Example#1897 - Ejemplo de MysqlndUhConnection::getWarningCount
  • Example#1898 - Ejemplo de MysqlndUhConnection::init
  • Example#1899 - Ejemplo de MysqlndUhConnection::kill
  • Example#1900 - Ejemplo de MysqlndUhConnection::listFields
  • Example#1901 - Ejemplo de MysqlndUhConnection::listMethod
  • Example#1902 - Ejemplo de MysqlndUhConnection::moreResults
  • Example#1903 - Ejemplo de MysqlndUhConnection::nextResult
  • Example#1904 - Ejemplo de MysqlndUhConnection::ping
  • Example#1905 - Ejemplo de MysqlndUhConnection::query
  • Example#1906 - Ejemplo de MysqlndUhConnection::queryReadResultsetHeader
  • Example#1907 - Ejemplo de MysqlndUhConnection::reapQuery
  • Example#1908 - Ejemplo de MysqlndUhConnection::refreshServer
  • Example#1909 - Ejemplo de MysqlndUhConnection::restartPSession
  • Example#1910 - Ejemplo de MysqlndUhConnection::selectDb
  • Example#1911 - Ejemplo de MysqlndUhConnection::sendClose
  • Example#1912 - Ejemplo de MysqlndUhConnection::sendQuery
  • Example#1913 - Ejemplo de MysqlndUhConnection::serverDumpDebugInformation
  • Example#1914 - Ejemplo de MysqlndUhConnection::setAutocommit
  • Example#1915 - Ejemplo de MysqlndUhConnection::setCharset
  • Example#1916 - Ejemplo de MysqlndUhConnection::setClientOption
  • Example#1917 - Ejemplo de MysqlndUhConnection::setServerOption
  • Example#1918 - Ejemplo de MysqlndUhConnection::simpleCommand
  • Example#1919 - Ejemplo de MysqlndUhConnection::simpleCommandHandleResponse
  • Example#1920 - Ejemplo de MysqlndUhConnection::sslSet
  • Example#1921 - Ejemplo de MysqlndUhConnection::stmtInit
  • Example#1922 - Ejemplo de MysqlndUhConnection::storeResult
  • Example#1923 - Ejemplo de MysqlndUhConnection::txCommit
  • Example#1924 - Ejemplo de MysqlndUhConnection::txRollback
  • Example#1925 - Ejemplo de MysqlndUhConnection::useResult
  • Example#1926 - Ejemplo de MysqlndUhPreparedStatement::execute
  • Example#1927 - Ejemplo de MysqlndUhPreparedStatement::prepare
  • Example#1928 - Ejemplo de mysqlnd_uh_convert_to_mysqlnd
  • Example#1929 - Ejemplo de mysqlnd_uh_set_connection_proxy
  • Example#1930 - Enabling the plugin (php.ini)
  • Example#1931 - SQL table used for the Quickstart
  • Example#1932 - Basic example.
  • Example#1933 - mysqlnd_memcache_get_config example
  • Example#1934 - mysqlnd_memcache_set example with var_dump as a simple debugging callback.
  • Example#1935 - Consulta básica
  • Example#1936 - Inserción con variables vinculadas
  • Example#1937 - Insertar datos en una columna CLOB
  • Example#1938 - Usar una función almacenada de PL/SQL
  • Example#1939 - Utilizar un procedimiento almacenado de PL/SQL
  • Example#1940 - Llamar a una función de PL/SQL que devuelve un REF CURSOR
  • Example#1941 - user_oci8_probes.d para rasrear todos los Sondeos estáticos de OCI8 para PHP al nivel de usuario con DTrace
  • Example#1942 - Ejemplo de oci_bind_array_by_name
  • Example#1943 - Insertar datos con oci_bind_by_name
  • Example#1944 - Vincular una vez para múltiples ejecuciones
  • Example#1945 - Vinculación con un bucle foreach
  • Example#1946 - Vinculación en una cláusula WHERE
  • Example#1947 - Vinculación con una cláusula LIKE
  • Example#1948 - Vinculación con REGEXP_LIKE
  • Example#1949 - Vinculación de múltiples valores en una cláusula IN
  • Example#1950 - Vinculación de un ROWID devuelto por una consulta
  • Example#1951 - Vinculación de un ROWID sobre INSERT
  • Example#1952 - Vinculación para una función almacenada de PL/SQL
  • Example#1953 - Vinculación de parámetros para un procedimiento almacenado de PL/SQL
  • Example#1954 - Vinculación de una columna CLOB
  • Example#1955 - Ejemplo de oci_client_version
  • Example#1956 - Cerrar una conexión
  • Example#1957 - Las conexiones a bases de datos no se cierran hasta que todas las referencias sean cerradas
  • Example#1958 - Cerrar una conexión abierta más de una vez
  • Example#1959 - Las conexsiones se cierran cuando las variables salen de su ámbito
  • Example#1960 - Ejemplo de oci_commit
  • Example#1961 - Uso básico de oci_connect utilizando la sintaxis de Easy Connect
  • Example#1962 - Uso básico de oci_connect utilizando un nombre de Network Connect
  • Example#1963 - oci_connect con un conjunto de caracteres explícito
  • Example#1964 - Usar múltiples llamadas a oci_connect
  • Example#1965 - Ejemplo de oci_define_by_name
  • Example#1966 - oci_define_by_name con nombres de columna sensibles al uso de mayúsculas/minúsculas
  • Example#1967 - oci_define_by_name con columnas de tipo LOB
  • Example#1968 - oci_define_by_name con un tipo explícito
  • Example#1969 - Mostrar el mensaje de error de Oracle después de un error de conexión
  • Example#1970 - Mostrar el mensaje de error de Oracle después de un error de análisis
  • Example#1971 - Mostrar el mensaje de error de Oracle, la sentencia problemática, y la posición del problema en un error de ejecución
  • Example#1972 - oci_execute para consultas
  • Example#1973 - Ejemplo de oci_execute sin especificar un modo
  • Example#1974 - Ejemplo de oci_execute con OCI_NO_AUTO_COMMIT
  • Example#1975 - Ejemplo de oci_execute con diferentes modos de consolidación
  • Example#1976 - Ejemplo de oci_execute con OCI_DESCRIBE_ONLY
  • Example#1977 - Ejemplo de oci_fetch_all
  • Example#1978 - Ejemplo de oci_fetch_all con OCI_FETCHSTATEMENT_BY_ROW
  • Example#1979 - oci_fetch_all con OCI_NUM
  • Example#1980 - oci_fetch_array con OCI_BOTH
  • Example#1981 - oci_fetch_array con OCI_NUM
  • Example#1982 - oci_fetch_array con OCI_ASSOC
  • Example#1983 - oci_fetch_array con OCI_RETURN_NULLS
  • Example#1984 - oci_fetch_array con OCI_RETURN_LOBS
  • Example#1985 - oci_fetch_array con nombres de columna sensibles al uso de mayúsculas/minúsculas
  • Example#1986 - oci_fetch_array con columnas que tienen nombres duplicados
  • Example#1987 - oci_fetch_array con columnas DATE
  • Example#1988 - oci_fetch_array con REF CURSOR
  • Example#1989 - oci_fetch_array con una consulta como LIMIT
  • Example#1990 - oci_fetch_array con Conjuntos de Resultados Implícitos de Oracle Database 12c
  • Example#1991 - Ejemplo de oci_fetch_assoc
  • Example#1992 - Ejemplo de oci_fetch_object
  • Example#1993 - oci_fetch_object con nombres de columnas sensibles al uso de mayúsculas/minúsculas
  • Example#1994 - oci_fetch_object con LOBs
  • Example#1995 - Ejemplo de oci_fetch_row
  • Example#1996 - oci_fetch con variables definidas
  • Example#1997 - oci_fetch con oci_result
  • Example#1998 - Ejemplo de oci_field_name
  • Example#1999 - Ejemplo de oci_field_size
  • Example#2000 - Ejemplo de oci_field_type
  • Example#2001 - Obtener Conjuntos de resultados implícitos en un blucle
  • Example#2002 - Obtener gestores de sentencias hijas individualemente
  • Example#2003 - Establecer explícitamente la Cuenta de precarga
  • Example#2004 - Ejemplo de Conjunto de resultados implícitos sin usar oci_get_implicit_resultset
  • Example#2005 - Ejemplo de oci_new_connect
  • Example#2006 - Usar un REF CURSOR en un procedimiento almacenado de Oracle
  • Example#2007 - Usar un REF CURSOR en una sentencia de selección de Oracle
  • Example#2008 - Ejemplo de oci_new_descriptor
  • Example#2009 - Ejemplo de oci_new_descriptor
  • Example#2010 - Ejemplo de oci_num_fields
  • Example#2011 - Ejemplo de oci_num_rows
  • Example#2012 - Ejemplo de oci_parse para sentencias SQL
  • Example#2013 - Ejemplo de oci_parse para sentencias PL/SQL
  • Example#2014 - Ejemplo de oci_password_change cambiando la contraseña de un usuario ya conectado
  • Example#2015 - Ejemplo de oci_password_change conectando y cambiando la contraseña en un solo paso
  • Example#2016 - Ejemplo básico de oci_pconnect usando la sintaxis de Easy Connect
  • Example#2017 - oci_fetch con oci_result
  • Example#2018 - Ejemplo de oci_rollback
  • Example#2019 - Ejemplo de reversión a un SAVEPOINT
  • Example#2020 - Ejemplo de oci_server_version
  • Example#2021 - Establecer la acción
  • Example#2022 - Establecer el identificador del cliente para el usuario de la aplicación
  • Example#2023 - Establecer la información del cliente
  • Example#2024 - Dos scripts pueden usar diferentes versiones de myfunc() a la vez
  • Example#2025 - Establecer el nombre del módulo
  • Example#2026 - Cambiar el valor de precarga predeterminado para una consulta
  • Example#2027 - Cambiar la precarga predeterminada para la obtención de un REF CURSOR
  • Example#2028 - Establecer el valor de precarga cuando se vuelve a pasar un REF CURSOR a Oracle
  • Example#2029 - Ejemplo de oci_statement_type
  • Example#2030 - Conectarse a Ovrimos SQL Server y selecciona de una tabla del sistema
  • Example#2031 - Ejemplo de ovrimos_connect
  • Example#2032 - A fetch into example
  • Example#2033 - A fetch row example
  • Example#2034 - ovrimos_prepare Example
  • Example#2035 - Prepare a statement, execute, and view the result
  • Example#2036 - ovrimos_result_all with meta-information
  • Example#2037 - Creación de una base de datos Paradox con dos campos
  • Example#2038 - Convierte una fecha en el archivo paradox en un formato legible por humanos
  • Example#2039 - Establece los campos fecha/hora en una base de datos paradox a la fecha/hora actual
  • Example#2040 - Abrir una base de datos Paradox
  • Example#2041 - Abrir una base de datos Paradox
  • Example#2042 - Conversión de una fecha y hora paradox en un formato legible por humanos
  • Example#2043 - Ejemplo resumido de la extensión PostgreSQL
  • Example#2044 - Ejemplo de pg_affected_rows
  • Example#2045 - Ejemplo de pg_cancel_query
  • Example#2046 - Ejemplo de pg_client_encoding
  • Example#2047 - Ejemplo de pg_close
  • Example#2048 - Usando pg_connect
  • Example#2049 - Ejemplo de pg_connection_busy
  • Example#2050 - Ejemplo de pg_connection_reset
  • Example#2051 - Ejemplo de pg_connection_status
  • Example#2052 - Ejemplo de pg_convert
  • Example#2053 - Ejemplo de la función pg_copy_from
  • Example#2054 - Ejemplo de pg_copy_to
  • Example#2055 - Ejemplo de pg_dbname
  • Example#2056 - Ejemplo de la función pg_delete
  • Example#2057 - pg_end_copy example
  • Example#2058 - Ejemplo de pg_escape_bytea
  • Example#2059 - pg_escape_identifier example
  • Example#2060 - pg_escape_literal example
  • Example#2061 - pg_escape_string example
  • Example#2062 - Usando pg_execute
  • Example#2063 - pg_fetch_all_columns example
  • Example#2064 - PostgreSQL fetch all
  • Example#2065 - pg_fetch_array example
  • Example#2066 - pg_fetch_assoc example
  • Example#2067 - pg_fetch_object example
  • Example#2068 - pg_fetch_result example
  • Example#2069 - pg_fetch_row example
  • Example#2070 - pg_field_is_null example
  • Example#2071 - Getting information about fields
  • Example#2072 - Getting information about fields
  • Example#2073 - Getting information about fields
  • Example#2074 - Getting information about fields
  • Example#2075 - Getting table information about a field
  • Example#2076 - Getting information about fields
  • Example#2077 - Getting information about fields
  • Example#2078 - pg_free_result example
  • Example#2079 - PostgreSQL NOTIFY message
  • Example#2080 - PostgreSQL backend PID
  • Example#2081 - pg_get_result example
  • Example#2082 - pg_host example
  • Example#2083 - pg_insert example
  • Example#2084 - pg_last_error example
  • Example#2085 - pg_last_notice example
  • Example#2086 - pg_last_oid example
  • Example#2087 - pg_lo_close example
  • Example#2088 - pg_lo_create example
  • Example#2089 - pg_lo_export example
  • Example#2090 - pg_lo_import example
  • Example#2091 - pg_lo_open example
  • Example#2092 - pg_lo_read_all example
  • Example#2093 - pg_lo_read example
  • Example#2094 - pg_lo_seek example
  • Example#2095 - pg_lo_tell example
  • Example#2096 - pg_lo_unlink example
  • Example#2097 - pg_lo_write example
  • Example#2098 - Getting table metadata
  • Example#2099 - pg_num_fields example
  • Example#2100 - pg_num_rows example
  • Example#2101 - pg_options example
  • Example#2102 - pg_parameter_status example
  • Example#2103 - Using pg_pconnect
  • Example#2104 - Ejemplo de pg_ping
  • Example#2105 - Ejemplo de pg_port
  • Example#2106 - Using pg_prepare
  • Example#2107 - pg_put_line example
  • Example#2108 - Using pg_query_params
  • Example#2109 - pg_query example
  • Example#2110 - Using pg_query with multiple statements
  • Example#2111 - pg_result_error_field example
  • Example#2112 - pg_result_error example
  • Example#2113 - pg_result_seek example
  • Example#2114 - pg_result_status example
  • Example#2115 - pg_select example
  • Example#2116 - Using pg_send_execute
  • Example#2117 - Using pg_send_prepare
  • Example#2118 - Using pg_send_query_params
  • Example#2119 - pg_send_query example
  • Example#2120 - pg_set_client_encoding example
  • Example#2121 - pg_set_error_verbosity example
  • Example#2122 - pg_trace example
  • Example#2123 - pg_transaction_status example
  • Example#2124 - pg_tty example
  • Example#2125 - pg_unescape_bytea example
  • Example#2126 - pg_untrace example
  • Example#2127 - pg_update example
  • Example#2128 - Ejemplo de pg_version
  • Example#2129 - Estilo por procedimientos
  • Example#2130 - Estilo orientado a objetos
  • Example#2131 - Estilo por procedimientos
  • Example#2132 - Estilo orientado a objetos
  • Example#2133 - Estilo por procedimientos
  • Example#2134 - Estilo orientado a objetos
  • Example#2135 - Ejemplo de sqlite_close
  • Example#2136 - Ejemplo de función totalizadora max_length
  • Example#2137 - Ejemplo de sqlite_create_function
  • Example#2138 - Ejemplo de uso de la función PHP
  • Example#2139 - Ejemplo procedimental
  • Example#2140 - Ejemplo orientado a objetos
  • Example#2141 - Ejemplo de sqlite_factory
  • Example#2142 - Ejemplo procedimental
  • Example#2143 - Ejemplo orientado a objetos
  • Example#2144 - Ejemplo prodecimental
  • Example#2145 - Ejemplo orientado a objetos
  • Example#2146 - Ejemplo prodecimental
  • Example#2147 - Ejemplo orientado a objetos
  • Example#2148 - Un ejemplo de sqlite_fetch_single
  • Example#2149 - Ejemplo procedimental
  • Example#2150 - Ejemplo orienteado a objetos
  • Example#2151 - Ejemplo de sqlite_open
  • Example#2152 - Ejemplo de la función totalizadora max_length segura a nivel binario
  • Example#2153 - Ejemplo de SQLite3::changes
  • Example#2154 - Ejemplo de SQLite3::close
  • Example#2155 - Ejemplo de SQLite3::__construct
  • Example#2156 - SQLite3::createCollation
  • Example#2157 - Ejemplo de SQLite3::createFunction
  • Example#2158 - Ejemplo de SQLite3::exec
  • Example#2159 - Ejemplo de SQLite3::loadExtension
  • Example#2160 - Ejemplo de SQLite3::open
  • Example#2161 - Ejemplo de SQLite3::prepare
  • Example#2162 - Ejemplo de SQLite3::query
  • Example#2163 - Ejemplo de SQLite3::querySingle
  • Example#2164 - Ejemplo de SQLite3::version
  • Example#2165 - Ejemplo de SQLite3Stmt::bindValue
  • Example#2166 - Ejemplo de sqlsrv_begin_transaction
  • Example#2167 - Ejemplo de sqlsrv_cancel
  • Example#2168 - Ejemplo de sqlsrv_client_info
  • Example#2169 - Ejemplo de sqlsrv_close
  • Example#2170 - Ejemplo de sqlsrv_commit
  • Example#2171 - Conectar utilizando autenticación Windows.
  • Example#2172 - Conectar especificando nombre de usuario y contraseña.
  • Example#2173 - Conectar a un puerto específico.
  • Example#2174 - ejemplo de functionname
  • Example#2175 - ejemplo de sqlsrv_execute
  • Example#2176 - Devolver un array asociativo.
  • Example#2177 - Devolver un array numérico.
  • Example#2178 - Ejemplo con sqlsrv_fetch_object
  • Example#2179 - Ejemplo con sqlsrv_fetch
  • Example#2180 - Ejemplo con sqlsrv_field_metadata
  • Example#2181 - sqlsrv_free_stmt example
  • Example#2182 - sqlsrv_get_field example
  • Example#2183 - sqlsrv_has_rows example
  • Example#2184 - sqlsrv_next_result example
  • Example#2185 - sqlsrv_num_fields example
  • Example#2186 - sqlsrv_num_rows example
  • Example#2187 - sqlsrv_prepare example
  • Example#2188 - sqlsrv_query example
  • Example#2189 - sqlsrv_rollback example
  • Example#2190 - sqlsrv_rows_affected example
  • Example#2191 - sqlsrv_send_stream_data example
  • Example#2192 - sqlsrv_server_info example
  • Example#2193 - Delete-Query
  • Example#2194 - Ejemplo con sybase_connect
  • Example#2195 - Nombres de campos idénticos
  • Example#2196 - Ejemplo con sybase_fetch_object que devuelve Foo
  • Example#2197 - sybase_set_message_handler función llamada de retorno
  • Example#2198 - sybase_set_message_handler llamada de retorno a una clase
  • Example#2199 - sybase_set_message_handler mensajes no gestionados
  • Example#2200 - Ejemplo con sybase_unbuffered_query
  • Example#2201 - Putting and getting a key-value pair
  • Example#2202 - TokyoTyrant::add example
  • Example#2203 - TokyoTyrant::connect example
  • Example#2204 - TokyoTyrant::connectUri example
  • Example#2205 - TokyoTyrant::copy example
  • Example#2206 - TokyoTyrant::ext example
  • Example#2207 - TokyoTyrant::fwmKeys example
  • Example#2208 - TokyoTyrant::get example
  • Example#2209 - TokyoTyrant::getIterator example
  • Example#2210 - TokyoTyrant::num example
  • Example#2211 - TokyoTyrant::out example
  • Example#2212 - TokyoTyrant::put example
  • Example#2213 - TokyoTyrant::putCat example
  • Example#2214 - tokyotyrant::putKeep example
  • Example#2215 - TokyoTyrant::putNr example
  • Example#2216 - TokyoTyrant::putShl example
  • Example#2217 - TokyoTyrant::setMaster example
  • Example#2218 - TokyoTyrant::size example
  • Example#2219 - TokyoTyrant::stat example
  • Example#2220 - TokyoTyrant::vanish example
  • Example#2221 - TokyoTyrantTable::genUid example
  • Example#2222 - TokyoTyrantTable::get example
  • Example#2223 - TokyoTyrantTable::getIterator example
  • Example#2224 - TokyoTyrantTable::getQuery example
  • Example#2225 - TokyoTyrantTable::out example
  • Example#2226 - TokyoTyrantTable::put example
  • Example#2227 - TokyoTyrantTable::putCat example
  • Example#2228 - TokyoTyrantTable::putKeep example
  • Example#2229 - TokyoTyrantQuery::addCond example
  • Example#2230 - TokyoTyrantQuery::__construct example
  • Example#2231 - TokyoTyrantQuery::count example
  • Example#2232 - TokyoTyrantQuery iterator example
  • Example#2233 - TokyoTyrantQuery::hint example
  • Example#2234 - TokyoTyrantQuery iterator example
  • Example#2235 - TokyoTyrantQuery::metaSearch example
  • Example#2236 - TokyoTyrantQuery iterator example
  • Example#2237 - TokyoTyrantQuery::out example
  • Example#2238 - TokyoTyrantQuery iterator example
  • Example#2239 - TokyoTyrantQuery::search example
  • Example#2240 - TokyoTyrantQuery iterator example
  • Example#2241 - TokyoTyrantIterator::__construct example
  • Example#2242 - Ejemplo de cal_days_in_month
  • Example#2243 - Ejemplo de cal_from_jd
  • Example#2244 - Ejemplo de cal_info
  • Example#2245 - Ejemplo de easter_date
  • Example#2246 - Ejemplo de easter_days
  • Example#2247 - Funciones de calendario
  • Example#2248 - Ejemplo de jdtojewish
  • Example#2249 - Ejemplo de DateTime::add
  • Example#2250 - Más ejemplos de DateTime::add
  • Example#2251 - Cuidado al añadir meses
  • Example#2252 - Ejemplo de DateTime::__construct
  • Example#2253 - Complejidades de DateTime::__construct
  • Example#2254 - Ejemplo de DateTime::createFromFormat
  • Example#2255 - Complejidades de DateTime::createFromFormat
  • Example#2256 - Ejemplo de DateTime::getLastErrors
  • Example#2257 - Ejemplo de DateTime::modify
  • Example#2258 - Cuidado al añadir o sustraer meses
  • Example#2259 - Ejemplo de DateTime::setDate
  • Example#2260 - Los valores que exceden rangos son añadidos a sus valores padre
  • Example#2261 - Ejemplo de DateTime::setISODate
  • Example#2262 - Los valores que execen rangos son añadidos a sus valores padre
  • Example#2263 - Buscar el mes en el que se encuentra una semana
  • Example#2264 - Ejemplo de DateTime::setTime
  • Example#2265 - Los valores que exceden rangos son añadidos a sus valores padre
  • Example#2266 - Ejemplo de DateTime::setTimestamp
  • Example#2267 - Alternativa de DateTime::setTimestamp en PHP 5.2
  • Example#2268 - Ejemplo de DateTime::setTimeZone
  • Example#2269 - Ejemplo de DateTime::sub
  • Example#2270 - Más ejemplos de DateTime::sub
  • Example#2271 - Cuidado al sustraer meses
  • Example#2272 - Ejemplo de DateTime::diff
  • Example#2273 - Comparación de objetos DateTime
  • Example#2274 - Ejemplo de DateTime::format
  • Example#2275 - Ejemplo de DateTime::getOffset
  • Example#2276 - Ejemplo de DateTime::getTimestamp
  • Example#2277 - Ejemplo de DateTime::getTimezone
  • Example#2278 - Atrapar errores cuando se instancia DateTimeZone
  • Example#2279 - Ejemplo de DateTimeZone::getLocation
  • Example#2280 - Ejemplo de DateTimeZone::getOffset
  • Example#2281 - Un ejemplo de timezone_transitions_get
  • Example#2282 - Un ejemplo de timezone_abbreviations_list
  • Example#2283 - Un ejemplo de timezone_identifiers_list
  • Example#2284 - Ejemplo de DateInterval
  • Example#2285 - Analizar intervalos de fechas válidos
  • Example#2286 - Ejemplo de DateInterval
  • Example#2287 - DateInterval y excesos
  • Example#2288 - DateInterval and DateTime::diff with the %a and %d modifiers
  • Example#2289 - Ejemplo de DatePeriod
  • Example#2290 - Ejemplo de DatePeriod con DatePeriod::EXCLUDE_START_DATE
  • Example#2291 - Ejemplo de checkdate
  • Example#2292 - Obtener la zona horaria por defecto
  • Example#2293 - Obtener la abreviatura de una zona horaria
  • Example#2294 - Obtener la zona horaria por defecto
  • Example#2295 - Ejemplo de date_parse_from_format
  • Example#2296 - Un ejemplo de date_parse
  • Example#2297 - Un ejemplo de date_sun_info
  • Example#2298 - Ejemplo de date_sunrise
  • Example#2299 - Ejemplo de date_sunset
  • Example#2300 - Ejemplo de date
  • Example#2301 - Escapar caracteres en date
  • Example#2302 - Ejemplo de date y mktime
  • Example#2303 - date Formatting
  • Example#2304 - Ejemplo de getdate
  • Example#2305 - Ejemplo de gettimeofday
  • Example#2306 - Ejemplo de gmdate
  • Example#2307 - Ejemplo básico de gmmktime
  • Example#2308 - Ejemplo de gmstrftime
  • Example#2309 - Ejemplo de idate
  • Example#2310 - Ejemplo de localtime
  • Example#2311 - Ejecución de un script de cronometraje con microtime
  • Example#2312 - Ejecución de un script de cronometraje en PHP 5
  • Example#2313 - microtime y REQUEST_TIME_FLOAT (desde PHP 5.4.0)
  • Example#2314 - Ejemplo básico de mktime
  • Example#2315 - Ejemplo de mktime
  • Example#2316 - El último día del mes
  • Example#2317 - Ejemplos de configuraciones regionales con strftime
  • Example#2318 - Ejemplo de número de semana con ISO 8601:1988
  • Example#2319 - Ejemplo compatible de multi-plataforma usando del modificador %e
  • Example#2320 - Mostrar todos los formatos conocidos y desconocidos.
  • Example#2321 - Ejemplo de strptime
  • Example#2322 - Un ejemplo de strtotime
  • Example#2323 - Comprobar si falla
  • Example#2324 - Ejemplo de time
  • Example#2325 - Un ejemplo de timezone_name_from_abbr
  • Example#2326 - Obtener la versión de timezonedb
  • Example#2327 - Cerrando un descriptor de fichero
  • Example#2328 - Bloqueando y desbloqueando
  • Example#2329 - Abrir un descriptor de fichero
  • Example#2330 - Posicionamiento de un fichero
  • Example#2331 - Asignando la tasa de baudios del puerto serie
  • Example#2332 - chdir ejemplo
  • Example#2333 - Ejemplo de chroot
  • Example#2334 - closedir ejemplo
  • Example#2335 - Ejemplo de dir
  • Example#2336 - getcwd ejemplo
  • Example#2337 - opendir ejemplo
  • Example#2338 - Listar todas las entradas de un directorio
  • Example#2339 - Listar todas las entradas del directorio actual y descartar . y ..
  • Example#2340 - Un simple ejemplo de scandir
  • Example#2341 - Alternativas a scandir para PHP 4
  • Example#2342 - Ejemplo de finfo_buffer
  • Example#2343 - Un ejemplo de finfo_file
  • Example#2344 - Estilo orientado a objetos
  • Example#2345 - Estilo por procedimientos
  • Example#2346 - Ejemplo mime_content_type
  • Example#2347 - Ejemplo de basename
  • Example#2348 - Cambiar el grupo de un archivo
  • Example#2349 - Uso sencillo de chown
  • Example#2350 - Ejemplo de clearstatcache
  • Example#2351 - Ejemplo de copy
  • Example#2352 - Ejemplo de dirname
  • Example#2353 - Ejemplo de disk_free_space
  • Example#2354 - Ejemplo de disk_total_space
  • Example#2355 - Un ejemplo sencillo de fclose
  • Example#2356 - Manejar tiempos de espera con feof
  • Example#2357 - Ejemplo de feof con un puntero a un archivo no válido
  • Example#2358 - Ejemplo de escritura de un archivo usando fflush
  • Example#2359 - Un ejemplo de fgetc
  • Example#2360 - Lee e imprime el contenido completo de un archivo CSV
  • Example#2361 - Leer un fichero línea a línea
  • Example#2362 - Leer un archivo PHP línea a línea
  • Example#2363 - Comprobar si existe un fichero
  • Example#2364 - Obtiene y muestra el código fuente de la página de inicio de un sitio web
  • Example#2365 - Buscar dentro de include_path
  • Example#2366 - Leer una sección de un fichero
  • Example#2367 - Usar contextos de flujo
  • Example#2368 - Ejemplo sencillo de uso
  • Example#2369 - Usar banderas
  • Example#2370 - Ejemplo de file
  • Example#2371 - Ejemplo de fileatime
  • Example#2372 - Un ejemplo de filectime
  • Example#2373 - Encontrar el grupo de un archivo
  • Example#2374 - Comparar el i-nodo de un archivo con el archivo actual
  • Example#2375 - Ejemplo de filemtime
  • Example#2376 - Encontrar el propietario de un archivo
  • Example#2377 - Muestra los permisos como un valor octal
  • Example#2378 - Muestra los permisos completos
  • Example#2379 - Ejemplo de filesize
  • Example#2380 - Ejemplo de filetype
  • Example#2381 - Ejemplo de flock
  • Example#2382 - flock usando la opción LOCK_NB
  • Example#2383 - Comprobar un adjetivo con un patrón comodín tipo shell
  • Example#2384 - Ejemplos de fopen
  • Example#2385 - Usar fpassthru con archivos binarios
  • Example#2386 - Ejemplo de fputcsv
  • Example#2387 - Un ejemplo sencillo de fread
  • Example#2388 - Ejemplo de lectura binaria de fread
  • Example#2389 - Ejemplos de lectura remota con fread
  • Example#2390 - Ejemplo de fscanf
  • Example#2391 - Contenido de usuarios.txt
  • Example#2392 - Ejemplo de fseek
  • Example#2393 - Ejemplo de fstat
  • Example#2394 - Ejemplo de ftell
  • Example#2395 - Ejemplo de truncar un archivo
  • Example#2396 - Un ejemplo sencillo de fwrite
  • Example#2397 - Manera conveniente de cómo glob puede remplazar a opendir y similares.
  • Example#2398 - Ejemplo de is_dir
  • Example#2399 - Ejemplo de is_executable
  • Example#2400 - Ejemplo de is_file
  • Example#2401 - Crear y confirmar si un archivo es un enlace simbólico
  • Example#2402 - Ejemplo de is_readable
  • Example#2403 - Ejemplo de is_uploaded_file
  • Example#2404 - Ejemplo de is_writable
  • Example#2405 - Cambiar el grupo de un enlace simbólico
  • Example#2406 - Cambiar el propietario de un enlace simbólico
  • Example#2407 - Crear un simple enlace duro
  • Example#2408 - Ejmeplo de linkinfo
  • Example#2409 - Comparación de stat y lstat
  • Example#2410 - Ejmplo de mkdir
  • Example#2411 - mkdir usando el parámetro recursive
  • Example#2412 - Subida de múltiples archivos
  • Example#2413 - Contenido de ejemplo.ini
  • Example#2414 - Ejemplo de parse_ini_file
  • Example#2415 - parse_ini_file analizando un archivo php.ini
  • Example#2416 - Ejemplo de pathinfo
  • Example#2417 - Ejemplo de pathinfo mostrando las diferencias entre null y no utilizar extensión
  • Example#2418 - Ejemplo de pclose
  • Example#2419 - Ejemplo de popen
  • Example#2420 - Ejemplo de popen
  • Example#2421 - Forzar un descarga usando readfile
  • Example#2422 - Ejemplo de readlink
  • Example#2423 - Ejemplo de realpath_cache_get
  • Example#2424 - Ejemplo de realpath_cache_size
  • Example#2425 - Ejemplo de realpath
  • Example#2426 - realpath en Windows
  • Example#2427 - Ejemplo con rename
  • Example#2428 - Ejemplo de sobrescritura con rewind
  • Example#2429 - Ejemplo de rmdir
  • Example#2430 - Ejemplo de stat
  • Example#2431 - Usar la información de stat junto con touch
  • Example#2432 - Crea un enlace simbólico
  • Example#2433 - Ejemplo de tempnam
  • Example#2434 - Ejemplo de tmpfile
  • Example#2435 - Ejemplo de touch
  • Example#2436 - touch usando el parámetro time
  • Example#2437 - Ejemplo de umask
  • Example#2438 - Uso básico de unlink
  • Example#2439 - Ejemplo de uso de inotify
  • Example#2440 - Establecer la ruta a magic.mime
  • Example#2441 - setproctitle ejemplo
  • Example#2442 - setthreadtitle ejemplo
  • Example#2443 - Comprueba si el administrador del sistema firmó el archivo
  • Example#2444 - Imprime los nombres de todos los atributos extendidos del archivo
  • Example#2445 - Elimina todos los atributos extendidos de un archivo
  • Example#2446 - Establece atributos extendidos en archivo .wav
  • Example#2447 - Ejemplo de xattr_supported
  • Example#2448 - Ejemplo de xdiff_file_bdiff_size
  • Example#2449 - Ejemplo de xdiff_file_bdiff
  • Example#2450 - xdiff_file_bpatch example
  • Example#2451 - Ejemplo de xdiff_file_diff_binary
  • Example#2452 - Ejemplo de xdiff_file_diff
  • Example#2453 - Ejemplo de xdiff_file_merge3
  • Example#2454 - Ejemplo de xdiff_file_patch_binary
  • Example#2455 - Ejemplo de xdiff_file_patch
  • Example#2456 - Ejemplo de parche invertido
  • Example#2457 - Ejemplo de xdiff_file_rabdiff
  • Example#2458 - Ejemplo de xdiff_string_bdiff_size
  • Example#2459 - Ejemplo de xdiff_string_diff
  • Example#2460 - Ejemplo de xdiff_string_patch
  • Example#2461 - Ejemplos de Uso de Enchant
  • Example#2462 - Listar los entornos proporcionados por el agente dado
  • Example#2463 - Un ejemplo de enchant_broker_dict_exists
  • Example#2464 - Listar todos los diccionarios disponibles para un agente
  • Example#2465 - Un ejemplo de enchant_broker_request_dict
  • Example#2466 - Un ejemplo de enchant_dict_describe
  • Example#2467 - Un ejemplo de enchant_dict_quick_check
  • Example#2468 - Un ejemplo de enchant_dict_suggest
  • Example#2469 - Ejemplo de uso.
  • Example#2470 - Uso de Gender\Gender::country
  • Example#2471 - Ejemplo de bindtextdomain
  • Example#2472 - gettext-check
  • Example#2473 - Ejemplo de ngettext
  • Example#2474 - Ejemplo de iconv_get_encoding
  • Example#2475 - Ejemplo de iconv_mime_decode_headers
  • Example#2476 - Ejemplo de la función iconv_mime_decode
  • Example#2477 - Ejemplo de iconv_mime_encode
  • Example#2478 - Ejemplo de iconv_set_encoding
  • Example#2479 - Ejemplo de iconv
  • Example#2480 - Ejemplo de ob_iconv_handler
  • Example#2481 - Ejemplo usando la API procedimental
  • Example#2482 - Ejemplo usando la API orientada a objetos
  • Example#2483 - Reglas de FRENCH_COLLATION
  • Example#2484 - Reglas de ALTERNATE_HANDLING
  • Example#2485 - Reglas de CASE_FIRST
  • Example#2486 - Reglas de CASE_LEVEL
  • Example#2487 - Ejemplo de collator_asort
  • Example#2488 - Ejemplo de collator_compare
  • Example#2489 - Ejemplo de Collator::__construct
  • Example#2490 - Ejemplo de collator_create
  • Example#2491 - Ejemplo de collator_get_attribute
  • Example#2492 - Ejemplo collator_get_error_code
  • Example#2493 - Ejemplo de collator_get_error_message
  • Example#2494 - Ejemplo collator_get_locale
  • Example#2495 - Ejemplo de collator_get_sort_key
  • Example#2496 - Ejemplo de collator_get_strength
  • Example#2497 - Ejemplo de collator_set_attribute
  • Example#2498 - Ejemplo de collator_set_strength
  • Example#2499 - Ejemplo de collator_sort_with_sort_keys
  • Example#2500 - Ejemplo de collator_sort
  • Example#2501 - Ejemplo de numfmt_create
  • Example#2502 - Ejemplo de NumberFormatter::create
  • Example#2503 - Ejemplo de numfmt_format_currency
  • Example#2504 - Ejemplo orientado a objetos
  • Example#2505 - Ejemplo de numfmt_format
  • Example#2506 - Ejemplo orientado a objetos
  • Example#2507 - Ejemplo de numfmt_get_attribute
  • Example#2508 - Ejemplo orientado a objetos
  • Example#2509 - Ejemplo de numfmt_get_error_code
  • Example#2510 - Ejemplo orientado a objetos
  • Example#2511 - Ejemplo de numfmt_get_error_message
  • Example#2512 - Ejemplo orientado a objetos
  • Example#2513 - Ejemplo de numfmt_get_locale
  • Example#2514 - Ejemplo de numfmt_get_pattern
  • Example#2515 - OO example
  • Example#2516 - Ejemplo de numfmt_get_symbol
  • Example#2517 - OO example
  • Example#2518 - Ejemplo de numfmt_get_text_attribute
  • Example#2519 - OO example
  • Example#2520 - Ejemplo de numfmt_parse_currency
  • Example#2521 - OO example
  • Example#2522 - Ejemplo de numfmt_parse
  • Example#2523 - Ejemplo O.O.
  • Example#2524 - Ejemplo de numfmt_set_attribute
  • Example#2525 - OO example
  • Example#2526 - Ejemplo de numfmt_set_pattern
  • Example#2527 - OO example
  • Example#2528 - Ejemplo de numfmt_set_symbol
  • Example#2529 - OO example
  • Example#2530 - Ejemplo de numfmt_set_text_attribute
  • Example#2531 - OO example
  • Example#2532 - Ejemplo de locale_accept_from_http
  • Example#2533 - Ejemplo orientado a objetos
  • Example#2534 - Ejemplo de locale_compose
  • Example#2535 - Ejemplo orientado a objetos
  • Example#2536 - Ejemplo de locale_filter_matches
  • Example#2537 - Ejemplo orientado a objetos
  • Example#2538 - Ejepmplo de locale_get_all_variants
  • Example#2539 - Ejemplo orientado a objetos
  • Example#2540 - Ejemplo de locale_get_default
  • Example#2541 - Ejemplo orientado a objetos
  • Example#2542 - Ejemplo de locale_get_display_language
  • Example#2543 - Ejemplo orientado a objetos
  • Example#2544 - Ejemplo de locale_get_display_name
  • Example#2545 - Ejemplo orientado a objetos
  • Example#2546 - Ejemplo de locale_get_display_region
  • Example#2547 - Ejemplo orientado a objetos
  • Example#2548 - Ejemplo de locale_get_display_script
  • Example#2549 - Ejemplo orientado a objetos
  • Example#2550 - Ejemplo de locale_get_display_variant
  • Example#2551 - Ejemplo orientado a objetos
  • Example#2552 - Ejemplo de locale_get_keywords
  • Example#2553 - Ejemplo orientado a objetos
  • Example#2554 - Ejemplo de locale_get_primary_language
  • Example#2555 - Ejemplo orientado a objetos
  • Example#2556 - Ejemplo de locale_get_region
  • Example#2557 - Ejemplo orientado a objetos
  • Example#2558 - Ejemplo de locale_get_script
  • Example#2559 - Ejemplo orientado a objetos
  • Example#2560 - Ejemplo de locale_lookup
  • Example#2561 - Ejemplo orientado a objetos
  • Example#2562 - Ejemplo locale_parse
  • Example#2563 - Ejemplo orientado a objetos
  • Example#2564 - Ejemplo de locale_set_default
  • Example#2565 - Ejemplo orientado a objetos
  • Example#2566 - Ejemplo de normalizer_is_normalized
  • Example#2567 - Ejemplo orientado a objetos
  • Example#2568 - Ejemplo de normalizer_normalize
  • Example#2569 - Ejemplo Orientado a Objetos
  • Example#2570 - Ejemplo de msgfmt_create
  • Example#2571 - Ejemplo orientado a objetos
  • Example#2572 - Ejemplo de msgfmt_format_message
  • Example#2573 - Ejemplo orientado a objetos
  • Example#2574 - Ejemplo de msgfmt_format
  • Example#2575 - Ejemplo orientado a objetos
  • Example#2576 - Ejemplo de msgfmt_get_error_code
  • Example#2577 - Ejemplo orientado a objetos
  • Example#2578 - Ejemplo de msgfmt_get_error_message
  • Example#2579 - Ejemplo orientado a objetos
  • Example#2580 - Ejemplo de msgfmt_get_locale
  • Example#2581 - Ejemplo orientado a objetos
  • Example#2582 - Ejemplo de msgfmt_get_pattern
  • Example#2583 - Ejemplo orientado a objetos
  • Example#2584 - Ejemplo de msgfmt_parse_message
  • Example#2585 - Ejemplo orientado a objetos
  • Example#2586 - Ejemplo de msgfmt_parse
  • Example#2587 - Ejemplo orientado a objetos
  • Example#2588 - Ejemplo de msgfmt_set_pattern
  • Example#2589 - Ejemplo orientado a objetos
  • Example#2590 - IntlCalendar::add
  • Example#2591 - IntlCalendar::after
  • Example#2592 - IntlCalendar::clear examples
  • Example#2593 - IntlCalendar::createInstance
  • Example#2594 - IntlCalendar::equals
  • Example#2595 - IntlCalendar::fieldDifference
  • Example#2596 - IntlCalendar::fromDateTime
  • Example#2597 - IntlCalendar::get
  • Example#2598 - IntlCalendar::getActualMaximum
  • Example#2599 - IntlCalendar::getAvailableLocales()
  • Example#2600 - IntlCalendar::getDayOfWeekType
  • Example#2601 - IntlCalendar::getErrorCode and IntlCalendar::getErrorMessage
  • Example#2602 - IntlCalendar::getErrorMessage
  • Example#2603 - IntlCalendar::getFirstDayOfWeek
  • Example#2604 - IntlCalendar::getKeyworkValuesForLocale
  • Example#2605 - Maxima examples
  • Example#2606 - IntlCalendar::getLocale
  • Example#2607 - IntlCalendar::getMinimalDaysInFirstWeek
  • Example#2608 - IntlCalendar::getNow
  • Example#2609 - IntlCalendar::getRepeatedWallTimeOption
  • Example#2610 - IntlCalendar::getSkippedWallTimeOption
  • Example#2611 - IntlCalendar::getTime
  • Example#2612 - IntlCalendar::getTimeZone
  • Example#2613 - IntlCalendar::getType
  • Example#2614 - IntlCalendar::inDaylightTime
  • Example#2615 - IntlCalendar::isEquivalentTo
  • Example#2616 - IntlCalendar::isLenient
  • Example#2617 - IntlCalendar::isWeekend
  • Example#2618 - IntlCalendar::roll
  • Example#2619 - IntlCalendar::set
  • Example#2620 - IntlCalendar::setFirstDayOfWeek
  • Example#2621 - IntlCalendar::setTime
  • Example#2622 - IntlCalendar::setTimeZone
  • Example#2623 - IntlCalendar::toDateTime
  • Example#2624 - Ejemplo de datefmt_create
  • Example#2625 - Ejemplo orientado a objetos
  • Example#2626 - Ejemplo de datefmt_format
  • Example#2627 - Ejemplo orientado a objetos
  • Example#2628 - Con un objeto IntlCalendar
  • Example#2629 - Ejemplos de IntlDateFormatter::formatObject
  • Example#2630 - Ejemlo de datefmt_get_calendar
  • Example#2631 - Ejemplo orientado a objetos
  • Example#2632 - Ejemlo de datefmt_get_datetype
  • Example#2633 - Ejemplo orientado a objetos
  • Example#2634 - Ejemplo de datefmt_get_error_code
  • Example#2635 - Ejemplo orientado a objetos
  • Example#2636 - Ejemplo de datefmt_get_error_message
  • Example#2637 - Ejemplo orientado a objetos
  • Example#2638 - Ejemplo de datefmt_get_locale
  • Example#2639 - Ejemplo orientado a objetos
  • Example#2640 - Ejemplo de datefmt_get_pattern
  • Example#2641 - Ejemplo orientado a objetos
  • Example#2642 - Ejemplo de datefmt_get_timetype
  • Example#2643 - Ejemplo orientado a objetos
  • Example#2644 - Ejemplo de datefmt_get_timezone_id
  • Example#2645 - Ejemplo orientado a objetos
  • Example#2646 - Ejemplo IntlDateFormatter::getCalendarObject
  • Example#2647 - Ejemplos de IntlDateFormatter::getTimeZone
  • Example#2648 - Ejmplo de datefmt_is_lenient
  • Example#2649 - Ejemplo orientado a objetos
  • Example#2650 - Ejemplo de datefmt_localtime
  • Example#2651 - Ejemplo orientado a objetos
  • Example#2652 - Ejemplo orientado a objetos
  • Example#2653 - Ejemplo de datefmt_parse
  • Example#2654 - Ejemplo de datefmt_set_calendar
  • Example#2655 - Ejemplo orientado a objetos
  • Example#2656 - Ejemplo con el argumento IntlCalendar
  • Example#2657 - Ejemplo de datefmt_set_lenient
  • Example#2658 - Ejemplo orientado a objetos
  • Example#2659 - Ejemplo de datefmt_set_pattern
  • Example#2660 - Ejemplo orientado a objetos
  • Example#2661 - Ejemplo de datefmt_set_timezone_id
  • Example#2662 - Ejemplo orientado a objetos
  • Example#2663 - Ejemplos de IntlDateFormatter::setTimeZone
  • Example#2664 - Ejemplo de resourcebundle_count
  • Example#2665 - Ejemplo orientado a objetos
  • Example#2666 - Ejemplo de resourcebundle_create
  • Example#2667 - Ejemplo de ResourceBundle::create
  • Example#2668 - Ejemplo de resourcebundle_get_error_code
  • Example#2669 - Ejemplo orientado a objetos
  • Example#2670 - Ejemplo de resourcebundle_get_error_message
  • Example#2671 - Ejemplo orientado a objetos
  • Example#2672 - Ejemplo de resourcebundle_get
  • Example#2673 - Ejemplo orientado a objetos
  • Example#2674 - Ejemplo de resourcebundle_locales
  • Example#2675 - Ejemplo orientado a objetos
  • Example#2676 - Converting escaped UTF-16 code units
  • Example#2677 - Ejemplo de grapheme_extract
  • Example#2678 - Ejemplo de grapheme_stripos
  • Example#2679 - Ejemplo de grapheme_stristr
  • Example#2680 - Ejemplo de grapheme_strlen
  • Example#2681 - Ejemplo de grapheme_strpos
  • Example#2682 - Ejemplo de grapheme_strripos
  • Example#2683 - Ejemplo de grapheme_strrpos
  • Example#2684 - Ejemplo de grapheme_strstr
  • Example#2685 - Ejemplo de grapheme_substr
  • Example#2686 - Ejemplo de idn_to_ascii
  • Example#2687 - Ejemplo de idn_to_utf8
  • Example#2688 - intl_error_name ejemplo
  • Example#2689 - intl_get_error_code ejemplo
  • Example#2690 - intl_get_error_message ejemplo
  • Example#2691 - intl_is_failure ejemplo
  • Example#2692 - Ejemplos de ajustes de php.ini
  • Example#2693 - Ajustes de php.ini para usuarios de EUC-JP
  • Example#2694 - Ajustes de php.ini para usuarios de SJIS
  • Example#2695 - Desactivar la conversión de caracteres de la entrada HTTP en php.ini
  • Example#2696 - Ejemplo de configuración de php.ini
  • Example#2697 - Ejemplo de script
  • Example#2698 - Ejemplo de mb_convert_case
  • Example#2699 - Ejemplo de mb_convert_case con texto no latino en UTF-8
  • Example#2700 - Ejemplo de mb_convert_encoding
  • Example#2701 - Ejemplo de mb_convert_kana
  • Example#2702 - Ejemplo de mb_convert_variables
  • Example#2703 - Ejemplo de convmap
  • Example#2704 - Ejemplo de mb_detect_encoding
  • Example#2705 - Ejemplo orden de detección inútil
  • Example#2706 - Ejemplo de mb_detect_order
  • Example#2707 - Ejemplo de mb_encode_mimeheader
  • Example#2708 - Ejemplo de convmap
  • Example#2709 - Ejemplo de mb_encode_numericentity
  • Example#2710 - Ejemplo de mb_encoding_aliases
  • Example#2711 - Ejemplo de mb_ereg_replace_callback
  • Example#2712 - mb_ereg_replace_callback usando una función anónima admitida en PHP 5.3.0 o posterior
  • Example#2713 - Ejemplo de mb_internal_encoding
  • Example#2714 - Ejemplo de mb_list_encodings
  • Example#2715 - Ejemplo de mb_output_handler
  • Example#2716 - Ejemplo de mb_preferred_mime_name
  • Example#2717 - Ejemplo de mb_strimwidth
  • Example#2718 - Ejemplo de mb_strtolower
  • Example#2719 - Ejemplo de mb_strtolower con texto no latino
  • Example#2720 - Ejemplo de mb_strtoupper
  • Example#2721 - Ejemplo de mb_strtoupper con texto UTF-8 no latino
  • Example#2722 - Ejemplo de mb_substitute_character
  • Example#2723 - Ejemplo de mb_substr_count
  • Example#2724 - pspell_add_to_personal
  • Example#2725 - Ejemplo de pspell_check
  • Example#2726 - Ejemplo de pspell_add_to_personal
  • Example#2727 - pspell_config_create
  • Example#2728 - pspell_config_ignore
  • Example#2729 - Ejemplo de pspell_config_mode
  • Example#2730 - pspell_config_personal
  • Example#2731 - pspell_config_repl
  • Example#2732 - pspell_config_runtogether
  • Example#2733 - pspell_new_config
  • Example#2734 - pspell_new_personal
  • Example#2735 - pspell_new
  • Example#2736 - pspell_add_to_personal
  • Example#2737 - pspell_store_replacement
  • Example#2738 - Ejemplo de pspell_suggest
  • Example#2739 - Ejemplo básico de recode_file
  • Example#2740 - Ejemplo básico de recode_string
  • Example#2741 - Ejemplo de Cairo
  • Example#2742 - Ejemplo de cairo_create
  • Example#2743 - Ejemplo de cairo_font_face_get_type
  • Example#2744 - Ejemplo de cairo_font_face_status
  • Example#2745 - Ejemplo de cairo_font_options_create
  • Example#2746 - Ejemplo de cairo_font_options_equal
  • Example#2747 - Ejemplo de cairo_font_options_get_antialias
  • Example#2748 - Ejemplo de cairo_font_options_get_hint_metrics
  • Example#2749 - Ejemplo de cairo_font_options_get_hint_style
  • Example#2750 - Ejemplo de cairo_font_options_get_subpixel_order
  • Example#2751 - Ejemplo de cairo_font_options_hash
  • Example#2752 - Ejemplo de cairo_font_options_merge
  • Example#2753 - Ejemplo de cairo_font_options_set_antialias
  • Example#2754 - Ejemplo de cairo_font_options_set_hint_metrics
  • Example#2755 - Ejemplo de cairo_font_options_set_hint_style
  • Example#2756 - Ejemplo de cairo_font_options_set_subpixel_order
  • Example#2757 - Ejemplo de cairo_font_options_status
  • Example#2758 - Ejemplo de cairo_format_stride_for_width
  • Example#2759 - Ejemplo de cairo_image_surface_create_for_data
  • Example#2760 - Ejemplo de cairo_image_surface_create_from_png
  • Example#2761 - Ejemplo de cairo_image_surface_create
  • Example#2762 - Ejemplo de cairo_image_surface_get_data
  • Example#2763 - Ejemplo de cairo_image_surface_get_format
  • Example#2764 - Ejemplo de cairo_image_surface_get_height
  • Example#2765 - Ejemplo de cairo_image_surface_get_stride
  • Example#2766 - Ejemplo de cairo_image_surface_get_width
  • Example#2767 - Ejemplo de cairo_matrix_invert
  • Example#2768 - Ejemplo de cairo_matrix_multiply
  • Example#2769 - Ejemplo de cairo_matrix_rotate
  • Example#2770 - Ejemplo de cairo_matrix_transform_distance
  • Example#2771 - Ejemplo de cairo_matrix_transform_point
  • Example#2772 - Ejemplo de cairo_matrix_translate
  • Example#2773 - Ejemplo de cairo_pattern_add_color_stop_rgb
  • Example#2774 - Ejemplo de cairo_pattern_add_color_stop_rgba
  • Example#2775 - Ejemplo de cairo_pattern_create_for_surface
  • Example#2776 - Ejemplo de cairo_pattern_create_linear
  • Example#2777 - Ejemplo de cairo_pattern_create_radial
  • Example#2778 - Ejemplo de cairo_pattern_create_rgb
  • Example#2779 - Ejemplo de cairo_pattern_create_rgba
  • Example#2780 - Ejemplo de cairo_pattern_get_color_stop_count
  • Example#2781 - Ejemplo de cairo_pattern_get_color_stop_rgba
  • Example#2782 - Ejemplo de cairo_pattern_get_extend
  • Example#2783 - Ejemplo de cairo_pattern_get_filter
  • Example#2784 - Ejemplo de cairo_pattern_get_linear_points
  • Example#2785 - Ejemplo de cairo_pattern_get_matrix
  • Example#2786 - Ejemplo de cairo_pattern_get_radial_circles
  • Example#2787 - Ejemplo de cairo_pattern_get_rgba
  • Example#2788 - Ejemplo de cairo_pattern_get_surface
  • Example#2789 - Ejemplo de cairo_pattern_get_type
  • Example#2790 - Ejemplo de cairo_pattern_set_extend
  • Example#2791 - Ejemplo de cairo_pattern_set_filter
  • Example#2792 - Ejemplo de cairo_pattern_set_matrix
  • Example#2793 - Ejemplo de cairo_pattern_status
  • Example#2794 - Ejemplo de cairo_pdf_surface_create
  • Example#2795 - Ejemplo de cairo_pdf_surface_set_size
  • Example#2796 - Ejemplo de cairo_ps_get_levels
  • Example#2797 - Ejemplo de cairo_ps_level_to_string
  • Example#2798 - Ejemplo de cairo_ps_surface_create
  • Example#2799 - Ejemplo de cairo_ps_surface_dsc_begin_page_setup
  • Example#2800 - Ejemplo de cairo_ps_surface_dsc_begin_setup
  • Example#2801 - Ejemplo de cairo_ps_surface_dsc_comment
  • Example#2802 - Ejemplo de cairo_ps_surface_get_eps
  • Example#2803 - Ejemplo de cairo_ps_surface_restrict_to_level
  • Example#2804 - Ejemplo de cairo_ps_surface_set_eps
  • Example#2805 - Ejemplo de cairo_ps_surface_set_size
  • Example#2806 - Ejemplo de cairo_scaled_font_create
  • Example#2807 - Ejemplo de cairo_scaled_font_extents
  • Example#2808 - Ejemplo de cairo_scaled_font_get_ctm
  • Example#2809 - Ejemplo de cairo_scaled_font_get_font_face
  • Example#2810 - Ejemplo de cairo_scaled_font_get_font_matrix
  • Example#2811 - Ejemplo de cairo_scaled_font_get_font_options
  • Example#2812 - Ejemplo de cairo_scaled_font_get_scale_matrix
  • Example#2813 - Ejemplo de cairo_scaled_font_get_type
  • Example#2814 - Ejemplo de cairo_scaled_font_glyph_extents
  • Example#2815 - Ejemplo de cairo_scaled_font_status
  • Example#2816 - Ejemplo de cairo_scaled_font_text_extents
  • Example#2817 - Ejemplo de cairo_surface_copy_page
  • Example#2818 - Ejemplo de cairo_surface_create_similar
  • Example#2819 - Ejemplo de cairo_surface_finish
  • Example#2820 - Ejemplo de cairo_surface_flush
  • Example#2821 - Ejemplo de cairo_surface_get_content
  • Example#2822 - Ejemplo de cairo_surface_get_device_offset
  • Example#2823 - Ejemplo de cairo_surface_get_font_options
  • Example#2824 - Ejemplo de cairo_surface_get_type
  • Example#2825 - Ejemplo de cairo_surface_mark_dirty_rectangle
  • Example#2826 - Ejemplo de cairo_surface_mark_dirty
  • Example#2827 - Ejemplo de cairo_surface_set_device_offset
  • Example#2828 - Ejemplo de cairo_surface_set_fallback_resolution
  • Example#2829 - Ejemplo de cairo_surface_show_page
  • Example#2830 - Ejemplo de cairo_surface_status
  • Example#2831 - Ejemplo de cairo_surface_write_to_png
  • Example#2832 - Ejemplo de cairo_svg_surface_create
  • Example#2833 - Ejemplo de cairo_svg_surface_restrict_to_version
  • Example#2834 - Ejemplo de cairo_svg_version_to_string
  • Example#2835 - Estilo orientado a objetos
  • Example#2836 - Estilo por procedimientos
  • Example#2837 - Estilo orientado a objetos
  • Example#2838 - Estilo por procedimientos
  • Example#2839 - Estilo orientado a objetos
  • Example#2840 - Estilo por procedimientos
  • Example#2841 - Estilo orientado a objetos
  • Example#2842 - Estilo por procedimientos
  • Example#2843 - Estilo orientado a objetos
  • Example#2844 - Estilo por procedimientos
  • Example#2845 - Estilo orientado a objetos
  • Example#2846 - Estilo por procedimientos
  • Example#2847 - Estilo orientado a objetos
  • Example#2848 - Estilo por procedimientos
  • Example#2849 - Estilo orientado a objetos
  • Example#2850 - Estilo por procedimientos
  • Example#2851 - Estilo orientado a objetos
  • Example#2852 - Estilo por procedimientos
  • Example#2853 - Estilo orientado a objetos
  • Example#2854 - Estilo por procedimientos
  • Example#2855 - Estilo orientado a objetos
  • Example#2856 - Estilo por procedimientos
  • Example#2857 - Estilo orientado a objetos
  • Example#2858 - Estilo por procedimientos
  • Example#2859 - Estilo orientado a objetos
  • Example#2860 - Estilo por procedimientos
  • Example#2861 - Ejemplo de CairoContext::__construct
  • Example#2862 - Estilo orientado a objetos
  • Example#2863 - Estilo por procedimientos
  • Example#2864 - Estilo orientado a objetos
  • Example#2865 - Estilo por procedimientos
  • Example#2866 - Estilo orientado a objetos
  • Example#2867 - Estilo por procedimientos
  • Example#2868 - Estilo orientado a objetos
  • Example#2869 - Estilo por procedimientos
  • Example#2870 - Estilo orientado a objetos
  • Example#2871 - Estilo por procedimientos
  • Example#2872 - Estilo orientado a objetos
  • Example#2873 - Estilo por procedimientos
  • Example#2874 - Estilo orientado a objetos
  • Example#2875 - Estilo por procedimientos
  • Example#2876 - Estilo orientado a objetos
  • Example#2877 - Estilo por procedimientos
  • Example#2878 - Estilo orientado a objetos
  • Example#2879 - Estilo por procedimientos:
  • Example#2880 - Estilo orientado a objetos
  • Example#2881 - Estilo por procedimientos
  • Example#2882 - Estilo orientado a objetos
  • Example#2883 - Estilo por procedimientos
  • Example#2884 - Estilo orientado a objetos
  • Example#2885 - Estilo por procedimientos
  • Example#2886 - Estilo orientado a objetos
  • Example#2887 - Estilo por procedimientos
  • Example#2888 - Estilo orientado a objetos
  • Example#2889 - Estilo por procedimientos
  • Example#2890 - Estilo orientado a objetos
  • Example#2891 - Estilo por procedimientos
  • Example#2892 - Estilo orientado a objetos
  • Example#2893 - Estilo por procedimientos
  • Example#2894 - Estilo orientado a objetos
  • Example#2895 - Estilo por procedimientos
  • Example#2896 - Estilo orientado a objetos
  • Example#2897 - Estilo por procedimientos
  • Example#2898 - Estilo orientado a objetos
  • Example#2899 - Estilo por procedimientos
  • Example#2900 - Estilo orientado a objetos
  • Example#2901 - Estilo por procedimientos
  • Example#2902 - Estilo orientado a objetos
  • Example#2903 - Estilo por procedimientos
  • Example#2904 - Estilo orientado a objetos
  • Example#2905 - Estilo por procedimientos
  • Example#2906 - Estilo orientado a objetos
  • Example#2907 - Estilo por procedimientos
  • Example#2908 - Estilo orientado a objetos
  • Example#2909 - Estilo por procedimientos
  • Example#2910 - Estilo orientado a objetos
  • Example#2911 - Estilo por procedimientos
  • Example#2912 - Estilo orientado a objetos
  • Example#2913 - Estilo por procedimientos
  • Example#2914 - Estilo orientado a objetos
  • Example#2915 - Estilo por procedimientos
  • Example#2916 - Estilo orientado a objetos
  • Example#2917 - Estilo por procedimientos
  • Example#2918 - Estilo orientado a objetos
  • Example#2919 - Estilo por procedimientos
  • Example#2920 - Estilo orientado a objetos
  • Example#2921 - Estilo por procedimientos
  • Example#2922 - Estilo orientado a objetos
  • Example#2923 - Estilo por procedimientos
  • Example#2924 - Estilo orientado a objetos
  • Example#2925 - Estilo por procedimientos
  • Example#2926 - Estilo orientado a objetos
  • Example#2927 - Estilo por procedimientos
  • Example#2928 - Estilo orientado a objetos
  • Example#2929 - Estilo por procedimientos
  • Example#2930 - Estilo orientado a objetos
  • Example#2931 - Estilo por procedimientos
  • Example#2932 - Estilo orientado a objetos
  • Example#2933 - Estilo por procedimientos
  • Example#2934 - Estilo orientado a objetos
  • Example#2935 - Estilo por procedimientos
  • Example#2936 - Estilo orientado a objetos
  • Example#2937 - Estilo por procedimientos
  • Example#2938 - Estilo orientado a objetos
  • Example#2939 - Estilo por procedimientos
  • Example#2940 - Estilo orientado a objetos
  • Example#2941 - Estilo por procedimientos
  • Example#2942 - Estilo orientado a objetos
  • Example#2943 - Estilo por procedimientos
  • Example#2944 - Estilo orientado a objetos
  • Example#2945 - Estilo por procedimientos
  • Example#2946 - Estilo orientado a objetos
  • Example#2947 - Estilo por procedimientos
  • Example#2948 - Estilo orientado a objetos
  • Example#2949 - Estilo por procedimientos
  • Example#2950 - Estilo orientado a objetos
  • Example#2951 - Estilo por procedimientos
  • Example#2952 - Estilo orientado a objetos
  • Example#2953 - Estilo por procedimientos
  • Example#2954 - Estilo orientado a objetos
  • Example#2955 - Estilo por procedimientos
  • Example#2956 - Estilo orientado a objetos
  • Example#2957 - Estilo por procedimientos
  • Example#2958 - Estilo orientado a objetos
  • Example#2959 - Estilo por procedimientos
  • Example#2960 - Estilo orientado a objetos
  • Example#2961 - Estilo por procedimientos
  • Example#2962 - Estilo orientado a objetos
  • Example#2963 - Estilo por procedimientos
  • Example#2964 - Estilo orientado a objetos
  • Example#2965 - Estilo por procedimientos
  • Example#2966 - Estilo orientado a objetos
  • Example#2967 - Estilo por procedimientos
  • Example#2968 - Estilo orientado a objetos
  • Example#2969 - Estilo por procedimientos
  • Example#2970 - Estilo orientado a objetos
  • Example#2971 - Estilo por procedimientos
  • Example#2972 - Estilo orientado a objetos
  • Example#2973 - Estilo por procedimientos
  • Example#2974 - Estilo orientado a objetos
  • Example#2975 - Estilo por procedimientos
  • Example#2976 - Estilo orientado a objetos
  • Example#2977 - Estilo por procedimientos
  • Example#2978 - Estilo orientado a objetos
  • Example#2979 - Estilo por procedimientos
  • Example#2980 - Estilo orientado a objetos
  • Example#2981 - Estilo por procedimientos
  • Example#2982 - Estilo orientado a objetos
  • Example#2983 - Estilo por procedimientos
  • Example#2984 - Estilo orientado a objetos
  • Example#2985 - Estilo por procedimientos
  • Example#2986 - Estilo orientado a objetos
  • Example#2987 - Estilo por procedimientos
  • Example#2988 - Estilo orientado a objetos
  • Example#2989 - Estilo por procedimientos
  • Example#2990 - Estilo orientado a objetos
  • Example#2991 - Estilo por procedimientos
  • Example#2992 - Estilo orientado a objetos
  • Example#2993 - Estilo por procedimientos
  • Example#2994 - Estilo orientado a objetos
  • Example#2995 - Estilo por procedimientos
  • Example#2996 - Estilo orientado a objetos
  • Example#2997 - Estilo por procedimientos
  • Example#2998 - Estilo orientado a objetos
  • Example#2999 - Estilo por procedimientos
  • Example#3000 - Estilo orientado a objetos
  • Example#3001 - Estilo por procedimientos
  • Example#3002 - Estilo orientado a objetos
  • Example#3003 - Estilo por procedimientos
  • Example#3004 - Estilo orientado a objetos
  • Example#3005 - Estilo por procedimientos
  • Example#3006 - Estilo orientado a objetos
  • Example#3007 - Estilo por procedimientos
  • Example#3008 - Estilo orientado a objetos
  • Example#3009 - Estilo por procedimientos
  • Example#3010 - Estilo orientado a objetos
  • Example#3011 - Estilo por procedimientos
  • Example#3012 - Estilo orientado a objetos
  • Example#3013 - Estilo por procedimientos
  • Example#3014 - Estilo orientado a objetos
  • Example#3015 - Estilo por procedimientos
  • Example#3016 - Estilo orientado a objetos
  • Example#3017 - Estilo por procedimientos
  • Example#3018 - Estilo orientado a objetos
  • Example#3019 - Estilo por procedimientos
  • Example#3020 - Estilo orientado a objetos
  • Example#3021 - Estilo por procedimientos
  • Example#3022 - Estilo orientado a objetos
  • Example#3023 - Estilo por procedimientos
  • Example#3024 - Estilo orientado a objetos
  • Example#3025 - Estilo por procedimientos
  • Example#3026 - Estilo orientado a objetos
  • Example#3027 - Estilo por procedimientos
  • Example#3028 - Estilo orientado a objetos
  • Example#3029 - Estilo por procedimientos
  • Example#3030 - Estilo orientado a objetos
  • Example#3031 - Estilo por procedimientos
  • Example#3032 - Estilo orientado a objetos
  • Example#3033 - Estilo por procedimientos
  • Example#3034 - Estilo orientado a objetos
  • Example#3035 - Estilo por procedimientos
  • Example#3036 - Ejemplo de CairoSurface::createSimilar
  • Example#3037 - Ejemplo de CairoSurface::finish
  • Example#3038 - Ejemplo de CairoSurface::flush
  • Example#3039 - Ejemplo de CairoSurface::getContent
  • Example#3040 - Ejemplo de CairoSurface::getDeviceOffset
  • Example#3041 - Estilo orientado a objetos
  • Example#3042 - Estilo por procedimientos
  • Example#3043 - Ejemplo de CairoSurface::getType
  • Example#3044 - Ejemplo de CairoSurface::markDirty
  • Example#3045 - Ejemplo de CairoSurface::markDirtyRectangle
  • Example#3046 - Ejemplo de CairoSurface::setDeviceOffset
  • Example#3047 - Ejemplo de CairoSurface::setFallbackResolution
  • Example#3048 - Estilo orientado a objetos
  • Example#3049 - Estilo por procedimientos
  • Example#3050 - Estilo orientado a objetos
  • Example#3051 - Estilo por procedimientos
  • Example#3052 - Ejemplo de CairoSurface::writeToPng
  • Example#3053 - Ejemplo de CairoSvgSurface::__construct
  • Example#3054 - Ejemplo de CairoSvgSurface::getVersions
  • Example#3055 - Estilo por procedimientos
  • Example#3056 - Ejemplo de CairoSvgSurface::restrictToVersion
  • Example#3057 - Ejemplo de CairoSvgSurface::versionToString
  • Example#3058 - Ejemplo de CairoImageSurface::__construct
  • Example#3059 - Ejemplo de CairoImageSurface::createForData
  • Example#3060 - Ejemplo de CairoImageSurface::createFromPng
  • Example#3061 - Ejemplo de CairoImageSurface::getData
  • Example#3062 - Ejemplo de CairoImageSurface::getFormat
  • Example#3063 - Ejemplo de CairoImageSurface::getHeight
  • Example#3064 - Ejemplo de CairoImageSurface::getStride
  • Example#3065 - Ejemplo de CairoImageSurface::getWidth
  • Example#3066 - Ejemplo de CairoPdfSurface::__construct
  • Example#3067 - Ejemplo de CairoPdfSurface::setSize
  • Example#3068 - Ejemplo de CairoPsSurface::__construct
  • Example#3069 - Ejemplo de CairoPsSurface::dscBeginPageSetup
  • Example#3070 - Ejemplo de CairoPsSurface::dscBeginSetup
  • Example#3071 - Ejemplo de CairoPsSurface::dscComment
  • Example#3072 - Ejemplo de CairoPsSurface::getEps
  • Example#3073 - Ejemplo de CairoPsSurface::getLevels
  • Example#3074 - Ejemplo de CairoPsSurface::levelToString
  • Example#3075 - Ejemplo de CairoPsSurface::restrictToLevel
  • Example#3076 - Ejemplo de CairoPsSurface::setEps
  • Example#3077 - Ejemplo de CairoPsSurface::setSize
  • Example#3078 - Ejemplo de CairoFontFace::__construct
  • Example#3079 - Ejemplo de CairoFontFace::getType
  • Example#3080 - Estilo orientado a objetos
  • Example#3081 - Estilo por procedimientos
  • Example#3082 - Ejemplo de CairoFontOptions::__construct
  • Example#3083 - Ejemplo de CairoFontOptions::equal
  • Example#3084 - Estilo orientado a objetos
  • Example#3085 - Estilo por procedimientos
  • Example#3086 - Ejemplo de CairoFontOptions::getHintMetrics
  • Example#3087 - Ejemplo de CairoFontOptions::getHintStyle
  • Example#3088 - Ejemplo de CairoFontOptions::getSubpixelOrder
  • Example#3089 - Ejemplo de CairoFontOptions::hash
  • Example#3090 - Ejemplo de CairoFontOptions::merge
  • Example#3091 - Estilo orientado a objetos
  • Example#3092 - Estilo por procedimientos
  • Example#3093 - Ejemplo de CairoFontOptions::setHintMetrics
  • Example#3094 - Ejemplo de CairoFontOptions::setHintStyle
  • Example#3095 - Ejemplo de CairoFontOptions::setSubpixelOrder
  • Example#3096 - Estilo orientado a objetos
  • Example#3097 - Estilo por procedimientos
  • Example#3098 - Ejemplo de CairoScaledFont::__construct
  • Example#3099 - Ejemplo de CairoScaledFont::extents
  • Example#3100 - Ejemplo de CairoScaledFont::getCtm
  • Example#3101 - Estilo orientado a objetos
  • Example#3102 - Estilo por procedimientos
  • Example#3103 - Estilo orientado a objetos
  • Example#3104 - Estilo por procedimientos
  • Example#3105 - Estilo orientado a objetos
  • Example#3106 - Estilo por procedimientos
  • Example#3107 - Ejemplo de CairoScaledFont::getScaleMatrix
  • Example#3108 - Ejemplo de CairoScaledFont::getType
  • Example#3109 - Ejemplo de CairoScaledFont::glyphExtents
  • Example#3110 - Estilo orientado a objetos
  • Example#3111 - Estilo por procedimientos
  • Example#3112 - Estilo orientado a objetos
  • Example#3113 - Estilo por procedimientos
  • Example#3114 - Ejemplo de CairoPattern::__construct
  • Example#3115 - Estilo orientado a objetos
  • Example#3116 - Estilo por procedimientos
  • Example#3117 - Ejemplo de CairoPattern::getType
  • Example#3118 - Estilo orientado a objetos
  • Example#3119 - Estilo por procedimientos
  • Example#3120 - Estilo orientado a objetos
  • Example#3121 - Estilo por procedimientos
  • Example#3122 - Ejemplo de CairoGradientPattern::addColorStopRgb
  • Example#3123 - Ejemplo de CairoGradientPattern::addColorStopRgba
  • Example#3124 - Ejemplo de CairoGradientPattern::getColorStopCount
  • Example#3125 - Ejemplo de CairoGradientPattern::getColorStopRgba
  • Example#3126 - Ejemplo de CairoGradientPattern::getExtend
  • Example#3127 - Ejemplo de CairoGradientPattern::setExtend
  • Example#3128 - Ejemplo de CairoSolidPattern::__construct
  • Example#3129 - Ejemplo de CairoSolidPattern::getRgba
  • Example#3130 - Ejemplo de CairoSurfacePattern::__construct
  • Example#3131 - Ejemplo de CairoSurfacePattern::getExtend
  • Example#3132 - Ejemplo de CairoSurfacePattern::getFilter
  • Example#3133 - Ejemplo de CairoSurfacePattern::getSurface
  • Example#3134 - Ejemplo de CairoSurfacePattern::setExtend
  • Example#3135 - Ejemplo de CairoSurfacePattern::setFilter
  • Example#3136 - Ejemplo de CairoLinearGradient::__construct
  • Example#3137 - Ejemplo de CairoLinearGradient::getPoints
  • Example#3138 - Ejemplo de CairoRadialGradient::__construct
  • Example#3139 - Ejemplo de CairoRadialGradient::getCircles
  • Example#3140 - Ejemplo de CairoFormat::strideForWidth
  • Example#3141 - Estilo orientado a objetos
  • Example#3142 - Estilo por procedimientos
  • Example#3143 - Estilo orientado a objetos
  • Example#3144 - Estilo por procedimientos
  • Example#3145 - Estilo orientado a objetos
  • Example#3146 - Estilo por procedimientos
  • Example#3147 - Estilo orientado a objetos
  • Example#3148 - Estilo por procedimientos
  • Example#3149 - Estilo orientado a objetos
  • Example#3150 - Estilo por procedimientos
  • Example#3151 - Ejemplo de CairoMatrix::invert
  • Example#3152 - Ejemplo de CairoMatrix::multiply
  • Example#3153 - Estilo orientado a objetos
  • Example#3154 - Estilo por procedimientos
  • Example#3155 - Estilo orientado a objetos
  • Example#3156 - Estilo por procedimientos
  • Example#3157 - Ejemplo de CairoMatrix::transformDistance
  • Example#3158 - Ejemplo de CairoMatrix::transformPoint
  • Example#3159 - Estilo orientado a objetos
  • Example#3160 - Estilo por procedimientos
  • Example#3161 - Ejemplo de exif_imagetype
  • Example#3162 - Ejemplo de exif_read_data
  • Example#3163 - Ejemplo exif_tagname
  • Example#3164 - Ejemplo de exif_thumbnail
  • Example#3165 - Creación de un PNG con PHP
  • Example#3166 - Añadir marcas de agua a imágenes usando canales alfa
  • Example#3167 - Usar imagecopymerge para crear una marca de agua translúcida
  • Example#3168 - Usar gd_info
  • Example#3169 - getimagesize y tipos MIME
  • Example#3170 - Ejemplo degetimagesize
  • Example#3171 - getimagesize (URL)
  • Example#3172 - getimagesize() devolviendo IPTC
  • Example#3173 - Ejemplo de getimagesizefromstring
  • Example#3174 - Ejemplo de image_type_to_extension
  • Example#3175 - Ejemplo de image_type_to_mime_type
  • Example#3176 - Ejemplo de image2wbmp
  • Example#3177 - Ejemplo de uso de imagealphablending
  • Example#3178 - Una comparación de dos líneas, una con antialias activado
  • Example#3179 - Dibujar un círculo con imagearc
  • Example#3180 - Ejemplo de imagechar
  • Example#3181 - Ejemplo de imagecharup
  • Example#3182 - Ejemplo de imagecolorallocate
  • Example#3183 - Ejemplo usando imagecolorallocatealpha
  • Example#3184 - Acceder a los distintos valores RGB
  • Example#3185 - Valores RGB legibles para humanos usando imagecolorsforindex
  • Example#3186 - Buscar un conjunto de colores en una imagen
  • Example#3187 - Buscar un conjunto de colores en una imagen
  • Example#3188 - Ejemplo usando imagecolorclosesthwb
  • Example#3189 - Usar imagecolordeallocate
  • Example#3190 - Obtener colores del logotipo de GD
  • Example#3191 - Obtener colores del logotipo de GD
  • Example#3192 - Ejemplo de imagecolormatch
  • Example#3193 - Usar imagecoloresolve para obtener colores de una imagen
  • Example#3194 - Usar imagecoloresolvealpha para obtener colores de una imagen
  • Example#3195 - Ejemplo de imagecolorset
  • Example#3196 - Ejemplo de imagecolorsforindex
  • Example#3197 - Obtener el número total de colores de una imagen usando imagecolorstotal
  • Example#3198 - Ejemplo de imagecolortransparent
  • Example#3199 - Poner en relieve el logotipo de PHP.net
  • Example#3200 - Borrosidad gaussiana
  • Example#3201 - Recortar el logotipo de PHP.net
  • Example#3202 - Fusionar dos copias del logotipo de PHP.net con 75% de transparencia
  • Example#3203 - Uso de imagecopymergegray
  • Example#3204 - Ejemplo sencillo
  • Example#3205 - Redimensionar una imagen proporcionalmente
  • Example#3206 - Cambiar el tamaño de una imagen
  • Example#3207 - Crear un nuevo flujo de imagen GD e imprimir una imagen.
  • Example#3208 - Ejemplo de imagecreatefromgd2
  • Example#3209 - Ejemplo de imagecreatefromgd2part
  • Example#3210 - Ejemplo de imagecreatefromgd
  • Example#3211 - Ejemplo de manejar un error durante la carga de un GIF
  • Example#3212 - Ejemplo de manejar un error durante la carga de un JPEG
  • Example#3213 - Ejemplo de manejar un error durante la carga de un PNG
  • Example#3214 - Ejemplo de imagecreatefromstring
  • Example#3215 - Ejemplo de manejar un error durante la carga de un WBMP
  • Example#3216 - Convertir una image WebP a una imagen jpeg usando imagecreatefromwebp
  • Example#3217 - Convertir una imagen XBM en una imagen png usando imagecreatefromxbm
  • Example#3218 - Crear una instancia de imagen usando imagecreatefromxpm
  • Example#3219 - Crear un nuevo flujo a una imagen GD e imprimir una imagen.
  • Example#3220 - Ejemplo de imagedashedline
  • Example#3221 - Alternativa a imagedashedline
  • Example#3222 - Ejemplo de uso de imagedestroy
  • Example#3223 - Ejemplo de imageellipse
  • Example#3224 - Ejemplo de imagefill
  • Example#3225 - Crear una gráfico de tarta en 3D
  • Example#3226 - Ejemplo de imagefilledellipse
  • Example#3227 - Ejemplo de imagefilledpolygon
  • Example#3228 - Uso de imagefilledrectangle
  • Example#3229 - Rellenar una elipse con un color
  • Example#3230 - Ejemplo de escala de grises con imagefilter
  • Example#3231 - Ejemplo de brillo con imagefilter
  • Example#3232 - Ejemplo de coloración con imagefilter
  • Example#3233 - Ejemplo de inversión de color con imagefilter
  • Example#3234 - Ejemplo de pixelación con imagefilter
  • Example#3235 - Voltea una imagen verticalmente
  • Example#3236 - Voltea la imagen horizontalmente
  • Example#3237 - Usar imagefontheight con fuentes incorporadas
  • Example#3238 - Usar imagefontheight junto con imageloadfont
  • Example#3239 - Usar imagefontwidth con fuentes incorporadas
  • Example#3240 - Usar imagefontwidth junto con imageloadfont
  • Example#3241 - Ejemplo de imageftbbox
  • Example#3242 - Ejemplo de imagefttext
  • Example#3243 - Uso de imagegammacorrect
  • Example#3244 - Imprimir una imagen GD2
  • Example#3245 - Guardar una imagen GD2
  • Example#3246 - Imprimir una imagen GD
  • Example#3247 - Saving a GD image
  • Example#3248 - Imprimir una imagen usando imagegif
  • Example#3249 - Convertir una imagen PNG en GIF usando imagegif
  • Example#3250 - Ejemplo de imagegrabscreen
  • Example#3251 - Ejemplo de imagegrabwindow
  • Example#3252 - Activar el entrelazamiento usando imageinterlace
  • Example#3253 - Simple detección de instancias de imagen de color verdadero usando imageistruecolor
  • Example#3254 - Imprimir una imagen JPEG
  • Example#3255 - Guardar una imagen JPEG
  • Example#3256 - Imprimir la imagen al 75% de calidad
  • Example#3257 - Ejemplo de imagelayereffect
  • Example#3258 - Dibujar una línea gruesa
  • Example#3259 - Ejemplo de uso de imageloadfont
  • Example#3260 - Ejemplo de imagepalettecopy
  • Example#3261 - Convertir cualquier recurso de imagaen a color verdadero
  • Example#3262 - Ejemplo de imagepolygon
  • Example#3263 - Uso de imagepsbbox
  • Example#3264 - Ejemplo de imagepsencodefont
  • Example#3265 - Ejemplo de imagepsextendfont
  • Example#3266 - Ejemplo de imagepsfreefont
  • Example#3267 - Ejemplo de imagepsloadfont
  • Example#3268 - Ejemplo de imagepsslantfont
  • Example#3269 - Uso de imagepstext
  • Example#3270 - Ejemplo sencillo de imagerectangle
  • Example#3271 - Rotar una imagen 180 grados
  • Example#3272 - Ejemplo de imagesavealpha
  • Example#3273 - Ejemplo de imagesetbrush
  • Example#3274 - Ejemplo de imagesetinterpolation
  • Example#3275 - Ejemplo de imagesetpixel
  • Example#3276 - Ejemplo de imagesetstyle
  • Example#3277 - Ejemplo de imagesetthickness
  • Example#3278 - Ejemplo de imagesettile
  • Example#3279 - Ejemplo de imagestring
  • Example#3280 - Ejemplo de imagestringup
  • Example#3281 - Usar imagesx
  • Example#3282 - Usar imagesy
  • Example#3283 - Convertir una imagen de color verdadero en una imagen de paleta
  • Example#3284 - Ejemplo de imagettfbbox
  • Example#3285 - Ejemplo de imagettftext
  • Example#3286 - Comprobar el soporte para PNG
  • Example#3287 - Imprimir una imagen WBMP
  • Example#3288 - Guardar una imagen WBMP
  • Example#3289 - Imprimir la imagen con un primer plano diferente
  • Example#3290 - Guardar un fichero WebP
  • Example#3291 - Guardar un archivo XBM
  • Example#3292 - Guardar un archivo XBM con un color de primer plano diferente
  • Example#3293 - Incluir información IPTC a un JPEG
  • Example#3294 - iptcparse() usado junto con getimagesize
  • Example#3295 - Ejemplo de jpeg2wbmp
  • Example#3296 - Ejmplo de png2wbmp
  • Example#3297 - Ejemplo de Gmagick
  • Example#3298 - Ejemplo de Gmagick::despeckleimage
  • Example#3299 - Crear una miniatura con Imagick
  • Example#3300 - Hacer una miniatura de todos los archivos JPG de un directorio
  • Example#3301 - Crear un reflejo de una imagen
  • Example#3302 - Rellenar un texto con un gradiente
  • Example#3303 - Leer una imágen GIF y redimensionar todos los fotogramas
  • Example#3304 - Crear un logo de PHP
  • Example#3305 - Usar Imagick::adaptiveBlurImage:
  • Example#3306 - Usar Imagick::adaptiveResizeImage
  • Example#3307 - Un ejemplo de Imagick::adaptiveSharpenImage
  • Example#3308 - Usar Imagick::annotateImage:
  • Example#3309 - Ejemplo de Imagick::appendImages
  • Example#3310 - Usar Imagick::blurImage:
  • Example#3311 - Usar Imagick::chopImage:
  • Example#3312 - Clonación de un objeto Imagick en diferentes versiones de imagick
  • Example#3313 - Usar Imagick::clutImage:
  • Example#3314 - Usar Imagick::commentImage:
  • Example#3315 - Usar Imagick::compareImageLayers
  • Example#3316 - Usar Imagick::compareImages:
  • Example#3317 - Usar Imagick::distortImage:
  • Example#3318 - Usando Imagick::evaluateImage
  • Example#3319 - Usar Imagick::exportImagePixels
  • Example#3320 - Ejemplo de Imagick::floodfillPaintImage
  • Example#3321 - Usar Imagick::getImageLength:
  • Example#3322 - Usar Imagick::getImageProperties:
  • Example#3323 - Usando Imagick::getImageProperty:
  • Example#3324 - Usar Imagick::getIteratorIndex:
  • Example#3325 - Ejemplo de formato resultante
  • Example#3326 - Ejemplo deImagick::importImagePixels
  • Example#3327 - Usar Imagick::newImage:
  • Example#3328 - Usar Imagick::optimizeImageLayers
  • Example#3329 - Usar Imagick::pingImageBlob
  • Example#3330 - Usar Imagick::pingImageFile
  • Example#3331 - Un ejemplo de Imagick::polaroidImage
  • Example#3332 - Usar Imagick::queryFontMetrics:
  • Example#3333 - Usar Imagick::roundCorners:
  • Example#3334 - Un ejemplo de Imagick::setFont
  • Example#3335 - Un ejemplo de Imagick::setImage
  • Example#3336 - Modificar un GIF animado con Imagick::setImageDelay
  • Example#3337 - Uso básido ce Imagick::setImageIterations
  • Example#3338 - Un ejemplo de Imagick::setImageOpacity
  • Example#3339 - Usar Imagick::setImageProperty:
  • Example#3340 - Modificar un GIF animado con Imagick::setImageTicksPerSecond
  • Example#3341 - Usar Imagick::setIteratorIndex:
  • Example#3342 - Un ejemplo de Imagick::setPointSize
  • Example#3343 - Usar Imagick::transformImage:
  • Example#3344 - Usar Imagick::trimImage:
  • Example#3345 - Uso básico de Imagick::getColor
  • Example#3346 - Uso básico de Imagick::getColorAsString
  • Example#3347 - Uso básico de Imagick::getColorValue
  • Example#3348 - Uso básico de Imagick::getHSL
  • Example#3349 - Uso básico de Imagick::setColorValue
  • Example#3350 - Usar ImagickPixel::setHSL para modificar un color
  • Example#3351 - Ejemplo de imap_append
  • Example#3352 - Ejemplo de imap_check
  • Example#3353 - Ejemplo de imap_createmailbox
  • Example#3354 - Ejemplo de imap_delete
  • Example#3355 - Ejemplo de imap_fetch_overview
  • Example#3356 - Ejemplo de imap_gc
  • Example#3357 - Ejemplo de imap_get_quota
  • Example#3358 - Ejemplo de imap_get_quota 4.3 o superiro
  • Example#3359 - Ejemplo de imap_get_quotaroot
  • Example#3360 - Ejemplo de imap_getacl
  • Example#3361 - Ejemplo de imap_getmailboxes
  • Example#3362 - Ejemplo de imap_list
  • Example#3363 - Ejemplo de imap_mail_compose
  • Example#3364 - Ejemplo de imap_mailboxmsginfo
  • Example#3365 - Ejemplo de imap_mime_header_decode
  • Example#3366 - Diferentes usos de imap_open
  • Example#3367 - Ejemplo de imap_open
  • Example#3368 - Ejemplo de imap_ping
  • Example#3369 - Ejemplo de imap_reopen
  • Example#3370 - Ejemplo de imap_rfc822_parse_adrlist
  • Example#3371 - Ejemplo de imap_rfc822_write_address
  • Example#3372 - imap_search example
  • Example#3373 - Ejemplo de imap_set_quota
  • Example#3374 - Ejemplo de imap_setflag_full
  • Example#3375 - Ejemplo de imap_status
  • Example#3376 - Ejemplo de imap_thread
  • Example#3377 - Ejemplo de imap_timeout
  • Example#3378 - Calcular el hash de un usuario suscriptor.
  • Example#3379 - Enviar correo
  • Example#3380 - Enviar un correo con cabeceras extra.
  • Example#3381 - Enviar un correo con parámetros de línea de comando adicionales.
  • Example#3382 - Envío de un correo HTML
  • Example#3383 - Ejemplo de mailparse_determine_best_xfer_encoding
  • Example#3384 - Ejemplo de mailparse_rfc822_parse_addresses
  • Example#3385 - Ejemplo de mailparse_stream_encode
  • Example#3386 - Ejemplo de mailparse_uudecode_all
  • Example#3387 - Ejemplo bcadd
  • Example#3388 - Ejemplobccomp
  • Example#3389 - Ejemplo bcdiv
  • Example#3390 - Ejemplo bcmod
  • Example#3391 - Ejemplo bcmul
  • Example#3392 - Ejemplo bcpow
  • Example#3393 - Ejemplo de escalado de bcpow
  • Example#3394 - Ejemplo bcscale
  • Example#3395 - Ejemplo bcsqrt
  • Example#3396 - Ejemplo bcsub
  • Example#3397 - Función factorial usando GMP
  • Example#3398 - Ejemplo de gmp_abs
  • Example#3399 - Ejemplo de gmp_add
  • Example#3400 - Ejemplo de gmp_and
  • Example#3401 - Ejemplo de gmp_clrbit
  • Example#3402 - gmp_cmp example
  • Example#3403 - Ejemplo de gmp_com
  • Example#3404 - Ejemplo de gmp_div_q
  • Example#3405 - División de números GMP
  • Example#3406 - gmp_div_r example
  • Example#3407 - Ejemplo degmp_divexact
  • Example#3408 - Ejemplo degmp_fact
  • Example#3409 - Ejemplo degmp_gcd
  • Example#3410 - Resolver ecuaciones de diofántica lineal
  • Example#3411 - Ejemplo degmp_hamdist
  • Example#3412 - Creación de un número GMP
  • Example#3413 - Ejemplo de gmp_intval
  • Example#3414 - Ejemplo de gmp_invert
  • Example#3415 - Ejemplo de gmp_jacobi
  • Example#3416 - Ejemplo de gmp_legendre
  • Example#3417 - Ejemplo de gmp_mod
  • Example#3418 - Ejemplo degmp_mul
  • Example#3419 - Ejemplo degmp_neg
  • Example#3420 - Ejemplo de gmp_nextprime
  • Example#3421 - Ejemplo de gmp_or
  • Example#3422 - Ejemplo de gmp_perfect_square
  • Example#3423 - Ejemplo de gmp_popcount
  • Example#3424 - Ejemplo de gmp_pow
  • Example#3425 - gmp_powm example
  • Example#3426 - Ejemplo de gmp_prob_prime
  • Example#3427 - Ejemplo de gmp_random
  • Example#3428 - Ejemplo de gmp_scan0
  • Example#3429 - Ejemplo de gmp_scan1
  • Example#3430 - Ejemplo de gmp_setbit - índice 0
  • Example#3431 - Ejemplo de gmp_setbit - índice 1
  • Example#3432 - Ejemplo de gmp_setbit - limpiar un bit
  • Example#3433 - Ejemplo de gmp_sign
  • Example#3434 - Ejemplo de gmp_sqrt
  • Example#3435 - Ejemplo degmp_sqrtrem
  • Example#3436 - Converting a GMP number to a string
  • Example#3437 - Ejemplo de gmp_sub
  • Example#3438 - Ejemplo degmp_testbit
  • Example#3439 - Ejemplo degmp_xor
  • Example#3440 - Usar Lapack::eigenValues:
  • Example#3441 - Usar Lapack::leastSquaresByFactorisation:
  • Example#3442 - Usar Lapack::leastSquaresBySVD:
  • Example#3443 - Usar Lapack::pseudoInverse:
  • Example#3444 - Usar Lapack::singularValues:
  • Example#3445 - Usar Lapack::singularValues:
  • Example#3446 - Ejemplo de abs
  • Example#3447 - Ejemplo de base_convert
  • Example#3448 - Ejemplo de bindec
  • Example#3449 - bindec interpreta las entradas como enteros sin signo
  • Example#3450 - Ejemplo de ceil
  • Example#3451 - Ejemplo de cos
  • Example#3452 - Ejemplo de decbin
  • Example#3453 - Ejemplo dechex
  • Example#3454 - Ejemplo de dechex con números enteros grandes
  • Example#3455 - Ejemplo de decoct
  • Example#3456 - Ejemplo de deg2rad
  • Example#3457 - Ejemplo de exp
  • Example#3458 - Ejemplo de floor
  • Example#3459 - Uso de fmod
  • Example#3460 - Ejemplo de hexdec
  • Example#3461 - Ejemplo de is_nan
  • Example#3462 - Ejemplos de uso de max
  • Example#3463 - Ejemplos de uso de min
  • Example#3464 - Calcular un número de coma flotante aleatorio
  • Example#3465 - Ejemplo de mt_rand
  • Example#3466 - Ejemplo de mt_srand
  • Example#3467 - Ejemplo de octdec
  • Example#3468 - Ejemplo de pi
  • Example#3469 - Algunos ejemplos de pow
  • Example#3470 - Ejemplo de rad2deg
  • Example#3471 - Ejemplo de rand
  • Example#3472 - Ejemplos de round
  • Example#3473 - Ejemplos de mode
  • Example#3474 - Ejemplos de mode con precisión
  • Example#3475 - Ejemplo de sin
  • Example#3476 - Ejemplo de sqrt
  • Example#3477 - Ejemplo de srand
  • Example#3478 - Ejemplo de tan
  • Example#3479 - Evaluar un documento FDF
  • Example#3480 - Añadiendo código JavaScript a un FDF
  • Example#3481 - Poblar un documento PDF
  • Example#3482 - Guardando un fichero subido por FDF
  • Example#3483 - Detección de todos los nombres de campo en un FDF
  • Example#3484 - Accediendo a los datos de un formulario
  • Example#3485 - Acceso a datos de formulario
  • Example#3486 - Salvando un FDF como string
  • Example#3487 - Paso de datos FDF a un segundo formulario
  • Example#3488 - Ejemplo de firma (clearsign) gnupg mediante funciones
  • Example#3489 - Ejemplo de firma gnupg (clearsign) mediante orientación a objetos
  • Example#3490 - keylistiterator
  • Example#3491 - Ejemplo de gnupg_adddecryptkey mediante funciones
  • Example#3492 - Ejemplo de gnupg_adddecryptkey mediante OO
  • Example#3493 - Ejemplo de gnupg_addencryptkey mediante funciones
  • Example#3494 - Ejemplo de gnupg_addencryptkey mediante OO
  • Example#3495 - Ejemplo de gnupg_addsignkey mediante funciones
  • Example#3496 - Ejemplo de gnupg_addsignkey mediante OO
  • Example#3497 - Ejemplo de gnupg_cleardecryptkeys mediante funciones
  • Example#3498 - Ejemplo de gnupg_cleardecryptkeys mediante OO
  • Example#3499 - Ejemplo de gnupg_clearencryptkeys mediante funciones
  • Example#3500 - Ejemplo de gnupg_clearencryptkeys mediante OO
  • Example#3501 - Ejemplo de gnupg_clearsignkeys mediante funciones
  • Example#3502 - Ejemplo de gnupg_clearsignkeys mediante OO
  • Example#3503 - Ejemplo de gnupg_decrypt mediante funciones
  • Example#3504 - Ejemplo de gnupg_encrypt mediante OO
  • Example#3505 - Ejemplo de gnupg_decryptverify mediante funciones
  • Example#3506 - Ejemplo de gnupg_decryptverify mediante OO
  • Example#3507 - Ejemplo de gnupg_encrypt mediante funciones
  • Example#3508 - Ejemplo de gnupg_encrypt mediante OO
  • Example#3509 - Ejemplo de gnupg_encryptsign mediante funciones
  • Example#3510 - Ejemplo de gnupg_encryptsign mediante OO
  • Example#3511 - Ejemplo de gnupg_export mediante funciones
  • Example#3512 - Ejemplo de gnupg_export mediante OO
  • Example#3513 - Ejemplo de gnupg_geterror mediante funciones
  • Example#3514 - Ejemplo de gnupg_geterror mediante OO
  • Example#3515 - Ejemplo de gnupg_getprotocol mediante funciones
  • Example#3516 - Ejemplo de gnupg_getprotocol mediante
  • Example#3517 - Ejemplo de gnupg_import mediante funciones
  • Example#3518 - Ejemplo de gnupg_import mediante OO
  • Example#3519 - Ejemplo de gnupg_init mediante funciones
  • Example#3520 - Ejemplo del inicializador gnupg mediante OO
  • Example#3521 - Ejemplo de gnupg_keyinfo mediante funciones
  • Example#3522 - Ejemplo de gnupg_keyinfo mediante OO
  • Example#3523 - Ejemplo de gnupg_setarmor mediante funciones
  • Example#3524 - Ejemplo de gnupg_setarmor mediante OO
  • Example#3525 - Pejemplo de gnupg_seterrormode mediante funciones
  • Example#3526 - Ejemplo de gnupg_seterrormode mediante OO
  • Example#3527 - Ejemplo de gnupg_setsignmode mediante funciones
  • Example#3528 - Ejemplo de gnupg_setsignmode mediante OO
  • Example#3529 - Ejemplo de gnupg_sign mediante funciones
  • Example#3530 - Ejemplo de gnupg_sign mediante OO
  • Example#3531 - Ejemplo de gnupg_verify mediante funciones
  • Example#3532 - Ejemplo de gnupg_verify mediante OO
  • Example#3533 - Supuesto "Hola Mundo"
  • Example#3534 - Ejemplo de swfaction
  • Example#3535 - Ejemplo de swfaction
  • Example#3536 - Ejemplo de swfaction
  • Example#3537 - Ejemplo de swfsprite
  • Example#3538 - Ejemplo de ming_useswfversion
  • Example#3539 - Importar un archivo DBL
  • Example#3540 - Usar una máscara alfa
  • Example#3541 - Interacciones usuales con botones
  • Example#3542 - Ejemplo de arrastre
  • Example#3543 - Ejemplo de swfdisplayitem::multcolor
  • Example#3544 - Ejemplo de swfdisplayitem::rotateto
  • Example#3545 - Ejemplo de swfdisplayitem::setname
  • Example#3546 - Ejemplo de swfgradient
  • Example#3547 - Ejemplo deswfmorph
  • Example#3548 - Mostrar su $película en un navegador
  • Example#3549 - Ejemplo de transmisión
  • Example#3550 - Ejemplo de SWFShape::addFill
  • Example#3551 - Ejemplo de swfshape
  • Example#3552 - Ejemplo de swfshape::setline
  • Example#3553 - swftext example
  • Example#3554 - Ejemplo de Hola Mundo con la distribucion PDFlib para PHP 4
  • Example#3555 - Ejemplo de Hola Mundo con la distribucion PDFlib para PHP 5
  • Example#3556 - Crear y usar un patrón
  • Example#3557 - Crear y utilizar una plantilla
  • Example#3558 - Particionar silábicamente un texto
  • Example#3559 - Dibujar un rectángulo
  • Example#3560 - Crear y utilizar un color directo
  • Example#3561 - Rotación del sistema de coordenadas
  • Example#3562 - Colocar texto en una posición dada
  • Example#3563 - Dibujar una línea discontinua
  • Example#3564 - Traslación del sistema de coordenadas
  • Example#3565 - Ejemplo de uso básico de RPMReader
  • Example#3566 - Ejemplo de rpm_close
  • Example#3567 - Ejemplo de rpm_get_tag
  • Example#3568 - Ejemplo de rpm_is_valid
  • Example#3569 - Ejemplo de rpm_open
  • Example#3570 - Ejemplo de rpm_version
  • Example#3571 - Ejemplo SWF
  • Example#3572 - Ejemplo de swf_addbuttonrecord
  • Example#3573 - Creación de un simple archivo de flash basada en la entrada del usuario y cuya salida se guarda en una base de datos
  • Example#3574 - Ejemplo de texto horizontal
  • Example#3575 - Una simple rotación 3D alrededor de un texto
  • Example#3576 - Incorrect requests
  • Example#3577 - Llamar a una petición desde una llamada de retorno de petición
  • Example#3578 - Llamar a una petición desde una llamada de retorno de petición
  • Example#3579 - Usar eio con libevent
  • Example#3580 - Cancelar una petición
  • Example#3581 - Llamar a eio_chmod
  • Example#3582 - Realizar una petición personalizada
  • Example#3583 - Agrupar peticiones
  • Example#3584 - Usar eio con libevent
  • Example#3585 - Ejemplo de eio_cancel
  • Example#3586 - Ejemplo de eio_custom
  • Example#3587 - Ejemplo de eio_event_loop
  • Example#3588 - Ejemplo de eio_lstat
  • Example#3589 - Usar eio con libevent
  • Example#3590 - Agrupar peticiones
  • Example#3591 - Ejemplo de eio_grp
  • Example#3592 - Ejemplo de eio_link
  • Example#3593 - Ejemplo de eio_lstat
  • Example#3594 - Ejemplo de eio_mkdir
  • Example#3595 - Ejemplo de eio_mknod
  • Example#3596 - Ejepmlo de eio_nreqs
  • Example#3597 - Ejemplo de eio_open
  • Example#3598 - Ejemplo de eio_poll
  • Example#3599 - Ejemplo de eio_read
  • Example#3600 - eio_readdir example
  • Example#3601 - Ejemplo de eio_readlink
  • Example#3602 - Ejemplo deeio_realpath
  • Example#3603 - Ejemplo de eio_rename
  • Example#3604 - Ejemplo de eio_rmdir
  • Example#3605 - Ejemplo de eio_stat
  • Example#3606 - Ejemplo de eio_statvfs
  • Example#3607 - eio_symlink example
  • Example#3608 - Simple timers
  • Example#3609 - Periodic timer. Tick each 10.5 seconds
  • Example#3610 - Periodic timer. Use reschedule callback
  • Example#3611 - Periodic timer. Tick every 10.5 seconds starting at now
  • Example#3612 - Wait until STDIN is readable
  • Example#3613 - Use some async I/O to access a socket
  • Example#3614 - Embedding one loop into another
  • Example#3615 - Embedding loop created with kqueue backend into the default loop
  • Example#3616 - Handle SIGTERM signal
  • Example#3617 - Monitor changes of /var/log/messages
  • Example#3618 - Monotor changes of /var/log/messages. Avoid missing updates by means of one second delay
  • Example#3619 - Process status changes
  • Example#3620 - Using reschedule callback
  • Example#3621 - Embedding loop created with kqueue backend into the default loop
  • Example#3622 - Embedding one loop into another
  • Example#3623 - Embedding loop created with kqueue backend into the default loop
  • Example#3624 - Embedding loop created with kqueue backend into the default loop
  • Example#3625 - Periodic timer. Use reschedule callback
  • Example#3626 - Periodic timer. Tick every 10.5 seconds starting at now
  • Example#3627 - Hourly watcher
  • Example#3628 - Handle SIGTERM signal
  • Example#3629 - Monitor changes of /var/log/messages
  • Example#3630 - Monitor changes of /var/log/messages
  • Example#3631 - Simple timers
  • Example#3632 - Monotor changes of /var/log/messages. Avoid missing updates by means of one second delay
  • Example#3633 - Register an I/O watcher for some UDP socket but do not keep the event loop from running just because of that watcher.
  • Example#3634 - Ejemplo de uso de Expect
  • Example#3635 - Otro ejemplo de uso de Expect
  • Example#3636 - Ejemplo de expect_expectl
  • Example#3637 - Ejemplo de expect_popen
  • Example#3638 - Votación con STDIN utilizando la API básica
  • Example#3639 - Votación con STDIN utilizando la API de almacenamiento intermedio del evento
  • Example#3640 - Process Control Example
  • Example#3641 - pcntl_fork example
  • Example#3642 - pcntl_signal_dispatch example
  • Example#3643 - pcntl_signal example
  • Example#3644 - pcntl_sigprocmask example
  • Example#3645 - pcntl_sigwaitinfo example
  • Example#3646 - Ejemplo de posix_access
  • Example#3647 - Ejemplo de posix_ctermid
  • Example#3648 - Ejemplo de posix_get_last_error
  • Example#3649 - Ejemplo de posix_getcwd
  • Example#3650 - Ejemplo de posix_getegid
  • Example#3651 - Ejemplo de posix_geteuid
  • Example#3652 - Ejemplo de posix_getgid
  • Example#3653 - Ejemplo de uso deposix_getgrgid
  • Example#3654 - Ejemplo de uso de posix_getgrnam
  • Example#3655 - Ejemplo de uso de posix_getgroups
  • Example#3656 - Ejemplo de uso de posix_getlogin
  • Example#3657 - Ejemplo de uso de posix_getpgid
  • Example#3658 - Ejemplo de uso de posix_getpid
  • Example#3659 - Ejemplo de uso de posix_getppid
  • Example#3660 - Ejemplo de uso de posix_getpwnam
  • Example#3661 - Ejemplo de uso de posix_getpwuid
  • Example#3662 - Ejemplo de uso de posix_getrlimit
  • Example#3663 - Ejemplo de uso de posix_getsid
  • Example#3664 - Ejemplo de uso de posix_getuid
  • Example#3665 - Un ejemplo de posix_mknod
  • Example#3666 - Ejemplo de posix_setegid
  • Example#3667 - Ejemplo de posix_setgid
  • Example#3668 - Ejemplo de posix_setuid
  • Example#3669 - Ejemplo de posix_strerror
  • Example#3670 - Ejemplo de uso de posix_times
  • Example#3671 - Ejemplo de uso de posix_uname
  • Example#3672 - Ejemplo de escapeshellarg
  • Example#3673 - Ejemplo de escapeshellcmd
  • Example#3674 - Un ejemplo de exec
  • Example#3675 - Ejemplo de proc_open
  • Example#3676 - Un ejemplo de shell_exec
  • Example#3677 - Ejemplo de system
  • Example#3678 - Return the identity of the Thread or Process that created the referenced Thread
  • Example#3679 - Return the identity of the referenced Thread
  • Example#3680 - Detect the state of the referenced Thread
  • Example#3681 - Detect the state of the referenced Thread
  • Example#3682 - Detect the state of the referenced Thread
  • Example#3683 - Detect the state of the referenced Thread
  • Example#3684 - Detect the state of the referenced Thread
  • Example#3685 - Join with the referenced Thread
  • Example#3686 - Locking Thread Storage
  • Example#3687 - Notifications and Waiting
  • Example#3688 - Starting Threads
  • Example#3689 - Synchronizing
  • Example#3690 - Locking Thread Storage
  • Example#3691 - Notifications and Waiting
  • Example#3692 - Return the identity of the Thread or Process that created the referenced Worker
  • Example#3693 - Returns the number of objects currently waiting to be executed by the referenced Worker
  • Example#3694 - Return the identity of the referenced Worker
  • Example#3695 - Detect the state of a Worker
  • Example#3696 - Detect the state of a Worker
  • Example#3697 - Shutdown the referenced Worker
  • Example#3698 - Passing Stackables to Workers for execution in the Worker Thread
  • Example#3699 - Starting Workers
  • Example#3700 - Removing Stackables from Workers
  • Example#3701 - Detect the state of the referenced Stackable
  • Example#3702 - Detect the state of the referenced Stackable
  • Example#3703 - Detect the state of the referenced Stackable
  • Example#3704 - Synchronizing
  • Example#3705 - Locking Object Storage
  • Example#3706 - Notifications and Waiting
  • Example#3707 - protected method example: protected methods can only be executed by one Thread at a time.
  • Example#3708 - private method example: private methods may only be executed by the Thread, Worker, or Stackable during execution
  • Example#3709 - Mutex Creation and Destruction
  • Example#3710 - Mutex Creation and Destruction
  • Example#3711 - Mutex Locking and Unlocking
  • Example#3712 - Mutex Locking and Unlocking
  • Example#3713 - Mutex Locking and Unlocking
  • Example#3714 - Condition Broadcasting
  • Example#3715 - Condition Creation and Destruction
  • Example#3716 - Condition Creation and Destruction
  • Example#3717 - Condition Signalling
  • Example#3718 - Waiting for Conditions
  • Example#3719 -
  • Example#3720 - Resumen de las operaciones con Memoria Compartida
  • Example#3721 - Cerrando segmento de memoria compartida
  • Example#3722 - Borrando segmento de memoria compartida
  • Example#3723 - Crear un nuevo segmento de memoria compartida
  • Example#3724 - Lectura de un segmento de memoria compartida
  • Example#3725 - Obtención del tamaño de un segmento de memoria compartida
  • Example#3726 - Escribiendo en un segmento de memoria compartida
  • Example#3727 - Un ejemplo de geoip_continent_code_by_name
  • Example#3728 - Ejemplo de geoip_country_code_by_name
  • Example#3729 - Ejemplo de geoip_country_code3_by_name
  • Example#3730 - Ejemplo de geoip_country_name_by_name
  • Example#3731 - Ejemplo de geoip_database_info
  • Example#3732 - Un ejemplo de geoip_db_avail
  • Example#3733 - Ejemplo de geoip_db_filename
  • Example#3734 - Ejemplo de geoip_db_get_all_info
  • Example#3735 - Ejemplo de geoip_db_get_all_info
  • Example#3736 - Ejemplo de geoip_id_by_name
  • Example#3737 - Ejemplo de geoip_isp_by_name
  • Example#3738 - Ejemplo de geoip_org_by_name
  • Example#3739 - Ejemplo de geoip_record_by_name
  • Example#3740 - Ejemplo de geoip_region_by_name
  • Example#3741 - Ejemplo de geoip_region_name_by_code usando código de región para EEUU/Cánada
  • Example#3742 - Ejemplo de geoip_region_name_by_code usando códigos FIPS
  • Example#3743 - Ejemplo de geoip_time_zone_by_country_and_region usando códigos de región de EEUU/Canadá
  • Example#3744 - Ejemplo de geoip_time_zone_by_country_and_region usando códigos FIPS
  • Example#3745 - Simple train
  • Example#3746 - Simple test
  • Example#3747 - fann_create_train_from_callback example
  • Example#3748 - fann_read_train_from_file example
  • Example#3749 - Ejemplo de JsonSerializable::jsonSerialize devolviendo un array
  • Example#3750 - Ejemplo de JsonSerializable::jsonSerialize devolviendo un array asociativo
  • Example#3751 - Ejemplo de JsonSerializable::jsonSerialize devolviento un integer
  • Example#3752 - Ejemplo de JsonSerializable::jsonSerialize devolviendo un string
  • Example#3753 - Ejemplos de json_decode
  • Example#3754 - Accediendo a propiedades del objeto no válidas
  • Example#3755 - Errores comunes al usar json_decode
  • Example#3756 - Errores de depth
  • Example#3757 - json_decode de enteros largos
  • Example#3758 - Un ejemplo de json_encode
  • Example#3759 - Un ejemplo de json_encode mostrando algunas de las opciones en acción
  • Example#3760 - Ejemplo de array secuencial contra array no secuencial
  • Example#3761 - Ejemplo de json_last_error
  • Example#3762 - json_last_error en json_encode
  • Example#3763 - Ejemplo de arreglo Judy
  • Example#3764 - Ejemplo de Lua::assign
  • Example#3765 - Ejemplo de la función Lua::call
  • Example#3766 - Ejemplo de la función Lua::eval
  • Example#3767 - Ejemplo de Lua::registerCallback
  • Example#3768 - Ejemplo de LuaClosure::__invoke
  • Example#3769 - Ejemplo de constant
  • Example#3770 - Definir Constantes
  • Example#3771 - Comprobar constantes
  • Example#3772 - Ejemplo de eval - fusión de texto sencillo
  • Example#3773 - Ejemplo de exit
  • Example#3774 - Ejemplo de status de exit
  • Example#3775 - Las funciones Shutdown y los destructores se ejecutan igualmente
  • Example#3776 - Listar toda la información sobre el navegador del usuario
  • Example#3777 - Un Ejemplo de __halt_compiler
  • Example#3778 - Ejemplo de highlight_string
  • Example#3779 - Un ejemplo ignore_user_abort
  • Example#3780 - Ejemplo de pack
  • Example#3781 - Ejemplo de php_strip_whitespace
  • Example#3782 - Ejemplo de sleep
  • Example#3783 - Ejemplo de sys_getloadavg
  • Example#3784 - Ejemplo de time_nanosleep
  • Example#3785 - Un ejemplo de time_sleep_until
  • Example#3786 - Ejemplo de uniqid
  • Example#3787 - Ejemplo de unpack
  • Example#3788 - Ejemplo de unpack con un repetidor
  • Example#3789 - Ejemplo unpack con claves sin nombre
  • Example#3790 - Ejemplo de usleep
  • Example#3791 - Ejemplo de parsekit_compile_file
  • Example#3792 - Ejemplo de parsekit_compile_string
  • Example#3793 - Ejemplo de parsekit_func_arginfo
  • Example#3794 - Ejemplo de SplDoublyLinkedList::__construct
  • Example#3795 - Ejemplo de SplStack::__construct
  • Example#3796 - Ejemplo de SplQueue::__construct
  • Example#3797 - Manejo eficiente de las tareas con SplQueue
  • Example#3798 - Ejemplo de uso SplFixedArray
  • Example#3799 - Ejemplo de SplFixedArray::__construct
  • Example#3800 - Ejemplo de SplFixedArray::count
  • Example#3801 - Ejemplo de SplFixedArray::fromArray
  • Example#3802 - Ejemplo de SplFixedArray::getSize
  • Example#3803 - Ejemplo de SplFixedArray::setSize
  • Example#3804 - Ejemplo de SplFixedArray::toArray
  • Example#3805 - SplObjectStorage como un conjunto
  • Example#3806 - SplObjectStorage como un mapa
  • Example#3807 - Ejemplo de SplObjectStorage::addAll
  • Example#3808 - Ejemplo de SplObjectStorage::attach
  • Example#3809 - Ejemplo de SplObjectStorage::contains
  • Example#3810 - Ejemplo de SplObjectStorage::count
  • Example#3811 - Ejemplo de SplObjectStorage::current
  • Example#3812 - Ejemplo de SplObjectStorage::detach
  • Example#3813 - Ejemplo de SplObjectStorage::getHash
  • Example#3814 - Ejemplo de SplObjectStorage::getInfo
  • Example#3815 - Ejemplo de SplObjectStorage::key
  • Example#3816 - Ejemplo de SplObjectStorage::next
  • Example#3817 - Ejemplo de SplObjectStorage::offsetExists
  • Example#3818 - Ejemplo de SplObjectStorage::offsetGet
  • Example#3819 - Ejemplo de SplObjectStorage::offsetSet
  • Example#3820 - Ejemplo de SplObjectStorage::offsetUnset
  • Example#3821 - Ejemplo de SplObjectStorage::removeAll
  • Example#3822 - Ejemplo de SplObjectStorage::removeAllExcept
  • Example#3823 - Ejemplo de SplObjectStorage::rewind
  • Example#3824 - Ejemplo de SplObjectStorage::serialize
  • Example#3825 - Ejemplo de SplObjectStorage::setInfo
  • Example#3826 - Ejemplo de SplObjectStorage::unserialize
  • Example#3827 - Ejemplo de SplObjectStorage::valid
  • Example#3828 - Ejemplo de AppendIterator::append
  • Example#3829 - Recorriendo AppendIterator con foreach
  • Example#3830 - Recorriendo AppendIterator con la API de AppendIterator
  • Example#3831 - Ejemplo de AppendIterator::getInnerIterator
  • Example#3832 - Ejemplo básico de AppendIterator.getIteratorIndex
  • Example#3833 - Ejemplo básico de AppendIterator::key
  • Example#3834 - Ejemplo de ArrayIterator::current
  • Example#3835 - Ejemplo de ArrayIterator::key
  • Example#3836 - Ejemplo de ArrayIterator::next
  • Example#3837 - Ejemplo de ArrayIterator::rewind
  • Example#3838 - Ejemplo de ArrayIterator::valid
  • Example#3839 - Argumentos disponibles de la llamada de retorno
  • Example#3840 - Ejemplos básicos de llamada de retorno
  • Example#3841 - Un DirectoryIterator::__construct ejemplo
  • Example#3842 - Ejemplo de DirectoryIterator::current
  • Example#3843 - Ejemplo de DirectoryIterator::getATime
  • Example#3844 - Ejemplo de DirectoryIterator::getBasename
  • Example#3845 - DirectoryIterator::getCTime example
  • Example#3846 - Ejemplo de DirectoryIterator::getExtension
  • Example#3847 -
  • Example#3848 - Ejemplo de DirectoryIterator::getFilename
  • Example#3849 - Ejemplo de DirectoryIterator::getGroup
  • Example#3850 - Ejemplo de DirectoryIterator::getInode
  • Example#3851 - Ejemplo de DirectoryIterator::getMTime
  • Example#3852 - Ejemplo de DirectoryIterator::getOwner
  • Example#3853 - Ejemplo de DirectoryIterator::getPath
  • Example#3854 - Ejemplo de DirectoryIterator::getPathname
  • Example#3855 - Ejemplo de DirectoryIterator::getPerms
  • Example#3856 - Ejemplo de DirectoryIterator::getSize
  • Example#3857 - Ejemplo de DirectoryIterator::getType
  • Example#3858 - Ejemplo de DirectoryIterator::isDir
  • Example#3859 - Ejemplo de DirectoryIterator::isDot
  • Example#3860 - Ejemplo de DirectoryIterator::isExecutable
  • Example#3861 - Ejemplo de DirectoryIterator::isFile
  • Example#3862 - Ejemplo de DirectoryIterator::isLink
  • Example#3863 - Ejemplo de DirectoryIterator::isReadable
  • Example#3864 - Ejemplo de DirectoryIterator::isWritable
  • Example#3865 - Ejemplo de DirectoryIterator::key
  • Example#3866 - Ejemplo de DirectoryIterator::next
  • Example#3867 - Ejemplo de DirectoryIterator::rewind
  • Example#3868 - Ejemplo de DirectoryIterator::seek
  • Example#3869 - Ejemplo de DirectoryIterator::__toString
  • Example#3870 - Ejemplo de DirectoryIterator::valid
  • Example#3871 - Ejemplo de FilesystemIterator::__construct
  • Example#3872 - Ejemplo de FilesystemIterator::current
  • Example#3873 - Ejemplo de FilesystemIterator::key
  • Example#3874 - Ejemplo de FilesystemIterator::next
  • Example#3875 - Ejemplo de FilesystemIterator::rewind
  • Example#3876 - Ejemplo de FilesystemIterator::key
  • Example#3877 - Ejemplo de FilterIterator::accept
  • Example#3878 - Ejemplo de GlobIterator
  • Example#3879 - Ejemplo de GlobIterator::count
  • Example#3880 - Ejemplo de InfiniteIterator::__construct
  • Example#3881 - Ejemplo de uso de LimitIterator
  • Example#3882 - Ejemplo de LimitIterator::__construct
  • Example#3883 - Ejemplo de LimitIterator::getPosition
  • Example#3884 - Iterar un MultipleIterator
  • Example#3885 - Ejemplo de NoRewindIterator::__construct
  • Example#3886 - Ejemplo de NoRewindIterator::rewind
  • Example#3887 - Ejemplo de RecursiveArrayIterator::getChildren
  • Example#3888 - Ejemplo de RecursiveArrayIterator::hasChildren
  • Example#3889 - Argumentos disponibles de la llamada de retorno
  • Example#3890 - Ejemplo básico de llamada de retorno recursiva
  • Example#3891 - Uso básico de RecursiveCallbackFilterIterator::hasChildren
  • Example#3892 - Ejemplo de RecursiveDirectoryIterator
  • Example#3893 - Ejemplo básico de RecursiveFilterIterator
  • Example#3894 - Ejemplo de RecursiveFilterIterator
  • Example#3895 - Iterar un RecursiveIteratorIterator
  • Example#3896 - Ejemplo de RecursiveRegexIterator::__construct
  • Example#3897 - Ejemplo de RecursiveRegexIterator::getChildren
  • Example#3898 - Ejemplo de RecursiveRegexIterator::hasChildren
  • Example#3899 - RegexIterator::accept example
  • Example#3900 - Ejemplo de RegexIterator::__construct
  • Example#3901 - Ejemplo de RegexIterator::getFlags
  • Example#3902 - Ejemplo de RegexIterator::getMode
  • Example#3903 - Ejemplo de RegexIterator::getPregFlags
  • Example#3904 - Ejemplo de RegexIterator::setFlags
  • Example#3905 - Ejemplo de RegexIterator::setMode
  • Example#3906 - Ejemplo de RegexIterator::setPregFlags
  • Example#3907 - Ejemplo de Countable::count
  • Example#3908 - Uso básico
  • Example#3909 - Ejemplo de SeekableIterator::seek
  • Example#3910 - Ejemplo de class_implements
  • Example#3911 - Ejemplo de class_parents
  • Example#3912 - Ejemplo de class_uses
  • Example#3913 - Ejemplo de iterator_apply
  • Example#3914 - Ejemplo de iterator_count
  • Example#3915 - Ejemplo de iterator_to_array
  • Example#3916 - spl_autoload_register como sustituto de una función __autoload
  • Example#3917 - Ejemplo de spl_autoload_register donde la clase no es cargada
  • Example#3918 - Ejemplo de spl_classes
  • Example#3919 - Ejemplo de spl_object_hash
  • Example#3920 - SplFileInfo::__construct ejemplo
  • Example#3921 - SplFileInfo::getBasenameejemplo
  • Example#3922 - Ejemplo de SplFileInfo::getCTime
  • Example#3923 - SplFileInfo::getExtension ejemplo
  • Example#3924 -
  • Example#3925 - SplFileInfo::getFilename ejemplo
  • Example#3926 - Ejemplo de SplFileInfo::getGroup
  • Example#3927 - Ejemplo de SplFileInfo::getLinkTarget
  • Example#3928 - Ejemplo de SplFileInfo::getOwner
  • Example#3929 - Ejemplo de SplFileInfo::getPath
  • Example#3930 - Ejemplo de SplFileInfo::getPathInfo
  • Example#3931 - Ejemplo de SplFileInfo::getPathname
  • Example#3932 - Ejemplo de SplFileInfo::getPerms
  • Example#3933 - Ejemplo de SplFileInfo::getRealPath
  • Example#3934 - Ejemplo de SplFileInfo::getType
  • Example#3935 - Ejemplo de SplFileInfo::isDir
  • Example#3936 - Ejemplo de SplFileInfo::isExecutable
  • Example#3937 - Ejemplo de SplFileInfo::isFile
  • Example#3938 - Ejemplo de SplFileInfo::isLink
  • Example#3939 - Ejemplo de SplFileInfo::isReadable
  • Example#3940 - Ejemplo de SplFileInfo::openFile
  • Example#3941 - Ejemplo de SplFileInfo::setFileClass
  • Example#3942 - Ejemplo de SplFileInfo::setFileClass
  • Example#3943 - Ejemplo de SplFileInfo::__toString
  • Example#3944 - Ejemplo de SplFileObject::__construct
  • Example#3945 - Ejemplo de SplFileObject::current
  • Example#3946 - Ejemplo de SplFileObject::eof
  • Example#3947 - Ejemplo de SplFileObject::fflush
  • Example#3948 - Ejemplo de SplFileObject::fgetc
  • Example#3949 - Ejemplo de SplFileObject::fgetcsv
  • Example#3950 - Ejemplo de SplFileObject::READ_CSV
  • Example#3951 - Ejemplo de SplFileObject::fgets
  • Example#3952 - Ejemplo de SplFileObject::fgetss
  • Example#3953 - Ejemplo de SplFileObject::flock
  • Example#3954 - Ejemplo de SplFileObject::fpassthru
  • Example#3955 - Ejemplo de SplFileObject::fputcsv
  • Example#3956 - Ejemplo de SplFileObject::fscanf
  • Example#3957 - Ejemplo de SplFileObject::fseek
  • Example#3958 - Ejemplo de SplFileObject::fstat
  • Example#3959 - Ejemplo de SplFileObject::ftell
  • Example#3960 - Ejemplo de SplFileObject::ftruncate
  • Example#3961 - Ejemplo de SplFileObject::fwrite
  • Example#3962 - Ejemplo de SplFileObject::getCsvControl
  • Example#3963 - Ejemplo de SplFileObject::getFlags
  • Example#3964 - Ejemplo de SplFileObject::getMaxLineLen
  • Example#3965 - Ejemplo de SplFileObject::key
  • Example#3966 - SplFileObject::key ejemplo con SplFileObject::setMaxLineLen
  • Example#3967 - Ejemplo de SplFileObject::next
  • Example#3968 - Ejemplo de SplFileObject::rewind
  • Example#3969 - Ejemplo de SplFileObject::seek
  • Example#3970 - Ejemplo de SplFileObject::setCsvControl
  • Example#3971 - Ejemplo de SplFileObject::setFlags
  • Example#3972 - Ejemplo de SplFileObject::setMaxLineLen
  • Example#3973 - Ejemplo de SplFileObject::valid
  • Example#3974 - Ejemplo de SplTempFileObject
  • Example#3975 - Ejemplo de ArrayObject::append
  • Example#3976 - ArrayObject::asort example
  • Example#3977 - Ejemplo de ArrayObject::__construct
  • Example#3978 - Ejemplo de ArrayObject::count
  • Example#3979 - ArrayObject::exchangeArray example
  • Example#3980 - ArrayObject::getArrayCopy example
  • Example#3981 - Ejemplo de ArrayObject::getFlags
  • Example#3982 - Ejemplo de ArrayObject::getIterator
  • Example#3983 - ArrayObject::getIteratorClass example
  • Example#3984 - Ejemplo de ArrayObject::ksort
  • Example#3985 - Ejemplo de ArrayObject::natcasesort
  • Example#3986 - Ejemplo de ArrayObject::natsort
  • Example#3987 - Ejemplo de ArrayObject::offsetExists
  • Example#3988 - Ejemplo de ArrayObject::offsetGet
  • Example#3989 - Ejemplo de ArrayObject::offsetSet
  • Example#3990 - Ejemplo de ArrayObject::offsetUnset
  • Example#3991 - Ejemplo de ArrayObject::serialize
  • Example#3992 - Ejemplo de ArrayObject::setFlags
  • Example#3993 - Ejemplo de ArrayObject::setIteratorClass
  • Example#3994 - Ejemplo de ArrayObject::uasort
  • Example#3995 - Ejemplo de ArrayObject::uksort
  • Example#3996 - Ejemplo de uso de SplInt
  • Example#3997 - Ejemplo de uso de SplFloat
  • Example#3998 - Ejemplo de uso de SplEnum
  • Example#3999 - Ejemplo de SplEnum::getConstList
  • Example#4000 - Ejemplo de uso de SplBool
  • Example#4001 - Ejemplo de uso de SplString
  • Example#4002 - Usar file_get_contents para recuperar información desde múltiples fuentes
  • Example#4003 - Hacer una petición POST a un servidor https
  • Example#4004 - Escribir información en un archivo compirmido
  • Example#4005 - Un Flujo para leer/escribir variables globales
  • Example#4006 - Listar los ficheros de archivos tar
  • Example#4007 - Ejemplos de stream_bucket_prepend
  • Example#4008 - Usar stream_context_create
  • Example#4009 - Usar stream_context_get_default
  • Example#4010 - Ejemplo de stream_context_get_options
  • Example#4011 - Ejemplo de stream_context_get_params
  • Example#4012 - Ejemplo de stream_context_set_default
  • Example#4013 - Un ejemplo de stream_copy_to_stream
  • Example#4014 - Controlar dónde son aplicados los filtros
  • Example#4015 - Filtro para poner en mayúsculas caracteres en el flujo foo-bar.txt
  • Example#4016 - Registrar una clase de filtro genérica para comparar múltiples nombres de filtro.
  • Example#4017 - Refiltrar dináminamente un flujo
  • Example#4018 - Ejemplo de stream_get_contents
  • Example#4019 - Usar stream_get_filters
  • Example#4020 - Ejemplo de stream_get_meta_data
  • Example#4021 - Usar stream_get_transports
  • Example#4022 - Ejemplo de stream_get_wrappers
  • Example#4023 - Comprobar la existencia de una envoltura de flujo
  • Example#4024 - Ejemplo de stream_is_local
  • Example#4025 - Ejemplo de stream_notification_callback
  • Example#4026 - Barra de progreso sencilla para la descarga por parte del cliente por línea de comandos
  • Example#4027 - Ejemplo de stream_resolve_include_path
  • Example#4028 - Ejemplo de stream_select
  • Example#4029 - Ejemplo de stream_set_timeout
  • Example#4030 - Ejemplo de stream_set_write_buffer
  • Example#4031 - Ejemplo de stream_socket_client
  • Example#4032 - Usar una conexión UDP
  • Example#4033 - Ejemplo de stream_socket_enable_crypto
  • Example#4034 - Un ejemplo de stream_socket_pair
  • Example#4035 - Ejemplo de stream_socket_recvfrom
  • Example#4036 - Ejemplo de stream_socket_sendto
  • Example#4037 - Usar sockets de servidor de TCP
  • Example#4038 - Usar sockets de servidor de UDP
  • Example#4039 - Un ejemplo de stream_socket_shutdown
  • Example#4040 - Cómo registrar una envoltura de flujo
  • Example#4041 - Uso Básico Tidy
  • Example#4042 - Ejemplo de tidy::getBody
  • Example#4043 - Ejemplo de tidy::cleanrepair
  • Example#4044 - Ejemplo de tidy::__construct
  • Example#4045 - Ejemplo de tidy::diagnose
  • Example#4046 - Ejemplo de tidy_get_error_buffer
  • Example#4047 - Ejemplo de tidy::getConfig
  • Example#4048 - Ejemplo de tidy_getopt
  • Example#4049 - Imprimir todas las opciones, junto con su documentación y sus valores por omisión
  • Example#4050 - Ejemplo de tidy::getStatus
  • Example#4051 - Ejemplo de tidy::head
  • Example#4052 - Ejemplo de tidy::html
  • Example#4053 - Ejemplo de tidy::parseFile
  • Example#4054 - Ejemplo de tidy::parseString
  • Example#4055 - Ejemplo de tidy::repairFile
  • Example#4056 - Ejemplo de tidy::repairString
  • Example#4057 - tidy::root ejemplo
  • Example#4058 - Ejemplo de tidyNode::hasChildren
  • Example#4059 - Ejemplo de tidyNode::hasChildren
  • Example#4060 - Ejemplo de tidyNode::hasSiblings
  • Example#4061 - Extraer el código ASP embebido en un documento HTML
  • Example#4062 - Extraer los comentarios de un documento HTML
  • Example#4063 - Extraer el código HTML de un documento HTML
  • Example#4064 - Extrer el código JSTE de un documento HTML
  • Example#4065 - Extraer el código PHP embebido en un documento HTML
  • Example#4066 - Extraer el texto de un documento HTML
  • Example#4067 - Ejemplo de ob_tidyhandler
  • Example#4068 - Ejemplo de la función tidy_access_count
  • Example#4069 - Ejemplo de la función tidy_config_count
  • Example#4070 - Ejemplo de la función tidy_error_count
  • Example#4071 - Ejemplo de la función tidy_get_output
  • Example#4072 - Ejemplo de la función tidy_setopt
  • Example#4073 - Ejemplo de la función tidy_warning_count
  • Example#4074 - Quitar comentarios con el tokenizer
  • Example#4075 - token_get_all ejemplos
  • Example#4076 - token_name ejemplo
  • Example#4077 - Ejemplo de base64_decode
  • Example#4078 - Ejemplo de base64_encode
  • Example#4079 - Ejemplo de get_headers
  • Example#4080 - get_headers using HEAD example
  • Example#4081 - Lo que procesa get_meta_tags
  • Example#4082 - Lo que devuelve get_meta_tags
  • Example#4083 - Uso simple de http_build_query
  • Example#4084 - http_build_query con elementos indexados numéricamente.
  • Example#4085 - con arrays complejos http_build_query
  • Example#4086 - Uso de http_build_query con un objeto
  • Example#4087 - Un ejemplo de parse_url
  • Example#4088 - Un ejemplo de parse_url con el esquema ausente
  • Example#4089 - Ejemplo de rawurldecode
  • Example#4090 - Inclusión de una contraseña en una URL FTP
  • Example#4091 - Ejemplo 2 de rawurlencode
  • Example#4092 - Ejemplo de urldecode
  • Example#4093 - Ejemplo de urlencode
  • Example#4094 - Ejemplo de urlencode y ejemplo de htmlentities
  • Example#4095 - Básica ejecución Javascript
  • Example#4096 - Yaml Example
  • Example#4097 - Parse callback example
  • Example#4098 - Emit callback example
  • Example#4099 - Ejemplo de yaml_emit
  • Example#4100 - Ejemplo de yaml_parse
  • Example#4101 - Distribución clásica del directorio Application
  • Example#4102 - Entrada
  • Example#4103 - Regla de sobrescritura
  • Example#4104 - Configuración de la aplicación
  • Example#4105 - Controlador predeterminado
  • Example#4106 - Plantilla de vistas predeterminada
  • Example#4107 - Ejecutar la aplicación
  • Example#4108 - Un ejemplo de un array de configuración yaf
  • Example#4109 - Un ejemplo de un fichero ini de configuración yaf
  • Example#4110 - Un ejemplo de A Bootstrap
  • Example#4111 - Ejemplo de Yaf_Application::bootstrap
  • Example#4112 - Ejemplo de Yaf_Application::clearLastError
  • Example#4113 - A ini config file example
  • Example#4114 - Ejemplo de Yaf_Application::__construct
  • Example#4115 - Ejemplo de Yaf_Application::__construct
  • Example#4116 - Ejemplo de Yaf_Application::environ
  • Example#4117 - Ejemplo de Yaf_Application::execute
  • Example#4118 - Ejemplo de Yaf_Application::getConfig
  • Example#4119 - Ejemplo de Yaf_Application::getDispatcher
  • Example#4120 - Ejemplo de Yaf_Application::getLastErrorMsg
  • Example#4121 - Ejemplo de Yaf_Application::getLastErrorNo
  • Example#4122 - Ejemplo de Yaf_Application::getModules
  • Example#4123 - Ejemplo de arranque
  • Example#4124 - Ejemplo de Yaf_Dispatcher::autoRender
  • Example#4125 - Ejemplo de Yaf_Dispatcher::catchException
  • Example#4126 - Yaf_Dispatcher::registerPluginexample
  • Example#4127 - Ejemplo de un motor de Vistas personalizado
  • Example#4128 - Ejemplo de Yaf_Dispatcher::setView
  • Example#4129 - Ejemplo de Yaf_Dispatcher::throwexception
  • Example#4130 - Ejemplo de Yaf_Dispatcher::throwexception
  • Example#4131 - Ejemplo de Yaf_Config_Ini
  • Example#4132 - Definir una acción en un fichero aparte
  • Example#4133 - Dummy_action.php
  • Example#4134 - Ejemplo de Yaf_Controller_Abstract::forward
  • Example#4135 - Ejemplo de Yaf_Action_Abstract::execute
  • Example#4136 - Ejemplo de Yaf_Action_Abstract::execute
  • Example#4137 - Ejemplo de Yaf_View_Simple::assign
  • Example#4138 - Ejemplo de template
  • Example#4139 - Ejemplo de Yaf_View_Simple::assignRef
  • Example#4140 - Ejemplo de template
  • Example#4141 - Ejemplo de Yaf_View_Simple::clear
  • Example#4142 - Ejemplo de Yaf_View_Simple::__constructor
  • Example#4143 - Ejemplo de Yaf_View_Simple::__set
  • Example#4144 - Ejemplo de configuración
  • Example#4145 - Registrar el espacio de nombres local
  • Example#4146 - Load class example
  • Example#4147 - Ejemplo de carga de una clase en el espacio de nombres
  • Example#4148 - Ejemplo de carga de clase MVC
  • Example#4149 - Distinciones de clases MVC
  • Example#4150 - Ejemplo de carga MVC
  • Example#4151 - Ejemplo de Yaf_Loader::registerLocalNamespace
  • Example#4152 - Plugin example
  • Example#4153 - Ejemplo de Yaf_Plugin_Abstract::routerShutdown
  • Example#4154 - Ejemplo de Yaf_Response_Abstract::appendBody
  • Example#4155 - Ejemplo de Yaf_Response_Abstract::getBody
  • Example#4156 - Ejemplo de Yaf_Response_Abstract::prependBody
  • Example#4157 - Ejemplo de Yaf_Response_Abstract::response
  • Example#4158 - Ejemplo de Yaf_Response_Abstract::setBody
  • Example#4159 - Ejemplo de Yaf_Route_Map
  • Example#4160 - Ejemplo de Yaf_Route_Map
  • Example#4161 - Yaf_Route_Mapexample
  • Example#4162 - Ejemplo de Yaf_Route_Regex
  • Example#4163 - Ejemplo de Yaf_Route_Regex
  • Example#4164 - Ejemplo de Yaf_Route_Rewrite
  • Example#4165 - Ejemplo de Yaf_Route_Rewrite
  • Example#4166 - Regla de reescritura para Apache
  • Example#4167 - Regla de reescritura para Apache
  • Example#4168 - Regla de reescritura para Lighttpd
  • Example#4169 - Regla de reescritura para Nginx
  • Example#4170 - Ejemplo de Yaf_Route_Static (ruta predeterminada)
  • Example#4171 - Ejemplo de application.ini
  • Example#4172 - Ejemplo de Yaf_Dispatcher::autoConfig
  • Example#4173 - Ejemplo de Yaf_Dispatcher::autoRender
  • Example#4174 - Registrar algunas rutas en el Arranque
  • Example#4175 - Complemento Dummy.php (bajo application.directory/plugins)
  • Example#4176 - Ejemplo de Yaf_Route_Simple::route
  • Example#4177 - Ejemplo de Yaf_Route_Simple::route
  • Example#4178 - Ejemplo de Yaf_Route_Static::route
  • Example#4179 - Ejemplo de Yaf_Route_Supervar
  • Example#4180 - Taintexample
  • Example#4181 - Ejemplo de AMQP
  • Example#4182 - Ejemplo de AMQPConnection::connect
  • Example#4183 - Ejemplo de AMQPConnection::__construct
  • Example#4184 - Ejemplo de AMQPConnection::disconnect
  • Example#4185 - Ejemplo de AMQPConnection::isConnected
  • Example#4186 - Ejemplo de AMQPConnection::reconnect
  • Example#4187 - Ejemplo de AMQPConnection::setHost
  • Example#4188 - Ejemplo de AMQPConnection::setLogin
  • Example#4189 - Ejemplo de AMQPConnection::setPassword
  • Example#4190 - Ejemplo de AMQPConnection::setPort
  • Example#4191 - Ejemplo de AMQPConnection::setTimeout
  • Example#4192 - Ejemplo de AMQPConnection::setVhost
  • Example#4193 - Ejemplo de AMQPExchange::declare
  • Example#4194 - AMQPExchange::deleteejemplo
  • Example#4195 - AMQPQueue::ack Ejemplo con AMQPQueue::get
  • Example#4196 - AMQPQueue::ack Ejemplo con AMQPQueue::consume
  • Example#4197 - Ejemplo de AMQPQueue::consume
  • Example#4198 - Ejemplo de AMQPQueue::get
  • Example#4199 - Crear un archivo chdb
  • Example#4200 - Cargar y examinar un archivo chdb
  • Example#4201 - Ejemplo de chdb::get
  • Example#4202 - Ejemplo de chdb_create
  • Example#4203 - Uso del módulo cURL de PHP para capturar página principal de example.com
  • Example#4204 - Inicializar una nueva sesión CURL y capturar una página web
  • Example#4205 - Copiar un recurso cURL
  • Example#4206 - curl_errno ejemplo
  • Example#4207 - Ejemplo de curl_error
  • Example#4208 - Ejemplo con curl_escape
  • Example#4209 - Capturar una página web
  • Example#4210 - Ejemplo de curl_getinfo
  • Example#4211 - Inicia una nueva sesión cURL y captura una página web
  • Example#4212 - curl_multi_add_handle example
  • Example#4213 - curl_multi_close example
  • Example#4214 - curl_multi_exec example
  • Example#4215 - Un ejemplo de curl_multi_info_read
  • Example#4216 - curl_multi_init example
  • Example#4217 - Ejemplo con curl_multi_strerror
  • Example#4218 - Ejemplo con curl_reset
  • Example#4219 - Iniciando una nueva sesión cURL y capturando una página web
  • Example#4220 - O nuestra implementación de curl_setopt_array
  • Example#4221 - Iniciando una nueva sesión cURL y capturando la página web
  • Example#4222 - Subiendo un fichero
  • Example#4223 - Ejemplo con curl_share_setopt
  • Example#4224 - Ejemplo con curl_share_init
  • Example#4225 - Ejemplo de curl_share_setopt
  • Example#4226 - Ejemplo de curl_errno
  • Example#4227 - Ejemplo de curl_escape
  • Example#4228 - ejemplo de curl_version
  • Example#4229 - Ejemplo con CURLFile::__construct
  • Example#4230 - Simple HTTP client
  • Example#4231 - HTTP client using asynchronous DNS resolver
  • Example#4232 - Echo server
  • Example#4233 - SSL echo server
  • Example#4234 - Signal handler
  • Example#4235 - Use libevent's loop to process requests of `eio' extension
  • Example#4236 - Miscellaneous
  • Example#4237 - Simple HTTP server
  • Example#4238 - EventHttpConnection::makeRequest example
  • Example#4239 - Connection listener based on a UNIX domain socket
  • Example#4240 - Simple SMTP server
  • Example#4241 - Handling SIGTERM signal
  • Example#4242 - Event::addSignal example
  • Example#4243 - Event::addTimer example
  • Example#4244 - Ejemplo con EventBase::getFeatures
  • Example#4245 - Ejemplo con EventBase::getMethod
  • Example#4246 - EventBuffer::search example
  • Example#4247 - EventBufferEvent::connect example
  • Example#4248 - Connect to UNIX domain socket which presumably is served by a server, read response from the server and output it to the console
  • Example#4249 - EventBufferEvent::connectHost example
  • Example#4250 - Buffer event's read callback
  • Example#4251 - EventBufferEvent::getOutput example
  • Example#4252 - EventBufferEvent::sslError example
  • Example#4253 - Simple SMTP server
  • Example#4254 - EventConfig::avoidMethod example
  • Example#4255 - EventConfig::__construct example
  • Example#4256 - EventConfig::requireFeatures example
  • Example#4257 - EventHttp::accept example
  • Example#4258 - EventHttp::addServerAlias example
  • Example#4259 - EventHttp::bind example
  • Example#4260 - Simple HTTP server
  • Example#4261 - EventHttp::setCallback example
  • Example#4262 - EventHttp::setDefaultCallback example
  • Example#4263 - EventHttpConnection::makeRequest example
  • Example#4264 - EventHttpConnection::setCloseCallback example
  • Example#4265 - EventHttpRequest::__construct example
  • Example#4266 - EventHttpRequest::sendError example
  • Example#4267 - EventListener::__construct example
  • Example#4268 - EventSslContext::__construct example
  • Example#4269 - Ejemplo FTP
  • Example#4270 - Ejemplo de ftp_alloc
  • Example#4271 - Ejemplo de ftp_cdup
  • Example#4272 - Ejemplo de ftp_chdir
  • Example#4273 - Ejemplo de ftp_chmod
  • Example#4274 - Ejemplo de ftp_close
  • Example#4275 - Ejemplo de ftp_connect
  • Example#4276 - Ejemplo de ftp_delete
  • Example#4277 - Ejemplo de ftp_exec
  • Example#4278 - Ejemplo de ftp_fget
  • Example#4279 - Ejemplo de ftp_fput
  • Example#4280 - Ejemplo de ftp_get_option
  • Example#4281 - Ejemplo de ftp_get
  • Example#4282 - Ejemplo de ftp_login
  • Example#4283 - Ejemplo de ftp_mdtm
  • Example#4284 - Ejemplo de ftp_mkdir
  • Example#4285 - Ejemplo de ftp_nb_continue
  • Example#4286 - Ejemplo de ftp_nb_fget
  • Example#4287 - Ejemplo de ftp_nb_fput
  • Example#4288 - Ejemplo de ftp_nb_get
  • Example#4289 - Reanudar una descarga con ftp_nb_get
  • Example#4290 - Reanudar una descarga en la posición 100 a un nuevo archivo con ftp_nb_get
  • Example#4291 - Ejemplo de ftp_nb_put
  • Example#4292 - Reanudación de un proceso de carga con ftp_nb_put
  • Example#4293 - Ejemplo de ftp_nlist
  • Example#4294 - Ejemplo de ftp_pasv
  • Example#4295 - Ejemplo de ftp_put
  • Example#4296 - Ejemplo de ftp_pwd
  • Example#4297 - Uso de ftp_raw para iniciar sesión en un servidor FTP de forma manual.
  • Example#4298 - Ejemplo de ftp_rawlist
  • Example#4299 - Ejemplo de ftp_rename
  • Example#4300 - Ejemplo de ftp_rmdir
  • Example#4301 - Ejemplo de ftp_set_option
  • Example#4302 - Envío de un comando SITE a un servidor FTP
  • Example#4303 - Ejemplo de ftp_size
  • Example#4304 - Ejemplo de ftp_ssl_connect
  • Example#4305 - Ejemplo de ftp_systype
  • Example#4306 - Cliente y trabajador básicos en Gearman
  • Example#4307 - Cliente y trabajador básicos en Gearman, trabajo en segundo plano
  • Example#4308 - Cliente y trabajador básicos, enviando tareas
  • Example#4309 - Añadir dos servidores de trabajos
  • Example#4310 - Añade dos servidores de trabajos
  • Example#4311 - Envío básico de dos tareas
  • Example#4312 - Envío básico de dos tareas pasando contexto de la aplicación
  • Example#4313 - Dos tareas, una en segundo plano y la otra no
  • Example#4314 - Una tarea de prioridad alta junto con dos tareas de prioridad normal
  • Example#4315 - Una tarea de baja prioridad junto con dos tareas de prioridad normal
  • Example#4316 - Monitor para el estado de finalización de múltiples tareas en segundo plano
  • Example#4317 - Envío de un trabajo con retorno inmediato
  • Example#4318 - Envío de un trabajo y obtención del estado incremental
  • Example#4319 - Envío y monitorización de un trabajo en segundo plano
  • Example#4320 - Envío de un trabajo sencillo con retorno inmediato
  • Example#4321 - Enviar un trabajo y recuperar el estado incremental
  • Example#4322 - Obtiene el estado de un trabajo en ejecución de larga duración
  • Example#4323 - Monitorización del estado de un trabajo ejecutandose en segundo plano
  • Example#4324 - Sencillo trabajador que usa los datos de contexto de aplicación
  • Example#4325 - Añade servidores Gearman alternativos
  • Example#4326 - Añade dos servidores de trabajo
  • Example#4327 - Ejemplo de GearmanWorker::setId
  • Example#4328 - Un trabajador sencillo con un tiempo de espera de 5 segundos
  • Example#4329 - Running worker in non-blocking mode
  • Example#4330 - GearmanWorker::work example
  • Example#4331 - Salida hipotéticoa de gopher://gopher.example.com/
  • Example#4332 - Utilizar gopher_parsedir
  • Example#4333 - Buscar toos los dispositivos y servicios UPnP.
  • Example#4334 - Implementing light server
  • Example#4335 - Implementando el cliente "luz"
  • Example#4336 - Crea un nuevo contexto UPnP y obtiene la dirección IP de la máquina
  • Example#4337 - Crea un nuevo contexto UPnP and obtiene el número de puerto
  • Example#4338 - Crea un nuevo contexto UPnP y establece la ruta de alojamiento
  • Example#4339 - Crea un nuevo contexto UPnP
  • Example#4340 - Crea un nuevo contexto UPnP y establece un callback
  • Example#4341 - Crea un nuevo contexto UPnP y comienza a navegar
  • Example#4342 - Crea un nuevo contexto UPnP e inicia el navegador
  • Example#4343 - Crea un nuevo contexto UPnP y obtiene la información de servicio del dispositivo
  • Example#4344 - Crea un nuevo contexto UPnP y obtiene información del servicio
  • Example#4345 - Ejemplo de HttpDeflateStream
  • Example#4346 - Ejemplo de HttpInflateStream
  • Example#4347 - Ejemplo de HttpRequest::addCookies
  • Example#4348 - ejemplo GET
  • Example#4349 - Ejemplo POST
  • Example#4350 - Ejemplo de HttpRequestPool
  • Example#4351 - Ejemplo de HttpRequestPool::socketPerform
  • Example#4352 - Ejemplo de HttpResponse::capture
  • Example#4353 - Ejemplo de HttpResponse::send
  • Example#4354 - Ejemplo de http_cache_etag
  • Example#4355 - Ejemplo de http_cache_last_modified
  • Example#4356 - Ejemplo de http_chunked_decode
  • Example#4357 - Ejemplo de http_support
  • Example#4358 - Utilizando http_negotiate_charset
  • Example#4359 - Utilizando http_negotiate_content_type
  • Example#4360 - Utilizando http_negotiate_language
  • Example#4361 - Uso de http_parse_cookie
  • Example#4362 - Uso de http_parse_headers
  • Example#4363 - Uso de http_parse_message
  • Example#4364 - Ejemplo de http_parse_params
  • Example#4365 - Ejemplo de http_persistent_handles_count
  • Example#4366 - A http_persistent_handles_ident example
  • Example#4367 - Ejemplo de http_get
  • Example#4368 - Ejemplo de http_post_fields
  • Example#4369 - Ejemplo de http_redirect
  • Example#4370 - A http_send_file example
  • Example#4371 - Ejemplo de http_throttle
  • Example#4372 - Ejemplo de http_build_url
  • Example#4373 - modificar un atributo
  • Example#4374 - añadir un atributo completamente nuevo
  • Example#4375 - modificar el atributo Title
  • Example#4376 - modificar el atributo Title
  • Example#4377 - removing attribute
  • Example#4378 - Recupera un objeto
  • Example#4379 - Ejemplo de Java
  • Example#4380 - Ejemplo de AWT
  • Example#4381 - Gestor de excepciones de Java
  • Example#4382 - Ejemplo de búsqueda LDAP
  • Example#4383 - Ejemplo completo con autenticación
  • Example#4384 - Ejemplo de autenticación
  • Example#4385 - Ejemplo de autenticación anónima
  • Example#4386 - Ejemplo completo de revisión de contraseña
  • Example#4387 - Ejemplo de conexión a un servidor LDAP.
  • Example#4388 - Ejemplo de conexión segura a un servidor LDAP.
  • Example#4389 - LDAP pagination
  • Example#4390 - LDAP pagination
  • Example#4391 - Ejemplo de ldap-count-entries
  • Example#4392 - Enumerando todos los mensajes de error de LDAP
  • Example#4393 - Generación y captura de un error
  • Example#4394 - Mostrar la lista de atributos mantenida por una entrada de directorio en particular
  • Example#4395 - Revisar la versión del protocolo
  • Example#4396 - Listar todos los valores del atributo "correo" para una entrada de directorio
  • Example#4397 - Producir una lista de todas las unidades organizacionales de una organización
  • Example#4398 - Búsqueda LDAP
  • Example#4399 - Establecer la versión del protocolo
  • Example#4400 - Establecer controles del servidor
  • Example#4401 - Clasificador de LDAP
  • Example#4402 - Ejemplos de la extensión memcache extension
  • Example#4403 - Usando el gestor de sesiones de memcache
  • Example#4404 - Ejemplo Memcache::add
  • Example#4405 - Ejemplo Memcache::addServer
  • Example#4406 - Ejemplo Memcache::close
  • Example#4407 - Memcache::connect example
  • Example#4408 - Ejemplo Memcache::decrement
  • Example#4409 - Ejemplo de Memcache::delete
  • Example#4410 - Ejemplo de Memcache::flush
  • Example#4411 - Ejemplo de Memcache::get
  • Example#4412 - Ejemplo de Memcache::getExtendedStats
  • Example#4413 - Ejemplo de Memcache::getServerStatus
  • Example#4414 - Ejemplo de Memcache::getVersion
  • Example#4415 - Ejemplo de Memcache::increment
  • Example#4416 - Ejemplo de Memcache::pconnect
  • Example#4417 - Ejemplo de Memcache::replace
  • Example#4418 - Ejemplo de Memcache::set
  • Example#4419 - Ejemplo de Memcache::set
  • Example#4420 - Ejemplo de Memcache::setCompressThreshold
  • Example#4421 - Ejemplo de Memcache::setServerParams
  • Example#4422 - Ejemplo de resultado de llamada de retorno
  • Example#4423 - Ejemplo de lectura de llamada de retorno
  • Example#4424 - Ejemplo de Memcached::addServer
  • Example#4425 - Ejemplo de Memcached::addServers
  • Example#4426 - Ejemplo de Memcached::append
  • Example#4427 - Ejemplos de Memcached::cas
  • Example#4428 - Creando un objeto Memcached
  • Example#4429 - Ejemplo de Memcached::decrement
  • Example#4430 - Ejemplo de Memcached::delete
  • Example#4431 - Ejemplo de Memcached::fetch
  • Example#4432 - Ejemplo de Memcached::getDelayed
  • Example#4433 - Ejemplo de Memcached::flush
  • Example#4434 - Ejemplo 1 Memcached::get
  • Example#4435 - Ejemplo 2 Memcached::get
  • Example#4436 - Ejemplo de Memcached::getDelayed
  • Example#4437 - Ejemplo de Memcached::getMulti
  • Example#4438 - Ejemplo de Memcached::GET_PRESERVE_ORDER
  • Example#4439 - Obteniendo opciones de Memcached
  • Example#4440 - Ejemplo de Memcached::getResultCode
  • Example#4441 - Ejemplo de Memcached::getResultMessage
  • Example#4442 - Ejemplo de Memcached::getServerByKey
  • Example#4443 - Ejemplo de Memcached::getServerList
  • Example#4444 - Ejemplo de Memcached::getStats
  • Example#4445 - Ejemplo de Memcached::getVersion
  • Example#4446 - Ejemplo de Memcached::increment
  • Example#4447 - Ejemplo de Memcached::prepend
  • Example#4448 - Ejemplo de Memcached::set
  • Example#4449 - Ejemplo de Memcached::setByKey
  • Example#4450 - Ejemplo de Memcached::setMulti
  • Example#4451 - Estableciendo una opción Memcached
  • Example#4452 - Setting Memcached options
  • Example#4453 - mqseries_back example
  • Example#4454 - mqseries_begin example
  • Example#4455 - mqseries_close example
  • Example#4456 - mqseries_cmit example
  • Example#4457 - mqseries_conn example
  • Example#4458 - mqseries_connx example
  • Example#4459 - mqseries_connx example using SSL connection & OCSP Responder URL
  • Example#4460 - mqseries_disc example
  • Example#4461 - mqseries_get example
  • Example#4462 - mqseries_inq example
  • Example#4463 - mqseries_open example
  • Example#4464 - mqseries_put example
  • Example#4465 - mqseries_strerror example
  • Example#4466 - define_syslog_variables example
  • Example#4467 - Using dns_get_record
  • Example#4468 - Using dns_get_record and DNS_ANY
  • Example#4469 - Ejemplo de fsockopen
  • Example#4470 - Utilización de una conexión UDP
  • Example#4471 - Un ejemplo sencillo de gethostbyaddr
  • Example#4472 - Ejemplo simple de gethostbyname
  • Example#4473 - Ejemplo de gethostbynamel
  • Example#4474 - Un ejemplo simple de gethostname
  • Example#4475 - Ejemplo de getprotobyname
  • Example#4476 - Ejemplo de getservbyname
  • Example#4477 - header_register_callback example
  • Example#4478 - Eliminar un encabezado específico.
  • Example#4479 - Eliminar todos los encabezados previamente establecidos.
  • Example#4480 - Diálogo de descarga
  • Example#4481 - Directivas caché
  • Example#4482 - Ejemplos usando headers_list
  • Example#4483 - Ejemplos usando headers_sent
  • Example#4484 - Examples using http_response_code
  • Example#4485 - inet_ntop Example
  • Example#4486 - inet_pton Example
  • Example#4487 - Ejemplo de ip2long
  • Example#4488 - Desplegar una dirección IP
  • Example#4489 - ejemplo de envío con setcookie
  • Example#4490 - ejemplo de borrado con setcookie
  • Example#4491 - setcookie y los arrays
  • Example#4492 - Uso de syslog
  • Example#4493 - Procedimiento de utilización de rrd
  • Example#4494 - Procedimiento de utilización de OOP rrd
  • Example#4495 - Ejemplos RRDGraph::setOptions
  • Example#4496 - Ejemplos de RRDUpdater::update
  • Example#4497 - Creación de una conexión y conexión a un servidor de mensajería remoto WebSphere MQSeries
  • Example#4498 - Creación de una conexión y conexión a un servidor remoto WebSphere Application Server
  • Example#4499 - Creación de una conexión y conexión a un servidor MQTT
  • Example#4500 - Creación de un mensaje con un cuerpo de texto simple
  • Example#4501 - Definición de una propiedad de formateado de texto utilizando la sintaxis por defecto
  • Example#4502 - Definición de una propiedad especificando el tipo
  • Example#4503 - Recuperación de una propiedad desde la cabecera del mensaje
  • Example#4504 - Añadir un mensaje a una cola y recibir una respuesta
  • Example#4505 - Creación de una suscripción duradera a un tema
  • Example#4506 - Suscripción a un tema utilizando un servidor WebSphere Platform Messaging (WPM)
  • Example#4507 - Recepción de datos publicados utilizando una suscripción duradera
  • Example#4508 - Eliminación de una suscripción duradera a un tema
  • Example#4509 - Control de errores de un método que no devuelve resultado
  • Example#4510 - Control de errores de un método que devuelve resultado
  • Example#4511 - Consolidando la unidad de trabajo actual
  • Example#4512 - Creación de una conexión a un Servidor de Mensajería utilizando el protocolo de IBM MQSeries (WMQ)
  • Example#4513 - Creación de una conexión con control transaccional de la aplicación y valores de host y puerto por defecto
  • Example#4514 - Creación de una conexión a un Servidor de Mensajería utilizando el protocolo de mensajería de la plataforma IBM WebSphere (WPM)
  • Example#4515 - Creación de un objeto de conexión y conectar a un Servidor de Mensajería
  • Example#4516 - Desconexión de un Servidor de Mensajería
  • Example#4517 - Utilizando las propiedades número y descripción de error
  • Example#4518 - Uso de las propiedades de número y descripción de error
  • Example#4519 - Comprueba si se ha establecido una conexión a un servidor de mensajería
  • Example#4520 - Obtener el próximo mensaje de una cola sin eliminarlo de la cola
  • Example#4521 - Obtener un mensaje específico de la cola sin eliminarlo de la cola
  • Example#4522 - Recuperación de todos los mensajes de una cola sin eliminarlos
  • Example#4523 - Recuperación de todos los mensajes de una cola correspondientes a un identificador de correlación
  • Example#4524 - Recepción de un mensaje de una cola
  • Example#4525 - Recepción de un mensaje de una cola con opciones
  • Example#4526 - Recepción de un mensaje de una suscripción
  • Example#4527 - Eliminación de un mensaje de una cola a partir del identificador de mensaje
  • Example#4528 - Cancelación de una unidad de trabajo no consolidada
  • Example#4529 - Enviar un mensaje a una cola
  • Example#4530 - Publicar un mensaje en un asunto
  • Example#4531 - Enviar una solicitud y recibir una respuesta
  • Example#4532 - Activar la salida de información de depuración
  • Example#4533 - Desactivar la salida de información de depuración
  • Example#4534 - Suscripción a un tema
  • Example#4535 - Eliminar una suscripción
  • Example#4536 - Establecer un string de texto en el cuerpo de un mensaje
  • Example#4537 - Crear un mensaje
  • Example#4538 - Crear un mensaje con una carga de texto simple
  • Example#4539 - Configurar una propiedad de formato de texto utilizando la sintaxis por defecto
  • Example#4540 - Configurar una propiedad de formato de texto indicando el tipo
  • Example#4541 - Configuración de propiedades como el emisor de un mensaje
  • Example#4542 - Recuperación de valores desde un mensaje
  • Example#4543 - snmp_get_quick_print example
  • Example#4544 - Using snmp_get_valueretrieval
  • Example#4545 - Using snmp_read_mib
  • Example#4546 - Using snmp_set_enum_print
  • Example#4547 - Using snmprealwalk
  • Example#4548 - Using snmp_set_quick_print
  • Example#4549 - Using snmp_set_valueretrieval
  • Example#4550 - Using snmp2_get
  • Example#4551 - Using snmp2_get_next
  • Example#4552 - Using snmp2_real_walk
  • Example#4553 - Using snmp2_set
  • Example#4554 - Using snmp2_set for setting BITS SNMP object id
  • Example#4555 - snm2_pwalk Example
  • Example#4556 - Using snmp3_get
  • Example#4557 - Using snmp3_getnext
  • Example#4558 - Using snmp3_real_walk
  • Example#4559 - Using snmp3_set
  • Example#4560 - Using snmp3_set for setting BITS SNMP object id
  • Example#4561 - snmp3_walk Example
  • Example#4562 - Using snmpget
  • Example#4563 - Using snmpgetnext
  • Example#4564 - Using snmprealwalk
  • Example#4565 - Using snmpset
  • Example#4566 - Using snmpset for setting BITS SNMP object id
  • Example#4567 - snmpwalk Example
  • Example#4568 - snmpwalkoid Example
  • Example#4569 - Ejemplo de SNMP::close
  • Example#4570 - Fetching sysLocation
  • Example#4571 - Single SNMP object
  • Example#4572 - Miltiple SNMP objects
  • Example#4573 - Ejemplo de SNMP::getErrno
  • Example#4574 - Ejemplo de SNMP::getError
  • Example#4575 - Single SNMP object
  • Example#4576 - Miltiple SNMP objects
  • Example#4577 - Set single SNMP object id
  • Example#4578 - Set multiple values using single SNMP::set call
  • Example#4579 - Using SNMP::set for setting BITS SNMP object id
  • Example#4580 - SNMP::setSecurity example
  • Example#4581 - SNMP::walk example
  • Example#4582 - suffix_as_key example
  • Example#4583 - Ejemplo de socket: Servidor TCP/IP sencillo
  • Example#4584 - Ejemplo de socket: Cliente TCP/IP sencillo
  • Example#4585 - Usar socket_bind para establecer la dirección de origen
  • Example#4586 - Ejemplo de socket_create_pair
  • Example#4587 - Ejemplo IPC de socket_create_pair
  • Example#4588 - Ejemplo de socket_set_option
  • Example#4589 - Ejemplo de socket_import_stream
  • Example#4590 - Un ejemplo de socket_last_error
  • Example#4591 - Un ejemplo de socket_recv
  • Example#4592 - Un ejemplo de socket_recvfrom
  • Example#4593 - Usar NULL con socket_select
  • Example#4594 - Comprender el resultado de socket_select
  • Example#4595 - Un ejemplo de socket_select
  • Example#4596 - Ejemplo de socket_sendto
  • Example#4597 - Un ejemplo de socket_set_block
  • Example#4598 - Un ejemplo de socket_set_nonblock
  • Example#4599 - Un ejemplo de socket_set_option
  • Example#4600 - Ejemplo de socket_strerror
  • Example#4601 - Authenticating with a ssh agent
  • Example#4602 - Authentication using a public hostkey
  • Example#4603 - Retrieving a list of authentication methods
  • Example#4604 - Authenticating with a password
  • Example#4605 - Authentication using a public key
  • Example#4606 - ssh2_connect example
  • Example#4607 - Executing a command
  • Example#4608 - Opening a shell and retrieving the stderr stream associated with it
  • Example#4609 - Checking the fingerprint against a known value
  • Example#4610 - Determining what methods were negotiated
  • Example#4611 - Adding a publickey with ssh2_publickey_add
  • Example#4612 - Listing authorized keys with ssh2_publickey_list
  • Example#4613 - Downloading a file via SCP
  • Example#4614 - Uploading a file via SCP
  • Example#4615 - Creating a directory on a remote server
  • Example#4616 - Stating a symbolic link via SFTP
  • Example#4617 - Creating a directory on a remote server
  • Example#4618 - Reading a symbolic link
  • Example#4619 - Resolving a pathname
  • Example#4620 - Renaming a file via sftp
  • Example#4621 - Removing a directory on a remote server
  • Example#4622 - Stating a file via SFTP
  • Example#4623 - Creating a symbolic link
  • Example#4624 - Deleting a file
  • Example#4625 - Opening a file via SFTP
  • Example#4626 - Executing a command
  • Example#4627 - Opening a tunnel to an arbitrary host
  • Example#4628 - Estilo orientado a objetos
  • Example#4629 - Estilo por procedimientos
  • Example#4630 - Ejemplo de stomp_connect_error
  • Example#4631 - Ejemplo de stomp_version
  • Example#4632 - Estilo orientado a objetos
  • Example#4633 - Estilo por procedimientos
  • Example#4634 - Estilo orientado a objetos
  • Example#4635 - Estilo por procedimientos
  • Example#4636 - Estilo orientado a objetos
  • Example#4637 - Estilo por procedimientos
  • Example#4638 - Estilo orientado a objetos
  • Example#4639 - Estilo por procedimientos
  • Example#4640 - Estilo orientado a objetos
  • Example#4641 - Estilo por procedimientos
  • Example#4642 - Estilo orientado a objetos
  • Example#4643 - Estilo por procedimientos
  • Example#4644 - Estilo orientado a objetos
  • Example#4645 - Estilo procedural
  • Example#4646 - Estilo orientado a objetos
  • Example#4647 - Estilo por procedimientos
  • Example#4648 - Estilo orientado a objetos
  • Example#4649 - Estilo por procedimientos
  • Example#4650 - Train from array
  • Example#4651 - Train from a file
  • Example#4652 - Ejemplo de svn_add
  • Example#4653 - Ejemplo de autenticación por omisión
  • Example#4654 - Ejemplo de svn_blame
  • Example#4655 - Ejemplo básico
  • Example#4656 - Ejemplo básico
  • Example#4657 - Ejemplo básico
  • Example#4658 - Ejemplo básico
  • Example#4659 - Ejemplo básico
  • Example#4660 - Ejemplo básico
  • Example#4661 - Comparando dos revisiones de una ruta de acceso a repositorio
  • Example#4662 - Comparativa portable de dos ficheros locales
  • Example#4663 - Ejemplo de svn_export
  • Example#4664 - Ejemplo básico
  • Example#4665 - svn_log example
  • Example#4666 - svn_ls example
  • Example#4667 - Ejemplo básico
  • Example#4668 - Ejemplo básico
  • Example#4669 - Deny all connections from localhost
  • Example#4670 - Ban an URL
  • Example#4671 - Get statistic snapshot
  • Example#4672 - Read varnish shared memory log
  • Example#4673 - VarnishAdmin::__construct example
  • Example#4674 - Busqueda Paralela usando YAZ
  • Example#4675 - Configuración del CCL
  • Example#4676 - Análisis CCL
  • Example#4677 - Actualizar registro
  • Example#4678 - Array para registro GRS-1
  • Example#4679 - Trabajando con MARCXML
  • Example#4680 - función PHP que escanea títulos
  • Example#4681 - Query Examples
  • Example#4682 - Criterios de Ordenación
  • Example#4683 - Ejemplo con yp_err_string()
  • Example#4684 - Ejemplo con yp_first()
  • Example#4685 - Ejemplo para un dominio predeterminado
  • Example#4686 - Ejemplo para un NIS maestro
  • Example#4687 - Ejemplo con yp_match()
  • Example#4688 - Ejemplo con yp_next()
  • Example#4689 - Ejemplo con yp_order()
  • Example#4690 - A ZMQContext example
  • Example#4691 - A ZMQContext example
  • Example#4692 - A ZMQContext example
  • Example#4693 - A ZMQSocket example
  • Example#4694 - A send/recv example
  • Example#4695 - A ZMQPoll example
  • Example#4696 -
  • Example#4697 - udm_api_version example
  • Example#4698 - udm_cat_listexample
  • Example#4699 - Specifying path to the current category in the following format: '> Root > Sport > Auto > Ferrari'
  • Example#4700 - udm_load_ispell_data example
  • Example#4701 - udm_load_ispell_data example
  • Example#4702 - Ejemplo de solr_get_version
  • Example#4703 - Contenido del archivo BootStrap
  • Example#4704 - Añadir un documento al índice
  • Example#4705 - Fusionar un documento con otro documento
  • Example#4706 - Buscar documentos - respuestas de SolrObject
  • Example#4707 - Buscar documentos - respuestas de SolrDocument
  • Example#4708 - Ejemplo sencillo de TermsComponent - básico
  • Example#4709 - Ejemplo sencillo de TermsComponent - usar un prefijo
  • Example#4710 - Ejemplo sencillo de TermsComponent - especificar una frecuencia mínima
  • Example#4711 - Ejemplo sencillo de Facet
  • Example#4712 - Ejemplo sencillo de Facet - con sobrescritura de campo opcional para mincount
  • Example#4713 - Conectar a un Servidor con SSL Habilitado
  • Example#4714 - Ejemplo de SolrDocument::toArray
  • Example#4715 - Ejemplo de SolrObject::__construct
  • Example#4716 - Ejemplo de SolrObject::offsetUnset
  • Example#4717 - Ejemplo de SolrClient::addDocument
  • Example#4718 - Ejemplo de SolrClient::addDocuments
  • Example#4719 - Ejemplo de SolrClient::__construct
  • Example#4720 - Ejemplo de SolrQuery::deleteByQuery
  • Example#4721 - Ejemplo de SolrClient::ping
  • Example#4722 - Ejemplo de SolrClient::query
  • Example#4723 - Ejemplo de SolrClient::request
  • Example#4724 - Ejemplo de SolrClient::setResponseWriter
  • Example#4725 - Ejemplo de SolrParams::setParam
  • Example#4726 - Ejemplo de SolrQuery::addFacetField
  • Example#4727 - Ejemplo de SolrQuery::addFilterQuery
  • Example#4728 - Ejemplo de uso básico
  • Example#4729 - Consulta de búsqueda básica
  • Example#4730 - Ejemplo de Swish::__construct
  • Example#4731 - Ejemplo básico de Swish::getMetaList
  • Example#4732 - Ejemplo básico de Swish::getPropertyList
  • Example#4733 - Ejemplo básico de Swish::prepare
  • Example#4734 - Ejemplo básico de Swish::query
  • Example#4735 - Ejemplo básico de SwishResult::stem
  • Example#4736 - Ejemplo básico de SwishResults::getParsedWords
  • Example#4737 - Un ejemplo básico de SwishResults::nextResult
  • Example#4738 - Ejemplo básico de SwishResults::seekResult
  • Example#4739 - Ejemplo básico de SwishSearch::execute
  • Example#4740 - Ejemplo básico de SwishSearch::resetLimit
  • Example#4741 - Ejemplo básico de SwishSearch::setLimit
  • Example#4742 - Ejemplo básico de SwishSearch::setPhraseDelimiter example
  • Example#4743 - Ejemplo básico de SwishSearch::setSort
  • Example#4744 - Ejemplo básico de SwishSearch::setStructure
  • Example#4745 - Desactivar el intérprete de PHP en un directorio utilizando .htaccess
  • Example#4746 - Ejemplo de apache_get_modules
  • Example#4747 - Ejemplo de apache_get_version
  • Example#4748 - Ejemplo de apache_getenv
  • Example#4749 - apache_lookup_uri example
  • Example#4750 - Paso de información entre PHP y Perl
  • Example#4751 - Registro de valores en access.log
  • Example#4752 - Ejemplo de apache_request_headers
  • Example#4753 - apache_response_headers example
  • Example#4754 - Estableciendo una variable de entorno de Apache usando apache_setenv
  • Example#4755 - Ejemplo de getallheaders
  • Example#4756 - nsapi_request_headers example
  • Example#4757 - Registrar una variable con $_SESSION.
  • Example#4758 - Desregistrar una variable con $_SESSION
  • Example#4759 - Contar el número de peticiones de un sólo usuario
  • Example#4760 - Ejemplo de información
  • Example#4761 - Ejemplo de session_cache_expire
  • Example#4762 - Ejemplo de session_cache_limiter
  • Example#4763 - Destruir una sesión con $_SESSION
  • Example#4764 - Ejemplo de session_name
  • Example#4765 - Un ejemplo de session_regenerate_id
  • Example#4766 - Gestor de seseiones personalizado: véase el código completo en la sinopsis de SessionHandlerInterface.
  • Example#4767 - Gestor de almacenamiento de sesiones personalizado usando objetos
  • Example#4768 - Un ejemplo se sesión: pagina1.php
  • Example#4769 - Un ejemplo de sesión: pagina2.php
  • Example#4770 - Usar SessionHandler para añadir encriptación a los gestores de almacenamiento internos de PHP.
  • Example#4771 - Ejemplo usando SessionHandlerInterface
  • Example#4772 - Ejemplo de uso de bbcode_add_smiley
  • Example#4773 - Ejemplo de bbcode_create
  • Example#4774 - Ejemplo de uso de bbcode_set_arg_parser
  • Example#4775 - Ejemplo de uso de bbcode_set_flags
  • Example#4776 - Ejemplos de patrones válidos
  • Example#4777 - Ejemplos de patrones no válidos
  • Example#4778 - Ejemplo comparando preg_filter con preg_replace
  • Example#4779 - Ejemplo de preg_grep
  • Example#4780 - Ejemplo de preg_last_error
  • Example#4781 - Obtener todos los números de teléfono de algún texto.
  • Example#4782 - Buscar coincidencias de etiquetas HTML (codicioso)
  • Example#4783 - Usar sub-patrones nominados
  • Example#4784 - Busca la cadena de texto "php"
  • Example#4785 - Busca la palabra "web"
  • Example#4786 - Obtener el nombre de dominio de una URL
  • Example#4787 - Usar sub-patrones nominados
  • Example#4788 - Ejemplo de preg_quote
  • Example#4789 - Poner en cursiva una palabra dentro de un texto
  • Example#4790 - preg_replace_callback y función anónima
  • Example#4791 - Ejemplo de preg_replace_callback
  • Example#4792 - preg_replace_callback usando una estructura recursiva para manejar el código BB encapsulado
  • Example#4793 - Usar retro-referencias seguidas de literales numéricos
  • Example#4794 - Usar matrices indexadas con preg_replace
  • Example#4795 - Sustituir varios valores
  • Example#4796 - Quitar los espacios en blanco
  • Example#4797 - Usar el parámetro count
  • Example#4798 - Ejemplo de preg_split : Obtener las partes de un string de búsqueda
  • Example#4799 - Dividir un string en sus caracteres constituyentes
  • Example#4800 - Dividir un string mediante coincidencias y sus índices
  • Example#4801 - Ejemplos de Expresiones Regulares
  • Example#4802 - Ejemplo de ereg_replace
  • Example#4803 - Ejemplo de ereg_replace
  • Example#4804 - Sustituye URLs por vínculos
  • Example#4805 - Ejemplo de ereg
  • Example#4806 - Destaca los resultados buscados
  • Example#4807 - Ejemplo de eregi
  • Example#4808 - Ejemplo de split
  • Example#4809 - Ejemplo de split
  • Example#4810 - Ejemplo de spliti
  • Example#4811 - Ejemplo de sql_regcase
  • Example#4812 - Ejemplo de addcslashes
  • Example#4813 - Un ejemplo de addslashes
  • Example#4814 - chr Ejemplo
  • Example#4815 - Ejemplo de chunk_split
  • Example#4816 - Ejemplo de convert_uudecode
  • Example#4817 - Ejemplo de convert_uuencode
  • Example#4818 - count_chars example
  • Example#4819 - Mostrar una suma de verificación crc32
  • Example#4820 - crypt examples
  • Example#4821 - Using crypt with htpasswd
  • Example#4822 - Using crypt with different hash types
  • Example#4823 - Ejemplos de echo
  • Example#4824 - Ejemplo de explode
  • Example#4825 - Ejemplos del retorno de explode
  • Example#4826 - Ejemplos del parámetro limit
  • Example#4827 - fprintf: enteros con relleno de ceros
  • Example#4828 - fprintf: dando formato a valores monetarios
  • Example#4829 - Ejemplo de tabla de traducción
  • Example#4830 - Ejemplo de hex2bin
  • Example#4831 - Decodificación de entidades HTML
  • Example#4832 - Un ejemplo de htmlentities
  • Example#4833 - Uso de ENT_IGNORE
  • Example#4834 - Un ejemplo de htmlspecialchars_decode
  • Example#4835 - Ejemplo de htmlspecialchars
  • Example#4836 - Ejemplo de implode
  • Example#4837 - Ejemplo de lcfirst
  • Example#4838 - Ejemplo de levenshtein
  • Example#4839 - Ejemplo de localeconv
  • Example#4840 - Ejemplo de uso de ltrim
  • Example#4841 - Ejemplo de uso de md5_file
  • Example#4842 - Ejemplo de md5
  • Example#4843 - Ejemplo básico de metaphone
  • Example#4844 - Utilizando el parámetro phonemes
  • Example#4845 - Ejemplos de money_format
  • Example#4846 - Usar nl2br
  • Example#4847 - Generar marcado HTML válido utilizando el parámetro is_xhtml
  • Example#4848 - Varios separadores de nueva línea
  • Example#4849 - Ejemplo de number_format
  • Example#4850 - ord ejemplo
  • Example#4851 - Utilizando parse_str
  • Example#4852 - Ejemplos de print
  • Example#4853 - Ejemplo de uso de rtrim
  • Example#4854 - Ejemplos de setlocale
  • Example#4855 - Ejemplos para Windows de setlocale
  • Example#4856 - Ejemplo de sha1_file
  • Example#4857 - Ejemplo de sha1
  • Example#4858 - Ejemplos de soundex
  • Example#4859 - Intercambio de argumentos
  • Example#4860 - Intercambio de argumentos
  • Example#4861 - Intercambio de argumentos
  • Example#4862 - Intercambio de argumentos
  • Example#4863 - Especificador de posición con otros especificadores
  • Example#4864 - printf: ejemplos varios
  • Example#4865 - printf: especificadores de string
  • Example#4866 - sprintf: rellenado con ceros en integers
  • Example#4867 - sprintf: formato de moneda
  • Example#4868 - sprintf: notación científica
  • Example#4869 - Ejemplo de sscanf
  • Example#4870 - sscanf - using optional parameters
  • Example#4871 - Ejemplo de str_ireplace
  • Example#4872 - Ejemplo de str_pad
  • Example#4873 - Ejemplo de str_repeat
  • Example#4874 - Ejemplos básicos de str_replace
  • Example#4875 - Ejemplos de trampas potenciales con str_replace
  • Example#4876 - Ejemplo de str_rot13
  • Example#4877 - Ejemplo de str_shuffle
  • Example#4878 - Ejemplos de uso de str_split
  • Example#4879 - Ejemplo de str_word_count
  • Example#4880 - Ejemplo de strcasecmp
  • Example#4881 - strcspn example
  • Example#4882 - Ejemplo de strip_tags
  • Example#4883 - Ejemplos de stripos
  • Example#4884 - Un ejemplo de stripslashes
  • Example#4885 - Utilizando stripslashes en un array
  • Example#4886 - Ejemplo de stristr
  • Example#4887 - Probando si un string se encuentra o no
  • Example#4888 - Utilizando un needle no "string"
  • Example#4889 - Un ejemplo destrlen
  • Example#4890 - Ejemplo de strpbrk
  • Example#4891 - Usando ===
  • Example#4892 - Using !==
  • Example#4893 - Uso de offset
  • Example#4894 - Ejemplo de strrchr
  • Example#4895 - Invertir una cadena con strrev
  • Example#4896 - Un ejemplo simple de strripos
  • Example#4897 - Verificando si hay una aguja en el pajar
  • Example#4898 - Buscando con desplazamientos
  • Example#4899 - Ejemplo de strspn
  • Example#4900 - Ejemplo de strstr
  • Example#4901 - Ejemplo de strtok
  • Example#4902 - Comportamiento anterior de strtok
  • Example#4903 - Comportamiento nuevo de strtok
  • Example#4904 - Ejemplo de strtolower
  • Example#4905 - Ejemplo de strtoupper
  • Example#4906 - Ejemplo de strtr
  • Example#4907 - Ejemplo de strtr con dos argumentos
  • Example#4908 - Comparación del comportamiento de strtr
  • Example#4909 - Un ejemplo de substr_compare
  • Example#4910 - Ejemplo de substr_count
  • Example#4911 - Ejemplo desubstr_replace
  • Example#4912 - Usando substr_replace para reemplazar múltiples strings de una vez
  • Example#4913 - Usando un start negativo
  • Example#4914 - Usando un length negativo
  • Example#4915 - Uso básico de substr
  • Example#4916 - Comportamiento de casting de substr
  • Example#4917 -
  • Example#4918 - Ejemplo de uso de trim
  • Example#4919 - Uso de trim en valores de un array
  • Example#4920 - Ejemplo de ucfirst
  • Example#4921 - Ejemplo de ucwords
  • Example#4922 - vfprintf: números extendidos con ceros
  • Example#4923 - vprintf: zero-padded integers
  • Example#4924 - vsprintf: zero-padded integers
  • Example#4925 - Ejemplo de wordwrap
  • Example#4926 - Ejemplo de wordwrap
  • Example#4927 - Ejemplo de array_change_key_case
  • Example#4928 - Ejemplo de array_chunk
  • Example#4929 - Obtener la columna de nombres de pila desde el conjunto de resultados
  • Example#4930 - Obtener la columna de apellidos desde el conjunto de resultados, indexada por la columna "id"
  • Example#4931 - Ejemplo simple de array_combine
  • Example#4932 - Ejemplo de array_count_values
  • Example#4933 - Ejemplo de array_diff_assoc
  • Example#4934 - Ejemplo de array_diff_assoc
  • Example#4935 - Ejemplo de array_diff_key
  • Example#4936 - Ejemplo de array_diff_uassoc
  • Example#4937 - Ejemplo de array_diff_ukey
  • Example#4938 - Ejemplo de array_diff
  • Example#4939 - Ejemplo de array_fill_keys
  • Example#4940 - Ejemplo de array_fill
  • Example#4941 - Ejemplo de array_filter
  • Example#4942 - array_filter sin callback
  • Example#4943 - Ejemplo de array_flip
  • Example#4944 - Ejemplo de array_flip : collision
  • Example#4945 - Ejemplo de array_intersect_assoc
  • Example#4946 - Ejemplo de array_intersect_key
  • Example#4947 - Ejemplo de array_intersect_uassoc
  • Example#4948 - Ejemplo de array_intersect_ukey
  • Example#4949 - Ejemplo de array_intersect
  • Example#4950 - Ejemplo de array_key_exists
  • Example#4951 - array_key_exists vs isset
  • Example#4952 - Ejemplo de array_keys
  • Example#4953 - Ejemplo de array_map
  • Example#4954 - array_map usando la una función lamba (desde PHP 5.3.0)
  • Example#4955 - array_map - usando más arrays
  • Example#4956 - Creando un array de arrays
  • Example#4957 - array_map - con claves tipo cadena
  • Example#4958 - Ejemplo de array_merge_recursive
  • Example#4959 - Ejemplo de array_merge de PHP 5
  • Example#4960 - Ejemplo de array_merge
  • Example#4961 - Ejemplo de array_merge simple
  • Example#4962 - Ordenar varios arrays
  • Example#4963 - Ordenar un array multi-dimensional
  • Example#4964 - Ordenar resultados de una base de datos
  • Example#4965 - Ordenardo insensible a mayúsculas/minúsculas
  • Example#4966 - Ejemplo de array_pad
  • Example#4967 - Ejemplo de array_pop
  • Example#4968 - Ejemplo de array_product
  • Example#4969 - Ejemplo de array_push
  • Example#4970 - Ejemplo de array_rand
  • Example#4971 - Ejemplo de array_reduce
  • Example#4972 - Ejemplo de array_replace_recursive
  • Example#4973 - array_replace_recursive y comportamiento recursivo
  • Example#4974 - Ejemplo de array_replace
  • Example#4975 - Ejemplo de array_reverse
  • Example#4976 - Ejemplo de array_search
  • Example#4977 - Ejemplo de array_shift
  • Example#4978 - Ejemplos de array_slice
  • Example#4979 - Ejemplos de array_splice
  • Example#4980 - Ejemplos de array_splice
  • Example#4981 - Ejemplos de array_sum
  • Example#4982 - Ejemplo de array_udiff_assoc
  • Example#4983 - Ejemplo de array_udiff_uassoc
  • Example#4984 - Ejemplo de array_udiff usando objetos de stdClass
  • Example#4985 - Ejemplo de array_udiff usando objetos de DateTime
  • Example#4986 - Ejemplo de array_uintersect_assoc
  • Example#4987 - Ejemplo de array_uintersect_uassoc
  • Example#4988 - Ejemplo de array_uintersect
  • Example#4989 - Ejemplo de array_unique
  • Example#4990 - array_unique y tipos
  • Example#4991 - Ejemplo de array_unshift
  • Example#4992 - Ejemplo de array_values
  • Example#4993 - Ejemplo de array_walk_recursive
  • Example#4994 - Ejemplo de array_walk
  • Example#4995 - Ejemplo de array
  • Example#4996 - Array con índice automático
  • Example#4997 - array con índice de base 1
  • Example#4998 - Accessing an array inside double quotes
  • Example#4999 - Ejemplo de arsort
  • Example#5000 - Ejemplo de la función asort
  • Example#5001 - Ejemplo de compact
  • Example#5002 - Ejemplo de count
  • Example#5003 - Ejemplo de count recursivo
  • Example#5004 - Ejemplo de uso de current y similares
  • Example#5005 - Ejemplo de each
  • Example#5006 - Atravesar un array con each
  • Example#5007 - Ejemplo de end
  • Example#5008 - Ejemplo de extract
  • Example#5009 - Ejemplo de in_array
  • Example#5010 - Ejemplo de in_array en modo estricto
  • Example#5011 - in_array con un array como aguja
  • Example#5012 - Ejemplo de key
  • Example#5013 - Ejemplo de krsort
  • Example#5014 - Ejemplo de ksort
  • Example#5015 - Ejemplos de list
  • Example#5016 - Un ejemplo del uso de list
  • Example#5017 - Uso de list dentro de list
  • Example#5018 - Uso de list con índices array
  • Example#5019 - Ejemplo de natcasesort
  • Example#5020 - Ejemplos de natsort demostrando su uso básico
  • Example#5021 - Ejemplos de natsort demostrando trampas potenciales
  • Example#5022 - Ejemplo del uso de next y similares
  • Example#5023 - Ejemplo de uso de prev and friends
  • Example#5024 - Ejemplos de range
  • Example#5025 - Ejemplo de reset
  • Example#5026 - Ejemplo de rsort
  • Example#5027 - Ejemplo de shuffle
  • Example#5028 - Ejemplo de sort
  • Example#5029 - Ejemplo de sort usando la ordenación insensible a mayúsculas/minúsculas natural
  • Example#5030 - Ejemplo básico de uasort
  • Example#5031 - Ejemplo de uksort
  • Example#5032 - Ejemplo de usort
  • Example#5033 - Ejemplo de usort usando un array multidimensional
  • Example#5034 - Ejemplo de usort usando una función miembro de un objeto
  • Example#5035 - Ejemplo de usort usando un cierre para ordenar un array multidimensional
  • Example#5036 - classes.inc
  • Example#5037 - test_script.php
  • Example#5038 - Alternativa a call_user_method_array
  • Example#5039 - Alternativa a call_user_method
  • Example#5040 - Ejemplo de class_alias
  • Example#5041 - Ejemplo de class_exists
  • Example#5042 - Ejemplo del parámetro autoload
  • Example#5043 - Usar get_called_class
  • Example#5044 - Ejemplo de get_class_methods
  • Example#5045 - Ejemplo de get_class_vars
  • Example#5046 - get_class_vars y comportamiento de ámbito
  • Example#5047 - Usar get_class
  • Example#5048 - Usar get_class en superclass
  • Example#5049 - Ejemplo de get_declared_classes
  • Example#5050 - Ejemplo de get_declared_interfaces
  • Example#5051 - Uso de get_object_vars
  • Example#5052 - Usar get_parent_class
  • Example#5053 - Ejemplo de interface_exists
  • Example#5054 - Ejemplo de is_a
  • Example#5055 - Usar el operador instanceof en PHP 5
  • Example#5056 - Ejemplo de is_subclass_of
  • Example#5057 - Ejemplo de is_subclass_of usando una interfaz
  • Example#5058 - Ejemplo de method_exists
  • Example#5059 - Ejemplo de method_exists estático
  • Example#5060 - Un ejemplo de property_exists
  • Example#5061 - Ejemplo de classkit_import
  • Example#5062 - Ejemplo de classkit_method_add
  • Example#5063 - Ejemplo de classkit_method_copy
  • Example#5064 - Ejemplo de classkit_method_redefine
  • Example#5065 - Ejemplo de classkit_method_remove
  • Example#5066 - Ejemplo de classkit_method_rename
  • Example#5067 - Un ejemplo de ctype_alnum (usando la localización predeterminada)
  • Example#5068 - Un ejemplo de ctype_alpha (usando la localización predeterminada)
  • Example#5069 - Un ejemplo de ctype_cntrl
  • Example#5070 - Un ejemplo de ctype_digit
  • Example#5071 - Un ejemplo de ctype_digit comparando strings con integers
  • Example#5072 - Un ejemplo de ctype_graph
  • Example#5073 - Un ejemplo de ctype_lower (usando la localidad predeterminada)
  • Example#5074 - Un ejemplo de ctype_print
  • Example#5075 - Un ejemplo de ctype_punct
  • Example#5076 - Un ejemplo de ctype_space
  • Example#5077 - Un ejemplo de ctype_upper (usando la localidad predeterminada)
  • Example#5078 - Un ejemplo de ctype_xdigit
  • Example#5079 - Configuring the default filter to act like htmlspecialchars
  • Example#5080 - Configurar el filtro predeterminado para que actúe como htmlspecialchars
  • Example#5081 - Validación de direcciones de correo confilter_var
  • Example#5082 - Validación de direcciones IP con filter_var
  • Example#5083 - Pasando opciones a filter_var
  • Example#5084 - Saneando y validando direcciones de correo
  • Example#5085 - Configuración de un filtro por omisión
  • Example#5086 - Un ejemplo con filter_input_array
  • Example#5087 - Un ejemplo de filter_input
  • Example#5088 - Ejemplo de filter_list
  • Example#5089 - Ejemplo de filter_var_array
  • Example#5090 - Un ejemplo de filter_var
  • Example#5091 - Ejemplo de call_user_func_array
  • Example#5092 - call_user_func_array usando un nombre de espacio de nombres
  • Example#5093 - Usar una función lambda
  • Example#5094 - Ejemplo de call_user_func y referencias
  • Example#5095 - Ejemplo de call_user_func
  • Example#5096 - call_user_func usando un nombre de espacios de nombres
  • Example#5097 - Usar un método de clase con call_user_func
  • Example#5098 - Usar una función lambda con call_user_func
  • Example#5099 - Crear una función anónima con create_function
  • Example#5100 - Hacer una función de proceso general con create_function
  • Example#5101 - Usar funciones anónimas como funciones de llamada de retorno
  • Example#5102 - Ejemplo de forward_static_call_array
  • Example#5103 - Ejemplo de forward_static_call
  • Example#5104 - Ejemplo de func_get_arg
  • Example#5105 - Ejemplo de func_get_arg antes y después de PHP 5.3
  • Example#5106 - func_get_arg ejemplo de argumentos byref (pasa un objeto como referencia) y byval (pasa un objeto como valor)
  • Example#5107 - Ejemplo de func_get_args
  • Example#5108 - Ejemplo de func_get_args antes y después de PHP 5.3
  • Example#5109 - func_get_args ejemplo de argumentos byref (pasa un objeto como referencia) y byval (pasa un objeto como valor)
  • Example#5110 - Ejemplo de func_num_args
  • Example#5111 - Ejemplo de func_num_args antes y después de PHP 5.3
  • Example#5112 - Ejemplo de function_exists
  • Example#5113 - Ejemplo de get_defined_functions
  • Example#5114 - Ejemplo de register_shutdown_function
  • Example#5115 - Ejemplo de register_tick_function
  • Example#5116 - Class association
  • Example#5117 - Object association
  • Example#5118 - storage_classes.inc
  • Example#5119 - test_aggregation.php
  • Example#5120 - Using aggregate_info
  • Example#5121 - Ejemplo de Quickhash
  • Example#5122 - Ejemplo de Quickhash con ArrayAccess
  • Example#5123 - Ejemplo de Quickhash con Iterator
  • Example#5124 - Ejemplo de valores de tipo string de Quickhash
  • Example#5125 - Ejemplo de QuickHashIntSet::add
  • Example#5126 - Ejemplo de QuickHashIntSet::__construct
  • Example#5127 - Ejemplo de QuickHashIntSet::delete
  • Example#5128 - Ejempl0 de QuickHashIntSet::exists
  • Example#5129 - Ejemplo de QuickHashIntSet::getSize
  • Example#5130 - Ejemplo de QuickHashIntSet::loadFromFile
  • Example#5131 - Ejemplo de QuickHashIntSet::loadFromString
  • Example#5132 - Ejemplo de QuickHashIntSet::saveToFile
  • Example#5133 - Ejemplo de QuickHashIntSet::saveToString
  • Example#5134 - Ejemplo de QuickHashIntHash::add
  • Example#5135 - Ejemplo de QuickHashIntHash::__construct
  • Example#5136 - Ejemplo de QuickHashIntHash::delete
  • Example#5137 - Ejemplo de QuickHashIntHash::exists
  • Example#5138 - Ejemplo de QuickHashIntHash::get
  • Example#5139 - Ejemplo de QuickHashIntHash::getSize
  • Example#5140 - Formato de fichero de IntHash de QuickHash
  • Example#5141 - Formato de fichero de IntHash de QuickHash
  • Example#5142 - Ejemplo de QuickHashIntHash::loadFromFile
  • Example#5143 - Ejemplo de QuickHashIntHash::loadFromString
  • Example#5144 - Ejemplo de QuickHashIntHash::saveToFile
  • Example#5145 - Ejemplo de QuickHashIntHash::saveToString
  • Example#5146 - Ejemplo de QuickHashIntHash::set
  • Example#5147 - Ejemplo de QuickHashIntHash::update
  • Example#5148 - Ejemplo de QuickHashStringIntHash::add
  • Example#5149 - Ejemplo de QuickHashStringIntHash::__construct
  • Example#5150 - Ejemplo de QuickHashStringIntHash::delete
  • Example#5151 - Ejemplo de QuickHashStringIntHash::get
  • Example#5152 - Ejemplo de QuickHashStringIntHash::getSize
  • Example#5153 - Formato de fichero de StringIntHash de QuickHash
  • Example#5154 - Formato de fichero de StringIntHash de QuickHash
  • Example#5155 - Ejemplo de QuickHashStringIntHash::loadFromFile
  • Example#5156 - Ejemplo de QuickHashStringIntHash::loadFromString
  • Example#5157 - Ejemplo de QuickHashStringIntHash::saveToFile
  • Example#5158 - Ejemplo de QuickHashStringIntHash::saveToString
  • Example#5159 - Ejemplo de QuickHashStringIntHash::set
  • Example#5160 - Ejemplo de QuickHashStringIntHash::update
  • Example#5161 - Ejemplo de QuickHashIntStringHash::add
  • Example#5162 - Ejemplo de QuickHashIntStringHash::__construct
  • Example#5163 - Ejemplo de QuickHashIntStringHash::delete
  • Example#5164 - Ejemplo de QuickHashIntStringHash::get
  • Example#5165 - Ejemplo de QuickHashIntStringHash::getSize
  • Example#5166 - Formato de fichero de IntString de QuickHash
  • Example#5167 - Formato de fichero de IntString de QuickHash
  • Example#5168 - Ejemplo de QuickHashIntStringHash::loadFromFile
  • Example#5169 - Ejemplo de QuickHashIntStringHash::loadFromString
  • Example#5170 - Ejemplo de QuickHashIntStringHash::saveToFile
  • Example#5171 - Ejemplo de QuickHashIntStringHash::saveToString
  • Example#5172 - Ejemplo de QuickHashIntStringHash::set
  • Example#5173 - Ejemplo de QuickHashIntStringHash::update
  • Example#5174 - Ejemplo de Reflection desde Shell (un terminal)
  • Example#5175 - Extendiendo las clases incorporadas
  • Example#5176 - Funcionamiento básico de ReflectionClass
  • Example#5177 - Uso básico de ReflectionClass::export
  • Example#5178 - Uso básico de ReflectionClass::getConstructor
  • Example#5179 - Ejemplo de ReflectionClass::getDefaultProperties
  • Example#5180 - Ejemplo de ReflectionClass::getDocComment
  • Example#5181 - Ejemplo de ReflectionClass::getEndLine
  • Example#5182 - Uso básico de ReflectionClass::getExtension
  • Example#5183 - Uso básico de ReflectionClass::getExtensionName
  • Example#5184 - Ejemplo de ReflectionClass::getInterfaceNames
  • Example#5185 - Ejemplo de ReflectionClass::getInterfaces
  • Example#5186 - Uso básico de ReflectionClass::getMethod
  • Example#5187 - Uso básico de ReflectionClass::getMethods
  • Example#5188 - Filtrar los resultados de ReflectionClass::getMethods
  • Example#5189 - Ejemplo de ReflectionClass::getName
  • Example#5190 - Ejemplo de ReflectionClass::getNamespaceName
  • Example#5191 - Ejemplo de filtrado con ReflectionClass::getProperties
  • Example#5192 - Uso básico de ReflectionClass::getProperty
  • Example#5193 - Ejemplo de ReflectionClass::getShortName
  • Example#5194 - Uso básico de ReflectionClass::getStaticPropertyValue
  • Example#5195 - Ejemplo de ReflectionClass::hasConstant
  • Example#5196 - Ejemplo de ReflectionClass::hasMethod
  • Example#5197 - Ejemplo de ReflectionClass::hasProperty
  • Example#5198 - Ejemplo de ReflectionClass::inNamespace
  • Example#5199 - Ejemplo de ReflectionClass::isAbstract
  • Example#5200 - Uso básico de ReflectionClass::isCloneable
  • Example#5201 - Ejemplo de ReflectionClass::isAbstract
  • Example#5202 - Ejemplo relacionado con ReflectionClass::isInstance
  • Example#5203 - Ejemplo de ReflectionClass::isInstantiable
  • Example#5204 - Uso básico de ReflectionClass::isInterface
  • Example#5205 - Uso básico de ReflectionClass::isInternal
  • Example#5206 - Ejemplo de ReflectionClass::isIterateable
  • Example#5207 - Uso básico de ReflectionClass::newInstanceArgs
  • Example#5208 - Ejemplo de ReflectionClass::__toString
  • Example#5209 - Ejemplo de ReflectionExtension
  • Example#5210 - Ejemplo de ReflectionExtension::getClasses
  • Example#5211 - Ejemplo de ReflectionExtension::getClassNames
  • Example#5212 - Ejemplo de ReflectionExtension::getConstants
  • Example#5213 - Ejemplo de ReflectionExtension::getDependencies
  • Example#5214 - Ejemplo de ReflectionExtension::getFunctions
  • Example#5215 - Ejemplo de ReflectionExtension::getINIEntries
  • Example#5216 - Ejemplo de ReflectionExtension::getName
  • Example#5217 - Ejemplo de ReflectionExtension::getVersion
  • Example#5218 - Ejemplo de ReflectionExtension::info
  • Example#5219 - Ejemplo de ReflectionFunction::__construct
  • Example#5220 - Ejemplo de ReflectionFunction::invoke example
  • Example#5221 - Ejemplo de ReflectionFunction::invokeArgs
  • Example#5222 - Ejemplo de ReflectionFunction::invokeArgs con argumentos por referencia
  • Example#5223 - Ejemplo de ReflectionFunction::__toString
  • Example#5224 - Ejemplo de ReflectionFunctionAbstract::isDeprecated
  • Example#5225 - Ejemplo de ReflectionMethod::__construct
  • Example#5226 - Ejemplo de ReflectionMethod::getDeclaringClass
  • Example#5227 - Ejemplo de ReflectionMethod::getModifiers
  • Example#5228 - Ejemplo de ReflectionMethod::getPrototype
  • Example#5229 - Ejemplo de ReflectionMethod::invoke
  • Example#5230 - Ejemplo de ReflectionMethod::invokeArgs
  • Example#5231 - Ejemplo de ReflectionMethod::__toString
  • Example#5232 - Usando la clase ReflectionParameter
  • Example#5233 - Obtener
  • Example#5234 - Ejemplo de ReflectionProperty::__construct
  • Example#5235 - Consultar el valor de propiedades privadas y protegidas con la clase ReflectionProperty
  • Example#5236 - Ejemplo de ReflectionProperty::getValue
  • Example#5237 - Ejemplo de ReflectionProperty::setValue
  • Example#5238 - Ejemplos de boolval
  • Example#5239 - Ejemplo debug_zval_dump
  • Example#5240 -
  • Example#5241 -
  • Example#5242 - Una simple comparación empty / isset
  • Example#5243 - empty en índices de string
  • Example#5244 - Ejemplo de floatval
  • Example#5245 - Ejemplo de get_defined_vars
  • Example#5246 - Ejemplo deget_resource_type
  • Example#5247 - Ejemplo de gettype
  • Example#5248 - Ejemplo de import_request_variables
  • Example#5249 - Ejemplos de intval
  • Example#5250 - Comprobar que la variable es un array
  • Example#5251 - Ejemplos de is_bool
  • Example#5252 - Ejemplo de is_callable
  • Example#5253 - Ejemplo de is_float
  • Example#5254 - Ejemplo de is_int
  • Example#5255 - Ejemplo is_null
  • Example#5256 - Ejemplos de is_numeric
  • Example#5257 - Ejemplo is_object
  • Example#5258 - Ejemplo de is_resource
  • Example#5259 - Ejemplo is_scalar
  • Example#5260 - Ejemplo is_string
  • Example#5261 - Ejemplos isset
  • Example#5262 - isset en indices de String
  • Example#5263 - Ejemplo print_r
  • Example#5264 - Ejemplo del parámetro devolver
  • Example#5265 - Ejemplo serialize
  • Example#5266 - Ejemplo settype
  • Example#5267 - strval usando el método mágico __toString() de PHP 5
  • Example#5268 - Ejemplo de unserialize
  • Example#5269 - Ejemplo de unserialize_callback_func
  • Example#5270 - Ejemplo de unset
  • Example#5271 - Usando el forzado a (unset)
  • Example#5272 - Ejemplo var_dump
  • Example#5273 - Ejemplos de var_export
  • Example#5274 - Exportación de clases a partir de PHP 5.1.0
  • Example#5275 - Uso de __set_state (a partir de PHP 5.1.0)
  • Example#5276 -
  • Example#5277 - Ejemplo de OAuth::fetch
  • Example#5278 - Ejemplo de OAuth::getAccessToken
  • Example#5279 - Ejemplo de OAuth::getRequestToken
  • Example#5280 - Ejemplo de OAuth::setRequestEngine
  • Example#5281 - Ejemplo de OAuth::setRsaCertificate
  • Example#5282 - Ejemplo OAuth::setToken
  • Example#5283 - Ejemplo de OAuthProvider::__construct
  • Example#5284 - Ejemplo del callback OAuthProvider::consumerHandler
  • Example#5285 - Ejemplo de OAuthProvider::generateToken
  • Example#5286 - Ejemplo de OAuthProvider::is2LeggedEndpoint
  • Example#5287 - Ejemplo de OAuthProvider::timestampNonceHandler
  • Example#5288 - Ejemplo del callback OAuthProvider::tokenHandler
  • Example#5289 - Un componente SCA sencillo
  • Example#5290 - La estructura de un componente SCA para PHP
  • Example#5291 - Obtener un delegado para unca clase local de PHP
  • Example#5292 - Obtener un delgado para un servicio web
  • Example#5293 - Llamar a servicios
  • Example#5294 - Obtener un delegado usando getService
  • Example#5295 - Realizar llamadas en el componente
  • Example#5296 - El servicio StockQuote
  • Example#5297 - WSDL generado
  • Example#5298 - Generated WSDL
  • Example#5299 - El atrubuto 'location'
  • Example#5300 - Método con dos arguentos
  • Example#5301 - La sección de tipos ilustrando parámetros con nombre
  • Example#5302 - Un componente que usa estructuras de datos
  • Example#5303 - Un ejemplo de SCA::getService
  • Example#5304 - Ejemplo de is_soap_fault
  • Example#5305 - El método estándar de SOAP para el informe de errores son las excepciones
  • Example#5306 - Ejemplo de SoapClient::__doRequest
  • Example#5307 - Ejemplo de SoapClient::__getFunctions
  • Example#5308 - Ejemplo de SoapClient::__getLastRequest()
  • Example#5309 - Ejemplo de SoapClient::__getLastRequest()
  • Example#5310 - Ejemplo de SoapClient::__getLastResponse()
  • Example#5311 - Ejemplo de SoapClient::__getLastResponse()
  • Example#5312 - Ejemplo de SoapClient::__getTypes
  • Example#5313 - Ejemplo de SoapClient::__setLocation
  • Example#5314 - Ejemplo de SoapClient::__setSoapHeaders
  • Example#5315 - Definir múltiples encabezados
  • Example#5316 - Ejemplo de SoapClient::__soapCall
  • Example#5317 - Ejemplo de SoapClient::SoapClient
  • Example#5318 - Ejemplos de SoapServer::addFunction
  • Example#5319 - Ejemplo de SoapServer::getFunctions
  • Example#5320 - Ejemplo de SoapServer::handle
  • Example#5321 - Ejemplo de SoapServer::setPersistence
  • Example#5322 - Ejemplo de SoapServer::SoapServer
  • Example#5323 - Algunos ejemplos
  • Example#5324 - Algunos ejemplos
  • Example#5325 - Ejemplo de SoapHeader::SoapHeader
  • Example#5326 - Ejemplo de SoapParam::SoapParam
  • Example#5327 - Ejemplo de SoapVar::SoapVar
  • Example#5328 - Yar Server Example
  • Example#5329 - Access the server in borwser(GET request)
  • Example#5330 - Yar Client Example
  • Example#5331 - Yar Concurrent Client Example
  • Example#5332 - Yar_Server::__construct example
  • Example#5333 - Yar_Server::handle example
  • Example#5334 - Yar_Client::__call example
  • Example#5335 - Yar_Client::__construct example
  • Example#5336 - Yar_Client::setOpt example
  • Example#5337 - Yar_Concurrent_Client::call example
  • Example#5338 - Yar_Concurrent_Client::loop example
  • Example#5339 - Yar_Server_Exception::getType example
  • Example#5340 - Yar_Client_Exception::getType example
  • Example#5341 - Ejmeplo de las funciones de clietes de XMLRPC
  • Example#5342 - Ejemplo de tipo de XML-RPC
  • Example#5343 - A xmlrpc_set_type example
  • Example#5344 - For Each en ASP
  • Example#5345 - while() ... Next() en PHP 4
  • Example#5346 - foreach en PHP 5
  • Example#5347 - Ejemplo COM (1)
  • Example#5348 - Ejemplo COM (2)
  • Example#5349 - Ejemplo DOTNET
  • Example#5350 - Variant example, PHP 4.x style
  • Example#5351 - Variant example, PHP 5 style
  • Example#5352 - Ejemplo de absorción de un evento COM
  • Example#5353 - Sintaxis OO
  • Example#5354 - No use com_invoke(), en su lugar usar la sintaxis OO
  • Example#5355 - Sintaxis OO
  • Example#5356 - Sintaxis OO
  • Example#5357 - Ejemplo de printer_abort
  • Example#5358 - Ejemplo de printer_close
  • Example#5359 - Ejemplo de printer_create_dc
  • Example#5360 - Ejemplo de printer_draw_bmp
  • Example#5361 - Ejemplo de printer_draw_chord
  • Example#5362 - Ejemplo de printer_draw_elipse
  • Example#5363 - Ejemplo de printer_draw_line
  • Example#5364 - Ejemplo de printer_draw_pie
  • Example#5365 - Ejemplo de printer_draw_rectangle
  • Example#5366 - Ejemplo de printer_draw_roundrect
  • Example#5367 - Ejemplo de printer_draw_text
  • Example#5368 - Ejemplo de printer_get_option
  • Example#5369 - Ejemplo de printer_list
  • Example#5370 - Ejemplo de printer_logical_fontheight
  • Example#5371 - Ejemplo deprinter_open
  • Example#5372 - Ejemplo de printer_select_brush
  • Example#5373 - Ejemplo printer_select_font
  • Example#5374 - Ejemplo de printer_select_pen
  • Example#5375 - Ejemplo de printer_set_option
  • Example#5376 - Ejemplo de printer_start_doc
  • Example#5377 - Ejemplo de printer_write
  • Example#5378 - Obtener el tiempo de funcionamiento y mostrarlo en un cuadro de mensaje
  • Example#5379 - Estadísticas sobre el proceso de PHP actual
  • Example#5380 - Estadísticas sobre la utilización de memoria global
  • Example#5381 - Registrar un script de PHP para ejecutarlo como un servicio
  • Example#5382 - Dejar de registrar un servicio
  • Example#5383 - Ejecutar como un servicio
  • Example#5384 - Un ejemplo de win32_create_service
  • Example#5385 - Un ejemplo de win32_delete_service
  • Example#5386 - Un ejemplo de win32_start_service_ctrl_dispatcher
  • Example#5387 - book.xml
  • Example#5388 - Creación de un nuevo objeto DOMAttr
  • Example#5389 - Ejemplo de DOMAttr::isId()
  • Example#5390 - Crear un nuevo objeto DOMCdataSection
  • Example#5391 - Creando un nuevo DOMComment
  • Example#5392 - Creando un nuevo DOMDocument
  • Example#5393 - Crear un nuevo elemento e insertarlo como raíz
  • Example#5394 - Crear un nuevo elemento e insertarlo como raíz
  • Example#5395 - Un ejemplo de prefijo de nombre de espacio
  • Example#5396 - Ejemplo de DOMDocument::getElementById()
  • Example#5397 - Ejemplo de uso básico
  • Example#5398 - Obtener todos los elementos XInclude
  • Example#5399 - DOMDocument::importNode ejemplo
  • Example#5400 - Creando un Documento
  • Example#5401 - Creando un Documento
  • Example#5402 - Crear un Documento
  • Example#5403 - Crear un Documento
  • Example#5404 - Invocación estática de loadXML
  • Example#5405 - Añadir un nuevo método a DOMElement para facilitar su código
  • Example#5406 - Recuperar elementos como clase personalizada
  • Example#5407 - Recuperar un propio documento
  • Example#5408 - Guardar un árbol DOM en un fichero
  • Example#5409 - Salvar un árbol HTML en una cadena
  • Example#5410 - Guardar un árbol HTML en un archivo
  • Example#5411 - Guardar un árbol DOM en un string
  • Example#5412 - Ejemplo de validación de DTD
  • Example#5413 - Ejemplo de DOMDocument::xinclude()
  • Example#5414 - Añadir información XML a su documento
  • Example#5415 - Crear un nuevo objeto DOMElement
  • Example#5416 - Establecer un atributo
  • Example#5417 - Crear un nuevo objeto DOMEntityReference
  • Example#5418 - Crear un documento con un DTD adjunto
  • Example#5419 - Comprobar su Implementación DOM
  • Example#5420 - Añadiendo un hijo
  • Example#5421 - Ejemplo de DOMNode::getLineNo
  • Example#5422 - Ejemplo de DOMNode::getNodePath
  • Example#5423 - Eliminar un hijo
  • Example#5424 - Atravesar todas las entradas de una tabla
  • Example#5425 - Crear un nuevo objeto DOMProcessingInstruction
  • Example#5426 - Crear un nuevo objeto DOMText
  • Example#5427 - Obtener el número de todos los libros en inglés
  • Example#5428 - Obtener todos los libros en inglés
  • Example#5429 - book.xml
  • Example#5430 - DOMXPath::registerPHPFunctions con php:functionString
  • Example#5431 - DOMXPath::registerPHPFunctions con php:function
  • Example#5432 - Importar SimpleXML a DOM con dom_import_simplexml
  • Example#5433 - Ejemplo de libxml_get_errors
  • Example#5434 - Ejemplo de libxml_set_external_entity_loader
  • Example#5435 - Ejemplo de libxml_set_streams_context
  • Example#5436 - Ejemplo de libxml_use_internal_errors
  • Example#5437 - Acceso mediante el nombre de la propiedad
  • Example#5438 - Acceso mediante el nombre de la propiedad como índice de array
  • Example#5439 - Iteración sobre objetos de datos
  • Example#5440 - Acceso a propiedades polievaluadas mediante el nombre
  • Example#5441 - Acceso a elementos de propiedades polievaluadas
  • Example#5442 - Iteración sobre propiedades polievaluadas
  • Example#5443 - Acceso a propiedades encadenadas
  • Example#5444 - Navegación mediante XPath
  • Example#5445 - Consulta mediante XPath
  • Example#5446 - Crear objetos de datos hijos
  • Example#5447 - Desestablecer una propiedad primitiva
  • Example#5448 - Desestablecer un objeto de datos
  • Example#5449 - Desestablecer una referencia a un objeto de datos
  • Example#5450 - Acceso mediante el índice de propiedad
  • Example#5451 - Obtener la interfaz SDO_Sequence
  • Example#5452 - Obtener/establecer valores de secuencias
  • Example#5453 - Iteración sobre secuencias
  • Example#5454 - Secuencias contra Objetos de Datos
  • Example#5455 - Añadir elementos a una secuencia
  • Example#5456 - Eliminar elementos de una secuencia
  • Example#5457 - Reflexión sobre un objeto de datos
  • Example#5458 - Acceder a la información del tipo
  • Example#5459 - Un ejemplo de SDO_DAS_DataFactory::addPropertyToType
  • Example#5460 - Un ejemplo de SDO_DAS_DataFactory::addType
  • Example#5461 - Crear un objeto de datos
  • Example#5462 - Recuperar un objeto de datos
  • Example#5463 - Actualizar un objeto de datos
  • Example#5464 - Borrar un objeto de datos
  • Example#5465 - Una compañía, un departamento - Crear
  • Example#5466 - Una compañía, un departamento - Recuperar y actualizar
  • Example#5467 - Una compañía, dos departamentos - Recuperar y eliminar
  • Example#5468 - Una compañía, un departamento, un empleado - Crear
  • Example#5469 - Una compañía, un departamento, un empleado - Recuperar y actualizar
  • Example#5470 - Una compañía, dos departamentos, dos empleados - Recuperar y eliminar
  • Example#5471 - Recuperar un objeto de datos usando executePreparedQuery
  • Example#5472 - Cargar, alterar, y guardar un documento XML
  • Example#5473 - Crear un nuevo documento XML
  • Example#5474 - Establecer las propiedades del documento XML
  • Example#5475 - Utilizar un tipo abierto
  • Example#5476 - Averiguar lo que se desee del documento
  • Example#5477 - Imprimir el modelo SDO
  • Example#5478 - ejemplo.php, fichero a incluir con el string XML
  • Example#5479 - Obteniendo <argumento>
  • Example#5480 - Obteniendo <linea>
  • Example#5481 - Accediendo a elementos no únicos en SimpleXML
  • Example#5482 - Usando atributos
  • Example#5483 - Comparando elementos y atributos con texto
  • Example#5484 - Comparando dos elementos
  • Example#5485 - Usando XPath
  • Example#5486 - Estableciendo valores
  • Example#5487 - Añadiendo elementos y atributos
  • Example#5488 - Interoperatibilidad DOM
  • Example#5489 - Cargando un string XML erróneo
  • Example#5490 - Añade atributos e hijos a un elemento SimpleXML
  • Example#5491 - Añade atributos e hijos a un elemento SimpleXML
  • Example#5492 - Retornar XML
  • Example#5493 - Usando asXML() en resultados SimpleXMLElement::xpath
  • Example#5494 - Interpreta un string XML
  • Example#5495 - Recorre el pseudo-array children()
  • Example#5496 - Usando espacio de nombres
  • Example#5497 - Crea un objeto SimpleXMLElement
  • Example#5498 - Crea un objeto SimpleXMLElement a partir de una URL
  • Example#5499 - Cuenta el número de hijos
  • Example#5500 - Obtener los namespaces del documento
  • Example#5501 - Trabajando con múltiples namespaces
  • Example#5502 - Retornar el nombre del elemento XML
  • Example#5503 - Obtener el namespace del documento en uso
  • Example#5504 - Estableciendo un prefijo para el namespace a usar en una petición XPath
  • Example#5505 - Get string content
  • Example#5506 - Xpath
  • Example#5507 - Devuelve el elemento actual
  • Example#5508 - Devuelve los sub elementos de el elemento actual
  • Example#5509 - Comprobar si el elemento actual tiene sub elementos
  • Example#5510 - Obtener la clave actual de etiquetas XML
  • Example#5511 - Mover a el siguiente elemento
  • Example#5512 - Rebobinar hasta el primer elemento
  • Example#5513 - Comprobar si el elemento actual es válido
  • Example#5514 - Importando desde DOM
  • Example#5515 - Interpreta un documento XML
  • Example#5516 - Interpreta un string XML
  • Example#5517 - Serializando un simple valor con WDDX
  • Example#5518 - Usando paquetes incrementales con WDDX
  • Example#5519 - Ejemplo wddx_serialize_vars
  • Example#5520 - Mostrar la estructura de elementos XML
  • Example#5521 - Asignar XML a HTML
  • Example#5522 - Ejemplo de entidades XML externas
  • Example#5523 - xmltest.xml
  • Example#5524 - xmltest2.xml
  • Example#5525 - Ejemplo de xml_parse_into_struct
  • Example#5526 - moldb.xml - pequeña base de datos de información molecular
  • Example#5527 - parsemoldb.php - interpreta moldb.xml dentro de un array de objetos moleculares
  • Example#5528 - Ejemplo xml_set_object
  • Example#5529 - Validando el XML
  • Example#5530 - collection.xml
  • Example#5531 - collection.xsl
  • Example#5532 - Creando un XSLTProcessor
  • Example#5533 - Comprobando si tiene EXSLT
  • Example#5534 - Sencilla llamada a una función de PHP desde una hoja de estilos
  • Example#5535 - Changing the owner before the transformation
  • Example#5536 - Ejemplo de salida de información
  • Example#5537 - Transformando en un DOMDocument
  • Example#5538 - Transformando a un fichero HTML
  • Example#5539 - Transformando a un string
  • Example#5540 - xslt_backend_name ejemplo
  • Example#5541 - xslt_backend_version ejemplo
  • Example#5542 - Ejemplo de xslt_create
  • Example#5543 - Manejo de errores utilizando las funciones xslt_error y xslt_errno.
  • Example#5544 - Using the xslt_process to transform an XML file and a XSL file to a new XML file
  • Example#5545 - Using the xslt_process to transform an XML file and a XSL file to a variable containing the resulting XML data
  • Example#5546 - Using the xslt_process to transform a variable containing XML data and a variable containing XSL data into a variable containing the resulting XML data
  • Example#5547 - Passing PHP variables to XSL files
  • Example#5548 - Ejemplo de xslt_set_error_handler
  • Example#5549 - Using the XSLT Logging features
  • Example#5550 - Usando su propio manejador de errores como un método
  • Example#5551 - Ejemplo de xslt_set_sax_handlers
  • Example#5552 - Guía de orientación a objetos
  • Example#5553 - xslt_set_scheme_handlers example
  • Example#5554 - xslt_setopt Example
  • Example#5555 - Leak Detection in Action
  • Example#5556 - Accessor macros for per-module globals
  • Example#5557 - "counter"'s basic interface
  • Example#5558 - "counter"'s extended interface
  • Example#5559 - "counter"'s objective interface
  • Example#5560 - An example config.m4 file
  • Example#5561 - Sample configure output
  • Example#5562 - counter's config.m4 file
  • Example#5563 - An example config.w32 file
  • Example#5564 - counter's config.w32 file
  • Example#5565 - Files in the counter extension, in no particular order
  • Example#5566 - zend_module declaration in the counter extension
  • Example#5567 - zend_module definition in PHP 5.3
  • Example#5568 - Counter extension module definition
  • Example#5569 - The wrong way to store the basic counter interface's value
  • Example#5570 - The counter module's globals
  • Example#5571 - The counter module's global structure declaration
  • Example#5572 - Accessor macros for per-module globals
  • Example#5573 - The right way to store the basic counter interface's value
  • Example#5574 - counter's PHP_MINFO function
  • Example#5575 - Example macros for invoking pdo_SKEL_error
  • Example#5576 - Using pdo_parse_params
  • Example#5577 - Implementing preparer for drivers that don't support native prepared statements
  • Example#5578 - ejemplo sencillo de flujo que muestra la página de inicio de PHP
  • Example#5579 - Cómo aceptar un flujo como parámetro
  • Example#5580 - Cómo devolver un flujo desde una función
  • Example#5581 - The default config.m4.
  • Example#5582 - A simple extension.
  • Example#5583 - A test file for first_module.so.
  • Example#5584 - Internal declaration of zend_function_entry.
  • Example#5585 - Internal declaration of zend_module_entry.
  • Example#5586 - PHP's implementation of variable arguments in fsockopen().
  • Example#5587 - PHP/Zend zval type definition.
  • Example#5588 - Testing for referenced parameter passing.
  • Example#5589 - Creating variables with different scopes.
  • Example#5590 - Creation of a long.
  • Example#5591 - Adding an element to an associative array.
  • Example#5592 - Adding an element to an indexed array.
  • Example#5593 - Source code and screenshot for output in phpinfo.
  • Example#5594 - Printing execution information.
  • Example#5595 - Calling user functions.
  • Example#5596 - Un elemento oculto de un formulario HTML
  • Example#5597 - Datos a editar por el usuario
  • Example#5598 - En un URL
  • Example#5599 - Generación de Javascript con PHP
  • Example#5600 - Emulación de Register Globals
  • Example#5601 - Ejemplo de Código PHP/FI
  • Example#5602 - En el núcleo de PHP
  • Example#5603 - Código Orientado a Objetos en el núcleo de PHP
  • Example#5604 - En la Extensión bzip2
  • Example#5605 - En la Extensión datetime
  • Example#5606 - En la Extensión dBase
  • Example#5607 - En la Extensión mcrypt
  • Example#5608 - En la Extensión oci8
  • Example#5609 - En la Extensión SPL
  • Example#5610 - En la Extensión Semaphore (sysvmsg)
  • Example#5611 - Un ejemplo Zip 5.2.1+
  • Example#5612 - strrpos y strripos ahora usan todo el string como cadena de búsqueda
  • Example#5613 - Ya no se considera "vacío" un objeto sin propiedades
  • Example#5614 - En algunos casos, se deben definir las clases antes de usarlas
  • Example#5615 - Migración en Apache de la configuración de PHP 5
  • Example#5616 - Migración en Apache de la configuración a PHP 5 en modo CGI
  • Example#5617 - Ejemplo de comparación de objetos en PHP 4
  • Example#5618 - Comparaciones de objetos compuestos en PHP 4
  • Example#5619 - Activar la notificación completa de errores por pantalla para el dominio dev.
  • Example#5620 - Añadir un script de seguridad para aréas protegidas
  • Example#5621 - include_path en Unix
  • Example#5622 - include_path en Windows
  • Example#5623 - include_path en Unix usando la variable de entorno ${USER}
  • Example#5624 - string.rot13
  • Example#5625 - string.toupper
  • Example#5626 - string.tolower
  • Example#5627 - string.strip_tags
  • Example#5628 - convert.base64-encode y convert.base64-decode
  • Example#5629 - convert.quoted-printable-encode y convert.quoted-printable-decode
  • Example#5630 - zlib.deflate y zlib.inflate
  • Example#5631 - zlib.deflate simple
  • Example#5632 - bzip2.compress y bzip2.decompress
  • Example#5633 - Encripción de la salida usando 3DES
  • Example#5634 - Lectura de un archivo encriptado
Listado de Funciones y Métodos
Registro de cambios
Listado de índices


Registro de cambios

A las funciones de las extensiones incluidas se han realizado los siguientes cambios.

Version | Function | Description
PHP 5.0.0 | empty | Los objetos sin propiedades ya no se consideran vacíos.
5.5.3/5.4.19 | pg_delete | Se arregó la inyección SQL directa a table_name y la inyección SQL inderecta a los identificadores.
 | pg_insert | Direct SQL injection to table_name and Indirect SQL injection to identifiers are fixed.
 | pg_select | Direct SQL injection to table_name and Indirect SQL injection to identifiers are fixed.
 | pg_update | Direct SQL injection to table_name and Indirect SQL injection to identifiers are fixed.
5.5.2 | DOMDocument::schemaValidate | Se añadió el parámetro flags
 | DOMDocument::schemaValidateSource | Se añadió el parámetro flags
5.5.1 | hex2bin | Se emite una advertencia si el string de entrada es un string hexadecimal no válido.
 | pg_unescape_bytea | A warning is thrown if the input string is invalid.
5.5.0/PECL 3.0.0 | IntlDateFormatter::create | Se permite un objeto IntlCalendar para calendar. Los objetos de tipo IntlTimeZone y DateTimeZone están permitidos para timezone. Los identificadores de zonas horaria válidos (incluyendo cadena vacías) ya no están permitidos para timezone. Si se proporciona NULL para timezone, el identificador de la zona horaria dado por date_default_timezone_get se usará en lugar del predeterminado de ICU.
 | IntlDateFormatter::format | Se añadió el soporta para proporcionar objetos IntlCalendar al parámetro value.
 | IntlDateFormatter::setCalendar | Ahora es posible pasar un objeto IntlCalendar.
5.5.0 | curl_setopt | Se añadió el recurso cURL como el primer parámetro de la llamada de retorno CURLOPT_PROGRESSFUNCTION.
 | curl_setopt | Se introdujo CURLOPT_SHARE.
 | empty | empty ahora soporta expresiones, en vez de únicamente variables.
 | gd_info | Se añadió WebP Support.
 | imagerotate | Esta función ahora se ve afectada por el método de interpolación establecido por la función imagesetinterpolation.
 | iterator_to_array | iterator_to_array adquiere soporte para tipos de claves diferentes a integer y string cuando el parámetro use_keys está habilitado.
 | json_encode | Se añadió el parámetro depth.
 | mysql_connect | Esta función generará un error de nivel E_DEPRECATED.
 | mysql_db_name | La función mysql_list_dbs es obsoleta, por lo que emite un error de nivel E_DEPRECATED.
 | mysql_pconnect | Esta función generará un error de nivel E_DEPRECATED.
 | mysql_tablename | La función mysql_tablename es obsoleta, por lo que emite un error de nivel E_DEPRECATED.
 | pack | Se añadió el código "Z" con funcionalidad equivalente a "a" por compatibilidad con Perl.
 | php_logo_guid | php_logo_guid ha sido eliminada de PHP.
 | phpinfo | Los GUIDs de logos fueron reemplazados con URIs de datos, por lo que desactivar ahora expose_php no tiene efecto sobre el resutaldo de phpinfo(). Los créditos ahora también han sido embebidos en la salida misma en vez mediante enlaces.
 | preg_replace | El modificador /e está obsoleto. Utilice preg_replace_callback en su lugar. Véase la documentación de PREG_REPLACE_EVAL para obtener información adicional sobre riesgos de seguridad.
 | set_error_handler | error_handler ahora acepta NULL.
 | set_exception_handler | Anteriormente, si se pasaba NULL, esta función devolvía TRUE. Devuelve el gestor anterior desde PHP 5.5.0.
 | setcookie | Ahora se incluye un atribugo Max-Age en la cabecera Set-Cookie enviada al cliente.
 | setrawcookie | Ahora se incluye un atribugo Max-Age en la cabecera Set-Cookie enviada al cliente.
 | unpack | Cambios realizados para poner esta función en línea con Perl: El código "a" ahora guarda bytes NULL sobrantes de cola. El código "A" ahora elimina todos los espacios en blanco ASCII sobrantes de cola (espacios, tabulaciones, nuevas líneas, retorno de carro, y bytes NULL). Se añadió en código "Z" para cadenas rellenadas con NULL, y elimina los bytes NULL sobrantes de cola.
 | zend_logo_guid | zend_logo_guid ha sido eliminada de PHP.
 | mysqli::commit | Se añadieron los parámetros flags y name.
 | mysqli::options | Se añadió la opción MYSQLI_SERVER_PUBLIC_KEY.
 | mysqli::rollback | Se añadieron los parámetros flags y name.
 | SoapClient::SoapClient | Nueva opción ssl_method.
5.4.8 | assert | The description parameter was added. The description is also now provided to a callback function in ASSERT_CALLBACK mode as the fourth argument.
5.4.7 | parse_url | Arreglado el reconocimiento de host cuando scheme es omitido y está presente un separador de componentes que lo encabeza.
5.4.1 | hex2bin | Se emite una advertencia si la cadena de entrada tiene una longitud impar. En PHP 5.4.0 la cadena era aceptada de forma silenciosa, pero el último byte era truncado.
5.4.0/PECL 2.0.0b1 | idn_to_ascii | Se añadieron los parámetros variant y idna_info; y el soporte para UTS #46.
 | idn_to_utf8 | Se añadieron los parámetros variant y idna_info; y el soporte para UTS #46.
5.4.0 | DOMDocument::loadHTML | Se añadió el parámero options.
 | DOMDocument::loadHTMLFile | Se añadió el parámero options.
 | apache_child_terminate | Esta función está disponible bajo FastCGI. Anteriormente, estaba soportada solo cuando había sido instalado un módulo PHP en Apache.
 | apache_request_headers | Esta función está disponible sobre FastCGI. Anteriormente, sólo estaba soportada cuando PHP se instalaba como módulo de Apache.
 | apache_response_headers | Esta función está disponible sobre FastCGI. Anteriormente, sólo estaba soportada cuando PHP se instalaba como módulo de Apache.
 | array_combine | Versiones previas emiten un E_WARNING y devuelven FALSE para arrays vacíos.
 | array_multisort | Se añadieron SORT_NATURAL y SORT_FLAG_CASE a arg como posibles banderas de ordenación.
 | date_default_timezone_get | La variable de entorno TZ ya no se usa para adivinar la zona horaria.
 | date_default_timezone_get | La zona horaria ya no se adivina de la información disponible a través del sistema operativo, la zona horaria adivinada no puede invocarse.
 | debug_backtrace | Añadido el parámetro opcional limit.
 | debug_print_backtrace | Añadido el parámetro opcional limit.
 | dns_get_record | Added raw parameter.
 | empty | Verificación de índices no numéricos de strings devuelve TRUE.
 | error_reporting | Ahora E_STRICT es parte de E_ALL.
 | filter_input_array | Se añadió el parámetro add_empty.
 | filter_var_array | Se añadió el parámetro add_empty.
 | get_html_translation_table | Fueron agregadas las constantes ENT_HTML401, ENT_XML1, ENT_XHTML y ENT_HTML5.
 | get_html_translation_table | El valor por defecto para el parámetro encoding fue cambiado a UTF-8.
 | get_magic_quotes_gpc | Siempre devuelve FALSE debido a que la característica de comillas mágicas ha sido eliminada de PHP.
 | get_magic_quotes_runtime | Siempre devuelve FALSE debido a que la característica de comillas mágicas ha sido eliminada de PHP.
 | getallheaders | Esta función está disponible sobre FastCGI. Anteriormente, sólo estaba soportada cuando PHP se instalaba como módulo de Apache.
 | gzcompress | Se añadió el parámetro encoding.
 | gzdeflate | Se añadió el parámetro encoding.
 | gzencode | FORCE_DEFLATE ahora genera una salida que cumple el RFC 1950.
 | hash | El algoritmo tiger ahora utiliza orden big-endian de los bytes.
 | hash_algos | Se añade soporte para joaat, fnv132 y para fnv164. Soporte para Salsa10 y Salsa20 fué eliminado.
 | html_entity_decode | La codificación predeterminada fue cambiada de ISO-8859-1 a UTF-8.
 | html_entity_decode | Fueron agregadas las constantes ENT_HTML401, ENT_XML1, ENT_XHTML y ENT_HTML5.
 | htmlentities | El valor por defecto del parámetro encoding fue cambiado a UTF-8.
 | htmlentities | Fueron agregadas las constantes ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML y ENT_HTML5.
 | htmlspecialchars | Fueron agregadas las constantes ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML y ENT_HTML5.
 | htmlspecialchars | El valor predeterminado del parámetro encoding se cambió a UTF-8.
 | htmlspecialchars_decode | Fueron agregadas las constantes ENT_HTML401, ENT_XML1, ENT_XHTML y ENT_HTML5.
 | http_build_query | Se agregó el parámetro enc_type.
 | imagecolorset | Se añadió el parámetro alpha.
 | isset | Comprobación de indices no numéricos de strings ahora retorna FALSE.
 | json_decode | Se añadió el parámetro options.
 | json_encode | Se añadió al parámetro options las constantes JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, y JSON_UNESCAPED_UNICODE.
 | mb_encode_numericentity | Añadido el parámetro is_hex.
 | number_format | Esta función ahora soporta múltiples bytes en dec_point y thousands_sep. Solamente el primer byte de cada separador era utilizado en versiones anteriores.
 | ob_start | Un tamaño de segmento de 1 ahora resulta en segmentos de 1 byte que se van a enviar al búfer de salida.
 | ob_start | El tercer parámetro de ob_start se cambió de un parámetro boolean llamado erase (el cual, si se establecía a FALSE, prevenía al búfer de salida de ser eliminado hasta el final de la ejecución del script) a un parámetro integer llamado flags. Desafortunadamente, esto resulta en una rotura de compatibilidad de la API para código escrito antes de PHP 5.4.0 que use el tercer parámetro. Véase el ejemplo de banderas para saber cómo manejar esto con código que necesite ser compatible con ambas.
 | openssl_decrypt | raw_output se cambió a options.
 | openssl_encrypt | raw_output se cambió a options.
 | preg_match_all | El parámetro matches ahora es opcional.
 | scandir | Se añadieron las constantes de sorting_order. En versiones anteriores, cualquir valor distinto de cero ocasionaba un ordenamiento descendente. Por lo tanto, para todas las versiones de PHP, use 0 para el orden ascendente, y 1 para el orden descendente. No existía una opción para el comportamiento de SCANDIR_SORT_NONE antes de PHP 5.4.0.
 | session_set_save_handler | Se añadió SessionHandlerInterface para la implementación de gestores de sesión y SessionHandler para exponer gestores de sesión internos de PHP.
 | snmp_set_valueretrieval | Constants SNMP_VALUE_PLAIN or SNMP_VALUE_LIBRARY may be combined with SNMP_VALUE_OBJECT resulting different way of representing contents of value array element in return value of GET-function. If no SNMP_VALUE_{PLAIN,LIBRARY} constant is accompanying SNMP_VALUE_OBJECT, SNMP_VALUE_LIBRARY is used. Prior to 5.4.0 SNMP_VALUE_OBJECT effecively meant SNMP_VALUE_OBJECT|SNMP_VALUE_PLAIN.
 | sort | Se añadió el soporte para SORT_NATURAL y SORT_FLAG_CASE como sort_flags
 | Phar::setStub | Se añadió el parámetro len.
 | PharData::setStub | Se añadió el parámetro len.
 | SimpleXMLElement::getDocNamespaces | Se añadió el parámetro from_root.
 | SoapClient::SoapClient | Nueva opción keep_alive.
5.4 | grapheme_substr | Si se proporciona length y es positivo, y el argumento string es más corto que la longitud especificada, se devuelve el resto de la cadena de acuerdo al parámetro start. Anteriormente devolvía FALSE.
5.3.9 | is_a | Se añadió el parámetro allow_string
 | is_subclass_of | Se añadió el parámetro allow_string
5.3.7 | crypt | Se añadieron los modos de Blowfish $2x$ y $2y$ para tratar con ataques de bit alto potenciales.
 | is_subclass_of | Se añadió el soporte para class_name para trabajar con interfaces
5.3.6 | DateTime::modify | Las sentencias de fecha/hora absolutas ahora toman efecto. Previamente, sólo se usaban las partes relativas.
 | DOMDocument::saveHTML | El parámetro node fue añadido.
 | array_product | El producto de un array vacío ahora es 1, mientras que antes esta función devolvía 0 para un array vacío.
 | debug_backtrace | Se cambió el parámetro provide_object a options y se añadió la opción adicional DEBUG_BACKTRACE_IGNORE_ARGS.
 | debug_print_backtrace | Añadido el parámetro opcional options.
 | preg_match | Devuelve FALSE si offset es mayor que la longitud de subject.
 | preg_match_all | Devuelve FALSE si offset es mayor que la longitud de subject.
 | PDO_MYSQL DSN | Antes de la versión 5.3.6, charset era ignorado.
5.3.4 | get_html_translation_table | Fue agregado el parámetro encoding.
 | mt_rand | Emite un error de nivel E_WARNING y devuelve FALSE si max < min.
 | rawurlencode | Los caracteres con tilde ya no son condificados al usar rawurlencode con EBCDIC en cadenas.
 | sleep | Antes de PHP 5.3.4, en Windows, sleep siempre devuelve NULL cuando el sueño ha sucedido, si tener en cuenta si el sueño fue interrumpido o no.
 | IntlDateFormatter::format | Se añadió el soporte para proporcionar objetos de la clase DateTime al parámetro value.
 | mysqli_driver::$report_mode | El cambio de modo de notificación ahora es por solicitud, en vez de por proceso.
5.3.3 | DOMXPath::evaluate | Se añadió el parámetro registerNodeNS.
 | DOMXPath::query | Se añadió el parámetro registerNodeNS.
 | json_encode | Se añadió al parámetro option la constante JSON_NUMERIC_CHECK.
 | ldap_sasl_bind | Se añadió soporte en Windows.
 | openssl_decrypt | Se añadió el parámetro iv.
 | openssl_encrypt | Se añadió el parámetro iv.
 | parse_url | Eliminado el E_WARNING que era producido cuando fallaba el análisis de la URL.
5.3.2 (PECL OCI8 1.4) | oci_set_prefetch | Antes de esta versión, rows debe ser >= 1.
5.3.2 | crypt | Agregado el crypt SHA-256 y SHA-512 basado en la implementación de Ulrich Drepper.
 | crypt | Corregido el comportamiento de Blowfish sobre rondas no válidas para devolver el string "failure" ("*0" or "*1"), en lugar de caer al DES.
 | flock | Se eliminó el desbloqueo automático al cerrarse el gestor de recurso. El desbloqueo ahora siempre tiene que ser hecho manualmente.
 | gmp_init | La base fue extendidad de 2 a 36, a 2 a 62 y -2 a -36.
 | gmp_strval | La base fue extendida de 2 a 36, a 2 a 62 y -2 a -36.
 | imap_append | Se añadió el soporte de INTERNALDATE para imap_append.
 | imap_open | Se añadió params
5.3.1 | get_defined_constants | Sólo para Windows: las constantes fundamentales se clasifican en Core, previamente mhash.
 | ibase_query | Si no hay rows afectados, la función ahora devuelve TRUE en caso de éxito, donde anteriormente devolvía 0 (un cero seguido por un espacio en blanco).
 | rename | rename ahora puede renombrar archivos a través de controladores de Windows.
5.3.0 (PECL OCI8 1.3.4) | oci_set_prefetch | Antes de esta versión, la precarga estaba limitada al menor valor de rows filas y 1024 * rows bytes. La restricción del tamaño de bytes ahora ha sido eliminada.
5.3.0 | DateTime::__construct | Si time contiene un formato de fecha/hora no válido, se laznará una excepción. Anterior mente se emitía un error.
 | DateTime::modify | Se ha cambiado el valor devuelto en caso de éxito de NULL a DateTime.
 | DateTime::setDate | Se ha cambiado el valor devuelto en caso de éxito de NULL a DateTime.
 | DateTime::setISODate | Se ha cambiado el valor devuelto en caso de éxito de NULL a DateTime.
 | DateTime::setTime | Se ha cambiado el valor devuelto en caso de éxito de NULL a DateTime.
 | DateTime::setTimezone | Se ha cambiado el valor devuelto en caso de éxito de NULL a DateTime.
 | DateTimeZone::getTransitions | Se añadireon los parámteros opcionales timestamp_begin y timestamp_end.
 | DateTimeZone::listIdentifiers | Añadidos los parámteros opcionales what y country.
 | DirectoryIterator::__construct | Lanza una UnexpectedValueException si path no se puede abrir.
 | acosh | La función esta disponible en todas las plataformas
 | array_multisort | Se añadió SORT_LOCALE_STRING a arg como posible bandera de ordenación.
 | array_reduce | Cambiado parámetro initial para permitir mixed, anteriormente integer.
 | array_search | Al igual que con todas las funciones internas de PHP a partir de la versión 5.3.0, array_search devuelve NULL si se le pasan parámetros inválidos.
 | asinh | La función esta disponible en todas las plataformas
 | atanh | La función esta disponible en todas las plataformas
 | call_user_func | La interpretación de palabras clave orientadas a objetos como parent y self ha cambiado. Anteriormente al llamarlas usando la sintaxis de dobles dos puntos emitiría una advertencia E_STRICT porque eran interpretadas como estáticas.
 | call_user_func_array | La interpretación de palabras clave orientadas a objetos como parent y self ha cambiado. Anteriormente al llamarlas usando la sintaxis de dobles dos puntos emitiría una advertencia E_STRICT porque eran interpretadas como estáticas.
 | checkdnsrr | Esta función está disponible en plataformas Windows.
 | clearstatcache | Se añadieron los parámetros opcionales clear_realpath_cache y filename.
 | copy | Se añadió el soporte para el contexto.
 | crypt | PHP ahora contiene su propia implementación de los algoritmos MD5, DES estándar, DES extendido y Blowfish y los utilizará si el sistema carece de soporte para uno o varios de los algoritmos.
 | curl_setopt | Se introdujo CURLOPT_PROGRESSFUNCTION.
 | date_default_timezone_set | Ahora se lanza un E_WARNING en vez de un E_STRICT.
 | define_syslog_variables | This function now throws an E_DEPRECATED notice.
 | dl | dl está desactivado en algunos módulos SAPI por problemas de estabilidad. Los únicos modulos SAPI que permiten dl son: CLI, CGI and Embed. En su lugar usar las directivas Directivas de carga de extensiones
 | dns_get_record | This function is now available on Windows platforms.
 | dns_get_record | Prior to this release, if the authns parameter was given, the addtl parameter was also required.
 | error_reporting | Se introdujo E_DEPRECATED y E_USER_DEPRECATED.
 | exif_imagetype | Añadido soporte para iconos.
 | expm1 | Esta función está ahora disponible en todas las plataformas.
 | fgetcsv | Se añadió el parámetro escape
 | fnmatch | Esta función ahora está disponible en plataformas Windows.
 | func_get_arg | Esta función ahora se puede usar en listas de parámetros.
 | func_get_arg | Si esta función es llamada desde el ámbito último de un archivo que ha sido incluido mediante una llamada a include o require desde dentro de una función en el archivo de llamada, ahora genera una advertencia y devuelve FALSE.
 | func_get_args | Si esta función es llamada desde el ámbito último de un archivo que ha sido incluido mediante una llamada a include o require desde dentro de una función en el archivo de llamada, ahora genera una advertencia y devuelve FALSE.
 | func_get_args | Esta función ahora se puede usar en listas de parámetros.
 | func_num_args | Si esta función es llamada desde el ámbito último de un fichero que ha sido incluido mediante una llamada a include o require desde dentro de una función en el fichero de llamada, ahora genera una advertencia y devuelve -1.
 | func_num_args | Esta función ahora se puede usar en listas de parámetros.
 | gd_info | El atributo JPG Support se renombró a JPEG Support.
 | get_cfg_var | get_cfg_var se fijó para ser capaz de retornar un "array" con las opciones ini.
 | get_class | El valor predeterminado de object ahora es NULL, por lo que pasar el valor NULL a object tiene el mismo resultado que no pasar ningún valor.
 | get_defined_constants | Constantes fundamentales se clasifican en Core, antes internal. En Windows, las constantes fundamentales se clasifican en mhash.
 | get_object_vars | Esta función ahora devuelve NULL si object no es un objeto. Anteriormente devolvía FALSE
 | getimagesize | Añadido el soporte para iconos.
 | getmxrr | This function is now available on Windows platforms.
 | getopt | Añadido soporte para valores opcionales (especificado mediante "::").
 | getopt | Añadido soporte para usar "=" como separador de argumento/valor.
 | getopt | Esta función ya no depende del sistema y funciona también en Windows.
 | getopt | El parámetro longopts está disponible en todos los sistemas.
 | hash_algos | Se añade soporte para md2, ripemd256, ripemd320, salsa10, salsa20, snefru256 y para sha224
 | htmlentities | Fue agregada la constante ENT_IGNORE.
 | htmlspecialchars | Fue agregada la constante ENT_IGNORE.
 | imagecolorclosesthwb | Está función ahora está disponible en Windows
 | imagefilter | Se añadió el soporete de pixelación (IMG_FILTER_PIXELATE).
 | inet_ntop | This function is now available on Windows platforms.
 | inet_pton | This function is now available on Windows platforms.
 | ini_get | Anteriormente, se devolvía un string si la opción de configuración no existía. Ahora en su lugar se devuelve FALSE.
 | ini_get_all | Se añadió details.
 | is_a | Esta función ya no está obsoleta, y por lo tanto ya no lanza advertencias de tipo E_STRICT.
 | json_decode | Añadido el parámetro opcional depth. La profundidad de recursión por defecto se incrementó de 128 a 512
 | json_encode | Se añadió el parámetro options.
 | link | Esta función ahora está disponible en plataformas Windows (Vista, Server 2008 o superiores).
 | linkinfo | Esta función ahora está disponible en plataformas Windows (Vista, Server 2008 o mayores).
 | log1p | Esta función está disponible en todas las plataformas.
 | mb_get_info | Está disponible la entrada "http_output_conv_mimetypes".
 | mcrypt_create_iv | Ya no se requiere invocar primero a srand. Esto ahora se realiza de forma automática.
 | mcrypt_create_iv | MCRYPT_DEV_RANDOM y MCRYPT_DEV_URANDOM se volvieron disponibles en plataformas Windows.
 | mktime | mktime ahora lanza un aviso de tipo E_DEPRECATED si se usa el parámetro is_dst.
 | mysql_db_query | Ésta función ahora lanza ahora un aviso E_DEPRECATED.
 | mysql_escape_string | Ahora, esta función lanza un aviso E_DEPRECATED.
 | nl2br | Se agregó el parámetro opcional is_xhtml.
 | parse_ini_file | Añadido el parámetro opcional scanner_mode. Las comillas simples ahora pueden usarse para las asignaciones de variables. Los signos de número (#) ya no se pueden usar como comentarios y si se usan se lanzará una advertencia de tipo obsoleto.
 | pg_lo_create | The optional object_id was added.
 | pg_lo_import | The optional object_id was added.
 | preg_quote | El carácter - ahora es escapado
 | property_exists | Esta función comprueba la existencia de una propiedad independientemente de su accesibilidad.
 | rawurlencode | Ahora sigue el RFC 3986.
 | readlink | Esta función ahora está disponible en plataformas Windows (Vista, Server 2008 o mayores).
 | realpath | Antes de esta versión, si en sistemas *BSD el último compnente de path no existía, realpath no fallaba. Ahora realpath también falla en este caso.
 | register_tick_function | Los ticks ahora están soportados en los módulos de servidores web que usan hilos.
 | round | Se introdujo el parámetro mode.
 | session_start | Si una sesión falla al iniciarse, se devuelve FALSE. Anteriormente se devolvía TRUE.
 | setlocale | Está función ahora lanza un aviso E_DEPRECATED si un string es pasado al parámetro category en lugar de una de las constantes LC_*.
 | shm_attach | Esta función ahora devuelve un recurso en vez de un integer.
 | socket_create_pair | Esta función ahora es rehabilitada en plataformas Windows.
 | spl_autoload_register | Se introdujo soporte para espacios de nombre.
 | spl_autoload_register | Se añadio el parámetro prepend.
 | stream_context_create | Se añadió el argumento opcional params.
 | stream_socket_pair | Esta función ahora está disponible en plataformas Windows.
 | stristr | Agregado el parámetro opcional before_needle.
 | strlen | Las versiones anteriores trataban los arrays como el string Array, devolviendo así una longitud de string de 5 y emitiendo un error de nivel E_NOTICE.
 | strstr | Se añadió el parámetro opcional before_needle.
 | strtotime | Antes de PHP 5.3.0, 24:00 no era un formato válido y strtotime devolvía FALSE.
 | strtotime | Antes de PHP 5.3.0, formatos de tiempo relativo que se suministran al parámetro time de la función strtotime como this week, previous week, last week, y next week se interpreta como un período de 7 días en relación con la fecha y hora actual, en lugar de un período de semana de Monday a Sunday.
 | sybase_connect | Se añade el parámetro new .
 | symlink | Esta función ahora es compatible con las plataformas Windows (Vista, Server 2008 o mayores).
 | time_nanosleep | Esta función ahora está disponible en plataformas Windows.
 | time_sleep_until | Esta función ahora está disponible en plataformas Windows.
 | touch | Se hizo posible cambiar el momento de modificación de un directorio bajo Windows.
 | mysqli::__construct | Se añadió la capacidad de conexiones persistentes.
 | mysqli::query | Se agrego la posibilidad de consultas asincronas.
 | ReflectionFunction::__construct | ahora name puede representar una función anónima.
 | SplObjectStorage::attach | Añadido el parámetro data.
5.2.15 | mysqli_driver::$report_mode | El cambio de modo de notificación ahora es por solicitud, en vez de por proceso.
5.2.11 | get_defined_constants | El parámetro categorize ahora funciona correctamente. Anteriormente, el parámetro categorize fue interpretado como !is_null($categorize), por lo que cualquier valor distinto de NULL fuerza a las constantes a ser clasificadas.
5.2.10 | array_rand | Ya no se muestra mezclado el array de claves.
 | array_unique | Cambiado el valor por defecto de sort_flags a SORT_STRING.
 | curl_setopt | Se introdujo CURLOPT_PROTOCOLS, y CURLOPT_REDIR_PROTOCOLS.
 | ip2long | Antes de esta versión, ip2long según como devolverá un número válido incluso si el valor no es una dirección con puntos (IPv4) Internet Protocol.
 | natsort | Las cadenas numéricas rellenadas con ceros (p.ej., '00005') ahora ignoran el relleno de 0.
5.2.9 | array_unique | Añadido el parámetro opcional sort_flags con el valor por defecto SORT_REGULAR. Antes de 5.2.9, esta función era usada para ordenar el array con SORT_STRING internamente.
5.2.8 | XSLTProcessor::importStylesheet | Acepta SimpleXMLElement de nuevo; no funcionaba desde PHP 5.2.6.
5.2.7 | error_log | El valor posible de 4 se añadió a message_type.
 | parse_ini_file | Cuando sucede un error de sintaxis, esta función devolverá FALSE en vez de un array vacío.
 | round | El funcionamiento interno en round se modificó para adecuarse al estándar C99.
 | strtotime | En PHP 5 anterior a 5.2.7, las peticiones de una incidencia de un día de la semana dado en un mes donde ese día de la semana era el primer día del mes, añadía incorrectamente una semana a la marca de tiempo devuelta. Esto ha sido corregido en 5.2.7 y versiones posteriores.
5.2.6 | fopen | Se añadieron las opciones 'c' y 'c+'
5.2.5 | addcslashes | Se añadieron las secuencias de escape \v y \f.
 | debug_backtrace | Se añadió el parámetro opcional provide_object.
 | imagefilter | Se añadió el soporte de alfa para IMG_FILTER_COLORIZE.
5.2.4 | checkdnsrr | Añadido TXT type.
 | get_loaded_extensions | Fue añadido el parámetro opcional zend_extensions
 | ldap_first_attribute | ber_identifier ha sido retirado. Este ahora es manejado automáticamente por PHP.
 | ldap_next_attribute | El parámetro ber_identifier fue removido. Este se maneja ahora automáticamente por PHP.
 | parse_ini_file | Las claves y los nombres de las secciones consisten en números que ahora se evalúan como integers de PHP, así los números que comiencen por 0 son evaluados como octales y los números que comiencen por 0x son evaluados como hexadecimales.
 | stream_wrapper_register | Añadido el parámetro flags.
5.2.3 | getimagesize | Los errores de lectura generados por esta función se degradaron desde E_WARNING a E_NOTICE.
 | htmlentities | Fue agregado el parámetro double_encode.
 | htmlspecialchars | Fue agregado el parámetro double_encode.
 | json_decode | La profundidad de recursión por defecto se incrementó de 20 a 128
 | XMLWriter::writeElement | El parámetro content se convierte en opcional.
 | XMLWriter::writeElementNS | El parámetro content se convierte en opcional.
 | PDOStatement::getColumnMeta | El campo table
5.2.2 - 5.2.6 | substr | Si el parámetro start indica una posición negativa de truncamiento o más allá, se devolverá false. En otras versiones de PHP obtienen la cadena desde el principio.
5.2.2 | DOMDocument::registerNodeClass | Antes de 5.2.2, una extendedclass previamente registrada teniá que ser desregistrada antes de poder registrar una nueva clase que extendiese a la misma baseclass.
 | ftp_ssl_connect | La función se ha cambiado para devolver FALSE cuando no se puede utilizar una conexión SSL, en lugar de recurrir a una conexión no-SSL como hacía en versiones anteriores.
 | phpinfo | Se añadió la información del "Fichero de configuración cargado", mientras que anteriormente solo existía "Ruta del fichero de configuración (php.ini).
 | preg_match | Los sub-patrones nominados ahora aceptan la sintaxis (?<nombre>) y (?'nombre') así como (?P<nombre>). Las versiones anteriores sólo aceptaban (?P<nombre>).
 | preg_match_all | Los sub-patrones nominados ahora aceptan la sintaxis (?<nombre>) y (?'nombre') así como (?P<nombre>). Versiones anteriores sólo aceptaban (?P<nombre>).
 | proc_terminate | Versiones previas usadas para destruir el recurso de un proceso dado.
 | token_get_all | Los números de línea son devueltos en el elemento 2
5.2.1 | iterator_to_array | Añadido el parámetro use_keys.
 | json_decode | Se añadió el soporte para la decodificación JSON de tipos básicos.
 | memory_get_peak_usage | Compilar con --enable-memory-limit ya no es necesario para que esta función exista.
 | memory_get_usage | Compilar con --enable-memory-limit ya no es necesario para que exista esta función.
 | mt_srand | La implementación de Mersenne Twister en PHP ahora usa un nuevo algoritmo para la semilla de Richard Wagner. La misma semilla ahora ya no produce la misma secuencia de valores como sucedía en anteriores versiones. No se espera que se vuelva a cambiar de nuevo este comportamiento, aunque, no obstante, se considera inseguro confiar en él.
 | proc_open | Añadida la opción bypass_shell al parámetro other_options.
5.2.0 | base64_decode | Añadido strict
 | curl_multi_info_read | msgs_in_queue fue añadido.
 | error_reporting | Se introdujo E_RECOVERABLE_ERROR.
 | imagettftext | Ahora es posible especificar una entidad hexadecimal en text.
 | imap_open | Se añadió n_retries
 | imap_reopen | Se añadió n_retries
 | mb_strrpos | Se añadió el parámetro opcional offset.
 | memory_get_peak_usage | se añade real_usage.
 | memory_get_usage | Se añadió real_usage.
 | openssl_verify | Se añadió el parámetro signature_alg.
 | pathinfo | Se añadió la constante PATHINFO_FILENAME.
 | pg_escape_bytea | Se agregó el parámetro connection
 | pg_escape_string | connection added
 | session_get_cookie_params | La entrada "httponly" fue añadida en la matriz devuelta.
 | session_set_cookie_params | Se añadió el parámetro httponly.
 | set_error_handler | El gestor de errores debe devolver FALSE para rellenar $php_errormsg.
 | setcookie | Se añadió el parámetro httponly.
 | setrawcookie | Añadido el parámetro httponly.
 | snmp_set_oid_numeric_print | Since PHP 5.2.0.
 | PDOStatement::execute | Las claves de input_parameters deben coincidir con aquellas declaradas en la sentencia SQL. Antes de PHP 5.2.0 esto se ignoraba silenciosamente.
 | SimpleXMLElement::children | Se añade el parámetro opcional is_prefix.
 | SimpleXMLElement::__construct | Se añadieron los parámetros ns y is_prefix.
 | SoapServer::SoapServer | Added the typemap option.
 | XMLReader::open | encoding y options fueron agregadas.
 | XMLReader::XML | encoding ay options fueron agregados.
5.1.3 | DirectoryIterator::__construct | Lanza una RuntimeException si path es una cadena vacía.
 | curl_getinfo | Se introdujo CURLINFO_HEADER_OUT.
 | get_headers | Esta función usa el contexto de secuencia predeterminado, el cual puede ser definido/modificado con la función stream_context_set_default.
 | http_build_query | Los corchetes cuadrados son escapados.
 | imagecolorallocate | Devuelve FALSE si falló la asignación. Anteriormente devolvía -1.
 | imagecolorallocatealpha | Devuelve FALSE si falló la asignación. Anteriormente devolvía -1.
 | imagepng | Añadido el parámetro filters.
 | mb_get_info | Están disponibles las entradas "mail_charset", "mail_header_encoding", y "mail_body_encoding".
 | SoapClient::__doRequest | Se añadió el parámetro one_way.
 | XMLReader::getAttribute | Devuelve NULL si no se encuentra ningún atributo. Antes, devolvía una cadena de texto vacía.
5.1.2 | date_default_timezone_set | La función comenzo a validar el parámetro timezone_identifier.
 | http_build_query | Se agregó el parámetro arg_separator.
 | imagepng | Añadido el parámetro quality.
 | parse_url | ASe agregó el parámetro component.
 | SimpleXMLElement::__construct | Se añadieron los parámetros options y data_is_url.
5.1.1 | date | Hay constantes útiles de formatos de fecha/hora estándar que se pueden usar para especificar el parámetro format.
 | debug_backtrace | Se añadió el object actual como posible elemento devuelto.
 | gmdate | Hay constantes útiles de formatos de fecha/hora estándar que se pueden usar para especificar el parámetro format.
5.1.0 | DirectoryIterator::__construct | Lanza una RuntimeException en caso de error. Anteriormente lanzaba una Exception.
 | DOMDocument::save | Se añadió el parámetro options
 | DOMDocument::saveXML | Se añadió el parámetro options
 | class_implements | Añadida la opción para pasar el parámetro class como un string. Añadido el parámetro autoload.
 | class_parents | Añadida la opción para pasar el parámetro class como un string. Añadido el parámetro autoload.
 | ctype_digit | En versiones anteriores a PHP 5.1.0, esta función devolvía TRUE cuando text era una cadena vacía.
 | curl_setopt | Se introdujo CURLOPT_AUTOREFERER, CURLOPT_BINARYTRANSFER, CURLOPT_FTPSSLAUTH, CURLOPT_PROXYAUTH, y CURLOPT_TIMECONDITION.
 | date | El rango válido de una marca de tiempo es típicamente desde Fri, 13 Dec 1901 20:45:54 GMT a Tue, 19 Jan 2038 03:14:07 GMT. (Estas son las fechas que corresponden a los valores mínimo y máximo de un entero con signo de 32 bit). Sin embargo, antes de PHP 5.1.0 este rango estaba limitado desde 01-01-1970 a 19-01-2038 en algunos sistemas (p.ej. Windows).
 | date | Ahora muestra E_STRICT y E_NOTICE cuando ocurren errores con zonas horarias.
 | date_sunrise | Ahora muestra E_STRICT y E_NOTICE cuando ocurren errores con zonas horarias.
 | date_sunset | Ahora muestra E_STRICT y E_NOTICE cuando ocurren errores con zonas horarias.
 | explode | Se añadió soporte para limit negativo.
 | file_get_contents | Se añadieron los parámetros offset y maxlen.
 | file_put_contents | Añadido el soporte para LOCK_EX y la capacidad de pasar un recurso tipo stream al parámetro data
 | get_parent_class | Si se llamaba sin parámetro fuera del objeto, está función devolvía NULL con una advertencia, pero ahora devuelve FALSE.
 | gettimeofday | Se añadió el parámetro return_float.
 | glob | Se añadió GLOB_ERR
 | gmdate | El rango válido de una marca de tiempo es típicamente desde Fri, 13 Dec 1901 20:45:54 GMT a Tue, 19 Jan 2038 03:14:07 GMT. (Estas son las fechas que corresponden a los valores mínimo y máximo de un entero con signo de 32-bit). Sin embargo, antes de PHP 5.1.0 este rango estaba limitado desde 01-01-1970 a 19-01-2038 en algunos sistemas (p.ej. Windows).
 | gmmktime | A partir de PHP 5.1.0, el parámetro is_dst se volvió obsoleto. Como resultado, se podría usar en su lugar las nuevas características de manejo de zonas horarias.
 | idate | Ahora muestra E_STRICT y E_NOTICE cuando ocurren errores con zonas horarias.
 | imagerotate | Se añadió ignore_transparent.
 | intval | Lanza E_NOTICE y devuelve 1, cuando se pasa un objecto a var.
 | localtime | Ahora muestra E_STRICT y E_NOTICE cuando ocurren errores con zonas horarias.
 | md5_file | Se modificó la función para usar la API de secuencias. Esto quiere decir que se puede usar con envolturas, como md5_file('http://example.com/..')
 | mktime | Cuando se hace la llamada sin argumento, mktime lanza un aviso E_STRICT. Use la función time en su lugar.
 | mktime | El parámetro is_dst se volvió obsoleto. Hacía que la funcion devolviese FALSE si se pruducía un error, en vez de -1. Arreglada la función para que acepte el año, mes y día pasados como cero.
 | mktime | Ahora muestra E_STRICT y E_NOTICE cuando ocurren errores con zonas horarias.
 | openssl_pkcs7_verify | Se añadió el parámetro content.
 | preg_replace | Añadido el parámetro count
 | preg_replace_callback | Se añadió el parámetro count
 | session_regenerate_id | Añadido el parámetro delete_old_session.
 | sha1_file | Cambiada la función para utilizar el API de flujo de datos. Esto significa que se puede utilizar con envolturas, como en sha1_file('http://ejemplo.com/..')
 | str_word_count | Agregado el parámetro charlist
 | stream_copy_to_stream | Se añadió el parámetro offset
 | stream_filter_append | Antes de PHP 5.1.0, esta función devolvía TRUE si se tuvo éxito o FALSE en caso de error.
 | stream_filter_prepend | Antes de PHP 5.1.0, esta función devolvía TRUE si se tuvo éxito o FALSE en caso de error.
 | stream_get_contents | Se añadió el parámetro offset.
 | strftime | Ahora muestra E_STRICT y E_NOTICE cuando ocurren errores con zonas horarias.
 | strtotime | Ahora devuelve FALSE si falla, en vez de -1.
 | strtotime | Ahora muestra E_STRICT y E_NOTICE cuando ocurren errores con zonas horarias.
 | substr_compare | Se añadió la posibilidad de usar un offset negativo.
 | substr_count | Los parámetros offset y length fueron agregados
 | var_export | Posibilidad de exportar las clases y los arrays que contienen las clases utilizando el método mágico __set_state.
 | XSLTProcessor::registerPHPFunctions | Se añadió el parámetro restrict.
5.0.5 | php_check_syntax | Esta función fue eliminada de PHP.
5.0.3 | get_class_vars | Según el ámbito, get_class_vars devolverá sólo las propiedades que pueden ser accedidas desde el ámbito actual.
 | is_subclass_of | Es posible especificar también el parámetro object como una cadena (el nombre de la clase)
 | php_check_syntax | Llamar a exit después de php_check_syntax resultaba en un fallo de segmentación.
5.0.2 | array_slice | Se añadió el parámetro opcional preserve_keys.
 | class_exists | Ya no devuelve TRUE para interfaces definidas. En ese caso se debe usar interface_exists.
 | get_class_vars | Al llamar a get_class_vars ahora se expondrán todas las propiedades como una matriz, a diferencia del comportamiento anterior donde las propieades protected y private eran prefijadas con bytes nul.
 | sort | Se añadió SORT_LOCALE_STRING
 | strtotime | En PHP 5 hasta 5.0.2, "now" y otros momentos relativos son computados erróneamente como la medianoche de hoy. Esto difiere de otras versiones donde es computado como el momento actual.
5.0.1 | get_class_vars | Al llamar a get_class_vars se expondrán todas las propiedades, como cuando se convierte un objeto en una clase.
 | php_check_syntax | mensaje_error es pasado por referencia.
5.0.0 | apache_get_modules | Ahora es posible usar Apache 1 o la API de los filtros de Apache 2. Antes, sólo estaba disponible para la API de los manejadores de Apache 2.
 | apache_get_version | Se añade soporte de la API de los filtros de Apache 2.
 | array_keys | Añadido el parámetro strict.
 | array_merge | El comportamiento de array_merge fue modificado en PHP 5. A diferencia de PHP 4, array_merge ahora sólo acepta parámetros de tipo array. Sin embargo, se puede utilizar typecasting para combinar otros tipos. Véase el siguiente ejemplo para más detalles. Ejemplo de array_merge de PHP 5 <?php $beginning = 'foo'; $end = array(1 => 'bar'); $result = array_merge((array)$beginning, (array)$end); print_r($result); ?> El resultado del ejemplo sería: Array ( [0] => foo [1] => bar )
 | cal_info | El parametro calendar se volvió opcional y si se omite se devuelven "todos los calendarios".
 | checkdnsrr | Añadido AAAA type.
 | class_exists | Se añadió el parámetro autoload.
 | com_release | Esta función fue eliminada.
 | curl_setopt | Se introdujo CURLOPT_FTP_USE_EPRT, CURLOPT_NOSIGNAL, CURLOPT_UNRESTRICTED_AUTH, CURLOPT_BUFFERSIZE, CURLOPT_HTTPAUTH, CURLOPT_PROXYPORT, CURLOPT_PROXYTYPE, CURLOPT_SSLCERTTYPE, y CURLOPT_HTTP200ALIASES.
 | dirname | dirname ahora es segura al trabajar con datos binarios
 | error_reporting | Se introdujo E_STRICT (no es parte de E_ALL).
 | extension_loaded | extension_loaded usa el nombre interno de extensión para probar si una extensión determinada está disponible o no. La mayoría de nombres internos de extensión están escritos en minúsculas pero es posible que hayan extensiones disponibles que usen también letras mayúsculas. Antes de PHP 5, esta función comparaba los nombres sensible a mayúsculas.
 | fgetss | El parámetro length es opcional
 | file | Se añadió el parámetro context
 | file | Antes de PHP 5.0.0 el parámetro flags sólo cubría include_path y estaba habilitado con 1
 | file_get_contents | Se añadió el soporte de contextos.
 | file_put_contents | Añadido el soporte de contexto
 | get_class | El parámetro object es opcional si es llamado desde el método del objeto.
 | get_class | El nombre de la clase es devuelto en su notación original.
 | get_class_methods | A partir de PHP 5, esta función devuelve los nombres de los métodos tal como fueron declarados (sensble a mayúsculas-minúsculas). En PHP 4 están en minúsculas.
 | get_defined_constants | El parámetro categorize fue agregado.
 | get_defined_vars | La variable $GLOBALS se incluye en los resultados de la matriz devuelta.
 | get_parent_class | El parámetro object es opcional si se llama desde el método del objeto.
 | html_entity_decode | Se agregó el soporte para codificaciones multibyte.
 | ip2long | Antes de esta versión, ip2long devolvía -1 en caso de fallo.
 | is_a | Esta funcion se volvió obsoleta en favor del operador instanceof. Llamar a esta función resultará en una advertencia de tipo E_STRICT.
 | is_executable | is_executable ahora está disponible en Windows
 | jdtojewish | Se añadió el parámetro fl.
 | mb_encode_mimeheader | Se añadió el parámetro indent.
 | mb_send_mail | Las cabeceras Content-Type y Content-Transfer-Encoding puedenn ser redefinidas a partir de PHP 5.0.0. Anteriormente, los valores definidos por mb_language se usaban siempre.
 | md5 | Fue agregado el parámetro raw_output.
 | md5_file | Se agregó el parámetro raw_output
 | microtime | Se añadió el parámetro get_as_float.
 | mkdir | A partir de PHP 5.0.0 mkdir también se puede usar con algunas envolturas de URL. Consulte para una lista de las envolturas admitidas por mkdir
 | mkdir | Se añadio el parámetro recursive
 | mysql_fetch_object | Se añadió la posibilidad de devolver como un objeto diferente.
 | opendir | ruta soporta dentro de la URL la envoltura ftp://.
 | openssl_pkcs7_encrypt | Se añadió el parámetro cipherid.
 | openssl_sign | Se añadió el parámetro signature_alg.
 | parse_ini_file | Los valores encerrados entre comillas dobles pueden contener nuevas líneas.
 | pg_fetch_object | class_name and params were added. The old form with result_type still exists for backwards compatibility.
 | proc_open | Añadidos los parámetros cwd, env y other_options.
 | range | Se añadió el parámetro opcional step.
 | realpath | Antes de esta versión, el parámetro path en blanco o NULL ocasionaba que realpath devolviera el nombre del directorio del script.
 | rename | rename ahora también puede ser usado con algunas envolturas URL. Consulte para un listado de las envolturas que soporta rename.
 | rmdir | Desde PHP 5.0.0 rmdir también se puede usar con algunas envolturas URL. Consulte para un listado de las envolturas que soporta rmdir.
 | session_id | Los caracteres , (coma) y - (menos) están permitidos en el gestor de archivo de sesión.
 | set_error_handler | Se introdujo el parámetro error_types.
 | sha1 | Fue agregado el parámetro raw_output.
 | sha1_file | Agregado el parámetro raw_output.
 | socket_create | Se añadió la constante AF_INET6.
 | str_ireplace | Fue agregado el parámetro count.
 | str_replace | Fue agregado el parámetro count.
 | stream_get_meta_data | Las siguientes entradas se añadieron a la matriz devuelta: mode, seekable, y uri.
 | strip_tags | strip_tags ahora es segura a nivel binario.
 | strrpos | El needle puede ser ahora un string de más de un carácter.
 | strrpos | Fue introducido el parámetro offset.
 | strtotime | Los microsegundos comenzaron a estar permitidos, pero son ignorados.
 | uniqid | El parámetro prefix se hizo opcional.
 | unlink | Desde PHP 5.0.0 unlink también se puede usar con algunas envolturas URL. Consulte para un listado de cuales envolturas soporta unlink.
 | usleep | Esta función ahora funciona en sistemas Windows.
 | mysqli_result::fetch_object | Se añadió la capacidad para devolver como un objeto diferente.
Listado de ejemplos
HTML edición de ayuda
Apéndices


HTML edición de ayuda

  • Sobre Esta Edición
  • Uso de la Edición CHM del Manual de PHP
    • La Barra de Herramientas de la Ayuda HTML
    • El Panel de Navegación
    • Combinaciones de Teclado
  • La Búsqueda de Texto Completo
    • Reglas generales de búsqueda
    • Búsquedas sobre palabras o frases
    • Definición de términos de búsqueda
    • Uso de expresiones anidadas en búsquedas
  • Particularidades de esta Edición
    • Preferencias de Usuario
    • Particularidades de Presentación
  • Integración del manual de PHP
  • Desarrollo de skins
    • Proceso de Visualización de Página
    • Elementos de Página
    • Clases CSS
  • Créditos de la edición CHM
Registro de cambios
Sobre Esta Edición
Manual de PHP


Sobre Esta Edición

La Edición de Ayuda HTML Windows del Manual de PHP está dirigida a desarrolladores, quienes desean tener el manual a mano todo el tiempo, y desean leer páginas del manual y notas de usuarios sin tener que esperar a que descargue una página web remota. Esta edición le ofrece el contenido completo del manual más las anotaciones de usuarios, con algunas excelentes características adicionales ofrecidas por la aplicación visora, por los scripts que usamos para generar éste formato y por otros contribuyentes en forma de skins.

Esta distribución del manual de PHP contiene varios archivos, incluyendo el archivo principal del manual, php_manual_en.chm. Puede ver el manual haciendo doble clic sobre éste archivo (tal y como ya lo habrá adivinado). También puede ver un archivo php_manual_en.chw en el directorio, éste es generado la primera vez que usa la pestaña del índice, y contiene un índice con las páginas del manual.

Para aquellos interesados en los detalles técnicos del formato Microsoft HTML Help, » http://www.helpware.net/ constituye un excelente recurso. Para más información, y saber del lugar de Windows HTML Help entre los formatos de ayuda de Microsoft y su historia de servicios, consulte este » artículo de WinWriters.

HTML edición de ayuda
Uso de la Edición CHM del Manual de PHP
HTML edición de ayuda


Uso de la Edición CHM del Manual de PHP

Tabla de contenidos

  • La Barra de Herramientas de la Ayuda HTML
  • El Panel de Navegación
  • Combinaciones de Teclado

Cuando realiza doble-clic sobre un archivo CHM, una ventana del Visor de Ayuda HTML es abierta con tres páneles. En el lado izquierdo de la ventana se encuentra el panel de Navegación. Éste contiene cuatro solapas de navegación: las solapas de Contenido, índice, Búsqueda y Favoritos. En el lado derecho de la ventana se encuentra el panel de Tópico. Éste despliega el tema de ayuda seleccionado, o el tema de ayuda predeterminado en el arranque. Las páginas de ayuda son todas archivos HTML separados, su instalación de Internet Explorer despliega las páginas en el panel de Tópico. El tercer panel es la barra de herramientas, la cual está ubicada por debajo de la barra de título de la ventana de ayuda. Puede ajustar la apariencia horizontal al arrastrar el borde vertical entre el panel de Navegación y el panel de Tópico.

Note que cuando abre el documento CHM por primera vez, puede aparecer con una posición y tamaño extraños. Desde entonces, windows recuerda la posición de la ventana, su tamaño y la solapa abierta por última vez. Toda esta información, incluyendo sus favoritos, es almacenada en un archivo llamado hh.dat. Si mueve su archivo a otro directorio, todas estas preferencias recordadas se perderán (¡incluyendo su lista de favoritos!). Aunque, si reemplaza su archivo CHM por uno nuevo, con el mismo nombre, no será un problema. Los nombres de archivo y valores de ruta son almacenados en hh.dat.

Sobre Esta Edición
La Barra de Herramientas de la Ayuda HTML
HTML edición de ayuda


La Barra de Herramientas de la Ayuda HTML

La Barra de Herramientas de la Ayuda HTML contiene los siguientes íconos, cuando se encuentra consultando el Manual de PHP:

  • Esconder/Mostrar - Esconde/muestra el panel de navegación.
  • Ubicar - Ubica un tópico en la solapa de contenidos (en caso de que haya encontrado un tópico a travÉs de la búsqueda, el índice o los favoritos, y quisiera ver en dónde se encuentra en la vista de árbol de la tabla de contenidos).
  • Atrás - Va hacia atrás en el historial.
  • Adelante - Va hacia adelante en el historial.
  • Refrescar - Recarga la página actual.
  • Inicio - Abre la página de inicio del documento CHM.
  • Imprimir - Abre el cuadro de diálogo de impresión.
  • Opciones - Provee una lista con más opciones.
El uso de esta barra de herramientas es realmente sencillo, muchos de los íconos de la barra de herramientas están relacionados fuertemente con sus equivalentes en Internet Explorer.

Uso de la Edición CHM del Manual de PHP
El Panel de Navegación
Uso de la Edición CHM del Manual de PHP


El Panel de Navegación

El Panel de Navegación contiene cuatro solapas de navegación: las solapas de Contenido, índice, Búsqueda y Favoritos. Éstas proveen mÉtodos diferentes para acceder a un tópico en el archivo de ayuda.

  • La solapa de contenidos revela una tabla de contenidos en forma de árbol, en donde puede navegar al tópico deseado al abrir y cerrar partes del árbol. Puede incluso acceder a las secciones más profundas usando Ésta tabla de contenidos. Si hace clic derecho sobre un item aquí y selecciona "Imprimir...", tendrá la opción de imprimir el tópico seleccionado o el tópico seleccionado junto con todos los sub-temas. Sin embargo, la impresión no es el objetivo inicial de esta versión del manual (la versión PDF es apropiada para su impresión).
  • La solapa de índice lista un gran número de "palabras clave" (en realidad, títulos de páginas del manual). Puede seleccionar una, o comenzar a escribir una palabra clave, ver la lista ajustarse a su entrada, y luego hacer clic sobre un tema, o presionar enter si el tema seleccionado es el que desea consultar.
  • La solapa de búsqueda muestra una de las características más poderosas del Visor de Ayuda HTML, la búsqueda de texto completo (tambiÉn conocida como FTS, por sus siglas en InglÉs). Aquí puede escribir su expresión de búsqueda, conectando palabras opcionalmente con AND/OR/NEAR/NOT. Antes de que haga clic sobre 'Listar temas', tambiÉn puede definir algunas opciones en la parte baja. Luego de que los resultados de búsqueda son desplegados, notará que el texto del manual y los resultados de notas de usuario son separados. Para ordenar ambos tipos, pulse sobre la cabecera de la columna 'Ubicación'. Ahora, desde la lista de resultados de la búsqueda, puede seleccionar un tema, y ver su página. Las palabras que ha buscado son resaltadas en la página.
  • La solapa de favoritos le permite guardar una lista con los temas más usados, para su fácil acceso. Aquí puede ver la lista, agregar un tema a ella, eliminar un tema, o desplegar un item seleccionado. TambiÉn puede especificar su propio título para el favorito, escribiÉndolo en el cuadro 'Tema actual:'. Los títulos de páginas de notas de usuario son precedidos de la cadena 'N:', de modo que pueda distinguirlas de las páginas normales del manual en el listado de favoritos.

La Barra de Herramientas de la Ayuda HTML
Combinaciones de Teclado
Uso de la Edición CHM del Manual de PHP


Combinaciones de Teclado

Hay varias combinaciones de teclas que puede usar para incrementar su productividad. Muchos usuarios encuentran más cómodo usar Éstas combinaciones de teclado para acceder a los temas, en lugar de hacer uso de clics.

Combinaciones de Teclado Generales del Visor de Ayuda
Para | Presione
Cerrar el Visor de Ayuda | ALT+F4
Mostrar el menú de Opciones | ALT+O
Esconder o mostrar el panel de Navegación | ALT+O, y luego T
Imprimir un tema | ALT+O, y luego P
Moverse al tema anterior | ALT+FLECHA IZQUIERDA
Moverse al tema siguiente (provisto que lo ha visitado anteriormente) | ALT+FLECHA DERECHA
Activar o desactivar el resaltado de búsquedas. | ALT+O, y luego O
Regresar al inicio del archivo de ayuda | ALT+O, y luego H
Cambiar entre el panel de Navegación y el panel de Tópico | F6
Desplazarse a travÉs de todos los enlaces en un tema o a travÉs de todas las opciones en una solapa del panel de Navegación | TAB
Mostrar el menú de contexto (clic derecho) [vea la sección de Preferencias de Usuario] | SHIFT+F10
Combinaciones de Teclado de la Solapa de Contenidos
Para | Presione
Mostrar la solapa de Contenidos | ALT+C
Abrir y cerrar un libro o carpeta | SIGNO MáS y SIGNO MENOS, o FLECHA IZQUIERDA y FLECHA DERECHA
Seleccionar un tema | FLECHA HACIA ABAJO y FLECHA HACIA ARRIBA
Mostrar el tema seleccionado | ENTER
Combinaciones de Teclado de la Solapa de índice
Para | Presione
Mostrar la solapa de índice | ALT+N
Escribir una palabra clave a buscar | ALT+W, y luego escriba la palabra
Seleccionar una palabra clave en la lista | FLECHA HACIA ABAJO y FLECHA HACIA ARRIBA
Mostrar el tema asociado | ENTER o ALT+D
Combinaciones de Teclado de la Solapa de Búsqueda
Para | Presione
Mostrar la solapa de Búsqueda | ALT+S
Escribir una palabra clave a buscar | ALT+W, y luego escriba la palabra
Iniciar una búsqueda | ALT+L
Seleccioner un tema en la lista de resultados | ALT+T, y luego FLECHA HACIA ABAJO y FLECHA HACIA ARRIBA
Mostrar el tema seleccionado | ENTER o ALT+D
Buscar por una palabra clave en la lista de resultados de una búsqueda previa | ALT+U
Buscar por palabras similares a la palabra clave. Por ejemplo para encontrar palabras como "corriendo" y "corre" para la palabra clave "correr" | ALT+M
Buscar sólo a travÉs de los títulos de los temas | ALT+R
Combinaciones de Teclado de la Solapa de Favoritos
Para | Presione
Mostrar la solapa de Favoritos | ALT+I
Agregar el tema mostrado actualmente a la lista de Favoritos | ALT+A
Seleccionar un tema en la lista de Favoritos | ALT+P, y luego FLECHA HACIA ABAJO y FLECHA HACIA ARRIBA
Mostrar el tema seleccionado | ENTER o ALT+D
Eliminar el tema seleccionado de la lista | ALT+R
Combinaciones de Teclado del Panel de Tópico
Para | Presione
Consultar en el índice | Seleccione las palabras que quiere consultar y presione F1
Encontrar en la página | CTRL+F, y luego ajuste las opciones
Refrescar la página | F5

El Panel de Navegación
La Búsqueda de Texto Completo
Uso de la Edición CHM del Manual de PHP


La Búsqueda de Texto Completo

Tabla de contenidos

  • Reglas generales de búsqueda
  • Búsquedas sobre palabras o frases
  • Definición de términos de búsqueda
  • Uso de expresiones anidadas en búsquedas

Esta edición del Manual de PHP incluye una característica avanzada de búsqueda de texto completo ofrecida por la aplicación visora. Esto le permite a los usuarios buscar por cada palabra en el archivo de ayuda para encontrar una coincidencia. Por ejemplo, si un usuario realiza una búsqueda de texto completo sobre la palabra "Apache", cada tópico que contega la palabra "Apache" será listado. La búsqueda de texto completo le permite a un usuario efectuar búsquedas usando expresiones anidadas, booleanas y comodines. Un usuario también puede limitar la búsqueda a resultados previos, coincidencias con palabras similares, o buscar únicamente en títulos de temas.

El uso de la característica de búsqueda es bastante directo. Pulse sobre la solapa de búsqueda, escriba las palabras deseadas y presione ENTER (o pulse sobre "Listar Tópicos"). Entonces recibirá una lista de coincidencias del Manual de PHP (y las notas). Puede usar el botón con una flecha derecha y agregar operadores booleanos a su búsqueda (o puede escribirlos). Como puede ver en los resultados, puede usar las cabeceras de columna (Título, Ubicación y Rango) para ordenar la lista de tópicos. El orden predeterminado es por Rank. También puede ordenar algunos parámetros al final de la ésta solapa.

Las palabras encontradas son resaltadas en la página actual del panel de Tópico por defecto. Puede deshabilitar ésta característica seleccionando el item "Search Highlight Off" en el menú de Opciones. Si está observando un tópico largo, sólo las primeras 500 instancias de una palabra o frase de búsqueda serán resaltadas, debido a una limitación del visor.

Combinaciones de Teclado
Reglas generales de búsqueda
HTML edición de ayuda


Reglas generales de búsqueda

Una búsqueda básica consiste de la palabra o frase que desea encontrar. Puede usar expresiones con comodines, expresiones anidadas, operadores booleanos, coincidencias de palabras similares, una lista de resultados previos, o títulos de temas para refinar su búsqueda.

Las reglas básicas para formular consultas son las siguientes:

  • Las búsquedas no son sensibles a mayúsculas y minúsculas, de modo que puede escribir su búsqueda usando cualquier estilo.
  • Puede realizar búsquedas sobre cualquier combinación de letras (a-z) y números (0-9). No puede realizar búsquedas sobre letras sencillas (a, b, c, etc.) y palabras comunes, como: un, y, como, en, pero, por, para, tener, el, en, eso, no, de, sobre, ella, alla, esto, nosotros, cual, con, usted.
  • Los signos de puntuación como el punto (.), los dos-puntos (:), el punto-y-coma (;), la coma (,), y el guión (-) son ignorados durante una búsqueda.
  • Agrupe los elementos de su búsqueda usando comillas dobles o paréntesis para separar cada elemento. No puede hacer búsquedas sobre signos de comillas.

Nota:

Si está buscando por un nombre de archivo con una extensión, debe agrupar la cadena completa en comillas dobles, ("nombre_archivo.ext"). De otra forma, el punto separará el nombre de archivo en dos términos diferentes. La operación predeterminada entre términos es AND, de modo que creará el equivalente lógico de "nombre_archivo AND ext".

La Búsqueda de Texto Completo
Búsquedas sobre palabras o frases
La Búsqueda de Texto Completo


Búsquedas sobre palabras o frases

Puede realizar búsquedas sobre palabras o frases y usar expresiones con comodines. Las expresiones con comodines le permiten buscar por uno o más caracteres usando un signo de interrogación o un asterisco. La siguiente tabla describe los resultados de éstos tipos distintos de búsqueda.

Búsquedas por palabra y frase
Buscar por | Ejemplo | Resultados
Una palabra sencilla | seleccionar | Tópicos que contienen la palabra "seleccionar". (También encontrará sus variaciones gramaticales, como "seleccionador" y "selección".)
Una frase | "nuevo operador" o nuevo operador | Tópicos que contienen la frase literal "nuevo operador" y todas sus variaciones gramaticales. Sin las comillas, la consulta es equivalente a especificar "nuevo AND operador,", lo que encontrará los tópicos que contienen ambas palabras individuales, en lugar de la frase.
Expresiones comodín | esc* o HT?? | Los resultados del primer ejemplo incluyen los tópicos que contengan los términos "ESC", "escapar", "escalabilidad", y demás. El asterisco no puede ser el único caracter en el término. Los resultados para el segundo ejemplo incluyen los tópicos que contengan los términos "HTTP", "HTML" y demás. El signo de interrogación no puede ser el único caracter en el término.

Nota:

Seleccione el campo "Match similar words" para incluir variaciones gramaticales menores de la frase que busca. Esta característica solo ubica variacones de la palabra con sufijos comunes. Por ejemplo, una búsqueda sobre la palabra "add", encontrará "added," pero no encontrará "additive". Esta opción es independiente de otras opciones o sintaxis. Si realiza una búsqueda sólo sobre títulos, las variaciones del títulos serán consideradas. Si usa comillas (o cualquier otro operador de consulta), puede aparecer cualquier variación de la palabra; por ejemplo "stemmed search" también coincidirá con "stemming search".

Reglas generales de búsqueda
Definición de términos de búsqueda
La Búsqueda de Texto Completo


Definición de términos de búsqueda

Los operadores AND, OR, NOT y NEAR le permiten definir con precisión su búsqueda, creando una relación entre términos de búsqueda. La siguiente tabla le muestra cómo puede mostrar cada uno de estos operadores. Si no se especifica un operador, se usa AND. Por ejemplo, la consulta "servidor cgi seguridad" es equivalente a "servidor AND cgi AND seguridad".

Operadores de búsqueda
Buscar por | Ejemplo | Resultados
Ambos términos en el mismo tópico | http AND apache | Tópicos que contienen las palabras "http" y "apache".
Cualquier término en un tópico | ming OR swflib | Tópicos que contienen ya sea la palabra "ming" o la palabra "swflib", o ambas.
El primer término sin el segundo | xml NOT expat | Tópicos que contienen la palabra "xml", pero no la palabra "expat".
Ambos términos en el mismo tópico, cerca uno del otro | database NEAR security | Tópicos que contienen la palabra "database" a ocho palabras de distancia de la palabra "security".

Nota:

Los caracteres |, &, y ! pueden ser usados también en lugar de OR, AND y NOT respectivamente. Puede que esto no funcione si usa una versión antigua del visor.

Búsquedas sobre palabras o frases
Uso de expresiones anidadas en búsquedas
La Búsqueda de Texto Completo


Uso de expresiones anidadas en búsquedas

Las expresiones anidadas le permiten crear búsquedas de información complejas. Por ejemplo "html AND ((smtp OR pop3) NEAR mail)" encuentra tópicos que contienen la palabra "html" junto con las palabras "smtp" y "mail" cercanas una de la otra, o que contengan "html" junto con las palabras "pop3" y "mail" cercanas entre sí.

Las reglas básicas para buscar tópicos de ayuda usando expresiones anidadas son las siguientes:

  • Puede usar paréntesis para anidar expresiones al interior de una consulta. Las expresiones entre paréntesis son evaluadas antes del resto de la consulta.
  • Si una consulta no contiene una expresión anidada, ésta es evaluada de izquierda a derecha. Por ejemplo: "mail NOT pop3 OR smtp" encuentra los tópicos que contienen la palabra "mail" sin la palabra "pop3", o tópicos que contienen la palabra "smtp". Por otra parte, "mail NOT (pop3 OR smtp)" encuentra los tópicos que contienen la palabra "mail" sin ninguna de las palabras "pop3" ni "smtp".
  • No puede anidar expresiones con más de cinco niveles de profundidad.

Definición de términos de búsqueda
Particularidades de esta Edición
La Búsqueda de Texto Completo


Particularidades de esta Edición

Tabla de contenidos

  • Preferencias de Usuario
  • Particularidades de Presentación

La Edición de Ayuda HTML de Windows del Manual de PHP sobrepasa las capacidades de presentación e interactividad ofrecidas por otras ediciones (incluyendo el manual en línea).

Uso de expresiones anidadas en búsquedas
Preferencias de Usuario
HTML edición de ayuda


Preferencias de Usuario

La mayoría de características interactivas de este manual son ofrecidas por la aplicación visora (incluyendo búsquedas de texto completo, índice, lista de favoritos), pero hemos extendido esta lista con herramientas específicas del Manual de PHP. Todas estas pueden ajustarse a sus necesidades usando una simple aplicación de escritorio llamada php_manual_prefs.exe. Si ejecuta este programa, puede ver tres grupos de preferencias: Funciones en Línea, Menú de Contexto, y Skin. Todas sus preferencias son almacenadas en php_manual_prefs.js.

Las funciones en línea le permiten tener elementos conectados a sitios web. Las dos que puede apreciar en todas las páginas del manual son "Esta página en línea" y "Reporte un fallo". Como puede suponer, la primera le muestra la misma página en el manual en línea, la segunda abre una página desde » http://bugs.php.net/ y llena previamente algunos datos por usted. Necesita elegir un sitio mirror para usar las funciones en línea "sensibles a php.net". Se recomienda el uso de un sitio mirror cercano para obtener la mayor rapidez. Otros componentes que pueden ser afectados por este parámetro de funciones en línea incluyen los items del menú de contexto que abren nuevos sitios web (por ejemplo, "Buscar Selección en Google"). Los diseños personalizados pueden incluir también elementos restringidos por este parámetro.

Los parámetros del menú de contexto le permiten elegir el menú de contexto que prefiere. Esta aplicación le ofrece una opción para definir su propio menú de contexto, añadiendo elementos a éste desde un conjunto predefinido. Puede asociar este menú de contexto personalizado con el clic derecho de su mouse, y tener el menú original asociado con CTRL+clic derecho, o viceversa. Existen tres tipos especiales de items de menú de contexto personalizados:

Items de menú de contexto
Tipo | Ejemplos | Comentarios
Salto de Página | Referencia de Funciones, índice de Funciones | éstos items saltan a una página específica en el documento CHM. Sin embargo, las opciones de Salto de Página no se encuentran restringidas a un punto al interior del mismo documento. Pueden apuntar a sitios web u otros recursos. Las opciones de salto de página con un segmento de protocolo en la URL abren una nueva ventana.
Llamada de Función | Imprimir página, Seleccionar todo, Copiar selección al portapapeles, Buscar Selección en Google | Estas son "llamadas de función" para funciones del menú de contexto definidas internamente. Los dos últimos ejemplos tienen la peculiaridad de que sólo se muestran en el menú si se aplica el clic derecho en una selección. Actualmente no hay forma de extender el menú de contexto con las funciones de skin definidas.
Visualización especial | Caja de Búsqueda Google, Caja de Búsqueda AlltheWeb | Estos son desplegados como formularios HTML, en donde puede buscar por palabras claves, presionar ENTER, y recibir una ventana nueva con la búsqueda efectuada en el motor de búsqueda apropiado. En la actualidad no hay forma de extender el conjunto de items de menú de contexto desplegados de forma especial.
Los posibles elementos del menú de contexto y sus "implementaciones abstractas" son almacenadas en context.ini. Usted dispone de la habilidad de añadir posibles opciones de salto de página allí, pero en la actualidad no hay forma de extender el sistema de menú de contexto con funciones definidas por el usuario (skin). Los posibles sitios mirror están listados en mirrors.ini. Siéntase libre de sugerirnos nuevos items del menú de contexto en » php-doc-chm@lists.php.net.

El parámetro sobre skins le permite elegir entre los dos skins integrados por defecto, o cualquier skin definido por el usuario. El skin Low es optimizado para su visualización correcta en cualquier tamaño pequeño, el skin High está optimizado para su comodidad visual. Otros skins pueden ser desarrollados de acuerdo a nuestra guía de desarrollo de skins. El lugar recomendado para skins en el sistema de archivos es la sub-carpeta skins/SKINNAME del directorio del Manual de PHP. Aunque no se requiere, algunos skins pueden definir otras reglas (cosa no recomendable). Hemos incluido skins de muestra para que vea ejemplos de cómo desarrollar skins para el Manual de PHP.

Cuenta con tres botones para elegir al final. El botón Aplicar aplica sus cambios sin salir, el botón OK aplica y cierra la aplicación, el botón Cancelar no modifica sus parámetros y cierra el programa.

Particularidades de esta Edición
Particularidades de Presentación
Particularidades de esta Edición


Particularidades de Presentación

Esta edición del Manual de PHP está altamente optimizada para su presentación en pantalla. Los skins pueden ser desarrollados para un mejor soporte de impresión, ya que éste no era el propósito de los skins incluidos. Este enfoque nos permite hacer varias modificaciones a la presencación de diferentes partes del manual.

Lo primero que notará es que todos los ejemplos poseen el código resaltado, usando la función show_source(). Los colores usados en la práctia son definidos por clases CSS. Los ejemplos también incluyen enlaces a las funciones usadas en ellos para ofrecer acceso rápido al material de referencia. Todos los ejemplos de código tienen un enlace "copiar al portapapeles" al lado de ellos, con el cual puede copiar los contenidos del texto del ejemplo en el portapapeles.

Los enlaces externos son marcados con un signo » especial, y se abren en una nueva ventana del navegador. También incluimos la información "ruta hacia esta página" en todas las páginas, para que puede identificar fácilmente en dónde se encuentra y navegar como lo requiera.

Otras partes del manual son bastante similares a aquellas de la edición en línea por defecto, aunque skins personalizados pueden modificar muchos elementos en las páginas.

Preferencias de Usuario
Integración del manual de PHP
Particularidades de esta Edición


Integración del manual de PHP

Nota:

La información ofrecida aquí está dirigida principalmente a autores de IDEs, o usuarios avanzados que quisieran integrar éste archivo CHM con sus IDEs favoritos u otros componentes de entornos de producción.

Existen varios editores en la actualidad que ofrecen integración con CHM, pero puede que necesite saber algunas cosas sobre los contenidos CHM para integrar satisfactoriamente el manual a su entorno.

El documento CHM es construido usando tablas de estilos XSL a partir de fuentes XML. Este hecho es único actualmente en la familia del Manual de PHP, ya que todas las otras versiones son generadas usando tablas de estilo DSSSL. Esto también quiere decir que pueden surgir algunas diferencias de visualización no intencionales. Un script especial de conversión es ejecutado sobre la salida XSLT, agregando varias características interesantes, y empaquetando el manual con los archivos de preferencias y muestras de skins.

Si nunca ha trabajado con CHMs, puede pensar en ellos como archivos comprimidos con soporte integrado del SO para el acceso a archivos y soporte adicional para búsquedas e índices. Aunque los archivos CHM sólo pueden consultarse usando el Visor de Ayuda HTML, se puede acceder directamente a archivos al interior de documentos CHM usando un prefijo de URL especial, el nombre del archivo CHM y el archivo que desea en el interior. Ya que todo el contenido de la ayuda es almacenado en archivos HTML, puede desplegar páginas del CHM en Internet Explorer.

Asumiendo que usted colocó su archivo php_manual_en.chm en c:\phpmanual, el archivo índice del manual (aquel que ve la primera vez) puede ser consultado con la siguiente URL: mk:@MSITStore:C:\phpmanual\php_manual_en.chm::/_index.html. Aquí, mk:@MSITStore: es el "protocolo" especial, C:\phpmanual\php_manual_en.chm es el documento CHM con su ruta completa. La parte /_index.html es la ruta al archivo índice dentro del CHM y :: es simplemente lo que necesita colocar entre la ruta CHM y ésta ruta de archivo.

Nota:

Todos los archivos se encuentran en el directorio raíz del CHM, a diferencia de versiones previas de CHM que incluían un directorio de lenguaje. Las imágenes, tables de estilos y otros archivos suplementarios tienen nombres que inician con un caracter de subrayado (como ocurre con el índice principal mostrado anteriormente), para evitar colisiones de nombres.

Los nombres de los archivos generados siguen las mismas reglas que el manual en línea, excepto que la extensión es .html y no .php. La más importante es que los archivos de documentación de funciones reciben nombres de la forma function.FUNCNAME.html, en donde FUNCNAME es el nombre de la función, con todos los signos de subrayado convertidos en guiones. Algunos ejemplos son function.echo.html, function.mysql-close.html, function.imagecopy.html.

Usando toda esta información, usted puede mostrar una página del manual para una función solicitada por un usuario. Un ejemplo simple es incluido en la distribución, llamado php_quickref.hta. ésta es una » Aplicación HTML parA demostrar el simple proceso de mostrar una página del manual que hace referencia a una función. La función quickRef() definida allí cumple con esta tarea.

Si se quiere integrar el manual en un IDE sin soporte directo para el manual de PHP (en realidad, la conversión de signos de subrayado en guiones), puede usar el archivo _function.html incluido para acceder a una página de función, Este archivo es simplemente un enrutador, y puede ser parametrizado a través de la URL, como _function.html#mysql_close. Esta página le redireccionará a la página de la función mysql_close (function.mysql-close.html) automáticamente. Puede proveer la ruta completa de este archivo si su IDE soporta la ayuda sensible a contexto, y proveer la cadena especificada por el IDE como el parámetro. Un ejemplo de esto es la integración de UltraEdit 9 (vea la página web de edición).

El índice del manual (asequible a través de la pestaña de índice en el panel de navegación) puede ser usado también para propósitos de integración. Todas las páginas HTML son incluidas en el índice con sus títulos como términos de indexación (incluyendo páginas de descripción de funciones).

Si usted es un desarrollador de aplicaciones de escritorio y quiesiera integrar profundamente el CHM con su programa (como por ejemplo desplegando el árbol de la tabla de contenidos en el cuadro de ayuda de su IDE), puede encontrar más información en » http://www.helpware.net/, así como en otros recursos útiles. El sitio oficial del formato HTML Help se encuentra en » http://www.microsoft.com/download/en/details.aspx?id=21138.

Particularidades de Presentación
Desarrollo de skins
HTML edición de ayuda


Desarrollo de skins

Tabla de contenidos

  • Proceso de Visualización de Página
  • Elementos de Página
  • Clases CSS

Esta edición del Manual de PHP le permite a los usuarios elegir entre varios skins para desplegar los contenidos, así como desarrollar skins personalizados para suplir ciertas necesidades especiales. Hemos decidido ofrecer soporte de skins por que sentimos que un solo skin no puede satisfacer las necesidades de todos en una edición tan usada.

Incluimos dos skins por defecto al interior del CHM. éstos no pueden ser modificados o eliminados, de modo que si tiene el CHM, ya tiene estos dos skins en su interior. El skin Low es optimizado para su uso en una ventana pequeña, el skin High es una variación de Low, con la adición de algunas gráficas para darle vida.

Un skin debe tener por lo menos dos archivos, un archivo JavaScript de carga del skin y un archivo CSS. Ambos skins incorporados tienen éstos archivos al interior del CHM. El archivo JS de carga del skin debe, por lo menos, cargar el archivo CSS y desplegar los contenidos de la página en el visor. Teóricamente, hay dos tipos de skins: skins CSS y skins Full. Los skins CSS modifican sólo el CSS y no alteran la presentación de la página. Los skins Full modifican también la presentación de la página. Hemos incluido skins de ejemplo para ambos tipos de skins, el skin CSS y el skin Full ("greenlinks" y "headernostalgia" respectivamente).

Advertencia

Note que, aunque los métodos de desarrollo de skins actuales son definitivos, puede haber cambios profundos en las clases CSS usadas o en elementos de página mientras refinamos las ideas de desarrollo de skins. Dado que esta edición se encuentra en la actualidad en fase de desarrollo, la información descrita aquí no debe ser considerada completamente estable.

Integración del manual de PHP
Proceso de Visualización de Página
HTML edición de ayuda


Proceso de Visualización de Página

Si va a desarrollar su propio skin, debe saber cómo es cargada y desplegada al usuario una página, y cómo encaja un skin en este proceso. Para estos parágrafos, se asume que ha colocado su archivo CHM en c:\phpmanual, de modo que sea asequible como c:\phpmanual\php_manual_LANG.chm (en donde LANG es el código del lenguaje), y que desea ver la página de función de "echo", la cual es function.echo.html al interior del archivo CHM. Vea las secciones sobre integración para más información sobre los contenidos CHM.

  • Antes que nada, el contenido HTML es cargado desde function.echo.html en el interior del archivo CHM.
  • Al comienzo de éste archivo existe una etiqueta HTML <script>, la cual carga el archivo _script.js desde el archivo CHM. El archivo contiene todo el código JS requerido para continuar con el proceso. De especial importancia es que éste código JS define varias variables (como la ubicación del archivo CHM, o cuál es la página actual) y varias funciones para imprimir el menú de contexto o gestionar funciones en línea.
  • Finalmente, _script.js carga el archivo de preferencias desde el exterior, del archivo CHM (c:\phpmanual\php_manual_prefs.js en nuestro ejemplo). Este archivo JS define las variables de preferencia, y llama de vuelta a la función prefHandler(), que se encuentra definida también en _script.js.
  • Aquella función carga el archivo JS de skin del modo que dictan las preferencias. El archivo de skin JS debe cargar el archivo CSS requerido, y definir una función displayPage(), la cual despliega la página al ser llamada.
  • El archivo HTML (function.echo.html en este ejemplo) contiene también una llamada de función para cargar las notas de usuario, que simplemente coloca las notas en este archivo HTML usando DHTML para desplegarlas como si hubiesen estado aquí antes...
  • El archivo HTML contiene también un atributo onload en la etiqueta body, el cual llama a la función displayPage() definida por el skin para mostrarle la página al usuario. ésta es la última función en ser llamada, debe presentar la página en su forma completa al usuario.
Cada acción es sincronizada al llamar de vuelta una función en el archivo previamente cargado, cuando el archivo JS está en memoria. La carga de notas y la carga de JS se sincroniza sólo con el evento onload de la página (el cual, como dice la página de documentación de Microsoft, solo se ejecuta cuando la página ha sido cargada completamente).

Esta cadena de cargas y llamadas de retorno puede parecer muy complicada, pero hasta el momento ha sido la mejor manera de lograr tantas cosas en paralelo, al mismo tiempo que se sincronizan ciertas llamadas.

Como puede ver, su archivo JavaScript de skin es cargado por _script.js y su función displayPage() es llamada por el evento onload de body.

Desarrollo de skins
Elementos de Página
Desarrollo de skins


Elementos de Página

Las páginas del Manual de PHP son todas archivos HTML con varias etiquetas HTML en ellos, tanto para propósitos de presentación como de división. Las páginas HTML contienen divisiones a ser usadas para propósitos de uso de skins y divisiones varias agregadas por las tablas XSL de DocBook.

Una página HTML puede ser o una página de referencia de función o de otro tipo (como una descripción de una característica). Los skins deben prepararse para trabajar con estos dos tipos de páginas por separado la mayor parte del tiempo (dependiendo del diseño usado en la práctica).

Las páginas son estructuradas usando etiquetas <div> con IDs apropiados para facilitar el trabajo de los escritores de skins. Una página consiste de estas partes:

  • <div xml:id="pageContent"></div> contiene todo el interior de la página. La etiqueta comienza justo después de <body> y termina justo antes de </body>. Esta división es oculta por defecto, necesita mostrarla después de estar listo con el proceso de re-escritura de la página.
  • <div xml:id="pageHeaders"></div> contiene las partes de la cabecera de página. Esto incluye el título principal de sólo-texto (en una etiqueta <span xml:id="pageTitle"></span>) y las propiedades de función, en caso de que se trate de una página de función (contenida en <span xml:id="funcPurpose"></span>, <span xml:id="funcAvail"></span> y <span xml:id="funcUsage"></span>). En caso de que una de éstas tres etiquetas no se encuentre disponible, la página actual no es una página de función.
  • <div xml:id="pageText"></div> contiene la mayoría de contenidos de la página, incluyendo ejemplos, notas del manual, advertencias, etc. También incluye los segmentos "Vea también" por ahora, dado que aun no podemos diferenciar entre éstas partes y el texto normal (puede que sea algo que cambie en el futuro).
  • <div xml:id="pageNotes"></div> contiene las notas de usuario (cargadas éstas desde otro archivo HTML por JS). Contiene una cabecera, y luego una etiqueta <div> sin ID para cada nota de usuario y y spans para cada elemento de una nota de usuario (con los IDs "email", "date" y "text" respectivamente).
  • <div xml:id="pageNav"></div> contiene la tabla de navegación, que a su vez es dividida en spans (<span xml:id="navPrev"></span>, <span xml:id="navPath"></span>, <span xml:id="navNext"></span>, <span xml:id="navOnline"></span>, <span xml:id="navThisOnline"></span> y <span xml:id="navReportBug"></span>), en donde navThisOnline y navReportBug se encuentran al interior de navOnline.
Si desea re-escribir la página, debe primero leer las partes que necesita desde la página en variables JS, luego limpiar los contenidos de pageContent (o sólo la parte que desea re-escribir), escribir el contenido nuevo y mostrar el div pageContent para el usuario. Si no desea hacer cambios estructurales, puede simplemente desplegar el div pageContent y tan sólo especificar una tabla de estilos especial en su archivo JS de skin (vea el skin "greenlinks" como ejemplo).

Puede encontrar un "skin Full" desarrollado para mostrarle cómo crear skins sobre esta estructura. El nombre del skin es "headernostalgia". éste re-escribe la parte de la cabecera y remueve la tabla de navegación del pie de página.

Proceso de Visualización de Página
Clases CSS
Desarrollo de skins


Clases CSS

En el momento, no podemos proveer documentación precisa sobre clases CSS utilizables, dado que algunas de las clases de estilos XSL de DocBook no son usadas y algunas clases son adicionadas. Por favor refiérase al archivo CSS de muestra incluido para la referencia inicial.

Elementos de Página
Créditos de la edición CHM
Desarrollo de skins


Créditos de la edición CHM

Esta versión mejorada del manual de PHP nunca hubiese existido sin la ayuda de las siguientes personas quienes hicieron contribuciones al proyecto (sin orden alguno en particular):

  • Holger Eggert, quien creó los dos diseños predeterminados, y ofreción varios consejos sobre usabilidad
  • Gonzalo De la Pena Andreu, quién ofreció varios comentarios sobre cuál sería la forma ideal de proveer la interfaz susceptible a skins
  • Olexandr Vynnychenko contribuyó un sinnúmero de comentarios y pruebas en todo momento
  • Brendan Ferguson, quién contribuyó varias optimizaciones, mejoras a los códigos HTML y JS detrás de las páginas del manual
  • Sandor Hojtsy, quién programó la aplicación de preferencias de escritorio del manual
  • Y por último pero no menos importante, todos aquellos que ofrecieron su retroalimentación a través de nuestra lista de correo, y en la encuesta de usuarios

Clases CSS
HTML edición de ayuda